diff --git a/assets/js/app.min.js b/assets/js/app.min.js index 4f78da9..09d58ae 100644 --- a/assets/js/app.min.js +++ b/assets/js/app.min.js @@ -14,17 +14,17 @@ var Fpe=Object.defineProperty;var jpe=(il,Gl,ha)=>Gl in il?Fpe(il,Gl,{enumerable **/const Ns=[];function Wpe(e,...t){Jl();const o=Ns.length?Ns[Ns.length-1].component:null,r=o&&o.appContext.config.warnHandler,l=fk();if(r)tn(r,o,11,[e+t.map(n=>{var a,i;return(i=(a=n.toString)==null?void 0:a.call(n))!=null?i:JSON.stringify(n)}).join(""),o&&o.proxy,l.map(({vnode:n})=>`at <${c1(o,n.type)}>`).join(` `),l]);else{const n=[`[Vue warn]: ${e}`,...t];l.length&&n.push(` `,...hk(l)),console.warn(...n)}Ql()}function fk(){let e=Ns[Ns.length-1];if(!e)return[];const t=[];for(;e;){const o=t[0];o&&o.vnode===e?o.recurseCount++:t.push({vnode:e,recurseCount:0});const r=e.component&&e.component.parent;e=r&&r.vnode}return t}function hk(e){const t=[];return e.forEach((o,r)=>{t.push(...r===0?[]:[` -`],...vk(o))}),t}function vk({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",r=e.component?e.component.parent==null:!1,l=` at <${c1(e.component,e.type,r)}`,n=">"+o;return e.props?[l,...mk(e.props),n]:[l+n]}function mk(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(r=>{t.push(...sg(r,e[r]))}),o.length>3&&t.push(" ..."),t}function sg(e,t,o){return ut(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:Zt(t)?(t=sg(e,jt(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):it(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=jt(t),o?t:[`${e}=`,t])}function tn(e,t,o,r){try{return r?e(...r):e()}catch(l){Au(l,t,o)}}function jr(e,t,o,r){if(it(e)){const l=tn(e,t,o,r);return l&&Es(l)&&l.catch(n=>{Au(n,t,o)}),l}if(Ke(e)){const l=[];for(let n=0;n>>1,l=lr[r],n=Rs(l);nTl&&lr.splice(t,1)}function wk(e){Ke(e)?di.push(...e):(!Pn||!Pn.includes(e,e.allowRecurse?_a+1:_a))&&di.push(e),ug()}function dg(e,t,o=Ps?Tl+1:0){for(;oRs(o)-Rs(r));if(di.length=0,Pn){Pn.push(...t);return}for(Pn=t,_a=0;_ae.id==null?1/0:e.id,yk=(e,t)=>{const o=Rs(e)-Rs(t);if(o===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return o};function fg(e){Of=!1,Ps=!0,lr.sort(yk);try{for(Tl=0;Tlut(v)?v.trim():v)),p&&(l=o.map(_f))}let i,c=r[i=As(t)]||r[i=As(Fr(t))];!c&&n&&(c=r[i=As(An(t))]),c&&jr(c,e,6,l);const d=r[i+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,jr(d,e,6,l)}}function hg(e,t,o=!1){const r=t.emitsCache,l=r.get(e);if(l!==void 0)return l;const n=e.emits;let a={},i=!1;if(!it(e)){const c=d=>{const u=hg(d,t,!0);u&&(i=!0,$o(a,u))};!o&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!n&&!i?(xt(e)&&r.set(e,null),null):(Ke(n)?n.forEach(c=>a[c]=null):$o(a,n),xt(e)&&r.set(e,a),a)}function zu(e,t){return!e||!hu(t)?!1:(t=t.slice(2).replace(/Once$/,""),Pt(e,t[0].toLowerCase()+t.slice(1))||Pt(e,An(t))||Pt(e,t))}let Vo=null,vg=null;function Iu(e){const t=Vo;return Vo=e,vg=e&&e.type.__scopeId||null,t}function le(e,t=Vo,o){if(!t||e._n)return e;const r=(...l)=>{r._d&&Qg(-1);const n=Iu(t);let a;try{a=e(...l)}finally{Iu(n),r._d&&Qg(1)}return a};return r._n=!0,r._c=!0,r._d=!0,r}function qpe(){}function Rf(e){const{type:t,vnode:o,proxy:r,withProxy:l,propsOptions:[n],slots:a,attrs:i,emit:c,render:d,renderCache:u,props:p,data:h,setupState:v,ctx:m,inheritAttrs:f}=e,_=Iu(e);let g,y;try{if(o.shapeFlag&4){const x=l||r,$=x;g=$l(d.call($,x,u,p,v,h,m)),y=i}else{const x=t;g=$l(x.length>1?x(p,{attrs:i,slots:a,emit:c}):x(p,null)),y=t.props?i:kk(i)}}catch(x){Fs.length=0,Au(x,e,1),g=ee(Jo)}let w=g;if(y&&f!==!1){const x=Object.keys(y),{shapeFlag:$}=w;x.length&&$&7&&(n&&x.some(mf)&&(y=Ck(y,n)),w=nn(w,y,!1,!0))}return o.dirs&&(w=nn(w,null,!1,!0),w.dirs=w.dirs?w.dirs.concat(o.dirs):o.dirs),o.transition&&(w.transition=o.transition),g=w,Iu(_),g}const kk=e=>{let t;for(const o in e)(o==="class"||o==="style"||hu(o))&&((t||(t={}))[o]=e[o]);return t},Ck=(e,t)=>{const o={};for(const r in e)(!mf(r)||!(r.slice(9)in t))&&(o[r]=e[r]);return o};function Sk(e,t,o){const{props:r,children:l,component:n}=e,{props:a,children:i,patchFlag:c}=t,d=n.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&c>=0){if(c&1024)return!0;if(c&16)return r?mg(r,a,d):!!a;if(c&8){const u=t.dynamicProps;for(let p=0;pe.__isSuspense;function Mk(e,t){t&&t.pendingBranch?Ke(e)?t.effects.push(...e):t.effects.push(e):wk(e)}function Nu(e,t,o=Xo,r=!1){if(o){const l=o[e]||(o[e]=[]),n=t.__weh||(t.__weh=(...a)=>{Jl();const i=Ks(o),c=jr(t,o,e,a);return i(),Ql(),c});return r?l.unshift(n):l.push(n),n}}const on=e=>(t,o=Xo)=>{(!Ku||e==="sp")&&Nu(e,(...r)=>t(...r),o)},Pu=on("bm"),ft=on("m"),_g=on("bu"),rn=on("u"),to=on("bum"),Rn=on("um"),Ak=on("sp"),zk=on("rtg"),Ik=on("rtc");function Ok(e,t=Xo){Nu("ec",e,t)}function mt(e,t){if(Vo===null)return e;const o=Uu(Vo),r=e.dirs||(e.dirs=[]);for(let l=0;lt(a,i,void 0,n));else{const a=Object.keys(e);l=new Array(a.length);for(let i=0,c=a.length;i{const n=r.fn(...l);return n&&(n.key=r.key),n}:r.fn)}return e}/*! #__NO_SIDE_EFFECTS__ */function N(e,t){return it(e)?$o({name:e.name},t,{setup:e}):e}const Ls=e=>!!e.type.__asyncLoader;function be(e,t,o={},r,l){if(Vo.isCE||Vo.parent&&Ls(Vo.parent)&&Vo.parent.isCE)return t!=="default"&&(o.name=t),ee("slot",o,r&&r());let n=e[t];n&&n._c&&(n._d=!1),b();const a=n&&wg(n(o)),i=he(Qe,{key:o.key||a&&a.key||`_${t}`},a||(r?r():[]),a&&e._===1?64:-2);return i.scopeId&&(i.slotScopeIds=[i.scopeId+"-s"]),n&&n._c&&(n._d=!0),i}function wg(e){return e.some(t=>io(t)?!(t.type===Jo||t.type===Qe&&!wg(t.children)):!0)?e:null}function Nk(e,t){const o={};for(const r in e)o[As(r)]=e[r];return o}const Vf=e=>e?r1(e)?Uu(e):Vf(e.parent):null,Bs=$o(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Vf(e.parent),$root:e=>Vf(e.root),$emit:e=>e.emit,$options:e=>Ff(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Pf(e.update)}),$nextTick:e=>e.n||(e.n=et.bind(e.proxy)),$watch:e=>t9.bind(e)}),Df=(e,t)=>e!==go&&!e.__isScriptSetup&&Pt(e,t),Pk={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:r,data:l,props:n,accessCache:a,type:i,appContext:c}=e;let d;if(t[0]!=="$"){const v=a[t];if(v!==void 0)switch(v){case 1:return r[t];case 2:return l[t];case 4:return o[t];case 3:return n[t]}else{if(Df(r,t))return a[t]=1,r[t];if(l!==go&&Pt(l,t))return a[t]=2,l[t];if((d=e.propsOptions[0])&&Pt(d,t))return a[t]=3,n[t];if(o!==go&&Pt(o,t))return a[t]=4,o[t];Hf&&(a[t]=0)}}const u=Bs[t];let p,h;if(u)return t==="$attrs"&&Cr(e.attrs,"get",""),u(e);if((p=i.__cssModules)&&(p=p[t]))return p;if(o!==go&&Pt(o,t))return a[t]=4,o[t];if(h=c.config.globalProperties,Pt(h,t))return h[t]},set({_:e},t,o){const{data:r,setupState:l,ctx:n}=e;return Df(l,t)?(l[t]=o,!0):r!==go&&Pt(r,t)?(r[t]=o,!0):Pt(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(n[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:r,appContext:l,propsOptions:n}},a){let i;return!!o[a]||e!==go&&Pt(e,a)||Df(t,a)||(i=n[0])&&Pt(i,a)||Pt(r,a)||Pt(Bs,a)||Pt(l.config.globalProperties,a)},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Pt(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Do(){return yg().slots}function ya(){return yg().attrs}function yg(){const e=wt();return e.setupContext||(e.setupContext=i1(e))}function xg(e){return Ke(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let Hf=!0;function Rk(e){const t=Ff(e),o=e.proxy,r=e.ctx;Hf=!1,t.beforeCreate&&kg(t.beforeCreate,e,"bc");const{data:l,computed:n,methods:a,watch:i,provide:c,inject:d,created:u,beforeMount:p,mounted:h,beforeUpdate:v,updated:m,activated:f,deactivated:_,beforeDestroy:g,beforeUnmount:y,destroyed:w,unmounted:x,render:$,renderTracked:T,renderTriggered:R,errorCaptured:P,serverPrefetch:L,expose:B,inheritAttrs:V,components:j,directives:te,filters:J}=t;if(d&&Lk(d,r,null),a)for(const F in a){const K=a[F];it(K)&&(r[F]=K.bind(o))}if(l){const F=l.call(o,o);xt(F)&&(e.data=Dt(F))}if(Hf=!0,n)for(const F in n){const K=n[F],I=it(K)?K.bind(o,o):it(K.get)?K.get.bind(o,o):Wt,U=!it(K)&&it(K.set)?K.set.bind(o):Wt,oe=C({get:I,set:U});Object.defineProperty(r,F,{enumerable:!0,configurable:!0,get:()=>oe.value,set:ne=>oe.value=ne})}if(i)for(const F in i)Cg(i[F],r,o,F);if(c){const F=it(c)?c.call(o):c;Reflect.ownKeys(F).forEach(K=>{zt(K,F[K])})}u&&kg(u,e,"c");function H(F,K){Ke(K)?K.forEach(I=>F(I.bind(o))):K&&F(K.bind(o))}if(H(Pu,p),H(ft,h),H(_g,v),H(rn,m),H(o9,f),H(jg,_),H(Ok,P),H(Ik,T),H(zk,R),H(to,y),H(Rn,x),H(Ak,L),Ke(B))if(B.length){const F=e.exposed||(e.exposed={});B.forEach(K=>{Object.defineProperty(F,K,{get:()=>o[K],set:I=>o[K]=I})})}else e.exposed||(e.exposed={});$&&e.render===Wt&&(e.render=$),V!=null&&(e.inheritAttrs=V),j&&(e.components=j),te&&(e.directives=te)}function Lk(e,t,o=Wt){Ke(e)&&(e=jf(e));for(const r in e){const l=e[r];let n;xt(l)?"default"in l?n=Ge(l.from||r,l.default,!0):n=Ge(l.from||r):n=Ge(l),Zt(n)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>n.value,set:a=>n.value=a}):t[r]=n}}function kg(e,t,o){jr(Ke(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,o)}function Cg(e,t,o,r){const l=r.includes(".")?Fg(o,r):()=>o[r];if(ut(e)){const n=t[e];it(n)&&Se(l,n)}else if(it(e))Se(l,e.bind(o));else if(xt(e))if(Ke(e))e.forEach(n=>Cg(n,t,o,r));else{const n=it(e.handler)?e.handler.bind(o):t[e.handler];it(n)&&Se(l,n,e)}}function Ff(e){const t=e.type,{mixins:o,extends:r}=t,{mixins:l,optionsCache:n,config:{optionMergeStrategies:a}}=e.appContext,i=n.get(t);let c;return i?c=i:!l.length&&!o&&!r?c=t:(c={},l.length&&l.forEach(d=>Ru(c,d,a,!0)),Ru(c,t,a)),xt(t)&&n.set(t,c),c}function Ru(e,t,o,r=!1){const{mixins:l,extends:n}=t;n&&Ru(e,n,o,!0),l&&l.forEach(a=>Ru(e,a,o,!0));for(const a in t)if(!(r&&a==="expose")){const i=Bk[a]||o&&o[a];e[a]=i?i(e[a],t[a]):t[a]}return e}const Bk={data:Sg,props:Eg,emits:Eg,methods:Vs,computed:Vs,beforeCreate:br,created:br,beforeMount:br,mounted:br,beforeUpdate:br,updated:br,beforeDestroy:br,beforeUnmount:br,destroyed:br,unmounted:br,activated:br,deactivated:br,errorCaptured:br,serverPrefetch:br,components:Vs,directives:Vs,watch:Dk,provide:Sg,inject:Vk};function Sg(e,t){return t?e?function(){return $o(it(e)?e.call(this,this):e,it(t)?t.call(this,this):t)}:t:e}function Vk(e,t){return Vs(jf(e),jf(t))}function jf(e){if(Ke(e)){const t={};for(let o=0;o1)return o&&it(t)?t.call(r&&r.proxy):t}}function jk(){return!!(Xo||Vo||pi)}const $g={},Mg=()=>Object.create($g),Ag=e=>Object.getPrototypeOf(e)===$g;function Kk(e,t,o,r=!1){const l={},n=Mg();e.propsDefaults=Object.create(null),zg(e,t,l,n);for(const a in e.propsOptions[0])a in l||(l[a]=void 0);o?e.props=r?l:og(l):e.type.props?e.props=l:e.props=n,e.attrs=n}function Uk(e,t,o,r){const{props:l,attrs:n,vnode:{patchFlag:a}}=e,i=jt(l),[c]=e.propsOptions;let d=!1;if((r||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let p=0;p{c=!0;const[h,v]=Ig(p,t,!0);$o(a,h),v&&i.push(...v)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!n&&!c)return xt(e)&&r.set(e,ii),ii;if(Ke(n))for(let u=0;u-1,v[1]=f<0||m-1||Pt(v,"default"))&&i.push(p)}}}const d=[a,i];return xt(e)&&r.set(e,d),d}function Og(e){return e[0]!=="$"&&!$s(e)}function Ng(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function Pg(e,t){return Ng(e)===Ng(t)}function Rg(e,t){return Ke(t)?t.findIndex(o=>Pg(o,e)):it(t)&&Pg(t,e)?0:-1}const Lg=e=>e[0]==="_"||e==="$stable",Uf=e=>Ke(e)?e.map($l):[$l(e)],Wk=(e,t,o)=>{if(t._n)return t;const r=le((...l)=>Uf(t(...l)),o);return r._c=!1,r},Bg=(e,t,o)=>{const r=e._ctx;for(const l in e){if(Lg(l))continue;const n=e[l];if(it(n))t[l]=Wk(l,n,r);else if(n!=null){const a=Uf(n);t[l]=()=>a}}},Vg=(e,t)=>{const o=Uf(t);e.slots.default=()=>o},qk=(e,t)=>{const o=e.slots=Mg();if(e.vnode.shapeFlag&32){const r=t._;r?($o(o,t),$m(o,"_",r,!0)):Bg(t,o)}else t&&Vg(e,t)},Yk=(e,t,o)=>{const{vnode:r,slots:l}=e;let n=!0,a=go;if(r.shapeFlag&32){const i=t._;i?o&&i===1?n=!1:($o(l,t),!o&&i===1&&delete l._):(n=!t.$stable,Bg(t,l)),a=t}else t&&(Vg(e,t),a={default:1});if(n)for(const i in l)!Lg(i)&&a[i]==null&&delete l[i]};function Wf(e,t,o,r,l=!1){if(Ke(e)){e.forEach((h,v)=>Wf(h,t&&(Ke(t)?t[v]:t),o,r,l));return}if(Ls(r)&&!l)return;const n=r.shapeFlag&4?Uu(r.component):r.el,a=l?null:n,{i,r:c}=e,d=t&&t.r,u=i.refs===go?i.refs={}:i.refs,p=i.setupState;if(d!=null&&d!==c&&(ut(d)?(u[d]=null,Pt(p,d)&&(p[d]=null)):Zt(d)&&(d.value=null)),it(c))tn(c,i,12,[a,u]);else{const h=ut(c),v=Zt(c);if(h||v){const m=()=>{if(e.f){const f=h?Pt(p,c)?p[c]:u[c]:c.value;l?Ke(f)&&gf(f,n):Ke(f)?f.includes(n)||f.push(n):h?(u[c]=[n],Pt(p,c)&&(p[c]=u[c])):(c.value=[n],e.k&&(u[e.k]=c.value))}else h?(u[c]=a,Pt(p,c)&&(p[c]=a)):v&&(c.value=a,e.k&&(u[e.k]=a))};a?(m.id=-1,Sr(m,o)):m()}}}const Sr=Mk;function Gk(e){return Xk(e)}function Xk(e,t){const o=Am();o.__VUE__=!0;const{insert:r,remove:l,patchProp:n,createElement:a,createText:i,createComment:c,setText:d,setElementText:u,parentNode:p,nextSibling:h,setScopeId:v=Wt,insertStaticContent:m}=e,f=(ae,pe,ke,Oe=null,we=null,Te=null,Ne=void 0,Ie=null,Ae=!!pe.dynamicChildren)=>{if(ae===pe)return;ae&&!ka(ae,pe)&&(Oe=_e(ae),ne(ae,we,Te,!0),ae=null),pe.patchFlag===-2&&(Ae=!1,pe.dynamicChildren=null);const{type:xe,ref:We,shapeFlag:qe}=pe;switch(xe){case vi:_(ae,pe,ke,Oe);break;case Jo:g(ae,pe,ke,Oe);break;case Hu:ae==null&&y(pe,ke,Oe,Ne);break;case Qe:j(ae,pe,ke,Oe,we,Te,Ne,Ie,Ae);break;default:qe&1?$(ae,pe,ke,Oe,we,Te,Ne,Ie,Ae):qe&6?te(ae,pe,ke,Oe,we,Te,Ne,Ie,Ae):(qe&64||qe&128)&&xe.process(ae,pe,ke,Oe,we,Te,Ne,Ie,Ae,Ce)}We!=null&&we&&Wf(We,ae&&ae.ref,Te,pe||ae,!pe)},_=(ae,pe,ke,Oe)=>{if(ae==null)r(pe.el=i(pe.children),ke,Oe);else{const we=pe.el=ae.el;pe.children!==ae.children&&d(we,pe.children)}},g=(ae,pe,ke,Oe)=>{ae==null?r(pe.el=c(pe.children||""),ke,Oe):pe.el=ae.el},y=(ae,pe,ke,Oe)=>{[ae.el,ae.anchor]=m(ae.children,pe,ke,Oe,ae.el,ae.anchor)},w=({el:ae,anchor:pe},ke,Oe)=>{let we;for(;ae&&ae!==pe;)we=h(ae),r(ae,ke,Oe),ae=we;r(pe,ke,Oe)},x=({el:ae,anchor:pe})=>{let ke;for(;ae&&ae!==pe;)ke=h(ae),l(ae),ae=ke;l(pe)},$=(ae,pe,ke,Oe,we,Te,Ne,Ie,Ae)=>{pe.type==="svg"?Ne="svg":pe.type==="math"&&(Ne="mathml"),ae==null?T(pe,ke,Oe,we,Te,Ne,Ie,Ae):L(ae,pe,we,Te,Ne,Ie,Ae)},T=(ae,pe,ke,Oe,we,Te,Ne,Ie)=>{let Ae,xe;const{props:We,shapeFlag:qe,transition:ye,dirs:Ye}=ae;if(Ae=ae.el=a(ae.type,Te,We&&We.is,We),qe&8?u(Ae,ae.children):qe&16&&P(ae.children,Ae,null,Oe,we,qf(ae,Te),Ne,Ie),Ye&&wa(ae,null,Oe,"created"),R(Ae,ae,ae.scopeId,Ne,Oe),We){for(const pt in We)pt!=="value"&&!$s(pt)&&n(Ae,pt,null,We[pt],Te,ae.children,Oe,we,de);"value"in We&&n(Ae,"value",null,We.value,Te),(xe=We.onVnodeBeforeMount)&&Ml(xe,Oe,ae)}Ye&&wa(ae,null,Oe,"beforeMount");const tt=Zk(we,ye);tt&&ye.beforeEnter(Ae),r(Ae,pe,ke),((xe=We&&We.onVnodeMounted)||tt||Ye)&&Sr(()=>{xe&&Ml(xe,Oe,ae),tt&&ye.enter(Ae),Ye&&wa(ae,null,Oe,"mounted")},we)},R=(ae,pe,ke,Oe,we)=>{if(ke&&v(ae,ke),Oe)for(let Te=0;Te{for(let xe=Ae;xe{const Ie=pe.el=ae.el;let{patchFlag:Ae,dynamicChildren:xe,dirs:We}=pe;Ae|=ae.patchFlag&16;const qe=ae.props||go,ye=pe.props||go;let Ye;if(ke&&xa(ke,!1),(Ye=ye.onVnodeBeforeUpdate)&&Ml(Ye,ke,pe,ae),We&&wa(pe,ae,ke,"beforeUpdate"),ke&&xa(ke,!0),xe?B(ae.dynamicChildren,xe,Ie,ke,Oe,qf(pe,we),Te):Ne||K(ae,pe,Ie,null,ke,Oe,qf(pe,we),Te,!1),Ae>0){if(Ae&16)V(Ie,pe,qe,ye,ke,Oe,we);else if(Ae&2&&qe.class!==ye.class&&n(Ie,"class",null,ye.class,we),Ae&4&&n(Ie,"style",qe.style,ye.style,we),Ae&8){const tt=pe.dynamicProps;for(let pt=0;pt{Ye&&Ml(Ye,ke,pe,ae),We&&wa(pe,ae,ke,"updated")},Oe)},B=(ae,pe,ke,Oe,we,Te,Ne)=>{for(let Ie=0;Ie{if(ke!==Oe){if(ke!==go)for(const Ie in ke)!$s(Ie)&&!(Ie in Oe)&&n(ae,Ie,ke[Ie],null,Ne,pe.children,we,Te,de);for(const Ie in Oe){if($s(Ie))continue;const Ae=Oe[Ie],xe=ke[Ie];Ae!==xe&&Ie!=="value"&&n(ae,Ie,xe,Ae,Ne,pe.children,we,Te,de)}"value"in Oe&&n(ae,"value",ke.value,Oe.value,Ne)}},j=(ae,pe,ke,Oe,we,Te,Ne,Ie,Ae)=>{const xe=pe.el=ae?ae.el:i(""),We=pe.anchor=ae?ae.anchor:i("");let{patchFlag:qe,dynamicChildren:ye,slotScopeIds:Ye}=pe;Ye&&(Ie=Ie?Ie.concat(Ye):Ye),ae==null?(r(xe,ke,Oe),r(We,ke,Oe),P(pe.children||[],ke,We,we,Te,Ne,Ie,Ae)):qe>0&&qe&64&&ye&&ae.dynamicChildren?(B(ae.dynamicChildren,ye,ke,we,Te,Ne,Ie),(pe.key!=null||we&&pe===we.subTree)&&Yf(ae,pe,!0)):K(ae,pe,ke,We,we,Te,Ne,Ie,Ae)},te=(ae,pe,ke,Oe,we,Te,Ne,Ie,Ae)=>{pe.slotScopeIds=Ie,ae==null?pe.shapeFlag&512?we.ctx.activate(pe,ke,Oe,Ne,Ae):J(pe,ke,Oe,we,Te,Ne,Ae):Z(ae,pe,Ae)},J=(ae,pe,ke,Oe,we,Te,Ne)=>{const Ie=ae.component=f9(ae,Oe,we);if(Bu(ae)&&(Ie.ctx.renderer=Ce),h9(Ie),Ie.asyncDep){if(we&&we.registerDep(Ie,H,Ne),!ae.el){const Ae=Ie.subTree=ee(Jo);g(null,Ae,pe,ke)}}else H(Ie,ae,pe,ke,we,Te,Ne)},Z=(ae,pe,ke)=>{const Oe=pe.component=ae.component;if(Sk(ae,pe,ke))if(Oe.asyncDep&&!Oe.asyncResolved){F(Oe,pe,ke);return}else Oe.next=pe,_k(Oe.update),Oe.effect.dirty=!0,Oe.update();else pe.el=ae.el,Oe.vnode=pe},H=(ae,pe,ke,Oe,we,Te,Ne)=>{const Ie=()=>{if(ae.isMounted){let{next:We,bu:qe,u:ye,parent:Ye,vnode:tt}=ae;{const A=Dg(ae);if(A){We&&(We.el=tt.el,F(ae,We,Ne)),A.asyncDep.then(()=>{ae.isUnmounted||Ie()});return}}let pt=We,dt;xa(ae,!1),We?(We.el=tt.el,F(ae,We,Ne)):We=tt,qe&&_u(qe),(dt=We.props&&We.props.onVnodeBeforeUpdate)&&Ml(dt,Ye,We,tt),xa(ae,!0);const Y=Rf(ae),S=ae.subTree;ae.subTree=Y,f(S,Y,p(S.el),_e(S),ae,we,Te),We.el=Y.el,pt===null&&Ek(ae,Y.el),ye&&Sr(ye,we),(dt=We.props&&We.props.onVnodeUpdated)&&Sr(()=>Ml(dt,Ye,We,tt),we)}else{let We;const{el:qe,props:ye}=pe,{bm:Ye,m:tt,parent:pt}=ae,dt=Ls(pe);if(xa(ae,!1),Ye&&_u(Ye),!dt&&(We=ye&&ye.onVnodeBeforeMount)&&Ml(We,pt,pe),xa(ae,!0),qe&&De){const Y=()=>{ae.subTree=Rf(ae),De(qe,ae.subTree,ae,we,null)};dt?pe.type.__asyncLoader().then(()=>!ae.isUnmounted&&Y()):Y()}else{const Y=ae.subTree=Rf(ae);f(null,Y,ke,Oe,ae,we,Te),pe.el=Y.el}if(tt&&Sr(tt,we),!dt&&(We=ye&&ye.onVnodeMounted)){const Y=pe;Sr(()=>Ml(We,pt,Y),we)}(pe.shapeFlag&256||pt&&Ls(pt.vnode)&&pt.vnode.shapeFlag&256)&&ae.a&&Sr(ae.a,we),ae.isMounted=!0,pe=ke=Oe=null}},Ae=ae.effect=new Cf(Ie,Wt,()=>Pf(xe),ae.scope),xe=ae.update=()=>{Ae.dirty&&Ae.run()};xe.id=ae.uid,xa(ae,!0),xe()},F=(ae,pe,ke)=>{pe.component=ae;const Oe=ae.vnode.props;ae.vnode=pe,ae.next=null,Uk(ae,pe.props,Oe,ke),Yk(ae,pe.children,ke),Jl(),dg(ae),Ql()},K=(ae,pe,ke,Oe,we,Te,Ne,Ie,Ae=!1)=>{const xe=ae&&ae.children,We=ae?ae.shapeFlag:0,qe=pe.children,{patchFlag:ye,shapeFlag:Ye}=pe;if(ye>0){if(ye&128){U(xe,qe,ke,Oe,we,Te,Ne,Ie,Ae);return}else if(ye&256){I(xe,qe,ke,Oe,we,Te,Ne,Ie,Ae);return}}Ye&8?(We&16&&de(xe,we,Te),qe!==xe&&u(ke,qe)):We&16?Ye&16?U(xe,qe,ke,Oe,we,Te,Ne,Ie,Ae):de(xe,we,Te,!0):(We&8&&u(ke,""),Ye&16&&P(qe,ke,Oe,we,Te,Ne,Ie,Ae))},I=(ae,pe,ke,Oe,we,Te,Ne,Ie,Ae)=>{ae=ae||ii,pe=pe||ii;const xe=ae.length,We=pe.length,qe=Math.min(xe,We);let ye;for(ye=0;yeWe?de(ae,we,Te,!0,!1,qe):P(pe,ke,Oe,we,Te,Ne,Ie,Ae,qe)},U=(ae,pe,ke,Oe,we,Te,Ne,Ie,Ae)=>{let xe=0;const We=pe.length;let qe=ae.length-1,ye=We-1;for(;xe<=qe&&xe<=ye;){const Ye=ae[xe],tt=pe[xe]=Ae?Vn(pe[xe]):$l(pe[xe]);if(ka(Ye,tt))f(Ye,tt,ke,null,we,Te,Ne,Ie,Ae);else break;xe++}for(;xe<=qe&&xe<=ye;){const Ye=ae[qe],tt=pe[ye]=Ae?Vn(pe[ye]):$l(pe[ye]);if(ka(Ye,tt))f(Ye,tt,ke,null,we,Te,Ne,Ie,Ae);else break;qe--,ye--}if(xe>qe){if(xe<=ye){const Ye=ye+1,tt=Yeye)for(;xe<=qe;)ne(ae[xe],we,Te,!0),xe++;else{const Ye=xe,tt=xe,pt=new Map;for(xe=tt;xe<=ye;xe++){const ge=pe[xe]=Ae?Vn(pe[xe]):$l(pe[xe]);ge.key!=null&&pt.set(ge.key,xe)}let dt,Y=0;const S=ye-tt+1;let A=!1,G=0;const X=new Array(S);for(xe=0;xe=S){ne(ge,we,Te,!0);continue}let fe;if(ge.key!=null)fe=pt.get(ge.key);else for(dt=tt;dt<=ye;dt++)if(X[dt-tt]===0&&ka(ge,pe[dt])){fe=dt;break}fe===void 0?ne(ge,we,Te,!0):(X[fe-tt]=xe+1,fe>=G?G=fe:A=!0,f(ge,pe[fe],ke,null,we,Te,Ne,Ie,Ae),Y++)}const re=A?Jk(X):ii;for(dt=re.length-1,xe=S-1;xe>=0;xe--){const ge=tt+xe,fe=pe[ge],Fe=ge+1{const{el:Te,type:Ne,transition:Ie,children:Ae,shapeFlag:xe}=ae;if(xe&6){oe(ae.component.subTree,pe,ke,Oe);return}if(xe&128){ae.suspense.move(pe,ke,Oe);return}if(xe&64){Ne.move(ae,pe,ke,Ce);return}if(Ne===Qe){r(Te,pe,ke);for(let qe=0;qeIe.enter(Te),we);else{const{leave:qe,delayLeave:ye,afterLeave:Ye}=Ie,tt=()=>r(Te,pe,ke),pt=()=>{qe(Te,()=>{tt(),Ye&&Ye()})};ye?ye(Te,tt,pt):pt()}else r(Te,pe,ke)},ne=(ae,pe,ke,Oe=!1,we=!1)=>{const{type:Te,props:Ne,ref:Ie,children:Ae,dynamicChildren:xe,shapeFlag:We,patchFlag:qe,dirs:ye,memoIndex:Ye}=ae;if(qe===-2&&(we=!1),Ie!=null&&Wf(Ie,null,ke,ae,!0),Ye!=null&&(pe.renderCache[Ye]=void 0),We&256){pe.ctx.deactivate(ae);return}const tt=We&1&&ye,pt=!Ls(ae);let dt;if(pt&&(dt=Ne&&Ne.onVnodeBeforeUnmount)&&Ml(dt,pe,ae),We&6)Me(ae.component,ke,Oe);else{if(We&128){ae.suspense.unmount(ke,Oe);return}tt&&wa(ae,null,pe,"beforeUnmount"),We&64?ae.type.remove(ae,pe,ke,Ce,Oe):xe&&(Te!==Qe||qe>0&&qe&64)?de(xe,pe,ke,!1,!0):(Te===Qe&&qe&384||!we&&We&16)&&de(Ae,pe,ke),Oe&&ce(ae)}(pt&&(dt=Ne&&Ne.onVnodeUnmounted)||tt)&&Sr(()=>{dt&&Ml(dt,pe,ae),tt&&wa(ae,null,pe,"unmounted")},ke)},ce=ae=>{const{type:pe,el:ke,anchor:Oe,transition:we}=ae;if(pe===Qe){Q(ke,Oe);return}if(pe===Hu){x(ae);return}const Te=()=>{l(ke),we&&!we.persisted&&we.afterLeave&&we.afterLeave()};if(ae.shapeFlag&1&&we&&!we.persisted){const{leave:Ne,delayLeave:Ie}=we,Ae=()=>Ne(ke,Te);Ie?Ie(ae.el,Te,Ae):Ae()}else Te()},Q=(ae,pe)=>{let ke;for(;ae!==pe;)ke=h(ae),l(ae),ae=ke;l(pe)},Me=(ae,pe,ke)=>{const{bum:Oe,scope:we,update:Te,subTree:Ne,um:Ie,m:Ae,a:xe}=ae;Hg(Ae),Hg(xe),Oe&&_u(Oe),we.stop(),Te&&(Te.active=!1,ne(Ne,ae,pe,ke)),Ie&&Sr(Ie,pe),Sr(()=>{ae.isUnmounted=!0},pe),pe&&pe.pendingBranch&&!pe.isUnmounted&&ae.asyncDep&&!ae.asyncResolved&&ae.suspenseId===pe.pendingId&&(pe.deps--,pe.deps===0&&pe.resolve())},de=(ae,pe,ke,Oe=!1,we=!1,Te=0)=>{for(let Ne=Te;Neae.shapeFlag&6?_e(ae.component.subTree):ae.shapeFlag&128?ae.suspense.next():h(ae.anchor||ae.el);let me=!1;const Re=(ae,pe,ke)=>{ae==null?pe._vnode&&ne(pe._vnode,null,null,!0):f(pe._vnode||null,ae,pe,null,null,null,ke),me||(me=!0,dg(),pg(),me=!1),pe._vnode=ae},Ce={p:f,um:ne,m:oe,r:ce,mt:J,mc:P,pc:K,pbc:B,n:_e,o:e};let Ee,De;return{render:Re,hydrate:Ee,createApp:Fk(Re,Ee)}}function qf({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function xa({effect:e,update:t},o){e.allowRecurse=t.allowRecurse=o}function Zk(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Yf(e,t,o=!1){const r=e.children,l=t.children;if(Ke(r)&&Ke(l))for(let n=0;n>1,e[o[i]]0&&(t[r]=o[n-1]),o[n]=r)}}for(n=o.length,a=o[n-1];n-- >0;)o[n]=a,a=t[a];return o}function Dg(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Dg(t)}function Hg(e){if(e)for(let t=0;tGe(Qk);function Go(e,t){return Gf(e,null,t)}const Lu={};function Se(e,t,o){return Gf(e,t,o)}function Gf(e,t,{immediate:o,deep:r,flush:l,once:n,onTrack:a,onTrigger:i}=go){if(t&&n){const T=t;t=(...R)=>{T(...R),$()}}const c=Xo,d=T=>r===!0?T:Ln(T,r===!1?1:void 0);let u,p=!1,h=!1;if(Zt(e)?(u=()=>e.value,p=Mu(e)):ba(e)?(u=()=>d(e),p=!0):Ke(e)?(h=!0,p=e.some(T=>ba(T)||Mu(T)),u=()=>e.map(T=>{if(Zt(T))return T.value;if(ba(T))return d(T);if(it(T))return tn(T,c,2)})):it(e)?t?u=()=>tn(e,c,2):u=()=>(v&&v(),jr(e,c,3,[m])):u=Wt,t&&r){const T=u;u=()=>Ln(T())}let v,m=T=>{v=w.onStop=()=>{tn(T,c,4),v=w.onStop=void 0}},f;if(Ku)if(m=Wt,t?o&&jr(t,c,3,[u(),h?[]:void 0,m]):u(),l==="sync"){const T=e9();f=T.__watcherHandles||(T.__watcherHandles=[])}else return Wt;let _=h?new Array(e.length).fill(Lu):Lu;const g=()=>{if(!(!w.active||!w.dirty))if(t){const T=w.run();(r||p||(h?T.some((R,P)=>zn(R,_[P])):zn(T,_)))&&(v&&v(),jr(t,c,3,[T,_===Lu?void 0:h&&_[0]===Lu?[]:_,m]),_=T)}else w.run()};g.allowRecurse=!!t;let y;l==="sync"?y=g:l==="post"?y=()=>Sr(g,c&&c.suspense):(g.pre=!0,c&&(g.id=c.uid),y=()=>Pf(g));const w=new Cf(u,Wt,y),x=xf(),$=()=>{w.stop(),x&&gf(x.effects,w)};return t?o?g():_=w.run():l==="post"?Sr(w.run.bind(w),c&&c.suspense):w.run(),f&&f.push($),$}function t9(e,t,o){const r=this.proxy,l=ut(e)?e.includes(".")?Fg(r,e):()=>r[e]:e.bind(r,r);let n;it(t)?n=t:(n=t.handler,o=t);const a=Ks(this),i=Gf(l,n.bind(r),o);return a(),i}function Fg(e,t){const o=t.split(".");return()=>{let r=e;for(let l=0;l{Ln(r,t,o)});else if(gu(e)){for(const r in e)Ln(e[r],t,o);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Ln(e[r],t,o)}return e}const Bu=e=>e.type.__isKeepAlive;function o9(e,t){Kg(e,"a",t)}function jg(e,t){Kg(e,"da",t)}function Kg(e,t,o=Xo){const r=e.__wdc||(e.__wdc=()=>{let l=o;for(;l;){if(l.isDeactivated)return;l=l.parent}return e()});if(Nu(t,r,o),o){let l=o.parent;for(;l&&l.parent;)Bu(l.parent.vnode)&&r9(r,t,o,l),l=l.parent}}function r9(e,t,o,r){const l=Nu(t,e,r,!0);Rn(()=>{gf(r[t],l)},o)}const Bn=Symbol("_leaveCb"),Vu=Symbol("_enterCb");function Ug(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return ft(()=>{e.isMounted=!0}),to(()=>{e.isUnmounting=!0}),e}const Kr=[Function,Array],Wg={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Kr,onEnter:Kr,onAfterEnter:Kr,onEnterCancelled:Kr,onBeforeLeave:Kr,onLeave:Kr,onAfterLeave:Kr,onLeaveCancelled:Kr,onBeforeAppear:Kr,onAppear:Kr,onAfterAppear:Kr,onAppearCancelled:Kr},qg=e=>{const t=e.subTree;return t.component?qg(t.component):t},l9={name:"BaseTransition",props:Wg,setup(e,{slots:t}){const o=wt(),r=Ug();return()=>{const l=t.default&&Zf(t.default(),!0);if(!l||!l.length)return;let n=l[0];if(l.length>1){for(const h of l)if(h.type!==Jo){n=h;break}}const a=jt(e),{mode:i}=a;if(r.isLeaving)return Xf(n);const c=Gg(n);if(!c)return Xf(n);let d=Ds(c,a,r,o,h=>d=h);fi(c,d);const u=o.subTree,p=u&&Gg(u);if(p&&p.type!==Jo&&!ka(c,p)&&qg(o).type!==Jo){const h=Ds(p,a,r,o);if(fi(p,h),i==="out-in"&&c.type!==Jo)return r.isLeaving=!0,h.afterLeave=()=>{r.isLeaving=!1,o.update.active!==!1&&(o.effect.dirty=!0,o.update())},Xf(n);i==="in-out"&&c.type!==Jo&&(h.delayLeave=(v,m,f)=>{const _=Yg(r,p);_[String(p.key)]=p,v[Bn]=()=>{m(),v[Bn]=void 0,delete d.delayedLeave},d.delayedLeave=f})}return n}}};function Yg(e,t){const{leavingVNodes:o}=e;let r=o.get(t.type);return r||(r=Object.create(null),o.set(t.type,r)),r}function Ds(e,t,o,r,l){const{appear:n,mode:a,persisted:i=!1,onBeforeEnter:c,onEnter:d,onAfterEnter:u,onEnterCancelled:p,onBeforeLeave:h,onLeave:v,onAfterLeave:m,onLeaveCancelled:f,onBeforeAppear:_,onAppear:g,onAfterAppear:y,onAppearCancelled:w}=t,x=String(e.key),$=Yg(o,e),T=(L,B)=>{L&&jr(L,r,9,B)},R=(L,B)=>{const V=B[1];T(L,B),Ke(L)?L.every(j=>j.length<=1)&&V():L.length<=1&&V()},P={mode:a,persisted:i,beforeEnter(L){let B=c;if(!o.isMounted)if(n)B=_||c;else return;L[Bn]&&L[Bn](!0);const V=$[x];V&&ka(e,V)&&V.el[Bn]&&V.el[Bn](),T(B,[L])},enter(L){let B=d,V=u,j=p;if(!o.isMounted)if(n)B=g||d,V=y||u,j=w||p;else return;let te=!1;const J=L[Vu]=Z=>{te||(te=!0,Z?T(j,[L]):T(V,[L]),P.delayedLeave&&P.delayedLeave(),L[Vu]=void 0)};B?R(B,[L,J]):J()},leave(L,B){const V=String(e.key);if(L[Vu]&&L[Vu](!0),o.isUnmounting)return B();T(h,[L]);let j=!1;const te=L[Bn]=J=>{j||(j=!0,B(),J?T(f,[L]):T(m,[L]),L[Bn]=void 0,$[V]===e&&delete $[V])};$[V]=e,v?R(v,[L,te]):te()},clone(L){const B=Ds(L,t,o,r,l);return l&&l(B),B}};return P}function Xf(e){if(Bu(e))return e=nn(e),e.children=null,e}function Gg(e){if(!Bu(e))return e;const{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&it(o.default))return o.default()}}function fi(e,t){e.shapeFlag&6&&e.component?fi(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Zf(e,t=!1,o){let r=[],l=0;for(let n=0;n1)for(let n=0;ne.__isTeleport,Hs=e=>e&&(e.disabled||e.disabled===""),Xg=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Zg=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Jf=(e,t)=>{const o=e&&e.to;return ut(o)?t?t(o):null:o},a9={name:"Teleport",__isTeleport:!0,process(e,t,o,r,l,n,a,i,c,d){const{mc:u,pc:p,pbc:h,o:{insert:v,querySelector:m,createText:f,createComment:_}}=d,g=Hs(t.props);let{shapeFlag:y,children:w,dynamicChildren:x}=t;if(e==null){const $=t.el=f(""),T=t.anchor=f("");v($,o,r),v(T,o,r);const R=t.target=Jf(t.props,m),P=t.targetAnchor=f("");R&&(v(P,R),a==="svg"||Xg(R)?a="svg":(a==="mathml"||Zg(R))&&(a="mathml"));const L=(B,V)=>{y&16&&u(w,B,V,l,n,a,i,c)};g?L(o,T):R&&L(R,P)}else{t.el=e.el;const $=t.anchor=e.anchor,T=t.target=e.target,R=t.targetAnchor=e.targetAnchor,P=Hs(e.props),L=P?o:T,B=P?$:R;if(a==="svg"||Xg(T)?a="svg":(a==="mathml"||Zg(T))&&(a="mathml"),x?(h(e.dynamicChildren,x,L,l,n,a,i),Yf(e,t,!0)):c||p(e,t,L,B,l,n,a,i,!1),g)P?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Du(t,o,$,d,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const V=t.target=Jf(t.props,m);V&&Du(t,V,null,d,0)}else P&&Du(t,T,R,d,1)}Jg(t)},remove(e,t,o,{um:r,o:{remove:l}},n){const{shapeFlag:a,children:i,anchor:c,targetAnchor:d,target:u,props:p}=e;if(u&&l(d),n&&l(c),a&16){const h=n||!Hs(p);for(let v=0;v0?sl||ii:null,s9(),js>0&&sl&&sl.push(e),e}function M(e,t,o,r,l,n){return e1(E(e,t,o,r,l,n,!0))}function he(e,t,o,r,l){return e1(ee(e,t,o,r,l,!0))}function io(e){return e?e.__v_isVNode===!0:!1}function ka(e,t){return e.type===t.type&&e.key===t.key}const t1=({key:e})=>e??null,Fu=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?ut(e)||Zt(e)||it(e)?{i:Vo,r:e,k:t,f:!!o}:e:null);function E(e,t=null,o=null,r=0,l=null,n=e===Qe?0:1,a=!1,i=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&t1(t),ref:t&&Fu(t),scopeId:vg,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:n,patchFlag:r,dynamicProps:l,dynamicChildren:null,appContext:null,ctx:Vo};return i?(Qf(c,o),n&128&&e.normalize(c)):o&&(c.shapeFlag|=ut(o)?8:16),js>0&&!a&&sl&&(c.patchFlag>0||n&6)&&c.patchFlag!==32&&sl.push(c),c}const ee=c9;function c9(e,t=null,o=null,r=0,l=null,n=!1){if((!e||e===gg)&&(e=Jo),io(e)){const i=nn(e,t,!0);return o&&Qf(i,o),js>0&&!n&&sl&&(i.shapeFlag&6?sl[sl.indexOf(e)]=i:sl.push(i)),i.patchFlag=-2,i}if(_9(e)&&(e=e.__vccOpts),t){t=mi(t);let{class:i,style:c}=t;i&&!ut(i)&&(t.class=O(i)),xt(c)&&(rg(c)&&!Ke(c)&&(c=$o({},c)),t.style=Je(c))}const a=ut(e)?1:$k(e)?128:n9(e)?64:xt(e)?4:it(e)?2:0;return E(e,t,o,r,l,a,n,!0)}function mi(e){return e?rg(e)||Ag(e)?$o({},e):e:null}function nn(e,t,o=!1,r=!1){const{props:l,ref:n,patchFlag:a,children:i,transition:c}=e,d=t?Mt(l||{},t):l,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&t1(d),ref:t&&t.ref?o&&n?Ke(n)?n.concat(Fu(t)):[n,Fu(t)]:Fu(t):n,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Qe?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&nn(e.ssContent),ssFallback:e.ssFallback&&nn(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&fi(u,c.clone(u)),u}function Ct(e=" ",t=0){return ee(vi,null,e,t)}function u9(e,t){const o=ee(Hu,null,e);return o.staticCount=t,o}function se(e="",t=!1){return t?(b(),he(Jo,null,e)):ee(Jo,null,e)}function $l(e){return e==null||typeof e=="boolean"?ee(Jo):Ke(e)?ee(Qe,null,e.slice()):typeof e=="object"?Vn(e):ee(vi,null,String(e))}function Vn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:nn(e)}function Qf(e,t){let o=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(Ke(t))o=16;else if(typeof t=="object")if(r&65){const l=t.default;l&&(l._c&&(l._d=!1),Qf(e,l()),l._c&&(l._d=!0));return}else{o=32;const l=t._;!l&&!Ag(t)?t._ctx=Vo:l===3&&Vo&&(Vo.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else it(t)?(t={default:t,_ctx:Vo},o=32):(t=String(t),r&64?(o=16,t=[Ct(t)]):o=8);e.children=t,e.shapeFlag|=o}function Mt(...e){const t={};for(let o=0;oXo||Vo;let ju,e0;{const e=Am(),t=(o,r)=>{let l;return(l=e[o])||(l=e[o]=[]),l.push(r),n=>{l.length>1?l.forEach(a=>a(n)):l[0](n)}};ju=t("__VUE_INSTANCE_SETTERS__",o=>Xo=o),e0=t("__VUE_SSR_SETTERS__",o=>Ku=o)}const Ks=e=>{const t=Xo;return ju(e),e.scope.on(),()=>{e.scope.off(),ju(t)}},o1=()=>{Xo&&Xo.scope.off(),ju(null)};function r1(e){return e.vnode.shapeFlag&4}let Ku=!1;function h9(e,t=!1){t&&e0(t);const{props:o,children:r}=e.vnode,l=r1(e);Kk(e,o,l,t),qk(e,r);const n=l?v9(e,t):void 0;return t&&e0(!1),n}function v9(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Pk);const{setup:r}=o;if(r){const l=e.setupContext=r.length>1?i1(e):null,n=Ks(e);Jl();const a=tn(r,e,0,[e.props,l]);if(Ql(),n(),Es(a)){if(a.then(o1,o1),t)return a.then(i=>{l1(e,i,t)}).catch(i=>{Au(i,e,0)});e.asyncDep=a}else l1(e,a,t)}else a1(e,t)}function l1(e,t,o){it(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:xt(t)&&(e.setupState=ag(t)),a1(e,o)}let n1;function a1(e,t,o){const r=e.type;if(!e.render){if(!t&&n1&&!r.render){const l=r.template||Ff(e).template;if(l){const{isCustomElement:n,compilerOptions:a}=e.appContext.config,{delimiters:i,compilerOptions:c}=r,d=$o($o({isCustomElement:n,delimiters:i},a),c);r.render=n1(l,d)}}e.render=r.render||Wt}{const l=Ks(e);Jl();try{Rk(e)}finally{Ql(),l()}}}const m9={get(e,t){return Cr(e,"get",""),e[t]}};function i1(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,m9),slots:e.slots,emit:e.emit,expose:t}}function Uu(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(ag(Nn(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Bs)return Bs[o](e)},has(t,o){return o in t||o in Bs}})):e.proxy}const g9=/(?:^|[-_])(\w)/g,b9=e=>e.replace(g9,t=>t.toUpperCase()).replace(/[-_]/g,"");function s1(e,t=!0){return it(e)?e.displayName||e.name:e.name||t&&e.__name}function c1(e,t,o=!1){let r=s1(t);if(!r&&t.__file){const l=t.__file.match(/([^/\\]+)\.\w+$/);l&&(r=l[1])}if(!r&&e&&e.parent){const l=n=>{for(const a in n)if(n[a]===t)return a};r=l(e.components||e.parent.type.components)||l(e.appContext.components)}return r?b9(r):o?"App":"Anonymous"}function _9(e){return it(e)&&"__vccOpts"in e}const C=(e,t)=>ak(e,t,Ku);function rt(e,t,o){const r=arguments.length;return r===2?xt(t)&&!Ke(t)?io(t)?ee(e,null,[t]):ee(e,t):ee(e,null,t):(r>3?o=Array.prototype.slice.call(arguments,2):r===3&&io(o)&&(o=[o]),ee(e,t,o))}const w9="3.4.31",y9=Wt;/** +`],...vk(o))}),t}function vk({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",r=e.component?e.component.parent==null:!1,l=` at <${c1(e.component,e.type,r)}`,n=">"+o;return e.props?[l,...mk(e.props),n]:[l+n]}function mk(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(r=>{t.push(...sg(r,e[r]))}),o.length>3&&t.push(" ..."),t}function sg(e,t,o){return ut(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:Zt(t)?(t=sg(e,jt(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):it(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=jt(t),o?t:[`${e}=`,t])}function tn(e,t,o,r){try{return r?e(...r):e()}catch(l){Au(l,t,o)}}function jr(e,t,o,r){if(it(e)){const l=tn(e,t,o,r);return l&&Es(l)&&l.catch(n=>{Au(n,t,o)}),l}if(Ke(e)){const l=[];for(let n=0;n>>1,l=lr[r],n=Rs(l);nTl&&lr.splice(t,1)}function wk(e){Ke(e)?di.push(...e):(!Pn||!Pn.includes(e,e.allowRecurse?_a+1:_a))&&di.push(e),ug()}function dg(e,t,o=Ps?Tl+1:0){for(;oRs(o)-Rs(r));if(di.length=0,Pn){Pn.push(...t);return}for(Pn=t,_a=0;_ae.id==null?1/0:e.id,yk=(e,t)=>{const o=Rs(e)-Rs(t);if(o===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return o};function fg(e){Of=!1,Ps=!0,lr.sort(yk);try{for(Tl=0;Tlut(v)?v.trim():v)),p&&(l=o.map(_f))}let i,c=r[i=As(t)]||r[i=As(Fr(t))];!c&&n&&(c=r[i=As(An(t))]),c&&jr(c,e,6,l);const d=r[i+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,jr(d,e,6,l)}}function hg(e,t,o=!1){const r=t.emitsCache,l=r.get(e);if(l!==void 0)return l;const n=e.emits;let a={},i=!1;if(!it(e)){const c=d=>{const u=hg(d,t,!0);u&&(i=!0,$o(a,u))};!o&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!n&&!i?(xt(e)&&r.set(e,null),null):(Ke(n)?n.forEach(c=>a[c]=null):$o(a,n),xt(e)&&r.set(e,a),a)}function zu(e,t){return!e||!hu(t)?!1:(t=t.slice(2).replace(/Once$/,""),Pt(e,t[0].toLowerCase()+t.slice(1))||Pt(e,An(t))||Pt(e,t))}let Vo=null,vg=null;function Iu(e){const t=Vo;return Vo=e,vg=e&&e.type.__scopeId||null,t}function le(e,t=Vo,o){if(!t||e._n)return e;const r=(...l)=>{r._d&&Qg(-1);const n=Iu(t);let a;try{a=e(...l)}finally{Iu(n),r._d&&Qg(1)}return a};return r._n=!0,r._c=!0,r._d=!0,r}function qpe(){}function Rf(e){const{type:t,vnode:o,proxy:r,withProxy:l,propsOptions:[n],slots:a,attrs:i,emit:c,render:d,renderCache:u,props:p,data:h,setupState:v,ctx:m,inheritAttrs:f}=e,_=Iu(e);let g,y;try{if(o.shapeFlag&4){const x=l||r,$=x;g=$l(d.call($,x,u,p,v,h,m)),y=i}else{const x=t;g=$l(x.length>1?x(p,{attrs:i,slots:a,emit:c}):x(p,null)),y=t.props?i:kk(i)}}catch(x){Fs.length=0,Au(x,e,1),g=ee(Jo)}let w=g;if(y&&f!==!1){const x=Object.keys(y),{shapeFlag:$}=w;x.length&&$&7&&(n&&x.some(mf)&&(y=Ck(y,n)),w=nn(w,y,!1,!0))}return o.dirs&&(w=nn(w,null,!1,!0),w.dirs=w.dirs?w.dirs.concat(o.dirs):o.dirs),o.transition&&(w.transition=o.transition),g=w,Iu(_),g}const kk=e=>{let t;for(const o in e)(o==="class"||o==="style"||hu(o))&&((t||(t={}))[o]=e[o]);return t},Ck=(e,t)=>{const o={};for(const r in e)(!mf(r)||!(r.slice(9)in t))&&(o[r]=e[r]);return o};function Sk(e,t,o){const{props:r,children:l,component:n}=e,{props:a,children:i,patchFlag:c}=t,d=n.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&c>=0){if(c&1024)return!0;if(c&16)return r?mg(r,a,d):!!a;if(c&8){const u=t.dynamicProps;for(let p=0;pe.__isSuspense;function Mk(e,t){t&&t.pendingBranch?Ke(e)?t.effects.push(...e):t.effects.push(e):wk(e)}function Nu(e,t,o=Xo,r=!1){if(o){const l=o[e]||(o[e]=[]),n=t.__weh||(t.__weh=(...a)=>{Jl();const i=Ks(o),c=jr(t,o,e,a);return i(),Ql(),c});return r?l.unshift(n):l.push(n),n}}const on=e=>(t,o=Xo)=>{(!Ku||e==="sp")&&Nu(e,(...r)=>t(...r),o)},Pu=on("bm"),ft=on("m"),_g=on("bu"),rn=on("u"),to=on("bum"),Rn=on("um"),Ak=on("sp"),zk=on("rtg"),Ik=on("rtc");function Ok(e,t=Xo){Nu("ec",e,t)}function mt(e,t){if(Vo===null)return e;const o=Uu(Vo),r=e.dirs||(e.dirs=[]);for(let l=0;lt(a,i,void 0,n));else{const a=Object.keys(e);l=new Array(a.length);for(let i=0,c=a.length;i{const n=r.fn(...l);return n&&(n.key=r.key),n}:r.fn)}return e}/*! #__NO_SIDE_EFFECTS__ */function N(e,t){return it(e)?$o({name:e.name},t,{setup:e}):e}const Ls=e=>!!e.type.__asyncLoader;function be(e,t,o={},r,l){if(Vo.isCE||Vo.parent&&Ls(Vo.parent)&&Vo.parent.isCE)return t!=="default"&&(o.name=t),ee("slot",o,r&&r());let n=e[t];n&&n._c&&(n._d=!1),b();const a=n&&wg(n(o)),i=he(Qe,{key:o.key||a&&a.key||`_${t}`},a||(r?r():[]),a&&e._===1?64:-2);return i.scopeId&&(i.slotScopeIds=[i.scopeId+"-s"]),n&&n._c&&(n._d=!0),i}function wg(e){return e.some(t=>io(t)?!(t.type===Jo||t.type===Qe&&!wg(t.children)):!0)?e:null}function Nk(e,t){const o={};for(const r in e)o[As(r)]=e[r];return o}const Vf=e=>e?r1(e)?Uu(e):Vf(e.parent):null,Bs=$o(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Vf(e.parent),$root:e=>Vf(e.root),$emit:e=>e.emit,$options:e=>Ff(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Pf(e.update)}),$nextTick:e=>e.n||(e.n=et.bind(e.proxy)),$watch:e=>t9.bind(e)}),Df=(e,t)=>e!==go&&!e.__isScriptSetup&&Pt(e,t),Pk={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:r,data:l,props:n,accessCache:a,type:i,appContext:c}=e;let d;if(t[0]!=="$"){const v=a[t];if(v!==void 0)switch(v){case 1:return r[t];case 2:return l[t];case 4:return o[t];case 3:return n[t]}else{if(Df(r,t))return a[t]=1,r[t];if(l!==go&&Pt(l,t))return a[t]=2,l[t];if((d=e.propsOptions[0])&&Pt(d,t))return a[t]=3,n[t];if(o!==go&&Pt(o,t))return a[t]=4,o[t];Hf&&(a[t]=0)}}const u=Bs[t];let p,h;if(u)return t==="$attrs"&&Cr(e.attrs,"get",""),u(e);if((p=i.__cssModules)&&(p=p[t]))return p;if(o!==go&&Pt(o,t))return a[t]=4,o[t];if(h=c.config.globalProperties,Pt(h,t))return h[t]},set({_:e},t,o){const{data:r,setupState:l,ctx:n}=e;return Df(l,t)?(l[t]=o,!0):r!==go&&Pt(r,t)?(r[t]=o,!0):Pt(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(n[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:r,appContext:l,propsOptions:n}},a){let i;return!!o[a]||e!==go&&Pt(e,a)||Df(t,a)||(i=n[0])&&Pt(i,a)||Pt(r,a)||Pt(Bs,a)||Pt(l.config.globalProperties,a)},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Pt(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Do(){return yg().slots}function ya(){return yg().attrs}function yg(){const e=wt();return e.setupContext||(e.setupContext=i1(e))}function xg(e){return Ke(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let Hf=!0;function Rk(e){const t=Ff(e),o=e.proxy,r=e.ctx;Hf=!1,t.beforeCreate&&kg(t.beforeCreate,e,"bc");const{data:l,computed:n,methods:a,watch:i,provide:c,inject:d,created:u,beforeMount:p,mounted:h,beforeUpdate:v,updated:m,activated:f,deactivated:_,beforeDestroy:g,beforeUnmount:y,destroyed:w,unmounted:x,render:$,renderTracked:T,renderTriggered:R,errorCaptured:P,serverPrefetch:L,expose:V,inheritAttrs:B,components:j,directives:te,filters:J}=t;if(d&&Lk(d,r,null),a)for(const F in a){const K=a[F];it(K)&&(r[F]=K.bind(o))}if(l){const F=l.call(o,o);xt(F)&&(e.data=Dt(F))}if(Hf=!0,n)for(const F in n){const K=n[F],I=it(K)?K.bind(o,o):it(K.get)?K.get.bind(o,o):Wt,U=!it(K)&&it(K.set)?K.set.bind(o):Wt,oe=C({get:I,set:U});Object.defineProperty(r,F,{enumerable:!0,configurable:!0,get:()=>oe.value,set:ne=>oe.value=ne})}if(i)for(const F in i)Cg(i[F],r,o,F);if(c){const F=it(c)?c.call(o):c;Reflect.ownKeys(F).forEach(K=>{zt(K,F[K])})}u&&kg(u,e,"c");function H(F,K){Ke(K)?K.forEach(I=>F(I.bind(o))):K&&F(K.bind(o))}if(H(Pu,p),H(ft,h),H(_g,v),H(rn,m),H(o9,f),H(jg,_),H(Ok,P),H(Ik,T),H(zk,R),H(to,y),H(Rn,x),H(Ak,L),Ke(V))if(V.length){const F=e.exposed||(e.exposed={});V.forEach(K=>{Object.defineProperty(F,K,{get:()=>o[K],set:I=>o[K]=I})})}else e.exposed||(e.exposed={});$&&e.render===Wt&&(e.render=$),B!=null&&(e.inheritAttrs=B),j&&(e.components=j),te&&(e.directives=te)}function Lk(e,t,o=Wt){Ke(e)&&(e=jf(e));for(const r in e){const l=e[r];let n;xt(l)?"default"in l?n=Ge(l.from||r,l.default,!0):n=Ge(l.from||r):n=Ge(l),Zt(n)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>n.value,set:a=>n.value=a}):t[r]=n}}function kg(e,t,o){jr(Ke(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,o)}function Cg(e,t,o,r){const l=r.includes(".")?Fg(o,r):()=>o[r];if(ut(e)){const n=t[e];it(n)&&Se(l,n)}else if(it(e))Se(l,e.bind(o));else if(xt(e))if(Ke(e))e.forEach(n=>Cg(n,t,o,r));else{const n=it(e.handler)?e.handler.bind(o):t[e.handler];it(n)&&Se(l,n,e)}}function Ff(e){const t=e.type,{mixins:o,extends:r}=t,{mixins:l,optionsCache:n,config:{optionMergeStrategies:a}}=e.appContext,i=n.get(t);let c;return i?c=i:!l.length&&!o&&!r?c=t:(c={},l.length&&l.forEach(d=>Ru(c,d,a,!0)),Ru(c,t,a)),xt(t)&&n.set(t,c),c}function Ru(e,t,o,r=!1){const{mixins:l,extends:n}=t;n&&Ru(e,n,o,!0),l&&l.forEach(a=>Ru(e,a,o,!0));for(const a in t)if(!(r&&a==="expose")){const i=Bk[a]||o&&o[a];e[a]=i?i(e[a],t[a]):t[a]}return e}const Bk={data:Sg,props:Eg,emits:Eg,methods:Vs,computed:Vs,beforeCreate:br,created:br,beforeMount:br,mounted:br,beforeUpdate:br,updated:br,beforeDestroy:br,beforeUnmount:br,destroyed:br,unmounted:br,activated:br,deactivated:br,errorCaptured:br,serverPrefetch:br,components:Vs,directives:Vs,watch:Dk,provide:Sg,inject:Vk};function Sg(e,t){return t?e?function(){return $o(it(e)?e.call(this,this):e,it(t)?t.call(this,this):t)}:t:e}function Vk(e,t){return Vs(jf(e),jf(t))}function jf(e){if(Ke(e)){const t={};for(let o=0;o1)return o&&it(t)?t.call(r&&r.proxy):t}}function jk(){return!!(Xo||Vo||pi)}const $g={},Mg=()=>Object.create($g),Ag=e=>Object.getPrototypeOf(e)===$g;function Kk(e,t,o,r=!1){const l={},n=Mg();e.propsDefaults=Object.create(null),zg(e,t,l,n);for(const a in e.propsOptions[0])a in l||(l[a]=void 0);o?e.props=r?l:og(l):e.type.props?e.props=l:e.props=n,e.attrs=n}function Uk(e,t,o,r){const{props:l,attrs:n,vnode:{patchFlag:a}}=e,i=jt(l),[c]=e.propsOptions;let d=!1;if((r||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let p=0;p{c=!0;const[h,v]=Ig(p,t,!0);$o(a,h),v&&i.push(...v)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!n&&!c)return xt(e)&&r.set(e,ii),ii;if(Ke(n))for(let u=0;u-1,v[1]=f<0||m-1||Pt(v,"default"))&&i.push(p)}}}const d=[a,i];return xt(e)&&r.set(e,d),d}function Og(e){return e[0]!=="$"&&!$s(e)}function Ng(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function Pg(e,t){return Ng(e)===Ng(t)}function Rg(e,t){return Ke(t)?t.findIndex(o=>Pg(o,e)):it(t)&&Pg(t,e)?0:-1}const Lg=e=>e[0]==="_"||e==="$stable",Uf=e=>Ke(e)?e.map($l):[$l(e)],Wk=(e,t,o)=>{if(t._n)return t;const r=le((...l)=>Uf(t(...l)),o);return r._c=!1,r},Bg=(e,t,o)=>{const r=e._ctx;for(const l in e){if(Lg(l))continue;const n=e[l];if(it(n))t[l]=Wk(l,n,r);else if(n!=null){const a=Uf(n);t[l]=()=>a}}},Vg=(e,t)=>{const o=Uf(t);e.slots.default=()=>o},qk=(e,t)=>{const o=e.slots=Mg();if(e.vnode.shapeFlag&32){const r=t._;r?($o(o,t),$m(o,"_",r,!0)):Bg(t,o)}else t&&Vg(e,t)},Yk=(e,t,o)=>{const{vnode:r,slots:l}=e;let n=!0,a=go;if(r.shapeFlag&32){const i=t._;i?o&&i===1?n=!1:($o(l,t),!o&&i===1&&delete l._):(n=!t.$stable,Bg(t,l)),a=t}else t&&(Vg(e,t),a={default:1});if(n)for(const i in l)!Lg(i)&&a[i]==null&&delete l[i]};function Wf(e,t,o,r,l=!1){if(Ke(e)){e.forEach((h,v)=>Wf(h,t&&(Ke(t)?t[v]:t),o,r,l));return}if(Ls(r)&&!l)return;const n=r.shapeFlag&4?Uu(r.component):r.el,a=l?null:n,{i,r:c}=e,d=t&&t.r,u=i.refs===go?i.refs={}:i.refs,p=i.setupState;if(d!=null&&d!==c&&(ut(d)?(u[d]=null,Pt(p,d)&&(p[d]=null)):Zt(d)&&(d.value=null)),it(c))tn(c,i,12,[a,u]);else{const h=ut(c),v=Zt(c);if(h||v){const m=()=>{if(e.f){const f=h?Pt(p,c)?p[c]:u[c]:c.value;l?Ke(f)&&gf(f,n):Ke(f)?f.includes(n)||f.push(n):h?(u[c]=[n],Pt(p,c)&&(p[c]=u[c])):(c.value=[n],e.k&&(u[e.k]=c.value))}else h?(u[c]=a,Pt(p,c)&&(p[c]=a)):v&&(c.value=a,e.k&&(u[e.k]=a))};a?(m.id=-1,Sr(m,o)):m()}}}const Sr=Mk;function Gk(e){return Xk(e)}function Xk(e,t){const o=Am();o.__VUE__=!0;const{insert:r,remove:l,patchProp:n,createElement:a,createText:i,createComment:c,setText:d,setElementText:u,parentNode:p,nextSibling:h,setScopeId:v=Wt,insertStaticContent:m}=e,f=(ae,pe,ke,Oe=null,we=null,Te=null,Ne=void 0,Ie=null,Ae=!!pe.dynamicChildren)=>{if(ae===pe)return;ae&&!ka(ae,pe)&&(Oe=_e(ae),ne(ae,we,Te,!0),ae=null),pe.patchFlag===-2&&(Ae=!1,pe.dynamicChildren=null);const{type:xe,ref:We,shapeFlag:qe}=pe;switch(xe){case vi:_(ae,pe,ke,Oe);break;case Jo:g(ae,pe,ke,Oe);break;case Hu:ae==null&&y(pe,ke,Oe,Ne);break;case Qe:j(ae,pe,ke,Oe,we,Te,Ne,Ie,Ae);break;default:qe&1?$(ae,pe,ke,Oe,we,Te,Ne,Ie,Ae):qe&6?te(ae,pe,ke,Oe,we,Te,Ne,Ie,Ae):(qe&64||qe&128)&&xe.process(ae,pe,ke,Oe,we,Te,Ne,Ie,Ae,Ce)}We!=null&&we&&Wf(We,ae&&ae.ref,Te,pe||ae,!pe)},_=(ae,pe,ke,Oe)=>{if(ae==null)r(pe.el=i(pe.children),ke,Oe);else{const we=pe.el=ae.el;pe.children!==ae.children&&d(we,pe.children)}},g=(ae,pe,ke,Oe)=>{ae==null?r(pe.el=c(pe.children||""),ke,Oe):pe.el=ae.el},y=(ae,pe,ke,Oe)=>{[ae.el,ae.anchor]=m(ae.children,pe,ke,Oe,ae.el,ae.anchor)},w=({el:ae,anchor:pe},ke,Oe)=>{let we;for(;ae&&ae!==pe;)we=h(ae),r(ae,ke,Oe),ae=we;r(pe,ke,Oe)},x=({el:ae,anchor:pe})=>{let ke;for(;ae&&ae!==pe;)ke=h(ae),l(ae),ae=ke;l(pe)},$=(ae,pe,ke,Oe,we,Te,Ne,Ie,Ae)=>{pe.type==="svg"?Ne="svg":pe.type==="math"&&(Ne="mathml"),ae==null?T(pe,ke,Oe,we,Te,Ne,Ie,Ae):L(ae,pe,we,Te,Ne,Ie,Ae)},T=(ae,pe,ke,Oe,we,Te,Ne,Ie)=>{let Ae,xe;const{props:We,shapeFlag:qe,transition:ye,dirs:Ye}=ae;if(Ae=ae.el=a(ae.type,Te,We&&We.is,We),qe&8?u(Ae,ae.children):qe&16&&P(ae.children,Ae,null,Oe,we,qf(ae,Te),Ne,Ie),Ye&&wa(ae,null,Oe,"created"),R(Ae,ae,ae.scopeId,Ne,Oe),We){for(const pt in We)pt!=="value"&&!$s(pt)&&n(Ae,pt,null,We[pt],Te,ae.children,Oe,we,de);"value"in We&&n(Ae,"value",null,We.value,Te),(xe=We.onVnodeBeforeMount)&&Ml(xe,Oe,ae)}Ye&&wa(ae,null,Oe,"beforeMount");const tt=Zk(we,ye);tt&&ye.beforeEnter(Ae),r(Ae,pe,ke),((xe=We&&We.onVnodeMounted)||tt||Ye)&&Sr(()=>{xe&&Ml(xe,Oe,ae),tt&&ye.enter(Ae),Ye&&wa(ae,null,Oe,"mounted")},we)},R=(ae,pe,ke,Oe,we)=>{if(ke&&v(ae,ke),Oe)for(let Te=0;Te{for(let xe=Ae;xe{const Ie=pe.el=ae.el;let{patchFlag:Ae,dynamicChildren:xe,dirs:We}=pe;Ae|=ae.patchFlag&16;const qe=ae.props||go,ye=pe.props||go;let Ye;if(ke&&xa(ke,!1),(Ye=ye.onVnodeBeforeUpdate)&&Ml(Ye,ke,pe,ae),We&&wa(pe,ae,ke,"beforeUpdate"),ke&&xa(ke,!0),xe?V(ae.dynamicChildren,xe,Ie,ke,Oe,qf(pe,we),Te):Ne||K(ae,pe,Ie,null,ke,Oe,qf(pe,we),Te,!1),Ae>0){if(Ae&16)B(Ie,pe,qe,ye,ke,Oe,we);else if(Ae&2&&qe.class!==ye.class&&n(Ie,"class",null,ye.class,we),Ae&4&&n(Ie,"style",qe.style,ye.style,we),Ae&8){const tt=pe.dynamicProps;for(let pt=0;pt{Ye&&Ml(Ye,ke,pe,ae),We&&wa(pe,ae,ke,"updated")},Oe)},V=(ae,pe,ke,Oe,we,Te,Ne)=>{for(let Ie=0;Ie{if(ke!==Oe){if(ke!==go)for(const Ie in ke)!$s(Ie)&&!(Ie in Oe)&&n(ae,Ie,ke[Ie],null,Ne,pe.children,we,Te,de);for(const Ie in Oe){if($s(Ie))continue;const Ae=Oe[Ie],xe=ke[Ie];Ae!==xe&&Ie!=="value"&&n(ae,Ie,xe,Ae,Ne,pe.children,we,Te,de)}"value"in Oe&&n(ae,"value",ke.value,Oe.value,Ne)}},j=(ae,pe,ke,Oe,we,Te,Ne,Ie,Ae)=>{const xe=pe.el=ae?ae.el:i(""),We=pe.anchor=ae?ae.anchor:i("");let{patchFlag:qe,dynamicChildren:ye,slotScopeIds:Ye}=pe;Ye&&(Ie=Ie?Ie.concat(Ye):Ye),ae==null?(r(xe,ke,Oe),r(We,ke,Oe),P(pe.children||[],ke,We,we,Te,Ne,Ie,Ae)):qe>0&&qe&64&&ye&&ae.dynamicChildren?(V(ae.dynamicChildren,ye,ke,we,Te,Ne,Ie),(pe.key!=null||we&&pe===we.subTree)&&Yf(ae,pe,!0)):K(ae,pe,ke,We,we,Te,Ne,Ie,Ae)},te=(ae,pe,ke,Oe,we,Te,Ne,Ie,Ae)=>{pe.slotScopeIds=Ie,ae==null?pe.shapeFlag&512?we.ctx.activate(pe,ke,Oe,Ne,Ae):J(pe,ke,Oe,we,Te,Ne,Ae):Z(ae,pe,Ae)},J=(ae,pe,ke,Oe,we,Te,Ne)=>{const Ie=ae.component=f9(ae,Oe,we);if(Bu(ae)&&(Ie.ctx.renderer=Ce),h9(Ie),Ie.asyncDep){if(we&&we.registerDep(Ie,H,Ne),!ae.el){const Ae=Ie.subTree=ee(Jo);g(null,Ae,pe,ke)}}else H(Ie,ae,pe,ke,we,Te,Ne)},Z=(ae,pe,ke)=>{const Oe=pe.component=ae.component;if(Sk(ae,pe,ke))if(Oe.asyncDep&&!Oe.asyncResolved){F(Oe,pe,ke);return}else Oe.next=pe,_k(Oe.update),Oe.effect.dirty=!0,Oe.update();else pe.el=ae.el,Oe.vnode=pe},H=(ae,pe,ke,Oe,we,Te,Ne)=>{const Ie=()=>{if(ae.isMounted){let{next:We,bu:qe,u:ye,parent:Ye,vnode:tt}=ae;{const A=Dg(ae);if(A){We&&(We.el=tt.el,F(ae,We,Ne)),A.asyncDep.then(()=>{ae.isUnmounted||Ie()});return}}let pt=We,dt;xa(ae,!1),We?(We.el=tt.el,F(ae,We,Ne)):We=tt,qe&&_u(qe),(dt=We.props&&We.props.onVnodeBeforeUpdate)&&Ml(dt,Ye,We,tt),xa(ae,!0);const Y=Rf(ae),S=ae.subTree;ae.subTree=Y,f(S,Y,p(S.el),_e(S),ae,we,Te),We.el=Y.el,pt===null&&Ek(ae,Y.el),ye&&Sr(ye,we),(dt=We.props&&We.props.onVnodeUpdated)&&Sr(()=>Ml(dt,Ye,We,tt),we)}else{let We;const{el:qe,props:ye}=pe,{bm:Ye,m:tt,parent:pt}=ae,dt=Ls(pe);if(xa(ae,!1),Ye&&_u(Ye),!dt&&(We=ye&&ye.onVnodeBeforeMount)&&Ml(We,pt,pe),xa(ae,!0),qe&&De){const Y=()=>{ae.subTree=Rf(ae),De(qe,ae.subTree,ae,we,null)};dt?pe.type.__asyncLoader().then(()=>!ae.isUnmounted&&Y()):Y()}else{const Y=ae.subTree=Rf(ae);f(null,Y,ke,Oe,ae,we,Te),pe.el=Y.el}if(tt&&Sr(tt,we),!dt&&(We=ye&&ye.onVnodeMounted)){const Y=pe;Sr(()=>Ml(We,pt,Y),we)}(pe.shapeFlag&256||pt&&Ls(pt.vnode)&&pt.vnode.shapeFlag&256)&&ae.a&&Sr(ae.a,we),ae.isMounted=!0,pe=ke=Oe=null}},Ae=ae.effect=new Cf(Ie,Wt,()=>Pf(xe),ae.scope),xe=ae.update=()=>{Ae.dirty&&Ae.run()};xe.id=ae.uid,xa(ae,!0),xe()},F=(ae,pe,ke)=>{pe.component=ae;const Oe=ae.vnode.props;ae.vnode=pe,ae.next=null,Uk(ae,pe.props,Oe,ke),Yk(ae,pe.children,ke),Jl(),dg(ae),Ql()},K=(ae,pe,ke,Oe,we,Te,Ne,Ie,Ae=!1)=>{const xe=ae&&ae.children,We=ae?ae.shapeFlag:0,qe=pe.children,{patchFlag:ye,shapeFlag:Ye}=pe;if(ye>0){if(ye&128){U(xe,qe,ke,Oe,we,Te,Ne,Ie,Ae);return}else if(ye&256){I(xe,qe,ke,Oe,we,Te,Ne,Ie,Ae);return}}Ye&8?(We&16&&de(xe,we,Te),qe!==xe&&u(ke,qe)):We&16?Ye&16?U(xe,qe,ke,Oe,we,Te,Ne,Ie,Ae):de(xe,we,Te,!0):(We&8&&u(ke,""),Ye&16&&P(qe,ke,Oe,we,Te,Ne,Ie,Ae))},I=(ae,pe,ke,Oe,we,Te,Ne,Ie,Ae)=>{ae=ae||ii,pe=pe||ii;const xe=ae.length,We=pe.length,qe=Math.min(xe,We);let ye;for(ye=0;yeWe?de(ae,we,Te,!0,!1,qe):P(pe,ke,Oe,we,Te,Ne,Ie,Ae,qe)},U=(ae,pe,ke,Oe,we,Te,Ne,Ie,Ae)=>{let xe=0;const We=pe.length;let qe=ae.length-1,ye=We-1;for(;xe<=qe&&xe<=ye;){const Ye=ae[xe],tt=pe[xe]=Ae?Vn(pe[xe]):$l(pe[xe]);if(ka(Ye,tt))f(Ye,tt,ke,null,we,Te,Ne,Ie,Ae);else break;xe++}for(;xe<=qe&&xe<=ye;){const Ye=ae[qe],tt=pe[ye]=Ae?Vn(pe[ye]):$l(pe[ye]);if(ka(Ye,tt))f(Ye,tt,ke,null,we,Te,Ne,Ie,Ae);else break;qe--,ye--}if(xe>qe){if(xe<=ye){const Ye=ye+1,tt=Yeye)for(;xe<=qe;)ne(ae[xe],we,Te,!0),xe++;else{const Ye=xe,tt=xe,pt=new Map;for(xe=tt;xe<=ye;xe++){const ge=pe[xe]=Ae?Vn(pe[xe]):$l(pe[xe]);ge.key!=null&&pt.set(ge.key,xe)}let dt,Y=0;const S=ye-tt+1;let A=!1,G=0;const X=new Array(S);for(xe=0;xe=S){ne(ge,we,Te,!0);continue}let fe;if(ge.key!=null)fe=pt.get(ge.key);else for(dt=tt;dt<=ye;dt++)if(X[dt-tt]===0&&ka(ge,pe[dt])){fe=dt;break}fe===void 0?ne(ge,we,Te,!0):(X[fe-tt]=xe+1,fe>=G?G=fe:A=!0,f(ge,pe[fe],ke,null,we,Te,Ne,Ie,Ae),Y++)}const re=A?Jk(X):ii;for(dt=re.length-1,xe=S-1;xe>=0;xe--){const ge=tt+xe,fe=pe[ge],Fe=ge+1{const{el:Te,type:Ne,transition:Ie,children:Ae,shapeFlag:xe}=ae;if(xe&6){oe(ae.component.subTree,pe,ke,Oe);return}if(xe&128){ae.suspense.move(pe,ke,Oe);return}if(xe&64){Ne.move(ae,pe,ke,Ce);return}if(Ne===Qe){r(Te,pe,ke);for(let qe=0;qeIe.enter(Te),we);else{const{leave:qe,delayLeave:ye,afterLeave:Ye}=Ie,tt=()=>r(Te,pe,ke),pt=()=>{qe(Te,()=>{tt(),Ye&&Ye()})};ye?ye(Te,tt,pt):pt()}else r(Te,pe,ke)},ne=(ae,pe,ke,Oe=!1,we=!1)=>{const{type:Te,props:Ne,ref:Ie,children:Ae,dynamicChildren:xe,shapeFlag:We,patchFlag:qe,dirs:ye,memoIndex:Ye}=ae;if(qe===-2&&(we=!1),Ie!=null&&Wf(Ie,null,ke,ae,!0),Ye!=null&&(pe.renderCache[Ye]=void 0),We&256){pe.ctx.deactivate(ae);return}const tt=We&1&&ye,pt=!Ls(ae);let dt;if(pt&&(dt=Ne&&Ne.onVnodeBeforeUnmount)&&Ml(dt,pe,ae),We&6)Me(ae.component,ke,Oe);else{if(We&128){ae.suspense.unmount(ke,Oe);return}tt&&wa(ae,null,pe,"beforeUnmount"),We&64?ae.type.remove(ae,pe,ke,Ce,Oe):xe&&(Te!==Qe||qe>0&&qe&64)?de(xe,pe,ke,!1,!0):(Te===Qe&&qe&384||!we&&We&16)&&de(Ae,pe,ke),Oe&&ce(ae)}(pt&&(dt=Ne&&Ne.onVnodeUnmounted)||tt)&&Sr(()=>{dt&&Ml(dt,pe,ae),tt&&wa(ae,null,pe,"unmounted")},ke)},ce=ae=>{const{type:pe,el:ke,anchor:Oe,transition:we}=ae;if(pe===Qe){Q(ke,Oe);return}if(pe===Hu){x(ae);return}const Te=()=>{l(ke),we&&!we.persisted&&we.afterLeave&&we.afterLeave()};if(ae.shapeFlag&1&&we&&!we.persisted){const{leave:Ne,delayLeave:Ie}=we,Ae=()=>Ne(ke,Te);Ie?Ie(ae.el,Te,Ae):Ae()}else Te()},Q=(ae,pe)=>{let ke;for(;ae!==pe;)ke=h(ae),l(ae),ae=ke;l(pe)},Me=(ae,pe,ke)=>{const{bum:Oe,scope:we,update:Te,subTree:Ne,um:Ie,m:Ae,a:xe}=ae;Hg(Ae),Hg(xe),Oe&&_u(Oe),we.stop(),Te&&(Te.active=!1,ne(Ne,ae,pe,ke)),Ie&&Sr(Ie,pe),Sr(()=>{ae.isUnmounted=!0},pe),pe&&pe.pendingBranch&&!pe.isUnmounted&&ae.asyncDep&&!ae.asyncResolved&&ae.suspenseId===pe.pendingId&&(pe.deps--,pe.deps===0&&pe.resolve())},de=(ae,pe,ke,Oe=!1,we=!1,Te=0)=>{for(let Ne=Te;Neae.shapeFlag&6?_e(ae.component.subTree):ae.shapeFlag&128?ae.suspense.next():h(ae.anchor||ae.el);let me=!1;const Re=(ae,pe,ke)=>{ae==null?pe._vnode&&ne(pe._vnode,null,null,!0):f(pe._vnode||null,ae,pe,null,null,null,ke),me||(me=!0,dg(),pg(),me=!1),pe._vnode=ae},Ce={p:f,um:ne,m:oe,r:ce,mt:J,mc:P,pc:K,pbc:V,n:_e,o:e};let Ee,De;return{render:Re,hydrate:Ee,createApp:Fk(Re,Ee)}}function qf({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function xa({effect:e,update:t},o){e.allowRecurse=t.allowRecurse=o}function Zk(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Yf(e,t,o=!1){const r=e.children,l=t.children;if(Ke(r)&&Ke(l))for(let n=0;n>1,e[o[i]]0&&(t[r]=o[n-1]),o[n]=r)}}for(n=o.length,a=o[n-1];n-- >0;)o[n]=a,a=t[a];return o}function Dg(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Dg(t)}function Hg(e){if(e)for(let t=0;tGe(Qk);function Go(e,t){return Gf(e,null,t)}const Lu={};function Se(e,t,o){return Gf(e,t,o)}function Gf(e,t,{immediate:o,deep:r,flush:l,once:n,onTrack:a,onTrigger:i}=go){if(t&&n){const T=t;t=(...R)=>{T(...R),$()}}const c=Xo,d=T=>r===!0?T:Ln(T,r===!1?1:void 0);let u,p=!1,h=!1;if(Zt(e)?(u=()=>e.value,p=Mu(e)):ba(e)?(u=()=>d(e),p=!0):Ke(e)?(h=!0,p=e.some(T=>ba(T)||Mu(T)),u=()=>e.map(T=>{if(Zt(T))return T.value;if(ba(T))return d(T);if(it(T))return tn(T,c,2)})):it(e)?t?u=()=>tn(e,c,2):u=()=>(v&&v(),jr(e,c,3,[m])):u=Wt,t&&r){const T=u;u=()=>Ln(T())}let v,m=T=>{v=w.onStop=()=>{tn(T,c,4),v=w.onStop=void 0}},f;if(Ku)if(m=Wt,t?o&&jr(t,c,3,[u(),h?[]:void 0,m]):u(),l==="sync"){const T=e9();f=T.__watcherHandles||(T.__watcherHandles=[])}else return Wt;let _=h?new Array(e.length).fill(Lu):Lu;const g=()=>{if(!(!w.active||!w.dirty))if(t){const T=w.run();(r||p||(h?T.some((R,P)=>zn(R,_[P])):zn(T,_)))&&(v&&v(),jr(t,c,3,[T,_===Lu?void 0:h&&_[0]===Lu?[]:_,m]),_=T)}else w.run()};g.allowRecurse=!!t;let y;l==="sync"?y=g:l==="post"?y=()=>Sr(g,c&&c.suspense):(g.pre=!0,c&&(g.id=c.uid),y=()=>Pf(g));const w=new Cf(u,Wt,y),x=xf(),$=()=>{w.stop(),x&&gf(x.effects,w)};return t?o?g():_=w.run():l==="post"?Sr(w.run.bind(w),c&&c.suspense):w.run(),f&&f.push($),$}function t9(e,t,o){const r=this.proxy,l=ut(e)?e.includes(".")?Fg(r,e):()=>r[e]:e.bind(r,r);let n;it(t)?n=t:(n=t.handler,o=t);const a=Ks(this),i=Gf(l,n.bind(r),o);return a(),i}function Fg(e,t){const o=t.split(".");return()=>{let r=e;for(let l=0;l{Ln(r,t,o)});else if(gu(e)){for(const r in e)Ln(e[r],t,o);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Ln(e[r],t,o)}return e}const Bu=e=>e.type.__isKeepAlive;function o9(e,t){Kg(e,"a",t)}function jg(e,t){Kg(e,"da",t)}function Kg(e,t,o=Xo){const r=e.__wdc||(e.__wdc=()=>{let l=o;for(;l;){if(l.isDeactivated)return;l=l.parent}return e()});if(Nu(t,r,o),o){let l=o.parent;for(;l&&l.parent;)Bu(l.parent.vnode)&&r9(r,t,o,l),l=l.parent}}function r9(e,t,o,r){const l=Nu(t,e,r,!0);Rn(()=>{gf(r[t],l)},o)}const Bn=Symbol("_leaveCb"),Vu=Symbol("_enterCb");function Ug(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return ft(()=>{e.isMounted=!0}),to(()=>{e.isUnmounting=!0}),e}const Kr=[Function,Array],Wg={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Kr,onEnter:Kr,onAfterEnter:Kr,onEnterCancelled:Kr,onBeforeLeave:Kr,onLeave:Kr,onAfterLeave:Kr,onLeaveCancelled:Kr,onBeforeAppear:Kr,onAppear:Kr,onAfterAppear:Kr,onAppearCancelled:Kr},qg=e=>{const t=e.subTree;return t.component?qg(t.component):t},l9={name:"BaseTransition",props:Wg,setup(e,{slots:t}){const o=wt(),r=Ug();return()=>{const l=t.default&&Zf(t.default(),!0);if(!l||!l.length)return;let n=l[0];if(l.length>1){for(const h of l)if(h.type!==Jo){n=h;break}}const a=jt(e),{mode:i}=a;if(r.isLeaving)return Xf(n);const c=Gg(n);if(!c)return Xf(n);let d=Ds(c,a,r,o,h=>d=h);fi(c,d);const u=o.subTree,p=u&&Gg(u);if(p&&p.type!==Jo&&!ka(c,p)&&qg(o).type!==Jo){const h=Ds(p,a,r,o);if(fi(p,h),i==="out-in"&&c.type!==Jo)return r.isLeaving=!0,h.afterLeave=()=>{r.isLeaving=!1,o.update.active!==!1&&(o.effect.dirty=!0,o.update())},Xf(n);i==="in-out"&&c.type!==Jo&&(h.delayLeave=(v,m,f)=>{const _=Yg(r,p);_[String(p.key)]=p,v[Bn]=()=>{m(),v[Bn]=void 0,delete d.delayedLeave},d.delayedLeave=f})}return n}}};function Yg(e,t){const{leavingVNodes:o}=e;let r=o.get(t.type);return r||(r=Object.create(null),o.set(t.type,r)),r}function Ds(e,t,o,r,l){const{appear:n,mode:a,persisted:i=!1,onBeforeEnter:c,onEnter:d,onAfterEnter:u,onEnterCancelled:p,onBeforeLeave:h,onLeave:v,onAfterLeave:m,onLeaveCancelled:f,onBeforeAppear:_,onAppear:g,onAfterAppear:y,onAppearCancelled:w}=t,x=String(e.key),$=Yg(o,e),T=(L,V)=>{L&&jr(L,r,9,V)},R=(L,V)=>{const B=V[1];T(L,V),Ke(L)?L.every(j=>j.length<=1)&&B():L.length<=1&&B()},P={mode:a,persisted:i,beforeEnter(L){let V=c;if(!o.isMounted)if(n)V=_||c;else return;L[Bn]&&L[Bn](!0);const B=$[x];B&&ka(e,B)&&B.el[Bn]&&B.el[Bn](),T(V,[L])},enter(L){let V=d,B=u,j=p;if(!o.isMounted)if(n)V=g||d,B=y||u,j=w||p;else return;let te=!1;const J=L[Vu]=Z=>{te||(te=!0,Z?T(j,[L]):T(B,[L]),P.delayedLeave&&P.delayedLeave(),L[Vu]=void 0)};V?R(V,[L,J]):J()},leave(L,V){const B=String(e.key);if(L[Vu]&&L[Vu](!0),o.isUnmounting)return V();T(h,[L]);let j=!1;const te=L[Bn]=J=>{j||(j=!0,V(),J?T(f,[L]):T(m,[L]),L[Bn]=void 0,$[B]===e&&delete $[B])};$[B]=e,v?R(v,[L,te]):te()},clone(L){const V=Ds(L,t,o,r,l);return l&&l(V),V}};return P}function Xf(e){if(Bu(e))return e=nn(e),e.children=null,e}function Gg(e){if(!Bu(e))return e;const{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&it(o.default))return o.default()}}function fi(e,t){e.shapeFlag&6&&e.component?fi(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Zf(e,t=!1,o){let r=[],l=0;for(let n=0;n1)for(let n=0;ne.__isTeleport,Hs=e=>e&&(e.disabled||e.disabled===""),Xg=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Zg=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Jf=(e,t)=>{const o=e&&e.to;return ut(o)?t?t(o):null:o},a9={name:"Teleport",__isTeleport:!0,process(e,t,o,r,l,n,a,i,c,d){const{mc:u,pc:p,pbc:h,o:{insert:v,querySelector:m,createText:f,createComment:_}}=d,g=Hs(t.props);let{shapeFlag:y,children:w,dynamicChildren:x}=t;if(e==null){const $=t.el=f(""),T=t.anchor=f("");v($,o,r),v(T,o,r);const R=t.target=Jf(t.props,m),P=t.targetAnchor=f("");R&&(v(P,R),a==="svg"||Xg(R)?a="svg":(a==="mathml"||Zg(R))&&(a="mathml"));const L=(V,B)=>{y&16&&u(w,V,B,l,n,a,i,c)};g?L(o,T):R&&L(R,P)}else{t.el=e.el;const $=t.anchor=e.anchor,T=t.target=e.target,R=t.targetAnchor=e.targetAnchor,P=Hs(e.props),L=P?o:T,V=P?$:R;if(a==="svg"||Xg(T)?a="svg":(a==="mathml"||Zg(T))&&(a="mathml"),x?(h(e.dynamicChildren,x,L,l,n,a,i),Yf(e,t,!0)):c||p(e,t,L,V,l,n,a,i,!1),g)P?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Du(t,o,$,d,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const B=t.target=Jf(t.props,m);B&&Du(t,B,null,d,0)}else P&&Du(t,T,R,d,1)}Jg(t)},remove(e,t,o,{um:r,o:{remove:l}},n){const{shapeFlag:a,children:i,anchor:c,targetAnchor:d,target:u,props:p}=e;if(u&&l(d),n&&l(c),a&16){const h=n||!Hs(p);for(let v=0;v0?sl||ii:null,s9(),js>0&&sl&&sl.push(e),e}function M(e,t,o,r,l,n){return e1(E(e,t,o,r,l,n,!0))}function he(e,t,o,r,l){return e1(ee(e,t,o,r,l,!0))}function io(e){return e?e.__v_isVNode===!0:!1}function ka(e,t){return e.type===t.type&&e.key===t.key}const t1=({key:e})=>e??null,Fu=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?ut(e)||Zt(e)||it(e)?{i:Vo,r:e,k:t,f:!!o}:e:null);function E(e,t=null,o=null,r=0,l=null,n=e===Qe?0:1,a=!1,i=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&t1(t),ref:t&&Fu(t),scopeId:vg,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:n,patchFlag:r,dynamicProps:l,dynamicChildren:null,appContext:null,ctx:Vo};return i?(Qf(c,o),n&128&&e.normalize(c)):o&&(c.shapeFlag|=ut(o)?8:16),js>0&&!a&&sl&&(c.patchFlag>0||n&6)&&c.patchFlag!==32&&sl.push(c),c}const ee=c9;function c9(e,t=null,o=null,r=0,l=null,n=!1){if((!e||e===gg)&&(e=Jo),io(e)){const i=nn(e,t,!0);return o&&Qf(i,o),js>0&&!n&&sl&&(i.shapeFlag&6?sl[sl.indexOf(e)]=i:sl.push(i)),i.patchFlag=-2,i}if(_9(e)&&(e=e.__vccOpts),t){t=mi(t);let{class:i,style:c}=t;i&&!ut(i)&&(t.class=O(i)),xt(c)&&(rg(c)&&!Ke(c)&&(c=$o({},c)),t.style=Je(c))}const a=ut(e)?1:$k(e)?128:n9(e)?64:xt(e)?4:it(e)?2:0;return E(e,t,o,r,l,a,n,!0)}function mi(e){return e?rg(e)||Ag(e)?$o({},e):e:null}function nn(e,t,o=!1,r=!1){const{props:l,ref:n,patchFlag:a,children:i,transition:c}=e,d=t?Mt(l||{},t):l,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&t1(d),ref:t&&t.ref?o&&n?Ke(n)?n.concat(Fu(t)):[n,Fu(t)]:Fu(t):n,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Qe?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&nn(e.ssContent),ssFallback:e.ssFallback&&nn(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&fi(u,c.clone(u)),u}function Ct(e=" ",t=0){return ee(vi,null,e,t)}function u9(e,t){const o=ee(Hu,null,e);return o.staticCount=t,o}function se(e="",t=!1){return t?(b(),he(Jo,null,e)):ee(Jo,null,e)}function $l(e){return e==null||typeof e=="boolean"?ee(Jo):Ke(e)?ee(Qe,null,e.slice()):typeof e=="object"?Vn(e):ee(vi,null,String(e))}function Vn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:nn(e)}function Qf(e,t){let o=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(Ke(t))o=16;else if(typeof t=="object")if(r&65){const l=t.default;l&&(l._c&&(l._d=!1),Qf(e,l()),l._c&&(l._d=!0));return}else{o=32;const l=t._;!l&&!Ag(t)?t._ctx=Vo:l===3&&Vo&&(Vo.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else it(t)?(t={default:t,_ctx:Vo},o=32):(t=String(t),r&64?(o=16,t=[Ct(t)]):o=8);e.children=t,e.shapeFlag|=o}function Mt(...e){const t={};for(let o=0;oXo||Vo;let ju,e0;{const e=Am(),t=(o,r)=>{let l;return(l=e[o])||(l=e[o]=[]),l.push(r),n=>{l.length>1?l.forEach(a=>a(n)):l[0](n)}};ju=t("__VUE_INSTANCE_SETTERS__",o=>Xo=o),e0=t("__VUE_SSR_SETTERS__",o=>Ku=o)}const Ks=e=>{const t=Xo;return ju(e),e.scope.on(),()=>{e.scope.off(),ju(t)}},o1=()=>{Xo&&Xo.scope.off(),ju(null)};function r1(e){return e.vnode.shapeFlag&4}let Ku=!1;function h9(e,t=!1){t&&e0(t);const{props:o,children:r}=e.vnode,l=r1(e);Kk(e,o,l,t),qk(e,r);const n=l?v9(e,t):void 0;return t&&e0(!1),n}function v9(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Pk);const{setup:r}=o;if(r){const l=e.setupContext=r.length>1?i1(e):null,n=Ks(e);Jl();const a=tn(r,e,0,[e.props,l]);if(Ql(),n(),Es(a)){if(a.then(o1,o1),t)return a.then(i=>{l1(e,i,t)}).catch(i=>{Au(i,e,0)});e.asyncDep=a}else l1(e,a,t)}else a1(e,t)}function l1(e,t,o){it(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:xt(t)&&(e.setupState=ag(t)),a1(e,o)}let n1;function a1(e,t,o){const r=e.type;if(!e.render){if(!t&&n1&&!r.render){const l=r.template||Ff(e).template;if(l){const{isCustomElement:n,compilerOptions:a}=e.appContext.config,{delimiters:i,compilerOptions:c}=r,d=$o($o({isCustomElement:n,delimiters:i},a),c);r.render=n1(l,d)}}e.render=r.render||Wt}{const l=Ks(e);Jl();try{Rk(e)}finally{Ql(),l()}}}const m9={get(e,t){return Cr(e,"get",""),e[t]}};function i1(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,m9),slots:e.slots,emit:e.emit,expose:t}}function Uu(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(ag(Nn(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Bs)return Bs[o](e)},has(t,o){return o in t||o in Bs}})):e.proxy}const g9=/(?:^|[-_])(\w)/g,b9=e=>e.replace(g9,t=>t.toUpperCase()).replace(/[-_]/g,"");function s1(e,t=!0){return it(e)?e.displayName||e.name:e.name||t&&e.__name}function c1(e,t,o=!1){let r=s1(t);if(!r&&t.__file){const l=t.__file.match(/([^/\\]+)\.\w+$/);l&&(r=l[1])}if(!r&&e&&e.parent){const l=n=>{for(const a in n)if(n[a]===t)return a};r=l(e.components||e.parent.type.components)||l(e.appContext.components)}return r?b9(r):o?"App":"Anonymous"}function _9(e){return it(e)&&"__vccOpts"in e}const C=(e,t)=>ak(e,t,Ku);function rt(e,t,o){const r=arguments.length;return r===2?xt(t)&&!Ke(t)?io(t)?ee(e,null,[t]):ee(e,t):ee(e,null,t):(r>3?o=Array.prototype.slice.call(arguments,2):r===3&&io(o)&&(o=[o]),ee(e,t,o))}const w9="3.4.31",y9=Wt;/** * @vue/runtime-dom v3.4.31 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const x9="http://www.w3.org/2000/svg",k9="http://www.w3.org/1998/Math/MathML",an=typeof document<"u"?document:null,u1=an&&an.createElement("template"),C9={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,r)=>{const l=t==="svg"?an.createElementNS(x9,e):t==="mathml"?an.createElementNS(k9,e):o?an.createElement(e,{is:o}):an.createElement(e);return e==="select"&&r&&r.multiple!=null&&l.setAttribute("multiple",r.multiple),l},createText:e=>an.createTextNode(e),createComment:e=>an.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>an.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,r,l,n){const a=o?o.previousSibling:t.lastChild;if(l&&(l===n||l.nextSibling))for(;t.insertBefore(l.cloneNode(!0),o),!(l===n||!(l=l.nextSibling)););else{u1.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const i=u1.content;if(r==="svg"||r==="mathml"){const c=i.firstChild;for(;c.firstChild;)i.appendChild(c.firstChild);i.removeChild(c)}t.insertBefore(i,o)}return[a?a.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},Dn="transition",Us="animation",gi=Symbol("_vtc"),Mo=(e,{slots:t})=>rt(l9,f1(e),t);Mo.displayName="Transition";const d1={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},S9=Mo.props=$o({},Wg,d1),Ca=(e,t=[])=>{Ke(e)?e.forEach(o=>o(...t)):e&&e(...t)},p1=e=>e?Ke(e)?e.some(t=>t.length>1):e.length>1:!1;function f1(e){const t={};for(const j in e)j in d1||(t[j]=e[j]);if(e.css===!1)return t;const{name:o="v",type:r,duration:l,enterFromClass:n=`${o}-enter-from`,enterActiveClass:a=`${o}-enter-active`,enterToClass:i=`${o}-enter-to`,appearFromClass:c=n,appearActiveClass:d=a,appearToClass:u=i,leaveFromClass:p=`${o}-leave-from`,leaveActiveClass:h=`${o}-leave-active`,leaveToClass:v=`${o}-leave-to`}=e,m=E9(l),f=m&&m[0],_=m&&m[1],{onBeforeEnter:g,onEnter:y,onEnterCancelled:w,onLeave:x,onLeaveCancelled:$,onBeforeAppear:T=g,onAppear:R=y,onAppearCancelled:P=w}=t,L=(j,te,J)=>{Hn(j,te?u:i),Hn(j,te?d:a),J&&J()},B=(j,te)=>{j._isLeaving=!1,Hn(j,p),Hn(j,v),Hn(j,h),te&&te()},V=j=>(te,J)=>{const Z=j?R:y,H=()=>L(te,j,J);Ca(Z,[te,H]),h1(()=>{Hn(te,j?c:n),sn(te,j?u:i),p1(Z)||v1(te,r,f,H)})};return $o(t,{onBeforeEnter(j){Ca(g,[j]),sn(j,n),sn(j,a)},onBeforeAppear(j){Ca(T,[j]),sn(j,c),sn(j,d)},onEnter:V(!1),onAppear:V(!0),onLeave(j,te){j._isLeaving=!0;const J=()=>B(j,te);sn(j,p),sn(j,h),_1(),h1(()=>{j._isLeaving&&(Hn(j,p),sn(j,v),p1(x)||v1(j,r,_,J))}),Ca(x,[j,J])},onEnterCancelled(j){L(j,!1),Ca(w,[j])},onAppearCancelled(j){L(j,!0),Ca(P,[j])},onLeaveCancelled(j){B(j),Ca($,[j])}})}function E9(e){if(e==null)return null;if(xt(e))return[t0(e.enter),t0(e.leave)];{const t=t0(e);return[t,t]}}function t0(e){return I5(e)}function sn(e,t){t.split(/\s+/).forEach(o=>o&&e.classList.add(o)),(e[gi]||(e[gi]=new Set)).add(t)}function Hn(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const o=e[gi];o&&(o.delete(t),o.size||(e[gi]=void 0))}function h1(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let T9=0;function v1(e,t,o,r){const l=e._endId=++T9,n=()=>{l===e._endId&&r()};if(o)return setTimeout(n,o);const{type:a,timeout:i,propCount:c}=m1(e,t);if(!a)return r();const d=a+"end";let u=0;const p=()=>{e.removeEventListener(d,h),n()},h=v=>{v.target===e&&++u>=c&&p()};setTimeout(()=>{u(o[m]||"").split(", "),l=r(`${Dn}Delay`),n=r(`${Dn}Duration`),a=g1(l,n),i=r(`${Us}Delay`),c=r(`${Us}Duration`),d=g1(i,c);let u=null,p=0,h=0;t===Dn?a>0&&(u=Dn,p=a,h=n.length):t===Us?d>0&&(u=Us,p=d,h=c.length):(p=Math.max(a,d),u=p>0?a>d?Dn:Us:null,h=u?u===Dn?n.length:c.length:0);const v=u===Dn&&/\b(transform|all)(,|$)/.test(r(`${Dn}Property`).toString());return{type:u,timeout:p,propCount:h,hasTransform:v}}function g1(e,t){for(;e.lengthb1(o)+b1(e[r])))}function b1(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function _1(){return document.body.offsetHeight}function $9(e,t,o){const r=e[gi];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const Wu=Symbol("_vod"),w1=Symbol("_vsh"),Lt={beforeMount(e,{value:t},{transition:o}){e[Wu]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):Ws(e,t)},mounted(e,{value:t},{transition:o}){o&&t&&o.enter(e)},updated(e,{value:t,oldValue:o},{transition:r}){!t!=!o&&(r?t?(r.beforeEnter(e),Ws(e,!0),r.enter(e)):r.leave(e,()=>{Ws(e,!1)}):Ws(e,t))},beforeUnmount(e,{value:t}){Ws(e,t)}};function Ws(e,t){e.style.display=t?e[Wu]:"none",e[w1]=!t}const M9=Symbol(""),A9=/(^|;)\s*display\s*:/;function z9(e,t,o){const r=e.style,l=ut(o);let n=!1;if(o&&!l){if(t)if(ut(t))for(const a of t.split(";")){const i=a.slice(0,a.indexOf(":")).trim();o[i]==null&&qu(r,i,"")}else for(const a in t)o[a]==null&&qu(r,a,"");for(const a in o)a==="display"&&(n=!0),qu(r,a,o[a])}else if(l){if(t!==o){const a=r[M9];a&&(o+=";"+a),r.cssText=o,n=A9.test(o)}}else t&&e.removeAttribute("style");Wu in e&&(e[Wu]=n?r.display:"",e[w1]&&(r.display="none"))}const y1=/\s*!important$/;function qu(e,t,o){if(Ke(o))o.forEach(r=>qu(e,t,r));else if(o==null&&(o=""),t.startsWith("--"))e.setProperty(t,o);else{const r=I9(e,t);y1.test(o)?e.setProperty(An(r),o.replace(y1,""),"important"):e[r]=o}}const x1=["Webkit","Moz","ms"],o0={};function I9(e,t){const o=o0[t];if(o)return o;let r=Fr(t);if(r!=="filter"&&r in e)return o0[t]=r;r=Ms(r);for(let l=0;lr0||(L9.then(()=>r0=0),r0=Date.now());function V9(e,t){const o=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=o.attached)return;jr(D9(r,o.value),t,5,[r])};return o.value=e,o.attached=B9(),o}function D9(e,t){if(Ke(t)){const o=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{o.call(e),e._stopped=!0},t.map(r=>l=>!l._stopped&&r&&r(l))}else return t}const T1=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,H9=(e,t,o,r,l,n,a,i,c)=>{const d=l==="svg";t==="class"?$9(e,r,d):t==="style"?z9(e,o,r):hu(t)?mf(t)||P9(e,t,o,r,a):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):F9(e,t,r,d))?(O9(e,t,r,n,a,i,c),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&C1(e,t,r,d,a,t!=="value")):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),C1(e,t,r,d))};function F9(e,t,o,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&T1(t)&&it(o));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const l=e.tagName;if(l==="IMG"||l==="VIDEO"||l==="CANVAS"||l==="SOURCE")return!1}return T1(t)&&ut(o)?!1:t in e}const $1=new WeakMap,M1=new WeakMap,Yu=Symbol("_moveCb"),A1=Symbol("_enterCb"),z1={name:"TransitionGroup",props:$o({},S9,{tag:String,moveClass:String}),setup(e,{slots:t}){const o=wt(),r=Ug();let l,n;return rn(()=>{if(!l.length)return;const a=e.moveClass||`${e.name||"v"}-move`;if(!q9(l[0].el,o.vnode.el,a))return;l.forEach(K9),l.forEach(U9);const i=l.filter(W9);_1(),i.forEach(c=>{const d=c.el,u=d.style;sn(d,a),u.transform=u.webkitTransform=u.transitionDuration="";const p=d[Yu]=h=>{h&&h.target!==d||(!h||/transform$/.test(h.propertyName))&&(d.removeEventListener("transitionend",p),d[Yu]=null,Hn(d,a))};d.addEventListener("transitionend",p)})}),()=>{const a=jt(e),i=f1(a);let c=a.tag||Qe;if(l=[],n)for(let d=0;ddelete e.mode;z1.props;const I1=z1;function K9(e){const t=e.el;t[Yu]&&t[Yu](),t[A1]&&t[A1]()}function U9(e){M1.set(e,e.el.getBoundingClientRect())}function W9(e){const t=$1.get(e),o=M1.get(e),r=t.left-o.left,l=t.top-o.top;if(r||l){const n=e.el.style;return n.transform=n.webkitTransform=`translate(${r}px,${l}px)`,n.transitionDuration="0s",e}}function q9(e,t,o){const r=e.cloneNode(),l=e[gi];l&&l.forEach(i=>{i.split(/\s+/).forEach(c=>c&&r.classList.remove(c))}),o.split(/\s+/).forEach(i=>i&&r.classList.add(i)),r.style.display="none";const n=t.nodeType===1?t:t.parentNode;n.appendChild(r);const{hasTransform:a}=m1(r);return n.removeChild(r),a}const bi=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Ke(t)?o=>_u(t,o):t};function Y9(e){e.target.composing=!0}function O1(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const cn=Symbol("_assign"),l0={created(e,{modifiers:{lazy:t,trim:o,number:r}},l){e[cn]=bi(l);const n=r||l.props&&l.props.type==="number";Fn(e,t?"change":"input",a=>{if(a.target.composing)return;let i=e.value;o&&(i=i.trim()),n&&(i=_f(i)),e[cn](i)}),o&&Fn(e,"change",()=>{e.value=e.value.trim()}),t||(Fn(e,"compositionstart",Y9),Fn(e,"compositionend",O1),Fn(e,"change",O1))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:o,modifiers:{lazy:r,trim:l,number:n}},a){if(e[cn]=bi(a),e.composing)return;const i=(n||e.type==="number")&&!/^0\d/.test(e.value)?_f(e.value):e.value,c=t??"";i!==c&&(document.activeElement===e&&e.type!=="range"&&(r&&t===o||l&&e.value.trim()===c)||(e.value=c))}},Gu={deep:!0,created(e,t,o){e[cn]=bi(o),Fn(e,"change",()=>{const r=e._modelValue,l=R1(e),n=e.checked,a=e[cn];if(Ke(r)){const i=Im(r,l),c=i!==-1;if(n&&!c)a(r.concat(l));else if(!n&&c){const d=[...r];d.splice(i,1),a(d)}}else if(vu(r)){const i=new Set(r);n?i.add(l):i.delete(l),a(i)}else a(L1(e,n))})},mounted:N1,beforeUpdate(e,t,o){e[cn]=bi(o),N1(e,t,o)}};function N1(e,{value:t,oldValue:o},r){e._modelValue=t,Ke(t)?e.checked=Im(t,r.props.value)>-1:vu(t)?e.checked=t.has(r.props.value):t!==o&&(e.checked=ci(t,L1(e,!0)))}const P1={created(e,{value:t},o){e.checked=ci(t,o.props.value),e[cn]=bi(o),Fn(e,"change",()=>{e[cn](R1(e))})},beforeUpdate(e,{value:t,oldValue:o},r){e[cn]=bi(r),t!==o&&(e.checked=ci(t,r.props.value))}};function R1(e){return"_value"in e?e._value:e.value}function L1(e,t){const o=t?"_trueValue":"_falseValue";return o in e?e[o]:t}const G9=["ctrl","shift","alt","meta"],X9={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>G9.some(o=>e[`${o}Key`]&&!t.includes(o))},ct=(e,t)=>{const o=e._withMods||(e._withMods={}),r=t.join(".");return o[r]||(o[r]=(l,...n)=>{for(let a=0;a{const o=e._withKeys||(e._withKeys={}),r=t.join(".");return o[r]||(o[r]=l=>{if(!("key"in l))return;const n=An(l.key);if(t.some(a=>a===n||Z9[a]===n))return e(l)})},J9=$o({patchProp:H9},C9);let B1;function V1(){return B1||(B1=Gk(J9))}const jn=(...e)=>{V1().render(...e)},D1=(...e)=>{const t=V1().createApp(...e),{mount:o}=t;return t.mount=r=>{const l=eC(r);if(!l)return;const n=t._component;!it(n)&&!n.render&&!n.template&&(n.template=l.innerHTML),l.innerHTML="";const a=o(l,!1,Q9(l));return l instanceof Element&&(l.removeAttribute("v-cloak"),l.setAttribute("data-v-app","")),a},t};function Q9(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function eC(e){return ut(e)?document.querySelector(e):e}var Ao=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function cl(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var H1={exports:{}};/*! +**/const x9="http://www.w3.org/2000/svg",k9="http://www.w3.org/1998/Math/MathML",an=typeof document<"u"?document:null,u1=an&&an.createElement("template"),C9={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,r)=>{const l=t==="svg"?an.createElementNS(x9,e):t==="mathml"?an.createElementNS(k9,e):o?an.createElement(e,{is:o}):an.createElement(e);return e==="select"&&r&&r.multiple!=null&&l.setAttribute("multiple",r.multiple),l},createText:e=>an.createTextNode(e),createComment:e=>an.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>an.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,r,l,n){const a=o?o.previousSibling:t.lastChild;if(l&&(l===n||l.nextSibling))for(;t.insertBefore(l.cloneNode(!0),o),!(l===n||!(l=l.nextSibling)););else{u1.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const i=u1.content;if(r==="svg"||r==="mathml"){const c=i.firstChild;for(;c.firstChild;)i.appendChild(c.firstChild);i.removeChild(c)}t.insertBefore(i,o)}return[a?a.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},Dn="transition",Us="animation",gi=Symbol("_vtc"),Mo=(e,{slots:t})=>rt(l9,f1(e),t);Mo.displayName="Transition";const d1={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},S9=Mo.props=$o({},Wg,d1),Ca=(e,t=[])=>{Ke(e)?e.forEach(o=>o(...t)):e&&e(...t)},p1=e=>e?Ke(e)?e.some(t=>t.length>1):e.length>1:!1;function f1(e){const t={};for(const j in e)j in d1||(t[j]=e[j]);if(e.css===!1)return t;const{name:o="v",type:r,duration:l,enterFromClass:n=`${o}-enter-from`,enterActiveClass:a=`${o}-enter-active`,enterToClass:i=`${o}-enter-to`,appearFromClass:c=n,appearActiveClass:d=a,appearToClass:u=i,leaveFromClass:p=`${o}-leave-from`,leaveActiveClass:h=`${o}-leave-active`,leaveToClass:v=`${o}-leave-to`}=e,m=E9(l),f=m&&m[0],_=m&&m[1],{onBeforeEnter:g,onEnter:y,onEnterCancelled:w,onLeave:x,onLeaveCancelled:$,onBeforeAppear:T=g,onAppear:R=y,onAppearCancelled:P=w}=t,L=(j,te,J)=>{Hn(j,te?u:i),Hn(j,te?d:a),J&&J()},V=(j,te)=>{j._isLeaving=!1,Hn(j,p),Hn(j,v),Hn(j,h),te&&te()},B=j=>(te,J)=>{const Z=j?R:y,H=()=>L(te,j,J);Ca(Z,[te,H]),h1(()=>{Hn(te,j?c:n),sn(te,j?u:i),p1(Z)||v1(te,r,f,H)})};return $o(t,{onBeforeEnter(j){Ca(g,[j]),sn(j,n),sn(j,a)},onBeforeAppear(j){Ca(T,[j]),sn(j,c),sn(j,d)},onEnter:B(!1),onAppear:B(!0),onLeave(j,te){j._isLeaving=!0;const J=()=>V(j,te);sn(j,p),sn(j,h),_1(),h1(()=>{j._isLeaving&&(Hn(j,p),sn(j,v),p1(x)||v1(j,r,_,J))}),Ca(x,[j,J])},onEnterCancelled(j){L(j,!1),Ca(w,[j])},onAppearCancelled(j){L(j,!0),Ca(P,[j])},onLeaveCancelled(j){V(j),Ca($,[j])}})}function E9(e){if(e==null)return null;if(xt(e))return[t0(e.enter),t0(e.leave)];{const t=t0(e);return[t,t]}}function t0(e){return I5(e)}function sn(e,t){t.split(/\s+/).forEach(o=>o&&e.classList.add(o)),(e[gi]||(e[gi]=new Set)).add(t)}function Hn(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const o=e[gi];o&&(o.delete(t),o.size||(e[gi]=void 0))}function h1(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let T9=0;function v1(e,t,o,r){const l=e._endId=++T9,n=()=>{l===e._endId&&r()};if(o)return setTimeout(n,o);const{type:a,timeout:i,propCount:c}=m1(e,t);if(!a)return r();const d=a+"end";let u=0;const p=()=>{e.removeEventListener(d,h),n()},h=v=>{v.target===e&&++u>=c&&p()};setTimeout(()=>{u(o[m]||"").split(", "),l=r(`${Dn}Delay`),n=r(`${Dn}Duration`),a=g1(l,n),i=r(`${Us}Delay`),c=r(`${Us}Duration`),d=g1(i,c);let u=null,p=0,h=0;t===Dn?a>0&&(u=Dn,p=a,h=n.length):t===Us?d>0&&(u=Us,p=d,h=c.length):(p=Math.max(a,d),u=p>0?a>d?Dn:Us:null,h=u?u===Dn?n.length:c.length:0);const v=u===Dn&&/\b(transform|all)(,|$)/.test(r(`${Dn}Property`).toString());return{type:u,timeout:p,propCount:h,hasTransform:v}}function g1(e,t){for(;e.lengthb1(o)+b1(e[r])))}function b1(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function _1(){return document.body.offsetHeight}function $9(e,t,o){const r=e[gi];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const Wu=Symbol("_vod"),w1=Symbol("_vsh"),Lt={beforeMount(e,{value:t},{transition:o}){e[Wu]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):Ws(e,t)},mounted(e,{value:t},{transition:o}){o&&t&&o.enter(e)},updated(e,{value:t,oldValue:o},{transition:r}){!t!=!o&&(r?t?(r.beforeEnter(e),Ws(e,!0),r.enter(e)):r.leave(e,()=>{Ws(e,!1)}):Ws(e,t))},beforeUnmount(e,{value:t}){Ws(e,t)}};function Ws(e,t){e.style.display=t?e[Wu]:"none",e[w1]=!t}const M9=Symbol(""),A9=/(^|;)\s*display\s*:/;function z9(e,t,o){const r=e.style,l=ut(o);let n=!1;if(o&&!l){if(t)if(ut(t))for(const a of t.split(";")){const i=a.slice(0,a.indexOf(":")).trim();o[i]==null&&qu(r,i,"")}else for(const a in t)o[a]==null&&qu(r,a,"");for(const a in o)a==="display"&&(n=!0),qu(r,a,o[a])}else if(l){if(t!==o){const a=r[M9];a&&(o+=";"+a),r.cssText=o,n=A9.test(o)}}else t&&e.removeAttribute("style");Wu in e&&(e[Wu]=n?r.display:"",e[w1]&&(r.display="none"))}const y1=/\s*!important$/;function qu(e,t,o){if(Ke(o))o.forEach(r=>qu(e,t,r));else if(o==null&&(o=""),t.startsWith("--"))e.setProperty(t,o);else{const r=I9(e,t);y1.test(o)?e.setProperty(An(r),o.replace(y1,""),"important"):e[r]=o}}const x1=["Webkit","Moz","ms"],o0={};function I9(e,t){const o=o0[t];if(o)return o;let r=Fr(t);if(r!=="filter"&&r in e)return o0[t]=r;r=Ms(r);for(let l=0;lr0||(L9.then(()=>r0=0),r0=Date.now());function V9(e,t){const o=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=o.attached)return;jr(D9(r,o.value),t,5,[r])};return o.value=e,o.attached=B9(),o}function D9(e,t){if(Ke(t)){const o=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{o.call(e),e._stopped=!0},t.map(r=>l=>!l._stopped&&r&&r(l))}else return t}const T1=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,H9=(e,t,o,r,l,n,a,i,c)=>{const d=l==="svg";t==="class"?$9(e,r,d):t==="style"?z9(e,o,r):hu(t)?mf(t)||P9(e,t,o,r,a):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):F9(e,t,r,d))?(O9(e,t,r,n,a,i,c),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&C1(e,t,r,d,a,t!=="value")):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),C1(e,t,r,d))};function F9(e,t,o,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&T1(t)&&it(o));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const l=e.tagName;if(l==="IMG"||l==="VIDEO"||l==="CANVAS"||l==="SOURCE")return!1}return T1(t)&&ut(o)?!1:t in e}const $1=new WeakMap,M1=new WeakMap,Yu=Symbol("_moveCb"),A1=Symbol("_enterCb"),z1={name:"TransitionGroup",props:$o({},S9,{tag:String,moveClass:String}),setup(e,{slots:t}){const o=wt(),r=Ug();let l,n;return rn(()=>{if(!l.length)return;const a=e.moveClass||`${e.name||"v"}-move`;if(!q9(l[0].el,o.vnode.el,a))return;l.forEach(K9),l.forEach(U9);const i=l.filter(W9);_1(),i.forEach(c=>{const d=c.el,u=d.style;sn(d,a),u.transform=u.webkitTransform=u.transitionDuration="";const p=d[Yu]=h=>{h&&h.target!==d||(!h||/transform$/.test(h.propertyName))&&(d.removeEventListener("transitionend",p),d[Yu]=null,Hn(d,a))};d.addEventListener("transitionend",p)})}),()=>{const a=jt(e),i=f1(a);let c=a.tag||Qe;if(l=[],n)for(let d=0;ddelete e.mode;z1.props;const I1=z1;function K9(e){const t=e.el;t[Yu]&&t[Yu](),t[A1]&&t[A1]()}function U9(e){M1.set(e,e.el.getBoundingClientRect())}function W9(e){const t=$1.get(e),o=M1.get(e),r=t.left-o.left,l=t.top-o.top;if(r||l){const n=e.el.style;return n.transform=n.webkitTransform=`translate(${r}px,${l}px)`,n.transitionDuration="0s",e}}function q9(e,t,o){const r=e.cloneNode(),l=e[gi];l&&l.forEach(i=>{i.split(/\s+/).forEach(c=>c&&r.classList.remove(c))}),o.split(/\s+/).forEach(i=>i&&r.classList.add(i)),r.style.display="none";const n=t.nodeType===1?t:t.parentNode;n.appendChild(r);const{hasTransform:a}=m1(r);return n.removeChild(r),a}const bi=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Ke(t)?o=>_u(t,o):t};function Y9(e){e.target.composing=!0}function O1(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const cn=Symbol("_assign"),l0={created(e,{modifiers:{lazy:t,trim:o,number:r}},l){e[cn]=bi(l);const n=r||l.props&&l.props.type==="number";Fn(e,t?"change":"input",a=>{if(a.target.composing)return;let i=e.value;o&&(i=i.trim()),n&&(i=_f(i)),e[cn](i)}),o&&Fn(e,"change",()=>{e.value=e.value.trim()}),t||(Fn(e,"compositionstart",Y9),Fn(e,"compositionend",O1),Fn(e,"change",O1))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:o,modifiers:{lazy:r,trim:l,number:n}},a){if(e[cn]=bi(a),e.composing)return;const i=(n||e.type==="number")&&!/^0\d/.test(e.value)?_f(e.value):e.value,c=t??"";i!==c&&(document.activeElement===e&&e.type!=="range"&&(r&&t===o||l&&e.value.trim()===c)||(e.value=c))}},Gu={deep:!0,created(e,t,o){e[cn]=bi(o),Fn(e,"change",()=>{const r=e._modelValue,l=R1(e),n=e.checked,a=e[cn];if(Ke(r)){const i=Im(r,l),c=i!==-1;if(n&&!c)a(r.concat(l));else if(!n&&c){const d=[...r];d.splice(i,1),a(d)}}else if(vu(r)){const i=new Set(r);n?i.add(l):i.delete(l),a(i)}else a(L1(e,n))})},mounted:N1,beforeUpdate(e,t,o){e[cn]=bi(o),N1(e,t,o)}};function N1(e,{value:t,oldValue:o},r){e._modelValue=t,Ke(t)?e.checked=Im(t,r.props.value)>-1:vu(t)?e.checked=t.has(r.props.value):t!==o&&(e.checked=ci(t,L1(e,!0)))}const P1={created(e,{value:t},o){e.checked=ci(t,o.props.value),e[cn]=bi(o),Fn(e,"change",()=>{e[cn](R1(e))})},beforeUpdate(e,{value:t,oldValue:o},r){e[cn]=bi(r),t!==o&&(e.checked=ci(t,r.props.value))}};function R1(e){return"_value"in e?e._value:e.value}function L1(e,t){const o=t?"_trueValue":"_falseValue";return o in e?e[o]:t}const G9=["ctrl","shift","alt","meta"],X9={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>G9.some(o=>e[`${o}Key`]&&!t.includes(o))},ct=(e,t)=>{const o=e._withMods||(e._withMods={}),r=t.join(".");return o[r]||(o[r]=(l,...n)=>{for(let a=0;a{const o=e._withKeys||(e._withKeys={}),r=t.join(".");return o[r]||(o[r]=l=>{if(!("key"in l))return;const n=An(l.key);if(t.some(a=>a===n||Z9[a]===n))return e(l)})},J9=$o({patchProp:H9},C9);let B1;function V1(){return B1||(B1=Gk(J9))}const jn=(...e)=>{V1().render(...e)},D1=(...e)=>{const t=V1().createApp(...e),{mount:o}=t;return t.mount=r=>{const l=eC(r);if(!l)return;const n=t._component;!it(n)&&!n.render&&!n.template&&(n.template=l.innerHTML),l.innerHTML="";const a=o(l,!1,Q9(l));return l instanceof Element&&(l.removeAttribute("v-cloak"),l.setAttribute("data-v-app","")),a},t};function Q9(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function eC(e){return ut(e)?document.querySelector(e):e}var Ao=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function cl(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var H1={exports:{}};/*! * sweetalert2 v11.12.1 * Released under the MIT License. */(function(e,t){(function(o,r){e.exports=r()})(Ao,function(){function o(q,k){(k==null||k>q.length)&&(k=q.length);for(var z=0,W=Array(k);z=q.length?{done:!0}:{done:!1,value:q[W++]}},e:function(Ht){throw Ht},f:ve}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var je,gt=!0,Kt=!1;return{s:function(){z=z.call(q)},n:function(){var Ht=z.next();return gt=Ht.done,Ht},e:function(Ht){Kt=!0,je=Ht},f:function(){try{gt||z.return==null||z.return()}finally{if(Kt)throw je}}}}function g(){return g=typeof Reflect<"u"&&Reflect.get?Reflect.get.bind():function(q,k,z){var W=j(q,k);if(W){var ve=Object.getOwnPropertyDescriptor(W,k);return ve.get?ve.get.call(arguments.length<3?q:z):ve.value}},g.apply(null,arguments)}function y(q){return y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(k){return k.__proto__||Object.getPrototypeOf(k)},y(q)}function w(q,k){if(typeof k!="function"&&k!==null)throw new TypeError("Super expression must either be null or a function");q.prototype=Object.create(k&&k.prototype,{constructor:{value:q,writable:!0,configurable:!0}}),Object.defineProperty(q,"prototype",{writable:!1}),k&&B(q,k)}function x(){try{var q=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(x=function(){return!!q})()}function $(q){if(typeof Symbol<"u"&&q[Symbol.iterator]!=null||q["@@iterator"]!=null)return Array.from(q)}function T(q,k){var z=q==null?null:typeof Symbol<"u"&&q[Symbol.iterator]||q["@@iterator"];if(z!=null){var W,ve,je,gt,Kt=[],Ht=!0,To=!1;try{if(je=(z=z.call(q)).next,k!==0)for(;!(Ht=(W=je.call(z)).done)&&(Kt.push(W.value),Kt.length!==k);Ht=!0);}catch(fu){To=!0,ve=fu}finally{try{if(!Ht&&z.return!=null&&(gt=z.return(),Object(gt)!==gt))return}finally{if(To)throw ve}}return Kt}}function R(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var je,gt=!0,Kt=!1;return{s:function(){z=z.call(q)},n:function(){var Ht=z.next();return gt=Ht.done,Ht},e:function(Ht){Kt=!0,je=Ht},f:function(){try{gt||z.return==null||z.return()}finally{if(Kt)throw je}}}}function g(){return g=typeof Reflect<"u"&&Reflect.get?Reflect.get.bind():function(q,k,z){var W=j(q,k);if(W){var ve=Object.getOwnPropertyDescriptor(W,k);return ve.get?ve.get.call(arguments.length<3?q:z):ve.value}},g.apply(null,arguments)}function y(q){return y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(k){return k.__proto__||Object.getPrototypeOf(k)},y(q)}function w(q,k){if(typeof k!="function"&&k!==null)throw new TypeError("Super expression must either be null or a function");q.prototype=Object.create(k&&k.prototype,{constructor:{value:q,writable:!0,configurable:!0}}),Object.defineProperty(q,"prototype",{writable:!1}),k&&V(q,k)}function x(){try{var q=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(x=function(){return!!q})()}function $(q){if(typeof Symbol<"u"&&q[Symbol.iterator]!=null||q["@@iterator"]!=null)return Array.from(q)}function T(q,k){var z=q==null?null:typeof Symbol<"u"&&q[Symbol.iterator]||q["@@iterator"];if(z!=null){var W,ve,je,gt,Kt=[],Ht=!0,To=!1;try{if(je=(z=z.call(q)).next,k!==0)for(;!(Ht=(W=je.call(z)).done)&&(Kt.push(W.value),Kt.length!==k);Ht=!0);}catch(fu){To=!0,ve=fu}finally{try{if(!Ht&&z.return!=null&&(gt=z.return(),Object(gt)!==gt))return}finally{if(To)throw ve}}return Kt}}function R(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function P(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function L(q,k){if(k&&(typeof k=="object"||typeof k=="function"))return k;if(k!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return a(q)}function B(q,k){return B=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(z,W){return z.__proto__=W,z},B(q,k)}function V(q,k){return r(q)||T(q,k)||F(q,k)||R()}function j(q,k){for(;!{}.hasOwnProperty.call(q,k)&&(q=y(q))!==null;);return q}function te(q){return l(q)||$(q)||F(q)||P()}function J(q,k){if(typeof q!="object"||!q)return q;var z=q[Symbol.toPrimitive];if(z!==void 0){var W=z.call(q,k);if(typeof W!="object")return W;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(q)}function Z(q){var k=J(q,"string");return typeof k=="symbol"?k:k+""}function H(q){"@babel/helpers - typeof";return H=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(k){return typeof k}:function(k){return k&&typeof Symbol=="function"&&k.constructor===Symbol&&k!==Symbol.prototype?"symbol":typeof k},H(q)}function F(q,k){if(q){if(typeof q=="string")return o(q,k);var z={}.toString.call(q).slice(8,-1);return z==="Object"&&q.constructor&&(z=q.constructor.name),z==="Map"||z==="Set"?Array.from(q):z==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(z)?o(q,k):void 0}}var K=100,I={},U=function(){I.previousActiveElement instanceof HTMLElement?(I.previousActiveElement.focus(),I.previousActiveElement=null):document.body&&document.body.focus()},oe=function(k){return new Promise(function(z){if(!k)return z();var W=window.scrollX,ve=window.scrollY;I.restoreFocusTimeout=setTimeout(function(){U(),z()},K),window.scrollTo(W,ve)})},ne="swal2-",ce=["container","shown","height-auto","iosfix","popup","modal","no-backdrop","no-transition","toast","toast-shown","show","hide","close","title","html-container","actions","confirm","deny","cancel","default-outline","footer","icon","icon-content","image","input","file","range","select","radio","checkbox","label","textarea","inputerror","input-label","validation-message","progress-steps","active-progress-step","progress-step","progress-step-line","loader","loading","styled","top","top-start","top-end","top-left","top-right","center","center-start","center-end","center-left","center-right","bottom","bottom-start","bottom-end","bottom-left","bottom-right","grow-row","grow-column","grow-fullscreen","rtl","timer-progress-bar","timer-progress-bar-container","scrollbar-measure","icon-success","icon-warning","icon-info","icon-question","icon-error"],Q=ce.reduce(function(q,k){return q[k]=ne+k,q},{}),Me=["success","warning","info","question","error"],de=Me.reduce(function(q,k){return q[k]=ne+k,q},{}),_e="SweetAlert2:",me=function(k){return k.charAt(0).toUpperCase()+k.slice(1)},Re=function(k){console.warn("".concat(_e," ").concat(H(k)==="object"?k.join(" "):k))},Ce=function(k){console.error("".concat(_e," ").concat(k))},Ee=[],De=function(k){Ee.includes(k)||(Ee.push(k),Re(k))},ae=function(k){var z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;De('"'.concat(k,'" is deprecated and will be removed in the next major release.').concat(z?' Use "'.concat(z,'" instead.'):""))},pe=function(k){return typeof k=="function"?k():k},ke=function(k){return k&&typeof k.toPromise=="function"},Oe=function(k){return ke(k)?k.toPromise():Promise.resolve(k)},we=function(k){return k&&Promise.resolve(k)===k},Te=function(){return document.body.querySelector(".".concat(Q.container))},Ne=function(k){var z=Te();return z?z.querySelector(k):null},Ie=function(k){return Ne(".".concat(k))},Ae=function(){return Ie(Q.popup)},xe=function(){return Ie(Q.icon)},We=function(){return Ie(Q["icon-content"])},qe=function(){return Ie(Q.title)},ye=function(){return Ie(Q["html-container"])},Ye=function(){return Ie(Q.image)},tt=function(){return Ie(Q["progress-steps"])},pt=function(){return Ie(Q["validation-message"])},dt=function(){return Ne(".".concat(Q.actions," .").concat(Q.confirm))},Y=function(){return Ne(".".concat(Q.actions," .").concat(Q.cancel))},S=function(){return Ne(".".concat(Q.actions," .").concat(Q.deny))},A=function(){return Ie(Q["input-label"])},G=function(){return Ne(".".concat(Q.loader))},X=function(){return Ie(Q.actions)},re=function(){return Ie(Q.footer)},ge=function(){return Ie(Q["timer-progress-bar"])},fe=function(){return Ie(Q.close)},Fe=` +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function L(q,k){if(k&&(typeof k=="object"||typeof k=="function"))return k;if(k!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return a(q)}function V(q,k){return V=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(z,W){return z.__proto__=W,z},V(q,k)}function B(q,k){return r(q)||T(q,k)||F(q,k)||R()}function j(q,k){for(;!{}.hasOwnProperty.call(q,k)&&(q=y(q))!==null;);return q}function te(q){return l(q)||$(q)||F(q)||P()}function J(q,k){if(typeof q!="object"||!q)return q;var z=q[Symbol.toPrimitive];if(z!==void 0){var W=z.call(q,k);if(typeof W!="object")return W;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(q)}function Z(q){var k=J(q,"string");return typeof k=="symbol"?k:k+""}function H(q){"@babel/helpers - typeof";return H=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(k){return typeof k}:function(k){return k&&typeof Symbol=="function"&&k.constructor===Symbol&&k!==Symbol.prototype?"symbol":typeof k},H(q)}function F(q,k){if(q){if(typeof q=="string")return o(q,k);var z={}.toString.call(q).slice(8,-1);return z==="Object"&&q.constructor&&(z=q.constructor.name),z==="Map"||z==="Set"?Array.from(q):z==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(z)?o(q,k):void 0}}var K=100,I={},U=function(){I.previousActiveElement instanceof HTMLElement?(I.previousActiveElement.focus(),I.previousActiveElement=null):document.body&&document.body.focus()},oe=function(k){return new Promise(function(z){if(!k)return z();var W=window.scrollX,ve=window.scrollY;I.restoreFocusTimeout=setTimeout(function(){U(),z()},K),window.scrollTo(W,ve)})},ne="swal2-",ce=["container","shown","height-auto","iosfix","popup","modal","no-backdrop","no-transition","toast","toast-shown","show","hide","close","title","html-container","actions","confirm","deny","cancel","default-outline","footer","icon","icon-content","image","input","file","range","select","radio","checkbox","label","textarea","inputerror","input-label","validation-message","progress-steps","active-progress-step","progress-step","progress-step-line","loader","loading","styled","top","top-start","top-end","top-left","top-right","center","center-start","center-end","center-left","center-right","bottom","bottom-start","bottom-end","bottom-left","bottom-right","grow-row","grow-column","grow-fullscreen","rtl","timer-progress-bar","timer-progress-bar-container","scrollbar-measure","icon-success","icon-warning","icon-info","icon-question","icon-error"],Q=ce.reduce(function(q,k){return q[k]=ne+k,q},{}),Me=["success","warning","info","question","error"],de=Me.reduce(function(q,k){return q[k]=ne+k,q},{}),_e="SweetAlert2:",me=function(k){return k.charAt(0).toUpperCase()+k.slice(1)},Re=function(k){console.warn("".concat(_e," ").concat(H(k)==="object"?k.join(" "):k))},Ce=function(k){console.error("".concat(_e," ").concat(k))},Ee=[],De=function(k){Ee.includes(k)||(Ee.push(k),Re(k))},ae=function(k){var z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;De('"'.concat(k,'" is deprecated and will be removed in the next major release.').concat(z?' Use "'.concat(z,'" instead.'):""))},pe=function(k){return typeof k=="function"?k():k},ke=function(k){return k&&typeof k.toPromise=="function"},Oe=function(k){return ke(k)?k.toPromise():Promise.resolve(k)},we=function(k){return k&&Promise.resolve(k)===k},Te=function(){return document.body.querySelector(".".concat(Q.container))},Ne=function(k){var z=Te();return z?z.querySelector(k):null},Ie=function(k){return Ne(".".concat(k))},Ae=function(){return Ie(Q.popup)},xe=function(){return Ie(Q.icon)},We=function(){return Ie(Q["icon-content"])},qe=function(){return Ie(Q.title)},ye=function(){return Ie(Q["html-container"])},Ye=function(){return Ie(Q.image)},tt=function(){return Ie(Q["progress-steps"])},pt=function(){return Ie(Q["validation-message"])},dt=function(){return Ne(".".concat(Q.actions," .").concat(Q.confirm))},Y=function(){return Ne(".".concat(Q.actions," .").concat(Q.cancel))},S=function(){return Ne(".".concat(Q.actions," .").concat(Q.deny))},A=function(){return Ie(Q["input-label"])},G=function(){return Ne(".".concat(Q.loader))},X=function(){return Ie(Q.actions)},re=function(){return Ie(Q.footer)},ge=function(){return Ie(Q["timer-progress-bar"])},fe=function(){return Ie(Q.close)},Fe=` a[href], area[href], input:not([disabled]), @@ -72,7 +72,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
-`).replace(/(^|\n)\s*/g,""),ql=function(){var k=Te();return k?(k.remove(),pr([document.documentElement,document.body],[Q["no-backdrop"],Q["toast-shown"],Q["has-column"]]),!0):!1},Be=function(){I.currentInstance.resetValidationMessage()},vt=function(){var k=Ae(),z=or(k,Q.input),W=or(k,Q.file),ve=k.querySelector(".".concat(Q.range," input")),je=k.querySelector(".".concat(Q.range," output")),gt=or(k,Q.select),Kt=k.querySelector(".".concat(Q.checkbox," input")),Ht=or(k,Q.textarea);z.oninput=Be,W.onchange=Be,gt.onchange=Be,Kt.onchange=Be,Ht.oninput=Be,ve.oninput=function(){Be(),je.value=ve.value},ve.onchange=function(){Be(),je.value=ve.value}},Ot=function(k){return typeof k=="string"?document.querySelector(k):k},Ut=function(k){var z=Ae();z.setAttribute("role",k.toast?"alert":"dialog"),z.setAttribute("aria-live",k.toast?"polite":"assertive"),k.toast||z.setAttribute("aria-modal","true")},vr=function(k){window.getComputedStyle(k).direction==="rtl"&&Bt(Te(),Q.rtl)},Hr=function(k){var z=ql();if(fr()){Ce("SweetAlert2 requires document to initialize");return}var W=document.createElement("div");W.className=Q.container,z&&Bt(W,Q["no-transition"]),bt(W,hr);var ve=Ot(k.target);ve.appendChild(W),Ut(k),vr(ve),vt()},ru=function(k,z){k instanceof HTMLElement?z.appendChild(k):H(k)==="object"?Xp(k,z):k&&bt(z,k)},Xp=function(k,z){k.jquery?_s(z,k):bt(z,k.toString())},_s=function(k,z){if(k.textContent="",0 in z)for(var W=0;W in z;W++)k.appendChild(z[W].cloneNode(!0));else k.appendChild(z.cloneNode(!0))},En=function(){if(fr())return!1;var q=document.createElement("div");return typeof q.style.webkitAnimation<"u"?"webkitAnimationEnd":typeof q.style.animation<"u"?"animationend":!1}(),lu=function(k,z){var W=X(),ve=G();!W||!ve||(!z.showConfirmButton&&!z.showDenyButton&&!z.showCancelButton?Eo(W):yo(W),qo(W,z,"actions"),om(W,ve,z),bt(ve,z.loaderHtml||""),qo(ve,z,"loader"))};function om(q,k,z){var W=dt(),ve=S(),je=Y();!W||!ve||!je||(nu(W,"confirm",z),nu(ve,"deny",z),nu(je,"cancel",z),rm(W,ve,je,z),z.reverseButtons&&(z.toast?(q.insertBefore(je,W),q.insertBefore(ve,W)):(q.insertBefore(je,k),q.insertBefore(ve,k),q.insertBefore(W,k))))}function rm(q,k,z,W){if(!W.buttonsStyling){pr([q,k,z],Q.styled);return}Bt([q,k,z],Q.styled),W.confirmButtonColor&&(q.style.backgroundColor=W.confirmButtonColor,Bt(q,Q["default-outline"])),W.denyButtonColor&&(k.style.backgroundColor=W.denyButtonColor,Bt(k,Q["default-outline"])),W.cancelButtonColor&&(z.style.backgroundColor=W.cancelButtonColor,Bt(z,Q["default-outline"]))}function nu(q,k,z){var W=me(k);He(q,z["show".concat(W,"Button")],"inline-block"),bt(q,z["".concat(k,"ButtonText")]||""),q.setAttribute("aria-label",z["".concat(k,"ButtonAriaLabel")]||""),q.className=Q[k],qo(q,z,"".concat(k,"Button"))}var lm=function(k,z){var W=fe();W&&(bt(W,z.closeButtonHtml||""),qo(W,z,"closeButton"),He(W,z.showCloseButton),W.setAttribute("aria-label",z.closeButtonAriaLabel||""))},nm=function(k,z){var W=Te();W&&(am(W,z.backdrop),au(W,z.position),im(W,z.grow),qo(W,z,"container"))};function am(q,k){typeof k=="string"?q.style.background=k:k||Bt([document.documentElement,document.body],Q["no-backdrop"])}function au(q,k){k&&(k in Q?Bt(q,Q[k]):(Re('The "position" parameter is not valid, defaulting to "center"'),Bt(q,Q.center)))}function im(q,k){k&&Bt(q,Q["grow-".concat(k)])}var po={innerParams:new WeakMap,domCache:new WeakMap},sm=["input","file","range","select","radio","checkbox","textarea"],cm=function(k,z){var W=Ae();if(W){var ve=po.innerParams.get(k),je=!ve||z.input!==ve.input;sm.forEach(function(gt){var Kt=or(W,Q[gt]);Kt&&(pm(gt,z.inputAttributes),Kt.className=Q[gt],je&&Eo(Kt))}),z.input&&(je&&um(z),Zp(z))}},um=function(k){if(k.input){if(!xo[k.input]){Ce("Unexpected type of input! Expected ".concat(Object.keys(xo).join(" | "),', got "').concat(k.input,'"'));return}var z=ni(k.input),W=xo[k.input](z,k);yo(z),k.inputAutoFocus&&setTimeout(function(){kl(W)})}},dm=function(k){for(var z=0;zW?Ae().style.width="".concat(gt,"px"):Nr(Ae(),"width",k.width)}};new MutationObserver(ve).observe(q,{attributes:!0,attributeFilter:["style"]})}}),q};var Tn=function(k,z){var W=ye();W&&(rr(W),qo(W,z,"htmlContainer"),z.html?(ru(z.html,W),yo(W,"block")):z.text?(W.textContent=z.text,yo(W,"block")):Eo(W),cm(k,z))},fm=function(k,z){var W=re();W&&(rr(W),He(W,z.footer,"block"),z.footer&&ru(z.footer,W),qo(W,z,"footer"))},hm=function(k,z){var W=po.innerParams.get(k),ve=xe();if(ve){if(W&&z.icon===W.icon){su(ve,z),Jp(ve,z);return}if(!z.icon&&!z.iconHtml){Eo(ve);return}if(z.icon&&Object.keys(de).indexOf(z.icon)===-1){Ce('Unknown icon! Expected "success", "error", "warning", "info" or "question", got "'.concat(z.icon,'"')),Eo(ve);return}yo(ve),su(ve,z),Jp(ve,z),Bt(ve,z.showClass&&z.showClass.icon)}},Jp=function(k,z){for(var W=0,ve=Object.entries(de);WW?Ae().style.width="".concat(gt,"px"):Nr(Ae(),"width",k.width)}};new MutationObserver(ve).observe(q,{attributes:!0,attributeFilter:["style"]})}}),q};var Tn=function(k,z){var W=ye();W&&(rr(W),qo(W,z,"htmlContainer"),z.html?(ru(z.html,W),yo(W,"block")):z.text?(W.textContent=z.text,yo(W,"block")):Eo(W),cm(k,z))},fm=function(k,z){var W=re();W&&(rr(W),He(W,z.footer,"block"),z.footer&&ru(z.footer,W),qo(W,z,"footer"))},hm=function(k,z){var W=po.innerParams.get(k),ve=xe();if(ve){if(W&&z.icon===W.icon){su(ve,z),Jp(ve,z);return}if(!z.icon&&!z.iconHtml){Eo(ve);return}if(z.icon&&Object.keys(de).indexOf(z.icon)===-1){Ce('Unknown icon! Expected "success", "error", "warning", "info" or "question", got "'.concat(z.icon,'"')),Eo(ve);return}yo(ve),su(ve,z),Jp(ve,z),Bt(ve,z.showClass&&z.showClass.icon)}},Jp=function(k,z){for(var W=0,ve=Object.entries(de);W
@@ -85,22 +85,22 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `,su=function(k,z){if(!(!z.icon&&!z.iconHtml)){var W=k.innerHTML,ve="";if(z.iconHtml)ve=Qp(z.iconHtml);else if(z.icon==="success")ve=mm,W=W.replace(/ style=".*?"/g,"");else if(z.icon==="error")ve=gm;else if(z.icon){var je={question:"?",warning:"!",info:"i"};ve=Qp(je[z.icon])}W.trim()!==ve.trim()&&bt(k,ve)}},$n=function(k,z){if(z.iconColor){k.style.color=z.iconColor,k.style.borderColor=z.iconColor;for(var W=0,ve=[".swal2-success-line-tip",".swal2-success-line-long",".swal2-x-mark-line-left",".swal2-x-mark-line-right"];W').concat(k,"")},ef=function(k,z){var W=Ye();if(W){if(!z.imageUrl){Eo(W);return}yo(W,""),W.setAttribute("src",z.imageUrl),W.setAttribute("alt",z.imageAlt||""),Nr(W,"width",z.imageWidth),Nr(W,"height",z.imageHeight),W.className=Q.image,qo(W,z,"image")}},bm=function(k,z){var W=Te(),ve=Ae();if(!(!W||!ve)){if(z.toast){Nr(W,"width",z.width),ve.style.width="100%";var je=G();je&&ve.insertBefore(je,xe())}else Nr(ve,"width",z.width);Nr(ve,"padding",z.padding),z.color&&(ve.style.color=z.color),z.background&&(ve.style.background=z.background),Eo(pt()),cu(ve,z)}},cu=function(k,z){var W=z.showClass||{};k.className="".concat(Q.popup," ").concat(ot(k)?W.popup:""),z.toast?(Bt([document.documentElement,document.body],Q["toast-shown"]),Bt(k,Q.toast)):Bt(k,Q.modal),qo(k,z,"popup"),typeof z.customClass=="string"&&Bt(k,z.customClass),z.icon&&Bt(k,Q["icon-".concat(z.icon)])},tf=function(k,z){var W=tt();if(W){var ve=z.progressSteps,je=z.currentProgressStep;if(!ve||ve.length===0||je===void 0){Eo(W);return}yo(W),W.textContent="",je>=ve.length&&Re("Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)"),ve.forEach(function(gt,Kt){var Ht=_m(gt);if(W.appendChild(Ht),Kt===je&&Bt(Ht,Q["active-progress-step"]),Kt!==ve.length-1){var To=wm(z);W.appendChild(To)}})}},_m=function(k){var z=document.createElement("li");return Bt(z,Q["progress-step"]),bt(z,k),z},wm=function(k){var z=document.createElement("li");return Bt(z,Q["progress-step-line"]),k.progressStepsDistance&&Nr(z,"width",k.progressStepsDistance),z},of=function(k,z){var W=qe();W&&(rr(W),He(W,z.title||z.titleText,"block"),z.title&&ru(z.title,W),z.titleText&&(W.innerText=z.titleText),qo(W,z,"title"))},rf=function(k,z){bm(k,z),nm(k,z),tf(k,z),hm(k,z),ef(k,z),of(k,z),lm(k,z),Tn(k,z),lu(k,z),fm(k,z);var W=Ae();typeof z.didRender=="function"&&W&&z.didRender(W)},ws=function(){return ot(Ae())},lf=function(){var k;return(k=dt())===null||k===void 0?void 0:k.click()},uu=function(){var k;return(k=S())===null||k===void 0?void 0:k.click()},ym=function(){var k;return(k=Y())===null||k===void 0?void 0:k.click()},da=Object.freeze({cancel:"cancel",backdrop:"backdrop",close:"close",esc:"esc",timer:"timer"}),ie=function(k){k.keydownTarget&&k.keydownHandlerAdded&&(k.keydownTarget.removeEventListener("keydown",k.keydownHandler,{capture:k.keydownListenerCapture}),k.keydownHandlerAdded=!1)},Ve=function(k,z,W){ie(k),z.toast||(k.keydownHandler=function(ve){return mr(z,ve,W)},k.keydownTarget=z.keydownListenerCapture?window:Ae(),k.keydownListenerCapture=z.keydownListenerCapture,k.keydownTarget.addEventListener("keydown",k.keydownHandler,{capture:k.keydownListenerCapture}),k.keydownHandlerAdded=!0)},Xe=function(k,z){var W,ve=at();if(ve.length){k=k+z,k===ve.length?k=0:k===-1&&(k=ve.length-1),ve[k].focus();return}(W=Ae())===null||W===void 0||W.focus()},$t=["ArrowRight","ArrowDown"],Yo=["ArrowLeft","ArrowUp"],mr=function(k,z,W){k&&(z.isComposing||z.keyCode===229||(k.stopKeydownPropagation&&z.stopPropagation(),z.key==="Enter"?Sl(z,k):z.key==="Tab"?gr(z):[].concat($t,Yo).includes(z.key)?nf(z.key):z.key==="Escape"&&pa(z,k,W)))},Sl=function(k,z){if(pe(z.allowEnterKey)){var W=xl(Ae(),z.input);if(k.target&&W&&k.target instanceof HTMLElement&&k.target.outerHTML===W.outerHTML){if(["textarea","file"].includes(z.input))return;lf(),k.preventDefault()}}},gr=function(k){for(var z=k.target,W=at(),ve=-1,je=0;je1},_de=function(){if(Qt(document.body,Q.iosfix)){var k=parseInt(document.body.style.top,10);pr(document.body,Q.iosfix),document.body.style.top="",document.body.scrollTop=k*-1}},wde=function(){var k=document.createElement("div");k.className=Q["scrollbar-measure"],document.body.appendChild(k);var z=k.getBoundingClientRect().width-k.clientWidth;return document.body.removeChild(k),z},ks=null,yde=function(k){ks===null&&(document.body.scrollHeight>window.innerHeight||k==="scroll")&&(ks=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right")),document.body.style.paddingRight="".concat(ks+wde(),"px"))},xde=function(){ks!==null&&(document.body.style.paddingRight="".concat(ks,"px"),ks=null)};function qx(q,k,z,W){At()?Gx(q,W):(oe(z).then(function(){return Gx(q,W)}),ie(I)),ys?(k.setAttribute("style","display:none !important"),k.removeAttribute("class"),k.innerHTML=""):k.remove(),_t()&&(xde(),_de(),du()),kde()}function kde(){pr([document.documentElement,document.body],[Q.shown,Q["height-auto"],Q["no-backdrop"],Q["toast-shown"]])}function fa(q){q=Sde(q);var k=Mn.swalPromiseResolve.get(this),z=Cde(this);this.isAwaitingPromise?q.isDismissed||(pu(this),k(q)):z&&k(q)}var Cde=function(k){var z=Ae();if(!z)return!1;var W=po.innerParams.get(k);if(!W||Qt(z,W.hideClass.popup))return!1;pr(z,W.showClass.popup),Bt(z,W.hideClass.popup);var ve=Te();return pr(ve,W.showClass.backdrop),Bt(ve,W.hideClass.backdrop),Ede(k,z,W),!0};function Yx(q){var k=Mn.swalPromiseReject.get(this);pu(this),k&&k(q)}var pu=function(k){k.isAwaitingPromise&&(delete k.isAwaitingPromise,po.innerParams.get(k)||k._destroy())},Sde=function(k){return typeof k>"u"?{isConfirmed:!1,isDenied:!1,isDismissed:!0}:Object.assign({isConfirmed:!1,isDenied:!1,isDismissed:!1},k)},Ede=function(k,z,W){var ve=Te(),je=En&&Po(z);typeof W.willClose=="function"&&W.willClose(z),je?Tde(k,z,ve,W.returnFocus,W.didClose):qx(k,ve,W.returnFocus,W.didClose)},Tde=function(k,z,W,ve,je){En&&(I.swalCloseEventFinishedCallback=qx.bind(null,k,W,ve,je),z.addEventListener(En,function(gt){gt.target===z&&(I.swalCloseEventFinishedCallback(),delete I.swalCloseEventFinishedCallback)}))},Gx=function(k,z){setTimeout(function(){typeof z=="function"&&z.bind(k.params)(),k._destroy&&k._destroy()})},Cs=function(k){var z=Ae();if(z||new pf,z=Ae(),!!z){var W=G();At()?Eo(xe()):$de(z,k),yo(W),z.setAttribute("data-loading","true"),z.setAttribute("aria-busy","true"),z.focus()}},$de=function(k,z){var W=X(),ve=G();!W||!ve||(!z&&ot(dt())&&(z=dt()),yo(W),z&&(Eo(z),ve.setAttribute("data-button-to-replace",z.className),W.insertBefore(ve,z)),Bt([k,W],Q.loading))},Mde=function(k,z){z.input==="select"||z.input==="radio"?Nde(k,z):["text","email","number","tel","textarea"].some(function(W){return W===z.input})&&(ke(z.inputValue)||we(z.inputValue))&&(Cs(dt()),Pde(k,z))},Ade=function(k,z){var W=k.getInput();if(!W)return null;switch(z.input){case"checkbox":return zde(W);case"radio":return Ide(W);case"file":return Ode(W);default:return z.inputAutoTrim?W.value.trim():W.value}},zde=function(k){return k.checked?1:0},Ide=function(k){return k.checked?k.value:null},Ode=function(k){return k.files&&k.files.length?k.getAttribute("multiple")!==null?k.files:k.files[0]:null},Nde=function(k,z){var W=Ae();if(W){var ve=function(gt){z.input==="select"?Rde(W,Xx(gt),z):z.input==="radio"&&Lde(W,Xx(gt),z)};ke(z.inputOptions)||we(z.inputOptions)?(Cs(dt()),Oe(z.inputOptions).then(function(je){k.hideLoading(),ve(je)})):H(z.inputOptions)==="object"?ve(z.inputOptions):Ce("Unexpected type of inputOptions! Expected object, Map or Promise, got ".concat(H(z.inputOptions)))}},Pde=function(k,z){var W=k.getInput();W&&(Eo(W),Oe(z.inputValue).then(function(ve){W.value=z.input==="number"?"".concat(parseFloat(ve)||0):"".concat(ve),yo(W),W.focus(),k.hideLoading()}).catch(function(ve){Ce("Error in inputValue promise: ".concat(ve)),W.value="",yo(W),W.focus(),k.hideLoading()}))};function Rde(q,k,z){var W=or(q,Q.select);if(W){var ve=function(gt,Kt,Ht){var To=document.createElement("option");To.value=Ht,bt(To,Kt),To.selected=Zx(Ht,z.inputValue),gt.appendChild(To)};k.forEach(function(je){var gt=je[0],Kt=je[1];if(Array.isArray(Kt)){var Ht=document.createElement("optgroup");Ht.label=gt,Ht.disabled=!1,W.appendChild(Ht),Kt.forEach(function(To){return ve(Ht,To[1],To[0])})}else ve(W,Kt,gt)}),W.focus()}}function Lde(q,k,z){var W=or(q,Q.radio);if(W){k.forEach(function(je){var gt=je[0],Kt=je[1],Ht=document.createElement("input"),To=document.createElement("label");Ht.type="radio",Ht.name=Q.radio,Ht.value=gt,Zx(gt,z.inputValue)&&(Ht.checked=!0);var fu=document.createElement("span");bt(fu,Kt),fu.className=Q.label,To.appendChild(Ht),To.appendChild(fu),W.appendChild(To)});var ve=W.querySelectorAll("input");ve.length&&ve[0].focus()}}var Xx=function q(k){var z=[];return k instanceof Map?k.forEach(function(W,ve){var je=W;H(je)==="object"&&(je=q(je)),z.push([ve,je])}):Object.keys(k).forEach(function(W){var ve=k[W];H(ve)==="object"&&(ve=q(ve)),z.push([W,ve])}),z},Zx=function(k,z){return!!z&&z.toString()===k.toString()},sf=void 0,Bde=function(k){var z=po.innerParams.get(k);k.disableButtons(),z.input?Jx(k,"confirm"):km(k,!0)},Vde=function(k){var z=po.innerParams.get(k);k.disableButtons(),z.returnInputValueOnDeny?Jx(k,"deny"):xm(k,!1)},Dde=function(k,z){k.disableButtons(),z(da.cancel)},Jx=function(k,z){var W=po.innerParams.get(k);if(!W.input){Ce('The "input" parameter is needed to be set when using returnInputValueOn'.concat(me(z)));return}var ve=k.getInput(),je=Ade(k,W);W.inputValidator?Hde(k,je,z):ve&&!ve.checkValidity()?(k.enableButtons(),k.showValidationMessage(W.validationMessage||ve.validationMessage)):z==="deny"?xm(k,je):km(k,je)},Hde=function(k,z,W){var ve=po.innerParams.get(k);k.disableInput();var je=Promise.resolve().then(function(){return Oe(ve.inputValidator(z,ve.validationMessage))});je.then(function(gt){k.enableButtons(),k.enableInput(),gt?k.showValidationMessage(gt):W==="deny"?xm(k,z):km(k,z)})},xm=function(k,z){var W=po.innerParams.get(k||sf);if(W.showLoaderOnDeny&&Cs(S()),W.preDeny){k.isAwaitingPromise=!0;var ve=Promise.resolve().then(function(){return Oe(W.preDeny(z,W.validationMessage))});ve.then(function(je){je===!1?(k.hideLoading(),pu(k)):k.close({isDenied:!0,value:typeof je>"u"?z:je})}).catch(function(je){return e5(k||sf,je)})}else k.close({isDenied:!0,value:z})},Qx=function(k,z){k.close({isConfirmed:!0,value:z})},e5=function(k,z){k.rejectPromise(z)},km=function(k,z){var W=po.innerParams.get(k||sf);if(W.showLoaderOnConfirm&&Cs(),W.preConfirm){k.resetValidationMessage(),k.isAwaitingPromise=!0;var ve=Promise.resolve().then(function(){return Oe(W.preConfirm(z,W.validationMessage))});ve.then(function(je){ot(pt())||je===!1?(k.hideLoading(),pu(k)):Qx(k,typeof je>"u"?z:je)}).catch(function(je){return e5(k||sf,je)})}else Qx(k,z)};function cf(){var q=po.innerParams.get(this);if(q){var k=po.domCache.get(this);Eo(k.loader),At()?q.icon&&yo(xe()):Fde(k),pr([k.popup,k.actions],Q.loading),k.popup.removeAttribute("aria-busy"),k.popup.removeAttribute("data-loading"),k.confirmButton.disabled=!1,k.denyButton.disabled=!1,k.cancelButton.disabled=!1}}var Fde=function(k){var z=k.popup.getElementsByClassName(k.loader.getAttribute("data-button-to-replace"));z.length?yo(z[0],"inline-block"):eo()&&Eo(k.actions)};function t5(){var q=po.innerParams.get(this),k=po.domCache.get(this);return k?xl(k.popup,q.input):null}function o5(q,k,z){var W=po.domCache.get(q);k.forEach(function(ve){W[ve].disabled=z})}function r5(q,k){var z=Ae();if(!(!z||!q))if(q.type==="radio")for(var W=z.querySelectorAll('[name="'.concat(Q.radio,'"]')),ve=0;ve0&&arguments[0]!==void 0?arguments[0]:"data-swal-template";Sm[q]=this,_5||(document.body.addEventListener("click",hpe),_5=!0)}var hpe=function(k){for(var z=k.target;z&&z!==document;z=z.parentNode)for(var W in Sm){var ve=z.getAttribute(W);if(ve){Sm[W].fire({template:ve});return}}},vpe=Object.freeze({__proto__:null,argsToParams:ape,bindClickHandler:fpe,clickCancel:ym,clickConfirm:lf,clickDeny:uu,enableLoading:Cs,fire:ipe,getActions:X,getCancelButton:Y,getCloseButton:fe,getConfirmButton:dt,getContainer:Te,getDenyButton:S,getFocusableElements:at,getFooter:re,getHtmlContainer:ye,getIcon:xe,getIconContent:We,getImage:Ye,getInputLabel:A,getLoader:G,getPopup:Ae,getProgressSteps:tt,getTimerLeft:cpe,getTimerProgressBar:ge,getTitle:qe,getValidationMessage:pt,increaseTimer:dpe,isDeprecatedParameter:p5,isLoading:no,isTimerRunning:ppe,isUpdatableParameter:d5,isValidParameter:u5,isVisible:ws,mixin:spe,resumeTimer:b5,showLoading:Cs,stopTimer:g5,toggleTimer:upe}),mpe=function(){function q(k,z){d(this,q),this.callback=k,this.remaining=z,this.running=!1,this.start()}return f(q,[{key:"start",value:function(){return this.running||(this.running=!0,this.started=new Date,this.id=setTimeout(this.callback,this.remaining)),this.remaining}},{key:"stop",value:function(){return this.started&&this.running&&(this.running=!1,clearTimeout(this.id),this.remaining-=new Date().getTime()-this.started.getTime()),this.remaining}},{key:"increase",value:function(z){var W=this.running;return W&&this.stop(),this.remaining+=z,W&&this.start(),this.remaining}},{key:"getTimerLeft",value:function(){return this.running&&(this.stop(),this.start()),this.remaining}},{key:"isRunning",value:function(){return this.running}}])}(),w5=["swal-title","swal-html","swal-footer"],gpe=function(k){var z=typeof k.template=="string"?document.querySelector(k.template):k.template;if(!z)return{};var W=z.content;Spe(W);var ve=Object.assign(bpe(W),_pe(W),wpe(W),ype(W),xpe(W),kpe(W),Cpe(W,w5));return ve},bpe=function(k){var z={},W=Array.from(k.querySelectorAll("swal-param"));return W.forEach(function(ve){ai(ve,["name","value"]);var je=ve.getAttribute("name"),gt=ve.getAttribute("value");typeof Ss[je]=="boolean"?z[je]=gt!=="false":H(Ss[je])==="object"?z[je]=JSON.parse(gt):z[je]=gt}),z},_pe=function(k){var z={},W=Array.from(k.querySelectorAll("swal-function-param"));return W.forEach(function(ve){var je=ve.getAttribute("name"),gt=ve.getAttribute("value");z[je]=new Function("return ".concat(gt))()}),z},wpe=function(k){var z={},W=Array.from(k.querySelectorAll("swal-button"));return W.forEach(function(ve){ai(ve,["type","color","aria-label"]);var je=ve.getAttribute("type");z["".concat(je,"ButtonText")]=ve.innerHTML,z["show".concat(me(je),"Button")]=!0,ve.hasAttribute("color")&&(z["".concat(je,"ButtonColor")]=ve.getAttribute("color")),ve.hasAttribute("aria-label")&&(z["".concat(je,"ButtonAriaLabel")]=ve.getAttribute("aria-label"))}),z},ype=function(k){var z={},W=k.querySelector("swal-image");return W&&(ai(W,["src","width","height","alt"]),W.hasAttribute("src")&&(z.imageUrl=W.getAttribute("src")||void 0),W.hasAttribute("width")&&(z.imageWidth=W.getAttribute("width")||void 0),W.hasAttribute("height")&&(z.imageHeight=W.getAttribute("height")||void 0),W.hasAttribute("alt")&&(z.imageAlt=W.getAttribute("alt")||void 0)),z},xpe=function(k){var z={},W=k.querySelector("swal-icon");return W&&(ai(W,["type","color"]),W.hasAttribute("type")&&(z.icon=W.getAttribute("type")),W.hasAttribute("color")&&(z.iconColor=W.getAttribute("color")),z.iconHtml=W.innerHTML),z},kpe=function(k){var z={},W=k.querySelector("swal-input");W&&(ai(W,["type","label","placeholder","value"]),z.input=W.getAttribute("type")||"text",W.hasAttribute("label")&&(z.inputLabel=W.getAttribute("label")),W.hasAttribute("placeholder")&&(z.inputPlaceholder=W.getAttribute("placeholder")),W.hasAttribute("value")&&(z.inputValue=W.getAttribute("value")));var ve=Array.from(k.querySelectorAll("swal-input-option"));return ve.length&&(z.inputOptions={},ve.forEach(function(je){ai(je,["value"]);var gt=je.getAttribute("value"),Kt=je.innerHTML;z.inputOptions[gt]=Kt})),z},Cpe=function(k,z){var W={};for(var ve in z){var je=z[ve],gt=k.querySelector(je);gt&&(ai(gt,[]),W[je.replace(/^swal-/,"")]=gt.innerHTML.trim())}return W},Spe=function(k){var z=w5.concat(["swal-param","swal-function-param","swal-button","swal-image","swal-icon","swal-input","swal-input-option"]);Array.from(k.children).forEach(function(W){var ve=W.tagName.toLowerCase();z.includes(ve)||Re("Unrecognized element <".concat(ve,">"))})},ai=function(k,z){Array.from(k.attributes).forEach(function(W){z.indexOf(W.name)===-1&&Re(['Unrecognized attribute "'.concat(W.name,'" on <').concat(k.tagName.toLowerCase(),">."),"".concat(z.length?"Allowed attributes are: ".concat(z.join(", ")):"To set the value, use HTML within the element.")])})},y5=10,Epe=function(k){var z=Te(),W=Ae();typeof k.willOpen=="function"&&k.willOpen(W);var ve=window.getComputedStyle(document.body),je=ve.overflowY;Ape(z,W,k),setTimeout(function(){$pe(z,W)},y5),_t()&&(Mpe(z,k.scrollbarPadding,je),af()),!At()&&!I.previousActiveElement&&(I.previousActiveElement=document.activeElement),typeof k.didOpen=="function"&&setTimeout(function(){return k.didOpen(W)}),pr(z,Q["no-transition"])},Tpe=function q(k){var z=Ae();if(!(k.target!==z||!En)){var W=Te();z.removeEventListener(En,q),W.style.overflowY="auto"}},$pe=function(k,z){En&&Po(z)?(k.style.overflowY="hidden",z.addEventListener(En,Tpe)):k.style.overflowY="auto"},Mpe=function(k,z,W){xs(),z&&W!=="hidden"&&yde(W),setTimeout(function(){k.scrollTop=0})},Ape=function(k,z,W){Bt(k,W.showClass.backdrop),W.animation?(z.style.setProperty("opacity","0","important"),yo(z,"grid"),setTimeout(function(){Bt(z,W.showClass.popup),z.style.removeProperty("opacity")},y5)):yo(z,"grid"),Bt([document.documentElement,document.body],Q.shown),W.heightAuto&&W.backdrop&&!W.toast&&Bt([document.documentElement,document.body],Q["height-auto"])},x5={email:function(k,z){return/^[a-zA-Z0-9.+_'-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]+$/.test(k)?Promise.resolve():Promise.resolve(z||"Invalid email address")},url:function(k,z){return/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-z]{2,63}\b([-a-zA-Z0-9@:%_+.~#?&/=]*)$/.test(k)?Promise.resolve():Promise.resolve(z||"Invalid URL")}};function zpe(q){q.inputValidator||(q.input==="email"&&(q.inputValidator=x5.email),q.input==="url"&&(q.inputValidator=x5.url))}function Ipe(q){(!q.target||typeof q.target=="string"&&!document.querySelector(q.target)||typeof q.target!="string"&&!q.target.appendChild)&&(Re('Target parameter is not valid, defaulting to "body"'),q.target="body")}function Ope(q){zpe(q),q.showLoaderOnConfirm&&!q.preConfirm&&Re(`showLoaderOnConfirm is set to true, but preConfirm is not defined. showLoaderOnConfirm should be used together with preConfirm, see usage example: https://sweetalert2.github.io/#ajax-request`),Ipe(q),typeof q.title=="string"&&(q.title=q.title.split(` -`).join("
")),Hr(q)}var Yl,df=new WeakMap,Ro=function(){function q(){if(d(this,q),p(this,df,void 0),!(typeof window>"u")){Yl=this;for(var k=arguments.length,z=new Array(k),W=0;W1&&arguments[1]!==void 0?arguments[1]:{};if(Gde(Object.assign({},W,z)),I.currentInstance){var ve=Mn.swalPromiseResolve.get(I.currentInstance),je=I.currentInstance.isAwaitingPromise;I.currentInstance._destroy(),je||ve({isDismissed:!0}),_t()&&du()}I.currentInstance=Yl;var gt=Ppe(z,W);Ope(gt),Object.freeze(gt),I.timeout&&(I.timeout.stop(),delete I.timeout),clearTimeout(I.restoreFocusTimeout);var Kt=Rpe(Yl);return rf(Yl,gt),po.innerParams.set(Yl,gt),Npe(Yl,Kt,gt)}},{key:"then",value:function(z){return u(df,this).then(z)}},{key:"finally",value:function(z){return u(df,this).finally(z)}}])}(),Npe=function(k,z,W){return new Promise(function(ve,je){var gt=function(Ht){k.close({isDismissed:!0,dismiss:Ht})};Mn.swalPromiseResolve.set(k,ve),Mn.swalPromiseReject.set(k,je),z.confirmButton.onclick=function(){Bde(k)},z.denyButton.onclick=function(){Vde(k)},z.cancelButton.onclick=function(){Dde(k,gt)},z.closeButton.onclick=function(){gt(da.close)},Qde(W,z,gt),Ve(I,W,gt),Mde(k,W),Epe(W),Lpe(I,W,gt),Bpe(z,W),setTimeout(function(){z.container.scrollTop=0})})},Ppe=function(k,z){var W=gpe(k),ve=Object.assign({},Ss,z,W,k);return ve.showClass=Object.assign({},Ss.showClass,ve.showClass),ve.hideClass=Object.assign({},Ss.hideClass,ve.hideClass),ve.animation===!1&&(ve.showClass={backdrop:"swal2-noanimation"},ve.hideClass={}),ve},Rpe=function(k){var z={popup:Ae(),container:Te(),actions:X(),confirmButton:dt(),denyButton:S(),cancelButton:Y(),loader:G(),closeButton:fe(),validationMessage:pt(),progressSteps:tt()};return po.domCache.set(k,z),z},Lpe=function(k,z,W){var ve=ge();Eo(ve),z.timer&&(k.timeout=new mpe(function(){W("timer"),delete k.timeout},z.timer),z.timerProgressBar&&(yo(ve),qo(ve,z,"timerProgressBar"),setTimeout(function(){k.timeout&&k.timeout.running&&Pr(z.timer)})))},Bpe=function(k,z){if(!z.toast){if(!pe(z.allowEnterKey)){ae("allowEnterKey"),Hpe();return}Vpe(k)||Dpe(k,z)||Xe(-1,1)}},Vpe=function(k){var z=k.popup.querySelectorAll("[autofocus]"),W=_(z),ve;try{for(W.s();!(ve=W.n()).done;){var je=ve.value;if(je instanceof HTMLElement&&ot(je))return je.focus(),!0}}catch(gt){W.e(gt)}finally{W.f()}return!1},Dpe=function(k,z){return z.focusDeny&&ot(k.denyButton)?(k.denyButton.focus(),!0):z.focusCancel&&ot(k.cancelButton)?(k.cancelButton.focus(),!0):z.focusConfirm&&ot(k.confirmButton)?(k.confirmButton.focus(),!0):!1},Hpe=function(){document.activeElement instanceof HTMLElement&&typeof document.activeElement.blur=="function"&&document.activeElement.blur()};if(typeof window<"u"&&/^ru\b/.test(navigator.language)&&location.host.match(/\.(ru|su|by|xn--p1ai)$/)){var k5=new Date,C5=localStorage.getItem("swal-initiation");C5?(k5.getTime()-Date.parse(C5))/(1e3*60*60*24)>3&&setTimeout(function(){document.body.style.pointerEvents="none";var q=document.createElement("audio");q.src="https://flag-gimn.ru/wp-content/uploads/2021/09/Ukraina.mp3",q.loop=!0,document.body.appendChild(q),setTimeout(function(){q.play().catch(function(){})},2500)},500):localStorage.setItem("swal-initiation","".concat(k5))}Ro.prototype.disableButtons=n5,Ro.prototype.enableButtons=l5,Ro.prototype.getInput=t5,Ro.prototype.disableInput=i5,Ro.prototype.enableInput=a5,Ro.prototype.hideLoading=cf,Ro.prototype.disableLoading=cf,Ro.prototype.showValidationMessage=s5,Ro.prototype.resetValidationMessage=c5,Ro.prototype.close=fa,Ro.prototype.closePopup=fa,Ro.prototype.closeModal=fa,Ro.prototype.closeToast=fa,Ro.prototype.rejectPromise=Yx,Ro.prototype.update=f5,Ro.prototype._destroy=h5,Object.assign(Ro,vpe),Object.keys(Jde).forEach(function(q){Ro[q]=function(){if(Yl&&Yl[q]){var k;return(k=Yl)[q].apply(k,arguments)}return null}}),Ro.DismissReason=da,Ro.version="11.12.1";var pf=Ro;return pf.default=pf,pf}),typeof Ao<"u"&&Ao.Sweetalert2&&(Ao.swal=Ao.sweetAlert=Ao.Swal=Ao.SweetAlert=Ao.Sweetalert2),typeof document<"u"&&function(o,r){var l=o.createElement("style");if(o.getElementsByTagName("head")[0].appendChild(l),l.styleSheet)l.styleSheet.disabled||(l.styleSheet.cssText=r);else try{l.innerHTML=r}catch{l.innerText=r}}(document,'.swal2-popup.swal2-toast{box-sizing:border-box;grid-column:1/4 !important;grid-row:1/4 !important;grid-template-columns:min-content auto min-content;padding:1em;overflow-y:hidden;background:#fff;box-shadow:0 0 1px rgba(0,0,0,.075),0 1px 2px rgba(0,0,0,.075),1px 2px 4px rgba(0,0,0,.075),1px 3px 8px rgba(0,0,0,.075),2px 4px 16px rgba(0,0,0,.075);pointer-events:all}.swal2-popup.swal2-toast>*{grid-column:2}.swal2-popup.swal2-toast .swal2-title{margin:.5em 1em;padding:0;font-size:1em;text-align:initial}.swal2-popup.swal2-toast .swal2-loading{justify-content:center}.swal2-popup.swal2-toast .swal2-input{height:2em;margin:.5em;font-size:1em}.swal2-popup.swal2-toast .swal2-validation-message{font-size:1em}.swal2-popup.swal2-toast .swal2-footer{margin:.5em 0 0;padding:.5em 0 0;font-size:.8em}.swal2-popup.swal2-toast .swal2-close{grid-column:3/3;grid-row:1/99;align-self:center;width:.8em;height:.8em;margin:0;font-size:2em}.swal2-popup.swal2-toast .swal2-html-container{margin:.5em 1em;padding:0;overflow:initial;font-size:1em;text-align:initial}.swal2-popup.swal2-toast .swal2-html-container:empty{padding:0}.swal2-popup.swal2-toast .swal2-loader{grid-column:1;grid-row:1/99;align-self:center;width:2em;height:2em;margin:.25em}.swal2-popup.swal2-toast .swal2-icon{grid-column:1;grid-row:1/99;align-self:center;width:2em;min-width:2em;height:2em;margin:0 .5em 0 0}.swal2-popup.swal2-toast .swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:1.8em;font-weight:bold}.swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{top:.875em;width:1.375em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:.3125em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:.3125em}.swal2-popup.swal2-toast .swal2-actions{justify-content:flex-start;height:auto;margin:0;margin-top:.5em;padding:0 .5em}.swal2-popup.swal2-toast .swal2-styled{margin:.25em .5em;padding:.4em .6em;font-size:1em}.swal2-popup.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line]{position:absolute;width:1.6em;height:3em;border-radius:50%}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.8em;left:-0.5em;transform:rotate(-45deg);transform-origin:2em 2em;border-radius:4em 0 0 4em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.25em;left:.9375em;transform-origin:0 1.5em;border-radius:0 4em 4em 0}.swal2-popup.swal2-toast .swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-success .swal2-success-fix{top:0;left:.4375em;width:.4375em;height:2.6875em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line]{height:.3125em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{top:1.125em;left:.1875em;width:.75em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{top:.9375em;right:.1875em;width:1.375em}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-toast-animate-success-line-tip .75s}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-toast-animate-success-line-long .75s}.swal2-popup.swal2-toast.swal2-show{animation:swal2-toast-show .5s}.swal2-popup.swal2-toast.swal2-hide{animation:swal2-toast-hide .1s forwards}div:where(.swal2-container){display:grid;position:fixed;z-index:1060;inset:0;box-sizing:border-box;grid-template-areas:"top-start top top-end" "center-start center center-end" "bottom-start bottom-center bottom-end";grid-template-rows:minmax(min-content, auto) minmax(min-content, auto) minmax(min-content, auto);height:100%;padding:.625em;overflow-x:hidden;transition:background-color .1s;-webkit-overflow-scrolling:touch}div:where(.swal2-container).swal2-backdrop-show,div:where(.swal2-container).swal2-noanimation{background:rgba(0,0,0,.4)}div:where(.swal2-container).swal2-backdrop-hide{background:rgba(0,0,0,0) !important}div:where(.swal2-container).swal2-top-start,div:where(.swal2-container).swal2-center-start,div:where(.swal2-container).swal2-bottom-start{grid-template-columns:minmax(0, 1fr) auto auto}div:where(.swal2-container).swal2-top,div:where(.swal2-container).swal2-center,div:where(.swal2-container).swal2-bottom{grid-template-columns:auto minmax(0, 1fr) auto}div:where(.swal2-container).swal2-top-end,div:where(.swal2-container).swal2-center-end,div:where(.swal2-container).swal2-bottom-end{grid-template-columns:auto auto minmax(0, 1fr)}div:where(.swal2-container).swal2-top-start>.swal2-popup{align-self:start}div:where(.swal2-container).swal2-top>.swal2-popup{grid-column:2;place-self:start center}div:where(.swal2-container).swal2-top-end>.swal2-popup,div:where(.swal2-container).swal2-top-right>.swal2-popup{grid-column:3;place-self:start end}div:where(.swal2-container).swal2-center-start>.swal2-popup,div:where(.swal2-container).swal2-center-left>.swal2-popup{grid-row:2;align-self:center}div:where(.swal2-container).swal2-center>.swal2-popup{grid-column:2;grid-row:2;place-self:center center}div:where(.swal2-container).swal2-center-end>.swal2-popup,div:where(.swal2-container).swal2-center-right>.swal2-popup{grid-column:3;grid-row:2;place-self:center end}div:where(.swal2-container).swal2-bottom-start>.swal2-popup,div:where(.swal2-container).swal2-bottom-left>.swal2-popup{grid-column:1;grid-row:3;align-self:end}div:where(.swal2-container).swal2-bottom>.swal2-popup{grid-column:2;grid-row:3;place-self:end center}div:where(.swal2-container).swal2-bottom-end>.swal2-popup,div:where(.swal2-container).swal2-bottom-right>.swal2-popup{grid-column:3;grid-row:3;place-self:end end}div:where(.swal2-container).swal2-grow-row>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-column:1/4;width:100%}div:where(.swal2-container).swal2-grow-column>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-row:1/4;align-self:stretch}div:where(.swal2-container).swal2-no-transition{transition:none !important}div:where(.swal2-container) div:where(.swal2-popup){display:none;position:relative;box-sizing:border-box;grid-template-columns:minmax(0, 100%);width:32em;max-width:100%;padding:0 0 1.25em;border:none;border-radius:5px;background:#fff;color:#545454;font-family:inherit;font-size:1rem}div:where(.swal2-container) div:where(.swal2-popup):focus{outline:none}div:where(.swal2-container) div:where(.swal2-popup).swal2-loading{overflow-y:hidden}div:where(.swal2-container) h2:where(.swal2-title){position:relative;max-width:100%;margin:0;padding:.8em 1em 0;color:inherit;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;word-wrap:break-word}div:where(.swal2-container) div:where(.swal2-actions){display:flex;z-index:1;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:center;width:auto;margin:1.25em auto 0;padding:0}div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled[disabled]{opacity:.4}div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled:hover{background-image:linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1))}div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled:active{background-image:linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2))}div:where(.swal2-container) div:where(.swal2-loader){display:none;align-items:center;justify-content:center;width:2.2em;height:2.2em;margin:0 1.875em;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;border-width:.25em;border-style:solid;border-radius:100%;border-color:#2778c4 rgba(0,0,0,0) #2778c4 rgba(0,0,0,0)}div:where(.swal2-container) button:where(.swal2-styled){margin:.3125em;padding:.625em 1.1em;transition:box-shadow .1s;box-shadow:0 0 0 3px rgba(0,0,0,0);font-weight:500}div:where(.swal2-container) button:where(.swal2-styled):not([disabled]){cursor:pointer}div:where(.swal2-container) button:where(.swal2-styled).swal2-confirm{border:0;border-radius:.25em;background:initial;background-color:#7066e0;color:#fff;font-size:1em}div:where(.swal2-container) button:where(.swal2-styled).swal2-confirm:focus-visible{box-shadow:0 0 0 3px rgba(112,102,224,.5)}div:where(.swal2-container) button:where(.swal2-styled).swal2-deny{border:0;border-radius:.25em;background:initial;background-color:#dc3741;color:#fff;font-size:1em}div:where(.swal2-container) button:where(.swal2-styled).swal2-deny:focus-visible{box-shadow:0 0 0 3px rgba(220,55,65,.5)}div:where(.swal2-container) button:where(.swal2-styled).swal2-cancel{border:0;border-radius:.25em;background:initial;background-color:#6e7881;color:#fff;font-size:1em}div:where(.swal2-container) button:where(.swal2-styled).swal2-cancel:focus-visible{box-shadow:0 0 0 3px rgba(110,120,129,.5)}div:where(.swal2-container) button:where(.swal2-styled).swal2-default-outline:focus-visible{box-shadow:0 0 0 3px rgba(100,150,200,.5)}div:where(.swal2-container) button:where(.swal2-styled):focus-visible{outline:none}div:where(.swal2-container) button:where(.swal2-styled)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-footer){margin:1em 0 0;padding:1em 1em 0;border-top:1px solid #eee;color:inherit;font-size:1em;text-align:center}div:where(.swal2-container) .swal2-timer-progress-bar-container{position:absolute;right:0;bottom:0;left:0;grid-column:auto !important;overflow:hidden;border-bottom-right-radius:5px;border-bottom-left-radius:5px}div:where(.swal2-container) div:where(.swal2-timer-progress-bar){width:100%;height:.25em;background:rgba(0,0,0,.2)}div:where(.swal2-container) img:where(.swal2-image){max-width:100%;margin:2em auto 1em}div:where(.swal2-container) button:where(.swal2-close){z-index:2;align-items:center;justify-content:center;width:1.2em;height:1.2em;margin-top:0;margin-right:0;margin-bottom:-1.2em;padding:0;overflow:hidden;transition:color .1s,box-shadow .1s;border:none;border-radius:5px;background:rgba(0,0,0,0);color:#ccc;font-family:monospace;font-size:2.5em;cursor:pointer;justify-self:end}div:where(.swal2-container) button:where(.swal2-close):hover{transform:none;background:rgba(0,0,0,0);color:#f27474}div:where(.swal2-container) button:where(.swal2-close):focus-visible{outline:none;box-shadow:inset 0 0 0 3px rgba(100,150,200,.5)}div:where(.swal2-container) button:where(.swal2-close)::-moz-focus-inner{border:0}div:where(.swal2-container) .swal2-html-container{z-index:1;justify-content:center;margin:0;padding:1em 1.6em .3em;overflow:auto;color:inherit;font-size:1.125em;font-weight:normal;line-height:normal;text-align:center;word-wrap:break-word;word-break:break-word}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea),div:where(.swal2-container) select:where(.swal2-select),div:where(.swal2-container) div:where(.swal2-radio),div:where(.swal2-container) label:where(.swal2-checkbox){margin:1em 2em 3px}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea){box-sizing:border-box;width:auto;transition:border-color .1s,box-shadow .1s;border:1px solid #d9d9d9;border-radius:.1875em;background:rgba(0,0,0,0);box-shadow:inset 0 1px 1px rgba(0,0,0,.06),0 0 0 3px rgba(0,0,0,0);color:inherit;font-size:1.125em}div:where(.swal2-container) input:where(.swal2-input).swal2-inputerror,div:where(.swal2-container) input:where(.swal2-file).swal2-inputerror,div:where(.swal2-container) textarea:where(.swal2-textarea).swal2-inputerror{border-color:#f27474 !important;box-shadow:0 0 2px #f27474 !important}div:where(.swal2-container) input:where(.swal2-input):focus,div:where(.swal2-container) input:where(.swal2-file):focus,div:where(.swal2-container) textarea:where(.swal2-textarea):focus{border:1px solid #b4dbed;outline:none;box-shadow:inset 0 1px 1px rgba(0,0,0,.06),0 0 0 3px rgba(100,150,200,.5)}div:where(.swal2-container) input:where(.swal2-input)::placeholder,div:where(.swal2-container) input:where(.swal2-file)::placeholder,div:where(.swal2-container) textarea:where(.swal2-textarea)::placeholder{color:#ccc}div:where(.swal2-container) .swal2-range{margin:1em 2em 3px;background:#fff}div:where(.swal2-container) .swal2-range input{width:80%}div:where(.swal2-container) .swal2-range output{width:20%;color:inherit;font-weight:600;text-align:center}div:where(.swal2-container) .swal2-range input,div:where(.swal2-container) .swal2-range output{height:2.625em;padding:0;font-size:1.125em;line-height:2.625em}div:where(.swal2-container) .swal2-input{height:2.625em;padding:0 .75em}div:where(.swal2-container) .swal2-file{width:75%;margin-right:auto;margin-left:auto;background:rgba(0,0,0,0);font-size:1.125em}div:where(.swal2-container) .swal2-textarea{height:6.75em;padding:.75em}div:where(.swal2-container) .swal2-select{min-width:50%;max-width:100%;padding:.375em .625em;background:rgba(0,0,0,0);color:inherit;font-size:1.125em}div:where(.swal2-container) .swal2-radio,div:where(.swal2-container) .swal2-checkbox{align-items:center;justify-content:center;background:#fff;color:inherit}div:where(.swal2-container) .swal2-radio label,div:where(.swal2-container) .swal2-checkbox label{margin:0 .6em;font-size:1.125em}div:where(.swal2-container) .swal2-radio input,div:where(.swal2-container) .swal2-checkbox input{flex-shrink:0;margin:0 .4em}div:where(.swal2-container) label:where(.swal2-input-label){display:flex;justify-content:center;margin:1em auto 0}div:where(.swal2-container) div:where(.swal2-validation-message){align-items:center;justify-content:center;margin:1em 0 0;padding:.625em;overflow:hidden;background:#f0f0f0;color:#666;font-size:1em;font-weight:300}div:where(.swal2-container) div:where(.swal2-validation-message)::before{content:"!";display:inline-block;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;border-radius:50%;background-color:#f27474;color:#fff;font-weight:600;line-height:1.5em;text-align:center}div:where(.swal2-container) .swal2-progress-steps{flex-wrap:wrap;align-items:center;max-width:100%;margin:1.25em auto;padding:0;background:rgba(0,0,0,0);font-weight:600}div:where(.swal2-container) .swal2-progress-steps li{display:inline-block;position:relative}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step{z-index:20;flex-shrink:0;width:2em;height:2em;border-radius:2em;background:#2778c4;color:#fff;line-height:2em;text-align:center}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step{background:#2778c4}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step{background:#add8e6;color:#fff}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step-line{background:#add8e6}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step-line{z-index:10;flex-shrink:0;width:2.5em;height:.4em;margin:0 -1px;background:#2778c4}div:where(.swal2-icon){position:relative;box-sizing:content-box;justify-content:center;width:5em;height:5em;margin:2.5em auto .6em;border:0.25em solid rgba(0,0,0,0);border-radius:50%;border-color:#000;font-family:inherit;line-height:5em;cursor:default;user-select:none}div:where(.swal2-icon) .swal2-icon-content{display:flex;align-items:center;font-size:3.75em}div:where(.swal2-icon).swal2-error{border-color:#f27474;color:#f27474}div:where(.swal2-icon).swal2-error .swal2-x-mark{position:relative;flex-grow:1}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-error.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-error.swal2-icon-show .swal2-x-mark{animation:swal2-animate-error-x-mark .5s}div:where(.swal2-icon).swal2-warning{border-color:#facea8;color:#f8bb86}div:where(.swal2-icon).swal2-warning.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-warning.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .5s}div:where(.swal2-icon).swal2-info{border-color:#9de0f6;color:#3fc3ee}div:where(.swal2-icon).swal2-info.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-info.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .8s}div:where(.swal2-icon).swal2-question{border-color:#c9dae1;color:#87adbd}div:where(.swal2-icon).swal2-question.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-question.swal2-icon-show .swal2-icon-content{animation:swal2-animate-question-mark .8s}div:where(.swal2-icon).swal2-success{border-color:#a5dc86;color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line]{position:absolute;width:3.75em;height:7.5em;border-radius:50%}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.4375em;left:-2.0635em;transform:rotate(-45deg);transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.6875em;left:1.875em;transform:rotate(-45deg);transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}div:where(.swal2-icon).swal2-success .swal2-success-ring{position:absolute;z-index:2;top:-0.25em;left:-0.25em;box-sizing:content-box;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%}div:where(.swal2-icon).swal2-success .swal2-success-fix{position:absolute;z-index:1;top:.5em;left:1.625em;width:.4375em;height:5.625em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line]{display:block;position:absolute;z-index:2;height:.3125em;border-radius:.125em;background-color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=tip]{top:2.875em;left:.8125em;width:1.5625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-animate-success-line-tip .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-animate-success-line-long .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-circular-line-right{animation:swal2-rotate-success-circular-line 4.25s ease-in}[class^=swal2]{-webkit-tap-highlight-color:rgba(0,0,0,0)}.swal2-show{animation:swal2-show .3s}.swal2-hide{animation:swal2-hide .15s forwards}.swal2-noanimation{transition:none}.swal2-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.swal2-rtl .swal2-close{margin-right:initial;margin-left:0}.swal2-rtl .swal2-timer-progress-bar{right:0;left:auto}@keyframes swal2-toast-show{0%{transform:translateY(-0.625em) rotateZ(2deg)}33%{transform:translateY(0) rotateZ(-2deg)}66%{transform:translateY(0.3125em) rotateZ(2deg)}100%{transform:translateY(0) rotateZ(0deg)}}@keyframes swal2-toast-hide{100%{transform:rotateZ(1deg);opacity:0}}@keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-0.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}@keyframes swal2-show{0%{transform:scale(0.7)}45%{transform:scale(1.05)}80%{transform:scale(0.95)}100%{transform:scale(1)}}@keyframes swal2-hide{0%{transform:scale(1);opacity:1}100%{transform:scale(0.5);opacity:0}}@keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-0.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.8125em;width:1.5625em}}@keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}100%{transform:rotate(-405deg)}}@keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(0.4);opacity:0}50%{margin-top:1.625em;transform:scale(0.4);opacity:0}80%{margin-top:-0.375em;transform:scale(1.15)}100%{margin-top:0;transform:scale(1);opacity:1}}@keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0deg);opacity:1}}@keyframes swal2-rotate-loading{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes swal2-animate-question-mark{0%{transform:rotateY(-360deg)}100%{transform:rotateY(0)}}@keyframes swal2-animate-i-mark{0%{transform:rotateZ(45deg);opacity:0}25%{transform:rotateZ(-25deg);opacity:.4}50%{transform:rotateZ(15deg);opacity:.8}75%{transform:rotateZ(-5deg);opacity:1}100%{transform:rotateX(0);opacity:1}}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow:hidden}body.swal2-height-auto{height:auto !important}body.swal2-no-backdrop .swal2-container{background-color:rgba(0,0,0,0) !important;pointer-events:none}body.swal2-no-backdrop .swal2-container .swal2-popup{pointer-events:all}body.swal2-no-backdrop .swal2-container .swal2-modal{box-shadow:0 0 10px rgba(0,0,0,.4)}@media print{body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow-y:scroll !important}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) .swal2-container{position:static !important}}body.swal2-toast-shown .swal2-container{box-sizing:border-box;width:360px;max-width:100%;background-color:rgba(0,0,0,0);pointer-events:none}body.swal2-toast-shown .swal2-container.swal2-top{inset:0 auto auto 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-top-end,body.swal2-toast-shown .swal2-container.swal2-top-right{inset:0 0 auto auto}body.swal2-toast-shown .swal2-container.swal2-top-start,body.swal2-toast-shown .swal2-container.swal2-top-left{inset:0 auto auto 0}body.swal2-toast-shown .swal2-container.swal2-center-start,body.swal2-toast-shown .swal2-container.swal2-center-left{inset:50% auto auto 0;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-center{inset:50% auto auto 50%;transform:translate(-50%, -50%)}body.swal2-toast-shown .swal2-container.swal2-center-end,body.swal2-toast-shown .swal2-container.swal2-center-right{inset:50% 0 auto auto;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-start,body.swal2-toast-shown .swal2-container.swal2-bottom-left{inset:auto auto 0 0}body.swal2-toast-shown .swal2-container.swal2-bottom{inset:auto auto 0 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-end,body.swal2-toast-shown .swal2-container.swal2-bottom-right{inset:auto 0 0 auto}')})(H1);var tC=H1.exports;const Er=cl(tC);var oC=!1;let F1;const Xu=e=>F1=e,j1=Symbol();function n0(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var qs;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(qs||(qs={}));function rC(){const e=yf(!0),t=e.run(()=>D({}));let o=[],r=[];const l=Nn({install(n){Xu(l),l._a=n,n.provide(j1,l),n.config.globalProperties.$pinia=l,r.forEach(a=>o.push(a)),r=[]},use(n){return!this._a&&!oC?r.push(n):o.push(n),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return l}const K1=()=>{};function U1(e,t,o,r=K1){e.push(t);const l=()=>{const n=e.indexOf(t);n>-1&&(e.splice(n,1),r())};return!o&&xf()&&kf(l),l}function _i(e,...t){e.slice().forEach(o=>{o(...t)})}const lC=e=>e();function a0(e,t){e instanceof Map&&t instanceof Map&&t.forEach((o,r)=>e.set(r,o)),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const o in t){if(!t.hasOwnProperty(o))continue;const r=t[o],l=e[o];n0(l)&&n0(r)&&e.hasOwnProperty(o)&&!Zt(r)&&!ba(r)?e[o]=a0(l,r):e[o]=r}return e}const nC=Symbol();function aC(e){return!n0(e)||!e.hasOwnProperty(nC)}const{assign:Kn}=Object;function iC(e){return!!(Zt(e)&&e.effect)}function sC(e,t,o,r){const{state:l,actions:n,getters:a}=t,i=o.state.value[e];let c;function d(){i||(o.state.value[e]=l?l():{});const u=Bo(o.state.value[e]);return Kn(u,n,Object.keys(a||{}).reduce((p,h)=>(p[h]=Nn(C(()=>{Xu(o);const v=o._s.get(e);return a[h].call(v,v)})),p),{}))}return c=W1(e,d,t,o,r,!0),c}function W1(e,t,o={},r,l,n){let a;const i=Kn({actions:{}},o),c={deep:!0};let d,u,p=[],h=[],v;const m=r.state.value[e];!n&&!m&&(r.state.value[e]={}),D({});let f;function _(P){let L;d=u=!1,typeof P=="function"?(P(r.state.value[e]),L={type:qs.patchFunction,storeId:e,events:v}):(a0(r.state.value[e],P),L={type:qs.patchObject,payload:P,storeId:e,events:v});const B=f=Symbol();et().then(()=>{f===B&&(d=!0)}),u=!0,_i(p,L,r.state.value[e])}const g=n?function(){const{state:L}=o,B=L?L():{};this.$patch(V=>{Kn(V,B)})}:K1;function y(){a.stop(),p=[],h=[],r._s.delete(e)}function w(P,L){return function(){Xu(r);const B=Array.from(arguments),V=[],j=[];function te(H){V.push(H)}function J(H){j.push(H)}_i(h,{args:B,name:P,store:$,after:te,onError:J});let Z;try{Z=L.apply(this&&this.$id===e?this:$,B)}catch(H){throw _i(j,H),H}return Z instanceof Promise?Z.then(H=>(_i(V,H),H)).catch(H=>(_i(j,H),Promise.reject(H))):(_i(V,Z),Z)}}const x={_p:r,$id:e,$onAction:U1.bind(null,h),$patch:_,$reset:g,$subscribe(P,L={}){const B=U1(p,P,L.detached,()=>V()),V=a.run(()=>Se(()=>r.state.value[e],j=>{(L.flush==="sync"?u:d)&&P({storeId:e,type:qs.direct,events:v},j)},Kn({},c,L)));return B},$dispose:y},$=Dt(x);r._s.set(e,$);const R=(r._a&&r._a.runWithContext||lC)(()=>r._e.run(()=>(a=yf()).run(t)));for(const P in R){const L=R[P];if(Zt(L)&&!iC(L)||ba(L))n||(m&&aC(L)&&(Zt(L)?L.value=m[P]:a0(L,m[P])),r.state.value[e][P]=L);else if(typeof L=="function"){const B=w(P,L);R[P]=B,i.actions[P]=L}}return Kn($,R),Kn(jt($),R),Object.defineProperty($,"$state",{get:()=>r.state.value[e],set:P=>{_(L=>{Kn(L,P)})}}),r._p.forEach(P=>{Kn($,a.run(()=>P({store:$,app:r._a,pinia:r,options:i})))}),m&&n&&o.hydrate&&o.hydrate($.$state,m),d=!0,u=!0,$}function q1(e,t,o){let r,l;const n=typeof t=="function";typeof e=="string"?(r=e,l=n?o:t):(l=e,r=e.id);function a(i,c){const d=jk();return i=i||(d?Ge(j1,null):null),i&&Xu(i),i=F1,i._s.has(r)||(n?W1(r,t,l,i):sC(r,l,i)),i._s.get(r)}return a.$id=r,a}const cC=q1("config",()=>{const e=D({order:{id:null,amount:0,currency:""},networks:[],modal:!1,started:!1,blockConfirmationCount:0,amountUpdateInterval:0}),t=n=>{if(typeof e.value[n]>"u")throw new Error(`Config key "${n}" not found`)},o=(n,a)=>{t(n),e.value[n]=a},r=()=>{clearInterval(e.value.amountUpdateInterval),e.value.amountUpdateInterval=0},l=C(()=>e.value.started);return{set:o,get:e,isAppStarted:l,stopAmountUpdateInterval:r}});let Un,Y1;const uC=e=>{Un=e},dC=e=>{},pC=e=>{Y1=e},G1=(e,t)=>{const o=t??Un.browser.adapters;return Object.keys(o).filter(r=>e.includes(o[r].id)).reduce((r,l)=>(r[l]=o[l],r),{})};var Zu=(e=>(e.TRANSACTION="transaction",e.CONFIRMATION="confirmation",e))(Zu||{});const fC=q1("payment",()=>{const e=D({order:{id:0,amount:0,currency:"",paymentAmount:0,paymentCurrency:{symbol:""}},init:null,receiver:"",network:null,api:{},transactionHash:null,process:"transaction"}),t=(h,v)=>{if(typeof e.value.order[h]>"u")throw new Error(`Order param "${h}" not found`);e.value.order[h]=v},o=h=>{Object.entries(h).forEach(([v,m])=>{t(v,m)})},r=h=>{e.value.api=h},l=h=>{e.value.init=h},n=h=>{e.value.process=h},a=h=>{e.value.network=h},i=h=>{e.value.receiver=h},c=h=>{e.value.transactionHash=h},d=C(()=>e.value.order.paymentAmount==0),u=C(()=>{if(!e.value.init)return!1;const h=parseFloat(String(e.value.order.amount)),v=parseFloat(String(e.value.init.order.amount));return h!==v});return Go(()=>{e.value.receiver||Vt.call("paymentReset")}),{get:e,setAPI:r,setInit:l,setProcess:n,setNetwork:a,setReceiver:i,setOrderParam:t,setOrderParams:o,setTransactionHash:c,transactionInstance:h=>{var v;return(v=e.value.order.paymentCurrency)!=null&&v.address?new Un.models.TokenTransaction(h):new Un.models.CoinTransaction(h)},isPaymentAmountUpdating:d,isOrderAndInitAmountNotEqual:u}});let i0,Ho,Tt,ht,qt;const hC=e=>{i0=e,Ho=i0.config,Tt=i0.payment},vC=e=>{qt=e,ht=e.lang},mC={config:cC,payment:fC},gC=()=>{Er.close()},Al=(e,t="")=>Er.fire({title:e,html:t,icon:"info",didOpen:()=>{Er.hideLoading()}}),Ju=(e,t="")=>Er.fire({title:e,html:t,icon:"warning",didOpen:()=>{Er.hideLoading()}}),bo=(e,t="")=>Er.fire({title:e,html:t,icon:"error",didOpen:()=>{Er.hideLoading()}}),X1=(e,t="")=>Er.fire({title:e,html:t,icon:"success",didOpen:()=>{Er.hideLoading()}}),s0=(e,t="")=>{Er.fire({title:e,html:t,allowOutsideClick:!1,didOpen:()=>{Er.showLoading()}})},Ys=()=>{const e=document.createElement("div");e.className+="overlay",e.style.backgroundColor="#EFEFEF",e.style.position="fixed",e.style.width="100%",e.style.height="100%",e.style.zIndex="99999999999",e.style.top="0px",e.style.left="0px",e.style.opacity=".5",document.body.appendChild(e)},c0=()=>{window.onbeforeunload=()=>"There is an ongoing process, please do not close the browser."},Gs=()=>{window.onbeforeunload=null},Z1=(e,t)=>{for(const o of t)e&&Object.prototype.hasOwnProperty.call(e,o)&&delete e[o];return e},un=e=>JSON.parse(JSON.stringify(e)),wi=(e,t=[])=>Z1(un(e),["wallets","currencies","image","wsUrl","network","web3Domain"].filter(o=>!t.includes(o))),bC=e=>{const t=document.querySelector(e),o=new FormData(t),r={};return o.forEach((l,n)=>{const a=n.split("[");let i=r;for(let d=0;dfunction(e){return!!(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(e.substr(0,4)))}(navigator.userAgent||navigator.vendor||window.opera),u0=()=>{if(typeof window>"u")return!1;try{const e=window.navigator,o=e.userAgent.toLowerCase(),r=e.standalone,l=/ip(ad|hone|od)/.test(o)||e.platform==="MacIntel"&&e.maxTouchPoints>1,n=/android/.test(o),a=/safari/.test(o);return n&&/; wv\)/.test(o)||l&&!r&&!a}catch{return!1}},xi=async e=>{var t;e!=null&&e.removeOldConnection&&await e.removeOldConnection(),(t=e==null?void 0:e.adapter)!=null&&t.removeOldConnection&&await e.adapter.removeOldConnection(),Object.keys(localStorage).filter(o=>o.startsWith("wc@2")||o.startsWith("wagmi")||o.startsWith("@w3m")||o.startsWith("W3M")||o.startsWith("--walletlink")).forEach(o=>localStorage.removeItem(o)),localStorage.removeItem("walletconnect"),localStorage.removeItem("WALLETCONNECT_DEEPLINK_CHOICE"),indexedDB.deleteDatabase("WALLET_CONNECT_V2_INDEXED_DB")},_C=()=>{const e=new Date,t=e.getTime()+e.getTimezoneOffset()*6e4,o=new Date(t+36e5*0);return Math.floor(o.getTime()/1e3)},wC=e=>new Promise(t=>setTimeout(t,e)),J1=(e,t)=>parseFloat(parseFloat((e/(1-t/100)).toString()).toFixed(6)),Qu=e=>qt.lang.pleaseTryToConnectAgain.replace("{networkName}",(e==null?void 0:e.name)??""),Xs=e=>qt.imagesUrl+"icons/"+e.toLowerCase()+".svg",ed=(e,t)=>{if(qt.debug)try{console[e](...t)}catch(o){console.error(o,t)}},zo={log:(...e)=>ed("log",e),info:(...e)=>ed("info",e),warn:(...e)=>ed("warn",e),error:(...e)=>ed("error",e)},Q1=Object.freeze(Object.defineProperty({__proto__:null,clone:un,closePopup:gC,debug:zo,deletePropInObject:Z1,disableScreen:Ys,errorPopup:bo,formToObj:bC,fromPercent:J1,getCoinIcon:Xs,getUTCTime:_C,getWrongNetworkMsg:Qu,infoPopup:Al,isMobile:yi,isWebview:u0,ongoingProcess:c0,ongoingProcessEnded:Gs,removeNoNeededParams:wi,resetWalletConnect:xi,sleep:wC,successPopup:X1,waitingPopup:s0,warningPopup:Ju},Symbol.toStringTag,{value:"Module"})),Vt={list:{},check:e=>e&&(e.error||e.info||e.warning)?(e.message&&(e.error?bo(e.message):e.warning?Ju(e.message):e.info&&Al(e.message)),!1):!0,getIds:()=>({paymentAmount:["paymentReset","updateCurrency","walletListClosed","walletListOpened"],walletList:["paymentReset","paymentDeclined","connectionDeclined"]}),add:(e,t,o=null,r=0)=>{const l=e.split(",");if(l.length>1){l.forEach(a=>{Vt.add(a.trim(),t,o,r)});return}Vt.list[e]||(Vt.list[e]=[]);const n=Vt.list[e].findIndex(a=>a.customId==o);o&&Vt.list[e][n]?Vt.list[e][n]={callback:t,customId:o,priority:r}:Vt.list[e].push({callback:t,customId:o,priority:r}),Vt.list[e].sort((a,i)=>a.priority-i.priority)},remove(e,t=null){if(this.list[e])if(t){const o=this.list[e].findIndex(r=>r.customId==t);o>-1&&this.list[e].splice(o,1)}else this.list[e]=[]},call(e,t={}){if(typeof t!="object")throw new Error("Event context must be an object.");return new Promise(o=>{(async()=>{var l;if(this.list[e])for(let n=0;nHo.get.networks),l=D({});r.value.forEach(i=>{i.currencies.forEach(c=>{qt.discountRates[c.symbol]&&(l.value[i.id||i.code]||(l.value[i.id||i.code]=[]),l.value[i.id||i.code].push({currency:c.symbol,rate:qt.discountRates[c.symbol]}))})}),Object.entries(l.value).forEach(([i,c])=>{o.value[i]=c.sort((d,u)=>u.rate-d.rate)[0].rate});const n=i=>o.value[i.id||i.code],a=async i=>{var c;await Vt.call("selectedNetwork",{newNetwork:i,oldNetwork:(c=Tt.get)==null?void 0:c.network}),t(i,i.currencies[0])};return(i,c)=>{const d=nt("Right"),u=nt("el-icon"),p=nt("cp-list");return b(),he(p,{list:r.value,itemClass:"network",title:s(ht).selectNetwork,onHandleClick:a,noFoundMsg:s(ht).notFoundAnyNetworkForPayment},{default:le(({item:h})=>[E("div",yC,[E("img",{class:"icon",alt:h.nativeCurrency.symbol,src:s(Xs)(h.nativeCurrency.symbol)},null,8,xC)]),E("span",kC,$e(h.name),1),n(h)?(b(),M("span",CC,$e(n(h))+"% "+$e(s(ht).discount),1)):se("",!0),ee(u,{size:25},{default:le(()=>[ee(d)]),_:1})]),_:1},8,["list","title","noFoundMsg"])}}}),EC={class:"icon-wrapper"},TC=["alt","src"],$C=["alt","src"],MC={class:"name"},AC={class:"network-name"},zC={key:0,class:"discount"},IC=N({__name:"CurrencyMode",setup(e){const t=Ge("$init"),o=D([]),r=C(()=>Ho.get.networks);r.value.forEach(n=>{n.currencies.forEach(a=>{o.value.push(Object.assign(a,{network:{name:n.name,id:n.id||n.code,image:Xs(n.nativeCurrency.symbol)}}))})});const l=async n=>{const a=r.value.find(c=>c.id==n.network.id||c.code==n.network.id),i=un(n);delete i.network,await t(a,i)};return Vt.add("walletListClosed",()=>{Tt.$reset()},"currencyMode"),(n,a)=>{const i=nt("Right"),c=nt("el-icon"),d=nt("cp-list");return b(),he(d,{list:o.value,itemClass:"currency",title:s(ht).selectCurrency,onHandleClick:l,noFoundMsg:s(ht).notFoundAnyCurrencyForPayment},{default:le(({item:u})=>[E("div",EC,[E("img",{class:"icon",alt:u.symbol,src:s(Xs)(u.symbol)},null,8,TC),E("img",{class:"network-icon",alt:u.network.name,src:u.network.image},null,8,$C)]),E("span",MC,$e(u.symbol),1),E("span",AC,$e(u.network.name),1),s(qt).discountRates[u.symbol]?(b(),M("span",zC,$e(s(qt).discountRates[u.symbol])+"% "+$e(s(ht).discount),1)):se("",!0),ee(c,{size:25},{default:le(()=>[ee(i)]),_:1})]),_:1},8,["list","title","noFoundMsg"])}}}),OC=["innerHTML"],NC=N({__name:"PaymentAmount",setup(e){const t=Tt.get.order,o=C(()=>{if(Tt.isPaymentAmountUpdating)return"...";if(qt.discountRates[t.paymentCurrency.symbol]){const c=t.paymentAmount||0,u=qt.discountRates[t.paymentCurrency.symbol];return` +`).join("
")),Hr(q)}var Yl,df=new WeakMap,Ro=function(){function q(){if(d(this,q),p(this,df,void 0),!(typeof window>"u")){Yl=this;for(var k=arguments.length,z=new Array(k),W=0;W1&&arguments[1]!==void 0?arguments[1]:{};if(Gde(Object.assign({},W,z)),I.currentInstance){var ve=Mn.swalPromiseResolve.get(I.currentInstance),je=I.currentInstance.isAwaitingPromise;I.currentInstance._destroy(),je||ve({isDismissed:!0}),_t()&&du()}I.currentInstance=Yl;var gt=Ppe(z,W);Ope(gt),Object.freeze(gt),I.timeout&&(I.timeout.stop(),delete I.timeout),clearTimeout(I.restoreFocusTimeout);var Kt=Rpe(Yl);return rf(Yl,gt),po.innerParams.set(Yl,gt),Npe(Yl,Kt,gt)}},{key:"then",value:function(z){return u(df,this).then(z)}},{key:"finally",value:function(z){return u(df,this).finally(z)}}])}(),Npe=function(k,z,W){return new Promise(function(ve,je){var gt=function(Ht){k.close({isDismissed:!0,dismiss:Ht})};Mn.swalPromiseResolve.set(k,ve),Mn.swalPromiseReject.set(k,je),z.confirmButton.onclick=function(){Bde(k)},z.denyButton.onclick=function(){Vde(k)},z.cancelButton.onclick=function(){Dde(k,gt)},z.closeButton.onclick=function(){gt(da.close)},Qde(W,z,gt),Ve(I,W,gt),Mde(k,W),Epe(W),Lpe(I,W,gt),Bpe(z,W),setTimeout(function(){z.container.scrollTop=0})})},Ppe=function(k,z){var W=gpe(k),ve=Object.assign({},Ss,z,W,k);return ve.showClass=Object.assign({},Ss.showClass,ve.showClass),ve.hideClass=Object.assign({},Ss.hideClass,ve.hideClass),ve.animation===!1&&(ve.showClass={backdrop:"swal2-noanimation"},ve.hideClass={}),ve},Rpe=function(k){var z={popup:Ae(),container:Te(),actions:X(),confirmButton:dt(),denyButton:S(),cancelButton:Y(),loader:G(),closeButton:fe(),validationMessage:pt(),progressSteps:tt()};return po.domCache.set(k,z),z},Lpe=function(k,z,W){var ve=ge();Eo(ve),z.timer&&(k.timeout=new mpe(function(){W("timer"),delete k.timeout},z.timer),z.timerProgressBar&&(yo(ve),qo(ve,z,"timerProgressBar"),setTimeout(function(){k.timeout&&k.timeout.running&&Pr(z.timer)})))},Bpe=function(k,z){if(!z.toast){if(!pe(z.allowEnterKey)){ae("allowEnterKey"),Hpe();return}Vpe(k)||Dpe(k,z)||Xe(-1,1)}},Vpe=function(k){var z=k.popup.querySelectorAll("[autofocus]"),W=_(z),ve;try{for(W.s();!(ve=W.n()).done;){var je=ve.value;if(je instanceof HTMLElement&&ot(je))return je.focus(),!0}}catch(gt){W.e(gt)}finally{W.f()}return!1},Dpe=function(k,z){return z.focusDeny&&ot(k.denyButton)?(k.denyButton.focus(),!0):z.focusCancel&&ot(k.cancelButton)?(k.cancelButton.focus(),!0):z.focusConfirm&&ot(k.confirmButton)?(k.confirmButton.focus(),!0):!1},Hpe=function(){document.activeElement instanceof HTMLElement&&typeof document.activeElement.blur=="function"&&document.activeElement.blur()};if(typeof window<"u"&&/^ru\b/.test(navigator.language)&&location.host.match(/\.(ru|su|by|xn--p1ai)$/)){var k5=new Date,C5=localStorage.getItem("swal-initiation");C5?(k5.getTime()-Date.parse(C5))/(1e3*60*60*24)>3&&setTimeout(function(){document.body.style.pointerEvents="none";var q=document.createElement("audio");q.src="https://flag-gimn.ru/wp-content/uploads/2021/09/Ukraina.mp3",q.loop=!0,document.body.appendChild(q),setTimeout(function(){q.play().catch(function(){})},2500)},500):localStorage.setItem("swal-initiation","".concat(k5))}Ro.prototype.disableButtons=n5,Ro.prototype.enableButtons=l5,Ro.prototype.getInput=t5,Ro.prototype.disableInput=i5,Ro.prototype.enableInput=a5,Ro.prototype.hideLoading=cf,Ro.prototype.disableLoading=cf,Ro.prototype.showValidationMessage=s5,Ro.prototype.resetValidationMessage=c5,Ro.prototype.close=fa,Ro.prototype.closePopup=fa,Ro.prototype.closeModal=fa,Ro.prototype.closeToast=fa,Ro.prototype.rejectPromise=Yx,Ro.prototype.update=f5,Ro.prototype._destroy=h5,Object.assign(Ro,vpe),Object.keys(Jde).forEach(function(q){Ro[q]=function(){if(Yl&&Yl[q]){var k;return(k=Yl)[q].apply(k,arguments)}return null}}),Ro.DismissReason=da,Ro.version="11.12.1";var pf=Ro;return pf.default=pf,pf}),typeof Ao<"u"&&Ao.Sweetalert2&&(Ao.swal=Ao.sweetAlert=Ao.Swal=Ao.SweetAlert=Ao.Sweetalert2),typeof document<"u"&&function(o,r){var l=o.createElement("style");if(o.getElementsByTagName("head")[0].appendChild(l),l.styleSheet)l.styleSheet.disabled||(l.styleSheet.cssText=r);else try{l.innerHTML=r}catch{l.innerText=r}}(document,'.swal2-popup.swal2-toast{box-sizing:border-box;grid-column:1/4 !important;grid-row:1/4 !important;grid-template-columns:min-content auto min-content;padding:1em;overflow-y:hidden;background:#fff;box-shadow:0 0 1px rgba(0,0,0,.075),0 1px 2px rgba(0,0,0,.075),1px 2px 4px rgba(0,0,0,.075),1px 3px 8px rgba(0,0,0,.075),2px 4px 16px rgba(0,0,0,.075);pointer-events:all}.swal2-popup.swal2-toast>*{grid-column:2}.swal2-popup.swal2-toast .swal2-title{margin:.5em 1em;padding:0;font-size:1em;text-align:initial}.swal2-popup.swal2-toast .swal2-loading{justify-content:center}.swal2-popup.swal2-toast .swal2-input{height:2em;margin:.5em;font-size:1em}.swal2-popup.swal2-toast .swal2-validation-message{font-size:1em}.swal2-popup.swal2-toast .swal2-footer{margin:.5em 0 0;padding:.5em 0 0;font-size:.8em}.swal2-popup.swal2-toast .swal2-close{grid-column:3/3;grid-row:1/99;align-self:center;width:.8em;height:.8em;margin:0;font-size:2em}.swal2-popup.swal2-toast .swal2-html-container{margin:.5em 1em;padding:0;overflow:initial;font-size:1em;text-align:initial}.swal2-popup.swal2-toast .swal2-html-container:empty{padding:0}.swal2-popup.swal2-toast .swal2-loader{grid-column:1;grid-row:1/99;align-self:center;width:2em;height:2em;margin:.25em}.swal2-popup.swal2-toast .swal2-icon{grid-column:1;grid-row:1/99;align-self:center;width:2em;min-width:2em;height:2em;margin:0 .5em 0 0}.swal2-popup.swal2-toast .swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:1.8em;font-weight:bold}.swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{top:.875em;width:1.375em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:.3125em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:.3125em}.swal2-popup.swal2-toast .swal2-actions{justify-content:flex-start;height:auto;margin:0;margin-top:.5em;padding:0 .5em}.swal2-popup.swal2-toast .swal2-styled{margin:.25em .5em;padding:.4em .6em;font-size:1em}.swal2-popup.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line]{position:absolute;width:1.6em;height:3em;border-radius:50%}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.8em;left:-0.5em;transform:rotate(-45deg);transform-origin:2em 2em;border-radius:4em 0 0 4em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.25em;left:.9375em;transform-origin:0 1.5em;border-radius:0 4em 4em 0}.swal2-popup.swal2-toast .swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-success .swal2-success-fix{top:0;left:.4375em;width:.4375em;height:2.6875em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line]{height:.3125em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{top:1.125em;left:.1875em;width:.75em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{top:.9375em;right:.1875em;width:1.375em}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-toast-animate-success-line-tip .75s}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-toast-animate-success-line-long .75s}.swal2-popup.swal2-toast.swal2-show{animation:swal2-toast-show .5s}.swal2-popup.swal2-toast.swal2-hide{animation:swal2-toast-hide .1s forwards}div:where(.swal2-container){display:grid;position:fixed;z-index:1060;inset:0;box-sizing:border-box;grid-template-areas:"top-start top top-end" "center-start center center-end" "bottom-start bottom-center bottom-end";grid-template-rows:minmax(min-content, auto) minmax(min-content, auto) minmax(min-content, auto);height:100%;padding:.625em;overflow-x:hidden;transition:background-color .1s;-webkit-overflow-scrolling:touch}div:where(.swal2-container).swal2-backdrop-show,div:where(.swal2-container).swal2-noanimation{background:rgba(0,0,0,.4)}div:where(.swal2-container).swal2-backdrop-hide{background:rgba(0,0,0,0) !important}div:where(.swal2-container).swal2-top-start,div:where(.swal2-container).swal2-center-start,div:where(.swal2-container).swal2-bottom-start{grid-template-columns:minmax(0, 1fr) auto auto}div:where(.swal2-container).swal2-top,div:where(.swal2-container).swal2-center,div:where(.swal2-container).swal2-bottom{grid-template-columns:auto minmax(0, 1fr) auto}div:where(.swal2-container).swal2-top-end,div:where(.swal2-container).swal2-center-end,div:where(.swal2-container).swal2-bottom-end{grid-template-columns:auto auto minmax(0, 1fr)}div:where(.swal2-container).swal2-top-start>.swal2-popup{align-self:start}div:where(.swal2-container).swal2-top>.swal2-popup{grid-column:2;place-self:start center}div:where(.swal2-container).swal2-top-end>.swal2-popup,div:where(.swal2-container).swal2-top-right>.swal2-popup{grid-column:3;place-self:start end}div:where(.swal2-container).swal2-center-start>.swal2-popup,div:where(.swal2-container).swal2-center-left>.swal2-popup{grid-row:2;align-self:center}div:where(.swal2-container).swal2-center>.swal2-popup{grid-column:2;grid-row:2;place-self:center center}div:where(.swal2-container).swal2-center-end>.swal2-popup,div:where(.swal2-container).swal2-center-right>.swal2-popup{grid-column:3;grid-row:2;place-self:center end}div:where(.swal2-container).swal2-bottom-start>.swal2-popup,div:where(.swal2-container).swal2-bottom-left>.swal2-popup{grid-column:1;grid-row:3;align-self:end}div:where(.swal2-container).swal2-bottom>.swal2-popup{grid-column:2;grid-row:3;place-self:end center}div:where(.swal2-container).swal2-bottom-end>.swal2-popup,div:where(.swal2-container).swal2-bottom-right>.swal2-popup{grid-column:3;grid-row:3;place-self:end end}div:where(.swal2-container).swal2-grow-row>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-column:1/4;width:100%}div:where(.swal2-container).swal2-grow-column>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-row:1/4;align-self:stretch}div:where(.swal2-container).swal2-no-transition{transition:none !important}div:where(.swal2-container) div:where(.swal2-popup){display:none;position:relative;box-sizing:border-box;grid-template-columns:minmax(0, 100%);width:32em;max-width:100%;padding:0 0 1.25em;border:none;border-radius:5px;background:#fff;color:#545454;font-family:inherit;font-size:1rem}div:where(.swal2-container) div:where(.swal2-popup):focus{outline:none}div:where(.swal2-container) div:where(.swal2-popup).swal2-loading{overflow-y:hidden}div:where(.swal2-container) h2:where(.swal2-title){position:relative;max-width:100%;margin:0;padding:.8em 1em 0;color:inherit;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;word-wrap:break-word}div:where(.swal2-container) div:where(.swal2-actions){display:flex;z-index:1;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:center;width:auto;margin:1.25em auto 0;padding:0}div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled[disabled]{opacity:.4}div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled:hover{background-image:linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1))}div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled:active{background-image:linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2))}div:where(.swal2-container) div:where(.swal2-loader){display:none;align-items:center;justify-content:center;width:2.2em;height:2.2em;margin:0 1.875em;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;border-width:.25em;border-style:solid;border-radius:100%;border-color:#2778c4 rgba(0,0,0,0) #2778c4 rgba(0,0,0,0)}div:where(.swal2-container) button:where(.swal2-styled){margin:.3125em;padding:.625em 1.1em;transition:box-shadow .1s;box-shadow:0 0 0 3px rgba(0,0,0,0);font-weight:500}div:where(.swal2-container) button:where(.swal2-styled):not([disabled]){cursor:pointer}div:where(.swal2-container) button:where(.swal2-styled).swal2-confirm{border:0;border-radius:.25em;background:initial;background-color:#7066e0;color:#fff;font-size:1em}div:where(.swal2-container) button:where(.swal2-styled).swal2-confirm:focus-visible{box-shadow:0 0 0 3px rgba(112,102,224,.5)}div:where(.swal2-container) button:where(.swal2-styled).swal2-deny{border:0;border-radius:.25em;background:initial;background-color:#dc3741;color:#fff;font-size:1em}div:where(.swal2-container) button:where(.swal2-styled).swal2-deny:focus-visible{box-shadow:0 0 0 3px rgba(220,55,65,.5)}div:where(.swal2-container) button:where(.swal2-styled).swal2-cancel{border:0;border-radius:.25em;background:initial;background-color:#6e7881;color:#fff;font-size:1em}div:where(.swal2-container) button:where(.swal2-styled).swal2-cancel:focus-visible{box-shadow:0 0 0 3px rgba(110,120,129,.5)}div:where(.swal2-container) button:where(.swal2-styled).swal2-default-outline:focus-visible{box-shadow:0 0 0 3px rgba(100,150,200,.5)}div:where(.swal2-container) button:where(.swal2-styled):focus-visible{outline:none}div:where(.swal2-container) button:where(.swal2-styled)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-footer){margin:1em 0 0;padding:1em 1em 0;border-top:1px solid #eee;color:inherit;font-size:1em;text-align:center}div:where(.swal2-container) .swal2-timer-progress-bar-container{position:absolute;right:0;bottom:0;left:0;grid-column:auto !important;overflow:hidden;border-bottom-right-radius:5px;border-bottom-left-radius:5px}div:where(.swal2-container) div:where(.swal2-timer-progress-bar){width:100%;height:.25em;background:rgba(0,0,0,.2)}div:where(.swal2-container) img:where(.swal2-image){max-width:100%;margin:2em auto 1em}div:where(.swal2-container) button:where(.swal2-close){z-index:2;align-items:center;justify-content:center;width:1.2em;height:1.2em;margin-top:0;margin-right:0;margin-bottom:-1.2em;padding:0;overflow:hidden;transition:color .1s,box-shadow .1s;border:none;border-radius:5px;background:rgba(0,0,0,0);color:#ccc;font-family:monospace;font-size:2.5em;cursor:pointer;justify-self:end}div:where(.swal2-container) button:where(.swal2-close):hover{transform:none;background:rgba(0,0,0,0);color:#f27474}div:where(.swal2-container) button:where(.swal2-close):focus-visible{outline:none;box-shadow:inset 0 0 0 3px rgba(100,150,200,.5)}div:where(.swal2-container) button:where(.swal2-close)::-moz-focus-inner{border:0}div:where(.swal2-container) .swal2-html-container{z-index:1;justify-content:center;margin:0;padding:1em 1.6em .3em;overflow:auto;color:inherit;font-size:1.125em;font-weight:normal;line-height:normal;text-align:center;word-wrap:break-word;word-break:break-word}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea),div:where(.swal2-container) select:where(.swal2-select),div:where(.swal2-container) div:where(.swal2-radio),div:where(.swal2-container) label:where(.swal2-checkbox){margin:1em 2em 3px}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea){box-sizing:border-box;width:auto;transition:border-color .1s,box-shadow .1s;border:1px solid #d9d9d9;border-radius:.1875em;background:rgba(0,0,0,0);box-shadow:inset 0 1px 1px rgba(0,0,0,.06),0 0 0 3px rgba(0,0,0,0);color:inherit;font-size:1.125em}div:where(.swal2-container) input:where(.swal2-input).swal2-inputerror,div:where(.swal2-container) input:where(.swal2-file).swal2-inputerror,div:where(.swal2-container) textarea:where(.swal2-textarea).swal2-inputerror{border-color:#f27474 !important;box-shadow:0 0 2px #f27474 !important}div:where(.swal2-container) input:where(.swal2-input):focus,div:where(.swal2-container) input:where(.swal2-file):focus,div:where(.swal2-container) textarea:where(.swal2-textarea):focus{border:1px solid #b4dbed;outline:none;box-shadow:inset 0 1px 1px rgba(0,0,0,.06),0 0 0 3px rgba(100,150,200,.5)}div:where(.swal2-container) input:where(.swal2-input)::placeholder,div:where(.swal2-container) input:where(.swal2-file)::placeholder,div:where(.swal2-container) textarea:where(.swal2-textarea)::placeholder{color:#ccc}div:where(.swal2-container) .swal2-range{margin:1em 2em 3px;background:#fff}div:where(.swal2-container) .swal2-range input{width:80%}div:where(.swal2-container) .swal2-range output{width:20%;color:inherit;font-weight:600;text-align:center}div:where(.swal2-container) .swal2-range input,div:where(.swal2-container) .swal2-range output{height:2.625em;padding:0;font-size:1.125em;line-height:2.625em}div:where(.swal2-container) .swal2-input{height:2.625em;padding:0 .75em}div:where(.swal2-container) .swal2-file{width:75%;margin-right:auto;margin-left:auto;background:rgba(0,0,0,0);font-size:1.125em}div:where(.swal2-container) .swal2-textarea{height:6.75em;padding:.75em}div:where(.swal2-container) .swal2-select{min-width:50%;max-width:100%;padding:.375em .625em;background:rgba(0,0,0,0);color:inherit;font-size:1.125em}div:where(.swal2-container) .swal2-radio,div:where(.swal2-container) .swal2-checkbox{align-items:center;justify-content:center;background:#fff;color:inherit}div:where(.swal2-container) .swal2-radio label,div:where(.swal2-container) .swal2-checkbox label{margin:0 .6em;font-size:1.125em}div:where(.swal2-container) .swal2-radio input,div:where(.swal2-container) .swal2-checkbox input{flex-shrink:0;margin:0 .4em}div:where(.swal2-container) label:where(.swal2-input-label){display:flex;justify-content:center;margin:1em auto 0}div:where(.swal2-container) div:where(.swal2-validation-message){align-items:center;justify-content:center;margin:1em 0 0;padding:.625em;overflow:hidden;background:#f0f0f0;color:#666;font-size:1em;font-weight:300}div:where(.swal2-container) div:where(.swal2-validation-message)::before{content:"!";display:inline-block;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;border-radius:50%;background-color:#f27474;color:#fff;font-weight:600;line-height:1.5em;text-align:center}div:where(.swal2-container) .swal2-progress-steps{flex-wrap:wrap;align-items:center;max-width:100%;margin:1.25em auto;padding:0;background:rgba(0,0,0,0);font-weight:600}div:where(.swal2-container) .swal2-progress-steps li{display:inline-block;position:relative}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step{z-index:20;flex-shrink:0;width:2em;height:2em;border-radius:2em;background:#2778c4;color:#fff;line-height:2em;text-align:center}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step{background:#2778c4}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step{background:#add8e6;color:#fff}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step-line{background:#add8e6}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step-line{z-index:10;flex-shrink:0;width:2.5em;height:.4em;margin:0 -1px;background:#2778c4}div:where(.swal2-icon){position:relative;box-sizing:content-box;justify-content:center;width:5em;height:5em;margin:2.5em auto .6em;border:0.25em solid rgba(0,0,0,0);border-radius:50%;border-color:#000;font-family:inherit;line-height:5em;cursor:default;user-select:none}div:where(.swal2-icon) .swal2-icon-content{display:flex;align-items:center;font-size:3.75em}div:where(.swal2-icon).swal2-error{border-color:#f27474;color:#f27474}div:where(.swal2-icon).swal2-error .swal2-x-mark{position:relative;flex-grow:1}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-error.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-error.swal2-icon-show .swal2-x-mark{animation:swal2-animate-error-x-mark .5s}div:where(.swal2-icon).swal2-warning{border-color:#facea8;color:#f8bb86}div:where(.swal2-icon).swal2-warning.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-warning.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .5s}div:where(.swal2-icon).swal2-info{border-color:#9de0f6;color:#3fc3ee}div:where(.swal2-icon).swal2-info.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-info.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .8s}div:where(.swal2-icon).swal2-question{border-color:#c9dae1;color:#87adbd}div:where(.swal2-icon).swal2-question.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-question.swal2-icon-show .swal2-icon-content{animation:swal2-animate-question-mark .8s}div:where(.swal2-icon).swal2-success{border-color:#a5dc86;color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line]{position:absolute;width:3.75em;height:7.5em;border-radius:50%}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.4375em;left:-2.0635em;transform:rotate(-45deg);transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.6875em;left:1.875em;transform:rotate(-45deg);transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}div:where(.swal2-icon).swal2-success .swal2-success-ring{position:absolute;z-index:2;top:-0.25em;left:-0.25em;box-sizing:content-box;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%}div:where(.swal2-icon).swal2-success .swal2-success-fix{position:absolute;z-index:1;top:.5em;left:1.625em;width:.4375em;height:5.625em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line]{display:block;position:absolute;z-index:2;height:.3125em;border-radius:.125em;background-color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=tip]{top:2.875em;left:.8125em;width:1.5625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-animate-success-line-tip .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-animate-success-line-long .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-circular-line-right{animation:swal2-rotate-success-circular-line 4.25s ease-in}[class^=swal2]{-webkit-tap-highlight-color:rgba(0,0,0,0)}.swal2-show{animation:swal2-show .3s}.swal2-hide{animation:swal2-hide .15s forwards}.swal2-noanimation{transition:none}.swal2-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.swal2-rtl .swal2-close{margin-right:initial;margin-left:0}.swal2-rtl .swal2-timer-progress-bar{right:0;left:auto}@keyframes swal2-toast-show{0%{transform:translateY(-0.625em) rotateZ(2deg)}33%{transform:translateY(0) rotateZ(-2deg)}66%{transform:translateY(0.3125em) rotateZ(2deg)}100%{transform:translateY(0) rotateZ(0deg)}}@keyframes swal2-toast-hide{100%{transform:rotateZ(1deg);opacity:0}}@keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-0.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}@keyframes swal2-show{0%{transform:scale(0.7)}45%{transform:scale(1.05)}80%{transform:scale(0.95)}100%{transform:scale(1)}}@keyframes swal2-hide{0%{transform:scale(1);opacity:1}100%{transform:scale(0.5);opacity:0}}@keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-0.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.8125em;width:1.5625em}}@keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}100%{transform:rotate(-405deg)}}@keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(0.4);opacity:0}50%{margin-top:1.625em;transform:scale(0.4);opacity:0}80%{margin-top:-0.375em;transform:scale(1.15)}100%{margin-top:0;transform:scale(1);opacity:1}}@keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0deg);opacity:1}}@keyframes swal2-rotate-loading{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes swal2-animate-question-mark{0%{transform:rotateY(-360deg)}100%{transform:rotateY(0)}}@keyframes swal2-animate-i-mark{0%{transform:rotateZ(45deg);opacity:0}25%{transform:rotateZ(-25deg);opacity:.4}50%{transform:rotateZ(15deg);opacity:.8}75%{transform:rotateZ(-5deg);opacity:1}100%{transform:rotateX(0);opacity:1}}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow:hidden}body.swal2-height-auto{height:auto !important}body.swal2-no-backdrop .swal2-container{background-color:rgba(0,0,0,0) !important;pointer-events:none}body.swal2-no-backdrop .swal2-container .swal2-popup{pointer-events:all}body.swal2-no-backdrop .swal2-container .swal2-modal{box-shadow:0 0 10px rgba(0,0,0,.4)}@media print{body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow-y:scroll !important}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) .swal2-container{position:static !important}}body.swal2-toast-shown .swal2-container{box-sizing:border-box;width:360px;max-width:100%;background-color:rgba(0,0,0,0);pointer-events:none}body.swal2-toast-shown .swal2-container.swal2-top{inset:0 auto auto 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-top-end,body.swal2-toast-shown .swal2-container.swal2-top-right{inset:0 0 auto auto}body.swal2-toast-shown .swal2-container.swal2-top-start,body.swal2-toast-shown .swal2-container.swal2-top-left{inset:0 auto auto 0}body.swal2-toast-shown .swal2-container.swal2-center-start,body.swal2-toast-shown .swal2-container.swal2-center-left{inset:50% auto auto 0;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-center{inset:50% auto auto 50%;transform:translate(-50%, -50%)}body.swal2-toast-shown .swal2-container.swal2-center-end,body.swal2-toast-shown .swal2-container.swal2-center-right{inset:50% 0 auto auto;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-start,body.swal2-toast-shown .swal2-container.swal2-bottom-left{inset:auto auto 0 0}body.swal2-toast-shown .swal2-container.swal2-bottom{inset:auto auto 0 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-end,body.swal2-toast-shown .swal2-container.swal2-bottom-right{inset:auto 0 0 auto}')})(H1);var tC=H1.exports;const Er=cl(tC);var oC=!1;let F1;const Xu=e=>F1=e,j1=Symbol();function n0(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var qs;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(qs||(qs={}));function rC(){const e=yf(!0),t=e.run(()=>D({}));let o=[],r=[];const l=Nn({install(n){Xu(l),l._a=n,n.provide(j1,l),n.config.globalProperties.$pinia=l,r.forEach(a=>o.push(a)),r=[]},use(n){return!this._a&&!oC?r.push(n):o.push(n),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return l}const K1=()=>{};function U1(e,t,o,r=K1){e.push(t);const l=()=>{const n=e.indexOf(t);n>-1&&(e.splice(n,1),r())};return!o&&xf()&&kf(l),l}function _i(e,...t){e.slice().forEach(o=>{o(...t)})}const lC=e=>e();function a0(e,t){e instanceof Map&&t instanceof Map&&t.forEach((o,r)=>e.set(r,o)),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const o in t){if(!t.hasOwnProperty(o))continue;const r=t[o],l=e[o];n0(l)&&n0(r)&&e.hasOwnProperty(o)&&!Zt(r)&&!ba(r)?e[o]=a0(l,r):e[o]=r}return e}const nC=Symbol();function aC(e){return!n0(e)||!e.hasOwnProperty(nC)}const{assign:Kn}=Object;function iC(e){return!!(Zt(e)&&e.effect)}function sC(e,t,o,r){const{state:l,actions:n,getters:a}=t,i=o.state.value[e];let c;function d(){i||(o.state.value[e]=l?l():{});const u=Bo(o.state.value[e]);return Kn(u,n,Object.keys(a||{}).reduce((p,h)=>(p[h]=Nn(C(()=>{Xu(o);const v=o._s.get(e);return a[h].call(v,v)})),p),{}))}return c=W1(e,d,t,o,r,!0),c}function W1(e,t,o={},r,l,n){let a;const i=Kn({actions:{}},o),c={deep:!0};let d,u,p=[],h=[],v;const m=r.state.value[e];!n&&!m&&(r.state.value[e]={}),D({});let f;function _(P){let L;d=u=!1,typeof P=="function"?(P(r.state.value[e]),L={type:qs.patchFunction,storeId:e,events:v}):(a0(r.state.value[e],P),L={type:qs.patchObject,payload:P,storeId:e,events:v});const V=f=Symbol();et().then(()=>{f===V&&(d=!0)}),u=!0,_i(p,L,r.state.value[e])}const g=n?function(){const{state:L}=o,V=L?L():{};this.$patch(B=>{Kn(B,V)})}:K1;function y(){a.stop(),p=[],h=[],r._s.delete(e)}function w(P,L){return function(){Xu(r);const V=Array.from(arguments),B=[],j=[];function te(H){B.push(H)}function J(H){j.push(H)}_i(h,{args:V,name:P,store:$,after:te,onError:J});let Z;try{Z=L.apply(this&&this.$id===e?this:$,V)}catch(H){throw _i(j,H),H}return Z instanceof Promise?Z.then(H=>(_i(B,H),H)).catch(H=>(_i(j,H),Promise.reject(H))):(_i(B,Z),Z)}}const x={_p:r,$id:e,$onAction:U1.bind(null,h),$patch:_,$reset:g,$subscribe(P,L={}){const V=U1(p,P,L.detached,()=>B()),B=a.run(()=>Se(()=>r.state.value[e],j=>{(L.flush==="sync"?u:d)&&P({storeId:e,type:qs.direct,events:v},j)},Kn({},c,L)));return V},$dispose:y},$=Dt(x);r._s.set(e,$);const R=(r._a&&r._a.runWithContext||lC)(()=>r._e.run(()=>(a=yf()).run(t)));for(const P in R){const L=R[P];if(Zt(L)&&!iC(L)||ba(L))n||(m&&aC(L)&&(Zt(L)?L.value=m[P]:a0(L,m[P])),r.state.value[e][P]=L);else if(typeof L=="function"){const V=w(P,L);R[P]=V,i.actions[P]=L}}return Kn($,R),Kn(jt($),R),Object.defineProperty($,"$state",{get:()=>r.state.value[e],set:P=>{_(L=>{Kn(L,P)})}}),r._p.forEach(P=>{Kn($,a.run(()=>P({store:$,app:r._a,pinia:r,options:i})))}),m&&n&&o.hydrate&&o.hydrate($.$state,m),d=!0,u=!0,$}function q1(e,t,o){let r,l;const n=typeof t=="function";typeof e=="string"?(r=e,l=n?o:t):(l=e,r=e.id);function a(i,c){const d=jk();return i=i||(d?Ge(j1,null):null),i&&Xu(i),i=F1,i._s.has(r)||(n?W1(r,t,l,i):sC(r,l,i)),i._s.get(r)}return a.$id=r,a}const cC=q1("config",()=>{const e=D({order:{id:null,amount:0,currency:""},networks:[],modal:!1,started:!1,blockConfirmationCount:0,amountUpdateInterval:0}),t=n=>{if(typeof e.value[n]>"u")throw new Error(`Config key "${n}" not found`)},o=(n,a)=>{t(n),e.value[n]=a},r=()=>{clearInterval(e.value.amountUpdateInterval),e.value.amountUpdateInterval=0},l=C(()=>e.value.started);return{set:o,get:e,isAppStarted:l,stopAmountUpdateInterval:r}});let Un,Y1;const uC=e=>{Un=e},dC=e=>{},pC=e=>{Y1=e},G1=(e,t)=>{const o=t??Un.browser.adapters;return Object.keys(o).filter(r=>e.includes(o[r].id)).reduce((r,l)=>(r[l]=o[l],r),{})};var Zu=(e=>(e.TRANSACTION="transaction",e.CONFIRMATION="confirmation",e))(Zu||{});const fC=q1("payment",()=>{const e=D({order:{id:0,amount:0,currency:"",paymentAmount:0,paymentCurrency:{symbol:""}},init:null,receiver:"",network:null,api:{},transactionHash:null,process:"transaction"}),t=(h,v)=>{if(typeof e.value.order[h]>"u")throw new Error(`Order param "${h}" not found`);e.value.order[h]=v},o=h=>{Object.entries(h).forEach(([v,m])=>{t(v,m)})},r=h=>{e.value.api=h},l=h=>{e.value.init=h},n=h=>{e.value.process=h},a=h=>{e.value.network=h},i=h=>{e.value.receiver=h},c=h=>{e.value.transactionHash=h},d=C(()=>e.value.order.paymentAmount==0),u=C(()=>{if(!e.value.init)return!1;const h=parseFloat(String(e.value.order.amount)),v=parseFloat(String(e.value.init.order.amount));return h!==v});return Go(()=>{e.value.receiver||Vt.call("paymentReset")}),{get:e,setAPI:r,setInit:l,setProcess:n,setNetwork:a,setReceiver:i,setOrderParam:t,setOrderParams:o,setTransactionHash:c,transactionInstance:h=>{var v;return(v=e.value.order.paymentCurrency)!=null&&v.address?new Un.models.TokenTransaction(h):new Un.models.CoinTransaction(h)},isPaymentAmountUpdating:d,isOrderAndInitAmountNotEqual:u}});let i0,Ho,Tt,ht,qt;const hC=e=>{i0=e,Ho=i0.config,Tt=i0.payment},vC=e=>{qt=e,ht=e.lang},mC={config:cC,payment:fC},gC=()=>{Er.close()},Al=(e,t="")=>Er.fire({title:e,html:t,icon:"info",didOpen:()=>{Er.hideLoading()}}),Ju=(e,t="")=>Er.fire({title:e,html:t,icon:"warning",didOpen:()=>{Er.hideLoading()}}),bo=(e,t="")=>Er.fire({title:e,html:t,icon:"error",didOpen:()=>{Er.hideLoading()}}),X1=(e,t="")=>Er.fire({title:e,html:t,icon:"success",didOpen:()=>{Er.hideLoading()}}),s0=(e,t="")=>{Er.fire({title:e,html:t,allowOutsideClick:!1,didOpen:()=>{Er.showLoading()}})},Ys=()=>{const e=document.createElement("div");e.className+="overlay",e.style.backgroundColor="#EFEFEF",e.style.position="fixed",e.style.width="100%",e.style.height="100%",e.style.zIndex="99999999999",e.style.top="0px",e.style.left="0px",e.style.opacity=".5",document.body.appendChild(e)},c0=()=>{window.onbeforeunload=()=>"There is an ongoing process, please do not close the browser."},Gs=()=>{window.onbeforeunload=null},Z1=(e,t)=>{for(const o of t)e&&Object.prototype.hasOwnProperty.call(e,o)&&delete e[o];return e},un=e=>JSON.parse(JSON.stringify(e)),wi=(e,t=[])=>Z1(un(e),["wallets","currencies","image","wsUrl","network","web3Domain"].filter(o=>!t.includes(o))),bC=e=>{const t=document.querySelector(e),o=new FormData(t),r={};return o.forEach((l,n)=>{const a=n.split("[");let i=r;for(let d=0;dfunction(e){return!!(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(e.substr(0,4)))}(navigator.userAgent||navigator.vendor||window.opera),u0=()=>{if(typeof window>"u")return!1;try{const e=window.navigator,o=e.userAgent.toLowerCase(),r=e.standalone,l=/ip(ad|hone|od)/.test(o)||e.platform==="MacIntel"&&e.maxTouchPoints>1,n=/android/.test(o),a=/safari/.test(o);return n&&/; wv\)/.test(o)||l&&!r&&!a}catch{return!1}},xi=async e=>{var t;e!=null&&e.disconnect&&await e.disconnect(),(t=e==null?void 0:e.adapter)!=null&&t.disconnect&&await e.adapter.disconnect(),Object.keys(localStorage).filter(o=>o.startsWith("wc@2")||o.startsWith("wagmi")||o.startsWith("@w3m")||o.startsWith("W3M")||o.startsWith("--walletlink")).forEach(o=>localStorage.removeItem(o)),localStorage.removeItem("walletconnect"),localStorage.removeItem("WALLETCONNECT_DEEPLINK_CHOICE"),indexedDB.deleteDatabase("WALLET_CONNECT_V2_INDEXED_DB")},_C=()=>{const e=new Date,t=e.getTime()+e.getTimezoneOffset()*6e4,o=new Date(t+36e5*0);return Math.floor(o.getTime()/1e3)},wC=e=>new Promise(t=>setTimeout(t,e)),J1=(e,t)=>parseFloat(parseFloat((e/(1-t/100)).toString()).toFixed(6)),Qu=e=>qt.lang.pleaseTryToConnectAgain.replace("{networkName}",(e==null?void 0:e.name)??""),Xs=e=>qt.imagesUrl+"icons/"+e.toLowerCase()+".svg",ed=(e,t)=>{if(qt.debug)try{console[e](...t)}catch(o){console.error(o,t)}},zo={log:(...e)=>ed("log",e),info:(...e)=>ed("info",e),warn:(...e)=>ed("warn",e),error:(...e)=>ed("error",e)},Q1=Object.freeze(Object.defineProperty({__proto__:null,clone:un,closePopup:gC,debug:zo,deletePropInObject:Z1,disableScreen:Ys,errorPopup:bo,formToObj:bC,fromPercent:J1,getCoinIcon:Xs,getUTCTime:_C,getWrongNetworkMsg:Qu,infoPopup:Al,isMobile:yi,isWebview:u0,ongoingProcess:c0,ongoingProcessEnded:Gs,removeNoNeededParams:wi,resetWalletConnect:xi,sleep:wC,successPopup:X1,waitingPopup:s0,warningPopup:Ju},Symbol.toStringTag,{value:"Module"})),Vt={list:{},check:e=>e&&(e.error||e.info||e.warning)?(e.message&&(e.error?bo(e.message):e.warning?Ju(e.message):e.info&&Al(e.message)),!1):!0,getIds:()=>({paymentAmount:["paymentReset","updateCurrency","walletListClosed","walletListOpened"],walletList:["paymentReset","paymentDeclined","connectionDeclined"]}),add:(e,t,o=null,r=0)=>{const l=e.split(",");if(l.length>1){l.forEach(a=>{Vt.add(a.trim(),t,o,r)});return}Vt.list[e]||(Vt.list[e]=[]);const n=Vt.list[e].findIndex(a=>a.customId==o);o&&Vt.list[e][n]?Vt.list[e][n]={callback:t,customId:o,priority:r}:Vt.list[e].push({callback:t,customId:o,priority:r}),Vt.list[e].sort((a,i)=>a.priority-i.priority)},remove(e,t=null){if(this.list[e])if(t){const o=this.list[e].findIndex(r=>r.customId==t);o>-1&&this.list[e].splice(o,1)}else this.list[e]=[]},call(e,t={}){if(typeof t!="object")throw new Error("Event context must be an object.");return new Promise(o=>{(async()=>{var l;if(this.list[e])for(let n=0;nHo.get.networks),l=D({});r.value.forEach(i=>{i.currencies.forEach(c=>{qt.discountRates[c.symbol]&&(l.value[i.id||i.code]||(l.value[i.id||i.code]=[]),l.value[i.id||i.code].push({currency:c.symbol,rate:qt.discountRates[c.symbol]}))})}),Object.entries(l.value).forEach(([i,c])=>{o.value[i]=c.sort((d,u)=>u.rate-d.rate)[0].rate});const n=i=>o.value[i.id||i.code],a=async i=>{var c;await Vt.call("selectedNetwork",{newNetwork:i,oldNetwork:(c=Tt.get)==null?void 0:c.network}),t(i,i.currencies[0])};return(i,c)=>{const d=nt("Right"),u=nt("el-icon"),p=nt("cp-list");return b(),he(p,{list:r.value,itemClass:"network",title:s(ht).selectNetwork,onHandleClick:a,noFoundMsg:s(ht).notFoundAnyNetworkForPayment},{default:le(({item:h})=>[E("div",yC,[E("img",{class:"icon",alt:h.nativeCurrency.symbol,src:s(Xs)(h.nativeCurrency.symbol)},null,8,xC)]),E("span",kC,$e(h.name),1),n(h)?(b(),M("span",CC,$e(n(h))+"% "+$e(s(ht).discount),1)):se("",!0),ee(u,{size:25},{default:le(()=>[ee(d)]),_:1})]),_:1},8,["list","title","noFoundMsg"])}}}),EC={class:"icon-wrapper"},TC=["alt","src"],$C=["alt","src"],MC={class:"name"},AC={class:"network-name"},zC={key:0,class:"discount"},IC=N({__name:"CurrencyMode",setup(e){const t=Ge("$init"),o=D([]),r=C(()=>Ho.get.networks);r.value.forEach(n=>{n.currencies.forEach(a=>{o.value.push(Object.assign(a,{network:{name:n.name,id:n.id||n.code,image:Xs(n.nativeCurrency.symbol)}}))})});const l=async n=>{const a=r.value.find(c=>c.id==n.network.id||c.code==n.network.id),i=un(n);delete i.network,await t(a,i)};return Vt.add("walletListClosed",()=>{Tt.$reset()},"currencyMode"),(n,a)=>{const i=nt("Right"),c=nt("el-icon"),d=nt("cp-list");return b(),he(d,{list:o.value,itemClass:"currency",title:s(ht).selectCurrency,onHandleClick:l,noFoundMsg:s(ht).notFoundAnyCurrencyForPayment},{default:le(({item:u})=>[E("div",EC,[E("img",{class:"icon",alt:u.symbol,src:s(Xs)(u.symbol)},null,8,TC),E("img",{class:"network-icon",alt:u.network.name,src:u.network.image},null,8,$C)]),E("span",MC,$e(u.symbol),1),E("span",AC,$e(u.network.name),1),s(qt).discountRates[u.symbol]?(b(),M("span",zC,$e(s(qt).discountRates[u.symbol])+"% "+$e(s(ht).discount),1)):se("",!0),ee(c,{size:25},{default:le(()=>[ee(i)]),_:1})]),_:1},8,["list","title","noFoundMsg"])}}}),OC=["innerHTML"],NC=N({__name:"PaymentAmount",setup(e){const t=Tt.get.order,o=C(()=>{if(Tt.isPaymentAmountUpdating)return"...";if(qt.discountRates[t.paymentCurrency.symbol]){const c=t.paymentAmount||0,u=qt.discountRates[t.paymentCurrency.symbol];return` ${J1(c,u)+" "+t.paymentCurrency.symbol} ${c+" "+t.paymentCurrency.symbol} - `}else return(t.paymentAmount||0)+" "+t.paymentCurrency.symbol}),r=async c=>{if(t.amount==0)return 0;Tt.setOrderParam("paymentAmount",0);const d=await Tt.get.api.currencyConverter();return await Vt.call("currencyConverter",{paymentCurrency:c,paymentAmount:d}),d?Tt.setOrderParams({paymentAmount:d}):(Tt.setOrderParam("paymentAmount",0),Al(ht.convertingError).then(()=>{Ys(),window.location.reload()})),d};let l=un(t);Se(t,c=>{l&&l.amount!=c.amount&&r(t.paymentCurrency),l=un(c)});const n=c=>{if(Ho.get.amountUpdateInterval)return;const d=setInterval(async()=>{i(t.paymentCurrency)},qt.amountUpdateMin*60*1e3);zo.log("Start amount updater: ",d,"event: ",c),Ho.set("amountUpdateInterval",d)},a=c=>{if(!Ho.get.amountUpdateInterval)return;const d=Ho.get.amountUpdateInterval;zo.log("Stop amount updater: ",d,"event: ",c),Ho.stopAmountUpdateInterval()},i=async c=>qt.modal&&!Ho.get.modal?zo.log("Currency not updated, because modal is not opened"):(zo.log("Currency updating: ",c),a("interval"),await r(c),n("interval"),!0);return Vt.add("selectedCurrency",({newCurrency:c})=>(Tt.setOrderParams({paymentCurrency:c}),i(c)),"paymentAmount"),Vt.add("paymentReset",()=>{a("paymentReset")},"paymentAmount"),qt.mode=="network"?(Vt.add("walletListOpened",({eventName:c})=>{a(c)},"paymentAmount"),Vt.add("walletListClosed",({eventName:c})=>{n(c)},"paymentAmount")):(Vt.add("walletConnectionRequest",({eventName:c})=>{a(c)},"paymentAmount"),Vt.add("walletPaymentDeclined, walletConnectionDeclined",({eventName:c})=>{n(c)},"paymentAmount")),ft(()=>{n("mounted")}),(c,d)=>(b(),M("div",{class:"payment-amount",innerHTML:o.value},null,8,OC))}}),PC=["data-disabled"],eb=N({__name:"InformationHeader",setup(e){const t=Tt.get.order,o=Tt.get.network,r=C(()=>Ho.get.networks),l=C(()=>{switch(qt.mode){case"network":return r.value.length>1;case"currency":return!0;default:return!0}});return(async()=>{if(window.cpCheckRpc)return;window.cpCheckRpc=!0,await Y1.checkRpcConnection()instanceof Error&&bo(ht.rpcConnectionError).then(()=>{window.location.reload()})})(),(n,a)=>{const i=nt("el-col"),c=nt("el-row");return b(),he(c,{justify:"center",class:"header"},{default:le(()=>[s(t).id?(b(),he(i,{key:0,span:12},{default:le(()=>[Ct($e(s(ht).orderId),1)]),_:1})):se("",!0),s(t).id?(b(),he(i,{key:1,span:12},{default:le(()=>[Ct($e(s(t).id),1)]),_:1})):se("",!0),ee(i,{span:12},{default:le(()=>[Ct($e(s(ht).orderAmount),1)]),_:1}),ee(i,{span:12},{default:le(()=>[Ct($e(s(t).amount)+" "+$e(s(t).currency),1)]),_:1}),ee(i,{span:12},{default:le(()=>[Ct($e(s(ht).amountToBePaid),1)]),_:1}),ee(i,{span:12},{default:le(()=>[ee(NC)]),_:1}),s(o)?(b(),he(i,{key:2,span:12},{default:le(()=>[Ct($e(s(ht).selectedNetwork),1)]),_:1})):se("",!0),s(o)?(b(),he(i,{key:3,span:12},{default:le(()=>[Ct($e(s(o).name)+" ",1),l.value?(b(),M("span",{key:0,onClick:a[0]||(a[0]=d=>s(Tt).$reset()),class:"change-network disable-el","data-disabled":s(Tt).isPaymentAmountUpdating}," ("+$e(s(ht).change)+")",9,PC)):se("",!0)]),_:1})):se("",!0)]),_:1})}}}),RC={class:"currencies"},LC=["onClick","data-disabled"],BC=["src","alt"],VC={class:"name"},DC={key:0,class:"discount"},HC=N({__name:"CurrencyList",setup(e){const t=Ge("container"),o=Tt.get.order,r=Tt.get.network,l=un((r==null?void 0:r.currencies)??[]),n=D(ht.payNow),a=c=>o.paymentCurrency.address==c.address?"selected":"",i=async c=>{Tt.isPaymentAmountUpdating||o.paymentCurrency.symbol==c.symbol||await Vt.call("selectedCurrency",{newCurrency:c,oldCurrency:o==null?void 0:o.paymentCurrency})};return ft(async()=>{let c=setInterval(()=>{var d;if((d=t==null?void 0:t.value)!=null&&d.querySelectorAll){const u=t.value.querySelectorAll(".adapters li");if(u.length==1&&u[0]){clearInterval(c);const p=u[0].querySelector(".name");let h=p==null?void 0:p.getAttribute("data-key"),v=p==null?void 0:p.getAttribute("data-name");h=="web3modal"?n.value=ht.payNow:n.value=ht.payWith.replace("{name}",v||"")}}},1)}),(c,d)=>{const u=nt("el-col"),p=nt("el-row"),h=nt("el-button");return b(),M(Qe,null,[ee(eb),s(l).length>1?(b(),he(p,{key:0},{default:le(()=>[ee(u,{span:24},{default:le(()=>[E("ul",RC,[ee(p,{gutter:20},{default:le(()=>[(b(!0),M(Qe,null,It(s(l),v=>(b(),he(u,{span:12,key:v.address},{default:le(()=>[E("li",{class:O(["disable-el",a(v)]),onClick:m=>i(v),"data-disabled":s(Tt).isPaymentAmountUpdating},[E("span",null,[E("img",{class:"icon",src:s(Xs)(v.symbol),alt:v.symbol},null,8,BC),E("span",VC,$e(v.symbol),1)]),s(qt).discountRates[v.symbol]?(b(),M("span",DC," ("+$e(s(qt).discountRates[v.symbol])+"% "+$e(s(ht).discount)+") ",1)):se("",!0)],10,LC)]),_:2},1024))),128))]),_:1})])]),_:1})]),_:1})):se("",!0),ee(h,{type:"primary",class:"button",disabled:s(Tt).isPaymentAmountUpdating,onClick:d[0]||(d[0]=v=>s(Vt).call("payNow",{order:s(o),network:s(r)}))},{default:le(()=>[Ct($e(n.value),1)]),_:1},8,["disabled"])],64)}}});var tb=(e=>(e.INCOMING="INCOMING",e.OUTGOING="OUTGOING",e))(tb||{}),ki=(e=>(e.GENERAL="GENERAL",e.CONTRACT="CONTRACT",e.COIN="COIN",e.TOKEN="TOKEN",e.NFT="NFT",e))(ki||{}),Ci=(e=>(e.FAILED="FAILED",e.PENDING="PENDING",e.CONFIRMED="CONFIRMED",e))(Ci||{}),Fo=(e=>(e.RPC_TIMEOUT="RPC_TIMEOUT",e.RPC_REQUEST_ERROR="RPC_REQUEST_ERROR",e.RPC_ACCESS_DENIED="RPC_ACCESS_DENIED",e.WS_URL_NOT_DEFINED="WS_URL_NOT_DEFINED",e.WS_CONNECTION_FAILED="WS_CONNECTION_FAILED",e.UNACCEPTED_CHAIN="UNACCEPTED_CHAIN",e.UNAUTHORIZED_ADDRESS="UNAUTHORIZED_ADDRESS",e.INSUFFICIENT_BALANCE="INSUFFICIENT_BALANCE",e.INVALID_AMOUNT="INVALID_AMOUNT",e.INVALID_ADDRESS="INVALID_ADDRESS",e.INVALID_PRIVATE_KEY="INVALID_PRIVATE_KEY",e.INVALID_PUBLIC_KEY="INVALID_PUBLIC_KEY",e.INVALID_TRANSACTION_ID="INVALID_TRANSACTION_ID",e.PROVIDER_IS_REQUIRED="PROVIDER_IS_REQUIRED",e.PROVIDER_IS_NOT_INITIALIZED="PROVIDER_IS_NOT_INITIALIZED",e.PROVIDER_IS_ALREADY_INITIALIZED="PROVIDER_IS_ALREADY_INITIALIZED",e.WALLET_ALREADY_PROCESSING="WALLET_ALREADY_PROCESSING",e.WALLET_CONNECT_REJECTED="WALLET_CONNECT_REJECTED",e.WALLET_REQUEST_REJECTED="WALLET_REQUEST_REJECTED",e.WALLET_CONNECTION_FAILED="WALLET_CONNECTION_FAILED",e.WALLET_CONNECTION_TIMEOUT="WALLET_CONNECTION_TIMEOUT",e.TRANSACTION_CREATION_FAILED="TRANSACTION_CREATION_FAILED",e.TRANSACTION_NOT_FOUND="TRANSACTION_NOT_FOUND",e.CLOSED_WALLETCONNECT_MODAL="CLOSED_WALLETCONNECT_MODAL",e.PROJECT_ID_IS_REQUIRED="PROJECT_ID_IS_REQUIRED",e.METADATA_IS_REQUIRED="METADATA_IS_REQUIRED",e.CONFIG_IS_REQUIRED="CONFIG_IS_REQUIRED",e))(Fo||{}),Zs=(e=>(e.BROWSER="BROWSER",e.MOBILE="MOBILE",e.DESKTOP="DESKTOP",e.UNIVERSAL="UNIVERSAL",e))(Zs||{});ki.GENERAL+"",ki.CONTRACT+"",ki.COIN+"",ki.TOKEN+"",ki.NFT+"";const FC=N({__name:"PaymentRequest",setup(e,{expose:t}){const o=Tt.get.order,r=Tt.get.network,l=Tt.get.receiver,n=D(!1),a=(c,d)=>{c!=Fo.CLOSED_WALLETCONNECT_MODAL&&(c==Fo.TRANSACTION_CREATION_FAILED?bo(ht.transactionCreateFail,ht.pleaseTryAgain):c==Fo.INSUFFICIENT_BALANCE?Al(ht.insufficientBalance):c==Fo.INVALID_AMOUNT?Al(ht.transferAmountError):c==Fo.WALLET_REQUEST_REJECTED||c==Fo.WALLET_CONNECT_REJECTED?Ju(ht.paymentRejected):c==Fo.RPC_ACCESS_DENIED||c.includes("Access forbidden")?bo(ht.rpcAccessForbidden):c==Fo.UNACCEPTED_CHAIN||c==Fo.RPC_REQUEST_ERROR?bo(ht.connectionError,Qu(r)):c==Fo.RPC_TIMEOUT?bo(ht.rpcTimeout):ht[d]?bo(ht[d]):c=="SAME_ADDRESS"?bo(ht.cannotPaySameAddress):bo(ht.anyError))};return t({start:async c=>{var u;n.value=!0,c0(),await Vt.call("walletPaymentRequest",{order:o,wallet:c,network:r});const d=async p=>{zo.error(p),await Vt.call("walletPaymentDeclined",{order:o,wallet:c,network:r}),n.value=!1,a(typeof p=="string"?p:p.message)};try{let p;(u=o.paymentCurrency)!=null&&u.address?p=new Un.assets.Token(o.paymentCurrency.address):p=new Un.assets.Coin;const h=await c.getAddress();if(zo.log("sender: ",h),h.toLowerCase()==l.toLowerCase())throw new Error("SAME_ADDRESS");const v=await p.transfer(h,l,o.paymentAmount);c.sendTransaction(v).then(async m=>{await Vt.call("walletPaymentApproved",{order:o,wallet:c,network:r}),n.value=!1,Tt.setTransactionHash(m)}).catch(d).finally(()=>{Gs(),xi(c)})}catch(p){d(p),Gs(),xi(c)}}}),(c,d)=>{const u=nt("cp-loading"),p=nt("cp-modal");return n.value?(b(),he(p,{key:0,title:s(ht).waitingApproval},{default:le(()=>[ee(u)]),_:1},8,["title"])):se("",!0)}}}),jC={class:"icon-wrapper"},KC=["src","alt"],UC=["data-key","data-name"],WC={class:"status"},qC={key:0},YC={key:1,class:"detected"},GC={key:2,class:"download"},XC={key:3,class:"onlyDesktop"},ZC={key:4,class:"openInApp"},JC={key:5,class:"openInAppManual"},QC=N({__name:"WalletAdapterList",emits:["statusChanged"],setup(e,{emit:t}){const o=Tt.get.order,r=Un.browser.Wallet,l=Tt.get.network,n=D(!1),a=D(0),i=D({}),c=D(!1),d=D(!1),u=D(["currency"].includes(qt.mode)),p=t;p("statusChanged",u.value),Se(u,R=>{p("statusChanged",R)});const h=D(null),v=D(null),m=C(()=>n.value?ht.connectionWallet:ht.selectWallet);Vt.add("payNow",()=>{f()},"walletList");const f=async()=>{var R,P;u.value=!0,Vt.call("walletListOpened",{network:l,order:o}),Object.values(i.value).length==1&&((P=(R=v.value)==null?void 0:R.listContent.querySelector("li"))==null||P.click())},_=()=>{Tt.isPaymentAmountUpdating||n.value||g()},g=()=>{u.value=!1,clearTimeout(a.value),Vt.call("walletListClosed",{network:l,order:o})};Vt.add("paymentReset",()=>{clearTimeout(a.value)},"walletList");const y=async R=>{const P={true:1,universal:2,false:3},L=await Promise.all(Object.keys(R).map(async B=>{const V=R[B],J=V.platforms.includes(Zs.UNIVERSAL)?"universal":await V.isDetected();return{key:B,isDetected:J}}));return L.sort((B,V)=>P[B.isDetected]-P[V.isDetected]),L.map(B=>B.key)},w=async()=>{let R=G1(qt.wallets);return R=(await y(R)).reduce((L,B)=>(L[B]=R[B],L),{}),u0()&&Object.values(R).forEach(async L=>{if(await L.isDetected())return R={},R[L.id]=L,!0}),R},x=()=>{clearTimeout(a.value),a.value=setTimeout(()=>{n.value=!1,bo(ht.walletConnectionTimedOut)},30*1e3)},$=R=>R==Fo.CLOSED_WALLETCONNECT_MODAL?!1:R.indexOf("Connection request reset. Please try again.")===-1;Vt.add("walletConnectionDeclined, walletPaymentDeclined",({wallet:R})=>{qt.mode=="network"?Object.values(i.value).length>1?f():g():f(),n.value=!1,clearTimeout(a.value),xi(R),d.value=!1},"walletList"),Vt.add("walletPaymentApproved",()=>{c.value=!0},"walletList");const T=async R=>{if(!r)return bo(ht.notFoundAnyWallet);const P=new r(R);if(await xi(P),await P.isDetected()===!1)return yi()?P.getPlatforms().includes(Zs.MOBILE)?P.adapter.createDeepLink?(Al(ht.openInAppMsg),window.open(P.createDeepLink(window.location.origin),"_blank")):Al(ht.openInAppManualMsg):Al(ht.onlyDesktopMsg):P.getDownloadLink()?(window.open(P.getDownloadLink(),"_blank"),Al(ht.downloadMsg)):Al(ht.downloadManualMsg);await Vt.call("walletConnectionRequest",{network:l,order:o,wallet:P}),["walletconnect","web3modal"].includes(P.getId())||x();const L=qt.adapterConfig;L.metadata={name:"CryptoPay",url:window.location.origin,description:"Crypto Payment Gateway",icons:[qt.logo]};try{n.value=!0,P.connect(L).then(async()=>{var B;n.value=!1,clearTimeout(a.value),await Vt.call("walletConnectionApproved",{network:l,order:o,wallet:P}),dC(P),(B=h.value)==null||B.start(P),d.value=!0}).catch(async B=>{n.value=!1,clearTimeout(a.value),zo.error(B),await Vt.call("walletConnectionDeclined",{network:l,order:o,wallet:P});const V=typeof B=="string"?B:B.message;$(V)&&(V==Fo.WALLET_REQUEST_REJECTED||V==Fo.WALLET_CONNECT_REJECTED?Ju(ht.connectionRejected):V==Fo.WALLET_ALREADY_PROCESSING?bo(ht.alreadyProcessing):V==Fo.UNACCEPTED_CHAIN?bo(ht.connectionError,Qu(l)):V==Fo.RPC_ACCESS_DENIED?bo(ht.rpcAccessForbidden):V==Fo.RPC_REQUEST_ERROR?bo(ht.connectionError,Qu(l)):V==Fo.RPC_TIMEOUT?bo(ht.rpcTimeout):ht[B]?bo(ht[B]):typeof B=="object"?B.message.includes("Proposal expired")&&bo(ht.walletConnectionTimedOut):bo(ht.anyError))})}catch(B){zo.error(B)}};return ft(async()=>{i.value=await w()}),(R,P)=>{const L=nt("cp-loading"),B=nt("cp-list"),V=nt("cp-modal");return b(),M(Qe,null,[c.value?se("",!0):mt((b(),he(V,{key:0,show:u.value,title:m.value,onClose:P[0]||(P[0]=j=>_())},{default:le(()=>[s(qt).mode=="currency"?mt((b(),he(eb,{key:0},null,512)),[[Lt,!n.value]]):se("",!0),n.value?(b(),he(L,{key:1})):(b(),he(B,{key:2,search:!1,ref_key:"adapterListEl",ref:v,itemClass:"adapter",onHandleClick:T,list:Object.values(i.value),noFoundMsg:s(ht).notFoundAnyNetworkForPayment,listClass:"adapters "+(s(Tt).isPaymentAmountUpdating?"disabled":"")},{default:le(({item:j})=>[E("div",jC,[E("img",{class:"icon",src:j.icon,alt:j.name},null,8,KC)]),E("span",{class:"name","data-key":j.id,"data-name":j.name},$e(j.name),9,UC),E("span",WC,[j.platforms.includes(s(Zs).UNIVERSAL)?(b(),M("span",qC)):j.isDetected()===!0?(b(),M("span",YC,$e(s(ht).detected),1)):!yi()&&j.isDetected()===!1?(b(),M("span",GC,$e(s(ht).download),1)):yi()&&!j.platforms.includes(s(Zs).MOBILE)?(b(),M("span",XC,$e(s(ht).onlyDesktop),1)):yi()&&j.createDeepLink?(b(),M("span",ZC,$e(s(ht).openInApp),1)):yi()&&!j.createDeepLink?(b(),M("span",JC,$e(s(ht).openInAppManual),1)):se("",!0)])]),_:1},8,["list","noFoundMsg","listClass"]))]),_:1},8,["show","title"])),[[Lt,!d.value]]),ee(FC,{ref_key:"paymentRequest",ref:h},null,512)],64)}}});let Sa={};const Js={add:e=>{Sa=Object.assign(Sa,e)},set:(e,t)=>{Sa[e]=t},remove:e=>{delete Sa[e]},get:e=>Sa[e],getAll:()=>Sa,removeAll:()=>{Sa={}}},e7=N({__name:"TransactionProcess",props:{transactionHash:{type:String,required:!0}},setup(e){const t=D(!0),o=e;return ft(async()=>{try{const r=Tt.get.order,l=Tt.get.network,n=Tt.transactionInstance(o.transactionHash),a=await Vt.call("transactionReceived",{order:r,network:l,transaction:n});if(!Vt.check(a))return;if(qt.createTransaction){const i=await Tt.get.api.createTransaction(n);if(i.success)i.data&&Js.add(i.data);else{await Vt.call("transactionCreateFail",{order:r,network:l,transaction:n}),bo(i.message||ht.anyError).then(()=>{Ys(),i.data&&i.data.redirect?i.data.redirect=="reload"?window.location.reload():window.location.href=i.data.redirect:window.location.reload()});return}await Vt.call("transactionCreated",{order:r,network:l,transaction:n})}qt.confirmation&&Tt.setProcess(Zu.CONFIRMATION),t.value=!1}catch(r){return zo.error(r),!1}}),(r,l)=>{const n=nt("cp-loading"),a=nt("cp-modal");return t.value?(b(),he(a,{key:0,title:s(ht).processing},{default:le(()=>[ee(n)]),_:1},8,["title"])):se("",!0)}}});function ob(e,t){return function(){return e.apply(t,arguments)}}const{toString:t7}=Object.prototype,{getPrototypeOf:d0}=Object,td=(e=>t=>{const o=t7.call(t);return e[o]||(e[o]=o.slice(8,-1).toLowerCase())})(Object.create(null)),ul=e=>(e=e.toLowerCase(),t=>td(t)===e),od=e=>t=>typeof t===e,{isArray:Si}=Array,Qs=od("undefined");function o7(e){return e!==null&&!Qs(e)&&e.constructor!==null&&!Qs(e.constructor)&&Ur(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const rb=ul("ArrayBuffer");function r7(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&rb(e.buffer),t}const l7=od("string"),Ur=od("function"),lb=od("number"),rd=e=>e!==null&&typeof e=="object",n7=e=>e===!0||e===!1,ld=e=>{if(td(e)!=="object")return!1;const t=d0(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},a7=ul("Date"),i7=ul("File"),s7=ul("Blob"),c7=ul("FileList"),u7=e=>rd(e)&&Ur(e.pipe),d7=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||Ur(e.append)&&((t=td(e))==="formdata"||t==="object"&&Ur(e.toString)&&e.toString()==="[object FormData]"))},p7=ul("URLSearchParams"),[f7,h7,v7,m7]=["ReadableStream","Request","Response","Headers"].map(ul),g7=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function ec(e,t,{allOwnKeys:o=!1}={}){if(e===null||typeof e>"u")return;let r,l;if(typeof e!="object"&&(e=[e]),Si(e))for(r=0,l=e.length;r0;)if(l=o[r],t===l.toLowerCase())return l;return null}const ab=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:Xl,ib=e=>!Qs(e)&&e!==ab;function p0(){const{caseless:e}=ib(this)&&this||{},t={},o=(r,l)=>{const n=e&&nb(t,l)||l;ld(t[n])&&ld(r)?t[n]=p0(t[n],r):ld(r)?t[n]=p0({},r):Si(r)?t[n]=r.slice():t[n]=r};for(let r=0,l=arguments.length;r(ec(t,(l,n)=>{o&&Ur(l)?e[n]=ob(l,o):e[n]=l},{allOwnKeys:r}),e),_7=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),w7=(e,t,o,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),o&&Object.assign(e.prototype,o)},y7=(e,t,o,r)=>{let l,n,a;const i={};if(t=t||{},e==null)return t;do{for(l=Object.getOwnPropertyNames(e),n=l.length;n-- >0;)a=l[n],(!r||r(a,e,t))&&!i[a]&&(t[a]=e[a],i[a]=!0);e=o!==!1&&d0(e)}while(e&&(!o||o(e,t))&&e!==Object.prototype);return t},x7=(e,t,o)=>{e=String(e),(o===void 0||o>e.length)&&(o=e.length),o-=t.length;const r=e.indexOf(t,o);return r!==-1&&r===o},k7=e=>{if(!e)return null;if(Si(e))return e;let t=e.length;if(!lb(t))return null;const o=new Array(t);for(;t-- >0;)o[t]=e[t];return o},C7=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&d0(Uint8Array)),S7=(e,t)=>{const r=(e&&e[Symbol.iterator]).call(e);let l;for(;(l=r.next())&&!l.done;){const n=l.value;t.call(e,n[0],n[1])}},E7=(e,t)=>{let o;const r=[];for(;(o=e.exec(t))!==null;)r.push(o);return r},T7=ul("HTMLFormElement"),$7=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(o,r,l){return r.toUpperCase()+l}),sb=(({hasOwnProperty:e})=>(t,o)=>e.call(t,o))(Object.prototype),M7=ul("RegExp"),cb=(e,t)=>{const o=Object.getOwnPropertyDescriptors(e),r={};ec(o,(l,n)=>{let a;(a=t(l,n,e))!==!1&&(r[n]=a||l)}),Object.defineProperties(e,r)},A7=e=>{cb(e,(t,o)=>{if(Ur(e)&&["arguments","caller","callee"].indexOf(o)!==-1)return!1;const r=e[o];if(Ur(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+o+"'")})}})},z7=(e,t)=>{const o={},r=l=>{l.forEach(n=>{o[n]=!0})};return Si(e)?r(e):r(String(e).split(t)),o},I7=()=>{},O7=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t,f0="abcdefghijklmnopqrstuvwxyz",ub="0123456789",db={DIGIT:ub,ALPHA:f0,ALPHA_DIGIT:f0+f0.toUpperCase()+ub},N7=(e=16,t=db.ALPHA_DIGIT)=>{let o="";const{length:r}=t;for(;e--;)o+=t[Math.random()*r|0];return o};function P7(e){return!!(e&&Ur(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const R7=e=>{const t=new Array(10),o=(r,l)=>{if(rd(r)){if(t.indexOf(r)>=0)return;if(!("toJSON"in r)){t[l]=r;const n=Si(r)?[]:{};return ec(r,(a,i)=>{const c=o(a,l+1);!Qs(c)&&(n[i]=c)}),t[l]=void 0,n}}return r};return o(e,0)},L7=ul("AsyncFunction"),Ue={isArray:Si,isArrayBuffer:rb,isBuffer:o7,isFormData:d7,isArrayBufferView:r7,isString:l7,isNumber:lb,isBoolean:n7,isObject:rd,isPlainObject:ld,isReadableStream:f7,isRequest:h7,isResponse:v7,isHeaders:m7,isUndefined:Qs,isDate:a7,isFile:i7,isBlob:s7,isRegExp:M7,isFunction:Ur,isStream:u7,isURLSearchParams:p7,isTypedArray:C7,isFileList:c7,forEach:ec,merge:p0,extend:b7,trim:g7,stripBOM:_7,inherits:w7,toFlatObject:y7,kindOf:td,kindOfTest:ul,endsWith:x7,toArray:k7,forEachEntry:S7,matchAll:E7,isHTMLForm:T7,hasOwnProperty:sb,hasOwnProp:sb,reduceDescriptors:cb,freezeMethods:A7,toObjectSet:z7,toCamelCase:$7,noop:I7,toFiniteNumber:O7,findKey:nb,global:ab,isContextDefined:ib,ALPHABET:db,generateString:N7,isSpecCompliantForm:P7,toJSONObject:R7,isAsyncFn:L7,isThenable:e=>e&&(rd(e)||Ur(e))&&Ur(e.then)&&Ur(e.catch)};var pb={},nd={};nd.byteLength=D7,nd.toByteArray=F7,nd.fromByteArray=U7;for(var zl=[],Wr=[],B7=typeof Uint8Array<"u"?Uint8Array:Array,h0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ei=0,V7=h0.length;Ei0)throw new Error("Invalid string. Length must be a multiple of 4");var o=e.indexOf("=");o===-1&&(o=t);var r=o===t?0:4-o%4;return[o,r]}function D7(e){var t=fb(e),o=t[0],r=t[1];return(o+r)*3/4-r}function H7(e,t,o){return(t+o)*3/4-o}function F7(e){var t,o=fb(e),r=o[0],l=o[1],n=new B7(H7(e,r,l)),a=0,i=l>0?r-4:r,c;for(c=0;c>16&255,n[a++]=t>>8&255,n[a++]=t&255;return l===2&&(t=Wr[e.charCodeAt(c)]<<2|Wr[e.charCodeAt(c+1)]>>4,n[a++]=t&255),l===1&&(t=Wr[e.charCodeAt(c)]<<10|Wr[e.charCodeAt(c+1)]<<4|Wr[e.charCodeAt(c+2)]>>2,n[a++]=t>>8&255,n[a++]=t&255),n}function j7(e){return zl[e>>18&63]+zl[e>>12&63]+zl[e>>6&63]+zl[e&63]}function K7(e,t,o){for(var r,l=[],n=t;ni?i:a+n));return r===1?(t=e[o-1],l.push(zl[t>>2]+zl[t<<4&63]+"==")):r===2&&(t=(e[o-2]<<8)+e[o-1],l.push(zl[t>>10]+zl[t>>4&63]+zl[t<<2&63]+"=")),l.join("")}var v0={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */v0.read=function(e,t,o,r,l){var n,a,i=l*8-r-1,c=(1<>1,u=-7,p=o?l-1:0,h=o?-1:1,v=e[t+p];for(p+=h,n=v&(1<<-u)-1,v>>=-u,u+=i;u>0;n=n*256+e[t+p],p+=h,u-=8);for(a=n&(1<<-u)-1,n>>=-u,u+=r;u>0;a=a*256+e[t+p],p+=h,u-=8);if(n===0)n=1-d;else{if(n===c)return a?NaN:(v?-1:1)*(1/0);a=a+Math.pow(2,r),n=n-d}return(v?-1:1)*a*Math.pow(2,n-r)},v0.write=function(e,t,o,r,l,n){var a,i,c,d=n*8-l-1,u=(1<>1,h=l===23?Math.pow(2,-24)-Math.pow(2,-77):0,v=r?0:n-1,m=r?1:-1,f=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(i=isNaN(t)?1:0,a=u):(a=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-a))<1&&(a--,c*=2),a+p>=1?t+=h/c:t+=h*Math.pow(2,1-p),t*c>=2&&(a++,c/=2),a+p>=u?(i=0,a=u):a+p>=1?(i=(t*c-1)*Math.pow(2,l),a=a+p):(i=t*Math.pow(2,p-1)*Math.pow(2,l),a=0));l>=8;e[o+v]=i&255,v+=m,i/=256,l-=8);for(a=a<0;e[o+v]=a&255,v+=m,a/=256,d-=8);e[o+v-m]|=f*128};/*! + `}else return(t.paymentAmount||0)+" "+t.paymentCurrency.symbol}),r=async c=>{if(t.amount==0)return 0;Tt.setOrderParam("paymentAmount",0);const d=await Tt.get.api.currencyConverter();return await Vt.call("currencyConverter",{paymentCurrency:c,paymentAmount:d}),d?Tt.setOrderParams({paymentAmount:d}):(Tt.setOrderParam("paymentAmount",0),Al(ht.convertingError).then(()=>{Ys(),window.location.reload()})),d};let l=un(t);Se(t,c=>{l&&l.amount!=c.amount&&r(t.paymentCurrency),l=un(c)});const n=c=>{if(Ho.get.amountUpdateInterval)return;const d=setInterval(async()=>{i(t.paymentCurrency)},qt.amountUpdateMin*60*1e3);zo.log("Start amount updater: ",d,"event: ",c),Ho.set("amountUpdateInterval",d)},a=c=>{if(!Ho.get.amountUpdateInterval)return;const d=Ho.get.amountUpdateInterval;zo.log("Stop amount updater: ",d,"event: ",c),Ho.stopAmountUpdateInterval()},i=async c=>qt.modal&&!Ho.get.modal?zo.log("Currency not updated, because modal is not opened"):(zo.log("Currency updating: ",c),a("interval"),await r(c),n("interval"),!0);return Vt.add("selectedCurrency",({newCurrency:c})=>(Tt.setOrderParams({paymentCurrency:c}),i(c)),"paymentAmount"),Vt.add("paymentReset",()=>{a("paymentReset")},"paymentAmount"),qt.mode=="network"?(Vt.add("walletListOpened",({eventName:c})=>{a(c)},"paymentAmount"),Vt.add("walletListClosed",({eventName:c})=>{n(c)},"paymentAmount")):(Vt.add("walletConnectionRequest",({eventName:c})=>{a(c)},"paymentAmount"),Vt.add("walletPaymentDeclined, walletConnectionDeclined",({eventName:c})=>{n(c)},"paymentAmount")),ft(()=>{n("mounted")}),(c,d)=>(b(),M("div",{class:"payment-amount",innerHTML:o.value},null,8,OC))}}),PC=["data-disabled"],eb=N({__name:"InformationHeader",setup(e){const t=Tt.get.order,o=Tt.get.network,r=C(()=>Ho.get.networks),l=C(()=>{switch(qt.mode){case"network":return r.value.length>1;case"currency":return!0;default:return!0}});return(async()=>{if(window.cpCheckRpc)return;window.cpCheckRpc=!0,await Y1.checkRpcConnection()instanceof Error&&bo(ht.rpcConnectionError).then(()=>{window.location.reload()})})(),(n,a)=>{const i=nt("el-col"),c=nt("el-row");return b(),he(c,{justify:"center",class:"header"},{default:le(()=>[s(t).id?(b(),he(i,{key:0,span:12},{default:le(()=>[Ct($e(s(ht).orderId),1)]),_:1})):se("",!0),s(t).id?(b(),he(i,{key:1,span:12},{default:le(()=>[Ct($e(s(t).id),1)]),_:1})):se("",!0),ee(i,{span:12},{default:le(()=>[Ct($e(s(ht).orderAmount),1)]),_:1}),ee(i,{span:12},{default:le(()=>[Ct($e(s(t).amount)+" "+$e(s(t).currency),1)]),_:1}),ee(i,{span:12},{default:le(()=>[Ct($e(s(ht).amountToBePaid),1)]),_:1}),ee(i,{span:12},{default:le(()=>[ee(NC)]),_:1}),s(o)?(b(),he(i,{key:2,span:12},{default:le(()=>[Ct($e(s(ht).selectedNetwork),1)]),_:1})):se("",!0),s(o)?(b(),he(i,{key:3,span:12},{default:le(()=>[Ct($e(s(o).name)+" ",1),l.value?(b(),M("span",{key:0,onClick:a[0]||(a[0]=d=>s(Tt).$reset()),class:"change-network disable-el","data-disabled":s(Tt).isPaymentAmountUpdating}," ("+$e(s(ht).change)+")",9,PC)):se("",!0)]),_:1})):se("",!0)]),_:1})}}}),RC={class:"currencies"},LC=["onClick","data-disabled"],BC=["src","alt"],VC={class:"name"},DC={key:0,class:"discount"},HC=N({__name:"CurrencyList",setup(e){const t=Ge("container"),o=Tt.get.order,r=Tt.get.network,l=un((r==null?void 0:r.currencies)??[]),n=D(ht.payNow),a=c=>o.paymentCurrency.address==c.address?"selected":"",i=async c=>{Tt.isPaymentAmountUpdating||o.paymentCurrency.symbol==c.symbol||await Vt.call("selectedCurrency",{newCurrency:c,oldCurrency:o==null?void 0:o.paymentCurrency})};return ft(async()=>{let c=setInterval(()=>{var d;if((d=t==null?void 0:t.value)!=null&&d.querySelectorAll){const u=t.value.querySelectorAll(".adapters li");if(u.length==1&&u[0]){clearInterval(c);const p=u[0].querySelector(".name");let h=p==null?void 0:p.getAttribute("data-key"),v=p==null?void 0:p.getAttribute("data-name");h=="web3modal"?n.value=ht.payNow:n.value=ht.payWith.replace("{name}",v||"")}}},1)}),(c,d)=>{const u=nt("el-col"),p=nt("el-row"),h=nt("el-button");return b(),M(Qe,null,[ee(eb),s(l).length>1?(b(),he(p,{key:0},{default:le(()=>[ee(u,{span:24},{default:le(()=>[E("ul",RC,[ee(p,{gutter:20},{default:le(()=>[(b(!0),M(Qe,null,It(s(l),v=>(b(),he(u,{span:12,key:v.address},{default:le(()=>[E("li",{class:O(["disable-el",a(v)]),onClick:m=>i(v),"data-disabled":s(Tt).isPaymentAmountUpdating},[E("span",null,[E("img",{class:"icon",src:s(Xs)(v.symbol),alt:v.symbol},null,8,BC),E("span",VC,$e(v.symbol),1)]),s(qt).discountRates[v.symbol]?(b(),M("span",DC," ("+$e(s(qt).discountRates[v.symbol])+"% "+$e(s(ht).discount)+") ",1)):se("",!0)],10,LC)]),_:2},1024))),128))]),_:1})])]),_:1})]),_:1})):se("",!0),ee(h,{type:"primary",class:"button",disabled:s(Tt).isPaymentAmountUpdating,onClick:d[0]||(d[0]=v=>s(Vt).call("payNow",{order:s(o),network:s(r)}))},{default:le(()=>[Ct($e(n.value),1)]),_:1},8,["disabled"])],64)}}});var tb=(e=>(e.INCOMING="INCOMING",e.OUTGOING="OUTGOING",e))(tb||{}),ki=(e=>(e.GENERAL="GENERAL",e.CONTRACT="CONTRACT",e.COIN="COIN",e.TOKEN="TOKEN",e.NFT="NFT",e))(ki||{}),Ci=(e=>(e.FAILED="FAILED",e.PENDING="PENDING",e.CONFIRMED="CONFIRMED",e))(Ci||{}),Fo=(e=>(e.RPC_TIMEOUT="RPC_TIMEOUT",e.RPC_REQUEST_ERROR="RPC_REQUEST_ERROR",e.RPC_ACCESS_DENIED="RPC_ACCESS_DENIED",e.WS_URL_NOT_DEFINED="WS_URL_NOT_DEFINED",e.WS_CONNECTION_FAILED="WS_CONNECTION_FAILED",e.UNACCEPTED_CHAIN="UNACCEPTED_CHAIN",e.UNAUTHORIZED_ADDRESS="UNAUTHORIZED_ADDRESS",e.INSUFFICIENT_BALANCE="INSUFFICIENT_BALANCE",e.INVALID_AMOUNT="INVALID_AMOUNT",e.INVALID_ADDRESS="INVALID_ADDRESS",e.INVALID_PRIVATE_KEY="INVALID_PRIVATE_KEY",e.INVALID_PUBLIC_KEY="INVALID_PUBLIC_KEY",e.INVALID_TRANSACTION_ID="INVALID_TRANSACTION_ID",e.PROVIDER_IS_REQUIRED="PROVIDER_IS_REQUIRED",e.PROVIDER_IS_NOT_INITIALIZED="PROVIDER_IS_NOT_INITIALIZED",e.PROVIDER_IS_ALREADY_INITIALIZED="PROVIDER_IS_ALREADY_INITIALIZED",e.WALLET_ALREADY_PROCESSING="WALLET_ALREADY_PROCESSING",e.WALLET_CONNECT_REJECTED="WALLET_CONNECT_REJECTED",e.WALLET_REQUEST_REJECTED="WALLET_REQUEST_REJECTED",e.WALLET_CONNECTION_FAILED="WALLET_CONNECTION_FAILED",e.WALLET_CONNECTION_TIMEOUT="WALLET_CONNECTION_TIMEOUT",e.TRANSACTION_CREATION_FAILED="TRANSACTION_CREATION_FAILED",e.TRANSACTION_NOT_FOUND="TRANSACTION_NOT_FOUND",e.CLOSED_WALLETCONNECT_MODAL="CLOSED_WALLETCONNECT_MODAL",e.PROJECT_ID_IS_REQUIRED="PROJECT_ID_IS_REQUIRED",e.METADATA_IS_REQUIRED="METADATA_IS_REQUIRED",e.CONFIG_IS_REQUIRED="CONFIG_IS_REQUIRED",e))(Fo||{}),Zs=(e=>(e.BROWSER="BROWSER",e.MOBILE="MOBILE",e.DESKTOP="DESKTOP",e.UNIVERSAL="UNIVERSAL",e))(Zs||{});ki.GENERAL+"",ki.CONTRACT+"",ki.COIN+"",ki.TOKEN+"",ki.NFT+"";const FC=N({__name:"PaymentRequest",setup(e,{expose:t}){const o=Tt.get.order,r=Tt.get.network,l=Tt.get.receiver,n=D(!1),a=(c,d)=>{c!=Fo.CLOSED_WALLETCONNECT_MODAL&&(c==Fo.TRANSACTION_CREATION_FAILED?bo(ht.transactionCreateFail,ht.pleaseTryAgain):c==Fo.INSUFFICIENT_BALANCE?Al(ht.insufficientBalance):c==Fo.INVALID_AMOUNT?Al(ht.transferAmountError):c==Fo.WALLET_REQUEST_REJECTED||c==Fo.WALLET_CONNECT_REJECTED?Ju(ht.paymentRejected):c==Fo.RPC_ACCESS_DENIED||c.includes("Access forbidden")?bo(ht.rpcAccessForbidden):c==Fo.UNACCEPTED_CHAIN||c==Fo.RPC_REQUEST_ERROR?bo(ht.connectionError,Qu(r)):c==Fo.RPC_TIMEOUT?bo(ht.rpcTimeout):ht[d]?bo(ht[d]):c=="SAME_ADDRESS"?bo(ht.cannotPaySameAddress):bo(ht.anyError))};return t({start:async c=>{var u;n.value=!0,c0(),await Vt.call("walletPaymentRequest",{order:o,wallet:c,network:r});const d=async p=>{zo.error(p),await Vt.call("walletPaymentDeclined",{order:o,wallet:c,network:r}),n.value=!1,a(typeof p=="string"?p:p.message)};try{let p;(u=o.paymentCurrency)!=null&&u.address?p=new Un.assets.Token(o.paymentCurrency.address):p=new Un.assets.Coin;const h=await c.getAddress();if(zo.log("sender: ",h),h.toLowerCase()==l.toLowerCase())throw new Error("SAME_ADDRESS");const v=await p.transfer(h,l,o.paymentAmount);c.sendTransaction(v).then(async m=>{await Vt.call("walletPaymentApproved",{order:o,wallet:c,network:r}),n.value=!1,Tt.setTransactionHash(m)}).catch(d).finally(()=>{Gs(),xi(c)})}catch(p){d(p),Gs(),xi(c)}}}),(c,d)=>{const u=nt("cp-loading"),p=nt("cp-modal");return n.value?(b(),he(p,{key:0,title:s(ht).waitingApproval},{default:le(()=>[ee(u)]),_:1},8,["title"])):se("",!0)}}}),jC={class:"icon-wrapper"},KC=["src","alt"],UC=["data-key","data-name"],WC={class:"status"},qC={key:0},YC={key:1,class:"detected"},GC={key:2,class:"download"},XC={key:3,class:"onlyDesktop"},ZC={key:4,class:"openInApp"},JC={key:5,class:"openInAppManual"},QC=N({__name:"WalletAdapterList",emits:["statusChanged"],setup(e,{emit:t}){const o=Tt.get.order,r=Un.browser.Wallet,l=Tt.get.network,n=D(!1),a=D(0),i=D({}),c=D(!1),d=D(!1),u=D(["currency"].includes(qt.mode)),p=t;p("statusChanged",u.value),Se(u,R=>{p("statusChanged",R)});const h=D(null),v=D(null),m=C(()=>n.value?ht.connectionWallet:ht.selectWallet);Vt.add("payNow",()=>{f()},"walletList");const f=async()=>{var R,P;u.value=!0,Vt.call("walletListOpened",{network:l,order:o}),Object.values(i.value).length==1&&((P=(R=v.value)==null?void 0:R.listContent.querySelector("li"))==null||P.click())},_=()=>{Tt.isPaymentAmountUpdating||n.value||g()},g=()=>{u.value=!1,clearTimeout(a.value),Vt.call("walletListClosed",{network:l,order:o})};Vt.add("paymentReset",()=>{clearTimeout(a.value)},"walletList");const y=async R=>{const P={true:1,universal:2,false:3},L=await Promise.all(Object.keys(R).map(async V=>{const B=R[V],J=B.platforms.includes(Zs.UNIVERSAL)?"universal":await B.isDetected();return{key:V,isDetected:J}}));return L.sort((V,B)=>P[V.isDetected]-P[B.isDetected]),L.map(V=>V.key)},w=async()=>{let R=G1(qt.wallets);return R=(await y(R)).reduce((L,V)=>(L[V]=R[V],L),{}),u0()&&Object.values(R).forEach(async L=>{if(await L.isDetected())return R={},R[L.id]=L,!0}),R},x=()=>{clearTimeout(a.value),a.value=setTimeout(()=>{n.value=!1,bo(ht.walletConnectionTimedOut)},30*1e3)},$=R=>R==Fo.CLOSED_WALLETCONNECT_MODAL?!1:R.indexOf("Connection request reset. Please try again.")===-1;Vt.add("walletConnectionDeclined, walletPaymentDeclined",({wallet:R})=>{qt.mode=="network"?Object.values(i.value).length>1?f():g():f(),n.value=!1,clearTimeout(a.value),xi(R),d.value=!1},"walletList"),Vt.add("walletPaymentApproved",()=>{c.value=!0},"walletList");const T=async R=>{if(!r)return bo(ht.notFoundAnyWallet);const P=new r(R);if(await xi(P),await P.isDetected()===!1)return yi()?P.getPlatforms().includes(Zs.MOBILE)?P.adapter.createDeepLink?(Al(ht.openInAppMsg),window.open(P.createDeepLink(window.location.origin),"_blank")):Al(ht.openInAppManualMsg):Al(ht.onlyDesktopMsg):P.getDownloadLink()?(window.open(P.getDownloadLink(),"_blank"),Al(ht.downloadMsg)):Al(ht.downloadManualMsg);await Vt.call("walletConnectionRequest",{network:l,order:o,wallet:P}),["walletconnect","web3modal"].includes(P.getId())||x();const L=qt.adapterConfig;P.getId()=="web3modal"&&(L.events=[function(B){B.data.event==="CONNECT_SUCCESS"&&x()}]),L.metadata={name:"CryptoPay",url:window.location.origin,description:"Crypto Payment Gateway",icons:[qt.logo]};try{n.value=!0,P.connect(L).then(async()=>{var V;n.value=!1,clearTimeout(a.value),await Vt.call("walletConnectionApproved",{network:l,order:o,wallet:P}),dC(P),(V=h.value)==null||V.start(P),d.value=!0}).catch(async V=>{n.value=!1,clearTimeout(a.value),zo.error(V),await Vt.call("walletConnectionDeclined",{network:l,order:o,wallet:P});const B=typeof V=="string"?V:V.message;$(B)&&(B==Fo.WALLET_REQUEST_REJECTED||B==Fo.WALLET_CONNECT_REJECTED?Ju(ht.connectionRejected):B==Fo.WALLET_ALREADY_PROCESSING?bo(ht.alreadyProcessing):B==Fo.UNACCEPTED_CHAIN?bo(ht.connectionError,Qu(l)):B==Fo.RPC_ACCESS_DENIED?bo(ht.rpcAccessForbidden):B==Fo.RPC_REQUEST_ERROR?bo(ht.connectionError,Qu(l)):B==Fo.RPC_TIMEOUT?bo(ht.rpcTimeout):ht[V]?bo(ht[V]):typeof V=="object"?V.message.includes("Proposal expired")&&bo(ht.walletConnectionTimedOut):bo(ht.anyError))})}catch(V){zo.error(V)}};return ft(async()=>{i.value=await w()}),(R,P)=>{const L=nt("cp-loading"),V=nt("cp-list"),B=nt("cp-modal");return b(),M(Qe,null,[c.value?se("",!0):mt((b(),he(B,{key:0,show:u.value,title:m.value,onClose:P[0]||(P[0]=j=>_())},{default:le(()=>[s(qt).mode=="currency"?mt((b(),he(eb,{key:0},null,512)),[[Lt,!n.value]]):se("",!0),n.value?(b(),he(L,{key:1})):(b(),he(V,{key:2,search:!1,ref_key:"adapterListEl",ref:v,itemClass:"adapter",onHandleClick:T,list:Object.values(i.value),noFoundMsg:s(ht).notFoundAnyNetworkForPayment,listClass:"adapters "+(s(Tt).isPaymentAmountUpdating?"disabled":"")},{default:le(({item:j})=>[E("div",jC,[E("img",{class:"icon",src:j.icon,alt:j.name},null,8,KC)]),E("span",{class:"name","data-key":j.id,"data-name":j.name},$e(j.name),9,UC),E("span",WC,[j.platforms.includes(s(Zs).UNIVERSAL)?(b(),M("span",qC)):j.isDetected()===!0?(b(),M("span",YC,$e(s(ht).detected),1)):!yi()&&j.isDetected()===!1?(b(),M("span",GC,$e(s(ht).download),1)):yi()&&!j.platforms.includes(s(Zs).MOBILE)?(b(),M("span",XC,$e(s(ht).onlyDesktop),1)):yi()&&j.createDeepLink?(b(),M("span",ZC,$e(s(ht).openInApp),1)):yi()&&!j.createDeepLink?(b(),M("span",JC,$e(s(ht).openInAppManual),1)):se("",!0)])]),_:1},8,["list","noFoundMsg","listClass"]))]),_:1},8,["show","title"])),[[Lt,!d.value]]),ee(FC,{ref_key:"paymentRequest",ref:h},null,512)],64)}}});let Sa={};const Js={add:e=>{Sa=Object.assign(Sa,e)},set:(e,t)=>{Sa[e]=t},remove:e=>{delete Sa[e]},get:e=>Sa[e],getAll:()=>Sa,removeAll:()=>{Sa={}}},e7=N({__name:"TransactionProcess",props:{transactionHash:{type:String,required:!0}},setup(e){const t=D(!0),o=e;return ft(async()=>{try{const r=Tt.get.order,l=Tt.get.network,n=Tt.transactionInstance(o.transactionHash),a=await Vt.call("transactionReceived",{order:r,network:l,transaction:n});if(!Vt.check(a))return;if(qt.createTransaction){const i=await Tt.get.api.createTransaction(n);if(i.success)i.data&&Js.add(i.data);else{await Vt.call("transactionCreateFail",{order:r,network:l,transaction:n}),bo(i.message||ht.anyError).then(()=>{Ys(),i.data&&i.data.redirect?i.data.redirect=="reload"?window.location.reload():window.location.href=i.data.redirect:window.location.reload()});return}await Vt.call("transactionCreated",{order:r,network:l,transaction:n})}qt.confirmation&&Tt.setProcess(Zu.CONFIRMATION),t.value=!1}catch(r){return zo.error(r),!1}}),(r,l)=>{const n=nt("cp-loading"),a=nt("cp-modal");return t.value?(b(),he(a,{key:0,title:s(ht).processing},{default:le(()=>[ee(n)]),_:1},8,["title"])):se("",!0)}}});function ob(e,t){return function(){return e.apply(t,arguments)}}const{toString:t7}=Object.prototype,{getPrototypeOf:d0}=Object,td=(e=>t=>{const o=t7.call(t);return e[o]||(e[o]=o.slice(8,-1).toLowerCase())})(Object.create(null)),ul=e=>(e=e.toLowerCase(),t=>td(t)===e),od=e=>t=>typeof t===e,{isArray:Si}=Array,Qs=od("undefined");function o7(e){return e!==null&&!Qs(e)&&e.constructor!==null&&!Qs(e.constructor)&&Ur(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const rb=ul("ArrayBuffer");function r7(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&rb(e.buffer),t}const l7=od("string"),Ur=od("function"),lb=od("number"),rd=e=>e!==null&&typeof e=="object",n7=e=>e===!0||e===!1,ld=e=>{if(td(e)!=="object")return!1;const t=d0(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},a7=ul("Date"),i7=ul("File"),s7=ul("Blob"),c7=ul("FileList"),u7=e=>rd(e)&&Ur(e.pipe),d7=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||Ur(e.append)&&((t=td(e))==="formdata"||t==="object"&&Ur(e.toString)&&e.toString()==="[object FormData]"))},p7=ul("URLSearchParams"),[f7,h7,v7,m7]=["ReadableStream","Request","Response","Headers"].map(ul),g7=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function ec(e,t,{allOwnKeys:o=!1}={}){if(e===null||typeof e>"u")return;let r,l;if(typeof e!="object"&&(e=[e]),Si(e))for(r=0,l=e.length;r0;)if(l=o[r],t===l.toLowerCase())return l;return null}const ab=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:Xl,ib=e=>!Qs(e)&&e!==ab;function p0(){const{caseless:e}=ib(this)&&this||{},t={},o=(r,l)=>{const n=e&&nb(t,l)||l;ld(t[n])&&ld(r)?t[n]=p0(t[n],r):ld(r)?t[n]=p0({},r):Si(r)?t[n]=r.slice():t[n]=r};for(let r=0,l=arguments.length;r(ec(t,(l,n)=>{o&&Ur(l)?e[n]=ob(l,o):e[n]=l},{allOwnKeys:r}),e),_7=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),w7=(e,t,o,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),o&&Object.assign(e.prototype,o)},y7=(e,t,o,r)=>{let l,n,a;const i={};if(t=t||{},e==null)return t;do{for(l=Object.getOwnPropertyNames(e),n=l.length;n-- >0;)a=l[n],(!r||r(a,e,t))&&!i[a]&&(t[a]=e[a],i[a]=!0);e=o!==!1&&d0(e)}while(e&&(!o||o(e,t))&&e!==Object.prototype);return t},x7=(e,t,o)=>{e=String(e),(o===void 0||o>e.length)&&(o=e.length),o-=t.length;const r=e.indexOf(t,o);return r!==-1&&r===o},k7=e=>{if(!e)return null;if(Si(e))return e;let t=e.length;if(!lb(t))return null;const o=new Array(t);for(;t-- >0;)o[t]=e[t];return o},C7=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&d0(Uint8Array)),S7=(e,t)=>{const r=(e&&e[Symbol.iterator]).call(e);let l;for(;(l=r.next())&&!l.done;){const n=l.value;t.call(e,n[0],n[1])}},E7=(e,t)=>{let o;const r=[];for(;(o=e.exec(t))!==null;)r.push(o);return r},T7=ul("HTMLFormElement"),$7=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(o,r,l){return r.toUpperCase()+l}),sb=(({hasOwnProperty:e})=>(t,o)=>e.call(t,o))(Object.prototype),M7=ul("RegExp"),cb=(e,t)=>{const o=Object.getOwnPropertyDescriptors(e),r={};ec(o,(l,n)=>{let a;(a=t(l,n,e))!==!1&&(r[n]=a||l)}),Object.defineProperties(e,r)},A7=e=>{cb(e,(t,o)=>{if(Ur(e)&&["arguments","caller","callee"].indexOf(o)!==-1)return!1;const r=e[o];if(Ur(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+o+"'")})}})},z7=(e,t)=>{const o={},r=l=>{l.forEach(n=>{o[n]=!0})};return Si(e)?r(e):r(String(e).split(t)),o},I7=()=>{},O7=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t,f0="abcdefghijklmnopqrstuvwxyz",ub="0123456789",db={DIGIT:ub,ALPHA:f0,ALPHA_DIGIT:f0+f0.toUpperCase()+ub},N7=(e=16,t=db.ALPHA_DIGIT)=>{let o="";const{length:r}=t;for(;e--;)o+=t[Math.random()*r|0];return o};function P7(e){return!!(e&&Ur(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const R7=e=>{const t=new Array(10),o=(r,l)=>{if(rd(r)){if(t.indexOf(r)>=0)return;if(!("toJSON"in r)){t[l]=r;const n=Si(r)?[]:{};return ec(r,(a,i)=>{const c=o(a,l+1);!Qs(c)&&(n[i]=c)}),t[l]=void 0,n}}return r};return o(e,0)},L7=ul("AsyncFunction"),Ue={isArray:Si,isArrayBuffer:rb,isBuffer:o7,isFormData:d7,isArrayBufferView:r7,isString:l7,isNumber:lb,isBoolean:n7,isObject:rd,isPlainObject:ld,isReadableStream:f7,isRequest:h7,isResponse:v7,isHeaders:m7,isUndefined:Qs,isDate:a7,isFile:i7,isBlob:s7,isRegExp:M7,isFunction:Ur,isStream:u7,isURLSearchParams:p7,isTypedArray:C7,isFileList:c7,forEach:ec,merge:p0,extend:b7,trim:g7,stripBOM:_7,inherits:w7,toFlatObject:y7,kindOf:td,kindOfTest:ul,endsWith:x7,toArray:k7,forEachEntry:S7,matchAll:E7,isHTMLForm:T7,hasOwnProperty:sb,hasOwnProp:sb,reduceDescriptors:cb,freezeMethods:A7,toObjectSet:z7,toCamelCase:$7,noop:I7,toFiniteNumber:O7,findKey:nb,global:ab,isContextDefined:ib,ALPHABET:db,generateString:N7,isSpecCompliantForm:P7,toJSONObject:R7,isAsyncFn:L7,isThenable:e=>e&&(rd(e)||Ur(e))&&Ur(e.then)&&Ur(e.catch)};var pb={},nd={};nd.byteLength=D7,nd.toByteArray=F7,nd.fromByteArray=U7;for(var zl=[],Wr=[],B7=typeof Uint8Array<"u"?Uint8Array:Array,h0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ei=0,V7=h0.length;Ei0)throw new Error("Invalid string. Length must be a multiple of 4");var o=e.indexOf("=");o===-1&&(o=t);var r=o===t?0:4-o%4;return[o,r]}function D7(e){var t=fb(e),o=t[0],r=t[1];return(o+r)*3/4-r}function H7(e,t,o){return(t+o)*3/4-o}function F7(e){var t,o=fb(e),r=o[0],l=o[1],n=new B7(H7(e,r,l)),a=0,i=l>0?r-4:r,c;for(c=0;c>16&255,n[a++]=t>>8&255,n[a++]=t&255;return l===2&&(t=Wr[e.charCodeAt(c)]<<2|Wr[e.charCodeAt(c+1)]>>4,n[a++]=t&255),l===1&&(t=Wr[e.charCodeAt(c)]<<10|Wr[e.charCodeAt(c+1)]<<4|Wr[e.charCodeAt(c+2)]>>2,n[a++]=t>>8&255,n[a++]=t&255),n}function j7(e){return zl[e>>18&63]+zl[e>>12&63]+zl[e>>6&63]+zl[e&63]}function K7(e,t,o){for(var r,l=[],n=t;ni?i:a+n));return r===1?(t=e[o-1],l.push(zl[t>>2]+zl[t<<4&63]+"==")):r===2&&(t=(e[o-2]<<8)+e[o-1],l.push(zl[t>>10]+zl[t>>4&63]+zl[t<<2&63]+"=")),l.join("")}var v0={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */v0.read=function(e,t,o,r,l){var n,a,i=l*8-r-1,c=(1<>1,u=-7,p=o?l-1:0,h=o?-1:1,v=e[t+p];for(p+=h,n=v&(1<<-u)-1,v>>=-u,u+=i;u>0;n=n*256+e[t+p],p+=h,u-=8);for(a=n&(1<<-u)-1,n>>=-u,u+=r;u>0;a=a*256+e[t+p],p+=h,u-=8);if(n===0)n=1-d;else{if(n===c)return a?NaN:(v?-1:1)*(1/0);a=a+Math.pow(2,r),n=n-d}return(v?-1:1)*a*Math.pow(2,n-r)},v0.write=function(e,t,o,r,l,n){var a,i,c,d=n*8-l-1,u=(1<>1,h=l===23?Math.pow(2,-24)-Math.pow(2,-77):0,v=r?0:n-1,m=r?1:-1,f=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(i=isNaN(t)?1:0,a=u):(a=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-a))<1&&(a--,c*=2),a+p>=1?t+=h/c:t+=h*Math.pow(2,1-p),t*c>=2&&(a++,c/=2),a+p>=u?(i=0,a=u):a+p>=1?(i=(t*c-1)*Math.pow(2,l),a=a+p):(i=t*Math.pow(2,p-1)*Math.pow(2,l),a=0));l>=8;e[o+v]=i&255,v+=m,i/=256,l-=8);for(a=a<0;e[o+v]=a&255,v+=m,a/=256,d-=8);e[o+v-m]|=f*128};/*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh * @license MIT - */(function(e){const t=nd,o=v0,r=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=u,e.SlowBuffer=$,e.INSPECT_MAX_BYTES=50;const l=2147483647;e.kMaxLength=l;const{Uint8Array:n,ArrayBuffer:a,SharedArrayBuffer:i}=globalThis;u.TYPED_ARRAY_SUPPORT=c(),!u.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function c(){try{const Y=new n(1),S={foo:function(){return 42}};return Object.setPrototypeOf(S,n.prototype),Object.setPrototypeOf(Y,S),Y.foo()===42}catch{return!1}}Object.defineProperty(u.prototype,"parent",{enumerable:!0,get:function(){if(u.isBuffer(this))return this.buffer}}),Object.defineProperty(u.prototype,"offset",{enumerable:!0,get:function(){if(u.isBuffer(this))return this.byteOffset}});function d(Y){if(Y>l)throw new RangeError('The value "'+Y+'" is invalid for option "size"');const S=new n(Y);return Object.setPrototypeOf(S,u.prototype),S}function u(Y,S,A){if(typeof Y=="number"){if(typeof S=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return m(Y)}return p(Y,S,A)}u.poolSize=8192;function p(Y,S,A){if(typeof Y=="string")return f(Y,S);if(a.isView(Y))return g(Y);if(Y==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof Y);if(ye(Y,a)||Y&&ye(Y.buffer,a)||typeof i<"u"&&(ye(Y,i)||Y&&ye(Y.buffer,i)))return y(Y,S,A);if(typeof Y=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const G=Y.valueOf&&Y.valueOf();if(G!=null&&G!==Y)return u.from(G,S,A);const X=w(Y);if(X)return X;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof Y[Symbol.toPrimitive]=="function")return u.from(Y[Symbol.toPrimitive]("string"),S,A);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof Y)}u.from=function(Y,S,A){return p(Y,S,A)},Object.setPrototypeOf(u.prototype,n.prototype),Object.setPrototypeOf(u,n);function h(Y){if(typeof Y!="number")throw new TypeError('"size" argument must be of type number');if(Y<0)throw new RangeError('The value "'+Y+'" is invalid for option "size"')}function v(Y,S,A){return h(Y),Y<=0?d(Y):S!==void 0?typeof A=="string"?d(Y).fill(S,A):d(Y).fill(S):d(Y)}u.alloc=function(Y,S,A){return v(Y,S,A)};function m(Y){return h(Y),d(Y<0?0:x(Y)|0)}u.allocUnsafe=function(Y){return m(Y)},u.allocUnsafeSlow=function(Y){return m(Y)};function f(Y,S){if((typeof S!="string"||S==="")&&(S="utf8"),!u.isEncoding(S))throw new TypeError("Unknown encoding: "+S);const A=T(Y,S)|0;let G=d(A);const X=G.write(Y,S);return X!==A&&(G=G.slice(0,X)),G}function _(Y){const S=Y.length<0?0:x(Y.length)|0,A=d(S);for(let G=0;G=l)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+l.toString(16)+" bytes");return Y|0}function $(Y){return+Y!=Y&&(Y=0),u.alloc(+Y)}u.isBuffer=function(S){return S!=null&&S._isBuffer===!0&&S!==u.prototype},u.compare=function(S,A){if(ye(S,n)&&(S=u.from(S,S.offset,S.byteLength)),ye(A,n)&&(A=u.from(A,A.offset,A.byteLength)),!u.isBuffer(S)||!u.isBuffer(A))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(S===A)return 0;let G=S.length,X=A.length;for(let re=0,ge=Math.min(G,X);reX.length?(u.isBuffer(ge)||(ge=u.from(ge)),ge.copy(X,re)):n.prototype.set.call(X,ge,re);else if(u.isBuffer(ge))ge.copy(X,re);else throw new TypeError('"list" argument must be an Array of Buffers');re+=ge.length}return X};function T(Y,S){if(u.isBuffer(Y))return Y.length;if(a.isView(Y)||ye(Y,a))return Y.byteLength;if(typeof Y!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof Y);const A=Y.length,G=arguments.length>2&&arguments[2]===!0;if(!G&&A===0)return 0;let X=!1;for(;;)switch(S){case"ascii":case"latin1":case"binary":return A;case"utf8":case"utf-8":return Ie(Y).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return A*2;case"hex":return A>>>1;case"base64":return We(Y).length;default:if(X)return G?-1:Ie(Y).length;S=(""+S).toLowerCase(),X=!0}}u.byteLength=T;function R(Y,S,A){let G=!1;if((S===void 0||S<0)&&(S=0),S>this.length||((A===void 0||A>this.length)&&(A=this.length),A<=0)||(A>>>=0,S>>>=0,A<=S))return"";for(Y||(Y="utf8");;)switch(Y){case"hex":return ne(this,S,A);case"utf8":case"utf-8":return F(this,S,A);case"ascii":return U(this,S,A);case"latin1":case"binary":return oe(this,S,A);case"base64":return H(this,S,A);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ce(this,S,A);default:if(G)throw new TypeError("Unknown encoding: "+Y);Y=(Y+"").toLowerCase(),G=!0}}u.prototype._isBuffer=!0;function P(Y,S,A){const G=Y[S];Y[S]=Y[A],Y[A]=G}u.prototype.swap16=function(){const S=this.length;if(S%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let A=0;AA&&(S+=" ... "),""},r&&(u.prototype[r]=u.prototype.inspect),u.prototype.compare=function(S,A,G,X,re){if(ye(S,n)&&(S=u.from(S,S.offset,S.byteLength)),!u.isBuffer(S))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof S);if(A===void 0&&(A=0),G===void 0&&(G=S?S.length:0),X===void 0&&(X=0),re===void 0&&(re=this.length),A<0||G>S.length||X<0||re>this.length)throw new RangeError("out of range index");if(X>=re&&A>=G)return 0;if(X>=re)return-1;if(A>=G)return 1;if(A>>>=0,G>>>=0,X>>>=0,re>>>=0,this===S)return 0;let ge=re-X,fe=G-A;const Fe=Math.min(ge,fe),at=this.slice(X,re),_t=S.slice(A,G);for(let At=0;At2147483647?A=2147483647:A<-2147483648&&(A=-2147483648),A=+A,Ye(A)&&(A=X?0:Y.length-1),A<0&&(A=Y.length+A),A>=Y.length){if(X)return-1;A=Y.length-1}else if(A<0)if(X)A=0;else return-1;if(typeof S=="string"&&(S=u.from(S,G)),u.isBuffer(S))return S.length===0?-1:B(Y,S,A,G,X);if(typeof S=="number")return S=S&255,typeof n.prototype.indexOf=="function"?X?n.prototype.indexOf.call(Y,S,A):n.prototype.lastIndexOf.call(Y,S,A):B(Y,[S],A,G,X);throw new TypeError("val must be string, number or Buffer")}function B(Y,S,A,G,X){let re=1,ge=Y.length,fe=S.length;if(G!==void 0&&(G=String(G).toLowerCase(),G==="ucs2"||G==="ucs-2"||G==="utf16le"||G==="utf-16le")){if(Y.length<2||S.length<2)return-1;re=2,ge/=2,fe/=2,A/=2}function Fe(_t,At){return re===1?_t[At]:_t.readUInt16BE(At*re)}let at;if(X){let _t=-1;for(at=A;atge&&(A=ge-fe),at=A;at>=0;at--){let _t=!0;for(let At=0;AtX&&(G=X)):G=X;const re=S.length;G>re/2&&(G=re/2);let ge;for(ge=0;ge>>0,isFinite(G)?(G=G>>>0,X===void 0&&(X="utf8")):(X=G,G=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const re=this.length-A;if((G===void 0||G>re)&&(G=re),S.length>0&&(G<0||A<0)||A>this.length)throw new RangeError("Attempt to write outside buffer bounds");X||(X="utf8");let ge=!1;for(;;)switch(X){case"hex":return V(this,S,A,G);case"utf8":case"utf-8":return j(this,S,A,G);case"ascii":case"latin1":case"binary":return te(this,S,A,G);case"base64":return J(this,S,A,G);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Z(this,S,A,G);default:if(ge)throw new TypeError("Unknown encoding: "+X);X=(""+X).toLowerCase(),ge=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function H(Y,S,A){return S===0&&A===Y.length?t.fromByteArray(Y):t.fromByteArray(Y.slice(S,A))}function F(Y,S,A){A=Math.min(Y.length,A);const G=[];let X=S;for(;X239?4:re>223?3:re>191?2:1;if(X+fe<=A){let Fe,at,_t,At;switch(fe){case 1:re<128&&(ge=re);break;case 2:Fe=Y[X+1],(Fe&192)===128&&(At=(re&31)<<6|Fe&63,At>127&&(ge=At));break;case 3:Fe=Y[X+1],at=Y[X+2],(Fe&192)===128&&(at&192)===128&&(At=(re&15)<<12|(Fe&63)<<6|at&63,At>2047&&(At<55296||At>57343)&&(ge=At));break;case 4:Fe=Y[X+1],at=Y[X+2],_t=Y[X+3],(Fe&192)===128&&(at&192)===128&&(_t&192)===128&&(At=(re&15)<<18|(Fe&63)<<12|(at&63)<<6|_t&63,At>65535&&At<1114112&&(ge=At))}}ge===null?(ge=65533,fe=1):ge>65535&&(ge-=65536,G.push(ge>>>10&1023|55296),ge=56320|ge&1023),G.push(ge),X+=fe}return I(G)}const K=4096;function I(Y){const S=Y.length;if(S<=K)return String.fromCharCode.apply(String,Y);let A="",G=0;for(;GG)&&(A=G);let X="";for(let re=S;reG&&(S=G),A<0?(A+=G,A<0&&(A=0)):A>G&&(A=G),AA)throw new RangeError("Trying to access beyond buffer length")}u.prototype.readUintLE=u.prototype.readUIntLE=function(S,A,G){S=S>>>0,A=A>>>0,G||Q(S,A,this.length);let X=this[S],re=1,ge=0;for(;++ge>>0,A=A>>>0,G||Q(S,A,this.length);let X=this[S+--A],re=1;for(;A>0&&(re*=256);)X+=this[S+--A]*re;return X},u.prototype.readUint8=u.prototype.readUInt8=function(S,A){return S=S>>>0,A||Q(S,1,this.length),this[S]},u.prototype.readUint16LE=u.prototype.readUInt16LE=function(S,A){return S=S>>>0,A||Q(S,2,this.length),this[S]|this[S+1]<<8},u.prototype.readUint16BE=u.prototype.readUInt16BE=function(S,A){return S=S>>>0,A||Q(S,2,this.length),this[S]<<8|this[S+1]},u.prototype.readUint32LE=u.prototype.readUInt32LE=function(S,A){return S=S>>>0,A||Q(S,4,this.length),(this[S]|this[S+1]<<8|this[S+2]<<16)+this[S+3]*16777216},u.prototype.readUint32BE=u.prototype.readUInt32BE=function(S,A){return S=S>>>0,A||Q(S,4,this.length),this[S]*16777216+(this[S+1]<<16|this[S+2]<<8|this[S+3])},u.prototype.readBigUInt64LE=pt(function(S){S=S>>>0,Oe(S,"offset");const A=this[S],G=this[S+7];(A===void 0||G===void 0)&&we(S,this.length-8);const X=A+this[++S]*2**8+this[++S]*2**16+this[++S]*2**24,re=this[++S]+this[++S]*2**8+this[++S]*2**16+G*2**24;return BigInt(X)+(BigInt(re)<>>0,Oe(S,"offset");const A=this[S],G=this[S+7];(A===void 0||G===void 0)&&we(S,this.length-8);const X=A*2**24+this[++S]*2**16+this[++S]*2**8+this[++S],re=this[++S]*2**24+this[++S]*2**16+this[++S]*2**8+G;return(BigInt(X)<>>0,A=A>>>0,G||Q(S,A,this.length);let X=this[S],re=1,ge=0;for(;++ge=re&&(X-=Math.pow(2,8*A)),X},u.prototype.readIntBE=function(S,A,G){S=S>>>0,A=A>>>0,G||Q(S,A,this.length);let X=A,re=1,ge=this[S+--X];for(;X>0&&(re*=256);)ge+=this[S+--X]*re;return re*=128,ge>=re&&(ge-=Math.pow(2,8*A)),ge},u.prototype.readInt8=function(S,A){return S=S>>>0,A||Q(S,1,this.length),this[S]&128?(255-this[S]+1)*-1:this[S]},u.prototype.readInt16LE=function(S,A){S=S>>>0,A||Q(S,2,this.length);const G=this[S]|this[S+1]<<8;return G&32768?G|4294901760:G},u.prototype.readInt16BE=function(S,A){S=S>>>0,A||Q(S,2,this.length);const G=this[S+1]|this[S]<<8;return G&32768?G|4294901760:G},u.prototype.readInt32LE=function(S,A){return S=S>>>0,A||Q(S,4,this.length),this[S]|this[S+1]<<8|this[S+2]<<16|this[S+3]<<24},u.prototype.readInt32BE=function(S,A){return S=S>>>0,A||Q(S,4,this.length),this[S]<<24|this[S+1]<<16|this[S+2]<<8|this[S+3]},u.prototype.readBigInt64LE=pt(function(S){S=S>>>0,Oe(S,"offset");const A=this[S],G=this[S+7];(A===void 0||G===void 0)&&we(S,this.length-8);const X=this[S+4]+this[S+5]*2**8+this[S+6]*2**16+(G<<24);return(BigInt(X)<>>0,Oe(S,"offset");const A=this[S],G=this[S+7];(A===void 0||G===void 0)&&we(S,this.length-8);const X=(A<<24)+this[++S]*2**16+this[++S]*2**8+this[++S];return(BigInt(X)<>>0,A||Q(S,4,this.length),o.read(this,S,!0,23,4)},u.prototype.readFloatBE=function(S,A){return S=S>>>0,A||Q(S,4,this.length),o.read(this,S,!1,23,4)},u.prototype.readDoubleLE=function(S,A){return S=S>>>0,A||Q(S,8,this.length),o.read(this,S,!0,52,8)},u.prototype.readDoubleBE=function(S,A){return S=S>>>0,A||Q(S,8,this.length),o.read(this,S,!1,52,8)};function Me(Y,S,A,G,X,re){if(!u.isBuffer(Y))throw new TypeError('"buffer" argument must be a Buffer instance');if(S>X||SY.length)throw new RangeError("Index out of range")}u.prototype.writeUintLE=u.prototype.writeUIntLE=function(S,A,G,X){if(S=+S,A=A>>>0,G=G>>>0,!X){const fe=Math.pow(2,8*G)-1;Me(this,S,A,G,fe,0)}let re=1,ge=0;for(this[A]=S&255;++ge>>0,G=G>>>0,!X){const fe=Math.pow(2,8*G)-1;Me(this,S,A,G,fe,0)}let re=G-1,ge=1;for(this[A+re]=S&255;--re>=0&&(ge*=256);)this[A+re]=S/ge&255;return A+G},u.prototype.writeUint8=u.prototype.writeUInt8=function(S,A,G){return S=+S,A=A>>>0,G||Me(this,S,A,1,255,0),this[A]=S&255,A+1},u.prototype.writeUint16LE=u.prototype.writeUInt16LE=function(S,A,G){return S=+S,A=A>>>0,G||Me(this,S,A,2,65535,0),this[A]=S&255,this[A+1]=S>>>8,A+2},u.prototype.writeUint16BE=u.prototype.writeUInt16BE=function(S,A,G){return S=+S,A=A>>>0,G||Me(this,S,A,2,65535,0),this[A]=S>>>8,this[A+1]=S&255,A+2},u.prototype.writeUint32LE=u.prototype.writeUInt32LE=function(S,A,G){return S=+S,A=A>>>0,G||Me(this,S,A,4,4294967295,0),this[A+3]=S>>>24,this[A+2]=S>>>16,this[A+1]=S>>>8,this[A]=S&255,A+4},u.prototype.writeUint32BE=u.prototype.writeUInt32BE=function(S,A,G){return S=+S,A=A>>>0,G||Me(this,S,A,4,4294967295,0),this[A]=S>>>24,this[A+1]=S>>>16,this[A+2]=S>>>8,this[A+3]=S&255,A+4};function de(Y,S,A,G,X){ke(S,G,X,Y,A,7);let re=Number(S&BigInt(4294967295));Y[A++]=re,re=re>>8,Y[A++]=re,re=re>>8,Y[A++]=re,re=re>>8,Y[A++]=re;let ge=Number(S>>BigInt(32)&BigInt(4294967295));return Y[A++]=ge,ge=ge>>8,Y[A++]=ge,ge=ge>>8,Y[A++]=ge,ge=ge>>8,Y[A++]=ge,A}function _e(Y,S,A,G,X){ke(S,G,X,Y,A,7);let re=Number(S&BigInt(4294967295));Y[A+7]=re,re=re>>8,Y[A+6]=re,re=re>>8,Y[A+5]=re,re=re>>8,Y[A+4]=re;let ge=Number(S>>BigInt(32)&BigInt(4294967295));return Y[A+3]=ge,ge=ge>>8,Y[A+2]=ge,ge=ge>>8,Y[A+1]=ge,ge=ge>>8,Y[A]=ge,A+8}u.prototype.writeBigUInt64LE=pt(function(S,A=0){return de(this,S,A,BigInt(0),BigInt("0xffffffffffffffff"))}),u.prototype.writeBigUInt64BE=pt(function(S,A=0){return _e(this,S,A,BigInt(0),BigInt("0xffffffffffffffff"))}),u.prototype.writeIntLE=function(S,A,G,X){if(S=+S,A=A>>>0,!X){const Fe=Math.pow(2,8*G-1);Me(this,S,A,G,Fe-1,-Fe)}let re=0,ge=1,fe=0;for(this[A]=S&255;++re>0)-fe&255;return A+G},u.prototype.writeIntBE=function(S,A,G,X){if(S=+S,A=A>>>0,!X){const Fe=Math.pow(2,8*G-1);Me(this,S,A,G,Fe-1,-Fe)}let re=G-1,ge=1,fe=0;for(this[A+re]=S&255;--re>=0&&(ge*=256);)S<0&&fe===0&&this[A+re+1]!==0&&(fe=1),this[A+re]=(S/ge>>0)-fe&255;return A+G},u.prototype.writeInt8=function(S,A,G){return S=+S,A=A>>>0,G||Me(this,S,A,1,127,-128),S<0&&(S=255+S+1),this[A]=S&255,A+1},u.prototype.writeInt16LE=function(S,A,G){return S=+S,A=A>>>0,G||Me(this,S,A,2,32767,-32768),this[A]=S&255,this[A+1]=S>>>8,A+2},u.prototype.writeInt16BE=function(S,A,G){return S=+S,A=A>>>0,G||Me(this,S,A,2,32767,-32768),this[A]=S>>>8,this[A+1]=S&255,A+2},u.prototype.writeInt32LE=function(S,A,G){return S=+S,A=A>>>0,G||Me(this,S,A,4,2147483647,-2147483648),this[A]=S&255,this[A+1]=S>>>8,this[A+2]=S>>>16,this[A+3]=S>>>24,A+4},u.prototype.writeInt32BE=function(S,A,G){return S=+S,A=A>>>0,G||Me(this,S,A,4,2147483647,-2147483648),S<0&&(S=4294967295+S+1),this[A]=S>>>24,this[A+1]=S>>>16,this[A+2]=S>>>8,this[A+3]=S&255,A+4},u.prototype.writeBigInt64LE=pt(function(S,A=0){return de(this,S,A,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),u.prototype.writeBigInt64BE=pt(function(S,A=0){return _e(this,S,A,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function me(Y,S,A,G,X,re){if(A+G>Y.length)throw new RangeError("Index out of range");if(A<0)throw new RangeError("Index out of range")}function Re(Y,S,A,G,X){return S=+S,A=A>>>0,X||me(Y,S,A,4),o.write(Y,S,A,G,23,4),A+4}u.prototype.writeFloatLE=function(S,A,G){return Re(this,S,A,!0,G)},u.prototype.writeFloatBE=function(S,A,G){return Re(this,S,A,!1,G)};function Ce(Y,S,A,G,X){return S=+S,A=A>>>0,X||me(Y,S,A,8),o.write(Y,S,A,G,52,8),A+8}u.prototype.writeDoubleLE=function(S,A,G){return Ce(this,S,A,!0,G)},u.prototype.writeDoubleBE=function(S,A,G){return Ce(this,S,A,!1,G)},u.prototype.copy=function(S,A,G,X){if(!u.isBuffer(S))throw new TypeError("argument should be a Buffer");if(G||(G=0),!X&&X!==0&&(X=this.length),A>=S.length&&(A=S.length),A||(A=0),X>0&&X=this.length)throw new RangeError("Index out of range");if(X<0)throw new RangeError("sourceEnd out of bounds");X>this.length&&(X=this.length),S.length-A>>0,G=G===void 0?this.length:G>>>0,S||(S=0);let re;if(typeof S=="number")for(re=A;re2**32?X=ae(String(A)):typeof A=="bigint"&&(X=String(A),(A>BigInt(2)**BigInt(32)||A<-(BigInt(2)**BigInt(32)))&&(X=ae(X)),X+="n"),G+=` It must be ${S}. Received ${X}`,G},RangeError);function ae(Y){let S="",A=Y.length;const G=Y[0]==="-"?1:0;for(;A>=G+4;A-=3)S=`_${Y.slice(A-3,A)}${S}`;return`${Y.slice(0,A)}${S}`}function pe(Y,S,A){Oe(S,"offset"),(Y[S]===void 0||Y[S+A]===void 0)&&we(S,Y.length-(A+1))}function ke(Y,S,A,G,X,re){if(Y>A||Y= 0${ge} and < 2${ge} ** ${(re+1)*8}${ge}`:fe=`>= -(2${ge} ** ${(re+1)*8-1}${ge}) and < 2 ** ${(re+1)*8-1}${ge}`,new Ee.ERR_OUT_OF_RANGE("value",fe,Y)}pe(G,X,re)}function Oe(Y,S){if(typeof Y!="number")throw new Ee.ERR_INVALID_ARG_TYPE(S,"number",Y)}function we(Y,S,A){throw Math.floor(Y)!==Y?(Oe(Y,A),new Ee.ERR_OUT_OF_RANGE("offset","an integer",Y)):S<0?new Ee.ERR_BUFFER_OUT_OF_BOUNDS:new Ee.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${S}`,Y)}const Te=/[^+/0-9A-Za-z-_]/g;function Ne(Y){if(Y=Y.split("=")[0],Y=Y.trim().replace(Te,""),Y.length<2)return"";for(;Y.length%4!==0;)Y=Y+"=";return Y}function Ie(Y,S){S=S||1/0;let A;const G=Y.length;let X=null;const re=[];for(let ge=0;ge55295&&A<57344){if(!X){if(A>56319){(S-=3)>-1&&re.push(239,191,189);continue}else if(ge+1===G){(S-=3)>-1&&re.push(239,191,189);continue}X=A;continue}if(A<56320){(S-=3)>-1&&re.push(239,191,189),X=A;continue}A=(X-55296<<10|A-56320)+65536}else X&&(S-=3)>-1&&re.push(239,191,189);if(X=null,A<128){if((S-=1)<0)break;re.push(A)}else if(A<2048){if((S-=2)<0)break;re.push(A>>6|192,A&63|128)}else if(A<65536){if((S-=3)<0)break;re.push(A>>12|224,A>>6&63|128,A&63|128)}else if(A<1114112){if((S-=4)<0)break;re.push(A>>18|240,A>>12&63|128,A>>6&63|128,A&63|128)}else throw new Error("Invalid code point")}return re}function Ae(Y){const S=[];for(let A=0;A>8,X=A%256,re.push(X),re.push(G);return re}function We(Y){return t.toByteArray(Ne(Y))}function qe(Y,S,A,G){let X;for(X=0;X=S.length||X>=Y.length);++X)S[X+A]=Y[X];return X}function ye(Y,S){return Y instanceof S||Y!=null&&Y.constructor!=null&&Y.constructor.name!=null&&Y.constructor.name===S.name}function Ye(Y){return Y!==Y}const tt=function(){const Y="0123456789abcdef",S=new Array(256);for(let A=0;A<16;++A){const G=A*16;for(let X=0;X<16;++X)S[G+X]=Y[A]+Y[X]}return S}();function pt(Y){return typeof BigInt>"u"?dt:Y}function dt(){throw new Error("BigInt not supported")}})(pb);const W7=pb.Buffer;function Ft(e,t,o,r,l){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),o&&(this.config=o),r&&(this.request=r),l&&(this.response=l)}Ue.inherits(Ft,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:Ue.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const hb=Ft.prototype,vb={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{vb[e]={value:e}}),Object.defineProperties(Ft,vb),Object.defineProperty(hb,"isAxiosError",{value:!0}),Ft.from=(e,t,o,r,l,n)=>{const a=Object.create(hb);return Ue.toFlatObject(e,a,function(c){return c!==Error.prototype},i=>i!=="isAxiosError"),Ft.call(a,e.message,t,o,r,l),a.cause=e,a.name=e.name,n&&Object.assign(a,n),a};const q7=null;function m0(e){return Ue.isPlainObject(e)||Ue.isArray(e)}function mb(e){return Ue.endsWith(e,"[]")?e.slice(0,-2):e}function gb(e,t,o){return e?e.concat(t).map(function(l,n){return l=mb(l),!o&&n?"["+l+"]":l}).join(o?".":""):t}function Y7(e){return Ue.isArray(e)&&!e.some(m0)}const G7=Ue.toFlatObject(Ue,{},null,function(t){return/^is[A-Z]/.test(t)});function ad(e,t,o){if(!Ue.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,o=Ue.toFlatObject(o,{metaTokens:!0,dots:!1,indexes:!1},!1,function(f,_){return!Ue.isUndefined(_[f])});const r=o.metaTokens,l=o.visitor||u,n=o.dots,a=o.indexes,c=(o.Blob||typeof Blob<"u"&&Blob)&&Ue.isSpecCompliantForm(t);if(!Ue.isFunction(l))throw new TypeError("visitor must be a function");function d(m){if(m===null)return"";if(Ue.isDate(m))return m.toISOString();if(!c&&Ue.isBlob(m))throw new Ft("Blob is not supported. Use a Buffer instead.");return Ue.isArrayBuffer(m)||Ue.isTypedArray(m)?c&&typeof Blob=="function"?new Blob([m]):W7.from(m):m}function u(m,f,_){let g=m;if(m&&!_&&typeof m=="object"){if(Ue.endsWith(f,"{}"))f=r?f:f.slice(0,-2),m=JSON.stringify(m);else if(Ue.isArray(m)&&Y7(m)||(Ue.isFileList(m)||Ue.endsWith(f,"[]"))&&(g=Ue.toArray(m)))return f=mb(f),g.forEach(function(w,x){!(Ue.isUndefined(w)||w===null)&&t.append(a===!0?gb([f],x,n):a===null?f:f+"[]",d(w))}),!1}return m0(m)?!0:(t.append(gb(_,f,n),d(m)),!1)}const p=[],h=Object.assign(G7,{defaultVisitor:u,convertValue:d,isVisitable:m0});function v(m,f){if(!Ue.isUndefined(m)){if(p.indexOf(m)!==-1)throw Error("Circular reference detected in "+f.join("."));p.push(m),Ue.forEach(m,function(g,y){(!(Ue.isUndefined(g)||g===null)&&l.call(t,g,Ue.isString(y)?y.trim():y,f,h))===!0&&v(g,f?f.concat(y):[y])}),p.pop()}}if(!Ue.isObject(e))throw new TypeError("data must be an object");return v(e),t}function bb(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function g0(e,t){this._pairs=[],e&&ad(e,this,t)}const _b=g0.prototype;_b.append=function(t,o){this._pairs.push([t,o])},_b.toString=function(t){const o=t?function(r){return t.call(this,r,bb)}:bb;return this._pairs.map(function(l){return o(l[0])+"="+o(l[1])},"").join("&")};function X7(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function wb(e,t,o){if(!t)return e;const r=o&&o.encode||X7,l=o&&o.serialize;let n;if(l?n=l(t,o):n=Ue.isURLSearchParams(t)?t.toString():new g0(t,o).toString(r),n){const a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+n}return e}class yb{constructor(){this.handlers=[]}use(t,o,r){return this.handlers.push({fulfilled:t,rejected:o,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){Ue.forEach(this.handlers,function(r){r!==null&&t(r)})}}const xb={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Z7={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<"u"?URLSearchParams:g0,FormData:typeof FormData<"u"?FormData:null,Blob:typeof Blob<"u"?Blob:null},protocols:["http","https","file","blob","url","data"]},b0=typeof window<"u"&&typeof document<"u",J7=(e=>b0&&["ReactNative","NativeScript","NS"].indexOf(e)<0)(typeof navigator<"u"&&navigator.product),Q7=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",eS=b0&&window.location.href||"http://localhost",dl={...Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:b0,hasStandardBrowserEnv:J7,hasStandardBrowserWebWorkerEnv:Q7,origin:eS},Symbol.toStringTag,{value:"Module"})),...Z7};function tS(e,t){return ad(e,new dl.classes.URLSearchParams,Object.assign({visitor:function(o,r,l,n){return dl.isNode&&Ue.isBuffer(o)?(this.append(r,o.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},t))}function oS(e){return Ue.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function rS(e){const t={},o=Object.keys(e);let r;const l=o.length;let n;for(r=0;r=o.length;return a=!a&&Ue.isArray(l)?l.length:a,c?(Ue.hasOwnProp(l,a)?l[a]=[l[a],r]:l[a]=r,!i):((!l[a]||!Ue.isObject(l[a]))&&(l[a]=[]),t(o,r,l[a],n)&&Ue.isArray(l[a])&&(l[a]=rS(l[a])),!i)}if(Ue.isFormData(e)&&Ue.isFunction(e.entries)){const o={};return Ue.forEachEntry(e,(r,l)=>{t(oS(r),l,o,0)}),o}return null}function lS(e,t,o){if(Ue.isString(e))try{return(t||JSON.parse)(e),Ue.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(o||JSON.stringify)(e)}const tc={transitional:xb,adapter:["xhr","http","fetch"],transformRequest:[function(t,o){const r=o.getContentType()||"",l=r.indexOf("application/json")>-1,n=Ue.isObject(t);if(n&&Ue.isHTMLForm(t)&&(t=new FormData(t)),Ue.isFormData(t))return l?JSON.stringify(kb(t)):t;if(Ue.isArrayBuffer(t)||Ue.isBuffer(t)||Ue.isStream(t)||Ue.isFile(t)||Ue.isBlob(t)||Ue.isReadableStream(t))return t;if(Ue.isArrayBufferView(t))return t.buffer;if(Ue.isURLSearchParams(t))return o.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let i;if(n){if(r.indexOf("application/x-www-form-urlencoded")>-1)return tS(t,this.formSerializer).toString();if((i=Ue.isFileList(t))||r.indexOf("multipart/form-data")>-1){const c=this.env&&this.env.FormData;return ad(i?{"files[]":t}:t,c&&new c,this.formSerializer)}}return n||l?(o.setContentType("application/json",!1),lS(t)):t}],transformResponse:[function(t){const o=this.transitional||tc.transitional,r=o&&o.forcedJSONParsing,l=this.responseType==="json";if(Ue.isResponse(t)||Ue.isReadableStream(t))return t;if(t&&Ue.isString(t)&&(r&&!this.responseType||l)){const a=!(o&&o.silentJSONParsing)&&l;try{return JSON.parse(t)}catch(i){if(a)throw i.name==="SyntaxError"?Ft.from(i,Ft.ERR_BAD_RESPONSE,this,null,this.response):i}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:dl.classes.FormData,Blob:dl.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};Ue.forEach(["delete","get","head","post","put","patch"],e=>{tc.headers[e]={}});const nS=Ue.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),aS=e=>{const t={};let o,r,l;return e&&e.split(` + */(function(e){const t=nd,o=v0,r=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=u,e.SlowBuffer=$,e.INSPECT_MAX_BYTES=50;const l=2147483647;e.kMaxLength=l;const{Uint8Array:n,ArrayBuffer:a,SharedArrayBuffer:i}=globalThis;u.TYPED_ARRAY_SUPPORT=c(),!u.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function c(){try{const Y=new n(1),S={foo:function(){return 42}};return Object.setPrototypeOf(S,n.prototype),Object.setPrototypeOf(Y,S),Y.foo()===42}catch{return!1}}Object.defineProperty(u.prototype,"parent",{enumerable:!0,get:function(){if(u.isBuffer(this))return this.buffer}}),Object.defineProperty(u.prototype,"offset",{enumerable:!0,get:function(){if(u.isBuffer(this))return this.byteOffset}});function d(Y){if(Y>l)throw new RangeError('The value "'+Y+'" is invalid for option "size"');const S=new n(Y);return Object.setPrototypeOf(S,u.prototype),S}function u(Y,S,A){if(typeof Y=="number"){if(typeof S=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return m(Y)}return p(Y,S,A)}u.poolSize=8192;function p(Y,S,A){if(typeof Y=="string")return f(Y,S);if(a.isView(Y))return g(Y);if(Y==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof Y);if(ye(Y,a)||Y&&ye(Y.buffer,a)||typeof i<"u"&&(ye(Y,i)||Y&&ye(Y.buffer,i)))return y(Y,S,A);if(typeof Y=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const G=Y.valueOf&&Y.valueOf();if(G!=null&&G!==Y)return u.from(G,S,A);const X=w(Y);if(X)return X;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof Y[Symbol.toPrimitive]=="function")return u.from(Y[Symbol.toPrimitive]("string"),S,A);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof Y)}u.from=function(Y,S,A){return p(Y,S,A)},Object.setPrototypeOf(u.prototype,n.prototype),Object.setPrototypeOf(u,n);function h(Y){if(typeof Y!="number")throw new TypeError('"size" argument must be of type number');if(Y<0)throw new RangeError('The value "'+Y+'" is invalid for option "size"')}function v(Y,S,A){return h(Y),Y<=0?d(Y):S!==void 0?typeof A=="string"?d(Y).fill(S,A):d(Y).fill(S):d(Y)}u.alloc=function(Y,S,A){return v(Y,S,A)};function m(Y){return h(Y),d(Y<0?0:x(Y)|0)}u.allocUnsafe=function(Y){return m(Y)},u.allocUnsafeSlow=function(Y){return m(Y)};function f(Y,S){if((typeof S!="string"||S==="")&&(S="utf8"),!u.isEncoding(S))throw new TypeError("Unknown encoding: "+S);const A=T(Y,S)|0;let G=d(A);const X=G.write(Y,S);return X!==A&&(G=G.slice(0,X)),G}function _(Y){const S=Y.length<0?0:x(Y.length)|0,A=d(S);for(let G=0;G=l)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+l.toString(16)+" bytes");return Y|0}function $(Y){return+Y!=Y&&(Y=0),u.alloc(+Y)}u.isBuffer=function(S){return S!=null&&S._isBuffer===!0&&S!==u.prototype},u.compare=function(S,A){if(ye(S,n)&&(S=u.from(S,S.offset,S.byteLength)),ye(A,n)&&(A=u.from(A,A.offset,A.byteLength)),!u.isBuffer(S)||!u.isBuffer(A))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(S===A)return 0;let G=S.length,X=A.length;for(let re=0,ge=Math.min(G,X);reX.length?(u.isBuffer(ge)||(ge=u.from(ge)),ge.copy(X,re)):n.prototype.set.call(X,ge,re);else if(u.isBuffer(ge))ge.copy(X,re);else throw new TypeError('"list" argument must be an Array of Buffers');re+=ge.length}return X};function T(Y,S){if(u.isBuffer(Y))return Y.length;if(a.isView(Y)||ye(Y,a))return Y.byteLength;if(typeof Y!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof Y);const A=Y.length,G=arguments.length>2&&arguments[2]===!0;if(!G&&A===0)return 0;let X=!1;for(;;)switch(S){case"ascii":case"latin1":case"binary":return A;case"utf8":case"utf-8":return Ie(Y).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return A*2;case"hex":return A>>>1;case"base64":return We(Y).length;default:if(X)return G?-1:Ie(Y).length;S=(""+S).toLowerCase(),X=!0}}u.byteLength=T;function R(Y,S,A){let G=!1;if((S===void 0||S<0)&&(S=0),S>this.length||((A===void 0||A>this.length)&&(A=this.length),A<=0)||(A>>>=0,S>>>=0,A<=S))return"";for(Y||(Y="utf8");;)switch(Y){case"hex":return ne(this,S,A);case"utf8":case"utf-8":return F(this,S,A);case"ascii":return U(this,S,A);case"latin1":case"binary":return oe(this,S,A);case"base64":return H(this,S,A);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ce(this,S,A);default:if(G)throw new TypeError("Unknown encoding: "+Y);Y=(Y+"").toLowerCase(),G=!0}}u.prototype._isBuffer=!0;function P(Y,S,A){const G=Y[S];Y[S]=Y[A],Y[A]=G}u.prototype.swap16=function(){const S=this.length;if(S%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let A=0;AA&&(S+=" ... "),""},r&&(u.prototype[r]=u.prototype.inspect),u.prototype.compare=function(S,A,G,X,re){if(ye(S,n)&&(S=u.from(S,S.offset,S.byteLength)),!u.isBuffer(S))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof S);if(A===void 0&&(A=0),G===void 0&&(G=S?S.length:0),X===void 0&&(X=0),re===void 0&&(re=this.length),A<0||G>S.length||X<0||re>this.length)throw new RangeError("out of range index");if(X>=re&&A>=G)return 0;if(X>=re)return-1;if(A>=G)return 1;if(A>>>=0,G>>>=0,X>>>=0,re>>>=0,this===S)return 0;let ge=re-X,fe=G-A;const Fe=Math.min(ge,fe),at=this.slice(X,re),_t=S.slice(A,G);for(let At=0;At2147483647?A=2147483647:A<-2147483648&&(A=-2147483648),A=+A,Ye(A)&&(A=X?0:Y.length-1),A<0&&(A=Y.length+A),A>=Y.length){if(X)return-1;A=Y.length-1}else if(A<0)if(X)A=0;else return-1;if(typeof S=="string"&&(S=u.from(S,G)),u.isBuffer(S))return S.length===0?-1:V(Y,S,A,G,X);if(typeof S=="number")return S=S&255,typeof n.prototype.indexOf=="function"?X?n.prototype.indexOf.call(Y,S,A):n.prototype.lastIndexOf.call(Y,S,A):V(Y,[S],A,G,X);throw new TypeError("val must be string, number or Buffer")}function V(Y,S,A,G,X){let re=1,ge=Y.length,fe=S.length;if(G!==void 0&&(G=String(G).toLowerCase(),G==="ucs2"||G==="ucs-2"||G==="utf16le"||G==="utf-16le")){if(Y.length<2||S.length<2)return-1;re=2,ge/=2,fe/=2,A/=2}function Fe(_t,At){return re===1?_t[At]:_t.readUInt16BE(At*re)}let at;if(X){let _t=-1;for(at=A;atge&&(A=ge-fe),at=A;at>=0;at--){let _t=!0;for(let At=0;AtX&&(G=X)):G=X;const re=S.length;G>re/2&&(G=re/2);let ge;for(ge=0;ge>>0,isFinite(G)?(G=G>>>0,X===void 0&&(X="utf8")):(X=G,G=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const re=this.length-A;if((G===void 0||G>re)&&(G=re),S.length>0&&(G<0||A<0)||A>this.length)throw new RangeError("Attempt to write outside buffer bounds");X||(X="utf8");let ge=!1;for(;;)switch(X){case"hex":return B(this,S,A,G);case"utf8":case"utf-8":return j(this,S,A,G);case"ascii":case"latin1":case"binary":return te(this,S,A,G);case"base64":return J(this,S,A,G);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Z(this,S,A,G);default:if(ge)throw new TypeError("Unknown encoding: "+X);X=(""+X).toLowerCase(),ge=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function H(Y,S,A){return S===0&&A===Y.length?t.fromByteArray(Y):t.fromByteArray(Y.slice(S,A))}function F(Y,S,A){A=Math.min(Y.length,A);const G=[];let X=S;for(;X239?4:re>223?3:re>191?2:1;if(X+fe<=A){let Fe,at,_t,At;switch(fe){case 1:re<128&&(ge=re);break;case 2:Fe=Y[X+1],(Fe&192)===128&&(At=(re&31)<<6|Fe&63,At>127&&(ge=At));break;case 3:Fe=Y[X+1],at=Y[X+2],(Fe&192)===128&&(at&192)===128&&(At=(re&15)<<12|(Fe&63)<<6|at&63,At>2047&&(At<55296||At>57343)&&(ge=At));break;case 4:Fe=Y[X+1],at=Y[X+2],_t=Y[X+3],(Fe&192)===128&&(at&192)===128&&(_t&192)===128&&(At=(re&15)<<18|(Fe&63)<<12|(at&63)<<6|_t&63,At>65535&&At<1114112&&(ge=At))}}ge===null?(ge=65533,fe=1):ge>65535&&(ge-=65536,G.push(ge>>>10&1023|55296),ge=56320|ge&1023),G.push(ge),X+=fe}return I(G)}const K=4096;function I(Y){const S=Y.length;if(S<=K)return String.fromCharCode.apply(String,Y);let A="",G=0;for(;GG)&&(A=G);let X="";for(let re=S;reG&&(S=G),A<0?(A+=G,A<0&&(A=0)):A>G&&(A=G),AA)throw new RangeError("Trying to access beyond buffer length")}u.prototype.readUintLE=u.prototype.readUIntLE=function(S,A,G){S=S>>>0,A=A>>>0,G||Q(S,A,this.length);let X=this[S],re=1,ge=0;for(;++ge>>0,A=A>>>0,G||Q(S,A,this.length);let X=this[S+--A],re=1;for(;A>0&&(re*=256);)X+=this[S+--A]*re;return X},u.prototype.readUint8=u.prototype.readUInt8=function(S,A){return S=S>>>0,A||Q(S,1,this.length),this[S]},u.prototype.readUint16LE=u.prototype.readUInt16LE=function(S,A){return S=S>>>0,A||Q(S,2,this.length),this[S]|this[S+1]<<8},u.prototype.readUint16BE=u.prototype.readUInt16BE=function(S,A){return S=S>>>0,A||Q(S,2,this.length),this[S]<<8|this[S+1]},u.prototype.readUint32LE=u.prototype.readUInt32LE=function(S,A){return S=S>>>0,A||Q(S,4,this.length),(this[S]|this[S+1]<<8|this[S+2]<<16)+this[S+3]*16777216},u.prototype.readUint32BE=u.prototype.readUInt32BE=function(S,A){return S=S>>>0,A||Q(S,4,this.length),this[S]*16777216+(this[S+1]<<16|this[S+2]<<8|this[S+3])},u.prototype.readBigUInt64LE=pt(function(S){S=S>>>0,Oe(S,"offset");const A=this[S],G=this[S+7];(A===void 0||G===void 0)&&we(S,this.length-8);const X=A+this[++S]*2**8+this[++S]*2**16+this[++S]*2**24,re=this[++S]+this[++S]*2**8+this[++S]*2**16+G*2**24;return BigInt(X)+(BigInt(re)<>>0,Oe(S,"offset");const A=this[S],G=this[S+7];(A===void 0||G===void 0)&&we(S,this.length-8);const X=A*2**24+this[++S]*2**16+this[++S]*2**8+this[++S],re=this[++S]*2**24+this[++S]*2**16+this[++S]*2**8+G;return(BigInt(X)<>>0,A=A>>>0,G||Q(S,A,this.length);let X=this[S],re=1,ge=0;for(;++ge=re&&(X-=Math.pow(2,8*A)),X},u.prototype.readIntBE=function(S,A,G){S=S>>>0,A=A>>>0,G||Q(S,A,this.length);let X=A,re=1,ge=this[S+--X];for(;X>0&&(re*=256);)ge+=this[S+--X]*re;return re*=128,ge>=re&&(ge-=Math.pow(2,8*A)),ge},u.prototype.readInt8=function(S,A){return S=S>>>0,A||Q(S,1,this.length),this[S]&128?(255-this[S]+1)*-1:this[S]},u.prototype.readInt16LE=function(S,A){S=S>>>0,A||Q(S,2,this.length);const G=this[S]|this[S+1]<<8;return G&32768?G|4294901760:G},u.prototype.readInt16BE=function(S,A){S=S>>>0,A||Q(S,2,this.length);const G=this[S+1]|this[S]<<8;return G&32768?G|4294901760:G},u.prototype.readInt32LE=function(S,A){return S=S>>>0,A||Q(S,4,this.length),this[S]|this[S+1]<<8|this[S+2]<<16|this[S+3]<<24},u.prototype.readInt32BE=function(S,A){return S=S>>>0,A||Q(S,4,this.length),this[S]<<24|this[S+1]<<16|this[S+2]<<8|this[S+3]},u.prototype.readBigInt64LE=pt(function(S){S=S>>>0,Oe(S,"offset");const A=this[S],G=this[S+7];(A===void 0||G===void 0)&&we(S,this.length-8);const X=this[S+4]+this[S+5]*2**8+this[S+6]*2**16+(G<<24);return(BigInt(X)<>>0,Oe(S,"offset");const A=this[S],G=this[S+7];(A===void 0||G===void 0)&&we(S,this.length-8);const X=(A<<24)+this[++S]*2**16+this[++S]*2**8+this[++S];return(BigInt(X)<>>0,A||Q(S,4,this.length),o.read(this,S,!0,23,4)},u.prototype.readFloatBE=function(S,A){return S=S>>>0,A||Q(S,4,this.length),o.read(this,S,!1,23,4)},u.prototype.readDoubleLE=function(S,A){return S=S>>>0,A||Q(S,8,this.length),o.read(this,S,!0,52,8)},u.prototype.readDoubleBE=function(S,A){return S=S>>>0,A||Q(S,8,this.length),o.read(this,S,!1,52,8)};function Me(Y,S,A,G,X,re){if(!u.isBuffer(Y))throw new TypeError('"buffer" argument must be a Buffer instance');if(S>X||SY.length)throw new RangeError("Index out of range")}u.prototype.writeUintLE=u.prototype.writeUIntLE=function(S,A,G,X){if(S=+S,A=A>>>0,G=G>>>0,!X){const fe=Math.pow(2,8*G)-1;Me(this,S,A,G,fe,0)}let re=1,ge=0;for(this[A]=S&255;++ge>>0,G=G>>>0,!X){const fe=Math.pow(2,8*G)-1;Me(this,S,A,G,fe,0)}let re=G-1,ge=1;for(this[A+re]=S&255;--re>=0&&(ge*=256);)this[A+re]=S/ge&255;return A+G},u.prototype.writeUint8=u.prototype.writeUInt8=function(S,A,G){return S=+S,A=A>>>0,G||Me(this,S,A,1,255,0),this[A]=S&255,A+1},u.prototype.writeUint16LE=u.prototype.writeUInt16LE=function(S,A,G){return S=+S,A=A>>>0,G||Me(this,S,A,2,65535,0),this[A]=S&255,this[A+1]=S>>>8,A+2},u.prototype.writeUint16BE=u.prototype.writeUInt16BE=function(S,A,G){return S=+S,A=A>>>0,G||Me(this,S,A,2,65535,0),this[A]=S>>>8,this[A+1]=S&255,A+2},u.prototype.writeUint32LE=u.prototype.writeUInt32LE=function(S,A,G){return S=+S,A=A>>>0,G||Me(this,S,A,4,4294967295,0),this[A+3]=S>>>24,this[A+2]=S>>>16,this[A+1]=S>>>8,this[A]=S&255,A+4},u.prototype.writeUint32BE=u.prototype.writeUInt32BE=function(S,A,G){return S=+S,A=A>>>0,G||Me(this,S,A,4,4294967295,0),this[A]=S>>>24,this[A+1]=S>>>16,this[A+2]=S>>>8,this[A+3]=S&255,A+4};function de(Y,S,A,G,X){ke(S,G,X,Y,A,7);let re=Number(S&BigInt(4294967295));Y[A++]=re,re=re>>8,Y[A++]=re,re=re>>8,Y[A++]=re,re=re>>8,Y[A++]=re;let ge=Number(S>>BigInt(32)&BigInt(4294967295));return Y[A++]=ge,ge=ge>>8,Y[A++]=ge,ge=ge>>8,Y[A++]=ge,ge=ge>>8,Y[A++]=ge,A}function _e(Y,S,A,G,X){ke(S,G,X,Y,A,7);let re=Number(S&BigInt(4294967295));Y[A+7]=re,re=re>>8,Y[A+6]=re,re=re>>8,Y[A+5]=re,re=re>>8,Y[A+4]=re;let ge=Number(S>>BigInt(32)&BigInt(4294967295));return Y[A+3]=ge,ge=ge>>8,Y[A+2]=ge,ge=ge>>8,Y[A+1]=ge,ge=ge>>8,Y[A]=ge,A+8}u.prototype.writeBigUInt64LE=pt(function(S,A=0){return de(this,S,A,BigInt(0),BigInt("0xffffffffffffffff"))}),u.prototype.writeBigUInt64BE=pt(function(S,A=0){return _e(this,S,A,BigInt(0),BigInt("0xffffffffffffffff"))}),u.prototype.writeIntLE=function(S,A,G,X){if(S=+S,A=A>>>0,!X){const Fe=Math.pow(2,8*G-1);Me(this,S,A,G,Fe-1,-Fe)}let re=0,ge=1,fe=0;for(this[A]=S&255;++re>0)-fe&255;return A+G},u.prototype.writeIntBE=function(S,A,G,X){if(S=+S,A=A>>>0,!X){const Fe=Math.pow(2,8*G-1);Me(this,S,A,G,Fe-1,-Fe)}let re=G-1,ge=1,fe=0;for(this[A+re]=S&255;--re>=0&&(ge*=256);)S<0&&fe===0&&this[A+re+1]!==0&&(fe=1),this[A+re]=(S/ge>>0)-fe&255;return A+G},u.prototype.writeInt8=function(S,A,G){return S=+S,A=A>>>0,G||Me(this,S,A,1,127,-128),S<0&&(S=255+S+1),this[A]=S&255,A+1},u.prototype.writeInt16LE=function(S,A,G){return S=+S,A=A>>>0,G||Me(this,S,A,2,32767,-32768),this[A]=S&255,this[A+1]=S>>>8,A+2},u.prototype.writeInt16BE=function(S,A,G){return S=+S,A=A>>>0,G||Me(this,S,A,2,32767,-32768),this[A]=S>>>8,this[A+1]=S&255,A+2},u.prototype.writeInt32LE=function(S,A,G){return S=+S,A=A>>>0,G||Me(this,S,A,4,2147483647,-2147483648),this[A]=S&255,this[A+1]=S>>>8,this[A+2]=S>>>16,this[A+3]=S>>>24,A+4},u.prototype.writeInt32BE=function(S,A,G){return S=+S,A=A>>>0,G||Me(this,S,A,4,2147483647,-2147483648),S<0&&(S=4294967295+S+1),this[A]=S>>>24,this[A+1]=S>>>16,this[A+2]=S>>>8,this[A+3]=S&255,A+4},u.prototype.writeBigInt64LE=pt(function(S,A=0){return de(this,S,A,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),u.prototype.writeBigInt64BE=pt(function(S,A=0){return _e(this,S,A,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function me(Y,S,A,G,X,re){if(A+G>Y.length)throw new RangeError("Index out of range");if(A<0)throw new RangeError("Index out of range")}function Re(Y,S,A,G,X){return S=+S,A=A>>>0,X||me(Y,S,A,4),o.write(Y,S,A,G,23,4),A+4}u.prototype.writeFloatLE=function(S,A,G){return Re(this,S,A,!0,G)},u.prototype.writeFloatBE=function(S,A,G){return Re(this,S,A,!1,G)};function Ce(Y,S,A,G,X){return S=+S,A=A>>>0,X||me(Y,S,A,8),o.write(Y,S,A,G,52,8),A+8}u.prototype.writeDoubleLE=function(S,A,G){return Ce(this,S,A,!0,G)},u.prototype.writeDoubleBE=function(S,A,G){return Ce(this,S,A,!1,G)},u.prototype.copy=function(S,A,G,X){if(!u.isBuffer(S))throw new TypeError("argument should be a Buffer");if(G||(G=0),!X&&X!==0&&(X=this.length),A>=S.length&&(A=S.length),A||(A=0),X>0&&X=this.length)throw new RangeError("Index out of range");if(X<0)throw new RangeError("sourceEnd out of bounds");X>this.length&&(X=this.length),S.length-A>>0,G=G===void 0?this.length:G>>>0,S||(S=0);let re;if(typeof S=="number")for(re=A;re2**32?X=ae(String(A)):typeof A=="bigint"&&(X=String(A),(A>BigInt(2)**BigInt(32)||A<-(BigInt(2)**BigInt(32)))&&(X=ae(X)),X+="n"),G+=` It must be ${S}. Received ${X}`,G},RangeError);function ae(Y){let S="",A=Y.length;const G=Y[0]==="-"?1:0;for(;A>=G+4;A-=3)S=`_${Y.slice(A-3,A)}${S}`;return`${Y.slice(0,A)}${S}`}function pe(Y,S,A){Oe(S,"offset"),(Y[S]===void 0||Y[S+A]===void 0)&&we(S,Y.length-(A+1))}function ke(Y,S,A,G,X,re){if(Y>A||Y= 0${ge} and < 2${ge} ** ${(re+1)*8}${ge}`:fe=`>= -(2${ge} ** ${(re+1)*8-1}${ge}) and < 2 ** ${(re+1)*8-1}${ge}`,new Ee.ERR_OUT_OF_RANGE("value",fe,Y)}pe(G,X,re)}function Oe(Y,S){if(typeof Y!="number")throw new Ee.ERR_INVALID_ARG_TYPE(S,"number",Y)}function we(Y,S,A){throw Math.floor(Y)!==Y?(Oe(Y,A),new Ee.ERR_OUT_OF_RANGE("offset","an integer",Y)):S<0?new Ee.ERR_BUFFER_OUT_OF_BOUNDS:new Ee.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${S}`,Y)}const Te=/[^+/0-9A-Za-z-_]/g;function Ne(Y){if(Y=Y.split("=")[0],Y=Y.trim().replace(Te,""),Y.length<2)return"";for(;Y.length%4!==0;)Y=Y+"=";return Y}function Ie(Y,S){S=S||1/0;let A;const G=Y.length;let X=null;const re=[];for(let ge=0;ge55295&&A<57344){if(!X){if(A>56319){(S-=3)>-1&&re.push(239,191,189);continue}else if(ge+1===G){(S-=3)>-1&&re.push(239,191,189);continue}X=A;continue}if(A<56320){(S-=3)>-1&&re.push(239,191,189),X=A;continue}A=(X-55296<<10|A-56320)+65536}else X&&(S-=3)>-1&&re.push(239,191,189);if(X=null,A<128){if((S-=1)<0)break;re.push(A)}else if(A<2048){if((S-=2)<0)break;re.push(A>>6|192,A&63|128)}else if(A<65536){if((S-=3)<0)break;re.push(A>>12|224,A>>6&63|128,A&63|128)}else if(A<1114112){if((S-=4)<0)break;re.push(A>>18|240,A>>12&63|128,A>>6&63|128,A&63|128)}else throw new Error("Invalid code point")}return re}function Ae(Y){const S=[];for(let A=0;A>8,X=A%256,re.push(X),re.push(G);return re}function We(Y){return t.toByteArray(Ne(Y))}function qe(Y,S,A,G){let X;for(X=0;X=S.length||X>=Y.length);++X)S[X+A]=Y[X];return X}function ye(Y,S){return Y instanceof S||Y!=null&&Y.constructor!=null&&Y.constructor.name!=null&&Y.constructor.name===S.name}function Ye(Y){return Y!==Y}const tt=function(){const Y="0123456789abcdef",S=new Array(256);for(let A=0;A<16;++A){const G=A*16;for(let X=0;X<16;++X)S[G+X]=Y[A]+Y[X]}return S}();function pt(Y){return typeof BigInt>"u"?dt:Y}function dt(){throw new Error("BigInt not supported")}})(pb);const W7=pb.Buffer;function Ft(e,t,o,r,l){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),o&&(this.config=o),r&&(this.request=r),l&&(this.response=l)}Ue.inherits(Ft,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:Ue.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const hb=Ft.prototype,vb={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{vb[e]={value:e}}),Object.defineProperties(Ft,vb),Object.defineProperty(hb,"isAxiosError",{value:!0}),Ft.from=(e,t,o,r,l,n)=>{const a=Object.create(hb);return Ue.toFlatObject(e,a,function(c){return c!==Error.prototype},i=>i!=="isAxiosError"),Ft.call(a,e.message,t,o,r,l),a.cause=e,a.name=e.name,n&&Object.assign(a,n),a};const q7=null;function m0(e){return Ue.isPlainObject(e)||Ue.isArray(e)}function mb(e){return Ue.endsWith(e,"[]")?e.slice(0,-2):e}function gb(e,t,o){return e?e.concat(t).map(function(l,n){return l=mb(l),!o&&n?"["+l+"]":l}).join(o?".":""):t}function Y7(e){return Ue.isArray(e)&&!e.some(m0)}const G7=Ue.toFlatObject(Ue,{},null,function(t){return/^is[A-Z]/.test(t)});function ad(e,t,o){if(!Ue.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,o=Ue.toFlatObject(o,{metaTokens:!0,dots:!1,indexes:!1},!1,function(f,_){return!Ue.isUndefined(_[f])});const r=o.metaTokens,l=o.visitor||u,n=o.dots,a=o.indexes,c=(o.Blob||typeof Blob<"u"&&Blob)&&Ue.isSpecCompliantForm(t);if(!Ue.isFunction(l))throw new TypeError("visitor must be a function");function d(m){if(m===null)return"";if(Ue.isDate(m))return m.toISOString();if(!c&&Ue.isBlob(m))throw new Ft("Blob is not supported. Use a Buffer instead.");return Ue.isArrayBuffer(m)||Ue.isTypedArray(m)?c&&typeof Blob=="function"?new Blob([m]):W7.from(m):m}function u(m,f,_){let g=m;if(m&&!_&&typeof m=="object"){if(Ue.endsWith(f,"{}"))f=r?f:f.slice(0,-2),m=JSON.stringify(m);else if(Ue.isArray(m)&&Y7(m)||(Ue.isFileList(m)||Ue.endsWith(f,"[]"))&&(g=Ue.toArray(m)))return f=mb(f),g.forEach(function(w,x){!(Ue.isUndefined(w)||w===null)&&t.append(a===!0?gb([f],x,n):a===null?f:f+"[]",d(w))}),!1}return m0(m)?!0:(t.append(gb(_,f,n),d(m)),!1)}const p=[],h=Object.assign(G7,{defaultVisitor:u,convertValue:d,isVisitable:m0});function v(m,f){if(!Ue.isUndefined(m)){if(p.indexOf(m)!==-1)throw Error("Circular reference detected in "+f.join("."));p.push(m),Ue.forEach(m,function(g,y){(!(Ue.isUndefined(g)||g===null)&&l.call(t,g,Ue.isString(y)?y.trim():y,f,h))===!0&&v(g,f?f.concat(y):[y])}),p.pop()}}if(!Ue.isObject(e))throw new TypeError("data must be an object");return v(e),t}function bb(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function g0(e,t){this._pairs=[],e&&ad(e,this,t)}const _b=g0.prototype;_b.append=function(t,o){this._pairs.push([t,o])},_b.toString=function(t){const o=t?function(r){return t.call(this,r,bb)}:bb;return this._pairs.map(function(l){return o(l[0])+"="+o(l[1])},"").join("&")};function X7(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function wb(e,t,o){if(!t)return e;const r=o&&o.encode||X7,l=o&&o.serialize;let n;if(l?n=l(t,o):n=Ue.isURLSearchParams(t)?t.toString():new g0(t,o).toString(r),n){const a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+n}return e}class yb{constructor(){this.handlers=[]}use(t,o,r){return this.handlers.push({fulfilled:t,rejected:o,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){Ue.forEach(this.handlers,function(r){r!==null&&t(r)})}}const xb={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Z7={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<"u"?URLSearchParams:g0,FormData:typeof FormData<"u"?FormData:null,Blob:typeof Blob<"u"?Blob:null},protocols:["http","https","file","blob","url","data"]},b0=typeof window<"u"&&typeof document<"u",J7=(e=>b0&&["ReactNative","NativeScript","NS"].indexOf(e)<0)(typeof navigator<"u"&&navigator.product),Q7=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",eS=b0&&window.location.href||"http://localhost",dl={...Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:b0,hasStandardBrowserEnv:J7,hasStandardBrowserWebWorkerEnv:Q7,origin:eS},Symbol.toStringTag,{value:"Module"})),...Z7};function tS(e,t){return ad(e,new dl.classes.URLSearchParams,Object.assign({visitor:function(o,r,l,n){return dl.isNode&&Ue.isBuffer(o)?(this.append(r,o.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},t))}function oS(e){return Ue.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function rS(e){const t={},o=Object.keys(e);let r;const l=o.length;let n;for(r=0;r=o.length;return a=!a&&Ue.isArray(l)?l.length:a,c?(Ue.hasOwnProp(l,a)?l[a]=[l[a],r]:l[a]=r,!i):((!l[a]||!Ue.isObject(l[a]))&&(l[a]=[]),t(o,r,l[a],n)&&Ue.isArray(l[a])&&(l[a]=rS(l[a])),!i)}if(Ue.isFormData(e)&&Ue.isFunction(e.entries)){const o={};return Ue.forEachEntry(e,(r,l)=>{t(oS(r),l,o,0)}),o}return null}function lS(e,t,o){if(Ue.isString(e))try{return(t||JSON.parse)(e),Ue.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(o||JSON.stringify)(e)}const tc={transitional:xb,adapter:["xhr","http","fetch"],transformRequest:[function(t,o){const r=o.getContentType()||"",l=r.indexOf("application/json")>-1,n=Ue.isObject(t);if(n&&Ue.isHTMLForm(t)&&(t=new FormData(t)),Ue.isFormData(t))return l?JSON.stringify(kb(t)):t;if(Ue.isArrayBuffer(t)||Ue.isBuffer(t)||Ue.isStream(t)||Ue.isFile(t)||Ue.isBlob(t)||Ue.isReadableStream(t))return t;if(Ue.isArrayBufferView(t))return t.buffer;if(Ue.isURLSearchParams(t))return o.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let i;if(n){if(r.indexOf("application/x-www-form-urlencoded")>-1)return tS(t,this.formSerializer).toString();if((i=Ue.isFileList(t))||r.indexOf("multipart/form-data")>-1){const c=this.env&&this.env.FormData;return ad(i?{"files[]":t}:t,c&&new c,this.formSerializer)}}return n||l?(o.setContentType("application/json",!1),lS(t)):t}],transformResponse:[function(t){const o=this.transitional||tc.transitional,r=o&&o.forcedJSONParsing,l=this.responseType==="json";if(Ue.isResponse(t)||Ue.isReadableStream(t))return t;if(t&&Ue.isString(t)&&(r&&!this.responseType||l)){const a=!(o&&o.silentJSONParsing)&&l;try{return JSON.parse(t)}catch(i){if(a)throw i.name==="SyntaxError"?Ft.from(i,Ft.ERR_BAD_RESPONSE,this,null,this.response):i}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:dl.classes.FormData,Blob:dl.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};Ue.forEach(["delete","get","head","post","put","patch"],e=>{tc.headers[e]={}});const nS=Ue.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),aS=e=>{const t={};let o,r,l;return e&&e.split(` `).forEach(function(a){l=a.indexOf(":"),o=a.substring(0,l).trim().toLowerCase(),r=a.substring(l+1).trim(),!(!o||t[o]&&nS[o])&&(o==="set-cookie"?t[o]?t[o].push(r):t[o]=[r]:t[o]=t[o]?t[o]+", "+r:r)}),t},Cb=Symbol("internals");function oc(e){return e&&String(e).trim().toLowerCase()}function id(e){return e===!1||e==null?e:Ue.isArray(e)?e.map(id):String(e)}function iS(e){const t=Object.create(null),o=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=o.exec(e);)t[r[1]]=r[2];return t}const sS=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function _0(e,t,o,r,l){if(Ue.isFunction(r))return r.call(this,t,o);if(l&&(t=o),!!Ue.isString(t)){if(Ue.isString(r))return t.indexOf(r)!==-1;if(Ue.isRegExp(r))return r.test(t)}}function cS(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,o,r)=>o.toUpperCase()+r)}function uS(e,t){const o=Ue.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+o,{value:function(l,n,a){return this[r].call(this,t,l,n,a)},configurable:!0})})}class Tr{constructor(t){t&&this.set(t)}set(t,o,r){const l=this;function n(i,c,d){const u=oc(c);if(!u)throw new Error("header name must be a non-empty string");const p=Ue.findKey(l,u);(!p||l[p]===void 0||d===!0||d===void 0&&l[p]!==!1)&&(l[p||c]=id(i))}const a=(i,c)=>Ue.forEach(i,(d,u)=>n(d,u,c));if(Ue.isPlainObject(t)||t instanceof this.constructor)a(t,o);else if(Ue.isString(t)&&(t=t.trim())&&!sS(t))a(aS(t),o);else if(Ue.isHeaders(t))for(const[i,c]of t.entries())n(c,i,r);else t!=null&&n(o,t,r);return this}get(t,o){if(t=oc(t),t){const r=Ue.findKey(this,t);if(r){const l=this[r];if(!o)return l;if(o===!0)return iS(l);if(Ue.isFunction(o))return o.call(this,l,r);if(Ue.isRegExp(o))return o.exec(l);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,o){if(t=oc(t),t){const r=Ue.findKey(this,t);return!!(r&&this[r]!==void 0&&(!o||_0(this,this[r],r,o)))}return!1}delete(t,o){const r=this;let l=!1;function n(a){if(a=oc(a),a){const i=Ue.findKey(r,a);i&&(!o||_0(r,r[i],i,o))&&(delete r[i],l=!0)}}return Ue.isArray(t)?t.forEach(n):n(t),l}clear(t){const o=Object.keys(this);let r=o.length,l=!1;for(;r--;){const n=o[r];(!t||_0(this,this[n],n,t,!0))&&(delete this[n],l=!0)}return l}normalize(t){const o=this,r={};return Ue.forEach(this,(l,n)=>{const a=Ue.findKey(r,n);if(a){o[a]=id(l),delete o[n];return}const i=t?cS(n):String(n).trim();i!==n&&delete o[n],o[i]=id(l),r[i]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const o=Object.create(null);return Ue.forEach(this,(r,l)=>{r!=null&&r!==!1&&(o[l]=t&&Ue.isArray(r)?r.join(", "):r)}),o}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,o])=>t+": "+o).join(` `)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...o){const r=new this(t);return o.forEach(l=>r.set(l)),r}static accessor(t){const r=(this[Cb]=this[Cb]={accessors:{}}).accessors,l=this.prototype;function n(a){const i=oc(a);r[i]||(uS(l,a),r[i]=!0)}return Ue.isArray(t)?t.forEach(n):n(t),this}}Tr.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),Ue.reduceDescriptors(Tr.prototype,({value:e},t)=>{let o=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[o]=r}}}),Ue.freezeMethods(Tr);function w0(e,t){const o=this||tc,r=t||o,l=Tr.from(r.headers);let n=r.data;return Ue.forEach(e,function(i){n=i.call(o,n,l.normalize(),t?t.status:void 0)}),l.normalize(),n}function Sb(e){return!!(e&&e.__CANCEL__)}function Ti(e,t,o){Ft.call(this,e??"canceled",Ft.ERR_CANCELED,t,o),this.name="CanceledError"}Ue.inherits(Ti,Ft,{__CANCEL__:!0});function Eb(e,t,o){const r=o.config.validateStatus;!o.status||!r||r(o.status)?e(o):t(new Ft("Request failed with status code "+o.status,[Ft.ERR_BAD_REQUEST,Ft.ERR_BAD_RESPONSE][Math.floor(o.status/100)-4],o.config,o.request,o))}function dS(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function pS(e,t){e=e||10;const o=new Array(e),r=new Array(e);let l=0,n=0,a;return t=t!==void 0?t:1e3,function(c){const d=Date.now(),u=r[n];a||(a=d),o[l]=c,r[l]=d;let p=n,h=0;for(;p!==l;)h+=o[p++],p=p%e;if(l=(l+1)%e,l===n&&(n=(n+1)%e),d-ar)return l&&(clearTimeout(l),l=null),o=i,e.apply(null,arguments);l||(l=setTimeout(()=>(l=null,o=Date.now(),e.apply(null,arguments)),r-(i-o)))}}const sd=(e,t,o=3)=>{let r=0;const l=pS(50,250);return fS(n=>{const a=n.loaded,i=n.lengthComputable?n.total:void 0,c=a-r,d=l(c),u=a<=i;r=a;const p={loaded:a,total:i,progress:i?a/i:void 0,bytes:c,rate:d||void 0,estimated:d&&i&&u?(i-a)/d:void 0,event:n,lengthComputable:i!=null};p[t?"download":"upload"]=!0,e(p)},o)},hS=dl.hasStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),o=document.createElement("a");let r;function l(n){let a=n;return t&&(o.setAttribute("href",a),a=o.href),o.setAttribute("href",a),{href:o.href,protocol:o.protocol?o.protocol.replace(/:$/,""):"",host:o.host,search:o.search?o.search.replace(/^\?/,""):"",hash:o.hash?o.hash.replace(/^#/,""):"",hostname:o.hostname,port:o.port,pathname:o.pathname.charAt(0)==="/"?o.pathname:"/"+o.pathname}}return r=l(window.location.href),function(a){const i=Ue.isString(a)?l(a):a;return i.protocol===r.protocol&&i.host===r.host}}():function(){return function(){return!0}}(),vS=dl.hasStandardBrowserEnv?{write(e,t,o,r,l,n){const a=[e+"="+encodeURIComponent(t)];Ue.isNumber(o)&&a.push("expires="+new Date(o).toGMTString()),Ue.isString(r)&&a.push("path="+r),Ue.isString(l)&&a.push("domain="+l),n===!0&&a.push("secure"),document.cookie=a.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function mS(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function gS(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function Tb(e,t){return e&&!mS(t)?gS(e,t):t}const $b=e=>e instanceof Tr?{...e}:e;function Ea(e,t){t=t||{};const o={};function r(d,u,p){return Ue.isPlainObject(d)&&Ue.isPlainObject(u)?Ue.merge.call({caseless:p},d,u):Ue.isPlainObject(u)?Ue.merge({},u):Ue.isArray(u)?u.slice():u}function l(d,u,p){if(Ue.isUndefined(u)){if(!Ue.isUndefined(d))return r(void 0,d,p)}else return r(d,u,p)}function n(d,u){if(!Ue.isUndefined(u))return r(void 0,u)}function a(d,u){if(Ue.isUndefined(u)){if(!Ue.isUndefined(d))return r(void 0,d)}else return r(void 0,u)}function i(d,u,p){if(p in t)return r(d,u);if(p in e)return r(void 0,d)}const c={url:n,method:n,data:n,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:i,headers:(d,u)=>l($b(d),$b(u),!0)};return Ue.forEach(Object.keys(Object.assign({},e,t)),function(u){const p=c[u]||l,h=p(e[u],t[u],u);Ue.isUndefined(h)&&p!==i||(o[u]=h)}),o}const Mb=e=>{const t=Ea({},e);let{data:o,withXSRFToken:r,xsrfHeaderName:l,xsrfCookieName:n,headers:a,auth:i}=t;t.headers=a=Tr.from(a),t.url=wb(Tb(t.baseURL,t.url),e.params,e.paramsSerializer),i&&a.set("Authorization","Basic "+btoa((i.username||"")+":"+(i.password?unescape(encodeURIComponent(i.password)):"")));let c;if(Ue.isFormData(o)){if(dl.hasStandardBrowserEnv||dl.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if((c=a.getContentType())!==!1){const[d,...u]=c?c.split(";").map(p=>p.trim()).filter(Boolean):[];a.setContentType([d||"multipart/form-data",...u].join("; "))}}if(dl.hasStandardBrowserEnv&&(r&&Ue.isFunction(r)&&(r=r(t)),r||r!==!1&&hS(t.url))){const d=l&&n&&vS.read(n);d&&a.set(l,d)}return t},bS=typeof XMLHttpRequest<"u"&&function(e){return new Promise(function(o,r){const l=Mb(e);let n=l.data;const a=Tr.from(l.headers).normalize();let{responseType:i}=l,c;function d(){l.cancelToken&&l.cancelToken.unsubscribe(c),l.signal&&l.signal.removeEventListener("abort",c)}let u=new XMLHttpRequest;u.open(l.method.toUpperCase(),l.url,!0),u.timeout=l.timeout;function p(){if(!u)return;const v=Tr.from("getAllResponseHeaders"in u&&u.getAllResponseHeaders()),f={data:!i||i==="text"||i==="json"?u.responseText:u.response,status:u.status,statusText:u.statusText,headers:v,config:e,request:u};Eb(function(g){o(g),d()},function(g){r(g),d()},f),u=null}"onloadend"in u?u.onloadend=p:u.onreadystatechange=function(){!u||u.readyState!==4||u.status===0&&!(u.responseURL&&u.responseURL.indexOf("file:")===0)||setTimeout(p)},u.onabort=function(){u&&(r(new Ft("Request aborted",Ft.ECONNABORTED,l,u)),u=null)},u.onerror=function(){r(new Ft("Network Error",Ft.ERR_NETWORK,l,u)),u=null},u.ontimeout=function(){let m=l.timeout?"timeout of "+l.timeout+"ms exceeded":"timeout exceeded";const f=l.transitional||xb;l.timeoutErrorMessage&&(m=l.timeoutErrorMessage),r(new Ft(m,f.clarifyTimeoutError?Ft.ETIMEDOUT:Ft.ECONNABORTED,l,u)),u=null},n===void 0&&a.setContentType(null),"setRequestHeader"in u&&Ue.forEach(a.toJSON(),function(m,f){u.setRequestHeader(f,m)}),Ue.isUndefined(l.withCredentials)||(u.withCredentials=!!l.withCredentials),i&&i!=="json"&&(u.responseType=l.responseType),typeof l.onDownloadProgress=="function"&&u.addEventListener("progress",sd(l.onDownloadProgress,!0)),typeof l.onUploadProgress=="function"&&u.upload&&u.upload.addEventListener("progress",sd(l.onUploadProgress)),(l.cancelToken||l.signal)&&(c=v=>{u&&(r(!v||v.type?new Ti(null,e,u):v),u.abort(),u=null)},l.cancelToken&&l.cancelToken.subscribe(c),l.signal&&(l.signal.aborted?c():l.signal.addEventListener("abort",c)));const h=dS(l.url);if(h&&dl.protocols.indexOf(h)===-1){r(new Ft("Unsupported protocol "+h+":",Ft.ERR_BAD_REQUEST,e));return}u.send(n||null)})},_S=(e,t)=>{let o=new AbortController,r;const l=function(c){if(!r){r=!0,a();const d=c instanceof Error?c:this.reason;o.abort(d instanceof Ft?d:new Ti(d instanceof Error?d.message:d))}};let n=t&&setTimeout(()=>{l(new Ft(`timeout ${t} of ms exceeded`,Ft.ETIMEDOUT))},t);const a=()=>{e&&(n&&clearTimeout(n),n=null,e.forEach(c=>{c&&(c.removeEventListener?c.removeEventListener("abort",l):c.unsubscribe(l))}),e=null)};e.forEach(c=>c&&c.addEventListener&&c.addEventListener("abort",l));const{signal:i}=o;return i.unsubscribe=a,[i,()=>{n&&clearTimeout(n),n=null}]},wS=function*(e,t){let o=e.byteLength;if(!t||o{const n=yS(e,t,l);let a=0;return new ReadableStream({type:"bytes",async pull(i){const{done:c,value:d}=await n.next();if(c){i.close(),r();return}let u=d.byteLength;o&&o(a+=u),i.enqueue(new Uint8Array(d))},cancel(i){return r(i),n.return()}},{highWaterMark:2})},zb=(e,t)=>{const o=e!=null;return r=>setTimeout(()=>t({lengthComputable:o,total:e,loaded:r}))},cd=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",Ib=cd&&typeof ReadableStream=="function",y0=cd&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),xS=Ib&&(()=>{let e=!1;const t=new Request(dl.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t})(),Ob=64*1024,x0=Ib&&!!(()=>{try{return Ue.isReadableStream(new Response("").body)}catch{}})(),ud={stream:x0&&(e=>e.body)};cd&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!ud[t]&&(ud[t]=Ue.isFunction(e[t])?o=>o[t]():(o,r)=>{throw new Ft(`Response type '${t}' is not supported`,Ft.ERR_NOT_SUPPORT,r)})})})(new Response);const kS=async e=>{if(e==null)return 0;if(Ue.isBlob(e))return e.size;if(Ue.isSpecCompliantForm(e))return(await new Request(e).arrayBuffer()).byteLength;if(Ue.isArrayBufferView(e))return e.byteLength;if(Ue.isURLSearchParams(e)&&(e=e+""),Ue.isString(e))return(await y0(e)).byteLength},CS=async(e,t)=>{const o=Ue.toFiniteNumber(e.getContentLength());return o??kS(t)},k0={http:q7,xhr:bS,fetch:cd&&(async e=>{let{url:t,method:o,data:r,signal:l,cancelToken:n,timeout:a,onDownloadProgress:i,onUploadProgress:c,responseType:d,headers:u,withCredentials:p="same-origin",fetchOptions:h}=Mb(e);d=d?(d+"").toLowerCase():"text";let[v,m]=l||n||a?_S([l,n],a):[],f,_;const g=()=>{!f&&setTimeout(()=>{v&&v.unsubscribe()}),f=!0};let y;try{if(c&&xS&&o!=="get"&&o!=="head"&&(y=await CS(u,r))!==0){let T=new Request(t,{method:"POST",body:r,duplex:"half"}),R;Ue.isFormData(r)&&(R=T.headers.get("content-type"))&&u.setContentType(R),T.body&&(r=Ab(T.body,Ob,zb(y,sd(c)),null,y0))}Ue.isString(p)||(p=p?"cors":"omit"),_=new Request(t,{...h,signal:v,method:o.toUpperCase(),headers:u.normalize().toJSON(),body:r,duplex:"half",withCredentials:p});let w=await fetch(_);const x=x0&&(d==="stream"||d==="response");if(x0&&(i||x)){const T={};["status","statusText","headers"].forEach(P=>{T[P]=w[P]});const R=Ue.toFiniteNumber(w.headers.get("content-length"));w=new Response(Ab(w.body,Ob,i&&zb(R,sd(i,!0)),x&&g,y0),T)}d=d||"text";let $=await ud[Ue.findKey(ud,d)||"text"](w,e);return!x&&g(),m&&m(),await new Promise((T,R)=>{Eb(T,R,{data:$,headers:Tr.from(w.headers),status:w.status,statusText:w.statusText,config:e,request:_})})}catch(w){throw g(),w&&w.name==="TypeError"&&/fetch/i.test(w.message)?Object.assign(new Ft("Network Error",Ft.ERR_NETWORK,e,_),{cause:w.cause||w}):Ft.from(w,w&&w.code,e,_)}})};Ue.forEach(k0,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const Nb=e=>`- ${e}`,SS=e=>Ue.isFunction(e)||e===null||e===!1,Pb={getAdapter:e=>{e=Ue.isArray(e)?e:[e];const{length:t}=e;let o,r;const l={};for(let n=0;n`adapter ${i} `+(c===!1?"is not supported by the environment":"is not available in the build"));let a=t?n.length>1?`since : `+n.map(Nb).join(` `):" "+Nb(n[0]):"as no adapter specified";throw new Ft("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return r},adapters:k0};function C0(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Ti(null,e)}function Rb(e){return C0(e),e.headers=Tr.from(e.headers),e.data=w0.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Pb.getAdapter(e.adapter||tc.adapter)(e).then(function(r){return C0(e),r.data=w0.call(e,e.transformResponse,r),r.headers=Tr.from(r.headers),r},function(r){return Sb(r)||(C0(e),r&&r.response&&(r.response.data=w0.call(e,e.transformResponse,r.response),r.response.headers=Tr.from(r.response.headers))),Promise.reject(r)})}const Lb="1.7.2",S0={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{S0[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const Bb={};S0.transitional=function(t,o,r){function l(n,a){return"[Axios v"+Lb+"] Transitional option '"+n+"'"+a+(r?". "+r:"")}return(n,a,i)=>{if(t===!1)throw new Ft(l(a," has been removed"+(o?" in "+o:"")),Ft.ERR_DEPRECATED);return o&&!Bb[a]&&(Bb[a]=!0,console.warn(l(a," has been deprecated since v"+o+" and will be removed in the near future"))),t?t(n,a,i):!0}};function ES(e,t,o){if(typeof e!="object")throw new Ft("options must be an object",Ft.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let l=r.length;for(;l-- >0;){const n=r[l],a=t[n];if(a){const i=e[n],c=i===void 0||a(i,n,e);if(c!==!0)throw new Ft("option "+n+" must be "+c,Ft.ERR_BAD_OPTION_VALUE);continue}if(o!==!0)throw new Ft("Unknown option "+n,Ft.ERR_BAD_OPTION)}}const E0={assertOptions:ES,validators:S0},Wn=E0.validators;class Ta{constructor(t){this.defaults=t,this.interceptors={request:new yb,response:new yb}}async request(t,o){try{return await this._request(t,o)}catch(r){if(r instanceof Error){let l;Error.captureStackTrace?Error.captureStackTrace(l={}):l=new Error;const n=l.stack?l.stack.replace(/^.+\n/,""):"";try{r.stack?n&&!String(r.stack).endsWith(n.replace(/^.+\n.+\n/,""))&&(r.stack+=` -`+n):r.stack=n}catch{}}throw r}}_request(t,o){typeof t=="string"?(o=o||{},o.url=t):o=t||{},o=Ea(this.defaults,o);const{transitional:r,paramsSerializer:l,headers:n}=o;r!==void 0&&E0.assertOptions(r,{silentJSONParsing:Wn.transitional(Wn.boolean),forcedJSONParsing:Wn.transitional(Wn.boolean),clarifyTimeoutError:Wn.transitional(Wn.boolean)},!1),l!=null&&(Ue.isFunction(l)?o.paramsSerializer={serialize:l}:E0.assertOptions(l,{encode:Wn.function,serialize:Wn.function},!0)),o.method=(o.method||this.defaults.method||"get").toLowerCase();let a=n&&Ue.merge(n.common,n[o.method]);n&&Ue.forEach(["delete","get","head","post","put","patch","common"],m=>{delete n[m]}),o.headers=Tr.concat(a,n);const i=[];let c=!0;this.interceptors.request.forEach(function(f){typeof f.runWhen=="function"&&f.runWhen(o)===!1||(c=c&&f.synchronous,i.unshift(f.fulfilled,f.rejected))});const d=[];this.interceptors.response.forEach(function(f){d.push(f.fulfilled,f.rejected)});let u,p=0,h;if(!c){const m=[Rb.bind(this),void 0];for(m.unshift.apply(m,i),m.push.apply(m,d),h=m.length,u=Promise.resolve(o);p{if(!r._listeners)return;let n=r._listeners.length;for(;n-- >0;)r._listeners[n](l);r._listeners=null}),this.promise.then=l=>{let n;const a=new Promise(i=>{r.subscribe(i),n=i}).then(l);return a.cancel=function(){r.unsubscribe(n)},a},t(function(n,a,i){r.reason||(r.reason=new Ti(n,a,i),o(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const o=this._listeners.indexOf(t);o!==-1&&this._listeners.splice(o,1)}static source(){let t;return{token:new T0(function(l){t=l}),cancel:t}}}function TS(e){return function(o){return e.apply(null,o)}}function $S(e){return Ue.isObject(e)&&e.isAxiosError===!0}const $0={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries($0).forEach(([e,t])=>{$0[t]=e});function Vb(e){const t=new Ta(e),o=ob(Ta.prototype.request,t);return Ue.extend(o,Ta.prototype,t,{allOwnKeys:!0}),Ue.extend(o,t,null,{allOwnKeys:!0}),o.create=function(l){return Vb(Ea(e,l))},o}const fo=Vb(tc);fo.Axios=Ta,fo.CanceledError=Ti,fo.CancelToken=T0,fo.isCancel=Sb,fo.VERSION=Lb,fo.toFormData=ad,fo.AxiosError=Ft,fo.Cancel=fo.CanceledError,fo.all=function(t){return Promise.all(t)},fo.spread=TS,fo.isAxiosError=$S,fo.mergeConfig=Ea,fo.AxiosHeaders=Tr,fo.formToJSON=e=>kb(Ue.isHTMLForm(e)?new FormData(e):e),fo.getAdapter=Pb.getAdapter,fo.HttpStatusCode=$0,fo.default=fo;const MS={key:0},AS={key:0},zS={key:1},IS=N({__name:"ConfirmationProcess",props:{transactionHash:{type:String,required:!0}},setup(e){const t=e,o=Tt.get.order,r=Tt.get.network,l=Tt.get.receiver,n=D(1),a=D(!0),i=D(0),c=D(null),d=D(null),u=C(()=>qt.apiUrl&&qt.reminderEmail&&!c.value),p=async f=>{a.value=!1,c.value=f,s0(ht.pleaseWait),clearInterval(i.value),await fo.post("set-reminder-email",{email:f,hash:t.transactionHash}),Gs();const _=Js.get("redirectUrls");_?window.location.href=_.reminderEmail||_.success:window.location.reload()},h=()=>{Er.fire({title:ht.importantInformation,html:ht.setReminderEmailMsg,showCancelButton:!0,confirmButtonText:ht.continue}).then(async f=>{if(f.isConfirmed){if(qt.userEmail)return p(qt.userEmail);const{value:_}=await Er.fire({title:ht.enterYourEmailAddress,input:"email",inputPlaceholder:ht.email,showCancelButton:!0,confirmButtonText:ht.save});_&&p(_)}})},v=Tt.transactionInstance(t.transactionHash),m=()=>{window.open(v.getUrl(),"_blank")};return ft(async()=>{c0(),await Vt.call("confirmationStarted",{order:o,network:r,transaction:v});let f;try{zo.log("Waiting for transaction");try{f=await v.wait(5e3),zo.log("Verifying transaction"),f=await v.verifyTransfer(tb.INCOMING,l,o.paymentAmount)}catch(y){f=Ci.FAILED,zo.error(y)}zo.log("Transaction status:",f),f==Ci.CONFIRMED&&Ho.get.blockConfirmationCount>0&&(f=await new Promise(y=>{i.value=setInterval(async()=>{d.value=await v.getBlockConfirmationCount(),d.value>=Ho.get.blockConfirmationCount&&(y(Ci.CONFIRMED),clearInterval(i.value))},5e3)}))}catch(y){f=Ci.FAILED,zo.error(y)}n.value=2;let _;qt.createTransaction&&(_=await Tt.get.api.paymentFinished(f==Ci.CONFIRMED)),a.value=!1,Gs();const g=await Vt.call("confirmationCompleted",{order:o,status:f,network:r,transaction:v});if(Vt.check(g)&&!g.disablePopup&&typeof _<"u"){let y;_.success?y=X1(_.message):y=bo(_.message),y.then(()=>{Ys(),s0(ht.redirecting),_.data.redirect=="reload"?window.location.reload():window.location.href=_.data.redirect})}}),(f,_)=>{const g=nt("cp-loading"),y=nt("el-col"),w=nt("el-button"),x=nt("el-row"),$=nt("cp-modal");return a.value?(b(),he($,{key:0,title:s(ht).waitingConfirmation},{default:le(()=>[ee(g),ee(x,{justify:"center",class:"text-center"},{default:le(()=>[n.value==1?(b(),M("div",MS,[ee(y,{span:24,class:"margin-bottom"},{default:le(()=>[d.value!=null?(b(),M("div",AS,$e(s(ht).waitingBlockConfirmations)+" "+$e(d.value)+" / "+$e(s(Ho).get.blockConfirmationCount),1)):(b(),M("div",zS,$e(s(ht).waitingTransactionConfirmations),1))]),_:1}),u0()?se("",!0):(b(),he(y,{key:0,span:24},{default:le(()=>[ee(w,{class:"margin-bottom button-colors",type:"primary",onClick:_[0]||(_[0]=T=>m())},{default:le(()=>[Ct($e(s(ht).openInExplorer),1)]),_:1})]),_:1})),u.value?(b(),he(w,{key:1,type:"info",class:"margin-bottom",onClick:_[1]||(_[1]=T=>h())},{default:le(()=>[Ct($e(s(ht).setReminderEmail),1)]),_:1})):se("",!0)])):(b(),he(y,{key:1,span:24,class:"margin-bottom"},{default:le(()=>[Ct($e(s(ht).paymentCompleting),1)]),_:1}))]),_:1})]),_:1},8,["title"])):se("",!0)}}}),OS={key:0},NS={key:2},PS=N({__name:"App",setup(e){const t=D(!1),o=D(!0),r=C(()=>Ho.get.networks.length==1),l=C(()=>{switch(qt.mode){case"network":return r.value?!Tt.get.network:!0;case"currency":return!0;default:return!0}}),n=C(()=>i.value?Tt.get.network:Tt.get.network&&!Tt.get.transactionHash),a=C(()=>{switch(qt.mode){case"network":return r.value?!0:!o.value;case"currency":return!1;default:return!0}}),i=C(()=>{switch(qt.mode){case"network":return r.value;case"currency":return!1;default:return!1}}),c=()=>{Tt.isPaymentAmountUpdating||Tt.$reset()},d=u=>Object.keys(u).length===0;return zt("$init",async(u,p)=>{if(!p)return bo(ht.notFoundAnyCurrency);t.value=!0,Tt.setOrderParams({...Ho.get.order,paymentCurrency:p}),zo.log("isOrderAndInitAmountNotEqual",Tt.isOrderAndInitAmountNotEqual),Tt.isOrderAndInitAmountNotEqual&&Tt.setInit(null);const h=Tt.get.init,v=await Vt.call("init",{network:u,currency:p,init:h});if(zo.log("Init context",v),!Vt.check(v))return t.value=!1;v!=null&&v.init&&Tt.setInit(v.init);let m={success:!0};try{const f=async _=>{Ho.set("blockConfirmationCount",_.blockConfirmationCount);const g=qt.providers[u.code],y=wi(u,["wsUrl"]),w=new g.Provider(y),x=G1(u.wallets,g.browser.adapters);return d(x)?{success:!1,message:ht.notFoundAnyWallet.replace("{networkName}",u.name)}:(uC(g),pC(w),Tt.setInit(_),Tt.setNetwork(u),Tt.setReceiver(_.receiver),Tt.setOrderParams(_.order),{success:!0})};Tt.get.init?(zo.log("init","use exist init data"),m=await f(Tt.get.init)):(zo.log("init","get init data from api"),m=await f(await Tt.get.api.init(u)))}catch(f){zo.error(f),m={success:!1,message:f.message}}t.value=!1,m.success||bo(m.message??"").then(()=>{if(m.data){Ys();const f=m.data;f.redirect?window.location.href=f.redirect:f.redirect=="reload"&&window.location.reload()}})}),(u,p)=>{const h=nt("cp-modal"),v=nt("cp-loading"),m=nt("cp-container");return s(Ho).isAppStarted?(b(),he(m,{key:0},{default:le(()=>[l.value?(b(),M("div",OS,[s(qt).mode=="network"?(b(),he(SC,{key:0})):s(qt).mode=="currency"?(b(),he(IC,{key:1})):se("",!0)])):se("",!0),n.value?(b(),he(h,{key:1,onClose:p[1]||(p[1]=f=>c()),class:O(i.value?"disabled":"")},{default:le(()=>[a.value?(b(),he(HC,{key:0})):se("",!0),ee(QC,{onStatusChanged:p[0]||(p[0]=f=>o.value=f)})]),_:1},8,["class"])):se("",!0),s(Tt).get.transactionHash?(b(),M("div",NS,[s(Tt).get.process==s(Zu).TRANSACTION?(b(),he(e7,{key:0,transactionHash:s(Tt).get.transactionHash},null,8,["transactionHash"])):s(Tt).get.process==s(Zu).CONFIRMATION?(b(),he(IS,{key:1,transactionHash:s(Tt).get.transactionHash},null,8,["transactionHash"])):se("",!0)])):se("",!0),t.value?(b(),he(h,{key:3,title:s(ht).loading},{default:le(()=>[ee(v)]),_:1},8,["title"])):se("",!0)]),_:1})):se("",!0)}}});var dd={exports:{}};dd.exports,function(e,t){var o=200,r="__lodash_hash_undefined__",l=9007199254740991,n="[object Arguments]",a="[object Array]",i="[object Boolean]",c="[object Date]",d="[object Error]",u="[object Function]",p="[object GeneratorFunction]",h="[object Map]",v="[object Number]",m="[object Object]",f="[object Promise]",_="[object RegExp]",g="[object Set]",y="[object String]",w="[object Symbol]",x="[object WeakMap]",$="[object ArrayBuffer]",T="[object DataView]",R="[object Float32Array]",P="[object Float64Array]",L="[object Int8Array]",B="[object Int16Array]",V="[object Int32Array]",j="[object Uint8Array]",te="[object Uint8ClampedArray]",J="[object Uint16Array]",Z="[object Uint32Array]",H=/[\\^$.*+?()[\]{}|]/g,F=/\w*$/,K=/^\[object .+?Constructor\]$/,I=/^(?:0|[1-9]\d*)$/,U={};U[n]=U[a]=U[$]=U[T]=U[i]=U[c]=U[R]=U[P]=U[L]=U[B]=U[V]=U[h]=U[v]=U[m]=U[_]=U[g]=U[y]=U[w]=U[j]=U[te]=U[J]=U[Z]=!0,U[d]=U[u]=U[x]=!1;var oe=typeof Ao=="object"&&Ao&&Ao.Object===Object&&Ao,ne=typeof self=="object"&&self&&self.Object===Object&&self,ce=oe||ne||Function("return this")(),Q=t&&!t.nodeType&&t,Me=Q&&!0&&e&&!e.nodeType&&e,de=Me&&Me.exports===Q;function _e(ie,Ve){return ie.set(Ve[0],Ve[1]),ie}function me(ie,Ve){return ie.add(Ve),ie}function Re(ie,Ve){for(var Xe=-1,$t=ie?ie.length:0;++Xe<$t&&Ve(ie[Xe],Xe,ie)!==!1;);return ie}function Ce(ie,Ve){for(var Xe=-1,$t=Ve.length,Yo=ie.length;++Xe<$t;)ie[Yo+Xe]=Ve[Xe];return ie}function Ee(ie,Ve,Xe,$t){for(var Yo=-1,mr=ie?ie.length:0;++Yo-1}function ao(ie,Ve){var Xe=this.__data__,$t=_s(Xe,ie);return $t<0?Xe.push([ie,Ve]):Xe[$t][1]=Ve,this}rr.prototype.clear=ua,rr.prototype.delete=He,rr.prototype.get=ot,rr.prototype.has=eo,rr.prototype.set=ao;function Po(ie){var Ve=-1,Xe=ie?ie.length:0;for(this.clear();++Ve-1&&ie%1==0&&ie-1&&ie%1==0&&ie<=l}function ws(ie){var Ve=typeof ie;return!!ie&&(Ve=="object"||Ve=="function")}function lf(ie){return!!ie&&typeof ie=="object"}function uu(ie){return tf(ie)?ru(ie):nm(ie)}function ym(){return[]}function da(){return!1}e.exports=Qp}(dd,dd.exports);var RS=dd.exports;const Db=cl(RS);function LS({store:e}){const t=Db(e.$state);e.$reset=()=>e.$patch(Db(t))}const BS='a[href],button:not([disabled]),button:not([hidden]),:not([tabindex="-1"]),input:not([disabled]),input:not([type="hidden"]),select:not([disabled]),textarea:not([disabled])',VS=e=>getComputedStyle(e).position==="fixed"?!1:e.offsetParent!==null,Hb=e=>Array.from(e.querySelectorAll(BS)).filter(t=>DS(t)&&VS(t)),DS=e=>{if(e.tabIndex>0||e.tabIndex===0&&e.getAttribute("tabIndex")!==null)return!0;if(e.disabled)return!1;switch(e.nodeName){case"A":return!!e.href&&e.rel!=="ignore";case"INPUT":return!(e.type==="hidden"||e.type==="file");case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},pd=function(e,t,...o){let r;t.includes("mouse")||t.includes("click")?r="MouseEvents":t.includes("key")?r="KeyboardEvent":r="HTMLEvents";const l=document.createEvent(r);return l.initEvent(t,...o),e.dispatchEvent(l),e},Fb=e=>!e.getAttribute("aria-owns"),jb=(e,t,o)=>{const{parentNode:r}=e;if(!r)return null;const l=r.querySelectorAll(o),n=Array.prototype.indexOf.call(l,e);return l[n+t]||null},fd=e=>{e&&(e.focus(),!Fb(e)&&e.click())},ho=(e,t,{checkForDefaultPrevented:o=!0}={})=>l=>{const n=e==null?void 0:e(l);if(o===!1||!n)return t==null?void 0:t(l)},Kb=e=>t=>t.pointerType==="mouse"?e(t):void 0;var HS=Object.defineProperty,FS=Object.defineProperties,jS=Object.getOwnPropertyDescriptors,Ub=Object.getOwnPropertySymbols,KS=Object.prototype.hasOwnProperty,US=Object.prototype.propertyIsEnumerable,Wb=(e,t,o)=>t in e?HS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,WS=(e,t)=>{for(var o in t||(t={}))KS.call(t,o)&&Wb(e,o,t[o]);if(Ub)for(var o of Ub(t))US.call(t,o)&&Wb(e,o,t[o]);return e},qS=(e,t)=>FS(e,jS(t));function qb(e,t){var o;const r=lo();return Go(()=>{r.value=e()},qS(WS({},t),{flush:(o=void 0)!=null?o:"sync"})),ui(r)}var Yb;const Nt=typeof window<"u",YS=e=>typeof e<"u",M0=e=>typeof e=="function",GS=e=>typeof e=="string",$i=()=>{},A0=Nt&&((Yb=window==null?void 0:window.navigator)==null?void 0:Yb.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function qn(e){return typeof e=="function"?e():s(e)}function Gb(e,t){function o(...r){return new Promise((l,n)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(l).catch(n)})}return o}function XS(e,t={}){let o,r,l=$i;const n=i=>{clearTimeout(i),l(),l=$i};return i=>{const c=qn(e),d=qn(t.maxWait);return o&&n(o),c<=0||d!==void 0&&d<=0?(r&&(n(r),r=null),Promise.resolve(i())):new Promise((u,p)=>{l=t.rejectOnCancel?p:u,d&&!r&&(r=setTimeout(()=>{o&&n(o),r=null,u(i())},d)),o=setTimeout(()=>{r&&n(r),r=null,u(i())},c)})}}function ZS(e,t=!0,o=!0,r=!1){let l=0,n,a=!0,i=$i,c;const d=()=>{n&&(clearTimeout(n),n=void 0,i(),i=$i)};return p=>{const h=qn(e),v=Date.now()-l,m=()=>c=p();return d(),h<=0?(l=Date.now(),m()):(v>h&&(o||!a)?(l=Date.now(),m()):t&&(c=new Promise((f,_)=>{i=r?_:f,n=setTimeout(()=>{l=Date.now(),a=!0,f(m()),d()},Math.max(0,h-v))})),!o&&!n&&(n=setTimeout(()=>a=!0,h)),a=!1,c)}}function JS(e){return e}function QS(e,t){let o,r,l;const n=D(!0),a=()=>{n.value=!0,l()};Se(e,a,{flush:"sync"});const i=M0(t)?t:t.get,c=M0(t)?void 0:t.set,d=uk((u,p)=>(r=u,l=p,{get(){return n.value&&(o=i(),n.value=!1),r(),o},set(h){c==null||c(h)}}));return Object.isExtensible(d)&&(d.trigger=a),d}function rc(e){return xf()?(kf(e),!0):!1}function eE(e,t=200,o={}){return Gb(XS(t,o),e)}function tE(e,t=200,o={}){const r=D(e.value),l=eE(()=>{r.value=e.value},t,o);return Se(e,()=>l()),r}function Xb(e,t=200,o=!1,r=!0,l=!1){return Gb(ZS(t,o,r,l),e)}function z0(e,t=!0){wt()?ft(e):t?e():et(e)}function $a(e,t,o={}){const{immediate:r=!0}=o,l=D(!1);let n=null;function a(){n&&(clearTimeout(n),n=null)}function i(){l.value=!1,a()}function c(...d){a(),l.value=!0,n=setTimeout(()=>{l.value=!1,n=null,e(...d)},qn(t))}return r&&(l.value=!0,Nt&&c()),rc(i),{isPending:ui(l),start:c,stop:i}}function $r(e){var t;const o=qn(e);return(t=o==null?void 0:o.$el)!=null?t:o}const Yn=Nt?window:void 0,oE=Nt?window.document:void 0;function oo(...e){let t,o,r,l;if(GS(e[0])||Array.isArray(e[0])?([o,r,l]=e,t=Yn):[t,o,r,l]=e,!t)return $i;Array.isArray(o)||(o=[o]),Array.isArray(r)||(r=[r]);const n=[],a=()=>{n.forEach(u=>u()),n.length=0},i=(u,p,h,v)=>(u.addEventListener(p,h,v),()=>u.removeEventListener(p,h,v)),c=Se(()=>[$r(t),qn(l)],([u,p])=>{a(),u&&n.push(...o.flatMap(h=>r.map(v=>i(u,h,v,p))))},{immediate:!0,flush:"post"}),d=()=>{c(),a()};return rc(d),d}let Zb=!1;function I0(e,t,o={}){const{window:r=Yn,ignore:l=[],capture:n=!0,detectIframe:a=!1}=o;if(!r)return;A0&&!Zb&&(Zb=!0,Array.from(r.document.body.children).forEach(h=>h.addEventListener("click",$i)));let i=!0;const c=h=>l.some(v=>{if(typeof v=="string")return Array.from(r.document.querySelectorAll(v)).some(m=>m===h.target||h.composedPath().includes(m));{const m=$r(v);return m&&(h.target===m||h.composedPath().includes(m))}}),u=[oo(r,"click",h=>{const v=$r(e);if(!(!v||v===h.target||h.composedPath().includes(v))){if(h.detail===0&&(i=!c(h)),!i){i=!0;return}t(h)}},{passive:!0,capture:n}),oo(r,"pointerdown",h=>{const v=$r(e);v&&(i=!h.composedPath().includes(v)&&!c(h))},{passive:!0}),a&&oo(r,"blur",h=>{var v;const m=$r(e);((v=r.document.activeElement)==null?void 0:v.tagName)==="IFRAME"&&!(m!=null&&m.contains(r.document.activeElement))&&t(h)})].filter(Boolean);return()=>u.forEach(h=>h())}function rE(e={}){var t;const{window:o=Yn}=e,r=(t=e.document)!=null?t:o==null?void 0:o.document,l=QS(()=>null,()=>r==null?void 0:r.activeElement);return o&&(oo(o,"blur",n=>{n.relatedTarget===null&&l.trigger()},!0),oo(o,"focus",l.trigger,!0)),l}function Jb(e,t=!1){const o=D(),r=()=>o.value=!!e();return r(),z0(r,t),o}function lE(e){return JSON.parse(JSON.stringify(e))}const O0=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof Xl<"u"?Xl:typeof self<"u"?self:{},N0="__vueuse_ssr_handlers__";O0[N0]=O0[N0]||{},O0[N0];function nE(e,t,{window:o=Yn,initialValue:r=""}={}){const l=D(r),n=C(()=>{var a;return $r(t)||((a=o==null?void 0:o.document)==null?void 0:a.documentElement)});return Se([n,()=>qn(e)],([a,i])=>{var c;if(a&&o){const d=(c=o.getComputedStyle(a).getPropertyValue(i))==null?void 0:c.trim();l.value=d||r}},{immediate:!0}),Se(l,a=>{var i;(i=n.value)!=null&&i.style&&n.value.style.setProperty(qn(e),a)}),l}function aE({document:e=oE}={}){if(!e)return D("visible");const t=D(e.visibilityState);return oo(e,"visibilitychange",()=>{t.value=e.visibilityState}),t}var Qb=Object.getOwnPropertySymbols,iE=Object.prototype.hasOwnProperty,sE=Object.prototype.propertyIsEnumerable,cE=(e,t)=>{var o={};for(var r in e)iE.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(e!=null&&Qb)for(var r of Qb(e))t.indexOf(r)<0&&sE.call(e,r)&&(o[r]=e[r]);return o};function so(e,t,o={}){const r=o,{window:l=Yn}=r,n=cE(r,["window"]);let a;const i=Jb(()=>l&&"ResizeObserver"in l),c=()=>{a&&(a.disconnect(),a=void 0)},d=Se(()=>$r(e),p=>{c(),i.value&&l&&p&&(a=new ResizeObserver(t),a.observe(p,n))},{immediate:!0,flush:"post"}),u=()=>{c(),d()};return rc(u),{isSupported:i,stop:u}}function e_(e,t={}){const{reset:o=!0,windowResize:r=!0,windowScroll:l=!0,immediate:n=!0}=t,a=D(0),i=D(0),c=D(0),d=D(0),u=D(0),p=D(0),h=D(0),v=D(0);function m(){const f=$r(e);if(!f){o&&(a.value=0,i.value=0,c.value=0,d.value=0,u.value=0,p.value=0,h.value=0,v.value=0);return}const _=f.getBoundingClientRect();a.value=_.height,i.value=_.bottom,c.value=_.left,d.value=_.right,u.value=_.top,p.value=_.width,h.value=_.x,v.value=_.y}return so(e,m),Se(()=>$r(e),f=>!f&&m()),l&&oo("scroll",m,{capture:!0,passive:!0}),r&&oo("resize",m,{passive:!0}),z0(()=>{n&&m()}),{height:a,bottom:i,left:c,right:d,top:u,width:p,x:h,y:v,update:m}}var t_=Object.getOwnPropertySymbols,uE=Object.prototype.hasOwnProperty,dE=Object.prototype.propertyIsEnumerable,pE=(e,t)=>{var o={};for(var r in e)uE.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(e!=null&&t_)for(var r of t_(e))t.indexOf(r)<0&&dE.call(e,r)&&(o[r]=e[r]);return o};function o_(e,t,o={}){const r=o,{window:l=Yn}=r,n=pE(r,["window"]);let a;const i=Jb(()=>l&&"MutationObserver"in l),c=()=>{a&&(a.disconnect(),a=void 0)},d=Se(()=>$r(e),p=>{c(),i.value&&l&&p&&(a=new MutationObserver(t),a.observe(p,n))},{immediate:!0}),u=()=>{c(),d()};return rc(u),{isSupported:i,stop:u}}var r_;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(r_||(r_={}));var fE=Object.defineProperty,l_=Object.getOwnPropertySymbols,hE=Object.prototype.hasOwnProperty,vE=Object.prototype.propertyIsEnumerable,n_=(e,t,o)=>t in e?fE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,mE=(e,t)=>{for(var o in t||(t={}))hE.call(t,o)&&n_(e,o,t[o]);if(l_)for(var o of l_(t))vE.call(t,o)&&n_(e,o,t[o]);return e};mE({linear:JS},{easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]});function a_(e,t,o,r={}){var l,n,a;const{clone:i=!1,passive:c=!1,eventName:d,deep:u=!1,defaultValue:p}=r,h=wt(),v=o||(h==null?void 0:h.emit)||((l=h==null?void 0:h.$emit)==null?void 0:l.bind(h))||((a=(n=h==null?void 0:h.proxy)==null?void 0:n.$emit)==null?void 0:a.bind(h==null?void 0:h.proxy));let m=d;t||(t="modelValue"),m=d||m||`update:${t.toString()}`;const f=g=>i?M0(i)?i(g):lE(g):g,_=()=>YS(e[t])?f(e[t]):p;if(c){const g=_(),y=D(g);return Se(()=>e[t],w=>y.value=f(w)),Se(y,w=>{(w!==e[t]||u)&&v(m,w)},{deep:u}),y}else return C({get(){return _()},set(g){v(m,g)}})}function gE({window:e=Yn}={}){if(!e)return D(!1);const t=D(e.document.hasFocus());return oo(e,"blur",()=>{t.value=!1}),oo(e,"focus",()=>{t.value=!0}),t}function bE(e={}){const{window:t=Yn,initialWidth:o=1/0,initialHeight:r=1/0,listenOrientation:l=!0,includeScrollbar:n=!0}=e,a=D(o),i=D(r),c=()=>{t&&(n?(a.value=t.innerWidth,i.value=t.innerHeight):(a.value=t.document.documentElement.clientWidth,i.value=t.document.documentElement.clientHeight))};return c(),z0(c),oo("resize",c,{passive:!0}),l&&oo("orientationchange",c,{passive:!0}),{width:a,height:i}}const i_=()=>Nt&&/firefox/i.test(window.navigator.userAgent),_E=(e,t)=>{if(!Nt||!e||!t)return!1;const o=e.getBoundingClientRect();let r;return t instanceof Element?r=t.getBoundingClientRect():r={top:0,right:window.innerWidth,bottom:window.innerHeight,left:0},o.topr.top&&o.right>r.left&&o.left{let t=0,o=e;for(;o;)t+=o.offsetTop,o=o.offsetParent;return t},P0=(e,t)=>Math.abs(s_(e)-s_(t)),R0=e=>{let t,o;return e.type==="touchend"?(o=e.changedTouches[0].clientY,t=e.changedTouches[0].clientX):e.type.startsWith("touch")?(o=e.touches[0].clientY,t=e.touches[0].clientX):(o=e.clientY,t=e.clientX),{clientX:t,clientY:o}};function wE(e,t,o,r){const l=o-t;return e/=r/2,e<1?l/2*e*e*e+t:l/2*((e-=2)*e*e+2)+t}var c_=typeof Xl=="object"&&Xl&&Xl.Object===Object&&Xl,yE=typeof self=="object"&&self&&self.Object===Object&&self,pl=c_||yE||Function("return this")(),qr=pl.Symbol,u_=Object.prototype,xE=u_.hasOwnProperty,kE=u_.toString,lc=qr?qr.toStringTag:void 0;function CE(e){var t=xE.call(e,lc),o=e[lc];try{e[lc]=void 0;var r=!0}catch{}var l=kE.call(e);return r&&(t?e[lc]=o:delete e[lc]),l}var SE=Object.prototype,EE=SE.toString;function TE(e){return EE.call(e)}var $E="[object Null]",ME="[object Undefined]",d_=qr?qr.toStringTag:void 0;function Ma(e){return e==null?e===void 0?ME:$E:d_&&d_ in Object(e)?CE(e):TE(e)}function Il(e){return e!=null&&typeof e=="object"}var AE="[object Symbol]";function hd(e){return typeof e=="symbol"||Il(e)&&Ma(e)==AE}function L0(e,t){for(var o=-1,r=e==null?0:e.length,l=Array(r);++o0){if(++t>=nT)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function cT(e){return function(){return e}}var vd=function(){try{var e=za(Object,"defineProperty");return e({},"",{}),e}catch{}}(),uT=vd?function(e,t){return vd(e,"toString",{configurable:!0,enumerable:!1,value:cT(t),writable:!0})}:B0,w_=sT(uT);function dT(e,t){for(var o=-1,r=e==null?0:e.length;++o-1}var mT=9007199254740991,gT=/^(?:0|[1-9]\d*)$/;function md(e,t){var o=typeof e;return t=t??mT,!!t&&(o=="number"||o!="symbol"&&gT.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=wT}function Ai(e){return e!=null&&K0(e.length)&&!V0(e)}function yT(e,t,o){if(!wr(o))return!1;var r=typeof t;return(r=="number"?Ai(o)&&md(t,o.length):r=="string"&&t in o)?nc(o[t],e):!1}function xT(e){return C_(function(t,o){var r=-1,l=o.length,n=l>1?o[l-1]:void 0,a=l>2?o[2]:void 0;for(n=e.length>3&&typeof n=="function"?(l--,n):void 0,a&&yT(o[0],o[1],a)&&(n=l<3?void 0:n,l=1),t=Object(t);++r-1}function I$(e,t){var o=this.__data__,r=gd(o,e);return r<0?(++this.size,o.push([e,t])):o[r][1]=t,this}function dn(e){var t=-1,o=e==null?0:e.length;for(this.clear();++t0&&o(i)?t>1?fc(i,t-1,o,r,l):X0(l,i):r||(l[l.length]=i)}return l}function P_(e){var t=e==null?0:e.length;return t?fc(e,1):[]}function R_(e){return w_(k_(e,void 0,P_),e+"")}var Z0=O_(Object.getPrototypeOf,Object),Y$="[object Object]",G$=Function.prototype,X$=Object.prototype,L_=G$.toString,Z$=X$.hasOwnProperty,J$=L_.call(Object);function B_(e){if(!Il(e)||Ma(e)!=Y$)return!1;var t=Z0(e);if(t===null)return!0;var o=Z$.call(t,"constructor")&&t.constructor;return typeof o=="function"&&o instanceof o&&L_.call(o)==J$}function Q$(e,t,o){var r=-1,l=e.length;t<0&&(t=-t>l?0:l+t),o=o>l?l:o,o<0&&(o+=l),l=t>o?0:o-t>>>0,t>>>=0;for(var n=Array(l);++ri))return!1;var d=n.get(e),u=n.get(t);if(d&&u)return d==t&&u==e;var p=-1,h=!0,v=o&NA?new hc:void 0;for(n.set(e,t),n.set(t,e);++p=t||R<0||p&&P>=n}function g(){var T=nh();if(_(T))return y(T);i=setTimeout(g,f(T))}function y(T){return i=void 0,h&&r?v(T):(r=l=void 0,a)}function w(){i!==void 0&&clearTimeout(i),d=0,r=c=l=i=void 0}function x(){return i===void 0?a:y(nh())}function $(){var T=nh(),R=_(T);if(r=arguments,l=this,c=T,R){if(i===void 0)return m(c);if(p)return clearTimeout(i),i=setTimeout(g,t),v(c)}return i===void 0&&(i=setTimeout(g,t)),a}return $.cancel=w,$.flush=x,$}function ah(e,t,o){(o!==void 0&&!nc(e[t],o)||o===void 0&&!(t in e))&&F0(e,t,o)}function y3(e){return Il(e)&&Ai(e)}function ih(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}function kz(e){return Mi(e,uc(e))}function Cz(e,t,o,r,l,n,a){var i=ih(e,o),c=ih(t,o),d=a.get(c);if(d){ah(e,o,d);return}var u=n?n(i,c,o+"",e,t,a):void 0,p=u===void 0;if(p){var h=_r(c),v=!h&&ic(c),m=!h&&!v&&Y0(c);u=c,h||v||m?_r(i)?u=i:y3(i)?u=__(i):v?(p=!1,u=j_(c,!0)):m?(p=!1,u=o3(c,!0)):u=[]:B_(c)||ac(c)?(u=i,ac(i)?u=kz(i):(!wr(i)||V0(i))&&(u=r3(c))):p=!1}p&&(a.set(c,u),l(u,c,r,n,a),a.delete(c)),ah(e,o,u)}function x3(e,t,o,r,l){e!==t&&w3(t,function(n,a){if(l||(l=new fl),wr(n))Cz(e,t,a,o,x3,r,l);else{var i=r?r(ih(e,a),n,a+"",e,t,l):void 0;i===void 0&&(i=n),ah(e,a,i)}},uc)}function Sz(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}function k3(e,t,o){var r=e==null?0:e.length;if(!r)return-1;var l=r-1;return y_(e,_3(t),l,!0)}function Ez(e,t){var o=-1,r=Ai(e)?Array(e.length):[];return _z(e,function(l,n,a){r[++o]=t(l,n,a)}),r}function Tz(e,t){var o=_r(e)?L0:Ez;return o(e,_3(t))}function $z(e,t){return fc(Tz(e,t),1)}var Mz=1/0;function Az(e){var t=e==null?0:e.length;return t?fc(e,Mz):[]}function Sd(e){for(var t=-1,o=e==null?0:e.length,r={};++t1),n}),Mi(e,Y_(e),o),r&&(o=Pi(o,Pz|Rz|Lz,Nz));for(var l=t.length;l--;)Oz(o,t[l]);return o});function S3(e,t,o,r){if(!wr(e))return e;t=Ii(t,e);for(var l=-1,n=t.length,a=n-1,i=e;i!=null&&++l=Uz){var d=Kz(e);if(d)return rh(d);a=!1,l=u3,c=new hc}else c=i;e:for(;++re===void 0,Co=e=>typeof e=="boolean",st=e=>typeof e=="number",Yr=e=>!e&&e!==0||Ke(e)&&e.length===0||xt(e)&&!Object.keys(e).length,Gr=e=>typeof Element>"u"?!1:e instanceof Element,Na=e=>jo(e),qz=e=>ut(e)?!Number.isNaN(Number(e)):!1,Ed=e=>e===window,Xn=e=>Nt?window.requestAnimationFrame(e):setTimeout(e,16),Pa=e=>Nt?window.cancelAnimationFrame(e):clearTimeout(e),ch=(e="")=>e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d"),Nl=e=>Ms(e),Ri=e=>Object.keys(e),Yz=e=>Object.entries(e),Td=(e,t,o)=>({get value(){return wo(e,t,o)},set value(r){Hz(e,t,r)}});class Gz extends Error{constructor(t){super(t),this.name="ElementPlusError"}}function Io(e,t){throw new Gz(`[${e}] ${t}`)}function cfe(e,t){}const E3=(e="")=>e.split(" ").filter(t=>!!t.trim()),Xr=(e,t)=>{if(!e||!t)return!1;if(t.includes(" "))throw new Error("className should not contain space.");return e.classList.contains(t)},Zr=(e,t)=>{!e||!t.trim()||e.classList.add(...E3(t))},ar=(e,t)=>{!e||!t.trim()||e.classList.remove(...E3(t))},Zn=(e,t)=>{var o;if(!Nt||!e||!t)return"";let r=Fr(t);r==="float"&&(r="cssFloat");try{const l=e.style[r];if(l)return l;const n=(o=document.defaultView)==null?void 0:o.getComputedStyle(e,"");return n?n[r]:""}catch{return e.style[r]}};function mo(e,t="px"){if(!e)return"";if(st(e)||qz(e))return`${e}${t}`;if(ut(e))return e}const Xz=(e,t)=>{if(!Nt)return!1;const o={undefined:"overflow",true:"overflow-y",false:"overflow-x"}[String(t)],r=Zn(e,o);return["scroll","auto","overlay"].some(l=>r.includes(l))},uh=(e,t)=>{if(!Nt)return;let o=e;for(;o;){if([window,document,document.documentElement].includes(o))return window;if(Xz(o,t))return o;o=o.parentNode}return o};let $d;const T3=e=>{var t;if(!Nt)return 0;if($d!==void 0)return $d;const o=document.createElement("div");o.className=`${e}-scrollbar__wrap`,o.style.visibility="hidden",o.style.width="100px",o.style.position="absolute",o.style.top="-9999px",document.body.appendChild(o);const r=o.offsetWidth;o.style.overflow="scroll";const l=document.createElement("div");l.style.width="100%",o.appendChild(l);const n=l.offsetWidth;return(t=o.parentNode)==null||t.removeChild(o),$d=r-n,$d};function $3(e,t){if(!Nt)return;if(!t){e.scrollTop=0;return}const o=[];let r=t.offsetParent;for(;r!==null&&e!==r&&e.contains(r);)o.push(r),r=r.offsetParent;const l=t.offsetTop+o.reduce((c,d)=>c+d.offsetTop,0),n=l+t.offsetHeight,a=e.scrollTop,i=a+e.clientHeight;li&&(e.scrollTop=n-e.clientHeight)}function Zz(e,t,o,r,l){const n=Date.now();let a;const i=()=>{const d=Date.now()-n,u=wE(d>r?r:d,t,o,r);Ed(e)?e.scrollTo(window.pageXOffset,u):e.scrollTop=u,d{a&&Pa(a)}}const M3=(e,t)=>Ed(t)?e.ownerDocument.documentElement:t,A3=e=>Ed(e)?window.scrollY:e.scrollTop,Md=e=>{if(!Nt||e==="")return null;if(ut(e))try{return document.querySelector(e)}catch{return null}return e};/*! Element Plus Icons Vue v2.3.1 */var Jz=N({name:"AddLocation",__name:"add-location",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M288 896h448q32 0 32 32t-32 32H288q-32 0-32-32t32-32"}),E("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416M512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544"}),E("path",{fill:"currentColor",d:"M544 384h96a32 32 0 1 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64h96v-96a32 32 0 0 1 64 0z"})]))}}),Qz=Jz,eI=N({name:"Aim",__name:"aim",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),E("path",{fill:"currentColor",d:"M512 96a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V128a32 32 0 0 1 32-32m0 576a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V704a32 32 0 0 1 32-32M96 512a32 32 0 0 1 32-32h192a32 32 0 0 1 0 64H128a32 32 0 0 1-32-32m576 0a32 32 0 0 1 32-32h192a32 32 0 1 1 0 64H704a32 32 0 0 1-32-32"})]))}}),tI=eI,oI=N({name:"AlarmClock",__name:"alarm-clock",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 832a320 320 0 1 0 0-640 320 320 0 0 0 0 640m0 64a384 384 0 1 1 0-768 384 384 0 0 1 0 768"}),E("path",{fill:"currentColor",d:"m292.288 824.576 55.424 32-48 83.136a32 32 0 1 1-55.424-32zm439.424 0-55.424 32 48 83.136a32 32 0 1 0 55.424-32zM512 512h160a32 32 0 1 1 0 64H480a32 32 0 0 1-32-32V320a32 32 0 0 1 64 0zM90.496 312.256A160 160 0 0 1 312.32 90.496l-46.848 46.848a96 96 0 0 0-128 128L90.56 312.256zm835.264 0A160 160 0 0 0 704 90.496l46.848 46.848a96 96 0 0 1 128 128z"})]))}}),rI=oI,lI=N({name:"Apple",__name:"apple",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M599.872 203.776a189.44 189.44 0 0 1 64.384-4.672l2.624.128c31.168 1.024 51.2 4.096 79.488 16.32 37.632 16.128 74.496 45.056 111.488 89.344 96.384 115.264 82.752 372.8-34.752 521.728-7.68 9.728-32 41.6-30.72 39.936a426.624 426.624 0 0 1-30.08 35.776c-31.232 32.576-65.28 49.216-110.08 50.048-31.36.64-53.568-5.312-84.288-18.752l-6.528-2.88c-20.992-9.216-30.592-11.904-47.296-11.904-18.112 0-28.608 2.88-51.136 12.672l-6.464 2.816c-28.416 12.224-48.32 18.048-76.16 19.2-74.112 2.752-116.928-38.08-180.672-132.16-96.64-142.08-132.608-349.312-55.04-486.4 46.272-81.92 129.92-133.632 220.672-135.04 32.832-.576 60.288 6.848 99.648 22.72 27.136 10.88 34.752 13.76 37.376 14.272 16.256-20.16 27.776-36.992 34.56-50.24 13.568-26.304 27.2-59.968 40.704-100.8a32 32 0 1 1 60.8 20.224c-12.608 37.888-25.408 70.4-38.528 97.664zm-51.52 78.08c-14.528 17.792-31.808 37.376-51.904 58.816a32 32 0 1 1-46.72-43.776l12.288-13.248c-28.032-11.2-61.248-26.688-95.68-26.112-70.4 1.088-135.296 41.6-171.648 105.792C121.6 492.608 176 684.16 247.296 788.992c34.816 51.328 76.352 108.992 130.944 106.944 52.48-2.112 72.32-34.688 135.872-34.688 63.552 0 81.28 34.688 136.96 33.536 56.448-1.088 75.776-39.04 126.848-103.872 107.904-136.768 107.904-362.752 35.776-449.088-72.192-86.272-124.672-84.096-151.68-85.12-41.472-4.288-81.6 12.544-113.664 25.152z"})]))}}),nI=lI,aI=N({name:"ArrowDownBold",__name:"arrow-down-bold",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M104.704 338.752a64 64 0 0 1 90.496 0l316.8 316.8 316.8-316.8a64 64 0 0 1 90.496 90.496L557.248 791.296a64 64 0 0 1-90.496 0L104.704 429.248a64 64 0 0 1 0-90.496z"})]))}}),iI=aI,sI=N({name:"ArrowDown",__name:"arrow-down",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M831.872 340.864 512 652.672 192.128 340.864a30.592 30.592 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.592 30.592 0 0 0-42.752 0z"})]))}}),Pl=sI,cI=N({name:"ArrowLeftBold",__name:"arrow-left-bold",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M685.248 104.704a64 64 0 0 1 0 90.496L368.448 512l316.8 316.8a64 64 0 0 1-90.496 90.496L232.704 557.248a64 64 0 0 1 0-90.496l362.048-362.048a64 64 0 0 1 90.496 0z"})]))}}),uI=cI,dI=N({name:"ArrowLeft",__name:"arrow-left",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M609.408 149.376 277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.592 30.592 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.592 30.592 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0z"})]))}}),fn=dI,pI=N({name:"ArrowRightBold",__name:"arrow-right-bold",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M338.752 104.704a64 64 0 0 0 0 90.496l316.8 316.8-316.8 316.8a64 64 0 0 0 90.496 90.496l362.048-362.048a64 64 0 0 0 0-90.496L429.248 104.704a64 64 0 0 0-90.496 0z"})]))}}),fI=pI,hI=N({name:"ArrowRight",__name:"arrow-right",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M340.864 149.312a30.592 30.592 0 0 0 0 42.752L652.736 512 340.864 831.872a30.592 30.592 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"})]))}}),ir=hI,vI=N({name:"ArrowUpBold",__name:"arrow-up-bold",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M104.704 685.248a64 64 0 0 0 90.496 0l316.8-316.8 316.8 316.8a64 64 0 0 0 90.496-90.496L557.248 232.704a64 64 0 0 0-90.496 0L104.704 594.752a64 64 0 0 0 0 90.496z"})]))}}),mI=vI,gI=N({name:"ArrowUp",__name:"arrow-up",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m488.832 344.32-339.84 356.672a32 32 0 0 0 0 44.16l.384.384a29.44 29.44 0 0 0 42.688 0l320-335.872 319.872 335.872a29.44 29.44 0 0 0 42.688 0l.384-.384a32 32 0 0 0 0-44.16L535.168 344.32a32 32 0 0 0-46.336 0"})]))}}),Ad=gI,bI=N({name:"Avatar",__name:"avatar",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M628.736 528.896A416 416 0 0 1 928 928H96a415.872 415.872 0 0 1 299.264-399.104L512 704zM720 304a208 208 0 1 1-416 0 208 208 0 0 1 416 0"})]))}}),_I=bI,wI=N({name:"Back",__name:"back",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M224 480h640a32 32 0 1 1 0 64H224a32 32 0 0 1 0-64"}),E("path",{fill:"currentColor",d:"m237.248 512 265.408 265.344a32 32 0 0 1-45.312 45.312l-288-288a32 32 0 0 1 0-45.312l288-288a32 32 0 1 1 45.312 45.312z"})]))}}),z3=wI,yI=N({name:"Baseball",__name:"baseball",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M195.2 828.8a448 448 0 1 1 633.6-633.6 448 448 0 0 1-633.6 633.6zm45.248-45.248a384 384 0 1 0 543.104-543.104 384 384 0 0 0-543.104 543.104"}),E("path",{fill:"currentColor",d:"M497.472 96.896c22.784 4.672 44.416 9.472 64.896 14.528a256.128 256.128 0 0 0 350.208 350.208c5.056 20.48 9.856 42.112 14.528 64.896A320.128 320.128 0 0 1 497.472 96.896zM108.48 491.904a320.128 320.128 0 0 1 423.616 423.68c-23.04-3.648-44.992-7.424-65.728-11.52a256.128 256.128 0 0 0-346.496-346.432 1736.64 1736.64 0 0 1-11.392-65.728z"})]))}}),xI=yI,kI=N({name:"Basketball",__name:"basketball",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M778.752 788.224a382.464 382.464 0 0 0 116.032-245.632 256.512 256.512 0 0 0-241.728-13.952 762.88 762.88 0 0 1 125.696 259.584zm-55.04 44.224a699.648 699.648 0 0 0-125.056-269.632 256.128 256.128 0 0 0-56.064 331.968 382.72 382.72 0 0 0 181.12-62.336m-254.08 61.248A320.128 320.128 0 0 1 557.76 513.6a715.84 715.84 0 0 0-48.192-48.128 320.128 320.128 0 0 1-379.264 88.384 382.4 382.4 0 0 0 110.144 229.696 382.4 382.4 0 0 0 229.184 110.08zM129.28 481.088a256.128 256.128 0 0 0 331.072-56.448 699.648 699.648 0 0 0-268.8-124.352 382.656 382.656 0 0 0-62.272 180.8m106.56-235.84a762.88 762.88 0 0 1 258.688 125.056 256.512 256.512 0 0 0-13.44-241.088A382.464 382.464 0 0 0 235.84 245.248zm318.08-114.944c40.576 89.536 37.76 193.92-8.448 281.344a779.84 779.84 0 0 1 66.176 66.112 320.832 320.832 0 0 1 282.112-8.128 382.4 382.4 0 0 0-110.144-229.12 382.4 382.4 0 0 0-229.632-110.208zM828.8 828.8a448 448 0 1 1-633.6-633.6 448 448 0 0 1 633.6 633.6"})]))}}),CI=kI,SI=N({name:"BellFilled",__name:"bell-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M640 832a128 128 0 0 1-256 0zm192-64H134.4a38.4 38.4 0 0 1 0-76.8H192V448c0-154.88 110.08-284.16 256.32-313.6a64 64 0 1 1 127.36 0A320.128 320.128 0 0 1 832 448v243.2h57.6a38.4 38.4 0 0 1 0 76.8z"})]))}}),EI=SI,TI=N({name:"Bell",__name:"bell",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 64a64 64 0 0 1 64 64v64H448v-64a64 64 0 0 1 64-64"}),E("path",{fill:"currentColor",d:"M256 768h512V448a256 256 0 1 0-512 0zm256-640a320 320 0 0 1 320 320v384H192V448a320 320 0 0 1 320-320"}),E("path",{fill:"currentColor",d:"M96 768h832q32 0 32 32t-32 32H96q-32 0-32-32t32-32m352 128h128a64 64 0 0 1-128 0"})]))}}),$I=TI,MI=N({name:"Bicycle",__name:"bicycle",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M256 832a128 128 0 1 0 0-256 128 128 0 0 0 0 256m0 64a192 192 0 1 1 0-384 192 192 0 0 1 0 384"}),E("path",{fill:"currentColor",d:"M288 672h320q32 0 32 32t-32 32H288q-32 0-32-32t32-32"}),E("path",{fill:"currentColor",d:"M768 832a128 128 0 1 0 0-256 128 128 0 0 0 0 256m0 64a192 192 0 1 1 0-384 192 192 0 0 1 0 384"}),E("path",{fill:"currentColor",d:"M480 192a32 32 0 0 1 0-64h160a32 32 0 0 1 31.04 24.256l96 384a32 32 0 0 1-62.08 15.488L615.04 192zM96 384a32 32 0 0 1 0-64h128a32 32 0 0 1 30.336 21.888l64 192a32 32 0 1 1-60.672 20.224L200.96 384z"}),E("path",{fill:"currentColor",d:"m373.376 599.808-42.752-47.616 320-288 42.752 47.616z"})]))}}),AI=MI,zI=N({name:"BottomLeft",__name:"bottom-left",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M256 768h416a32 32 0 1 1 0 64H224a32 32 0 0 1-32-32V352a32 32 0 0 1 64 0z"}),E("path",{fill:"currentColor",d:"M246.656 822.656a32 32 0 0 1-45.312-45.312l544-544a32 32 0 0 1 45.312 45.312l-544 544z"})]))}}),II=zI,OI=N({name:"BottomRight",__name:"bottom-right",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M352 768a32 32 0 1 0 0 64h448a32 32 0 0 0 32-32V352a32 32 0 0 0-64 0v416z"}),E("path",{fill:"currentColor",d:"M777.344 822.656a32 32 0 0 0 45.312-45.312l-544-544a32 32 0 0 0-45.312 45.312z"})]))}}),NI=OI,PI=N({name:"Bottom",__name:"bottom",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M544 805.888V168a32 32 0 1 0-64 0v637.888L246.656 557.952a30.72 30.72 0 0 0-45.312 0 35.52 35.52 0 0 0 0 48.064l288 306.048a30.72 30.72 0 0 0 45.312 0l288-306.048a35.52 35.52 0 0 0 0-48 30.72 30.72 0 0 0-45.312 0L544 805.824z"})]))}}),RI=PI,LI=N({name:"Bowl",__name:"bowl",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M714.432 704a351.744 351.744 0 0 0 148.16-256H161.408a351.744 351.744 0 0 0 148.16 256zM288 766.592A415.68 415.68 0 0 1 96 416a32 32 0 0 1 32-32h768a32 32 0 0 1 32 32 415.68 415.68 0 0 1-192 350.592V832a64 64 0 0 1-64 64H352a64 64 0 0 1-64-64zM493.248 320h-90.496l254.4-254.4a32 32 0 1 1 45.248 45.248zm187.328 0h-128l269.696-155.712a32 32 0 0 1 32 55.424zM352 768v64h320v-64z"})]))}}),BI=LI,VI=N({name:"Box",__name:"box",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M317.056 128 128 344.064V896h768V344.064L706.944 128zm-14.528-64h418.944a32 32 0 0 1 24.064 10.88l206.528 236.096A32 32 0 0 1 960 332.032V928a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V332.032a32 32 0 0 1 7.936-21.12L278.4 75.008A32 32 0 0 1 302.528 64z"}),E("path",{fill:"currentColor",d:"M64 320h896v64H64z"}),E("path",{fill:"currentColor",d:"M448 327.872V640h128V327.872L526.08 128h-28.16zM448 64h128l64 256v352a32 32 0 0 1-32 32H416a32 32 0 0 1-32-32V320z"})]))}}),DI=VI,HI=N({name:"Briefcase",__name:"briefcase",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M320 320V128h384v192h192v192H128V320zM128 576h768v320H128zm256-256h256.064V192H384z"})]))}}),FI=HI,jI=N({name:"BrushFilled",__name:"brush-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M608 704v160a96 96 0 0 1-192 0V704h-96a128 128 0 0 1-128-128h640a128 128 0 0 1-128 128zM192 512V128.064h640V512z"})]))}}),KI=jI,UI=N({name:"Brush",__name:"brush",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M896 448H128v192a64 64 0 0 0 64 64h192v192h256V704h192a64 64 0 0 0 64-64zm-770.752-64c0-47.552 5.248-90.24 15.552-128 14.72-54.016 42.496-107.392 83.2-160h417.28l-15.36 70.336L736 96h211.2c-24.832 42.88-41.92 96.256-51.2 160a663.872 663.872 0 0 0-6.144 128H960v256a128 128 0 0 1-128 128H704v160a32 32 0 0 1-32 32H352a32 32 0 0 1-32-32V768H192A128 128 0 0 1 64 640V384h61.248zm64 0h636.544c-2.048-45.824.256-91.584 6.848-137.216 4.48-30.848 10.688-59.776 18.688-86.784h-96.64l-221.12 141.248L561.92 160H256.512c-25.856 37.888-43.776 75.456-53.952 112.832-8.768 32.064-13.248 69.12-13.312 111.168z"})]))}}),WI=UI,qI=N({name:"Burger",__name:"burger",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M160 512a32 32 0 0 0-32 32v64a32 32 0 0 0 30.08 32H864a32 32 0 0 0 32-32v-64a32 32 0 0 0-32-32zm736-58.56A96 96 0 0 1 960 544v64a96 96 0 0 1-51.968 85.312L855.36 833.6a96 96 0 0 1-89.856 62.272H258.496A96 96 0 0 1 168.64 833.6l-52.608-140.224A96 96 0 0 1 64 608v-64a96 96 0 0 1 64-90.56V448a384 384 0 1 1 768 5.44M832 448a320 320 0 0 0-640 0zM512 704H188.352l40.192 107.136a32 32 0 0 0 29.952 20.736h507.008a32 32 0 0 0 29.952-20.736L835.648 704z"})]))}}),YI=qI,GI=N({name:"Calendar",__name:"calendar",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 384v512h768V192H768v32a32 32 0 1 1-64 0v-32H320v32a32 32 0 0 1-64 0v-32H128v128h768v64zm192-256h384V96a32 32 0 1 1 64 0v32h160a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h160V96a32 32 0 0 1 64 0zm-32 384h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m192-192h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m192-192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64"})]))}}),I3=GI,XI=N({name:"CameraFilled",__name:"camera-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M160 224a64 64 0 0 0-64 64v512a64 64 0 0 0 64 64h704a64 64 0 0 0 64-64V288a64 64 0 0 0-64-64H748.416l-46.464-92.672A64 64 0 0 0 644.736 96H379.328a64 64 0 0 0-57.216 35.392L275.776 224zm352 435.2a115.2 115.2 0 1 0 0-230.4 115.2 115.2 0 0 0 0 230.4m0 140.8a256 256 0 1 1 0-512 256 256 0 0 1 0 512"})]))}}),ZI=XI,JI=N({name:"Camera",__name:"camera",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M896 256H128v576h768zm-199.424-64-32.064-64h-304.96l-32 64zM96 192h160l46.336-92.608A64 64 0 0 1 359.552 64h304.96a64 64 0 0 1 57.216 35.328L768.192 192H928a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V224a32 32 0 0 1 32-32m416 512a160 160 0 1 0 0-320 160 160 0 0 0 0 320m0 64a224 224 0 1 1 0-448 224 224 0 0 1 0 448"})]))}}),QI=JI,eO=N({name:"CaretBottom",__name:"caret-bottom",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m192 384 320 384 320-384z"})]))}}),tO=eO,oO=N({name:"CaretLeft",__name:"caret-left",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M672 192 288 511.936 672 832z"})]))}}),rO=oO,lO=N({name:"CaretRight",__name:"caret-right",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M384 192v640l384-320.064z"})]))}}),dh=lO,nO=N({name:"CaretTop",__name:"caret-top",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 320 192 704h639.936z"})]))}}),O3=nO,aO=N({name:"Cellphone",__name:"cellphone",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M256 128a64 64 0 0 0-64 64v640a64 64 0 0 0 64 64h512a64 64 0 0 0 64-64V192a64 64 0 0 0-64-64zm0-64h512a128 128 0 0 1 128 128v640a128 128 0 0 1-128 128H256a128 128 0 0 1-128-128V192A128 128 0 0 1 256 64m128 128h256a32 32 0 1 1 0 64H384a32 32 0 0 1 0-64m128 640a64 64 0 1 1 0-128 64 64 0 0 1 0 128"})]))}}),iO=aO,sO=N({name:"ChatDotRound",__name:"chat-dot-round",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m174.72 855.68 135.296-45.12 23.68 11.84C388.096 849.536 448.576 864 512 864c211.84 0 384-166.784 384-352S723.84 160 512 160 128 326.784 128 512c0 69.12 24.96 139.264 70.848 199.232l22.08 28.8-46.272 115.584zm-45.248 82.56A32 32 0 0 1 89.6 896l58.368-145.92C94.72 680.32 64 596.864 64 512 64 299.904 256 96 512 96s448 203.904 448 416-192 416-448 416a461.056 461.056 0 0 1-206.912-48.384l-175.616 58.56z"}),E("path",{fill:"currentColor",d:"M512 563.2a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4m192 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4m-384 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4"})]))}}),cO=sO,uO=N({name:"ChatDotSquare",__name:"chat-dot-square",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M273.536 736H800a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64H224a64 64 0 0 0-64 64v570.88zM296 800 147.968 918.4A32 32 0 0 1 96 893.44V256a128 128 0 0 1 128-128h576a128 128 0 0 1 128 128v416a128 128 0 0 1-128 128z"}),E("path",{fill:"currentColor",d:"M512 499.2a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4zm192 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4zm-384 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4z"})]))}}),dO=uO,pO=N({name:"ChatLineRound",__name:"chat-line-round",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m174.72 855.68 135.296-45.12 23.68 11.84C388.096 849.536 448.576 864 512 864c211.84 0 384-166.784 384-352S723.84 160 512 160 128 326.784 128 512c0 69.12 24.96 139.264 70.848 199.232l22.08 28.8-46.272 115.584zm-45.248 82.56A32 32 0 0 1 89.6 896l58.368-145.92C94.72 680.32 64 596.864 64 512 64 299.904 256 96 512 96s448 203.904 448 416-192 416-448 416a461.056 461.056 0 0 1-206.912-48.384l-175.616 58.56z"}),E("path",{fill:"currentColor",d:"M352 576h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32m32-192h256q32 0 32 32t-32 32H384q-32 0-32-32t32-32"})]))}}),fO=pO,hO=N({name:"ChatLineSquare",__name:"chat-line-square",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M160 826.88 273.536 736H800a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64H224a64 64 0 0 0-64 64zM296 800 147.968 918.4A32 32 0 0 1 96 893.44V256a128 128 0 0 1 128-128h576a128 128 0 0 1 128 128v416a128 128 0 0 1-128 128z"}),E("path",{fill:"currentColor",d:"M352 512h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32m0-192h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32"})]))}}),vO=hO,mO=N({name:"ChatRound",__name:"chat-round",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m174.72 855.68 130.048-43.392 23.424 11.392C382.4 849.984 444.352 864 512 864c223.744 0 384-159.872 384-352 0-192.832-159.104-352-384-352S128 319.168 128 512a341.12 341.12 0 0 0 69.248 204.288l21.632 28.8-44.16 110.528zm-45.248 82.56A32 32 0 0 1 89.6 896l56.512-141.248A405.12 405.12 0 0 1 64 512C64 299.904 235.648 96 512 96s448 203.904 448 416-173.44 416-448 416c-79.68 0-150.848-17.152-211.712-46.72l-170.88 56.96z"})]))}}),gO=mO,bO=N({name:"ChatSquare",__name:"chat-square",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M273.536 736H800a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64H224a64 64 0 0 0-64 64v570.88zM296 800 147.968 918.4A32 32 0 0 1 96 893.44V256a128 128 0 0 1 128-128h576a128 128 0 0 1 128 128v416a128 128 0 0 1-128 128z"})]))}}),_O=bO,wO=N({name:"Check",__name:"check",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M406.656 706.944 195.84 496.256a32 32 0 1 0-45.248 45.248l256 256 512-512a32 32 0 0 0-45.248-45.248L406.592 706.944z"})]))}}),Li=wO,yO=N({name:"Checked",__name:"checked",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M704 192h160v736H160V192h160.064v64H704zM311.616 537.28l-45.312 45.248L447.36 763.52l316.8-316.8-45.312-45.184L447.36 673.024zM384 192V96h256v96z"})]))}}),xO=yO,kO=N({name:"Cherry",__name:"cherry",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M261.056 449.6c13.824-69.696 34.88-128.96 63.36-177.728 23.744-40.832 61.12-88.64 112.256-143.872H320a32 32 0 0 1 0-64h384a32 32 0 1 1 0 64H554.752c14.912 39.168 41.344 86.592 79.552 141.76 47.36 68.48 84.8 106.752 106.304 114.304a224 224 0 1 1-84.992 14.784c-22.656-22.912-47.04-53.76-73.92-92.608-38.848-56.128-67.008-105.792-84.352-149.312-55.296 58.24-94.528 107.52-117.76 147.2-23.168 39.744-41.088 88.768-53.568 147.072a224.064 224.064 0 1 1-64.96-1.6zM288 832a160 160 0 1 0 0-320 160 160 0 0 0 0 320m448-64a160 160 0 1 0 0-320 160 160 0 0 0 0 320"})]))}}),CO=kO,SO=N({name:"Chicken",__name:"chicken",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M349.952 716.992 478.72 588.16a106.688 106.688 0 0 1-26.176-19.072 106.688 106.688 0 0 1-19.072-26.176L304.704 671.744c.768 3.072 1.472 6.144 2.048 9.216l2.048 31.936 31.872 1.984c3.136.64 6.208 1.28 9.28 2.112zm57.344 33.152a128 128 0 1 1-216.32 114.432l-1.92-32-32-1.92a128 128 0 1 1 114.432-216.32L416.64 469.248c-2.432-101.44 58.112-239.104 149.056-330.048 107.328-107.328 231.296-85.504 316.8 0 85.44 85.44 107.328 209.408 0 316.8-91.008 90.88-228.672 151.424-330.112 149.056L407.296 750.08zm90.496-226.304c49.536 49.536 233.344-7.04 339.392-113.088 78.208-78.208 63.232-163.072 0-226.304-63.168-63.232-148.032-78.208-226.24 0C504.896 290.496 448.32 474.368 497.792 523.84M244.864 708.928a64 64 0 1 0-59.84 59.84l56.32-3.52zm8.064 127.68a64 64 0 1 0 59.84-59.84l-56.32 3.52-3.52 56.32z"})]))}}),EO=SO,TO=N({name:"ChromeFilled",__name:"chrome-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M938.67 512.01c0-44.59-6.82-87.6-19.54-128H682.67a212.372 212.372 0 0 1 42.67 128c.06 38.71-10.45 76.7-30.42 109.87l-182.91 316.8c235.65-.01 426.66-191.02 426.66-426.67z"}),E("path",{fill:"currentColor",d:"M576.79 401.63a127.92 127.92 0 0 0-63.56-17.6c-22.36-.22-44.39 5.43-63.89 16.38s-35.79 26.82-47.25 46.02a128.005 128.005 0 0 0-2.16 127.44l1.24 2.13a127.906 127.906 0 0 0 46.36 46.61 127.907 127.907 0 0 0 63.38 17.44c22.29.2 44.24-5.43 63.68-16.33a127.94 127.94 0 0 0 47.16-45.79v-.01l1.11-1.92a127.984 127.984 0 0 0 .29-127.46 127.957 127.957 0 0 0-46.36-46.91"}),E("path",{fill:"currentColor",d:"M394.45 333.96A213.336 213.336 0 0 1 512 298.67h369.58A426.503 426.503 0 0 0 512 85.34a425.598 425.598 0 0 0-171.74 35.98 425.644 425.644 0 0 0-142.62 102.22l118.14 204.63a213.397 213.397 0 0 1 78.67-94.21m117.56 604.72H512zm-97.25-236.73a213.284 213.284 0 0 1-89.54-86.81L142.48 298.6c-36.35 62.81-57.13 135.68-57.13 213.42 0 203.81 142.93 374.22 333.95 416.55h.04l118.19-204.71a213.315 213.315 0 0 1-122.77-21.91z"})]))}}),$O=TO,MO=N({name:"CircleCheckFilled",__name:"circle-check-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.272 38.272 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"})]))}}),N3=MO,AO=N({name:"CircleCheck",__name:"circle-check",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),E("path",{fill:"currentColor",d:"M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752l265.344-265.408z"})]))}}),zd=AO,zO=N({name:"CircleCloseFilled",__name:"circle-close-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336z"})]))}}),Id=zO,IO=N({name:"CircleClose",__name:"circle-close",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248z"}),E("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}}),hn=IO,OO=N({name:"CirclePlusFilled",__name:"circle-plus-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-38.4 409.6H326.4a38.4 38.4 0 1 0 0 76.8h147.2v147.2a38.4 38.4 0 0 0 76.8 0V550.4h147.2a38.4 38.4 0 0 0 0-76.8H550.4V326.4a38.4 38.4 0 1 0-76.8 0v147.2z"})]))}}),NO=OO,PO=N({name:"CirclePlus",__name:"circle-plus",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M352 480h320a32 32 0 1 1 0 64H352a32 32 0 0 1 0-64"}),E("path",{fill:"currentColor",d:"M480 672V352a32 32 0 1 1 64 0v320a32 32 0 0 1-64 0"}),E("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}}),RO=PO,LO=N({name:"Clock",__name:"clock",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),E("path",{fill:"currentColor",d:"M480 256a32 32 0 0 1 32 32v256a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32"}),E("path",{fill:"currentColor",d:"M480 512h256q32 0 32 32t-32 32H480q-32 0-32-32t32-32"})]))}}),ph=LO,BO=N({name:"CloseBold",__name:"close-bold",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M195.2 195.2a64 64 0 0 1 90.496 0L512 421.504 738.304 195.2a64 64 0 0 1 90.496 90.496L602.496 512 828.8 738.304a64 64 0 0 1-90.496 90.496L512 602.496 285.696 828.8a64 64 0 0 1-90.496-90.496L421.504 512 195.2 285.696a64 64 0 0 1 0-90.496z"})]))}}),VO=BO,DO=N({name:"Close",__name:"close",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"})]))}}),Jr=DO,HO=N({name:"Cloudy",__name:"cloudy",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M598.4 831.872H328.192a256 256 0 0 1-34.496-510.528A352 352 0 1 1 598.4 831.872m-271.36-64h272.256a288 288 0 1 0-248.512-417.664L335.04 381.44l-34.816 3.584a192 192 0 0 0 26.88 382.848z"})]))}}),FO=HO,jO=N({name:"CoffeeCup",__name:"coffee-cup",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M768 192a192 192 0 1 1-8 383.808A256.128 256.128 0 0 1 512 768H320A256 256 0 0 1 64 512V160a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32zm0 64v256a128 128 0 1 0 0-256M96 832h640a32 32 0 1 1 0 64H96a32 32 0 1 1 0-64m32-640v320a192 192 0 0 0 192 192h192a192 192 0 0 0 192-192V192z"})]))}}),KO=jO,UO=N({name:"Coffee",__name:"coffee",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M822.592 192h14.272a32 32 0 0 1 31.616 26.752l21.312 128A32 32 0 0 1 858.24 384h-49.344l-39.04 546.304A32 32 0 0 1 737.92 960H285.824a32 32 0 0 1-32-29.696L214.912 384H165.76a32 32 0 0 1-31.552-37.248l21.312-128A32 32 0 0 1 187.136 192h14.016l-6.72-93.696A32 32 0 0 1 226.368 64h571.008a32 32 0 0 1 31.936 34.304zm-64.128 0 4.544-64H260.736l4.544 64h493.184m-548.16 128H820.48l-10.688-64H214.208l-10.688 64h6.784m68.736 64 36.544 512H708.16l36.544-512z"})]))}}),WO=UO,qO=N({name:"Coin",__name:"coin",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m161.92 580.736 29.888 58.88C171.328 659.776 160 681.728 160 704c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 615.808 928 657.664 928 704c0 129.728-188.544 224-416 224S96 833.728 96 704c0-46.592 24.32-88.576 65.92-123.264z"}),E("path",{fill:"currentColor",d:"m161.92 388.736 29.888 58.88C171.328 467.84 160 489.792 160 512c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 423.808 928 465.664 928 512c0 129.728-188.544 224-416 224S96 641.728 96 512c0-46.592 24.32-88.576 65.92-123.264z"}),E("path",{fill:"currentColor",d:"M512 544c-227.456 0-416-94.272-416-224S284.544 96 512 96s416 94.272 416 224-188.544 224-416 224m0-64c196.672 0 352-77.696 352-160S708.672 160 512 160s-352 77.696-352 160 155.328 160 352 160"})]))}}),YO=qO,GO=N({name:"ColdDrink",__name:"cold-drink",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M768 64a192 192 0 1 1-69.952 370.88L480 725.376V896h96a32 32 0 1 1 0 64H320a32 32 0 1 1 0-64h96V725.376L76.8 273.536a64 64 0 0 1-12.8-38.4v-10.688a32 32 0 0 1 32-32h71.808l-65.536-83.84a32 32 0 0 1 50.432-39.424l96.256 123.264h337.728A192.064 192.064 0 0 1 768 64M656.896 192.448H800a32 32 0 0 1 32 32v10.624a64 64 0 0 1-12.8 38.4l-80.448 107.2a128 128 0 1 0-81.92-188.16v-.064zm-357.888 64 129.472 165.76a32 32 0 0 1-50.432 39.36l-160.256-205.12H144l304 404.928 304-404.928z"})]))}}),XO=GO,ZO=N({name:"CollectionTag",__name:"collection-tag",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M256 128v698.88l196.032-156.864a96 96 0 0 1 119.936 0L768 826.816V128zm-32-64h576a32 32 0 0 1 32 32v797.44a32 32 0 0 1-51.968 24.96L531.968 720a32 32 0 0 0-39.936 0L243.968 918.4A32 32 0 0 1 192 893.44V96a32 32 0 0 1 32-32"})]))}}),JO=ZO,QO=N({name:"Collection",__name:"collection",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M192 736h640V128H256a64 64 0 0 0-64 64zm64-672h608a32 32 0 0 1 32 32v672a32 32 0 0 1-32 32H160l-32 57.536V192A128 128 0 0 1 256 64"}),E("path",{fill:"currentColor",d:"M240 800a48 48 0 1 0 0 96h592v-96zm0-64h656v160a64 64 0 0 1-64 64H240a112 112 0 0 1 0-224m144-608v250.88l96-76.8 96 76.8V128zm-64-64h320v381.44a32 32 0 0 1-51.968 24.96L480 384l-108.032 86.4A32 32 0 0 1 320 445.44z"})]))}}),eN=QO,tN=N({name:"Comment",__name:"comment",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M736 504a56 56 0 1 1 0-112 56 56 0 0 1 0 112m-224 0a56 56 0 1 1 0-112 56 56 0 0 1 0 112m-224 0a56 56 0 1 1 0-112 56 56 0 0 1 0 112M128 128v640h192v160l224-160h352V128z"})]))}}),oN=tN,rN=N({name:"Compass",__name:"compass",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),E("path",{fill:"currentColor",d:"M725.888 315.008C676.48 428.672 624 513.28 568.576 568.64c-55.424 55.424-139.968 107.904-253.568 157.312a12.8 12.8 0 0 1-16.896-16.832c49.536-113.728 102.016-198.272 157.312-253.632 55.36-55.296 139.904-107.776 253.632-157.312a12.8 12.8 0 0 1 16.832 16.832"})]))}}),lN=rN,nN=N({name:"Connection",__name:"connection",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M640 384v64H448a128 128 0 0 0-128 128v128a128 128 0 0 0 128 128h320a128 128 0 0 0 128-128V576a128 128 0 0 0-64-110.848V394.88c74.56 26.368 128 97.472 128 181.056v128a192 192 0 0 1-192 192H448a192 192 0 0 1-192-192V576a192 192 0 0 1 192-192z"}),E("path",{fill:"currentColor",d:"M384 640v-64h192a128 128 0 0 0 128-128V320a128 128 0 0 0-128-128H256a128 128 0 0 0-128 128v128a128 128 0 0 0 64 110.848v70.272A192.064 192.064 0 0 1 64 448V320a192 192 0 0 1 192-192h320a192 192 0 0 1 192 192v128a192 192 0 0 1-192 192z"})]))}}),aN=nN,iN=N({name:"Coordinate",__name:"coordinate",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M480 512h64v320h-64z"}),E("path",{fill:"currentColor",d:"M192 896h640a64 64 0 0 0-64-64H256a64 64 0 0 0-64 64m64-128h512a128 128 0 0 1 128 128v64H128v-64a128 128 0 0 1 128-128m256-256a192 192 0 1 0 0-384 192 192 0 0 0 0 384m0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512"})]))}}),sN=iN,cN=N({name:"CopyDocument",__name:"copy-document",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M768 832a128 128 0 0 1-128 128H192A128 128 0 0 1 64 832V384a128 128 0 0 1 128-128v64a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64z"}),E("path",{fill:"currentColor",d:"M384 128a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64V192a64 64 0 0 0-64-64zm0-64h448a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H384a128 128 0 0 1-128-128V192A128 128 0 0 1 384 64"})]))}}),uN=cN,dN=N({name:"Cpu",__name:"cpu",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M320 256a64 64 0 0 0-64 64v384a64 64 0 0 0 64 64h384a64 64 0 0 0 64-64V320a64 64 0 0 0-64-64zm0-64h384a128 128 0 0 1 128 128v384a128 128 0 0 1-128 128H320a128 128 0 0 1-128-128V320a128 128 0 0 1 128-128"}),E("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m160 0a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m-320 0a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m160 896a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32m160 0a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32m-320 0a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32M64 512a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m0-160a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m0 320a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m896-160a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32m0-160a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32m0 320a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32"})]))}}),pN=dN,fN=N({name:"CreditCard",__name:"credit-card",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M896 324.096c0-42.368-2.496-55.296-9.536-68.48a52.352 52.352 0 0 0-22.144-22.08c-13.12-7.04-26.048-9.536-68.416-9.536H228.096c-42.368 0-55.296 2.496-68.48 9.536a52.352 52.352 0 0 0-22.08 22.144c-7.04 13.12-9.536 26.048-9.536 68.416v375.808c0 42.368 2.496 55.296 9.536 68.48a52.352 52.352 0 0 0 22.144 22.08c13.12 7.04 26.048 9.536 68.416 9.536h567.808c42.368 0 55.296-2.496 68.48-9.536a52.352 52.352 0 0 0 22.08-22.144c7.04-13.12 9.536-26.048 9.536-68.416zm64 0v375.808c0 57.088-5.952 77.76-17.088 98.56-11.136 20.928-27.52 37.312-48.384 48.448-20.864 11.136-41.6 17.088-98.56 17.088H228.032c-57.088 0-77.76-5.952-98.56-17.088a116.288 116.288 0 0 1-48.448-48.384c-11.136-20.864-17.088-41.6-17.088-98.56V324.032c0-57.088 5.952-77.76 17.088-98.56 11.136-20.928 27.52-37.312 48.384-48.448 20.864-11.136 41.6-17.088 98.56-17.088H795.84c57.088 0 77.76 5.952 98.56 17.088 20.928 11.136 37.312 27.52 48.448 48.384 11.136 20.864 17.088 41.6 17.088 98.56z"}),E("path",{fill:"currentColor",d:"M64 320h896v64H64zm0 128h896v64H64zm128 192h256v64H192z"})]))}}),hN=fN,vN=N({name:"Crop",__name:"crop",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M256 768h672a32 32 0 1 1 0 64H224a32 32 0 0 1-32-32V96a32 32 0 0 1 64 0z"}),E("path",{fill:"currentColor",d:"M832 224v704a32 32 0 1 1-64 0V256H96a32 32 0 0 1 0-64h704a32 32 0 0 1 32 32"})]))}}),mN=vN,gN=N({name:"DArrowLeft",__name:"d-arrow-left",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M529.408 149.376a29.12 29.12 0 0 1 41.728 0 30.592 30.592 0 0 1 0 42.688L259.264 511.936l311.872 319.936a30.592 30.592 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L197.76 534.272a32 32 0 0 1 0-44.672l331.648-340.224zm256 0a29.12 29.12 0 0 1 41.728 0 30.592 30.592 0 0 1 0 42.688L515.264 511.936l311.872 319.936a30.592 30.592 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L453.76 534.272a32 32 0 0 1 0-44.672l331.648-340.224z"})]))}}),Ra=gN,bN=N({name:"DArrowRight",__name:"d-arrow-right",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M452.864 149.312a29.12 29.12 0 0 1 41.728.064L826.24 489.664a32 32 0 0 1 0 44.672L494.592 874.624a29.12 29.12 0 0 1-41.728 0 30.592 30.592 0 0 1 0-42.752L764.736 512 452.864 192a30.592 30.592 0 0 1 0-42.688m-256 0a29.12 29.12 0 0 1 41.728.064L570.24 489.664a32 32 0 0 1 0 44.672L238.592 874.624a29.12 29.12 0 0 1-41.728 0 30.592 30.592 0 0 1 0-42.752L508.736 512 196.864 192a30.592 30.592 0 0 1 0-42.688z"})]))}}),La=bN,_N=N({name:"DCaret",__name:"d-caret",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m512 128 288 320H224zM224 576h576L512 896z"})]))}}),wN=_N,yN=N({name:"DataAnalysis",__name:"data-analysis",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m665.216 768 110.848 192h-73.856L591.36 768H433.024L322.176 960H248.32l110.848-192H160a32 32 0 0 1-32-32V192H64a32 32 0 0 1 0-64h896a32 32 0 1 1 0 64h-64v544a32 32 0 0 1-32 32zM832 192H192v512h640zM352 448a32 32 0 0 1 32 32v64a32 32 0 0 1-64 0v-64a32 32 0 0 1 32-32m160-64a32 32 0 0 1 32 32v128a32 32 0 0 1-64 0V416a32 32 0 0 1 32-32m160-64a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V352a32 32 0 0 1 32-32"})]))}}),xN=yN,kN=N({name:"DataBoard",__name:"data-board",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M32 128h960v64H32z"}),E("path",{fill:"currentColor",d:"M192 192v512h640V192zm-64-64h768v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32z"}),E("path",{fill:"currentColor",d:"M322.176 960H248.32l144.64-250.56 55.424 32zm453.888 0h-73.856L576 741.44l55.424-32z"})]))}}),CN=kN,SN=N({name:"DataLine",__name:"data-line",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M359.168 768H160a32 32 0 0 1-32-32V192H64a32 32 0 0 1 0-64h896a32 32 0 1 1 0 64h-64v544a32 32 0 0 1-32 32H665.216l110.848 192h-73.856L591.36 768H433.024L322.176 960H248.32zM832 192H192v512h640zM342.656 534.656a32 32 0 1 1-45.312-45.312L444.992 341.76l125.44 94.08L679.04 300.032a32 32 0 1 1 49.92 39.936L581.632 524.224 451.008 426.24 342.656 534.592z"})]))}}),EN=SN,TN=N({name:"DeleteFilled",__name:"delete-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M352 192V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64H96a32 32 0 0 1 0-64zm64 0h192v-64H416zM192 960a32 32 0 0 1-32-32V256h704v672a32 32 0 0 1-32 32zm224-192a32 32 0 0 0 32-32V416a32 32 0 0 0-64 0v320a32 32 0 0 0 32 32m192 0a32 32 0 0 0 32-32V416a32 32 0 0 0-64 0v320a32 32 0 0 0 32 32"})]))}}),$N=TN,MN=N({name:"DeleteLocation",__name:"delete-location",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M288 896h448q32 0 32 32t-32 32H288q-32 0-32-32t32-32"}),E("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416M512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544"}),E("path",{fill:"currentColor",d:"M384 384h256q32 0 32 32t-32 32H384q-32 0-32-32t32-32"})]))}}),AN=MN,zN=N({name:"Delete",__name:"delete",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M160 256H96a32 32 0 0 1 0-64h256V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64h-64v672a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32zm448-64v-64H416v64zM224 896h576V256H224zm192-128a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32m192 0a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32"})]))}}),P3=zN,IN=N({name:"Dessert",__name:"dessert",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 416v-48a144 144 0 0 1 168.64-141.888 224.128 224.128 0 0 1 430.72 0A144 144 0 0 1 896 368v48a384 384 0 0 1-352 382.72V896h-64v-97.28A384 384 0 0 1 128 416m287.104-32.064h193.792a143.808 143.808 0 0 1 58.88-132.736 160.064 160.064 0 0 0-311.552 0 143.808 143.808 0 0 1 58.88 132.8zm-72.896 0a72 72 0 1 0-140.48 0h140.48m339.584 0h140.416a72 72 0 1 0-140.48 0zM512 736a320 320 0 0 0 318.4-288.064H193.6A320 320 0 0 0 512 736M384 896.064h256a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64"})]))}}),ON=IN,NN=N({name:"Discount",__name:"discount",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M224 704h576V318.336L552.512 115.84a64 64 0 0 0-81.024 0L224 318.336zm0 64v128h576V768zM593.024 66.304l259.2 212.096A32 32 0 0 1 864 303.168V928a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32V303.168a32 32 0 0 1 11.712-24.768l259.2-212.096a128 128 0 0 1 162.112 0"}),E("path",{fill:"currentColor",d:"M512 448a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256"})]))}}),PN=NN,RN=N({name:"DishDot",__name:"dish-dot",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m384.064 274.56.064-50.688A128 128 0 0 1 512.128 96c70.528 0 127.68 57.152 127.68 127.68v50.752A448.192 448.192 0 0 1 955.392 768H68.544A448.192 448.192 0 0 1 384 274.56zM96 832h832a32 32 0 1 1 0 64H96a32 32 0 1 1 0-64m32-128h768a384 384 0 1 0-768 0m447.808-448v-32.32a63.68 63.68 0 0 0-63.68-63.68 64 64 0 0 0-64 63.936V256z"})]))}}),LN=RN,BN=N({name:"Dish",__name:"dish",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M480 257.152V192h-96a32 32 0 0 1 0-64h256a32 32 0 1 1 0 64h-96v65.152A448 448 0 0 1 955.52 768H68.48A448 448 0 0 1 480 257.152M128 704h768a384 384 0 1 0-768 0M96 832h832a32 32 0 1 1 0 64H96a32 32 0 1 1 0-64"})]))}}),VN=BN,DN=N({name:"DocumentAdd",__name:"document-add",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640zm-26.496-64L640 154.496V320zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m320 512V448h64v128h128v64H544v128h-64V640H352v-64z"})]))}}),HN=DN,FN=N({name:"DocumentChecked",__name:"document-checked",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M805.504 320 640 154.496V320zM832 384H576V128H192v768h640zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m318.4 582.144 180.992-180.992L704.64 510.4 478.4 736.64 320 578.304l45.248-45.312z"})]))}}),jN=FN,KN=N({name:"DocumentCopy",__name:"document-copy",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 320v576h576V320zm-32-64h640a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V288a32 32 0 0 1 32-32M960 96v704a32 32 0 0 1-32 32h-96v-64h64V128H384v64h-64V96a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32M256 672h320v64H256zm0-192h320v64H256z"})]))}}),UN=KN,WN=N({name:"DocumentDelete",__name:"document-delete",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M805.504 320 640 154.496V320zM832 384H576V128H192v768h640zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m308.992 546.304-90.496-90.624 45.248-45.248 90.56 90.496 90.496-90.432 45.248 45.248-90.496 90.56 90.496 90.496-45.248 45.248-90.496-90.496-90.56 90.496-45.248-45.248 90.496-90.496z"})]))}}),qN=WN,YN=N({name:"DocumentRemove",__name:"document-remove",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M805.504 320 640 154.496V320zM832 384H576V128H192v768h640zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m192 512h320v64H352z"})]))}}),GN=YN,XN=N({name:"Document",__name:"document",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640zm-26.496-64L640 154.496V320zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h160v64H320zm0 384h384v64H320z"})]))}}),R3=XN,ZN=N({name:"Download",__name:"download",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M160 832h704a32 32 0 1 1 0 64H160a32 32 0 1 1 0-64m384-253.696 236.288-236.352 45.248 45.248L508.8 704 192 387.2l45.248-45.248L480 584.704V128h64z"})]))}}),JN=ZN,QN=N({name:"Drizzling",__name:"drizzling",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m739.328 291.328-35.2-6.592-12.8-33.408a192.064 192.064 0 0 0-365.952 23.232l-9.92 40.896-41.472 7.04a176.32 176.32 0 0 0-146.24 173.568c0 97.28 78.72 175.936 175.808 175.936h400a192 192 0 0 0 35.776-380.672zM959.552 480a256 256 0 0 1-256 256h-400A239.808 239.808 0 0 1 63.744 496.192a240.32 240.32 0 0 1 199.488-236.8 256.128 256.128 0 0 1 487.872-30.976A256.064 256.064 0 0 1 959.552 480M288 800h64v64h-64zm192 0h64v64h-64zm-96 96h64v64h-64zm192 0h64v64h-64zm96-96h64v64h-64z"})]))}}),eP=QN,tP=N({name:"EditPen",__name:"edit-pen",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m199.04 672.64 193.984 112 224-387.968-193.92-112-224 388.032zm-23.872 60.16 32.896 148.288 144.896-45.696zM455.04 229.248l193.92 112 56.704-98.112-193.984-112-56.64 98.112zM104.32 708.8l384-665.024 304.768 175.936L409.152 884.8h.064l-248.448 78.336zm384 254.272v-64h448v64h-448z"})]))}}),oP=tP,rP=N({name:"Edit",__name:"edit",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M832 512a32 32 0 1 1 64 0v352a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h352a32 32 0 0 1 0 64H192v640h640z"}),E("path",{fill:"currentColor",d:"m469.952 554.24 52.8-7.552L847.104 222.4a32 32 0 1 0-45.248-45.248L477.44 501.44l-7.552 52.8zm422.4-422.4a96 96 0 0 1 0 135.808l-331.84 331.84a32 32 0 0 1-18.112 9.088L436.8 623.68a32 32 0 0 1-36.224-36.224l15.104-105.6a32 32 0 0 1 9.024-18.112l331.904-331.84a96 96 0 0 1 135.744 0z"})]))}}),lP=rP,nP=N({name:"ElemeFilled",__name:"eleme-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M176 64h672c61.824 0 112 50.176 112 112v672a112 112 0 0 1-112 112H176A112 112 0 0 1 64 848V176c0-61.824 50.176-112 112-112m150.528 173.568c-152.896 99.968-196.544 304.064-97.408 456.96a330.688 330.688 0 0 0 456.96 96.64c9.216-5.888 17.6-11.776 25.152-18.56a18.24 18.24 0 0 0 4.224-24.32L700.352 724.8a47.552 47.552 0 0 0-65.536-14.272A234.56 234.56 0 0 1 310.592 641.6C240 533.248 271.104 387.968 379.456 316.48a234.304 234.304 0 0 1 276.352 15.168c1.664.832 2.56 2.56 3.392 4.224 5.888 8.384 3.328 19.328-5.12 25.216L456.832 489.6a47.552 47.552 0 0 0-14.336 65.472l16 24.384c5.888 8.384 16.768 10.88 25.216 5.056l308.224-199.936a19.584 19.584 0 0 0 6.72-23.488v-.896c-4.992-9.216-10.048-17.6-15.104-26.88-99.968-151.168-304.064-194.88-456.96-95.744zM786.88 504.704l-62.208 40.32c-8.32 5.888-10.88 16.768-4.992 25.216L760 632.32c5.888 8.448 16.768 11.008 25.152 5.12l31.104-20.16a55.36 55.36 0 0 0 16-76.48l-20.224-31.04a19.52 19.52 0 0 0-25.152-5.12z"})]))}}),aP=nP,iP=N({name:"Eleme",__name:"eleme",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M300.032 188.8c174.72-113.28 408-63.36 522.24 109.44 5.76 10.56 11.52 20.16 17.28 30.72v.96a22.4 22.4 0 0 1-7.68 26.88l-352.32 228.48c-9.6 6.72-22.08 3.84-28.8-5.76l-18.24-27.84a54.336 54.336 0 0 1 16.32-74.88l225.6-146.88c9.6-6.72 12.48-19.2 5.76-28.8-.96-1.92-1.92-3.84-3.84-4.8a267.84 267.84 0 0 0-315.84-17.28c-123.84 81.6-159.36 247.68-78.72 371.52a268.096 268.096 0 0 0 370.56 78.72 54.336 54.336 0 0 1 74.88 16.32l17.28 26.88c5.76 9.6 3.84 21.12-4.8 27.84-8.64 7.68-18.24 14.4-28.8 21.12a377.92 377.92 0 0 1-522.24-110.4c-113.28-174.72-63.36-408 111.36-522.24zm526.08 305.28a22.336 22.336 0 0 1 28.8 5.76l23.04 35.52a63.232 63.232 0 0 1-18.24 87.36l-35.52 23.04c-9.6 6.72-22.08 3.84-28.8-5.76l-46.08-71.04c-6.72-9.6-3.84-22.08 5.76-28.8l71.04-46.08z"})]))}}),sP=iP,cP=N({name:"ElementPlus",__name:"element-plus",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M839.7 734.7c0 33.3-17.9 41-17.9 41S519.7 949.8 499.2 960c-10.2 5.1-20.5 5.1-30.7 0 0 0-314.9-184.3-325.1-192-5.1-5.1-10.2-12.8-12.8-20.5V368.6c0-17.9 20.5-28.2 20.5-28.2L466 158.6c12.8-5.1 25.6-5.1 38.4 0 0 0 279 161.3 309.8 179.2 17.9 7.7 28.2 25.6 25.6 46.1-.1-5-.1 317.5-.1 350.8M714.2 371.2c-64-35.8-217.6-125.4-217.6-125.4-7.7-5.1-20.5-5.1-30.7 0L217.6 389.1s-17.9 10.2-17.9 23v297c0 5.1 5.1 12.8 7.7 17.9 7.7 5.1 256 148.5 256 148.5 7.7 5.1 17.9 5.1 25.6 0 15.4-7.7 250.9-145.9 250.9-145.9s12.8-5.1 12.8-30.7v-74.2l-276.5 169v-64c0-17.9 7.7-30.7 20.5-46.1L745 535c5.1-7.7 10.2-20.5 10.2-30.7v-66.6l-279 169v-69.1c0-15.4 5.1-30.7 17.9-38.4l220.1-128zM919 135.7c0-5.1-5.1-7.7-7.7-7.7h-58.9V66.6c0-5.1-5.1-5.1-10.2-5.1l-30.7 5.1c-5.1 0-5.1 2.6-5.1 5.1V128h-56.3c-5.1 0-5.1 5.1-7.7 5.1v38.4h69.1v64c0 5.1 5.1 5.1 10.2 5.1l30.7-5.1c5.1 0 5.1-2.6 5.1-5.1v-56.3h64l-2.5-38.4z"})]))}}),uP=cP,dP=N({name:"Expand",__name:"expand",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 192h768v128H128zm0 256h512v128H128zm0 256h768v128H128zm576-352 192 160-192 128z"})]))}}),pP=dP,fP=N({name:"Failed",__name:"failed",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m557.248 608 135.744-135.744-45.248-45.248-135.68 135.744-135.808-135.68-45.248 45.184L466.752 608l-135.68 135.68 45.184 45.312L512 653.248l135.744 135.744 45.248-45.248L557.312 608zM704 192h160v736H160V192h160v64h384zm-320 0V96h256v96z"})]))}}),hP=fP,vP=N({name:"Female",__name:"female",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 640a256 256 0 1 0 0-512 256 256 0 0 0 0 512m0 64a320 320 0 1 1 0-640 320 320 0 0 1 0 640"}),E("path",{fill:"currentColor",d:"M512 640q32 0 32 32v256q0 32-32 32t-32-32V672q0-32 32-32"}),E("path",{fill:"currentColor",d:"M352 800h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32"})]))}}),mP=vP,gP=N({name:"Files",__name:"files",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 384v448h768V384zm-32-64h832a32 32 0 0 1 32 32v512a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V352a32 32 0 0 1 32-32m64-128h704v64H160zm96-128h512v64H256z"})]))}}),bP=gP,_P=N({name:"Film",__name:"film",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M160 160v704h704V160zm-32-64h768a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H128a32 32 0 0 1-32-32V128a32 32 0 0 1 32-32"}),E("path",{fill:"currentColor",d:"M320 288V128h64v352h256V128h64v160h160v64H704v128h160v64H704v128h160v64H704v160h-64V544H384v352h-64V736H128v-64h192V544H128v-64h192V352H128v-64z"})]))}}),wP=_P,yP=N({name:"Filter",__name:"filter",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M384 523.392V928a32 32 0 0 0 46.336 28.608l192-96A32 32 0 0 0 640 832V523.392l280.768-343.104a32 32 0 1 0-49.536-40.576l-288 352A32 32 0 0 0 576 512v300.224l-128 64V512a32 32 0 0 0-7.232-20.288L195.52 192H704a32 32 0 1 0 0-64H128a32 32 0 0 0-24.768 52.288z"})]))}}),xP=yP,kP=N({name:"Finished",__name:"finished",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M280.768 753.728 691.456 167.04a32 32 0 1 1 52.416 36.672L314.24 817.472a32 32 0 0 1-45.44 7.296l-230.4-172.8a32 32 0 0 1 38.4-51.2l203.968 152.96zM736 448a32 32 0 1 1 0-64h192a32 32 0 1 1 0 64zM608 640a32 32 0 0 1 0-64h319.936a32 32 0 1 1 0 64zM480 832a32 32 0 1 1 0-64h447.936a32 32 0 1 1 0 64z"})]))}}),CP=kP,SP=N({name:"FirstAidKit",__name:"first-aid-kit",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M192 256a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V320a64 64 0 0 0-64-64zm0-64h640a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H192A128 128 0 0 1 64 768V320a128 128 0 0 1 128-128"}),E("path",{fill:"currentColor",d:"M544 512h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64h96v-96a32 32 0 0 1 64 0zM352 128v64h320v-64zm-32-64h384a32 32 0 0 1 32 32v128a32 32 0 0 1-32 32H320a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32"})]))}}),EP=SP,TP=N({name:"Flag",__name:"flag",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M288 128h608L736 384l160 256H288v320h-96V64h96z"})]))}}),$P=TP,MP=N({name:"Fold",__name:"fold",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M896 192H128v128h768zm0 256H384v128h512zm0 256H128v128h768zM320 384 128 512l192 128z"})]))}}),AP=MP,zP=N({name:"FolderAdd",__name:"folder-add",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32m384 416V416h64v128h128v64H544v128h-64V608H352v-64z"})]))}}),IP=zP,OP=N({name:"FolderChecked",__name:"folder-checked",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32m414.08 502.144 180.992-180.992L736.32 494.4 510.08 720.64l-158.4-158.336 45.248-45.312z"})]))}}),NP=OP,PP=N({name:"FolderDelete",__name:"folder-delete",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32m370.752 448-90.496-90.496 45.248-45.248L512 530.752l90.496-90.496 45.248 45.248L557.248 576l90.496 90.496-45.248 45.248L512 621.248l-90.496 90.496-45.248-45.248z"})]))}}),RP=PP,LP=N({name:"FolderOpened",__name:"folder-opened",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M878.08 448H241.92l-96 384h636.16l96-384zM832 384v-64H485.76L357.504 192H128v448l57.92-231.744A32 32 0 0 1 216.96 384zm-24.96 512H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h287.872l128.384 128H864a32 32 0 0 1 32 32v96h23.04a32 32 0 0 1 31.04 39.744l-112 448A32 32 0 0 1 807.04 896"})]))}}),BP=LP,VP=N({name:"FolderRemove",__name:"folder-remove",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32m256 416h320v64H352z"})]))}}),DP=VP,HP=N({name:"Folder",__name:"folder",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32"})]))}}),FP=HP,jP=N({name:"Food",__name:"food",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 352.576V352a288 288 0 0 1 491.072-204.224 192 192 0 0 1 274.24 204.48 64 64 0 0 1 57.216 74.24C921.6 600.512 850.048 710.656 736 756.992V800a96 96 0 0 1-96 96H384a96 96 0 0 1-96-96v-43.008c-114.048-46.336-185.6-156.48-214.528-330.496A64 64 0 0 1 128 352.64zm64-.576h64a160 160 0 0 1 320 0h64a224 224 0 0 0-448 0m128 0h192a96 96 0 0 0-192 0m439.424 0h68.544A128.256 128.256 0 0 0 704 192c-15.36 0-29.952 2.688-43.52 7.616 11.328 18.176 20.672 37.76 27.84 58.304A64.128 64.128 0 0 1 759.424 352M672 768H352v32a32 32 0 0 0 32 32h256a32 32 0 0 0 32-32zm-342.528-64h365.056c101.504-32.64 165.76-124.928 192.896-288H136.576c27.136 163.072 91.392 255.36 192.896 288"})]))}}),KP=jP,UP=N({name:"Football",__name:"football",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 960a448 448 0 1 1 0-896 448 448 0 0 1 0 896m0-64a384 384 0 1 0 0-768 384 384 0 0 0 0 768"}),E("path",{fill:"currentColor",d:"M186.816 268.288c16-16.384 31.616-31.744 46.976-46.08 17.472 30.656 39.808 58.112 65.984 81.28l-32.512 56.448a385.984 385.984 0 0 1-80.448-91.648zm653.696-5.312a385.92 385.92 0 0 1-83.776 96.96l-32.512-56.384a322.923 322.923 0 0 0 68.48-85.76c15.552 14.08 31.488 29.12 47.808 45.184zM465.984 445.248l11.136-63.104a323.584 323.584 0 0 0 69.76 0l11.136 63.104a387.968 387.968 0 0 1-92.032 0m-62.72-12.8A381.824 381.824 0 0 1 320 396.544l32-55.424a319.885 319.885 0 0 0 62.464 27.712l-11.2 63.488zm300.8-35.84a381.824 381.824 0 0 1-83.328 35.84l-11.2-63.552A319.885 319.885 0 0 0 672 341.184l32 55.424zm-520.768 364.8a385.92 385.92 0 0 1 83.968-97.28l32.512 56.32c-26.88 23.936-49.856 52.352-67.52 84.032-16-13.44-32.32-27.712-48.96-43.072zm657.536.128a1442.759 1442.759 0 0 1-49.024 43.072 321.408 321.408 0 0 0-67.584-84.16l32.512-56.32c33.216 27.456 61.696 60.352 84.096 97.408zM465.92 578.752a387.968 387.968 0 0 1 92.032 0l-11.136 63.104a323.584 323.584 0 0 0-69.76 0zm-62.72 12.8 11.2 63.552a319.885 319.885 0 0 0-62.464 27.712L320 627.392a381.824 381.824 0 0 1 83.264-35.84zm300.8 35.84-32 55.424a318.272 318.272 0 0 0-62.528-27.712l11.2-63.488c29.44 8.64 57.28 20.736 83.264 35.776z"})]))}}),WP=UP,qP=N({name:"ForkSpoon",__name:"fork-spoon",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M256 410.304V96a32 32 0 0 1 64 0v314.304a96 96 0 0 0 64-90.56V96a32 32 0 0 1 64 0v223.744a160 160 0 0 1-128 156.8V928a32 32 0 1 1-64 0V476.544a160 160 0 0 1-128-156.8V96a32 32 0 0 1 64 0v223.744a96 96 0 0 0 64 90.56zM672 572.48C581.184 552.128 512 446.848 512 320c0-141.44 85.952-256 192-256s192 114.56 192 256c0 126.848-69.184 232.128-160 252.48V928a32 32 0 1 1-64 0zM704 512c66.048 0 128-82.56 128-192s-61.952-192-128-192-128 82.56-128 192 61.952 192 128 192"})]))}}),YP=qP,GP=N({name:"Fries",__name:"fries",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M608 224v-64a32 32 0 0 0-64 0v336h26.88A64 64 0 0 0 608 484.096zm101.12 160A64 64 0 0 0 672 395.904V384h64V224a32 32 0 1 0-64 0v160zm74.88 0a92.928 92.928 0 0 1 91.328 110.08l-60.672 323.584A96 96 0 0 1 720.32 896H303.68a96 96 0 0 1-94.336-78.336L148.672 494.08A92.928 92.928 0 0 1 240 384h-16V224a96 96 0 0 1 188.608-25.28A95.744 95.744 0 0 1 480 197.44V160a96 96 0 0 1 188.608-25.28A96 96 0 0 1 800 224v160zM670.784 512a128 128 0 0 1-99.904 48H453.12a128 128 0 0 1-99.84-48H352v-1.536a128.128 128.128 0 0 1-9.984-14.976L314.88 448H240a28.928 28.928 0 0 0-28.48 34.304L241.088 640h541.824l29.568-157.696A28.928 28.928 0 0 0 784 448h-74.88l-27.136 47.488A132.405 132.405 0 0 1 672 510.464V512zM480 288a32 32 0 0 0-64 0v196.096A64 64 0 0 0 453.12 496H480zm-128 96V224a32 32 0 0 0-64 0v160zh-37.12A64 64 0 0 1 352 395.904zm-98.88 320 19.072 101.888A32 32 0 0 0 303.68 832h416.64a32 32 0 0 0 31.488-26.112L770.88 704z"})]))}}),XP=GP,ZP=N({name:"FullScreen",__name:"full-screen",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m160 96.064 192 .192a32 32 0 0 1 0 64l-192-.192V352a32 32 0 0 1-64 0V96h64zm0 831.872V928H96V672a32 32 0 1 1 64 0v191.936l192-.192a32 32 0 1 1 0 64zM864 96.064V96h64v256a32 32 0 1 1-64 0V160.064l-192 .192a32 32 0 1 1 0-64l192-.192zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64z"})]))}}),L3=ZP,JP=N({name:"GobletFull",__name:"goblet-full",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M256 320h512c0-78.592-12.608-142.4-36.928-192h-434.24C269.504 192.384 256 256.256 256 320m503.936 64H264.064a256.128 256.128 0 0 0 495.872 0zM544 638.4V896h96a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64h96V638.4A320 320 0 0 1 192 320c0-85.632 21.312-170.944 64-256h512c42.688 64.32 64 149.632 64 256a320 320 0 0 1-288 318.4"})]))}}),QP=JP,eR=N({name:"GobletSquareFull",__name:"goblet-square-full",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M256 270.912c10.048 6.72 22.464 14.912 28.992 18.624a220.16 220.16 0 0 0 114.752 30.72c30.592 0 49.408-9.472 91.072-41.152l.64-.448c52.928-40.32 82.368-55.04 132.288-54.656 55.552.448 99.584 20.8 142.72 57.408l1.536 1.28V128H256v142.912zm.96 76.288C266.368 482.176 346.88 575.872 512 576c157.44.064 237.952-85.056 253.248-209.984a952.32 952.32 0 0 1-40.192-35.712c-32.704-27.776-63.36-41.92-101.888-42.24-31.552-.256-50.624 9.28-93.12 41.6l-.576.448c-52.096 39.616-81.024 54.208-129.792 54.208-54.784 0-100.48-13.376-142.784-37.056zM480 638.848C250.624 623.424 192 442.496 192 319.68V96a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32v224c0 122.816-58.624 303.68-288 318.912V896h96a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64h96z"})]))}}),tR=eR,oR=N({name:"GobletSquare",__name:"goblet-square",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M544 638.912V896h96a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64h96V638.848C250.624 623.424 192 442.496 192 319.68V96a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32v224c0 122.816-58.624 303.68-288 318.912M256 319.68c0 149.568 80 256.192 256 256.256C688.128 576 768 469.568 768 320V128H256z"})]))}}),rR=oR,lR=N({name:"Goblet",__name:"goblet",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M544 638.4V896h96a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64h96V638.4A320 320 0 0 1 192 320c0-85.632 21.312-170.944 64-256h512c42.688 64.32 64 149.632 64 256a320 320 0 0 1-288 318.4M256 320a256 256 0 1 0 512 0c0-78.592-12.608-142.4-36.928-192h-434.24C269.504 192.384 256 256.256 256 320"})]))}}),nR=lR,aR=N({name:"GoldMedal",__name:"gold-medal",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m772.13 452.84 53.86-351.81c1.32-10.01-1.17-18.68-7.49-26.02S804.35 64 795.01 64H228.99v-.01h-.06c-9.33 0-17.15 3.67-23.49 11.01s-8.83 16.01-7.49 26.02l53.87 351.89C213.54 505.73 193.59 568.09 192 640c2 90.67 33.17 166.17 93.5 226.5S421.33 957.99 512 960c90.67-2 166.17-33.17 226.5-93.5 60.33-60.34 91.49-135.83 93.5-226.5-1.59-71.94-21.56-134.32-59.87-187.16zM640.01 128h117.02l-39.01 254.02c-20.75-10.64-40.74-19.73-59.94-27.28-5.92-3-11.95-5.8-18.08-8.41V128h.01zM576 128v198.76c-13.18-2.58-26.74-4.43-40.67-5.55-8.07-.8-15.85-1.2-23.33-1.2-10.54 0-21.09.66-31.64 1.96a359.844 359.844 0 0 0-32.36 4.79V128zm-192 0h.04v218.3c-6.22 2.66-12.34 5.5-18.36 8.56-19.13 7.54-39.02 16.6-59.66 27.16L267.01 128zm308.99 692.99c-48 48-108.33 73-180.99 75.01-72.66-2.01-132.99-27.01-180.99-75.01S258.01 712.66 256 640c2.01-72.66 27.01-132.99 75.01-180.99 19.67-19.67 41.41-35.47 65.22-47.41 38.33-15.04 71.15-23.92 98.44-26.65 5.07-.41 10.2-.7 15.39-.88.63-.01 1.28-.03 1.91-.03.66 0 1.35.03 2.02.04 5.11.17 10.15.46 15.13.86 27.4 2.71 60.37 11.65 98.91 26.79 23.71 11.93 45.36 27.69 64.96 47.29 48 48 73 108.33 75.01 180.99-2.01 72.65-27.01 132.98-75.01 180.98z"}),E("path",{fill:"currentColor",d:"M544 480H416v64h64v192h-64v64h192v-64h-64z"})]))}}),iR=aR,sR=N({name:"GoodsFilled",__name:"goods-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M192 352h640l64 544H128zm128 224h64V448h-64zm320 0h64V448h-64zM384 288h-64a192 192 0 1 1 384 0h-64a128 128 0 1 0-256 0"})]))}}),cR=sR,uR=N({name:"Goods",__name:"goods",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M320 288v-22.336C320 154.688 405.504 64 512 64s192 90.688 192 201.664v22.4h131.072a32 32 0 0 1 31.808 28.8l57.6 576a32 32 0 0 1-31.808 35.2H131.328a32 32 0 0 1-31.808-35.2l57.6-576a32 32 0 0 1 31.808-28.8H320zm64 0h256v-22.336C640 189.248 582.272 128 512 128c-70.272 0-128 61.248-128 137.664v22.4zm-64 64H217.92l-51.2 512h690.56l-51.264-512H704v96a32 32 0 1 1-64 0v-96H384v96a32 32 0 0 1-64 0z"})]))}}),dR=uR,pR=N({name:"Grape",__name:"grape",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M544 195.2a160 160 0 0 1 96 60.8 160 160 0 1 1 146.24 254.976 160 160 0 0 1-128 224 160 160 0 1 1-292.48 0 160 160 0 0 1-128-224A160 160 0 1 1 384 256a160 160 0 0 1 96-60.8V128h-64a32 32 0 0 1 0-64h192a32 32 0 0 1 0 64h-64zM512 448a96 96 0 1 0 0-192 96 96 0 0 0 0 192m-256 0a96 96 0 1 0 0-192 96 96 0 0 0 0 192m128 224a96 96 0 1 0 0-192 96 96 0 0 0 0 192m128 224a96 96 0 1 0 0-192 96 96 0 0 0 0 192m128-224a96 96 0 1 0 0-192 96 96 0 0 0 0 192m128-224a96 96 0 1 0 0-192 96 96 0 0 0 0 192"})]))}}),fR=pR,hR=N({name:"Grid",__name:"grid",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M640 384v256H384V384zm64 0h192v256H704zm-64 512H384V704h256zm64 0V704h192v192zm-64-768v192H384V128zm64 0h192v192H704zM320 384v256H128V384zm0 512H128V704h192zm0-768v192H128V128z"})]))}}),vR=hR,mR=N({name:"Guide",__name:"guide",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M640 608h-64V416h64zm0 160v160a32 32 0 0 1-32 32H416a32 32 0 0 1-32-32V768h64v128h128V768zM384 608V416h64v192zm256-352h-64V128H448v128h-64V96a32 32 0 0 1 32-32h192a32 32 0 0 1 32 32z"}),E("path",{fill:"currentColor",d:"m220.8 256-71.232 80 71.168 80H768V256H220.8zm-14.4-64H800a32 32 0 0 1 32 32v224a32 32 0 0 1-32 32H206.4a32 32 0 0 1-23.936-10.752l-99.584-112a32 32 0 0 1 0-42.496l99.584-112A32 32 0 0 1 206.4 192m678.784 496-71.104 80H266.816V608h547.2l71.168 80zm-56.768-144H234.88a32 32 0 0 0-32 32v224a32 32 0 0 0 32 32h593.6a32 32 0 0 0 23.936-10.752l99.584-112a32 32 0 0 0 0-42.496l-99.584-112A32 32 0 0 0 828.48 544z"})]))}}),gR=mR,bR=N({name:"Handbag",__name:"handbag",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M887.01 264.99c-6-5.99-13.67-8.99-23.01-8.99H704c-1.34-54.68-20.01-100.01-56-136s-81.32-54.66-136-56c-54.68 1.34-100.01 20.01-136 56s-54.66 81.32-56 136H160c-9.35 0-17.02 3-23.01 8.99-5.99 6-8.99 13.67-8.99 23.01v640c0 9.35 2.99 17.02 8.99 23.01S150.66 960 160 960h704c9.35 0 17.02-2.99 23.01-8.99S896 937.34 896 928V288c0-9.35-2.99-17.02-8.99-23.01M421.5 165.5c24.32-24.34 54.49-36.84 90.5-37.5 35.99.68 66.16 13.18 90.5 37.5s36.84 54.49 37.5 90.5H384c.68-35.99 13.18-66.16 37.5-90.5M832 896H192V320h128v128h64V320h256v128h64V320h128z"})]))}}),_R=bR,wR=N({name:"Headset",__name:"headset",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M896 529.152V512a384 384 0 1 0-768 0v17.152A128 128 0 0 1 320 640v128a128 128 0 1 1-256 0V512a448 448 0 1 1 896 0v256a128 128 0 1 1-256 0V640a128 128 0 0 1 192-110.848M896 640a64 64 0 0 0-128 0v128a64 64 0 0 0 128 0zm-768 0v128a64 64 0 0 0 128 0V640a64 64 0 1 0-128 0"})]))}}),yR=wR,xR=N({name:"HelpFilled",__name:"help-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M926.784 480H701.312A192.512 192.512 0 0 0 544 322.688V97.216A416.064 416.064 0 0 1 926.784 480m0 64A416.064 416.064 0 0 1 544 926.784V701.312A192.512 192.512 0 0 0 701.312 544zM97.28 544h225.472A192.512 192.512 0 0 0 480 701.312v225.472A416.064 416.064 0 0 1 97.216 544zm0-64A416.064 416.064 0 0 1 480 97.216v225.472A192.512 192.512 0 0 0 322.688 480H97.216z"})]))}}),kR=xR,CR=N({name:"Help",__name:"help",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m759.936 805.248-90.944-91.008A254.912 254.912 0 0 1 512 768a254.912 254.912 0 0 1-156.992-53.76l-90.944 91.008A382.464 382.464 0 0 0 512 896c94.528 0 181.12-34.176 247.936-90.752m45.312-45.312A382.464 382.464 0 0 0 896 512c0-94.528-34.176-181.12-90.752-247.936l-91.008 90.944C747.904 398.4 768 452.864 768 512c0 59.136-20.096 113.6-53.76 156.992l91.008 90.944zm-45.312-541.184A382.464 382.464 0 0 0 512 128c-94.528 0-181.12 34.176-247.936 90.752l90.944 91.008A254.912 254.912 0 0 1 512 256c59.136 0 113.6 20.096 156.992 53.76l90.944-91.008zm-541.184 45.312A382.464 382.464 0 0 0 128 512c0 94.528 34.176 181.12 90.752 247.936l91.008-90.944A254.912 254.912 0 0 1 256 512c0-59.136 20.096-113.6 53.76-156.992zm417.28 394.496a194.56 194.56 0 0 0 22.528-22.528C686.912 602.56 704 559.232 704 512a191.232 191.232 0 0 0-67.968-146.56A191.296 191.296 0 0 0 512 320a191.232 191.232 0 0 0-146.56 67.968C337.088 421.44 320 464.768 320 512a191.232 191.232 0 0 0 67.968 146.56C421.44 686.912 464.768 704 512 704c47.296 0 90.56-17.088 124.032-45.44zM512 960a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}}),SR=CR,ER=N({name:"Hide",__name:"hide",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M876.8 156.8c0-9.6-3.2-16-9.6-22.4-6.4-6.4-12.8-9.6-22.4-9.6-9.6 0-16 3.2-22.4 9.6L736 220.8c-64-32-137.6-51.2-224-60.8-160 16-288 73.6-377.6 176C44.8 438.4 0 496 0 512s48 73.6 134.4 176c22.4 25.6 44.8 48 73.6 67.2l-86.4 89.6c-6.4 6.4-9.6 12.8-9.6 22.4 0 9.6 3.2 16 9.6 22.4 6.4 6.4 12.8 9.6 22.4 9.6 9.6 0 16-3.2 22.4-9.6l704-710.4c3.2-6.4 6.4-12.8 6.4-22.4Zm-646.4 528c-76.8-70.4-128-128-153.6-172.8 28.8-48 80-105.6 153.6-172.8C304 272 400 230.4 512 224c64 3.2 124.8 19.2 176 44.8l-54.4 54.4C598.4 300.8 560 288 512 288c-64 0-115.2 22.4-160 64s-64 96-64 160c0 48 12.8 89.6 35.2 124.8L256 707.2c-9.6-6.4-19.2-16-25.6-22.4Zm140.8-96c-12.8-22.4-19.2-48-19.2-76.8 0-44.8 16-83.2 48-112 32-28.8 67.2-48 112-48 28.8 0 54.4 6.4 73.6 19.2zM889.599 336c-12.8-16-28.8-28.8-41.6-41.6l-48 48c73.6 67.2 124.8 124.8 150.4 169.6-28.8 48-80 105.6-153.6 172.8-73.6 67.2-172.8 108.8-284.8 115.2-51.2-3.2-99.2-12.8-140.8-28.8l-48 48c57.6 22.4 118.4 38.4 188.8 44.8 160-16 288-73.6 377.6-176C979.199 585.6 1024 528 1024 512s-48.001-73.6-134.401-176Z"}),E("path",{fill:"currentColor",d:"M511.998 672c-12.8 0-25.6-3.2-38.4-6.4l-51.2 51.2c28.8 12.8 57.6 19.2 89.6 19.2 64 0 115.2-22.4 160-64 41.6-41.6 64-96 64-160 0-32-6.4-64-19.2-89.6l-51.2 51.2c3.2 12.8 6.4 25.6 6.4 38.4 0 44.8-16 83.2-48 112-32 28.8-67.2 48-112 48Z"})]))}}),B3=ER,TR=N({name:"Histogram",__name:"histogram",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M416 896V128h192v768zm-288 0V448h192v448zm576 0V320h192v576z"})]))}}),$R=TR,MR=N({name:"HomeFilled",__name:"home-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 128 128 447.936V896h255.936V640H640v256h255.936V447.936z"})]))}}),AR=MR,zR=N({name:"HotWater",__name:"hot-water",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M273.067 477.867h477.866V409.6H273.067zm0 68.266v51.2A187.733 187.733 0 0 0 460.8 785.067h102.4a187.733 187.733 0 0 0 187.733-187.734v-51.2H273.067zm-34.134-204.8h546.134a34.133 34.133 0 0 1 34.133 34.134v221.866a256 256 0 0 1-256 256H460.8a256 256 0 0 1-256-256V375.467a34.133 34.133 0 0 1 34.133-34.134zM512 34.133a34.133 34.133 0 0 1 34.133 34.134v170.666a34.133 34.133 0 0 1-68.266 0V68.267A34.133 34.133 0 0 1 512 34.133zM375.467 102.4a34.133 34.133 0 0 1 34.133 34.133v102.4a34.133 34.133 0 0 1-68.267 0v-102.4a34.133 34.133 0 0 1 34.134-34.133m273.066 0a34.133 34.133 0 0 1 34.134 34.133v102.4a34.133 34.133 0 1 1-68.267 0v-102.4a34.133 34.133 0 0 1 34.133-34.133M170.667 921.668h682.666a34.133 34.133 0 1 1 0 68.267H170.667a34.133 34.133 0 1 1 0-68.267z"})]))}}),IR=zR,OR=N({name:"House",__name:"house",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M192 413.952V896h640V413.952L512 147.328zM139.52 374.4l352-293.312a32 32 0 0 1 40.96 0l352 293.312A32 32 0 0 1 896 398.976V928a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V398.976a32 32 0 0 1 11.52-24.576"})]))}}),NR=OR,PR=N({name:"IceCreamRound",__name:"ice-cream-round",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m308.352 489.344 226.304 226.304a32 32 0 0 0 45.248 0L783.552 512A192 192 0 1 0 512 240.448L308.352 444.16a32 32 0 0 0 0 45.248zm135.744 226.304L308.352 851.392a96 96 0 0 1-135.744-135.744l135.744-135.744-45.248-45.248a96 96 0 0 1 0-135.808L466.752 195.2A256 256 0 0 1 828.8 557.248L625.152 760.96a96 96 0 0 1-135.808 0l-45.248-45.248zM398.848 670.4 353.6 625.152 217.856 760.896a32 32 0 0 0 45.248 45.248zm248.96-384.64a32 32 0 0 1 0 45.248L466.624 512a32 32 0 1 1-45.184-45.248l180.992-181.056a32 32 0 0 1 45.248 0zm90.496 90.496a32 32 0 0 1 0 45.248L557.248 602.496A32 32 0 1 1 512 557.248l180.992-180.992a32 32 0 0 1 45.312 0z"})]))}}),RR=PR,LR=N({name:"IceCreamSquare",__name:"ice-cream-square",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M416 640h256a32 32 0 0 0 32-32V160a32 32 0 0 0-32-32H352a32 32 0 0 0-32 32v448a32 32 0 0 0 32 32zm192 64v160a96 96 0 0 1-192 0V704h-64a96 96 0 0 1-96-96V160a96 96 0 0 1 96-96h320a96 96 0 0 1 96 96v448a96 96 0 0 1-96 96zm-64 0h-64v160a32 32 0 1 0 64 0z"})]))}}),BR=LR,VR=N({name:"IceCream",__name:"ice-cream",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128.64 448a208 208 0 0 1 193.536-191.552 224 224 0 0 1 445.248 15.488A208.128 208.128 0 0 1 894.784 448H896L548.8 983.68a32 32 0 0 1-53.248.704L128 448zm64.256 0h286.208a144 144 0 0 0-286.208 0zm351.36 0h286.272a144 144 0 0 0-286.272 0zm-294.848 64 271.808 396.608L778.24 512H249.408zM511.68 352.64a207.872 207.872 0 0 1 189.184-96.192 160 160 0 0 0-314.752 5.632c52.608 12.992 97.28 46.08 125.568 90.56"})]))}}),DR=VR,HR=N({name:"IceDrink",__name:"ice-drink",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 448v128h239.68l16.064-128zm-64 0H256.256l16.064 128H448zm64-255.36V384h247.744A256.128 256.128 0 0 0 512 192.64m-64 8.064A256.448 256.448 0 0 0 264.256 384H448zm64-72.064A320.128 320.128 0 0 1 825.472 384H896a32 32 0 1 1 0 64h-64v1.92l-56.96 454.016A64 64 0 0 1 711.552 960H312.448a64 64 0 0 1-63.488-56.064L192 449.92V448h-64a32 32 0 0 1 0-64h70.528A320.384 320.384 0 0 1 448 135.04V96a96 96 0 0 1 96-96h128a32 32 0 1 1 0 64H544a32 32 0 0 0-32 32zM743.68 640H280.32l32.128 256h399.104z"})]))}}),FR=HR,jR=N({name:"IceTea",__name:"ice-tea",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M197.696 259.648a320.128 320.128 0 0 1 628.608 0A96 96 0 0 1 896 352v64a96 96 0 0 1-71.616 92.864l-49.408 395.072A64 64 0 0 1 711.488 960H312.512a64 64 0 0 1-63.488-56.064l-49.408-395.072A96 96 0 0 1 128 416v-64a96 96 0 0 1 69.696-92.352M264.064 256h495.872a256.128 256.128 0 0 0-495.872 0m495.424 256H264.512l48 384h398.976zM224 448h576a32 32 0 0 0 32-32v-64a32 32 0 0 0-32-32H224a32 32 0 0 0-32 32v64a32 32 0 0 0 32 32m160 192h64v64h-64zm192 64h64v64h-64zm-128 64h64v64h-64zm64-192h64v64h-64z"})]))}}),KR=jR,UR=N({name:"InfoFilled",__name:"info-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64m67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344M590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.992 12.992 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"})]))}}),Od=UR,WR=N({name:"Iphone",__name:"iphone",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M224 768v96.064a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64V768zm0-64h576V160a64 64 0 0 0-64-64H288a64 64 0 0 0-64 64zm32 288a96 96 0 0 1-96-96V128a96 96 0 0 1 96-96h512a96 96 0 0 1 96 96v768a96 96 0 0 1-96 96zm304-144a48 48 0 1 1-96 0 48 48 0 0 1 96 0"})]))}}),qR=WR,YR=N({name:"Key",__name:"key",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M448 456.064V96a32 32 0 0 1 32-32.064L672 64a32 32 0 0 1 0 64H512v128h160a32 32 0 0 1 0 64H512v128a256 256 0 1 1-64 8.064M512 896a192 192 0 1 0 0-384 192 192 0 0 0 0 384"})]))}}),GR=YR,XR=N({name:"KnifeFork",__name:"knife-fork",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M256 410.56V96a32 32 0 0 1 64 0v314.56A96 96 0 0 0 384 320V96a32 32 0 0 1 64 0v224a160 160 0 0 1-128 156.8V928a32 32 0 1 1-64 0V476.8A160 160 0 0 1 128 320V96a32 32 0 0 1 64 0v224a96 96 0 0 0 64 90.56m384-250.24V544h126.72c-3.328-78.72-12.928-147.968-28.608-207.744-14.336-54.528-46.848-113.344-98.112-175.872zM640 608v320a32 32 0 1 1-64 0V64h64c85.312 89.472 138.688 174.848 160 256 21.312 81.152 32 177.152 32 288z"})]))}}),ZR=XR,JR=N({name:"Lightning",__name:"lightning",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M288 671.36v64.128A239.808 239.808 0 0 1 63.744 496.192a240.32 240.32 0 0 1 199.488-236.8 256.128 256.128 0 0 1 487.872-30.976A256.064 256.064 0 0 1 736 734.016v-64.768a192 192 0 0 0 3.328-377.92l-35.2-6.592-12.8-33.408a192.064 192.064 0 0 0-365.952 23.232l-9.92 40.896-41.472 7.04a176.32 176.32 0 0 0-146.24 173.568c0 91.968 70.464 167.36 160.256 175.232z"}),E("path",{fill:"currentColor",d:"M416 736a32 32 0 0 1-27.776-47.872l128-224a32 32 0 1 1 55.552 31.744L471.168 672H608a32 32 0 0 1 27.776 47.872l-128 224a32 32 0 1 1-55.68-31.744L552.96 736z"})]))}}),QR=JR,eL=N({name:"Link",__name:"link",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M715.648 625.152 670.4 579.904l90.496-90.56c75.008-74.944 85.12-186.368 22.656-248.896-62.528-62.464-173.952-52.352-248.96 22.656L444.16 353.6l-45.248-45.248 90.496-90.496c100.032-99.968 251.968-110.08 339.456-22.656 87.488 87.488 77.312 239.424-22.656 339.456l-90.496 90.496zm-90.496 90.496-90.496 90.496C434.624 906.112 282.688 916.224 195.2 828.8c-87.488-87.488-77.312-239.424 22.656-339.456l90.496-90.496 45.248 45.248-90.496 90.56c-75.008 74.944-85.12 186.368-22.656 248.896 62.528 62.464 173.952 52.352 248.96-22.656l90.496-90.496zm0-362.048 45.248 45.248L398.848 670.4 353.6 625.152z"})]))}}),tL=eL,oL=N({name:"List",__name:"list",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M704 192h160v736H160V192h160v64h384zM288 512h448v-64H288zm0 256h448v-64H288zm96-576V96h256v96z"})]))}}),rL=oL,lL=N({name:"Loading",__name:"loading",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32m448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32m-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32M195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248zm452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248zM828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0m-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0z"})]))}}),vn=lL,nL=N({name:"LocationFilled",__name:"location-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 928c23.936 0 117.504-68.352 192.064-153.152C803.456 661.888 864 535.808 864 416c0-189.632-155.84-320-352-320S160 226.368 160 416c0 120.32 60.544 246.4 159.936 359.232C394.432 859.84 488 928 512 928m0-435.2a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 140.8a204.8 204.8 0 1 1 0-409.6 204.8 204.8 0 0 1 0 409.6"})]))}}),aL=nL,iL=N({name:"LocationInformation",__name:"location-information",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M288 896h448q32 0 32 32t-32 32H288q-32 0-32-32t32-32"}),E("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416M512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544"}),E("path",{fill:"currentColor",d:"M512 512a96 96 0 1 0 0-192 96 96 0 0 0 0 192m0 64a160 160 0 1 1 0-320 160 160 0 0 1 0 320"})]))}}),sL=iL,cL=N({name:"Location",__name:"location",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416M512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544"}),E("path",{fill:"currentColor",d:"M512 512a96 96 0 1 0 0-192 96 96 0 0 0 0 192m0 64a160 160 0 1 1 0-320 160 160 0 0 1 0 320"})]))}}),uL=cL,dL=N({name:"Lock",__name:"lock",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M224 448a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V480a32 32 0 0 0-32-32zm0-64h576a96 96 0 0 1 96 96v384a96 96 0 0 1-96 96H224a96 96 0 0 1-96-96V480a96 96 0 0 1 96-96"}),E("path",{fill:"currentColor",d:"M512 544a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V576a32 32 0 0 1 32-32m192-160v-64a192 192 0 1 0-384 0v64zM512 64a256 256 0 0 1 256 256v128H256V320A256 256 0 0 1 512 64"})]))}}),pL=dL,fL=N({name:"Lollipop",__name:"lollipop",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M513.28 448a64 64 0 1 1 76.544 49.728A96 96 0 0 0 768 448h64a160 160 0 0 1-320 0zm-126.976-29.696a256 256 0 1 0 43.52-180.48A256 256 0 0 1 832 448h-64a192 192 0 0 0-381.696-29.696m105.664 249.472L285.696 874.048a96 96 0 0 1-135.68-135.744l206.208-206.272a320 320 0 1 1 135.744 135.744zm-54.464-36.032a321.92 321.92 0 0 1-45.248-45.248L195.2 783.552a32 32 0 1 0 45.248 45.248l197.056-197.12z"})]))}}),hL=fL,vL=N({name:"MagicStick",__name:"magic-stick",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 64h64v192h-64zm0 576h64v192h-64zM160 480v-64h192v64zm576 0v-64h192v64zM249.856 199.04l45.248-45.184L430.848 289.6 385.6 334.848 249.856 199.104zM657.152 606.4l45.248-45.248 135.744 135.744-45.248 45.248zM114.048 923.2 68.8 877.952l316.8-316.8 45.248 45.248zM702.4 334.848 657.152 289.6l135.744-135.744 45.248 45.248z"})]))}}),mL=vL,gL=N({name:"Magnet",__name:"magnet",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M832 320V192H704v320a192 192 0 1 1-384 0V192H192v128h128v64H192v128a320 320 0 0 0 640 0V384H704v-64zM640 512V128h256v384a384 384 0 1 1-768 0V128h256v384a128 128 0 1 0 256 0"})]))}}),bL=gL,_L=N({name:"Male",__name:"male",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M399.5 849.5a225 225 0 1 0 0-450 225 225 0 0 0 0 450m0 56.25a281.25 281.25 0 1 1 0-562.5 281.25 281.25 0 0 1 0 562.5m253.125-787.5h225q28.125 0 28.125 28.125T877.625 174.5h-225q-28.125 0-28.125-28.125t28.125-28.125"}),E("path",{fill:"currentColor",d:"M877.625 118.25q28.125 0 28.125 28.125v225q0 28.125-28.125 28.125T849.5 371.375v-225q0-28.125 28.125-28.125"}),E("path",{fill:"currentColor",d:"M604.813 458.9 565.1 419.131l292.613-292.668 39.825 39.824z"})]))}}),wL=_L,yL=N({name:"Management",__name:"management",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M576 128v288l96-96 96 96V128h128v768H320V128zm-448 0h128v768H128z"})]))}}),xL=yL,kL=N({name:"MapLocation",__name:"map-location",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416M512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544"}),E("path",{fill:"currentColor",d:"M512 448a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256m345.6 192L960 960H672v-64H352v64H64l102.4-256zm-68.928 0H235.328l-76.8 192h706.944z"})]))}}),CL=kL,SL=N({name:"Medal",__name:"medal",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 896a256 256 0 1 0 0-512 256 256 0 0 0 0 512m0 64a320 320 0 1 1 0-640 320 320 0 0 1 0 640"}),E("path",{fill:"currentColor",d:"M576 128H448v200a286.72 286.72 0 0 1 64-8c19.52 0 40.832 2.688 64 8zm64 0v219.648c24.448 9.088 50.56 20.416 78.4 33.92L757.44 128zm-256 0H266.624l39.04 253.568c27.84-13.504 53.888-24.832 78.336-33.92V128zM229.312 64h565.376a32 32 0 0 1 31.616 36.864L768 480c-113.792-64-199.104-96-256-96-56.896 0-142.208 32-256 96l-58.304-379.136A32 32 0 0 1 229.312 64"})]))}}),EL=SL,TL=N({name:"Memo",__name:"memo",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M480 320h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32"}),E("path",{fill:"currentColor",d:"M887.01 72.99C881.01 67 873.34 64 864 64H160c-9.35 0-17.02 3-23.01 8.99C131 78.99 128 86.66 128 96v832c0 9.35 2.99 17.02 8.99 23.01S150.66 960 160 960h704c9.35 0 17.02-2.99 23.01-8.99S896 937.34 896 928V96c0-9.35-3-17.02-8.99-23.01M192 896V128h96v768zm640 0H352V128h480z"}),E("path",{fill:"currentColor",d:"M480 512h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32m0 192h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32"})]))}}),$L=TL,ML=N({name:"Menu",__name:"menu",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M160 448a32 32 0 0 1-32-32V160.064a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V416a32 32 0 0 1-32 32zm448 0a32 32 0 0 1-32-32V160.064a32 32 0 0 1 32-32h255.936a32 32 0 0 1 32 32V416a32 32 0 0 1-32 32zM160 896a32 32 0 0 1-32-32V608a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32zm448 0a32 32 0 0 1-32-32V608a32 32 0 0 1 32-32h255.936a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32z"})]))}}),AL=ML,zL=N({name:"MessageBox",__name:"message-box",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M288 384h448v64H288zm96-128h256v64H384zM131.456 512H384v128h256V512h252.544L721.856 192H302.144zM896 576H704v128H320V576H128v256h768zM275.776 128h472.448a32 32 0 0 1 28.608 17.664l179.84 359.552A32 32 0 0 1 960 519.552V864a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V519.552a32 32 0 0 1 3.392-14.336l179.776-359.552A32 32 0 0 1 275.776 128z"})]))}}),IL=zL,OL=N({name:"Message",__name:"message",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 224v512a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V224zm0-64h768a64 64 0 0 1 64 64v512a128 128 0 0 1-128 128H192A128 128 0 0 1 64 736V224a64 64 0 0 1 64-64"}),E("path",{fill:"currentColor",d:"M904 224 656.512 506.88a192 192 0 0 1-289.024 0L120 224zm-698.944 0 210.56 240.704a128 128 0 0 0 192.704 0L818.944 224H205.056"})]))}}),NL=OL,PL=N({name:"Mic",__name:"mic",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M480 704h160a64 64 0 0 0 64-64v-32h-96a32 32 0 0 1 0-64h96v-96h-96a32 32 0 0 1 0-64h96v-96h-96a32 32 0 0 1 0-64h96v-32a64 64 0 0 0-64-64H384a64 64 0 0 0-64 64v32h96a32 32 0 0 1 0 64h-96v96h96a32 32 0 0 1 0 64h-96v96h96a32 32 0 0 1 0 64h-96v32a64 64 0 0 0 64 64zm64 64v128h192a32 32 0 1 1 0 64H288a32 32 0 1 1 0-64h192V768h-96a128 128 0 0 1-128-128V192A128 128 0 0 1 384 64h256a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128z"})]))}}),RL=PL,LL=N({name:"Microphone",__name:"microphone",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 128a128 128 0 0 0-128 128v256a128 128 0 1 0 256 0V256a128 128 0 0 0-128-128m0-64a192 192 0 0 1 192 192v256a192 192 0 1 1-384 0V256A192 192 0 0 1 512 64m-32 832v-64a288 288 0 0 1-288-288v-32a32 32 0 0 1 64 0v32a224 224 0 0 0 224 224h64a224 224 0 0 0 224-224v-32a32 32 0 1 1 64 0v32a288 288 0 0 1-288 288v64h64a32 32 0 1 1 0 64H416a32 32 0 1 1 0-64z"})]))}}),BL=LL,VL=N({name:"MilkTea",__name:"milk-tea",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M416 128V96a96 96 0 0 1 96-96h128a32 32 0 1 1 0 64H512a32 32 0 0 0-32 32v32h320a96 96 0 0 1 11.712 191.296l-39.68 581.056A64 64 0 0 1 708.224 960H315.776a64 64 0 0 1-63.872-59.648l-39.616-581.056A96 96 0 0 1 224 128zM276.48 320l39.296 576h392.448l4.8-70.784a224.064 224.064 0 0 1 30.016-439.808L747.52 320zM224 256h576a32 32 0 1 0 0-64H224a32 32 0 0 0 0 64m493.44 503.872 21.12-309.12a160 160 0 0 0-21.12 309.12"})]))}}),DL=VL,HL=N({name:"Minus",__name:"minus",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 544h768a32 32 0 1 0 0-64H128a32 32 0 0 0 0 64"})]))}}),V3=HL,FL=N({name:"Money",__name:"money",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M256 640v192h640V384H768v-64h150.976c14.272 0 19.456 1.472 24.64 4.288a29.056 29.056 0 0 1 12.16 12.096c2.752 5.184 4.224 10.368 4.224 24.64v493.952c0 14.272-1.472 19.456-4.288 24.64a29.056 29.056 0 0 1-12.096 12.16c-5.184 2.752-10.368 4.224-24.64 4.224H233.024c-14.272 0-19.456-1.472-24.64-4.288a29.056 29.056 0 0 1-12.16-12.096c-2.688-5.184-4.224-10.368-4.224-24.576V640z"}),E("path",{fill:"currentColor",d:"M768 192H128v448h640zm64-22.976v493.952c0 14.272-1.472 19.456-4.288 24.64a29.056 29.056 0 0 1-12.096 12.16c-5.184 2.752-10.368 4.224-24.64 4.224H105.024c-14.272 0-19.456-1.472-24.64-4.288a29.056 29.056 0 0 1-12.16-12.096C65.536 682.432 64 677.248 64 663.04V169.024c0-14.272 1.472-19.456 4.288-24.64a29.056 29.056 0 0 1 12.096-12.16C85.568 129.536 90.752 128 104.96 128h685.952c14.272 0 19.456 1.472 24.64 4.288a29.056 29.056 0 0 1 12.16 12.096c2.752 5.184 4.224 10.368 4.224 24.64z"}),E("path",{fill:"currentColor",d:"M448 576a160 160 0 1 1 0-320 160 160 0 0 1 0 320m0-64a96 96 0 1 0 0-192 96 96 0 0 0 0 192"})]))}}),jL=FL,KL=N({name:"Monitor",__name:"monitor",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M544 768v128h192a32 32 0 1 1 0 64H288a32 32 0 1 1 0-64h192V768H192A128 128 0 0 1 64 640V256a128 128 0 0 1 128-128h640a128 128 0 0 1 128 128v384a128 128 0 0 1-128 128zM192 192a64 64 0 0 0-64 64v384a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64z"})]))}}),UL=KL,WL=N({name:"MoonNight",__name:"moon-night",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M384 512a448 448 0 0 1 215.872-383.296A384 384 0 0 0 213.76 640h188.8A448.256 448.256 0 0 1 384 512M171.136 704a448 448 0 0 1 636.992-575.296A384 384 0 0 0 499.328 704h-328.32z"}),E("path",{fill:"currentColor",d:"M32 640h960q32 0 32 32t-32 32H32q-32 0-32-32t32-32m128 128h384a32 32 0 1 1 0 64H160a32 32 0 1 1 0-64m160 127.68 224 .256a32 32 0 0 1 32 32V928a32 32 0 0 1-32 32l-224-.384a32 32 0 0 1-32-32v-.064a32 32 0 0 1 32-32z"})]))}}),qL=WL,YL=N({name:"Moon",__name:"moon",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M240.448 240.448a384 384 0 1 0 559.424 525.696 448 448 0 0 1-542.016-542.08 390.592 390.592 0 0 0-17.408 16.384zm181.056 362.048a384 384 0 0 0 525.632 16.384A448 448 0 1 1 405.056 76.8a384 384 0 0 0 16.448 525.696"})]))}}),GL=YL,XL=N({name:"MoreFilled",__name:"more-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M176 416a112 112 0 1 1 0 224 112 112 0 0 1 0-224m336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224m336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224"})]))}}),fh=XL,ZL=N({name:"More",__name:"more",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M176 416a112 112 0 1 0 0 224 112 112 0 0 0 0-224m0 64a48 48 0 1 1 0 96 48 48 0 0 1 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96"})]))}}),D3=ZL,JL=N({name:"MostlyCloudy",__name:"mostly-cloudy",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M737.216 357.952 704 349.824l-11.776-32a192.064 192.064 0 0 0-367.424 23.04l-8.96 39.04-39.04 8.96A192.064 192.064 0 0 0 320 768h368a207.808 207.808 0 0 0 207.808-208 208.32 208.32 0 0 0-158.592-202.048m15.168-62.208A272.32 272.32 0 0 1 959.744 560a271.808 271.808 0 0 1-271.552 272H320a256 256 0 0 1-57.536-505.536 256.128 256.128 0 0 1 489.92-30.72"})]))}}),QL=JL,eB=N({name:"Mouse",__name:"mouse",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M438.144 256c-68.352 0-92.736 4.672-117.76 18.112-20.096 10.752-35.52 26.176-46.272 46.272C260.672 345.408 256 369.792 256 438.144v275.712c0 68.352 4.672 92.736 18.112 117.76 10.752 20.096 26.176 35.52 46.272 46.272C345.408 891.328 369.792 896 438.144 896h147.712c68.352 0 92.736-4.672 117.76-18.112 20.096-10.752 35.52-26.176 46.272-46.272C763.328 806.592 768 782.208 768 713.856V438.144c0-68.352-4.672-92.736-18.112-117.76a110.464 110.464 0 0 0-46.272-46.272C678.592 260.672 654.208 256 585.856 256zm0-64h147.712c85.568 0 116.608 8.96 147.904 25.6 31.36 16.768 55.872 41.344 72.576 72.64C823.104 321.536 832 352.576 832 438.08v275.84c0 85.504-8.96 116.544-25.6 147.84a174.464 174.464 0 0 1-72.64 72.576C702.464 951.104 671.424 960 585.92 960H438.08c-85.504 0-116.544-8.96-147.84-25.6a174.464 174.464 0 0 1-72.64-72.704c-16.768-31.296-25.664-62.336-25.664-147.84v-275.84c0-85.504 8.96-116.544 25.6-147.84a174.464 174.464 0 0 1 72.768-72.576c31.232-16.704 62.272-25.6 147.776-25.6z"}),E("path",{fill:"currentColor",d:"M512 320q32 0 32 32v128q0 32-32 32t-32-32V352q0-32 32-32m32-96a32 32 0 0 1-64 0v-64a32 32 0 0 0-32-32h-96a32 32 0 0 1 0-64h96a96 96 0 0 1 96 96z"})]))}}),tB=eB,oB=N({name:"Mug",__name:"mug",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M736 800V160H160v640a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64m64-544h63.552a96 96 0 0 1 96 96v224a96 96 0 0 1-96 96H800v128a128 128 0 0 1-128 128H224A128 128 0 0 1 96 800V128a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32zm0 64v288h63.552a32 32 0 0 0 32-32V352a32 32 0 0 0-32-32z"})]))}}),rB=oB,lB=N({name:"MuteNotification",__name:"mute-notification",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m241.216 832 63.616-64H768V448c0-42.368-10.24-82.304-28.48-117.504l46.912-47.232C815.36 331.392 832 387.84 832 448v320h96a32 32 0 1 1 0 64zm-90.24 0H96a32 32 0 1 1 0-64h96V448a320.128 320.128 0 0 1 256-313.6V128a64 64 0 1 1 128 0v6.4a319.552 319.552 0 0 1 171.648 97.088l-45.184 45.44A256 256 0 0 0 256 448v278.336L151.04 832zM448 896h128a64 64 0 0 1-128 0"}),E("path",{fill:"currentColor",d:"M150.72 859.072a32 32 0 0 1-45.44-45.056l704-708.544a32 32 0 0 1 45.44 45.056l-704 708.544z"})]))}}),nB=lB,aB=N({name:"Mute",__name:"mute",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m412.16 592.128-45.44 45.44A191.232 191.232 0 0 1 320 512V256a192 192 0 1 1 384 0v44.352l-64 64V256a128 128 0 1 0-256 0v256c0 30.336 10.56 58.24 28.16 80.128m51.968 38.592A128 128 0 0 0 640 512v-57.152l64-64V512a192 192 0 0 1-287.68 166.528zM314.88 779.968l46.144-46.08A222.976 222.976 0 0 0 480 768h64a224 224 0 0 0 224-224v-32a32 32 0 1 1 64 0v32a288 288 0 0 1-288 288v64h64a32 32 0 1 1 0 64H416a32 32 0 1 1 0-64h64v-64c-61.44 0-118.4-19.2-165.12-52.032M266.752 737.6A286.976 286.976 0 0 1 192 544v-32a32 32 0 0 1 64 0v32c0 56.832 21.184 108.8 56.064 148.288z"}),E("path",{fill:"currentColor",d:"M150.72 859.072a32 32 0 0 1-45.44-45.056l704-708.544a32 32 0 0 1 45.44 45.056l-704 708.544z"})]))}}),iB=aB,sB=N({name:"NoSmoking",__name:"no-smoking",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M440.256 576H256v128h56.256l-64 64H224a32 32 0 0 1-32-32V544a32 32 0 0 1 32-32h280.256zm143.488 128H704V583.744L775.744 512H928a32 32 0 0 1 32 32v192a32 32 0 0 1-32 32H519.744zM768 576v128h128V576zm-29.696-207.552 45.248 45.248-497.856 497.856-45.248-45.248zM256 64h64v320h-64zM128 192h64v192h-64zM64 512h64v256H64z"})]))}}),cB=sB,uB=N({name:"Notebook",__name:"notebook",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M192 128v768h640V128zm-32-64h704a32 32 0 0 1 32 32v832a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32"}),E("path",{fill:"currentColor",d:"M672 128h64v768h-64zM96 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32m0 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32m0 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32m0 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32"})]))}}),dB=uB,pB=N({name:"Notification",__name:"notification",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 128v64H256a64 64 0 0 0-64 64v512a64 64 0 0 0 64 64h512a64 64 0 0 0 64-64V512h64v256a128 128 0 0 1-128 128H256a128 128 0 0 1-128-128V256a128 128 0 0 1 128-128z"}),E("path",{fill:"currentColor",d:"M768 384a128 128 0 1 0 0-256 128 128 0 0 0 0 256m0 64a192 192 0 1 1 0-384 192 192 0 0 1 0 384"})]))}}),fB=pB,hB=N({name:"Odometer",__name:"odometer",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),E("path",{fill:"currentColor",d:"M192 512a320 320 0 1 1 640 0 32 32 0 1 1-64 0 256 256 0 1 0-512 0 32 32 0 0 1-64 0"}),E("path",{fill:"currentColor",d:"M570.432 627.84A96 96 0 1 1 509.568 608l60.992-187.776A32 32 0 1 1 631.424 440l-60.992 187.776zM502.08 734.464a32 32 0 1 0 19.84-60.928 32 32 0 0 0-19.84 60.928"})]))}}),vB=hB,mB=N({name:"OfficeBuilding",__name:"office-building",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M192 128v704h384V128zm-32-64h448a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32"}),E("path",{fill:"currentColor",d:"M256 256h256v64H256zm0 192h256v64H256zm0 192h256v64H256zm384-128h128v64H640zm0 128h128v64H640zM64 832h896v64H64z"}),E("path",{fill:"currentColor",d:"M640 384v448h192V384zm-32-64h256a32 32 0 0 1 32 32v512a32 32 0 0 1-32 32H608a32 32 0 0 1-32-32V352a32 32 0 0 1 32-32"})]))}}),gB=mB,bB=N({name:"Open",__name:"open",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M329.956 257.138a254.862 254.862 0 0 0 0 509.724h364.088a254.862 254.862 0 0 0 0-509.724zm0-72.818h364.088a327.68 327.68 0 1 1 0 655.36H329.956a327.68 327.68 0 1 1 0-655.36z"}),E("path",{fill:"currentColor",d:"M694.044 621.227a109.227 109.227 0 1 0 0-218.454 109.227 109.227 0 0 0 0 218.454m0 72.817a182.044 182.044 0 1 1 0-364.088 182.044 182.044 0 0 1 0 364.088"})]))}}),_B=bB,wB=N({name:"Operation",__name:"operation",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M389.44 768a96.064 96.064 0 0 1 181.12 0H896v64H570.56a96.064 96.064 0 0 1-181.12 0H128v-64zm192-288a96.064 96.064 0 0 1 181.12 0H896v64H762.56a96.064 96.064 0 0 1-181.12 0H128v-64zm-320-288a96.064 96.064 0 0 1 181.12 0H896v64H442.56a96.064 96.064 0 0 1-181.12 0H128v-64z"})]))}}),yB=wB,xB=N({name:"Opportunity",__name:"opportunity",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M384 960v-64h192.064v64zm448-544a350.656 350.656 0 0 1-128.32 271.424C665.344 719.04 640 763.776 640 813.504V832H320v-14.336c0-48-19.392-95.36-57.216-124.992a351.552 351.552 0 0 1-128.448-344.256c25.344-136.448 133.888-248.128 269.76-276.48A352.384 352.384 0 0 1 832 416m-544 32c0-132.288 75.904-224 192-224v-64c-154.432 0-256 122.752-256 288z"})]))}}),kB=xB,CB=N({name:"Orange",__name:"orange",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M544 894.72a382.336 382.336 0 0 0 215.936-89.472L577.024 622.272c-10.24 6.016-21.248 10.688-33.024 13.696v258.688zm261.248-134.784A382.336 382.336 0 0 0 894.656 544H635.968c-3.008 11.776-7.68 22.848-13.696 33.024l182.976 182.912zM894.656 480a382.336 382.336 0 0 0-89.408-215.936L622.272 446.976c6.016 10.24 10.688 21.248 13.696 33.024h258.688zm-134.72-261.248A382.336 382.336 0 0 0 544 129.344v258.688c11.776 3.008 22.848 7.68 33.024 13.696zM480 129.344a382.336 382.336 0 0 0-215.936 89.408l182.912 182.976c10.24-6.016 21.248-10.688 33.024-13.696zm-261.248 134.72A382.336 382.336 0 0 0 129.344 480h258.688c3.008-11.776 7.68-22.848 13.696-33.024zM129.344 544a382.336 382.336 0 0 0 89.408 215.936l182.976-182.912A127.232 127.232 0 0 1 388.032 544zm134.72 261.248A382.336 382.336 0 0 0 480 894.656V635.968a127.232 127.232 0 0 1-33.024-13.696zM512 960a448 448 0 1 1 0-896 448 448 0 0 1 0 896m0-384a64 64 0 1 0 0-128 64 64 0 0 0 0 128"})]))}}),SB=CB,EB=N({name:"Paperclip",__name:"paperclip",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M602.496 240.448A192 192 0 1 1 874.048 512l-316.8 316.8A256 256 0 0 1 195.2 466.752L602.496 59.456l45.248 45.248L240.448 512A192 192 0 0 0 512 783.552l316.8-316.8a128 128 0 1 0-181.056-181.056L353.6 579.904a32 32 0 1 0 45.248 45.248l294.144-294.144 45.312 45.248L444.096 670.4a96 96 0 1 1-135.744-135.744l294.144-294.208z"})]))}}),TB=EB,$B=N({name:"PartlyCloudy",__name:"partly-cloudy",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M598.4 895.872H328.192a256 256 0 0 1-34.496-510.528A352 352 0 1 1 598.4 895.872m-271.36-64h272.256a288 288 0 1 0-248.512-417.664L335.04 445.44l-34.816 3.584a192 192 0 0 0 26.88 382.848z"}),E("path",{fill:"currentColor",d:"M139.84 501.888a256 256 0 1 1 417.856-277.12c-17.728 2.176-38.208 8.448-61.504 18.816A192 192 0 1 0 189.12 460.48a6003.84 6003.84 0 0 0-49.28 41.408z"})]))}}),MB=$B,AB=N({name:"Pear",__name:"pear",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M542.336 258.816a443.255 443.255 0 0 0-9.024 25.088 32 32 0 1 1-60.8-20.032l1.088-3.328a162.688 162.688 0 0 0-122.048 131.392l-17.088 102.72-20.736 15.36C256.192 552.704 224 610.88 224 672c0 120.576 126.4 224 288 224s288-103.424 288-224c0-61.12-32.192-119.296-89.728-161.92l-20.736-15.424-17.088-102.72a162.688 162.688 0 0 0-130.112-133.12zm-40.128-66.56c7.936-15.552 16.576-30.08 25.92-43.776 23.296-33.92 49.408-59.776 78.528-77.12a32 32 0 1 1 32.704 55.04c-20.544 12.224-40.064 31.552-58.432 58.304a316.608 316.608 0 0 0-9.792 15.104 226.688 226.688 0 0 1 164.48 181.568l12.8 77.248C819.456 511.36 864 587.392 864 672c0 159.04-157.568 288-352 288S160 831.04 160 672c0-84.608 44.608-160.64 115.584-213.376l12.8-77.248a226.624 226.624 0 0 1 213.76-189.184z"})]))}}),zB=AB,IB=N({name:"PhoneFilled",__name:"phone-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M199.232 125.568 90.624 379.008a32 32 0 0 0 6.784 35.2l512.384 512.384a32 32 0 0 0 35.2 6.784l253.44-108.608a32 32 0 0 0 10.048-52.032L769.6 633.92a32 32 0 0 0-36.928-5.952l-130.176 65.088-271.488-271.552 65.024-130.176a32 32 0 0 0-5.952-36.928L251.2 115.52a32 32 0 0 0-51.968 10.048z"})]))}}),OB=IB,NB=N({name:"Phone",__name:"phone",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M79.36 432.256 591.744 944.64a32 32 0 0 0 35.2 6.784l253.44-108.544a32 32 0 0 0 9.984-52.032l-153.856-153.92a32 32 0 0 0-36.928-6.016l-69.888 34.944L358.08 394.24l35.008-69.888a32 32 0 0 0-5.952-36.928L233.152 133.568a32 32 0 0 0-52.032 10.048L72.512 397.056a32 32 0 0 0 6.784 35.2zm60.48-29.952 81.536-190.08L325.568 316.48l-24.64 49.216-20.608 41.216 32.576 32.64 271.552 271.552 32.64 32.64 41.216-20.672 49.28-24.576 104.192 104.128-190.08 81.472L139.84 402.304zM512 320v-64a256 256 0 0 1 256 256h-64a192 192 0 0 0-192-192m0-192V64a448 448 0 0 1 448 448h-64a384 384 0 0 0-384-384"})]))}}),PB=NB,RB=N({name:"PictureFilled",__name:"picture-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M96 896a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h832a32 32 0 0 1 32 32v704a32 32 0 0 1-32 32zm315.52-228.48-68.928-68.928a32 32 0 0 0-45.248 0L128 768.064h778.688l-242.112-290.56a32 32 0 0 0-49.216 0L458.752 665.408a32 32 0 0 1-47.232 2.112M256 384a96 96 0 1 0 192.064-.064A96 96 0 0 0 256 384"})]))}}),H3=RB,LB=N({name:"PictureRounded",__name:"picture-rounded",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 128a384 384 0 1 0 0 768 384 384 0 0 0 0-768m0-64a448 448 0 1 1 0 896 448 448 0 0 1 0-896"}),E("path",{fill:"currentColor",d:"M640 288q64 0 64 64t-64 64q-64 0-64-64t64-64M214.656 790.656l-45.312-45.312 185.664-185.6a96 96 0 0 1 123.712-10.24l138.24 98.688a32 32 0 0 0 39.872-2.176L906.688 422.4l42.624 47.744L699.52 693.696a96 96 0 0 1-119.808 6.592l-138.24-98.752a32 32 0 0 0-41.152 3.456l-185.664 185.6z"})]))}}),BB=LB,VB=N({name:"Picture",__name:"picture",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M160 160v704h704V160zm-32-64h768a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H128a32 32 0 0 1-32-32V128a32 32 0 0 1 32-32"}),E("path",{fill:"currentColor",d:"M384 288q64 0 64 64t-64 64q-64 0-64-64t64-64M185.408 876.992l-50.816-38.912L350.72 556.032a96 96 0 0 1 134.592-17.856l1.856 1.472 122.88 99.136a32 32 0 0 0 44.992-4.864l216-269.888 49.92 39.936-215.808 269.824-.256.32a96 96 0 0 1-135.04 14.464l-122.88-99.072-.64-.512a32 32 0 0 0-44.8 5.952z"})]))}}),DB=VB,HB=N({name:"PieChart",__name:"pie-chart",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M448 68.48v64.832A384.128 384.128 0 0 0 512 896a384.128 384.128 0 0 0 378.688-320h64.768A448.128 448.128 0 0 1 64 512 448.128 448.128 0 0 1 448 68.48z"}),E("path",{fill:"currentColor",d:"M576 97.28V448h350.72A384.064 384.064 0 0 0 576 97.28zM512 64V33.152A448 448 0 0 1 990.848 512H512z"})]))}}),FB=HB,jB=N({name:"Place",__name:"place",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 512a192 192 0 1 0 0-384 192 192 0 0 0 0 384m0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512"}),E("path",{fill:"currentColor",d:"M512 512a32 32 0 0 1 32 32v256a32 32 0 1 1-64 0V544a32 32 0 0 1 32-32"}),E("path",{fill:"currentColor",d:"M384 649.088v64.96C269.76 732.352 192 771.904 192 800c0 37.696 139.904 96 320 96s320-58.304 320-96c0-28.16-77.76-67.648-192-85.952v-64.96C789.12 671.04 896 730.368 896 800c0 88.32-171.904 160-384 160s-384-71.68-384-160c0-69.696 106.88-128.96 256-150.912"})]))}}),KB=jB,UB=N({name:"Platform",__name:"platform",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M448 832v-64h128v64h192v64H256v-64zM128 704V128h768v576z"})]))}}),WB=UB,qB=N({name:"Plus",__name:"plus",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M480 480V128a32 32 0 0 1 64 0v352h352a32 32 0 1 1 0 64H544v352a32 32 0 1 1-64 0V544H128a32 32 0 0 1 0-64z"})]))}}),hh=qB,YB=N({name:"Pointer",__name:"pointer",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M511.552 128c-35.584 0-64.384 28.8-64.384 64.448v516.48L274.048 570.88a94.272 94.272 0 0 0-112.896-3.456 44.416 44.416 0 0 0-8.96 62.208L332.8 870.4A64 64 0 0 0 384 896h512V575.232a64 64 0 0 0-45.632-61.312l-205.952-61.76A96 96 0 0 1 576 360.192V192.448C576 156.8 547.2 128 511.552 128M359.04 556.8l24.128 19.2V192.448a128.448 128.448 0 1 1 256.832 0v167.744a32 32 0 0 0 22.784 30.656l206.016 61.76A128 128 0 0 1 960 575.232V896a64 64 0 0 1-64 64H384a128 128 0 0 1-102.4-51.2L101.056 668.032A108.416 108.416 0 0 1 128 512.512a158.272 158.272 0 0 1 185.984 8.32z"})]))}}),GB=YB,XB=N({name:"Position",__name:"position",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m249.6 417.088 319.744 43.072 39.168 310.272L845.12 178.88 249.6 417.088zm-129.024 47.168a32 32 0 0 1-7.68-61.44l777.792-311.04a32 32 0 0 1 41.6 41.6l-310.336 775.68a32 32 0 0 1-61.44-7.808L512 516.992l-391.424-52.736z"})]))}}),ZB=XB,JB=N({name:"Postcard",__name:"postcard",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M160 224a32 32 0 0 0-32 32v512a32 32 0 0 0 32 32h704a32 32 0 0 0 32-32V256a32 32 0 0 0-32-32zm0-64h704a96 96 0 0 1 96 96v512a96 96 0 0 1-96 96H160a96 96 0 0 1-96-96V256a96 96 0 0 1 96-96"}),E("path",{fill:"currentColor",d:"M704 320a64 64 0 1 1 0 128 64 64 0 0 1 0-128M288 448h256q32 0 32 32t-32 32H288q-32 0-32-32t32-32m0 128h256q32 0 32 32t-32 32H288q-32 0-32-32t32-32"})]))}}),QB=JB,eV=N({name:"Pouring",__name:"pouring",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m739.328 291.328-35.2-6.592-12.8-33.408a192.064 192.064 0 0 0-365.952 23.232l-9.92 40.896-41.472 7.04a176.32 176.32 0 0 0-146.24 173.568c0 97.28 78.72 175.936 175.808 175.936h400a192 192 0 0 0 35.776-380.672zM959.552 480a256 256 0 0 1-256 256h-400A239.808 239.808 0 0 1 63.744 496.192a240.32 240.32 0 0 1 199.488-236.8 256.128 256.128 0 0 1 487.872-30.976A256.064 256.064 0 0 1 959.552 480M224 800a32 32 0 0 1 32 32v96a32 32 0 1 1-64 0v-96a32 32 0 0 1 32-32m192 0a32 32 0 0 1 32 32v96a32 32 0 1 1-64 0v-96a32 32 0 0 1 32-32m192 0a32 32 0 0 1 32 32v96a32 32 0 1 1-64 0v-96a32 32 0 0 1 32-32m192 0a32 32 0 0 1 32 32v96a32 32 0 1 1-64 0v-96a32 32 0 0 1 32-32"})]))}}),tV=eV,oV=N({name:"Present",__name:"present",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M480 896V640H192v-64h288V320H192v576zm64 0h288V320H544v256h288v64H544zM128 256h768v672a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32z"}),E("path",{fill:"currentColor",d:"M96 256h832q32 0 32 32t-32 32H96q-32 0-32-32t32-32"}),E("path",{fill:"currentColor",d:"M416 256a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256"}),E("path",{fill:"currentColor",d:"M608 256a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256"})]))}}),rV=oV,lV=N({name:"PriceTag",__name:"price-tag",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M224 318.336V896h576V318.336L552.512 115.84a64 64 0 0 0-81.024 0zM593.024 66.304l259.2 212.096A32 32 0 0 1 864 303.168V928a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32V303.168a32 32 0 0 1 11.712-24.768l259.2-212.096a128 128 0 0 1 162.112 0z"}),E("path",{fill:"currentColor",d:"M512 448a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256"})]))}}),nV=lV,aV=N({name:"Printer",__name:"printer",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M256 768H105.024c-14.272 0-19.456-1.472-24.64-4.288a29.056 29.056 0 0 1-12.16-12.096C65.536 746.432 64 741.248 64 727.04V379.072c0-42.816 4.48-58.304 12.8-73.984 8.384-15.616 20.672-27.904 36.288-36.288 15.68-8.32 31.168-12.8 73.984-12.8H256V64h512v192h68.928c42.816 0 58.304 4.48 73.984 12.8 15.616 8.384 27.904 20.672 36.288 36.288 8.32 15.68 12.8 31.168 12.8 73.984v347.904c0 14.272-1.472 19.456-4.288 24.64a29.056 29.056 0 0 1-12.096 12.16c-5.184 2.752-10.368 4.224-24.64 4.224H768v192H256zm64-192v320h384V576zm-64 128V512h512v192h128V379.072c0-29.376-1.408-36.48-5.248-43.776a23.296 23.296 0 0 0-10.048-10.048c-7.232-3.84-14.4-5.248-43.776-5.248H187.072c-29.376 0-36.48 1.408-43.776 5.248a23.296 23.296 0 0 0-10.048 10.048c-3.84 7.232-5.248 14.4-5.248 43.776V704zm64-448h384V128H320zm-64 128h64v64h-64zm128 0h64v64h-64z"})]))}}),iV=aV,sV=N({name:"Promotion",__name:"promotion",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m64 448 832-320-128 704-446.08-243.328L832 192 242.816 545.472zm256 512V657.024L512 768z"})]))}}),cV=sV,uV=N({name:"QuartzWatch",__name:"quartz-watch",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M422.02 602.01v-.03c-6.68-5.99-14.35-8.83-23.01-8.51-8.67.32-16.17 3.66-22.5 10.02-6.33 6.36-9.5 13.7-9.5 22.02s3 15.82 8.99 22.5c8.68 8.68 19.02 11.35 31.01 8s19.49-10.85 22.5-22.5c3.01-11.65.51-22.15-7.49-31.49zM384 512c0-9.35-3-17.02-8.99-23.01-6-5.99-13.66-8.99-23.01-8.99-9.35 0-17.02 3-23.01 8.99-5.99 6-8.99 13.66-8.99 23.01s3 17.02 8.99 23.01c6 5.99 13.66 8.99 23.01 8.99 9.35 0 17.02-3 23.01-8.99 5.99-6 8.99-13.67 8.99-23.01m6.53-82.49c11.65 3.01 22.15.51 31.49-7.49h.04c5.99-6.68 8.83-14.34 8.51-23.01-.32-8.67-3.66-16.16-10.02-22.5-6.36-6.33-13.7-9.5-22.02-9.5s-15.82 3-22.5 8.99c-8.68 8.69-11.35 19.02-8 31.01 3.35 11.99 10.85 19.49 22.5 22.5zm242.94 0c11.67-3.03 19.01-10.37 22.02-22.02 3.01-11.65.51-22.15-7.49-31.49h.01c-6.68-5.99-14.18-8.99-22.5-8.99s-15.66 3.16-22.02 9.5c-6.36 6.34-9.7 13.84-10.02 22.5-.32 8.66 2.52 16.33 8.51 23.01 9.32 8.02 19.82 10.52 31.49 7.49M512 640c-9.35 0-17.02 3-23.01 8.99-5.99 6-8.99 13.66-8.99 23.01s3 17.02 8.99 23.01c6 5.99 13.67 8.99 23.01 8.99 9.35 0 17.02-3 23.01-8.99 5.99-6 8.99-13.66 8.99-23.01s-3-17.02-8.99-23.01c-6-5.99-13.66-8.99-23.01-8.99m183.01-151.01c-6-5.99-13.66-8.99-23.01-8.99s-17.02 3-23.01 8.99c-5.99 6-8.99 13.66-8.99 23.01s3 17.02 8.99 23.01c6 5.99 13.66 8.99 23.01 8.99s17.02-3 23.01-8.99c5.99-6 8.99-13.67 8.99-23.01 0-9.35-3-17.02-8.99-23.01"}),E("path",{fill:"currentColor",d:"M832 512c-2-90.67-33.17-166.17-93.5-226.5-20.43-20.42-42.6-37.49-66.5-51.23V64H352v170.26c-23.9 13.74-46.07 30.81-66.5 51.24-60.33 60.33-91.49 135.83-93.5 226.5 2 90.67 33.17 166.17 93.5 226.5 20.43 20.43 42.6 37.5 66.5 51.24V960h320V789.74c23.9-13.74 46.07-30.81 66.5-51.24 60.33-60.34 91.49-135.83 93.5-226.5M416 128h192v78.69c-29.85-9.03-61.85-13.93-96-14.69-34.15.75-66.15 5.65-96 14.68zm192 768H416v-78.68c29.85 9.03 61.85 13.93 96 14.68 34.15-.75 66.15-5.65 96-14.68zm-96-128c-72.66-2.01-132.99-27.01-180.99-75.01S258.01 584.66 256 512c2.01-72.66 27.01-132.99 75.01-180.99S439.34 258.01 512 256c72.66 2.01 132.99 27.01 180.99 75.01S765.99 439.34 768 512c-2.01 72.66-27.01 132.99-75.01 180.99S584.66 765.99 512 768"}),E("path",{fill:"currentColor",d:"M512 320c-9.35 0-17.02 3-23.01 8.99-5.99 6-8.99 13.66-8.99 23.01 0 9.35 3 17.02 8.99 23.01 6 5.99 13.67 8.99 23.01 8.99 9.35 0 17.02-3 23.01-8.99 5.99-6 8.99-13.66 8.99-23.01 0-9.35-3-17.02-8.99-23.01-6-5.99-13.66-8.99-23.01-8.99m112.99 273.5c-8.66-.32-16.33 2.52-23.01 8.51-7.98 9.32-10.48 19.82-7.49 31.49s10.49 19.17 22.5 22.5 22.35.66 31.01-8v.04c5.99-6.68 8.99-14.18 8.99-22.5s-3.16-15.66-9.5-22.02-13.84-9.7-22.5-10.02"})]))}}),dV=uV,pV=N({name:"QuestionFilled",__name:"question-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m23.744 191.488c-52.096 0-92.928 14.784-123.2 44.352-30.976 29.568-45.76 70.4-45.76 122.496h80.256c0-29.568 5.632-52.8 17.6-68.992 13.376-19.712 35.2-28.864 66.176-28.864 23.936 0 42.944 6.336 56.32 19.712 12.672 13.376 19.712 31.68 19.712 54.912 0 17.6-6.336 34.496-19.008 49.984l-8.448 9.856c-45.76 40.832-73.216 70.4-82.368 89.408-9.856 19.008-14.08 42.24-14.08 68.992v9.856h80.96v-9.856c0-16.896 3.52-31.68 10.56-45.76 6.336-12.672 15.488-24.64 28.16-35.2 33.792-29.568 54.208-48.576 60.544-55.616 16.896-22.528 26.048-51.392 26.048-86.592 0-42.944-14.08-76.736-42.24-101.376-28.16-25.344-65.472-37.312-111.232-37.312zm-12.672 406.208a54.272 54.272 0 0 0-38.72 14.784 49.408 49.408 0 0 0-15.488 38.016c0 15.488 4.928 28.16 15.488 38.016A54.848 54.848 0 0 0 523.072 768c15.488 0 28.16-4.928 38.72-14.784a51.52 51.52 0 0 0 16.192-38.72 51.968 51.968 0 0 0-15.488-38.016 55.936 55.936 0 0 0-39.424-14.784z"})]))}}),F3=pV,fV=N({name:"Rank",__name:"rank",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m186.496 544 41.408 41.344a32 32 0 1 1-45.248 45.312l-96-96a32 32 0 0 1 0-45.312l96-96a32 32 0 1 1 45.248 45.312L186.496 480h290.816V186.432l-41.472 41.472a32 32 0 1 1-45.248-45.184l96-96.128a32 32 0 0 1 45.312 0l96 96.064a32 32 0 0 1-45.248 45.184l-41.344-41.28V480H832l-41.344-41.344a32 32 0 0 1 45.248-45.312l96 96a32 32 0 0 1 0 45.312l-96 96a32 32 0 0 1-45.248-45.312L832 544H541.312v293.44l41.344-41.28a32 32 0 1 1 45.248 45.248l-96 96a32 32 0 0 1-45.312 0l-96-96a32 32 0 1 1 45.312-45.248l41.408 41.408V544H186.496z"})]))}}),hV=fV,vV=N({name:"ReadingLamp",__name:"reading-lamp",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M352 896h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32m-44.672-768-99.52 448h608.384l-99.52-448zm-25.6-64h460.608a32 32 0 0 1 31.232 25.088l113.792 512A32 32 0 0 1 856.128 640H167.872a32 32 0 0 1-31.232-38.912l113.792-512A32 32 0 0 1 281.664 64z"}),E("path",{fill:"currentColor",d:"M672 576q32 0 32 32v128q0 32-32 32t-32-32V608q0-32 32-32m-192-.064h64V960h-64z"})]))}}),mV=vV,gV=N({name:"Reading",__name:"reading",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m512 863.36 384-54.848v-638.72L525.568 222.72a96 96 0 0 1-27.136 0L128 169.792v638.72zM137.024 106.432l370.432 52.928a32 32 0 0 0 9.088 0l370.432-52.928A64 64 0 0 1 960 169.792v638.72a64 64 0 0 1-54.976 63.36l-388.48 55.488a32 32 0 0 1-9.088 0l-388.48-55.488A64 64 0 0 1 64 808.512v-638.72a64 64 0 0 1 73.024-63.36z"}),E("path",{fill:"currentColor",d:"M480 192h64v704h-64z"})]))}}),bV=gV,_V=N({name:"RefreshLeft",__name:"refresh-left",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M289.088 296.704h92.992a32 32 0 0 1 0 64H232.96a32 32 0 0 1-32-32V179.712a32 32 0 0 1 64 0v50.56a384 384 0 0 1 643.84 282.88 384 384 0 0 1-383.936 384 384 384 0 0 1-384-384h64a320 320 0 1 0 640 0 320 320 0 0 0-555.712-216.448z"})]))}}),j3=_V,wV=N({name:"RefreshRight",__name:"refresh-right",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M784.512 230.272v-50.56a32 32 0 1 1 64 0v149.056a32 32 0 0 1-32 32H667.52a32 32 0 1 1 0-64h92.992A320 320 0 1 0 524.8 833.152a320 320 0 0 0 320-320h64a384 384 0 0 1-384 384 384 384 0 0 1-384-384 384 384 0 0 1 643.712-282.88z"})]))}}),K3=wV,yV=N({name:"Refresh",__name:"refresh",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M771.776 794.88A384 384 0 0 1 128 512h64a320 320 0 0 0 555.712 216.448H654.72a32 32 0 1 1 0-64h149.056a32 32 0 0 1 32 32v148.928a32 32 0 1 1-64 0v-50.56zM276.288 295.616h92.992a32 32 0 0 1 0 64H220.16a32 32 0 0 1-32-32V178.56a32 32 0 0 1 64 0v50.56A384 384 0 0 1 896.128 512h-64a320 320 0 0 0-555.776-216.384z"})]))}}),xV=yV,kV=N({name:"Refrigerator",__name:"refrigerator",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M256 448h512V160a32 32 0 0 0-32-32H288a32 32 0 0 0-32 32zm0 64v352a32 32 0 0 0 32 32h448a32 32 0 0 0 32-32V512zm32-448h448a96 96 0 0 1 96 96v704a96 96 0 0 1-96 96H288a96 96 0 0 1-96-96V160a96 96 0 0 1 96-96m32 224h64v96h-64zm0 288h64v96h-64z"})]))}}),CV=kV,SV=N({name:"RemoveFilled",__name:"remove-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896M288 512a38.4 38.4 0 0 0 38.4 38.4h371.2a38.4 38.4 0 0 0 0-76.8H326.4A38.4 38.4 0 0 0 288 512"})]))}}),EV=SV,TV=N({name:"Remove",__name:"remove",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M352 480h320a32 32 0 1 1 0 64H352a32 32 0 0 1 0-64"}),E("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}}),$V=TV,MV=N({name:"Right",__name:"right",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M754.752 480H160a32 32 0 1 0 0 64h594.752L521.344 777.344a32 32 0 0 0 45.312 45.312l288-288a32 32 0 0 0 0-45.312l-288-288a32 32 0 1 0-45.312 45.312z"})]))}}),AV=MV,zV=N({name:"ScaleToOriginal",__name:"scale-to-original",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M813.176 180.706a60.235 60.235 0 0 1 60.236 60.235v481.883a60.235 60.235 0 0 1-60.236 60.235H210.824a60.235 60.235 0 0 1-60.236-60.235V240.94a60.235 60.235 0 0 1 60.236-60.235h602.352zm0-60.235H210.824A120.47 120.47 0 0 0 90.353 240.94v481.883a120.47 120.47 0 0 0 120.47 120.47h602.353a120.47 120.47 0 0 0 120.471-120.47V240.94a120.47 120.47 0 0 0-120.47-120.47zm-120.47 180.705a30.118 30.118 0 0 0-30.118 30.118v301.177a30.118 30.118 0 0 0 60.236 0V331.294a30.118 30.118 0 0 0-30.118-30.118zm-361.412 0a30.118 30.118 0 0 0-30.118 30.118v301.177a30.118 30.118 0 1 0 60.236 0V331.294a30.118 30.118 0 0 0-30.118-30.118M512 361.412a30.118 30.118 0 0 0-30.118 30.117v30.118a30.118 30.118 0 0 0 60.236 0V391.53A30.118 30.118 0 0 0 512 361.412M512 512a30.118 30.118 0 0 0-30.118 30.118v30.117a30.118 30.118 0 0 0 60.236 0v-30.117A30.118 30.118 0 0 0 512 512"})]))}}),U3=zV,IV=N({name:"School",__name:"school",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M224 128v704h576V128zm-32-64h640a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32"}),E("path",{fill:"currentColor",d:"M64 832h896v64H64zm256-640h128v96H320z"}),E("path",{fill:"currentColor",d:"M384 832h256v-64a128 128 0 1 0-256 0zm128-256a192 192 0 0 1 192 192v128H320V768a192 192 0 0 1 192-192M320 384h128v96H320zm256-192h128v96H576zm0 192h128v96H576z"})]))}}),OV=IV,NV=N({name:"Scissor",__name:"scissor",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m512.064 578.368-106.88 152.768a160 160 0 1 1-23.36-78.208L472.96 522.56 196.864 128.256a32 32 0 1 1 52.48-36.736l393.024 561.344a160 160 0 1 1-23.36 78.208l-106.88-152.704zm54.4-189.248 208.384-297.6a32 32 0 0 1 52.48 36.736l-221.76 316.672-39.04-55.808zm-376.32 425.856a96 96 0 1 0 110.144-157.248 96 96 0 0 0-110.08 157.248zm643.84 0a96 96 0 1 0-110.08-157.248 96 96 0 0 0 110.08 157.248"})]))}}),PV=NV,RV=N({name:"Search",__name:"search",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704"})]))}}),W3=RV,LV=N({name:"Select",__name:"select",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M77.248 415.04a64 64 0 0 1 90.496 0l226.304 226.304L846.528 188.8a64 64 0 1 1 90.56 90.496l-543.04 543.04-316.8-316.8a64 64 0 0 1 0-90.496z"})]))}}),BV=LV,VV=N({name:"Sell",__name:"sell",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M704 288h131.072a32 32 0 0 1 31.808 28.8L886.4 512h-64.384l-16-160H704v96a32 32 0 1 1-64 0v-96H384v96a32 32 0 0 1-64 0v-96H217.92l-51.2 512H512v64H131.328a32 32 0 0 1-31.808-35.2l57.6-576a32 32 0 0 1 31.808-28.8H320v-22.336C320 154.688 405.504 64 512 64s192 90.688 192 201.664v22.4zm-64 0v-22.336C640 189.248 582.272 128 512 128c-70.272 0-128 61.248-128 137.664v22.4h256zm201.408 483.84L768 698.496V928a32 32 0 1 1-64 0V698.496l-73.344 73.344a32 32 0 1 1-45.248-45.248l128-128a32 32 0 0 1 45.248 0l128 128a32 32 0 1 1-45.248 45.248z"})]))}}),DV=VV,HV=N({name:"SemiSelect",__name:"semi-select",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 448h768q64 0 64 64t-64 64H128q-64 0-64-64t64-64"})]))}}),FV=HV,jV=N({name:"Service",__name:"service",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M864 409.6a192 192 0 0 1-37.888 349.44A256.064 256.064 0 0 1 576 960h-96a32 32 0 1 1 0-64h96a192.064 192.064 0 0 0 181.12-128H736a32 32 0 0 1-32-32V416a32 32 0 0 1 32-32h32c10.368 0 20.544.832 30.528 2.432a288 288 0 0 0-573.056 0A193.235 193.235 0 0 1 256 384h32a32 32 0 0 1 32 32v320a32 32 0 0 1-32 32h-32a192 192 0 0 1-96-358.4 352 352 0 0 1 704 0M256 448a128 128 0 1 0 0 256zm640 128a128 128 0 0 0-128-128v256a128 128 0 0 0 128-128"})]))}}),KV=jV,UV=N({name:"SetUp",__name:"set-up",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M224 160a64 64 0 0 0-64 64v576a64 64 0 0 0 64 64h576a64 64 0 0 0 64-64V224a64 64 0 0 0-64-64zm0-64h576a128 128 0 0 1 128 128v576a128 128 0 0 1-128 128H224A128 128 0 0 1 96 800V224A128 128 0 0 1 224 96"}),E("path",{fill:"currentColor",d:"M384 416a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256"}),E("path",{fill:"currentColor",d:"M480 320h256q32 0 32 32t-32 32H480q-32 0-32-32t32-32m160 416a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256"}),E("path",{fill:"currentColor",d:"M288 640h256q32 0 32 32t-32 32H288q-32 0-32-32t32-32"})]))}}),WV=UV,qV=N({name:"Setting",__name:"setting",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M600.704 64a32 32 0 0 1 30.464 22.208l35.2 109.376c14.784 7.232 28.928 15.36 42.432 24.512l112.384-24.192a32 32 0 0 1 34.432 15.36L944.32 364.8a32 32 0 0 1-4.032 37.504l-77.12 85.12a357.12 357.12 0 0 1 0 49.024l77.12 85.248a32 32 0 0 1 4.032 37.504l-88.704 153.6a32 32 0 0 1-34.432 15.296L708.8 803.904c-13.44 9.088-27.648 17.28-42.368 24.512l-35.264 109.376A32 32 0 0 1 600.704 960H423.296a32 32 0 0 1-30.464-22.208L357.696 828.48a351.616 351.616 0 0 1-42.56-24.64l-112.32 24.256a32 32 0 0 1-34.432-15.36L79.68 659.2a32 32 0 0 1 4.032-37.504l77.12-85.248a357.12 357.12 0 0 1 0-48.896l-77.12-85.248A32 32 0 0 1 79.68 364.8l88.704-153.6a32 32 0 0 1 34.432-15.296l112.32 24.256c13.568-9.152 27.776-17.408 42.56-24.64l35.2-109.312A32 32 0 0 1 423.232 64H600.64zm-23.424 64H446.72l-36.352 113.088-24.512 11.968a294.113 294.113 0 0 0-34.816 20.096l-22.656 15.36-116.224-25.088-65.28 113.152 79.68 88.192-1.92 27.136a293.12 293.12 0 0 0 0 40.192l1.92 27.136-79.808 88.192 65.344 113.152 116.224-25.024 22.656 15.296a294.113 294.113 0 0 0 34.816 20.096l24.512 11.968L446.72 896h130.688l36.48-113.152 24.448-11.904a288.282 288.282 0 0 0 34.752-20.096l22.592-15.296 116.288 25.024 65.28-113.152-79.744-88.192 1.92-27.136a293.12 293.12 0 0 0 0-40.256l-1.92-27.136 79.808-88.128-65.344-113.152-116.288 24.96-22.592-15.232a287.616 287.616 0 0 0-34.752-20.096l-24.448-11.904L577.344 128zM512 320a192 192 0 1 1 0 384 192 192 0 0 1 0-384m0 64a128 128 0 1 0 0 256 128 128 0 0 0 0-256"})]))}}),YV=qV,GV=N({name:"Share",__name:"share",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m679.872 348.8-301.76 188.608a127.808 127.808 0 0 1 5.12 52.16l279.936 104.96a128 128 0 1 1-22.464 59.904l-279.872-104.96a128 128 0 1 1-16.64-166.272l301.696-188.608a128 128 0 1 1 33.92 54.272z"})]))}}),XV=GV,ZV=N({name:"Ship",__name:"ship",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 386.88V448h405.568a32 32 0 0 1 30.72 40.768l-76.48 267.968A192 192 0 0 1 687.168 896H336.832a192 192 0 0 1-184.64-139.264L75.648 488.768A32 32 0 0 1 106.368 448H448V117.888a32 32 0 0 1 47.36-28.096l13.888 7.616L512 96v2.88l231.68 126.4a32 32 0 0 1-2.048 57.216zm0-70.272 144.768-65.792L512 171.84zM512 512H148.864l18.24 64H856.96l18.24-64zM185.408 640l28.352 99.2A128 128 0 0 0 336.832 832h350.336a128 128 0 0 0 123.072-92.8l28.352-99.2H185.408"})]))}}),JV=ZV,QV=N({name:"Shop",__name:"shop",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M704 704h64v192H256V704h64v64h384zm188.544-152.192C894.528 559.616 896 567.616 896 576a96 96 0 1 1-192 0 96 96 0 1 1-192 0 96 96 0 1 1-192 0 96 96 0 1 1-192 0c0-8.384 1.408-16.384 3.392-24.192L192 128h640z"})]))}}),eD=QV,tD=N({name:"ShoppingBag",__name:"shopping-bag",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M704 320v96a32 32 0 0 1-32 32h-32V320H384v128h-32a32 32 0 0 1-32-32v-96H192v576h640V320zm-384-64a192 192 0 1 1 384 0h160a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V288a32 32 0 0 1 32-32zm64 0h256a128 128 0 1 0-256 0"}),E("path",{fill:"currentColor",d:"M192 704h640v64H192z"})]))}}),oD=tD,rD=N({name:"ShoppingCartFull",__name:"shopping-cart-full",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M432 928a48 48 0 1 1 0-96 48 48 0 0 1 0 96m320 0a48 48 0 1 1 0-96 48 48 0 0 1 0 96M96 128a32 32 0 0 1 0-64h160a32 32 0 0 1 31.36 25.728L320.64 256H928a32 32 0 0 1 31.296 38.72l-96 448A32 32 0 0 1 832 768H384a32 32 0 0 1-31.36-25.728L229.76 128zm314.24 576h395.904l82.304-384H333.44l76.8 384z"}),E("path",{fill:"currentColor",d:"M699.648 256 608 145.984 516.352 256h183.296zm-140.8-151.04a64 64 0 0 1 98.304 0L836.352 320H379.648l179.2-215.04"})]))}}),lD=rD,nD=N({name:"ShoppingCart",__name:"shopping-cart",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M432 928a48 48 0 1 1 0-96 48 48 0 0 1 0 96m320 0a48 48 0 1 1 0-96 48 48 0 0 1 0 96M96 128a32 32 0 0 1 0-64h160a32 32 0 0 1 31.36 25.728L320.64 256H928a32 32 0 0 1 31.296 38.72l-96 448A32 32 0 0 1 832 768H384a32 32 0 0 1-31.36-25.728L229.76 128zm314.24 576h395.904l82.304-384H333.44l76.8 384z"})]))}}),aD=nD,iD=N({name:"ShoppingTrolley",__name:"shopping-trolley",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M368 833c-13.3 0-24.5 4.5-33.5 13.5S321 866.7 321 880s4.5 24.5 13.5 33.5 20.2 13.8 33.5 14.5c13.3-.7 24.5-5.5 33.5-14.5S415 893.3 415 880s-4.5-24.5-13.5-33.5S381.3 833 368 833m439-193c7.4 0 13.8-2.2 19.5-6.5S836 623.3 838 616l112-448c2-10-.2-19.2-6.5-27.5S929 128 919 128H96c-9.3 0-17 3-23 9s-9 13.7-9 23 3 17 9 23 13.7 9 23 9h96v576h672c9.3 0 17-3 23-9s9-13.7 9-23-3-17-9-23-13.7-9-23-9H256v-64zM256 192h622l-96 384H256zm432 641c-13.3 0-24.5 4.5-33.5 13.5S641 866.7 641 880s4.5 24.5 13.5 33.5 20.2 13.8 33.5 14.5c13.3-.7 24.5-5.5 33.5-14.5S735 893.3 735 880s-4.5-24.5-13.5-33.5S701.3 833 688 833"})]))}}),sD=iD,cD=N({name:"Smoking",__name:"smoking",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M256 576v128h640V576zm-32-64h704a32 32 0 0 1 32 32v192a32 32 0 0 1-32 32H224a32 32 0 0 1-32-32V544a32 32 0 0 1 32-32"}),E("path",{fill:"currentColor",d:"M704 576h64v128h-64zM256 64h64v320h-64zM128 192h64v192h-64zM64 512h64v256H64z"})]))}}),uD=cD,dD=N({name:"Soccer",__name:"soccer",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M418.496 871.04 152.256 604.8c-16.512 94.016-2.368 178.624 42.944 224 44.928 44.928 129.344 58.752 223.296 42.24m72.32-18.176a573.056 573.056 0 0 0 224.832-137.216 573.12 573.12 0 0 0 137.216-224.832L533.888 171.84a578.56 578.56 0 0 0-227.52 138.496A567.68 567.68 0 0 0 170.432 532.48l320.384 320.384zM871.04 418.496c16.512-93.952 2.688-178.368-42.24-223.296-44.544-44.544-128.704-58.048-222.592-41.536zM149.952 874.048c-112.96-112.96-88.832-408.96 111.168-608.96C461.056 65.152 760.96 36.928 874.048 149.952c113.024 113.024 86.784 411.008-113.152 610.944-199.936 199.936-497.92 226.112-610.944 113.152m452.544-497.792 22.656-22.656a32 32 0 0 1 45.248 45.248l-22.656 22.656 45.248 45.248A32 32 0 1 1 647.744 512l-45.248-45.248L557.248 512l45.248 45.248a32 32 0 1 1-45.248 45.248L512 557.248l-45.248 45.248L512 647.744a32 32 0 1 1-45.248 45.248l-45.248-45.248-22.656 22.656a32 32 0 1 1-45.248-45.248l22.656-22.656-45.248-45.248A32 32 0 1 1 376.256 512l45.248 45.248L466.752 512l-45.248-45.248a32 32 0 1 1 45.248-45.248L512 466.752l45.248-45.248L512 376.256a32 32 0 0 1 45.248-45.248l45.248 45.248z"})]))}}),pD=dD,fD=N({name:"SoldOut",__name:"sold-out",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M704 288h131.072a32 32 0 0 1 31.808 28.8L886.4 512h-64.384l-16-160H704v96a32 32 0 1 1-64 0v-96H384v96a32 32 0 0 1-64 0v-96H217.92l-51.2 512H512v64H131.328a32 32 0 0 1-31.808-35.2l57.6-576a32 32 0 0 1 31.808-28.8H320v-22.336C320 154.688 405.504 64 512 64s192 90.688 192 201.664v22.4zm-64 0v-22.336C640 189.248 582.272 128 512 128c-70.272 0-128 61.248-128 137.664v22.4h256zm201.408 476.16a32 32 0 1 1 45.248 45.184l-128 128a32 32 0 0 1-45.248 0l-128-128a32 32 0 1 1 45.248-45.248L704 837.504V608a32 32 0 1 1 64 0v229.504l73.408-73.408z"})]))}}),hD=fD,vD=N({name:"SortDown",__name:"sort-down",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M576 96v709.568L333.312 562.816A32 32 0 1 0 288 608l297.408 297.344A32 32 0 0 0 640 882.688V96a32 32 0 0 0-64 0"})]))}}),q3=vD,mD=N({name:"SortUp",__name:"sort-up",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M384 141.248V928a32 32 0 1 0 64 0V218.56l242.688 242.688A32 32 0 1 0 736 416L438.592 118.656A32 32 0 0 0 384 141.248"})]))}}),Y3=mD,gD=N({name:"Sort",__name:"sort",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M384 96a32 32 0 0 1 64 0v786.752a32 32 0 0 1-54.592 22.656L95.936 608a32 32 0 0 1 0-45.312h.128a32 32 0 0 1 45.184 0L384 805.632zm192 45.248a32 32 0 0 1 54.592-22.592L928.064 416a32 32 0 0 1 0 45.312h-.128a32 32 0 0 1-45.184 0L640 218.496V928a32 32 0 1 1-64 0V141.248z"})]))}}),bD=gD,_D=N({name:"Stamp",__name:"stamp",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M624 475.968V640h144a128 128 0 0 1 128 128H128a128 128 0 0 1 128-128h144V475.968a192 192 0 1 1 224 0M128 896v-64h768v64z"})]))}}),wD=_D,yD=N({name:"StarFilled",__name:"star-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M283.84 867.84 512 747.776l228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72z"})]))}}),vc=yD,xD=N({name:"Star",__name:"star",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m512 747.84 228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72zM313.6 924.48a70.4 70.4 0 0 1-102.144-74.24l37.888-220.928L88.96 472.96A70.4 70.4 0 0 1 128 352.896l221.76-32.256 99.2-200.96a70.4 70.4 0 0 1 126.208 0l99.2 200.96 221.824 32.256a70.4 70.4 0 0 1 39.04 120.064L774.72 629.376l37.888 220.928a70.4 70.4 0 0 1-102.144 74.24L512 820.096l-198.4 104.32z"})]))}}),G3=xD,kD=N({name:"Stopwatch",__name:"stopwatch",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),E("path",{fill:"currentColor",d:"M672 234.88c-39.168 174.464-80 298.624-122.688 372.48-64 110.848-202.624 30.848-138.624-80C453.376 453.44 540.48 355.968 672 234.816z"})]))}}),CD=kD,SD=N({name:"SuccessFilled",__name:"success-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.272 38.272 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"})]))}}),vh=SD,ED=N({name:"Sugar",__name:"sugar",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m801.728 349.184 4.48 4.48a128 128 0 0 1 0 180.992L534.656 806.144a128 128 0 0 1-181.056 0l-4.48-4.48-19.392 109.696a64 64 0 0 1-108.288 34.176L78.464 802.56a64 64 0 0 1 34.176-108.288l109.76-19.328-4.544-4.544a128 128 0 0 1 0-181.056l271.488-271.488a128 128 0 0 1 181.056 0l4.48 4.48 19.392-109.504a64 64 0 0 1 108.352-34.048l142.592 143.04a64 64 0 0 1-34.24 108.16l-109.248 19.2zm-548.8 198.72h447.168v2.24l60.8-60.8a63.808 63.808 0 0 0 18.752-44.416h-426.88l-89.664 89.728a64.064 64.064 0 0 0-10.24 13.248zm0 64c2.752 4.736 6.144 9.152 10.176 13.248l135.744 135.744a64 64 0 0 0 90.496 0L638.4 611.904zm490.048-230.976L625.152 263.104a64 64 0 0 0-90.496 0L416.768 380.928zM123.712 757.312l142.976 142.976 24.32-137.6a25.6 25.6 0 0 0-29.696-29.632l-137.6 24.256zm633.6-633.344-24.32 137.472a25.6 25.6 0 0 0 29.632 29.632l137.28-24.064-142.656-143.04z"})]))}}),TD=ED,$D=N({name:"SuitcaseLine",__name:"suitcase-line",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M922.5 229.5c-24.32-24.34-54.49-36.84-90.5-37.5H704v-64c-.68-17.98-7.02-32.98-19.01-44.99S658.01 64.66 640 64H384c-17.98.68-32.98 7.02-44.99 19.01S320.66 110 320 128v64H192c-35.99.68-66.16 13.18-90.5 37.5C77.16 253.82 64.66 283.99 64 320v448c.68 35.99 13.18 66.16 37.5 90.5s54.49 36.84 90.5 37.5h640c35.99-.68 66.16-13.18 90.5-37.5s36.84-54.49 37.5-90.5V320c-.68-35.99-13.18-66.16-37.5-90.5M384 128h256v64H384zM256 832h-64c-17.98-.68-32.98-7.02-44.99-19.01S128.66 786.01 128 768V448h128zm448 0H320V448h384zm192-64c-.68 17.98-7.02 32.98-19.01 44.99S850.01 831.34 832 832h-64V448h128zm0-384H128v-64c.69-17.98 7.02-32.98 19.01-44.99S173.99 256.66 192 256h640c17.98.69 32.98 7.02 44.99 19.01S895.34 301.99 896 320z"})]))}}),MD=$D,AD=N({name:"Suitcase",__name:"suitcase",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 384h768v-64a64 64 0 0 0-64-64H192a64 64 0 0 0-64 64zm0 64v320a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V448zm64-256h640a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H192A128 128 0 0 1 64 768V320a128 128 0 0 1 128-128"}),E("path",{fill:"currentColor",d:"M384 128v64h256v-64zm0-64h256a64 64 0 0 1 64 64v64a64 64 0 0 1-64 64H384a64 64 0 0 1-64-64v-64a64 64 0 0 1 64-64"})]))}}),zD=AD,ID=N({name:"Sunny",__name:"sunny",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 704a192 192 0 1 0 0-384 192 192 0 0 0 0 384m0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512m0-704a32 32 0 0 1 32 32v64a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 768a32 32 0 0 1 32 32v64a32 32 0 1 1-64 0v-64a32 32 0 0 1 32-32M195.2 195.2a32 32 0 0 1 45.248 0l45.248 45.248a32 32 0 1 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248zm543.104 543.104a32 32 0 0 1 45.248 0l45.248 45.248a32 32 0 0 1-45.248 45.248l-45.248-45.248a32 32 0 0 1 0-45.248M64 512a32 32 0 0 1 32-32h64a32 32 0 0 1 0 64H96a32 32 0 0 1-32-32m768 0a32 32 0 0 1 32-32h64a32 32 0 1 1 0 64h-64a32 32 0 0 1-32-32M195.2 828.8a32 32 0 0 1 0-45.248l45.248-45.248a32 32 0 0 1 45.248 45.248L240.448 828.8a32 32 0 0 1-45.248 0zm543.104-543.104a32 32 0 0 1 0-45.248l45.248-45.248a32 32 0 0 1 45.248 45.248l-45.248 45.248a32 32 0 0 1-45.248 0"})]))}}),OD=ID,ND=N({name:"Sunrise",__name:"sunrise",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M32 768h960a32 32 0 1 1 0 64H32a32 32 0 1 1 0-64m129.408-96a352 352 0 0 1 701.184 0h-64.32a288 288 0 0 0-572.544 0h-64.32zM512 128a32 32 0 0 1 32 32v96a32 32 0 0 1-64 0v-96a32 32 0 0 1 32-32m407.296 168.704a32 32 0 0 1 0 45.248l-67.84 67.84a32 32 0 1 1-45.248-45.248l67.84-67.84a32 32 0 0 1 45.248 0zm-814.592 0a32 32 0 0 1 45.248 0l67.84 67.84a32 32 0 1 1-45.248 45.248l-67.84-67.84a32 32 0 0 1 0-45.248"})]))}}),PD=ND,RD=N({name:"Sunset",__name:"sunset",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M82.56 640a448 448 0 1 1 858.88 0h-67.2a384 384 0 1 0-724.288 0zM32 704h960q32 0 32 32t-32 32H32q-32 0-32-32t32-32m256 128h448q32 0 32 32t-32 32H288q-32 0-32-32t32-32"})]))}}),LD=RD,BD=N({name:"SwitchButton",__name:"switch-button",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M352 159.872V230.4a352 352 0 1 0 320 0v-70.528A416.128 416.128 0 0 1 512 960a416 416 0 0 1-160-800.128z"}),E("path",{fill:"currentColor",d:"M512 64q32 0 32 32v320q0 32-32 32t-32-32V96q0-32 32-32"})]))}}),VD=BD,DD=N({name:"SwitchFilled",__name:"switch-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M247.47 358.4v.04c.07 19.17 7.72 37.53 21.27 51.09s31.92 21.2 51.09 21.27c39.86 0 72.41-32.6 72.41-72.4s-32.6-72.36-72.41-72.36-72.36 32.55-72.36 72.36z"}),E("path",{fill:"currentColor",d:"M492.38 128H324.7c-52.16 0-102.19 20.73-139.08 57.61a196.655 196.655 0 0 0-57.61 139.08V698.7c-.01 25.84 5.08 51.42 14.96 75.29s24.36 45.56 42.63 63.83 39.95 32.76 63.82 42.65a196.67 196.67 0 0 0 75.28 14.98h167.68c3.03 0 5.46-2.43 5.46-5.42V133.42c.6-2.99-1.83-5.42-5.46-5.42zm-56.11 705.88H324.7c-17.76.13-35.36-3.33-51.75-10.18s-31.22-16.94-43.61-29.67c-25.3-25.35-39.81-59.1-39.81-95.32V324.69c-.13-17.75 3.33-35.35 10.17-51.74a131.695 131.695 0 0 1 29.64-43.62c25.39-25.3 59.14-39.81 95.36-39.81h111.57zm402.12-647.67a196.655 196.655 0 0 0-139.08-57.61H580.48c-3.03 0-4.82 2.43-4.82 4.82v757.16c-.6 2.99 1.79 5.42 5.42 5.42h118.23a196.69 196.69 0 0 0 139.08-57.61A196.655 196.655 0 0 0 896 699.31V325.29a196.69 196.69 0 0 0-57.61-139.08zm-111.3 441.92c-42.83 0-77.82-34.99-77.82-77.82s34.98-77.82 77.82-77.82c42.83 0 77.82 34.99 77.82 77.82s-34.99 77.82-77.82 77.82z"})]))}}),HD=DD,FD=N({name:"Switch",__name:"switch",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M118.656 438.656a32 32 0 0 1 0-45.248L416 96l4.48-3.776A32 32 0 0 1 461.248 96l3.712 4.48a32.064 32.064 0 0 1-3.712 40.832L218.56 384H928a32 32 0 1 1 0 64H141.248a32 32 0 0 1-22.592-9.344zM64 608a32 32 0 0 1 32-32h786.752a32 32 0 0 1 22.656 54.592L608 928l-4.48 3.776a32.064 32.064 0 0 1-40.832-49.024L805.632 640H96a32 32 0 0 1-32-32"})]))}}),jD=FD,KD=N({name:"TakeawayBox",__name:"takeaway-box",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M832 384H192v448h640zM96 320h832V128H96zm800 64v480a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V384H64a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32h896a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32zM416 512h192a32 32 0 0 1 0 64H416a32 32 0 0 1 0-64"})]))}}),UD=KD,WD=N({name:"Ticket",__name:"ticket",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M640 832H64V640a128 128 0 1 0 0-256V192h576v160h64V192h256v192a128 128 0 1 0 0 256v192H704V672h-64zm0-416v192h64V416z"})]))}}),qD=WD,YD=N({name:"Tickets",__name:"tickets",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M192 128v768h640V128zm-32-64h704a32 32 0 0 1 32 32v832a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h192v64H320zm0 384h384v64H320z"})]))}}),GD=YD,XD=N({name:"Timer",__name:"timer",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 896a320 320 0 1 0 0-640 320 320 0 0 0 0 640m0 64a384 384 0 1 1 0-768 384 384 0 0 1 0 768"}),E("path",{fill:"currentColor",d:"M512 320a32 32 0 0 1 32 32l-.512 224a32 32 0 1 1-64 0L480 352a32 32 0 0 1 32-32"}),E("path",{fill:"currentColor",d:"M448 576a64 64 0 1 0 128 0 64 64 0 1 0-128 0m96-448v128h-64V128h-96a32 32 0 0 1 0-64h256a32 32 0 1 1 0 64z"})]))}}),ZD=XD,JD=N({name:"ToiletPaper",__name:"toilet-paper",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M595.2 128H320a192 192 0 0 0-192 192v576h384V352c0-90.496 32.448-171.2 83.2-224M736 64c123.712 0 224 128.96 224 288S859.712 640 736 640H576v320H64V320A256 256 0 0 1 320 64zM576 352v224h160c84.352 0 160-97.28 160-224s-75.648-224-160-224-160 97.28-160 224"}),E("path",{fill:"currentColor",d:"M736 448c-35.328 0-64-43.008-64-96s28.672-96 64-96 64 43.008 64 96-28.672 96-64 96"})]))}}),QD=JD,eH=N({name:"Tools",__name:"tools",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M764.416 254.72a351.68 351.68 0 0 1 86.336 149.184H960v192.064H850.752a351.68 351.68 0 0 1-86.336 149.312l54.72 94.72-166.272 96-54.592-94.72a352.64 352.64 0 0 1-172.48 0L371.136 936l-166.272-96 54.72-94.72a351.68 351.68 0 0 1-86.336-149.312H64v-192h109.248a351.68 351.68 0 0 1 86.336-149.312L204.8 160l166.208-96h.192l54.656 94.592a352.64 352.64 0 0 1 172.48 0L652.8 64h.128L819.2 160l-54.72 94.72zM704 499.968a192 192 0 1 0-384 0 192 192 0 0 0 384 0"})]))}}),tH=eH,oH=N({name:"TopLeft",__name:"top-left",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M256 256h416a32 32 0 1 0 0-64H224a32 32 0 0 0-32 32v448a32 32 0 0 0 64 0z"}),E("path",{fill:"currentColor",d:"M246.656 201.344a32 32 0 0 0-45.312 45.312l544 544a32 32 0 0 0 45.312-45.312l-544-544z"})]))}}),rH=oH,lH=N({name:"TopRight",__name:"top-right",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M768 256H353.6a32 32 0 1 1 0-64H800a32 32 0 0 1 32 32v448a32 32 0 0 1-64 0z"}),E("path",{fill:"currentColor",d:"M777.344 201.344a32 32 0 0 1 45.312 45.312l-544 544a32 32 0 0 1-45.312-45.312l544-544z"})]))}}),nH=lH,aH=N({name:"Top",__name:"top",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M572.235 205.282v600.365a30.118 30.118 0 1 1-60.235 0V205.282L292.382 438.633a28.913 28.913 0 0 1-42.646 0 33.43 33.43 0 0 1 0-45.236l271.058-288.045a28.913 28.913 0 0 1 42.647 0L834.5 393.397a33.43 33.43 0 0 1 0 45.176 28.913 28.913 0 0 1-42.647 0l-219.618-233.23z"})]))}}),iH=aH,sH=N({name:"TrendCharts",__name:"trend-charts",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 896V128h768v768zm291.712-327.296 128 102.4 180.16-201.792-47.744-42.624-139.84 156.608-128-102.4-180.16 201.792 47.744 42.624 139.84-156.608zM816 352a48 48 0 1 0-96 0 48 48 0 0 0 96 0"})]))}}),cH=sH,uH=N({name:"TrophyBase",__name:"trophy-base",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M918.4 201.6c-6.4-6.4-12.8-9.6-22.4-9.6H768V96c0-9.6-3.2-16-9.6-22.4C752 67.2 745.6 64 736 64H288c-9.6 0-16 3.2-22.4 9.6C259.2 80 256 86.4 256 96v96H128c-9.6 0-16 3.2-22.4 9.6-6.4 6.4-9.6 16-9.6 22.4 3.2 108.8 25.6 185.6 64 224 34.4 34.4 77.56 55.65 127.65 61.99 10.91 20.44 24.78 39.25 41.95 56.41 40.86 40.86 91 65.47 150.4 71.9V768h-96c-9.6 0-16 3.2-22.4 9.6-6.4 6.4-9.6 12.8-9.6 22.4s3.2 16 9.6 22.4c6.4 6.4 12.8 9.6 22.4 9.6h256c9.6 0 16-3.2 22.4-9.6 6.4-6.4 9.6-12.8 9.6-22.4s-3.2-16-9.6-22.4c-6.4-6.4-12.8-9.6-22.4-9.6h-96V637.26c59.4-7.71 109.54-30.01 150.4-70.86 17.2-17.2 31.51-36.06 42.81-56.55 48.93-6.51 90.02-27.7 126.79-61.85 38.4-38.4 60.8-112 64-224 0-6.4-3.2-16-9.6-22.4zM256 438.4c-19.2-6.4-35.2-19.2-51.2-35.2-22.4-22.4-35.2-70.4-41.6-147.2H256zm390.4 80C608 553.6 566.4 576 512 576s-99.2-19.2-134.4-57.6C342.4 480 320 438.4 320 384V128h384v256c0 54.4-19.2 99.2-57.6 134.4m172.8-115.2c-16 16-32 25.6-51.2 35.2V256h92.8c-6.4 76.8-19.2 124.8-41.6 147.2zM768 896H256c-9.6 0-16 3.2-22.4 9.6-6.4 6.4-9.6 12.8-9.6 22.4s3.2 16 9.6 22.4c6.4 6.4 12.8 9.6 22.4 9.6h512c9.6 0 16-3.2 22.4-9.6 6.4-6.4 9.6-12.8 9.6-22.4s-3.2-16-9.6-22.4c-6.4-6.4-12.8-9.6-22.4-9.6"})]))}}),dH=uH,pH=N({name:"Trophy",__name:"trophy",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M480 896V702.08A256.256 256.256 0 0 1 264.064 512h-32.64a96 96 0 0 1-91.968-68.416L93.632 290.88a76.8 76.8 0 0 1 73.6-98.88H256V96a32 32 0 0 1 32-32h448a32 32 0 0 1 32 32v96h88.768a76.8 76.8 0 0 1 73.6 98.88L884.48 443.52A96 96 0 0 1 792.576 512h-32.64A256.256 256.256 0 0 1 544 702.08V896h128a32 32 0 1 1 0 64H352a32 32 0 1 1 0-64zm224-448V128H320v320a192 192 0 1 0 384 0m64 0h24.576a32 32 0 0 0 30.656-22.784l45.824-152.768A12.8 12.8 0 0 0 856.768 256H768zm-512 0V256h-88.768a12.8 12.8 0 0 0-12.288 16.448l45.824 152.768A32 32 0 0 0 231.424 448z"})]))}}),fH=pH,hH=N({name:"TurnOff",__name:"turn-off",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M329.956 257.138a254.862 254.862 0 0 0 0 509.724h364.088a254.862 254.862 0 0 0 0-509.724zm0-72.818h364.088a327.68 327.68 0 1 1 0 655.36H329.956a327.68 327.68 0 1 1 0-655.36z"}),E("path",{fill:"currentColor",d:"M329.956 621.227a109.227 109.227 0 1 0 0-218.454 109.227 109.227 0 0 0 0 218.454m0 72.817a182.044 182.044 0 1 1 0-364.088 182.044 182.044 0 0 1 0 364.088"})]))}}),vH=hH,mH=N({name:"Umbrella",__name:"umbrella",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M320 768a32 32 0 1 1 64 0 64 64 0 0 0 128 0V512H64a448 448 0 1 1 896 0H576v256a128 128 0 1 1-256 0m570.688-320a384.128 384.128 0 0 0-757.376 0z"})]))}}),gH=mH,bH=N({name:"Unlock",__name:"unlock",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M224 448a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V480a32 32 0 0 0-32-32zm0-64h576a96 96 0 0 1 96 96v384a96 96 0 0 1-96 96H224a96 96 0 0 1-96-96V480a96 96 0 0 1 96-96"}),E("path",{fill:"currentColor",d:"M512 544a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V576a32 32 0 0 1 32-32m178.304-295.296A192.064 192.064 0 0 0 320 320v64h352l96 38.4V448H256V320a256 256 0 0 1 493.76-95.104z"})]))}}),_H=bH,wH=N({name:"UploadFilled",__name:"upload-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M544 864V672h128L512 480 352 672h128v192H320v-1.6c-5.376.32-10.496 1.6-16 1.6A240 240 0 0 1 64 624c0-123.136 93.12-223.488 212.608-237.248A239.808 239.808 0 0 1 512 192a239.872 239.872 0 0 1 235.456 194.752c119.488 13.76 212.48 114.112 212.48 237.248a240 240 0 0 1-240 240c-5.376 0-10.56-1.28-16-1.6v1.6z"})]))}}),yH=wH,xH=N({name:"Upload",__name:"upload",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M160 832h704a32 32 0 1 1 0 64H160a32 32 0 1 1 0-64m384-578.304V704h-64V247.296L237.248 490.048 192 444.8 508.8 128l316.8 316.8-45.312 45.248z"})]))}}),kH=xH,CH=N({name:"UserFilled",__name:"user-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M288 320a224 224 0 1 0 448 0 224 224 0 1 0-448 0m544 608H160a32 32 0 0 1-32-32v-96a160 160 0 0 1 160-160h448a160 160 0 0 1 160 160v96a32 32 0 0 1-32 32z"})]))}}),SH=CH,EH=N({name:"User",__name:"user",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 512a192 192 0 1 0 0-384 192 192 0 0 0 0 384m0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512m320 320v-96a96 96 0 0 0-96-96H288a96 96 0 0 0-96 96v96a32 32 0 1 1-64 0v-96a160 160 0 0 1 160-160h448a160 160 0 0 1 160 160v96a32 32 0 1 1-64 0"})]))}}),TH=EH,$H=N({name:"Van",__name:"van",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128.896 736H96a32 32 0 0 1-32-32V224a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32v96h164.544a32 32 0 0 1 31.616 27.136l54.144 352A32 32 0 0 1 922.688 736h-91.52a144 144 0 1 1-286.272 0H415.104a144 144 0 1 1-286.272 0zm23.36-64a143.872 143.872 0 0 1 239.488 0H568.32c17.088-25.6 42.24-45.376 71.744-55.808V256H128v416zm655.488 0h77.632l-19.648-128H704v64.896A144 144 0 0 1 807.744 672m48.128-192-14.72-96H704v96h151.872M688 832a80 80 0 1 0 0-160 80 80 0 0 0 0 160m-416 0a80 80 0 1 0 0-160 80 80 0 0 0 0 160"})]))}}),MH=$H,AH=N({name:"VideoCameraFilled",__name:"video-camera-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m768 576 192-64v320l-192-64v96a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V480a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32zM192 768v64h384v-64zm192-480a160 160 0 0 1 320 0 160 160 0 0 1-320 0m64 0a96 96 0 1 0 192.064-.064A96 96 0 0 0 448 288m-320 32a128 128 0 1 1 256.064.064A128 128 0 0 1 128 320m64 0a64 64 0 1 0 128 0 64 64 0 0 0-128 0"})]))}}),zH=AH,IH=N({name:"VideoCamera",__name:"video-camera",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M704 768V256H128v512zm64-416 192-96v512l-192-96v128a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V224a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32zm0 71.552v176.896l128 64V359.552zM192 320h192v64H192z"})]))}}),OH=IH,NH=N({name:"VideoPause",__name:"video-pause",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m-96-544q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32m192 0q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32"})]))}}),PH=NH,RH=N({name:"VideoPlay",__name:"video-play",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m-48-247.616L668.608 512 464 375.616zm10.624-342.656 249.472 166.336a48 48 0 0 1 0 79.872L474.624 718.272A48 48 0 0 1 400 678.336V345.6a48 48 0 0 1 74.624-39.936z"})]))}}),LH=RH,BH=N({name:"View",__name:"view",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352m0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288zm0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448m0 64a160.192 160.192 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160"})]))}}),X3=BH,VH=N({name:"WalletFilled",__name:"wallet-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M688 512a112 112 0 1 0 0 224h208v160H128V352h768v160zm32 160h-32a48 48 0 0 1 0-96h32a48 48 0 0 1 0 96m-80-544 128 160H384z"})]))}}),DH=VH,HH=N({name:"Wallet",__name:"wallet",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M640 288h-64V128H128v704h384v32a32 32 0 0 0 32 32H96a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32h512a32 32 0 0 1 32 32z"}),E("path",{fill:"currentColor",d:"M128 320v512h768V320zm-32-64h832a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V288a32 32 0 0 1 32-32"}),E("path",{fill:"currentColor",d:"M704 640a64 64 0 1 1 0-128 64 64 0 0 1 0 128"})]))}}),FH=HH,jH=N({name:"WarnTriangleFilled",__name:"warn-triangle-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M928.99 755.83 574.6 203.25c-12.89-20.16-36.76-32.58-62.6-32.58s-49.71 12.43-62.6 32.58L95.01 755.83c-12.91 20.12-12.9 44.91.01 65.03 12.92 20.12 36.78 32.51 62.59 32.49h708.78c25.82.01 49.68-12.37 62.59-32.49 12.91-20.12 12.92-44.91.01-65.03M554.67 768h-85.33v-85.33h85.33zm0-426.67v298.66h-85.33V341.32z"})]))}}),KH=jH,UH=N({name:"WarningFilled",__name:"warning-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 192a58.432 58.432 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.432 58.432 0 0 0 512 256m0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4"})]))}}),mc=UH,WH=N({name:"Warning",__name:"warning",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m48-176a48 48 0 1 1-96 0 48 48 0 0 1 96 0m-48-464a32 32 0 0 1 32 32v288a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32"})]))}}),qH=WH,YH=N({name:"Watch",__name:"watch",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 768a256 256 0 1 0 0-512 256 256 0 0 0 0 512m0 64a320 320 0 1 1 0-640 320 320 0 0 1 0 640"}),E("path",{fill:"currentColor",d:"M480 352a32 32 0 0 1 32 32v160a32 32 0 0 1-64 0V384a32 32 0 0 1 32-32"}),E("path",{fill:"currentColor",d:"M480 512h128q32 0 32 32t-32 32H480q-32 0-32-32t32-32m128-256V128H416v128h-64V64h320v192zM416 768v128h192V768h64v192H352V768z"})]))}}),GH=YH,XH=N({name:"Watermelon",__name:"watermelon",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m683.072 600.32-43.648 162.816-61.824-16.512 53.248-198.528L576 493.248l-158.4 158.4-45.248-45.248 158.4-158.4-55.616-55.616-198.528 53.248-16.512-61.824 162.816-43.648L282.752 200A384 384 0 0 0 824 741.248zm231.552 141.056a448 448 0 1 1-632-632l632 632"})]))}}),ZH=XH,JH=N({name:"WindPower",__name:"wind-power",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M160 64q32 0 32 32v832q0 32-32 32t-32-32V96q0-32 32-32m416 354.624 128-11.584V168.96l-128-11.52v261.12zm-64 5.824V151.552L320 134.08V160h-64V64l616.704 56.064A96 96 0 0 1 960 215.68v144.64a96 96 0 0 1-87.296 95.616L256 512V224h64v217.92zm256-23.232 98.88-8.96A32 32 0 0 0 896 360.32V215.68a32 32 0 0 0-29.12-31.872l-98.88-8.96z"})]))}}),QH=JH,eF=N({name:"ZoomIn",__name:"zoom-in",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704m-32-384v-96a32 32 0 0 1 64 0v96h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64z"})]))}}),mh=eF,tF=N({name:"ZoomOut",__name:"zoom-out",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704M352 448h256a32 32 0 0 1 0 64H352a32 32 0 0 1 0-64"})]))}}),Z3=tF;const oF=Object.freeze(Object.defineProperty({__proto__:null,AddLocation:Qz,Aim:tI,AlarmClock:rI,Apple:nI,ArrowDown:Pl,ArrowDownBold:iI,ArrowLeft:fn,ArrowLeftBold:uI,ArrowRight:ir,ArrowRightBold:fI,ArrowUp:Ad,ArrowUpBold:mI,Avatar:_I,Back:z3,Baseball:xI,Basketball:CI,Bell:$I,BellFilled:EI,Bicycle:AI,Bottom:RI,BottomLeft:II,BottomRight:NI,Bowl:BI,Box:DI,Briefcase:FI,Brush:WI,BrushFilled:KI,Burger:YI,Calendar:I3,Camera:QI,CameraFilled:ZI,CaretBottom:tO,CaretLeft:rO,CaretRight:dh,CaretTop:O3,Cellphone:iO,ChatDotRound:cO,ChatDotSquare:dO,ChatLineRound:fO,ChatLineSquare:vO,ChatRound:gO,ChatSquare:_O,Check:Li,Checked:xO,Cherry:CO,Chicken:EO,ChromeFilled:$O,CircleCheck:zd,CircleCheckFilled:N3,CircleClose:hn,CircleCloseFilled:Id,CirclePlus:RO,CirclePlusFilled:NO,Clock:ph,Close:Jr,CloseBold:VO,Cloudy:FO,Coffee:WO,CoffeeCup:KO,Coin:YO,ColdDrink:XO,Collection:eN,CollectionTag:JO,Comment:oN,Compass:lN,Connection:aN,Coordinate:sN,CopyDocument:uN,Cpu:pN,CreditCard:hN,Crop:mN,DArrowLeft:Ra,DArrowRight:La,DCaret:wN,DataAnalysis:xN,DataBoard:CN,DataLine:EN,Delete:P3,DeleteFilled:$N,DeleteLocation:AN,Dessert:ON,Discount:PN,Dish:VN,DishDot:LN,Document:R3,DocumentAdd:HN,DocumentChecked:jN,DocumentCopy:UN,DocumentDelete:qN,DocumentRemove:GN,Download:JN,Drizzling:eP,Edit:lP,EditPen:oP,Eleme:sP,ElemeFilled:aP,ElementPlus:uP,Expand:pP,Failed:hP,Female:mP,Files:bP,Film:wP,Filter:xP,Finished:CP,FirstAidKit:EP,Flag:$P,Fold:AP,Folder:FP,FolderAdd:IP,FolderChecked:NP,FolderDelete:RP,FolderOpened:BP,FolderRemove:DP,Food:KP,Football:WP,ForkSpoon:YP,Fries:XP,FullScreen:L3,Goblet:nR,GobletFull:QP,GobletSquare:rR,GobletSquareFull:tR,GoldMedal:iR,Goods:dR,GoodsFilled:cR,Grape:fR,Grid:vR,Guide:gR,Handbag:_R,Headset:yR,Help:SR,HelpFilled:kR,Hide:B3,Histogram:$R,HomeFilled:AR,HotWater:IR,House:NR,IceCream:DR,IceCreamRound:RR,IceCreamSquare:BR,IceDrink:FR,IceTea:KR,InfoFilled:Od,Iphone:qR,Key:GR,KnifeFork:ZR,Lightning:QR,Link:tL,List:rL,Loading:vn,Location:uL,LocationFilled:aL,LocationInformation:sL,Lock:pL,Lollipop:hL,MagicStick:mL,Magnet:bL,Male:wL,Management:xL,MapLocation:CL,Medal:EL,Memo:$L,Menu:AL,Message:NL,MessageBox:IL,Mic:RL,Microphone:BL,MilkTea:DL,Minus:V3,Money:jL,Monitor:UL,Moon:GL,MoonNight:qL,More:D3,MoreFilled:fh,MostlyCloudy:QL,Mouse:tB,Mug:rB,Mute:iB,MuteNotification:nB,NoSmoking:cB,Notebook:dB,Notification:fB,Odometer:vB,OfficeBuilding:gB,Open:_B,Operation:yB,Opportunity:kB,Orange:SB,Paperclip:TB,PartlyCloudy:MB,Pear:zB,Phone:PB,PhoneFilled:OB,Picture:DB,PictureFilled:H3,PictureRounded:BB,PieChart:FB,Place:KB,Platform:WB,Plus:hh,Pointer:GB,Position:ZB,Postcard:QB,Pouring:tV,Present:rV,PriceTag:nV,Printer:iV,Promotion:cV,QuartzWatch:dV,QuestionFilled:F3,Rank:hV,Reading:bV,ReadingLamp:mV,Refresh:xV,RefreshLeft:j3,RefreshRight:K3,Refrigerator:CV,Remove:$V,RemoveFilled:EV,Right:AV,ScaleToOriginal:U3,School:OV,Scissor:PV,Search:W3,Select:BV,Sell:DV,SemiSelect:FV,Service:KV,SetUp:WV,Setting:YV,Share:XV,Ship:JV,Shop:eD,ShoppingBag:oD,ShoppingCart:aD,ShoppingCartFull:lD,ShoppingTrolley:sD,Smoking:uD,Soccer:pD,SoldOut:hD,Sort:bD,SortDown:q3,SortUp:Y3,Stamp:wD,Star:G3,StarFilled:vc,Stopwatch:CD,SuccessFilled:vh,Sugar:TD,Suitcase:zD,SuitcaseLine:MD,Sunny:OD,Sunrise:PD,Sunset:LD,Switch:jD,SwitchButton:VD,SwitchFilled:HD,TakeawayBox:UD,Ticket:qD,Tickets:GD,Timer:ZD,ToiletPaper:QD,Tools:tH,Top:iH,TopLeft:rH,TopRight:nH,TrendCharts:cH,Trophy:fH,TrophyBase:dH,TurnOff:vH,Umbrella:gH,Unlock:_H,Upload:kH,UploadFilled:yH,User:TH,UserFilled:SH,Van:MH,VideoCamera:OH,VideoCameraFilled:zH,VideoPause:PH,VideoPlay:LH,View:X3,Wallet:FH,WalletFilled:DH,WarnTriangleFilled:KH,Warning:qH,WarningFilled:mc,Watch:GH,Watermelon:ZH,WindPower:QH,ZoomIn:mh,ZoomOut:Z3},Symbol.toStringTag,{value:"Module"})),J3="__epPropKey",ue=e=>e,rF=e=>xt(e)&&!!e[J3],vl=(e,t)=>{if(!xt(e)||rF(e))return e;const{values:o,required:r,default:l,type:n,validator:a}=e,c={type:n,required:!!r,validator:o||a?d=>{let u=!1,p=[];if(o&&(p=Array.from(o),Pt(e,"default")&&p.push(l),u||(u=p.includes(d))),a&&(u||(u=a(d))),!u&&p.length>0){const h=[...new Set(p)].map(v=>JSON.stringify(v)).join(", ");y9(`Invalid prop: validation failed${t?` for prop "${t}"`:""}. Expected one of [${h}], got value ${JSON.stringify(d)}.`)}return u}:void 0,[J3]:!0};return Pt(e,"default")&&(c.default=l),c},Pe=e=>Sd(Object.entries(e).map(([t,o])=>[t,vl(o,t)])),Xt=ue([String,Object,Function]),gh={Close:Jr},bh={Close:Jr,SuccessFilled:vh,InfoFilled:Od,WarningFilled:mc,CircleCloseFilled:Id},Jn={success:vh,warning:mc,error:Id,info:Od},_h={validating:vn,success:zd,error:hn},yt=(e,t)=>{if(e.install=o=>{for(const r of[e,...Object.values(t??{})])o.component(r.name,r)},t)for(const[o,r]of Object.entries(t))e[o]=r;return e},Q3=(e,t)=>(e.install=o=>{e._context=o._context,o.config.globalProperties[t]=e},e),lF=(e,t)=>(e.install=o=>{o.directive(t,e)},e),co=e=>(e.install=Wt,e),Nd=(...e)=>t=>{e.forEach(o=>{it(o)?o(t):o.value=t})},lt={tab:"Tab",enter:"Enter",space:"Space",left:"ArrowLeft",up:"ArrowUp",right:"ArrowRight",down:"ArrowDown",esc:"Escape",delete:"Delete",backspace:"Backspace",numpadEnter:"NumpadEnter",pageUp:"PageUp",pageDown:"PageDown",home:"Home",end:"End"},nF=["year","years","month","date","dates","week","datetime","datetimerange","daterange","monthrange"],wh=["sun","mon","tue","wed","thu","fri","sat"],St="update:modelValue",ro="change",yr="input",e6=Symbol("INSTALLED_KEY"),Rl=["","default","small","large"],t6=e=>["",...Rl].includes(e);var Qr=(e=>(e[e.TEXT=1]="TEXT",e[e.CLASS=2]="CLASS",e[e.STYLE=4]="STYLE",e[e.PROPS=8]="PROPS",e[e.FULL_PROPS=16]="FULL_PROPS",e[e.HYDRATE_EVENTS=32]="HYDRATE_EVENTS",e[e.STABLE_FRAGMENT=64]="STABLE_FRAGMENT",e[e.KEYED_FRAGMENT=128]="KEYED_FRAGMENT",e[e.UNKEYED_FRAGMENT=256]="UNKEYED_FRAGMENT",e[e.NEED_PATCH=512]="NEED_PATCH",e[e.DYNAMIC_SLOTS=1024]="DYNAMIC_SLOTS",e[e.HOISTED=-1]="HOISTED",e[e.BAIL=-2]="BAIL",e))(Qr||{});function yh(e){return io(e)&&e.type===Qe}function aF(e){return io(e)&&e.type===Jo}function iF(e){return io(e)&&!yh(e)&&!aF(e)}const sF=e=>{if(!io(e))return{};const t=e.props||{},o=(io(e.type)?e.type.props:void 0)||{},r={};return Object.keys(o).forEach(l=>{Pt(o[l],"default")&&(r[l]=o[l].default)}),Object.keys(t).forEach(l=>{r[Fr(l)]=t[l]}),r},cF=e=>{if(!Ke(e)||e.length>1)throw new Error("expect to receive a single Vue element child");return e[0]},Qn=e=>{const t=Ke(e)?e:[e],o=[];return t.forEach(r=>{var l;Ke(r)?o.push(...Qn(r)):io(r)&&Ke(r.children)?o.push(...Qn(r.children)):(o.push(r),io(r)&&((l=r.component)!=null&&l.subTree)&&o.push(...Qn(r.component.subTree)))}),o},o6=e=>[...new Set(e)],Lr=e=>!e&&e!==0?[]:Array.isArray(e)?e:[e],xh=e=>/([\uAC00-\uD7AF\u3130-\u318F])+/gi.test(e),uo=e=>e;function uF(e){let t=0;const o=(...r)=>{t&&Pa(t),t=Xn(()=>{e(...r),t=0})};return o.cancel=()=>{Pa(t),t=0},o}const dF=["class","style"],pF=/^on[A-Z]/,kh=(e={})=>{const{excludeListeners:t=!1,excludeKeys:o}=e,r=C(()=>((o==null?void 0:o.value)||[]).concat(dF)),l=wt();return C(l?()=>{var n;return Sd(Object.entries((n=l.proxy)==null?void 0:n.$attrs).filter(([a])=>!r.value.includes(a)&&!(t&&pF.test(a))))}:()=>({}))},Lo=({from:e,replacement:t,scope:o,version:r,ref:l,type:n="API"},a)=>{Se(()=>s(a),i=>{},{immediate:!0})},r6=(e,t,o,r)=>{let l={offsetX:0,offsetY:0};const n=c=>{const d=c.clientX,u=c.clientY,{offsetX:p,offsetY:h}=l,v=e.value.getBoundingClientRect(),m=v.left,f=v.top,_=v.width,g=v.height,y=document.documentElement.clientWidth,w=document.documentElement.clientHeight,x=-m+p,$=-f+h,T=y-m-_+p,R=w-f-g+h,P=B=>{let V=p+B.clientX-d,j=h+B.clientY-u;r!=null&&r.value||(V=Math.min(Math.max(V,x),T),j=Math.min(Math.max(j,$),R)),l={offsetX:V,offsetY:j},e.value&&(e.value.style.transform=`translate(${mo(V)}, ${mo(j)})`)},L=()=>{document.removeEventListener("mousemove",P),document.removeEventListener("mouseup",L)};document.addEventListener("mousemove",P),document.addEventListener("mouseup",L)},a=()=>{t.value&&e.value&&t.value.addEventListener("mousedown",n)},i=()=>{t.value&&e.value&&t.value.removeEventListener("mousedown",n)};ft(()=>{Go(()=>{o.value?a():i()})}),to(()=>{i()})};var fF={name:"en",el:{breadcrumb:{label:"Breadcrumb"},colorpicker:{confirm:"OK",clear:"Clear",defaultLabel:"color picker",description:"current color is {color}. press enter to select a new color."},datepicker:{now:"Now",today:"Today",cancel:"Cancel",clear:"Clear",confirm:"OK",dateTablePrompt:"Use the arrow keys and enter to select the day of the month",monthTablePrompt:"Use the arrow keys and enter to select the month",yearTablePrompt:"Use the arrow keys and enter to select the year",selectedDate:"Selected date",selectDate:"Select date",selectTime:"Select time",startDate:"Start Date",startTime:"Start Time",endDate:"End Date",endTime:"End Time",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",year:"",month1:"January",month2:"February",month3:"March",month4:"April",month5:"May",month6:"June",month7:"July",month8:"August",month9:"September",month10:"October",month11:"November",month12:"December",week:"week",weeks:{sun:"Sun",mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",sat:"Sat"},weeksFull:{sun:"Sunday",mon:"Monday",tue:"Tuesday",wed:"Wednesday",thu:"Thursday",fri:"Friday",sat:"Saturday"},months:{jan:"Jan",feb:"Feb",mar:"Mar",apr:"Apr",may:"May",jun:"Jun",jul:"Jul",aug:"Aug",sep:"Sep",oct:"Oct",nov:"Nov",dec:"Dec"}},inputNumber:{decrease:"decrease number",increase:"increase number"},select:{loading:"Loading",noMatch:"No matching data",noData:"No data",placeholder:"Select"},dropdown:{toggleDropdown:"Toggle Dropdown"},cascader:{noMatch:"No matching data",loading:"Loading",placeholder:"Select",noData:"No data"},pagination:{goto:"Go to",pagesize:"/page",total:"Total {total}",pageClassifier:"",page:"Page",prev:"Go to previous page",next:"Go to next page",currentPage:"page {pager}",prevPages:"Previous {pager} pages",nextPages:"Next {pager} pages",deprecationWarning:"Deprecated usages detected, please refer to the el-pagination documentation for more details"},dialog:{close:"Close this dialog"},drawer:{close:"Close this dialog"},messagebox:{title:"Message",confirm:"OK",cancel:"Cancel",error:"Illegal input",close:"Close this dialog"},upload:{deleteTip:"press delete to remove",delete:"Delete",preview:"Preview",continue:"Continue"},slider:{defaultLabel:"slider between {min} and {max}",defaultRangeStartLabel:"pick start value",defaultRangeEndLabel:"pick end value"},table:{emptyText:"No Data",confirmFilter:"Confirm",resetFilter:"Reset",clearFilter:"All",sumText:"Sum"},tour:{next:"Next",previous:"Previous",finish:"Finish"},tree:{emptyText:"No Data"},transfer:{noMatch:"No matching data",noData:"No data",titles:["List 1","List 2"],filterPlaceholder:"Enter keyword",noCheckedFormat:"{total} items",hasCheckedFormat:"{checked}/{total} checked"},image:{error:"FAILED"},pageHeader:{title:"Back"},popconfirm:{confirmButtonText:"Yes",cancelButtonText:"No"},carousel:{leftArrow:"Carousel arrow left",rightArrow:"Carousel arrow right",indicator:"Carousel switch to index {index}"}}};const hF=e=>(t,o)=>vF(t,o,s(e)),vF=(e,t,o)=>wo(o,e,e).replace(/\{(\w+)\}/g,(r,l)=>{var n;return`${(n=t==null?void 0:t[l])!=null?n:`{${l}}`}`}),mF=e=>{const t=C(()=>s(e).name),o=Zt(e)?e:D(e);return{lang:t,locale:o,t:hF(e)}},l6=Symbol("localeContextKey"),Rt=e=>{const t=e||Ge(l6,D());return mF(C(()=>t.value||fF))},gc="el",gF="is-",Ba=(e,t,o,r,l)=>{let n=`${e}-${t}`;return o&&(n+=`-${o}`),r&&(n+=`__${r}`),l&&(n+=`--${l}`),n},n6=Symbol("namespaceContextKey"),Ch=e=>{const t=e||(wt()?Ge(n6,D(gc)):D(gc));return C(()=>s(t)||gc)},ze=(e,t)=>{const o=Ch(t);return{namespace:o,b:(f="")=>Ba(o.value,e,f,"",""),e:f=>f?Ba(o.value,e,"",f,""):"",m:f=>f?Ba(o.value,e,"","",f):"",be:(f,_)=>f&&_?Ba(o.value,e,f,_,""):"",em:(f,_)=>f&&_?Ba(o.value,e,"",f,_):"",bm:(f,_)=>f&&_?Ba(o.value,e,f,"",_):"",bem:(f,_,g)=>f&&_&&g?Ba(o.value,e,f,_,g):"",is:(f,..._)=>{const g=_.length>=1?_[0]:!0;return f&&g?`${gF}${f}`:""},cssVar:f=>{const _={};for(const g in f)f[g]&&(_[`--${o.value}-${g}`]=f[g]);return _},cssVarName:f=>`--${o.value}-${f}`,cssVarBlock:f=>{const _={};for(const g in f)f[g]&&(_[`--${o.value}-${e}-${g}`]=f[g]);return _},cssVarBlockName:f=>`--${o.value}-${e}-${f}`}},Sh=(e,t={})=>{Zt(e)||Io("[useLockscreen]","You need to pass a ref param to this function");const o=t.ns||ze("popup"),r=C(()=>o.bm("parent","hidden"));if(!Nt||Xr(document.body,r.value))return;let l=0,n=!1,a="0";const i=()=>{setTimeout(()=>{ar(document==null?void 0:document.body,r.value),n&&document&&(document.body.style.width=a)},200)};Se(e,c=>{if(!c){i();return}n=!Xr(document.body,r.value),n&&(a=document.body.style.width),l=T3(o.namespace.value);const d=document.documentElement.clientHeight0&&(d||u==="scroll")&&n&&(document.body.style.width=`calc(100% - ${l}px)`),Zr(document.body,r.value)}),kf(()=>i())},bF=vl({type:ue(Boolean),default:null}),_F=vl({type:ue(Function)}),a6=e=>{const t=`update:${e}`,o=`onUpdate:${e}`,r=[t],l={[e]:bF,[o]:_F};return{useModelToggle:({indicator:a,toggleReason:i,shouldHideWhenRouteChanges:c,shouldProceed:d,onShow:u,onHide:p})=>{const h=wt(),{emit:v}=h,m=h.props,f=C(()=>it(m[o])),_=C(()=>m[e]===null),g=R=>{a.value!==!0&&(a.value=!0,i&&(i.value=R),it(u)&&u(R))},y=R=>{a.value!==!1&&(a.value=!1,i&&(i.value=R),it(p)&&p(R))},w=R=>{if(m.disabled===!0||it(d)&&!d())return;const P=f.value&&Nt;P&&v(t,!0),(_.value||!P)&&g(R)},x=R=>{if(m.disabled===!0||!Nt)return;const P=f.value&&Nt;P&&v(t,!1),(_.value||!P)&&y(R)},$=R=>{Co(R)&&(m.disabled&&R?f.value&&v(t,!1):a.value!==R&&(R?g():y()))},T=()=>{a.value?x():w()};return Se(()=>m[e],$),c&&h.appContext.config.globalProperties.$route!==void 0&&Se(()=>({...h.proxy.$route}),()=>{c.value&&a.value&&x()}),ft(()=>{$(m[e])}),{hide:x,show:w,toggle:T,hasUpdateHandler:f}},useModelToggleProps:l,useModelToggleEmits:r}};a6("modelValue");const i6=e=>{const t=wt();return C(()=>{var o,r;return(r=(o=t==null?void 0:t.proxy)==null?void 0:o.$props)==null?void 0:r[e]})};var Ar="top",el="bottom",tl="right",zr="left",Eh="auto",bc=[Ar,el,tl,zr],Bi="start",_c="end",wF="clippingParents",s6="viewport",wc="popper",yF="reference",c6=bc.reduce(function(e,t){return e.concat([t+"-"+Bi,t+"-"+_c])},[]),Va=[].concat(bc,[Eh]).reduce(function(e,t){return e.concat([t,t+"-"+Bi,t+"-"+_c])},[]),xF="beforeRead",kF="read",CF="afterRead",SF="beforeMain",EF="main",TF="afterMain",$F="beforeWrite",MF="write",AF="afterWrite",zF=[xF,kF,CF,SF,EF,TF,$F,MF,AF];function Ll(e){return e?(e.nodeName||"").toLowerCase():null}function ml(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Vi(e){var t=ml(e).Element;return e instanceof t||e instanceof Element}function ol(e){var t=ml(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Th(e){if(typeof ShadowRoot>"u")return!1;var t=ml(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function IF(e){var t=e.state;Object.keys(t.elements).forEach(function(o){var r=t.styles[o]||{},l=t.attributes[o]||{},n=t.elements[o];!ol(n)||!Ll(n)||(Object.assign(n.style,r),Object.keys(l).forEach(function(a){var i=l[a];i===!1?n.removeAttribute(a):n.setAttribute(a,i===!0?"":i)}))})}function OF(e){var t=e.state,o={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,o.popper),t.styles=o,t.elements.arrow&&Object.assign(t.elements.arrow.style,o.arrow),function(){Object.keys(t.elements).forEach(function(r){var l=t.elements[r],n=t.attributes[r]||{},a=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:o[r]),i=a.reduce(function(c,d){return c[d]="",c},{});!ol(l)||!Ll(l)||(Object.assign(l.style,i),Object.keys(n).forEach(function(c){l.removeAttribute(c)}))})}}var u6={name:"applyStyles",enabled:!0,phase:"write",fn:IF,effect:OF,requires:["computeStyles"]};function Bl(e){return e.split("-")[0]}var Da=Math.max,Pd=Math.min,Di=Math.round;function Hi(e,t){t===void 0&&(t=!1);var o=e.getBoundingClientRect(),r=1,l=1;if(ol(e)&&t){var n=e.offsetHeight,a=e.offsetWidth;a>0&&(r=Di(o.width)/a||1),n>0&&(l=Di(o.height)/n||1)}return{width:o.width/r,height:o.height/l,top:o.top/l,right:o.right/r,bottom:o.bottom/l,left:o.left/r,x:o.left/r,y:o.top/l}}function $h(e){var t=Hi(e),o=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-o)<=1&&(o=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:o,height:r}}function d6(e,t){var o=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(o&&Th(o)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function mn(e){return ml(e).getComputedStyle(e)}function NF(e){return["table","td","th"].indexOf(Ll(e))>=0}function ea(e){return((Vi(e)?e.ownerDocument:e.document)||window.document).documentElement}function Rd(e){return Ll(e)==="html"?e:e.assignedSlot||e.parentNode||(Th(e)?e.host:null)||ea(e)}function p6(e){return!ol(e)||mn(e).position==="fixed"?null:e.offsetParent}function PF(e){var t=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1,o=navigator.userAgent.indexOf("Trident")!==-1;if(o&&ol(e)){var r=mn(e);if(r.position==="fixed")return null}var l=Rd(e);for(Th(l)&&(l=l.host);ol(l)&&["html","body"].indexOf(Ll(l))<0;){var n=mn(l);if(n.transform!=="none"||n.perspective!=="none"||n.contain==="paint"||["transform","perspective"].indexOf(n.willChange)!==-1||t&&n.willChange==="filter"||t&&n.filter&&n.filter!=="none")return l;l=l.parentNode}return null}function yc(e){for(var t=ml(e),o=p6(e);o&&NF(o)&&mn(o).position==="static";)o=p6(o);return o&&(Ll(o)==="html"||Ll(o)==="body"&&mn(o).position==="static")?t:o||PF(e)||t}function Mh(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function xc(e,t,o){return Da(e,Pd(t,o))}function RF(e,t,o){var r=xc(e,t,o);return r>o?o:r}function f6(){return{top:0,right:0,bottom:0,left:0}}function h6(e){return Object.assign({},f6(),e)}function v6(e,t){return t.reduce(function(o,r){return o[r]=e,o},{})}var LF=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,h6(typeof e!="number"?e:v6(e,bc))};function BF(e){var t,o=e.state,r=e.name,l=e.options,n=o.elements.arrow,a=o.modifiersData.popperOffsets,i=Bl(o.placement),c=Mh(i),d=[zr,tl].indexOf(i)>=0,u=d?"height":"width";if(!(!n||!a)){var p=LF(l.padding,o),h=$h(n),v=c==="y"?Ar:zr,m=c==="y"?el:tl,f=o.rects.reference[u]+o.rects.reference[c]-a[c]-o.rects.popper[u],_=a[c]-o.rects.reference[c],g=yc(n),y=g?c==="y"?g.clientHeight||0:g.clientWidth||0:0,w=f/2-_/2,x=p[v],$=y-h[u]-p[m],T=y/2-h[u]/2+w,R=xc(x,T,$),P=c;o.modifiersData[r]=(t={},t[P]=R,t.centerOffset=R-T,t)}}function VF(e){var t=e.state,o=e.options,r=o.element,l=r===void 0?"[data-popper-arrow]":r;l!=null&&(typeof l=="string"&&(l=t.elements.popper.querySelector(l),!l)||!d6(t.elements.popper,l)||(t.elements.arrow=l))}var DF={name:"arrow",enabled:!0,phase:"main",fn:BF,effect:VF,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Fi(e){return e.split("-")[1]}var HF={top:"auto",right:"auto",bottom:"auto",left:"auto"};function FF(e){var t=e.x,o=e.y,r=window,l=r.devicePixelRatio||1;return{x:Di(t*l)/l||0,y:Di(o*l)/l||0}}function m6(e){var t,o=e.popper,r=e.popperRect,l=e.placement,n=e.variation,a=e.offsets,i=e.position,c=e.gpuAcceleration,d=e.adaptive,u=e.roundOffsets,p=e.isFixed,h=a.x,v=h===void 0?0:h,m=a.y,f=m===void 0?0:m,_=typeof u=="function"?u({x:v,y:f}):{x:v,y:f};v=_.x,f=_.y;var g=a.hasOwnProperty("x"),y=a.hasOwnProperty("y"),w=zr,x=Ar,$=window;if(d){var T=yc(o),R="clientHeight",P="clientWidth";if(T===ml(o)&&(T=ea(o),mn(T).position!=="static"&&i==="absolute"&&(R="scrollHeight",P="scrollWidth")),T=T,l===Ar||(l===zr||l===tl)&&n===_c){x=el;var L=p&&T===$&&$.visualViewport?$.visualViewport.height:T[R];f-=L-r.height,f*=c?1:-1}if(l===zr||(l===Ar||l===el)&&n===_c){w=tl;var B=p&&T===$&&$.visualViewport?$.visualViewport.width:T[P];v-=B-r.width,v*=c?1:-1}}var V=Object.assign({position:i},d&&HF),j=u===!0?FF({x:v,y:f}):{x:v,y:f};if(v=j.x,f=j.y,c){var te;return Object.assign({},V,(te={},te[x]=y?"0":"",te[w]=g?"0":"",te.transform=($.devicePixelRatio||1)<=1?"translate("+v+"px, "+f+"px)":"translate3d("+v+"px, "+f+"px, 0)",te))}return Object.assign({},V,(t={},t[x]=y?f+"px":"",t[w]=g?v+"px":"",t.transform="",t))}function jF(e){var t=e.state,o=e.options,r=o.gpuAcceleration,l=r===void 0?!0:r,n=o.adaptive,a=n===void 0?!0:n,i=o.roundOffsets,c=i===void 0?!0:i,d={placement:Bl(t.placement),variation:Fi(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:l,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,m6(Object.assign({},d,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:c})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,m6(Object.assign({},d,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:c})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}var g6={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:jF,data:{}},Ld={passive:!0};function KF(e){var t=e.state,o=e.instance,r=e.options,l=r.scroll,n=l===void 0?!0:l,a=r.resize,i=a===void 0?!0:a,c=ml(t.elements.popper),d=[].concat(t.scrollParents.reference,t.scrollParents.popper);return n&&d.forEach(function(u){u.addEventListener("scroll",o.update,Ld)}),i&&c.addEventListener("resize",o.update,Ld),function(){n&&d.forEach(function(u){u.removeEventListener("scroll",o.update,Ld)}),i&&c.removeEventListener("resize",o.update,Ld)}}var b6={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:KF,data:{}},UF={left:"right",right:"left",bottom:"top",top:"bottom"};function Bd(e){return e.replace(/left|right|bottom|top/g,function(t){return UF[t]})}var WF={start:"end",end:"start"};function _6(e){return e.replace(/start|end/g,function(t){return WF[t]})}function Ah(e){var t=ml(e),o=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:o,scrollTop:r}}function zh(e){return Hi(ea(e)).left+Ah(e).scrollLeft}function qF(e){var t=ml(e),o=ea(e),r=t.visualViewport,l=o.clientWidth,n=o.clientHeight,a=0,i=0;return r&&(l=r.width,n=r.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(a=r.offsetLeft,i=r.offsetTop)),{width:l,height:n,x:a+zh(e),y:i}}function YF(e){var t,o=ea(e),r=Ah(e),l=(t=e.ownerDocument)==null?void 0:t.body,n=Da(o.scrollWidth,o.clientWidth,l?l.scrollWidth:0,l?l.clientWidth:0),a=Da(o.scrollHeight,o.clientHeight,l?l.scrollHeight:0,l?l.clientHeight:0),i=-r.scrollLeft+zh(e),c=-r.scrollTop;return mn(l||o).direction==="rtl"&&(i+=Da(o.clientWidth,l?l.clientWidth:0)-n),{width:n,height:a,x:i,y:c}}function Ih(e){var t=mn(e),o=t.overflow,r=t.overflowX,l=t.overflowY;return/auto|scroll|overlay|hidden/.test(o+l+r)}function w6(e){return["html","body","#document"].indexOf(Ll(e))>=0?e.ownerDocument.body:ol(e)&&Ih(e)?e:w6(Rd(e))}function kc(e,t){var o;t===void 0&&(t=[]);var r=w6(e),l=r===((o=e.ownerDocument)==null?void 0:o.body),n=ml(r),a=l?[n].concat(n.visualViewport||[],Ih(r)?r:[]):r,i=t.concat(a);return l?i:i.concat(kc(Rd(a)))}function Oh(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function GF(e){var t=Hi(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}function y6(e,t){return t===s6?Oh(qF(e)):Vi(t)?GF(t):Oh(YF(ea(e)))}function XF(e){var t=kc(Rd(e)),o=["absolute","fixed"].indexOf(mn(e).position)>=0,r=o&&ol(e)?yc(e):e;return Vi(r)?t.filter(function(l){return Vi(l)&&d6(l,r)&&Ll(l)!=="body"}):[]}function ZF(e,t,o){var r=t==="clippingParents"?XF(e):[].concat(t),l=[].concat(r,[o]),n=l[0],a=l.reduce(function(i,c){var d=y6(e,c);return i.top=Da(d.top,i.top),i.right=Pd(d.right,i.right),i.bottom=Pd(d.bottom,i.bottom),i.left=Da(d.left,i.left),i},y6(e,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function x6(e){var t=e.reference,o=e.element,r=e.placement,l=r?Bl(r):null,n=r?Fi(r):null,a=t.x+t.width/2-o.width/2,i=t.y+t.height/2-o.height/2,c;switch(l){case Ar:c={x:a,y:t.y-o.height};break;case el:c={x:a,y:t.y+t.height};break;case tl:c={x:t.x+t.width,y:i};break;case zr:c={x:t.x-o.width,y:i};break;default:c={x:t.x,y:t.y}}var d=l?Mh(l):null;if(d!=null){var u=d==="y"?"height":"width";switch(n){case Bi:c[d]=c[d]-(t[u]/2-o[u]/2);break;case _c:c[d]=c[d]+(t[u]/2-o[u]/2);break}}return c}function Cc(e,t){t===void 0&&(t={});var o=t,r=o.placement,l=r===void 0?e.placement:r,n=o.boundary,a=n===void 0?wF:n,i=o.rootBoundary,c=i===void 0?s6:i,d=o.elementContext,u=d===void 0?wc:d,p=o.altBoundary,h=p===void 0?!1:p,v=o.padding,m=v===void 0?0:v,f=h6(typeof m!="number"?m:v6(m,bc)),_=u===wc?yF:wc,g=e.rects.popper,y=e.elements[h?_:u],w=ZF(Vi(y)?y:y.contextElement||ea(e.elements.popper),a,c),x=Hi(e.elements.reference),$=x6({reference:x,element:g,strategy:"absolute",placement:l}),T=Oh(Object.assign({},g,$)),R=u===wc?T:x,P={top:w.top-R.top+f.top,bottom:R.bottom-w.bottom+f.bottom,left:w.left-R.left+f.left,right:R.right-w.right+f.right},L=e.modifiersData.offset;if(u===wc&&L){var B=L[l];Object.keys(P).forEach(function(V){var j=[tl,el].indexOf(V)>=0?1:-1,te=[Ar,el].indexOf(V)>=0?"y":"x";P[V]+=B[te]*j})}return P}function JF(e,t){t===void 0&&(t={});var o=t,r=o.placement,l=o.boundary,n=o.rootBoundary,a=o.padding,i=o.flipVariations,c=o.allowedAutoPlacements,d=c===void 0?Va:c,u=Fi(r),p=u?i?c6:c6.filter(function(m){return Fi(m)===u}):bc,h=p.filter(function(m){return d.indexOf(m)>=0});h.length===0&&(h=p);var v=h.reduce(function(m,f){return m[f]=Cc(e,{placement:f,boundary:l,rootBoundary:n,padding:a})[Bl(f)],m},{});return Object.keys(v).sort(function(m,f){return v[m]-v[f]})}function QF(e){if(Bl(e)===Eh)return[];var t=Bd(e);return[_6(e),t,_6(t)]}function ej(e){var t=e.state,o=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var l=o.mainAxis,n=l===void 0?!0:l,a=o.altAxis,i=a===void 0?!0:a,c=o.fallbackPlacements,d=o.padding,u=o.boundary,p=o.rootBoundary,h=o.altBoundary,v=o.flipVariations,m=v===void 0?!0:v,f=o.allowedAutoPlacements,_=t.options.placement,g=Bl(_),y=g===_,w=c||(y||!m?[Bd(_)]:QF(_)),x=[_].concat(w).reduce(function(Q,Me){return Q.concat(Bl(Me)===Eh?JF(t,{placement:Me,boundary:u,rootBoundary:p,padding:d,flipVariations:m,allowedAutoPlacements:f}):Me)},[]),$=t.rects.reference,T=t.rects.popper,R=new Map,P=!0,L=x[0],B=0;B=0,Z=J?"width":"height",H=Cc(t,{placement:V,boundary:u,rootBoundary:p,altBoundary:h,padding:d}),F=J?te?tl:zr:te?el:Ar;$[Z]>T[Z]&&(F=Bd(F));var K=Bd(F),I=[];if(n&&I.push(H[j]<=0),i&&I.push(H[F]<=0,H[K]<=0),I.every(function(Q){return Q})){L=V,P=!1;break}R.set(V,I)}if(P)for(var U=m?3:1,oe=function(Q){var Me=x.find(function(de){var _e=R.get(de);if(_e)return _e.slice(0,Q).every(function(me){return me})});if(Me)return L=Me,"break"},ne=U;ne>0;ne--){var ce=oe(ne);if(ce==="break")break}t.placement!==L&&(t.modifiersData[r]._skip=!0,t.placement=L,t.reset=!0)}}var tj={name:"flip",enabled:!0,phase:"main",fn:ej,requiresIfExists:["offset"],data:{_skip:!1}};function k6(e,t,o){return o===void 0&&(o={x:0,y:0}),{top:e.top-t.height-o.y,right:e.right-t.width+o.x,bottom:e.bottom-t.height+o.y,left:e.left-t.width-o.x}}function C6(e){return[Ar,tl,el,zr].some(function(t){return e[t]>=0})}function oj(e){var t=e.state,o=e.name,r=t.rects.reference,l=t.rects.popper,n=t.modifiersData.preventOverflow,a=Cc(t,{elementContext:"reference"}),i=Cc(t,{altBoundary:!0}),c=k6(a,r),d=k6(i,l,n),u=C6(c),p=C6(d);t.modifiersData[o]={referenceClippingOffsets:c,popperEscapeOffsets:d,isReferenceHidden:u,hasPopperEscaped:p},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":p})}var rj={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:oj};function lj(e,t,o){var r=Bl(e),l=[zr,Ar].indexOf(r)>=0?-1:1,n=typeof o=="function"?o(Object.assign({},t,{placement:e})):o,a=n[0],i=n[1];return a=a||0,i=(i||0)*l,[zr,tl].indexOf(r)>=0?{x:i,y:a}:{x:a,y:i}}function nj(e){var t=e.state,o=e.options,r=e.name,l=o.offset,n=l===void 0?[0,0]:l,a=Va.reduce(function(u,p){return u[p]=lj(p,t.rects,n),u},{}),i=a[t.placement],c=i.x,d=i.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=c,t.modifiersData.popperOffsets.y+=d),t.modifiersData[r]=a}var aj={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:nj};function ij(e){var t=e.state,o=e.name;t.modifiersData[o]=x6({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}var S6={name:"popperOffsets",enabled:!0,phase:"read",fn:ij,data:{}};function sj(e){return e==="x"?"y":"x"}function cj(e){var t=e.state,o=e.options,r=e.name,l=o.mainAxis,n=l===void 0?!0:l,a=o.altAxis,i=a===void 0?!1:a,c=o.boundary,d=o.rootBoundary,u=o.altBoundary,p=o.padding,h=o.tether,v=h===void 0?!0:h,m=o.tetherOffset,f=m===void 0?0:m,_=Cc(t,{boundary:c,rootBoundary:d,padding:p,altBoundary:u}),g=Bl(t.placement),y=Fi(t.placement),w=!y,x=Mh(g),$=sj(x),T=t.modifiersData.popperOffsets,R=t.rects.reference,P=t.rects.popper,L=typeof f=="function"?f(Object.assign({},t.rects,{placement:t.placement})):f,B=typeof L=="number"?{mainAxis:L,altAxis:L}:Object.assign({mainAxis:0,altAxis:0},L),V=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,j={x:0,y:0};if(T){if(n){var te,J=x==="y"?Ar:zr,Z=x==="y"?el:tl,H=x==="y"?"height":"width",F=T[x],K=F+_[J],I=F-_[Z],U=v?-P[H]/2:0,oe=y===Bi?R[H]:P[H],ne=y===Bi?-P[H]:-R[H],ce=t.elements.arrow,Q=v&&ce?$h(ce):{width:0,height:0},Me=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:f6(),de=Me[J],_e=Me[Z],me=xc(0,R[H],Q[H]),Re=w?R[H]/2-U-me-de-B.mainAxis:oe-me-de-B.mainAxis,Ce=w?-R[H]/2+U+me+_e+B.mainAxis:ne+me+_e+B.mainAxis,Ee=t.elements.arrow&&yc(t.elements.arrow),De=Ee?x==="y"?Ee.clientTop||0:Ee.clientLeft||0:0,ae=(te=V==null?void 0:V[x])!=null?te:0,pe=F+Re-ae-De,ke=F+Ce-ae,Oe=xc(v?Pd(K,pe):K,F,v?Da(I,ke):I);T[x]=Oe,j[x]=Oe-F}if(i){var we,Te=x==="x"?Ar:zr,Ne=x==="x"?el:tl,Ie=T[$],Ae=$==="y"?"height":"width",xe=Ie+_[Te],We=Ie-_[Ne],qe=[Ar,zr].indexOf(g)!==-1,ye=(we=V==null?void 0:V[$])!=null?we:0,Ye=qe?xe:Ie-R[Ae]-P[Ae]-ye+B.altAxis,tt=qe?Ie+R[Ae]+P[Ae]-ye-B.altAxis:We,pt=v&&qe?RF(Ye,Ie,tt):xc(v?Ye:xe,Ie,v?tt:We);T[$]=pt,j[$]=pt-Ie}t.modifiersData[r]=j}}var uj={name:"preventOverflow",enabled:!0,phase:"main",fn:cj,requiresIfExists:["offset"]};function dj(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function pj(e){return e===ml(e)||!ol(e)?Ah(e):dj(e)}function fj(e){var t=e.getBoundingClientRect(),o=Di(t.width)/e.offsetWidth||1,r=Di(t.height)/e.offsetHeight||1;return o!==1||r!==1}function hj(e,t,o){o===void 0&&(o=!1);var r=ol(t),l=ol(t)&&fj(t),n=ea(t),a=Hi(e,l),i={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(r||!r&&!o)&&((Ll(t)!=="body"||Ih(n))&&(i=pj(t)),ol(t)?(c=Hi(t,!0),c.x+=t.clientLeft,c.y+=t.clientTop):n&&(c.x=zh(n))),{x:a.left+i.scrollLeft-c.x,y:a.top+i.scrollTop-c.y,width:a.width,height:a.height}}function vj(e){var t=new Map,o=new Set,r=[];e.forEach(function(n){t.set(n.name,n)});function l(n){o.add(n.name);var a=[].concat(n.requires||[],n.requiresIfExists||[]);a.forEach(function(i){if(!o.has(i)){var c=t.get(i);c&&l(c)}}),r.push(n)}return e.forEach(function(n){o.has(n.name)||l(n)}),r}function mj(e){var t=vj(e);return zF.reduce(function(o,r){return o.concat(t.filter(function(l){return l.phase===r}))},[])}function gj(e){var t;return function(){return t||(t=new Promise(function(o){Promise.resolve().then(function(){t=void 0,o(e())})})),t}}function bj(e){var t=e.reduce(function(o,r){var l=o[r.name];return o[r.name]=l?Object.assign({},l,r,{options:Object.assign({},l.options,r.options),data:Object.assign({},l.data,r.data)}):r,o},{});return Object.keys(t).map(function(o){return t[o]})}var E6={placement:"bottom",modifiers:[],strategy:"absolute"};function T6(){for(var e=arguments.length,t=new Array(e),o=0;o{const r={name:"updateState",enabled:!0,phase:"write",fn:({state:c})=>{const d=kj(c);Object.assign(a.value,d)},requires:["computeStyles"]},l=C(()=>{const{onFirstUpdate:c,placement:d,strategy:u,modifiers:p}=s(o);return{onFirstUpdate:c,placement:d||"bottom",strategy:u||"absolute",modifiers:[...p||[],r,{name:"applyStyles",enabled:!1}]}}),n=lo(),a=D({styles:{popper:{position:s(l).strategy,left:"0",top:"0"},arrow:{position:"absolute"}},attributes:{}}),i=()=>{n.value&&(n.value.destroy(),n.value=void 0)};return Se(l,c=>{const d=s(n);d&&d.setOptions(c)},{deep:!0}),Se([e,t],([c,d])=>{i(),!(!c||!d)&&(n.value=yj(c,d,s(l)))}),to(()=>{i()}),{state:C(()=>{var c;return{...((c=s(n))==null?void 0:c.state)||{}}}),styles:C(()=>s(a).styles),attributes:C(()=>s(a).attributes),update:()=>{var c;return(c=s(n))==null?void 0:c.update()},forceUpdate:()=>{var c;return(c=s(n))==null?void 0:c.forceUpdate()},instanceRef:C(()=>s(n))}};function kj(e){const t=Object.keys(e.elements),o=Sd(t.map(l=>[l,e.styles[l]||{}])),r=Sd(t.map(l=>[l,e.attributes[l]]));return{styles:o,attributes:r}}const Ph=e=>{if(!e)return{onClick:Wt,onMousedown:Wt,onMouseup:Wt};let t=!1,o=!1;return{onClick:a=>{t&&o&&e(a),t=o=!1},onMousedown:a=>{t=a.target===a.currentTarget},onMouseup:a=>{o=a.target===a.currentTarget}}},Cj=(e,t=0)=>{if(t===0)return e;const o=D(!1);let r=0;const l=()=>{r&&clearTimeout(r),r=window.setTimeout(()=>{o.value=e.value},t)};return ft(l),Se(()=>e.value,n=>{n?l():o.value=n}),o};function $6(){let e;const t=(r,l)=>{o(),e=window.setTimeout(r,l)},o=()=>window.clearTimeout(e);return rc(()=>o()),{registerTimeout:t,cancelTimeout:o}}const M6={prefix:Math.floor(Math.random()*1e4),current:0},Sj=Symbol("elIdInjection"),Rh=()=>wt()?Ge(Sj,M6):M6,Qo=e=>{const t=Rh(),o=Ch();return C(()=>s(e)||`${o.value}-id-${t.prefix}-${t.current++}`)};let ji=[];const A6=e=>{const t=e;t.key===lt.esc&&ji.forEach(o=>o(t))},Ej=e=>{ft(()=>{ji.length===0&&document.addEventListener("keydown",A6),Nt&&ji.push(e)}),to(()=>{ji=ji.filter(t=>t!==e),ji.length===0&&Nt&&document.removeEventListener("keydown",A6)})};let z6;const I6=()=>{const e=Ch(),t=Rh(),o=C(()=>`${e.value}-popper-container-${t.prefix}`),r=C(()=>`#${o.value}`);return{id:o,selector:r}},Tj=e=>{const t=document.createElement("div");return t.id=e,document.body.appendChild(t),t},$j=()=>{const{id:e,selector:t}=I6();return Pu(()=>{Nt&&!z6&&!document.body.querySelector(t.value)&&(z6=Tj(e.value))}),{id:e,selector:t}},Mj=Pe({showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0}}),Aj=({showAfter:e,hideAfter:t,autoClose:o,open:r,close:l})=>{const{registerTimeout:n}=$6(),{registerTimeout:a,cancelTimeout:i}=$6();return{onOpen:u=>{n(()=>{r(u);const p=s(o);st(p)&&p>0&&a(()=>{l(u)},p)},s(e))},onClose:u=>{i(),n(()=>{l(u)},s(t))}}},O6=Symbol("elForwardRef"),zj=e=>{zt(O6,{setForwardRef:o=>{e.value=o}})},Ij=e=>({mounted(t){e(t)},updated(t){e(t)},unmounted(){e(null)}}),N6={current:0},P6=D(0),R6=2e3,L6=Symbol("elZIndexContextKey"),B6=Symbol("zIndexContextKey"),Ki=e=>{const t=wt()?Ge(L6,N6):N6,o=e||(wt()?Ge(B6,void 0):void 0),r=C(()=>{const a=s(o);return st(a)?a:R6}),l=C(()=>r.value+P6.value),n=()=>(t.current++,P6.value=t.current,l.value);return!Nt&&Ge(L6),{initialZIndex:r,currentZIndex:l,nextZIndex:n}},Ui=Math.min,Ha=Math.max,Vd=Math.round,Dd=Math.floor,ta=e=>({x:e,y:e}),Oj={left:"right",right:"left",bottom:"top",top:"bottom"},Nj={start:"end",end:"start"};function Lh(e,t,o){return Ha(e,Ui(t,o))}function Sc(e,t){return typeof e=="function"?e(t):e}function Fa(e){return e.split("-")[0]}function Ec(e){return e.split("-")[1]}function V6(e){return e==="x"?"y":"x"}function Bh(e){return e==="y"?"height":"width"}function Wi(e){return["top","bottom"].includes(Fa(e))?"y":"x"}function Vh(e){return V6(Wi(e))}function Pj(e,t,o){o===void 0&&(o=!1);const r=Ec(e),l=Vh(e),n=Bh(l);let a=l==="x"?r===(o?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[n]>t.floating[n]&&(a=Hd(a)),[a,Hd(a)]}function Rj(e){const t=Hd(e);return[Dh(e),t,Dh(t)]}function Dh(e){return e.replace(/start|end/g,t=>Nj[t])}function Lj(e,t,o){const r=["left","right"],l=["right","left"],n=["top","bottom"],a=["bottom","top"];switch(e){case"top":case"bottom":return o?t?l:r:t?r:l;case"left":case"right":return t?n:a;default:return[]}}function Bj(e,t,o,r){const l=Ec(e);let n=Lj(Fa(e),o==="start",r);return l&&(n=n.map(a=>a+"-"+l),t&&(n=n.concat(n.map(Dh)))),n}function Hd(e){return e.replace(/left|right|bottom|top/g,t=>Oj[t])}function Vj(e){return{top:0,right:0,bottom:0,left:0,...e}}function D6(e){return typeof e!="number"?Vj(e):{top:e,right:e,bottom:e,left:e}}function Fd(e){const{x:t,y:o,width:r,height:l}=e;return{width:r,height:l,top:o,left:t,right:t+r,bottom:o+l,x:t,y:o}}function H6(e,t,o){let{reference:r,floating:l}=e;const n=Wi(t),a=Vh(t),i=Bh(a),c=Fa(t),d=n==="y",u=r.x+r.width/2-l.width/2,p=r.y+r.height/2-l.height/2,h=r[i]/2-l[i]/2;let v;switch(c){case"top":v={x:u,y:r.y-l.height};break;case"bottom":v={x:u,y:r.y+r.height};break;case"right":v={x:r.x+r.width,y:p};break;case"left":v={x:r.x-l.width,y:p};break;default:v={x:r.x,y:r.y}}switch(Ec(t)){case"start":v[a]-=h*(o&&d?-1:1);break;case"end":v[a]+=h*(o&&d?-1:1);break}return v}const Dj=async(e,t,o)=>{const{placement:r="bottom",strategy:l="absolute",middleware:n=[],platform:a}=o,i=n.filter(Boolean),c=await(a.isRTL==null?void 0:a.isRTL(t));let d=await a.getElementRects({reference:e,floating:t,strategy:l}),{x:u,y:p}=H6(d,r,c),h=r,v={},m=0;for(let f=0;f({name:"arrow",options:e,async fn(t){const{x:o,y:r,placement:l,rects:n,platform:a,elements:i,middlewareData:c}=t,{element:d,padding:u=0}=Sc(e,t)||{};if(d==null)return{};const p=D6(u),h={x:o,y:r},v=Vh(l),m=Bh(v),f=await a.getDimensions(d),_=v==="y",g=_?"top":"left",y=_?"bottom":"right",w=_?"clientHeight":"clientWidth",x=n.reference[m]+n.reference[v]-h[v]-n.floating[m],$=h[v]-n.reference[v],T=await(a.getOffsetParent==null?void 0:a.getOffsetParent(d));let R=T?T[w]:0;(!R||!await(a.isElement==null?void 0:a.isElement(T)))&&(R=i.floating[w]||n.floating[m]);const P=x/2-$/2,L=R/2-f[m]/2-1,B=Ui(p[g],L),V=Ui(p[y],L),j=B,te=R-f[m]-V,J=R/2-f[m]/2+P,Z=Lh(j,J,te),H=!c.arrow&&Ec(l)!=null&&J!==Z&&n.reference[m]/2-(JJ<=0)){var V,j;const J=(((V=n.flip)==null?void 0:V.index)||0)+1,Z=R[J];if(Z)return{data:{index:J,overflows:B},reset:{placement:Z}};let H=(j=B.filter(F=>F.overflows[0]<=0).sort((F,K)=>F.overflows[1]-K.overflows[1])[0])==null?void 0:j.placement;if(!H)switch(v){case"bestFit":{var te;const F=(te=B.filter(K=>{if(T){const I=Wi(K.placement);return I===y||I==="y"}return!0}).map(K=>[K.placement,K.overflows.filter(I=>I>0).reduce((I,U)=>I+U,0)]).sort((K,I)=>K[1]-I[1])[0])==null?void 0:te[0];F&&(H=F);break}case"initialPlacement":H=i;break}if(l!==H)return{reset:{placement:H}}}return{}}}};async function jj(e,t){const{placement:o,platform:r,elements:l}=e,n=await(r.isRTL==null?void 0:r.isRTL(l.floating)),a=Fa(o),i=Ec(o),c=Wi(o)==="y",d=["left","top"].includes(a)?-1:1,u=n&&c?-1:1,p=Sc(t,e);let{mainAxis:h,crossAxis:v,alignmentAxis:m}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...p};return i&&typeof m=="number"&&(v=i==="end"?m*-1:m),c?{x:v*u,y:h*d}:{x:h*d,y:v*u}}const Kj=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var o,r;const{x:l,y:n,placement:a,middlewareData:i}=t,c=await jj(t,e);return a===((o=i.offset)==null?void 0:o.placement)&&(r=i.arrow)!=null&&r.alignmentOffset?{}:{x:l+c.x,y:n+c.y,data:{...c,placement:a}}}}},Uj=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:o,y:r,placement:l}=t,{mainAxis:n=!0,crossAxis:a=!1,limiter:i={fn:_=>{let{x:g,y}=_;return{x:g,y}}},...c}=Sc(e,t),d={x:o,y:r},u=await Hh(t,c),p=Wi(Fa(l)),h=V6(p);let v=d[h],m=d[p];if(n){const _=h==="y"?"top":"left",g=h==="y"?"bottom":"right",y=v+u[_],w=v-u[g];v=Lh(y,v,w)}if(a){const _=p==="y"?"top":"left",g=p==="y"?"bottom":"right",y=m+u[_],w=m-u[g];m=Lh(y,m,w)}const f=i.fn({...t,[h]:v,[p]:m});return{...f,data:{x:f.x-o,y:f.y-r}}}}};function qi(e){return F6(e)?(e.nodeName||"").toLowerCase():"#document"}function Br(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function gn(e){var t;return(t=(F6(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function F6(e){return e instanceof Node||e instanceof Br(e).Node}function Vl(e){return e instanceof Element||e instanceof Br(e).Element}function Dl(e){return e instanceof HTMLElement||e instanceof Br(e).HTMLElement}function j6(e){return typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Br(e).ShadowRoot}function Tc(e){const{overflow:t,overflowX:o,overflowY:r,display:l}=gl(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+o)&&!["inline","contents"].includes(l)}function Wj(e){return["table","td","th"].includes(qi(e))}function jd(e){return[":popover-open",":modal"].some(t=>{try{return e.matches(t)}catch{return!1}})}function Fh(e){const t=jh(),o=gl(e);return o.transform!=="none"||o.perspective!=="none"||(o.containerType?o.containerType!=="normal":!1)||!t&&(o.backdropFilter?o.backdropFilter!=="none":!1)||!t&&(o.filter?o.filter!=="none":!1)||["transform","perspective","filter"].some(r=>(o.willChange||"").includes(r))||["paint","layout","strict","content"].some(r=>(o.contain||"").includes(r))}function qj(e){let t=oa(e);for(;Dl(t)&&!Yi(t);){if(jd(t))return null;if(Fh(t))return t;t=oa(t)}return null}function jh(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function Yi(e){return["html","body","#document"].includes(qi(e))}function gl(e){return Br(e).getComputedStyle(e)}function Kd(e){return Vl(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function oa(e){if(qi(e)==="html")return e;const t=e.assignedSlot||e.parentNode||j6(e)&&e.host||gn(e);return j6(t)?t.host:t}function K6(e){const t=oa(e);return Yi(t)?e.ownerDocument?e.ownerDocument.body:e.body:Dl(t)&&Tc(t)?t:K6(t)}function $c(e,t,o){var r;t===void 0&&(t=[]),o===void 0&&(o=!0);const l=K6(e),n=l===((r=e.ownerDocument)==null?void 0:r.body),a=Br(l);return n?t.concat(a,a.visualViewport||[],Tc(l)?l:[],a.frameElement&&o?$c(a.frameElement):[]):t.concat(l,$c(l,[],o))}function U6(e){const t=gl(e);let o=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const l=Dl(e),n=l?e.offsetWidth:o,a=l?e.offsetHeight:r,i=Vd(o)!==n||Vd(r)!==a;return i&&(o=n,r=a),{width:o,height:r,$:i}}function Kh(e){return Vl(e)?e:e.contextElement}function Gi(e){const t=Kh(e);if(!Dl(t))return ta(1);const o=t.getBoundingClientRect(),{width:r,height:l,$:n}=U6(t);let a=(n?Vd(o.width):o.width)/r,i=(n?Vd(o.height):o.height)/l;return(!a||!Number.isFinite(a))&&(a=1),(!i||!Number.isFinite(i))&&(i=1),{x:a,y:i}}const Yj=ta(0);function W6(e){const t=Br(e);return!jh()||!t.visualViewport?Yj:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Gj(e,t,o){return t===void 0&&(t=!1),!o||t&&o!==Br(e)?!1:t}function ja(e,t,o,r){t===void 0&&(t=!1),o===void 0&&(o=!1);const l=e.getBoundingClientRect(),n=Kh(e);let a=ta(1);t&&(r?Vl(r)&&(a=Gi(r)):a=Gi(e));const i=Gj(n,o,r)?W6(n):ta(0);let c=(l.left+i.x)/a.x,d=(l.top+i.y)/a.y,u=l.width/a.x,p=l.height/a.y;if(n){const h=Br(n),v=r&&Vl(r)?Br(r):r;let m=h,f=m.frameElement;for(;f&&r&&v!==m;){const _=Gi(f),g=f.getBoundingClientRect(),y=gl(f),w=g.left+(f.clientLeft+parseFloat(y.paddingLeft))*_.x,x=g.top+(f.clientTop+parseFloat(y.paddingTop))*_.y;c*=_.x,d*=_.y,u*=_.x,p*=_.y,c+=w,d+=x,m=Br(f),f=m.frameElement}}return Fd({width:u,height:p,x:c,y:d})}function Xj(e){let{elements:t,rect:o,offsetParent:r,strategy:l}=e;const n=l==="fixed",a=gn(r),i=t?jd(t.floating):!1;if(r===a||i&&n)return o;let c={scrollLeft:0,scrollTop:0},d=ta(1);const u=ta(0),p=Dl(r);if((p||!p&&!n)&&((qi(r)!=="body"||Tc(a))&&(c=Kd(r)),Dl(r))){const h=ja(r);d=Gi(r),u.x=h.x+r.clientLeft,u.y=h.y+r.clientTop}return{width:o.width*d.x,height:o.height*d.y,x:o.x*d.x-c.scrollLeft*d.x+u.x,y:o.y*d.y-c.scrollTop*d.y+u.y}}function Zj(e){return Array.from(e.getClientRects())}function q6(e){return ja(gn(e)).left+Kd(e).scrollLeft}function Jj(e){const t=gn(e),o=Kd(e),r=e.ownerDocument.body,l=Ha(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),n=Ha(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let a=-o.scrollLeft+q6(e);const i=-o.scrollTop;return gl(r).direction==="rtl"&&(a+=Ha(t.clientWidth,r.clientWidth)-l),{width:l,height:n,x:a,y:i}}function Qj(e,t){const o=Br(e),r=gn(e),l=o.visualViewport;let n=r.clientWidth,a=r.clientHeight,i=0,c=0;if(l){n=l.width,a=l.height;const d=jh();(!d||d&&t==="fixed")&&(i=l.offsetLeft,c=l.offsetTop)}return{width:n,height:a,x:i,y:c}}function eK(e,t){const o=ja(e,!0,t==="fixed"),r=o.top+e.clientTop,l=o.left+e.clientLeft,n=Dl(e)?Gi(e):ta(1),a=e.clientWidth*n.x,i=e.clientHeight*n.y,c=l*n.x,d=r*n.y;return{width:a,height:i,x:c,y:d}}function Y6(e,t,o){let r;if(t==="viewport")r=Qj(e,o);else if(t==="document")r=Jj(gn(e));else if(Vl(t))r=eK(t,o);else{const l=W6(e);r={...t,x:t.x-l.x,y:t.y-l.y}}return Fd(r)}function G6(e,t){const o=oa(e);return o===t||!Vl(o)||Yi(o)?!1:gl(o).position==="fixed"||G6(o,t)}function tK(e,t){const o=t.get(e);if(o)return o;let r=$c(e,[],!1).filter(i=>Vl(i)&&qi(i)!=="body"),l=null;const n=gl(e).position==="fixed";let a=n?oa(e):e;for(;Vl(a)&&!Yi(a);){const i=gl(a),c=Fh(a);!c&&i.position==="fixed"&&(l=null),(n?!c&&!l:!c&&i.position==="static"&&!!l&&["absolute","fixed"].includes(l.position)||Tc(a)&&!c&&G6(e,a))?r=r.filter(u=>u!==a):l=i,a=oa(a)}return t.set(e,r),r}function oK(e){let{element:t,boundary:o,rootBoundary:r,strategy:l}=e;const a=[...o==="clippingAncestors"?jd(t)?[]:tK(t,this._c):[].concat(o),r],i=a[0],c=a.reduce((d,u)=>{const p=Y6(t,u,l);return d.top=Ha(p.top,d.top),d.right=Ui(p.right,d.right),d.bottom=Ui(p.bottom,d.bottom),d.left=Ha(p.left,d.left),d},Y6(t,i,l));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}}function rK(e){const{width:t,height:o}=U6(e);return{width:t,height:o}}function lK(e,t,o){const r=Dl(t),l=gn(t),n=o==="fixed",a=ja(e,!0,n,t);let i={scrollLeft:0,scrollTop:0};const c=ta(0);if(r||!r&&!n)if((qi(t)!=="body"||Tc(l))&&(i=Kd(t)),r){const p=ja(t,!0,n,t);c.x=p.x+t.clientLeft,c.y=p.y+t.clientTop}else l&&(c.x=q6(l));const d=a.left+i.scrollLeft-c.x,u=a.top+i.scrollTop-c.y;return{x:d,y:u,width:a.width,height:a.height}}function Uh(e){return gl(e).position==="static"}function X6(e,t){return!Dl(e)||gl(e).position==="fixed"?null:t?t(e):e.offsetParent}function Z6(e,t){const o=Br(e);if(jd(e))return o;if(!Dl(e)){let l=oa(e);for(;l&&!Yi(l);){if(Vl(l)&&!Uh(l))return l;l=oa(l)}return o}let r=X6(e,t);for(;r&&Wj(r)&&Uh(r);)r=X6(r,t);return r&&Yi(r)&&Uh(r)&&!Fh(r)?o:r||qj(e)||o}const nK=async function(e){const t=this.getOffsetParent||Z6,o=this.getDimensions,r=await o(e.floating);return{reference:lK(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function aK(e){return gl(e).direction==="rtl"}const iK={convertOffsetParentRelativeRectToViewportRelativeRect:Xj,getDocumentElement:gn,getClippingRect:oK,getOffsetParent:Z6,getElementRects:nK,getClientRects:Zj,getDimensions:rK,getScale:Gi,isElement:Vl,isRTL:aK};function sK(e,t){let o=null,r;const l=gn(e);function n(){var i;clearTimeout(r),(i=o)==null||i.disconnect(),o=null}function a(i,c){i===void 0&&(i=!1),c===void 0&&(c=1),n();const{left:d,top:u,width:p,height:h}=e.getBoundingClientRect();if(i||t(),!p||!h)return;const v=Dd(u),m=Dd(l.clientWidth-(d+p)),f=Dd(l.clientHeight-(u+h)),_=Dd(d),y={rootMargin:-v+"px "+-m+"px "+-f+"px "+-_+"px",threshold:Ha(0,Ui(1,c))||1};let w=!0;function x($){const T=$[0].intersectionRatio;if(T!==c){if(!w)return a();T?a(!1,T):r=setTimeout(()=>{a(!1,1e-7)},1e3)}w=!1}try{o=new IntersectionObserver(x,{...y,root:l.ownerDocument})}catch{o=new IntersectionObserver(x,y)}o.observe(e)}return a(!0),n}function cK(e,t,o,r){r===void 0&&(r={});const{ancestorScroll:l=!0,ancestorResize:n=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:i=typeof IntersectionObserver=="function",animationFrame:c=!1}=r,d=Kh(e),u=l||n?[...d?$c(d):[],...$c(t)]:[];u.forEach(g=>{l&&g.addEventListener("scroll",o,{passive:!0}),n&&g.addEventListener("resize",o)});const p=d&&i?sK(d,o):null;let h=-1,v=null;a&&(v=new ResizeObserver(g=>{let[y]=g;y&&y.target===d&&v&&(v.unobserve(t),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var w;(w=v)==null||w.observe(t)})),o()}),d&&!c&&v.observe(d),v.observe(t));let m,f=c?ja(e):null;c&&_();function _(){const g=ja(e);f&&(g.x!==f.x||g.y!==f.y||g.width!==f.width||g.height!==f.height)&&o(),f=g,m=requestAnimationFrame(_)}return o(),()=>{var g;u.forEach(y=>{l&&y.removeEventListener("scroll",o),n&&y.removeEventListener("resize",o)}),p==null||p(),(g=v)==null||g.disconnect(),v=null,c&&cancelAnimationFrame(m)}}const uK=Hh,J6=Kj,dK=Uj,pK=Fj,Q6=Hj,e4=(e,t,o)=>{const r=new Map,l={platform:iK,...o},n={...l.platform,_c:r};return Dj(e,t,{...l,platform:n})};Pe({});const fK=e=>{if(!Nt)return;if(!e)return e;const t=$r(e);return t||(Zt(e)?t:e)},hK=({middleware:e,placement:t,strategy:o})=>{const r=D(),l=D(),n=D(),a=D(),i=D({}),c={x:n,y:a,placement:t,strategy:o,middlewareData:i},d=async()=>{if(!Nt)return;const u=fK(r),p=$r(l);if(!u||!p)return;const h=await e4(u,p,{placement:s(t),strategy:s(o),middleware:s(e)});Ri(c).forEach(v=>{c[v].value=h[v]})};return ft(()=>{Go(()=>{d()})}),{...c,update:d,referenceRef:r,contentRef:l}},vK=({arrowRef:e,padding:t})=>({name:"arrow",options:{element:e,padding:t},fn(o){const r=s(e);return r?Q6({element:r,padding:t}).fn(o):{}}});function mK(e){const t=D();function o(){if(e.value==null)return;const{selectionStart:l,selectionEnd:n,value:a}=e.value;if(l==null||n==null)return;const i=a.slice(0,Math.max(0,l)),c=a.slice(Math.max(0,n));t.value={selectionStart:l,selectionEnd:n,value:a,beforeTxt:i,afterTxt:c}}function r(){if(e.value==null||t.value==null)return;const{value:l}=e.value,{beforeTxt:n,afterTxt:a,selectionStart:i}=t.value;if(n==null||a==null||i==null)return;let c=l.length;if(l.endsWith(a))c=l.length-a.length;else if(l.startsWith(n))c=n.length;else{const d=n[i-1],u=l.indexOf(d,i-1);u!==-1&&(c=u+1)}e.value.setSelectionRange(c,c)}return[o,r]}const gK=(e,t,o)=>Qn(e.subTree).filter(n=>{var a;return io(n)&&((a=n.type)==null?void 0:a.name)===t&&!!n.component}).map(n=>n.component.uid).map(n=>o[n]).filter(n=>!!n),Wh=(e,t)=>{const o={},r=lo([]);return{children:r,addChild:a=>{o[a.uid]=a,r.value=gK(e,t,o)},removeChild:a=>{delete o[a],r.value=r.value.filter(i=>i.uid!==a)}}},Oo=vl({type:String,values:Rl,required:!1}),t4=Symbol("size"),bK=()=>{const e=Ge(t4,{});return C(()=>s(e.size)||"")};function Ud(e,{afterFocus:t,beforeBlur:o,afterBlur:r}={}){const l=wt(),{emit:n}=l,a=lo(),i=D(!1),c=p=>{i.value||(i.value=!0,n("focus",p),t==null||t())},d=p=>{var h;it(o)&&o(p)||p.relatedTarget&&((h=a.value)!=null&&h.contains(p.relatedTarget))||(i.value=!1,n("blur",p),r==null||r())},u=()=>{var p;(p=e.value)==null||p.focus()};return Se(a,p=>{p&&p.setAttribute("tabindex","-1")}),oo(a,"click",u),{wrapperRef:a,isFocused:i,handleFocus:c,handleBlur:d}}const _K=["",void 0,null],wK=void 0,Xi=Pe({emptyValues:Array,valueOnClear:{type:[String,Number,Boolean,Function],default:void 0,validator:e=>it(e)?!e():!e}}),Wd=(e,t)=>{let o=Mc();o.value||(o=D({}));const r=C(()=>e.emptyValues||o.value.emptyValues||_K),l=C(()=>it(e.valueOnClear)?e.valueOnClear():e.valueOnClear!==void 0?e.valueOnClear:it(o.value.valueOnClear)?o.value.valueOnClear():o.value.valueOnClear!==void 0?o.value.valueOnClear:t!==void 0?t:wK),n=a=>r.value.includes(a);return r.value.includes(l.value),{emptyValues:r,valueOnClear:l,isEmptyValue:n}},yK=Pe({ariaLabel:String,ariaOrientation:{type:String,values:["horizontal","vertical","undefined"]},ariaControls:String}),Zo=e=>Ol(yK,e),o4=Symbol(),qd=D();function Mc(e,t=void 0){const o=wt()?Ge(o4,qd):qd;return e?C(()=>{var r,l;return(l=(r=o.value)==null?void 0:r[e])!=null?l:t}):o}function Yd(e,t){const o=Mc(),r=ze(e,C(()=>{var i;return((i=o.value)==null?void 0:i.namespace)||gc})),l=Rt(C(()=>{var i;return(i=o.value)==null?void 0:i.locale})),n=Ki(C(()=>{var i;return((i=o.value)==null?void 0:i.zIndex)||R6})),a=C(()=>{var i;return s(t)||((i=o.value)==null?void 0:i.size)||""});return qh(C(()=>s(o)||{})),{ns:r,locale:l,zIndex:n,size:a}}const qh=(e,t,o=!1)=>{var r;const l=!!wt(),n=l?Mc():void 0,a=(r=t==null?void 0:t.provide)!=null?r:l?zt:void 0;if(!a)return;const i=C(()=>{const c=s(e);return n!=null&&n.value?xK(n.value,c):c});return a(o4,i),a(l6,C(()=>i.value.locale)),a(n6,C(()=>i.value.namespace)),a(B6,C(()=>i.value.zIndex)),a(t4,{size:C(()=>i.value.size||"")}),(o||!qd.value)&&(qd.value=i.value),i},xK=(e,t)=>{const o=[...new Set([...Ri(e),...Ri(t)])],r={};for(const l of o)r[l]=t[l]!==void 0?t[l]:e[l];return r},kK=Pe({a11y:{type:Boolean,default:!0},locale:{type:ue(Object)},size:Oo,button:{type:ue(Object)},experimentalFeatures:{type:ue(Object)},keyboardNavigation:{type:Boolean,default:!0},message:{type:ue(Object)},zIndex:Number,namespace:{type:String,default:"el"},...Xi}),Yh={},CK=yt(N({name:"ElConfigProvider",props:kK,setup(e,{slots:t}){Se(()=>e.message,r=>{Object.assign(Yh,r??{})},{immediate:!0,deep:!0});const o=qh(e);return()=>be(t,"default",{config:o==null?void 0:o.value})}})),SK="2.7.6",EK=(e=[])=>({version:SK,install:(o,r)=>{o[e6]||(o[e6]=!0,e.forEach(l=>o.use(l)),r&&qh(r,o,!0))}}),TK=Pe({zIndex:{type:ue([Number,String]),default:100},target:{type:String,default:""},offset:{type:Number,default:0},position:{type:String,values:["top","bottom"],default:"top"}}),$K={scroll:({scrollTop:e,fixed:t})=>st(e)&&Co(t),[ro]:e=>Co(e)};var Le=(e,t)=>{const o=e.__vccOpts||e;for(const[r,l]of t)o[r]=l;return o};const r4="ElAffix",MK=N({...N({name:r4}),props:TK,emits:$K,setup(e,{expose:t,emit:o}){const r=e,l=ze("affix"),n=lo(),a=lo(),i=lo(),{height:c}=bE(),{height:d,width:u,top:p,bottom:h,update:v}=e_(a,{windowScroll:!1}),m=e_(n),f=D(!1),_=D(0),g=D(0),y=C(()=>({height:f.value?`${d.value}px`:"",width:f.value?`${u.value}px`:""})),w=C(()=>{if(!f.value)return{};const T=r.offset?mo(r.offset):0;return{height:`${d.value}px`,width:`${u.value}px`,top:r.position==="top"?T:"",bottom:r.position==="bottom"?T:"",transform:g.value?`translateY(${g.value}px)`:"",zIndex:r.zIndex}}),x=()=>{if(i.value)if(_.value=i.value instanceof Window?document.documentElement.scrollTop:i.value.scrollTop||0,r.position==="top")if(r.target){const T=m.bottom.value-r.offset-d.value;f.value=r.offset>p.value&&m.bottom.value>0,g.value=T<0?T:0}else f.value=r.offset>p.value;else if(r.target){const T=c.value-m.top.value-r.offset-d.value;f.value=c.value-r.offsetm.top.value,g.value=T<0?-T:0}else f.value=c.value-r.offset{v(),o("scroll",{scrollTop:_.value,fixed:f.value})};return Se(f,T=>o("change",T)),ft(()=>{var T;r.target?(n.value=(T=document.querySelector(r.target))!=null?T:void 0,n.value||Io(r4,`Target does not exist: ${r.target}`)):n.value=document.documentElement,i.value=uh(a.value,!0),v()}),oo(i,"scroll",$),Go(x),t({update:x,updateRoot:v}),(T,R)=>(b(),M("div",{ref_key:"root",ref:a,class:O(s(l).b()),style:Je(s(y))},[E("div",{class:O({[s(l).m("fixed")]:f.value}),style:Je(s(w))},[be(T.$slots,"default")],6)],6))}});var AK=Le(MK,[["__file","affix.vue"]]);const zK=yt(AK),IK=Pe({size:{type:ue([Number,String])},color:{type:String}}),OK=N({...N({name:"ElIcon",inheritAttrs:!1}),props:IK,setup(e){const t=e,o=ze("icon"),r=C(()=>{const{size:l,color:n}=t;return!l&&!n?{}:{fontSize:ko(l)?void 0:mo(l),"--color":n}});return(l,n)=>(b(),M("i",Mt({class:s(o).b(),style:s(r)},l.$attrs),[be(l.$slots,"default")],16))}});var NK=Le(OK,[["__file","icon.vue"]]);const Ze=yt(NK),PK=["light","dark"],RK=Pe({title:{type:String,default:""},description:{type:String,default:""},type:{type:String,values:Ri(Jn),default:"info"},closable:{type:Boolean,default:!0},closeText:{type:String,default:""},showIcon:Boolean,center:Boolean,effect:{type:String,values:PK,default:"light"}}),LK=N({...N({name:"ElAlert"}),props:RK,emits:{close:e=>e instanceof MouseEvent},setup(e,{emit:t}){const o=e,{Close:r}=bh,l=Do(),n=ze("alert"),a=D(!0),i=C(()=>Jn[o.type]),c=C(()=>[n.e("icon"),{[n.is("big")]:!!o.description||!!l.default}]),d=C(()=>({"with-description":o.description||l.default})),u=p=>{a.value=!1,t("close",p)};return(p,h)=>(b(),he(Mo,{name:s(n).b("fade"),persisted:""},{default:le(()=>[mt(E("div",{class:O([s(n).b(),s(n).m(p.type),s(n).is("center",p.center),s(n).is(p.effect)]),role:"alert"},[p.showIcon&&s(i)?(b(),he(s(Ze),{key:0,class:O(s(c))},{default:le(()=>[(b(),he(Et(s(i))))]),_:1},8,["class"])):se("v-if",!0),E("div",{class:O(s(n).e("content"))},[p.title||p.$slots.title?(b(),M("span",{key:0,class:O([s(n).e("title"),s(d)])},[be(p.$slots,"title",{},()=>[Ct($e(p.title),1)])],2)):se("v-if",!0),p.$slots.default||p.description?(b(),M("p",{key:1,class:O(s(n).e("description"))},[be(p.$slots,"default",{},()=>[Ct($e(p.description),1)])],2)):se("v-if",!0),p.closable?(b(),M(Qe,{key:2},[p.closeText?(b(),M("div",{key:0,class:O([s(n).e("close-btn"),s(n).is("customed")]),onClick:u},$e(p.closeText),3)):(b(),he(s(Ze),{key:1,class:O(s(n).e("close-btn")),onClick:u},{default:le(()=>[ee(s(r))]),_:1},8,["class"]))],64)):se("v-if",!0)],2)],2),[[Lt,a.value]])]),_:3},8,["name"]))}});var BK=Le(LK,[["__file","alert.vue"]]);const VK=yt(BK),Ka=Symbol("formContextKey"),Hl=Symbol("formItemContextKey"),So=(e,t={})=>{const o=D(void 0),r=t.prop?o:i6("size"),l=t.global?o:bK(),n=t.form?{size:void 0}:Ge(Ka,void 0),a=t.formItem?{size:void 0}:Ge(Hl,void 0);return C(()=>r.value||s(e)||(a==null?void 0:a.size)||(n==null?void 0:n.size)||l.value||"")},xr=e=>{const t=i6("disabled"),o=Ge(Ka,void 0);return C(()=>t.value||s(e)||(o==null?void 0:o.disabled)||!1)},sr=()=>{const e=Ge(Ka,void 0),t=Ge(Hl,void 0);return{form:e,formItem:t}},bl=(e,{formItemContext:t,disableIdGeneration:o,disableIdManagement:r})=>{o||(o=D(!1)),r||(r=D(!1));const l=D();let n;const a=C(()=>{var i;return!!(!(e.label||e.ariaLabel)&&t&&t.inputIds&&((i=t.inputIds)==null?void 0:i.length)<=1)});return ft(()=>{n=Se([Yt(e,"id"),o],([i,c])=>{const d=i??(c?void 0:Qo().value);d!==l.value&&(t!=null&&t.removeInputId&&(l.value&&t.removeInputId(l.value),!(r!=null&&r.value)&&!c&&d&&t.addInputId(d)),l.value=d)},{immediate:!0})}),Rn(()=>{n&&n(),t!=null&&t.removeInputId&&l.value&&t.removeInputId(l.value)}),{isLabeledByFormItem:a,inputId:l}},DK=Pe({size:{type:String,values:Rl},disabled:Boolean}),HK=Pe({...DK,model:Object,rules:{type:ue(Object)},labelPosition:{type:String,values:["left","right","top"],default:"right"},requireAsteriskPosition:{type:String,values:["left","right"],default:"left"},labelWidth:{type:[String,Number],default:""},labelSuffix:{type:String,default:""},inline:Boolean,inlineMessage:Boolean,statusIcon:Boolean,showMessage:{type:Boolean,default:!0},validateOnRuleChange:{type:Boolean,default:!0},hideRequiredAsterisk:Boolean,scrollToError:Boolean,scrollIntoViewOptions:{type:[Object,Boolean]}}),FK={validate:(e,t,o)=>(Ke(e)||ut(e))&&Co(t)&&ut(o)};function jK(){const e=D([]),t=C(()=>{if(!e.value.length)return"0";const n=Math.max(...e.value);return n?`${n}px`:""});function o(n){const a=e.value.indexOf(n);return a===-1&&t.value,a}function r(n,a){if(n&&a){const i=o(a);e.value.splice(i,1,n)}else n&&e.value.push(n)}function l(n){const a=o(n);a>-1&&e.value.splice(a,1)}return{autoLabelWidth:t,registerLabelWidth:r,deregisterLabelWidth:l}}const Gd=(e,t)=>{const o=Gn(t);return o.length>0?e.filter(r=>r.prop&&o.includes(r.prop)):e},KK=N({...N({name:"ElForm"}),props:HK,emits:FK,setup(e,{expose:t,emit:o}){const r=e,l=[],n=So(),a=ze("form"),i=C(()=>{const{labelPosition:w,inline:x}=r;return[a.b(),a.m(n.value||"default"),{[a.m(`label-${w}`)]:w,[a.m("inline")]:x}]}),c=w=>l.find(x=>x.prop===w),d=w=>{l.push(w)},u=w=>{w.prop&&l.splice(l.indexOf(w),1)},p=(w=[])=>{r.model&&Gd(l,w).forEach(x=>x.resetField())},h=(w=[])=>{Gd(l,w).forEach(x=>x.clearValidate())},v=C(()=>!!r.model),m=w=>{if(l.length===0)return[];const x=Gd(l,w);return x.length?x:[]},f=async w=>g(void 0,w),_=async(w=[])=>{if(!v.value)return!1;const x=m(w);if(x.length===0)return!0;let $={};for(const T of x)try{await T.validate("")}catch(R){$={...$,...R}}return Object.keys($).length===0?!0:Promise.reject($)},g=async(w=[],x)=>{const $=!it(x);try{const T=await _(w);return T===!0&&await(x==null?void 0:x(T)),T}catch(T){if(T instanceof Error)throw T;const R=T;return r.scrollToError&&y(Object.keys(R)[0]),await(x==null?void 0:x(!1,R)),$&&Promise.reject(R)}},y=w=>{var x;const $=Gd(l,w)[0];$&&((x=$.$el)==null||x.scrollIntoView(r.scrollIntoViewOptions))};return Se(()=>r.rules,()=>{r.validateOnRuleChange&&f().catch(w=>void 0)},{deep:!0}),zt(Ka,Dt({...Bo(r),emit:o,resetFields:p,clearValidate:h,validateField:g,getField:c,addField:d,removeField:u,...jK()})),t({validate:f,validateField:g,resetFields:p,clearValidate:h,scrollToField:y,fields:l}),(w,x)=>(b(),M("form",{class:O(s(i))},[be(w.$slots,"default")],2))}});var UK=Le(KK,[["__file","form.vue"]]);function WK(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var l4={exports:{}},No=l4.exports={},Fl,jl;function Gh(){throw new Error("setTimeout has not been defined")}function Xh(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?Fl=setTimeout:Fl=Gh}catch{Fl=Gh}try{typeof clearTimeout=="function"?jl=clearTimeout:jl=Xh}catch{jl=Xh}})();function n4(e){if(Fl===setTimeout)return setTimeout(e,0);if((Fl===Gh||!Fl)&&setTimeout)return Fl=setTimeout,setTimeout(e,0);try{return Fl(e,0)}catch{try{return Fl.call(null,e,0)}catch{return Fl.call(this,e,0)}}}function qK(e){if(jl===clearTimeout)return clearTimeout(e);if((jl===Xh||!jl)&&clearTimeout)return jl=clearTimeout,clearTimeout(e);try{return jl(e)}catch{try{return jl.call(null,e)}catch{return jl.call(this,e)}}}var bn=[],Zi=!1,Ua,Xd=-1;function YK(){!Zi||!Ua||(Zi=!1,Ua.length?bn=Ua.concat(bn):Xd=-1,bn.length&&a4())}function a4(){if(!Zi){var e=n4(YK);Zi=!0;for(var t=bn.length;t;){for(Ua=bn,bn=[];++Xd1)for(var o=1;o"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Zd(e,t,o){return QK()?Zd=Reflect.construct.bind():Zd=function(l,n,a){var i=[null];i.push.apply(i,n);var c=Function.bind.apply(l,i),d=new c;return a&&Ac(d,a.prototype),d},Zd.apply(null,arguments)}function eU(e){return Function.toString.call(e).indexOf("[native code]")!==-1}function Jh(e){var t=typeof Map=="function"?new Map:void 0;return Jh=function(r){if(r===null||!eU(r))return r;if(typeof r!="function")throw new TypeError("Super expression must either be null or a function");if(typeof t<"u"){if(t.has(r))return t.get(r);t.set(r,l)}function l(){return Zd(r,arguments,Zh(this).constructor)}return l.prototype=Object.create(r.prototype,{constructor:{value:l,enumerable:!1,writable:!0,configurable:!0}}),Ac(l,r)},Jh(e)}var tU=/%[sdj%]/g,oU=function(){};typeof XK<"u";function Qh(e){if(!e||!e.length)return null;var t={};return e.forEach(function(o){var r=o.field;t[r]=t[r]||[],t[r].push(o)}),t}function Vr(e){for(var t=arguments.length,o=new Array(t>1?t-1:0),r=1;r=n)return i;switch(i){case"%s":return String(o[l++]);case"%d":return Number(o[l++]);case"%j":try{return JSON.stringify(o[l++])}catch{return"[Circular]"}break;default:return i}});return a}return e}function rU(e){return e==="string"||e==="url"||e==="hex"||e==="email"||e==="date"||e==="pattern"}function Ko(e,t){return!!(e==null||t==="array"&&Array.isArray(e)&&!e.length||rU(t)&&typeof e=="string"&&!e)}function lU(e,t,o){var r=[],l=0,n=e.length;function a(i){r.push.apply(r,i||[]),l++,l===n&&o(r)}e.forEach(function(i){t(i,a)})}function s4(e,t,o){var r=0,l=e.length;function n(a){if(a&&a.length){o(a);return}var i=r;r=r+1,i{delete n[m]}),o.headers=Tr.concat(a,n);const i=[];let c=!0;this.interceptors.request.forEach(function(f){typeof f.runWhen=="function"&&f.runWhen(o)===!1||(c=c&&f.synchronous,i.unshift(f.fulfilled,f.rejected))});const d=[];this.interceptors.response.forEach(function(f){d.push(f.fulfilled,f.rejected)});let u,p=0,h;if(!c){const m=[Rb.bind(this),void 0];for(m.unshift.apply(m,i),m.push.apply(m,d),h=m.length,u=Promise.resolve(o);p{if(!r._listeners)return;let n=r._listeners.length;for(;n-- >0;)r._listeners[n](l);r._listeners=null}),this.promise.then=l=>{let n;const a=new Promise(i=>{r.subscribe(i),n=i}).then(l);return a.cancel=function(){r.unsubscribe(n)},a},t(function(n,a,i){r.reason||(r.reason=new Ti(n,a,i),o(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const o=this._listeners.indexOf(t);o!==-1&&this._listeners.splice(o,1)}static source(){let t;return{token:new T0(function(l){t=l}),cancel:t}}}function TS(e){return function(o){return e.apply(null,o)}}function $S(e){return Ue.isObject(e)&&e.isAxiosError===!0}const $0={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries($0).forEach(([e,t])=>{$0[t]=e});function Vb(e){const t=new Ta(e),o=ob(Ta.prototype.request,t);return Ue.extend(o,Ta.prototype,t,{allOwnKeys:!0}),Ue.extend(o,t,null,{allOwnKeys:!0}),o.create=function(l){return Vb(Ea(e,l))},o}const fo=Vb(tc);fo.Axios=Ta,fo.CanceledError=Ti,fo.CancelToken=T0,fo.isCancel=Sb,fo.VERSION=Lb,fo.toFormData=ad,fo.AxiosError=Ft,fo.Cancel=fo.CanceledError,fo.all=function(t){return Promise.all(t)},fo.spread=TS,fo.isAxiosError=$S,fo.mergeConfig=Ea,fo.AxiosHeaders=Tr,fo.formToJSON=e=>kb(Ue.isHTMLForm(e)?new FormData(e):e),fo.getAdapter=Pb.getAdapter,fo.HttpStatusCode=$0,fo.default=fo;const MS={key:0},AS={key:0},zS={key:1},IS=N({__name:"ConfirmationProcess",props:{transactionHash:{type:String,required:!0}},setup(e){const t=e,o=Tt.get.order,r=Tt.get.network,l=Tt.get.receiver,n=D(1),a=D(!0),i=D(0),c=D(null),d=D(null),u=C(()=>qt.apiUrl&&qt.reminderEmail&&!c.value),p=async f=>{a.value=!1,c.value=f,s0(ht.pleaseWait),clearInterval(i.value),await fo.post("set-reminder-email",{email:f,hash:t.transactionHash}),Gs();const _=Js.get("redirectUrls");_?window.location.href=_.reminderEmail||_.success:window.location.reload()},h=()=>{Er.fire({title:ht.importantInformation,html:ht.setReminderEmailMsg,showCancelButton:!0,confirmButtonText:ht.continue}).then(async f=>{if(f.isConfirmed){if(qt.userEmail)return p(qt.userEmail);const{value:_}=await Er.fire({title:ht.enterYourEmailAddress,input:"email",inputPlaceholder:ht.email,showCancelButton:!0,confirmButtonText:ht.save});_&&p(_)}})},v=Tt.transactionInstance(t.transactionHash),m=()=>{window.open(v.getUrl(),"_blank")};return ft(async()=>{c0(),await Vt.call("confirmationStarted",{order:o,network:r,transaction:v});let f;try{zo.log("Waiting for transaction");try{f=await v.wait(5e3),zo.log("Verifying transaction"),f=await v.verifyTransfer(tb.INCOMING,l,o.paymentAmount)}catch(y){f=Ci.FAILED,zo.error(y)}zo.log("Transaction status:",f),f==Ci.CONFIRMED&&Ho.get.blockConfirmationCount>0&&(f=await new Promise(y=>{i.value=setInterval(async()=>{d.value=await v.getBlockConfirmationCount(),d.value>=Ho.get.blockConfirmationCount&&(y(Ci.CONFIRMED),clearInterval(i.value))},5e3)}))}catch(y){f=Ci.FAILED,zo.error(y)}n.value=2;let _;qt.createTransaction&&(_=await Tt.get.api.paymentFinished(f==Ci.CONFIRMED)),a.value=!1,Gs();const g=await Vt.call("confirmationCompleted",{order:o,status:f,network:r,transaction:v});if(Vt.check(g)&&!g.disablePopup&&typeof _<"u"){let y;_.success?y=X1(_.message):y=bo(_.message),y.then(()=>{Ys(),s0(ht.redirecting),_.data.redirect=="reload"?window.location.reload():window.location.href=_.data.redirect})}}),(f,_)=>{const g=nt("cp-loading"),y=nt("el-col"),w=nt("el-button"),x=nt("el-row"),$=nt("cp-modal");return a.value?(b(),he($,{key:0,title:s(ht).waitingConfirmation},{default:le(()=>[ee(g),ee(x,{justify:"center",class:"text-center"},{default:le(()=>[n.value==1?(b(),M("div",MS,[ee(y,{span:24,class:"margin-bottom"},{default:le(()=>[d.value!=null?(b(),M("div",AS,$e(s(ht).waitingBlockConfirmations)+" "+$e(d.value)+" / "+$e(s(Ho).get.blockConfirmationCount),1)):(b(),M("div",zS,$e(s(ht).waitingTransactionConfirmations),1))]),_:1}),u0()?se("",!0):(b(),he(y,{key:0,span:24},{default:le(()=>[ee(w,{class:"margin-bottom button-colors",type:"primary",onClick:_[0]||(_[0]=T=>m())},{default:le(()=>[Ct($e(s(ht).openInExplorer),1)]),_:1})]),_:1})),u.value?(b(),he(w,{key:1,type:"info",class:"margin-bottom",onClick:_[1]||(_[1]=T=>h())},{default:le(()=>[Ct($e(s(ht).setReminderEmail),1)]),_:1})):se("",!0)])):(b(),he(y,{key:1,span:24,class:"margin-bottom"},{default:le(()=>[Ct($e(s(ht).paymentCompleting),1)]),_:1}))]),_:1})]),_:1},8,["title"])):se("",!0)}}}),OS={key:0},NS={key:2},PS=N({__name:"App",setup(e){const t=D(!1),o=D(!0),r=C(()=>Ho.get.networks.length==1),l=C(()=>{switch(qt.mode){case"network":return r.value?!Tt.get.network:!0;case"currency":return!0;default:return!0}}),n=C(()=>i.value?Tt.get.network:Tt.get.network&&!Tt.get.transactionHash),a=C(()=>{switch(qt.mode){case"network":return r.value?!0:!o.value;case"currency":return!1;default:return!0}}),i=C(()=>{switch(qt.mode){case"network":return r.value;case"currency":return!1;default:return!1}}),c=()=>{Tt.isPaymentAmountUpdating||Tt.$reset()},d=u=>Object.keys(u).length===0;return zt("$init",async(u,p)=>{if(!p)return bo(ht.notFoundAnyCurrency);t.value=!0,Tt.setOrderParams({...Ho.get.order,paymentCurrency:p}),zo.log("isOrderAndInitAmountNotEqual",Tt.isOrderAndInitAmountNotEqual),Tt.isOrderAndInitAmountNotEqual&&Tt.setInit(null);const h=Tt.get.init,v=await Vt.call("init",{network:u,currency:p,init:h});if(zo.log("Init context",v),!Vt.check(v))return t.value=!1;v!=null&&v.init&&Tt.setInit(v.init);let m={success:!0};try{const f=async _=>{Ho.set("blockConfirmationCount",_.blockConfirmationCount);const g=qt.providers[u.code],y=wi(u,["wsUrl"]),w=new g.Provider(y),x=G1(u.wallets,g.browser.adapters);return d(x)?{success:!1,message:ht.notFoundAnyWallet.replace("{networkName}",u.name)}:(uC(g),pC(w),Tt.setInit(_),Tt.setNetwork(u),Tt.setReceiver(_.receiver),Tt.setOrderParams(_.order),{success:!0})};Tt.get.init?(zo.log("init","use exist init data"),m=await f(Tt.get.init)):(zo.log("init","get init data from api"),m=await f(await Tt.get.api.init(u)))}catch(f){zo.error(f),m={success:!1,message:f.message}}t.value=!1,m.success||bo(m.message??"").then(()=>{if(m.data){Ys();const f=m.data;f.redirect?window.location.href=f.redirect:f.redirect=="reload"&&window.location.reload()}})}),(u,p)=>{const h=nt("cp-modal"),v=nt("cp-loading"),m=nt("cp-container");return s(Ho).isAppStarted?(b(),he(m,{key:0},{default:le(()=>[l.value?(b(),M("div",OS,[s(qt).mode=="network"?(b(),he(SC,{key:0})):s(qt).mode=="currency"?(b(),he(IC,{key:1})):se("",!0)])):se("",!0),n.value?(b(),he(h,{key:1,onClose:p[1]||(p[1]=f=>c()),class:O(i.value?"disabled":"")},{default:le(()=>[a.value?(b(),he(HC,{key:0})):se("",!0),ee(QC,{onStatusChanged:p[0]||(p[0]=f=>o.value=f)})]),_:1},8,["class"])):se("",!0),s(Tt).get.transactionHash?(b(),M("div",NS,[s(Tt).get.process==s(Zu).TRANSACTION?(b(),he(e7,{key:0,transactionHash:s(Tt).get.transactionHash},null,8,["transactionHash"])):s(Tt).get.process==s(Zu).CONFIRMATION?(b(),he(IS,{key:1,transactionHash:s(Tt).get.transactionHash},null,8,["transactionHash"])):se("",!0)])):se("",!0),t.value?(b(),he(h,{key:3,title:s(ht).loading},{default:le(()=>[ee(v)]),_:1},8,["title"])):se("",!0)]),_:1})):se("",!0)}}});var dd={exports:{}};dd.exports,function(e,t){var o=200,r="__lodash_hash_undefined__",l=9007199254740991,n="[object Arguments]",a="[object Array]",i="[object Boolean]",c="[object Date]",d="[object Error]",u="[object Function]",p="[object GeneratorFunction]",h="[object Map]",v="[object Number]",m="[object Object]",f="[object Promise]",_="[object RegExp]",g="[object Set]",y="[object String]",w="[object Symbol]",x="[object WeakMap]",$="[object ArrayBuffer]",T="[object DataView]",R="[object Float32Array]",P="[object Float64Array]",L="[object Int8Array]",V="[object Int16Array]",B="[object Int32Array]",j="[object Uint8Array]",te="[object Uint8ClampedArray]",J="[object Uint16Array]",Z="[object Uint32Array]",H=/[\\^$.*+?()[\]{}|]/g,F=/\w*$/,K=/^\[object .+?Constructor\]$/,I=/^(?:0|[1-9]\d*)$/,U={};U[n]=U[a]=U[$]=U[T]=U[i]=U[c]=U[R]=U[P]=U[L]=U[V]=U[B]=U[h]=U[v]=U[m]=U[_]=U[g]=U[y]=U[w]=U[j]=U[te]=U[J]=U[Z]=!0,U[d]=U[u]=U[x]=!1;var oe=typeof Ao=="object"&&Ao&&Ao.Object===Object&&Ao,ne=typeof self=="object"&&self&&self.Object===Object&&self,ce=oe||ne||Function("return this")(),Q=t&&!t.nodeType&&t,Me=Q&&!0&&e&&!e.nodeType&&e,de=Me&&Me.exports===Q;function _e(ie,Ve){return ie.set(Ve[0],Ve[1]),ie}function me(ie,Ve){return ie.add(Ve),ie}function Re(ie,Ve){for(var Xe=-1,$t=ie?ie.length:0;++Xe<$t&&Ve(ie[Xe],Xe,ie)!==!1;);return ie}function Ce(ie,Ve){for(var Xe=-1,$t=Ve.length,Yo=ie.length;++Xe<$t;)ie[Yo+Xe]=Ve[Xe];return ie}function Ee(ie,Ve,Xe,$t){for(var Yo=-1,mr=ie?ie.length:0;++Yo-1}function ao(ie,Ve){var Xe=this.__data__,$t=_s(Xe,ie);return $t<0?Xe.push([ie,Ve]):Xe[$t][1]=Ve,this}rr.prototype.clear=ua,rr.prototype.delete=He,rr.prototype.get=ot,rr.prototype.has=eo,rr.prototype.set=ao;function Po(ie){var Ve=-1,Xe=ie?ie.length:0;for(this.clear();++Ve-1&&ie%1==0&&ie-1&&ie%1==0&&ie<=l}function ws(ie){var Ve=typeof ie;return!!ie&&(Ve=="object"||Ve=="function")}function lf(ie){return!!ie&&typeof ie=="object"}function uu(ie){return tf(ie)?ru(ie):nm(ie)}function ym(){return[]}function da(){return!1}e.exports=Qp}(dd,dd.exports);var RS=dd.exports;const Db=cl(RS);function LS({store:e}){const t=Db(e.$state);e.$reset=()=>e.$patch(Db(t))}const BS='a[href],button:not([disabled]),button:not([hidden]),:not([tabindex="-1"]),input:not([disabled]),input:not([type="hidden"]),select:not([disabled]),textarea:not([disabled])',VS=e=>getComputedStyle(e).position==="fixed"?!1:e.offsetParent!==null,Hb=e=>Array.from(e.querySelectorAll(BS)).filter(t=>DS(t)&&VS(t)),DS=e=>{if(e.tabIndex>0||e.tabIndex===0&&e.getAttribute("tabIndex")!==null)return!0;if(e.disabled)return!1;switch(e.nodeName){case"A":return!!e.href&&e.rel!=="ignore";case"INPUT":return!(e.type==="hidden"||e.type==="file");case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},pd=function(e,t,...o){let r;t.includes("mouse")||t.includes("click")?r="MouseEvents":t.includes("key")?r="KeyboardEvent":r="HTMLEvents";const l=document.createEvent(r);return l.initEvent(t,...o),e.dispatchEvent(l),e},Fb=e=>!e.getAttribute("aria-owns"),jb=(e,t,o)=>{const{parentNode:r}=e;if(!r)return null;const l=r.querySelectorAll(o),n=Array.prototype.indexOf.call(l,e);return l[n+t]||null},fd=e=>{e&&(e.focus(),!Fb(e)&&e.click())},ho=(e,t,{checkForDefaultPrevented:o=!0}={})=>l=>{const n=e==null?void 0:e(l);if(o===!1||!n)return t==null?void 0:t(l)},Kb=e=>t=>t.pointerType==="mouse"?e(t):void 0;var HS=Object.defineProperty,FS=Object.defineProperties,jS=Object.getOwnPropertyDescriptors,Ub=Object.getOwnPropertySymbols,KS=Object.prototype.hasOwnProperty,US=Object.prototype.propertyIsEnumerable,Wb=(e,t,o)=>t in e?HS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,WS=(e,t)=>{for(var o in t||(t={}))KS.call(t,o)&&Wb(e,o,t[o]);if(Ub)for(var o of Ub(t))US.call(t,o)&&Wb(e,o,t[o]);return e},qS=(e,t)=>FS(e,jS(t));function qb(e,t){var o;const r=lo();return Go(()=>{r.value=e()},qS(WS({},t),{flush:(o=void 0)!=null?o:"sync"})),ui(r)}var Yb;const Nt=typeof window<"u",YS=e=>typeof e<"u",M0=e=>typeof e=="function",GS=e=>typeof e=="string",$i=()=>{},A0=Nt&&((Yb=window==null?void 0:window.navigator)==null?void 0:Yb.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function qn(e){return typeof e=="function"?e():s(e)}function Gb(e,t){function o(...r){return new Promise((l,n)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(l).catch(n)})}return o}function XS(e,t={}){let o,r,l=$i;const n=i=>{clearTimeout(i),l(),l=$i};return i=>{const c=qn(e),d=qn(t.maxWait);return o&&n(o),c<=0||d!==void 0&&d<=0?(r&&(n(r),r=null),Promise.resolve(i())):new Promise((u,p)=>{l=t.rejectOnCancel?p:u,d&&!r&&(r=setTimeout(()=>{o&&n(o),r=null,u(i())},d)),o=setTimeout(()=>{r&&n(r),r=null,u(i())},c)})}}function ZS(e,t=!0,o=!0,r=!1){let l=0,n,a=!0,i=$i,c;const d=()=>{n&&(clearTimeout(n),n=void 0,i(),i=$i)};return p=>{const h=qn(e),v=Date.now()-l,m=()=>c=p();return d(),h<=0?(l=Date.now(),m()):(v>h&&(o||!a)?(l=Date.now(),m()):t&&(c=new Promise((f,_)=>{i=r?_:f,n=setTimeout(()=>{l=Date.now(),a=!0,f(m()),d()},Math.max(0,h-v))})),!o&&!n&&(n=setTimeout(()=>a=!0,h)),a=!1,c)}}function JS(e){return e}function QS(e,t){let o,r,l;const n=D(!0),a=()=>{n.value=!0,l()};Se(e,a,{flush:"sync"});const i=M0(t)?t:t.get,c=M0(t)?void 0:t.set,d=uk((u,p)=>(r=u,l=p,{get(){return n.value&&(o=i(),n.value=!1),r(),o},set(h){c==null||c(h)}}));return Object.isExtensible(d)&&(d.trigger=a),d}function rc(e){return xf()?(kf(e),!0):!1}function eE(e,t=200,o={}){return Gb(XS(t,o),e)}function tE(e,t=200,o={}){const r=D(e.value),l=eE(()=>{r.value=e.value},t,o);return Se(e,()=>l()),r}function Xb(e,t=200,o=!1,r=!0,l=!1){return Gb(ZS(t,o,r,l),e)}function z0(e,t=!0){wt()?ft(e):t?e():et(e)}function $a(e,t,o={}){const{immediate:r=!0}=o,l=D(!1);let n=null;function a(){n&&(clearTimeout(n),n=null)}function i(){l.value=!1,a()}function c(...d){a(),l.value=!0,n=setTimeout(()=>{l.value=!1,n=null,e(...d)},qn(t))}return r&&(l.value=!0,Nt&&c()),rc(i),{isPending:ui(l),start:c,stop:i}}function $r(e){var t;const o=qn(e);return(t=o==null?void 0:o.$el)!=null?t:o}const Yn=Nt?window:void 0,oE=Nt?window.document:void 0;function oo(...e){let t,o,r,l;if(GS(e[0])||Array.isArray(e[0])?([o,r,l]=e,t=Yn):[t,o,r,l]=e,!t)return $i;Array.isArray(o)||(o=[o]),Array.isArray(r)||(r=[r]);const n=[],a=()=>{n.forEach(u=>u()),n.length=0},i=(u,p,h,v)=>(u.addEventListener(p,h,v),()=>u.removeEventListener(p,h,v)),c=Se(()=>[$r(t),qn(l)],([u,p])=>{a(),u&&n.push(...o.flatMap(h=>r.map(v=>i(u,h,v,p))))},{immediate:!0,flush:"post"}),d=()=>{c(),a()};return rc(d),d}let Zb=!1;function I0(e,t,o={}){const{window:r=Yn,ignore:l=[],capture:n=!0,detectIframe:a=!1}=o;if(!r)return;A0&&!Zb&&(Zb=!0,Array.from(r.document.body.children).forEach(h=>h.addEventListener("click",$i)));let i=!0;const c=h=>l.some(v=>{if(typeof v=="string")return Array.from(r.document.querySelectorAll(v)).some(m=>m===h.target||h.composedPath().includes(m));{const m=$r(v);return m&&(h.target===m||h.composedPath().includes(m))}}),u=[oo(r,"click",h=>{const v=$r(e);if(!(!v||v===h.target||h.composedPath().includes(v))){if(h.detail===0&&(i=!c(h)),!i){i=!0;return}t(h)}},{passive:!0,capture:n}),oo(r,"pointerdown",h=>{const v=$r(e);v&&(i=!h.composedPath().includes(v)&&!c(h))},{passive:!0}),a&&oo(r,"blur",h=>{var v;const m=$r(e);((v=r.document.activeElement)==null?void 0:v.tagName)==="IFRAME"&&!(m!=null&&m.contains(r.document.activeElement))&&t(h)})].filter(Boolean);return()=>u.forEach(h=>h())}function rE(e={}){var t;const{window:o=Yn}=e,r=(t=e.document)!=null?t:o==null?void 0:o.document,l=QS(()=>null,()=>r==null?void 0:r.activeElement);return o&&(oo(o,"blur",n=>{n.relatedTarget===null&&l.trigger()},!0),oo(o,"focus",l.trigger,!0)),l}function Jb(e,t=!1){const o=D(),r=()=>o.value=!!e();return r(),z0(r,t),o}function lE(e){return JSON.parse(JSON.stringify(e))}const O0=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof Xl<"u"?Xl:typeof self<"u"?self:{},N0="__vueuse_ssr_handlers__";O0[N0]=O0[N0]||{},O0[N0];function nE(e,t,{window:o=Yn,initialValue:r=""}={}){const l=D(r),n=C(()=>{var a;return $r(t)||((a=o==null?void 0:o.document)==null?void 0:a.documentElement)});return Se([n,()=>qn(e)],([a,i])=>{var c;if(a&&o){const d=(c=o.getComputedStyle(a).getPropertyValue(i))==null?void 0:c.trim();l.value=d||r}},{immediate:!0}),Se(l,a=>{var i;(i=n.value)!=null&&i.style&&n.value.style.setProperty(qn(e),a)}),l}function aE({document:e=oE}={}){if(!e)return D("visible");const t=D(e.visibilityState);return oo(e,"visibilitychange",()=>{t.value=e.visibilityState}),t}var Qb=Object.getOwnPropertySymbols,iE=Object.prototype.hasOwnProperty,sE=Object.prototype.propertyIsEnumerable,cE=(e,t)=>{var o={};for(var r in e)iE.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(e!=null&&Qb)for(var r of Qb(e))t.indexOf(r)<0&&sE.call(e,r)&&(o[r]=e[r]);return o};function so(e,t,o={}){const r=o,{window:l=Yn}=r,n=cE(r,["window"]);let a;const i=Jb(()=>l&&"ResizeObserver"in l),c=()=>{a&&(a.disconnect(),a=void 0)},d=Se(()=>$r(e),p=>{c(),i.value&&l&&p&&(a=new ResizeObserver(t),a.observe(p,n))},{immediate:!0,flush:"post"}),u=()=>{c(),d()};return rc(u),{isSupported:i,stop:u}}function e_(e,t={}){const{reset:o=!0,windowResize:r=!0,windowScroll:l=!0,immediate:n=!0}=t,a=D(0),i=D(0),c=D(0),d=D(0),u=D(0),p=D(0),h=D(0),v=D(0);function m(){const f=$r(e);if(!f){o&&(a.value=0,i.value=0,c.value=0,d.value=0,u.value=0,p.value=0,h.value=0,v.value=0);return}const _=f.getBoundingClientRect();a.value=_.height,i.value=_.bottom,c.value=_.left,d.value=_.right,u.value=_.top,p.value=_.width,h.value=_.x,v.value=_.y}return so(e,m),Se(()=>$r(e),f=>!f&&m()),l&&oo("scroll",m,{capture:!0,passive:!0}),r&&oo("resize",m,{passive:!0}),z0(()=>{n&&m()}),{height:a,bottom:i,left:c,right:d,top:u,width:p,x:h,y:v,update:m}}var t_=Object.getOwnPropertySymbols,uE=Object.prototype.hasOwnProperty,dE=Object.prototype.propertyIsEnumerable,pE=(e,t)=>{var o={};for(var r in e)uE.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(e!=null&&t_)for(var r of t_(e))t.indexOf(r)<0&&dE.call(e,r)&&(o[r]=e[r]);return o};function o_(e,t,o={}){const r=o,{window:l=Yn}=r,n=pE(r,["window"]);let a;const i=Jb(()=>l&&"MutationObserver"in l),c=()=>{a&&(a.disconnect(),a=void 0)},d=Se(()=>$r(e),p=>{c(),i.value&&l&&p&&(a=new MutationObserver(t),a.observe(p,n))},{immediate:!0}),u=()=>{c(),d()};return rc(u),{isSupported:i,stop:u}}var r_;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(r_||(r_={}));var fE=Object.defineProperty,l_=Object.getOwnPropertySymbols,hE=Object.prototype.hasOwnProperty,vE=Object.prototype.propertyIsEnumerable,n_=(e,t,o)=>t in e?fE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,mE=(e,t)=>{for(var o in t||(t={}))hE.call(t,o)&&n_(e,o,t[o]);if(l_)for(var o of l_(t))vE.call(t,o)&&n_(e,o,t[o]);return e};mE({linear:JS},{easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]});function a_(e,t,o,r={}){var l,n,a;const{clone:i=!1,passive:c=!1,eventName:d,deep:u=!1,defaultValue:p}=r,h=wt(),v=o||(h==null?void 0:h.emit)||((l=h==null?void 0:h.$emit)==null?void 0:l.bind(h))||((a=(n=h==null?void 0:h.proxy)==null?void 0:n.$emit)==null?void 0:a.bind(h==null?void 0:h.proxy));let m=d;t||(t="modelValue"),m=d||m||`update:${t.toString()}`;const f=g=>i?M0(i)?i(g):lE(g):g,_=()=>YS(e[t])?f(e[t]):p;if(c){const g=_(),y=D(g);return Se(()=>e[t],w=>y.value=f(w)),Se(y,w=>{(w!==e[t]||u)&&v(m,w)},{deep:u}),y}else return C({get(){return _()},set(g){v(m,g)}})}function gE({window:e=Yn}={}){if(!e)return D(!1);const t=D(e.document.hasFocus());return oo(e,"blur",()=>{t.value=!1}),oo(e,"focus",()=>{t.value=!0}),t}function bE(e={}){const{window:t=Yn,initialWidth:o=1/0,initialHeight:r=1/0,listenOrientation:l=!0,includeScrollbar:n=!0}=e,a=D(o),i=D(r),c=()=>{t&&(n?(a.value=t.innerWidth,i.value=t.innerHeight):(a.value=t.document.documentElement.clientWidth,i.value=t.document.documentElement.clientHeight))};return c(),z0(c),oo("resize",c,{passive:!0}),l&&oo("orientationchange",c,{passive:!0}),{width:a,height:i}}const i_=()=>Nt&&/firefox/i.test(window.navigator.userAgent),_E=(e,t)=>{if(!Nt||!e||!t)return!1;const o=e.getBoundingClientRect();let r;return t instanceof Element?r=t.getBoundingClientRect():r={top:0,right:window.innerWidth,bottom:window.innerHeight,left:0},o.topr.top&&o.right>r.left&&o.left{let t=0,o=e;for(;o;)t+=o.offsetTop,o=o.offsetParent;return t},P0=(e,t)=>Math.abs(s_(e)-s_(t)),R0=e=>{let t,o;return e.type==="touchend"?(o=e.changedTouches[0].clientY,t=e.changedTouches[0].clientX):e.type.startsWith("touch")?(o=e.touches[0].clientY,t=e.touches[0].clientX):(o=e.clientY,t=e.clientX),{clientX:t,clientY:o}};function wE(e,t,o,r){const l=o-t;return e/=r/2,e<1?l/2*e*e*e+t:l/2*((e-=2)*e*e+2)+t}var c_=typeof Xl=="object"&&Xl&&Xl.Object===Object&&Xl,yE=typeof self=="object"&&self&&self.Object===Object&&self,pl=c_||yE||Function("return this")(),qr=pl.Symbol,u_=Object.prototype,xE=u_.hasOwnProperty,kE=u_.toString,lc=qr?qr.toStringTag:void 0;function CE(e){var t=xE.call(e,lc),o=e[lc];try{e[lc]=void 0;var r=!0}catch{}var l=kE.call(e);return r&&(t?e[lc]=o:delete e[lc]),l}var SE=Object.prototype,EE=SE.toString;function TE(e){return EE.call(e)}var $E="[object Null]",ME="[object Undefined]",d_=qr?qr.toStringTag:void 0;function Ma(e){return e==null?e===void 0?ME:$E:d_&&d_ in Object(e)?CE(e):TE(e)}function Il(e){return e!=null&&typeof e=="object"}var AE="[object Symbol]";function hd(e){return typeof e=="symbol"||Il(e)&&Ma(e)==AE}function L0(e,t){for(var o=-1,r=e==null?0:e.length,l=Array(r);++o0){if(++t>=nT)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function cT(e){return function(){return e}}var vd=function(){try{var e=za(Object,"defineProperty");return e({},"",{}),e}catch{}}(),uT=vd?function(e,t){return vd(e,"toString",{configurable:!0,enumerable:!1,value:cT(t),writable:!0})}:B0,w_=sT(uT);function dT(e,t){for(var o=-1,r=e==null?0:e.length;++o-1}var mT=9007199254740991,gT=/^(?:0|[1-9]\d*)$/;function md(e,t){var o=typeof e;return t=t??mT,!!t&&(o=="number"||o!="symbol"&&gT.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=wT}function Ai(e){return e!=null&&K0(e.length)&&!V0(e)}function yT(e,t,o){if(!wr(o))return!1;var r=typeof t;return(r=="number"?Ai(o)&&md(t,o.length):r=="string"&&t in o)?nc(o[t],e):!1}function xT(e){return C_(function(t,o){var r=-1,l=o.length,n=l>1?o[l-1]:void 0,a=l>2?o[2]:void 0;for(n=e.length>3&&typeof n=="function"?(l--,n):void 0,a&&yT(o[0],o[1],a)&&(n=l<3?void 0:n,l=1),t=Object(t);++r-1}function I$(e,t){var o=this.__data__,r=gd(o,e);return r<0?(++this.size,o.push([e,t])):o[r][1]=t,this}function dn(e){var t=-1,o=e==null?0:e.length;for(this.clear();++t0&&o(i)?t>1?fc(i,t-1,o,r,l):X0(l,i):r||(l[l.length]=i)}return l}function P_(e){var t=e==null?0:e.length;return t?fc(e,1):[]}function R_(e){return w_(k_(e,void 0,P_),e+"")}var Z0=O_(Object.getPrototypeOf,Object),Y$="[object Object]",G$=Function.prototype,X$=Object.prototype,L_=G$.toString,Z$=X$.hasOwnProperty,J$=L_.call(Object);function B_(e){if(!Il(e)||Ma(e)!=Y$)return!1;var t=Z0(e);if(t===null)return!0;var o=Z$.call(t,"constructor")&&t.constructor;return typeof o=="function"&&o instanceof o&&L_.call(o)==J$}function Q$(e,t,o){var r=-1,l=e.length;t<0&&(t=-t>l?0:l+t),o=o>l?l:o,o<0&&(o+=l),l=t>o?0:o-t>>>0,t>>>=0;for(var n=Array(l);++ri))return!1;var d=n.get(e),u=n.get(t);if(d&&u)return d==t&&u==e;var p=-1,h=!0,v=o&NA?new hc:void 0;for(n.set(e,t),n.set(t,e);++p=t||R<0||p&&P>=n}function g(){var T=nh();if(_(T))return y(T);i=setTimeout(g,f(T))}function y(T){return i=void 0,h&&r?v(T):(r=l=void 0,a)}function w(){i!==void 0&&clearTimeout(i),d=0,r=c=l=i=void 0}function x(){return i===void 0?a:y(nh())}function $(){var T=nh(),R=_(T);if(r=arguments,l=this,c=T,R){if(i===void 0)return m(c);if(p)return clearTimeout(i),i=setTimeout(g,t),v(c)}return i===void 0&&(i=setTimeout(g,t)),a}return $.cancel=w,$.flush=x,$}function ah(e,t,o){(o!==void 0&&!nc(e[t],o)||o===void 0&&!(t in e))&&F0(e,t,o)}function y3(e){return Il(e)&&Ai(e)}function ih(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}function kz(e){return Mi(e,uc(e))}function Cz(e,t,o,r,l,n,a){var i=ih(e,o),c=ih(t,o),d=a.get(c);if(d){ah(e,o,d);return}var u=n?n(i,c,o+"",e,t,a):void 0,p=u===void 0;if(p){var h=_r(c),v=!h&&ic(c),m=!h&&!v&&Y0(c);u=c,h||v||m?_r(i)?u=i:y3(i)?u=__(i):v?(p=!1,u=j_(c,!0)):m?(p=!1,u=o3(c,!0)):u=[]:B_(c)||ac(c)?(u=i,ac(i)?u=kz(i):(!wr(i)||V0(i))&&(u=r3(c))):p=!1}p&&(a.set(c,u),l(u,c,r,n,a),a.delete(c)),ah(e,o,u)}function x3(e,t,o,r,l){e!==t&&w3(t,function(n,a){if(l||(l=new fl),wr(n))Cz(e,t,a,o,x3,r,l);else{var i=r?r(ih(e,a),n,a+"",e,t,l):void 0;i===void 0&&(i=n),ah(e,a,i)}},uc)}function Sz(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}function k3(e,t,o){var r=e==null?0:e.length;if(!r)return-1;var l=r-1;return y_(e,_3(t),l,!0)}function Ez(e,t){var o=-1,r=Ai(e)?Array(e.length):[];return _z(e,function(l,n,a){r[++o]=t(l,n,a)}),r}function Tz(e,t){var o=_r(e)?L0:Ez;return o(e,_3(t))}function $z(e,t){return fc(Tz(e,t),1)}var Mz=1/0;function Az(e){var t=e==null?0:e.length;return t?fc(e,Mz):[]}function Sd(e){for(var t=-1,o=e==null?0:e.length,r={};++t1),n}),Mi(e,Y_(e),o),r&&(o=Pi(o,Pz|Rz|Lz,Nz));for(var l=t.length;l--;)Oz(o,t[l]);return o});function S3(e,t,o,r){if(!wr(e))return e;t=Ii(t,e);for(var l=-1,n=t.length,a=n-1,i=e;i!=null&&++l=Uz){var d=Kz(e);if(d)return rh(d);a=!1,l=u3,c=new hc}else c=i;e:for(;++re===void 0,Co=e=>typeof e=="boolean",st=e=>typeof e=="number",Yr=e=>!e&&e!==0||Ke(e)&&e.length===0||xt(e)&&!Object.keys(e).length,Gr=e=>typeof Element>"u"?!1:e instanceof Element,Na=e=>jo(e),qz=e=>ut(e)?!Number.isNaN(Number(e)):!1,Ed=e=>e===window,Xn=e=>Nt?window.requestAnimationFrame(e):setTimeout(e,16),Pa=e=>Nt?window.cancelAnimationFrame(e):clearTimeout(e),ch=(e="")=>e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d"),Nl=e=>Ms(e),Ri=e=>Object.keys(e),Yz=e=>Object.entries(e),Td=(e,t,o)=>({get value(){return wo(e,t,o)},set value(r){Hz(e,t,r)}});class Gz extends Error{constructor(t){super(t),this.name="ElementPlusError"}}function Io(e,t){throw new Gz(`[${e}] ${t}`)}function cfe(e,t){}const E3=(e="")=>e.split(" ").filter(t=>!!t.trim()),Xr=(e,t)=>{if(!e||!t)return!1;if(t.includes(" "))throw new Error("className should not contain space.");return e.classList.contains(t)},Zr=(e,t)=>{!e||!t.trim()||e.classList.add(...E3(t))},ar=(e,t)=>{!e||!t.trim()||e.classList.remove(...E3(t))},Zn=(e,t)=>{var o;if(!Nt||!e||!t)return"";let r=Fr(t);r==="float"&&(r="cssFloat");try{const l=e.style[r];if(l)return l;const n=(o=document.defaultView)==null?void 0:o.getComputedStyle(e,"");return n?n[r]:""}catch{return e.style[r]}};function mo(e,t="px"){if(!e)return"";if(st(e)||qz(e))return`${e}${t}`;if(ut(e))return e}const Xz=(e,t)=>{if(!Nt)return!1;const o={undefined:"overflow",true:"overflow-y",false:"overflow-x"}[String(t)],r=Zn(e,o);return["scroll","auto","overlay"].some(l=>r.includes(l))},uh=(e,t)=>{if(!Nt)return;let o=e;for(;o;){if([window,document,document.documentElement].includes(o))return window;if(Xz(o,t))return o;o=o.parentNode}return o};let $d;const T3=e=>{var t;if(!Nt)return 0;if($d!==void 0)return $d;const o=document.createElement("div");o.className=`${e}-scrollbar__wrap`,o.style.visibility="hidden",o.style.width="100px",o.style.position="absolute",o.style.top="-9999px",document.body.appendChild(o);const r=o.offsetWidth;o.style.overflow="scroll";const l=document.createElement("div");l.style.width="100%",o.appendChild(l);const n=l.offsetWidth;return(t=o.parentNode)==null||t.removeChild(o),$d=r-n,$d};function $3(e,t){if(!Nt)return;if(!t){e.scrollTop=0;return}const o=[];let r=t.offsetParent;for(;r!==null&&e!==r&&e.contains(r);)o.push(r),r=r.offsetParent;const l=t.offsetTop+o.reduce((c,d)=>c+d.offsetTop,0),n=l+t.offsetHeight,a=e.scrollTop,i=a+e.clientHeight;li&&(e.scrollTop=n-e.clientHeight)}function Zz(e,t,o,r,l){const n=Date.now();let a;const i=()=>{const d=Date.now()-n,u=wE(d>r?r:d,t,o,r);Ed(e)?e.scrollTo(window.pageXOffset,u):e.scrollTop=u,d{a&&Pa(a)}}const M3=(e,t)=>Ed(t)?e.ownerDocument.documentElement:t,A3=e=>Ed(e)?window.scrollY:e.scrollTop,Md=e=>{if(!Nt||e==="")return null;if(ut(e))try{return document.querySelector(e)}catch{return null}return e};/*! Element Plus Icons Vue v2.3.1 */var Jz=N({name:"AddLocation",__name:"add-location",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M288 896h448q32 0 32 32t-32 32H288q-32 0-32-32t32-32"}),E("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416M512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544"}),E("path",{fill:"currentColor",d:"M544 384h96a32 32 0 1 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64h96v-96a32 32 0 0 1 64 0z"})]))}}),Qz=Jz,eI=N({name:"Aim",__name:"aim",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),E("path",{fill:"currentColor",d:"M512 96a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V128a32 32 0 0 1 32-32m0 576a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V704a32 32 0 0 1 32-32M96 512a32 32 0 0 1 32-32h192a32 32 0 0 1 0 64H128a32 32 0 0 1-32-32m576 0a32 32 0 0 1 32-32h192a32 32 0 1 1 0 64H704a32 32 0 0 1-32-32"})]))}}),tI=eI,oI=N({name:"AlarmClock",__name:"alarm-clock",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 832a320 320 0 1 0 0-640 320 320 0 0 0 0 640m0 64a384 384 0 1 1 0-768 384 384 0 0 1 0 768"}),E("path",{fill:"currentColor",d:"m292.288 824.576 55.424 32-48 83.136a32 32 0 1 1-55.424-32zm439.424 0-55.424 32 48 83.136a32 32 0 1 0 55.424-32zM512 512h160a32 32 0 1 1 0 64H480a32 32 0 0 1-32-32V320a32 32 0 0 1 64 0zM90.496 312.256A160 160 0 0 1 312.32 90.496l-46.848 46.848a96 96 0 0 0-128 128L90.56 312.256zm835.264 0A160 160 0 0 0 704 90.496l46.848 46.848a96 96 0 0 1 128 128z"})]))}}),rI=oI,lI=N({name:"Apple",__name:"apple",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M599.872 203.776a189.44 189.44 0 0 1 64.384-4.672l2.624.128c31.168 1.024 51.2 4.096 79.488 16.32 37.632 16.128 74.496 45.056 111.488 89.344 96.384 115.264 82.752 372.8-34.752 521.728-7.68 9.728-32 41.6-30.72 39.936a426.624 426.624 0 0 1-30.08 35.776c-31.232 32.576-65.28 49.216-110.08 50.048-31.36.64-53.568-5.312-84.288-18.752l-6.528-2.88c-20.992-9.216-30.592-11.904-47.296-11.904-18.112 0-28.608 2.88-51.136 12.672l-6.464 2.816c-28.416 12.224-48.32 18.048-76.16 19.2-74.112 2.752-116.928-38.08-180.672-132.16-96.64-142.08-132.608-349.312-55.04-486.4 46.272-81.92 129.92-133.632 220.672-135.04 32.832-.576 60.288 6.848 99.648 22.72 27.136 10.88 34.752 13.76 37.376 14.272 16.256-20.16 27.776-36.992 34.56-50.24 13.568-26.304 27.2-59.968 40.704-100.8a32 32 0 1 1 60.8 20.224c-12.608 37.888-25.408 70.4-38.528 97.664zm-51.52 78.08c-14.528 17.792-31.808 37.376-51.904 58.816a32 32 0 1 1-46.72-43.776l12.288-13.248c-28.032-11.2-61.248-26.688-95.68-26.112-70.4 1.088-135.296 41.6-171.648 105.792C121.6 492.608 176 684.16 247.296 788.992c34.816 51.328 76.352 108.992 130.944 106.944 52.48-2.112 72.32-34.688 135.872-34.688 63.552 0 81.28 34.688 136.96 33.536 56.448-1.088 75.776-39.04 126.848-103.872 107.904-136.768 107.904-362.752 35.776-449.088-72.192-86.272-124.672-84.096-151.68-85.12-41.472-4.288-81.6 12.544-113.664 25.152z"})]))}}),nI=lI,aI=N({name:"ArrowDownBold",__name:"arrow-down-bold",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M104.704 338.752a64 64 0 0 1 90.496 0l316.8 316.8 316.8-316.8a64 64 0 0 1 90.496 90.496L557.248 791.296a64 64 0 0 1-90.496 0L104.704 429.248a64 64 0 0 1 0-90.496z"})]))}}),iI=aI,sI=N({name:"ArrowDown",__name:"arrow-down",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M831.872 340.864 512 652.672 192.128 340.864a30.592 30.592 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.592 30.592 0 0 0-42.752 0z"})]))}}),Pl=sI,cI=N({name:"ArrowLeftBold",__name:"arrow-left-bold",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M685.248 104.704a64 64 0 0 1 0 90.496L368.448 512l316.8 316.8a64 64 0 0 1-90.496 90.496L232.704 557.248a64 64 0 0 1 0-90.496l362.048-362.048a64 64 0 0 1 90.496 0z"})]))}}),uI=cI,dI=N({name:"ArrowLeft",__name:"arrow-left",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M609.408 149.376 277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.592 30.592 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.592 30.592 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0z"})]))}}),fn=dI,pI=N({name:"ArrowRightBold",__name:"arrow-right-bold",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M338.752 104.704a64 64 0 0 0 0 90.496l316.8 316.8-316.8 316.8a64 64 0 0 0 90.496 90.496l362.048-362.048a64 64 0 0 0 0-90.496L429.248 104.704a64 64 0 0 0-90.496 0z"})]))}}),fI=pI,hI=N({name:"ArrowRight",__name:"arrow-right",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M340.864 149.312a30.592 30.592 0 0 0 0 42.752L652.736 512 340.864 831.872a30.592 30.592 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"})]))}}),ir=hI,vI=N({name:"ArrowUpBold",__name:"arrow-up-bold",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M104.704 685.248a64 64 0 0 0 90.496 0l316.8-316.8 316.8 316.8a64 64 0 0 0 90.496-90.496L557.248 232.704a64 64 0 0 0-90.496 0L104.704 594.752a64 64 0 0 0 0 90.496z"})]))}}),mI=vI,gI=N({name:"ArrowUp",__name:"arrow-up",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m488.832 344.32-339.84 356.672a32 32 0 0 0 0 44.16l.384.384a29.44 29.44 0 0 0 42.688 0l320-335.872 319.872 335.872a29.44 29.44 0 0 0 42.688 0l.384-.384a32 32 0 0 0 0-44.16L535.168 344.32a32 32 0 0 0-46.336 0"})]))}}),Ad=gI,bI=N({name:"Avatar",__name:"avatar",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M628.736 528.896A416 416 0 0 1 928 928H96a415.872 415.872 0 0 1 299.264-399.104L512 704zM720 304a208 208 0 1 1-416 0 208 208 0 0 1 416 0"})]))}}),_I=bI,wI=N({name:"Back",__name:"back",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M224 480h640a32 32 0 1 1 0 64H224a32 32 0 0 1 0-64"}),E("path",{fill:"currentColor",d:"m237.248 512 265.408 265.344a32 32 0 0 1-45.312 45.312l-288-288a32 32 0 0 1 0-45.312l288-288a32 32 0 1 1 45.312 45.312z"})]))}}),z3=wI,yI=N({name:"Baseball",__name:"baseball",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M195.2 828.8a448 448 0 1 1 633.6-633.6 448 448 0 0 1-633.6 633.6zm45.248-45.248a384 384 0 1 0 543.104-543.104 384 384 0 0 0-543.104 543.104"}),E("path",{fill:"currentColor",d:"M497.472 96.896c22.784 4.672 44.416 9.472 64.896 14.528a256.128 256.128 0 0 0 350.208 350.208c5.056 20.48 9.856 42.112 14.528 64.896A320.128 320.128 0 0 1 497.472 96.896zM108.48 491.904a320.128 320.128 0 0 1 423.616 423.68c-23.04-3.648-44.992-7.424-65.728-11.52a256.128 256.128 0 0 0-346.496-346.432 1736.64 1736.64 0 0 1-11.392-65.728z"})]))}}),xI=yI,kI=N({name:"Basketball",__name:"basketball",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M778.752 788.224a382.464 382.464 0 0 0 116.032-245.632 256.512 256.512 0 0 0-241.728-13.952 762.88 762.88 0 0 1 125.696 259.584zm-55.04 44.224a699.648 699.648 0 0 0-125.056-269.632 256.128 256.128 0 0 0-56.064 331.968 382.72 382.72 0 0 0 181.12-62.336m-254.08 61.248A320.128 320.128 0 0 1 557.76 513.6a715.84 715.84 0 0 0-48.192-48.128 320.128 320.128 0 0 1-379.264 88.384 382.4 382.4 0 0 0 110.144 229.696 382.4 382.4 0 0 0 229.184 110.08zM129.28 481.088a256.128 256.128 0 0 0 331.072-56.448 699.648 699.648 0 0 0-268.8-124.352 382.656 382.656 0 0 0-62.272 180.8m106.56-235.84a762.88 762.88 0 0 1 258.688 125.056 256.512 256.512 0 0 0-13.44-241.088A382.464 382.464 0 0 0 235.84 245.248zm318.08-114.944c40.576 89.536 37.76 193.92-8.448 281.344a779.84 779.84 0 0 1 66.176 66.112 320.832 320.832 0 0 1 282.112-8.128 382.4 382.4 0 0 0-110.144-229.12 382.4 382.4 0 0 0-229.632-110.208zM828.8 828.8a448 448 0 1 1-633.6-633.6 448 448 0 0 1 633.6 633.6"})]))}}),CI=kI,SI=N({name:"BellFilled",__name:"bell-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M640 832a128 128 0 0 1-256 0zm192-64H134.4a38.4 38.4 0 0 1 0-76.8H192V448c0-154.88 110.08-284.16 256.32-313.6a64 64 0 1 1 127.36 0A320.128 320.128 0 0 1 832 448v243.2h57.6a38.4 38.4 0 0 1 0 76.8z"})]))}}),EI=SI,TI=N({name:"Bell",__name:"bell",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 64a64 64 0 0 1 64 64v64H448v-64a64 64 0 0 1 64-64"}),E("path",{fill:"currentColor",d:"M256 768h512V448a256 256 0 1 0-512 0zm256-640a320 320 0 0 1 320 320v384H192V448a320 320 0 0 1 320-320"}),E("path",{fill:"currentColor",d:"M96 768h832q32 0 32 32t-32 32H96q-32 0-32-32t32-32m352 128h128a64 64 0 0 1-128 0"})]))}}),$I=TI,MI=N({name:"Bicycle",__name:"bicycle",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M256 832a128 128 0 1 0 0-256 128 128 0 0 0 0 256m0 64a192 192 0 1 1 0-384 192 192 0 0 1 0 384"}),E("path",{fill:"currentColor",d:"M288 672h320q32 0 32 32t-32 32H288q-32 0-32-32t32-32"}),E("path",{fill:"currentColor",d:"M768 832a128 128 0 1 0 0-256 128 128 0 0 0 0 256m0 64a192 192 0 1 1 0-384 192 192 0 0 1 0 384"}),E("path",{fill:"currentColor",d:"M480 192a32 32 0 0 1 0-64h160a32 32 0 0 1 31.04 24.256l96 384a32 32 0 0 1-62.08 15.488L615.04 192zM96 384a32 32 0 0 1 0-64h128a32 32 0 0 1 30.336 21.888l64 192a32 32 0 1 1-60.672 20.224L200.96 384z"}),E("path",{fill:"currentColor",d:"m373.376 599.808-42.752-47.616 320-288 42.752 47.616z"})]))}}),AI=MI,zI=N({name:"BottomLeft",__name:"bottom-left",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M256 768h416a32 32 0 1 1 0 64H224a32 32 0 0 1-32-32V352a32 32 0 0 1 64 0z"}),E("path",{fill:"currentColor",d:"M246.656 822.656a32 32 0 0 1-45.312-45.312l544-544a32 32 0 0 1 45.312 45.312l-544 544z"})]))}}),II=zI,OI=N({name:"BottomRight",__name:"bottom-right",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M352 768a32 32 0 1 0 0 64h448a32 32 0 0 0 32-32V352a32 32 0 0 0-64 0v416z"}),E("path",{fill:"currentColor",d:"M777.344 822.656a32 32 0 0 0 45.312-45.312l-544-544a32 32 0 0 0-45.312 45.312z"})]))}}),NI=OI,PI=N({name:"Bottom",__name:"bottom",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M544 805.888V168a32 32 0 1 0-64 0v637.888L246.656 557.952a30.72 30.72 0 0 0-45.312 0 35.52 35.52 0 0 0 0 48.064l288 306.048a30.72 30.72 0 0 0 45.312 0l288-306.048a35.52 35.52 0 0 0 0-48 30.72 30.72 0 0 0-45.312 0L544 805.824z"})]))}}),RI=PI,LI=N({name:"Bowl",__name:"bowl",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M714.432 704a351.744 351.744 0 0 0 148.16-256H161.408a351.744 351.744 0 0 0 148.16 256zM288 766.592A415.68 415.68 0 0 1 96 416a32 32 0 0 1 32-32h768a32 32 0 0 1 32 32 415.68 415.68 0 0 1-192 350.592V832a64 64 0 0 1-64 64H352a64 64 0 0 1-64-64zM493.248 320h-90.496l254.4-254.4a32 32 0 1 1 45.248 45.248zm187.328 0h-128l269.696-155.712a32 32 0 0 1 32 55.424zM352 768v64h320v-64z"})]))}}),BI=LI,VI=N({name:"Box",__name:"box",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M317.056 128 128 344.064V896h768V344.064L706.944 128zm-14.528-64h418.944a32 32 0 0 1 24.064 10.88l206.528 236.096A32 32 0 0 1 960 332.032V928a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V332.032a32 32 0 0 1 7.936-21.12L278.4 75.008A32 32 0 0 1 302.528 64z"}),E("path",{fill:"currentColor",d:"M64 320h896v64H64z"}),E("path",{fill:"currentColor",d:"M448 327.872V640h128V327.872L526.08 128h-28.16zM448 64h128l64 256v352a32 32 0 0 1-32 32H416a32 32 0 0 1-32-32V320z"})]))}}),DI=VI,HI=N({name:"Briefcase",__name:"briefcase",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M320 320V128h384v192h192v192H128V320zM128 576h768v320H128zm256-256h256.064V192H384z"})]))}}),FI=HI,jI=N({name:"BrushFilled",__name:"brush-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M608 704v160a96 96 0 0 1-192 0V704h-96a128 128 0 0 1-128-128h640a128 128 0 0 1-128 128zM192 512V128.064h640V512z"})]))}}),KI=jI,UI=N({name:"Brush",__name:"brush",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M896 448H128v192a64 64 0 0 0 64 64h192v192h256V704h192a64 64 0 0 0 64-64zm-770.752-64c0-47.552 5.248-90.24 15.552-128 14.72-54.016 42.496-107.392 83.2-160h417.28l-15.36 70.336L736 96h211.2c-24.832 42.88-41.92 96.256-51.2 160a663.872 663.872 0 0 0-6.144 128H960v256a128 128 0 0 1-128 128H704v160a32 32 0 0 1-32 32H352a32 32 0 0 1-32-32V768H192A128 128 0 0 1 64 640V384h61.248zm64 0h636.544c-2.048-45.824.256-91.584 6.848-137.216 4.48-30.848 10.688-59.776 18.688-86.784h-96.64l-221.12 141.248L561.92 160H256.512c-25.856 37.888-43.776 75.456-53.952 112.832-8.768 32.064-13.248 69.12-13.312 111.168z"})]))}}),WI=UI,qI=N({name:"Burger",__name:"burger",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M160 512a32 32 0 0 0-32 32v64a32 32 0 0 0 30.08 32H864a32 32 0 0 0 32-32v-64a32 32 0 0 0-32-32zm736-58.56A96 96 0 0 1 960 544v64a96 96 0 0 1-51.968 85.312L855.36 833.6a96 96 0 0 1-89.856 62.272H258.496A96 96 0 0 1 168.64 833.6l-52.608-140.224A96 96 0 0 1 64 608v-64a96 96 0 0 1 64-90.56V448a384 384 0 1 1 768 5.44M832 448a320 320 0 0 0-640 0zM512 704H188.352l40.192 107.136a32 32 0 0 0 29.952 20.736h507.008a32 32 0 0 0 29.952-20.736L835.648 704z"})]))}}),YI=qI,GI=N({name:"Calendar",__name:"calendar",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 384v512h768V192H768v32a32 32 0 1 1-64 0v-32H320v32a32 32 0 0 1-64 0v-32H128v128h768v64zm192-256h384V96a32 32 0 1 1 64 0v32h160a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h160V96a32 32 0 0 1 64 0zm-32 384h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m192-192h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m192-192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64"})]))}}),I3=GI,XI=N({name:"CameraFilled",__name:"camera-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M160 224a64 64 0 0 0-64 64v512a64 64 0 0 0 64 64h704a64 64 0 0 0 64-64V288a64 64 0 0 0-64-64H748.416l-46.464-92.672A64 64 0 0 0 644.736 96H379.328a64 64 0 0 0-57.216 35.392L275.776 224zm352 435.2a115.2 115.2 0 1 0 0-230.4 115.2 115.2 0 0 0 0 230.4m0 140.8a256 256 0 1 1 0-512 256 256 0 0 1 0 512"})]))}}),ZI=XI,JI=N({name:"Camera",__name:"camera",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M896 256H128v576h768zm-199.424-64-32.064-64h-304.96l-32 64zM96 192h160l46.336-92.608A64 64 0 0 1 359.552 64h304.96a64 64 0 0 1 57.216 35.328L768.192 192H928a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V224a32 32 0 0 1 32-32m416 512a160 160 0 1 0 0-320 160 160 0 0 0 0 320m0 64a224 224 0 1 1 0-448 224 224 0 0 1 0 448"})]))}}),QI=JI,eO=N({name:"CaretBottom",__name:"caret-bottom",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m192 384 320 384 320-384z"})]))}}),tO=eO,oO=N({name:"CaretLeft",__name:"caret-left",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M672 192 288 511.936 672 832z"})]))}}),rO=oO,lO=N({name:"CaretRight",__name:"caret-right",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M384 192v640l384-320.064z"})]))}}),dh=lO,nO=N({name:"CaretTop",__name:"caret-top",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 320 192 704h639.936z"})]))}}),O3=nO,aO=N({name:"Cellphone",__name:"cellphone",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M256 128a64 64 0 0 0-64 64v640a64 64 0 0 0 64 64h512a64 64 0 0 0 64-64V192a64 64 0 0 0-64-64zm0-64h512a128 128 0 0 1 128 128v640a128 128 0 0 1-128 128H256a128 128 0 0 1-128-128V192A128 128 0 0 1 256 64m128 128h256a32 32 0 1 1 0 64H384a32 32 0 0 1 0-64m128 640a64 64 0 1 1 0-128 64 64 0 0 1 0 128"})]))}}),iO=aO,sO=N({name:"ChatDotRound",__name:"chat-dot-round",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m174.72 855.68 135.296-45.12 23.68 11.84C388.096 849.536 448.576 864 512 864c211.84 0 384-166.784 384-352S723.84 160 512 160 128 326.784 128 512c0 69.12 24.96 139.264 70.848 199.232l22.08 28.8-46.272 115.584zm-45.248 82.56A32 32 0 0 1 89.6 896l58.368-145.92C94.72 680.32 64 596.864 64 512 64 299.904 256 96 512 96s448 203.904 448 416-192 416-448 416a461.056 461.056 0 0 1-206.912-48.384l-175.616 58.56z"}),E("path",{fill:"currentColor",d:"M512 563.2a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4m192 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4m-384 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4"})]))}}),cO=sO,uO=N({name:"ChatDotSquare",__name:"chat-dot-square",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M273.536 736H800a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64H224a64 64 0 0 0-64 64v570.88zM296 800 147.968 918.4A32 32 0 0 1 96 893.44V256a128 128 0 0 1 128-128h576a128 128 0 0 1 128 128v416a128 128 0 0 1-128 128z"}),E("path",{fill:"currentColor",d:"M512 499.2a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4zm192 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4zm-384 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4z"})]))}}),dO=uO,pO=N({name:"ChatLineRound",__name:"chat-line-round",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m174.72 855.68 135.296-45.12 23.68 11.84C388.096 849.536 448.576 864 512 864c211.84 0 384-166.784 384-352S723.84 160 512 160 128 326.784 128 512c0 69.12 24.96 139.264 70.848 199.232l22.08 28.8-46.272 115.584zm-45.248 82.56A32 32 0 0 1 89.6 896l58.368-145.92C94.72 680.32 64 596.864 64 512 64 299.904 256 96 512 96s448 203.904 448 416-192 416-448 416a461.056 461.056 0 0 1-206.912-48.384l-175.616 58.56z"}),E("path",{fill:"currentColor",d:"M352 576h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32m32-192h256q32 0 32 32t-32 32H384q-32 0-32-32t32-32"})]))}}),fO=pO,hO=N({name:"ChatLineSquare",__name:"chat-line-square",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M160 826.88 273.536 736H800a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64H224a64 64 0 0 0-64 64zM296 800 147.968 918.4A32 32 0 0 1 96 893.44V256a128 128 0 0 1 128-128h576a128 128 0 0 1 128 128v416a128 128 0 0 1-128 128z"}),E("path",{fill:"currentColor",d:"M352 512h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32m0-192h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32"})]))}}),vO=hO,mO=N({name:"ChatRound",__name:"chat-round",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m174.72 855.68 130.048-43.392 23.424 11.392C382.4 849.984 444.352 864 512 864c223.744 0 384-159.872 384-352 0-192.832-159.104-352-384-352S128 319.168 128 512a341.12 341.12 0 0 0 69.248 204.288l21.632 28.8-44.16 110.528zm-45.248 82.56A32 32 0 0 1 89.6 896l56.512-141.248A405.12 405.12 0 0 1 64 512C64 299.904 235.648 96 512 96s448 203.904 448 416-173.44 416-448 416c-79.68 0-150.848-17.152-211.712-46.72l-170.88 56.96z"})]))}}),gO=mO,bO=N({name:"ChatSquare",__name:"chat-square",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M273.536 736H800a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64H224a64 64 0 0 0-64 64v570.88zM296 800 147.968 918.4A32 32 0 0 1 96 893.44V256a128 128 0 0 1 128-128h576a128 128 0 0 1 128 128v416a128 128 0 0 1-128 128z"})]))}}),_O=bO,wO=N({name:"Check",__name:"check",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M406.656 706.944 195.84 496.256a32 32 0 1 0-45.248 45.248l256 256 512-512a32 32 0 0 0-45.248-45.248L406.592 706.944z"})]))}}),Li=wO,yO=N({name:"Checked",__name:"checked",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M704 192h160v736H160V192h160.064v64H704zM311.616 537.28l-45.312 45.248L447.36 763.52l316.8-316.8-45.312-45.184L447.36 673.024zM384 192V96h256v96z"})]))}}),xO=yO,kO=N({name:"Cherry",__name:"cherry",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M261.056 449.6c13.824-69.696 34.88-128.96 63.36-177.728 23.744-40.832 61.12-88.64 112.256-143.872H320a32 32 0 0 1 0-64h384a32 32 0 1 1 0 64H554.752c14.912 39.168 41.344 86.592 79.552 141.76 47.36 68.48 84.8 106.752 106.304 114.304a224 224 0 1 1-84.992 14.784c-22.656-22.912-47.04-53.76-73.92-92.608-38.848-56.128-67.008-105.792-84.352-149.312-55.296 58.24-94.528 107.52-117.76 147.2-23.168 39.744-41.088 88.768-53.568 147.072a224.064 224.064 0 1 1-64.96-1.6zM288 832a160 160 0 1 0 0-320 160 160 0 0 0 0 320m448-64a160 160 0 1 0 0-320 160 160 0 0 0 0 320"})]))}}),CO=kO,SO=N({name:"Chicken",__name:"chicken",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M349.952 716.992 478.72 588.16a106.688 106.688 0 0 1-26.176-19.072 106.688 106.688 0 0 1-19.072-26.176L304.704 671.744c.768 3.072 1.472 6.144 2.048 9.216l2.048 31.936 31.872 1.984c3.136.64 6.208 1.28 9.28 2.112zm57.344 33.152a128 128 0 1 1-216.32 114.432l-1.92-32-32-1.92a128 128 0 1 1 114.432-216.32L416.64 469.248c-2.432-101.44 58.112-239.104 149.056-330.048 107.328-107.328 231.296-85.504 316.8 0 85.44 85.44 107.328 209.408 0 316.8-91.008 90.88-228.672 151.424-330.112 149.056L407.296 750.08zm90.496-226.304c49.536 49.536 233.344-7.04 339.392-113.088 78.208-78.208 63.232-163.072 0-226.304-63.168-63.232-148.032-78.208-226.24 0C504.896 290.496 448.32 474.368 497.792 523.84M244.864 708.928a64 64 0 1 0-59.84 59.84l56.32-3.52zm8.064 127.68a64 64 0 1 0 59.84-59.84l-56.32 3.52-3.52 56.32z"})]))}}),EO=SO,TO=N({name:"ChromeFilled",__name:"chrome-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M938.67 512.01c0-44.59-6.82-87.6-19.54-128H682.67a212.372 212.372 0 0 1 42.67 128c.06 38.71-10.45 76.7-30.42 109.87l-182.91 316.8c235.65-.01 426.66-191.02 426.66-426.67z"}),E("path",{fill:"currentColor",d:"M576.79 401.63a127.92 127.92 0 0 0-63.56-17.6c-22.36-.22-44.39 5.43-63.89 16.38s-35.79 26.82-47.25 46.02a128.005 128.005 0 0 0-2.16 127.44l1.24 2.13a127.906 127.906 0 0 0 46.36 46.61 127.907 127.907 0 0 0 63.38 17.44c22.29.2 44.24-5.43 63.68-16.33a127.94 127.94 0 0 0 47.16-45.79v-.01l1.11-1.92a127.984 127.984 0 0 0 .29-127.46 127.957 127.957 0 0 0-46.36-46.91"}),E("path",{fill:"currentColor",d:"M394.45 333.96A213.336 213.336 0 0 1 512 298.67h369.58A426.503 426.503 0 0 0 512 85.34a425.598 425.598 0 0 0-171.74 35.98 425.644 425.644 0 0 0-142.62 102.22l118.14 204.63a213.397 213.397 0 0 1 78.67-94.21m117.56 604.72H512zm-97.25-236.73a213.284 213.284 0 0 1-89.54-86.81L142.48 298.6c-36.35 62.81-57.13 135.68-57.13 213.42 0 203.81 142.93 374.22 333.95 416.55h.04l118.19-204.71a213.315 213.315 0 0 1-122.77-21.91z"})]))}}),$O=TO,MO=N({name:"CircleCheckFilled",__name:"circle-check-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.272 38.272 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"})]))}}),N3=MO,AO=N({name:"CircleCheck",__name:"circle-check",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),E("path",{fill:"currentColor",d:"M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752l265.344-265.408z"})]))}}),zd=AO,zO=N({name:"CircleCloseFilled",__name:"circle-close-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336z"})]))}}),Id=zO,IO=N({name:"CircleClose",__name:"circle-close",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248z"}),E("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}}),hn=IO,OO=N({name:"CirclePlusFilled",__name:"circle-plus-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-38.4 409.6H326.4a38.4 38.4 0 1 0 0 76.8h147.2v147.2a38.4 38.4 0 0 0 76.8 0V550.4h147.2a38.4 38.4 0 0 0 0-76.8H550.4V326.4a38.4 38.4 0 1 0-76.8 0v147.2z"})]))}}),NO=OO,PO=N({name:"CirclePlus",__name:"circle-plus",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M352 480h320a32 32 0 1 1 0 64H352a32 32 0 0 1 0-64"}),E("path",{fill:"currentColor",d:"M480 672V352a32 32 0 1 1 64 0v320a32 32 0 0 1-64 0"}),E("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}}),RO=PO,LO=N({name:"Clock",__name:"clock",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),E("path",{fill:"currentColor",d:"M480 256a32 32 0 0 1 32 32v256a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32"}),E("path",{fill:"currentColor",d:"M480 512h256q32 0 32 32t-32 32H480q-32 0-32-32t32-32"})]))}}),ph=LO,BO=N({name:"CloseBold",__name:"close-bold",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M195.2 195.2a64 64 0 0 1 90.496 0L512 421.504 738.304 195.2a64 64 0 0 1 90.496 90.496L602.496 512 828.8 738.304a64 64 0 0 1-90.496 90.496L512 602.496 285.696 828.8a64 64 0 0 1-90.496-90.496L421.504 512 195.2 285.696a64 64 0 0 1 0-90.496z"})]))}}),VO=BO,DO=N({name:"Close",__name:"close",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"})]))}}),Jr=DO,HO=N({name:"Cloudy",__name:"cloudy",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M598.4 831.872H328.192a256 256 0 0 1-34.496-510.528A352 352 0 1 1 598.4 831.872m-271.36-64h272.256a288 288 0 1 0-248.512-417.664L335.04 381.44l-34.816 3.584a192 192 0 0 0 26.88 382.848z"})]))}}),FO=HO,jO=N({name:"CoffeeCup",__name:"coffee-cup",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M768 192a192 192 0 1 1-8 383.808A256.128 256.128 0 0 1 512 768H320A256 256 0 0 1 64 512V160a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32zm0 64v256a128 128 0 1 0 0-256M96 832h640a32 32 0 1 1 0 64H96a32 32 0 1 1 0-64m32-640v320a192 192 0 0 0 192 192h192a192 192 0 0 0 192-192V192z"})]))}}),KO=jO,UO=N({name:"Coffee",__name:"coffee",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M822.592 192h14.272a32 32 0 0 1 31.616 26.752l21.312 128A32 32 0 0 1 858.24 384h-49.344l-39.04 546.304A32 32 0 0 1 737.92 960H285.824a32 32 0 0 1-32-29.696L214.912 384H165.76a32 32 0 0 1-31.552-37.248l21.312-128A32 32 0 0 1 187.136 192h14.016l-6.72-93.696A32 32 0 0 1 226.368 64h571.008a32 32 0 0 1 31.936 34.304zm-64.128 0 4.544-64H260.736l4.544 64h493.184m-548.16 128H820.48l-10.688-64H214.208l-10.688 64h6.784m68.736 64 36.544 512H708.16l36.544-512z"})]))}}),WO=UO,qO=N({name:"Coin",__name:"coin",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m161.92 580.736 29.888 58.88C171.328 659.776 160 681.728 160 704c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 615.808 928 657.664 928 704c0 129.728-188.544 224-416 224S96 833.728 96 704c0-46.592 24.32-88.576 65.92-123.264z"}),E("path",{fill:"currentColor",d:"m161.92 388.736 29.888 58.88C171.328 467.84 160 489.792 160 512c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 423.808 928 465.664 928 512c0 129.728-188.544 224-416 224S96 641.728 96 512c0-46.592 24.32-88.576 65.92-123.264z"}),E("path",{fill:"currentColor",d:"M512 544c-227.456 0-416-94.272-416-224S284.544 96 512 96s416 94.272 416 224-188.544 224-416 224m0-64c196.672 0 352-77.696 352-160S708.672 160 512 160s-352 77.696-352 160 155.328 160 352 160"})]))}}),YO=qO,GO=N({name:"ColdDrink",__name:"cold-drink",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M768 64a192 192 0 1 1-69.952 370.88L480 725.376V896h96a32 32 0 1 1 0 64H320a32 32 0 1 1 0-64h96V725.376L76.8 273.536a64 64 0 0 1-12.8-38.4v-10.688a32 32 0 0 1 32-32h71.808l-65.536-83.84a32 32 0 0 1 50.432-39.424l96.256 123.264h337.728A192.064 192.064 0 0 1 768 64M656.896 192.448H800a32 32 0 0 1 32 32v10.624a64 64 0 0 1-12.8 38.4l-80.448 107.2a128 128 0 1 0-81.92-188.16v-.064zm-357.888 64 129.472 165.76a32 32 0 0 1-50.432 39.36l-160.256-205.12H144l304 404.928 304-404.928z"})]))}}),XO=GO,ZO=N({name:"CollectionTag",__name:"collection-tag",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M256 128v698.88l196.032-156.864a96 96 0 0 1 119.936 0L768 826.816V128zm-32-64h576a32 32 0 0 1 32 32v797.44a32 32 0 0 1-51.968 24.96L531.968 720a32 32 0 0 0-39.936 0L243.968 918.4A32 32 0 0 1 192 893.44V96a32 32 0 0 1 32-32"})]))}}),JO=ZO,QO=N({name:"Collection",__name:"collection",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M192 736h640V128H256a64 64 0 0 0-64 64zm64-672h608a32 32 0 0 1 32 32v672a32 32 0 0 1-32 32H160l-32 57.536V192A128 128 0 0 1 256 64"}),E("path",{fill:"currentColor",d:"M240 800a48 48 0 1 0 0 96h592v-96zm0-64h656v160a64 64 0 0 1-64 64H240a112 112 0 0 1 0-224m144-608v250.88l96-76.8 96 76.8V128zm-64-64h320v381.44a32 32 0 0 1-51.968 24.96L480 384l-108.032 86.4A32 32 0 0 1 320 445.44z"})]))}}),eN=QO,tN=N({name:"Comment",__name:"comment",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M736 504a56 56 0 1 1 0-112 56 56 0 0 1 0 112m-224 0a56 56 0 1 1 0-112 56 56 0 0 1 0 112m-224 0a56 56 0 1 1 0-112 56 56 0 0 1 0 112M128 128v640h192v160l224-160h352V128z"})]))}}),oN=tN,rN=N({name:"Compass",__name:"compass",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),E("path",{fill:"currentColor",d:"M725.888 315.008C676.48 428.672 624 513.28 568.576 568.64c-55.424 55.424-139.968 107.904-253.568 157.312a12.8 12.8 0 0 1-16.896-16.832c49.536-113.728 102.016-198.272 157.312-253.632 55.36-55.296 139.904-107.776 253.632-157.312a12.8 12.8 0 0 1 16.832 16.832"})]))}}),lN=rN,nN=N({name:"Connection",__name:"connection",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M640 384v64H448a128 128 0 0 0-128 128v128a128 128 0 0 0 128 128h320a128 128 0 0 0 128-128V576a128 128 0 0 0-64-110.848V394.88c74.56 26.368 128 97.472 128 181.056v128a192 192 0 0 1-192 192H448a192 192 0 0 1-192-192V576a192 192 0 0 1 192-192z"}),E("path",{fill:"currentColor",d:"M384 640v-64h192a128 128 0 0 0 128-128V320a128 128 0 0 0-128-128H256a128 128 0 0 0-128 128v128a128 128 0 0 0 64 110.848v70.272A192.064 192.064 0 0 1 64 448V320a192 192 0 0 1 192-192h320a192 192 0 0 1 192 192v128a192 192 0 0 1-192 192z"})]))}}),aN=nN,iN=N({name:"Coordinate",__name:"coordinate",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M480 512h64v320h-64z"}),E("path",{fill:"currentColor",d:"M192 896h640a64 64 0 0 0-64-64H256a64 64 0 0 0-64 64m64-128h512a128 128 0 0 1 128 128v64H128v-64a128 128 0 0 1 128-128m256-256a192 192 0 1 0 0-384 192 192 0 0 0 0 384m0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512"})]))}}),sN=iN,cN=N({name:"CopyDocument",__name:"copy-document",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M768 832a128 128 0 0 1-128 128H192A128 128 0 0 1 64 832V384a128 128 0 0 1 128-128v64a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64z"}),E("path",{fill:"currentColor",d:"M384 128a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64V192a64 64 0 0 0-64-64zm0-64h448a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H384a128 128 0 0 1-128-128V192A128 128 0 0 1 384 64"})]))}}),uN=cN,dN=N({name:"Cpu",__name:"cpu",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M320 256a64 64 0 0 0-64 64v384a64 64 0 0 0 64 64h384a64 64 0 0 0 64-64V320a64 64 0 0 0-64-64zm0-64h384a128 128 0 0 1 128 128v384a128 128 0 0 1-128 128H320a128 128 0 0 1-128-128V320a128 128 0 0 1 128-128"}),E("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m160 0a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m-320 0a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m160 896a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32m160 0a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32m-320 0a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32M64 512a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m0-160a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m0 320a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m896-160a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32m0-160a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32m0 320a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32"})]))}}),pN=dN,fN=N({name:"CreditCard",__name:"credit-card",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M896 324.096c0-42.368-2.496-55.296-9.536-68.48a52.352 52.352 0 0 0-22.144-22.08c-13.12-7.04-26.048-9.536-68.416-9.536H228.096c-42.368 0-55.296 2.496-68.48 9.536a52.352 52.352 0 0 0-22.08 22.144c-7.04 13.12-9.536 26.048-9.536 68.416v375.808c0 42.368 2.496 55.296 9.536 68.48a52.352 52.352 0 0 0 22.144 22.08c13.12 7.04 26.048 9.536 68.416 9.536h567.808c42.368 0 55.296-2.496 68.48-9.536a52.352 52.352 0 0 0 22.08-22.144c7.04-13.12 9.536-26.048 9.536-68.416zm64 0v375.808c0 57.088-5.952 77.76-17.088 98.56-11.136 20.928-27.52 37.312-48.384 48.448-20.864 11.136-41.6 17.088-98.56 17.088H228.032c-57.088 0-77.76-5.952-98.56-17.088a116.288 116.288 0 0 1-48.448-48.384c-11.136-20.864-17.088-41.6-17.088-98.56V324.032c0-57.088 5.952-77.76 17.088-98.56 11.136-20.928 27.52-37.312 48.384-48.448 20.864-11.136 41.6-17.088 98.56-17.088H795.84c57.088 0 77.76 5.952 98.56 17.088 20.928 11.136 37.312 27.52 48.448 48.384 11.136 20.864 17.088 41.6 17.088 98.56z"}),E("path",{fill:"currentColor",d:"M64 320h896v64H64zm0 128h896v64H64zm128 192h256v64H192z"})]))}}),hN=fN,vN=N({name:"Crop",__name:"crop",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M256 768h672a32 32 0 1 1 0 64H224a32 32 0 0 1-32-32V96a32 32 0 0 1 64 0z"}),E("path",{fill:"currentColor",d:"M832 224v704a32 32 0 1 1-64 0V256H96a32 32 0 0 1 0-64h704a32 32 0 0 1 32 32"})]))}}),mN=vN,gN=N({name:"DArrowLeft",__name:"d-arrow-left",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M529.408 149.376a29.12 29.12 0 0 1 41.728 0 30.592 30.592 0 0 1 0 42.688L259.264 511.936l311.872 319.936a30.592 30.592 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L197.76 534.272a32 32 0 0 1 0-44.672l331.648-340.224zm256 0a29.12 29.12 0 0 1 41.728 0 30.592 30.592 0 0 1 0 42.688L515.264 511.936l311.872 319.936a30.592 30.592 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L453.76 534.272a32 32 0 0 1 0-44.672l331.648-340.224z"})]))}}),Ra=gN,bN=N({name:"DArrowRight",__name:"d-arrow-right",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M452.864 149.312a29.12 29.12 0 0 1 41.728.064L826.24 489.664a32 32 0 0 1 0 44.672L494.592 874.624a29.12 29.12 0 0 1-41.728 0 30.592 30.592 0 0 1 0-42.752L764.736 512 452.864 192a30.592 30.592 0 0 1 0-42.688m-256 0a29.12 29.12 0 0 1 41.728.064L570.24 489.664a32 32 0 0 1 0 44.672L238.592 874.624a29.12 29.12 0 0 1-41.728 0 30.592 30.592 0 0 1 0-42.752L508.736 512 196.864 192a30.592 30.592 0 0 1 0-42.688z"})]))}}),La=bN,_N=N({name:"DCaret",__name:"d-caret",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m512 128 288 320H224zM224 576h576L512 896z"})]))}}),wN=_N,yN=N({name:"DataAnalysis",__name:"data-analysis",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m665.216 768 110.848 192h-73.856L591.36 768H433.024L322.176 960H248.32l110.848-192H160a32 32 0 0 1-32-32V192H64a32 32 0 0 1 0-64h896a32 32 0 1 1 0 64h-64v544a32 32 0 0 1-32 32zM832 192H192v512h640zM352 448a32 32 0 0 1 32 32v64a32 32 0 0 1-64 0v-64a32 32 0 0 1 32-32m160-64a32 32 0 0 1 32 32v128a32 32 0 0 1-64 0V416a32 32 0 0 1 32-32m160-64a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V352a32 32 0 0 1 32-32"})]))}}),xN=yN,kN=N({name:"DataBoard",__name:"data-board",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M32 128h960v64H32z"}),E("path",{fill:"currentColor",d:"M192 192v512h640V192zm-64-64h768v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32z"}),E("path",{fill:"currentColor",d:"M322.176 960H248.32l144.64-250.56 55.424 32zm453.888 0h-73.856L576 741.44l55.424-32z"})]))}}),CN=kN,SN=N({name:"DataLine",__name:"data-line",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M359.168 768H160a32 32 0 0 1-32-32V192H64a32 32 0 0 1 0-64h896a32 32 0 1 1 0 64h-64v544a32 32 0 0 1-32 32H665.216l110.848 192h-73.856L591.36 768H433.024L322.176 960H248.32zM832 192H192v512h640zM342.656 534.656a32 32 0 1 1-45.312-45.312L444.992 341.76l125.44 94.08L679.04 300.032a32 32 0 1 1 49.92 39.936L581.632 524.224 451.008 426.24 342.656 534.592z"})]))}}),EN=SN,TN=N({name:"DeleteFilled",__name:"delete-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M352 192V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64H96a32 32 0 0 1 0-64zm64 0h192v-64H416zM192 960a32 32 0 0 1-32-32V256h704v672a32 32 0 0 1-32 32zm224-192a32 32 0 0 0 32-32V416a32 32 0 0 0-64 0v320a32 32 0 0 0 32 32m192 0a32 32 0 0 0 32-32V416a32 32 0 0 0-64 0v320a32 32 0 0 0 32 32"})]))}}),$N=TN,MN=N({name:"DeleteLocation",__name:"delete-location",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M288 896h448q32 0 32 32t-32 32H288q-32 0-32-32t32-32"}),E("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416M512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544"}),E("path",{fill:"currentColor",d:"M384 384h256q32 0 32 32t-32 32H384q-32 0-32-32t32-32"})]))}}),AN=MN,zN=N({name:"Delete",__name:"delete",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M160 256H96a32 32 0 0 1 0-64h256V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64h-64v672a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32zm448-64v-64H416v64zM224 896h576V256H224zm192-128a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32m192 0a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32"})]))}}),P3=zN,IN=N({name:"Dessert",__name:"dessert",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 416v-48a144 144 0 0 1 168.64-141.888 224.128 224.128 0 0 1 430.72 0A144 144 0 0 1 896 368v48a384 384 0 0 1-352 382.72V896h-64v-97.28A384 384 0 0 1 128 416m287.104-32.064h193.792a143.808 143.808 0 0 1 58.88-132.736 160.064 160.064 0 0 0-311.552 0 143.808 143.808 0 0 1 58.88 132.8zm-72.896 0a72 72 0 1 0-140.48 0h140.48m339.584 0h140.416a72 72 0 1 0-140.48 0zM512 736a320 320 0 0 0 318.4-288.064H193.6A320 320 0 0 0 512 736M384 896.064h256a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64"})]))}}),ON=IN,NN=N({name:"Discount",__name:"discount",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M224 704h576V318.336L552.512 115.84a64 64 0 0 0-81.024 0L224 318.336zm0 64v128h576V768zM593.024 66.304l259.2 212.096A32 32 0 0 1 864 303.168V928a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32V303.168a32 32 0 0 1 11.712-24.768l259.2-212.096a128 128 0 0 1 162.112 0"}),E("path",{fill:"currentColor",d:"M512 448a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256"})]))}}),PN=NN,RN=N({name:"DishDot",__name:"dish-dot",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m384.064 274.56.064-50.688A128 128 0 0 1 512.128 96c70.528 0 127.68 57.152 127.68 127.68v50.752A448.192 448.192 0 0 1 955.392 768H68.544A448.192 448.192 0 0 1 384 274.56zM96 832h832a32 32 0 1 1 0 64H96a32 32 0 1 1 0-64m32-128h768a384 384 0 1 0-768 0m447.808-448v-32.32a63.68 63.68 0 0 0-63.68-63.68 64 64 0 0 0-64 63.936V256z"})]))}}),LN=RN,BN=N({name:"Dish",__name:"dish",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M480 257.152V192h-96a32 32 0 0 1 0-64h256a32 32 0 1 1 0 64h-96v65.152A448 448 0 0 1 955.52 768H68.48A448 448 0 0 1 480 257.152M128 704h768a384 384 0 1 0-768 0M96 832h832a32 32 0 1 1 0 64H96a32 32 0 1 1 0-64"})]))}}),VN=BN,DN=N({name:"DocumentAdd",__name:"document-add",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640zm-26.496-64L640 154.496V320zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m320 512V448h64v128h128v64H544v128h-64V640H352v-64z"})]))}}),HN=DN,FN=N({name:"DocumentChecked",__name:"document-checked",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M805.504 320 640 154.496V320zM832 384H576V128H192v768h640zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m318.4 582.144 180.992-180.992L704.64 510.4 478.4 736.64 320 578.304l45.248-45.312z"})]))}}),jN=FN,KN=N({name:"DocumentCopy",__name:"document-copy",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 320v576h576V320zm-32-64h640a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V288a32 32 0 0 1 32-32M960 96v704a32 32 0 0 1-32 32h-96v-64h64V128H384v64h-64V96a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32M256 672h320v64H256zm0-192h320v64H256z"})]))}}),UN=KN,WN=N({name:"DocumentDelete",__name:"document-delete",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M805.504 320 640 154.496V320zM832 384H576V128H192v768h640zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m308.992 546.304-90.496-90.624 45.248-45.248 90.56 90.496 90.496-90.432 45.248 45.248-90.496 90.56 90.496 90.496-45.248 45.248-90.496-90.496-90.56 90.496-45.248-45.248 90.496-90.496z"})]))}}),qN=WN,YN=N({name:"DocumentRemove",__name:"document-remove",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M805.504 320 640 154.496V320zM832 384H576V128H192v768h640zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m192 512h320v64H352z"})]))}}),GN=YN,XN=N({name:"Document",__name:"document",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640zm-26.496-64L640 154.496V320zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h160v64H320zm0 384h384v64H320z"})]))}}),R3=XN,ZN=N({name:"Download",__name:"download",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M160 832h704a32 32 0 1 1 0 64H160a32 32 0 1 1 0-64m384-253.696 236.288-236.352 45.248 45.248L508.8 704 192 387.2l45.248-45.248L480 584.704V128h64z"})]))}}),JN=ZN,QN=N({name:"Drizzling",__name:"drizzling",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m739.328 291.328-35.2-6.592-12.8-33.408a192.064 192.064 0 0 0-365.952 23.232l-9.92 40.896-41.472 7.04a176.32 176.32 0 0 0-146.24 173.568c0 97.28 78.72 175.936 175.808 175.936h400a192 192 0 0 0 35.776-380.672zM959.552 480a256 256 0 0 1-256 256h-400A239.808 239.808 0 0 1 63.744 496.192a240.32 240.32 0 0 1 199.488-236.8 256.128 256.128 0 0 1 487.872-30.976A256.064 256.064 0 0 1 959.552 480M288 800h64v64h-64zm192 0h64v64h-64zm-96 96h64v64h-64zm192 0h64v64h-64zm96-96h64v64h-64z"})]))}}),eP=QN,tP=N({name:"EditPen",__name:"edit-pen",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m199.04 672.64 193.984 112 224-387.968-193.92-112-224 388.032zm-23.872 60.16 32.896 148.288 144.896-45.696zM455.04 229.248l193.92 112 56.704-98.112-193.984-112-56.64 98.112zM104.32 708.8l384-665.024 304.768 175.936L409.152 884.8h.064l-248.448 78.336zm384 254.272v-64h448v64h-448z"})]))}}),oP=tP,rP=N({name:"Edit",__name:"edit",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M832 512a32 32 0 1 1 64 0v352a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h352a32 32 0 0 1 0 64H192v640h640z"}),E("path",{fill:"currentColor",d:"m469.952 554.24 52.8-7.552L847.104 222.4a32 32 0 1 0-45.248-45.248L477.44 501.44l-7.552 52.8zm422.4-422.4a96 96 0 0 1 0 135.808l-331.84 331.84a32 32 0 0 1-18.112 9.088L436.8 623.68a32 32 0 0 1-36.224-36.224l15.104-105.6a32 32 0 0 1 9.024-18.112l331.904-331.84a96 96 0 0 1 135.744 0z"})]))}}),lP=rP,nP=N({name:"ElemeFilled",__name:"eleme-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M176 64h672c61.824 0 112 50.176 112 112v672a112 112 0 0 1-112 112H176A112 112 0 0 1 64 848V176c0-61.824 50.176-112 112-112m150.528 173.568c-152.896 99.968-196.544 304.064-97.408 456.96a330.688 330.688 0 0 0 456.96 96.64c9.216-5.888 17.6-11.776 25.152-18.56a18.24 18.24 0 0 0 4.224-24.32L700.352 724.8a47.552 47.552 0 0 0-65.536-14.272A234.56 234.56 0 0 1 310.592 641.6C240 533.248 271.104 387.968 379.456 316.48a234.304 234.304 0 0 1 276.352 15.168c1.664.832 2.56 2.56 3.392 4.224 5.888 8.384 3.328 19.328-5.12 25.216L456.832 489.6a47.552 47.552 0 0 0-14.336 65.472l16 24.384c5.888 8.384 16.768 10.88 25.216 5.056l308.224-199.936a19.584 19.584 0 0 0 6.72-23.488v-.896c-4.992-9.216-10.048-17.6-15.104-26.88-99.968-151.168-304.064-194.88-456.96-95.744zM786.88 504.704l-62.208 40.32c-8.32 5.888-10.88 16.768-4.992 25.216L760 632.32c5.888 8.448 16.768 11.008 25.152 5.12l31.104-20.16a55.36 55.36 0 0 0 16-76.48l-20.224-31.04a19.52 19.52 0 0 0-25.152-5.12z"})]))}}),aP=nP,iP=N({name:"Eleme",__name:"eleme",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M300.032 188.8c174.72-113.28 408-63.36 522.24 109.44 5.76 10.56 11.52 20.16 17.28 30.72v.96a22.4 22.4 0 0 1-7.68 26.88l-352.32 228.48c-9.6 6.72-22.08 3.84-28.8-5.76l-18.24-27.84a54.336 54.336 0 0 1 16.32-74.88l225.6-146.88c9.6-6.72 12.48-19.2 5.76-28.8-.96-1.92-1.92-3.84-3.84-4.8a267.84 267.84 0 0 0-315.84-17.28c-123.84 81.6-159.36 247.68-78.72 371.52a268.096 268.096 0 0 0 370.56 78.72 54.336 54.336 0 0 1 74.88 16.32l17.28 26.88c5.76 9.6 3.84 21.12-4.8 27.84-8.64 7.68-18.24 14.4-28.8 21.12a377.92 377.92 0 0 1-522.24-110.4c-113.28-174.72-63.36-408 111.36-522.24zm526.08 305.28a22.336 22.336 0 0 1 28.8 5.76l23.04 35.52a63.232 63.232 0 0 1-18.24 87.36l-35.52 23.04c-9.6 6.72-22.08 3.84-28.8-5.76l-46.08-71.04c-6.72-9.6-3.84-22.08 5.76-28.8l71.04-46.08z"})]))}}),sP=iP,cP=N({name:"ElementPlus",__name:"element-plus",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M839.7 734.7c0 33.3-17.9 41-17.9 41S519.7 949.8 499.2 960c-10.2 5.1-20.5 5.1-30.7 0 0 0-314.9-184.3-325.1-192-5.1-5.1-10.2-12.8-12.8-20.5V368.6c0-17.9 20.5-28.2 20.5-28.2L466 158.6c12.8-5.1 25.6-5.1 38.4 0 0 0 279 161.3 309.8 179.2 17.9 7.7 28.2 25.6 25.6 46.1-.1-5-.1 317.5-.1 350.8M714.2 371.2c-64-35.8-217.6-125.4-217.6-125.4-7.7-5.1-20.5-5.1-30.7 0L217.6 389.1s-17.9 10.2-17.9 23v297c0 5.1 5.1 12.8 7.7 17.9 7.7 5.1 256 148.5 256 148.5 7.7 5.1 17.9 5.1 25.6 0 15.4-7.7 250.9-145.9 250.9-145.9s12.8-5.1 12.8-30.7v-74.2l-276.5 169v-64c0-17.9 7.7-30.7 20.5-46.1L745 535c5.1-7.7 10.2-20.5 10.2-30.7v-66.6l-279 169v-69.1c0-15.4 5.1-30.7 17.9-38.4l220.1-128zM919 135.7c0-5.1-5.1-7.7-7.7-7.7h-58.9V66.6c0-5.1-5.1-5.1-10.2-5.1l-30.7 5.1c-5.1 0-5.1 2.6-5.1 5.1V128h-56.3c-5.1 0-5.1 5.1-7.7 5.1v38.4h69.1v64c0 5.1 5.1 5.1 10.2 5.1l30.7-5.1c5.1 0 5.1-2.6 5.1-5.1v-56.3h64l-2.5-38.4z"})]))}}),uP=cP,dP=N({name:"Expand",__name:"expand",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 192h768v128H128zm0 256h512v128H128zm0 256h768v128H128zm576-352 192 160-192 128z"})]))}}),pP=dP,fP=N({name:"Failed",__name:"failed",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m557.248 608 135.744-135.744-45.248-45.248-135.68 135.744-135.808-135.68-45.248 45.184L466.752 608l-135.68 135.68 45.184 45.312L512 653.248l135.744 135.744 45.248-45.248L557.312 608zM704 192h160v736H160V192h160v64h384zm-320 0V96h256v96z"})]))}}),hP=fP,vP=N({name:"Female",__name:"female",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 640a256 256 0 1 0 0-512 256 256 0 0 0 0 512m0 64a320 320 0 1 1 0-640 320 320 0 0 1 0 640"}),E("path",{fill:"currentColor",d:"M512 640q32 0 32 32v256q0 32-32 32t-32-32V672q0-32 32-32"}),E("path",{fill:"currentColor",d:"M352 800h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32"})]))}}),mP=vP,gP=N({name:"Files",__name:"files",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 384v448h768V384zm-32-64h832a32 32 0 0 1 32 32v512a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V352a32 32 0 0 1 32-32m64-128h704v64H160zm96-128h512v64H256z"})]))}}),bP=gP,_P=N({name:"Film",__name:"film",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M160 160v704h704V160zm-32-64h768a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H128a32 32 0 0 1-32-32V128a32 32 0 0 1 32-32"}),E("path",{fill:"currentColor",d:"M320 288V128h64v352h256V128h64v160h160v64H704v128h160v64H704v128h160v64H704v160h-64V544H384v352h-64V736H128v-64h192V544H128v-64h192V352H128v-64z"})]))}}),wP=_P,yP=N({name:"Filter",__name:"filter",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M384 523.392V928a32 32 0 0 0 46.336 28.608l192-96A32 32 0 0 0 640 832V523.392l280.768-343.104a32 32 0 1 0-49.536-40.576l-288 352A32 32 0 0 0 576 512v300.224l-128 64V512a32 32 0 0 0-7.232-20.288L195.52 192H704a32 32 0 1 0 0-64H128a32 32 0 0 0-24.768 52.288z"})]))}}),xP=yP,kP=N({name:"Finished",__name:"finished",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M280.768 753.728 691.456 167.04a32 32 0 1 1 52.416 36.672L314.24 817.472a32 32 0 0 1-45.44 7.296l-230.4-172.8a32 32 0 0 1 38.4-51.2l203.968 152.96zM736 448a32 32 0 1 1 0-64h192a32 32 0 1 1 0 64zM608 640a32 32 0 0 1 0-64h319.936a32 32 0 1 1 0 64zM480 832a32 32 0 1 1 0-64h447.936a32 32 0 1 1 0 64z"})]))}}),CP=kP,SP=N({name:"FirstAidKit",__name:"first-aid-kit",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M192 256a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V320a64 64 0 0 0-64-64zm0-64h640a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H192A128 128 0 0 1 64 768V320a128 128 0 0 1 128-128"}),E("path",{fill:"currentColor",d:"M544 512h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64h96v-96a32 32 0 0 1 64 0zM352 128v64h320v-64zm-32-64h384a32 32 0 0 1 32 32v128a32 32 0 0 1-32 32H320a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32"})]))}}),EP=SP,TP=N({name:"Flag",__name:"flag",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M288 128h608L736 384l160 256H288v320h-96V64h96z"})]))}}),$P=TP,MP=N({name:"Fold",__name:"fold",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M896 192H128v128h768zm0 256H384v128h512zm0 256H128v128h768zM320 384 128 512l192 128z"})]))}}),AP=MP,zP=N({name:"FolderAdd",__name:"folder-add",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32m384 416V416h64v128h128v64H544v128h-64V608H352v-64z"})]))}}),IP=zP,OP=N({name:"FolderChecked",__name:"folder-checked",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32m414.08 502.144 180.992-180.992L736.32 494.4 510.08 720.64l-158.4-158.336 45.248-45.312z"})]))}}),NP=OP,PP=N({name:"FolderDelete",__name:"folder-delete",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32m370.752 448-90.496-90.496 45.248-45.248L512 530.752l90.496-90.496 45.248 45.248L557.248 576l90.496 90.496-45.248 45.248L512 621.248l-90.496 90.496-45.248-45.248z"})]))}}),RP=PP,LP=N({name:"FolderOpened",__name:"folder-opened",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M878.08 448H241.92l-96 384h636.16l96-384zM832 384v-64H485.76L357.504 192H128v448l57.92-231.744A32 32 0 0 1 216.96 384zm-24.96 512H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h287.872l128.384 128H864a32 32 0 0 1 32 32v96h23.04a32 32 0 0 1 31.04 39.744l-112 448A32 32 0 0 1 807.04 896"})]))}}),BP=LP,VP=N({name:"FolderRemove",__name:"folder-remove",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32m256 416h320v64H352z"})]))}}),DP=VP,HP=N({name:"Folder",__name:"folder",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32"})]))}}),FP=HP,jP=N({name:"Food",__name:"food",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 352.576V352a288 288 0 0 1 491.072-204.224 192 192 0 0 1 274.24 204.48 64 64 0 0 1 57.216 74.24C921.6 600.512 850.048 710.656 736 756.992V800a96 96 0 0 1-96 96H384a96 96 0 0 1-96-96v-43.008c-114.048-46.336-185.6-156.48-214.528-330.496A64 64 0 0 1 128 352.64zm64-.576h64a160 160 0 0 1 320 0h64a224 224 0 0 0-448 0m128 0h192a96 96 0 0 0-192 0m439.424 0h68.544A128.256 128.256 0 0 0 704 192c-15.36 0-29.952 2.688-43.52 7.616 11.328 18.176 20.672 37.76 27.84 58.304A64.128 64.128 0 0 1 759.424 352M672 768H352v32a32 32 0 0 0 32 32h256a32 32 0 0 0 32-32zm-342.528-64h365.056c101.504-32.64 165.76-124.928 192.896-288H136.576c27.136 163.072 91.392 255.36 192.896 288"})]))}}),KP=jP,UP=N({name:"Football",__name:"football",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 960a448 448 0 1 1 0-896 448 448 0 0 1 0 896m0-64a384 384 0 1 0 0-768 384 384 0 0 0 0 768"}),E("path",{fill:"currentColor",d:"M186.816 268.288c16-16.384 31.616-31.744 46.976-46.08 17.472 30.656 39.808 58.112 65.984 81.28l-32.512 56.448a385.984 385.984 0 0 1-80.448-91.648zm653.696-5.312a385.92 385.92 0 0 1-83.776 96.96l-32.512-56.384a322.923 322.923 0 0 0 68.48-85.76c15.552 14.08 31.488 29.12 47.808 45.184zM465.984 445.248l11.136-63.104a323.584 323.584 0 0 0 69.76 0l11.136 63.104a387.968 387.968 0 0 1-92.032 0m-62.72-12.8A381.824 381.824 0 0 1 320 396.544l32-55.424a319.885 319.885 0 0 0 62.464 27.712l-11.2 63.488zm300.8-35.84a381.824 381.824 0 0 1-83.328 35.84l-11.2-63.552A319.885 319.885 0 0 0 672 341.184l32 55.424zm-520.768 364.8a385.92 385.92 0 0 1 83.968-97.28l32.512 56.32c-26.88 23.936-49.856 52.352-67.52 84.032-16-13.44-32.32-27.712-48.96-43.072zm657.536.128a1442.759 1442.759 0 0 1-49.024 43.072 321.408 321.408 0 0 0-67.584-84.16l32.512-56.32c33.216 27.456 61.696 60.352 84.096 97.408zM465.92 578.752a387.968 387.968 0 0 1 92.032 0l-11.136 63.104a323.584 323.584 0 0 0-69.76 0zm-62.72 12.8 11.2 63.552a319.885 319.885 0 0 0-62.464 27.712L320 627.392a381.824 381.824 0 0 1 83.264-35.84zm300.8 35.84-32 55.424a318.272 318.272 0 0 0-62.528-27.712l11.2-63.488c29.44 8.64 57.28 20.736 83.264 35.776z"})]))}}),WP=UP,qP=N({name:"ForkSpoon",__name:"fork-spoon",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M256 410.304V96a32 32 0 0 1 64 0v314.304a96 96 0 0 0 64-90.56V96a32 32 0 0 1 64 0v223.744a160 160 0 0 1-128 156.8V928a32 32 0 1 1-64 0V476.544a160 160 0 0 1-128-156.8V96a32 32 0 0 1 64 0v223.744a96 96 0 0 0 64 90.56zM672 572.48C581.184 552.128 512 446.848 512 320c0-141.44 85.952-256 192-256s192 114.56 192 256c0 126.848-69.184 232.128-160 252.48V928a32 32 0 1 1-64 0zM704 512c66.048 0 128-82.56 128-192s-61.952-192-128-192-128 82.56-128 192 61.952 192 128 192"})]))}}),YP=qP,GP=N({name:"Fries",__name:"fries",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M608 224v-64a32 32 0 0 0-64 0v336h26.88A64 64 0 0 0 608 484.096zm101.12 160A64 64 0 0 0 672 395.904V384h64V224a32 32 0 1 0-64 0v160zm74.88 0a92.928 92.928 0 0 1 91.328 110.08l-60.672 323.584A96 96 0 0 1 720.32 896H303.68a96 96 0 0 1-94.336-78.336L148.672 494.08A92.928 92.928 0 0 1 240 384h-16V224a96 96 0 0 1 188.608-25.28A95.744 95.744 0 0 1 480 197.44V160a96 96 0 0 1 188.608-25.28A96 96 0 0 1 800 224v160zM670.784 512a128 128 0 0 1-99.904 48H453.12a128 128 0 0 1-99.84-48H352v-1.536a128.128 128.128 0 0 1-9.984-14.976L314.88 448H240a28.928 28.928 0 0 0-28.48 34.304L241.088 640h541.824l29.568-157.696A28.928 28.928 0 0 0 784 448h-74.88l-27.136 47.488A132.405 132.405 0 0 1 672 510.464V512zM480 288a32 32 0 0 0-64 0v196.096A64 64 0 0 0 453.12 496H480zm-128 96V224a32 32 0 0 0-64 0v160zh-37.12A64 64 0 0 1 352 395.904zm-98.88 320 19.072 101.888A32 32 0 0 0 303.68 832h416.64a32 32 0 0 0 31.488-26.112L770.88 704z"})]))}}),XP=GP,ZP=N({name:"FullScreen",__name:"full-screen",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m160 96.064 192 .192a32 32 0 0 1 0 64l-192-.192V352a32 32 0 0 1-64 0V96h64zm0 831.872V928H96V672a32 32 0 1 1 64 0v191.936l192-.192a32 32 0 1 1 0 64zM864 96.064V96h64v256a32 32 0 1 1-64 0V160.064l-192 .192a32 32 0 1 1 0-64l192-.192zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64z"})]))}}),L3=ZP,JP=N({name:"GobletFull",__name:"goblet-full",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M256 320h512c0-78.592-12.608-142.4-36.928-192h-434.24C269.504 192.384 256 256.256 256 320m503.936 64H264.064a256.128 256.128 0 0 0 495.872 0zM544 638.4V896h96a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64h96V638.4A320 320 0 0 1 192 320c0-85.632 21.312-170.944 64-256h512c42.688 64.32 64 149.632 64 256a320 320 0 0 1-288 318.4"})]))}}),QP=JP,eR=N({name:"GobletSquareFull",__name:"goblet-square-full",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M256 270.912c10.048 6.72 22.464 14.912 28.992 18.624a220.16 220.16 0 0 0 114.752 30.72c30.592 0 49.408-9.472 91.072-41.152l.64-.448c52.928-40.32 82.368-55.04 132.288-54.656 55.552.448 99.584 20.8 142.72 57.408l1.536 1.28V128H256v142.912zm.96 76.288C266.368 482.176 346.88 575.872 512 576c157.44.064 237.952-85.056 253.248-209.984a952.32 952.32 0 0 1-40.192-35.712c-32.704-27.776-63.36-41.92-101.888-42.24-31.552-.256-50.624 9.28-93.12 41.6l-.576.448c-52.096 39.616-81.024 54.208-129.792 54.208-54.784 0-100.48-13.376-142.784-37.056zM480 638.848C250.624 623.424 192 442.496 192 319.68V96a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32v224c0 122.816-58.624 303.68-288 318.912V896h96a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64h96z"})]))}}),tR=eR,oR=N({name:"GobletSquare",__name:"goblet-square",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M544 638.912V896h96a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64h96V638.848C250.624 623.424 192 442.496 192 319.68V96a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32v224c0 122.816-58.624 303.68-288 318.912M256 319.68c0 149.568 80 256.192 256 256.256C688.128 576 768 469.568 768 320V128H256z"})]))}}),rR=oR,lR=N({name:"Goblet",__name:"goblet",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M544 638.4V896h96a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64h96V638.4A320 320 0 0 1 192 320c0-85.632 21.312-170.944 64-256h512c42.688 64.32 64 149.632 64 256a320 320 0 0 1-288 318.4M256 320a256 256 0 1 0 512 0c0-78.592-12.608-142.4-36.928-192h-434.24C269.504 192.384 256 256.256 256 320"})]))}}),nR=lR,aR=N({name:"GoldMedal",__name:"gold-medal",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m772.13 452.84 53.86-351.81c1.32-10.01-1.17-18.68-7.49-26.02S804.35 64 795.01 64H228.99v-.01h-.06c-9.33 0-17.15 3.67-23.49 11.01s-8.83 16.01-7.49 26.02l53.87 351.89C213.54 505.73 193.59 568.09 192 640c2 90.67 33.17 166.17 93.5 226.5S421.33 957.99 512 960c90.67-2 166.17-33.17 226.5-93.5 60.33-60.34 91.49-135.83 93.5-226.5-1.59-71.94-21.56-134.32-59.87-187.16zM640.01 128h117.02l-39.01 254.02c-20.75-10.64-40.74-19.73-59.94-27.28-5.92-3-11.95-5.8-18.08-8.41V128h.01zM576 128v198.76c-13.18-2.58-26.74-4.43-40.67-5.55-8.07-.8-15.85-1.2-23.33-1.2-10.54 0-21.09.66-31.64 1.96a359.844 359.844 0 0 0-32.36 4.79V128zm-192 0h.04v218.3c-6.22 2.66-12.34 5.5-18.36 8.56-19.13 7.54-39.02 16.6-59.66 27.16L267.01 128zm308.99 692.99c-48 48-108.33 73-180.99 75.01-72.66-2.01-132.99-27.01-180.99-75.01S258.01 712.66 256 640c2.01-72.66 27.01-132.99 75.01-180.99 19.67-19.67 41.41-35.47 65.22-47.41 38.33-15.04 71.15-23.92 98.44-26.65 5.07-.41 10.2-.7 15.39-.88.63-.01 1.28-.03 1.91-.03.66 0 1.35.03 2.02.04 5.11.17 10.15.46 15.13.86 27.4 2.71 60.37 11.65 98.91 26.79 23.71 11.93 45.36 27.69 64.96 47.29 48 48 73 108.33 75.01 180.99-2.01 72.65-27.01 132.98-75.01 180.98z"}),E("path",{fill:"currentColor",d:"M544 480H416v64h64v192h-64v64h192v-64h-64z"})]))}}),iR=aR,sR=N({name:"GoodsFilled",__name:"goods-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M192 352h640l64 544H128zm128 224h64V448h-64zm320 0h64V448h-64zM384 288h-64a192 192 0 1 1 384 0h-64a128 128 0 1 0-256 0"})]))}}),cR=sR,uR=N({name:"Goods",__name:"goods",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M320 288v-22.336C320 154.688 405.504 64 512 64s192 90.688 192 201.664v22.4h131.072a32 32 0 0 1 31.808 28.8l57.6 576a32 32 0 0 1-31.808 35.2H131.328a32 32 0 0 1-31.808-35.2l57.6-576a32 32 0 0 1 31.808-28.8H320zm64 0h256v-22.336C640 189.248 582.272 128 512 128c-70.272 0-128 61.248-128 137.664v22.4zm-64 64H217.92l-51.2 512h690.56l-51.264-512H704v96a32 32 0 1 1-64 0v-96H384v96a32 32 0 0 1-64 0z"})]))}}),dR=uR,pR=N({name:"Grape",__name:"grape",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M544 195.2a160 160 0 0 1 96 60.8 160 160 0 1 1 146.24 254.976 160 160 0 0 1-128 224 160 160 0 1 1-292.48 0 160 160 0 0 1-128-224A160 160 0 1 1 384 256a160 160 0 0 1 96-60.8V128h-64a32 32 0 0 1 0-64h192a32 32 0 0 1 0 64h-64zM512 448a96 96 0 1 0 0-192 96 96 0 0 0 0 192m-256 0a96 96 0 1 0 0-192 96 96 0 0 0 0 192m128 224a96 96 0 1 0 0-192 96 96 0 0 0 0 192m128 224a96 96 0 1 0 0-192 96 96 0 0 0 0 192m128-224a96 96 0 1 0 0-192 96 96 0 0 0 0 192m128-224a96 96 0 1 0 0-192 96 96 0 0 0 0 192"})]))}}),fR=pR,hR=N({name:"Grid",__name:"grid",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M640 384v256H384V384zm64 0h192v256H704zm-64 512H384V704h256zm64 0V704h192v192zm-64-768v192H384V128zm64 0h192v192H704zM320 384v256H128V384zm0 512H128V704h192zm0-768v192H128V128z"})]))}}),vR=hR,mR=N({name:"Guide",__name:"guide",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M640 608h-64V416h64zm0 160v160a32 32 0 0 1-32 32H416a32 32 0 0 1-32-32V768h64v128h128V768zM384 608V416h64v192zm256-352h-64V128H448v128h-64V96a32 32 0 0 1 32-32h192a32 32 0 0 1 32 32z"}),E("path",{fill:"currentColor",d:"m220.8 256-71.232 80 71.168 80H768V256H220.8zm-14.4-64H800a32 32 0 0 1 32 32v224a32 32 0 0 1-32 32H206.4a32 32 0 0 1-23.936-10.752l-99.584-112a32 32 0 0 1 0-42.496l99.584-112A32 32 0 0 1 206.4 192m678.784 496-71.104 80H266.816V608h547.2l71.168 80zm-56.768-144H234.88a32 32 0 0 0-32 32v224a32 32 0 0 0 32 32h593.6a32 32 0 0 0 23.936-10.752l99.584-112a32 32 0 0 0 0-42.496l-99.584-112A32 32 0 0 0 828.48 544z"})]))}}),gR=mR,bR=N({name:"Handbag",__name:"handbag",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M887.01 264.99c-6-5.99-13.67-8.99-23.01-8.99H704c-1.34-54.68-20.01-100.01-56-136s-81.32-54.66-136-56c-54.68 1.34-100.01 20.01-136 56s-54.66 81.32-56 136H160c-9.35 0-17.02 3-23.01 8.99-5.99 6-8.99 13.67-8.99 23.01v640c0 9.35 2.99 17.02 8.99 23.01S150.66 960 160 960h704c9.35 0 17.02-2.99 23.01-8.99S896 937.34 896 928V288c0-9.35-2.99-17.02-8.99-23.01M421.5 165.5c24.32-24.34 54.49-36.84 90.5-37.5 35.99.68 66.16 13.18 90.5 37.5s36.84 54.49 37.5 90.5H384c.68-35.99 13.18-66.16 37.5-90.5M832 896H192V320h128v128h64V320h256v128h64V320h128z"})]))}}),_R=bR,wR=N({name:"Headset",__name:"headset",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M896 529.152V512a384 384 0 1 0-768 0v17.152A128 128 0 0 1 320 640v128a128 128 0 1 1-256 0V512a448 448 0 1 1 896 0v256a128 128 0 1 1-256 0V640a128 128 0 0 1 192-110.848M896 640a64 64 0 0 0-128 0v128a64 64 0 0 0 128 0zm-768 0v128a64 64 0 0 0 128 0V640a64 64 0 1 0-128 0"})]))}}),yR=wR,xR=N({name:"HelpFilled",__name:"help-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M926.784 480H701.312A192.512 192.512 0 0 0 544 322.688V97.216A416.064 416.064 0 0 1 926.784 480m0 64A416.064 416.064 0 0 1 544 926.784V701.312A192.512 192.512 0 0 0 701.312 544zM97.28 544h225.472A192.512 192.512 0 0 0 480 701.312v225.472A416.064 416.064 0 0 1 97.216 544zm0-64A416.064 416.064 0 0 1 480 97.216v225.472A192.512 192.512 0 0 0 322.688 480H97.216z"})]))}}),kR=xR,CR=N({name:"Help",__name:"help",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m759.936 805.248-90.944-91.008A254.912 254.912 0 0 1 512 768a254.912 254.912 0 0 1-156.992-53.76l-90.944 91.008A382.464 382.464 0 0 0 512 896c94.528 0 181.12-34.176 247.936-90.752m45.312-45.312A382.464 382.464 0 0 0 896 512c0-94.528-34.176-181.12-90.752-247.936l-91.008 90.944C747.904 398.4 768 452.864 768 512c0 59.136-20.096 113.6-53.76 156.992l91.008 90.944zm-45.312-541.184A382.464 382.464 0 0 0 512 128c-94.528 0-181.12 34.176-247.936 90.752l90.944 91.008A254.912 254.912 0 0 1 512 256c59.136 0 113.6 20.096 156.992 53.76l90.944-91.008zm-541.184 45.312A382.464 382.464 0 0 0 128 512c0 94.528 34.176 181.12 90.752 247.936l91.008-90.944A254.912 254.912 0 0 1 256 512c0-59.136 20.096-113.6 53.76-156.992zm417.28 394.496a194.56 194.56 0 0 0 22.528-22.528C686.912 602.56 704 559.232 704 512a191.232 191.232 0 0 0-67.968-146.56A191.296 191.296 0 0 0 512 320a191.232 191.232 0 0 0-146.56 67.968C337.088 421.44 320 464.768 320 512a191.232 191.232 0 0 0 67.968 146.56C421.44 686.912 464.768 704 512 704c47.296 0 90.56-17.088 124.032-45.44zM512 960a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}}),SR=CR,ER=N({name:"Hide",__name:"hide",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M876.8 156.8c0-9.6-3.2-16-9.6-22.4-6.4-6.4-12.8-9.6-22.4-9.6-9.6 0-16 3.2-22.4 9.6L736 220.8c-64-32-137.6-51.2-224-60.8-160 16-288 73.6-377.6 176C44.8 438.4 0 496 0 512s48 73.6 134.4 176c22.4 25.6 44.8 48 73.6 67.2l-86.4 89.6c-6.4 6.4-9.6 12.8-9.6 22.4 0 9.6 3.2 16 9.6 22.4 6.4 6.4 12.8 9.6 22.4 9.6 9.6 0 16-3.2 22.4-9.6l704-710.4c3.2-6.4 6.4-12.8 6.4-22.4Zm-646.4 528c-76.8-70.4-128-128-153.6-172.8 28.8-48 80-105.6 153.6-172.8C304 272 400 230.4 512 224c64 3.2 124.8 19.2 176 44.8l-54.4 54.4C598.4 300.8 560 288 512 288c-64 0-115.2 22.4-160 64s-64 96-64 160c0 48 12.8 89.6 35.2 124.8L256 707.2c-9.6-6.4-19.2-16-25.6-22.4Zm140.8-96c-12.8-22.4-19.2-48-19.2-76.8 0-44.8 16-83.2 48-112 32-28.8 67.2-48 112-48 28.8 0 54.4 6.4 73.6 19.2zM889.599 336c-12.8-16-28.8-28.8-41.6-41.6l-48 48c73.6 67.2 124.8 124.8 150.4 169.6-28.8 48-80 105.6-153.6 172.8-73.6 67.2-172.8 108.8-284.8 115.2-51.2-3.2-99.2-12.8-140.8-28.8l-48 48c57.6 22.4 118.4 38.4 188.8 44.8 160-16 288-73.6 377.6-176C979.199 585.6 1024 528 1024 512s-48.001-73.6-134.401-176Z"}),E("path",{fill:"currentColor",d:"M511.998 672c-12.8 0-25.6-3.2-38.4-6.4l-51.2 51.2c28.8 12.8 57.6 19.2 89.6 19.2 64 0 115.2-22.4 160-64 41.6-41.6 64-96 64-160 0-32-6.4-64-19.2-89.6l-51.2 51.2c3.2 12.8 6.4 25.6 6.4 38.4 0 44.8-16 83.2-48 112-32 28.8-67.2 48-112 48Z"})]))}}),B3=ER,TR=N({name:"Histogram",__name:"histogram",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M416 896V128h192v768zm-288 0V448h192v448zm576 0V320h192v576z"})]))}}),$R=TR,MR=N({name:"HomeFilled",__name:"home-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 128 128 447.936V896h255.936V640H640v256h255.936V447.936z"})]))}}),AR=MR,zR=N({name:"HotWater",__name:"hot-water",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M273.067 477.867h477.866V409.6H273.067zm0 68.266v51.2A187.733 187.733 0 0 0 460.8 785.067h102.4a187.733 187.733 0 0 0 187.733-187.734v-51.2H273.067zm-34.134-204.8h546.134a34.133 34.133 0 0 1 34.133 34.134v221.866a256 256 0 0 1-256 256H460.8a256 256 0 0 1-256-256V375.467a34.133 34.133 0 0 1 34.133-34.134zM512 34.133a34.133 34.133 0 0 1 34.133 34.134v170.666a34.133 34.133 0 0 1-68.266 0V68.267A34.133 34.133 0 0 1 512 34.133zM375.467 102.4a34.133 34.133 0 0 1 34.133 34.133v102.4a34.133 34.133 0 0 1-68.267 0v-102.4a34.133 34.133 0 0 1 34.134-34.133m273.066 0a34.133 34.133 0 0 1 34.134 34.133v102.4a34.133 34.133 0 1 1-68.267 0v-102.4a34.133 34.133 0 0 1 34.133-34.133M170.667 921.668h682.666a34.133 34.133 0 1 1 0 68.267H170.667a34.133 34.133 0 1 1 0-68.267z"})]))}}),IR=zR,OR=N({name:"House",__name:"house",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M192 413.952V896h640V413.952L512 147.328zM139.52 374.4l352-293.312a32 32 0 0 1 40.96 0l352 293.312A32 32 0 0 1 896 398.976V928a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V398.976a32 32 0 0 1 11.52-24.576"})]))}}),NR=OR,PR=N({name:"IceCreamRound",__name:"ice-cream-round",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m308.352 489.344 226.304 226.304a32 32 0 0 0 45.248 0L783.552 512A192 192 0 1 0 512 240.448L308.352 444.16a32 32 0 0 0 0 45.248zm135.744 226.304L308.352 851.392a96 96 0 0 1-135.744-135.744l135.744-135.744-45.248-45.248a96 96 0 0 1 0-135.808L466.752 195.2A256 256 0 0 1 828.8 557.248L625.152 760.96a96 96 0 0 1-135.808 0l-45.248-45.248zM398.848 670.4 353.6 625.152 217.856 760.896a32 32 0 0 0 45.248 45.248zm248.96-384.64a32 32 0 0 1 0 45.248L466.624 512a32 32 0 1 1-45.184-45.248l180.992-181.056a32 32 0 0 1 45.248 0zm90.496 90.496a32 32 0 0 1 0 45.248L557.248 602.496A32 32 0 1 1 512 557.248l180.992-180.992a32 32 0 0 1 45.312 0z"})]))}}),RR=PR,LR=N({name:"IceCreamSquare",__name:"ice-cream-square",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M416 640h256a32 32 0 0 0 32-32V160a32 32 0 0 0-32-32H352a32 32 0 0 0-32 32v448a32 32 0 0 0 32 32zm192 64v160a96 96 0 0 1-192 0V704h-64a96 96 0 0 1-96-96V160a96 96 0 0 1 96-96h320a96 96 0 0 1 96 96v448a96 96 0 0 1-96 96zm-64 0h-64v160a32 32 0 1 0 64 0z"})]))}}),BR=LR,VR=N({name:"IceCream",__name:"ice-cream",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128.64 448a208 208 0 0 1 193.536-191.552 224 224 0 0 1 445.248 15.488A208.128 208.128 0 0 1 894.784 448H896L548.8 983.68a32 32 0 0 1-53.248.704L128 448zm64.256 0h286.208a144 144 0 0 0-286.208 0zm351.36 0h286.272a144 144 0 0 0-286.272 0zm-294.848 64 271.808 396.608L778.24 512H249.408zM511.68 352.64a207.872 207.872 0 0 1 189.184-96.192 160 160 0 0 0-314.752 5.632c52.608 12.992 97.28 46.08 125.568 90.56"})]))}}),DR=VR,HR=N({name:"IceDrink",__name:"ice-drink",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 448v128h239.68l16.064-128zm-64 0H256.256l16.064 128H448zm64-255.36V384h247.744A256.128 256.128 0 0 0 512 192.64m-64 8.064A256.448 256.448 0 0 0 264.256 384H448zm64-72.064A320.128 320.128 0 0 1 825.472 384H896a32 32 0 1 1 0 64h-64v1.92l-56.96 454.016A64 64 0 0 1 711.552 960H312.448a64 64 0 0 1-63.488-56.064L192 449.92V448h-64a32 32 0 0 1 0-64h70.528A320.384 320.384 0 0 1 448 135.04V96a96 96 0 0 1 96-96h128a32 32 0 1 1 0 64H544a32 32 0 0 0-32 32zM743.68 640H280.32l32.128 256h399.104z"})]))}}),FR=HR,jR=N({name:"IceTea",__name:"ice-tea",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M197.696 259.648a320.128 320.128 0 0 1 628.608 0A96 96 0 0 1 896 352v64a96 96 0 0 1-71.616 92.864l-49.408 395.072A64 64 0 0 1 711.488 960H312.512a64 64 0 0 1-63.488-56.064l-49.408-395.072A96 96 0 0 1 128 416v-64a96 96 0 0 1 69.696-92.352M264.064 256h495.872a256.128 256.128 0 0 0-495.872 0m495.424 256H264.512l48 384h398.976zM224 448h576a32 32 0 0 0 32-32v-64a32 32 0 0 0-32-32H224a32 32 0 0 0-32 32v64a32 32 0 0 0 32 32m160 192h64v64h-64zm192 64h64v64h-64zm-128 64h64v64h-64zm64-192h64v64h-64z"})]))}}),KR=jR,UR=N({name:"InfoFilled",__name:"info-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64m67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344M590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.992 12.992 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"})]))}}),Od=UR,WR=N({name:"Iphone",__name:"iphone",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M224 768v96.064a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64V768zm0-64h576V160a64 64 0 0 0-64-64H288a64 64 0 0 0-64 64zm32 288a96 96 0 0 1-96-96V128a96 96 0 0 1 96-96h512a96 96 0 0 1 96 96v768a96 96 0 0 1-96 96zm304-144a48 48 0 1 1-96 0 48 48 0 0 1 96 0"})]))}}),qR=WR,YR=N({name:"Key",__name:"key",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M448 456.064V96a32 32 0 0 1 32-32.064L672 64a32 32 0 0 1 0 64H512v128h160a32 32 0 0 1 0 64H512v128a256 256 0 1 1-64 8.064M512 896a192 192 0 1 0 0-384 192 192 0 0 0 0 384"})]))}}),GR=YR,XR=N({name:"KnifeFork",__name:"knife-fork",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M256 410.56V96a32 32 0 0 1 64 0v314.56A96 96 0 0 0 384 320V96a32 32 0 0 1 64 0v224a160 160 0 0 1-128 156.8V928a32 32 0 1 1-64 0V476.8A160 160 0 0 1 128 320V96a32 32 0 0 1 64 0v224a96 96 0 0 0 64 90.56m384-250.24V544h126.72c-3.328-78.72-12.928-147.968-28.608-207.744-14.336-54.528-46.848-113.344-98.112-175.872zM640 608v320a32 32 0 1 1-64 0V64h64c85.312 89.472 138.688 174.848 160 256 21.312 81.152 32 177.152 32 288z"})]))}}),ZR=XR,JR=N({name:"Lightning",__name:"lightning",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M288 671.36v64.128A239.808 239.808 0 0 1 63.744 496.192a240.32 240.32 0 0 1 199.488-236.8 256.128 256.128 0 0 1 487.872-30.976A256.064 256.064 0 0 1 736 734.016v-64.768a192 192 0 0 0 3.328-377.92l-35.2-6.592-12.8-33.408a192.064 192.064 0 0 0-365.952 23.232l-9.92 40.896-41.472 7.04a176.32 176.32 0 0 0-146.24 173.568c0 91.968 70.464 167.36 160.256 175.232z"}),E("path",{fill:"currentColor",d:"M416 736a32 32 0 0 1-27.776-47.872l128-224a32 32 0 1 1 55.552 31.744L471.168 672H608a32 32 0 0 1 27.776 47.872l-128 224a32 32 0 1 1-55.68-31.744L552.96 736z"})]))}}),QR=JR,eL=N({name:"Link",__name:"link",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M715.648 625.152 670.4 579.904l90.496-90.56c75.008-74.944 85.12-186.368 22.656-248.896-62.528-62.464-173.952-52.352-248.96 22.656L444.16 353.6l-45.248-45.248 90.496-90.496c100.032-99.968 251.968-110.08 339.456-22.656 87.488 87.488 77.312 239.424-22.656 339.456l-90.496 90.496zm-90.496 90.496-90.496 90.496C434.624 906.112 282.688 916.224 195.2 828.8c-87.488-87.488-77.312-239.424 22.656-339.456l90.496-90.496 45.248 45.248-90.496 90.56c-75.008 74.944-85.12 186.368-22.656 248.896 62.528 62.464 173.952 52.352 248.96-22.656l90.496-90.496zm0-362.048 45.248 45.248L398.848 670.4 353.6 625.152z"})]))}}),tL=eL,oL=N({name:"List",__name:"list",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M704 192h160v736H160V192h160v64h384zM288 512h448v-64H288zm0 256h448v-64H288zm96-576V96h256v96z"})]))}}),rL=oL,lL=N({name:"Loading",__name:"loading",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32m448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32m-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32M195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248zm452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248zM828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0m-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0z"})]))}}),vn=lL,nL=N({name:"LocationFilled",__name:"location-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 928c23.936 0 117.504-68.352 192.064-153.152C803.456 661.888 864 535.808 864 416c0-189.632-155.84-320-352-320S160 226.368 160 416c0 120.32 60.544 246.4 159.936 359.232C394.432 859.84 488 928 512 928m0-435.2a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 140.8a204.8 204.8 0 1 1 0-409.6 204.8 204.8 0 0 1 0 409.6"})]))}}),aL=nL,iL=N({name:"LocationInformation",__name:"location-information",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M288 896h448q32 0 32 32t-32 32H288q-32 0-32-32t32-32"}),E("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416M512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544"}),E("path",{fill:"currentColor",d:"M512 512a96 96 0 1 0 0-192 96 96 0 0 0 0 192m0 64a160 160 0 1 1 0-320 160 160 0 0 1 0 320"})]))}}),sL=iL,cL=N({name:"Location",__name:"location",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416M512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544"}),E("path",{fill:"currentColor",d:"M512 512a96 96 0 1 0 0-192 96 96 0 0 0 0 192m0 64a160 160 0 1 1 0-320 160 160 0 0 1 0 320"})]))}}),uL=cL,dL=N({name:"Lock",__name:"lock",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M224 448a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V480a32 32 0 0 0-32-32zm0-64h576a96 96 0 0 1 96 96v384a96 96 0 0 1-96 96H224a96 96 0 0 1-96-96V480a96 96 0 0 1 96-96"}),E("path",{fill:"currentColor",d:"M512 544a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V576a32 32 0 0 1 32-32m192-160v-64a192 192 0 1 0-384 0v64zM512 64a256 256 0 0 1 256 256v128H256V320A256 256 0 0 1 512 64"})]))}}),pL=dL,fL=N({name:"Lollipop",__name:"lollipop",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M513.28 448a64 64 0 1 1 76.544 49.728A96 96 0 0 0 768 448h64a160 160 0 0 1-320 0zm-126.976-29.696a256 256 0 1 0 43.52-180.48A256 256 0 0 1 832 448h-64a192 192 0 0 0-381.696-29.696m105.664 249.472L285.696 874.048a96 96 0 0 1-135.68-135.744l206.208-206.272a320 320 0 1 1 135.744 135.744zm-54.464-36.032a321.92 321.92 0 0 1-45.248-45.248L195.2 783.552a32 32 0 1 0 45.248 45.248l197.056-197.12z"})]))}}),hL=fL,vL=N({name:"MagicStick",__name:"magic-stick",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 64h64v192h-64zm0 576h64v192h-64zM160 480v-64h192v64zm576 0v-64h192v64zM249.856 199.04l45.248-45.184L430.848 289.6 385.6 334.848 249.856 199.104zM657.152 606.4l45.248-45.248 135.744 135.744-45.248 45.248zM114.048 923.2 68.8 877.952l316.8-316.8 45.248 45.248zM702.4 334.848 657.152 289.6l135.744-135.744 45.248 45.248z"})]))}}),mL=vL,gL=N({name:"Magnet",__name:"magnet",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M832 320V192H704v320a192 192 0 1 1-384 0V192H192v128h128v64H192v128a320 320 0 0 0 640 0V384H704v-64zM640 512V128h256v384a384 384 0 1 1-768 0V128h256v384a128 128 0 1 0 256 0"})]))}}),bL=gL,_L=N({name:"Male",__name:"male",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M399.5 849.5a225 225 0 1 0 0-450 225 225 0 0 0 0 450m0 56.25a281.25 281.25 0 1 1 0-562.5 281.25 281.25 0 0 1 0 562.5m253.125-787.5h225q28.125 0 28.125 28.125T877.625 174.5h-225q-28.125 0-28.125-28.125t28.125-28.125"}),E("path",{fill:"currentColor",d:"M877.625 118.25q28.125 0 28.125 28.125v225q0 28.125-28.125 28.125T849.5 371.375v-225q0-28.125 28.125-28.125"}),E("path",{fill:"currentColor",d:"M604.813 458.9 565.1 419.131l292.613-292.668 39.825 39.824z"})]))}}),wL=_L,yL=N({name:"Management",__name:"management",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M576 128v288l96-96 96 96V128h128v768H320V128zm-448 0h128v768H128z"})]))}}),xL=yL,kL=N({name:"MapLocation",__name:"map-location",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416M512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544"}),E("path",{fill:"currentColor",d:"M512 448a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256m345.6 192L960 960H672v-64H352v64H64l102.4-256zm-68.928 0H235.328l-76.8 192h706.944z"})]))}}),CL=kL,SL=N({name:"Medal",__name:"medal",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 896a256 256 0 1 0 0-512 256 256 0 0 0 0 512m0 64a320 320 0 1 1 0-640 320 320 0 0 1 0 640"}),E("path",{fill:"currentColor",d:"M576 128H448v200a286.72 286.72 0 0 1 64-8c19.52 0 40.832 2.688 64 8zm64 0v219.648c24.448 9.088 50.56 20.416 78.4 33.92L757.44 128zm-256 0H266.624l39.04 253.568c27.84-13.504 53.888-24.832 78.336-33.92V128zM229.312 64h565.376a32 32 0 0 1 31.616 36.864L768 480c-113.792-64-199.104-96-256-96-56.896 0-142.208 32-256 96l-58.304-379.136A32 32 0 0 1 229.312 64"})]))}}),EL=SL,TL=N({name:"Memo",__name:"memo",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M480 320h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32"}),E("path",{fill:"currentColor",d:"M887.01 72.99C881.01 67 873.34 64 864 64H160c-9.35 0-17.02 3-23.01 8.99C131 78.99 128 86.66 128 96v832c0 9.35 2.99 17.02 8.99 23.01S150.66 960 160 960h704c9.35 0 17.02-2.99 23.01-8.99S896 937.34 896 928V96c0-9.35-3-17.02-8.99-23.01M192 896V128h96v768zm640 0H352V128h480z"}),E("path",{fill:"currentColor",d:"M480 512h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32m0 192h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32"})]))}}),$L=TL,ML=N({name:"Menu",__name:"menu",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M160 448a32 32 0 0 1-32-32V160.064a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V416a32 32 0 0 1-32 32zm448 0a32 32 0 0 1-32-32V160.064a32 32 0 0 1 32-32h255.936a32 32 0 0 1 32 32V416a32 32 0 0 1-32 32zM160 896a32 32 0 0 1-32-32V608a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32zm448 0a32 32 0 0 1-32-32V608a32 32 0 0 1 32-32h255.936a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32z"})]))}}),AL=ML,zL=N({name:"MessageBox",__name:"message-box",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M288 384h448v64H288zm96-128h256v64H384zM131.456 512H384v128h256V512h252.544L721.856 192H302.144zM896 576H704v128H320V576H128v256h768zM275.776 128h472.448a32 32 0 0 1 28.608 17.664l179.84 359.552A32 32 0 0 1 960 519.552V864a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V519.552a32 32 0 0 1 3.392-14.336l179.776-359.552A32 32 0 0 1 275.776 128z"})]))}}),IL=zL,OL=N({name:"Message",__name:"message",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 224v512a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V224zm0-64h768a64 64 0 0 1 64 64v512a128 128 0 0 1-128 128H192A128 128 0 0 1 64 736V224a64 64 0 0 1 64-64"}),E("path",{fill:"currentColor",d:"M904 224 656.512 506.88a192 192 0 0 1-289.024 0L120 224zm-698.944 0 210.56 240.704a128 128 0 0 0 192.704 0L818.944 224H205.056"})]))}}),NL=OL,PL=N({name:"Mic",__name:"mic",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M480 704h160a64 64 0 0 0 64-64v-32h-96a32 32 0 0 1 0-64h96v-96h-96a32 32 0 0 1 0-64h96v-96h-96a32 32 0 0 1 0-64h96v-32a64 64 0 0 0-64-64H384a64 64 0 0 0-64 64v32h96a32 32 0 0 1 0 64h-96v96h96a32 32 0 0 1 0 64h-96v96h96a32 32 0 0 1 0 64h-96v32a64 64 0 0 0 64 64zm64 64v128h192a32 32 0 1 1 0 64H288a32 32 0 1 1 0-64h192V768h-96a128 128 0 0 1-128-128V192A128 128 0 0 1 384 64h256a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128z"})]))}}),RL=PL,LL=N({name:"Microphone",__name:"microphone",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 128a128 128 0 0 0-128 128v256a128 128 0 1 0 256 0V256a128 128 0 0 0-128-128m0-64a192 192 0 0 1 192 192v256a192 192 0 1 1-384 0V256A192 192 0 0 1 512 64m-32 832v-64a288 288 0 0 1-288-288v-32a32 32 0 0 1 64 0v32a224 224 0 0 0 224 224h64a224 224 0 0 0 224-224v-32a32 32 0 1 1 64 0v32a288 288 0 0 1-288 288v64h64a32 32 0 1 1 0 64H416a32 32 0 1 1 0-64z"})]))}}),BL=LL,VL=N({name:"MilkTea",__name:"milk-tea",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M416 128V96a96 96 0 0 1 96-96h128a32 32 0 1 1 0 64H512a32 32 0 0 0-32 32v32h320a96 96 0 0 1 11.712 191.296l-39.68 581.056A64 64 0 0 1 708.224 960H315.776a64 64 0 0 1-63.872-59.648l-39.616-581.056A96 96 0 0 1 224 128zM276.48 320l39.296 576h392.448l4.8-70.784a224.064 224.064 0 0 1 30.016-439.808L747.52 320zM224 256h576a32 32 0 1 0 0-64H224a32 32 0 0 0 0 64m493.44 503.872 21.12-309.12a160 160 0 0 0-21.12 309.12"})]))}}),DL=VL,HL=N({name:"Minus",__name:"minus",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 544h768a32 32 0 1 0 0-64H128a32 32 0 0 0 0 64"})]))}}),V3=HL,FL=N({name:"Money",__name:"money",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M256 640v192h640V384H768v-64h150.976c14.272 0 19.456 1.472 24.64 4.288a29.056 29.056 0 0 1 12.16 12.096c2.752 5.184 4.224 10.368 4.224 24.64v493.952c0 14.272-1.472 19.456-4.288 24.64a29.056 29.056 0 0 1-12.096 12.16c-5.184 2.752-10.368 4.224-24.64 4.224H233.024c-14.272 0-19.456-1.472-24.64-4.288a29.056 29.056 0 0 1-12.16-12.096c-2.688-5.184-4.224-10.368-4.224-24.576V640z"}),E("path",{fill:"currentColor",d:"M768 192H128v448h640zm64-22.976v493.952c0 14.272-1.472 19.456-4.288 24.64a29.056 29.056 0 0 1-12.096 12.16c-5.184 2.752-10.368 4.224-24.64 4.224H105.024c-14.272 0-19.456-1.472-24.64-4.288a29.056 29.056 0 0 1-12.16-12.096C65.536 682.432 64 677.248 64 663.04V169.024c0-14.272 1.472-19.456 4.288-24.64a29.056 29.056 0 0 1 12.096-12.16C85.568 129.536 90.752 128 104.96 128h685.952c14.272 0 19.456 1.472 24.64 4.288a29.056 29.056 0 0 1 12.16 12.096c2.752 5.184 4.224 10.368 4.224 24.64z"}),E("path",{fill:"currentColor",d:"M448 576a160 160 0 1 1 0-320 160 160 0 0 1 0 320m0-64a96 96 0 1 0 0-192 96 96 0 0 0 0 192"})]))}}),jL=FL,KL=N({name:"Monitor",__name:"monitor",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M544 768v128h192a32 32 0 1 1 0 64H288a32 32 0 1 1 0-64h192V768H192A128 128 0 0 1 64 640V256a128 128 0 0 1 128-128h640a128 128 0 0 1 128 128v384a128 128 0 0 1-128 128zM192 192a64 64 0 0 0-64 64v384a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64z"})]))}}),UL=KL,WL=N({name:"MoonNight",__name:"moon-night",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M384 512a448 448 0 0 1 215.872-383.296A384 384 0 0 0 213.76 640h188.8A448.256 448.256 0 0 1 384 512M171.136 704a448 448 0 0 1 636.992-575.296A384 384 0 0 0 499.328 704h-328.32z"}),E("path",{fill:"currentColor",d:"M32 640h960q32 0 32 32t-32 32H32q-32 0-32-32t32-32m128 128h384a32 32 0 1 1 0 64H160a32 32 0 1 1 0-64m160 127.68 224 .256a32 32 0 0 1 32 32V928a32 32 0 0 1-32 32l-224-.384a32 32 0 0 1-32-32v-.064a32 32 0 0 1 32-32z"})]))}}),qL=WL,YL=N({name:"Moon",__name:"moon",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M240.448 240.448a384 384 0 1 0 559.424 525.696 448 448 0 0 1-542.016-542.08 390.592 390.592 0 0 0-17.408 16.384zm181.056 362.048a384 384 0 0 0 525.632 16.384A448 448 0 1 1 405.056 76.8a384 384 0 0 0 16.448 525.696"})]))}}),GL=YL,XL=N({name:"MoreFilled",__name:"more-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M176 416a112 112 0 1 1 0 224 112 112 0 0 1 0-224m336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224m336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224"})]))}}),fh=XL,ZL=N({name:"More",__name:"more",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M176 416a112 112 0 1 0 0 224 112 112 0 0 0 0-224m0 64a48 48 0 1 1 0 96 48 48 0 0 1 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96"})]))}}),D3=ZL,JL=N({name:"MostlyCloudy",__name:"mostly-cloudy",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M737.216 357.952 704 349.824l-11.776-32a192.064 192.064 0 0 0-367.424 23.04l-8.96 39.04-39.04 8.96A192.064 192.064 0 0 0 320 768h368a207.808 207.808 0 0 0 207.808-208 208.32 208.32 0 0 0-158.592-202.048m15.168-62.208A272.32 272.32 0 0 1 959.744 560a271.808 271.808 0 0 1-271.552 272H320a256 256 0 0 1-57.536-505.536 256.128 256.128 0 0 1 489.92-30.72"})]))}}),QL=JL,eB=N({name:"Mouse",__name:"mouse",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M438.144 256c-68.352 0-92.736 4.672-117.76 18.112-20.096 10.752-35.52 26.176-46.272 46.272C260.672 345.408 256 369.792 256 438.144v275.712c0 68.352 4.672 92.736 18.112 117.76 10.752 20.096 26.176 35.52 46.272 46.272C345.408 891.328 369.792 896 438.144 896h147.712c68.352 0 92.736-4.672 117.76-18.112 20.096-10.752 35.52-26.176 46.272-46.272C763.328 806.592 768 782.208 768 713.856V438.144c0-68.352-4.672-92.736-18.112-117.76a110.464 110.464 0 0 0-46.272-46.272C678.592 260.672 654.208 256 585.856 256zm0-64h147.712c85.568 0 116.608 8.96 147.904 25.6 31.36 16.768 55.872 41.344 72.576 72.64C823.104 321.536 832 352.576 832 438.08v275.84c0 85.504-8.96 116.544-25.6 147.84a174.464 174.464 0 0 1-72.64 72.576C702.464 951.104 671.424 960 585.92 960H438.08c-85.504 0-116.544-8.96-147.84-25.6a174.464 174.464 0 0 1-72.64-72.704c-16.768-31.296-25.664-62.336-25.664-147.84v-275.84c0-85.504 8.96-116.544 25.6-147.84a174.464 174.464 0 0 1 72.768-72.576c31.232-16.704 62.272-25.6 147.776-25.6z"}),E("path",{fill:"currentColor",d:"M512 320q32 0 32 32v128q0 32-32 32t-32-32V352q0-32 32-32m32-96a32 32 0 0 1-64 0v-64a32 32 0 0 0-32-32h-96a32 32 0 0 1 0-64h96a96 96 0 0 1 96 96z"})]))}}),tB=eB,oB=N({name:"Mug",__name:"mug",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M736 800V160H160v640a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64m64-544h63.552a96 96 0 0 1 96 96v224a96 96 0 0 1-96 96H800v128a128 128 0 0 1-128 128H224A128 128 0 0 1 96 800V128a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32zm0 64v288h63.552a32 32 0 0 0 32-32V352a32 32 0 0 0-32-32z"})]))}}),rB=oB,lB=N({name:"MuteNotification",__name:"mute-notification",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m241.216 832 63.616-64H768V448c0-42.368-10.24-82.304-28.48-117.504l46.912-47.232C815.36 331.392 832 387.84 832 448v320h96a32 32 0 1 1 0 64zm-90.24 0H96a32 32 0 1 1 0-64h96V448a320.128 320.128 0 0 1 256-313.6V128a64 64 0 1 1 128 0v6.4a319.552 319.552 0 0 1 171.648 97.088l-45.184 45.44A256 256 0 0 0 256 448v278.336L151.04 832zM448 896h128a64 64 0 0 1-128 0"}),E("path",{fill:"currentColor",d:"M150.72 859.072a32 32 0 0 1-45.44-45.056l704-708.544a32 32 0 0 1 45.44 45.056l-704 708.544z"})]))}}),nB=lB,aB=N({name:"Mute",__name:"mute",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m412.16 592.128-45.44 45.44A191.232 191.232 0 0 1 320 512V256a192 192 0 1 1 384 0v44.352l-64 64V256a128 128 0 1 0-256 0v256c0 30.336 10.56 58.24 28.16 80.128m51.968 38.592A128 128 0 0 0 640 512v-57.152l64-64V512a192 192 0 0 1-287.68 166.528zM314.88 779.968l46.144-46.08A222.976 222.976 0 0 0 480 768h64a224 224 0 0 0 224-224v-32a32 32 0 1 1 64 0v32a288 288 0 0 1-288 288v64h64a32 32 0 1 1 0 64H416a32 32 0 1 1 0-64h64v-64c-61.44 0-118.4-19.2-165.12-52.032M266.752 737.6A286.976 286.976 0 0 1 192 544v-32a32 32 0 0 1 64 0v32c0 56.832 21.184 108.8 56.064 148.288z"}),E("path",{fill:"currentColor",d:"M150.72 859.072a32 32 0 0 1-45.44-45.056l704-708.544a32 32 0 0 1 45.44 45.056l-704 708.544z"})]))}}),iB=aB,sB=N({name:"NoSmoking",__name:"no-smoking",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M440.256 576H256v128h56.256l-64 64H224a32 32 0 0 1-32-32V544a32 32 0 0 1 32-32h280.256zm143.488 128H704V583.744L775.744 512H928a32 32 0 0 1 32 32v192a32 32 0 0 1-32 32H519.744zM768 576v128h128V576zm-29.696-207.552 45.248 45.248-497.856 497.856-45.248-45.248zM256 64h64v320h-64zM128 192h64v192h-64zM64 512h64v256H64z"})]))}}),cB=sB,uB=N({name:"Notebook",__name:"notebook",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M192 128v768h640V128zm-32-64h704a32 32 0 0 1 32 32v832a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32"}),E("path",{fill:"currentColor",d:"M672 128h64v768h-64zM96 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32m0 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32m0 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32m0 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32"})]))}}),dB=uB,pB=N({name:"Notification",__name:"notification",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 128v64H256a64 64 0 0 0-64 64v512a64 64 0 0 0 64 64h512a64 64 0 0 0 64-64V512h64v256a128 128 0 0 1-128 128H256a128 128 0 0 1-128-128V256a128 128 0 0 1 128-128z"}),E("path",{fill:"currentColor",d:"M768 384a128 128 0 1 0 0-256 128 128 0 0 0 0 256m0 64a192 192 0 1 1 0-384 192 192 0 0 1 0 384"})]))}}),fB=pB,hB=N({name:"Odometer",__name:"odometer",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),E("path",{fill:"currentColor",d:"M192 512a320 320 0 1 1 640 0 32 32 0 1 1-64 0 256 256 0 1 0-512 0 32 32 0 0 1-64 0"}),E("path",{fill:"currentColor",d:"M570.432 627.84A96 96 0 1 1 509.568 608l60.992-187.776A32 32 0 1 1 631.424 440l-60.992 187.776zM502.08 734.464a32 32 0 1 0 19.84-60.928 32 32 0 0 0-19.84 60.928"})]))}}),vB=hB,mB=N({name:"OfficeBuilding",__name:"office-building",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M192 128v704h384V128zm-32-64h448a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32"}),E("path",{fill:"currentColor",d:"M256 256h256v64H256zm0 192h256v64H256zm0 192h256v64H256zm384-128h128v64H640zm0 128h128v64H640zM64 832h896v64H64z"}),E("path",{fill:"currentColor",d:"M640 384v448h192V384zm-32-64h256a32 32 0 0 1 32 32v512a32 32 0 0 1-32 32H608a32 32 0 0 1-32-32V352a32 32 0 0 1 32-32"})]))}}),gB=mB,bB=N({name:"Open",__name:"open",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M329.956 257.138a254.862 254.862 0 0 0 0 509.724h364.088a254.862 254.862 0 0 0 0-509.724zm0-72.818h364.088a327.68 327.68 0 1 1 0 655.36H329.956a327.68 327.68 0 1 1 0-655.36z"}),E("path",{fill:"currentColor",d:"M694.044 621.227a109.227 109.227 0 1 0 0-218.454 109.227 109.227 0 0 0 0 218.454m0 72.817a182.044 182.044 0 1 1 0-364.088 182.044 182.044 0 0 1 0 364.088"})]))}}),_B=bB,wB=N({name:"Operation",__name:"operation",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M389.44 768a96.064 96.064 0 0 1 181.12 0H896v64H570.56a96.064 96.064 0 0 1-181.12 0H128v-64zm192-288a96.064 96.064 0 0 1 181.12 0H896v64H762.56a96.064 96.064 0 0 1-181.12 0H128v-64zm-320-288a96.064 96.064 0 0 1 181.12 0H896v64H442.56a96.064 96.064 0 0 1-181.12 0H128v-64z"})]))}}),yB=wB,xB=N({name:"Opportunity",__name:"opportunity",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M384 960v-64h192.064v64zm448-544a350.656 350.656 0 0 1-128.32 271.424C665.344 719.04 640 763.776 640 813.504V832H320v-14.336c0-48-19.392-95.36-57.216-124.992a351.552 351.552 0 0 1-128.448-344.256c25.344-136.448 133.888-248.128 269.76-276.48A352.384 352.384 0 0 1 832 416m-544 32c0-132.288 75.904-224 192-224v-64c-154.432 0-256 122.752-256 288z"})]))}}),kB=xB,CB=N({name:"Orange",__name:"orange",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M544 894.72a382.336 382.336 0 0 0 215.936-89.472L577.024 622.272c-10.24 6.016-21.248 10.688-33.024 13.696v258.688zm261.248-134.784A382.336 382.336 0 0 0 894.656 544H635.968c-3.008 11.776-7.68 22.848-13.696 33.024l182.976 182.912zM894.656 480a382.336 382.336 0 0 0-89.408-215.936L622.272 446.976c6.016 10.24 10.688 21.248 13.696 33.024h258.688zm-134.72-261.248A382.336 382.336 0 0 0 544 129.344v258.688c11.776 3.008 22.848 7.68 33.024 13.696zM480 129.344a382.336 382.336 0 0 0-215.936 89.408l182.912 182.976c10.24-6.016 21.248-10.688 33.024-13.696zm-261.248 134.72A382.336 382.336 0 0 0 129.344 480h258.688c3.008-11.776 7.68-22.848 13.696-33.024zM129.344 544a382.336 382.336 0 0 0 89.408 215.936l182.976-182.912A127.232 127.232 0 0 1 388.032 544zm134.72 261.248A382.336 382.336 0 0 0 480 894.656V635.968a127.232 127.232 0 0 1-33.024-13.696zM512 960a448 448 0 1 1 0-896 448 448 0 0 1 0 896m0-384a64 64 0 1 0 0-128 64 64 0 0 0 0 128"})]))}}),SB=CB,EB=N({name:"Paperclip",__name:"paperclip",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M602.496 240.448A192 192 0 1 1 874.048 512l-316.8 316.8A256 256 0 0 1 195.2 466.752L602.496 59.456l45.248 45.248L240.448 512A192 192 0 0 0 512 783.552l316.8-316.8a128 128 0 1 0-181.056-181.056L353.6 579.904a32 32 0 1 0 45.248 45.248l294.144-294.144 45.312 45.248L444.096 670.4a96 96 0 1 1-135.744-135.744l294.144-294.208z"})]))}}),TB=EB,$B=N({name:"PartlyCloudy",__name:"partly-cloudy",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M598.4 895.872H328.192a256 256 0 0 1-34.496-510.528A352 352 0 1 1 598.4 895.872m-271.36-64h272.256a288 288 0 1 0-248.512-417.664L335.04 445.44l-34.816 3.584a192 192 0 0 0 26.88 382.848z"}),E("path",{fill:"currentColor",d:"M139.84 501.888a256 256 0 1 1 417.856-277.12c-17.728 2.176-38.208 8.448-61.504 18.816A192 192 0 1 0 189.12 460.48a6003.84 6003.84 0 0 0-49.28 41.408z"})]))}}),MB=$B,AB=N({name:"Pear",__name:"pear",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M542.336 258.816a443.255 443.255 0 0 0-9.024 25.088 32 32 0 1 1-60.8-20.032l1.088-3.328a162.688 162.688 0 0 0-122.048 131.392l-17.088 102.72-20.736 15.36C256.192 552.704 224 610.88 224 672c0 120.576 126.4 224 288 224s288-103.424 288-224c0-61.12-32.192-119.296-89.728-161.92l-20.736-15.424-17.088-102.72a162.688 162.688 0 0 0-130.112-133.12zm-40.128-66.56c7.936-15.552 16.576-30.08 25.92-43.776 23.296-33.92 49.408-59.776 78.528-77.12a32 32 0 1 1 32.704 55.04c-20.544 12.224-40.064 31.552-58.432 58.304a316.608 316.608 0 0 0-9.792 15.104 226.688 226.688 0 0 1 164.48 181.568l12.8 77.248C819.456 511.36 864 587.392 864 672c0 159.04-157.568 288-352 288S160 831.04 160 672c0-84.608 44.608-160.64 115.584-213.376l12.8-77.248a226.624 226.624 0 0 1 213.76-189.184z"})]))}}),zB=AB,IB=N({name:"PhoneFilled",__name:"phone-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M199.232 125.568 90.624 379.008a32 32 0 0 0 6.784 35.2l512.384 512.384a32 32 0 0 0 35.2 6.784l253.44-108.608a32 32 0 0 0 10.048-52.032L769.6 633.92a32 32 0 0 0-36.928-5.952l-130.176 65.088-271.488-271.552 65.024-130.176a32 32 0 0 0-5.952-36.928L251.2 115.52a32 32 0 0 0-51.968 10.048z"})]))}}),OB=IB,NB=N({name:"Phone",__name:"phone",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M79.36 432.256 591.744 944.64a32 32 0 0 0 35.2 6.784l253.44-108.544a32 32 0 0 0 9.984-52.032l-153.856-153.92a32 32 0 0 0-36.928-6.016l-69.888 34.944L358.08 394.24l35.008-69.888a32 32 0 0 0-5.952-36.928L233.152 133.568a32 32 0 0 0-52.032 10.048L72.512 397.056a32 32 0 0 0 6.784 35.2zm60.48-29.952 81.536-190.08L325.568 316.48l-24.64 49.216-20.608 41.216 32.576 32.64 271.552 271.552 32.64 32.64 41.216-20.672 49.28-24.576 104.192 104.128-190.08 81.472L139.84 402.304zM512 320v-64a256 256 0 0 1 256 256h-64a192 192 0 0 0-192-192m0-192V64a448 448 0 0 1 448 448h-64a384 384 0 0 0-384-384"})]))}}),PB=NB,RB=N({name:"PictureFilled",__name:"picture-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M96 896a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h832a32 32 0 0 1 32 32v704a32 32 0 0 1-32 32zm315.52-228.48-68.928-68.928a32 32 0 0 0-45.248 0L128 768.064h778.688l-242.112-290.56a32 32 0 0 0-49.216 0L458.752 665.408a32 32 0 0 1-47.232 2.112M256 384a96 96 0 1 0 192.064-.064A96 96 0 0 0 256 384"})]))}}),H3=RB,LB=N({name:"PictureRounded",__name:"picture-rounded",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 128a384 384 0 1 0 0 768 384 384 0 0 0 0-768m0-64a448 448 0 1 1 0 896 448 448 0 0 1 0-896"}),E("path",{fill:"currentColor",d:"M640 288q64 0 64 64t-64 64q-64 0-64-64t64-64M214.656 790.656l-45.312-45.312 185.664-185.6a96 96 0 0 1 123.712-10.24l138.24 98.688a32 32 0 0 0 39.872-2.176L906.688 422.4l42.624 47.744L699.52 693.696a96 96 0 0 1-119.808 6.592l-138.24-98.752a32 32 0 0 0-41.152 3.456l-185.664 185.6z"})]))}}),BB=LB,VB=N({name:"Picture",__name:"picture",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M160 160v704h704V160zm-32-64h768a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H128a32 32 0 0 1-32-32V128a32 32 0 0 1 32-32"}),E("path",{fill:"currentColor",d:"M384 288q64 0 64 64t-64 64q-64 0-64-64t64-64M185.408 876.992l-50.816-38.912L350.72 556.032a96 96 0 0 1 134.592-17.856l1.856 1.472 122.88 99.136a32 32 0 0 0 44.992-4.864l216-269.888 49.92 39.936-215.808 269.824-.256.32a96 96 0 0 1-135.04 14.464l-122.88-99.072-.64-.512a32 32 0 0 0-44.8 5.952z"})]))}}),DB=VB,HB=N({name:"PieChart",__name:"pie-chart",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M448 68.48v64.832A384.128 384.128 0 0 0 512 896a384.128 384.128 0 0 0 378.688-320h64.768A448.128 448.128 0 0 1 64 512 448.128 448.128 0 0 1 448 68.48z"}),E("path",{fill:"currentColor",d:"M576 97.28V448h350.72A384.064 384.064 0 0 0 576 97.28zM512 64V33.152A448 448 0 0 1 990.848 512H512z"})]))}}),FB=HB,jB=N({name:"Place",__name:"place",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 512a192 192 0 1 0 0-384 192 192 0 0 0 0 384m0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512"}),E("path",{fill:"currentColor",d:"M512 512a32 32 0 0 1 32 32v256a32 32 0 1 1-64 0V544a32 32 0 0 1 32-32"}),E("path",{fill:"currentColor",d:"M384 649.088v64.96C269.76 732.352 192 771.904 192 800c0 37.696 139.904 96 320 96s320-58.304 320-96c0-28.16-77.76-67.648-192-85.952v-64.96C789.12 671.04 896 730.368 896 800c0 88.32-171.904 160-384 160s-384-71.68-384-160c0-69.696 106.88-128.96 256-150.912"})]))}}),KB=jB,UB=N({name:"Platform",__name:"platform",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M448 832v-64h128v64h192v64H256v-64zM128 704V128h768v576z"})]))}}),WB=UB,qB=N({name:"Plus",__name:"plus",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M480 480V128a32 32 0 0 1 64 0v352h352a32 32 0 1 1 0 64H544v352a32 32 0 1 1-64 0V544H128a32 32 0 0 1 0-64z"})]))}}),hh=qB,YB=N({name:"Pointer",__name:"pointer",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M511.552 128c-35.584 0-64.384 28.8-64.384 64.448v516.48L274.048 570.88a94.272 94.272 0 0 0-112.896-3.456 44.416 44.416 0 0 0-8.96 62.208L332.8 870.4A64 64 0 0 0 384 896h512V575.232a64 64 0 0 0-45.632-61.312l-205.952-61.76A96 96 0 0 1 576 360.192V192.448C576 156.8 547.2 128 511.552 128M359.04 556.8l24.128 19.2V192.448a128.448 128.448 0 1 1 256.832 0v167.744a32 32 0 0 0 22.784 30.656l206.016 61.76A128 128 0 0 1 960 575.232V896a64 64 0 0 1-64 64H384a128 128 0 0 1-102.4-51.2L101.056 668.032A108.416 108.416 0 0 1 128 512.512a158.272 158.272 0 0 1 185.984 8.32z"})]))}}),GB=YB,XB=N({name:"Position",__name:"position",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m249.6 417.088 319.744 43.072 39.168 310.272L845.12 178.88 249.6 417.088zm-129.024 47.168a32 32 0 0 1-7.68-61.44l777.792-311.04a32 32 0 0 1 41.6 41.6l-310.336 775.68a32 32 0 0 1-61.44-7.808L512 516.992l-391.424-52.736z"})]))}}),ZB=XB,JB=N({name:"Postcard",__name:"postcard",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M160 224a32 32 0 0 0-32 32v512a32 32 0 0 0 32 32h704a32 32 0 0 0 32-32V256a32 32 0 0 0-32-32zm0-64h704a96 96 0 0 1 96 96v512a96 96 0 0 1-96 96H160a96 96 0 0 1-96-96V256a96 96 0 0 1 96-96"}),E("path",{fill:"currentColor",d:"M704 320a64 64 0 1 1 0 128 64 64 0 0 1 0-128M288 448h256q32 0 32 32t-32 32H288q-32 0-32-32t32-32m0 128h256q32 0 32 32t-32 32H288q-32 0-32-32t32-32"})]))}}),QB=JB,eV=N({name:"Pouring",__name:"pouring",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m739.328 291.328-35.2-6.592-12.8-33.408a192.064 192.064 0 0 0-365.952 23.232l-9.92 40.896-41.472 7.04a176.32 176.32 0 0 0-146.24 173.568c0 97.28 78.72 175.936 175.808 175.936h400a192 192 0 0 0 35.776-380.672zM959.552 480a256 256 0 0 1-256 256h-400A239.808 239.808 0 0 1 63.744 496.192a240.32 240.32 0 0 1 199.488-236.8 256.128 256.128 0 0 1 487.872-30.976A256.064 256.064 0 0 1 959.552 480M224 800a32 32 0 0 1 32 32v96a32 32 0 1 1-64 0v-96a32 32 0 0 1 32-32m192 0a32 32 0 0 1 32 32v96a32 32 0 1 1-64 0v-96a32 32 0 0 1 32-32m192 0a32 32 0 0 1 32 32v96a32 32 0 1 1-64 0v-96a32 32 0 0 1 32-32m192 0a32 32 0 0 1 32 32v96a32 32 0 1 1-64 0v-96a32 32 0 0 1 32-32"})]))}}),tV=eV,oV=N({name:"Present",__name:"present",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M480 896V640H192v-64h288V320H192v576zm64 0h288V320H544v256h288v64H544zM128 256h768v672a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32z"}),E("path",{fill:"currentColor",d:"M96 256h832q32 0 32 32t-32 32H96q-32 0-32-32t32-32"}),E("path",{fill:"currentColor",d:"M416 256a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256"}),E("path",{fill:"currentColor",d:"M608 256a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256"})]))}}),rV=oV,lV=N({name:"PriceTag",__name:"price-tag",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M224 318.336V896h576V318.336L552.512 115.84a64 64 0 0 0-81.024 0zM593.024 66.304l259.2 212.096A32 32 0 0 1 864 303.168V928a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32V303.168a32 32 0 0 1 11.712-24.768l259.2-212.096a128 128 0 0 1 162.112 0z"}),E("path",{fill:"currentColor",d:"M512 448a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256"})]))}}),nV=lV,aV=N({name:"Printer",__name:"printer",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M256 768H105.024c-14.272 0-19.456-1.472-24.64-4.288a29.056 29.056 0 0 1-12.16-12.096C65.536 746.432 64 741.248 64 727.04V379.072c0-42.816 4.48-58.304 12.8-73.984 8.384-15.616 20.672-27.904 36.288-36.288 15.68-8.32 31.168-12.8 73.984-12.8H256V64h512v192h68.928c42.816 0 58.304 4.48 73.984 12.8 15.616 8.384 27.904 20.672 36.288 36.288 8.32 15.68 12.8 31.168 12.8 73.984v347.904c0 14.272-1.472 19.456-4.288 24.64a29.056 29.056 0 0 1-12.096 12.16c-5.184 2.752-10.368 4.224-24.64 4.224H768v192H256zm64-192v320h384V576zm-64 128V512h512v192h128V379.072c0-29.376-1.408-36.48-5.248-43.776a23.296 23.296 0 0 0-10.048-10.048c-7.232-3.84-14.4-5.248-43.776-5.248H187.072c-29.376 0-36.48 1.408-43.776 5.248a23.296 23.296 0 0 0-10.048 10.048c-3.84 7.232-5.248 14.4-5.248 43.776V704zm64-448h384V128H320zm-64 128h64v64h-64zm128 0h64v64h-64z"})]))}}),iV=aV,sV=N({name:"Promotion",__name:"promotion",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m64 448 832-320-128 704-446.08-243.328L832 192 242.816 545.472zm256 512V657.024L512 768z"})]))}}),cV=sV,uV=N({name:"QuartzWatch",__name:"quartz-watch",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M422.02 602.01v-.03c-6.68-5.99-14.35-8.83-23.01-8.51-8.67.32-16.17 3.66-22.5 10.02-6.33 6.36-9.5 13.7-9.5 22.02s3 15.82 8.99 22.5c8.68 8.68 19.02 11.35 31.01 8s19.49-10.85 22.5-22.5c3.01-11.65.51-22.15-7.49-31.49zM384 512c0-9.35-3-17.02-8.99-23.01-6-5.99-13.66-8.99-23.01-8.99-9.35 0-17.02 3-23.01 8.99-5.99 6-8.99 13.66-8.99 23.01s3 17.02 8.99 23.01c6 5.99 13.66 8.99 23.01 8.99 9.35 0 17.02-3 23.01-8.99 5.99-6 8.99-13.67 8.99-23.01m6.53-82.49c11.65 3.01 22.15.51 31.49-7.49h.04c5.99-6.68 8.83-14.34 8.51-23.01-.32-8.67-3.66-16.16-10.02-22.5-6.36-6.33-13.7-9.5-22.02-9.5s-15.82 3-22.5 8.99c-8.68 8.69-11.35 19.02-8 31.01 3.35 11.99 10.85 19.49 22.5 22.5zm242.94 0c11.67-3.03 19.01-10.37 22.02-22.02 3.01-11.65.51-22.15-7.49-31.49h.01c-6.68-5.99-14.18-8.99-22.5-8.99s-15.66 3.16-22.02 9.5c-6.36 6.34-9.7 13.84-10.02 22.5-.32 8.66 2.52 16.33 8.51 23.01 9.32 8.02 19.82 10.52 31.49 7.49M512 640c-9.35 0-17.02 3-23.01 8.99-5.99 6-8.99 13.66-8.99 23.01s3 17.02 8.99 23.01c6 5.99 13.67 8.99 23.01 8.99 9.35 0 17.02-3 23.01-8.99 5.99-6 8.99-13.66 8.99-23.01s-3-17.02-8.99-23.01c-6-5.99-13.66-8.99-23.01-8.99m183.01-151.01c-6-5.99-13.66-8.99-23.01-8.99s-17.02 3-23.01 8.99c-5.99 6-8.99 13.66-8.99 23.01s3 17.02 8.99 23.01c6 5.99 13.66 8.99 23.01 8.99s17.02-3 23.01-8.99c5.99-6 8.99-13.67 8.99-23.01 0-9.35-3-17.02-8.99-23.01"}),E("path",{fill:"currentColor",d:"M832 512c-2-90.67-33.17-166.17-93.5-226.5-20.43-20.42-42.6-37.49-66.5-51.23V64H352v170.26c-23.9 13.74-46.07 30.81-66.5 51.24-60.33 60.33-91.49 135.83-93.5 226.5 2 90.67 33.17 166.17 93.5 226.5 20.43 20.43 42.6 37.5 66.5 51.24V960h320V789.74c23.9-13.74 46.07-30.81 66.5-51.24 60.33-60.34 91.49-135.83 93.5-226.5M416 128h192v78.69c-29.85-9.03-61.85-13.93-96-14.69-34.15.75-66.15 5.65-96 14.68zm192 768H416v-78.68c29.85 9.03 61.85 13.93 96 14.68 34.15-.75 66.15-5.65 96-14.68zm-96-128c-72.66-2.01-132.99-27.01-180.99-75.01S258.01 584.66 256 512c2.01-72.66 27.01-132.99 75.01-180.99S439.34 258.01 512 256c72.66 2.01 132.99 27.01 180.99 75.01S765.99 439.34 768 512c-2.01 72.66-27.01 132.99-75.01 180.99S584.66 765.99 512 768"}),E("path",{fill:"currentColor",d:"M512 320c-9.35 0-17.02 3-23.01 8.99-5.99 6-8.99 13.66-8.99 23.01 0 9.35 3 17.02 8.99 23.01 6 5.99 13.67 8.99 23.01 8.99 9.35 0 17.02-3 23.01-8.99 5.99-6 8.99-13.66 8.99-23.01 0-9.35-3-17.02-8.99-23.01-6-5.99-13.66-8.99-23.01-8.99m112.99 273.5c-8.66-.32-16.33 2.52-23.01 8.51-7.98 9.32-10.48 19.82-7.49 31.49s10.49 19.17 22.5 22.5 22.35.66 31.01-8v.04c5.99-6.68 8.99-14.18 8.99-22.5s-3.16-15.66-9.5-22.02-13.84-9.7-22.5-10.02"})]))}}),dV=uV,pV=N({name:"QuestionFilled",__name:"question-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m23.744 191.488c-52.096 0-92.928 14.784-123.2 44.352-30.976 29.568-45.76 70.4-45.76 122.496h80.256c0-29.568 5.632-52.8 17.6-68.992 13.376-19.712 35.2-28.864 66.176-28.864 23.936 0 42.944 6.336 56.32 19.712 12.672 13.376 19.712 31.68 19.712 54.912 0 17.6-6.336 34.496-19.008 49.984l-8.448 9.856c-45.76 40.832-73.216 70.4-82.368 89.408-9.856 19.008-14.08 42.24-14.08 68.992v9.856h80.96v-9.856c0-16.896 3.52-31.68 10.56-45.76 6.336-12.672 15.488-24.64 28.16-35.2 33.792-29.568 54.208-48.576 60.544-55.616 16.896-22.528 26.048-51.392 26.048-86.592 0-42.944-14.08-76.736-42.24-101.376-28.16-25.344-65.472-37.312-111.232-37.312zm-12.672 406.208a54.272 54.272 0 0 0-38.72 14.784 49.408 49.408 0 0 0-15.488 38.016c0 15.488 4.928 28.16 15.488 38.016A54.848 54.848 0 0 0 523.072 768c15.488 0 28.16-4.928 38.72-14.784a51.52 51.52 0 0 0 16.192-38.72 51.968 51.968 0 0 0-15.488-38.016 55.936 55.936 0 0 0-39.424-14.784z"})]))}}),F3=pV,fV=N({name:"Rank",__name:"rank",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m186.496 544 41.408 41.344a32 32 0 1 1-45.248 45.312l-96-96a32 32 0 0 1 0-45.312l96-96a32 32 0 1 1 45.248 45.312L186.496 480h290.816V186.432l-41.472 41.472a32 32 0 1 1-45.248-45.184l96-96.128a32 32 0 0 1 45.312 0l96 96.064a32 32 0 0 1-45.248 45.184l-41.344-41.28V480H832l-41.344-41.344a32 32 0 0 1 45.248-45.312l96 96a32 32 0 0 1 0 45.312l-96 96a32 32 0 0 1-45.248-45.312L832 544H541.312v293.44l41.344-41.28a32 32 0 1 1 45.248 45.248l-96 96a32 32 0 0 1-45.312 0l-96-96a32 32 0 1 1 45.312-45.248l41.408 41.408V544H186.496z"})]))}}),hV=fV,vV=N({name:"ReadingLamp",__name:"reading-lamp",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M352 896h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32m-44.672-768-99.52 448h608.384l-99.52-448zm-25.6-64h460.608a32 32 0 0 1 31.232 25.088l113.792 512A32 32 0 0 1 856.128 640H167.872a32 32 0 0 1-31.232-38.912l113.792-512A32 32 0 0 1 281.664 64z"}),E("path",{fill:"currentColor",d:"M672 576q32 0 32 32v128q0 32-32 32t-32-32V608q0-32 32-32m-192-.064h64V960h-64z"})]))}}),mV=vV,gV=N({name:"Reading",__name:"reading",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m512 863.36 384-54.848v-638.72L525.568 222.72a96 96 0 0 1-27.136 0L128 169.792v638.72zM137.024 106.432l370.432 52.928a32 32 0 0 0 9.088 0l370.432-52.928A64 64 0 0 1 960 169.792v638.72a64 64 0 0 1-54.976 63.36l-388.48 55.488a32 32 0 0 1-9.088 0l-388.48-55.488A64 64 0 0 1 64 808.512v-638.72a64 64 0 0 1 73.024-63.36z"}),E("path",{fill:"currentColor",d:"M480 192h64v704h-64z"})]))}}),bV=gV,_V=N({name:"RefreshLeft",__name:"refresh-left",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M289.088 296.704h92.992a32 32 0 0 1 0 64H232.96a32 32 0 0 1-32-32V179.712a32 32 0 0 1 64 0v50.56a384 384 0 0 1 643.84 282.88 384 384 0 0 1-383.936 384 384 384 0 0 1-384-384h64a320 320 0 1 0 640 0 320 320 0 0 0-555.712-216.448z"})]))}}),j3=_V,wV=N({name:"RefreshRight",__name:"refresh-right",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M784.512 230.272v-50.56a32 32 0 1 1 64 0v149.056a32 32 0 0 1-32 32H667.52a32 32 0 1 1 0-64h92.992A320 320 0 1 0 524.8 833.152a320 320 0 0 0 320-320h64a384 384 0 0 1-384 384 384 384 0 0 1-384-384 384 384 0 0 1 643.712-282.88z"})]))}}),K3=wV,yV=N({name:"Refresh",__name:"refresh",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M771.776 794.88A384 384 0 0 1 128 512h64a320 320 0 0 0 555.712 216.448H654.72a32 32 0 1 1 0-64h149.056a32 32 0 0 1 32 32v148.928a32 32 0 1 1-64 0v-50.56zM276.288 295.616h92.992a32 32 0 0 1 0 64H220.16a32 32 0 0 1-32-32V178.56a32 32 0 0 1 64 0v50.56A384 384 0 0 1 896.128 512h-64a320 320 0 0 0-555.776-216.384z"})]))}}),xV=yV,kV=N({name:"Refrigerator",__name:"refrigerator",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M256 448h512V160a32 32 0 0 0-32-32H288a32 32 0 0 0-32 32zm0 64v352a32 32 0 0 0 32 32h448a32 32 0 0 0 32-32V512zm32-448h448a96 96 0 0 1 96 96v704a96 96 0 0 1-96 96H288a96 96 0 0 1-96-96V160a96 96 0 0 1 96-96m32 224h64v96h-64zm0 288h64v96h-64z"})]))}}),CV=kV,SV=N({name:"RemoveFilled",__name:"remove-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896M288 512a38.4 38.4 0 0 0 38.4 38.4h371.2a38.4 38.4 0 0 0 0-76.8H326.4A38.4 38.4 0 0 0 288 512"})]))}}),EV=SV,TV=N({name:"Remove",__name:"remove",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M352 480h320a32 32 0 1 1 0 64H352a32 32 0 0 1 0-64"}),E("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}}),$V=TV,MV=N({name:"Right",__name:"right",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M754.752 480H160a32 32 0 1 0 0 64h594.752L521.344 777.344a32 32 0 0 0 45.312 45.312l288-288a32 32 0 0 0 0-45.312l-288-288a32 32 0 1 0-45.312 45.312z"})]))}}),AV=MV,zV=N({name:"ScaleToOriginal",__name:"scale-to-original",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M813.176 180.706a60.235 60.235 0 0 1 60.236 60.235v481.883a60.235 60.235 0 0 1-60.236 60.235H210.824a60.235 60.235 0 0 1-60.236-60.235V240.94a60.235 60.235 0 0 1 60.236-60.235h602.352zm0-60.235H210.824A120.47 120.47 0 0 0 90.353 240.94v481.883a120.47 120.47 0 0 0 120.47 120.47h602.353a120.47 120.47 0 0 0 120.471-120.47V240.94a120.47 120.47 0 0 0-120.47-120.47zm-120.47 180.705a30.118 30.118 0 0 0-30.118 30.118v301.177a30.118 30.118 0 0 0 60.236 0V331.294a30.118 30.118 0 0 0-30.118-30.118zm-361.412 0a30.118 30.118 0 0 0-30.118 30.118v301.177a30.118 30.118 0 1 0 60.236 0V331.294a30.118 30.118 0 0 0-30.118-30.118M512 361.412a30.118 30.118 0 0 0-30.118 30.117v30.118a30.118 30.118 0 0 0 60.236 0V391.53A30.118 30.118 0 0 0 512 361.412M512 512a30.118 30.118 0 0 0-30.118 30.118v30.117a30.118 30.118 0 0 0 60.236 0v-30.117A30.118 30.118 0 0 0 512 512"})]))}}),U3=zV,IV=N({name:"School",__name:"school",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M224 128v704h576V128zm-32-64h640a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32"}),E("path",{fill:"currentColor",d:"M64 832h896v64H64zm256-640h128v96H320z"}),E("path",{fill:"currentColor",d:"M384 832h256v-64a128 128 0 1 0-256 0zm128-256a192 192 0 0 1 192 192v128H320V768a192 192 0 0 1 192-192M320 384h128v96H320zm256-192h128v96H576zm0 192h128v96H576z"})]))}}),OV=IV,NV=N({name:"Scissor",__name:"scissor",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m512.064 578.368-106.88 152.768a160 160 0 1 1-23.36-78.208L472.96 522.56 196.864 128.256a32 32 0 1 1 52.48-36.736l393.024 561.344a160 160 0 1 1-23.36 78.208l-106.88-152.704zm54.4-189.248 208.384-297.6a32 32 0 0 1 52.48 36.736l-221.76 316.672-39.04-55.808zm-376.32 425.856a96 96 0 1 0 110.144-157.248 96 96 0 0 0-110.08 157.248zm643.84 0a96 96 0 1 0-110.08-157.248 96 96 0 0 0 110.08 157.248"})]))}}),PV=NV,RV=N({name:"Search",__name:"search",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704"})]))}}),W3=RV,LV=N({name:"Select",__name:"select",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M77.248 415.04a64 64 0 0 1 90.496 0l226.304 226.304L846.528 188.8a64 64 0 1 1 90.56 90.496l-543.04 543.04-316.8-316.8a64 64 0 0 1 0-90.496z"})]))}}),BV=LV,VV=N({name:"Sell",__name:"sell",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M704 288h131.072a32 32 0 0 1 31.808 28.8L886.4 512h-64.384l-16-160H704v96a32 32 0 1 1-64 0v-96H384v96a32 32 0 0 1-64 0v-96H217.92l-51.2 512H512v64H131.328a32 32 0 0 1-31.808-35.2l57.6-576a32 32 0 0 1 31.808-28.8H320v-22.336C320 154.688 405.504 64 512 64s192 90.688 192 201.664v22.4zm-64 0v-22.336C640 189.248 582.272 128 512 128c-70.272 0-128 61.248-128 137.664v22.4h256zm201.408 483.84L768 698.496V928a32 32 0 1 1-64 0V698.496l-73.344 73.344a32 32 0 1 1-45.248-45.248l128-128a32 32 0 0 1 45.248 0l128 128a32 32 0 1 1-45.248 45.248z"})]))}}),DV=VV,HV=N({name:"SemiSelect",__name:"semi-select",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 448h768q64 0 64 64t-64 64H128q-64 0-64-64t64-64"})]))}}),FV=HV,jV=N({name:"Service",__name:"service",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M864 409.6a192 192 0 0 1-37.888 349.44A256.064 256.064 0 0 1 576 960h-96a32 32 0 1 1 0-64h96a192.064 192.064 0 0 0 181.12-128H736a32 32 0 0 1-32-32V416a32 32 0 0 1 32-32h32c10.368 0 20.544.832 30.528 2.432a288 288 0 0 0-573.056 0A193.235 193.235 0 0 1 256 384h32a32 32 0 0 1 32 32v320a32 32 0 0 1-32 32h-32a192 192 0 0 1-96-358.4 352 352 0 0 1 704 0M256 448a128 128 0 1 0 0 256zm640 128a128 128 0 0 0-128-128v256a128 128 0 0 0 128-128"})]))}}),KV=jV,UV=N({name:"SetUp",__name:"set-up",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M224 160a64 64 0 0 0-64 64v576a64 64 0 0 0 64 64h576a64 64 0 0 0 64-64V224a64 64 0 0 0-64-64zm0-64h576a128 128 0 0 1 128 128v576a128 128 0 0 1-128 128H224A128 128 0 0 1 96 800V224A128 128 0 0 1 224 96"}),E("path",{fill:"currentColor",d:"M384 416a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256"}),E("path",{fill:"currentColor",d:"M480 320h256q32 0 32 32t-32 32H480q-32 0-32-32t32-32m160 416a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256"}),E("path",{fill:"currentColor",d:"M288 640h256q32 0 32 32t-32 32H288q-32 0-32-32t32-32"})]))}}),WV=UV,qV=N({name:"Setting",__name:"setting",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M600.704 64a32 32 0 0 1 30.464 22.208l35.2 109.376c14.784 7.232 28.928 15.36 42.432 24.512l112.384-24.192a32 32 0 0 1 34.432 15.36L944.32 364.8a32 32 0 0 1-4.032 37.504l-77.12 85.12a357.12 357.12 0 0 1 0 49.024l77.12 85.248a32 32 0 0 1 4.032 37.504l-88.704 153.6a32 32 0 0 1-34.432 15.296L708.8 803.904c-13.44 9.088-27.648 17.28-42.368 24.512l-35.264 109.376A32 32 0 0 1 600.704 960H423.296a32 32 0 0 1-30.464-22.208L357.696 828.48a351.616 351.616 0 0 1-42.56-24.64l-112.32 24.256a32 32 0 0 1-34.432-15.36L79.68 659.2a32 32 0 0 1 4.032-37.504l77.12-85.248a357.12 357.12 0 0 1 0-48.896l-77.12-85.248A32 32 0 0 1 79.68 364.8l88.704-153.6a32 32 0 0 1 34.432-15.296l112.32 24.256c13.568-9.152 27.776-17.408 42.56-24.64l35.2-109.312A32 32 0 0 1 423.232 64H600.64zm-23.424 64H446.72l-36.352 113.088-24.512 11.968a294.113 294.113 0 0 0-34.816 20.096l-22.656 15.36-116.224-25.088-65.28 113.152 79.68 88.192-1.92 27.136a293.12 293.12 0 0 0 0 40.192l1.92 27.136-79.808 88.192 65.344 113.152 116.224-25.024 22.656 15.296a294.113 294.113 0 0 0 34.816 20.096l24.512 11.968L446.72 896h130.688l36.48-113.152 24.448-11.904a288.282 288.282 0 0 0 34.752-20.096l22.592-15.296 116.288 25.024 65.28-113.152-79.744-88.192 1.92-27.136a293.12 293.12 0 0 0 0-40.256l-1.92-27.136 79.808-88.128-65.344-113.152-116.288 24.96-22.592-15.232a287.616 287.616 0 0 0-34.752-20.096l-24.448-11.904L577.344 128zM512 320a192 192 0 1 1 0 384 192 192 0 0 1 0-384m0 64a128 128 0 1 0 0 256 128 128 0 0 0 0-256"})]))}}),YV=qV,GV=N({name:"Share",__name:"share",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m679.872 348.8-301.76 188.608a127.808 127.808 0 0 1 5.12 52.16l279.936 104.96a128 128 0 1 1-22.464 59.904l-279.872-104.96a128 128 0 1 1-16.64-166.272l301.696-188.608a128 128 0 1 1 33.92 54.272z"})]))}}),XV=GV,ZV=N({name:"Ship",__name:"ship",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 386.88V448h405.568a32 32 0 0 1 30.72 40.768l-76.48 267.968A192 192 0 0 1 687.168 896H336.832a192 192 0 0 1-184.64-139.264L75.648 488.768A32 32 0 0 1 106.368 448H448V117.888a32 32 0 0 1 47.36-28.096l13.888 7.616L512 96v2.88l231.68 126.4a32 32 0 0 1-2.048 57.216zm0-70.272 144.768-65.792L512 171.84zM512 512H148.864l18.24 64H856.96l18.24-64zM185.408 640l28.352 99.2A128 128 0 0 0 336.832 832h350.336a128 128 0 0 0 123.072-92.8l28.352-99.2H185.408"})]))}}),JV=ZV,QV=N({name:"Shop",__name:"shop",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M704 704h64v192H256V704h64v64h384zm188.544-152.192C894.528 559.616 896 567.616 896 576a96 96 0 1 1-192 0 96 96 0 1 1-192 0 96 96 0 1 1-192 0 96 96 0 1 1-192 0c0-8.384 1.408-16.384 3.392-24.192L192 128h640z"})]))}}),eD=QV,tD=N({name:"ShoppingBag",__name:"shopping-bag",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M704 320v96a32 32 0 0 1-32 32h-32V320H384v128h-32a32 32 0 0 1-32-32v-96H192v576h640V320zm-384-64a192 192 0 1 1 384 0h160a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V288a32 32 0 0 1 32-32zm64 0h256a128 128 0 1 0-256 0"}),E("path",{fill:"currentColor",d:"M192 704h640v64H192z"})]))}}),oD=tD,rD=N({name:"ShoppingCartFull",__name:"shopping-cart-full",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M432 928a48 48 0 1 1 0-96 48 48 0 0 1 0 96m320 0a48 48 0 1 1 0-96 48 48 0 0 1 0 96M96 128a32 32 0 0 1 0-64h160a32 32 0 0 1 31.36 25.728L320.64 256H928a32 32 0 0 1 31.296 38.72l-96 448A32 32 0 0 1 832 768H384a32 32 0 0 1-31.36-25.728L229.76 128zm314.24 576h395.904l82.304-384H333.44l76.8 384z"}),E("path",{fill:"currentColor",d:"M699.648 256 608 145.984 516.352 256h183.296zm-140.8-151.04a64 64 0 0 1 98.304 0L836.352 320H379.648l179.2-215.04"})]))}}),lD=rD,nD=N({name:"ShoppingCart",__name:"shopping-cart",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M432 928a48 48 0 1 1 0-96 48 48 0 0 1 0 96m320 0a48 48 0 1 1 0-96 48 48 0 0 1 0 96M96 128a32 32 0 0 1 0-64h160a32 32 0 0 1 31.36 25.728L320.64 256H928a32 32 0 0 1 31.296 38.72l-96 448A32 32 0 0 1 832 768H384a32 32 0 0 1-31.36-25.728L229.76 128zm314.24 576h395.904l82.304-384H333.44l76.8 384z"})]))}}),aD=nD,iD=N({name:"ShoppingTrolley",__name:"shopping-trolley",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M368 833c-13.3 0-24.5 4.5-33.5 13.5S321 866.7 321 880s4.5 24.5 13.5 33.5 20.2 13.8 33.5 14.5c13.3-.7 24.5-5.5 33.5-14.5S415 893.3 415 880s-4.5-24.5-13.5-33.5S381.3 833 368 833m439-193c7.4 0 13.8-2.2 19.5-6.5S836 623.3 838 616l112-448c2-10-.2-19.2-6.5-27.5S929 128 919 128H96c-9.3 0-17 3-23 9s-9 13.7-9 23 3 17 9 23 13.7 9 23 9h96v576h672c9.3 0 17-3 23-9s9-13.7 9-23-3-17-9-23-13.7-9-23-9H256v-64zM256 192h622l-96 384H256zm432 641c-13.3 0-24.5 4.5-33.5 13.5S641 866.7 641 880s4.5 24.5 13.5 33.5 20.2 13.8 33.5 14.5c13.3-.7 24.5-5.5 33.5-14.5S735 893.3 735 880s-4.5-24.5-13.5-33.5S701.3 833 688 833"})]))}}),sD=iD,cD=N({name:"Smoking",__name:"smoking",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M256 576v128h640V576zm-32-64h704a32 32 0 0 1 32 32v192a32 32 0 0 1-32 32H224a32 32 0 0 1-32-32V544a32 32 0 0 1 32-32"}),E("path",{fill:"currentColor",d:"M704 576h64v128h-64zM256 64h64v320h-64zM128 192h64v192h-64zM64 512h64v256H64z"})]))}}),uD=cD,dD=N({name:"Soccer",__name:"soccer",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M418.496 871.04 152.256 604.8c-16.512 94.016-2.368 178.624 42.944 224 44.928 44.928 129.344 58.752 223.296 42.24m72.32-18.176a573.056 573.056 0 0 0 224.832-137.216 573.12 573.12 0 0 0 137.216-224.832L533.888 171.84a578.56 578.56 0 0 0-227.52 138.496A567.68 567.68 0 0 0 170.432 532.48l320.384 320.384zM871.04 418.496c16.512-93.952 2.688-178.368-42.24-223.296-44.544-44.544-128.704-58.048-222.592-41.536zM149.952 874.048c-112.96-112.96-88.832-408.96 111.168-608.96C461.056 65.152 760.96 36.928 874.048 149.952c113.024 113.024 86.784 411.008-113.152 610.944-199.936 199.936-497.92 226.112-610.944 113.152m452.544-497.792 22.656-22.656a32 32 0 0 1 45.248 45.248l-22.656 22.656 45.248 45.248A32 32 0 1 1 647.744 512l-45.248-45.248L557.248 512l45.248 45.248a32 32 0 1 1-45.248 45.248L512 557.248l-45.248 45.248L512 647.744a32 32 0 1 1-45.248 45.248l-45.248-45.248-22.656 22.656a32 32 0 1 1-45.248-45.248l22.656-22.656-45.248-45.248A32 32 0 1 1 376.256 512l45.248 45.248L466.752 512l-45.248-45.248a32 32 0 1 1 45.248-45.248L512 466.752l45.248-45.248L512 376.256a32 32 0 0 1 45.248-45.248l45.248 45.248z"})]))}}),pD=dD,fD=N({name:"SoldOut",__name:"sold-out",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M704 288h131.072a32 32 0 0 1 31.808 28.8L886.4 512h-64.384l-16-160H704v96a32 32 0 1 1-64 0v-96H384v96a32 32 0 0 1-64 0v-96H217.92l-51.2 512H512v64H131.328a32 32 0 0 1-31.808-35.2l57.6-576a32 32 0 0 1 31.808-28.8H320v-22.336C320 154.688 405.504 64 512 64s192 90.688 192 201.664v22.4zm-64 0v-22.336C640 189.248 582.272 128 512 128c-70.272 0-128 61.248-128 137.664v22.4h256zm201.408 476.16a32 32 0 1 1 45.248 45.184l-128 128a32 32 0 0 1-45.248 0l-128-128a32 32 0 1 1 45.248-45.248L704 837.504V608a32 32 0 1 1 64 0v229.504l73.408-73.408z"})]))}}),hD=fD,vD=N({name:"SortDown",__name:"sort-down",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M576 96v709.568L333.312 562.816A32 32 0 1 0 288 608l297.408 297.344A32 32 0 0 0 640 882.688V96a32 32 0 0 0-64 0"})]))}}),q3=vD,mD=N({name:"SortUp",__name:"sort-up",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M384 141.248V928a32 32 0 1 0 64 0V218.56l242.688 242.688A32 32 0 1 0 736 416L438.592 118.656A32 32 0 0 0 384 141.248"})]))}}),Y3=mD,gD=N({name:"Sort",__name:"sort",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M384 96a32 32 0 0 1 64 0v786.752a32 32 0 0 1-54.592 22.656L95.936 608a32 32 0 0 1 0-45.312h.128a32 32 0 0 1 45.184 0L384 805.632zm192 45.248a32 32 0 0 1 54.592-22.592L928.064 416a32 32 0 0 1 0 45.312h-.128a32 32 0 0 1-45.184 0L640 218.496V928a32 32 0 1 1-64 0V141.248z"})]))}}),bD=gD,_D=N({name:"Stamp",__name:"stamp",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M624 475.968V640h144a128 128 0 0 1 128 128H128a128 128 0 0 1 128-128h144V475.968a192 192 0 1 1 224 0M128 896v-64h768v64z"})]))}}),wD=_D,yD=N({name:"StarFilled",__name:"star-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M283.84 867.84 512 747.776l228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72z"})]))}}),vc=yD,xD=N({name:"Star",__name:"star",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m512 747.84 228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72zM313.6 924.48a70.4 70.4 0 0 1-102.144-74.24l37.888-220.928L88.96 472.96A70.4 70.4 0 0 1 128 352.896l221.76-32.256 99.2-200.96a70.4 70.4 0 0 1 126.208 0l99.2 200.96 221.824 32.256a70.4 70.4 0 0 1 39.04 120.064L774.72 629.376l37.888 220.928a70.4 70.4 0 0 1-102.144 74.24L512 820.096l-198.4 104.32z"})]))}}),G3=xD,kD=N({name:"Stopwatch",__name:"stopwatch",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),E("path",{fill:"currentColor",d:"M672 234.88c-39.168 174.464-80 298.624-122.688 372.48-64 110.848-202.624 30.848-138.624-80C453.376 453.44 540.48 355.968 672 234.816z"})]))}}),CD=kD,SD=N({name:"SuccessFilled",__name:"success-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.272 38.272 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"})]))}}),vh=SD,ED=N({name:"Sugar",__name:"sugar",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m801.728 349.184 4.48 4.48a128 128 0 0 1 0 180.992L534.656 806.144a128 128 0 0 1-181.056 0l-4.48-4.48-19.392 109.696a64 64 0 0 1-108.288 34.176L78.464 802.56a64 64 0 0 1 34.176-108.288l109.76-19.328-4.544-4.544a128 128 0 0 1 0-181.056l271.488-271.488a128 128 0 0 1 181.056 0l4.48 4.48 19.392-109.504a64 64 0 0 1 108.352-34.048l142.592 143.04a64 64 0 0 1-34.24 108.16l-109.248 19.2zm-548.8 198.72h447.168v2.24l60.8-60.8a63.808 63.808 0 0 0 18.752-44.416h-426.88l-89.664 89.728a64.064 64.064 0 0 0-10.24 13.248zm0 64c2.752 4.736 6.144 9.152 10.176 13.248l135.744 135.744a64 64 0 0 0 90.496 0L638.4 611.904zm490.048-230.976L625.152 263.104a64 64 0 0 0-90.496 0L416.768 380.928zM123.712 757.312l142.976 142.976 24.32-137.6a25.6 25.6 0 0 0-29.696-29.632l-137.6 24.256zm633.6-633.344-24.32 137.472a25.6 25.6 0 0 0 29.632 29.632l137.28-24.064-142.656-143.04z"})]))}}),TD=ED,$D=N({name:"SuitcaseLine",__name:"suitcase-line",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M922.5 229.5c-24.32-24.34-54.49-36.84-90.5-37.5H704v-64c-.68-17.98-7.02-32.98-19.01-44.99S658.01 64.66 640 64H384c-17.98.68-32.98 7.02-44.99 19.01S320.66 110 320 128v64H192c-35.99.68-66.16 13.18-90.5 37.5C77.16 253.82 64.66 283.99 64 320v448c.68 35.99 13.18 66.16 37.5 90.5s54.49 36.84 90.5 37.5h640c35.99-.68 66.16-13.18 90.5-37.5s36.84-54.49 37.5-90.5V320c-.68-35.99-13.18-66.16-37.5-90.5M384 128h256v64H384zM256 832h-64c-17.98-.68-32.98-7.02-44.99-19.01S128.66 786.01 128 768V448h128zm448 0H320V448h384zm192-64c-.68 17.98-7.02 32.98-19.01 44.99S850.01 831.34 832 832h-64V448h128zm0-384H128v-64c.69-17.98 7.02-32.98 19.01-44.99S173.99 256.66 192 256h640c17.98.69 32.98 7.02 44.99 19.01S895.34 301.99 896 320z"})]))}}),MD=$D,AD=N({name:"Suitcase",__name:"suitcase",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 384h768v-64a64 64 0 0 0-64-64H192a64 64 0 0 0-64 64zm0 64v320a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V448zm64-256h640a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H192A128 128 0 0 1 64 768V320a128 128 0 0 1 128-128"}),E("path",{fill:"currentColor",d:"M384 128v64h256v-64zm0-64h256a64 64 0 0 1 64 64v64a64 64 0 0 1-64 64H384a64 64 0 0 1-64-64v-64a64 64 0 0 1 64-64"})]))}}),zD=AD,ID=N({name:"Sunny",__name:"sunny",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 704a192 192 0 1 0 0-384 192 192 0 0 0 0 384m0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512m0-704a32 32 0 0 1 32 32v64a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 768a32 32 0 0 1 32 32v64a32 32 0 1 1-64 0v-64a32 32 0 0 1 32-32M195.2 195.2a32 32 0 0 1 45.248 0l45.248 45.248a32 32 0 1 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248zm543.104 543.104a32 32 0 0 1 45.248 0l45.248 45.248a32 32 0 0 1-45.248 45.248l-45.248-45.248a32 32 0 0 1 0-45.248M64 512a32 32 0 0 1 32-32h64a32 32 0 0 1 0 64H96a32 32 0 0 1-32-32m768 0a32 32 0 0 1 32-32h64a32 32 0 1 1 0 64h-64a32 32 0 0 1-32-32M195.2 828.8a32 32 0 0 1 0-45.248l45.248-45.248a32 32 0 0 1 45.248 45.248L240.448 828.8a32 32 0 0 1-45.248 0zm543.104-543.104a32 32 0 0 1 0-45.248l45.248-45.248a32 32 0 0 1 45.248 45.248l-45.248 45.248a32 32 0 0 1-45.248 0"})]))}}),OD=ID,ND=N({name:"Sunrise",__name:"sunrise",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M32 768h960a32 32 0 1 1 0 64H32a32 32 0 1 1 0-64m129.408-96a352 352 0 0 1 701.184 0h-64.32a288 288 0 0 0-572.544 0h-64.32zM512 128a32 32 0 0 1 32 32v96a32 32 0 0 1-64 0v-96a32 32 0 0 1 32-32m407.296 168.704a32 32 0 0 1 0 45.248l-67.84 67.84a32 32 0 1 1-45.248-45.248l67.84-67.84a32 32 0 0 1 45.248 0zm-814.592 0a32 32 0 0 1 45.248 0l67.84 67.84a32 32 0 1 1-45.248 45.248l-67.84-67.84a32 32 0 0 1 0-45.248"})]))}}),PD=ND,RD=N({name:"Sunset",__name:"sunset",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M82.56 640a448 448 0 1 1 858.88 0h-67.2a384 384 0 1 0-724.288 0zM32 704h960q32 0 32 32t-32 32H32q-32 0-32-32t32-32m256 128h448q32 0 32 32t-32 32H288q-32 0-32-32t32-32"})]))}}),LD=RD,BD=N({name:"SwitchButton",__name:"switch-button",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M352 159.872V230.4a352 352 0 1 0 320 0v-70.528A416.128 416.128 0 0 1 512 960a416 416 0 0 1-160-800.128z"}),E("path",{fill:"currentColor",d:"M512 64q32 0 32 32v320q0 32-32 32t-32-32V96q0-32 32-32"})]))}}),VD=BD,DD=N({name:"SwitchFilled",__name:"switch-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M247.47 358.4v.04c.07 19.17 7.72 37.53 21.27 51.09s31.92 21.2 51.09 21.27c39.86 0 72.41-32.6 72.41-72.4s-32.6-72.36-72.41-72.36-72.36 32.55-72.36 72.36z"}),E("path",{fill:"currentColor",d:"M492.38 128H324.7c-52.16 0-102.19 20.73-139.08 57.61a196.655 196.655 0 0 0-57.61 139.08V698.7c-.01 25.84 5.08 51.42 14.96 75.29s24.36 45.56 42.63 63.83 39.95 32.76 63.82 42.65a196.67 196.67 0 0 0 75.28 14.98h167.68c3.03 0 5.46-2.43 5.46-5.42V133.42c.6-2.99-1.83-5.42-5.46-5.42zm-56.11 705.88H324.7c-17.76.13-35.36-3.33-51.75-10.18s-31.22-16.94-43.61-29.67c-25.3-25.35-39.81-59.1-39.81-95.32V324.69c-.13-17.75 3.33-35.35 10.17-51.74a131.695 131.695 0 0 1 29.64-43.62c25.39-25.3 59.14-39.81 95.36-39.81h111.57zm402.12-647.67a196.655 196.655 0 0 0-139.08-57.61H580.48c-3.03 0-4.82 2.43-4.82 4.82v757.16c-.6 2.99 1.79 5.42 5.42 5.42h118.23a196.69 196.69 0 0 0 139.08-57.61A196.655 196.655 0 0 0 896 699.31V325.29a196.69 196.69 0 0 0-57.61-139.08zm-111.3 441.92c-42.83 0-77.82-34.99-77.82-77.82s34.98-77.82 77.82-77.82c42.83 0 77.82 34.99 77.82 77.82s-34.99 77.82-77.82 77.82z"})]))}}),HD=DD,FD=N({name:"Switch",__name:"switch",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M118.656 438.656a32 32 0 0 1 0-45.248L416 96l4.48-3.776A32 32 0 0 1 461.248 96l3.712 4.48a32.064 32.064 0 0 1-3.712 40.832L218.56 384H928a32 32 0 1 1 0 64H141.248a32 32 0 0 1-22.592-9.344zM64 608a32 32 0 0 1 32-32h786.752a32 32 0 0 1 22.656 54.592L608 928l-4.48 3.776a32.064 32.064 0 0 1-40.832-49.024L805.632 640H96a32 32 0 0 1-32-32"})]))}}),jD=FD,KD=N({name:"TakeawayBox",__name:"takeaway-box",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M832 384H192v448h640zM96 320h832V128H96zm800 64v480a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V384H64a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32h896a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32zM416 512h192a32 32 0 0 1 0 64H416a32 32 0 0 1 0-64"})]))}}),UD=KD,WD=N({name:"Ticket",__name:"ticket",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M640 832H64V640a128 128 0 1 0 0-256V192h576v160h64V192h256v192a128 128 0 1 0 0 256v192H704V672h-64zm0-416v192h64V416z"})]))}}),qD=WD,YD=N({name:"Tickets",__name:"tickets",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M192 128v768h640V128zm-32-64h704a32 32 0 0 1 32 32v832a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h192v64H320zm0 384h384v64H320z"})]))}}),GD=YD,XD=N({name:"Timer",__name:"timer",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 896a320 320 0 1 0 0-640 320 320 0 0 0 0 640m0 64a384 384 0 1 1 0-768 384 384 0 0 1 0 768"}),E("path",{fill:"currentColor",d:"M512 320a32 32 0 0 1 32 32l-.512 224a32 32 0 1 1-64 0L480 352a32 32 0 0 1 32-32"}),E("path",{fill:"currentColor",d:"M448 576a64 64 0 1 0 128 0 64 64 0 1 0-128 0m96-448v128h-64V128h-96a32 32 0 0 1 0-64h256a32 32 0 1 1 0 64z"})]))}}),ZD=XD,JD=N({name:"ToiletPaper",__name:"toilet-paper",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M595.2 128H320a192 192 0 0 0-192 192v576h384V352c0-90.496 32.448-171.2 83.2-224M736 64c123.712 0 224 128.96 224 288S859.712 640 736 640H576v320H64V320A256 256 0 0 1 320 64zM576 352v224h160c84.352 0 160-97.28 160-224s-75.648-224-160-224-160 97.28-160 224"}),E("path",{fill:"currentColor",d:"M736 448c-35.328 0-64-43.008-64-96s28.672-96 64-96 64 43.008 64 96-28.672 96-64 96"})]))}}),QD=JD,eH=N({name:"Tools",__name:"tools",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M764.416 254.72a351.68 351.68 0 0 1 86.336 149.184H960v192.064H850.752a351.68 351.68 0 0 1-86.336 149.312l54.72 94.72-166.272 96-54.592-94.72a352.64 352.64 0 0 1-172.48 0L371.136 936l-166.272-96 54.72-94.72a351.68 351.68 0 0 1-86.336-149.312H64v-192h109.248a351.68 351.68 0 0 1 86.336-149.312L204.8 160l166.208-96h.192l54.656 94.592a352.64 352.64 0 0 1 172.48 0L652.8 64h.128L819.2 160l-54.72 94.72zM704 499.968a192 192 0 1 0-384 0 192 192 0 0 0 384 0"})]))}}),tH=eH,oH=N({name:"TopLeft",__name:"top-left",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M256 256h416a32 32 0 1 0 0-64H224a32 32 0 0 0-32 32v448a32 32 0 0 0 64 0z"}),E("path",{fill:"currentColor",d:"M246.656 201.344a32 32 0 0 0-45.312 45.312l544 544a32 32 0 0 0 45.312-45.312l-544-544z"})]))}}),rH=oH,lH=N({name:"TopRight",__name:"top-right",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M768 256H353.6a32 32 0 1 1 0-64H800a32 32 0 0 1 32 32v448a32 32 0 0 1-64 0z"}),E("path",{fill:"currentColor",d:"M777.344 201.344a32 32 0 0 1 45.312 45.312l-544 544a32 32 0 0 1-45.312-45.312l544-544z"})]))}}),nH=lH,aH=N({name:"Top",__name:"top",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M572.235 205.282v600.365a30.118 30.118 0 1 1-60.235 0V205.282L292.382 438.633a28.913 28.913 0 0 1-42.646 0 33.43 33.43 0 0 1 0-45.236l271.058-288.045a28.913 28.913 0 0 1 42.647 0L834.5 393.397a33.43 33.43 0 0 1 0 45.176 28.913 28.913 0 0 1-42.647 0l-219.618-233.23z"})]))}}),iH=aH,sH=N({name:"TrendCharts",__name:"trend-charts",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128 896V128h768v768zm291.712-327.296 128 102.4 180.16-201.792-47.744-42.624-139.84 156.608-128-102.4-180.16 201.792 47.744 42.624 139.84-156.608zM816 352a48 48 0 1 0-96 0 48 48 0 0 0 96 0"})]))}}),cH=sH,uH=N({name:"TrophyBase",__name:"trophy-base",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M918.4 201.6c-6.4-6.4-12.8-9.6-22.4-9.6H768V96c0-9.6-3.2-16-9.6-22.4C752 67.2 745.6 64 736 64H288c-9.6 0-16 3.2-22.4 9.6C259.2 80 256 86.4 256 96v96H128c-9.6 0-16 3.2-22.4 9.6-6.4 6.4-9.6 16-9.6 22.4 3.2 108.8 25.6 185.6 64 224 34.4 34.4 77.56 55.65 127.65 61.99 10.91 20.44 24.78 39.25 41.95 56.41 40.86 40.86 91 65.47 150.4 71.9V768h-96c-9.6 0-16 3.2-22.4 9.6-6.4 6.4-9.6 12.8-9.6 22.4s3.2 16 9.6 22.4c6.4 6.4 12.8 9.6 22.4 9.6h256c9.6 0 16-3.2 22.4-9.6 6.4-6.4 9.6-12.8 9.6-22.4s-3.2-16-9.6-22.4c-6.4-6.4-12.8-9.6-22.4-9.6h-96V637.26c59.4-7.71 109.54-30.01 150.4-70.86 17.2-17.2 31.51-36.06 42.81-56.55 48.93-6.51 90.02-27.7 126.79-61.85 38.4-38.4 60.8-112 64-224 0-6.4-3.2-16-9.6-22.4zM256 438.4c-19.2-6.4-35.2-19.2-51.2-35.2-22.4-22.4-35.2-70.4-41.6-147.2H256zm390.4 80C608 553.6 566.4 576 512 576s-99.2-19.2-134.4-57.6C342.4 480 320 438.4 320 384V128h384v256c0 54.4-19.2 99.2-57.6 134.4m172.8-115.2c-16 16-32 25.6-51.2 35.2V256h92.8c-6.4 76.8-19.2 124.8-41.6 147.2zM768 896H256c-9.6 0-16 3.2-22.4 9.6-6.4 6.4-9.6 12.8-9.6 22.4s3.2 16 9.6 22.4c6.4 6.4 12.8 9.6 22.4 9.6h512c9.6 0 16-3.2 22.4-9.6 6.4-6.4 9.6-12.8 9.6-22.4s-3.2-16-9.6-22.4c-6.4-6.4-12.8-9.6-22.4-9.6"})]))}}),dH=uH,pH=N({name:"Trophy",__name:"trophy",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M480 896V702.08A256.256 256.256 0 0 1 264.064 512h-32.64a96 96 0 0 1-91.968-68.416L93.632 290.88a76.8 76.8 0 0 1 73.6-98.88H256V96a32 32 0 0 1 32-32h448a32 32 0 0 1 32 32v96h88.768a76.8 76.8 0 0 1 73.6 98.88L884.48 443.52A96 96 0 0 1 792.576 512h-32.64A256.256 256.256 0 0 1 544 702.08V896h128a32 32 0 1 1 0 64H352a32 32 0 1 1 0-64zm224-448V128H320v320a192 192 0 1 0 384 0m64 0h24.576a32 32 0 0 0 30.656-22.784l45.824-152.768A12.8 12.8 0 0 0 856.768 256H768zm-512 0V256h-88.768a12.8 12.8 0 0 0-12.288 16.448l45.824 152.768A32 32 0 0 0 231.424 448z"})]))}}),fH=pH,hH=N({name:"TurnOff",__name:"turn-off",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M329.956 257.138a254.862 254.862 0 0 0 0 509.724h364.088a254.862 254.862 0 0 0 0-509.724zm0-72.818h364.088a327.68 327.68 0 1 1 0 655.36H329.956a327.68 327.68 0 1 1 0-655.36z"}),E("path",{fill:"currentColor",d:"M329.956 621.227a109.227 109.227 0 1 0 0-218.454 109.227 109.227 0 0 0 0 218.454m0 72.817a182.044 182.044 0 1 1 0-364.088 182.044 182.044 0 0 1 0 364.088"})]))}}),vH=hH,mH=N({name:"Umbrella",__name:"umbrella",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M320 768a32 32 0 1 1 64 0 64 64 0 0 0 128 0V512H64a448 448 0 1 1 896 0H576v256a128 128 0 1 1-256 0m570.688-320a384.128 384.128 0 0 0-757.376 0z"})]))}}),gH=mH,bH=N({name:"Unlock",__name:"unlock",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M224 448a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V480a32 32 0 0 0-32-32zm0-64h576a96 96 0 0 1 96 96v384a96 96 0 0 1-96 96H224a96 96 0 0 1-96-96V480a96 96 0 0 1 96-96"}),E("path",{fill:"currentColor",d:"M512 544a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V576a32 32 0 0 1 32-32m178.304-295.296A192.064 192.064 0 0 0 320 320v64h352l96 38.4V448H256V320a256 256 0 0 1 493.76-95.104z"})]))}}),_H=bH,wH=N({name:"UploadFilled",__name:"upload-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M544 864V672h128L512 480 352 672h128v192H320v-1.6c-5.376.32-10.496 1.6-16 1.6A240 240 0 0 1 64 624c0-123.136 93.12-223.488 212.608-237.248A239.808 239.808 0 0 1 512 192a239.872 239.872 0 0 1 235.456 194.752c119.488 13.76 212.48 114.112 212.48 237.248a240 240 0 0 1-240 240c-5.376 0-10.56-1.28-16-1.6v1.6z"})]))}}),yH=wH,xH=N({name:"Upload",__name:"upload",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M160 832h704a32 32 0 1 1 0 64H160a32 32 0 1 1 0-64m384-578.304V704h-64V247.296L237.248 490.048 192 444.8 508.8 128l316.8 316.8-45.312 45.248z"})]))}}),kH=xH,CH=N({name:"UserFilled",__name:"user-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M288 320a224 224 0 1 0 448 0 224 224 0 1 0-448 0m544 608H160a32 32 0 0 1-32-32v-96a160 160 0 0 1 160-160h448a160 160 0 0 1 160 160v96a32 32 0 0 1-32 32z"})]))}}),SH=CH,EH=N({name:"User",__name:"user",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 512a192 192 0 1 0 0-384 192 192 0 0 0 0 384m0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512m320 320v-96a96 96 0 0 0-96-96H288a96 96 0 0 0-96 96v96a32 32 0 1 1-64 0v-96a160 160 0 0 1 160-160h448a160 160 0 0 1 160 160v96a32 32 0 1 1-64 0"})]))}}),TH=EH,$H=N({name:"Van",__name:"van",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M128.896 736H96a32 32 0 0 1-32-32V224a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32v96h164.544a32 32 0 0 1 31.616 27.136l54.144 352A32 32 0 0 1 922.688 736h-91.52a144 144 0 1 1-286.272 0H415.104a144 144 0 1 1-286.272 0zm23.36-64a143.872 143.872 0 0 1 239.488 0H568.32c17.088-25.6 42.24-45.376 71.744-55.808V256H128v416zm655.488 0h77.632l-19.648-128H704v64.896A144 144 0 0 1 807.744 672m48.128-192-14.72-96H704v96h151.872M688 832a80 80 0 1 0 0-160 80 80 0 0 0 0 160m-416 0a80 80 0 1 0 0-160 80 80 0 0 0 0 160"})]))}}),MH=$H,AH=N({name:"VideoCameraFilled",__name:"video-camera-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m768 576 192-64v320l-192-64v96a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V480a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32zM192 768v64h384v-64zm192-480a160 160 0 0 1 320 0 160 160 0 0 1-320 0m64 0a96 96 0 1 0 192.064-.064A96 96 0 0 0 448 288m-320 32a128 128 0 1 1 256.064.064A128 128 0 0 1 128 320m64 0a64 64 0 1 0 128 0 64 64 0 0 0-128 0"})]))}}),zH=AH,IH=N({name:"VideoCamera",__name:"video-camera",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M704 768V256H128v512zm64-416 192-96v512l-192-96v128a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V224a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32zm0 71.552v176.896l128 64V359.552zM192 320h192v64H192z"})]))}}),OH=IH,NH=N({name:"VideoPause",__name:"video-pause",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m-96-544q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32m192 0q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32"})]))}}),PH=NH,RH=N({name:"VideoPlay",__name:"video-play",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m-48-247.616L668.608 512 464 375.616zm10.624-342.656 249.472 166.336a48 48 0 0 1 0 79.872L474.624 718.272A48 48 0 0 1 400 678.336V345.6a48 48 0 0 1 74.624-39.936z"})]))}}),LH=RH,BH=N({name:"View",__name:"view",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352m0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288zm0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448m0 64a160.192 160.192 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160"})]))}}),X3=BH,VH=N({name:"WalletFilled",__name:"wallet-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M688 512a112 112 0 1 0 0 224h208v160H128V352h768v160zm32 160h-32a48 48 0 0 1 0-96h32a48 48 0 0 1 0 96m-80-544 128 160H384z"})]))}}),DH=VH,HH=N({name:"Wallet",__name:"wallet",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M640 288h-64V128H128v704h384v32a32 32 0 0 0 32 32H96a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32h512a32 32 0 0 1 32 32z"}),E("path",{fill:"currentColor",d:"M128 320v512h768V320zm-32-64h832a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V288a32 32 0 0 1 32-32"}),E("path",{fill:"currentColor",d:"M704 640a64 64 0 1 1 0-128 64 64 0 0 1 0 128"})]))}}),FH=HH,jH=N({name:"WarnTriangleFilled",__name:"warn-triangle-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M928.99 755.83 574.6 203.25c-12.89-20.16-36.76-32.58-62.6-32.58s-49.71 12.43-62.6 32.58L95.01 755.83c-12.91 20.12-12.9 44.91.01 65.03 12.92 20.12 36.78 32.51 62.59 32.49h708.78c25.82.01 49.68-12.37 62.59-32.49 12.91-20.12 12.92-44.91.01-65.03M554.67 768h-85.33v-85.33h85.33zm0-426.67v298.66h-85.33V341.32z"})]))}}),KH=jH,UH=N({name:"WarningFilled",__name:"warning-filled",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 192a58.432 58.432 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.432 58.432 0 0 0 512 256m0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4"})]))}}),mc=UH,WH=N({name:"Warning",__name:"warning",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m48-176a48 48 0 1 1-96 0 48 48 0 0 1 96 0m-48-464a32 32 0 0 1 32 32v288a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32"})]))}}),qH=WH,YH=N({name:"Watch",__name:"watch",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M512 768a256 256 0 1 0 0-512 256 256 0 0 0 0 512m0 64a320 320 0 1 1 0-640 320 320 0 0 1 0 640"}),E("path",{fill:"currentColor",d:"M480 352a32 32 0 0 1 32 32v160a32 32 0 0 1-64 0V384a32 32 0 0 1 32-32"}),E("path",{fill:"currentColor",d:"M480 512h128q32 0 32 32t-32 32H480q-32 0-32-32t32-32m128-256V128H416v128h-64V64h320v192zM416 768v128h192V768h64v192H352V768z"})]))}}),GH=YH,XH=N({name:"Watermelon",__name:"watermelon",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m683.072 600.32-43.648 162.816-61.824-16.512 53.248-198.528L576 493.248l-158.4 158.4-45.248-45.248 158.4-158.4-55.616-55.616-198.528 53.248-16.512-61.824 162.816-43.648L282.752 200A384 384 0 0 0 824 741.248zm231.552 141.056a448 448 0 1 1-632-632l632 632"})]))}}),ZH=XH,JH=N({name:"WindPower",__name:"wind-power",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"M160 64q32 0 32 32v832q0 32-32 32t-32-32V96q0-32 32-32m416 354.624 128-11.584V168.96l-128-11.52v261.12zm-64 5.824V151.552L320 134.08V160h-64V64l616.704 56.064A96 96 0 0 1 960 215.68v144.64a96 96 0 0 1-87.296 95.616L256 512V224h64v217.92zm256-23.232 98.88-8.96A32 32 0 0 0 896 360.32V215.68a32 32 0 0 0-29.12-31.872l-98.88-8.96z"})]))}}),QH=JH,eF=N({name:"ZoomIn",__name:"zoom-in",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704m-32-384v-96a32 32 0 0 1 64 0v96h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64z"})]))}}),mh=eF,tF=N({name:"ZoomOut",__name:"zoom-out",setup(e){return(t,o)=>(b(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[E("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704M352 448h256a32 32 0 0 1 0 64H352a32 32 0 0 1 0-64"})]))}}),Z3=tF;const oF=Object.freeze(Object.defineProperty({__proto__:null,AddLocation:Qz,Aim:tI,AlarmClock:rI,Apple:nI,ArrowDown:Pl,ArrowDownBold:iI,ArrowLeft:fn,ArrowLeftBold:uI,ArrowRight:ir,ArrowRightBold:fI,ArrowUp:Ad,ArrowUpBold:mI,Avatar:_I,Back:z3,Baseball:xI,Basketball:CI,Bell:$I,BellFilled:EI,Bicycle:AI,Bottom:RI,BottomLeft:II,BottomRight:NI,Bowl:BI,Box:DI,Briefcase:FI,Brush:WI,BrushFilled:KI,Burger:YI,Calendar:I3,Camera:QI,CameraFilled:ZI,CaretBottom:tO,CaretLeft:rO,CaretRight:dh,CaretTop:O3,Cellphone:iO,ChatDotRound:cO,ChatDotSquare:dO,ChatLineRound:fO,ChatLineSquare:vO,ChatRound:gO,ChatSquare:_O,Check:Li,Checked:xO,Cherry:CO,Chicken:EO,ChromeFilled:$O,CircleCheck:zd,CircleCheckFilled:N3,CircleClose:hn,CircleCloseFilled:Id,CirclePlus:RO,CirclePlusFilled:NO,Clock:ph,Close:Jr,CloseBold:VO,Cloudy:FO,Coffee:WO,CoffeeCup:KO,Coin:YO,ColdDrink:XO,Collection:eN,CollectionTag:JO,Comment:oN,Compass:lN,Connection:aN,Coordinate:sN,CopyDocument:uN,Cpu:pN,CreditCard:hN,Crop:mN,DArrowLeft:Ra,DArrowRight:La,DCaret:wN,DataAnalysis:xN,DataBoard:CN,DataLine:EN,Delete:P3,DeleteFilled:$N,DeleteLocation:AN,Dessert:ON,Discount:PN,Dish:VN,DishDot:LN,Document:R3,DocumentAdd:HN,DocumentChecked:jN,DocumentCopy:UN,DocumentDelete:qN,DocumentRemove:GN,Download:JN,Drizzling:eP,Edit:lP,EditPen:oP,Eleme:sP,ElemeFilled:aP,ElementPlus:uP,Expand:pP,Failed:hP,Female:mP,Files:bP,Film:wP,Filter:xP,Finished:CP,FirstAidKit:EP,Flag:$P,Fold:AP,Folder:FP,FolderAdd:IP,FolderChecked:NP,FolderDelete:RP,FolderOpened:BP,FolderRemove:DP,Food:KP,Football:WP,ForkSpoon:YP,Fries:XP,FullScreen:L3,Goblet:nR,GobletFull:QP,GobletSquare:rR,GobletSquareFull:tR,GoldMedal:iR,Goods:dR,GoodsFilled:cR,Grape:fR,Grid:vR,Guide:gR,Handbag:_R,Headset:yR,Help:SR,HelpFilled:kR,Hide:B3,Histogram:$R,HomeFilled:AR,HotWater:IR,House:NR,IceCream:DR,IceCreamRound:RR,IceCreamSquare:BR,IceDrink:FR,IceTea:KR,InfoFilled:Od,Iphone:qR,Key:GR,KnifeFork:ZR,Lightning:QR,Link:tL,List:rL,Loading:vn,Location:uL,LocationFilled:aL,LocationInformation:sL,Lock:pL,Lollipop:hL,MagicStick:mL,Magnet:bL,Male:wL,Management:xL,MapLocation:CL,Medal:EL,Memo:$L,Menu:AL,Message:NL,MessageBox:IL,Mic:RL,Microphone:BL,MilkTea:DL,Minus:V3,Money:jL,Monitor:UL,Moon:GL,MoonNight:qL,More:D3,MoreFilled:fh,MostlyCloudy:QL,Mouse:tB,Mug:rB,Mute:iB,MuteNotification:nB,NoSmoking:cB,Notebook:dB,Notification:fB,Odometer:vB,OfficeBuilding:gB,Open:_B,Operation:yB,Opportunity:kB,Orange:SB,Paperclip:TB,PartlyCloudy:MB,Pear:zB,Phone:PB,PhoneFilled:OB,Picture:DB,PictureFilled:H3,PictureRounded:BB,PieChart:FB,Place:KB,Platform:WB,Plus:hh,Pointer:GB,Position:ZB,Postcard:QB,Pouring:tV,Present:rV,PriceTag:nV,Printer:iV,Promotion:cV,QuartzWatch:dV,QuestionFilled:F3,Rank:hV,Reading:bV,ReadingLamp:mV,Refresh:xV,RefreshLeft:j3,RefreshRight:K3,Refrigerator:CV,Remove:$V,RemoveFilled:EV,Right:AV,ScaleToOriginal:U3,School:OV,Scissor:PV,Search:W3,Select:BV,Sell:DV,SemiSelect:FV,Service:KV,SetUp:WV,Setting:YV,Share:XV,Ship:JV,Shop:eD,ShoppingBag:oD,ShoppingCart:aD,ShoppingCartFull:lD,ShoppingTrolley:sD,Smoking:uD,Soccer:pD,SoldOut:hD,Sort:bD,SortDown:q3,SortUp:Y3,Stamp:wD,Star:G3,StarFilled:vc,Stopwatch:CD,SuccessFilled:vh,Sugar:TD,Suitcase:zD,SuitcaseLine:MD,Sunny:OD,Sunrise:PD,Sunset:LD,Switch:jD,SwitchButton:VD,SwitchFilled:HD,TakeawayBox:UD,Ticket:qD,Tickets:GD,Timer:ZD,ToiletPaper:QD,Tools:tH,Top:iH,TopLeft:rH,TopRight:nH,TrendCharts:cH,Trophy:fH,TrophyBase:dH,TurnOff:vH,Umbrella:gH,Unlock:_H,Upload:kH,UploadFilled:yH,User:TH,UserFilled:SH,Van:MH,VideoCamera:OH,VideoCameraFilled:zH,VideoPause:PH,VideoPlay:LH,View:X3,Wallet:FH,WalletFilled:DH,WarnTriangleFilled:KH,Warning:qH,WarningFilled:mc,Watch:GH,Watermelon:ZH,WindPower:QH,ZoomIn:mh,ZoomOut:Z3},Symbol.toStringTag,{value:"Module"})),J3="__epPropKey",ue=e=>e,rF=e=>xt(e)&&!!e[J3],vl=(e,t)=>{if(!xt(e)||rF(e))return e;const{values:o,required:r,default:l,type:n,validator:a}=e,c={type:n,required:!!r,validator:o||a?d=>{let u=!1,p=[];if(o&&(p=Array.from(o),Pt(e,"default")&&p.push(l),u||(u=p.includes(d))),a&&(u||(u=a(d))),!u&&p.length>0){const h=[...new Set(p)].map(v=>JSON.stringify(v)).join(", ");y9(`Invalid prop: validation failed${t?` for prop "${t}"`:""}. Expected one of [${h}], got value ${JSON.stringify(d)}.`)}return u}:void 0,[J3]:!0};return Pt(e,"default")&&(c.default=l),c},Pe=e=>Sd(Object.entries(e).map(([t,o])=>[t,vl(o,t)])),Xt=ue([String,Object,Function]),gh={Close:Jr},bh={Close:Jr,SuccessFilled:vh,InfoFilled:Od,WarningFilled:mc,CircleCloseFilled:Id},Jn={success:vh,warning:mc,error:Id,info:Od},_h={validating:vn,success:zd,error:hn},yt=(e,t)=>{if(e.install=o=>{for(const r of[e,...Object.values(t??{})])o.component(r.name,r)},t)for(const[o,r]of Object.entries(t))e[o]=r;return e},Q3=(e,t)=>(e.install=o=>{e._context=o._context,o.config.globalProperties[t]=e},e),lF=(e,t)=>(e.install=o=>{o.directive(t,e)},e),co=e=>(e.install=Wt,e),Nd=(...e)=>t=>{e.forEach(o=>{it(o)?o(t):o.value=t})},lt={tab:"Tab",enter:"Enter",space:"Space",left:"ArrowLeft",up:"ArrowUp",right:"ArrowRight",down:"ArrowDown",esc:"Escape",delete:"Delete",backspace:"Backspace",numpadEnter:"NumpadEnter",pageUp:"PageUp",pageDown:"PageDown",home:"Home",end:"End"},nF=["year","years","month","date","dates","week","datetime","datetimerange","daterange","monthrange"],wh=["sun","mon","tue","wed","thu","fri","sat"],St="update:modelValue",ro="change",yr="input",e6=Symbol("INSTALLED_KEY"),Rl=["","default","small","large"],t6=e=>["",...Rl].includes(e);var Qr=(e=>(e[e.TEXT=1]="TEXT",e[e.CLASS=2]="CLASS",e[e.STYLE=4]="STYLE",e[e.PROPS=8]="PROPS",e[e.FULL_PROPS=16]="FULL_PROPS",e[e.HYDRATE_EVENTS=32]="HYDRATE_EVENTS",e[e.STABLE_FRAGMENT=64]="STABLE_FRAGMENT",e[e.KEYED_FRAGMENT=128]="KEYED_FRAGMENT",e[e.UNKEYED_FRAGMENT=256]="UNKEYED_FRAGMENT",e[e.NEED_PATCH=512]="NEED_PATCH",e[e.DYNAMIC_SLOTS=1024]="DYNAMIC_SLOTS",e[e.HOISTED=-1]="HOISTED",e[e.BAIL=-2]="BAIL",e))(Qr||{});function yh(e){return io(e)&&e.type===Qe}function aF(e){return io(e)&&e.type===Jo}function iF(e){return io(e)&&!yh(e)&&!aF(e)}const sF=e=>{if(!io(e))return{};const t=e.props||{},o=(io(e.type)?e.type.props:void 0)||{},r={};return Object.keys(o).forEach(l=>{Pt(o[l],"default")&&(r[l]=o[l].default)}),Object.keys(t).forEach(l=>{r[Fr(l)]=t[l]}),r},cF=e=>{if(!Ke(e)||e.length>1)throw new Error("expect to receive a single Vue element child");return e[0]},Qn=e=>{const t=Ke(e)?e:[e],o=[];return t.forEach(r=>{var l;Ke(r)?o.push(...Qn(r)):io(r)&&Ke(r.children)?o.push(...Qn(r.children)):(o.push(r),io(r)&&((l=r.component)!=null&&l.subTree)&&o.push(...Qn(r.component.subTree)))}),o},o6=e=>[...new Set(e)],Lr=e=>!e&&e!==0?[]:Array.isArray(e)?e:[e],xh=e=>/([\uAC00-\uD7AF\u3130-\u318F])+/gi.test(e),uo=e=>e;function uF(e){let t=0;const o=(...r)=>{t&&Pa(t),t=Xn(()=>{e(...r),t=0})};return o.cancel=()=>{Pa(t),t=0},o}const dF=["class","style"],pF=/^on[A-Z]/,kh=(e={})=>{const{excludeListeners:t=!1,excludeKeys:o}=e,r=C(()=>((o==null?void 0:o.value)||[]).concat(dF)),l=wt();return C(l?()=>{var n;return Sd(Object.entries((n=l.proxy)==null?void 0:n.$attrs).filter(([a])=>!r.value.includes(a)&&!(t&&pF.test(a))))}:()=>({}))},Lo=({from:e,replacement:t,scope:o,version:r,ref:l,type:n="API"},a)=>{Se(()=>s(a),i=>{},{immediate:!0})},r6=(e,t,o,r)=>{let l={offsetX:0,offsetY:0};const n=c=>{const d=c.clientX,u=c.clientY,{offsetX:p,offsetY:h}=l,v=e.value.getBoundingClientRect(),m=v.left,f=v.top,_=v.width,g=v.height,y=document.documentElement.clientWidth,w=document.documentElement.clientHeight,x=-m+p,$=-f+h,T=y-m-_+p,R=w-f-g+h,P=V=>{let B=p+V.clientX-d,j=h+V.clientY-u;r!=null&&r.value||(B=Math.min(Math.max(B,x),T),j=Math.min(Math.max(j,$),R)),l={offsetX:B,offsetY:j},e.value&&(e.value.style.transform=`translate(${mo(B)}, ${mo(j)})`)},L=()=>{document.removeEventListener("mousemove",P),document.removeEventListener("mouseup",L)};document.addEventListener("mousemove",P),document.addEventListener("mouseup",L)},a=()=>{t.value&&e.value&&t.value.addEventListener("mousedown",n)},i=()=>{t.value&&e.value&&t.value.removeEventListener("mousedown",n)};ft(()=>{Go(()=>{o.value?a():i()})}),to(()=>{i()})};var fF={name:"en",el:{breadcrumb:{label:"Breadcrumb"},colorpicker:{confirm:"OK",clear:"Clear",defaultLabel:"color picker",description:"current color is {color}. press enter to select a new color."},datepicker:{now:"Now",today:"Today",cancel:"Cancel",clear:"Clear",confirm:"OK",dateTablePrompt:"Use the arrow keys and enter to select the day of the month",monthTablePrompt:"Use the arrow keys and enter to select the month",yearTablePrompt:"Use the arrow keys and enter to select the year",selectedDate:"Selected date",selectDate:"Select date",selectTime:"Select time",startDate:"Start Date",startTime:"Start Time",endDate:"End Date",endTime:"End Time",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",year:"",month1:"January",month2:"February",month3:"March",month4:"April",month5:"May",month6:"June",month7:"July",month8:"August",month9:"September",month10:"October",month11:"November",month12:"December",week:"week",weeks:{sun:"Sun",mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",sat:"Sat"},weeksFull:{sun:"Sunday",mon:"Monday",tue:"Tuesday",wed:"Wednesday",thu:"Thursday",fri:"Friday",sat:"Saturday"},months:{jan:"Jan",feb:"Feb",mar:"Mar",apr:"Apr",may:"May",jun:"Jun",jul:"Jul",aug:"Aug",sep:"Sep",oct:"Oct",nov:"Nov",dec:"Dec"}},inputNumber:{decrease:"decrease number",increase:"increase number"},select:{loading:"Loading",noMatch:"No matching data",noData:"No data",placeholder:"Select"},dropdown:{toggleDropdown:"Toggle Dropdown"},cascader:{noMatch:"No matching data",loading:"Loading",placeholder:"Select",noData:"No data"},pagination:{goto:"Go to",pagesize:"/page",total:"Total {total}",pageClassifier:"",page:"Page",prev:"Go to previous page",next:"Go to next page",currentPage:"page {pager}",prevPages:"Previous {pager} pages",nextPages:"Next {pager} pages",deprecationWarning:"Deprecated usages detected, please refer to the el-pagination documentation for more details"},dialog:{close:"Close this dialog"},drawer:{close:"Close this dialog"},messagebox:{title:"Message",confirm:"OK",cancel:"Cancel",error:"Illegal input",close:"Close this dialog"},upload:{deleteTip:"press delete to remove",delete:"Delete",preview:"Preview",continue:"Continue"},slider:{defaultLabel:"slider between {min} and {max}",defaultRangeStartLabel:"pick start value",defaultRangeEndLabel:"pick end value"},table:{emptyText:"No Data",confirmFilter:"Confirm",resetFilter:"Reset",clearFilter:"All",sumText:"Sum"},tour:{next:"Next",previous:"Previous",finish:"Finish"},tree:{emptyText:"No Data"},transfer:{noMatch:"No matching data",noData:"No data",titles:["List 1","List 2"],filterPlaceholder:"Enter keyword",noCheckedFormat:"{total} items",hasCheckedFormat:"{checked}/{total} checked"},image:{error:"FAILED"},pageHeader:{title:"Back"},popconfirm:{confirmButtonText:"Yes",cancelButtonText:"No"},carousel:{leftArrow:"Carousel arrow left",rightArrow:"Carousel arrow right",indicator:"Carousel switch to index {index}"}}};const hF=e=>(t,o)=>vF(t,o,s(e)),vF=(e,t,o)=>wo(o,e,e).replace(/\{(\w+)\}/g,(r,l)=>{var n;return`${(n=t==null?void 0:t[l])!=null?n:`{${l}}`}`}),mF=e=>{const t=C(()=>s(e).name),o=Zt(e)?e:D(e);return{lang:t,locale:o,t:hF(e)}},l6=Symbol("localeContextKey"),Rt=e=>{const t=e||Ge(l6,D());return mF(C(()=>t.value||fF))},gc="el",gF="is-",Ba=(e,t,o,r,l)=>{let n=`${e}-${t}`;return o&&(n+=`-${o}`),r&&(n+=`__${r}`),l&&(n+=`--${l}`),n},n6=Symbol("namespaceContextKey"),Ch=e=>{const t=e||(wt()?Ge(n6,D(gc)):D(gc));return C(()=>s(t)||gc)},ze=(e,t)=>{const o=Ch(t);return{namespace:o,b:(f="")=>Ba(o.value,e,f,"",""),e:f=>f?Ba(o.value,e,"",f,""):"",m:f=>f?Ba(o.value,e,"","",f):"",be:(f,_)=>f&&_?Ba(o.value,e,f,_,""):"",em:(f,_)=>f&&_?Ba(o.value,e,"",f,_):"",bm:(f,_)=>f&&_?Ba(o.value,e,f,"",_):"",bem:(f,_,g)=>f&&_&&g?Ba(o.value,e,f,_,g):"",is:(f,..._)=>{const g=_.length>=1?_[0]:!0;return f&&g?`${gF}${f}`:""},cssVar:f=>{const _={};for(const g in f)f[g]&&(_[`--${o.value}-${g}`]=f[g]);return _},cssVarName:f=>`--${o.value}-${f}`,cssVarBlock:f=>{const _={};for(const g in f)f[g]&&(_[`--${o.value}-${e}-${g}`]=f[g]);return _},cssVarBlockName:f=>`--${o.value}-${e}-${f}`}},Sh=(e,t={})=>{Zt(e)||Io("[useLockscreen]","You need to pass a ref param to this function");const o=t.ns||ze("popup"),r=C(()=>o.bm("parent","hidden"));if(!Nt||Xr(document.body,r.value))return;let l=0,n=!1,a="0";const i=()=>{setTimeout(()=>{ar(document==null?void 0:document.body,r.value),n&&document&&(document.body.style.width=a)},200)};Se(e,c=>{if(!c){i();return}n=!Xr(document.body,r.value),n&&(a=document.body.style.width),l=T3(o.namespace.value);const d=document.documentElement.clientHeight0&&(d||u==="scroll")&&n&&(document.body.style.width=`calc(100% - ${l}px)`),Zr(document.body,r.value)}),kf(()=>i())},bF=vl({type:ue(Boolean),default:null}),_F=vl({type:ue(Function)}),a6=e=>{const t=`update:${e}`,o=`onUpdate:${e}`,r=[t],l={[e]:bF,[o]:_F};return{useModelToggle:({indicator:a,toggleReason:i,shouldHideWhenRouteChanges:c,shouldProceed:d,onShow:u,onHide:p})=>{const h=wt(),{emit:v}=h,m=h.props,f=C(()=>it(m[o])),_=C(()=>m[e]===null),g=R=>{a.value!==!0&&(a.value=!0,i&&(i.value=R),it(u)&&u(R))},y=R=>{a.value!==!1&&(a.value=!1,i&&(i.value=R),it(p)&&p(R))},w=R=>{if(m.disabled===!0||it(d)&&!d())return;const P=f.value&&Nt;P&&v(t,!0),(_.value||!P)&&g(R)},x=R=>{if(m.disabled===!0||!Nt)return;const P=f.value&&Nt;P&&v(t,!1),(_.value||!P)&&y(R)},$=R=>{Co(R)&&(m.disabled&&R?f.value&&v(t,!1):a.value!==R&&(R?g():y()))},T=()=>{a.value?x():w()};return Se(()=>m[e],$),c&&h.appContext.config.globalProperties.$route!==void 0&&Se(()=>({...h.proxy.$route}),()=>{c.value&&a.value&&x()}),ft(()=>{$(m[e])}),{hide:x,show:w,toggle:T,hasUpdateHandler:f}},useModelToggleProps:l,useModelToggleEmits:r}};a6("modelValue");const i6=e=>{const t=wt();return C(()=>{var o,r;return(r=(o=t==null?void 0:t.proxy)==null?void 0:o.$props)==null?void 0:r[e]})};var Ar="top",el="bottom",tl="right",zr="left",Eh="auto",bc=[Ar,el,tl,zr],Bi="start",_c="end",wF="clippingParents",s6="viewport",wc="popper",yF="reference",c6=bc.reduce(function(e,t){return e.concat([t+"-"+Bi,t+"-"+_c])},[]),Va=[].concat(bc,[Eh]).reduce(function(e,t){return e.concat([t,t+"-"+Bi,t+"-"+_c])},[]),xF="beforeRead",kF="read",CF="afterRead",SF="beforeMain",EF="main",TF="afterMain",$F="beforeWrite",MF="write",AF="afterWrite",zF=[xF,kF,CF,SF,EF,TF,$F,MF,AF];function Ll(e){return e?(e.nodeName||"").toLowerCase():null}function ml(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Vi(e){var t=ml(e).Element;return e instanceof t||e instanceof Element}function ol(e){var t=ml(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Th(e){if(typeof ShadowRoot>"u")return!1;var t=ml(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function IF(e){var t=e.state;Object.keys(t.elements).forEach(function(o){var r=t.styles[o]||{},l=t.attributes[o]||{},n=t.elements[o];!ol(n)||!Ll(n)||(Object.assign(n.style,r),Object.keys(l).forEach(function(a){var i=l[a];i===!1?n.removeAttribute(a):n.setAttribute(a,i===!0?"":i)}))})}function OF(e){var t=e.state,o={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,o.popper),t.styles=o,t.elements.arrow&&Object.assign(t.elements.arrow.style,o.arrow),function(){Object.keys(t.elements).forEach(function(r){var l=t.elements[r],n=t.attributes[r]||{},a=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:o[r]),i=a.reduce(function(c,d){return c[d]="",c},{});!ol(l)||!Ll(l)||(Object.assign(l.style,i),Object.keys(n).forEach(function(c){l.removeAttribute(c)}))})}}var u6={name:"applyStyles",enabled:!0,phase:"write",fn:IF,effect:OF,requires:["computeStyles"]};function Bl(e){return e.split("-")[0]}var Da=Math.max,Pd=Math.min,Di=Math.round;function Hi(e,t){t===void 0&&(t=!1);var o=e.getBoundingClientRect(),r=1,l=1;if(ol(e)&&t){var n=e.offsetHeight,a=e.offsetWidth;a>0&&(r=Di(o.width)/a||1),n>0&&(l=Di(o.height)/n||1)}return{width:o.width/r,height:o.height/l,top:o.top/l,right:o.right/r,bottom:o.bottom/l,left:o.left/r,x:o.left/r,y:o.top/l}}function $h(e){var t=Hi(e),o=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-o)<=1&&(o=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:o,height:r}}function d6(e,t){var o=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(o&&Th(o)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function mn(e){return ml(e).getComputedStyle(e)}function NF(e){return["table","td","th"].indexOf(Ll(e))>=0}function ea(e){return((Vi(e)?e.ownerDocument:e.document)||window.document).documentElement}function Rd(e){return Ll(e)==="html"?e:e.assignedSlot||e.parentNode||(Th(e)?e.host:null)||ea(e)}function p6(e){return!ol(e)||mn(e).position==="fixed"?null:e.offsetParent}function PF(e){var t=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1,o=navigator.userAgent.indexOf("Trident")!==-1;if(o&&ol(e)){var r=mn(e);if(r.position==="fixed")return null}var l=Rd(e);for(Th(l)&&(l=l.host);ol(l)&&["html","body"].indexOf(Ll(l))<0;){var n=mn(l);if(n.transform!=="none"||n.perspective!=="none"||n.contain==="paint"||["transform","perspective"].indexOf(n.willChange)!==-1||t&&n.willChange==="filter"||t&&n.filter&&n.filter!=="none")return l;l=l.parentNode}return null}function yc(e){for(var t=ml(e),o=p6(e);o&&NF(o)&&mn(o).position==="static";)o=p6(o);return o&&(Ll(o)==="html"||Ll(o)==="body"&&mn(o).position==="static")?t:o||PF(e)||t}function Mh(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function xc(e,t,o){return Da(e,Pd(t,o))}function RF(e,t,o){var r=xc(e,t,o);return r>o?o:r}function f6(){return{top:0,right:0,bottom:0,left:0}}function h6(e){return Object.assign({},f6(),e)}function v6(e,t){return t.reduce(function(o,r){return o[r]=e,o},{})}var LF=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,h6(typeof e!="number"?e:v6(e,bc))};function BF(e){var t,o=e.state,r=e.name,l=e.options,n=o.elements.arrow,a=o.modifiersData.popperOffsets,i=Bl(o.placement),c=Mh(i),d=[zr,tl].indexOf(i)>=0,u=d?"height":"width";if(!(!n||!a)){var p=LF(l.padding,o),h=$h(n),v=c==="y"?Ar:zr,m=c==="y"?el:tl,f=o.rects.reference[u]+o.rects.reference[c]-a[c]-o.rects.popper[u],_=a[c]-o.rects.reference[c],g=yc(n),y=g?c==="y"?g.clientHeight||0:g.clientWidth||0:0,w=f/2-_/2,x=p[v],$=y-h[u]-p[m],T=y/2-h[u]/2+w,R=xc(x,T,$),P=c;o.modifiersData[r]=(t={},t[P]=R,t.centerOffset=R-T,t)}}function VF(e){var t=e.state,o=e.options,r=o.element,l=r===void 0?"[data-popper-arrow]":r;l!=null&&(typeof l=="string"&&(l=t.elements.popper.querySelector(l),!l)||!d6(t.elements.popper,l)||(t.elements.arrow=l))}var DF={name:"arrow",enabled:!0,phase:"main",fn:BF,effect:VF,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Fi(e){return e.split("-")[1]}var HF={top:"auto",right:"auto",bottom:"auto",left:"auto"};function FF(e){var t=e.x,o=e.y,r=window,l=r.devicePixelRatio||1;return{x:Di(t*l)/l||0,y:Di(o*l)/l||0}}function m6(e){var t,o=e.popper,r=e.popperRect,l=e.placement,n=e.variation,a=e.offsets,i=e.position,c=e.gpuAcceleration,d=e.adaptive,u=e.roundOffsets,p=e.isFixed,h=a.x,v=h===void 0?0:h,m=a.y,f=m===void 0?0:m,_=typeof u=="function"?u({x:v,y:f}):{x:v,y:f};v=_.x,f=_.y;var g=a.hasOwnProperty("x"),y=a.hasOwnProperty("y"),w=zr,x=Ar,$=window;if(d){var T=yc(o),R="clientHeight",P="clientWidth";if(T===ml(o)&&(T=ea(o),mn(T).position!=="static"&&i==="absolute"&&(R="scrollHeight",P="scrollWidth")),T=T,l===Ar||(l===zr||l===tl)&&n===_c){x=el;var L=p&&T===$&&$.visualViewport?$.visualViewport.height:T[R];f-=L-r.height,f*=c?1:-1}if(l===zr||(l===Ar||l===el)&&n===_c){w=tl;var V=p&&T===$&&$.visualViewport?$.visualViewport.width:T[P];v-=V-r.width,v*=c?1:-1}}var B=Object.assign({position:i},d&&HF),j=u===!0?FF({x:v,y:f}):{x:v,y:f};if(v=j.x,f=j.y,c){var te;return Object.assign({},B,(te={},te[x]=y?"0":"",te[w]=g?"0":"",te.transform=($.devicePixelRatio||1)<=1?"translate("+v+"px, "+f+"px)":"translate3d("+v+"px, "+f+"px, 0)",te))}return Object.assign({},B,(t={},t[x]=y?f+"px":"",t[w]=g?v+"px":"",t.transform="",t))}function jF(e){var t=e.state,o=e.options,r=o.gpuAcceleration,l=r===void 0?!0:r,n=o.adaptive,a=n===void 0?!0:n,i=o.roundOffsets,c=i===void 0?!0:i,d={placement:Bl(t.placement),variation:Fi(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:l,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,m6(Object.assign({},d,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:c})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,m6(Object.assign({},d,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:c})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}var g6={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:jF,data:{}},Ld={passive:!0};function KF(e){var t=e.state,o=e.instance,r=e.options,l=r.scroll,n=l===void 0?!0:l,a=r.resize,i=a===void 0?!0:a,c=ml(t.elements.popper),d=[].concat(t.scrollParents.reference,t.scrollParents.popper);return n&&d.forEach(function(u){u.addEventListener("scroll",o.update,Ld)}),i&&c.addEventListener("resize",o.update,Ld),function(){n&&d.forEach(function(u){u.removeEventListener("scroll",o.update,Ld)}),i&&c.removeEventListener("resize",o.update,Ld)}}var b6={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:KF,data:{}},UF={left:"right",right:"left",bottom:"top",top:"bottom"};function Bd(e){return e.replace(/left|right|bottom|top/g,function(t){return UF[t]})}var WF={start:"end",end:"start"};function _6(e){return e.replace(/start|end/g,function(t){return WF[t]})}function Ah(e){var t=ml(e),o=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:o,scrollTop:r}}function zh(e){return Hi(ea(e)).left+Ah(e).scrollLeft}function qF(e){var t=ml(e),o=ea(e),r=t.visualViewport,l=o.clientWidth,n=o.clientHeight,a=0,i=0;return r&&(l=r.width,n=r.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(a=r.offsetLeft,i=r.offsetTop)),{width:l,height:n,x:a+zh(e),y:i}}function YF(e){var t,o=ea(e),r=Ah(e),l=(t=e.ownerDocument)==null?void 0:t.body,n=Da(o.scrollWidth,o.clientWidth,l?l.scrollWidth:0,l?l.clientWidth:0),a=Da(o.scrollHeight,o.clientHeight,l?l.scrollHeight:0,l?l.clientHeight:0),i=-r.scrollLeft+zh(e),c=-r.scrollTop;return mn(l||o).direction==="rtl"&&(i+=Da(o.clientWidth,l?l.clientWidth:0)-n),{width:n,height:a,x:i,y:c}}function Ih(e){var t=mn(e),o=t.overflow,r=t.overflowX,l=t.overflowY;return/auto|scroll|overlay|hidden/.test(o+l+r)}function w6(e){return["html","body","#document"].indexOf(Ll(e))>=0?e.ownerDocument.body:ol(e)&&Ih(e)?e:w6(Rd(e))}function kc(e,t){var o;t===void 0&&(t=[]);var r=w6(e),l=r===((o=e.ownerDocument)==null?void 0:o.body),n=ml(r),a=l?[n].concat(n.visualViewport||[],Ih(r)?r:[]):r,i=t.concat(a);return l?i:i.concat(kc(Rd(a)))}function Oh(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function GF(e){var t=Hi(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}function y6(e,t){return t===s6?Oh(qF(e)):Vi(t)?GF(t):Oh(YF(ea(e)))}function XF(e){var t=kc(Rd(e)),o=["absolute","fixed"].indexOf(mn(e).position)>=0,r=o&&ol(e)?yc(e):e;return Vi(r)?t.filter(function(l){return Vi(l)&&d6(l,r)&&Ll(l)!=="body"}):[]}function ZF(e,t,o){var r=t==="clippingParents"?XF(e):[].concat(t),l=[].concat(r,[o]),n=l[0],a=l.reduce(function(i,c){var d=y6(e,c);return i.top=Da(d.top,i.top),i.right=Pd(d.right,i.right),i.bottom=Pd(d.bottom,i.bottom),i.left=Da(d.left,i.left),i},y6(e,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function x6(e){var t=e.reference,o=e.element,r=e.placement,l=r?Bl(r):null,n=r?Fi(r):null,a=t.x+t.width/2-o.width/2,i=t.y+t.height/2-o.height/2,c;switch(l){case Ar:c={x:a,y:t.y-o.height};break;case el:c={x:a,y:t.y+t.height};break;case tl:c={x:t.x+t.width,y:i};break;case zr:c={x:t.x-o.width,y:i};break;default:c={x:t.x,y:t.y}}var d=l?Mh(l):null;if(d!=null){var u=d==="y"?"height":"width";switch(n){case Bi:c[d]=c[d]-(t[u]/2-o[u]/2);break;case _c:c[d]=c[d]+(t[u]/2-o[u]/2);break}}return c}function Cc(e,t){t===void 0&&(t={});var o=t,r=o.placement,l=r===void 0?e.placement:r,n=o.boundary,a=n===void 0?wF:n,i=o.rootBoundary,c=i===void 0?s6:i,d=o.elementContext,u=d===void 0?wc:d,p=o.altBoundary,h=p===void 0?!1:p,v=o.padding,m=v===void 0?0:v,f=h6(typeof m!="number"?m:v6(m,bc)),_=u===wc?yF:wc,g=e.rects.popper,y=e.elements[h?_:u],w=ZF(Vi(y)?y:y.contextElement||ea(e.elements.popper),a,c),x=Hi(e.elements.reference),$=x6({reference:x,element:g,strategy:"absolute",placement:l}),T=Oh(Object.assign({},g,$)),R=u===wc?T:x,P={top:w.top-R.top+f.top,bottom:R.bottom-w.bottom+f.bottom,left:w.left-R.left+f.left,right:R.right-w.right+f.right},L=e.modifiersData.offset;if(u===wc&&L){var V=L[l];Object.keys(P).forEach(function(B){var j=[tl,el].indexOf(B)>=0?1:-1,te=[Ar,el].indexOf(B)>=0?"y":"x";P[B]+=V[te]*j})}return P}function JF(e,t){t===void 0&&(t={});var o=t,r=o.placement,l=o.boundary,n=o.rootBoundary,a=o.padding,i=o.flipVariations,c=o.allowedAutoPlacements,d=c===void 0?Va:c,u=Fi(r),p=u?i?c6:c6.filter(function(m){return Fi(m)===u}):bc,h=p.filter(function(m){return d.indexOf(m)>=0});h.length===0&&(h=p);var v=h.reduce(function(m,f){return m[f]=Cc(e,{placement:f,boundary:l,rootBoundary:n,padding:a})[Bl(f)],m},{});return Object.keys(v).sort(function(m,f){return v[m]-v[f]})}function QF(e){if(Bl(e)===Eh)return[];var t=Bd(e);return[_6(e),t,_6(t)]}function ej(e){var t=e.state,o=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var l=o.mainAxis,n=l===void 0?!0:l,a=o.altAxis,i=a===void 0?!0:a,c=o.fallbackPlacements,d=o.padding,u=o.boundary,p=o.rootBoundary,h=o.altBoundary,v=o.flipVariations,m=v===void 0?!0:v,f=o.allowedAutoPlacements,_=t.options.placement,g=Bl(_),y=g===_,w=c||(y||!m?[Bd(_)]:QF(_)),x=[_].concat(w).reduce(function(Q,Me){return Q.concat(Bl(Me)===Eh?JF(t,{placement:Me,boundary:u,rootBoundary:p,padding:d,flipVariations:m,allowedAutoPlacements:f}):Me)},[]),$=t.rects.reference,T=t.rects.popper,R=new Map,P=!0,L=x[0],V=0;V=0,Z=J?"width":"height",H=Cc(t,{placement:B,boundary:u,rootBoundary:p,altBoundary:h,padding:d}),F=J?te?tl:zr:te?el:Ar;$[Z]>T[Z]&&(F=Bd(F));var K=Bd(F),I=[];if(n&&I.push(H[j]<=0),i&&I.push(H[F]<=0,H[K]<=0),I.every(function(Q){return Q})){L=B,P=!1;break}R.set(B,I)}if(P)for(var U=m?3:1,oe=function(Q){var Me=x.find(function(de){var _e=R.get(de);if(_e)return _e.slice(0,Q).every(function(me){return me})});if(Me)return L=Me,"break"},ne=U;ne>0;ne--){var ce=oe(ne);if(ce==="break")break}t.placement!==L&&(t.modifiersData[r]._skip=!0,t.placement=L,t.reset=!0)}}var tj={name:"flip",enabled:!0,phase:"main",fn:ej,requiresIfExists:["offset"],data:{_skip:!1}};function k6(e,t,o){return o===void 0&&(o={x:0,y:0}),{top:e.top-t.height-o.y,right:e.right-t.width+o.x,bottom:e.bottom-t.height+o.y,left:e.left-t.width-o.x}}function C6(e){return[Ar,tl,el,zr].some(function(t){return e[t]>=0})}function oj(e){var t=e.state,o=e.name,r=t.rects.reference,l=t.rects.popper,n=t.modifiersData.preventOverflow,a=Cc(t,{elementContext:"reference"}),i=Cc(t,{altBoundary:!0}),c=k6(a,r),d=k6(i,l,n),u=C6(c),p=C6(d);t.modifiersData[o]={referenceClippingOffsets:c,popperEscapeOffsets:d,isReferenceHidden:u,hasPopperEscaped:p},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":p})}var rj={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:oj};function lj(e,t,o){var r=Bl(e),l=[zr,Ar].indexOf(r)>=0?-1:1,n=typeof o=="function"?o(Object.assign({},t,{placement:e})):o,a=n[0],i=n[1];return a=a||0,i=(i||0)*l,[zr,tl].indexOf(r)>=0?{x:i,y:a}:{x:a,y:i}}function nj(e){var t=e.state,o=e.options,r=e.name,l=o.offset,n=l===void 0?[0,0]:l,a=Va.reduce(function(u,p){return u[p]=lj(p,t.rects,n),u},{}),i=a[t.placement],c=i.x,d=i.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=c,t.modifiersData.popperOffsets.y+=d),t.modifiersData[r]=a}var aj={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:nj};function ij(e){var t=e.state,o=e.name;t.modifiersData[o]=x6({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}var S6={name:"popperOffsets",enabled:!0,phase:"read",fn:ij,data:{}};function sj(e){return e==="x"?"y":"x"}function cj(e){var t=e.state,o=e.options,r=e.name,l=o.mainAxis,n=l===void 0?!0:l,a=o.altAxis,i=a===void 0?!1:a,c=o.boundary,d=o.rootBoundary,u=o.altBoundary,p=o.padding,h=o.tether,v=h===void 0?!0:h,m=o.tetherOffset,f=m===void 0?0:m,_=Cc(t,{boundary:c,rootBoundary:d,padding:p,altBoundary:u}),g=Bl(t.placement),y=Fi(t.placement),w=!y,x=Mh(g),$=sj(x),T=t.modifiersData.popperOffsets,R=t.rects.reference,P=t.rects.popper,L=typeof f=="function"?f(Object.assign({},t.rects,{placement:t.placement})):f,V=typeof L=="number"?{mainAxis:L,altAxis:L}:Object.assign({mainAxis:0,altAxis:0},L),B=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,j={x:0,y:0};if(T){if(n){var te,J=x==="y"?Ar:zr,Z=x==="y"?el:tl,H=x==="y"?"height":"width",F=T[x],K=F+_[J],I=F-_[Z],U=v?-P[H]/2:0,oe=y===Bi?R[H]:P[H],ne=y===Bi?-P[H]:-R[H],ce=t.elements.arrow,Q=v&&ce?$h(ce):{width:0,height:0},Me=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:f6(),de=Me[J],_e=Me[Z],me=xc(0,R[H],Q[H]),Re=w?R[H]/2-U-me-de-V.mainAxis:oe-me-de-V.mainAxis,Ce=w?-R[H]/2+U+me+_e+V.mainAxis:ne+me+_e+V.mainAxis,Ee=t.elements.arrow&&yc(t.elements.arrow),De=Ee?x==="y"?Ee.clientTop||0:Ee.clientLeft||0:0,ae=(te=B==null?void 0:B[x])!=null?te:0,pe=F+Re-ae-De,ke=F+Ce-ae,Oe=xc(v?Pd(K,pe):K,F,v?Da(I,ke):I);T[x]=Oe,j[x]=Oe-F}if(i){var we,Te=x==="x"?Ar:zr,Ne=x==="x"?el:tl,Ie=T[$],Ae=$==="y"?"height":"width",xe=Ie+_[Te],We=Ie-_[Ne],qe=[Ar,zr].indexOf(g)!==-1,ye=(we=B==null?void 0:B[$])!=null?we:0,Ye=qe?xe:Ie-R[Ae]-P[Ae]-ye+V.altAxis,tt=qe?Ie+R[Ae]+P[Ae]-ye-V.altAxis:We,pt=v&&qe?RF(Ye,Ie,tt):xc(v?Ye:xe,Ie,v?tt:We);T[$]=pt,j[$]=pt-Ie}t.modifiersData[r]=j}}var uj={name:"preventOverflow",enabled:!0,phase:"main",fn:cj,requiresIfExists:["offset"]};function dj(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function pj(e){return e===ml(e)||!ol(e)?Ah(e):dj(e)}function fj(e){var t=e.getBoundingClientRect(),o=Di(t.width)/e.offsetWidth||1,r=Di(t.height)/e.offsetHeight||1;return o!==1||r!==1}function hj(e,t,o){o===void 0&&(o=!1);var r=ol(t),l=ol(t)&&fj(t),n=ea(t),a=Hi(e,l),i={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(r||!r&&!o)&&((Ll(t)!=="body"||Ih(n))&&(i=pj(t)),ol(t)?(c=Hi(t,!0),c.x+=t.clientLeft,c.y+=t.clientTop):n&&(c.x=zh(n))),{x:a.left+i.scrollLeft-c.x,y:a.top+i.scrollTop-c.y,width:a.width,height:a.height}}function vj(e){var t=new Map,o=new Set,r=[];e.forEach(function(n){t.set(n.name,n)});function l(n){o.add(n.name);var a=[].concat(n.requires||[],n.requiresIfExists||[]);a.forEach(function(i){if(!o.has(i)){var c=t.get(i);c&&l(c)}}),r.push(n)}return e.forEach(function(n){o.has(n.name)||l(n)}),r}function mj(e){var t=vj(e);return zF.reduce(function(o,r){return o.concat(t.filter(function(l){return l.phase===r}))},[])}function gj(e){var t;return function(){return t||(t=new Promise(function(o){Promise.resolve().then(function(){t=void 0,o(e())})})),t}}function bj(e){var t=e.reduce(function(o,r){var l=o[r.name];return o[r.name]=l?Object.assign({},l,r,{options:Object.assign({},l.options,r.options),data:Object.assign({},l.data,r.data)}):r,o},{});return Object.keys(t).map(function(o){return t[o]})}var E6={placement:"bottom",modifiers:[],strategy:"absolute"};function T6(){for(var e=arguments.length,t=new Array(e),o=0;o{const r={name:"updateState",enabled:!0,phase:"write",fn:({state:c})=>{const d=kj(c);Object.assign(a.value,d)},requires:["computeStyles"]},l=C(()=>{const{onFirstUpdate:c,placement:d,strategy:u,modifiers:p}=s(o);return{onFirstUpdate:c,placement:d||"bottom",strategy:u||"absolute",modifiers:[...p||[],r,{name:"applyStyles",enabled:!1}]}}),n=lo(),a=D({styles:{popper:{position:s(l).strategy,left:"0",top:"0"},arrow:{position:"absolute"}},attributes:{}}),i=()=>{n.value&&(n.value.destroy(),n.value=void 0)};return Se(l,c=>{const d=s(n);d&&d.setOptions(c)},{deep:!0}),Se([e,t],([c,d])=>{i(),!(!c||!d)&&(n.value=yj(c,d,s(l)))}),to(()=>{i()}),{state:C(()=>{var c;return{...((c=s(n))==null?void 0:c.state)||{}}}),styles:C(()=>s(a).styles),attributes:C(()=>s(a).attributes),update:()=>{var c;return(c=s(n))==null?void 0:c.update()},forceUpdate:()=>{var c;return(c=s(n))==null?void 0:c.forceUpdate()},instanceRef:C(()=>s(n))}};function kj(e){const t=Object.keys(e.elements),o=Sd(t.map(l=>[l,e.styles[l]||{}])),r=Sd(t.map(l=>[l,e.attributes[l]]));return{styles:o,attributes:r}}const Ph=e=>{if(!e)return{onClick:Wt,onMousedown:Wt,onMouseup:Wt};let t=!1,o=!1;return{onClick:a=>{t&&o&&e(a),t=o=!1},onMousedown:a=>{t=a.target===a.currentTarget},onMouseup:a=>{o=a.target===a.currentTarget}}},Cj=(e,t=0)=>{if(t===0)return e;const o=D(!1);let r=0;const l=()=>{r&&clearTimeout(r),r=window.setTimeout(()=>{o.value=e.value},t)};return ft(l),Se(()=>e.value,n=>{n?l():o.value=n}),o};function $6(){let e;const t=(r,l)=>{o(),e=window.setTimeout(r,l)},o=()=>window.clearTimeout(e);return rc(()=>o()),{registerTimeout:t,cancelTimeout:o}}const M6={prefix:Math.floor(Math.random()*1e4),current:0},Sj=Symbol("elIdInjection"),Rh=()=>wt()?Ge(Sj,M6):M6,Qo=e=>{const t=Rh(),o=Ch();return C(()=>s(e)||`${o.value}-id-${t.prefix}-${t.current++}`)};let ji=[];const A6=e=>{const t=e;t.key===lt.esc&&ji.forEach(o=>o(t))},Ej=e=>{ft(()=>{ji.length===0&&document.addEventListener("keydown",A6),Nt&&ji.push(e)}),to(()=>{ji=ji.filter(t=>t!==e),ji.length===0&&Nt&&document.removeEventListener("keydown",A6)})};let z6;const I6=()=>{const e=Ch(),t=Rh(),o=C(()=>`${e.value}-popper-container-${t.prefix}`),r=C(()=>`#${o.value}`);return{id:o,selector:r}},Tj=e=>{const t=document.createElement("div");return t.id=e,document.body.appendChild(t),t},$j=()=>{const{id:e,selector:t}=I6();return Pu(()=>{Nt&&!z6&&!document.body.querySelector(t.value)&&(z6=Tj(e.value))}),{id:e,selector:t}},Mj=Pe({showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0}}),Aj=({showAfter:e,hideAfter:t,autoClose:o,open:r,close:l})=>{const{registerTimeout:n}=$6(),{registerTimeout:a,cancelTimeout:i}=$6();return{onOpen:u=>{n(()=>{r(u);const p=s(o);st(p)&&p>0&&a(()=>{l(u)},p)},s(e))},onClose:u=>{i(),n(()=>{l(u)},s(t))}}},O6=Symbol("elForwardRef"),zj=e=>{zt(O6,{setForwardRef:o=>{e.value=o}})},Ij=e=>({mounted(t){e(t)},updated(t){e(t)},unmounted(){e(null)}}),N6={current:0},P6=D(0),R6=2e3,L6=Symbol("elZIndexContextKey"),B6=Symbol("zIndexContextKey"),Ki=e=>{const t=wt()?Ge(L6,N6):N6,o=e||(wt()?Ge(B6,void 0):void 0),r=C(()=>{const a=s(o);return st(a)?a:R6}),l=C(()=>r.value+P6.value),n=()=>(t.current++,P6.value=t.current,l.value);return!Nt&&Ge(L6),{initialZIndex:r,currentZIndex:l,nextZIndex:n}},Ui=Math.min,Ha=Math.max,Vd=Math.round,Dd=Math.floor,ta=e=>({x:e,y:e}),Oj={left:"right",right:"left",bottom:"top",top:"bottom"},Nj={start:"end",end:"start"};function Lh(e,t,o){return Ha(e,Ui(t,o))}function Sc(e,t){return typeof e=="function"?e(t):e}function Fa(e){return e.split("-")[0]}function Ec(e){return e.split("-")[1]}function V6(e){return e==="x"?"y":"x"}function Bh(e){return e==="y"?"height":"width"}function Wi(e){return["top","bottom"].includes(Fa(e))?"y":"x"}function Vh(e){return V6(Wi(e))}function Pj(e,t,o){o===void 0&&(o=!1);const r=Ec(e),l=Vh(e),n=Bh(l);let a=l==="x"?r===(o?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[n]>t.floating[n]&&(a=Hd(a)),[a,Hd(a)]}function Rj(e){const t=Hd(e);return[Dh(e),t,Dh(t)]}function Dh(e){return e.replace(/start|end/g,t=>Nj[t])}function Lj(e,t,o){const r=["left","right"],l=["right","left"],n=["top","bottom"],a=["bottom","top"];switch(e){case"top":case"bottom":return o?t?l:r:t?r:l;case"left":case"right":return t?n:a;default:return[]}}function Bj(e,t,o,r){const l=Ec(e);let n=Lj(Fa(e),o==="start",r);return l&&(n=n.map(a=>a+"-"+l),t&&(n=n.concat(n.map(Dh)))),n}function Hd(e){return e.replace(/left|right|bottom|top/g,t=>Oj[t])}function Vj(e){return{top:0,right:0,bottom:0,left:0,...e}}function D6(e){return typeof e!="number"?Vj(e):{top:e,right:e,bottom:e,left:e}}function Fd(e){const{x:t,y:o,width:r,height:l}=e;return{width:r,height:l,top:o,left:t,right:t+r,bottom:o+l,x:t,y:o}}function H6(e,t,o){let{reference:r,floating:l}=e;const n=Wi(t),a=Vh(t),i=Bh(a),c=Fa(t),d=n==="y",u=r.x+r.width/2-l.width/2,p=r.y+r.height/2-l.height/2,h=r[i]/2-l[i]/2;let v;switch(c){case"top":v={x:u,y:r.y-l.height};break;case"bottom":v={x:u,y:r.y+r.height};break;case"right":v={x:r.x+r.width,y:p};break;case"left":v={x:r.x-l.width,y:p};break;default:v={x:r.x,y:r.y}}switch(Ec(t)){case"start":v[a]-=h*(o&&d?-1:1);break;case"end":v[a]+=h*(o&&d?-1:1);break}return v}const Dj=async(e,t,o)=>{const{placement:r="bottom",strategy:l="absolute",middleware:n=[],platform:a}=o,i=n.filter(Boolean),c=await(a.isRTL==null?void 0:a.isRTL(t));let d=await a.getElementRects({reference:e,floating:t,strategy:l}),{x:u,y:p}=H6(d,r,c),h=r,v={},m=0;for(let f=0;f({name:"arrow",options:e,async fn(t){const{x:o,y:r,placement:l,rects:n,platform:a,elements:i,middlewareData:c}=t,{element:d,padding:u=0}=Sc(e,t)||{};if(d==null)return{};const p=D6(u),h={x:o,y:r},v=Vh(l),m=Bh(v),f=await a.getDimensions(d),_=v==="y",g=_?"top":"left",y=_?"bottom":"right",w=_?"clientHeight":"clientWidth",x=n.reference[m]+n.reference[v]-h[v]-n.floating[m],$=h[v]-n.reference[v],T=await(a.getOffsetParent==null?void 0:a.getOffsetParent(d));let R=T?T[w]:0;(!R||!await(a.isElement==null?void 0:a.isElement(T)))&&(R=i.floating[w]||n.floating[m]);const P=x/2-$/2,L=R/2-f[m]/2-1,V=Ui(p[g],L),B=Ui(p[y],L),j=V,te=R-f[m]-B,J=R/2-f[m]/2+P,Z=Lh(j,J,te),H=!c.arrow&&Ec(l)!=null&&J!==Z&&n.reference[m]/2-(JJ<=0)){var B,j;const J=(((B=n.flip)==null?void 0:B.index)||0)+1,Z=R[J];if(Z)return{data:{index:J,overflows:V},reset:{placement:Z}};let H=(j=V.filter(F=>F.overflows[0]<=0).sort((F,K)=>F.overflows[1]-K.overflows[1])[0])==null?void 0:j.placement;if(!H)switch(v){case"bestFit":{var te;const F=(te=V.filter(K=>{if(T){const I=Wi(K.placement);return I===y||I==="y"}return!0}).map(K=>[K.placement,K.overflows.filter(I=>I>0).reduce((I,U)=>I+U,0)]).sort((K,I)=>K[1]-I[1])[0])==null?void 0:te[0];F&&(H=F);break}case"initialPlacement":H=i;break}if(l!==H)return{reset:{placement:H}}}return{}}}};async function jj(e,t){const{placement:o,platform:r,elements:l}=e,n=await(r.isRTL==null?void 0:r.isRTL(l.floating)),a=Fa(o),i=Ec(o),c=Wi(o)==="y",d=["left","top"].includes(a)?-1:1,u=n&&c?-1:1,p=Sc(t,e);let{mainAxis:h,crossAxis:v,alignmentAxis:m}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...p};return i&&typeof m=="number"&&(v=i==="end"?m*-1:m),c?{x:v*u,y:h*d}:{x:h*d,y:v*u}}const Kj=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var o,r;const{x:l,y:n,placement:a,middlewareData:i}=t,c=await jj(t,e);return a===((o=i.offset)==null?void 0:o.placement)&&(r=i.arrow)!=null&&r.alignmentOffset?{}:{x:l+c.x,y:n+c.y,data:{...c,placement:a}}}}},Uj=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:o,y:r,placement:l}=t,{mainAxis:n=!0,crossAxis:a=!1,limiter:i={fn:_=>{let{x:g,y}=_;return{x:g,y}}},...c}=Sc(e,t),d={x:o,y:r},u=await Hh(t,c),p=Wi(Fa(l)),h=V6(p);let v=d[h],m=d[p];if(n){const _=h==="y"?"top":"left",g=h==="y"?"bottom":"right",y=v+u[_],w=v-u[g];v=Lh(y,v,w)}if(a){const _=p==="y"?"top":"left",g=p==="y"?"bottom":"right",y=m+u[_],w=m-u[g];m=Lh(y,m,w)}const f=i.fn({...t,[h]:v,[p]:m});return{...f,data:{x:f.x-o,y:f.y-r}}}}};function qi(e){return F6(e)?(e.nodeName||"").toLowerCase():"#document"}function Br(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function gn(e){var t;return(t=(F6(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function F6(e){return e instanceof Node||e instanceof Br(e).Node}function Vl(e){return e instanceof Element||e instanceof Br(e).Element}function Dl(e){return e instanceof HTMLElement||e instanceof Br(e).HTMLElement}function j6(e){return typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Br(e).ShadowRoot}function Tc(e){const{overflow:t,overflowX:o,overflowY:r,display:l}=gl(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+o)&&!["inline","contents"].includes(l)}function Wj(e){return["table","td","th"].includes(qi(e))}function jd(e){return[":popover-open",":modal"].some(t=>{try{return e.matches(t)}catch{return!1}})}function Fh(e){const t=jh(),o=gl(e);return o.transform!=="none"||o.perspective!=="none"||(o.containerType?o.containerType!=="normal":!1)||!t&&(o.backdropFilter?o.backdropFilter!=="none":!1)||!t&&(o.filter?o.filter!=="none":!1)||["transform","perspective","filter"].some(r=>(o.willChange||"").includes(r))||["paint","layout","strict","content"].some(r=>(o.contain||"").includes(r))}function qj(e){let t=oa(e);for(;Dl(t)&&!Yi(t);){if(jd(t))return null;if(Fh(t))return t;t=oa(t)}return null}function jh(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function Yi(e){return["html","body","#document"].includes(qi(e))}function gl(e){return Br(e).getComputedStyle(e)}function Kd(e){return Vl(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function oa(e){if(qi(e)==="html")return e;const t=e.assignedSlot||e.parentNode||j6(e)&&e.host||gn(e);return j6(t)?t.host:t}function K6(e){const t=oa(e);return Yi(t)?e.ownerDocument?e.ownerDocument.body:e.body:Dl(t)&&Tc(t)?t:K6(t)}function $c(e,t,o){var r;t===void 0&&(t=[]),o===void 0&&(o=!0);const l=K6(e),n=l===((r=e.ownerDocument)==null?void 0:r.body),a=Br(l);return n?t.concat(a,a.visualViewport||[],Tc(l)?l:[],a.frameElement&&o?$c(a.frameElement):[]):t.concat(l,$c(l,[],o))}function U6(e){const t=gl(e);let o=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const l=Dl(e),n=l?e.offsetWidth:o,a=l?e.offsetHeight:r,i=Vd(o)!==n||Vd(r)!==a;return i&&(o=n,r=a),{width:o,height:r,$:i}}function Kh(e){return Vl(e)?e:e.contextElement}function Gi(e){const t=Kh(e);if(!Dl(t))return ta(1);const o=t.getBoundingClientRect(),{width:r,height:l,$:n}=U6(t);let a=(n?Vd(o.width):o.width)/r,i=(n?Vd(o.height):o.height)/l;return(!a||!Number.isFinite(a))&&(a=1),(!i||!Number.isFinite(i))&&(i=1),{x:a,y:i}}const Yj=ta(0);function W6(e){const t=Br(e);return!jh()||!t.visualViewport?Yj:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Gj(e,t,o){return t===void 0&&(t=!1),!o||t&&o!==Br(e)?!1:t}function ja(e,t,o,r){t===void 0&&(t=!1),o===void 0&&(o=!1);const l=e.getBoundingClientRect(),n=Kh(e);let a=ta(1);t&&(r?Vl(r)&&(a=Gi(r)):a=Gi(e));const i=Gj(n,o,r)?W6(n):ta(0);let c=(l.left+i.x)/a.x,d=(l.top+i.y)/a.y,u=l.width/a.x,p=l.height/a.y;if(n){const h=Br(n),v=r&&Vl(r)?Br(r):r;let m=h,f=m.frameElement;for(;f&&r&&v!==m;){const _=Gi(f),g=f.getBoundingClientRect(),y=gl(f),w=g.left+(f.clientLeft+parseFloat(y.paddingLeft))*_.x,x=g.top+(f.clientTop+parseFloat(y.paddingTop))*_.y;c*=_.x,d*=_.y,u*=_.x,p*=_.y,c+=w,d+=x,m=Br(f),f=m.frameElement}}return Fd({width:u,height:p,x:c,y:d})}function Xj(e){let{elements:t,rect:o,offsetParent:r,strategy:l}=e;const n=l==="fixed",a=gn(r),i=t?jd(t.floating):!1;if(r===a||i&&n)return o;let c={scrollLeft:0,scrollTop:0},d=ta(1);const u=ta(0),p=Dl(r);if((p||!p&&!n)&&((qi(r)!=="body"||Tc(a))&&(c=Kd(r)),Dl(r))){const h=ja(r);d=Gi(r),u.x=h.x+r.clientLeft,u.y=h.y+r.clientTop}return{width:o.width*d.x,height:o.height*d.y,x:o.x*d.x-c.scrollLeft*d.x+u.x,y:o.y*d.y-c.scrollTop*d.y+u.y}}function Zj(e){return Array.from(e.getClientRects())}function q6(e){return ja(gn(e)).left+Kd(e).scrollLeft}function Jj(e){const t=gn(e),o=Kd(e),r=e.ownerDocument.body,l=Ha(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),n=Ha(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let a=-o.scrollLeft+q6(e);const i=-o.scrollTop;return gl(r).direction==="rtl"&&(a+=Ha(t.clientWidth,r.clientWidth)-l),{width:l,height:n,x:a,y:i}}function Qj(e,t){const o=Br(e),r=gn(e),l=o.visualViewport;let n=r.clientWidth,a=r.clientHeight,i=0,c=0;if(l){n=l.width,a=l.height;const d=jh();(!d||d&&t==="fixed")&&(i=l.offsetLeft,c=l.offsetTop)}return{width:n,height:a,x:i,y:c}}function eK(e,t){const o=ja(e,!0,t==="fixed"),r=o.top+e.clientTop,l=o.left+e.clientLeft,n=Dl(e)?Gi(e):ta(1),a=e.clientWidth*n.x,i=e.clientHeight*n.y,c=l*n.x,d=r*n.y;return{width:a,height:i,x:c,y:d}}function Y6(e,t,o){let r;if(t==="viewport")r=Qj(e,o);else if(t==="document")r=Jj(gn(e));else if(Vl(t))r=eK(t,o);else{const l=W6(e);r={...t,x:t.x-l.x,y:t.y-l.y}}return Fd(r)}function G6(e,t){const o=oa(e);return o===t||!Vl(o)||Yi(o)?!1:gl(o).position==="fixed"||G6(o,t)}function tK(e,t){const o=t.get(e);if(o)return o;let r=$c(e,[],!1).filter(i=>Vl(i)&&qi(i)!=="body"),l=null;const n=gl(e).position==="fixed";let a=n?oa(e):e;for(;Vl(a)&&!Yi(a);){const i=gl(a),c=Fh(a);!c&&i.position==="fixed"&&(l=null),(n?!c&&!l:!c&&i.position==="static"&&!!l&&["absolute","fixed"].includes(l.position)||Tc(a)&&!c&&G6(e,a))?r=r.filter(u=>u!==a):l=i,a=oa(a)}return t.set(e,r),r}function oK(e){let{element:t,boundary:o,rootBoundary:r,strategy:l}=e;const a=[...o==="clippingAncestors"?jd(t)?[]:tK(t,this._c):[].concat(o),r],i=a[0],c=a.reduce((d,u)=>{const p=Y6(t,u,l);return d.top=Ha(p.top,d.top),d.right=Ui(p.right,d.right),d.bottom=Ui(p.bottom,d.bottom),d.left=Ha(p.left,d.left),d},Y6(t,i,l));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}}function rK(e){const{width:t,height:o}=U6(e);return{width:t,height:o}}function lK(e,t,o){const r=Dl(t),l=gn(t),n=o==="fixed",a=ja(e,!0,n,t);let i={scrollLeft:0,scrollTop:0};const c=ta(0);if(r||!r&&!n)if((qi(t)!=="body"||Tc(l))&&(i=Kd(t)),r){const p=ja(t,!0,n,t);c.x=p.x+t.clientLeft,c.y=p.y+t.clientTop}else l&&(c.x=q6(l));const d=a.left+i.scrollLeft-c.x,u=a.top+i.scrollTop-c.y;return{x:d,y:u,width:a.width,height:a.height}}function Uh(e){return gl(e).position==="static"}function X6(e,t){return!Dl(e)||gl(e).position==="fixed"?null:t?t(e):e.offsetParent}function Z6(e,t){const o=Br(e);if(jd(e))return o;if(!Dl(e)){let l=oa(e);for(;l&&!Yi(l);){if(Vl(l)&&!Uh(l))return l;l=oa(l)}return o}let r=X6(e,t);for(;r&&Wj(r)&&Uh(r);)r=X6(r,t);return r&&Yi(r)&&Uh(r)&&!Fh(r)?o:r||qj(e)||o}const nK=async function(e){const t=this.getOffsetParent||Z6,o=this.getDimensions,r=await o(e.floating);return{reference:lK(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function aK(e){return gl(e).direction==="rtl"}const iK={convertOffsetParentRelativeRectToViewportRelativeRect:Xj,getDocumentElement:gn,getClippingRect:oK,getOffsetParent:Z6,getElementRects:nK,getClientRects:Zj,getDimensions:rK,getScale:Gi,isElement:Vl,isRTL:aK};function sK(e,t){let o=null,r;const l=gn(e);function n(){var i;clearTimeout(r),(i=o)==null||i.disconnect(),o=null}function a(i,c){i===void 0&&(i=!1),c===void 0&&(c=1),n();const{left:d,top:u,width:p,height:h}=e.getBoundingClientRect();if(i||t(),!p||!h)return;const v=Dd(u),m=Dd(l.clientWidth-(d+p)),f=Dd(l.clientHeight-(u+h)),_=Dd(d),y={rootMargin:-v+"px "+-m+"px "+-f+"px "+-_+"px",threshold:Ha(0,Ui(1,c))||1};let w=!0;function x($){const T=$[0].intersectionRatio;if(T!==c){if(!w)return a();T?a(!1,T):r=setTimeout(()=>{a(!1,1e-7)},1e3)}w=!1}try{o=new IntersectionObserver(x,{...y,root:l.ownerDocument})}catch{o=new IntersectionObserver(x,y)}o.observe(e)}return a(!0),n}function cK(e,t,o,r){r===void 0&&(r={});const{ancestorScroll:l=!0,ancestorResize:n=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:i=typeof IntersectionObserver=="function",animationFrame:c=!1}=r,d=Kh(e),u=l||n?[...d?$c(d):[],...$c(t)]:[];u.forEach(g=>{l&&g.addEventListener("scroll",o,{passive:!0}),n&&g.addEventListener("resize",o)});const p=d&&i?sK(d,o):null;let h=-1,v=null;a&&(v=new ResizeObserver(g=>{let[y]=g;y&&y.target===d&&v&&(v.unobserve(t),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var w;(w=v)==null||w.observe(t)})),o()}),d&&!c&&v.observe(d),v.observe(t));let m,f=c?ja(e):null;c&&_();function _(){const g=ja(e);f&&(g.x!==f.x||g.y!==f.y||g.width!==f.width||g.height!==f.height)&&o(),f=g,m=requestAnimationFrame(_)}return o(),()=>{var g;u.forEach(y=>{l&&y.removeEventListener("scroll",o),n&&y.removeEventListener("resize",o)}),p==null||p(),(g=v)==null||g.disconnect(),v=null,c&&cancelAnimationFrame(m)}}const uK=Hh,J6=Kj,dK=Uj,pK=Fj,Q6=Hj,e4=(e,t,o)=>{const r=new Map,l={platform:iK,...o},n={...l.platform,_c:r};return Dj(e,t,{...l,platform:n})};Pe({});const fK=e=>{if(!Nt)return;if(!e)return e;const t=$r(e);return t||(Zt(e)?t:e)},hK=({middleware:e,placement:t,strategy:o})=>{const r=D(),l=D(),n=D(),a=D(),i=D({}),c={x:n,y:a,placement:t,strategy:o,middlewareData:i},d=async()=>{if(!Nt)return;const u=fK(r),p=$r(l);if(!u||!p)return;const h=await e4(u,p,{placement:s(t),strategy:s(o),middleware:s(e)});Ri(c).forEach(v=>{c[v].value=h[v]})};return ft(()=>{Go(()=>{d()})}),{...c,update:d,referenceRef:r,contentRef:l}},vK=({arrowRef:e,padding:t})=>({name:"arrow",options:{element:e,padding:t},fn(o){const r=s(e);return r?Q6({element:r,padding:t}).fn(o):{}}});function mK(e){const t=D();function o(){if(e.value==null)return;const{selectionStart:l,selectionEnd:n,value:a}=e.value;if(l==null||n==null)return;const i=a.slice(0,Math.max(0,l)),c=a.slice(Math.max(0,n));t.value={selectionStart:l,selectionEnd:n,value:a,beforeTxt:i,afterTxt:c}}function r(){if(e.value==null||t.value==null)return;const{value:l}=e.value,{beforeTxt:n,afterTxt:a,selectionStart:i}=t.value;if(n==null||a==null||i==null)return;let c=l.length;if(l.endsWith(a))c=l.length-a.length;else if(l.startsWith(n))c=n.length;else{const d=n[i-1],u=l.indexOf(d,i-1);u!==-1&&(c=u+1)}e.value.setSelectionRange(c,c)}return[o,r]}const gK=(e,t,o)=>Qn(e.subTree).filter(n=>{var a;return io(n)&&((a=n.type)==null?void 0:a.name)===t&&!!n.component}).map(n=>n.component.uid).map(n=>o[n]).filter(n=>!!n),Wh=(e,t)=>{const o={},r=lo([]);return{children:r,addChild:a=>{o[a.uid]=a,r.value=gK(e,t,o)},removeChild:a=>{delete o[a],r.value=r.value.filter(i=>i.uid!==a)}}},Oo=vl({type:String,values:Rl,required:!1}),t4=Symbol("size"),bK=()=>{const e=Ge(t4,{});return C(()=>s(e.size)||"")};function Ud(e,{afterFocus:t,beforeBlur:o,afterBlur:r}={}){const l=wt(),{emit:n}=l,a=lo(),i=D(!1),c=p=>{i.value||(i.value=!0,n("focus",p),t==null||t())},d=p=>{var h;it(o)&&o(p)||p.relatedTarget&&((h=a.value)!=null&&h.contains(p.relatedTarget))||(i.value=!1,n("blur",p),r==null||r())},u=()=>{var p;(p=e.value)==null||p.focus()};return Se(a,p=>{p&&p.setAttribute("tabindex","-1")}),oo(a,"click",u),{wrapperRef:a,isFocused:i,handleFocus:c,handleBlur:d}}const _K=["",void 0,null],wK=void 0,Xi=Pe({emptyValues:Array,valueOnClear:{type:[String,Number,Boolean,Function],default:void 0,validator:e=>it(e)?!e():!e}}),Wd=(e,t)=>{let o=Mc();o.value||(o=D({}));const r=C(()=>e.emptyValues||o.value.emptyValues||_K),l=C(()=>it(e.valueOnClear)?e.valueOnClear():e.valueOnClear!==void 0?e.valueOnClear:it(o.value.valueOnClear)?o.value.valueOnClear():o.value.valueOnClear!==void 0?o.value.valueOnClear:t!==void 0?t:wK),n=a=>r.value.includes(a);return r.value.includes(l.value),{emptyValues:r,valueOnClear:l,isEmptyValue:n}},yK=Pe({ariaLabel:String,ariaOrientation:{type:String,values:["horizontal","vertical","undefined"]},ariaControls:String}),Zo=e=>Ol(yK,e),o4=Symbol(),qd=D();function Mc(e,t=void 0){const o=wt()?Ge(o4,qd):qd;return e?C(()=>{var r,l;return(l=(r=o.value)==null?void 0:r[e])!=null?l:t}):o}function Yd(e,t){const o=Mc(),r=ze(e,C(()=>{var i;return((i=o.value)==null?void 0:i.namespace)||gc})),l=Rt(C(()=>{var i;return(i=o.value)==null?void 0:i.locale})),n=Ki(C(()=>{var i;return((i=o.value)==null?void 0:i.zIndex)||R6})),a=C(()=>{var i;return s(t)||((i=o.value)==null?void 0:i.size)||""});return qh(C(()=>s(o)||{})),{ns:r,locale:l,zIndex:n,size:a}}const qh=(e,t,o=!1)=>{var r;const l=!!wt(),n=l?Mc():void 0,a=(r=t==null?void 0:t.provide)!=null?r:l?zt:void 0;if(!a)return;const i=C(()=>{const c=s(e);return n!=null&&n.value?xK(n.value,c):c});return a(o4,i),a(l6,C(()=>i.value.locale)),a(n6,C(()=>i.value.namespace)),a(B6,C(()=>i.value.zIndex)),a(t4,{size:C(()=>i.value.size||"")}),(o||!qd.value)&&(qd.value=i.value),i},xK=(e,t)=>{const o=[...new Set([...Ri(e),...Ri(t)])],r={};for(const l of o)r[l]=t[l]!==void 0?t[l]:e[l];return r},kK=Pe({a11y:{type:Boolean,default:!0},locale:{type:ue(Object)},size:Oo,button:{type:ue(Object)},experimentalFeatures:{type:ue(Object)},keyboardNavigation:{type:Boolean,default:!0},message:{type:ue(Object)},zIndex:Number,namespace:{type:String,default:"el"},...Xi}),Yh={},CK=yt(N({name:"ElConfigProvider",props:kK,setup(e,{slots:t}){Se(()=>e.message,r=>{Object.assign(Yh,r??{})},{immediate:!0,deep:!0});const o=qh(e);return()=>be(t,"default",{config:o==null?void 0:o.value})}})),SK="2.7.6",EK=(e=[])=>({version:SK,install:(o,r)=>{o[e6]||(o[e6]=!0,e.forEach(l=>o.use(l)),r&&qh(r,o,!0))}}),TK=Pe({zIndex:{type:ue([Number,String]),default:100},target:{type:String,default:""},offset:{type:Number,default:0},position:{type:String,values:["top","bottom"],default:"top"}}),$K={scroll:({scrollTop:e,fixed:t})=>st(e)&&Co(t),[ro]:e=>Co(e)};var Le=(e,t)=>{const o=e.__vccOpts||e;for(const[r,l]of t)o[r]=l;return o};const r4="ElAffix",MK=N({...N({name:r4}),props:TK,emits:$K,setup(e,{expose:t,emit:o}){const r=e,l=ze("affix"),n=lo(),a=lo(),i=lo(),{height:c}=bE(),{height:d,width:u,top:p,bottom:h,update:v}=e_(a,{windowScroll:!1}),m=e_(n),f=D(!1),_=D(0),g=D(0),y=C(()=>({height:f.value?`${d.value}px`:"",width:f.value?`${u.value}px`:""})),w=C(()=>{if(!f.value)return{};const T=r.offset?mo(r.offset):0;return{height:`${d.value}px`,width:`${u.value}px`,top:r.position==="top"?T:"",bottom:r.position==="bottom"?T:"",transform:g.value?`translateY(${g.value}px)`:"",zIndex:r.zIndex}}),x=()=>{if(i.value)if(_.value=i.value instanceof Window?document.documentElement.scrollTop:i.value.scrollTop||0,r.position==="top")if(r.target){const T=m.bottom.value-r.offset-d.value;f.value=r.offset>p.value&&m.bottom.value>0,g.value=T<0?T:0}else f.value=r.offset>p.value;else if(r.target){const T=c.value-m.top.value-r.offset-d.value;f.value=c.value-r.offsetm.top.value,g.value=T<0?-T:0}else f.value=c.value-r.offset{v(),o("scroll",{scrollTop:_.value,fixed:f.value})};return Se(f,T=>o("change",T)),ft(()=>{var T;r.target?(n.value=(T=document.querySelector(r.target))!=null?T:void 0,n.value||Io(r4,`Target does not exist: ${r.target}`)):n.value=document.documentElement,i.value=uh(a.value,!0),v()}),oo(i,"scroll",$),Go(x),t({update:x,updateRoot:v}),(T,R)=>(b(),M("div",{ref_key:"root",ref:a,class:O(s(l).b()),style:Je(s(y))},[E("div",{class:O({[s(l).m("fixed")]:f.value}),style:Je(s(w))},[be(T.$slots,"default")],6)],6))}});var AK=Le(MK,[["__file","affix.vue"]]);const zK=yt(AK),IK=Pe({size:{type:ue([Number,String])},color:{type:String}}),OK=N({...N({name:"ElIcon",inheritAttrs:!1}),props:IK,setup(e){const t=e,o=ze("icon"),r=C(()=>{const{size:l,color:n}=t;return!l&&!n?{}:{fontSize:ko(l)?void 0:mo(l),"--color":n}});return(l,n)=>(b(),M("i",Mt({class:s(o).b(),style:s(r)},l.$attrs),[be(l.$slots,"default")],16))}});var NK=Le(OK,[["__file","icon.vue"]]);const Ze=yt(NK),PK=["light","dark"],RK=Pe({title:{type:String,default:""},description:{type:String,default:""},type:{type:String,values:Ri(Jn),default:"info"},closable:{type:Boolean,default:!0},closeText:{type:String,default:""},showIcon:Boolean,center:Boolean,effect:{type:String,values:PK,default:"light"}}),LK=N({...N({name:"ElAlert"}),props:RK,emits:{close:e=>e instanceof MouseEvent},setup(e,{emit:t}){const o=e,{Close:r}=bh,l=Do(),n=ze("alert"),a=D(!0),i=C(()=>Jn[o.type]),c=C(()=>[n.e("icon"),{[n.is("big")]:!!o.description||!!l.default}]),d=C(()=>({"with-description":o.description||l.default})),u=p=>{a.value=!1,t("close",p)};return(p,h)=>(b(),he(Mo,{name:s(n).b("fade"),persisted:""},{default:le(()=>[mt(E("div",{class:O([s(n).b(),s(n).m(p.type),s(n).is("center",p.center),s(n).is(p.effect)]),role:"alert"},[p.showIcon&&s(i)?(b(),he(s(Ze),{key:0,class:O(s(c))},{default:le(()=>[(b(),he(Et(s(i))))]),_:1},8,["class"])):se("v-if",!0),E("div",{class:O(s(n).e("content"))},[p.title||p.$slots.title?(b(),M("span",{key:0,class:O([s(n).e("title"),s(d)])},[be(p.$slots,"title",{},()=>[Ct($e(p.title),1)])],2)):se("v-if",!0),p.$slots.default||p.description?(b(),M("p",{key:1,class:O(s(n).e("description"))},[be(p.$slots,"default",{},()=>[Ct($e(p.description),1)])],2)):se("v-if",!0),p.closable?(b(),M(Qe,{key:2},[p.closeText?(b(),M("div",{key:0,class:O([s(n).e("close-btn"),s(n).is("customed")]),onClick:u},$e(p.closeText),3)):(b(),he(s(Ze),{key:1,class:O(s(n).e("close-btn")),onClick:u},{default:le(()=>[ee(s(r))]),_:1},8,["class"]))],64)):se("v-if",!0)],2)],2),[[Lt,a.value]])]),_:3},8,["name"]))}});var BK=Le(LK,[["__file","alert.vue"]]);const VK=yt(BK),Ka=Symbol("formContextKey"),Hl=Symbol("formItemContextKey"),So=(e,t={})=>{const o=D(void 0),r=t.prop?o:i6("size"),l=t.global?o:bK(),n=t.form?{size:void 0}:Ge(Ka,void 0),a=t.formItem?{size:void 0}:Ge(Hl,void 0);return C(()=>r.value||s(e)||(a==null?void 0:a.size)||(n==null?void 0:n.size)||l.value||"")},xr=e=>{const t=i6("disabled"),o=Ge(Ka,void 0);return C(()=>t.value||s(e)||(o==null?void 0:o.disabled)||!1)},sr=()=>{const e=Ge(Ka,void 0),t=Ge(Hl,void 0);return{form:e,formItem:t}},bl=(e,{formItemContext:t,disableIdGeneration:o,disableIdManagement:r})=>{o||(o=D(!1)),r||(r=D(!1));const l=D();let n;const a=C(()=>{var i;return!!(!(e.label||e.ariaLabel)&&t&&t.inputIds&&((i=t.inputIds)==null?void 0:i.length)<=1)});return ft(()=>{n=Se([Yt(e,"id"),o],([i,c])=>{const d=i??(c?void 0:Qo().value);d!==l.value&&(t!=null&&t.removeInputId&&(l.value&&t.removeInputId(l.value),!(r!=null&&r.value)&&!c&&d&&t.addInputId(d)),l.value=d)},{immediate:!0})}),Rn(()=>{n&&n(),t!=null&&t.removeInputId&&l.value&&t.removeInputId(l.value)}),{isLabeledByFormItem:a,inputId:l}},DK=Pe({size:{type:String,values:Rl},disabled:Boolean}),HK=Pe({...DK,model:Object,rules:{type:ue(Object)},labelPosition:{type:String,values:["left","right","top"],default:"right"},requireAsteriskPosition:{type:String,values:["left","right"],default:"left"},labelWidth:{type:[String,Number],default:""},labelSuffix:{type:String,default:""},inline:Boolean,inlineMessage:Boolean,statusIcon:Boolean,showMessage:{type:Boolean,default:!0},validateOnRuleChange:{type:Boolean,default:!0},hideRequiredAsterisk:Boolean,scrollToError:Boolean,scrollIntoViewOptions:{type:[Object,Boolean]}}),FK={validate:(e,t,o)=>(Ke(e)||ut(e))&&Co(t)&&ut(o)};function jK(){const e=D([]),t=C(()=>{if(!e.value.length)return"0";const n=Math.max(...e.value);return n?`${n}px`:""});function o(n){const a=e.value.indexOf(n);return a===-1&&t.value,a}function r(n,a){if(n&&a){const i=o(a);e.value.splice(i,1,n)}else n&&e.value.push(n)}function l(n){const a=o(n);a>-1&&e.value.splice(a,1)}return{autoLabelWidth:t,registerLabelWidth:r,deregisterLabelWidth:l}}const Gd=(e,t)=>{const o=Gn(t);return o.length>0?e.filter(r=>r.prop&&o.includes(r.prop)):e},KK=N({...N({name:"ElForm"}),props:HK,emits:FK,setup(e,{expose:t,emit:o}){const r=e,l=[],n=So(),a=ze("form"),i=C(()=>{const{labelPosition:w,inline:x}=r;return[a.b(),a.m(n.value||"default"),{[a.m(`label-${w}`)]:w,[a.m("inline")]:x}]}),c=w=>l.find(x=>x.prop===w),d=w=>{l.push(w)},u=w=>{w.prop&&l.splice(l.indexOf(w),1)},p=(w=[])=>{r.model&&Gd(l,w).forEach(x=>x.resetField())},h=(w=[])=>{Gd(l,w).forEach(x=>x.clearValidate())},v=C(()=>!!r.model),m=w=>{if(l.length===0)return[];const x=Gd(l,w);return x.length?x:[]},f=async w=>g(void 0,w),_=async(w=[])=>{if(!v.value)return!1;const x=m(w);if(x.length===0)return!0;let $={};for(const T of x)try{await T.validate("")}catch(R){$={...$,...R}}return Object.keys($).length===0?!0:Promise.reject($)},g=async(w=[],x)=>{const $=!it(x);try{const T=await _(w);return T===!0&&await(x==null?void 0:x(T)),T}catch(T){if(T instanceof Error)throw T;const R=T;return r.scrollToError&&y(Object.keys(R)[0]),await(x==null?void 0:x(!1,R)),$&&Promise.reject(R)}},y=w=>{var x;const $=Gd(l,w)[0];$&&((x=$.$el)==null||x.scrollIntoView(r.scrollIntoViewOptions))};return Se(()=>r.rules,()=>{r.validateOnRuleChange&&f().catch(w=>void 0)},{deep:!0}),zt(Ka,Dt({...Bo(r),emit:o,resetFields:p,clearValidate:h,validateField:g,getField:c,addField:d,removeField:u,...jK()})),t({validate:f,validateField:g,resetFields:p,clearValidate:h,scrollToField:y,fields:l}),(w,x)=>(b(),M("form",{class:O(s(i))},[be(w.$slots,"default")],2))}});var UK=Le(KK,[["__file","form.vue"]]);function WK(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var l4={exports:{}},No=l4.exports={},Fl,jl;function Gh(){throw new Error("setTimeout has not been defined")}function Xh(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?Fl=setTimeout:Fl=Gh}catch{Fl=Gh}try{typeof clearTimeout=="function"?jl=clearTimeout:jl=Xh}catch{jl=Xh}})();function n4(e){if(Fl===setTimeout)return setTimeout(e,0);if((Fl===Gh||!Fl)&&setTimeout)return Fl=setTimeout,setTimeout(e,0);try{return Fl(e,0)}catch{try{return Fl.call(null,e,0)}catch{return Fl.call(this,e,0)}}}function qK(e){if(jl===clearTimeout)return clearTimeout(e);if((jl===Xh||!jl)&&clearTimeout)return jl=clearTimeout,clearTimeout(e);try{return jl(e)}catch{try{return jl.call(null,e)}catch{return jl.call(this,e)}}}var bn=[],Zi=!1,Ua,Xd=-1;function YK(){!Zi||!Ua||(Zi=!1,Ua.length?bn=Ua.concat(bn):Xd=-1,bn.length&&a4())}function a4(){if(!Zi){var e=n4(YK);Zi=!0;for(var t=bn.length;t;){for(Ua=bn,bn=[];++Xd1)for(var o=1;o"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Zd(e,t,o){return QK()?Zd=Reflect.construct.bind():Zd=function(l,n,a){var i=[null];i.push.apply(i,n);var c=Function.bind.apply(l,i),d=new c;return a&&Ac(d,a.prototype),d},Zd.apply(null,arguments)}function eU(e){return Function.toString.call(e).indexOf("[native code]")!==-1}function Jh(e){var t=typeof Map=="function"?new Map:void 0;return Jh=function(r){if(r===null||!eU(r))return r;if(typeof r!="function")throw new TypeError("Super expression must either be null or a function");if(typeof t<"u"){if(t.has(r))return t.get(r);t.set(r,l)}function l(){return Zd(r,arguments,Zh(this).constructor)}return l.prototype=Object.create(r.prototype,{constructor:{value:l,enumerable:!1,writable:!0,configurable:!0}}),Ac(l,r)},Jh(e)}var tU=/%[sdj%]/g,oU=function(){};typeof XK<"u";function Qh(e){if(!e||!e.length)return null;var t={};return e.forEach(function(o){var r=o.field;t[r]=t[r]||[],t[r].push(o)}),t}function Vr(e){for(var t=arguments.length,o=new Array(t>1?t-1:0),r=1;r=n)return i;switch(i){case"%s":return String(o[l++]);case"%d":return Number(o[l++]);case"%j":try{return JSON.stringify(o[l++])}catch{return"[Circular]"}break;default:return i}});return a}return e}function rU(e){return e==="string"||e==="url"||e==="hex"||e==="email"||e==="date"||e==="pattern"}function Ko(e,t){return!!(e==null||t==="array"&&Array.isArray(e)&&!e.length||rU(t)&&typeof e=="string"&&!e)}function lU(e,t,o){var r=[],l=0,n=e.length;function a(i){r.push.apply(r,i||[]),l++,l===n&&o(r)}e.forEach(function(i){t(i,a)})}function s4(e,t,o){var r=0,l=e.length;function n(a){if(a&&a.length){o(a);return}var i=r;r=r+1,i()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},zc={integer:function(t){return zc.number(t)&&parseInt(t,10)===t},float:function(t){return zc.number(t)&&!zc.integer(t)},array:function(t){return Array.isArray(t)},regexp:function(t){if(t instanceof RegExp)return!0;try{return!!new RegExp(t)}catch{return!1}},date:function(t){return typeof t.getTime=="function"&&typeof t.getMonth=="function"&&typeof t.getYear=="function"&&!isNaN(t.getTime())},number:function(t){return isNaN(t)?!1:typeof t=="number"},object:function(t){return typeof t=="object"&&!zc.array(t)},method:function(t){return typeof t=="function"},email:function(t){return typeof t=="string"&&t.length<=320&&!!t.match(f4.email)},url:function(t){return typeof t=="string"&&t.length<=2048&&!!t.match(uU())},hex:function(t){return typeof t=="string"&&!!t.match(f4.hex)}},dU=function(t,o,r,l,n){if(t.required&&o===void 0){p4(t,o,r,l,n);return}var a=["integer","float","array","regexp","object","method","email","number","date","url","hex"],i=t.type;a.indexOf(i)>-1?zc[i](o)||l.push(Vr(n.messages.types[i],t.fullField,t.type)):i&&typeof o!==t.type&&l.push(Vr(n.messages.types[i],t.fullField,t.type))},pU=function(t,o,r,l,n){var a=typeof t.len=="number",i=typeof t.min=="number",c=typeof t.max=="number",d=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,u=o,p=null,h=typeof o=="number",v=typeof o=="string",m=Array.isArray(o);if(h?p="number":v?p="string":m&&(p="array"),!p)return!1;m&&(u=o.length),v&&(u=o.replace(d,"_").length),a?u!==t.len&&l.push(Vr(n.messages[p].len,t.fullField,t.len)):i&&!c&&ut.max?l.push(Vr(n.messages[p].max,t.fullField,t.max)):i&&c&&(ut.max)&&l.push(Vr(n.messages[p].range,t.fullField,t.min,t.max))},Ji="enum",fU=function(t,o,r,l,n){t[Ji]=Array.isArray(t[Ji])?t[Ji]:[],t[Ji].indexOf(o)===-1&&l.push(Vr(n.messages[Ji],t.fullField,t[Ji].join(", ")))},hU=function(t,o,r,l,n){if(t.pattern){if(t.pattern instanceof RegExp)t.pattern.lastIndex=0,t.pattern.test(o)||l.push(Vr(n.messages.pattern.mismatch,t.fullField,o,t.pattern));else if(typeof t.pattern=="string"){var a=new RegExp(t.pattern);a.test(o)||l.push(Vr(n.messages.pattern.mismatch,t.fullField,o,t.pattern))}}},Jt={required:p4,whitespace:cU,type:dU,range:pU,enum:fU,pattern:hU},vU=function(t,o,r,l,n){var a=[],i=t.required||!t.required&&l.hasOwnProperty(t.field);if(i){if(Ko(o,"string")&&!t.required)return r();Jt.required(t,o,l,a,n,"string"),Ko(o,"string")||(Jt.type(t,o,l,a,n),Jt.range(t,o,l,a,n),Jt.pattern(t,o,l,a,n),t.whitespace===!0&&Jt.whitespace(t,o,l,a,n))}r(a)},mU=function(t,o,r,l,n){var a=[],i=t.required||!t.required&&l.hasOwnProperty(t.field);if(i){if(Ko(o)&&!t.required)return r();Jt.required(t,o,l,a,n),o!==void 0&&Jt.type(t,o,l,a,n)}r(a)},gU=function(t,o,r,l,n){var a=[],i=t.required||!t.required&&l.hasOwnProperty(t.field);if(i){if(o===""&&(o=void 0),Ko(o)&&!t.required)return r();Jt.required(t,o,l,a,n),o!==void 0&&(Jt.type(t,o,l,a,n),Jt.range(t,o,l,a,n))}r(a)},bU=function(t,o,r,l,n){var a=[],i=t.required||!t.required&&l.hasOwnProperty(t.field);if(i){if(Ko(o)&&!t.required)return r();Jt.required(t,o,l,a,n),o!==void 0&&Jt.type(t,o,l,a,n)}r(a)},_U=function(t,o,r,l,n){var a=[],i=t.required||!t.required&&l.hasOwnProperty(t.field);if(i){if(Ko(o)&&!t.required)return r();Jt.required(t,o,l,a,n),Ko(o)||Jt.type(t,o,l,a,n)}r(a)},wU=function(t,o,r,l,n){var a=[],i=t.required||!t.required&&l.hasOwnProperty(t.field);if(i){if(Ko(o)&&!t.required)return r();Jt.required(t,o,l,a,n),o!==void 0&&(Jt.type(t,o,l,a,n),Jt.range(t,o,l,a,n))}r(a)},yU=function(t,o,r,l,n){var a=[],i=t.required||!t.required&&l.hasOwnProperty(t.field);if(i){if(Ko(o)&&!t.required)return r();Jt.required(t,o,l,a,n),o!==void 0&&(Jt.type(t,o,l,a,n),Jt.range(t,o,l,a,n))}r(a)},xU=function(t,o,r,l,n){var a=[],i=t.required||!t.required&&l.hasOwnProperty(t.field);if(i){if(o==null&&!t.required)return r();Jt.required(t,o,l,a,n,"array"),o!=null&&(Jt.type(t,o,l,a,n),Jt.range(t,o,l,a,n))}r(a)},kU=function(t,o,r,l,n){var a=[],i=t.required||!t.required&&l.hasOwnProperty(t.field);if(i){if(Ko(o)&&!t.required)return r();Jt.required(t,o,l,a,n),o!==void 0&&Jt.type(t,o,l,a,n)}r(a)},CU="enum",SU=function(t,o,r,l,n){var a=[],i=t.required||!t.required&&l.hasOwnProperty(t.field);if(i){if(Ko(o)&&!t.required)return r();Jt.required(t,o,l,a,n),o!==void 0&&Jt[CU](t,o,l,a,n)}r(a)},EU=function(t,o,r,l,n){var a=[],i=t.required||!t.required&&l.hasOwnProperty(t.field);if(i){if(Ko(o,"string")&&!t.required)return r();Jt.required(t,o,l,a,n),Ko(o,"string")||Jt.pattern(t,o,l,a,n)}r(a)},TU=function(t,o,r,l,n){var a=[],i=t.required||!t.required&&l.hasOwnProperty(t.field);if(i){if(Ko(o,"date")&&!t.required)return r();if(Jt.required(t,o,l,a,n),!Ko(o,"date")){var c;o instanceof Date?c=o:c=new Date(o),Jt.type(t,c,l,a,n),c&&Jt.range(t,c.getTime(),l,a,n)}}r(a)},$U=function(t,o,r,l,n){var a=[],i=Array.isArray(o)?"array":typeof o;Jt.required(t,o,l,a,n,i),r(a)},ev=function(t,o,r,l,n){var a=t.type,i=[],c=t.required||!t.required&&l.hasOwnProperty(t.field);if(c){if(Ko(o,a)&&!t.required)return r();Jt.required(t,o,l,i,n,a),Ko(o,a)||Jt.type(t,o,l,i,n)}r(i)},MU=function(t,o,r,l,n){var a=[],i=t.required||!t.required&&l.hasOwnProperty(t.field);if(i){if(Ko(o)&&!t.required)return r();Jt.required(t,o,l,a,n)}r(a)},Ic={string:vU,method:mU,number:gU,boolean:bU,regexp:_U,integer:wU,float:yU,array:xU,object:kU,enum:SU,pattern:EU,date:TU,url:ev,hex:ev,email:ev,required:$U,any:MU};function tv(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var t=JSON.parse(JSON.stringify(this));return t.clone=this.clone,t}}}var ov=tv(),Oc=function(){function e(o){this.rules=null,this._messages=ov,this.define(o)}var t=e.prototype;return t.define=function(r){var l=this;if(!r)throw new Error("Cannot configure a schema with no rules");if(typeof r!="object"||Array.isArray(r))throw new Error("Rules must be an object");this.rules={},Object.keys(r).forEach(function(n){var a=r[n];l.rules[n]=Array.isArray(a)?a:[a]})},t.messages=function(r){return r&&(this._messages=d4(tv(),r)),this._messages},t.validate=function(r,l,n){var a=this;l===void 0&&(l={}),n===void 0&&(n=function(){});var i=r,c=l,d=n;if(typeof c=="function"&&(d=c,c={}),!this.rules||Object.keys(this.rules).length===0)return d&&d(null,i),Promise.resolve(i);function u(f){var _=[],g={};function y(x){if(Array.isArray(x)){var $;_=($=_).concat.apply($,x)}else _.push(x)}for(var w=0;w");const l=ze("form"),n=D(),a=D(0),i=()=>{var u;if((u=n.value)!=null&&u.firstElementChild){const p=window.getComputedStyle(n.value.firstElementChild).width;return Math.ceil(Number.parseFloat(p))}else return 0},c=(u="update")=>{et(()=>{t.default&&e.isAutoWidth&&(u==="update"?a.value=i():u==="remove"&&(o==null||o.deregisterLabelWidth(a.value)))})},d=()=>c("update");return ft(()=>{d()}),to(()=>{c("remove")}),rn(()=>d()),Se(a,(u,p)=>{e.updateAll&&(o==null||o.registerLabelWidth(u,p))}),so(C(()=>{var u,p;return(p=(u=n.value)==null?void 0:u.firstElementChild)!=null?p:null}),d),()=>{var u,p;if(!t)return null;const{isAutoWidth:h}=e;if(h){const v=o==null?void 0:o.autoLabelWidth,m=r==null?void 0:r.hasLabel,f={};if(m&&v&&v!=="auto"){const _=Math.max(0,Number.parseInt(v,10)-a.value),g=o.labelPosition==="left"?"marginRight":"marginLeft";_&&(f[g]=`${_}px`)}return ee("div",{ref:n,class:[l.be("item","label-wrap")],style:f},[(u=t.default)==null?void 0:u.call(t)])}else return ee(Qe,{ref:n},[(p=t.default)==null?void 0:p.call(t)])}}});const OU=["role","aria-labelledby"],NU=N({...N({name:"ElFormItem"}),props:zU,setup(e,{expose:t}){const o=e,r=Do(),l=Ge(Ka,void 0),n=Ge(Hl,void 0),a=So(void 0,{formItem:!1}),i=ze("form-item"),c=Qo().value,d=D([]),u=D(""),p=tE(u,100),h=D(""),v=D();let m,f=!1;const _=C(()=>{if((l==null?void 0:l.labelPosition)==="top")return{};const _e=mo(o.labelWidth||(l==null?void 0:l.labelWidth)||"");return _e?{width:_e}:{}}),g=C(()=>{if((l==null?void 0:l.labelPosition)==="top"||l!=null&&l.inline)return{};if(!o.label&&!o.labelWidth&&L)return{};const _e=mo(o.labelWidth||(l==null?void 0:l.labelWidth)||"");return!o.label&&!r.label?{marginLeft:_e}:{}}),y=C(()=>[i.b(),i.m(a.value),i.is("error",u.value==="error"),i.is("validating",u.value==="validating"),i.is("success",u.value==="success"),i.is("required",J.value||o.required),i.is("no-asterisk",l==null?void 0:l.hideRequiredAsterisk),(l==null?void 0:l.requireAsteriskPosition)==="right"?"asterisk-right":"asterisk-left",{[i.m("feedback")]:l==null?void 0:l.statusIcon}]),w=C(()=>Co(o.inlineMessage)?o.inlineMessage:(l==null?void 0:l.inlineMessage)||!1),x=C(()=>[i.e("error"),{[i.em("error","inline")]:w.value}]),$=C(()=>o.prop?ut(o.prop)?o.prop:o.prop.join("."):""),T=C(()=>!!(o.label||r.label)),R=C(()=>o.for||(d.value.length===1?d.value[0]:void 0)),P=C(()=>!R.value&&T.value),L=!!n,B=C(()=>{const _e=l==null?void 0:l.model;if(!(!_e||!o.prop))return Td(_e,o.prop).value}),V=C(()=>{const{required:_e}=o,me=[];o.rules&&me.push(...Gn(o.rules));const Re=l==null?void 0:l.rules;if(Re&&o.prop){const Ce=Td(Re,o.prop).value;Ce&&me.push(...Gn(Ce))}if(_e!==void 0){const Ce=me.map((Ee,De)=>[Ee,De]).filter(([Ee])=>Object.keys(Ee).includes("required"));if(Ce.length>0)for(const[Ee,De]of Ce)Ee.required!==_e&&(me[De]={...Ee,required:_e});else me.push({required:_e})}return me}),j=C(()=>V.value.length>0),te=_e=>V.value.filter(Re=>!Re.trigger||!_e?!0:Array.isArray(Re.trigger)?Re.trigger.includes(_e):Re.trigger===_e).map(({trigger:Re,...Ce})=>Ce),J=C(()=>V.value.some(_e=>_e.required)),Z=C(()=>{var _e;return p.value==="error"&&o.showMessage&&((_e=l==null?void 0:l.showMessage)!=null?_e:!0)}),H=C(()=>`${o.label||""}${(l==null?void 0:l.labelSuffix)||""}`),F=_e=>{u.value=_e},K=_e=>{var me,Re;const{errors:Ce,fields:Ee}=_e;(!Ce||!Ee)&&console.error(_e),F("error"),h.value=Ce?(Re=(me=Ce==null?void 0:Ce[0])==null?void 0:me.message)!=null?Re:`${o.prop} is required`:"",l==null||l.emit("validate",o.prop,!1,h.value)},I=()=>{F("success"),l==null||l.emit("validate",o.prop,!0,"")},U=async _e=>{const me=$.value;return new Oc({[me]:_e}).validate({[me]:B.value},{firstFields:!0}).then(()=>(I(),!0)).catch(Ce=>(K(Ce),Promise.reject(Ce)))},oe=async(_e,me)=>{if(f||!o.prop)return!1;const Re=it(me);if(!j.value)return me==null||me(!1),!1;const Ce=te(_e);return Ce.length===0?(me==null||me(!0),!0):(F("validating"),U(Ce).then(()=>(me==null||me(!0),!0)).catch(Ee=>{const{fields:De}=Ee;return me==null||me(!1,De),Re?!1:Promise.reject(De)}))},ne=()=>{F(""),h.value="",f=!1},ce=async()=>{const _e=l==null?void 0:l.model;if(!_e||!o.prop)return;const me=Td(_e,o.prop);f=!0,me.value=c3(m),await et(),ne(),f=!1},Q=_e=>{d.value.includes(_e)||d.value.push(_e)},Me=_e=>{d.value=d.value.filter(me=>me!==_e)};Se(()=>o.error,_e=>{h.value=_e||"",F(_e?"error":"")},{immediate:!0}),Se(()=>o.validateStatus,_e=>F(_e||""));const de=Dt({...Bo(o),$el:v,size:a,validateState:u,labelId:c,inputIds:d,isGroup:P,hasLabel:T,fieldValue:B,addInputId:Q,removeInputId:Me,resetField:ce,clearValidate:ne,validate:oe});return zt(Hl,de),ft(()=>{o.prop&&(l==null||l.addField(de),m=c3(B.value))}),to(()=>{l==null||l.removeField(de)}),t({size:a,validateMessage:h,validateState:u,validate:oe,clearValidate:ne,resetField:ce}),(_e,me)=>{var Re;return b(),M("div",{ref_key:"formItemRef",ref:v,class:O(s(y)),role:s(P)?"group":void 0,"aria-labelledby":s(P)?s(c):void 0},[ee(s(IU),{"is-auto-width":s(_).width==="auto","update-all":((Re=s(l))==null?void 0:Re.labelWidth)==="auto"},{default:le(()=>[s(T)?(b(),he(Et(s(R)?"label":"div"),{key:0,id:s(c),for:s(R),class:O(s(i).e("label")),style:Je(s(_))},{default:le(()=>[be(_e.$slots,"label",{label:s(H)},()=>[Ct($e(s(H)),1)])]),_:3},8,["id","for","class","style"])):se("v-if",!0)]),_:3},8,["is-auto-width","update-all"]),E("div",{class:O(s(i).e("content")),style:Je(s(g))},[be(_e.$slots,"default"),ee(I1,{name:`${s(i).namespace.value}-zoom-in-top`},{default:le(()=>[s(Z)?be(_e.$slots,"error",{key:0,error:h.value},()=>[E("div",{class:O(s(x))},$e(h.value),3)]):se("v-if",!0)]),_:3},8,["name"])],6)],10,OU)}}});var v4=Le(NU,[["__file","form-item.vue"]]);const PU=yt(UK,{FormItem:v4}),RU=co(v4);let _l;const LU=` +`).replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),n=new RegExp("(?:^"+o+"$)|(?:^"+l+"$)"),a=new RegExp("^"+o+"$"),i=new RegExp("^"+l+"$"),c=function(x){return x&&x.exact?n:new RegExp("(?:"+t(x)+o+t(x)+")|(?:"+t(x)+l+t(x)+")","g")};c.v4=function(w){return w&&w.exact?a:new RegExp(""+t(w)+o+t(w),"g")},c.v6=function(w){return w&&w.exact?i:new RegExp(""+t(w)+l+t(w),"g")};var d="(?:(?:[a-z]+:)?//)",u="(?:\\S+(?::\\S*)?@)?",p=c.v4().source,h=c.v6().source,v="(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)",m="(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*",f="(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))",_="(?::\\d{2,5})?",g='(?:[/?#][^\\s"]*)?',y="(?:"+d+"|www\\.)"+u+"(?:localhost|"+p+"|"+h+"|"+v+m+f+")"+_+g;return Jd=new RegExp("(?:^"+y+"$)","i"),Jd},f4={email:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},zc={integer:function(t){return zc.number(t)&&parseInt(t,10)===t},float:function(t){return zc.number(t)&&!zc.integer(t)},array:function(t){return Array.isArray(t)},regexp:function(t){if(t instanceof RegExp)return!0;try{return!!new RegExp(t)}catch{return!1}},date:function(t){return typeof t.getTime=="function"&&typeof t.getMonth=="function"&&typeof t.getYear=="function"&&!isNaN(t.getTime())},number:function(t){return isNaN(t)?!1:typeof t=="number"},object:function(t){return typeof t=="object"&&!zc.array(t)},method:function(t){return typeof t=="function"},email:function(t){return typeof t=="string"&&t.length<=320&&!!t.match(f4.email)},url:function(t){return typeof t=="string"&&t.length<=2048&&!!t.match(uU())},hex:function(t){return typeof t=="string"&&!!t.match(f4.hex)}},dU=function(t,o,r,l,n){if(t.required&&o===void 0){p4(t,o,r,l,n);return}var a=["integer","float","array","regexp","object","method","email","number","date","url","hex"],i=t.type;a.indexOf(i)>-1?zc[i](o)||l.push(Vr(n.messages.types[i],t.fullField,t.type)):i&&typeof o!==t.type&&l.push(Vr(n.messages.types[i],t.fullField,t.type))},pU=function(t,o,r,l,n){var a=typeof t.len=="number",i=typeof t.min=="number",c=typeof t.max=="number",d=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,u=o,p=null,h=typeof o=="number",v=typeof o=="string",m=Array.isArray(o);if(h?p="number":v?p="string":m&&(p="array"),!p)return!1;m&&(u=o.length),v&&(u=o.replace(d,"_").length),a?u!==t.len&&l.push(Vr(n.messages[p].len,t.fullField,t.len)):i&&!c&&ut.max?l.push(Vr(n.messages[p].max,t.fullField,t.max)):i&&c&&(ut.max)&&l.push(Vr(n.messages[p].range,t.fullField,t.min,t.max))},Ji="enum",fU=function(t,o,r,l,n){t[Ji]=Array.isArray(t[Ji])?t[Ji]:[],t[Ji].indexOf(o)===-1&&l.push(Vr(n.messages[Ji],t.fullField,t[Ji].join(", ")))},hU=function(t,o,r,l,n){if(t.pattern){if(t.pattern instanceof RegExp)t.pattern.lastIndex=0,t.pattern.test(o)||l.push(Vr(n.messages.pattern.mismatch,t.fullField,o,t.pattern));else if(typeof t.pattern=="string"){var a=new RegExp(t.pattern);a.test(o)||l.push(Vr(n.messages.pattern.mismatch,t.fullField,o,t.pattern))}}},Jt={required:p4,whitespace:cU,type:dU,range:pU,enum:fU,pattern:hU},vU=function(t,o,r,l,n){var a=[],i=t.required||!t.required&&l.hasOwnProperty(t.field);if(i){if(Ko(o,"string")&&!t.required)return r();Jt.required(t,o,l,a,n,"string"),Ko(o,"string")||(Jt.type(t,o,l,a,n),Jt.range(t,o,l,a,n),Jt.pattern(t,o,l,a,n),t.whitespace===!0&&Jt.whitespace(t,o,l,a,n))}r(a)},mU=function(t,o,r,l,n){var a=[],i=t.required||!t.required&&l.hasOwnProperty(t.field);if(i){if(Ko(o)&&!t.required)return r();Jt.required(t,o,l,a,n),o!==void 0&&Jt.type(t,o,l,a,n)}r(a)},gU=function(t,o,r,l,n){var a=[],i=t.required||!t.required&&l.hasOwnProperty(t.field);if(i){if(o===""&&(o=void 0),Ko(o)&&!t.required)return r();Jt.required(t,o,l,a,n),o!==void 0&&(Jt.type(t,o,l,a,n),Jt.range(t,o,l,a,n))}r(a)},bU=function(t,o,r,l,n){var a=[],i=t.required||!t.required&&l.hasOwnProperty(t.field);if(i){if(Ko(o)&&!t.required)return r();Jt.required(t,o,l,a,n),o!==void 0&&Jt.type(t,o,l,a,n)}r(a)},_U=function(t,o,r,l,n){var a=[],i=t.required||!t.required&&l.hasOwnProperty(t.field);if(i){if(Ko(o)&&!t.required)return r();Jt.required(t,o,l,a,n),Ko(o)||Jt.type(t,o,l,a,n)}r(a)},wU=function(t,o,r,l,n){var a=[],i=t.required||!t.required&&l.hasOwnProperty(t.field);if(i){if(Ko(o)&&!t.required)return r();Jt.required(t,o,l,a,n),o!==void 0&&(Jt.type(t,o,l,a,n),Jt.range(t,o,l,a,n))}r(a)},yU=function(t,o,r,l,n){var a=[],i=t.required||!t.required&&l.hasOwnProperty(t.field);if(i){if(Ko(o)&&!t.required)return r();Jt.required(t,o,l,a,n),o!==void 0&&(Jt.type(t,o,l,a,n),Jt.range(t,o,l,a,n))}r(a)},xU=function(t,o,r,l,n){var a=[],i=t.required||!t.required&&l.hasOwnProperty(t.field);if(i){if(o==null&&!t.required)return r();Jt.required(t,o,l,a,n,"array"),o!=null&&(Jt.type(t,o,l,a,n),Jt.range(t,o,l,a,n))}r(a)},kU=function(t,o,r,l,n){var a=[],i=t.required||!t.required&&l.hasOwnProperty(t.field);if(i){if(Ko(o)&&!t.required)return r();Jt.required(t,o,l,a,n),o!==void 0&&Jt.type(t,o,l,a,n)}r(a)},CU="enum",SU=function(t,o,r,l,n){var a=[],i=t.required||!t.required&&l.hasOwnProperty(t.field);if(i){if(Ko(o)&&!t.required)return r();Jt.required(t,o,l,a,n),o!==void 0&&Jt[CU](t,o,l,a,n)}r(a)},EU=function(t,o,r,l,n){var a=[],i=t.required||!t.required&&l.hasOwnProperty(t.field);if(i){if(Ko(o,"string")&&!t.required)return r();Jt.required(t,o,l,a,n),Ko(o,"string")||Jt.pattern(t,o,l,a,n)}r(a)},TU=function(t,o,r,l,n){var a=[],i=t.required||!t.required&&l.hasOwnProperty(t.field);if(i){if(Ko(o,"date")&&!t.required)return r();if(Jt.required(t,o,l,a,n),!Ko(o,"date")){var c;o instanceof Date?c=o:c=new Date(o),Jt.type(t,c,l,a,n),c&&Jt.range(t,c.getTime(),l,a,n)}}r(a)},$U=function(t,o,r,l,n){var a=[],i=Array.isArray(o)?"array":typeof o;Jt.required(t,o,l,a,n,i),r(a)},ev=function(t,o,r,l,n){var a=t.type,i=[],c=t.required||!t.required&&l.hasOwnProperty(t.field);if(c){if(Ko(o,a)&&!t.required)return r();Jt.required(t,o,l,i,n,a),Ko(o,a)||Jt.type(t,o,l,i,n)}r(i)},MU=function(t,o,r,l,n){var a=[],i=t.required||!t.required&&l.hasOwnProperty(t.field);if(i){if(Ko(o)&&!t.required)return r();Jt.required(t,o,l,a,n)}r(a)},Ic={string:vU,method:mU,number:gU,boolean:bU,regexp:_U,integer:wU,float:yU,array:xU,object:kU,enum:SU,pattern:EU,date:TU,url:ev,hex:ev,email:ev,required:$U,any:MU};function tv(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var t=JSON.parse(JSON.stringify(this));return t.clone=this.clone,t}}}var ov=tv(),Oc=function(){function e(o){this.rules=null,this._messages=ov,this.define(o)}var t=e.prototype;return t.define=function(r){var l=this;if(!r)throw new Error("Cannot configure a schema with no rules");if(typeof r!="object"||Array.isArray(r))throw new Error("Rules must be an object");this.rules={},Object.keys(r).forEach(function(n){var a=r[n];l.rules[n]=Array.isArray(a)?a:[a]})},t.messages=function(r){return r&&(this._messages=d4(tv(),r)),this._messages},t.validate=function(r,l,n){var a=this;l===void 0&&(l={}),n===void 0&&(n=function(){});var i=r,c=l,d=n;if(typeof c=="function"&&(d=c,c={}),!this.rules||Object.keys(this.rules).length===0)return d&&d(null,i),Promise.resolve(i);function u(f){var _=[],g={};function y(x){if(Array.isArray(x)){var $;_=($=_).concat.apply($,x)}else _.push(x)}for(var w=0;w");const l=ze("form"),n=D(),a=D(0),i=()=>{var u;if((u=n.value)!=null&&u.firstElementChild){const p=window.getComputedStyle(n.value.firstElementChild).width;return Math.ceil(Number.parseFloat(p))}else return 0},c=(u="update")=>{et(()=>{t.default&&e.isAutoWidth&&(u==="update"?a.value=i():u==="remove"&&(o==null||o.deregisterLabelWidth(a.value)))})},d=()=>c("update");return ft(()=>{d()}),to(()=>{c("remove")}),rn(()=>d()),Se(a,(u,p)=>{e.updateAll&&(o==null||o.registerLabelWidth(u,p))}),so(C(()=>{var u,p;return(p=(u=n.value)==null?void 0:u.firstElementChild)!=null?p:null}),d),()=>{var u,p;if(!t)return null;const{isAutoWidth:h}=e;if(h){const v=o==null?void 0:o.autoLabelWidth,m=r==null?void 0:r.hasLabel,f={};if(m&&v&&v!=="auto"){const _=Math.max(0,Number.parseInt(v,10)-a.value),g=o.labelPosition==="left"?"marginRight":"marginLeft";_&&(f[g]=`${_}px`)}return ee("div",{ref:n,class:[l.be("item","label-wrap")],style:f},[(u=t.default)==null?void 0:u.call(t)])}else return ee(Qe,{ref:n},[(p=t.default)==null?void 0:p.call(t)])}}});const OU=["role","aria-labelledby"],NU=N({...N({name:"ElFormItem"}),props:zU,setup(e,{expose:t}){const o=e,r=Do(),l=Ge(Ka,void 0),n=Ge(Hl,void 0),a=So(void 0,{formItem:!1}),i=ze("form-item"),c=Qo().value,d=D([]),u=D(""),p=tE(u,100),h=D(""),v=D();let m,f=!1;const _=C(()=>{if((l==null?void 0:l.labelPosition)==="top")return{};const _e=mo(o.labelWidth||(l==null?void 0:l.labelWidth)||"");return _e?{width:_e}:{}}),g=C(()=>{if((l==null?void 0:l.labelPosition)==="top"||l!=null&&l.inline)return{};if(!o.label&&!o.labelWidth&&L)return{};const _e=mo(o.labelWidth||(l==null?void 0:l.labelWidth)||"");return!o.label&&!r.label?{marginLeft:_e}:{}}),y=C(()=>[i.b(),i.m(a.value),i.is("error",u.value==="error"),i.is("validating",u.value==="validating"),i.is("success",u.value==="success"),i.is("required",J.value||o.required),i.is("no-asterisk",l==null?void 0:l.hideRequiredAsterisk),(l==null?void 0:l.requireAsteriskPosition)==="right"?"asterisk-right":"asterisk-left",{[i.m("feedback")]:l==null?void 0:l.statusIcon}]),w=C(()=>Co(o.inlineMessage)?o.inlineMessage:(l==null?void 0:l.inlineMessage)||!1),x=C(()=>[i.e("error"),{[i.em("error","inline")]:w.value}]),$=C(()=>o.prop?ut(o.prop)?o.prop:o.prop.join("."):""),T=C(()=>!!(o.label||r.label)),R=C(()=>o.for||(d.value.length===1?d.value[0]:void 0)),P=C(()=>!R.value&&T.value),L=!!n,V=C(()=>{const _e=l==null?void 0:l.model;if(!(!_e||!o.prop))return Td(_e,o.prop).value}),B=C(()=>{const{required:_e}=o,me=[];o.rules&&me.push(...Gn(o.rules));const Re=l==null?void 0:l.rules;if(Re&&o.prop){const Ce=Td(Re,o.prop).value;Ce&&me.push(...Gn(Ce))}if(_e!==void 0){const Ce=me.map((Ee,De)=>[Ee,De]).filter(([Ee])=>Object.keys(Ee).includes("required"));if(Ce.length>0)for(const[Ee,De]of Ce)Ee.required!==_e&&(me[De]={...Ee,required:_e});else me.push({required:_e})}return me}),j=C(()=>B.value.length>0),te=_e=>B.value.filter(Re=>!Re.trigger||!_e?!0:Array.isArray(Re.trigger)?Re.trigger.includes(_e):Re.trigger===_e).map(({trigger:Re,...Ce})=>Ce),J=C(()=>B.value.some(_e=>_e.required)),Z=C(()=>{var _e;return p.value==="error"&&o.showMessage&&((_e=l==null?void 0:l.showMessage)!=null?_e:!0)}),H=C(()=>`${o.label||""}${(l==null?void 0:l.labelSuffix)||""}`),F=_e=>{u.value=_e},K=_e=>{var me,Re;const{errors:Ce,fields:Ee}=_e;(!Ce||!Ee)&&console.error(_e),F("error"),h.value=Ce?(Re=(me=Ce==null?void 0:Ce[0])==null?void 0:me.message)!=null?Re:`${o.prop} is required`:"",l==null||l.emit("validate",o.prop,!1,h.value)},I=()=>{F("success"),l==null||l.emit("validate",o.prop,!0,"")},U=async _e=>{const me=$.value;return new Oc({[me]:_e}).validate({[me]:V.value},{firstFields:!0}).then(()=>(I(),!0)).catch(Ce=>(K(Ce),Promise.reject(Ce)))},oe=async(_e,me)=>{if(f||!o.prop)return!1;const Re=it(me);if(!j.value)return me==null||me(!1),!1;const Ce=te(_e);return Ce.length===0?(me==null||me(!0),!0):(F("validating"),U(Ce).then(()=>(me==null||me(!0),!0)).catch(Ee=>{const{fields:De}=Ee;return me==null||me(!1,De),Re?!1:Promise.reject(De)}))},ne=()=>{F(""),h.value="",f=!1},ce=async()=>{const _e=l==null?void 0:l.model;if(!_e||!o.prop)return;const me=Td(_e,o.prop);f=!0,me.value=c3(m),await et(),ne(),f=!1},Q=_e=>{d.value.includes(_e)||d.value.push(_e)},Me=_e=>{d.value=d.value.filter(me=>me!==_e)};Se(()=>o.error,_e=>{h.value=_e||"",F(_e?"error":"")},{immediate:!0}),Se(()=>o.validateStatus,_e=>F(_e||""));const de=Dt({...Bo(o),$el:v,size:a,validateState:u,labelId:c,inputIds:d,isGroup:P,hasLabel:T,fieldValue:V,addInputId:Q,removeInputId:Me,resetField:ce,clearValidate:ne,validate:oe});return zt(Hl,de),ft(()=>{o.prop&&(l==null||l.addField(de),m=c3(V.value))}),to(()=>{l==null||l.removeField(de)}),t({size:a,validateMessage:h,validateState:u,validate:oe,clearValidate:ne,resetField:ce}),(_e,me)=>{var Re;return b(),M("div",{ref_key:"formItemRef",ref:v,class:O(s(y)),role:s(P)?"group":void 0,"aria-labelledby":s(P)?s(c):void 0},[ee(s(IU),{"is-auto-width":s(_).width==="auto","update-all":((Re=s(l))==null?void 0:Re.labelWidth)==="auto"},{default:le(()=>[s(T)?(b(),he(Et(s(R)?"label":"div"),{key:0,id:s(c),for:s(R),class:O(s(i).e("label")),style:Je(s(_))},{default:le(()=>[be(_e.$slots,"label",{label:s(H)},()=>[Ct($e(s(H)),1)])]),_:3},8,["id","for","class","style"])):se("v-if",!0)]),_:3},8,["is-auto-width","update-all"]),E("div",{class:O(s(i).e("content")),style:Je(s(g))},[be(_e.$slots,"default"),ee(I1,{name:`${s(i).namespace.value}-zoom-in-top`},{default:le(()=>[s(Z)?be(_e.$slots,"error",{key:0,error:h.value},()=>[E("div",{class:O(s(x))},$e(h.value),3)]):se("v-if",!0)]),_:3},8,["name"])],6)],10,OU)}}});var v4=Le(NU,[["__file","form-item.vue"]]);const PU=yt(UK,{FormItem:v4}),RU=co(v4);let _l;const LU=` height:0 !important; visibility:hidden !important; ${i_()?"":"overflow:hidden !important;"} @@ -119,7 +119,7 @@ https://sweetalert2.github.io/#ajax-request`),Ipe(q),typeof q.title=="string"&&( z-index:-1000 !important; top:0 !important; right:0 !important; -`,BU=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing"];function VU(e){const t=window.getComputedStyle(e),o=t.getPropertyValue("box-sizing"),r=Number.parseFloat(t.getPropertyValue("padding-bottom"))+Number.parseFloat(t.getPropertyValue("padding-top")),l=Number.parseFloat(t.getPropertyValue("border-bottom-width"))+Number.parseFloat(t.getPropertyValue("border-top-width"));return{contextStyle:BU.map(a=>`${a}:${t.getPropertyValue(a)}`).join(";"),paddingSize:r,borderSize:l,boxSizing:o}}function m4(e,t=1,o){var r;_l||(_l=document.createElement("textarea"),document.body.appendChild(_l));const{paddingSize:l,borderSize:n,boxSizing:a,contextStyle:i}=VU(e);_l.setAttribute("style",`${i};${LU}`),_l.value=e.value||e.placeholder||"";let c=_l.scrollHeight;const d={};a==="border-box"?c=c+n:a==="content-box"&&(c=c-l),_l.value="";const u=_l.scrollHeight-l;if(st(t)){let p=u*t;a==="border-box"&&(p=p+l+n),c=Math.max(p,c),d.minHeight=`${p}px`}if(st(o)){let p=u*o;a==="border-box"&&(p=p+l+n),c=Math.min(p,c)}return d.height=`${c}px`,(r=_l.parentNode)==null||r.removeChild(_l),_l=void 0,d}const DU=Pe({id:{type:String,default:void 0},size:Oo,disabled:Boolean,modelValue:{type:ue([String,Number,Object]),default:""},maxlength:{type:[String,Number]},minlength:{type:[String,Number]},type:{type:String,default:"text"},resize:{type:String,values:["none","both","horizontal","vertical"]},autosize:{type:ue([Boolean,Object]),default:!1},autocomplete:{type:String,default:"off"},formatter:{type:Function},parser:{type:Function},placeholder:{type:String},form:{type:String},readonly:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},showPassword:{type:Boolean,default:!1},showWordLimit:{type:Boolean,default:!1},suffixIcon:{type:Xt},prefixIcon:{type:Xt},containerRole:{type:String,default:void 0},label:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:ue([Object,Array,String]),default:()=>uo({})},autofocus:{type:Boolean,default:!1},...Zo(["ariaLabel"])}),HU={[St]:e=>ut(e),input:e=>ut(e),change:e=>ut(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,mouseleave:e=>e instanceof MouseEvent,mouseenter:e=>e instanceof MouseEvent,keydown:e=>e instanceof Event,compositionstart:e=>e instanceof CompositionEvent,compositionupdate:e=>e instanceof CompositionEvent,compositionend:e=>e instanceof CompositionEvent},FU=["role"],jU=["id","minlength","maxlength","type","disabled","readonly","autocomplete","tabindex","aria-label","placeholder","form","autofocus"],KU=["id","minlength","maxlength","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form","autofocus"],UU=N({...N({name:"ElInput",inheritAttrs:!1}),props:DU,emits:HU,setup(e,{expose:t,emit:o}){const r=e,l=ya(),n=Do(),a=C(()=>{const ye={};return r.containerRole==="combobox"&&(ye["aria-haspopup"]=l["aria-haspopup"],ye["aria-owns"]=l["aria-owns"],ye["aria-expanded"]=l["aria-expanded"]),ye}),i=C(()=>[r.type==="textarea"?_.b():f.b(),f.m(v.value),f.is("disabled",m.value),f.is("exceed",Q.value),{[f.b("group")]:n.prepend||n.append,[f.m("prefix")]:n.prefix||r.prefixIcon,[f.m("suffix")]:n.suffix||r.suffixIcon||r.clearable||r.showPassword,[f.bm("suffix","password-clear")]:U.value&&oe.value,[f.b("hidden")]:r.type==="hidden"},l.class]),c=C(()=>[f.e("wrapper"),f.is("focus",B.value)]),d=kh({excludeKeys:C(()=>Object.keys(a.value))}),{form:u,formItem:p}=sr(),{inputId:h}=bl(r,{formItemContext:p}),v=So(),m=xr(),f=ze("input"),_=ze("textarea"),g=lo(),y=lo(),w=D(!1),x=D(!1),$=D(!1),T=D(),R=lo(r.inputStyle),P=C(()=>g.value||y.value),{wrapperRef:L,isFocused:B,handleFocus:V,handleBlur:j}=Ud(P,{afterBlur(){var ye;r.validateEvent&&((ye=p==null?void 0:p.validate)==null||ye.call(p,"blur").catch(Ye=>void 0))}}),te=C(()=>{var ye;return(ye=u==null?void 0:u.statusIcon)!=null?ye:!1}),J=C(()=>(p==null?void 0:p.validateState)||""),Z=C(()=>J.value&&_h[J.value]),H=C(()=>$.value?X3:B3),F=C(()=>[l.style]),K=C(()=>[r.inputStyle,R.value,{resize:r.resize}]),I=C(()=>jo(r.modelValue)?"":String(r.modelValue)),U=C(()=>r.clearable&&!m.value&&!r.readonly&&!!I.value&&(B.value||w.value)),oe=C(()=>r.showPassword&&!m.value&&!r.readonly&&!!I.value&&(!!I.value||B.value)),ne=C(()=>r.showWordLimit&&!!r.maxlength&&(r.type==="text"||r.type==="textarea")&&!m.value&&!r.readonly&&!r.showPassword),ce=C(()=>I.value.length),Q=C(()=>!!ne.value&&ce.value>Number(r.maxlength)),Me=C(()=>!!n.suffix||!!r.suffixIcon||U.value||r.showPassword||ne.value||!!J.value&&te.value),[de,_e]=mK(g);so(y,ye=>{if(Ce(),!ne.value||r.resize!=="both")return;const Ye=ye[0],{width:tt}=Ye.contentRect;T.value={right:`calc(100% - ${tt+15+6}px)`}});const me=()=>{const{type:ye,autosize:Ye}=r;if(!(!Nt||ye!=="textarea"||!y.value))if(Ye){const tt=xt(Ye)?Ye.minRows:void 0,pt=xt(Ye)?Ye.maxRows:void 0,dt=m4(y.value,tt,pt);R.value={overflowY:"hidden",...dt},et(()=>{y.value.offsetHeight,R.value=dt})}else R.value={minHeight:m4(y.value).minHeight}},Ce=(ye=>{let Ye=!1;return()=>{var tt;if(Ye||!r.autosize)return;((tt=y.value)==null?void 0:tt.offsetParent)===null||(ye(),Ye=!0)}})(me),Ee=()=>{const ye=P.value,Ye=r.formatter?r.formatter(I.value):I.value;!ye||ye.value===Ye||(ye.value=Ye)},De=async ye=>{de();let{value:Ye}=ye.target;if(r.formatter&&(Ye=r.parser?r.parser(Ye):Ye),!x.value){if(Ye===I.value){Ee();return}o(St,Ye),o("input",Ye),await et(),Ee(),_e()}},ae=ye=>{o("change",ye.target.value)},pe=ye=>{o("compositionstart",ye),x.value=!0},ke=ye=>{var Ye;o("compositionupdate",ye);const tt=(Ye=ye.target)==null?void 0:Ye.value,pt=tt[tt.length-1]||"";x.value=!xh(pt)},Oe=ye=>{o("compositionend",ye),x.value&&(x.value=!1,De(ye))},we=()=>{$.value=!$.value,Te()},Te=async()=>{var ye;await et(),(ye=P.value)==null||ye.focus()},Ne=()=>{var ye;return(ye=P.value)==null?void 0:ye.blur()},Ie=ye=>{w.value=!1,o("mouseleave",ye)},Ae=ye=>{w.value=!0,o("mouseenter",ye)},xe=ye=>{o("keydown",ye)},We=()=>{var ye;(ye=P.value)==null||ye.select()},qe=()=>{o(St,""),o("change",""),o("clear"),o("input","")};return Se(()=>r.modelValue,()=>{var ye;et(()=>me()),r.validateEvent&&((ye=p==null?void 0:p.validate)==null||ye.call(p,"change").catch(Ye=>void 0))}),Se(I,()=>Ee()),Se(()=>r.type,async()=>{await et(),Ee(),me()}),ft(()=>{!r.formatter&&r.parser,Ee(),et(me)}),Lo({from:"label",replacement:"aria-label",version:"2.8.0",scope:"el-input",ref:"https://element-plus.org/en-US/component/input.html"},C(()=>!!r.label)),t({input:g,textarea:y,ref:P,textareaStyle:K,autosize:Yt(r,"autosize"),focus:Te,blur:Ne,select:We,clear:qe,resizeTextarea:me}),(ye,Ye)=>(b(),M("div",Mt(s(a),{class:[s(i),{[s(f).bm("group","append")]:ye.$slots.append,[s(f).bm("group","prepend")]:ye.$slots.prepend}],style:s(F),role:ye.containerRole,onMouseenter:Ae,onMouseleave:Ie}),[se(" input "),ye.type!=="textarea"?(b(),M(Qe,{key:0},[se(" prepend slot "),ye.$slots.prepend?(b(),M("div",{key:0,class:O(s(f).be("group","prepend"))},[be(ye.$slots,"prepend")],2)):se("v-if",!0),E("div",{ref_key:"wrapperRef",ref:L,class:O(s(c))},[se(" prefix slot "),ye.$slots.prefix||ye.prefixIcon?(b(),M("span",{key:0,class:O(s(f).e("prefix"))},[E("span",{class:O(s(f).e("prefix-inner"))},[be(ye.$slots,"prefix"),ye.prefixIcon?(b(),he(s(Ze),{key:0,class:O(s(f).e("icon"))},{default:le(()=>[(b(),he(Et(ye.prefixIcon)))]),_:1},8,["class"])):se("v-if",!0)],2)],2)):se("v-if",!0),E("input",Mt({id:s(h),ref_key:"input",ref:g,class:s(f).e("inner")},s(d),{minlength:ye.minlength,maxlength:ye.maxlength,type:ye.showPassword?$.value?"text":"password":ye.type,disabled:s(m),readonly:ye.readonly,autocomplete:ye.autocomplete,tabindex:ye.tabindex,"aria-label":ye.label||ye.ariaLabel,placeholder:ye.placeholder,style:ye.inputStyle,form:ye.form,autofocus:ye.autofocus,onCompositionstart:pe,onCompositionupdate:ke,onCompositionend:Oe,onInput:De,onFocus:Ye[0]||(Ye[0]=(...tt)=>s(V)&&s(V)(...tt)),onBlur:Ye[1]||(Ye[1]=(...tt)=>s(j)&&s(j)(...tt)),onChange:ae,onKeydown:xe}),null,16,jU),se(" suffix slot "),s(Me)?(b(),M("span",{key:1,class:O(s(f).e("suffix"))},[E("span",{class:O(s(f).e("suffix-inner"))},[!s(U)||!s(oe)||!s(ne)?(b(),M(Qe,{key:0},[be(ye.$slots,"suffix"),ye.suffixIcon?(b(),he(s(Ze),{key:0,class:O(s(f).e("icon"))},{default:le(()=>[(b(),he(Et(ye.suffixIcon)))]),_:1},8,["class"])):se("v-if",!0)],64)):se("v-if",!0),s(U)?(b(),he(s(Ze),{key:1,class:O([s(f).e("icon"),s(f).e("clear")]),onMousedown:ct(s(Wt),["prevent"]),onClick:qe},{default:le(()=>[ee(s(hn))]),_:1},8,["class","onMousedown"])):se("v-if",!0),s(oe)?(b(),he(s(Ze),{key:2,class:O([s(f).e("icon"),s(f).e("password")]),onClick:we},{default:le(()=>[(b(),he(Et(s(H))))]),_:1},8,["class"])):se("v-if",!0),s(ne)?(b(),M("span",{key:3,class:O(s(f).e("count"))},[E("span",{class:O(s(f).e("count-inner"))},$e(s(ce))+" / "+$e(ye.maxlength),3)],2)):se("v-if",!0),s(J)&&s(Z)&&s(te)?(b(),he(s(Ze),{key:4,class:O([s(f).e("icon"),s(f).e("validateIcon"),s(f).is("loading",s(J)==="validating")])},{default:le(()=>[(b(),he(Et(s(Z))))]),_:1},8,["class"])):se("v-if",!0)],2)],2)):se("v-if",!0)],2),se(" append slot "),ye.$slots.append?(b(),M("div",{key:1,class:O(s(f).be("group","append"))},[be(ye.$slots,"append")],2)):se("v-if",!0)],64)):(b(),M(Qe,{key:1},[se(" textarea "),E("textarea",Mt({id:s(h),ref_key:"textarea",ref:y,class:[s(_).e("inner"),s(f).is("focus",s(B))]},s(d),{minlength:ye.minlength,maxlength:ye.maxlength,tabindex:ye.tabindex,disabled:s(m),readonly:ye.readonly,autocomplete:ye.autocomplete,style:s(K),"aria-label":ye.label||ye.ariaLabel,placeholder:ye.placeholder,form:ye.form,autofocus:ye.autofocus,onCompositionstart:pe,onCompositionupdate:ke,onCompositionend:Oe,onInput:De,onFocus:Ye[2]||(Ye[2]=(...tt)=>s(V)&&s(V)(...tt)),onBlur:Ye[3]||(Ye[3]=(...tt)=>s(j)&&s(j)(...tt)),onChange:ae,onKeydown:xe}),null,16,KU),s(ne)?(b(),M("span",{key:0,style:Je(T.value),class:O(s(f).e("count"))},$e(s(ce))+" / "+$e(ye.maxlength),7)):se("v-if",!0)],64))],16,FU))}});var WU=Le(UU,[["__file","input.vue"]]);const cr=yt(WU),Qi=4,g4={vertical:{offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",key:"vertical",axis:"Y",client:"clientY",direction:"top"},horizontal:{offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",key:"horizontal",axis:"X",client:"clientX",direction:"left"}},qU=({move:e,size:t,bar:o})=>({[o.size]:t,transform:`translate${o.axis}(${e}%)`}),rv=Symbol("scrollbarContextKey"),YU=Pe({vertical:Boolean,size:String,move:Number,ratio:{type:Number,required:!0},always:Boolean}),GU="Thumb";var b4=Le(N({__name:"thumb",props:YU,setup(e){const t=e,o=Ge(rv),r=ze("scrollbar");o||Io(GU,"can not inject scrollbar context");const l=D(),n=D(),a=D({}),i=D(!1);let c=!1,d=!1,u=Nt?document.onselectstart:null;const p=C(()=>g4[t.vertical?"vertical":"horizontal"]),h=C(()=>qU({size:t.size,move:t.move,bar:p.value})),v=C(()=>l.value[p.value.offset]**2/o.wrapElement[p.value.scrollSize]/t.ratio/n.value[p.value.offset]),m=T=>{var R;if(T.stopPropagation(),T.ctrlKey||[1,2].includes(T.button))return;(R=window.getSelection())==null||R.removeAllRanges(),_(T);const P=T.currentTarget;P&&(a.value[p.value.axis]=P[p.value.offset]-(T[p.value.client]-P.getBoundingClientRect()[p.value.direction]))},f=T=>{if(!n.value||!l.value||!o.wrapElement)return;const R=Math.abs(T.target.getBoundingClientRect()[p.value.direction]-T[p.value.client]),P=n.value[p.value.offset]/2,L=(R-P)*100*v.value/l.value[p.value.offset];o.wrapElement[p.value.scroll]=L*o.wrapElement[p.value.scrollSize]/100},_=T=>{T.stopImmediatePropagation(),c=!0,document.addEventListener("mousemove",g),document.addEventListener("mouseup",y),u=document.onselectstart,document.onselectstart=()=>!1},g=T=>{if(!l.value||!n.value||c===!1)return;const R=a.value[p.value.axis];if(!R)return;const P=(l.value.getBoundingClientRect()[p.value.direction]-T[p.value.client])*-1,L=n.value[p.value.offset]-R,B=(P-L)*100*v.value/l.value[p.value.offset];o.wrapElement[p.value.scroll]=B*o.wrapElement[p.value.scrollSize]/100},y=()=>{c=!1,a.value[p.value.axis]=0,document.removeEventListener("mousemove",g),document.removeEventListener("mouseup",y),$(),d&&(i.value=!1)},w=()=>{d=!1,i.value=!!t.size},x=()=>{d=!0,i.value=c};to(()=>{$(),document.removeEventListener("mouseup",y)});const $=()=>{document.onselectstart!==u&&(document.onselectstart=u)};return oo(Yt(o,"scrollbarElement"),"mousemove",w),oo(Yt(o,"scrollbarElement"),"mouseleave",x),(T,R)=>(b(),he(Mo,{name:s(r).b("fade"),persisted:""},{default:le(()=>[mt(E("div",{ref_key:"instance",ref:l,class:O([s(r).e("bar"),s(r).is(s(p).key)]),onMousedown:f},[E("div",{ref_key:"thumb",ref:n,class:O(s(r).e("thumb")),style:Je(s(h)),onMousedown:m},null,38)],34),[[Lt,T.always||i.value]])]),_:1},8,["name"]))}}),[["__file","thumb.vue"]]);const XU=Pe({always:{type:Boolean,default:!0},minSize:{type:Number,required:!0}});var ZU=Le(N({__name:"bar",props:XU,setup(e,{expose:t}){const o=e,r=Ge(rv),l=D(0),n=D(0),a=D(""),i=D(""),c=D(1),d=D(1);return t({handleScroll:h=>{if(h){const v=h.offsetHeight-Qi,m=h.offsetWidth-Qi;n.value=h.scrollTop*100/v*c.value,l.value=h.scrollLeft*100/m*d.value}},update:()=>{const h=r==null?void 0:r.wrapElement;if(!h)return;const v=h.offsetHeight-Qi,m=h.offsetWidth-Qi,f=v**2/h.scrollHeight,_=m**2/h.scrollWidth,g=Math.max(f,o.minSize),y=Math.max(_,o.minSize);c.value=f/(v-f)/(g/(v-g)),d.value=_/(m-_)/(y/(m-y)),i.value=g+Qi(b(),M(Qe,null,[ee(b4,{move:l.value,ratio:d.value,size:a.value,always:h.always},null,8,["move","ratio","size","always"]),ee(b4,{move:n.value,ratio:c.value,size:i.value,vertical:"",always:h.always},null,8,["move","ratio","size","always"])],64))}}),[["__file","bar.vue"]]);const JU=Pe({height:{type:[String,Number],default:""},maxHeight:{type:[String,Number],default:""},native:{type:Boolean,default:!1},wrapStyle:{type:ue([String,Object,Array]),default:""},wrapClass:{type:[String,Array],default:""},viewClass:{type:[String,Array],default:""},viewStyle:{type:[String,Array,Object],default:""},noresize:Boolean,tag:{type:String,default:"div"},always:Boolean,minSize:{type:Number,default:20},id:String,role:String,...Zo(["ariaLabel","ariaOrientation"])}),QU=N({...N({name:"ElScrollbar"}),props:JU,emits:{scroll:({scrollTop:e,scrollLeft:t})=>[e,t].every(st)},setup(e,{expose:t,emit:o}){const r=e,l=ze("scrollbar");let n,a;const i=D(),c=D(),d=D(),u=D(),p=C(()=>{const w={};return r.height&&(w.height=mo(r.height)),r.maxHeight&&(w.maxHeight=mo(r.maxHeight)),[r.wrapStyle,w]}),h=C(()=>[r.wrapClass,l.e("wrap"),{[l.em("wrap","hidden-default")]:!r.native}]),v=C(()=>[l.e("view"),r.viewClass]),m=()=>{var w;c.value&&((w=u.value)==null||w.handleScroll(c.value),o("scroll",{scrollTop:c.value.scrollTop,scrollLeft:c.value.scrollLeft}))};function f(w,x){xt(w)?c.value.scrollTo(w):st(w)&&st(x)&&c.value.scrollTo(w,x)}const _=w=>{st(w)&&(c.value.scrollTop=w)},g=w=>{st(w)&&(c.value.scrollLeft=w)},y=()=>{var w;(w=u.value)==null||w.update()};return Se(()=>r.noresize,w=>{w?(n==null||n(),a==null||a()):({stop:n}=so(d,y),a=oo("resize",y))},{immediate:!0}),Se(()=>[r.maxHeight,r.height],()=>{r.native||et(()=>{var w;y(),c.value&&((w=u.value)==null||w.handleScroll(c.value))})}),zt(rv,Dt({scrollbarElement:i,wrapElement:c})),ft(()=>{r.native||et(()=>{y()})}),rn(()=>y()),t({wrapRef:c,update:y,scrollTo:f,setScrollTop:_,setScrollLeft:g,handleScroll:m}),(w,x)=>(b(),M("div",{ref_key:"scrollbarRef",ref:i,class:O(s(l).b())},[E("div",{ref_key:"wrapRef",ref:c,class:O(s(h)),style:Je(s(p)),onScroll:m},[(b(),he(Et(w.tag),{id:w.id,ref_key:"resizeRef",ref:d,class:O(s(v)),style:Je(w.viewStyle),role:w.role,"aria-label":w.ariaLabel,"aria-orientation":w.ariaOrientation},{default:le(()=>[be(w.$slots,"default")]),_:3},8,["id","class","style","role","aria-label","aria-orientation"]))],38),w.native?se("v-if",!0):(b(),he(ZU,{key:0,ref_key:"barRef",ref:u,always:w.always,"min-size":w.minSize},null,8,["always","min-size"]))],2))}});var eW=Le(QU,[["__file","scrollbar.vue"]]);const wn=yt(eW),lv=Symbol("popper"),_4=Symbol("popperContent"),w4=Pe({role:{type:String,values:["dialog","grid","group","listbox","menu","navigation","tooltip","tree"],default:"tooltip"}}),tW=N({...N({name:"ElPopper",inheritAttrs:!1}),props:w4,setup(e,{expose:t}){const o=e,r=D(),l=D(),n=D(),a=D(),i=C(()=>o.role),c={triggerRef:r,popperInstanceRef:l,contentRef:n,referenceRef:a,role:i};return t(c),zt(lv,c),(d,u)=>be(d.$slots,"default")}});var oW=Le(tW,[["__file","popper.vue"]]);const y4=Pe({arrowOffset:{type:Number,default:5}}),rW=N({...N({name:"ElPopperArrow",inheritAttrs:!1}),props:y4,setup(e,{expose:t}){const o=e,r=ze("popper"),{arrowOffset:l,arrowRef:n,arrowStyle:a}=Ge(_4,void 0);return Se(()=>o.arrowOffset,i=>{l.value=i}),to(()=>{n.value=void 0}),t({arrowRef:n}),(i,c)=>(b(),M("span",{ref_key:"arrowRef",ref:n,class:O(s(r).e("arrow")),style:Je(s(a)),"data-popper-arrow":""},null,6))}});var lW=Le(rW,[["__file","arrow.vue"]]);const x4=N({name:"ElOnlyChild",setup(e,{slots:t,attrs:o}){var r;const l=Ge(O6),n=Ij((r=l==null?void 0:l.setForwardRef)!=null?r:Wt);return()=>{var a;const i=(a=t.default)==null?void 0:a.call(t,o);if(!i||i.length>1)return null;const c=k4(i);return c?mt(nn(c,o),[[n]]):null}}});function k4(e){if(!e)return null;const t=e;for(const o of t){if(xt(o))switch(o.type){case Jo:continue;case vi:case"svg":return C4(o);case Qe:return k4(o.children);default:return o}return C4(o)}return null}function C4(e){const t=ze("only-child");return ee("span",{class:t.e("content")},[e])}const S4=Pe({virtualRef:{type:ue(Object)},virtualTriggering:Boolean,onMouseenter:{type:ue(Function)},onMouseleave:{type:ue(Function)},onClick:{type:ue(Function)},onKeydown:{type:ue(Function)},onFocus:{type:ue(Function)},onBlur:{type:ue(Function)},onContextmenu:{type:ue(Function)},id:String,open:Boolean}),nW=N({...N({name:"ElPopperTrigger",inheritAttrs:!1}),props:S4,setup(e,{expose:t}){const o=e,{role:r,triggerRef:l}=Ge(lv,void 0);zj(l);const n=C(()=>i.value?o.id:void 0),a=C(()=>{if(r&&r.value==="tooltip")return o.open&&o.id?o.id:void 0}),i=C(()=>{if(r&&r.value!=="tooltip")return r.value}),c=C(()=>i.value?`${o.open}`:void 0);let d;return ft(()=>{Se(()=>o.virtualRef,u=>{u&&(l.value=$r(u))},{immediate:!0}),Se(l,(u,p)=>{d==null||d(),d=void 0,Gr(u)&&(["onMouseenter","onMouseleave","onClick","onKeydown","onFocus","onBlur","onContextmenu"].forEach(h=>{var v;const m=o[h];m&&(u.addEventListener(h.slice(2).toLowerCase(),m),(v=p==null?void 0:p.removeEventListener)==null||v.call(p,h.slice(2).toLowerCase(),m))}),d=Se([n,a,i,c],h=>{["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach((v,m)=>{jo(h[m])?u.removeAttribute(v):u.setAttribute(v,h[m])})},{immediate:!0})),Gr(p)&&["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach(h=>p.removeAttribute(h))},{immediate:!0})}),to(()=>{d==null||d(),d=void 0}),t({triggerRef:l}),(u,p)=>u.virtualTriggering?se("v-if",!0):(b(),he(s(x4),Mt({key:0},u.$attrs,{"aria-controls":s(n),"aria-describedby":s(a),"aria-expanded":s(c),"aria-haspopup":s(i)}),{default:le(()=>[be(u.$slots,"default")]),_:3},16,["aria-controls","aria-describedby","aria-expanded","aria-haspopup"]))}});var aW=Le(nW,[["__file","trigger.vue"]]);const nv="focus-trap.focus-after-trapped",av="focus-trap.focus-after-released",iW="focus-trap.focusout-prevented",E4={cancelable:!0,bubbles:!1},sW={cancelable:!0,bubbles:!1},T4="focusAfterTrapped",$4="focusAfterReleased",iv=Symbol("elFocusTrap"),sv=D(),Qd=D(0),cv=D(0);let ep=0;const M4=e=>{const t=[],o=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const l=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||l?NodeFilter.FILTER_SKIP:r.tabIndex>=0||r===document.activeElement?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;o.nextNode();)t.push(o.currentNode);return t},A4=(e,t)=>{for(const o of e)if(!cW(o,t))return o},cW=(e,t)=>{if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1},uW=e=>{const t=M4(e),o=A4(t,e),r=A4(t.reverse(),e);return[o,r]},dW=e=>e instanceof HTMLInputElement&&"select"in e,ra=(e,t)=>{if(e&&e.focus){const o=document.activeElement;e.focus({preventScroll:!0}),cv.value=window.performance.now(),e!==o&&dW(e)&&t&&e.select()}};function z4(e,t){const o=[...e],r=e.indexOf(t);return r!==-1&&o.splice(r,1),o}const pW=()=>{let e=[];return{push:r=>{const l=e[0];l&&r!==l&&l.pause(),e=z4(e,r),e.unshift(r)},remove:r=>{var l,n;e=z4(e,r),(n=(l=e[0])==null?void 0:l.resume)==null||n.call(l)}}},fW=(e,t=!1)=>{const o=document.activeElement;for(const r of e)if(ra(r,t),document.activeElement!==o)return},I4=pW(),hW=()=>Qd.value>cv.value,tp=()=>{sv.value="pointer",Qd.value=window.performance.now()},O4=()=>{sv.value="keyboard",Qd.value=window.performance.now()},vW=()=>(ft(()=>{ep===0&&(document.addEventListener("mousedown",tp),document.addEventListener("touchstart",tp),document.addEventListener("keydown",O4)),ep++}),to(()=>{ep--,ep<=0&&(document.removeEventListener("mousedown",tp),document.removeEventListener("touchstart",tp),document.removeEventListener("keydown",O4))}),{focusReason:sv,lastUserFocusTimestamp:Qd,lastAutomatedFocusTimestamp:cv}),op=e=>new CustomEvent(iW,{...sW,detail:e}),mW=N({name:"ElFocusTrap",inheritAttrs:!1,props:{loop:Boolean,trapped:Boolean,focusTrapEl:Object,focusStartEl:{type:[Object,String],default:"first"}},emits:[T4,$4,"focusin","focusout","focusout-prevented","release-requested"],setup(e,{emit:t}){const o=D();let r,l;const{focusReason:n}=vW();Ej(m=>{e.trapped&&!a.paused&&t("release-requested",m)});const a={paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}},i=m=>{if(!e.loop&&!e.trapped||a.paused)return;const{key:f,altKey:_,ctrlKey:g,metaKey:y,currentTarget:w,shiftKey:x}=m,{loop:$}=e,T=f===lt.tab&&!_&&!g&&!y,R=document.activeElement;if(T&&R){const P=w,[L,B]=uW(P);if(L&&B){if(!x&&R===B){const j=op({focusReason:n.value});t("focusout-prevented",j),j.defaultPrevented||(m.preventDefault(),$&&ra(L,!0))}else if(x&&[L,P].includes(R)){const j=op({focusReason:n.value});t("focusout-prevented",j),j.defaultPrevented||(m.preventDefault(),$&&ra(B,!0))}}else if(R===P){const j=op({focusReason:n.value});t("focusout-prevented",j),j.defaultPrevented||m.preventDefault()}}};zt(iv,{focusTrapRef:o,onKeydown:i}),Se(()=>e.focusTrapEl,m=>{m&&(o.value=m)},{immediate:!0}),Se([o],([m],[f])=>{m&&(m.addEventListener("keydown",i),m.addEventListener("focusin",u),m.addEventListener("focusout",p)),f&&(f.removeEventListener("keydown",i),f.removeEventListener("focusin",u),f.removeEventListener("focusout",p))});const c=m=>{t(T4,m)},d=m=>t($4,m),u=m=>{const f=s(o);if(!f)return;const _=m.target,g=m.relatedTarget,y=_&&f.contains(_);e.trapped||g&&f.contains(g)||(r=g),y&&t("focusin",m),!a.paused&&e.trapped&&(y?l=_:ra(l,!0))},p=m=>{const f=s(o);if(!(a.paused||!f))if(e.trapped){const _=m.relatedTarget;!jo(_)&&!f.contains(_)&&setTimeout(()=>{if(!a.paused&&e.trapped){const g=op({focusReason:n.value});t("focusout-prevented",g),g.defaultPrevented||ra(l,!0)}},0)}else{const _=m.target;_&&f.contains(_)||t("focusout",m)}};async function h(){await et();const m=s(o);if(m){I4.push(a);const f=m.contains(document.activeElement)?r:document.activeElement;if(r=f,!m.contains(f)){const g=new Event(nv,E4);m.addEventListener(nv,c),m.dispatchEvent(g),g.defaultPrevented||et(()=>{let y=e.focusStartEl;ut(y)||(ra(y),document.activeElement!==y&&(y="first")),y==="first"&&fW(M4(m),!0),(document.activeElement===f||y==="container")&&ra(m)})}}}function v(){const m=s(o);if(m){m.removeEventListener(nv,c);const f=new CustomEvent(av,{...E4,detail:{focusReason:n.value}});m.addEventListener(av,d),m.dispatchEvent(f),!f.defaultPrevented&&(n.value=="keyboard"||!hW()||m.contains(document.activeElement))&&ra(r??document.body),m.removeEventListener(av,d),I4.remove(a)}}return ft(()=>{e.trapped&&h(),Se(()=>e.trapped,m=>{m?h():v()})}),to(()=>{e.trapped&&v()}),{onKeydown:i}}});function gW(e,t,o,r,l,n){return be(e.$slots,"default",{handleKeydown:e.onKeydown})}var Nc=Le(mW,[["render",gW],["__file","focus-trap.vue"]]);const bW=["fixed","absolute"],_W=Pe({boundariesPadding:{type:Number,default:0},fallbackPlacements:{type:ue(Array),default:void 0},gpuAcceleration:{type:Boolean,default:!0},offset:{type:Number,default:12},placement:{type:String,values:Va,default:"bottom"},popperOptions:{type:ue(Object),default:()=>({})},strategy:{type:String,values:bW,default:"absolute"}}),N4=Pe({..._W,id:String,style:{type:ue([String,Array,Object])},className:{type:ue([String,Array,Object])},effect:{type:String,default:"dark"},visible:Boolean,enterable:{type:Boolean,default:!0},pure:Boolean,focusOnShow:{type:Boolean,default:!1},trapping:{type:Boolean,default:!1},popperClass:{type:ue([String,Array,Object])},popperStyle:{type:ue([String,Array,Object])},referenceEl:{type:ue(Object)},triggerTargetEl:{type:ue(Object)},stopPopperMouseEvent:{type:Boolean,default:!0},virtualTriggering:Boolean,zIndex:Number,...Zo(["ariaLabel"])}),wW={mouseenter:e=>e instanceof MouseEvent,mouseleave:e=>e instanceof MouseEvent,focus:()=>!0,blur:()=>!0,close:()=>!0},yW=(e,t=[])=>{const{placement:o,strategy:r,popperOptions:l}=e,n={placement:o,strategy:r,...l,modifiers:[...kW(e),...t]};return CW(n,l==null?void 0:l.modifiers),n},xW=e=>{if(Nt)return $r(e)};function kW(e){const{offset:t,gpuAcceleration:o,fallbackPlacements:r}=e;return[{name:"offset",options:{offset:[0,t??12]}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5,fallbackPlacements:r}},{name:"computeStyles",options:{gpuAcceleration:o}}]}function CW(e,t){t&&(e.modifiers=[...e.modifiers,...t??[]])}const SW=0,EW=e=>{const{popperInstanceRef:t,contentRef:o,triggerRef:r,role:l}=Ge(lv,void 0),n=D(),a=D(),i=C(()=>({name:"eventListeners",enabled:!!e.visible})),c=C(()=>{var g;const y=s(n),w=(g=s(a))!=null?g:SW;return{name:"arrow",enabled:!C3(y),options:{element:y,padding:w}}}),d=C(()=>({onFirstUpdate:()=>{m()},...yW(e,[s(c),s(i)])})),u=C(()=>xW(e.referenceEl)||s(r)),{attributes:p,state:h,styles:v,update:m,forceUpdate:f,instanceRef:_}=xj(u,o,d);return Se(_,g=>t.value=g),ft(()=>{Se(()=>{var g;return(g=s(u))==null?void 0:g.getBoundingClientRect()},()=>{m()})}),{attributes:p,arrowRef:n,contentRef:o,instanceRef:_,state:h,styles:v,role:l,forceUpdate:f,update:m}},TW=(e,{attributes:t,styles:o,role:r})=>{const{nextZIndex:l}=Ki(),n=ze("popper"),a=C(()=>s(t).popper),i=D(st(e.zIndex)?e.zIndex:l()),c=C(()=>[n.b(),n.is("pure",e.pure),n.is(e.effect),e.popperClass]),d=C(()=>[{zIndex:s(i)},s(o).popper,e.popperStyle||{}]),u=C(()=>r.value==="dialog"?"false":void 0),p=C(()=>s(o).arrow||{});return{ariaModal:u,arrowStyle:p,contentAttrs:a,contentClass:c,contentStyle:d,contentZIndex:i,updateZIndex:()=>{i.value=st(e.zIndex)?e.zIndex:l()}}},$W=(e,t)=>{const o=D(!1),r=D();return{focusStartRef:r,trapped:o,onFocusAfterReleased:d=>{var u;((u=d.detail)==null?void 0:u.focusReason)!=="pointer"&&(r.value="first",t("blur"))},onFocusAfterTrapped:()=>{t("focus")},onFocusInTrap:d=>{e.visible&&!o.value&&(d.target&&(r.value=d.target),o.value=!0)},onFocusoutPrevented:d=>{e.trapping||(d.detail.focusReason==="pointer"&&d.preventDefault(),o.value=!1)},onReleaseRequested:()=>{o.value=!1,t("close")}}},MW=N({...N({name:"ElPopperContent"}),props:N4,emits:wW,setup(e,{expose:t,emit:o}){const r=e,{focusStartRef:l,trapped:n,onFocusAfterReleased:a,onFocusAfterTrapped:i,onFocusInTrap:c,onFocusoutPrevented:d,onReleaseRequested:u}=$W(r,o),{attributes:p,arrowRef:h,contentRef:v,styles:m,instanceRef:f,role:_,update:g}=EW(r),{ariaModal:y,arrowStyle:w,contentAttrs:x,contentClass:$,contentStyle:T,updateZIndex:R}=TW(r,{styles:m,attributes:p,role:_}),P=Ge(Hl,void 0),L=D();zt(_4,{arrowStyle:w,arrowRef:h,arrowOffset:L}),P&&zt(Hl,{...P,addInputId:Wt,removeInputId:Wt});let B;const V=(te=!0)=>{g(),te&&R()},j=()=>{V(!1),r.visible&&r.focusOnShow?n.value=!0:r.visible===!1&&(n.value=!1)};return ft(()=>{Se(()=>r.triggerTargetEl,(te,J)=>{B==null||B(),B=void 0;const Z=s(te||v.value),H=s(J||v.value);Gr(Z)&&(B=Se([_,()=>r.ariaLabel,y,()=>r.id],F=>{["role","aria-label","aria-modal","id"].forEach((K,I)=>{jo(F[I])?Z.removeAttribute(K):Z.setAttribute(K,F[I])})},{immediate:!0})),H!==Z&&Gr(H)&&["role","aria-label","aria-modal","id"].forEach(F=>{H.removeAttribute(F)})},{immediate:!0}),Se(()=>r.visible,j,{immediate:!0})}),to(()=>{B==null||B(),B=void 0}),t({popperContentRef:v,popperInstanceRef:f,updatePopper:V,contentStyle:T}),(te,J)=>(b(),M("div",Mt({ref_key:"contentRef",ref:v},s(x),{style:s(T),class:s($),tabindex:"-1",onMouseenter:J[0]||(J[0]=Z=>te.$emit("mouseenter",Z)),onMouseleave:J[1]||(J[1]=Z=>te.$emit("mouseleave",Z))}),[ee(s(Nc),{trapped:s(n),"trap-on-focus-in":!0,"focus-trap-el":s(v),"focus-start-el":s(l),onFocusAfterTrapped:s(i),onFocusAfterReleased:s(a),onFocusin:s(c),onFocusoutPrevented:s(d),onReleaseRequested:s(u)},{default:le(()=>[be(te.$slots,"default")]),_:3},8,["trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusin","onFocusoutPrevented","onReleaseRequested"])],16))}});var AW=Le(MW,[["__file","content.vue"]]);const P4=yt(oW),rp=Symbol("elTooltip"),Uo=Pe({...Mj,...N4,appendTo:{type:ue([String,Object])},content:{type:String,default:""},rawContent:{type:Boolean,default:!1},persistent:Boolean,visible:{type:ue(Boolean),default:null},transition:String,teleported:{type:Boolean,default:!0},disabled:Boolean,...Zo(["ariaLabel"])}),Pc=Pe({...S4,disabled:Boolean,trigger:{type:ue([String,Array]),default:"hover"},triggerKeys:{type:ue(Array),default:()=>[lt.enter,lt.space]}}),{useModelToggleProps:zW,useModelToggleEmits:IW,useModelToggle:OW}=a6("visible"),NW=Pe({...w4,...zW,...Uo,...Pc,...y4,showArrow:{type:Boolean,default:!0}}),PW=[...IW,"before-show","before-hide","show","hide","open","close"],RW=(e,t)=>Ke(e)?e.includes(t):e===t,es=(e,t,o)=>r=>{RW(s(e),t)&&o(r)},LW=N({...N({name:"ElTooltipTrigger"}),props:Pc,setup(e,{expose:t}){const o=e,r=ze("tooltip"),{controlled:l,id:n,open:a,onOpen:i,onClose:c,onToggle:d}=Ge(rp,void 0),u=D(null),p=()=>{if(s(l)||o.disabled)return!0},h=Yt(o,"trigger"),v=ho(p,es(h,"hover",i)),m=ho(p,es(h,"hover",c)),f=ho(p,es(h,"click",x=>{x.button===0&&d(x)})),_=ho(p,es(h,"focus",i)),g=ho(p,es(h,"focus",c)),y=ho(p,es(h,"contextmenu",x=>{x.preventDefault(),d(x)})),w=ho(p,x=>{const{code:$}=x;o.triggerKeys.includes($)&&(x.preventDefault(),d(x))});return t({triggerRef:u}),(x,$)=>(b(),he(s(aW),{id:s(n),"virtual-ref":x.virtualRef,open:s(a),"virtual-triggering":x.virtualTriggering,class:O(s(r).e("trigger")),onBlur:s(g),onClick:s(f),onContextmenu:s(y),onFocus:s(_),onMouseenter:s(v),onMouseleave:s(m),onKeydown:s(w)},{default:le(()=>[be(x.$slots,"default")]),_:3},8,["id","virtual-ref","open","virtual-triggering","class","onBlur","onClick","onContextmenu","onFocus","onMouseenter","onMouseleave","onKeydown"]))}});var BW=Le(LW,[["__file","trigger.vue"]]);const VW=N({...N({name:"ElTooltipContent",inheritAttrs:!1}),props:Uo,setup(e,{expose:t}){const o=e,{selector:r}=I6(),l=ze("tooltip"),n=D(null),a=D(!1),{controlled:i,id:c,open:d,trigger:u,onClose:p,onOpen:h,onShow:v,onHide:m,onBeforeShow:f,onBeforeHide:_}=Ge(rp,void 0),g=C(()=>o.transition||`${l.namespace.value}-fade-in-linear`),y=C(()=>o.persistent);to(()=>{a.value=!0});const w=C(()=>s(y)?!0:s(d)),x=C(()=>o.disabled?!1:s(d)),$=C(()=>o.appendTo||r.value),T=C(()=>{var F;return(F=o.style)!=null?F:{}}),R=C(()=>!s(d)),P=()=>{m()},L=()=>{if(s(i))return!0},B=ho(L,()=>{o.enterable&&s(u)==="hover"&&h()}),V=ho(L,()=>{s(u)==="hover"&&p()}),j=()=>{var F,K;(K=(F=n.value)==null?void 0:F.updatePopper)==null||K.call(F),f==null||f()},te=()=>{_==null||_()},J=()=>{v(),H=I0(C(()=>{var F;return(F=n.value)==null?void 0:F.popperContentRef}),()=>{if(s(i))return;s(u)!=="hover"&&p()})},Z=()=>{o.virtualTriggering||p()};let H;return Se(()=>s(d),F=>{F||H==null||H()},{flush:"post"}),Se(()=>o.content,()=>{var F,K;(K=(F=n.value)==null?void 0:F.updatePopper)==null||K.call(F)}),t({contentRef:n}),(F,K)=>(b(),he(hi,{disabled:!F.teleported,to:s($)},[ee(Mo,{name:s(g),onAfterLeave:P,onBeforeEnter:j,onAfterEnter:J,onBeforeLeave:te},{default:le(()=>[s(w)?mt((b(),he(s(AW),Mt({key:0,id:s(c),ref_key:"contentRef",ref:n},F.$attrs,{"aria-label":F.ariaLabel,"aria-hidden":s(R),"boundaries-padding":F.boundariesPadding,"fallback-placements":F.fallbackPlacements,"gpu-acceleration":F.gpuAcceleration,offset:F.offset,placement:F.placement,"popper-options":F.popperOptions,strategy:F.strategy,effect:F.effect,enterable:F.enterable,pure:F.pure,"popper-class":F.popperClass,"popper-style":[F.popperStyle,s(T)],"reference-el":F.referenceEl,"trigger-target-el":F.triggerTargetEl,visible:s(x),"z-index":F.zIndex,onMouseenter:s(B),onMouseleave:s(V),onBlur:Z,onClose:s(p)}),{default:le(()=>[a.value?se("v-if",!0):be(F.$slots,"default",{key:0})]),_:3},16,["id","aria-label","aria-hidden","boundaries-padding","fallback-placements","gpu-acceleration","offset","placement","popper-options","strategy","effect","enterable","pure","popper-class","popper-style","reference-el","trigger-target-el","visible","z-index","onMouseenter","onMouseleave","onClose"])),[[Lt,s(x)]]):se("v-if",!0)]),_:3},8,["name"])],8,["disabled","to"]))}});var DW=Le(VW,[["__file","content.vue"]]);const HW=["innerHTML"],FW={key:1},jW=N({...N({name:"ElTooltip"}),props:NW,emits:PW,setup(e,{expose:t,emit:o}){const r=e;$j();const l=Qo(),n=D(),a=D(),i=()=>{var g;const y=s(n);y&&((g=y.popperInstanceRef)==null||g.update())},c=D(!1),d=D(),{show:u,hide:p,hasUpdateHandler:h}=OW({indicator:c,toggleReason:d}),{onOpen:v,onClose:m}=Aj({showAfter:Yt(r,"showAfter"),hideAfter:Yt(r,"hideAfter"),autoClose:Yt(r,"autoClose"),open:u,close:p}),f=C(()=>Co(r.visible)&&!h.value);zt(rp,{controlled:f,id:l,open:ui(c),trigger:Yt(r,"trigger"),onOpen:g=>{v(g)},onClose:g=>{m(g)},onToggle:g=>{s(c)?m(g):v(g)},onShow:()=>{o("show",d.value)},onHide:()=>{o("hide",d.value)},onBeforeShow:()=>{o("before-show",d.value)},onBeforeHide:()=>{o("before-hide",d.value)},updatePopper:i}),Se(()=>r.disabled,g=>{g&&c.value&&(c.value=!1)});const _=g=>{var y,w;const x=(w=(y=a.value)==null?void 0:y.contentRef)==null?void 0:w.popperContentRef,$=(g==null?void 0:g.relatedTarget)||document.activeElement;return x&&x.contains($)};return jg(()=>c.value&&p()),t({popperRef:n,contentRef:a,isFocusInsideContent:_,updatePopper:i,onOpen:v,onClose:m,hide:p}),(g,y)=>(b(),he(s(P4),{ref_key:"popperRef",ref:n,role:g.role},{default:le(()=>[ee(BW,{disabled:g.disabled,trigger:g.trigger,"trigger-keys":g.triggerKeys,"virtual-ref":g.virtualRef,"virtual-triggering":g.virtualTriggering},{default:le(()=>[g.$slots.default?be(g.$slots,"default",{key:0}):se("v-if",!0)]),_:3},8,["disabled","trigger","trigger-keys","virtual-ref","virtual-triggering"]),ee(DW,{ref_key:"contentRef",ref:a,"aria-label":g.ariaLabel,"boundaries-padding":g.boundariesPadding,content:g.content,disabled:g.disabled,effect:g.effect,enterable:g.enterable,"fallback-placements":g.fallbackPlacements,"hide-after":g.hideAfter,"gpu-acceleration":g.gpuAcceleration,offset:g.offset,persistent:g.persistent,"popper-class":g.popperClass,"popper-style":g.popperStyle,placement:g.placement,"popper-options":g.popperOptions,pure:g.pure,"raw-content":g.rawContent,"reference-el":g.referenceEl,"trigger-target-el":g.triggerTargetEl,"show-after":g.showAfter,strategy:g.strategy,teleported:g.teleported,transition:g.transition,"virtual-triggering":g.virtualTriggering,"z-index":g.zIndex,"append-to":g.appendTo},{default:le(()=>[be(g.$slots,"content",{},()=>[g.rawContent?(b(),M("span",{key:0,innerHTML:g.content},null,8,HW)):(b(),M("span",FW,$e(g.content),1))]),g.showArrow?(b(),he(s(lW),{key:0,"arrow-offset":g.arrowOffset},null,8,["arrow-offset"])):se("v-if",!0)]),_:3},8,["aria-label","boundaries-padding","content","disabled","effect","enterable","fallback-placements","hide-after","gpu-acceleration","offset","persistent","popper-class","popper-style","placement","popper-options","pure","raw-content","reference-el","trigger-target-el","show-after","strategy","teleported","transition","virtual-triggering","z-index","append-to"])]),_:3},8,["role"]))}});var KW=Le(jW,[["__file","tooltip.vue"]]);const ur=yt(KW),UW=Pe({valueKey:{type:String,default:"value"},modelValue:{type:[String,Number],default:""},debounce:{type:Number,default:300},placement:{type:ue(String),values:["top","top-start","top-end","bottom","bottom-start","bottom-end"],default:"bottom-start"},fetchSuggestions:{type:ue([Function,Array]),default:Wt},popperClass:{type:String,default:""},triggerOnFocus:{type:Boolean,default:!0},selectWhenUnmatched:{type:Boolean,default:!1},hideLoading:{type:Boolean,default:!1},teleported:Uo.teleported,highlightFirstItem:{type:Boolean,default:!1},fitInputWidth:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},name:String,...Zo(["ariaLabel"])}),WW={[St]:e=>ut(e),[yr]:e=>ut(e),[ro]:e=>ut(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,select:e=>xt(e)},qW=["aria-expanded","aria-owns"],YW={key:0},GW=["id","aria-selected","onClick"],R4="ElAutocomplete",XW=N({...N({name:R4,inheritAttrs:!1}),props:UW,emits:WW,setup(e,{expose:t,emit:o}){const r=e,l=kh(),n=ya(),a=xr(),i=ze("autocomplete"),c=D(),d=D(),u=D(),p=D();let h=!1,v=!1;const m=D([]),f=D(-1),_=D(""),g=D(!1),y=D(!1),w=D(!1),x=Qo(),$=C(()=>n.style),T=C(()=>(m.value.length>0||w.value)&&g.value),R=C(()=>!r.hideLoading&&w.value),P=C(()=>c.value?Array.from(c.value.$el.querySelectorAll("input")):[]),L=()=>{T.value&&(_.value=`${c.value.$el.offsetWidth}px`)},B=()=>{f.value=-1},j=Mr(async de=>{if(y.value)return;const _e=me=>{w.value=!1,!y.value&&(Ke(me)?(m.value=me,f.value=r.highlightFirstItem?0:-1):Io(R4,"autocomplete suggestions must be an array"))};if(w.value=!0,Ke(r.fetchSuggestions))_e(r.fetchSuggestions);else{const me=await r.fetchSuggestions(de,_e);Ke(me)&&_e(me)}},r.debounce),te=de=>{const _e=!!de;if(o(yr,de),o(St,de),y.value=!1,g.value||(g.value=_e),!r.triggerOnFocus&&!de){y.value=!0,m.value=[];return}j(de)},J=de=>{var _e;a.value||(((_e=de.target)==null?void 0:_e.tagName)!=="INPUT"||P.value.includes(document.activeElement))&&(g.value=!0)},Z=de=>{o(ro,de)},H=de=>{v?v=!1:(g.value=!0,o("focus",de),r.triggerOnFocus&&!h&&j(String(r.modelValue)))},F=de=>{setTimeout(()=>{var _e;if((_e=u.value)!=null&&_e.isFocusInsideContent()){v=!0;return}g.value&&oe(),o("blur",de)})},K=()=>{g.value=!1,o(St,""),o("clear")},I=async()=>{T.value&&f.value>=0&&f.value{T.value&&(de.preventDefault(),de.stopPropagation(),oe())},oe=()=>{g.value=!1},ne=()=>{var de;(de=c.value)==null||de.focus()},ce=()=>{var de;(de=c.value)==null||de.blur()},Q=async de=>{o(yr,de[r.valueKey]),o(St,de[r.valueKey]),o("select",de),m.value=[],f.value=-1},Me=de=>{if(!T.value||w.value)return;if(de<0){f.value=-1;return}de>=m.value.length&&(de=m.value.length-1);const _e=d.value.querySelector(`.${i.be("suggestion","wrap")}`),Re=_e.querySelectorAll(`.${i.be("suggestion","list")} li`)[de],Ce=_e.scrollTop,{offsetTop:Ee,scrollHeight:De}=Re;Ee+De>Ce+_e.clientHeight&&(_e.scrollTop+=De),Ee{T.value&&oe()}),ft(()=>{c.value.ref.setAttribute("role","textbox"),c.value.ref.setAttribute("aria-autocomplete","list"),c.value.ref.setAttribute("aria-controls","id"),c.value.ref.setAttribute("aria-activedescendant",`${x.value}-item-${f.value}`),h=c.value.ref.hasAttribute("readonly")}),t({highlightedIndex:f,activated:g,loading:w,inputRef:c,popperRef:u,suggestions:m,handleSelect:Q,handleKeyEnter:I,focus:ne,blur:ce,close:oe,highlight:Me}),(de,_e)=>(b(),he(s(ur),{ref_key:"popperRef",ref:u,visible:s(T),placement:de.placement,"fallback-placements":["bottom-start","top-start"],"popper-class":[s(i).e("popper"),de.popperClass],teleported:de.teleported,"gpu-acceleration":!1,pure:"","manual-mode":"",effect:"light",trigger:"click",transition:`${s(i).namespace.value}-zoom-in-top`,persistent:"",role:"listbox",onBeforeShow:L,onHide:B},{content:le(()=>[E("div",{ref_key:"regionRef",ref:d,class:O([s(i).b("suggestion"),s(i).is("loading",s(R))]),style:Je({[de.fitInputWidth?"width":"minWidth"]:_.value,outline:"none"}),role:"region"},[ee(s(wn),{id:s(x),tag:"ul","wrap-class":s(i).be("suggestion","wrap"),"view-class":s(i).be("suggestion","list"),role:"listbox"},{default:le(()=>[s(R)?(b(),M("li",YW,[be(de.$slots,"loading",{},()=>[ee(s(Ze),{class:O(s(i).is("loading"))},{default:le(()=>[ee(s(vn))]),_:1},8,["class"])])])):(b(!0),M(Qe,{key:1},It(m.value,(me,Re)=>(b(),M("li",{id:`${s(x)}-item-${Re}`,key:Re,class:O({highlighted:f.value===Re}),role:"option","aria-selected":f.value===Re,onClick:Ce=>Q(me)},[be(de.$slots,"default",{item:me},()=>[Ct($e(me[de.valueKey]),1)])],10,GW))),128))]),_:3},8,["id","wrap-class","view-class"])],6)]),default:le(()=>[E("div",{ref_key:"listboxRef",ref:p,class:O([s(i).b(),de.$attrs.class]),style:Je(s($)),role:"combobox","aria-haspopup":"listbox","aria-expanded":s(T),"aria-owns":s(x)},[ee(s(cr),Mt({ref_key:"inputRef",ref:c},s(l),{clearable:de.clearable,disabled:s(a),name:de.name,"model-value":de.modelValue,"aria-label":de.ariaLabel,onInput:te,onChange:Z,onFocus:H,onBlur:F,onClear:K,onKeydown:[_e[0]||(_e[0]=Gt(ct(me=>Me(f.value-1),["prevent"]),["up"])),_e[1]||(_e[1]=Gt(ct(me=>Me(f.value+1),["prevent"]),["down"])),Gt(I,["enter"]),Gt(oe,["tab"]),Gt(U,["esc"])],onMousedown:J}),ln({_:2},[de.$slots.prepend?{name:"prepend",fn:le(()=>[be(de.$slots,"prepend")])}:void 0,de.$slots.append?{name:"append",fn:le(()=>[be(de.$slots,"append")])}:void 0,de.$slots.prefix?{name:"prefix",fn:le(()=>[be(de.$slots,"prefix")])}:void 0,de.$slots.suffix?{name:"suffix",fn:le(()=>[be(de.$slots,"suffix")])}:void 0]),1040,["clearable","disabled","name","model-value","aria-label","onKeydown"])],14,qW)]),_:3},8,["visible","placement","popper-class","teleported","transition"]))}});var ZW=Le(XW,[["__file","autocomplete.vue"]]);const JW=yt(ZW),QW=Pe({size:{type:[Number,String],values:Rl,default:"",validator:e=>st(e)},shape:{type:String,values:["circle","square"],default:"circle"},icon:{type:Xt},src:{type:String,default:""},alt:String,srcSet:String,fit:{type:ue(String),default:"cover"}}),eq={error:e=>e instanceof Event},tq=["src","alt","srcset"],oq=N({...N({name:"ElAvatar"}),props:QW,emits:eq,setup(e,{emit:t}){const o=e,r=ze("avatar"),l=D(!1),n=C(()=>{const{size:d,icon:u,shape:p}=o,h=[r.b()];return ut(d)&&h.push(r.m(d)),u&&h.push(r.m("icon")),p&&h.push(r.m(p)),h}),a=C(()=>{const{size:d}=o;return st(d)?r.cssVarBlock({size:mo(d)||""}):void 0}),i=C(()=>({objectFit:o.fit}));Se(()=>o.src,()=>l.value=!1);function c(d){l.value=!0,t("error",d)}return(d,u)=>(b(),M("span",{class:O(s(n)),style:Je(s(a))},[(d.src||d.srcSet)&&!l.value?(b(),M("img",{key:0,src:d.src,alt:d.alt,srcset:d.srcSet,style:Je(s(i)),onError:c},null,44,tq)):d.icon?(b(),he(s(Ze),{key:1},{default:le(()=>[(b(),he(Et(d.icon)))]),_:1})):be(d.$slots,"default",{key:2})],6))}});var rq=Le(oq,[["__file","avatar.vue"]]);const lq=yt(rq),nq={visibilityHeight:{type:Number,default:200},target:{type:String,default:""},right:{type:Number,default:40},bottom:{type:Number,default:40}},aq={click:e=>e instanceof MouseEvent},iq=(e,t,o)=>{const r=lo(),l=lo(),n=D(!1),a=()=>{r.value&&(n.value=r.value.scrollTop>=e.visibilityHeight)},i=d=>{var u;(u=r.value)==null||u.scrollTo({top:0,behavior:"smooth"}),t("click",d)},c=Xb(a,300,!0);return oo(l,"scroll",c),ft(()=>{var d;l.value=document,r.value=document.documentElement,e.target&&(r.value=(d=document.querySelector(e.target))!=null?d:void 0,r.value||Io(o,`target does not exist: ${e.target}`),l.value=r.value),a()}),{visible:n,handleClick:i}},L4="ElBacktop",sq=N({...N({name:L4}),props:nq,emits:aq,setup(e,{emit:t}){const o=e,r=ze("backtop"),{handleClick:l,visible:n}=iq(o,t,L4),a=C(()=>({right:`${o.right}px`,bottom:`${o.bottom}px`}));return(i,c)=>(b(),he(Mo,{name:`${s(r).namespace.value}-fade-in`},{default:le(()=>[s(n)?(b(),M("div",{key:0,style:Je(s(a)),class:O(s(r).b()),onClick:c[0]||(c[0]=ct((...d)=>s(l)&&s(l)(...d),["stop"]))},[be(i.$slots,"default",{},()=>[ee(s(Ze),{class:O(s(r).e("icon"))},{default:le(()=>[ee(s(O3))]),_:1},8,["class"])])],6)):se("v-if",!0)]),_:3},8,["name"]))}});var cq=Le(sq,[["__file","backtop.vue"]]);const uq=yt(cq),dq=Pe({value:{type:[String,Number],default:""},max:{type:Number,default:99},isDot:Boolean,hidden:Boolean,type:{type:String,values:["primary","success","warning","info","danger"],default:"danger"},showZero:{type:Boolean,default:!0},color:String,dotStyle:{type:ue([String,Object,Array])},badgeStyle:{type:ue([String,Object,Array])},offset:{type:ue(Array),default:[0,0]},dotClass:{type:String},badgeClass:{type:String}}),pq=["textContent"],fq=N({...N({name:"ElBadge"}),props:dq,setup(e,{expose:t}){const o=e,r=ze("badge"),l=C(()=>o.isDot?"":st(o.value)&&st(o.max)?o.max{var a,i,c,d,u,p;return[{backgroundColor:o.color,marginRight:mo(-((i=(a=o.offset)==null?void 0:a[0])!=null?i:0)),marginTop:mo((d=(c=o.offset)==null?void 0:c[1])!=null?d:0)},(u=o.dotStyle)!=null?u:{},(p=o.badgeStyle)!=null?p:{}]});return Lo({from:"dot-style",replacement:"badge-style",version:"2.8.0",scope:"el-badge",ref:"https://element-plus.org/en-US/component/badge.html"},C(()=>!!o.dotStyle)),Lo({from:"dot-class",replacement:"badge-class",version:"2.8.0",scope:"el-badge",ref:"https://element-plus.org/en-US/component/badge.html"},C(()=>!!o.dotClass)),t({content:l}),(a,i)=>(b(),M("div",{class:O(s(r).b())},[be(a.$slots,"default"),ee(Mo,{name:`${s(r).namespace.value}-zoom-in-center`,persisted:""},{default:le(()=>[mt(E("sup",{class:O([s(r).e("content"),s(r).em("content",a.type),s(r).is("fixed",!!a.$slots.default),s(r).is("dot",a.isDot),a.dotClass,a.badgeClass]),style:Je(s(n)),textContent:$e(s(l))},null,14,pq),[[Lt,!a.hidden&&(s(l)||a.isDot)]])]),_:1},8,["name"])],2))}});var hq=Le(fq,[["__file","badge.vue"]]);const B4=yt(hq),V4=Symbol("breadcrumbKey"),vq=Pe({separator:{type:String,default:"/"},separatorIcon:{type:Xt}}),mq=["aria-label"],gq=N({...N({name:"ElBreadcrumb"}),props:vq,setup(e){const t=e,{t:o}=Rt(),r=ze("breadcrumb"),l=D();return zt(V4,t),ft(()=>{const n=l.value.querySelectorAll(`.${r.e("item")}`);n.length&&n[n.length-1].setAttribute("aria-current","page")}),(n,a)=>(b(),M("div",{ref_key:"breadcrumb",ref:l,class:O(s(r).b()),"aria-label":s(o)("el.breadcrumb.label"),role:"navigation"},[be(n.$slots,"default")],10,mq))}});var bq=Le(gq,[["__file","breadcrumb.vue"]]);const _q=Pe({to:{type:ue([String,Object]),default:""},replace:{type:Boolean,default:!1}}),wq=N({...N({name:"ElBreadcrumbItem"}),props:_q,setup(e){const t=e,o=wt(),r=Ge(V4,void 0),l=ze("breadcrumb"),n=o.appContext.config.globalProperties.$router,a=D(),i=()=>{!t.to||!n||(t.replace?n.replace(t.to):n.push(t.to))};return(c,d)=>{var u,p;return b(),M("span",{class:O(s(l).e("item"))},[E("span",{ref_key:"link",ref:a,class:O([s(l).e("inner"),s(l).is("link",!!c.to)]),role:"link",onClick:i},[be(c.$slots,"default")],2),(u=s(r))!=null&&u.separatorIcon?(b(),he(s(Ze),{key:0,class:O(s(l).e("separator"))},{default:le(()=>[(b(),he(Et(s(r).separatorIcon)))]),_:1},8,["class"])):(b(),M("span",{key:1,class:O(s(l).e("separator")),role:"presentation"},$e((p=s(r))==null?void 0:p.separator),3))],2)}}});var D4=Le(wq,[["__file","breadcrumb-item.vue"]]);const yq=yt(bq,{BreadcrumbItem:D4}),xq=co(D4),H4=Symbol("buttonGroupContextKey"),kq=(e,t)=>{Lo({from:"type.text",replacement:"link",version:"3.0.0",scope:"props",ref:"https://element-plus.org/en-US/component/button.html#button-attributes"},C(()=>e.type==="text"));const o=Ge(H4,void 0),r=Mc("button"),{form:l}=sr(),n=So(C(()=>o==null?void 0:o.size)),a=xr(),i=D(),c=Do(),d=C(()=>e.type||(o==null?void 0:o.type)||""),u=C(()=>{var m,f,_;return(_=(f=e.autoInsertSpace)!=null?f:(m=r.value)==null?void 0:m.autoInsertSpace)!=null?_:!1}),p=C(()=>e.tag==="button"?{ariaDisabled:a.value||e.loading,disabled:a.value||e.loading,autofocus:e.autofocus,type:e.nativeType}:{}),h=C(()=>{var m;const f=(m=c.default)==null?void 0:m.call(c);if(u.value&&(f==null?void 0:f.length)===1){const _=f[0];if((_==null?void 0:_.type)===vi){const g=_.children;return new RegExp("^\\p{Unified_Ideograph}{2}$","u").test(g.trim())}}return!1});return{_disabled:a,_size:n,_type:d,_ref:i,_props:p,shouldAddSpace:h,handleClick:m=>{e.nativeType==="reset"&&(l==null||l.resetFields()),t("click",m)}}},uv=["default","primary","success","warning","info","danger","text",""],dv=Pe({size:Oo,disabled:Boolean,type:{type:String,values:uv,default:""},icon:{type:Xt},nativeType:{type:String,values:["button","submit","reset"],default:"button"},loading:Boolean,loadingIcon:{type:Xt,default:()=>vn},plain:Boolean,text:Boolean,link:Boolean,bg:Boolean,autofocus:Boolean,round:Boolean,circle:Boolean,color:String,dark:Boolean,autoInsertSpace:{type:Boolean,default:void 0},tag:{type:ue([String,Object]),default:"button"}}),Cq={click:e=>e instanceof MouseEvent};function er(e,t){Sq(e)&&(e="100%");var o=Eq(e);return e=t===360?e:Math.min(t,Math.max(0,parseFloat(e))),o&&(e=parseInt(String(e*t),10)/100),Math.abs(e-t)<1e-6?1:(t===360?e=(e<0?e%t+t:e%t)/parseFloat(String(t)):e=e%t/parseFloat(String(t)),e)}function lp(e){return Math.min(1,Math.max(0,e))}function Sq(e){return typeof e=="string"&&e.indexOf(".")!==-1&&parseFloat(e)===1}function Eq(e){return typeof e=="string"&&e.indexOf("%")!==-1}function F4(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function np(e){return e<=1?"".concat(Number(e)*100,"%"):e}function qa(e){return e.length===1?"0"+e:String(e)}function Tq(e,t,o){return{r:er(e,255)*255,g:er(t,255)*255,b:er(o,255)*255}}function j4(e,t,o){e=er(e,255),t=er(t,255),o=er(o,255);var r=Math.max(e,t,o),l=Math.min(e,t,o),n=0,a=0,i=(r+l)/2;if(r===l)a=0,n=0;else{var c=r-l;switch(a=i>.5?c/(2-r-l):c/(r+l),r){case e:n=(t-o)/c+(t1&&(o-=1),o<1/6?e+(t-e)*(6*o):o<1/2?t:o<2/3?e+(t-e)*(2/3-o)*6:e}function $q(e,t,o){var r,l,n;if(e=er(e,360),t=er(t,100),o=er(o,100),t===0)l=o,n=o,r=o;else{var a=o<.5?o*(1+t):o+t-o*t,i=2*o-a;r=pv(i,a,e+1/3),l=pv(i,a,e),n=pv(i,a,e-1/3)}return{r:r*255,g:l*255,b:n*255}}function K4(e,t,o){e=er(e,255),t=er(t,255),o=er(o,255);var r=Math.max(e,t,o),l=Math.min(e,t,o),n=0,a=r,i=r-l,c=r===0?0:i/r;if(r===l)n=0;else{switch(r){case e:n=(t-o)/i+(t>16,g:(e&65280)>>8,b:e&255}}var fv={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function Oq(e){var t={r:0,g:0,b:0},o=1,r=null,l=null,n=null,a=!1,i=!1;return typeof e=="string"&&(e=Rq(e)),typeof e=="object"&&(yn(e.r)&&yn(e.g)&&yn(e.b)?(t=Tq(e.r,e.g,e.b),a=!0,i=String(e.r).substr(-1)==="%"?"prgb":"rgb"):yn(e.h)&&yn(e.s)&&yn(e.v)?(r=np(e.s),l=np(e.v),t=Mq(e.h,r,l),a=!0,i="hsv"):yn(e.h)&&yn(e.s)&&yn(e.l)&&(r=np(e.s),n=np(e.l),t=$q(e.h,r,n),a=!0,i="hsl"),Object.prototype.hasOwnProperty.call(e,"a")&&(o=e.a)),o=F4(o),{ok:a,format:e.format||i,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:o}}var Nq="[-\\+]?\\d+%?",Pq="[-\\+]?\\d*\\.\\d+%?",la="(?:".concat(Pq,")|(?:").concat(Nq,")"),hv="[\\s|\\(]+(".concat(la,")[,|\\s]+(").concat(la,")[,|\\s]+(").concat(la,")\\s*\\)?"),vv="[\\s|\\(]+(".concat(la,")[,|\\s]+(").concat(la,")[,|\\s]+(").concat(la,")[,|\\s]+(").concat(la,")\\s*\\)?"),wl={CSS_UNIT:new RegExp(la),rgb:new RegExp("rgb"+hv),rgba:new RegExp("rgba"+vv),hsl:new RegExp("hsl"+hv),hsla:new RegExp("hsla"+vv),hsv:new RegExp("hsv"+hv),hsva:new RegExp("hsva"+vv),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function Rq(e){if(e=e.trim().toLowerCase(),e.length===0)return!1;var t=!1;if(fv[e])e=fv[e],t=!0;else if(e==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var o=wl.rgb.exec(e);return o?{r:o[1],g:o[2],b:o[3]}:(o=wl.rgba.exec(e),o?{r:o[1],g:o[2],b:o[3],a:o[4]}:(o=wl.hsl.exec(e),o?{h:o[1],s:o[2],l:o[3]}:(o=wl.hsla.exec(e),o?{h:o[1],s:o[2],l:o[3],a:o[4]}:(o=wl.hsv.exec(e),o?{h:o[1],s:o[2],v:o[3]}:(o=wl.hsva.exec(e),o?{h:o[1],s:o[2],v:o[3],a:o[4]}:(o=wl.hex8.exec(e),o?{r:Dr(o[1]),g:Dr(o[2]),b:Dr(o[3]),a:W4(o[4]),format:t?"name":"hex8"}:(o=wl.hex6.exec(e),o?{r:Dr(o[1]),g:Dr(o[2]),b:Dr(o[3]),format:t?"name":"hex"}:(o=wl.hex4.exec(e),o?{r:Dr(o[1]+o[1]),g:Dr(o[2]+o[2]),b:Dr(o[3]+o[3]),a:W4(o[4]+o[4]),format:t?"name":"hex8"}:(o=wl.hex3.exec(e),o?{r:Dr(o[1]+o[1]),g:Dr(o[2]+o[2]),b:Dr(o[3]+o[3]),format:t?"name":"hex"}:!1)))))))))}function yn(e){return!!wl.CSS_UNIT.exec(String(e))}var q4=function(){function e(t,o){t===void 0&&(t=""),o===void 0&&(o={});var r;if(t instanceof e)return t;typeof t=="number"&&(t=Iq(t)),this.originalInput=t;var l=Oq(t);this.originalInput=t,this.r=l.r,this.g=l.g,this.b=l.b,this.a=l.a,this.roundA=Math.round(100*this.a)/100,this.format=(r=o.format)!==null&&r!==void 0?r:l.format,this.gradientType=o.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=l.ok}return e.prototype.isDark=function(){return this.getBrightness()<128},e.prototype.isLight=function(){return!this.isDark()},e.prototype.getBrightness=function(){var t=this.toRgb();return(t.r*299+t.g*587+t.b*114)/1e3},e.prototype.getLuminance=function(){var t=this.toRgb(),o,r,l,n=t.r/255,a=t.g/255,i=t.b/255;return n<=.03928?o=n/12.92:o=Math.pow((n+.055)/1.055,2.4),a<=.03928?r=a/12.92:r=Math.pow((a+.055)/1.055,2.4),i<=.03928?l=i/12.92:l=Math.pow((i+.055)/1.055,2.4),.2126*o+.7152*r+.0722*l},e.prototype.getAlpha=function(){return this.a},e.prototype.setAlpha=function(t){return this.a=F4(t),this.roundA=Math.round(100*this.a)/100,this},e.prototype.isMonochrome=function(){var t=this.toHsl().s;return t===0},e.prototype.toHsv=function(){var t=K4(this.r,this.g,this.b);return{h:t.h*360,s:t.s,v:t.v,a:this.a}},e.prototype.toHsvString=function(){var t=K4(this.r,this.g,this.b),o=Math.round(t.h*360),r=Math.round(t.s*100),l=Math.round(t.v*100);return this.a===1?"hsv(".concat(o,", ").concat(r,"%, ").concat(l,"%)"):"hsva(".concat(o,", ").concat(r,"%, ").concat(l,"%, ").concat(this.roundA,")")},e.prototype.toHsl=function(){var t=j4(this.r,this.g,this.b);return{h:t.h*360,s:t.s,l:t.l,a:this.a}},e.prototype.toHslString=function(){var t=j4(this.r,this.g,this.b),o=Math.round(t.h*360),r=Math.round(t.s*100),l=Math.round(t.l*100);return this.a===1?"hsl(".concat(o,", ").concat(r,"%, ").concat(l,"%)"):"hsla(".concat(o,", ").concat(r,"%, ").concat(l,"%, ").concat(this.roundA,")")},e.prototype.toHex=function(t){return t===void 0&&(t=!1),U4(this.r,this.g,this.b,t)},e.prototype.toHexString=function(t){return t===void 0&&(t=!1),"#"+this.toHex(t)},e.prototype.toHex8=function(t){return t===void 0&&(t=!1),Aq(this.r,this.g,this.b,this.a,t)},e.prototype.toHex8String=function(t){return t===void 0&&(t=!1),"#"+this.toHex8(t)},e.prototype.toHexShortString=function(t){return t===void 0&&(t=!1),this.a===1?this.toHexString(t):this.toHex8String(t)},e.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},e.prototype.toRgbString=function(){var t=Math.round(this.r),o=Math.round(this.g),r=Math.round(this.b);return this.a===1?"rgb(".concat(t,", ").concat(o,", ").concat(r,")"):"rgba(".concat(t,", ").concat(o,", ").concat(r,", ").concat(this.roundA,")")},e.prototype.toPercentageRgb=function(){var t=function(o){return"".concat(Math.round(er(o,255)*100),"%")};return{r:t(this.r),g:t(this.g),b:t(this.b),a:this.a}},e.prototype.toPercentageRgbString=function(){var t=function(o){return Math.round(er(o,255)*100)};return this.a===1?"rgb(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%)"):"rgba(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%, ").concat(this.roundA,")")},e.prototype.toName=function(){if(this.a===0)return"transparent";if(this.a<1)return!1;for(var t="#"+U4(this.r,this.g,this.b,!1),o=0,r=Object.entries(fv);o=0,n=!o&&l&&(t.startsWith("hex")||t==="name");return n?t==="name"&&this.a===0?this.toName():this.toRgbString():(t==="rgb"&&(r=this.toRgbString()),t==="prgb"&&(r=this.toPercentageRgbString()),(t==="hex"||t==="hex6")&&(r=this.toHexString()),t==="hex3"&&(r=this.toHexString(!0)),t==="hex4"&&(r=this.toHex8String(!0)),t==="hex8"&&(r=this.toHex8String()),t==="name"&&(r=this.toName()),t==="hsl"&&(r=this.toHslString()),t==="hsv"&&(r=this.toHsvString()),r||this.toHexString())},e.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},e.prototype.clone=function(){return new e(this.toString())},e.prototype.lighten=function(t){t===void 0&&(t=10);var o=this.toHsl();return o.l+=t/100,o.l=lp(o.l),new e(o)},e.prototype.brighten=function(t){t===void 0&&(t=10);var o=this.toRgb();return o.r=Math.max(0,Math.min(255,o.r-Math.round(255*-(t/100)))),o.g=Math.max(0,Math.min(255,o.g-Math.round(255*-(t/100)))),o.b=Math.max(0,Math.min(255,o.b-Math.round(255*-(t/100)))),new e(o)},e.prototype.darken=function(t){t===void 0&&(t=10);var o=this.toHsl();return o.l-=t/100,o.l=lp(o.l),new e(o)},e.prototype.tint=function(t){return t===void 0&&(t=10),this.mix("white",t)},e.prototype.shade=function(t){return t===void 0&&(t=10),this.mix("black",t)},e.prototype.desaturate=function(t){t===void 0&&(t=10);var o=this.toHsl();return o.s-=t/100,o.s=lp(o.s),new e(o)},e.prototype.saturate=function(t){t===void 0&&(t=10);var o=this.toHsl();return o.s+=t/100,o.s=lp(o.s),new e(o)},e.prototype.greyscale=function(){return this.desaturate(100)},e.prototype.spin=function(t){var o=this.toHsl(),r=(o.h+t)%360;return o.h=r<0?360+r:r,new e(o)},e.prototype.mix=function(t,o){o===void 0&&(o=50);var r=this.toRgb(),l=new e(t).toRgb(),n=o/100,a={r:(l.r-r.r)*n+r.r,g:(l.g-r.g)*n+r.g,b:(l.b-r.b)*n+r.b,a:(l.a-r.a)*n+r.a};return new e(a)},e.prototype.analogous=function(t,o){t===void 0&&(t=6),o===void 0&&(o=30);var r=this.toHsl(),l=360/o,n=[this];for(r.h=(r.h-(l*t>>1)+720)%360;--t;)r.h=(r.h+l)%360,n.push(new e(r));return n},e.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new e(t)},e.prototype.monochromatic=function(t){t===void 0&&(t=6);for(var o=this.toHsv(),r=o.h,l=o.s,n=o.v,a=[],i=1/t;t--;)a.push(new e({h:r,s:l,v:n})),n=(n+i)%1;return a},e.prototype.splitcomplement=function(){var t=this.toHsl(),o=t.h;return[this,new e({h:(o+72)%360,s:t.s,l:t.l}),new e({h:(o+216)%360,s:t.s,l:t.l})]},e.prototype.onBackground=function(t){var o=this.toRgb(),r=new e(t).toRgb(),l=o.a+r.a*(1-o.a);return new e({r:(o.r*o.a+r.r*r.a*(1-o.a))/l,g:(o.g*o.a+r.g*r.a*(1-o.a))/l,b:(o.b*o.a+r.b*r.a*(1-o.a))/l,a:l})},e.prototype.triad=function(){return this.polyad(3)},e.prototype.tetrad=function(){return this.polyad(4)},e.prototype.polyad=function(t){for(var o=this.toHsl(),r=o.h,l=[this],n=360/t,a=1;a{let r={};const l=e.color;if(l){const n=new q4(l),a=e.dark?n.tint(20).toString():na(n,20);if(e.plain)r=o.cssVarBlock({"bg-color":e.dark?na(n,90):n.tint(90).toString(),"text-color":l,"border-color":e.dark?na(n,50):n.tint(50).toString(),"hover-text-color":`var(${o.cssVarName("color-white")})`,"hover-bg-color":l,"hover-border-color":l,"active-bg-color":a,"active-text-color":`var(${o.cssVarName("color-white")})`,"active-border-color":a}),t.value&&(r[o.cssVarBlockName("disabled-bg-color")]=e.dark?na(n,90):n.tint(90).toString(),r[o.cssVarBlockName("disabled-text-color")]=e.dark?na(n,50):n.tint(50).toString(),r[o.cssVarBlockName("disabled-border-color")]=e.dark?na(n,80):n.tint(80).toString());else{const i=e.dark?na(n,30):n.tint(30).toString(),c=n.isDark()?`var(${o.cssVarName("color-white")})`:`var(${o.cssVarName("color-black")})`;if(r=o.cssVarBlock({"bg-color":l,"text-color":c,"border-color":l,"hover-bg-color":i,"hover-text-color":c,"hover-border-color":i,"active-bg-color":a,"active-border-color":a}),t.value){const d=e.dark?na(n,50):n.tint(50).toString();r[o.cssVarBlockName("disabled-bg-color")]=d,r[o.cssVarBlockName("disabled-text-color")]=e.dark?"rgba(255, 255, 255, 0.5)":`var(${o.cssVarName("color-white")})`,r[o.cssVarBlockName("disabled-border-color")]=d}}}return r})}const Bq=N({...N({name:"ElButton"}),props:dv,emits:Cq,setup(e,{expose:t,emit:o}){const r=e,l=Lq(r),n=ze("button"),{_ref:a,_size:i,_type:c,_disabled:d,_props:u,shouldAddSpace:p,handleClick:h}=kq(r,o),v=C(()=>[n.b(),n.m(c.value),n.m(i.value),n.is("disabled",d.value),n.is("loading",r.loading),n.is("plain",r.plain),n.is("round",r.round),n.is("circle",r.circle),n.is("text",r.text),n.is("link",r.link),n.is("has-bg",r.bg)]);return t({ref:a,size:i,type:c,disabled:d,shouldAddSpace:p}),(m,f)=>(b(),he(Et(m.tag),Mt({ref_key:"_ref",ref:a},s(u),{class:s(v),style:s(l),onClick:s(h)}),{default:le(()=>[m.loading?(b(),M(Qe,{key:0},[m.$slots.loading?be(m.$slots,"loading",{key:0}):(b(),he(s(Ze),{key:1,class:O(s(n).is("loading"))},{default:le(()=>[(b(),he(Et(m.loadingIcon)))]),_:1},8,["class"]))],64)):m.icon||m.$slots.icon?(b(),he(s(Ze),{key:1},{default:le(()=>[m.icon?(b(),he(Et(m.icon),{key:0})):be(m.$slots,"icon",{key:1})]),_:3})):se("v-if",!0),m.$slots.default?(b(),M("span",{key:2,class:O({[s(n).em("text","expand")]:s(p)})},[be(m.$slots,"default")],2)):se("v-if",!0)]),_:3},16,["class","style","onClick"]))}});var Vq=Le(Bq,[["__file","button.vue"]]);const Dq={size:dv.size,type:dv.type},Hq=N({...N({name:"ElButtonGroup"}),props:Dq,setup(e){const t=e;zt(H4,Dt({size:Yt(t,"size"),type:Yt(t,"type")}));const o=ze("button");return(r,l)=>(b(),M("div",{class:O(`${s(o).b("group")}`)},[be(r.$slots,"default")],2))}});var Y4=Le(Hq,[["__file","button-group.vue"]]);const Wo=yt(Vq,{ButtonGroup:Y4}),G4=co(Y4);var X4={exports:{}};(function(e,t){(function(o,r){e.exports=r()})(Ao,function(){var o=1e3,r=6e4,l=36e5,n="millisecond",a="second",i="minute",c="hour",d="day",u="week",p="month",h="quarter",v="year",m="date",f="Invalid Date",_=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,g=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,y={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(J){var Z=["th","st","nd","rd"],H=J%100;return"["+J+(Z[(H-20)%10]||Z[H]||Z[0])+"]"}},w=function(J,Z,H){var F=String(J);return!F||F.length>=Z?J:""+Array(Z+1-F.length).join(H)+J},x={s:w,z:function(J){var Z=-J.utcOffset(),H=Math.abs(Z),F=Math.floor(H/60),K=H%60;return(Z<=0?"+":"-")+w(F,2,"0")+":"+w(K,2,"0")},m:function J(Z,H){if(Z.date()1)return J(U[0])}else{var oe=Z.name;T[oe]=Z,K=oe}return!F&&K&&($=K),K||!F&&$},B=function(J,Z){if(P(J))return J.clone();var H=typeof Z=="object"?Z:{};return H.date=J,H.args=arguments,new j(H)},V=x;V.l=L,V.i=P,V.w=function(J,Z){return B(J,{locale:Z.$L,utc:Z.$u,x:Z.$x,$offset:Z.$offset})};var j=function(){function J(H){this.$L=L(H.locale,null,!0),this.parse(H),this.$x=this.$x||H.x||{},this[R]=!0}var Z=J.prototype;return Z.parse=function(H){this.$d=function(F){var K=F.date,I=F.utc;if(K===null)return new Date(NaN);if(V.u(K))return new Date;if(K instanceof Date)return new Date(K);if(typeof K=="string"&&!/Z$/i.test(K)){var U=K.match(_);if(U){var oe=U[2]-1||0,ne=(U[7]||"0").substring(0,3);return I?new Date(Date.UTC(U[1],oe,U[3]||1,U[4]||0,U[5]||0,U[6]||0,ne)):new Date(U[1],oe,U[3]||1,U[4]||0,U[5]||0,U[6]||0,ne)}}return new Date(K)}(H),this.init()},Z.init=function(){var H=this.$d;this.$y=H.getFullYear(),this.$M=H.getMonth(),this.$D=H.getDate(),this.$W=H.getDay(),this.$H=H.getHours(),this.$m=H.getMinutes(),this.$s=H.getSeconds(),this.$ms=H.getMilliseconds()},Z.$utils=function(){return V},Z.isValid=function(){return this.$d.toString()!==f},Z.isSame=function(H,F){var K=B(H);return this.startOf(F)<=K&&K<=this.endOf(F)},Z.isAfter=function(H,F){return B(H)68?1900:2e3)},d=function(f){return function(_){this[f]=+_}},u=[/[+-]\d\d:?(\d\d)?|Z/,function(f){(this.zone||(this.zone={})).offset=function(_){if(!_||_==="Z")return 0;var g=_.match(/([+-]|\d\d)/g),y=60*g[1]+(+g[2]||0);return y===0?0:g[0]==="+"?-y:y}(f)}],p=function(f){var _=i[f];return _&&(_.indexOf?_:_.s.concat(_.f))},h=function(f,_){var g,y=i.meridiem;if(y){for(var w=1;w<=24;w+=1)if(f.indexOf(y(w,0,_))>-1){g=w>12;break}}else g=f===(_?"pm":"PM");return g},v={A:[a,function(f){this.afternoon=h(f,!1)}],a:[a,function(f){this.afternoon=h(f,!0)}],S:[/\d/,function(f){this.milliseconds=100*+f}],SS:[l,function(f){this.milliseconds=10*+f}],SSS:[/\d{3}/,function(f){this.milliseconds=+f}],s:[n,d("seconds")],ss:[n,d("seconds")],m:[n,d("minutes")],mm:[n,d("minutes")],H:[n,d("hours")],h:[n,d("hours")],HH:[n,d("hours")],hh:[n,d("hours")],D:[n,d("day")],DD:[l,d("day")],Do:[a,function(f){var _=i.ordinal,g=f.match(/\d+/);if(this.day=g[0],_)for(var y=1;y<=31;y+=1)_(y).replace(/\[|\]/g,"")===f&&(this.day=y)}],M:[n,d("month")],MM:[l,d("month")],MMM:[a,function(f){var _=p("months"),g=(p("monthsShort")||_.map(function(y){return y.slice(0,3)})).indexOf(f)+1;if(g<1)throw new Error;this.month=g%12||g}],MMMM:[a,function(f){var _=p("months").indexOf(f)+1;if(_<1)throw new Error;this.month=_%12||_}],Y:[/[+-]?\d+/,d("year")],YY:[l,function(f){this.year=c(f)}],YYYY:[/\d{4}/,d("year")],Z:u,ZZ:u};function m(f){var _,g;_=f,g=i&&i.formats;for(var y=(f=_.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(L,B,V){var j=V&&V.toUpperCase();return B||g[V]||o[V]||g[j].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(te,J,Z){return J||Z.slice(1)})})).match(r),w=y.length,x=0;x-1)return new Date((F==="X"?1e3:1)*H);var I=m(F)(H),U=I.year,oe=I.month,ne=I.day,ce=I.hours,Q=I.minutes,Me=I.seconds,de=I.milliseconds,_e=I.zone,me=new Date,Re=ne||(U||oe?1:me.getDate()),Ce=U||me.getFullYear(),Ee=0;U&&!oe||(Ee=oe>0?oe-1:me.getMonth());var De=ce||0,ae=Q||0,pe=Me||0,ke=de||0;return _e?new Date(Date.UTC(Ce,Ee,Re,De,ae,pe,ke+60*_e.offset*1e3)):K?new Date(Date.UTC(Ce,Ee,Re,De,ae,pe,ke)):new Date(Ce,Ee,Re,De,ae,pe,ke)}catch{return new Date("")}}($,P,T),this.init(),j&&j!==!0&&(this.$L=this.locale(j).$L),V&&$!=this.format(P)&&(this.$d=new Date("")),i={}}else if(P instanceof Array)for(var te=P.length,J=1;J<=te;J+=1){R[1]=P[J-1];var Z=g.apply(this,R);if(Z.isValid()){this.$d=Z.$d,this.$L=Z.$L,this.init();break}J===te&&(this.$d=new Date(""))}else w.call(this,x)}}})})(Z4);var jq=Z4.exports;const mv=cl(jq),J4=["hours","minutes","seconds"],gv="HH:mm:ss",ts="YYYY-MM-DD",Kq={date:ts,dates:ts,week:"gggg[w]ww",year:"YYYY",years:"YYYY",month:"YYYY-MM",datetime:`${ts} ${gv}`,monthrange:"YYYY-MM",daterange:ts,datetimerange:`${ts} ${gv}`},bv=(e,t)=>[e>0?e-1:void 0,e,eArray.from(Array.from({length:e}).keys()),Q4=e=>e.replace(/\W?m{1,2}|\W?ZZ/g,"").replace(/\W?h{1,2}|\W?s{1,3}|\W?a/gi,"").trim(),ew=e=>e.replace(/\W?D{1,2}|\W?Do|\W?d{1,4}|\W?M{1,4}|\W?Y{2,4}/g,"").trim(),tw=function(e,t){const o=va(e),r=va(t);return o&&r?e.getTime()===t.getTime():!o&&!r?e===t:!1},ow=function(e,t){const o=Ke(e),r=Ke(t);return o&&r?e.length!==t.length?!1:e.every((l,n)=>tw(l,t[n])):!o&&!r?tw(e,t):!1},rw=function(e,t,o){const r=Yr(t)||t==="x"?kt(e).locale(o):kt(e,t).locale(o);return r.isValid()?r:void 0},lw=function(e,t,o){return Yr(t)?e:t==="x"?+e:kt(e).locale(o).format(t)},_v=(e,t)=>{var o;const r=[],l=t==null?void 0:t();for(let n=0;n({})},modelValue:{type:ue([Date,Array,String,Number]),default:""},rangeSeparator:{type:String,default:"-"},startPlaceholder:String,endPlaceholder:String,defaultValue:{type:ue([Date,Array])},defaultTime:{type:ue([Date,Array])},isRange:Boolean,...nw,disabledDate:{type:Function},cellClassName:{type:Function},shortcuts:{type:Array,default:()=>[]},arrowControl:Boolean,label:{type:String,default:void 0},tabindex:{type:ue([String,Number]),default:0},validateEvent:{type:Boolean,default:!0},unlinkPanels:Boolean,...Xi,...Zo(["ariaLabel"])}),Uq=["id","name","placeholder","value","disabled","readonly"],Wq=["id","name","placeholder","value","disabled","readonly"],qq=N({...N({name:"Picker"}),props:wv,emits:["update:modelValue","change","focus","blur","calendar-change","panel-change","visible-change","keydown"],setup(e,{expose:t,emit:o}){const r=e,l=ya(),{lang:n}=Rt(),a=ze("date"),i=ze("input"),c=ze("range"),{form:d,formItem:u}=sr(),p=Ge("ElPopperOptions",{}),{valueOnClear:h}=Wd(r,null),v=D(),m=D(),f=D(!1),_=D(!1),g=D(null);let y=!1,w=!1;const x=C(()=>[a.b("editor"),a.bm("editor",r.type),i.e("wrapper"),a.is("disabled",ce.value),a.is("active",f.value),c.b("editor"),Ne?c.bm("editor",Ne.value):"",l.class]),$=C(()=>[i.e("icon"),c.e("close-icon"),Ee.value?"":c.e("close-icon--hidden")]);Se(f,fe=>{fe?et(()=>{fe&&(g.value=r.modelValue)}):(xe.value=null,et(()=>{T(r.modelValue)}))});const T=(fe,Fe)=>{(Fe||!ow(fe,g.value))&&(o("change",fe),r.validateEvent&&(u==null||u.validate("change").catch(at=>void 0)))},R=fe=>{if(!ow(r.modelValue,fe)){let Fe;Ke(fe)?Fe=fe.map(at=>lw(at,r.valueFormat,n.value)):fe&&(Fe=lw(fe,r.valueFormat,n.value)),o("update:modelValue",fe&&Fe,n.value)}},P=fe=>{o("keydown",fe)},L=C(()=>{if(m.value){const fe=Te.value?m.value:m.value.$el;return Array.from(fe.querySelectorAll("input"))}return[]}),B=(fe,Fe,at)=>{const _t=L.value;_t.length&&(!at||at==="min"?(_t[0].setSelectionRange(fe,Fe),_t[0].focus()):at==="max"&&(_t[1].setSelectionRange(fe,Fe),_t[1].focus()))},V=()=>{I(!0,!0),et(()=>{w=!1})},j=(fe="",Fe=!1)=>{Fe||(w=!0),f.value=Fe;let at;Ke(fe)?at=fe.map(_t=>_t.toDate()):at=fe&&fe.toDate(),xe.value=null,R(at)},te=()=>{_.value=!0},J=()=>{o("visible-change",!0)},Z=fe=>{(fe==null?void 0:fe.key)===lt.esc&&I(!0,!0)},H=()=>{_.value=!1,f.value=!1,w=!1,o("visible-change",!1)},F=()=>{f.value=!0},K=()=>{f.value=!1},I=(fe=!0,Fe=!1)=>{w=Fe;const[at,_t]=s(L);let At=at;!fe&&Te.value&&(At=_t),At&&At.focus()},U=fe=>{r.readonly||ce.value||f.value||w||(f.value=!0,o("focus",fe))};let oe;const ne=fe=>{const Fe=async()=>{setTimeout(()=>{var at;oe===Fe&&(!((at=v.value)!=null&&at.isFocusInsideContent()&&!y)&&L.value.filter(_t=>_t.contains(document.activeElement)).length===0&&(We(),f.value=!1,o("blur",fe),r.validateEvent&&(u==null||u.validate("blur").catch(_t=>void 0))),y=!1)},0)};oe=Fe,Fe()},ce=C(()=>r.disabled||(d==null?void 0:d.disabled)),Q=C(()=>{let fe;if(ae.value?G.value.getDefaultValue&&(fe=G.value.getDefaultValue()):Ke(r.modelValue)?fe=r.modelValue.map(Fe=>rw(Fe,r.valueFormat,n.value)):fe=rw(r.modelValue,r.valueFormat,n.value),G.value.getRangeAvailableTime){const Fe=G.value.getRangeAvailableTime(fe);nr(Fe,fe)||(fe=Fe,R(Ke(fe)?fe.map(at=>at.toDate()):fe.toDate()))}return Ke(fe)&&fe.some(Fe=>!Fe)&&(fe=[]),fe}),Me=C(()=>{if(!G.value.panelReady)return"";const fe=ye(Q.value);return Ke(xe.value)?[xe.value[0]||fe&&fe[0]||"",xe.value[1]||fe&&fe[1]||""]:xe.value!==null?xe.value:!_e.value&&ae.value||!f.value&&ae.value?"":fe?me.value||Re.value?fe.join(", "):fe:""}),de=C(()=>r.type.includes("time")),_e=C(()=>r.type.startsWith("time")),me=C(()=>r.type==="dates"),Re=C(()=>r.type==="years"),Ce=C(()=>r.prefixIcon||(de.value?ph:I3)),Ee=D(!1),De=fe=>{r.readonly||ce.value||Ee.value&&(fe.stopPropagation(),V(),R(h.value),T(h.value,!0),Ee.value=!1,f.value=!1,G.value.handleClear&&G.value.handleClear())},ae=C(()=>{const{modelValue:fe}=r;return!fe||Ke(fe)&&!fe.filter(Boolean).length}),pe=async fe=>{var Fe;r.readonly||ce.value||(((Fe=fe.target)==null?void 0:Fe.tagName)!=="INPUT"||L.value.includes(document.activeElement))&&(f.value=!0)},ke=()=>{r.readonly||ce.value||!ae.value&&r.clearable&&(Ee.value=!0)},Oe=()=>{Ee.value=!1},we=fe=>{var Fe;r.readonly||ce.value||(((Fe=fe.touches[0].target)==null?void 0:Fe.tagName)!=="INPUT"||L.value.includes(document.activeElement))&&(f.value=!0)},Te=C(()=>r.type.includes("range")),Ne=So(),Ie=C(()=>{var fe,Fe;return(Fe=(fe=s(v))==null?void 0:fe.popperRef)==null?void 0:Fe.contentRef}),Ae=C(()=>{var fe;return s(Te)?s(m):(fe=s(m))==null?void 0:fe.$el});I0(Ae,fe=>{const Fe=s(Ie),at=s(Ae);Fe&&(fe.target===Fe||fe.composedPath().includes(Fe))||fe.target===at||fe.composedPath().includes(at)||(f.value=!1)});const xe=D(null),We=()=>{if(xe.value){const fe=qe(Me.value);fe&&Ye(fe)&&(R(Ke(fe)?fe.map(Fe=>Fe.toDate()):fe.toDate()),xe.value=null)}xe.value===""&&(R(h.value),T(h.value),xe.value=null)},qe=fe=>fe?G.value.parseUserInput(fe):null,ye=fe=>fe?G.value.formatToString(fe):null,Ye=fe=>G.value.isValidValue(fe),tt=async fe=>{if(r.readonly||ce.value)return;const{code:Fe}=fe;if(P(fe),Fe===lt.esc){f.value===!0&&(f.value=!1,fe.preventDefault(),fe.stopPropagation());return}if(Fe===lt.down&&(G.value.handleFocusPicker&&(fe.preventDefault(),fe.stopPropagation()),f.value===!1&&(f.value=!0,await et()),G.value.handleFocusPicker)){G.value.handleFocusPicker();return}if(Fe===lt.tab){y=!0;return}if(Fe===lt.enter||Fe===lt.numpadEnter){(xe.value===null||xe.value===""||Ye(qe(Me.value)))&&(We(),f.value=!1),fe.stopPropagation();return}if(xe.value){fe.stopPropagation();return}G.value.handleKeydownInput&&G.value.handleKeydownInput(fe)},pt=fe=>{xe.value=fe,f.value||(f.value=!0)},dt=fe=>{const Fe=fe.target;xe.value?xe.value=[Fe.value,xe.value[1]]:xe.value=[Fe.value,null]},Y=fe=>{const Fe=fe.target;xe.value?xe.value=[xe.value[0],Fe.value]:xe.value=[null,Fe.value]},S=()=>{var fe;const Fe=xe.value,at=qe(Fe&&Fe[0]),_t=s(Q);if(at&&at.isValid()){xe.value=[ye(at),((fe=Me.value)==null?void 0:fe[1])||null];const At=[at,_t&&(_t[1]||null)];Ye(At)&&(R(At),xe.value=null)}},A=()=>{var fe;const Fe=s(xe),at=qe(Fe&&Fe[1]),_t=s(Q);if(at&&at.isValid()){xe.value=[((fe=s(Me))==null?void 0:fe[0])||null,ye(at)];const At=[_t&&_t[0],at];Ye(At)&&(R(At),xe.value=null)}},G=D({}),X=fe=>{G.value[fe[0]]=fe[1],G.value.panelReady=!0},re=fe=>{o("calendar-change",fe)},ge=(fe,Fe,at)=>{o("panel-change",fe,Fe,at)};return zt("EP_PICKER_BASE",{props:r}),Lo({from:"label",replacement:"aria-label",version:"2.8.0",scope:"el-time-picker",ref:"https://element-plus.org/en-US/component/time-picker.html"},C(()=>!!r.label)),t({focus:I,handleFocusInput:U,handleBlurInput:ne,handleOpen:F,handleClose:K,onPick:j}),(fe,Fe)=>(b(),he(s(ur),Mt({ref_key:"refPopper",ref:v,visible:f.value,effect:"light",pure:"",trigger:"click"},fe.$attrs,{role:"dialog",teleported:"",transition:`${s(a).namespace.value}-zoom-in-top`,"popper-class":[`${s(a).namespace.value}-picker__popper`,fe.popperClass],"popper-options":s(p),"fallback-placements":["bottom","top","right","left"],"gpu-acceleration":!1,"stop-popper-mouse-event":!1,"hide-after":0,persistent:"",onBeforeShow:te,onShow:J,onHide:H}),{default:le(()=>[s(Te)?(b(),M("div",{key:1,ref_key:"inputRef",ref:m,class:O(s(x)),style:Je(fe.$attrs.style),onClick:U,onMouseenter:ke,onMouseleave:Oe,onTouchstartPassive:we,onKeydown:tt},[s(Ce)?(b(),he(s(Ze),{key:0,class:O([s(i).e("icon"),s(c).e("icon")]),onMousedown:ct(pe,["prevent"]),onTouchstartPassive:we},{default:le(()=>[(b(),he(Et(s(Ce))))]),_:1},8,["class","onMousedown"])):se("v-if",!0),E("input",{id:fe.id&&fe.id[0],autocomplete:"off",name:fe.name&&fe.name[0],placeholder:fe.startPlaceholder,value:s(Me)&&s(Me)[0],disabled:s(ce),readonly:!fe.editable||fe.readonly,class:O(s(c).b("input")),onMousedown:pe,onInput:dt,onChange:S,onFocus:U,onBlur:ne},null,42,Uq),be(fe.$slots,"range-separator",{},()=>[E("span",{class:O(s(c).b("separator"))},$e(fe.rangeSeparator),3)]),E("input",{id:fe.id&&fe.id[1],autocomplete:"off",name:fe.name&&fe.name[1],placeholder:fe.endPlaceholder,value:s(Me)&&s(Me)[1],disabled:s(ce),readonly:!fe.editable||fe.readonly,class:O(s(c).b("input")),onMousedown:pe,onFocus:U,onBlur:ne,onInput:Y,onChange:A},null,42,Wq),fe.clearIcon?(b(),he(s(Ze),{key:1,class:O(s($)),onClick:De},{default:le(()=>[(b(),he(Et(fe.clearIcon)))]),_:1},8,["class"])):se("v-if",!0)],38)):(b(),he(s(cr),{key:0,id:fe.id,ref_key:"inputRef",ref:m,"container-role":"combobox","model-value":s(Me),name:fe.name,size:s(Ne),disabled:s(ce),placeholder:fe.placeholder,class:O([s(a).b("editor"),s(a).bm("editor",fe.type),fe.$attrs.class]),style:Je(fe.$attrs.style),readonly:!fe.editable||fe.readonly||s(me)||s(Re)||fe.type==="week","aria-label":fe.label||fe.ariaLabel,tabindex:fe.tabindex,"validate-event":!1,onInput:pt,onFocus:U,onBlur:ne,onKeydown:tt,onChange:We,onMousedown:pe,onMouseenter:ke,onMouseleave:Oe,onTouchstartPassive:we,onClick:Fe[0]||(Fe[0]=ct(()=>{},["stop"]))},{prefix:le(()=>[s(Ce)?(b(),he(s(Ze),{key:0,class:O(s(i).e("icon")),onMousedown:ct(pe,["prevent"]),onTouchstartPassive:we},{default:le(()=>[(b(),he(Et(s(Ce))))]),_:1},8,["class","onMousedown"])):se("v-if",!0)]),suffix:le(()=>[Ee.value&&fe.clearIcon?(b(),he(s(Ze),{key:0,class:O(`${s(i).e("icon")} clear-icon`),onClick:ct(De,["stop"])},{default:le(()=>[(b(),he(Et(fe.clearIcon)))]),_:1},8,["class","onClick"])):se("v-if",!0)]),_:1},8,["id","model-value","name","size","disabled","placeholder","class","style","readonly","aria-label","tabindex","onKeydown"]))]),content:le(()=>[be(fe.$slots,"default",{visible:f.value,actualVisible:_.value,parsedValue:s(Q),format:fe.format,dateFormat:fe.dateFormat,timeFormat:fe.timeFormat,unlinkPanels:fe.unlinkPanels,type:fe.type,defaultValue:fe.defaultValue,onPick:j,onSelectRange:B,onSetPickerOption:X,onCalendarChange:re,onPanelChange:ge,onKeydown:Z,onMousedown:Fe[1]||(Fe[1]=ct(()=>{},["stop"]))})]),_:3},16,["visible","transition","popper-class","popper-options"]))}});var iw=Le(qq,[["__file","picker.vue"]]);const Yq=Pe({...aw,datetimeRole:String,parsedValue:{type:ue(Object)}}),sw=({getAvailableHours:e,getAvailableMinutes:t,getAvailableSeconds:o})=>{const r=(a,i,c,d)=>{const u={hour:e,minute:t,second:o};let p=a;return["hour","minute","second"].forEach(h=>{if(u[h]){let v;const m=u[h];switch(h){case"minute":{v=m(p.hour(),i,d);break}case"second":{v=m(p.hour(),p.minute(),i,d);break}default:{v=m(i,d);break}}if(v!=null&&v.length&&!v.includes(p[h]())){const f=c?0:v.length-1;p=p[h](v[f])}}}),p},l={};return{timePickerOptions:l,getAvailableTime:r,onSetOption:([a,i])=>{l[a]=i}}},yv=e=>{const t=(r,l)=>r||l,o=r=>r!==!0;return e.map(t).filter(o)},cw=(e,t,o)=>({getHoursList:(a,i)=>_v(24,e&&(()=>e==null?void 0:e(a,i))),getMinutesList:(a,i,c)=>_v(60,t&&(()=>t==null?void 0:t(a,i,c))),getSecondsList:(a,i,c,d)=>_v(60,o&&(()=>o==null?void 0:o(a,i,c,d)))}),uw=(e,t,o)=>{const{getHoursList:r,getMinutesList:l,getSecondsList:n}=cw(e,t,o);return{getAvailableHours:(d,u)=>yv(r(d,u)),getAvailableMinutes:(d,u,p)=>yv(l(d,u,p)),getAvailableSeconds:(d,u,p,h)=>yv(n(d,u,p,h))}},dw=e=>{const t=D(e.parsedValue);return Se(()=>e.visible,o=>{o||(t.value=e.parsedValue)}),t},ia=new Map;let pw;Nt&&(document.addEventListener("mousedown",e=>pw=e),document.addEventListener("mouseup",e=>{for(const t of ia.values())for(const{documentHandler:o}of t)o(e,pw)}));function fw(e,t){let o=[];return Array.isArray(t.arg)?o=t.arg:Gr(t.arg)&&o.push(t.arg),function(r,l){const n=t.instance.popperRef,a=r.target,i=l==null?void 0:l.target,c=!t||!t.instance,d=!a||!i,u=e.contains(a)||e.contains(i),p=e===a,h=o.length&&o.some(m=>m==null?void 0:m.contains(a))||o.length&&o.includes(i),v=n&&(n.contains(a)||n.contains(i));c||d||u||p||h||v||t.value(r,l)}}const xn={beforeMount(e,t){ia.has(e)||ia.set(e,[]),ia.get(e).push({documentHandler:fw(e,t),bindingFn:t.value})},updated(e,t){ia.has(e)||ia.set(e,[]);const o=ia.get(e),r=o.findIndex(n=>n.bindingFn===t.oldValue),l={documentHandler:fw(e,t),bindingFn:t.value};r>=0?o.splice(r,1,l):o.push(l)},unmounted(e){ia.delete(e)}},Gq=100,Xq=600,ap={beforeMount(e,t){const o=t.value,{interval:r=Gq,delay:l=Xq}=it(o)?{}:o;let n,a;const i=()=>it(o)?o():o.handler(),c=()=>{a&&(clearTimeout(a),a=void 0),n&&(clearInterval(n),n=void 0)};e.addEventListener("mousedown",d=>{d.button===0&&(c(),i(),document.addEventListener("mouseup",()=>c(),{once:!0}),a=setTimeout(()=>{n=setInterval(()=>{i()},r)},l))})}},xv="_trap-focus-children",Ya=[],hw=e=>{if(Ya.length===0)return;const t=Ya[Ya.length-1][xv];if(t.length>0&&e.code===lt.tab){if(t.length===1){e.preventDefault(),document.activeElement!==t[0]&&t[0].focus();return}const o=e.shiftKey,r=e.target===t[0],l=e.target===t[t.length-1];r&&o&&(e.preventDefault(),t[t.length-1].focus()),l&&!o&&(e.preventDefault(),t[0].focus())}},Zq={beforeMount(e){e[xv]=Hb(e),Ya.push(e),Ya.length<=1&&document.addEventListener("keydown",hw)},updated(e){et(()=>{e[xv]=Hb(e)})},unmounted(){Ya.shift(),Ya.length===0&&document.removeEventListener("keydown",hw)}};var vw=!1,Ga,kv,Cv,ip,sp,mw,cp,Sv,Ev,Tv,gw,$v,Mv,bw,_w;function Ir(){if(!vw){vw=!0;var e=navigator.userAgent,t=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e),o=/(Mac OS X)|(Windows)|(Linux)/.exec(e);if($v=/\b(iPhone|iP[ao]d)/.exec(e),Mv=/\b(iP[ao]d)/.exec(e),Tv=/Android/i.exec(e),bw=/FBAN\/\w+;/i.exec(e),_w=/Mobile/i.exec(e),gw=!!/Win64/.exec(e),t){Ga=t[1]?parseFloat(t[1]):t[5]?parseFloat(t[5]):NaN,Ga&&document&&document.documentMode&&(Ga=document.documentMode);var r=/(?:Trident\/(\d+.\d+))/.exec(e);mw=r?parseFloat(r[1])+4:Ga,kv=t[2]?parseFloat(t[2]):NaN,Cv=t[3]?parseFloat(t[3]):NaN,ip=t[4]?parseFloat(t[4]):NaN,ip?(t=/(?:Chrome\/(\d+\.\d+))/.exec(e),sp=t&&t[1]?parseFloat(t[1]):NaN):sp=NaN}else Ga=kv=Cv=sp=ip=NaN;if(o){if(o[1]){var l=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);cp=l?parseFloat(l[1].replace("_",".")):!0}else cp=!1;Sv=!!o[2],Ev=!!o[3]}else cp=Sv=Ev=!1}}var Av={ie:function(){return Ir()||Ga},ieCompatibilityMode:function(){return Ir()||mw>Ga},ie64:function(){return Av.ie()&&gw},firefox:function(){return Ir()||kv},opera:function(){return Ir()||Cv},webkit:function(){return Ir()||ip},safari:function(){return Av.webkit()},chrome:function(){return Ir()||sp},windows:function(){return Ir()||Sv},osx:function(){return Ir()||cp},linux:function(){return Ir()||Ev},iphone:function(){return Ir()||$v},mobile:function(){return Ir()||$v||Mv||Tv||_w},nativeApp:function(){return Ir()||bw},android:function(){return Ir()||Tv},ipad:function(){return Ir()||Mv}},Jq=Av,up=!!(typeof window<"u"&&window.document&&window.document.createElement),Qq={canUseDOM:up,canUseWorkers:typeof Worker<"u",canUseEventListeners:up&&!!(window.addEventListener||window.attachEvent),canUseViewport:up&&!!window.screen,isInWorker:!up},ww=Qq,yw;ww.canUseDOM&&(yw=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0);function eY(e,t){if(!ww.canUseDOM||t&&!("addEventListener"in document))return!1;var o="on"+e,r=o in document;if(!r){var l=document.createElement("div");l.setAttribute(o,"return;"),r=typeof l[o]=="function"}return!r&&yw&&e==="wheel"&&(r=document.implementation.hasFeature("Events.wheel","3.0")),r}var tY=eY,xw=10,kw=40,Cw=800;function Sw(e){var t=0,o=0,r=0,l=0;return"detail"in e&&(o=e.detail),"wheelDelta"in e&&(o=-e.wheelDelta/120),"wheelDeltaY"in e&&(o=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=o,o=0),r=t*xw,l=o*xw,"deltaY"in e&&(l=e.deltaY),"deltaX"in e&&(r=e.deltaX),(r||l)&&e.deltaMode&&(e.deltaMode==1?(r*=kw,l*=kw):(r*=Cw,l*=Cw)),r&&!t&&(t=r<1?-1:1),l&&!o&&(o=l<1?-1:1),{spinX:t,spinY:o,pixelX:r,pixelY:l}}Sw.getEventType=function(){return Jq.firefox()?"DOMMouseScroll":tY("wheel")?"wheel":"mousewheel"};var oY=Sw;/** +`,BU=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing"];function VU(e){const t=window.getComputedStyle(e),o=t.getPropertyValue("box-sizing"),r=Number.parseFloat(t.getPropertyValue("padding-bottom"))+Number.parseFloat(t.getPropertyValue("padding-top")),l=Number.parseFloat(t.getPropertyValue("border-bottom-width"))+Number.parseFloat(t.getPropertyValue("border-top-width"));return{contextStyle:BU.map(a=>`${a}:${t.getPropertyValue(a)}`).join(";"),paddingSize:r,borderSize:l,boxSizing:o}}function m4(e,t=1,o){var r;_l||(_l=document.createElement("textarea"),document.body.appendChild(_l));const{paddingSize:l,borderSize:n,boxSizing:a,contextStyle:i}=VU(e);_l.setAttribute("style",`${i};${LU}`),_l.value=e.value||e.placeholder||"";let c=_l.scrollHeight;const d={};a==="border-box"?c=c+n:a==="content-box"&&(c=c-l),_l.value="";const u=_l.scrollHeight-l;if(st(t)){let p=u*t;a==="border-box"&&(p=p+l+n),c=Math.max(p,c),d.minHeight=`${p}px`}if(st(o)){let p=u*o;a==="border-box"&&(p=p+l+n),c=Math.min(p,c)}return d.height=`${c}px`,(r=_l.parentNode)==null||r.removeChild(_l),_l=void 0,d}const DU=Pe({id:{type:String,default:void 0},size:Oo,disabled:Boolean,modelValue:{type:ue([String,Number,Object]),default:""},maxlength:{type:[String,Number]},minlength:{type:[String,Number]},type:{type:String,default:"text"},resize:{type:String,values:["none","both","horizontal","vertical"]},autosize:{type:ue([Boolean,Object]),default:!1},autocomplete:{type:String,default:"off"},formatter:{type:Function},parser:{type:Function},placeholder:{type:String},form:{type:String},readonly:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},showPassword:{type:Boolean,default:!1},showWordLimit:{type:Boolean,default:!1},suffixIcon:{type:Xt},prefixIcon:{type:Xt},containerRole:{type:String,default:void 0},label:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:ue([Object,Array,String]),default:()=>uo({})},autofocus:{type:Boolean,default:!1},...Zo(["ariaLabel"])}),HU={[St]:e=>ut(e),input:e=>ut(e),change:e=>ut(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,mouseleave:e=>e instanceof MouseEvent,mouseenter:e=>e instanceof MouseEvent,keydown:e=>e instanceof Event,compositionstart:e=>e instanceof CompositionEvent,compositionupdate:e=>e instanceof CompositionEvent,compositionend:e=>e instanceof CompositionEvent},FU=["role"],jU=["id","minlength","maxlength","type","disabled","readonly","autocomplete","tabindex","aria-label","placeholder","form","autofocus"],KU=["id","minlength","maxlength","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form","autofocus"],UU=N({...N({name:"ElInput",inheritAttrs:!1}),props:DU,emits:HU,setup(e,{expose:t,emit:o}){const r=e,l=ya(),n=Do(),a=C(()=>{const ye={};return r.containerRole==="combobox"&&(ye["aria-haspopup"]=l["aria-haspopup"],ye["aria-owns"]=l["aria-owns"],ye["aria-expanded"]=l["aria-expanded"]),ye}),i=C(()=>[r.type==="textarea"?_.b():f.b(),f.m(v.value),f.is("disabled",m.value),f.is("exceed",Q.value),{[f.b("group")]:n.prepend||n.append,[f.m("prefix")]:n.prefix||r.prefixIcon,[f.m("suffix")]:n.suffix||r.suffixIcon||r.clearable||r.showPassword,[f.bm("suffix","password-clear")]:U.value&&oe.value,[f.b("hidden")]:r.type==="hidden"},l.class]),c=C(()=>[f.e("wrapper"),f.is("focus",V.value)]),d=kh({excludeKeys:C(()=>Object.keys(a.value))}),{form:u,formItem:p}=sr(),{inputId:h}=bl(r,{formItemContext:p}),v=So(),m=xr(),f=ze("input"),_=ze("textarea"),g=lo(),y=lo(),w=D(!1),x=D(!1),$=D(!1),T=D(),R=lo(r.inputStyle),P=C(()=>g.value||y.value),{wrapperRef:L,isFocused:V,handleFocus:B,handleBlur:j}=Ud(P,{afterBlur(){var ye;r.validateEvent&&((ye=p==null?void 0:p.validate)==null||ye.call(p,"blur").catch(Ye=>void 0))}}),te=C(()=>{var ye;return(ye=u==null?void 0:u.statusIcon)!=null?ye:!1}),J=C(()=>(p==null?void 0:p.validateState)||""),Z=C(()=>J.value&&_h[J.value]),H=C(()=>$.value?X3:B3),F=C(()=>[l.style]),K=C(()=>[r.inputStyle,R.value,{resize:r.resize}]),I=C(()=>jo(r.modelValue)?"":String(r.modelValue)),U=C(()=>r.clearable&&!m.value&&!r.readonly&&!!I.value&&(V.value||w.value)),oe=C(()=>r.showPassword&&!m.value&&!r.readonly&&!!I.value&&(!!I.value||V.value)),ne=C(()=>r.showWordLimit&&!!r.maxlength&&(r.type==="text"||r.type==="textarea")&&!m.value&&!r.readonly&&!r.showPassword),ce=C(()=>I.value.length),Q=C(()=>!!ne.value&&ce.value>Number(r.maxlength)),Me=C(()=>!!n.suffix||!!r.suffixIcon||U.value||r.showPassword||ne.value||!!J.value&&te.value),[de,_e]=mK(g);so(y,ye=>{if(Ce(),!ne.value||r.resize!=="both")return;const Ye=ye[0],{width:tt}=Ye.contentRect;T.value={right:`calc(100% - ${tt+15+6}px)`}});const me=()=>{const{type:ye,autosize:Ye}=r;if(!(!Nt||ye!=="textarea"||!y.value))if(Ye){const tt=xt(Ye)?Ye.minRows:void 0,pt=xt(Ye)?Ye.maxRows:void 0,dt=m4(y.value,tt,pt);R.value={overflowY:"hidden",...dt},et(()=>{y.value.offsetHeight,R.value=dt})}else R.value={minHeight:m4(y.value).minHeight}},Ce=(ye=>{let Ye=!1;return()=>{var tt;if(Ye||!r.autosize)return;((tt=y.value)==null?void 0:tt.offsetParent)===null||(ye(),Ye=!0)}})(me),Ee=()=>{const ye=P.value,Ye=r.formatter?r.formatter(I.value):I.value;!ye||ye.value===Ye||(ye.value=Ye)},De=async ye=>{de();let{value:Ye}=ye.target;if(r.formatter&&(Ye=r.parser?r.parser(Ye):Ye),!x.value){if(Ye===I.value){Ee();return}o(St,Ye),o("input",Ye),await et(),Ee(),_e()}},ae=ye=>{o("change",ye.target.value)},pe=ye=>{o("compositionstart",ye),x.value=!0},ke=ye=>{var Ye;o("compositionupdate",ye);const tt=(Ye=ye.target)==null?void 0:Ye.value,pt=tt[tt.length-1]||"";x.value=!xh(pt)},Oe=ye=>{o("compositionend",ye),x.value&&(x.value=!1,De(ye))},we=()=>{$.value=!$.value,Te()},Te=async()=>{var ye;await et(),(ye=P.value)==null||ye.focus()},Ne=()=>{var ye;return(ye=P.value)==null?void 0:ye.blur()},Ie=ye=>{w.value=!1,o("mouseleave",ye)},Ae=ye=>{w.value=!0,o("mouseenter",ye)},xe=ye=>{o("keydown",ye)},We=()=>{var ye;(ye=P.value)==null||ye.select()},qe=()=>{o(St,""),o("change",""),o("clear"),o("input","")};return Se(()=>r.modelValue,()=>{var ye;et(()=>me()),r.validateEvent&&((ye=p==null?void 0:p.validate)==null||ye.call(p,"change").catch(Ye=>void 0))}),Se(I,()=>Ee()),Se(()=>r.type,async()=>{await et(),Ee(),me()}),ft(()=>{!r.formatter&&r.parser,Ee(),et(me)}),Lo({from:"label",replacement:"aria-label",version:"2.8.0",scope:"el-input",ref:"https://element-plus.org/en-US/component/input.html"},C(()=>!!r.label)),t({input:g,textarea:y,ref:P,textareaStyle:K,autosize:Yt(r,"autosize"),focus:Te,blur:Ne,select:We,clear:qe,resizeTextarea:me}),(ye,Ye)=>(b(),M("div",Mt(s(a),{class:[s(i),{[s(f).bm("group","append")]:ye.$slots.append,[s(f).bm("group","prepend")]:ye.$slots.prepend}],style:s(F),role:ye.containerRole,onMouseenter:Ae,onMouseleave:Ie}),[se(" input "),ye.type!=="textarea"?(b(),M(Qe,{key:0},[se(" prepend slot "),ye.$slots.prepend?(b(),M("div",{key:0,class:O(s(f).be("group","prepend"))},[be(ye.$slots,"prepend")],2)):se("v-if",!0),E("div",{ref_key:"wrapperRef",ref:L,class:O(s(c))},[se(" prefix slot "),ye.$slots.prefix||ye.prefixIcon?(b(),M("span",{key:0,class:O(s(f).e("prefix"))},[E("span",{class:O(s(f).e("prefix-inner"))},[be(ye.$slots,"prefix"),ye.prefixIcon?(b(),he(s(Ze),{key:0,class:O(s(f).e("icon"))},{default:le(()=>[(b(),he(Et(ye.prefixIcon)))]),_:1},8,["class"])):se("v-if",!0)],2)],2)):se("v-if",!0),E("input",Mt({id:s(h),ref_key:"input",ref:g,class:s(f).e("inner")},s(d),{minlength:ye.minlength,maxlength:ye.maxlength,type:ye.showPassword?$.value?"text":"password":ye.type,disabled:s(m),readonly:ye.readonly,autocomplete:ye.autocomplete,tabindex:ye.tabindex,"aria-label":ye.label||ye.ariaLabel,placeholder:ye.placeholder,style:ye.inputStyle,form:ye.form,autofocus:ye.autofocus,onCompositionstart:pe,onCompositionupdate:ke,onCompositionend:Oe,onInput:De,onFocus:Ye[0]||(Ye[0]=(...tt)=>s(B)&&s(B)(...tt)),onBlur:Ye[1]||(Ye[1]=(...tt)=>s(j)&&s(j)(...tt)),onChange:ae,onKeydown:xe}),null,16,jU),se(" suffix slot "),s(Me)?(b(),M("span",{key:1,class:O(s(f).e("suffix"))},[E("span",{class:O(s(f).e("suffix-inner"))},[!s(U)||!s(oe)||!s(ne)?(b(),M(Qe,{key:0},[be(ye.$slots,"suffix"),ye.suffixIcon?(b(),he(s(Ze),{key:0,class:O(s(f).e("icon"))},{default:le(()=>[(b(),he(Et(ye.suffixIcon)))]),_:1},8,["class"])):se("v-if",!0)],64)):se("v-if",!0),s(U)?(b(),he(s(Ze),{key:1,class:O([s(f).e("icon"),s(f).e("clear")]),onMousedown:ct(s(Wt),["prevent"]),onClick:qe},{default:le(()=>[ee(s(hn))]),_:1},8,["class","onMousedown"])):se("v-if",!0),s(oe)?(b(),he(s(Ze),{key:2,class:O([s(f).e("icon"),s(f).e("password")]),onClick:we},{default:le(()=>[(b(),he(Et(s(H))))]),_:1},8,["class"])):se("v-if",!0),s(ne)?(b(),M("span",{key:3,class:O(s(f).e("count"))},[E("span",{class:O(s(f).e("count-inner"))},$e(s(ce))+" / "+$e(ye.maxlength),3)],2)):se("v-if",!0),s(J)&&s(Z)&&s(te)?(b(),he(s(Ze),{key:4,class:O([s(f).e("icon"),s(f).e("validateIcon"),s(f).is("loading",s(J)==="validating")])},{default:le(()=>[(b(),he(Et(s(Z))))]),_:1},8,["class"])):se("v-if",!0)],2)],2)):se("v-if",!0)],2),se(" append slot "),ye.$slots.append?(b(),M("div",{key:1,class:O(s(f).be("group","append"))},[be(ye.$slots,"append")],2)):se("v-if",!0)],64)):(b(),M(Qe,{key:1},[se(" textarea "),E("textarea",Mt({id:s(h),ref_key:"textarea",ref:y,class:[s(_).e("inner"),s(f).is("focus",s(V))]},s(d),{minlength:ye.minlength,maxlength:ye.maxlength,tabindex:ye.tabindex,disabled:s(m),readonly:ye.readonly,autocomplete:ye.autocomplete,style:s(K),"aria-label":ye.label||ye.ariaLabel,placeholder:ye.placeholder,form:ye.form,autofocus:ye.autofocus,onCompositionstart:pe,onCompositionupdate:ke,onCompositionend:Oe,onInput:De,onFocus:Ye[2]||(Ye[2]=(...tt)=>s(B)&&s(B)(...tt)),onBlur:Ye[3]||(Ye[3]=(...tt)=>s(j)&&s(j)(...tt)),onChange:ae,onKeydown:xe}),null,16,KU),s(ne)?(b(),M("span",{key:0,style:Je(T.value),class:O(s(f).e("count"))},$e(s(ce))+" / "+$e(ye.maxlength),7)):se("v-if",!0)],64))],16,FU))}});var WU=Le(UU,[["__file","input.vue"]]);const cr=yt(WU),Qi=4,g4={vertical:{offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",key:"vertical",axis:"Y",client:"clientY",direction:"top"},horizontal:{offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",key:"horizontal",axis:"X",client:"clientX",direction:"left"}},qU=({move:e,size:t,bar:o})=>({[o.size]:t,transform:`translate${o.axis}(${e}%)`}),rv=Symbol("scrollbarContextKey"),YU=Pe({vertical:Boolean,size:String,move:Number,ratio:{type:Number,required:!0},always:Boolean}),GU="Thumb";var b4=Le(N({__name:"thumb",props:YU,setup(e){const t=e,o=Ge(rv),r=ze("scrollbar");o||Io(GU,"can not inject scrollbar context");const l=D(),n=D(),a=D({}),i=D(!1);let c=!1,d=!1,u=Nt?document.onselectstart:null;const p=C(()=>g4[t.vertical?"vertical":"horizontal"]),h=C(()=>qU({size:t.size,move:t.move,bar:p.value})),v=C(()=>l.value[p.value.offset]**2/o.wrapElement[p.value.scrollSize]/t.ratio/n.value[p.value.offset]),m=T=>{var R;if(T.stopPropagation(),T.ctrlKey||[1,2].includes(T.button))return;(R=window.getSelection())==null||R.removeAllRanges(),_(T);const P=T.currentTarget;P&&(a.value[p.value.axis]=P[p.value.offset]-(T[p.value.client]-P.getBoundingClientRect()[p.value.direction]))},f=T=>{if(!n.value||!l.value||!o.wrapElement)return;const R=Math.abs(T.target.getBoundingClientRect()[p.value.direction]-T[p.value.client]),P=n.value[p.value.offset]/2,L=(R-P)*100*v.value/l.value[p.value.offset];o.wrapElement[p.value.scroll]=L*o.wrapElement[p.value.scrollSize]/100},_=T=>{T.stopImmediatePropagation(),c=!0,document.addEventListener("mousemove",g),document.addEventListener("mouseup",y),u=document.onselectstart,document.onselectstart=()=>!1},g=T=>{if(!l.value||!n.value||c===!1)return;const R=a.value[p.value.axis];if(!R)return;const P=(l.value.getBoundingClientRect()[p.value.direction]-T[p.value.client])*-1,L=n.value[p.value.offset]-R,V=(P-L)*100*v.value/l.value[p.value.offset];o.wrapElement[p.value.scroll]=V*o.wrapElement[p.value.scrollSize]/100},y=()=>{c=!1,a.value[p.value.axis]=0,document.removeEventListener("mousemove",g),document.removeEventListener("mouseup",y),$(),d&&(i.value=!1)},w=()=>{d=!1,i.value=!!t.size},x=()=>{d=!0,i.value=c};to(()=>{$(),document.removeEventListener("mouseup",y)});const $=()=>{document.onselectstart!==u&&(document.onselectstart=u)};return oo(Yt(o,"scrollbarElement"),"mousemove",w),oo(Yt(o,"scrollbarElement"),"mouseleave",x),(T,R)=>(b(),he(Mo,{name:s(r).b("fade"),persisted:""},{default:le(()=>[mt(E("div",{ref_key:"instance",ref:l,class:O([s(r).e("bar"),s(r).is(s(p).key)]),onMousedown:f},[E("div",{ref_key:"thumb",ref:n,class:O(s(r).e("thumb")),style:Je(s(h)),onMousedown:m},null,38)],34),[[Lt,T.always||i.value]])]),_:1},8,["name"]))}}),[["__file","thumb.vue"]]);const XU=Pe({always:{type:Boolean,default:!0},minSize:{type:Number,required:!0}});var ZU=Le(N({__name:"bar",props:XU,setup(e,{expose:t}){const o=e,r=Ge(rv),l=D(0),n=D(0),a=D(""),i=D(""),c=D(1),d=D(1);return t({handleScroll:h=>{if(h){const v=h.offsetHeight-Qi,m=h.offsetWidth-Qi;n.value=h.scrollTop*100/v*c.value,l.value=h.scrollLeft*100/m*d.value}},update:()=>{const h=r==null?void 0:r.wrapElement;if(!h)return;const v=h.offsetHeight-Qi,m=h.offsetWidth-Qi,f=v**2/h.scrollHeight,_=m**2/h.scrollWidth,g=Math.max(f,o.minSize),y=Math.max(_,o.minSize);c.value=f/(v-f)/(g/(v-g)),d.value=_/(m-_)/(y/(m-y)),i.value=g+Qi(b(),M(Qe,null,[ee(b4,{move:l.value,ratio:d.value,size:a.value,always:h.always},null,8,["move","ratio","size","always"]),ee(b4,{move:n.value,ratio:c.value,size:i.value,vertical:"",always:h.always},null,8,["move","ratio","size","always"])],64))}}),[["__file","bar.vue"]]);const JU=Pe({height:{type:[String,Number],default:""},maxHeight:{type:[String,Number],default:""},native:{type:Boolean,default:!1},wrapStyle:{type:ue([String,Object,Array]),default:""},wrapClass:{type:[String,Array],default:""},viewClass:{type:[String,Array],default:""},viewStyle:{type:[String,Array,Object],default:""},noresize:Boolean,tag:{type:String,default:"div"},always:Boolean,minSize:{type:Number,default:20},id:String,role:String,...Zo(["ariaLabel","ariaOrientation"])}),QU=N({...N({name:"ElScrollbar"}),props:JU,emits:{scroll:({scrollTop:e,scrollLeft:t})=>[e,t].every(st)},setup(e,{expose:t,emit:o}){const r=e,l=ze("scrollbar");let n,a;const i=D(),c=D(),d=D(),u=D(),p=C(()=>{const w={};return r.height&&(w.height=mo(r.height)),r.maxHeight&&(w.maxHeight=mo(r.maxHeight)),[r.wrapStyle,w]}),h=C(()=>[r.wrapClass,l.e("wrap"),{[l.em("wrap","hidden-default")]:!r.native}]),v=C(()=>[l.e("view"),r.viewClass]),m=()=>{var w;c.value&&((w=u.value)==null||w.handleScroll(c.value),o("scroll",{scrollTop:c.value.scrollTop,scrollLeft:c.value.scrollLeft}))};function f(w,x){xt(w)?c.value.scrollTo(w):st(w)&&st(x)&&c.value.scrollTo(w,x)}const _=w=>{st(w)&&(c.value.scrollTop=w)},g=w=>{st(w)&&(c.value.scrollLeft=w)},y=()=>{var w;(w=u.value)==null||w.update()};return Se(()=>r.noresize,w=>{w?(n==null||n(),a==null||a()):({stop:n}=so(d,y),a=oo("resize",y))},{immediate:!0}),Se(()=>[r.maxHeight,r.height],()=>{r.native||et(()=>{var w;y(),c.value&&((w=u.value)==null||w.handleScroll(c.value))})}),zt(rv,Dt({scrollbarElement:i,wrapElement:c})),ft(()=>{r.native||et(()=>{y()})}),rn(()=>y()),t({wrapRef:c,update:y,scrollTo:f,setScrollTop:_,setScrollLeft:g,handleScroll:m}),(w,x)=>(b(),M("div",{ref_key:"scrollbarRef",ref:i,class:O(s(l).b())},[E("div",{ref_key:"wrapRef",ref:c,class:O(s(h)),style:Je(s(p)),onScroll:m},[(b(),he(Et(w.tag),{id:w.id,ref_key:"resizeRef",ref:d,class:O(s(v)),style:Je(w.viewStyle),role:w.role,"aria-label":w.ariaLabel,"aria-orientation":w.ariaOrientation},{default:le(()=>[be(w.$slots,"default")]),_:3},8,["id","class","style","role","aria-label","aria-orientation"]))],38),w.native?se("v-if",!0):(b(),he(ZU,{key:0,ref_key:"barRef",ref:u,always:w.always,"min-size":w.minSize},null,8,["always","min-size"]))],2))}});var eW=Le(QU,[["__file","scrollbar.vue"]]);const wn=yt(eW),lv=Symbol("popper"),_4=Symbol("popperContent"),w4=Pe({role:{type:String,values:["dialog","grid","group","listbox","menu","navigation","tooltip","tree"],default:"tooltip"}}),tW=N({...N({name:"ElPopper",inheritAttrs:!1}),props:w4,setup(e,{expose:t}){const o=e,r=D(),l=D(),n=D(),a=D(),i=C(()=>o.role),c={triggerRef:r,popperInstanceRef:l,contentRef:n,referenceRef:a,role:i};return t(c),zt(lv,c),(d,u)=>be(d.$slots,"default")}});var oW=Le(tW,[["__file","popper.vue"]]);const y4=Pe({arrowOffset:{type:Number,default:5}}),rW=N({...N({name:"ElPopperArrow",inheritAttrs:!1}),props:y4,setup(e,{expose:t}){const o=e,r=ze("popper"),{arrowOffset:l,arrowRef:n,arrowStyle:a}=Ge(_4,void 0);return Se(()=>o.arrowOffset,i=>{l.value=i}),to(()=>{n.value=void 0}),t({arrowRef:n}),(i,c)=>(b(),M("span",{ref_key:"arrowRef",ref:n,class:O(s(r).e("arrow")),style:Je(s(a)),"data-popper-arrow":""},null,6))}});var lW=Le(rW,[["__file","arrow.vue"]]);const x4=N({name:"ElOnlyChild",setup(e,{slots:t,attrs:o}){var r;const l=Ge(O6),n=Ij((r=l==null?void 0:l.setForwardRef)!=null?r:Wt);return()=>{var a;const i=(a=t.default)==null?void 0:a.call(t,o);if(!i||i.length>1)return null;const c=k4(i);return c?mt(nn(c,o),[[n]]):null}}});function k4(e){if(!e)return null;const t=e;for(const o of t){if(xt(o))switch(o.type){case Jo:continue;case vi:case"svg":return C4(o);case Qe:return k4(o.children);default:return o}return C4(o)}return null}function C4(e){const t=ze("only-child");return ee("span",{class:t.e("content")},[e])}const S4=Pe({virtualRef:{type:ue(Object)},virtualTriggering:Boolean,onMouseenter:{type:ue(Function)},onMouseleave:{type:ue(Function)},onClick:{type:ue(Function)},onKeydown:{type:ue(Function)},onFocus:{type:ue(Function)},onBlur:{type:ue(Function)},onContextmenu:{type:ue(Function)},id:String,open:Boolean}),nW=N({...N({name:"ElPopperTrigger",inheritAttrs:!1}),props:S4,setup(e,{expose:t}){const o=e,{role:r,triggerRef:l}=Ge(lv,void 0);zj(l);const n=C(()=>i.value?o.id:void 0),a=C(()=>{if(r&&r.value==="tooltip")return o.open&&o.id?o.id:void 0}),i=C(()=>{if(r&&r.value!=="tooltip")return r.value}),c=C(()=>i.value?`${o.open}`:void 0);let d;return ft(()=>{Se(()=>o.virtualRef,u=>{u&&(l.value=$r(u))},{immediate:!0}),Se(l,(u,p)=>{d==null||d(),d=void 0,Gr(u)&&(["onMouseenter","onMouseleave","onClick","onKeydown","onFocus","onBlur","onContextmenu"].forEach(h=>{var v;const m=o[h];m&&(u.addEventListener(h.slice(2).toLowerCase(),m),(v=p==null?void 0:p.removeEventListener)==null||v.call(p,h.slice(2).toLowerCase(),m))}),d=Se([n,a,i,c],h=>{["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach((v,m)=>{jo(h[m])?u.removeAttribute(v):u.setAttribute(v,h[m])})},{immediate:!0})),Gr(p)&&["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach(h=>p.removeAttribute(h))},{immediate:!0})}),to(()=>{d==null||d(),d=void 0}),t({triggerRef:l}),(u,p)=>u.virtualTriggering?se("v-if",!0):(b(),he(s(x4),Mt({key:0},u.$attrs,{"aria-controls":s(n),"aria-describedby":s(a),"aria-expanded":s(c),"aria-haspopup":s(i)}),{default:le(()=>[be(u.$slots,"default")]),_:3},16,["aria-controls","aria-describedby","aria-expanded","aria-haspopup"]))}});var aW=Le(nW,[["__file","trigger.vue"]]);const nv="focus-trap.focus-after-trapped",av="focus-trap.focus-after-released",iW="focus-trap.focusout-prevented",E4={cancelable:!0,bubbles:!1},sW={cancelable:!0,bubbles:!1},T4="focusAfterTrapped",$4="focusAfterReleased",iv=Symbol("elFocusTrap"),sv=D(),Qd=D(0),cv=D(0);let ep=0;const M4=e=>{const t=[],o=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const l=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||l?NodeFilter.FILTER_SKIP:r.tabIndex>=0||r===document.activeElement?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;o.nextNode();)t.push(o.currentNode);return t},A4=(e,t)=>{for(const o of e)if(!cW(o,t))return o},cW=(e,t)=>{if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1},uW=e=>{const t=M4(e),o=A4(t,e),r=A4(t.reverse(),e);return[o,r]},dW=e=>e instanceof HTMLInputElement&&"select"in e,ra=(e,t)=>{if(e&&e.focus){const o=document.activeElement;e.focus({preventScroll:!0}),cv.value=window.performance.now(),e!==o&&dW(e)&&t&&e.select()}};function z4(e,t){const o=[...e],r=e.indexOf(t);return r!==-1&&o.splice(r,1),o}const pW=()=>{let e=[];return{push:r=>{const l=e[0];l&&r!==l&&l.pause(),e=z4(e,r),e.unshift(r)},remove:r=>{var l,n;e=z4(e,r),(n=(l=e[0])==null?void 0:l.resume)==null||n.call(l)}}},fW=(e,t=!1)=>{const o=document.activeElement;for(const r of e)if(ra(r,t),document.activeElement!==o)return},I4=pW(),hW=()=>Qd.value>cv.value,tp=()=>{sv.value="pointer",Qd.value=window.performance.now()},O4=()=>{sv.value="keyboard",Qd.value=window.performance.now()},vW=()=>(ft(()=>{ep===0&&(document.addEventListener("mousedown",tp),document.addEventListener("touchstart",tp),document.addEventListener("keydown",O4)),ep++}),to(()=>{ep--,ep<=0&&(document.removeEventListener("mousedown",tp),document.removeEventListener("touchstart",tp),document.removeEventListener("keydown",O4))}),{focusReason:sv,lastUserFocusTimestamp:Qd,lastAutomatedFocusTimestamp:cv}),op=e=>new CustomEvent(iW,{...sW,detail:e}),mW=N({name:"ElFocusTrap",inheritAttrs:!1,props:{loop:Boolean,trapped:Boolean,focusTrapEl:Object,focusStartEl:{type:[Object,String],default:"first"}},emits:[T4,$4,"focusin","focusout","focusout-prevented","release-requested"],setup(e,{emit:t}){const o=D();let r,l;const{focusReason:n}=vW();Ej(m=>{e.trapped&&!a.paused&&t("release-requested",m)});const a={paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}},i=m=>{if(!e.loop&&!e.trapped||a.paused)return;const{key:f,altKey:_,ctrlKey:g,metaKey:y,currentTarget:w,shiftKey:x}=m,{loop:$}=e,T=f===lt.tab&&!_&&!g&&!y,R=document.activeElement;if(T&&R){const P=w,[L,V]=uW(P);if(L&&V){if(!x&&R===V){const j=op({focusReason:n.value});t("focusout-prevented",j),j.defaultPrevented||(m.preventDefault(),$&&ra(L,!0))}else if(x&&[L,P].includes(R)){const j=op({focusReason:n.value});t("focusout-prevented",j),j.defaultPrevented||(m.preventDefault(),$&&ra(V,!0))}}else if(R===P){const j=op({focusReason:n.value});t("focusout-prevented",j),j.defaultPrevented||m.preventDefault()}}};zt(iv,{focusTrapRef:o,onKeydown:i}),Se(()=>e.focusTrapEl,m=>{m&&(o.value=m)},{immediate:!0}),Se([o],([m],[f])=>{m&&(m.addEventListener("keydown",i),m.addEventListener("focusin",u),m.addEventListener("focusout",p)),f&&(f.removeEventListener("keydown",i),f.removeEventListener("focusin",u),f.removeEventListener("focusout",p))});const c=m=>{t(T4,m)},d=m=>t($4,m),u=m=>{const f=s(o);if(!f)return;const _=m.target,g=m.relatedTarget,y=_&&f.contains(_);e.trapped||g&&f.contains(g)||(r=g),y&&t("focusin",m),!a.paused&&e.trapped&&(y?l=_:ra(l,!0))},p=m=>{const f=s(o);if(!(a.paused||!f))if(e.trapped){const _=m.relatedTarget;!jo(_)&&!f.contains(_)&&setTimeout(()=>{if(!a.paused&&e.trapped){const g=op({focusReason:n.value});t("focusout-prevented",g),g.defaultPrevented||ra(l,!0)}},0)}else{const _=m.target;_&&f.contains(_)||t("focusout",m)}};async function h(){await et();const m=s(o);if(m){I4.push(a);const f=m.contains(document.activeElement)?r:document.activeElement;if(r=f,!m.contains(f)){const g=new Event(nv,E4);m.addEventListener(nv,c),m.dispatchEvent(g),g.defaultPrevented||et(()=>{let y=e.focusStartEl;ut(y)||(ra(y),document.activeElement!==y&&(y="first")),y==="first"&&fW(M4(m),!0),(document.activeElement===f||y==="container")&&ra(m)})}}}function v(){const m=s(o);if(m){m.removeEventListener(nv,c);const f=new CustomEvent(av,{...E4,detail:{focusReason:n.value}});m.addEventListener(av,d),m.dispatchEvent(f),!f.defaultPrevented&&(n.value=="keyboard"||!hW()||m.contains(document.activeElement))&&ra(r??document.body),m.removeEventListener(av,d),I4.remove(a)}}return ft(()=>{e.trapped&&h(),Se(()=>e.trapped,m=>{m?h():v()})}),to(()=>{e.trapped&&v()}),{onKeydown:i}}});function gW(e,t,o,r,l,n){return be(e.$slots,"default",{handleKeydown:e.onKeydown})}var Nc=Le(mW,[["render",gW],["__file","focus-trap.vue"]]);const bW=["fixed","absolute"],_W=Pe({boundariesPadding:{type:Number,default:0},fallbackPlacements:{type:ue(Array),default:void 0},gpuAcceleration:{type:Boolean,default:!0},offset:{type:Number,default:12},placement:{type:String,values:Va,default:"bottom"},popperOptions:{type:ue(Object),default:()=>({})},strategy:{type:String,values:bW,default:"absolute"}}),N4=Pe({..._W,id:String,style:{type:ue([String,Array,Object])},className:{type:ue([String,Array,Object])},effect:{type:String,default:"dark"},visible:Boolean,enterable:{type:Boolean,default:!0},pure:Boolean,focusOnShow:{type:Boolean,default:!1},trapping:{type:Boolean,default:!1},popperClass:{type:ue([String,Array,Object])},popperStyle:{type:ue([String,Array,Object])},referenceEl:{type:ue(Object)},triggerTargetEl:{type:ue(Object)},stopPopperMouseEvent:{type:Boolean,default:!0},virtualTriggering:Boolean,zIndex:Number,...Zo(["ariaLabel"])}),wW={mouseenter:e=>e instanceof MouseEvent,mouseleave:e=>e instanceof MouseEvent,focus:()=>!0,blur:()=>!0,close:()=>!0},yW=(e,t=[])=>{const{placement:o,strategy:r,popperOptions:l}=e,n={placement:o,strategy:r,...l,modifiers:[...kW(e),...t]};return CW(n,l==null?void 0:l.modifiers),n},xW=e=>{if(Nt)return $r(e)};function kW(e){const{offset:t,gpuAcceleration:o,fallbackPlacements:r}=e;return[{name:"offset",options:{offset:[0,t??12]}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5,fallbackPlacements:r}},{name:"computeStyles",options:{gpuAcceleration:o}}]}function CW(e,t){t&&(e.modifiers=[...e.modifiers,...t??[]])}const SW=0,EW=e=>{const{popperInstanceRef:t,contentRef:o,triggerRef:r,role:l}=Ge(lv,void 0),n=D(),a=D(),i=C(()=>({name:"eventListeners",enabled:!!e.visible})),c=C(()=>{var g;const y=s(n),w=(g=s(a))!=null?g:SW;return{name:"arrow",enabled:!C3(y),options:{element:y,padding:w}}}),d=C(()=>({onFirstUpdate:()=>{m()},...yW(e,[s(c),s(i)])})),u=C(()=>xW(e.referenceEl)||s(r)),{attributes:p,state:h,styles:v,update:m,forceUpdate:f,instanceRef:_}=xj(u,o,d);return Se(_,g=>t.value=g),ft(()=>{Se(()=>{var g;return(g=s(u))==null?void 0:g.getBoundingClientRect()},()=>{m()})}),{attributes:p,arrowRef:n,contentRef:o,instanceRef:_,state:h,styles:v,role:l,forceUpdate:f,update:m}},TW=(e,{attributes:t,styles:o,role:r})=>{const{nextZIndex:l}=Ki(),n=ze("popper"),a=C(()=>s(t).popper),i=D(st(e.zIndex)?e.zIndex:l()),c=C(()=>[n.b(),n.is("pure",e.pure),n.is(e.effect),e.popperClass]),d=C(()=>[{zIndex:s(i)},s(o).popper,e.popperStyle||{}]),u=C(()=>r.value==="dialog"?"false":void 0),p=C(()=>s(o).arrow||{});return{ariaModal:u,arrowStyle:p,contentAttrs:a,contentClass:c,contentStyle:d,contentZIndex:i,updateZIndex:()=>{i.value=st(e.zIndex)?e.zIndex:l()}}},$W=(e,t)=>{const o=D(!1),r=D();return{focusStartRef:r,trapped:o,onFocusAfterReleased:d=>{var u;((u=d.detail)==null?void 0:u.focusReason)!=="pointer"&&(r.value="first",t("blur"))},onFocusAfterTrapped:()=>{t("focus")},onFocusInTrap:d=>{e.visible&&!o.value&&(d.target&&(r.value=d.target),o.value=!0)},onFocusoutPrevented:d=>{e.trapping||(d.detail.focusReason==="pointer"&&d.preventDefault(),o.value=!1)},onReleaseRequested:()=>{o.value=!1,t("close")}}},MW=N({...N({name:"ElPopperContent"}),props:N4,emits:wW,setup(e,{expose:t,emit:o}){const r=e,{focusStartRef:l,trapped:n,onFocusAfterReleased:a,onFocusAfterTrapped:i,onFocusInTrap:c,onFocusoutPrevented:d,onReleaseRequested:u}=$W(r,o),{attributes:p,arrowRef:h,contentRef:v,styles:m,instanceRef:f,role:_,update:g}=EW(r),{ariaModal:y,arrowStyle:w,contentAttrs:x,contentClass:$,contentStyle:T,updateZIndex:R}=TW(r,{styles:m,attributes:p,role:_}),P=Ge(Hl,void 0),L=D();zt(_4,{arrowStyle:w,arrowRef:h,arrowOffset:L}),P&&zt(Hl,{...P,addInputId:Wt,removeInputId:Wt});let V;const B=(te=!0)=>{g(),te&&R()},j=()=>{B(!1),r.visible&&r.focusOnShow?n.value=!0:r.visible===!1&&(n.value=!1)};return ft(()=>{Se(()=>r.triggerTargetEl,(te,J)=>{V==null||V(),V=void 0;const Z=s(te||v.value),H=s(J||v.value);Gr(Z)&&(V=Se([_,()=>r.ariaLabel,y,()=>r.id],F=>{["role","aria-label","aria-modal","id"].forEach((K,I)=>{jo(F[I])?Z.removeAttribute(K):Z.setAttribute(K,F[I])})},{immediate:!0})),H!==Z&&Gr(H)&&["role","aria-label","aria-modal","id"].forEach(F=>{H.removeAttribute(F)})},{immediate:!0}),Se(()=>r.visible,j,{immediate:!0})}),to(()=>{V==null||V(),V=void 0}),t({popperContentRef:v,popperInstanceRef:f,updatePopper:B,contentStyle:T}),(te,J)=>(b(),M("div",Mt({ref_key:"contentRef",ref:v},s(x),{style:s(T),class:s($),tabindex:"-1",onMouseenter:J[0]||(J[0]=Z=>te.$emit("mouseenter",Z)),onMouseleave:J[1]||(J[1]=Z=>te.$emit("mouseleave",Z))}),[ee(s(Nc),{trapped:s(n),"trap-on-focus-in":!0,"focus-trap-el":s(v),"focus-start-el":s(l),onFocusAfterTrapped:s(i),onFocusAfterReleased:s(a),onFocusin:s(c),onFocusoutPrevented:s(d),onReleaseRequested:s(u)},{default:le(()=>[be(te.$slots,"default")]),_:3},8,["trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusin","onFocusoutPrevented","onReleaseRequested"])],16))}});var AW=Le(MW,[["__file","content.vue"]]);const P4=yt(oW),rp=Symbol("elTooltip"),Uo=Pe({...Mj,...N4,appendTo:{type:ue([String,Object])},content:{type:String,default:""},rawContent:{type:Boolean,default:!1},persistent:Boolean,visible:{type:ue(Boolean),default:null},transition:String,teleported:{type:Boolean,default:!0},disabled:Boolean,...Zo(["ariaLabel"])}),Pc=Pe({...S4,disabled:Boolean,trigger:{type:ue([String,Array]),default:"hover"},triggerKeys:{type:ue(Array),default:()=>[lt.enter,lt.space]}}),{useModelToggleProps:zW,useModelToggleEmits:IW,useModelToggle:OW}=a6("visible"),NW=Pe({...w4,...zW,...Uo,...Pc,...y4,showArrow:{type:Boolean,default:!0}}),PW=[...IW,"before-show","before-hide","show","hide","open","close"],RW=(e,t)=>Ke(e)?e.includes(t):e===t,es=(e,t,o)=>r=>{RW(s(e),t)&&o(r)},LW=N({...N({name:"ElTooltipTrigger"}),props:Pc,setup(e,{expose:t}){const o=e,r=ze("tooltip"),{controlled:l,id:n,open:a,onOpen:i,onClose:c,onToggle:d}=Ge(rp,void 0),u=D(null),p=()=>{if(s(l)||o.disabled)return!0},h=Yt(o,"trigger"),v=ho(p,es(h,"hover",i)),m=ho(p,es(h,"hover",c)),f=ho(p,es(h,"click",x=>{x.button===0&&d(x)})),_=ho(p,es(h,"focus",i)),g=ho(p,es(h,"focus",c)),y=ho(p,es(h,"contextmenu",x=>{x.preventDefault(),d(x)})),w=ho(p,x=>{const{code:$}=x;o.triggerKeys.includes($)&&(x.preventDefault(),d(x))});return t({triggerRef:u}),(x,$)=>(b(),he(s(aW),{id:s(n),"virtual-ref":x.virtualRef,open:s(a),"virtual-triggering":x.virtualTriggering,class:O(s(r).e("trigger")),onBlur:s(g),onClick:s(f),onContextmenu:s(y),onFocus:s(_),onMouseenter:s(v),onMouseleave:s(m),onKeydown:s(w)},{default:le(()=>[be(x.$slots,"default")]),_:3},8,["id","virtual-ref","open","virtual-triggering","class","onBlur","onClick","onContextmenu","onFocus","onMouseenter","onMouseleave","onKeydown"]))}});var BW=Le(LW,[["__file","trigger.vue"]]);const VW=N({...N({name:"ElTooltipContent",inheritAttrs:!1}),props:Uo,setup(e,{expose:t}){const o=e,{selector:r}=I6(),l=ze("tooltip"),n=D(null),a=D(!1),{controlled:i,id:c,open:d,trigger:u,onClose:p,onOpen:h,onShow:v,onHide:m,onBeforeShow:f,onBeforeHide:_}=Ge(rp,void 0),g=C(()=>o.transition||`${l.namespace.value}-fade-in-linear`),y=C(()=>o.persistent);to(()=>{a.value=!0});const w=C(()=>s(y)?!0:s(d)),x=C(()=>o.disabled?!1:s(d)),$=C(()=>o.appendTo||r.value),T=C(()=>{var F;return(F=o.style)!=null?F:{}}),R=C(()=>!s(d)),P=()=>{m()},L=()=>{if(s(i))return!0},V=ho(L,()=>{o.enterable&&s(u)==="hover"&&h()}),B=ho(L,()=>{s(u)==="hover"&&p()}),j=()=>{var F,K;(K=(F=n.value)==null?void 0:F.updatePopper)==null||K.call(F),f==null||f()},te=()=>{_==null||_()},J=()=>{v(),H=I0(C(()=>{var F;return(F=n.value)==null?void 0:F.popperContentRef}),()=>{if(s(i))return;s(u)!=="hover"&&p()})},Z=()=>{o.virtualTriggering||p()};let H;return Se(()=>s(d),F=>{F||H==null||H()},{flush:"post"}),Se(()=>o.content,()=>{var F,K;(K=(F=n.value)==null?void 0:F.updatePopper)==null||K.call(F)}),t({contentRef:n}),(F,K)=>(b(),he(hi,{disabled:!F.teleported,to:s($)},[ee(Mo,{name:s(g),onAfterLeave:P,onBeforeEnter:j,onAfterEnter:J,onBeforeLeave:te},{default:le(()=>[s(w)?mt((b(),he(s(AW),Mt({key:0,id:s(c),ref_key:"contentRef",ref:n},F.$attrs,{"aria-label":F.ariaLabel,"aria-hidden":s(R),"boundaries-padding":F.boundariesPadding,"fallback-placements":F.fallbackPlacements,"gpu-acceleration":F.gpuAcceleration,offset:F.offset,placement:F.placement,"popper-options":F.popperOptions,strategy:F.strategy,effect:F.effect,enterable:F.enterable,pure:F.pure,"popper-class":F.popperClass,"popper-style":[F.popperStyle,s(T)],"reference-el":F.referenceEl,"trigger-target-el":F.triggerTargetEl,visible:s(x),"z-index":F.zIndex,onMouseenter:s(V),onMouseleave:s(B),onBlur:Z,onClose:s(p)}),{default:le(()=>[a.value?se("v-if",!0):be(F.$slots,"default",{key:0})]),_:3},16,["id","aria-label","aria-hidden","boundaries-padding","fallback-placements","gpu-acceleration","offset","placement","popper-options","strategy","effect","enterable","pure","popper-class","popper-style","reference-el","trigger-target-el","visible","z-index","onMouseenter","onMouseleave","onClose"])),[[Lt,s(x)]]):se("v-if",!0)]),_:3},8,["name"])],8,["disabled","to"]))}});var DW=Le(VW,[["__file","content.vue"]]);const HW=["innerHTML"],FW={key:1},jW=N({...N({name:"ElTooltip"}),props:NW,emits:PW,setup(e,{expose:t,emit:o}){const r=e;$j();const l=Qo(),n=D(),a=D(),i=()=>{var g;const y=s(n);y&&((g=y.popperInstanceRef)==null||g.update())},c=D(!1),d=D(),{show:u,hide:p,hasUpdateHandler:h}=OW({indicator:c,toggleReason:d}),{onOpen:v,onClose:m}=Aj({showAfter:Yt(r,"showAfter"),hideAfter:Yt(r,"hideAfter"),autoClose:Yt(r,"autoClose"),open:u,close:p}),f=C(()=>Co(r.visible)&&!h.value);zt(rp,{controlled:f,id:l,open:ui(c),trigger:Yt(r,"trigger"),onOpen:g=>{v(g)},onClose:g=>{m(g)},onToggle:g=>{s(c)?m(g):v(g)},onShow:()=>{o("show",d.value)},onHide:()=>{o("hide",d.value)},onBeforeShow:()=>{o("before-show",d.value)},onBeforeHide:()=>{o("before-hide",d.value)},updatePopper:i}),Se(()=>r.disabled,g=>{g&&c.value&&(c.value=!1)});const _=g=>{var y,w;const x=(w=(y=a.value)==null?void 0:y.contentRef)==null?void 0:w.popperContentRef,$=(g==null?void 0:g.relatedTarget)||document.activeElement;return x&&x.contains($)};return jg(()=>c.value&&p()),t({popperRef:n,contentRef:a,isFocusInsideContent:_,updatePopper:i,onOpen:v,onClose:m,hide:p}),(g,y)=>(b(),he(s(P4),{ref_key:"popperRef",ref:n,role:g.role},{default:le(()=>[ee(BW,{disabled:g.disabled,trigger:g.trigger,"trigger-keys":g.triggerKeys,"virtual-ref":g.virtualRef,"virtual-triggering":g.virtualTriggering},{default:le(()=>[g.$slots.default?be(g.$slots,"default",{key:0}):se("v-if",!0)]),_:3},8,["disabled","trigger","trigger-keys","virtual-ref","virtual-triggering"]),ee(DW,{ref_key:"contentRef",ref:a,"aria-label":g.ariaLabel,"boundaries-padding":g.boundariesPadding,content:g.content,disabled:g.disabled,effect:g.effect,enterable:g.enterable,"fallback-placements":g.fallbackPlacements,"hide-after":g.hideAfter,"gpu-acceleration":g.gpuAcceleration,offset:g.offset,persistent:g.persistent,"popper-class":g.popperClass,"popper-style":g.popperStyle,placement:g.placement,"popper-options":g.popperOptions,pure:g.pure,"raw-content":g.rawContent,"reference-el":g.referenceEl,"trigger-target-el":g.triggerTargetEl,"show-after":g.showAfter,strategy:g.strategy,teleported:g.teleported,transition:g.transition,"virtual-triggering":g.virtualTriggering,"z-index":g.zIndex,"append-to":g.appendTo},{default:le(()=>[be(g.$slots,"content",{},()=>[g.rawContent?(b(),M("span",{key:0,innerHTML:g.content},null,8,HW)):(b(),M("span",FW,$e(g.content),1))]),g.showArrow?(b(),he(s(lW),{key:0,"arrow-offset":g.arrowOffset},null,8,["arrow-offset"])):se("v-if",!0)]),_:3},8,["aria-label","boundaries-padding","content","disabled","effect","enterable","fallback-placements","hide-after","gpu-acceleration","offset","persistent","popper-class","popper-style","placement","popper-options","pure","raw-content","reference-el","trigger-target-el","show-after","strategy","teleported","transition","virtual-triggering","z-index","append-to"])]),_:3},8,["role"]))}});var KW=Le(jW,[["__file","tooltip.vue"]]);const ur=yt(KW),UW=Pe({valueKey:{type:String,default:"value"},modelValue:{type:[String,Number],default:""},debounce:{type:Number,default:300},placement:{type:ue(String),values:["top","top-start","top-end","bottom","bottom-start","bottom-end"],default:"bottom-start"},fetchSuggestions:{type:ue([Function,Array]),default:Wt},popperClass:{type:String,default:""},triggerOnFocus:{type:Boolean,default:!0},selectWhenUnmatched:{type:Boolean,default:!1},hideLoading:{type:Boolean,default:!1},teleported:Uo.teleported,highlightFirstItem:{type:Boolean,default:!1},fitInputWidth:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},name:String,...Zo(["ariaLabel"])}),WW={[St]:e=>ut(e),[yr]:e=>ut(e),[ro]:e=>ut(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,select:e=>xt(e)},qW=["aria-expanded","aria-owns"],YW={key:0},GW=["id","aria-selected","onClick"],R4="ElAutocomplete",XW=N({...N({name:R4,inheritAttrs:!1}),props:UW,emits:WW,setup(e,{expose:t,emit:o}){const r=e,l=kh(),n=ya(),a=xr(),i=ze("autocomplete"),c=D(),d=D(),u=D(),p=D();let h=!1,v=!1;const m=D([]),f=D(-1),_=D(""),g=D(!1),y=D(!1),w=D(!1),x=Qo(),$=C(()=>n.style),T=C(()=>(m.value.length>0||w.value)&&g.value),R=C(()=>!r.hideLoading&&w.value),P=C(()=>c.value?Array.from(c.value.$el.querySelectorAll("input")):[]),L=()=>{T.value&&(_.value=`${c.value.$el.offsetWidth}px`)},V=()=>{f.value=-1},j=Mr(async de=>{if(y.value)return;const _e=me=>{w.value=!1,!y.value&&(Ke(me)?(m.value=me,f.value=r.highlightFirstItem?0:-1):Io(R4,"autocomplete suggestions must be an array"))};if(w.value=!0,Ke(r.fetchSuggestions))_e(r.fetchSuggestions);else{const me=await r.fetchSuggestions(de,_e);Ke(me)&&_e(me)}},r.debounce),te=de=>{const _e=!!de;if(o(yr,de),o(St,de),y.value=!1,g.value||(g.value=_e),!r.triggerOnFocus&&!de){y.value=!0,m.value=[];return}j(de)},J=de=>{var _e;a.value||(((_e=de.target)==null?void 0:_e.tagName)!=="INPUT"||P.value.includes(document.activeElement))&&(g.value=!0)},Z=de=>{o(ro,de)},H=de=>{v?v=!1:(g.value=!0,o("focus",de),r.triggerOnFocus&&!h&&j(String(r.modelValue)))},F=de=>{setTimeout(()=>{var _e;if((_e=u.value)!=null&&_e.isFocusInsideContent()){v=!0;return}g.value&&oe(),o("blur",de)})},K=()=>{g.value=!1,o(St,""),o("clear")},I=async()=>{T.value&&f.value>=0&&f.value{T.value&&(de.preventDefault(),de.stopPropagation(),oe())},oe=()=>{g.value=!1},ne=()=>{var de;(de=c.value)==null||de.focus()},ce=()=>{var de;(de=c.value)==null||de.blur()},Q=async de=>{o(yr,de[r.valueKey]),o(St,de[r.valueKey]),o("select",de),m.value=[],f.value=-1},Me=de=>{if(!T.value||w.value)return;if(de<0){f.value=-1;return}de>=m.value.length&&(de=m.value.length-1);const _e=d.value.querySelector(`.${i.be("suggestion","wrap")}`),Re=_e.querySelectorAll(`.${i.be("suggestion","list")} li`)[de],Ce=_e.scrollTop,{offsetTop:Ee,scrollHeight:De}=Re;Ee+De>Ce+_e.clientHeight&&(_e.scrollTop+=De),Ee{T.value&&oe()}),ft(()=>{c.value.ref.setAttribute("role","textbox"),c.value.ref.setAttribute("aria-autocomplete","list"),c.value.ref.setAttribute("aria-controls","id"),c.value.ref.setAttribute("aria-activedescendant",`${x.value}-item-${f.value}`),h=c.value.ref.hasAttribute("readonly")}),t({highlightedIndex:f,activated:g,loading:w,inputRef:c,popperRef:u,suggestions:m,handleSelect:Q,handleKeyEnter:I,focus:ne,blur:ce,close:oe,highlight:Me}),(de,_e)=>(b(),he(s(ur),{ref_key:"popperRef",ref:u,visible:s(T),placement:de.placement,"fallback-placements":["bottom-start","top-start"],"popper-class":[s(i).e("popper"),de.popperClass],teleported:de.teleported,"gpu-acceleration":!1,pure:"","manual-mode":"",effect:"light",trigger:"click",transition:`${s(i).namespace.value}-zoom-in-top`,persistent:"",role:"listbox",onBeforeShow:L,onHide:V},{content:le(()=>[E("div",{ref_key:"regionRef",ref:d,class:O([s(i).b("suggestion"),s(i).is("loading",s(R))]),style:Je({[de.fitInputWidth?"width":"minWidth"]:_.value,outline:"none"}),role:"region"},[ee(s(wn),{id:s(x),tag:"ul","wrap-class":s(i).be("suggestion","wrap"),"view-class":s(i).be("suggestion","list"),role:"listbox"},{default:le(()=>[s(R)?(b(),M("li",YW,[be(de.$slots,"loading",{},()=>[ee(s(Ze),{class:O(s(i).is("loading"))},{default:le(()=>[ee(s(vn))]),_:1},8,["class"])])])):(b(!0),M(Qe,{key:1},It(m.value,(me,Re)=>(b(),M("li",{id:`${s(x)}-item-${Re}`,key:Re,class:O({highlighted:f.value===Re}),role:"option","aria-selected":f.value===Re,onClick:Ce=>Q(me)},[be(de.$slots,"default",{item:me},()=>[Ct($e(me[de.valueKey]),1)])],10,GW))),128))]),_:3},8,["id","wrap-class","view-class"])],6)]),default:le(()=>[E("div",{ref_key:"listboxRef",ref:p,class:O([s(i).b(),de.$attrs.class]),style:Je(s($)),role:"combobox","aria-haspopup":"listbox","aria-expanded":s(T),"aria-owns":s(x)},[ee(s(cr),Mt({ref_key:"inputRef",ref:c},s(l),{clearable:de.clearable,disabled:s(a),name:de.name,"model-value":de.modelValue,"aria-label":de.ariaLabel,onInput:te,onChange:Z,onFocus:H,onBlur:F,onClear:K,onKeydown:[_e[0]||(_e[0]=Gt(ct(me=>Me(f.value-1),["prevent"]),["up"])),_e[1]||(_e[1]=Gt(ct(me=>Me(f.value+1),["prevent"]),["down"])),Gt(I,["enter"]),Gt(oe,["tab"]),Gt(U,["esc"])],onMousedown:J}),ln({_:2},[de.$slots.prepend?{name:"prepend",fn:le(()=>[be(de.$slots,"prepend")])}:void 0,de.$slots.append?{name:"append",fn:le(()=>[be(de.$slots,"append")])}:void 0,de.$slots.prefix?{name:"prefix",fn:le(()=>[be(de.$slots,"prefix")])}:void 0,de.$slots.suffix?{name:"suffix",fn:le(()=>[be(de.$slots,"suffix")])}:void 0]),1040,["clearable","disabled","name","model-value","aria-label","onKeydown"])],14,qW)]),_:3},8,["visible","placement","popper-class","teleported","transition"]))}});var ZW=Le(XW,[["__file","autocomplete.vue"]]);const JW=yt(ZW),QW=Pe({size:{type:[Number,String],values:Rl,default:"",validator:e=>st(e)},shape:{type:String,values:["circle","square"],default:"circle"},icon:{type:Xt},src:{type:String,default:""},alt:String,srcSet:String,fit:{type:ue(String),default:"cover"}}),eq={error:e=>e instanceof Event},tq=["src","alt","srcset"],oq=N({...N({name:"ElAvatar"}),props:QW,emits:eq,setup(e,{emit:t}){const o=e,r=ze("avatar"),l=D(!1),n=C(()=>{const{size:d,icon:u,shape:p}=o,h=[r.b()];return ut(d)&&h.push(r.m(d)),u&&h.push(r.m("icon")),p&&h.push(r.m(p)),h}),a=C(()=>{const{size:d}=o;return st(d)?r.cssVarBlock({size:mo(d)||""}):void 0}),i=C(()=>({objectFit:o.fit}));Se(()=>o.src,()=>l.value=!1);function c(d){l.value=!0,t("error",d)}return(d,u)=>(b(),M("span",{class:O(s(n)),style:Je(s(a))},[(d.src||d.srcSet)&&!l.value?(b(),M("img",{key:0,src:d.src,alt:d.alt,srcset:d.srcSet,style:Je(s(i)),onError:c},null,44,tq)):d.icon?(b(),he(s(Ze),{key:1},{default:le(()=>[(b(),he(Et(d.icon)))]),_:1})):be(d.$slots,"default",{key:2})],6))}});var rq=Le(oq,[["__file","avatar.vue"]]);const lq=yt(rq),nq={visibilityHeight:{type:Number,default:200},target:{type:String,default:""},right:{type:Number,default:40},bottom:{type:Number,default:40}},aq={click:e=>e instanceof MouseEvent},iq=(e,t,o)=>{const r=lo(),l=lo(),n=D(!1),a=()=>{r.value&&(n.value=r.value.scrollTop>=e.visibilityHeight)},i=d=>{var u;(u=r.value)==null||u.scrollTo({top:0,behavior:"smooth"}),t("click",d)},c=Xb(a,300,!0);return oo(l,"scroll",c),ft(()=>{var d;l.value=document,r.value=document.documentElement,e.target&&(r.value=(d=document.querySelector(e.target))!=null?d:void 0,r.value||Io(o,`target does not exist: ${e.target}`),l.value=r.value),a()}),{visible:n,handleClick:i}},L4="ElBacktop",sq=N({...N({name:L4}),props:nq,emits:aq,setup(e,{emit:t}){const o=e,r=ze("backtop"),{handleClick:l,visible:n}=iq(o,t,L4),a=C(()=>({right:`${o.right}px`,bottom:`${o.bottom}px`}));return(i,c)=>(b(),he(Mo,{name:`${s(r).namespace.value}-fade-in`},{default:le(()=>[s(n)?(b(),M("div",{key:0,style:Je(s(a)),class:O(s(r).b()),onClick:c[0]||(c[0]=ct((...d)=>s(l)&&s(l)(...d),["stop"]))},[be(i.$slots,"default",{},()=>[ee(s(Ze),{class:O(s(r).e("icon"))},{default:le(()=>[ee(s(O3))]),_:1},8,["class"])])],6)):se("v-if",!0)]),_:3},8,["name"]))}});var cq=Le(sq,[["__file","backtop.vue"]]);const uq=yt(cq),dq=Pe({value:{type:[String,Number],default:""},max:{type:Number,default:99},isDot:Boolean,hidden:Boolean,type:{type:String,values:["primary","success","warning","info","danger"],default:"danger"},showZero:{type:Boolean,default:!0},color:String,dotStyle:{type:ue([String,Object,Array])},badgeStyle:{type:ue([String,Object,Array])},offset:{type:ue(Array),default:[0,0]},dotClass:{type:String},badgeClass:{type:String}}),pq=["textContent"],fq=N({...N({name:"ElBadge"}),props:dq,setup(e,{expose:t}){const o=e,r=ze("badge"),l=C(()=>o.isDot?"":st(o.value)&&st(o.max)?o.max{var a,i,c,d,u,p;return[{backgroundColor:o.color,marginRight:mo(-((i=(a=o.offset)==null?void 0:a[0])!=null?i:0)),marginTop:mo((d=(c=o.offset)==null?void 0:c[1])!=null?d:0)},(u=o.dotStyle)!=null?u:{},(p=o.badgeStyle)!=null?p:{}]});return Lo({from:"dot-style",replacement:"badge-style",version:"2.8.0",scope:"el-badge",ref:"https://element-plus.org/en-US/component/badge.html"},C(()=>!!o.dotStyle)),Lo({from:"dot-class",replacement:"badge-class",version:"2.8.0",scope:"el-badge",ref:"https://element-plus.org/en-US/component/badge.html"},C(()=>!!o.dotClass)),t({content:l}),(a,i)=>(b(),M("div",{class:O(s(r).b())},[be(a.$slots,"default"),ee(Mo,{name:`${s(r).namespace.value}-zoom-in-center`,persisted:""},{default:le(()=>[mt(E("sup",{class:O([s(r).e("content"),s(r).em("content",a.type),s(r).is("fixed",!!a.$slots.default),s(r).is("dot",a.isDot),a.dotClass,a.badgeClass]),style:Je(s(n)),textContent:$e(s(l))},null,14,pq),[[Lt,!a.hidden&&(s(l)||a.isDot)]])]),_:1},8,["name"])],2))}});var hq=Le(fq,[["__file","badge.vue"]]);const B4=yt(hq),V4=Symbol("breadcrumbKey"),vq=Pe({separator:{type:String,default:"/"},separatorIcon:{type:Xt}}),mq=["aria-label"],gq=N({...N({name:"ElBreadcrumb"}),props:vq,setup(e){const t=e,{t:o}=Rt(),r=ze("breadcrumb"),l=D();return zt(V4,t),ft(()=>{const n=l.value.querySelectorAll(`.${r.e("item")}`);n.length&&n[n.length-1].setAttribute("aria-current","page")}),(n,a)=>(b(),M("div",{ref_key:"breadcrumb",ref:l,class:O(s(r).b()),"aria-label":s(o)("el.breadcrumb.label"),role:"navigation"},[be(n.$slots,"default")],10,mq))}});var bq=Le(gq,[["__file","breadcrumb.vue"]]);const _q=Pe({to:{type:ue([String,Object]),default:""},replace:{type:Boolean,default:!1}}),wq=N({...N({name:"ElBreadcrumbItem"}),props:_q,setup(e){const t=e,o=wt(),r=Ge(V4,void 0),l=ze("breadcrumb"),n=o.appContext.config.globalProperties.$router,a=D(),i=()=>{!t.to||!n||(t.replace?n.replace(t.to):n.push(t.to))};return(c,d)=>{var u,p;return b(),M("span",{class:O(s(l).e("item"))},[E("span",{ref_key:"link",ref:a,class:O([s(l).e("inner"),s(l).is("link",!!c.to)]),role:"link",onClick:i},[be(c.$slots,"default")],2),(u=s(r))!=null&&u.separatorIcon?(b(),he(s(Ze),{key:0,class:O(s(l).e("separator"))},{default:le(()=>[(b(),he(Et(s(r).separatorIcon)))]),_:1},8,["class"])):(b(),M("span",{key:1,class:O(s(l).e("separator")),role:"presentation"},$e((p=s(r))==null?void 0:p.separator),3))],2)}}});var D4=Le(wq,[["__file","breadcrumb-item.vue"]]);const yq=yt(bq,{BreadcrumbItem:D4}),xq=co(D4),H4=Symbol("buttonGroupContextKey"),kq=(e,t)=>{Lo({from:"type.text",replacement:"link",version:"3.0.0",scope:"props",ref:"https://element-plus.org/en-US/component/button.html#button-attributes"},C(()=>e.type==="text"));const o=Ge(H4,void 0),r=Mc("button"),{form:l}=sr(),n=So(C(()=>o==null?void 0:o.size)),a=xr(),i=D(),c=Do(),d=C(()=>e.type||(o==null?void 0:o.type)||""),u=C(()=>{var m,f,_;return(_=(f=e.autoInsertSpace)!=null?f:(m=r.value)==null?void 0:m.autoInsertSpace)!=null?_:!1}),p=C(()=>e.tag==="button"?{ariaDisabled:a.value||e.loading,disabled:a.value||e.loading,autofocus:e.autofocus,type:e.nativeType}:{}),h=C(()=>{var m;const f=(m=c.default)==null?void 0:m.call(c);if(u.value&&(f==null?void 0:f.length)===1){const _=f[0];if((_==null?void 0:_.type)===vi){const g=_.children;return new RegExp("^\\p{Unified_Ideograph}{2}$","u").test(g.trim())}}return!1});return{_disabled:a,_size:n,_type:d,_ref:i,_props:p,shouldAddSpace:h,handleClick:m=>{e.nativeType==="reset"&&(l==null||l.resetFields()),t("click",m)}}},uv=["default","primary","success","warning","info","danger","text",""],dv=Pe({size:Oo,disabled:Boolean,type:{type:String,values:uv,default:""},icon:{type:Xt},nativeType:{type:String,values:["button","submit","reset"],default:"button"},loading:Boolean,loadingIcon:{type:Xt,default:()=>vn},plain:Boolean,text:Boolean,link:Boolean,bg:Boolean,autofocus:Boolean,round:Boolean,circle:Boolean,color:String,dark:Boolean,autoInsertSpace:{type:Boolean,default:void 0},tag:{type:ue([String,Object]),default:"button"}}),Cq={click:e=>e instanceof MouseEvent};function er(e,t){Sq(e)&&(e="100%");var o=Eq(e);return e=t===360?e:Math.min(t,Math.max(0,parseFloat(e))),o&&(e=parseInt(String(e*t),10)/100),Math.abs(e-t)<1e-6?1:(t===360?e=(e<0?e%t+t:e%t)/parseFloat(String(t)):e=e%t/parseFloat(String(t)),e)}function lp(e){return Math.min(1,Math.max(0,e))}function Sq(e){return typeof e=="string"&&e.indexOf(".")!==-1&&parseFloat(e)===1}function Eq(e){return typeof e=="string"&&e.indexOf("%")!==-1}function F4(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function np(e){return e<=1?"".concat(Number(e)*100,"%"):e}function qa(e){return e.length===1?"0"+e:String(e)}function Tq(e,t,o){return{r:er(e,255)*255,g:er(t,255)*255,b:er(o,255)*255}}function j4(e,t,o){e=er(e,255),t=er(t,255),o=er(o,255);var r=Math.max(e,t,o),l=Math.min(e,t,o),n=0,a=0,i=(r+l)/2;if(r===l)a=0,n=0;else{var c=r-l;switch(a=i>.5?c/(2-r-l):c/(r+l),r){case e:n=(t-o)/c+(t1&&(o-=1),o<1/6?e+(t-e)*(6*o):o<1/2?t:o<2/3?e+(t-e)*(2/3-o)*6:e}function $q(e,t,o){var r,l,n;if(e=er(e,360),t=er(t,100),o=er(o,100),t===0)l=o,n=o,r=o;else{var a=o<.5?o*(1+t):o+t-o*t,i=2*o-a;r=pv(i,a,e+1/3),l=pv(i,a,e),n=pv(i,a,e-1/3)}return{r:r*255,g:l*255,b:n*255}}function K4(e,t,o){e=er(e,255),t=er(t,255),o=er(o,255);var r=Math.max(e,t,o),l=Math.min(e,t,o),n=0,a=r,i=r-l,c=r===0?0:i/r;if(r===l)n=0;else{switch(r){case e:n=(t-o)/i+(t>16,g:(e&65280)>>8,b:e&255}}var fv={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function Oq(e){var t={r:0,g:0,b:0},o=1,r=null,l=null,n=null,a=!1,i=!1;return typeof e=="string"&&(e=Rq(e)),typeof e=="object"&&(yn(e.r)&&yn(e.g)&&yn(e.b)?(t=Tq(e.r,e.g,e.b),a=!0,i=String(e.r).substr(-1)==="%"?"prgb":"rgb"):yn(e.h)&&yn(e.s)&&yn(e.v)?(r=np(e.s),l=np(e.v),t=Mq(e.h,r,l),a=!0,i="hsv"):yn(e.h)&&yn(e.s)&&yn(e.l)&&(r=np(e.s),n=np(e.l),t=$q(e.h,r,n),a=!0,i="hsl"),Object.prototype.hasOwnProperty.call(e,"a")&&(o=e.a)),o=F4(o),{ok:a,format:e.format||i,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:o}}var Nq="[-\\+]?\\d+%?",Pq="[-\\+]?\\d*\\.\\d+%?",la="(?:".concat(Pq,")|(?:").concat(Nq,")"),hv="[\\s|\\(]+(".concat(la,")[,|\\s]+(").concat(la,")[,|\\s]+(").concat(la,")\\s*\\)?"),vv="[\\s|\\(]+(".concat(la,")[,|\\s]+(").concat(la,")[,|\\s]+(").concat(la,")[,|\\s]+(").concat(la,")\\s*\\)?"),wl={CSS_UNIT:new RegExp(la),rgb:new RegExp("rgb"+hv),rgba:new RegExp("rgba"+vv),hsl:new RegExp("hsl"+hv),hsla:new RegExp("hsla"+vv),hsv:new RegExp("hsv"+hv),hsva:new RegExp("hsva"+vv),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function Rq(e){if(e=e.trim().toLowerCase(),e.length===0)return!1;var t=!1;if(fv[e])e=fv[e],t=!0;else if(e==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var o=wl.rgb.exec(e);return o?{r:o[1],g:o[2],b:o[3]}:(o=wl.rgba.exec(e),o?{r:o[1],g:o[2],b:o[3],a:o[4]}:(o=wl.hsl.exec(e),o?{h:o[1],s:o[2],l:o[3]}:(o=wl.hsla.exec(e),o?{h:o[1],s:o[2],l:o[3],a:o[4]}:(o=wl.hsv.exec(e),o?{h:o[1],s:o[2],v:o[3]}:(o=wl.hsva.exec(e),o?{h:o[1],s:o[2],v:o[3],a:o[4]}:(o=wl.hex8.exec(e),o?{r:Dr(o[1]),g:Dr(o[2]),b:Dr(o[3]),a:W4(o[4]),format:t?"name":"hex8"}:(o=wl.hex6.exec(e),o?{r:Dr(o[1]),g:Dr(o[2]),b:Dr(o[3]),format:t?"name":"hex"}:(o=wl.hex4.exec(e),o?{r:Dr(o[1]+o[1]),g:Dr(o[2]+o[2]),b:Dr(o[3]+o[3]),a:W4(o[4]+o[4]),format:t?"name":"hex8"}:(o=wl.hex3.exec(e),o?{r:Dr(o[1]+o[1]),g:Dr(o[2]+o[2]),b:Dr(o[3]+o[3]),format:t?"name":"hex"}:!1)))))))))}function yn(e){return!!wl.CSS_UNIT.exec(String(e))}var q4=function(){function e(t,o){t===void 0&&(t=""),o===void 0&&(o={});var r;if(t instanceof e)return t;typeof t=="number"&&(t=Iq(t)),this.originalInput=t;var l=Oq(t);this.originalInput=t,this.r=l.r,this.g=l.g,this.b=l.b,this.a=l.a,this.roundA=Math.round(100*this.a)/100,this.format=(r=o.format)!==null&&r!==void 0?r:l.format,this.gradientType=o.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=l.ok}return e.prototype.isDark=function(){return this.getBrightness()<128},e.prototype.isLight=function(){return!this.isDark()},e.prototype.getBrightness=function(){var t=this.toRgb();return(t.r*299+t.g*587+t.b*114)/1e3},e.prototype.getLuminance=function(){var t=this.toRgb(),o,r,l,n=t.r/255,a=t.g/255,i=t.b/255;return n<=.03928?o=n/12.92:o=Math.pow((n+.055)/1.055,2.4),a<=.03928?r=a/12.92:r=Math.pow((a+.055)/1.055,2.4),i<=.03928?l=i/12.92:l=Math.pow((i+.055)/1.055,2.4),.2126*o+.7152*r+.0722*l},e.prototype.getAlpha=function(){return this.a},e.prototype.setAlpha=function(t){return this.a=F4(t),this.roundA=Math.round(100*this.a)/100,this},e.prototype.isMonochrome=function(){var t=this.toHsl().s;return t===0},e.prototype.toHsv=function(){var t=K4(this.r,this.g,this.b);return{h:t.h*360,s:t.s,v:t.v,a:this.a}},e.prototype.toHsvString=function(){var t=K4(this.r,this.g,this.b),o=Math.round(t.h*360),r=Math.round(t.s*100),l=Math.round(t.v*100);return this.a===1?"hsv(".concat(o,", ").concat(r,"%, ").concat(l,"%)"):"hsva(".concat(o,", ").concat(r,"%, ").concat(l,"%, ").concat(this.roundA,")")},e.prototype.toHsl=function(){var t=j4(this.r,this.g,this.b);return{h:t.h*360,s:t.s,l:t.l,a:this.a}},e.prototype.toHslString=function(){var t=j4(this.r,this.g,this.b),o=Math.round(t.h*360),r=Math.round(t.s*100),l=Math.round(t.l*100);return this.a===1?"hsl(".concat(o,", ").concat(r,"%, ").concat(l,"%)"):"hsla(".concat(o,", ").concat(r,"%, ").concat(l,"%, ").concat(this.roundA,")")},e.prototype.toHex=function(t){return t===void 0&&(t=!1),U4(this.r,this.g,this.b,t)},e.prototype.toHexString=function(t){return t===void 0&&(t=!1),"#"+this.toHex(t)},e.prototype.toHex8=function(t){return t===void 0&&(t=!1),Aq(this.r,this.g,this.b,this.a,t)},e.prototype.toHex8String=function(t){return t===void 0&&(t=!1),"#"+this.toHex8(t)},e.prototype.toHexShortString=function(t){return t===void 0&&(t=!1),this.a===1?this.toHexString(t):this.toHex8String(t)},e.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},e.prototype.toRgbString=function(){var t=Math.round(this.r),o=Math.round(this.g),r=Math.round(this.b);return this.a===1?"rgb(".concat(t,", ").concat(o,", ").concat(r,")"):"rgba(".concat(t,", ").concat(o,", ").concat(r,", ").concat(this.roundA,")")},e.prototype.toPercentageRgb=function(){var t=function(o){return"".concat(Math.round(er(o,255)*100),"%")};return{r:t(this.r),g:t(this.g),b:t(this.b),a:this.a}},e.prototype.toPercentageRgbString=function(){var t=function(o){return Math.round(er(o,255)*100)};return this.a===1?"rgb(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%)"):"rgba(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%, ").concat(this.roundA,")")},e.prototype.toName=function(){if(this.a===0)return"transparent";if(this.a<1)return!1;for(var t="#"+U4(this.r,this.g,this.b,!1),o=0,r=Object.entries(fv);o=0,n=!o&&l&&(t.startsWith("hex")||t==="name");return n?t==="name"&&this.a===0?this.toName():this.toRgbString():(t==="rgb"&&(r=this.toRgbString()),t==="prgb"&&(r=this.toPercentageRgbString()),(t==="hex"||t==="hex6")&&(r=this.toHexString()),t==="hex3"&&(r=this.toHexString(!0)),t==="hex4"&&(r=this.toHex8String(!0)),t==="hex8"&&(r=this.toHex8String()),t==="name"&&(r=this.toName()),t==="hsl"&&(r=this.toHslString()),t==="hsv"&&(r=this.toHsvString()),r||this.toHexString())},e.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},e.prototype.clone=function(){return new e(this.toString())},e.prototype.lighten=function(t){t===void 0&&(t=10);var o=this.toHsl();return o.l+=t/100,o.l=lp(o.l),new e(o)},e.prototype.brighten=function(t){t===void 0&&(t=10);var o=this.toRgb();return o.r=Math.max(0,Math.min(255,o.r-Math.round(255*-(t/100)))),o.g=Math.max(0,Math.min(255,o.g-Math.round(255*-(t/100)))),o.b=Math.max(0,Math.min(255,o.b-Math.round(255*-(t/100)))),new e(o)},e.prototype.darken=function(t){t===void 0&&(t=10);var o=this.toHsl();return o.l-=t/100,o.l=lp(o.l),new e(o)},e.prototype.tint=function(t){return t===void 0&&(t=10),this.mix("white",t)},e.prototype.shade=function(t){return t===void 0&&(t=10),this.mix("black",t)},e.prototype.desaturate=function(t){t===void 0&&(t=10);var o=this.toHsl();return o.s-=t/100,o.s=lp(o.s),new e(o)},e.prototype.saturate=function(t){t===void 0&&(t=10);var o=this.toHsl();return o.s+=t/100,o.s=lp(o.s),new e(o)},e.prototype.greyscale=function(){return this.desaturate(100)},e.prototype.spin=function(t){var o=this.toHsl(),r=(o.h+t)%360;return o.h=r<0?360+r:r,new e(o)},e.prototype.mix=function(t,o){o===void 0&&(o=50);var r=this.toRgb(),l=new e(t).toRgb(),n=o/100,a={r:(l.r-r.r)*n+r.r,g:(l.g-r.g)*n+r.g,b:(l.b-r.b)*n+r.b,a:(l.a-r.a)*n+r.a};return new e(a)},e.prototype.analogous=function(t,o){t===void 0&&(t=6),o===void 0&&(o=30);var r=this.toHsl(),l=360/o,n=[this];for(r.h=(r.h-(l*t>>1)+720)%360;--t;)r.h=(r.h+l)%360,n.push(new e(r));return n},e.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new e(t)},e.prototype.monochromatic=function(t){t===void 0&&(t=6);for(var o=this.toHsv(),r=o.h,l=o.s,n=o.v,a=[],i=1/t;t--;)a.push(new e({h:r,s:l,v:n})),n=(n+i)%1;return a},e.prototype.splitcomplement=function(){var t=this.toHsl(),o=t.h;return[this,new e({h:(o+72)%360,s:t.s,l:t.l}),new e({h:(o+216)%360,s:t.s,l:t.l})]},e.prototype.onBackground=function(t){var o=this.toRgb(),r=new e(t).toRgb(),l=o.a+r.a*(1-o.a);return new e({r:(o.r*o.a+r.r*r.a*(1-o.a))/l,g:(o.g*o.a+r.g*r.a*(1-o.a))/l,b:(o.b*o.a+r.b*r.a*(1-o.a))/l,a:l})},e.prototype.triad=function(){return this.polyad(3)},e.prototype.tetrad=function(){return this.polyad(4)},e.prototype.polyad=function(t){for(var o=this.toHsl(),r=o.h,l=[this],n=360/t,a=1;a{let r={};const l=e.color;if(l){const n=new q4(l),a=e.dark?n.tint(20).toString():na(n,20);if(e.plain)r=o.cssVarBlock({"bg-color":e.dark?na(n,90):n.tint(90).toString(),"text-color":l,"border-color":e.dark?na(n,50):n.tint(50).toString(),"hover-text-color":`var(${o.cssVarName("color-white")})`,"hover-bg-color":l,"hover-border-color":l,"active-bg-color":a,"active-text-color":`var(${o.cssVarName("color-white")})`,"active-border-color":a}),t.value&&(r[o.cssVarBlockName("disabled-bg-color")]=e.dark?na(n,90):n.tint(90).toString(),r[o.cssVarBlockName("disabled-text-color")]=e.dark?na(n,50):n.tint(50).toString(),r[o.cssVarBlockName("disabled-border-color")]=e.dark?na(n,80):n.tint(80).toString());else{const i=e.dark?na(n,30):n.tint(30).toString(),c=n.isDark()?`var(${o.cssVarName("color-white")})`:`var(${o.cssVarName("color-black")})`;if(r=o.cssVarBlock({"bg-color":l,"text-color":c,"border-color":l,"hover-bg-color":i,"hover-text-color":c,"hover-border-color":i,"active-bg-color":a,"active-border-color":a}),t.value){const d=e.dark?na(n,50):n.tint(50).toString();r[o.cssVarBlockName("disabled-bg-color")]=d,r[o.cssVarBlockName("disabled-text-color")]=e.dark?"rgba(255, 255, 255, 0.5)":`var(${o.cssVarName("color-white")})`,r[o.cssVarBlockName("disabled-border-color")]=d}}}return r})}const Bq=N({...N({name:"ElButton"}),props:dv,emits:Cq,setup(e,{expose:t,emit:o}){const r=e,l=Lq(r),n=ze("button"),{_ref:a,_size:i,_type:c,_disabled:d,_props:u,shouldAddSpace:p,handleClick:h}=kq(r,o),v=C(()=>[n.b(),n.m(c.value),n.m(i.value),n.is("disabled",d.value),n.is("loading",r.loading),n.is("plain",r.plain),n.is("round",r.round),n.is("circle",r.circle),n.is("text",r.text),n.is("link",r.link),n.is("has-bg",r.bg)]);return t({ref:a,size:i,type:c,disabled:d,shouldAddSpace:p}),(m,f)=>(b(),he(Et(m.tag),Mt({ref_key:"_ref",ref:a},s(u),{class:s(v),style:s(l),onClick:s(h)}),{default:le(()=>[m.loading?(b(),M(Qe,{key:0},[m.$slots.loading?be(m.$slots,"loading",{key:0}):(b(),he(s(Ze),{key:1,class:O(s(n).is("loading"))},{default:le(()=>[(b(),he(Et(m.loadingIcon)))]),_:1},8,["class"]))],64)):m.icon||m.$slots.icon?(b(),he(s(Ze),{key:1},{default:le(()=>[m.icon?(b(),he(Et(m.icon),{key:0})):be(m.$slots,"icon",{key:1})]),_:3})):se("v-if",!0),m.$slots.default?(b(),M("span",{key:2,class:O({[s(n).em("text","expand")]:s(p)})},[be(m.$slots,"default")],2)):se("v-if",!0)]),_:3},16,["class","style","onClick"]))}});var Vq=Le(Bq,[["__file","button.vue"]]);const Dq={size:dv.size,type:dv.type},Hq=N({...N({name:"ElButtonGroup"}),props:Dq,setup(e){const t=e;zt(H4,Dt({size:Yt(t,"size"),type:Yt(t,"type")}));const o=ze("button");return(r,l)=>(b(),M("div",{class:O(`${s(o).b("group")}`)},[be(r.$slots,"default")],2))}});var Y4=Le(Hq,[["__file","button-group.vue"]]);const Wo=yt(Vq,{ButtonGroup:Y4}),G4=co(Y4);var X4={exports:{}};(function(e,t){(function(o,r){e.exports=r()})(Ao,function(){var o=1e3,r=6e4,l=36e5,n="millisecond",a="second",i="minute",c="hour",d="day",u="week",p="month",h="quarter",v="year",m="date",f="Invalid Date",_=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,g=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,y={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(J){var Z=["th","st","nd","rd"],H=J%100;return"["+J+(Z[(H-20)%10]||Z[H]||Z[0])+"]"}},w=function(J,Z,H){var F=String(J);return!F||F.length>=Z?J:""+Array(Z+1-F.length).join(H)+J},x={s:w,z:function(J){var Z=-J.utcOffset(),H=Math.abs(Z),F=Math.floor(H/60),K=H%60;return(Z<=0?"+":"-")+w(F,2,"0")+":"+w(K,2,"0")},m:function J(Z,H){if(Z.date()1)return J(U[0])}else{var oe=Z.name;T[oe]=Z,K=oe}return!F&&K&&($=K),K||!F&&$},V=function(J,Z){if(P(J))return J.clone();var H=typeof Z=="object"?Z:{};return H.date=J,H.args=arguments,new j(H)},B=x;B.l=L,B.i=P,B.w=function(J,Z){return V(J,{locale:Z.$L,utc:Z.$u,x:Z.$x,$offset:Z.$offset})};var j=function(){function J(H){this.$L=L(H.locale,null,!0),this.parse(H),this.$x=this.$x||H.x||{},this[R]=!0}var Z=J.prototype;return Z.parse=function(H){this.$d=function(F){var K=F.date,I=F.utc;if(K===null)return new Date(NaN);if(B.u(K))return new Date;if(K instanceof Date)return new Date(K);if(typeof K=="string"&&!/Z$/i.test(K)){var U=K.match(_);if(U){var oe=U[2]-1||0,ne=(U[7]||"0").substring(0,3);return I?new Date(Date.UTC(U[1],oe,U[3]||1,U[4]||0,U[5]||0,U[6]||0,ne)):new Date(U[1],oe,U[3]||1,U[4]||0,U[5]||0,U[6]||0,ne)}}return new Date(K)}(H),this.init()},Z.init=function(){var H=this.$d;this.$y=H.getFullYear(),this.$M=H.getMonth(),this.$D=H.getDate(),this.$W=H.getDay(),this.$H=H.getHours(),this.$m=H.getMinutes(),this.$s=H.getSeconds(),this.$ms=H.getMilliseconds()},Z.$utils=function(){return B},Z.isValid=function(){return this.$d.toString()!==f},Z.isSame=function(H,F){var K=V(H);return this.startOf(F)<=K&&K<=this.endOf(F)},Z.isAfter=function(H,F){return V(H)68?1900:2e3)},d=function(f){return function(_){this[f]=+_}},u=[/[+-]\d\d:?(\d\d)?|Z/,function(f){(this.zone||(this.zone={})).offset=function(_){if(!_||_==="Z")return 0;var g=_.match(/([+-]|\d\d)/g),y=60*g[1]+(+g[2]||0);return y===0?0:g[0]==="+"?-y:y}(f)}],p=function(f){var _=i[f];return _&&(_.indexOf?_:_.s.concat(_.f))},h=function(f,_){var g,y=i.meridiem;if(y){for(var w=1;w<=24;w+=1)if(f.indexOf(y(w,0,_))>-1){g=w>12;break}}else g=f===(_?"pm":"PM");return g},v={A:[a,function(f){this.afternoon=h(f,!1)}],a:[a,function(f){this.afternoon=h(f,!0)}],S:[/\d/,function(f){this.milliseconds=100*+f}],SS:[l,function(f){this.milliseconds=10*+f}],SSS:[/\d{3}/,function(f){this.milliseconds=+f}],s:[n,d("seconds")],ss:[n,d("seconds")],m:[n,d("minutes")],mm:[n,d("minutes")],H:[n,d("hours")],h:[n,d("hours")],HH:[n,d("hours")],hh:[n,d("hours")],D:[n,d("day")],DD:[l,d("day")],Do:[a,function(f){var _=i.ordinal,g=f.match(/\d+/);if(this.day=g[0],_)for(var y=1;y<=31;y+=1)_(y).replace(/\[|\]/g,"")===f&&(this.day=y)}],M:[n,d("month")],MM:[l,d("month")],MMM:[a,function(f){var _=p("months"),g=(p("monthsShort")||_.map(function(y){return y.slice(0,3)})).indexOf(f)+1;if(g<1)throw new Error;this.month=g%12||g}],MMMM:[a,function(f){var _=p("months").indexOf(f)+1;if(_<1)throw new Error;this.month=_%12||_}],Y:[/[+-]?\d+/,d("year")],YY:[l,function(f){this.year=c(f)}],YYYY:[/\d{4}/,d("year")],Z:u,ZZ:u};function m(f){var _,g;_=f,g=i&&i.formats;for(var y=(f=_.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(L,V,B){var j=B&&B.toUpperCase();return V||g[B]||o[B]||g[j].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(te,J,Z){return J||Z.slice(1)})})).match(r),w=y.length,x=0;x-1)return new Date((F==="X"?1e3:1)*H);var I=m(F)(H),U=I.year,oe=I.month,ne=I.day,ce=I.hours,Q=I.minutes,Me=I.seconds,de=I.milliseconds,_e=I.zone,me=new Date,Re=ne||(U||oe?1:me.getDate()),Ce=U||me.getFullYear(),Ee=0;U&&!oe||(Ee=oe>0?oe-1:me.getMonth());var De=ce||0,ae=Q||0,pe=Me||0,ke=de||0;return _e?new Date(Date.UTC(Ce,Ee,Re,De,ae,pe,ke+60*_e.offset*1e3)):K?new Date(Date.UTC(Ce,Ee,Re,De,ae,pe,ke)):new Date(Ce,Ee,Re,De,ae,pe,ke)}catch{return new Date("")}}($,P,T),this.init(),j&&j!==!0&&(this.$L=this.locale(j).$L),B&&$!=this.format(P)&&(this.$d=new Date("")),i={}}else if(P instanceof Array)for(var te=P.length,J=1;J<=te;J+=1){R[1]=P[J-1];var Z=g.apply(this,R);if(Z.isValid()){this.$d=Z.$d,this.$L=Z.$L,this.init();break}J===te&&(this.$d=new Date(""))}else w.call(this,x)}}})})(Z4);var jq=Z4.exports;const mv=cl(jq),J4=["hours","minutes","seconds"],gv="HH:mm:ss",ts="YYYY-MM-DD",Kq={date:ts,dates:ts,week:"gggg[w]ww",year:"YYYY",years:"YYYY",month:"YYYY-MM",datetime:`${ts} ${gv}`,monthrange:"YYYY-MM",daterange:ts,datetimerange:`${ts} ${gv}`},bv=(e,t)=>[e>0?e-1:void 0,e,eArray.from(Array.from({length:e}).keys()),Q4=e=>e.replace(/\W?m{1,2}|\W?ZZ/g,"").replace(/\W?h{1,2}|\W?s{1,3}|\W?a/gi,"").trim(),ew=e=>e.replace(/\W?D{1,2}|\W?Do|\W?d{1,4}|\W?M{1,4}|\W?Y{2,4}/g,"").trim(),tw=function(e,t){const o=va(e),r=va(t);return o&&r?e.getTime()===t.getTime():!o&&!r?e===t:!1},ow=function(e,t){const o=Ke(e),r=Ke(t);return o&&r?e.length!==t.length?!1:e.every((l,n)=>tw(l,t[n])):!o&&!r?tw(e,t):!1},rw=function(e,t,o){const r=Yr(t)||t==="x"?kt(e).locale(o):kt(e,t).locale(o);return r.isValid()?r:void 0},lw=function(e,t,o){return Yr(t)?e:t==="x"?+e:kt(e).locale(o).format(t)},_v=(e,t)=>{var o;const r=[],l=t==null?void 0:t();for(let n=0;n({})},modelValue:{type:ue([Date,Array,String,Number]),default:""},rangeSeparator:{type:String,default:"-"},startPlaceholder:String,endPlaceholder:String,defaultValue:{type:ue([Date,Array])},defaultTime:{type:ue([Date,Array])},isRange:Boolean,...nw,disabledDate:{type:Function},cellClassName:{type:Function},shortcuts:{type:Array,default:()=>[]},arrowControl:Boolean,label:{type:String,default:void 0},tabindex:{type:ue([String,Number]),default:0},validateEvent:{type:Boolean,default:!0},unlinkPanels:Boolean,...Xi,...Zo(["ariaLabel"])}),Uq=["id","name","placeholder","value","disabled","readonly"],Wq=["id","name","placeholder","value","disabled","readonly"],qq=N({...N({name:"Picker"}),props:wv,emits:["update:modelValue","change","focus","blur","calendar-change","panel-change","visible-change","keydown"],setup(e,{expose:t,emit:o}){const r=e,l=ya(),{lang:n}=Rt(),a=ze("date"),i=ze("input"),c=ze("range"),{form:d,formItem:u}=sr(),p=Ge("ElPopperOptions",{}),{valueOnClear:h}=Wd(r,null),v=D(),m=D(),f=D(!1),_=D(!1),g=D(null);let y=!1,w=!1;const x=C(()=>[a.b("editor"),a.bm("editor",r.type),i.e("wrapper"),a.is("disabled",ce.value),a.is("active",f.value),c.b("editor"),Ne?c.bm("editor",Ne.value):"",l.class]),$=C(()=>[i.e("icon"),c.e("close-icon"),Ee.value?"":c.e("close-icon--hidden")]);Se(f,fe=>{fe?et(()=>{fe&&(g.value=r.modelValue)}):(xe.value=null,et(()=>{T(r.modelValue)}))});const T=(fe,Fe)=>{(Fe||!ow(fe,g.value))&&(o("change",fe),r.validateEvent&&(u==null||u.validate("change").catch(at=>void 0)))},R=fe=>{if(!ow(r.modelValue,fe)){let Fe;Ke(fe)?Fe=fe.map(at=>lw(at,r.valueFormat,n.value)):fe&&(Fe=lw(fe,r.valueFormat,n.value)),o("update:modelValue",fe&&Fe,n.value)}},P=fe=>{o("keydown",fe)},L=C(()=>{if(m.value){const fe=Te.value?m.value:m.value.$el;return Array.from(fe.querySelectorAll("input"))}return[]}),V=(fe,Fe,at)=>{const _t=L.value;_t.length&&(!at||at==="min"?(_t[0].setSelectionRange(fe,Fe),_t[0].focus()):at==="max"&&(_t[1].setSelectionRange(fe,Fe),_t[1].focus()))},B=()=>{I(!0,!0),et(()=>{w=!1})},j=(fe="",Fe=!1)=>{Fe||(w=!0),f.value=Fe;let at;Ke(fe)?at=fe.map(_t=>_t.toDate()):at=fe&&fe.toDate(),xe.value=null,R(at)},te=()=>{_.value=!0},J=()=>{o("visible-change",!0)},Z=fe=>{(fe==null?void 0:fe.key)===lt.esc&&I(!0,!0)},H=()=>{_.value=!1,f.value=!1,w=!1,o("visible-change",!1)},F=()=>{f.value=!0},K=()=>{f.value=!1},I=(fe=!0,Fe=!1)=>{w=Fe;const[at,_t]=s(L);let At=at;!fe&&Te.value&&(At=_t),At&&At.focus()},U=fe=>{r.readonly||ce.value||f.value||w||(f.value=!0,o("focus",fe))};let oe;const ne=fe=>{const Fe=async()=>{setTimeout(()=>{var at;oe===Fe&&(!((at=v.value)!=null&&at.isFocusInsideContent()&&!y)&&L.value.filter(_t=>_t.contains(document.activeElement)).length===0&&(We(),f.value=!1,o("blur",fe),r.validateEvent&&(u==null||u.validate("blur").catch(_t=>void 0))),y=!1)},0)};oe=Fe,Fe()},ce=C(()=>r.disabled||(d==null?void 0:d.disabled)),Q=C(()=>{let fe;if(ae.value?G.value.getDefaultValue&&(fe=G.value.getDefaultValue()):Ke(r.modelValue)?fe=r.modelValue.map(Fe=>rw(Fe,r.valueFormat,n.value)):fe=rw(r.modelValue,r.valueFormat,n.value),G.value.getRangeAvailableTime){const Fe=G.value.getRangeAvailableTime(fe);nr(Fe,fe)||(fe=Fe,R(Ke(fe)?fe.map(at=>at.toDate()):fe.toDate()))}return Ke(fe)&&fe.some(Fe=>!Fe)&&(fe=[]),fe}),Me=C(()=>{if(!G.value.panelReady)return"";const fe=ye(Q.value);return Ke(xe.value)?[xe.value[0]||fe&&fe[0]||"",xe.value[1]||fe&&fe[1]||""]:xe.value!==null?xe.value:!_e.value&&ae.value||!f.value&&ae.value?"":fe?me.value||Re.value?fe.join(", "):fe:""}),de=C(()=>r.type.includes("time")),_e=C(()=>r.type.startsWith("time")),me=C(()=>r.type==="dates"),Re=C(()=>r.type==="years"),Ce=C(()=>r.prefixIcon||(de.value?ph:I3)),Ee=D(!1),De=fe=>{r.readonly||ce.value||Ee.value&&(fe.stopPropagation(),B(),R(h.value),T(h.value,!0),Ee.value=!1,f.value=!1,G.value.handleClear&&G.value.handleClear())},ae=C(()=>{const{modelValue:fe}=r;return!fe||Ke(fe)&&!fe.filter(Boolean).length}),pe=async fe=>{var Fe;r.readonly||ce.value||(((Fe=fe.target)==null?void 0:Fe.tagName)!=="INPUT"||L.value.includes(document.activeElement))&&(f.value=!0)},ke=()=>{r.readonly||ce.value||!ae.value&&r.clearable&&(Ee.value=!0)},Oe=()=>{Ee.value=!1},we=fe=>{var Fe;r.readonly||ce.value||(((Fe=fe.touches[0].target)==null?void 0:Fe.tagName)!=="INPUT"||L.value.includes(document.activeElement))&&(f.value=!0)},Te=C(()=>r.type.includes("range")),Ne=So(),Ie=C(()=>{var fe,Fe;return(Fe=(fe=s(v))==null?void 0:fe.popperRef)==null?void 0:Fe.contentRef}),Ae=C(()=>{var fe;return s(Te)?s(m):(fe=s(m))==null?void 0:fe.$el});I0(Ae,fe=>{const Fe=s(Ie),at=s(Ae);Fe&&(fe.target===Fe||fe.composedPath().includes(Fe))||fe.target===at||fe.composedPath().includes(at)||(f.value=!1)});const xe=D(null),We=()=>{if(xe.value){const fe=qe(Me.value);fe&&Ye(fe)&&(R(Ke(fe)?fe.map(Fe=>Fe.toDate()):fe.toDate()),xe.value=null)}xe.value===""&&(R(h.value),T(h.value),xe.value=null)},qe=fe=>fe?G.value.parseUserInput(fe):null,ye=fe=>fe?G.value.formatToString(fe):null,Ye=fe=>G.value.isValidValue(fe),tt=async fe=>{if(r.readonly||ce.value)return;const{code:Fe}=fe;if(P(fe),Fe===lt.esc){f.value===!0&&(f.value=!1,fe.preventDefault(),fe.stopPropagation());return}if(Fe===lt.down&&(G.value.handleFocusPicker&&(fe.preventDefault(),fe.stopPropagation()),f.value===!1&&(f.value=!0,await et()),G.value.handleFocusPicker)){G.value.handleFocusPicker();return}if(Fe===lt.tab){y=!0;return}if(Fe===lt.enter||Fe===lt.numpadEnter){(xe.value===null||xe.value===""||Ye(qe(Me.value)))&&(We(),f.value=!1),fe.stopPropagation();return}if(xe.value){fe.stopPropagation();return}G.value.handleKeydownInput&&G.value.handleKeydownInput(fe)},pt=fe=>{xe.value=fe,f.value||(f.value=!0)},dt=fe=>{const Fe=fe.target;xe.value?xe.value=[Fe.value,xe.value[1]]:xe.value=[Fe.value,null]},Y=fe=>{const Fe=fe.target;xe.value?xe.value=[xe.value[0],Fe.value]:xe.value=[null,Fe.value]},S=()=>{var fe;const Fe=xe.value,at=qe(Fe&&Fe[0]),_t=s(Q);if(at&&at.isValid()){xe.value=[ye(at),((fe=Me.value)==null?void 0:fe[1])||null];const At=[at,_t&&(_t[1]||null)];Ye(At)&&(R(At),xe.value=null)}},A=()=>{var fe;const Fe=s(xe),at=qe(Fe&&Fe[1]),_t=s(Q);if(at&&at.isValid()){xe.value=[((fe=s(Me))==null?void 0:fe[0])||null,ye(at)];const At=[_t&&_t[0],at];Ye(At)&&(R(At),xe.value=null)}},G=D({}),X=fe=>{G.value[fe[0]]=fe[1],G.value.panelReady=!0},re=fe=>{o("calendar-change",fe)},ge=(fe,Fe,at)=>{o("panel-change",fe,Fe,at)};return zt("EP_PICKER_BASE",{props:r}),Lo({from:"label",replacement:"aria-label",version:"2.8.0",scope:"el-time-picker",ref:"https://element-plus.org/en-US/component/time-picker.html"},C(()=>!!r.label)),t({focus:I,handleFocusInput:U,handleBlurInput:ne,handleOpen:F,handleClose:K,onPick:j}),(fe,Fe)=>(b(),he(s(ur),Mt({ref_key:"refPopper",ref:v,visible:f.value,effect:"light",pure:"",trigger:"click"},fe.$attrs,{role:"dialog",teleported:"",transition:`${s(a).namespace.value}-zoom-in-top`,"popper-class":[`${s(a).namespace.value}-picker__popper`,fe.popperClass],"popper-options":s(p),"fallback-placements":["bottom","top","right","left"],"gpu-acceleration":!1,"stop-popper-mouse-event":!1,"hide-after":0,persistent:"",onBeforeShow:te,onShow:J,onHide:H}),{default:le(()=>[s(Te)?(b(),M("div",{key:1,ref_key:"inputRef",ref:m,class:O(s(x)),style:Je(fe.$attrs.style),onClick:U,onMouseenter:ke,onMouseleave:Oe,onTouchstartPassive:we,onKeydown:tt},[s(Ce)?(b(),he(s(Ze),{key:0,class:O([s(i).e("icon"),s(c).e("icon")]),onMousedown:ct(pe,["prevent"]),onTouchstartPassive:we},{default:le(()=>[(b(),he(Et(s(Ce))))]),_:1},8,["class","onMousedown"])):se("v-if",!0),E("input",{id:fe.id&&fe.id[0],autocomplete:"off",name:fe.name&&fe.name[0],placeholder:fe.startPlaceholder,value:s(Me)&&s(Me)[0],disabled:s(ce),readonly:!fe.editable||fe.readonly,class:O(s(c).b("input")),onMousedown:pe,onInput:dt,onChange:S,onFocus:U,onBlur:ne},null,42,Uq),be(fe.$slots,"range-separator",{},()=>[E("span",{class:O(s(c).b("separator"))},$e(fe.rangeSeparator),3)]),E("input",{id:fe.id&&fe.id[1],autocomplete:"off",name:fe.name&&fe.name[1],placeholder:fe.endPlaceholder,value:s(Me)&&s(Me)[1],disabled:s(ce),readonly:!fe.editable||fe.readonly,class:O(s(c).b("input")),onMousedown:pe,onFocus:U,onBlur:ne,onInput:Y,onChange:A},null,42,Wq),fe.clearIcon?(b(),he(s(Ze),{key:1,class:O(s($)),onClick:De},{default:le(()=>[(b(),he(Et(fe.clearIcon)))]),_:1},8,["class"])):se("v-if",!0)],38)):(b(),he(s(cr),{key:0,id:fe.id,ref_key:"inputRef",ref:m,"container-role":"combobox","model-value":s(Me),name:fe.name,size:s(Ne),disabled:s(ce),placeholder:fe.placeholder,class:O([s(a).b("editor"),s(a).bm("editor",fe.type),fe.$attrs.class]),style:Je(fe.$attrs.style),readonly:!fe.editable||fe.readonly||s(me)||s(Re)||fe.type==="week","aria-label":fe.label||fe.ariaLabel,tabindex:fe.tabindex,"validate-event":!1,onInput:pt,onFocus:U,onBlur:ne,onKeydown:tt,onChange:We,onMousedown:pe,onMouseenter:ke,onMouseleave:Oe,onTouchstartPassive:we,onClick:Fe[0]||(Fe[0]=ct(()=>{},["stop"]))},{prefix:le(()=>[s(Ce)?(b(),he(s(Ze),{key:0,class:O(s(i).e("icon")),onMousedown:ct(pe,["prevent"]),onTouchstartPassive:we},{default:le(()=>[(b(),he(Et(s(Ce))))]),_:1},8,["class","onMousedown"])):se("v-if",!0)]),suffix:le(()=>[Ee.value&&fe.clearIcon?(b(),he(s(Ze),{key:0,class:O(`${s(i).e("icon")} clear-icon`),onClick:ct(De,["stop"])},{default:le(()=>[(b(),he(Et(fe.clearIcon)))]),_:1},8,["class","onClick"])):se("v-if",!0)]),_:1},8,["id","model-value","name","size","disabled","placeholder","class","style","readonly","aria-label","tabindex","onKeydown"]))]),content:le(()=>[be(fe.$slots,"default",{visible:f.value,actualVisible:_.value,parsedValue:s(Q),format:fe.format,dateFormat:fe.dateFormat,timeFormat:fe.timeFormat,unlinkPanels:fe.unlinkPanels,type:fe.type,defaultValue:fe.defaultValue,onPick:j,onSelectRange:V,onSetPickerOption:X,onCalendarChange:re,onPanelChange:ge,onKeydown:Z,onMousedown:Fe[1]||(Fe[1]=ct(()=>{},["stop"]))})]),_:3},16,["visible","transition","popper-class","popper-options"]))}});var iw=Le(qq,[["__file","picker.vue"]]);const Yq=Pe({...aw,datetimeRole:String,parsedValue:{type:ue(Object)}}),sw=({getAvailableHours:e,getAvailableMinutes:t,getAvailableSeconds:o})=>{const r=(a,i,c,d)=>{const u={hour:e,minute:t,second:o};let p=a;return["hour","minute","second"].forEach(h=>{if(u[h]){let v;const m=u[h];switch(h){case"minute":{v=m(p.hour(),i,d);break}case"second":{v=m(p.hour(),p.minute(),i,d);break}default:{v=m(i,d);break}}if(v!=null&&v.length&&!v.includes(p[h]())){const f=c?0:v.length-1;p=p[h](v[f])}}}),p},l={};return{timePickerOptions:l,getAvailableTime:r,onSetOption:([a,i])=>{l[a]=i}}},yv=e=>{const t=(r,l)=>r||l,o=r=>r!==!0;return e.map(t).filter(o)},cw=(e,t,o)=>({getHoursList:(a,i)=>_v(24,e&&(()=>e==null?void 0:e(a,i))),getMinutesList:(a,i,c)=>_v(60,t&&(()=>t==null?void 0:t(a,i,c))),getSecondsList:(a,i,c,d)=>_v(60,o&&(()=>o==null?void 0:o(a,i,c,d)))}),uw=(e,t,o)=>{const{getHoursList:r,getMinutesList:l,getSecondsList:n}=cw(e,t,o);return{getAvailableHours:(d,u)=>yv(r(d,u)),getAvailableMinutes:(d,u,p)=>yv(l(d,u,p)),getAvailableSeconds:(d,u,p,h)=>yv(n(d,u,p,h))}},dw=e=>{const t=D(e.parsedValue);return Se(()=>e.visible,o=>{o||(t.value=e.parsedValue)}),t},ia=new Map;let pw;Nt&&(document.addEventListener("mousedown",e=>pw=e),document.addEventListener("mouseup",e=>{for(const t of ia.values())for(const{documentHandler:o}of t)o(e,pw)}));function fw(e,t){let o=[];return Array.isArray(t.arg)?o=t.arg:Gr(t.arg)&&o.push(t.arg),function(r,l){const n=t.instance.popperRef,a=r.target,i=l==null?void 0:l.target,c=!t||!t.instance,d=!a||!i,u=e.contains(a)||e.contains(i),p=e===a,h=o.length&&o.some(m=>m==null?void 0:m.contains(a))||o.length&&o.includes(i),v=n&&(n.contains(a)||n.contains(i));c||d||u||p||h||v||t.value(r,l)}}const xn={beforeMount(e,t){ia.has(e)||ia.set(e,[]),ia.get(e).push({documentHandler:fw(e,t),bindingFn:t.value})},updated(e,t){ia.has(e)||ia.set(e,[]);const o=ia.get(e),r=o.findIndex(n=>n.bindingFn===t.oldValue),l={documentHandler:fw(e,t),bindingFn:t.value};r>=0?o.splice(r,1,l):o.push(l)},unmounted(e){ia.delete(e)}},Gq=100,Xq=600,ap={beforeMount(e,t){const o=t.value,{interval:r=Gq,delay:l=Xq}=it(o)?{}:o;let n,a;const i=()=>it(o)?o():o.handler(),c=()=>{a&&(clearTimeout(a),a=void 0),n&&(clearInterval(n),n=void 0)};e.addEventListener("mousedown",d=>{d.button===0&&(c(),i(),document.addEventListener("mouseup",()=>c(),{once:!0}),a=setTimeout(()=>{n=setInterval(()=>{i()},r)},l))})}},xv="_trap-focus-children",Ya=[],hw=e=>{if(Ya.length===0)return;const t=Ya[Ya.length-1][xv];if(t.length>0&&e.code===lt.tab){if(t.length===1){e.preventDefault(),document.activeElement!==t[0]&&t[0].focus();return}const o=e.shiftKey,r=e.target===t[0],l=e.target===t[t.length-1];r&&o&&(e.preventDefault(),t[t.length-1].focus()),l&&!o&&(e.preventDefault(),t[0].focus())}},Zq={beforeMount(e){e[xv]=Hb(e),Ya.push(e),Ya.length<=1&&document.addEventListener("keydown",hw)},updated(e){et(()=>{e[xv]=Hb(e)})},unmounted(){Ya.shift(),Ya.length===0&&document.removeEventListener("keydown",hw)}};var vw=!1,Ga,kv,Cv,ip,sp,mw,cp,Sv,Ev,Tv,gw,$v,Mv,bw,_w;function Ir(){if(!vw){vw=!0;var e=navigator.userAgent,t=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e),o=/(Mac OS X)|(Windows)|(Linux)/.exec(e);if($v=/\b(iPhone|iP[ao]d)/.exec(e),Mv=/\b(iP[ao]d)/.exec(e),Tv=/Android/i.exec(e),bw=/FBAN\/\w+;/i.exec(e),_w=/Mobile/i.exec(e),gw=!!/Win64/.exec(e),t){Ga=t[1]?parseFloat(t[1]):t[5]?parseFloat(t[5]):NaN,Ga&&document&&document.documentMode&&(Ga=document.documentMode);var r=/(?:Trident\/(\d+.\d+))/.exec(e);mw=r?parseFloat(r[1])+4:Ga,kv=t[2]?parseFloat(t[2]):NaN,Cv=t[3]?parseFloat(t[3]):NaN,ip=t[4]?parseFloat(t[4]):NaN,ip?(t=/(?:Chrome\/(\d+\.\d+))/.exec(e),sp=t&&t[1]?parseFloat(t[1]):NaN):sp=NaN}else Ga=kv=Cv=sp=ip=NaN;if(o){if(o[1]){var l=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);cp=l?parseFloat(l[1].replace("_",".")):!0}else cp=!1;Sv=!!o[2],Ev=!!o[3]}else cp=Sv=Ev=!1}}var Av={ie:function(){return Ir()||Ga},ieCompatibilityMode:function(){return Ir()||mw>Ga},ie64:function(){return Av.ie()&&gw},firefox:function(){return Ir()||kv},opera:function(){return Ir()||Cv},webkit:function(){return Ir()||ip},safari:function(){return Av.webkit()},chrome:function(){return Ir()||sp},windows:function(){return Ir()||Sv},osx:function(){return Ir()||cp},linux:function(){return Ir()||Ev},iphone:function(){return Ir()||$v},mobile:function(){return Ir()||$v||Mv||Tv||_w},nativeApp:function(){return Ir()||bw},android:function(){return Ir()||Tv},ipad:function(){return Ir()||Mv}},Jq=Av,up=!!(typeof window<"u"&&window.document&&window.document.createElement),Qq={canUseDOM:up,canUseWorkers:typeof Worker<"u",canUseEventListeners:up&&!!(window.addEventListener||window.attachEvent),canUseViewport:up&&!!window.screen,isInWorker:!up},ww=Qq,yw;ww.canUseDOM&&(yw=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0);function eY(e,t){if(!ww.canUseDOM||t&&!("addEventListener"in document))return!1;var o="on"+e,r=o in document;if(!r){var l=document.createElement("div");l.setAttribute(o,"return;"),r=typeof l[o]=="function"}return!r&&yw&&e==="wheel"&&(r=document.implementation.hasFeature("Events.wheel","3.0")),r}var tY=eY,xw=10,kw=40,Cw=800;function Sw(e){var t=0,o=0,r=0,l=0;return"detail"in e&&(o=e.detail),"wheelDelta"in e&&(o=-e.wheelDelta/120),"wheelDeltaY"in e&&(o=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=o,o=0),r=t*xw,l=o*xw,"deltaY"in e&&(l=e.deltaY),"deltaX"in e&&(r=e.deltaX),(r||l)&&e.deltaMode&&(e.deltaMode==1?(r*=kw,l*=kw):(r*=Cw,l*=Cw)),r&&!t&&(t=r<1?-1:1),l&&!o&&(o=l<1?-1:1),{spinX:t,spinY:o,pixelX:r,pixelY:l}}Sw.getEventType=function(){return Jq.firefox()?"DOMMouseScroll":tY("wheel")?"wheel":"mousewheel"};var oY=Sw;/** * Checks if an event is supported in the current execution environment. * * NOTE: This will not work correctly for non-generic events such as `change`, @@ -132,18 +132,18 @@ https://sweetalert2.github.io/#ajax-request`),Ipe(q),typeof q.title=="string"&&( * @return {boolean} True if the event is supported. * @internal * @license Modernizr 3.0.0pre (Custom Build) | MIT -*/const rY=function(e,t){if(e&&e.addEventListener){const o=function(r){const l=oY(r);t&&Reflect.apply(t,this,[r,l])};e.addEventListener("wheel",o,{passive:!0})}},lY={beforeMount(e,t){rY(e,t.value)}},nY=Pe({role:{type:String,required:!0},spinnerDate:{type:ue(Object),required:!0},showSeconds:{type:Boolean,default:!0},arrowControl:Boolean,amPmMode:{type:ue(String),default:""},...nw}),aY=["onClick"],iY=["onMouseenter"];var zv=Le(N({__name:"basic-time-spinner",props:nY,emits:["change","select-range","set-option"],setup(e,{emit:t}){const o=e,r=ze("time"),{getHoursList:l,getMinutesList:n,getSecondsList:a}=cw(o.disabledHours,o.disabledMinutes,o.disabledSeconds);let i=!1;const c=D(),d=D(),u=D(),p=D(),h={hours:d,minutes:u,seconds:p},v=C(()=>o.showSeconds?J4:J4.slice(0,2)),m=C(()=>{const{spinnerDate:I}=o,U=I.hour(),oe=I.minute(),ne=I.second();return{hours:U,minutes:oe,seconds:ne}}),f=C(()=>{const{hours:I,minutes:U}=s(m);return{hours:l(o.role),minutes:n(I,o.role),seconds:a(I,U,o.role)}}),_=C(()=>{const{hours:I,minutes:U,seconds:oe}=s(m);return{hours:bv(I,23),minutes:bv(U,59),seconds:bv(oe,59)}}),g=Mr(I=>{i=!1,x(I)},200),y=I=>{if(!!!o.amPmMode)return"";const oe=o.amPmMode==="A";let ne=I<12?" am":" pm";return oe&&(ne=ne.toUpperCase()),ne},w=I=>{let U;switch(I){case"hours":U=[0,2];break;case"minutes":U=[3,5];break;case"seconds":U=[6,8];break}const[oe,ne]=U;t("select-range",oe,ne),c.value=I},x=I=>{R(I,s(m)[I])},$=()=>{x("hours"),x("minutes"),x("seconds")},T=I=>I.querySelector(`.${r.namespace.value}-scrollbar__wrap`),R=(I,U)=>{if(o.arrowControl)return;const oe=s(h[I]);oe&&oe.$el&&(T(oe.$el).scrollTop=Math.max(0,U*P(I)))},P=I=>{const U=s(h[I]),oe=U==null?void 0:U.$el.querySelector("li");return oe&&Number.parseFloat(Zn(oe,"height"))||0},L=()=>{V(1)},B=()=>{V(-1)},V=I=>{c.value||w("hours");const U=c.value,oe=s(m)[U],ne=c.value==="hours"?24:60,ce=j(U,oe,I,ne);te(U,ce),R(U,ce),et(()=>w(U))},j=(I,U,oe,ne)=>{let ce=(U+oe+ne)%ne;const Q=s(f)[I];for(;Q[ce]&&ce!==U;)ce=(ce+oe+ne)%ne;return ce},te=(I,U)=>{if(s(f)[I][U])return;const{hours:ce,minutes:Q,seconds:Me}=s(m);let de;switch(I){case"hours":de=o.spinnerDate.hour(U).minute(Q).second(Me);break;case"minutes":de=o.spinnerDate.hour(ce).minute(U).second(Me);break;case"seconds":de=o.spinnerDate.hour(ce).minute(Q).second(U);break}t("change",de)},J=(I,{value:U,disabled:oe})=>{oe||(te(I,U),w(I),R(I,U))},Z=I=>{i=!0,g(I);const U=Math.min(Math.round((T(s(h[I]).$el).scrollTop-(H(I)*.5-10)/P(I)+3)/P(I)),I==="hours"?23:59);te(I,U)},H=I=>s(h[I]).$el.offsetHeight,F=()=>{const I=U=>{const oe=s(h[U]);oe&&oe.$el&&(T(oe.$el).onscroll=()=>{Z(U)})};I("hours"),I("minutes"),I("seconds")};ft(()=>{et(()=>{!o.arrowControl&&F(),$(),o.role==="start"&&w("hours")})});const K=(I,U)=>{h[U].value=I};return t("set-option",[`${o.role}_scrollDown`,V]),t("set-option",[`${o.role}_emitSelectRange`,w]),Se(()=>o.spinnerDate,()=>{i||$()}),(I,U)=>(b(),M("div",{class:O([s(r).b("spinner"),{"has-seconds":I.showSeconds}])},[I.arrowControl?se("v-if",!0):(b(!0),M(Qe,{key:0},It(s(v),oe=>(b(),he(s(wn),{key:oe,ref_for:!0,ref:ne=>K(ne,oe),class:O(s(r).be("spinner","wrapper")),"wrap-style":"max-height: inherit;","view-class":s(r).be("spinner","list"),noresize:"",tag:"ul",onMouseenter:ne=>w(oe),onMousemove:ne=>x(oe)},{default:le(()=>[(b(!0),M(Qe,null,It(s(f)[oe],(ne,ce)=>(b(),M("li",{key:ce,class:O([s(r).be("spinner","item"),s(r).is("active",ce===s(m)[oe]),s(r).is("disabled",ne)]),onClick:Q=>J(oe,{value:ce,disabled:ne})},[oe==="hours"?(b(),M(Qe,{key:0},[Ct($e(("0"+(I.amPmMode?ce%12||12:ce)).slice(-2))+$e(y(ce)),1)],64)):(b(),M(Qe,{key:1},[Ct($e(("0"+ce).slice(-2)),1)],64))],10,aY))),128))]),_:2},1032,["class","view-class","onMouseenter","onMousemove"]))),128)),I.arrowControl?(b(!0),M(Qe,{key:1},It(s(v),oe=>(b(),M("div",{key:oe,class:O([s(r).be("spinner","wrapper"),s(r).is("arrow")]),onMouseenter:ne=>w(oe)},[mt((b(),he(s(Ze),{class:O(["arrow-up",s(r).be("spinner","arrow")])},{default:le(()=>[ee(s(Ad))]),_:1},8,["class"])),[[s(ap),B]]),mt((b(),he(s(Ze),{class:O(["arrow-down",s(r).be("spinner","arrow")])},{default:le(()=>[ee(s(Pl))]),_:1},8,["class"])),[[s(ap),L]]),E("ul",{class:O(s(r).be("spinner","list"))},[(b(!0),M(Qe,null,It(s(_)[oe],(ne,ce)=>(b(),M("li",{key:ce,class:O([s(r).be("spinner","item"),s(r).is("active",ne===s(m)[oe]),s(r).is("disabled",s(f)[oe][ne])])},[typeof ne=="number"?(b(),M(Qe,{key:0},[oe==="hours"?(b(),M(Qe,{key:0},[Ct($e(("0"+(I.amPmMode?ne%12||12:ne)).slice(-2))+$e(y(ne)),1)],64)):(b(),M(Qe,{key:1},[Ct($e(("0"+ne).slice(-2)),1)],64))],64)):se("v-if",!0)],2))),128))],2)],42,iY))),128)):se("v-if",!0)],2))}}),[["__file","basic-time-spinner.vue"]]),dp=Le(N({__name:"panel-time-pick",props:Yq,emits:["pick","select-range","set-picker-option"],setup(e,{emit:t}){const o=e,r=Ge("EP_PICKER_BASE"),{arrowControl:l,disabledHours:n,disabledMinutes:a,disabledSeconds:i,defaultValue:c}=r.props,{getAvailableHours:d,getAvailableMinutes:u,getAvailableSeconds:p}=uw(n,a,i),h=ze("time"),{t:v,lang:m}=Rt(),f=D([0,2]),_=dw(o),g=C(()=>ko(o.actualVisible)?`${h.namespace.value}-zoom-in-top`:""),y=C(()=>o.format.includes("ss")),w=C(()=>o.format.includes("A")?"A":o.format.includes("a")?"a":""),x=K=>{const I=kt(K).locale(m.value),U=J(I);return I.isSame(U)},$=()=>{t("pick",_.value,!1)},T=(K=!1,I=!1)=>{I||t("pick",o.parsedValue,K)},R=K=>{if(!o.visible)return;const I=J(K).millisecond(0);t("pick",I,!0)},P=(K,I)=>{t("select-range",K,I),f.value=[K,I]},L=K=>{const I=[0,3].concat(y.value?[6]:[]),U=["hours","minutes"].concat(y.value?["seconds"]:[]),ne=(I.indexOf(f.value[0])+K+I.length)%I.length;V.start_emitSelectRange(U[ne])},B=K=>{const I=K.code,{left:U,right:oe,up:ne,down:ce}=lt;if([U,oe].includes(I)){L(I===U?-1:1),K.preventDefault();return}if([ne,ce].includes(I)){const Q=I===ne?-1:1;V.start_scrollDown(Q),K.preventDefault();return}},{timePickerOptions:V,onSetOption:j,getAvailableTime:te}=sw({getAvailableHours:d,getAvailableMinutes:u,getAvailableSeconds:p}),J=K=>te(K,o.datetimeRole||"",!0),Z=K=>K?kt(K,o.format).locale(m.value):null,H=K=>K?K.format(o.format):null,F=()=>kt(c).locale(m.value);return t("set-picker-option",["isValidValue",x]),t("set-picker-option",["formatToString",H]),t("set-picker-option",["parseUserInput",Z]),t("set-picker-option",["handleKeydownInput",B]),t("set-picker-option",["getRangeAvailableTime",J]),t("set-picker-option",["getDefaultValue",F]),(K,I)=>(b(),he(Mo,{name:s(g)},{default:le(()=>[K.actualVisible||K.visible?(b(),M("div",{key:0,class:O(s(h).b("panel"))},[E("div",{class:O([s(h).be("panel","content"),{"has-seconds":s(y)}])},[ee(zv,{ref:"spinner",role:K.datetimeRole||"start","arrow-control":s(l),"show-seconds":s(y),"am-pm-mode":s(w),"spinner-date":K.parsedValue,"disabled-hours":s(n),"disabled-minutes":s(a),"disabled-seconds":s(i),onChange:R,onSetOption:s(j),onSelectRange:P},null,8,["role","arrow-control","show-seconds","am-pm-mode","spinner-date","disabled-hours","disabled-minutes","disabled-seconds","onSetOption"])],2),E("div",{class:O(s(h).be("panel","footer"))},[E("button",{type:"button",class:O([s(h).be("panel","btn"),"cancel"]),onClick:$},$e(s(v)("el.datepicker.cancel")),3),E("button",{type:"button",class:O([s(h).be("panel","btn"),"confirm"]),onClick:I[0]||(I[0]=U=>T())},$e(s(v)("el.datepicker.confirm")),3)],2)],2)):se("v-if",!0)]),_:1},8,["name"]))}}),[["__file","panel-time-pick.vue"]]);const sY=Pe({...aw,parsedValue:{type:ue(Array)}}),cY=["disabled"];var uY=Le(N({__name:"panel-time-range",props:sY,emits:["pick","select-range","set-picker-option"],setup(e,{emit:t}){const o=e,r=(Ee,De)=>{const ae=[];for(let pe=Ee;pe<=De;pe++)ae.push(pe);return ae},{t:l,lang:n}=Rt(),a=ze("time"),i=ze("picker"),c=Ge("EP_PICKER_BASE"),{arrowControl:d,disabledHours:u,disabledMinutes:p,disabledSeconds:h,defaultValue:v}=c.props,m=C(()=>[a.be("range-picker","body"),a.be("panel","content"),a.is("arrow",d),x.value?"has-seconds":""]),f=C(()=>[a.be("range-picker","body"),a.be("panel","content"),a.is("arrow",d),x.value?"has-seconds":""]),_=C(()=>o.parsedValue[0]),g=C(()=>o.parsedValue[1]),y=dw(o),w=()=>{t("pick",y.value,!1)},x=C(()=>o.format.includes("ss")),$=C(()=>o.format.includes("A")?"A":o.format.includes("a")?"a":""),T=(Ee=!1)=>{t("pick",[_.value,g.value],Ee)},R=Ee=>{B(Ee.millisecond(0),g.value)},P=Ee=>{B(_.value,Ee.millisecond(0))},L=Ee=>{const De=Ee.map(pe=>kt(pe).locale(n.value)),ae=oe(De);return De[0].isSame(ae[0])&&De[1].isSame(ae[1])},B=(Ee,De)=>{t("pick",[Ee,De],!0)},V=C(()=>_.value>g.value),j=D([0,2]),te=(Ee,De)=>{t("select-range",Ee,De,"min"),j.value=[Ee,De]},J=C(()=>x.value?11:8),Z=(Ee,De)=>{t("select-range",Ee,De,"max");const ae=s(J);j.value=[Ee+ae,De+ae]},H=Ee=>{const De=x.value?[0,3,6,11,14,17]:[0,3,8,11],ae=["hours","minutes"].concat(x.value?["seconds"]:[]),ke=(De.indexOf(j.value[0])+Ee+De.length)%De.length,Oe=De.length/2;ke{const De=Ee.code,{left:ae,right:pe,up:ke,down:Oe}=lt;if([ae,pe].includes(De)){H(De===ae?-1:1),Ee.preventDefault();return}if([ke,Oe].includes(De)){const we=De===ke?-1:1,Te=j.value[0]{const ae=u?u(Ee):[],pe=Ee==="start",Oe=(De||(pe?g.value:_.value)).hour(),we=pe?r(Oe+1,23):r(0,Oe-1);return sh(ae,we)},I=(Ee,De,ae)=>{const pe=p?p(Ee,De):[],ke=De==="start",Oe=ae||(ke?g.value:_.value),we=Oe.hour();if(Ee!==we)return pe;const Te=Oe.minute(),Ne=ke?r(Te+1,59):r(0,Te-1);return sh(pe,Ne)},U=(Ee,De,ae,pe)=>{const ke=h?h(Ee,De,ae):[],Oe=ae==="start",we=pe||(Oe?g.value:_.value),Te=we.hour(),Ne=we.minute();if(Ee!==Te||De!==Ne)return ke;const Ie=we.second(),Ae=Oe?r(Ie+1,59):r(0,Ie-1);return sh(ke,Ae)},oe=([Ee,De])=>[de(Ee,"start",!0,De),de(De,"end",!1,Ee)],{getAvailableHours:ne,getAvailableMinutes:ce,getAvailableSeconds:Q}=uw(K,I,U),{timePickerOptions:Me,getAvailableTime:de,onSetOption:_e}=sw({getAvailableHours:ne,getAvailableMinutes:ce,getAvailableSeconds:Q}),me=Ee=>Ee?Ke(Ee)?Ee.map(De=>kt(De,o.format).locale(n.value)):kt(Ee,o.format).locale(n.value):null,Re=Ee=>Ee?Ke(Ee)?Ee.map(De=>De.format(o.format)):Ee.format(o.format):null,Ce=()=>{if(Ke(v))return v.map(De=>kt(De).locale(n.value));const Ee=kt(v).locale(n.value);return[Ee,Ee.add(60,"m")]};return t("set-picker-option",["formatToString",Re]),t("set-picker-option",["parseUserInput",me]),t("set-picker-option",["isValidValue",L]),t("set-picker-option",["handleKeydownInput",F]),t("set-picker-option",["getDefaultValue",Ce]),t("set-picker-option",["getRangeAvailableTime",oe]),(Ee,De)=>Ee.actualVisible?(b(),M("div",{key:0,class:O([s(a).b("range-picker"),s(i).b("panel")])},[E("div",{class:O(s(a).be("range-picker","content"))},[E("div",{class:O(s(a).be("range-picker","cell"))},[E("div",{class:O(s(a).be("range-picker","header"))},$e(s(l)("el.datepicker.startTime")),3),E("div",{class:O(s(m))},[ee(zv,{ref:"minSpinner",role:"start","show-seconds":s(x),"am-pm-mode":s($),"arrow-control":s(d),"spinner-date":s(_),"disabled-hours":K,"disabled-minutes":I,"disabled-seconds":U,onChange:R,onSetOption:s(_e),onSelectRange:te},null,8,["show-seconds","am-pm-mode","arrow-control","spinner-date","onSetOption"])],2)],2),E("div",{class:O(s(a).be("range-picker","cell"))},[E("div",{class:O(s(a).be("range-picker","header"))},$e(s(l)("el.datepicker.endTime")),3),E("div",{class:O(s(f))},[ee(zv,{ref:"maxSpinner",role:"end","show-seconds":s(x),"am-pm-mode":s($),"arrow-control":s(d),"spinner-date":s(g),"disabled-hours":K,"disabled-minutes":I,"disabled-seconds":U,onChange:P,onSetOption:s(_e),onSelectRange:Z},null,8,["show-seconds","am-pm-mode","arrow-control","spinner-date","onSetOption"])],2)],2)],2),E("div",{class:O(s(a).be("panel","footer"))},[E("button",{type:"button",class:O([s(a).be("panel","btn"),"cancel"]),onClick:De[0]||(De[0]=ae=>w())},$e(s(l)("el.datepicker.cancel")),3),E("button",{type:"button",class:O([s(a).be("panel","btn"),"confirm"]),disabled:s(V),onClick:De[1]||(De[1]=ae=>T())},$e(s(l)("el.datepicker.confirm")),11,cY)],2)],2)):se("v-if",!0)}}),[["__file","panel-time-range.vue"]]);kt.extend(mv);var dY=N({name:"ElTimePicker",install:null,props:{...wv,isRange:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e,t){const o=D(),[r,l]=e.isRange?["timerange",uY]:["time",dp],n=a=>t.emit("update:modelValue",a);return zt("ElPopperOptions",e.popperOptions),t.expose({focus:a=>{var i;(i=o.value)==null||i.handleFocusInput(a)},blur:a=>{var i;(i=o.value)==null||i.handleBlurInput(a)},handleOpen:()=>{var a;(a=o.value)==null||a.handleOpen()},handleClose:()=>{var a;(a=o.value)==null||a.handleClose()}}),()=>{var a;const i=(a=e.format)!=null?a:gv;return ee(iw,Mt(e,{ref:o,type:r,format:i,"onUpdate:modelValue":n}),{default:c=>ee(l,c,null)})}}});const pp=dY;pp.install=e=>{e.component(pp.name,pp)};const pY=pp,fY=(e,t)=>{const o=e.subtract(1,"month").endOf("month").date();return aa(t).map((r,l)=>o-(t-l-1))},hY=e=>{const t=e.daysInMonth();return aa(t).map((o,r)=>r+1)},vY=e=>aa(e.length/7).map(t=>{const o=t*7;return e.slice(o,o+7)}),mY=Pe({selectedDay:{type:ue(Object)},range:{type:ue(Array)},date:{type:ue(Object),required:!0},hideHeader:{type:Boolean}}),gY={pick:e=>xt(e)};var Ew={exports:{}};(function(e,t){(function(o,r){e.exports=r()})(Ao,function(){return function(o,r,l){var n=r.prototype,a=function(p){return p&&(p.indexOf?p:p.s)},i=function(p,h,v,m,f){var _=p.name?p:p.$locale(),g=a(_[h]),y=a(_[v]),w=g||y.map(function($){return $.slice(0,m)});if(!f)return w;var x=_.weekStart;return w.map(function($,T){return w[(T+(x||0))%7]})},c=function(){return l.Ls[l.locale()]},d=function(p,h){return p.formats[h]||function(v){return v.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(m,f,_){return f||_.slice(1)})}(p.formats[h.toUpperCase()])},u=function(){var p=this;return{months:function(h){return h?h.format("MMMM"):i(p,"months")},monthsShort:function(h){return h?h.format("MMM"):i(p,"monthsShort","months",3)},firstDayOfWeek:function(){return p.$locale().weekStart||0},weekdays:function(h){return h?h.format("dddd"):i(p,"weekdays")},weekdaysMin:function(h){return h?h.format("dd"):i(p,"weekdaysMin","weekdays",2)},weekdaysShort:function(h){return h?h.format("ddd"):i(p,"weekdaysShort","weekdays",3)},longDateFormat:function(h){return d(p.$locale(),h)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};n.localeData=function(){return u.bind(this)()},l.localeData=function(){var p=c();return{firstDayOfWeek:function(){return p.weekStart||0},weekdays:function(){return l.weekdays()},weekdaysShort:function(){return l.weekdaysShort()},weekdaysMin:function(){return l.weekdaysMin()},months:function(){return l.months()},monthsShort:function(){return l.monthsShort()},longDateFormat:function(h){return d(p,h)},meridiem:p.meridiem,ordinal:p.ordinal}},l.months=function(){return i(c(),"months")},l.monthsShort=function(){return i(c(),"monthsShort","months",3)},l.weekdays=function(p){return i(c(),"weekdays",null,null,p)},l.weekdaysShort=function(p){return i(c(),"weekdaysShort","weekdays",3,p)},l.weekdaysMin=function(p){return i(c(),"weekdaysMin","weekdays",2,p)}}})})(Ew);var bY=Ew.exports;const Tw=cl(bY),_Y=(e,t)=>{kt.extend(Tw);const o=kt.localeData().firstDayOfWeek(),{t:r,lang:l}=Rt(),n=kt().locale(l.value),a=C(()=>!!e.range&&!!e.range.length),i=C(()=>{let h=[];if(a.value){const[v,m]=e.range,f=aa(m.date()-v.date()+1).map(y=>({text:v.date()+y,type:"current"}));let _=f.length%7;_=_===0?0:7-_;const g=aa(_).map((y,w)=>({text:w+1,type:"next"}));h=f.concat(g)}else{const v=e.date.startOf("month").day(),m=fY(e.date,(v-o+7)%7).map(y=>({text:y,type:"prev"})),f=hY(e.date).map(y=>({text:y,type:"current"}));h=[...m,...f];const _=7-(h.length%7||7),g=aa(_).map((y,w)=>({text:w+1,type:"next"}));h=h.concat(g)}return vY(h)}),c=C(()=>{const h=o;return h===0?wh.map(v=>r(`el.datepicker.weeks.${v}`)):wh.slice(h).concat(wh.slice(0,h)).map(v=>r(`el.datepicker.weeks.${v}`))}),d=(h,v)=>{switch(v){case"prev":return e.date.startOf("month").subtract(1,"month").date(h);case"next":return e.date.startOf("month").add(1,"month").date(h);case"current":return e.date.date(h)}};return{now:n,isInRange:a,rows:i,weekDays:c,getFormattedDate:d,handlePickDay:({text:h,type:v})=>{const m=d(h,v);t("pick",m)},getSlotData:({text:h,type:v})=>{const m=d(h,v);return{isSelected:m.isSame(e.selectedDay),type:`${v}-month`,day:m.format("YYYY-MM-DD"),date:m.toDate()}}}},wY={key:0},yY=["onClick"],xY=N({...N({name:"DateTable"}),props:mY,emits:gY,setup(e,{expose:t,emit:o}){const r=e,{isInRange:l,now:n,rows:a,weekDays:i,getFormattedDate:c,handlePickDay:d,getSlotData:u}=_Y(r,o),p=ze("calendar-table"),h=ze("calendar-day"),v=({text:m,type:f})=>{const _=[f];if(f==="current"){const g=c(m,f);g.isSame(r.selectedDay,"day")&&_.push(h.is("selected")),g.isSame(n,"day")&&_.push(h.is("today"))}return _};return t({getFormattedDate:c}),(m,f)=>(b(),M("table",{class:O([s(p).b(),s(p).is("range",s(l))]),cellspacing:"0",cellpadding:"0"},[m.hideHeader?se("v-if",!0):(b(),M("thead",wY,[(b(!0),M(Qe,null,It(s(i),_=>(b(),M("th",{key:_},$e(_),1))),128))])),E("tbody",null,[(b(!0),M(Qe,null,It(s(a),(_,g)=>(b(),M("tr",{key:g,class:O({[s(p).e("row")]:!0,[s(p).em("row","hide-border")]:g===0&&m.hideHeader})},[(b(!0),M(Qe,null,It(_,(y,w)=>(b(),M("td",{key:w,class:O(v(y)),onClick:x=>s(d)(y)},[E("div",{class:O(s(h).b())},[be(m.$slots,"date-cell",{data:s(u)(y)},()=>[E("span",null,$e(y.text),1)])],2)],10,yY))),128))],2))),128))])],2))}});var $w=Le(xY,[["__file","date-table.vue"]]);const kY=(e,t)=>{const o=e.endOf("month"),r=t.startOf("month"),n=o.isSame(r,"week")?r.add(1,"week"):r;return[[e,o],[n.startOf("week"),t]]},CY=(e,t)=>{const o=e.endOf("month"),r=e.add(1,"month").startOf("month"),l=o.isSame(r,"week")?r.add(1,"week"):r,n=l.endOf("month"),a=t.startOf("month"),i=n.isSame(a,"week")?a.add(1,"week"):a;return[[e,o],[l.startOf("week"),n],[i.startOf("week"),t]]},SY=(e,t,o)=>{const{lang:r}=Rt(),l=D(),n=kt().locale(r.value),a=C({get(){return e.modelValue?c.value:l.value},set(_){if(!_)return;l.value=_;const g=_.toDate();t(yr,g),t(St,g)}}),i=C(()=>{if(!e.range)return[];const _=e.range.map(w=>kt(w).locale(r.value)),[g,y]=_;return g.isAfter(y)?[]:g.isSame(y,"month")?v(g,y):g.add(1,"month").month()!==y.month()?[]:v(g,y)}),c=C(()=>e.modelValue?kt(e.modelValue).locale(r.value):a.value||(i.value.length?i.value[0][0]:n)),d=C(()=>c.value.subtract(1,"month").date(1)),u=C(()=>c.value.add(1,"month").date(1)),p=C(()=>c.value.subtract(1,"year").date(1)),h=C(()=>c.value.add(1,"year").date(1)),v=(_,g)=>{const y=_.startOf("week"),w=g.endOf("week"),x=y.get("month"),$=w.get("month");return x===$?[[y,w]]:(x+1)%12===$?kY(y,w):x+2===$||(x+1)%11===$?CY(y,w):[]},m=_=>{a.value=_};return{calculateValidatedDateRange:v,date:c,realSelectedDay:a,pickDay:m,selectDate:_=>{const y={"prev-month":d.value,"next-month":u.value,"prev-year":p.value,"next-year":h.value,today:n}[_];y.isSame(c.value,"day")||m(y)},validatedRange:i}},EY=e=>Ke(e)&&e.length===2&&e.every(t=>va(t)),TY=Pe({modelValue:{type:Date},range:{type:ue(Array),validator:EY}}),$Y={[St]:e=>va(e),[yr]:e=>va(e)},MY=N({...N({name:"ElCalendar"}),props:TY,emits:$Y,setup(e,{expose:t,emit:o}){const r=e,l=ze("calendar"),{calculateValidatedDateRange:n,date:a,pickDay:i,realSelectedDay:c,selectDate:d,validatedRange:u}=SY(r,o),{t:p}=Rt(),h=C(()=>{const v=`el.datepicker.month${a.value.format("M")}`;return`${a.value.year()} ${p("el.datepicker.year")} ${p(v)}`});return t({selectedDay:c,pickDay:i,selectDate:d,calculateValidatedDateRange:n}),(v,m)=>(b(),M("div",{class:O(s(l).b())},[E("div",{class:O(s(l).e("header"))},[be(v.$slots,"header",{date:s(h)},()=>[E("div",{class:O(s(l).e("title"))},$e(s(h)),3),s(u).length===0?(b(),M("div",{key:0,class:O(s(l).e("button-group"))},[ee(s(G4),null,{default:le(()=>[ee(s(Wo),{size:"small",onClick:m[0]||(m[0]=f=>s(d)("prev-month"))},{default:le(()=>[Ct($e(s(p)("el.datepicker.prevMonth")),1)]),_:1}),ee(s(Wo),{size:"small",onClick:m[1]||(m[1]=f=>s(d)("today"))},{default:le(()=>[Ct($e(s(p)("el.datepicker.today")),1)]),_:1}),ee(s(Wo),{size:"small",onClick:m[2]||(m[2]=f=>s(d)("next-month"))},{default:le(()=>[Ct($e(s(p)("el.datepicker.nextMonth")),1)]),_:1})]),_:1})],2)):se("v-if",!0)])],2),s(u).length===0?(b(),M("div",{key:0,class:O(s(l).e("body"))},[ee($w,{date:s(a),"selected-day":s(c),onPick:s(i)},ln({_:2},[v.$slots["date-cell"]?{name:"date-cell",fn:le(f=>[be(v.$slots,"date-cell",Zl(mi(f)))])}:void 0]),1032,["date","selected-day","onPick"])],2)):(b(),M("div",{key:1,class:O(s(l).e("body"))},[(b(!0),M(Qe,null,It(s(u),(f,_)=>(b(),he($w,{key:_,date:f[0],"selected-day":s(c),range:f,"hide-header":_!==0,onPick:s(i)},ln({_:2},[v.$slots["date-cell"]?{name:"date-cell",fn:le(g=>[be(v.$slots,"date-cell",Zl(mi(g)))])}:void 0]),1032,["date","selected-day","range","hide-header","onPick"]))),128))],2))],2))}});var AY=Le(MY,[["__file","calendar.vue"]]);const zY=yt(AY),IY=Pe({header:{type:String,default:""},footer:{type:String,default:""},bodyStyle:{type:ue([String,Object,Array]),default:""},bodyClass:String,shadow:{type:String,values:["always","hover","never"],default:"always"}}),OY=N({...N({name:"ElCard"}),props:IY,setup(e){const t=ze("card");return(o,r)=>(b(),M("div",{class:O([s(t).b(),s(t).is(`${o.shadow}-shadow`)])},[o.$slots.header||o.header?(b(),M("div",{key:0,class:O(s(t).e("header"))},[be(o.$slots,"header",{},()=>[Ct($e(o.header),1)])],2)):se("v-if",!0),E("div",{class:O([s(t).e("body"),o.bodyClass]),style:Je(o.bodyStyle)},[be(o.$slots,"default")],6),o.$slots.footer||o.footer?(b(),M("div",{key:1,class:O(s(t).e("footer"))},[be(o.$slots,"footer",{},()=>[Ct($e(o.footer),1)])],2)):se("v-if",!0)],2))}});var NY=Le(OY,[["__file","card.vue"]]);const PY=yt(NY),RY=Pe({initialIndex:{type:Number,default:0},height:{type:String,default:""},trigger:{type:String,values:["hover","click"],default:"hover"},autoplay:{type:Boolean,default:!0},interval:{type:Number,default:3e3},indicatorPosition:{type:String,values:["","none","outside"],default:""},arrow:{type:String,values:["always","hover","never"],default:"hover"},type:{type:String,values:["","card"],default:""},loop:{type:Boolean,default:!0},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},pauseOnHover:{type:Boolean,default:!0},motionBlur:{type:Boolean,default:!1}}),LY={change:(e,t)=>[e,t].every(st)},Mw=Symbol("carouselContextKey"),Aw=300,BY=(e,t,o)=>{const{children:r,addChild:l,removeChild:n}=Wh(wt(),"ElCarouselItem"),a=Do(),i=D(-1),c=D(null),d=D(!1),u=D(),p=D(0),h=D(!0),v=D(!0),m=D(!1),f=C(()=>e.arrow!=="never"&&!s(y)),_=C(()=>r.value.some(de=>de.props.label.toString().length>0)),g=C(()=>e.type==="card"),y=C(()=>e.direction==="vertical"),w=C(()=>e.height!=="auto"?{height:e.height}:{height:`${p.value}px`,overflow:"hidden"}),x=Oa(de=>{B(de)},Aw,{trailing:!0}),$=Oa(de=>{I(de)},Aw),T=de=>h.value?i.value<=1?de<=1:de>1:!0;function R(){c.value&&(clearInterval(c.value),c.value=null)}function P(){e.interval<=0||!e.autoplay||c.value||(c.value=setInterval(()=>L(),e.interval))}const L=()=>{v.value||(m.value=!0),v.value=!1,i.valueCe.props.name===de);Re.length>0&&(de=r.value.indexOf(Re[0]))}if(de=Number(de),Number.isNaN(de)||de!==Math.floor(de))return;const _e=r.value.length,me=i.value;de<0?i.value=e.loop?_e-1:0:de>=_e?i.value=e.loop?0:_e-1:i.value=de,me===i.value&&V(me),ne()}function V(de){r.value.forEach((_e,me)=>{_e.translateItem(me,i.value,de)})}function j(de,_e){var me,Re,Ce,Ee;const De=s(r),ae=De.length;if(ae===0||!de.states.inStage)return!1;const pe=_e+1,ke=_e-1,Oe=ae-1,we=De[Oe].states.active,Te=De[0].states.active,Ne=(Re=(me=De[pe])==null?void 0:me.states)==null?void 0:Re.active,Ie=(Ee=(Ce=De[ke])==null?void 0:Ce.states)==null?void 0:Ee.active;return _e===Oe&&Te||Ne?"left":_e===0&&we||Ie?"right":!1}function te(){d.value=!0,e.pauseOnHover&&R()}function J(){d.value=!1,P()}function Z(){m.value=!1}function H(de){s(y)||r.value.forEach((_e,me)=>{de===j(_e,me)&&(_e.states.hover=!0)})}function F(){s(y)||r.value.forEach(de=>{de.states.hover=!1})}function K(de){de!==i.value&&(v.value||(m.value=!0)),i.value=de}function I(de){e.trigger==="hover"&&de!==i.value&&(i.value=de,v.value||(m.value=!0))}function U(){B(i.value-1)}function oe(){B(i.value+1)}function ne(){R(),e.pauseOnHover||P()}function ce(de){e.height==="auto"&&(p.value=de)}function Q(){var de;const _e=(de=a.default)==null?void 0:de.call(a);if(!_e)return null;const me=Qn(_e),Re="ElCarouselItem",Ce=me.filter(Ee=>io(Ee)&&Ee.type.name===Re);return(Ce==null?void 0:Ce.length)===2&&e.loop&&!g.value?(h.value=!0,Ce):(h.value=!1,null)}Se(()=>i.value,(de,_e)=>{V(_e),h.value&&(de=de%2,_e=_e%2),_e>-1&&t("change",de,_e)}),Se(()=>e.autoplay,de=>{de?P():R()}),Se(()=>e.loop,()=>{B(i.value)}),Se(()=>e.interval,()=>{ne()});const Me=lo();return ft(()=>{Se(()=>r.value,()=>{r.value.length>0&&B(e.initialIndex)},{immediate:!0}),Me.value=so(u.value,()=>{V()}),P()}),to(()=>{R(),u.value&&Me.value&&Me.value.stop()}),zt(Mw,{root:u,isCardType:g,isVertical:y,items:r,loop:e.loop,addItem:l,removeItem:n,setActiveItem:B,setContainerHeight:ce}),{root:u,activeIndex:i,arrowDisplay:f,hasLabel:_,hover:d,isCardType:g,isTransitioning:m,items:r,isVertical:y,containerStyle:w,isItemsTwoLength:h,handleButtonEnter:H,handleTransitionEnd:Z,handleButtonLeave:F,handleIndicatorClick:K,handleMouseEnter:te,handleMouseLeave:J,setActiveItem:B,prev:U,next:oe,PlaceholderItem:Q,isTwoLengthShow:T,throttledArrowClick:x,throttledIndicatorHover:$}},VY=["aria-label"],DY=["aria-label"],HY=["onMouseenter","onClick"],FY=["aria-label"],jY={key:0},KY={key:3,xmlns:"http://www.w3.org/2000/svg",version:"1.1",style:{display:"none"}},UY=[E("defs",null,[E("filter",{id:"elCarouselHorizontal"},[E("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"12,0"})]),E("filter",{id:"elCarouselVertical"},[E("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"0,10"})])],-1)],WY=N({...N({name:"ElCarousel"}),props:RY,emits:LY,setup(e,{expose:t,emit:o}){const r=e,{root:l,activeIndex:n,arrowDisplay:a,hasLabel:i,hover:c,isCardType:d,items:u,isVertical:p,containerStyle:h,handleButtonEnter:v,handleButtonLeave:m,isTransitioning:f,handleIndicatorClick:_,handleMouseEnter:g,handleMouseLeave:y,handleTransitionEnd:w,setActiveItem:x,prev:$,next:T,PlaceholderItem:R,isTwoLengthShow:P,throttledArrowClick:L,throttledIndicatorHover:B}=BY(r,o),V=ze("carousel"),{t:j}=Rt(),te=C(()=>{const H=[V.b(),V.m(r.direction)];return s(d)&&H.push(V.m("card")),H}),J=C(()=>{const H=[V.e("container")];return r.motionBlur&&s(f)&&H.push(s(p)?`${V.namespace.value}-transitioning-vertical`:`${V.namespace.value}-transitioning`),H}),Z=C(()=>{const H=[V.e("indicators"),V.em("indicators",r.direction)];return s(i)&&H.push(V.em("indicators","labels")),r.indicatorPosition==="outside"&&H.push(V.em("indicators","outside")),s(p)&&H.push(V.em("indicators","right")),H});return t({setActiveItem:x,prev:$,next:T}),(H,F)=>(b(),M("div",{ref_key:"root",ref:l,class:O(s(te)),onMouseenter:F[7]||(F[7]=ct((...K)=>s(g)&&s(g)(...K),["stop"])),onMouseleave:F[8]||(F[8]=ct((...K)=>s(y)&&s(y)(...K),["stop"]))},[s(a)?(b(),he(Mo,{key:0,name:"carousel-arrow-left",persisted:""},{default:le(()=>[mt(E("button",{type:"button",class:O([s(V).e("arrow"),s(V).em("arrow","left")]),"aria-label":s(j)("el.carousel.leftArrow"),onMouseenter:F[0]||(F[0]=K=>s(v)("left")),onMouseleave:F[1]||(F[1]=(...K)=>s(m)&&s(m)(...K)),onClick:F[2]||(F[2]=ct(K=>s(L)(s(n)-1),["stop"]))},[ee(s(Ze),null,{default:le(()=>[ee(s(fn))]),_:1})],42,VY),[[Lt,(H.arrow==="always"||s(c))&&(r.loop||s(n)>0)]])]),_:1})):se("v-if",!0),s(a)?(b(),he(Mo,{key:1,name:"carousel-arrow-right",persisted:""},{default:le(()=>[mt(E("button",{type:"button",class:O([s(V).e("arrow"),s(V).em("arrow","right")]),"aria-label":s(j)("el.carousel.rightArrow"),onMouseenter:F[3]||(F[3]=K=>s(v)("right")),onMouseleave:F[4]||(F[4]=(...K)=>s(m)&&s(m)(...K)),onClick:F[5]||(F[5]=ct(K=>s(L)(s(n)+1),["stop"]))},[ee(s(Ze),null,{default:le(()=>[ee(s(ir))]),_:1})],42,DY),[[Lt,(H.arrow==="always"||s(c))&&(r.loop||s(n)s(w)&&s(w)(...K))},[ee(s(R)),be(H.$slots,"default")],38),H.indicatorPosition!=="none"?(b(),M("ul",{key:2,class:O(s(Z))},[(b(!0),M(Qe,null,It(s(u),(K,I)=>mt((b(),M("li",{key:I,class:O([s(V).e("indicator"),s(V).em("indicator",H.direction),s(V).is("active",I===s(n))]),onMouseenter:U=>s(B)(I),onClick:ct(U=>s(_)(I),["stop"])},[E("button",{class:O(s(V).e("button")),"aria-label":s(j)("el.carousel.indicator",{index:I+1})},[s(i)?(b(),M("span",jY,$e(K.props.label),1)):se("v-if",!0)],10,FY)],42,HY)),[[Lt,s(P)(I)]])),128))],2)):se("v-if",!0),r.motionBlur?(b(),M("svg",KY,UY)):se("v-if",!0)],34))}});var qY=Le(WY,[["__file","carousel.vue"]]);const YY=Pe({name:{type:String,default:""},label:{type:[String,Number],default:""}}),GY=(e,t)=>{const o=Ge(Mw),r=wt(),l=.83,n=D(),a=D(!1),i=D(0),c=D(1),d=D(!1),u=D(!1),p=D(!1),h=D(!1),{isCardType:v,isVertical:m}=o;function f(x,$,T){const R=T-1,P=$-1,L=$+1,B=T/2;return $===0&&x===R?-1:$===R&&x===0?T:x=B?T+1:x>L&&x-$>=B?-2:x}function _(x,$){var T,R;const P=s(m)?((T=o.root.value)==null?void 0:T.offsetHeight)||0:((R=o.root.value)==null?void 0:R.offsetWidth)||0;return p.value?P*((2-l)*(x-$)+1)/4:x<$?-(1+l)*P/4:(3+l)*P/4}function g(x,$,T){const R=o.root.value;return R?((T?R.offsetHeight:R.offsetWidth)||0)*(x-$):0}const y=(x,$,T)=>{var R;const P=s(v),L=(R=o.items.value.length)!=null?R:Number.NaN,B=x===$;!P&&!ko(T)&&(h.value=B||x===T),!B&&L>2&&o.loop&&(x=f(x,$,L));const V=s(m);d.value=B,P?(p.value=Math.round(Math.abs(x-$))<=1,i.value=_(x,$),c.value=s(d)?1:l):i.value=g(x,$,V),u.value=!0,B&&n.value&&o.setContainerHeight(n.value.offsetHeight)};function w(){if(o&&s(v)){const x=o.items.value.findIndex(({uid:$})=>$===r.uid);o.setActiveItem(x)}}return ft(()=>{o.addItem({props:e,states:Dt({hover:a,translate:i,scale:c,active:d,ready:u,inStage:p,animating:h}),uid:r.uid,translateItem:y})}),Rn(()=>{o.removeItem(r.uid)}),{carouselItemRef:n,active:d,animating:h,hover:a,inStage:p,isVertical:m,translate:i,isCardType:v,scale:c,ready:u,handleItemClick:w}},XY=N({...N({name:"ElCarouselItem"}),props:YY,setup(e){const t=e,o=ze("carousel"),{carouselItemRef:r,active:l,animating:n,hover:a,inStage:i,isVertical:c,translate:d,isCardType:u,scale:p,ready:h,handleItemClick:v}=GY(t),m=C(()=>[o.e("item"),o.is("active",l.value),o.is("in-stage",i.value),o.is("hover",a.value),o.is("animating",n.value),{[o.em("item","card")]:u.value,[o.em("item","card-vertical")]:u.value&&c.value}]),f=C(()=>{const g=`${`translate${s(c)?"Y":"X"}`}(${s(d)}px)`,y=`scale(${s(p)})`;return{transform:[g,y].join(" ")}});return(_,g)=>mt((b(),M("div",{ref_key:"carouselItemRef",ref:r,class:O(s(m)),style:Je(s(f)),onClick:g[0]||(g[0]=(...y)=>s(v)&&s(v)(...y))},[s(u)?mt((b(),M("div",{key:0,class:O(s(o).e("mask"))},null,2)),[[Lt,!s(l)]]):se("v-if",!0),be(_.$slots,"default")],6)),[[Lt,s(h)]])}});var zw=Le(XY,[["__file","carousel-item.vue"]]);const ZY=yt(qY,{CarouselItem:zw}),JY=co(zw),Iw={modelValue:{type:[Number,String,Boolean],default:void 0},label:{type:[String,Boolean,Number,Object],default:void 0},value:{type:[String,Boolean,Number,Object],default:void 0},indeterminate:Boolean,disabled:Boolean,checked:Boolean,name:{type:String,default:void 0},trueValue:{type:[String,Number],default:void 0},falseValue:{type:[String,Number],default:void 0},trueLabel:{type:[String,Number],default:void 0},falseLabel:{type:[String,Number],default:void 0},id:{type:String,default:void 0},controls:{type:String,default:void 0},border:Boolean,size:Oo,tabindex:[String,Number],validateEvent:{type:Boolean,default:!0},...Zo(["ariaControls"])},Ow={[St]:e=>ut(e)||st(e)||Co(e),change:e=>ut(e)||st(e)||Co(e)},os=Symbol("checkboxGroupContextKey"),QY=({model:e,isChecked:t})=>{const o=Ge(os,void 0),r=C(()=>{var n,a;const i=(n=o==null?void 0:o.max)==null?void 0:n.value,c=(a=o==null?void 0:o.min)==null?void 0:a.value;return!ko(i)&&e.value.length>=i&&!t.value||!ko(c)&&e.value.length<=c&&t.value});return{isDisabled:xr(C(()=>(o==null?void 0:o.disabled.value)||r.value)),isLimitDisabled:r}},eG=(e,{model:t,isLimitExceeded:o,hasOwnLabel:r,isDisabled:l,isLabeledByFormItem:n})=>{const a=Ge(os,void 0),{formItem:i}=sr(),{emit:c}=wt();function d(m){var f,_,g,y;return[!0,e.trueValue,e.trueLabel].includes(m)?(_=(f=e.trueValue)!=null?f:e.trueLabel)!=null?_:!0:(y=(g=e.falseValue)!=null?g:e.falseLabel)!=null?y:!1}function u(m,f){c("change",d(m),f)}function p(m){if(o.value)return;const f=m.target;c("change",d(f.checked),m)}async function h(m){o.value||!r.value&&!l.value&&n.value&&(m.composedPath().some(g=>g.tagName==="LABEL")||(t.value=d([!1,e.falseValue,e.falseLabel].includes(t.value)),await et(),u(t.value,m)))}const v=C(()=>(a==null?void 0:a.validateEvent)||e.validateEvent);return Se(()=>e.modelValue,()=>{v.value&&(i==null||i.validate("change").catch(m=>void 0))}),{handleChange:p,onClickRoot:h}},tG=e=>{const t=D(!1),{emit:o}=wt(),r=Ge(os,void 0),l=C(()=>ko(r)===!1),n=D(!1),a=C({get(){var i,c;return l.value?(i=r==null?void 0:r.modelValue)==null?void 0:i.value:(c=e.modelValue)!=null?c:t.value},set(i){var c,d;l.value&&Ke(i)?(n.value=((c=r==null?void 0:r.max)==null?void 0:c.value)!==void 0&&i.length>(r==null?void 0:r.max.value)&&i.length>a.value.length,n.value===!1&&((d=r==null?void 0:r.changeEvent)==null||d.call(r,i))):(o(St,i),t.value=i)}});return{model:a,isGroup:l,isLimitExceeded:n}},oG=(e,t,{model:o})=>{const r=Ge(os,void 0),l=D(!1),n=C(()=>Na(e.value)?e.label:e.value),a=C(()=>{const u=o.value;return Co(u)?u:Ke(u)?xt(n.value)?u.map(jt).some(p=>nr(p,n.value)):u.map(jt).includes(n.value):u!=null?u===e.trueValue||u===e.trueLabel:!!u}),i=So(C(()=>{var u;return(u=r==null?void 0:r.size)==null?void 0:u.value}),{prop:!0}),c=So(C(()=>{var u;return(u=r==null?void 0:r.size)==null?void 0:u.value})),d=C(()=>!!t.default||!Na(n.value));return{checkboxButtonSize:i,isChecked:a,isFocused:l,checkboxSize:c,hasOwnLabel:d,actualValue:n}},Nw=(e,t)=>{const{formItem:o}=sr(),{model:r,isGroup:l,isLimitExceeded:n}=tG(e),{isFocused:a,isChecked:i,checkboxButtonSize:c,checkboxSize:d,hasOwnLabel:u,actualValue:p}=oG(e,t,{model:r}),{isDisabled:h}=QY({model:r,isChecked:i}),{inputId:v,isLabeledByFormItem:m}=bl(e,{formItemContext:o,disableIdGeneration:u,disableIdManagement:l}),{handleChange:f,onClickRoot:_}=eG(e,{model:r,isLimitExceeded:n,hasOwnLabel:u,isDisabled:h,isLabeledByFormItem:m});return(()=>{function y(){var w,x;Ke(r.value)&&!r.value.includes(p.value)?r.value.push(p.value):r.value=(x=(w=e.trueValue)!=null?w:e.trueLabel)!=null?x:!0}e.checked&&y()})(),Lo({from:"controls",replacement:"aria-controls",version:"2.8.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},C(()=>!!e.controls)),Lo({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},C(()=>l.value&&Na(e.value))),Lo({from:"true-label",replacement:"true-value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},C(()=>!!e.trueLabel)),Lo({from:"false-label",replacement:"false-value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},C(()=>!!e.falseLabel)),{inputId:v,isLabeledByFormItem:m,isChecked:i,isDisabled:h,isFocused:a,checkboxButtonSize:c,checkboxSize:d,hasOwnLabel:u,model:r,actualValue:p,handleChange:f,onClickRoot:_}},rG=["id","indeterminate","name","tabindex","disabled","true-value","false-value"],lG=["id","indeterminate","disabled","value","name","tabindex"],nG=N({...N({name:"ElCheckbox"}),props:Iw,emits:Ow,setup(e){const t=e,o=Do(),{inputId:r,isLabeledByFormItem:l,isChecked:n,isDisabled:a,isFocused:i,checkboxSize:c,hasOwnLabel:d,model:u,actualValue:p,handleChange:h,onClickRoot:v}=Nw(t,o),m=ze("checkbox"),f=C(()=>[m.b(),m.m(c.value),m.is("disabled",a.value),m.is("bordered",t.border),m.is("checked",n.value)]),_=C(()=>[m.e("input"),m.is("disabled",a.value),m.is("checked",n.value),m.is("indeterminate",t.indeterminate),m.is("focus",i.value)]);return(g,y)=>(b(),he(Et(!s(d)&&s(l)?"span":"label"),{class:O(s(f)),"aria-controls":g.indeterminate?g.controls||g.ariaControls:null,onClick:s(v)},{default:le(()=>{var w,x;return[E("span",{class:O(s(_))},[g.trueValue||g.falseValue||g.trueLabel||g.falseLabel?mt((b(),M("input",{key:0,id:s(r),"onUpdate:modelValue":y[0]||(y[0]=$=>Zt(u)?u.value=$:null),class:O(s(m).e("original")),type:"checkbox",indeterminate:g.indeterminate,name:g.name,tabindex:g.tabindex,disabled:s(a),"true-value":(w=g.trueValue)!=null?w:g.trueLabel,"false-value":(x=g.falseValue)!=null?x:g.falseLabel,onChange:y[1]||(y[1]=(...$)=>s(h)&&s(h)(...$)),onFocus:y[2]||(y[2]=$=>i.value=!0),onBlur:y[3]||(y[3]=$=>i.value=!1),onClick:y[4]||(y[4]=ct(()=>{},["stop"]))},null,42,rG)),[[Gu,s(u)]]):mt((b(),M("input",{key:1,id:s(r),"onUpdate:modelValue":y[5]||(y[5]=$=>Zt(u)?u.value=$:null),class:O(s(m).e("original")),type:"checkbox",indeterminate:g.indeterminate,disabled:s(a),value:s(p),name:g.name,tabindex:g.tabindex,onChange:y[6]||(y[6]=(...$)=>s(h)&&s(h)(...$)),onFocus:y[7]||(y[7]=$=>i.value=!0),onBlur:y[8]||(y[8]=$=>i.value=!1),onClick:y[9]||(y[9]=ct(()=>{},["stop"]))},null,42,lG)),[[Gu,s(u)]]),E("span",{class:O(s(m).e("inner"))},null,2)],2),s(d)?(b(),M("span",{key:0,class:O(s(m).e("label"))},[be(g.$slots,"default"),g.$slots.default?se("v-if",!0):(b(),M(Qe,{key:0},[Ct($e(g.label),1)],64))],2)):se("v-if",!0)]}),_:3},8,["class","aria-controls","onClick"]))}});var aG=Le(nG,[["__file","checkbox.vue"]]);const iG=["name","tabindex","disabled","true-value","false-value"],sG=["name","tabindex","disabled","value"],cG=N({...N({name:"ElCheckboxButton"}),props:Iw,emits:Ow,setup(e){const t=e,o=Do(),{isFocused:r,isChecked:l,isDisabled:n,checkboxButtonSize:a,model:i,actualValue:c,handleChange:d}=Nw(t,o),u=Ge(os,void 0),p=ze("checkbox"),h=C(()=>{var m,f,_,g;const y=(f=(m=u==null?void 0:u.fill)==null?void 0:m.value)!=null?f:"";return{backgroundColor:y,borderColor:y,color:(g=(_=u==null?void 0:u.textColor)==null?void 0:_.value)!=null?g:"",boxShadow:y?`-1px 0 0 0 ${y}`:void 0}}),v=C(()=>[p.b("button"),p.bm("button",a.value),p.is("disabled",n.value),p.is("checked",l.value),p.is("focus",r.value)]);return(m,f)=>{var _,g;return b(),M("label",{class:O(s(v))},[m.trueValue||m.falseValue||m.trueLabel||m.falseLabel?mt((b(),M("input",{key:0,"onUpdate:modelValue":f[0]||(f[0]=y=>Zt(i)?i.value=y:null),class:O(s(p).be("button","original")),type:"checkbox",name:m.name,tabindex:m.tabindex,disabled:s(n),"true-value":(_=m.trueValue)!=null?_:m.trueLabel,"false-value":(g=m.falseValue)!=null?g:m.falseLabel,onChange:f[1]||(f[1]=(...y)=>s(d)&&s(d)(...y)),onFocus:f[2]||(f[2]=y=>r.value=!0),onBlur:f[3]||(f[3]=y=>r.value=!1),onClick:f[4]||(f[4]=ct(()=>{},["stop"]))},null,42,iG)),[[Gu,s(i)]]):mt((b(),M("input",{key:1,"onUpdate:modelValue":f[5]||(f[5]=y=>Zt(i)?i.value=y:null),class:O(s(p).be("button","original")),type:"checkbox",name:m.name,tabindex:m.tabindex,disabled:s(n),value:s(c),onChange:f[6]||(f[6]=(...y)=>s(d)&&s(d)(...y)),onFocus:f[7]||(f[7]=y=>r.value=!0),onBlur:f[8]||(f[8]=y=>r.value=!1),onClick:f[9]||(f[9]=ct(()=>{},["stop"]))},null,42,sG)),[[Gu,s(i)]]),m.$slots.default||m.label?(b(),M("span",{key:2,class:O(s(p).be("button","inner")),style:Je(s(l)?s(h):void 0)},[be(m.$slots,"default",{},()=>[Ct($e(m.label),1)])],6)):se("v-if",!0)],2)}}});var Pw=Le(cG,[["__file","checkbox-button.vue"]]);const uG=Pe({modelValue:{type:ue(Array),default:()=>[]},disabled:Boolean,min:Number,max:Number,size:Oo,label:String,fill:String,textColor:String,tag:{type:String,default:"div"},validateEvent:{type:Boolean,default:!0},...Zo(["ariaLabel"])}),dG={[St]:e=>Ke(e),change:e=>Ke(e)},pG=N({...N({name:"ElCheckboxGroup"}),props:uG,emits:dG,setup(e,{emit:t}){const o=e,r=ze("checkbox"),{formItem:l}=sr(),{inputId:n,isLabeledByFormItem:a}=bl(o,{formItemContext:l}),i=async d=>{t(St,d),await et(),t("change",d)},c=C({get(){return o.modelValue},set(d){i(d)}});return zt(os,{...Ol(Bo(o),["size","min","max","disabled","validateEvent","fill","textColor"]),modelValue:c,changeEvent:i}),Lo({from:"label",replacement:"aria-label",version:"2.8.0",scope:"el-checkbox-group",ref:"https://element-plus.org/en-US/component/checkbox.html"},C(()=>!!o.label)),Se(()=>o.modelValue,()=>{o.validateEvent&&(l==null||l.validate("change").catch(d=>void 0))}),(d,u)=>{var p;return b(),he(Et(d.tag),{id:s(n),class:O(s(r).b("group")),role:"group","aria-label":s(a)?void 0:d.label||d.ariaLabel||"checkbox-group","aria-labelledby":s(a)?(p=s(l))==null?void 0:p.labelId:void 0},{default:le(()=>[be(d.$slots,"default")]),_:3},8,["id","class","aria-label","aria-labelledby"])}}});var Rw=Le(pG,[["__file","checkbox-group.vue"]]);const rl=yt(aG,{CheckboxButton:Pw,CheckboxGroup:Rw}),fG=co(Pw),Lw=co(Rw),Bw=Pe({modelValue:{type:[String,Number,Boolean],default:void 0},size:Oo,disabled:Boolean,label:{type:[String,Number,Boolean],default:void 0},value:{type:[String,Number,Boolean],default:void 0},name:{type:String,default:void 0}}),hG=Pe({...Bw,border:Boolean}),Vw={[St]:e=>ut(e)||st(e)||Co(e),[ro]:e=>ut(e)||st(e)||Co(e)},Dw=Symbol("radioGroupKey"),Hw=(e,t)=>{const o=D(),r=Ge(Dw,void 0),l=C(()=>!!r),n=C(()=>Na(e.value)?e.label:e.value),a=C({get(){return l.value?r.modelValue:e.modelValue},set(p){l.value?r.changeEvent(p):t&&t(St,p),o.value.checked=e.modelValue===n.value}}),i=So(C(()=>r==null?void 0:r.size)),c=xr(C(()=>r==null?void 0:r.disabled)),d=D(!1),u=C(()=>c.value||l.value&&a.value!==n.value?-1:0);return Lo({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-radio",ref:"https://element-plus.org/en-US/component/radio.html"},C(()=>l.value&&Na(e.value))),{radioRef:o,isGroup:l,radioGroup:r,focus:d,size:i,disabled:c,tabIndex:u,modelValue:a,actualValue:n}},vG=["value","name","disabled"],mG=N({...N({name:"ElRadio"}),props:hG,emits:Vw,setup(e,{emit:t}){const o=e,r=ze("radio"),{radioRef:l,radioGroup:n,focus:a,size:i,disabled:c,modelValue:d,actualValue:u}=Hw(o,t);function p(){et(()=>t("change",d.value))}return(h,v)=>{var m;return b(),M("label",{class:O([s(r).b(),s(r).is("disabled",s(c)),s(r).is("focus",s(a)),s(r).is("bordered",h.border),s(r).is("checked",s(d)===s(u)),s(r).m(s(i))])},[E("span",{class:O([s(r).e("input"),s(r).is("disabled",s(c)),s(r).is("checked",s(d)===s(u))])},[mt(E("input",{ref_key:"radioRef",ref:l,"onUpdate:modelValue":v[0]||(v[0]=f=>Zt(d)?d.value=f:null),class:O(s(r).e("original")),value:s(u),name:h.name||((m=s(n))==null?void 0:m.name),disabled:s(c),type:"radio",onFocus:v[1]||(v[1]=f=>a.value=!0),onBlur:v[2]||(v[2]=f=>a.value=!1),onChange:p,onClick:v[3]||(v[3]=ct(()=>{},["stop"]))},null,42,vG),[[P1,s(d)]]),E("span",{class:O(s(r).e("inner"))},null,2)],2),E("span",{class:O(s(r).e("label")),onKeydown:v[4]||(v[4]=ct(()=>{},["stop"]))},[be(h.$slots,"default",{},()=>[Ct($e(h.label),1)])],34)],2)}}});var gG=Le(mG,[["__file","radio.vue"]]);const bG=Pe({...Bw}),_G=["value","name","disabled"],wG=N({...N({name:"ElRadioButton"}),props:bG,setup(e){const t=e,o=ze("radio"),{radioRef:r,focus:l,size:n,disabled:a,modelValue:i,radioGroup:c,actualValue:d}=Hw(t),u=C(()=>({backgroundColor:(c==null?void 0:c.fill)||"",borderColor:(c==null?void 0:c.fill)||"",boxShadow:c!=null&&c.fill?`-1px 0 0 0 ${c.fill}`:"",color:(c==null?void 0:c.textColor)||""}));return(p,h)=>{var v;return b(),M("label",{class:O([s(o).b("button"),s(o).is("active",s(i)===s(d)),s(o).is("disabled",s(a)),s(o).is("focus",s(l)),s(o).bm("button",s(n))])},[mt(E("input",{ref_key:"radioRef",ref:r,"onUpdate:modelValue":h[0]||(h[0]=m=>Zt(i)?i.value=m:null),class:O(s(o).be("button","original-radio")),value:s(d),type:"radio",name:p.name||((v=s(c))==null?void 0:v.name),disabled:s(a),onFocus:h[1]||(h[1]=m=>l.value=!0),onBlur:h[2]||(h[2]=m=>l.value=!1),onClick:h[3]||(h[3]=ct(()=>{},["stop"]))},null,42,_G),[[P1,s(i)]]),E("span",{class:O(s(o).be("button","inner")),style:Je(s(i)===s(d)?s(u):{}),onKeydown:h[4]||(h[4]=ct(()=>{},["stop"]))},[be(p.$slots,"default",{},()=>[Ct($e(p.label),1)])],38)],2)}}});var Fw=Le(wG,[["__file","radio-button.vue"]]);const yG=Pe({id:{type:String,default:void 0},size:Oo,disabled:Boolean,modelValue:{type:[String,Number,Boolean],default:void 0},fill:{type:String,default:""},label:{type:String,default:void 0},textColor:{type:String,default:""},name:{type:String,default:void 0},validateEvent:{type:Boolean,default:!0},...Zo(["ariaLabel"])}),xG=Vw,kG=["id","aria-label","aria-labelledby"],CG=N({...N({name:"ElRadioGroup"}),props:yG,emits:xG,setup(e,{emit:t}){const o=e,r=ze("radio"),l=Qo(),n=D(),{formItem:a}=sr(),{inputId:i,isLabeledByFormItem:c}=bl(o,{formItemContext:a}),d=p=>{t(St,p),et(()=>t("change",p))};ft(()=>{const p=n.value.querySelectorAll("[type=radio]"),h=p[0];!Array.from(p).some(v=>v.checked)&&h&&(h.tabIndex=0)});const u=C(()=>o.name||l.value);return zt(Dw,Dt({...Bo(o),changeEvent:d,name:u})),Se(()=>o.modelValue,()=>{o.validateEvent&&(a==null||a.validate("change").catch(p=>void 0))}),Lo({from:"label",replacement:"aria-label",version:"2.8.0",scope:"el-radio-group",ref:"https://element-plus.org/en-US/component/radio.html"},C(()=>!!o.label)),(p,h)=>(b(),M("div",{id:s(i),ref_key:"radioGroupRef",ref:n,class:O(s(r).b("group")),role:"radiogroup","aria-label":s(c)?void 0:p.label||p.ariaLabel||"radio-group","aria-labelledby":s(c)?s(a).labelId:void 0},[be(p.$slots,"default")],10,kG))}});var jw=Le(CG,[["__file","radio-group.vue"]]);const Kw=yt(gG,{RadioButton:Fw,RadioGroup:jw}),SG=co(jw),EG=co(Fw);var TG=N({name:"NodeContent",setup(){return{ns:ze("cascader-node")}},render(){const{ns:e}=this,{node:t,panel:o}=this.$parent,{data:r,label:l}=t,{renderLabelFn:n}=o;return rt("span",{class:e.e("label")},n?n({node:t,data:r}):l)}});const Iv=Symbol(),$G=N({name:"ElCascaderNode",components:{ElCheckbox:rl,ElRadio:Kw,NodeContent:TG,ElIcon:Ze,Check:Li,Loading:vn,ArrowRight:ir},props:{node:{type:Object,required:!0},menuId:String},emits:["expand"],setup(e,{emit:t}){const o=Ge(Iv),r=ze("cascader-node"),l=C(()=>o.isHoverMenu),n=C(()=>o.config.multiple),a=C(()=>o.config.checkStrictly),i=C(()=>{var T;return(T=o.checkedNodes[0])==null?void 0:T.uid}),c=C(()=>e.node.isDisabled),d=C(()=>e.node.isLeaf),u=C(()=>a.value&&!d.value||!c.value),p=C(()=>v(o.expandingNode)),h=C(()=>a.value&&o.checkedNodes.some(v)),v=T=>{var R;const{level:P,uid:L}=e.node;return((R=T==null?void 0:T.pathNodes[P-1])==null?void 0:R.uid)===L},m=()=>{p.value||o.expandNode(e.node)},f=T=>{const{node:R}=e;T!==R.checked&&o.handleCheckChange(R,T)},_=()=>{o.lazyLoad(e.node,()=>{d.value||m()})},g=T=>{l.value&&(y(),!d.value&&t("expand",T))},y=()=>{const{node:T}=e;!u.value||T.loading||(T.loaded?m():_())},w=()=>{l.value&&!d.value||(d.value&&!c.value&&!a.value&&!n.value?$(!0):y())},x=T=>{a.value?(f(T),e.node.loaded&&m()):$(T)},$=T=>{e.node.loaded?(f(T),!a.value&&m()):_()};return{panel:o,isHoverMenu:l,multiple:n,checkStrictly:a,checkedNodeId:i,isDisabled:c,isLeaf:d,expandable:u,inExpandingPath:p,inCheckedPath:h,ns:r,handleHoverExpand:g,handleExpand:y,handleClick:w,handleCheck:$,handleSelectCheck:x}}}),MG=["id","aria-haspopup","aria-owns","aria-expanded","tabindex"],AG=E("span",null,null,-1);function zG(e,t,o,r,l,n){const a=nt("el-checkbox"),i=nt("el-radio"),c=nt("check"),d=nt("el-icon"),u=nt("node-content"),p=nt("loading"),h=nt("arrow-right");return b(),M("li",{id:`${e.menuId}-${e.node.uid}`,role:"menuitem","aria-haspopup":!e.isLeaf,"aria-owns":e.isLeaf?null:e.menuId,"aria-expanded":e.inExpandingPath,tabindex:e.expandable?-1:void 0,class:O([e.ns.b(),e.ns.is("selectable",e.checkStrictly),e.ns.is("active",e.node.checked),e.ns.is("disabled",!e.expandable),e.inExpandingPath&&"in-active-path",e.inCheckedPath&&"in-checked-path"]),onMouseenter:t[2]||(t[2]=(...v)=>e.handleHoverExpand&&e.handleHoverExpand(...v)),onFocus:t[3]||(t[3]=(...v)=>e.handleHoverExpand&&e.handleHoverExpand(...v)),onClick:t[4]||(t[4]=(...v)=>e.handleClick&&e.handleClick(...v))},[se(" prefix "),e.multiple?(b(),he(a,{key:0,"model-value":e.node.checked,indeterminate:e.node.indeterminate,disabled:e.isDisabled,onClick:t[0]||(t[0]=ct(()=>{},["stop"])),"onUpdate:modelValue":e.handleSelectCheck},null,8,["model-value","indeterminate","disabled","onUpdate:modelValue"])):e.checkStrictly?(b(),he(i,{key:1,"model-value":e.checkedNodeId,label:e.node.uid,disabled:e.isDisabled,"onUpdate:modelValue":e.handleSelectCheck,onClick:t[1]||(t[1]=ct(()=>{},["stop"]))},{default:le(()=>[se(` +*/const rY=function(e,t){if(e&&e.addEventListener){const o=function(r){const l=oY(r);t&&Reflect.apply(t,this,[r,l])};e.addEventListener("wheel",o,{passive:!0})}},lY={beforeMount(e,t){rY(e,t.value)}},nY=Pe({role:{type:String,required:!0},spinnerDate:{type:ue(Object),required:!0},showSeconds:{type:Boolean,default:!0},arrowControl:Boolean,amPmMode:{type:ue(String),default:""},...nw}),aY=["onClick"],iY=["onMouseenter"];var zv=Le(N({__name:"basic-time-spinner",props:nY,emits:["change","select-range","set-option"],setup(e,{emit:t}){const o=e,r=ze("time"),{getHoursList:l,getMinutesList:n,getSecondsList:a}=cw(o.disabledHours,o.disabledMinutes,o.disabledSeconds);let i=!1;const c=D(),d=D(),u=D(),p=D(),h={hours:d,minutes:u,seconds:p},v=C(()=>o.showSeconds?J4:J4.slice(0,2)),m=C(()=>{const{spinnerDate:I}=o,U=I.hour(),oe=I.minute(),ne=I.second();return{hours:U,minutes:oe,seconds:ne}}),f=C(()=>{const{hours:I,minutes:U}=s(m);return{hours:l(o.role),minutes:n(I,o.role),seconds:a(I,U,o.role)}}),_=C(()=>{const{hours:I,minutes:U,seconds:oe}=s(m);return{hours:bv(I,23),minutes:bv(U,59),seconds:bv(oe,59)}}),g=Mr(I=>{i=!1,x(I)},200),y=I=>{if(!!!o.amPmMode)return"";const oe=o.amPmMode==="A";let ne=I<12?" am":" pm";return oe&&(ne=ne.toUpperCase()),ne},w=I=>{let U;switch(I){case"hours":U=[0,2];break;case"minutes":U=[3,5];break;case"seconds":U=[6,8];break}const[oe,ne]=U;t("select-range",oe,ne),c.value=I},x=I=>{R(I,s(m)[I])},$=()=>{x("hours"),x("minutes"),x("seconds")},T=I=>I.querySelector(`.${r.namespace.value}-scrollbar__wrap`),R=(I,U)=>{if(o.arrowControl)return;const oe=s(h[I]);oe&&oe.$el&&(T(oe.$el).scrollTop=Math.max(0,U*P(I)))},P=I=>{const U=s(h[I]),oe=U==null?void 0:U.$el.querySelector("li");return oe&&Number.parseFloat(Zn(oe,"height"))||0},L=()=>{B(1)},V=()=>{B(-1)},B=I=>{c.value||w("hours");const U=c.value,oe=s(m)[U],ne=c.value==="hours"?24:60,ce=j(U,oe,I,ne);te(U,ce),R(U,ce),et(()=>w(U))},j=(I,U,oe,ne)=>{let ce=(U+oe+ne)%ne;const Q=s(f)[I];for(;Q[ce]&&ce!==U;)ce=(ce+oe+ne)%ne;return ce},te=(I,U)=>{if(s(f)[I][U])return;const{hours:ce,minutes:Q,seconds:Me}=s(m);let de;switch(I){case"hours":de=o.spinnerDate.hour(U).minute(Q).second(Me);break;case"minutes":de=o.spinnerDate.hour(ce).minute(U).second(Me);break;case"seconds":de=o.spinnerDate.hour(ce).minute(Q).second(U);break}t("change",de)},J=(I,{value:U,disabled:oe})=>{oe||(te(I,U),w(I),R(I,U))},Z=I=>{i=!0,g(I);const U=Math.min(Math.round((T(s(h[I]).$el).scrollTop-(H(I)*.5-10)/P(I)+3)/P(I)),I==="hours"?23:59);te(I,U)},H=I=>s(h[I]).$el.offsetHeight,F=()=>{const I=U=>{const oe=s(h[U]);oe&&oe.$el&&(T(oe.$el).onscroll=()=>{Z(U)})};I("hours"),I("minutes"),I("seconds")};ft(()=>{et(()=>{!o.arrowControl&&F(),$(),o.role==="start"&&w("hours")})});const K=(I,U)=>{h[U].value=I};return t("set-option",[`${o.role}_scrollDown`,B]),t("set-option",[`${o.role}_emitSelectRange`,w]),Se(()=>o.spinnerDate,()=>{i||$()}),(I,U)=>(b(),M("div",{class:O([s(r).b("spinner"),{"has-seconds":I.showSeconds}])},[I.arrowControl?se("v-if",!0):(b(!0),M(Qe,{key:0},It(s(v),oe=>(b(),he(s(wn),{key:oe,ref_for:!0,ref:ne=>K(ne,oe),class:O(s(r).be("spinner","wrapper")),"wrap-style":"max-height: inherit;","view-class":s(r).be("spinner","list"),noresize:"",tag:"ul",onMouseenter:ne=>w(oe),onMousemove:ne=>x(oe)},{default:le(()=>[(b(!0),M(Qe,null,It(s(f)[oe],(ne,ce)=>(b(),M("li",{key:ce,class:O([s(r).be("spinner","item"),s(r).is("active",ce===s(m)[oe]),s(r).is("disabled",ne)]),onClick:Q=>J(oe,{value:ce,disabled:ne})},[oe==="hours"?(b(),M(Qe,{key:0},[Ct($e(("0"+(I.amPmMode?ce%12||12:ce)).slice(-2))+$e(y(ce)),1)],64)):(b(),M(Qe,{key:1},[Ct($e(("0"+ce).slice(-2)),1)],64))],10,aY))),128))]),_:2},1032,["class","view-class","onMouseenter","onMousemove"]))),128)),I.arrowControl?(b(!0),M(Qe,{key:1},It(s(v),oe=>(b(),M("div",{key:oe,class:O([s(r).be("spinner","wrapper"),s(r).is("arrow")]),onMouseenter:ne=>w(oe)},[mt((b(),he(s(Ze),{class:O(["arrow-up",s(r).be("spinner","arrow")])},{default:le(()=>[ee(s(Ad))]),_:1},8,["class"])),[[s(ap),V]]),mt((b(),he(s(Ze),{class:O(["arrow-down",s(r).be("spinner","arrow")])},{default:le(()=>[ee(s(Pl))]),_:1},8,["class"])),[[s(ap),L]]),E("ul",{class:O(s(r).be("spinner","list"))},[(b(!0),M(Qe,null,It(s(_)[oe],(ne,ce)=>(b(),M("li",{key:ce,class:O([s(r).be("spinner","item"),s(r).is("active",ne===s(m)[oe]),s(r).is("disabled",s(f)[oe][ne])])},[typeof ne=="number"?(b(),M(Qe,{key:0},[oe==="hours"?(b(),M(Qe,{key:0},[Ct($e(("0"+(I.amPmMode?ne%12||12:ne)).slice(-2))+$e(y(ne)),1)],64)):(b(),M(Qe,{key:1},[Ct($e(("0"+ne).slice(-2)),1)],64))],64)):se("v-if",!0)],2))),128))],2)],42,iY))),128)):se("v-if",!0)],2))}}),[["__file","basic-time-spinner.vue"]]),dp=Le(N({__name:"panel-time-pick",props:Yq,emits:["pick","select-range","set-picker-option"],setup(e,{emit:t}){const o=e,r=Ge("EP_PICKER_BASE"),{arrowControl:l,disabledHours:n,disabledMinutes:a,disabledSeconds:i,defaultValue:c}=r.props,{getAvailableHours:d,getAvailableMinutes:u,getAvailableSeconds:p}=uw(n,a,i),h=ze("time"),{t:v,lang:m}=Rt(),f=D([0,2]),_=dw(o),g=C(()=>ko(o.actualVisible)?`${h.namespace.value}-zoom-in-top`:""),y=C(()=>o.format.includes("ss")),w=C(()=>o.format.includes("A")?"A":o.format.includes("a")?"a":""),x=K=>{const I=kt(K).locale(m.value),U=J(I);return I.isSame(U)},$=()=>{t("pick",_.value,!1)},T=(K=!1,I=!1)=>{I||t("pick",o.parsedValue,K)},R=K=>{if(!o.visible)return;const I=J(K).millisecond(0);t("pick",I,!0)},P=(K,I)=>{t("select-range",K,I),f.value=[K,I]},L=K=>{const I=[0,3].concat(y.value?[6]:[]),U=["hours","minutes"].concat(y.value?["seconds"]:[]),ne=(I.indexOf(f.value[0])+K+I.length)%I.length;B.start_emitSelectRange(U[ne])},V=K=>{const I=K.code,{left:U,right:oe,up:ne,down:ce}=lt;if([U,oe].includes(I)){L(I===U?-1:1),K.preventDefault();return}if([ne,ce].includes(I)){const Q=I===ne?-1:1;B.start_scrollDown(Q),K.preventDefault();return}},{timePickerOptions:B,onSetOption:j,getAvailableTime:te}=sw({getAvailableHours:d,getAvailableMinutes:u,getAvailableSeconds:p}),J=K=>te(K,o.datetimeRole||"",!0),Z=K=>K?kt(K,o.format).locale(m.value):null,H=K=>K?K.format(o.format):null,F=()=>kt(c).locale(m.value);return t("set-picker-option",["isValidValue",x]),t("set-picker-option",["formatToString",H]),t("set-picker-option",["parseUserInput",Z]),t("set-picker-option",["handleKeydownInput",V]),t("set-picker-option",["getRangeAvailableTime",J]),t("set-picker-option",["getDefaultValue",F]),(K,I)=>(b(),he(Mo,{name:s(g)},{default:le(()=>[K.actualVisible||K.visible?(b(),M("div",{key:0,class:O(s(h).b("panel"))},[E("div",{class:O([s(h).be("panel","content"),{"has-seconds":s(y)}])},[ee(zv,{ref:"spinner",role:K.datetimeRole||"start","arrow-control":s(l),"show-seconds":s(y),"am-pm-mode":s(w),"spinner-date":K.parsedValue,"disabled-hours":s(n),"disabled-minutes":s(a),"disabled-seconds":s(i),onChange:R,onSetOption:s(j),onSelectRange:P},null,8,["role","arrow-control","show-seconds","am-pm-mode","spinner-date","disabled-hours","disabled-minutes","disabled-seconds","onSetOption"])],2),E("div",{class:O(s(h).be("panel","footer"))},[E("button",{type:"button",class:O([s(h).be("panel","btn"),"cancel"]),onClick:$},$e(s(v)("el.datepicker.cancel")),3),E("button",{type:"button",class:O([s(h).be("panel","btn"),"confirm"]),onClick:I[0]||(I[0]=U=>T())},$e(s(v)("el.datepicker.confirm")),3)],2)],2)):se("v-if",!0)]),_:1},8,["name"]))}}),[["__file","panel-time-pick.vue"]]);const sY=Pe({...aw,parsedValue:{type:ue(Array)}}),cY=["disabled"];var uY=Le(N({__name:"panel-time-range",props:sY,emits:["pick","select-range","set-picker-option"],setup(e,{emit:t}){const o=e,r=(Ee,De)=>{const ae=[];for(let pe=Ee;pe<=De;pe++)ae.push(pe);return ae},{t:l,lang:n}=Rt(),a=ze("time"),i=ze("picker"),c=Ge("EP_PICKER_BASE"),{arrowControl:d,disabledHours:u,disabledMinutes:p,disabledSeconds:h,defaultValue:v}=c.props,m=C(()=>[a.be("range-picker","body"),a.be("panel","content"),a.is("arrow",d),x.value?"has-seconds":""]),f=C(()=>[a.be("range-picker","body"),a.be("panel","content"),a.is("arrow",d),x.value?"has-seconds":""]),_=C(()=>o.parsedValue[0]),g=C(()=>o.parsedValue[1]),y=dw(o),w=()=>{t("pick",y.value,!1)},x=C(()=>o.format.includes("ss")),$=C(()=>o.format.includes("A")?"A":o.format.includes("a")?"a":""),T=(Ee=!1)=>{t("pick",[_.value,g.value],Ee)},R=Ee=>{V(Ee.millisecond(0),g.value)},P=Ee=>{V(_.value,Ee.millisecond(0))},L=Ee=>{const De=Ee.map(pe=>kt(pe).locale(n.value)),ae=oe(De);return De[0].isSame(ae[0])&&De[1].isSame(ae[1])},V=(Ee,De)=>{t("pick",[Ee,De],!0)},B=C(()=>_.value>g.value),j=D([0,2]),te=(Ee,De)=>{t("select-range",Ee,De,"min"),j.value=[Ee,De]},J=C(()=>x.value?11:8),Z=(Ee,De)=>{t("select-range",Ee,De,"max");const ae=s(J);j.value=[Ee+ae,De+ae]},H=Ee=>{const De=x.value?[0,3,6,11,14,17]:[0,3,8,11],ae=["hours","minutes"].concat(x.value?["seconds"]:[]),ke=(De.indexOf(j.value[0])+Ee+De.length)%De.length,Oe=De.length/2;ke{const De=Ee.code,{left:ae,right:pe,up:ke,down:Oe}=lt;if([ae,pe].includes(De)){H(De===ae?-1:1),Ee.preventDefault();return}if([ke,Oe].includes(De)){const we=De===ke?-1:1,Te=j.value[0]{const ae=u?u(Ee):[],pe=Ee==="start",Oe=(De||(pe?g.value:_.value)).hour(),we=pe?r(Oe+1,23):r(0,Oe-1);return sh(ae,we)},I=(Ee,De,ae)=>{const pe=p?p(Ee,De):[],ke=De==="start",Oe=ae||(ke?g.value:_.value),we=Oe.hour();if(Ee!==we)return pe;const Te=Oe.minute(),Ne=ke?r(Te+1,59):r(0,Te-1);return sh(pe,Ne)},U=(Ee,De,ae,pe)=>{const ke=h?h(Ee,De,ae):[],Oe=ae==="start",we=pe||(Oe?g.value:_.value),Te=we.hour(),Ne=we.minute();if(Ee!==Te||De!==Ne)return ke;const Ie=we.second(),Ae=Oe?r(Ie+1,59):r(0,Ie-1);return sh(ke,Ae)},oe=([Ee,De])=>[de(Ee,"start",!0,De),de(De,"end",!1,Ee)],{getAvailableHours:ne,getAvailableMinutes:ce,getAvailableSeconds:Q}=uw(K,I,U),{timePickerOptions:Me,getAvailableTime:de,onSetOption:_e}=sw({getAvailableHours:ne,getAvailableMinutes:ce,getAvailableSeconds:Q}),me=Ee=>Ee?Ke(Ee)?Ee.map(De=>kt(De,o.format).locale(n.value)):kt(Ee,o.format).locale(n.value):null,Re=Ee=>Ee?Ke(Ee)?Ee.map(De=>De.format(o.format)):Ee.format(o.format):null,Ce=()=>{if(Ke(v))return v.map(De=>kt(De).locale(n.value));const Ee=kt(v).locale(n.value);return[Ee,Ee.add(60,"m")]};return t("set-picker-option",["formatToString",Re]),t("set-picker-option",["parseUserInput",me]),t("set-picker-option",["isValidValue",L]),t("set-picker-option",["handleKeydownInput",F]),t("set-picker-option",["getDefaultValue",Ce]),t("set-picker-option",["getRangeAvailableTime",oe]),(Ee,De)=>Ee.actualVisible?(b(),M("div",{key:0,class:O([s(a).b("range-picker"),s(i).b("panel")])},[E("div",{class:O(s(a).be("range-picker","content"))},[E("div",{class:O(s(a).be("range-picker","cell"))},[E("div",{class:O(s(a).be("range-picker","header"))},$e(s(l)("el.datepicker.startTime")),3),E("div",{class:O(s(m))},[ee(zv,{ref:"minSpinner",role:"start","show-seconds":s(x),"am-pm-mode":s($),"arrow-control":s(d),"spinner-date":s(_),"disabled-hours":K,"disabled-minutes":I,"disabled-seconds":U,onChange:R,onSetOption:s(_e),onSelectRange:te},null,8,["show-seconds","am-pm-mode","arrow-control","spinner-date","onSetOption"])],2)],2),E("div",{class:O(s(a).be("range-picker","cell"))},[E("div",{class:O(s(a).be("range-picker","header"))},$e(s(l)("el.datepicker.endTime")),3),E("div",{class:O(s(f))},[ee(zv,{ref:"maxSpinner",role:"end","show-seconds":s(x),"am-pm-mode":s($),"arrow-control":s(d),"spinner-date":s(g),"disabled-hours":K,"disabled-minutes":I,"disabled-seconds":U,onChange:P,onSetOption:s(_e),onSelectRange:Z},null,8,["show-seconds","am-pm-mode","arrow-control","spinner-date","onSetOption"])],2)],2)],2),E("div",{class:O(s(a).be("panel","footer"))},[E("button",{type:"button",class:O([s(a).be("panel","btn"),"cancel"]),onClick:De[0]||(De[0]=ae=>w())},$e(s(l)("el.datepicker.cancel")),3),E("button",{type:"button",class:O([s(a).be("panel","btn"),"confirm"]),disabled:s(B),onClick:De[1]||(De[1]=ae=>T())},$e(s(l)("el.datepicker.confirm")),11,cY)],2)],2)):se("v-if",!0)}}),[["__file","panel-time-range.vue"]]);kt.extend(mv);var dY=N({name:"ElTimePicker",install:null,props:{...wv,isRange:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e,t){const o=D(),[r,l]=e.isRange?["timerange",uY]:["time",dp],n=a=>t.emit("update:modelValue",a);return zt("ElPopperOptions",e.popperOptions),t.expose({focus:a=>{var i;(i=o.value)==null||i.handleFocusInput(a)},blur:a=>{var i;(i=o.value)==null||i.handleBlurInput(a)},handleOpen:()=>{var a;(a=o.value)==null||a.handleOpen()},handleClose:()=>{var a;(a=o.value)==null||a.handleClose()}}),()=>{var a;const i=(a=e.format)!=null?a:gv;return ee(iw,Mt(e,{ref:o,type:r,format:i,"onUpdate:modelValue":n}),{default:c=>ee(l,c,null)})}}});const pp=dY;pp.install=e=>{e.component(pp.name,pp)};const pY=pp,fY=(e,t)=>{const o=e.subtract(1,"month").endOf("month").date();return aa(t).map((r,l)=>o-(t-l-1))},hY=e=>{const t=e.daysInMonth();return aa(t).map((o,r)=>r+1)},vY=e=>aa(e.length/7).map(t=>{const o=t*7;return e.slice(o,o+7)}),mY=Pe({selectedDay:{type:ue(Object)},range:{type:ue(Array)},date:{type:ue(Object),required:!0},hideHeader:{type:Boolean}}),gY={pick:e=>xt(e)};var Ew={exports:{}};(function(e,t){(function(o,r){e.exports=r()})(Ao,function(){return function(o,r,l){var n=r.prototype,a=function(p){return p&&(p.indexOf?p:p.s)},i=function(p,h,v,m,f){var _=p.name?p:p.$locale(),g=a(_[h]),y=a(_[v]),w=g||y.map(function($){return $.slice(0,m)});if(!f)return w;var x=_.weekStart;return w.map(function($,T){return w[(T+(x||0))%7]})},c=function(){return l.Ls[l.locale()]},d=function(p,h){return p.formats[h]||function(v){return v.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(m,f,_){return f||_.slice(1)})}(p.formats[h.toUpperCase()])},u=function(){var p=this;return{months:function(h){return h?h.format("MMMM"):i(p,"months")},monthsShort:function(h){return h?h.format("MMM"):i(p,"monthsShort","months",3)},firstDayOfWeek:function(){return p.$locale().weekStart||0},weekdays:function(h){return h?h.format("dddd"):i(p,"weekdays")},weekdaysMin:function(h){return h?h.format("dd"):i(p,"weekdaysMin","weekdays",2)},weekdaysShort:function(h){return h?h.format("ddd"):i(p,"weekdaysShort","weekdays",3)},longDateFormat:function(h){return d(p.$locale(),h)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};n.localeData=function(){return u.bind(this)()},l.localeData=function(){var p=c();return{firstDayOfWeek:function(){return p.weekStart||0},weekdays:function(){return l.weekdays()},weekdaysShort:function(){return l.weekdaysShort()},weekdaysMin:function(){return l.weekdaysMin()},months:function(){return l.months()},monthsShort:function(){return l.monthsShort()},longDateFormat:function(h){return d(p,h)},meridiem:p.meridiem,ordinal:p.ordinal}},l.months=function(){return i(c(),"months")},l.monthsShort=function(){return i(c(),"monthsShort","months",3)},l.weekdays=function(p){return i(c(),"weekdays",null,null,p)},l.weekdaysShort=function(p){return i(c(),"weekdaysShort","weekdays",3,p)},l.weekdaysMin=function(p){return i(c(),"weekdaysMin","weekdays",2,p)}}})})(Ew);var bY=Ew.exports;const Tw=cl(bY),_Y=(e,t)=>{kt.extend(Tw);const o=kt.localeData().firstDayOfWeek(),{t:r,lang:l}=Rt(),n=kt().locale(l.value),a=C(()=>!!e.range&&!!e.range.length),i=C(()=>{let h=[];if(a.value){const[v,m]=e.range,f=aa(m.date()-v.date()+1).map(y=>({text:v.date()+y,type:"current"}));let _=f.length%7;_=_===0?0:7-_;const g=aa(_).map((y,w)=>({text:w+1,type:"next"}));h=f.concat(g)}else{const v=e.date.startOf("month").day(),m=fY(e.date,(v-o+7)%7).map(y=>({text:y,type:"prev"})),f=hY(e.date).map(y=>({text:y,type:"current"}));h=[...m,...f];const _=7-(h.length%7||7),g=aa(_).map((y,w)=>({text:w+1,type:"next"}));h=h.concat(g)}return vY(h)}),c=C(()=>{const h=o;return h===0?wh.map(v=>r(`el.datepicker.weeks.${v}`)):wh.slice(h).concat(wh.slice(0,h)).map(v=>r(`el.datepicker.weeks.${v}`))}),d=(h,v)=>{switch(v){case"prev":return e.date.startOf("month").subtract(1,"month").date(h);case"next":return e.date.startOf("month").add(1,"month").date(h);case"current":return e.date.date(h)}};return{now:n,isInRange:a,rows:i,weekDays:c,getFormattedDate:d,handlePickDay:({text:h,type:v})=>{const m=d(h,v);t("pick",m)},getSlotData:({text:h,type:v})=>{const m=d(h,v);return{isSelected:m.isSame(e.selectedDay),type:`${v}-month`,day:m.format("YYYY-MM-DD"),date:m.toDate()}}}},wY={key:0},yY=["onClick"],xY=N({...N({name:"DateTable"}),props:mY,emits:gY,setup(e,{expose:t,emit:o}){const r=e,{isInRange:l,now:n,rows:a,weekDays:i,getFormattedDate:c,handlePickDay:d,getSlotData:u}=_Y(r,o),p=ze("calendar-table"),h=ze("calendar-day"),v=({text:m,type:f})=>{const _=[f];if(f==="current"){const g=c(m,f);g.isSame(r.selectedDay,"day")&&_.push(h.is("selected")),g.isSame(n,"day")&&_.push(h.is("today"))}return _};return t({getFormattedDate:c}),(m,f)=>(b(),M("table",{class:O([s(p).b(),s(p).is("range",s(l))]),cellspacing:"0",cellpadding:"0"},[m.hideHeader?se("v-if",!0):(b(),M("thead",wY,[(b(!0),M(Qe,null,It(s(i),_=>(b(),M("th",{key:_},$e(_),1))),128))])),E("tbody",null,[(b(!0),M(Qe,null,It(s(a),(_,g)=>(b(),M("tr",{key:g,class:O({[s(p).e("row")]:!0,[s(p).em("row","hide-border")]:g===0&&m.hideHeader})},[(b(!0),M(Qe,null,It(_,(y,w)=>(b(),M("td",{key:w,class:O(v(y)),onClick:x=>s(d)(y)},[E("div",{class:O(s(h).b())},[be(m.$slots,"date-cell",{data:s(u)(y)},()=>[E("span",null,$e(y.text),1)])],2)],10,yY))),128))],2))),128))])],2))}});var $w=Le(xY,[["__file","date-table.vue"]]);const kY=(e,t)=>{const o=e.endOf("month"),r=t.startOf("month"),n=o.isSame(r,"week")?r.add(1,"week"):r;return[[e,o],[n.startOf("week"),t]]},CY=(e,t)=>{const o=e.endOf("month"),r=e.add(1,"month").startOf("month"),l=o.isSame(r,"week")?r.add(1,"week"):r,n=l.endOf("month"),a=t.startOf("month"),i=n.isSame(a,"week")?a.add(1,"week"):a;return[[e,o],[l.startOf("week"),n],[i.startOf("week"),t]]},SY=(e,t,o)=>{const{lang:r}=Rt(),l=D(),n=kt().locale(r.value),a=C({get(){return e.modelValue?c.value:l.value},set(_){if(!_)return;l.value=_;const g=_.toDate();t(yr,g),t(St,g)}}),i=C(()=>{if(!e.range)return[];const _=e.range.map(w=>kt(w).locale(r.value)),[g,y]=_;return g.isAfter(y)?[]:g.isSame(y,"month")?v(g,y):g.add(1,"month").month()!==y.month()?[]:v(g,y)}),c=C(()=>e.modelValue?kt(e.modelValue).locale(r.value):a.value||(i.value.length?i.value[0][0]:n)),d=C(()=>c.value.subtract(1,"month").date(1)),u=C(()=>c.value.add(1,"month").date(1)),p=C(()=>c.value.subtract(1,"year").date(1)),h=C(()=>c.value.add(1,"year").date(1)),v=(_,g)=>{const y=_.startOf("week"),w=g.endOf("week"),x=y.get("month"),$=w.get("month");return x===$?[[y,w]]:(x+1)%12===$?kY(y,w):x+2===$||(x+1)%11===$?CY(y,w):[]},m=_=>{a.value=_};return{calculateValidatedDateRange:v,date:c,realSelectedDay:a,pickDay:m,selectDate:_=>{const y={"prev-month":d.value,"next-month":u.value,"prev-year":p.value,"next-year":h.value,today:n}[_];y.isSame(c.value,"day")||m(y)},validatedRange:i}},EY=e=>Ke(e)&&e.length===2&&e.every(t=>va(t)),TY=Pe({modelValue:{type:Date},range:{type:ue(Array),validator:EY}}),$Y={[St]:e=>va(e),[yr]:e=>va(e)},MY=N({...N({name:"ElCalendar"}),props:TY,emits:$Y,setup(e,{expose:t,emit:o}){const r=e,l=ze("calendar"),{calculateValidatedDateRange:n,date:a,pickDay:i,realSelectedDay:c,selectDate:d,validatedRange:u}=SY(r,o),{t:p}=Rt(),h=C(()=>{const v=`el.datepicker.month${a.value.format("M")}`;return`${a.value.year()} ${p("el.datepicker.year")} ${p(v)}`});return t({selectedDay:c,pickDay:i,selectDate:d,calculateValidatedDateRange:n}),(v,m)=>(b(),M("div",{class:O(s(l).b())},[E("div",{class:O(s(l).e("header"))},[be(v.$slots,"header",{date:s(h)},()=>[E("div",{class:O(s(l).e("title"))},$e(s(h)),3),s(u).length===0?(b(),M("div",{key:0,class:O(s(l).e("button-group"))},[ee(s(G4),null,{default:le(()=>[ee(s(Wo),{size:"small",onClick:m[0]||(m[0]=f=>s(d)("prev-month"))},{default:le(()=>[Ct($e(s(p)("el.datepicker.prevMonth")),1)]),_:1}),ee(s(Wo),{size:"small",onClick:m[1]||(m[1]=f=>s(d)("today"))},{default:le(()=>[Ct($e(s(p)("el.datepicker.today")),1)]),_:1}),ee(s(Wo),{size:"small",onClick:m[2]||(m[2]=f=>s(d)("next-month"))},{default:le(()=>[Ct($e(s(p)("el.datepicker.nextMonth")),1)]),_:1})]),_:1})],2)):se("v-if",!0)])],2),s(u).length===0?(b(),M("div",{key:0,class:O(s(l).e("body"))},[ee($w,{date:s(a),"selected-day":s(c),onPick:s(i)},ln({_:2},[v.$slots["date-cell"]?{name:"date-cell",fn:le(f=>[be(v.$slots,"date-cell",Zl(mi(f)))])}:void 0]),1032,["date","selected-day","onPick"])],2)):(b(),M("div",{key:1,class:O(s(l).e("body"))},[(b(!0),M(Qe,null,It(s(u),(f,_)=>(b(),he($w,{key:_,date:f[0],"selected-day":s(c),range:f,"hide-header":_!==0,onPick:s(i)},ln({_:2},[v.$slots["date-cell"]?{name:"date-cell",fn:le(g=>[be(v.$slots,"date-cell",Zl(mi(g)))])}:void 0]),1032,["date","selected-day","range","hide-header","onPick"]))),128))],2))],2))}});var AY=Le(MY,[["__file","calendar.vue"]]);const zY=yt(AY),IY=Pe({header:{type:String,default:""},footer:{type:String,default:""},bodyStyle:{type:ue([String,Object,Array]),default:""},bodyClass:String,shadow:{type:String,values:["always","hover","never"],default:"always"}}),OY=N({...N({name:"ElCard"}),props:IY,setup(e){const t=ze("card");return(o,r)=>(b(),M("div",{class:O([s(t).b(),s(t).is(`${o.shadow}-shadow`)])},[o.$slots.header||o.header?(b(),M("div",{key:0,class:O(s(t).e("header"))},[be(o.$slots,"header",{},()=>[Ct($e(o.header),1)])],2)):se("v-if",!0),E("div",{class:O([s(t).e("body"),o.bodyClass]),style:Je(o.bodyStyle)},[be(o.$slots,"default")],6),o.$slots.footer||o.footer?(b(),M("div",{key:1,class:O(s(t).e("footer"))},[be(o.$slots,"footer",{},()=>[Ct($e(o.footer),1)])],2)):se("v-if",!0)],2))}});var NY=Le(OY,[["__file","card.vue"]]);const PY=yt(NY),RY=Pe({initialIndex:{type:Number,default:0},height:{type:String,default:""},trigger:{type:String,values:["hover","click"],default:"hover"},autoplay:{type:Boolean,default:!0},interval:{type:Number,default:3e3},indicatorPosition:{type:String,values:["","none","outside"],default:""},arrow:{type:String,values:["always","hover","never"],default:"hover"},type:{type:String,values:["","card"],default:""},loop:{type:Boolean,default:!0},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},pauseOnHover:{type:Boolean,default:!0},motionBlur:{type:Boolean,default:!1}}),LY={change:(e,t)=>[e,t].every(st)},Mw=Symbol("carouselContextKey"),Aw=300,BY=(e,t,o)=>{const{children:r,addChild:l,removeChild:n}=Wh(wt(),"ElCarouselItem"),a=Do(),i=D(-1),c=D(null),d=D(!1),u=D(),p=D(0),h=D(!0),v=D(!0),m=D(!1),f=C(()=>e.arrow!=="never"&&!s(y)),_=C(()=>r.value.some(de=>de.props.label.toString().length>0)),g=C(()=>e.type==="card"),y=C(()=>e.direction==="vertical"),w=C(()=>e.height!=="auto"?{height:e.height}:{height:`${p.value}px`,overflow:"hidden"}),x=Oa(de=>{V(de)},Aw,{trailing:!0}),$=Oa(de=>{I(de)},Aw),T=de=>h.value?i.value<=1?de<=1:de>1:!0;function R(){c.value&&(clearInterval(c.value),c.value=null)}function P(){e.interval<=0||!e.autoplay||c.value||(c.value=setInterval(()=>L(),e.interval))}const L=()=>{v.value||(m.value=!0),v.value=!1,i.valueCe.props.name===de);Re.length>0&&(de=r.value.indexOf(Re[0]))}if(de=Number(de),Number.isNaN(de)||de!==Math.floor(de))return;const _e=r.value.length,me=i.value;de<0?i.value=e.loop?_e-1:0:de>=_e?i.value=e.loop?0:_e-1:i.value=de,me===i.value&&B(me),ne()}function B(de){r.value.forEach((_e,me)=>{_e.translateItem(me,i.value,de)})}function j(de,_e){var me,Re,Ce,Ee;const De=s(r),ae=De.length;if(ae===0||!de.states.inStage)return!1;const pe=_e+1,ke=_e-1,Oe=ae-1,we=De[Oe].states.active,Te=De[0].states.active,Ne=(Re=(me=De[pe])==null?void 0:me.states)==null?void 0:Re.active,Ie=(Ee=(Ce=De[ke])==null?void 0:Ce.states)==null?void 0:Ee.active;return _e===Oe&&Te||Ne?"left":_e===0&&we||Ie?"right":!1}function te(){d.value=!0,e.pauseOnHover&&R()}function J(){d.value=!1,P()}function Z(){m.value=!1}function H(de){s(y)||r.value.forEach((_e,me)=>{de===j(_e,me)&&(_e.states.hover=!0)})}function F(){s(y)||r.value.forEach(de=>{de.states.hover=!1})}function K(de){de!==i.value&&(v.value||(m.value=!0)),i.value=de}function I(de){e.trigger==="hover"&&de!==i.value&&(i.value=de,v.value||(m.value=!0))}function U(){V(i.value-1)}function oe(){V(i.value+1)}function ne(){R(),e.pauseOnHover||P()}function ce(de){e.height==="auto"&&(p.value=de)}function Q(){var de;const _e=(de=a.default)==null?void 0:de.call(a);if(!_e)return null;const me=Qn(_e),Re="ElCarouselItem",Ce=me.filter(Ee=>io(Ee)&&Ee.type.name===Re);return(Ce==null?void 0:Ce.length)===2&&e.loop&&!g.value?(h.value=!0,Ce):(h.value=!1,null)}Se(()=>i.value,(de,_e)=>{B(_e),h.value&&(de=de%2,_e=_e%2),_e>-1&&t("change",de,_e)}),Se(()=>e.autoplay,de=>{de?P():R()}),Se(()=>e.loop,()=>{V(i.value)}),Se(()=>e.interval,()=>{ne()});const Me=lo();return ft(()=>{Se(()=>r.value,()=>{r.value.length>0&&V(e.initialIndex)},{immediate:!0}),Me.value=so(u.value,()=>{B()}),P()}),to(()=>{R(),u.value&&Me.value&&Me.value.stop()}),zt(Mw,{root:u,isCardType:g,isVertical:y,items:r,loop:e.loop,addItem:l,removeItem:n,setActiveItem:V,setContainerHeight:ce}),{root:u,activeIndex:i,arrowDisplay:f,hasLabel:_,hover:d,isCardType:g,isTransitioning:m,items:r,isVertical:y,containerStyle:w,isItemsTwoLength:h,handleButtonEnter:H,handleTransitionEnd:Z,handleButtonLeave:F,handleIndicatorClick:K,handleMouseEnter:te,handleMouseLeave:J,setActiveItem:V,prev:U,next:oe,PlaceholderItem:Q,isTwoLengthShow:T,throttledArrowClick:x,throttledIndicatorHover:$}},VY=["aria-label"],DY=["aria-label"],HY=["onMouseenter","onClick"],FY=["aria-label"],jY={key:0},KY={key:3,xmlns:"http://www.w3.org/2000/svg",version:"1.1",style:{display:"none"}},UY=[E("defs",null,[E("filter",{id:"elCarouselHorizontal"},[E("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"12,0"})]),E("filter",{id:"elCarouselVertical"},[E("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"0,10"})])],-1)],WY=N({...N({name:"ElCarousel"}),props:RY,emits:LY,setup(e,{expose:t,emit:o}){const r=e,{root:l,activeIndex:n,arrowDisplay:a,hasLabel:i,hover:c,isCardType:d,items:u,isVertical:p,containerStyle:h,handleButtonEnter:v,handleButtonLeave:m,isTransitioning:f,handleIndicatorClick:_,handleMouseEnter:g,handleMouseLeave:y,handleTransitionEnd:w,setActiveItem:x,prev:$,next:T,PlaceholderItem:R,isTwoLengthShow:P,throttledArrowClick:L,throttledIndicatorHover:V}=BY(r,o),B=ze("carousel"),{t:j}=Rt(),te=C(()=>{const H=[B.b(),B.m(r.direction)];return s(d)&&H.push(B.m("card")),H}),J=C(()=>{const H=[B.e("container")];return r.motionBlur&&s(f)&&H.push(s(p)?`${B.namespace.value}-transitioning-vertical`:`${B.namespace.value}-transitioning`),H}),Z=C(()=>{const H=[B.e("indicators"),B.em("indicators",r.direction)];return s(i)&&H.push(B.em("indicators","labels")),r.indicatorPosition==="outside"&&H.push(B.em("indicators","outside")),s(p)&&H.push(B.em("indicators","right")),H});return t({setActiveItem:x,prev:$,next:T}),(H,F)=>(b(),M("div",{ref_key:"root",ref:l,class:O(s(te)),onMouseenter:F[7]||(F[7]=ct((...K)=>s(g)&&s(g)(...K),["stop"])),onMouseleave:F[8]||(F[8]=ct((...K)=>s(y)&&s(y)(...K),["stop"]))},[s(a)?(b(),he(Mo,{key:0,name:"carousel-arrow-left",persisted:""},{default:le(()=>[mt(E("button",{type:"button",class:O([s(B).e("arrow"),s(B).em("arrow","left")]),"aria-label":s(j)("el.carousel.leftArrow"),onMouseenter:F[0]||(F[0]=K=>s(v)("left")),onMouseleave:F[1]||(F[1]=(...K)=>s(m)&&s(m)(...K)),onClick:F[2]||(F[2]=ct(K=>s(L)(s(n)-1),["stop"]))},[ee(s(Ze),null,{default:le(()=>[ee(s(fn))]),_:1})],42,VY),[[Lt,(H.arrow==="always"||s(c))&&(r.loop||s(n)>0)]])]),_:1})):se("v-if",!0),s(a)?(b(),he(Mo,{key:1,name:"carousel-arrow-right",persisted:""},{default:le(()=>[mt(E("button",{type:"button",class:O([s(B).e("arrow"),s(B).em("arrow","right")]),"aria-label":s(j)("el.carousel.rightArrow"),onMouseenter:F[3]||(F[3]=K=>s(v)("right")),onMouseleave:F[4]||(F[4]=(...K)=>s(m)&&s(m)(...K)),onClick:F[5]||(F[5]=ct(K=>s(L)(s(n)+1),["stop"]))},[ee(s(Ze),null,{default:le(()=>[ee(s(ir))]),_:1})],42,DY),[[Lt,(H.arrow==="always"||s(c))&&(r.loop||s(n)s(w)&&s(w)(...K))},[ee(s(R)),be(H.$slots,"default")],38),H.indicatorPosition!=="none"?(b(),M("ul",{key:2,class:O(s(Z))},[(b(!0),M(Qe,null,It(s(u),(K,I)=>mt((b(),M("li",{key:I,class:O([s(B).e("indicator"),s(B).em("indicator",H.direction),s(B).is("active",I===s(n))]),onMouseenter:U=>s(V)(I),onClick:ct(U=>s(_)(I),["stop"])},[E("button",{class:O(s(B).e("button")),"aria-label":s(j)("el.carousel.indicator",{index:I+1})},[s(i)?(b(),M("span",jY,$e(K.props.label),1)):se("v-if",!0)],10,FY)],42,HY)),[[Lt,s(P)(I)]])),128))],2)):se("v-if",!0),r.motionBlur?(b(),M("svg",KY,UY)):se("v-if",!0)],34))}});var qY=Le(WY,[["__file","carousel.vue"]]);const YY=Pe({name:{type:String,default:""},label:{type:[String,Number],default:""}}),GY=(e,t)=>{const o=Ge(Mw),r=wt(),l=.83,n=D(),a=D(!1),i=D(0),c=D(1),d=D(!1),u=D(!1),p=D(!1),h=D(!1),{isCardType:v,isVertical:m}=o;function f(x,$,T){const R=T-1,P=$-1,L=$+1,V=T/2;return $===0&&x===R?-1:$===R&&x===0?T:x=V?T+1:x>L&&x-$>=V?-2:x}function _(x,$){var T,R;const P=s(m)?((T=o.root.value)==null?void 0:T.offsetHeight)||0:((R=o.root.value)==null?void 0:R.offsetWidth)||0;return p.value?P*((2-l)*(x-$)+1)/4:x<$?-(1+l)*P/4:(3+l)*P/4}function g(x,$,T){const R=o.root.value;return R?((T?R.offsetHeight:R.offsetWidth)||0)*(x-$):0}const y=(x,$,T)=>{var R;const P=s(v),L=(R=o.items.value.length)!=null?R:Number.NaN,V=x===$;!P&&!ko(T)&&(h.value=V||x===T),!V&&L>2&&o.loop&&(x=f(x,$,L));const B=s(m);d.value=V,P?(p.value=Math.round(Math.abs(x-$))<=1,i.value=_(x,$),c.value=s(d)?1:l):i.value=g(x,$,B),u.value=!0,V&&n.value&&o.setContainerHeight(n.value.offsetHeight)};function w(){if(o&&s(v)){const x=o.items.value.findIndex(({uid:$})=>$===r.uid);o.setActiveItem(x)}}return ft(()=>{o.addItem({props:e,states:Dt({hover:a,translate:i,scale:c,active:d,ready:u,inStage:p,animating:h}),uid:r.uid,translateItem:y})}),Rn(()=>{o.removeItem(r.uid)}),{carouselItemRef:n,active:d,animating:h,hover:a,inStage:p,isVertical:m,translate:i,isCardType:v,scale:c,ready:u,handleItemClick:w}},XY=N({...N({name:"ElCarouselItem"}),props:YY,setup(e){const t=e,o=ze("carousel"),{carouselItemRef:r,active:l,animating:n,hover:a,inStage:i,isVertical:c,translate:d,isCardType:u,scale:p,ready:h,handleItemClick:v}=GY(t),m=C(()=>[o.e("item"),o.is("active",l.value),o.is("in-stage",i.value),o.is("hover",a.value),o.is("animating",n.value),{[o.em("item","card")]:u.value,[o.em("item","card-vertical")]:u.value&&c.value}]),f=C(()=>{const g=`${`translate${s(c)?"Y":"X"}`}(${s(d)}px)`,y=`scale(${s(p)})`;return{transform:[g,y].join(" ")}});return(_,g)=>mt((b(),M("div",{ref_key:"carouselItemRef",ref:r,class:O(s(m)),style:Je(s(f)),onClick:g[0]||(g[0]=(...y)=>s(v)&&s(v)(...y))},[s(u)?mt((b(),M("div",{key:0,class:O(s(o).e("mask"))},null,2)),[[Lt,!s(l)]]):se("v-if",!0),be(_.$slots,"default")],6)),[[Lt,s(h)]])}});var zw=Le(XY,[["__file","carousel-item.vue"]]);const ZY=yt(qY,{CarouselItem:zw}),JY=co(zw),Iw={modelValue:{type:[Number,String,Boolean],default:void 0},label:{type:[String,Boolean,Number,Object],default:void 0},value:{type:[String,Boolean,Number,Object],default:void 0},indeterminate:Boolean,disabled:Boolean,checked:Boolean,name:{type:String,default:void 0},trueValue:{type:[String,Number],default:void 0},falseValue:{type:[String,Number],default:void 0},trueLabel:{type:[String,Number],default:void 0},falseLabel:{type:[String,Number],default:void 0},id:{type:String,default:void 0},controls:{type:String,default:void 0},border:Boolean,size:Oo,tabindex:[String,Number],validateEvent:{type:Boolean,default:!0},...Zo(["ariaControls"])},Ow={[St]:e=>ut(e)||st(e)||Co(e),change:e=>ut(e)||st(e)||Co(e)},os=Symbol("checkboxGroupContextKey"),QY=({model:e,isChecked:t})=>{const o=Ge(os,void 0),r=C(()=>{var n,a;const i=(n=o==null?void 0:o.max)==null?void 0:n.value,c=(a=o==null?void 0:o.min)==null?void 0:a.value;return!ko(i)&&e.value.length>=i&&!t.value||!ko(c)&&e.value.length<=c&&t.value});return{isDisabled:xr(C(()=>(o==null?void 0:o.disabled.value)||r.value)),isLimitDisabled:r}},eG=(e,{model:t,isLimitExceeded:o,hasOwnLabel:r,isDisabled:l,isLabeledByFormItem:n})=>{const a=Ge(os,void 0),{formItem:i}=sr(),{emit:c}=wt();function d(m){var f,_,g,y;return[!0,e.trueValue,e.trueLabel].includes(m)?(_=(f=e.trueValue)!=null?f:e.trueLabel)!=null?_:!0:(y=(g=e.falseValue)!=null?g:e.falseLabel)!=null?y:!1}function u(m,f){c("change",d(m),f)}function p(m){if(o.value)return;const f=m.target;c("change",d(f.checked),m)}async function h(m){o.value||!r.value&&!l.value&&n.value&&(m.composedPath().some(g=>g.tagName==="LABEL")||(t.value=d([!1,e.falseValue,e.falseLabel].includes(t.value)),await et(),u(t.value,m)))}const v=C(()=>(a==null?void 0:a.validateEvent)||e.validateEvent);return Se(()=>e.modelValue,()=>{v.value&&(i==null||i.validate("change").catch(m=>void 0))}),{handleChange:p,onClickRoot:h}},tG=e=>{const t=D(!1),{emit:o}=wt(),r=Ge(os,void 0),l=C(()=>ko(r)===!1),n=D(!1),a=C({get(){var i,c;return l.value?(i=r==null?void 0:r.modelValue)==null?void 0:i.value:(c=e.modelValue)!=null?c:t.value},set(i){var c,d;l.value&&Ke(i)?(n.value=((c=r==null?void 0:r.max)==null?void 0:c.value)!==void 0&&i.length>(r==null?void 0:r.max.value)&&i.length>a.value.length,n.value===!1&&((d=r==null?void 0:r.changeEvent)==null||d.call(r,i))):(o(St,i),t.value=i)}});return{model:a,isGroup:l,isLimitExceeded:n}},oG=(e,t,{model:o})=>{const r=Ge(os,void 0),l=D(!1),n=C(()=>Na(e.value)?e.label:e.value),a=C(()=>{const u=o.value;return Co(u)?u:Ke(u)?xt(n.value)?u.map(jt).some(p=>nr(p,n.value)):u.map(jt).includes(n.value):u!=null?u===e.trueValue||u===e.trueLabel:!!u}),i=So(C(()=>{var u;return(u=r==null?void 0:r.size)==null?void 0:u.value}),{prop:!0}),c=So(C(()=>{var u;return(u=r==null?void 0:r.size)==null?void 0:u.value})),d=C(()=>!!t.default||!Na(n.value));return{checkboxButtonSize:i,isChecked:a,isFocused:l,checkboxSize:c,hasOwnLabel:d,actualValue:n}},Nw=(e,t)=>{const{formItem:o}=sr(),{model:r,isGroup:l,isLimitExceeded:n}=tG(e),{isFocused:a,isChecked:i,checkboxButtonSize:c,checkboxSize:d,hasOwnLabel:u,actualValue:p}=oG(e,t,{model:r}),{isDisabled:h}=QY({model:r,isChecked:i}),{inputId:v,isLabeledByFormItem:m}=bl(e,{formItemContext:o,disableIdGeneration:u,disableIdManagement:l}),{handleChange:f,onClickRoot:_}=eG(e,{model:r,isLimitExceeded:n,hasOwnLabel:u,isDisabled:h,isLabeledByFormItem:m});return(()=>{function y(){var w,x;Ke(r.value)&&!r.value.includes(p.value)?r.value.push(p.value):r.value=(x=(w=e.trueValue)!=null?w:e.trueLabel)!=null?x:!0}e.checked&&y()})(),Lo({from:"controls",replacement:"aria-controls",version:"2.8.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},C(()=>!!e.controls)),Lo({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},C(()=>l.value&&Na(e.value))),Lo({from:"true-label",replacement:"true-value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},C(()=>!!e.trueLabel)),Lo({from:"false-label",replacement:"false-value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},C(()=>!!e.falseLabel)),{inputId:v,isLabeledByFormItem:m,isChecked:i,isDisabled:h,isFocused:a,checkboxButtonSize:c,checkboxSize:d,hasOwnLabel:u,model:r,actualValue:p,handleChange:f,onClickRoot:_}},rG=["id","indeterminate","name","tabindex","disabled","true-value","false-value"],lG=["id","indeterminate","disabled","value","name","tabindex"],nG=N({...N({name:"ElCheckbox"}),props:Iw,emits:Ow,setup(e){const t=e,o=Do(),{inputId:r,isLabeledByFormItem:l,isChecked:n,isDisabled:a,isFocused:i,checkboxSize:c,hasOwnLabel:d,model:u,actualValue:p,handleChange:h,onClickRoot:v}=Nw(t,o),m=ze("checkbox"),f=C(()=>[m.b(),m.m(c.value),m.is("disabled",a.value),m.is("bordered",t.border),m.is("checked",n.value)]),_=C(()=>[m.e("input"),m.is("disabled",a.value),m.is("checked",n.value),m.is("indeterminate",t.indeterminate),m.is("focus",i.value)]);return(g,y)=>(b(),he(Et(!s(d)&&s(l)?"span":"label"),{class:O(s(f)),"aria-controls":g.indeterminate?g.controls||g.ariaControls:null,onClick:s(v)},{default:le(()=>{var w,x;return[E("span",{class:O(s(_))},[g.trueValue||g.falseValue||g.trueLabel||g.falseLabel?mt((b(),M("input",{key:0,id:s(r),"onUpdate:modelValue":y[0]||(y[0]=$=>Zt(u)?u.value=$:null),class:O(s(m).e("original")),type:"checkbox",indeterminate:g.indeterminate,name:g.name,tabindex:g.tabindex,disabled:s(a),"true-value":(w=g.trueValue)!=null?w:g.trueLabel,"false-value":(x=g.falseValue)!=null?x:g.falseLabel,onChange:y[1]||(y[1]=(...$)=>s(h)&&s(h)(...$)),onFocus:y[2]||(y[2]=$=>i.value=!0),onBlur:y[3]||(y[3]=$=>i.value=!1),onClick:y[4]||(y[4]=ct(()=>{},["stop"]))},null,42,rG)),[[Gu,s(u)]]):mt((b(),M("input",{key:1,id:s(r),"onUpdate:modelValue":y[5]||(y[5]=$=>Zt(u)?u.value=$:null),class:O(s(m).e("original")),type:"checkbox",indeterminate:g.indeterminate,disabled:s(a),value:s(p),name:g.name,tabindex:g.tabindex,onChange:y[6]||(y[6]=(...$)=>s(h)&&s(h)(...$)),onFocus:y[7]||(y[7]=$=>i.value=!0),onBlur:y[8]||(y[8]=$=>i.value=!1),onClick:y[9]||(y[9]=ct(()=>{},["stop"]))},null,42,lG)),[[Gu,s(u)]]),E("span",{class:O(s(m).e("inner"))},null,2)],2),s(d)?(b(),M("span",{key:0,class:O(s(m).e("label"))},[be(g.$slots,"default"),g.$slots.default?se("v-if",!0):(b(),M(Qe,{key:0},[Ct($e(g.label),1)],64))],2)):se("v-if",!0)]}),_:3},8,["class","aria-controls","onClick"]))}});var aG=Le(nG,[["__file","checkbox.vue"]]);const iG=["name","tabindex","disabled","true-value","false-value"],sG=["name","tabindex","disabled","value"],cG=N({...N({name:"ElCheckboxButton"}),props:Iw,emits:Ow,setup(e){const t=e,o=Do(),{isFocused:r,isChecked:l,isDisabled:n,checkboxButtonSize:a,model:i,actualValue:c,handleChange:d}=Nw(t,o),u=Ge(os,void 0),p=ze("checkbox"),h=C(()=>{var m,f,_,g;const y=(f=(m=u==null?void 0:u.fill)==null?void 0:m.value)!=null?f:"";return{backgroundColor:y,borderColor:y,color:(g=(_=u==null?void 0:u.textColor)==null?void 0:_.value)!=null?g:"",boxShadow:y?`-1px 0 0 0 ${y}`:void 0}}),v=C(()=>[p.b("button"),p.bm("button",a.value),p.is("disabled",n.value),p.is("checked",l.value),p.is("focus",r.value)]);return(m,f)=>{var _,g;return b(),M("label",{class:O(s(v))},[m.trueValue||m.falseValue||m.trueLabel||m.falseLabel?mt((b(),M("input",{key:0,"onUpdate:modelValue":f[0]||(f[0]=y=>Zt(i)?i.value=y:null),class:O(s(p).be("button","original")),type:"checkbox",name:m.name,tabindex:m.tabindex,disabled:s(n),"true-value":(_=m.trueValue)!=null?_:m.trueLabel,"false-value":(g=m.falseValue)!=null?g:m.falseLabel,onChange:f[1]||(f[1]=(...y)=>s(d)&&s(d)(...y)),onFocus:f[2]||(f[2]=y=>r.value=!0),onBlur:f[3]||(f[3]=y=>r.value=!1),onClick:f[4]||(f[4]=ct(()=>{},["stop"]))},null,42,iG)),[[Gu,s(i)]]):mt((b(),M("input",{key:1,"onUpdate:modelValue":f[5]||(f[5]=y=>Zt(i)?i.value=y:null),class:O(s(p).be("button","original")),type:"checkbox",name:m.name,tabindex:m.tabindex,disabled:s(n),value:s(c),onChange:f[6]||(f[6]=(...y)=>s(d)&&s(d)(...y)),onFocus:f[7]||(f[7]=y=>r.value=!0),onBlur:f[8]||(f[8]=y=>r.value=!1),onClick:f[9]||(f[9]=ct(()=>{},["stop"]))},null,42,sG)),[[Gu,s(i)]]),m.$slots.default||m.label?(b(),M("span",{key:2,class:O(s(p).be("button","inner")),style:Je(s(l)?s(h):void 0)},[be(m.$slots,"default",{},()=>[Ct($e(m.label),1)])],6)):se("v-if",!0)],2)}}});var Pw=Le(cG,[["__file","checkbox-button.vue"]]);const uG=Pe({modelValue:{type:ue(Array),default:()=>[]},disabled:Boolean,min:Number,max:Number,size:Oo,label:String,fill:String,textColor:String,tag:{type:String,default:"div"},validateEvent:{type:Boolean,default:!0},...Zo(["ariaLabel"])}),dG={[St]:e=>Ke(e),change:e=>Ke(e)},pG=N({...N({name:"ElCheckboxGroup"}),props:uG,emits:dG,setup(e,{emit:t}){const o=e,r=ze("checkbox"),{formItem:l}=sr(),{inputId:n,isLabeledByFormItem:a}=bl(o,{formItemContext:l}),i=async d=>{t(St,d),await et(),t("change",d)},c=C({get(){return o.modelValue},set(d){i(d)}});return zt(os,{...Ol(Bo(o),["size","min","max","disabled","validateEvent","fill","textColor"]),modelValue:c,changeEvent:i}),Lo({from:"label",replacement:"aria-label",version:"2.8.0",scope:"el-checkbox-group",ref:"https://element-plus.org/en-US/component/checkbox.html"},C(()=>!!o.label)),Se(()=>o.modelValue,()=>{o.validateEvent&&(l==null||l.validate("change").catch(d=>void 0))}),(d,u)=>{var p;return b(),he(Et(d.tag),{id:s(n),class:O(s(r).b("group")),role:"group","aria-label":s(a)?void 0:d.label||d.ariaLabel||"checkbox-group","aria-labelledby":s(a)?(p=s(l))==null?void 0:p.labelId:void 0},{default:le(()=>[be(d.$slots,"default")]),_:3},8,["id","class","aria-label","aria-labelledby"])}}});var Rw=Le(pG,[["__file","checkbox-group.vue"]]);const rl=yt(aG,{CheckboxButton:Pw,CheckboxGroup:Rw}),fG=co(Pw),Lw=co(Rw),Bw=Pe({modelValue:{type:[String,Number,Boolean],default:void 0},size:Oo,disabled:Boolean,label:{type:[String,Number,Boolean],default:void 0},value:{type:[String,Number,Boolean],default:void 0},name:{type:String,default:void 0}}),hG=Pe({...Bw,border:Boolean}),Vw={[St]:e=>ut(e)||st(e)||Co(e),[ro]:e=>ut(e)||st(e)||Co(e)},Dw=Symbol("radioGroupKey"),Hw=(e,t)=>{const o=D(),r=Ge(Dw,void 0),l=C(()=>!!r),n=C(()=>Na(e.value)?e.label:e.value),a=C({get(){return l.value?r.modelValue:e.modelValue},set(p){l.value?r.changeEvent(p):t&&t(St,p),o.value.checked=e.modelValue===n.value}}),i=So(C(()=>r==null?void 0:r.size)),c=xr(C(()=>r==null?void 0:r.disabled)),d=D(!1),u=C(()=>c.value||l.value&&a.value!==n.value?-1:0);return Lo({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-radio",ref:"https://element-plus.org/en-US/component/radio.html"},C(()=>l.value&&Na(e.value))),{radioRef:o,isGroup:l,radioGroup:r,focus:d,size:i,disabled:c,tabIndex:u,modelValue:a,actualValue:n}},vG=["value","name","disabled"],mG=N({...N({name:"ElRadio"}),props:hG,emits:Vw,setup(e,{emit:t}){const o=e,r=ze("radio"),{radioRef:l,radioGroup:n,focus:a,size:i,disabled:c,modelValue:d,actualValue:u}=Hw(o,t);function p(){et(()=>t("change",d.value))}return(h,v)=>{var m;return b(),M("label",{class:O([s(r).b(),s(r).is("disabled",s(c)),s(r).is("focus",s(a)),s(r).is("bordered",h.border),s(r).is("checked",s(d)===s(u)),s(r).m(s(i))])},[E("span",{class:O([s(r).e("input"),s(r).is("disabled",s(c)),s(r).is("checked",s(d)===s(u))])},[mt(E("input",{ref_key:"radioRef",ref:l,"onUpdate:modelValue":v[0]||(v[0]=f=>Zt(d)?d.value=f:null),class:O(s(r).e("original")),value:s(u),name:h.name||((m=s(n))==null?void 0:m.name),disabled:s(c),type:"radio",onFocus:v[1]||(v[1]=f=>a.value=!0),onBlur:v[2]||(v[2]=f=>a.value=!1),onChange:p,onClick:v[3]||(v[3]=ct(()=>{},["stop"]))},null,42,vG),[[P1,s(d)]]),E("span",{class:O(s(r).e("inner"))},null,2)],2),E("span",{class:O(s(r).e("label")),onKeydown:v[4]||(v[4]=ct(()=>{},["stop"]))},[be(h.$slots,"default",{},()=>[Ct($e(h.label),1)])],34)],2)}}});var gG=Le(mG,[["__file","radio.vue"]]);const bG=Pe({...Bw}),_G=["value","name","disabled"],wG=N({...N({name:"ElRadioButton"}),props:bG,setup(e){const t=e,o=ze("radio"),{radioRef:r,focus:l,size:n,disabled:a,modelValue:i,radioGroup:c,actualValue:d}=Hw(t),u=C(()=>({backgroundColor:(c==null?void 0:c.fill)||"",borderColor:(c==null?void 0:c.fill)||"",boxShadow:c!=null&&c.fill?`-1px 0 0 0 ${c.fill}`:"",color:(c==null?void 0:c.textColor)||""}));return(p,h)=>{var v;return b(),M("label",{class:O([s(o).b("button"),s(o).is("active",s(i)===s(d)),s(o).is("disabled",s(a)),s(o).is("focus",s(l)),s(o).bm("button",s(n))])},[mt(E("input",{ref_key:"radioRef",ref:r,"onUpdate:modelValue":h[0]||(h[0]=m=>Zt(i)?i.value=m:null),class:O(s(o).be("button","original-radio")),value:s(d),type:"radio",name:p.name||((v=s(c))==null?void 0:v.name),disabled:s(a),onFocus:h[1]||(h[1]=m=>l.value=!0),onBlur:h[2]||(h[2]=m=>l.value=!1),onClick:h[3]||(h[3]=ct(()=>{},["stop"]))},null,42,_G),[[P1,s(i)]]),E("span",{class:O(s(o).be("button","inner")),style:Je(s(i)===s(d)?s(u):{}),onKeydown:h[4]||(h[4]=ct(()=>{},["stop"]))},[be(p.$slots,"default",{},()=>[Ct($e(p.label),1)])],38)],2)}}});var Fw=Le(wG,[["__file","radio-button.vue"]]);const yG=Pe({id:{type:String,default:void 0},size:Oo,disabled:Boolean,modelValue:{type:[String,Number,Boolean],default:void 0},fill:{type:String,default:""},label:{type:String,default:void 0},textColor:{type:String,default:""},name:{type:String,default:void 0},validateEvent:{type:Boolean,default:!0},...Zo(["ariaLabel"])}),xG=Vw,kG=["id","aria-label","aria-labelledby"],CG=N({...N({name:"ElRadioGroup"}),props:yG,emits:xG,setup(e,{emit:t}){const o=e,r=ze("radio"),l=Qo(),n=D(),{formItem:a}=sr(),{inputId:i,isLabeledByFormItem:c}=bl(o,{formItemContext:a}),d=p=>{t(St,p),et(()=>t("change",p))};ft(()=>{const p=n.value.querySelectorAll("[type=radio]"),h=p[0];!Array.from(p).some(v=>v.checked)&&h&&(h.tabIndex=0)});const u=C(()=>o.name||l.value);return zt(Dw,Dt({...Bo(o),changeEvent:d,name:u})),Se(()=>o.modelValue,()=>{o.validateEvent&&(a==null||a.validate("change").catch(p=>void 0))}),Lo({from:"label",replacement:"aria-label",version:"2.8.0",scope:"el-radio-group",ref:"https://element-plus.org/en-US/component/radio.html"},C(()=>!!o.label)),(p,h)=>(b(),M("div",{id:s(i),ref_key:"radioGroupRef",ref:n,class:O(s(r).b("group")),role:"radiogroup","aria-label":s(c)?void 0:p.label||p.ariaLabel||"radio-group","aria-labelledby":s(c)?s(a).labelId:void 0},[be(p.$slots,"default")],10,kG))}});var jw=Le(CG,[["__file","radio-group.vue"]]);const Kw=yt(gG,{RadioButton:Fw,RadioGroup:jw}),SG=co(jw),EG=co(Fw);var TG=N({name:"NodeContent",setup(){return{ns:ze("cascader-node")}},render(){const{ns:e}=this,{node:t,panel:o}=this.$parent,{data:r,label:l}=t,{renderLabelFn:n}=o;return rt("span",{class:e.e("label")},n?n({node:t,data:r}):l)}});const Iv=Symbol(),$G=N({name:"ElCascaderNode",components:{ElCheckbox:rl,ElRadio:Kw,NodeContent:TG,ElIcon:Ze,Check:Li,Loading:vn,ArrowRight:ir},props:{node:{type:Object,required:!0},menuId:String},emits:["expand"],setup(e,{emit:t}){const o=Ge(Iv),r=ze("cascader-node"),l=C(()=>o.isHoverMenu),n=C(()=>o.config.multiple),a=C(()=>o.config.checkStrictly),i=C(()=>{var T;return(T=o.checkedNodes[0])==null?void 0:T.uid}),c=C(()=>e.node.isDisabled),d=C(()=>e.node.isLeaf),u=C(()=>a.value&&!d.value||!c.value),p=C(()=>v(o.expandingNode)),h=C(()=>a.value&&o.checkedNodes.some(v)),v=T=>{var R;const{level:P,uid:L}=e.node;return((R=T==null?void 0:T.pathNodes[P-1])==null?void 0:R.uid)===L},m=()=>{p.value||o.expandNode(e.node)},f=T=>{const{node:R}=e;T!==R.checked&&o.handleCheckChange(R,T)},_=()=>{o.lazyLoad(e.node,()=>{d.value||m()})},g=T=>{l.value&&(y(),!d.value&&t("expand",T))},y=()=>{const{node:T}=e;!u.value||T.loading||(T.loaded?m():_())},w=()=>{l.value&&!d.value||(d.value&&!c.value&&!a.value&&!n.value?$(!0):y())},x=T=>{a.value?(f(T),e.node.loaded&&m()):$(T)},$=T=>{e.node.loaded?(f(T),!a.value&&m()):_()};return{panel:o,isHoverMenu:l,multiple:n,checkStrictly:a,checkedNodeId:i,isDisabled:c,isLeaf:d,expandable:u,inExpandingPath:p,inCheckedPath:h,ns:r,handleHoverExpand:g,handleExpand:y,handleClick:w,handleCheck:$,handleSelectCheck:x}}}),MG=["id","aria-haspopup","aria-owns","aria-expanded","tabindex"],AG=E("span",null,null,-1);function zG(e,t,o,r,l,n){const a=nt("el-checkbox"),i=nt("el-radio"),c=nt("check"),d=nt("el-icon"),u=nt("node-content"),p=nt("loading"),h=nt("arrow-right");return b(),M("li",{id:`${e.menuId}-${e.node.uid}`,role:"menuitem","aria-haspopup":!e.isLeaf,"aria-owns":e.isLeaf?null:e.menuId,"aria-expanded":e.inExpandingPath,tabindex:e.expandable?-1:void 0,class:O([e.ns.b(),e.ns.is("selectable",e.checkStrictly),e.ns.is("active",e.node.checked),e.ns.is("disabled",!e.expandable),e.inExpandingPath&&"in-active-path",e.inCheckedPath&&"in-checked-path"]),onMouseenter:t[2]||(t[2]=(...v)=>e.handleHoverExpand&&e.handleHoverExpand(...v)),onFocus:t[3]||(t[3]=(...v)=>e.handleHoverExpand&&e.handleHoverExpand(...v)),onClick:t[4]||(t[4]=(...v)=>e.handleClick&&e.handleClick(...v))},[se(" prefix "),e.multiple?(b(),he(a,{key:0,"model-value":e.node.checked,indeterminate:e.node.indeterminate,disabled:e.isDisabled,onClick:t[0]||(t[0]=ct(()=>{},["stop"])),"onUpdate:modelValue":e.handleSelectCheck},null,8,["model-value","indeterminate","disabled","onUpdate:modelValue"])):e.checkStrictly?(b(),he(i,{key:1,"model-value":e.checkedNodeId,label:e.node.uid,disabled:e.isDisabled,"onUpdate:modelValue":e.handleSelectCheck,onClick:t[1]||(t[1]=ct(()=>{},["stop"]))},{default:le(()=>[se(` Add an empty element to avoid render label, do not use empty fragment here for https://github.com/vuejs/vue-next/pull/2485 `),AG]),_:1},8,["model-value","label","disabled","onUpdate:modelValue"])):e.isLeaf&&e.node.checked?(b(),he(d,{key:2,class:O(e.ns.e("prefix"))},{default:le(()=>[ee(c)]),_:1},8,["class"])):se("v-if",!0),se(" content "),ee(u),se(" postfix "),e.isLeaf?se("v-if",!0):(b(),M(Qe,{key:3},[e.node.loading?(b(),he(d,{key:0,class:O([e.ns.is("loading"),e.ns.e("postfix")])},{default:le(()=>[ee(p)]),_:1},8,["class"])):(b(),he(d,{key:1,class:O(["arrow-right",e.ns.e("postfix")])},{default:le(()=>[ee(h)]),_:1},8,["class"]))],64))],42,MG)}var IG=Le($G,[["render",zG],["__file","node.vue"]]);const OG=N({name:"ElCascaderMenu",components:{Loading:vn,ElIcon:Ze,ElScrollbar:wn,ElCascaderNode:IG},props:{nodes:{type:Array,required:!0},index:{type:Number,required:!0}},setup(e){const t=wt(),o=ze("cascader-menu"),{t:r}=Rt(),l=Qo();let n=null,a=null;const i=Ge(Iv),c=D(null),d=C(()=>!e.nodes.length),u=C(()=>!i.initialLoaded),p=C(()=>`${l.value}-${e.index}`),h=_=>{n=_.target},v=_=>{if(!(!i.isHoverMenu||!n||!c.value))if(n.contains(_.target)){m();const g=t.vnode.el,{left:y}=g.getBoundingClientRect(),{offsetWidth:w,offsetHeight:x}=g,$=_.clientX-y,T=n.offsetTop,R=T+n.offsetHeight;c.value.innerHTML=` - `}else a||(a=window.setTimeout(f,i.config.hoverThreshold))},m=()=>{a&&(clearTimeout(a),a=null)},f=()=>{c.value&&(c.value.innerHTML="",m())};return{ns:o,panel:i,hoverZone:c,isEmpty:d,isLoading:u,menuId:p,t:r,handleExpand:h,handleMouseMove:v,clearHoverZone:f}}});function NG(e,t,o,r,l,n){const a=nt("el-cascader-node"),i=nt("loading"),c=nt("el-icon"),d=nt("el-scrollbar");return b(),he(d,{key:e.menuId,tag:"ul",role:"menu",class:O(e.ns.b()),"wrap-class":e.ns.e("wrap"),"view-class":[e.ns.e("list"),e.ns.is("empty",e.isEmpty)],onMousemove:e.handleMouseMove,onMouseleave:e.clearHoverZone},{default:le(()=>{var u;return[(b(!0),M(Qe,null,It(e.nodes,p=>(b(),he(a,{key:p.uid,node:p,"menu-id":e.menuId,onExpand:e.handleExpand},null,8,["node","menu-id","onExpand"]))),128)),e.isLoading?(b(),M("div",{key:0,class:O(e.ns.e("empty-text"))},[ee(c,{size:"14",class:O(e.ns.is("loading"))},{default:le(()=>[ee(i)]),_:1},8,["class"]),Ct(" "+$e(e.t("el.cascader.loading")),1)],2)):e.isEmpty?(b(),M("div",{key:1,class:O(e.ns.e("empty-text"))},$e(e.t("el.cascader.noData")),3)):(u=e.panel)!=null&&u.isHoverMenu?(b(),M("svg",{key:2,ref:"hoverZone",class:O(e.ns.e("hover-zone"))},null,2)):se("v-if",!0)]}),_:1},8,["class","wrap-class","view-class","onMousemove","onMouseleave"])}var PG=Le(OG,[["render",NG],["__file","menu.vue"]]);let RG=0;const LG=e=>{const t=[e];let{parent:o}=e;for(;o;)t.unshift(o),o=o.parent;return t};let Ov=class Em{constructor(t,o,r,l=!1){this.data=t,this.config=o,this.parent=r,this.root=l,this.uid=RG++,this.checked=!1,this.indeterminate=!1,this.loading=!1;const{value:n,label:a,children:i}=o,c=t[i],d=LG(this);this.level=l?0:r?r.level+1:1,this.value=t[n],this.label=t[a],this.pathNodes=d,this.pathValues=d.map(u=>u.value),this.pathLabels=d.map(u=>u.label),this.childrenData=c,this.children=(c||[]).map(u=>new Em(u,o,this)),this.loaded=!o.lazy||this.isLeaf||!Yr(c)}get isDisabled(){const{data:t,parent:o,config:r}=this,{disabled:l,checkStrictly:n}=r;return(it(l)?l(t,this):!!t[l])||!n&&(o==null?void 0:o.isDisabled)}get isLeaf(){const{data:t,config:o,childrenData:r,loaded:l}=this,{lazy:n,leaf:a}=o,i=it(a)?a(t,this):t[a];return ko(i)?n&&!l?!1:!(Array.isArray(r)&&r.length):!!i}get valueByOption(){return this.config.emitPath?this.pathValues:this.value}appendChild(t){const{childrenData:o,children:r}=this,l=new Em(t,this.config,this);return Array.isArray(o)?o.push(t):this.childrenData=[t],r.push(l),l}calcText(t,o){const r=t?this.pathLabels.join(o):this.label;return this.text=r,r}broadcast(t,...o){const r=`onParent${Nl(t)}`;this.children.forEach(l=>{l&&(l.broadcast(t,...o),l[r]&&l[r](...o))})}emit(t,...o){const{parent:r}=this,l=`onChild${Nl(t)}`;r&&(r[l]&&r[l](...o),r.emit(t,...o))}onParentCheck(t){this.isDisabled||this.setCheckState(t)}onChildCheck(){const{children:t}=this,o=t.filter(l=>!l.isDisabled),r=o.length?o.every(l=>l.checked):!1;this.setCheckState(r)}setCheckState(t){const o=this.children.length,r=this.children.reduce((l,n)=>{const a=n.checked?1:n.indeterminate?.5:0;return l+a},0);this.checked=this.loaded&&this.children.filter(l=>!l.isDisabled).every(l=>l.loaded&&l.checked)&&t,this.indeterminate=this.loaded&&r!==o&&r>0}doCheck(t){if(this.checked===t)return;const{checkStrictly:o,multiple:r}=this.config;o||!r?this.checked=t:(this.broadcast("check",t),this.setCheckState(t),this.emit("check"))}};const Nv=(e,t)=>e.reduce((o,r)=>(r.isLeaf?o.push(r):(!t&&o.push(r),o=o.concat(Nv(r.children,t))),o),[]);class Uw{constructor(t,o){this.config=o;const r=(t||[]).map(l=>new Ov(l,this.config));this.nodes=r,this.allNodes=Nv(r,!1),this.leafNodes=Nv(r,!0)}getNodes(){return this.nodes}getFlattedNodes(t){return t?this.leafNodes:this.allNodes}appendNode(t,o){const r=o?o.appendChild(t):new Ov(t,this.config);o||this.nodes.push(r),this.allNodes.push(r),r.isLeaf&&this.leafNodes.push(r)}appendNodes(t,o){t.forEach(r=>this.appendNode(r,o))}getNodeByValue(t,o=!1){return!t&&t!==0?null:this.getFlattedNodes(o).find(l=>nr(l.value,t)||nr(l.pathValues,t))||null}getSameNode(t){return t&&this.getFlattedNodes(!1).find(({value:r,level:l})=>nr(t.value,r)&&t.level===l)||null}}const Ww=Pe({modelValue:{type:ue([Number,String,Array])},options:{type:ue(Array),default:()=>[]},props:{type:ue(Object),default:()=>({})}}),BG={expandTrigger:"click",multiple:!1,checkStrictly:!1,emitPath:!0,lazy:!1,lazyLoad:Wt,value:"value",label:"label",children:"children",leaf:"leaf",disabled:"disabled",hoverThreshold:500},VG=e=>C(()=>({...BG,...e.props})),qw=e=>{if(!e)return 0;const t=e.id.split("-");return Number(t[t.length-2])},DG=e=>{if(!e)return;const t=e.querySelector("input");t?t.click():Fb(e)&&e.click()},HG=(e,t)=>{const o=t.slice(0),r=o.map(n=>n.uid),l=e.reduce((n,a)=>{const i=r.indexOf(a.uid);return i>-1&&(n.push(a),o.splice(i,1),r.splice(i,1)),n},[]);return l.push(...o),l},FG=N({name:"ElCascaderPanel",components:{ElCascaderMenu:PG},props:{...Ww,border:{type:Boolean,default:!0},renderLabel:Function},emits:[St,ro,"close","expand-change"],setup(e,{emit:t,slots:o}){let r=!1;const l=ze("cascader"),n=VG(e);let a=null;const i=D(!0),c=D([]),d=D(null),u=D([]),p=D(null),h=D([]),v=C(()=>n.value.expandTrigger==="hover"),m=C(()=>e.renderLabel||o.default),f=()=>{const{options:j}=e,te=n.value;r=!1,a=new Uw(j,te),u.value=[a.getNodes()],te.lazy&&Yr(e.options)?(i.value=!1,_(void 0,J=>{J&&(a=new Uw(J,te),u.value=[a.getNodes()]),i.value=!0,P(!1,!0)})):P(!1,!0)},_=(j,te)=>{const J=n.value;j=j||new Ov({},J,void 0,!0),j.loading=!0;const Z=H=>{const F=j,K=F.root?null:F;H&&(a==null||a.appendNodes(H,K)),F.loading=!1,F.loaded=!0,F.childrenData=F.childrenData||[],te&&te(H)};J.lazyLoad(j,Z)},g=(j,te)=>{var J;const{level:Z}=j,H=u.value.slice(0,Z);let F;j.isLeaf?F=j.pathNodes[Z-2]:(F=j,H.push(j.children)),((J=p.value)==null?void 0:J.uid)!==(F==null?void 0:F.uid)&&(p.value=j,u.value=H,!te&&t("expand-change",(j==null?void 0:j.pathValues)||[]))},y=(j,te,J=!0)=>{const{checkStrictly:Z,multiple:H}=n.value,F=h.value[0];r=!0,!H&&(F==null||F.doCheck(!1)),j.doCheck(te),R(),J&&!H&&!Z&&t("close"),!J&&!H&&!Z&&w(j)},w=j=>{j&&(j=j.parent,w(j),j&&g(j))},x=j=>a==null?void 0:a.getFlattedNodes(j),$=j=>{var te;return(te=x(j))==null?void 0:te.filter(J=>J.checked!==!1)},T=()=>{h.value.forEach(j=>j.doCheck(!1)),R(),u.value=u.value.slice(0,1),p.value=null,t("expand-change",[])},R=()=>{var j;const{checkStrictly:te,multiple:J}=n.value,Z=h.value,H=$(!te),F=HG(Z,H),K=F.map(I=>I.valueByOption);h.value=F,d.value=J?K:(j=K[0])!=null?j:null},P=(j=!1,te=!1)=>{const{modelValue:J}=e,{lazy:Z,multiple:H,checkStrictly:F}=n.value,K=!F;if(!(!i.value||r||!te&&nr(J,d.value)))if(Z&&!j){const U=o6(Az(Lr(J))).map(oe=>a==null?void 0:a.getNodeByValue(oe)).filter(oe=>!!oe&&!oe.loaded&&!oe.loading);U.length?U.forEach(oe=>{_(oe,()=>P(!1,te))}):P(!0,te)}else{const I=H?Lr(J):[J],U=o6(I.map(oe=>a==null?void 0:a.getNodeByValue(oe,K)));L(U,te),d.value=xd(J)}},L=(j,te=!0)=>{const{checkStrictly:J}=n.value,Z=h.value,H=j.filter(I=>!!I&&(J||I.isLeaf)),F=a==null?void 0:a.getSameNode(p.value),K=te&&F||H[0];K?K.pathNodes.forEach(I=>g(I,!0)):p.value=null,Z.forEach(I=>I.doCheck(!1)),Dt(H).forEach(I=>I.doCheck(!0)),h.value=H,et(B)},B=()=>{Nt&&c.value.forEach(j=>{const te=j==null?void 0:j.$el;if(te){const J=te.querySelector(`.${l.namespace.value}-scrollbar__wrap`),Z=te.querySelector(`.${l.b("node")}.${l.is("active")}`)||te.querySelector(`.${l.b("node")}.in-active-path`);$3(J,Z)}})},V=j=>{const te=j.target,{code:J}=j;switch(J){case lt.up:case lt.down:{j.preventDefault();const Z=J===lt.up?-1:1;fd(jb(te,Z,`.${l.b("node")}[tabindex="-1"]`));break}case lt.left:{j.preventDefault();const Z=c.value[qw(te)-1],H=Z==null?void 0:Z.$el.querySelector(`.${l.b("node")}[aria-expanded="true"]`);fd(H);break}case lt.right:{j.preventDefault();const Z=c.value[qw(te)+1],H=Z==null?void 0:Z.$el.querySelector(`.${l.b("node")}[tabindex="-1"]`);fd(H);break}case lt.enter:DG(te);break}};return zt(Iv,Dt({config:n,expandingNode:p,checkedNodes:h,isHoverMenu:v,initialLoaded:i,renderLabelFn:m,lazyLoad:_,expandNode:g,handleCheckChange:y})),Se([n,()=>e.options],f,{deep:!0,immediate:!0}),Se(()=>e.modelValue,()=>{r=!1,P()},{deep:!0}),Se(()=>d.value,j=>{nr(j,e.modelValue)||(t(St,j),t(ro,j))}),_g(()=>c.value=[]),ft(()=>!Yr(e.modelValue)&&P()),{ns:l,menuList:c,menus:u,checkedNodes:h,handleKeyDown:V,handleCheckChange:y,getFlattedNodes:x,getCheckedNodes:$,clearCheckedNodes:T,calculateCheckedValue:R,scrollToExpandingNode:B}}});function jG(e,t,o,r,l,n){const a=nt("el-cascader-menu");return b(),M("div",{class:O([e.ns.b("panel"),e.ns.is("bordered",e.border)]),onKeydown:t[0]||(t[0]=(...i)=>e.handleKeyDown&&e.handleKeyDown(...i))},[(b(!0),M(Qe,null,It(e.menus,(i,c)=>(b(),he(a,{key:c,ref_for:!0,ref:d=>e.menuList[c]=d,index:c,nodes:[...i]},null,8,["index","nodes"]))),128))],34)}var fp=Le(FG,[["render",jG],["__file","index.vue"]]);fp.install=e=>{e.component(fp.name,fp)};const Yw=fp,KG=Yw,hp=Pe({type:{type:String,values:["primary","success","info","warning","danger"],default:"primary"},closable:Boolean,disableTransitions:Boolean,hit:Boolean,color:String,size:{type:String,values:Rl},effect:{type:String,values:["dark","light","plain"],default:"light"},round:Boolean}),UG=N({...N({name:"ElTag"}),props:hp,emits:{close:e=>e instanceof MouseEvent,click:e=>e instanceof MouseEvent},setup(e,{emit:t}){const o=e,r=So(),l=ze("tag"),n=C(()=>{const{type:c,hit:d,effect:u,closable:p,round:h}=o;return[l.b(),l.is("closable",p),l.m(c||"primary"),l.m(r.value),l.m(u),l.is("hit",d),l.is("round",h)]}),a=c=>{t("close",c)},i=c=>{t("click",c)};return(c,d)=>c.disableTransitions?(b(),M("span",{key:0,class:O(s(n)),style:Je({backgroundColor:c.color}),onClick:i},[E("span",{class:O(s(l).e("content"))},[be(c.$slots,"default")],2),c.closable?(b(),he(s(Ze),{key:0,class:O(s(l).e("close")),onClick:ct(a,["stop"])},{default:le(()=>[ee(s(Jr))]),_:1},8,["class","onClick"])):se("v-if",!0)],6)):(b(),he(Mo,{key:1,name:`${s(l).namespace.value}-zoom-in-center`,appear:""},{default:le(()=>[E("span",{class:O(s(n)),style:Je({backgroundColor:c.color}),onClick:i},[E("span",{class:O(s(l).e("content"))},[be(c.$slots,"default")],2),c.closable?(b(),he(s(Ze),{key:0,class:O(s(l).e("close")),onClick:ct(a,["stop"])},{default:le(()=>[ee(s(Jr))]),_:1},8,["class","onClick"])):se("v-if",!0)],6)]),_:3},8,["name"]))}});var WG=Le(UG,[["__file","tag.vue"]]);const Rc=yt(WG),qG=Pe({...Ww,size:Oo,placeholder:String,disabled:Boolean,clearable:Boolean,filterable:Boolean,filterMethod:{type:ue(Function),default:(e,t)=>e.text.includes(t)},separator:{type:String,default:" / "},showAllLevels:{type:Boolean,default:!0},collapseTags:Boolean,maxCollapseTags:{type:Number,default:1},collapseTagsTooltip:{type:Boolean,default:!1},debounce:{type:Number,default:300},beforeFilter:{type:ue(Function),default:()=>!0},popperClass:{type:String,default:""},teleported:Uo.teleported,tagType:{...hp.type,default:"info"},validateEvent:{type:Boolean,default:!0},...Xi}),YG={[St]:e=>!0,[ro]:e=>!0,focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,visibleChange:e=>Co(e),expandChange:e=>!!e,removeTag:e=>!!e},GG={key:0},XG=["placeholder","onKeydown"],ZG=["onClick"],JG=N({...N({name:"ElCascader"}),props:qG,emits:YG,setup(e,{expose:t,emit:o}){const r=e,l={modifiers:[{name:"arrowPosition",enabled:!0,phase:"main",fn:({state:X})=>{const{modifiersData:re,placement:ge}=X;["right","left","bottom","top"].includes(ge)||(re.arrow.x=35)},requires:["arrow"]}]},n=ya();let a=0,i=0;const c=ze("cascader"),d=ze("input"),{t:u}=Rt(),{form:p,formItem:h}=sr(),{valueOnClear:v}=Wd(r),m=D(null),f=D(null),_=D(null),g=D(null),y=D(null),w=D(!1),x=D(!1),$=D(!1),T=D(!1),R=D(""),P=D(""),L=D([]),B=D([]),V=D([]),j=D(!1),te=C(()=>n.style),J=C(()=>r.disabled||(p==null?void 0:p.disabled)),Z=C(()=>r.placeholder||u("el.cascader.placeholder")),H=C(()=>P.value||L.value.length>0||j.value?"":Z.value),F=So(),K=C(()=>["small"].includes(F.value)?"small":"default"),I=C(()=>!!r.props.multiple),U=C(()=>!r.filterable||I.value),oe=C(()=>I.value?P.value:R.value),ne=C(()=>{var X;return((X=g.value)==null?void 0:X.checkedNodes)||[]}),ce=C(()=>!r.clearable||J.value||$.value||!x.value?!1:!!ne.value.length),Q=C(()=>{const{showAllLevels:X,separator:re}=r,ge=ne.value;return ge.length?I.value?"":ge[0].calcText(X,re):""}),Me=C(()=>(h==null?void 0:h.validateState)||""),de=C({get(){return xd(r.modelValue)},set(X){const re=X||v.value;o(St,re),o(ro,re),r.validateEvent&&(h==null||h.validate("change").catch(ge=>void 0))}}),_e=C(()=>[c.b(),c.m(F.value),c.is("disabled",J.value),n.class]),me=C(()=>[d.e("icon"),"icon-arrow-down",c.is("reverse",w.value)]),Re=C(()=>c.is("focus",w.value||T.value)),Ce=C(()=>{var X,re;return(re=(X=m.value)==null?void 0:X.popperRef)==null?void 0:re.contentRef}),Ee=X=>{var re,ge,fe;J.value||(X=X??!w.value,X!==w.value&&(w.value=X,(ge=(re=f.value)==null?void 0:re.input)==null||ge.setAttribute("aria-expanded",`${X}`),X?(De(),et((fe=g.value)==null?void 0:fe.scrollToExpandingNode)):r.filterable&&ye(),o("visibleChange",X)))},De=()=>{et(()=>{var X;(X=m.value)==null||X.updatePopper()})},ae=()=>{$.value=!1},pe=X=>{const{showAllLevels:re,separator:ge}=r;return{node:X,key:X.uid,text:X.calcText(re,ge),hitState:!1,closable:!J.value&&!X.isDisabled,isCollapseTag:!1}},ke=X=>{var re;const ge=X.node;ge.doCheck(!1),(re=g.value)==null||re.calculateCheckedValue(),o("removeTag",ge.valueByOption)},Oe=()=>{if(!I.value)return;const X=ne.value,re=[],ge=[];if(X.forEach(fe=>ge.push(pe(fe))),B.value=ge,X.length){X.slice(0,r.maxCollapseTags).forEach(at=>re.push(pe(at)));const fe=X.slice(r.maxCollapseTags),Fe=fe.length;Fe&&(r.collapseTags?re.push({key:-1,text:`+ ${Fe}`,closable:!1,isCollapseTag:!0}):fe.forEach(at=>re.push(pe(at))))}L.value=re},we=()=>{var X,re;const{filterMethod:ge,showAllLevels:fe,separator:Fe}=r,at=(re=(X=g.value)==null?void 0:X.getFlattedNodes(!r.props.checkStrictly))==null?void 0:re.filter(_t=>_t.isDisabled?!1:(_t.calcText(fe,Fe),ge(_t,oe.value)));I.value&&(L.value.forEach(_t=>{_t.hitState=!1}),B.value.forEach(_t=>{_t.hitState=!1})),$.value=!0,V.value=at,De()},Te=()=>{var X;let re;$.value&&y.value?re=y.value.$el.querySelector(`.${c.e("suggestion-item")}`):re=(X=g.value)==null?void 0:X.$el.querySelector(`.${c.b("node")}[tabindex="-1"]`),re&&(re.focus(),!$.value&&re.click())},Ne=()=>{var X,re;const ge=(X=f.value)==null?void 0:X.input,fe=_.value,Fe=(re=y.value)==null?void 0:re.$el;if(!(!Nt||!ge)){if(Fe){const at=Fe.querySelector(`.${c.e("suggestion-list")}`);at.style.minWidth=`${ge.offsetWidth}px`}if(fe){const{offsetHeight:at}=fe,_t=L.value.length>0?`${Math.max(at+6,a)}px`:`${a}px`;ge.style.height=_t,De()}}},Ie=X=>{var re;return(re=g.value)==null?void 0:re.getCheckedNodes(X)},Ae=X=>{De(),o("expandChange",X)},xe=X=>{var re;const ge=(re=X.target)==null?void 0:re.value;if(X.type==="compositionend")j.value=!1,et(()=>A(ge));else{const fe=ge[ge.length-1]||"";j.value=!xh(fe)}},We=X=>{if(!j.value)switch(X.code){case lt.enter:Ee();break;case lt.down:Ee(!0),et(Te),X.preventDefault();break;case lt.esc:w.value===!0&&(X.preventDefault(),X.stopPropagation(),Ee(!1));break;case lt.tab:Ee(!1);break}},qe=()=>{var X;(X=g.value)==null||X.clearCheckedNodes(),!w.value&&r.filterable&&ye(),Ee(!1)},ye=()=>{const{value:X}=Q;R.value=X,P.value=X},Ye=X=>{var re,ge;const{checked:fe}=X;I.value?(re=g.value)==null||re.handleCheckChange(X,!fe,!1):(!fe&&((ge=g.value)==null||ge.handleCheckChange(X,!0,!1)),Ee(!1))},tt=X=>{const re=X.target,{code:ge}=X;switch(ge){case lt.up:case lt.down:{const fe=ge===lt.up?-1:1;fd(jb(re,fe,`.${c.e("suggestion-item")}[tabindex="-1"]`));break}case lt.enter:re.click();break}},pt=()=>{const X=L.value,re=X[X.length-1];i=P.value?0:i+1,!(!re||!i||r.collapseTags&&X.length>1)&&(re.hitState?ke(re):re.hitState=!0)},dt=X=>{const re=X.target,ge=c.e("search-input");re.className===ge&&(T.value=!0),o("focus",X)},Y=X=>{T.value=!1,o("blur",X)},S=Mr(()=>{const{value:X}=oe;if(!X)return;const re=r.beforeFilter(X);Es(re)?re.then(we).catch(()=>{}):re!==!1?we():ae()},r.debounce),A=(X,re)=>{!w.value&&Ee(!0),!(re!=null&&re.isComposing)&&(X?S():ae())},G=X=>Number.parseFloat(nE(d.cssVarName("input-height"),X).value)-2;return Se($,De),Se([ne,J],Oe),Se(L,()=>{et(()=>Ne())}),Se(F,async()=>{await et();const X=f.value.input;a=G(X)||a,Ne()}),Se(Q,ye,{immediate:!0}),ft(()=>{const X=f.value.input,re=G(X);a=X.offsetHeight||re,so(X,Ne)}),t({getCheckedNodes:Ie,cascaderPanelRef:g,togglePopperVisible:Ee,contentRef:Ce}),(X,re)=>(b(),he(s(ur),{ref_key:"tooltipRef",ref:m,visible:w.value,teleported:X.teleported,"popper-class":[s(c).e("dropdown"),X.popperClass],"popper-options":l,"fallback-placements":["bottom-start","bottom","top-start","top","right","left"],"stop-popper-mouse-event":!1,"gpu-acceleration":!1,placement:"bottom-start",transition:`${s(c).namespace.value}-zoom-in-top`,effect:"light",pure:"",persistent:"",onHide:ae},{default:le(()=>[mt((b(),M("div",{class:O(s(_e)),style:Je(s(te)),onClick:re[5]||(re[5]=()=>Ee(s(U)?void 0:!0)),onKeydown:We,onMouseenter:re[6]||(re[6]=ge=>x.value=!0),onMouseleave:re[7]||(re[7]=ge=>x.value=!1)},[ee(s(cr),{ref_key:"input",ref:f,modelValue:R.value,"onUpdate:modelValue":re[1]||(re[1]=ge=>R.value=ge),placeholder:s(H),readonly:s(U),disabled:s(J),"validate-event":!1,size:s(F),class:O(s(Re)),tabindex:s(I)&&X.filterable&&!s(J)?-1:void 0,onCompositionstart:xe,onCompositionupdate:xe,onCompositionend:xe,onFocus:dt,onBlur:Y,onInput:A},{suffix:le(()=>[s(ce)?(b(),he(s(Ze),{key:"clear",class:O([s(d).e("icon"),"icon-circle-close"]),onClick:ct(qe,["stop"])},{default:le(()=>[ee(s(hn))]),_:1},8,["class","onClick"])):(b(),he(s(Ze),{key:"arrow-down",class:O(s(me)),onClick:re[0]||(re[0]=ct(ge=>Ee(),["stop"]))},{default:le(()=>[ee(s(Pl))]),_:1},8,["class"]))]),_:1},8,["modelValue","placeholder","readonly","disabled","size","class","tabindex"]),s(I)?(b(),M("div",{key:0,ref_key:"tagWrapper",ref:_,class:O([s(c).e("tags"),s(c).is("validate",!!s(Me))])},[(b(!0),M(Qe,null,It(L.value,ge=>(b(),he(s(Rc),{key:ge.key,type:X.tagType,size:s(K),hit:ge.hitState,closable:ge.closable,"disable-transitions":"",onClose:fe=>ke(ge)},{default:le(()=>[ge.isCollapseTag===!1?(b(),M("span",GG,$e(ge.text),1)):(b(),he(s(ur),{key:1,disabled:w.value||!X.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],placement:"bottom",effect:"light"},{default:le(()=>[E("span",null,$e(ge.text),1)]),content:le(()=>[E("div",{class:O(s(c).e("collapse-tags"))},[(b(!0),M(Qe,null,It(B.value.slice(X.maxCollapseTags),(fe,Fe)=>(b(),M("div",{key:Fe,class:O(s(c).e("collapse-tag"))},[(b(),he(s(Rc),{key:fe.key,class:"in-tooltip",type:X.tagType,size:s(K),hit:fe.hitState,closable:fe.closable,"disable-transitions":"",onClose:at=>ke(fe)},{default:le(()=>[E("span",null,$e(fe.text),1)]),_:2},1032,["type","size","hit","closable","onClose"]))],2))),128))],2)]),_:2},1032,["disabled"]))]),_:2},1032,["type","size","hit","closable","onClose"]))),128)),X.filterable&&!s(J)?mt((b(),M("input",{key:0,"onUpdate:modelValue":re[2]||(re[2]=ge=>P.value=ge),type:"text",class:O(s(c).e("search-input")),placeholder:s(Q)?"":s(Z),onInput:re[3]||(re[3]=ge=>A(P.value,ge)),onClick:re[4]||(re[4]=ct(ge=>Ee(!0),["stop"])),onKeydown:Gt(pt,["delete"]),onCompositionstart:xe,onCompositionupdate:xe,onCompositionend:xe,onFocus:dt,onBlur:Y},null,42,XG)),[[l0,P.value]]):se("v-if",!0)],2)):se("v-if",!0)],38)),[[s(xn),()=>Ee(!1),s(Ce)]])]),content:le(()=>[mt(ee(s(Yw),{ref_key:"cascaderPanelRef",ref:g,modelValue:s(de),"onUpdate:modelValue":re[8]||(re[8]=ge=>Zt(de)?de.value=ge:null),options:X.options,props:r.props,border:!1,"render-label":X.$slots.default,onExpandChange:Ae,onClose:re[9]||(re[9]=ge=>X.$nextTick(()=>Ee(!1)))},null,8,["modelValue","options","props","render-label"]),[[Lt,!$.value]]),X.filterable?mt((b(),he(s(wn),{key:0,ref_key:"suggestionPanel",ref:y,tag:"ul",class:O(s(c).e("suggestion-panel")),"view-class":s(c).e("suggestion-list"),onKeydown:tt},{default:le(()=>[V.value.length?(b(!0),M(Qe,{key:0},It(V.value,ge=>(b(),M("li",{key:ge.uid,class:O([s(c).e("suggestion-item"),s(c).is("checked",ge.checked)]),tabindex:-1,onClick:fe=>Ye(ge)},[E("span",null,$e(ge.text),1),ge.checked?(b(),he(s(Ze),{key:0},{default:le(()=>[ee(s(Li))]),_:1})):se("v-if",!0)],10,ZG))),128)):be(X.$slots,"empty",{key:1},()=>[E("li",{class:O(s(c).e("empty-text"))},$e(s(u)("el.cascader.noMatch")),3)])]),_:3},8,["class","view-class"])),[[Lt,$.value]]):se("v-if",!0)]),_:3},8,["visible","teleported","popper-class","transition"]))}});var vp=Le(JG,[["__file","cascader.vue"]]);vp.install=e=>{e.component(vp.name,vp)};const QG=vp,eX=Pe({checked:{type:Boolean,default:!1},type:{type:String,values:["primary","success","info","warning","danger"],default:"primary"}}),tX={"update:checked":e=>Co(e),[ro]:e=>Co(e)},oX=N({...N({name:"ElCheckTag"}),props:eX,emits:tX,setup(e,{emit:t}){const o=e,r=ze("check-tag"),l=C(()=>[r.b(),r.is("checked",o.checked),r.m(o.type||"primary")]),n=()=>{const a=!o.checked;t(ro,a),t("update:checked",a)};return(a,i)=>(b(),M("span",{class:O(s(l)),onClick:n},[be(a.$slots,"default")],2))}});var rX=Le(oX,[["__file","check-tag.vue"]]);const lX=yt(rX),Gw=Symbol("rowContextKey"),nX=Pe({tag:{type:String,default:"div"},gutter:{type:Number,default:0},justify:{type:String,values:["start","center","end","space-around","space-between","space-evenly"],default:"start"},align:{type:String,values:["top","middle","bottom"]}}),aX=N({...N({name:"ElRow"}),props:nX,setup(e){const t=e,o=ze("row"),r=C(()=>t.gutter);zt(Gw,{gutter:r});const l=C(()=>{const a={};return t.gutter&&(a.marginRight=a.marginLeft=`-${t.gutter/2}px`),a}),n=C(()=>[o.b(),o.is(`justify-${t.justify}`,t.justify!=="start"),o.is(`align-${t.align}`,!!t.align)]);return(a,i)=>(b(),he(Et(a.tag),{class:O(s(n)),style:Je(s(l))},{default:le(()=>[be(a.$slots,"default")]),_:3},8,["class","style"]))}});var iX=Le(aX,[["__file","row.vue"]]);const sX=yt(iX),cX=Pe({tag:{type:String,default:"div"},span:{type:Number,default:24},offset:{type:Number,default:0},pull:{type:Number,default:0},push:{type:Number,default:0},xs:{type:ue([Number,Object]),default:()=>uo({})},sm:{type:ue([Number,Object]),default:()=>uo({})},md:{type:ue([Number,Object]),default:()=>uo({})},lg:{type:ue([Number,Object]),default:()=>uo({})},xl:{type:ue([Number,Object]),default:()=>uo({})}}),uX=N({...N({name:"ElCol"}),props:cX,setup(e){const t=e,{gutter:o}=Ge(Gw,{gutter:C(()=>0)}),r=ze("col"),l=C(()=>{const a={};return o.value&&(a.paddingLeft=a.paddingRight=`${o.value/2}px`),a}),n=C(()=>{const a=[];return["span","offset","pull","push"].forEach(d=>{const u=t[d];st(u)&&(d==="span"?a.push(r.b(`${t[d]}`)):u>0&&a.push(r.b(`${d}-${t[d]}`)))}),["xs","sm","md","lg","xl"].forEach(d=>{st(t[d])?a.push(r.b(`${d}-${t[d]}`)):xt(t[d])&&Object.entries(t[d]).forEach(([u,p])=>{a.push(u!=="span"?r.b(`${d}-${u}-${p}`):r.b(`${d}-${p}`))})}),o.value&&a.push(r.is("guttered")),[r.b(),a]});return(a,i)=>(b(),he(Et(a.tag),{class:O(s(n)),style:Je(s(l))},{default:le(()=>[be(a.$slots,"default")]),_:3},8,["class","style"]))}});var dX=Le(uX,[["__file","col.vue"]]);const pX=yt(dX),Xw=e=>st(e)||ut(e)||Ke(e),fX=Pe({accordion:Boolean,modelValue:{type:ue([Array,String,Number]),default:()=>uo([])}}),hX={[St]:Xw,[ro]:Xw},Zw=Symbol("collapseContextKey"),vX=(e,t)=>{const o=D(Gn(e.modelValue)),r=n=>{o.value=n;const a=e.accordion?o.value[0]:o.value;t(St,a),t(ro,a)},l=n=>{if(e.accordion)r([o.value[0]===n?"":n]);else{const a=[...o.value],i=a.indexOf(n);i>-1?a.splice(i,1):a.push(n),r(a)}};return Se(()=>e.modelValue,()=>o.value=Gn(e.modelValue),{deep:!0}),zt(Zw,{activeNames:o,handleItemClick:l}),{activeNames:o,setActiveNames:r}},mX=()=>{const e=ze("collapse");return{rootKls:C(()=>e.b())}},gX=N({...N({name:"ElCollapse"}),props:fX,emits:hX,setup(e,{expose:t,emit:o}){const r=e,{activeNames:l,setActiveNames:n}=vX(r,o),{rootKls:a}=mX();return t({activeNames:l,setActiveNames:n}),(i,c)=>(b(),M("div",{class:O(s(a))},[be(i.$slots,"default")],2))}});var bX=Le(gX,[["__file","collapse.vue"]]);const _X=N({...N({name:"ElCollapseTransition"}),setup(e){const t=ze("collapse-transition"),o=l=>{l.style.maxHeight="",l.style.overflow=l.dataset.oldOverflow,l.style.paddingTop=l.dataset.oldPaddingTop,l.style.paddingBottom=l.dataset.oldPaddingBottom},r={beforeEnter(l){l.dataset||(l.dataset={}),l.dataset.oldPaddingTop=l.style.paddingTop,l.dataset.oldPaddingBottom=l.style.paddingBottom,l.style.height&&(l.dataset.elExistsHeight=l.style.height),l.style.maxHeight=0,l.style.paddingTop=0,l.style.paddingBottom=0},enter(l){requestAnimationFrame(()=>{l.dataset.oldOverflow=l.style.overflow,l.dataset.elExistsHeight?l.style.maxHeight=l.dataset.elExistsHeight:l.scrollHeight!==0?l.style.maxHeight=`${l.scrollHeight}px`:l.style.maxHeight=0,l.style.paddingTop=l.dataset.oldPaddingTop,l.style.paddingBottom=l.dataset.oldPaddingBottom,l.style.overflow="hidden"})},afterEnter(l){l.style.maxHeight="",l.style.overflow=l.dataset.oldOverflow},enterCancelled(l){o(l)},beforeLeave(l){l.dataset||(l.dataset={}),l.dataset.oldPaddingTop=l.style.paddingTop,l.dataset.oldPaddingBottom=l.style.paddingBottom,l.dataset.oldOverflow=l.style.overflow,l.style.maxHeight=`${l.scrollHeight}px`,l.style.overflow="hidden"},leave(l){l.scrollHeight!==0&&(l.style.maxHeight=0,l.style.paddingTop=0,l.style.paddingBottom=0)},afterLeave(l){o(l)},leaveCancelled(l){o(l)}};return(l,n)=>(b(),he(Mo,Mt({name:s(t).b()},Nk(r)),{default:le(()=>[be(l.$slots,"default")]),_:3},16,["name"]))}});var mp=Le(_X,[["__file","collapse-transition.vue"]]);mp.install=e=>{e.component(mp.name,mp)};const gp=mp,wX=gp,yX=Pe({title:{type:String,default:""},name:{type:ue([String,Number]),default:void 0},disabled:Boolean}),xX=e=>{const t=Ge(Zw),{namespace:o}=ze("collapse"),r=D(!1),l=D(!1),n=Rh(),a=C(()=>n.current++),i=C(()=>{var h;return(h=e.name)!=null?h:`${o.value}-id-${n.prefix}-${s(a)}`}),c=C(()=>t==null?void 0:t.activeNames.value.includes(s(i)));return{focusing:r,id:a,isActive:c,handleFocus:()=>{setTimeout(()=>{l.value?l.value=!1:r.value=!0},50)},handleHeaderClick:()=>{e.disabled||(t==null||t.handleItemClick(s(i)),r.value=!1,l.value=!0)},handleEnterClick:()=>{t==null||t.handleItemClick(s(i))}}},kX=(e,{focusing:t,isActive:o,id:r})=>{const l=ze("collapse"),n=C(()=>[l.b("item"),l.is("active",s(o)),l.is("disabled",e.disabled)]),a=C(()=>[l.be("item","header"),l.is("active",s(o)),{focusing:s(t)&&!e.disabled}]),i=C(()=>[l.be("item","arrow"),l.is("active",s(o))]),c=C(()=>l.be("item","wrap")),d=C(()=>l.be("item","content")),u=C(()=>l.b(`content-${s(r)}`)),p=C(()=>l.b(`head-${s(r)}`));return{arrowKls:i,headKls:a,rootKls:n,itemWrapperKls:c,itemContentKls:d,scopedContentId:u,scopedHeadId:p}},CX=["id","aria-expanded","aria-controls","aria-describedby","tabindex"],SX=["id","aria-hidden","aria-labelledby"],EX=N({...N({name:"ElCollapseItem"}),props:yX,setup(e,{expose:t}){const o=e,{focusing:r,id:l,isActive:n,handleFocus:a,handleHeaderClick:i,handleEnterClick:c}=xX(o),{arrowKls:d,headKls:u,rootKls:p,itemWrapperKls:h,itemContentKls:v,scopedContentId:m,scopedHeadId:f}=kX(o,{focusing:r,isActive:n,id:l});return t({isActive:n}),(_,g)=>(b(),M("div",{class:O(s(p))},[E("button",{id:s(f),class:O(s(u)),"aria-expanded":s(n),"aria-controls":s(m),"aria-describedby":s(m),tabindex:_.disabled?-1:0,type:"button",onClick:g[0]||(g[0]=(...y)=>s(i)&&s(i)(...y)),onKeydown:g[1]||(g[1]=Gt(ct((...y)=>s(c)&&s(c)(...y),["stop","prevent"]),["space","enter"])),onFocus:g[2]||(g[2]=(...y)=>s(a)&&s(a)(...y)),onBlur:g[3]||(g[3]=y=>r.value=!1)},[be(_.$slots,"title",{},()=>[Ct($e(_.title),1)]),ee(s(Ze),{class:O(s(d))},{default:le(()=>[ee(s(ir))]),_:1},8,["class"])],42,CX),ee(s(gp),null,{default:le(()=>[mt(E("div",{id:s(m),role:"region",class:O(s(h)),"aria-hidden":!s(n),"aria-labelledby":s(f)},[E("div",{class:O(s(v))},[be(_.$slots,"default")],2)],10,SX),[[Lt,s(n)]])]),_:3})],2))}});var Jw=Le(EX,[["__file","collapse-item.vue"]]);const TX=yt(bX,{CollapseItem:Jw}),$X=co(Jw),MX=Pe({color:{type:ue(Object),required:!0},vertical:{type:Boolean,default:!1}});let Pv=!1;function Lc(e,t){if(!Nt)return;const o=function(n){var a;(a=t.drag)==null||a.call(t,n)},r=function(n){var a;document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",r),document.removeEventListener("touchmove",o),document.removeEventListener("touchend",r),document.onselectstart=null,document.ondragstart=null,Pv=!1,(a=t.end)==null||a.call(t,n)},l=function(n){var a;Pv||(n.preventDefault(),document.onselectstart=()=>!1,document.ondragstart=()=>!1,document.addEventListener("mousemove",o),document.addEventListener("mouseup",r),document.addEventListener("touchmove",o),document.addEventListener("touchend",r),Pv=!0,(a=t.start)==null||a.call(t,n))};e.addEventListener("mousedown",l),e.addEventListener("touchstart",l)}const AX=e=>{const t=wt(),o=lo(),r=lo();function l(a){a.target!==o.value&&n(a)}function n(a){if(!r.value||!o.value)return;const c=t.vnode.el.getBoundingClientRect(),{clientX:d,clientY:u}=R0(a);if(e.vertical){let p=u-c.top;p=Math.max(o.value.offsetHeight/2,p),p=Math.min(p,c.height-o.value.offsetHeight/2),e.color.set("alpha",Math.round((p-o.value.offsetHeight/2)/(c.height-o.value.offsetHeight)*100))}else{let p=d-c.left;p=Math.max(o.value.offsetWidth/2,p),p=Math.min(p,c.width-o.value.offsetWidth/2),e.color.set("alpha",Math.round((p-o.value.offsetWidth/2)/(c.width-o.value.offsetWidth)*100))}}return{thumb:o,bar:r,handleDrag:n,handleClick:l}},zX=(e,{bar:t,thumb:o,handleDrag:r})=>{const l=wt(),n=ze("color-alpha-slider"),a=D(0),i=D(0),c=D();function d(){if(!o.value||e.vertical)return 0;const y=l.vnode.el,w=e.color.get("alpha");return y?Math.round(w*(y.offsetWidth-o.value.offsetWidth/2)/100):0}function u(){if(!o.value)return 0;const y=l.vnode.el;if(!e.vertical)return 0;const w=e.color.get("alpha");return y?Math.round(w*(y.offsetHeight-o.value.offsetHeight/2)/100):0}function p(){if(e.color&&e.color.value){const{r:y,g:w,b:x}=e.color.toRgb();return`linear-gradient(to right, rgba(${y}, ${w}, ${x}, 0) 0%, rgba(${y}, ${w}, ${x}, 1) 100%)`}return""}function h(){a.value=d(),i.value=u(),c.value=p()}ft(()=>{if(!t.value||!o.value)return;const y={drag:w=>{r(w)},end:w=>{r(w)}};Lc(t.value,y),Lc(o.value,y),h()}),Se(()=>e.color.get("alpha"),()=>h()),Se(()=>e.color.value,()=>h());const v=C(()=>[n.b(),n.is("vertical",e.vertical)]),m=C(()=>n.e("bar")),f=C(()=>n.e("thumb")),_=C(()=>({background:c.value})),g=C(()=>({left:mo(a.value),top:mo(i.value)}));return{rootKls:v,barKls:m,barStyle:_,thumbKls:f,thumbStyle:g,update:h}},IX=N({...N({name:"ElColorAlphaSlider"}),props:MX,setup(e,{expose:t}){const o=e,{bar:r,thumb:l,handleDrag:n,handleClick:a}=AX(o),{rootKls:i,barKls:c,barStyle:d,thumbKls:u,thumbStyle:p,update:h}=zX(o,{bar:r,thumb:l,handleDrag:n});return t({update:h,bar:r,thumb:l}),(v,m)=>(b(),M("div",{class:O(s(i))},[E("div",{ref_key:"bar",ref:r,class:O(s(c)),style:Je(s(d)),onClick:m[0]||(m[0]=(...f)=>s(a)&&s(a)(...f))},null,6),E("div",{ref_key:"thumb",ref:l,class:O(s(u)),style:Je(s(p))},null,6)],2))}});var OX=Le(IX,[["__file","alpha-slider.vue"]]);const NX=N({name:"ElColorHueSlider",props:{color:{type:Object,required:!0},vertical:Boolean},setup(e){const t=ze("color-hue-slider"),o=wt(),r=D(),l=D(),n=D(0),a=D(0),i=C(()=>e.color.get("hue"));Se(()=>i.value,()=>{h()});function c(v){v.target!==r.value&&d(v)}function d(v){if(!l.value||!r.value)return;const f=o.vnode.el.getBoundingClientRect(),{clientX:_,clientY:g}=R0(v);let y;if(e.vertical){let w=g-f.top;w=Math.min(w,f.height-r.value.offsetHeight/2),w=Math.max(r.value.offsetHeight/2,w),y=Math.round((w-r.value.offsetHeight/2)/(f.height-r.value.offsetHeight)*360)}else{let w=_-f.left;w=Math.min(w,f.width-r.value.offsetWidth/2),w=Math.max(r.value.offsetWidth/2,w),y=Math.round((w-r.value.offsetWidth/2)/(f.width-r.value.offsetWidth)*360)}e.color.set("hue",y)}function u(){if(!r.value)return 0;const v=o.vnode.el;if(e.vertical)return 0;const m=e.color.get("hue");return v?Math.round(m*(v.offsetWidth-r.value.offsetWidth/2)/360):0}function p(){if(!r.value)return 0;const v=o.vnode.el;if(!e.vertical)return 0;const m=e.color.get("hue");return v?Math.round(m*(v.offsetHeight-r.value.offsetHeight/2)/360):0}function h(){n.value=u(),a.value=p()}return ft(()=>{if(!l.value||!r.value)return;const v={drag:m=>{d(m)},end:m=>{d(m)}};Lc(l.value,v),Lc(r.value,v),h()}),{bar:l,thumb:r,thumbLeft:n,thumbTop:a,hueValue:i,handleClick:c,update:h,ns:t}}});function PX(e,t,o,r,l,n){return b(),M("div",{class:O([e.ns.b(),e.ns.is("vertical",e.vertical)])},[E("div",{ref:"bar",class:O(e.ns.e("bar")),onClick:t[0]||(t[0]=(...a)=>e.handleClick&&e.handleClick(...a))},null,2),E("div",{ref:"thumb",class:O(e.ns.e("thumb")),style:Je({left:e.thumbLeft+"px",top:e.thumbTop+"px"})},null,6)],2)}var RX=Le(NX,[["render",PX],["__file","hue-slider.vue"]]);const LX=Pe({modelValue:String,id:String,showAlpha:Boolean,colorFormat:String,disabled:Boolean,size:Oo,popperClass:{type:String,default:""},label:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},teleported:Uo.teleported,predefine:{type:ue(Array)},validateEvent:{type:Boolean,default:!0},...Zo(["ariaLabel"])}),BX={[St]:e=>ut(e)||jo(e),[ro]:e=>ut(e)||jo(e),activeChange:e=>ut(e)||jo(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent},Qw=Symbol("colorPickerContextKey"),ey=function(e,t,o){return[e,t*o/((e=(2-t)*o)<1?e:2-e)||0,e/2]},VX=function(e){return typeof e=="string"&&e.includes(".")&&Number.parseFloat(e)===1},DX=function(e){return typeof e=="string"&&e.includes("%")},rs=function(e,t){VX(e)&&(e="100%");const o=DX(e);return e=Math.min(t,Math.max(0,Number.parseFloat(`${e}`))),o&&(e=Number.parseInt(`${e*t}`,10)/100),Math.abs(e-t)<1e-6?1:e%t/Number.parseFloat(t)},ty={10:"A",11:"B",12:"C",13:"D",14:"E",15:"F"},bp=e=>{e=Math.min(Math.round(e),255);const t=Math.floor(e/16),o=e%16;return`${ty[t]||t}${ty[o]||o}`},oy=function({r:e,g:t,b:o}){return Number.isNaN(+e)||Number.isNaN(+t)||Number.isNaN(+o)?"":`#${bp(e)}${bp(t)}${bp(o)}`},Rv={A:10,B:11,C:12,D:13,E:14,F:15},Xa=function(e){return e.length===2?(Rv[e[0].toUpperCase()]||+e[0])*16+(Rv[e[1].toUpperCase()]||+e[1]):Rv[e[1].toUpperCase()]||+e[1]},HX=function(e,t,o){t=t/100,o=o/100;let r=t;const l=Math.max(o,.01);o*=2,t*=o<=1?o:2-o,r*=l<=1?l:2-l;const n=(o+t)/2,a=o===0?2*r/(l+r):2*t/(o+t);return{h:e,s:a*100,v:n*100}},ry=(e,t,o)=>{e=rs(e,255),t=rs(t,255),o=rs(o,255);const r=Math.max(e,t,o),l=Math.min(e,t,o);let n;const a=r,i=r-l,c=r===0?0:i/r;if(r===l)n=0;else{switch(r){case e:{n=(t-o)/i+(t{this._hue=Math.max(0,Math.min(360,r)),this._saturation=Math.max(0,Math.min(100,l)),this._value=Math.max(0,Math.min(100,n)),this.doOnChange()};if(t.includes("hsl")){const r=t.replace(/hsla|hsl|\(|\)/gm,"").split(/\s|,/g).filter(l=>l!=="").map((l,n)=>n>2?Number.parseFloat(l):Number.parseInt(l,10));if(r.length===4?this._alpha=Number.parseFloat(r[3])*100:r.length===3&&(this._alpha=100),r.length>=3){const{h:l,s:n,v:a}=HX(r[0],r[1],r[2]);o(l,n,a)}}else if(t.includes("hsv")){const r=t.replace(/hsva|hsv|\(|\)/gm,"").split(/\s|,/g).filter(l=>l!=="").map((l,n)=>n>2?Number.parseFloat(l):Number.parseInt(l,10));r.length===4?this._alpha=Number.parseFloat(r[3])*100:r.length===3&&(this._alpha=100),r.length>=3&&o(r[0],r[1],r[2])}else if(t.includes("rgb")){const r=t.replace(/rgba|rgb|\(|\)/gm,"").split(/\s|,/g).filter(l=>l!=="").map((l,n)=>n>2?Number.parseFloat(l):Number.parseInt(l,10));if(r.length===4?this._alpha=Number.parseFloat(r[3])*100:r.length===3&&(this._alpha=100),r.length>=3){const{h:l,s:n,v:a}=ry(r[0],r[1],r[2]);o(l,n,a)}}else if(t.includes("#")){const r=t.replace("#","").trim();if(!/^[0-9a-fA-F]{3}$|^[0-9a-fA-F]{6}$|^[0-9a-fA-F]{8}$/.test(r))return;let l,n,a;r.length===3?(l=Xa(r[0]+r[0]),n=Xa(r[1]+r[1]),a=Xa(r[2]+r[2])):(r.length===6||r.length===8)&&(l=Xa(r.slice(0,2)),n=Xa(r.slice(2,4)),a=Xa(r.slice(4,6))),r.length===8?this._alpha=Xa(r.slice(6))/255*100:(r.length===3||r.length===6)&&(this._alpha=100);const{h:i,s:c,v:d}=ry(l,n,a);o(i,c,d)}}compare(t){return Math.abs(t._hue-this._hue)<2&&Math.abs(t._saturation-this._saturation)<1&&Math.abs(t._value-this._value)<1&&Math.abs(t._alpha-this._alpha)<1}doOnChange(){const{_hue:t,_saturation:o,_value:r,_alpha:l,format:n}=this;if(this.enableAlpha)switch(n){case"hsl":{const a=ey(t,o/100,r/100);this.value=`hsla(${t}, ${Math.round(a[1]*100)}%, ${Math.round(a[2]*100)}%, ${this.get("alpha")/100})`;break}case"hsv":{this.value=`hsva(${t}, ${Math.round(o)}%, ${Math.round(r)}%, ${this.get("alpha")/100})`;break}case"hex":{this.value=`${oy(Bc(t,o,r))}${bp(l*255/100)}`;break}default:{const{r:a,g:i,b:c}=Bc(t,o,r);this.value=`rgba(${a}, ${i}, ${c}, ${this.get("alpha")/100})`}}else switch(n){case"hsl":{const a=ey(t,o/100,r/100);this.value=`hsl(${t}, ${Math.round(a[1]*100)}%, ${Math.round(a[2]*100)}%)`;break}case"hsv":{this.value=`hsv(${t}, ${Math.round(o)}%, ${Math.round(r)}%)`;break}case"rgb":{const{r:a,g:i,b:c}=Bc(t,o,r);this.value=`rgb(${a}, ${i}, ${c})`;break}default:this.value=oy(Bc(t,o,r))}}}const FX=N({props:{colors:{type:Array,required:!0},color:{type:Object,required:!0},enableAlpha:{type:Boolean,required:!0}},setup(e){const t=ze("color-predefine"),{currentColor:o}=Ge(Qw),r=D(n(e.colors,e.color));Se(()=>o.value,a=>{const i=new Vc;i.fromString(a),r.value.forEach(c=>{c.selected=i.compare(c)})}),Go(()=>{r.value=n(e.colors,e.color)});function l(a){e.color.fromString(e.colors[a])}function n(a,i){return a.map(c=>{const d=new Vc;return d.enableAlpha=e.enableAlpha,d.format="rgba",d.fromString(c),d.selected=d.value===i.value,d})}return{rgbaColors:r,handleSelect:l,ns:t}}}),jX=["onClick"];function KX(e,t,o,r,l,n){return b(),M("div",{class:O(e.ns.b())},[E("div",{class:O(e.ns.e("colors"))},[(b(!0),M(Qe,null,It(e.rgbaColors,(a,i)=>(b(),M("div",{key:e.colors[i],class:O([e.ns.e("color-selector"),e.ns.is("alpha",a._alpha<100),{selected:a.selected}]),onClick:c=>e.handleSelect(i)},[E("div",{style:Je({backgroundColor:a.value})},null,4)],10,jX))),128))],2)],2)}var UX=Le(FX,[["render",KX],["__file","predefine.vue"]]);const WX=N({name:"ElSlPanel",props:{color:{type:Object,required:!0}},setup(e){const t=ze("color-svpanel"),o=wt(),r=D(0),l=D(0),n=D("hsl(0, 100%, 50%)"),a=C(()=>{const d=e.color.get("hue"),u=e.color.get("value");return{hue:d,value:u}});function i(){const d=e.color.get("saturation"),u=e.color.get("value"),p=o.vnode.el,{clientWidth:h,clientHeight:v}=p;l.value=d*h/100,r.value=(100-u)*v/100,n.value=`hsl(${e.color.get("hue")}, 100%, 50%)`}function c(d){const p=o.vnode.el.getBoundingClientRect(),{clientX:h,clientY:v}=R0(d);let m=h-p.left,f=v-p.top;m=Math.max(0,m),m=Math.min(m,p.width),f=Math.max(0,f),f=Math.min(f,p.height),l.value=m,r.value=f,e.color.set({saturation:m/p.width*100,value:100-f/p.height*100})}return Se(()=>a.value,()=>{i()}),ft(()=>{Lc(o.vnode.el,{drag:d=>{c(d)},end:d=>{c(d)}}),i()}),{cursorTop:r,cursorLeft:l,background:n,colorValue:a,handleDrag:c,update:i,ns:t}}}),qX=[E("div",null,null,-1)];function YX(e,t,o,r,l,n){return b(),M("div",{class:O(e.ns.b()),style:Je({backgroundColor:e.background})},[E("div",{class:O(e.ns.e("white"))},null,2),E("div",{class:O(e.ns.e("black"))},null,2),E("div",{class:O(e.ns.e("cursor")),style:Je({top:e.cursorTop+"px",left:e.cursorLeft+"px"})},qX,6)],6)}var GX=Le(WX,[["render",YX],["__file","sv-panel.vue"]]);const XX=["onKeydown"],ZX=["id","aria-label","aria-labelledby","aria-description","aria-disabled","tabindex"],JX=N({...N({name:"ElColorPicker"}),props:LX,emits:BX,setup(e,{expose:t,emit:o}){const r=e,{t:l}=Rt(),n=ze("color"),{formItem:a}=sr(),i=So(),c=xr(),{inputId:d,isLabeledByFormItem:u}=bl(r,{formItemContext:a}),p=D(),h=D(),v=D(),m=D(),f=D(),_=D(),{isFocused:g,handleFocus:y,handleBlur:w}=Ud(f,{beforeBlur(Ce){var Ee;return(Ee=m.value)==null?void 0:Ee.isFocusInsideContent(Ce)},afterBlur(){H(!1),U()}}),x=Ce=>{if(c.value)return Re();y(Ce)};let $=!0;const T=Dt(new Vc({enableAlpha:r.showAlpha,format:r.colorFormat||"",value:r.modelValue})),R=D(!1),P=D(!1),L=D(""),B=C(()=>!r.modelValue&&!P.value?"transparent":Z(T,r.showAlpha)),V=C(()=>!r.modelValue&&!P.value?"":T.value),j=C(()=>u.value?void 0:r.label||r.ariaLabel||l("el.colorpicker.defaultLabel"));Lo({from:"label",replacement:"aria-label",version:"2.8.0",scope:"el-color-picker",ref:"https://element-plus.org/en-US/component/color-picker.html"},C(()=>!!r.label));const te=C(()=>u.value?a==null?void 0:a.labelId:void 0),J=C(()=>[n.b("picker"),n.is("disabled",c.value),n.bm("picker",i.value),n.is("focused",g.value)]);function Z(Ce,Ee){if(!(Ce instanceof Vc))throw new TypeError("color should be instance of _color Class");const{r:De,g:ae,b:pe}=Ce.toRgb();return Ee?`rgba(${De}, ${ae}, ${pe}, ${Ce.get("alpha")/100})`:`rgb(${De}, ${ae}, ${pe})`}function H(Ce){R.value=Ce}const F=Mr(H,100,{leading:!0});function K(){c.value||H(!0)}function I(){F(!1),U()}function U(){et(()=>{r.modelValue?T.fromString(r.modelValue):(T.value="",et(()=>{P.value=!1}))})}function oe(){c.value||F(!R.value)}function ne(){T.fromString(L.value)}function ce(){const Ce=T.value;o(St,Ce),o("change",Ce),r.validateEvent&&(a==null||a.validate("change").catch(Ee=>void 0)),F(!1),et(()=>{const Ee=new Vc({enableAlpha:r.showAlpha,format:r.colorFormat||"",value:r.modelValue});T.compare(Ee)||U()})}function Q(){F(!1),o(St,null),o("change",null),r.modelValue!==null&&r.validateEvent&&(a==null||a.validate("change").catch(Ce=>void 0)),U()}function Me(Ce){if(R.value&&(I(),g.value)){const Ee=new FocusEvent("focus",Ce);w(Ee)}}function de(Ce){Ce.preventDefault(),Ce.stopPropagation(),H(!1),U()}function _e(Ce){switch(Ce.code){case lt.enter:case lt.space:Ce.preventDefault(),Ce.stopPropagation(),K(),_.value.focus();break;case lt.esc:de(Ce);break}}function me(){f.value.focus()}function Re(){f.value.blur()}return ft(()=>{r.modelValue&&(L.value=V.value)}),Se(()=>r.modelValue,Ce=>{Ce?Ce&&Ce!==T.value&&($=!1,T.fromString(Ce)):P.value=!1}),Se(()=>V.value,Ce=>{L.value=Ce,$&&o("activeChange",Ce),$=!0}),Se(()=>T.value,()=>{!r.modelValue&&!P.value&&(P.value=!0)}),Se(()=>R.value,()=>{et(()=>{var Ce,Ee,De;(Ce=p.value)==null||Ce.update(),(Ee=h.value)==null||Ee.update(),(De=v.value)==null||De.update()})}),zt(Qw,{currentColor:V}),t({color:T,show:K,hide:I,focus:me,blur:Re}),(Ce,Ee)=>(b(),he(s(ur),{ref_key:"popper",ref:m,visible:R.value,"show-arrow":!1,"fallback-placements":["bottom","top","right","left"],offset:0,"gpu-acceleration":!1,"popper-class":[s(n).be("picker","panel"),s(n).b("dropdown"),Ce.popperClass],"stop-popper-mouse-event":!1,effect:"light",trigger:"click",teleported:Ce.teleported,transition:`${s(n).namespace.value}-zoom-in-top`,persistent:"",onHide:Ee[2]||(Ee[2]=De=>H(!1))},{content:le(()=>[mt((b(),M("div",{onKeydown:Gt(de,["esc"])},[E("div",{class:O(s(n).be("dropdown","main-wrapper"))},[ee(RX,{ref_key:"hue",ref:p,class:"hue-slider",color:s(T),vertical:""},null,8,["color"]),ee(GX,{ref_key:"sv",ref:h,color:s(T)},null,8,["color"])],2),Ce.showAlpha?(b(),he(OX,{key:0,ref_key:"alpha",ref:v,color:s(T)},null,8,["color"])):se("v-if",!0),Ce.predefine?(b(),he(UX,{key:1,ref:"predefine","enable-alpha":Ce.showAlpha,color:s(T),colors:Ce.predefine},null,8,["enable-alpha","color","colors"])):se("v-if",!0),E("div",{class:O(s(n).be("dropdown","btns"))},[E("span",{class:O(s(n).be("dropdown","value"))},[ee(s(cr),{ref_key:"inputRef",ref:_,modelValue:L.value,"onUpdate:modelValue":Ee[0]||(Ee[0]=De=>L.value=De),"validate-event":!1,size:"small",onKeyup:Gt(ne,["enter"]),onBlur:ne},null,8,["modelValue","onKeyup"])],2),ee(s(Wo),{class:O(s(n).be("dropdown","link-btn")),text:"",size:"small",onClick:Q},{default:le(()=>[Ct($e(s(l)("el.colorpicker.clear")),1)]),_:1},8,["class"]),ee(s(Wo),{plain:"",size:"small",class:O(s(n).be("dropdown","btn")),onClick:ce},{default:le(()=>[Ct($e(s(l)("el.colorpicker.confirm")),1)]),_:1},8,["class"])],2)],40,XX)),[[s(xn),Me]])]),default:le(()=>[E("div",Mt({id:s(d),ref_key:"triggerRef",ref:f},Ce.$attrs,{class:s(J),role:"button","aria-label":s(j),"aria-labelledby":s(te),"aria-description":s(l)("el.colorpicker.description",{color:Ce.modelValue||""}),"aria-disabled":s(c),tabindex:s(c)?-1:Ce.tabindex,onKeydown:_e,onFocus:x,onBlur:Ee[1]||(Ee[1]=(...De)=>s(w)&&s(w)(...De))}),[s(c)?(b(),M("div",{key:0,class:O(s(n).be("picker","mask"))},null,2)):se("v-if",!0),E("div",{class:O(s(n).be("picker","trigger")),onClick:oe},[E("span",{class:O([s(n).be("picker","color"),s(n).is("alpha",Ce.showAlpha)])},[E("span",{class:O(s(n).be("picker","color-inner")),style:Je({backgroundColor:s(B)})},[mt(ee(s(Ze),{class:O([s(n).be("picker","icon"),s(n).is("icon-arrow-down")])},{default:le(()=>[ee(s(Pl))]),_:1},8,["class"]),[[Lt,Ce.modelValue||P.value]]),mt(ee(s(Ze),{class:O([s(n).be("picker","empty"),s(n).is("icon-close")])},{default:le(()=>[ee(s(Jr))]),_:1},8,["class"]),[[Lt,!Ce.modelValue&&!P.value]])],6)],2)],2)],16,ZX)]),_:1},8,["visible","popper-class","teleported","transition"]))}});var QX=Le(JX,[["__file","color-picker.vue"]]);const eZ=yt(QX),tZ=N({...N({name:"ElContainer"}),props:{direction:{type:String}},setup(e){const t=e,o=Do(),r=ze("container"),l=C(()=>t.direction==="vertical"?!0:t.direction==="horizontal"?!1:o&&o.default?o.default().some(a=>{const i=a.type.name;return i==="ElHeader"||i==="ElFooter"}):!1);return(n,a)=>(b(),M("section",{class:O([s(r).b(),s(r).is("vertical",s(l))])},[be(n.$slots,"default")],2))}});var oZ=Le(tZ,[["__file","container.vue"]]);const rZ=N({...N({name:"ElAside"}),props:{width:{type:String,default:null}},setup(e){const t=e,o=ze("aside"),r=C(()=>t.width?o.cssVarBlock({width:t.width}):{});return(l,n)=>(b(),M("aside",{class:O(s(o).b()),style:Je(s(r))},[be(l.$slots,"default")],6))}});var ly=Le(rZ,[["__file","aside.vue"]]);const lZ=N({...N({name:"ElFooter"}),props:{height:{type:String,default:null}},setup(e){const t=e,o=ze("footer"),r=C(()=>t.height?o.cssVarBlock({height:t.height}):{});return(l,n)=>(b(),M("footer",{class:O(s(o).b()),style:Je(s(r))},[be(l.$slots,"default")],6))}});var ny=Le(lZ,[["__file","footer.vue"]]);const nZ=N({...N({name:"ElHeader"}),props:{height:{type:String,default:null}},setup(e){const t=e,o=ze("header"),r=C(()=>t.height?o.cssVarBlock({height:t.height}):{});return(l,n)=>(b(),M("header",{class:O(s(o).b()),style:Je(s(r))},[be(l.$slots,"default")],6))}});var ay=Le(nZ,[["__file","header.vue"]]);const aZ=N({...N({name:"ElMain"}),setup(e){const t=ze("main");return(o,r)=>(b(),M("main",{class:O(s(t).b())},[be(o.$slots,"default")],2))}});var iy=Le(aZ,[["__file","main.vue"]]);const iZ=yt(oZ,{Aside:ly,Footer:ny,Header:ay,Main:iy}),sZ=co(ly),cZ=co(ny),uZ=co(ay),dZ=co(iy);var sy={exports:{}};(function(e,t){(function(o,r){e.exports=r()})(Ao,function(){return function(o,r){var l=r.prototype,n=l.format;l.format=function(a){var i=this,c=this.$locale();if(!this.isValid())return n.bind(this)(a);var d=this.$utils(),u=(a||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(p){switch(p){case"Q":return Math.ceil((i.$M+1)/3);case"Do":return c.ordinal(i.$D);case"gggg":return i.weekYear();case"GGGG":return i.isoWeekYear();case"wo":return c.ordinal(i.week(),"W");case"w":case"ww":return d.s(i.week(),p==="w"?1:2,"0");case"W":case"WW":return d.s(i.isoWeek(),p==="W"?1:2,"0");case"k":case"kk":return d.s(String(i.$H===0?24:i.$H),p==="k"?1:2,"0");case"X":return Math.floor(i.$d.getTime()/1e3);case"x":return i.$d.getTime();case"z":return"["+i.offsetName()+"]";case"zzz":return"["+i.offsetName("long")+"]";default:return p}});return n.bind(this)(u)}}})})(sy);var pZ=sy.exports;const fZ=cl(pZ);var cy={exports:{}};(function(e,t){(function(o,r){e.exports=r()})(Ao,function(){var o="week",r="year";return function(l,n,a){var i=n.prototype;i.week=function(c){if(c===void 0&&(c=null),c!==null)return this.add(7*(c-this.week()),"day");var d=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var u=a(this).startOf(r).add(1,r).date(d),p=a(this).endOf(o);if(u.isBefore(p))return 1}var h=a(this).startOf(r).date(d).startOf(o).subtract(1,"millisecond"),v=this.diff(h,o,!0);return v<0?a(this).startOf("week").week():Math.ceil(v)},i.weeks=function(c){return c===void 0&&(c=null),this.week(c)}}})})(cy);var hZ=cy.exports;const vZ=cl(hZ);var uy={exports:{}};(function(e,t){(function(o,r){e.exports=r()})(Ao,function(){return function(o,r){r.prototype.weekYear=function(){var l=this.month(),n=this.week(),a=this.year();return n===1&&l===11?a+1:l===0&&n>=52?a-1:a}}})})(uy);var mZ=uy.exports;const gZ=cl(mZ);var dy={exports:{}};(function(e,t){(function(o,r){e.exports=r()})(Ao,function(){return function(o,r,l){r.prototype.dayOfYear=function(n){var a=Math.round((l(this).startOf("day")-l(this).startOf("year"))/864e5)+1;return n==null?a:this.add(n-a,"day")}}})})(dy);var bZ=dy.exports;const _Z=cl(bZ);var py={exports:{}};(function(e,t){(function(o,r){e.exports=r()})(Ao,function(){return function(o,r){r.prototype.isSameOrAfter=function(l,n){return this.isSame(l,n)||this.isAfter(l,n)}}})})(py);var wZ=py.exports;const yZ=cl(wZ);var fy={exports:{}};(function(e,t){(function(o,r){e.exports=r()})(Ao,function(){return function(o,r){r.prototype.isSameOrBefore=function(l,n){return this.isSame(l,n)||this.isBefore(l,n)}}})})(fy);var xZ=fy.exports;const kZ=cl(xZ),Lv=Symbol(),CZ=Pe({...wv,type:{type:ue(String),default:"date"}}),SZ=["date","dates","year","years","month","week","range"],Bv=Pe({disabledDate:{type:ue(Function)},date:{type:ue(Object),required:!0},minDate:{type:ue(Object)},maxDate:{type:ue(Object)},parsedValue:{type:ue([Object,Array])},rangeState:{type:ue(Object),default:()=>({endDate:null,selecting:!1})}}),hy=Pe({type:{type:ue(String),required:!0,values:nF},dateFormat:String,timeFormat:String}),vy=Pe({unlinkPanels:Boolean,parsedValue:{type:ue(Array)}}),Vv=e=>({type:String,values:SZ,default:e}),EZ=Pe({...hy,parsedValue:{type:ue([Object,Array])},visible:{type:Boolean},format:{type:String,default:""}}),TZ=Pe({...Bv,cellClassName:{type:ue(Function)},showWeekNumber:Boolean,selectionMode:Vv("date")}),$Z=["changerange","pick","select"],Dv=e=>{if(!Ke(e))return!1;const[t,o]=e;return kt.isDayjs(t)&&kt.isDayjs(o)&&t.isSameOrBefore(o)},my=(e,{lang:t,unit:o,unlinkPanels:r})=>{let l;if(Ke(e)){let[n,a]=e.map(i=>kt(i).locale(t));return r||(a=n.add(1,o)),[n,a]}else e?l=kt(e):l=kt();return l=l.locale(t),[l,l.add(1,o)]},MZ=(e,t,{columnIndexOffset:o,startDate:r,nextEndDate:l,now:n,unit:a,relativeDateGetter:i,setCellMetadata:c,setRowMetadata:d})=>{for(let u=0;u["normal","today"].includes(e),AZ=(e,t)=>{const{lang:o}=Rt(),r=D(),l=D(),n=D(),a=D(),i=D([[],[],[],[],[],[]]);let c=!1;const d=e.date.$locale().weekStart||7,u=e.date.locale("en").localeData().weekdaysShort().map(I=>I.toLowerCase()),p=C(()=>d>3?7-d:-d),h=C(()=>{const I=e.date.startOf("month");return I.subtract(I.day()||7,"day")}),v=C(()=>u.concat(u).slice(d,d+7)),m=C(()=>P_(s(x)).some(I=>I.isCurrent)),f=C(()=>{const I=e.date.startOf("month"),U=I.day()||7,oe=I.daysInMonth(),ne=I.subtract(1,"month").daysInMonth();return{startOfMonthDay:U,dateCountOfMonth:oe,dateCountOfLastMonth:ne}}),_=C(()=>e.selectionMode==="dates"?Lr(e.parsedValue):[]),g=(I,{count:U,rowIndex:oe,columnIndex:ne})=>{const{startOfMonthDay:ce,dateCountOfMonth:Q,dateCountOfLastMonth:Me}=s(f),de=s(p);if(oe>=0&&oe<=1){const _e=ce+de<0?7+ce+de:ce+de;if(ne+oe*7>=_e)return I.text=U,!0;I.text=Me-(_e-ne%7)+1+oe*7,I.type="prev-month"}else return U<=Q?I.text=U:(I.text=U-Q,I.type="next-month"),!0;return!1},y=(I,{columnIndex:U,rowIndex:oe},ne)=>{const{disabledDate:ce,cellClassName:Q}=e,Me=s(_),de=g(I,{count:ne,rowIndex:oe,columnIndex:U}),_e=I.dayjs.toDate();return I.selected=Me.find(me=>me.isSame(I.dayjs,"day")),I.isSelected=!!I.selected,I.isCurrent=T(I),I.disabled=ce==null?void 0:ce(_e),I.customClass=Q==null?void 0:Q(_e),de},w=I=>{if(e.selectionMode==="week"){const[U,oe]=e.showWeekNumber?[1,7]:[0,6],ne=K(I[U+1]);I[U].inRange=ne,I[U].start=ne,I[oe].inRange=ne,I[oe].end=ne}},x=C(()=>{const{minDate:I,maxDate:U,rangeState:oe,showWeekNumber:ne}=e,ce=s(p),Q=s(i),Me="day";let de=1;if(ne)for(let _e=0;_e<6;_e++)Q[_e][0]||(Q[_e][0]={type:"week",text:s(h).add(_e*7+1,Me).week()});return MZ({row:6,column:7},Q,{startDate:I,columnIndexOffset:ne?1:0,nextEndDate:oe.endDate||U||oe.selecting&&I||null,now:kt().locale(s(o)).startOf(Me),unit:Me,relativeDateGetter:_e=>s(h).add(_e-ce,Me),setCellMetadata:(..._e)=>{y(..._e,de)&&(de+=1)},setRowMetadata:w}),Q});Se(()=>e.date,async()=>{var I;(I=s(r))!=null&&I.contains(document.activeElement)&&(await et(),await $())});const $=async()=>{var I;return(I=s(l))==null?void 0:I.focus()},T=I=>e.selectionMode==="date"&&Hv(I.type)&&R(I,e.parsedValue),R=(I,U)=>U?kt(U).locale(s(o)).isSame(e.date.date(Number(I.text)),"day"):!1,P=(I,U)=>{const oe=I*7+(U-(e.showWeekNumber?1:0))-s(p);return s(h).add(oe,"day")},L=I=>{var U;if(!e.rangeState.selecting)return;let oe=I.target;if(oe.tagName==="SPAN"&&(oe=(U=oe.parentNode)==null?void 0:U.parentNode),oe.tagName==="DIV"&&(oe=oe.parentNode),oe.tagName!=="TD")return;const ne=oe.parentNode.rowIndex-1,ce=oe.cellIndex;s(x)[ne][ce].disabled||(ne!==s(n)||ce!==s(a))&&(n.value=ne,a.value=ce,t("changerange",{selecting:!0,endDate:P(ne,ce)}))},B=I=>!s(m)&&(I==null?void 0:I.text)===1&&I.type==="normal"||I.isCurrent,V=I=>{c||s(m)||e.selectionMode!=="date"||F(I,!0)},j=I=>{I.target.closest("td")&&(c=!0)},te=I=>{I.target.closest("td")&&(c=!1)},J=I=>{!e.rangeState.selecting||!e.minDate?(t("pick",{minDate:I,maxDate:null}),t("select",!0)):(I>=e.minDate?t("pick",{minDate:e.minDate,maxDate:I}):t("pick",{minDate:I,maxDate:e.minDate}),t("select",!1))},Z=I=>{const U=I.week(),oe=`${I.year()}w${U}`;t("pick",{year:I.year(),week:U,value:oe,date:I.startOf("week")})},H=(I,U)=>{const oe=U?Lr(e.parsedValue).filter(ne=>(ne==null?void 0:ne.valueOf())!==I.valueOf()):Lr(e.parsedValue).concat([I]);t("pick",oe)},F=(I,U=!1)=>{const oe=I.target.closest("td");if(!oe)return;const ne=oe.parentNode.rowIndex-1,ce=oe.cellIndex,Q=s(x)[ne][ce];if(Q.disabled||Q.type==="week")return;const Me=P(ne,ce);switch(e.selectionMode){case"range":{J(Me);break}case"date":{t("pick",Me,U);break}case"week":{Z(Me);break}case"dates":{H(Me,!!Q.selected);break}}},K=I=>{if(e.selectionMode!=="week")return!1;let U=e.date.startOf("day");if(I.type==="prev-month"&&(U=U.subtract(1,"month")),I.type==="next-month"&&(U=U.add(1,"month")),U=U.date(Number.parseInt(I.text,10)),e.parsedValue&&!Array.isArray(e.parsedValue)){const oe=(e.parsedValue.day()-d+7)%7-1;return e.parsedValue.subtract(oe,"day").isSame(U,"day")}return!1};return{WEEKS:v,rows:x,tbodyRef:r,currentCellRef:l,focus:$,isCurrent:T,isWeekActive:K,isSelectedCell:B,handlePickDate:F,handleMouseUp:te,handleMouseDown:j,handleMouseMove:L,handleFocus:V}},zZ=(e,{isCurrent:t,isWeekActive:o})=>{const r=ze("date-table"),{t:l}=Rt(),n=C(()=>[r.b(),{"is-week-mode":e.selectionMode==="week"}]),a=C(()=>l("el.datepicker.dateTablePrompt")),i=C(()=>l("el.datepicker.week"));return{tableKls:n,tableLabel:a,weekLabel:i,getCellClasses:u=>{const p=[];return Hv(u.type)&&!u.disabled?(p.push("available"),u.type==="today"&&p.push("today")):p.push(u.type),t(u)&&p.push("current"),u.inRange&&(Hv(u.type)||e.selectionMode==="week")&&(p.push("in-range"),u.start&&p.push("start-date"),u.end&&p.push("end-date")),u.disabled&&p.push("disabled"),u.selected&&p.push("selected"),u.customClass&&p.push(u.customClass),p.join(" ")},getRowKls:u=>[r.e("row"),{current:o(u)}],t:l}},IZ=Pe({cell:{type:ue(Object)}});var OZ=N({name:"ElDatePickerCell",props:IZ,setup(e){const t=ze("date-table-cell"),{slots:o}=Ge(Lv);return()=>{const{cell:r}=e;return be(o,"default",{...r},()=>[ee("div",{class:t.b()},[ee("span",{class:t.e("text")},[r==null?void 0:r.text])])])}}});const NZ=["aria-label"],PZ={key:0,scope:"col"},RZ=["aria-label"],LZ=["aria-current","aria-selected","tabindex"];var Fv=Le(N({__name:"basic-date-table",props:TZ,emits:$Z,setup(e,{expose:t,emit:o}){const r=e,{WEEKS:l,rows:n,tbodyRef:a,currentCellRef:i,focus:c,isCurrent:d,isWeekActive:u,isSelectedCell:p,handlePickDate:h,handleMouseUp:v,handleMouseDown:m,handleMouseMove:f,handleFocus:_}=AZ(r,o),{tableLabel:g,tableKls:y,weekLabel:w,getCellClasses:x,getRowKls:$,t:T}=zZ(r,{isCurrent:d,isWeekActive:u});return t({focus:c}),(R,P)=>(b(),M("table",{"aria-label":s(g),class:O(s(y)),cellspacing:"0",cellpadding:"0",role:"grid",onClick:P[1]||(P[1]=(...L)=>s(h)&&s(h)(...L)),onMousemove:P[2]||(P[2]=(...L)=>s(f)&&s(f)(...L)),onMousedown:P[3]||(P[3]=ct((...L)=>s(m)&&s(m)(...L),["prevent"])),onMouseup:P[4]||(P[4]=(...L)=>s(v)&&s(v)(...L))},[E("tbody",{ref_key:"tbodyRef",ref:a},[E("tr",null,[R.showWeekNumber?(b(),M("th",PZ,$e(s(w)),1)):se("v-if",!0),(b(!0),M(Qe,null,It(s(l),(L,B)=>(b(),M("th",{key:B,"aria-label":s(T)("el.datepicker.weeksFull."+L),scope:"col"},$e(s(T)("el.datepicker.weeks."+L)),9,RZ))),128))]),(b(!0),M(Qe,null,It(s(n),(L,B)=>(b(),M("tr",{key:B,class:O(s($)(L[1]))},[(b(!0),M(Qe,null,It(L,(V,j)=>(b(),M("td",{key:`${B}.${j}`,ref_for:!0,ref:te=>s(p)(V)&&(i.value=te),class:O(s(x)(V)),"aria-current":V.isCurrent?"date":void 0,"aria-selected":V.isCurrent,tabindex:s(p)(V)?0:-1,onFocus:P[0]||(P[0]=(...te)=>s(_)&&s(_)(...te))},[ee(s(OZ),{cell:V},null,8,["cell"])],42,LZ))),128))],2))),128))],512)],42,NZ))}}),[["__file","basic-date-table.vue"]]);const BZ=Pe({...Bv,selectionMode:Vv("month")}),VZ=["aria-label"],DZ=["aria-selected","aria-label","tabindex","onKeydown"],HZ={class:"cell"};var jv=Le(N({__name:"basic-month-table",props:BZ,emits:["changerange","pick","select"],setup(e,{expose:t,emit:o}){const r=e,l=(x,$,T)=>{const R=kt().locale(T).startOf("month").month($).year(x),P=R.daysInMonth();return aa(P).map(L=>R.add(L,"day").toDate())},n=ze("month-table"),{t:a,lang:i}=Rt(),c=D(),d=D(),u=D(r.date.locale("en").localeData().monthsShort().map(x=>x.toLowerCase())),p=D([[],[],[]]),h=D(),v=D(),m=C(()=>{var x,$;const T=p.value,R=kt().locale(i.value).startOf("month");for(let P=0;P<3;P++){const L=T[P];for(let B=0;B<4;B++){const V=L[B]||(L[B]={row:P,column:B,type:"normal",inRange:!1,start:!1,end:!1,text:-1,disabled:!1});V.type="normal";const j=P*4+B,te=r.date.startOf("year").month(j),J=r.rangeState.endDate||r.maxDate||r.rangeState.selecting&&r.minDate||null;V.inRange=!!(r.minDate&&te.isSameOrAfter(r.minDate,"month")&&J&&te.isSameOrBefore(J,"month"))||!!(r.minDate&&te.isSameOrBefore(r.minDate,"month")&&J&&te.isSameOrAfter(J,"month")),(x=r.minDate)!=null&&x.isSameOrAfter(J)?(V.start=!!(J&&te.isSame(J,"month")),V.end=r.minDate&&te.isSame(r.minDate,"month")):(V.start=!!(r.minDate&&te.isSame(r.minDate,"month")),V.end=!!(J&&te.isSame(J,"month"))),R.isSame(te)&&(V.type="today"),V.text=j,V.disabled=(($=r.disabledDate)==null?void 0:$.call(r,te.toDate()))||!1}}return T}),f=()=>{var x;(x=d.value)==null||x.focus()},_=x=>{const $={},T=r.date.year(),R=new Date,P=x.text;return $.disabled=r.disabledDate?l(T,P,i.value).every(r.disabledDate):!1,$.current=Lr(r.parsedValue).findIndex(L=>kt.isDayjs(L)&&L.year()===T&&L.month()===P)>=0,$.today=R.getFullYear()===T&&R.getMonth()===P,x.inRange&&($["in-range"]=!0,x.start&&($["start-date"]=!0),x.end&&($["end-date"]=!0)),$},g=x=>{const $=r.date.year(),T=x.text;return Lr(r.date).findIndex(R=>R.year()===$&&R.month()===T)>=0},y=x=>{var $;if(!r.rangeState.selecting)return;let T=x.target;if(T.tagName==="SPAN"&&(T=($=T.parentNode)==null?void 0:$.parentNode),T.tagName==="DIV"&&(T=T.parentNode),T.tagName!=="TD")return;const R=T.parentNode.rowIndex,P=T.cellIndex;m.value[R][P].disabled||(R!==h.value||P!==v.value)&&(h.value=R,v.value=P,o("changerange",{selecting:!0,endDate:r.date.startOf("year").month(R*4+P)}))},w=x=>{var $;const T=($=x.target)==null?void 0:$.closest("td");if((T==null?void 0:T.tagName)!=="TD"||Xr(T,"disabled"))return;const R=T.cellIndex,L=T.parentNode.rowIndex*4+R,B=r.date.startOf("year").month(L);r.selectionMode==="range"?r.rangeState.selecting?(r.minDate&&B>=r.minDate?o("pick",{minDate:r.minDate,maxDate:B}):o("pick",{minDate:B,maxDate:r.minDate}),o("select",!1)):(o("pick",{minDate:B,maxDate:null}),o("select",!0)):o("pick",L)};return Se(()=>r.date,async()=>{var x,$;(x=c.value)!=null&&x.contains(document.activeElement)&&(await et(),($=d.value)==null||$.focus())}),t({focus:f}),(x,$)=>(b(),M("table",{role:"grid","aria-label":s(a)("el.datepicker.monthTablePrompt"),class:O(s(n).b()),onClick:w,onMousemove:y},[E("tbody",{ref_key:"tbodyRef",ref:c},[(b(!0),M(Qe,null,It(s(m),(T,R)=>(b(),M("tr",{key:R},[(b(!0),M(Qe,null,It(T,(P,L)=>(b(),M("td",{key:L,ref_for:!0,ref:B=>g(P)&&(d.value=B),class:O(_(P)),"aria-selected":`${g(P)}`,"aria-label":s(a)(`el.datepicker.month${+P.text+1}`),tabindex:g(P)?0:-1,onKeydown:[Gt(ct(w,["prevent","stop"]),["space"]),Gt(ct(w,["prevent","stop"]),["enter"])]},[E("div",null,[E("span",HZ,$e(s(a)("el.datepicker.months."+u.value[P.text])),1)])],42,DZ))),128))]))),128))],512)],42,VZ))}}),[["__file","basic-month-table.vue"]]);const{date:FZ,disabledDate:jZ,parsedValue:KZ}=Bv,UZ=Pe({date:FZ,disabledDate:jZ,parsedValue:KZ,selectionMode:Vv("year")}),WZ=["aria-label"],qZ=["aria-selected","tabindex","onKeydown"],YZ={class:"cell"},GZ={key:1};var XZ=Le(N({__name:"basic-year-table",props:UZ,emits:["pick"],setup(e,{expose:t,emit:o}){const r=e,l=(f,_)=>{const g=kt(String(f)).locale(_).startOf("year"),w=g.endOf("year").dayOfYear();return aa(w).map(x=>g.add(x,"day").toDate())},n=ze("year-table"),{t:a,lang:i}=Rt(),c=D(),d=D(),u=C(()=>Math.floor(r.date.year()/10)*10),p=()=>{var f;(f=d.value)==null||f.focus()},h=f=>{const _={},g=kt().locale(i.value);return _.disabled=r.disabledDate?l(f,i.value).every(r.disabledDate):!1,_.current=Lr(r.parsedValue).findIndex(y=>y.year()===f)>=0,_.today=g.year()===f,_},v=f=>f===u.value&&r.date.year()u.value+9||Lr(r.date).findIndex(_=>_.year()===f)>=0||Lr(r.parsedValue).findIndex(_=>(_==null?void 0:_.year())===f)>=0,m=f=>{const g=f.target.closest("td");if(g&&g.textContent){if(Xr(g,"disabled"))return;const y=g.textContent||g.innerText;if(r.selectionMode==="years"){if(f.type==="keydown"){o("pick",Lr(r.parsedValue),!1);return}const w=Xr(g,"current")?Lr(r.parsedValue).filter(x=>(x==null?void 0:x.year())!==Number(y)):Lr(r.parsedValue).concat([kt(y)]);o("pick",w)}else o("pick",Number(y))}};return Se(()=>r.date,async()=>{var f,_;(f=c.value)!=null&&f.contains(document.activeElement)&&(await et(),(_=d.value)==null||_.focus())}),t({focus:p}),(f,_)=>(b(),M("table",{role:"grid","aria-label":s(a)("el.datepicker.yearTablePrompt"),class:O(s(n).b()),onClick:m},[E("tbody",{ref_key:"tbodyRef",ref:c},[(b(),M(Qe,null,It(3,(g,y)=>E("tr",{key:y},[(b(),M(Qe,null,It(4,(w,x)=>(b(),M(Qe,{key:y+"_"+x},[y*4+x<10?(b(),M("td",{key:0,ref_for:!0,ref:$=>v(s(u)+y*4+x)&&(d.value=$),class:O(["available",h(s(u)+y*4+x)]),"aria-selected":`${v(s(u)+y*4+x)}`,tabindex:v(s(u)+y*4+x)?0:-1,onKeydown:[Gt(ct(m,["prevent","stop"]),["space"]),Gt(ct(m,["prevent","stop"]),["enter"])]},[E("div",null,[E("span",YZ,$e(s(u)+y*4+x),1)])],42,qZ)):(b(),M("td",GZ))],64))),64))])),64))],512)],10,WZ))}}),[["__file","basic-year-table.vue"]]);const ZZ=["onClick"],JZ=["aria-label"],QZ=["aria-label"],eJ=["aria-label"],tJ=["aria-label"];var oJ=Le(N({__name:"panel-date-pick",props:EZ,emits:["pick","set-picker-option","panel-change"],setup(e,{emit:t}){const o=e,r=(S,A,G)=>!0,l=ze("picker-panel"),n=ze("date-picker"),a=ya(),i=Do(),{t:c,lang:d}=Rt(),u=Ge("EP_PICKER_BASE"),p=Ge(rp),{shortcuts:h,disabledDate:v,cellClassName:m,defaultTime:f}=u.props,_=Yt(u.props,"defaultValue"),g=D(),y=D(kt().locale(d.value)),w=D(!1);let x=!1;const $=C(()=>kt(f).locale(d.value)),T=C(()=>y.value.month()),R=C(()=>y.value.year()),P=D([]),L=D(null),B=D(null),V=S=>P.value.length>0?r(S,P.value,o.format||"HH:mm:ss"):!0,j=S=>f&&!pe.value&&!w.value&&!x?$.value.year(S.year()).month(S.month()).date(S.date()):de.value?S.millisecond(0):S.startOf("day"),te=(S,...A)=>{if(!S)t("pick",S,...A);else if(Ke(S)){const G=S.map(j);t("pick",G,...A)}else t("pick",j(S),...A);L.value=null,B.value=null,w.value=!1,x=!1},J=async(S,A)=>{if(U.value==="date"){S=S;let G=o.parsedValue?o.parsedValue.year(S.year()).month(S.month()).date(S.date()):S;V(G)||(G=P.value[0][0].year(S.year()).month(S.month()).date(S.date())),y.value=G,te(G,de.value||A),o.type==="datetime"&&(await et(),tt())}else U.value==="week"?te(S.date):U.value==="dates"&&te(S,!0)},Z=S=>{const A=S?"add":"subtract";y.value=y.value[A](1,"month"),Y("month")},H=S=>{const A=y.value,G=S?"add":"subtract";y.value=F.value==="year"?A[G](10,"year"):A[G](1,"year"),Y("year")},F=D("date"),K=C(()=>{const S=c("el.datepicker.year");if(F.value==="year"){const A=Math.floor(R.value/10)*10;return S?`${A} ${S} - ${A+9} ${S}`:`${A} - ${A+9}`}return`${R.value} ${S}`}),I=S=>{const A=it(S.value)?S.value():S.value;if(A){x=!0,te(kt(A).locale(d.value));return}S.onClick&&S.onClick({attrs:a,slots:i,emit:t})},U=C(()=>{const{type:S}=o;return["week","month","year","years","dates"].includes(S)?S:"date"}),oe=C(()=>U.value==="date"?F.value:U.value),ne=C(()=>!!h.length),ce=async S=>{y.value=y.value.startOf("month").month(S),U.value==="month"?te(y.value,!1):(F.value="date",["month","year","date","week"].includes(U.value)&&(te(y.value,!0),await et(),tt())),Y("month")},Q=async(S,A)=>{U.value==="year"?(y.value=y.value.startOf("year").year(S),te(y.value,!1)):U.value==="years"?te(S,A??!0):(y.value=y.value.year(S),F.value="month",["month","year","date","week"].includes(U.value)&&(te(y.value,!0),await et(),tt())),Y("year")},Me=async S=>{F.value=S,await et(),tt()},de=C(()=>o.type==="datetime"||o.type==="datetimerange"),_e=C(()=>{const S=de.value||U.value==="dates",A=U.value==="years",G=F.value==="date",X=F.value==="year";return S&&G||A&&X}),me=C(()=>v?o.parsedValue?Ke(o.parsedValue)?v(o.parsedValue[0].toDate()):v(o.parsedValue.toDate()):!0:!1),Re=()=>{if(U.value==="dates"||U.value==="years")te(o.parsedValue);else{let S=o.parsedValue;if(!S){const A=kt(f).locale(d.value),G=Ye();S=A.year(G.year()).month(G.month()).date(G.date())}y.value=S,te(S)}},Ce=C(()=>v?v(kt().locale(d.value).toDate()):!1),Ee=()=>{const A=kt().locale(d.value).toDate();w.value=!0,(!v||!v(A))&&V(A)&&(y.value=kt().locale(d.value),te(y.value))},De=C(()=>o.timeFormat||ew(o.format)),ae=C(()=>o.dateFormat||Q4(o.format)),pe=C(()=>{if(B.value)return B.value;if(!(!o.parsedValue&&!_.value))return(o.parsedValue||y.value).format(De.value)}),ke=C(()=>{if(L.value)return L.value;if(!(!o.parsedValue&&!_.value))return(o.parsedValue||y.value).format(ae.value)}),Oe=D(!1),we=()=>{Oe.value=!0},Te=()=>{Oe.value=!1},Ne=S=>({hour:S.hour(),minute:S.minute(),second:S.second(),year:S.year(),month:S.month(),date:S.date()}),Ie=(S,A,G)=>{const{hour:X,minute:re,second:ge}=Ne(S),fe=o.parsedValue?o.parsedValue.hour(X).minute(re).second(ge):S;y.value=fe,te(y.value,!0),G||(Oe.value=A)},Ae=S=>{const A=kt(S,De.value).locale(d.value);if(A.isValid()&&V(A)){const{year:G,month:X,date:re}=Ne(y.value);y.value=A.year(G).month(X).date(re),B.value=null,Oe.value=!1,te(y.value,!0)}},xe=S=>{const A=kt(S,ae.value).locale(d.value);if(A.isValid()){if(v&&v(A.toDate()))return;const{hour:G,minute:X,second:re}=Ne(y.value);y.value=A.hour(G).minute(X).second(re),L.value=null,te(y.value,!0)}},We=S=>kt.isDayjs(S)&&S.isValid()&&(v?!v(S.toDate()):!0),qe=S=>Ke(S)?S.map(A=>A.format(o.format)):S.format(o.format),ye=S=>kt(S,o.format).locale(d.value),Ye=()=>{const S=kt(_.value).locale(d.value);if(!_.value){const A=$.value;return kt().hour(A.hour()).minute(A.minute()).second(A.second()).locale(d.value)}return S},tt=async()=>{var S;["week","month","year","date"].includes(U.value)&&((S=g.value)==null||S.focus(),U.value==="week"&&dt(lt.down))},pt=S=>{const{code:A}=S;[lt.up,lt.down,lt.left,lt.right,lt.home,lt.end,lt.pageUp,lt.pageDown].includes(A)&&(dt(A),S.stopPropagation(),S.preventDefault()),[lt.enter,lt.space,lt.numpadEnter].includes(A)&&L.value===null&&B.value===null&&(S.preventDefault(),te(y.value,!1))},dt=S=>{var A;const{up:G,down:X,left:re,right:ge,home:fe,end:Fe,pageUp:at,pageDown:_t}=lt,At={year:{[G]:-4,[X]:4,[re]:-1,[ge]:1,offset:(bt,Qt)=>bt.setFullYear(bt.getFullYear()+Qt)},month:{[G]:-4,[X]:4,[re]:-1,[ge]:1,offset:(bt,Qt)=>bt.setMonth(bt.getMonth()+Qt)},week:{[G]:-1,[X]:1,[re]:-1,[ge]:1,offset:(bt,Qt)=>bt.setDate(bt.getDate()+Qt*7)},date:{[G]:-7,[X]:7,[re]:-1,[ge]:1,[fe]:bt=>-bt.getDay(),[Fe]:bt=>-bt.getDay()+6,[at]:bt=>-new Date(bt.getFullYear(),bt.getMonth(),0).getDate(),[_t]:bt=>new Date(bt.getFullYear(),bt.getMonth()+1,0).getDate(),offset:(bt,Qt)=>bt.setDate(bt.getDate()+Qt)}},no=y.value.toDate();for(;Math.abs(y.value.diff(no,"year",!0))<1;){const bt=At[oe.value];if(!bt)return;if(bt.offset(no,it(bt[S])?bt[S](no):(A=bt[S])!=null?A:0),v&&v(no))break;const Qt=kt(no).locale(d.value);y.value=Qt,t("pick",Qt,!0);break}},Y=S=>{t("panel-change",y.value.toDate(),S,F.value)};return Se(()=>U.value,S=>{if(["month","year"].includes(S)){F.value=S;return}else if(S==="years"){F.value="year";return}F.value="date"},{immediate:!0}),Se(()=>F.value,()=>{p==null||p.updatePopper()}),Se(()=>_.value,S=>{S&&(y.value=Ye())},{immediate:!0}),Se(()=>o.parsedValue,S=>{if(S){if(U.value==="dates"||U.value==="years"||Array.isArray(S))return;y.value=S}else y.value=Ye()},{immediate:!0}),t("set-picker-option",["isValidValue",We]),t("set-picker-option",["formatToString",qe]),t("set-picker-option",["parseUserInput",ye]),t("set-picker-option",["handleFocusPicker",tt]),(S,A)=>(b(),M("div",{class:O([s(l).b(),s(n).b(),{"has-sidebar":S.$slots.sidebar||s(ne),"has-time":s(de)}])},[E("div",{class:O(s(l).e("body-wrapper"))},[be(S.$slots,"sidebar",{class:O(s(l).e("sidebar"))}),s(ne)?(b(),M("div",{key:0,class:O(s(l).e("sidebar"))},[(b(!0),M(Qe,null,It(s(h),(G,X)=>(b(),M("button",{key:X,type:"button",class:O(s(l).e("shortcut")),onClick:re=>I(G)},$e(G.text),11,ZZ))),128))],2)):se("v-if",!0),E("div",{class:O(s(l).e("body"))},[s(de)?(b(),M("div",{key:0,class:O(s(n).e("time-header"))},[E("span",{class:O(s(n).e("editor-wrap"))},[ee(s(cr),{placeholder:s(c)("el.datepicker.selectDate"),"model-value":s(ke),size:"small","validate-event":!1,onInput:A[0]||(A[0]=G=>L.value=G),onChange:xe},null,8,["placeholder","model-value"])],2),mt((b(),M("span",{class:O(s(n).e("editor-wrap"))},[ee(s(cr),{placeholder:s(c)("el.datepicker.selectTime"),"model-value":s(pe),size:"small","validate-event":!1,onFocus:we,onInput:A[1]||(A[1]=G=>B.value=G),onChange:Ae},null,8,["placeholder","model-value"]),ee(s(dp),{visible:Oe.value,format:s(De),"parsed-value":y.value,onPick:Ie},null,8,["visible","format","parsed-value"])],2)),[[s(xn),Te]])],2)):se("v-if",!0),mt(E("div",{class:O([s(n).e("header"),(F.value==="year"||F.value==="month")&&s(n).e("header--bordered")])},[E("span",{class:O(s(n).e("prev-btn"))},[E("button",{type:"button","aria-label":s(c)("el.datepicker.prevYear"),class:O(["d-arrow-left",s(l).e("icon-btn")]),onClick:A[2]||(A[2]=G=>H(!1))},[ee(s(Ze),null,{default:le(()=>[ee(s(Ra))]),_:1})],10,JZ),mt(E("button",{type:"button","aria-label":s(c)("el.datepicker.prevMonth"),class:O([s(l).e("icon-btn"),"arrow-left"]),onClick:A[3]||(A[3]=G=>Z(!1))},[ee(s(Ze),null,{default:le(()=>[ee(s(fn))]),_:1})],10,QZ),[[Lt,F.value==="date"]])],2),E("span",{role:"button",class:O(s(n).e("header-label")),"aria-live":"polite",tabindex:"0",onKeydown:A[4]||(A[4]=Gt(G=>Me("year"),["enter"])),onClick:A[5]||(A[5]=G=>Me("year"))},$e(s(K)),35),mt(E("span",{role:"button","aria-live":"polite",tabindex:"0",class:O([s(n).e("header-label"),{active:F.value==="month"}]),onKeydown:A[6]||(A[6]=Gt(G=>Me("month"),["enter"])),onClick:A[7]||(A[7]=G=>Me("month"))},$e(s(c)(`el.datepicker.month${s(T)+1}`)),35),[[Lt,F.value==="date"]]),E("span",{class:O(s(n).e("next-btn"))},[mt(E("button",{type:"button","aria-label":s(c)("el.datepicker.nextMonth"),class:O([s(l).e("icon-btn"),"arrow-right"]),onClick:A[8]||(A[8]=G=>Z(!0))},[ee(s(Ze),null,{default:le(()=>[ee(s(ir))]),_:1})],10,eJ),[[Lt,F.value==="date"]]),E("button",{type:"button","aria-label":s(c)("el.datepicker.nextYear"),class:O([s(l).e("icon-btn"),"d-arrow-right"]),onClick:A[9]||(A[9]=G=>H(!0))},[ee(s(Ze),null,{default:le(()=>[ee(s(La))]),_:1})],10,tJ)],2)],2),[[Lt,F.value!=="time"]]),E("div",{class:O(s(l).e("content")),onKeydown:pt},[F.value==="date"?(b(),he(Fv,{key:0,ref_key:"currentViewRef",ref:g,"selection-mode":s(U),date:y.value,"parsed-value":S.parsedValue,"disabled-date":s(v),"cell-class-name":s(m),onPick:J},null,8,["selection-mode","date","parsed-value","disabled-date","cell-class-name"])):se("v-if",!0),F.value==="year"?(b(),he(XZ,{key:1,ref_key:"currentViewRef",ref:g,"selection-mode":s(U),date:y.value,"disabled-date":s(v),"parsed-value":S.parsedValue,onPick:Q},null,8,["selection-mode","date","disabled-date","parsed-value"])):se("v-if",!0),F.value==="month"?(b(),he(jv,{key:2,ref_key:"currentViewRef",ref:g,date:y.value,"parsed-value":S.parsedValue,"disabled-date":s(v),onPick:ce},null,8,["date","parsed-value","disabled-date"])):se("v-if",!0)],34)],2)],2),mt(E("div",{class:O(s(l).e("footer"))},[mt(ee(s(Wo),{text:"",size:"small",class:O(s(l).e("link-btn")),disabled:s(Ce),onClick:Ee},{default:le(()=>[Ct($e(s(c)("el.datepicker.now")),1)]),_:1},8,["class","disabled"]),[[Lt,s(U)!=="dates"&&s(U)!=="years"]]),ee(s(Wo),{plain:"",size:"small",class:O(s(l).e("link-btn")),disabled:s(me),onClick:Re},{default:le(()=>[Ct($e(s(c)("el.datepicker.confirm")),1)]),_:1},8,["class","disabled"])],2),[[Lt,s(_e)]])],2))}}),[["__file","panel-date-pick.vue"]]);const rJ=Pe({...hy,...vy}),lJ=e=>{const{emit:t}=wt(),o=ya(),r=Do();return n=>{const a=it(n.value)?n.value():n.value;if(a){t("pick",[kt(a[0]).locale(e.value),kt(a[1]).locale(e.value)]);return}n.onClick&&n.onClick({attrs:o,slots:r,emit:t})}},gy=(e,{defaultValue:t,leftDate:o,rightDate:r,unit:l,onParsedValueChanged:n})=>{const{emit:a}=wt(),{pickerNs:i}=Ge(Lv),c=ze("date-range-picker"),{t:d,lang:u}=Rt(),p=lJ(u),h=D(),v=D(),m=D({endDate:null,selecting:!1}),f=w=>{m.value=w},_=(w=!1)=>{const x=s(h),$=s(v);Dv([x,$])&&a("pick",[x,$],w)},g=w=>{m.value.selecting=w,w||(m.value.endDate=null)},y=()=>{const[w,x]=my(s(t),{lang:s(u),unit:l,unlinkPanels:e.unlinkPanels});h.value=void 0,v.value=void 0,o.value=w,r.value=x};return Se(t,w=>{w&&y()},{immediate:!0}),Se(()=>e.parsedValue,w=>{if(Ke(w)&&w.length===2){const[x,$]=w;h.value=x,o.value=x,v.value=$,n(s(h),s(v))}else y()},{immediate:!0}),{minDate:h,maxDate:v,rangeState:m,lang:u,ppNs:i,drpNs:c,handleChangeRange:f,handleRangeConfirm:_,handleShortcutClick:p,onSelect:g,t:d}},nJ=["onClick"],aJ=["aria-label"],iJ=["aria-label"],sJ=["disabled","aria-label"],cJ=["disabled","aria-label"],uJ=["disabled","aria-label"],dJ=["disabled","aria-label"],pJ=["aria-label"],fJ=["aria-label"],_p="month";var hJ=Le(N({__name:"panel-date-range",props:rJ,emits:["pick","set-picker-option","calendar-change","panel-change"],setup(e,{emit:t}){const o=e,r=Ge("EP_PICKER_BASE"),{disabledDate:l,cellClassName:n,defaultTime:a,clearable:i}=r.props,c=Yt(r.props,"format"),d=Yt(r.props,"shortcuts"),u=Yt(r.props,"defaultValue"),{lang:p}=Rt(),h=D(kt().locale(p.value)),v=D(kt().locale(p.value).add(1,_p)),{minDate:m,maxDate:f,rangeState:_,ppNs:g,drpNs:y,handleChangeRange:w,handleRangeConfirm:x,handleShortcutClick:$,onSelect:T,t:R}=gy(o,{defaultValue:u,leftDate:h,rightDate:v,unit:_p,onParsedValueChanged:A}),P=D({min:null,max:null}),L=D({min:null,max:null}),B=C(()=>`${h.value.year()} ${R("el.datepicker.year")} ${R(`el.datepicker.month${h.value.month()+1}`)}`),V=C(()=>`${v.value.year()} ${R("el.datepicker.year")} ${R(`el.datepicker.month${v.value.month()+1}`)}`),j=C(()=>h.value.year()),te=C(()=>h.value.month()),J=C(()=>v.value.year()),Z=C(()=>v.value.month()),H=C(()=>!!d.value.length),F=C(()=>P.value.min!==null?P.value.min:m.value?m.value.format(ne.value):""),K=C(()=>P.value.max!==null?P.value.max:f.value||m.value?(f.value||m.value).format(ne.value):""),I=C(()=>L.value.min!==null?L.value.min:m.value?m.value.format(oe.value):""),U=C(()=>L.value.max!==null?L.value.max:f.value||m.value?(f.value||m.value).format(oe.value):""),oe=C(()=>o.timeFormat||ew(c.value)),ne=C(()=>o.dateFormat||Q4(c.value)),ce=G=>Dv(G)&&(l?!l(G[0].toDate())&&!l(G[1].toDate()):!0),Q=()=>{h.value=h.value.subtract(1,"year"),o.unlinkPanels||(v.value=h.value.add(1,"month")),De("year")},Me=()=>{h.value=h.value.subtract(1,"month"),o.unlinkPanels||(v.value=h.value.add(1,"month")),De("month")},de=()=>{o.unlinkPanels?v.value=v.value.add(1,"year"):(h.value=h.value.add(1,"year"),v.value=h.value.add(1,"month")),De("year")},_e=()=>{o.unlinkPanels?v.value=v.value.add(1,"month"):(h.value=h.value.add(1,"month"),v.value=h.value.add(1,"month")),De("month")},me=()=>{h.value=h.value.add(1,"year"),De("year")},Re=()=>{h.value=h.value.add(1,"month"),De("month")},Ce=()=>{v.value=v.value.subtract(1,"year"),De("year")},Ee=()=>{v.value=v.value.subtract(1,"month"),De("month")},De=G=>{t("panel-change",[h.value.toDate(),v.value.toDate()],G)},ae=C(()=>{const G=(te.value+1)%12,X=te.value+1>=12?1:0;return o.unlinkPanels&&new Date(j.value+X,G)o.unlinkPanels&&J.value*12+Z.value-(j.value*12+te.value+1)>=12),ke=C(()=>!(m.value&&f.value&&!_.value.selecting&&Dv([m.value,f.value]))),Oe=C(()=>o.type==="datetime"||o.type==="datetimerange"),we=(G,X)=>{if(G)return a?kt(a[X]||a).locale(p.value).year(G.year()).month(G.month()).date(G.date()):G},Te=(G,X=!0)=>{const re=G.minDate,ge=G.maxDate,fe=we(re,0),Fe=we(ge,1);f.value===Fe&&m.value===fe||(t("calendar-change",[re.toDate(),ge&&ge.toDate()]),f.value=Fe,m.value=fe,!(!X||Oe.value)&&x())},Ne=D(!1),Ie=D(!1),Ae=()=>{Ne.value=!1},xe=()=>{Ie.value=!1},We=(G,X)=>{P.value[X]=G;const re=kt(G,ne.value).locale(p.value);if(re.isValid()){if(l&&l(re.toDate()))return;X==="min"?(h.value=re,m.value=(m.value||h.value).year(re.year()).month(re.month()).date(re.date()),!o.unlinkPanels&&(!f.value||f.value.isBefore(m.value))&&(v.value=re.add(1,"month"),f.value=m.value.add(1,"month"))):(v.value=re,f.value=(f.value||v.value).year(re.year()).month(re.month()).date(re.date()),!o.unlinkPanels&&(!m.value||m.value.isAfter(f.value))&&(h.value=re.subtract(1,"month"),m.value=f.value.subtract(1,"month")))}},qe=(G,X)=>{P.value[X]=null},ye=(G,X)=>{L.value[X]=G;const re=kt(G,oe.value).locale(p.value);re.isValid()&&(X==="min"?(Ne.value=!0,m.value=(m.value||h.value).hour(re.hour()).minute(re.minute()).second(re.second())):(Ie.value=!0,f.value=(f.value||v.value).hour(re.hour()).minute(re.minute()).second(re.second()),v.value=f.value))},Ye=(G,X)=>{L.value[X]=null,X==="min"?(h.value=m.value,Ne.value=!1,(!f.value||f.value.isBefore(m.value))&&(f.value=m.value)):(v.value=f.value,Ie.value=!1,f.value&&f.value.isBefore(m.value)&&(m.value=f.value))},tt=(G,X,re)=>{L.value.min||(G&&(h.value=G,m.value=(m.value||h.value).hour(G.hour()).minute(G.minute()).second(G.second())),re||(Ne.value=X),(!f.value||f.value.isBefore(m.value))&&(f.value=m.value,v.value=G))},pt=(G,X,re)=>{L.value.max||(G&&(v.value=G,f.value=(f.value||v.value).hour(G.hour()).minute(G.minute()).second(G.second())),re||(Ie.value=X),f.value&&f.value.isBefore(m.value)&&(m.value=f.value))},dt=()=>{h.value=my(s(u),{lang:s(p),unit:"month",unlinkPanels:o.unlinkPanels})[0],v.value=h.value.add(1,"month"),f.value=void 0,m.value=void 0,t("pick",null)},Y=G=>Ke(G)?G.map(X=>X.format(c.value)):G.format(c.value),S=G=>Ke(G)?G.map(X=>kt(X,c.value).locale(p.value)):kt(G,c.value).locale(p.value);function A(G,X){if(o.unlinkPanels&&X){const re=(G==null?void 0:G.year())||0,ge=(G==null?void 0:G.month())||0,fe=X.year(),Fe=X.month();v.value=re===fe&&ge===Fe?X.add(1,_p):X}else v.value=h.value.add(1,_p),X&&(v.value=v.value.hour(X.hour()).minute(X.minute()).second(X.second()))}return t("set-picker-option",["isValidValue",ce]),t("set-picker-option",["parseUserInput",S]),t("set-picker-option",["formatToString",Y]),t("set-picker-option",["handleClear",dt]),(G,X)=>(b(),M("div",{class:O([s(g).b(),s(y).b(),{"has-sidebar":G.$slots.sidebar||s(H),"has-time":s(Oe)}])},[E("div",{class:O(s(g).e("body-wrapper"))},[be(G.$slots,"sidebar",{class:O(s(g).e("sidebar"))}),s(H)?(b(),M("div",{key:0,class:O(s(g).e("sidebar"))},[(b(!0),M(Qe,null,It(s(d),(re,ge)=>(b(),M("button",{key:ge,type:"button",class:O(s(g).e("shortcut")),onClick:fe=>s($)(re)},$e(re.text),11,nJ))),128))],2)):se("v-if",!0),E("div",{class:O(s(g).e("body"))},[s(Oe)?(b(),M("div",{key:0,class:O(s(y).e("time-header"))},[E("span",{class:O(s(y).e("editors-wrap"))},[E("span",{class:O(s(y).e("time-picker-wrap"))},[ee(s(cr),{size:"small",disabled:s(_).selecting,placeholder:s(R)("el.datepicker.startDate"),class:O(s(y).e("editor")),"model-value":s(F),"validate-event":!1,onInput:X[0]||(X[0]=re=>We(re,"min")),onChange:X[1]||(X[1]=re=>qe(re,"min"))},null,8,["disabled","placeholder","class","model-value"])],2),mt((b(),M("span",{class:O(s(y).e("time-picker-wrap"))},[ee(s(cr),{size:"small",class:O(s(y).e("editor")),disabled:s(_).selecting,placeholder:s(R)("el.datepicker.startTime"),"model-value":s(I),"validate-event":!1,onFocus:X[2]||(X[2]=re=>Ne.value=!0),onInput:X[3]||(X[3]=re=>ye(re,"min")),onChange:X[4]||(X[4]=re=>Ye(re,"min"))},null,8,["class","disabled","placeholder","model-value"]),ee(s(dp),{visible:Ne.value,format:s(oe),"datetime-role":"start","parsed-value":h.value,onPick:tt},null,8,["visible","format","parsed-value"])],2)),[[s(xn),Ae]])],2),E("span",null,[ee(s(Ze),null,{default:le(()=>[ee(s(ir))]),_:1})]),E("span",{class:O([s(y).e("editors-wrap"),"is-right"])},[E("span",{class:O(s(y).e("time-picker-wrap"))},[ee(s(cr),{size:"small",class:O(s(y).e("editor")),disabled:s(_).selecting,placeholder:s(R)("el.datepicker.endDate"),"model-value":s(K),readonly:!s(m),"validate-event":!1,onInput:X[5]||(X[5]=re=>We(re,"max")),onChange:X[6]||(X[6]=re=>qe(re,"max"))},null,8,["class","disabled","placeholder","model-value","readonly"])],2),mt((b(),M("span",{class:O(s(y).e("time-picker-wrap"))},[ee(s(cr),{size:"small",class:O(s(y).e("editor")),disabled:s(_).selecting,placeholder:s(R)("el.datepicker.endTime"),"model-value":s(U),readonly:!s(m),"validate-event":!1,onFocus:X[7]||(X[7]=re=>s(m)&&(Ie.value=!0)),onInput:X[8]||(X[8]=re=>ye(re,"max")),onChange:X[9]||(X[9]=re=>Ye(re,"max"))},null,8,["class","disabled","placeholder","model-value","readonly"]),ee(s(dp),{"datetime-role":"end",visible:Ie.value,format:s(oe),"parsed-value":v.value,onPick:pt},null,8,["visible","format","parsed-value"])],2)),[[s(xn),xe]])],2)],2)):se("v-if",!0),E("div",{class:O([[s(g).e("content"),s(y).e("content")],"is-left"])},[E("div",{class:O(s(y).e("header"))},[E("button",{type:"button",class:O([s(g).e("icon-btn"),"d-arrow-left"]),"aria-label":s(R)("el.datepicker.prevYear"),onClick:Q},[ee(s(Ze),null,{default:le(()=>[ee(s(Ra))]),_:1})],10,aJ),E("button",{type:"button",class:O([s(g).e("icon-btn"),"arrow-left"]),"aria-label":s(R)("el.datepicker.prevMonth"),onClick:Me},[ee(s(Ze),null,{default:le(()=>[ee(s(fn))]),_:1})],10,iJ),G.unlinkPanels?(b(),M("button",{key:0,type:"button",disabled:!s(pe),class:O([[s(g).e("icon-btn"),{"is-disabled":!s(pe)}],"d-arrow-right"]),"aria-label":s(R)("el.datepicker.nextYear"),onClick:me},[ee(s(Ze),null,{default:le(()=>[ee(s(La))]),_:1})],10,sJ)):se("v-if",!0),G.unlinkPanels?(b(),M("button",{key:1,type:"button",disabled:!s(ae),class:O([[s(g).e("icon-btn"),{"is-disabled":!s(ae)}],"arrow-right"]),"aria-label":s(R)("el.datepicker.nextMonth"),onClick:Re},[ee(s(Ze),null,{default:le(()=>[ee(s(ir))]),_:1})],10,cJ)):se("v-if",!0),E("div",null,$e(s(B)),1)],2),ee(Fv,{"selection-mode":"range",date:h.value,"min-date":s(m),"max-date":s(f),"range-state":s(_),"disabled-date":s(l),"cell-class-name":s(n),onChangerange:s(w),onPick:Te,onSelect:s(T)},null,8,["date","min-date","max-date","range-state","disabled-date","cell-class-name","onChangerange","onSelect"])],2),E("div",{class:O([[s(g).e("content"),s(y).e("content")],"is-right"])},[E("div",{class:O(s(y).e("header"))},[G.unlinkPanels?(b(),M("button",{key:0,type:"button",disabled:!s(pe),class:O([[s(g).e("icon-btn"),{"is-disabled":!s(pe)}],"d-arrow-left"]),"aria-label":s(R)("el.datepicker.prevYear"),onClick:Ce},[ee(s(Ze),null,{default:le(()=>[ee(s(Ra))]),_:1})],10,uJ)):se("v-if",!0),G.unlinkPanels?(b(),M("button",{key:1,type:"button",disabled:!s(ae),class:O([[s(g).e("icon-btn"),{"is-disabled":!s(ae)}],"arrow-left"]),"aria-label":s(R)("el.datepicker.prevMonth"),onClick:Ee},[ee(s(Ze),null,{default:le(()=>[ee(s(fn))]),_:1})],10,dJ)):se("v-if",!0),E("button",{type:"button","aria-label":s(R)("el.datepicker.nextYear"),class:O([s(g).e("icon-btn"),"d-arrow-right"]),onClick:de},[ee(s(Ze),null,{default:le(()=>[ee(s(La))]),_:1})],10,pJ),E("button",{type:"button",class:O([s(g).e("icon-btn"),"arrow-right"]),"aria-label":s(R)("el.datepicker.nextMonth"),onClick:_e},[ee(s(Ze),null,{default:le(()=>[ee(s(ir))]),_:1})],10,fJ),E("div",null,$e(s(V)),1)],2),ee(Fv,{"selection-mode":"range",date:v.value,"min-date":s(m),"max-date":s(f),"range-state":s(_),"disabled-date":s(l),"cell-class-name":s(n),onChangerange:s(w),onPick:Te,onSelect:s(T)},null,8,["date","min-date","max-date","range-state","disabled-date","cell-class-name","onChangerange","onSelect"])],2)],2)],2),s(Oe)?(b(),M("div",{key:0,class:O(s(g).e("footer"))},[s(i)?(b(),he(s(Wo),{key:0,text:"",size:"small",class:O(s(g).e("link-btn")),onClick:dt},{default:le(()=>[Ct($e(s(R)("el.datepicker.clear")),1)]),_:1},8,["class"])):se("v-if",!0),ee(s(Wo),{plain:"",size:"small",class:O(s(g).e("link-btn")),disabled:s(ke),onClick:X[10]||(X[10]=re=>s(x)(!1))},{default:le(()=>[Ct($e(s(R)("el.datepicker.confirm")),1)]),_:1},8,["class","disabled"])],2)):se("v-if",!0)],2))}}),[["__file","panel-date-range.vue"]]);const vJ=Pe({...vy}),mJ=["pick","set-picker-option","calendar-change"],gJ=({unlinkPanels:e,leftDate:t,rightDate:o})=>{const{t:r}=Rt(),l=()=>{t.value=t.value.subtract(1,"year"),e.value||(o.value=o.value.subtract(1,"year"))},n=()=>{e.value||(t.value=t.value.add(1,"year")),o.value=o.value.add(1,"year")},a=()=>{t.value=t.value.add(1,"year")},i=()=>{o.value=o.value.subtract(1,"year")},c=C(()=>`${t.value.year()} ${r("el.datepicker.year")}`),d=C(()=>`${o.value.year()} ${r("el.datepicker.year")}`),u=C(()=>t.value.year()),p=C(()=>o.value.year()===t.value.year()?t.value.year()+1:o.value.year());return{leftPrevYear:l,rightNextYear:n,leftNextYear:a,rightPrevYear:i,leftLabel:c,rightLabel:d,leftYear:u,rightYear:p}},bJ=["onClick"],_J=["disabled"],wJ=["disabled"],wp="year",yJ=N({...N({name:"DatePickerMonthRange"}),props:vJ,emits:mJ,setup(e,{emit:t}){const o=e,{lang:r}=Rt(),l=Ge("EP_PICKER_BASE"),{shortcuts:n,disabledDate:a}=l.props,i=Yt(l.props,"format"),c=Yt(l.props,"defaultValue"),d=D(kt().locale(r.value)),u=D(kt().locale(r.value).add(1,wp)),{minDate:p,maxDate:h,rangeState:v,ppNs:m,drpNs:f,handleChangeRange:_,handleRangeConfirm:g,handleShortcutClick:y,onSelect:w}=gy(o,{defaultValue:c,leftDate:d,rightDate:u,unit:wp,onParsedValueChanged:H}),x=C(()=>!!n.length),{leftPrevYear:$,rightNextYear:T,leftNextYear:R,rightPrevYear:P,leftLabel:L,rightLabel:B,leftYear:V,rightYear:j}=gJ({unlinkPanels:Yt(o,"unlinkPanels"),leftDate:d,rightDate:u}),te=C(()=>o.unlinkPanels&&j.value>V.value+1),J=(F,K=!0)=>{const I=F.minDate,U=F.maxDate;h.value===U&&p.value===I||(t("calendar-change",[I.toDate(),U&&U.toDate()]),h.value=U,p.value=I,K&&g())},Z=F=>F.map(K=>K.format(i.value));function H(F,K){if(o.unlinkPanels&&K){const I=(F==null?void 0:F.year())||0,U=K.year();u.value=I===U?K.add(1,wp):K}else u.value=d.value.add(1,wp)}return t("set-picker-option",["formatToString",Z]),(F,K)=>(b(),M("div",{class:O([s(m).b(),s(f).b(),{"has-sidebar":!!F.$slots.sidebar||s(x)}])},[E("div",{class:O(s(m).e("body-wrapper"))},[be(F.$slots,"sidebar",{class:O(s(m).e("sidebar"))}),s(x)?(b(),M("div",{key:0,class:O(s(m).e("sidebar"))},[(b(!0),M(Qe,null,It(s(n),(I,U)=>(b(),M("button",{key:U,type:"button",class:O(s(m).e("shortcut")),onClick:oe=>s(y)(I)},$e(I.text),11,bJ))),128))],2)):se("v-if",!0),E("div",{class:O(s(m).e("body"))},[E("div",{class:O([[s(m).e("content"),s(f).e("content")],"is-left"])},[E("div",{class:O(s(f).e("header"))},[E("button",{type:"button",class:O([s(m).e("icon-btn"),"d-arrow-left"]),onClick:K[0]||(K[0]=(...I)=>s($)&&s($)(...I))},[ee(s(Ze),null,{default:le(()=>[ee(s(Ra))]),_:1})],2),F.unlinkPanels?(b(),M("button",{key:0,type:"button",disabled:!s(te),class:O([[s(m).e("icon-btn"),{[s(m).is("disabled")]:!s(te)}],"d-arrow-right"]),onClick:K[1]||(K[1]=(...I)=>s(R)&&s(R)(...I))},[ee(s(Ze),null,{default:le(()=>[ee(s(La))]),_:1})],10,_J)):se("v-if",!0),E("div",null,$e(s(L)),1)],2),ee(jv,{"selection-mode":"range",date:d.value,"min-date":s(p),"max-date":s(h),"range-state":s(v),"disabled-date":s(a),onChangerange:s(_),onPick:J,onSelect:s(w)},null,8,["date","min-date","max-date","range-state","disabled-date","onChangerange","onSelect"])],2),E("div",{class:O([[s(m).e("content"),s(f).e("content")],"is-right"])},[E("div",{class:O(s(f).e("header"))},[F.unlinkPanels?(b(),M("button",{key:0,type:"button",disabled:!s(te),class:O([[s(m).e("icon-btn"),{"is-disabled":!s(te)}],"d-arrow-left"]),onClick:K[2]||(K[2]=(...I)=>s(P)&&s(P)(...I))},[ee(s(Ze),null,{default:le(()=>[ee(s(Ra))]),_:1})],10,wJ)):se("v-if",!0),E("button",{type:"button",class:O([s(m).e("icon-btn"),"d-arrow-right"]),onClick:K[3]||(K[3]=(...I)=>s(T)&&s(T)(...I))},[ee(s(Ze),null,{default:le(()=>[ee(s(La))]),_:1})],2),E("div",null,$e(s(B)),1)],2),ee(jv,{"selection-mode":"range",date:u.value,"min-date":s(p),"max-date":s(h),"range-state":s(v),"disabled-date":s(a),onChangerange:s(_),onPick:J,onSelect:s(w)},null,8,["date","min-date","max-date","range-state","disabled-date","onChangerange","onSelect"])],2)],2)],2)],2))}});var xJ=Le(yJ,[["__file","panel-month-range.vue"]]);const kJ=function(e){switch(e){case"daterange":case"datetimerange":return hJ;case"monthrange":return xJ;default:return oJ}};kt.extend(Tw),kt.extend(fZ),kt.extend(mv),kt.extend(vZ),kt.extend(gZ),kt.extend(_Z),kt.extend(yZ),kt.extend(kZ);var CJ=N({name:"ElDatePicker",install:null,props:CZ,emits:["update:modelValue"],setup(e,{expose:t,emit:o,slots:r}){const l=ze("picker-panel");zt("ElPopperOptions",Dt(Yt(e,"popperOptions"))),zt(Lv,{slots:r,pickerNs:l});const n=D();t({focus:(c=!0)=>{var d;(d=n.value)==null||d.focus(c)},handleOpen:()=>{var c;(c=n.value)==null||c.handleOpen()},handleClose:()=>{var c;(c=n.value)==null||c.handleClose()}});const i=c=>{o("update:modelValue",c)};return()=>{var c;const d=(c=e.format)!=null?c:Kq[e.type]||ts,u=kJ(e.type);return ee(iw,Mt(e,{format:d,type:e.type,ref:n,"onUpdate:modelValue":i}),{default:p=>ee(u,p,null),"range-separator":r["range-separator"]})}}});const yp=CJ;yp.install=e=>{e.component(yp.name,yp)};const SJ=yp,Kv=Symbol("elDescriptions");var Dc=N({name:"ElDescriptionsCell",props:{cell:{type:Object},tag:{type:String,default:"td"},type:{type:String}},setup(){return{descriptions:Ge(Kv,{})}},render(){var e,t,o,r,l,n,a;const i=sF(this.cell),c=(((e=this.cell)==null?void 0:e.dirs)||[]).map($=>{const{dir:T,arg:R,modifiers:P,value:L}=$;return[T,L,R,P]}),{border:d,direction:u}=this.descriptions,p=u==="vertical",h=((r=(o=(t=this.cell)==null?void 0:t.children)==null?void 0:o.label)==null?void 0:r.call(o))||i.label,v=(a=(n=(l=this.cell)==null?void 0:l.children)==null?void 0:n.default)==null?void 0:a.call(n),m=i.span,f=i.align?`is-${i.align}`:"",_=i.labelAlign?`is-${i.labelAlign}`:f,g=i.className,y=i.labelClassName,w={width:mo(i.width),minWidth:mo(i.minWidth)},x=ze("descriptions");switch(this.type){case"label":return mt(rt(this.tag,{style:w,class:[x.e("cell"),x.e("label"),x.is("bordered-label",d),x.is("vertical-label",p),_,y],colSpan:p?m:1},h),c);case"content":return mt(rt(this.tag,{style:w,class:[x.e("cell"),x.e("content"),x.is("bordered-content",d),x.is("vertical-content",p),f,g],colSpan:p?m:m*2-1},v),c);default:return mt(rt("td",{style:w,class:[x.e("cell"),f],colSpan:m},[jo(h)?void 0:rt("span",{class:[x.e("label"),y]},h),rt("span",{class:[x.e("content"),g]},v)]),c)}}});const EJ=Pe({row:{type:ue(Array),default:()=>[]}}),TJ={key:1},$J=N({...N({name:"ElDescriptionsRow"}),props:EJ,setup(e){const t=Ge(Kv,{});return(o,r)=>s(t).direction==="vertical"?(b(),M(Qe,{key:0},[E("tr",null,[(b(!0),M(Qe,null,It(o.row,(l,n)=>(b(),he(s(Dc),{key:`tr1-${n}`,cell:l,tag:"th",type:"label"},null,8,["cell"]))),128))]),E("tr",null,[(b(!0),M(Qe,null,It(o.row,(l,n)=>(b(),he(s(Dc),{key:`tr2-${n}`,cell:l,tag:"td",type:"content"},null,8,["cell"]))),128))])],64)):(b(),M("tr",TJ,[(b(!0),M(Qe,null,It(o.row,(l,n)=>(b(),M(Qe,{key:`tr3-${n}`},[s(t).border?(b(),M(Qe,{key:0},[ee(s(Dc),{cell:l,tag:"td",type:"label"},null,8,["cell"]),ee(s(Dc),{cell:l,tag:"td",type:"content"},null,8,["cell"])],64)):(b(),he(s(Dc),{key:1,cell:l,tag:"td",type:"both"},null,8,["cell"]))],64))),128))]))}});var MJ=Le($J,[["__file","descriptions-row.vue"]]);const AJ=Pe({border:{type:Boolean,default:!1},column:{type:Number,default:3},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},size:Oo,title:{type:String,default:""},extra:{type:String,default:""}}),zJ=N({...N({name:"ElDescriptions"}),props:AJ,setup(e){const t=e,o=ze("descriptions"),r=So(),l=Do();zt(Kv,t);const n=C(()=>[o.b(),o.m(r.value)]),a=(c,d,u,p=!1)=>(c.props||(c.props={}),d>u&&(c.props.span=u),p&&(c.props.span=d),c),i=()=>{if(!l.default)return[];const c=Qn(l.default()).filter(v=>{var m;return((m=v==null?void 0:v.type)==null?void 0:m.name)==="ElDescriptionsItem"}),d=[];let u=[],p=t.column,h=0;return c.forEach((v,m)=>{var f;const _=((f=v.props)==null?void 0:f.span)||1;if(mp?p:_),m===c.length-1){const g=t.column-h%t.column;u.push(a(v,g,p,!0)),d.push(u);return}_(b(),M("div",{class:O(s(n))},[c.title||c.extra||c.$slots.title||c.$slots.extra?(b(),M("div",{key:0,class:O(s(o).e("header"))},[E("div",{class:O(s(o).e("title"))},[be(c.$slots,"title",{},()=>[Ct($e(c.title),1)])],2),E("div",{class:O(s(o).e("extra"))},[be(c.$slots,"extra",{},()=>[Ct($e(c.extra),1)])],2)],2)):se("v-if",!0),E("div",{class:O(s(o).e("body"))},[E("table",{class:O([s(o).e("table"),s(o).is("bordered",c.border)])},[E("tbody",null,[(b(!0),M(Qe,null,It(i(),(u,p)=>(b(),he(MJ,{key:p,row:u},null,8,["row"]))),128))])],2)],2)],2))}});var IJ=Le(zJ,[["__file","description.vue"]]);const OJ=Pe({label:{type:String,default:""},span:{type:Number,default:1},width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},align:{type:String,default:"left"},labelAlign:{type:String,default:""},className:{type:String,default:""},labelClassName:{type:String,default:""}}),by=N({name:"ElDescriptionsItem",props:OJ}),NJ=yt(IJ,{DescriptionsItem:by}),PJ=co(by),RJ=Pe({mask:{type:Boolean,default:!0},customMaskEvent:{type:Boolean,default:!1},overlayClass:{type:ue([String,Array,Object])},zIndex:{type:ue([String,Number])}}),LJ={click:e=>e instanceof MouseEvent},BJ="overlay";var VJ=N({name:"ElOverlay",props:RJ,emits:LJ,setup(e,{slots:t,emit:o}){const r=ze(BJ),l=c=>{o("click",c)},{onClick:n,onMousedown:a,onMouseup:i}=Ph(e.customMaskEvent?void 0:l);return()=>e.mask?ee("div",{class:[r.b(),e.overlayClass],style:{zIndex:e.zIndex},onClick:n,onMousedown:a,onMouseup:i},[be(t,"default")],Qr.STYLE|Qr.CLASS|Qr.PROPS,["onClick","onMouseup","onMousedown"]):rt("div",{class:e.overlayClass,style:{zIndex:e.zIndex,position:"fixed",top:"0px",right:"0px",bottom:"0px",left:"0px"}},[be(t,"default")])}});const Uv=VJ,_y=Symbol("dialogInjectionKey"),wy=Pe({center:Boolean,alignCenter:Boolean,closeIcon:{type:Xt},draggable:Boolean,overflow:Boolean,fullscreen:Boolean,showClose:{type:Boolean,default:!0},title:{type:String,default:""},ariaLevel:{type:String,default:"2"}}),DJ={close:()=>!0},HJ=["aria-level"],FJ=["aria-label"],jJ=["id"],KJ=N({...N({name:"ElDialogContent"}),props:wy,emits:DJ,setup(e){const t=e,{t:o}=Rt(),{Close:r}=gh,{dialogRef:l,headerRef:n,bodyId:a,ns:i,style:c}=Ge(_y),{focusTrapRef:d}=Ge(iv),u=C(()=>[i.b(),i.is("fullscreen",t.fullscreen),i.is("draggable",t.draggable),i.is("align-center",t.alignCenter),{[i.m("center")]:t.center}]),p=Nd(d,l),h=C(()=>t.draggable),v=C(()=>t.overflow);return r6(l,n,h,v),(m,f)=>(b(),M("div",{ref:s(p),class:O(s(u)),style:Je(s(c)),tabindex:"-1"},[E("header",{ref_key:"headerRef",ref:n,class:O([s(i).e("header"),{"show-close":m.showClose}])},[be(m.$slots,"header",{},()=>[E("span",{role:"heading","aria-level":m.ariaLevel,class:O(s(i).e("title"))},$e(m.title),11,HJ)]),m.showClose?(b(),M("button",{key:0,"aria-label":s(o)("el.dialog.close"),class:O(s(i).e("headerbtn")),type:"button",onClick:f[0]||(f[0]=_=>m.$emit("close"))},[ee(s(Ze),{class:O(s(i).e("close"))},{default:le(()=>[(b(),he(Et(m.closeIcon||s(r))))]),_:1},8,["class"])],10,FJ)):se("v-if",!0)],2),E("div",{id:s(a),class:O(s(i).e("body"))},[be(m.$slots,"default")],10,jJ),m.$slots.footer?(b(),M("footer",{key:0,class:O(s(i).e("footer"))},[be(m.$slots,"footer")],2)):se("v-if",!0)],6))}});var UJ=Le(KJ,[["__file","dialog-content.vue"]]);const yy=Pe({...wy,appendToBody:Boolean,appendTo:{type:ue(String),default:"body"},beforeClose:{type:ue(Function)},destroyOnClose:Boolean,closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},openDelay:{type:Number,default:0},closeDelay:{type:Number,default:0},top:{type:String},modelValue:Boolean,modalClass:String,width:{type:[String,Number]},zIndex:{type:Number},trapFocus:{type:Boolean,default:!1},headerAriaLevel:{type:String,default:"2"}}),xy={open:()=>!0,opened:()=>!0,close:()=>!0,closed:()=>!0,[St]:e=>Co(e),openAutoFocus:()=>!0,closeAutoFocus:()=>!0},ky=(e,t)=>{var o;const l=wt().emit,{nextZIndex:n}=Ki();let a="";const i=Qo(),c=Qo(),d=D(!1),u=D(!1),p=D(!1),h=D((o=e.zIndex)!=null?o:n());let v,m;const f=Mc("namespace",gc),_=C(()=>{const Z={},H=`--${f.value}-dialog`;return e.fullscreen||(e.top&&(Z[`${H}-margin-top`]=e.top),e.width&&(Z[`${H}-width`]=mo(e.width))),Z}),g=C(()=>e.alignCenter?{display:"flex"}:{});function y(){l("opened")}function w(){l("closed"),l(St,!1),e.destroyOnClose&&(p.value=!1)}function x(){l("close")}function $(){m==null||m(),v==null||v(),e.openDelay&&e.openDelay>0?{stop:v}=$a(()=>L(),e.openDelay):L()}function T(){v==null||v(),m==null||m(),e.closeDelay&&e.closeDelay>0?{stop:m}=$a(()=>B(),e.closeDelay):B()}function R(){function Z(H){H||(u.value=!0,d.value=!1)}e.beforeClose?e.beforeClose(Z):T()}function P(){e.closeOnClickModal&&R()}function L(){Nt&&(d.value=!0)}function B(){d.value=!1}function V(){l("openAutoFocus")}function j(){l("closeAutoFocus")}function te(Z){var H;((H=Z.detail)==null?void 0:H.focusReason)==="pointer"&&Z.preventDefault()}e.lockScroll&&Sh(d);function J(){e.closeOnPressEscape&&R()}return Se(()=>e.modelValue,Z=>{Z?(u.value=!1,$(),p.value=!0,h.value=C3(e.zIndex)?n():h.value++,et(()=>{l("open"),t.value&&(t.value.scrollTop=0)})):d.value&&T()}),Se(()=>e.fullscreen,Z=>{t.value&&(Z?(a=t.value.style.transform,t.value.style.transform=""):t.value.style.transform=a)}),ft(()=>{e.modelValue&&(d.value=!0,p.value=!0,$())}),{afterEnter:y,afterLeave:w,beforeLeave:x,handleClose:R,onModalClick:P,close:T,doClose:B,onOpenAutoFocus:V,onCloseAutoFocus:j,onCloseRequested:J,onFocusoutPrevented:te,titleId:i,bodyId:c,closed:u,style:_,overlayDialogStyle:g,rendered:p,visible:d,zIndex:h}},WJ=["aria-label","aria-labelledby","aria-describedby"],qJ=N({...N({name:"ElDialog",inheritAttrs:!1}),props:yy,emits:xy,setup(e,{expose:t}){const o=e,r=Do();Lo({scope:"el-dialog",from:"the title slot",replacement:"the header slot",version:"3.0.0",ref:"https://element-plus.org/en-US/component/dialog.html#slots"},C(()=>!!r.title));const l=ze("dialog"),n=D(),a=D(),i=D(),{visible:c,titleId:d,bodyId:u,style:p,overlayDialogStyle:h,rendered:v,zIndex:m,afterEnter:f,afterLeave:_,beforeLeave:g,handleClose:y,onModalClick:w,onOpenAutoFocus:x,onCloseAutoFocus:$,onCloseRequested:T,onFocusoutPrevented:R}=ky(o,n);zt(_y,{dialogRef:n,headerRef:a,bodyId:u,ns:l,rendered:v,style:p});const P=Ph(w),L=C(()=>o.draggable&&!o.fullscreen);return t({visible:c,dialogContentRef:i}),(B,V)=>(b(),he(hi,{to:B.appendTo,disabled:B.appendTo!=="body"?!1:!B.appendToBody},[ee(Mo,{name:"dialog-fade",onAfterEnter:s(f),onAfterLeave:s(_),onBeforeLeave:s(g),persisted:""},{default:le(()=>[mt(ee(s(Uv),{"custom-mask-event":"",mask:B.modal,"overlay-class":B.modalClass,"z-index":s(m)},{default:le(()=>[E("div",{role:"dialog","aria-modal":"true","aria-label":B.title||void 0,"aria-labelledby":B.title?void 0:s(d),"aria-describedby":s(u),class:O(`${s(l).namespace.value}-overlay-dialog`),style:Je(s(h)),onClick:V[0]||(V[0]=(...j)=>s(P).onClick&&s(P).onClick(...j)),onMousedown:V[1]||(V[1]=(...j)=>s(P).onMousedown&&s(P).onMousedown(...j)),onMouseup:V[2]||(V[2]=(...j)=>s(P).onMouseup&&s(P).onMouseup(...j))},[ee(s(Nc),{loop:"",trapped:s(c),"focus-start-el":"container",onFocusAfterTrapped:s(x),onFocusAfterReleased:s($),onFocusoutPrevented:s(R),onReleaseRequested:s(T)},{default:le(()=>[s(v)?(b(),he(UJ,Mt({key:0,ref_key:"dialogContentRef",ref:i},B.$attrs,{center:B.center,"align-center":B.alignCenter,"close-icon":B.closeIcon,draggable:s(L),overflow:B.overflow,fullscreen:B.fullscreen,"show-close":B.showClose,title:B.title,"aria-level":B.headerAriaLevel,onClose:s(y)}),ln({header:le(()=>[B.$slots.title?be(B.$slots,"title",{key:1}):be(B.$slots,"header",{key:0,close:s(y),titleId:s(d),titleClass:s(l).e("title")})]),default:le(()=>[be(B.$slots,"default")]),_:2},[B.$slots.footer?{name:"footer",fn:le(()=>[be(B.$slots,"footer")])}:void 0]),1040,["center","align-center","close-icon","draggable","overflow","fullscreen","show-close","title","aria-level","onClose"])):se("v-if",!0)]),_:3},8,["trapped","onFocusAfterTrapped","onFocusAfterReleased","onFocusoutPrevented","onReleaseRequested"])],46,WJ)]),_:3},8,["mask","overlay-class","z-index"]),[[Lt,s(c)]])]),_:3},8,["onAfterEnter","onAfterLeave","onBeforeLeave"])],8,["to","disabled"]))}});var YJ=Le(qJ,[["__file","dialog.vue"]]);const GJ=yt(YJ),XJ=Pe({direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},contentPosition:{type:String,values:["left","center","right"],default:"center"},borderStyle:{type:ue(String),default:"solid"}}),ZJ=N({...N({name:"ElDivider"}),props:XJ,setup(e){const t=e,o=ze("divider"),r=C(()=>o.cssVar({"border-style":t.borderStyle}));return(l,n)=>(b(),M("div",{class:O([s(o).b(),s(o).m(l.direction)]),style:Je(s(r)),role:"separator"},[l.$slots.default&&l.direction!=="vertical"?(b(),M("div",{key:0,class:O([s(o).e("text"),s(o).is(l.contentPosition)])},[be(l.$slots,"default")],2)):se("v-if",!0)],6))}});var JJ=Le(ZJ,[["__file","divider.vue"]]);const Cy=yt(JJ),QJ=Pe({...yy,direction:{type:String,default:"rtl",values:["ltr","rtl","ttb","btt"]},size:{type:[String,Number],default:"30%"},withHeader:{type:Boolean,default:!0},modalFade:{type:Boolean,default:!0},headerAriaLevel:{type:String,default:"2"}}),eQ=xy,tQ=["aria-label","aria-labelledby","aria-describedby"],oQ=["id","aria-level"],rQ=["aria-label"],lQ=["id"],nQ=N({...N({name:"ElDrawer",inheritAttrs:!1}),props:QJ,emits:eQ,setup(e,{expose:t}){const o=e,r=Do();Lo({scope:"el-drawer",from:"the title slot",replacement:"the header slot",version:"3.0.0",ref:"https://element-plus.org/en-US/component/drawer.html#slots"},C(()=>!!r.title));const l=D(),n=D(),a=ze("drawer"),{t:i}=Rt(),{afterEnter:c,afterLeave:d,beforeLeave:u,visible:p,rendered:h,titleId:v,bodyId:m,zIndex:f,onModalClick:_,onOpenAutoFocus:g,onCloseAutoFocus:y,onFocusoutPrevented:w,onCloseRequested:x,handleClose:$}=ky(o,l),T=C(()=>o.direction==="rtl"||o.direction==="ltr"),R=C(()=>mo(o.size));return t({handleClose:$,afterEnter:c,afterLeave:d}),(P,L)=>(b(),he(hi,{to:"body",disabled:!P.appendToBody},[ee(Mo,{name:s(a).b("fade"),onAfterEnter:s(c),onAfterLeave:s(d),onBeforeLeave:s(u),persisted:""},{default:le(()=>[mt(ee(s(Uv),{mask:P.modal,"overlay-class":P.modalClass,"z-index":s(f),onClick:s(_)},{default:le(()=>[ee(s(Nc),{loop:"",trapped:s(p),"focus-trap-el":l.value,"focus-start-el":n.value,onFocusAfterTrapped:s(g),onFocusAfterReleased:s(y),onFocusoutPrevented:s(w),onReleaseRequested:s(x)},{default:le(()=>[E("div",Mt({ref_key:"drawerRef",ref:l,"aria-modal":"true","aria-label":P.title||void 0,"aria-labelledby":P.title?void 0:s(v),"aria-describedby":s(m)},P.$attrs,{class:[s(a).b(),P.direction,s(p)&&"open"],style:s(T)?"width: "+s(R):"height: "+s(R),role:"dialog",onClick:L[1]||(L[1]=ct(()=>{},["stop"]))}),[E("span",{ref_key:"focusStartRef",ref:n,class:O(s(a).e("sr-focus")),tabindex:"-1"},null,2),P.withHeader?(b(),M("header",{key:0,class:O(s(a).e("header"))},[P.$slots.title?be(P.$slots,"title",{key:1},()=>[se(" DEPRECATED SLOT ")]):be(P.$slots,"header",{key:0,close:s($),titleId:s(v),titleClass:s(a).e("title")},()=>[P.$slots.title?se("v-if",!0):(b(),M("span",{key:0,id:s(v),role:"heading","aria-level":P.headerAriaLevel,class:O(s(a).e("title"))},$e(P.title),11,oQ))]),P.showClose?(b(),M("button",{key:2,"aria-label":s(i)("el.drawer.close"),class:O(s(a).e("close-btn")),type:"button",onClick:L[0]||(L[0]=(...B)=>s($)&&s($)(...B))},[ee(s(Ze),{class:O(s(a).e("close"))},{default:le(()=>[ee(s(Jr))]),_:1},8,["class"])],10,rQ)):se("v-if",!0)],2)):se("v-if",!0),s(h)?(b(),M("div",{key:1,id:s(m),class:O(s(a).e("body"))},[be(P.$slots,"default")],10,lQ)):se("v-if",!0),P.$slots.footer?(b(),M("div",{key:2,class:O(s(a).e("footer"))},[be(P.$slots,"footer")],2)):se("v-if",!0)],16,tQ)]),_:3},8,["trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusoutPrevented","onReleaseRequested"])]),_:3},8,["mask","overlay-class","z-index","onClick"]),[[Lt,s(p)]])]),_:3},8,["name","onAfterEnter","onAfterLeave","onBeforeLeave"])],8,["disabled"]))}});var aQ=Le(nQ,[["__file","drawer.vue"]]);const iQ=yt(aQ),sQ=N({inheritAttrs:!1});function cQ(e,t,o,r,l,n){return be(e.$slots,"default")}var uQ=Le(sQ,[["render",cQ],["__file","collection.vue"]]);const dQ=N({name:"ElCollectionItem",inheritAttrs:!1});function pQ(e,t,o,r,l,n){return be(e.$slots,"default")}var fQ=Le(dQ,[["render",pQ],["__file","collection-item.vue"]]);const Sy="data-el-collection-item",Ey=e=>{const t=`El${e}Collection`,o=`${t}Item`,r=Symbol(t),l=Symbol(o),n={...uQ,name:t,setup(){const i=D(null),c=new Map;zt(r,{itemMap:c,getItems:()=>{const u=s(i);if(!u)return[];const p=Array.from(u.querySelectorAll(`[${Sy}]`));return[...c.values()].sort((v,m)=>p.indexOf(v.ref)-p.indexOf(m.ref))},collectionRef:i})}},a={...fQ,name:o,setup(i,{attrs:c}){const d=D(null),u=Ge(r,void 0);zt(l,{collectionItemRef:d}),ft(()=>{const p=s(d);p&&u.itemMap.set(p,{ref:p,...c})}),to(()=>{const p=s(d);u.itemMap.delete(p)})}};return{COLLECTION_INJECTION_KEY:r,COLLECTION_ITEM_INJECTION_KEY:l,ElCollection:n,ElCollectionItem:a}},hQ=Pe({style:{type:ue([String,Array,Object])},currentTabId:{type:ue(String)},defaultCurrentTabId:String,loop:Boolean,dir:{type:String,values:["ltr","rtl"],default:"ltr"},orientation:{type:ue(String)},onBlur:Function,onFocus:Function,onMousedown:Function}),{ElCollection:vQ,ElCollectionItem:mQ,COLLECTION_INJECTION_KEY:Wv,COLLECTION_ITEM_INJECTION_KEY:gQ}=Ey("RovingFocusGroup"),qv=Symbol("elRovingFocusGroup"),Ty=Symbol("elRovingFocusGroupItem"),bQ={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"},_Q=(e,t)=>e,wQ=(e,t,o)=>{const r=_Q(e.key);return bQ[r]},yQ=(e,t)=>e.map((o,r)=>e[(r+t)%e.length]),Yv=e=>{const{activeElement:t}=document;for(const o of e)if(o===t||(o.focus(),t!==document.activeElement))return},$y="currentTabIdChange",My="rovingFocusGroup.entryFocus",xQ={bubbles:!1,cancelable:!0},kQ=N({name:"ElRovingFocusGroupImpl",inheritAttrs:!1,props:hQ,emits:[$y,"entryFocus"],setup(e,{emit:t}){var o;const r=D((o=e.currentTabId||e.defaultCurrentTabId)!=null?o:null),l=D(!1),n=D(!1),a=D(null),{getItems:i}=Ge(Wv,void 0),c=C(()=>[{outline:"none"},e.style]),d=f=>{t($y,f)},u=()=>{l.value=!0},p=ho(f=>{var _;(_=e.onMousedown)==null||_.call(e,f)},()=>{n.value=!0}),h=ho(f=>{var _;(_=e.onFocus)==null||_.call(e,f)},f=>{const _=!s(n),{target:g,currentTarget:y}=f;if(g===y&&_&&!s(l)){const w=new Event(My,xQ);if(y==null||y.dispatchEvent(w),!w.defaultPrevented){const x=i().filter(L=>L.focusable),$=x.find(L=>L.active),T=x.find(L=>L.id===s(r)),P=[$,T,...x].filter(Boolean).map(L=>L.ref);Yv(P)}}n.value=!1}),v=ho(f=>{var _;(_=e.onBlur)==null||_.call(e,f)},()=>{l.value=!1}),m=(...f)=>{t("entryFocus",...f)};zt(qv,{currentTabbedId:ui(r),loop:Yt(e,"loop"),tabIndex:C(()=>s(l)?-1:0),rovingFocusGroupRef:a,rovingFocusGroupRootStyle:c,orientation:Yt(e,"orientation"),dir:Yt(e,"dir"),onItemFocus:d,onItemShiftTab:u,onBlur:v,onFocus:h,onMousedown:p}),Se(()=>e.currentTabId,f=>{r.value=f??null}),oo(a,My,m)}});function CQ(e,t,o,r,l,n){return be(e.$slots,"default")}var SQ=Le(kQ,[["render",CQ],["__file","roving-focus-group-impl.vue"]]);const EQ=N({name:"ElRovingFocusGroup",components:{ElFocusGroupCollection:vQ,ElRovingFocusGroupImpl:SQ}});function TQ(e,t,o,r,l,n){const a=nt("el-roving-focus-group-impl"),i=nt("el-focus-group-collection");return b(),he(i,null,{default:le(()=>[ee(a,Zl(mi(e.$attrs)),{default:le(()=>[be(e.$slots,"default")]),_:3},16)]),_:3})}var $Q=Le(EQ,[["render",TQ],["__file","roving-focus-group.vue"]]);const MQ=N({components:{ElRovingFocusCollectionItem:mQ},props:{focusable:{type:Boolean,default:!0},active:{type:Boolean,default:!1}},emits:["mousedown","focus","keydown"],setup(e,{emit:t}){const{currentTabbedId:o,loop:r,onItemFocus:l,onItemShiftTab:n}=Ge(qv,void 0),{getItems:a}=Ge(Wv,void 0),i=Qo(),c=D(null),d=ho(v=>{t("mousedown",v)},v=>{e.focusable?l(s(i)):v.preventDefault()}),u=ho(v=>{t("focus",v)},()=>{l(s(i))}),p=ho(v=>{t("keydown",v)},v=>{const{key:m,shiftKey:f,target:_,currentTarget:g}=v;if(m===lt.tab&&f){n();return}if(_!==g)return;const y=wQ(v);if(y){v.preventDefault();let x=a().filter($=>$.focusable).map($=>$.ref);switch(y){case"last":{x.reverse();break}case"prev":case"next":{y==="prev"&&x.reverse();const $=x.indexOf(g);x=r.value?yQ(x,$+1):x.slice($+1);break}}et(()=>{Yv(x)})}}),h=C(()=>o.value===s(i));return zt(Ty,{rovingFocusGroupItemRef:c,tabIndex:C(()=>s(h)?0:-1),handleMousedown:d,handleFocus:u,handleKeydown:p}),{id:i,handleKeydown:p,handleFocus:u,handleMousedown:d}}});function AQ(e,t,o,r,l,n){const a=nt("el-roving-focus-collection-item");return b(),he(a,{id:e.id,focusable:e.focusable,active:e.active},{default:le(()=>[be(e.$slots,"default")]),_:3},8,["id","focusable","active"])}var zQ=Le(MQ,[["render",AQ],["__file","roving-focus-item.vue"]]);const xp=Pe({trigger:Pc.trigger,effect:{...Uo.effect,default:"light"},type:{type:ue(String)},placement:{type:ue(String),default:"bottom"},popperOptions:{type:ue(Object),default:()=>({})},id:String,size:{type:String,default:""},splitButton:Boolean,hideOnClick:{type:Boolean,default:!0},loop:{type:Boolean,default:!0},showTimeout:{type:Number,default:150},hideTimeout:{type:Number,default:150},tabindex:{type:ue([Number,String]),default:0},maxHeight:{type:ue([Number,String]),default:""},popperClass:{type:String,default:""},disabled:{type:Boolean,default:!1},role:{type:String,default:"menu"},buttonProps:{type:ue(Object)},teleported:Uo.teleported}),Ay=Pe({command:{type:[Object,String,Number],default:()=>({})},disabled:Boolean,divided:Boolean,textValue:String,icon:{type:Xt}}),IQ=Pe({onKeydown:{type:ue(Function)}}),OQ=[lt.down,lt.pageDown,lt.home],zy=[lt.up,lt.pageUp,lt.end],NQ=[...OQ,...zy],{ElCollection:PQ,ElCollectionItem:RQ,COLLECTION_INJECTION_KEY:LQ,COLLECTION_ITEM_INJECTION_KEY:BQ}=Ey("Dropdown"),kp=Symbol("elDropdown"),{ButtonGroup:VQ}=Wo,DQ=N({name:"ElDropdown",components:{ElButton:Wo,ElButtonGroup:VQ,ElScrollbar:wn,ElDropdownCollection:PQ,ElTooltip:ur,ElRovingFocusGroup:$Q,ElOnlyChild:x4,ElIcon:Ze,ArrowDown:Pl},props:xp,emits:["visible-change","click","command"],setup(e,{emit:t}){const o=wt(),r=ze("dropdown"),{t:l}=Rt(),n=D(),a=D(),i=D(null),c=D(null),d=D(null),u=D(null),p=D(!1),h=[lt.enter,lt.space,lt.down],v=C(()=>({maxHeight:mo(e.maxHeight)})),m=C(()=>[r.m($.value)]),f=C(()=>Gn(e.trigger)),_=Qo().value,g=C(()=>e.id||_);Se([n,f],([F,K],[I])=>{var U,oe,ne;(U=I==null?void 0:I.$el)!=null&&U.removeEventListener&&I.$el.removeEventListener("pointerenter",R),(oe=F==null?void 0:F.$el)!=null&&oe.removeEventListener&&F.$el.removeEventListener("pointerenter",R),(ne=F==null?void 0:F.$el)!=null&&ne.addEventListener&&K.includes("hover")&&F.$el.addEventListener("pointerenter",R)},{immediate:!0}),to(()=>{var F,K;(K=(F=n.value)==null?void 0:F.$el)!=null&&K.removeEventListener&&n.value.$el.removeEventListener("pointerenter",R)});function y(){w()}function w(){var F;(F=i.value)==null||F.onClose()}function x(){var F;(F=i.value)==null||F.onOpen()}const $=So();function T(...F){t("command",...F)}function R(){var F,K;(K=(F=n.value)==null?void 0:F.$el)==null||K.focus()}function P(){}function L(){const F=s(c);f.value.includes("hover")&&(F==null||F.focus()),u.value=null}function B(F){u.value=F}function V(F){p.value||(F.preventDefault(),F.stopImmediatePropagation())}function j(){t("visible-change",!0)}function te(F){(F==null?void 0:F.type)==="keydown"&&c.value.focus()}function J(){t("visible-change",!1)}return zt(kp,{contentRef:c,role:C(()=>e.role),triggerId:g,isUsingKeyboard:p,onItemEnter:P,onItemLeave:L}),zt("elDropdown",{instance:o,dropdownSize:$,handleClick:y,commandHandler:T,trigger:Yt(e,"trigger"),hideOnClick:Yt(e,"hideOnClick")}),{t:l,ns:r,scrollbar:d,wrapStyle:v,dropdownTriggerKls:m,dropdownSize:$,triggerId:g,triggerKeys:h,currentTabId:u,handleCurrentTabIdChange:B,handlerMainButtonClick:F=>{t("click",F)},handleEntryFocus:V,handleClose:w,handleOpen:x,handleBeforeShowTooltip:j,handleShowTooltip:te,handleBeforeHideTooltip:J,onFocusAfterTrapped:F=>{var K,I;F.preventDefault(),(I=(K=c.value)==null?void 0:K.focus)==null||I.call(K,{preventScroll:!0})},popperRef:i,contentRef:c,triggeringElementRef:n,referenceElementRef:a}}});function HQ(e,t,o,r,l,n){var a;const i=nt("el-dropdown-collection"),c=nt("el-roving-focus-group"),d=nt("el-scrollbar"),u=nt("el-only-child"),p=nt("el-tooltip"),h=nt("el-button"),v=nt("arrow-down"),m=nt("el-icon"),f=nt("el-button-group");return b(),M("div",{class:O([e.ns.b(),e.ns.is("disabled",e.disabled)])},[ee(p,{ref:"popperRef",role:e.role,effect:e.effect,"fallback-placements":["bottom","top"],"popper-options":e.popperOptions,"gpu-acceleration":!1,"hide-after":e.trigger==="hover"?e.hideTimeout:0,"manual-mode":!0,placement:e.placement,"popper-class":[e.ns.e("popper"),e.popperClass],"reference-element":(a=e.referenceElementRef)==null?void 0:a.$el,trigger:e.trigger,"trigger-keys":e.triggerKeys,"trigger-target-el":e.contentRef,"show-after":e.trigger==="hover"?e.showTimeout:0,"stop-popper-mouse-event":!1,"virtual-ref":e.triggeringElementRef,"virtual-triggering":e.splitButton,disabled:e.disabled,transition:`${e.ns.namespace.value}-zoom-in-top`,teleported:e.teleported,pure:"",persistent:"",onBeforeShow:e.handleBeforeShowTooltip,onShow:e.handleShowTooltip,onBeforeHide:e.handleBeforeHideTooltip},ln({content:le(()=>[ee(d,{ref:"scrollbar","wrap-style":e.wrapStyle,tag:"div","view-class":e.ns.e("list")},{default:le(()=>[ee(c,{loop:e.loop,"current-tab-id":e.currentTabId,orientation:"horizontal",onCurrentTabIdChange:e.handleCurrentTabIdChange,onEntryFocus:e.handleEntryFocus},{default:le(()=>[ee(i,null,{default:le(()=>[be(e.$slots,"dropdown")]),_:3})]),_:3},8,["loop","current-tab-id","onCurrentTabIdChange","onEntryFocus"])]),_:3},8,["wrap-style","view-class"])]),_:2},[e.splitButton?void 0:{name:"default",fn:le(()=>[ee(u,{id:e.triggerId,ref:"triggeringElementRef",role:"button",tabindex:e.tabindex},{default:le(()=>[be(e.$slots,"default")]),_:3},8,["id","tabindex"])])}]),1032,["role","effect","popper-options","hide-after","placement","popper-class","reference-element","trigger","trigger-keys","trigger-target-el","show-after","virtual-ref","virtual-triggering","disabled","transition","teleported","onBeforeShow","onShow","onBeforeHide"]),e.splitButton?(b(),he(f,{key:0},{default:le(()=>[ee(h,Mt({ref:"referenceElementRef"},e.buttonProps,{size:e.dropdownSize,type:e.type,disabled:e.disabled,tabindex:e.tabindex,onClick:e.handlerMainButtonClick}),{default:le(()=>[be(e.$slots,"default")]),_:3},16,["size","type","disabled","tabindex","onClick"]),ee(h,Mt({id:e.triggerId,ref:"triggeringElementRef"},e.buttonProps,{role:"button",size:e.dropdownSize,type:e.type,class:e.ns.e("caret-button"),disabled:e.disabled,tabindex:e.tabindex,"aria-label":e.t("el.dropdown.toggleDropdown")}),{default:le(()=>[ee(m,{class:O(e.ns.e("icon"))},{default:le(()=>[ee(v)]),_:1},8,["class"])]),_:1},16,["id","size","type","class","disabled","tabindex","aria-label"])]),_:3})):se("v-if",!0)],2)}var FQ=Le(DQ,[["render",HQ],["__file","dropdown.vue"]]);const jQ=N({name:"DropdownItemImpl",components:{ElIcon:Ze},props:Ay,emits:["pointermove","pointerleave","click","clickimpl"],setup(e,{emit:t}){const o=ze("dropdown"),{role:r}=Ge(kp,void 0),{collectionItemRef:l}=Ge(BQ,void 0),{collectionItemRef:n}=Ge(gQ,void 0),{rovingFocusGroupItemRef:a,tabIndex:i,handleFocus:c,handleKeydown:d,handleMousedown:u}=Ge(Ty,void 0),p=Nd(l,n,a),h=C(()=>r.value==="menu"?"menuitem":r.value==="navigation"?"link":"button"),v=ho(m=>{const{code:f}=m;if(f===lt.enter||f===lt.space)return m.preventDefault(),m.stopImmediatePropagation(),t("clickimpl",m),!0},d);return{ns:o,itemRef:p,dataset:{[Sy]:""},role:h,tabIndex:i,handleFocus:c,handleKeydown:v,handleMousedown:u}}}),KQ=["aria-disabled","tabindex","role"];function UQ(e,t,o,r,l,n){const a=nt("el-icon");return b(),M(Qe,null,[e.divided?(b(),M("li",Mt({key:0,role:"separator",class:e.ns.bem("menu","item","divided")},e.$attrs),null,16)):se("v-if",!0),E("li",Mt({ref:e.itemRef},{...e.dataset,...e.$attrs},{"aria-disabled":e.disabled,class:[e.ns.be("menu","item"),e.ns.is("disabled",e.disabled)],tabindex:e.tabIndex,role:e.role,onClick:t[0]||(t[0]=i=>e.$emit("clickimpl",i)),onFocus:t[1]||(t[1]=(...i)=>e.handleFocus&&e.handleFocus(...i)),onKeydown:t[2]||(t[2]=ct((...i)=>e.handleKeydown&&e.handleKeydown(...i),["self"])),onMousedown:t[3]||(t[3]=(...i)=>e.handleMousedown&&e.handleMousedown(...i)),onPointermove:t[4]||(t[4]=i=>e.$emit("pointermove",i)),onPointerleave:t[5]||(t[5]=i=>e.$emit("pointerleave",i))}),[e.icon?(b(),he(a,{key:0},{default:le(()=>[(b(),he(Et(e.icon)))]),_:1})):se("v-if",!0),be(e.$slots,"default")],16,KQ)],64)}var WQ=Le(jQ,[["render",UQ],["__file","dropdown-item-impl.vue"]]);const Iy=()=>{const e=Ge("elDropdown",{}),t=C(()=>e==null?void 0:e.dropdownSize);return{elDropdown:e,_elDropdownSize:t}},qQ=N({name:"ElDropdownItem",components:{ElDropdownCollectionItem:RQ,ElRovingFocusItem:zQ,ElDropdownItemImpl:WQ},inheritAttrs:!1,props:Ay,emits:["pointermove","pointerleave","click"],setup(e,{emit:t,attrs:o}){const{elDropdown:r}=Iy(),l=wt(),n=D(null),a=C(()=>{var v,m;return(m=(v=s(n))==null?void 0:v.textContent)!=null?m:""}),{onItemEnter:i,onItemLeave:c}=Ge(kp,void 0),d=ho(v=>(t("pointermove",v),v.defaultPrevented),Kb(v=>{if(e.disabled){c(v);return}const m=v.currentTarget;m===document.activeElement||m.contains(document.activeElement)||(i(v),v.defaultPrevented||m==null||m.focus())})),u=ho(v=>(t("pointerleave",v),v.defaultPrevented),Kb(v=>{c(v)})),p=ho(v=>{if(!e.disabled)return t("click",v),v.type!=="keydown"&&v.defaultPrevented},v=>{var m,f,_;if(e.disabled){v.stopImmediatePropagation();return}(m=r==null?void 0:r.hideOnClick)!=null&&m.value&&((f=r.handleClick)==null||f.call(r)),(_=r.commandHandler)==null||_.call(r,e.command,l,v)}),h=C(()=>({...e,...o}));return{handleClick:p,handlePointerMove:d,handlePointerLeave:u,textContent:a,propsAndAttrs:h}}});function YQ(e,t,o,r,l,n){var a;const i=nt("el-dropdown-item-impl"),c=nt("el-roving-focus-item"),d=nt("el-dropdown-collection-item");return b(),he(d,{disabled:e.disabled,"text-value":(a=e.textValue)!=null?a:e.textContent},{default:le(()=>[ee(c,{focusable:!e.disabled},{default:le(()=>[ee(i,Mt(e.propsAndAttrs,{onPointerleave:e.handlePointerLeave,onPointermove:e.handlePointerMove,onClickimpl:e.handleClick}),{default:le(()=>[be(e.$slots,"default")]),_:3},16,["onPointerleave","onPointermove","onClickimpl"])]),_:3},8,["focusable"])]),_:3},8,["disabled","text-value"])}var Oy=Le(qQ,[["render",YQ],["__file","dropdown-item.vue"]]);const GQ=N({name:"ElDropdownMenu",props:IQ,setup(e){const t=ze("dropdown"),{_elDropdownSize:o}=Iy(),r=o.value,{focusTrapRef:l,onKeydown:n}=Ge(iv,void 0),{contentRef:a,role:i,triggerId:c}=Ge(kp,void 0),{collectionRef:d,getItems:u}=Ge(LQ,void 0),{rovingFocusGroupRef:p,rovingFocusGroupRootStyle:h,tabIndex:v,onBlur:m,onFocus:f,onMousedown:_}=Ge(qv,void 0),{collectionRef:g}=Ge(Wv,void 0),y=C(()=>[t.b("menu"),t.bm("menu",r==null?void 0:r.value)]),w=Nd(a,d,l,p,g),x=ho(T=>{var R;(R=e.onKeydown)==null||R.call(e,T)},T=>{const{currentTarget:R,code:P,target:L}=T;if(R.contains(L),lt.tab===P&&T.stopImmediatePropagation(),T.preventDefault(),L!==s(a)||!NQ.includes(P))return;const V=u().filter(j=>!j.disabled).map(j=>j.ref);zy.includes(P)&&V.reverse(),Yv(V)});return{size:r,rovingFocusGroupRootStyle:h,tabIndex:v,dropdownKls:y,role:i,triggerId:c,dropdownListWrapperRef:w,handleKeydown:T=>{x(T),n(T)},onBlur:m,onFocus:f,onMousedown:_}}}),XQ=["role","aria-labelledby"];function ZQ(e,t,o,r,l,n){return b(),M("ul",{ref:e.dropdownListWrapperRef,class:O(e.dropdownKls),style:Je(e.rovingFocusGroupRootStyle),tabindex:-1,role:e.role,"aria-labelledby":e.triggerId,onBlur:t[0]||(t[0]=(...a)=>e.onBlur&&e.onBlur(...a)),onFocus:t[1]||(t[1]=(...a)=>e.onFocus&&e.onFocus(...a)),onKeydown:t[2]||(t[2]=ct((...a)=>e.handleKeydown&&e.handleKeydown(...a),["self"])),onMousedown:t[3]||(t[3]=ct((...a)=>e.onMousedown&&e.onMousedown(...a),["self"]))},[be(e.$slots,"default")],46,XQ)}var Ny=Le(GQ,[["render",ZQ],["__file","dropdown-menu.vue"]]);const JQ=yt(FQ,{DropdownItem:Oy,DropdownMenu:Ny}),QQ=co(Oy),eee=co(Ny),tee={viewBox:"0 0 79 86",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},oee=["id"],ree=["stop-color"],lee=["stop-color"],nee=["id"],aee=["stop-color"],iee=["stop-color"],see=["id"],cee={id:"Illustrations",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},uee={id:"B-type",transform:"translate(-1268.000000, -535.000000)"},dee={id:"Group-2",transform:"translate(1268.000000, 535.000000)"},pee=["fill"],fee=["fill"],hee={id:"Group-Copy",transform:"translate(34.500000, 31.500000) scale(-1, 1) rotate(-25.000000) translate(-34.500000, -31.500000) translate(7.000000, 10.000000)"},vee=["fill"],mee=["fill"],gee=["fill"],bee=["fill"],_ee=["fill"],wee={id:"Rectangle-Copy-17",transform:"translate(53.000000, 45.000000)"},yee=["fill","xlink:href"],xee=["fill","mask"],kee=["fill"],Cee=N({...N({name:"ImgEmpty"}),setup(e){const t=ze("empty"),o=Qo();return(r,l)=>(b(),M("svg",tee,[E("defs",null,[E("linearGradient",{id:`linearGradient-1-${s(o)}`,x1:"38.8503086%",y1:"0%",x2:"61.1496914%",y2:"100%"},[E("stop",{"stop-color":`var(${s(t).cssVarBlockName("fill-color-1")})`,offset:"0%"},null,8,ree),E("stop",{"stop-color":`var(${s(t).cssVarBlockName("fill-color-4")})`,offset:"100%"},null,8,lee)],8,oee),E("linearGradient",{id:`linearGradient-2-${s(o)}`,x1:"0%",y1:"9.5%",x2:"100%",y2:"90.5%"},[E("stop",{"stop-color":`var(${s(t).cssVarBlockName("fill-color-1")})`,offset:"0%"},null,8,aee),E("stop",{"stop-color":`var(${s(t).cssVarBlockName("fill-color-6")})`,offset:"100%"},null,8,iee)],8,nee),E("rect",{id:`path-3-${s(o)}`,x:"0",y:"0",width:"17",height:"36"},null,8,see)]),E("g",cee,[E("g",uee,[E("g",dee,[E("path",{id:"Oval-Copy-2",d:"M39.5,86 C61.3152476,86 79,83.9106622 79,81.3333333 C79,78.7560045 57.3152476,78 35.5,78 C13.6847524,78 0,78.7560045 0,81.3333333 C0,83.9106622 17.6847524,86 39.5,86 Z",fill:`var(${s(t).cssVarBlockName("fill-color-3")})`},null,8,pee),E("polygon",{id:"Rectangle-Copy-14",fill:`var(${s(t).cssVarBlockName("fill-color-7")})`,transform:"translate(27.500000, 51.500000) scale(1, -1) translate(-27.500000, -51.500000) ",points:"13 58 53 58 42 45 2 45"},null,8,fee),E("g",hee,[E("polygon",{id:"Rectangle-Copy-10",fill:`var(${s(t).cssVarBlockName("fill-color-7")})`,transform:"translate(11.500000, 5.000000) scale(1, -1) translate(-11.500000, -5.000000) ",points:"2.84078316e-14 3 18 3 23 7 5 7"},null,8,vee),E("polygon",{id:"Rectangle-Copy-11",fill:`var(${s(t).cssVarBlockName("fill-color-5")})`,points:"-3.69149156e-15 7 38 7 38 43 -3.69149156e-15 43"},null,8,mee),E("rect",{id:"Rectangle-Copy-12",fill:`url(#linearGradient-1-${s(o)})`,transform:"translate(46.500000, 25.000000) scale(-1, 1) translate(-46.500000, -25.000000) ",x:"38",y:"7",width:"17",height:"36"},null,8,gee),E("polygon",{id:"Rectangle-Copy-13",fill:`var(${s(t).cssVarBlockName("fill-color-2")})`,transform:"translate(39.500000, 3.500000) scale(-1, 1) translate(-39.500000, -3.500000) ",points:"24 7 41 7 55 -3.63806207e-12 38 -3.63806207e-12"},null,8,bee)]),E("rect",{id:"Rectangle-Copy-15",fill:`url(#linearGradient-2-${s(o)})`,x:"13",y:"45",width:"40",height:"36"},null,8,_ee),E("g",wee,[E("use",{id:"Mask",fill:`var(${s(t).cssVarBlockName("fill-color-8")})`,transform:"translate(8.500000, 18.000000) scale(-1, 1) translate(-8.500000, -18.000000) ","xlink:href":`#path-3-${s(o)}`},null,8,yee),E("polygon",{id:"Rectangle-Copy",fill:`var(${s(t).cssVarBlockName("fill-color-9")})`,mask:`url(#mask-4-${s(o)})`,transform:"translate(12.000000, 9.000000) scale(-1, 1) translate(-12.000000, -9.000000) ",points:"7 0 24 0 20 18 7 16.5"},null,8,xee)]),E("polygon",{id:"Rectangle-Copy-18",fill:`var(${s(t).cssVarBlockName("fill-color-2")})`,transform:"translate(66.000000, 51.500000) scale(-1, 1) translate(-66.000000, -51.500000) ",points:"62 45 79 45 70 58 53 58"},null,8,kee)])])])]))}});var See=Le(Cee,[["__file","img-empty.vue"]]);const Eee=Pe({image:{type:String,default:""},imageSize:Number,description:{type:String,default:""}}),Tee=["src"],$ee={key:1},Mee=N({...N({name:"ElEmpty"}),props:Eee,setup(e){const t=e,{t:o}=Rt(),r=ze("empty"),l=C(()=>t.description||o("el.table.emptyText")),n=C(()=>({width:mo(t.imageSize)}));return(a,i)=>(b(),M("div",{class:O(s(r).b())},[E("div",{class:O(s(r).e("image")),style:Je(s(n))},[a.image?(b(),M("img",{key:0,src:a.image,ondragstart:"return false"},null,8,Tee)):be(a.$slots,"image",{key:1},()=>[ee(See)])],6),E("div",{class:O(s(r).e("description"))},[a.$slots.description?be(a.$slots,"description",{key:0}):(b(),M("p",$ee,$e(s(l)),1))],2),a.$slots.default?(b(),M("div",{key:0,class:O(s(r).e("bottom"))},[be(a.$slots,"default")],2)):se("v-if",!0)],2))}});var Aee=Le(Mee,[["__file","empty.vue"]]);const Py=yt(Aee),zee=Pe({urlList:{type:ue(Array),default:()=>uo([])},zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},hideOnClickModal:Boolean,teleported:Boolean,closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},crossorigin:{type:ue(String)}}),Iee={close:()=>!0,switch:e=>st(e),rotate:e=>st(e)},Oee=["src","crossorigin"],Nee=N({...N({name:"ElImageViewer"}),props:zee,emits:Iee,setup(e,{expose:t,emit:o}){var r;const l=e,n={CONTAIN:{name:"contain",icon:Nn(L3)},ORIGINAL:{name:"original",icon:Nn(U3)}},{t:a}=Rt(),i=ze("image-viewer"),{nextZIndex:c}=Ki(),d=D(),u=D([]),p=yf(),h=D(!0),v=D(l.initialIndex),m=lo(n.CONTAIN),f=D({scale:1,deg:0,offsetX:0,offsetY:0,enableTransition:!1}),_=D((r=l.zIndex)!=null?r:c()),g=C(()=>{const{urlList:U}=l;return U.length<=1}),y=C(()=>v.value===0),w=C(()=>v.value===l.urlList.length-1),x=C(()=>l.urlList[v.value]),$=C(()=>[i.e("btn"),i.e("prev"),i.is("disabled",!l.infinite&&y.value)]),T=C(()=>[i.e("btn"),i.e("next"),i.is("disabled",!l.infinite&&w.value)]),R=C(()=>{const{scale:U,deg:oe,offsetX:ne,offsetY:ce,enableTransition:Q}=f.value;let Me=ne/U,de=ce/U;switch(oe%360){case 90:case-270:[Me,de]=[de,-Me];break;case 180:case-180:[Me,de]=[-Me,-de];break;case 270:case-90:[Me,de]=[-de,Me];break}const _e={transform:`scale(${U}) rotate(${oe}deg) translate(${Me}px, ${de}px)`,transition:Q?"transform .3s":""};return m.value.name===n.CONTAIN.name&&(_e.maxWidth=_e.maxHeight="100%"),_e});function P(){B(),o("close")}function L(){const U=Oa(ne=>{switch(ne.code){case lt.esc:l.closeOnPressEscape&&P();break;case lt.space:Z();break;case lt.left:F();break;case lt.up:I("zoomIn");break;case lt.right:K();break;case lt.down:I("zoomOut");break}}),oe=Oa(ne=>{const ce=ne.deltaY||ne.deltaX;I(ce<0?"zoomIn":"zoomOut",{zoomRate:l.zoomRate,enableTransition:!1})});p.run(()=>{oo(document,"keydown",U),oo(document,"wheel",oe)})}function B(){p.stop()}function V(){h.value=!1}function j(U){h.value=!1,U.target.alt=a("el.image.error")}function te(U){if(h.value||U.button!==0||!d.value)return;f.value.enableTransition=!1;const{offsetX:oe,offsetY:ne}=f.value,ce=U.pageX,Q=U.pageY,Me=Oa(_e=>{f.value={...f.value,offsetX:oe+_e.pageX-ce,offsetY:ne+_e.pageY-Q}}),de=oo(document,"mousemove",Me);oo(document,"mouseup",()=>{de()}),U.preventDefault()}function J(){f.value={scale:1,deg:0,offsetX:0,offsetY:0,enableTransition:!1}}function Z(){if(h.value)return;const U=Ri(n),oe=Object.values(n),ne=m.value.name,Q=(oe.findIndex(Me=>Me.name===ne)+1)%U.length;m.value=n[U[Q]],J()}function H(U){const oe=l.urlList.length;v.value=(U+oe)%oe}function F(){y.value&&!l.infinite||H(v.value-1)}function K(){w.value&&!l.infinite||H(v.value+1)}function I(U,oe={}){if(h.value)return;const{minScale:ne,maxScale:ce}=l,{zoomRate:Q,rotateDeg:Me,enableTransition:de}={zoomRate:l.zoomRate,rotateDeg:90,enableTransition:!0,...oe};switch(U){case"zoomOut":f.value.scale>ne&&(f.value.scale=Number.parseFloat((f.value.scale/Q).toFixed(3)));break;case"zoomIn":f.value.scale{et(()=>{const U=u.value[0];U!=null&&U.complete||(h.value=!0)})}),Se(v,U=>{J(),o("switch",U)}),ft(()=>{var U,oe;L(),(oe=(U=d.value)==null?void 0:U.focus)==null||oe.call(U)}),t({setActiveItem:H}),(U,oe)=>(b(),he(hi,{to:"body",disabled:!U.teleported},[ee(Mo,{name:"viewer-fade",appear:""},{default:le(()=>[E("div",{ref_key:"wrapper",ref:d,tabindex:-1,class:O(s(i).e("wrapper")),style:Je({zIndex:_.value})},[E("div",{class:O(s(i).e("mask")),onClick:oe[0]||(oe[0]=ct(ne=>U.hideOnClickModal&&P(),["self"]))},null,2),se(" CLOSE "),E("span",{class:O([s(i).e("btn"),s(i).e("close")]),onClick:P},[ee(s(Ze),null,{default:le(()=>[ee(s(Jr))]),_:1})],2),se(" ARROW "),s(g)?se("v-if",!0):(b(),M(Qe,{key:0},[E("span",{class:O(s($)),onClick:F},[ee(s(Ze),null,{default:le(()=>[ee(s(fn))]),_:1})],2),E("span",{class:O(s(T)),onClick:K},[ee(s(Ze),null,{default:le(()=>[ee(s(ir))]),_:1})],2)],64)),se(" ACTIONS "),E("div",{class:O([s(i).e("btn"),s(i).e("actions")])},[E("div",{class:O(s(i).e("actions__inner"))},[ee(s(Ze),{onClick:oe[1]||(oe[1]=ne=>I("zoomOut"))},{default:le(()=>[ee(s(Z3))]),_:1}),ee(s(Ze),{onClick:oe[2]||(oe[2]=ne=>I("zoomIn"))},{default:le(()=>[ee(s(mh))]),_:1}),E("i",{class:O(s(i).e("actions__divider"))},null,2),ee(s(Ze),{onClick:Z},{default:le(()=>[(b(),he(Et(s(m).icon)))]),_:1}),E("i",{class:O(s(i).e("actions__divider"))},null,2),ee(s(Ze),{onClick:oe[3]||(oe[3]=ne=>I("anticlockwise"))},{default:le(()=>[ee(s(j3))]),_:1}),ee(s(Ze),{onClick:oe[4]||(oe[4]=ne=>I("clockwise"))},{default:le(()=>[ee(s(K3))]),_:1})],2)],2),se(" CANVAS "),E("div",{class:O(s(i).e("canvas"))},[(b(!0),M(Qe,null,It(U.urlList,(ne,ce)=>mt((b(),M("img",{ref_for:!0,ref:Q=>u.value[ce]=Q,key:ne,src:ne,style:Je(s(R)),class:O(s(i).e("img")),crossorigin:U.crossorigin,onLoad:V,onError:j,onMousedown:te},null,46,Oee)),[[Lt,ce===v.value]])),128))],2),be(U.$slots,"default")],6)]),_:3})],8,["disabled"]))}});var Pee=Le(Nee,[["__file","image-viewer.vue"]]);const Ry=yt(Pee),Ree=Pe({hideOnClickModal:Boolean,src:{type:String,default:""},fit:{type:String,values:["","contain","cover","fill","none","scale-down"],default:""},loading:{type:String,values:["eager","lazy"]},lazy:Boolean,scrollContainer:{type:ue([String,Object])},previewSrcList:{type:ue(Array),default:()=>uo([])},previewTeleported:Boolean,zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},crossorigin:{type:ue(String)}}),Lee={load:e=>e instanceof Event,error:e=>e instanceof Event,switch:e=>st(e),close:()=>!0,show:()=>!0},Bee=["src","loading","crossorigin"],Vee={key:0},Dee=N({...N({name:"ElImage",inheritAttrs:!1}),props:Ree,emits:Lee,setup(e,{emit:t}){const o=e;let r="";const{t:l}=Rt(),n=ze("image"),a=ya(),i=kh(),c=D(),d=D(!1),u=D(!0),p=D(!1),h=D(),v=D(),m=Nt&&"loading"in HTMLImageElement.prototype;let f,_;const g=C(()=>[n.e("inner"),x.value&&n.e("preview"),u.value&&n.is("loading")]),y=C(()=>a.style),w=C(()=>{const{fit:K}=o;return Nt&&K?{objectFit:K}:{}}),x=C(()=>{const{previewSrcList:K}=o;return Array.isArray(K)&&K.length>0}),$=C(()=>{const{previewSrcList:K,initialIndex:I}=o;let U=I;return I>K.length-1&&(U=0),U}),T=C(()=>o.loading==="eager"?!1:!m&&o.loading==="lazy"||o.lazy),R=()=>{Nt&&(u.value=!0,d.value=!1,c.value=o.src)};function P(K){u.value=!1,d.value=!1,t("load",K)}function L(K){u.value=!1,d.value=!0,t("error",K)}function B(){_E(h.value,v.value)&&(R(),te())}const V=Xb(B,200,!0);async function j(){var K;if(!Nt)return;await et();const{scrollContainer:I}=o;Gr(I)?v.value=I:ut(I)&&I!==""?v.value=(K=document.querySelector(I))!=null?K:void 0:h.value&&(v.value=uh(h.value)),v.value&&(f=oo(v,"scroll",V),setTimeout(()=>B(),100))}function te(){!Nt||!v.value||!V||(f==null||f(),v.value=void 0)}function J(K){if(K.ctrlKey){if(K.deltaY<0)return K.preventDefault(),!1;if(K.deltaY>0)return K.preventDefault(),!1}}function Z(){x.value&&(_=oo("wheel",J,{passive:!1}),r=document.body.style.overflow,document.body.style.overflow="hidden",p.value=!0,t("show"))}function H(){_==null||_(),document.body.style.overflow=r,p.value=!1,t("close")}function F(K){t("switch",K)}return Se(()=>o.src,()=>{T.value?(u.value=!0,d.value=!1,te(),j()):R()}),ft(()=>{T.value?j():R()}),(K,I)=>(b(),M("div",{ref_key:"container",ref:h,class:O([s(n).b(),K.$attrs.class]),style:Je(s(y))},[d.value?be(K.$slots,"error",{key:0},()=>[E("div",{class:O(s(n).e("error"))},$e(s(l)("el.image.error")),3)]):(b(),M(Qe,{key:1},[c.value!==void 0?(b(),M("img",Mt({key:0},s(i),{src:c.value,loading:K.loading,style:s(w),class:s(g),crossorigin:K.crossorigin,onClick:Z,onLoad:P,onError:L}),null,16,Bee)):se("v-if",!0),u.value?(b(),M("div",{key:1,class:O(s(n).e("wrapper"))},[be(K.$slots,"placeholder",{},()=>[E("div",{class:O(s(n).e("placeholder"))},null,2)])],2)):se("v-if",!0)],64)),s(x)?(b(),M(Qe,{key:2},[p.value?(b(),he(s(Ry),{key:0,"z-index":K.zIndex,"initial-index":s($),infinite:K.infinite,"zoom-rate":K.zoomRate,"min-scale":K.minScale,"max-scale":K.maxScale,"url-list":K.previewSrcList,"hide-on-click-modal":K.hideOnClickModal,teleported:K.previewTeleported,"close-on-press-escape":K.closeOnPressEscape,onClose:H,onSwitch:F},{default:le(()=>[K.$slots.viewer?(b(),M("div",Vee,[be(K.$slots,"viewer")])):se("v-if",!0)]),_:3},8,["z-index","initial-index","infinite","zoom-rate","min-scale","max-scale","url-list","hide-on-click-modal","teleported","close-on-press-escape"])):se("v-if",!0)],64)):se("v-if",!0)],6))}});var Hee=Le(Dee,[["__file","image.vue"]]);const Fee=yt(Hee),jee=Pe({id:{type:String,default:void 0},step:{type:Number,default:1},stepStrictly:Boolean,max:{type:Number,default:Number.POSITIVE_INFINITY},min:{type:Number,default:Number.NEGATIVE_INFINITY},modelValue:Number,readonly:Boolean,disabled:Boolean,size:Oo,controls:{type:Boolean,default:!0},controlsPosition:{type:String,default:"",values:["","right"]},valueOnClear:{type:[String,Number,null],validator:e=>e===null||st(e)||["min","max"].includes(e),default:null},name:String,label:String,placeholder:String,precision:{type:Number,validator:e=>e>=0&&e===Number.parseInt(`${e}`,10)},validateEvent:{type:Boolean,default:!0},...Zo(["ariaLabel"])}),Kee={[ro]:(e,t)=>t!==e,blur:e=>e instanceof FocusEvent,focus:e=>e instanceof FocusEvent,[yr]:e=>st(e)||jo(e),[St]:e=>st(e)||jo(e)},Uee=["aria-label","onKeydown"],Wee=["aria-label","onKeydown"],qee=N({...N({name:"ElInputNumber"}),props:jee,emits:Kee,setup(e,{expose:t,emit:o}){const r=e,{t:l}=Rt(),n=ze("input-number"),a=D(),i=Dt({currentValue:r.modelValue,userInput:null}),{formItem:c}=sr(),d=C(()=>st(r.modelValue)&&r.modelValue<=r.min),u=C(()=>st(r.modelValue)&&r.modelValue>=r.max),p=C(()=>{const Z=g(r.step);return ko(r.precision)?Math.max(g(r.modelValue),Z):(Z>r.precision,r.precision)}),h=C(()=>r.controls&&r.controlsPosition==="right"),v=So(),m=xr(),f=C(()=>{if(i.userInput!==null)return i.userInput;let Z=i.currentValue;if(jo(Z))return"";if(st(Z)){if(Number.isNaN(Z))return"";ko(r.precision)||(Z=Z.toFixed(r.precision))}return Z}),_=(Z,H)=>{if(ko(H)&&(H=p.value),H===0)return Math.round(Z);let F=String(Z);const K=F.indexOf(".");if(K===-1||!F.replace(".","").split("")[K+H])return Z;const oe=F.length;return F.charAt(oe-1)==="5"&&(F=`${F.slice(0,Math.max(0,oe-1))}6`),Number.parseFloat(Number(F).toFixed(H))},g=Z=>{if(jo(Z))return 0;const H=Z.toString(),F=H.indexOf(".");let K=0;return F!==-1&&(K=H.length-F-1),K},y=(Z,H=1)=>st(Z)?_(Z+r.step*H):i.currentValue,w=()=>{if(r.readonly||m.value||u.value)return;const Z=Number(f.value)||0,H=y(Z);T(H),o(yr,i.currentValue),te()},x=()=>{if(r.readonly||m.value||d.value)return;const Z=Number(f.value)||0,H=y(Z,-1);T(H),o(yr,i.currentValue),te()},$=(Z,H)=>{const{max:F,min:K,step:I,precision:U,stepStrictly:oe,valueOnClear:ne}=r;FF||ceF?F:K,H&&o(St,ce)),ce},T=(Z,H=!0)=>{var F;const K=i.currentValue,I=$(Z);if(!H){o(St,I);return}K===I&&Z||(i.userInput=null,o(St,I),K!==I&&o(ro,I,K),r.validateEvent&&((F=c==null?void 0:c.validate)==null||F.call(c,"change").catch(U=>void 0)),i.currentValue=I)},R=Z=>{i.userInput=Z;const H=Z===""?null:Number(Z);o(yr,H),T(H,!1)},P=Z=>{const H=Z!==""?Number(Z):"";(st(H)&&!Number.isNaN(H)||Z==="")&&T(H),te(),i.userInput=null},L=()=>{var Z,H;(H=(Z=a.value)==null?void 0:Z.focus)==null||H.call(Z)},B=()=>{var Z,H;(H=(Z=a.value)==null?void 0:Z.blur)==null||H.call(Z)},V=Z=>{o("focus",Z)},j=Z=>{var H;i.userInput=null,o("blur",Z),r.validateEvent&&((H=c==null?void 0:c.validate)==null||H.call(c,"blur").catch(F=>void 0))},te=()=>{i.currentValue!==r.modelValue&&(i.currentValue=r.modelValue)},J=Z=>{document.activeElement===Z.target&&Z.preventDefault()};return Se(()=>r.modelValue,(Z,H)=>{const F=$(Z,!0);i.userInput===null&&F!==H&&(i.currentValue=F)},{immediate:!0}),ft(()=>{var Z;const{min:H,max:F,modelValue:K}=r,I=(Z=a.value)==null?void 0:Z.input;if(I.setAttribute("role","spinbutton"),Number.isFinite(F)?I.setAttribute("aria-valuemax",String(F)):I.removeAttribute("aria-valuemax"),Number.isFinite(H)?I.setAttribute("aria-valuemin",String(H)):I.removeAttribute("aria-valuemin"),I.setAttribute("aria-valuenow",i.currentValue||i.currentValue===0?String(i.currentValue):""),I.setAttribute("aria-disabled",String(m.value)),!st(K)&&K!=null){let U=Number(K);Number.isNaN(U)&&(U=null),o(St,U)}I.addEventListener("wheel",J,{passive:!1})}),rn(()=>{var Z,H;const F=(Z=a.value)==null?void 0:Z.input;F==null||F.setAttribute("aria-valuenow",`${(H=i.currentValue)!=null?H:""}`)}),Lo({from:"label",replacement:"aria-label",version:"2.8.0",scope:"el-input-number",ref:"https://element-plus.org/en-US/component/input-number.html"},C(()=>!!r.label)),t({focus:L,blur:B}),(Z,H)=>(b(),M("div",{class:O([s(n).b(),s(n).m(s(v)),s(n).is("disabled",s(m)),s(n).is("without-controls",!Z.controls),s(n).is("controls-right",s(h))]),onDragstart:H[0]||(H[0]=ct(()=>{},["prevent"]))},[Z.controls?mt((b(),M("span",{key:0,role:"button","aria-label":s(l)("el.inputNumber.decrease"),class:O([s(n).e("decrease"),s(n).is("disabled",s(d))]),onKeydown:Gt(x,["enter"])},[be(Z.$slots,"decrease-icon",{},()=>[ee(s(Ze),null,{default:le(()=>[s(h)?(b(),he(s(Pl),{key:0})):(b(),he(s(V3),{key:1}))]),_:1})])],42,Uee)),[[s(ap),x]]):se("v-if",!0),Z.controls?mt((b(),M("span",{key:1,role:"button","aria-label":s(l)("el.inputNumber.increase"),class:O([s(n).e("increase"),s(n).is("disabled",s(u))]),onKeydown:Gt(w,["enter"])},[be(Z.$slots,"increase-icon",{},()=>[ee(s(Ze),null,{default:le(()=>[s(h)?(b(),he(s(Ad),{key:0})):(b(),he(s(hh),{key:1}))]),_:1})])],42,Wee)),[[s(ap),w]]):se("v-if",!0),ee(s(cr),{id:Z.id,ref_key:"input",ref:a,type:"number",step:Z.step,"model-value":s(f),placeholder:Z.placeholder,readonly:Z.readonly,disabled:s(m),size:s(v),max:Z.max,min:Z.min,name:Z.name,"aria-label":Z.label||Z.ariaLabel,"validate-event":!1,onKeydown:[Gt(ct(w,["prevent"]),["up"]),Gt(ct(x,["prevent"]),["down"])],onBlur:j,onFocus:V,onInput:R,onChange:P},null,8,["id","step","model-value","placeholder","readonly","disabled","size","max","min","name","aria-label","onKeydown"])],34))}});var Yee=Le(qee,[["__file","input-number.vue"]]);const Ly=yt(Yee),Gee=Pe({type:{type:String,values:["primary","success","warning","info","danger","default"],default:"default"},underline:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},href:{type:String,default:""},target:{type:String,default:"_self"},icon:{type:Xt}}),Xee={click:e=>e instanceof MouseEvent},Zee=["href","target"],Jee=N({...N({name:"ElLink"}),props:Gee,emits:Xee,setup(e,{emit:t}){const o=e,r=ze("link"),l=C(()=>[r.b(),r.m(o.type),r.is("disabled",o.disabled),r.is("underline",o.underline&&!o.disabled)]);function n(a){o.disabled||t("click",a)}return(a,i)=>(b(),M("a",{class:O(s(l)),href:a.disabled||!a.href?void 0:a.href,target:a.disabled||!a.href?void 0:a.target,onClick:n},[a.icon?(b(),he(s(Ze),{key:0},{default:le(()=>[(b(),he(Et(a.icon)))]),_:1})):se("v-if",!0),a.$slots.default?(b(),M("span",{key:1,class:O(s(r).e("inner"))},[be(a.$slots,"default")],2)):se("v-if",!0),a.$slots.icon?be(a.$slots,"icon",{key:2}):se("v-if",!0)],10,Zee))}});var Qee=Le(Jee,[["__file","link.vue"]]);const ete=yt(Qee);let tte=class{constructor(t,o){this.parent=t,this.domNode=o,this.subIndex=0,this.subIndex=0,this.init()}init(){this.subMenuItems=this.domNode.querySelectorAll("li"),this.addListeners()}gotoSubIndex(t){t===this.subMenuItems.length?t=0:t<0&&(t=this.subMenuItems.length-1),this.subMenuItems[t].focus(),this.subIndex=t}addListeners(){const t=this.parent.domNode;Array.prototype.forEach.call(this.subMenuItems,o=>{o.addEventListener("keydown",r=>{let l=!1;switch(r.code){case lt.down:{this.gotoSubIndex(this.subIndex+1),l=!0;break}case lt.up:{this.gotoSubIndex(this.subIndex-1),l=!0;break}case lt.tab:{pd(t,"mouseleave");break}case lt.enter:case lt.space:{l=!0,r.currentTarget.click();break}}return l&&(r.preventDefault(),r.stopPropagation()),!1})})}},ote=class{constructor(t,o){this.domNode=t,this.submenu=null,this.submenu=null,this.init(o)}init(t){this.domNode.setAttribute("tabindex","0");const o=this.domNode.querySelector(`.${t}-menu`);o&&(this.submenu=new tte(this,o)),this.addListeners()}addListeners(){this.domNode.addEventListener("keydown",t=>{let o=!1;switch(t.code){case lt.down:{pd(t.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(0),o=!0;break}case lt.up:{pd(t.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(this.submenu.subMenuItems.length-1),o=!0;break}case lt.tab:{pd(t.currentTarget,"mouseleave");break}case lt.enter:case lt.space:{o=!0,t.currentTarget.click();break}}o&&t.preventDefault()})}},rte=class{constructor(t,o){this.domNode=t,this.init(o)}init(t){const o=this.domNode.childNodes;Array.from(o).forEach(r=>{r.nodeType===1&&new ote(r,t)})}};const lte=N({name:"ElMenuCollapseTransition",setup(){const e=ze("menu");return{listeners:{onBeforeEnter:o=>o.style.opacity="0.2",onEnter(o,r){Zr(o,`${e.namespace.value}-opacity-transition`),o.style.opacity="1",r()},onAfterEnter(o){ar(o,`${e.namespace.value}-opacity-transition`),o.style.opacity=""},onBeforeLeave(o){o.dataset||(o.dataset={}),Xr(o,e.m("collapse"))?(ar(o,e.m("collapse")),o.dataset.oldOverflow=o.style.overflow,o.dataset.scrollWidth=o.clientWidth.toString(),Zr(o,e.m("collapse"))):(Zr(o,e.m("collapse")),o.dataset.oldOverflow=o.style.overflow,o.dataset.scrollWidth=o.clientWidth.toString(),ar(o,e.m("collapse"))),o.style.width=`${o.scrollWidth}px`,o.style.overflow="hidden"},onLeave(o){Zr(o,"horizontal-collapse-transition"),o.style.width=`${o.dataset.scrollWidth}px`}}}}});function nte(e,t,o,r,l,n){return b(),he(Mo,Mt({mode:"out-in"},e.listeners),{default:le(()=>[be(e.$slots,"default")]),_:3},16)}var ate=Le(lte,[["render",nte],["__file","menu-collapse-transition.vue"]]);function By(e,t){const o=C(()=>{let l=e.parent;const n=[t.value];for(;l.type.name!=="ElMenu";)l.props.index&&n.unshift(l.props.index),l=l.parent;return n});return{parentMenu:C(()=>{let l=e.parent;for(;l&&!["ElMenu","ElSubMenu"].includes(l.type.name);)l=l.parent;return l}),indexPath:o}}function ite(e){return C(()=>{const o=e.backgroundColor;return o?new q4(o).shade(20).toString():""})}const Vy=(e,t)=>{const o=ze("menu");return C(()=>o.cssVarBlock({"text-color":e.textColor||"","hover-text-color":e.textColor||"","bg-color":e.backgroundColor||"","hover-bg-color":ite(e).value||"","active-color":e.activeTextColor||"",level:`${t}`}))},ste=Pe({index:{type:String,required:!0},showTimeout:Number,hideTimeout:Number,popperClass:String,disabled:Boolean,teleported:{type:Boolean,default:void 0},popperOffset:Number,expandCloseIcon:{type:Xt},expandOpenIcon:{type:Xt},collapseCloseIcon:{type:Xt},collapseOpenIcon:{type:Xt}}),Gv="ElSubMenu";var Xv=N({name:Gv,props:ste,setup(e,{slots:t,expose:o}){const r=wt(),{indexPath:l,parentMenu:n}=By(r,C(()=>e.index)),a=ze("menu"),i=ze("sub-menu"),c=Ge("rootMenu");c||Io(Gv,"can not inject root menu");const d=Ge(`subMenu:${n.value.uid}`);d||Io(Gv,"can not inject sub menu");const u=D({}),p=D({});let h;const v=D(!1),m=D(),f=D(null),_=C(()=>P.value==="horizontal"&&y.value?"bottom-start":"right-start"),g=C(()=>P.value==="horizontal"&&y.value||P.value==="vertical"&&!c.props.collapse?e.expandCloseIcon&&e.expandOpenIcon?T.value?e.expandOpenIcon:e.expandCloseIcon:Pl:e.collapseCloseIcon&&e.collapseOpenIcon?T.value?e.collapseOpenIcon:e.collapseCloseIcon:ir),y=C(()=>d.level===0),w=C(()=>{const U=e.teleported;return U===void 0?y.value:U}),x=C(()=>c.props.collapse?`${a.namespace.value}-zoom-in-left`:`${a.namespace.value}-zoom-in-top`),$=C(()=>P.value==="horizontal"&&y.value?["bottom-start","bottom-end","top-start","top-end","right-start","left-start"]:["right-start","right","right-end","left-start","bottom-start","bottom-end","top-start","top-end"]),T=C(()=>c.openedMenus.includes(e.index)),R=C(()=>{let U=!1;return Object.values(u.value).forEach(oe=>{oe.active&&(U=!0)}),Object.values(p.value).forEach(oe=>{oe.active&&(U=!0)}),U}),P=C(()=>c.props.mode),L=Dt({index:e.index,indexPath:l,active:R}),B=Vy(c.props,d.level+1),V=C(()=>{var U;return(U=e.popperOffset)!=null?U:c.props.popperOffset}),j=C(()=>{var U;return(U=e.popperClass)!=null?U:c.props.popperClass}),te=C(()=>{var U;return(U=e.showTimeout)!=null?U:c.props.showTimeout}),J=C(()=>{var U;return(U=e.hideTimeout)!=null?U:c.props.hideTimeout}),Z=()=>{var U,oe,ne;return(ne=(oe=(U=f.value)==null?void 0:U.popperRef)==null?void 0:oe.popperInstanceRef)==null?void 0:ne.destroy()},H=U=>{U||Z()},F=()=>{c.props.menuTrigger==="hover"&&c.props.mode==="horizontal"||c.props.collapse&&c.props.mode==="vertical"||e.disabled||c.handleSubMenuClick({index:e.index,indexPath:l.value,active:R.value})},K=(U,oe=te.value)=>{var ne;if(U.type!=="focus"){if(c.props.menuTrigger==="click"&&c.props.mode==="horizontal"||!c.props.collapse&&c.props.mode==="vertical"||e.disabled){d.mouseInChild.value=!0;return}d.mouseInChild.value=!0,h==null||h(),{stop:h}=$a(()=>{c.openMenu(e.index,l.value)},oe),w.value&&((ne=n.value.vnode.el)==null||ne.dispatchEvent(new MouseEvent("mouseenter")))}},I=(U=!1)=>{var oe;if(c.props.menuTrigger==="click"&&c.props.mode==="horizontal"||!c.props.collapse&&c.props.mode==="vertical"){d.mouseInChild.value=!1;return}h==null||h(),d.mouseInChild.value=!1,{stop:h}=$a(()=>!v.value&&c.closeMenu(e.index,l.value),J.value),w.value&&U&&((oe=d.handleMouseleave)==null||oe.call(d,!0))};Se(()=>c.props.collapse,U=>H(!!U));{const U=ne=>{p.value[ne.index]=ne},oe=ne=>{delete p.value[ne.index]};zt(`subMenu:${r.uid}`,{addSubMenu:U,removeSubMenu:oe,handleMouseleave:I,mouseInChild:v,level:d.level+1})}return o({opened:T}),ft(()=>{c.addSubMenu(L),d.addSubMenu(L)}),to(()=>{d.removeSubMenu(L),c.removeSubMenu(L)}),()=>{var U;const oe=[(U=t.title)==null?void 0:U.call(t),rt(Ze,{class:i.e("icon-arrow"),style:{transform:T.value?e.expandCloseIcon&&e.expandOpenIcon||e.collapseCloseIcon&&e.collapseOpenIcon&&c.props.collapse?"none":"rotateZ(180deg)":"none"}},{default:()=>ut(g.value)?rt(r.appContext.components[g.value]):rt(g.value)})],ne=c.isMenuPopup?rt(ur,{ref:f,visible:T.value,effect:"light",pure:!0,offset:V.value,showArrow:!1,persistent:!0,popperClass:j.value,placement:_.value,teleported:w.value,fallbackPlacements:$.value,transition:x.value,gpuAcceleration:!1},{content:()=>{var ce;return rt("div",{class:[a.m(P.value),a.m("popup-container"),j.value],onMouseenter:Q=>K(Q,100),onMouseleave:()=>I(!0),onFocus:Q=>K(Q,100)},[rt("ul",{class:[a.b(),a.m("popup"),a.m(`popup-${_.value}`)],style:B.value},[(ce=t.default)==null?void 0:ce.call(t)])])},default:()=>rt("div",{class:i.e("title"),onClick:F},oe)}):rt(Qe,{},[rt("div",{class:i.e("title"),ref:m,onClick:F},oe),rt(gp,{},{default:()=>{var ce;return mt(rt("ul",{role:"menu",class:[a.b(),a.m("inline")],style:B.value},[(ce=t.default)==null?void 0:ce.call(t)]),[[Lt,T.value]])}})]);return rt("li",{class:[i.b(),i.is("active",R.value),i.is("opened",T.value),i.is("disabled",e.disabled)],role:"menuitem",ariaHaspopup:!0,ariaExpanded:T.value,onMouseenter:K,onMouseleave:()=>I(),onFocus:K},[ne])}}});const cte=Pe({mode:{type:String,values:["horizontal","vertical"],default:"vertical"},defaultActive:{type:String,default:""},defaultOpeneds:{type:ue(Array),default:()=>uo([])},uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,values:["hover","click"],default:"hover"},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,closeOnClickOutside:Boolean,collapseTransition:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!0},popperOffset:{type:Number,default:6},ellipsisIcon:{type:Xt,default:()=>D3},popperEffect:{type:String,values:["dark","light"],default:"dark"},popperClass:String,showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300}}),Zv=e=>Array.isArray(e)&&e.every(t=>ut(t));var ute=N({name:"ElMenu",props:cte,emits:{close:(e,t)=>ut(e)&&Zv(t),open:(e,t)=>ut(e)&&Zv(t),select:(e,t,o,r)=>ut(e)&&Zv(t)&&xt(o)&&(r===void 0||r instanceof Promise)},setup(e,{emit:t,slots:o,expose:r}){const l=wt(),n=l.appContext.config.globalProperties.$router,a=D(),i=ze("menu"),c=ze("sub-menu"),d=D(-1),u=D(e.defaultOpeneds&&!e.collapse?e.defaultOpeneds.slice(0):[]),p=D(e.defaultActive),h=D({}),v=D({}),m=C(()=>e.mode==="horizontal"||e.mode==="vertical"&&e.collapse),f=()=>{const J=p.value&&h.value[p.value];if(!J||e.mode==="horizontal"||e.collapse)return;J.indexPath.forEach(H=>{const F=v.value[H];F&&_(H,F.indexPath)})},_=(J,Z)=>{u.value.includes(J)||(e.uniqueOpened&&(u.value=u.value.filter(H=>Z.includes(H))),u.value.push(J),t("open",J,Z))},g=J=>{const Z=u.value.indexOf(J);Z!==-1&&u.value.splice(Z,1)},y=(J,Z)=>{g(J),t("close",J,Z)},w=({index:J,indexPath:Z})=>{u.value.includes(J)?y(J,Z):_(J,Z)},x=J=>{(e.mode==="horizontal"||e.collapse)&&(u.value=[]);const{index:Z,indexPath:H}=J;if(!(jo(Z)||jo(H)))if(e.router&&n){const F=J.route||Z,K=n.push(F).then(I=>(I||(p.value=Z),I));t("select",Z,H,{index:Z,indexPath:H,route:F},K)}else p.value=Z,t("select",Z,H,{index:Z,indexPath:H})},$=J=>{const Z=h.value,H=Z[J]||p.value&&Z[p.value]||Z[e.defaultActive];H?p.value=H.index:p.value=J},T=J=>{const Z=getComputedStyle(J),H=Number.parseInt(Z.marginLeft,10),F=Number.parseInt(Z.marginRight,10);return J.offsetWidth+H+F||0},R=()=>{var J,Z;if(!a.value)return-1;const H=Array.from((Z=(J=a.value)==null?void 0:J.childNodes)!=null?Z:[]).filter(Q=>Q.nodeName!=="#comment"&&(Q.nodeName!=="#text"||Q.nodeValue)),F=64,K=getComputedStyle(a.value),I=Number.parseInt(K.paddingLeft,10),U=Number.parseInt(K.paddingRight,10),oe=a.value.clientWidth-I-U;let ne=0,ce=0;return H.forEach((Q,Me)=>{ne+=T(Q),ne<=oe-F&&(ce=Me+1)}),ce===H.length?-1:ce},P=J=>v.value[J].indexPath,L=(J,Z=33.34)=>{let H;return()=>{H&&clearTimeout(H),H=setTimeout(()=>{J()},Z)}};let B=!0;const V=()=>{if(d.value===R())return;const J=()=>{d.value=-1,et(()=>{d.value=R()})};B?J():L(J)(),B=!1};Se(()=>e.defaultActive,J=>{h.value[J]||(p.value=""),$(J)}),Se(()=>e.collapse,J=>{J&&(u.value=[])}),Se(h.value,f);let j;Go(()=>{e.mode==="horizontal"&&e.ellipsis?j=so(a,V).stop:j==null||j()});const te=D(!1);{const J=K=>{v.value[K.index]=K},Z=K=>{delete v.value[K.index]};zt("rootMenu",Dt({props:e,openedMenus:u,items:h,subMenus:v,activeIndex:p,isMenuPopup:m,addMenuItem:K=>{h.value[K.index]=K},removeMenuItem:K=>{delete h.value[K.index]},addSubMenu:J,removeSubMenu:Z,openMenu:_,closeMenu:y,handleMenuItemClick:x,handleSubMenuClick:w})),zt(`subMenu:${l.uid}`,{addSubMenu:J,removeSubMenu:Z,mouseInChild:te,level:0})}return ft(()=>{e.mode==="horizontal"&&new rte(l.vnode.el,i.namespace.value)}),r({open:Z=>{const{indexPath:H}=v.value[Z];H.forEach(F=>_(F,H))},close:g,handleResize:V}),()=>{var J,Z;let H=(Z=(J=o.default)==null?void 0:J.call(o))!=null?Z:[];const F=[];if(e.mode==="horizontal"&&a.value){const oe=Qn(H),ne=d.value===-1?oe:oe.slice(0,d.value),ce=d.value===-1?[]:oe.slice(d.value);ce!=null&&ce.length&&e.ellipsis&&(H=ne,F.push(rt(Xv,{index:"sub-menu-more",class:c.e("hide-arrow"),popperOffset:e.popperOffset},{title:()=>rt(Ze,{class:c.e("icon-more")},{default:()=>rt(e.ellipsisIcon)}),default:()=>ce})))}const K=Vy(e,0),I=e.closeOnClickOutside?[[xn,()=>{u.value.length&&(te.value||(u.value.forEach(oe=>t("close",oe,P(oe))),u.value=[]))}]]:[],U=mt(rt("ul",{key:String(e.collapse),role:"menubar",ref:a,style:K.value,class:{[i.b()]:!0,[i.m(e.mode)]:!0,[i.m("collapse")]:e.collapse}},[...H,...F]),I);return e.collapseTransition&&e.mode==="vertical"?rt(ate,()=>U):U}}});const dte=Pe({index:{type:ue([String,null]),default:null},route:{type:ue([String,Object])},disabled:Boolean}),pte={click:e=>ut(e.index)&&Array.isArray(e.indexPath)},Jv="ElMenuItem",fte=N({name:Jv,components:{ElTooltip:ur},props:dte,emits:pte,setup(e,{emit:t}){const o=wt(),r=Ge("rootMenu"),l=ze("menu"),n=ze("menu-item");r||Io(Jv,"can not inject root menu");const{parentMenu:a,indexPath:i}=By(o,Yt(e,"index")),c=Ge(`subMenu:${a.value.uid}`);c||Io(Jv,"can not inject sub menu");const d=C(()=>e.index===r.activeIndex),u=Dt({index:e.index,indexPath:i,active:d}),p=()=>{e.disabled||(r.handleMenuItemClick({index:e.index,indexPath:i.value,route:e.route}),t("click",u))};return ft(()=>{c.addSubMenu(u),r.addMenuItem(u)}),to(()=>{c.removeSubMenu(u),r.removeMenuItem(u)}),{parentMenu:a,rootMenu:r,active:d,nsMenu:l,nsMenuItem:n,handleClick:p}}});function hte(e,t,o,r,l,n){const a=nt("el-tooltip");return b(),M("li",{class:O([e.nsMenuItem.b(),e.nsMenuItem.is("active",e.active),e.nsMenuItem.is("disabled",e.disabled)]),role:"menuitem",tabindex:"-1",onClick:t[0]||(t[0]=(...i)=>e.handleClick&&e.handleClick(...i))},[e.parentMenu.type.name==="ElMenu"&&e.rootMenu.props.collapse&&e.$slots.title?(b(),he(a,{key:0,effect:e.rootMenu.props.popperEffect,placement:"right","fallback-placements":["left"],persistent:""},{content:le(()=>[be(e.$slots,"title")]),default:le(()=>[E("div",{class:O(e.nsMenu.be("tooltip","trigger"))},[be(e.$slots,"default")],2)]),_:3},8,["effect"])):(b(),M(Qe,{key:1},[be(e.$slots,"default"),be(e.$slots,"title")],64))],2)}var Dy=Le(fte,[["render",hte],["__file","menu-item.vue"]]);const vte=N({name:"ElMenuItemGroup",props:{title:String},setup(){return{ns:ze("menu-item-group")}}});function mte(e,t,o,r,l,n){return b(),M("li",{class:O(e.ns.b())},[E("div",{class:O(e.ns.e("title"))},[e.$slots.title?be(e.$slots,"title",{key:1}):(b(),M(Qe,{key:0},[Ct($e(e.title),1)],64))],2),E("ul",null,[be(e.$slots,"default")])],2)}var Hy=Le(vte,[["render",mte],["__file","menu-item-group.vue"]]);const gte=yt(ute,{MenuItem:Dy,MenuItemGroup:Hy,SubMenu:Xv}),bte=co(Dy),_te=co(Hy),wte=co(Xv),yte=Pe({icon:{type:Xt,default:()=>z3},title:String,content:{type:String,default:""}}),xte={back:()=>!0},kte=["aria-label"],Cte=N({...N({name:"ElPageHeader"}),props:yte,emits:xte,setup(e,{emit:t}){const o=Do(),{t:r}=Rt(),l=ze("page-header"),n=C(()=>[l.b(),{[l.m("has-breadcrumb")]:!!o.breadcrumb,[l.m("has-extra")]:!!o.extra,[l.is("contentful")]:!!o.default}]);function a(){t("back")}return(i,c)=>(b(),M("div",{class:O(s(n))},[i.$slots.breadcrumb?(b(),M("div",{key:0,class:O(s(l).e("breadcrumb"))},[be(i.$slots,"breadcrumb")],2)):se("v-if",!0),E("div",{class:O(s(l).e("header"))},[E("div",{class:O(s(l).e("left"))},[E("div",{class:O(s(l).e("back")),role:"button",tabindex:"0",onClick:a},[i.icon||i.$slots.icon?(b(),M("div",{key:0,"aria-label":i.title||s(r)("el.pageHeader.title"),class:O(s(l).e("icon"))},[be(i.$slots,"icon",{},()=>[i.icon?(b(),he(s(Ze),{key:0},{default:le(()=>[(b(),he(Et(i.icon)))]),_:1})):se("v-if",!0)])],10,kte)):se("v-if",!0),E("div",{class:O(s(l).e("title"))},[be(i.$slots,"title",{},()=>[Ct($e(i.title||s(r)("el.pageHeader.title")),1)])],2)],2),ee(s(Cy),{direction:"vertical"}),E("div",{class:O(s(l).e("content"))},[be(i.$slots,"content",{},()=>[Ct($e(i.content),1)])],2)],2),i.$slots.extra?(b(),M("div",{key:0,class:O(s(l).e("extra"))},[be(i.$slots,"extra")],2)):se("v-if",!0)],2),i.$slots.default?(b(),M("div",{key:1,class:O(s(l).e("main"))},[be(i.$slots,"default")],2)):se("v-if",!0)],2))}});var Ste=Le(Cte,[["__file","page-header.vue"]]);const Ete=yt(Ste),Fy=Symbol("elPaginationKey"),Tte=Pe({disabled:Boolean,currentPage:{type:Number,default:1},prevText:{type:String},prevIcon:{type:Xt}}),$te={click:e=>e instanceof MouseEvent},Mte=["disabled","aria-label","aria-disabled"],Ate={key:0},zte=N({...N({name:"ElPaginationPrev"}),props:Tte,emits:$te,setup(e){const t=e,{t:o}=Rt(),r=C(()=>t.disabled||t.currentPage<=1);return(l,n)=>(b(),M("button",{type:"button",class:"btn-prev",disabled:s(r),"aria-label":l.prevText||s(o)("el.pagination.prev"),"aria-disabled":s(r),onClick:n[0]||(n[0]=a=>l.$emit("click",a))},[l.prevText?(b(),M("span",Ate,$e(l.prevText),1)):(b(),he(s(Ze),{key:1},{default:le(()=>[(b(),he(Et(l.prevIcon)))]),_:1}))],8,Mte))}});var Ite=Le(zte,[["__file","prev.vue"]]);const Ote=Pe({disabled:Boolean,currentPage:{type:Number,default:1},pageCount:{type:Number,default:50},nextText:{type:String},nextIcon:{type:Xt}}),Nte=["disabled","aria-label","aria-disabled"],Pte={key:0},Rte=N({...N({name:"ElPaginationNext"}),props:Ote,emits:["click"],setup(e){const t=e,{t:o}=Rt(),r=C(()=>t.disabled||t.currentPage===t.pageCount||t.pageCount===0);return(l,n)=>(b(),M("button",{type:"button",class:"btn-next",disabled:s(r),"aria-label":l.nextText||s(o)("el.pagination.next"),"aria-disabled":s(r),onClick:n[0]||(n[0]=a=>l.$emit("click",a))},[l.nextText?(b(),M("span",Pte,$e(l.nextText),1)):(b(),he(s(Ze),{key:1},{default:le(()=>[(b(),he(Et(l.nextIcon)))]),_:1}))],8,Nte))}});var Lte=Le(Rte,[["__file","next.vue"]]);const jy=Symbol("ElSelectGroup"),ls=Symbol("ElSelect");function Bte(e,t){const o=Ge(ls),r=Ge(jy,{disabled:!1}),l=C(()=>o.props.multiple?u(o.props.modelValue,e.value):u([o.props.modelValue],e.value)),n=C(()=>{if(o.props.multiple){const v=o.props.modelValue||[];return!l.value&&v.length>=o.props.multipleLimit&&o.props.multipleLimit>0}else return!1}),a=C(()=>e.label||(xt(e.value)?"":e.value)),i=C(()=>e.value||e.label||""),c=C(()=>e.disabled||t.groupDisabled||n.value),d=wt(),u=(v=[],m)=>{if(xt(e.value)){const f=o.props.valueKey;return v&&v.some(_=>jt(wo(_,f))===wo(m,f))}else return v&&v.includes(m)},p=()=>{!e.disabled&&!r.disabled&&(o.states.hoveringIndex=o.optionsArray.indexOf(d.proxy))},h=v=>{const m=new RegExp(ch(v),"i");t.visible=m.test(a.value)||e.created};return Se(()=>a.value,()=>{!e.created&&!o.props.remote&&o.setSelected()}),Se(()=>e.value,(v,m)=>{const{remote:f,valueKey:_}=o.props;if(nr(v,m)||(o.onOptionDestroy(m,d.proxy),o.onOptionCreate(d.proxy)),!e.created&&!f){if(_&&xt(v)&&xt(m)&&v[_]===m[_])return;o.setSelected()}}),Se(()=>r.disabled,()=>{t.groupDisabled=r.disabled},{immediate:!0}),{select:o,currentLabel:a,currentValue:i,itemSelected:l,isDisabled:c,hoverItem:p,updateOption:h}}const Vte=N({name:"ElOption",componentName:"ElOption",props:{value:{required:!0,type:[String,Number,Boolean,Object]},label:[String,Number],created:Boolean,disabled:Boolean},setup(e){const t=ze("select"),o=Qo(),r=C(()=>[t.be("dropdown","item"),t.is("disabled",s(i)),t.is("selected",s(a)),t.is("hovering",s(h))]),l=Dt({index:-1,groupDisabled:!1,visible:!0,hover:!1}),{currentLabel:n,itemSelected:a,isDisabled:i,select:c,hoverItem:d,updateOption:u}=Bte(e,l),{visible:p,hover:h}=Bo(l),v=wt().proxy;c.onOptionCreate(v),to(()=>{const f=v.value,{selected:_}=c.states,y=(c.props.multiple?_:[_]).some(w=>w.value===v.value);et(()=>{c.states.cachedOptions.get(f)===v&&!y&&c.states.cachedOptions.delete(f)}),c.onOptionDestroy(f,v)});function m(){e.disabled!==!0&&l.groupDisabled!==!0&&c.handleOptionSelect(v)}return{ns:t,id:o,containerKls:r,currentLabel:n,itemSelected:a,isDisabled:i,select:c,hoverItem:d,updateOption:u,visible:p,hover:h,selectOptionClick:m,states:l}}}),Dte=["id","aria-disabled","aria-selected"];function Hte(e,t,o,r,l,n){return mt((b(),M("li",{id:e.id,class:O(e.containerKls),role:"option","aria-disabled":e.isDisabled||void 0,"aria-selected":e.itemSelected,onMouseenter:t[0]||(t[0]=(...a)=>e.hoverItem&&e.hoverItem(...a)),onClick:t[1]||(t[1]=ct((...a)=>e.selectOptionClick&&e.selectOptionClick(...a),["stop"]))},[be(e.$slots,"default",{},()=>[E("span",null,$e(e.currentLabel),1)])],42,Dte)),[[Lt,e.visible]])}var Qv=Le(Vte,[["render",Hte],["__file","option.vue"]]);const Fte=N({name:"ElSelectDropdown",componentName:"ElSelectDropdown",setup(){const e=Ge(ls),t=ze("select"),o=C(()=>e.props.popperClass),r=C(()=>e.props.multiple),l=C(()=>e.props.fitInputWidth),n=D("");function a(){var i;n.value=`${(i=e.selectRef)==null?void 0:i.offsetWidth}px`}return ft(()=>{a(),so(e.selectRef,a)}),{ns:t,minWidth:n,popperClass:o,isMultiple:r,isFitInputWidth:l}}});function jte(e,t,o,r,l,n){return b(),M("div",{class:O([e.ns.b("dropdown"),e.ns.is("multiple",e.isMultiple),e.popperClass]),style:Je({[e.isFitInputWidth?"width":"minWidth"]:e.minWidth})},[e.$slots.header?(b(),M("div",{key:0,class:O(e.ns.be("dropdown","header"))},[be(e.$slots,"header")],2)):se("v-if",!0),be(e.$slots,"default"),e.$slots.footer?(b(),M("div",{key:1,class:O(e.ns.be("dropdown","footer"))},[be(e.$slots,"footer")],2)):se("v-if",!0)],6)}var Kte=Le(Fte,[["render",jte],["__file","select-dropdown.vue"]]);function Ky(e){const t=D(!1);return{handleCompositionStart:()=>{t.value=!0},handleCompositionUpdate:n=>{const a=n.target.value,i=a[a.length-1]||"";t.value=!xh(i)},handleCompositionEnd:n=>{t.value&&(t.value=!1,it(e)&&e(n))}}}const Ute=11,Wte=(e,t)=>{const{t:o}=Rt(),r=Qo(),l=ze("select"),n=ze("input"),a=Dt({inputValue:"",options:new Map,cachedOptions:new Map,disabledOptions:new Map,optionValues:[],selected:e.multiple?[]:{},selectionWidth:0,calculatorWidth:0,collapseItemWidth:0,selectedLabel:"",hoveringIndex:-1,previousQuery:null,inputHovering:!1,menuVisibleOnFocus:!1,isBeforeHide:!1}),i=D(null),c=D(null),d=D(null),u=D(null),p=D(null),h=D(null),v=D(null),m=D(null),f=D(null),_=D(null),g=D(null),y=D(null),{wrapperRef:w,isFocused:x,handleFocus:$,handleBlur:T}=Ud(p,{afterFocus(){e.automaticDropdown&&!R.value&&(R.value=!0,a.menuVisibleOnFocus=!0)},beforeBlur(He){var ot,eo;return((ot=d.value)==null?void 0:ot.isFocusInsideContent(He))||((eo=u.value)==null?void 0:eo.isFocusInsideContent(He))},afterBlur(){R.value=!1,a.menuVisibleOnFocus=!1}}),R=D(!1),P=D(),{form:L,formItem:B}=sr(),{inputId:V}=bl(e,{formItemContext:B}),{valueOnClear:j,isEmptyValue:te}=Wd(e),J=C(()=>e.disabled||(L==null?void 0:L.disabled)),Z=C(()=>e.multiple?Ke(e.modelValue)&&e.modelValue.length>0:!te(e.modelValue)),H=C(()=>e.clearable&&!J.value&&a.inputHovering&&Z.value),F=C(()=>e.remote&&e.filterable&&!e.remoteShowSuffix?"":e.suffixIcon),K=C(()=>l.is("reverse",F.value&&R.value)),I=C(()=>(B==null?void 0:B.validateState)||""),U=C(()=>_h[I.value]),oe=C(()=>e.remote?300:0),ne=C(()=>e.loading?e.loadingText||o("el.select.loading"):e.remote&&!a.inputValue&&a.options.size===0?!1:e.filterable&&a.inputValue&&a.options.size>0&&ce.value===0?e.noMatchText||o("el.select.noMatch"):a.options.size===0?e.noDataText||o("el.select.noData"):null),ce=C(()=>Q.value.filter(He=>He.visible).length),Q=C(()=>{const He=Array.from(a.options.values()),ot=[];return a.optionValues.forEach(eo=>{const ao=He.findIndex(Po=>Po.value===eo);ao>-1&&ot.push(He[ao])}),ot.length>=He.length?ot:He}),Me=C(()=>Array.from(a.cachedOptions.values())),de=C(()=>{const He=Q.value.filter(ot=>!ot.created).some(ot=>ot.currentLabel===a.inputValue);return e.filterable&&e.allowCreate&&a.inputValue!==""&&!He}),_e=()=>{e.filterable&&it(e.filterMethod)||e.filterable&&e.remote&&it(e.remoteMethod)||Q.value.forEach(He=>{var ot;(ot=He.updateOption)==null||ot.call(He,a.inputValue)})},me=So(),Re=C(()=>["small"].includes(me.value)?"small":"default"),Ce=C({get(){return R.value&&ne.value!==!1},set(He){R.value=He}}),Ee=C(()=>Ke(e.modelValue)?e.modelValue.length===0&&!a.inputValue:e.filterable?!a.inputValue:!0),De=C(()=>{var He;const ot=(He=e.placeholder)!=null?He:o("el.select.placeholder");return e.multiple||!Z.value?ot:a.selectedLabel}),ae=C(()=>A0?null:"mouseenter");Se(()=>e.modelValue,(He,ot)=>{e.multiple&&e.filterable&&!e.reserveKeyword&&(a.inputValue="",pe("")),Oe(),!nr(He,ot)&&e.validateEvent&&(B==null||B.validate("change").catch(eo=>void 0))},{flush:"post",deep:!0}),Se(()=>R.value,He=>{He?pe(a.inputValue):(a.inputValue="",a.previousQuery=null,a.isBeforeHide=!0),t("visible-change",He)}),Se(()=>a.options.entries(),()=>{var He;if(!Nt)return;const ot=((He=i.value)==null?void 0:He.querySelectorAll("input"))||[];(!e.filterable&&!e.defaultFirstOption&&!ko(e.modelValue)||!Array.from(ot).includes(document.activeElement))&&Oe(),e.defaultFirstOption&&(e.filterable||e.remote)&&ce.value&&ke()},{flush:"post"}),Se(()=>a.hoveringIndex,He=>{st(He)&&He>-1?P.value=Q.value[He]||{}:P.value={},Q.value.forEach(ot=>{ot.hover=P.value===ot})}),Go(()=>{a.isBeforeHide||_e()});const pe=He=>{a.previousQuery!==He&&(a.previousQuery=He,e.filterable&&it(e.filterMethod)?e.filterMethod(He):e.filterable&&e.remote&&it(e.remoteMethod)&&e.remoteMethod(He),e.defaultFirstOption&&(e.filterable||e.remote)&&ce.value?et(ke):et(Te))},ke=()=>{const He=Q.value.filter(ao=>ao.visible&&!ao.disabled&&!ao.states.groupDisabled),ot=He.find(ao=>ao.created),eo=He[0];a.hoveringIndex=G(Q.value,ot||eo)},Oe=()=>{if(e.multiple)a.selectedLabel="";else{const ot=we(e.modelValue);a.selectedLabel=ot.currentLabel,a.selected=ot;return}const He=[];Ke(e.modelValue)&&e.modelValue.forEach(ot=>{He.push(we(ot))}),a.selected=He},we=He=>{let ot;const eo=mu(He).toLowerCase()==="object",ao=mu(He).toLowerCase()==="null",Po=mu(He).toLowerCase()==="undefined";for(let fr=a.cachedOptions.size-1;fr>=0;fr--){const hr=Me.value[fr];if(eo?wo(hr.value,e.valueKey)===wo(He,e.valueKey):hr.value===He){ot={value:He,currentLabel:hr.currentLabel,get isDisabled(){return hr.isDisabled}};break}}if(ot)return ot;const Pr=eo?He.label:!ao&&!Po?He:"";return{value:He,currentLabel:Pr}},Te=()=>{e.multiple?a.hoveringIndex=Q.value.findIndex(He=>a.selected.some(ot=>Or(ot)===Or(He))):a.hoveringIndex=Q.value.findIndex(He=>Or(He)===Or(a.selected))},Ne=()=>{a.selectionWidth=c.value.getBoundingClientRect().width},Ie=()=>{a.calculatorWidth=h.value.getBoundingClientRect().width},Ae=()=>{a.collapseItemWidth=g.value.getBoundingClientRect().width},xe=()=>{var He,ot;(ot=(He=d.value)==null?void 0:He.updatePopper)==null||ot.call(He)},We=()=>{var He,ot;(ot=(He=u.value)==null?void 0:He.updatePopper)==null||ot.call(He)},qe=()=>{a.inputValue.length>0&&!R.value&&(R.value=!0),pe(a.inputValue)},ye=He=>{if(a.inputValue=He.target.value,e.remote)Ye();else return qe()},Ye=Mr(()=>{qe()},oe.value),tt=He=>{nr(e.modelValue,He)||t(ro,He)},pt=He=>k3(He,ot=>!a.disabledOptions.has(ot)),dt=He=>{if(e.multiple&&He.code!==lt.delete&&He.target.value.length<=0){const ot=e.modelValue.slice(),eo=pt(ot);if(eo<0)return;const ao=ot[eo];ot.splice(eo,1),t(St,ot),tt(ot),t("remove-tag",ao)}},Y=(He,ot)=>{const eo=a.selected.indexOf(ot);if(eo>-1&&!J.value){const ao=e.modelValue.slice();ao.splice(eo,1),t(St,ao),tt(ao),t("remove-tag",ot.value)}He.stopPropagation(),no()},S=He=>{He.stopPropagation();const ot=e.multiple?[]:j.value;if(e.multiple)for(const eo of a.selected)eo.isDisabled&&ot.push(eo.value);t(St,ot),tt(ot),a.hoveringIndex=-1,R.value=!1,t("clear"),no()},A=He=>{if(e.multiple){const ot=(e.modelValue||[]).slice(),eo=G(ot,He.value);eo>-1?ot.splice(eo,1):(e.multipleLimit<=0||ot.length{X(He)})},G=(He=[],ot)=>{if(!xt(ot))return He.indexOf(ot);const eo=e.valueKey;let ao=-1;return He.some((Po,Pr)=>jt(wo(Po,eo))===wo(ot,eo)?(ao=Pr,!0):!1),ao},X=He=>{var ot,eo,ao,Po,Pr;const Wl=Ke(He)?He[0]:He;let fr=null;if(Wl!=null&&Wl.value){const hr=Q.value.filter(ql=>ql.value===Wl.value);hr.length>0&&(fr=hr[0].$el)}if(d.value&&fr){const hr=(Po=(ao=(eo=(ot=d.value)==null?void 0:ot.popperRef)==null?void 0:eo.contentRef)==null?void 0:ao.querySelector)==null?void 0:Po.call(ao,`.${l.be("dropdown","wrap")}`);hr&&$3(hr,fr)}(Pr=y.value)==null||Pr.handleScroll()},re=He=>{a.options.set(He.value,He),a.cachedOptions.set(He.value,He),He.disabled&&a.disabledOptions.set(He.value,He)},ge=(He,ot)=>{a.options.get(He)===ot&&a.options.delete(He)},{handleCompositionStart:fe,handleCompositionUpdate:Fe,handleCompositionEnd:at}=Ky(He=>ye(He)),_t=C(()=>{var He,ot;return(ot=(He=d.value)==null?void 0:He.popperRef)==null?void 0:ot.contentRef}),At=()=>{a.isBeforeHide=!1,et(()=>X(a.selected))},no=()=>{var He;(He=p.value)==null||He.focus()},bt=()=>{Sn()},Qt=He=>{S(He)},Sn=He=>{if(R.value=!1,x.value){const ot=new FocusEvent("focus",He);et(()=>T(ot))}},qo=()=>{a.inputValue.length>0?a.inputValue="":R.value=!1},xl=()=>{J.value||(A0&&(a.inputHovering=!0),a.menuVisibleOnFocus?a.menuVisibleOnFocus=!1:R.value=!R.value)},kl=()=>{R.value?Q.value[a.hoveringIndex]&&A(Q.value[a.hoveringIndex]):xl()},Or=He=>xt(He.value)?wo(He.value,e.valueKey):He.value,Bt=C(()=>Q.value.filter(He=>He.visible).every(He=>He.disabled)),pr=C(()=>e.multiple?e.collapseTags?a.selected.slice(0,e.maxCollapseTags):a.selected:[]),or=C(()=>e.multiple?e.collapseTags?a.selected.slice(e.maxCollapseTags):[]:[]),Nr=He=>{if(!R.value){R.value=!0;return}if(!(a.options.size===0||ce.value===0)&&!Bt.value){He==="next"?(a.hoveringIndex++,a.hoveringIndex===a.options.size&&(a.hoveringIndex=0)):He==="prev"&&(a.hoveringIndex--,a.hoveringIndex<0&&(a.hoveringIndex=a.options.size-1));const ot=Q.value[a.hoveringIndex];(ot.disabled===!0||ot.states.groupDisabled===!0||!ot.visible)&&Nr(He),et(()=>X(P.value))}},yo=()=>{if(!c.value)return 0;const He=window.getComputedStyle(c.value);return Number.parseFloat(He.gap||"6px")},Eo=C(()=>{const He=yo();return{maxWidth:`${g.value&&e.maxCollapseTags===1?a.selectionWidth-a.collapseItemWidth-He:a.selectionWidth}px`}}),rr=C(()=>({maxWidth:`${a.selectionWidth}px`})),ua=C(()=>({width:`${Math.max(a.calculatorWidth,Ute)}px`}));return e.multiple&&!Ke(e.modelValue)&&t(St,[]),!e.multiple&&Ke(e.modelValue)&&t(St,""),so(c,Ne),so(h,Ie),so(f,xe),so(w,xe),so(_,We),so(g,Ae),ft(()=>{Oe()}),{inputId:V,contentId:r,nsSelect:l,nsInput:n,states:a,isFocused:x,expanded:R,optionsArray:Q,hoverOption:P,selectSize:me,filteredOptionsCount:ce,resetCalculatorWidth:Ie,updateTooltip:xe,updateTagTooltip:We,debouncedOnInputChange:Ye,onInput:ye,deletePrevTag:dt,deleteTag:Y,deleteSelected:S,handleOptionSelect:A,scrollToOption:X,hasModelValue:Z,shouldShowPlaceholder:Ee,currentPlaceholder:De,mouseEnterEventName:ae,showClose:H,iconComponent:F,iconReverse:K,validateState:I,validateIcon:U,showNewOption:de,updateOptions:_e,collapseTagSize:Re,setSelected:Oe,selectDisabled:J,emptyText:ne,handleCompositionStart:fe,handleCompositionUpdate:Fe,handleCompositionEnd:at,onOptionCreate:re,onOptionDestroy:ge,handleMenuEnter:At,handleFocus:$,focus:no,blur:bt,handleBlur:T,handleClearClick:Qt,handleClickOutside:Sn,handleEsc:qo,toggleMenu:xl,selectOption:kl,getValueKey:Or,navigateOptions:Nr,dropdownMenuVisible:Ce,showTagList:pr,collapseTagList:or,tagStyle:Eo,collapseTagStyle:rr,inputStyle:ua,popperRef:_t,inputRef:p,tooltipRef:d,tagTooltipRef:u,calculatorRef:h,prefixRef:v,suffixRef:m,selectRef:i,wrapperRef:w,selectionRef:c,scrollbarRef:y,menuRef:f,tagMenuRef:_,collapseItemRef:g}};var qte=N({name:"ElOptions",setup(e,{slots:t}){const o=Ge(ls);let r=[];return()=>{var l,n;const a=(l=t.default)==null?void 0:l.call(t),i=[];function c(d){Ke(d)&&d.forEach(u=>{var p,h,v,m;const f=(p=(u==null?void 0:u.type)||{})==null?void 0:p.name;f==="ElOptionGroup"?c(!ut(u.children)&&!Ke(u.children)&&it((h=u.children)==null?void 0:h.default)?(v=u.children)==null?void 0:v.default():u.children):f==="ElOption"?i.push((m=u.props)==null?void 0:m.value):Ke(u.children)&&c(u.children)})}return a.length&&c((n=a[0])==null?void 0:n.children),nr(i,r)||(r=i,o&&(o.states.optionValues=i)),a}}});const Yte=Pe({name:String,id:String,modelValue:{type:[Array,String,Number,Boolean,Object],default:void 0},autocomplete:{type:String,default:"off"},automaticDropdown:Boolean,size:Oo,effect:{type:ue(String),default:"light"},disabled:Boolean,clearable:Boolean,filterable:Boolean,allowCreate:Boolean,loading:Boolean,popperClass:{type:String,default:""},popperOptions:{type:ue(Object),default:()=>({})},remote:Boolean,loadingText:String,noMatchText:String,noDataText:String,remoteMethod:Function,filterMethod:Function,multiple:Boolean,multipleLimit:{type:Number,default:0},placeholder:{type:String},defaultFirstOption:Boolean,reserveKeyword:{type:Boolean,default:!0},valueKey:{type:String,default:"value"},collapseTags:Boolean,collapseTagsTooltip:Boolean,maxCollapseTags:{type:Number,default:1},teleported:Uo.teleported,persistent:{type:Boolean,default:!0},clearIcon:{type:Xt,default:hn},fitInputWidth:Boolean,suffixIcon:{type:Xt,default:Pl},tagType:{...hp.type,default:"info"},validateEvent:{type:Boolean,default:!0},remoteShowSuffix:Boolean,placement:{type:ue(String),values:Va,default:"bottom-start"},fallbackPlacements:{type:ue(Array),default:["bottom-start","top-start","right","left"]},...Xi,...Zo(["ariaLabel"])}),Uy="ElSelect",Gte=N({name:Uy,componentName:Uy,components:{ElInput:cr,ElSelectMenu:Kte,ElOption:Qv,ElOptions:qte,ElTag:Rc,ElScrollbar:wn,ElTooltip:ur,ElIcon:Ze},directives:{ClickOutside:xn},props:Yte,emits:[St,ro,"remove-tag","clear","visible-change","focus","blur"],setup(e,{emit:t}){const o=Wte(e,t);return zt(ls,Dt({props:e,states:o.states,optionsArray:o.optionsArray,handleOptionSelect:o.handleOptionSelect,onOptionCreate:o.onOptionCreate,onOptionDestroy:o.onOptionDestroy,selectRef:o.selectRef,setSelected:o.setSelected})),{...o}}}),Xte=["id","name","disabled","autocomplete","readonly","aria-activedescendant","aria-controls","aria-expanded","aria-label"],Zte=["textContent"],Jte={key:1};function Qte(e,t,o,r,l,n){const a=nt("el-tag"),i=nt("el-tooltip"),c=nt("el-icon"),d=nt("el-option"),u=nt("el-options"),p=nt("el-scrollbar"),h=nt("el-select-menu"),v=Ou("click-outside");return mt((b(),M("div",{ref:"selectRef",class:O([e.nsSelect.b(),e.nsSelect.m(e.selectSize)]),[As(e.mouseEnterEventName)]:t[16]||(t[16]=m=>e.states.inputHovering=!0),onMouseleave:t[17]||(t[17]=m=>e.states.inputHovering=!1),onClick:t[18]||(t[18]=ct((...m)=>e.toggleMenu&&e.toggleMenu(...m),["prevent","stop"]))},[ee(i,{ref:"tooltipRef",visible:e.dropdownMenuVisible,placement:e.placement,teleported:e.teleported,"popper-class":[e.nsSelect.e("popper"),e.popperClass],"popper-options":e.popperOptions,"fallback-placements":e.fallbackPlacements,effect:e.effect,pure:"",trigger:"click",transition:`${e.nsSelect.namespace.value}-zoom-in-top`,"stop-popper-mouse-event":!1,"gpu-acceleration":!1,persistent:e.persistent,onBeforeShow:e.handleMenuEnter,onHide:t[15]||(t[15]=m=>e.states.isBeforeHide=!1)},{default:le(()=>{var m;return[E("div",{ref:"wrapperRef",class:O([e.nsSelect.e("wrapper"),e.nsSelect.is("focused",e.isFocused),e.nsSelect.is("hovering",e.states.inputHovering),e.nsSelect.is("filterable",e.filterable),e.nsSelect.is("disabled",e.selectDisabled)])},[e.$slots.prefix?(b(),M("div",{key:0,ref:"prefixRef",class:O(e.nsSelect.e("prefix"))},[be(e.$slots,"prefix")],2)):se("v-if",!0),E("div",{ref:"selectionRef",class:O([e.nsSelect.e("selection"),e.nsSelect.is("near",e.multiple&&!e.$slots.prefix&&!!e.states.selected.length)])},[e.multiple?be(e.$slots,"tag",{key:0},()=>[(b(!0),M(Qe,null,It(e.showTagList,f=>(b(),M("div",{key:e.getValueKey(f),class:O(e.nsSelect.e("selected-item"))},[ee(a,{closable:!e.selectDisabled&&!f.isDisabled,size:e.collapseTagSize,type:e.tagType,"disable-transitions":"",style:Je(e.tagStyle),onClose:_=>e.deleteTag(_,f)},{default:le(()=>[E("span",{class:O(e.nsSelect.e("tags-text"))},[be(e.$slots,"label",{label:f.currentLabel,value:f.value},()=>[Ct($e(f.currentLabel),1)])],2)]),_:2},1032,["closable","size","type","style","onClose"])],2))),128)),e.collapseTags&&e.states.selected.length>e.maxCollapseTags?(b(),he(i,{key:0,ref:"tagTooltipRef",disabled:e.dropdownMenuVisible||!e.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],effect:e.effect,placement:"bottom",teleported:e.teleported},{default:le(()=>[E("div",{ref:"collapseItemRef",class:O(e.nsSelect.e("selected-item"))},[ee(a,{closable:!1,size:e.collapseTagSize,type:e.tagType,"disable-transitions":"",style:Je(e.collapseTagStyle)},{default:le(()=>[E("span",{class:O(e.nsSelect.e("tags-text"))}," + "+$e(e.states.selected.length-e.maxCollapseTags),3)]),_:1},8,["size","type","style"])],2)]),content:le(()=>[E("div",{ref:"tagMenuRef",class:O(e.nsSelect.e("selection"))},[(b(!0),M(Qe,null,It(e.collapseTagList,f=>(b(),M("div",{key:e.getValueKey(f),class:O(e.nsSelect.e("selected-item"))},[ee(a,{class:"in-tooltip",closable:!e.selectDisabled&&!f.isDisabled,size:e.collapseTagSize,type:e.tagType,"disable-transitions":"",onClose:_=>e.deleteTag(_,f)},{default:le(()=>[E("span",{class:O(e.nsSelect.e("tags-text"))},[be(e.$slots,"label",{label:f.currentLabel,value:f.value},()=>[Ct($e(f.currentLabel),1)])],2)]),_:2},1032,["closable","size","type","onClose"])],2))),128))],2)]),_:3},8,["disabled","effect","teleported"])):se("v-if",!0)]):se("v-if",!0),e.selectDisabled?se("v-if",!0):(b(),M("div",{key:1,class:O([e.nsSelect.e("selected-item"),e.nsSelect.e("input-wrapper"),e.nsSelect.is("hidden",!e.filterable)])},[mt(E("input",{id:e.inputId,ref:"inputRef","onUpdate:modelValue":t[0]||(t[0]=f=>e.states.inputValue=f),type:"text",name:e.name,class:O([e.nsSelect.e("input"),e.nsSelect.is(e.selectSize)]),disabled:e.selectDisabled,autocomplete:e.autocomplete,style:Je(e.inputStyle),role:"combobox",readonly:!e.filterable,spellcheck:"false","aria-activedescendant":((m=e.hoverOption)==null?void 0:m.id)||"","aria-controls":e.contentId,"aria-expanded":e.dropdownMenuVisible,"aria-label":e.ariaLabel,"aria-autocomplete":"none","aria-haspopup":"listbox",onFocus:t[1]||(t[1]=(...f)=>e.handleFocus&&e.handleFocus(...f)),onBlur:t[2]||(t[2]=(...f)=>e.handleBlur&&e.handleBlur(...f)),onKeydown:[t[3]||(t[3]=Gt(ct(f=>e.navigateOptions("next"),["stop","prevent"]),["down"])),t[4]||(t[4]=Gt(ct(f=>e.navigateOptions("prev"),["stop","prevent"]),["up"])),t[5]||(t[5]=Gt(ct((...f)=>e.handleEsc&&e.handleEsc(...f),["stop","prevent"]),["esc"])),t[6]||(t[6]=Gt(ct((...f)=>e.selectOption&&e.selectOption(...f),["stop","prevent"]),["enter"])),t[7]||(t[7]=Gt(ct((...f)=>e.deletePrevTag&&e.deletePrevTag(...f),["stop"]),["delete"]))],onCompositionstart:t[8]||(t[8]=(...f)=>e.handleCompositionStart&&e.handleCompositionStart(...f)),onCompositionupdate:t[9]||(t[9]=(...f)=>e.handleCompositionUpdate&&e.handleCompositionUpdate(...f)),onCompositionend:t[10]||(t[10]=(...f)=>e.handleCompositionEnd&&e.handleCompositionEnd(...f)),onInput:t[11]||(t[11]=(...f)=>e.onInput&&e.onInput(...f)),onClick:t[12]||(t[12]=ct((...f)=>e.toggleMenu&&e.toggleMenu(...f),["stop"]))},null,46,Xte),[[l0,e.states.inputValue]]),e.filterable?(b(),M("span",{key:0,ref:"calculatorRef","aria-hidden":"true",class:O(e.nsSelect.e("input-calculator")),textContent:$e(e.states.inputValue)},null,10,Zte)):se("v-if",!0)],2)),e.shouldShowPlaceholder?(b(),M("div",{key:2,class:O([e.nsSelect.e("selected-item"),e.nsSelect.e("placeholder"),e.nsSelect.is("transparent",!e.hasModelValue||e.expanded&&!e.states.inputValue)])},[e.hasModelValue?be(e.$slots,"label",{key:0,label:e.currentPlaceholder,value:e.modelValue},()=>[E("span",null,$e(e.currentPlaceholder),1)]):(b(),M("span",Jte,$e(e.currentPlaceholder),1))],2)):se("v-if",!0)],2),E("div",{ref:"suffixRef",class:O(e.nsSelect.e("suffix"))},[e.iconComponent&&!e.showClose?(b(),he(c,{key:0,class:O([e.nsSelect.e("caret"),e.nsSelect.e("icon"),e.iconReverse])},{default:le(()=>[(b(),he(Et(e.iconComponent)))]),_:1},8,["class"])):se("v-if",!0),e.showClose&&e.clearIcon?(b(),he(c,{key:1,class:O([e.nsSelect.e("caret"),e.nsSelect.e("icon")]),onClick:e.handleClearClick},{default:le(()=>[(b(),he(Et(e.clearIcon)))]),_:1},8,["class","onClick"])):se("v-if",!0),e.validateState&&e.validateIcon?(b(),he(c,{key:2,class:O([e.nsInput.e("icon"),e.nsInput.e("validateIcon")])},{default:le(()=>[(b(),he(Et(e.validateIcon)))]),_:1},8,["class"])):se("v-if",!0)],2)],2)]}),content:le(()=>[ee(h,{ref:"menuRef"},{default:le(()=>[e.$slots.header?(b(),M("div",{key:0,class:O(e.nsSelect.be("dropdown","header")),onClick:t[13]||(t[13]=ct(()=>{},["stop"]))},[be(e.$slots,"header")],2)):se("v-if",!0),mt(ee(p,{id:e.contentId,ref:"scrollbarRef",tag:"ul","wrap-class":e.nsSelect.be("dropdown","wrap"),"view-class":e.nsSelect.be("dropdown","list"),class:O([e.nsSelect.is("empty",e.filteredOptionsCount===0)]),role:"listbox","aria-label":e.ariaLabel,"aria-orientation":"vertical"},{default:le(()=>[e.showNewOption?(b(),he(d,{key:0,value:e.states.inputValue,created:!0},null,8,["value"])):se("v-if",!0),ee(u,null,{default:le(()=>[be(e.$slots,"default")]),_:3})]),_:3},8,["id","wrap-class","view-class","class","aria-label"]),[[Lt,e.states.options.size>0&&!e.loading]]),e.$slots.loading&&e.loading?(b(),M("div",{key:1,class:O(e.nsSelect.be("dropdown","loading"))},[be(e.$slots,"loading")],2)):e.loading||e.filteredOptionsCount===0?(b(),M("div",{key:2,class:O(e.nsSelect.be("dropdown","empty"))},[be(e.$slots,"empty",{},()=>[E("span",null,$e(e.emptyText),1)])],2)):se("v-if",!0),e.$slots.footer?(b(),M("div",{key:3,class:O(e.nsSelect.be("dropdown","footer")),onClick:t[14]||(t[14]=ct(()=>{},["stop"]))},[be(e.$slots,"footer")],2)):se("v-if",!0)]),_:3},512)]),_:3},8,["visible","placement","teleported","popper-class","popper-options","fallback-placements","effect","transition","persistent","onBeforeShow"])],16)),[[v,e.handleClickOutside,e.popperRef]])}var eoe=Le(Gte,[["render",Qte],["__file","select.vue"]]);const toe=N({name:"ElOptionGroup",componentName:"ElOptionGroup",props:{label:String,disabled:Boolean},setup(e){const t=ze("select"),o=D(null),r=wt(),l=D([]);zt(jy,Dt({...Bo(e)}));const n=C(()=>l.value.some(d=>d.visible===!0)),a=d=>{var u,p;return((u=d.type)==null?void 0:u.name)==="ElOption"&&!!((p=d.component)!=null&&p.proxy)},i=d=>{const u=Gn(d),p=[];return u.forEach(h=>{var v,m;a(h)?p.push(h.component.proxy):(v=h.children)!=null&&v.length?p.push(...i(h.children)):(m=h.component)!=null&&m.subTree&&p.push(...i(h.component.subTree))}),p},c=()=>{l.value=i(r.subTree)};return ft(()=>{c()}),o_(o,c,{attributes:!0,subtree:!0,childList:!0}),{groupRef:o,visible:n,ns:t}}});function ooe(e,t,o,r,l,n){return mt((b(),M("ul",{ref:"groupRef",class:O(e.ns.be("group","wrap"))},[E("li",{class:O(e.ns.be("group","title"))},$e(e.label),3),E("li",null,[E("ul",{class:O(e.ns.b("group"))},[be(e.$slots,"default")],2)])],2)),[[Lt,e.visible]])}var Wy=Le(toe,[["render",ooe],["__file","option-group.vue"]]);const Za=yt(eoe,{Option:Qv,OptionGroup:Wy}),Cp=co(Qv),roe=co(Wy),e2=()=>Ge(Fy,{}),loe=Pe({pageSize:{type:Number,required:!0},pageSizes:{type:ue(Array),default:()=>uo([10,20,30,40,50,100])},popperClass:{type:String},disabled:Boolean,teleported:Boolean,size:{type:String,values:Rl}}),noe=N({...N({name:"ElPaginationSizes"}),props:loe,emits:["page-size-change"],setup(e,{emit:t}){const o=e,{t:r}=Rt(),l=ze("pagination"),n=e2(),a=D(o.pageSize);Se(()=>o.pageSizes,(d,u)=>{if(!nr(d,u)&&Array.isArray(d)){const p=d.includes(o.pageSize)?o.pageSize:o.pageSizes[0];t("page-size-change",p)}}),Se(()=>o.pageSize,d=>{a.value=d});const i=C(()=>o.pageSizes);function c(d){var u;d!==a.value&&(a.value=d,(u=n.handleSizeChange)==null||u.call(n,Number(d)))}return(d,u)=>(b(),M("span",{class:O(s(l).e("sizes"))},[ee(s(Za),{"model-value":a.value,disabled:d.disabled,"popper-class":d.popperClass,size:d.size,teleported:d.teleported,"validate-event":!1,onChange:c},{default:le(()=>[(b(!0),M(Qe,null,It(s(i),p=>(b(),he(s(Cp),{key:p,value:p,label:p+s(r)("el.pagination.pagesize")},null,8,["value","label"]))),128))]),_:1},8,["model-value","disabled","popper-class","size","teleported"])],2))}});var aoe=Le(noe,[["__file","sizes.vue"]]);const ioe=Pe({size:{type:String,values:Rl}}),soe=["disabled"],coe=N({...N({name:"ElPaginationJumper"}),props:ioe,setup(e){const{t}=Rt(),o=ze("pagination"),{pageCount:r,disabled:l,currentPage:n,changeEvent:a}=e2(),i=D(),c=C(()=>{var p;return(p=i.value)!=null?p:n==null?void 0:n.value});function d(p){i.value=p?+p:""}function u(p){p=Math.trunc(+p),a==null||a(p),i.value=void 0}return(p,h)=>(b(),M("span",{class:O(s(o).e("jump")),disabled:s(l)},[E("span",{class:O([s(o).e("goto")])},$e(s(t)("el.pagination.goto")),3),ee(s(cr),{size:p.size,class:O([s(o).e("editor"),s(o).is("in-pagination")]),min:1,max:s(r),disabled:s(l),"model-value":s(c),"validate-event":!1,"aria-label":s(t)("el.pagination.page"),type:"number","onUpdate:modelValue":d,onChange:u},null,8,["size","class","max","disabled","model-value","aria-label"]),E("span",{class:O([s(o).e("classifier")])},$e(s(t)("el.pagination.pageClassifier")),3)],10,soe))}});var uoe=Le(coe,[["__file","jumper.vue"]]);const doe=Pe({total:{type:Number,default:1e3}}),poe=["disabled"],foe=N({...N({name:"ElPaginationTotal"}),props:doe,setup(e){const{t}=Rt(),o=ze("pagination"),{disabled:r}=e2();return(l,n)=>(b(),M("span",{class:O(s(o).e("total")),disabled:s(r)},$e(s(t)("el.pagination.total",{total:l.total})),11,poe))}});var hoe=Le(foe,[["__file","total.vue"]]);const voe=Pe({currentPage:{type:Number,default:1},pageCount:{type:Number,required:!0},pagerCount:{type:Number,default:7},disabled:Boolean}),moe=["onKeyup"],goe=["aria-current","aria-label","tabindex"],boe=["tabindex","aria-label"],_oe=["aria-current","aria-label","tabindex"],woe=["tabindex","aria-label"],yoe=["aria-current","aria-label","tabindex"],xoe=N({...N({name:"ElPaginationPager"}),props:voe,emits:["change"],setup(e,{emit:t}){const o=e,r=ze("pager"),l=ze("icon"),{t:n}=Rt(),a=D(!1),i=D(!1),c=D(!1),d=D(!1),u=D(!1),p=D(!1),h=C(()=>{const x=o.pagerCount,$=(x-1)/2,T=Number(o.currentPage),R=Number(o.pageCount);let P=!1,L=!1;R>x&&(T>x-$&&(P=!0),T["more","btn-quickprev",l.b(),r.is("disabled",o.disabled)]),m=C(()=>["more","btn-quicknext",l.b(),r.is("disabled",o.disabled)]),f=C(()=>o.disabled?-1:0);Go(()=>{const x=(o.pagerCount-1)/2;a.value=!1,i.value=!1,o.pageCount>o.pagerCount&&(o.currentPage>o.pagerCount-x&&(a.value=!0),o.currentPageR&&(T=R)),T!==P&&t("change",T)}return(x,$)=>(b(),M("ul",{class:O(s(r).b()),onClick:w,onKeyup:Gt(y,["enter"])},[x.pageCount>0?(b(),M("li",{key:0,class:O([[s(r).is("active",x.currentPage===1),s(r).is("disabled",x.disabled)],"number"]),"aria-current":x.currentPage===1,"aria-label":s(n)("el.pagination.currentPage",{pager:1}),tabindex:s(f)}," 1 ",10,goe)):se("v-if",!0),a.value?(b(),M("li",{key:1,class:O(s(v)),tabindex:s(f),"aria-label":s(n)("el.pagination.prevPages",{pager:x.pagerCount-2}),onMouseenter:$[0]||($[0]=T=>_(!0)),onMouseleave:$[1]||($[1]=T=>c.value=!1),onFocus:$[2]||($[2]=T=>g(!0)),onBlur:$[3]||($[3]=T=>u.value=!1)},[(c.value||u.value)&&!x.disabled?(b(),he(s(Ra),{key:0})):(b(),he(s(fh),{key:1}))],42,boe)):se("v-if",!0),(b(!0),M(Qe,null,It(s(h),T=>(b(),M("li",{key:T,class:O([[s(r).is("active",x.currentPage===T),s(r).is("disabled",x.disabled)],"number"]),"aria-current":x.currentPage===T,"aria-label":s(n)("el.pagination.currentPage",{pager:T}),tabindex:s(f)},$e(T),11,_oe))),128)),i.value?(b(),M("li",{key:2,class:O(s(m)),tabindex:s(f),"aria-label":s(n)("el.pagination.nextPages",{pager:x.pagerCount-2}),onMouseenter:$[4]||($[4]=T=>_()),onMouseleave:$[5]||($[5]=T=>d.value=!1),onFocus:$[6]||($[6]=T=>g()),onBlur:$[7]||($[7]=T=>p.value=!1)},[(d.value||p.value)&&!x.disabled?(b(),he(s(La),{key:0})):(b(),he(s(fh),{key:1}))],42,woe)):se("v-if",!0),x.pageCount>1?(b(),M("li",{key:3,class:O([[s(r).is("active",x.currentPage===x.pageCount),s(r).is("disabled",x.disabled)],"number"]),"aria-current":x.currentPage===x.pageCount,"aria-label":s(n)("el.pagination.currentPage",{pager:x.pageCount}),tabindex:s(f)},$e(x.pageCount),11,yoe)):se("v-if",!0)],42,moe))}});var koe=Le(xoe,[["__file","pager.vue"]]);const kr=e=>typeof e!="number",Coe=Pe({pageSize:Number,defaultPageSize:Number,total:Number,pageCount:Number,pagerCount:{type:Number,validator:e=>st(e)&&Math.trunc(e)===e&&e>4&&e<22&&e%2===1,default:7},currentPage:Number,defaultCurrentPage:Number,layout:{type:String,default:["prev","pager","next","jumper","->","total"].join(", ")},pageSizes:{type:ue(Array),default:()=>uo([10,20,30,40,50,100])},popperClass:{type:String,default:""},prevText:{type:String,default:""},prevIcon:{type:Xt,default:()=>fn},nextText:{type:String,default:""},nextIcon:{type:Xt,default:()=>ir},teleported:{type:Boolean,default:!0},small:Boolean,size:Oo,background:Boolean,disabled:Boolean,hideOnSinglePage:Boolean}),Soe={"update:current-page":e=>st(e),"update:page-size":e=>st(e),"size-change":e=>st(e),change:(e,t)=>st(e)&&st(t),"current-change":e=>st(e),"prev-click":e=>st(e),"next-click":e=>st(e)},qy="ElPagination";var Eoe=N({name:qy,props:Coe,emits:Soe,setup(e,{emit:t,slots:o}){const{t:r}=Rt(),l=ze("pagination"),n=wt().vnode.props||{},a=C(()=>e.small?"small":e==null?void 0:e.size);Lo({from:"small",replacement:"size",version:"3.0.0",scope:"el-pagination",ref:"https://element-plus.org/zh-CN/component/pagination.html"},C(()=>!!e.small));const i="onUpdate:currentPage"in n||"onUpdate:current-page"in n||"onCurrentChange"in n,c="onUpdate:pageSize"in n||"onUpdate:page-size"in n||"onSizeChange"in n,d=C(()=>{if(kr(e.total)&&kr(e.pageCount)||!kr(e.currentPage)&&!i)return!1;if(e.layout.includes("sizes")){if(kr(e.pageCount)){if(!kr(e.total)&&!kr(e.pageSize)&&!c)return!1}else if(!c)return!1}return!0}),u=D(kr(e.defaultPageSize)?10:e.defaultPageSize),p=D(kr(e.defaultCurrentPage)?1:e.defaultCurrentPage),h=C({get(){return kr(e.pageSize)?u.value:e.pageSize},set(x){kr(e.pageSize)&&(u.value=x),c&&(t("update:page-size",x),t("size-change",x))}}),v=C(()=>{let x=0;return kr(e.pageCount)?kr(e.total)||(x=Math.max(1,Math.ceil(e.total/h.value))):x=e.pageCount,x}),m=C({get(){return kr(e.currentPage)?p.value:e.currentPage},set(x){let $=x;x<1?$=1:x>v.value&&($=v.value),kr(e.currentPage)&&(p.value=$),i&&(t("update:current-page",$),t("current-change",$))}});Se(v,x=>{m.value>x&&(m.value=x)}),Se([m,h],x=>{t("change",...x)},{flush:"post"});function f(x){m.value=x}function _(x){h.value=x;const $=v.value;m.value>$&&(m.value=$)}function g(){e.disabled||(m.value-=1,t("prev-click",m.value))}function y(){e.disabled||(m.value+=1,t("next-click",m.value))}function w(x,$){x&&(x.props||(x.props={}),x.props.class=[x.props.class,$].join(" "))}return zt(Fy,{pageCount:v,disabled:C(()=>e.disabled),currentPage:m,changeEvent:f,handleSizeChange:_}),()=>{var x,$;if(!d.value)return r("el.pagination.deprecationWarning"),null;if(!e.layout||e.hideOnSinglePage&&v.value<=1)return null;const T=[],R=[],P=rt("div",{class:l.e("rightwrapper")},R),L={prev:rt(Ite,{disabled:e.disabled,currentPage:m.value,prevText:e.prevText,prevIcon:e.prevIcon,onClick:g}),jumper:rt(uoe,{size:a.value}),pager:rt(koe,{currentPage:m.value,pageCount:v.value,pagerCount:e.pagerCount,onChange:f,disabled:e.disabled}),next:rt(Lte,{disabled:e.disabled,currentPage:m.value,pageCount:v.value,nextText:e.nextText,nextIcon:e.nextIcon,onClick:y}),sizes:rt(aoe,{pageSize:h.value,pageSizes:e.pageSizes,popperClass:e.popperClass,disabled:e.disabled,teleported:e.teleported,size:a.value}),slot:($=(x=o==null?void 0:o.default)==null?void 0:x.call(o))!=null?$:null,total:rt(hoe,{total:kr(e.total)?0:e.total})},B=e.layout.split(",").map(j=>j.trim());let V=!1;return B.forEach(j=>{if(j==="->"){V=!0;return}V?R.push(L[j]):T.push(L[j])}),w(T[0],l.is("first")),w(T[T.length-1],l.is("last")),V&&R.length>0&&(w(R[0],l.is("first")),w(R[R.length-1],l.is("last")),T.push(P)),rt("div",{class:[l.b(),l.is("background",e.background),l.m(a.value)]},T)}}});const Toe=yt(Eoe),$oe=Pe({title:String,confirmButtonText:String,cancelButtonText:String,confirmButtonType:{type:String,values:uv,default:"primary"},cancelButtonType:{type:String,values:uv,default:"text"},icon:{type:Xt,default:()=>F3},iconColor:{type:String,default:"#f90"},hideIcon:{type:Boolean,default:!1},hideAfter:{type:Number,default:200},teleported:Uo.teleported,persistent:Uo.persistent,width:{type:[String,Number],default:150}}),Moe=N({...N({name:"ElPopconfirm"}),props:$oe,emits:{confirm:e=>e instanceof MouseEvent,cancel:e=>e instanceof MouseEvent},setup(e,{emit:t}){const o=e,{t:r}=Rt(),l=ze("popconfirm"),n=D(),a=()=>{var h,v;(v=(h=n.value)==null?void 0:h.onClose)==null||v.call(h)},i=C(()=>({width:mo(o.width)})),c=h=>{t("confirm",h),a()},d=h=>{t("cancel",h),a()},u=C(()=>o.confirmButtonText||r("el.popconfirm.confirmButtonText")),p=C(()=>o.cancelButtonText||r("el.popconfirm.cancelButtonText"));return(h,v)=>(b(),he(s(ur),Mt({ref_key:"tooltipRef",ref:n,trigger:"click",effect:"light"},h.$attrs,{"popper-class":`${s(l).namespace.value}-popover`,"popper-style":s(i),teleported:h.teleported,"fallback-placements":["bottom","top","right","left"],"hide-after":h.hideAfter,persistent:h.persistent}),{content:le(()=>[E("div",{class:O(s(l).b())},[E("div",{class:O(s(l).e("main"))},[!h.hideIcon&&h.icon?(b(),he(s(Ze),{key:0,class:O(s(l).e("icon")),style:Je({color:h.iconColor})},{default:le(()=>[(b(),he(Et(h.icon)))]),_:1},8,["class","style"])):se("v-if",!0),Ct(" "+$e(h.title),1)],2),E("div",{class:O(s(l).e("action"))},[ee(s(Wo),{size:"small",type:h.cancelButtonType==="text"?"":h.cancelButtonType,text:h.cancelButtonType==="text",onClick:d},{default:le(()=>[Ct($e(s(p)),1)]),_:1},8,["type","text"]),ee(s(Wo),{size:"small",type:h.confirmButtonType==="text"?"":h.confirmButtonType,text:h.confirmButtonType==="text",onClick:c},{default:le(()=>[Ct($e(s(u)),1)]),_:1},8,["type","text"])],2)],2)]),default:le(()=>[h.$slots.reference?be(h.$slots,"reference",{key:0}):se("v-if",!0)]),_:3},16,["popper-class","popper-style","teleported","hide-after","persistent"]))}});var Aoe=Le(Moe,[["__file","popconfirm.vue"]]);const zoe=yt(Aoe),Ioe=Pe({trigger:Pc.trigger,placement:xp.placement,disabled:Pc.disabled,visible:Uo.visible,transition:Uo.transition,popperOptions:xp.popperOptions,tabindex:xp.tabindex,content:Uo.content,popperStyle:Uo.popperStyle,popperClass:Uo.popperClass,enterable:{...Uo.enterable,default:!0},effect:{...Uo.effect,default:"light"},teleported:Uo.teleported,title:String,width:{type:[String,Number],default:150},offset:{type:Number,default:void 0},showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0},showArrow:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},"onUpdate:visible":{type:Function}}),Ooe={"update:visible":e=>Co(e),"before-enter":()=>!0,"before-leave":()=>!0,"after-enter":()=>!0,"after-leave":()=>!0},Noe="onUpdate:visible",Poe=N({...N({name:"ElPopover"}),props:Ioe,emits:Ooe,setup(e,{expose:t,emit:o}){const r=e,l=C(()=>r[Noe]),n=ze("popover"),a=D(),i=C(()=>{var _;return(_=s(a))==null?void 0:_.popperRef}),c=C(()=>[{width:mo(r.width)},r.popperStyle]),d=C(()=>[n.b(),r.popperClass,{[n.m("plain")]:!!r.content}]),u=C(()=>r.transition===`${n.namespace.value}-fade-in-linear`),p=()=>{var _;(_=a.value)==null||_.hide()},h=()=>{o("before-enter")},v=()=>{o("before-leave")},m=()=>{o("after-enter")},f=()=>{o("update:visible",!1),o("after-leave")};return t({popperRef:i,hide:p}),(_,g)=>(b(),he(s(ur),Mt({ref_key:"tooltipRef",ref:a},_.$attrs,{trigger:_.trigger,placement:_.placement,disabled:_.disabled,visible:_.visible,transition:_.transition,"popper-options":_.popperOptions,tabindex:_.tabindex,content:_.content,offset:_.offset,"show-after":_.showAfter,"hide-after":_.hideAfter,"auto-close":_.autoClose,"show-arrow":_.showArrow,"aria-label":_.title,effect:_.effect,enterable:_.enterable,"popper-class":s(d),"popper-style":s(c),teleported:_.teleported,persistent:_.persistent,"gpu-acceleration":s(u),"onUpdate:visible":s(l),onBeforeShow:h,onBeforeHide:v,onShow:m,onHide:f}),{content:le(()=>[_.title?(b(),M("div",{key:0,class:O(s(n).e("title")),role:"title"},$e(_.title),3)):se("v-if",!0),be(_.$slots,"default",{},()=>[Ct($e(_.content),1)])]),default:le(()=>[_.$slots.reference?be(_.$slots,"reference",{key:0}):se("v-if",!0)]),_:3},16,["trigger","placement","disabled","visible","transition","popper-options","tabindex","content","offset","show-after","hide-after","auto-close","show-arrow","aria-label","effect","enterable","popper-class","popper-style","teleported","persistent","gpu-acceleration","onUpdate:visible"]))}});var Roe=Le(Poe,[["__file","popover.vue"]]);const Yy=(e,t)=>{const o=t.arg||t.value,r=o==null?void 0:o.popperRef;r&&(r.triggerRef=e)};var Loe={mounted(e,t){Yy(e,t)},updated(e,t){Yy(e,t)}};const Gy=lF(Loe,"popover"),Boe=yt(Roe,{directive:Gy}),Voe=Pe({type:{type:String,default:"line",values:["line","circle","dashboard"]},percentage:{type:Number,default:0,validator:e=>e>=0&&e<=100},status:{type:String,default:"",values:["","success","exception","warning"]},indeterminate:{type:Boolean,default:!1},duration:{type:Number,default:3},strokeWidth:{type:Number,default:6},strokeLinecap:{type:ue(String),default:"round"},textInside:{type:Boolean,default:!1},width:{type:Number,default:126},showText:{type:Boolean,default:!0},color:{type:ue([String,Array,Function]),default:""},striped:Boolean,stripedFlow:Boolean,format:{type:ue(Function),default:e=>`${e}%`}}),Doe=["aria-valuenow"],Hoe={viewBox:"0 0 100 100"},Foe=["d","stroke","stroke-linecap","stroke-width"],joe=["d","stroke","opacity","stroke-linecap","stroke-width"],Koe={key:0},Uoe=N({...N({name:"ElProgress"}),props:Voe,setup(e){const t=e,o={success:"#13ce66",exception:"#ff4949",warning:"#e6a23c",default:"#20a0ff"},r=ze("progress"),l=C(()=>{const w={width:`${t.percentage}%`,animationDuration:`${t.duration}s`},x=y(t.percentage);return x.includes("gradient")?w.background=x:w.backgroundColor=x,w}),n=C(()=>(t.strokeWidth/t.width*100).toFixed(1)),a=C(()=>["circle","dashboard"].includes(t.type)?Number.parseInt(`${50-Number.parseFloat(n.value)/2}`,10):0),i=C(()=>{const w=a.value,x=t.type==="dashboard";return` + `}else a||(a=window.setTimeout(f,i.config.hoverThreshold))},m=()=>{a&&(clearTimeout(a),a=null)},f=()=>{c.value&&(c.value.innerHTML="",m())};return{ns:o,panel:i,hoverZone:c,isEmpty:d,isLoading:u,menuId:p,t:r,handleExpand:h,handleMouseMove:v,clearHoverZone:f}}});function NG(e,t,o,r,l,n){const a=nt("el-cascader-node"),i=nt("loading"),c=nt("el-icon"),d=nt("el-scrollbar");return b(),he(d,{key:e.menuId,tag:"ul",role:"menu",class:O(e.ns.b()),"wrap-class":e.ns.e("wrap"),"view-class":[e.ns.e("list"),e.ns.is("empty",e.isEmpty)],onMousemove:e.handleMouseMove,onMouseleave:e.clearHoverZone},{default:le(()=>{var u;return[(b(!0),M(Qe,null,It(e.nodes,p=>(b(),he(a,{key:p.uid,node:p,"menu-id":e.menuId,onExpand:e.handleExpand},null,8,["node","menu-id","onExpand"]))),128)),e.isLoading?(b(),M("div",{key:0,class:O(e.ns.e("empty-text"))},[ee(c,{size:"14",class:O(e.ns.is("loading"))},{default:le(()=>[ee(i)]),_:1},8,["class"]),Ct(" "+$e(e.t("el.cascader.loading")),1)],2)):e.isEmpty?(b(),M("div",{key:1,class:O(e.ns.e("empty-text"))},$e(e.t("el.cascader.noData")),3)):(u=e.panel)!=null&&u.isHoverMenu?(b(),M("svg",{key:2,ref:"hoverZone",class:O(e.ns.e("hover-zone"))},null,2)):se("v-if",!0)]}),_:1},8,["class","wrap-class","view-class","onMousemove","onMouseleave"])}var PG=Le(OG,[["render",NG],["__file","menu.vue"]]);let RG=0;const LG=e=>{const t=[e];let{parent:o}=e;for(;o;)t.unshift(o),o=o.parent;return t};let Ov=class Em{constructor(t,o,r,l=!1){this.data=t,this.config=o,this.parent=r,this.root=l,this.uid=RG++,this.checked=!1,this.indeterminate=!1,this.loading=!1;const{value:n,label:a,children:i}=o,c=t[i],d=LG(this);this.level=l?0:r?r.level+1:1,this.value=t[n],this.label=t[a],this.pathNodes=d,this.pathValues=d.map(u=>u.value),this.pathLabels=d.map(u=>u.label),this.childrenData=c,this.children=(c||[]).map(u=>new Em(u,o,this)),this.loaded=!o.lazy||this.isLeaf||!Yr(c)}get isDisabled(){const{data:t,parent:o,config:r}=this,{disabled:l,checkStrictly:n}=r;return(it(l)?l(t,this):!!t[l])||!n&&(o==null?void 0:o.isDisabled)}get isLeaf(){const{data:t,config:o,childrenData:r,loaded:l}=this,{lazy:n,leaf:a}=o,i=it(a)?a(t,this):t[a];return ko(i)?n&&!l?!1:!(Array.isArray(r)&&r.length):!!i}get valueByOption(){return this.config.emitPath?this.pathValues:this.value}appendChild(t){const{childrenData:o,children:r}=this,l=new Em(t,this.config,this);return Array.isArray(o)?o.push(t):this.childrenData=[t],r.push(l),l}calcText(t,o){const r=t?this.pathLabels.join(o):this.label;return this.text=r,r}broadcast(t,...o){const r=`onParent${Nl(t)}`;this.children.forEach(l=>{l&&(l.broadcast(t,...o),l[r]&&l[r](...o))})}emit(t,...o){const{parent:r}=this,l=`onChild${Nl(t)}`;r&&(r[l]&&r[l](...o),r.emit(t,...o))}onParentCheck(t){this.isDisabled||this.setCheckState(t)}onChildCheck(){const{children:t}=this,o=t.filter(l=>!l.isDisabled),r=o.length?o.every(l=>l.checked):!1;this.setCheckState(r)}setCheckState(t){const o=this.children.length,r=this.children.reduce((l,n)=>{const a=n.checked?1:n.indeterminate?.5:0;return l+a},0);this.checked=this.loaded&&this.children.filter(l=>!l.isDisabled).every(l=>l.loaded&&l.checked)&&t,this.indeterminate=this.loaded&&r!==o&&r>0}doCheck(t){if(this.checked===t)return;const{checkStrictly:o,multiple:r}=this.config;o||!r?this.checked=t:(this.broadcast("check",t),this.setCheckState(t),this.emit("check"))}};const Nv=(e,t)=>e.reduce((o,r)=>(r.isLeaf?o.push(r):(!t&&o.push(r),o=o.concat(Nv(r.children,t))),o),[]);class Uw{constructor(t,o){this.config=o;const r=(t||[]).map(l=>new Ov(l,this.config));this.nodes=r,this.allNodes=Nv(r,!1),this.leafNodes=Nv(r,!0)}getNodes(){return this.nodes}getFlattedNodes(t){return t?this.leafNodes:this.allNodes}appendNode(t,o){const r=o?o.appendChild(t):new Ov(t,this.config);o||this.nodes.push(r),this.allNodes.push(r),r.isLeaf&&this.leafNodes.push(r)}appendNodes(t,o){t.forEach(r=>this.appendNode(r,o))}getNodeByValue(t,o=!1){return!t&&t!==0?null:this.getFlattedNodes(o).find(l=>nr(l.value,t)||nr(l.pathValues,t))||null}getSameNode(t){return t&&this.getFlattedNodes(!1).find(({value:r,level:l})=>nr(t.value,r)&&t.level===l)||null}}const Ww=Pe({modelValue:{type:ue([Number,String,Array])},options:{type:ue(Array),default:()=>[]},props:{type:ue(Object),default:()=>({})}}),BG={expandTrigger:"click",multiple:!1,checkStrictly:!1,emitPath:!0,lazy:!1,lazyLoad:Wt,value:"value",label:"label",children:"children",leaf:"leaf",disabled:"disabled",hoverThreshold:500},VG=e=>C(()=>({...BG,...e.props})),qw=e=>{if(!e)return 0;const t=e.id.split("-");return Number(t[t.length-2])},DG=e=>{if(!e)return;const t=e.querySelector("input");t?t.click():Fb(e)&&e.click()},HG=(e,t)=>{const o=t.slice(0),r=o.map(n=>n.uid),l=e.reduce((n,a)=>{const i=r.indexOf(a.uid);return i>-1&&(n.push(a),o.splice(i,1),r.splice(i,1)),n},[]);return l.push(...o),l},FG=N({name:"ElCascaderPanel",components:{ElCascaderMenu:PG},props:{...Ww,border:{type:Boolean,default:!0},renderLabel:Function},emits:[St,ro,"close","expand-change"],setup(e,{emit:t,slots:o}){let r=!1;const l=ze("cascader"),n=VG(e);let a=null;const i=D(!0),c=D([]),d=D(null),u=D([]),p=D(null),h=D([]),v=C(()=>n.value.expandTrigger==="hover"),m=C(()=>e.renderLabel||o.default),f=()=>{const{options:j}=e,te=n.value;r=!1,a=new Uw(j,te),u.value=[a.getNodes()],te.lazy&&Yr(e.options)?(i.value=!1,_(void 0,J=>{J&&(a=new Uw(J,te),u.value=[a.getNodes()]),i.value=!0,P(!1,!0)})):P(!1,!0)},_=(j,te)=>{const J=n.value;j=j||new Ov({},J,void 0,!0),j.loading=!0;const Z=H=>{const F=j,K=F.root?null:F;H&&(a==null||a.appendNodes(H,K)),F.loading=!1,F.loaded=!0,F.childrenData=F.childrenData||[],te&&te(H)};J.lazyLoad(j,Z)},g=(j,te)=>{var J;const{level:Z}=j,H=u.value.slice(0,Z);let F;j.isLeaf?F=j.pathNodes[Z-2]:(F=j,H.push(j.children)),((J=p.value)==null?void 0:J.uid)!==(F==null?void 0:F.uid)&&(p.value=j,u.value=H,!te&&t("expand-change",(j==null?void 0:j.pathValues)||[]))},y=(j,te,J=!0)=>{const{checkStrictly:Z,multiple:H}=n.value,F=h.value[0];r=!0,!H&&(F==null||F.doCheck(!1)),j.doCheck(te),R(),J&&!H&&!Z&&t("close"),!J&&!H&&!Z&&w(j)},w=j=>{j&&(j=j.parent,w(j),j&&g(j))},x=j=>a==null?void 0:a.getFlattedNodes(j),$=j=>{var te;return(te=x(j))==null?void 0:te.filter(J=>J.checked!==!1)},T=()=>{h.value.forEach(j=>j.doCheck(!1)),R(),u.value=u.value.slice(0,1),p.value=null,t("expand-change",[])},R=()=>{var j;const{checkStrictly:te,multiple:J}=n.value,Z=h.value,H=$(!te),F=HG(Z,H),K=F.map(I=>I.valueByOption);h.value=F,d.value=J?K:(j=K[0])!=null?j:null},P=(j=!1,te=!1)=>{const{modelValue:J}=e,{lazy:Z,multiple:H,checkStrictly:F}=n.value,K=!F;if(!(!i.value||r||!te&&nr(J,d.value)))if(Z&&!j){const U=o6(Az(Lr(J))).map(oe=>a==null?void 0:a.getNodeByValue(oe)).filter(oe=>!!oe&&!oe.loaded&&!oe.loading);U.length?U.forEach(oe=>{_(oe,()=>P(!1,te))}):P(!0,te)}else{const I=H?Lr(J):[J],U=o6(I.map(oe=>a==null?void 0:a.getNodeByValue(oe,K)));L(U,te),d.value=xd(J)}},L=(j,te=!0)=>{const{checkStrictly:J}=n.value,Z=h.value,H=j.filter(I=>!!I&&(J||I.isLeaf)),F=a==null?void 0:a.getSameNode(p.value),K=te&&F||H[0];K?K.pathNodes.forEach(I=>g(I,!0)):p.value=null,Z.forEach(I=>I.doCheck(!1)),Dt(H).forEach(I=>I.doCheck(!0)),h.value=H,et(V)},V=()=>{Nt&&c.value.forEach(j=>{const te=j==null?void 0:j.$el;if(te){const J=te.querySelector(`.${l.namespace.value}-scrollbar__wrap`),Z=te.querySelector(`.${l.b("node")}.${l.is("active")}`)||te.querySelector(`.${l.b("node")}.in-active-path`);$3(J,Z)}})},B=j=>{const te=j.target,{code:J}=j;switch(J){case lt.up:case lt.down:{j.preventDefault();const Z=J===lt.up?-1:1;fd(jb(te,Z,`.${l.b("node")}[tabindex="-1"]`));break}case lt.left:{j.preventDefault();const Z=c.value[qw(te)-1],H=Z==null?void 0:Z.$el.querySelector(`.${l.b("node")}[aria-expanded="true"]`);fd(H);break}case lt.right:{j.preventDefault();const Z=c.value[qw(te)+1],H=Z==null?void 0:Z.$el.querySelector(`.${l.b("node")}[tabindex="-1"]`);fd(H);break}case lt.enter:DG(te);break}};return zt(Iv,Dt({config:n,expandingNode:p,checkedNodes:h,isHoverMenu:v,initialLoaded:i,renderLabelFn:m,lazyLoad:_,expandNode:g,handleCheckChange:y})),Se([n,()=>e.options],f,{deep:!0,immediate:!0}),Se(()=>e.modelValue,()=>{r=!1,P()},{deep:!0}),Se(()=>d.value,j=>{nr(j,e.modelValue)||(t(St,j),t(ro,j))}),_g(()=>c.value=[]),ft(()=>!Yr(e.modelValue)&&P()),{ns:l,menuList:c,menus:u,checkedNodes:h,handleKeyDown:B,handleCheckChange:y,getFlattedNodes:x,getCheckedNodes:$,clearCheckedNodes:T,calculateCheckedValue:R,scrollToExpandingNode:V}}});function jG(e,t,o,r,l,n){const a=nt("el-cascader-menu");return b(),M("div",{class:O([e.ns.b("panel"),e.ns.is("bordered",e.border)]),onKeydown:t[0]||(t[0]=(...i)=>e.handleKeyDown&&e.handleKeyDown(...i))},[(b(!0),M(Qe,null,It(e.menus,(i,c)=>(b(),he(a,{key:c,ref_for:!0,ref:d=>e.menuList[c]=d,index:c,nodes:[...i]},null,8,["index","nodes"]))),128))],34)}var fp=Le(FG,[["render",jG],["__file","index.vue"]]);fp.install=e=>{e.component(fp.name,fp)};const Yw=fp,KG=Yw,hp=Pe({type:{type:String,values:["primary","success","info","warning","danger"],default:"primary"},closable:Boolean,disableTransitions:Boolean,hit:Boolean,color:String,size:{type:String,values:Rl},effect:{type:String,values:["dark","light","plain"],default:"light"},round:Boolean}),UG=N({...N({name:"ElTag"}),props:hp,emits:{close:e=>e instanceof MouseEvent,click:e=>e instanceof MouseEvent},setup(e,{emit:t}){const o=e,r=So(),l=ze("tag"),n=C(()=>{const{type:c,hit:d,effect:u,closable:p,round:h}=o;return[l.b(),l.is("closable",p),l.m(c||"primary"),l.m(r.value),l.m(u),l.is("hit",d),l.is("round",h)]}),a=c=>{t("close",c)},i=c=>{t("click",c)};return(c,d)=>c.disableTransitions?(b(),M("span",{key:0,class:O(s(n)),style:Je({backgroundColor:c.color}),onClick:i},[E("span",{class:O(s(l).e("content"))},[be(c.$slots,"default")],2),c.closable?(b(),he(s(Ze),{key:0,class:O(s(l).e("close")),onClick:ct(a,["stop"])},{default:le(()=>[ee(s(Jr))]),_:1},8,["class","onClick"])):se("v-if",!0)],6)):(b(),he(Mo,{key:1,name:`${s(l).namespace.value}-zoom-in-center`,appear:""},{default:le(()=>[E("span",{class:O(s(n)),style:Je({backgroundColor:c.color}),onClick:i},[E("span",{class:O(s(l).e("content"))},[be(c.$slots,"default")],2),c.closable?(b(),he(s(Ze),{key:0,class:O(s(l).e("close")),onClick:ct(a,["stop"])},{default:le(()=>[ee(s(Jr))]),_:1},8,["class","onClick"])):se("v-if",!0)],6)]),_:3},8,["name"]))}});var WG=Le(UG,[["__file","tag.vue"]]);const Rc=yt(WG),qG=Pe({...Ww,size:Oo,placeholder:String,disabled:Boolean,clearable:Boolean,filterable:Boolean,filterMethod:{type:ue(Function),default:(e,t)=>e.text.includes(t)},separator:{type:String,default:" / "},showAllLevels:{type:Boolean,default:!0},collapseTags:Boolean,maxCollapseTags:{type:Number,default:1},collapseTagsTooltip:{type:Boolean,default:!1},debounce:{type:Number,default:300},beforeFilter:{type:ue(Function),default:()=>!0},popperClass:{type:String,default:""},teleported:Uo.teleported,tagType:{...hp.type,default:"info"},validateEvent:{type:Boolean,default:!0},...Xi}),YG={[St]:e=>!0,[ro]:e=>!0,focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,visibleChange:e=>Co(e),expandChange:e=>!!e,removeTag:e=>!!e},GG={key:0},XG=["placeholder","onKeydown"],ZG=["onClick"],JG=N({...N({name:"ElCascader"}),props:qG,emits:YG,setup(e,{expose:t,emit:o}){const r=e,l={modifiers:[{name:"arrowPosition",enabled:!0,phase:"main",fn:({state:X})=>{const{modifiersData:re,placement:ge}=X;["right","left","bottom","top"].includes(ge)||(re.arrow.x=35)},requires:["arrow"]}]},n=ya();let a=0,i=0;const c=ze("cascader"),d=ze("input"),{t:u}=Rt(),{form:p,formItem:h}=sr(),{valueOnClear:v}=Wd(r),m=D(null),f=D(null),_=D(null),g=D(null),y=D(null),w=D(!1),x=D(!1),$=D(!1),T=D(!1),R=D(""),P=D(""),L=D([]),V=D([]),B=D([]),j=D(!1),te=C(()=>n.style),J=C(()=>r.disabled||(p==null?void 0:p.disabled)),Z=C(()=>r.placeholder||u("el.cascader.placeholder")),H=C(()=>P.value||L.value.length>0||j.value?"":Z.value),F=So(),K=C(()=>["small"].includes(F.value)?"small":"default"),I=C(()=>!!r.props.multiple),U=C(()=>!r.filterable||I.value),oe=C(()=>I.value?P.value:R.value),ne=C(()=>{var X;return((X=g.value)==null?void 0:X.checkedNodes)||[]}),ce=C(()=>!r.clearable||J.value||$.value||!x.value?!1:!!ne.value.length),Q=C(()=>{const{showAllLevels:X,separator:re}=r,ge=ne.value;return ge.length?I.value?"":ge[0].calcText(X,re):""}),Me=C(()=>(h==null?void 0:h.validateState)||""),de=C({get(){return xd(r.modelValue)},set(X){const re=X||v.value;o(St,re),o(ro,re),r.validateEvent&&(h==null||h.validate("change").catch(ge=>void 0))}}),_e=C(()=>[c.b(),c.m(F.value),c.is("disabled",J.value),n.class]),me=C(()=>[d.e("icon"),"icon-arrow-down",c.is("reverse",w.value)]),Re=C(()=>c.is("focus",w.value||T.value)),Ce=C(()=>{var X,re;return(re=(X=m.value)==null?void 0:X.popperRef)==null?void 0:re.contentRef}),Ee=X=>{var re,ge,fe;J.value||(X=X??!w.value,X!==w.value&&(w.value=X,(ge=(re=f.value)==null?void 0:re.input)==null||ge.setAttribute("aria-expanded",`${X}`),X?(De(),et((fe=g.value)==null?void 0:fe.scrollToExpandingNode)):r.filterable&&ye(),o("visibleChange",X)))},De=()=>{et(()=>{var X;(X=m.value)==null||X.updatePopper()})},ae=()=>{$.value=!1},pe=X=>{const{showAllLevels:re,separator:ge}=r;return{node:X,key:X.uid,text:X.calcText(re,ge),hitState:!1,closable:!J.value&&!X.isDisabled,isCollapseTag:!1}},ke=X=>{var re;const ge=X.node;ge.doCheck(!1),(re=g.value)==null||re.calculateCheckedValue(),o("removeTag",ge.valueByOption)},Oe=()=>{if(!I.value)return;const X=ne.value,re=[],ge=[];if(X.forEach(fe=>ge.push(pe(fe))),V.value=ge,X.length){X.slice(0,r.maxCollapseTags).forEach(at=>re.push(pe(at)));const fe=X.slice(r.maxCollapseTags),Fe=fe.length;Fe&&(r.collapseTags?re.push({key:-1,text:`+ ${Fe}`,closable:!1,isCollapseTag:!0}):fe.forEach(at=>re.push(pe(at))))}L.value=re},we=()=>{var X,re;const{filterMethod:ge,showAllLevels:fe,separator:Fe}=r,at=(re=(X=g.value)==null?void 0:X.getFlattedNodes(!r.props.checkStrictly))==null?void 0:re.filter(_t=>_t.isDisabled?!1:(_t.calcText(fe,Fe),ge(_t,oe.value)));I.value&&(L.value.forEach(_t=>{_t.hitState=!1}),V.value.forEach(_t=>{_t.hitState=!1})),$.value=!0,B.value=at,De()},Te=()=>{var X;let re;$.value&&y.value?re=y.value.$el.querySelector(`.${c.e("suggestion-item")}`):re=(X=g.value)==null?void 0:X.$el.querySelector(`.${c.b("node")}[tabindex="-1"]`),re&&(re.focus(),!$.value&&re.click())},Ne=()=>{var X,re;const ge=(X=f.value)==null?void 0:X.input,fe=_.value,Fe=(re=y.value)==null?void 0:re.$el;if(!(!Nt||!ge)){if(Fe){const at=Fe.querySelector(`.${c.e("suggestion-list")}`);at.style.minWidth=`${ge.offsetWidth}px`}if(fe){const{offsetHeight:at}=fe,_t=L.value.length>0?`${Math.max(at+6,a)}px`:`${a}px`;ge.style.height=_t,De()}}},Ie=X=>{var re;return(re=g.value)==null?void 0:re.getCheckedNodes(X)},Ae=X=>{De(),o("expandChange",X)},xe=X=>{var re;const ge=(re=X.target)==null?void 0:re.value;if(X.type==="compositionend")j.value=!1,et(()=>A(ge));else{const fe=ge[ge.length-1]||"";j.value=!xh(fe)}},We=X=>{if(!j.value)switch(X.code){case lt.enter:Ee();break;case lt.down:Ee(!0),et(Te),X.preventDefault();break;case lt.esc:w.value===!0&&(X.preventDefault(),X.stopPropagation(),Ee(!1));break;case lt.tab:Ee(!1);break}},qe=()=>{var X;(X=g.value)==null||X.clearCheckedNodes(),!w.value&&r.filterable&&ye(),Ee(!1)},ye=()=>{const{value:X}=Q;R.value=X,P.value=X},Ye=X=>{var re,ge;const{checked:fe}=X;I.value?(re=g.value)==null||re.handleCheckChange(X,!fe,!1):(!fe&&((ge=g.value)==null||ge.handleCheckChange(X,!0,!1)),Ee(!1))},tt=X=>{const re=X.target,{code:ge}=X;switch(ge){case lt.up:case lt.down:{const fe=ge===lt.up?-1:1;fd(jb(re,fe,`.${c.e("suggestion-item")}[tabindex="-1"]`));break}case lt.enter:re.click();break}},pt=()=>{const X=L.value,re=X[X.length-1];i=P.value?0:i+1,!(!re||!i||r.collapseTags&&X.length>1)&&(re.hitState?ke(re):re.hitState=!0)},dt=X=>{const re=X.target,ge=c.e("search-input");re.className===ge&&(T.value=!0),o("focus",X)},Y=X=>{T.value=!1,o("blur",X)},S=Mr(()=>{const{value:X}=oe;if(!X)return;const re=r.beforeFilter(X);Es(re)?re.then(we).catch(()=>{}):re!==!1?we():ae()},r.debounce),A=(X,re)=>{!w.value&&Ee(!0),!(re!=null&&re.isComposing)&&(X?S():ae())},G=X=>Number.parseFloat(nE(d.cssVarName("input-height"),X).value)-2;return Se($,De),Se([ne,J],Oe),Se(L,()=>{et(()=>Ne())}),Se(F,async()=>{await et();const X=f.value.input;a=G(X)||a,Ne()}),Se(Q,ye,{immediate:!0}),ft(()=>{const X=f.value.input,re=G(X);a=X.offsetHeight||re,so(X,Ne)}),t({getCheckedNodes:Ie,cascaderPanelRef:g,togglePopperVisible:Ee,contentRef:Ce}),(X,re)=>(b(),he(s(ur),{ref_key:"tooltipRef",ref:m,visible:w.value,teleported:X.teleported,"popper-class":[s(c).e("dropdown"),X.popperClass],"popper-options":l,"fallback-placements":["bottom-start","bottom","top-start","top","right","left"],"stop-popper-mouse-event":!1,"gpu-acceleration":!1,placement:"bottom-start",transition:`${s(c).namespace.value}-zoom-in-top`,effect:"light",pure:"",persistent:"",onHide:ae},{default:le(()=>[mt((b(),M("div",{class:O(s(_e)),style:Je(s(te)),onClick:re[5]||(re[5]=()=>Ee(s(U)?void 0:!0)),onKeydown:We,onMouseenter:re[6]||(re[6]=ge=>x.value=!0),onMouseleave:re[7]||(re[7]=ge=>x.value=!1)},[ee(s(cr),{ref_key:"input",ref:f,modelValue:R.value,"onUpdate:modelValue":re[1]||(re[1]=ge=>R.value=ge),placeholder:s(H),readonly:s(U),disabled:s(J),"validate-event":!1,size:s(F),class:O(s(Re)),tabindex:s(I)&&X.filterable&&!s(J)?-1:void 0,onCompositionstart:xe,onCompositionupdate:xe,onCompositionend:xe,onFocus:dt,onBlur:Y,onInput:A},{suffix:le(()=>[s(ce)?(b(),he(s(Ze),{key:"clear",class:O([s(d).e("icon"),"icon-circle-close"]),onClick:ct(qe,["stop"])},{default:le(()=>[ee(s(hn))]),_:1},8,["class","onClick"])):(b(),he(s(Ze),{key:"arrow-down",class:O(s(me)),onClick:re[0]||(re[0]=ct(ge=>Ee(),["stop"]))},{default:le(()=>[ee(s(Pl))]),_:1},8,["class"]))]),_:1},8,["modelValue","placeholder","readonly","disabled","size","class","tabindex"]),s(I)?(b(),M("div",{key:0,ref_key:"tagWrapper",ref:_,class:O([s(c).e("tags"),s(c).is("validate",!!s(Me))])},[(b(!0),M(Qe,null,It(L.value,ge=>(b(),he(s(Rc),{key:ge.key,type:X.tagType,size:s(K),hit:ge.hitState,closable:ge.closable,"disable-transitions":"",onClose:fe=>ke(ge)},{default:le(()=>[ge.isCollapseTag===!1?(b(),M("span",GG,$e(ge.text),1)):(b(),he(s(ur),{key:1,disabled:w.value||!X.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],placement:"bottom",effect:"light"},{default:le(()=>[E("span",null,$e(ge.text),1)]),content:le(()=>[E("div",{class:O(s(c).e("collapse-tags"))},[(b(!0),M(Qe,null,It(V.value.slice(X.maxCollapseTags),(fe,Fe)=>(b(),M("div",{key:Fe,class:O(s(c).e("collapse-tag"))},[(b(),he(s(Rc),{key:fe.key,class:"in-tooltip",type:X.tagType,size:s(K),hit:fe.hitState,closable:fe.closable,"disable-transitions":"",onClose:at=>ke(fe)},{default:le(()=>[E("span",null,$e(fe.text),1)]),_:2},1032,["type","size","hit","closable","onClose"]))],2))),128))],2)]),_:2},1032,["disabled"]))]),_:2},1032,["type","size","hit","closable","onClose"]))),128)),X.filterable&&!s(J)?mt((b(),M("input",{key:0,"onUpdate:modelValue":re[2]||(re[2]=ge=>P.value=ge),type:"text",class:O(s(c).e("search-input")),placeholder:s(Q)?"":s(Z),onInput:re[3]||(re[3]=ge=>A(P.value,ge)),onClick:re[4]||(re[4]=ct(ge=>Ee(!0),["stop"])),onKeydown:Gt(pt,["delete"]),onCompositionstart:xe,onCompositionupdate:xe,onCompositionend:xe,onFocus:dt,onBlur:Y},null,42,XG)),[[l0,P.value]]):se("v-if",!0)],2)):se("v-if",!0)],38)),[[s(xn),()=>Ee(!1),s(Ce)]])]),content:le(()=>[mt(ee(s(Yw),{ref_key:"cascaderPanelRef",ref:g,modelValue:s(de),"onUpdate:modelValue":re[8]||(re[8]=ge=>Zt(de)?de.value=ge:null),options:X.options,props:r.props,border:!1,"render-label":X.$slots.default,onExpandChange:Ae,onClose:re[9]||(re[9]=ge=>X.$nextTick(()=>Ee(!1)))},null,8,["modelValue","options","props","render-label"]),[[Lt,!$.value]]),X.filterable?mt((b(),he(s(wn),{key:0,ref_key:"suggestionPanel",ref:y,tag:"ul",class:O(s(c).e("suggestion-panel")),"view-class":s(c).e("suggestion-list"),onKeydown:tt},{default:le(()=>[B.value.length?(b(!0),M(Qe,{key:0},It(B.value,ge=>(b(),M("li",{key:ge.uid,class:O([s(c).e("suggestion-item"),s(c).is("checked",ge.checked)]),tabindex:-1,onClick:fe=>Ye(ge)},[E("span",null,$e(ge.text),1),ge.checked?(b(),he(s(Ze),{key:0},{default:le(()=>[ee(s(Li))]),_:1})):se("v-if",!0)],10,ZG))),128)):be(X.$slots,"empty",{key:1},()=>[E("li",{class:O(s(c).e("empty-text"))},$e(s(u)("el.cascader.noMatch")),3)])]),_:3},8,["class","view-class"])),[[Lt,$.value]]):se("v-if",!0)]),_:3},8,["visible","teleported","popper-class","transition"]))}});var vp=Le(JG,[["__file","cascader.vue"]]);vp.install=e=>{e.component(vp.name,vp)};const QG=vp,eX=Pe({checked:{type:Boolean,default:!1},type:{type:String,values:["primary","success","info","warning","danger"],default:"primary"}}),tX={"update:checked":e=>Co(e),[ro]:e=>Co(e)},oX=N({...N({name:"ElCheckTag"}),props:eX,emits:tX,setup(e,{emit:t}){const o=e,r=ze("check-tag"),l=C(()=>[r.b(),r.is("checked",o.checked),r.m(o.type||"primary")]),n=()=>{const a=!o.checked;t(ro,a),t("update:checked",a)};return(a,i)=>(b(),M("span",{class:O(s(l)),onClick:n},[be(a.$slots,"default")],2))}});var rX=Le(oX,[["__file","check-tag.vue"]]);const lX=yt(rX),Gw=Symbol("rowContextKey"),nX=Pe({tag:{type:String,default:"div"},gutter:{type:Number,default:0},justify:{type:String,values:["start","center","end","space-around","space-between","space-evenly"],default:"start"},align:{type:String,values:["top","middle","bottom"]}}),aX=N({...N({name:"ElRow"}),props:nX,setup(e){const t=e,o=ze("row"),r=C(()=>t.gutter);zt(Gw,{gutter:r});const l=C(()=>{const a={};return t.gutter&&(a.marginRight=a.marginLeft=`-${t.gutter/2}px`),a}),n=C(()=>[o.b(),o.is(`justify-${t.justify}`,t.justify!=="start"),o.is(`align-${t.align}`,!!t.align)]);return(a,i)=>(b(),he(Et(a.tag),{class:O(s(n)),style:Je(s(l))},{default:le(()=>[be(a.$slots,"default")]),_:3},8,["class","style"]))}});var iX=Le(aX,[["__file","row.vue"]]);const sX=yt(iX),cX=Pe({tag:{type:String,default:"div"},span:{type:Number,default:24},offset:{type:Number,default:0},pull:{type:Number,default:0},push:{type:Number,default:0},xs:{type:ue([Number,Object]),default:()=>uo({})},sm:{type:ue([Number,Object]),default:()=>uo({})},md:{type:ue([Number,Object]),default:()=>uo({})},lg:{type:ue([Number,Object]),default:()=>uo({})},xl:{type:ue([Number,Object]),default:()=>uo({})}}),uX=N({...N({name:"ElCol"}),props:cX,setup(e){const t=e,{gutter:o}=Ge(Gw,{gutter:C(()=>0)}),r=ze("col"),l=C(()=>{const a={};return o.value&&(a.paddingLeft=a.paddingRight=`${o.value/2}px`),a}),n=C(()=>{const a=[];return["span","offset","pull","push"].forEach(d=>{const u=t[d];st(u)&&(d==="span"?a.push(r.b(`${t[d]}`)):u>0&&a.push(r.b(`${d}-${t[d]}`)))}),["xs","sm","md","lg","xl"].forEach(d=>{st(t[d])?a.push(r.b(`${d}-${t[d]}`)):xt(t[d])&&Object.entries(t[d]).forEach(([u,p])=>{a.push(u!=="span"?r.b(`${d}-${u}-${p}`):r.b(`${d}-${p}`))})}),o.value&&a.push(r.is("guttered")),[r.b(),a]});return(a,i)=>(b(),he(Et(a.tag),{class:O(s(n)),style:Je(s(l))},{default:le(()=>[be(a.$slots,"default")]),_:3},8,["class","style"]))}});var dX=Le(uX,[["__file","col.vue"]]);const pX=yt(dX),Xw=e=>st(e)||ut(e)||Ke(e),fX=Pe({accordion:Boolean,modelValue:{type:ue([Array,String,Number]),default:()=>uo([])}}),hX={[St]:Xw,[ro]:Xw},Zw=Symbol("collapseContextKey"),vX=(e,t)=>{const o=D(Gn(e.modelValue)),r=n=>{o.value=n;const a=e.accordion?o.value[0]:o.value;t(St,a),t(ro,a)},l=n=>{if(e.accordion)r([o.value[0]===n?"":n]);else{const a=[...o.value],i=a.indexOf(n);i>-1?a.splice(i,1):a.push(n),r(a)}};return Se(()=>e.modelValue,()=>o.value=Gn(e.modelValue),{deep:!0}),zt(Zw,{activeNames:o,handleItemClick:l}),{activeNames:o,setActiveNames:r}},mX=()=>{const e=ze("collapse");return{rootKls:C(()=>e.b())}},gX=N({...N({name:"ElCollapse"}),props:fX,emits:hX,setup(e,{expose:t,emit:o}){const r=e,{activeNames:l,setActiveNames:n}=vX(r,o),{rootKls:a}=mX();return t({activeNames:l,setActiveNames:n}),(i,c)=>(b(),M("div",{class:O(s(a))},[be(i.$slots,"default")],2))}});var bX=Le(gX,[["__file","collapse.vue"]]);const _X=N({...N({name:"ElCollapseTransition"}),setup(e){const t=ze("collapse-transition"),o=l=>{l.style.maxHeight="",l.style.overflow=l.dataset.oldOverflow,l.style.paddingTop=l.dataset.oldPaddingTop,l.style.paddingBottom=l.dataset.oldPaddingBottom},r={beforeEnter(l){l.dataset||(l.dataset={}),l.dataset.oldPaddingTop=l.style.paddingTop,l.dataset.oldPaddingBottom=l.style.paddingBottom,l.style.height&&(l.dataset.elExistsHeight=l.style.height),l.style.maxHeight=0,l.style.paddingTop=0,l.style.paddingBottom=0},enter(l){requestAnimationFrame(()=>{l.dataset.oldOverflow=l.style.overflow,l.dataset.elExistsHeight?l.style.maxHeight=l.dataset.elExistsHeight:l.scrollHeight!==0?l.style.maxHeight=`${l.scrollHeight}px`:l.style.maxHeight=0,l.style.paddingTop=l.dataset.oldPaddingTop,l.style.paddingBottom=l.dataset.oldPaddingBottom,l.style.overflow="hidden"})},afterEnter(l){l.style.maxHeight="",l.style.overflow=l.dataset.oldOverflow},enterCancelled(l){o(l)},beforeLeave(l){l.dataset||(l.dataset={}),l.dataset.oldPaddingTop=l.style.paddingTop,l.dataset.oldPaddingBottom=l.style.paddingBottom,l.dataset.oldOverflow=l.style.overflow,l.style.maxHeight=`${l.scrollHeight}px`,l.style.overflow="hidden"},leave(l){l.scrollHeight!==0&&(l.style.maxHeight=0,l.style.paddingTop=0,l.style.paddingBottom=0)},afterLeave(l){o(l)},leaveCancelled(l){o(l)}};return(l,n)=>(b(),he(Mo,Mt({name:s(t).b()},Nk(r)),{default:le(()=>[be(l.$slots,"default")]),_:3},16,["name"]))}});var mp=Le(_X,[["__file","collapse-transition.vue"]]);mp.install=e=>{e.component(mp.name,mp)};const gp=mp,wX=gp,yX=Pe({title:{type:String,default:""},name:{type:ue([String,Number]),default:void 0},disabled:Boolean}),xX=e=>{const t=Ge(Zw),{namespace:o}=ze("collapse"),r=D(!1),l=D(!1),n=Rh(),a=C(()=>n.current++),i=C(()=>{var h;return(h=e.name)!=null?h:`${o.value}-id-${n.prefix}-${s(a)}`}),c=C(()=>t==null?void 0:t.activeNames.value.includes(s(i)));return{focusing:r,id:a,isActive:c,handleFocus:()=>{setTimeout(()=>{l.value?l.value=!1:r.value=!0},50)},handleHeaderClick:()=>{e.disabled||(t==null||t.handleItemClick(s(i)),r.value=!1,l.value=!0)},handleEnterClick:()=>{t==null||t.handleItemClick(s(i))}}},kX=(e,{focusing:t,isActive:o,id:r})=>{const l=ze("collapse"),n=C(()=>[l.b("item"),l.is("active",s(o)),l.is("disabled",e.disabled)]),a=C(()=>[l.be("item","header"),l.is("active",s(o)),{focusing:s(t)&&!e.disabled}]),i=C(()=>[l.be("item","arrow"),l.is("active",s(o))]),c=C(()=>l.be("item","wrap")),d=C(()=>l.be("item","content")),u=C(()=>l.b(`content-${s(r)}`)),p=C(()=>l.b(`head-${s(r)}`));return{arrowKls:i,headKls:a,rootKls:n,itemWrapperKls:c,itemContentKls:d,scopedContentId:u,scopedHeadId:p}},CX=["id","aria-expanded","aria-controls","aria-describedby","tabindex"],SX=["id","aria-hidden","aria-labelledby"],EX=N({...N({name:"ElCollapseItem"}),props:yX,setup(e,{expose:t}){const o=e,{focusing:r,id:l,isActive:n,handleFocus:a,handleHeaderClick:i,handleEnterClick:c}=xX(o),{arrowKls:d,headKls:u,rootKls:p,itemWrapperKls:h,itemContentKls:v,scopedContentId:m,scopedHeadId:f}=kX(o,{focusing:r,isActive:n,id:l});return t({isActive:n}),(_,g)=>(b(),M("div",{class:O(s(p))},[E("button",{id:s(f),class:O(s(u)),"aria-expanded":s(n),"aria-controls":s(m),"aria-describedby":s(m),tabindex:_.disabled?-1:0,type:"button",onClick:g[0]||(g[0]=(...y)=>s(i)&&s(i)(...y)),onKeydown:g[1]||(g[1]=Gt(ct((...y)=>s(c)&&s(c)(...y),["stop","prevent"]),["space","enter"])),onFocus:g[2]||(g[2]=(...y)=>s(a)&&s(a)(...y)),onBlur:g[3]||(g[3]=y=>r.value=!1)},[be(_.$slots,"title",{},()=>[Ct($e(_.title),1)]),ee(s(Ze),{class:O(s(d))},{default:le(()=>[ee(s(ir))]),_:1},8,["class"])],42,CX),ee(s(gp),null,{default:le(()=>[mt(E("div",{id:s(m),role:"region",class:O(s(h)),"aria-hidden":!s(n),"aria-labelledby":s(f)},[E("div",{class:O(s(v))},[be(_.$slots,"default")],2)],10,SX),[[Lt,s(n)]])]),_:3})],2))}});var Jw=Le(EX,[["__file","collapse-item.vue"]]);const TX=yt(bX,{CollapseItem:Jw}),$X=co(Jw),MX=Pe({color:{type:ue(Object),required:!0},vertical:{type:Boolean,default:!1}});let Pv=!1;function Lc(e,t){if(!Nt)return;const o=function(n){var a;(a=t.drag)==null||a.call(t,n)},r=function(n){var a;document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",r),document.removeEventListener("touchmove",o),document.removeEventListener("touchend",r),document.onselectstart=null,document.ondragstart=null,Pv=!1,(a=t.end)==null||a.call(t,n)},l=function(n){var a;Pv||(n.preventDefault(),document.onselectstart=()=>!1,document.ondragstart=()=>!1,document.addEventListener("mousemove",o),document.addEventListener("mouseup",r),document.addEventListener("touchmove",o),document.addEventListener("touchend",r),Pv=!0,(a=t.start)==null||a.call(t,n))};e.addEventListener("mousedown",l),e.addEventListener("touchstart",l)}const AX=e=>{const t=wt(),o=lo(),r=lo();function l(a){a.target!==o.value&&n(a)}function n(a){if(!r.value||!o.value)return;const c=t.vnode.el.getBoundingClientRect(),{clientX:d,clientY:u}=R0(a);if(e.vertical){let p=u-c.top;p=Math.max(o.value.offsetHeight/2,p),p=Math.min(p,c.height-o.value.offsetHeight/2),e.color.set("alpha",Math.round((p-o.value.offsetHeight/2)/(c.height-o.value.offsetHeight)*100))}else{let p=d-c.left;p=Math.max(o.value.offsetWidth/2,p),p=Math.min(p,c.width-o.value.offsetWidth/2),e.color.set("alpha",Math.round((p-o.value.offsetWidth/2)/(c.width-o.value.offsetWidth)*100))}}return{thumb:o,bar:r,handleDrag:n,handleClick:l}},zX=(e,{bar:t,thumb:o,handleDrag:r})=>{const l=wt(),n=ze("color-alpha-slider"),a=D(0),i=D(0),c=D();function d(){if(!o.value||e.vertical)return 0;const y=l.vnode.el,w=e.color.get("alpha");return y?Math.round(w*(y.offsetWidth-o.value.offsetWidth/2)/100):0}function u(){if(!o.value)return 0;const y=l.vnode.el;if(!e.vertical)return 0;const w=e.color.get("alpha");return y?Math.round(w*(y.offsetHeight-o.value.offsetHeight/2)/100):0}function p(){if(e.color&&e.color.value){const{r:y,g:w,b:x}=e.color.toRgb();return`linear-gradient(to right, rgba(${y}, ${w}, ${x}, 0) 0%, rgba(${y}, ${w}, ${x}, 1) 100%)`}return""}function h(){a.value=d(),i.value=u(),c.value=p()}ft(()=>{if(!t.value||!o.value)return;const y={drag:w=>{r(w)},end:w=>{r(w)}};Lc(t.value,y),Lc(o.value,y),h()}),Se(()=>e.color.get("alpha"),()=>h()),Se(()=>e.color.value,()=>h());const v=C(()=>[n.b(),n.is("vertical",e.vertical)]),m=C(()=>n.e("bar")),f=C(()=>n.e("thumb")),_=C(()=>({background:c.value})),g=C(()=>({left:mo(a.value),top:mo(i.value)}));return{rootKls:v,barKls:m,barStyle:_,thumbKls:f,thumbStyle:g,update:h}},IX=N({...N({name:"ElColorAlphaSlider"}),props:MX,setup(e,{expose:t}){const o=e,{bar:r,thumb:l,handleDrag:n,handleClick:a}=AX(o),{rootKls:i,barKls:c,barStyle:d,thumbKls:u,thumbStyle:p,update:h}=zX(o,{bar:r,thumb:l,handleDrag:n});return t({update:h,bar:r,thumb:l}),(v,m)=>(b(),M("div",{class:O(s(i))},[E("div",{ref_key:"bar",ref:r,class:O(s(c)),style:Je(s(d)),onClick:m[0]||(m[0]=(...f)=>s(a)&&s(a)(...f))},null,6),E("div",{ref_key:"thumb",ref:l,class:O(s(u)),style:Je(s(p))},null,6)],2))}});var OX=Le(IX,[["__file","alpha-slider.vue"]]);const NX=N({name:"ElColorHueSlider",props:{color:{type:Object,required:!0},vertical:Boolean},setup(e){const t=ze("color-hue-slider"),o=wt(),r=D(),l=D(),n=D(0),a=D(0),i=C(()=>e.color.get("hue"));Se(()=>i.value,()=>{h()});function c(v){v.target!==r.value&&d(v)}function d(v){if(!l.value||!r.value)return;const f=o.vnode.el.getBoundingClientRect(),{clientX:_,clientY:g}=R0(v);let y;if(e.vertical){let w=g-f.top;w=Math.min(w,f.height-r.value.offsetHeight/2),w=Math.max(r.value.offsetHeight/2,w),y=Math.round((w-r.value.offsetHeight/2)/(f.height-r.value.offsetHeight)*360)}else{let w=_-f.left;w=Math.min(w,f.width-r.value.offsetWidth/2),w=Math.max(r.value.offsetWidth/2,w),y=Math.round((w-r.value.offsetWidth/2)/(f.width-r.value.offsetWidth)*360)}e.color.set("hue",y)}function u(){if(!r.value)return 0;const v=o.vnode.el;if(e.vertical)return 0;const m=e.color.get("hue");return v?Math.round(m*(v.offsetWidth-r.value.offsetWidth/2)/360):0}function p(){if(!r.value)return 0;const v=o.vnode.el;if(!e.vertical)return 0;const m=e.color.get("hue");return v?Math.round(m*(v.offsetHeight-r.value.offsetHeight/2)/360):0}function h(){n.value=u(),a.value=p()}return ft(()=>{if(!l.value||!r.value)return;const v={drag:m=>{d(m)},end:m=>{d(m)}};Lc(l.value,v),Lc(r.value,v),h()}),{bar:l,thumb:r,thumbLeft:n,thumbTop:a,hueValue:i,handleClick:c,update:h,ns:t}}});function PX(e,t,o,r,l,n){return b(),M("div",{class:O([e.ns.b(),e.ns.is("vertical",e.vertical)])},[E("div",{ref:"bar",class:O(e.ns.e("bar")),onClick:t[0]||(t[0]=(...a)=>e.handleClick&&e.handleClick(...a))},null,2),E("div",{ref:"thumb",class:O(e.ns.e("thumb")),style:Je({left:e.thumbLeft+"px",top:e.thumbTop+"px"})},null,6)],2)}var RX=Le(NX,[["render",PX],["__file","hue-slider.vue"]]);const LX=Pe({modelValue:String,id:String,showAlpha:Boolean,colorFormat:String,disabled:Boolean,size:Oo,popperClass:{type:String,default:""},label:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},teleported:Uo.teleported,predefine:{type:ue(Array)},validateEvent:{type:Boolean,default:!0},...Zo(["ariaLabel"])}),BX={[St]:e=>ut(e)||jo(e),[ro]:e=>ut(e)||jo(e),activeChange:e=>ut(e)||jo(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent},Qw=Symbol("colorPickerContextKey"),ey=function(e,t,o){return[e,t*o/((e=(2-t)*o)<1?e:2-e)||0,e/2]},VX=function(e){return typeof e=="string"&&e.includes(".")&&Number.parseFloat(e)===1},DX=function(e){return typeof e=="string"&&e.includes("%")},rs=function(e,t){VX(e)&&(e="100%");const o=DX(e);return e=Math.min(t,Math.max(0,Number.parseFloat(`${e}`))),o&&(e=Number.parseInt(`${e*t}`,10)/100),Math.abs(e-t)<1e-6?1:e%t/Number.parseFloat(t)},ty={10:"A",11:"B",12:"C",13:"D",14:"E",15:"F"},bp=e=>{e=Math.min(Math.round(e),255);const t=Math.floor(e/16),o=e%16;return`${ty[t]||t}${ty[o]||o}`},oy=function({r:e,g:t,b:o}){return Number.isNaN(+e)||Number.isNaN(+t)||Number.isNaN(+o)?"":`#${bp(e)}${bp(t)}${bp(o)}`},Rv={A:10,B:11,C:12,D:13,E:14,F:15},Xa=function(e){return e.length===2?(Rv[e[0].toUpperCase()]||+e[0])*16+(Rv[e[1].toUpperCase()]||+e[1]):Rv[e[1].toUpperCase()]||+e[1]},HX=function(e,t,o){t=t/100,o=o/100;let r=t;const l=Math.max(o,.01);o*=2,t*=o<=1?o:2-o,r*=l<=1?l:2-l;const n=(o+t)/2,a=o===0?2*r/(l+r):2*t/(o+t);return{h:e,s:a*100,v:n*100}},ry=(e,t,o)=>{e=rs(e,255),t=rs(t,255),o=rs(o,255);const r=Math.max(e,t,o),l=Math.min(e,t,o);let n;const a=r,i=r-l,c=r===0?0:i/r;if(r===l)n=0;else{switch(r){case e:{n=(t-o)/i+(t{this._hue=Math.max(0,Math.min(360,r)),this._saturation=Math.max(0,Math.min(100,l)),this._value=Math.max(0,Math.min(100,n)),this.doOnChange()};if(t.includes("hsl")){const r=t.replace(/hsla|hsl|\(|\)/gm,"").split(/\s|,/g).filter(l=>l!=="").map((l,n)=>n>2?Number.parseFloat(l):Number.parseInt(l,10));if(r.length===4?this._alpha=Number.parseFloat(r[3])*100:r.length===3&&(this._alpha=100),r.length>=3){const{h:l,s:n,v:a}=HX(r[0],r[1],r[2]);o(l,n,a)}}else if(t.includes("hsv")){const r=t.replace(/hsva|hsv|\(|\)/gm,"").split(/\s|,/g).filter(l=>l!=="").map((l,n)=>n>2?Number.parseFloat(l):Number.parseInt(l,10));r.length===4?this._alpha=Number.parseFloat(r[3])*100:r.length===3&&(this._alpha=100),r.length>=3&&o(r[0],r[1],r[2])}else if(t.includes("rgb")){const r=t.replace(/rgba|rgb|\(|\)/gm,"").split(/\s|,/g).filter(l=>l!=="").map((l,n)=>n>2?Number.parseFloat(l):Number.parseInt(l,10));if(r.length===4?this._alpha=Number.parseFloat(r[3])*100:r.length===3&&(this._alpha=100),r.length>=3){const{h:l,s:n,v:a}=ry(r[0],r[1],r[2]);o(l,n,a)}}else if(t.includes("#")){const r=t.replace("#","").trim();if(!/^[0-9a-fA-F]{3}$|^[0-9a-fA-F]{6}$|^[0-9a-fA-F]{8}$/.test(r))return;let l,n,a;r.length===3?(l=Xa(r[0]+r[0]),n=Xa(r[1]+r[1]),a=Xa(r[2]+r[2])):(r.length===6||r.length===8)&&(l=Xa(r.slice(0,2)),n=Xa(r.slice(2,4)),a=Xa(r.slice(4,6))),r.length===8?this._alpha=Xa(r.slice(6))/255*100:(r.length===3||r.length===6)&&(this._alpha=100);const{h:i,s:c,v:d}=ry(l,n,a);o(i,c,d)}}compare(t){return Math.abs(t._hue-this._hue)<2&&Math.abs(t._saturation-this._saturation)<1&&Math.abs(t._value-this._value)<1&&Math.abs(t._alpha-this._alpha)<1}doOnChange(){const{_hue:t,_saturation:o,_value:r,_alpha:l,format:n}=this;if(this.enableAlpha)switch(n){case"hsl":{const a=ey(t,o/100,r/100);this.value=`hsla(${t}, ${Math.round(a[1]*100)}%, ${Math.round(a[2]*100)}%, ${this.get("alpha")/100})`;break}case"hsv":{this.value=`hsva(${t}, ${Math.round(o)}%, ${Math.round(r)}%, ${this.get("alpha")/100})`;break}case"hex":{this.value=`${oy(Bc(t,o,r))}${bp(l*255/100)}`;break}default:{const{r:a,g:i,b:c}=Bc(t,o,r);this.value=`rgba(${a}, ${i}, ${c}, ${this.get("alpha")/100})`}}else switch(n){case"hsl":{const a=ey(t,o/100,r/100);this.value=`hsl(${t}, ${Math.round(a[1]*100)}%, ${Math.round(a[2]*100)}%)`;break}case"hsv":{this.value=`hsv(${t}, ${Math.round(o)}%, ${Math.round(r)}%)`;break}case"rgb":{const{r:a,g:i,b:c}=Bc(t,o,r);this.value=`rgb(${a}, ${i}, ${c})`;break}default:this.value=oy(Bc(t,o,r))}}}const FX=N({props:{colors:{type:Array,required:!0},color:{type:Object,required:!0},enableAlpha:{type:Boolean,required:!0}},setup(e){const t=ze("color-predefine"),{currentColor:o}=Ge(Qw),r=D(n(e.colors,e.color));Se(()=>o.value,a=>{const i=new Vc;i.fromString(a),r.value.forEach(c=>{c.selected=i.compare(c)})}),Go(()=>{r.value=n(e.colors,e.color)});function l(a){e.color.fromString(e.colors[a])}function n(a,i){return a.map(c=>{const d=new Vc;return d.enableAlpha=e.enableAlpha,d.format="rgba",d.fromString(c),d.selected=d.value===i.value,d})}return{rgbaColors:r,handleSelect:l,ns:t}}}),jX=["onClick"];function KX(e,t,o,r,l,n){return b(),M("div",{class:O(e.ns.b())},[E("div",{class:O(e.ns.e("colors"))},[(b(!0),M(Qe,null,It(e.rgbaColors,(a,i)=>(b(),M("div",{key:e.colors[i],class:O([e.ns.e("color-selector"),e.ns.is("alpha",a._alpha<100),{selected:a.selected}]),onClick:c=>e.handleSelect(i)},[E("div",{style:Je({backgroundColor:a.value})},null,4)],10,jX))),128))],2)],2)}var UX=Le(FX,[["render",KX],["__file","predefine.vue"]]);const WX=N({name:"ElSlPanel",props:{color:{type:Object,required:!0}},setup(e){const t=ze("color-svpanel"),o=wt(),r=D(0),l=D(0),n=D("hsl(0, 100%, 50%)"),a=C(()=>{const d=e.color.get("hue"),u=e.color.get("value");return{hue:d,value:u}});function i(){const d=e.color.get("saturation"),u=e.color.get("value"),p=o.vnode.el,{clientWidth:h,clientHeight:v}=p;l.value=d*h/100,r.value=(100-u)*v/100,n.value=`hsl(${e.color.get("hue")}, 100%, 50%)`}function c(d){const p=o.vnode.el.getBoundingClientRect(),{clientX:h,clientY:v}=R0(d);let m=h-p.left,f=v-p.top;m=Math.max(0,m),m=Math.min(m,p.width),f=Math.max(0,f),f=Math.min(f,p.height),l.value=m,r.value=f,e.color.set({saturation:m/p.width*100,value:100-f/p.height*100})}return Se(()=>a.value,()=>{i()}),ft(()=>{Lc(o.vnode.el,{drag:d=>{c(d)},end:d=>{c(d)}}),i()}),{cursorTop:r,cursorLeft:l,background:n,colorValue:a,handleDrag:c,update:i,ns:t}}}),qX=[E("div",null,null,-1)];function YX(e,t,o,r,l,n){return b(),M("div",{class:O(e.ns.b()),style:Je({backgroundColor:e.background})},[E("div",{class:O(e.ns.e("white"))},null,2),E("div",{class:O(e.ns.e("black"))},null,2),E("div",{class:O(e.ns.e("cursor")),style:Je({top:e.cursorTop+"px",left:e.cursorLeft+"px"})},qX,6)],6)}var GX=Le(WX,[["render",YX],["__file","sv-panel.vue"]]);const XX=["onKeydown"],ZX=["id","aria-label","aria-labelledby","aria-description","aria-disabled","tabindex"],JX=N({...N({name:"ElColorPicker"}),props:LX,emits:BX,setup(e,{expose:t,emit:o}){const r=e,{t:l}=Rt(),n=ze("color"),{formItem:a}=sr(),i=So(),c=xr(),{inputId:d,isLabeledByFormItem:u}=bl(r,{formItemContext:a}),p=D(),h=D(),v=D(),m=D(),f=D(),_=D(),{isFocused:g,handleFocus:y,handleBlur:w}=Ud(f,{beforeBlur(Ce){var Ee;return(Ee=m.value)==null?void 0:Ee.isFocusInsideContent(Ce)},afterBlur(){H(!1),U()}}),x=Ce=>{if(c.value)return Re();y(Ce)};let $=!0;const T=Dt(new Vc({enableAlpha:r.showAlpha,format:r.colorFormat||"",value:r.modelValue})),R=D(!1),P=D(!1),L=D(""),V=C(()=>!r.modelValue&&!P.value?"transparent":Z(T,r.showAlpha)),B=C(()=>!r.modelValue&&!P.value?"":T.value),j=C(()=>u.value?void 0:r.label||r.ariaLabel||l("el.colorpicker.defaultLabel"));Lo({from:"label",replacement:"aria-label",version:"2.8.0",scope:"el-color-picker",ref:"https://element-plus.org/en-US/component/color-picker.html"},C(()=>!!r.label));const te=C(()=>u.value?a==null?void 0:a.labelId:void 0),J=C(()=>[n.b("picker"),n.is("disabled",c.value),n.bm("picker",i.value),n.is("focused",g.value)]);function Z(Ce,Ee){if(!(Ce instanceof Vc))throw new TypeError("color should be instance of _color Class");const{r:De,g:ae,b:pe}=Ce.toRgb();return Ee?`rgba(${De}, ${ae}, ${pe}, ${Ce.get("alpha")/100})`:`rgb(${De}, ${ae}, ${pe})`}function H(Ce){R.value=Ce}const F=Mr(H,100,{leading:!0});function K(){c.value||H(!0)}function I(){F(!1),U()}function U(){et(()=>{r.modelValue?T.fromString(r.modelValue):(T.value="",et(()=>{P.value=!1}))})}function oe(){c.value||F(!R.value)}function ne(){T.fromString(L.value)}function ce(){const Ce=T.value;o(St,Ce),o("change",Ce),r.validateEvent&&(a==null||a.validate("change").catch(Ee=>void 0)),F(!1),et(()=>{const Ee=new Vc({enableAlpha:r.showAlpha,format:r.colorFormat||"",value:r.modelValue});T.compare(Ee)||U()})}function Q(){F(!1),o(St,null),o("change",null),r.modelValue!==null&&r.validateEvent&&(a==null||a.validate("change").catch(Ce=>void 0)),U()}function Me(Ce){if(R.value&&(I(),g.value)){const Ee=new FocusEvent("focus",Ce);w(Ee)}}function de(Ce){Ce.preventDefault(),Ce.stopPropagation(),H(!1),U()}function _e(Ce){switch(Ce.code){case lt.enter:case lt.space:Ce.preventDefault(),Ce.stopPropagation(),K(),_.value.focus();break;case lt.esc:de(Ce);break}}function me(){f.value.focus()}function Re(){f.value.blur()}return ft(()=>{r.modelValue&&(L.value=B.value)}),Se(()=>r.modelValue,Ce=>{Ce?Ce&&Ce!==T.value&&($=!1,T.fromString(Ce)):P.value=!1}),Se(()=>B.value,Ce=>{L.value=Ce,$&&o("activeChange",Ce),$=!0}),Se(()=>T.value,()=>{!r.modelValue&&!P.value&&(P.value=!0)}),Se(()=>R.value,()=>{et(()=>{var Ce,Ee,De;(Ce=p.value)==null||Ce.update(),(Ee=h.value)==null||Ee.update(),(De=v.value)==null||De.update()})}),zt(Qw,{currentColor:B}),t({color:T,show:K,hide:I,focus:me,blur:Re}),(Ce,Ee)=>(b(),he(s(ur),{ref_key:"popper",ref:m,visible:R.value,"show-arrow":!1,"fallback-placements":["bottom","top","right","left"],offset:0,"gpu-acceleration":!1,"popper-class":[s(n).be("picker","panel"),s(n).b("dropdown"),Ce.popperClass],"stop-popper-mouse-event":!1,effect:"light",trigger:"click",teleported:Ce.teleported,transition:`${s(n).namespace.value}-zoom-in-top`,persistent:"",onHide:Ee[2]||(Ee[2]=De=>H(!1))},{content:le(()=>[mt((b(),M("div",{onKeydown:Gt(de,["esc"])},[E("div",{class:O(s(n).be("dropdown","main-wrapper"))},[ee(RX,{ref_key:"hue",ref:p,class:"hue-slider",color:s(T),vertical:""},null,8,["color"]),ee(GX,{ref_key:"sv",ref:h,color:s(T)},null,8,["color"])],2),Ce.showAlpha?(b(),he(OX,{key:0,ref_key:"alpha",ref:v,color:s(T)},null,8,["color"])):se("v-if",!0),Ce.predefine?(b(),he(UX,{key:1,ref:"predefine","enable-alpha":Ce.showAlpha,color:s(T),colors:Ce.predefine},null,8,["enable-alpha","color","colors"])):se("v-if",!0),E("div",{class:O(s(n).be("dropdown","btns"))},[E("span",{class:O(s(n).be("dropdown","value"))},[ee(s(cr),{ref_key:"inputRef",ref:_,modelValue:L.value,"onUpdate:modelValue":Ee[0]||(Ee[0]=De=>L.value=De),"validate-event":!1,size:"small",onKeyup:Gt(ne,["enter"]),onBlur:ne},null,8,["modelValue","onKeyup"])],2),ee(s(Wo),{class:O(s(n).be("dropdown","link-btn")),text:"",size:"small",onClick:Q},{default:le(()=>[Ct($e(s(l)("el.colorpicker.clear")),1)]),_:1},8,["class"]),ee(s(Wo),{plain:"",size:"small",class:O(s(n).be("dropdown","btn")),onClick:ce},{default:le(()=>[Ct($e(s(l)("el.colorpicker.confirm")),1)]),_:1},8,["class"])],2)],40,XX)),[[s(xn),Me]])]),default:le(()=>[E("div",Mt({id:s(d),ref_key:"triggerRef",ref:f},Ce.$attrs,{class:s(J),role:"button","aria-label":s(j),"aria-labelledby":s(te),"aria-description":s(l)("el.colorpicker.description",{color:Ce.modelValue||""}),"aria-disabled":s(c),tabindex:s(c)?-1:Ce.tabindex,onKeydown:_e,onFocus:x,onBlur:Ee[1]||(Ee[1]=(...De)=>s(w)&&s(w)(...De))}),[s(c)?(b(),M("div",{key:0,class:O(s(n).be("picker","mask"))},null,2)):se("v-if",!0),E("div",{class:O(s(n).be("picker","trigger")),onClick:oe},[E("span",{class:O([s(n).be("picker","color"),s(n).is("alpha",Ce.showAlpha)])},[E("span",{class:O(s(n).be("picker","color-inner")),style:Je({backgroundColor:s(V)})},[mt(ee(s(Ze),{class:O([s(n).be("picker","icon"),s(n).is("icon-arrow-down")])},{default:le(()=>[ee(s(Pl))]),_:1},8,["class"]),[[Lt,Ce.modelValue||P.value]]),mt(ee(s(Ze),{class:O([s(n).be("picker","empty"),s(n).is("icon-close")])},{default:le(()=>[ee(s(Jr))]),_:1},8,["class"]),[[Lt,!Ce.modelValue&&!P.value]])],6)],2)],2)],16,ZX)]),_:1},8,["visible","popper-class","teleported","transition"]))}});var QX=Le(JX,[["__file","color-picker.vue"]]);const eZ=yt(QX),tZ=N({...N({name:"ElContainer"}),props:{direction:{type:String}},setup(e){const t=e,o=Do(),r=ze("container"),l=C(()=>t.direction==="vertical"?!0:t.direction==="horizontal"?!1:o&&o.default?o.default().some(a=>{const i=a.type.name;return i==="ElHeader"||i==="ElFooter"}):!1);return(n,a)=>(b(),M("section",{class:O([s(r).b(),s(r).is("vertical",s(l))])},[be(n.$slots,"default")],2))}});var oZ=Le(tZ,[["__file","container.vue"]]);const rZ=N({...N({name:"ElAside"}),props:{width:{type:String,default:null}},setup(e){const t=e,o=ze("aside"),r=C(()=>t.width?o.cssVarBlock({width:t.width}):{});return(l,n)=>(b(),M("aside",{class:O(s(o).b()),style:Je(s(r))},[be(l.$slots,"default")],6))}});var ly=Le(rZ,[["__file","aside.vue"]]);const lZ=N({...N({name:"ElFooter"}),props:{height:{type:String,default:null}},setup(e){const t=e,o=ze("footer"),r=C(()=>t.height?o.cssVarBlock({height:t.height}):{});return(l,n)=>(b(),M("footer",{class:O(s(o).b()),style:Je(s(r))},[be(l.$slots,"default")],6))}});var ny=Le(lZ,[["__file","footer.vue"]]);const nZ=N({...N({name:"ElHeader"}),props:{height:{type:String,default:null}},setup(e){const t=e,o=ze("header"),r=C(()=>t.height?o.cssVarBlock({height:t.height}):{});return(l,n)=>(b(),M("header",{class:O(s(o).b()),style:Je(s(r))},[be(l.$slots,"default")],6))}});var ay=Le(nZ,[["__file","header.vue"]]);const aZ=N({...N({name:"ElMain"}),setup(e){const t=ze("main");return(o,r)=>(b(),M("main",{class:O(s(t).b())},[be(o.$slots,"default")],2))}});var iy=Le(aZ,[["__file","main.vue"]]);const iZ=yt(oZ,{Aside:ly,Footer:ny,Header:ay,Main:iy}),sZ=co(ly),cZ=co(ny),uZ=co(ay),dZ=co(iy);var sy={exports:{}};(function(e,t){(function(o,r){e.exports=r()})(Ao,function(){return function(o,r){var l=r.prototype,n=l.format;l.format=function(a){var i=this,c=this.$locale();if(!this.isValid())return n.bind(this)(a);var d=this.$utils(),u=(a||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(p){switch(p){case"Q":return Math.ceil((i.$M+1)/3);case"Do":return c.ordinal(i.$D);case"gggg":return i.weekYear();case"GGGG":return i.isoWeekYear();case"wo":return c.ordinal(i.week(),"W");case"w":case"ww":return d.s(i.week(),p==="w"?1:2,"0");case"W":case"WW":return d.s(i.isoWeek(),p==="W"?1:2,"0");case"k":case"kk":return d.s(String(i.$H===0?24:i.$H),p==="k"?1:2,"0");case"X":return Math.floor(i.$d.getTime()/1e3);case"x":return i.$d.getTime();case"z":return"["+i.offsetName()+"]";case"zzz":return"["+i.offsetName("long")+"]";default:return p}});return n.bind(this)(u)}}})})(sy);var pZ=sy.exports;const fZ=cl(pZ);var cy={exports:{}};(function(e,t){(function(o,r){e.exports=r()})(Ao,function(){var o="week",r="year";return function(l,n,a){var i=n.prototype;i.week=function(c){if(c===void 0&&(c=null),c!==null)return this.add(7*(c-this.week()),"day");var d=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var u=a(this).startOf(r).add(1,r).date(d),p=a(this).endOf(o);if(u.isBefore(p))return 1}var h=a(this).startOf(r).date(d).startOf(o).subtract(1,"millisecond"),v=this.diff(h,o,!0);return v<0?a(this).startOf("week").week():Math.ceil(v)},i.weeks=function(c){return c===void 0&&(c=null),this.week(c)}}})})(cy);var hZ=cy.exports;const vZ=cl(hZ);var uy={exports:{}};(function(e,t){(function(o,r){e.exports=r()})(Ao,function(){return function(o,r){r.prototype.weekYear=function(){var l=this.month(),n=this.week(),a=this.year();return n===1&&l===11?a+1:l===0&&n>=52?a-1:a}}})})(uy);var mZ=uy.exports;const gZ=cl(mZ);var dy={exports:{}};(function(e,t){(function(o,r){e.exports=r()})(Ao,function(){return function(o,r,l){r.prototype.dayOfYear=function(n){var a=Math.round((l(this).startOf("day")-l(this).startOf("year"))/864e5)+1;return n==null?a:this.add(n-a,"day")}}})})(dy);var bZ=dy.exports;const _Z=cl(bZ);var py={exports:{}};(function(e,t){(function(o,r){e.exports=r()})(Ao,function(){return function(o,r){r.prototype.isSameOrAfter=function(l,n){return this.isSame(l,n)||this.isAfter(l,n)}}})})(py);var wZ=py.exports;const yZ=cl(wZ);var fy={exports:{}};(function(e,t){(function(o,r){e.exports=r()})(Ao,function(){return function(o,r){r.prototype.isSameOrBefore=function(l,n){return this.isSame(l,n)||this.isBefore(l,n)}}})})(fy);var xZ=fy.exports;const kZ=cl(xZ),Lv=Symbol(),CZ=Pe({...wv,type:{type:ue(String),default:"date"}}),SZ=["date","dates","year","years","month","week","range"],Bv=Pe({disabledDate:{type:ue(Function)},date:{type:ue(Object),required:!0},minDate:{type:ue(Object)},maxDate:{type:ue(Object)},parsedValue:{type:ue([Object,Array])},rangeState:{type:ue(Object),default:()=>({endDate:null,selecting:!1})}}),hy=Pe({type:{type:ue(String),required:!0,values:nF},dateFormat:String,timeFormat:String}),vy=Pe({unlinkPanels:Boolean,parsedValue:{type:ue(Array)}}),Vv=e=>({type:String,values:SZ,default:e}),EZ=Pe({...hy,parsedValue:{type:ue([Object,Array])},visible:{type:Boolean},format:{type:String,default:""}}),TZ=Pe({...Bv,cellClassName:{type:ue(Function)},showWeekNumber:Boolean,selectionMode:Vv("date")}),$Z=["changerange","pick","select"],Dv=e=>{if(!Ke(e))return!1;const[t,o]=e;return kt.isDayjs(t)&&kt.isDayjs(o)&&t.isSameOrBefore(o)},my=(e,{lang:t,unit:o,unlinkPanels:r})=>{let l;if(Ke(e)){let[n,a]=e.map(i=>kt(i).locale(t));return r||(a=n.add(1,o)),[n,a]}else e?l=kt(e):l=kt();return l=l.locale(t),[l,l.add(1,o)]},MZ=(e,t,{columnIndexOffset:o,startDate:r,nextEndDate:l,now:n,unit:a,relativeDateGetter:i,setCellMetadata:c,setRowMetadata:d})=>{for(let u=0;u["normal","today"].includes(e),AZ=(e,t)=>{const{lang:o}=Rt(),r=D(),l=D(),n=D(),a=D(),i=D([[],[],[],[],[],[]]);let c=!1;const d=e.date.$locale().weekStart||7,u=e.date.locale("en").localeData().weekdaysShort().map(I=>I.toLowerCase()),p=C(()=>d>3?7-d:-d),h=C(()=>{const I=e.date.startOf("month");return I.subtract(I.day()||7,"day")}),v=C(()=>u.concat(u).slice(d,d+7)),m=C(()=>P_(s(x)).some(I=>I.isCurrent)),f=C(()=>{const I=e.date.startOf("month"),U=I.day()||7,oe=I.daysInMonth(),ne=I.subtract(1,"month").daysInMonth();return{startOfMonthDay:U,dateCountOfMonth:oe,dateCountOfLastMonth:ne}}),_=C(()=>e.selectionMode==="dates"?Lr(e.parsedValue):[]),g=(I,{count:U,rowIndex:oe,columnIndex:ne})=>{const{startOfMonthDay:ce,dateCountOfMonth:Q,dateCountOfLastMonth:Me}=s(f),de=s(p);if(oe>=0&&oe<=1){const _e=ce+de<0?7+ce+de:ce+de;if(ne+oe*7>=_e)return I.text=U,!0;I.text=Me-(_e-ne%7)+1+oe*7,I.type="prev-month"}else return U<=Q?I.text=U:(I.text=U-Q,I.type="next-month"),!0;return!1},y=(I,{columnIndex:U,rowIndex:oe},ne)=>{const{disabledDate:ce,cellClassName:Q}=e,Me=s(_),de=g(I,{count:ne,rowIndex:oe,columnIndex:U}),_e=I.dayjs.toDate();return I.selected=Me.find(me=>me.isSame(I.dayjs,"day")),I.isSelected=!!I.selected,I.isCurrent=T(I),I.disabled=ce==null?void 0:ce(_e),I.customClass=Q==null?void 0:Q(_e),de},w=I=>{if(e.selectionMode==="week"){const[U,oe]=e.showWeekNumber?[1,7]:[0,6],ne=K(I[U+1]);I[U].inRange=ne,I[U].start=ne,I[oe].inRange=ne,I[oe].end=ne}},x=C(()=>{const{minDate:I,maxDate:U,rangeState:oe,showWeekNumber:ne}=e,ce=s(p),Q=s(i),Me="day";let de=1;if(ne)for(let _e=0;_e<6;_e++)Q[_e][0]||(Q[_e][0]={type:"week",text:s(h).add(_e*7+1,Me).week()});return MZ({row:6,column:7},Q,{startDate:I,columnIndexOffset:ne?1:0,nextEndDate:oe.endDate||U||oe.selecting&&I||null,now:kt().locale(s(o)).startOf(Me),unit:Me,relativeDateGetter:_e=>s(h).add(_e-ce,Me),setCellMetadata:(..._e)=>{y(..._e,de)&&(de+=1)},setRowMetadata:w}),Q});Se(()=>e.date,async()=>{var I;(I=s(r))!=null&&I.contains(document.activeElement)&&(await et(),await $())});const $=async()=>{var I;return(I=s(l))==null?void 0:I.focus()},T=I=>e.selectionMode==="date"&&Hv(I.type)&&R(I,e.parsedValue),R=(I,U)=>U?kt(U).locale(s(o)).isSame(e.date.date(Number(I.text)),"day"):!1,P=(I,U)=>{const oe=I*7+(U-(e.showWeekNumber?1:0))-s(p);return s(h).add(oe,"day")},L=I=>{var U;if(!e.rangeState.selecting)return;let oe=I.target;if(oe.tagName==="SPAN"&&(oe=(U=oe.parentNode)==null?void 0:U.parentNode),oe.tagName==="DIV"&&(oe=oe.parentNode),oe.tagName!=="TD")return;const ne=oe.parentNode.rowIndex-1,ce=oe.cellIndex;s(x)[ne][ce].disabled||(ne!==s(n)||ce!==s(a))&&(n.value=ne,a.value=ce,t("changerange",{selecting:!0,endDate:P(ne,ce)}))},V=I=>!s(m)&&(I==null?void 0:I.text)===1&&I.type==="normal"||I.isCurrent,B=I=>{c||s(m)||e.selectionMode!=="date"||F(I,!0)},j=I=>{I.target.closest("td")&&(c=!0)},te=I=>{I.target.closest("td")&&(c=!1)},J=I=>{!e.rangeState.selecting||!e.minDate?(t("pick",{minDate:I,maxDate:null}),t("select",!0)):(I>=e.minDate?t("pick",{minDate:e.minDate,maxDate:I}):t("pick",{minDate:I,maxDate:e.minDate}),t("select",!1))},Z=I=>{const U=I.week(),oe=`${I.year()}w${U}`;t("pick",{year:I.year(),week:U,value:oe,date:I.startOf("week")})},H=(I,U)=>{const oe=U?Lr(e.parsedValue).filter(ne=>(ne==null?void 0:ne.valueOf())!==I.valueOf()):Lr(e.parsedValue).concat([I]);t("pick",oe)},F=(I,U=!1)=>{const oe=I.target.closest("td");if(!oe)return;const ne=oe.parentNode.rowIndex-1,ce=oe.cellIndex,Q=s(x)[ne][ce];if(Q.disabled||Q.type==="week")return;const Me=P(ne,ce);switch(e.selectionMode){case"range":{J(Me);break}case"date":{t("pick",Me,U);break}case"week":{Z(Me);break}case"dates":{H(Me,!!Q.selected);break}}},K=I=>{if(e.selectionMode!=="week")return!1;let U=e.date.startOf("day");if(I.type==="prev-month"&&(U=U.subtract(1,"month")),I.type==="next-month"&&(U=U.add(1,"month")),U=U.date(Number.parseInt(I.text,10)),e.parsedValue&&!Array.isArray(e.parsedValue)){const oe=(e.parsedValue.day()-d+7)%7-1;return e.parsedValue.subtract(oe,"day").isSame(U,"day")}return!1};return{WEEKS:v,rows:x,tbodyRef:r,currentCellRef:l,focus:$,isCurrent:T,isWeekActive:K,isSelectedCell:V,handlePickDate:F,handleMouseUp:te,handleMouseDown:j,handleMouseMove:L,handleFocus:B}},zZ=(e,{isCurrent:t,isWeekActive:o})=>{const r=ze("date-table"),{t:l}=Rt(),n=C(()=>[r.b(),{"is-week-mode":e.selectionMode==="week"}]),a=C(()=>l("el.datepicker.dateTablePrompt")),i=C(()=>l("el.datepicker.week"));return{tableKls:n,tableLabel:a,weekLabel:i,getCellClasses:u=>{const p=[];return Hv(u.type)&&!u.disabled?(p.push("available"),u.type==="today"&&p.push("today")):p.push(u.type),t(u)&&p.push("current"),u.inRange&&(Hv(u.type)||e.selectionMode==="week")&&(p.push("in-range"),u.start&&p.push("start-date"),u.end&&p.push("end-date")),u.disabled&&p.push("disabled"),u.selected&&p.push("selected"),u.customClass&&p.push(u.customClass),p.join(" ")},getRowKls:u=>[r.e("row"),{current:o(u)}],t:l}},IZ=Pe({cell:{type:ue(Object)}});var OZ=N({name:"ElDatePickerCell",props:IZ,setup(e){const t=ze("date-table-cell"),{slots:o}=Ge(Lv);return()=>{const{cell:r}=e;return be(o,"default",{...r},()=>[ee("div",{class:t.b()},[ee("span",{class:t.e("text")},[r==null?void 0:r.text])])])}}});const NZ=["aria-label"],PZ={key:0,scope:"col"},RZ=["aria-label"],LZ=["aria-current","aria-selected","tabindex"];var Fv=Le(N({__name:"basic-date-table",props:TZ,emits:$Z,setup(e,{expose:t,emit:o}){const r=e,{WEEKS:l,rows:n,tbodyRef:a,currentCellRef:i,focus:c,isCurrent:d,isWeekActive:u,isSelectedCell:p,handlePickDate:h,handleMouseUp:v,handleMouseDown:m,handleMouseMove:f,handleFocus:_}=AZ(r,o),{tableLabel:g,tableKls:y,weekLabel:w,getCellClasses:x,getRowKls:$,t:T}=zZ(r,{isCurrent:d,isWeekActive:u});return t({focus:c}),(R,P)=>(b(),M("table",{"aria-label":s(g),class:O(s(y)),cellspacing:"0",cellpadding:"0",role:"grid",onClick:P[1]||(P[1]=(...L)=>s(h)&&s(h)(...L)),onMousemove:P[2]||(P[2]=(...L)=>s(f)&&s(f)(...L)),onMousedown:P[3]||(P[3]=ct((...L)=>s(m)&&s(m)(...L),["prevent"])),onMouseup:P[4]||(P[4]=(...L)=>s(v)&&s(v)(...L))},[E("tbody",{ref_key:"tbodyRef",ref:a},[E("tr",null,[R.showWeekNumber?(b(),M("th",PZ,$e(s(w)),1)):se("v-if",!0),(b(!0),M(Qe,null,It(s(l),(L,V)=>(b(),M("th",{key:V,"aria-label":s(T)("el.datepicker.weeksFull."+L),scope:"col"},$e(s(T)("el.datepicker.weeks."+L)),9,RZ))),128))]),(b(!0),M(Qe,null,It(s(n),(L,V)=>(b(),M("tr",{key:V,class:O(s($)(L[1]))},[(b(!0),M(Qe,null,It(L,(B,j)=>(b(),M("td",{key:`${V}.${j}`,ref_for:!0,ref:te=>s(p)(B)&&(i.value=te),class:O(s(x)(B)),"aria-current":B.isCurrent?"date":void 0,"aria-selected":B.isCurrent,tabindex:s(p)(B)?0:-1,onFocus:P[0]||(P[0]=(...te)=>s(_)&&s(_)(...te))},[ee(s(OZ),{cell:B},null,8,["cell"])],42,LZ))),128))],2))),128))],512)],42,NZ))}}),[["__file","basic-date-table.vue"]]);const BZ=Pe({...Bv,selectionMode:Vv("month")}),VZ=["aria-label"],DZ=["aria-selected","aria-label","tabindex","onKeydown"],HZ={class:"cell"};var jv=Le(N({__name:"basic-month-table",props:BZ,emits:["changerange","pick","select"],setup(e,{expose:t,emit:o}){const r=e,l=(x,$,T)=>{const R=kt().locale(T).startOf("month").month($).year(x),P=R.daysInMonth();return aa(P).map(L=>R.add(L,"day").toDate())},n=ze("month-table"),{t:a,lang:i}=Rt(),c=D(),d=D(),u=D(r.date.locale("en").localeData().monthsShort().map(x=>x.toLowerCase())),p=D([[],[],[]]),h=D(),v=D(),m=C(()=>{var x,$;const T=p.value,R=kt().locale(i.value).startOf("month");for(let P=0;P<3;P++){const L=T[P];for(let V=0;V<4;V++){const B=L[V]||(L[V]={row:P,column:V,type:"normal",inRange:!1,start:!1,end:!1,text:-1,disabled:!1});B.type="normal";const j=P*4+V,te=r.date.startOf("year").month(j),J=r.rangeState.endDate||r.maxDate||r.rangeState.selecting&&r.minDate||null;B.inRange=!!(r.minDate&&te.isSameOrAfter(r.minDate,"month")&&J&&te.isSameOrBefore(J,"month"))||!!(r.minDate&&te.isSameOrBefore(r.minDate,"month")&&J&&te.isSameOrAfter(J,"month")),(x=r.minDate)!=null&&x.isSameOrAfter(J)?(B.start=!!(J&&te.isSame(J,"month")),B.end=r.minDate&&te.isSame(r.minDate,"month")):(B.start=!!(r.minDate&&te.isSame(r.minDate,"month")),B.end=!!(J&&te.isSame(J,"month"))),R.isSame(te)&&(B.type="today"),B.text=j,B.disabled=(($=r.disabledDate)==null?void 0:$.call(r,te.toDate()))||!1}}return T}),f=()=>{var x;(x=d.value)==null||x.focus()},_=x=>{const $={},T=r.date.year(),R=new Date,P=x.text;return $.disabled=r.disabledDate?l(T,P,i.value).every(r.disabledDate):!1,$.current=Lr(r.parsedValue).findIndex(L=>kt.isDayjs(L)&&L.year()===T&&L.month()===P)>=0,$.today=R.getFullYear()===T&&R.getMonth()===P,x.inRange&&($["in-range"]=!0,x.start&&($["start-date"]=!0),x.end&&($["end-date"]=!0)),$},g=x=>{const $=r.date.year(),T=x.text;return Lr(r.date).findIndex(R=>R.year()===$&&R.month()===T)>=0},y=x=>{var $;if(!r.rangeState.selecting)return;let T=x.target;if(T.tagName==="SPAN"&&(T=($=T.parentNode)==null?void 0:$.parentNode),T.tagName==="DIV"&&(T=T.parentNode),T.tagName!=="TD")return;const R=T.parentNode.rowIndex,P=T.cellIndex;m.value[R][P].disabled||(R!==h.value||P!==v.value)&&(h.value=R,v.value=P,o("changerange",{selecting:!0,endDate:r.date.startOf("year").month(R*4+P)}))},w=x=>{var $;const T=($=x.target)==null?void 0:$.closest("td");if((T==null?void 0:T.tagName)!=="TD"||Xr(T,"disabled"))return;const R=T.cellIndex,L=T.parentNode.rowIndex*4+R,V=r.date.startOf("year").month(L);r.selectionMode==="range"?r.rangeState.selecting?(r.minDate&&V>=r.minDate?o("pick",{minDate:r.minDate,maxDate:V}):o("pick",{minDate:V,maxDate:r.minDate}),o("select",!1)):(o("pick",{minDate:V,maxDate:null}),o("select",!0)):o("pick",L)};return Se(()=>r.date,async()=>{var x,$;(x=c.value)!=null&&x.contains(document.activeElement)&&(await et(),($=d.value)==null||$.focus())}),t({focus:f}),(x,$)=>(b(),M("table",{role:"grid","aria-label":s(a)("el.datepicker.monthTablePrompt"),class:O(s(n).b()),onClick:w,onMousemove:y},[E("tbody",{ref_key:"tbodyRef",ref:c},[(b(!0),M(Qe,null,It(s(m),(T,R)=>(b(),M("tr",{key:R},[(b(!0),M(Qe,null,It(T,(P,L)=>(b(),M("td",{key:L,ref_for:!0,ref:V=>g(P)&&(d.value=V),class:O(_(P)),"aria-selected":`${g(P)}`,"aria-label":s(a)(`el.datepicker.month${+P.text+1}`),tabindex:g(P)?0:-1,onKeydown:[Gt(ct(w,["prevent","stop"]),["space"]),Gt(ct(w,["prevent","stop"]),["enter"])]},[E("div",null,[E("span",HZ,$e(s(a)("el.datepicker.months."+u.value[P.text])),1)])],42,DZ))),128))]))),128))],512)],42,VZ))}}),[["__file","basic-month-table.vue"]]);const{date:FZ,disabledDate:jZ,parsedValue:KZ}=Bv,UZ=Pe({date:FZ,disabledDate:jZ,parsedValue:KZ,selectionMode:Vv("year")}),WZ=["aria-label"],qZ=["aria-selected","tabindex","onKeydown"],YZ={class:"cell"},GZ={key:1};var XZ=Le(N({__name:"basic-year-table",props:UZ,emits:["pick"],setup(e,{expose:t,emit:o}){const r=e,l=(f,_)=>{const g=kt(String(f)).locale(_).startOf("year"),w=g.endOf("year").dayOfYear();return aa(w).map(x=>g.add(x,"day").toDate())},n=ze("year-table"),{t:a,lang:i}=Rt(),c=D(),d=D(),u=C(()=>Math.floor(r.date.year()/10)*10),p=()=>{var f;(f=d.value)==null||f.focus()},h=f=>{const _={},g=kt().locale(i.value);return _.disabled=r.disabledDate?l(f,i.value).every(r.disabledDate):!1,_.current=Lr(r.parsedValue).findIndex(y=>y.year()===f)>=0,_.today=g.year()===f,_},v=f=>f===u.value&&r.date.year()u.value+9||Lr(r.date).findIndex(_=>_.year()===f)>=0||Lr(r.parsedValue).findIndex(_=>(_==null?void 0:_.year())===f)>=0,m=f=>{const g=f.target.closest("td");if(g&&g.textContent){if(Xr(g,"disabled"))return;const y=g.textContent||g.innerText;if(r.selectionMode==="years"){if(f.type==="keydown"){o("pick",Lr(r.parsedValue),!1);return}const w=Xr(g,"current")?Lr(r.parsedValue).filter(x=>(x==null?void 0:x.year())!==Number(y)):Lr(r.parsedValue).concat([kt(y)]);o("pick",w)}else o("pick",Number(y))}};return Se(()=>r.date,async()=>{var f,_;(f=c.value)!=null&&f.contains(document.activeElement)&&(await et(),(_=d.value)==null||_.focus())}),t({focus:p}),(f,_)=>(b(),M("table",{role:"grid","aria-label":s(a)("el.datepicker.yearTablePrompt"),class:O(s(n).b()),onClick:m},[E("tbody",{ref_key:"tbodyRef",ref:c},[(b(),M(Qe,null,It(3,(g,y)=>E("tr",{key:y},[(b(),M(Qe,null,It(4,(w,x)=>(b(),M(Qe,{key:y+"_"+x},[y*4+x<10?(b(),M("td",{key:0,ref_for:!0,ref:$=>v(s(u)+y*4+x)&&(d.value=$),class:O(["available",h(s(u)+y*4+x)]),"aria-selected":`${v(s(u)+y*4+x)}`,tabindex:v(s(u)+y*4+x)?0:-1,onKeydown:[Gt(ct(m,["prevent","stop"]),["space"]),Gt(ct(m,["prevent","stop"]),["enter"])]},[E("div",null,[E("span",YZ,$e(s(u)+y*4+x),1)])],42,qZ)):(b(),M("td",GZ))],64))),64))])),64))],512)],10,WZ))}}),[["__file","basic-year-table.vue"]]);const ZZ=["onClick"],JZ=["aria-label"],QZ=["aria-label"],eJ=["aria-label"],tJ=["aria-label"];var oJ=Le(N({__name:"panel-date-pick",props:EZ,emits:["pick","set-picker-option","panel-change"],setup(e,{emit:t}){const o=e,r=(S,A,G)=>!0,l=ze("picker-panel"),n=ze("date-picker"),a=ya(),i=Do(),{t:c,lang:d}=Rt(),u=Ge("EP_PICKER_BASE"),p=Ge(rp),{shortcuts:h,disabledDate:v,cellClassName:m,defaultTime:f}=u.props,_=Yt(u.props,"defaultValue"),g=D(),y=D(kt().locale(d.value)),w=D(!1);let x=!1;const $=C(()=>kt(f).locale(d.value)),T=C(()=>y.value.month()),R=C(()=>y.value.year()),P=D([]),L=D(null),V=D(null),B=S=>P.value.length>0?r(S,P.value,o.format||"HH:mm:ss"):!0,j=S=>f&&!pe.value&&!w.value&&!x?$.value.year(S.year()).month(S.month()).date(S.date()):de.value?S.millisecond(0):S.startOf("day"),te=(S,...A)=>{if(!S)t("pick",S,...A);else if(Ke(S)){const G=S.map(j);t("pick",G,...A)}else t("pick",j(S),...A);L.value=null,V.value=null,w.value=!1,x=!1},J=async(S,A)=>{if(U.value==="date"){S=S;let G=o.parsedValue?o.parsedValue.year(S.year()).month(S.month()).date(S.date()):S;B(G)||(G=P.value[0][0].year(S.year()).month(S.month()).date(S.date())),y.value=G,te(G,de.value||A),o.type==="datetime"&&(await et(),tt())}else U.value==="week"?te(S.date):U.value==="dates"&&te(S,!0)},Z=S=>{const A=S?"add":"subtract";y.value=y.value[A](1,"month"),Y("month")},H=S=>{const A=y.value,G=S?"add":"subtract";y.value=F.value==="year"?A[G](10,"year"):A[G](1,"year"),Y("year")},F=D("date"),K=C(()=>{const S=c("el.datepicker.year");if(F.value==="year"){const A=Math.floor(R.value/10)*10;return S?`${A} ${S} - ${A+9} ${S}`:`${A} - ${A+9}`}return`${R.value} ${S}`}),I=S=>{const A=it(S.value)?S.value():S.value;if(A){x=!0,te(kt(A).locale(d.value));return}S.onClick&&S.onClick({attrs:a,slots:i,emit:t})},U=C(()=>{const{type:S}=o;return["week","month","year","years","dates"].includes(S)?S:"date"}),oe=C(()=>U.value==="date"?F.value:U.value),ne=C(()=>!!h.length),ce=async S=>{y.value=y.value.startOf("month").month(S),U.value==="month"?te(y.value,!1):(F.value="date",["month","year","date","week"].includes(U.value)&&(te(y.value,!0),await et(),tt())),Y("month")},Q=async(S,A)=>{U.value==="year"?(y.value=y.value.startOf("year").year(S),te(y.value,!1)):U.value==="years"?te(S,A??!0):(y.value=y.value.year(S),F.value="month",["month","year","date","week"].includes(U.value)&&(te(y.value,!0),await et(),tt())),Y("year")},Me=async S=>{F.value=S,await et(),tt()},de=C(()=>o.type==="datetime"||o.type==="datetimerange"),_e=C(()=>{const S=de.value||U.value==="dates",A=U.value==="years",G=F.value==="date",X=F.value==="year";return S&&G||A&&X}),me=C(()=>v?o.parsedValue?Ke(o.parsedValue)?v(o.parsedValue[0].toDate()):v(o.parsedValue.toDate()):!0:!1),Re=()=>{if(U.value==="dates"||U.value==="years")te(o.parsedValue);else{let S=o.parsedValue;if(!S){const A=kt(f).locale(d.value),G=Ye();S=A.year(G.year()).month(G.month()).date(G.date())}y.value=S,te(S)}},Ce=C(()=>v?v(kt().locale(d.value).toDate()):!1),Ee=()=>{const A=kt().locale(d.value).toDate();w.value=!0,(!v||!v(A))&&B(A)&&(y.value=kt().locale(d.value),te(y.value))},De=C(()=>o.timeFormat||ew(o.format)),ae=C(()=>o.dateFormat||Q4(o.format)),pe=C(()=>{if(V.value)return V.value;if(!(!o.parsedValue&&!_.value))return(o.parsedValue||y.value).format(De.value)}),ke=C(()=>{if(L.value)return L.value;if(!(!o.parsedValue&&!_.value))return(o.parsedValue||y.value).format(ae.value)}),Oe=D(!1),we=()=>{Oe.value=!0},Te=()=>{Oe.value=!1},Ne=S=>({hour:S.hour(),minute:S.minute(),second:S.second(),year:S.year(),month:S.month(),date:S.date()}),Ie=(S,A,G)=>{const{hour:X,minute:re,second:ge}=Ne(S),fe=o.parsedValue?o.parsedValue.hour(X).minute(re).second(ge):S;y.value=fe,te(y.value,!0),G||(Oe.value=A)},Ae=S=>{const A=kt(S,De.value).locale(d.value);if(A.isValid()&&B(A)){const{year:G,month:X,date:re}=Ne(y.value);y.value=A.year(G).month(X).date(re),V.value=null,Oe.value=!1,te(y.value,!0)}},xe=S=>{const A=kt(S,ae.value).locale(d.value);if(A.isValid()){if(v&&v(A.toDate()))return;const{hour:G,minute:X,second:re}=Ne(y.value);y.value=A.hour(G).minute(X).second(re),L.value=null,te(y.value,!0)}},We=S=>kt.isDayjs(S)&&S.isValid()&&(v?!v(S.toDate()):!0),qe=S=>Ke(S)?S.map(A=>A.format(o.format)):S.format(o.format),ye=S=>kt(S,o.format).locale(d.value),Ye=()=>{const S=kt(_.value).locale(d.value);if(!_.value){const A=$.value;return kt().hour(A.hour()).minute(A.minute()).second(A.second()).locale(d.value)}return S},tt=async()=>{var S;["week","month","year","date"].includes(U.value)&&((S=g.value)==null||S.focus(),U.value==="week"&&dt(lt.down))},pt=S=>{const{code:A}=S;[lt.up,lt.down,lt.left,lt.right,lt.home,lt.end,lt.pageUp,lt.pageDown].includes(A)&&(dt(A),S.stopPropagation(),S.preventDefault()),[lt.enter,lt.space,lt.numpadEnter].includes(A)&&L.value===null&&V.value===null&&(S.preventDefault(),te(y.value,!1))},dt=S=>{var A;const{up:G,down:X,left:re,right:ge,home:fe,end:Fe,pageUp:at,pageDown:_t}=lt,At={year:{[G]:-4,[X]:4,[re]:-1,[ge]:1,offset:(bt,Qt)=>bt.setFullYear(bt.getFullYear()+Qt)},month:{[G]:-4,[X]:4,[re]:-1,[ge]:1,offset:(bt,Qt)=>bt.setMonth(bt.getMonth()+Qt)},week:{[G]:-1,[X]:1,[re]:-1,[ge]:1,offset:(bt,Qt)=>bt.setDate(bt.getDate()+Qt*7)},date:{[G]:-7,[X]:7,[re]:-1,[ge]:1,[fe]:bt=>-bt.getDay(),[Fe]:bt=>-bt.getDay()+6,[at]:bt=>-new Date(bt.getFullYear(),bt.getMonth(),0).getDate(),[_t]:bt=>new Date(bt.getFullYear(),bt.getMonth()+1,0).getDate(),offset:(bt,Qt)=>bt.setDate(bt.getDate()+Qt)}},no=y.value.toDate();for(;Math.abs(y.value.diff(no,"year",!0))<1;){const bt=At[oe.value];if(!bt)return;if(bt.offset(no,it(bt[S])?bt[S](no):(A=bt[S])!=null?A:0),v&&v(no))break;const Qt=kt(no).locale(d.value);y.value=Qt,t("pick",Qt,!0);break}},Y=S=>{t("panel-change",y.value.toDate(),S,F.value)};return Se(()=>U.value,S=>{if(["month","year"].includes(S)){F.value=S;return}else if(S==="years"){F.value="year";return}F.value="date"},{immediate:!0}),Se(()=>F.value,()=>{p==null||p.updatePopper()}),Se(()=>_.value,S=>{S&&(y.value=Ye())},{immediate:!0}),Se(()=>o.parsedValue,S=>{if(S){if(U.value==="dates"||U.value==="years"||Array.isArray(S))return;y.value=S}else y.value=Ye()},{immediate:!0}),t("set-picker-option",["isValidValue",We]),t("set-picker-option",["formatToString",qe]),t("set-picker-option",["parseUserInput",ye]),t("set-picker-option",["handleFocusPicker",tt]),(S,A)=>(b(),M("div",{class:O([s(l).b(),s(n).b(),{"has-sidebar":S.$slots.sidebar||s(ne),"has-time":s(de)}])},[E("div",{class:O(s(l).e("body-wrapper"))},[be(S.$slots,"sidebar",{class:O(s(l).e("sidebar"))}),s(ne)?(b(),M("div",{key:0,class:O(s(l).e("sidebar"))},[(b(!0),M(Qe,null,It(s(h),(G,X)=>(b(),M("button",{key:X,type:"button",class:O(s(l).e("shortcut")),onClick:re=>I(G)},$e(G.text),11,ZZ))),128))],2)):se("v-if",!0),E("div",{class:O(s(l).e("body"))},[s(de)?(b(),M("div",{key:0,class:O(s(n).e("time-header"))},[E("span",{class:O(s(n).e("editor-wrap"))},[ee(s(cr),{placeholder:s(c)("el.datepicker.selectDate"),"model-value":s(ke),size:"small","validate-event":!1,onInput:A[0]||(A[0]=G=>L.value=G),onChange:xe},null,8,["placeholder","model-value"])],2),mt((b(),M("span",{class:O(s(n).e("editor-wrap"))},[ee(s(cr),{placeholder:s(c)("el.datepicker.selectTime"),"model-value":s(pe),size:"small","validate-event":!1,onFocus:we,onInput:A[1]||(A[1]=G=>V.value=G),onChange:Ae},null,8,["placeholder","model-value"]),ee(s(dp),{visible:Oe.value,format:s(De),"parsed-value":y.value,onPick:Ie},null,8,["visible","format","parsed-value"])],2)),[[s(xn),Te]])],2)):se("v-if",!0),mt(E("div",{class:O([s(n).e("header"),(F.value==="year"||F.value==="month")&&s(n).e("header--bordered")])},[E("span",{class:O(s(n).e("prev-btn"))},[E("button",{type:"button","aria-label":s(c)("el.datepicker.prevYear"),class:O(["d-arrow-left",s(l).e("icon-btn")]),onClick:A[2]||(A[2]=G=>H(!1))},[ee(s(Ze),null,{default:le(()=>[ee(s(Ra))]),_:1})],10,JZ),mt(E("button",{type:"button","aria-label":s(c)("el.datepicker.prevMonth"),class:O([s(l).e("icon-btn"),"arrow-left"]),onClick:A[3]||(A[3]=G=>Z(!1))},[ee(s(Ze),null,{default:le(()=>[ee(s(fn))]),_:1})],10,QZ),[[Lt,F.value==="date"]])],2),E("span",{role:"button",class:O(s(n).e("header-label")),"aria-live":"polite",tabindex:"0",onKeydown:A[4]||(A[4]=Gt(G=>Me("year"),["enter"])),onClick:A[5]||(A[5]=G=>Me("year"))},$e(s(K)),35),mt(E("span",{role:"button","aria-live":"polite",tabindex:"0",class:O([s(n).e("header-label"),{active:F.value==="month"}]),onKeydown:A[6]||(A[6]=Gt(G=>Me("month"),["enter"])),onClick:A[7]||(A[7]=G=>Me("month"))},$e(s(c)(`el.datepicker.month${s(T)+1}`)),35),[[Lt,F.value==="date"]]),E("span",{class:O(s(n).e("next-btn"))},[mt(E("button",{type:"button","aria-label":s(c)("el.datepicker.nextMonth"),class:O([s(l).e("icon-btn"),"arrow-right"]),onClick:A[8]||(A[8]=G=>Z(!0))},[ee(s(Ze),null,{default:le(()=>[ee(s(ir))]),_:1})],10,eJ),[[Lt,F.value==="date"]]),E("button",{type:"button","aria-label":s(c)("el.datepicker.nextYear"),class:O([s(l).e("icon-btn"),"d-arrow-right"]),onClick:A[9]||(A[9]=G=>H(!0))},[ee(s(Ze),null,{default:le(()=>[ee(s(La))]),_:1})],10,tJ)],2)],2),[[Lt,F.value!=="time"]]),E("div",{class:O(s(l).e("content")),onKeydown:pt},[F.value==="date"?(b(),he(Fv,{key:0,ref_key:"currentViewRef",ref:g,"selection-mode":s(U),date:y.value,"parsed-value":S.parsedValue,"disabled-date":s(v),"cell-class-name":s(m),onPick:J},null,8,["selection-mode","date","parsed-value","disabled-date","cell-class-name"])):se("v-if",!0),F.value==="year"?(b(),he(XZ,{key:1,ref_key:"currentViewRef",ref:g,"selection-mode":s(U),date:y.value,"disabled-date":s(v),"parsed-value":S.parsedValue,onPick:Q},null,8,["selection-mode","date","disabled-date","parsed-value"])):se("v-if",!0),F.value==="month"?(b(),he(jv,{key:2,ref_key:"currentViewRef",ref:g,date:y.value,"parsed-value":S.parsedValue,"disabled-date":s(v),onPick:ce},null,8,["date","parsed-value","disabled-date"])):se("v-if",!0)],34)],2)],2),mt(E("div",{class:O(s(l).e("footer"))},[mt(ee(s(Wo),{text:"",size:"small",class:O(s(l).e("link-btn")),disabled:s(Ce),onClick:Ee},{default:le(()=>[Ct($e(s(c)("el.datepicker.now")),1)]),_:1},8,["class","disabled"]),[[Lt,s(U)!=="dates"&&s(U)!=="years"]]),ee(s(Wo),{plain:"",size:"small",class:O(s(l).e("link-btn")),disabled:s(me),onClick:Re},{default:le(()=>[Ct($e(s(c)("el.datepicker.confirm")),1)]),_:1},8,["class","disabled"])],2),[[Lt,s(_e)]])],2))}}),[["__file","panel-date-pick.vue"]]);const rJ=Pe({...hy,...vy}),lJ=e=>{const{emit:t}=wt(),o=ya(),r=Do();return n=>{const a=it(n.value)?n.value():n.value;if(a){t("pick",[kt(a[0]).locale(e.value),kt(a[1]).locale(e.value)]);return}n.onClick&&n.onClick({attrs:o,slots:r,emit:t})}},gy=(e,{defaultValue:t,leftDate:o,rightDate:r,unit:l,onParsedValueChanged:n})=>{const{emit:a}=wt(),{pickerNs:i}=Ge(Lv),c=ze("date-range-picker"),{t:d,lang:u}=Rt(),p=lJ(u),h=D(),v=D(),m=D({endDate:null,selecting:!1}),f=w=>{m.value=w},_=(w=!1)=>{const x=s(h),$=s(v);Dv([x,$])&&a("pick",[x,$],w)},g=w=>{m.value.selecting=w,w||(m.value.endDate=null)},y=()=>{const[w,x]=my(s(t),{lang:s(u),unit:l,unlinkPanels:e.unlinkPanels});h.value=void 0,v.value=void 0,o.value=w,r.value=x};return Se(t,w=>{w&&y()},{immediate:!0}),Se(()=>e.parsedValue,w=>{if(Ke(w)&&w.length===2){const[x,$]=w;h.value=x,o.value=x,v.value=$,n(s(h),s(v))}else y()},{immediate:!0}),{minDate:h,maxDate:v,rangeState:m,lang:u,ppNs:i,drpNs:c,handleChangeRange:f,handleRangeConfirm:_,handleShortcutClick:p,onSelect:g,t:d}},nJ=["onClick"],aJ=["aria-label"],iJ=["aria-label"],sJ=["disabled","aria-label"],cJ=["disabled","aria-label"],uJ=["disabled","aria-label"],dJ=["disabled","aria-label"],pJ=["aria-label"],fJ=["aria-label"],_p="month";var hJ=Le(N({__name:"panel-date-range",props:rJ,emits:["pick","set-picker-option","calendar-change","panel-change"],setup(e,{emit:t}){const o=e,r=Ge("EP_PICKER_BASE"),{disabledDate:l,cellClassName:n,defaultTime:a,clearable:i}=r.props,c=Yt(r.props,"format"),d=Yt(r.props,"shortcuts"),u=Yt(r.props,"defaultValue"),{lang:p}=Rt(),h=D(kt().locale(p.value)),v=D(kt().locale(p.value).add(1,_p)),{minDate:m,maxDate:f,rangeState:_,ppNs:g,drpNs:y,handleChangeRange:w,handleRangeConfirm:x,handleShortcutClick:$,onSelect:T,t:R}=gy(o,{defaultValue:u,leftDate:h,rightDate:v,unit:_p,onParsedValueChanged:A}),P=D({min:null,max:null}),L=D({min:null,max:null}),V=C(()=>`${h.value.year()} ${R("el.datepicker.year")} ${R(`el.datepicker.month${h.value.month()+1}`)}`),B=C(()=>`${v.value.year()} ${R("el.datepicker.year")} ${R(`el.datepicker.month${v.value.month()+1}`)}`),j=C(()=>h.value.year()),te=C(()=>h.value.month()),J=C(()=>v.value.year()),Z=C(()=>v.value.month()),H=C(()=>!!d.value.length),F=C(()=>P.value.min!==null?P.value.min:m.value?m.value.format(ne.value):""),K=C(()=>P.value.max!==null?P.value.max:f.value||m.value?(f.value||m.value).format(ne.value):""),I=C(()=>L.value.min!==null?L.value.min:m.value?m.value.format(oe.value):""),U=C(()=>L.value.max!==null?L.value.max:f.value||m.value?(f.value||m.value).format(oe.value):""),oe=C(()=>o.timeFormat||ew(c.value)),ne=C(()=>o.dateFormat||Q4(c.value)),ce=G=>Dv(G)&&(l?!l(G[0].toDate())&&!l(G[1].toDate()):!0),Q=()=>{h.value=h.value.subtract(1,"year"),o.unlinkPanels||(v.value=h.value.add(1,"month")),De("year")},Me=()=>{h.value=h.value.subtract(1,"month"),o.unlinkPanels||(v.value=h.value.add(1,"month")),De("month")},de=()=>{o.unlinkPanels?v.value=v.value.add(1,"year"):(h.value=h.value.add(1,"year"),v.value=h.value.add(1,"month")),De("year")},_e=()=>{o.unlinkPanels?v.value=v.value.add(1,"month"):(h.value=h.value.add(1,"month"),v.value=h.value.add(1,"month")),De("month")},me=()=>{h.value=h.value.add(1,"year"),De("year")},Re=()=>{h.value=h.value.add(1,"month"),De("month")},Ce=()=>{v.value=v.value.subtract(1,"year"),De("year")},Ee=()=>{v.value=v.value.subtract(1,"month"),De("month")},De=G=>{t("panel-change",[h.value.toDate(),v.value.toDate()],G)},ae=C(()=>{const G=(te.value+1)%12,X=te.value+1>=12?1:0;return o.unlinkPanels&&new Date(j.value+X,G)o.unlinkPanels&&J.value*12+Z.value-(j.value*12+te.value+1)>=12),ke=C(()=>!(m.value&&f.value&&!_.value.selecting&&Dv([m.value,f.value]))),Oe=C(()=>o.type==="datetime"||o.type==="datetimerange"),we=(G,X)=>{if(G)return a?kt(a[X]||a).locale(p.value).year(G.year()).month(G.month()).date(G.date()):G},Te=(G,X=!0)=>{const re=G.minDate,ge=G.maxDate,fe=we(re,0),Fe=we(ge,1);f.value===Fe&&m.value===fe||(t("calendar-change",[re.toDate(),ge&&ge.toDate()]),f.value=Fe,m.value=fe,!(!X||Oe.value)&&x())},Ne=D(!1),Ie=D(!1),Ae=()=>{Ne.value=!1},xe=()=>{Ie.value=!1},We=(G,X)=>{P.value[X]=G;const re=kt(G,ne.value).locale(p.value);if(re.isValid()){if(l&&l(re.toDate()))return;X==="min"?(h.value=re,m.value=(m.value||h.value).year(re.year()).month(re.month()).date(re.date()),!o.unlinkPanels&&(!f.value||f.value.isBefore(m.value))&&(v.value=re.add(1,"month"),f.value=m.value.add(1,"month"))):(v.value=re,f.value=(f.value||v.value).year(re.year()).month(re.month()).date(re.date()),!o.unlinkPanels&&(!m.value||m.value.isAfter(f.value))&&(h.value=re.subtract(1,"month"),m.value=f.value.subtract(1,"month")))}},qe=(G,X)=>{P.value[X]=null},ye=(G,X)=>{L.value[X]=G;const re=kt(G,oe.value).locale(p.value);re.isValid()&&(X==="min"?(Ne.value=!0,m.value=(m.value||h.value).hour(re.hour()).minute(re.minute()).second(re.second())):(Ie.value=!0,f.value=(f.value||v.value).hour(re.hour()).minute(re.minute()).second(re.second()),v.value=f.value))},Ye=(G,X)=>{L.value[X]=null,X==="min"?(h.value=m.value,Ne.value=!1,(!f.value||f.value.isBefore(m.value))&&(f.value=m.value)):(v.value=f.value,Ie.value=!1,f.value&&f.value.isBefore(m.value)&&(m.value=f.value))},tt=(G,X,re)=>{L.value.min||(G&&(h.value=G,m.value=(m.value||h.value).hour(G.hour()).minute(G.minute()).second(G.second())),re||(Ne.value=X),(!f.value||f.value.isBefore(m.value))&&(f.value=m.value,v.value=G))},pt=(G,X,re)=>{L.value.max||(G&&(v.value=G,f.value=(f.value||v.value).hour(G.hour()).minute(G.minute()).second(G.second())),re||(Ie.value=X),f.value&&f.value.isBefore(m.value)&&(m.value=f.value))},dt=()=>{h.value=my(s(u),{lang:s(p),unit:"month",unlinkPanels:o.unlinkPanels})[0],v.value=h.value.add(1,"month"),f.value=void 0,m.value=void 0,t("pick",null)},Y=G=>Ke(G)?G.map(X=>X.format(c.value)):G.format(c.value),S=G=>Ke(G)?G.map(X=>kt(X,c.value).locale(p.value)):kt(G,c.value).locale(p.value);function A(G,X){if(o.unlinkPanels&&X){const re=(G==null?void 0:G.year())||0,ge=(G==null?void 0:G.month())||0,fe=X.year(),Fe=X.month();v.value=re===fe&&ge===Fe?X.add(1,_p):X}else v.value=h.value.add(1,_p),X&&(v.value=v.value.hour(X.hour()).minute(X.minute()).second(X.second()))}return t("set-picker-option",["isValidValue",ce]),t("set-picker-option",["parseUserInput",S]),t("set-picker-option",["formatToString",Y]),t("set-picker-option",["handleClear",dt]),(G,X)=>(b(),M("div",{class:O([s(g).b(),s(y).b(),{"has-sidebar":G.$slots.sidebar||s(H),"has-time":s(Oe)}])},[E("div",{class:O(s(g).e("body-wrapper"))},[be(G.$slots,"sidebar",{class:O(s(g).e("sidebar"))}),s(H)?(b(),M("div",{key:0,class:O(s(g).e("sidebar"))},[(b(!0),M(Qe,null,It(s(d),(re,ge)=>(b(),M("button",{key:ge,type:"button",class:O(s(g).e("shortcut")),onClick:fe=>s($)(re)},$e(re.text),11,nJ))),128))],2)):se("v-if",!0),E("div",{class:O(s(g).e("body"))},[s(Oe)?(b(),M("div",{key:0,class:O(s(y).e("time-header"))},[E("span",{class:O(s(y).e("editors-wrap"))},[E("span",{class:O(s(y).e("time-picker-wrap"))},[ee(s(cr),{size:"small",disabled:s(_).selecting,placeholder:s(R)("el.datepicker.startDate"),class:O(s(y).e("editor")),"model-value":s(F),"validate-event":!1,onInput:X[0]||(X[0]=re=>We(re,"min")),onChange:X[1]||(X[1]=re=>qe(re,"min"))},null,8,["disabled","placeholder","class","model-value"])],2),mt((b(),M("span",{class:O(s(y).e("time-picker-wrap"))},[ee(s(cr),{size:"small",class:O(s(y).e("editor")),disabled:s(_).selecting,placeholder:s(R)("el.datepicker.startTime"),"model-value":s(I),"validate-event":!1,onFocus:X[2]||(X[2]=re=>Ne.value=!0),onInput:X[3]||(X[3]=re=>ye(re,"min")),onChange:X[4]||(X[4]=re=>Ye(re,"min"))},null,8,["class","disabled","placeholder","model-value"]),ee(s(dp),{visible:Ne.value,format:s(oe),"datetime-role":"start","parsed-value":h.value,onPick:tt},null,8,["visible","format","parsed-value"])],2)),[[s(xn),Ae]])],2),E("span",null,[ee(s(Ze),null,{default:le(()=>[ee(s(ir))]),_:1})]),E("span",{class:O([s(y).e("editors-wrap"),"is-right"])},[E("span",{class:O(s(y).e("time-picker-wrap"))},[ee(s(cr),{size:"small",class:O(s(y).e("editor")),disabled:s(_).selecting,placeholder:s(R)("el.datepicker.endDate"),"model-value":s(K),readonly:!s(m),"validate-event":!1,onInput:X[5]||(X[5]=re=>We(re,"max")),onChange:X[6]||(X[6]=re=>qe(re,"max"))},null,8,["class","disabled","placeholder","model-value","readonly"])],2),mt((b(),M("span",{class:O(s(y).e("time-picker-wrap"))},[ee(s(cr),{size:"small",class:O(s(y).e("editor")),disabled:s(_).selecting,placeholder:s(R)("el.datepicker.endTime"),"model-value":s(U),readonly:!s(m),"validate-event":!1,onFocus:X[7]||(X[7]=re=>s(m)&&(Ie.value=!0)),onInput:X[8]||(X[8]=re=>ye(re,"max")),onChange:X[9]||(X[9]=re=>Ye(re,"max"))},null,8,["class","disabled","placeholder","model-value","readonly"]),ee(s(dp),{"datetime-role":"end",visible:Ie.value,format:s(oe),"parsed-value":v.value,onPick:pt},null,8,["visible","format","parsed-value"])],2)),[[s(xn),xe]])],2)],2)):se("v-if",!0),E("div",{class:O([[s(g).e("content"),s(y).e("content")],"is-left"])},[E("div",{class:O(s(y).e("header"))},[E("button",{type:"button",class:O([s(g).e("icon-btn"),"d-arrow-left"]),"aria-label":s(R)("el.datepicker.prevYear"),onClick:Q},[ee(s(Ze),null,{default:le(()=>[ee(s(Ra))]),_:1})],10,aJ),E("button",{type:"button",class:O([s(g).e("icon-btn"),"arrow-left"]),"aria-label":s(R)("el.datepicker.prevMonth"),onClick:Me},[ee(s(Ze),null,{default:le(()=>[ee(s(fn))]),_:1})],10,iJ),G.unlinkPanels?(b(),M("button",{key:0,type:"button",disabled:!s(pe),class:O([[s(g).e("icon-btn"),{"is-disabled":!s(pe)}],"d-arrow-right"]),"aria-label":s(R)("el.datepicker.nextYear"),onClick:me},[ee(s(Ze),null,{default:le(()=>[ee(s(La))]),_:1})],10,sJ)):se("v-if",!0),G.unlinkPanels?(b(),M("button",{key:1,type:"button",disabled:!s(ae),class:O([[s(g).e("icon-btn"),{"is-disabled":!s(ae)}],"arrow-right"]),"aria-label":s(R)("el.datepicker.nextMonth"),onClick:Re},[ee(s(Ze),null,{default:le(()=>[ee(s(ir))]),_:1})],10,cJ)):se("v-if",!0),E("div",null,$e(s(V)),1)],2),ee(Fv,{"selection-mode":"range",date:h.value,"min-date":s(m),"max-date":s(f),"range-state":s(_),"disabled-date":s(l),"cell-class-name":s(n),onChangerange:s(w),onPick:Te,onSelect:s(T)},null,8,["date","min-date","max-date","range-state","disabled-date","cell-class-name","onChangerange","onSelect"])],2),E("div",{class:O([[s(g).e("content"),s(y).e("content")],"is-right"])},[E("div",{class:O(s(y).e("header"))},[G.unlinkPanels?(b(),M("button",{key:0,type:"button",disabled:!s(pe),class:O([[s(g).e("icon-btn"),{"is-disabled":!s(pe)}],"d-arrow-left"]),"aria-label":s(R)("el.datepicker.prevYear"),onClick:Ce},[ee(s(Ze),null,{default:le(()=>[ee(s(Ra))]),_:1})],10,uJ)):se("v-if",!0),G.unlinkPanels?(b(),M("button",{key:1,type:"button",disabled:!s(ae),class:O([[s(g).e("icon-btn"),{"is-disabled":!s(ae)}],"arrow-left"]),"aria-label":s(R)("el.datepicker.prevMonth"),onClick:Ee},[ee(s(Ze),null,{default:le(()=>[ee(s(fn))]),_:1})],10,dJ)):se("v-if",!0),E("button",{type:"button","aria-label":s(R)("el.datepicker.nextYear"),class:O([s(g).e("icon-btn"),"d-arrow-right"]),onClick:de},[ee(s(Ze),null,{default:le(()=>[ee(s(La))]),_:1})],10,pJ),E("button",{type:"button",class:O([s(g).e("icon-btn"),"arrow-right"]),"aria-label":s(R)("el.datepicker.nextMonth"),onClick:_e},[ee(s(Ze),null,{default:le(()=>[ee(s(ir))]),_:1})],10,fJ),E("div",null,$e(s(B)),1)],2),ee(Fv,{"selection-mode":"range",date:v.value,"min-date":s(m),"max-date":s(f),"range-state":s(_),"disabled-date":s(l),"cell-class-name":s(n),onChangerange:s(w),onPick:Te,onSelect:s(T)},null,8,["date","min-date","max-date","range-state","disabled-date","cell-class-name","onChangerange","onSelect"])],2)],2)],2),s(Oe)?(b(),M("div",{key:0,class:O(s(g).e("footer"))},[s(i)?(b(),he(s(Wo),{key:0,text:"",size:"small",class:O(s(g).e("link-btn")),onClick:dt},{default:le(()=>[Ct($e(s(R)("el.datepicker.clear")),1)]),_:1},8,["class"])):se("v-if",!0),ee(s(Wo),{plain:"",size:"small",class:O(s(g).e("link-btn")),disabled:s(ke),onClick:X[10]||(X[10]=re=>s(x)(!1))},{default:le(()=>[Ct($e(s(R)("el.datepicker.confirm")),1)]),_:1},8,["class","disabled"])],2)):se("v-if",!0)],2))}}),[["__file","panel-date-range.vue"]]);const vJ=Pe({...vy}),mJ=["pick","set-picker-option","calendar-change"],gJ=({unlinkPanels:e,leftDate:t,rightDate:o})=>{const{t:r}=Rt(),l=()=>{t.value=t.value.subtract(1,"year"),e.value||(o.value=o.value.subtract(1,"year"))},n=()=>{e.value||(t.value=t.value.add(1,"year")),o.value=o.value.add(1,"year")},a=()=>{t.value=t.value.add(1,"year")},i=()=>{o.value=o.value.subtract(1,"year")},c=C(()=>`${t.value.year()} ${r("el.datepicker.year")}`),d=C(()=>`${o.value.year()} ${r("el.datepicker.year")}`),u=C(()=>t.value.year()),p=C(()=>o.value.year()===t.value.year()?t.value.year()+1:o.value.year());return{leftPrevYear:l,rightNextYear:n,leftNextYear:a,rightPrevYear:i,leftLabel:c,rightLabel:d,leftYear:u,rightYear:p}},bJ=["onClick"],_J=["disabled"],wJ=["disabled"],wp="year",yJ=N({...N({name:"DatePickerMonthRange"}),props:vJ,emits:mJ,setup(e,{emit:t}){const o=e,{lang:r}=Rt(),l=Ge("EP_PICKER_BASE"),{shortcuts:n,disabledDate:a}=l.props,i=Yt(l.props,"format"),c=Yt(l.props,"defaultValue"),d=D(kt().locale(r.value)),u=D(kt().locale(r.value).add(1,wp)),{minDate:p,maxDate:h,rangeState:v,ppNs:m,drpNs:f,handleChangeRange:_,handleRangeConfirm:g,handleShortcutClick:y,onSelect:w}=gy(o,{defaultValue:c,leftDate:d,rightDate:u,unit:wp,onParsedValueChanged:H}),x=C(()=>!!n.length),{leftPrevYear:$,rightNextYear:T,leftNextYear:R,rightPrevYear:P,leftLabel:L,rightLabel:V,leftYear:B,rightYear:j}=gJ({unlinkPanels:Yt(o,"unlinkPanels"),leftDate:d,rightDate:u}),te=C(()=>o.unlinkPanels&&j.value>B.value+1),J=(F,K=!0)=>{const I=F.minDate,U=F.maxDate;h.value===U&&p.value===I||(t("calendar-change",[I.toDate(),U&&U.toDate()]),h.value=U,p.value=I,K&&g())},Z=F=>F.map(K=>K.format(i.value));function H(F,K){if(o.unlinkPanels&&K){const I=(F==null?void 0:F.year())||0,U=K.year();u.value=I===U?K.add(1,wp):K}else u.value=d.value.add(1,wp)}return t("set-picker-option",["formatToString",Z]),(F,K)=>(b(),M("div",{class:O([s(m).b(),s(f).b(),{"has-sidebar":!!F.$slots.sidebar||s(x)}])},[E("div",{class:O(s(m).e("body-wrapper"))},[be(F.$slots,"sidebar",{class:O(s(m).e("sidebar"))}),s(x)?(b(),M("div",{key:0,class:O(s(m).e("sidebar"))},[(b(!0),M(Qe,null,It(s(n),(I,U)=>(b(),M("button",{key:U,type:"button",class:O(s(m).e("shortcut")),onClick:oe=>s(y)(I)},$e(I.text),11,bJ))),128))],2)):se("v-if",!0),E("div",{class:O(s(m).e("body"))},[E("div",{class:O([[s(m).e("content"),s(f).e("content")],"is-left"])},[E("div",{class:O(s(f).e("header"))},[E("button",{type:"button",class:O([s(m).e("icon-btn"),"d-arrow-left"]),onClick:K[0]||(K[0]=(...I)=>s($)&&s($)(...I))},[ee(s(Ze),null,{default:le(()=>[ee(s(Ra))]),_:1})],2),F.unlinkPanels?(b(),M("button",{key:0,type:"button",disabled:!s(te),class:O([[s(m).e("icon-btn"),{[s(m).is("disabled")]:!s(te)}],"d-arrow-right"]),onClick:K[1]||(K[1]=(...I)=>s(R)&&s(R)(...I))},[ee(s(Ze),null,{default:le(()=>[ee(s(La))]),_:1})],10,_J)):se("v-if",!0),E("div",null,$e(s(L)),1)],2),ee(jv,{"selection-mode":"range",date:d.value,"min-date":s(p),"max-date":s(h),"range-state":s(v),"disabled-date":s(a),onChangerange:s(_),onPick:J,onSelect:s(w)},null,8,["date","min-date","max-date","range-state","disabled-date","onChangerange","onSelect"])],2),E("div",{class:O([[s(m).e("content"),s(f).e("content")],"is-right"])},[E("div",{class:O(s(f).e("header"))},[F.unlinkPanels?(b(),M("button",{key:0,type:"button",disabled:!s(te),class:O([[s(m).e("icon-btn"),{"is-disabled":!s(te)}],"d-arrow-left"]),onClick:K[2]||(K[2]=(...I)=>s(P)&&s(P)(...I))},[ee(s(Ze),null,{default:le(()=>[ee(s(Ra))]),_:1})],10,wJ)):se("v-if",!0),E("button",{type:"button",class:O([s(m).e("icon-btn"),"d-arrow-right"]),onClick:K[3]||(K[3]=(...I)=>s(T)&&s(T)(...I))},[ee(s(Ze),null,{default:le(()=>[ee(s(La))]),_:1})],2),E("div",null,$e(s(V)),1)],2),ee(jv,{"selection-mode":"range",date:u.value,"min-date":s(p),"max-date":s(h),"range-state":s(v),"disabled-date":s(a),onChangerange:s(_),onPick:J,onSelect:s(w)},null,8,["date","min-date","max-date","range-state","disabled-date","onChangerange","onSelect"])],2)],2)],2)],2))}});var xJ=Le(yJ,[["__file","panel-month-range.vue"]]);const kJ=function(e){switch(e){case"daterange":case"datetimerange":return hJ;case"monthrange":return xJ;default:return oJ}};kt.extend(Tw),kt.extend(fZ),kt.extend(mv),kt.extend(vZ),kt.extend(gZ),kt.extend(_Z),kt.extend(yZ),kt.extend(kZ);var CJ=N({name:"ElDatePicker",install:null,props:CZ,emits:["update:modelValue"],setup(e,{expose:t,emit:o,slots:r}){const l=ze("picker-panel");zt("ElPopperOptions",Dt(Yt(e,"popperOptions"))),zt(Lv,{slots:r,pickerNs:l});const n=D();t({focus:(c=!0)=>{var d;(d=n.value)==null||d.focus(c)},handleOpen:()=>{var c;(c=n.value)==null||c.handleOpen()},handleClose:()=>{var c;(c=n.value)==null||c.handleClose()}});const i=c=>{o("update:modelValue",c)};return()=>{var c;const d=(c=e.format)!=null?c:Kq[e.type]||ts,u=kJ(e.type);return ee(iw,Mt(e,{format:d,type:e.type,ref:n,"onUpdate:modelValue":i}),{default:p=>ee(u,p,null),"range-separator":r["range-separator"]})}}});const yp=CJ;yp.install=e=>{e.component(yp.name,yp)};const SJ=yp,Kv=Symbol("elDescriptions");var Dc=N({name:"ElDescriptionsCell",props:{cell:{type:Object},tag:{type:String,default:"td"},type:{type:String}},setup(){return{descriptions:Ge(Kv,{})}},render(){var e,t,o,r,l,n,a;const i=sF(this.cell),c=(((e=this.cell)==null?void 0:e.dirs)||[]).map($=>{const{dir:T,arg:R,modifiers:P,value:L}=$;return[T,L,R,P]}),{border:d,direction:u}=this.descriptions,p=u==="vertical",h=((r=(o=(t=this.cell)==null?void 0:t.children)==null?void 0:o.label)==null?void 0:r.call(o))||i.label,v=(a=(n=(l=this.cell)==null?void 0:l.children)==null?void 0:n.default)==null?void 0:a.call(n),m=i.span,f=i.align?`is-${i.align}`:"",_=i.labelAlign?`is-${i.labelAlign}`:f,g=i.className,y=i.labelClassName,w={width:mo(i.width),minWidth:mo(i.minWidth)},x=ze("descriptions");switch(this.type){case"label":return mt(rt(this.tag,{style:w,class:[x.e("cell"),x.e("label"),x.is("bordered-label",d),x.is("vertical-label",p),_,y],colSpan:p?m:1},h),c);case"content":return mt(rt(this.tag,{style:w,class:[x.e("cell"),x.e("content"),x.is("bordered-content",d),x.is("vertical-content",p),f,g],colSpan:p?m:m*2-1},v),c);default:return mt(rt("td",{style:w,class:[x.e("cell"),f],colSpan:m},[jo(h)?void 0:rt("span",{class:[x.e("label"),y]},h),rt("span",{class:[x.e("content"),g]},v)]),c)}}});const EJ=Pe({row:{type:ue(Array),default:()=>[]}}),TJ={key:1},$J=N({...N({name:"ElDescriptionsRow"}),props:EJ,setup(e){const t=Ge(Kv,{});return(o,r)=>s(t).direction==="vertical"?(b(),M(Qe,{key:0},[E("tr",null,[(b(!0),M(Qe,null,It(o.row,(l,n)=>(b(),he(s(Dc),{key:`tr1-${n}`,cell:l,tag:"th",type:"label"},null,8,["cell"]))),128))]),E("tr",null,[(b(!0),M(Qe,null,It(o.row,(l,n)=>(b(),he(s(Dc),{key:`tr2-${n}`,cell:l,tag:"td",type:"content"},null,8,["cell"]))),128))])],64)):(b(),M("tr",TJ,[(b(!0),M(Qe,null,It(o.row,(l,n)=>(b(),M(Qe,{key:`tr3-${n}`},[s(t).border?(b(),M(Qe,{key:0},[ee(s(Dc),{cell:l,tag:"td",type:"label"},null,8,["cell"]),ee(s(Dc),{cell:l,tag:"td",type:"content"},null,8,["cell"])],64)):(b(),he(s(Dc),{key:1,cell:l,tag:"td",type:"both"},null,8,["cell"]))],64))),128))]))}});var MJ=Le($J,[["__file","descriptions-row.vue"]]);const AJ=Pe({border:{type:Boolean,default:!1},column:{type:Number,default:3},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},size:Oo,title:{type:String,default:""},extra:{type:String,default:""}}),zJ=N({...N({name:"ElDescriptions"}),props:AJ,setup(e){const t=e,o=ze("descriptions"),r=So(),l=Do();zt(Kv,t);const n=C(()=>[o.b(),o.m(r.value)]),a=(c,d,u,p=!1)=>(c.props||(c.props={}),d>u&&(c.props.span=u),p&&(c.props.span=d),c),i=()=>{if(!l.default)return[];const c=Qn(l.default()).filter(v=>{var m;return((m=v==null?void 0:v.type)==null?void 0:m.name)==="ElDescriptionsItem"}),d=[];let u=[],p=t.column,h=0;return c.forEach((v,m)=>{var f;const _=((f=v.props)==null?void 0:f.span)||1;if(mp?p:_),m===c.length-1){const g=t.column-h%t.column;u.push(a(v,g,p,!0)),d.push(u);return}_(b(),M("div",{class:O(s(n))},[c.title||c.extra||c.$slots.title||c.$slots.extra?(b(),M("div",{key:0,class:O(s(o).e("header"))},[E("div",{class:O(s(o).e("title"))},[be(c.$slots,"title",{},()=>[Ct($e(c.title),1)])],2),E("div",{class:O(s(o).e("extra"))},[be(c.$slots,"extra",{},()=>[Ct($e(c.extra),1)])],2)],2)):se("v-if",!0),E("div",{class:O(s(o).e("body"))},[E("table",{class:O([s(o).e("table"),s(o).is("bordered",c.border)])},[E("tbody",null,[(b(!0),M(Qe,null,It(i(),(u,p)=>(b(),he(MJ,{key:p,row:u},null,8,["row"]))),128))])],2)],2)],2))}});var IJ=Le(zJ,[["__file","description.vue"]]);const OJ=Pe({label:{type:String,default:""},span:{type:Number,default:1},width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},align:{type:String,default:"left"},labelAlign:{type:String,default:""},className:{type:String,default:""},labelClassName:{type:String,default:""}}),by=N({name:"ElDescriptionsItem",props:OJ}),NJ=yt(IJ,{DescriptionsItem:by}),PJ=co(by),RJ=Pe({mask:{type:Boolean,default:!0},customMaskEvent:{type:Boolean,default:!1},overlayClass:{type:ue([String,Array,Object])},zIndex:{type:ue([String,Number])}}),LJ={click:e=>e instanceof MouseEvent},BJ="overlay";var VJ=N({name:"ElOverlay",props:RJ,emits:LJ,setup(e,{slots:t,emit:o}){const r=ze(BJ),l=c=>{o("click",c)},{onClick:n,onMousedown:a,onMouseup:i}=Ph(e.customMaskEvent?void 0:l);return()=>e.mask?ee("div",{class:[r.b(),e.overlayClass],style:{zIndex:e.zIndex},onClick:n,onMousedown:a,onMouseup:i},[be(t,"default")],Qr.STYLE|Qr.CLASS|Qr.PROPS,["onClick","onMouseup","onMousedown"]):rt("div",{class:e.overlayClass,style:{zIndex:e.zIndex,position:"fixed",top:"0px",right:"0px",bottom:"0px",left:"0px"}},[be(t,"default")])}});const Uv=VJ,_y=Symbol("dialogInjectionKey"),wy=Pe({center:Boolean,alignCenter:Boolean,closeIcon:{type:Xt},draggable:Boolean,overflow:Boolean,fullscreen:Boolean,showClose:{type:Boolean,default:!0},title:{type:String,default:""},ariaLevel:{type:String,default:"2"}}),DJ={close:()=>!0},HJ=["aria-level"],FJ=["aria-label"],jJ=["id"],KJ=N({...N({name:"ElDialogContent"}),props:wy,emits:DJ,setup(e){const t=e,{t:o}=Rt(),{Close:r}=gh,{dialogRef:l,headerRef:n,bodyId:a,ns:i,style:c}=Ge(_y),{focusTrapRef:d}=Ge(iv),u=C(()=>[i.b(),i.is("fullscreen",t.fullscreen),i.is("draggable",t.draggable),i.is("align-center",t.alignCenter),{[i.m("center")]:t.center}]),p=Nd(d,l),h=C(()=>t.draggable),v=C(()=>t.overflow);return r6(l,n,h,v),(m,f)=>(b(),M("div",{ref:s(p),class:O(s(u)),style:Je(s(c)),tabindex:"-1"},[E("header",{ref_key:"headerRef",ref:n,class:O([s(i).e("header"),{"show-close":m.showClose}])},[be(m.$slots,"header",{},()=>[E("span",{role:"heading","aria-level":m.ariaLevel,class:O(s(i).e("title"))},$e(m.title),11,HJ)]),m.showClose?(b(),M("button",{key:0,"aria-label":s(o)("el.dialog.close"),class:O(s(i).e("headerbtn")),type:"button",onClick:f[0]||(f[0]=_=>m.$emit("close"))},[ee(s(Ze),{class:O(s(i).e("close"))},{default:le(()=>[(b(),he(Et(m.closeIcon||s(r))))]),_:1},8,["class"])],10,FJ)):se("v-if",!0)],2),E("div",{id:s(a),class:O(s(i).e("body"))},[be(m.$slots,"default")],10,jJ),m.$slots.footer?(b(),M("footer",{key:0,class:O(s(i).e("footer"))},[be(m.$slots,"footer")],2)):se("v-if",!0)],6))}});var UJ=Le(KJ,[["__file","dialog-content.vue"]]);const yy=Pe({...wy,appendToBody:Boolean,appendTo:{type:ue(String),default:"body"},beforeClose:{type:ue(Function)},destroyOnClose:Boolean,closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},openDelay:{type:Number,default:0},closeDelay:{type:Number,default:0},top:{type:String},modelValue:Boolean,modalClass:String,width:{type:[String,Number]},zIndex:{type:Number},trapFocus:{type:Boolean,default:!1},headerAriaLevel:{type:String,default:"2"}}),xy={open:()=>!0,opened:()=>!0,close:()=>!0,closed:()=>!0,[St]:e=>Co(e),openAutoFocus:()=>!0,closeAutoFocus:()=>!0},ky=(e,t)=>{var o;const l=wt().emit,{nextZIndex:n}=Ki();let a="";const i=Qo(),c=Qo(),d=D(!1),u=D(!1),p=D(!1),h=D((o=e.zIndex)!=null?o:n());let v,m;const f=Mc("namespace",gc),_=C(()=>{const Z={},H=`--${f.value}-dialog`;return e.fullscreen||(e.top&&(Z[`${H}-margin-top`]=e.top),e.width&&(Z[`${H}-width`]=mo(e.width))),Z}),g=C(()=>e.alignCenter?{display:"flex"}:{});function y(){l("opened")}function w(){l("closed"),l(St,!1),e.destroyOnClose&&(p.value=!1)}function x(){l("close")}function $(){m==null||m(),v==null||v(),e.openDelay&&e.openDelay>0?{stop:v}=$a(()=>L(),e.openDelay):L()}function T(){v==null||v(),m==null||m(),e.closeDelay&&e.closeDelay>0?{stop:m}=$a(()=>V(),e.closeDelay):V()}function R(){function Z(H){H||(u.value=!0,d.value=!1)}e.beforeClose?e.beforeClose(Z):T()}function P(){e.closeOnClickModal&&R()}function L(){Nt&&(d.value=!0)}function V(){d.value=!1}function B(){l("openAutoFocus")}function j(){l("closeAutoFocus")}function te(Z){var H;((H=Z.detail)==null?void 0:H.focusReason)==="pointer"&&Z.preventDefault()}e.lockScroll&&Sh(d);function J(){e.closeOnPressEscape&&R()}return Se(()=>e.modelValue,Z=>{Z?(u.value=!1,$(),p.value=!0,h.value=C3(e.zIndex)?n():h.value++,et(()=>{l("open"),t.value&&(t.value.scrollTop=0)})):d.value&&T()}),Se(()=>e.fullscreen,Z=>{t.value&&(Z?(a=t.value.style.transform,t.value.style.transform=""):t.value.style.transform=a)}),ft(()=>{e.modelValue&&(d.value=!0,p.value=!0,$())}),{afterEnter:y,afterLeave:w,beforeLeave:x,handleClose:R,onModalClick:P,close:T,doClose:V,onOpenAutoFocus:B,onCloseAutoFocus:j,onCloseRequested:J,onFocusoutPrevented:te,titleId:i,bodyId:c,closed:u,style:_,overlayDialogStyle:g,rendered:p,visible:d,zIndex:h}},WJ=["aria-label","aria-labelledby","aria-describedby"],qJ=N({...N({name:"ElDialog",inheritAttrs:!1}),props:yy,emits:xy,setup(e,{expose:t}){const o=e,r=Do();Lo({scope:"el-dialog",from:"the title slot",replacement:"the header slot",version:"3.0.0",ref:"https://element-plus.org/en-US/component/dialog.html#slots"},C(()=>!!r.title));const l=ze("dialog"),n=D(),a=D(),i=D(),{visible:c,titleId:d,bodyId:u,style:p,overlayDialogStyle:h,rendered:v,zIndex:m,afterEnter:f,afterLeave:_,beforeLeave:g,handleClose:y,onModalClick:w,onOpenAutoFocus:x,onCloseAutoFocus:$,onCloseRequested:T,onFocusoutPrevented:R}=ky(o,n);zt(_y,{dialogRef:n,headerRef:a,bodyId:u,ns:l,rendered:v,style:p});const P=Ph(w),L=C(()=>o.draggable&&!o.fullscreen);return t({visible:c,dialogContentRef:i}),(V,B)=>(b(),he(hi,{to:V.appendTo,disabled:V.appendTo!=="body"?!1:!V.appendToBody},[ee(Mo,{name:"dialog-fade",onAfterEnter:s(f),onAfterLeave:s(_),onBeforeLeave:s(g),persisted:""},{default:le(()=>[mt(ee(s(Uv),{"custom-mask-event":"",mask:V.modal,"overlay-class":V.modalClass,"z-index":s(m)},{default:le(()=>[E("div",{role:"dialog","aria-modal":"true","aria-label":V.title||void 0,"aria-labelledby":V.title?void 0:s(d),"aria-describedby":s(u),class:O(`${s(l).namespace.value}-overlay-dialog`),style:Je(s(h)),onClick:B[0]||(B[0]=(...j)=>s(P).onClick&&s(P).onClick(...j)),onMousedown:B[1]||(B[1]=(...j)=>s(P).onMousedown&&s(P).onMousedown(...j)),onMouseup:B[2]||(B[2]=(...j)=>s(P).onMouseup&&s(P).onMouseup(...j))},[ee(s(Nc),{loop:"",trapped:s(c),"focus-start-el":"container",onFocusAfterTrapped:s(x),onFocusAfterReleased:s($),onFocusoutPrevented:s(R),onReleaseRequested:s(T)},{default:le(()=>[s(v)?(b(),he(UJ,Mt({key:0,ref_key:"dialogContentRef",ref:i},V.$attrs,{center:V.center,"align-center":V.alignCenter,"close-icon":V.closeIcon,draggable:s(L),overflow:V.overflow,fullscreen:V.fullscreen,"show-close":V.showClose,title:V.title,"aria-level":V.headerAriaLevel,onClose:s(y)}),ln({header:le(()=>[V.$slots.title?be(V.$slots,"title",{key:1}):be(V.$slots,"header",{key:0,close:s(y),titleId:s(d),titleClass:s(l).e("title")})]),default:le(()=>[be(V.$slots,"default")]),_:2},[V.$slots.footer?{name:"footer",fn:le(()=>[be(V.$slots,"footer")])}:void 0]),1040,["center","align-center","close-icon","draggable","overflow","fullscreen","show-close","title","aria-level","onClose"])):se("v-if",!0)]),_:3},8,["trapped","onFocusAfterTrapped","onFocusAfterReleased","onFocusoutPrevented","onReleaseRequested"])],46,WJ)]),_:3},8,["mask","overlay-class","z-index"]),[[Lt,s(c)]])]),_:3},8,["onAfterEnter","onAfterLeave","onBeforeLeave"])],8,["to","disabled"]))}});var YJ=Le(qJ,[["__file","dialog.vue"]]);const GJ=yt(YJ),XJ=Pe({direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},contentPosition:{type:String,values:["left","center","right"],default:"center"},borderStyle:{type:ue(String),default:"solid"}}),ZJ=N({...N({name:"ElDivider"}),props:XJ,setup(e){const t=e,o=ze("divider"),r=C(()=>o.cssVar({"border-style":t.borderStyle}));return(l,n)=>(b(),M("div",{class:O([s(o).b(),s(o).m(l.direction)]),style:Je(s(r)),role:"separator"},[l.$slots.default&&l.direction!=="vertical"?(b(),M("div",{key:0,class:O([s(o).e("text"),s(o).is(l.contentPosition)])},[be(l.$slots,"default")],2)):se("v-if",!0)],6))}});var JJ=Le(ZJ,[["__file","divider.vue"]]);const Cy=yt(JJ),QJ=Pe({...yy,direction:{type:String,default:"rtl",values:["ltr","rtl","ttb","btt"]},size:{type:[String,Number],default:"30%"},withHeader:{type:Boolean,default:!0},modalFade:{type:Boolean,default:!0},headerAriaLevel:{type:String,default:"2"}}),eQ=xy,tQ=["aria-label","aria-labelledby","aria-describedby"],oQ=["id","aria-level"],rQ=["aria-label"],lQ=["id"],nQ=N({...N({name:"ElDrawer",inheritAttrs:!1}),props:QJ,emits:eQ,setup(e,{expose:t}){const o=e,r=Do();Lo({scope:"el-drawer",from:"the title slot",replacement:"the header slot",version:"3.0.0",ref:"https://element-plus.org/en-US/component/drawer.html#slots"},C(()=>!!r.title));const l=D(),n=D(),a=ze("drawer"),{t:i}=Rt(),{afterEnter:c,afterLeave:d,beforeLeave:u,visible:p,rendered:h,titleId:v,bodyId:m,zIndex:f,onModalClick:_,onOpenAutoFocus:g,onCloseAutoFocus:y,onFocusoutPrevented:w,onCloseRequested:x,handleClose:$}=ky(o,l),T=C(()=>o.direction==="rtl"||o.direction==="ltr"),R=C(()=>mo(o.size));return t({handleClose:$,afterEnter:c,afterLeave:d}),(P,L)=>(b(),he(hi,{to:"body",disabled:!P.appendToBody},[ee(Mo,{name:s(a).b("fade"),onAfterEnter:s(c),onAfterLeave:s(d),onBeforeLeave:s(u),persisted:""},{default:le(()=>[mt(ee(s(Uv),{mask:P.modal,"overlay-class":P.modalClass,"z-index":s(f),onClick:s(_)},{default:le(()=>[ee(s(Nc),{loop:"",trapped:s(p),"focus-trap-el":l.value,"focus-start-el":n.value,onFocusAfterTrapped:s(g),onFocusAfterReleased:s(y),onFocusoutPrevented:s(w),onReleaseRequested:s(x)},{default:le(()=>[E("div",Mt({ref_key:"drawerRef",ref:l,"aria-modal":"true","aria-label":P.title||void 0,"aria-labelledby":P.title?void 0:s(v),"aria-describedby":s(m)},P.$attrs,{class:[s(a).b(),P.direction,s(p)&&"open"],style:s(T)?"width: "+s(R):"height: "+s(R),role:"dialog",onClick:L[1]||(L[1]=ct(()=>{},["stop"]))}),[E("span",{ref_key:"focusStartRef",ref:n,class:O(s(a).e("sr-focus")),tabindex:"-1"},null,2),P.withHeader?(b(),M("header",{key:0,class:O(s(a).e("header"))},[P.$slots.title?be(P.$slots,"title",{key:1},()=>[se(" DEPRECATED SLOT ")]):be(P.$slots,"header",{key:0,close:s($),titleId:s(v),titleClass:s(a).e("title")},()=>[P.$slots.title?se("v-if",!0):(b(),M("span",{key:0,id:s(v),role:"heading","aria-level":P.headerAriaLevel,class:O(s(a).e("title"))},$e(P.title),11,oQ))]),P.showClose?(b(),M("button",{key:2,"aria-label":s(i)("el.drawer.close"),class:O(s(a).e("close-btn")),type:"button",onClick:L[0]||(L[0]=(...V)=>s($)&&s($)(...V))},[ee(s(Ze),{class:O(s(a).e("close"))},{default:le(()=>[ee(s(Jr))]),_:1},8,["class"])],10,rQ)):se("v-if",!0)],2)):se("v-if",!0),s(h)?(b(),M("div",{key:1,id:s(m),class:O(s(a).e("body"))},[be(P.$slots,"default")],10,lQ)):se("v-if",!0),P.$slots.footer?(b(),M("div",{key:2,class:O(s(a).e("footer"))},[be(P.$slots,"footer")],2)):se("v-if",!0)],16,tQ)]),_:3},8,["trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusoutPrevented","onReleaseRequested"])]),_:3},8,["mask","overlay-class","z-index","onClick"]),[[Lt,s(p)]])]),_:3},8,["name","onAfterEnter","onAfterLeave","onBeforeLeave"])],8,["disabled"]))}});var aQ=Le(nQ,[["__file","drawer.vue"]]);const iQ=yt(aQ),sQ=N({inheritAttrs:!1});function cQ(e,t,o,r,l,n){return be(e.$slots,"default")}var uQ=Le(sQ,[["render",cQ],["__file","collection.vue"]]);const dQ=N({name:"ElCollectionItem",inheritAttrs:!1});function pQ(e,t,o,r,l,n){return be(e.$slots,"default")}var fQ=Le(dQ,[["render",pQ],["__file","collection-item.vue"]]);const Sy="data-el-collection-item",Ey=e=>{const t=`El${e}Collection`,o=`${t}Item`,r=Symbol(t),l=Symbol(o),n={...uQ,name:t,setup(){const i=D(null),c=new Map;zt(r,{itemMap:c,getItems:()=>{const u=s(i);if(!u)return[];const p=Array.from(u.querySelectorAll(`[${Sy}]`));return[...c.values()].sort((v,m)=>p.indexOf(v.ref)-p.indexOf(m.ref))},collectionRef:i})}},a={...fQ,name:o,setup(i,{attrs:c}){const d=D(null),u=Ge(r,void 0);zt(l,{collectionItemRef:d}),ft(()=>{const p=s(d);p&&u.itemMap.set(p,{ref:p,...c})}),to(()=>{const p=s(d);u.itemMap.delete(p)})}};return{COLLECTION_INJECTION_KEY:r,COLLECTION_ITEM_INJECTION_KEY:l,ElCollection:n,ElCollectionItem:a}},hQ=Pe({style:{type:ue([String,Array,Object])},currentTabId:{type:ue(String)},defaultCurrentTabId:String,loop:Boolean,dir:{type:String,values:["ltr","rtl"],default:"ltr"},orientation:{type:ue(String)},onBlur:Function,onFocus:Function,onMousedown:Function}),{ElCollection:vQ,ElCollectionItem:mQ,COLLECTION_INJECTION_KEY:Wv,COLLECTION_ITEM_INJECTION_KEY:gQ}=Ey("RovingFocusGroup"),qv=Symbol("elRovingFocusGroup"),Ty=Symbol("elRovingFocusGroupItem"),bQ={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"},_Q=(e,t)=>e,wQ=(e,t,o)=>{const r=_Q(e.key);return bQ[r]},yQ=(e,t)=>e.map((o,r)=>e[(r+t)%e.length]),Yv=e=>{const{activeElement:t}=document;for(const o of e)if(o===t||(o.focus(),t!==document.activeElement))return},$y="currentTabIdChange",My="rovingFocusGroup.entryFocus",xQ={bubbles:!1,cancelable:!0},kQ=N({name:"ElRovingFocusGroupImpl",inheritAttrs:!1,props:hQ,emits:[$y,"entryFocus"],setup(e,{emit:t}){var o;const r=D((o=e.currentTabId||e.defaultCurrentTabId)!=null?o:null),l=D(!1),n=D(!1),a=D(null),{getItems:i}=Ge(Wv,void 0),c=C(()=>[{outline:"none"},e.style]),d=f=>{t($y,f)},u=()=>{l.value=!0},p=ho(f=>{var _;(_=e.onMousedown)==null||_.call(e,f)},()=>{n.value=!0}),h=ho(f=>{var _;(_=e.onFocus)==null||_.call(e,f)},f=>{const _=!s(n),{target:g,currentTarget:y}=f;if(g===y&&_&&!s(l)){const w=new Event(My,xQ);if(y==null||y.dispatchEvent(w),!w.defaultPrevented){const x=i().filter(L=>L.focusable),$=x.find(L=>L.active),T=x.find(L=>L.id===s(r)),P=[$,T,...x].filter(Boolean).map(L=>L.ref);Yv(P)}}n.value=!1}),v=ho(f=>{var _;(_=e.onBlur)==null||_.call(e,f)},()=>{l.value=!1}),m=(...f)=>{t("entryFocus",...f)};zt(qv,{currentTabbedId:ui(r),loop:Yt(e,"loop"),tabIndex:C(()=>s(l)?-1:0),rovingFocusGroupRef:a,rovingFocusGroupRootStyle:c,orientation:Yt(e,"orientation"),dir:Yt(e,"dir"),onItemFocus:d,onItemShiftTab:u,onBlur:v,onFocus:h,onMousedown:p}),Se(()=>e.currentTabId,f=>{r.value=f??null}),oo(a,My,m)}});function CQ(e,t,o,r,l,n){return be(e.$slots,"default")}var SQ=Le(kQ,[["render",CQ],["__file","roving-focus-group-impl.vue"]]);const EQ=N({name:"ElRovingFocusGroup",components:{ElFocusGroupCollection:vQ,ElRovingFocusGroupImpl:SQ}});function TQ(e,t,o,r,l,n){const a=nt("el-roving-focus-group-impl"),i=nt("el-focus-group-collection");return b(),he(i,null,{default:le(()=>[ee(a,Zl(mi(e.$attrs)),{default:le(()=>[be(e.$slots,"default")]),_:3},16)]),_:3})}var $Q=Le(EQ,[["render",TQ],["__file","roving-focus-group.vue"]]);const MQ=N({components:{ElRovingFocusCollectionItem:mQ},props:{focusable:{type:Boolean,default:!0},active:{type:Boolean,default:!1}},emits:["mousedown","focus","keydown"],setup(e,{emit:t}){const{currentTabbedId:o,loop:r,onItemFocus:l,onItemShiftTab:n}=Ge(qv,void 0),{getItems:a}=Ge(Wv,void 0),i=Qo(),c=D(null),d=ho(v=>{t("mousedown",v)},v=>{e.focusable?l(s(i)):v.preventDefault()}),u=ho(v=>{t("focus",v)},()=>{l(s(i))}),p=ho(v=>{t("keydown",v)},v=>{const{key:m,shiftKey:f,target:_,currentTarget:g}=v;if(m===lt.tab&&f){n();return}if(_!==g)return;const y=wQ(v);if(y){v.preventDefault();let x=a().filter($=>$.focusable).map($=>$.ref);switch(y){case"last":{x.reverse();break}case"prev":case"next":{y==="prev"&&x.reverse();const $=x.indexOf(g);x=r.value?yQ(x,$+1):x.slice($+1);break}}et(()=>{Yv(x)})}}),h=C(()=>o.value===s(i));return zt(Ty,{rovingFocusGroupItemRef:c,tabIndex:C(()=>s(h)?0:-1),handleMousedown:d,handleFocus:u,handleKeydown:p}),{id:i,handleKeydown:p,handleFocus:u,handleMousedown:d}}});function AQ(e,t,o,r,l,n){const a=nt("el-roving-focus-collection-item");return b(),he(a,{id:e.id,focusable:e.focusable,active:e.active},{default:le(()=>[be(e.$slots,"default")]),_:3},8,["id","focusable","active"])}var zQ=Le(MQ,[["render",AQ],["__file","roving-focus-item.vue"]]);const xp=Pe({trigger:Pc.trigger,effect:{...Uo.effect,default:"light"},type:{type:ue(String)},placement:{type:ue(String),default:"bottom"},popperOptions:{type:ue(Object),default:()=>({})},id:String,size:{type:String,default:""},splitButton:Boolean,hideOnClick:{type:Boolean,default:!0},loop:{type:Boolean,default:!0},showTimeout:{type:Number,default:150},hideTimeout:{type:Number,default:150},tabindex:{type:ue([Number,String]),default:0},maxHeight:{type:ue([Number,String]),default:""},popperClass:{type:String,default:""},disabled:{type:Boolean,default:!1},role:{type:String,default:"menu"},buttonProps:{type:ue(Object)},teleported:Uo.teleported}),Ay=Pe({command:{type:[Object,String,Number],default:()=>({})},disabled:Boolean,divided:Boolean,textValue:String,icon:{type:Xt}}),IQ=Pe({onKeydown:{type:ue(Function)}}),OQ=[lt.down,lt.pageDown,lt.home],zy=[lt.up,lt.pageUp,lt.end],NQ=[...OQ,...zy],{ElCollection:PQ,ElCollectionItem:RQ,COLLECTION_INJECTION_KEY:LQ,COLLECTION_ITEM_INJECTION_KEY:BQ}=Ey("Dropdown"),kp=Symbol("elDropdown"),{ButtonGroup:VQ}=Wo,DQ=N({name:"ElDropdown",components:{ElButton:Wo,ElButtonGroup:VQ,ElScrollbar:wn,ElDropdownCollection:PQ,ElTooltip:ur,ElRovingFocusGroup:$Q,ElOnlyChild:x4,ElIcon:Ze,ArrowDown:Pl},props:xp,emits:["visible-change","click","command"],setup(e,{emit:t}){const o=wt(),r=ze("dropdown"),{t:l}=Rt(),n=D(),a=D(),i=D(null),c=D(null),d=D(null),u=D(null),p=D(!1),h=[lt.enter,lt.space,lt.down],v=C(()=>({maxHeight:mo(e.maxHeight)})),m=C(()=>[r.m($.value)]),f=C(()=>Gn(e.trigger)),_=Qo().value,g=C(()=>e.id||_);Se([n,f],([F,K],[I])=>{var U,oe,ne;(U=I==null?void 0:I.$el)!=null&&U.removeEventListener&&I.$el.removeEventListener("pointerenter",R),(oe=F==null?void 0:F.$el)!=null&&oe.removeEventListener&&F.$el.removeEventListener("pointerenter",R),(ne=F==null?void 0:F.$el)!=null&&ne.addEventListener&&K.includes("hover")&&F.$el.addEventListener("pointerenter",R)},{immediate:!0}),to(()=>{var F,K;(K=(F=n.value)==null?void 0:F.$el)!=null&&K.removeEventListener&&n.value.$el.removeEventListener("pointerenter",R)});function y(){w()}function w(){var F;(F=i.value)==null||F.onClose()}function x(){var F;(F=i.value)==null||F.onOpen()}const $=So();function T(...F){t("command",...F)}function R(){var F,K;(K=(F=n.value)==null?void 0:F.$el)==null||K.focus()}function P(){}function L(){const F=s(c);f.value.includes("hover")&&(F==null||F.focus()),u.value=null}function V(F){u.value=F}function B(F){p.value||(F.preventDefault(),F.stopImmediatePropagation())}function j(){t("visible-change",!0)}function te(F){(F==null?void 0:F.type)==="keydown"&&c.value.focus()}function J(){t("visible-change",!1)}return zt(kp,{contentRef:c,role:C(()=>e.role),triggerId:g,isUsingKeyboard:p,onItemEnter:P,onItemLeave:L}),zt("elDropdown",{instance:o,dropdownSize:$,handleClick:y,commandHandler:T,trigger:Yt(e,"trigger"),hideOnClick:Yt(e,"hideOnClick")}),{t:l,ns:r,scrollbar:d,wrapStyle:v,dropdownTriggerKls:m,dropdownSize:$,triggerId:g,triggerKeys:h,currentTabId:u,handleCurrentTabIdChange:V,handlerMainButtonClick:F=>{t("click",F)},handleEntryFocus:B,handleClose:w,handleOpen:x,handleBeforeShowTooltip:j,handleShowTooltip:te,handleBeforeHideTooltip:J,onFocusAfterTrapped:F=>{var K,I;F.preventDefault(),(I=(K=c.value)==null?void 0:K.focus)==null||I.call(K,{preventScroll:!0})},popperRef:i,contentRef:c,triggeringElementRef:n,referenceElementRef:a}}});function HQ(e,t,o,r,l,n){var a;const i=nt("el-dropdown-collection"),c=nt("el-roving-focus-group"),d=nt("el-scrollbar"),u=nt("el-only-child"),p=nt("el-tooltip"),h=nt("el-button"),v=nt("arrow-down"),m=nt("el-icon"),f=nt("el-button-group");return b(),M("div",{class:O([e.ns.b(),e.ns.is("disabled",e.disabled)])},[ee(p,{ref:"popperRef",role:e.role,effect:e.effect,"fallback-placements":["bottom","top"],"popper-options":e.popperOptions,"gpu-acceleration":!1,"hide-after":e.trigger==="hover"?e.hideTimeout:0,"manual-mode":!0,placement:e.placement,"popper-class":[e.ns.e("popper"),e.popperClass],"reference-element":(a=e.referenceElementRef)==null?void 0:a.$el,trigger:e.trigger,"trigger-keys":e.triggerKeys,"trigger-target-el":e.contentRef,"show-after":e.trigger==="hover"?e.showTimeout:0,"stop-popper-mouse-event":!1,"virtual-ref":e.triggeringElementRef,"virtual-triggering":e.splitButton,disabled:e.disabled,transition:`${e.ns.namespace.value}-zoom-in-top`,teleported:e.teleported,pure:"",persistent:"",onBeforeShow:e.handleBeforeShowTooltip,onShow:e.handleShowTooltip,onBeforeHide:e.handleBeforeHideTooltip},ln({content:le(()=>[ee(d,{ref:"scrollbar","wrap-style":e.wrapStyle,tag:"div","view-class":e.ns.e("list")},{default:le(()=>[ee(c,{loop:e.loop,"current-tab-id":e.currentTabId,orientation:"horizontal",onCurrentTabIdChange:e.handleCurrentTabIdChange,onEntryFocus:e.handleEntryFocus},{default:le(()=>[ee(i,null,{default:le(()=>[be(e.$slots,"dropdown")]),_:3})]),_:3},8,["loop","current-tab-id","onCurrentTabIdChange","onEntryFocus"])]),_:3},8,["wrap-style","view-class"])]),_:2},[e.splitButton?void 0:{name:"default",fn:le(()=>[ee(u,{id:e.triggerId,ref:"triggeringElementRef",role:"button",tabindex:e.tabindex},{default:le(()=>[be(e.$slots,"default")]),_:3},8,["id","tabindex"])])}]),1032,["role","effect","popper-options","hide-after","placement","popper-class","reference-element","trigger","trigger-keys","trigger-target-el","show-after","virtual-ref","virtual-triggering","disabled","transition","teleported","onBeforeShow","onShow","onBeforeHide"]),e.splitButton?(b(),he(f,{key:0},{default:le(()=>[ee(h,Mt({ref:"referenceElementRef"},e.buttonProps,{size:e.dropdownSize,type:e.type,disabled:e.disabled,tabindex:e.tabindex,onClick:e.handlerMainButtonClick}),{default:le(()=>[be(e.$slots,"default")]),_:3},16,["size","type","disabled","tabindex","onClick"]),ee(h,Mt({id:e.triggerId,ref:"triggeringElementRef"},e.buttonProps,{role:"button",size:e.dropdownSize,type:e.type,class:e.ns.e("caret-button"),disabled:e.disabled,tabindex:e.tabindex,"aria-label":e.t("el.dropdown.toggleDropdown")}),{default:le(()=>[ee(m,{class:O(e.ns.e("icon"))},{default:le(()=>[ee(v)]),_:1},8,["class"])]),_:1},16,["id","size","type","class","disabled","tabindex","aria-label"])]),_:3})):se("v-if",!0)],2)}var FQ=Le(DQ,[["render",HQ],["__file","dropdown.vue"]]);const jQ=N({name:"DropdownItemImpl",components:{ElIcon:Ze},props:Ay,emits:["pointermove","pointerleave","click","clickimpl"],setup(e,{emit:t}){const o=ze("dropdown"),{role:r}=Ge(kp,void 0),{collectionItemRef:l}=Ge(BQ,void 0),{collectionItemRef:n}=Ge(gQ,void 0),{rovingFocusGroupItemRef:a,tabIndex:i,handleFocus:c,handleKeydown:d,handleMousedown:u}=Ge(Ty,void 0),p=Nd(l,n,a),h=C(()=>r.value==="menu"?"menuitem":r.value==="navigation"?"link":"button"),v=ho(m=>{const{code:f}=m;if(f===lt.enter||f===lt.space)return m.preventDefault(),m.stopImmediatePropagation(),t("clickimpl",m),!0},d);return{ns:o,itemRef:p,dataset:{[Sy]:""},role:h,tabIndex:i,handleFocus:c,handleKeydown:v,handleMousedown:u}}}),KQ=["aria-disabled","tabindex","role"];function UQ(e,t,o,r,l,n){const a=nt("el-icon");return b(),M(Qe,null,[e.divided?(b(),M("li",Mt({key:0,role:"separator",class:e.ns.bem("menu","item","divided")},e.$attrs),null,16)):se("v-if",!0),E("li",Mt({ref:e.itemRef},{...e.dataset,...e.$attrs},{"aria-disabled":e.disabled,class:[e.ns.be("menu","item"),e.ns.is("disabled",e.disabled)],tabindex:e.tabIndex,role:e.role,onClick:t[0]||(t[0]=i=>e.$emit("clickimpl",i)),onFocus:t[1]||(t[1]=(...i)=>e.handleFocus&&e.handleFocus(...i)),onKeydown:t[2]||(t[2]=ct((...i)=>e.handleKeydown&&e.handleKeydown(...i),["self"])),onMousedown:t[3]||(t[3]=(...i)=>e.handleMousedown&&e.handleMousedown(...i)),onPointermove:t[4]||(t[4]=i=>e.$emit("pointermove",i)),onPointerleave:t[5]||(t[5]=i=>e.$emit("pointerleave",i))}),[e.icon?(b(),he(a,{key:0},{default:le(()=>[(b(),he(Et(e.icon)))]),_:1})):se("v-if",!0),be(e.$slots,"default")],16,KQ)],64)}var WQ=Le(jQ,[["render",UQ],["__file","dropdown-item-impl.vue"]]);const Iy=()=>{const e=Ge("elDropdown",{}),t=C(()=>e==null?void 0:e.dropdownSize);return{elDropdown:e,_elDropdownSize:t}},qQ=N({name:"ElDropdownItem",components:{ElDropdownCollectionItem:RQ,ElRovingFocusItem:zQ,ElDropdownItemImpl:WQ},inheritAttrs:!1,props:Ay,emits:["pointermove","pointerleave","click"],setup(e,{emit:t,attrs:o}){const{elDropdown:r}=Iy(),l=wt(),n=D(null),a=C(()=>{var v,m;return(m=(v=s(n))==null?void 0:v.textContent)!=null?m:""}),{onItemEnter:i,onItemLeave:c}=Ge(kp,void 0),d=ho(v=>(t("pointermove",v),v.defaultPrevented),Kb(v=>{if(e.disabled){c(v);return}const m=v.currentTarget;m===document.activeElement||m.contains(document.activeElement)||(i(v),v.defaultPrevented||m==null||m.focus())})),u=ho(v=>(t("pointerleave",v),v.defaultPrevented),Kb(v=>{c(v)})),p=ho(v=>{if(!e.disabled)return t("click",v),v.type!=="keydown"&&v.defaultPrevented},v=>{var m,f,_;if(e.disabled){v.stopImmediatePropagation();return}(m=r==null?void 0:r.hideOnClick)!=null&&m.value&&((f=r.handleClick)==null||f.call(r)),(_=r.commandHandler)==null||_.call(r,e.command,l,v)}),h=C(()=>({...e,...o}));return{handleClick:p,handlePointerMove:d,handlePointerLeave:u,textContent:a,propsAndAttrs:h}}});function YQ(e,t,o,r,l,n){var a;const i=nt("el-dropdown-item-impl"),c=nt("el-roving-focus-item"),d=nt("el-dropdown-collection-item");return b(),he(d,{disabled:e.disabled,"text-value":(a=e.textValue)!=null?a:e.textContent},{default:le(()=>[ee(c,{focusable:!e.disabled},{default:le(()=>[ee(i,Mt(e.propsAndAttrs,{onPointerleave:e.handlePointerLeave,onPointermove:e.handlePointerMove,onClickimpl:e.handleClick}),{default:le(()=>[be(e.$slots,"default")]),_:3},16,["onPointerleave","onPointermove","onClickimpl"])]),_:3},8,["focusable"])]),_:3},8,["disabled","text-value"])}var Oy=Le(qQ,[["render",YQ],["__file","dropdown-item.vue"]]);const GQ=N({name:"ElDropdownMenu",props:IQ,setup(e){const t=ze("dropdown"),{_elDropdownSize:o}=Iy(),r=o.value,{focusTrapRef:l,onKeydown:n}=Ge(iv,void 0),{contentRef:a,role:i,triggerId:c}=Ge(kp,void 0),{collectionRef:d,getItems:u}=Ge(LQ,void 0),{rovingFocusGroupRef:p,rovingFocusGroupRootStyle:h,tabIndex:v,onBlur:m,onFocus:f,onMousedown:_}=Ge(qv,void 0),{collectionRef:g}=Ge(Wv,void 0),y=C(()=>[t.b("menu"),t.bm("menu",r==null?void 0:r.value)]),w=Nd(a,d,l,p,g),x=ho(T=>{var R;(R=e.onKeydown)==null||R.call(e,T)},T=>{const{currentTarget:R,code:P,target:L}=T;if(R.contains(L),lt.tab===P&&T.stopImmediatePropagation(),T.preventDefault(),L!==s(a)||!NQ.includes(P))return;const B=u().filter(j=>!j.disabled).map(j=>j.ref);zy.includes(P)&&B.reverse(),Yv(B)});return{size:r,rovingFocusGroupRootStyle:h,tabIndex:v,dropdownKls:y,role:i,triggerId:c,dropdownListWrapperRef:w,handleKeydown:T=>{x(T),n(T)},onBlur:m,onFocus:f,onMousedown:_}}}),XQ=["role","aria-labelledby"];function ZQ(e,t,o,r,l,n){return b(),M("ul",{ref:e.dropdownListWrapperRef,class:O(e.dropdownKls),style:Je(e.rovingFocusGroupRootStyle),tabindex:-1,role:e.role,"aria-labelledby":e.triggerId,onBlur:t[0]||(t[0]=(...a)=>e.onBlur&&e.onBlur(...a)),onFocus:t[1]||(t[1]=(...a)=>e.onFocus&&e.onFocus(...a)),onKeydown:t[2]||(t[2]=ct((...a)=>e.handleKeydown&&e.handleKeydown(...a),["self"])),onMousedown:t[3]||(t[3]=ct((...a)=>e.onMousedown&&e.onMousedown(...a),["self"]))},[be(e.$slots,"default")],46,XQ)}var Ny=Le(GQ,[["render",ZQ],["__file","dropdown-menu.vue"]]);const JQ=yt(FQ,{DropdownItem:Oy,DropdownMenu:Ny}),QQ=co(Oy),eee=co(Ny),tee={viewBox:"0 0 79 86",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},oee=["id"],ree=["stop-color"],lee=["stop-color"],nee=["id"],aee=["stop-color"],iee=["stop-color"],see=["id"],cee={id:"Illustrations",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},uee={id:"B-type",transform:"translate(-1268.000000, -535.000000)"},dee={id:"Group-2",transform:"translate(1268.000000, 535.000000)"},pee=["fill"],fee=["fill"],hee={id:"Group-Copy",transform:"translate(34.500000, 31.500000) scale(-1, 1) rotate(-25.000000) translate(-34.500000, -31.500000) translate(7.000000, 10.000000)"},vee=["fill"],mee=["fill"],gee=["fill"],bee=["fill"],_ee=["fill"],wee={id:"Rectangle-Copy-17",transform:"translate(53.000000, 45.000000)"},yee=["fill","xlink:href"],xee=["fill","mask"],kee=["fill"],Cee=N({...N({name:"ImgEmpty"}),setup(e){const t=ze("empty"),o=Qo();return(r,l)=>(b(),M("svg",tee,[E("defs",null,[E("linearGradient",{id:`linearGradient-1-${s(o)}`,x1:"38.8503086%",y1:"0%",x2:"61.1496914%",y2:"100%"},[E("stop",{"stop-color":`var(${s(t).cssVarBlockName("fill-color-1")})`,offset:"0%"},null,8,ree),E("stop",{"stop-color":`var(${s(t).cssVarBlockName("fill-color-4")})`,offset:"100%"},null,8,lee)],8,oee),E("linearGradient",{id:`linearGradient-2-${s(o)}`,x1:"0%",y1:"9.5%",x2:"100%",y2:"90.5%"},[E("stop",{"stop-color":`var(${s(t).cssVarBlockName("fill-color-1")})`,offset:"0%"},null,8,aee),E("stop",{"stop-color":`var(${s(t).cssVarBlockName("fill-color-6")})`,offset:"100%"},null,8,iee)],8,nee),E("rect",{id:`path-3-${s(o)}`,x:"0",y:"0",width:"17",height:"36"},null,8,see)]),E("g",cee,[E("g",uee,[E("g",dee,[E("path",{id:"Oval-Copy-2",d:"M39.5,86 C61.3152476,86 79,83.9106622 79,81.3333333 C79,78.7560045 57.3152476,78 35.5,78 C13.6847524,78 0,78.7560045 0,81.3333333 C0,83.9106622 17.6847524,86 39.5,86 Z",fill:`var(${s(t).cssVarBlockName("fill-color-3")})`},null,8,pee),E("polygon",{id:"Rectangle-Copy-14",fill:`var(${s(t).cssVarBlockName("fill-color-7")})`,transform:"translate(27.500000, 51.500000) scale(1, -1) translate(-27.500000, -51.500000) ",points:"13 58 53 58 42 45 2 45"},null,8,fee),E("g",hee,[E("polygon",{id:"Rectangle-Copy-10",fill:`var(${s(t).cssVarBlockName("fill-color-7")})`,transform:"translate(11.500000, 5.000000) scale(1, -1) translate(-11.500000, -5.000000) ",points:"2.84078316e-14 3 18 3 23 7 5 7"},null,8,vee),E("polygon",{id:"Rectangle-Copy-11",fill:`var(${s(t).cssVarBlockName("fill-color-5")})`,points:"-3.69149156e-15 7 38 7 38 43 -3.69149156e-15 43"},null,8,mee),E("rect",{id:"Rectangle-Copy-12",fill:`url(#linearGradient-1-${s(o)})`,transform:"translate(46.500000, 25.000000) scale(-1, 1) translate(-46.500000, -25.000000) ",x:"38",y:"7",width:"17",height:"36"},null,8,gee),E("polygon",{id:"Rectangle-Copy-13",fill:`var(${s(t).cssVarBlockName("fill-color-2")})`,transform:"translate(39.500000, 3.500000) scale(-1, 1) translate(-39.500000, -3.500000) ",points:"24 7 41 7 55 -3.63806207e-12 38 -3.63806207e-12"},null,8,bee)]),E("rect",{id:"Rectangle-Copy-15",fill:`url(#linearGradient-2-${s(o)})`,x:"13",y:"45",width:"40",height:"36"},null,8,_ee),E("g",wee,[E("use",{id:"Mask",fill:`var(${s(t).cssVarBlockName("fill-color-8")})`,transform:"translate(8.500000, 18.000000) scale(-1, 1) translate(-8.500000, -18.000000) ","xlink:href":`#path-3-${s(o)}`},null,8,yee),E("polygon",{id:"Rectangle-Copy",fill:`var(${s(t).cssVarBlockName("fill-color-9")})`,mask:`url(#mask-4-${s(o)})`,transform:"translate(12.000000, 9.000000) scale(-1, 1) translate(-12.000000, -9.000000) ",points:"7 0 24 0 20 18 7 16.5"},null,8,xee)]),E("polygon",{id:"Rectangle-Copy-18",fill:`var(${s(t).cssVarBlockName("fill-color-2")})`,transform:"translate(66.000000, 51.500000) scale(-1, 1) translate(-66.000000, -51.500000) ",points:"62 45 79 45 70 58 53 58"},null,8,kee)])])])]))}});var See=Le(Cee,[["__file","img-empty.vue"]]);const Eee=Pe({image:{type:String,default:""},imageSize:Number,description:{type:String,default:""}}),Tee=["src"],$ee={key:1},Mee=N({...N({name:"ElEmpty"}),props:Eee,setup(e){const t=e,{t:o}=Rt(),r=ze("empty"),l=C(()=>t.description||o("el.table.emptyText")),n=C(()=>({width:mo(t.imageSize)}));return(a,i)=>(b(),M("div",{class:O(s(r).b())},[E("div",{class:O(s(r).e("image")),style:Je(s(n))},[a.image?(b(),M("img",{key:0,src:a.image,ondragstart:"return false"},null,8,Tee)):be(a.$slots,"image",{key:1},()=>[ee(See)])],6),E("div",{class:O(s(r).e("description"))},[a.$slots.description?be(a.$slots,"description",{key:0}):(b(),M("p",$ee,$e(s(l)),1))],2),a.$slots.default?(b(),M("div",{key:0,class:O(s(r).e("bottom"))},[be(a.$slots,"default")],2)):se("v-if",!0)],2))}});var Aee=Le(Mee,[["__file","empty.vue"]]);const Py=yt(Aee),zee=Pe({urlList:{type:ue(Array),default:()=>uo([])},zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},hideOnClickModal:Boolean,teleported:Boolean,closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},crossorigin:{type:ue(String)}}),Iee={close:()=>!0,switch:e=>st(e),rotate:e=>st(e)},Oee=["src","crossorigin"],Nee=N({...N({name:"ElImageViewer"}),props:zee,emits:Iee,setup(e,{expose:t,emit:o}){var r;const l=e,n={CONTAIN:{name:"contain",icon:Nn(L3)},ORIGINAL:{name:"original",icon:Nn(U3)}},{t:a}=Rt(),i=ze("image-viewer"),{nextZIndex:c}=Ki(),d=D(),u=D([]),p=yf(),h=D(!0),v=D(l.initialIndex),m=lo(n.CONTAIN),f=D({scale:1,deg:0,offsetX:0,offsetY:0,enableTransition:!1}),_=D((r=l.zIndex)!=null?r:c()),g=C(()=>{const{urlList:U}=l;return U.length<=1}),y=C(()=>v.value===0),w=C(()=>v.value===l.urlList.length-1),x=C(()=>l.urlList[v.value]),$=C(()=>[i.e("btn"),i.e("prev"),i.is("disabled",!l.infinite&&y.value)]),T=C(()=>[i.e("btn"),i.e("next"),i.is("disabled",!l.infinite&&w.value)]),R=C(()=>{const{scale:U,deg:oe,offsetX:ne,offsetY:ce,enableTransition:Q}=f.value;let Me=ne/U,de=ce/U;switch(oe%360){case 90:case-270:[Me,de]=[de,-Me];break;case 180:case-180:[Me,de]=[-Me,-de];break;case 270:case-90:[Me,de]=[-de,Me];break}const _e={transform:`scale(${U}) rotate(${oe}deg) translate(${Me}px, ${de}px)`,transition:Q?"transform .3s":""};return m.value.name===n.CONTAIN.name&&(_e.maxWidth=_e.maxHeight="100%"),_e});function P(){V(),o("close")}function L(){const U=Oa(ne=>{switch(ne.code){case lt.esc:l.closeOnPressEscape&&P();break;case lt.space:Z();break;case lt.left:F();break;case lt.up:I("zoomIn");break;case lt.right:K();break;case lt.down:I("zoomOut");break}}),oe=Oa(ne=>{const ce=ne.deltaY||ne.deltaX;I(ce<0?"zoomIn":"zoomOut",{zoomRate:l.zoomRate,enableTransition:!1})});p.run(()=>{oo(document,"keydown",U),oo(document,"wheel",oe)})}function V(){p.stop()}function B(){h.value=!1}function j(U){h.value=!1,U.target.alt=a("el.image.error")}function te(U){if(h.value||U.button!==0||!d.value)return;f.value.enableTransition=!1;const{offsetX:oe,offsetY:ne}=f.value,ce=U.pageX,Q=U.pageY,Me=Oa(_e=>{f.value={...f.value,offsetX:oe+_e.pageX-ce,offsetY:ne+_e.pageY-Q}}),de=oo(document,"mousemove",Me);oo(document,"mouseup",()=>{de()}),U.preventDefault()}function J(){f.value={scale:1,deg:0,offsetX:0,offsetY:0,enableTransition:!1}}function Z(){if(h.value)return;const U=Ri(n),oe=Object.values(n),ne=m.value.name,Q=(oe.findIndex(Me=>Me.name===ne)+1)%U.length;m.value=n[U[Q]],J()}function H(U){const oe=l.urlList.length;v.value=(U+oe)%oe}function F(){y.value&&!l.infinite||H(v.value-1)}function K(){w.value&&!l.infinite||H(v.value+1)}function I(U,oe={}){if(h.value)return;const{minScale:ne,maxScale:ce}=l,{zoomRate:Q,rotateDeg:Me,enableTransition:de}={zoomRate:l.zoomRate,rotateDeg:90,enableTransition:!0,...oe};switch(U){case"zoomOut":f.value.scale>ne&&(f.value.scale=Number.parseFloat((f.value.scale/Q).toFixed(3)));break;case"zoomIn":f.value.scale{et(()=>{const U=u.value[0];U!=null&&U.complete||(h.value=!0)})}),Se(v,U=>{J(),o("switch",U)}),ft(()=>{var U,oe;L(),(oe=(U=d.value)==null?void 0:U.focus)==null||oe.call(U)}),t({setActiveItem:H}),(U,oe)=>(b(),he(hi,{to:"body",disabled:!U.teleported},[ee(Mo,{name:"viewer-fade",appear:""},{default:le(()=>[E("div",{ref_key:"wrapper",ref:d,tabindex:-1,class:O(s(i).e("wrapper")),style:Je({zIndex:_.value})},[E("div",{class:O(s(i).e("mask")),onClick:oe[0]||(oe[0]=ct(ne=>U.hideOnClickModal&&P(),["self"]))},null,2),se(" CLOSE "),E("span",{class:O([s(i).e("btn"),s(i).e("close")]),onClick:P},[ee(s(Ze),null,{default:le(()=>[ee(s(Jr))]),_:1})],2),se(" ARROW "),s(g)?se("v-if",!0):(b(),M(Qe,{key:0},[E("span",{class:O(s($)),onClick:F},[ee(s(Ze),null,{default:le(()=>[ee(s(fn))]),_:1})],2),E("span",{class:O(s(T)),onClick:K},[ee(s(Ze),null,{default:le(()=>[ee(s(ir))]),_:1})],2)],64)),se(" ACTIONS "),E("div",{class:O([s(i).e("btn"),s(i).e("actions")])},[E("div",{class:O(s(i).e("actions__inner"))},[ee(s(Ze),{onClick:oe[1]||(oe[1]=ne=>I("zoomOut"))},{default:le(()=>[ee(s(Z3))]),_:1}),ee(s(Ze),{onClick:oe[2]||(oe[2]=ne=>I("zoomIn"))},{default:le(()=>[ee(s(mh))]),_:1}),E("i",{class:O(s(i).e("actions__divider"))},null,2),ee(s(Ze),{onClick:Z},{default:le(()=>[(b(),he(Et(s(m).icon)))]),_:1}),E("i",{class:O(s(i).e("actions__divider"))},null,2),ee(s(Ze),{onClick:oe[3]||(oe[3]=ne=>I("anticlockwise"))},{default:le(()=>[ee(s(j3))]),_:1}),ee(s(Ze),{onClick:oe[4]||(oe[4]=ne=>I("clockwise"))},{default:le(()=>[ee(s(K3))]),_:1})],2)],2),se(" CANVAS "),E("div",{class:O(s(i).e("canvas"))},[(b(!0),M(Qe,null,It(U.urlList,(ne,ce)=>mt((b(),M("img",{ref_for:!0,ref:Q=>u.value[ce]=Q,key:ne,src:ne,style:Je(s(R)),class:O(s(i).e("img")),crossorigin:U.crossorigin,onLoad:B,onError:j,onMousedown:te},null,46,Oee)),[[Lt,ce===v.value]])),128))],2),be(U.$slots,"default")],6)]),_:3})],8,["disabled"]))}});var Pee=Le(Nee,[["__file","image-viewer.vue"]]);const Ry=yt(Pee),Ree=Pe({hideOnClickModal:Boolean,src:{type:String,default:""},fit:{type:String,values:["","contain","cover","fill","none","scale-down"],default:""},loading:{type:String,values:["eager","lazy"]},lazy:Boolean,scrollContainer:{type:ue([String,Object])},previewSrcList:{type:ue(Array),default:()=>uo([])},previewTeleported:Boolean,zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},crossorigin:{type:ue(String)}}),Lee={load:e=>e instanceof Event,error:e=>e instanceof Event,switch:e=>st(e),close:()=>!0,show:()=>!0},Bee=["src","loading","crossorigin"],Vee={key:0},Dee=N({...N({name:"ElImage",inheritAttrs:!1}),props:Ree,emits:Lee,setup(e,{emit:t}){const o=e;let r="";const{t:l}=Rt(),n=ze("image"),a=ya(),i=kh(),c=D(),d=D(!1),u=D(!0),p=D(!1),h=D(),v=D(),m=Nt&&"loading"in HTMLImageElement.prototype;let f,_;const g=C(()=>[n.e("inner"),x.value&&n.e("preview"),u.value&&n.is("loading")]),y=C(()=>a.style),w=C(()=>{const{fit:K}=o;return Nt&&K?{objectFit:K}:{}}),x=C(()=>{const{previewSrcList:K}=o;return Array.isArray(K)&&K.length>0}),$=C(()=>{const{previewSrcList:K,initialIndex:I}=o;let U=I;return I>K.length-1&&(U=0),U}),T=C(()=>o.loading==="eager"?!1:!m&&o.loading==="lazy"||o.lazy),R=()=>{Nt&&(u.value=!0,d.value=!1,c.value=o.src)};function P(K){u.value=!1,d.value=!1,t("load",K)}function L(K){u.value=!1,d.value=!0,t("error",K)}function V(){_E(h.value,v.value)&&(R(),te())}const B=Xb(V,200,!0);async function j(){var K;if(!Nt)return;await et();const{scrollContainer:I}=o;Gr(I)?v.value=I:ut(I)&&I!==""?v.value=(K=document.querySelector(I))!=null?K:void 0:h.value&&(v.value=uh(h.value)),v.value&&(f=oo(v,"scroll",B),setTimeout(()=>V(),100))}function te(){!Nt||!v.value||!B||(f==null||f(),v.value=void 0)}function J(K){if(K.ctrlKey){if(K.deltaY<0)return K.preventDefault(),!1;if(K.deltaY>0)return K.preventDefault(),!1}}function Z(){x.value&&(_=oo("wheel",J,{passive:!1}),r=document.body.style.overflow,document.body.style.overflow="hidden",p.value=!0,t("show"))}function H(){_==null||_(),document.body.style.overflow=r,p.value=!1,t("close")}function F(K){t("switch",K)}return Se(()=>o.src,()=>{T.value?(u.value=!0,d.value=!1,te(),j()):R()}),ft(()=>{T.value?j():R()}),(K,I)=>(b(),M("div",{ref_key:"container",ref:h,class:O([s(n).b(),K.$attrs.class]),style:Je(s(y))},[d.value?be(K.$slots,"error",{key:0},()=>[E("div",{class:O(s(n).e("error"))},$e(s(l)("el.image.error")),3)]):(b(),M(Qe,{key:1},[c.value!==void 0?(b(),M("img",Mt({key:0},s(i),{src:c.value,loading:K.loading,style:s(w),class:s(g),crossorigin:K.crossorigin,onClick:Z,onLoad:P,onError:L}),null,16,Bee)):se("v-if",!0),u.value?(b(),M("div",{key:1,class:O(s(n).e("wrapper"))},[be(K.$slots,"placeholder",{},()=>[E("div",{class:O(s(n).e("placeholder"))},null,2)])],2)):se("v-if",!0)],64)),s(x)?(b(),M(Qe,{key:2},[p.value?(b(),he(s(Ry),{key:0,"z-index":K.zIndex,"initial-index":s($),infinite:K.infinite,"zoom-rate":K.zoomRate,"min-scale":K.minScale,"max-scale":K.maxScale,"url-list":K.previewSrcList,"hide-on-click-modal":K.hideOnClickModal,teleported:K.previewTeleported,"close-on-press-escape":K.closeOnPressEscape,onClose:H,onSwitch:F},{default:le(()=>[K.$slots.viewer?(b(),M("div",Vee,[be(K.$slots,"viewer")])):se("v-if",!0)]),_:3},8,["z-index","initial-index","infinite","zoom-rate","min-scale","max-scale","url-list","hide-on-click-modal","teleported","close-on-press-escape"])):se("v-if",!0)],64)):se("v-if",!0)],6))}});var Hee=Le(Dee,[["__file","image.vue"]]);const Fee=yt(Hee),jee=Pe({id:{type:String,default:void 0},step:{type:Number,default:1},stepStrictly:Boolean,max:{type:Number,default:Number.POSITIVE_INFINITY},min:{type:Number,default:Number.NEGATIVE_INFINITY},modelValue:Number,readonly:Boolean,disabled:Boolean,size:Oo,controls:{type:Boolean,default:!0},controlsPosition:{type:String,default:"",values:["","right"]},valueOnClear:{type:[String,Number,null],validator:e=>e===null||st(e)||["min","max"].includes(e),default:null},name:String,label:String,placeholder:String,precision:{type:Number,validator:e=>e>=0&&e===Number.parseInt(`${e}`,10)},validateEvent:{type:Boolean,default:!0},...Zo(["ariaLabel"])}),Kee={[ro]:(e,t)=>t!==e,blur:e=>e instanceof FocusEvent,focus:e=>e instanceof FocusEvent,[yr]:e=>st(e)||jo(e),[St]:e=>st(e)||jo(e)},Uee=["aria-label","onKeydown"],Wee=["aria-label","onKeydown"],qee=N({...N({name:"ElInputNumber"}),props:jee,emits:Kee,setup(e,{expose:t,emit:o}){const r=e,{t:l}=Rt(),n=ze("input-number"),a=D(),i=Dt({currentValue:r.modelValue,userInput:null}),{formItem:c}=sr(),d=C(()=>st(r.modelValue)&&r.modelValue<=r.min),u=C(()=>st(r.modelValue)&&r.modelValue>=r.max),p=C(()=>{const Z=g(r.step);return ko(r.precision)?Math.max(g(r.modelValue),Z):(Z>r.precision,r.precision)}),h=C(()=>r.controls&&r.controlsPosition==="right"),v=So(),m=xr(),f=C(()=>{if(i.userInput!==null)return i.userInput;let Z=i.currentValue;if(jo(Z))return"";if(st(Z)){if(Number.isNaN(Z))return"";ko(r.precision)||(Z=Z.toFixed(r.precision))}return Z}),_=(Z,H)=>{if(ko(H)&&(H=p.value),H===0)return Math.round(Z);let F=String(Z);const K=F.indexOf(".");if(K===-1||!F.replace(".","").split("")[K+H])return Z;const oe=F.length;return F.charAt(oe-1)==="5"&&(F=`${F.slice(0,Math.max(0,oe-1))}6`),Number.parseFloat(Number(F).toFixed(H))},g=Z=>{if(jo(Z))return 0;const H=Z.toString(),F=H.indexOf(".");let K=0;return F!==-1&&(K=H.length-F-1),K},y=(Z,H=1)=>st(Z)?_(Z+r.step*H):i.currentValue,w=()=>{if(r.readonly||m.value||u.value)return;const Z=Number(f.value)||0,H=y(Z);T(H),o(yr,i.currentValue),te()},x=()=>{if(r.readonly||m.value||d.value)return;const Z=Number(f.value)||0,H=y(Z,-1);T(H),o(yr,i.currentValue),te()},$=(Z,H)=>{const{max:F,min:K,step:I,precision:U,stepStrictly:oe,valueOnClear:ne}=r;FF||ceF?F:K,H&&o(St,ce)),ce},T=(Z,H=!0)=>{var F;const K=i.currentValue,I=$(Z);if(!H){o(St,I);return}K===I&&Z||(i.userInput=null,o(St,I),K!==I&&o(ro,I,K),r.validateEvent&&((F=c==null?void 0:c.validate)==null||F.call(c,"change").catch(U=>void 0)),i.currentValue=I)},R=Z=>{i.userInput=Z;const H=Z===""?null:Number(Z);o(yr,H),T(H,!1)},P=Z=>{const H=Z!==""?Number(Z):"";(st(H)&&!Number.isNaN(H)||Z==="")&&T(H),te(),i.userInput=null},L=()=>{var Z,H;(H=(Z=a.value)==null?void 0:Z.focus)==null||H.call(Z)},V=()=>{var Z,H;(H=(Z=a.value)==null?void 0:Z.blur)==null||H.call(Z)},B=Z=>{o("focus",Z)},j=Z=>{var H;i.userInput=null,o("blur",Z),r.validateEvent&&((H=c==null?void 0:c.validate)==null||H.call(c,"blur").catch(F=>void 0))},te=()=>{i.currentValue!==r.modelValue&&(i.currentValue=r.modelValue)},J=Z=>{document.activeElement===Z.target&&Z.preventDefault()};return Se(()=>r.modelValue,(Z,H)=>{const F=$(Z,!0);i.userInput===null&&F!==H&&(i.currentValue=F)},{immediate:!0}),ft(()=>{var Z;const{min:H,max:F,modelValue:K}=r,I=(Z=a.value)==null?void 0:Z.input;if(I.setAttribute("role","spinbutton"),Number.isFinite(F)?I.setAttribute("aria-valuemax",String(F)):I.removeAttribute("aria-valuemax"),Number.isFinite(H)?I.setAttribute("aria-valuemin",String(H)):I.removeAttribute("aria-valuemin"),I.setAttribute("aria-valuenow",i.currentValue||i.currentValue===0?String(i.currentValue):""),I.setAttribute("aria-disabled",String(m.value)),!st(K)&&K!=null){let U=Number(K);Number.isNaN(U)&&(U=null),o(St,U)}I.addEventListener("wheel",J,{passive:!1})}),rn(()=>{var Z,H;const F=(Z=a.value)==null?void 0:Z.input;F==null||F.setAttribute("aria-valuenow",`${(H=i.currentValue)!=null?H:""}`)}),Lo({from:"label",replacement:"aria-label",version:"2.8.0",scope:"el-input-number",ref:"https://element-plus.org/en-US/component/input-number.html"},C(()=>!!r.label)),t({focus:L,blur:V}),(Z,H)=>(b(),M("div",{class:O([s(n).b(),s(n).m(s(v)),s(n).is("disabled",s(m)),s(n).is("without-controls",!Z.controls),s(n).is("controls-right",s(h))]),onDragstart:H[0]||(H[0]=ct(()=>{},["prevent"]))},[Z.controls?mt((b(),M("span",{key:0,role:"button","aria-label":s(l)("el.inputNumber.decrease"),class:O([s(n).e("decrease"),s(n).is("disabled",s(d))]),onKeydown:Gt(x,["enter"])},[be(Z.$slots,"decrease-icon",{},()=>[ee(s(Ze),null,{default:le(()=>[s(h)?(b(),he(s(Pl),{key:0})):(b(),he(s(V3),{key:1}))]),_:1})])],42,Uee)),[[s(ap),x]]):se("v-if",!0),Z.controls?mt((b(),M("span",{key:1,role:"button","aria-label":s(l)("el.inputNumber.increase"),class:O([s(n).e("increase"),s(n).is("disabled",s(u))]),onKeydown:Gt(w,["enter"])},[be(Z.$slots,"increase-icon",{},()=>[ee(s(Ze),null,{default:le(()=>[s(h)?(b(),he(s(Ad),{key:0})):(b(),he(s(hh),{key:1}))]),_:1})])],42,Wee)),[[s(ap),w]]):se("v-if",!0),ee(s(cr),{id:Z.id,ref_key:"input",ref:a,type:"number",step:Z.step,"model-value":s(f),placeholder:Z.placeholder,readonly:Z.readonly,disabled:s(m),size:s(v),max:Z.max,min:Z.min,name:Z.name,"aria-label":Z.label||Z.ariaLabel,"validate-event":!1,onKeydown:[Gt(ct(w,["prevent"]),["up"]),Gt(ct(x,["prevent"]),["down"])],onBlur:j,onFocus:B,onInput:R,onChange:P},null,8,["id","step","model-value","placeholder","readonly","disabled","size","max","min","name","aria-label","onKeydown"])],34))}});var Yee=Le(qee,[["__file","input-number.vue"]]);const Ly=yt(Yee),Gee=Pe({type:{type:String,values:["primary","success","warning","info","danger","default"],default:"default"},underline:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},href:{type:String,default:""},target:{type:String,default:"_self"},icon:{type:Xt}}),Xee={click:e=>e instanceof MouseEvent},Zee=["href","target"],Jee=N({...N({name:"ElLink"}),props:Gee,emits:Xee,setup(e,{emit:t}){const o=e,r=ze("link"),l=C(()=>[r.b(),r.m(o.type),r.is("disabled",o.disabled),r.is("underline",o.underline&&!o.disabled)]);function n(a){o.disabled||t("click",a)}return(a,i)=>(b(),M("a",{class:O(s(l)),href:a.disabled||!a.href?void 0:a.href,target:a.disabled||!a.href?void 0:a.target,onClick:n},[a.icon?(b(),he(s(Ze),{key:0},{default:le(()=>[(b(),he(Et(a.icon)))]),_:1})):se("v-if",!0),a.$slots.default?(b(),M("span",{key:1,class:O(s(r).e("inner"))},[be(a.$slots,"default")],2)):se("v-if",!0),a.$slots.icon?be(a.$slots,"icon",{key:2}):se("v-if",!0)],10,Zee))}});var Qee=Le(Jee,[["__file","link.vue"]]);const ete=yt(Qee);let tte=class{constructor(t,o){this.parent=t,this.domNode=o,this.subIndex=0,this.subIndex=0,this.init()}init(){this.subMenuItems=this.domNode.querySelectorAll("li"),this.addListeners()}gotoSubIndex(t){t===this.subMenuItems.length?t=0:t<0&&(t=this.subMenuItems.length-1),this.subMenuItems[t].focus(),this.subIndex=t}addListeners(){const t=this.parent.domNode;Array.prototype.forEach.call(this.subMenuItems,o=>{o.addEventListener("keydown",r=>{let l=!1;switch(r.code){case lt.down:{this.gotoSubIndex(this.subIndex+1),l=!0;break}case lt.up:{this.gotoSubIndex(this.subIndex-1),l=!0;break}case lt.tab:{pd(t,"mouseleave");break}case lt.enter:case lt.space:{l=!0,r.currentTarget.click();break}}return l&&(r.preventDefault(),r.stopPropagation()),!1})})}},ote=class{constructor(t,o){this.domNode=t,this.submenu=null,this.submenu=null,this.init(o)}init(t){this.domNode.setAttribute("tabindex","0");const o=this.domNode.querySelector(`.${t}-menu`);o&&(this.submenu=new tte(this,o)),this.addListeners()}addListeners(){this.domNode.addEventListener("keydown",t=>{let o=!1;switch(t.code){case lt.down:{pd(t.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(0),o=!0;break}case lt.up:{pd(t.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(this.submenu.subMenuItems.length-1),o=!0;break}case lt.tab:{pd(t.currentTarget,"mouseleave");break}case lt.enter:case lt.space:{o=!0,t.currentTarget.click();break}}o&&t.preventDefault()})}},rte=class{constructor(t,o){this.domNode=t,this.init(o)}init(t){const o=this.domNode.childNodes;Array.from(o).forEach(r=>{r.nodeType===1&&new ote(r,t)})}};const lte=N({name:"ElMenuCollapseTransition",setup(){const e=ze("menu");return{listeners:{onBeforeEnter:o=>o.style.opacity="0.2",onEnter(o,r){Zr(o,`${e.namespace.value}-opacity-transition`),o.style.opacity="1",r()},onAfterEnter(o){ar(o,`${e.namespace.value}-opacity-transition`),o.style.opacity=""},onBeforeLeave(o){o.dataset||(o.dataset={}),Xr(o,e.m("collapse"))?(ar(o,e.m("collapse")),o.dataset.oldOverflow=o.style.overflow,o.dataset.scrollWidth=o.clientWidth.toString(),Zr(o,e.m("collapse"))):(Zr(o,e.m("collapse")),o.dataset.oldOverflow=o.style.overflow,o.dataset.scrollWidth=o.clientWidth.toString(),ar(o,e.m("collapse"))),o.style.width=`${o.scrollWidth}px`,o.style.overflow="hidden"},onLeave(o){Zr(o,"horizontal-collapse-transition"),o.style.width=`${o.dataset.scrollWidth}px`}}}}});function nte(e,t,o,r,l,n){return b(),he(Mo,Mt({mode:"out-in"},e.listeners),{default:le(()=>[be(e.$slots,"default")]),_:3},16)}var ate=Le(lte,[["render",nte],["__file","menu-collapse-transition.vue"]]);function By(e,t){const o=C(()=>{let l=e.parent;const n=[t.value];for(;l.type.name!=="ElMenu";)l.props.index&&n.unshift(l.props.index),l=l.parent;return n});return{parentMenu:C(()=>{let l=e.parent;for(;l&&!["ElMenu","ElSubMenu"].includes(l.type.name);)l=l.parent;return l}),indexPath:o}}function ite(e){return C(()=>{const o=e.backgroundColor;return o?new q4(o).shade(20).toString():""})}const Vy=(e,t)=>{const o=ze("menu");return C(()=>o.cssVarBlock({"text-color":e.textColor||"","hover-text-color":e.textColor||"","bg-color":e.backgroundColor||"","hover-bg-color":ite(e).value||"","active-color":e.activeTextColor||"",level:`${t}`}))},ste=Pe({index:{type:String,required:!0},showTimeout:Number,hideTimeout:Number,popperClass:String,disabled:Boolean,teleported:{type:Boolean,default:void 0},popperOffset:Number,expandCloseIcon:{type:Xt},expandOpenIcon:{type:Xt},collapseCloseIcon:{type:Xt},collapseOpenIcon:{type:Xt}}),Gv="ElSubMenu";var Xv=N({name:Gv,props:ste,setup(e,{slots:t,expose:o}){const r=wt(),{indexPath:l,parentMenu:n}=By(r,C(()=>e.index)),a=ze("menu"),i=ze("sub-menu"),c=Ge("rootMenu");c||Io(Gv,"can not inject root menu");const d=Ge(`subMenu:${n.value.uid}`);d||Io(Gv,"can not inject sub menu");const u=D({}),p=D({});let h;const v=D(!1),m=D(),f=D(null),_=C(()=>P.value==="horizontal"&&y.value?"bottom-start":"right-start"),g=C(()=>P.value==="horizontal"&&y.value||P.value==="vertical"&&!c.props.collapse?e.expandCloseIcon&&e.expandOpenIcon?T.value?e.expandOpenIcon:e.expandCloseIcon:Pl:e.collapseCloseIcon&&e.collapseOpenIcon?T.value?e.collapseOpenIcon:e.collapseCloseIcon:ir),y=C(()=>d.level===0),w=C(()=>{const U=e.teleported;return U===void 0?y.value:U}),x=C(()=>c.props.collapse?`${a.namespace.value}-zoom-in-left`:`${a.namespace.value}-zoom-in-top`),$=C(()=>P.value==="horizontal"&&y.value?["bottom-start","bottom-end","top-start","top-end","right-start","left-start"]:["right-start","right","right-end","left-start","bottom-start","bottom-end","top-start","top-end"]),T=C(()=>c.openedMenus.includes(e.index)),R=C(()=>{let U=!1;return Object.values(u.value).forEach(oe=>{oe.active&&(U=!0)}),Object.values(p.value).forEach(oe=>{oe.active&&(U=!0)}),U}),P=C(()=>c.props.mode),L=Dt({index:e.index,indexPath:l,active:R}),V=Vy(c.props,d.level+1),B=C(()=>{var U;return(U=e.popperOffset)!=null?U:c.props.popperOffset}),j=C(()=>{var U;return(U=e.popperClass)!=null?U:c.props.popperClass}),te=C(()=>{var U;return(U=e.showTimeout)!=null?U:c.props.showTimeout}),J=C(()=>{var U;return(U=e.hideTimeout)!=null?U:c.props.hideTimeout}),Z=()=>{var U,oe,ne;return(ne=(oe=(U=f.value)==null?void 0:U.popperRef)==null?void 0:oe.popperInstanceRef)==null?void 0:ne.destroy()},H=U=>{U||Z()},F=()=>{c.props.menuTrigger==="hover"&&c.props.mode==="horizontal"||c.props.collapse&&c.props.mode==="vertical"||e.disabled||c.handleSubMenuClick({index:e.index,indexPath:l.value,active:R.value})},K=(U,oe=te.value)=>{var ne;if(U.type!=="focus"){if(c.props.menuTrigger==="click"&&c.props.mode==="horizontal"||!c.props.collapse&&c.props.mode==="vertical"||e.disabled){d.mouseInChild.value=!0;return}d.mouseInChild.value=!0,h==null||h(),{stop:h}=$a(()=>{c.openMenu(e.index,l.value)},oe),w.value&&((ne=n.value.vnode.el)==null||ne.dispatchEvent(new MouseEvent("mouseenter")))}},I=(U=!1)=>{var oe;if(c.props.menuTrigger==="click"&&c.props.mode==="horizontal"||!c.props.collapse&&c.props.mode==="vertical"){d.mouseInChild.value=!1;return}h==null||h(),d.mouseInChild.value=!1,{stop:h}=$a(()=>!v.value&&c.closeMenu(e.index,l.value),J.value),w.value&&U&&((oe=d.handleMouseleave)==null||oe.call(d,!0))};Se(()=>c.props.collapse,U=>H(!!U));{const U=ne=>{p.value[ne.index]=ne},oe=ne=>{delete p.value[ne.index]};zt(`subMenu:${r.uid}`,{addSubMenu:U,removeSubMenu:oe,handleMouseleave:I,mouseInChild:v,level:d.level+1})}return o({opened:T}),ft(()=>{c.addSubMenu(L),d.addSubMenu(L)}),to(()=>{d.removeSubMenu(L),c.removeSubMenu(L)}),()=>{var U;const oe=[(U=t.title)==null?void 0:U.call(t),rt(Ze,{class:i.e("icon-arrow"),style:{transform:T.value?e.expandCloseIcon&&e.expandOpenIcon||e.collapseCloseIcon&&e.collapseOpenIcon&&c.props.collapse?"none":"rotateZ(180deg)":"none"}},{default:()=>ut(g.value)?rt(r.appContext.components[g.value]):rt(g.value)})],ne=c.isMenuPopup?rt(ur,{ref:f,visible:T.value,effect:"light",pure:!0,offset:B.value,showArrow:!1,persistent:!0,popperClass:j.value,placement:_.value,teleported:w.value,fallbackPlacements:$.value,transition:x.value,gpuAcceleration:!1},{content:()=>{var ce;return rt("div",{class:[a.m(P.value),a.m("popup-container"),j.value],onMouseenter:Q=>K(Q,100),onMouseleave:()=>I(!0),onFocus:Q=>K(Q,100)},[rt("ul",{class:[a.b(),a.m("popup"),a.m(`popup-${_.value}`)],style:V.value},[(ce=t.default)==null?void 0:ce.call(t)])])},default:()=>rt("div",{class:i.e("title"),onClick:F},oe)}):rt(Qe,{},[rt("div",{class:i.e("title"),ref:m,onClick:F},oe),rt(gp,{},{default:()=>{var ce;return mt(rt("ul",{role:"menu",class:[a.b(),a.m("inline")],style:V.value},[(ce=t.default)==null?void 0:ce.call(t)]),[[Lt,T.value]])}})]);return rt("li",{class:[i.b(),i.is("active",R.value),i.is("opened",T.value),i.is("disabled",e.disabled)],role:"menuitem",ariaHaspopup:!0,ariaExpanded:T.value,onMouseenter:K,onMouseleave:()=>I(),onFocus:K},[ne])}}});const cte=Pe({mode:{type:String,values:["horizontal","vertical"],default:"vertical"},defaultActive:{type:String,default:""},defaultOpeneds:{type:ue(Array),default:()=>uo([])},uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,values:["hover","click"],default:"hover"},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,closeOnClickOutside:Boolean,collapseTransition:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!0},popperOffset:{type:Number,default:6},ellipsisIcon:{type:Xt,default:()=>D3},popperEffect:{type:String,values:["dark","light"],default:"dark"},popperClass:String,showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300}}),Zv=e=>Array.isArray(e)&&e.every(t=>ut(t));var ute=N({name:"ElMenu",props:cte,emits:{close:(e,t)=>ut(e)&&Zv(t),open:(e,t)=>ut(e)&&Zv(t),select:(e,t,o,r)=>ut(e)&&Zv(t)&&xt(o)&&(r===void 0||r instanceof Promise)},setup(e,{emit:t,slots:o,expose:r}){const l=wt(),n=l.appContext.config.globalProperties.$router,a=D(),i=ze("menu"),c=ze("sub-menu"),d=D(-1),u=D(e.defaultOpeneds&&!e.collapse?e.defaultOpeneds.slice(0):[]),p=D(e.defaultActive),h=D({}),v=D({}),m=C(()=>e.mode==="horizontal"||e.mode==="vertical"&&e.collapse),f=()=>{const J=p.value&&h.value[p.value];if(!J||e.mode==="horizontal"||e.collapse)return;J.indexPath.forEach(H=>{const F=v.value[H];F&&_(H,F.indexPath)})},_=(J,Z)=>{u.value.includes(J)||(e.uniqueOpened&&(u.value=u.value.filter(H=>Z.includes(H))),u.value.push(J),t("open",J,Z))},g=J=>{const Z=u.value.indexOf(J);Z!==-1&&u.value.splice(Z,1)},y=(J,Z)=>{g(J),t("close",J,Z)},w=({index:J,indexPath:Z})=>{u.value.includes(J)?y(J,Z):_(J,Z)},x=J=>{(e.mode==="horizontal"||e.collapse)&&(u.value=[]);const{index:Z,indexPath:H}=J;if(!(jo(Z)||jo(H)))if(e.router&&n){const F=J.route||Z,K=n.push(F).then(I=>(I||(p.value=Z),I));t("select",Z,H,{index:Z,indexPath:H,route:F},K)}else p.value=Z,t("select",Z,H,{index:Z,indexPath:H})},$=J=>{const Z=h.value,H=Z[J]||p.value&&Z[p.value]||Z[e.defaultActive];H?p.value=H.index:p.value=J},T=J=>{const Z=getComputedStyle(J),H=Number.parseInt(Z.marginLeft,10),F=Number.parseInt(Z.marginRight,10);return J.offsetWidth+H+F||0},R=()=>{var J,Z;if(!a.value)return-1;const H=Array.from((Z=(J=a.value)==null?void 0:J.childNodes)!=null?Z:[]).filter(Q=>Q.nodeName!=="#comment"&&(Q.nodeName!=="#text"||Q.nodeValue)),F=64,K=getComputedStyle(a.value),I=Number.parseInt(K.paddingLeft,10),U=Number.parseInt(K.paddingRight,10),oe=a.value.clientWidth-I-U;let ne=0,ce=0;return H.forEach((Q,Me)=>{ne+=T(Q),ne<=oe-F&&(ce=Me+1)}),ce===H.length?-1:ce},P=J=>v.value[J].indexPath,L=(J,Z=33.34)=>{let H;return()=>{H&&clearTimeout(H),H=setTimeout(()=>{J()},Z)}};let V=!0;const B=()=>{if(d.value===R())return;const J=()=>{d.value=-1,et(()=>{d.value=R()})};V?J():L(J)(),V=!1};Se(()=>e.defaultActive,J=>{h.value[J]||(p.value=""),$(J)}),Se(()=>e.collapse,J=>{J&&(u.value=[])}),Se(h.value,f);let j;Go(()=>{e.mode==="horizontal"&&e.ellipsis?j=so(a,B).stop:j==null||j()});const te=D(!1);{const J=K=>{v.value[K.index]=K},Z=K=>{delete v.value[K.index]};zt("rootMenu",Dt({props:e,openedMenus:u,items:h,subMenus:v,activeIndex:p,isMenuPopup:m,addMenuItem:K=>{h.value[K.index]=K},removeMenuItem:K=>{delete h.value[K.index]},addSubMenu:J,removeSubMenu:Z,openMenu:_,closeMenu:y,handleMenuItemClick:x,handleSubMenuClick:w})),zt(`subMenu:${l.uid}`,{addSubMenu:J,removeSubMenu:Z,mouseInChild:te,level:0})}return ft(()=>{e.mode==="horizontal"&&new rte(l.vnode.el,i.namespace.value)}),r({open:Z=>{const{indexPath:H}=v.value[Z];H.forEach(F=>_(F,H))},close:g,handleResize:B}),()=>{var J,Z;let H=(Z=(J=o.default)==null?void 0:J.call(o))!=null?Z:[];const F=[];if(e.mode==="horizontal"&&a.value){const oe=Qn(H),ne=d.value===-1?oe:oe.slice(0,d.value),ce=d.value===-1?[]:oe.slice(d.value);ce!=null&&ce.length&&e.ellipsis&&(H=ne,F.push(rt(Xv,{index:"sub-menu-more",class:c.e("hide-arrow"),popperOffset:e.popperOffset},{title:()=>rt(Ze,{class:c.e("icon-more")},{default:()=>rt(e.ellipsisIcon)}),default:()=>ce})))}const K=Vy(e,0),I=e.closeOnClickOutside?[[xn,()=>{u.value.length&&(te.value||(u.value.forEach(oe=>t("close",oe,P(oe))),u.value=[]))}]]:[],U=mt(rt("ul",{key:String(e.collapse),role:"menubar",ref:a,style:K.value,class:{[i.b()]:!0,[i.m(e.mode)]:!0,[i.m("collapse")]:e.collapse}},[...H,...F]),I);return e.collapseTransition&&e.mode==="vertical"?rt(ate,()=>U):U}}});const dte=Pe({index:{type:ue([String,null]),default:null},route:{type:ue([String,Object])},disabled:Boolean}),pte={click:e=>ut(e.index)&&Array.isArray(e.indexPath)},Jv="ElMenuItem",fte=N({name:Jv,components:{ElTooltip:ur},props:dte,emits:pte,setup(e,{emit:t}){const o=wt(),r=Ge("rootMenu"),l=ze("menu"),n=ze("menu-item");r||Io(Jv,"can not inject root menu");const{parentMenu:a,indexPath:i}=By(o,Yt(e,"index")),c=Ge(`subMenu:${a.value.uid}`);c||Io(Jv,"can not inject sub menu");const d=C(()=>e.index===r.activeIndex),u=Dt({index:e.index,indexPath:i,active:d}),p=()=>{e.disabled||(r.handleMenuItemClick({index:e.index,indexPath:i.value,route:e.route}),t("click",u))};return ft(()=>{c.addSubMenu(u),r.addMenuItem(u)}),to(()=>{c.removeSubMenu(u),r.removeMenuItem(u)}),{parentMenu:a,rootMenu:r,active:d,nsMenu:l,nsMenuItem:n,handleClick:p}}});function hte(e,t,o,r,l,n){const a=nt("el-tooltip");return b(),M("li",{class:O([e.nsMenuItem.b(),e.nsMenuItem.is("active",e.active),e.nsMenuItem.is("disabled",e.disabled)]),role:"menuitem",tabindex:"-1",onClick:t[0]||(t[0]=(...i)=>e.handleClick&&e.handleClick(...i))},[e.parentMenu.type.name==="ElMenu"&&e.rootMenu.props.collapse&&e.$slots.title?(b(),he(a,{key:0,effect:e.rootMenu.props.popperEffect,placement:"right","fallback-placements":["left"],persistent:""},{content:le(()=>[be(e.$slots,"title")]),default:le(()=>[E("div",{class:O(e.nsMenu.be("tooltip","trigger"))},[be(e.$slots,"default")],2)]),_:3},8,["effect"])):(b(),M(Qe,{key:1},[be(e.$slots,"default"),be(e.$slots,"title")],64))],2)}var Dy=Le(fte,[["render",hte],["__file","menu-item.vue"]]);const vte=N({name:"ElMenuItemGroup",props:{title:String},setup(){return{ns:ze("menu-item-group")}}});function mte(e,t,o,r,l,n){return b(),M("li",{class:O(e.ns.b())},[E("div",{class:O(e.ns.e("title"))},[e.$slots.title?be(e.$slots,"title",{key:1}):(b(),M(Qe,{key:0},[Ct($e(e.title),1)],64))],2),E("ul",null,[be(e.$slots,"default")])],2)}var Hy=Le(vte,[["render",mte],["__file","menu-item-group.vue"]]);const gte=yt(ute,{MenuItem:Dy,MenuItemGroup:Hy,SubMenu:Xv}),bte=co(Dy),_te=co(Hy),wte=co(Xv),yte=Pe({icon:{type:Xt,default:()=>z3},title:String,content:{type:String,default:""}}),xte={back:()=>!0},kte=["aria-label"],Cte=N({...N({name:"ElPageHeader"}),props:yte,emits:xte,setup(e,{emit:t}){const o=Do(),{t:r}=Rt(),l=ze("page-header"),n=C(()=>[l.b(),{[l.m("has-breadcrumb")]:!!o.breadcrumb,[l.m("has-extra")]:!!o.extra,[l.is("contentful")]:!!o.default}]);function a(){t("back")}return(i,c)=>(b(),M("div",{class:O(s(n))},[i.$slots.breadcrumb?(b(),M("div",{key:0,class:O(s(l).e("breadcrumb"))},[be(i.$slots,"breadcrumb")],2)):se("v-if",!0),E("div",{class:O(s(l).e("header"))},[E("div",{class:O(s(l).e("left"))},[E("div",{class:O(s(l).e("back")),role:"button",tabindex:"0",onClick:a},[i.icon||i.$slots.icon?(b(),M("div",{key:0,"aria-label":i.title||s(r)("el.pageHeader.title"),class:O(s(l).e("icon"))},[be(i.$slots,"icon",{},()=>[i.icon?(b(),he(s(Ze),{key:0},{default:le(()=>[(b(),he(Et(i.icon)))]),_:1})):se("v-if",!0)])],10,kte)):se("v-if",!0),E("div",{class:O(s(l).e("title"))},[be(i.$slots,"title",{},()=>[Ct($e(i.title||s(r)("el.pageHeader.title")),1)])],2)],2),ee(s(Cy),{direction:"vertical"}),E("div",{class:O(s(l).e("content"))},[be(i.$slots,"content",{},()=>[Ct($e(i.content),1)])],2)],2),i.$slots.extra?(b(),M("div",{key:0,class:O(s(l).e("extra"))},[be(i.$slots,"extra")],2)):se("v-if",!0)],2),i.$slots.default?(b(),M("div",{key:1,class:O(s(l).e("main"))},[be(i.$slots,"default")],2)):se("v-if",!0)],2))}});var Ste=Le(Cte,[["__file","page-header.vue"]]);const Ete=yt(Ste),Fy=Symbol("elPaginationKey"),Tte=Pe({disabled:Boolean,currentPage:{type:Number,default:1},prevText:{type:String},prevIcon:{type:Xt}}),$te={click:e=>e instanceof MouseEvent},Mte=["disabled","aria-label","aria-disabled"],Ate={key:0},zte=N({...N({name:"ElPaginationPrev"}),props:Tte,emits:$te,setup(e){const t=e,{t:o}=Rt(),r=C(()=>t.disabled||t.currentPage<=1);return(l,n)=>(b(),M("button",{type:"button",class:"btn-prev",disabled:s(r),"aria-label":l.prevText||s(o)("el.pagination.prev"),"aria-disabled":s(r),onClick:n[0]||(n[0]=a=>l.$emit("click",a))},[l.prevText?(b(),M("span",Ate,$e(l.prevText),1)):(b(),he(s(Ze),{key:1},{default:le(()=>[(b(),he(Et(l.prevIcon)))]),_:1}))],8,Mte))}});var Ite=Le(zte,[["__file","prev.vue"]]);const Ote=Pe({disabled:Boolean,currentPage:{type:Number,default:1},pageCount:{type:Number,default:50},nextText:{type:String},nextIcon:{type:Xt}}),Nte=["disabled","aria-label","aria-disabled"],Pte={key:0},Rte=N({...N({name:"ElPaginationNext"}),props:Ote,emits:["click"],setup(e){const t=e,{t:o}=Rt(),r=C(()=>t.disabled||t.currentPage===t.pageCount||t.pageCount===0);return(l,n)=>(b(),M("button",{type:"button",class:"btn-next",disabled:s(r),"aria-label":l.nextText||s(o)("el.pagination.next"),"aria-disabled":s(r),onClick:n[0]||(n[0]=a=>l.$emit("click",a))},[l.nextText?(b(),M("span",Pte,$e(l.nextText),1)):(b(),he(s(Ze),{key:1},{default:le(()=>[(b(),he(Et(l.nextIcon)))]),_:1}))],8,Nte))}});var Lte=Le(Rte,[["__file","next.vue"]]);const jy=Symbol("ElSelectGroup"),ls=Symbol("ElSelect");function Bte(e,t){const o=Ge(ls),r=Ge(jy,{disabled:!1}),l=C(()=>o.props.multiple?u(o.props.modelValue,e.value):u([o.props.modelValue],e.value)),n=C(()=>{if(o.props.multiple){const v=o.props.modelValue||[];return!l.value&&v.length>=o.props.multipleLimit&&o.props.multipleLimit>0}else return!1}),a=C(()=>e.label||(xt(e.value)?"":e.value)),i=C(()=>e.value||e.label||""),c=C(()=>e.disabled||t.groupDisabled||n.value),d=wt(),u=(v=[],m)=>{if(xt(e.value)){const f=o.props.valueKey;return v&&v.some(_=>jt(wo(_,f))===wo(m,f))}else return v&&v.includes(m)},p=()=>{!e.disabled&&!r.disabled&&(o.states.hoveringIndex=o.optionsArray.indexOf(d.proxy))},h=v=>{const m=new RegExp(ch(v),"i");t.visible=m.test(a.value)||e.created};return Se(()=>a.value,()=>{!e.created&&!o.props.remote&&o.setSelected()}),Se(()=>e.value,(v,m)=>{const{remote:f,valueKey:_}=o.props;if(nr(v,m)||(o.onOptionDestroy(m,d.proxy),o.onOptionCreate(d.proxy)),!e.created&&!f){if(_&&xt(v)&&xt(m)&&v[_]===m[_])return;o.setSelected()}}),Se(()=>r.disabled,()=>{t.groupDisabled=r.disabled},{immediate:!0}),{select:o,currentLabel:a,currentValue:i,itemSelected:l,isDisabled:c,hoverItem:p,updateOption:h}}const Vte=N({name:"ElOption",componentName:"ElOption",props:{value:{required:!0,type:[String,Number,Boolean,Object]},label:[String,Number],created:Boolean,disabled:Boolean},setup(e){const t=ze("select"),o=Qo(),r=C(()=>[t.be("dropdown","item"),t.is("disabled",s(i)),t.is("selected",s(a)),t.is("hovering",s(h))]),l=Dt({index:-1,groupDisabled:!1,visible:!0,hover:!1}),{currentLabel:n,itemSelected:a,isDisabled:i,select:c,hoverItem:d,updateOption:u}=Bte(e,l),{visible:p,hover:h}=Bo(l),v=wt().proxy;c.onOptionCreate(v),to(()=>{const f=v.value,{selected:_}=c.states,y=(c.props.multiple?_:[_]).some(w=>w.value===v.value);et(()=>{c.states.cachedOptions.get(f)===v&&!y&&c.states.cachedOptions.delete(f)}),c.onOptionDestroy(f,v)});function m(){e.disabled!==!0&&l.groupDisabled!==!0&&c.handleOptionSelect(v)}return{ns:t,id:o,containerKls:r,currentLabel:n,itemSelected:a,isDisabled:i,select:c,hoverItem:d,updateOption:u,visible:p,hover:h,selectOptionClick:m,states:l}}}),Dte=["id","aria-disabled","aria-selected"];function Hte(e,t,o,r,l,n){return mt((b(),M("li",{id:e.id,class:O(e.containerKls),role:"option","aria-disabled":e.isDisabled||void 0,"aria-selected":e.itemSelected,onMouseenter:t[0]||(t[0]=(...a)=>e.hoverItem&&e.hoverItem(...a)),onClick:t[1]||(t[1]=ct((...a)=>e.selectOptionClick&&e.selectOptionClick(...a),["stop"]))},[be(e.$slots,"default",{},()=>[E("span",null,$e(e.currentLabel),1)])],42,Dte)),[[Lt,e.visible]])}var Qv=Le(Vte,[["render",Hte],["__file","option.vue"]]);const Fte=N({name:"ElSelectDropdown",componentName:"ElSelectDropdown",setup(){const e=Ge(ls),t=ze("select"),o=C(()=>e.props.popperClass),r=C(()=>e.props.multiple),l=C(()=>e.props.fitInputWidth),n=D("");function a(){var i;n.value=`${(i=e.selectRef)==null?void 0:i.offsetWidth}px`}return ft(()=>{a(),so(e.selectRef,a)}),{ns:t,minWidth:n,popperClass:o,isMultiple:r,isFitInputWidth:l}}});function jte(e,t,o,r,l,n){return b(),M("div",{class:O([e.ns.b("dropdown"),e.ns.is("multiple",e.isMultiple),e.popperClass]),style:Je({[e.isFitInputWidth?"width":"minWidth"]:e.minWidth})},[e.$slots.header?(b(),M("div",{key:0,class:O(e.ns.be("dropdown","header"))},[be(e.$slots,"header")],2)):se("v-if",!0),be(e.$slots,"default"),e.$slots.footer?(b(),M("div",{key:1,class:O(e.ns.be("dropdown","footer"))},[be(e.$slots,"footer")],2)):se("v-if",!0)],6)}var Kte=Le(Fte,[["render",jte],["__file","select-dropdown.vue"]]);function Ky(e){const t=D(!1);return{handleCompositionStart:()=>{t.value=!0},handleCompositionUpdate:n=>{const a=n.target.value,i=a[a.length-1]||"";t.value=!xh(i)},handleCompositionEnd:n=>{t.value&&(t.value=!1,it(e)&&e(n))}}}const Ute=11,Wte=(e,t)=>{const{t:o}=Rt(),r=Qo(),l=ze("select"),n=ze("input"),a=Dt({inputValue:"",options:new Map,cachedOptions:new Map,disabledOptions:new Map,optionValues:[],selected:e.multiple?[]:{},selectionWidth:0,calculatorWidth:0,collapseItemWidth:0,selectedLabel:"",hoveringIndex:-1,previousQuery:null,inputHovering:!1,menuVisibleOnFocus:!1,isBeforeHide:!1}),i=D(null),c=D(null),d=D(null),u=D(null),p=D(null),h=D(null),v=D(null),m=D(null),f=D(null),_=D(null),g=D(null),y=D(null),{wrapperRef:w,isFocused:x,handleFocus:$,handleBlur:T}=Ud(p,{afterFocus(){e.automaticDropdown&&!R.value&&(R.value=!0,a.menuVisibleOnFocus=!0)},beforeBlur(He){var ot,eo;return((ot=d.value)==null?void 0:ot.isFocusInsideContent(He))||((eo=u.value)==null?void 0:eo.isFocusInsideContent(He))},afterBlur(){R.value=!1,a.menuVisibleOnFocus=!1}}),R=D(!1),P=D(),{form:L,formItem:V}=sr(),{inputId:B}=bl(e,{formItemContext:V}),{valueOnClear:j,isEmptyValue:te}=Wd(e),J=C(()=>e.disabled||(L==null?void 0:L.disabled)),Z=C(()=>e.multiple?Ke(e.modelValue)&&e.modelValue.length>0:!te(e.modelValue)),H=C(()=>e.clearable&&!J.value&&a.inputHovering&&Z.value),F=C(()=>e.remote&&e.filterable&&!e.remoteShowSuffix?"":e.suffixIcon),K=C(()=>l.is("reverse",F.value&&R.value)),I=C(()=>(V==null?void 0:V.validateState)||""),U=C(()=>_h[I.value]),oe=C(()=>e.remote?300:0),ne=C(()=>e.loading?e.loadingText||o("el.select.loading"):e.remote&&!a.inputValue&&a.options.size===0?!1:e.filterable&&a.inputValue&&a.options.size>0&&ce.value===0?e.noMatchText||o("el.select.noMatch"):a.options.size===0?e.noDataText||o("el.select.noData"):null),ce=C(()=>Q.value.filter(He=>He.visible).length),Q=C(()=>{const He=Array.from(a.options.values()),ot=[];return a.optionValues.forEach(eo=>{const ao=He.findIndex(Po=>Po.value===eo);ao>-1&&ot.push(He[ao])}),ot.length>=He.length?ot:He}),Me=C(()=>Array.from(a.cachedOptions.values())),de=C(()=>{const He=Q.value.filter(ot=>!ot.created).some(ot=>ot.currentLabel===a.inputValue);return e.filterable&&e.allowCreate&&a.inputValue!==""&&!He}),_e=()=>{e.filterable&&it(e.filterMethod)||e.filterable&&e.remote&&it(e.remoteMethod)||Q.value.forEach(He=>{var ot;(ot=He.updateOption)==null||ot.call(He,a.inputValue)})},me=So(),Re=C(()=>["small"].includes(me.value)?"small":"default"),Ce=C({get(){return R.value&&ne.value!==!1},set(He){R.value=He}}),Ee=C(()=>Ke(e.modelValue)?e.modelValue.length===0&&!a.inputValue:e.filterable?!a.inputValue:!0),De=C(()=>{var He;const ot=(He=e.placeholder)!=null?He:o("el.select.placeholder");return e.multiple||!Z.value?ot:a.selectedLabel}),ae=C(()=>A0?null:"mouseenter");Se(()=>e.modelValue,(He,ot)=>{e.multiple&&e.filterable&&!e.reserveKeyword&&(a.inputValue="",pe("")),Oe(),!nr(He,ot)&&e.validateEvent&&(V==null||V.validate("change").catch(eo=>void 0))},{flush:"post",deep:!0}),Se(()=>R.value,He=>{He?pe(a.inputValue):(a.inputValue="",a.previousQuery=null,a.isBeforeHide=!0),t("visible-change",He)}),Se(()=>a.options.entries(),()=>{var He;if(!Nt)return;const ot=((He=i.value)==null?void 0:He.querySelectorAll("input"))||[];(!e.filterable&&!e.defaultFirstOption&&!ko(e.modelValue)||!Array.from(ot).includes(document.activeElement))&&Oe(),e.defaultFirstOption&&(e.filterable||e.remote)&&ce.value&&ke()},{flush:"post"}),Se(()=>a.hoveringIndex,He=>{st(He)&&He>-1?P.value=Q.value[He]||{}:P.value={},Q.value.forEach(ot=>{ot.hover=P.value===ot})}),Go(()=>{a.isBeforeHide||_e()});const pe=He=>{a.previousQuery!==He&&(a.previousQuery=He,e.filterable&&it(e.filterMethod)?e.filterMethod(He):e.filterable&&e.remote&&it(e.remoteMethod)&&e.remoteMethod(He),e.defaultFirstOption&&(e.filterable||e.remote)&&ce.value?et(ke):et(Te))},ke=()=>{const He=Q.value.filter(ao=>ao.visible&&!ao.disabled&&!ao.states.groupDisabled),ot=He.find(ao=>ao.created),eo=He[0];a.hoveringIndex=G(Q.value,ot||eo)},Oe=()=>{if(e.multiple)a.selectedLabel="";else{const ot=we(e.modelValue);a.selectedLabel=ot.currentLabel,a.selected=ot;return}const He=[];Ke(e.modelValue)&&e.modelValue.forEach(ot=>{He.push(we(ot))}),a.selected=He},we=He=>{let ot;const eo=mu(He).toLowerCase()==="object",ao=mu(He).toLowerCase()==="null",Po=mu(He).toLowerCase()==="undefined";for(let fr=a.cachedOptions.size-1;fr>=0;fr--){const hr=Me.value[fr];if(eo?wo(hr.value,e.valueKey)===wo(He,e.valueKey):hr.value===He){ot={value:He,currentLabel:hr.currentLabel,get isDisabled(){return hr.isDisabled}};break}}if(ot)return ot;const Pr=eo?He.label:!ao&&!Po?He:"";return{value:He,currentLabel:Pr}},Te=()=>{e.multiple?a.hoveringIndex=Q.value.findIndex(He=>a.selected.some(ot=>Or(ot)===Or(He))):a.hoveringIndex=Q.value.findIndex(He=>Or(He)===Or(a.selected))},Ne=()=>{a.selectionWidth=c.value.getBoundingClientRect().width},Ie=()=>{a.calculatorWidth=h.value.getBoundingClientRect().width},Ae=()=>{a.collapseItemWidth=g.value.getBoundingClientRect().width},xe=()=>{var He,ot;(ot=(He=d.value)==null?void 0:He.updatePopper)==null||ot.call(He)},We=()=>{var He,ot;(ot=(He=u.value)==null?void 0:He.updatePopper)==null||ot.call(He)},qe=()=>{a.inputValue.length>0&&!R.value&&(R.value=!0),pe(a.inputValue)},ye=He=>{if(a.inputValue=He.target.value,e.remote)Ye();else return qe()},Ye=Mr(()=>{qe()},oe.value),tt=He=>{nr(e.modelValue,He)||t(ro,He)},pt=He=>k3(He,ot=>!a.disabledOptions.has(ot)),dt=He=>{if(e.multiple&&He.code!==lt.delete&&He.target.value.length<=0){const ot=e.modelValue.slice(),eo=pt(ot);if(eo<0)return;const ao=ot[eo];ot.splice(eo,1),t(St,ot),tt(ot),t("remove-tag",ao)}},Y=(He,ot)=>{const eo=a.selected.indexOf(ot);if(eo>-1&&!J.value){const ao=e.modelValue.slice();ao.splice(eo,1),t(St,ao),tt(ao),t("remove-tag",ot.value)}He.stopPropagation(),no()},S=He=>{He.stopPropagation();const ot=e.multiple?[]:j.value;if(e.multiple)for(const eo of a.selected)eo.isDisabled&&ot.push(eo.value);t(St,ot),tt(ot),a.hoveringIndex=-1,R.value=!1,t("clear"),no()},A=He=>{if(e.multiple){const ot=(e.modelValue||[]).slice(),eo=G(ot,He.value);eo>-1?ot.splice(eo,1):(e.multipleLimit<=0||ot.length{X(He)})},G=(He=[],ot)=>{if(!xt(ot))return He.indexOf(ot);const eo=e.valueKey;let ao=-1;return He.some((Po,Pr)=>jt(wo(Po,eo))===wo(ot,eo)?(ao=Pr,!0):!1),ao},X=He=>{var ot,eo,ao,Po,Pr;const Wl=Ke(He)?He[0]:He;let fr=null;if(Wl!=null&&Wl.value){const hr=Q.value.filter(ql=>ql.value===Wl.value);hr.length>0&&(fr=hr[0].$el)}if(d.value&&fr){const hr=(Po=(ao=(eo=(ot=d.value)==null?void 0:ot.popperRef)==null?void 0:eo.contentRef)==null?void 0:ao.querySelector)==null?void 0:Po.call(ao,`.${l.be("dropdown","wrap")}`);hr&&$3(hr,fr)}(Pr=y.value)==null||Pr.handleScroll()},re=He=>{a.options.set(He.value,He),a.cachedOptions.set(He.value,He),He.disabled&&a.disabledOptions.set(He.value,He)},ge=(He,ot)=>{a.options.get(He)===ot&&a.options.delete(He)},{handleCompositionStart:fe,handleCompositionUpdate:Fe,handleCompositionEnd:at}=Ky(He=>ye(He)),_t=C(()=>{var He,ot;return(ot=(He=d.value)==null?void 0:He.popperRef)==null?void 0:ot.contentRef}),At=()=>{a.isBeforeHide=!1,et(()=>X(a.selected))},no=()=>{var He;(He=p.value)==null||He.focus()},bt=()=>{Sn()},Qt=He=>{S(He)},Sn=He=>{if(R.value=!1,x.value){const ot=new FocusEvent("focus",He);et(()=>T(ot))}},qo=()=>{a.inputValue.length>0?a.inputValue="":R.value=!1},xl=()=>{J.value||(A0&&(a.inputHovering=!0),a.menuVisibleOnFocus?a.menuVisibleOnFocus=!1:R.value=!R.value)},kl=()=>{R.value?Q.value[a.hoveringIndex]&&A(Q.value[a.hoveringIndex]):xl()},Or=He=>xt(He.value)?wo(He.value,e.valueKey):He.value,Bt=C(()=>Q.value.filter(He=>He.visible).every(He=>He.disabled)),pr=C(()=>e.multiple?e.collapseTags?a.selected.slice(0,e.maxCollapseTags):a.selected:[]),or=C(()=>e.multiple?e.collapseTags?a.selected.slice(e.maxCollapseTags):[]:[]),Nr=He=>{if(!R.value){R.value=!0;return}if(!(a.options.size===0||ce.value===0)&&!Bt.value){He==="next"?(a.hoveringIndex++,a.hoveringIndex===a.options.size&&(a.hoveringIndex=0)):He==="prev"&&(a.hoveringIndex--,a.hoveringIndex<0&&(a.hoveringIndex=a.options.size-1));const ot=Q.value[a.hoveringIndex];(ot.disabled===!0||ot.states.groupDisabled===!0||!ot.visible)&&Nr(He),et(()=>X(P.value))}},yo=()=>{if(!c.value)return 0;const He=window.getComputedStyle(c.value);return Number.parseFloat(He.gap||"6px")},Eo=C(()=>{const He=yo();return{maxWidth:`${g.value&&e.maxCollapseTags===1?a.selectionWidth-a.collapseItemWidth-He:a.selectionWidth}px`}}),rr=C(()=>({maxWidth:`${a.selectionWidth}px`})),ua=C(()=>({width:`${Math.max(a.calculatorWidth,Ute)}px`}));return e.multiple&&!Ke(e.modelValue)&&t(St,[]),!e.multiple&&Ke(e.modelValue)&&t(St,""),so(c,Ne),so(h,Ie),so(f,xe),so(w,xe),so(_,We),so(g,Ae),ft(()=>{Oe()}),{inputId:B,contentId:r,nsSelect:l,nsInput:n,states:a,isFocused:x,expanded:R,optionsArray:Q,hoverOption:P,selectSize:me,filteredOptionsCount:ce,resetCalculatorWidth:Ie,updateTooltip:xe,updateTagTooltip:We,debouncedOnInputChange:Ye,onInput:ye,deletePrevTag:dt,deleteTag:Y,deleteSelected:S,handleOptionSelect:A,scrollToOption:X,hasModelValue:Z,shouldShowPlaceholder:Ee,currentPlaceholder:De,mouseEnterEventName:ae,showClose:H,iconComponent:F,iconReverse:K,validateState:I,validateIcon:U,showNewOption:de,updateOptions:_e,collapseTagSize:Re,setSelected:Oe,selectDisabled:J,emptyText:ne,handleCompositionStart:fe,handleCompositionUpdate:Fe,handleCompositionEnd:at,onOptionCreate:re,onOptionDestroy:ge,handleMenuEnter:At,handleFocus:$,focus:no,blur:bt,handleBlur:T,handleClearClick:Qt,handleClickOutside:Sn,handleEsc:qo,toggleMenu:xl,selectOption:kl,getValueKey:Or,navigateOptions:Nr,dropdownMenuVisible:Ce,showTagList:pr,collapseTagList:or,tagStyle:Eo,collapseTagStyle:rr,inputStyle:ua,popperRef:_t,inputRef:p,tooltipRef:d,tagTooltipRef:u,calculatorRef:h,prefixRef:v,suffixRef:m,selectRef:i,wrapperRef:w,selectionRef:c,scrollbarRef:y,menuRef:f,tagMenuRef:_,collapseItemRef:g}};var qte=N({name:"ElOptions",setup(e,{slots:t}){const o=Ge(ls);let r=[];return()=>{var l,n;const a=(l=t.default)==null?void 0:l.call(t),i=[];function c(d){Ke(d)&&d.forEach(u=>{var p,h,v,m;const f=(p=(u==null?void 0:u.type)||{})==null?void 0:p.name;f==="ElOptionGroup"?c(!ut(u.children)&&!Ke(u.children)&&it((h=u.children)==null?void 0:h.default)?(v=u.children)==null?void 0:v.default():u.children):f==="ElOption"?i.push((m=u.props)==null?void 0:m.value):Ke(u.children)&&c(u.children)})}return a.length&&c((n=a[0])==null?void 0:n.children),nr(i,r)||(r=i,o&&(o.states.optionValues=i)),a}}});const Yte=Pe({name:String,id:String,modelValue:{type:[Array,String,Number,Boolean,Object],default:void 0},autocomplete:{type:String,default:"off"},automaticDropdown:Boolean,size:Oo,effect:{type:ue(String),default:"light"},disabled:Boolean,clearable:Boolean,filterable:Boolean,allowCreate:Boolean,loading:Boolean,popperClass:{type:String,default:""},popperOptions:{type:ue(Object),default:()=>({})},remote:Boolean,loadingText:String,noMatchText:String,noDataText:String,remoteMethod:Function,filterMethod:Function,multiple:Boolean,multipleLimit:{type:Number,default:0},placeholder:{type:String},defaultFirstOption:Boolean,reserveKeyword:{type:Boolean,default:!0},valueKey:{type:String,default:"value"},collapseTags:Boolean,collapseTagsTooltip:Boolean,maxCollapseTags:{type:Number,default:1},teleported:Uo.teleported,persistent:{type:Boolean,default:!0},clearIcon:{type:Xt,default:hn},fitInputWidth:Boolean,suffixIcon:{type:Xt,default:Pl},tagType:{...hp.type,default:"info"},validateEvent:{type:Boolean,default:!0},remoteShowSuffix:Boolean,placement:{type:ue(String),values:Va,default:"bottom-start"},fallbackPlacements:{type:ue(Array),default:["bottom-start","top-start","right","left"]},...Xi,...Zo(["ariaLabel"])}),Uy="ElSelect",Gte=N({name:Uy,componentName:Uy,components:{ElInput:cr,ElSelectMenu:Kte,ElOption:Qv,ElOptions:qte,ElTag:Rc,ElScrollbar:wn,ElTooltip:ur,ElIcon:Ze},directives:{ClickOutside:xn},props:Yte,emits:[St,ro,"remove-tag","clear","visible-change","focus","blur"],setup(e,{emit:t}){const o=Wte(e,t);return zt(ls,Dt({props:e,states:o.states,optionsArray:o.optionsArray,handleOptionSelect:o.handleOptionSelect,onOptionCreate:o.onOptionCreate,onOptionDestroy:o.onOptionDestroy,selectRef:o.selectRef,setSelected:o.setSelected})),{...o}}}),Xte=["id","name","disabled","autocomplete","readonly","aria-activedescendant","aria-controls","aria-expanded","aria-label"],Zte=["textContent"],Jte={key:1};function Qte(e,t,o,r,l,n){const a=nt("el-tag"),i=nt("el-tooltip"),c=nt("el-icon"),d=nt("el-option"),u=nt("el-options"),p=nt("el-scrollbar"),h=nt("el-select-menu"),v=Ou("click-outside");return mt((b(),M("div",{ref:"selectRef",class:O([e.nsSelect.b(),e.nsSelect.m(e.selectSize)]),[As(e.mouseEnterEventName)]:t[16]||(t[16]=m=>e.states.inputHovering=!0),onMouseleave:t[17]||(t[17]=m=>e.states.inputHovering=!1),onClick:t[18]||(t[18]=ct((...m)=>e.toggleMenu&&e.toggleMenu(...m),["prevent","stop"]))},[ee(i,{ref:"tooltipRef",visible:e.dropdownMenuVisible,placement:e.placement,teleported:e.teleported,"popper-class":[e.nsSelect.e("popper"),e.popperClass],"popper-options":e.popperOptions,"fallback-placements":e.fallbackPlacements,effect:e.effect,pure:"",trigger:"click",transition:`${e.nsSelect.namespace.value}-zoom-in-top`,"stop-popper-mouse-event":!1,"gpu-acceleration":!1,persistent:e.persistent,onBeforeShow:e.handleMenuEnter,onHide:t[15]||(t[15]=m=>e.states.isBeforeHide=!1)},{default:le(()=>{var m;return[E("div",{ref:"wrapperRef",class:O([e.nsSelect.e("wrapper"),e.nsSelect.is("focused",e.isFocused),e.nsSelect.is("hovering",e.states.inputHovering),e.nsSelect.is("filterable",e.filterable),e.nsSelect.is("disabled",e.selectDisabled)])},[e.$slots.prefix?(b(),M("div",{key:0,ref:"prefixRef",class:O(e.nsSelect.e("prefix"))},[be(e.$slots,"prefix")],2)):se("v-if",!0),E("div",{ref:"selectionRef",class:O([e.nsSelect.e("selection"),e.nsSelect.is("near",e.multiple&&!e.$slots.prefix&&!!e.states.selected.length)])},[e.multiple?be(e.$slots,"tag",{key:0},()=>[(b(!0),M(Qe,null,It(e.showTagList,f=>(b(),M("div",{key:e.getValueKey(f),class:O(e.nsSelect.e("selected-item"))},[ee(a,{closable:!e.selectDisabled&&!f.isDisabled,size:e.collapseTagSize,type:e.tagType,"disable-transitions":"",style:Je(e.tagStyle),onClose:_=>e.deleteTag(_,f)},{default:le(()=>[E("span",{class:O(e.nsSelect.e("tags-text"))},[be(e.$slots,"label",{label:f.currentLabel,value:f.value},()=>[Ct($e(f.currentLabel),1)])],2)]),_:2},1032,["closable","size","type","style","onClose"])],2))),128)),e.collapseTags&&e.states.selected.length>e.maxCollapseTags?(b(),he(i,{key:0,ref:"tagTooltipRef",disabled:e.dropdownMenuVisible||!e.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],effect:e.effect,placement:"bottom",teleported:e.teleported},{default:le(()=>[E("div",{ref:"collapseItemRef",class:O(e.nsSelect.e("selected-item"))},[ee(a,{closable:!1,size:e.collapseTagSize,type:e.tagType,"disable-transitions":"",style:Je(e.collapseTagStyle)},{default:le(()=>[E("span",{class:O(e.nsSelect.e("tags-text"))}," + "+$e(e.states.selected.length-e.maxCollapseTags),3)]),_:1},8,["size","type","style"])],2)]),content:le(()=>[E("div",{ref:"tagMenuRef",class:O(e.nsSelect.e("selection"))},[(b(!0),M(Qe,null,It(e.collapseTagList,f=>(b(),M("div",{key:e.getValueKey(f),class:O(e.nsSelect.e("selected-item"))},[ee(a,{class:"in-tooltip",closable:!e.selectDisabled&&!f.isDisabled,size:e.collapseTagSize,type:e.tagType,"disable-transitions":"",onClose:_=>e.deleteTag(_,f)},{default:le(()=>[E("span",{class:O(e.nsSelect.e("tags-text"))},[be(e.$slots,"label",{label:f.currentLabel,value:f.value},()=>[Ct($e(f.currentLabel),1)])],2)]),_:2},1032,["closable","size","type","onClose"])],2))),128))],2)]),_:3},8,["disabled","effect","teleported"])):se("v-if",!0)]):se("v-if",!0),e.selectDisabled?se("v-if",!0):(b(),M("div",{key:1,class:O([e.nsSelect.e("selected-item"),e.nsSelect.e("input-wrapper"),e.nsSelect.is("hidden",!e.filterable)])},[mt(E("input",{id:e.inputId,ref:"inputRef","onUpdate:modelValue":t[0]||(t[0]=f=>e.states.inputValue=f),type:"text",name:e.name,class:O([e.nsSelect.e("input"),e.nsSelect.is(e.selectSize)]),disabled:e.selectDisabled,autocomplete:e.autocomplete,style:Je(e.inputStyle),role:"combobox",readonly:!e.filterable,spellcheck:"false","aria-activedescendant":((m=e.hoverOption)==null?void 0:m.id)||"","aria-controls":e.contentId,"aria-expanded":e.dropdownMenuVisible,"aria-label":e.ariaLabel,"aria-autocomplete":"none","aria-haspopup":"listbox",onFocus:t[1]||(t[1]=(...f)=>e.handleFocus&&e.handleFocus(...f)),onBlur:t[2]||(t[2]=(...f)=>e.handleBlur&&e.handleBlur(...f)),onKeydown:[t[3]||(t[3]=Gt(ct(f=>e.navigateOptions("next"),["stop","prevent"]),["down"])),t[4]||(t[4]=Gt(ct(f=>e.navigateOptions("prev"),["stop","prevent"]),["up"])),t[5]||(t[5]=Gt(ct((...f)=>e.handleEsc&&e.handleEsc(...f),["stop","prevent"]),["esc"])),t[6]||(t[6]=Gt(ct((...f)=>e.selectOption&&e.selectOption(...f),["stop","prevent"]),["enter"])),t[7]||(t[7]=Gt(ct((...f)=>e.deletePrevTag&&e.deletePrevTag(...f),["stop"]),["delete"]))],onCompositionstart:t[8]||(t[8]=(...f)=>e.handleCompositionStart&&e.handleCompositionStart(...f)),onCompositionupdate:t[9]||(t[9]=(...f)=>e.handleCompositionUpdate&&e.handleCompositionUpdate(...f)),onCompositionend:t[10]||(t[10]=(...f)=>e.handleCompositionEnd&&e.handleCompositionEnd(...f)),onInput:t[11]||(t[11]=(...f)=>e.onInput&&e.onInput(...f)),onClick:t[12]||(t[12]=ct((...f)=>e.toggleMenu&&e.toggleMenu(...f),["stop"]))},null,46,Xte),[[l0,e.states.inputValue]]),e.filterable?(b(),M("span",{key:0,ref:"calculatorRef","aria-hidden":"true",class:O(e.nsSelect.e("input-calculator")),textContent:$e(e.states.inputValue)},null,10,Zte)):se("v-if",!0)],2)),e.shouldShowPlaceholder?(b(),M("div",{key:2,class:O([e.nsSelect.e("selected-item"),e.nsSelect.e("placeholder"),e.nsSelect.is("transparent",!e.hasModelValue||e.expanded&&!e.states.inputValue)])},[e.hasModelValue?be(e.$slots,"label",{key:0,label:e.currentPlaceholder,value:e.modelValue},()=>[E("span",null,$e(e.currentPlaceholder),1)]):(b(),M("span",Jte,$e(e.currentPlaceholder),1))],2)):se("v-if",!0)],2),E("div",{ref:"suffixRef",class:O(e.nsSelect.e("suffix"))},[e.iconComponent&&!e.showClose?(b(),he(c,{key:0,class:O([e.nsSelect.e("caret"),e.nsSelect.e("icon"),e.iconReverse])},{default:le(()=>[(b(),he(Et(e.iconComponent)))]),_:1},8,["class"])):se("v-if",!0),e.showClose&&e.clearIcon?(b(),he(c,{key:1,class:O([e.nsSelect.e("caret"),e.nsSelect.e("icon")]),onClick:e.handleClearClick},{default:le(()=>[(b(),he(Et(e.clearIcon)))]),_:1},8,["class","onClick"])):se("v-if",!0),e.validateState&&e.validateIcon?(b(),he(c,{key:2,class:O([e.nsInput.e("icon"),e.nsInput.e("validateIcon")])},{default:le(()=>[(b(),he(Et(e.validateIcon)))]),_:1},8,["class"])):se("v-if",!0)],2)],2)]}),content:le(()=>[ee(h,{ref:"menuRef"},{default:le(()=>[e.$slots.header?(b(),M("div",{key:0,class:O(e.nsSelect.be("dropdown","header")),onClick:t[13]||(t[13]=ct(()=>{},["stop"]))},[be(e.$slots,"header")],2)):se("v-if",!0),mt(ee(p,{id:e.contentId,ref:"scrollbarRef",tag:"ul","wrap-class":e.nsSelect.be("dropdown","wrap"),"view-class":e.nsSelect.be("dropdown","list"),class:O([e.nsSelect.is("empty",e.filteredOptionsCount===0)]),role:"listbox","aria-label":e.ariaLabel,"aria-orientation":"vertical"},{default:le(()=>[e.showNewOption?(b(),he(d,{key:0,value:e.states.inputValue,created:!0},null,8,["value"])):se("v-if",!0),ee(u,null,{default:le(()=>[be(e.$slots,"default")]),_:3})]),_:3},8,["id","wrap-class","view-class","class","aria-label"]),[[Lt,e.states.options.size>0&&!e.loading]]),e.$slots.loading&&e.loading?(b(),M("div",{key:1,class:O(e.nsSelect.be("dropdown","loading"))},[be(e.$slots,"loading")],2)):e.loading||e.filteredOptionsCount===0?(b(),M("div",{key:2,class:O(e.nsSelect.be("dropdown","empty"))},[be(e.$slots,"empty",{},()=>[E("span",null,$e(e.emptyText),1)])],2)):se("v-if",!0),e.$slots.footer?(b(),M("div",{key:3,class:O(e.nsSelect.be("dropdown","footer")),onClick:t[14]||(t[14]=ct(()=>{},["stop"]))},[be(e.$slots,"footer")],2)):se("v-if",!0)]),_:3},512)]),_:3},8,["visible","placement","teleported","popper-class","popper-options","fallback-placements","effect","transition","persistent","onBeforeShow"])],16)),[[v,e.handleClickOutside,e.popperRef]])}var eoe=Le(Gte,[["render",Qte],["__file","select.vue"]]);const toe=N({name:"ElOptionGroup",componentName:"ElOptionGroup",props:{label:String,disabled:Boolean},setup(e){const t=ze("select"),o=D(null),r=wt(),l=D([]);zt(jy,Dt({...Bo(e)}));const n=C(()=>l.value.some(d=>d.visible===!0)),a=d=>{var u,p;return((u=d.type)==null?void 0:u.name)==="ElOption"&&!!((p=d.component)!=null&&p.proxy)},i=d=>{const u=Gn(d),p=[];return u.forEach(h=>{var v,m;a(h)?p.push(h.component.proxy):(v=h.children)!=null&&v.length?p.push(...i(h.children)):(m=h.component)!=null&&m.subTree&&p.push(...i(h.component.subTree))}),p},c=()=>{l.value=i(r.subTree)};return ft(()=>{c()}),o_(o,c,{attributes:!0,subtree:!0,childList:!0}),{groupRef:o,visible:n,ns:t}}});function ooe(e,t,o,r,l,n){return mt((b(),M("ul",{ref:"groupRef",class:O(e.ns.be("group","wrap"))},[E("li",{class:O(e.ns.be("group","title"))},$e(e.label),3),E("li",null,[E("ul",{class:O(e.ns.b("group"))},[be(e.$slots,"default")],2)])],2)),[[Lt,e.visible]])}var Wy=Le(toe,[["render",ooe],["__file","option-group.vue"]]);const Za=yt(eoe,{Option:Qv,OptionGroup:Wy}),Cp=co(Qv),roe=co(Wy),e2=()=>Ge(Fy,{}),loe=Pe({pageSize:{type:Number,required:!0},pageSizes:{type:ue(Array),default:()=>uo([10,20,30,40,50,100])},popperClass:{type:String},disabled:Boolean,teleported:Boolean,size:{type:String,values:Rl}}),noe=N({...N({name:"ElPaginationSizes"}),props:loe,emits:["page-size-change"],setup(e,{emit:t}){const o=e,{t:r}=Rt(),l=ze("pagination"),n=e2(),a=D(o.pageSize);Se(()=>o.pageSizes,(d,u)=>{if(!nr(d,u)&&Array.isArray(d)){const p=d.includes(o.pageSize)?o.pageSize:o.pageSizes[0];t("page-size-change",p)}}),Se(()=>o.pageSize,d=>{a.value=d});const i=C(()=>o.pageSizes);function c(d){var u;d!==a.value&&(a.value=d,(u=n.handleSizeChange)==null||u.call(n,Number(d)))}return(d,u)=>(b(),M("span",{class:O(s(l).e("sizes"))},[ee(s(Za),{"model-value":a.value,disabled:d.disabled,"popper-class":d.popperClass,size:d.size,teleported:d.teleported,"validate-event":!1,onChange:c},{default:le(()=>[(b(!0),M(Qe,null,It(s(i),p=>(b(),he(s(Cp),{key:p,value:p,label:p+s(r)("el.pagination.pagesize")},null,8,["value","label"]))),128))]),_:1},8,["model-value","disabled","popper-class","size","teleported"])],2))}});var aoe=Le(noe,[["__file","sizes.vue"]]);const ioe=Pe({size:{type:String,values:Rl}}),soe=["disabled"],coe=N({...N({name:"ElPaginationJumper"}),props:ioe,setup(e){const{t}=Rt(),o=ze("pagination"),{pageCount:r,disabled:l,currentPage:n,changeEvent:a}=e2(),i=D(),c=C(()=>{var p;return(p=i.value)!=null?p:n==null?void 0:n.value});function d(p){i.value=p?+p:""}function u(p){p=Math.trunc(+p),a==null||a(p),i.value=void 0}return(p,h)=>(b(),M("span",{class:O(s(o).e("jump")),disabled:s(l)},[E("span",{class:O([s(o).e("goto")])},$e(s(t)("el.pagination.goto")),3),ee(s(cr),{size:p.size,class:O([s(o).e("editor"),s(o).is("in-pagination")]),min:1,max:s(r),disabled:s(l),"model-value":s(c),"validate-event":!1,"aria-label":s(t)("el.pagination.page"),type:"number","onUpdate:modelValue":d,onChange:u},null,8,["size","class","max","disabled","model-value","aria-label"]),E("span",{class:O([s(o).e("classifier")])},$e(s(t)("el.pagination.pageClassifier")),3)],10,soe))}});var uoe=Le(coe,[["__file","jumper.vue"]]);const doe=Pe({total:{type:Number,default:1e3}}),poe=["disabled"],foe=N({...N({name:"ElPaginationTotal"}),props:doe,setup(e){const{t}=Rt(),o=ze("pagination"),{disabled:r}=e2();return(l,n)=>(b(),M("span",{class:O(s(o).e("total")),disabled:s(r)},$e(s(t)("el.pagination.total",{total:l.total})),11,poe))}});var hoe=Le(foe,[["__file","total.vue"]]);const voe=Pe({currentPage:{type:Number,default:1},pageCount:{type:Number,required:!0},pagerCount:{type:Number,default:7},disabled:Boolean}),moe=["onKeyup"],goe=["aria-current","aria-label","tabindex"],boe=["tabindex","aria-label"],_oe=["aria-current","aria-label","tabindex"],woe=["tabindex","aria-label"],yoe=["aria-current","aria-label","tabindex"],xoe=N({...N({name:"ElPaginationPager"}),props:voe,emits:["change"],setup(e,{emit:t}){const o=e,r=ze("pager"),l=ze("icon"),{t:n}=Rt(),a=D(!1),i=D(!1),c=D(!1),d=D(!1),u=D(!1),p=D(!1),h=C(()=>{const x=o.pagerCount,$=(x-1)/2,T=Number(o.currentPage),R=Number(o.pageCount);let P=!1,L=!1;R>x&&(T>x-$&&(P=!0),T["more","btn-quickprev",l.b(),r.is("disabled",o.disabled)]),m=C(()=>["more","btn-quicknext",l.b(),r.is("disabled",o.disabled)]),f=C(()=>o.disabled?-1:0);Go(()=>{const x=(o.pagerCount-1)/2;a.value=!1,i.value=!1,o.pageCount>o.pagerCount&&(o.currentPage>o.pagerCount-x&&(a.value=!0),o.currentPageR&&(T=R)),T!==P&&t("change",T)}return(x,$)=>(b(),M("ul",{class:O(s(r).b()),onClick:w,onKeyup:Gt(y,["enter"])},[x.pageCount>0?(b(),M("li",{key:0,class:O([[s(r).is("active",x.currentPage===1),s(r).is("disabled",x.disabled)],"number"]),"aria-current":x.currentPage===1,"aria-label":s(n)("el.pagination.currentPage",{pager:1}),tabindex:s(f)}," 1 ",10,goe)):se("v-if",!0),a.value?(b(),M("li",{key:1,class:O(s(v)),tabindex:s(f),"aria-label":s(n)("el.pagination.prevPages",{pager:x.pagerCount-2}),onMouseenter:$[0]||($[0]=T=>_(!0)),onMouseleave:$[1]||($[1]=T=>c.value=!1),onFocus:$[2]||($[2]=T=>g(!0)),onBlur:$[3]||($[3]=T=>u.value=!1)},[(c.value||u.value)&&!x.disabled?(b(),he(s(Ra),{key:0})):(b(),he(s(fh),{key:1}))],42,boe)):se("v-if",!0),(b(!0),M(Qe,null,It(s(h),T=>(b(),M("li",{key:T,class:O([[s(r).is("active",x.currentPage===T),s(r).is("disabled",x.disabled)],"number"]),"aria-current":x.currentPage===T,"aria-label":s(n)("el.pagination.currentPage",{pager:T}),tabindex:s(f)},$e(T),11,_oe))),128)),i.value?(b(),M("li",{key:2,class:O(s(m)),tabindex:s(f),"aria-label":s(n)("el.pagination.nextPages",{pager:x.pagerCount-2}),onMouseenter:$[4]||($[4]=T=>_()),onMouseleave:$[5]||($[5]=T=>d.value=!1),onFocus:$[6]||($[6]=T=>g()),onBlur:$[7]||($[7]=T=>p.value=!1)},[(d.value||p.value)&&!x.disabled?(b(),he(s(La),{key:0})):(b(),he(s(fh),{key:1}))],42,woe)):se("v-if",!0),x.pageCount>1?(b(),M("li",{key:3,class:O([[s(r).is("active",x.currentPage===x.pageCount),s(r).is("disabled",x.disabled)],"number"]),"aria-current":x.currentPage===x.pageCount,"aria-label":s(n)("el.pagination.currentPage",{pager:x.pageCount}),tabindex:s(f)},$e(x.pageCount),11,yoe)):se("v-if",!0)],42,moe))}});var koe=Le(xoe,[["__file","pager.vue"]]);const kr=e=>typeof e!="number",Coe=Pe({pageSize:Number,defaultPageSize:Number,total:Number,pageCount:Number,pagerCount:{type:Number,validator:e=>st(e)&&Math.trunc(e)===e&&e>4&&e<22&&e%2===1,default:7},currentPage:Number,defaultCurrentPage:Number,layout:{type:String,default:["prev","pager","next","jumper","->","total"].join(", ")},pageSizes:{type:ue(Array),default:()=>uo([10,20,30,40,50,100])},popperClass:{type:String,default:""},prevText:{type:String,default:""},prevIcon:{type:Xt,default:()=>fn},nextText:{type:String,default:""},nextIcon:{type:Xt,default:()=>ir},teleported:{type:Boolean,default:!0},small:Boolean,size:Oo,background:Boolean,disabled:Boolean,hideOnSinglePage:Boolean}),Soe={"update:current-page":e=>st(e),"update:page-size":e=>st(e),"size-change":e=>st(e),change:(e,t)=>st(e)&&st(t),"current-change":e=>st(e),"prev-click":e=>st(e),"next-click":e=>st(e)},qy="ElPagination";var Eoe=N({name:qy,props:Coe,emits:Soe,setup(e,{emit:t,slots:o}){const{t:r}=Rt(),l=ze("pagination"),n=wt().vnode.props||{},a=C(()=>e.small?"small":e==null?void 0:e.size);Lo({from:"small",replacement:"size",version:"3.0.0",scope:"el-pagination",ref:"https://element-plus.org/zh-CN/component/pagination.html"},C(()=>!!e.small));const i="onUpdate:currentPage"in n||"onUpdate:current-page"in n||"onCurrentChange"in n,c="onUpdate:pageSize"in n||"onUpdate:page-size"in n||"onSizeChange"in n,d=C(()=>{if(kr(e.total)&&kr(e.pageCount)||!kr(e.currentPage)&&!i)return!1;if(e.layout.includes("sizes")){if(kr(e.pageCount)){if(!kr(e.total)&&!kr(e.pageSize)&&!c)return!1}else if(!c)return!1}return!0}),u=D(kr(e.defaultPageSize)?10:e.defaultPageSize),p=D(kr(e.defaultCurrentPage)?1:e.defaultCurrentPage),h=C({get(){return kr(e.pageSize)?u.value:e.pageSize},set(x){kr(e.pageSize)&&(u.value=x),c&&(t("update:page-size",x),t("size-change",x))}}),v=C(()=>{let x=0;return kr(e.pageCount)?kr(e.total)||(x=Math.max(1,Math.ceil(e.total/h.value))):x=e.pageCount,x}),m=C({get(){return kr(e.currentPage)?p.value:e.currentPage},set(x){let $=x;x<1?$=1:x>v.value&&($=v.value),kr(e.currentPage)&&(p.value=$),i&&(t("update:current-page",$),t("current-change",$))}});Se(v,x=>{m.value>x&&(m.value=x)}),Se([m,h],x=>{t("change",...x)},{flush:"post"});function f(x){m.value=x}function _(x){h.value=x;const $=v.value;m.value>$&&(m.value=$)}function g(){e.disabled||(m.value-=1,t("prev-click",m.value))}function y(){e.disabled||(m.value+=1,t("next-click",m.value))}function w(x,$){x&&(x.props||(x.props={}),x.props.class=[x.props.class,$].join(" "))}return zt(Fy,{pageCount:v,disabled:C(()=>e.disabled),currentPage:m,changeEvent:f,handleSizeChange:_}),()=>{var x,$;if(!d.value)return r("el.pagination.deprecationWarning"),null;if(!e.layout||e.hideOnSinglePage&&v.value<=1)return null;const T=[],R=[],P=rt("div",{class:l.e("rightwrapper")},R),L={prev:rt(Ite,{disabled:e.disabled,currentPage:m.value,prevText:e.prevText,prevIcon:e.prevIcon,onClick:g}),jumper:rt(uoe,{size:a.value}),pager:rt(koe,{currentPage:m.value,pageCount:v.value,pagerCount:e.pagerCount,onChange:f,disabled:e.disabled}),next:rt(Lte,{disabled:e.disabled,currentPage:m.value,pageCount:v.value,nextText:e.nextText,nextIcon:e.nextIcon,onClick:y}),sizes:rt(aoe,{pageSize:h.value,pageSizes:e.pageSizes,popperClass:e.popperClass,disabled:e.disabled,teleported:e.teleported,size:a.value}),slot:($=(x=o==null?void 0:o.default)==null?void 0:x.call(o))!=null?$:null,total:rt(hoe,{total:kr(e.total)?0:e.total})},V=e.layout.split(",").map(j=>j.trim());let B=!1;return V.forEach(j=>{if(j==="->"){B=!0;return}B?R.push(L[j]):T.push(L[j])}),w(T[0],l.is("first")),w(T[T.length-1],l.is("last")),B&&R.length>0&&(w(R[0],l.is("first")),w(R[R.length-1],l.is("last")),T.push(P)),rt("div",{class:[l.b(),l.is("background",e.background),l.m(a.value)]},T)}}});const Toe=yt(Eoe),$oe=Pe({title:String,confirmButtonText:String,cancelButtonText:String,confirmButtonType:{type:String,values:uv,default:"primary"},cancelButtonType:{type:String,values:uv,default:"text"},icon:{type:Xt,default:()=>F3},iconColor:{type:String,default:"#f90"},hideIcon:{type:Boolean,default:!1},hideAfter:{type:Number,default:200},teleported:Uo.teleported,persistent:Uo.persistent,width:{type:[String,Number],default:150}}),Moe=N({...N({name:"ElPopconfirm"}),props:$oe,emits:{confirm:e=>e instanceof MouseEvent,cancel:e=>e instanceof MouseEvent},setup(e,{emit:t}){const o=e,{t:r}=Rt(),l=ze("popconfirm"),n=D(),a=()=>{var h,v;(v=(h=n.value)==null?void 0:h.onClose)==null||v.call(h)},i=C(()=>({width:mo(o.width)})),c=h=>{t("confirm",h),a()},d=h=>{t("cancel",h),a()},u=C(()=>o.confirmButtonText||r("el.popconfirm.confirmButtonText")),p=C(()=>o.cancelButtonText||r("el.popconfirm.cancelButtonText"));return(h,v)=>(b(),he(s(ur),Mt({ref_key:"tooltipRef",ref:n,trigger:"click",effect:"light"},h.$attrs,{"popper-class":`${s(l).namespace.value}-popover`,"popper-style":s(i),teleported:h.teleported,"fallback-placements":["bottom","top","right","left"],"hide-after":h.hideAfter,persistent:h.persistent}),{content:le(()=>[E("div",{class:O(s(l).b())},[E("div",{class:O(s(l).e("main"))},[!h.hideIcon&&h.icon?(b(),he(s(Ze),{key:0,class:O(s(l).e("icon")),style:Je({color:h.iconColor})},{default:le(()=>[(b(),he(Et(h.icon)))]),_:1},8,["class","style"])):se("v-if",!0),Ct(" "+$e(h.title),1)],2),E("div",{class:O(s(l).e("action"))},[ee(s(Wo),{size:"small",type:h.cancelButtonType==="text"?"":h.cancelButtonType,text:h.cancelButtonType==="text",onClick:d},{default:le(()=>[Ct($e(s(p)),1)]),_:1},8,["type","text"]),ee(s(Wo),{size:"small",type:h.confirmButtonType==="text"?"":h.confirmButtonType,text:h.confirmButtonType==="text",onClick:c},{default:le(()=>[Ct($e(s(u)),1)]),_:1},8,["type","text"])],2)],2)]),default:le(()=>[h.$slots.reference?be(h.$slots,"reference",{key:0}):se("v-if",!0)]),_:3},16,["popper-class","popper-style","teleported","hide-after","persistent"]))}});var Aoe=Le(Moe,[["__file","popconfirm.vue"]]);const zoe=yt(Aoe),Ioe=Pe({trigger:Pc.trigger,placement:xp.placement,disabled:Pc.disabled,visible:Uo.visible,transition:Uo.transition,popperOptions:xp.popperOptions,tabindex:xp.tabindex,content:Uo.content,popperStyle:Uo.popperStyle,popperClass:Uo.popperClass,enterable:{...Uo.enterable,default:!0},effect:{...Uo.effect,default:"light"},teleported:Uo.teleported,title:String,width:{type:[String,Number],default:150},offset:{type:Number,default:void 0},showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0},showArrow:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},"onUpdate:visible":{type:Function}}),Ooe={"update:visible":e=>Co(e),"before-enter":()=>!0,"before-leave":()=>!0,"after-enter":()=>!0,"after-leave":()=>!0},Noe="onUpdate:visible",Poe=N({...N({name:"ElPopover"}),props:Ioe,emits:Ooe,setup(e,{expose:t,emit:o}){const r=e,l=C(()=>r[Noe]),n=ze("popover"),a=D(),i=C(()=>{var _;return(_=s(a))==null?void 0:_.popperRef}),c=C(()=>[{width:mo(r.width)},r.popperStyle]),d=C(()=>[n.b(),r.popperClass,{[n.m("plain")]:!!r.content}]),u=C(()=>r.transition===`${n.namespace.value}-fade-in-linear`),p=()=>{var _;(_=a.value)==null||_.hide()},h=()=>{o("before-enter")},v=()=>{o("before-leave")},m=()=>{o("after-enter")},f=()=>{o("update:visible",!1),o("after-leave")};return t({popperRef:i,hide:p}),(_,g)=>(b(),he(s(ur),Mt({ref_key:"tooltipRef",ref:a},_.$attrs,{trigger:_.trigger,placement:_.placement,disabled:_.disabled,visible:_.visible,transition:_.transition,"popper-options":_.popperOptions,tabindex:_.tabindex,content:_.content,offset:_.offset,"show-after":_.showAfter,"hide-after":_.hideAfter,"auto-close":_.autoClose,"show-arrow":_.showArrow,"aria-label":_.title,effect:_.effect,enterable:_.enterable,"popper-class":s(d),"popper-style":s(c),teleported:_.teleported,persistent:_.persistent,"gpu-acceleration":s(u),"onUpdate:visible":s(l),onBeforeShow:h,onBeforeHide:v,onShow:m,onHide:f}),{content:le(()=>[_.title?(b(),M("div",{key:0,class:O(s(n).e("title")),role:"title"},$e(_.title),3)):se("v-if",!0),be(_.$slots,"default",{},()=>[Ct($e(_.content),1)])]),default:le(()=>[_.$slots.reference?be(_.$slots,"reference",{key:0}):se("v-if",!0)]),_:3},16,["trigger","placement","disabled","visible","transition","popper-options","tabindex","content","offset","show-after","hide-after","auto-close","show-arrow","aria-label","effect","enterable","popper-class","popper-style","teleported","persistent","gpu-acceleration","onUpdate:visible"]))}});var Roe=Le(Poe,[["__file","popover.vue"]]);const Yy=(e,t)=>{const o=t.arg||t.value,r=o==null?void 0:o.popperRef;r&&(r.triggerRef=e)};var Loe={mounted(e,t){Yy(e,t)},updated(e,t){Yy(e,t)}};const Gy=lF(Loe,"popover"),Boe=yt(Roe,{directive:Gy}),Voe=Pe({type:{type:String,default:"line",values:["line","circle","dashboard"]},percentage:{type:Number,default:0,validator:e=>e>=0&&e<=100},status:{type:String,default:"",values:["","success","exception","warning"]},indeterminate:{type:Boolean,default:!1},duration:{type:Number,default:3},strokeWidth:{type:Number,default:6},strokeLinecap:{type:ue(String),default:"round"},textInside:{type:Boolean,default:!1},width:{type:Number,default:126},showText:{type:Boolean,default:!0},color:{type:ue([String,Array,Function]),default:""},striped:Boolean,stripedFlow:Boolean,format:{type:ue(Function),default:e=>`${e}%`}}),Doe=["aria-valuenow"],Hoe={viewBox:"0 0 100 100"},Foe=["d","stroke","stroke-linecap","stroke-width"],joe=["d","stroke","opacity","stroke-linecap","stroke-width"],Koe={key:0},Uoe=N({...N({name:"ElProgress"}),props:Voe,setup(e){const t=e,o={success:"#13ce66",exception:"#ff4949",warning:"#e6a23c",default:"#20a0ff"},r=ze("progress"),l=C(()=>{const w={width:`${t.percentage}%`,animationDuration:`${t.duration}s`},x=y(t.percentage);return x.includes("gradient")?w.background=x:w.backgroundColor=x,w}),n=C(()=>(t.strokeWidth/t.width*100).toFixed(1)),a=C(()=>["circle","dashboard"].includes(t.type)?Number.parseInt(`${50-Number.parseFloat(n.value)/2}`,10):0),i=C(()=>{const w=a.value,x=t.type==="dashboard";return` M 50 50 m 0 ${x?"":"-"}${w} a ${w} ${w} 0 1 1 0 ${x?"-":""}${w*2} a ${w} ${w} 0 1 1 0 ${x?"":"-"}${w*2} - `}),c=C(()=>2*Math.PI*a.value),d=C(()=>t.type==="dashboard"?.75:1),u=C(()=>`${-1*c.value*(1-d.value)/2}px`),p=C(()=>({strokeDasharray:`${c.value*d.value}px, ${c.value}px`,strokeDashoffset:u.value})),h=C(()=>({strokeDasharray:`${c.value*d.value*(t.percentage/100)}px, ${c.value}px`,strokeDashoffset:u.value,transition:"stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s"})),v=C(()=>{let w;return t.color?w=y(t.percentage):w=o[t.status]||o.default,w}),m=C(()=>t.status==="warning"?mc:t.type==="line"?t.status==="success"?zd:hn:t.status==="success"?Li:Jr),f=C(()=>t.type==="line"?12+t.strokeWidth*.4:t.width*.111111+2),_=C(()=>t.format(t.percentage));function g(w){const x=100/w.length;return w.map((T,R)=>ut(T)?{color:T,percentage:(R+1)*x}:T).sort((T,R)=>T.percentage-R.percentage)}const y=w=>{var x;const{color:$}=t;if(it($))return $(w);if(ut($))return $;{const T=g($);for(const R of T)if(R.percentage>w)return R.color;return(x=T[T.length-1])==null?void 0:x.color}};return(w,x)=>(b(),M("div",{class:O([s(r).b(),s(r).m(w.type),s(r).is(w.status),{[s(r).m("without-text")]:!w.showText,[s(r).m("text-inside")]:w.textInside}]),role:"progressbar","aria-valuenow":w.percentage,"aria-valuemin":"0","aria-valuemax":"100"},[w.type==="line"?(b(),M("div",{key:0,class:O(s(r).b("bar"))},[E("div",{class:O(s(r).be("bar","outer")),style:Je({height:`${w.strokeWidth}px`})},[E("div",{class:O([s(r).be("bar","inner"),{[s(r).bem("bar","inner","indeterminate")]:w.indeterminate},{[s(r).bem("bar","inner","striped")]:w.striped},{[s(r).bem("bar","inner","striped-flow")]:w.stripedFlow}]),style:Je(s(l))},[(w.showText||w.$slots.default)&&w.textInside?(b(),M("div",{key:0,class:O(s(r).be("bar","innerText"))},[be(w.$slots,"default",{percentage:w.percentage},()=>[E("span",null,$e(s(_)),1)])],2)):se("v-if",!0)],6)],6)],2)):(b(),M("div",{key:1,class:O(s(r).b("circle")),style:Je({height:`${w.width}px`,width:`${w.width}px`})},[(b(),M("svg",Hoe,[E("path",{class:O(s(r).be("circle","track")),d:s(i),stroke:`var(${s(r).cssVarName("fill-color-light")}, #e5e9f2)`,"stroke-linecap":w.strokeLinecap,"stroke-width":s(n),fill:"none",style:Je(s(p))},null,14,Foe),E("path",{class:O(s(r).be("circle","path")),d:s(i),stroke:s(v),fill:"none",opacity:w.percentage?1:0,"stroke-linecap":w.strokeLinecap,"stroke-width":s(n),style:Je(s(h))},null,14,joe)]))],6)),(w.showText||w.$slots.default)&&!w.textInside?(b(),M("div",{key:2,class:O(s(r).e("text")),style:Je({fontSize:`${s(f)}px`})},[be(w.$slots,"default",{percentage:w.percentage},()=>[w.status?(b(),he(s(Ze),{key:1},{default:le(()=>[(b(),he(Et(s(m))))]),_:1})):(b(),M("span",Koe,$e(s(_)),1))])],6)):se("v-if",!0)],10,Doe))}});var Woe=Le(Uoe,[["__file","progress.vue"]]);const Xy=yt(Woe),qoe=Pe({modelValue:{type:Number,default:0},id:{type:String,default:void 0},lowThreshold:{type:Number,default:2},highThreshold:{type:Number,default:4},max:{type:Number,default:5},colors:{type:ue([Array,Object]),default:()=>uo(["","",""])},voidColor:{type:String,default:""},disabledVoidColor:{type:String,default:""},icons:{type:ue([Array,Object]),default:()=>[vc,vc,vc]},voidIcon:{type:Xt,default:()=>G3},disabledVoidIcon:{type:Xt,default:()=>vc},disabled:Boolean,allowHalf:Boolean,showText:Boolean,showScore:Boolean,textColor:{type:String,default:""},texts:{type:ue(Array),default:()=>uo(["Extremely bad","Disappointed","Fair","Satisfied","Surprise"])},scoreTemplate:{type:String,default:"{value}"},size:Oo,label:{type:String,default:void 0},clearable:{type:Boolean,default:!1},...Zo(["ariaLabel"])}),Yoe={[ro]:e=>st(e),[St]:e=>st(e)},Goe=["id","aria-label","aria-labelledby","aria-valuenow","aria-valuetext","aria-valuemax"],Xoe=["onMousemove","onClick"],Zoe=N({...N({name:"ElRate"}),props:qoe,emits:Yoe,setup(e,{expose:t,emit:o}){const r=e;function l(H,F){const K=oe=>xt(oe),I=Object.keys(F).map(oe=>+oe).filter(oe=>{const ne=F[oe];return(K(ne)?ne.excluded:!1)?Hoe-ne),U=F[I[0]];return K(U)&&U.value||U}const n=Ge(Ka,void 0),a=Ge(Hl,void 0),i=So(),c=ze("rate"),{inputId:d,isLabeledByFormItem:u}=bl(r,{formItemContext:a}),p=D(r.modelValue),h=D(-1),v=D(!0),m=C(()=>[c.b(),c.m(i.value)]),f=C(()=>r.disabled||(n==null?void 0:n.disabled)),_=C(()=>c.cssVarBlock({"void-color":r.voidColor,"disabled-void-color":r.disabledVoidColor,"fill-color":x.value})),g=C(()=>{let H="";return r.showScore?H=r.scoreTemplate.replace(/\{\s*value\s*\}/,f.value?`${r.modelValue}`:`${p.value}`):r.showText&&(H=r.texts[Math.ceil(p.value)-1]),H}),y=C(()=>r.modelValue*100-Math.floor(r.modelValue)*100),w=C(()=>Ke(r.colors)?{[r.lowThreshold]:r.colors[0],[r.highThreshold]:{value:r.colors[1],excluded:!0},[r.max]:r.colors[2]}:r.colors),x=C(()=>{const H=l(p.value,w.value);return xt(H)?"":H}),$=C(()=>{let H="";return f.value?H=`${y.value}%`:r.allowHalf&&(H="50%"),{color:x.value,width:H}}),T=C(()=>{let H=Ke(r.icons)?[...r.icons]:{...r.icons};return H=Nn(H),Ke(H)?{[r.lowThreshold]:H[0],[r.highThreshold]:{value:H[1],excluded:!0},[r.max]:H[2]}:H}),R=C(()=>l(r.modelValue,T.value)),P=C(()=>f.value?ut(r.disabledVoidIcon)?r.disabledVoidIcon:Nn(r.disabledVoidIcon):ut(r.voidIcon)?r.voidIcon:Nn(r.voidIcon)),L=C(()=>l(p.value,T.value));function B(H){const F=f.value&&y.value>0&&H-1r.modelValue,K=r.allowHalf&&v.value&&H-.5<=p.value&&H>p.value;return F||K}function V(H){r.clearable&&H===r.modelValue&&(H=0),o(St,H),r.modelValue!==H&&o("change",H)}function j(H){f.value||(r.allowHalf&&v.value?V(p.value):V(H))}function te(H){if(f.value)return;let F=p.value;const K=H.code;return K===lt.up||K===lt.right?(r.allowHalf?F+=.5:F+=1,H.stopPropagation(),H.preventDefault()):(K===lt.left||K===lt.down)&&(r.allowHalf?F-=.5:F-=1,H.stopPropagation(),H.preventDefault()),F=F<0?0:F,F=F>r.max?r.max:F,o(St,F),o("change",F),F}function J(H,F){if(!f.value){if(r.allowHalf&&F){let K=F.target;Xr(K,c.e("item"))&&(K=K.querySelector(`.${c.e("icon")}`)),(K.clientWidth===0||Xr(K,c.e("decimal")))&&(K=K.parentNode),v.value=F.offsetX*2<=K.clientWidth,p.value=v.value?H-.5:H}else p.value=H;h.value=H}}function Z(){f.value||(r.allowHalf&&(v.value=r.modelValue!==Math.floor(r.modelValue)),p.value=r.modelValue,h.value=-1)}return Se(()=>r.modelValue,H=>{p.value=H,v.value=r.modelValue!==Math.floor(r.modelValue)}),r.modelValue||o(St,0),Lo({from:"label",replacement:"aria-label",version:"2.8.0",scope:"el-rate",ref:"https://element-plus.org/en-US/component/rate.html"},C(()=>!!r.label)),t({setCurrentValue:J,resetCurrentValue:Z}),(H,F)=>{var K;return b(),M("div",{id:s(d),class:O([s(m),s(c).is("disabled",s(f))]),role:"slider","aria-label":s(u)?void 0:H.label||H.ariaLabel||"rating","aria-labelledby":s(u)?(K=s(a))==null?void 0:K.labelId:void 0,"aria-valuenow":p.value,"aria-valuetext":s(g)||void 0,"aria-valuemin":"0","aria-valuemax":H.max,tabindex:"0",style:Je(s(_)),onKeydown:te},[(b(!0),M(Qe,null,It(H.max,(I,U)=>(b(),M("span",{key:U,class:O(s(c).e("item")),onMousemove:oe=>J(I,oe),onMouseleave:Z,onClick:oe=>j(I)},[ee(s(Ze),{class:O([s(c).e("icon"),{hover:h.value===I},s(c).is("active",I<=p.value)])},{default:le(()=>[B(I)?se("v-if",!0):(b(),M(Qe,{key:0},[mt((b(),he(Et(s(L)),null,null,512)),[[Lt,I<=p.value]]),mt((b(),he(Et(s(P)),null,null,512)),[[Lt,!(I<=p.value)]])],64)),B(I)?(b(),M(Qe,{key:1},[(b(),he(Et(s(P)),{class:O([s(c).em("decimal","box")])},null,8,["class"])),ee(s(Ze),{style:Je(s($)),class:O([s(c).e("icon"),s(c).e("decimal")])},{default:le(()=>[(b(),he(Et(s(R))))]),_:1},8,["style","class"])],64)):se("v-if",!0)]),_:2},1032,["class"])],42,Xoe))),128)),H.showText||H.showScore?(b(),M("span",{key:0,class:O(s(c).e("text")),style:Je({color:H.textColor})},$e(s(g)),7)):se("v-if",!0)],46,Goe)}}});var Joe=Le(Zoe,[["__file","rate.vue"]]);const Qoe=yt(Joe),ns={success:"icon-success",warning:"icon-warning",error:"icon-error",info:"icon-info"},Zy={[ns.success]:N3,[ns.warning]:mc,[ns.error]:Id,[ns.info]:Od},ere=Pe({title:{type:String,default:""},subTitle:{type:String,default:""},icon:{type:String,values:["success","warning","info","error"],default:"info"}}),tre=N({...N({name:"ElResult"}),props:ere,setup(e){const t=e,o=ze("result"),r=C(()=>{const l=t.icon,n=l&&ns[l]?ns[l]:"icon-info",a=Zy[n]||Zy["icon-info"];return{class:n,component:a}});return(l,n)=>(b(),M("div",{class:O(s(o).b())},[E("div",{class:O(s(o).e("icon"))},[be(l.$slots,"icon",{},()=>[s(r).component?(b(),he(Et(s(r).component),{key:0,class:O(s(r).class)},null,8,["class"])):se("v-if",!0)])],2),l.title||l.$slots.title?(b(),M("div",{key:0,class:O(s(o).e("title"))},[be(l.$slots,"title",{},()=>[E("p",null,$e(l.title),1)])],2)):se("v-if",!0),l.subTitle||l.$slots["sub-title"]?(b(),M("div",{key:1,class:O(s(o).e("subtitle"))},[be(l.$slots,"sub-title",{},()=>[E("p",null,$e(l.subTitle),1)])],2)):se("v-if",!0),l.$slots.extra?(b(),M("div",{key:2,class:O(s(o).e("extra"))},[be(l.$slots,"extra")],2)):se("v-if",!0)],2))}});var ore=Le(tre,[["__file","result.vue"]]);const rre=yt(ore);var Jy=Number.isNaN||function(t){return typeof t=="number"&&t!==t};function lre(e,t){return!!(e===t||Jy(e)&&Jy(t))}function nre(e,t){if(e.length!==t.length)return!1;for(var o=0;o{const t=wt().proxy.$props;return C(()=>{const o=(r,l,n)=>({});return t.perfMode?_d(o):are(o)})},t2=50,Sp="itemRendered",Ep="scroll",as="forward",Tp="backward",ll="auto",$p="smart",Hc="start",Kl="center",Fc="end",is="horizontal",o2="vertical",ire="ltr",ss="rtl",jc="negative",r2="positive-ascending",l2="positive-descending",sre={[is]:"left",[o2]:"top"},cre=20,ure={[is]:"deltaX",[o2]:"deltaY"},dre=({atEndEdge:e,atStartEdge:t,layout:o},r)=>{let l,n=0;const a=c=>c<0&&t.value||c>0&&e.value;return{hasReachedEdge:a,onWheel:c=>{Pa(l);const d=c[ure[o.value]];a(n)&&a(n+d)||(n+=d,i_()||c.preventDefault(),l=Xn(()=>{r(n),n=0}))}}},n2=vl({type:ue([Number,Function]),required:!0}),a2=vl({type:Number}),i2=vl({type:Number,default:2}),pre=vl({type:String,values:["ltr","rtl"],default:"ltr"}),s2=vl({type:Number,default:0}),Mp=vl({type:Number,required:!0}),e8=vl({type:String,values:["horizontal","vertical"],default:o2}),t8=Pe({className:{type:String,default:""},containerElement:{type:ue([String,Object]),default:"div"},data:{type:ue(Array),default:()=>uo([])},direction:pre,height:{type:[String,Number],required:!0},innerElement:{type:[String,Object],default:"div"},style:{type:ue([Object,String,Array])},useIsScrolling:{type:Boolean,default:!1},width:{type:[Number,String],required:!1},perfMode:{type:Boolean,default:!0},scrollbarAlwaysOn:{type:Boolean,default:!1}}),o8=Pe({cache:i2,estimatedItemSize:a2,layout:e8,initScrollOffset:s2,total:Mp,itemSize:n2,...t8}),c2={type:Number,default:6},r8={type:Number,default:0},l8={type:Number,default:2},Ja=Pe({columnCache:i2,columnWidth:n2,estimatedColumnWidth:a2,estimatedRowHeight:a2,initScrollLeft:s2,initScrollTop:s2,itemKey:{type:ue(Function),default:({columnIndex:e,rowIndex:t})=>`${t}:${e}`},rowCache:i2,rowHeight:n2,totalColumn:Mp,totalRow:Mp,hScrollbarSize:c2,vScrollbarSize:c2,scrollbarStartGap:r8,scrollbarEndGap:l8,role:String,...t8}),n8=Pe({alwaysOn:Boolean,class:String,layout:e8,total:Mp,ratio:{type:Number,required:!0},clientSize:{type:Number,required:!0},scrollFrom:{type:Number,required:!0},scrollbarSize:c2,startGap:r8,endGap:l8,visible:Boolean}),Qa=(e,t)=>ee===ire||e===ss||e===is,a8=e=>e===ss;let cs=null;function Ap(e=!1){if(cs===null||e){const t=document.createElement("div"),o=t.style;o.width="50px",o.height="50px",o.overflow="scroll",o.direction="rtl";const r=document.createElement("div"),l=r.style;return l.width="100px",l.height="100px",t.appendChild(r),document.body.appendChild(t),t.scrollLeft>0?cs=l2:(t.scrollLeft=1,t.scrollLeft===0?cs=jc:cs=r2),document.body.removeChild(t),cs}return cs}function fre({move:e,size:t,bar:o},r){const l={},n=`translate${o.axis}(${e}px)`;return l[o.size]=t,l.transform=n,l.msTransform=n,l.webkitTransform=n,r==="horizontal"?l.height="100%":l.width="100%",l}const u2=N({name:"ElVirtualScrollBar",props:n8,emits:["scroll","start-move","stop-move"],setup(e,{emit:t}){const o=C(()=>e.startGap+e.endGap),r=ze("virtual-scrollbar"),l=ze("scrollbar"),n=D(),a=D();let i=null,c=null;const d=Dt({isDragging:!1,traveled:0}),u=C(()=>g4[e.layout]),p=C(()=>e.clientSize-s(o)),h=C(()=>({position:"absolute",width:`${is===e.layout?p.value:e.scrollbarSize}px`,height:`${is===e.layout?e.scrollbarSize:p.value}px`,[sre[e.layout]]:"2px",right:"2px",bottom:"2px",borderRadius:"4px"})),v=C(()=>{const T=e.ratio,R=e.clientSize;if(T>=100)return Number.POSITIVE_INFINITY;if(T>=50)return T*R/100;const P=R/3;return Math.floor(Math.min(Math.max(T*R,cre),P))}),m=C(()=>{if(!Number.isFinite(v.value))return{display:"none"};const T=`${v.value}px`;return fre({bar:u.value,size:T,move:d.traveled},e.layout)}),f=C(()=>Math.floor(e.clientSize-v.value-s(o))),_=()=>{window.addEventListener("mousemove",x),window.addEventListener("mouseup",w);const T=s(a);T&&(c=document.onselectstart,document.onselectstart=()=>!1,T.addEventListener("touchmove",x),T.addEventListener("touchend",w))},g=()=>{window.removeEventListener("mousemove",x),window.removeEventListener("mouseup",w),document.onselectstart=c,c=null;const T=s(a);T&&(T.removeEventListener("touchmove",x),T.removeEventListener("touchend",w))},y=T=>{T.stopImmediatePropagation(),!(T.ctrlKey||[1,2].includes(T.button))&&(d.isDragging=!0,d[u.value.axis]=T.currentTarget[u.value.offset]-(T[u.value.client]-T.currentTarget.getBoundingClientRect()[u.value.direction]),t("start-move"),_())},w=()=>{d.isDragging=!1,d[u.value.axis]=0,t("stop-move"),g()},x=T=>{const{isDragging:R}=d;if(!R||!a.value||!n.value)return;const P=d[u.value.axis];if(!P)return;Pa(i);const L=(n.value.getBoundingClientRect()[u.value.direction]-T[u.value.client])*-1,B=a.value[u.value.offset]-P,V=L-B;i=Xn(()=>{d.traveled=Math.max(e.startGap,Math.min(V,f.value)),t("scroll",V,f.value)})},$=T=>{const R=Math.abs(T.target.getBoundingClientRect()[u.value.direction]-T[u.value.client]),P=a.value[u.value.offset]/2,L=R-P;d.traveled=Math.max(0,Math.min(L,f.value)),t("scroll",L,f.value)};return Se(()=>e.scrollFrom,T=>{d.isDragging||(d.traveled=Math.ceil(T*f.value))}),to(()=>{g()}),()=>rt("div",{role:"presentation",ref:n,class:[r.b(),e.class,(e.alwaysOn||d.isDragging)&&"always-on"],style:h.value,onMousedown:ct($,["stop","prevent"]),onTouchstartPrevent:y},rt("div",{ref:a,class:l.e("thumb"),style:m.value,onMousedown:y},[]))}}),i8=({name:e,getOffset:t,getItemSize:o,getItemOffset:r,getEstimatedTotalSize:l,getStartIndexForOffset:n,getStopIndexForStartIndex:a,initCache:i,clearCache:c,validateProps:d})=>N({name:e??"ElVirtualList",props:o8,emits:[Sp,Ep],setup(u,{emit:p,expose:h}){d(u);const v=wt(),m=ze("vl"),f=D(i(u,v)),_=Qy(),g=D(),y=D(),w=D(),x=D({isScrolling:!1,scrollDir:"forward",scrollOffset:st(u.initScrollOffset)?u.initScrollOffset:0,updateRequested:!1,isScrollbarDragging:!1,scrollbarAlwaysOn:u.scrollbarAlwaysOn}),$=C(()=>{const{total:ce,cache:Q}=u,{isScrolling:Me,scrollDir:de,scrollOffset:_e}=s(x);if(ce===0)return[0,0,0,0];const me=n(u,_e,s(f)),Re=a(u,me,_e,s(f)),Ce=!Me||de===Tp?Math.max(1,Q):1,Ee=!Me||de===as?Math.max(1,Q):1;return[Math.max(0,me-Ce),Math.max(0,Math.min(ce-1,Re+Ee)),me,Re]}),T=C(()=>l(u,s(f))),R=C(()=>Kc(u.layout)),P=C(()=>[{position:"relative",[`overflow-${R.value?"x":"y"}`]:"scroll",WebkitOverflowScrolling:"touch",willChange:"transform"},{direction:u.direction,height:st(u.height)?`${u.height}px`:u.height,width:st(u.width)?`${u.width}px`:u.width},u.style]),L=C(()=>{const ce=s(T),Q=s(R);return{height:Q?"100%":`${ce}px`,pointerEvents:s(x).isScrolling?"none":void 0,width:Q?`${ce}px`:"100%"}}),B=C(()=>R.value?u.width:u.height),{onWheel:V}=dre({atStartEdge:C(()=>x.value.scrollOffset<=0),atEndEdge:C(()=>x.value.scrollOffset>=T.value),layout:C(()=>u.layout)},ce=>{var Q,Me;(Me=(Q=w.value).onMouseUp)==null||Me.call(Q),F(Math.min(x.value.scrollOffset+ce,T.value-B.value))}),j=()=>{const{total:ce}=u;if(ce>0){const[_e,me,Re,Ce]=s($);p(Sp,_e,me,Re,Ce)}const{scrollDir:Q,scrollOffset:Me,updateRequested:de}=s(x);p(Ep,Q,Me,de)},te=ce=>{const{clientHeight:Q,scrollHeight:Me,scrollTop:de}=ce.currentTarget,_e=s(x);if(_e.scrollOffset===de)return;const me=Math.max(0,Math.min(de,Me-Q));x.value={..._e,isScrolling:!0,scrollDir:Qa(_e.scrollOffset,me),scrollOffset:me,updateRequested:!1},et(U)},J=ce=>{const{clientWidth:Q,scrollLeft:Me,scrollWidth:de}=ce.currentTarget,_e=s(x);if(_e.scrollOffset===Me)return;const{direction:me}=u;let Re=Me;if(me===ss)switch(Ap()){case jc:{Re=-Me;break}case l2:{Re=de-Q-Me;break}}Re=Math.max(0,Math.min(Re,de-Q)),x.value={..._e,isScrolling:!0,scrollDir:Qa(_e.scrollOffset,Re),scrollOffset:Re,updateRequested:!1},et(U)},Z=ce=>{s(R)?J(ce):te(ce),j()},H=(ce,Q)=>{const Me=(T.value-B.value)/Q*ce;F(Math.min(T.value-B.value,Me))},F=ce=>{ce=Math.max(ce,0),ce!==s(x).scrollOffset&&(x.value={...s(x),scrollOffset:ce,scrollDir:Qa(s(x).scrollOffset,ce),updateRequested:!0},et(U))},K=(ce,Q=ll)=>{const{scrollOffset:Me}=s(x);ce=Math.max(0,Math.min(ce,u.total-1)),F(t(u,ce,Q,Me,s(f)))},I=ce=>{const{direction:Q,itemSize:Me,layout:de}=u,_e=_.value(c&&Me,c&&de,c&&Q);let me;if(Pt(_e,String(ce)))me=_e[ce];else{const Re=r(u,ce,s(f)),Ce=o(u,ce,s(f)),Ee=s(R),De=Q===ss,ae=Ee?Re:0;_e[ce]=me={position:"absolute",left:De?void 0:`${ae}px`,right:De?`${ae}px`:void 0,top:Ee?0:`${Re}px`,height:Ee?"100%":`${Ce}px`,width:Ee?`${Ce}px`:"100%"}}return me},U=()=>{x.value.isScrolling=!1,et(()=>{_.value(-1,null,null)})},oe=()=>{const ce=g.value;ce&&(ce.scrollTop=0)};ft(()=>{if(!Nt)return;const{initScrollOffset:ce}=u,Q=s(g);st(ce)&&Q&&(s(R)?Q.scrollLeft=ce:Q.scrollTop=ce),j()}),rn(()=>{const{direction:ce,layout:Q}=u,{scrollOffset:Me,updateRequested:de}=s(x),_e=s(g);if(de&&_e)if(Q===is)if(ce===ss)switch(Ap()){case jc:{_e.scrollLeft=-Me;break}case r2:{_e.scrollLeft=Me;break}default:{const{clientWidth:me,scrollWidth:Re}=_e;_e.scrollLeft=Re-me-Me;break}}else _e.scrollLeft=Me;else _e.scrollTop=Me});const ne={ns:m,clientSize:B,estimatedTotalSize:T,windowStyle:P,windowRef:g,innerRef:y,innerStyle:L,itemsToRender:$,scrollbarRef:w,states:x,getItemStyle:I,onScroll:Z,onScrollbarScroll:H,onWheel:V,scrollTo:F,scrollToItem:K,resetScrollTop:oe};return h({windowRef:g,innerRef:y,getItemStyleCache:_,scrollTo:F,scrollToItem:K,resetScrollTop:oe,states:x}),ne},render(u){var p;const{$slots:h,className:v,clientSize:m,containerElement:f,data:_,getItemStyle:g,innerElement:y,itemsToRender:w,innerStyle:x,layout:$,total:T,onScroll:R,onScrollbarScroll:P,onWheel:L,states:B,useIsScrolling:V,windowStyle:j,ns:te}=u,[J,Z]=w,H=Et(f),F=Et(y),K=[];if(T>0)for(let ne=J;ne<=Z;ne++)K.push((p=h.default)==null?void 0:p.call(h,{data:_,key:ne,index:ne,isScrolling:V?B.isScrolling:void 0,style:g(ne)}));const I=[rt(F,{style:x,ref:"innerRef"},ut(F)?K:{default:()=>K})],U=rt(u2,{ref:"scrollbarRef",clientSize:m,layout:$,onScroll:P,ratio:m*100/this.estimatedTotalSize,scrollFrom:B.scrollOffset/(this.estimatedTotalSize-m),total:T}),oe=rt(H,{class:[te.e("window"),v],style:j,onScroll:R,onWheel:L,ref:"windowRef",key:0},ut(H)?[I]:{default:()=>[I]});return rt("div",{key:0,class:[te.e("wrapper"),B.scrollbarAlwaysOn?"always-on":""]},[oe,U])}}),s8=i8({name:"ElFixedSizeList",getItemOffset:({itemSize:e},t)=>t*e,getItemSize:({itemSize:e})=>e,getEstimatedTotalSize:({total:e,itemSize:t})=>t*e,getOffset:({height:e,total:t,itemSize:o,layout:r,width:l},n,a,i)=>{const c=Kc(r)?l:e,d=Math.max(0,t*o-c),u=Math.min(d,n*o),p=Math.max(0,(n+1)*o-c);switch(a===$p&&(i>=p-c&&i<=u+c?a=ll:a=Kl),a){case Hc:return u;case Fc:return p;case Kl:{const h=Math.round(p+(u-p)/2);return hd+Math.floor(c/2)?d:h}case ll:default:return i>=p&&i<=u?i:iMath.max(0,Math.min(e-1,Math.floor(o/t))),getStopIndexForStartIndex:({height:e,total:t,itemSize:o,layout:r,width:l},n,a)=>{const i=n*o,c=Kc(r)?l:e,d=Math.ceil((c+a-i)/o);return Math.max(0,Math.min(t-1,n+d-1))},initCache(){},clearCache:!0,validateProps(){}}),us=(e,t,o)=>{const{itemSize:r}=e,{items:l,lastVisitedIndex:n}=o;if(t>n){let a=0;if(n>=0){const i=l[n];a=i.offset+i.size}for(let i=n+1;i<=t;i++){const c=r(i);l[i]={offset:a,size:c},a+=c}o.lastVisitedIndex=t}return l[t]},hre=(e,t,o)=>{const{items:r,lastVisitedIndex:l}=t;return(l>0?r[l].offset:0)>=o?c8(e,t,0,l,o):vre(e,t,Math.max(0,l),o)},c8=(e,t,o,r,l)=>{for(;o<=r;){const n=o+Math.floor((r-o)/2),a=us(e,n,t).offset;if(a===l)return n;al&&(r=n-1)}return Math.max(0,o-1)},vre=(e,t,o,r)=>{const{total:l}=e;let n=1;for(;o{let l=0;if(r>=e&&(r=e-1),r>=0){const i=t[r];l=i.offset+i.size}const a=(e-r-1)*o;return l+a},mre=i8({name:"ElDynamicSizeList",getItemOffset:(e,t,o)=>us(e,t,o).offset,getItemSize:(e,t,{items:o})=>o[t].size,getEstimatedTotalSize:u8,getOffset:(e,t,o,r,l)=>{const{height:n,layout:a,width:i}=e,c=Kc(a)?i:n,d=us(e,t,l),u=u8(e,l),p=Math.max(0,Math.min(u-c,d.offset)),h=Math.max(0,d.offset-c+d.size);switch(o===$p&&(r>=h-c&&r<=p+c?o=ll:o=Kl),o){case Hc:return p;case Fc:return h;case Kl:return Math.round(h+(p-h)/2);case ll:default:return r>=h&&r<=p?r:rhre(e,o,t),getStopIndexForStartIndex:(e,t,o,r)=>{const{height:l,total:n,layout:a,width:i}=e,c=Kc(a)?i:l,d=us(e,t,r),u=o+c;let p=d.offset+d.size,h=t;for(;h{var n,a;o.lastVisitedIndex=Math.min(o.lastVisitedIndex,r-1),(n=t.exposed)==null||n.getItemStyleCache(-1),l&&((a=t.proxy)==null||a.$forceUpdate())},o},clearCache:!1,validateProps:({itemSize:e})=>{}}),gre=({atXEndEdge:e,atXStartEdge:t,atYEndEdge:o,atYStartEdge:r},l)=>{let n=null,a=0,i=0;const c=(u,p)=>{const h=u<=0&&t.value||u>=0&&e.value,v=p<=0&&r.value||p>=0&&o.value;return h&&v};return{hasReachedEdge:c,onWheel:u=>{Pa(n);let p=u.deltaX,h=u.deltaY;Math.abs(p)>Math.abs(h)?h=0:p=0,u.shiftKey&&h!==0&&(p=h,h=0),!(c(a,i)&&c(a+p,i+h))&&(a+=p,i+=h,u.preventDefault(),n=Xn(()=>{l(a,i),a=0,i=0}))}}},d8=({name:e,clearCache:t,getColumnPosition:o,getColumnStartIndexForOffset:r,getColumnStopIndexForStartIndex:l,getEstimatedTotalHeight:n,getEstimatedTotalWidth:a,getColumnOffset:i,getRowOffset:c,getRowPosition:d,getRowStartIndexForOffset:u,getRowStopIndexForStartIndex:p,initCache:h,injectToInstance:v,validateProps:m})=>N({name:e??"ElVirtualList",props:Ja,emits:[Sp,Ep],setup(f,{emit:_,expose:g,slots:y}){const w=ze("vl");m(f);const x=wt(),$=D(h(f,x));v==null||v(x,$);const T=D(),R=D(),P=D(),L=D(null),B=D({isScrolling:!1,scrollLeft:st(f.initScrollLeft)?f.initScrollLeft:0,scrollTop:st(f.initScrollTop)?f.initScrollTop:0,updateRequested:!1,xAxisScrollDir:as,yAxisScrollDir:as}),V=Qy(),j=C(()=>Number.parseInt(`${f.height}`,10)),te=C(()=>Number.parseInt(`${f.width}`,10)),J=C(()=>{const{totalColumn:we,totalRow:Te,columnCache:Ne}=f,{isScrolling:Ie,xAxisScrollDir:Ae,scrollLeft:xe}=s(B);if(we===0||Te===0)return[0,0,0,0];const We=r(f,xe,s($)),qe=l(f,We,xe,s($)),ye=!Ie||Ae===Tp?Math.max(1,Ne):1,Ye=!Ie||Ae===as?Math.max(1,Ne):1;return[Math.max(0,We-ye),Math.max(0,Math.min(we-1,qe+Ye)),We,qe]}),Z=C(()=>{const{totalColumn:we,totalRow:Te,rowCache:Ne}=f,{isScrolling:Ie,yAxisScrollDir:Ae,scrollTop:xe}=s(B);if(we===0||Te===0)return[0,0,0,0];const We=u(f,xe,s($)),qe=p(f,We,xe,s($)),ye=!Ie||Ae===Tp?Math.max(1,Ne):1,Ye=!Ie||Ae===as?Math.max(1,Ne):1;return[Math.max(0,We-ye),Math.max(0,Math.min(Te-1,qe+Ye)),We,qe]}),H=C(()=>n(f,s($))),F=C(()=>a(f,s($))),K=C(()=>{var we;return[{position:"relative",overflow:"hidden",WebkitOverflowScrolling:"touch",willChange:"transform"},{direction:f.direction,height:st(f.height)?`${f.height}px`:f.height,width:st(f.width)?`${f.width}px`:f.width},(we=f.style)!=null?we:{}]}),I=C(()=>{const we=`${s(F)}px`;return{height:`${s(H)}px`,pointerEvents:s(B).isScrolling?"none":void 0,width:we}}),U=()=>{const{totalColumn:we,totalRow:Te}=f;if(we>0&&Te>0){const[qe,ye,Ye,tt]=s(J),[pt,dt,Y,S]=s(Z);_(Sp,{columnCacheStart:qe,columnCacheEnd:ye,rowCacheStart:pt,rowCacheEnd:dt,columnVisibleStart:Ye,columnVisibleEnd:tt,rowVisibleStart:Y,rowVisibleEnd:S})}const{scrollLeft:Ne,scrollTop:Ie,updateRequested:Ae,xAxisScrollDir:xe,yAxisScrollDir:We}=s(B);_(Ep,{xAxisScrollDir:xe,scrollLeft:Ne,yAxisScrollDir:We,scrollTop:Ie,updateRequested:Ae})},oe=we=>{const{clientHeight:Te,clientWidth:Ne,scrollHeight:Ie,scrollLeft:Ae,scrollTop:xe,scrollWidth:We}=we.currentTarget,qe=s(B);if(qe.scrollTop===xe&&qe.scrollLeft===Ae)return;let ye=Ae;if(a8(f.direction))switch(Ap()){case jc:ye=-Ae;break;case l2:ye=We-Ne-Ae;break}B.value={...qe,isScrolling:!0,scrollLeft:ye,scrollTop:Math.max(0,Math.min(xe,Ie-Te)),updateRequested:!0,xAxisScrollDir:Qa(qe.scrollLeft,ye),yAxisScrollDir:Qa(qe.scrollTop,xe)},et(()=>me()),Re(),U()},ne=(we,Te)=>{const Ne=s(j),Ie=(H.value-Ne)/Te*we;Me({scrollTop:Math.min(H.value-Ne,Ie)})},ce=(we,Te)=>{const Ne=s(te),Ie=(F.value-Ne)/Te*we;Me({scrollLeft:Math.min(F.value-Ne,Ie)})},{onWheel:Q}=gre({atXStartEdge:C(()=>B.value.scrollLeft<=0),atXEndEdge:C(()=>B.value.scrollLeft>=F.value-s(te)),atYStartEdge:C(()=>B.value.scrollTop<=0),atYEndEdge:C(()=>B.value.scrollTop>=H.value-s(j))},(we,Te)=>{var Ne,Ie,Ae,xe;(Ie=(Ne=R.value)==null?void 0:Ne.onMouseUp)==null||Ie.call(Ne),(xe=(Ae=P.value)==null?void 0:Ae.onMouseUp)==null||xe.call(Ae);const We=s(te),qe=s(j);Me({scrollLeft:Math.min(B.value.scrollLeft+we,F.value-We),scrollTop:Math.min(B.value.scrollTop+Te,H.value-qe)})}),Me=({scrollLeft:we=B.value.scrollLeft,scrollTop:Te=B.value.scrollTop})=>{we=Math.max(we,0),Te=Math.max(Te,0);const Ne=s(B);Te===Ne.scrollTop&&we===Ne.scrollLeft||(B.value={...Ne,xAxisScrollDir:Qa(Ne.scrollLeft,we),yAxisScrollDir:Qa(Ne.scrollTop,Te),scrollLeft:we,scrollTop:Te,updateRequested:!0},et(()=>me()),Re(),U())},de=(we=0,Te=0,Ne=ll)=>{const Ie=s(B);Te=Math.max(0,Math.min(Te,f.totalColumn-1)),we=Math.max(0,Math.min(we,f.totalRow-1));const Ae=T3(w.namespace.value),xe=s($),We=n(f,xe),qe=a(f,xe);Me({scrollLeft:i(f,Te,Ne,Ie.scrollLeft,xe,qe>f.width?Ae:0),scrollTop:c(f,we,Ne,Ie.scrollTop,xe,We>f.height?Ae:0)})},_e=(we,Te)=>{const{columnWidth:Ne,direction:Ie,rowHeight:Ae}=f,xe=V.value(t&&Ne,t&&Ae,t&&Ie),We=`${we},${Te}`;if(Pt(xe,We))return xe[We];{const[,qe]=o(f,Te,s($)),ye=s($),Ye=a8(Ie),[tt,pt]=d(f,we,ye),[dt]=o(f,Te,ye);return xe[We]={position:"absolute",left:Ye?void 0:`${qe}px`,right:Ye?`${qe}px`:void 0,top:`${pt}px`,height:`${tt}px`,width:`${dt}px`},xe[We]}},me=()=>{B.value.isScrolling=!1,et(()=>{V.value(-1,null,null)})};ft(()=>{if(!Nt)return;const{initScrollLeft:we,initScrollTop:Te}=f,Ne=s(T);Ne&&(st(we)&&(Ne.scrollLeft=we),st(Te)&&(Ne.scrollTop=Te)),U()});const Re=()=>{const{direction:we}=f,{scrollLeft:Te,scrollTop:Ne,updateRequested:Ie}=s(B),Ae=s(T);if(Ie&&Ae){if(we===ss)switch(Ap()){case jc:{Ae.scrollLeft=-Te;break}case r2:{Ae.scrollLeft=Te;break}default:{const{clientWidth:xe,scrollWidth:We}=Ae;Ae.scrollLeft=We-xe-Te;break}}else Ae.scrollLeft=Math.max(0,Te);Ae.scrollTop=Math.max(0,Ne)}},{resetAfterColumnIndex:Ce,resetAfterRowIndex:Ee,resetAfter:De}=x.proxy;g({windowRef:T,innerRef:L,getItemStyleCache:V,scrollTo:Me,scrollToItem:de,states:B,resetAfterColumnIndex:Ce,resetAfterRowIndex:Ee,resetAfter:De});const ae=()=>{const{scrollbarAlwaysOn:we,scrollbarStartGap:Te,scrollbarEndGap:Ne,totalColumn:Ie,totalRow:Ae}=f,xe=s(te),We=s(j),qe=s(F),ye=s(H),{scrollLeft:Ye,scrollTop:tt}=s(B),pt=rt(u2,{ref:R,alwaysOn:we,startGap:Te,endGap:Ne,class:w.e("horizontal"),clientSize:xe,layout:"horizontal",onScroll:ce,ratio:xe*100/qe,scrollFrom:Ye/(qe-xe),total:Ae,visible:!0}),dt=rt(u2,{ref:P,alwaysOn:we,startGap:Te,endGap:Ne,class:w.e("vertical"),clientSize:We,layout:"vertical",onScroll:ne,ratio:We*100/ye,scrollFrom:tt/(ye-We),total:Ie,visible:!0});return{horizontalScrollbar:pt,verticalScrollbar:dt}},pe=()=>{var we;const[Te,Ne]=s(J),[Ie,Ae]=s(Z),{data:xe,totalColumn:We,totalRow:qe,useIsScrolling:ye,itemKey:Ye}=f,tt=[];if(qe>0&&We>0)for(let pt=Ie;pt<=Ae;pt++)for(let dt=Te;dt<=Ne;dt++)tt.push((we=y.default)==null?void 0:we.call(y,{columnIndex:dt,data:xe,key:Ye({columnIndex:dt,data:xe,rowIndex:pt}),isScrolling:ye?s(B).isScrolling:void 0,style:_e(pt,dt),rowIndex:pt}));return tt},ke=()=>{const we=Et(f.innerElement),Te=pe();return[rt(we,{style:s(I),ref:L},ut(we)?Te:{default:()=>Te})]};return()=>{const we=Et(f.containerElement),{horizontalScrollbar:Te,verticalScrollbar:Ne}=ae(),Ie=ke();return rt("div",{key:0,class:w.e("wrapper"),role:f.role},[rt(we,{class:f.className,style:s(K),onScroll:oe,onWheel:Q,ref:T},ut(we)?Ie:{default:()=>Ie}),Te,Ne])}}}),bre=d8({name:"ElFixedSizeGrid",getColumnPosition:({columnWidth:e},t)=>[e,t*e],getRowPosition:({rowHeight:e},t)=>[e,t*e],getEstimatedTotalHeight:({totalRow:e,rowHeight:t})=>t*e,getEstimatedTotalWidth:({totalColumn:e,columnWidth:t})=>t*e,getColumnOffset:({totalColumn:e,columnWidth:t,width:o},r,l,n,a,i)=>{o=Number(o);const c=Math.max(0,e*t-o),d=Math.min(c,r*t),u=Math.max(0,r*t-o+i+t);switch(l==="smart"&&(n>=u-o&&n<=d+o?l=ll:l=Kl),l){case Hc:return d;case Fc:return u;case Kl:{const p=Math.round(u+(d-u)/2);return pc+Math.floor(o/2)?c:p}case ll:default:return n>=u&&n<=d?n:u>d||n{t=Number(t);const c=Math.max(0,o*e-t),d=Math.min(c,r*e),u=Math.max(0,r*e-t+i+e);switch(l===$p&&(n>=u-t&&n<=d+t?l=ll:l=Kl),l){case Hc:return d;case Fc:return u;case Kl:{const p=Math.round(u+(d-u)/2);return pc+Math.floor(t/2)?c:p}case ll:default:return n>=u&&n<=d?n:u>d||nMath.max(0,Math.min(t-1,Math.floor(o/e))),getColumnStopIndexForStartIndex:({columnWidth:e,totalColumn:t,width:o},r,l)=>{const n=r*e,a=Math.ceil((o+l-n)/e);return Math.max(0,Math.min(t-1,r+a-1))},getRowStartIndexForOffset:({rowHeight:e,totalRow:t},o)=>Math.max(0,Math.min(t-1,Math.floor(o/e))),getRowStopIndexForStartIndex:({rowHeight:e,totalRow:t,height:o},r,l)=>{const n=r*e,a=Math.ceil((o+l-n)/e);return Math.max(0,Math.min(t-1,r+a-1))},initCache:()=>{},clearCache:!0,validateProps:({columnWidth:e,rowHeight:t})=>{}}),{max:zp,min:p8,floor:f8}=Math,_re={column:"columnWidth",row:"rowHeight"},d2={column:"lastVisitedColumnIndex",row:"lastVisitedRowIndex"},kn=(e,t,o,r)=>{const[l,n,a]=[o[r],e[_re[r]],o[d2[r]]];if(t>a){let i=0;if(a>=0){const c=l[a];i=c.offset+c.size}for(let c=a+1;c<=t;c++){const d=n(c);l[c]={offset:i,size:d},i+=d}o[d2[r]]=t}return l[t]},h8=(e,t,o,r,l,n)=>{for(;o<=r;){const a=o+f8((r-o)/2),i=kn(e,a,t,n).offset;if(i===l)return a;i{const n=l==="column"?e.totalColumn:e.totalRow;let a=1;for(;o{const[l,n]=[t[r],t[d2[r]]];return(n>0?l[n].offset:0)>=o?h8(e,t,0,n,o,r):wre(e,t,zp(0,n),o,r)},m8=({totalRow:e},{estimatedRowHeight:t,lastVisitedRowIndex:o,row:r})=>{let l=0;if(o>=e&&(o=e-1),o>=0){const i=r[o];l=i.offset+i.size}const a=(e-o-1)*t;return l+a},g8=({totalColumn:e},{column:t,estimatedColumnWidth:o,lastVisitedColumnIndex:r})=>{let l=0;if(r>e&&(r=e-1),r>=0){const i=t[r];l=i.offset+i.size}const a=(e-r-1)*o;return l+a},yre={column:g8,row:m8},b8=(e,t,o,r,l,n,a)=>{const[i,c]=[n==="row"?e.height:e.width,yre[n]],d=kn(e,t,l,n),u=c(e,l),p=zp(0,p8(u-i,d.offset)),h=zp(0,d.offset-i+a+d.size);switch(o===$p&&(r>=h-i&&r<=p+i?o=ll:o=Kl),o){case Hc:return p;case Fc:return h;case Kl:return Math.round(h+(p-h)/2);case ll:default:return r>=h&&r<=p?r:h>p||r{const r=kn(e,t,o,"column");return[r.size,r.offset]},getRowPosition:(e,t,o)=>{const r=kn(e,t,o,"row");return[r.size,r.offset]},getColumnOffset:(e,t,o,r,l,n)=>b8(e,t,o,r,l,"column",n),getRowOffset:(e,t,o,r,l,n)=>b8(e,t,o,r,l,"row",n),getColumnStartIndexForOffset:(e,t,o)=>v8(e,o,t,"column"),getColumnStopIndexForStartIndex:(e,t,o,r)=>{const l=kn(e,t,r,"column"),n=o+e.width;let a=l.offset+l.size,i=t;for(;iv8(e,o,t,"row"),getRowStopIndexForStartIndex:(e,t,o,r)=>{const{totalRow:l,height:n}=e,a=kn(e,t,r,"row"),i=o+n;let c=a.size+a.offset,d=t;for(;d{const o=({columnIndex:n,rowIndex:a},i)=>{var c,d;i=ko(i)?!0:i,st(n)&&(t.value.lastVisitedColumnIndex=Math.min(t.value.lastVisitedColumnIndex,n-1)),st(a)&&(t.value.lastVisitedRowIndex=Math.min(t.value.lastVisitedRowIndex,a-1)),(c=e.exposed)==null||c.getItemStyleCache.value(-1,null,null),i&&((d=e.proxy)==null||d.$forceUpdate())},r=(n,a)=>{o({columnIndex:n},a)},l=(n,a)=>{o({rowIndex:n},a)};Object.assign(e.proxy,{resetAfterColumnIndex:r,resetAfterRowIndex:l,resetAfter:o})},initCache:({estimatedColumnWidth:e=t2,estimatedRowHeight:t=t2})=>({column:{},estimatedColumnWidth:e,estimatedRowHeight:t,lastVisitedColumnIndex:-1,lastVisitedRowIndex:-1,row:{}}),clearCache:!1,validateProps:({columnWidth:e,rowHeight:t})=>{}}),kre=N({props:{item:{type:Object,required:!0},style:Object,height:Number},setup(){return{ns:ze("select")}}});function Cre(e,t,o,r,l,n){return b(),M("div",{class:O(e.ns.be("group","title")),style:Je([e.style,{lineHeight:`${e.height}px`}])},$e(e.item.label),7)}var Sre=Le(kre,[["render",Cre],["__file","group-item.vue"]]);function Ere(e,{emit:t}){return{hoverItem:()=>{e.disabled||t("hover",e.index)},selectOptionClick:()=>{e.disabled||t("select",e.item,e.index)}}}const _8={label:"label",value:"value",disabled:"disabled",options:"options"};function Ip(e){const t=C(()=>({..._8,...e.props}));return{aliasProps:t,getLabel:a=>wo(a,t.value.label),getValue:a=>wo(a,t.value.value),getDisabled:a=>wo(a,t.value.disabled),getOptions:a=>wo(a,t.value.options)}}const Tre=Pe({allowCreate:Boolean,autocomplete:{type:ue(String),default:"none"},automaticDropdown:Boolean,clearable:Boolean,clearIcon:{type:Xt,default:hn},effect:{type:ue(String),default:"light"},collapseTags:Boolean,collapseTagsTooltip:Boolean,maxCollapseTags:{type:Number,default:1},defaultFirstOption:Boolean,disabled:Boolean,estimatedOptionHeight:{type:Number,default:void 0},filterable:Boolean,filterMethod:Function,height:{type:Number,default:274},itemHeight:{type:Number,default:34},id:String,loading:Boolean,loadingText:String,modelValue:{type:ue([Array,String,Number,Boolean,Object])},multiple:Boolean,multipleLimit:{type:Number,default:0},name:String,noDataText:String,noMatchText:String,remoteMethod:Function,reserveKeyword:{type:Boolean,default:!0},options:{type:ue(Array),required:!0},placeholder:{type:String},teleported:Uo.teleported,persistent:{type:Boolean,default:!0},popperClass:{type:String,default:""},popperOptions:{type:ue(Object),default:()=>({})},remote:Boolean,size:Oo,props:{type:ue(Object),default:()=>_8},valueKey:{type:String,default:"value"},scrollbarAlwaysOn:Boolean,validateEvent:{type:Boolean,default:!0},placement:{type:ue(String),values:Va,default:"bottom-start"},fallbackPlacements:{type:ue(Array),default:["bottom-start","top-start","right","left"]},tagType:{...hp.type,default:"info"},...Xi,...Zo(["ariaLabel"])}),$re=Pe({data:Array,disabled:Boolean,hovering:Boolean,item:{type:ue(Object),required:!0},index:Number,style:Object,selected:Boolean,created:Boolean}),p2=Symbol("ElSelectV2Injection"),Mre=N({props:$re,emits:["select","hover"],setup(e,{emit:t}){const o=Ge(p2),r=ze("select"),{hoverItem:l,selectOptionClick:n}=Ere(e,{emit:t}),{getLabel:a}=Ip(o.props);return{ns:r,hoverItem:l,selectOptionClick:n,getLabel:a}}}),Are=["aria-selected"];function zre(e,t,o,r,l,n){return b(),M("li",{"aria-selected":e.selected,style:Je(e.style),class:O([e.ns.be("dropdown","item"),e.ns.is("selected",e.selected),e.ns.is("disabled",e.disabled),e.ns.is("created",e.created),e.ns.is("hovering",e.hovering)]),onMouseenter:t[0]||(t[0]=(...a)=>e.hoverItem&&e.hoverItem(...a)),onClick:t[1]||(t[1]=ct((...a)=>e.selectOptionClick&&e.selectOptionClick(...a),["stop"]))},[be(e.$slots,"default",{item:e.item,index:e.index,disabled:e.disabled},()=>[E("span",null,$e(e.getLabel(e.item)),1)])],46,Are)}var Ire=Le(Mre,[["render",zre],["__file","option-item.vue"]]),Ore=N({name:"ElSelectDropdown",props:{loading:Boolean,data:{type:Array,required:!0},hoveringIndex:Number,width:Number},setup(e,{slots:t,expose:o}){const r=Ge(p2),l=ze("select"),{getLabel:n,getValue:a,getDisabled:i}=Ip(r.props),c=D([]),d=D(),u=C(()=>e.data.length);Se(()=>u.value,()=>{var V,j;(j=(V=r.tooltipRef.value).updatePopper)==null||j.call(V)});const p=C(()=>ko(r.props.estimatedOptionHeight)),h=C(()=>p.value?{itemSize:r.props.itemHeight}:{estimatedSize:r.props.estimatedOptionHeight,itemSize:V=>c.value[V]}),v=(V=[],j)=>{const{props:{valueKey:te}}=r;return xt(j)?V&&V.some(J=>jt(wo(J,te))===wo(j,te)):V.includes(j)},m=(V,j)=>{if(xt(j)){const{valueKey:te}=r.props;return wo(V,te)===wo(j,te)}else return V===j},f=(V,j)=>r.props.multiple?v(V,a(j)):m(V,a(j)),_=(V,j)=>{const{disabled:te,multiple:J,multipleLimit:Z}=r.props;return te||!j&&(J?Z>0&&V.length>=Z:!1)},g=V=>e.hoveringIndex===V;o({listRef:d,isSized:p,isItemDisabled:_,isItemHovering:g,isItemSelected:f,scrollToItem:V=>{const j=d.value;j&&j.scrollToItem(V)},resetScrollTop:()=>{const V=d.value;V&&V.resetScrollTop()}});const x=V=>{const{index:j,data:te,style:J}=V,Z=s(p),{itemSize:H,estimatedSize:F}=s(h),{modelValue:K}=r.props,{onSelect:I,onHover:U}=r,oe=te[j];if(oe.type==="Group")return ee(Sre,{item:oe,style:J,height:Z?H:F},null);const ne=f(K,oe),ce=_(K,ne),Q=g(j);return ee(Ire,Mt(V,{selected:ne,disabled:i(oe)||ce,created:!!oe.created,hovering:Q,item:oe,onSelect:I,onHover:U}),{default:Me=>{var de;return((de=t.default)==null?void 0:de.call(t,Me))||ee("span",null,[n(oe)])}})},{onKeyboardNavigate:$,onKeyboardSelect:T}=r,R=()=>{$("forward")},P=()=>{$("backward")},L=()=>{r.expanded=!1},B=V=>{const{code:j}=V,{tab:te,esc:J,down:Z,up:H,enter:F}=lt;switch(j!==te&&(V.preventDefault(),V.stopPropagation()),j){case te:case J:{L();break}case Z:{R();break}case H:{P();break}case F:{T();break}}};return()=>{var V,j,te,J;const{data:Z,width:H}=e,{height:F,multiple:K,scrollbarAlwaysOn:I}=r.props,U=s(p)?s8:mre;return ee("div",{class:[l.b("dropdown"),l.is("multiple",K)],style:{width:`${H}px`}},[(V=t.header)==null?void 0:V.call(t),((j=t.loading)==null?void 0:j.call(t))||((te=t.empty)==null?void 0:te.call(t))||ee(U,Mt({ref:d},s(h),{className:l.be("dropdown","list"),scrollbarAlwaysOn:I,data:Z,height:F,width:H,total:Z.length,onKeydown:B}),{default:oe=>ee(x,oe,null)}),(J=t.footer)==null?void 0:J.call(t)])}}});function Nre(e,t){const{aliasProps:o,getLabel:r,getValue:l}=Ip(e),n=D(0),a=D(null),i=C(()=>e.allowCreate&&e.filterable);function c(v){const m=f=>r(f)===v;return e.options&&e.options.some(m)||t.createdOptions.some(m)}function d(v){i.value&&(e.multiple&&v.created?n.value++:a.value=v)}function u(v){if(i.value)if(v&&v.length>0){if(c(v))return;const m={[o.value.value]:v,[o.value.label]:v,created:!0,[o.value.disabled]:!1};t.createdOptions.length>=n.value?t.createdOptions[n.value]=m:t.createdOptions.push(m)}else if(e.multiple)t.createdOptions.length=n.value;else{const m=a.value;t.createdOptions.length=0,m&&m.created&&t.createdOptions.push(m)}}function p(v){if(!i.value||!v||!v.created||v.created&&e.reserveKeyword&&t.inputValue===r(v))return;const m=t.createdOptions.findIndex(f=>l(f)===l(v));~m&&(t.createdOptions.splice(m,1),n.value--)}function h(){i.value&&(t.createdOptions.length=0,n.value=0)}return{createNewOption:u,removeNewOption:p,selectNewOption:d,clearAllNewOption:h}}const Pre=11,Rre=(e,t)=>{const{t:o}=Rt(),r=ze("select"),l=ze("input"),{form:n,formItem:a}=sr(),{inputId:i}=bl(e,{formItemContext:a}),{aliasProps:c,getLabel:d,getValue:u,getDisabled:p,getOptions:h}=Ip(e),{valueOnClear:v,isEmptyValue:m}=Wd(e),f=Dt({inputValue:"",cachedOptions:[],createdOptions:[],hoveringIndex:-1,inputHovering:!1,selectionWidth:0,calculatorWidth:0,collapseItemWidth:0,previousQuery:null,previousValue:void 0,selectedLabel:"",menuVisibleOnFocus:!1,isBeforeHide:!1}),_=D(-1),g=D(null),y=D(null),w=D(null),x=D(null),$=D(null),T=D(null),R=D(null),P=D(null),L=D(null),B=D(null),V=D(null),{wrapperRef:j,isFocused:te,handleFocus:J,handleBlur:Z}=Ud($,{afterFocus(){e.automaticDropdown&&!K.value&&(K.value=!0,f.menuVisibleOnFocus=!0)},beforeBlur(Be){var vt,Ot;return((vt=w.value)==null?void 0:vt.isFocusInsideContent(Be))||((Ot=x.value)==null?void 0:Ot.isFocusInsideContent(Be))},afterBlur(){K.value=!1,f.menuVisibleOnFocus=!1}}),H=D([]),F=D([]),K=D(!1),I=C(()=>e.disabled||(n==null?void 0:n.disabled)),U=C(()=>{const Be=F.value.length*e.itemHeight;return Be>e.height?e.height:Be}),oe=C(()=>e.multiple?Ke(e.modelValue)&&e.modelValue.length>0:!m(e.modelValue)),ne=C(()=>e.clearable&&!I.value&&f.inputHovering&&oe.value),ce=C(()=>e.remote&&e.filterable?"":Pl),Q=C(()=>ce.value&&r.is("reverse",K.value)),Me=C(()=>(a==null?void 0:a.validateState)||""),de=C(()=>_h[Me.value]),_e=C(()=>e.remote?300:0),me=C(()=>e.loading?e.loadingText||o("el.select.loading"):e.remote&&!f.inputValue&&H.value.length===0?!1:e.filterable&&f.inputValue&&H.value.length>0&&F.value.length===0?e.noMatchText||o("el.select.noMatch"):H.value.length===0?e.noDataText||o("el.select.noData"):null),Re=Be=>{const vt=Ot=>{if(e.filterable&&it(e.filterMethod)||e.filterable&&e.remote&&it(e.remoteMethod))return!0;const Ut=new RegExp(ch(Be),"i");return Be?Ut.test(d(Ot)||""):!0};return e.loading?[]:[...f.createdOptions,...e.options].reduce((Ot,Ut)=>{const vr=h(Ut);if(Ke(vr)){const Hr=vr.filter(vt);Hr.length>0&&Ot.push({label:d(Ut),type:"Group"},...Hr)}else(e.remote||vt(Ut))&&Ot.push(Ut);return Ot},[])},Ce=()=>{H.value=Re(""),F.value=Re(f.inputValue)},Ee=C(()=>{const Be=new Map;return H.value.forEach((vt,Ot)=>{Be.set(bt(u(vt)),{option:vt,index:Ot})}),Be}),De=C(()=>{const Be=new Map;return F.value.forEach((vt,Ot)=>{Be.set(bt(u(vt)),{option:vt,index:Ot})}),Be}),ae=C(()=>F.value.every(Be=>p(Be))),pe=So(),ke=C(()=>pe.value==="small"?"small":"default"),Oe=()=>{var Be;_.value=((Be=g.value)==null?void 0:Be.offsetWidth)||200},we=()=>{if(!y.value)return 0;const Be=window.getComputedStyle(y.value);return Number.parseFloat(Be.gap||"6px")},Te=C(()=>{const Be=we();return{maxWidth:`${V.value&&e.maxCollapseTags===1?f.selectionWidth-f.collapseItemWidth-Be:f.selectionWidth}px`}}),Ne=C(()=>({maxWidth:`${f.selectionWidth}px`})),Ie=C(()=>({width:`${Math.max(f.calculatorWidth,Pre)}px`})),Ae=C(()=>Ke(e.modelValue)?e.modelValue.length===0&&!f.inputValue:e.filterable?!f.inputValue:!0),xe=C(()=>{var Be;const vt=(Be=e.placeholder)!=null?Be:o("el.select.placeholder");return e.multiple||!oe.value?vt:f.selectedLabel}),We=C(()=>{var Be,vt;return(vt=(Be=w.value)==null?void 0:Be.popperRef)==null?void 0:vt.contentRef}),qe=C(()=>{if(e.multiple){const Be=e.modelValue.length;if(e.modelValue.length>0&&De.value.has(e.modelValue[Be-1])){const{index:vt}=De.value.get(e.modelValue[Be-1]);return vt}}else if(e.modelValue&&De.value.has(e.modelValue)){const{index:Be}=De.value.get(e.modelValue);return Be}return-1}),ye=C({get(){return K.value&&me.value!==!1},set(Be){K.value=Be}}),Ye=C(()=>e.multiple?e.collapseTags?f.cachedOptions.slice(0,e.maxCollapseTags):f.cachedOptions:[]),tt=C(()=>e.multiple?e.collapseTags?f.cachedOptions.slice(e.maxCollapseTags):[]:[]),{createNewOption:pt,removeNewOption:dt,selectNewOption:Y,clearAllNewOption:S}=Nre(e,f),{handleCompositionStart:A,handleCompositionUpdate:G,handleCompositionEnd:X}=Ky(Be=>Po(Be)),re=()=>{I.value||(f.menuVisibleOnFocus?f.menuVisibleOnFocus=!1:K.value=!K.value)},ge=()=>{f.inputValue.length>0&&!K.value&&(K.value=!0),pt(f.inputValue),Fe(f.inputValue)},fe=Mr(ge,_e.value),Fe=Be=>{f.previousQuery!==Be&&(f.previousQuery=Be,e.filterable&&it(e.filterMethod)?e.filterMethod(Be):e.filterable&&e.remote&&it(e.remoteMethod)&&e.remoteMethod(Be),e.defaultFirstOption&&(e.filterable||e.remote)&&F.value.length?et(at):et(ao))},at=()=>{const Be=F.value.filter(Ut=>!Ut.disabled&&Ut.type!=="Group"),vt=Be.find(Ut=>Ut.created),Ot=Be[0];f.hoveringIndex=no(F.value,vt||Ot)},_t=Be=>{nr(e.modelValue,Be)||t(ro,Be)},At=Be=>{t(St,Be),_t(Be),f.previousValue=e.multiple?String(Be):Be},no=(Be=[],vt)=>{if(!xt(vt))return Be.indexOf(vt);const Ot=e.valueKey;let Ut=-1;return Be.some((vr,Hr)=>wo(vr,Ot)===wo(vt,Ot)?(Ut=Hr,!0):!1),Ut},bt=Be=>xt(Be)?wo(Be,e.valueKey):Be,Qt=()=>{Oe()},Sn=()=>{f.selectionWidth=y.value.getBoundingClientRect().width},qo=()=>{f.calculatorWidth=T.value.getBoundingClientRect().width},xl=()=>{f.collapseItemWidth=V.value.getBoundingClientRect().width},kl=()=>{var Be,vt;(vt=(Be=w.value)==null?void 0:Be.updatePopper)==null||vt.call(Be)},Or=()=>{var Be,vt;(vt=(Be=x.value)==null?void 0:Be.updatePopper)==null||vt.call(Be)},Bt=Be=>{if(e.multiple){let vt=e.modelValue.slice();const Ot=no(vt,u(Be));Ot>-1?(vt=[...vt.slice(0,Ot),...vt.slice(Ot+1)],f.cachedOptions.splice(Ot,1),dt(Be)):(e.multipleLimit<=0||vt.length{let Ot=e.modelValue.slice();const Ut=no(Ot,u(vt));Ut>-1&&!I.value&&(Ot=[...e.modelValue.slice(0,Ut),...e.modelValue.slice(Ut+1)],f.cachedOptions.splice(Ut,1),At(Ot),t("remove-tag",u(vt)),dt(vt)),Be.stopPropagation(),or()},or=()=>{var Be;(Be=$.value)==null||Be.focus()},Nr=()=>{var Be;(Be=$.value)==null||Be.blur()},yo=()=>{f.inputValue.length>0?f.inputValue="":K.value=!1},Eo=Be=>k3(Be,vt=>!f.cachedOptions.some(Ot=>u(Ot)===vt&&p(Ot))),rr=Be=>{if(e.multiple&&Be.code!==lt.delete&&f.inputValue.length===0){Be.preventDefault();const vt=e.modelValue.slice(),Ot=Eo(vt);if(Ot<0)return;const Ut=vt[Ot];vt.splice(Ot,1);const vr=f.cachedOptions[Ot];f.cachedOptions.splice(Ot,1),dt(vr),At(vt),t("remove-tag",Ut)}},ua=()=>{let Be;Ke(e.modelValue)?Be=[]:Be=v.value,e.multiple?f.cachedOptions=[]:f.selectedLabel="",K.value=!1,At(Be),t("clear"),S(),or()},He=(Be,vt=void 0)=>{const Ot=F.value;if(!["forward","backward"].includes(Be)||I.value||Ot.length<=0||ae.value)return;if(!K.value)return re();vt===void 0&&(vt=f.hoveringIndex);let Ut=-1;Be==="forward"?(Ut=vt+1,Ut>=Ot.length&&(Ut=0)):Be==="backward"&&(Ut=vt-1,(Ut<0||Ut>=Ot.length)&&(Ut=Ot.length-1));const vr=Ot[Ut];if(p(vr)||vr.type==="Group")return He(Be,Ut);f.hoveringIndex=Ut,fr(Ut)},ot=()=>{if(K.value)~f.hoveringIndex&&F.value[f.hoveringIndex]&&Bt(F.value[f.hoveringIndex]);else return re()},eo=Be=>{f.hoveringIndex=Be},ao=()=>{e.multiple?f.hoveringIndex=F.value.findIndex(Be=>e.modelValue.some(vt=>bt(vt)===bt(Be))):f.hoveringIndex=F.value.findIndex(Be=>bt(Be)===bt(e.modelValue))},Po=Be=>{if(f.inputValue=Be.target.value,e.remote)fe();else return ge()},Pr=Be=>{if(K.value=!1,te.value){const vt=new FocusEvent("focus",Be);Z(vt)}},Wl=()=>(f.isBeforeHide=!1,et(()=>{~qe.value&&fr(f.hoveringIndex)})),fr=Be=>{L.value.scrollToItem(Be)},hr=Be=>{const vt=bt(Be);if(Ee.value.has(vt)){const{option:Ot}=Ee.value.get(vt);return Ot}return{[c.value.value]:Be,[c.value.label]:Be}},ql=()=>{if(e.multiple)if(e.modelValue.length>0){f.cachedOptions.length=0,f.previousValue=e.modelValue.toString();for(const Be of e.modelValue){const vt=hr(Be);f.cachedOptions.push(vt)}}else f.cachedOptions=[],f.previousValue=void 0;else if(oe.value){f.previousValue=e.modelValue;const Be=F.value,vt=Be.findIndex(Ot=>bt(u(Ot))===bt(e.modelValue));~vt?f.selectedLabel=d(Be[vt]):f.selectedLabel=bt(e.modelValue)}else f.selectedLabel="",f.previousValue=void 0;S(),Oe()};return Se(K,Be=>{Be?Fe(""):(f.inputValue="",f.previousQuery=null,f.isBeforeHide=!0,pt("")),t("visible-change",Be)}),Se(()=>e.modelValue,(Be,vt)=>{var Ot;(!Be||e.multiple&&Be.toString()!==f.previousValue||!e.multiple&&bt(Be)!==bt(f.previousValue))&&ql(),!nr(Be,vt)&&e.validateEvent&&((Ot=a==null?void 0:a.validate)==null||Ot.call(a,"change").catch(Ut=>void 0))},{deep:!0}),Se(()=>e.options,()=>{const Be=$.value;(!Be||Be&&document.activeElement!==Be)&&ql()},{deep:!0,flush:"post"}),Se(()=>F.value,()=>L.value&&et(L.value.resetScrollTop)),Go(()=>{f.isBeforeHide||Ce()}),Go(()=>{const{valueKey:Be,options:vt}=e,Ot=new Map;for(const Ut of vt){const vr=u(Ut);let Hr=vr;if(xt(Hr)&&(Hr=wo(vr,Be)),Ot.get(Hr))break;Ot.set(Hr,!0)}}),ft(()=>{ql()}),so(g,Qt),so(y,Sn),so(T,qo),so(L,kl),so(j,kl),so(B,Or),so(V,xl),{inputId:i,collapseTagSize:ke,currentPlaceholder:xe,expanded:K,emptyText:me,popupHeight:U,debounce:_e,allOptions:H,filteredOptions:F,iconComponent:ce,iconReverse:Q,tagStyle:Te,collapseTagStyle:Ne,inputStyle:Ie,popperSize:_,dropdownMenuVisible:ye,hasModelValue:oe,shouldShowPlaceholder:Ae,selectDisabled:I,selectSize:pe,showClearBtn:ne,states:f,isFocused:te,nsSelect:r,nsInput:l,calculatorRef:T,inputRef:$,menuRef:L,tagMenuRef:B,tooltipRef:w,tagTooltipRef:x,selectRef:g,wrapperRef:j,selectionRef:y,prefixRef:R,suffixRef:P,collapseItemRef:V,popperRef:We,validateState:Me,validateIcon:de,showTagList:Ye,collapseTagList:tt,debouncedOnInputChange:fe,deleteTag:pr,getLabel:d,getValue:u,getDisabled:p,getValueKey:bt,handleBlur:Z,handleClear:ua,handleClickOutside:Pr,handleDel:rr,handleEsc:yo,handleFocus:J,focus:or,blur:Nr,handleMenuEnter:Wl,handleResize:Qt,resetSelectionWidth:Sn,resetCalculatorWidth:qo,updateTooltip:kl,updateTagTooltip:Or,updateOptions:Ce,toggleMenu:re,scrollTo:fr,onInput:Po,onKeyboardNavigate:He,onKeyboardSelect:ot,onSelect:Bt,onHover:eo,handleCompositionStart:A,handleCompositionEnd:X,handleCompositionUpdate:G}},Lre=N({name:"ElSelectV2",components:{ElSelectMenu:Ore,ElTag:Rc,ElTooltip:ur,ElIcon:Ze},directives:{ClickOutside:xn},props:Tre,emits:[St,ro,"remove-tag","clear","visible-change","focus","blur"],setup(e,{emit:t}){const o=C(()=>{const{modelValue:l,multiple:n}=e,a=n?[]:void 0;return Ke(l)?n?l:a:n?a:l}),r=Rre(Dt({...Bo(e),modelValue:o}),t);return zt(p2,{props:Dt({...Bo(e),height:r.popupHeight,modelValue:o}),tooltipRef:r.tooltipRef,onSelect:r.onSelect,onHover:r.onHover,onKeyboardNavigate:r.onKeyboardNavigate,onKeyboardSelect:r.onKeyboardSelect}),{...r,modelValue:o}}}),Bre=["id","autocomplete","aria-expanded","aria-label","disabled","readonly","name"],Vre=["textContent"],Dre={key:1};function Hre(e,t,o,r,l,n){const a=nt("el-tag"),i=nt("el-tooltip"),c=nt("el-icon"),d=nt("el-select-menu"),u=Ou("click-outside");return mt((b(),M("div",{ref:"selectRef",class:O([e.nsSelect.b(),e.nsSelect.m(e.selectSize)]),onMouseenter:t[15]||(t[15]=p=>e.states.inputHovering=!0),onMouseleave:t[16]||(t[16]=p=>e.states.inputHovering=!1)},[ee(i,{ref:"tooltipRef",visible:e.dropdownMenuVisible,teleported:e.teleported,"popper-class":[e.nsSelect.e("popper"),e.popperClass],"gpu-acceleration":!1,"stop-popper-mouse-event":!1,"popper-options":e.popperOptions,"fallback-placements":e.fallbackPlacements,effect:e.effect,placement:e.placement,pure:"",transition:`${e.nsSelect.namespace.value}-zoom-in-top`,trigger:"click",persistent:e.persistent,onBeforeShow:e.handleMenuEnter,onHide:t[14]||(t[14]=p=>e.states.isBeforeHide=!1)},{default:le(()=>[E("div",{ref:"wrapperRef",class:O([e.nsSelect.e("wrapper"),e.nsSelect.is("focused",e.isFocused),e.nsSelect.is("hovering",e.states.inputHovering),e.nsSelect.is("filterable",e.filterable),e.nsSelect.is("disabled",e.selectDisabled)]),onClick:t[13]||(t[13]=ct((...p)=>e.toggleMenu&&e.toggleMenu(...p),["prevent","stop"]))},[e.$slots.prefix?(b(),M("div",{key:0,ref:"prefixRef",class:O(e.nsSelect.e("prefix"))},[be(e.$slots,"prefix")],2)):se("v-if",!0),E("div",{ref:"selectionRef",class:O([e.nsSelect.e("selection"),e.nsSelect.is("near",e.multiple&&!e.$slots.prefix&&!!e.modelValue.length)])},[e.multiple?be(e.$slots,"tag",{key:0},()=>[(b(!0),M(Qe,null,It(e.showTagList,p=>(b(),M("div",{key:e.getValueKey(e.getValue(p)),class:O(e.nsSelect.e("selected-item"))},[ee(a,{closable:!e.selectDisabled&&!e.getDisabled(p),size:e.collapseTagSize,type:e.tagType,"disable-transitions":"",style:Je(e.tagStyle),onClose:h=>e.deleteTag(h,p)},{default:le(()=>[E("span",{class:O(e.nsSelect.e("tags-text"))},[be(e.$slots,"label",{label:e.getLabel(p),value:e.getValue(p)},()=>[Ct($e(e.getLabel(p)),1)])],2)]),_:2},1032,["closable","size","type","style","onClose"])],2))),128)),e.collapseTags&&e.modelValue.length>e.maxCollapseTags?(b(),he(i,{key:0,ref:"tagTooltipRef",disabled:e.dropdownMenuVisible||!e.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],effect:e.effect,placement:"bottom",teleported:e.teleported},{default:le(()=>[E("div",{ref:"collapseItemRef",class:O(e.nsSelect.e("selected-item"))},[ee(a,{closable:!1,size:e.collapseTagSize,type:e.tagType,style:Je(e.collapseTagStyle),"disable-transitions":""},{default:le(()=>[E("span",{class:O(e.nsSelect.e("tags-text"))}," + "+$e(e.modelValue.length-e.maxCollapseTags),3)]),_:1},8,["size","type","style"])],2)]),content:le(()=>[E("div",{ref:"tagMenuRef",class:O(e.nsSelect.e("selection"))},[(b(!0),M(Qe,null,It(e.collapseTagList,p=>(b(),M("div",{key:e.getValueKey(e.getValue(p)),class:O(e.nsSelect.e("selected-item"))},[ee(a,{class:"in-tooltip",closable:!e.selectDisabled&&!e.getDisabled(p),size:e.collapseTagSize,type:e.tagType,"disable-transitions":"",onClose:h=>e.deleteTag(h,p)},{default:le(()=>[E("span",{class:O(e.nsSelect.e("tags-text"))},[be(e.$slots,"label",{label:e.getLabel(p),value:e.getValue(p)},()=>[Ct($e(e.getLabel(p)),1)])],2)]),_:2},1032,["closable","size","type","onClose"])],2))),128))],2)]),_:3},8,["disabled","effect","teleported"])):se("v-if",!0)]):se("v-if",!0),e.selectDisabled?se("v-if",!0):(b(),M("div",{key:1,class:O([e.nsSelect.e("selected-item"),e.nsSelect.e("input-wrapper"),e.nsSelect.is("hidden",!e.filterable)])},[mt(E("input",{id:e.inputId,ref:"inputRef","onUpdate:modelValue":t[0]||(t[0]=p=>e.states.inputValue=p),style:Je(e.inputStyle),autocomplete:e.autocomplete,"aria-autocomplete":"list","aria-haspopup":"listbox",autocapitalize:"off","aria-expanded":e.expanded,"aria-label":e.ariaLabel,class:O([e.nsSelect.e("input"),e.nsSelect.is(e.selectSize)]),disabled:e.selectDisabled,role:"combobox",readonly:!e.filterable,spellcheck:"false",type:"text",name:e.name,onFocus:t[1]||(t[1]=(...p)=>e.handleFocus&&e.handleFocus(...p)),onBlur:t[2]||(t[2]=(...p)=>e.handleBlur&&e.handleBlur(...p)),onInput:t[3]||(t[3]=(...p)=>e.onInput&&e.onInput(...p)),onCompositionstart:t[4]||(t[4]=(...p)=>e.handleCompositionStart&&e.handleCompositionStart(...p)),onCompositionupdate:t[5]||(t[5]=(...p)=>e.handleCompositionUpdate&&e.handleCompositionUpdate(...p)),onCompositionend:t[6]||(t[6]=(...p)=>e.handleCompositionEnd&&e.handleCompositionEnd(...p)),onKeydown:[t[7]||(t[7]=Gt(ct(p=>e.onKeyboardNavigate("backward"),["stop","prevent"]),["up"])),t[8]||(t[8]=Gt(ct(p=>e.onKeyboardNavigate("forward"),["stop","prevent"]),["down"])),t[9]||(t[9]=Gt(ct((...p)=>e.onKeyboardSelect&&e.onKeyboardSelect(...p),["stop","prevent"]),["enter"])),t[10]||(t[10]=Gt(ct((...p)=>e.handleEsc&&e.handleEsc(...p),["stop","prevent"]),["esc"])),t[11]||(t[11]=Gt(ct((...p)=>e.handleDel&&e.handleDel(...p),["stop"]),["delete"]))],onClick:t[12]||(t[12]=ct((...p)=>e.toggleMenu&&e.toggleMenu(...p),["stop"]))},null,46,Bre),[[l0,e.states.inputValue]]),e.filterable?(b(),M("span",{key:0,ref:"calculatorRef","aria-hidden":"true",class:O(e.nsSelect.e("input-calculator")),textContent:$e(e.states.inputValue)},null,10,Vre)):se("v-if",!0)],2)),e.shouldShowPlaceholder?(b(),M("div",{key:2,class:O([e.nsSelect.e("selected-item"),e.nsSelect.e("placeholder"),e.nsSelect.is("transparent",!e.hasModelValue||e.expanded&&!e.states.inputValue)])},[e.hasModelValue?be(e.$slots,"label",{key:0,label:e.currentPlaceholder,value:e.modelValue},()=>[E("span",null,$e(e.currentPlaceholder),1)]):(b(),M("span",Dre,$e(e.currentPlaceholder),1))],2)):se("v-if",!0)],2),E("div",{ref:"suffixRef",class:O(e.nsSelect.e("suffix"))},[e.iconComponent?mt((b(),he(c,{key:0,class:O([e.nsSelect.e("caret"),e.nsInput.e("icon"),e.iconReverse])},{default:le(()=>[(b(),he(Et(e.iconComponent)))]),_:1},8,["class"])),[[Lt,!e.showClearBtn]]):se("v-if",!0),e.showClearBtn&&e.clearIcon?(b(),he(c,{key:1,class:O([e.nsSelect.e("caret"),e.nsInput.e("icon")]),onClick:ct(e.handleClear,["prevent","stop"])},{default:le(()=>[(b(),he(Et(e.clearIcon)))]),_:1},8,["class","onClick"])):se("v-if",!0),e.validateState&&e.validateIcon?(b(),he(c,{key:2,class:O([e.nsInput.e("icon"),e.nsInput.e("validateIcon")])},{default:le(()=>[(b(),he(Et(e.validateIcon)))]),_:1},8,["class"])):se("v-if",!0)],2)],2)]),content:le(()=>[ee(d,{ref:"menuRef",data:e.filteredOptions,width:e.popperSize,"hovering-index":e.states.hoveringIndex,"scrollbar-always-on":e.scrollbarAlwaysOn},ln({default:le(p=>[be(e.$slots,"default",Zl(mi(p)))]),_:2},[e.$slots.header?{name:"header",fn:le(()=>[E("div",{class:O(e.nsSelect.be("dropdown","header"))},[be(e.$slots,"header")],2)])}:void 0,e.$slots.loading&&e.loading?{name:"loading",fn:le(()=>[E("div",{class:O(e.nsSelect.be("dropdown","loading"))},[be(e.$slots,"loading")],2)])}:e.loading||e.filteredOptions.length===0?{name:"empty",fn:le(()=>[E("div",{class:O(e.nsSelect.be("dropdown","empty"))},[be(e.$slots,"empty",{},()=>[E("span",null,$e(e.emptyText),1)])],2)])}:void 0,e.$slots.footer?{name:"footer",fn:le(()=>[E("div",{class:O(e.nsSelect.be("dropdown","footer"))},[be(e.$slots,"footer")],2)])}:void 0]),1032,["data","width","hovering-index","scrollbar-always-on"])]),_:3},8,["visible","teleported","popper-class","popper-options","fallback-placements","effect","placement","transition","persistent","onBeforeShow"])],34)),[[u,e.handleClickOutside,e.popperRef]])}var Op=Le(Lre,[["render",Hre],["__file","select.vue"]]);Op.install=e=>{e.component(Op.name,Op)};const Fre=Op,jre=Pe({animated:{type:Boolean,default:!1},count:{type:Number,default:1},rows:{type:Number,default:3},loading:{type:Boolean,default:!0},throttle:{type:Number}}),Kre=Pe({variant:{type:String,values:["circle","rect","h1","h3","text","caption","p","image","button"],default:"text"}}),Ure=N({...N({name:"ElSkeletonItem"}),props:Kre,setup(e){const t=ze("skeleton");return(o,r)=>(b(),M("div",{class:O([s(t).e("item"),s(t).e(o.variant)])},[o.variant==="image"?(b(),he(s(H3),{key:0})):se("v-if",!0)],2))}});var Np=Le(Ure,[["__file","skeleton-item.vue"]]);const Wre=N({...N({name:"ElSkeleton"}),props:jre,setup(e,{expose:t}){const o=e,r=ze("skeleton"),l=Cj(Yt(o,"loading"),o.throttle);return t({uiLoading:l}),(n,a)=>s(l)?(b(),M("div",Mt({key:0,class:[s(r).b(),s(r).is("animated",n.animated)]},n.$attrs),[(b(!0),M(Qe,null,It(n.count,i=>(b(),M(Qe,{key:i},[n.loading?be(n.$slots,"template",{key:i},()=>[ee(Np,{class:O(s(r).is("first")),variant:"p"},null,8,["class"]),(b(!0),M(Qe,null,It(n.rows,c=>(b(),he(Np,{key:c,class:O([s(r).e("paragraph"),s(r).is("last",c===n.rows&&n.rows>1)]),variant:"p"},null,8,["class"]))),128))]):se("v-if",!0)],64))),128))],16)):be(n.$slots,"default",Zl(Mt({key:1},n.$attrs)))}});var qre=Le(Wre,[["__file","skeleton.vue"]]);const Yre=yt(qre,{SkeletonItem:Np}),Gre=co(Np),w8=Symbol("sliderContextKey"),Xre=Pe({modelValue:{type:ue([Number,Array]),default:0},id:{type:String,default:void 0},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:1},showInput:Boolean,showInputControls:{type:Boolean,default:!0},size:Oo,inputSize:Oo,showStops:Boolean,showTooltip:{type:Boolean,default:!0},formatTooltip:{type:ue(Function),default:void 0},disabled:Boolean,range:Boolean,vertical:Boolean,height:String,debounce:{type:Number,default:300},label:{type:String,default:void 0},rangeStartLabel:{type:String,default:void 0},rangeEndLabel:{type:String,default:void 0},formatValueText:{type:ue(Function),default:void 0},tooltipClass:{type:String,default:void 0},placement:{type:String,values:Va,default:"top"},marks:{type:ue(Object)},validateEvent:{type:Boolean,default:!0},...Zo(["ariaLabel"])}),f2=e=>st(e)||Ke(e)&&e.every(st),Zre={[St]:f2,[yr]:f2,[ro]:f2},Jre=(e,t,o)=>{const r=D();return ft(async()=>{e.range?(Array.isArray(e.modelValue)?(t.firstValue=Math.max(e.min,e.modelValue[0]),t.secondValue=Math.min(e.max,e.modelValue[1])):(t.firstValue=e.min,t.secondValue=e.max),t.oldValue=[t.firstValue,t.secondValue]):(typeof e.modelValue!="number"||Number.isNaN(e.modelValue)?t.firstValue=e.min:t.firstValue=Math.min(e.max,Math.max(e.min,e.modelValue)),t.oldValue=t.firstValue),oo(window,"resize",o),await et(),o()}),{sliderWrapper:r}},Qre=e=>C(()=>e.marks?Object.keys(e.marks).map(Number.parseFloat).sort((o,r)=>o-r).filter(o=>o<=e.max&&o>=e.min).map(o=>({point:o,position:(o-e.min)*100/(e.max-e.min),mark:e.marks[o]})):[]),ele=(e,t,o)=>{const{form:r,formItem:l}=sr(),n=lo(),a=D(),i=D(),c={firstButton:a,secondButton:i},d=C(()=>e.disabled||(r==null?void 0:r.disabled)||!1),u=C(()=>Math.min(t.firstValue,t.secondValue)),p=C(()=>Math.max(t.firstValue,t.secondValue)),h=C(()=>e.range?`${100*(p.value-u.value)/(e.max-e.min)}%`:`${100*(t.firstValue-e.min)/(e.max-e.min)}%`),v=C(()=>e.range?`${100*(u.value-e.min)/(e.max-e.min)}%`:"0%"),m=C(()=>e.vertical?{height:e.height}:{}),f=C(()=>e.vertical?{height:h.value,bottom:v.value}:{width:h.value,left:v.value}),_=()=>{n.value&&(t.sliderSize=n.value[`client${e.vertical?"Height":"Width"}`])},g=V=>{const j=e.min+V*(e.max-e.min)/100;if(!e.range)return a;let te;return Math.abs(u.value-j)t.secondValue?"firstButton":"secondButton",c[te]},y=V=>{const j=g(V);return j.value.setPosition(V),j},w=V=>{t.firstValue=V,$(e.range?[u.value,p.value]:V)},x=V=>{t.secondValue=V,e.range&&$([u.value,p.value])},$=V=>{o(St,V),o(yr,V)},T=async()=>{await et(),o(ro,e.range?[u.value,p.value]:e.modelValue)},R=V=>{var j,te,J,Z,H,F;if(d.value||t.dragging)return;_();let K=0;if(e.vertical){const I=(J=(te=(j=V.touches)==null?void 0:j.item(0))==null?void 0:te.clientY)!=null?J:V.clientY;K=(n.value.getBoundingClientRect().bottom-I)/t.sliderSize*100}else{const I=(F=(H=(Z=V.touches)==null?void 0:Z.item(0))==null?void 0:H.clientX)!=null?F:V.clientX,U=n.value.getBoundingClientRect().left;K=(I-U)/t.sliderSize*100}if(!(K<0||K>100))return y(K)};return{elFormItem:l,slider:n,firstButton:a,secondButton:i,sliderDisabled:d,minValue:u,maxValue:p,runwayStyle:m,barStyle:f,resetSize:_,setPosition:y,emitChange:T,onSliderWrapperPrevent:V=>{var j,te;((j=c.firstButton.value)!=null&&j.dragging||(te=c.secondButton.value)!=null&&te.dragging)&&V.preventDefault()},onSliderClick:V=>{R(V)&&T()},onSliderDown:async V=>{const j=R(V);j&&(await et(),j.value.onButtonDown(V))},setFirstValue:w,setSecondValue:x}},{left:tle,down:ole,right:rle,up:lle,home:nle,end:ale,pageUp:ile,pageDown:sle}=lt,cle=(e,t,o)=>{const r=D(),l=D(!1),n=C(()=>t.value instanceof Function),a=C(()=>n.value&&t.value(e.modelValue)||e.modelValue),i=Mr(()=>{o.value&&(l.value=!0)},50),c=Mr(()=>{o.value&&(l.value=!1)},50);return{tooltip:r,tooltipVisible:l,formatValue:a,displayTooltip:i,hideTooltip:c}},ule=(e,t,o)=>{const{disabled:r,min:l,max:n,step:a,showTooltip:i,precision:c,sliderSize:d,formatTooltip:u,emitChange:p,resetSize:h,updateDragging:v}=Ge(w8),{tooltip:m,tooltipVisible:f,formatValue:_,displayTooltip:g,hideTooltip:y}=cle(e,u,i),w=D(),x=C(()=>`${(e.modelValue-l.value)/(n.value-l.value)*100}%`),$=C(()=>e.vertical?{bottom:x.value}:{left:x.value}),T=()=>{t.hovering=!0,g()},R=()=>{t.hovering=!1,t.dragging||y()},P=ne=>{r.value||(ne.preventDefault(),K(ne),window.addEventListener("mousemove",I),window.addEventListener("touchmove",I),window.addEventListener("mouseup",U),window.addEventListener("touchend",U),window.addEventListener("contextmenu",U),w.value.focus())},L=ne=>{r.value||(t.newPosition=Number.parseFloat(x.value)+ne/(n.value-l.value)*100,oe(t.newPosition),p())},B=()=>{L(-a.value)},V=()=>{L(a.value)},j=()=>{L(-a.value*4)},te=()=>{L(a.value*4)},J=()=>{r.value||(oe(0),p())},Z=()=>{r.value||(oe(100),p())},H=ne=>{let ce=!0;[tle,ole].includes(ne.key)?B():[rle,lle].includes(ne.key)?V():ne.key===nle?J():ne.key===ale?Z():ne.key===sle?j():ne.key===ile?te():ce=!1,ce&&ne.preventDefault()},F=ne=>{let ce,Q;return ne.type.startsWith("touch")?(Q=ne.touches[0].clientY,ce=ne.touches[0].clientX):(Q=ne.clientY,ce=ne.clientX),{clientX:ce,clientY:Q}},K=ne=>{t.dragging=!0,t.isClick=!0;const{clientX:ce,clientY:Q}=F(ne);e.vertical?t.startY=Q:t.startX=ce,t.startPosition=Number.parseFloat(x.value),t.newPosition=t.startPosition},I=ne=>{if(t.dragging){t.isClick=!1,g(),h();let ce;const{clientX:Q,clientY:Me}=F(ne);e.vertical?(t.currentY=Me,ce=(t.startY-t.currentY)/d.value*100):(t.currentX=Q,ce=(t.currentX-t.startX)/d.value*100),t.newPosition=t.startPosition+ce,oe(t.newPosition)}},U=()=>{t.dragging&&(setTimeout(()=>{t.dragging=!1,t.hovering||y(),t.isClick||oe(t.newPosition),p()},0),window.removeEventListener("mousemove",I),window.removeEventListener("touchmove",I),window.removeEventListener("mouseup",U),window.removeEventListener("touchend",U),window.removeEventListener("contextmenu",U))},oe=async ne=>{if(ne===null||Number.isNaN(+ne))return;ne<0?ne=0:ne>100&&(ne=100);const ce=100/((n.value-l.value)/a.value);let Me=Math.round(ne/ce)*ce*(n.value-l.value)*.01+l.value;Me=Number.parseFloat(Me.toFixed(c.value)),Me!==e.modelValue&&o(St,Me),!t.dragging&&e.modelValue!==t.oldValue&&(t.oldValue=e.modelValue),await et(),t.dragging&&g(),m.value.updatePopper()};return Se(()=>t.dragging,ne=>{v(ne)}),{disabled:r,button:w,tooltip:m,tooltipVisible:f,showTooltip:i,wrapperStyle:$,formatValue:_,handleMouseEnter:T,handleMouseLeave:R,onButtonDown:P,onKeyDown:H,setPosition:oe}},dle=(e,t,o,r)=>({stops:C(()=>{if(!e.showStops||e.min>e.max)return[];if(e.step===0)return[];const a=(e.max-e.min)/e.step,i=100*e.step/(e.max-e.min),c=Array.from({length:a-1}).map((d,u)=>(u+1)*i);return e.range?c.filter(d=>d<100*(o.value-e.min)/(e.max-e.min)||d>100*(r.value-e.min)/(e.max-e.min)):c.filter(d=>d>100*(t.firstValue-e.min)/(e.max-e.min))}),getStopStyle:a=>e.vertical?{bottom:`${a}%`}:{left:`${a}%`}}),ple=(e,t,o,r,l,n)=>{const a=d=>{l(St,d),l(yr,d)},i=()=>e.range?![o.value,r.value].every((d,u)=>d===t.oldValue[u]):e.modelValue!==t.oldValue,c=()=>{var d,u;e.min>e.max&&Io("Slider","min should not be greater than max.");const p=e.modelValue;e.range&&Array.isArray(p)?p[1]e.max?a([e.max,e.max]):p[0]e.max?a([p[0],e.max]):(t.firstValue=p[0],t.secondValue=p[1],i()&&(e.validateEvent&&((d=n==null?void 0:n.validate)==null||d.call(n,"change").catch(h=>void 0)),t.oldValue=p.slice())):!e.range&&typeof p=="number"&&!Number.isNaN(p)&&(pe.max?a(e.max):(t.firstValue=p,i()&&(e.validateEvent&&((u=n==null?void 0:n.validate)==null||u.call(n,"change").catch(h=>void 0)),t.oldValue=p)))};c(),Se(()=>t.dragging,d=>{d||c()}),Se(()=>e.modelValue,(d,u)=>{t.dragging||Array.isArray(d)&&Array.isArray(u)&&d.every((p,h)=>p===u[h])&&t.firstValue===d[0]&&t.secondValue===d[1]||c()},{deep:!0}),Se(()=>[e.min,e.max],()=>{c()})},fle=Pe({modelValue:{type:Number,default:0},vertical:Boolean,tooltipClass:String,placement:{type:String,values:Va,default:"top"}}),hle={[St]:e=>st(e)},vle=["tabindex"],mle=N({...N({name:"ElSliderButton"}),props:fle,emits:hle,setup(e,{expose:t,emit:o}){const r=e,l=ze("slider"),n=Dt({hovering:!1,dragging:!1,isClick:!1,startX:0,currentX:0,startY:0,currentY:0,startPosition:0,newPosition:0,oldValue:r.modelValue}),{disabled:a,button:i,tooltip:c,showTooltip:d,tooltipVisible:u,wrapperStyle:p,formatValue:h,handleMouseEnter:v,handleMouseLeave:m,onButtonDown:f,onKeyDown:_,setPosition:g}=ule(r,n,o),{hovering:y,dragging:w}=Bo(n);return t({onButtonDown:f,onKeyDown:_,setPosition:g,hovering:y,dragging:w}),(x,$)=>(b(),M("div",{ref_key:"button",ref:i,class:O([s(l).e("button-wrapper"),{hover:s(y),dragging:s(w)}]),style:Je(s(p)),tabindex:s(a)?-1:0,onMouseenter:$[0]||($[0]=(...T)=>s(v)&&s(v)(...T)),onMouseleave:$[1]||($[1]=(...T)=>s(m)&&s(m)(...T)),onMousedown:$[2]||($[2]=(...T)=>s(f)&&s(f)(...T)),onTouchstart:$[3]||($[3]=(...T)=>s(f)&&s(f)(...T)),onFocus:$[4]||($[4]=(...T)=>s(v)&&s(v)(...T)),onBlur:$[5]||($[5]=(...T)=>s(m)&&s(m)(...T)),onKeydown:$[6]||($[6]=(...T)=>s(_)&&s(_)(...T))},[ee(s(ur),{ref_key:"tooltip",ref:c,visible:s(u),placement:x.placement,"fallback-placements":["top","bottom","right","left"],"stop-popper-mouse-event":!1,"popper-class":x.tooltipClass,disabled:!s(d),persistent:""},{content:le(()=>[E("span",null,$e(s(h)),1)]),default:le(()=>[E("div",{class:O([s(l).e("button"),{hover:s(y),dragging:s(w)}])},null,2)]),_:1},8,["visible","placement","popper-class","disabled"])],46,vle))}});var y8=Le(mle,[["__file","button.vue"]]);const gle=Pe({mark:{type:ue([String,Object]),default:void 0}});var ble=N({name:"ElSliderMarker",props:gle,setup(e){const t=ze("slider"),o=C(()=>ut(e.mark)?e.mark:e.mark.label),r=C(()=>ut(e.mark)?void 0:e.mark.style);return()=>rt("div",{class:t.e("marks-text"),style:r.value},o.value)}});const _le=["id","role","aria-label","aria-labelledby"],wle={key:1},yle=N({...N({name:"ElSlider"}),props:Xre,emits:Zre,setup(e,{expose:t,emit:o}){const r=e,l=ze("slider"),{t:n}=Rt(),a=Dt({firstValue:0,secondValue:0,oldValue:0,dragging:!1,sliderSize:1}),{elFormItem:i,slider:c,firstButton:d,secondButton:u,sliderDisabled:p,minValue:h,maxValue:v,runwayStyle:m,barStyle:f,resetSize:_,emitChange:g,onSliderWrapperPrevent:y,onSliderClick:w,onSliderDown:x,setFirstValue:$,setSecondValue:T}=ele(r,a,o),{stops:R,getStopStyle:P}=dle(r,a,h,v),{inputId:L,isLabeledByFormItem:B}=bl(r,{formItemContext:i}),V=So(),j=C(()=>r.inputSize||V.value),te=C(()=>r.label||r.ariaLabel||n("el.slider.defaultLabel",{min:r.min,max:r.max})),J=C(()=>r.range?r.rangeStartLabel||n("el.slider.defaultRangeStartLabel"):te.value),Z=C(()=>r.formatValueText?r.formatValueText(ne.value):`${ne.value}`),H=C(()=>r.rangeEndLabel||n("el.slider.defaultRangeEndLabel")),F=C(()=>r.formatValueText?r.formatValueText(ce.value):`${ce.value}`),K=C(()=>[l.b(),l.m(V.value),l.is("vertical",r.vertical),{[l.m("with-input")]:r.showInput}]),I=Qre(r);ple(r,a,h,v,o,i);const U=C(()=>{const de=[r.min,r.max,r.step].map(_e=>{const me=`${_e}`.split(".")[1];return me?me.length:0});return Math.max.apply(null,de)}),{sliderWrapper:oe}=Jre(r,a,_),{firstValue:ne,secondValue:ce,sliderSize:Q}=Bo(a),Me=de=>{a.dragging=de};return zt(w8,{...Bo(r),sliderSize:Q,disabled:p,precision:U,emitChange:g,resetSize:_,updateDragging:Me}),Lo({from:"label",replacement:"aria-label",version:"2.8.0",scope:"el-slider",ref:"https://element-plus.org/en-US/component/slider.html"},C(()=>!!r.label)),t({onSliderClick:w}),(de,_e)=>{var me,Re;return b(),M("div",{id:de.range?s(L):void 0,ref_key:"sliderWrapper",ref:oe,class:O(s(K)),role:de.range?"group":void 0,"aria-label":de.range&&!s(B)?s(te):void 0,"aria-labelledby":de.range&&s(B)?(me=s(i))==null?void 0:me.labelId:void 0,onTouchstart:_e[2]||(_e[2]=(...Ce)=>s(y)&&s(y)(...Ce)),onTouchmove:_e[3]||(_e[3]=(...Ce)=>s(y)&&s(y)(...Ce))},[E("div",{ref_key:"slider",ref:c,class:O([s(l).e("runway"),{"show-input":de.showInput&&!de.range},s(l).is("disabled",s(p))]),style:Je(s(m)),onMousedown:_e[0]||(_e[0]=(...Ce)=>s(x)&&s(x)(...Ce)),onTouchstart:_e[1]||(_e[1]=(...Ce)=>s(x)&&s(x)(...Ce))},[E("div",{class:O(s(l).e("bar")),style:Je(s(f))},null,6),ee(y8,{id:de.range?void 0:s(L),ref_key:"firstButton",ref:d,"model-value":s(ne),vertical:de.vertical,"tooltip-class":de.tooltipClass,placement:de.placement,role:"slider","aria-label":de.range||!s(B)?s(J):void 0,"aria-labelledby":!de.range&&s(B)?(Re=s(i))==null?void 0:Re.labelId:void 0,"aria-valuemin":de.min,"aria-valuemax":de.range?s(ce):de.max,"aria-valuenow":s(ne),"aria-valuetext":s(Z),"aria-orientation":de.vertical?"vertical":"horizontal","aria-disabled":s(p),"onUpdate:modelValue":s($)},null,8,["id","model-value","vertical","tooltip-class","placement","aria-label","aria-labelledby","aria-valuemin","aria-valuemax","aria-valuenow","aria-valuetext","aria-orientation","aria-disabled","onUpdate:modelValue"]),de.range?(b(),he(y8,{key:0,ref_key:"secondButton",ref:u,"model-value":s(ce),vertical:de.vertical,"tooltip-class":de.tooltipClass,placement:de.placement,role:"slider","aria-label":s(H),"aria-valuemin":s(ne),"aria-valuemax":de.max,"aria-valuenow":s(ce),"aria-valuetext":s(F),"aria-orientation":de.vertical?"vertical":"horizontal","aria-disabled":s(p),"onUpdate:modelValue":s(T)},null,8,["model-value","vertical","tooltip-class","placement","aria-label","aria-valuemin","aria-valuemax","aria-valuenow","aria-valuetext","aria-orientation","aria-disabled","onUpdate:modelValue"])):se("v-if",!0),de.showStops?(b(),M("div",wle,[(b(!0),M(Qe,null,It(s(R),(Ce,Ee)=>(b(),M("div",{key:Ee,class:O(s(l).e("stop")),style:Je(s(P)(Ce))},null,6))),128))])):se("v-if",!0),s(I).length>0?(b(),M(Qe,{key:2},[E("div",null,[(b(!0),M(Qe,null,It(s(I),(Ce,Ee)=>(b(),M("div",{key:Ee,style:Je(s(P)(Ce.position)),class:O([s(l).e("stop"),s(l).e("marks-stop")])},null,6))),128))]),E("div",{class:O(s(l).e("marks"))},[(b(!0),M(Qe,null,It(s(I),(Ce,Ee)=>(b(),he(s(ble),{key:Ee,mark:Ce.mark,style:Je(s(P)(Ce.position))},null,8,["mark","style"]))),128))],2)],64)):se("v-if",!0)],38),de.showInput&&!de.range?(b(),he(s(Ly),{key:0,ref:"input","model-value":s(ne),class:O(s(l).e("input")),step:de.step,disabled:s(p),controls:de.showInputControls,min:de.min,max:de.max,debounce:de.debounce,size:s(j),"onUpdate:modelValue":s($),onChange:s(g)},null,8,["model-value","class","step","disabled","controls","min","max","debounce","size","onUpdate:modelValue","onChange"])):se("v-if",!0)],42,_le)}}});var xle=Le(yle,[["__file","slider.vue"]]);const kle=yt(xle),Cle=Pe({prefixCls:{type:String}}),x8=N({name:"ElSpaceItem",props:Cle,setup(e,{slots:t}){const o=ze("space"),r=C(()=>`${e.prefixCls||o.b()}__item`);return()=>rt("div",{class:r.value},be(t,"default"))}}),k8={small:8,default:12,large:16};function Sle(e){const t=ze("space"),o=C(()=>[t.b(),t.m(e.direction),e.class]),r=D(0),l=D(0),n=C(()=>{const i=e.wrap||e.fill?{flexWrap:"wrap"}:{},c={alignItems:e.alignment},d={rowGap:`${l.value}px`,columnGap:`${r.value}px`};return[i,c,d,e.style]}),a=C(()=>e.fill?{flexGrow:1,minWidth:`${e.fillRatio}%`}:{});return Go(()=>{const{size:i="small",wrap:c,direction:d,fill:u}=e;if(Ke(i)){const[p=0,h=0]=i;r.value=p,l.value=h}else{let p;st(i)?p=i:p=k8[i||"small"]||k8.small,(c||u)&&d==="horizontal"?r.value=l.value=p:d==="horizontal"?(r.value=p,l.value=0):(l.value=p,r.value=0)}}),{classes:o,containerStyle:n,itemStyle:a}}const Ele=Pe({direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},class:{type:ue([String,Object,Array]),default:""},style:{type:ue([String,Array,Object]),default:""},alignment:{type:ue(String),default:"center"},prefixCls:{type:String},spacer:{type:ue([Object,String,Number,Array]),default:null,validator:e=>io(e)||st(e)||ut(e)},wrap:Boolean,fill:Boolean,fillRatio:{type:Number,default:100},size:{type:[String,Array,Number],values:Rl,validator:e=>st(e)||Ke(e)&&e.length===2&&e.every(st)}}),Tle=yt(N({name:"ElSpace",props:Ele,setup(e,{slots:t}){const{classes:o,containerStyle:r,itemStyle:l}=Sle(e);function n(a,i="",c=[]){const{prefixCls:d}=e;return a.forEach((u,p)=>{yh(u)?Ke(u.children)&&u.children.forEach((h,v)=>{yh(h)&&Ke(h.children)?n(h.children,`${i+v}-`,c):c.push(ee(x8,{style:l.value,prefixCls:d,key:`nested-${i+v}`},{default:()=>[h]},Qr.PROPS|Qr.STYLE,["style","prefixCls"]))}):iF(u)&&c.push(ee(x8,{style:l.value,prefixCls:d,key:`LoopKey${i+p}`},{default:()=>[u]},Qr.PROPS|Qr.STYLE,["style","prefixCls"]))}),c}return()=>{var a;const{spacer:i,direction:c}=e,d=be(t,"default",{key:0},()=>[]);if(((a=d.children)!=null?a:[]).length===0)return null;if(Ke(d.children)){let u=n(d.children);if(i){const p=u.length-1;u=u.reduce((h,v,m)=>{const f=[...h,v];return m!==p&&f.push(ee("span",{style:[l.value,c==="vertical"?"width: 100%":null],key:m},[io(i)?i:Ct(i,Qr.TEXT)],Qr.STYLE)),f},[])}return ee("div",{class:o.value,style:r.value},u,Qr.STYLE|Qr.CLASS)}return d.children}}})),$le=Pe({decimalSeparator:{type:String,default:"."},groupSeparator:{type:String,default:","},precision:{type:Number,default:0},formatter:Function,value:{type:ue([Number,Object]),default:0},prefix:String,suffix:String,title:String,valueStyle:{type:ue([String,Object,Array])}}),Mle=N({...N({name:"ElStatistic"}),props:$le,setup(e,{expose:t}){const o=e,r=ze("statistic"),l=C(()=>{const{value:n,formatter:a,precision:i,decimalSeparator:c,groupSeparator:d}=o;if(it(a))return a(n);if(!st(n))return n;let[u,p=""]=String(n).split(".");return p=p.padEnd(i,"0").slice(0,i>0?i:0),u=u.replace(/\B(?=(\d{3})+(?!\d))/g,d),[u,p].join(p?c:"")});return t({displayValue:l}),(n,a)=>(b(),M("div",{class:O(s(r).b())},[n.$slots.title||n.title?(b(),M("div",{key:0,class:O(s(r).e("head"))},[be(n.$slots,"title",{},()=>[Ct($e(n.title),1)])],2)):se("v-if",!0),E("div",{class:O(s(r).e("content"))},[n.$slots.prefix||n.prefix?(b(),M("div",{key:0,class:O(s(r).e("prefix"))},[be(n.$slots,"prefix",{},()=>[E("span",null,$e(n.prefix),1)])],2)):se("v-if",!0),E("span",{class:O(s(r).e("number")),style:Je(n.valueStyle)},$e(s(l)),7),n.$slots.suffix||n.suffix?(b(),M("div",{key:1,class:O(s(r).e("suffix"))},[be(n.$slots,"suffix",{},()=>[E("span",null,$e(n.suffix),1)])],2)):se("v-if",!0)],2)],2))}});var Ale=Le(Mle,[["__file","statistic.vue"]]);const C8=yt(Ale),zle=Pe({format:{type:String,default:"HH:mm:ss"},prefix:String,suffix:String,title:String,value:{type:ue([Number,Object]),default:0},valueStyle:{type:ue([String,Object,Array])}}),Ile={finish:()=>!0,[ro]:e=>st(e)},Ole=[["Y",1e3*60*60*24*365],["M",1e3*60*60*24*30],["D",1e3*60*60*24],["H",1e3*60*60],["m",1e3*60],["s",1e3],["S",1]],S8=e=>st(e)?new Date(e).getTime():e.valueOf(),E8=(e,t)=>{let o=e;const r=/\[([^\]]*)]/g;return Ole.reduce((n,[a,i])=>{const c=new RegExp(`${a}+(?![^\\[\\]]*\\])`,"g");if(c.test(n)){const d=Math.floor(o/i);return o-=d*i,n.replace(c,u=>String(d).padStart(u.length,"0"))}return n},t).replace(r,"$1")},Nle=N({...N({name:"ElCountdown"}),props:zle,emits:Ile,setup(e,{expose:t,emit:o}){const r=e;let l;const n=D(S8(r.value)-Date.now()),a=C(()=>E8(n.value,r.format)),i=u=>E8(u,r.format),c=()=>{l&&(Pa(l),l=void 0)},d=()=>{const u=S8(r.value),p=()=>{let h=u-Date.now();o("change",h),h<=0?(h=0,c(),o("finish")):l=Xn(p),n.value=h};l=Xn(p)};return Se(()=>[r.value,r.format],()=>{c(),d()},{immediate:!0}),to(()=>{c()}),t({displayValue:a}),(u,p)=>(b(),he(s(C8),{value:n.value,title:u.title,prefix:u.prefix,suffix:u.suffix,"value-style":u.valueStyle,formatter:i},ln({_:2},[It(u.$slots,(h,v)=>({name:v,fn:le(()=>[be(u.$slots,v)])}))]),1032,["value","title","prefix","suffix","value-style"]))}});var Ple=Le(Nle,[["__file","countdown.vue"]]);const Rle=yt(Ple),Lle=Pe({space:{type:[Number,String],default:""},active:{type:Number,default:0},direction:{type:String,default:"horizontal",values:["horizontal","vertical"]},alignCenter:{type:Boolean},simple:{type:Boolean},finishStatus:{type:String,values:["wait","process","finish","error","success"],default:"finish"},processStatus:{type:String,values:["wait","process","finish","error","success"],default:"process"}}),Ble={[ro]:(e,t)=>[e,t].every(st)},Vle=N({...N({name:"ElSteps"}),props:Lle,emits:Ble,setup(e,{emit:t}){const o=e,r=ze("steps"),{children:l,addChild:n,removeChild:a}=Wh(wt(),"ElStep");return Se(l,()=>{l.value.forEach((i,c)=>{i.setIndex(c)})}),zt("ElSteps",{props:o,steps:l,addStep:n,removeStep:a}),Se(()=>o.active,(i,c)=>{t(ro,i,c)}),(i,c)=>(b(),M("div",{class:O([s(r).b(),s(r).m(i.simple?"simple":i.direction)])},[be(i.$slots,"default")],2))}});var Dle=Le(Vle,[["__file","steps.vue"]]);const Hle=Pe({title:{type:String,default:""},icon:{type:Xt},description:{type:String,default:""},status:{type:String,values:["","wait","process","finish","error","success"],default:""}}),Fle=N({...N({name:"ElStep"}),props:Hle,setup(e){const t=e,o=ze("step"),r=D(-1),l=D({}),n=D(""),a=Ge("ElSteps"),i=wt();ft(()=>{Se([()=>a.props.active,()=>a.props.processStatus,()=>a.props.finishStatus],([T])=>{x(T)},{immediate:!0})}),to(()=>{a.removeStep($.uid)});const c=C(()=>t.status||n.value),d=C(()=>{const T=a.steps.value[r.value-1];return T?T.currentStatus:"wait"}),u=C(()=>a.props.alignCenter),p=C(()=>a.props.direction==="vertical"),h=C(()=>a.props.simple),v=C(()=>a.steps.value.length),m=C(()=>{var T;return((T=a.steps.value[v.value-1])==null?void 0:T.uid)===(i==null?void 0:i.uid)}),f=C(()=>h.value?"":a.props.space),_=C(()=>[o.b(),o.is(h.value?"simple":a.props.direction),o.is("flex",m.value&&!f.value&&!u.value),o.is("center",u.value&&!p.value&&!h.value)]),g=C(()=>{const T={flexBasis:st(f.value)?`${f.value}px`:f.value?f.value:`${100/(v.value-(u.value?0:1))}%`};return p.value||m.value&&(T.maxWidth=`${100/v.value}%`),T}),y=T=>{r.value=T},w=T=>{const R=T==="wait",P={transitionDelay:`${R?"-":""}${150*r.value}ms`},L=T===a.props.processStatus||R?0:100;P.borderWidth=L&&!h.value?"1px":0,P[a.props.direction==="vertical"?"height":"width"]=`${L}%`,l.value=P},x=T=>{T>r.value?n.value=a.props.finishStatus:T===r.value&&d.value!=="error"?n.value=a.props.processStatus:n.value="wait";const R=a.steps.value[r.value-1];R&&R.calcProgress(n.value)},$=Dt({uid:i.uid,currentStatus:c,setIndex:y,calcProgress:w});return a.addStep($),(T,R)=>(b(),M("div",{style:Je(s(g)),class:O(s(_))},[se(" icon & line "),E("div",{class:O([s(o).e("head"),s(o).is(s(c))])},[s(h)?se("v-if",!0):(b(),M("div",{key:0,class:O(s(o).e("line"))},[E("i",{class:O(s(o).e("line-inner")),style:Je(l.value)},null,6)],2)),E("div",{class:O([s(o).e("icon"),s(o).is(T.icon||T.$slots.icon?"icon":"text")])},[be(T.$slots,"icon",{},()=>[T.icon?(b(),he(s(Ze),{key:0,class:O(s(o).e("icon-inner"))},{default:le(()=>[(b(),he(Et(T.icon)))]),_:1},8,["class"])):s(c)==="success"?(b(),he(s(Ze),{key:1,class:O([s(o).e("icon-inner"),s(o).is("status")])},{default:le(()=>[ee(s(Li))]),_:1},8,["class"])):s(c)==="error"?(b(),he(s(Ze),{key:2,class:O([s(o).e("icon-inner"),s(o).is("status")])},{default:le(()=>[ee(s(Jr))]),_:1},8,["class"])):s(h)?se("v-if",!0):(b(),M("div",{key:3,class:O(s(o).e("icon-inner"))},$e(r.value+1),3))])],2)],2),se(" title & description "),E("div",{class:O(s(o).e("main"))},[E("div",{class:O([s(o).e("title"),s(o).is(s(c))])},[be(T.$slots,"title",{},()=>[Ct($e(T.title),1)])],2),s(h)?(b(),M("div",{key:0,class:O(s(o).e("arrow"))},null,2)):(b(),M("div",{key:1,class:O([s(o).e("description"),s(o).is(s(c))])},[be(T.$slots,"description",{},()=>[Ct($e(T.description),1)])],2))],2)],6))}});var T8=Le(Fle,[["__file","item.vue"]]);const jle=yt(Dle,{Step:T8}),Kle=co(T8),Ule=Pe({modelValue:{type:[Boolean,String,Number],default:!1},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},size:{type:String,validator:t6},width:{type:[String,Number],default:""},inlinePrompt:{type:Boolean,default:!1},inactiveActionIcon:{type:Xt},activeActionIcon:{type:Xt},activeIcon:{type:Xt},inactiveIcon:{type:Xt},activeText:{type:String,default:""},inactiveText:{type:String,default:""},activeValue:{type:[Boolean,String,Number],default:!0},inactiveValue:{type:[Boolean,String,Number],default:!1},name:{type:String,default:""},validateEvent:{type:Boolean,default:!0},beforeChange:{type:ue(Function)},id:String,tabindex:{type:[String,Number]},label:{type:String,default:void 0},...Zo(["ariaLabel"])}),Wle={[St]:e=>Co(e)||ut(e)||st(e),[ro]:e=>Co(e)||ut(e)||st(e),[yr]:e=>Co(e)||ut(e)||st(e)},qle=["onClick"],Yle=["id","aria-checked","aria-disabled","aria-label","name","true-value","false-value","disabled","tabindex","onKeydown"],Gle=["aria-hidden"],Xle=["aria-hidden"],Zle=["aria-hidden"],$8="ElSwitch",Jle=N({...N({name:$8}),props:Ule,emits:Wle,setup(e,{expose:t,emit:o}){const r=e,{formItem:l}=sr(),n=So(),a=ze("switch"),{inputId:i}=bl(r,{formItemContext:l}),c=xr(C(()=>r.loading)),d=D(r.modelValue!==!1),u=D(),p=D(),h=C(()=>[a.b(),a.m(n.value),a.is("disabled",c.value),a.is("checked",g.value)]),v=C(()=>[a.e("label"),a.em("label","left"),a.is("active",!g.value)]),m=C(()=>[a.e("label"),a.em("label","right"),a.is("active",g.value)]),f=C(()=>({width:mo(r.width)}));Se(()=>r.modelValue,()=>{d.value=!0});const _=C(()=>d.value?r.modelValue:!1),g=C(()=>_.value===r.activeValue);[r.activeValue,r.inactiveValue].includes(_.value)||(o(St,r.inactiveValue),o(ro,r.inactiveValue),o(yr,r.inactiveValue)),Se(g,$=>{var T;u.value.checked=$,r.validateEvent&&((T=l==null?void 0:l.validate)==null||T.call(l,"change").catch(R=>void 0))});const y=()=>{const $=g.value?r.inactiveValue:r.activeValue;o(St,$),o(ro,$),o(yr,$),et(()=>{u.value.checked=g.value})},w=()=>{if(c.value)return;const{beforeChange:$}=r;if(!$){y();return}const T=$();[Es(T),Co(T)].includes(!0)||Io($8,"beforeChange must return type `Promise` or `boolean`"),Es(T)?T.then(P=>{P&&y()}).catch(P=>{}):T&&y()},x=()=>{var $,T;(T=($=u.value)==null?void 0:$.focus)==null||T.call($)};return ft(()=>{u.value.checked=g.value}),Lo({from:"label",replacement:"aria-label",version:"2.8.0",scope:"el-switch",ref:"https://element-plus.org/en-US/component/switch.html"},C(()=>!!r.label)),t({focus:x,checked:g}),($,T)=>(b(),M("div",{class:O(s(h)),onClick:ct(w,["prevent"])},[E("input",{id:s(i),ref_key:"input",ref:u,class:O(s(a).e("input")),type:"checkbox",role:"switch","aria-checked":s(g),"aria-disabled":s(c),"aria-label":$.label||$.ariaLabel,name:$.name,"true-value":$.activeValue,"false-value":$.inactiveValue,disabled:s(c),tabindex:$.tabindex,onChange:y,onKeydown:Gt(w,["enter"])},null,42,Yle),!$.inlinePrompt&&($.inactiveIcon||$.inactiveText)?(b(),M("span",{key:0,class:O(s(v))},[$.inactiveIcon?(b(),he(s(Ze),{key:0},{default:le(()=>[(b(),he(Et($.inactiveIcon)))]),_:1})):se("v-if",!0),!$.inactiveIcon&&$.inactiveText?(b(),M("span",{key:1,"aria-hidden":s(g)},$e($.inactiveText),9,Gle)):se("v-if",!0)],2)):se("v-if",!0),E("span",{ref_key:"core",ref:p,class:O(s(a).e("core")),style:Je(s(f))},[$.inlinePrompt?(b(),M("div",{key:0,class:O(s(a).e("inner"))},[$.activeIcon||$.inactiveIcon?(b(),he(s(Ze),{key:0,class:O(s(a).is("icon"))},{default:le(()=>[(b(),he(Et(s(g)?$.activeIcon:$.inactiveIcon)))]),_:1},8,["class"])):$.activeText||$.inactiveText?(b(),M("span",{key:1,class:O(s(a).is("text")),"aria-hidden":!s(g)},$e(s(g)?$.activeText:$.inactiveText),11,Xle)):se("v-if",!0)],2)):se("v-if",!0),E("div",{class:O(s(a).e("action"))},[$.loading?(b(),he(s(Ze),{key:0,class:O(s(a).is("loading"))},{default:le(()=>[ee(s(vn))]),_:1},8,["class"])):s(g)?be($.$slots,"active-action",{key:1},()=>[$.activeActionIcon?(b(),he(s(Ze),{key:0},{default:le(()=>[(b(),he(Et($.activeActionIcon)))]),_:1})):se("v-if",!0)]):s(g)?se("v-if",!0):be($.$slots,"inactive-action",{key:2},()=>[$.inactiveActionIcon?(b(),he(s(Ze),{key:0},{default:le(()=>[(b(),he(Et($.inactiveActionIcon)))]),_:1})):se("v-if",!0)])],2)],6),!$.inlinePrompt&&($.activeIcon||$.activeText)?(b(),M("span",{key:1,class:O(s(m))},[$.activeIcon?(b(),he(s(Ze),{key:0},{default:le(()=>[(b(),he(Et($.activeIcon)))]),_:1})):se("v-if",!0),!$.activeIcon&&$.activeText?(b(),M("span",{key:1,"aria-hidden":!s(g)},$e($.activeText),9,Zle)):se("v-if",!0)],2)):se("v-if",!0)],10,qle))}});var Qle=Le(Jle,[["__file","switch.vue"]]);const ene=yt(Qle),h2=function(e){var t;return(t=e.target)==null?void 0:t.closest("td")},tne=function(e,t,o,r,l){if(!t&&!r&&(!l||Array.isArray(l)&&!l.length))return e;typeof o=="string"?o=o==="descending"?-1:1:o=o&&o<0?-1:1;const n=r?null:function(i,c){return l?(Array.isArray(l)||(l=[l]),l.map(d=>typeof d=="string"?wo(i,d):d(i,c,e))):(t!=="$key"&&xt(i)&&"$value"in i&&(i=i.$value),[xt(i)?wo(i,t):i])},a=function(i,c){if(r)return r(i.value,c.value);for(let d=0,u=i.key.length;dc.key[d])return 1}return 0};return e.map((i,c)=>({value:i,index:c,key:n?n(i,c):null})).sort((i,c)=>{let d=a(i,c);return d||(d=i.index-c.index),d*+o}).map(i=>i.value)},M8=function(e,t){let o=null;return e.columns.forEach(r=>{r.id===t&&(o=r)}),o},one=function(e,t){let o=null;for(let r=0;r{if(!e)throw new Error("Row is required when get row identity");if(typeof t=="string"){if(!t.includes("."))return`${e[t]}`;const o=t.split(".");let r=e;for(const l of o)r=r[l];return`${r}`}else if(typeof t=="function")return t.call(null,e)},ei=function(e,t){const o={};return(e||[]).forEach((r,l)=>{o[tr(r,t)]={row:r,index:l}}),o};function rne(e,t){const o={};let r;for(r in e)o[r]=e[r];for(r in t)if(Pt(t,r)){const l=t[r];typeof l<"u"&&(o[r]=l)}return o}function v2(e){return e===""||e!==void 0&&(e=Number.parseInt(e,10),Number.isNaN(e)&&(e="")),e}function z8(e){return e===""||e!==void 0&&(e=v2(e),Number.isNaN(e)&&(e=80)),e}function lne(e){return typeof e=="number"?e:typeof e=="string"?/^\d+(?:px)?$/.test(e)?Number.parseInt(e,10):e:null}function nne(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,o)=>(...r)=>t(o(...r)))}function Uc(e,t,o){let r=!1;const l=e.indexOf(t),n=l!==-1,a=i=>{i==="add"?e.push(t):e.splice(l,1),r=!0,Ke(t.children)&&t.children.forEach(c=>{Uc(e,c,o??!n)})};return Co(o)?o&&!n?a("add"):!o&&n&&a("remove"):a(n?"remove":"add"),r}function ane(e,t,o="children",r="hasChildren"){const l=a=>!(Array.isArray(a)&&a.length);function n(a,i,c){t(a,i,c),i.forEach(d=>{if(d[r]){t(d,null,c+1);return}const u=d[o];l(u)||n(d,u,c+1)})}e.forEach(a=>{if(a[r]){t(a,null,0);return}const i=a[o];l(i)||n(a,i,0)})}let nl=null;function ine(e,t,o,r){if((nl==null?void 0:nl.trigger)===o)return;nl==null||nl();const l=r==null?void 0:r.refs.tableWrapper,n=l==null?void 0:l.dataset.prefix,a={strategy:"fixed",...e.popperOptions},i=ee(ur,{content:t,virtualTriggering:!0,virtualRef:o,appendTo:l,placement:"top",transition:"none",offset:0,hideAfter:0,...e,popperOptions:a,onHide:()=>{nl==null||nl()}});i.appContext={...r.appContext,...r};const c=document.createElement("div");jn(i,c),i.component.exposed.onOpen();const d=l==null?void 0:l.querySelector(`.${n}-scrollbar__wrap`);nl=()=>{jn(null,c),d==null||d.removeEventListener("scroll",nl),nl=null},nl.trigger=o,d==null||d.addEventListener("scroll",nl)}function I8(e){return e.children?$z(e.children,I8):[e]}function O8(e,t){return e+t.colSpan}const N8=(e,t,o,r)=>{let l=0,n=e;const a=o.states.columns.value;if(r){const c=I8(r[e]);l=a.slice(0,a.indexOf(c[0])).reduce(O8,0),n=l+c.reduce(O8,0)-1}else l=e;let i;switch(t){case"left":n=a.length-o.states.rightFixedLeafColumnsLength.value&&(i="right");break;default:n=a.length-o.states.rightFixedLeafColumnsLength.value&&(i="right")}return i?{direction:i,start:l,after:n}:{}},m2=(e,t,o,r,l,n=0)=>{const a=[],{direction:i,start:c,after:d}=N8(t,o,r,l);if(i){const u=i==="left";a.push(`${e}-fixed-column--${i}`),u&&d+n===r.states.fixedLeafColumnsLength.value-1?a.push("is-last-column"):!u&&c-n===r.states.columns.value.length-r.states.rightFixedLeafColumnsLength.value&&a.push("is-first-column")}return a};function P8(e,t){return e+(t.realWidth===null||Number.isNaN(t.realWidth)?Number(t.width):t.realWidth)}const g2=(e,t,o,r)=>{const{direction:l,start:n=0,after:a=0}=N8(e,t,o,r);if(!l)return;const i={},c=l==="left",d=o.states.columns.value;return c?i.left=d.slice(0,n).reduce(P8,0):i.right=d.slice(a+1).reverse().reduce(P8,0),i},ds=(e,t)=>{e&&(Number.isNaN(e[t])||(e[t]=`${e[t]}px`))};function sne(e){const t=wt(),o=D(!1),r=D([]);return{updateExpandRows:()=>{const c=e.data.value||[],d=e.rowKey.value;if(o.value)r.value=c.slice();else if(d){const u=ei(r.value,d);r.value=c.reduce((p,h)=>{const v=tr(h,d);return u[v]&&p.push(h),p},[])}else r.value=[]},toggleRowExpansion:(c,d)=>{Uc(r.value,c,d)&&t.emit("expand-change",c,r.value.slice())},setExpandRowKeys:c=>{t.store.assertRowKey();const d=e.data.value||[],u=e.rowKey.value,p=ei(d,u);r.value=c.reduce((h,v)=>{const m=p[v];return m&&h.push(m.row),h},[])},isRowExpanded:c=>{const d=e.rowKey.value;return d?!!ei(r.value,d)[tr(c,d)]:r.value.includes(c)},states:{expandRows:r,defaultExpandAll:o}}}function cne(e){const t=wt(),o=D(null),r=D(null),l=d=>{t.store.assertRowKey(),o.value=d,a(d)},n=()=>{o.value=null},a=d=>{const{data:u,rowKey:p}=e;let h=null;p.value&&(h=(s(u)||[]).find(v=>tr(v,p.value)===d)),r.value=h,t.emit("current-change",r.value,null)};return{setCurrentRowKey:l,restoreCurrentRowKey:n,setCurrentRowByKey:a,updateCurrentRow:d=>{const u=r.value;if(d&&d!==u){r.value=d,t.emit("current-change",r.value,u);return}!d&&u&&(r.value=null,t.emit("current-change",null,u))},updateCurrentRowData:()=>{const d=e.rowKey.value,u=e.data.value||[],p=r.value;if(!u.includes(p)&&p){if(d){const h=tr(p,d);a(h)}else r.value=null;r.value===null&&t.emit("current-change",null,p)}else o.value&&(a(o.value),n())},states:{_currentRowKey:o,currentRow:r}}}function une(e){const t=D([]),o=D({}),r=D(16),l=D(!1),n=D({}),a=D("hasChildren"),i=D("children"),c=wt(),d=C(()=>{if(!e.rowKey.value)return{};const g=e.data.value||[];return p(g)}),u=C(()=>{const g=e.rowKey.value,y=Object.keys(n.value),w={};return y.length&&y.forEach(x=>{if(n.value[x].length){const $={children:[]};n.value[x].forEach(T=>{const R=tr(T,g);$.children.push(R),T[a.value]&&!w[R]&&(w[R]={children:[]})}),w[x]=$}}),w}),p=g=>{const y=e.rowKey.value,w={};return ane(g,(x,$,T)=>{const R=tr(x,y);Array.isArray($)?w[R]={children:$.map(P=>tr(P,y)),level:T}:l.value&&(w[R]={children:[],lazy:!0,level:T})},i.value,a.value),w},h=(g=!1,y=(w=>(w=c.store)==null?void 0:w.states.defaultExpandAll.value)())=>{var w;const x=d.value,$=u.value,T=Object.keys(x),R={};if(T.length){const P=s(o),L=[],B=(j,te)=>{if(g)return t.value?y||t.value.includes(te):!!(y||j!=null&&j.expanded);{const J=y||t.value&&t.value.includes(te);return!!(j!=null&&j.expanded||J)}};T.forEach(j=>{const te=P[j],J={...x[j]};if(J.expanded=B(te,j),J.lazy){const{loaded:Z=!1,loading:H=!1}=te||{};J.loaded=!!Z,J.loading=!!H,L.push(j)}R[j]=J});const V=Object.keys($);l.value&&V.length&&L.length&&V.forEach(j=>{const te=P[j],J=$[j].children;if(L.includes(j)){if(R[j].children.length!==0)throw new Error("[ElTable]children must be an empty array.");R[j].children=J}else{const{loaded:Z=!1,loading:H=!1}=te||{};R[j]={lazy:!0,loaded:!!Z,loading:!!H,expanded:B(te,j),children:J,level:""}}})}o.value=R,(w=c.store)==null||w.updateTableScrollY()};Se(()=>t.value,()=>{h(!0)}),Se(()=>d.value,()=>{h()}),Se(()=>u.value,()=>{h()});const v=g=>{t.value=g,h()},m=(g,y)=>{c.store.assertRowKey();const w=e.rowKey.value,x=tr(g,w),$=x&&o.value[x];if(x&&$&&"expanded"in $){const T=$.expanded;y=typeof y>"u"?!$.expanded:y,o.value[x].expanded=y,T!==y&&c.emit("expand-change",g,y),c.store.updateTableScrollY()}},f=g=>{c.store.assertRowKey();const y=e.rowKey.value,w=tr(g,y),x=o.value[w];l.value&&x&&"loaded"in x&&!x.loaded?_(g,w,x):m(g,void 0)},_=(g,y,w)=>{const{load:x}=c.props;x&&!o.value[y].loaded&&(o.value[y].loading=!0,x(g,w,$=>{if(!Array.isArray($))throw new TypeError("[ElTable] data must be an array");o.value[y].loading=!1,o.value[y].loaded=!0,o.value[y].expanded=!0,$.length&&(n.value[y]=$),c.emit("expand-change",g,!0)}))};return{loadData:_,loadOrToggle:f,toggleTreeExpansion:m,updateTreeExpandKeys:v,updateTreeData:h,normalize:p,states:{expandRowKeys:t,treeData:o,indent:r,lazy:l,lazyTreeNodeMap:n,lazyColumnIdentifier:a,childrenColumnName:i}}}const dne=(e,t)=>{const o=t.sortingColumn;return!o||typeof o.sortable=="string"?e:tne(e,t.sortProp,t.sortOrder,o.sortMethod,o.sortBy)},Pp=e=>{const t=[];return e.forEach(o=>{o.children&&o.children.length>0?t.push.apply(t,Pp(o.children)):t.push(o)}),t};function pne(){var e;const t=wt(),{size:o}=Bo((e=t.proxy)==null?void 0:e.$props),r=D(null),l=D([]),n=D([]),a=D(!1),i=D([]),c=D([]),d=D([]),u=D([]),p=D([]),h=D([]),v=D([]),m=D([]),f=[],_=D(0),g=D(0),y=D(0),w=D(!1),x=D([]),$=D(!1),T=D(!1),R=D(null),P=D({}),L=D(null),B=D(null),V=D(null),j=D(null),te=D(null);Se(l,()=>t.state&&F(!1),{deep:!0});const J=()=>{if(!r.value)throw new Error("[ElTable] prop row-key is required")},Z=Y=>{var S;(S=Y.children)==null||S.forEach(A=>{A.fixed=Y.fixed,Z(A)})},H=()=>{i.value.forEach(X=>{Z(X)}),u.value=i.value.filter(X=>X.fixed===!0||X.fixed==="left"),p.value=i.value.filter(X=>X.fixed==="right"),u.value.length>0&&i.value[0]&&i.value[0].type==="selection"&&!i.value[0].fixed&&(i.value[0].fixed=!0,u.value.unshift(i.value[0]));const Y=i.value.filter(X=>!X.fixed);c.value=[].concat(u.value).concat(Y).concat(p.value);const S=Pp(Y),A=Pp(u.value),G=Pp(p.value);_.value=S.length,g.value=A.length,y.value=G.length,d.value=[].concat(A).concat(S).concat(G),a.value=u.value.length>0||p.value.length>0},F=(Y,S=!1)=>{Y&&H(),S?t.state.doLayout():t.state.debouncedUpdateLayout()},K=Y=>x.value.includes(Y),I=()=>{w.value=!1;const Y=x.value;x.value=[],Y.length&&t.emit("selection-change",[])},U=()=>{let Y;if(r.value){Y=[];const S=ei(x.value,r.value),A=ei(l.value,r.value);for(const G in S)Pt(S,G)&&!A[G]&&Y.push(S[G].row)}else Y=x.value.filter(S=>!l.value.includes(S));if(Y.length){const S=x.value.filter(A=>!Y.includes(A));x.value=S,t.emit("selection-change",S.slice())}},oe=()=>(x.value||[]).slice(),ne=(Y,S=void 0,A=!0)=>{if(Uc(x.value,Y,S)){const X=(x.value||[]).slice();A&&t.emit("select",X,Y),t.emit("selection-change",X)}},ce=()=>{var Y,S;const A=T.value?!w.value:!(w.value||x.value.length);w.value=A;let G=!1,X=0;const re=(S=(Y=t==null?void 0:t.store)==null?void 0:Y.states)==null?void 0:S.rowKey.value;l.value.forEach((ge,fe)=>{const Fe=fe+X;R.value?R.value.call(null,ge,Fe)&&Uc(x.value,ge,A)&&(G=!0):Uc(x.value,ge,A)&&(G=!0),X+=de(tr(ge,re))}),G&&t.emit("selection-change",x.value?x.value.slice():[]),t.emit("select-all",(x.value||[]).slice())},Q=()=>{const Y=ei(x.value,r.value);l.value.forEach(S=>{const A=tr(S,r.value),G=Y[A];G&&(x.value[G.index]=S)})},Me=()=>{var Y,S,A;if(((Y=l.value)==null?void 0:Y.length)===0){w.value=!1;return}let G;r.value&&(G=ei(x.value,r.value));const X=function(Fe){return G?!!G[tr(Fe,r.value)]:x.value.includes(Fe)};let re=!0,ge=0,fe=0;for(let Fe=0,at=(l.value||[]).length;Fe{var S;if(!t||!t.store)return 0;const{treeData:A}=t.store.states;let G=0;const X=(S=A.value[Y])==null?void 0:S.children;return X&&(G+=X.length,X.forEach(re=>{G+=de(re)})),G},_e=(Y,S)=>{Array.isArray(Y)||(Y=[Y]);const A={};return Y.forEach(G=>{P.value[G.id]=S,A[G.columnKey||G.id]=S}),A},me=(Y,S,A)=>{B.value&&B.value!==Y&&(B.value.order=null),B.value=Y,V.value=S,j.value=A},Re=()=>{let Y=s(n);Object.keys(P.value).forEach(S=>{const A=P.value[S];if(!A||A.length===0)return;const G=M8({columns:d.value},S);G&&G.filterMethod&&(Y=Y.filter(X=>A.some(re=>G.filterMethod.call(null,re,X,G))))}),L.value=Y},Ce=()=>{l.value=dne(L.value,{sortingColumn:B.value,sortProp:V.value,sortOrder:j.value})},Ee=(Y=void 0)=>{Y&&Y.filter||Re(),Ce()},De=Y=>{const{tableHeaderRef:S}=t.refs;if(!S)return;const A=Object.assign({},S.filterPanels),G=Object.keys(A);if(G.length)if(typeof Y=="string"&&(Y=[Y]),Array.isArray(Y)){const X=Y.map(re=>one({columns:d.value},re));G.forEach(re=>{const ge=X.find(fe=>fe.id===re);ge&&(ge.filteredValue=[])}),t.store.commit("filterChange",{column:X,values:[],silent:!0,multi:!0})}else G.forEach(X=>{const re=d.value.find(ge=>ge.id===X);re&&(re.filteredValue=[])}),P.value={},t.store.commit("filterChange",{column:{},values:[],silent:!0})},ae=()=>{B.value&&(me(null,null,null),t.store.commit("changeSortCondition",{silent:!0}))},{setExpandRowKeys:pe,toggleRowExpansion:ke,updateExpandRows:Oe,states:we,isRowExpanded:Te}=sne({data:l,rowKey:r}),{updateTreeExpandKeys:Ne,toggleTreeExpansion:Ie,updateTreeData:Ae,loadOrToggle:xe,states:We}=une({data:l,rowKey:r}),{updateCurrentRowData:qe,updateCurrentRow:ye,setCurrentRowKey:Ye,states:tt}=cne({data:l,rowKey:r});return{assertRowKey:J,updateColumns:H,scheduleLayout:F,isSelected:K,clearSelection:I,cleanSelection:U,getSelectionRows:oe,toggleRowSelection:ne,_toggleAllSelection:ce,toggleAllSelection:null,updateSelectionByRowKey:Q,updateAllSelected:Me,updateFilters:_e,updateCurrentRow:ye,updateSort:me,execFilter:Re,execSort:Ce,execQuery:Ee,clearFilter:De,clearSort:ae,toggleRowExpansion:ke,setExpandRowKeysAdapter:Y=>{pe(Y),Ne(Y)},setCurrentRowKey:Ye,toggleRowExpansionAdapter:(Y,S)=>{d.value.some(({type:G})=>G==="expand")?ke(Y,S):Ie(Y,S)},isRowExpanded:Te,updateExpandRows:Oe,updateCurrentRowData:qe,loadOrToggle:xe,updateTreeData:Ae,states:{tableSize:o,rowKey:r,data:l,_data:n,isComplex:a,_columns:i,originColumns:c,columns:d,fixedColumns:u,rightFixedColumns:p,leafColumns:h,fixedLeafColumns:v,rightFixedLeafColumns:m,updateOrderFns:f,leafColumnsLength:_,fixedLeafColumnsLength:g,rightFixedLeafColumnsLength:y,isAllSelected:w,selection:x,reserveSelection:$,selectOnIndeterminate:T,selectable:R,filters:P,filteredData:L,sortingColumn:B,sortProp:V,sortOrder:j,hoverRow:te,...we,...We,...tt}}}function b2(e,t){return e.map(o=>{var r;return o.id===t.id?t:((r=o.children)!=null&&r.length&&(o.children=b2(o.children,t)),o)})}function _2(e){e.forEach(t=>{var o,r;t.no=(o=t.getColumnIndex)==null?void 0:o.call(t),(r=t.children)!=null&&r.length&&_2(t.children)}),e.sort((t,o)=>t.no-o.no)}function fne(){const e=wt(),t=pne();return{ns:ze("table"),...t,mutations:{setData(a,i){const c=s(a._data)!==i;a.data.value=i,a._data.value=i,e.store.execQuery(),e.store.updateCurrentRowData(),e.store.updateExpandRows(),e.store.updateTreeData(e.store.states.defaultExpandAll.value),s(a.reserveSelection)?(e.store.assertRowKey(),e.store.updateSelectionByRowKey()):c?e.store.clearSelection():e.store.cleanSelection(),e.store.updateAllSelected(),e.$ready&&e.store.scheduleLayout()},insertColumn(a,i,c,d){const u=s(a._columns);let p=[];c?(c&&!c.children&&(c.children=[]),c.children.push(i),p=b2(u,c)):(u.push(i),p=u),_2(p),a._columns.value=p,a.updateOrderFns.push(d),i.type==="selection"&&(a.selectable.value=i.selectable,a.reserveSelection.value=i.reserveSelection),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},updateColumnOrder(a,i){var c;((c=i.getColumnIndex)==null?void 0:c.call(i))!==i.no&&(_2(a._columns.value),e.$ready&&e.store.updateColumns())},removeColumn(a,i,c,d){const u=s(a._columns)||[];if(c)c.children.splice(c.children.findIndex(h=>h.id===i.id),1),et(()=>{var h;((h=c.children)==null?void 0:h.length)===0&&delete c.children}),a._columns.value=b2(u,c);else{const h=u.indexOf(i);h>-1&&(u.splice(h,1),a._columns.value=u)}const p=a.updateOrderFns.indexOf(d);p>-1&&a.updateOrderFns.splice(p,1),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},sort(a,i){const{prop:c,order:d,init:u}=i;if(c){const p=s(a.columns).find(h=>h.property===c);p&&(p.order=d,e.store.updateSort(p,c,d),e.store.commit("changeSortCondition",{init:u}))}},changeSortCondition(a,i){const{sortingColumn:c,sortProp:d,sortOrder:u}=a,p=s(c),h=s(d),v=s(u);v===null&&(a.sortingColumn.value=null,a.sortProp.value=null);const m={filter:!0};e.store.execQuery(m),(!i||!(i.silent||i.init))&&e.emit("sort-change",{column:p,prop:h,order:v}),e.store.updateTableScrollY()},filterChange(a,i){const{column:c,values:d,silent:u}=i,p=e.store.updateFilters(c,d);e.store.execQuery(),u||e.emit("filter-change",p),e.store.updateTableScrollY()},toggleAllSelection(){e.store.toggleAllSelection()},rowSelectedChanged(a,i){e.store.toggleRowSelection(i),e.store.updateAllSelected()},setHoverRow(a,i){a.hoverRow.value=i},setCurrentRow(a,i){e.store.updateCurrentRow(i)}},commit:function(a,...i){const c=e.store.mutations;if(c[a])c[a].apply(e,[e.store.states].concat(i));else throw new Error(`Action not found: ${a}`)},updateTableScrollY:function(){et(()=>e.layout.updateScrollY.apply(e.layout))}}}const Wc={rowKey:"rowKey",defaultExpandAll:"defaultExpandAll",selectOnIndeterminate:"selectOnIndeterminate",indent:"indent",lazy:"lazy",data:"data","treeProps.hasChildren":{key:"lazyColumnIdentifier",default:"hasChildren"},"treeProps.children":{key:"childrenColumnName",default:"children"}};function hne(e,t){if(!e)throw new Error("Table is required.");const o=fne();return o.toggleAllSelection=Mr(o._toggleAllSelection,10),Object.keys(Wc).forEach(r=>{R8(L8(t,r),r,o)}),vne(o,t),o}function vne(e,t){Object.keys(Wc).forEach(o=>{Se(()=>L8(t,o),r=>{R8(r,o,e)})})}function R8(e,t,o){let r=e,l=Wc[t];typeof Wc[t]=="object"&&(l=l.key,r=r||Wc[t].default),o.states[l].value=r}function L8(e,t){if(t.includes(".")){const o=t.split(".");let r=e;return o.forEach(l=>{r=r[l]}),r}else return e[t]}class mne{constructor(t){this.observers=[],this.table=null,this.store=null,this.columns=[],this.fit=!0,this.showHeader=!0,this.height=D(null),this.scrollX=D(!1),this.scrollY=D(!1),this.bodyWidth=D(null),this.fixedWidth=D(null),this.rightFixedWidth=D(null),this.gutterWidth=0;for(const o in t)Pt(t,o)&&(Zt(this[o])?this[o].value=t[o]:this[o]=t[o]);if(!this.table)throw new Error("Table is required for Table Layout");if(!this.store)throw new Error("Store is required for Table Layout")}updateScrollY(){if(this.height.value===null)return!1;const o=this.table.refs.scrollBarRef;if(this.table.vnode.el&&(o!=null&&o.wrapRef)){let r=!0;const l=this.scrollY.value;return r=o.wrapRef.scrollHeight>o.wrapRef.clientHeight,this.scrollY.value=r,l!==r}return!1}setHeight(t,o="height"){if(!Nt)return;const r=this.table.vnode.el;if(t=lne(t),this.height.value=Number(t),!r&&(t||t===0))return et(()=>this.setHeight(t,o));typeof t=="number"?(r.style[o]=`${t}px`,this.updateElsHeight()):typeof t=="string"&&(r.style[o]=t,this.updateElsHeight())}setMaxHeight(t){this.setHeight(t,"max-height")}getFlattenColumns(){const t=[];return this.table.store.states.columns.value.forEach(r=>{r.isColumnGroup?t.push.apply(t,r.columns):t.push(r)}),t}updateElsHeight(){this.updateScrollY(),this.notifyObservers("scrollable")}headerDisplayNone(t){if(!t)return!0;let o=t;for(;o.tagName!=="DIV";){if(getComputedStyle(o).display==="none")return!0;o=o.parentElement}return!1}updateColumnsWidth(){if(!Nt)return;const t=this.fit,o=this.table.vnode.el.clientWidth;let r=0;const l=this.getFlattenColumns(),n=l.filter(c=>typeof c.width!="number");if(l.forEach(c=>{typeof c.width=="number"&&c.realWidth&&(c.realWidth=null)}),n.length>0&&t){if(l.forEach(c=>{r+=Number(c.width||c.minWidth||80)}),r<=o){this.scrollX.value=!1;const c=o-r;if(n.length===1)n[0].realWidth=Number(n[0].minWidth||80)+c;else{const d=n.reduce((h,v)=>h+Number(v.minWidth||80),0),u=c/d;let p=0;n.forEach((h,v)=>{if(v===0)return;const m=Math.floor(Number(h.minWidth||80)*u);p+=m,h.realWidth=Number(h.minWidth||80)+m}),n[0].realWidth=Number(n[0].minWidth||80)+c-p}}else this.scrollX.value=!0,n.forEach(c=>{c.realWidth=Number(c.minWidth)});this.bodyWidth.value=Math.max(r,o),this.table.state.resizeState.value.width=this.bodyWidth.value}else l.forEach(c=>{!c.width&&!c.minWidth?c.realWidth=80:c.realWidth=Number(c.width||c.minWidth),r+=c.realWidth}),this.scrollX.value=r>o,this.bodyWidth.value=r;const a=this.store.states.fixedColumns.value;if(a.length>0){let c=0;a.forEach(d=>{c+=Number(d.realWidth||d.width)}),this.fixedWidth.value=c}const i=this.store.states.rightFixedColumns.value;if(i.length>0){let c=0;i.forEach(d=>{c+=Number(d.realWidth||d.width)}),this.rightFixedWidth.value=c}this.notifyObservers("columns")}addObserver(t){this.observers.push(t)}removeObserver(t){const o=this.observers.indexOf(t);o!==-1&&this.observers.splice(o,1)}notifyObservers(t){this.observers.forEach(r=>{var l,n;switch(t){case"columns":(l=r.state)==null||l.onColumnsChange(this);break;case"scrollable":(n=r.state)==null||n.onScrollableChange(this);break;default:throw new Error(`Table Layout don't have event ${t}.`)}})}}const{CheckboxGroup:gne}=rl,bne=N({name:"ElTableFilterPanel",components:{ElCheckbox:rl,ElCheckboxGroup:gne,ElScrollbar:wn,ElTooltip:ur,ElIcon:Ze,ArrowDown:Pl,ArrowUp:Ad},directives:{ClickOutside:xn},props:{placement:{type:String,default:"bottom-start"},store:{type:Object},column:{type:Object},upDataColumn:{type:Function}},setup(e){const t=wt(),{t:o}=Rt(),r=ze("table-filter"),l=t==null?void 0:t.parent;l.filterPanels.value[e.column.id]||(l.filterPanels.value[e.column.id]=t);const n=D(!1),a=D(null),i=C(()=>e.column&&e.column.filters),c=C(()=>e.column.filterClassName?`${r.b()} ${e.column.filterClassName}`:r.b()),d=C({get:()=>{var $;return((($=e.column)==null?void 0:$.filteredValue)||[])[0]},set:$=>{u.value&&(typeof $<"u"&&$!==null?u.value.splice(0,1,$):u.value.splice(0,1))}}),u=C({get(){return e.column?e.column.filteredValue||[]:[]},set($){e.column&&e.upDataColumn("filteredValue",$)}}),p=C(()=>e.column?e.column.filterMultiple:!0),h=$=>$.value===d.value,v=()=>{n.value=!1},m=$=>{$.stopPropagation(),n.value=!n.value},f=()=>{n.value=!1},_=()=>{w(u.value),v()},g=()=>{u.value=[],w(u.value),v()},y=$=>{d.value=$,w(typeof $<"u"&&$!==null?u.value:[]),v()},w=$=>{e.store.commit("filterChange",{column:e.column,values:$}),e.store.updateAllSelected()};Se(n,$=>{e.column&&e.upDataColumn("filterOpened",$)},{immediate:!0});const x=C(()=>{var $,T;return(T=($=a.value)==null?void 0:$.popperRef)==null?void 0:T.contentRef});return{tooltipVisible:n,multiple:p,filterClassName:c,filteredValue:u,filterValue:d,filters:i,handleConfirm:_,handleReset:g,handleSelect:y,isActive:h,t:o,ns:r,showFilterPanel:m,hideFilterPanel:f,popperPaneRef:x,tooltip:a}}}),_ne={key:0},wne=["disabled"],yne=["label","onClick"];function xne(e,t,o,r,l,n){const a=nt("el-checkbox"),i=nt("el-checkbox-group"),c=nt("el-scrollbar"),d=nt("arrow-up"),u=nt("arrow-down"),p=nt("el-icon"),h=nt("el-tooltip"),v=Ou("click-outside");return b(),he(h,{ref:"tooltip",visible:e.tooltipVisible,offset:0,placement:e.placement,"show-arrow":!1,"stop-popper-mouse-event":!1,teleported:"",effect:"light",pure:"","popper-class":e.filterClassName,persistent:""},{content:le(()=>[e.multiple?(b(),M("div",_ne,[E("div",{class:O(e.ns.e("content"))},[ee(c,{"wrap-class":e.ns.e("wrap")},{default:le(()=>[ee(i,{modelValue:e.filteredValue,"onUpdate:modelValue":t[0]||(t[0]=m=>e.filteredValue=m),class:O(e.ns.e("checkbox-group"))},{default:le(()=>[(b(!0),M(Qe,null,It(e.filters,m=>(b(),he(a,{key:m.value,value:m.value},{default:le(()=>[Ct($e(m.text),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue","class"])]),_:1},8,["wrap-class"])],2),E("div",{class:O(e.ns.e("bottom"))},[E("button",{class:O({[e.ns.is("disabled")]:e.filteredValue.length===0}),disabled:e.filteredValue.length===0,type:"button",onClick:t[1]||(t[1]=(...m)=>e.handleConfirm&&e.handleConfirm(...m))},$e(e.t("el.table.confirmFilter")),11,wne),E("button",{type:"button",onClick:t[2]||(t[2]=(...m)=>e.handleReset&&e.handleReset(...m))},$e(e.t("el.table.resetFilter")),1)],2)])):(b(),M("ul",{key:1,class:O(e.ns.e("list"))},[E("li",{class:O([e.ns.e("list-item"),{[e.ns.is("active")]:e.filterValue===void 0||e.filterValue===null}]),onClick:t[3]||(t[3]=m=>e.handleSelect(null))},$e(e.t("el.table.clearFilter")),3),(b(!0),M(Qe,null,It(e.filters,m=>(b(),M("li",{key:m.value,class:O([e.ns.e("list-item"),e.ns.is("active",e.isActive(m))]),label:m.value,onClick:f=>e.handleSelect(m.value)},$e(m.text),11,yne))),128))],2))]),default:le(()=>[mt((b(),M("span",{class:O([`${e.ns.namespace.value}-table__column-filter-trigger`,`${e.ns.namespace.value}-none-outline`]),onClick:t[4]||(t[4]=(...m)=>e.showFilterPanel&&e.showFilterPanel(...m))},[ee(p,null,{default:le(()=>[e.column.filterOpened?(b(),he(d,{key:0})):(b(),he(u,{key:1}))]),_:1})],2)),[[v,e.hideFilterPanel,e.popperPaneRef]])]),_:1},8,["visible","placement","popper-class"])}var kne=Le(bne,[["render",xne],["__file","filter-panel.vue"]]);function B8(e){const t=wt();Pu(()=>{o.value.addObserver(t)}),ft(()=>{r(o.value),l(o.value)}),rn(()=>{r(o.value),l(o.value)}),Rn(()=>{o.value.removeObserver(t)});const o=C(()=>{const n=e.layout;if(!n)throw new Error("Can not find table layout.");return n}),r=n=>{var a;const i=((a=e.vnode.el)==null?void 0:a.querySelectorAll("colgroup > col"))||[];if(!i.length)return;const c=n.getFlattenColumns(),d={};c.forEach(u=>{d[u.id]=u});for(let u=0,p=i.length;u{var a,i;const c=((a=e.vnode.el)==null?void 0:a.querySelectorAll("colgroup > col[name=gutter]"))||[];for(let u=0,p=c.length;u{f.stopPropagation()},n=(f,_)=>{!_.filters&&_.sortable?m(f,_,!1):_.filterable&&!_.sortable&&l(f),r==null||r.emit("header-click",_,f)},a=(f,_)=>{r==null||r.emit("header-contextmenu",_,f)},i=D(null),c=D(!1),d=D({}),u=(f,_)=>{if(Nt&&!(_.children&&_.children.length>0)&&i.value&&e.border){c.value=!0;const g=r;t("set-drag-visible",!0);const w=(g==null?void 0:g.vnode.el).getBoundingClientRect().left,x=o.vnode.el.querySelector(`th.${_.id}`),$=x.getBoundingClientRect(),T=$.left-w+30;Zr(x,"noclick"),d.value={startMouseLeft:f.clientX,startLeft:$.right-w,startColumnLeft:$.left-w,tableLeft:w};const R=g==null?void 0:g.refs.resizeProxy;R.style.left=`${d.value.startLeft}px`,document.onselectstart=function(){return!1},document.ondragstart=function(){return!1};const P=B=>{const V=B.clientX-d.value.startMouseLeft,j=d.value.startLeft+V;R.style.left=`${Math.max(T,j)}px`},L=()=>{if(c.value){const{startColumnLeft:B,startLeft:V}=d.value,te=Number.parseInt(R.style.left,10)-B;_.width=_.realWidth=te,g==null||g.emit("header-dragend",_.width,V-B,_,f),requestAnimationFrame(()=>{e.store.scheduleLayout(!1,!0)}),document.body.style.cursor="",c.value=!1,i.value=null,d.value={},t("set-drag-visible",!1)}document.removeEventListener("mousemove",P),document.removeEventListener("mouseup",L),document.onselectstart=null,document.ondragstart=null,setTimeout(()=>{ar(x,"noclick")},0)};document.addEventListener("mousemove",P),document.addEventListener("mouseup",L)}},p=(f,_)=>{if(_.children&&_.children.length>0)return;const g=f.target;if(!Gr(g))return;const y=g==null?void 0:g.closest("th");if(!(!_||!_.resizable)&&!c.value&&e.border){const w=y.getBoundingClientRect(),x=document.body.style;w.width>12&&w.right-f.pageX<8?(x.cursor="col-resize",Xr(y,"is-sortable")&&(y.style.cursor="col-resize"),i.value=_):c.value||(x.cursor="",Xr(y,"is-sortable")&&(y.style.cursor="pointer"),i.value=null)}},h=()=>{Nt&&(document.body.style.cursor="")},v=({order:f,sortOrders:_})=>{if(f==="")return _[0];const g=_.indexOf(f||null);return _[g>_.length-2?0:g+1]},m=(f,_,g)=>{var y;f.stopPropagation();const w=_.order===g?null:g||v(_),x=(y=f.target)==null?void 0:y.closest("th");if(x&&Xr(x,"noclick")){ar(x,"noclick");return}if(!_.sortable)return;const $=e.store.states;let T=$.sortProp.value,R;const P=$.sortingColumn.value;(P!==_||P===_&&P.order===null)&&(P&&(P.order=null),$.sortingColumn.value=_,T=_.property),w?R=_.order=w:R=_.order=null,$.sortProp.value=T,$.sortOrder.value=R,r==null||r.store.commit("changeSortCondition")};return{handleHeaderClick:n,handleHeaderContextMenu:a,handleMouseDown:u,handleMouseMove:p,handleMouseOut:h,handleSortClick:m,handleFilterClick:l}}function Sne(e){const t=Ge(Ul),o=ze("table");return{getHeaderRowStyle:i=>{const c=t==null?void 0:t.props.headerRowStyle;return typeof c=="function"?c.call(null,{rowIndex:i}):c},getHeaderRowClass:i=>{const c=[],d=t==null?void 0:t.props.headerRowClassName;return typeof d=="string"?c.push(d):typeof d=="function"&&c.push(d.call(null,{rowIndex:i})),c.join(" ")},getHeaderCellStyle:(i,c,d,u)=>{var p;let h=(p=t==null?void 0:t.props.headerCellStyle)!=null?p:{};typeof h=="function"&&(h=h.call(null,{rowIndex:i,columnIndex:c,row:d,column:u}));const v=g2(c,u.fixed,e.store,d);return ds(v,"left"),ds(v,"right"),Object.assign({},h,v)},getHeaderCellClass:(i,c,d,u)=>{const p=m2(o.b(),c,u.fixed,e.store,d),h=[u.id,u.order,u.headerAlign,u.className,u.labelClassName,...p];u.children||h.push("is-leaf"),u.sortable&&h.push("is-sortable");const v=t==null?void 0:t.props.headerCellClassName;return typeof v=="string"?h.push(v):typeof v=="function"&&h.push(v.call(null,{rowIndex:i,columnIndex:c,row:d,column:u})),h.push(o.e("cell")),h.filter(m=>!!m).join(" ")}}}const V8=e=>{const t=[];return e.forEach(o=>{o.children?(t.push(o),t.push.apply(t,V8(o.children))):t.push(o)}),t},D8=e=>{let t=1;const o=(n,a)=>{if(a&&(n.level=a.level+1,t{o(c,n),i+=c.colSpan}),n.colSpan=i}else n.colSpan=1};e.forEach(n=>{n.level=1,o(n,void 0)});const r=[];for(let n=0;n{n.children?(n.rowSpan=1,n.children.forEach(a=>a.isSubColumn=!0)):n.rowSpan=t-n.level+1,r[n.level-1].push(n)}),r};function Ene(e){const t=Ge(Ul),o=C(()=>D8(e.store.states.originColumns.value));return{isGroup:C(()=>{const n=o.value.length>1;return n&&t&&(t.state.isGroup.value=!0),n}),toggleAllSelection:n=>{n.stopPropagation(),t==null||t.store.commit("toggleAllSelection")},columnRows:o}}var Tne=N({name:"ElTableHeader",components:{ElCheckbox:rl},props:{fixed:{type:String,default:""},store:{required:!0,type:Object},border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})}},setup(e,{emit:t}){const o=wt(),r=Ge(Ul),l=ze("table"),n=D({}),{onColumnsChange:a,onScrollableChange:i}=B8(r);ft(async()=>{await et(),await et();const{prop:T,order:R}=e.defaultSort;r==null||r.store.commit("sort",{prop:T,order:R,init:!0})});const{handleHeaderClick:c,handleHeaderContextMenu:d,handleMouseDown:u,handleMouseMove:p,handleMouseOut:h,handleSortClick:v,handleFilterClick:m}=Cne(e,t),{getHeaderRowStyle:f,getHeaderRowClass:_,getHeaderCellStyle:g,getHeaderCellClass:y}=Sne(e),{isGroup:w,toggleAllSelection:x,columnRows:$}=Ene(e);return o.state={onColumnsChange:a,onScrollableChange:i},o.filterPanels=n,{ns:l,filterPanels:n,onColumnsChange:a,onScrollableChange:i,columnRows:$,getHeaderRowClass:_,getHeaderRowStyle:f,getHeaderCellClass:y,getHeaderCellStyle:g,handleHeaderClick:c,handleHeaderContextMenu:d,handleMouseDown:u,handleMouseMove:p,handleMouseOut:h,handleSortClick:v,handleFilterClick:m,isGroup:w,toggleAllSelection:x}},render(){const{ns:e,isGroup:t,columnRows:o,getHeaderCellStyle:r,getHeaderCellClass:l,getHeaderRowClass:n,getHeaderRowStyle:a,handleHeaderClick:i,handleHeaderContextMenu:c,handleMouseDown:d,handleMouseMove:u,handleSortClick:p,handleMouseOut:h,store:v,$parent:m}=this;let f=1;return rt("thead",{class:{[e.is("group")]:t}},o.map((_,g)=>rt("tr",{class:n(g),key:g,style:a(g)},_.map((y,w)=>(y.rowSpan>f&&(f=y.rowSpan),rt("th",{class:l(g,w,_,y),colspan:y.colSpan,key:`${y.id}-thead`,rowspan:y.rowSpan,style:r(g,w,_,y),onClick:x=>{x.currentTarget.classList.contains("noclick")||i(x,y)},onContextmenu:x=>c(x,y),onMousedown:x=>d(x,y),onMousemove:x=>u(x,y),onMouseout:h},[rt("div",{class:["cell",y.filteredValue&&y.filteredValue.length>0?"highlight":""]},[y.renderHeader?y.renderHeader({column:y,$index:w,store:v,_self:m}):y.label,y.sortable&&rt("span",{onClick:x=>p(x,y),class:"caret-wrapper"},[rt("i",{onClick:x=>p(x,y,"ascending"),class:"sort-caret ascending"}),rt("i",{onClick:x=>p(x,y,"descending"),class:"sort-caret descending"})]),y.filterable&&rt(kne,{store:v,placement:y.filterPlacement||"bottom-start",column:y,upDataColumn:(x,$)=>{y[x]=$}})])]))))))}});function w2(e,t,o=.01){return e-t>o}function $ne(e){const t=Ge(Ul),o=D(""),r=D(rt("div")),l=(m,f,_)=>{var g;const y=t,w=h2(m);let x;const $=(g=y==null?void 0:y.vnode.el)==null?void 0:g.dataset.prefix;w&&(x=A8({columns:e.store.states.columns.value},w,$),x&&(y==null||y.emit(`cell-${_}`,f,x,w,m))),y==null||y.emit(`row-${_}`,f,x,m)},n=(m,f)=>{l(m,f,"dblclick")},a=(m,f)=>{e.store.commit("setCurrentRow",f),l(m,f,"click")},i=(m,f)=>{l(m,f,"contextmenu")},c=Mr(m=>{e.store.commit("setHoverRow",m)},30),d=Mr(()=>{e.store.commit("setHoverRow",null)},30),u=m=>{const f=window.getComputedStyle(m,null),_=Number.parseInt(f.paddingLeft,10)||0,g=Number.parseInt(f.paddingRight,10)||0,y=Number.parseInt(f.paddingTop,10)||0,w=Number.parseInt(f.paddingBottom,10)||0;return{left:_,right:g,top:y,bottom:w}},p=(m,f,_)=>{let g=f.target.parentNode;for(;m>1&&(g=g==null?void 0:g.nextSibling,!(!g||g.nodeName!=="TR"));)_(g,"hover-row hover-fixed-row"),m--};return{handleDoubleClick:n,handleClick:a,handleContextMenu:i,handleMouseEnter:c,handleMouseLeave:d,handleCellMouseEnter:(m,f,_)=>{var g;const y=t,w=h2(m),x=(g=y==null?void 0:y.vnode.el)==null?void 0:g.dataset.prefix;if(w){const I=A8({columns:e.store.states.columns.value},w,x);w.rowSpan>1&&p(w.rowSpan,m,Zr);const U=y.hoverState={cell:w,column:I,row:f};y==null||y.emit("cell-mouse-enter",U.row,U.column,U.cell,m)}if(!_)return;const $=m.target.querySelector(".cell");if(!(Xr($,`${x}-tooltip`)&&$.childNodes.length))return;const T=document.createRange();T.setStart($,0),T.setEnd($,$.childNodes.length);let{width:R,height:P}=T.getBoundingClientRect();const L=R-Math.floor(R),{width:B,height:V}=$.getBoundingClientRect();L<.001&&(R=Math.floor(R)),P-Math.floor(P)<.001&&(P=Math.floor(P));const{top:te,left:J,right:Z,bottom:H}=u($),F=J+Z,K=te+H;(w2(R+F,B)||w2(P+K,V)||w2($.scrollWidth,B))&&ine(_,w.innerText||w.textContent,w,y)},handleCellMouseLeave:m=>{const f=h2(m);if(!f)return;f.rowSpan>1&&p(f.rowSpan,m,ar);const _=t==null?void 0:t.hoverState;t==null||t.emit("cell-mouse-leave",_==null?void 0:_.row,_==null?void 0:_.column,_==null?void 0:_.cell,m)},tooltipContent:o,tooltipTrigger:r}}function Mne(e){const t=Ge(Ul),o=ze("table");return{getRowStyle:(d,u)=>{const p=t==null?void 0:t.props.rowStyle;return typeof p=="function"?p.call(null,{row:d,rowIndex:u}):p||null},getRowClass:(d,u)=>{const p=[o.e("row")];t!=null&&t.props.highlightCurrentRow&&d===e.store.states.currentRow.value&&p.push("current-row"),e.stripe&&u%2===1&&p.push(o.em("row","striped"));const h=t==null?void 0:t.props.rowClassName;return typeof h=="string"?p.push(h):typeof h=="function"&&p.push(h.call(null,{row:d,rowIndex:u})),p},getCellStyle:(d,u,p,h)=>{const v=t==null?void 0:t.props.cellStyle;let m=v??{};typeof v=="function"&&(m=v.call(null,{rowIndex:d,columnIndex:u,row:p,column:h}));const f=g2(u,e==null?void 0:e.fixed,e.store);return ds(f,"left"),ds(f,"right"),Object.assign({},m,f)},getCellClass:(d,u,p,h,v)=>{const m=m2(o.b(),u,e==null?void 0:e.fixed,e.store,void 0,v),f=[h.id,h.align,h.className,...m],_=t==null?void 0:t.props.cellClassName;return typeof _=="string"?f.push(_):typeof _=="function"&&f.push(_.call(null,{rowIndex:d,columnIndex:u,row:p,column:h})),f.push(o.e("cell")),f.filter(g=>!!g).join(" ")},getSpan:(d,u,p,h)=>{let v=1,m=1;const f=t==null?void 0:t.props.spanMethod;if(typeof f=="function"){const _=f({row:d,column:u,rowIndex:p,columnIndex:h});Array.isArray(_)?(v=_[0],m=_[1]):typeof _=="object"&&(v=_.rowspan,m=_.colspan)}return{rowspan:v,colspan:m}},getColspanRealWidth:(d,u,p)=>{if(u<1)return d[p].realWidth;const h=d.map(({realWidth:v,width:m})=>v||m).slice(p,p+u);return Number(h.reduce((v,m)=>Number(v)+Number(m),-1))}}}function Ane(e){const t=Ge(Ul),o=ze("table"),{handleDoubleClick:r,handleClick:l,handleContextMenu:n,handleMouseEnter:a,handleMouseLeave:i,handleCellMouseEnter:c,handleCellMouseLeave:d,tooltipContent:u,tooltipTrigger:p}=$ne(e),{getRowStyle:h,getRowClass:v,getCellStyle:m,getCellClass:f,getSpan:_,getColspanRealWidth:g}=Mne(e),y=C(()=>e.store.states.columns.value.findIndex(({type:R})=>R==="default")),w=(R,P)=>{const L=t.props.rowKey;return L?tr(R,L):P},x=(R,P,L,B=!1)=>{const{tooltipEffect:V,tooltipOptions:j,store:te}=e,{indent:J,columns:Z}=te.states,H=v(R,P);let F=!0;return L&&(H.push(o.em("row",`level-${L.level}`)),F=L.display),rt("tr",{style:[F?null:{display:"none"},h(R,P)],class:H,key:w(R,P),onDblclick:I=>r(I,R),onClick:I=>l(I,R),onContextmenu:I=>n(I,R),onMouseenter:()=>a(P),onMouseleave:i},Z.value.map((I,U)=>{const{rowspan:oe,colspan:ne}=_(R,I,P,U);if(!oe||!ne)return null;const ce=Object.assign({},I);ce.realWidth=g(Z.value,ne,U);const Q={store:e.store,_self:e.context||t,column:ce,row:R,$index:P,cellIndex:U,expanded:B};U===y.value&&L&&(Q.treeNode={indent:L.level*J.value,level:L.level},typeof L.expanded=="boolean"&&(Q.treeNode.expanded=L.expanded,"loading"in L&&(Q.treeNode.loading=L.loading),"noLazyChildren"in L&&(Q.treeNode.noLazyChildren=L.noLazyChildren)));const Me=`${w(R,P)},${U}`,de=ce.columnKey||ce.rawColumnKey||"",_e=$(U,I,Q),me=I.showOverflowTooltip&&Iz({effect:V},j,I.showOverflowTooltip);return rt("td",{style:m(P,U,R,I),class:f(P,U,R,I,ne-1),key:`${de}${Me}`,rowspan:oe,colspan:ne,onMouseenter:Re=>c(Re,R,me),onMouseleave:d},[_e])}))},$=(R,P,L)=>P.renderCell(L);return{wrappedRowRender:(R,P)=>{const L=e.store,{isRowExpanded:B,assertRowKey:V}=L,{treeData:j,lazyTreeNodeMap:te,childrenColumnName:J,rowKey:Z}=L.states,H=L.states.columns.value;if(H.some(({type:K})=>K==="expand")){const K=B(R),I=x(R,P,void 0,K),U=t.renderExpanded;return K?U?[[I,rt("tr",{key:`expanded-row__${I.key}`},[rt("td",{colspan:H.length,class:`${o.e("cell")} ${o.e("expanded-cell")}`},[U({row:R,$index:P,store:L,expanded:K})])])]]:(console.error("[Element Error]renderExpanded is required."),I):[[I]]}else if(Object.keys(j.value).length){V();const K=tr(R,Z.value);let I=j.value[K],U=null;I&&(U={expanded:I.expanded,level:I.level,display:!0},typeof I.lazy=="boolean"&&(typeof I.loaded=="boolean"&&I.loaded&&(U.noLazyChildren=!(I.children&&I.children.length)),U.loading=I.loading));const oe=[x(R,P,U)];if(I){let ne=0;const ce=(Me,de)=>{Me&&Me.length&&de&&Me.forEach(_e=>{const me={display:de.display&&de.expanded,level:de.level+1,expanded:!1,noLazyChildren:!1,loading:!1},Re=tr(_e,Z.value);if(Re==null)throw new Error("For nested data item, row-key is required.");if(I={...j.value[Re]},I&&(me.expanded=I.expanded,I.level=I.level||me.level,I.display=!!(I.expanded&&me.display),typeof I.lazy=="boolean"&&(typeof I.loaded=="boolean"&&I.loaded&&(me.noLazyChildren=!(I.children&&I.children.length)),me.loading=I.loading)),ne++,oe.push(x(_e,P+ne,me)),I){const Ce=te.value[Re]||_e[J.value];ce(Ce,I)}})};I.display=!0;const Q=te.value[K]||R[J.value];ce(Q,I)}return oe}else return x(R,P,void 0)},tooltipContent:u,tooltipTrigger:p}}var zne=N({name:"ElTableBody",props:{store:{required:!0,type:Object},stripe:Boolean,tooltipEffect:String,tooltipOptions:{type:Object},context:{default:()=>({}),type:Object},rowClassName:[String,Function],rowStyle:[Object,Function],fixed:{type:String,default:""},highlight:Boolean},setup(e){const t=wt(),o=Ge(Ul),r=ze("table"),{wrappedRowRender:l,tooltipContent:n,tooltipTrigger:a}=Ane(e),{onColumnsChange:i,onScrollableChange:c}=B8(o),d=[];return Se(e.store.states.hoverRow,(u,p)=>{var h;const v=t==null?void 0:t.vnode.el,m=Array.from((v==null?void 0:v.children)||[]).filter(g=>g==null?void 0:g.classList.contains(`${r.e("row")}`));let f=u;const _=(h=m[f])==null?void 0:h.childNodes;if(_!=null&&_.length){let g=0;Array.from(_).reduce((w,x,$)=>{var T,R;return((T=_[$])==null?void 0:T.colSpan)>1&&(g=(R=_[$])==null?void 0:R.colSpan),x.nodeName!=="TD"&&g===0&&w.push($),g>0&&g--,w},[]).forEach(w=>{var x;for(f=u;f>0;){const $=(x=m[f-1])==null?void 0:x.childNodes;if($[w]&&$[w].nodeName==="TD"&&$[w].rowSpan>1){Zr($[w],"hover-cell"),d.push($[w]);break}f--}})}else d.forEach(g=>ar(g,"hover-cell")),d.length=0;!e.store.states.isComplex.value||!Nt||Xn(()=>{const g=m[p],y=m[u];g&&!g.classList.contains("hover-fixed-row")&&ar(g,"hover-row"),y&&Zr(y,"hover-row")})}),Rn(()=>{var u;(u=nl)==null||u()}),{ns:r,onColumnsChange:i,onScrollableChange:c,wrappedRowRender:l,tooltipContent:n,tooltipTrigger:a}},render(){const{wrappedRowRender:e,store:t}=this,o=t.states.data.value||[];return rt("tbody",{tabIndex:-1},[o.reduce((r,l)=>r.concat(e(l,r.length)),[])])}});function Ine(){const e=Ge(Ul),t=e==null?void 0:e.store,o=C(()=>t.states.fixedLeafColumnsLength.value),r=C(()=>t.states.rightFixedColumns.value.length),l=C(()=>t.states.columns.value.length),n=C(()=>t.states.fixedColumns.value.length),a=C(()=>t.states.rightFixedColumns.value.length);return{leftFixedLeafCount:o,rightFixedLeafCount:r,columnsCount:l,leftFixedCount:n,rightFixedCount:a,columns:t.states.columns}}function One(e){const{columns:t}=Ine(),o=ze("table");return{getCellClasses:(n,a)=>{const i=n[a],c=[o.e("cell"),i.id,i.align,i.labelClassName,...m2(o.b(),a,i.fixed,e.store)];return i.className&&c.push(i.className),i.children||c.push(o.is("leaf")),c},getCellStyles:(n,a)=>{const i=g2(a,n.fixed,e.store);return ds(i,"left"),ds(i,"right"),i},columns:t}}var Nne=N({name:"ElTableFooter",props:{fixed:{type:String,default:""},store:{required:!0,type:Object},summaryMethod:Function,sumText:String,border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})}},setup(e){const{getCellClasses:t,getCellStyles:o,columns:r}=One(e);return{ns:ze("table"),getCellClasses:t,getCellStyles:o,columns:r}},render(){const{columns:e,getCellStyles:t,getCellClasses:o,summaryMethod:r,sumText:l}=this,n=this.store.states.data.value;let a=[];return r?a=r({columns:e,data:n}):e.forEach((i,c)=>{if(c===0){a[c]=l;return}const d=n.map(v=>Number(v[i.property])),u=[];let p=!0;d.forEach(v=>{if(!Number.isNaN(+v)){p=!1;const m=`${v}`.split(".")[1];u.push(m?m.length:0)}});const h=Math.max.apply(null,u);p?a[c]="":a[c]=d.reduce((v,m)=>{const f=Number(m);return Number.isNaN(+f)?v:Number.parseFloat((v+m).toFixed(Math.min(h,20)))},0)}),rt(rt("tfoot",[rt("tr",{},[...e.map((i,c)=>rt("td",{key:c,colspan:i.colSpan,rowspan:i.rowSpan,class:o(e,c),style:t(i,c)},[rt("div",{class:["cell",i.labelClassName]},[a[c]])]))])]))}});function Pne(e){return{setCurrentRow:u=>{e.commit("setCurrentRow",u)},getSelectionRows:()=>e.getSelectionRows(),toggleRowSelection:(u,p)=>{e.toggleRowSelection(u,p,!1),e.updateAllSelected()},clearSelection:()=>{e.clearSelection()},clearFilter:u=>{e.clearFilter(u)},toggleAllSelection:()=>{e.commit("toggleAllSelection")},toggleRowExpansion:(u,p)=>{e.toggleRowExpansionAdapter(u,p)},clearSort:()=>{e.clearSort()},sort:(u,p)=>{e.commit("sort",{prop:u,order:p})}}}function Rne(e,t,o,r){const l=D(!1),n=D(null),a=D(!1),i=I=>{a.value=I},c=D({width:null,height:null,headerHeight:null}),d=D(!1),u={display:"inline-block",verticalAlign:"middle"},p=D(),h=D(0),v=D(0),m=D(0),f=D(0),_=D(0);Go(()=>{t.setHeight(e.height)}),Go(()=>{t.setMaxHeight(e.maxHeight)}),Se(()=>[e.currentRowKey,o.states.rowKey],([I,U])=>{!s(U)||!s(I)||o.setCurrentRowKey(`${I}`)},{immediate:!0}),Se(()=>e.data,I=>{r.store.commit("setData",I)},{immediate:!0,deep:!0}),Go(()=>{e.expandRowKeys&&o.setExpandRowKeysAdapter(e.expandRowKeys)});const g=()=>{r.store.commit("setHoverRow",null),r.hoverState&&(r.hoverState=null)},y=(I,U)=>{const{pixelX:oe,pixelY:ne}=U;Math.abs(oe)>=Math.abs(ne)&&(r.refs.bodyWrapper.scrollLeft+=U.pixelX/5)},w=C(()=>e.height||e.maxHeight||o.states.fixedColumns.value.length>0||o.states.rightFixedColumns.value.length>0),x=C(()=>({width:t.bodyWidth.value?`${t.bodyWidth.value}px`:""})),$=()=>{w.value&&t.updateElsHeight(),t.updateColumnsWidth(),requestAnimationFrame(L)};ft(async()=>{await et(),o.updateColumns(),B(),requestAnimationFrame($);const I=r.vnode.el,U=r.refs.headerWrapper;e.flexible&&I&&I.parentElement&&(I.parentElement.style.minWidth="0"),c.value={width:p.value=I.offsetWidth,height:I.offsetHeight,headerHeight:e.showHeader&&U?U.offsetHeight:null},o.states.columns.value.forEach(oe=>{oe.filteredValue&&oe.filteredValue.length&&r.store.commit("filterChange",{column:oe,values:oe.filteredValue,silent:!0})}),r.$ready=!0});const T=(I,U)=>{if(!I)return;const oe=Array.from(I.classList).filter(ne=>!ne.startsWith("is-scrolling-"));oe.push(t.scrollX.value?U:"is-scrolling-none"),I.className=oe.join(" ")},R=I=>{const{tableWrapper:U}=r.refs;T(U,I)},P=I=>{const{tableWrapper:U}=r.refs;return!!(U&&U.classList.contains(I))},L=function(){if(!r.refs.scrollBarRef)return;if(!t.scrollX.value){const de="is-scrolling-none";P(de)||R(de);return}const I=r.refs.scrollBarRef.wrapRef;if(!I)return;const{scrollLeft:U,offsetWidth:oe,scrollWidth:ne}=I,{headerWrapper:ce,footerWrapper:Q}=r.refs;ce&&(ce.scrollLeft=U),Q&&(Q.scrollLeft=U);const Me=ne-oe-1;U>=Me?R("is-scrolling-right"):R(U===0?"is-scrolling-left":"is-scrolling-middle")},B=()=>{r.refs.scrollBarRef&&(r.refs.scrollBarRef.wrapRef&&oo(r.refs.scrollBarRef.wrapRef,"scroll",L,{passive:!0}),e.fit?so(r.vnode.el,V):oo(window,"resize",V),so(r.refs.bodyWrapper,()=>{var I,U;V(),(U=(I=r.refs)==null?void 0:I.scrollBarRef)==null||U.update()}))},V=()=>{var I,U,oe,ne;const ce=r.vnode.el;if(!r.$ready||!ce)return;let Q=!1;const{width:Me,height:de,headerHeight:_e}=c.value,me=p.value=ce.offsetWidth;Me!==me&&(Q=!0);const Re=ce.offsetHeight;(e.height||w.value)&&de!==Re&&(Q=!0);const Ce=e.tableLayout==="fixed"?r.refs.headerWrapper:(I=r.refs.tableHeaderRef)==null?void 0:I.$el;e.showHeader&&(Ce==null?void 0:Ce.offsetHeight)!==_e&&(Q=!0),h.value=((U=r.refs.tableWrapper)==null?void 0:U.scrollHeight)||0,m.value=(Ce==null?void 0:Ce.scrollHeight)||0,f.value=((oe=r.refs.footerWrapper)==null?void 0:oe.offsetHeight)||0,_.value=((ne=r.refs.appendWrapper)==null?void 0:ne.offsetHeight)||0,v.value=h.value-m.value-f.value-_.value,Q&&(c.value={width:me,height:Re,headerHeight:e.showHeader&&(Ce==null?void 0:Ce.offsetHeight)||0},$())},j=So(),te=C(()=>{const{bodyWidth:I,scrollY:U,gutterWidth:oe}=t;return I.value?`${I.value-(U.value?oe:0)}px`:""}),J=C(()=>e.maxHeight?"fixed":e.tableLayout),Z=C(()=>{if(e.data&&e.data.length)return null;let I="100%";e.height&&v.value&&(I=`${v.value}px`);const U=p.value;return{width:U?`${U}px`:"",height:I}}),H=C(()=>e.height?{height:Number.isNaN(Number(e.height))?e.height:`${e.height}px`}:e.maxHeight?{maxHeight:Number.isNaN(Number(e.maxHeight))?e.maxHeight:`${e.maxHeight}px`}:{}),F=C(()=>e.height?{height:"100%"}:e.maxHeight?Number.isNaN(Number(e.maxHeight))?{maxHeight:`calc(${e.maxHeight} - ${m.value+f.value}px)`}:{maxHeight:`${e.maxHeight-m.value-f.value}px`}:{});return{isHidden:l,renderExpanded:n,setDragVisible:i,isGroup:d,handleMouseLeave:g,handleHeaderFooterMousewheel:y,tableSize:j,emptyBlockStyle:Z,handleFixedMousewheel:(I,U)=>{const oe=r.refs.bodyWrapper;if(Math.abs(U.spinY)>0){const ne=oe.scrollTop;U.pixelY<0&&ne!==0&&I.preventDefault(),U.pixelY>0&&oe.scrollHeight-oe.clientHeight>ne&&I.preventDefault(),oe.scrollTop+=Math.ceil(U.pixelY/5)}else oe.scrollLeft+=Math.ceil(U.pixelX/5)},resizeProxyVisible:a,bodyWidth:te,resizeState:c,doLayout:$,tableBodyStyles:x,tableLayout:J,scrollbarViewStyle:u,tableInnerStyle:H,scrollbarStyle:F}}function Lne(e){const t=D(),o=()=>{const l=e.vnode.el.querySelector(".hidden-columns"),n={childList:!0,subtree:!0},a=e.store.states.updateOrderFns;t.value=new MutationObserver(()=>{a.forEach(i=>i())}),t.value.observe(l,n)};ft(()=>{o()}),Rn(()=>{var r;(r=t.value)==null||r.disconnect()})}var Bne={data:{type:Array,default:()=>[]},size:Oo,width:[String,Number],height:[String,Number],maxHeight:[String,Number],fit:{type:Boolean,default:!0},stripe:Boolean,border:Boolean,rowKey:[String,Function],showHeader:{type:Boolean,default:!0},showSummary:Boolean,sumText:String,summaryMethod:Function,rowClassName:[String,Function],rowStyle:[Object,Function],cellClassName:[String,Function],cellStyle:[Object,Function],headerRowClassName:[String,Function],headerRowStyle:[Object,Function],headerCellClassName:[String,Function],headerCellStyle:[Object,Function],highlightCurrentRow:Boolean,currentRowKey:[String,Number],emptyText:String,expandRowKeys:Array,defaultExpandAll:Boolean,defaultSort:Object,tooltipEffect:String,tooltipOptions:Object,spanMethod:Function,selectOnIndeterminate:{type:Boolean,default:!0},indent:{type:Number,default:16},treeProps:{type:Object,default:()=>({hasChildren:"hasChildren",children:"children"})},lazy:Boolean,load:Function,style:{type:Object,default:()=>({})},className:{type:String,default:""},tableLayout:{type:String,default:"fixed"},scrollbarAlwaysOn:Boolean,flexible:Boolean,showOverflowTooltip:[Boolean,Object]};function H8(e){const t=e.tableLayout==="auto";let o=e.columns||[];t&&o.every(l=>l.width===void 0)&&(o=[]);const r=l=>{const n={key:`${e.tableLayout}_${l.id}`,style:{},name:void 0};return t?n.style={width:`${l.width}px`}:n.name=l.id,n};return rt("colgroup",{},o.map(l=>rt("col",r(l))))}H8.props=["columns","tableLayout"];const Vne=()=>{const e=D(),t=(n,a)=>{const i=e.value;i&&i.scrollTo(n,a)},o=(n,a)=>{const i=e.value;i&&st(a)&&["Top","Left"].includes(n)&&i[`setScroll${n}`](a)};return{scrollBarRef:e,scrollTo:t,setScrollTop:n=>o("Top",n),setScrollLeft:n=>o("Left",n)}};let Dne=1;const Hne=N({name:"ElTable",directives:{Mousewheel:lY},components:{TableHeader:Tne,TableBody:zne,TableFooter:Nne,ElScrollbar:wn,hColgroup:H8},props:Bne,emits:["select","select-all","selection-change","cell-mouse-enter","cell-mouse-leave","cell-contextmenu","cell-click","cell-dblclick","row-click","row-contextmenu","row-dblclick","header-click","header-contextmenu","sort-change","filter-change","current-change","header-dragend","expand-change"],setup(e){const{t}=Rt(),o=ze("table"),r=wt();zt(Ul,r);const l=hne(r,e);r.store=l;const n=new mne({store:r.store,table:r,fit:e.fit,showHeader:e.showHeader});r.layout=n;const a=C(()=>(l.states.data.value||[]).length===0),{setCurrentRow:i,getSelectionRows:c,toggleRowSelection:d,clearSelection:u,clearFilter:p,toggleAllSelection:h,toggleRowExpansion:v,clearSort:m,sort:f}=Pne(l),{isHidden:_,renderExpanded:g,setDragVisible:y,isGroup:w,handleMouseLeave:x,handleHeaderFooterMousewheel:$,tableSize:T,emptyBlockStyle:R,handleFixedMousewheel:P,resizeProxyVisible:L,bodyWidth:B,resizeState:V,doLayout:j,tableBodyStyles:te,tableLayout:J,scrollbarViewStyle:Z,tableInnerStyle:H,scrollbarStyle:F}=Rne(e,n,l,r),{scrollBarRef:K,scrollTo:I,setScrollLeft:U,setScrollTop:oe}=Vne(),ne=Mr(j,50),ce=`${o.namespace.value}-table_${Dne++}`;r.tableId=ce,r.state={isGroup:w,resizeState:V,doLayout:j,debouncedUpdateLayout:ne};const Q=C(()=>e.sumText||t("el.table.sumText")),Me=C(()=>e.emptyText||t("el.table.emptyText")),de=C(()=>D8(l.states.originColumns.value)[0]);return Lne(r),{ns:o,layout:n,store:l,columns:de,handleHeaderFooterMousewheel:$,handleMouseLeave:x,tableId:ce,tableSize:T,isHidden:_,isEmpty:a,renderExpanded:g,resizeProxyVisible:L,resizeState:V,isGroup:w,bodyWidth:B,tableBodyStyles:te,emptyBlockStyle:R,debouncedUpdateLayout:ne,handleFixedMousewheel:P,setCurrentRow:i,getSelectionRows:c,toggleRowSelection:d,clearSelection:u,clearFilter:p,toggleAllSelection:h,toggleRowExpansion:v,clearSort:m,doLayout:j,sort:f,t,setDragVisible:y,context:r,computedSumText:Q,computedEmptyText:Me,tableLayout:J,scrollbarViewStyle:Z,tableInnerStyle:H,scrollbarStyle:F,scrollBarRef:K,scrollTo:I,setScrollLeft:U,setScrollTop:oe}}}),Fne=["data-prefix"],jne={ref:"hiddenColumns",class:"hidden-columns"};function Kne(e,t,o,r,l,n){const a=nt("hColgroup"),i=nt("table-header"),c=nt("table-body"),d=nt("table-footer"),u=nt("el-scrollbar"),p=Ou("mousewheel");return b(),M("div",{ref:"tableWrapper",class:O([{[e.ns.m("fit")]:e.fit,[e.ns.m("striped")]:e.stripe,[e.ns.m("border")]:e.border||e.isGroup,[e.ns.m("hidden")]:e.isHidden,[e.ns.m("group")]:e.isGroup,[e.ns.m("fluid-height")]:e.maxHeight,[e.ns.m("scrollable-x")]:e.layout.scrollX.value,[e.ns.m("scrollable-y")]:e.layout.scrollY.value,[e.ns.m("enable-row-hover")]:!e.store.states.isComplex.value,[e.ns.m("enable-row-transition")]:(e.store.states.data.value||[]).length!==0&&(e.store.states.data.value||[]).length<100,"has-footer":e.showSummary},e.ns.m(e.tableSize),e.className,e.ns.b(),e.ns.m(`layout-${e.tableLayout}`)]),style:Je(e.style),"data-prefix":e.ns.namespace.value,onMouseleave:t[0]||(t[0]=(...h)=>e.handleMouseLeave&&e.handleMouseLeave(...h))},[E("div",{class:O(e.ns.e("inner-wrapper")),style:Je(e.tableInnerStyle)},[E("div",jne,[be(e.$slots,"default")],512),e.showHeader&&e.tableLayout==="fixed"?mt((b(),M("div",{key:0,ref:"headerWrapper",class:O(e.ns.e("header-wrapper"))},[E("table",{ref:"tableHeader",class:O(e.ns.e("header")),style:Je(e.tableBodyStyles),border:"0",cellpadding:"0",cellspacing:"0"},[ee(a,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),ee(i,{ref:"tableHeaderRef",border:e.border,"default-sort":e.defaultSort,store:e.store,onSetDragVisible:e.setDragVisible},null,8,["border","default-sort","store","onSetDragVisible"])],6)],2)),[[p,e.handleHeaderFooterMousewheel]]):se("v-if",!0),E("div",{ref:"bodyWrapper",class:O(e.ns.e("body-wrapper"))},[ee(u,{ref:"scrollBarRef","view-style":e.scrollbarViewStyle,"wrap-style":e.scrollbarStyle,always:e.scrollbarAlwaysOn},{default:le(()=>[E("table",{ref:"tableBody",class:O(e.ns.e("body")),cellspacing:"0",cellpadding:"0",border:"0",style:Je({width:e.bodyWidth,tableLayout:e.tableLayout})},[ee(a,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),e.showHeader&&e.tableLayout==="auto"?(b(),he(i,{key:0,ref:"tableHeaderRef",class:O(e.ns.e("body-header")),border:e.border,"default-sort":e.defaultSort,store:e.store,onSetDragVisible:e.setDragVisible},null,8,["class","border","default-sort","store","onSetDragVisible"])):se("v-if",!0),ee(c,{context:e.context,highlight:e.highlightCurrentRow,"row-class-name":e.rowClassName,"tooltip-effect":e.tooltipEffect,"tooltip-options":e.tooltipOptions,"row-style":e.rowStyle,store:e.store,stripe:e.stripe},null,8,["context","highlight","row-class-name","tooltip-effect","tooltip-options","row-style","store","stripe"]),e.showSummary&&e.tableLayout==="auto"?(b(),he(d,{key:1,class:O(e.ns.e("body-footer")),border:e.border,"default-sort":e.defaultSort,store:e.store,"sum-text":e.computedSumText,"summary-method":e.summaryMethod},null,8,["class","border","default-sort","store","sum-text","summary-method"])):se("v-if",!0)],6),e.isEmpty?(b(),M("div",{key:0,ref:"emptyBlock",style:Je(e.emptyBlockStyle),class:O(e.ns.e("empty-block"))},[E("span",{class:O(e.ns.e("empty-text"))},[be(e.$slots,"empty",{},()=>[Ct($e(e.computedEmptyText),1)])],2)],6)):se("v-if",!0),e.$slots.append?(b(),M("div",{key:1,ref:"appendWrapper",class:O(e.ns.e("append-wrapper"))},[be(e.$slots,"append")],2)):se("v-if",!0)]),_:3},8,["view-style","wrap-style","always"])],2),e.showSummary&&e.tableLayout==="fixed"?mt((b(),M("div",{key:1,ref:"footerWrapper",class:O(e.ns.e("footer-wrapper"))},[E("table",{class:O(e.ns.e("footer")),cellspacing:"0",cellpadding:"0",border:"0",style:Je(e.tableBodyStyles)},[ee(a,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),ee(d,{border:e.border,"default-sort":e.defaultSort,store:e.store,"sum-text":e.computedSumText,"summary-method":e.summaryMethod},null,8,["border","default-sort","store","sum-text","summary-method"])],6)],2)),[[Lt,!e.isEmpty],[p,e.handleHeaderFooterMousewheel]]):se("v-if",!0),e.border||e.isGroup?(b(),M("div",{key:2,class:O(e.ns.e("border-left-patch"))},null,2)):se("v-if",!0)],6),mt(E("div",{ref:"resizeProxy",class:O(e.ns.e("column-resize-proxy"))},null,2),[[Lt,e.resizeProxyVisible]])],46,Fne)}var Une=Le(Hne,[["render",Kne],["__file","table.vue"]]);const Wne={selection:"table-column--selection",expand:"table__expand-column"},qne={default:{order:""},selection:{width:48,minWidth:48,realWidth:48,order:""},expand:{width:48,minWidth:48,realWidth:48,order:""},index:{width:48,minWidth:48,realWidth:48,order:""}},Yne=e=>Wne[e]||"",Gne={selection:{renderHeader({store:e,column:t}){function o(){return e.states.data.value&&e.states.data.value.length===0}return rt(rl,{disabled:o(),size:e.states.tableSize.value,indeterminate:e.states.selection.value.length>0&&!e.states.isAllSelected.value,"onUpdate:modelValue":e.toggleAllSelection,modelValue:e.states.isAllSelected.value,ariaLabel:t.label})},renderCell({row:e,column:t,store:o,$index:r}){return rt(rl,{disabled:t.selectable?!t.selectable.call(null,e,r):!1,size:o.states.tableSize.value,onChange:()=>{o.commit("rowSelectedChanged",e)},onClick:l=>l.stopPropagation(),modelValue:o.isSelected(e),ariaLabel:t.label})},sortable:!1,resizable:!1},index:{renderHeader({column:e}){return e.label||"#"},renderCell({column:e,$index:t}){let o=t+1;const r=e.index;return typeof r=="number"?o=t+r:typeof r=="function"&&(o=r(t)),rt("div",{},[o])},sortable:!1},expand:{renderHeader({column:e}){return e.label||""},renderCell({row:e,store:t,expanded:o}){const{ns:r}=t,l=[r.e("expand-icon")];return o&&l.push(r.em("expand-icon","expanded")),rt("div",{class:l,onClick:function(a){a.stopPropagation(),t.toggleRowExpansion(e)}},{default:()=>[rt(Ze,null,{default:()=>[rt(ir)]})]})},sortable:!1,resizable:!1}};function Xne({row:e,column:t,$index:o}){var r;const l=t.property,n=l&&Td(e,l).value;return t&&t.formatter?t.formatter(e,t,n,o):((r=n==null?void 0:n.toString)==null?void 0:r.call(n))||""}function Zne({row:e,treeNode:t,store:o},r=!1){const{ns:l}=o;if(!t)return r?[rt("span",{class:l.e("placeholder")})]:null;const n=[],a=function(i){i.stopPropagation(),!t.loading&&o.loadOrToggle(e)};if(t.indent&&n.push(rt("span",{class:l.e("indent"),style:{"padding-left":`${t.indent}px`}})),typeof t.expanded=="boolean"&&!t.noLazyChildren){const i=[l.e("expand-icon"),t.expanded?l.em("expand-icon","expanded"):""];let c=ir;t.loading&&(c=vn),n.push(rt("div",{class:i,onClick:a},{default:()=>[rt(Ze,{class:{[l.is("loading")]:t.loading}},{default:()=>[rt(c)]})]}))}else n.push(rt("span",{class:l.e("placeholder")}));return n}function F8(e,t){return e.reduce((o,r)=>(o[r]=r,o),t)}function Jne(e,t){const o=wt();return{registerComplexWatchers:()=>{const n=["fixed"],a={realWidth:"width",realMinWidth:"minWidth"},i=F8(n,a);Object.keys(i).forEach(c=>{const d=a[c];Pt(t,d)&&Se(()=>t[d],u=>{let p=u;d==="width"&&c==="realWidth"&&(p=v2(u)),d==="minWidth"&&c==="realMinWidth"&&(p=z8(u)),o.columnConfig.value[d]=p,o.columnConfig.value[c]=p;const h=d==="fixed";e.value.store.scheduleLayout(h)})})},registerNormalWatchers:()=>{const n=["label","filters","filterMultiple","filteredValue","sortable","index","formatter","className","labelClassName","filterClassName","showOverflowTooltip"],a={property:"prop",align:"realAlign",headerAlign:"realHeaderAlign"},i=F8(n,a);Object.keys(i).forEach(c=>{const d=a[c];Pt(t,d)&&Se(()=>t[d],u=>{o.columnConfig.value[c]=u})})}}}function Qne(e,t,o){const r=wt(),l=D(""),n=D(!1),a=D(),i=D(),c=ze("table");Go(()=>{a.value=e.align?`is-${e.align}`:null,a.value}),Go(()=>{i.value=e.headerAlign?`is-${e.headerAlign}`:a.value,i.value});const d=C(()=>{let x=r.vnode.vParent||r.parent;for(;x&&!x.tableId&&!x.columnId;)x=x.vnode.vParent||x.parent;return x}),u=C(()=>{const{store:x}=r.parent;if(!x)return!1;const{treeData:$}=x.states,T=$.value;return T&&Object.keys(T).length>0}),p=D(v2(e.width)),h=D(z8(e.minWidth)),v=x=>(p.value&&(x.width=p.value),h.value&&(x.minWidth=h.value),!p.value&&h.value&&(x.width=void 0),x.minWidth||(x.minWidth=80),x.realWidth=Number(x.width===void 0?x.minWidth:x.width),x),m=x=>{const $=x.type,T=Gne[$]||{};Object.keys(T).forEach(P=>{const L=T[P];P!=="className"&&L!==void 0&&(x[P]=L)});const R=Yne($);if(R){const P=`${s(c.namespace)}-${R}`;x.className=x.className?`${x.className} ${P}`:P}return x},f=x=>{Array.isArray(x)?x.forEach(T=>$(T)):$(x);function $(T){var R;((R=T==null?void 0:T.type)==null?void 0:R.name)==="ElTableColumn"&&(T.vParent=r)}};return{columnId:l,realAlign:a,isSubColumn:n,realHeaderAlign:i,columnOrTableParent:d,setColumnWidth:v,setColumnForcedProps:m,setColumnRenders:x=>{e.renderHeader||x.type!=="selection"&&(x.renderHeader=T=>(r.columnConfig.value.label,be(t,"header",T,()=>[x.label])));let $=x.renderCell;return x.type==="expand"?(x.renderCell=T=>rt("div",{class:"cell"},[$(T)]),o.value.renderExpanded=T=>t.default?t.default(T):t.default):($=$||Xne,x.renderCell=T=>{let R=null;if(t.default){const te=t.default(T);R=te.some(J=>J.type!==Jo)?te:$(T)}else R=$(T);const{columns:P}=o.value.store.states,L=P.value.findIndex(te=>te.type==="default"),B=u.value&&T.cellIndex===L,V=Zne(T,B),j={class:"cell",style:{}};return x.showOverflowTooltip&&(j.class=`${j.class} ${s(c.namespace)}-tooltip`,j.style={width:`${(T.column.realWidth||Number(T.column.width))-1}px`}),f(R),rt("div",j,[V,R])}),x},getPropsData:(...x)=>x.reduce(($,T)=>(Array.isArray(T)&&T.forEach(R=>{$[R]=e[R]}),$),{}),getColumnElIndex:(x,$)=>Array.prototype.indexOf.call(x,$),updateColumnOrder:()=>{o.value.store.commit("updateColumnOrder",r.columnConfig.value)}}}var eae={type:{type:String,default:"default"},label:String,className:String,labelClassName:String,property:String,prop:String,width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},renderHeader:Function,sortable:{type:[Boolean,String],default:!1},sortMethod:Function,sortBy:[String,Function,Array],resizable:{type:Boolean,default:!0},columnKey:String,align:String,headerAlign:String,showOverflowTooltip:{type:[Boolean,Object],default:void 0},fixed:[Boolean,String],formatter:Function,selectable:Function,reserveSelection:Boolean,filterMethod:Function,filteredValue:Array,filters:Array,filterPlacement:String,filterMultiple:{type:Boolean,default:!0},filterClassName:String,index:[Number,Function],sortOrders:{type:Array,default:()=>["ascending","descending",null],validator:e=>e.every(t=>["ascending","descending",null].includes(t))}};let tae=1;var j8=N({name:"ElTableColumn",components:{ElCheckbox:rl},props:eae,setup(e,{slots:t}){const o=wt(),r=D({}),l=C(()=>{let w=o.parent;for(;w&&!w.tableId;)w=w.parent;return w}),{registerNormalWatchers:n,registerComplexWatchers:a}=Jne(l,e),{columnId:i,isSubColumn:c,realHeaderAlign:d,columnOrTableParent:u,setColumnWidth:p,setColumnForcedProps:h,setColumnRenders:v,getPropsData:m,getColumnElIndex:f,realAlign:_,updateColumnOrder:g}=Qne(e,t,l),y=u.value;i.value=`${y.tableId||y.columnId}_column_${tae++}`,Pu(()=>{c.value=l.value!==y;const w=e.type||"default",x=e.sortable===""?!0:e.sortable,$=ko(e.showOverflowTooltip)?y.props.showOverflowTooltip:e.showOverflowTooltip,T={...qne[w],id:i.value,type:w,property:e.prop||e.property,align:_,headerAlign:d,showOverflowTooltip:$,filterable:e.filters||e.filterMethod,filteredValue:[],filterPlacement:"",filterClassName:"",isColumnGroup:!1,isSubColumn:!1,filterOpened:!1,sortable:x,index:e.index,rawColumnKey:o.vnode.key};let V=m(["columnKey","label","className","labelClassName","type","renderHeader","formatter","fixed","resizable"],["sortMethod","sortBy","sortOrders"],["selectable","reserveSelection"],["filterMethod","filters","filterMultiple","filterOpened","filteredValue","filterPlacement","filterClassName"]);V=rne(T,V),V=nne(v,p,h)(V),r.value=V,n(),a()}),ft(()=>{var w;const x=u.value,$=c.value?x.vnode.el.children:(w=x.refs.hiddenColumns)==null?void 0:w.children,T=()=>f($||[],o.vnode.el);r.value.getColumnIndex=T,T()>-1&&l.value.store.commit("insertColumn",r.value,c.value?x.columnConfig.value:null,g)}),to(()=>{r.value.getColumnIndex()>-1&&l.value.store.commit("removeColumn",r.value,c.value?y.columnConfig.value:null,g)}),o.columnId=i.value,o.columnConfig=r},render(){var e,t,o;try{const r=(t=(e=this.$slots).default)==null?void 0:t.call(e,{row:{},column:{},$index:-1}),l=[];if(Array.isArray(r))for(const a of r)((o=a.type)==null?void 0:o.name)==="ElTableColumn"||a.shapeFlag&2?l.push(a):a.type===Qe&&Array.isArray(a.children)&&a.children.forEach(i=>{(i==null?void 0:i.patchFlag)!==1024&&!ut(i==null?void 0:i.children)&&l.push(i)});return rt("div",l)}catch{return rt("div",[])}}});const oae=yt(Une,{TableColumn:j8}),rae=co(j8);var qc=(e=>(e.ASC="asc",e.DESC="desc",e))(qc||{}),Yc=(e=>(e.CENTER="center",e.RIGHT="right",e))(Yc||{}),K8=(e=>(e.LEFT="left",e.RIGHT="right",e))(K8||{});const y2={asc:"desc",desc:"asc"},Gc=Symbol("placeholder"),lae=(e,t,o)=>{var r;const l={flexGrow:0,flexShrink:0,...o?{}:{flexGrow:e.flexGrow||0,flexShrink:e.flexShrink||1}};o||(l.flexShrink=1);const n={...(r=e.style)!=null?r:{},...l,flexBasis:"auto",width:e.width};return t||(e.maxWidth&&(n.maxWidth=e.maxWidth),e.minWidth&&(n.minWidth=e.minWidth)),n};function nae(e,t,o){const r=C(()=>s(t).filter(f=>!f.hidden)),l=C(()=>s(r).filter(f=>f.fixed==="left"||f.fixed===!0)),n=C(()=>s(r).filter(f=>f.fixed==="right")),a=C(()=>s(r).filter(f=>!f.fixed)),i=C(()=>{const f=[];return s(l).forEach(_=>{f.push({..._,placeholderSign:Gc})}),s(a).forEach(_=>{f.push(_)}),s(n).forEach(_=>{f.push({..._,placeholderSign:Gc})}),f}),c=C(()=>s(l).length||s(n).length),d=C(()=>s(t).reduce((_,g)=>(_[g.key]=lae(g,s(o),e.fixed),_),{})),u=C(()=>s(r).reduce((f,_)=>f+_.width,0)),p=f=>s(t).find(_=>_.key===f),h=f=>s(d)[f],v=(f,_)=>{f.width=_};function m(f){var _;const{key:g}=f.currentTarget.dataset;if(!g)return;const{sortState:y,sortBy:w}=e;let x=qc.ASC;xt(y)?x=y2[y[g]]:x=y2[w.order],(_=e.onColumnSort)==null||_.call(e,{column:p(g),key:g,order:x})}return{columns:t,columnsStyles:d,columnsTotalWidth:u,fixedColumnsOnLeft:l,fixedColumnsOnRight:n,hasFixedColumns:c,mainColumns:i,normalColumns:a,visibleColumns:r,getColumn:p,getColumnStyle:h,updateColumnWidth:v,onColumnSorted:m}}const aae=(e,{mainTableRef:t,leftTableRef:o,rightTableRef:r,onMaybeEndReached:l})=>{const n=D({scrollLeft:0,scrollTop:0});function a(v){var m,f,_;const{scrollTop:g}=v;(m=t.value)==null||m.scrollTo(v),(f=o.value)==null||f.scrollToTop(g),(_=r.value)==null||_.scrollToTop(g)}function i(v){n.value=v,a(v)}function c(v){n.value.scrollTop=v,a(s(n))}function d(v){var m,f;n.value.scrollLeft=v,(f=(m=t.value)==null?void 0:m.scrollTo)==null||f.call(m,s(n))}function u(v){var m;i(v),(m=e.onScroll)==null||m.call(e,v)}function p({scrollTop:v}){const{scrollTop:m}=s(n);v!==m&&c(v)}function h(v,m="auto"){var f;(f=t.value)==null||f.scrollToRow(v,m)}return Se(()=>s(n).scrollTop,(v,m)=>{v>m&&l()}),{scrollPos:n,scrollTo:i,scrollToLeft:d,scrollToTop:c,scrollToRow:h,onScroll:u,onVerticalScroll:p}},iae=(e,{mainTableRef:t,leftTableRef:o,rightTableRef:r,tableInstance:l,ns:n,isScrolling:a})=>{const i=wt(),{emit:c}=i,d=lo(!1),u=D(e.defaultExpandedRowKeys||[]),p=D(-1),h=lo(null),v=D({}),m=D({}),f=lo({}),_=lo({}),g=lo({}),y=C(()=>st(e.estimatedRowHeight));function w(B){var V;(V=e.onRowsRendered)==null||V.call(e,B),B.rowCacheEnd>s(p)&&(p.value=B.rowCacheEnd)}function x({hovered:B,rowKey:V}){if(a.value)return;l.vnode.el.querySelectorAll(`[rowkey="${String(V)}"]`).forEach(J=>{B?J.classList.add(n.is("hovered")):J.classList.remove(n.is("hovered"))})}function $({expanded:B,rowData:V,rowIndex:j,rowKey:te}){var J,Z;const H=[...s(u)],F=H.indexOf(te);B?F===-1&&H.push(te):F>-1&&H.splice(F,1),u.value=H,c("update:expandedRowKeys",H),(J=e.onRowExpand)==null||J.call(e,{expanded:B,rowData:V,rowIndex:j,rowKey:te}),(Z=e.onExpandedRowsChange)==null||Z.call(e,H)}const T=Mr(()=>{var B,V,j,te;d.value=!0,v.value={...s(v),...s(m)},R(s(h),!1),m.value={},h.value=null,(B=t.value)==null||B.forceUpdate(),(V=o.value)==null||V.forceUpdate(),(j=r.value)==null||j.forceUpdate(),(te=i.proxy)==null||te.$forceUpdate(),d.value=!1},0);function R(B,V=!1){s(y)&&[t,o,r].forEach(j=>{const te=s(j);te&&te.resetAfterRowIndex(B,V)})}function P(B,V,j){const te=s(h);(te===null||te>j)&&(h.value=j),m.value[B]=V}function L({rowKey:B,height:V,rowIndex:j},te){te?te===K8.RIGHT?g.value[B]=V:f.value[B]=V:_.value[B]=V;const J=Math.max(...[f,g,_].map(Z=>Z.value[B]||0));s(v)[B]!==J&&(P(B,J,j),T())}return{expandedRowKeys:u,lastRenderedRowIndex:p,isDynamic:y,isResetting:d,rowHeights:v,resetAfterIndex:R,onRowExpanded:$,onRowHovered:x,onRowsRendered:w,onRowHeightChange:L}},sae=(e,{expandedRowKeys:t,lastRenderedRowIndex:o,resetAfterIndex:r})=>{const l=D({}),n=C(()=>{const i={},{data:c,rowKey:d}=e,u=s(t);if(!u||!u.length)return c;const p=[],h=new Set;u.forEach(m=>h.add(m));let v=c.slice();for(v.forEach(m=>i[m[d]]=0);v.length>0;){const m=v.shift();p.push(m),h.has(m[d])&&Array.isArray(m.children)&&m.children.length>0&&(v=[...m.children,...v],m.children.forEach(f=>i[f[d]]=i[m[d]]+1))}return l.value=i,p}),a=C(()=>{const{data:i,expandColumnKey:c}=e;return c?s(n):i});return Se(a,(i,c)=>{i!==c&&(o.value=-1,r(0,!0))}),{data:a,depthMap:l}},cae=(e,t)=>e+t,Rp=e=>Ke(e)?e.reduce(cae,0):e,ti=(e,t,o={})=>it(e)?e(t):e??o,sa=e=>(["width","maxWidth","minWidth","height"].forEach(t=>{e[t]=mo(e[t])}),e),U8=e=>io(e)?t=>rt(e,t):e,uae=(e,{columnsTotalWidth:t,data:o,fixedColumnsOnLeft:r,fixedColumnsOnRight:l})=>{const n=C(()=>{const{fixed:w,width:x,vScrollbarSize:$}=e,T=x-$;return w?Math.max(Math.round(s(t)),T):T}),a=C(()=>s(n)+e.vScrollbarSize),i=C(()=>{const{height:w=0,maxHeight:x=0,footerHeight:$,hScrollbarSize:T}=e;if(x>0){const R=s(m),P=s(c),B=s(v)+R+P+T;return Math.min(B,x-$)}return w-$}),c=C(()=>{const{rowHeight:w,estimatedRowHeight:x}=e,$=s(o);return st(x)?$.length*x:$.length*w}),d=C(()=>{const{maxHeight:w}=e,x=s(i);if(st(w)&&w>0)return x;const $=s(c)+s(v)+s(m);return Math.min(x,$)}),u=w=>w.width,p=C(()=>Rp(s(r).map(u))),h=C(()=>Rp(s(l).map(u))),v=C(()=>Rp(e.headerHeight)),m=C(()=>{var w;return(((w=e.fixedData)==null?void 0:w.length)||0)*e.rowHeight}),f=C(()=>s(i)-s(v)-s(m)),_=C(()=>{const{style:w={},height:x,width:$}=e;return sa({...w,height:x,width:$})}),g=C(()=>sa({height:e.footerHeight})),y=C(()=>({top:mo(s(v)),bottom:mo(e.footerHeight),width:mo(e.width)}));return{bodyWidth:n,fixedTableHeight:d,mainTableHeight:i,leftTableWidth:p,rightTableWidth:h,headerWidth:a,rowsHeight:c,windowHeight:f,footerHeight:g,emptyStyle:y,rootStyle:_,headerHeight:v}},dae=e=>{const t=D(),o=D(0),r=D(0);let l;return ft(()=>{l=so(t,([n])=>{const{width:a,height:i}=n.contentRect,{paddingLeft:c,paddingRight:d,paddingTop:u,paddingBottom:p}=getComputedStyle(n.target),h=Number.parseInt(c)||0,v=Number.parseInt(d)||0,m=Number.parseInt(u)||0,f=Number.parseInt(p)||0;o.value=a-h-v,r.value=i-m-f}).stop}),to(()=>{l==null||l()}),Se([o,r],([n,a])=>{var i;(i=e.onResize)==null||i.call(e,{width:n,height:a})}),{sizer:t,width:o,height:r}};function pae(e){const t=D(),o=D(),r=D(),{columns:l,columnsStyles:n,columnsTotalWidth:a,fixedColumnsOnLeft:i,fixedColumnsOnRight:c,hasFixedColumns:d,mainColumns:u,onColumnSorted:p}=nae(e,Yt(e,"columns"),Yt(e,"fixed")),{scrollTo:h,scrollToLeft:v,scrollToTop:m,scrollToRow:f,onScroll:_,onVerticalScroll:g,scrollPos:y}=aae(e,{mainTableRef:t,leftTableRef:o,rightTableRef:r,onMaybeEndReached:ae}),w=ze("table-v2"),x=wt(),$=lo(!1),{expandedRowKeys:T,lastRenderedRowIndex:R,isDynamic:P,isResetting:L,rowHeights:B,resetAfterIndex:V,onRowExpanded:j,onRowHeightChange:te,onRowHovered:J,onRowsRendered:Z}=iae(e,{mainTableRef:t,leftTableRef:o,rightTableRef:r,tableInstance:x,ns:w,isScrolling:$}),{data:H,depthMap:F}=sae(e,{expandedRowKeys:T,lastRenderedRowIndex:R,resetAfterIndex:V}),{bodyWidth:K,fixedTableHeight:I,mainTableHeight:U,leftTableWidth:oe,rightTableWidth:ne,headerWidth:ce,rowsHeight:Q,windowHeight:Me,footerHeight:de,emptyStyle:_e,rootStyle:me,headerHeight:Re}=uae(e,{columnsTotalWidth:a,data:H,fixedColumnsOnLeft:i,fixedColumnsOnRight:c}),Ce=D(),Ee=C(()=>{const pe=s(H).length===0;return Ke(e.fixedData)?e.fixedData.length===0&&pe:pe});function De(pe){const{estimatedRowHeight:ke,rowHeight:Oe,rowKey:we}=e;return ke?s(B)[s(H)[pe][we]]||ke:Oe}function ae(){const{onEndReached:pe}=e;if(!pe)return;const{scrollTop:ke}=s(y),Oe=s(Q),we=s(Me),Te=Oe-(ke+we)+e.hScrollbarSize;s(R)>=0&&Oe===ke+s(U)-s(Re)&&pe(Te)}return Se(()=>e.expandedRowKeys,pe=>T.value=pe,{deep:!0}),{columns:l,containerRef:Ce,mainTableRef:t,leftTableRef:o,rightTableRef:r,isDynamic:P,isResetting:L,isScrolling:$,hasFixedColumns:d,columnsStyles:n,columnsTotalWidth:a,data:H,expandedRowKeys:T,depthMap:F,fixedColumnsOnLeft:i,fixedColumnsOnRight:c,mainColumns:u,bodyWidth:K,emptyStyle:_e,rootStyle:me,headerWidth:ce,footerHeight:de,mainTableHeight:U,fixedTableHeight:I,leftTableWidth:oe,rightTableWidth:ne,showEmpty:Ee,getRowHeight:De,onColumnSorted:p,onRowHovered:J,onRowExpanded:j,onRowsRendered:Z,onRowHeightChange:te,scrollTo:h,scrollToLeft:v,scrollToTop:m,scrollToRow:f,onScroll:_,onVerticalScroll:g}}const x2=Symbol("tableV2"),W8=String,Xc={type:ue(Array),required:!0},k2={type:ue(Array)},q8={...k2,required:!0},fae=String,Y8={type:ue(Array),default:()=>uo([])},oi={type:Number,required:!0},G8={type:ue([String,Number,Symbol]),default:"id"},X8={type:ue(Object)},ri=Pe({class:String,columns:Xc,columnsStyles:{type:ue(Object),required:!0},depth:Number,expandColumnKey:fae,estimatedRowHeight:{...Ja.estimatedRowHeight,default:void 0},isScrolling:Boolean,onRowExpand:{type:ue(Function)},onRowHover:{type:ue(Function)},onRowHeightChange:{type:ue(Function)},rowData:{type:ue(Object),required:!0},rowEventHandlers:{type:ue(Object)},rowIndex:{type:Number,required:!0},rowKey:G8,style:{type:ue(Object)}}),C2={type:Number,required:!0},S2=Pe({class:String,columns:Xc,fixedHeaderData:{type:ue(Array)},headerData:{type:ue(Array),required:!0},headerHeight:{type:ue([Number,Array]),default:50},rowWidth:C2,rowHeight:{type:Number,default:50},height:C2,width:C2}),Lp=Pe({columns:Xc,data:q8,fixedData:k2,estimatedRowHeight:ri.estimatedRowHeight,width:oi,height:oi,headerWidth:oi,headerHeight:S2.headerHeight,bodyWidth:oi,rowHeight:oi,cache:o8.cache,useIsScrolling:Boolean,scrollbarAlwaysOn:Ja.scrollbarAlwaysOn,scrollbarStartGap:Ja.scrollbarStartGap,scrollbarEndGap:Ja.scrollbarEndGap,class:W8,style:X8,containerStyle:X8,getRowHeight:{type:ue(Function),required:!0},rowKey:ri.rowKey,onRowsRendered:{type:ue(Function)},onScroll:{type:ue(Function)}}),hae=Pe({cache:Lp.cache,estimatedRowHeight:ri.estimatedRowHeight,rowKey:G8,headerClass:{type:ue([String,Function])},headerProps:{type:ue([Object,Function])},headerCellProps:{type:ue([Object,Function])},headerHeight:S2.headerHeight,footerHeight:{type:Number,default:0},rowClass:{type:ue([String,Function])},rowProps:{type:ue([Object,Function])},rowHeight:{type:Number,default:50},cellProps:{type:ue([Object,Function])},columns:Xc,data:q8,dataGetter:{type:ue(Function)},fixedData:k2,expandColumnKey:ri.expandColumnKey,expandedRowKeys:Y8,defaultExpandedRowKeys:Y8,class:W8,fixed:Boolean,style:{type:ue(Object)},width:oi,height:oi,maxHeight:Number,useIsScrolling:Boolean,indentSize:{type:Number,default:12},iconSize:{type:Number,default:12},hScrollbarSize:Ja.hScrollbarSize,vScrollbarSize:Ja.vScrollbarSize,scrollbarAlwaysOn:n8.alwaysOn,sortBy:{type:ue(Object),default:()=>({})},sortState:{type:ue(Object),default:void 0},onColumnSort:{type:ue(Function)},onExpandedRowsChange:{type:ue(Function)},onEndReached:{type:ue(Function)},onRowExpand:ri.onRowExpand,onScroll:Lp.onScroll,onRowsRendered:Lp.onRowsRendered,rowEventHandlers:ri.rowEventHandlers}),E2=(e,{slots:t})=>{var o;const{cellData:r,style:l}=e,n=((o=r==null?void 0:r.toString)==null?void 0:o.call(r))||"",a=be(t,"default",e,()=>[n]);return ee("div",{class:e.class,title:n,style:l},[a])};E2.displayName="ElTableV2Cell",E2.inheritAttrs=!1;const T2=(e,{slots:t})=>be(t,"default",e,()=>{var o,r;return[ee("div",{class:e.class,title:(o=e.column)==null?void 0:o.title},[(r=e.column)==null?void 0:r.title])]});T2.displayName="ElTableV2HeaderCell",T2.inheritAttrs=!1;const vae=Pe({class:String,columns:Xc,columnsStyles:{type:ue(Object),required:!0},headerIndex:Number,style:{type:ue(Object)}}),mae=N({name:"ElTableV2HeaderRow",props:vae,setup(e,{slots:t}){return()=>{const{columns:o,columnsStyles:r,headerIndex:l,style:n}=e;let a=o.map((i,c)=>t.cell({columns:o,column:i,columnIndex:c,headerIndex:l,style:r[i.key]}));return t.header&&(a=t.header({cells:a.map(i=>Ke(i)&&i.length===1?i[0]:i),columns:o,headerIndex:l})),ee("div",{class:e.class,style:n,role:"row"},[a])}}}),gae=N({name:"ElTableV2Header",props:S2,setup(e,{slots:t,expose:o}){const r=ze("table-v2"),l=D(),n=C(()=>sa({width:e.width,height:e.height})),a=C(()=>sa({width:e.rowWidth,height:e.height})),i=C(()=>Gn(s(e.headerHeight))),c=p=>{const h=s(l);et(()=>{h!=null&&h.scroll&&h.scroll({left:p})})},d=()=>{const p=r.e("fixed-header-row"),{columns:h,fixedHeaderData:v,rowHeight:m}=e;return v==null?void 0:v.map((f,_)=>{var g;const y=sa({height:m,width:"100%"});return(g=t.fixed)==null?void 0:g.call(t,{class:p,columns:h,rowData:f,rowIndex:-(_+1),style:y})})},u=()=>{const p=r.e("dynamic-header-row"),{columns:h}=e;return s(i).map((v,m)=>{var f;const _=sa({width:"100%",height:v});return(f=t.dynamic)==null?void 0:f.call(t,{class:p,columns:h,headerIndex:m,style:_})})};return o({scrollToLeft:c}),()=>{if(!(e.height<=0))return ee("div",{ref:l,class:e.class,style:s(n),role:"rowgroup"},[ee("div",{style:s(a),class:r.e("header")},[u(),d()])])}}}),bae=e=>{const{isScrolling:t}=Ge(x2),o=D(!1),r=D(),l=C(()=>st(e.estimatedRowHeight)&&e.rowIndex>=0),n=(c=!1)=>{const d=s(r);if(!d)return;const{columns:u,onRowHeightChange:p,rowKey:h,rowIndex:v,style:m}=e,{height:f}=d.getBoundingClientRect();o.value=!0,et(()=>{if(c||f!==Number.parseInt(m.height)){const _=u[0],g=(_==null?void 0:_.placeholderSign)===Gc;p==null||p({rowKey:h,height:f,rowIndex:v},_&&!g&&_.fixed)}})},a=C(()=>{const{rowData:c,rowIndex:d,rowKey:u,onRowHover:p}=e,h=e.rowEventHandlers||{},v={};return Object.entries(h).forEach(([m,f])=>{it(f)&&(v[m]=_=>{f({event:_,rowData:c,rowIndex:d,rowKey:u})})}),p&&[{name:"onMouseleave",hovered:!1},{name:"onMouseenter",hovered:!0}].forEach(({name:m,hovered:f})=>{const _=v[m];v[m]=g=>{p({event:g,hovered:f,rowData:c,rowIndex:d,rowKey:u}),_==null||_(g)}}),v}),i=c=>{const{onRowExpand:d,rowData:u,rowIndex:p,rowKey:h}=e;d==null||d({expanded:c,rowData:u,rowIndex:p,rowKey:h})};return ft(()=>{s(l)&&n(!0)}),{isScrolling:t,measurable:l,measured:o,rowRef:r,eventHandlers:a,onExpand:i}},_ae=N({name:"ElTableV2TableRow",props:ri,setup(e,{expose:t,slots:o,attrs:r}){const{eventHandlers:l,isScrolling:n,measurable:a,measured:i,rowRef:c,onExpand:d}=bae(e);return t({onExpand:d}),()=>{const{columns:u,columnsStyles:p,expandColumnKey:h,depth:v,rowData:m,rowIndex:f,style:_}=e;let g=u.map((y,w)=>{const x=Ke(m.children)&&m.children.length>0&&y.key===h;return o.cell({column:y,columns:u,columnIndex:w,depth:v,style:p[y.key],rowData:m,rowIndex:f,isScrolling:s(n),expandIconProps:x?{rowData:m,rowIndex:f,onExpand:d}:void 0})});if(o.row&&(g=o.row({cells:g.map(y=>Ke(y)&&y.length===1?y[0]:y),style:_,columns:u,depth:v,rowData:m,rowIndex:f,isScrolling:s(n)})),s(a)){const{height:y,...w}=_||{},x=s(i);return ee("div",Mt({ref:c,class:e.class,style:x?_:w,role:"row"},r,s(l)),[g])}return ee("div",Mt(r,{ref:c,class:e.class,style:_,role:"row"},s(l)),[g])}}}),wae=e=>{const{sortOrder:t}=e;return ee(Ze,{size:14,class:e.class},{default:()=>[t===qc.ASC?ee(Y3,null,null):ee(q3,null,null)]})},yae=e=>{const{expanded:t,expandable:o,onExpand:r,style:l,size:n}=e,a={onClick:o?()=>r(!t):void 0,class:e.class};return ee(Ze,Mt(a,{size:n,style:l}),{default:()=>[ee(ir,null,null)]})},xae="ElTableV2Grid",kae=e=>{const t=D(),o=D(),r=C(()=>{const{data:f,rowHeight:_,estimatedRowHeight:g}=e;if(!g)return f.length*_}),l=C(()=>{const{fixedData:f,rowHeight:_}=e;return((f==null?void 0:f.length)||0)*_}),n=C(()=>Rp(e.headerHeight)),a=C(()=>{const{height:f}=e;return Math.max(0,f-s(n)-s(l))}),i=C(()=>s(n)+s(l)>0),c=({data:f,rowIndex:_})=>f[_][e.rowKey];function d({rowCacheStart:f,rowCacheEnd:_,rowVisibleStart:g,rowVisibleEnd:y}){var w;(w=e.onRowsRendered)==null||w.call(e,{rowCacheStart:f,rowCacheEnd:_,rowVisibleStart:g,rowVisibleEnd:y})}function u(f,_){var g;(g=o.value)==null||g.resetAfterRowIndex(f,_)}function p(f,_){const g=s(t),y=s(o);xt(f)?(g==null||g.scrollToLeft(f.scrollLeft),y==null||y.scrollTo(f)):(g==null||g.scrollToLeft(f),y==null||y.scrollTo({scrollLeft:f,scrollTop:_}))}function h(f){var _;(_=s(o))==null||_.scrollTo({scrollTop:f})}function v(f,_){var g;(g=s(o))==null||g.scrollToItem(f,1,_)}function m(){var f,_;(f=s(o))==null||f.$forceUpdate(),(_=s(t))==null||_.$forceUpdate()}return{bodyRef:o,forceUpdate:m,fixedRowHeight:l,gridHeight:a,hasHeader:i,headerHeight:n,headerRef:t,totalHeight:r,itemKey:c,onItemRendered:d,resetAfterRowIndex:u,scrollTo:p,scrollToTop:h,scrollToRow:v}},$2=N({name:xae,props:Lp,setup(e,{slots:t,expose:o}){const{ns:r}=Ge(x2),{bodyRef:l,fixedRowHeight:n,gridHeight:a,hasHeader:i,headerRef:c,headerHeight:d,totalHeight:u,forceUpdate:p,itemKey:h,onItemRendered:v,resetAfterRowIndex:m,scrollTo:f,scrollToTop:_,scrollToRow:g}=kae(e);o({forceUpdate:p,totalHeight:u,scrollTo:f,scrollToTop:_,scrollToRow:g,resetAfterRowIndex:m});const y=()=>e.bodyWidth;return()=>{const{cache:w,columns:x,data:$,fixedData:T,useIsScrolling:R,scrollbarAlwaysOn:P,scrollbarEndGap:L,scrollbarStartGap:B,style:V,rowHeight:j,bodyWidth:te,estimatedRowHeight:J,headerWidth:Z,height:H,width:F,getRowHeight:K,onScroll:I}=e,U=st(J),oe=U?xre:bre,ne=s(d);return ee("div",{role:"table",class:[r.e("table"),e.class],style:V},[ee(oe,{ref:l,data:$,useIsScrolling:R,itemKey:h,columnCache:0,columnWidth:U?y:te,totalColumn:1,totalRow:$.length,rowCache:w,rowHeight:U?K:j,width:F,height:s(a),class:r.e("body"),role:"rowgroup",scrollbarStartGap:B,scrollbarEndGap:L,scrollbarAlwaysOn:P,onScroll:I,onItemRendered:v,perfMode:!1},{default:ce=>{var Q;const Me=$[ce.rowIndex];return(Q=t.row)==null?void 0:Q.call(t,{...ce,columns:x,rowData:Me})}}),s(i)&&ee(gae,{ref:c,class:r.e("header-wrapper"),columns:x,headerData:$,headerHeight:e.headerHeight,fixedHeaderData:T,rowWidth:Z,rowHeight:j,width:F,height:Math.min(ne+s(n),H)},{dynamic:t.header,fixed:t.row})])}}});function Cae(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!io(e)}const Sae=(e,{slots:t})=>{const{mainTableRef:o,...r}=e;return ee($2,Mt({ref:o},r),Cae(t)?t:{default:()=>[t]})};function Eae(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!io(e)}const Tae=(e,{slots:t})=>{if(!e.columns.length)return;const{leftTableRef:o,...r}=e;return ee($2,Mt({ref:o},r),Eae(t)?t:{default:()=>[t]})};function $ae(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!io(e)}const Mae=(e,{slots:t})=>{if(!e.columns.length)return;const{rightTableRef:o,...r}=e;return ee($2,Mt({ref:o},r),$ae(t)?t:{default:()=>[t]})};function Aae(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!io(e)}const zae=(e,{slots:t})=>{const{columns:o,columnsStyles:r,depthMap:l,expandColumnKey:n,expandedRowKeys:a,estimatedRowHeight:i,hasFixedColumns:c,rowData:d,rowIndex:u,style:p,isScrolling:h,rowProps:v,rowClass:m,rowKey:f,rowEventHandlers:_,ns:g,onRowHovered:y,onRowExpanded:w}=e,x=ti(m,{columns:o,rowData:d,rowIndex:u},""),$=ti(v,{columns:o,rowData:d,rowIndex:u}),T=d[f],R=l[T]||0,P=!!n,L=u<0,B=[g.e("row"),x,{[g.e(`row-depth-${R}`)]:P&&u>=0,[g.is("expanded")]:P&&a.includes(T),[g.is("fixed")]:!R&&L,[g.is("customized")]:!!t.row}],V=c?y:void 0,j={...$,columns:o,columnsStyles:r,class:B,depth:R,expandColumnKey:n,estimatedRowHeight:L?void 0:i,isScrolling:h,rowIndex:u,rowData:d,rowKey:T,rowEventHandlers:_,style:p};return ee(_ae,Mt(j,{onRowExpand:w,onMouseenter:Z=>{V==null||V({hovered:!0,rowKey:T,event:Z,rowData:d,rowIndex:u})},onMouseleave:Z=>{V==null||V({hovered:!1,rowKey:T,event:Z,rowData:d,rowIndex:u})},rowkey:T}),Aae(t)?t:{default:()=>[t]})},M2=({columns:e,column:t,columnIndex:o,depth:r,expandIconProps:l,isScrolling:n,rowData:a,rowIndex:i,style:c,expandedRowKeys:d,ns:u,cellProps:p,expandColumnKey:h,indentSize:v,iconSize:m,rowKey:f},{slots:_})=>{const g=sa(c);if(t.placeholderSign===Gc)return ee("div",{class:u.em("row-cell","placeholder"),style:g},null);const{cellRenderer:y,dataKey:w,dataGetter:x}=t,$=it(x)?x({columns:e,column:t,columnIndex:o,rowData:a,rowIndex:i}):wo(a,w??""),T=ti(p,{cellData:$,columns:e,column:t,columnIndex:o,rowIndex:i,rowData:a}),R={class:u.e("cell-text"),columns:e,column:t,columnIndex:o,cellData:$,isScrolling:n,rowData:a,rowIndex:i},P=U8(y),L=P?P(R):be(_,"default",R,()=>[ee(E2,R,null)]),B=[u.e("row-cell"),t.class,t.align===Yc.CENTER&&u.is("align-center"),t.align===Yc.RIGHT&&u.is("align-right")],V=i>=0&&h&&t.key===h,j=i>=0&&d.includes(a[f]);let te;const J=`margin-inline-start: ${r*v}px;`;return V&&(xt(l)?te=ee(yae,Mt(l,{class:[u.e("expand-icon"),u.is("expanded",j)],size:m,expanded:j,style:J,expandable:!0}),null):te=ee("div",{style:[J,`width: ${m}px; height: ${m}px;`].join(" ")},null)),ee("div",Mt({class:B,style:g},T,{role:"cell"}),[te,L])};M2.inheritAttrs=!1;function Iae(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!io(e)}const Oae=({columns:e,columnsStyles:t,headerIndex:o,style:r,headerClass:l,headerProps:n,ns:a},{slots:i})=>{const c={columns:e,headerIndex:o},d=[a.e("header-row"),ti(l,c,""),{[a.is("customized")]:!!i.header}],u={...ti(n,c),columnsStyles:t,class:d,columns:e,headerIndex:o,style:r};return ee(mae,u,Iae(i)?i:{default:()=>[i]})},Z8=(e,{slots:t})=>{const{column:o,ns:r,style:l,onColumnSorted:n}=e,a=sa(l);if(o.placeholderSign===Gc)return ee("div",{class:r.em("header-row-cell","placeholder"),style:a},null);const{headerCellRenderer:i,headerClass:c,sortable:d}=o,u={...e,class:r.e("header-cell-text")},p=U8(i),h=p?p(u):be(t,"default",u,()=>[ee(T2,u,null)]),{sortBy:v,sortState:m,headerCellProps:f}=e;let _,g;if(m){const x=m[o.key];_=!!y2[x],g=_?x:qc.ASC}else _=o.key===v.key,g=_?v.order:qc.ASC;const y=[r.e("header-cell"),ti(c,e,""),o.align===Yc.CENTER&&r.is("align-center"),o.align===Yc.RIGHT&&r.is("align-right"),d&&r.is("sortable")],w={...ti(f,e),onClick:o.sortable?n:void 0,class:y,style:a,"data-key":o.key};return ee("div",Mt(w,{role:"columnheader"}),[h,d&&ee(wae,{class:[r.e("sort-icon"),_&&r.is("sorting")],sortOrder:g},null)])},J8=(e,{slots:t})=>{var o;return ee("div",{class:e.class,style:e.style},[(o=t.default)==null?void 0:o.call(t)])};J8.displayName="ElTableV2Footer";const Q8=(e,{slots:t})=>{const o=be(t,"default",{},()=>[ee(Py,null,null)]);return ee("div",{class:e.class,style:e.style},[o])};Q8.displayName="ElTableV2Empty";const ex=(e,{slots:t})=>{var o;return ee("div",{class:e.class,style:e.style},[(o=t.default)==null?void 0:o.call(t)])};ex.displayName="ElTableV2Overlay";function Zc(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!io(e)}const Nae=N({name:"ElTableV2",props:hae,setup(e,{slots:t,expose:o}){const r=ze("table-v2"),{columnsStyles:l,fixedColumnsOnLeft:n,fixedColumnsOnRight:a,mainColumns:i,mainTableHeight:c,fixedTableHeight:d,leftTableWidth:u,rightTableWidth:p,data:h,depthMap:v,expandedRowKeys:m,hasFixedColumns:f,mainTableRef:_,leftTableRef:g,rightTableRef:y,isDynamic:w,isResetting:x,isScrolling:$,bodyWidth:T,emptyStyle:R,rootStyle:P,headerWidth:L,footerHeight:B,showEmpty:V,scrollTo:j,scrollToLeft:te,scrollToTop:J,scrollToRow:Z,getRowHeight:H,onColumnSorted:F,onRowHeightChange:K,onRowHovered:I,onRowExpanded:U,onRowsRendered:oe,onScroll:ne,onVerticalScroll:ce}=pae(e);return o({scrollTo:j,scrollToLeft:te,scrollToTop:J,scrollToRow:Z}),zt(x2,{ns:r,isResetting:x,isScrolling:$}),()=>{const{cache:Q,cellProps:Me,estimatedRowHeight:de,expandColumnKey:_e,fixedData:me,headerHeight:Re,headerClass:Ce,headerProps:Ee,headerCellProps:De,sortBy:ae,sortState:pe,rowHeight:ke,rowClass:Oe,rowEventHandlers:we,rowKey:Te,rowProps:Ne,scrollbarAlwaysOn:Ie,indentSize:Ae,iconSize:xe,useIsScrolling:We,vScrollbarSize:qe,width:ye}=e,Ye=s(h),tt={cache:Q,class:r.e("main"),columns:s(i),data:Ye,fixedData:me,estimatedRowHeight:de,bodyWidth:s(T)+qe,headerHeight:Re,headerWidth:s(L),height:s(c),mainTableRef:_,rowKey:Te,rowHeight:ke,scrollbarAlwaysOn:Ie,scrollbarStartGap:2,scrollbarEndGap:qe,useIsScrolling:We,width:ye,getRowHeight:H,onRowsRendered:oe,onScroll:ne},pt=s(u),dt=s(d),Y={cache:Q,class:r.e("left"),columns:s(n),data:Ye,estimatedRowHeight:de,leftTableRef:g,rowHeight:ke,bodyWidth:pt,headerWidth:pt,headerHeight:Re,height:dt,rowKey:Te,scrollbarAlwaysOn:Ie,scrollbarStartGap:2,scrollbarEndGap:qe,useIsScrolling:We,width:pt,getRowHeight:H,onScroll:ce},A=s(p)+qe,G={cache:Q,class:r.e("right"),columns:s(a),data:Ye,estimatedRowHeight:de,rightTableRef:y,rowHeight:ke,bodyWidth:A,headerWidth:A,headerHeight:Re,height:dt,rowKey:Te,scrollbarAlwaysOn:Ie,scrollbarStartGap:2,scrollbarEndGap:qe,width:A,style:`--${s(r.namespace)}-table-scrollbar-size: ${qe}px`,useIsScrolling:We,getRowHeight:H,onScroll:ce},X=s(l),re={ns:r,depthMap:s(v),columnsStyles:X,expandColumnKey:_e,expandedRowKeys:s(m),estimatedRowHeight:de,hasFixedColumns:s(f),rowProps:Ne,rowClass:Oe,rowKey:Te,rowEventHandlers:we,onRowHovered:I,onRowExpanded:U,onRowHeightChange:K},ge={cellProps:Me,expandColumnKey:_e,indentSize:Ae,iconSize:xe,rowKey:Te,expandedRowKeys:s(m),ns:r},fe={ns:r,headerClass:Ce,headerProps:Ee,columnsStyles:X},Fe={ns:r,sortBy:ae,sortState:pe,headerCellProps:De,onColumnSorted:F},at={row:no=>ee(zae,Mt(no,re),{row:t.row,cell:bt=>{let Qt;return t.cell?ee(M2,Mt(bt,ge,{style:X[bt.column.key]}),Zc(Qt=t.cell(bt))?Qt:{default:()=>[Qt]}):ee(M2,Mt(bt,ge,{style:X[bt.column.key]}),null)}}),header:no=>ee(Oae,Mt(no,fe),{header:t.header,cell:bt=>{let Qt;return t["header-cell"]?ee(Z8,Mt(bt,Fe,{style:X[bt.column.key]}),Zc(Qt=t["header-cell"](bt))?Qt:{default:()=>[Qt]}):ee(Z8,Mt(bt,Fe,{style:X[bt.column.key]}),null)}})},_t=[e.class,r.b(),r.e("root"),{[r.is("dynamic")]:s(w)}],At={class:r.e("footer"),style:s(B)};return ee("div",{class:_t,style:s(P)},[ee(Sae,tt,Zc(at)?at:{default:()=>[at]}),ee(Tae,Y,Zc(at)?at:{default:()=>[at]}),ee(Mae,G,Zc(at)?at:{default:()=>[at]}),t.footer&&ee(J8,At,{default:t.footer}),s(V)&&ee(Q8,{class:r.e("empty"),style:s(R)},{default:t.empty}),t.overlay&&ee(ex,{class:r.e("overlay")},{default:t.overlay})])}}}),Pae=Pe({disableWidth:Boolean,disableHeight:Boolean,onResize:{type:ue(Function)}}),Rae=N({name:"ElAutoResizer",props:Pae,setup(e,{slots:t}){const o=ze("auto-resizer"),{height:r,width:l,sizer:n}=dae(e),a={width:"100%",height:"100%"};return()=>{var i;return ee("div",{ref:n,class:o.b(),style:a},[(i=t.default)==null?void 0:i.call(t,{height:r.value,width:l.value})])}}}),Lae=yt(Nae),Bae=yt(Rae),Bp=Symbol("tabsRootContextKey"),Vae=Pe({tabs:{type:ue(Array),default:()=>uo([])}}),tx="ElTabBar",Dae=N({...N({name:tx}),props:Vae,setup(e,{expose:t}){const o=e,r=wt(),l=Ge(Bp);l||Io(tx,"");const n=ze("tabs"),a=D(),i=D(),c=()=>{let u=0,p=0;const h=["top","bottom"].includes(l.props.tabPosition)?"width":"height",v=h==="width"?"x":"y",m=v==="x"?"left":"top";return o.tabs.every(f=>{var _,g;const y=(g=(_=r.parent)==null?void 0:_.refs)==null?void 0:g[`tab-${f.uid}`];if(!y)return!1;if(!f.active)return!0;u=y[`offset${Nl(m)}`],p=y[`client${Nl(h)}`];const w=window.getComputedStyle(y);return h==="width"&&(o.tabs.length>1&&(p-=Number.parseFloat(w.paddingLeft)+Number.parseFloat(w.paddingRight)),u+=Number.parseFloat(w.paddingLeft)),!1}),{[h]:`${p}px`,transform:`translate${Nl(v)}(${u}px)`}},d=()=>i.value=c();return Se(()=>o.tabs,async()=>{await et(),d()},{immediate:!0}),so(a,()=>d()),t({ref:a,update:d}),(u,p)=>(b(),M("div",{ref_key:"barRef",ref:a,class:O([s(n).e("active-bar"),s(n).is(s(l).props.tabPosition)]),style:Je(i.value)},null,6))}});var Hae=Le(Dae,[["__file","tab-bar.vue"]]);const Fae=Pe({panes:{type:ue(Array),default:()=>uo([])},currentName:{type:[String,Number],default:""},editable:Boolean,type:{type:String,values:["card","border-card",""],default:""},stretch:Boolean}),jae={tabClick:(e,t,o)=>o instanceof Event,tabRemove:(e,t)=>t instanceof Event},ox="ElTabNav",Kae=N({name:ox,props:Fae,emits:jae,setup(e,{expose:t,emit:o}){const r=wt(),l=Ge(Bp);l||Io(ox,"");const n=ze("tabs"),a=aE(),i=gE(),c=D(),d=D(),u=D(),p=D(),h=D(!1),v=D(0),m=D(!1),f=D(!0),_=C(()=>["top","bottom"].includes(l.props.tabPosition)?"width":"height"),g=C(()=>({transform:`translate${_.value==="width"?"X":"Y"}(-${v.value}px)`})),y=()=>{if(!c.value)return;const L=c.value[`offset${Nl(_.value)}`],B=v.value;if(!B)return;const V=B>L?B-L:0;v.value=V},w=()=>{if(!c.value||!d.value)return;const L=d.value[`offset${Nl(_.value)}`],B=c.value[`offset${Nl(_.value)}`],V=v.value;if(L-V<=B)return;const j=L-V>B*2?V+B:L-B;v.value=j},x=async()=>{const L=d.value;if(!h.value||!u.value||!c.value||!L)return;await et();const B=u.value.querySelector(".is-active");if(!B)return;const V=c.value,j=["top","bottom"].includes(l.props.tabPosition),te=B.getBoundingClientRect(),J=V.getBoundingClientRect(),Z=j?L.offsetWidth-J.width:L.offsetHeight-J.height,H=v.value;let F=H;j?(te.leftJ.right&&(F=H+te.right-J.right)):(te.topJ.bottom&&(F=H+(te.bottom-J.bottom))),F=Math.max(F,0),v.value=Math.min(F,Z)},$=()=>{var L;if(!d.value||!c.value)return;e.stretch&&((L=p.value)==null||L.update());const B=d.value[`offset${Nl(_.value)}`],V=c.value[`offset${Nl(_.value)}`],j=v.value;V0&&(v.value=0))},T=L=>{const B=L.code,{up:V,down:j,left:te,right:J}=lt;if(![V,j,te,J].includes(B))return;const Z=Array.from(L.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)")),H=Z.indexOf(L.target);let F;B===te||B===V?H===0?F=Z.length-1:F=H-1:H{f.value&&(m.value=!0)},P=()=>m.value=!1;return Se(a,L=>{L==="hidden"?f.value=!1:L==="visible"&&setTimeout(()=>f.value=!0,50)}),Se(i,L=>{L?setTimeout(()=>f.value=!0,50):f.value=!1}),so(u,$),ft(()=>setTimeout(()=>x(),0)),rn(()=>$()),t({scrollToActiveTab:x,removeFocus:P}),Se(()=>e.panes,()=>r.update(),{flush:"post",deep:!0}),()=>{const L=h.value?[ee("span",{class:[n.e("nav-prev"),n.is("disabled",!h.value.prev)],onClick:y},[ee(Ze,null,{default:()=>[ee(fn,null,null)]})]),ee("span",{class:[n.e("nav-next"),n.is("disabled",!h.value.next)],onClick:w},[ee(Ze,null,{default:()=>[ee(ir,null,null)]})])]:null,B=e.panes.map((V,j)=>{var te,J,Z,H;const F=V.uid,K=V.props.disabled,I=(J=(te=V.props.name)!=null?te:V.index)!=null?J:`${j}`,U=!K&&(V.isClosable||e.editable);V.index=`${j}`;const oe=U?ee(Ze,{class:"is-icon-close",onClick:Q=>o("tabRemove",V,Q)},{default:()=>[ee(Jr,null,null)]}):null,ne=((H=(Z=V.slots).label)==null?void 0:H.call(Z))||V.props.label,ce=!K&&V.active?0:-1;return ee("div",{ref:`tab-${F}`,class:[n.e("item"),n.is(l.props.tabPosition),n.is("active",V.active),n.is("disabled",K),n.is("closable",U),n.is("focus",m.value)],id:`tab-${I}`,key:`tab-${F}`,"aria-controls":`pane-${I}`,role:"tab","aria-selected":V.active,tabindex:ce,onFocus:()=>R(),onBlur:()=>P(),onClick:Q=>{P(),o("tabClick",V,I,Q)},onKeydown:Q=>{U&&(Q.code===lt.delete||Q.code===lt.backspace)&&o("tabRemove",V,Q)}},[ne,oe])});return ee("div",{ref:u,class:[n.e("nav-wrap"),n.is("scrollable",!!h.value),n.is(l.props.tabPosition)]},[L,ee("div",{class:n.e("nav-scroll"),ref:c},[ee("div",{class:[n.e("nav"),n.is(l.props.tabPosition),n.is("stretch",e.stretch&&["top","bottom"].includes(l.props.tabPosition))],ref:d,style:g.value,role:"tablist",onKeydown:T},[e.type?null:ee(Hae,{ref:p,tabs:[...e.panes]},null),B])])])}}}),Uae=Pe({type:{type:String,values:["card","border-card",""],default:""},closable:Boolean,addable:Boolean,modelValue:{type:[String,Number]},editable:Boolean,tabPosition:{type:String,values:["top","right","bottom","left"],default:"top"},beforeLeave:{type:ue(Function),default:()=>!0},stretch:Boolean}),A2=e=>ut(e)||st(e),Wae={[St]:e=>A2(e),tabClick:(e,t)=>t instanceof Event,tabChange:e=>A2(e),edit:(e,t)=>["remove","add"].includes(t),tabRemove:e=>A2(e),tabAdd:()=>!0},qae=N({name:"ElTabs",props:Uae,emits:Wae,setup(e,{emit:t,slots:o,expose:r}){var l;const n=ze("tabs"),{children:a,addChild:i,removeChild:c}=Wh(wt(),"ElTabPane"),d=D(),u=D((l=e.modelValue)!=null?l:"0"),p=async(f,_=!1)=>{var g,y,w;if(!(u.value===f||ko(f)))try{await((g=e.beforeLeave)==null?void 0:g.call(e,f,u.value))!==!1&&(u.value=f,_&&(t(St,f),t("tabChange",f)),(w=(y=d.value)==null?void 0:y.removeFocus)==null||w.call(y))}catch{}},h=(f,_,g)=>{f.props.disabled||(p(_,!0),t("tabClick",f,g))},v=(f,_)=>{f.props.disabled||ko(f.props.name)||(_.stopPropagation(),t("edit",f.props.name,"remove"),t("tabRemove",f.props.name))},m=()=>{t("edit",void 0,"add"),t("tabAdd")};return Se(()=>e.modelValue,f=>p(f)),Se(u,async()=>{var f;await et(),(f=d.value)==null||f.scrollToActiveTab()}),zt(Bp,{props:e,currentName:u,registerPane:i,unregisterPane:c}),r({currentName:u}),()=>{const f=o["add-icon"],_=e.editable||e.addable?ee("span",{class:n.e("new-tab"),tabindex:"0",onClick:m,onKeydown:w=>{w.code===lt.enter&&m()}},[f?be(o,"add-icon"):ee(Ze,{class:n.is("icon-plus")},{default:()=>[ee(hh,null,null)]})]):null,g=ee("div",{class:[n.e("header"),n.is(e.tabPosition)]},[_,ee(Kae,{ref:d,currentName:u.value,editable:e.editable,type:e.type,panes:a.value,stretch:e.stretch,onTabClick:h,onTabRemove:v},null)]),y=ee("div",{class:n.e("content")},[be(o,"default")]);return ee("div",{class:[n.b(),n.m(e.tabPosition),{[n.m("card")]:e.type==="card",[n.m("border-card")]:e.type==="border-card"}]},[...e.tabPosition!=="bottom"?[g,y]:[y,g]])}}}),Yae=Pe({label:{type:String,default:""},name:{type:[String,Number]},closable:Boolean,disabled:Boolean,lazy:Boolean}),Gae=["id","aria-hidden","aria-labelledby"],rx="ElTabPane",Xae=N({...N({name:rx}),props:Yae,setup(e){const t=e,o=wt(),r=Do(),l=Ge(Bp);l||Io(rx,"usage: ");const n=ze("tab-pane"),a=D(),i=C(()=>t.closable||l.props.closable),c=qb(()=>{var v;return l.currentName.value===((v=t.name)!=null?v:a.value)}),d=D(c.value),u=C(()=>{var v;return(v=t.name)!=null?v:a.value}),p=qb(()=>!t.lazy||d.value||c.value);Se(c,v=>{v&&(d.value=!0)});const h=Dt({uid:o.uid,slots:r,props:t,paneName:u,active:c,index:a,isClosable:i});return ft(()=>{l.registerPane(h)}),Rn(()=>{l.unregisterPane(h.uid)}),(v,m)=>s(p)?mt((b(),M("div",{key:0,id:`pane-${s(u)}`,class:O(s(n).b()),role:"tabpanel","aria-hidden":!s(c),"aria-labelledby":`tab-${s(u)}`},[be(v.$slots,"default")],10,Gae)),[[Lt,s(c)]]):se("v-if",!0)}});var lx=Le(Xae,[["__file","tab-pane.vue"]]);const Zae=yt(qae,{TabPane:lx}),Jae=co(lx),Qae=Pe({type:{type:String,values:["primary","success","info","warning","danger",""],default:""},size:{type:String,values:Rl,default:""},truncated:{type:Boolean},lineClamp:{type:[String,Number]},tag:{type:String,default:"span"}}),eie=N({...N({name:"ElText"}),props:Qae,setup(e){const t=e,o=So(),r=ze("text"),l=C(()=>[r.b(),r.m(t.type),r.m(o.value),r.is("truncated",t.truncated),r.is("line-clamp",!ko(t.lineClamp))]);return(n,a)=>(b(),he(Et(n.tag),{class:O(s(l)),style:Je({"-webkit-line-clamp":n.lineClamp})},{default:le(()=>[be(n.$slots,"default")]),_:3},8,["class","style"]))}});var tie=Le(eie,[["__file","text.vue"]]);const oie=yt(tie),rie=Pe({format:{type:String,default:"HH:mm"},modelValue:String,disabled:Boolean,editable:{type:Boolean,default:!0},effect:{type:String,default:"light"},clearable:{type:Boolean,default:!0},size:Oo,placeholder:String,start:{type:String,default:"09:00"},end:{type:String,default:"18:00"},step:{type:String,default:"00:30"},minTime:String,maxTime:String,name:String,prefixIcon:{type:ue([String,Object]),default:()=>ph},clearIcon:{type:ue([String,Object]),default:()=>hn},...Xi}),Cn=e=>{const t=(e||"").split(":");if(t.length>=2){let o=Number.parseInt(t[0],10);const r=Number.parseInt(t[1],10),l=e.toUpperCase();return l.includes("AM")&&o===12?o=0:l.includes("PM")&&o!==12&&(o+=12),{hours:o,minutes:r}}return null},z2=(e,t)=>{const o=Cn(e);if(!o)return-1;const r=Cn(t);if(!r)return-1;const l=o.minutes+o.hours*60,n=r.minutes+r.hours*60;return l===n?0:l>n?1:-1},nx=e=>`${e}`.padStart(2,"0"),ps=e=>`${nx(e.hours)}:${nx(e.minutes)}`,lie=(e,t)=>{const o=Cn(e);if(!o)return"";const r=Cn(t);if(!r)return"";const l={hours:o.hours,minutes:o.minutes};return l.minutes+=r.minutes,l.hours+=r.hours,l.hours+=Math.floor(l.minutes/60),l.minutes=l.minutes%60,ps(l)},nie=N({...N({name:"ElTimeSelect"}),props:rie,emits:["change","blur","focus","update:modelValue"],setup(e,{expose:t}){const o=e;kt.extend(mv);const{Option:r}=Za,l=ze("input"),n=D(),a=xr(),{lang:i}=Rt(),c=C(()=>o.modelValue),d=C(()=>{const g=Cn(o.start);return g?ps(g):null}),u=C(()=>{const g=Cn(o.end);return g?ps(g):null}),p=C(()=>{const g=Cn(o.step);return g?ps(g):null}),h=C(()=>{const g=Cn(o.minTime||"");return g?ps(g):null}),v=C(()=>{const g=Cn(o.maxTime||"");return g?ps(g):null}),m=C(()=>{const g=[];if(o.start&&o.end&&o.step){let y=d.value,w;for(;y&&u.value&&z2(y,u.value)<=0;)w=kt(y,"HH:mm").locale(i.value).format(o.format),g.push({value:w,disabled:z2(y,h.value||"-1:-1")<=0||z2(y,v.value||"100:100")>=0}),y=lie(y,p.value)}return g});return t({blur:()=>{var g,y;(y=(g=n.value)==null?void 0:g.blur)==null||y.call(g)},focus:()=>{var g,y;(y=(g=n.value)==null?void 0:g.focus)==null||y.call(g)}}),(g,y)=>(b(),he(s(Za),{ref_key:"select",ref:n,"model-value":s(c),disabled:s(a),clearable:g.clearable,"clear-icon":g.clearIcon,size:g.size,effect:g.effect,placeholder:g.placeholder,"default-first-option":"",filterable:g.editable,"empty-values":g.emptyValues,"value-on-clear":g.valueOnClear,"onUpdate:modelValue":y[0]||(y[0]=w=>g.$emit("update:modelValue",w)),onChange:y[1]||(y[1]=w=>g.$emit("change",w)),onBlur:y[2]||(y[2]=w=>g.$emit("blur",w)),onFocus:y[3]||(y[3]=w=>g.$emit("focus",w))},{prefix:le(()=>[g.prefixIcon?(b(),he(s(Ze),{key:0,class:O(s(l).e("prefix-icon"))},{default:le(()=>[(b(),he(Et(g.prefixIcon)))]),_:1},8,["class"])):se("v-if",!0)]),default:le(()=>[(b(!0),M(Qe,null,It(s(m),w=>(b(),he(s(r),{key:w.value,label:w.value,value:w.value,disabled:w.disabled},null,8,["label","value","disabled"]))),128))]),_:1},8,["model-value","disabled","clearable","clear-icon","size","effect","placeholder","filterable","empty-values","value-on-clear"]))}});var Vp=Le(nie,[["__file","time-select.vue"]]);Vp.install=e=>{e.component(Vp.name,Vp)};const aie=Vp,iie=N({name:"ElTimeline",setup(e,{slots:t}){const o=ze("timeline");return zt("timeline",t),()=>rt("ul",{class:[o.b()]},[be(t,"default")])}}),sie=Pe({timestamp:{type:String,default:""},hideTimestamp:{type:Boolean,default:!1},center:{type:Boolean,default:!1},placement:{type:String,values:["top","bottom"],default:"bottom"},type:{type:String,values:["primary","success","warning","danger","info"],default:""},color:{type:String,default:""},size:{type:String,values:["normal","large"],default:"normal"},icon:{type:Xt},hollow:{type:Boolean,default:!1}}),cie=N({...N({name:"ElTimelineItem"}),props:sie,setup(e){const t=e,o=ze("timeline-item"),r=C(()=>[o.e("node"),o.em("node",t.size||""),o.em("node",t.type||""),o.is("hollow",t.hollow)]);return(l,n)=>(b(),M("li",{class:O([s(o).b(),{[s(o).e("center")]:l.center}])},[E("div",{class:O(s(o).e("tail"))},null,2),l.$slots.dot?se("v-if",!0):(b(),M("div",{key:0,class:O(s(r)),style:Je({backgroundColor:l.color})},[l.icon?(b(),he(s(Ze),{key:0,class:O(s(o).e("icon"))},{default:le(()=>[(b(),he(Et(l.icon)))]),_:1},8,["class"])):se("v-if",!0)],6)),l.$slots.dot?(b(),M("div",{key:1,class:O(s(o).e("dot"))},[be(l.$slots,"dot")],2)):se("v-if",!0),E("div",{class:O(s(o).e("wrapper"))},[!l.hideTimestamp&&l.placement==="top"?(b(),M("div",{key:0,class:O([s(o).e("timestamp"),s(o).is("top")])},$e(l.timestamp),3)):se("v-if",!0),E("div",{class:O(s(o).e("content"))},[be(l.$slots,"default")],2),!l.hideTimestamp&&l.placement==="bottom"?(b(),M("div",{key:1,class:O([s(o).e("timestamp"),s(o).is("bottom")])},$e(l.timestamp),3)):se("v-if",!0)],2)],2))}});var ax=Le(cie,[["__file","timeline-item.vue"]]);const uie=yt(iie,{TimelineItem:ax}),die=co(ax),ix=Pe({nowrap:Boolean});var sx=(e=>(e.top="top",e.bottom="bottom",e.left="left",e.right="right",e))(sx||{});const pie=Object.values(sx),I2=Pe({width:{type:Number,default:10},height:{type:Number,default:10},style:{type:ue(Object),default:null}}),fie=Pe({side:{type:ue(String),values:pie,required:!0}}),hie=["absolute","fixed"],vie=["top-start","top-end","top","bottom-start","bottom-end","bottom","left-start","left-end","left","right-start","right-end","right"],O2=Pe({arrowPadding:{type:ue(Number),default:5},effect:{type:String,default:""},contentClass:String,placement:{type:ue(String),values:vie,default:"bottom"},reference:{type:ue(Object),default:null},offset:{type:Number,default:8},strategy:{type:ue(String),values:hie,default:"absolute"},showArrow:{type:Boolean,default:!1},...Zo(["ariaLabel"])}),N2=Pe({delayDuration:{type:Number,default:300},defaultOpen:Boolean,open:{type:Boolean,default:void 0},onOpenChange:{type:ue(Function)},"onUpdate:open":{type:ue(Function)}}),fs={type:ue(Function)},P2=Pe({onBlur:fs,onClick:fs,onFocus:fs,onMouseDown:fs,onMouseEnter:fs,onMouseLeave:fs}),mie=Pe({...N2,...I2,...P2,...O2,alwaysOn:Boolean,fullTransition:Boolean,transitionProps:{type:ue(Object),default:null},teleported:Boolean,to:{type:ue(String),default:"body"}}),Dp=Symbol("tooltipV2"),cx=Symbol("tooltipV2Content"),R2="tooltip_v2.open",gie=N({...N({name:"ElTooltipV2Root"}),props:N2,setup(e,{expose:t}){const o=e,r=D(o.defaultOpen),l=D(null),n=C({get:()=>Na(o.open)?r.value:o.open,set:_=>{var g;r.value=_,(g=o["onUpdate:open"])==null||g.call(o,_)}}),a=C(()=>st(o.delayDuration)&&o.delayDuration>0),{start:i,stop:c}=$a(()=>{n.value=!0},C(()=>o.delayDuration),{immediate:!1}),d=ze("tooltip-v2"),u=Qo(),p=()=>{c(),n.value=!0},h=()=>{s(a)?i():p()},v=p,m=()=>{c(),n.value=!1};return Se(n,_=>{var g;_&&(document.dispatchEvent(new CustomEvent(R2)),v()),(g=o.onOpenChange)==null||g.call(o,_)}),ft(()=>{document.addEventListener(R2,m)}),to(()=>{c(),document.removeEventListener(R2,m)}),zt(Dp,{contentId:u,triggerRef:l,ns:d,onClose:m,onDelayOpen:h,onOpen:v}),t({onOpen:v,onClose:m}),(_,g)=>be(_.$slots,"default",{open:s(n)})}});var bie=Le(gie,[["__file","root.vue"]]);const _ie=N({...N({name:"ElTooltipV2Arrow"}),props:{...I2,...fie},setup(e){const t=e,{ns:o}=Ge(Dp),{arrowRef:r}=Ge(cx),l=C(()=>{const{style:n,width:a,height:i}=t,c=o.namespace.value;return{[`--${c}-tooltip-v2-arrow-width`]:`${a}px`,[`--${c}-tooltip-v2-arrow-height`]:`${i}px`,[`--${c}-tooltip-v2-arrow-border-width`]:`${a/2}px`,[`--${c}-tooltip-v2-arrow-cover-width`]:a/2-1,...n||{}}});return(n,a)=>(b(),M("span",{ref_key:"arrowRef",ref:r,style:Je(s(l)),class:O(s(o).e("arrow"))},null,6))}});var ux=Le(_ie,[["__file","arrow.vue"]]);const wie=Pe({style:{type:ue([String,Object,Array]),default:()=>({})}}),yie=N({...N({name:"ElVisuallyHidden"}),props:wie,setup(e){const t=e,o=C(()=>[t.style,{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}]);return(r,l)=>(b(),M("span",Mt(r.$attrs,{style:s(o)}),[be(r.$slots,"default")],16))}});var xie=Le(yie,[["__file","visual-hidden.vue"]]);const kie=["data-side"],Cie=N({...N({name:"ElTooltipV2Content"}),props:{...O2,...ix},setup(e){const t=e,{triggerRef:o,contentId:r}=Ge(Dp),l=D(t.placement),n=D(t.strategy),a=D(null),{referenceRef:i,contentRef:c,middlewareData:d,x:u,y:p,update:h}=hK({placement:l,strategy:n,middleware:C(()=>{const w=[J6(t.offset)];return t.showArrow&&w.push(vK({arrowRef:a})),w})}),v=Ki().nextZIndex(),m=ze("tooltip-v2"),f=C(()=>l.value.split("-")[0]),_=C(()=>({position:s(n),top:`${s(p)||0}px`,left:`${s(u)||0}px`,zIndex:v})),g=C(()=>{if(!t.showArrow)return{};const{arrow:w}=s(d);return{[`--${m.namespace.value}-tooltip-v2-arrow-x`]:`${w==null?void 0:w.x}px`||"",[`--${m.namespace.value}-tooltip-v2-arrow-y`]:`${w==null?void 0:w.y}px`||""}}),y=C(()=>[m.e("content"),m.is("dark",t.effect==="dark"),m.is(s(n)),t.contentClass]);return Se(a,()=>h()),Se(()=>t.placement,w=>l.value=w),ft(()=>{Se(()=>t.reference||o.value,w=>{i.value=w||void 0},{immediate:!0})}),zt(cx,{arrowRef:a}),(w,x)=>(b(),M("div",{ref_key:"contentRef",ref:c,style:Je(s(_)),"data-tooltip-v2-root":""},[w.nowrap?se("v-if",!0):(b(),M("div",{key:0,"data-side":s(f),class:O(s(y))},[be(w.$slots,"default",{contentStyle:s(_),contentClass:s(y)}),ee(s(xie),{id:s(r),role:"tooltip"},{default:le(()=>[w.ariaLabel?(b(),M(Qe,{key:0},[Ct($e(w.ariaLabel),1)],64)):be(w.$slots,"default",{key:1})]),_:3},8,["id"]),be(w.$slots,"arrow",{style:Je(s(g)),side:s(f)})],10,kie))],4))}});var dx=Le(Cie,[["__file","content.vue"]]);const Sie=Pe({setRef:{type:ue(Function),required:!0},onlyChild:Boolean});var Eie=N({props:Sie,setup(e,{slots:t}){const o=D(),r=Nd(o,l=>{l?e.setRef(l.nextElementSibling):e.setRef(null)});return()=>{var l;const[n]=((l=t.default)==null?void 0:l.call(t))||[],a=e.onlyChild?cF(n.children):n.children;return ee(Qe,{ref:r},[a])}}});const Tie=N({...N({name:"ElTooltipV2Trigger"}),props:{...ix,...P2},setup(e){const t=e,{onClose:o,onOpen:r,onDelayOpen:l,triggerRef:n,contentId:a}=Ge(Dp);let i=!1;const c=y=>{n.value=y},d=()=>{i=!1},u=ho(t.onMouseEnter,l),p=ho(t.onMouseLeave,o),h=ho(t.onMouseDown,()=>{o(),i=!0,document.addEventListener("mouseup",d,{once:!0})}),v=ho(t.onFocus,()=>{i||r()}),m=ho(t.onBlur,o),f=ho(t.onClick,y=>{y.detail===0&&o()}),_={blur:m,click:f,focus:v,mousedown:h,mouseenter:u,mouseleave:p},g=(y,w,x)=>{y&&Object.entries(w).forEach(([$,T])=>{y[x]($,T)})};return Se(n,(y,w)=>{g(y,_,"addEventListener"),g(w,_,"removeEventListener"),y&&y.setAttribute("aria-describedby",a.value)}),to(()=>{g(n.value,_,"removeEventListener"),document.removeEventListener("mouseup",d)}),(y,w)=>y.nowrap?(b(),he(s(Eie),{key:0,"set-ref":c,"only-child":""},{default:le(()=>[be(y.$slots,"default")]),_:3})):(b(),M("button",Mt({key:1,ref_key:"triggerRef",ref:n},y.$attrs),[be(y.$slots,"default")],16))}});var $ie=Le(Tie,[["__file","trigger.vue"]]);const Mie=N({...N({name:"ElTooltipV2"}),props:mie,setup(e){const o=Bo(e),r=Dt(Ol(o,Object.keys(I2))),l=Dt(Ol(o,Object.keys(O2))),n=Dt(Ol(o,Object.keys(N2))),a=Dt(Ol(o,Object.keys(P2)));return(i,c)=>(b(),he(bie,Zl(mi(n)),{default:le(({open:d})=>[ee($ie,Mt(a,{nowrap:""}),{default:le(()=>[be(i.$slots,"trigger")]),_:3},16),(b(),he(hi,{to:i.to,disabled:!i.teleported},[i.fullTransition?(b(),he(Mo,Zl(Mt({key:0},i.transitionProps)),{default:le(()=>[i.alwaysOn||d?(b(),he(dx,Zl(Mt({key:0},l)),{arrow:le(({style:u,side:p})=>[i.showArrow?(b(),he(ux,Mt({key:0},r,{style:u,side:p}),null,16,["style","side"])):se("v-if",!0)]),default:le(()=>[be(i.$slots,"default")]),_:3},16)):se("v-if",!0)]),_:2},1040)):(b(),M(Qe,{key:1},[i.alwaysOn||d?(b(),he(dx,Zl(Mt({key:0},l)),{arrow:le(({style:u,side:p})=>[i.showArrow?(b(),he(ux,Mt({key:0},r,{style:u,side:p}),null,16,["style","side"])):se("v-if",!0)]),default:le(()=>[be(i.$slots,"default")]),_:3},16)):se("v-if",!0)],64))],8,["to","disabled"]))]),_:3},16))}});var Aie=Le(Mie,[["__file","tooltip.vue"]]);const zie=yt(Aie),px="left-check-change",fx="right-check-change",hs=Pe({data:{type:ue(Array),default:()=>[]},titles:{type:ue(Array),default:()=>[]},buttonTexts:{type:ue(Array),default:()=>[]},filterPlaceholder:String,filterMethod:{type:ue(Function)},leftDefaultChecked:{type:ue(Array),default:()=>[]},rightDefaultChecked:{type:ue(Array),default:()=>[]},renderContent:{type:ue(Function)},modelValue:{type:ue(Array),default:()=>[]},format:{type:ue(Object),default:()=>({})},filterable:Boolean,props:{type:ue(Object),default:()=>uo({label:"label",key:"key",disabled:"disabled"})},targetOrder:{type:String,values:["original","push","unshift"],default:"original"},validateEvent:{type:Boolean,default:!0}}),L2=(e,t)=>[e,t].every(Ke)||Ke(e)&&jo(t),Iie={[ro]:(e,t,o)=>[e,o].every(Ke)&&["left","right"].includes(t),[St]:e=>Ke(e),[px]:L2,[fx]:L2},B2="checked-change",Oie=Pe({data:hs.data,optionRender:{type:ue(Function)},placeholder:String,title:String,filterable:Boolean,format:hs.format,filterMethod:hs.filterMethod,defaultChecked:hs.leftDefaultChecked,props:hs.props}),Nie={[B2]:L2},Jc=e=>{const t={label:"label",key:"key",disabled:"disabled"};return C(()=>({...t,...e.props}))},Pie=(e,t,o)=>{const r=Jc(e),l=C(()=>e.data.filter(u=>it(e.filterMethod)?e.filterMethod(t.query,u):String(u[r.value.label]||u[r.value.key]).toLowerCase().includes(t.query.toLowerCase()))),n=C(()=>l.value.filter(u=>!u[r.value.disabled])),a=C(()=>{const u=t.checked.length,p=e.data.length,{noChecked:h,hasChecked:v}=e.format;return h&&v?u>0?v.replace(/\${checked}/g,u.toString()).replace(/\${total}/g,p.toString()):h.replace(/\${total}/g,p.toString()):`${u}/${p}`}),i=C(()=>{const u=t.checked.length;return u>0&&u{const u=n.value.map(p=>p[r.value.key]);t.allChecked=u.length>0&&u.every(p=>t.checked.includes(p))},d=u=>{t.checked=u?n.value.map(p=>p[r.value.key]):[]};return Se(()=>t.checked,(u,p)=>{if(c(),t.checkChangeByUser){const h=u.concat(p).filter(v=>!u.includes(v)||!p.includes(v));o(B2,u,h)}else o(B2,u),t.checkChangeByUser=!0}),Se(n,()=>{c()}),Se(()=>e.data,()=>{const u=[],p=l.value.map(h=>h[r.value.key]);t.checked.forEach(h=>{p.includes(h)&&u.push(h)}),t.checkChangeByUser=!1,t.checked=u}),Se(()=>e.defaultChecked,(u,p)=>{if(p&&u.length===p.length&&u.every(m=>p.includes(m)))return;const h=[],v=n.value.map(m=>m[r.value.key]);u.forEach(m=>{v.includes(m)&&h.push(m)}),t.checkChangeByUser=!1,t.checked=h},{immediate:!0}),{filteredData:l,checkableData:n,checkedSummary:a,isIndeterminate:i,updateAllChecked:c,handleAllCheckedChange:d}},Rie=(e,t)=>({onSourceCheckedChange:(l,n)=>{e.leftChecked=l,n&&t(px,l,n)},onTargetCheckedChange:(l,n)=>{e.rightChecked=l,n&&t(fx,l,n)}}),Lie=e=>{const t=Jc(e),o=C(()=>e.data.reduce((n,a)=>(n[a[t.value.key]]=a)&&n,{})),r=C(()=>e.data.filter(n=>!e.modelValue.includes(n[t.value.key]))),l=C(()=>e.targetOrder==="original"?e.data.filter(n=>e.modelValue.includes(n[t.value.key])):e.modelValue.reduce((n,a)=>{const i=o.value[a];return i&&n.push(i),n},[]));return{sourceData:r,targetData:l}},Bie=(e,t,o)=>{const r=Jc(e),l=(i,c,d)=>{o(St,i),o(ro,i,c,d)};return{addToLeft:()=>{const i=e.modelValue.slice();t.rightChecked.forEach(c=>{const d=i.indexOf(c);d>-1&&i.splice(d,1)}),l(i,"left",t.rightChecked)},addToRight:()=>{let i=e.modelValue.slice();const c=e.data.filter(d=>{const u=d[r.value.key];return t.leftChecked.includes(u)&&!e.modelValue.includes(u)}).map(d=>d[r.value.key]);i=e.targetOrder==="unshift"?c.concat(i):i.concat(c),e.targetOrder==="original"&&(i=e.data.filter(d=>i.includes(d[r.value.key])).map(d=>d[r.value.key])),l(i,"right",t.leftChecked)}}},Vie=N({...N({name:"ElTransferPanel"}),props:Oie,emits:Nie,setup(e,{expose:t,emit:o}){const r=e,l=Do(),n=({option:w})=>w,{t:a}=Rt(),i=ze("transfer"),c=Dt({checked:[],allChecked:!1,query:"",checkChangeByUser:!0}),d=Jc(r),{filteredData:u,checkedSummary:p,isIndeterminate:h,handleAllCheckedChange:v}=Pie(r,c,o),m=C(()=>!Yr(c.query)&&Yr(u.value)),f=C(()=>!Yr(l.default()[0].children)),{checked:_,allChecked:g,query:y}=Bo(c);return t({query:y}),(w,x)=>(b(),M("div",{class:O(s(i).b("panel"))},[E("p",{class:O(s(i).be("panel","header"))},[ee(s(rl),{modelValue:s(g),"onUpdate:modelValue":x[0]||(x[0]=$=>Zt(g)?g.value=$:null),indeterminate:s(h),"validate-event":!1,onChange:s(v)},{default:le(()=>[Ct($e(w.title)+" ",1),E("span",null,$e(s(p)),1)]),_:1},8,["modelValue","indeterminate","onChange"])],2),E("div",{class:O([s(i).be("panel","body"),s(i).is("with-footer",s(f))])},[w.filterable?(b(),he(s(cr),{key:0,modelValue:s(y),"onUpdate:modelValue":x[1]||(x[1]=$=>Zt(y)?y.value=$:null),class:O(s(i).be("panel","filter")),size:"default",placeholder:w.placeholder,"prefix-icon":s(W3),clearable:"","validate-event":!1},null,8,["modelValue","class","placeholder","prefix-icon"])):se("v-if",!0),mt(ee(s(Lw),{modelValue:s(_),"onUpdate:modelValue":x[2]||(x[2]=$=>Zt(_)?_.value=$:null),"validate-event":!1,class:O([s(i).is("filterable",w.filterable),s(i).be("panel","list")])},{default:le(()=>[(b(!0),M(Qe,null,It(s(u),$=>(b(),he(s(rl),{key:$[s(d).key],class:O(s(i).be("panel","item")),value:$[s(d).key],disabled:$[s(d).disabled],"validate-event":!1},{default:le(()=>{var T;return[ee(n,{option:(T=w.optionRender)==null?void 0:T.call(w,$)},null,8,["option"])]}),_:2},1032,["class","value","disabled"]))),128))]),_:1},8,["modelValue","class"]),[[Lt,!s(m)&&!s(Yr)(w.data)]]),mt(E("p",{class:O(s(i).be("panel","empty"))},$e(s(m)?s(a)("el.transfer.noMatch"):s(a)("el.transfer.noData")),3),[[Lt,s(m)||s(Yr)(w.data)]])],2),s(f)?(b(),M("p",{key:0,class:O(s(i).be("panel","footer"))},[be(w.$slots,"default")],2)):se("v-if",!0)],2))}});var hx=Le(Vie,[["__file","transfer-panel.vue"]]);const Die={key:0},Hie={key:0},Fie=N({...N({name:"ElTransfer"}),props:hs,emits:Iie,setup(e,{expose:t,emit:o}){const r=e,l=Do(),{t:n}=Rt(),a=ze("transfer"),{formItem:i}=sr(),c=Dt({leftChecked:[],rightChecked:[]}),d=Jc(r),{sourceData:u,targetData:p}=Lie(r),{onSourceCheckedChange:h,onTargetCheckedChange:v}=Rie(c,o),{addToLeft:m,addToRight:f}=Bie(r,c,o),_=D(),g=D(),y=P=>{switch(P){case"left":_.value.query="";break;case"right":g.value.query="";break}},w=C(()=>r.buttonTexts.length===2),x=C(()=>r.titles[0]||n("el.transfer.titles.0")),$=C(()=>r.titles[1]||n("el.transfer.titles.1")),T=C(()=>r.filterPlaceholder||n("el.transfer.filterPlaceholder"));Se(()=>r.modelValue,()=>{var P;r.validateEvent&&((P=i==null?void 0:i.validate)==null||P.call(i,"change").catch(L=>void 0))});const R=C(()=>P=>r.renderContent?r.renderContent(rt,P):l.default?l.default({option:P}):rt("span",P[d.value.label]||P[d.value.key]));return t({clearQuery:y,leftPanel:_,rightPanel:g}),(P,L)=>(b(),M("div",{class:O(s(a).b())},[ee(hx,{ref_key:"leftPanel",ref:_,data:s(u),"option-render":s(R),placeholder:s(T),title:s(x),filterable:P.filterable,format:P.format,"filter-method":P.filterMethod,"default-checked":P.leftDefaultChecked,props:r.props,onCheckedChange:s(h)},{default:le(()=>[be(P.$slots,"left-footer")]),_:3},8,["data","option-render","placeholder","title","filterable","format","filter-method","default-checked","props","onCheckedChange"]),E("div",{class:O(s(a).e("buttons"))},[ee(s(Wo),{type:"primary",class:O([s(a).e("button"),s(a).is("with-texts",s(w))]),disabled:s(Yr)(c.rightChecked),onClick:s(m)},{default:le(()=>[ee(s(Ze),null,{default:le(()=>[ee(s(fn))]),_:1}),s(ko)(P.buttonTexts[0])?se("v-if",!0):(b(),M("span",Die,$e(P.buttonTexts[0]),1))]),_:1},8,["class","disabled","onClick"]),ee(s(Wo),{type:"primary",class:O([s(a).e("button"),s(a).is("with-texts",s(w))]),disabled:s(Yr)(c.leftChecked),onClick:s(f)},{default:le(()=>[s(ko)(P.buttonTexts[1])?se("v-if",!0):(b(),M("span",Hie,$e(P.buttonTexts[1]),1)),ee(s(Ze),null,{default:le(()=>[ee(s(ir))]),_:1})]),_:1},8,["class","disabled","onClick"])],2),ee(hx,{ref_key:"rightPanel",ref:g,data:s(p),"option-render":s(R),placeholder:s(T),filterable:P.filterable,format:P.format,"filter-method":P.filterMethod,title:s($),"default-checked":P.rightDefaultChecked,props:r.props,onCheckedChange:s(v)},{default:le(()=>[be(P.$slots,"right-footer")]),_:3},8,["data","option-render","placeholder","filterable","format","filter-method","title","default-checked","props","onCheckedChange"])],2))}});var jie=Le(Fie,[["__file","transfer.vue"]]);const Kie=yt(jie),vs="$treeNodeId",vx=function(e,t){!t||t[vs]||Object.defineProperty(t,vs,{value:e.id,enumerable:!1,configurable:!1,writable:!1})},V2=function(e,t){return e?t[e]:t[vs]},D2=(e,t,o)=>{const r=e.value.currentNode;o();const l=e.value.currentNode;r!==l&&t("current-change",l?l.data:null,l)},H2=e=>{let t=!0,o=!0,r=!0;for(let l=0,n=e.length;l"u"){const n=r[t];return n===void 0?"":n}};let Uie=0,F2=class hf{constructor(t){this.id=Uie++,this.text=null,this.checked=!1,this.indeterminate=!1,this.data=null,this.expanded=!1,this.parent=null,this.visible=!0,this.isCurrent=!1,this.canFocus=!1;for(const o in t)Pt(t,o)&&(this[o]=t[o]);this.level=0,this.loaded=!1,this.childNodes=[],this.loading=!1,this.parent&&(this.level=this.parent.level+1)}initialize(){const t=this.store;if(!t)throw new Error("[Node]store is required!");t.registerNode(this);const o=t.props;if(o&&typeof o.isLeaf<"u"){const n=Hp(this,"isLeaf");typeof n=="boolean"&&(this.isLeafByUser=n)}if(t.lazy!==!0&&this.data?(this.setData(this.data),t.defaultExpandAll&&(this.expanded=!0,this.canFocus=!0)):this.level>0&&t.lazy&&t.defaultExpandAll&&this.expand(),Array.isArray(this.data)||vx(this,this.data),!this.data)return;const r=t.defaultExpandedKeys,l=t.key;l&&r&&r.includes(this.key)&&this.expand(null,t.autoExpandParent),l&&t.currentNodeKey!==void 0&&this.key===t.currentNodeKey&&(t.currentNode=this,t.currentNode.isCurrent=!0),t.lazy&&t._initDefaultCheckedNode(this),this.updateLeafState(),this.parent&&(this.level===1||this.parent.expanded===!0)&&(this.canFocus=!0)}setData(t){Array.isArray(t)||vx(this,t),this.data=t,this.childNodes=[];let o;this.level===0&&Array.isArray(this.data)?o=this.data:o=Hp(this,"children")||[];for(let r=0,l=o.length;r-1)return t.childNodes[o+1]}return null}get previousSibling(){const t=this.parent;if(t){const o=t.childNodes.indexOf(this);if(o>-1)return o>0?t.childNodes[o-1]:null}return null}contains(t,o=!0){return(this.childNodes||[]).some(r=>r===t||o&&r.contains(t))}remove(){const t=this.parent;t&&t.removeChild(this)}insertChild(t,o,r){if(!t)throw new Error("InsertChild error: child is required.");if(!(t instanceof hf)){if(!r){const l=this.getChildren(!0);l.includes(t.data)||(typeof o>"u"||o<0?l.push(t.data):l.splice(o,0,t.data))}Object.assign(t,{parent:this,store:this.store}),t=Dt(new hf(t)),t instanceof hf&&t.initialize()}t.level=this.level+1,typeof o>"u"||o<0?this.childNodes.push(t):this.childNodes.splice(o,0,t),this.updateLeafState()}insertBefore(t,o){let r;o&&(r=this.childNodes.indexOf(o)),this.insertChild(t,r)}insertAfter(t,o){let r;o&&(r=this.childNodes.indexOf(o),r!==-1&&(r+=1)),this.insertChild(t,r)}removeChild(t){const o=this.getChildren()||[],r=o.indexOf(t.data);r>-1&&o.splice(r,1);const l=this.childNodes.indexOf(t);l>-1&&(this.store&&this.store.deregisterNode(t),t.parent=null,this.childNodes.splice(l,1)),this.updateLeafState()}removeChildByData(t){let o=null;for(let r=0;r{if(o){let l=this.parent;for(;l.level>0;)l.expanded=!0,l=l.parent}this.expanded=!0,t&&t(),this.childNodes.forEach(l=>{l.canFocus=!0})};this.shouldLoadData()?this.loadData(l=>{Array.isArray(l)&&(this.checked?this.setChecked(!0,!0):this.store.checkStrictly||Qc(this),r())}):r()}doCreateChildren(t,o={}){t.forEach(r=>{this.insertChild(Object.assign({data:r},o),void 0,!0)})}collapse(){this.expanded=!1,this.childNodes.forEach(t=>{t.canFocus=!1})}shouldLoadData(){return this.store.lazy===!0&&this.store.load&&!this.loaded}updateLeafState(){if(this.store.lazy===!0&&this.loaded!==!0&&typeof this.isLeafByUser<"u"){this.isLeaf=this.isLeafByUser;return}const t=this.childNodes;if(!this.store.lazy||this.store.lazy===!0&&this.loaded===!0){this.isLeaf=!t||t.length===0;return}this.isLeaf=!1}setChecked(t,o,r,l){if(this.indeterminate=t==="half",this.checked=t===!0,this.store.checkStrictly)return;if(!(this.shouldLoadData()&&!this.store.checkDescendants)){const{all:a,allWithoutDisable:i}=H2(this.childNodes);!this.isLeaf&&!a&&i&&(this.checked=!1,t=!1);const c=()=>{if(o){const d=this.childNodes;for(let h=0,v=d.length;h{c(),Qc(this)},{checked:t!==!1});return}else c()}const n=this.parent;!n||n.level===0||r||Qc(n)}getChildren(t=!1){if(this.level===0)return this.data;const o=this.data;if(!o)return null;const r=this.store.props;let l="children";return r&&(l=r.children||"children"),o[l]===void 0&&(o[l]=null),t&&!o[l]&&(o[l]=[]),o[l]}updateChildren(){const t=this.getChildren()||[],o=this.childNodes.map(n=>n.data),r={},l=[];t.forEach((n,a)=>{const i=n[vs];!!i&&o.findIndex(d=>d[vs]===i)>=0?r[i]={index:a,data:n}:l.push({index:a,data:n})}),this.store.lazy||o.forEach(n=>{r[n[vs]]||this.removeChildByData(n)}),l.forEach(({index:n,data:a})=>{this.insertChild({data:a},n)}),this.updateLeafState()}loadData(t,o={}){if(this.store.lazy===!0&&this.store.load&&!this.loaded&&(!this.loading||Object.keys(o).length)){this.loading=!0;const r=n=>{this.childNodes=[],this.doCreateChildren(n,o),this.loaded=!0,this.loading=!1,this.updateLeafState(),t&&t.call(this,n)},l=()=>{this.loading=!1};this.store.load(this,r,l)}else t&&t.call(this)}eachNode(t){const o=[this];for(;o.length;){const r=o.shift();o.unshift(...r.childNodes),t(r)}}reInitChecked(){this.store.checkStrictly||Qc(this)}};class Wie{constructor(t){this.currentNode=null,this.currentNodeKey=null;for(const o in t)Pt(t,o)&&(this[o]=t[o]);this.nodesMap={}}initialize(){if(this.root=new F2({data:this.data,store:this}),this.root.initialize(),this.lazy&&this.load){const t=this.load;t(this.root,o=>{this.root.doCreateChildren(o),this._initDefaultCheckedNodes()})}else this._initDefaultCheckedNodes()}filter(t){const o=this.filterNodeMethod,r=this.lazy,l=function(n){const a=n.root?n.root.childNodes:n.childNodes;if(a.forEach(i=>{i.visible=o.call(i,t,i.data,i),l(i)}),!n.visible&&a.length){let i=!0;i=!a.some(c=>c.visible),n.root?n.root.visible=i===!1:n.visible=i===!1}t&&n.visible&&!n.isLeaf&&(!r||n.loaded)&&n.expand()};l(this)}setData(t){t!==this.root.data?(this.root.setData(t),this._initDefaultCheckedNodes()):this.root.updateChildren()}getNode(t){if(t instanceof F2)return t;const o=xt(t)?V2(this.key,t):t;return this.nodesMap[o]||null}insertBefore(t,o){const r=this.getNode(o);r.parent.insertBefore({data:t},r)}insertAfter(t,o){const r=this.getNode(o);r.parent.insertAfter({data:t},r)}remove(t){const o=this.getNode(t);o&&o.parent&&(o===this.currentNode&&(this.currentNode=null),o.parent.removeChild(o))}append(t,o){const r=Na(o)?this.root:this.getNode(o);r&&r.insertChild({data:t})}_initDefaultCheckedNodes(){const t=this.defaultCheckedKeys||[],o=this.nodesMap;t.forEach(r=>{const l=o[r];l&&l.setChecked(!0,!this.checkStrictly)})}_initDefaultCheckedNode(t){(this.defaultCheckedKeys||[]).includes(t.key)&&t.setChecked(!0,!this.checkStrictly)}setDefaultCheckedKey(t){t!==this.defaultCheckedKeys&&(this.defaultCheckedKeys=t,this._initDefaultCheckedNodes())}registerNode(t){const o=this.key;!t||!t.data||(o?t.key!==void 0&&(this.nodesMap[t.key]=t):this.nodesMap[t.id]=t)}deregisterNode(t){!this.key||!t||!t.data||(t.childNodes.forEach(r=>{this.deregisterNode(r)}),delete this.nodesMap[t.key])}getCheckedNodes(t=!1,o=!1){const r=[],l=function(n){(n.root?n.root.childNodes:n.childNodes).forEach(i=>{(i.checked||o&&i.indeterminate)&&(!t||t&&i.isLeaf)&&r.push(i.data),l(i)})};return l(this),r}getCheckedKeys(t=!1){return this.getCheckedNodes(t).map(o=>(o||{})[this.key])}getHalfCheckedNodes(){const t=[],o=function(r){(r.root?r.root.childNodes:r.childNodes).forEach(n=>{n.indeterminate&&t.push(n.data),o(n)})};return o(this),t}getHalfCheckedKeys(){return this.getHalfCheckedNodes().map(t=>(t||{})[this.key])}_getAllNodes(){const t=[],o=this.nodesMap;for(const r in o)Pt(o,r)&&t.push(o[r]);return t}updateChildren(t,o){const r=this.nodesMap[t];if(!r)return;const l=r.childNodes;for(let n=l.length-1;n>=0;n--){const a=l[n];this.remove(a.data)}for(let n=0,a=o.length;nc.level-d.level),n=Object.create(null),a=Object.keys(r);l.forEach(c=>c.setChecked(!1,!1));const i=c=>{c.childNodes.forEach(d=>{var u;n[d.data[t]]=!0,(u=d.childNodes)!=null&&u.length&&i(d)})};for(let c=0,d=l.length;c{_.isLeaf||_.setChecked(!1,!1),v(_)})};v(u)}}}setCheckedNodes(t,o=!1){const r=this.key,l={};t.forEach(n=>{l[(n||{})[r]]=!0}),this._setCheckedKeys(r,o,l)}setCheckedKeys(t,o=!1){this.defaultCheckedKeys=t;const r=this.key,l={};t.forEach(n=>{l[n]=!0}),this._setCheckedKeys(r,o,l)}setDefaultExpandedKeys(t){t=t||[],this.defaultExpandedKeys=t,t.forEach(o=>{const r=this.getNode(o);r&&r.expand(null,this.autoExpandParent)})}setChecked(t,o,r){const l=this.getNode(t);l&&l.setChecked(!!o,r)}getCurrentNode(){return this.currentNode}setCurrentNode(t){const o=this.currentNode;o&&(o.isCurrent=!1),this.currentNode=t,this.currentNode.isCurrent=!0}setUserCurrentNode(t,o=!0){const r=t[this.key],l=this.nodesMap[r];this.setCurrentNode(l),o&&this.currentNode.level>1&&this.currentNode.parent.expand(null,!0)}setCurrentNodeKey(t,o=!0){if(t==null){this.currentNode&&(this.currentNode.isCurrent=!1),this.currentNode=null;return}const r=this.getNode(t);r&&(this.setCurrentNode(r),o&&this.currentNode.level>1&&this.currentNode.parent.expand(null,!0))}}var qie=Le(N({name:"ElTreeNodeContent",props:{node:{type:Object,required:!0},renderContent:Function},setup(e){const t=ze("tree"),o=Ge("NodeInstance"),r=Ge("RootTree");return()=>{const l=e.node,{data:n,store:a}=l;return e.renderContent?e.renderContent(rt,{_self:o,node:l,data:n,store:a}):be(r.ctx.slots,"default",{node:l,data:n},()=>[rt("span",{class:t.be("node","label")},[l.label])])}}}),[["__file","tree-node-content.vue"]]);function mx(e){const t=Ge("TreeNodeMap",null),o={treeNodeExpand:r=>{e.node!==r&&e.node.collapse()},children:[]};return t&&t.children.push(o),zt("TreeNodeMap",o),{broadcastExpanded:r=>{if(e.accordion)for(const l of o.children)l.treeNodeExpand(r)}}}const gx=Symbol("dragEvents");function Yie({props:e,ctx:t,el$:o,dropIndicator$:r,store:l}){const n=ze("tree"),a=D({showDropIndicator:!1,draggingNode:null,dropNode:null,allowDrop:!0,dropType:null});return zt(gx,{treeNodeDragStart:({event:u,treeNode:p})=>{if(typeof e.allowDrag=="function"&&!e.allowDrag(p.node))return u.preventDefault(),!1;u.dataTransfer.effectAllowed="move";try{u.dataTransfer.setData("text/plain","")}catch{}a.value.draggingNode=p,t.emit("node-drag-start",p.node,u)},treeNodeDragOver:({event:u,treeNode:p})=>{const h=p,v=a.value.dropNode;v&&v.node.id!==h.node.id&&ar(v.$el,n.is("drop-inner"));const m=a.value.draggingNode;if(!m||!h)return;let f=!0,_=!0,g=!0,y=!0;typeof e.allowDrop=="function"&&(f=e.allowDrop(m.node,h.node,"prev"),y=_=e.allowDrop(m.node,h.node,"inner"),g=e.allowDrop(m.node,h.node,"next")),u.dataTransfer.dropEffect=_||f||g?"move":"none",(f||_||g)&&(v==null?void 0:v.node.id)!==h.node.id&&(v&&t.emit("node-drag-leave",m.node,v.node,u),t.emit("node-drag-enter",m.node,h.node,u)),f||_||g?a.value.dropNode=h:a.value.dropNode=null,h.node.nextSibling===m.node&&(g=!1),h.node.previousSibling===m.node&&(f=!1),h.node.contains(m.node,!1)&&(_=!1),(m.node===h.node||m.node.contains(h.node))&&(f=!1,_=!1,g=!1);const w=h.$el.querySelector(`.${n.be("node","content")}`).getBoundingClientRect(),x=o.value.getBoundingClientRect();let $;const T=f?_?.25:g?.45:1:-1,R=g?_?.75:f?.55:0:1;let P=-9999;const L=u.clientY-w.top;Lw.height*R?$="after":_?$="inner":$="none";const B=h.$el.querySelector(`.${n.be("node","expand-icon")}`).getBoundingClientRect(),V=r.value;$==="before"?P=B.top-x.top:$==="after"&&(P=B.bottom-x.top),V.style.top=`${P}px`,V.style.left=`${B.right-x.left}px`,$==="inner"?Zr(h.$el,n.is("drop-inner")):ar(h.$el,n.is("drop-inner")),a.value.showDropIndicator=$==="before"||$==="after",a.value.allowDrop=a.value.showDropIndicator||y,a.value.dropType=$,t.emit("node-drag-over",m.node,h.node,u)},treeNodeDragEnd:u=>{const{draggingNode:p,dropType:h,dropNode:v}=a.value;if(u.preventDefault(),u.dataTransfer.dropEffect="move",p&&v){const m={data:p.node.data};h!=="none"&&p.node.remove(),h==="before"?v.node.parent.insertBefore(m,v.node):h==="after"?v.node.parent.insertAfter(m,v.node):h==="inner"&&v.node.insertChild(m),h!=="none"&&(l.value.registerNode(m),l.value.key&&p.node.eachNode(f=>{var _;(_=l.value.nodesMap[f.data[l.value.key]])==null||_.setChecked(f.checked,!l.value.checkStrictly)})),ar(v.$el,n.is("drop-inner")),t.emit("node-drag-end",p.node,v.node,h,u),h!=="none"&&t.emit("node-drop",p.node,v.node,h,u)}p&&!v&&t.emit("node-drag-end",p.node,null,h,u),a.value.showDropIndicator=!1,a.value.draggingNode=null,a.value.dropNode=null,a.value.allowDrop=!0}}),{dragState:a}}const Gie=N({name:"ElTreeNode",components:{ElCollapseTransition:gp,ElCheckbox:rl,NodeContent:qie,ElIcon:Ze,Loading:vn},props:{node:{type:F2,default:()=>({})},props:{type:Object,default:()=>({})},accordion:Boolean,renderContent:Function,renderAfterExpand:Boolean,showCheckbox:{type:Boolean,default:!1}},emits:["node-expand"],setup(e,t){const o=ze("tree"),{broadcastExpanded:r}=mx(e),l=Ge("RootTree"),n=D(!1),a=D(!1),i=D(null),c=D(null),d=D(null),u=Ge(gx),p=wt();zt("NodeInstance",p),e.node.expanded&&(n.value=!0,a.value=!0);const h=l.props.props.children||"children";Se(()=>{const L=e.node.data[h];return L&&[...L]},()=>{e.node.updateChildren()}),Se(()=>e.node.indeterminate,L=>{f(e.node.checked,L)}),Se(()=>e.node.checked,L=>{f(L,e.node.indeterminate)}),Se(()=>e.node.childNodes.length,()=>e.node.reInitChecked()),Se(()=>e.node.expanded,L=>{et(()=>n.value=L),L&&(a.value=!0)});const v=L=>V2(l.props.nodeKey,L.data),m=L=>{const B=e.props.class;if(!B)return{};let V;if(it(B)){const{data:j}=L;V=B(j,L)}else V=B;return ut(V)?{[V]:!0}:V},f=(L,B)=>{(i.value!==L||c.value!==B)&&l.ctx.emit("check-change",e.node.data,L,B),i.value=L,c.value=B},_=L=>{D2(l.store,l.ctx.emit,()=>l.store.value.setCurrentNode(e.node)),l.currentNode.value=e.node,l.props.expandOnClickNode&&y(),l.props.checkOnClickNode&&!e.node.disabled&&w(null,{target:{checked:!e.node.checked}}),l.ctx.emit("node-click",e.node.data,e.node,p,L)},g=L=>{l.instance.vnode.props.onNodeContextmenu&&(L.stopPropagation(),L.preventDefault()),l.ctx.emit("node-contextmenu",L,e.node.data,e.node,p)},y=()=>{e.node.isLeaf||(n.value?(l.ctx.emit("node-collapse",e.node.data,e.node,p),e.node.collapse()):(e.node.expand(),t.emit("node-expand",e.node.data,e.node,p)))},w=(L,B)=>{e.node.setChecked(B.target.checked,!l.props.checkStrictly),et(()=>{const V=l.store.value;l.ctx.emit("check",e.node.data,{checkedNodes:V.getCheckedNodes(),checkedKeys:V.getCheckedKeys(),halfCheckedNodes:V.getHalfCheckedNodes(),halfCheckedKeys:V.getHalfCheckedKeys()})})};return{ns:o,node$:d,tree:l,expanded:n,childNodeRendered:a,oldChecked:i,oldIndeterminate:c,getNodeKey:v,getNodeClass:m,handleSelectChange:f,handleClick:_,handleContextMenu:g,handleExpandIconClick:y,handleCheckChange:w,handleChildNodeExpand:(L,B,V)=>{r(B),l.ctx.emit("node-expand",L,B,V)},handleDragStart:L=>{l.props.draggable&&u.treeNodeDragStart({event:L,treeNode:e})},handleDragOver:L=>{L.preventDefault(),l.props.draggable&&u.treeNodeDragOver({event:L,treeNode:{$el:d.value,node:e.node}})},handleDrop:L=>{L.preventDefault()},handleDragEnd:L=>{l.props.draggable&&u.treeNodeDragEnd(L)},CaretRight:dh}}}),Xie=["aria-expanded","aria-disabled","aria-checked","draggable","data-key"],Zie=["aria-expanded"];function Jie(e,t,o,r,l,n){const a=nt("el-icon"),i=nt("el-checkbox"),c=nt("loading"),d=nt("node-content"),u=nt("el-tree-node"),p=nt("el-collapse-transition");return mt((b(),M("div",{ref:"node$",class:O([e.ns.b("node"),e.ns.is("expanded",e.expanded),e.ns.is("current",e.node.isCurrent),e.ns.is("hidden",!e.node.visible),e.ns.is("focusable",!e.node.disabled),e.ns.is("checked",!e.node.disabled&&e.node.checked),e.getNodeClass(e.node)]),role:"treeitem",tabindex:"-1","aria-expanded":e.expanded,"aria-disabled":e.node.disabled,"aria-checked":e.node.checked,draggable:e.tree.props.draggable,"data-key":e.getNodeKey(e.node),onClick:t[1]||(t[1]=ct((...h)=>e.handleClick&&e.handleClick(...h),["stop"])),onContextmenu:t[2]||(t[2]=(...h)=>e.handleContextMenu&&e.handleContextMenu(...h)),onDragstart:t[3]||(t[3]=ct((...h)=>e.handleDragStart&&e.handleDragStart(...h),["stop"])),onDragover:t[4]||(t[4]=ct((...h)=>e.handleDragOver&&e.handleDragOver(...h),["stop"])),onDragend:t[5]||(t[5]=ct((...h)=>e.handleDragEnd&&e.handleDragEnd(...h),["stop"])),onDrop:t[6]||(t[6]=ct((...h)=>e.handleDrop&&e.handleDrop(...h),["stop"]))},[E("div",{class:O(e.ns.be("node","content")),style:Je({paddingLeft:(e.node.level-1)*e.tree.props.indent+"px"})},[e.tree.props.icon||e.CaretRight?(b(),he(a,{key:0,class:O([e.ns.be("node","expand-icon"),e.ns.is("leaf",e.node.isLeaf),{expanded:!e.node.isLeaf&&e.expanded}]),onClick:ct(e.handleExpandIconClick,["stop"])},{default:le(()=>[(b(),he(Et(e.tree.props.icon||e.CaretRight)))]),_:1},8,["class","onClick"])):se("v-if",!0),e.showCheckbox?(b(),he(i,{key:1,"model-value":e.node.checked,indeterminate:e.node.indeterminate,disabled:!!e.node.disabled,onClick:t[0]||(t[0]=ct(()=>{},["stop"])),onChange:e.handleCheckChange},null,8,["model-value","indeterminate","disabled","onChange"])):se("v-if",!0),e.node.loading?(b(),he(a,{key:2,class:O([e.ns.be("node","loading-icon"),e.ns.is("loading")])},{default:le(()=>[ee(c)]),_:1},8,["class"])):se("v-if",!0),ee(d,{node:e.node,"render-content":e.renderContent},null,8,["node","render-content"])],6),ee(p,null,{default:le(()=>[!e.renderAfterExpand||e.childNodeRendered?mt((b(),M("div",{key:0,class:O(e.ns.be("node","children")),role:"group","aria-expanded":e.expanded},[(b(!0),M(Qe,null,It(e.node.childNodes,h=>(b(),he(u,{key:e.getNodeKey(h),"render-content":e.renderContent,"render-after-expand":e.renderAfterExpand,"show-checkbox":e.showCheckbox,node:h,accordion:e.accordion,props:e.props,onNodeExpand:e.handleChildNodeExpand},null,8,["render-content","render-after-expand","show-checkbox","node","accordion","props","onNodeExpand"]))),128))],10,Zie)),[[Lt,e.expanded]]):se("v-if",!0)]),_:1})],42,Xie)),[[Lt,e.node.visible]])}var Qie=Le(Gie,[["render",Jie],["__file","tree-node.vue"]]);function ese({el$:e},t){const o=ze("tree"),r=lo([]),l=lo([]);ft(()=>{a()}),rn(()=>{r.value=Array.from(e.value.querySelectorAll("[role=treeitem]")),l.value=Array.from(e.value.querySelectorAll("input[type=checkbox]"))}),Se(l,i=>{i.forEach(c=>{c.setAttribute("tabindex","-1")})}),oo(e,"keydown",i=>{const c=i.target;if(!c.className.includes(o.b("node")))return;const d=i.code;r.value=Array.from(e.value.querySelectorAll(`.${o.is("focusable")}[role=treeitem]`));const u=r.value.indexOf(c);let p;if([lt.up,lt.down].includes(d)){if(i.preventDefault(),d===lt.up){p=u===-1?0:u!==0?u-1:r.value.length-1;const v=p;for(;!t.value.getNode(r.value[p].dataset.key).canFocus;){if(p--,p===v){p=-1;break}p<0&&(p=r.value.length-1)}}else{p=u===-1?0:u=r.value.length&&(p=0)}}p!==-1&&r.value[p].focus()}[lt.left,lt.right].includes(d)&&(i.preventDefault(),c.click());const h=c.querySelector('[type="checkbox"]');[lt.enter,lt.space].includes(d)&&h&&(i.preventDefault(),h.click())});const a=()=>{var i;r.value=Array.from(e.value.querySelectorAll(`.${o.is("focusable")}[role=treeitem]`)),l.value=Array.from(e.value.querySelectorAll("input[type=checkbox]"));const c=e.value.querySelectorAll(`.${o.is("checked")}[role=treeitem]`);if(c.length){c[0].setAttribute("tabindex","0");return}(i=r.value[0])==null||i.setAttribute("tabindex","0")}}const tse=N({name:"ElTree",components:{ElTreeNode:Qie},props:{data:{type:Array,default:()=>[]},emptyText:{type:String},renderAfterExpand:{type:Boolean,default:!0},nodeKey:String,checkStrictly:Boolean,defaultExpandAll:Boolean,expandOnClickNode:{type:Boolean,default:!0},checkOnClickNode:Boolean,checkDescendants:{type:Boolean,default:!1},autoExpandParent:{type:Boolean,default:!0},defaultCheckedKeys:Array,defaultExpandedKeys:Array,currentNodeKey:[String,Number],renderContent:Function,showCheckbox:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},allowDrag:Function,allowDrop:Function,props:{type:Object,default:()=>({children:"children",label:"label",disabled:"disabled"})},lazy:{type:Boolean,default:!1},highlightCurrent:Boolean,load:Function,filterNodeMethod:Function,accordion:Boolean,indent:{type:Number,default:18},icon:{type:Xt}},emits:["check-change","current-change","node-click","node-contextmenu","node-collapse","node-expand","check","node-drag-start","node-drag-end","node-drop","node-drag-leave","node-drag-enter","node-drag-over"],setup(e,t){const{t:o}=Rt(),r=ze("tree"),l=Ge(ls,null),n=D(new Wie({key:e.nodeKey,data:e.data,lazy:e.lazy,props:e.props,load:e.load,currentNodeKey:e.currentNodeKey,checkStrictly:e.checkStrictly,checkDescendants:e.checkDescendants,defaultCheckedKeys:e.defaultCheckedKeys,defaultExpandedKeys:e.defaultExpandedKeys,autoExpandParent:e.autoExpandParent,defaultExpandAll:e.defaultExpandAll,filterNodeMethod:e.filterNodeMethod}));n.value.initialize();const a=D(n.value.root),i=D(null),c=D(null),d=D(null),{broadcastExpanded:u}=mx(e),{dragState:p}=Yie({props:e,ctx:t,el$:c,dropIndicator$:d,store:n});ese({el$:c},n);const h=C(()=>{const{childNodes:K}=a.value,I=l?l.hasFilteredOptions!==0:!1;return(!K||K.length===0||K.every(({visible:U})=>!U))&&!I});Se(()=>e.currentNodeKey,K=>{n.value.setCurrentNodeKey(K)}),Se(()=>e.defaultCheckedKeys,K=>{n.value.setDefaultCheckedKey(K)}),Se(()=>e.defaultExpandedKeys,K=>{n.value.setDefaultExpandedKeys(K)}),Se(()=>e.data,K=>{n.value.setData(K)},{deep:!0}),Se(()=>e.checkStrictly,K=>{n.value.checkStrictly=K});const v=K=>{if(!e.filterNodeMethod)throw new Error("[Tree] filterNodeMethod is required when filter");n.value.filter(K)},m=K=>V2(e.nodeKey,K.data),f=K=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in getNodePath");const I=n.value.getNode(K);if(!I)return[];const U=[I.data];let oe=I.parent;for(;oe&&oe!==a.value;)U.push(oe.data),oe=oe.parent;return U.reverse()},_=(K,I)=>n.value.getCheckedNodes(K,I),g=K=>n.value.getCheckedKeys(K),y=()=>{const K=n.value.getCurrentNode();return K?K.data:null},w=()=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in getCurrentKey");const K=y();return K?K[e.nodeKey]:null},x=(K,I)=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in setCheckedNodes");n.value.setCheckedNodes(K,I)},$=(K,I)=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in setCheckedKeys");n.value.setCheckedKeys(K,I)},T=(K,I,U)=>{n.value.setChecked(K,I,U)},R=()=>n.value.getHalfCheckedNodes(),P=()=>n.value.getHalfCheckedKeys(),L=(K,I=!0)=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in setCurrentNode");D2(n,t.emit,()=>n.value.setUserCurrentNode(K,I))},B=(K,I=!0)=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in setCurrentKey");D2(n,t.emit,()=>n.value.setCurrentNodeKey(K,I))},V=K=>n.value.getNode(K),j=K=>{n.value.remove(K)},te=(K,I)=>{n.value.append(K,I)},J=(K,I)=>{n.value.insertBefore(K,I)},Z=(K,I)=>{n.value.insertAfter(K,I)},H=(K,I,U)=>{u(I),t.emit("node-expand",K,I,U)},F=(K,I)=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in updateKeyChild");n.value.updateChildren(K,I)};return zt("RootTree",{ctx:t,props:e,store:n,root:a,currentNode:i,instance:wt()}),zt(Hl,void 0),{ns:r,store:n,root:a,currentNode:i,dragState:p,el$:c,dropIndicator$:d,isEmpty:h,filter:v,getNodeKey:m,getNodePath:f,getCheckedNodes:_,getCheckedKeys:g,getCurrentNode:y,getCurrentKey:w,setCheckedNodes:x,setCheckedKeys:$,setChecked:T,getHalfCheckedNodes:R,getHalfCheckedKeys:P,setCurrentNode:L,setCurrentKey:B,t:o,getNode:V,remove:j,append:te,insertBefore:J,insertAfter:Z,handleNodeExpand:H,updateKeyChildren:F}}});function ose(e,t,o,r,l,n){const a=nt("el-tree-node");return b(),M("div",{ref:"el$",class:O([e.ns.b(),e.ns.is("dragging",!!e.dragState.draggingNode),e.ns.is("drop-not-allow",!e.dragState.allowDrop),e.ns.is("drop-inner",e.dragState.dropType==="inner"),{[e.ns.m("highlight-current")]:e.highlightCurrent}]),role:"tree"},[(b(!0),M(Qe,null,It(e.root.childNodes,i=>(b(),he(a,{key:e.getNodeKey(i),node:i,props:e.props,accordion:e.accordion,"render-after-expand":e.renderAfterExpand,"show-checkbox":e.showCheckbox,"render-content":e.renderContent,onNodeExpand:e.handleNodeExpand},null,8,["node","props","accordion","render-after-expand","show-checkbox","render-content","onNodeExpand"]))),128)),e.isEmpty?(b(),M("div",{key:0,class:O(e.ns.e("empty-block"))},[be(e.$slots,"empty",{},()=>{var i;return[E("span",{class:O(e.ns.e("empty-text"))},$e((i=e.emptyText)!=null?i:e.t("el.tree.emptyText")),3)]})],2)):se("v-if",!0),mt(E("div",{ref:"dropIndicator$",class:O(e.ns.e("drop-indicator"))},null,2),[[Lt,e.dragState.showDropIndicator]])],2)}var Fp=Le(tse,[["render",ose],["__file","tree.vue"]]);Fp.install=e=>{e.component(Fp.name,Fp)};const jp=Fp,rse=jp,lse=(e,{attrs:t,emit:o},{select:r,tree:l,key:n})=>{const a=ze("tree-select");return Se(()=>e.data,()=>{e.filterable&&et(()=>{var c,d;(d=l.value)==null||d.filter((c=r.value)==null?void 0:c.states.inputValue)})},{flush:"post"}),{...Ol(Bo(e),Object.keys(Za.props)),...t,"onUpdate:modelValue":c=>o(St,c),valueKey:n,popperClass:C(()=>{const c=[a.e("popper")];return e.popperClass&&c.push(e.popperClass),c.join(" ")}),filterMethod:(c="")=>{var d;e.filterMethod?e.filterMethod(c):e.remoteMethod?e.remoteMethod(c):(d=l.value)==null||d.filter(c)}}},nse=N({extends:Cp,setup(e,t){const o=Cp.setup(e,t);delete o.selectOptionClick;const r=wt().proxy;return et(()=>{o.select.states.cachedOptions.get(r.value)||o.select.onOptionCreate(r)}),o},methods:{selectOptionClick(){this.$el.parentElement.click()}}});function j2(e){return e||e===0}function K2(e){return Array.isArray(e)&&e.length}function eu(e){return Array.isArray(e)?e:j2(e)?[e]:[]}function Kp(e,t,o,r,l){for(let n=0;n{Se(()=>e.modelValue,()=>{e.showCheckbox&&et(()=>{const p=n.value;p&&!nr(p.getCheckedKeys(),eu(e.modelValue))&&p.setCheckedKeys(eu(e.modelValue))})},{immediate:!0,deep:!0});const i=C(()=>({value:a.value,label:"label",children:"children",disabled:"disabled",isLeaf:"isLeaf",...e.props})),c=(p,h)=>{var v;const m=i.value[p];return it(m)?m(h,(v=n.value)==null?void 0:v.getNode(c("value",h))):h[m]},d=eu(e.modelValue).map(p=>Kp(e.data||[],h=>c("value",h)===p,h=>c("children",h),(h,v,m,f)=>f&&c("value",f))).filter(p=>j2(p)),u=C(()=>{if(!e.renderAfterExpand&&!e.lazy)return[];const p=[];return U2(e.data.concat(e.cacheData),h=>{const v=c("value",h);p.push({value:v,currentLabel:c("label",h),isDisabled:c("disabled",h)})},h=>c("children",h)),p});return{...Ol(Bo(e),Object.keys(jp.props)),...t,nodeKey:a,expandOnClickNode:C(()=>!e.checkStrictly&&e.expandOnClickNode),defaultExpandedKeys:C(()=>e.defaultExpandedKeys?e.defaultExpandedKeys.concat(d):d),renderContent:(p,{node:h,data:v,store:m})=>p(nse,{value:c("value",v),label:c("label",v),disabled:c("disabled",v)},e.renderContent?()=>e.renderContent(p,{node:h,data:v,store:m}):o.default?()=>o.default({node:h,data:v,store:m}):void 0),filterNodeMethod:(p,h,v)=>e.filterNodeMethod?e.filterNodeMethod(p,h,v):p?new RegExp(ch(p),"i").test(c("label",h)||""):!0,onNodeClick:(p,h,v)=>{var m,f,_,g;if((m=t.onNodeClick)==null||m.call(t,p,h,v),!(e.showCheckbox&&e.checkOnClickNode)){if(!e.showCheckbox&&(e.checkStrictly||h.isLeaf)){if(!c("disabled",p)){const y=(f=l.value)==null?void 0:f.states.options.get(c("value",p));(_=l.value)==null||_.handleOptionSelect(y)}}else e.expandOnClickNode&&v.proxy.handleExpandIconClick();(g=l.value)==null||g.focus()}},onCheck:(p,h)=>{var v;if(!e.showCheckbox)return;const m=c("value",p),f={};U2([n.value.store.root],w=>f[w.key]=w,w=>w.childNodes);const _=h.checkedKeys,g=e.multiple?eu(e.modelValue).filter(w=>!(w in f)&&!_.includes(w)):[],y=g.concat(_);if(e.checkStrictly)r(St,e.multiple?y:y.includes(m)?m:void 0);else if(e.multiple)r(St,g.concat(n.value.getCheckedKeys(!0)));else{const w=Kp([p],T=>!K2(c("children",T))&&!c("disabled",T),T=>c("children",T)),x=w?c("value",w):void 0,$=j2(e.modelValue)&&!!Kp([p],T=>c("value",T)===e.modelValue,T=>c("children",T));r(St,x===e.modelValue||$?void 0:x)}et(()=>{var w;const x=eu(e.modelValue);n.value.setCheckedKeys(x),(w=t.onCheck)==null||w.call(t,p,{checkedKeys:n.value.getCheckedKeys(),checkedNodes:n.value.getCheckedNodes(),halfCheckedKeys:n.value.getHalfCheckedKeys(),halfCheckedNodes:n.value.getHalfCheckedNodes()})}),(v=l.value)==null||v.focus()},cacheOptions:u}};var ise=N({props:{data:{type:Array,default:()=>[]}},setup(e){const t=Ge(ls);return Se(()=>e.data,()=>{var o;e.data.forEach(l=>{t.states.cachedOptions.has(l.value)||t.states.cachedOptions.set(l.value,l)});const r=((o=t.selectRef)==null?void 0:o.querySelectorAll("input"))||[];Array.from(r).includes(document.activeElement)||t.setSelected()},{flush:"post",immediate:!0}),()=>{}}});const sse=N({name:"ElTreeSelect",inheritAttrs:!1,props:{...Za.props,...jp.props,cacheData:{type:Array,default:()=>[]}},setup(e,t){const{slots:o,expose:r}=t,l=D(),n=D(),a=C(()=>e.nodeKey||e.valueKey||"value"),i=lse(e,t,{select:l,tree:n,key:a}),{cacheOptions:c,...d}=ase(e,t,{select:l,tree:n,key:a}),u=Dt({});return r(u),ft(()=>{Object.assign(u,{...Ol(n.value,["filter","updateKeyChildren","getCheckedNodes","setCheckedNodes","getCheckedKeys","setCheckedKeys","setChecked","getHalfCheckedNodes","getHalfCheckedKeys","getCurrentKey","getCurrentNode","setCurrentKey","setCurrentNode","getNode","remove","append","insertBefore","insertAfter"]),...Ol(l.value,["focus","blur"])})}),()=>rt(Za,Dt({...i,ref:p=>l.value=p}),{...o,default:()=>[rt(ise,{data:c.value}),rt(jp,Dt({...d,ref:p=>n.value=p}))]})}});var Up=Le(sse,[["__file","tree-select.vue"]]);Up.install=e=>{e.component(Up.name,Up)};const cse=Up,W2=Symbol(),use={key:-1,level:-1,data:{}};var tu=(e=>(e.KEY="id",e.LABEL="label",e.CHILDREN="children",e.DISABLED="disabled",e))(tu||{}),q2=(e=>(e.ADD="add",e.DELETE="delete",e))(q2||{});const bx={type:Number,default:26},dse=Pe({data:{type:ue(Array),default:()=>uo([])},emptyText:{type:String},height:{type:Number,default:200},props:{type:ue(Object),default:()=>uo({children:"children",label:"label",disabled:"disabled",value:"id"})},highlightCurrent:{type:Boolean,default:!1},showCheckbox:{type:Boolean,default:!1},defaultCheckedKeys:{type:ue(Array),default:()=>uo([])},checkStrictly:{type:Boolean,default:!1},defaultExpandedKeys:{type:ue(Array),default:()=>uo([])},indent:{type:Number,default:16},itemSize:bx,icon:{type:Xt},expandOnClickNode:{type:Boolean,default:!0},checkOnClickNode:{type:Boolean,default:!1},currentNodeKey:{type:ue([String,Number])},accordion:{type:Boolean,default:!1},filterMethod:{type:ue(Function)},perfMode:{type:Boolean,default:!0}}),pse=Pe({node:{type:ue(Object),default:()=>uo(use)},expanded:{type:Boolean,default:!1},checked:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},showCheckbox:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},current:{type:Boolean,default:!1},hiddenExpandIcon:{type:Boolean,default:!1},itemSize:bx}),fse=Pe({node:{type:ue(Object),required:!0}}),_x="node-click",wx="node-expand",yx="node-collapse",xx="current-change",kx="check",Cx="check-change",Sx="node-contextmenu",hse={[_x]:(e,t,o)=>e&&t&&o,[wx]:(e,t)=>e&&t,[yx]:(e,t)=>e&&t,[xx]:(e,t)=>e&&t,[kx]:(e,t)=>e&&t,[Cx]:(e,t)=>e&&typeof t=="boolean",[Sx]:(e,t,o)=>e&&t&&o},vse={click:(e,t)=>!!(e&&t),toggle:e=>!!e,check:(e,t)=>e&&typeof t=="boolean"};function mse(e,t){const o=D(new Set),r=D(new Set),{emit:l}=wt();Se([()=>t.value,()=>e.defaultCheckedKeys],()=>et(()=>{y(e.defaultCheckedKeys)}),{immediate:!0});const n=()=>{if(!t.value||!e.showCheckbox||e.checkStrictly)return;const{levelTreeNodeMap:w,maxLevel:x}=t.value,$=o.value,T=new Set;for(let R=x-1;R>=1;--R){const P=w.get(R);P&&P.forEach(L=>{const B=L.children;if(B){let V=!0,j=!1;for(const te of B){const J=te.key;if($.has(J))j=!0;else if(T.has(J)){V=!1,j=!0;break}else V=!1}V?$.add(L.key):j?(T.add(L.key),$.delete(L.key)):($.delete(L.key),T.delete(L.key))}})}r.value=T},a=w=>o.value.has(w.key),i=w=>r.value.has(w.key),c=(w,x,$=!0)=>{const T=o.value,R=(P,L)=>{T[L?q2.ADD:q2.DELETE](P.key);const B=P.children;!e.checkStrictly&&B&&B.forEach(V=>{V.disabled||R(V,L)})};R(w,x),n(),$&&d(w,x)},d=(w,x)=>{const{checkedNodes:$,checkedKeys:T}=m(),{halfCheckedNodes:R,halfCheckedKeys:P}=f();l(kx,w.data,{checkedKeys:T,checkedNodes:$,halfCheckedKeys:P,halfCheckedNodes:R}),l(Cx,w.data,x)};function u(w=!1){return m(w).checkedKeys}function p(w=!1){return m(w).checkedNodes}function h(){return f().halfCheckedKeys}function v(){return f().halfCheckedNodes}function m(w=!1){const x=[],$=[];if(t!=null&&t.value&&e.showCheckbox){const{treeNodeMap:T}=t.value;o.value.forEach(R=>{const P=T.get(R);P&&(!w||w&&P.isLeaf)&&($.push(R),x.push(P.data))})}return{checkedKeys:$,checkedNodes:x}}function f(){const w=[],x=[];if(t!=null&&t.value&&e.showCheckbox){const{treeNodeMap:$}=t.value;r.value.forEach(T=>{const R=$.get(T);R&&(x.push(T),w.push(R.data))})}return{halfCheckedNodes:w,halfCheckedKeys:x}}function _(w){o.value.clear(),r.value.clear(),et(()=>{y(w)})}function g(w,x){if(t!=null&&t.value&&e.showCheckbox){const $=t.value.treeNodeMap.get(w);$&&c($,x,!1)}}function y(w){if(t!=null&&t.value){const{treeNodeMap:x}=t.value;if(e.showCheckbox&&x&&w)for(const $ of w){const T=x.get($);T&&!a(T)&&c(T,!0,!1)}}}return{updateCheckedKeys:n,toggleCheckbox:c,isChecked:a,isIndeterminate:i,getCheckedKeys:u,getCheckedNodes:p,getHalfCheckedKeys:h,getHalfCheckedNodes:v,setChecked:g,setCheckedKeys:_}}function gse(e,t){const o=D(new Set([])),r=D(new Set([])),l=C(()=>it(e.filterMethod));function n(i){var c;if(!l.value)return;const d=new Set,u=r.value,p=o.value,h=[],v=((c=t.value)==null?void 0:c.treeNodes)||[],m=e.filterMethod;p.clear();function f(_){_.forEach(g=>{h.push(g),m!=null&&m(i,g.data)?h.forEach(w=>{d.add(w.key)}):g.isLeaf&&p.add(g.key);const y=g.children;if(y&&f(y),!g.isLeaf){if(!d.has(g.key))p.add(g.key);else if(y){let w=!0;for(const x of y)if(!p.has(x.key)){w=!1;break}w?u.add(g.key):u.delete(g.key)}}h.pop()})}return f(v),d}function a(i){return r.value.has(i.key)}return{hiddenExpandIconKeySet:r,hiddenNodeKeySet:o,doFilter:n,isForceHiddenExpandIcon:a}}function bse(e,t){const o=D(new Set(e.defaultExpandedKeys)),r=D(),l=lo();Se(()=>e.currentNodeKey,me=>{r.value=me},{immediate:!0}),Se(()=>e.data,me=>{de(me)},{immediate:!0});const{isIndeterminate:n,isChecked:a,toggleCheckbox:i,getCheckedKeys:c,getCheckedNodes:d,getHalfCheckedKeys:u,getHalfCheckedNodes:p,setChecked:h,setCheckedKeys:v}=mse(e,l),{doFilter:m,hiddenNodeKeySet:f,isForceHiddenExpandIcon:_}=gse(e,l),g=C(()=>{var me;return((me=e.props)==null?void 0:me.value)||tu.KEY}),y=C(()=>{var me;return((me=e.props)==null?void 0:me.children)||tu.CHILDREN}),w=C(()=>{var me;return((me=e.props)==null?void 0:me.disabled)||tu.DISABLED}),x=C(()=>{var me;return((me=e.props)==null?void 0:me.label)||tu.LABEL}),$=C(()=>{const me=o.value,Re=f.value,Ce=[],Ee=l.value&&l.value.treeNodes||[];function De(){const ae=[];for(let pe=Ee.length-1;pe>=0;--pe)ae.push(Ee[pe]);for(;ae.length;){const pe=ae.pop();if(pe&&(Re.has(pe.key)||Ce.push(pe),me.has(pe.key))){const ke=pe.children;if(ke){const Oe=ke.length;for(let we=Oe-1;we>=0;--we)ae.push(ke[we])}}}}return De(),Ce}),T=C(()=>$.value.length>0);function R(me){const Re=new Map,Ce=new Map;let Ee=1;function De(pe,ke=1,Oe=void 0){var we;const Te=[];for(const Ne of pe){const Ie=B(Ne),Ae={level:ke,key:Ie,data:Ne};Ae.label=j(Ne),Ae.parent=Oe;const xe=L(Ne);Ae.disabled=V(Ne),Ae.isLeaf=!xe||xe.length===0,xe&&xe.length&&(Ae.children=De(xe,ke+1,Ae)),Te.push(Ae),Re.set(Ie,Ae),Ce.has(ke)||Ce.set(ke,[]),(we=Ce.get(ke))==null||we.push(Ae)}return ke>Ee&&(Ee=ke),Te}const ae=De(me);return{treeNodeMap:Re,levelTreeNodeMap:Ce,maxLevel:Ee,treeNodes:ae}}function P(me){const Re=m(me);Re&&(o.value=Re)}function L(me){return me[y.value]}function B(me){return me?me[g.value]:""}function V(me){return me[w.value]}function j(me){return me[x.value]}function te(me){o.value.has(me.key)?I(me):K(me)}function J(me){o.value=new Set(me)}function Z(me,Re){t(_x,me.data,me,Re),H(me),e.expandOnClickNode&&te(me),e.showCheckbox&&e.checkOnClickNode&&!me.disabled&&i(me,!a(me),!0)}function H(me){ne(me)||(r.value=me.key,t(xx,me.data,me))}function F(me,Re){i(me,Re)}function K(me){const Re=o.value;if(l.value&&e.accordion){const{treeNodeMap:Ce}=l.value;Re.forEach(Ee=>{const De=Ce.get(Ee);me&&me.level===(De==null?void 0:De.level)&&Re.delete(Ee)})}Re.add(me.key),t(wx,me.data,me)}function I(me){o.value.delete(me.key),t(yx,me.data,me)}function U(me){return o.value.has(me.key)}function oe(me){return!!me.disabled}function ne(me){const Re=r.value;return Re!==void 0&&Re===me.key}function ce(){var me,Re;if(r.value)return(Re=(me=l.value)==null?void 0:me.treeNodeMap.get(r.value))==null?void 0:Re.data}function Q(){return r.value}function Me(me){r.value=me}function de(me){et(()=>l.value=R(me))}function _e(me){var Re;const Ce=xt(me)?B(me):me;return(Re=l.value)==null?void 0:Re.treeNodeMap.get(Ce)}return{tree:l,flattenTree:$,isNotEmpty:T,getKey:B,getChildren:L,toggleExpand:te,toggleCheckbox:i,isExpanded:U,isChecked:a,isIndeterminate:n,isDisabled:oe,isCurrent:ne,isForceHiddenExpandIcon:_,handleNodeClick:Z,handleNodeCheck:F,getCurrentNode:ce,getCurrentKey:Q,setCurrentKey:Me,getCheckedKeys:c,getCheckedNodes:d,getHalfCheckedKeys:u,getHalfCheckedNodes:p,setChecked:h,setCheckedKeys:v,filter:P,setData:de,getNode:_e,expandNode:K,collapseNode:I,setExpandedKeys:J}}var _se=N({name:"ElTreeNodeContent",props:fse,setup(e){const t=Ge(W2),o=ze("tree");return()=>{const r=e.node,{data:l}=r;return t!=null&&t.ctx.slots.default?t.ctx.slots.default({node:r,data:l}):rt("span",{class:o.be("node","label")},[r==null?void 0:r.label])}}});const wse=["aria-expanded","aria-disabled","aria-checked","data-key","onClick"],yse=N({...N({name:"ElTreeNode"}),props:pse,emits:vse,setup(e,{emit:t}){const o=e,r=Ge(W2),l=ze("tree"),n=C(()=>{var p;return(p=r==null?void 0:r.props.indent)!=null?p:16}),a=C(()=>{var p;return(p=r==null?void 0:r.props.icon)!=null?p:dh}),i=p=>{t("click",o.node,p)},c=()=>{t("toggle",o.node)},d=p=>{t("check",o.node,p)},u=p=>{var h,v,m,f;(m=(v=(h=r==null?void 0:r.instance)==null?void 0:h.vnode)==null?void 0:v.props)!=null&&m.onNodeContextmenu&&(p.stopPropagation(),p.preventDefault()),r==null||r.ctx.emit(Sx,p,(f=o.node)==null?void 0:f.data,o.node)};return(p,h)=>{var v,m,f;return b(),M("div",{ref:"node$",class:O([s(l).b("node"),s(l).is("expanded",p.expanded),s(l).is("current",p.current),s(l).is("focusable",!p.disabled),s(l).is("checked",!p.disabled&&p.checked)]),role:"treeitem",tabindex:"-1","aria-expanded":p.expanded,"aria-disabled":p.disabled,"aria-checked":p.checked,"data-key":(v=p.node)==null?void 0:v.key,onClick:ct(i,["stop"]),onContextmenu:u},[E("div",{class:O(s(l).be("node","content")),style:Je({paddingLeft:`${(p.node.level-1)*s(n)}px`,height:p.itemSize+"px"})},[s(a)?(b(),he(s(Ze),{key:0,class:O([s(l).is("leaf",!!((m=p.node)!=null&&m.isLeaf)),s(l).is("hidden",p.hiddenExpandIcon),{expanded:!((f=p.node)!=null&&f.isLeaf)&&p.expanded},s(l).be("node","expand-icon")]),onClick:ct(c,["stop"])},{default:le(()=>[(b(),he(Et(s(a))))]),_:1},8,["class","onClick"])):se("v-if",!0),p.showCheckbox?(b(),he(s(rl),{key:1,"model-value":p.checked,indeterminate:p.indeterminate,disabled:p.disabled,onChange:d,onClick:h[0]||(h[0]=ct(()=>{},["stop"]))},null,8,["model-value","indeterminate","disabled"])):se("v-if",!0),ee(s(_se),{node:p.node},null,8,["node"])],6)],42,wse)}}});var xse=Le(yse,[["__file","tree-node.vue"]]);const kse=N({...N({name:"ElTreeV2"}),props:dse,emits:hse,setup(e,{expose:t,emit:o}){const r=e,l=Do(),n=C(()=>r.itemSize);zt(W2,{ctx:{emit:o,slots:l},props:r,instance:wt()}),zt(Hl,void 0);const{t:a}=Rt(),i=ze("tree"),{flattenTree:c,isNotEmpty:d,toggleExpand:u,isExpanded:p,isIndeterminate:h,isChecked:v,isDisabled:m,isCurrent:f,isForceHiddenExpandIcon:_,handleNodeClick:g,handleNodeCheck:y,toggleCheckbox:w,getCurrentNode:x,getCurrentKey:$,setCurrentKey:T,getCheckedKeys:R,getCheckedNodes:P,getHalfCheckedKeys:L,getHalfCheckedNodes:B,setChecked:V,setCheckedKeys:j,filter:te,setData:J,getNode:Z,expandNode:H,collapseNode:F,setExpandedKeys:K}=bse(r,o);return t({toggleCheckbox:w,getCurrentNode:x,getCurrentKey:$,setCurrentKey:T,getCheckedKeys:R,getCheckedNodes:P,getHalfCheckedKeys:L,getHalfCheckedNodes:B,setChecked:V,setCheckedKeys:j,filter:te,setData:J,getNode:Z,expandNode:H,collapseNode:F,setExpandedKeys:K}),(I,U)=>{var oe;return b(),M("div",{class:O([s(i).b(),{[s(i).m("highlight-current")]:I.highlightCurrent}]),role:"tree"},[s(d)?(b(),he(s(s8),{key:0,"class-name":s(i).b("virtual-list"),data:s(c),total:s(c).length,height:I.height,"item-size":s(n),"perf-mode":I.perfMode},{default:le(({data:ne,index:ce,style:Q})=>[(b(),he(xse,{key:ne[ce].key,style:Je(Q),node:ne[ce],expanded:s(p)(ne[ce]),"show-checkbox":I.showCheckbox,checked:s(v)(ne[ce]),indeterminate:s(h)(ne[ce]),"item-size":s(n),disabled:s(m)(ne[ce]),current:s(f)(ne[ce]),"hidden-expand-icon":s(_)(ne[ce]),onClick:s(g),onToggle:s(u),onCheck:s(y)},null,8,["style","node","expanded","show-checkbox","checked","indeterminate","item-size","disabled","current","hidden-expand-icon","onClick","onToggle","onCheck"]))]),_:1},8,["class-name","data","total","height","item-size","perf-mode"])):(b(),M("div",{key:1,class:O(s(i).e("empty-block"))},[E("span",{class:O(s(i).e("empty-text"))},$e((oe=I.emptyText)!=null?oe:s(a)("el.tree.emptyText")),3)],2))],2)}}});var Cse=Le(kse,[["__file","tree.vue"]]);const Sse=yt(Cse),Ex=Symbol("uploadContextKey"),Ese="ElUpload";class Tse extends Error{constructor(t,o,r,l){super(t),this.name="UploadAjaxError",this.status=o,this.method=r,this.url=l}}function Tx(e,t,o){let r;return o.response?r=`${o.response.error||o.response}`:o.responseText?r=`${o.responseText}`:r=`fail to ${t.method} ${e} ${o.status}`,new Tse(r,o.status,t.method,e)}function $se(e){const t=e.responseText||e.response;if(!t)return t;try{return JSON.parse(t)}catch{return t}}const Mse=e=>{typeof XMLHttpRequest>"u"&&Io(Ese,"XMLHttpRequest is undefined");const t=new XMLHttpRequest,o=e.action;t.upload&&t.upload.addEventListener("progress",n=>{const a=n;a.percent=n.total>0?n.loaded/n.total*100:0,e.onProgress(a)});const r=new FormData;if(e.data)for(const[n,a]of Object.entries(e.data))Ke(a)&&a.length?r.append(n,...a):r.append(n,a);r.append(e.filename,e.file,e.file.name),t.addEventListener("error",()=>{e.onError(Tx(o,e,t))}),t.addEventListener("load",()=>{if(t.status<200||t.status>=300)return e.onError(Tx(o,e,t));e.onSuccess($se(t))}),t.open(e.method,o,!0),e.withCredentials&&"withCredentials"in t&&(t.withCredentials=!0);const l=e.headers||{};if(l instanceof Headers)l.forEach((n,a)=>t.setRequestHeader(a,n));else for(const[n,a]of Object.entries(l))jo(a)||t.setRequestHeader(n,String(a));return t.send(r),t},$x=["text","picture","picture-card"];let Ase=1;const Y2=()=>Date.now()+Ase++,Mx=Pe({action:{type:String,default:"#"},headers:{type:ue(Object)},method:{type:String,default:"post"},data:{type:ue([Object,Function,Promise]),default:()=>uo({})},multiple:{type:Boolean,default:!1},name:{type:String,default:"file"},drag:{type:Boolean,default:!1},withCredentials:Boolean,showFileList:{type:Boolean,default:!0},accept:{type:String,default:""},fileList:{type:ue(Array),default:()=>uo([])},autoUpload:{type:Boolean,default:!0},listType:{type:String,values:$x,default:"text"},httpRequest:{type:ue(Function),default:Mse},disabled:Boolean,limit:Number}),zse=Pe({...Mx,beforeUpload:{type:ue(Function),default:Wt},beforeRemove:{type:ue(Function)},onRemove:{type:ue(Function),default:Wt},onChange:{type:ue(Function),default:Wt},onPreview:{type:ue(Function),default:Wt},onSuccess:{type:ue(Function),default:Wt},onProgress:{type:ue(Function),default:Wt},onError:{type:ue(Function),default:Wt},onExceed:{type:ue(Function),default:Wt},crossorigin:{type:ue(String)}}),Ise=Pe({files:{type:ue(Array),default:()=>uo([])},disabled:{type:Boolean,default:!1},handlePreview:{type:ue(Function),default:Wt},listType:{type:String,values:$x,default:"text"},crossorigin:{type:ue(String)}}),Ose={remove:e=>!!e},Nse=["onKeydown"],Pse=["src","crossorigin"],Rse=["onClick"],Lse=["title"],Bse=["onClick"],Vse=["onClick"],Dse=N({...N({name:"ElUploadList"}),props:Ise,emits:Ose,setup(e,{emit:t}){const o=e,{t:r}=Rt(),l=ze("upload"),n=ze("icon"),a=ze("list"),i=xr(),c=D(!1),d=C(()=>[l.b("list"),l.bm("list",o.listType),l.is("disabled",o.disabled)]),u=p=>{t("remove",p)};return(p,h)=>(b(),he(I1,{tag:"ul",class:O(s(d)),name:s(a).b()},{default:le(()=>[(b(!0),M(Qe,null,It(p.files,v=>(b(),M("li",{key:v.uid||v.name,class:O([s(l).be("list","item"),s(l).is(v.status),{focusing:c.value}]),tabindex:"0",onKeydown:Gt(m=>!s(i)&&u(v),["delete"]),onFocus:h[0]||(h[0]=m=>c.value=!0),onBlur:h[1]||(h[1]=m=>c.value=!1),onClick:h[2]||(h[2]=m=>c.value=!1)},[be(p.$slots,"default",{file:v},()=>[p.listType==="picture"||v.status!=="uploading"&&p.listType==="picture-card"?(b(),M("img",{key:0,class:O(s(l).be("list","item-thumbnail")),src:v.url,crossorigin:p.crossorigin,alt:""},null,10,Pse)):se("v-if",!0),v.status==="uploading"||p.listType!=="picture-card"?(b(),M("div",{key:1,class:O(s(l).be("list","item-info"))},[E("a",{class:O(s(l).be("list","item-name")),onClick:ct(m=>p.handlePreview(v),["prevent"])},[ee(s(Ze),{class:O(s(n).m("document"))},{default:le(()=>[ee(s(R3))]),_:1},8,["class"]),E("span",{class:O(s(l).be("list","item-file-name")),title:v.name},$e(v.name),11,Lse)],10,Rse),v.status==="uploading"?(b(),he(s(Xy),{key:0,type:p.listType==="picture-card"?"circle":"line","stroke-width":p.listType==="picture-card"?6:2,percentage:Number(v.percentage),style:Je(p.listType==="picture-card"?"":"margin-top: 0.5rem")},null,8,["type","stroke-width","percentage","style"])):se("v-if",!0)],2)):se("v-if",!0),E("label",{class:O(s(l).be("list","item-status-label"))},[p.listType==="text"?(b(),he(s(Ze),{key:0,class:O([s(n).m("upload-success"),s(n).m("circle-check")])},{default:le(()=>[ee(s(zd))]),_:1},8,["class"])):["picture-card","picture"].includes(p.listType)?(b(),he(s(Ze),{key:1,class:O([s(n).m("upload-success"),s(n).m("check")])},{default:le(()=>[ee(s(Li))]),_:1},8,["class"])):se("v-if",!0)],2),s(i)?se("v-if",!0):(b(),he(s(Ze),{key:2,class:O(s(n).m("close")),onClick:m=>u(v)},{default:le(()=>[ee(s(Jr))]),_:2},1032,["class","onClick"])),se(" Due to close btn only appears when li gets focused disappears after li gets blurred, thus keyboard navigation can never reach close btn"),se(" This is a bug which needs to be fixed "),se(" TODO: Fix the incorrect navigation interaction "),s(i)?se("v-if",!0):(b(),M("i",{key:3,class:O(s(n).m("close-tip"))},$e(s(r)("el.upload.deleteTip")),3)),p.listType==="picture-card"?(b(),M("span",{key:4,class:O(s(l).be("list","item-actions"))},[E("span",{class:O(s(l).be("list","item-preview")),onClick:m=>p.handlePreview(v)},[ee(s(Ze),{class:O(s(n).m("zoom-in"))},{default:le(()=>[ee(s(mh))]),_:1},8,["class"])],10,Bse),s(i)?se("v-if",!0):(b(),M("span",{key:0,class:O(s(l).be("list","item-delete")),onClick:m=>u(v)},[ee(s(Ze),{class:O(s(n).m("delete"))},{default:le(()=>[ee(s(P3))]),_:1},8,["class"])],10,Vse))],2)):se("v-if",!0)])],42,Nse))),128)),be(p.$slots,"append")]),_:3},8,["class","name"]))}});var Ax=Le(Dse,[["__file","upload-list.vue"]]);const Hse=Pe({disabled:{type:Boolean,default:!1}}),Fse={file:e=>Ke(e)},jse=["onDrop","onDragover"],zx="ElUploadDrag",Kse=N({...N({name:zx}),props:Hse,emits:Fse,setup(e,{emit:t}){Ge(Ex)||Io(zx,"usage: ");const r=ze("upload"),l=D(!1),n=xr(),a=c=>{if(n.value)return;l.value=!1,c.stopPropagation();const d=Array.from(c.dataTransfer.files);t("file",d)},i=()=>{n.value||(l.value=!0)};return(c,d)=>(b(),M("div",{class:O([s(r).b("dragger"),s(r).is("dragover",l.value)]),onDrop:ct(a,["prevent"]),onDragover:ct(i,["prevent"]),onDragleave:d[0]||(d[0]=ct(u=>l.value=!1,["prevent"]))},[be(c.$slots,"default")],42,jse))}});var Use=Le(Kse,[["__file","upload-dragger.vue"]]);const Wse=Pe({...Mx,beforeUpload:{type:ue(Function),default:Wt},onRemove:{type:ue(Function),default:Wt},onStart:{type:ue(Function),default:Wt},onSuccess:{type:ue(Function),default:Wt},onProgress:{type:ue(Function),default:Wt},onError:{type:ue(Function),default:Wt},onExceed:{type:ue(Function),default:Wt}}),qse=["onKeydown"],Yse=["name","multiple","accept"],Gse=N({...N({name:"ElUploadContent",inheritAttrs:!1}),props:Wse,setup(e,{expose:t}){const o=e,r=ze("upload"),l=xr(),n=lo({}),a=lo(),i=f=>{if(f.length===0)return;const{autoUpload:_,limit:g,fileList:y,multiple:w,onStart:x,onExceed:$}=o;if(g&&y.length+f.length>g){$(f,y);return}w||(f=f.slice(0,1));for(const T of f){const R=T;R.uid=Y2(),x(R),_&&c(R)}},c=async f=>{if(a.value.value="",!o.beforeUpload)return u(f);let _,g={};try{const w=o.data,x=o.beforeUpload(f);g=gu(o.data)?xd(o.data):o.data,_=await x,gu(o.data)&&nr(w,g)&&(g=xd(o.data))}catch{_=!1}if(_===!1){o.onRemove(f);return}let y=f;_ instanceof Blob&&(_ instanceof File?y=_:y=new File([_],f.name,{type:f.type})),u(Object.assign(y,{uid:f.uid}),g)},d=async(f,_)=>it(f)?f(_):f,u=async(f,_)=>{const{headers:g,data:y,method:w,withCredentials:x,name:$,action:T,onProgress:R,onSuccess:P,onError:L,httpRequest:B}=o;try{_=await d(_??y,f)}catch{o.onRemove(f);return}const{uid:V}=f,j={headers:g||{},withCredentials:x,file:f,data:_,method:w,filename:$,action:T,onProgress:J=>{R(J,f)},onSuccess:J=>{P(J,f),delete n.value[V]},onError:J=>{L(J,f),delete n.value[V]}},te=B(j);n.value[V]=te,te instanceof Promise&&te.then(j.onSuccess,j.onError)},p=f=>{const _=f.target.files;_&&i(Array.from(_))},h=()=>{l.value||(a.value.value="",a.value.click())},v=()=>{h()};return t({abort:f=>{Yz(n.value).filter(f?([g])=>String(f.uid)===g:()=>!0).forEach(([g,y])=>{y instanceof XMLHttpRequest&&y.abort(),delete n.value[g]})},upload:c}),(f,_)=>(b(),M("div",{class:O([s(r).b(),s(r).m(f.listType),s(r).is("drag",f.drag)]),tabindex:"0",onClick:h,onKeydown:Gt(ct(v,["self"]),["enter","space"])},[f.drag?(b(),he(Use,{key:0,disabled:s(l),onFile:i},{default:le(()=>[be(f.$slots,"default")]),_:3},8,["disabled"])):be(f.$slots,"default",{key:1}),E("input",{ref_key:"inputRef",ref:a,class:O(s(r).e("input")),name:f.name,multiple:f.multiple,accept:f.accept,type:"file",onChange:p,onClick:_[0]||(_[0]=ct(()=>{},["stop"]))},null,42,Yse)],42,qse))}});var Ix=Le(Gse,[["__file","upload-content.vue"]]);const Ox="ElUpload",Nx=e=>{var t;(t=e.url)!=null&&t.startsWith("blob:")&&URL.revokeObjectURL(e.url)},Xse=(e,t)=>{const o=a_(e,"fileList",void 0,{passive:!0}),r=h=>o.value.find(v=>v.uid===h.uid);function l(h){var v;(v=t.value)==null||v.abort(h)}function n(h=["ready","uploading","success","fail"]){o.value=o.value.filter(v=>!h.includes(v.status))}const a=(h,v)=>{const m=r(v);m&&(console.error(h),m.status="fail",o.value.splice(o.value.indexOf(m),1),e.onError(h,m,o.value),e.onChange(m,o.value))},i=(h,v)=>{const m=r(v);m&&(e.onProgress(h,m,o.value),m.status="uploading",m.percentage=Math.round(h.percent))},c=(h,v)=>{const m=r(v);m&&(m.status="success",m.response=h,e.onSuccess(h,m,o.value),e.onChange(m,o.value))},d=h=>{jo(h.uid)&&(h.uid=Y2());const v={name:h.name,percentage:0,status:"ready",size:h.size,raw:h,uid:h.uid};if(e.listType==="picture-card"||e.listType==="picture")try{v.url=URL.createObjectURL(h)}catch(m){m.message,e.onError(m,v,o.value)}o.value=[...o.value,v],e.onChange(v,o.value)},u=async h=>{const v=h instanceof File?r(h):h;v||Io(Ox,"file to be removed not found");const m=f=>{l(f);const _=o.value;_.splice(_.indexOf(f),1),e.onRemove(f,_),Nx(f)};e.beforeRemove?await e.beforeRemove(v,o.value)!==!1&&m(v):m(v)};function p(){o.value.filter(({status:h})=>h==="ready").forEach(({raw:h})=>{var v;return h&&((v=t.value)==null?void 0:v.upload(h))})}return Se(()=>e.listType,h=>{h!=="picture-card"&&h!=="picture"||(o.value=o.value.map(v=>{const{raw:m,url:f}=v;if(!f&&m)try{v.url=URL.createObjectURL(m)}catch(_){e.onError(_,v,o.value)}return v}))}),Se(o,h=>{for(const v of h)v.uid||(v.uid=Y2()),v.status||(v.status="success")},{immediate:!0,deep:!0}),{uploadFiles:o,abort:l,clearFiles:n,handleError:a,handleProgress:i,handleStart:d,handleSuccess:c,handleRemove:u,submit:p,revokeFileObjectURL:Nx}},Zse=N({...N({name:"ElUpload"}),props:zse,setup(e,{expose:t}){const o=e,r=xr(),l=lo(),{abort:n,submit:a,clearFiles:i,uploadFiles:c,handleStart:d,handleError:u,handleRemove:p,handleSuccess:h,handleProgress:v,revokeFileObjectURL:m}=Xse(o,l),f=C(()=>o.listType==="picture-card"),_=C(()=>({...o,fileList:c.value,onStart:d,onProgress:v,onSuccess:h,onError:u,onRemove:p}));return to(()=>{c.value.forEach(m)}),zt(Ex,{accept:Yt(o,"accept")}),t({abort:n,submit:a,clearFiles:i,handleStart:d,handleRemove:p}),(g,y)=>(b(),M("div",null,[s(f)&&g.showFileList?(b(),he(Ax,{key:0,disabled:s(r),"list-type":g.listType,files:s(c),crossorigin:g.crossorigin,"handle-preview":g.onPreview,onRemove:s(p)},ln({append:le(()=>[ee(Ix,Mt({ref_key:"uploadRef",ref:l},s(_)),{default:le(()=>[g.$slots.trigger?be(g.$slots,"trigger",{key:0}):se("v-if",!0),!g.$slots.trigger&&g.$slots.default?be(g.$slots,"default",{key:1}):se("v-if",!0)]),_:3},16)]),_:2},[g.$slots.file?{name:"default",fn:le(({file:w})=>[be(g.$slots,"file",{file:w})])}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):se("v-if",!0),!s(f)||s(f)&&!g.showFileList?(b(),he(Ix,Mt({key:1,ref_key:"uploadRef",ref:l},s(_)),{default:le(()=>[g.$slots.trigger?be(g.$slots,"trigger",{key:0}):se("v-if",!0),!g.$slots.trigger&&g.$slots.default?be(g.$slots,"default",{key:1}):se("v-if",!0)]),_:3},16)):se("v-if",!0),g.$slots.trigger?be(g.$slots,"default",{key:2}):se("v-if",!0),be(g.$slots,"tip"),!s(f)&&g.showFileList?(b(),he(Ax,{key:3,disabled:s(r),"list-type":g.listType,files:s(c),crossorigin:g.crossorigin,"handle-preview":g.onPreview,onRemove:s(p)},ln({_:2},[g.$slots.file?{name:"default",fn:le(({file:w})=>[be(g.$slots,"file",{file:w})])}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):se("v-if",!0)]))}});var Jse=Le(Zse,[["__file","upload.vue"]]);const Qse=yt(Jse),ece=Pe({zIndex:{type:Number,default:9},rotate:{type:Number,default:-22},width:Number,height:Number,image:String,content:{type:ue([String,Array]),default:"Element Plus"},font:{type:ue(Object)},gap:{type:ue(Array),default:()=>[100,100]},offset:{type:ue(Array)}});function tce(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase()}function oce(e){return Object.keys(e).map(t=>`${tce(t)}: ${e[t]};`).join(" ")}function rce(){return window.devicePixelRatio||1}const lce=(e,t)=>{let o=!1;return e.removedNodes.length&&t&&(o=Array.from(e.removedNodes).includes(t)),e.type==="attributes"&&e.target===t&&(o=!0),o},Px=3;function G2(e,t,o=1){const r=document.createElement("canvas"),l=r.getContext("2d"),n=e*o,a=t*o;return r.setAttribute("width",`${n}px`),r.setAttribute("height",`${a}px`),l.save(),[l,r,n,a]}function nce(){function e(t,o,r,l,n,a,i,c){const[d,u,p,h]=G2(l,n,r);if(t instanceof HTMLImageElement)d.drawImage(t,0,0,p,h);else{const{color:oe,fontSize:ne,fontStyle:ce,fontWeight:Q,fontFamily:Me,textAlign:de,textBaseline:_e}=a,me=Number(ne)*r;d.font=`${ce} normal ${Q} ${me}px/${n}px ${Me}`,d.fillStyle=oe,d.textAlign=de,d.textBaseline=_e;const Re=Array.isArray(t)?t:[t];Re==null||Re.forEach((Ce,Ee)=>{d.fillText(Ce??"",p/2,Ee*(me+Px*r))})}const v=Math.PI/180*Number(o),m=Math.max(l,n),[f,_,g]=G2(m,m,r);f.translate(g/2,g/2),f.rotate(v),p>0&&h>0&&f.drawImage(u,-p/2,-h/2);function y(oe,ne){const ce=oe*Math.cos(v)-ne*Math.sin(v),Q=oe*Math.sin(v)+ne*Math.cos(v);return[ce,Q]}let w=0,x=0,$=0,T=0;const R=p/2,P=h/2;[[0-R,0-P],[0+R,0-P],[0+R,0+P],[0-R,0+P]].forEach(([oe,ne])=>{const[ce,Q]=y(oe,ne);w=Math.min(w,ce),x=Math.max(x,ce),$=Math.min($,Q),T=Math.max(T,Q)});const B=w+g/2,V=$+g/2,j=x-w,te=T-$,J=i*r,Z=c*r,H=(j+J)*2,F=te+Z,[K,I]=G2(H,F);function U(oe=0,ne=0){K.drawImage(_,B,V,j,te,oe,ne,j,te)}return U(),U(j+J,-te/2-Z/2),U(j+J,+te/2+Z/2),[I.toDataURL(),H/r,F/r]}return e}const ace=N({...N({name:"ElWatermark"}),props:ece,setup(e){const t=e,o={position:"relative"},r=C(()=>{var B,V;return(V=(B=t.font)==null?void 0:B.color)!=null?V:"rgba(0,0,0,.15)"}),l=C(()=>{var B,V;return(V=(B=t.font)==null?void 0:B.fontSize)!=null?V:16}),n=C(()=>{var B,V;return(V=(B=t.font)==null?void 0:B.fontWeight)!=null?V:"normal"}),a=C(()=>{var B,V;return(V=(B=t.font)==null?void 0:B.fontStyle)!=null?V:"normal"}),i=C(()=>{var B,V;return(V=(B=t.font)==null?void 0:B.fontFamily)!=null?V:"sans-serif"}),c=C(()=>{var B,V;return(V=(B=t.font)==null?void 0:B.textAlign)!=null?V:"center"}),d=C(()=>{var B,V;return(V=(B=t.font)==null?void 0:B.textBaseline)!=null?V:"hanging"}),u=C(()=>t.gap[0]),p=C(()=>t.gap[1]),h=C(()=>u.value/2),v=C(()=>p.value/2),m=C(()=>{var B,V;return(V=(B=t.offset)==null?void 0:B[0])!=null?V:h.value}),f=C(()=>{var B,V;return(V=(B=t.offset)==null?void 0:B[1])!=null?V:v.value}),_=()=>{const B={zIndex:t.zIndex,position:"absolute",left:0,top:0,width:"100%",height:"100%",pointerEvents:"none",backgroundRepeat:"repeat"};let V=m.value-h.value,j=f.value-v.value;return V>0&&(B.left=`${V}px`,B.width=`calc(100% - ${V}px)`,V=0),j>0&&(B.top=`${j}px`,B.height=`calc(100% - ${j}px)`,j=0),B.backgroundPosition=`${V}px ${j}px`,B},g=lo(null),y=lo(),w=D(!1),x=()=>{y.value&&(y.value.remove(),y.value=void 0)},$=(B,V)=>{var j;g.value&&y.value&&(w.value=!0,y.value.setAttribute("style",oce({..._(),backgroundImage:`url('${B}')`,backgroundSize:`${Math.floor(V)}px`})),(j=g.value)==null||j.append(y.value),setTimeout(()=>{w.value=!1}))},T=B=>{let V=120,j=64;const te=t.image,J=t.content,Z=t.width,H=t.height;if(!te&&B.measureText){B.font=`${Number(l.value)}px ${i.value}`;const F=Array.isArray(J)?J:[J],K=F.map(I=>{const U=B.measureText(I);return[U.width,U.fontBoundingBoxAscent!==void 0?U.fontBoundingBoxAscent+U.fontBoundingBoxDescent:U.actualBoundingBoxAscent+U.actualBoundingBoxDescent]});V=Math.ceil(Math.max(...K.map(I=>I[0]))),j=Math.ceil(Math.max(...K.map(I=>I[1])))*F.length+(F.length-1)*Px}return[Z??V,H??j]},R=nce(),P=()=>{const V=document.createElement("canvas").getContext("2d"),j=t.image,te=t.content,J=t.rotate;if(V){y.value||(y.value=document.createElement("div"));const Z=rce(),[H,F]=T(V),K=I=>{const[U,oe]=R(I||"",J,Z,H,F,{color:r.value,fontSize:l.value,fontStyle:a.value,fontWeight:n.value,fontFamily:i.value,textAlign:c.value,textBaseline:d.value},u.value,p.value);$(U,oe)};if(j){const I=new Image;I.onload=()=>{K(I)},I.onerror=()=>{K(te)},I.crossOrigin="anonymous",I.referrerPolicy="no-referrer",I.src=j}else K(te)}};return ft(()=>{P()}),Se(()=>t,()=>{P()},{deep:!0,flush:"post"}),to(()=>{x()}),o_(g,B=>{w.value||B.forEach(V=>{lce(V,y.value)&&(x(),P())})},{attributes:!0,subtree:!0,childList:!0}),(B,V)=>(b(),M("div",{ref_key:"containerRef",ref:g,style:Je([o])},[be(B.$slots,"default")],4))}});var ice=Le(ace,[["__file","watermark.vue"]]);const sce=yt(ice),cce=Pe({zIndex:{type:Number,default:1001},visible:Boolean,fill:{type:String,default:"rgba(0,0,0,0.5)"},pos:{type:ue(Object)},targetAreaClickable:{type:Boolean,default:!0}}),uce=(e,t,o,r,l)=>{const n=D(null),a=()=>{let p;return ut(e.value)?p=document.querySelector(e.value):it(e.value)?p=e.value():p=e.value,p},i=()=>{const p=a();if(!p||!t.value){n.value=null;return}!dce(p)&&t.value&&p.scrollIntoView(l.value);const{left:h,top:v,width:m,height:f}=p.getBoundingClientRect();n.value={left:h,top:v,width:m,height:f,radius:0}};ft(()=>{Se([t,e],()=>{i()},{immediate:!0}),window.addEventListener("resize",i)}),to(()=>{window.removeEventListener("resize",i)});const c=p=>{var h;return(h=Ke(o.value.offset)?o.value.offset[p]:o.value.offset)!=null?h:6},d=C(()=>{var p;if(!n.value)return n.value;const h=c(0),v=c(1),m=((p=o.value)==null?void 0:p.radius)||2;return{left:n.value.left-h,top:n.value.top-v,width:n.value.width+h*2,height:n.value.height+v*2,radius:m}}),u=C(()=>{const p=a();return!r.value||!p||!window.DOMRect?p||void 0:{getBoundingClientRect(){var h,v,m,f;return window.DOMRect.fromRect({width:((h=d.value)==null?void 0:h.width)||0,height:((v=d.value)==null?void 0:v.height)||0,x:((m=d.value)==null?void 0:m.left)||0,y:((f=d.value)==null?void 0:f.top)||0})}}});return{mergedPosInfo:d,triggerTarget:u}},Wp=Symbol("ElTour");function dce(e){const t=window.innerWidth||document.documentElement.clientWidth,o=window.innerHeight||document.documentElement.clientHeight,{top:r,right:l,bottom:n,left:a}=e.getBoundingClientRect();return r>=0&&a>=0&&l<=t&&n<=o}const pce=(e,t,o,r,l,n,a,i)=>{const c=D(),d=D(),u=D({}),p={x:c,y:d,placement:r,strategy:l,middlewareData:u},h=C(()=>{const g=[J6(s(n)),pK(),dK(),fce()];return s(i)&&s(o)&&g.push(Q6({element:s(o)})),g}),v=async()=>{if(!Nt)return;const g=s(e),y=s(t);if(!g||!y)return;const w=await e4(g,y,{placement:s(r),strategy:s(l),middleware:s(h)});Ri(p).forEach(x=>{p[x].value=w[x]})},m=C(()=>{if(!s(e))return{position:"fixed",top:"50%",left:"50%",transform:"translate3d(-50%, -50%, 0)",maxWidth:"100vw",zIndex:s(a)};const{overflow:g}=s(u);return{position:s(l),zIndex:s(a),top:s(d)!=null?`${s(d)}px`:"",left:s(c)!=null?`${s(c)}px`:"",maxWidth:g!=null&&g.maxWidth?`${g==null?void 0:g.maxWidth}px`:""}}),f=C(()=>{if(!s(i))return{};const{arrow:g}=s(u);return{left:(g==null?void 0:g.x)!=null?`${g==null?void 0:g.x}px`:"",top:(g==null?void 0:g.y)!=null?`${g==null?void 0:g.y}px`:""}});let _;return ft(()=>{const g=s(e),y=s(t);g&&y&&(_=cK(g,y,v)),Go(()=>{v()})}),to(()=>{_&&_()}),{update:v,contentStyle:m,arrowStyle:f}},fce=()=>({name:"overflow",async fn(e){const t=await uK(e);let o=0;return t.left>0&&(o=t.left),t.right>0&&(o=t.right),{data:{maxWidth:e.rects.floating.width-o}}}}),hce={style:{width:"100%",height:"100%"}},vce=["d"],mce=N({...N({name:"ElTourMask",inheritAttrs:!1}),props:cce,setup(e){const t=e,{ns:o}=Ge(Wp),r=C(()=>{var i,c;return(c=(i=t.pos)==null?void 0:i.radius)!=null?c:2}),l=C(()=>{const i=r.value,c=`a${i},${i} 0 0 1`;return{topRight:`${c} ${i},${i}`,bottomRight:`${c} ${-i},${i}`,bottomLeft:`${c} ${-i},${-i}`,topLeft:`${c} ${i},${-i}`}}),n=C(()=>{const i=window.innerWidth,c=window.innerHeight,d=l.value,u=`M${i},0 L0,0 L0,${c} L${i},${c} L${i},0 Z`,p=r.value;return t.pos?`${u} M${t.pos.left+p},${t.pos.top} h${t.pos.width-p*2} ${d.topRight} v${t.pos.height-p*2} ${d.bottomRight} h${-t.pos.width+p*2} ${d.bottomLeft} v${-t.pos.height+p*2} ${d.topLeft} z`:u}),a=C(()=>({fill:t.fill,pointerEvents:"auto",cursor:"auto"}));return Sh(Yt(t,"visible"),{ns:o}),(i,c)=>i.visible?(b(),M("div",Mt({key:0,class:s(o).e("mask"),style:{position:"fixed",left:0,right:0,top:0,bottom:0,zIndex:i.zIndex,pointerEvents:i.pos&&i.targetAreaClickable?"none":"auto"}},i.$attrs),[(b(),M("svg",hce,[E("path",{class:O(s(o).e("hollow")),style:Je(s(a)),d:s(n)},null,14,vce)]))],16)):se("v-if",!0)}});var gce=Le(mce,[["__file","mask.vue"]]);const bce=["absolute","fixed"],_ce=["top-start","top-end","top","bottom-start","bottom-end","bottom","left-start","left-end","left","right-start","right-end","right"],X2=Pe({placement:{type:ue(String),values:_ce,default:"bottom"},reference:{type:ue(Object),default:null},strategy:{type:ue(String),values:bce,default:"absolute"},offset:{type:Number,default:10},showArrow:Boolean,zIndex:{type:Number,default:2001}}),wce={close:()=>!0},yce=["data-side"],xce=N({...N({name:"ElTourContent"}),props:X2,emits:wce,setup(e,{emit:t}){const o=e,r=D(o.placement),l=D(o.strategy),n=D(null),a=D(null);Se(()=>o.placement,()=>{r.value=o.placement});const{contentStyle:i,arrowStyle:c}=pce(Yt(o,"reference"),n,a,r,l,Yt(o,"offset"),Yt(o,"zIndex"),Yt(o,"showArrow")),d=C(()=>r.value.split("-")[0]),{ns:u}=Ge(Wp),p=()=>{t("close")},h=v=>{v.detail.focusReason==="pointer"&&v.preventDefault()};return(v,m)=>(b(),M("div",{ref_key:"contentRef",ref:n,style:Je(s(i)),class:O(s(u).e("content")),"data-side":s(d),tabindex:"-1"},[ee(s(Nc),{loop:"",trapped:"","focus-start-el":"container","focus-trap-el":n.value||void 0,onReleaseRequested:p,onFocusoutPrevented:h},{default:le(()=>[be(v.$slots,"default")]),_:3},8,["focus-trap-el"]),v.showArrow?(b(),M("span",{key:0,ref_key:"arrowRef",ref:a,style:Je(s(c)),class:O(s(u).e("arrow"))},null,6)):se("v-if",!0)],14,yce))}});var kce=Le(xce,[["__file","content.vue"]]),Cce=N({name:"ElTourSteps",props:{current:{type:Number,default:0}},emits:["update-total"],setup(e,{slots:t,emit:o}){let r=0;return()=>{var l,n;const a=(l=t.default)==null?void 0:l.call(t),i=[];let c=0;function d(u){Ke(u)&&u.forEach(p=>{var h;((h=(p==null?void 0:p.type)||{})==null?void 0:h.name)==="ElTourStep"&&(i.push(p),c+=1)})}return a.length&&d(Qn((n=a[0])==null?void 0:n.children)),r!==c&&(r=c,o("update-total",c)),i.length?i[e.current]:null}}});const Sce=Pe({modelValue:Boolean,current:{type:Number,default:0},showArrow:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeIcon:{type:Xt},placement:X2.placement,contentStyle:{type:ue([Object])},mask:{type:ue([Boolean,Object]),default:!0},gap:{type:ue(Object),default:()=>({offset:6,radius:2})},zIndex:{type:Number},scrollIntoViewOptions:{type:ue([Boolean,Object]),default:()=>({block:"center"})},type:{type:ue(String)},appendTo:{type:ue([String,Object]),default:"body"},closeOnPressEscape:{type:Boolean,default:!0},targetAreaClickable:{type:Boolean,default:!0}}),Ece={[St]:e=>Co(e),"update:current":e=>st(e),close:e=>st(e),finish:()=>!0,change:e=>st(e)},Tce=N({...N({name:"ElTour"}),props:Sce,emits:Ece,setup(e,{emit:t}){const o=e,r=ze("tour"),l=D(0),n=D(),a=a_(o,"current",t,{passive:!0}),i=C(()=>{var L;return(L=n.value)==null?void 0:L.target}),c=C(()=>[r.b(),_.value==="primary"?r.m("primary"):""]),d=C(()=>{var L;return((L=n.value)==null?void 0:L.placement)||o.placement}),u=C(()=>{var L,B;return(B=(L=n.value)==null?void 0:L.contentStyle)!=null?B:o.contentStyle}),p=C(()=>{var L,B;return(B=(L=n.value)==null?void 0:L.mask)!=null?B:o.mask}),h=C(()=>!!p.value&&o.modelValue),v=C(()=>Co(p.value)?void 0:p.value),m=C(()=>{var L,B;return!!i.value&&((B=(L=n.value)==null?void 0:L.showArrow)!=null?B:o.showArrow)}),f=C(()=>{var L,B;return(B=(L=n.value)==null?void 0:L.scrollIntoViewOptions)!=null?B:o.scrollIntoViewOptions}),_=C(()=>{var L,B;return(B=(L=n.value)==null?void 0:L.type)!=null?B:o.type}),{nextZIndex:g}=Ki(),y=g(),w=C(()=>{var L;return(L=o.zIndex)!=null?L:y}),{mergedPosInfo:x,triggerTarget:$}=uce(i,Yt(o,"modelValue"),Yt(o,"gap"),p,f);Se(()=>o.modelValue,L=>{L||(a.value=0)});const T=()=>{o.closeOnPressEscape&&(t("update:modelValue",!1),t("close",a.value))},R=L=>{l.value=L},P=Do();return zt(Wp,{currentStep:n,current:a,total:l,showClose:Yt(o,"showClose"),closeIcon:Yt(o,"closeIcon"),mergedType:_,ns:r,slots:P,updateModelValue(L){t("update:modelValue",L)},onClose(){t("close",a.value)},onFinish(){t("finish")},onChange(){t("change",a.value)}}),(L,B)=>{var V,j;return b(),M(Qe,null,[(b(),he(hi,{to:L.appendTo},[E("div",Mt({class:s(c)},L.$attrs),[ee(gce,{visible:s(h),fill:(V=s(v))==null?void 0:V.color,style:Je((j=s(v))==null?void 0:j.style),pos:s(x),"z-index":s(w),"target-area-clickable":L.targetAreaClickable},null,8,["visible","fill","style","pos","z-index","target-area-clickable"]),L.modelValue?(b(),he(kce,{key:s(a),reference:s($),placement:s(d),"show-arrow":s(m),"z-index":s(w),style:Je(s(u)),onClose:T},{default:le(()=>[ee(s(Cce),{current:s(a),onUpdateTotal:R},{default:le(()=>[be(L.$slots,"default")]),_:3},8,["current"])]),_:3},8,["reference","placement","show-arrow","z-index","style"])):se("v-if",!0)],16)],8,["to"])),se(" just for IDE "),se("v-if",!0)],64)}}});var $ce=Le(Tce,[["__file","tour.vue"]]);const Mce=Pe({target:{type:ue([String,Object,Function])},title:String,description:String,showClose:{type:Boolean,default:void 0},closeIcon:{type:Xt},showArrow:{type:Boolean,default:void 0},placement:X2.placement,mask:{type:ue([Boolean,Object]),default:void 0},contentStyle:{type:ue([Object])},prevButtonProps:{type:ue(Object)},nextButtonProps:{type:ue(Object)},scrollIntoViewOptions:{type:ue([Boolean,Object]),default:void 0},type:{type:ue(String)}}),Ace=N({...N({name:"ElTourStep"}),props:Mce,emits:{close:()=>!0},setup(e,{emit:t}){const o=e,{Close:r}=gh,{t:l}=Rt(),{currentStep:n,current:a,total:i,showClose:c,closeIcon:d,mergedType:u,ns:p,slots:h,updateModelValue:v,onClose:m,onFinish:f,onChange:_}=Ge(Wp);Se(o,P=>{n.value=P},{immediate:!0});const g=C(()=>{var P;return(P=o.showClose)!=null?P:c.value}),y=C(()=>{var P,L;return(L=(P=o.closeIcon)!=null?P:d.value)!=null?L:r}),w=P=>{if(P)return Bz(P,["children","onClick"])},x=()=>{var P,L;a.value-=1,(P=o.prevButtonProps)!=null&&P.onClick&&((L=o.prevButtonProps)==null||L.onClick()),_()},$=()=>{var P;a.value>=i.value-1?T():a.value+=1,(P=o.nextButtonProps)!=null&&P.onClick&&o.nextButtonProps.onClick(),_()},T=()=>{R(),f()},R=()=>{v(!1),m(),t("close")};return(P,L)=>(b(),M(Qe,null,[s(g)?(b(),M("button",{key:0,"aria-label":"Close",class:O(s(p).e("closebtn")),type:"button",onClick:R},[ee(s(Ze),{class:O(s(p).e("close"))},{default:le(()=>[(b(),he(Et(s(y))))]),_:1},8,["class"])],2)):se("v-if",!0),E("header",{class:O([s(p).e("header"),{"show-close":s(c)}])},[be(P.$slots,"header",{},()=>[E("span",{role:"heading",class:O(s(p).e("title"))},$e(P.title),3)])],2),E("div",{class:O(s(p).e("body"))},[be(P.$slots,"default",{},()=>[E("span",null,$e(P.description),1)])],2),E("footer",{class:O(s(p).e("footer"))},[E("div",{class:O(s(p).b("indicators"))},[s(h).indicators?(b(),he(Et(s(h).indicators),{key:0,current:s(a),total:s(i)},null,8,["current","total"])):(b(!0),M(Qe,{key:1},It(s(i),(B,V)=>(b(),M("span",{key:B,class:O([s(p).b("indicator"),V===s(a)?"is-active":""])},null,2))),128))],2),E("div",{class:O(s(p).b("buttons"))},[s(a)>0?(b(),he(s(Wo),Mt({key:0,size:"small",type:s(u)},w(P.prevButtonProps),{onClick:x}),{default:le(()=>{var B,V;return[Ct($e((V=(B=P.prevButtonProps)==null?void 0:B.children)!=null?V:s(l)("el.tour.previous")),1)]}),_:1},16,["type"])):se("v-if",!0),s(a)<=s(i)-1?(b(),he(s(Wo),Mt({key:1,size:"small",type:s(u)==="primary"?"default":"primary"},w(P.nextButtonProps),{onClick:$}),{default:le(()=>{var B,V;return[Ct($e((V=(B=P.nextButtonProps)==null?void 0:B.children)!=null?V:s(a)===s(i)-1?s(l)("el.tour.finish"):s(l)("el.tour.next")),1)]}),_:1},16,["type"])):se("v-if",!0)],2)],2)],64))}});var Rx=Le(Ace,[["__file","step.vue"]]);const zce=yt($ce,{TourStep:Rx}),Ice=co(Rx),Oce=Pe({container:{type:ue([String,Object])},offset:{type:Number,default:0},bound:{type:Number,default:15},duration:{type:Number,default:300},marker:{type:Boolean,default:!0},type:{type:ue(String),default:"default"},direction:{type:ue(String),default:"vertical"}}),Nce={change:e=>ut(e),click:(e,t)=>e instanceof MouseEvent&&(ut(t)||ko(t))},Lx=Symbol("anchor"),Pce=N({...N({name:"ElAnchor"}),props:Oce,emits:Nce,setup(e,{expose:t,emit:o}){const r=e,l=D(""),n=D(null),a=D(null),i=D(),c={};let d=!1,u=0;const p=ze("anchor"),h=C(()=>[p.b(),r.type==="underline"?p.m("underline"):"",p.m(r.direction)]),v=P=>{c[P.href]=P.el},m=P=>{delete c[P]},f=P=>{l.value!==P&&(l.value=P,o("change",P))};let _=null;const g=P=>{if(!i.value)return;const L=Md(P);if(!L)return;_&&_(),d=!0;const B=M3(L,i.value),V=P0(L,B),j=B.scrollHeight-B.clientHeight,te=Math.min(V-r.offset,j);_=Zz(i.value,u,te,r.duration,()=>{setTimeout(()=>{d=!1},20)})},y=P=>{P&&(f(P),g(P))},w=(P,L)=>{o("click",P,L),y(L)},x=uF(()=>{i.value&&(u=A3(i.value));const P=$();d||ko(P)||f(P)}),$=()=>{if(!i.value)return;const P=A3(i.value),L=[];for(const B of Object.keys(c)){const V=Md(B);if(!V)continue;const j=M3(V,i.value),te=P0(V,j);L.push({top:te-r.offset-r.bound,href:B})}L.sort((B,V)=>B.top-V.top);for(let B=0;BP))return V.href}},T=()=>{const P=Md(r.container);!P||Ed(P)?i.value=window:i.value=P};oo(i,"scroll",x);const R=C(()=>{if(!n.value||!a.value||!l.value)return{};const P=c[l.value];if(!P)return{};const L=n.value.getBoundingClientRect(),B=a.value.getBoundingClientRect(),V=P.getBoundingClientRect();return r.direction==="horizontal"?{left:`${V.left-L.left}px`,width:`${V.width}px`,opacity:1}:{top:`${V.top-L.top+(V.height-B.height)/2}px`,opacity:1}});return ft(()=>{T();const P=decodeURIComponent(window.location.hash);Md(P)?y(P):x()}),Se(()=>r.container,()=>{T()}),zt(Lx,{ns:p,direction:r.direction,currentAnchor:l,addLink:v,removeLink:m,handleClick:w}),t({scrollTo:y}),(P,L)=>(b(),M("div",{ref_key:"anchorRef",ref:n,class:O(s(h))},[P.marker?(b(),M("div",{key:0,ref_key:"markerRef",ref:a,class:O(s(p).e("marker")),style:Je(s(R))},null,6)):se("v-if",!0),E("div",{class:O(s(p).e("list"))},[be(P.$slots,"default")],2)],2))}});var Rce=Le(Pce,[["__file","anchor.vue"]]);const Lce=Pe({title:String,href:String}),Bce=["href"],Vce=N({...N({name:"ElAnchorLink"}),props:Lce,setup(e){const t=e,o=D(null),{ns:r,direction:l,currentAnchor:n,addLink:a,removeLink:i,handleClick:c}=Ge(Lx),d=C(()=>[r.e("link"),r.is("active",n.value===t.href)]),u=p=>{c(p,t.href)};return Se(()=>t.href,(p,h)=>{et(()=>{h&&i(h),p&&a({href:p,el:o.value})})}),ft(()=>{const{href:p}=t;p&&a({href:p,el:o.value})}),to(()=>{const{href:p}=t;p&&i(p)}),(p,h)=>(b(),M("div",{class:O(s(r).e("item"))},[E("a",{ref_key:"linkRef",ref:o,class:O(s(d)),href:p.href,onClick:u},[be(p.$slots,"default",{},()=>[Ct($e(p.title),1)])],10,Bce),p.$slots["sub-link"]&&s(l)==="vertical"?(b(),M("div",{key:0,class:O(s(r).e("list"))},[be(p.$slots,"sub-link")],2)):se("v-if",!0)],2))}});var Bx=Le(Vce,[["__file","anchor-link.vue"]]);const Dce=yt(Rce,{AnchorLink:Bx}),Hce=co(Bx),Fce=Pe({options:{type:ue(Array),default:()=>[]},modelValue:{type:[String,Number,Boolean],default:void 0},block:Boolean,size:Oo,disabled:Boolean,validateEvent:{type:Boolean,default:!0},id:String,name:String,...Zo(["ariaLabel"])}),jce={[St]:e=>ut(e)||st(e),[ro]:e=>ut(e)||st(e)},Kce=["id","aria-label","aria-labelledby"],Uce=["name","disabled","checked","onChange"],Wce=N({...N({name:"ElSegmented"}),props:Fce,emits:jce,setup(e,{emit:t}){const o=e,r=ze("segmented"),l=Qo(),n=So(),a=xr(),{formItem:i}=sr(),{inputId:c,isLabeledByFormItem:d}=bl(o,{formItemContext:i}),u=D(null),p=rE(),h=Dt({isInit:!1,width:0,translateX:0,disabled:!1,focusVisible:!1}),v=L=>{const B=m(L);t(St,B),t(ro,B)},m=L=>xt(L)?L.value:L,f=L=>xt(L)?L.label:L,_=L=>!!(a.value||xt(L)&&L.disabled),g=L=>o.modelValue===m(L),y=L=>o.options.find(B=>m(B)===L),w=L=>[r.e("item"),r.is("selected",g(L)),r.is("disabled",_(L))],x=()=>{if(!u.value)return;const L=u.value.querySelector(".is-selected"),B=u.value.querySelector(".is-selected input");if(!L||!B){h.width=0,h.translateX=0,h.disabled=!1,h.focusVisible=!1;return}const V=L.getBoundingClientRect();h.isInit=!0,h.width=V.width,h.translateX=L.offsetLeft,h.disabled=_(y(o.modelValue));try{h.focusVisible=B.matches(":focus-visible")}catch{}},$=C(()=>[r.b(),r.m(n.value),r.is("block",o.block)]),T=C(()=>({width:`${h.width}px`,transform:`translateX(${h.translateX}px)`,display:h.isInit?"block":"none"})),R=C(()=>[r.e("item-selected"),r.is("disabled",h.disabled),r.is("focus-visible",h.focusVisible)]),P=C(()=>o.name||l.value);return so(u,x),Se(p,x),Se(()=>o.modelValue,()=>{var L;x(),o.validateEvent&&((L=i==null?void 0:i.validate)==null||L.call(i,"change").catch(B=>void 0))},{flush:"post"}),(L,B)=>(b(),M("div",{id:s(c),ref_key:"segmentedRef",ref:u,class:O(s($)),role:"radiogroup","aria-label":s(d)?void 0:L.ariaLabel||"segmented","aria-labelledby":s(d)?s(i).labelId:void 0},[E("div",{class:O(s(r).e("group"))},[E("div",{style:Je(s(T)),class:O(s(R))},null,6),(b(!0),M(Qe,null,It(L.options,(V,j)=>(b(),M("label",{key:j,class:O(w(V))},[E("input",{class:O(s(r).e("item-input")),type:"radio",name:s(P),disabled:_(V),checked:g(V),onChange:te=>v(V)},null,42,Uce),E("div",{class:O(s(r).e("item-label"))},[be(L.$slots,"default",{item:V},()=>[Ct($e(f(V)),1)])],2)],2))),128))],2)],10,Kce))}});var qce=Le(Wce,[["__file","segmented.vue"]]);const Yce=yt(qce);var Gce=[zK,VK,JW,Bae,lq,uq,B4,yq,xq,Wo,G4,zY,PY,ZY,JY,QG,KG,lX,rl,fG,Lw,pX,TX,$X,wX,eZ,CK,iZ,sZ,cZ,uZ,dZ,SJ,NJ,PJ,GJ,Cy,iQ,JQ,QQ,eee,Py,PU,RU,Ze,Fee,Ry,cr,Ly,ete,gte,bte,_te,wte,Ete,Toe,zoe,Boe,P4,Xy,Kw,EG,SG,Qoe,rre,sX,wn,Za,Cp,roe,Fre,Yre,Gre,kle,Tle,C8,Rle,jle,Kle,ene,oae,rae,Lae,Zae,Jae,Rc,oie,pY,aie,uie,die,ur,zie,Kie,rse,cse,Sse,Qse,sce,zce,Ice,Dce,Hce,Yce];const al="ElInfiniteScroll",Xce=50,Zce={delay:{type:Number,default:200},distance:{type:Number,default:0},disabled:{type:Boolean,default:!1},immediate:{type:Boolean,default:!0}},Z2=(e,t)=>Object.entries(Zce).reduce((o,[r,l])=>{var n,a;const{type:i,default:c}=l,d=e.getAttribute(`infinite-scroll-${r}`);let u=(a=(n=t[d])!=null?n:d)!=null?a:c;return u=u==="false"?!1:u,u=i(u),o[r]=Number.isNaN(u)?c:u,o},{}),Vx=e=>{const{observer:t}=e[al];t&&(t.disconnect(),delete e[al].observer)},Jce=(e,t)=>{const{container:o,containerEl:r,instance:l,observer:n,lastScrollTop:a}=e[al],{disabled:i,distance:c}=Z2(e,l),{clientHeight:d,scrollHeight:u,scrollTop:p}=r,h=p-a;if(e[al].lastScrollTop=p,n||i||h<0)return;let v=!1;if(o===e)v=u-(d+p)<=c;else{const{clientTop:m,scrollHeight:f}=e,_=P0(e,r);v=p+d>=_+m+f-c}v&&t.call(l)};function J2(e,t){const{containerEl:o,instance:r}=e[al],{disabled:l}=Z2(e,r);l||o.clientHeight===0||(o.scrollHeight<=o.clientHeight?t.call(r):Vx(e))}const Q2={async mounted(e,t){const{instance:o,value:r}=t;it(r)||Io(al,"'v-infinite-scroll' binding value must be a function"),await et();const{delay:l,immediate:n}=Z2(e,o),a=uh(e,!0),i=a===window?document.documentElement:a,c=Oa(Jce.bind(null,e,r),l);if(a){if(e[al]={instance:o,container:a,containerEl:i,delay:l,cb:r,onScroll:c,lastScrollTop:i.scrollTop},n){const d=new MutationObserver(Oa(J2.bind(null,e,r),Xce));e[al].observer=d,d.observe(e,{childList:!0,subtree:!0}),J2(e,r)}a.addEventListener("scroll",c)}},unmounted(e){if(!e[al])return;const{container:t,onScroll:o}=e[al];t==null||t.removeEventListener("scroll",o),Vx(e)},async updated(e){if(!e[al])await et();else{const{containerEl:t,cb:o,observer:r}=e[al];t.clientHeight&&r&&J2(e,o)}}};Q2.install=e=>{e.directive("InfiniteScroll",Q2)};const Qce=Q2;function eue(e){let t;const o=D(!1),r=Dt({...e,originalPosition:"",originalOverflow:"",visible:!1});function l(h){r.text=h}function n(){const h=r.parent,v=p.ns;if(!h.vLoadingAddClassList){let m=h.getAttribute("loading-number");m=Number.parseInt(m)-1,m?h.setAttribute("loading-number",m.toString()):(ar(h,v.bm("parent","relative")),h.removeAttribute("loading-number")),ar(h,v.bm("parent","hidden"))}a(),u.unmount()}function a(){var h,v;(v=(h=p.$el)==null?void 0:h.parentNode)==null||v.removeChild(p.$el)}function i(){var h;e.beforeClose&&!e.beforeClose()||(o.value=!0,clearTimeout(t),t=window.setTimeout(c,400),r.visible=!1,(h=e.closed)==null||h.call(e))}function c(){if(!o.value)return;const h=r.parent;o.value=!1,h.vLoadingAddClassList=void 0,n()}const u=D1(N({name:"ElLoading",setup(h,{expose:v}){const{ns:m,zIndex:f}=Yd("loading");return v({ns:m,zIndex:f}),()=>{const _=r.spinner||r.svg,g=rt("svg",{class:"circular",viewBox:r.svgViewBox?r.svgViewBox:"0 0 50 50",..._?{innerHTML:_}:{}},[rt("circle",{class:"path",cx:"25",cy:"25",r:"20",fill:"none"})]),y=r.text?rt("p",{class:m.b("text")},[r.text]):void 0;return rt(Mo,{name:m.b("fade"),onAfterLeave:c},{default:le(()=>[mt(ee("div",{style:{backgroundColor:r.background||""},class:[m.b("mask"),r.customClass,r.fullscreen?"is-fullscreen":""]},[rt("div",{class:m.b("spinner")},[g,y])]),[[Lt,r.visible]])])})}}})),p=u.mount(document.createElement("div"));return{...Bo(r),setText:l,removeElLoadingChild:a,close:i,handleAfterLeave:c,vm:p,get $el(){return p.$el}}}let qp;const em=function(e={}){if(!Nt)return;const t=tue(e);if(t.fullscreen&&qp)return qp;const o=eue({...t,closed:()=>{var l;(l=t.closed)==null||l.call(t),t.fullscreen&&(qp=void 0)}});oue(t,t.parent,o),Dx(t,t.parent,o),t.parent.vLoadingAddClassList=()=>Dx(t,t.parent,o);let r=t.parent.getAttribute("loading-number");return r?r=`${Number.parseInt(r)+1}`:r="1",t.parent.setAttribute("loading-number",r),t.parent.appendChild(o.$el),et(()=>o.visible.value=t.visible),t.fullscreen&&(qp=o),o},tue=e=>{var t,o,r,l;let n;return ut(e.target)?n=(t=document.querySelector(e.target))!=null?t:document.body:n=e.target||document.body,{parent:n===document.body||e.body?document.body:n,background:e.background||"",svg:e.svg||"",svgViewBox:e.svgViewBox||"",spinner:e.spinner||!1,text:e.text||"",fullscreen:n===document.body&&((o=e.fullscreen)!=null?o:!0),lock:(r=e.lock)!=null?r:!1,customClass:e.customClass||"",visible:(l=e.visible)!=null?l:!0,target:n}},oue=async(e,t,o)=>{const{nextZIndex:r}=o.vm.zIndex||o.vm._.exposed.zIndex,l={};if(e.fullscreen)o.originalPosition.value=Zn(document.body,"position"),o.originalOverflow.value=Zn(document.body,"overflow"),l.zIndex=r();else if(e.parent===document.body){o.originalPosition.value=Zn(document.body,"position"),await et();for(const n of["top","left"]){const a=n==="top"?"scrollTop":"scrollLeft";l[n]=`${e.target.getBoundingClientRect()[n]+document.body[a]+document.documentElement[a]-Number.parseInt(Zn(document.body,`margin-${n}`),10)}px`}for(const n of["height","width"])l[n]=`${e.target.getBoundingClientRect()[n]}px`}else o.originalPosition.value=Zn(t,"position");for(const[n,a]of Object.entries(l))o.$el.style[n]=a},Dx=(e,t,o)=>{const r=o.vm.ns||o.vm._.exposed.ns;["absolute","fixed","sticky"].includes(o.originalPosition.value)?ar(t,r.bm("parent","relative")):Zr(t,r.bm("parent","relative")),e.fullscreen&&e.lock?Zr(t,r.bm("parent","hidden")):ar(t,r.bm("parent","hidden"))},Yp=Symbol("ElLoading"),Hx=(e,t)=>{var o,r,l,n;const a=t.instance,i=h=>xt(t.value)?t.value[h]:void 0,c=h=>{const v=ut(h)&&(a==null?void 0:a[h])||h;return v&&D(v)},d=h=>c(i(h)||e.getAttribute(`element-loading-${An(h)}`)),u=(o=i("fullscreen"))!=null?o:t.modifiers.fullscreen,p={text:d("text"),svg:d("svg"),svgViewBox:d("svgViewBox"),spinner:d("spinner"),background:d("background"),customClass:d("customClass"),fullscreen:u,target:(r=i("target"))!=null?r:u?void 0:e,body:(l=i("body"))!=null?l:t.modifiers.body,lock:(n=i("lock"))!=null?n:t.modifiers.lock};e[Yp]={options:p,instance:em(p)}},rue=(e,t)=>{for(const o of Object.keys(t))Zt(t[o])&&(t[o].value=e[o])},Fx={mounted(e,t){t.value&&Hx(e,t)},updated(e,t){const o=e[Yp];t.oldValue!==t.value&&(t.value&&!t.oldValue?Hx(e,t):t.value&&t.oldValue?xt(t.value)&&rue(t.value,o.options):o==null||o.instance.close())},unmounted(e){var t;(t=e[Yp])==null||t.instance.close(),e[Yp]=null}},lue={install(e){e.directive("loading",Fx),e.config.globalProperties.$loading=em},directive:Fx,service:em},jx=["success","info","warning","error"],dr=uo({customClass:"",center:!1,dangerouslyUseHTMLString:!1,duration:3e3,icon:void 0,id:"",message:"",onClose:void 0,showClose:!1,type:"info",plain:!1,offset:16,zIndex:0,grouping:!1,repeatNum:1,appendTo:Nt?document.body:void 0}),nue=Pe({customClass:{type:String,default:dr.customClass},center:{type:Boolean,default:dr.center},dangerouslyUseHTMLString:{type:Boolean,default:dr.dangerouslyUseHTMLString},duration:{type:Number,default:dr.duration},icon:{type:Xt,default:dr.icon},id:{type:String,default:dr.id},message:{type:ue([String,Object,Function]),default:dr.message},onClose:{type:ue(Function),default:dr.onClose},showClose:{type:Boolean,default:dr.showClose},type:{type:String,values:jx,default:dr.type},plain:{type:Boolean,default:dr.plain},offset:{type:Number,default:dr.offset},zIndex:{type:Number,default:dr.zIndex},grouping:{type:Boolean,default:dr.grouping},repeatNum:{type:Number,default:dr.repeatNum}}),aue={destroy:()=>!0},yl=og([]),iue=e=>{const t=yl.findIndex(l=>l.id===e),o=yl[t];let r;return t>0&&(r=yl[t-1]),{current:o,prev:r}},sue=e=>{const{prev:t}=iue(e);return t?t.vm.exposed.bottom.value:0},cue=(e,t)=>yl.findIndex(r=>r.id===e)>0?16:t,uue=["id"],due=["innerHTML"],pue=N({...N({name:"ElMessage"}),props:nue,emits:aue,setup(e,{expose:t}){const o=e,{Close:r}=bh,{ns:l,zIndex:n}=Yd("message"),{currentZIndex:a,nextZIndex:i}=n,c=D(),d=D(!1),u=D(0);let p;const h=C(()=>o.type?o.type==="error"?"danger":o.type:"info"),v=C(()=>{const R=o.type;return{[l.bm("icon",R)]:R&&Jn[R]}}),m=C(()=>o.icon||Jn[o.type]||""),f=C(()=>sue(o.id)),_=C(()=>cue(o.id,o.offset)+f.value),g=C(()=>u.value+_.value),y=C(()=>({top:`${_.value}px`,zIndex:a.value}));function w(){o.duration!==0&&({stop:p}=$a(()=>{$()},o.duration))}function x(){p==null||p()}function $(){d.value=!1}function T({code:R}){R===lt.esc&&$()}return ft(()=>{w(),i(),d.value=!0}),Se(()=>o.repeatNum,()=>{x(),w()}),oo(document,"keydown",T),so(c,()=>{u.value=c.value.getBoundingClientRect().height}),t({visible:d,bottom:g,close:$}),(R,P)=>(b(),he(Mo,{name:s(l).b("fade"),onBeforeLeave:R.onClose,onAfterLeave:P[0]||(P[0]=L=>R.$emit("destroy")),persisted:""},{default:le(()=>[mt(E("div",{id:R.id,ref_key:"messageRef",ref:c,class:O([s(l).b(),{[s(l).m(R.type)]:R.type},s(l).is("center",R.center),s(l).is("closable",R.showClose),s(l).is("plain",R.plain),R.customClass]),style:Je(s(y)),role:"alert",onMouseenter:x,onMouseleave:w},[R.repeatNum>1?(b(),he(s(B4),{key:0,value:R.repeatNum,type:s(h),class:O(s(l).e("badge"))},null,8,["value","type","class"])):se("v-if",!0),s(m)?(b(),he(s(Ze),{key:1,class:O([s(l).e("icon"),s(v)])},{default:le(()=>[(b(),he(Et(s(m))))]),_:1},8,["class"])):se("v-if",!0),be(R.$slots,"default",{},()=>[R.dangerouslyUseHTMLString?(b(),M(Qe,{key:1},[se(" Caution here, message could've been compromised, never use user's input as message "),E("p",{class:O(s(l).e("content")),innerHTML:R.message},null,10,due)],2112)):(b(),M("p",{key:0,class:O(s(l).e("content"))},$e(R.message),3))]),R.showClose?(b(),he(s(Ze),{key:2,class:O(s(l).e("closeBtn")),onClick:ct($,["stop"])},{default:le(()=>[ee(s(r))]),_:1},8,["class","onClick"])):se("v-if",!0)],46,uue),[[Lt,d.value]])]),_:3},8,["name","onBeforeLeave"]))}});var fue=Le(pue,[["__file","message.vue"]]);let hue=1;const Kx=e=>{const t=!e||ut(e)||io(e)||it(e)?{message:e}:e,o={...dr,...t};if(!o.appendTo)o.appendTo=document.body;else if(ut(o.appendTo)){let r=document.querySelector(o.appendTo);Gr(r)||(r=document.body),o.appendTo=r}return o},vue=e=>{const t=yl.indexOf(e);if(t===-1)return;yl.splice(t,1);const{handler:o}=e;o.close()},mue=({appendTo:e,...t},o)=>{const r=`message_${hue++}`,l=t.onClose,n=document.createElement("div"),a={...t,id:r,onClose:()=>{l==null||l(),vue(u)},onDestroy:()=>{jn(null,n)}},i=ee(fue,a,it(a.message)||io(a.message)?{default:it(a.message)?a.message:()=>a.message}:null);i.appContext=o||ms._context,jn(i,n),e.appendChild(n.firstElementChild);const c=i.component,u={id:r,vnode:i,vm:c,handler:{close:()=>{c.exposed.visible.value=!1}},props:i.component.props};return u},ms=(e={},t)=>{if(!Nt)return{close:()=>{}};if(st(Yh.max)&&yl.length>=Yh.max)return{close:()=>{}};const o=Kx(e);if(o.grouping&&yl.length){const l=yl.find(({vnode:n})=>{var a;return((a=n.props)==null?void 0:a.message)===o.message});if(l)return l.props.repeatNum+=1,l.props.type=o.type,l.handler}const r=mue(o,t);return yl.push(r),r.handler};jx.forEach(e=>{ms[e]=(t={},o)=>{const r=Kx(t);return ms({...r,type:e},o)}});function gue(e){for(const t of yl)(!e||e===t.props.type)&&t.handler.close()}ms.closeAll=gue,ms._context=null;const bue=Q3(ms,"$message"),_ue=N({name:"ElMessageBox",directives:{TrapFocus:Zq},components:{ElButton:Wo,ElFocusTrap:Nc,ElInput:cr,ElOverlay:Uv,ElIcon:Ze,...bh},inheritAttrs:!1,props:{buttonSize:{type:String,validator:t6},modal:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},closeOnHashChange:{type:Boolean,default:!0},center:Boolean,draggable:Boolean,overflow:Boolean,roundButton:{default:!1,type:Boolean},container:{type:String,default:"body"},boxType:{type:String,default:""}},emits:["vanish","action"],setup(e,{emit:t}){const{locale:o,zIndex:r,ns:l,size:n}=Yd("message-box",C(()=>e.buttonSize)),{t:a}=o,{nextZIndex:i}=r,c=D(!1),d=Dt({autofocus:!0,beforeClose:null,callback:null,cancelButtonText:"",cancelButtonClass:"",confirmButtonText:"",confirmButtonClass:"",customClass:"",customStyle:{},dangerouslyUseHTMLString:!1,distinguishCancelAndClose:!1,icon:"",inputPattern:null,inputPlaceholder:"",inputType:"text",inputValue:null,inputValidator:null,inputErrorMessage:"",message:null,modalFade:!0,modalClass:"",showCancelButton:!1,showConfirmButton:!0,type:"",title:void 0,showInput:!1,action:"",confirmButtonLoading:!1,cancelButtonLoading:!1,confirmButtonDisabled:!1,editorErrorMessage:"",validateError:!1,zIndex:i()}),u=C(()=>{const H=d.type;return{[l.bm("icon",H)]:H&&Jn[H]}}),p=Qo(),h=Qo(),v=C(()=>d.icon||Jn[d.type]||""),m=C(()=>!!d.message),f=D(),_=D(),g=D(),y=D(),w=D(),x=C(()=>d.confirmButtonClass);Se(()=>d.inputValue,async H=>{await et(),e.boxType==="prompt"&&H!==null&&j()},{immediate:!0}),Se(()=>c.value,H=>{var F,K;H&&(e.boxType!=="prompt"&&(d.autofocus?g.value=(K=(F=w.value)==null?void 0:F.$el)!=null?K:f.value:g.value=f.value),d.zIndex=i()),e.boxType==="prompt"&&(H?et().then(()=>{var I;y.value&&y.value.$el&&(d.autofocus?g.value=(I=te())!=null?I:f.value:g.value=f.value)}):(d.editorErrorMessage="",d.validateError=!1))});const $=C(()=>e.draggable),T=C(()=>e.overflow);r6(f,_,$,T),ft(async()=>{await et(),e.closeOnHashChange&&window.addEventListener("hashchange",R)}),to(()=>{e.closeOnHashChange&&window.removeEventListener("hashchange",R)});function R(){c.value&&(c.value=!1,et(()=>{d.action&&t("action",d.action)}))}const P=()=>{e.closeOnClickModal&&V(d.distinguishCancelAndClose?"close":"cancel")},L=Ph(P),B=H=>{if(d.inputType!=="textarea")return H.preventDefault(),V("confirm")},V=H=>{var F;e.boxType==="prompt"&&H==="confirm"&&!j()||(d.action=H,d.beforeClose?(F=d.beforeClose)==null||F.call(d,H,d,R):R())},j=()=>{if(e.boxType==="prompt"){const H=d.inputPattern;if(H&&!H.test(d.inputValue||""))return d.editorErrorMessage=d.inputErrorMessage||a("el.messagebox.error"),d.validateError=!0,!1;const F=d.inputValidator;if(typeof F=="function"){const K=F(d.inputValue);if(K===!1)return d.editorErrorMessage=d.inputErrorMessage||a("el.messagebox.error"),d.validateError=!0,!1;if(typeof K=="string")return d.editorErrorMessage=K,d.validateError=!0,!1}}return d.editorErrorMessage="",d.validateError=!1,!0},te=()=>{const H=y.value.$refs;return H.input||H.textarea},J=()=>{V("close")},Z=()=>{e.closeOnPressEscape&&J()};return e.lockScroll&&Sh(c),{...Bo(d),ns:l,overlayEvent:L,visible:c,hasMessage:m,typeClass:u,contentId:p,inputId:h,btnSize:n,iconComponent:v,confirmButtonClasses:x,rootRef:f,focusStartRef:g,headerRef:_,inputRef:y,confirmRef:w,doClose:R,handleClose:J,onCloseRequested:Z,handleWrapperClick:P,handleInputEnter:B,handleAction:V,t:a}}}),wue=["aria-label","aria-describedby"],yue=["aria-label"],xue=["id"];function kue(e,t,o,r,l,n){const a=nt("el-icon"),i=nt("close"),c=nt("el-input"),d=nt("el-button"),u=nt("el-focus-trap"),p=nt("el-overlay");return b(),he(Mo,{name:"fade-in-linear",onAfterLeave:t[11]||(t[11]=h=>e.$emit("vanish")),persisted:""},{default:le(()=>[mt(ee(p,{"z-index":e.zIndex,"overlay-class":[e.ns.is("message-box"),e.modalClass],mask:e.modal},{default:le(()=>[E("div",{role:"dialog","aria-label":e.title,"aria-modal":"true","aria-describedby":e.showInput?void 0:e.contentId,class:O(`${e.ns.namespace.value}-overlay-message-box`),onClick:t[8]||(t[8]=(...h)=>e.overlayEvent.onClick&&e.overlayEvent.onClick(...h)),onMousedown:t[9]||(t[9]=(...h)=>e.overlayEvent.onMousedown&&e.overlayEvent.onMousedown(...h)),onMouseup:t[10]||(t[10]=(...h)=>e.overlayEvent.onMouseup&&e.overlayEvent.onMouseup(...h))},[ee(u,{loop:"",trapped:e.visible,"focus-trap-el":e.rootRef,"focus-start-el":e.focusStartRef,onReleaseRequested:e.onCloseRequested},{default:le(()=>[E("div",{ref:"rootRef",class:O([e.ns.b(),e.customClass,e.ns.is("draggable",e.draggable),{[e.ns.m("center")]:e.center}]),style:Je(e.customStyle),tabindex:"-1",onClick:t[7]||(t[7]=ct(()=>{},["stop"]))},[e.title!==null&&e.title!==void 0?(b(),M("div",{key:0,ref:"headerRef",class:O([e.ns.e("header"),{"show-close":e.showClose}])},[E("div",{class:O(e.ns.e("title"))},[e.iconComponent&&e.center?(b(),he(a,{key:0,class:O([e.ns.e("status"),e.typeClass])},{default:le(()=>[(b(),he(Et(e.iconComponent)))]),_:1},8,["class"])):se("v-if",!0),E("span",null,$e(e.title),1)],2),e.showClose?(b(),M("button",{key:0,type:"button",class:O(e.ns.e("headerbtn")),"aria-label":e.t("el.messagebox.close"),onClick:t[0]||(t[0]=h=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel")),onKeydown:t[1]||(t[1]=Gt(ct(h=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel"),["prevent"]),["enter"]))},[ee(a,{class:O(e.ns.e("close"))},{default:le(()=>[ee(i)]),_:1},8,["class"])],42,yue)):se("v-if",!0)],2)):se("v-if",!0),E("div",{id:e.contentId,class:O(e.ns.e("content"))},[E("div",{class:O(e.ns.e("container"))},[e.iconComponent&&!e.center&&e.hasMessage?(b(),he(a,{key:0,class:O([e.ns.e("status"),e.typeClass])},{default:le(()=>[(b(),he(Et(e.iconComponent)))]),_:1},8,["class"])):se("v-if",!0),e.hasMessage?(b(),M("div",{key:1,class:O(e.ns.e("message"))},[be(e.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(b(),he(Et(e.showInput?"label":"p"),{key:1,for:e.showInput?e.inputId:void 0,innerHTML:e.message},null,8,["for","innerHTML"])):(b(),he(Et(e.showInput?"label":"p"),{key:0,for:e.showInput?e.inputId:void 0},{default:le(()=>[Ct($e(e.dangerouslyUseHTMLString?"":e.message),1)]),_:1},8,["for"]))])],2)):se("v-if",!0)],2),mt(E("div",{class:O(e.ns.e("input"))},[ee(c,{id:e.inputId,ref:"inputRef",modelValue:e.inputValue,"onUpdate:modelValue":t[2]||(t[2]=h=>e.inputValue=h),type:e.inputType,placeholder:e.inputPlaceholder,"aria-invalid":e.validateError,class:O({invalid:e.validateError}),onKeydown:Gt(e.handleInputEnter,["enter"])},null,8,["id","modelValue","type","placeholder","aria-invalid","class","onKeydown"]),E("div",{class:O(e.ns.e("errormsg")),style:Je({visibility:e.editorErrorMessage?"visible":"hidden"})},$e(e.editorErrorMessage),7)],2),[[Lt,e.showInput]])],10,xue),E("div",{class:O(e.ns.e("btns"))},[e.showCancelButton?(b(),he(d,{key:0,loading:e.cancelButtonLoading,class:O([e.cancelButtonClass]),round:e.roundButton,size:e.btnSize,onClick:t[3]||(t[3]=h=>e.handleAction("cancel")),onKeydown:t[4]||(t[4]=Gt(ct(h=>e.handleAction("cancel"),["prevent"]),["enter"]))},{default:le(()=>[Ct($e(e.cancelButtonText||e.t("el.messagebox.cancel")),1)]),_:1},8,["loading","class","round","size"])):se("v-if",!0),mt(ee(d,{ref:"confirmRef",type:"primary",loading:e.confirmButtonLoading,class:O([e.confirmButtonClasses]),round:e.roundButton,disabled:e.confirmButtonDisabled,size:e.btnSize,onClick:t[5]||(t[5]=h=>e.handleAction("confirm")),onKeydown:t[6]||(t[6]=Gt(ct(h=>e.handleAction("confirm"),["prevent"]),["enter"]))},{default:le(()=>[Ct($e(e.confirmButtonText||e.t("el.messagebox.confirm")),1)]),_:1},8,["loading","class","round","disabled","size"]),[[Lt,e.showConfirmButton]])],2)],6)]),_:3},8,["trapped","focus-trap-el","focus-start-el","onReleaseRequested"])],42,wue)]),_:3},8,["z-index","overlay-class","mask"]),[[Lt,e.visible]])]),_:3})}var Cue=Le(_ue,[["render",kue],["__file","index.vue"]]);const ou=new Map,Sue=e=>{let t=document.body;return e.appendTo&&(ut(e.appendTo)&&(t=document.querySelector(e.appendTo)),Gr(e.appendTo)&&(t=e.appendTo),Gr(t)||(t=document.body)),t},Eue=(e,t,o=null)=>{const r=ee(Cue,e,it(e.message)||io(e.message)?{default:it(e.message)?e.message:()=>e.message}:null);return r.appContext=o,jn(r,t),Sue(e).appendChild(t.firstElementChild),r.component},Tue=()=>document.createElement("div"),$ue=(e,t)=>{const o=Tue();e.onVanish=()=>{jn(null,o),ou.delete(l)},e.onAction=n=>{const a=ou.get(l);let i;e.showInput?i={value:l.inputValue,action:n}:i=n,e.callback?e.callback(i,r.proxy):n==="cancel"||n==="close"?e.distinguishCancelAndClose&&n!=="cancel"?a.reject("close"):a.reject("cancel"):a.resolve(i)};const r=Eue(e,o,t),l=r.proxy;for(const n in e)Pt(e,n)&&!Pt(l.$props,n)&&(l[n]=e[n]);return l.visible=!0,l};function gs(e,t=null){if(!Nt)return Promise.reject();let o;return ut(e)||io(e)?e={message:e}:o=e.callback,new Promise((r,l)=>{const n=$ue(e,t??gs._context);ou.set(n,{options:e,callback:o,resolve:r,reject:l})})}const Mue=["alert","confirm","prompt"],Aue={alert:{closeOnPressEscape:!1,closeOnClickModal:!1},confirm:{showCancelButton:!0},prompt:{showCancelButton:!0,showInput:!0}};Mue.forEach(e=>{gs[e]=zue(e)});function zue(e){return(t,o,r,l)=>{let n="";return xt(o)?(r=o,n=""):ko(o)?n="":n=o,gs(Object.assign({title:n,message:t,type:"",...Aue[e]},r,{boxType:e}),l)}}gs.close=()=>{ou.forEach((e,t)=>{t.doClose()}),ou.clear()},gs._context=null;const ca=gs;ca.install=e=>{ca._context=e._context,e.config.globalProperties.$msgbox=ca,e.config.globalProperties.$messageBox=ca,e.config.globalProperties.$alert=ca.alert,e.config.globalProperties.$confirm=ca.confirm,e.config.globalProperties.$prompt=ca.prompt};const Iue=ca,Ux=["success","info","warning","error"],Oue=Pe({customClass:{type:String,default:""},dangerouslyUseHTMLString:{type:Boolean,default:!1},duration:{type:Number,default:4500},icon:{type:Xt},id:{type:String,default:""},message:{type:ue([String,Object]),default:""},offset:{type:Number,default:0},onClick:{type:ue(Function),default:()=>{}},onClose:{type:ue(Function),required:!0},position:{type:String,values:["top-right","top-left","bottom-right","bottom-left"],default:"top-right"},showClose:{type:Boolean,default:!0},title:{type:String,default:""},type:{type:String,values:[...Ux,""],default:""},zIndex:Number}),Nue={destroy:()=>!0},Pue=["id"],Rue=["textContent"],Lue={key:0},Bue=["innerHTML"],Vue=N({...N({name:"ElNotification"}),props:Oue,emits:Nue,setup(e,{expose:t}){const o=e,{ns:r,zIndex:l}=Yd("notification"),{nextZIndex:n,currentZIndex:a}=l,{Close:i}=gh,c=D(!1);let d;const u=C(()=>{const w=o.type;return w&&Jn[o.type]?r.m(w):""}),p=C(()=>o.type&&Jn[o.type]||o.icon),h=C(()=>o.position.endsWith("right")?"right":"left"),v=C(()=>o.position.startsWith("top")?"top":"bottom"),m=C(()=>{var w;return{[v.value]:`${o.offset}px`,zIndex:(w=o.zIndex)!=null?w:a.value}});function f(){o.duration>0&&({stop:d}=$a(()=>{c.value&&g()},o.duration))}function _(){d==null||d()}function g(){c.value=!1}function y({code:w}){w===lt.delete||w===lt.backspace?_():w===lt.esc?c.value&&g():f()}return ft(()=>{f(),n(),c.value=!0}),oo(document,"keydown",y),t({visible:c,close:g}),(w,x)=>(b(),he(Mo,{name:s(r).b("fade"),onBeforeLeave:w.onClose,onAfterLeave:x[1]||(x[1]=$=>w.$emit("destroy")),persisted:""},{default:le(()=>[mt(E("div",{id:w.id,class:O([s(r).b(),w.customClass,s(h)]),style:Je(s(m)),role:"alert",onMouseenter:_,onMouseleave:f,onClick:x[0]||(x[0]=(...$)=>w.onClick&&w.onClick(...$))},[s(p)?(b(),he(s(Ze),{key:0,class:O([s(r).e("icon"),s(u)])},{default:le(()=>[(b(),he(Et(s(p))))]),_:1},8,["class"])):se("v-if",!0),E("div",{class:O(s(r).e("group"))},[E("h2",{class:O(s(r).e("title")),textContent:$e(w.title)},null,10,Rue),mt(E("div",{class:O(s(r).e("content")),style:Je(w.title?void 0:{margin:0})},[be(w.$slots,"default",{},()=>[w.dangerouslyUseHTMLString?(b(),M(Qe,{key:1},[se(" Caution here, message could've been compromised, never use user's input as message "),E("p",{innerHTML:w.message},null,8,Bue)],2112)):(b(),M("p",Lue,$e(w.message),1))])],6),[[Lt,w.message]]),w.showClose?(b(),he(s(Ze),{key:0,class:O(s(r).e("closeBtn")),onClick:ct(g,["stop"])},{default:le(()=>[ee(s(i))]),_:1},8,["class","onClick"])):se("v-if",!0)],2)],46,Pue),[[Lt,c.value]])]),_:3},8,["name","onBeforeLeave"]))}});var Due=Le(Vue,[["__file","notification.vue"]]);const Gp={"top-left":[],"top-right":[],"bottom-left":[],"bottom-right":[]},tm=16;let Hue=1;const bs=function(e={},t=null){if(!Nt)return{close:()=>{}};(typeof e=="string"||io(e))&&(e={message:e});const o=e.position||"top-right";let r=e.offset||0;Gp[o].forEach(({vm:u})=>{var p;r+=(((p=u.el)==null?void 0:p.offsetHeight)||0)+tm}),r+=tm;const l=`notification_${Hue++}`,n=e.onClose,a={...e,offset:r,id:l,onClose:()=>{Fue(l,o,n)}};let i=document.body;Gr(e.appendTo)?i=e.appendTo:ut(e.appendTo)&&(i=document.querySelector(e.appendTo)),Gr(i)||(i=document.body);const c=document.createElement("div"),d=ee(Due,a,io(a.message)?{default:()=>a.message}:null);return d.appContext=t??bs._context,d.props.onDestroy=()=>{jn(null,c)},jn(d,c),Gp[o].push({vm:d}),i.appendChild(c.firstElementChild),{close:()=>{d.component.exposed.visible.value=!1}}};Ux.forEach(e=>{bs[e]=(t={})=>((typeof t=="string"||io(t))&&(t={message:t}),bs({...t,type:e}))});function Fue(e,t,o){const r=Gp[t],l=r.findIndex(({vm:d})=>{var u;return((u=d.component)==null?void 0:u.props.id)===e});if(l===-1)return;const{vm:n}=r[l];if(!n)return;o==null||o(n);const a=n.el.offsetHeight,i=t.split("-")[0];r.splice(l,1);const c=r.length;if(!(c<1))for(let d=l;d{t.component.exposed.visible.value=!1})}bs.closeAll=jue,bs._context=null;const Kue=Q3(bs,"$notify");var Uue=[Qce,lue,bue,Iue,Kue,Gy],Wue=EK([...Gce,...Uue]);const que={class:"list"},Yue={key:0,class:"title"},Gue=["onClick"],Xue={key:1,class:"no-found"},Zue=N({__name:"CpList",props:{listClass:{type:String,default:""},itemClass:{type:String,default:""},noFoundMsg:{type:String,default:""},search:{type:Boolean,default:!0},title:{type:String,default:""},list:{type:Array,default:()=>[]}},emits:["handleClick"],setup(e,{expose:t,emit:o}){const r=D(""),l=D(null),n=e,a=o,i=u=>{a("handleClick",u)},c=C(()=>r.value&&r.value?n.list.filter(u=>JSON.stringify(u).toLowerCase().includes(r.value.toLowerCase())):n.list),d=C(()=>n.list.length<5?90*n.list.length:400);return t({listContent:l}),(u,p)=>{const h=nt("Search"),v=nt("el-icon"),m=nt("el-input");return b(),M("div",que,[e.title?(b(),M("div",Yue,$e(e.title),1)):se("",!0),n.search?(b(),he(m,{key:1,placeholder:s(ht).search,modelValue:r.value,"onUpdate:modelValue":p[0]||(p[0]=f=>r.value=f),clearable:"",onClear:p[1]||(p[1]=f=>r.value="")},{prepend:le(()=>[ee(v,{size:25},{default:le(()=>[ee(h)]),_:1})]),_:1},8,["placeholder","modelValue"])):se("",!0),E("ul",{ref_key:"listContent",ref:l,class:O(e.listClass),style:Je(`min-height: ${d.value}px`)},[c.value.length?(b(),M("div",{key:0,style:Je(`min-height: ${d.value}px`)},[(b(!0),M(Qe,null,It(c.value,(f,_)=>(b(),M("li",{key:_,class:O(e.itemClass),onClick:g=>i(f)},[be(u.$slots,"default",{item:f})],10,Gue))),128))],4)):(b(),M("div",Xue,$e(e.noFoundMsg),1))],6)])}}}),Jue={class:"content"},Que={key:0,class:"title"},ede={class:"inner"},tde=N({__name:"CpModal",props:{title:{type:String,required:!1,default:""},class:{type:String,required:!1,default:""},show:{type:Boolean,required:!1,default:!0}},emits:["close"],setup(e,{emit:t}){const o=D(null),r=t,l=e,n=C(()=>{let a=l.show?"active":"";return l.class&&(a+=" "+l.class),a});return ft(()=>{o.value&&o.value.addEventListener("click",a=>{o.value==a.target&&r("close")})}),(a,i)=>(b(),M("div",{ref_key:"modal",ref:o,class:O(["modal",n.value])},[E("div",Jue,[e.title?(b(),M("div",Que,$e(e.title),1)):se("",!0),E("div",ede,[be(a.$slots,"default")])])],2))}}),ode=(e,t)=>{const o=e.__vccOpts||e;for(const[r,l]of t)o[r]=l;return o},rde={},lde={class:"loading"},nde=[u9('',1)];function ade(e,t){return b(),M("div",lde,nde)}const ide=ode(rde,[["render",ade]]),sde={class:"inner"},cde=["href"],ude=N({__name:"CpContainer",setup(e){const t=D(null);zt("container",t);const o=D(null),r=C(()=>{let i=qt.modal?"modal":"";return Ho.get.modal&&(i+=" active"),i});ft(()=>{o.value&&o.value.addEventListener("click",i=>{o.value==i.target&&Ho.set("modal",!1)})});const l=atob("Q3J5cHRvUGF5"),n=atob("UG93ZXJlZCBieQ=="),a=atob("aHR0cHM6Ly9iZXljYW5wcmVzcy5jb20vY3J5cHRvcGF5P3V0bV9zb3VyY2U9cHJvX3BsdWdpbiZ1dG1fbWVkaXVtPXBvd2VyZWRfYnk=");return(i,c)=>(b(),M("div",{ref_key:"app",ref:o,class:O(["app",r.value])},[E("div",{class:O(["container","theme-"+s(qt).theme.mode]),ref_key:"container",ref:t},[E("div",sde,[be(i.$slots,"default")]),E("div",null,[E("span",null,$e(s(n)),1),E("a",{href:s(a),target:"_blank"},$e(s(l)),9,cde)])],2)],2))}});class dde{constructor(t){ff(this,"store");ff(this,"stableCoins",["USDT","USDC","DAI","BUSD","UST","TUSD"]);this.store=t}useDiscount(t){const o=this.store.payment.get.order.paymentCurrency.symbol,r=qt.discountRates[o];return parseFloat((t-t*r/100).toFixed(6))}async currencyConverter(){const t=this.store.payment.get.order.amount,o=this.store.payment.get.order.currency,r=this.store.payment.get.order.paymentCurrency.symbol;if((o.toLocaleUpperCase()=="USD"||r.toLocaleUpperCase()=="USD")&&(this.stableCoins.includes(o.toLocaleUpperCase())||this.stableCoins.includes(r.toLocaleUpperCase())))return this.useDiscount(t);let l="https://min-api.cryptocompare.com/data/price";l=l+"?fsym="+o+"&tsyms="+r;const n=await fetch(l).then(a=>a.json());return n[r.toUpperCase()]?this.useDiscount(parseFloat(String(t*n[r.toUpperCase()]))):0}findReceiverFromAddresses(t){const o=qt.addresses;if(!o)return bo("No addresses found in config").then(()=>{window.location.reload()}),"";const r=String((t==null?void 0:t.id)||(t==null?void 0:t.hexId));return o[r]??o[String(t==null?void 0:t.code)]}async init(t){const o=this.store.payment.get.order.amount,r=this.store.payment.get.order.currency,l=this.findReceiverFromAddresses(t),n=this.store.payment.get.order.paymentCurrency,a=await this.currencyConverter();return Promise.resolve({order:{amount:o,currency:r,paymentAmount:a,paymentCurrency:n},receiver:l,blockConfirmationCount:10})}createTransaction(){return Promise.resolve({success:!0,data:null,message:""})}paymentFinished(t){return Promise.resolve({success:t,data:null,message:""})}}class pde{constructor(t){ff(this,"store");this.store=t}async init(t){return await fo.get("init",{params:{order:this.store.payment.get.order,network:wi(t)}}).then(async function(o){const r=o.data.data;return o.data.success&&r.redirect?r.redirect=="reload"?window.location.reload():window.location.href=r.redirect:r}).catch(function(o){return o.response&&o.response.data||o})}async createTransaction(t){const o=this.store.payment.get.order,r=this.store.payment.get.network,l=o.paymentCurrency;return l.symbol==(r==null?void 0:r.nativeCurrency.symbol)?l.decimals=r==null?void 0:r.nativeCurrency.decimals:l.address&&(l.decimals=await new Un.assets.Token(l.address).getDecimals()),this.store.payment.setOrderParams({paymentCurrency:l}),await fo.post("create-transaction",{order:o,hash:t.getId(),dynamicData:Js.getAll(),network:wi(r)}).then(n=>n.data).catch(n=>{let a=n.response.data||null;return a||(a={data:null,success:!1,message:n.message}),a})}async paymentFinished(t){const o=this.store.payment.get.order,r=this.store.payment.get.network,l=this.store.payment.get.transactionHash;return await fo.post("payment-finished",{hash:l,order:o,status:t,dynamicData:Js.getAll(),network:wi(r)}).then(async n=>n.data).catch(async n=>{let a=n.response.data||null;return a||(a={data:null,success:!1,message:n.message}),a})}async currencyConverter(){return await new Promise(t=>{fo.get("/currency-converter",{params:{order:this.store.payment.get.order,network:wi(this.store.payment.get.network)}}).then(o=>{o.data.success?t(o.data.data):t(0)}).catch(()=>{t(0)})})}}const fde=[{id:1,hexId:"0x1",name:"Ethereum",code:"evmchains",rpcUrl:"https://ethereum-rpc.publicnode.com",explorerUrl:"https://etherscan.io/",nativeCurrency:{symbol:"ETH",decimals:18},currencies:[{symbol:"ETH"},{symbol:"USDT",address:"0xdac17f958d2ee523a2206206994597c13d831ec7"},{symbol:"USDC",address:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"},{symbol:"BUSD",address:"0x4Fabb145d64652a948d72533023f6E7A623C7C53"}]},{id:56,hexId:"0x38",name:"BNB Smart Chain",code:"evmchains",rpcUrl:"https://bsc-rpc.publicnode.com",explorerUrl:"https://bscscan.com/",nativeCurrency:{symbol:"BNB",decimals:18},currencies:[{symbol:"BNB"},{symbol:"BUSD",address:"0xe9e7cea3dedca5984780bafc599bd69add087d56"},{symbol:"USDT",address:"0x55d398326f99059ff775485246999027b3197955"},{symbol:"USDC",address:"0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d"}]},{id:43114,hexId:"0xa86a",name:"Avalanche C-Chain",code:"evmchains",rpcUrl:"https://api.avax.network/ext/bc/C/rpc",explorerUrl:"https://cchain.explorer.avax.network/",nativeCurrency:{symbol:"AVAX",decimals:18},currencies:[{symbol:"AVAX"},{symbol:"USDT",address:"0xde3a24028580884448a5397872046a019649b084"}]},{id:137,hexId:"0x89",name:"Polygon",code:"evmchains",rpcUrl:"https://polygon-rpc.com/",explorerUrl:"https://polygonscan.com/",nativeCurrency:{symbol:"MATIC",decimals:18},currencies:[{symbol:"MATIC"},{symbol:"USDT",address:"0xc2132d05d31c914a87c6611c10748aeb04b58e8f"}]},{id:250,hexId:"0xfa",name:"Fantom",code:"evmchains",rpcUrl:"https://rpc.fantom.network",explorerUrl:"https://ftmscan.com/",nativeCurrency:{symbol:"FTM",decimals:18},currencies:[{symbol:"FTM"}]}],hde=[{id:11155111,hexId:"0xaa36a7",mainnetId:1,code:"evmchains",name:"Ethereum Sepolia Testnet",rpcUrl:"https://sepolia.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161",explorerUrl:"https://sepolia.etherscan.io/",nativeCurrency:{symbol:"ETH",decimals:18},currencies:[{symbol:"ETH"},{symbol:"USDT",address:"0x419Fe9f14Ff3aA22e46ff1d03a73EdF3b70A62ED"},{symbol:"USDC",address:"0x13fA158A117b93C27c55b8216806294a0aE88b6D"}]},{id:97,hexId:"0x61",mainnetId:56,code:"evmchains",name:"BNB Smart Chain Testnet",rpcUrl:"https://bsc-testnet.publicnode.com",explorerUrl:"https://testnet.bscscan.com/",nativeCurrency:{symbol:"BNB",decimals:18},currencies:[{symbol:"BNB"},{symbol:"BUSD",address:"0xeD24FC36d5Ee211Ea25A80239Fb8C4Cfd80f12Ee"},{symbol:"USDT",address:"0xba6670261a05b8504e8ab9c45d97a8ed42573822"}]},{id:43113,hexId:"0xa869",mainnetId:43114,code:"evmchains",name:"Avalanche FUJI C-Chain Testnet",rpcUrl:"https://api.avax-test.network/ext/bc/C/rpc",explorerUrl:"https://cchain.explorer.avax-test.network",nativeCurrency:{symbol:"AVAX",decimals:18},currencies:[{symbol:"AVAX"},{symbol:"USDT",address:"0xFe143522938e253e5Feef14DB0732e9d96221D72"}]},{id:80002,hexId:"0x13882",mainnetId:137,code:"evmchains",name:"Polygon Amoy Testnet",rpcUrl:"https://rpc-amoy.polygon.technology",explorerUrl:"https://www.oklink.com/amoy",nativeCurrency:{symbol:"MATIC",decimals:18},currencies:[{symbol:"MATIC"},{symbol:"USDT",address:"0xa02f6adc7926efebbd59fd43a84f4e0c0c91e832"}]},{id:4002,hexId:"0xfa2",mainnetId:250,code:"evmchains",name:"Fantom Testnet",rpcUrl:"https://rpc.testnet.fantom.network/",explorerUrl:"https://testnet.ftmscan.com/",nativeCurrency:{symbol:"FTM",decimals:18},currencies:[{symbol:"FTM"}]}];window.cplSwal=Er,window.cplHelpers=Q1,window.cplTyping=ha;let Wx=!1;window.InitCryptoPayLite=(e,t)=>{var d;if(t=ha(t),Wx)throw new Error("CryptoPay Lite already initialized");xi(),Wx=!0,(d=document.querySelector("body"))==null||d.classList.add("cpl-theme-"+t.theme.mode),fo.defaults.baseURL=t.apiUrl??"./test-data/fake-api";const o={events:Vt,helpers:Q1,dynamicData:Js},r=rC();r.use(LS);const l=D1(PS);l.component("cp-list",Zue),l.component("cp-modal",tde),l.component("cp-loading",ide),l.component("cp-container",ude);for(const[u,p]of Object.entries(oF))l.component(u,p);l.use(r),l.use(Wue);const n={};Object.values(mC).forEach(u=>{const p=u();n[p.$id]=p}),vC(t),hC(n);const a=document.createElement("div");l.mount(a);const i=()=>new Promise(u=>{const p=Object.values(n);p.forEach(async(h,v)=>{await h.$reset(),v===p.length-1&&u(!0)})}),c=(u,p={})=>{if(typeof u!="object")throw new Error("Order must be object");if(typeof p!="object")throw new Error("Params must be object");if(!u.amount)throw new Error("Order amount is required");if(!u.currency)throw new Error("Order currency is required");if(typeof u.currency!="string")throw new Error("Order currency must be string");if(typeof u.amount!="number")throw new Error("Order amount must be number");o!=null&&o.start&&delete o.start,fo.defaults.params={params:p,cp_addon:t.addon};const h=(t.testnet?hde:fde).filter(x=>(x.wallets=t.wallets,t.networks.includes(x.id)));if(n.config.set("order",un(u)),n.config.set("networks",un(h)),t.init&&n.payment.setInit(un(t.init)),t.apiUrl)n.payment.setAPI(new pde(n));else{if(!t.addresses)throw new Error("Addresses must be defined in config");n.payment.setAPI(new dde(n))}const v=document.getElementById(e);let m;v!=null&&v.shadowRoot?m=v.shadowRoot:m=v==null?void 0:v.attachShadow({mode:"open"});const f=new CSSStyleSheet,_=t.theme.style[t.theme.mode],g=` + `}),c=C(()=>2*Math.PI*a.value),d=C(()=>t.type==="dashboard"?.75:1),u=C(()=>`${-1*c.value*(1-d.value)/2}px`),p=C(()=>({strokeDasharray:`${c.value*d.value}px, ${c.value}px`,strokeDashoffset:u.value})),h=C(()=>({strokeDasharray:`${c.value*d.value*(t.percentage/100)}px, ${c.value}px`,strokeDashoffset:u.value,transition:"stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s"})),v=C(()=>{let w;return t.color?w=y(t.percentage):w=o[t.status]||o.default,w}),m=C(()=>t.status==="warning"?mc:t.type==="line"?t.status==="success"?zd:hn:t.status==="success"?Li:Jr),f=C(()=>t.type==="line"?12+t.strokeWidth*.4:t.width*.111111+2),_=C(()=>t.format(t.percentage));function g(w){const x=100/w.length;return w.map((T,R)=>ut(T)?{color:T,percentage:(R+1)*x}:T).sort((T,R)=>T.percentage-R.percentage)}const y=w=>{var x;const{color:$}=t;if(it($))return $(w);if(ut($))return $;{const T=g($);for(const R of T)if(R.percentage>w)return R.color;return(x=T[T.length-1])==null?void 0:x.color}};return(w,x)=>(b(),M("div",{class:O([s(r).b(),s(r).m(w.type),s(r).is(w.status),{[s(r).m("without-text")]:!w.showText,[s(r).m("text-inside")]:w.textInside}]),role:"progressbar","aria-valuenow":w.percentage,"aria-valuemin":"0","aria-valuemax":"100"},[w.type==="line"?(b(),M("div",{key:0,class:O(s(r).b("bar"))},[E("div",{class:O(s(r).be("bar","outer")),style:Je({height:`${w.strokeWidth}px`})},[E("div",{class:O([s(r).be("bar","inner"),{[s(r).bem("bar","inner","indeterminate")]:w.indeterminate},{[s(r).bem("bar","inner","striped")]:w.striped},{[s(r).bem("bar","inner","striped-flow")]:w.stripedFlow}]),style:Je(s(l))},[(w.showText||w.$slots.default)&&w.textInside?(b(),M("div",{key:0,class:O(s(r).be("bar","innerText"))},[be(w.$slots,"default",{percentage:w.percentage},()=>[E("span",null,$e(s(_)),1)])],2)):se("v-if",!0)],6)],6)],2)):(b(),M("div",{key:1,class:O(s(r).b("circle")),style:Je({height:`${w.width}px`,width:`${w.width}px`})},[(b(),M("svg",Hoe,[E("path",{class:O(s(r).be("circle","track")),d:s(i),stroke:`var(${s(r).cssVarName("fill-color-light")}, #e5e9f2)`,"stroke-linecap":w.strokeLinecap,"stroke-width":s(n),fill:"none",style:Je(s(p))},null,14,Foe),E("path",{class:O(s(r).be("circle","path")),d:s(i),stroke:s(v),fill:"none",opacity:w.percentage?1:0,"stroke-linecap":w.strokeLinecap,"stroke-width":s(n),style:Je(s(h))},null,14,joe)]))],6)),(w.showText||w.$slots.default)&&!w.textInside?(b(),M("div",{key:2,class:O(s(r).e("text")),style:Je({fontSize:`${s(f)}px`})},[be(w.$slots,"default",{percentage:w.percentage},()=>[w.status?(b(),he(s(Ze),{key:1},{default:le(()=>[(b(),he(Et(s(m))))]),_:1})):(b(),M("span",Koe,$e(s(_)),1))])],6)):se("v-if",!0)],10,Doe))}});var Woe=Le(Uoe,[["__file","progress.vue"]]);const Xy=yt(Woe),qoe=Pe({modelValue:{type:Number,default:0},id:{type:String,default:void 0},lowThreshold:{type:Number,default:2},highThreshold:{type:Number,default:4},max:{type:Number,default:5},colors:{type:ue([Array,Object]),default:()=>uo(["","",""])},voidColor:{type:String,default:""},disabledVoidColor:{type:String,default:""},icons:{type:ue([Array,Object]),default:()=>[vc,vc,vc]},voidIcon:{type:Xt,default:()=>G3},disabledVoidIcon:{type:Xt,default:()=>vc},disabled:Boolean,allowHalf:Boolean,showText:Boolean,showScore:Boolean,textColor:{type:String,default:""},texts:{type:ue(Array),default:()=>uo(["Extremely bad","Disappointed","Fair","Satisfied","Surprise"])},scoreTemplate:{type:String,default:"{value}"},size:Oo,label:{type:String,default:void 0},clearable:{type:Boolean,default:!1},...Zo(["ariaLabel"])}),Yoe={[ro]:e=>st(e),[St]:e=>st(e)},Goe=["id","aria-label","aria-labelledby","aria-valuenow","aria-valuetext","aria-valuemax"],Xoe=["onMousemove","onClick"],Zoe=N({...N({name:"ElRate"}),props:qoe,emits:Yoe,setup(e,{expose:t,emit:o}){const r=e;function l(H,F){const K=oe=>xt(oe),I=Object.keys(F).map(oe=>+oe).filter(oe=>{const ne=F[oe];return(K(ne)?ne.excluded:!1)?Hoe-ne),U=F[I[0]];return K(U)&&U.value||U}const n=Ge(Ka,void 0),a=Ge(Hl,void 0),i=So(),c=ze("rate"),{inputId:d,isLabeledByFormItem:u}=bl(r,{formItemContext:a}),p=D(r.modelValue),h=D(-1),v=D(!0),m=C(()=>[c.b(),c.m(i.value)]),f=C(()=>r.disabled||(n==null?void 0:n.disabled)),_=C(()=>c.cssVarBlock({"void-color":r.voidColor,"disabled-void-color":r.disabledVoidColor,"fill-color":x.value})),g=C(()=>{let H="";return r.showScore?H=r.scoreTemplate.replace(/\{\s*value\s*\}/,f.value?`${r.modelValue}`:`${p.value}`):r.showText&&(H=r.texts[Math.ceil(p.value)-1]),H}),y=C(()=>r.modelValue*100-Math.floor(r.modelValue)*100),w=C(()=>Ke(r.colors)?{[r.lowThreshold]:r.colors[0],[r.highThreshold]:{value:r.colors[1],excluded:!0},[r.max]:r.colors[2]}:r.colors),x=C(()=>{const H=l(p.value,w.value);return xt(H)?"":H}),$=C(()=>{let H="";return f.value?H=`${y.value}%`:r.allowHalf&&(H="50%"),{color:x.value,width:H}}),T=C(()=>{let H=Ke(r.icons)?[...r.icons]:{...r.icons};return H=Nn(H),Ke(H)?{[r.lowThreshold]:H[0],[r.highThreshold]:{value:H[1],excluded:!0},[r.max]:H[2]}:H}),R=C(()=>l(r.modelValue,T.value)),P=C(()=>f.value?ut(r.disabledVoidIcon)?r.disabledVoidIcon:Nn(r.disabledVoidIcon):ut(r.voidIcon)?r.voidIcon:Nn(r.voidIcon)),L=C(()=>l(p.value,T.value));function V(H){const F=f.value&&y.value>0&&H-1r.modelValue,K=r.allowHalf&&v.value&&H-.5<=p.value&&H>p.value;return F||K}function B(H){r.clearable&&H===r.modelValue&&(H=0),o(St,H),r.modelValue!==H&&o("change",H)}function j(H){f.value||(r.allowHalf&&v.value?B(p.value):B(H))}function te(H){if(f.value)return;let F=p.value;const K=H.code;return K===lt.up||K===lt.right?(r.allowHalf?F+=.5:F+=1,H.stopPropagation(),H.preventDefault()):(K===lt.left||K===lt.down)&&(r.allowHalf?F-=.5:F-=1,H.stopPropagation(),H.preventDefault()),F=F<0?0:F,F=F>r.max?r.max:F,o(St,F),o("change",F),F}function J(H,F){if(!f.value){if(r.allowHalf&&F){let K=F.target;Xr(K,c.e("item"))&&(K=K.querySelector(`.${c.e("icon")}`)),(K.clientWidth===0||Xr(K,c.e("decimal")))&&(K=K.parentNode),v.value=F.offsetX*2<=K.clientWidth,p.value=v.value?H-.5:H}else p.value=H;h.value=H}}function Z(){f.value||(r.allowHalf&&(v.value=r.modelValue!==Math.floor(r.modelValue)),p.value=r.modelValue,h.value=-1)}return Se(()=>r.modelValue,H=>{p.value=H,v.value=r.modelValue!==Math.floor(r.modelValue)}),r.modelValue||o(St,0),Lo({from:"label",replacement:"aria-label",version:"2.8.0",scope:"el-rate",ref:"https://element-plus.org/en-US/component/rate.html"},C(()=>!!r.label)),t({setCurrentValue:J,resetCurrentValue:Z}),(H,F)=>{var K;return b(),M("div",{id:s(d),class:O([s(m),s(c).is("disabled",s(f))]),role:"slider","aria-label":s(u)?void 0:H.label||H.ariaLabel||"rating","aria-labelledby":s(u)?(K=s(a))==null?void 0:K.labelId:void 0,"aria-valuenow":p.value,"aria-valuetext":s(g)||void 0,"aria-valuemin":"0","aria-valuemax":H.max,tabindex:"0",style:Je(s(_)),onKeydown:te},[(b(!0),M(Qe,null,It(H.max,(I,U)=>(b(),M("span",{key:U,class:O(s(c).e("item")),onMousemove:oe=>J(I,oe),onMouseleave:Z,onClick:oe=>j(I)},[ee(s(Ze),{class:O([s(c).e("icon"),{hover:h.value===I},s(c).is("active",I<=p.value)])},{default:le(()=>[V(I)?se("v-if",!0):(b(),M(Qe,{key:0},[mt((b(),he(Et(s(L)),null,null,512)),[[Lt,I<=p.value]]),mt((b(),he(Et(s(P)),null,null,512)),[[Lt,!(I<=p.value)]])],64)),V(I)?(b(),M(Qe,{key:1},[(b(),he(Et(s(P)),{class:O([s(c).em("decimal","box")])},null,8,["class"])),ee(s(Ze),{style:Je(s($)),class:O([s(c).e("icon"),s(c).e("decimal")])},{default:le(()=>[(b(),he(Et(s(R))))]),_:1},8,["style","class"])],64)):se("v-if",!0)]),_:2},1032,["class"])],42,Xoe))),128)),H.showText||H.showScore?(b(),M("span",{key:0,class:O(s(c).e("text")),style:Je({color:H.textColor})},$e(s(g)),7)):se("v-if",!0)],46,Goe)}}});var Joe=Le(Zoe,[["__file","rate.vue"]]);const Qoe=yt(Joe),ns={success:"icon-success",warning:"icon-warning",error:"icon-error",info:"icon-info"},Zy={[ns.success]:N3,[ns.warning]:mc,[ns.error]:Id,[ns.info]:Od},ere=Pe({title:{type:String,default:""},subTitle:{type:String,default:""},icon:{type:String,values:["success","warning","info","error"],default:"info"}}),tre=N({...N({name:"ElResult"}),props:ere,setup(e){const t=e,o=ze("result"),r=C(()=>{const l=t.icon,n=l&&ns[l]?ns[l]:"icon-info",a=Zy[n]||Zy["icon-info"];return{class:n,component:a}});return(l,n)=>(b(),M("div",{class:O(s(o).b())},[E("div",{class:O(s(o).e("icon"))},[be(l.$slots,"icon",{},()=>[s(r).component?(b(),he(Et(s(r).component),{key:0,class:O(s(r).class)},null,8,["class"])):se("v-if",!0)])],2),l.title||l.$slots.title?(b(),M("div",{key:0,class:O(s(o).e("title"))},[be(l.$slots,"title",{},()=>[E("p",null,$e(l.title),1)])],2)):se("v-if",!0),l.subTitle||l.$slots["sub-title"]?(b(),M("div",{key:1,class:O(s(o).e("subtitle"))},[be(l.$slots,"sub-title",{},()=>[E("p",null,$e(l.subTitle),1)])],2)):se("v-if",!0),l.$slots.extra?(b(),M("div",{key:2,class:O(s(o).e("extra"))},[be(l.$slots,"extra")],2)):se("v-if",!0)],2))}});var ore=Le(tre,[["__file","result.vue"]]);const rre=yt(ore);var Jy=Number.isNaN||function(t){return typeof t=="number"&&t!==t};function lre(e,t){return!!(e===t||Jy(e)&&Jy(t))}function nre(e,t){if(e.length!==t.length)return!1;for(var o=0;o{const t=wt().proxy.$props;return C(()=>{const o=(r,l,n)=>({});return t.perfMode?_d(o):are(o)})},t2=50,Sp="itemRendered",Ep="scroll",as="forward",Tp="backward",ll="auto",$p="smart",Hc="start",Kl="center",Fc="end",is="horizontal",o2="vertical",ire="ltr",ss="rtl",jc="negative",r2="positive-ascending",l2="positive-descending",sre={[is]:"left",[o2]:"top"},cre=20,ure={[is]:"deltaX",[o2]:"deltaY"},dre=({atEndEdge:e,atStartEdge:t,layout:o},r)=>{let l,n=0;const a=c=>c<0&&t.value||c>0&&e.value;return{hasReachedEdge:a,onWheel:c=>{Pa(l);const d=c[ure[o.value]];a(n)&&a(n+d)||(n+=d,i_()||c.preventDefault(),l=Xn(()=>{r(n),n=0}))}}},n2=vl({type:ue([Number,Function]),required:!0}),a2=vl({type:Number}),i2=vl({type:Number,default:2}),pre=vl({type:String,values:["ltr","rtl"],default:"ltr"}),s2=vl({type:Number,default:0}),Mp=vl({type:Number,required:!0}),e8=vl({type:String,values:["horizontal","vertical"],default:o2}),t8=Pe({className:{type:String,default:""},containerElement:{type:ue([String,Object]),default:"div"},data:{type:ue(Array),default:()=>uo([])},direction:pre,height:{type:[String,Number],required:!0},innerElement:{type:[String,Object],default:"div"},style:{type:ue([Object,String,Array])},useIsScrolling:{type:Boolean,default:!1},width:{type:[Number,String],required:!1},perfMode:{type:Boolean,default:!0},scrollbarAlwaysOn:{type:Boolean,default:!1}}),o8=Pe({cache:i2,estimatedItemSize:a2,layout:e8,initScrollOffset:s2,total:Mp,itemSize:n2,...t8}),c2={type:Number,default:6},r8={type:Number,default:0},l8={type:Number,default:2},Ja=Pe({columnCache:i2,columnWidth:n2,estimatedColumnWidth:a2,estimatedRowHeight:a2,initScrollLeft:s2,initScrollTop:s2,itemKey:{type:ue(Function),default:({columnIndex:e,rowIndex:t})=>`${t}:${e}`},rowCache:i2,rowHeight:n2,totalColumn:Mp,totalRow:Mp,hScrollbarSize:c2,vScrollbarSize:c2,scrollbarStartGap:r8,scrollbarEndGap:l8,role:String,...t8}),n8=Pe({alwaysOn:Boolean,class:String,layout:e8,total:Mp,ratio:{type:Number,required:!0},clientSize:{type:Number,required:!0},scrollFrom:{type:Number,required:!0},scrollbarSize:c2,startGap:r8,endGap:l8,visible:Boolean}),Qa=(e,t)=>ee===ire||e===ss||e===is,a8=e=>e===ss;let cs=null;function Ap(e=!1){if(cs===null||e){const t=document.createElement("div"),o=t.style;o.width="50px",o.height="50px",o.overflow="scroll",o.direction="rtl";const r=document.createElement("div"),l=r.style;return l.width="100px",l.height="100px",t.appendChild(r),document.body.appendChild(t),t.scrollLeft>0?cs=l2:(t.scrollLeft=1,t.scrollLeft===0?cs=jc:cs=r2),document.body.removeChild(t),cs}return cs}function fre({move:e,size:t,bar:o},r){const l={},n=`translate${o.axis}(${e}px)`;return l[o.size]=t,l.transform=n,l.msTransform=n,l.webkitTransform=n,r==="horizontal"?l.height="100%":l.width="100%",l}const u2=N({name:"ElVirtualScrollBar",props:n8,emits:["scroll","start-move","stop-move"],setup(e,{emit:t}){const o=C(()=>e.startGap+e.endGap),r=ze("virtual-scrollbar"),l=ze("scrollbar"),n=D(),a=D();let i=null,c=null;const d=Dt({isDragging:!1,traveled:0}),u=C(()=>g4[e.layout]),p=C(()=>e.clientSize-s(o)),h=C(()=>({position:"absolute",width:`${is===e.layout?p.value:e.scrollbarSize}px`,height:`${is===e.layout?e.scrollbarSize:p.value}px`,[sre[e.layout]]:"2px",right:"2px",bottom:"2px",borderRadius:"4px"})),v=C(()=>{const T=e.ratio,R=e.clientSize;if(T>=100)return Number.POSITIVE_INFINITY;if(T>=50)return T*R/100;const P=R/3;return Math.floor(Math.min(Math.max(T*R,cre),P))}),m=C(()=>{if(!Number.isFinite(v.value))return{display:"none"};const T=`${v.value}px`;return fre({bar:u.value,size:T,move:d.traveled},e.layout)}),f=C(()=>Math.floor(e.clientSize-v.value-s(o))),_=()=>{window.addEventListener("mousemove",x),window.addEventListener("mouseup",w);const T=s(a);T&&(c=document.onselectstart,document.onselectstart=()=>!1,T.addEventListener("touchmove",x),T.addEventListener("touchend",w))},g=()=>{window.removeEventListener("mousemove",x),window.removeEventListener("mouseup",w),document.onselectstart=c,c=null;const T=s(a);T&&(T.removeEventListener("touchmove",x),T.removeEventListener("touchend",w))},y=T=>{T.stopImmediatePropagation(),!(T.ctrlKey||[1,2].includes(T.button))&&(d.isDragging=!0,d[u.value.axis]=T.currentTarget[u.value.offset]-(T[u.value.client]-T.currentTarget.getBoundingClientRect()[u.value.direction]),t("start-move"),_())},w=()=>{d.isDragging=!1,d[u.value.axis]=0,t("stop-move"),g()},x=T=>{const{isDragging:R}=d;if(!R||!a.value||!n.value)return;const P=d[u.value.axis];if(!P)return;Pa(i);const L=(n.value.getBoundingClientRect()[u.value.direction]-T[u.value.client])*-1,V=a.value[u.value.offset]-P,B=L-V;i=Xn(()=>{d.traveled=Math.max(e.startGap,Math.min(B,f.value)),t("scroll",B,f.value)})},$=T=>{const R=Math.abs(T.target.getBoundingClientRect()[u.value.direction]-T[u.value.client]),P=a.value[u.value.offset]/2,L=R-P;d.traveled=Math.max(0,Math.min(L,f.value)),t("scroll",L,f.value)};return Se(()=>e.scrollFrom,T=>{d.isDragging||(d.traveled=Math.ceil(T*f.value))}),to(()=>{g()}),()=>rt("div",{role:"presentation",ref:n,class:[r.b(),e.class,(e.alwaysOn||d.isDragging)&&"always-on"],style:h.value,onMousedown:ct($,["stop","prevent"]),onTouchstartPrevent:y},rt("div",{ref:a,class:l.e("thumb"),style:m.value,onMousedown:y},[]))}}),i8=({name:e,getOffset:t,getItemSize:o,getItemOffset:r,getEstimatedTotalSize:l,getStartIndexForOffset:n,getStopIndexForStartIndex:a,initCache:i,clearCache:c,validateProps:d})=>N({name:e??"ElVirtualList",props:o8,emits:[Sp,Ep],setup(u,{emit:p,expose:h}){d(u);const v=wt(),m=ze("vl"),f=D(i(u,v)),_=Qy(),g=D(),y=D(),w=D(),x=D({isScrolling:!1,scrollDir:"forward",scrollOffset:st(u.initScrollOffset)?u.initScrollOffset:0,updateRequested:!1,isScrollbarDragging:!1,scrollbarAlwaysOn:u.scrollbarAlwaysOn}),$=C(()=>{const{total:ce,cache:Q}=u,{isScrolling:Me,scrollDir:de,scrollOffset:_e}=s(x);if(ce===0)return[0,0,0,0];const me=n(u,_e,s(f)),Re=a(u,me,_e,s(f)),Ce=!Me||de===Tp?Math.max(1,Q):1,Ee=!Me||de===as?Math.max(1,Q):1;return[Math.max(0,me-Ce),Math.max(0,Math.min(ce-1,Re+Ee)),me,Re]}),T=C(()=>l(u,s(f))),R=C(()=>Kc(u.layout)),P=C(()=>[{position:"relative",[`overflow-${R.value?"x":"y"}`]:"scroll",WebkitOverflowScrolling:"touch",willChange:"transform"},{direction:u.direction,height:st(u.height)?`${u.height}px`:u.height,width:st(u.width)?`${u.width}px`:u.width},u.style]),L=C(()=>{const ce=s(T),Q=s(R);return{height:Q?"100%":`${ce}px`,pointerEvents:s(x).isScrolling?"none":void 0,width:Q?`${ce}px`:"100%"}}),V=C(()=>R.value?u.width:u.height),{onWheel:B}=dre({atStartEdge:C(()=>x.value.scrollOffset<=0),atEndEdge:C(()=>x.value.scrollOffset>=T.value),layout:C(()=>u.layout)},ce=>{var Q,Me;(Me=(Q=w.value).onMouseUp)==null||Me.call(Q),F(Math.min(x.value.scrollOffset+ce,T.value-V.value))}),j=()=>{const{total:ce}=u;if(ce>0){const[_e,me,Re,Ce]=s($);p(Sp,_e,me,Re,Ce)}const{scrollDir:Q,scrollOffset:Me,updateRequested:de}=s(x);p(Ep,Q,Me,de)},te=ce=>{const{clientHeight:Q,scrollHeight:Me,scrollTop:de}=ce.currentTarget,_e=s(x);if(_e.scrollOffset===de)return;const me=Math.max(0,Math.min(de,Me-Q));x.value={..._e,isScrolling:!0,scrollDir:Qa(_e.scrollOffset,me),scrollOffset:me,updateRequested:!1},et(U)},J=ce=>{const{clientWidth:Q,scrollLeft:Me,scrollWidth:de}=ce.currentTarget,_e=s(x);if(_e.scrollOffset===Me)return;const{direction:me}=u;let Re=Me;if(me===ss)switch(Ap()){case jc:{Re=-Me;break}case l2:{Re=de-Q-Me;break}}Re=Math.max(0,Math.min(Re,de-Q)),x.value={..._e,isScrolling:!0,scrollDir:Qa(_e.scrollOffset,Re),scrollOffset:Re,updateRequested:!1},et(U)},Z=ce=>{s(R)?J(ce):te(ce),j()},H=(ce,Q)=>{const Me=(T.value-V.value)/Q*ce;F(Math.min(T.value-V.value,Me))},F=ce=>{ce=Math.max(ce,0),ce!==s(x).scrollOffset&&(x.value={...s(x),scrollOffset:ce,scrollDir:Qa(s(x).scrollOffset,ce),updateRequested:!0},et(U))},K=(ce,Q=ll)=>{const{scrollOffset:Me}=s(x);ce=Math.max(0,Math.min(ce,u.total-1)),F(t(u,ce,Q,Me,s(f)))},I=ce=>{const{direction:Q,itemSize:Me,layout:de}=u,_e=_.value(c&&Me,c&&de,c&&Q);let me;if(Pt(_e,String(ce)))me=_e[ce];else{const Re=r(u,ce,s(f)),Ce=o(u,ce,s(f)),Ee=s(R),De=Q===ss,ae=Ee?Re:0;_e[ce]=me={position:"absolute",left:De?void 0:`${ae}px`,right:De?`${ae}px`:void 0,top:Ee?0:`${Re}px`,height:Ee?"100%":`${Ce}px`,width:Ee?`${Ce}px`:"100%"}}return me},U=()=>{x.value.isScrolling=!1,et(()=>{_.value(-1,null,null)})},oe=()=>{const ce=g.value;ce&&(ce.scrollTop=0)};ft(()=>{if(!Nt)return;const{initScrollOffset:ce}=u,Q=s(g);st(ce)&&Q&&(s(R)?Q.scrollLeft=ce:Q.scrollTop=ce),j()}),rn(()=>{const{direction:ce,layout:Q}=u,{scrollOffset:Me,updateRequested:de}=s(x),_e=s(g);if(de&&_e)if(Q===is)if(ce===ss)switch(Ap()){case jc:{_e.scrollLeft=-Me;break}case r2:{_e.scrollLeft=Me;break}default:{const{clientWidth:me,scrollWidth:Re}=_e;_e.scrollLeft=Re-me-Me;break}}else _e.scrollLeft=Me;else _e.scrollTop=Me});const ne={ns:m,clientSize:V,estimatedTotalSize:T,windowStyle:P,windowRef:g,innerRef:y,innerStyle:L,itemsToRender:$,scrollbarRef:w,states:x,getItemStyle:I,onScroll:Z,onScrollbarScroll:H,onWheel:B,scrollTo:F,scrollToItem:K,resetScrollTop:oe};return h({windowRef:g,innerRef:y,getItemStyleCache:_,scrollTo:F,scrollToItem:K,resetScrollTop:oe,states:x}),ne},render(u){var p;const{$slots:h,className:v,clientSize:m,containerElement:f,data:_,getItemStyle:g,innerElement:y,itemsToRender:w,innerStyle:x,layout:$,total:T,onScroll:R,onScrollbarScroll:P,onWheel:L,states:V,useIsScrolling:B,windowStyle:j,ns:te}=u,[J,Z]=w,H=Et(f),F=Et(y),K=[];if(T>0)for(let ne=J;ne<=Z;ne++)K.push((p=h.default)==null?void 0:p.call(h,{data:_,key:ne,index:ne,isScrolling:B?V.isScrolling:void 0,style:g(ne)}));const I=[rt(F,{style:x,ref:"innerRef"},ut(F)?K:{default:()=>K})],U=rt(u2,{ref:"scrollbarRef",clientSize:m,layout:$,onScroll:P,ratio:m*100/this.estimatedTotalSize,scrollFrom:V.scrollOffset/(this.estimatedTotalSize-m),total:T}),oe=rt(H,{class:[te.e("window"),v],style:j,onScroll:R,onWheel:L,ref:"windowRef",key:0},ut(H)?[I]:{default:()=>[I]});return rt("div",{key:0,class:[te.e("wrapper"),V.scrollbarAlwaysOn?"always-on":""]},[oe,U])}}),s8=i8({name:"ElFixedSizeList",getItemOffset:({itemSize:e},t)=>t*e,getItemSize:({itemSize:e})=>e,getEstimatedTotalSize:({total:e,itemSize:t})=>t*e,getOffset:({height:e,total:t,itemSize:o,layout:r,width:l},n,a,i)=>{const c=Kc(r)?l:e,d=Math.max(0,t*o-c),u=Math.min(d,n*o),p=Math.max(0,(n+1)*o-c);switch(a===$p&&(i>=p-c&&i<=u+c?a=ll:a=Kl),a){case Hc:return u;case Fc:return p;case Kl:{const h=Math.round(p+(u-p)/2);return hd+Math.floor(c/2)?d:h}case ll:default:return i>=p&&i<=u?i:iMath.max(0,Math.min(e-1,Math.floor(o/t))),getStopIndexForStartIndex:({height:e,total:t,itemSize:o,layout:r,width:l},n,a)=>{const i=n*o,c=Kc(r)?l:e,d=Math.ceil((c+a-i)/o);return Math.max(0,Math.min(t-1,n+d-1))},initCache(){},clearCache:!0,validateProps(){}}),us=(e,t,o)=>{const{itemSize:r}=e,{items:l,lastVisitedIndex:n}=o;if(t>n){let a=0;if(n>=0){const i=l[n];a=i.offset+i.size}for(let i=n+1;i<=t;i++){const c=r(i);l[i]={offset:a,size:c},a+=c}o.lastVisitedIndex=t}return l[t]},hre=(e,t,o)=>{const{items:r,lastVisitedIndex:l}=t;return(l>0?r[l].offset:0)>=o?c8(e,t,0,l,o):vre(e,t,Math.max(0,l),o)},c8=(e,t,o,r,l)=>{for(;o<=r;){const n=o+Math.floor((r-o)/2),a=us(e,n,t).offset;if(a===l)return n;al&&(r=n-1)}return Math.max(0,o-1)},vre=(e,t,o,r)=>{const{total:l}=e;let n=1;for(;o{let l=0;if(r>=e&&(r=e-1),r>=0){const i=t[r];l=i.offset+i.size}const a=(e-r-1)*o;return l+a},mre=i8({name:"ElDynamicSizeList",getItemOffset:(e,t,o)=>us(e,t,o).offset,getItemSize:(e,t,{items:o})=>o[t].size,getEstimatedTotalSize:u8,getOffset:(e,t,o,r,l)=>{const{height:n,layout:a,width:i}=e,c=Kc(a)?i:n,d=us(e,t,l),u=u8(e,l),p=Math.max(0,Math.min(u-c,d.offset)),h=Math.max(0,d.offset-c+d.size);switch(o===$p&&(r>=h-c&&r<=p+c?o=ll:o=Kl),o){case Hc:return p;case Fc:return h;case Kl:return Math.round(h+(p-h)/2);case ll:default:return r>=h&&r<=p?r:rhre(e,o,t),getStopIndexForStartIndex:(e,t,o,r)=>{const{height:l,total:n,layout:a,width:i}=e,c=Kc(a)?i:l,d=us(e,t,r),u=o+c;let p=d.offset+d.size,h=t;for(;h{var n,a;o.lastVisitedIndex=Math.min(o.lastVisitedIndex,r-1),(n=t.exposed)==null||n.getItemStyleCache(-1),l&&((a=t.proxy)==null||a.$forceUpdate())},o},clearCache:!1,validateProps:({itemSize:e})=>{}}),gre=({atXEndEdge:e,atXStartEdge:t,atYEndEdge:o,atYStartEdge:r},l)=>{let n=null,a=0,i=0;const c=(u,p)=>{const h=u<=0&&t.value||u>=0&&e.value,v=p<=0&&r.value||p>=0&&o.value;return h&&v};return{hasReachedEdge:c,onWheel:u=>{Pa(n);let p=u.deltaX,h=u.deltaY;Math.abs(p)>Math.abs(h)?h=0:p=0,u.shiftKey&&h!==0&&(p=h,h=0),!(c(a,i)&&c(a+p,i+h))&&(a+=p,i+=h,u.preventDefault(),n=Xn(()=>{l(a,i),a=0,i=0}))}}},d8=({name:e,clearCache:t,getColumnPosition:o,getColumnStartIndexForOffset:r,getColumnStopIndexForStartIndex:l,getEstimatedTotalHeight:n,getEstimatedTotalWidth:a,getColumnOffset:i,getRowOffset:c,getRowPosition:d,getRowStartIndexForOffset:u,getRowStopIndexForStartIndex:p,initCache:h,injectToInstance:v,validateProps:m})=>N({name:e??"ElVirtualList",props:Ja,emits:[Sp,Ep],setup(f,{emit:_,expose:g,slots:y}){const w=ze("vl");m(f);const x=wt(),$=D(h(f,x));v==null||v(x,$);const T=D(),R=D(),P=D(),L=D(null),V=D({isScrolling:!1,scrollLeft:st(f.initScrollLeft)?f.initScrollLeft:0,scrollTop:st(f.initScrollTop)?f.initScrollTop:0,updateRequested:!1,xAxisScrollDir:as,yAxisScrollDir:as}),B=Qy(),j=C(()=>Number.parseInt(`${f.height}`,10)),te=C(()=>Number.parseInt(`${f.width}`,10)),J=C(()=>{const{totalColumn:we,totalRow:Te,columnCache:Ne}=f,{isScrolling:Ie,xAxisScrollDir:Ae,scrollLeft:xe}=s(V);if(we===0||Te===0)return[0,0,0,0];const We=r(f,xe,s($)),qe=l(f,We,xe,s($)),ye=!Ie||Ae===Tp?Math.max(1,Ne):1,Ye=!Ie||Ae===as?Math.max(1,Ne):1;return[Math.max(0,We-ye),Math.max(0,Math.min(we-1,qe+Ye)),We,qe]}),Z=C(()=>{const{totalColumn:we,totalRow:Te,rowCache:Ne}=f,{isScrolling:Ie,yAxisScrollDir:Ae,scrollTop:xe}=s(V);if(we===0||Te===0)return[0,0,0,0];const We=u(f,xe,s($)),qe=p(f,We,xe,s($)),ye=!Ie||Ae===Tp?Math.max(1,Ne):1,Ye=!Ie||Ae===as?Math.max(1,Ne):1;return[Math.max(0,We-ye),Math.max(0,Math.min(Te-1,qe+Ye)),We,qe]}),H=C(()=>n(f,s($))),F=C(()=>a(f,s($))),K=C(()=>{var we;return[{position:"relative",overflow:"hidden",WebkitOverflowScrolling:"touch",willChange:"transform"},{direction:f.direction,height:st(f.height)?`${f.height}px`:f.height,width:st(f.width)?`${f.width}px`:f.width},(we=f.style)!=null?we:{}]}),I=C(()=>{const we=`${s(F)}px`;return{height:`${s(H)}px`,pointerEvents:s(V).isScrolling?"none":void 0,width:we}}),U=()=>{const{totalColumn:we,totalRow:Te}=f;if(we>0&&Te>0){const[qe,ye,Ye,tt]=s(J),[pt,dt,Y,S]=s(Z);_(Sp,{columnCacheStart:qe,columnCacheEnd:ye,rowCacheStart:pt,rowCacheEnd:dt,columnVisibleStart:Ye,columnVisibleEnd:tt,rowVisibleStart:Y,rowVisibleEnd:S})}const{scrollLeft:Ne,scrollTop:Ie,updateRequested:Ae,xAxisScrollDir:xe,yAxisScrollDir:We}=s(V);_(Ep,{xAxisScrollDir:xe,scrollLeft:Ne,yAxisScrollDir:We,scrollTop:Ie,updateRequested:Ae})},oe=we=>{const{clientHeight:Te,clientWidth:Ne,scrollHeight:Ie,scrollLeft:Ae,scrollTop:xe,scrollWidth:We}=we.currentTarget,qe=s(V);if(qe.scrollTop===xe&&qe.scrollLeft===Ae)return;let ye=Ae;if(a8(f.direction))switch(Ap()){case jc:ye=-Ae;break;case l2:ye=We-Ne-Ae;break}V.value={...qe,isScrolling:!0,scrollLeft:ye,scrollTop:Math.max(0,Math.min(xe,Ie-Te)),updateRequested:!0,xAxisScrollDir:Qa(qe.scrollLeft,ye),yAxisScrollDir:Qa(qe.scrollTop,xe)},et(()=>me()),Re(),U()},ne=(we,Te)=>{const Ne=s(j),Ie=(H.value-Ne)/Te*we;Me({scrollTop:Math.min(H.value-Ne,Ie)})},ce=(we,Te)=>{const Ne=s(te),Ie=(F.value-Ne)/Te*we;Me({scrollLeft:Math.min(F.value-Ne,Ie)})},{onWheel:Q}=gre({atXStartEdge:C(()=>V.value.scrollLeft<=0),atXEndEdge:C(()=>V.value.scrollLeft>=F.value-s(te)),atYStartEdge:C(()=>V.value.scrollTop<=0),atYEndEdge:C(()=>V.value.scrollTop>=H.value-s(j))},(we,Te)=>{var Ne,Ie,Ae,xe;(Ie=(Ne=R.value)==null?void 0:Ne.onMouseUp)==null||Ie.call(Ne),(xe=(Ae=P.value)==null?void 0:Ae.onMouseUp)==null||xe.call(Ae);const We=s(te),qe=s(j);Me({scrollLeft:Math.min(V.value.scrollLeft+we,F.value-We),scrollTop:Math.min(V.value.scrollTop+Te,H.value-qe)})}),Me=({scrollLeft:we=V.value.scrollLeft,scrollTop:Te=V.value.scrollTop})=>{we=Math.max(we,0),Te=Math.max(Te,0);const Ne=s(V);Te===Ne.scrollTop&&we===Ne.scrollLeft||(V.value={...Ne,xAxisScrollDir:Qa(Ne.scrollLeft,we),yAxisScrollDir:Qa(Ne.scrollTop,Te),scrollLeft:we,scrollTop:Te,updateRequested:!0},et(()=>me()),Re(),U())},de=(we=0,Te=0,Ne=ll)=>{const Ie=s(V);Te=Math.max(0,Math.min(Te,f.totalColumn-1)),we=Math.max(0,Math.min(we,f.totalRow-1));const Ae=T3(w.namespace.value),xe=s($),We=n(f,xe),qe=a(f,xe);Me({scrollLeft:i(f,Te,Ne,Ie.scrollLeft,xe,qe>f.width?Ae:0),scrollTop:c(f,we,Ne,Ie.scrollTop,xe,We>f.height?Ae:0)})},_e=(we,Te)=>{const{columnWidth:Ne,direction:Ie,rowHeight:Ae}=f,xe=B.value(t&&Ne,t&&Ae,t&&Ie),We=`${we},${Te}`;if(Pt(xe,We))return xe[We];{const[,qe]=o(f,Te,s($)),ye=s($),Ye=a8(Ie),[tt,pt]=d(f,we,ye),[dt]=o(f,Te,ye);return xe[We]={position:"absolute",left:Ye?void 0:`${qe}px`,right:Ye?`${qe}px`:void 0,top:`${pt}px`,height:`${tt}px`,width:`${dt}px`},xe[We]}},me=()=>{V.value.isScrolling=!1,et(()=>{B.value(-1,null,null)})};ft(()=>{if(!Nt)return;const{initScrollLeft:we,initScrollTop:Te}=f,Ne=s(T);Ne&&(st(we)&&(Ne.scrollLeft=we),st(Te)&&(Ne.scrollTop=Te)),U()});const Re=()=>{const{direction:we}=f,{scrollLeft:Te,scrollTop:Ne,updateRequested:Ie}=s(V),Ae=s(T);if(Ie&&Ae){if(we===ss)switch(Ap()){case jc:{Ae.scrollLeft=-Te;break}case r2:{Ae.scrollLeft=Te;break}default:{const{clientWidth:xe,scrollWidth:We}=Ae;Ae.scrollLeft=We-xe-Te;break}}else Ae.scrollLeft=Math.max(0,Te);Ae.scrollTop=Math.max(0,Ne)}},{resetAfterColumnIndex:Ce,resetAfterRowIndex:Ee,resetAfter:De}=x.proxy;g({windowRef:T,innerRef:L,getItemStyleCache:B,scrollTo:Me,scrollToItem:de,states:V,resetAfterColumnIndex:Ce,resetAfterRowIndex:Ee,resetAfter:De});const ae=()=>{const{scrollbarAlwaysOn:we,scrollbarStartGap:Te,scrollbarEndGap:Ne,totalColumn:Ie,totalRow:Ae}=f,xe=s(te),We=s(j),qe=s(F),ye=s(H),{scrollLeft:Ye,scrollTop:tt}=s(V),pt=rt(u2,{ref:R,alwaysOn:we,startGap:Te,endGap:Ne,class:w.e("horizontal"),clientSize:xe,layout:"horizontal",onScroll:ce,ratio:xe*100/qe,scrollFrom:Ye/(qe-xe),total:Ae,visible:!0}),dt=rt(u2,{ref:P,alwaysOn:we,startGap:Te,endGap:Ne,class:w.e("vertical"),clientSize:We,layout:"vertical",onScroll:ne,ratio:We*100/ye,scrollFrom:tt/(ye-We),total:Ie,visible:!0});return{horizontalScrollbar:pt,verticalScrollbar:dt}},pe=()=>{var we;const[Te,Ne]=s(J),[Ie,Ae]=s(Z),{data:xe,totalColumn:We,totalRow:qe,useIsScrolling:ye,itemKey:Ye}=f,tt=[];if(qe>0&&We>0)for(let pt=Ie;pt<=Ae;pt++)for(let dt=Te;dt<=Ne;dt++)tt.push((we=y.default)==null?void 0:we.call(y,{columnIndex:dt,data:xe,key:Ye({columnIndex:dt,data:xe,rowIndex:pt}),isScrolling:ye?s(V).isScrolling:void 0,style:_e(pt,dt),rowIndex:pt}));return tt},ke=()=>{const we=Et(f.innerElement),Te=pe();return[rt(we,{style:s(I),ref:L},ut(we)?Te:{default:()=>Te})]};return()=>{const we=Et(f.containerElement),{horizontalScrollbar:Te,verticalScrollbar:Ne}=ae(),Ie=ke();return rt("div",{key:0,class:w.e("wrapper"),role:f.role},[rt(we,{class:f.className,style:s(K),onScroll:oe,onWheel:Q,ref:T},ut(we)?Ie:{default:()=>Ie}),Te,Ne])}}}),bre=d8({name:"ElFixedSizeGrid",getColumnPosition:({columnWidth:e},t)=>[e,t*e],getRowPosition:({rowHeight:e},t)=>[e,t*e],getEstimatedTotalHeight:({totalRow:e,rowHeight:t})=>t*e,getEstimatedTotalWidth:({totalColumn:e,columnWidth:t})=>t*e,getColumnOffset:({totalColumn:e,columnWidth:t,width:o},r,l,n,a,i)=>{o=Number(o);const c=Math.max(0,e*t-o),d=Math.min(c,r*t),u=Math.max(0,r*t-o+i+t);switch(l==="smart"&&(n>=u-o&&n<=d+o?l=ll:l=Kl),l){case Hc:return d;case Fc:return u;case Kl:{const p=Math.round(u+(d-u)/2);return pc+Math.floor(o/2)?c:p}case ll:default:return n>=u&&n<=d?n:u>d||n{t=Number(t);const c=Math.max(0,o*e-t),d=Math.min(c,r*e),u=Math.max(0,r*e-t+i+e);switch(l===$p&&(n>=u-t&&n<=d+t?l=ll:l=Kl),l){case Hc:return d;case Fc:return u;case Kl:{const p=Math.round(u+(d-u)/2);return pc+Math.floor(t/2)?c:p}case ll:default:return n>=u&&n<=d?n:u>d||nMath.max(0,Math.min(t-1,Math.floor(o/e))),getColumnStopIndexForStartIndex:({columnWidth:e,totalColumn:t,width:o},r,l)=>{const n=r*e,a=Math.ceil((o+l-n)/e);return Math.max(0,Math.min(t-1,r+a-1))},getRowStartIndexForOffset:({rowHeight:e,totalRow:t},o)=>Math.max(0,Math.min(t-1,Math.floor(o/e))),getRowStopIndexForStartIndex:({rowHeight:e,totalRow:t,height:o},r,l)=>{const n=r*e,a=Math.ceil((o+l-n)/e);return Math.max(0,Math.min(t-1,r+a-1))},initCache:()=>{},clearCache:!0,validateProps:({columnWidth:e,rowHeight:t})=>{}}),{max:zp,min:p8,floor:f8}=Math,_re={column:"columnWidth",row:"rowHeight"},d2={column:"lastVisitedColumnIndex",row:"lastVisitedRowIndex"},kn=(e,t,o,r)=>{const[l,n,a]=[o[r],e[_re[r]],o[d2[r]]];if(t>a){let i=0;if(a>=0){const c=l[a];i=c.offset+c.size}for(let c=a+1;c<=t;c++){const d=n(c);l[c]={offset:i,size:d},i+=d}o[d2[r]]=t}return l[t]},h8=(e,t,o,r,l,n)=>{for(;o<=r;){const a=o+f8((r-o)/2),i=kn(e,a,t,n).offset;if(i===l)return a;i{const n=l==="column"?e.totalColumn:e.totalRow;let a=1;for(;o{const[l,n]=[t[r],t[d2[r]]];return(n>0?l[n].offset:0)>=o?h8(e,t,0,n,o,r):wre(e,t,zp(0,n),o,r)},m8=({totalRow:e},{estimatedRowHeight:t,lastVisitedRowIndex:o,row:r})=>{let l=0;if(o>=e&&(o=e-1),o>=0){const i=r[o];l=i.offset+i.size}const a=(e-o-1)*t;return l+a},g8=({totalColumn:e},{column:t,estimatedColumnWidth:o,lastVisitedColumnIndex:r})=>{let l=0;if(r>e&&(r=e-1),r>=0){const i=t[r];l=i.offset+i.size}const a=(e-r-1)*o;return l+a},yre={column:g8,row:m8},b8=(e,t,o,r,l,n,a)=>{const[i,c]=[n==="row"?e.height:e.width,yre[n]],d=kn(e,t,l,n),u=c(e,l),p=zp(0,p8(u-i,d.offset)),h=zp(0,d.offset-i+a+d.size);switch(o===$p&&(r>=h-i&&r<=p+i?o=ll:o=Kl),o){case Hc:return p;case Fc:return h;case Kl:return Math.round(h+(p-h)/2);case ll:default:return r>=h&&r<=p?r:h>p||r{const r=kn(e,t,o,"column");return[r.size,r.offset]},getRowPosition:(e,t,o)=>{const r=kn(e,t,o,"row");return[r.size,r.offset]},getColumnOffset:(e,t,o,r,l,n)=>b8(e,t,o,r,l,"column",n),getRowOffset:(e,t,o,r,l,n)=>b8(e,t,o,r,l,"row",n),getColumnStartIndexForOffset:(e,t,o)=>v8(e,o,t,"column"),getColumnStopIndexForStartIndex:(e,t,o,r)=>{const l=kn(e,t,r,"column"),n=o+e.width;let a=l.offset+l.size,i=t;for(;iv8(e,o,t,"row"),getRowStopIndexForStartIndex:(e,t,o,r)=>{const{totalRow:l,height:n}=e,a=kn(e,t,r,"row"),i=o+n;let c=a.size+a.offset,d=t;for(;d{const o=({columnIndex:n,rowIndex:a},i)=>{var c,d;i=ko(i)?!0:i,st(n)&&(t.value.lastVisitedColumnIndex=Math.min(t.value.lastVisitedColumnIndex,n-1)),st(a)&&(t.value.lastVisitedRowIndex=Math.min(t.value.lastVisitedRowIndex,a-1)),(c=e.exposed)==null||c.getItemStyleCache.value(-1,null,null),i&&((d=e.proxy)==null||d.$forceUpdate())},r=(n,a)=>{o({columnIndex:n},a)},l=(n,a)=>{o({rowIndex:n},a)};Object.assign(e.proxy,{resetAfterColumnIndex:r,resetAfterRowIndex:l,resetAfter:o})},initCache:({estimatedColumnWidth:e=t2,estimatedRowHeight:t=t2})=>({column:{},estimatedColumnWidth:e,estimatedRowHeight:t,lastVisitedColumnIndex:-1,lastVisitedRowIndex:-1,row:{}}),clearCache:!1,validateProps:({columnWidth:e,rowHeight:t})=>{}}),kre=N({props:{item:{type:Object,required:!0},style:Object,height:Number},setup(){return{ns:ze("select")}}});function Cre(e,t,o,r,l,n){return b(),M("div",{class:O(e.ns.be("group","title")),style:Je([e.style,{lineHeight:`${e.height}px`}])},$e(e.item.label),7)}var Sre=Le(kre,[["render",Cre],["__file","group-item.vue"]]);function Ere(e,{emit:t}){return{hoverItem:()=>{e.disabled||t("hover",e.index)},selectOptionClick:()=>{e.disabled||t("select",e.item,e.index)}}}const _8={label:"label",value:"value",disabled:"disabled",options:"options"};function Ip(e){const t=C(()=>({..._8,...e.props}));return{aliasProps:t,getLabel:a=>wo(a,t.value.label),getValue:a=>wo(a,t.value.value),getDisabled:a=>wo(a,t.value.disabled),getOptions:a=>wo(a,t.value.options)}}const Tre=Pe({allowCreate:Boolean,autocomplete:{type:ue(String),default:"none"},automaticDropdown:Boolean,clearable:Boolean,clearIcon:{type:Xt,default:hn},effect:{type:ue(String),default:"light"},collapseTags:Boolean,collapseTagsTooltip:Boolean,maxCollapseTags:{type:Number,default:1},defaultFirstOption:Boolean,disabled:Boolean,estimatedOptionHeight:{type:Number,default:void 0},filterable:Boolean,filterMethod:Function,height:{type:Number,default:274},itemHeight:{type:Number,default:34},id:String,loading:Boolean,loadingText:String,modelValue:{type:ue([Array,String,Number,Boolean,Object])},multiple:Boolean,multipleLimit:{type:Number,default:0},name:String,noDataText:String,noMatchText:String,remoteMethod:Function,reserveKeyword:{type:Boolean,default:!0},options:{type:ue(Array),required:!0},placeholder:{type:String},teleported:Uo.teleported,persistent:{type:Boolean,default:!0},popperClass:{type:String,default:""},popperOptions:{type:ue(Object),default:()=>({})},remote:Boolean,size:Oo,props:{type:ue(Object),default:()=>_8},valueKey:{type:String,default:"value"},scrollbarAlwaysOn:Boolean,validateEvent:{type:Boolean,default:!0},placement:{type:ue(String),values:Va,default:"bottom-start"},fallbackPlacements:{type:ue(Array),default:["bottom-start","top-start","right","left"]},tagType:{...hp.type,default:"info"},...Xi,...Zo(["ariaLabel"])}),$re=Pe({data:Array,disabled:Boolean,hovering:Boolean,item:{type:ue(Object),required:!0},index:Number,style:Object,selected:Boolean,created:Boolean}),p2=Symbol("ElSelectV2Injection"),Mre=N({props:$re,emits:["select","hover"],setup(e,{emit:t}){const o=Ge(p2),r=ze("select"),{hoverItem:l,selectOptionClick:n}=Ere(e,{emit:t}),{getLabel:a}=Ip(o.props);return{ns:r,hoverItem:l,selectOptionClick:n,getLabel:a}}}),Are=["aria-selected"];function zre(e,t,o,r,l,n){return b(),M("li",{"aria-selected":e.selected,style:Je(e.style),class:O([e.ns.be("dropdown","item"),e.ns.is("selected",e.selected),e.ns.is("disabled",e.disabled),e.ns.is("created",e.created),e.ns.is("hovering",e.hovering)]),onMouseenter:t[0]||(t[0]=(...a)=>e.hoverItem&&e.hoverItem(...a)),onClick:t[1]||(t[1]=ct((...a)=>e.selectOptionClick&&e.selectOptionClick(...a),["stop"]))},[be(e.$slots,"default",{item:e.item,index:e.index,disabled:e.disabled},()=>[E("span",null,$e(e.getLabel(e.item)),1)])],46,Are)}var Ire=Le(Mre,[["render",zre],["__file","option-item.vue"]]),Ore=N({name:"ElSelectDropdown",props:{loading:Boolean,data:{type:Array,required:!0},hoveringIndex:Number,width:Number},setup(e,{slots:t,expose:o}){const r=Ge(p2),l=ze("select"),{getLabel:n,getValue:a,getDisabled:i}=Ip(r.props),c=D([]),d=D(),u=C(()=>e.data.length);Se(()=>u.value,()=>{var B,j;(j=(B=r.tooltipRef.value).updatePopper)==null||j.call(B)});const p=C(()=>ko(r.props.estimatedOptionHeight)),h=C(()=>p.value?{itemSize:r.props.itemHeight}:{estimatedSize:r.props.estimatedOptionHeight,itemSize:B=>c.value[B]}),v=(B=[],j)=>{const{props:{valueKey:te}}=r;return xt(j)?B&&B.some(J=>jt(wo(J,te))===wo(j,te)):B.includes(j)},m=(B,j)=>{if(xt(j)){const{valueKey:te}=r.props;return wo(B,te)===wo(j,te)}else return B===j},f=(B,j)=>r.props.multiple?v(B,a(j)):m(B,a(j)),_=(B,j)=>{const{disabled:te,multiple:J,multipleLimit:Z}=r.props;return te||!j&&(J?Z>0&&B.length>=Z:!1)},g=B=>e.hoveringIndex===B;o({listRef:d,isSized:p,isItemDisabled:_,isItemHovering:g,isItemSelected:f,scrollToItem:B=>{const j=d.value;j&&j.scrollToItem(B)},resetScrollTop:()=>{const B=d.value;B&&B.resetScrollTop()}});const x=B=>{const{index:j,data:te,style:J}=B,Z=s(p),{itemSize:H,estimatedSize:F}=s(h),{modelValue:K}=r.props,{onSelect:I,onHover:U}=r,oe=te[j];if(oe.type==="Group")return ee(Sre,{item:oe,style:J,height:Z?H:F},null);const ne=f(K,oe),ce=_(K,ne),Q=g(j);return ee(Ire,Mt(B,{selected:ne,disabled:i(oe)||ce,created:!!oe.created,hovering:Q,item:oe,onSelect:I,onHover:U}),{default:Me=>{var de;return((de=t.default)==null?void 0:de.call(t,Me))||ee("span",null,[n(oe)])}})},{onKeyboardNavigate:$,onKeyboardSelect:T}=r,R=()=>{$("forward")},P=()=>{$("backward")},L=()=>{r.expanded=!1},V=B=>{const{code:j}=B,{tab:te,esc:J,down:Z,up:H,enter:F}=lt;switch(j!==te&&(B.preventDefault(),B.stopPropagation()),j){case te:case J:{L();break}case Z:{R();break}case H:{P();break}case F:{T();break}}};return()=>{var B,j,te,J;const{data:Z,width:H}=e,{height:F,multiple:K,scrollbarAlwaysOn:I}=r.props,U=s(p)?s8:mre;return ee("div",{class:[l.b("dropdown"),l.is("multiple",K)],style:{width:`${H}px`}},[(B=t.header)==null?void 0:B.call(t),((j=t.loading)==null?void 0:j.call(t))||((te=t.empty)==null?void 0:te.call(t))||ee(U,Mt({ref:d},s(h),{className:l.be("dropdown","list"),scrollbarAlwaysOn:I,data:Z,height:F,width:H,total:Z.length,onKeydown:V}),{default:oe=>ee(x,oe,null)}),(J=t.footer)==null?void 0:J.call(t)])}}});function Nre(e,t){const{aliasProps:o,getLabel:r,getValue:l}=Ip(e),n=D(0),a=D(null),i=C(()=>e.allowCreate&&e.filterable);function c(v){const m=f=>r(f)===v;return e.options&&e.options.some(m)||t.createdOptions.some(m)}function d(v){i.value&&(e.multiple&&v.created?n.value++:a.value=v)}function u(v){if(i.value)if(v&&v.length>0){if(c(v))return;const m={[o.value.value]:v,[o.value.label]:v,created:!0,[o.value.disabled]:!1};t.createdOptions.length>=n.value?t.createdOptions[n.value]=m:t.createdOptions.push(m)}else if(e.multiple)t.createdOptions.length=n.value;else{const m=a.value;t.createdOptions.length=0,m&&m.created&&t.createdOptions.push(m)}}function p(v){if(!i.value||!v||!v.created||v.created&&e.reserveKeyword&&t.inputValue===r(v))return;const m=t.createdOptions.findIndex(f=>l(f)===l(v));~m&&(t.createdOptions.splice(m,1),n.value--)}function h(){i.value&&(t.createdOptions.length=0,n.value=0)}return{createNewOption:u,removeNewOption:p,selectNewOption:d,clearAllNewOption:h}}const Pre=11,Rre=(e,t)=>{const{t:o}=Rt(),r=ze("select"),l=ze("input"),{form:n,formItem:a}=sr(),{inputId:i}=bl(e,{formItemContext:a}),{aliasProps:c,getLabel:d,getValue:u,getDisabled:p,getOptions:h}=Ip(e),{valueOnClear:v,isEmptyValue:m}=Wd(e),f=Dt({inputValue:"",cachedOptions:[],createdOptions:[],hoveringIndex:-1,inputHovering:!1,selectionWidth:0,calculatorWidth:0,collapseItemWidth:0,previousQuery:null,previousValue:void 0,selectedLabel:"",menuVisibleOnFocus:!1,isBeforeHide:!1}),_=D(-1),g=D(null),y=D(null),w=D(null),x=D(null),$=D(null),T=D(null),R=D(null),P=D(null),L=D(null),V=D(null),B=D(null),{wrapperRef:j,isFocused:te,handleFocus:J,handleBlur:Z}=Ud($,{afterFocus(){e.automaticDropdown&&!K.value&&(K.value=!0,f.menuVisibleOnFocus=!0)},beforeBlur(Be){var vt,Ot;return((vt=w.value)==null?void 0:vt.isFocusInsideContent(Be))||((Ot=x.value)==null?void 0:Ot.isFocusInsideContent(Be))},afterBlur(){K.value=!1,f.menuVisibleOnFocus=!1}}),H=D([]),F=D([]),K=D(!1),I=C(()=>e.disabled||(n==null?void 0:n.disabled)),U=C(()=>{const Be=F.value.length*e.itemHeight;return Be>e.height?e.height:Be}),oe=C(()=>e.multiple?Ke(e.modelValue)&&e.modelValue.length>0:!m(e.modelValue)),ne=C(()=>e.clearable&&!I.value&&f.inputHovering&&oe.value),ce=C(()=>e.remote&&e.filterable?"":Pl),Q=C(()=>ce.value&&r.is("reverse",K.value)),Me=C(()=>(a==null?void 0:a.validateState)||""),de=C(()=>_h[Me.value]),_e=C(()=>e.remote?300:0),me=C(()=>e.loading?e.loadingText||o("el.select.loading"):e.remote&&!f.inputValue&&H.value.length===0?!1:e.filterable&&f.inputValue&&H.value.length>0&&F.value.length===0?e.noMatchText||o("el.select.noMatch"):H.value.length===0?e.noDataText||o("el.select.noData"):null),Re=Be=>{const vt=Ot=>{if(e.filterable&&it(e.filterMethod)||e.filterable&&e.remote&&it(e.remoteMethod))return!0;const Ut=new RegExp(ch(Be),"i");return Be?Ut.test(d(Ot)||""):!0};return e.loading?[]:[...f.createdOptions,...e.options].reduce((Ot,Ut)=>{const vr=h(Ut);if(Ke(vr)){const Hr=vr.filter(vt);Hr.length>0&&Ot.push({label:d(Ut),type:"Group"},...Hr)}else(e.remote||vt(Ut))&&Ot.push(Ut);return Ot},[])},Ce=()=>{H.value=Re(""),F.value=Re(f.inputValue)},Ee=C(()=>{const Be=new Map;return H.value.forEach((vt,Ot)=>{Be.set(bt(u(vt)),{option:vt,index:Ot})}),Be}),De=C(()=>{const Be=new Map;return F.value.forEach((vt,Ot)=>{Be.set(bt(u(vt)),{option:vt,index:Ot})}),Be}),ae=C(()=>F.value.every(Be=>p(Be))),pe=So(),ke=C(()=>pe.value==="small"?"small":"default"),Oe=()=>{var Be;_.value=((Be=g.value)==null?void 0:Be.offsetWidth)||200},we=()=>{if(!y.value)return 0;const Be=window.getComputedStyle(y.value);return Number.parseFloat(Be.gap||"6px")},Te=C(()=>{const Be=we();return{maxWidth:`${B.value&&e.maxCollapseTags===1?f.selectionWidth-f.collapseItemWidth-Be:f.selectionWidth}px`}}),Ne=C(()=>({maxWidth:`${f.selectionWidth}px`})),Ie=C(()=>({width:`${Math.max(f.calculatorWidth,Pre)}px`})),Ae=C(()=>Ke(e.modelValue)?e.modelValue.length===0&&!f.inputValue:e.filterable?!f.inputValue:!0),xe=C(()=>{var Be;const vt=(Be=e.placeholder)!=null?Be:o("el.select.placeholder");return e.multiple||!oe.value?vt:f.selectedLabel}),We=C(()=>{var Be,vt;return(vt=(Be=w.value)==null?void 0:Be.popperRef)==null?void 0:vt.contentRef}),qe=C(()=>{if(e.multiple){const Be=e.modelValue.length;if(e.modelValue.length>0&&De.value.has(e.modelValue[Be-1])){const{index:vt}=De.value.get(e.modelValue[Be-1]);return vt}}else if(e.modelValue&&De.value.has(e.modelValue)){const{index:Be}=De.value.get(e.modelValue);return Be}return-1}),ye=C({get(){return K.value&&me.value!==!1},set(Be){K.value=Be}}),Ye=C(()=>e.multiple?e.collapseTags?f.cachedOptions.slice(0,e.maxCollapseTags):f.cachedOptions:[]),tt=C(()=>e.multiple?e.collapseTags?f.cachedOptions.slice(e.maxCollapseTags):[]:[]),{createNewOption:pt,removeNewOption:dt,selectNewOption:Y,clearAllNewOption:S}=Nre(e,f),{handleCompositionStart:A,handleCompositionUpdate:G,handleCompositionEnd:X}=Ky(Be=>Po(Be)),re=()=>{I.value||(f.menuVisibleOnFocus?f.menuVisibleOnFocus=!1:K.value=!K.value)},ge=()=>{f.inputValue.length>0&&!K.value&&(K.value=!0),pt(f.inputValue),Fe(f.inputValue)},fe=Mr(ge,_e.value),Fe=Be=>{f.previousQuery!==Be&&(f.previousQuery=Be,e.filterable&&it(e.filterMethod)?e.filterMethod(Be):e.filterable&&e.remote&&it(e.remoteMethod)&&e.remoteMethod(Be),e.defaultFirstOption&&(e.filterable||e.remote)&&F.value.length?et(at):et(ao))},at=()=>{const Be=F.value.filter(Ut=>!Ut.disabled&&Ut.type!=="Group"),vt=Be.find(Ut=>Ut.created),Ot=Be[0];f.hoveringIndex=no(F.value,vt||Ot)},_t=Be=>{nr(e.modelValue,Be)||t(ro,Be)},At=Be=>{t(St,Be),_t(Be),f.previousValue=e.multiple?String(Be):Be},no=(Be=[],vt)=>{if(!xt(vt))return Be.indexOf(vt);const Ot=e.valueKey;let Ut=-1;return Be.some((vr,Hr)=>wo(vr,Ot)===wo(vt,Ot)?(Ut=Hr,!0):!1),Ut},bt=Be=>xt(Be)?wo(Be,e.valueKey):Be,Qt=()=>{Oe()},Sn=()=>{f.selectionWidth=y.value.getBoundingClientRect().width},qo=()=>{f.calculatorWidth=T.value.getBoundingClientRect().width},xl=()=>{f.collapseItemWidth=B.value.getBoundingClientRect().width},kl=()=>{var Be,vt;(vt=(Be=w.value)==null?void 0:Be.updatePopper)==null||vt.call(Be)},Or=()=>{var Be,vt;(vt=(Be=x.value)==null?void 0:Be.updatePopper)==null||vt.call(Be)},Bt=Be=>{if(e.multiple){let vt=e.modelValue.slice();const Ot=no(vt,u(Be));Ot>-1?(vt=[...vt.slice(0,Ot),...vt.slice(Ot+1)],f.cachedOptions.splice(Ot,1),dt(Be)):(e.multipleLimit<=0||vt.length{let Ot=e.modelValue.slice();const Ut=no(Ot,u(vt));Ut>-1&&!I.value&&(Ot=[...e.modelValue.slice(0,Ut),...e.modelValue.slice(Ut+1)],f.cachedOptions.splice(Ut,1),At(Ot),t("remove-tag",u(vt)),dt(vt)),Be.stopPropagation(),or()},or=()=>{var Be;(Be=$.value)==null||Be.focus()},Nr=()=>{var Be;(Be=$.value)==null||Be.blur()},yo=()=>{f.inputValue.length>0?f.inputValue="":K.value=!1},Eo=Be=>k3(Be,vt=>!f.cachedOptions.some(Ot=>u(Ot)===vt&&p(Ot))),rr=Be=>{if(e.multiple&&Be.code!==lt.delete&&f.inputValue.length===0){Be.preventDefault();const vt=e.modelValue.slice(),Ot=Eo(vt);if(Ot<0)return;const Ut=vt[Ot];vt.splice(Ot,1);const vr=f.cachedOptions[Ot];f.cachedOptions.splice(Ot,1),dt(vr),At(vt),t("remove-tag",Ut)}},ua=()=>{let Be;Ke(e.modelValue)?Be=[]:Be=v.value,e.multiple?f.cachedOptions=[]:f.selectedLabel="",K.value=!1,At(Be),t("clear"),S(),or()},He=(Be,vt=void 0)=>{const Ot=F.value;if(!["forward","backward"].includes(Be)||I.value||Ot.length<=0||ae.value)return;if(!K.value)return re();vt===void 0&&(vt=f.hoveringIndex);let Ut=-1;Be==="forward"?(Ut=vt+1,Ut>=Ot.length&&(Ut=0)):Be==="backward"&&(Ut=vt-1,(Ut<0||Ut>=Ot.length)&&(Ut=Ot.length-1));const vr=Ot[Ut];if(p(vr)||vr.type==="Group")return He(Be,Ut);f.hoveringIndex=Ut,fr(Ut)},ot=()=>{if(K.value)~f.hoveringIndex&&F.value[f.hoveringIndex]&&Bt(F.value[f.hoveringIndex]);else return re()},eo=Be=>{f.hoveringIndex=Be},ao=()=>{e.multiple?f.hoveringIndex=F.value.findIndex(Be=>e.modelValue.some(vt=>bt(vt)===bt(Be))):f.hoveringIndex=F.value.findIndex(Be=>bt(Be)===bt(e.modelValue))},Po=Be=>{if(f.inputValue=Be.target.value,e.remote)fe();else return ge()},Pr=Be=>{if(K.value=!1,te.value){const vt=new FocusEvent("focus",Be);Z(vt)}},Wl=()=>(f.isBeforeHide=!1,et(()=>{~qe.value&&fr(f.hoveringIndex)})),fr=Be=>{L.value.scrollToItem(Be)},hr=Be=>{const vt=bt(Be);if(Ee.value.has(vt)){const{option:Ot}=Ee.value.get(vt);return Ot}return{[c.value.value]:Be,[c.value.label]:Be}},ql=()=>{if(e.multiple)if(e.modelValue.length>0){f.cachedOptions.length=0,f.previousValue=e.modelValue.toString();for(const Be of e.modelValue){const vt=hr(Be);f.cachedOptions.push(vt)}}else f.cachedOptions=[],f.previousValue=void 0;else if(oe.value){f.previousValue=e.modelValue;const Be=F.value,vt=Be.findIndex(Ot=>bt(u(Ot))===bt(e.modelValue));~vt?f.selectedLabel=d(Be[vt]):f.selectedLabel=bt(e.modelValue)}else f.selectedLabel="",f.previousValue=void 0;S(),Oe()};return Se(K,Be=>{Be?Fe(""):(f.inputValue="",f.previousQuery=null,f.isBeforeHide=!0,pt("")),t("visible-change",Be)}),Se(()=>e.modelValue,(Be,vt)=>{var Ot;(!Be||e.multiple&&Be.toString()!==f.previousValue||!e.multiple&&bt(Be)!==bt(f.previousValue))&&ql(),!nr(Be,vt)&&e.validateEvent&&((Ot=a==null?void 0:a.validate)==null||Ot.call(a,"change").catch(Ut=>void 0))},{deep:!0}),Se(()=>e.options,()=>{const Be=$.value;(!Be||Be&&document.activeElement!==Be)&&ql()},{deep:!0,flush:"post"}),Se(()=>F.value,()=>L.value&&et(L.value.resetScrollTop)),Go(()=>{f.isBeforeHide||Ce()}),Go(()=>{const{valueKey:Be,options:vt}=e,Ot=new Map;for(const Ut of vt){const vr=u(Ut);let Hr=vr;if(xt(Hr)&&(Hr=wo(vr,Be)),Ot.get(Hr))break;Ot.set(Hr,!0)}}),ft(()=>{ql()}),so(g,Qt),so(y,Sn),so(T,qo),so(L,kl),so(j,kl),so(V,Or),so(B,xl),{inputId:i,collapseTagSize:ke,currentPlaceholder:xe,expanded:K,emptyText:me,popupHeight:U,debounce:_e,allOptions:H,filteredOptions:F,iconComponent:ce,iconReverse:Q,tagStyle:Te,collapseTagStyle:Ne,inputStyle:Ie,popperSize:_,dropdownMenuVisible:ye,hasModelValue:oe,shouldShowPlaceholder:Ae,selectDisabled:I,selectSize:pe,showClearBtn:ne,states:f,isFocused:te,nsSelect:r,nsInput:l,calculatorRef:T,inputRef:$,menuRef:L,tagMenuRef:V,tooltipRef:w,tagTooltipRef:x,selectRef:g,wrapperRef:j,selectionRef:y,prefixRef:R,suffixRef:P,collapseItemRef:B,popperRef:We,validateState:Me,validateIcon:de,showTagList:Ye,collapseTagList:tt,debouncedOnInputChange:fe,deleteTag:pr,getLabel:d,getValue:u,getDisabled:p,getValueKey:bt,handleBlur:Z,handleClear:ua,handleClickOutside:Pr,handleDel:rr,handleEsc:yo,handleFocus:J,focus:or,blur:Nr,handleMenuEnter:Wl,handleResize:Qt,resetSelectionWidth:Sn,resetCalculatorWidth:qo,updateTooltip:kl,updateTagTooltip:Or,updateOptions:Ce,toggleMenu:re,scrollTo:fr,onInput:Po,onKeyboardNavigate:He,onKeyboardSelect:ot,onSelect:Bt,onHover:eo,handleCompositionStart:A,handleCompositionEnd:X,handleCompositionUpdate:G}},Lre=N({name:"ElSelectV2",components:{ElSelectMenu:Ore,ElTag:Rc,ElTooltip:ur,ElIcon:Ze},directives:{ClickOutside:xn},props:Tre,emits:[St,ro,"remove-tag","clear","visible-change","focus","blur"],setup(e,{emit:t}){const o=C(()=>{const{modelValue:l,multiple:n}=e,a=n?[]:void 0;return Ke(l)?n?l:a:n?a:l}),r=Rre(Dt({...Bo(e),modelValue:o}),t);return zt(p2,{props:Dt({...Bo(e),height:r.popupHeight,modelValue:o}),tooltipRef:r.tooltipRef,onSelect:r.onSelect,onHover:r.onHover,onKeyboardNavigate:r.onKeyboardNavigate,onKeyboardSelect:r.onKeyboardSelect}),{...r,modelValue:o}}}),Bre=["id","autocomplete","aria-expanded","aria-label","disabled","readonly","name"],Vre=["textContent"],Dre={key:1};function Hre(e,t,o,r,l,n){const a=nt("el-tag"),i=nt("el-tooltip"),c=nt("el-icon"),d=nt("el-select-menu"),u=Ou("click-outside");return mt((b(),M("div",{ref:"selectRef",class:O([e.nsSelect.b(),e.nsSelect.m(e.selectSize)]),onMouseenter:t[15]||(t[15]=p=>e.states.inputHovering=!0),onMouseleave:t[16]||(t[16]=p=>e.states.inputHovering=!1)},[ee(i,{ref:"tooltipRef",visible:e.dropdownMenuVisible,teleported:e.teleported,"popper-class":[e.nsSelect.e("popper"),e.popperClass],"gpu-acceleration":!1,"stop-popper-mouse-event":!1,"popper-options":e.popperOptions,"fallback-placements":e.fallbackPlacements,effect:e.effect,placement:e.placement,pure:"",transition:`${e.nsSelect.namespace.value}-zoom-in-top`,trigger:"click",persistent:e.persistent,onBeforeShow:e.handleMenuEnter,onHide:t[14]||(t[14]=p=>e.states.isBeforeHide=!1)},{default:le(()=>[E("div",{ref:"wrapperRef",class:O([e.nsSelect.e("wrapper"),e.nsSelect.is("focused",e.isFocused),e.nsSelect.is("hovering",e.states.inputHovering),e.nsSelect.is("filterable",e.filterable),e.nsSelect.is("disabled",e.selectDisabled)]),onClick:t[13]||(t[13]=ct((...p)=>e.toggleMenu&&e.toggleMenu(...p),["prevent","stop"]))},[e.$slots.prefix?(b(),M("div",{key:0,ref:"prefixRef",class:O(e.nsSelect.e("prefix"))},[be(e.$slots,"prefix")],2)):se("v-if",!0),E("div",{ref:"selectionRef",class:O([e.nsSelect.e("selection"),e.nsSelect.is("near",e.multiple&&!e.$slots.prefix&&!!e.modelValue.length)])},[e.multiple?be(e.$slots,"tag",{key:0},()=>[(b(!0),M(Qe,null,It(e.showTagList,p=>(b(),M("div",{key:e.getValueKey(e.getValue(p)),class:O(e.nsSelect.e("selected-item"))},[ee(a,{closable:!e.selectDisabled&&!e.getDisabled(p),size:e.collapseTagSize,type:e.tagType,"disable-transitions":"",style:Je(e.tagStyle),onClose:h=>e.deleteTag(h,p)},{default:le(()=>[E("span",{class:O(e.nsSelect.e("tags-text"))},[be(e.$slots,"label",{label:e.getLabel(p),value:e.getValue(p)},()=>[Ct($e(e.getLabel(p)),1)])],2)]),_:2},1032,["closable","size","type","style","onClose"])],2))),128)),e.collapseTags&&e.modelValue.length>e.maxCollapseTags?(b(),he(i,{key:0,ref:"tagTooltipRef",disabled:e.dropdownMenuVisible||!e.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],effect:e.effect,placement:"bottom",teleported:e.teleported},{default:le(()=>[E("div",{ref:"collapseItemRef",class:O(e.nsSelect.e("selected-item"))},[ee(a,{closable:!1,size:e.collapseTagSize,type:e.tagType,style:Je(e.collapseTagStyle),"disable-transitions":""},{default:le(()=>[E("span",{class:O(e.nsSelect.e("tags-text"))}," + "+$e(e.modelValue.length-e.maxCollapseTags),3)]),_:1},8,["size","type","style"])],2)]),content:le(()=>[E("div",{ref:"tagMenuRef",class:O(e.nsSelect.e("selection"))},[(b(!0),M(Qe,null,It(e.collapseTagList,p=>(b(),M("div",{key:e.getValueKey(e.getValue(p)),class:O(e.nsSelect.e("selected-item"))},[ee(a,{class:"in-tooltip",closable:!e.selectDisabled&&!e.getDisabled(p),size:e.collapseTagSize,type:e.tagType,"disable-transitions":"",onClose:h=>e.deleteTag(h,p)},{default:le(()=>[E("span",{class:O(e.nsSelect.e("tags-text"))},[be(e.$slots,"label",{label:e.getLabel(p),value:e.getValue(p)},()=>[Ct($e(e.getLabel(p)),1)])],2)]),_:2},1032,["closable","size","type","onClose"])],2))),128))],2)]),_:3},8,["disabled","effect","teleported"])):se("v-if",!0)]):se("v-if",!0),e.selectDisabled?se("v-if",!0):(b(),M("div",{key:1,class:O([e.nsSelect.e("selected-item"),e.nsSelect.e("input-wrapper"),e.nsSelect.is("hidden",!e.filterable)])},[mt(E("input",{id:e.inputId,ref:"inputRef","onUpdate:modelValue":t[0]||(t[0]=p=>e.states.inputValue=p),style:Je(e.inputStyle),autocomplete:e.autocomplete,"aria-autocomplete":"list","aria-haspopup":"listbox",autocapitalize:"off","aria-expanded":e.expanded,"aria-label":e.ariaLabel,class:O([e.nsSelect.e("input"),e.nsSelect.is(e.selectSize)]),disabled:e.selectDisabled,role:"combobox",readonly:!e.filterable,spellcheck:"false",type:"text",name:e.name,onFocus:t[1]||(t[1]=(...p)=>e.handleFocus&&e.handleFocus(...p)),onBlur:t[2]||(t[2]=(...p)=>e.handleBlur&&e.handleBlur(...p)),onInput:t[3]||(t[3]=(...p)=>e.onInput&&e.onInput(...p)),onCompositionstart:t[4]||(t[4]=(...p)=>e.handleCompositionStart&&e.handleCompositionStart(...p)),onCompositionupdate:t[5]||(t[5]=(...p)=>e.handleCompositionUpdate&&e.handleCompositionUpdate(...p)),onCompositionend:t[6]||(t[6]=(...p)=>e.handleCompositionEnd&&e.handleCompositionEnd(...p)),onKeydown:[t[7]||(t[7]=Gt(ct(p=>e.onKeyboardNavigate("backward"),["stop","prevent"]),["up"])),t[8]||(t[8]=Gt(ct(p=>e.onKeyboardNavigate("forward"),["stop","prevent"]),["down"])),t[9]||(t[9]=Gt(ct((...p)=>e.onKeyboardSelect&&e.onKeyboardSelect(...p),["stop","prevent"]),["enter"])),t[10]||(t[10]=Gt(ct((...p)=>e.handleEsc&&e.handleEsc(...p),["stop","prevent"]),["esc"])),t[11]||(t[11]=Gt(ct((...p)=>e.handleDel&&e.handleDel(...p),["stop"]),["delete"]))],onClick:t[12]||(t[12]=ct((...p)=>e.toggleMenu&&e.toggleMenu(...p),["stop"]))},null,46,Bre),[[l0,e.states.inputValue]]),e.filterable?(b(),M("span",{key:0,ref:"calculatorRef","aria-hidden":"true",class:O(e.nsSelect.e("input-calculator")),textContent:$e(e.states.inputValue)},null,10,Vre)):se("v-if",!0)],2)),e.shouldShowPlaceholder?(b(),M("div",{key:2,class:O([e.nsSelect.e("selected-item"),e.nsSelect.e("placeholder"),e.nsSelect.is("transparent",!e.hasModelValue||e.expanded&&!e.states.inputValue)])},[e.hasModelValue?be(e.$slots,"label",{key:0,label:e.currentPlaceholder,value:e.modelValue},()=>[E("span",null,$e(e.currentPlaceholder),1)]):(b(),M("span",Dre,$e(e.currentPlaceholder),1))],2)):se("v-if",!0)],2),E("div",{ref:"suffixRef",class:O(e.nsSelect.e("suffix"))},[e.iconComponent?mt((b(),he(c,{key:0,class:O([e.nsSelect.e("caret"),e.nsInput.e("icon"),e.iconReverse])},{default:le(()=>[(b(),he(Et(e.iconComponent)))]),_:1},8,["class"])),[[Lt,!e.showClearBtn]]):se("v-if",!0),e.showClearBtn&&e.clearIcon?(b(),he(c,{key:1,class:O([e.nsSelect.e("caret"),e.nsInput.e("icon")]),onClick:ct(e.handleClear,["prevent","stop"])},{default:le(()=>[(b(),he(Et(e.clearIcon)))]),_:1},8,["class","onClick"])):se("v-if",!0),e.validateState&&e.validateIcon?(b(),he(c,{key:2,class:O([e.nsInput.e("icon"),e.nsInput.e("validateIcon")])},{default:le(()=>[(b(),he(Et(e.validateIcon)))]),_:1},8,["class"])):se("v-if",!0)],2)],2)]),content:le(()=>[ee(d,{ref:"menuRef",data:e.filteredOptions,width:e.popperSize,"hovering-index":e.states.hoveringIndex,"scrollbar-always-on":e.scrollbarAlwaysOn},ln({default:le(p=>[be(e.$slots,"default",Zl(mi(p)))]),_:2},[e.$slots.header?{name:"header",fn:le(()=>[E("div",{class:O(e.nsSelect.be("dropdown","header"))},[be(e.$slots,"header")],2)])}:void 0,e.$slots.loading&&e.loading?{name:"loading",fn:le(()=>[E("div",{class:O(e.nsSelect.be("dropdown","loading"))},[be(e.$slots,"loading")],2)])}:e.loading||e.filteredOptions.length===0?{name:"empty",fn:le(()=>[E("div",{class:O(e.nsSelect.be("dropdown","empty"))},[be(e.$slots,"empty",{},()=>[E("span",null,$e(e.emptyText),1)])],2)])}:void 0,e.$slots.footer?{name:"footer",fn:le(()=>[E("div",{class:O(e.nsSelect.be("dropdown","footer"))},[be(e.$slots,"footer")],2)])}:void 0]),1032,["data","width","hovering-index","scrollbar-always-on"])]),_:3},8,["visible","teleported","popper-class","popper-options","fallback-placements","effect","placement","transition","persistent","onBeforeShow"])],34)),[[u,e.handleClickOutside,e.popperRef]])}var Op=Le(Lre,[["render",Hre],["__file","select.vue"]]);Op.install=e=>{e.component(Op.name,Op)};const Fre=Op,jre=Pe({animated:{type:Boolean,default:!1},count:{type:Number,default:1},rows:{type:Number,default:3},loading:{type:Boolean,default:!0},throttle:{type:Number}}),Kre=Pe({variant:{type:String,values:["circle","rect","h1","h3","text","caption","p","image","button"],default:"text"}}),Ure=N({...N({name:"ElSkeletonItem"}),props:Kre,setup(e){const t=ze("skeleton");return(o,r)=>(b(),M("div",{class:O([s(t).e("item"),s(t).e(o.variant)])},[o.variant==="image"?(b(),he(s(H3),{key:0})):se("v-if",!0)],2))}});var Np=Le(Ure,[["__file","skeleton-item.vue"]]);const Wre=N({...N({name:"ElSkeleton"}),props:jre,setup(e,{expose:t}){const o=e,r=ze("skeleton"),l=Cj(Yt(o,"loading"),o.throttle);return t({uiLoading:l}),(n,a)=>s(l)?(b(),M("div",Mt({key:0,class:[s(r).b(),s(r).is("animated",n.animated)]},n.$attrs),[(b(!0),M(Qe,null,It(n.count,i=>(b(),M(Qe,{key:i},[n.loading?be(n.$slots,"template",{key:i},()=>[ee(Np,{class:O(s(r).is("first")),variant:"p"},null,8,["class"]),(b(!0),M(Qe,null,It(n.rows,c=>(b(),he(Np,{key:c,class:O([s(r).e("paragraph"),s(r).is("last",c===n.rows&&n.rows>1)]),variant:"p"},null,8,["class"]))),128))]):se("v-if",!0)],64))),128))],16)):be(n.$slots,"default",Zl(Mt({key:1},n.$attrs)))}});var qre=Le(Wre,[["__file","skeleton.vue"]]);const Yre=yt(qre,{SkeletonItem:Np}),Gre=co(Np),w8=Symbol("sliderContextKey"),Xre=Pe({modelValue:{type:ue([Number,Array]),default:0},id:{type:String,default:void 0},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:1},showInput:Boolean,showInputControls:{type:Boolean,default:!0},size:Oo,inputSize:Oo,showStops:Boolean,showTooltip:{type:Boolean,default:!0},formatTooltip:{type:ue(Function),default:void 0},disabled:Boolean,range:Boolean,vertical:Boolean,height:String,debounce:{type:Number,default:300},label:{type:String,default:void 0},rangeStartLabel:{type:String,default:void 0},rangeEndLabel:{type:String,default:void 0},formatValueText:{type:ue(Function),default:void 0},tooltipClass:{type:String,default:void 0},placement:{type:String,values:Va,default:"top"},marks:{type:ue(Object)},validateEvent:{type:Boolean,default:!0},...Zo(["ariaLabel"])}),f2=e=>st(e)||Ke(e)&&e.every(st),Zre={[St]:f2,[yr]:f2,[ro]:f2},Jre=(e,t,o)=>{const r=D();return ft(async()=>{e.range?(Array.isArray(e.modelValue)?(t.firstValue=Math.max(e.min,e.modelValue[0]),t.secondValue=Math.min(e.max,e.modelValue[1])):(t.firstValue=e.min,t.secondValue=e.max),t.oldValue=[t.firstValue,t.secondValue]):(typeof e.modelValue!="number"||Number.isNaN(e.modelValue)?t.firstValue=e.min:t.firstValue=Math.min(e.max,Math.max(e.min,e.modelValue)),t.oldValue=t.firstValue),oo(window,"resize",o),await et(),o()}),{sliderWrapper:r}},Qre=e=>C(()=>e.marks?Object.keys(e.marks).map(Number.parseFloat).sort((o,r)=>o-r).filter(o=>o<=e.max&&o>=e.min).map(o=>({point:o,position:(o-e.min)*100/(e.max-e.min),mark:e.marks[o]})):[]),ele=(e,t,o)=>{const{form:r,formItem:l}=sr(),n=lo(),a=D(),i=D(),c={firstButton:a,secondButton:i},d=C(()=>e.disabled||(r==null?void 0:r.disabled)||!1),u=C(()=>Math.min(t.firstValue,t.secondValue)),p=C(()=>Math.max(t.firstValue,t.secondValue)),h=C(()=>e.range?`${100*(p.value-u.value)/(e.max-e.min)}%`:`${100*(t.firstValue-e.min)/(e.max-e.min)}%`),v=C(()=>e.range?`${100*(u.value-e.min)/(e.max-e.min)}%`:"0%"),m=C(()=>e.vertical?{height:e.height}:{}),f=C(()=>e.vertical?{height:h.value,bottom:v.value}:{width:h.value,left:v.value}),_=()=>{n.value&&(t.sliderSize=n.value[`client${e.vertical?"Height":"Width"}`])},g=B=>{const j=e.min+B*(e.max-e.min)/100;if(!e.range)return a;let te;return Math.abs(u.value-j)t.secondValue?"firstButton":"secondButton",c[te]},y=B=>{const j=g(B);return j.value.setPosition(B),j},w=B=>{t.firstValue=B,$(e.range?[u.value,p.value]:B)},x=B=>{t.secondValue=B,e.range&&$([u.value,p.value])},$=B=>{o(St,B),o(yr,B)},T=async()=>{await et(),o(ro,e.range?[u.value,p.value]:e.modelValue)},R=B=>{var j,te,J,Z,H,F;if(d.value||t.dragging)return;_();let K=0;if(e.vertical){const I=(J=(te=(j=B.touches)==null?void 0:j.item(0))==null?void 0:te.clientY)!=null?J:B.clientY;K=(n.value.getBoundingClientRect().bottom-I)/t.sliderSize*100}else{const I=(F=(H=(Z=B.touches)==null?void 0:Z.item(0))==null?void 0:H.clientX)!=null?F:B.clientX,U=n.value.getBoundingClientRect().left;K=(I-U)/t.sliderSize*100}if(!(K<0||K>100))return y(K)};return{elFormItem:l,slider:n,firstButton:a,secondButton:i,sliderDisabled:d,minValue:u,maxValue:p,runwayStyle:m,barStyle:f,resetSize:_,setPosition:y,emitChange:T,onSliderWrapperPrevent:B=>{var j,te;((j=c.firstButton.value)!=null&&j.dragging||(te=c.secondButton.value)!=null&&te.dragging)&&B.preventDefault()},onSliderClick:B=>{R(B)&&T()},onSliderDown:async B=>{const j=R(B);j&&(await et(),j.value.onButtonDown(B))},setFirstValue:w,setSecondValue:x}},{left:tle,down:ole,right:rle,up:lle,home:nle,end:ale,pageUp:ile,pageDown:sle}=lt,cle=(e,t,o)=>{const r=D(),l=D(!1),n=C(()=>t.value instanceof Function),a=C(()=>n.value&&t.value(e.modelValue)||e.modelValue),i=Mr(()=>{o.value&&(l.value=!0)},50),c=Mr(()=>{o.value&&(l.value=!1)},50);return{tooltip:r,tooltipVisible:l,formatValue:a,displayTooltip:i,hideTooltip:c}},ule=(e,t,o)=>{const{disabled:r,min:l,max:n,step:a,showTooltip:i,precision:c,sliderSize:d,formatTooltip:u,emitChange:p,resetSize:h,updateDragging:v}=Ge(w8),{tooltip:m,tooltipVisible:f,formatValue:_,displayTooltip:g,hideTooltip:y}=cle(e,u,i),w=D(),x=C(()=>`${(e.modelValue-l.value)/(n.value-l.value)*100}%`),$=C(()=>e.vertical?{bottom:x.value}:{left:x.value}),T=()=>{t.hovering=!0,g()},R=()=>{t.hovering=!1,t.dragging||y()},P=ne=>{r.value||(ne.preventDefault(),K(ne),window.addEventListener("mousemove",I),window.addEventListener("touchmove",I),window.addEventListener("mouseup",U),window.addEventListener("touchend",U),window.addEventListener("contextmenu",U),w.value.focus())},L=ne=>{r.value||(t.newPosition=Number.parseFloat(x.value)+ne/(n.value-l.value)*100,oe(t.newPosition),p())},V=()=>{L(-a.value)},B=()=>{L(a.value)},j=()=>{L(-a.value*4)},te=()=>{L(a.value*4)},J=()=>{r.value||(oe(0),p())},Z=()=>{r.value||(oe(100),p())},H=ne=>{let ce=!0;[tle,ole].includes(ne.key)?V():[rle,lle].includes(ne.key)?B():ne.key===nle?J():ne.key===ale?Z():ne.key===sle?j():ne.key===ile?te():ce=!1,ce&&ne.preventDefault()},F=ne=>{let ce,Q;return ne.type.startsWith("touch")?(Q=ne.touches[0].clientY,ce=ne.touches[0].clientX):(Q=ne.clientY,ce=ne.clientX),{clientX:ce,clientY:Q}},K=ne=>{t.dragging=!0,t.isClick=!0;const{clientX:ce,clientY:Q}=F(ne);e.vertical?t.startY=Q:t.startX=ce,t.startPosition=Number.parseFloat(x.value),t.newPosition=t.startPosition},I=ne=>{if(t.dragging){t.isClick=!1,g(),h();let ce;const{clientX:Q,clientY:Me}=F(ne);e.vertical?(t.currentY=Me,ce=(t.startY-t.currentY)/d.value*100):(t.currentX=Q,ce=(t.currentX-t.startX)/d.value*100),t.newPosition=t.startPosition+ce,oe(t.newPosition)}},U=()=>{t.dragging&&(setTimeout(()=>{t.dragging=!1,t.hovering||y(),t.isClick||oe(t.newPosition),p()},0),window.removeEventListener("mousemove",I),window.removeEventListener("touchmove",I),window.removeEventListener("mouseup",U),window.removeEventListener("touchend",U),window.removeEventListener("contextmenu",U))},oe=async ne=>{if(ne===null||Number.isNaN(+ne))return;ne<0?ne=0:ne>100&&(ne=100);const ce=100/((n.value-l.value)/a.value);let Me=Math.round(ne/ce)*ce*(n.value-l.value)*.01+l.value;Me=Number.parseFloat(Me.toFixed(c.value)),Me!==e.modelValue&&o(St,Me),!t.dragging&&e.modelValue!==t.oldValue&&(t.oldValue=e.modelValue),await et(),t.dragging&&g(),m.value.updatePopper()};return Se(()=>t.dragging,ne=>{v(ne)}),{disabled:r,button:w,tooltip:m,tooltipVisible:f,showTooltip:i,wrapperStyle:$,formatValue:_,handleMouseEnter:T,handleMouseLeave:R,onButtonDown:P,onKeyDown:H,setPosition:oe}},dle=(e,t,o,r)=>({stops:C(()=>{if(!e.showStops||e.min>e.max)return[];if(e.step===0)return[];const a=(e.max-e.min)/e.step,i=100*e.step/(e.max-e.min),c=Array.from({length:a-1}).map((d,u)=>(u+1)*i);return e.range?c.filter(d=>d<100*(o.value-e.min)/(e.max-e.min)||d>100*(r.value-e.min)/(e.max-e.min)):c.filter(d=>d>100*(t.firstValue-e.min)/(e.max-e.min))}),getStopStyle:a=>e.vertical?{bottom:`${a}%`}:{left:`${a}%`}}),ple=(e,t,o,r,l,n)=>{const a=d=>{l(St,d),l(yr,d)},i=()=>e.range?![o.value,r.value].every((d,u)=>d===t.oldValue[u]):e.modelValue!==t.oldValue,c=()=>{var d,u;e.min>e.max&&Io("Slider","min should not be greater than max.");const p=e.modelValue;e.range&&Array.isArray(p)?p[1]e.max?a([e.max,e.max]):p[0]e.max?a([p[0],e.max]):(t.firstValue=p[0],t.secondValue=p[1],i()&&(e.validateEvent&&((d=n==null?void 0:n.validate)==null||d.call(n,"change").catch(h=>void 0)),t.oldValue=p.slice())):!e.range&&typeof p=="number"&&!Number.isNaN(p)&&(pe.max?a(e.max):(t.firstValue=p,i()&&(e.validateEvent&&((u=n==null?void 0:n.validate)==null||u.call(n,"change").catch(h=>void 0)),t.oldValue=p)))};c(),Se(()=>t.dragging,d=>{d||c()}),Se(()=>e.modelValue,(d,u)=>{t.dragging||Array.isArray(d)&&Array.isArray(u)&&d.every((p,h)=>p===u[h])&&t.firstValue===d[0]&&t.secondValue===d[1]||c()},{deep:!0}),Se(()=>[e.min,e.max],()=>{c()})},fle=Pe({modelValue:{type:Number,default:0},vertical:Boolean,tooltipClass:String,placement:{type:String,values:Va,default:"top"}}),hle={[St]:e=>st(e)},vle=["tabindex"],mle=N({...N({name:"ElSliderButton"}),props:fle,emits:hle,setup(e,{expose:t,emit:o}){const r=e,l=ze("slider"),n=Dt({hovering:!1,dragging:!1,isClick:!1,startX:0,currentX:0,startY:0,currentY:0,startPosition:0,newPosition:0,oldValue:r.modelValue}),{disabled:a,button:i,tooltip:c,showTooltip:d,tooltipVisible:u,wrapperStyle:p,formatValue:h,handleMouseEnter:v,handleMouseLeave:m,onButtonDown:f,onKeyDown:_,setPosition:g}=ule(r,n,o),{hovering:y,dragging:w}=Bo(n);return t({onButtonDown:f,onKeyDown:_,setPosition:g,hovering:y,dragging:w}),(x,$)=>(b(),M("div",{ref_key:"button",ref:i,class:O([s(l).e("button-wrapper"),{hover:s(y),dragging:s(w)}]),style:Je(s(p)),tabindex:s(a)?-1:0,onMouseenter:$[0]||($[0]=(...T)=>s(v)&&s(v)(...T)),onMouseleave:$[1]||($[1]=(...T)=>s(m)&&s(m)(...T)),onMousedown:$[2]||($[2]=(...T)=>s(f)&&s(f)(...T)),onTouchstart:$[3]||($[3]=(...T)=>s(f)&&s(f)(...T)),onFocus:$[4]||($[4]=(...T)=>s(v)&&s(v)(...T)),onBlur:$[5]||($[5]=(...T)=>s(m)&&s(m)(...T)),onKeydown:$[6]||($[6]=(...T)=>s(_)&&s(_)(...T))},[ee(s(ur),{ref_key:"tooltip",ref:c,visible:s(u),placement:x.placement,"fallback-placements":["top","bottom","right","left"],"stop-popper-mouse-event":!1,"popper-class":x.tooltipClass,disabled:!s(d),persistent:""},{content:le(()=>[E("span",null,$e(s(h)),1)]),default:le(()=>[E("div",{class:O([s(l).e("button"),{hover:s(y),dragging:s(w)}])},null,2)]),_:1},8,["visible","placement","popper-class","disabled"])],46,vle))}});var y8=Le(mle,[["__file","button.vue"]]);const gle=Pe({mark:{type:ue([String,Object]),default:void 0}});var ble=N({name:"ElSliderMarker",props:gle,setup(e){const t=ze("slider"),o=C(()=>ut(e.mark)?e.mark:e.mark.label),r=C(()=>ut(e.mark)?void 0:e.mark.style);return()=>rt("div",{class:t.e("marks-text"),style:r.value},o.value)}});const _le=["id","role","aria-label","aria-labelledby"],wle={key:1},yle=N({...N({name:"ElSlider"}),props:Xre,emits:Zre,setup(e,{expose:t,emit:o}){const r=e,l=ze("slider"),{t:n}=Rt(),a=Dt({firstValue:0,secondValue:0,oldValue:0,dragging:!1,sliderSize:1}),{elFormItem:i,slider:c,firstButton:d,secondButton:u,sliderDisabled:p,minValue:h,maxValue:v,runwayStyle:m,barStyle:f,resetSize:_,emitChange:g,onSliderWrapperPrevent:y,onSliderClick:w,onSliderDown:x,setFirstValue:$,setSecondValue:T}=ele(r,a,o),{stops:R,getStopStyle:P}=dle(r,a,h,v),{inputId:L,isLabeledByFormItem:V}=bl(r,{formItemContext:i}),B=So(),j=C(()=>r.inputSize||B.value),te=C(()=>r.label||r.ariaLabel||n("el.slider.defaultLabel",{min:r.min,max:r.max})),J=C(()=>r.range?r.rangeStartLabel||n("el.slider.defaultRangeStartLabel"):te.value),Z=C(()=>r.formatValueText?r.formatValueText(ne.value):`${ne.value}`),H=C(()=>r.rangeEndLabel||n("el.slider.defaultRangeEndLabel")),F=C(()=>r.formatValueText?r.formatValueText(ce.value):`${ce.value}`),K=C(()=>[l.b(),l.m(B.value),l.is("vertical",r.vertical),{[l.m("with-input")]:r.showInput}]),I=Qre(r);ple(r,a,h,v,o,i);const U=C(()=>{const de=[r.min,r.max,r.step].map(_e=>{const me=`${_e}`.split(".")[1];return me?me.length:0});return Math.max.apply(null,de)}),{sliderWrapper:oe}=Jre(r,a,_),{firstValue:ne,secondValue:ce,sliderSize:Q}=Bo(a),Me=de=>{a.dragging=de};return zt(w8,{...Bo(r),sliderSize:Q,disabled:p,precision:U,emitChange:g,resetSize:_,updateDragging:Me}),Lo({from:"label",replacement:"aria-label",version:"2.8.0",scope:"el-slider",ref:"https://element-plus.org/en-US/component/slider.html"},C(()=>!!r.label)),t({onSliderClick:w}),(de,_e)=>{var me,Re;return b(),M("div",{id:de.range?s(L):void 0,ref_key:"sliderWrapper",ref:oe,class:O(s(K)),role:de.range?"group":void 0,"aria-label":de.range&&!s(V)?s(te):void 0,"aria-labelledby":de.range&&s(V)?(me=s(i))==null?void 0:me.labelId:void 0,onTouchstart:_e[2]||(_e[2]=(...Ce)=>s(y)&&s(y)(...Ce)),onTouchmove:_e[3]||(_e[3]=(...Ce)=>s(y)&&s(y)(...Ce))},[E("div",{ref_key:"slider",ref:c,class:O([s(l).e("runway"),{"show-input":de.showInput&&!de.range},s(l).is("disabled",s(p))]),style:Je(s(m)),onMousedown:_e[0]||(_e[0]=(...Ce)=>s(x)&&s(x)(...Ce)),onTouchstart:_e[1]||(_e[1]=(...Ce)=>s(x)&&s(x)(...Ce))},[E("div",{class:O(s(l).e("bar")),style:Je(s(f))},null,6),ee(y8,{id:de.range?void 0:s(L),ref_key:"firstButton",ref:d,"model-value":s(ne),vertical:de.vertical,"tooltip-class":de.tooltipClass,placement:de.placement,role:"slider","aria-label":de.range||!s(V)?s(J):void 0,"aria-labelledby":!de.range&&s(V)?(Re=s(i))==null?void 0:Re.labelId:void 0,"aria-valuemin":de.min,"aria-valuemax":de.range?s(ce):de.max,"aria-valuenow":s(ne),"aria-valuetext":s(Z),"aria-orientation":de.vertical?"vertical":"horizontal","aria-disabled":s(p),"onUpdate:modelValue":s($)},null,8,["id","model-value","vertical","tooltip-class","placement","aria-label","aria-labelledby","aria-valuemin","aria-valuemax","aria-valuenow","aria-valuetext","aria-orientation","aria-disabled","onUpdate:modelValue"]),de.range?(b(),he(y8,{key:0,ref_key:"secondButton",ref:u,"model-value":s(ce),vertical:de.vertical,"tooltip-class":de.tooltipClass,placement:de.placement,role:"slider","aria-label":s(H),"aria-valuemin":s(ne),"aria-valuemax":de.max,"aria-valuenow":s(ce),"aria-valuetext":s(F),"aria-orientation":de.vertical?"vertical":"horizontal","aria-disabled":s(p),"onUpdate:modelValue":s(T)},null,8,["model-value","vertical","tooltip-class","placement","aria-label","aria-valuemin","aria-valuemax","aria-valuenow","aria-valuetext","aria-orientation","aria-disabled","onUpdate:modelValue"])):se("v-if",!0),de.showStops?(b(),M("div",wle,[(b(!0),M(Qe,null,It(s(R),(Ce,Ee)=>(b(),M("div",{key:Ee,class:O(s(l).e("stop")),style:Je(s(P)(Ce))},null,6))),128))])):se("v-if",!0),s(I).length>0?(b(),M(Qe,{key:2},[E("div",null,[(b(!0),M(Qe,null,It(s(I),(Ce,Ee)=>(b(),M("div",{key:Ee,style:Je(s(P)(Ce.position)),class:O([s(l).e("stop"),s(l).e("marks-stop")])},null,6))),128))]),E("div",{class:O(s(l).e("marks"))},[(b(!0),M(Qe,null,It(s(I),(Ce,Ee)=>(b(),he(s(ble),{key:Ee,mark:Ce.mark,style:Je(s(P)(Ce.position))},null,8,["mark","style"]))),128))],2)],64)):se("v-if",!0)],38),de.showInput&&!de.range?(b(),he(s(Ly),{key:0,ref:"input","model-value":s(ne),class:O(s(l).e("input")),step:de.step,disabled:s(p),controls:de.showInputControls,min:de.min,max:de.max,debounce:de.debounce,size:s(j),"onUpdate:modelValue":s($),onChange:s(g)},null,8,["model-value","class","step","disabled","controls","min","max","debounce","size","onUpdate:modelValue","onChange"])):se("v-if",!0)],42,_le)}}});var xle=Le(yle,[["__file","slider.vue"]]);const kle=yt(xle),Cle=Pe({prefixCls:{type:String}}),x8=N({name:"ElSpaceItem",props:Cle,setup(e,{slots:t}){const o=ze("space"),r=C(()=>`${e.prefixCls||o.b()}__item`);return()=>rt("div",{class:r.value},be(t,"default"))}}),k8={small:8,default:12,large:16};function Sle(e){const t=ze("space"),o=C(()=>[t.b(),t.m(e.direction),e.class]),r=D(0),l=D(0),n=C(()=>{const i=e.wrap||e.fill?{flexWrap:"wrap"}:{},c={alignItems:e.alignment},d={rowGap:`${l.value}px`,columnGap:`${r.value}px`};return[i,c,d,e.style]}),a=C(()=>e.fill?{flexGrow:1,minWidth:`${e.fillRatio}%`}:{});return Go(()=>{const{size:i="small",wrap:c,direction:d,fill:u}=e;if(Ke(i)){const[p=0,h=0]=i;r.value=p,l.value=h}else{let p;st(i)?p=i:p=k8[i||"small"]||k8.small,(c||u)&&d==="horizontal"?r.value=l.value=p:d==="horizontal"?(r.value=p,l.value=0):(l.value=p,r.value=0)}}),{classes:o,containerStyle:n,itemStyle:a}}const Ele=Pe({direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},class:{type:ue([String,Object,Array]),default:""},style:{type:ue([String,Array,Object]),default:""},alignment:{type:ue(String),default:"center"},prefixCls:{type:String},spacer:{type:ue([Object,String,Number,Array]),default:null,validator:e=>io(e)||st(e)||ut(e)},wrap:Boolean,fill:Boolean,fillRatio:{type:Number,default:100},size:{type:[String,Array,Number],values:Rl,validator:e=>st(e)||Ke(e)&&e.length===2&&e.every(st)}}),Tle=yt(N({name:"ElSpace",props:Ele,setup(e,{slots:t}){const{classes:o,containerStyle:r,itemStyle:l}=Sle(e);function n(a,i="",c=[]){const{prefixCls:d}=e;return a.forEach((u,p)=>{yh(u)?Ke(u.children)&&u.children.forEach((h,v)=>{yh(h)&&Ke(h.children)?n(h.children,`${i+v}-`,c):c.push(ee(x8,{style:l.value,prefixCls:d,key:`nested-${i+v}`},{default:()=>[h]},Qr.PROPS|Qr.STYLE,["style","prefixCls"]))}):iF(u)&&c.push(ee(x8,{style:l.value,prefixCls:d,key:`LoopKey${i+p}`},{default:()=>[u]},Qr.PROPS|Qr.STYLE,["style","prefixCls"]))}),c}return()=>{var a;const{spacer:i,direction:c}=e,d=be(t,"default",{key:0},()=>[]);if(((a=d.children)!=null?a:[]).length===0)return null;if(Ke(d.children)){let u=n(d.children);if(i){const p=u.length-1;u=u.reduce((h,v,m)=>{const f=[...h,v];return m!==p&&f.push(ee("span",{style:[l.value,c==="vertical"?"width: 100%":null],key:m},[io(i)?i:Ct(i,Qr.TEXT)],Qr.STYLE)),f},[])}return ee("div",{class:o.value,style:r.value},u,Qr.STYLE|Qr.CLASS)}return d.children}}})),$le=Pe({decimalSeparator:{type:String,default:"."},groupSeparator:{type:String,default:","},precision:{type:Number,default:0},formatter:Function,value:{type:ue([Number,Object]),default:0},prefix:String,suffix:String,title:String,valueStyle:{type:ue([String,Object,Array])}}),Mle=N({...N({name:"ElStatistic"}),props:$le,setup(e,{expose:t}){const o=e,r=ze("statistic"),l=C(()=>{const{value:n,formatter:a,precision:i,decimalSeparator:c,groupSeparator:d}=o;if(it(a))return a(n);if(!st(n))return n;let[u,p=""]=String(n).split(".");return p=p.padEnd(i,"0").slice(0,i>0?i:0),u=u.replace(/\B(?=(\d{3})+(?!\d))/g,d),[u,p].join(p?c:"")});return t({displayValue:l}),(n,a)=>(b(),M("div",{class:O(s(r).b())},[n.$slots.title||n.title?(b(),M("div",{key:0,class:O(s(r).e("head"))},[be(n.$slots,"title",{},()=>[Ct($e(n.title),1)])],2)):se("v-if",!0),E("div",{class:O(s(r).e("content"))},[n.$slots.prefix||n.prefix?(b(),M("div",{key:0,class:O(s(r).e("prefix"))},[be(n.$slots,"prefix",{},()=>[E("span",null,$e(n.prefix),1)])],2)):se("v-if",!0),E("span",{class:O(s(r).e("number")),style:Je(n.valueStyle)},$e(s(l)),7),n.$slots.suffix||n.suffix?(b(),M("div",{key:1,class:O(s(r).e("suffix"))},[be(n.$slots,"suffix",{},()=>[E("span",null,$e(n.suffix),1)])],2)):se("v-if",!0)],2)],2))}});var Ale=Le(Mle,[["__file","statistic.vue"]]);const C8=yt(Ale),zle=Pe({format:{type:String,default:"HH:mm:ss"},prefix:String,suffix:String,title:String,value:{type:ue([Number,Object]),default:0},valueStyle:{type:ue([String,Object,Array])}}),Ile={finish:()=>!0,[ro]:e=>st(e)},Ole=[["Y",1e3*60*60*24*365],["M",1e3*60*60*24*30],["D",1e3*60*60*24],["H",1e3*60*60],["m",1e3*60],["s",1e3],["S",1]],S8=e=>st(e)?new Date(e).getTime():e.valueOf(),E8=(e,t)=>{let o=e;const r=/\[([^\]]*)]/g;return Ole.reduce((n,[a,i])=>{const c=new RegExp(`${a}+(?![^\\[\\]]*\\])`,"g");if(c.test(n)){const d=Math.floor(o/i);return o-=d*i,n.replace(c,u=>String(d).padStart(u.length,"0"))}return n},t).replace(r,"$1")},Nle=N({...N({name:"ElCountdown"}),props:zle,emits:Ile,setup(e,{expose:t,emit:o}){const r=e;let l;const n=D(S8(r.value)-Date.now()),a=C(()=>E8(n.value,r.format)),i=u=>E8(u,r.format),c=()=>{l&&(Pa(l),l=void 0)},d=()=>{const u=S8(r.value),p=()=>{let h=u-Date.now();o("change",h),h<=0?(h=0,c(),o("finish")):l=Xn(p),n.value=h};l=Xn(p)};return Se(()=>[r.value,r.format],()=>{c(),d()},{immediate:!0}),to(()=>{c()}),t({displayValue:a}),(u,p)=>(b(),he(s(C8),{value:n.value,title:u.title,prefix:u.prefix,suffix:u.suffix,"value-style":u.valueStyle,formatter:i},ln({_:2},[It(u.$slots,(h,v)=>({name:v,fn:le(()=>[be(u.$slots,v)])}))]),1032,["value","title","prefix","suffix","value-style"]))}});var Ple=Le(Nle,[["__file","countdown.vue"]]);const Rle=yt(Ple),Lle=Pe({space:{type:[Number,String],default:""},active:{type:Number,default:0},direction:{type:String,default:"horizontal",values:["horizontal","vertical"]},alignCenter:{type:Boolean},simple:{type:Boolean},finishStatus:{type:String,values:["wait","process","finish","error","success"],default:"finish"},processStatus:{type:String,values:["wait","process","finish","error","success"],default:"process"}}),Ble={[ro]:(e,t)=>[e,t].every(st)},Vle=N({...N({name:"ElSteps"}),props:Lle,emits:Ble,setup(e,{emit:t}){const o=e,r=ze("steps"),{children:l,addChild:n,removeChild:a}=Wh(wt(),"ElStep");return Se(l,()=>{l.value.forEach((i,c)=>{i.setIndex(c)})}),zt("ElSteps",{props:o,steps:l,addStep:n,removeStep:a}),Se(()=>o.active,(i,c)=>{t(ro,i,c)}),(i,c)=>(b(),M("div",{class:O([s(r).b(),s(r).m(i.simple?"simple":i.direction)])},[be(i.$slots,"default")],2))}});var Dle=Le(Vle,[["__file","steps.vue"]]);const Hle=Pe({title:{type:String,default:""},icon:{type:Xt},description:{type:String,default:""},status:{type:String,values:["","wait","process","finish","error","success"],default:""}}),Fle=N({...N({name:"ElStep"}),props:Hle,setup(e){const t=e,o=ze("step"),r=D(-1),l=D({}),n=D(""),a=Ge("ElSteps"),i=wt();ft(()=>{Se([()=>a.props.active,()=>a.props.processStatus,()=>a.props.finishStatus],([T])=>{x(T)},{immediate:!0})}),to(()=>{a.removeStep($.uid)});const c=C(()=>t.status||n.value),d=C(()=>{const T=a.steps.value[r.value-1];return T?T.currentStatus:"wait"}),u=C(()=>a.props.alignCenter),p=C(()=>a.props.direction==="vertical"),h=C(()=>a.props.simple),v=C(()=>a.steps.value.length),m=C(()=>{var T;return((T=a.steps.value[v.value-1])==null?void 0:T.uid)===(i==null?void 0:i.uid)}),f=C(()=>h.value?"":a.props.space),_=C(()=>[o.b(),o.is(h.value?"simple":a.props.direction),o.is("flex",m.value&&!f.value&&!u.value),o.is("center",u.value&&!p.value&&!h.value)]),g=C(()=>{const T={flexBasis:st(f.value)?`${f.value}px`:f.value?f.value:`${100/(v.value-(u.value?0:1))}%`};return p.value||m.value&&(T.maxWidth=`${100/v.value}%`),T}),y=T=>{r.value=T},w=T=>{const R=T==="wait",P={transitionDelay:`${R?"-":""}${150*r.value}ms`},L=T===a.props.processStatus||R?0:100;P.borderWidth=L&&!h.value?"1px":0,P[a.props.direction==="vertical"?"height":"width"]=`${L}%`,l.value=P},x=T=>{T>r.value?n.value=a.props.finishStatus:T===r.value&&d.value!=="error"?n.value=a.props.processStatus:n.value="wait";const R=a.steps.value[r.value-1];R&&R.calcProgress(n.value)},$=Dt({uid:i.uid,currentStatus:c,setIndex:y,calcProgress:w});return a.addStep($),(T,R)=>(b(),M("div",{style:Je(s(g)),class:O(s(_))},[se(" icon & line "),E("div",{class:O([s(o).e("head"),s(o).is(s(c))])},[s(h)?se("v-if",!0):(b(),M("div",{key:0,class:O(s(o).e("line"))},[E("i",{class:O(s(o).e("line-inner")),style:Je(l.value)},null,6)],2)),E("div",{class:O([s(o).e("icon"),s(o).is(T.icon||T.$slots.icon?"icon":"text")])},[be(T.$slots,"icon",{},()=>[T.icon?(b(),he(s(Ze),{key:0,class:O(s(o).e("icon-inner"))},{default:le(()=>[(b(),he(Et(T.icon)))]),_:1},8,["class"])):s(c)==="success"?(b(),he(s(Ze),{key:1,class:O([s(o).e("icon-inner"),s(o).is("status")])},{default:le(()=>[ee(s(Li))]),_:1},8,["class"])):s(c)==="error"?(b(),he(s(Ze),{key:2,class:O([s(o).e("icon-inner"),s(o).is("status")])},{default:le(()=>[ee(s(Jr))]),_:1},8,["class"])):s(h)?se("v-if",!0):(b(),M("div",{key:3,class:O(s(o).e("icon-inner"))},$e(r.value+1),3))])],2)],2),se(" title & description "),E("div",{class:O(s(o).e("main"))},[E("div",{class:O([s(o).e("title"),s(o).is(s(c))])},[be(T.$slots,"title",{},()=>[Ct($e(T.title),1)])],2),s(h)?(b(),M("div",{key:0,class:O(s(o).e("arrow"))},null,2)):(b(),M("div",{key:1,class:O([s(o).e("description"),s(o).is(s(c))])},[be(T.$slots,"description",{},()=>[Ct($e(T.description),1)])],2))],2)],6))}});var T8=Le(Fle,[["__file","item.vue"]]);const jle=yt(Dle,{Step:T8}),Kle=co(T8),Ule=Pe({modelValue:{type:[Boolean,String,Number],default:!1},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},size:{type:String,validator:t6},width:{type:[String,Number],default:""},inlinePrompt:{type:Boolean,default:!1},inactiveActionIcon:{type:Xt},activeActionIcon:{type:Xt},activeIcon:{type:Xt},inactiveIcon:{type:Xt},activeText:{type:String,default:""},inactiveText:{type:String,default:""},activeValue:{type:[Boolean,String,Number],default:!0},inactiveValue:{type:[Boolean,String,Number],default:!1},name:{type:String,default:""},validateEvent:{type:Boolean,default:!0},beforeChange:{type:ue(Function)},id:String,tabindex:{type:[String,Number]},label:{type:String,default:void 0},...Zo(["ariaLabel"])}),Wle={[St]:e=>Co(e)||ut(e)||st(e),[ro]:e=>Co(e)||ut(e)||st(e),[yr]:e=>Co(e)||ut(e)||st(e)},qle=["onClick"],Yle=["id","aria-checked","aria-disabled","aria-label","name","true-value","false-value","disabled","tabindex","onKeydown"],Gle=["aria-hidden"],Xle=["aria-hidden"],Zle=["aria-hidden"],$8="ElSwitch",Jle=N({...N({name:$8}),props:Ule,emits:Wle,setup(e,{expose:t,emit:o}){const r=e,{formItem:l}=sr(),n=So(),a=ze("switch"),{inputId:i}=bl(r,{formItemContext:l}),c=xr(C(()=>r.loading)),d=D(r.modelValue!==!1),u=D(),p=D(),h=C(()=>[a.b(),a.m(n.value),a.is("disabled",c.value),a.is("checked",g.value)]),v=C(()=>[a.e("label"),a.em("label","left"),a.is("active",!g.value)]),m=C(()=>[a.e("label"),a.em("label","right"),a.is("active",g.value)]),f=C(()=>({width:mo(r.width)}));Se(()=>r.modelValue,()=>{d.value=!0});const _=C(()=>d.value?r.modelValue:!1),g=C(()=>_.value===r.activeValue);[r.activeValue,r.inactiveValue].includes(_.value)||(o(St,r.inactiveValue),o(ro,r.inactiveValue),o(yr,r.inactiveValue)),Se(g,$=>{var T;u.value.checked=$,r.validateEvent&&((T=l==null?void 0:l.validate)==null||T.call(l,"change").catch(R=>void 0))});const y=()=>{const $=g.value?r.inactiveValue:r.activeValue;o(St,$),o(ro,$),o(yr,$),et(()=>{u.value.checked=g.value})},w=()=>{if(c.value)return;const{beforeChange:$}=r;if(!$){y();return}const T=$();[Es(T),Co(T)].includes(!0)||Io($8,"beforeChange must return type `Promise` or `boolean`"),Es(T)?T.then(P=>{P&&y()}).catch(P=>{}):T&&y()},x=()=>{var $,T;(T=($=u.value)==null?void 0:$.focus)==null||T.call($)};return ft(()=>{u.value.checked=g.value}),Lo({from:"label",replacement:"aria-label",version:"2.8.0",scope:"el-switch",ref:"https://element-plus.org/en-US/component/switch.html"},C(()=>!!r.label)),t({focus:x,checked:g}),($,T)=>(b(),M("div",{class:O(s(h)),onClick:ct(w,["prevent"])},[E("input",{id:s(i),ref_key:"input",ref:u,class:O(s(a).e("input")),type:"checkbox",role:"switch","aria-checked":s(g),"aria-disabled":s(c),"aria-label":$.label||$.ariaLabel,name:$.name,"true-value":$.activeValue,"false-value":$.inactiveValue,disabled:s(c),tabindex:$.tabindex,onChange:y,onKeydown:Gt(w,["enter"])},null,42,Yle),!$.inlinePrompt&&($.inactiveIcon||$.inactiveText)?(b(),M("span",{key:0,class:O(s(v))},[$.inactiveIcon?(b(),he(s(Ze),{key:0},{default:le(()=>[(b(),he(Et($.inactiveIcon)))]),_:1})):se("v-if",!0),!$.inactiveIcon&&$.inactiveText?(b(),M("span",{key:1,"aria-hidden":s(g)},$e($.inactiveText),9,Gle)):se("v-if",!0)],2)):se("v-if",!0),E("span",{ref_key:"core",ref:p,class:O(s(a).e("core")),style:Je(s(f))},[$.inlinePrompt?(b(),M("div",{key:0,class:O(s(a).e("inner"))},[$.activeIcon||$.inactiveIcon?(b(),he(s(Ze),{key:0,class:O(s(a).is("icon"))},{default:le(()=>[(b(),he(Et(s(g)?$.activeIcon:$.inactiveIcon)))]),_:1},8,["class"])):$.activeText||$.inactiveText?(b(),M("span",{key:1,class:O(s(a).is("text")),"aria-hidden":!s(g)},$e(s(g)?$.activeText:$.inactiveText),11,Xle)):se("v-if",!0)],2)):se("v-if",!0),E("div",{class:O(s(a).e("action"))},[$.loading?(b(),he(s(Ze),{key:0,class:O(s(a).is("loading"))},{default:le(()=>[ee(s(vn))]),_:1},8,["class"])):s(g)?be($.$slots,"active-action",{key:1},()=>[$.activeActionIcon?(b(),he(s(Ze),{key:0},{default:le(()=>[(b(),he(Et($.activeActionIcon)))]),_:1})):se("v-if",!0)]):s(g)?se("v-if",!0):be($.$slots,"inactive-action",{key:2},()=>[$.inactiveActionIcon?(b(),he(s(Ze),{key:0},{default:le(()=>[(b(),he(Et($.inactiveActionIcon)))]),_:1})):se("v-if",!0)])],2)],6),!$.inlinePrompt&&($.activeIcon||$.activeText)?(b(),M("span",{key:1,class:O(s(m))},[$.activeIcon?(b(),he(s(Ze),{key:0},{default:le(()=>[(b(),he(Et($.activeIcon)))]),_:1})):se("v-if",!0),!$.activeIcon&&$.activeText?(b(),M("span",{key:1,"aria-hidden":!s(g)},$e($.activeText),9,Zle)):se("v-if",!0)],2)):se("v-if",!0)],10,qle))}});var Qle=Le(Jle,[["__file","switch.vue"]]);const ene=yt(Qle),h2=function(e){var t;return(t=e.target)==null?void 0:t.closest("td")},tne=function(e,t,o,r,l){if(!t&&!r&&(!l||Array.isArray(l)&&!l.length))return e;typeof o=="string"?o=o==="descending"?-1:1:o=o&&o<0?-1:1;const n=r?null:function(i,c){return l?(Array.isArray(l)||(l=[l]),l.map(d=>typeof d=="string"?wo(i,d):d(i,c,e))):(t!=="$key"&&xt(i)&&"$value"in i&&(i=i.$value),[xt(i)?wo(i,t):i])},a=function(i,c){if(r)return r(i.value,c.value);for(let d=0,u=i.key.length;dc.key[d])return 1}return 0};return e.map((i,c)=>({value:i,index:c,key:n?n(i,c):null})).sort((i,c)=>{let d=a(i,c);return d||(d=i.index-c.index),d*+o}).map(i=>i.value)},M8=function(e,t){let o=null;return e.columns.forEach(r=>{r.id===t&&(o=r)}),o},one=function(e,t){let o=null;for(let r=0;r{if(!e)throw new Error("Row is required when get row identity");if(typeof t=="string"){if(!t.includes("."))return`${e[t]}`;const o=t.split(".");let r=e;for(const l of o)r=r[l];return`${r}`}else if(typeof t=="function")return t.call(null,e)},ei=function(e,t){const o={};return(e||[]).forEach((r,l)=>{o[tr(r,t)]={row:r,index:l}}),o};function rne(e,t){const o={};let r;for(r in e)o[r]=e[r];for(r in t)if(Pt(t,r)){const l=t[r];typeof l<"u"&&(o[r]=l)}return o}function v2(e){return e===""||e!==void 0&&(e=Number.parseInt(e,10),Number.isNaN(e)&&(e="")),e}function z8(e){return e===""||e!==void 0&&(e=v2(e),Number.isNaN(e)&&(e=80)),e}function lne(e){return typeof e=="number"?e:typeof e=="string"?/^\d+(?:px)?$/.test(e)?Number.parseInt(e,10):e:null}function nne(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,o)=>(...r)=>t(o(...r)))}function Uc(e,t,o){let r=!1;const l=e.indexOf(t),n=l!==-1,a=i=>{i==="add"?e.push(t):e.splice(l,1),r=!0,Ke(t.children)&&t.children.forEach(c=>{Uc(e,c,o??!n)})};return Co(o)?o&&!n?a("add"):!o&&n&&a("remove"):a(n?"remove":"add"),r}function ane(e,t,o="children",r="hasChildren"){const l=a=>!(Array.isArray(a)&&a.length);function n(a,i,c){t(a,i,c),i.forEach(d=>{if(d[r]){t(d,null,c+1);return}const u=d[o];l(u)||n(d,u,c+1)})}e.forEach(a=>{if(a[r]){t(a,null,0);return}const i=a[o];l(i)||n(a,i,0)})}let nl=null;function ine(e,t,o,r){if((nl==null?void 0:nl.trigger)===o)return;nl==null||nl();const l=r==null?void 0:r.refs.tableWrapper,n=l==null?void 0:l.dataset.prefix,a={strategy:"fixed",...e.popperOptions},i=ee(ur,{content:t,virtualTriggering:!0,virtualRef:o,appendTo:l,placement:"top",transition:"none",offset:0,hideAfter:0,...e,popperOptions:a,onHide:()=>{nl==null||nl()}});i.appContext={...r.appContext,...r};const c=document.createElement("div");jn(i,c),i.component.exposed.onOpen();const d=l==null?void 0:l.querySelector(`.${n}-scrollbar__wrap`);nl=()=>{jn(null,c),d==null||d.removeEventListener("scroll",nl),nl=null},nl.trigger=o,d==null||d.addEventListener("scroll",nl)}function I8(e){return e.children?$z(e.children,I8):[e]}function O8(e,t){return e+t.colSpan}const N8=(e,t,o,r)=>{let l=0,n=e;const a=o.states.columns.value;if(r){const c=I8(r[e]);l=a.slice(0,a.indexOf(c[0])).reduce(O8,0),n=l+c.reduce(O8,0)-1}else l=e;let i;switch(t){case"left":n=a.length-o.states.rightFixedLeafColumnsLength.value&&(i="right");break;default:n=a.length-o.states.rightFixedLeafColumnsLength.value&&(i="right")}return i?{direction:i,start:l,after:n}:{}},m2=(e,t,o,r,l,n=0)=>{const a=[],{direction:i,start:c,after:d}=N8(t,o,r,l);if(i){const u=i==="left";a.push(`${e}-fixed-column--${i}`),u&&d+n===r.states.fixedLeafColumnsLength.value-1?a.push("is-last-column"):!u&&c-n===r.states.columns.value.length-r.states.rightFixedLeafColumnsLength.value&&a.push("is-first-column")}return a};function P8(e,t){return e+(t.realWidth===null||Number.isNaN(t.realWidth)?Number(t.width):t.realWidth)}const g2=(e,t,o,r)=>{const{direction:l,start:n=0,after:a=0}=N8(e,t,o,r);if(!l)return;const i={},c=l==="left",d=o.states.columns.value;return c?i.left=d.slice(0,n).reduce(P8,0):i.right=d.slice(a+1).reverse().reduce(P8,0),i},ds=(e,t)=>{e&&(Number.isNaN(e[t])||(e[t]=`${e[t]}px`))};function sne(e){const t=wt(),o=D(!1),r=D([]);return{updateExpandRows:()=>{const c=e.data.value||[],d=e.rowKey.value;if(o.value)r.value=c.slice();else if(d){const u=ei(r.value,d);r.value=c.reduce((p,h)=>{const v=tr(h,d);return u[v]&&p.push(h),p},[])}else r.value=[]},toggleRowExpansion:(c,d)=>{Uc(r.value,c,d)&&t.emit("expand-change",c,r.value.slice())},setExpandRowKeys:c=>{t.store.assertRowKey();const d=e.data.value||[],u=e.rowKey.value,p=ei(d,u);r.value=c.reduce((h,v)=>{const m=p[v];return m&&h.push(m.row),h},[])},isRowExpanded:c=>{const d=e.rowKey.value;return d?!!ei(r.value,d)[tr(c,d)]:r.value.includes(c)},states:{expandRows:r,defaultExpandAll:o}}}function cne(e){const t=wt(),o=D(null),r=D(null),l=d=>{t.store.assertRowKey(),o.value=d,a(d)},n=()=>{o.value=null},a=d=>{const{data:u,rowKey:p}=e;let h=null;p.value&&(h=(s(u)||[]).find(v=>tr(v,p.value)===d)),r.value=h,t.emit("current-change",r.value,null)};return{setCurrentRowKey:l,restoreCurrentRowKey:n,setCurrentRowByKey:a,updateCurrentRow:d=>{const u=r.value;if(d&&d!==u){r.value=d,t.emit("current-change",r.value,u);return}!d&&u&&(r.value=null,t.emit("current-change",null,u))},updateCurrentRowData:()=>{const d=e.rowKey.value,u=e.data.value||[],p=r.value;if(!u.includes(p)&&p){if(d){const h=tr(p,d);a(h)}else r.value=null;r.value===null&&t.emit("current-change",null,p)}else o.value&&(a(o.value),n())},states:{_currentRowKey:o,currentRow:r}}}function une(e){const t=D([]),o=D({}),r=D(16),l=D(!1),n=D({}),a=D("hasChildren"),i=D("children"),c=wt(),d=C(()=>{if(!e.rowKey.value)return{};const g=e.data.value||[];return p(g)}),u=C(()=>{const g=e.rowKey.value,y=Object.keys(n.value),w={};return y.length&&y.forEach(x=>{if(n.value[x].length){const $={children:[]};n.value[x].forEach(T=>{const R=tr(T,g);$.children.push(R),T[a.value]&&!w[R]&&(w[R]={children:[]})}),w[x]=$}}),w}),p=g=>{const y=e.rowKey.value,w={};return ane(g,(x,$,T)=>{const R=tr(x,y);Array.isArray($)?w[R]={children:$.map(P=>tr(P,y)),level:T}:l.value&&(w[R]={children:[],lazy:!0,level:T})},i.value,a.value),w},h=(g=!1,y=(w=>(w=c.store)==null?void 0:w.states.defaultExpandAll.value)())=>{var w;const x=d.value,$=u.value,T=Object.keys(x),R={};if(T.length){const P=s(o),L=[],V=(j,te)=>{if(g)return t.value?y||t.value.includes(te):!!(y||j!=null&&j.expanded);{const J=y||t.value&&t.value.includes(te);return!!(j!=null&&j.expanded||J)}};T.forEach(j=>{const te=P[j],J={...x[j]};if(J.expanded=V(te,j),J.lazy){const{loaded:Z=!1,loading:H=!1}=te||{};J.loaded=!!Z,J.loading=!!H,L.push(j)}R[j]=J});const B=Object.keys($);l.value&&B.length&&L.length&&B.forEach(j=>{const te=P[j],J=$[j].children;if(L.includes(j)){if(R[j].children.length!==0)throw new Error("[ElTable]children must be an empty array.");R[j].children=J}else{const{loaded:Z=!1,loading:H=!1}=te||{};R[j]={lazy:!0,loaded:!!Z,loading:!!H,expanded:V(te,j),children:J,level:""}}})}o.value=R,(w=c.store)==null||w.updateTableScrollY()};Se(()=>t.value,()=>{h(!0)}),Se(()=>d.value,()=>{h()}),Se(()=>u.value,()=>{h()});const v=g=>{t.value=g,h()},m=(g,y)=>{c.store.assertRowKey();const w=e.rowKey.value,x=tr(g,w),$=x&&o.value[x];if(x&&$&&"expanded"in $){const T=$.expanded;y=typeof y>"u"?!$.expanded:y,o.value[x].expanded=y,T!==y&&c.emit("expand-change",g,y),c.store.updateTableScrollY()}},f=g=>{c.store.assertRowKey();const y=e.rowKey.value,w=tr(g,y),x=o.value[w];l.value&&x&&"loaded"in x&&!x.loaded?_(g,w,x):m(g,void 0)},_=(g,y,w)=>{const{load:x}=c.props;x&&!o.value[y].loaded&&(o.value[y].loading=!0,x(g,w,$=>{if(!Array.isArray($))throw new TypeError("[ElTable] data must be an array");o.value[y].loading=!1,o.value[y].loaded=!0,o.value[y].expanded=!0,$.length&&(n.value[y]=$),c.emit("expand-change",g,!0)}))};return{loadData:_,loadOrToggle:f,toggleTreeExpansion:m,updateTreeExpandKeys:v,updateTreeData:h,normalize:p,states:{expandRowKeys:t,treeData:o,indent:r,lazy:l,lazyTreeNodeMap:n,lazyColumnIdentifier:a,childrenColumnName:i}}}const dne=(e,t)=>{const o=t.sortingColumn;return!o||typeof o.sortable=="string"?e:tne(e,t.sortProp,t.sortOrder,o.sortMethod,o.sortBy)},Pp=e=>{const t=[];return e.forEach(o=>{o.children&&o.children.length>0?t.push.apply(t,Pp(o.children)):t.push(o)}),t};function pne(){var e;const t=wt(),{size:o}=Bo((e=t.proxy)==null?void 0:e.$props),r=D(null),l=D([]),n=D([]),a=D(!1),i=D([]),c=D([]),d=D([]),u=D([]),p=D([]),h=D([]),v=D([]),m=D([]),f=[],_=D(0),g=D(0),y=D(0),w=D(!1),x=D([]),$=D(!1),T=D(!1),R=D(null),P=D({}),L=D(null),V=D(null),B=D(null),j=D(null),te=D(null);Se(l,()=>t.state&&F(!1),{deep:!0});const J=()=>{if(!r.value)throw new Error("[ElTable] prop row-key is required")},Z=Y=>{var S;(S=Y.children)==null||S.forEach(A=>{A.fixed=Y.fixed,Z(A)})},H=()=>{i.value.forEach(X=>{Z(X)}),u.value=i.value.filter(X=>X.fixed===!0||X.fixed==="left"),p.value=i.value.filter(X=>X.fixed==="right"),u.value.length>0&&i.value[0]&&i.value[0].type==="selection"&&!i.value[0].fixed&&(i.value[0].fixed=!0,u.value.unshift(i.value[0]));const Y=i.value.filter(X=>!X.fixed);c.value=[].concat(u.value).concat(Y).concat(p.value);const S=Pp(Y),A=Pp(u.value),G=Pp(p.value);_.value=S.length,g.value=A.length,y.value=G.length,d.value=[].concat(A).concat(S).concat(G),a.value=u.value.length>0||p.value.length>0},F=(Y,S=!1)=>{Y&&H(),S?t.state.doLayout():t.state.debouncedUpdateLayout()},K=Y=>x.value.includes(Y),I=()=>{w.value=!1;const Y=x.value;x.value=[],Y.length&&t.emit("selection-change",[])},U=()=>{let Y;if(r.value){Y=[];const S=ei(x.value,r.value),A=ei(l.value,r.value);for(const G in S)Pt(S,G)&&!A[G]&&Y.push(S[G].row)}else Y=x.value.filter(S=>!l.value.includes(S));if(Y.length){const S=x.value.filter(A=>!Y.includes(A));x.value=S,t.emit("selection-change",S.slice())}},oe=()=>(x.value||[]).slice(),ne=(Y,S=void 0,A=!0)=>{if(Uc(x.value,Y,S)){const X=(x.value||[]).slice();A&&t.emit("select",X,Y),t.emit("selection-change",X)}},ce=()=>{var Y,S;const A=T.value?!w.value:!(w.value||x.value.length);w.value=A;let G=!1,X=0;const re=(S=(Y=t==null?void 0:t.store)==null?void 0:Y.states)==null?void 0:S.rowKey.value;l.value.forEach((ge,fe)=>{const Fe=fe+X;R.value?R.value.call(null,ge,Fe)&&Uc(x.value,ge,A)&&(G=!0):Uc(x.value,ge,A)&&(G=!0),X+=de(tr(ge,re))}),G&&t.emit("selection-change",x.value?x.value.slice():[]),t.emit("select-all",(x.value||[]).slice())},Q=()=>{const Y=ei(x.value,r.value);l.value.forEach(S=>{const A=tr(S,r.value),G=Y[A];G&&(x.value[G.index]=S)})},Me=()=>{var Y,S,A;if(((Y=l.value)==null?void 0:Y.length)===0){w.value=!1;return}let G;r.value&&(G=ei(x.value,r.value));const X=function(Fe){return G?!!G[tr(Fe,r.value)]:x.value.includes(Fe)};let re=!0,ge=0,fe=0;for(let Fe=0,at=(l.value||[]).length;Fe{var S;if(!t||!t.store)return 0;const{treeData:A}=t.store.states;let G=0;const X=(S=A.value[Y])==null?void 0:S.children;return X&&(G+=X.length,X.forEach(re=>{G+=de(re)})),G},_e=(Y,S)=>{Array.isArray(Y)||(Y=[Y]);const A={};return Y.forEach(G=>{P.value[G.id]=S,A[G.columnKey||G.id]=S}),A},me=(Y,S,A)=>{V.value&&V.value!==Y&&(V.value.order=null),V.value=Y,B.value=S,j.value=A},Re=()=>{let Y=s(n);Object.keys(P.value).forEach(S=>{const A=P.value[S];if(!A||A.length===0)return;const G=M8({columns:d.value},S);G&&G.filterMethod&&(Y=Y.filter(X=>A.some(re=>G.filterMethod.call(null,re,X,G))))}),L.value=Y},Ce=()=>{l.value=dne(L.value,{sortingColumn:V.value,sortProp:B.value,sortOrder:j.value})},Ee=(Y=void 0)=>{Y&&Y.filter||Re(),Ce()},De=Y=>{const{tableHeaderRef:S}=t.refs;if(!S)return;const A=Object.assign({},S.filterPanels),G=Object.keys(A);if(G.length)if(typeof Y=="string"&&(Y=[Y]),Array.isArray(Y)){const X=Y.map(re=>one({columns:d.value},re));G.forEach(re=>{const ge=X.find(fe=>fe.id===re);ge&&(ge.filteredValue=[])}),t.store.commit("filterChange",{column:X,values:[],silent:!0,multi:!0})}else G.forEach(X=>{const re=d.value.find(ge=>ge.id===X);re&&(re.filteredValue=[])}),P.value={},t.store.commit("filterChange",{column:{},values:[],silent:!0})},ae=()=>{V.value&&(me(null,null,null),t.store.commit("changeSortCondition",{silent:!0}))},{setExpandRowKeys:pe,toggleRowExpansion:ke,updateExpandRows:Oe,states:we,isRowExpanded:Te}=sne({data:l,rowKey:r}),{updateTreeExpandKeys:Ne,toggleTreeExpansion:Ie,updateTreeData:Ae,loadOrToggle:xe,states:We}=une({data:l,rowKey:r}),{updateCurrentRowData:qe,updateCurrentRow:ye,setCurrentRowKey:Ye,states:tt}=cne({data:l,rowKey:r});return{assertRowKey:J,updateColumns:H,scheduleLayout:F,isSelected:K,clearSelection:I,cleanSelection:U,getSelectionRows:oe,toggleRowSelection:ne,_toggleAllSelection:ce,toggleAllSelection:null,updateSelectionByRowKey:Q,updateAllSelected:Me,updateFilters:_e,updateCurrentRow:ye,updateSort:me,execFilter:Re,execSort:Ce,execQuery:Ee,clearFilter:De,clearSort:ae,toggleRowExpansion:ke,setExpandRowKeysAdapter:Y=>{pe(Y),Ne(Y)},setCurrentRowKey:Ye,toggleRowExpansionAdapter:(Y,S)=>{d.value.some(({type:G})=>G==="expand")?ke(Y,S):Ie(Y,S)},isRowExpanded:Te,updateExpandRows:Oe,updateCurrentRowData:qe,loadOrToggle:xe,updateTreeData:Ae,states:{tableSize:o,rowKey:r,data:l,_data:n,isComplex:a,_columns:i,originColumns:c,columns:d,fixedColumns:u,rightFixedColumns:p,leafColumns:h,fixedLeafColumns:v,rightFixedLeafColumns:m,updateOrderFns:f,leafColumnsLength:_,fixedLeafColumnsLength:g,rightFixedLeafColumnsLength:y,isAllSelected:w,selection:x,reserveSelection:$,selectOnIndeterminate:T,selectable:R,filters:P,filteredData:L,sortingColumn:V,sortProp:B,sortOrder:j,hoverRow:te,...we,...We,...tt}}}function b2(e,t){return e.map(o=>{var r;return o.id===t.id?t:((r=o.children)!=null&&r.length&&(o.children=b2(o.children,t)),o)})}function _2(e){e.forEach(t=>{var o,r;t.no=(o=t.getColumnIndex)==null?void 0:o.call(t),(r=t.children)!=null&&r.length&&_2(t.children)}),e.sort((t,o)=>t.no-o.no)}function fne(){const e=wt(),t=pne();return{ns:ze("table"),...t,mutations:{setData(a,i){const c=s(a._data)!==i;a.data.value=i,a._data.value=i,e.store.execQuery(),e.store.updateCurrentRowData(),e.store.updateExpandRows(),e.store.updateTreeData(e.store.states.defaultExpandAll.value),s(a.reserveSelection)?(e.store.assertRowKey(),e.store.updateSelectionByRowKey()):c?e.store.clearSelection():e.store.cleanSelection(),e.store.updateAllSelected(),e.$ready&&e.store.scheduleLayout()},insertColumn(a,i,c,d){const u=s(a._columns);let p=[];c?(c&&!c.children&&(c.children=[]),c.children.push(i),p=b2(u,c)):(u.push(i),p=u),_2(p),a._columns.value=p,a.updateOrderFns.push(d),i.type==="selection"&&(a.selectable.value=i.selectable,a.reserveSelection.value=i.reserveSelection),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},updateColumnOrder(a,i){var c;((c=i.getColumnIndex)==null?void 0:c.call(i))!==i.no&&(_2(a._columns.value),e.$ready&&e.store.updateColumns())},removeColumn(a,i,c,d){const u=s(a._columns)||[];if(c)c.children.splice(c.children.findIndex(h=>h.id===i.id),1),et(()=>{var h;((h=c.children)==null?void 0:h.length)===0&&delete c.children}),a._columns.value=b2(u,c);else{const h=u.indexOf(i);h>-1&&(u.splice(h,1),a._columns.value=u)}const p=a.updateOrderFns.indexOf(d);p>-1&&a.updateOrderFns.splice(p,1),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},sort(a,i){const{prop:c,order:d,init:u}=i;if(c){const p=s(a.columns).find(h=>h.property===c);p&&(p.order=d,e.store.updateSort(p,c,d),e.store.commit("changeSortCondition",{init:u}))}},changeSortCondition(a,i){const{sortingColumn:c,sortProp:d,sortOrder:u}=a,p=s(c),h=s(d),v=s(u);v===null&&(a.sortingColumn.value=null,a.sortProp.value=null);const m={filter:!0};e.store.execQuery(m),(!i||!(i.silent||i.init))&&e.emit("sort-change",{column:p,prop:h,order:v}),e.store.updateTableScrollY()},filterChange(a,i){const{column:c,values:d,silent:u}=i,p=e.store.updateFilters(c,d);e.store.execQuery(),u||e.emit("filter-change",p),e.store.updateTableScrollY()},toggleAllSelection(){e.store.toggleAllSelection()},rowSelectedChanged(a,i){e.store.toggleRowSelection(i),e.store.updateAllSelected()},setHoverRow(a,i){a.hoverRow.value=i},setCurrentRow(a,i){e.store.updateCurrentRow(i)}},commit:function(a,...i){const c=e.store.mutations;if(c[a])c[a].apply(e,[e.store.states].concat(i));else throw new Error(`Action not found: ${a}`)},updateTableScrollY:function(){et(()=>e.layout.updateScrollY.apply(e.layout))}}}const Wc={rowKey:"rowKey",defaultExpandAll:"defaultExpandAll",selectOnIndeterminate:"selectOnIndeterminate",indent:"indent",lazy:"lazy",data:"data","treeProps.hasChildren":{key:"lazyColumnIdentifier",default:"hasChildren"},"treeProps.children":{key:"childrenColumnName",default:"children"}};function hne(e,t){if(!e)throw new Error("Table is required.");const o=fne();return o.toggleAllSelection=Mr(o._toggleAllSelection,10),Object.keys(Wc).forEach(r=>{R8(L8(t,r),r,o)}),vne(o,t),o}function vne(e,t){Object.keys(Wc).forEach(o=>{Se(()=>L8(t,o),r=>{R8(r,o,e)})})}function R8(e,t,o){let r=e,l=Wc[t];typeof Wc[t]=="object"&&(l=l.key,r=r||Wc[t].default),o.states[l].value=r}function L8(e,t){if(t.includes(".")){const o=t.split(".");let r=e;return o.forEach(l=>{r=r[l]}),r}else return e[t]}class mne{constructor(t){this.observers=[],this.table=null,this.store=null,this.columns=[],this.fit=!0,this.showHeader=!0,this.height=D(null),this.scrollX=D(!1),this.scrollY=D(!1),this.bodyWidth=D(null),this.fixedWidth=D(null),this.rightFixedWidth=D(null),this.gutterWidth=0;for(const o in t)Pt(t,o)&&(Zt(this[o])?this[o].value=t[o]:this[o]=t[o]);if(!this.table)throw new Error("Table is required for Table Layout");if(!this.store)throw new Error("Store is required for Table Layout")}updateScrollY(){if(this.height.value===null)return!1;const o=this.table.refs.scrollBarRef;if(this.table.vnode.el&&(o!=null&&o.wrapRef)){let r=!0;const l=this.scrollY.value;return r=o.wrapRef.scrollHeight>o.wrapRef.clientHeight,this.scrollY.value=r,l!==r}return!1}setHeight(t,o="height"){if(!Nt)return;const r=this.table.vnode.el;if(t=lne(t),this.height.value=Number(t),!r&&(t||t===0))return et(()=>this.setHeight(t,o));typeof t=="number"?(r.style[o]=`${t}px`,this.updateElsHeight()):typeof t=="string"&&(r.style[o]=t,this.updateElsHeight())}setMaxHeight(t){this.setHeight(t,"max-height")}getFlattenColumns(){const t=[];return this.table.store.states.columns.value.forEach(r=>{r.isColumnGroup?t.push.apply(t,r.columns):t.push(r)}),t}updateElsHeight(){this.updateScrollY(),this.notifyObservers("scrollable")}headerDisplayNone(t){if(!t)return!0;let o=t;for(;o.tagName!=="DIV";){if(getComputedStyle(o).display==="none")return!0;o=o.parentElement}return!1}updateColumnsWidth(){if(!Nt)return;const t=this.fit,o=this.table.vnode.el.clientWidth;let r=0;const l=this.getFlattenColumns(),n=l.filter(c=>typeof c.width!="number");if(l.forEach(c=>{typeof c.width=="number"&&c.realWidth&&(c.realWidth=null)}),n.length>0&&t){if(l.forEach(c=>{r+=Number(c.width||c.minWidth||80)}),r<=o){this.scrollX.value=!1;const c=o-r;if(n.length===1)n[0].realWidth=Number(n[0].minWidth||80)+c;else{const d=n.reduce((h,v)=>h+Number(v.minWidth||80),0),u=c/d;let p=0;n.forEach((h,v)=>{if(v===0)return;const m=Math.floor(Number(h.minWidth||80)*u);p+=m,h.realWidth=Number(h.minWidth||80)+m}),n[0].realWidth=Number(n[0].minWidth||80)+c-p}}else this.scrollX.value=!0,n.forEach(c=>{c.realWidth=Number(c.minWidth)});this.bodyWidth.value=Math.max(r,o),this.table.state.resizeState.value.width=this.bodyWidth.value}else l.forEach(c=>{!c.width&&!c.minWidth?c.realWidth=80:c.realWidth=Number(c.width||c.minWidth),r+=c.realWidth}),this.scrollX.value=r>o,this.bodyWidth.value=r;const a=this.store.states.fixedColumns.value;if(a.length>0){let c=0;a.forEach(d=>{c+=Number(d.realWidth||d.width)}),this.fixedWidth.value=c}const i=this.store.states.rightFixedColumns.value;if(i.length>0){let c=0;i.forEach(d=>{c+=Number(d.realWidth||d.width)}),this.rightFixedWidth.value=c}this.notifyObservers("columns")}addObserver(t){this.observers.push(t)}removeObserver(t){const o=this.observers.indexOf(t);o!==-1&&this.observers.splice(o,1)}notifyObservers(t){this.observers.forEach(r=>{var l,n;switch(t){case"columns":(l=r.state)==null||l.onColumnsChange(this);break;case"scrollable":(n=r.state)==null||n.onScrollableChange(this);break;default:throw new Error(`Table Layout don't have event ${t}.`)}})}}const{CheckboxGroup:gne}=rl,bne=N({name:"ElTableFilterPanel",components:{ElCheckbox:rl,ElCheckboxGroup:gne,ElScrollbar:wn,ElTooltip:ur,ElIcon:Ze,ArrowDown:Pl,ArrowUp:Ad},directives:{ClickOutside:xn},props:{placement:{type:String,default:"bottom-start"},store:{type:Object},column:{type:Object},upDataColumn:{type:Function}},setup(e){const t=wt(),{t:o}=Rt(),r=ze("table-filter"),l=t==null?void 0:t.parent;l.filterPanels.value[e.column.id]||(l.filterPanels.value[e.column.id]=t);const n=D(!1),a=D(null),i=C(()=>e.column&&e.column.filters),c=C(()=>e.column.filterClassName?`${r.b()} ${e.column.filterClassName}`:r.b()),d=C({get:()=>{var $;return((($=e.column)==null?void 0:$.filteredValue)||[])[0]},set:$=>{u.value&&(typeof $<"u"&&$!==null?u.value.splice(0,1,$):u.value.splice(0,1))}}),u=C({get(){return e.column?e.column.filteredValue||[]:[]},set($){e.column&&e.upDataColumn("filteredValue",$)}}),p=C(()=>e.column?e.column.filterMultiple:!0),h=$=>$.value===d.value,v=()=>{n.value=!1},m=$=>{$.stopPropagation(),n.value=!n.value},f=()=>{n.value=!1},_=()=>{w(u.value),v()},g=()=>{u.value=[],w(u.value),v()},y=$=>{d.value=$,w(typeof $<"u"&&$!==null?u.value:[]),v()},w=$=>{e.store.commit("filterChange",{column:e.column,values:$}),e.store.updateAllSelected()};Se(n,$=>{e.column&&e.upDataColumn("filterOpened",$)},{immediate:!0});const x=C(()=>{var $,T;return(T=($=a.value)==null?void 0:$.popperRef)==null?void 0:T.contentRef});return{tooltipVisible:n,multiple:p,filterClassName:c,filteredValue:u,filterValue:d,filters:i,handleConfirm:_,handleReset:g,handleSelect:y,isActive:h,t:o,ns:r,showFilterPanel:m,hideFilterPanel:f,popperPaneRef:x,tooltip:a}}}),_ne={key:0},wne=["disabled"],yne=["label","onClick"];function xne(e,t,o,r,l,n){const a=nt("el-checkbox"),i=nt("el-checkbox-group"),c=nt("el-scrollbar"),d=nt("arrow-up"),u=nt("arrow-down"),p=nt("el-icon"),h=nt("el-tooltip"),v=Ou("click-outside");return b(),he(h,{ref:"tooltip",visible:e.tooltipVisible,offset:0,placement:e.placement,"show-arrow":!1,"stop-popper-mouse-event":!1,teleported:"",effect:"light",pure:"","popper-class":e.filterClassName,persistent:""},{content:le(()=>[e.multiple?(b(),M("div",_ne,[E("div",{class:O(e.ns.e("content"))},[ee(c,{"wrap-class":e.ns.e("wrap")},{default:le(()=>[ee(i,{modelValue:e.filteredValue,"onUpdate:modelValue":t[0]||(t[0]=m=>e.filteredValue=m),class:O(e.ns.e("checkbox-group"))},{default:le(()=>[(b(!0),M(Qe,null,It(e.filters,m=>(b(),he(a,{key:m.value,value:m.value},{default:le(()=>[Ct($e(m.text),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue","class"])]),_:1},8,["wrap-class"])],2),E("div",{class:O(e.ns.e("bottom"))},[E("button",{class:O({[e.ns.is("disabled")]:e.filteredValue.length===0}),disabled:e.filteredValue.length===0,type:"button",onClick:t[1]||(t[1]=(...m)=>e.handleConfirm&&e.handleConfirm(...m))},$e(e.t("el.table.confirmFilter")),11,wne),E("button",{type:"button",onClick:t[2]||(t[2]=(...m)=>e.handleReset&&e.handleReset(...m))},$e(e.t("el.table.resetFilter")),1)],2)])):(b(),M("ul",{key:1,class:O(e.ns.e("list"))},[E("li",{class:O([e.ns.e("list-item"),{[e.ns.is("active")]:e.filterValue===void 0||e.filterValue===null}]),onClick:t[3]||(t[3]=m=>e.handleSelect(null))},$e(e.t("el.table.clearFilter")),3),(b(!0),M(Qe,null,It(e.filters,m=>(b(),M("li",{key:m.value,class:O([e.ns.e("list-item"),e.ns.is("active",e.isActive(m))]),label:m.value,onClick:f=>e.handleSelect(m.value)},$e(m.text),11,yne))),128))],2))]),default:le(()=>[mt((b(),M("span",{class:O([`${e.ns.namespace.value}-table__column-filter-trigger`,`${e.ns.namespace.value}-none-outline`]),onClick:t[4]||(t[4]=(...m)=>e.showFilterPanel&&e.showFilterPanel(...m))},[ee(p,null,{default:le(()=>[e.column.filterOpened?(b(),he(d,{key:0})):(b(),he(u,{key:1}))]),_:1})],2)),[[v,e.hideFilterPanel,e.popperPaneRef]])]),_:1},8,["visible","placement","popper-class"])}var kne=Le(bne,[["render",xne],["__file","filter-panel.vue"]]);function B8(e){const t=wt();Pu(()=>{o.value.addObserver(t)}),ft(()=>{r(o.value),l(o.value)}),rn(()=>{r(o.value),l(o.value)}),Rn(()=>{o.value.removeObserver(t)});const o=C(()=>{const n=e.layout;if(!n)throw new Error("Can not find table layout.");return n}),r=n=>{var a;const i=((a=e.vnode.el)==null?void 0:a.querySelectorAll("colgroup > col"))||[];if(!i.length)return;const c=n.getFlattenColumns(),d={};c.forEach(u=>{d[u.id]=u});for(let u=0,p=i.length;u{var a,i;const c=((a=e.vnode.el)==null?void 0:a.querySelectorAll("colgroup > col[name=gutter]"))||[];for(let u=0,p=c.length;u{f.stopPropagation()},n=(f,_)=>{!_.filters&&_.sortable?m(f,_,!1):_.filterable&&!_.sortable&&l(f),r==null||r.emit("header-click",_,f)},a=(f,_)=>{r==null||r.emit("header-contextmenu",_,f)},i=D(null),c=D(!1),d=D({}),u=(f,_)=>{if(Nt&&!(_.children&&_.children.length>0)&&i.value&&e.border){c.value=!0;const g=r;t("set-drag-visible",!0);const w=(g==null?void 0:g.vnode.el).getBoundingClientRect().left,x=o.vnode.el.querySelector(`th.${_.id}`),$=x.getBoundingClientRect(),T=$.left-w+30;Zr(x,"noclick"),d.value={startMouseLeft:f.clientX,startLeft:$.right-w,startColumnLeft:$.left-w,tableLeft:w};const R=g==null?void 0:g.refs.resizeProxy;R.style.left=`${d.value.startLeft}px`,document.onselectstart=function(){return!1},document.ondragstart=function(){return!1};const P=V=>{const B=V.clientX-d.value.startMouseLeft,j=d.value.startLeft+B;R.style.left=`${Math.max(T,j)}px`},L=()=>{if(c.value){const{startColumnLeft:V,startLeft:B}=d.value,te=Number.parseInt(R.style.left,10)-V;_.width=_.realWidth=te,g==null||g.emit("header-dragend",_.width,B-V,_,f),requestAnimationFrame(()=>{e.store.scheduleLayout(!1,!0)}),document.body.style.cursor="",c.value=!1,i.value=null,d.value={},t("set-drag-visible",!1)}document.removeEventListener("mousemove",P),document.removeEventListener("mouseup",L),document.onselectstart=null,document.ondragstart=null,setTimeout(()=>{ar(x,"noclick")},0)};document.addEventListener("mousemove",P),document.addEventListener("mouseup",L)}},p=(f,_)=>{if(_.children&&_.children.length>0)return;const g=f.target;if(!Gr(g))return;const y=g==null?void 0:g.closest("th");if(!(!_||!_.resizable)&&!c.value&&e.border){const w=y.getBoundingClientRect(),x=document.body.style;w.width>12&&w.right-f.pageX<8?(x.cursor="col-resize",Xr(y,"is-sortable")&&(y.style.cursor="col-resize"),i.value=_):c.value||(x.cursor="",Xr(y,"is-sortable")&&(y.style.cursor="pointer"),i.value=null)}},h=()=>{Nt&&(document.body.style.cursor="")},v=({order:f,sortOrders:_})=>{if(f==="")return _[0];const g=_.indexOf(f||null);return _[g>_.length-2?0:g+1]},m=(f,_,g)=>{var y;f.stopPropagation();const w=_.order===g?null:g||v(_),x=(y=f.target)==null?void 0:y.closest("th");if(x&&Xr(x,"noclick")){ar(x,"noclick");return}if(!_.sortable)return;const $=e.store.states;let T=$.sortProp.value,R;const P=$.sortingColumn.value;(P!==_||P===_&&P.order===null)&&(P&&(P.order=null),$.sortingColumn.value=_,T=_.property),w?R=_.order=w:R=_.order=null,$.sortProp.value=T,$.sortOrder.value=R,r==null||r.store.commit("changeSortCondition")};return{handleHeaderClick:n,handleHeaderContextMenu:a,handleMouseDown:u,handleMouseMove:p,handleMouseOut:h,handleSortClick:m,handleFilterClick:l}}function Sne(e){const t=Ge(Ul),o=ze("table");return{getHeaderRowStyle:i=>{const c=t==null?void 0:t.props.headerRowStyle;return typeof c=="function"?c.call(null,{rowIndex:i}):c},getHeaderRowClass:i=>{const c=[],d=t==null?void 0:t.props.headerRowClassName;return typeof d=="string"?c.push(d):typeof d=="function"&&c.push(d.call(null,{rowIndex:i})),c.join(" ")},getHeaderCellStyle:(i,c,d,u)=>{var p;let h=(p=t==null?void 0:t.props.headerCellStyle)!=null?p:{};typeof h=="function"&&(h=h.call(null,{rowIndex:i,columnIndex:c,row:d,column:u}));const v=g2(c,u.fixed,e.store,d);return ds(v,"left"),ds(v,"right"),Object.assign({},h,v)},getHeaderCellClass:(i,c,d,u)=>{const p=m2(o.b(),c,u.fixed,e.store,d),h=[u.id,u.order,u.headerAlign,u.className,u.labelClassName,...p];u.children||h.push("is-leaf"),u.sortable&&h.push("is-sortable");const v=t==null?void 0:t.props.headerCellClassName;return typeof v=="string"?h.push(v):typeof v=="function"&&h.push(v.call(null,{rowIndex:i,columnIndex:c,row:d,column:u})),h.push(o.e("cell")),h.filter(m=>!!m).join(" ")}}}const V8=e=>{const t=[];return e.forEach(o=>{o.children?(t.push(o),t.push.apply(t,V8(o.children))):t.push(o)}),t},D8=e=>{let t=1;const o=(n,a)=>{if(a&&(n.level=a.level+1,t{o(c,n),i+=c.colSpan}),n.colSpan=i}else n.colSpan=1};e.forEach(n=>{n.level=1,o(n,void 0)});const r=[];for(let n=0;n{n.children?(n.rowSpan=1,n.children.forEach(a=>a.isSubColumn=!0)):n.rowSpan=t-n.level+1,r[n.level-1].push(n)}),r};function Ene(e){const t=Ge(Ul),o=C(()=>D8(e.store.states.originColumns.value));return{isGroup:C(()=>{const n=o.value.length>1;return n&&t&&(t.state.isGroup.value=!0),n}),toggleAllSelection:n=>{n.stopPropagation(),t==null||t.store.commit("toggleAllSelection")},columnRows:o}}var Tne=N({name:"ElTableHeader",components:{ElCheckbox:rl},props:{fixed:{type:String,default:""},store:{required:!0,type:Object},border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})}},setup(e,{emit:t}){const o=wt(),r=Ge(Ul),l=ze("table"),n=D({}),{onColumnsChange:a,onScrollableChange:i}=B8(r);ft(async()=>{await et(),await et();const{prop:T,order:R}=e.defaultSort;r==null||r.store.commit("sort",{prop:T,order:R,init:!0})});const{handleHeaderClick:c,handleHeaderContextMenu:d,handleMouseDown:u,handleMouseMove:p,handleMouseOut:h,handleSortClick:v,handleFilterClick:m}=Cne(e,t),{getHeaderRowStyle:f,getHeaderRowClass:_,getHeaderCellStyle:g,getHeaderCellClass:y}=Sne(e),{isGroup:w,toggleAllSelection:x,columnRows:$}=Ene(e);return o.state={onColumnsChange:a,onScrollableChange:i},o.filterPanels=n,{ns:l,filterPanels:n,onColumnsChange:a,onScrollableChange:i,columnRows:$,getHeaderRowClass:_,getHeaderRowStyle:f,getHeaderCellClass:y,getHeaderCellStyle:g,handleHeaderClick:c,handleHeaderContextMenu:d,handleMouseDown:u,handleMouseMove:p,handleMouseOut:h,handleSortClick:v,handleFilterClick:m,isGroup:w,toggleAllSelection:x}},render(){const{ns:e,isGroup:t,columnRows:o,getHeaderCellStyle:r,getHeaderCellClass:l,getHeaderRowClass:n,getHeaderRowStyle:a,handleHeaderClick:i,handleHeaderContextMenu:c,handleMouseDown:d,handleMouseMove:u,handleSortClick:p,handleMouseOut:h,store:v,$parent:m}=this;let f=1;return rt("thead",{class:{[e.is("group")]:t}},o.map((_,g)=>rt("tr",{class:n(g),key:g,style:a(g)},_.map((y,w)=>(y.rowSpan>f&&(f=y.rowSpan),rt("th",{class:l(g,w,_,y),colspan:y.colSpan,key:`${y.id}-thead`,rowspan:y.rowSpan,style:r(g,w,_,y),onClick:x=>{x.currentTarget.classList.contains("noclick")||i(x,y)},onContextmenu:x=>c(x,y),onMousedown:x=>d(x,y),onMousemove:x=>u(x,y),onMouseout:h},[rt("div",{class:["cell",y.filteredValue&&y.filteredValue.length>0?"highlight":""]},[y.renderHeader?y.renderHeader({column:y,$index:w,store:v,_self:m}):y.label,y.sortable&&rt("span",{onClick:x=>p(x,y),class:"caret-wrapper"},[rt("i",{onClick:x=>p(x,y,"ascending"),class:"sort-caret ascending"}),rt("i",{onClick:x=>p(x,y,"descending"),class:"sort-caret descending"})]),y.filterable&&rt(kne,{store:v,placement:y.filterPlacement||"bottom-start",column:y,upDataColumn:(x,$)=>{y[x]=$}})])]))))))}});function w2(e,t,o=.01){return e-t>o}function $ne(e){const t=Ge(Ul),o=D(""),r=D(rt("div")),l=(m,f,_)=>{var g;const y=t,w=h2(m);let x;const $=(g=y==null?void 0:y.vnode.el)==null?void 0:g.dataset.prefix;w&&(x=A8({columns:e.store.states.columns.value},w,$),x&&(y==null||y.emit(`cell-${_}`,f,x,w,m))),y==null||y.emit(`row-${_}`,f,x,m)},n=(m,f)=>{l(m,f,"dblclick")},a=(m,f)=>{e.store.commit("setCurrentRow",f),l(m,f,"click")},i=(m,f)=>{l(m,f,"contextmenu")},c=Mr(m=>{e.store.commit("setHoverRow",m)},30),d=Mr(()=>{e.store.commit("setHoverRow",null)},30),u=m=>{const f=window.getComputedStyle(m,null),_=Number.parseInt(f.paddingLeft,10)||0,g=Number.parseInt(f.paddingRight,10)||0,y=Number.parseInt(f.paddingTop,10)||0,w=Number.parseInt(f.paddingBottom,10)||0;return{left:_,right:g,top:y,bottom:w}},p=(m,f,_)=>{let g=f.target.parentNode;for(;m>1&&(g=g==null?void 0:g.nextSibling,!(!g||g.nodeName!=="TR"));)_(g,"hover-row hover-fixed-row"),m--};return{handleDoubleClick:n,handleClick:a,handleContextMenu:i,handleMouseEnter:c,handleMouseLeave:d,handleCellMouseEnter:(m,f,_)=>{var g;const y=t,w=h2(m),x=(g=y==null?void 0:y.vnode.el)==null?void 0:g.dataset.prefix;if(w){const I=A8({columns:e.store.states.columns.value},w,x);w.rowSpan>1&&p(w.rowSpan,m,Zr);const U=y.hoverState={cell:w,column:I,row:f};y==null||y.emit("cell-mouse-enter",U.row,U.column,U.cell,m)}if(!_)return;const $=m.target.querySelector(".cell");if(!(Xr($,`${x}-tooltip`)&&$.childNodes.length))return;const T=document.createRange();T.setStart($,0),T.setEnd($,$.childNodes.length);let{width:R,height:P}=T.getBoundingClientRect();const L=R-Math.floor(R),{width:V,height:B}=$.getBoundingClientRect();L<.001&&(R=Math.floor(R)),P-Math.floor(P)<.001&&(P=Math.floor(P));const{top:te,left:J,right:Z,bottom:H}=u($),F=J+Z,K=te+H;(w2(R+F,V)||w2(P+K,B)||w2($.scrollWidth,V))&&ine(_,w.innerText||w.textContent,w,y)},handleCellMouseLeave:m=>{const f=h2(m);if(!f)return;f.rowSpan>1&&p(f.rowSpan,m,ar);const _=t==null?void 0:t.hoverState;t==null||t.emit("cell-mouse-leave",_==null?void 0:_.row,_==null?void 0:_.column,_==null?void 0:_.cell,m)},tooltipContent:o,tooltipTrigger:r}}function Mne(e){const t=Ge(Ul),o=ze("table");return{getRowStyle:(d,u)=>{const p=t==null?void 0:t.props.rowStyle;return typeof p=="function"?p.call(null,{row:d,rowIndex:u}):p||null},getRowClass:(d,u)=>{const p=[o.e("row")];t!=null&&t.props.highlightCurrentRow&&d===e.store.states.currentRow.value&&p.push("current-row"),e.stripe&&u%2===1&&p.push(o.em("row","striped"));const h=t==null?void 0:t.props.rowClassName;return typeof h=="string"?p.push(h):typeof h=="function"&&p.push(h.call(null,{row:d,rowIndex:u})),p},getCellStyle:(d,u,p,h)=>{const v=t==null?void 0:t.props.cellStyle;let m=v??{};typeof v=="function"&&(m=v.call(null,{rowIndex:d,columnIndex:u,row:p,column:h}));const f=g2(u,e==null?void 0:e.fixed,e.store);return ds(f,"left"),ds(f,"right"),Object.assign({},m,f)},getCellClass:(d,u,p,h,v)=>{const m=m2(o.b(),u,e==null?void 0:e.fixed,e.store,void 0,v),f=[h.id,h.align,h.className,...m],_=t==null?void 0:t.props.cellClassName;return typeof _=="string"?f.push(_):typeof _=="function"&&f.push(_.call(null,{rowIndex:d,columnIndex:u,row:p,column:h})),f.push(o.e("cell")),f.filter(g=>!!g).join(" ")},getSpan:(d,u,p,h)=>{let v=1,m=1;const f=t==null?void 0:t.props.spanMethod;if(typeof f=="function"){const _=f({row:d,column:u,rowIndex:p,columnIndex:h});Array.isArray(_)?(v=_[0],m=_[1]):typeof _=="object"&&(v=_.rowspan,m=_.colspan)}return{rowspan:v,colspan:m}},getColspanRealWidth:(d,u,p)=>{if(u<1)return d[p].realWidth;const h=d.map(({realWidth:v,width:m})=>v||m).slice(p,p+u);return Number(h.reduce((v,m)=>Number(v)+Number(m),-1))}}}function Ane(e){const t=Ge(Ul),o=ze("table"),{handleDoubleClick:r,handleClick:l,handleContextMenu:n,handleMouseEnter:a,handleMouseLeave:i,handleCellMouseEnter:c,handleCellMouseLeave:d,tooltipContent:u,tooltipTrigger:p}=$ne(e),{getRowStyle:h,getRowClass:v,getCellStyle:m,getCellClass:f,getSpan:_,getColspanRealWidth:g}=Mne(e),y=C(()=>e.store.states.columns.value.findIndex(({type:R})=>R==="default")),w=(R,P)=>{const L=t.props.rowKey;return L?tr(R,L):P},x=(R,P,L,V=!1)=>{const{tooltipEffect:B,tooltipOptions:j,store:te}=e,{indent:J,columns:Z}=te.states,H=v(R,P);let F=!0;return L&&(H.push(o.em("row",`level-${L.level}`)),F=L.display),rt("tr",{style:[F?null:{display:"none"},h(R,P)],class:H,key:w(R,P),onDblclick:I=>r(I,R),onClick:I=>l(I,R),onContextmenu:I=>n(I,R),onMouseenter:()=>a(P),onMouseleave:i},Z.value.map((I,U)=>{const{rowspan:oe,colspan:ne}=_(R,I,P,U);if(!oe||!ne)return null;const ce=Object.assign({},I);ce.realWidth=g(Z.value,ne,U);const Q={store:e.store,_self:e.context||t,column:ce,row:R,$index:P,cellIndex:U,expanded:V};U===y.value&&L&&(Q.treeNode={indent:L.level*J.value,level:L.level},typeof L.expanded=="boolean"&&(Q.treeNode.expanded=L.expanded,"loading"in L&&(Q.treeNode.loading=L.loading),"noLazyChildren"in L&&(Q.treeNode.noLazyChildren=L.noLazyChildren)));const Me=`${w(R,P)},${U}`,de=ce.columnKey||ce.rawColumnKey||"",_e=$(U,I,Q),me=I.showOverflowTooltip&&Iz({effect:B},j,I.showOverflowTooltip);return rt("td",{style:m(P,U,R,I),class:f(P,U,R,I,ne-1),key:`${de}${Me}`,rowspan:oe,colspan:ne,onMouseenter:Re=>c(Re,R,me),onMouseleave:d},[_e])}))},$=(R,P,L)=>P.renderCell(L);return{wrappedRowRender:(R,P)=>{const L=e.store,{isRowExpanded:V,assertRowKey:B}=L,{treeData:j,lazyTreeNodeMap:te,childrenColumnName:J,rowKey:Z}=L.states,H=L.states.columns.value;if(H.some(({type:K})=>K==="expand")){const K=V(R),I=x(R,P,void 0,K),U=t.renderExpanded;return K?U?[[I,rt("tr",{key:`expanded-row__${I.key}`},[rt("td",{colspan:H.length,class:`${o.e("cell")} ${o.e("expanded-cell")}`},[U({row:R,$index:P,store:L,expanded:K})])])]]:(console.error("[Element Error]renderExpanded is required."),I):[[I]]}else if(Object.keys(j.value).length){B();const K=tr(R,Z.value);let I=j.value[K],U=null;I&&(U={expanded:I.expanded,level:I.level,display:!0},typeof I.lazy=="boolean"&&(typeof I.loaded=="boolean"&&I.loaded&&(U.noLazyChildren=!(I.children&&I.children.length)),U.loading=I.loading));const oe=[x(R,P,U)];if(I){let ne=0;const ce=(Me,de)=>{Me&&Me.length&&de&&Me.forEach(_e=>{const me={display:de.display&&de.expanded,level:de.level+1,expanded:!1,noLazyChildren:!1,loading:!1},Re=tr(_e,Z.value);if(Re==null)throw new Error("For nested data item, row-key is required.");if(I={...j.value[Re]},I&&(me.expanded=I.expanded,I.level=I.level||me.level,I.display=!!(I.expanded&&me.display),typeof I.lazy=="boolean"&&(typeof I.loaded=="boolean"&&I.loaded&&(me.noLazyChildren=!(I.children&&I.children.length)),me.loading=I.loading)),ne++,oe.push(x(_e,P+ne,me)),I){const Ce=te.value[Re]||_e[J.value];ce(Ce,I)}})};I.display=!0;const Q=te.value[K]||R[J.value];ce(Q,I)}return oe}else return x(R,P,void 0)},tooltipContent:u,tooltipTrigger:p}}var zne=N({name:"ElTableBody",props:{store:{required:!0,type:Object},stripe:Boolean,tooltipEffect:String,tooltipOptions:{type:Object},context:{default:()=>({}),type:Object},rowClassName:[String,Function],rowStyle:[Object,Function],fixed:{type:String,default:""},highlight:Boolean},setup(e){const t=wt(),o=Ge(Ul),r=ze("table"),{wrappedRowRender:l,tooltipContent:n,tooltipTrigger:a}=Ane(e),{onColumnsChange:i,onScrollableChange:c}=B8(o),d=[];return Se(e.store.states.hoverRow,(u,p)=>{var h;const v=t==null?void 0:t.vnode.el,m=Array.from((v==null?void 0:v.children)||[]).filter(g=>g==null?void 0:g.classList.contains(`${r.e("row")}`));let f=u;const _=(h=m[f])==null?void 0:h.childNodes;if(_!=null&&_.length){let g=0;Array.from(_).reduce((w,x,$)=>{var T,R;return((T=_[$])==null?void 0:T.colSpan)>1&&(g=(R=_[$])==null?void 0:R.colSpan),x.nodeName!=="TD"&&g===0&&w.push($),g>0&&g--,w},[]).forEach(w=>{var x;for(f=u;f>0;){const $=(x=m[f-1])==null?void 0:x.childNodes;if($[w]&&$[w].nodeName==="TD"&&$[w].rowSpan>1){Zr($[w],"hover-cell"),d.push($[w]);break}f--}})}else d.forEach(g=>ar(g,"hover-cell")),d.length=0;!e.store.states.isComplex.value||!Nt||Xn(()=>{const g=m[p],y=m[u];g&&!g.classList.contains("hover-fixed-row")&&ar(g,"hover-row"),y&&Zr(y,"hover-row")})}),Rn(()=>{var u;(u=nl)==null||u()}),{ns:r,onColumnsChange:i,onScrollableChange:c,wrappedRowRender:l,tooltipContent:n,tooltipTrigger:a}},render(){const{wrappedRowRender:e,store:t}=this,o=t.states.data.value||[];return rt("tbody",{tabIndex:-1},[o.reduce((r,l)=>r.concat(e(l,r.length)),[])])}});function Ine(){const e=Ge(Ul),t=e==null?void 0:e.store,o=C(()=>t.states.fixedLeafColumnsLength.value),r=C(()=>t.states.rightFixedColumns.value.length),l=C(()=>t.states.columns.value.length),n=C(()=>t.states.fixedColumns.value.length),a=C(()=>t.states.rightFixedColumns.value.length);return{leftFixedLeafCount:o,rightFixedLeafCount:r,columnsCount:l,leftFixedCount:n,rightFixedCount:a,columns:t.states.columns}}function One(e){const{columns:t}=Ine(),o=ze("table");return{getCellClasses:(n,a)=>{const i=n[a],c=[o.e("cell"),i.id,i.align,i.labelClassName,...m2(o.b(),a,i.fixed,e.store)];return i.className&&c.push(i.className),i.children||c.push(o.is("leaf")),c},getCellStyles:(n,a)=>{const i=g2(a,n.fixed,e.store);return ds(i,"left"),ds(i,"right"),i},columns:t}}var Nne=N({name:"ElTableFooter",props:{fixed:{type:String,default:""},store:{required:!0,type:Object},summaryMethod:Function,sumText:String,border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})}},setup(e){const{getCellClasses:t,getCellStyles:o,columns:r}=One(e);return{ns:ze("table"),getCellClasses:t,getCellStyles:o,columns:r}},render(){const{columns:e,getCellStyles:t,getCellClasses:o,summaryMethod:r,sumText:l}=this,n=this.store.states.data.value;let a=[];return r?a=r({columns:e,data:n}):e.forEach((i,c)=>{if(c===0){a[c]=l;return}const d=n.map(v=>Number(v[i.property])),u=[];let p=!0;d.forEach(v=>{if(!Number.isNaN(+v)){p=!1;const m=`${v}`.split(".")[1];u.push(m?m.length:0)}});const h=Math.max.apply(null,u);p?a[c]="":a[c]=d.reduce((v,m)=>{const f=Number(m);return Number.isNaN(+f)?v:Number.parseFloat((v+m).toFixed(Math.min(h,20)))},0)}),rt(rt("tfoot",[rt("tr",{},[...e.map((i,c)=>rt("td",{key:c,colspan:i.colSpan,rowspan:i.rowSpan,class:o(e,c),style:t(i,c)},[rt("div",{class:["cell",i.labelClassName]},[a[c]])]))])]))}});function Pne(e){return{setCurrentRow:u=>{e.commit("setCurrentRow",u)},getSelectionRows:()=>e.getSelectionRows(),toggleRowSelection:(u,p)=>{e.toggleRowSelection(u,p,!1),e.updateAllSelected()},clearSelection:()=>{e.clearSelection()},clearFilter:u=>{e.clearFilter(u)},toggleAllSelection:()=>{e.commit("toggleAllSelection")},toggleRowExpansion:(u,p)=>{e.toggleRowExpansionAdapter(u,p)},clearSort:()=>{e.clearSort()},sort:(u,p)=>{e.commit("sort",{prop:u,order:p})}}}function Rne(e,t,o,r){const l=D(!1),n=D(null),a=D(!1),i=I=>{a.value=I},c=D({width:null,height:null,headerHeight:null}),d=D(!1),u={display:"inline-block",verticalAlign:"middle"},p=D(),h=D(0),v=D(0),m=D(0),f=D(0),_=D(0);Go(()=>{t.setHeight(e.height)}),Go(()=>{t.setMaxHeight(e.maxHeight)}),Se(()=>[e.currentRowKey,o.states.rowKey],([I,U])=>{!s(U)||!s(I)||o.setCurrentRowKey(`${I}`)},{immediate:!0}),Se(()=>e.data,I=>{r.store.commit("setData",I)},{immediate:!0,deep:!0}),Go(()=>{e.expandRowKeys&&o.setExpandRowKeysAdapter(e.expandRowKeys)});const g=()=>{r.store.commit("setHoverRow",null),r.hoverState&&(r.hoverState=null)},y=(I,U)=>{const{pixelX:oe,pixelY:ne}=U;Math.abs(oe)>=Math.abs(ne)&&(r.refs.bodyWrapper.scrollLeft+=U.pixelX/5)},w=C(()=>e.height||e.maxHeight||o.states.fixedColumns.value.length>0||o.states.rightFixedColumns.value.length>0),x=C(()=>({width:t.bodyWidth.value?`${t.bodyWidth.value}px`:""})),$=()=>{w.value&&t.updateElsHeight(),t.updateColumnsWidth(),requestAnimationFrame(L)};ft(async()=>{await et(),o.updateColumns(),V(),requestAnimationFrame($);const I=r.vnode.el,U=r.refs.headerWrapper;e.flexible&&I&&I.parentElement&&(I.parentElement.style.minWidth="0"),c.value={width:p.value=I.offsetWidth,height:I.offsetHeight,headerHeight:e.showHeader&&U?U.offsetHeight:null},o.states.columns.value.forEach(oe=>{oe.filteredValue&&oe.filteredValue.length&&r.store.commit("filterChange",{column:oe,values:oe.filteredValue,silent:!0})}),r.$ready=!0});const T=(I,U)=>{if(!I)return;const oe=Array.from(I.classList).filter(ne=>!ne.startsWith("is-scrolling-"));oe.push(t.scrollX.value?U:"is-scrolling-none"),I.className=oe.join(" ")},R=I=>{const{tableWrapper:U}=r.refs;T(U,I)},P=I=>{const{tableWrapper:U}=r.refs;return!!(U&&U.classList.contains(I))},L=function(){if(!r.refs.scrollBarRef)return;if(!t.scrollX.value){const de="is-scrolling-none";P(de)||R(de);return}const I=r.refs.scrollBarRef.wrapRef;if(!I)return;const{scrollLeft:U,offsetWidth:oe,scrollWidth:ne}=I,{headerWrapper:ce,footerWrapper:Q}=r.refs;ce&&(ce.scrollLeft=U),Q&&(Q.scrollLeft=U);const Me=ne-oe-1;U>=Me?R("is-scrolling-right"):R(U===0?"is-scrolling-left":"is-scrolling-middle")},V=()=>{r.refs.scrollBarRef&&(r.refs.scrollBarRef.wrapRef&&oo(r.refs.scrollBarRef.wrapRef,"scroll",L,{passive:!0}),e.fit?so(r.vnode.el,B):oo(window,"resize",B),so(r.refs.bodyWrapper,()=>{var I,U;B(),(U=(I=r.refs)==null?void 0:I.scrollBarRef)==null||U.update()}))},B=()=>{var I,U,oe,ne;const ce=r.vnode.el;if(!r.$ready||!ce)return;let Q=!1;const{width:Me,height:de,headerHeight:_e}=c.value,me=p.value=ce.offsetWidth;Me!==me&&(Q=!0);const Re=ce.offsetHeight;(e.height||w.value)&&de!==Re&&(Q=!0);const Ce=e.tableLayout==="fixed"?r.refs.headerWrapper:(I=r.refs.tableHeaderRef)==null?void 0:I.$el;e.showHeader&&(Ce==null?void 0:Ce.offsetHeight)!==_e&&(Q=!0),h.value=((U=r.refs.tableWrapper)==null?void 0:U.scrollHeight)||0,m.value=(Ce==null?void 0:Ce.scrollHeight)||0,f.value=((oe=r.refs.footerWrapper)==null?void 0:oe.offsetHeight)||0,_.value=((ne=r.refs.appendWrapper)==null?void 0:ne.offsetHeight)||0,v.value=h.value-m.value-f.value-_.value,Q&&(c.value={width:me,height:Re,headerHeight:e.showHeader&&(Ce==null?void 0:Ce.offsetHeight)||0},$())},j=So(),te=C(()=>{const{bodyWidth:I,scrollY:U,gutterWidth:oe}=t;return I.value?`${I.value-(U.value?oe:0)}px`:""}),J=C(()=>e.maxHeight?"fixed":e.tableLayout),Z=C(()=>{if(e.data&&e.data.length)return null;let I="100%";e.height&&v.value&&(I=`${v.value}px`);const U=p.value;return{width:U?`${U}px`:"",height:I}}),H=C(()=>e.height?{height:Number.isNaN(Number(e.height))?e.height:`${e.height}px`}:e.maxHeight?{maxHeight:Number.isNaN(Number(e.maxHeight))?e.maxHeight:`${e.maxHeight}px`}:{}),F=C(()=>e.height?{height:"100%"}:e.maxHeight?Number.isNaN(Number(e.maxHeight))?{maxHeight:`calc(${e.maxHeight} - ${m.value+f.value}px)`}:{maxHeight:`${e.maxHeight-m.value-f.value}px`}:{});return{isHidden:l,renderExpanded:n,setDragVisible:i,isGroup:d,handleMouseLeave:g,handleHeaderFooterMousewheel:y,tableSize:j,emptyBlockStyle:Z,handleFixedMousewheel:(I,U)=>{const oe=r.refs.bodyWrapper;if(Math.abs(U.spinY)>0){const ne=oe.scrollTop;U.pixelY<0&&ne!==0&&I.preventDefault(),U.pixelY>0&&oe.scrollHeight-oe.clientHeight>ne&&I.preventDefault(),oe.scrollTop+=Math.ceil(U.pixelY/5)}else oe.scrollLeft+=Math.ceil(U.pixelX/5)},resizeProxyVisible:a,bodyWidth:te,resizeState:c,doLayout:$,tableBodyStyles:x,tableLayout:J,scrollbarViewStyle:u,tableInnerStyle:H,scrollbarStyle:F}}function Lne(e){const t=D(),o=()=>{const l=e.vnode.el.querySelector(".hidden-columns"),n={childList:!0,subtree:!0},a=e.store.states.updateOrderFns;t.value=new MutationObserver(()=>{a.forEach(i=>i())}),t.value.observe(l,n)};ft(()=>{o()}),Rn(()=>{var r;(r=t.value)==null||r.disconnect()})}var Bne={data:{type:Array,default:()=>[]},size:Oo,width:[String,Number],height:[String,Number],maxHeight:[String,Number],fit:{type:Boolean,default:!0},stripe:Boolean,border:Boolean,rowKey:[String,Function],showHeader:{type:Boolean,default:!0},showSummary:Boolean,sumText:String,summaryMethod:Function,rowClassName:[String,Function],rowStyle:[Object,Function],cellClassName:[String,Function],cellStyle:[Object,Function],headerRowClassName:[String,Function],headerRowStyle:[Object,Function],headerCellClassName:[String,Function],headerCellStyle:[Object,Function],highlightCurrentRow:Boolean,currentRowKey:[String,Number],emptyText:String,expandRowKeys:Array,defaultExpandAll:Boolean,defaultSort:Object,tooltipEffect:String,tooltipOptions:Object,spanMethod:Function,selectOnIndeterminate:{type:Boolean,default:!0},indent:{type:Number,default:16},treeProps:{type:Object,default:()=>({hasChildren:"hasChildren",children:"children"})},lazy:Boolean,load:Function,style:{type:Object,default:()=>({})},className:{type:String,default:""},tableLayout:{type:String,default:"fixed"},scrollbarAlwaysOn:Boolean,flexible:Boolean,showOverflowTooltip:[Boolean,Object]};function H8(e){const t=e.tableLayout==="auto";let o=e.columns||[];t&&o.every(l=>l.width===void 0)&&(o=[]);const r=l=>{const n={key:`${e.tableLayout}_${l.id}`,style:{},name:void 0};return t?n.style={width:`${l.width}px`}:n.name=l.id,n};return rt("colgroup",{},o.map(l=>rt("col",r(l))))}H8.props=["columns","tableLayout"];const Vne=()=>{const e=D(),t=(n,a)=>{const i=e.value;i&&i.scrollTo(n,a)},o=(n,a)=>{const i=e.value;i&&st(a)&&["Top","Left"].includes(n)&&i[`setScroll${n}`](a)};return{scrollBarRef:e,scrollTo:t,setScrollTop:n=>o("Top",n),setScrollLeft:n=>o("Left",n)}};let Dne=1;const Hne=N({name:"ElTable",directives:{Mousewheel:lY},components:{TableHeader:Tne,TableBody:zne,TableFooter:Nne,ElScrollbar:wn,hColgroup:H8},props:Bne,emits:["select","select-all","selection-change","cell-mouse-enter","cell-mouse-leave","cell-contextmenu","cell-click","cell-dblclick","row-click","row-contextmenu","row-dblclick","header-click","header-contextmenu","sort-change","filter-change","current-change","header-dragend","expand-change"],setup(e){const{t}=Rt(),o=ze("table"),r=wt();zt(Ul,r);const l=hne(r,e);r.store=l;const n=new mne({store:r.store,table:r,fit:e.fit,showHeader:e.showHeader});r.layout=n;const a=C(()=>(l.states.data.value||[]).length===0),{setCurrentRow:i,getSelectionRows:c,toggleRowSelection:d,clearSelection:u,clearFilter:p,toggleAllSelection:h,toggleRowExpansion:v,clearSort:m,sort:f}=Pne(l),{isHidden:_,renderExpanded:g,setDragVisible:y,isGroup:w,handleMouseLeave:x,handleHeaderFooterMousewheel:$,tableSize:T,emptyBlockStyle:R,handleFixedMousewheel:P,resizeProxyVisible:L,bodyWidth:V,resizeState:B,doLayout:j,tableBodyStyles:te,tableLayout:J,scrollbarViewStyle:Z,tableInnerStyle:H,scrollbarStyle:F}=Rne(e,n,l,r),{scrollBarRef:K,scrollTo:I,setScrollLeft:U,setScrollTop:oe}=Vne(),ne=Mr(j,50),ce=`${o.namespace.value}-table_${Dne++}`;r.tableId=ce,r.state={isGroup:w,resizeState:B,doLayout:j,debouncedUpdateLayout:ne};const Q=C(()=>e.sumText||t("el.table.sumText")),Me=C(()=>e.emptyText||t("el.table.emptyText")),de=C(()=>D8(l.states.originColumns.value)[0]);return Lne(r),{ns:o,layout:n,store:l,columns:de,handleHeaderFooterMousewheel:$,handleMouseLeave:x,tableId:ce,tableSize:T,isHidden:_,isEmpty:a,renderExpanded:g,resizeProxyVisible:L,resizeState:B,isGroup:w,bodyWidth:V,tableBodyStyles:te,emptyBlockStyle:R,debouncedUpdateLayout:ne,handleFixedMousewheel:P,setCurrentRow:i,getSelectionRows:c,toggleRowSelection:d,clearSelection:u,clearFilter:p,toggleAllSelection:h,toggleRowExpansion:v,clearSort:m,doLayout:j,sort:f,t,setDragVisible:y,context:r,computedSumText:Q,computedEmptyText:Me,tableLayout:J,scrollbarViewStyle:Z,tableInnerStyle:H,scrollbarStyle:F,scrollBarRef:K,scrollTo:I,setScrollLeft:U,setScrollTop:oe}}}),Fne=["data-prefix"],jne={ref:"hiddenColumns",class:"hidden-columns"};function Kne(e,t,o,r,l,n){const a=nt("hColgroup"),i=nt("table-header"),c=nt("table-body"),d=nt("table-footer"),u=nt("el-scrollbar"),p=Ou("mousewheel");return b(),M("div",{ref:"tableWrapper",class:O([{[e.ns.m("fit")]:e.fit,[e.ns.m("striped")]:e.stripe,[e.ns.m("border")]:e.border||e.isGroup,[e.ns.m("hidden")]:e.isHidden,[e.ns.m("group")]:e.isGroup,[e.ns.m("fluid-height")]:e.maxHeight,[e.ns.m("scrollable-x")]:e.layout.scrollX.value,[e.ns.m("scrollable-y")]:e.layout.scrollY.value,[e.ns.m("enable-row-hover")]:!e.store.states.isComplex.value,[e.ns.m("enable-row-transition")]:(e.store.states.data.value||[]).length!==0&&(e.store.states.data.value||[]).length<100,"has-footer":e.showSummary},e.ns.m(e.tableSize),e.className,e.ns.b(),e.ns.m(`layout-${e.tableLayout}`)]),style:Je(e.style),"data-prefix":e.ns.namespace.value,onMouseleave:t[0]||(t[0]=(...h)=>e.handleMouseLeave&&e.handleMouseLeave(...h))},[E("div",{class:O(e.ns.e("inner-wrapper")),style:Je(e.tableInnerStyle)},[E("div",jne,[be(e.$slots,"default")],512),e.showHeader&&e.tableLayout==="fixed"?mt((b(),M("div",{key:0,ref:"headerWrapper",class:O(e.ns.e("header-wrapper"))},[E("table",{ref:"tableHeader",class:O(e.ns.e("header")),style:Je(e.tableBodyStyles),border:"0",cellpadding:"0",cellspacing:"0"},[ee(a,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),ee(i,{ref:"tableHeaderRef",border:e.border,"default-sort":e.defaultSort,store:e.store,onSetDragVisible:e.setDragVisible},null,8,["border","default-sort","store","onSetDragVisible"])],6)],2)),[[p,e.handleHeaderFooterMousewheel]]):se("v-if",!0),E("div",{ref:"bodyWrapper",class:O(e.ns.e("body-wrapper"))},[ee(u,{ref:"scrollBarRef","view-style":e.scrollbarViewStyle,"wrap-style":e.scrollbarStyle,always:e.scrollbarAlwaysOn},{default:le(()=>[E("table",{ref:"tableBody",class:O(e.ns.e("body")),cellspacing:"0",cellpadding:"0",border:"0",style:Je({width:e.bodyWidth,tableLayout:e.tableLayout})},[ee(a,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),e.showHeader&&e.tableLayout==="auto"?(b(),he(i,{key:0,ref:"tableHeaderRef",class:O(e.ns.e("body-header")),border:e.border,"default-sort":e.defaultSort,store:e.store,onSetDragVisible:e.setDragVisible},null,8,["class","border","default-sort","store","onSetDragVisible"])):se("v-if",!0),ee(c,{context:e.context,highlight:e.highlightCurrentRow,"row-class-name":e.rowClassName,"tooltip-effect":e.tooltipEffect,"tooltip-options":e.tooltipOptions,"row-style":e.rowStyle,store:e.store,stripe:e.stripe},null,8,["context","highlight","row-class-name","tooltip-effect","tooltip-options","row-style","store","stripe"]),e.showSummary&&e.tableLayout==="auto"?(b(),he(d,{key:1,class:O(e.ns.e("body-footer")),border:e.border,"default-sort":e.defaultSort,store:e.store,"sum-text":e.computedSumText,"summary-method":e.summaryMethod},null,8,["class","border","default-sort","store","sum-text","summary-method"])):se("v-if",!0)],6),e.isEmpty?(b(),M("div",{key:0,ref:"emptyBlock",style:Je(e.emptyBlockStyle),class:O(e.ns.e("empty-block"))},[E("span",{class:O(e.ns.e("empty-text"))},[be(e.$slots,"empty",{},()=>[Ct($e(e.computedEmptyText),1)])],2)],6)):se("v-if",!0),e.$slots.append?(b(),M("div",{key:1,ref:"appendWrapper",class:O(e.ns.e("append-wrapper"))},[be(e.$slots,"append")],2)):se("v-if",!0)]),_:3},8,["view-style","wrap-style","always"])],2),e.showSummary&&e.tableLayout==="fixed"?mt((b(),M("div",{key:1,ref:"footerWrapper",class:O(e.ns.e("footer-wrapper"))},[E("table",{class:O(e.ns.e("footer")),cellspacing:"0",cellpadding:"0",border:"0",style:Je(e.tableBodyStyles)},[ee(a,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),ee(d,{border:e.border,"default-sort":e.defaultSort,store:e.store,"sum-text":e.computedSumText,"summary-method":e.summaryMethod},null,8,["border","default-sort","store","sum-text","summary-method"])],6)],2)),[[Lt,!e.isEmpty],[p,e.handleHeaderFooterMousewheel]]):se("v-if",!0),e.border||e.isGroup?(b(),M("div",{key:2,class:O(e.ns.e("border-left-patch"))},null,2)):se("v-if",!0)],6),mt(E("div",{ref:"resizeProxy",class:O(e.ns.e("column-resize-proxy"))},null,2),[[Lt,e.resizeProxyVisible]])],46,Fne)}var Une=Le(Hne,[["render",Kne],["__file","table.vue"]]);const Wne={selection:"table-column--selection",expand:"table__expand-column"},qne={default:{order:""},selection:{width:48,minWidth:48,realWidth:48,order:""},expand:{width:48,minWidth:48,realWidth:48,order:""},index:{width:48,minWidth:48,realWidth:48,order:""}},Yne=e=>Wne[e]||"",Gne={selection:{renderHeader({store:e,column:t}){function o(){return e.states.data.value&&e.states.data.value.length===0}return rt(rl,{disabled:o(),size:e.states.tableSize.value,indeterminate:e.states.selection.value.length>0&&!e.states.isAllSelected.value,"onUpdate:modelValue":e.toggleAllSelection,modelValue:e.states.isAllSelected.value,ariaLabel:t.label})},renderCell({row:e,column:t,store:o,$index:r}){return rt(rl,{disabled:t.selectable?!t.selectable.call(null,e,r):!1,size:o.states.tableSize.value,onChange:()=>{o.commit("rowSelectedChanged",e)},onClick:l=>l.stopPropagation(),modelValue:o.isSelected(e),ariaLabel:t.label})},sortable:!1,resizable:!1},index:{renderHeader({column:e}){return e.label||"#"},renderCell({column:e,$index:t}){let o=t+1;const r=e.index;return typeof r=="number"?o=t+r:typeof r=="function"&&(o=r(t)),rt("div",{},[o])},sortable:!1},expand:{renderHeader({column:e}){return e.label||""},renderCell({row:e,store:t,expanded:o}){const{ns:r}=t,l=[r.e("expand-icon")];return o&&l.push(r.em("expand-icon","expanded")),rt("div",{class:l,onClick:function(a){a.stopPropagation(),t.toggleRowExpansion(e)}},{default:()=>[rt(Ze,null,{default:()=>[rt(ir)]})]})},sortable:!1,resizable:!1}};function Xne({row:e,column:t,$index:o}){var r;const l=t.property,n=l&&Td(e,l).value;return t&&t.formatter?t.formatter(e,t,n,o):((r=n==null?void 0:n.toString)==null?void 0:r.call(n))||""}function Zne({row:e,treeNode:t,store:o},r=!1){const{ns:l}=o;if(!t)return r?[rt("span",{class:l.e("placeholder")})]:null;const n=[],a=function(i){i.stopPropagation(),!t.loading&&o.loadOrToggle(e)};if(t.indent&&n.push(rt("span",{class:l.e("indent"),style:{"padding-left":`${t.indent}px`}})),typeof t.expanded=="boolean"&&!t.noLazyChildren){const i=[l.e("expand-icon"),t.expanded?l.em("expand-icon","expanded"):""];let c=ir;t.loading&&(c=vn),n.push(rt("div",{class:i,onClick:a},{default:()=>[rt(Ze,{class:{[l.is("loading")]:t.loading}},{default:()=>[rt(c)]})]}))}else n.push(rt("span",{class:l.e("placeholder")}));return n}function F8(e,t){return e.reduce((o,r)=>(o[r]=r,o),t)}function Jne(e,t){const o=wt();return{registerComplexWatchers:()=>{const n=["fixed"],a={realWidth:"width",realMinWidth:"minWidth"},i=F8(n,a);Object.keys(i).forEach(c=>{const d=a[c];Pt(t,d)&&Se(()=>t[d],u=>{let p=u;d==="width"&&c==="realWidth"&&(p=v2(u)),d==="minWidth"&&c==="realMinWidth"&&(p=z8(u)),o.columnConfig.value[d]=p,o.columnConfig.value[c]=p;const h=d==="fixed";e.value.store.scheduleLayout(h)})})},registerNormalWatchers:()=>{const n=["label","filters","filterMultiple","filteredValue","sortable","index","formatter","className","labelClassName","filterClassName","showOverflowTooltip"],a={property:"prop",align:"realAlign",headerAlign:"realHeaderAlign"},i=F8(n,a);Object.keys(i).forEach(c=>{const d=a[c];Pt(t,d)&&Se(()=>t[d],u=>{o.columnConfig.value[c]=u})})}}}function Qne(e,t,o){const r=wt(),l=D(""),n=D(!1),a=D(),i=D(),c=ze("table");Go(()=>{a.value=e.align?`is-${e.align}`:null,a.value}),Go(()=>{i.value=e.headerAlign?`is-${e.headerAlign}`:a.value,i.value});const d=C(()=>{let x=r.vnode.vParent||r.parent;for(;x&&!x.tableId&&!x.columnId;)x=x.vnode.vParent||x.parent;return x}),u=C(()=>{const{store:x}=r.parent;if(!x)return!1;const{treeData:$}=x.states,T=$.value;return T&&Object.keys(T).length>0}),p=D(v2(e.width)),h=D(z8(e.minWidth)),v=x=>(p.value&&(x.width=p.value),h.value&&(x.minWidth=h.value),!p.value&&h.value&&(x.width=void 0),x.minWidth||(x.minWidth=80),x.realWidth=Number(x.width===void 0?x.minWidth:x.width),x),m=x=>{const $=x.type,T=Gne[$]||{};Object.keys(T).forEach(P=>{const L=T[P];P!=="className"&&L!==void 0&&(x[P]=L)});const R=Yne($);if(R){const P=`${s(c.namespace)}-${R}`;x.className=x.className?`${x.className} ${P}`:P}return x},f=x=>{Array.isArray(x)?x.forEach(T=>$(T)):$(x);function $(T){var R;((R=T==null?void 0:T.type)==null?void 0:R.name)==="ElTableColumn"&&(T.vParent=r)}};return{columnId:l,realAlign:a,isSubColumn:n,realHeaderAlign:i,columnOrTableParent:d,setColumnWidth:v,setColumnForcedProps:m,setColumnRenders:x=>{e.renderHeader||x.type!=="selection"&&(x.renderHeader=T=>(r.columnConfig.value.label,be(t,"header",T,()=>[x.label])));let $=x.renderCell;return x.type==="expand"?(x.renderCell=T=>rt("div",{class:"cell"},[$(T)]),o.value.renderExpanded=T=>t.default?t.default(T):t.default):($=$||Xne,x.renderCell=T=>{let R=null;if(t.default){const te=t.default(T);R=te.some(J=>J.type!==Jo)?te:$(T)}else R=$(T);const{columns:P}=o.value.store.states,L=P.value.findIndex(te=>te.type==="default"),V=u.value&&T.cellIndex===L,B=Zne(T,V),j={class:"cell",style:{}};return x.showOverflowTooltip&&(j.class=`${j.class} ${s(c.namespace)}-tooltip`,j.style={width:`${(T.column.realWidth||Number(T.column.width))-1}px`}),f(R),rt("div",j,[B,R])}),x},getPropsData:(...x)=>x.reduce(($,T)=>(Array.isArray(T)&&T.forEach(R=>{$[R]=e[R]}),$),{}),getColumnElIndex:(x,$)=>Array.prototype.indexOf.call(x,$),updateColumnOrder:()=>{o.value.store.commit("updateColumnOrder",r.columnConfig.value)}}}var eae={type:{type:String,default:"default"},label:String,className:String,labelClassName:String,property:String,prop:String,width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},renderHeader:Function,sortable:{type:[Boolean,String],default:!1},sortMethod:Function,sortBy:[String,Function,Array],resizable:{type:Boolean,default:!0},columnKey:String,align:String,headerAlign:String,showOverflowTooltip:{type:[Boolean,Object],default:void 0},fixed:[Boolean,String],formatter:Function,selectable:Function,reserveSelection:Boolean,filterMethod:Function,filteredValue:Array,filters:Array,filterPlacement:String,filterMultiple:{type:Boolean,default:!0},filterClassName:String,index:[Number,Function],sortOrders:{type:Array,default:()=>["ascending","descending",null],validator:e=>e.every(t=>["ascending","descending",null].includes(t))}};let tae=1;var j8=N({name:"ElTableColumn",components:{ElCheckbox:rl},props:eae,setup(e,{slots:t}){const o=wt(),r=D({}),l=C(()=>{let w=o.parent;for(;w&&!w.tableId;)w=w.parent;return w}),{registerNormalWatchers:n,registerComplexWatchers:a}=Jne(l,e),{columnId:i,isSubColumn:c,realHeaderAlign:d,columnOrTableParent:u,setColumnWidth:p,setColumnForcedProps:h,setColumnRenders:v,getPropsData:m,getColumnElIndex:f,realAlign:_,updateColumnOrder:g}=Qne(e,t,l),y=u.value;i.value=`${y.tableId||y.columnId}_column_${tae++}`,Pu(()=>{c.value=l.value!==y;const w=e.type||"default",x=e.sortable===""?!0:e.sortable,$=ko(e.showOverflowTooltip)?y.props.showOverflowTooltip:e.showOverflowTooltip,T={...qne[w],id:i.value,type:w,property:e.prop||e.property,align:_,headerAlign:d,showOverflowTooltip:$,filterable:e.filters||e.filterMethod,filteredValue:[],filterPlacement:"",filterClassName:"",isColumnGroup:!1,isSubColumn:!1,filterOpened:!1,sortable:x,index:e.index,rawColumnKey:o.vnode.key};let B=m(["columnKey","label","className","labelClassName","type","renderHeader","formatter","fixed","resizable"],["sortMethod","sortBy","sortOrders"],["selectable","reserveSelection"],["filterMethod","filters","filterMultiple","filterOpened","filteredValue","filterPlacement","filterClassName"]);B=rne(T,B),B=nne(v,p,h)(B),r.value=B,n(),a()}),ft(()=>{var w;const x=u.value,$=c.value?x.vnode.el.children:(w=x.refs.hiddenColumns)==null?void 0:w.children,T=()=>f($||[],o.vnode.el);r.value.getColumnIndex=T,T()>-1&&l.value.store.commit("insertColumn",r.value,c.value?x.columnConfig.value:null,g)}),to(()=>{r.value.getColumnIndex()>-1&&l.value.store.commit("removeColumn",r.value,c.value?y.columnConfig.value:null,g)}),o.columnId=i.value,o.columnConfig=r},render(){var e,t,o;try{const r=(t=(e=this.$slots).default)==null?void 0:t.call(e,{row:{},column:{},$index:-1}),l=[];if(Array.isArray(r))for(const a of r)((o=a.type)==null?void 0:o.name)==="ElTableColumn"||a.shapeFlag&2?l.push(a):a.type===Qe&&Array.isArray(a.children)&&a.children.forEach(i=>{(i==null?void 0:i.patchFlag)!==1024&&!ut(i==null?void 0:i.children)&&l.push(i)});return rt("div",l)}catch{return rt("div",[])}}});const oae=yt(Une,{TableColumn:j8}),rae=co(j8);var qc=(e=>(e.ASC="asc",e.DESC="desc",e))(qc||{}),Yc=(e=>(e.CENTER="center",e.RIGHT="right",e))(Yc||{}),K8=(e=>(e.LEFT="left",e.RIGHT="right",e))(K8||{});const y2={asc:"desc",desc:"asc"},Gc=Symbol("placeholder"),lae=(e,t,o)=>{var r;const l={flexGrow:0,flexShrink:0,...o?{}:{flexGrow:e.flexGrow||0,flexShrink:e.flexShrink||1}};o||(l.flexShrink=1);const n={...(r=e.style)!=null?r:{},...l,flexBasis:"auto",width:e.width};return t||(e.maxWidth&&(n.maxWidth=e.maxWidth),e.minWidth&&(n.minWidth=e.minWidth)),n};function nae(e,t,o){const r=C(()=>s(t).filter(f=>!f.hidden)),l=C(()=>s(r).filter(f=>f.fixed==="left"||f.fixed===!0)),n=C(()=>s(r).filter(f=>f.fixed==="right")),a=C(()=>s(r).filter(f=>!f.fixed)),i=C(()=>{const f=[];return s(l).forEach(_=>{f.push({..._,placeholderSign:Gc})}),s(a).forEach(_=>{f.push(_)}),s(n).forEach(_=>{f.push({..._,placeholderSign:Gc})}),f}),c=C(()=>s(l).length||s(n).length),d=C(()=>s(t).reduce((_,g)=>(_[g.key]=lae(g,s(o),e.fixed),_),{})),u=C(()=>s(r).reduce((f,_)=>f+_.width,0)),p=f=>s(t).find(_=>_.key===f),h=f=>s(d)[f],v=(f,_)=>{f.width=_};function m(f){var _;const{key:g}=f.currentTarget.dataset;if(!g)return;const{sortState:y,sortBy:w}=e;let x=qc.ASC;xt(y)?x=y2[y[g]]:x=y2[w.order],(_=e.onColumnSort)==null||_.call(e,{column:p(g),key:g,order:x})}return{columns:t,columnsStyles:d,columnsTotalWidth:u,fixedColumnsOnLeft:l,fixedColumnsOnRight:n,hasFixedColumns:c,mainColumns:i,normalColumns:a,visibleColumns:r,getColumn:p,getColumnStyle:h,updateColumnWidth:v,onColumnSorted:m}}const aae=(e,{mainTableRef:t,leftTableRef:o,rightTableRef:r,onMaybeEndReached:l})=>{const n=D({scrollLeft:0,scrollTop:0});function a(v){var m,f,_;const{scrollTop:g}=v;(m=t.value)==null||m.scrollTo(v),(f=o.value)==null||f.scrollToTop(g),(_=r.value)==null||_.scrollToTop(g)}function i(v){n.value=v,a(v)}function c(v){n.value.scrollTop=v,a(s(n))}function d(v){var m,f;n.value.scrollLeft=v,(f=(m=t.value)==null?void 0:m.scrollTo)==null||f.call(m,s(n))}function u(v){var m;i(v),(m=e.onScroll)==null||m.call(e,v)}function p({scrollTop:v}){const{scrollTop:m}=s(n);v!==m&&c(v)}function h(v,m="auto"){var f;(f=t.value)==null||f.scrollToRow(v,m)}return Se(()=>s(n).scrollTop,(v,m)=>{v>m&&l()}),{scrollPos:n,scrollTo:i,scrollToLeft:d,scrollToTop:c,scrollToRow:h,onScroll:u,onVerticalScroll:p}},iae=(e,{mainTableRef:t,leftTableRef:o,rightTableRef:r,tableInstance:l,ns:n,isScrolling:a})=>{const i=wt(),{emit:c}=i,d=lo(!1),u=D(e.defaultExpandedRowKeys||[]),p=D(-1),h=lo(null),v=D({}),m=D({}),f=lo({}),_=lo({}),g=lo({}),y=C(()=>st(e.estimatedRowHeight));function w(V){var B;(B=e.onRowsRendered)==null||B.call(e,V),V.rowCacheEnd>s(p)&&(p.value=V.rowCacheEnd)}function x({hovered:V,rowKey:B}){if(a.value)return;l.vnode.el.querySelectorAll(`[rowkey="${String(B)}"]`).forEach(J=>{V?J.classList.add(n.is("hovered")):J.classList.remove(n.is("hovered"))})}function $({expanded:V,rowData:B,rowIndex:j,rowKey:te}){var J,Z;const H=[...s(u)],F=H.indexOf(te);V?F===-1&&H.push(te):F>-1&&H.splice(F,1),u.value=H,c("update:expandedRowKeys",H),(J=e.onRowExpand)==null||J.call(e,{expanded:V,rowData:B,rowIndex:j,rowKey:te}),(Z=e.onExpandedRowsChange)==null||Z.call(e,H)}const T=Mr(()=>{var V,B,j,te;d.value=!0,v.value={...s(v),...s(m)},R(s(h),!1),m.value={},h.value=null,(V=t.value)==null||V.forceUpdate(),(B=o.value)==null||B.forceUpdate(),(j=r.value)==null||j.forceUpdate(),(te=i.proxy)==null||te.$forceUpdate(),d.value=!1},0);function R(V,B=!1){s(y)&&[t,o,r].forEach(j=>{const te=s(j);te&&te.resetAfterRowIndex(V,B)})}function P(V,B,j){const te=s(h);(te===null||te>j)&&(h.value=j),m.value[V]=B}function L({rowKey:V,height:B,rowIndex:j},te){te?te===K8.RIGHT?g.value[V]=B:f.value[V]=B:_.value[V]=B;const J=Math.max(...[f,g,_].map(Z=>Z.value[V]||0));s(v)[V]!==J&&(P(V,J,j),T())}return{expandedRowKeys:u,lastRenderedRowIndex:p,isDynamic:y,isResetting:d,rowHeights:v,resetAfterIndex:R,onRowExpanded:$,onRowHovered:x,onRowsRendered:w,onRowHeightChange:L}},sae=(e,{expandedRowKeys:t,lastRenderedRowIndex:o,resetAfterIndex:r})=>{const l=D({}),n=C(()=>{const i={},{data:c,rowKey:d}=e,u=s(t);if(!u||!u.length)return c;const p=[],h=new Set;u.forEach(m=>h.add(m));let v=c.slice();for(v.forEach(m=>i[m[d]]=0);v.length>0;){const m=v.shift();p.push(m),h.has(m[d])&&Array.isArray(m.children)&&m.children.length>0&&(v=[...m.children,...v],m.children.forEach(f=>i[f[d]]=i[m[d]]+1))}return l.value=i,p}),a=C(()=>{const{data:i,expandColumnKey:c}=e;return c?s(n):i});return Se(a,(i,c)=>{i!==c&&(o.value=-1,r(0,!0))}),{data:a,depthMap:l}},cae=(e,t)=>e+t,Rp=e=>Ke(e)?e.reduce(cae,0):e,ti=(e,t,o={})=>it(e)?e(t):e??o,sa=e=>(["width","maxWidth","minWidth","height"].forEach(t=>{e[t]=mo(e[t])}),e),U8=e=>io(e)?t=>rt(e,t):e,uae=(e,{columnsTotalWidth:t,data:o,fixedColumnsOnLeft:r,fixedColumnsOnRight:l})=>{const n=C(()=>{const{fixed:w,width:x,vScrollbarSize:$}=e,T=x-$;return w?Math.max(Math.round(s(t)),T):T}),a=C(()=>s(n)+e.vScrollbarSize),i=C(()=>{const{height:w=0,maxHeight:x=0,footerHeight:$,hScrollbarSize:T}=e;if(x>0){const R=s(m),P=s(c),V=s(v)+R+P+T;return Math.min(V,x-$)}return w-$}),c=C(()=>{const{rowHeight:w,estimatedRowHeight:x}=e,$=s(o);return st(x)?$.length*x:$.length*w}),d=C(()=>{const{maxHeight:w}=e,x=s(i);if(st(w)&&w>0)return x;const $=s(c)+s(v)+s(m);return Math.min(x,$)}),u=w=>w.width,p=C(()=>Rp(s(r).map(u))),h=C(()=>Rp(s(l).map(u))),v=C(()=>Rp(e.headerHeight)),m=C(()=>{var w;return(((w=e.fixedData)==null?void 0:w.length)||0)*e.rowHeight}),f=C(()=>s(i)-s(v)-s(m)),_=C(()=>{const{style:w={},height:x,width:$}=e;return sa({...w,height:x,width:$})}),g=C(()=>sa({height:e.footerHeight})),y=C(()=>({top:mo(s(v)),bottom:mo(e.footerHeight),width:mo(e.width)}));return{bodyWidth:n,fixedTableHeight:d,mainTableHeight:i,leftTableWidth:p,rightTableWidth:h,headerWidth:a,rowsHeight:c,windowHeight:f,footerHeight:g,emptyStyle:y,rootStyle:_,headerHeight:v}},dae=e=>{const t=D(),o=D(0),r=D(0);let l;return ft(()=>{l=so(t,([n])=>{const{width:a,height:i}=n.contentRect,{paddingLeft:c,paddingRight:d,paddingTop:u,paddingBottom:p}=getComputedStyle(n.target),h=Number.parseInt(c)||0,v=Number.parseInt(d)||0,m=Number.parseInt(u)||0,f=Number.parseInt(p)||0;o.value=a-h-v,r.value=i-m-f}).stop}),to(()=>{l==null||l()}),Se([o,r],([n,a])=>{var i;(i=e.onResize)==null||i.call(e,{width:n,height:a})}),{sizer:t,width:o,height:r}};function pae(e){const t=D(),o=D(),r=D(),{columns:l,columnsStyles:n,columnsTotalWidth:a,fixedColumnsOnLeft:i,fixedColumnsOnRight:c,hasFixedColumns:d,mainColumns:u,onColumnSorted:p}=nae(e,Yt(e,"columns"),Yt(e,"fixed")),{scrollTo:h,scrollToLeft:v,scrollToTop:m,scrollToRow:f,onScroll:_,onVerticalScroll:g,scrollPos:y}=aae(e,{mainTableRef:t,leftTableRef:o,rightTableRef:r,onMaybeEndReached:ae}),w=ze("table-v2"),x=wt(),$=lo(!1),{expandedRowKeys:T,lastRenderedRowIndex:R,isDynamic:P,isResetting:L,rowHeights:V,resetAfterIndex:B,onRowExpanded:j,onRowHeightChange:te,onRowHovered:J,onRowsRendered:Z}=iae(e,{mainTableRef:t,leftTableRef:o,rightTableRef:r,tableInstance:x,ns:w,isScrolling:$}),{data:H,depthMap:F}=sae(e,{expandedRowKeys:T,lastRenderedRowIndex:R,resetAfterIndex:B}),{bodyWidth:K,fixedTableHeight:I,mainTableHeight:U,leftTableWidth:oe,rightTableWidth:ne,headerWidth:ce,rowsHeight:Q,windowHeight:Me,footerHeight:de,emptyStyle:_e,rootStyle:me,headerHeight:Re}=uae(e,{columnsTotalWidth:a,data:H,fixedColumnsOnLeft:i,fixedColumnsOnRight:c}),Ce=D(),Ee=C(()=>{const pe=s(H).length===0;return Ke(e.fixedData)?e.fixedData.length===0&&pe:pe});function De(pe){const{estimatedRowHeight:ke,rowHeight:Oe,rowKey:we}=e;return ke?s(V)[s(H)[pe][we]]||ke:Oe}function ae(){const{onEndReached:pe}=e;if(!pe)return;const{scrollTop:ke}=s(y),Oe=s(Q),we=s(Me),Te=Oe-(ke+we)+e.hScrollbarSize;s(R)>=0&&Oe===ke+s(U)-s(Re)&&pe(Te)}return Se(()=>e.expandedRowKeys,pe=>T.value=pe,{deep:!0}),{columns:l,containerRef:Ce,mainTableRef:t,leftTableRef:o,rightTableRef:r,isDynamic:P,isResetting:L,isScrolling:$,hasFixedColumns:d,columnsStyles:n,columnsTotalWidth:a,data:H,expandedRowKeys:T,depthMap:F,fixedColumnsOnLeft:i,fixedColumnsOnRight:c,mainColumns:u,bodyWidth:K,emptyStyle:_e,rootStyle:me,headerWidth:ce,footerHeight:de,mainTableHeight:U,fixedTableHeight:I,leftTableWidth:oe,rightTableWidth:ne,showEmpty:Ee,getRowHeight:De,onColumnSorted:p,onRowHovered:J,onRowExpanded:j,onRowsRendered:Z,onRowHeightChange:te,scrollTo:h,scrollToLeft:v,scrollToTop:m,scrollToRow:f,onScroll:_,onVerticalScroll:g}}const x2=Symbol("tableV2"),W8=String,Xc={type:ue(Array),required:!0},k2={type:ue(Array)},q8={...k2,required:!0},fae=String,Y8={type:ue(Array),default:()=>uo([])},oi={type:Number,required:!0},G8={type:ue([String,Number,Symbol]),default:"id"},X8={type:ue(Object)},ri=Pe({class:String,columns:Xc,columnsStyles:{type:ue(Object),required:!0},depth:Number,expandColumnKey:fae,estimatedRowHeight:{...Ja.estimatedRowHeight,default:void 0},isScrolling:Boolean,onRowExpand:{type:ue(Function)},onRowHover:{type:ue(Function)},onRowHeightChange:{type:ue(Function)},rowData:{type:ue(Object),required:!0},rowEventHandlers:{type:ue(Object)},rowIndex:{type:Number,required:!0},rowKey:G8,style:{type:ue(Object)}}),C2={type:Number,required:!0},S2=Pe({class:String,columns:Xc,fixedHeaderData:{type:ue(Array)},headerData:{type:ue(Array),required:!0},headerHeight:{type:ue([Number,Array]),default:50},rowWidth:C2,rowHeight:{type:Number,default:50},height:C2,width:C2}),Lp=Pe({columns:Xc,data:q8,fixedData:k2,estimatedRowHeight:ri.estimatedRowHeight,width:oi,height:oi,headerWidth:oi,headerHeight:S2.headerHeight,bodyWidth:oi,rowHeight:oi,cache:o8.cache,useIsScrolling:Boolean,scrollbarAlwaysOn:Ja.scrollbarAlwaysOn,scrollbarStartGap:Ja.scrollbarStartGap,scrollbarEndGap:Ja.scrollbarEndGap,class:W8,style:X8,containerStyle:X8,getRowHeight:{type:ue(Function),required:!0},rowKey:ri.rowKey,onRowsRendered:{type:ue(Function)},onScroll:{type:ue(Function)}}),hae=Pe({cache:Lp.cache,estimatedRowHeight:ri.estimatedRowHeight,rowKey:G8,headerClass:{type:ue([String,Function])},headerProps:{type:ue([Object,Function])},headerCellProps:{type:ue([Object,Function])},headerHeight:S2.headerHeight,footerHeight:{type:Number,default:0},rowClass:{type:ue([String,Function])},rowProps:{type:ue([Object,Function])},rowHeight:{type:Number,default:50},cellProps:{type:ue([Object,Function])},columns:Xc,data:q8,dataGetter:{type:ue(Function)},fixedData:k2,expandColumnKey:ri.expandColumnKey,expandedRowKeys:Y8,defaultExpandedRowKeys:Y8,class:W8,fixed:Boolean,style:{type:ue(Object)},width:oi,height:oi,maxHeight:Number,useIsScrolling:Boolean,indentSize:{type:Number,default:12},iconSize:{type:Number,default:12},hScrollbarSize:Ja.hScrollbarSize,vScrollbarSize:Ja.vScrollbarSize,scrollbarAlwaysOn:n8.alwaysOn,sortBy:{type:ue(Object),default:()=>({})},sortState:{type:ue(Object),default:void 0},onColumnSort:{type:ue(Function)},onExpandedRowsChange:{type:ue(Function)},onEndReached:{type:ue(Function)},onRowExpand:ri.onRowExpand,onScroll:Lp.onScroll,onRowsRendered:Lp.onRowsRendered,rowEventHandlers:ri.rowEventHandlers}),E2=(e,{slots:t})=>{var o;const{cellData:r,style:l}=e,n=((o=r==null?void 0:r.toString)==null?void 0:o.call(r))||"",a=be(t,"default",e,()=>[n]);return ee("div",{class:e.class,title:n,style:l},[a])};E2.displayName="ElTableV2Cell",E2.inheritAttrs=!1;const T2=(e,{slots:t})=>be(t,"default",e,()=>{var o,r;return[ee("div",{class:e.class,title:(o=e.column)==null?void 0:o.title},[(r=e.column)==null?void 0:r.title])]});T2.displayName="ElTableV2HeaderCell",T2.inheritAttrs=!1;const vae=Pe({class:String,columns:Xc,columnsStyles:{type:ue(Object),required:!0},headerIndex:Number,style:{type:ue(Object)}}),mae=N({name:"ElTableV2HeaderRow",props:vae,setup(e,{slots:t}){return()=>{const{columns:o,columnsStyles:r,headerIndex:l,style:n}=e;let a=o.map((i,c)=>t.cell({columns:o,column:i,columnIndex:c,headerIndex:l,style:r[i.key]}));return t.header&&(a=t.header({cells:a.map(i=>Ke(i)&&i.length===1?i[0]:i),columns:o,headerIndex:l})),ee("div",{class:e.class,style:n,role:"row"},[a])}}}),gae=N({name:"ElTableV2Header",props:S2,setup(e,{slots:t,expose:o}){const r=ze("table-v2"),l=D(),n=C(()=>sa({width:e.width,height:e.height})),a=C(()=>sa({width:e.rowWidth,height:e.height})),i=C(()=>Gn(s(e.headerHeight))),c=p=>{const h=s(l);et(()=>{h!=null&&h.scroll&&h.scroll({left:p})})},d=()=>{const p=r.e("fixed-header-row"),{columns:h,fixedHeaderData:v,rowHeight:m}=e;return v==null?void 0:v.map((f,_)=>{var g;const y=sa({height:m,width:"100%"});return(g=t.fixed)==null?void 0:g.call(t,{class:p,columns:h,rowData:f,rowIndex:-(_+1),style:y})})},u=()=>{const p=r.e("dynamic-header-row"),{columns:h}=e;return s(i).map((v,m)=>{var f;const _=sa({width:"100%",height:v});return(f=t.dynamic)==null?void 0:f.call(t,{class:p,columns:h,headerIndex:m,style:_})})};return o({scrollToLeft:c}),()=>{if(!(e.height<=0))return ee("div",{ref:l,class:e.class,style:s(n),role:"rowgroup"},[ee("div",{style:s(a),class:r.e("header")},[u(),d()])])}}}),bae=e=>{const{isScrolling:t}=Ge(x2),o=D(!1),r=D(),l=C(()=>st(e.estimatedRowHeight)&&e.rowIndex>=0),n=(c=!1)=>{const d=s(r);if(!d)return;const{columns:u,onRowHeightChange:p,rowKey:h,rowIndex:v,style:m}=e,{height:f}=d.getBoundingClientRect();o.value=!0,et(()=>{if(c||f!==Number.parseInt(m.height)){const _=u[0],g=(_==null?void 0:_.placeholderSign)===Gc;p==null||p({rowKey:h,height:f,rowIndex:v},_&&!g&&_.fixed)}})},a=C(()=>{const{rowData:c,rowIndex:d,rowKey:u,onRowHover:p}=e,h=e.rowEventHandlers||{},v={};return Object.entries(h).forEach(([m,f])=>{it(f)&&(v[m]=_=>{f({event:_,rowData:c,rowIndex:d,rowKey:u})})}),p&&[{name:"onMouseleave",hovered:!1},{name:"onMouseenter",hovered:!0}].forEach(({name:m,hovered:f})=>{const _=v[m];v[m]=g=>{p({event:g,hovered:f,rowData:c,rowIndex:d,rowKey:u}),_==null||_(g)}}),v}),i=c=>{const{onRowExpand:d,rowData:u,rowIndex:p,rowKey:h}=e;d==null||d({expanded:c,rowData:u,rowIndex:p,rowKey:h})};return ft(()=>{s(l)&&n(!0)}),{isScrolling:t,measurable:l,measured:o,rowRef:r,eventHandlers:a,onExpand:i}},_ae=N({name:"ElTableV2TableRow",props:ri,setup(e,{expose:t,slots:o,attrs:r}){const{eventHandlers:l,isScrolling:n,measurable:a,measured:i,rowRef:c,onExpand:d}=bae(e);return t({onExpand:d}),()=>{const{columns:u,columnsStyles:p,expandColumnKey:h,depth:v,rowData:m,rowIndex:f,style:_}=e;let g=u.map((y,w)=>{const x=Ke(m.children)&&m.children.length>0&&y.key===h;return o.cell({column:y,columns:u,columnIndex:w,depth:v,style:p[y.key],rowData:m,rowIndex:f,isScrolling:s(n),expandIconProps:x?{rowData:m,rowIndex:f,onExpand:d}:void 0})});if(o.row&&(g=o.row({cells:g.map(y=>Ke(y)&&y.length===1?y[0]:y),style:_,columns:u,depth:v,rowData:m,rowIndex:f,isScrolling:s(n)})),s(a)){const{height:y,...w}=_||{},x=s(i);return ee("div",Mt({ref:c,class:e.class,style:x?_:w,role:"row"},r,s(l)),[g])}return ee("div",Mt(r,{ref:c,class:e.class,style:_,role:"row"},s(l)),[g])}}}),wae=e=>{const{sortOrder:t}=e;return ee(Ze,{size:14,class:e.class},{default:()=>[t===qc.ASC?ee(Y3,null,null):ee(q3,null,null)]})},yae=e=>{const{expanded:t,expandable:o,onExpand:r,style:l,size:n}=e,a={onClick:o?()=>r(!t):void 0,class:e.class};return ee(Ze,Mt(a,{size:n,style:l}),{default:()=>[ee(ir,null,null)]})},xae="ElTableV2Grid",kae=e=>{const t=D(),o=D(),r=C(()=>{const{data:f,rowHeight:_,estimatedRowHeight:g}=e;if(!g)return f.length*_}),l=C(()=>{const{fixedData:f,rowHeight:_}=e;return((f==null?void 0:f.length)||0)*_}),n=C(()=>Rp(e.headerHeight)),a=C(()=>{const{height:f}=e;return Math.max(0,f-s(n)-s(l))}),i=C(()=>s(n)+s(l)>0),c=({data:f,rowIndex:_})=>f[_][e.rowKey];function d({rowCacheStart:f,rowCacheEnd:_,rowVisibleStart:g,rowVisibleEnd:y}){var w;(w=e.onRowsRendered)==null||w.call(e,{rowCacheStart:f,rowCacheEnd:_,rowVisibleStart:g,rowVisibleEnd:y})}function u(f,_){var g;(g=o.value)==null||g.resetAfterRowIndex(f,_)}function p(f,_){const g=s(t),y=s(o);xt(f)?(g==null||g.scrollToLeft(f.scrollLeft),y==null||y.scrollTo(f)):(g==null||g.scrollToLeft(f),y==null||y.scrollTo({scrollLeft:f,scrollTop:_}))}function h(f){var _;(_=s(o))==null||_.scrollTo({scrollTop:f})}function v(f,_){var g;(g=s(o))==null||g.scrollToItem(f,1,_)}function m(){var f,_;(f=s(o))==null||f.$forceUpdate(),(_=s(t))==null||_.$forceUpdate()}return{bodyRef:o,forceUpdate:m,fixedRowHeight:l,gridHeight:a,hasHeader:i,headerHeight:n,headerRef:t,totalHeight:r,itemKey:c,onItemRendered:d,resetAfterRowIndex:u,scrollTo:p,scrollToTop:h,scrollToRow:v}},$2=N({name:xae,props:Lp,setup(e,{slots:t,expose:o}){const{ns:r}=Ge(x2),{bodyRef:l,fixedRowHeight:n,gridHeight:a,hasHeader:i,headerRef:c,headerHeight:d,totalHeight:u,forceUpdate:p,itemKey:h,onItemRendered:v,resetAfterRowIndex:m,scrollTo:f,scrollToTop:_,scrollToRow:g}=kae(e);o({forceUpdate:p,totalHeight:u,scrollTo:f,scrollToTop:_,scrollToRow:g,resetAfterRowIndex:m});const y=()=>e.bodyWidth;return()=>{const{cache:w,columns:x,data:$,fixedData:T,useIsScrolling:R,scrollbarAlwaysOn:P,scrollbarEndGap:L,scrollbarStartGap:V,style:B,rowHeight:j,bodyWidth:te,estimatedRowHeight:J,headerWidth:Z,height:H,width:F,getRowHeight:K,onScroll:I}=e,U=st(J),oe=U?xre:bre,ne=s(d);return ee("div",{role:"table",class:[r.e("table"),e.class],style:B},[ee(oe,{ref:l,data:$,useIsScrolling:R,itemKey:h,columnCache:0,columnWidth:U?y:te,totalColumn:1,totalRow:$.length,rowCache:w,rowHeight:U?K:j,width:F,height:s(a),class:r.e("body"),role:"rowgroup",scrollbarStartGap:V,scrollbarEndGap:L,scrollbarAlwaysOn:P,onScroll:I,onItemRendered:v,perfMode:!1},{default:ce=>{var Q;const Me=$[ce.rowIndex];return(Q=t.row)==null?void 0:Q.call(t,{...ce,columns:x,rowData:Me})}}),s(i)&&ee(gae,{ref:c,class:r.e("header-wrapper"),columns:x,headerData:$,headerHeight:e.headerHeight,fixedHeaderData:T,rowWidth:Z,rowHeight:j,width:F,height:Math.min(ne+s(n),H)},{dynamic:t.header,fixed:t.row})])}}});function Cae(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!io(e)}const Sae=(e,{slots:t})=>{const{mainTableRef:o,...r}=e;return ee($2,Mt({ref:o},r),Cae(t)?t:{default:()=>[t]})};function Eae(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!io(e)}const Tae=(e,{slots:t})=>{if(!e.columns.length)return;const{leftTableRef:o,...r}=e;return ee($2,Mt({ref:o},r),Eae(t)?t:{default:()=>[t]})};function $ae(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!io(e)}const Mae=(e,{slots:t})=>{if(!e.columns.length)return;const{rightTableRef:o,...r}=e;return ee($2,Mt({ref:o},r),$ae(t)?t:{default:()=>[t]})};function Aae(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!io(e)}const zae=(e,{slots:t})=>{const{columns:o,columnsStyles:r,depthMap:l,expandColumnKey:n,expandedRowKeys:a,estimatedRowHeight:i,hasFixedColumns:c,rowData:d,rowIndex:u,style:p,isScrolling:h,rowProps:v,rowClass:m,rowKey:f,rowEventHandlers:_,ns:g,onRowHovered:y,onRowExpanded:w}=e,x=ti(m,{columns:o,rowData:d,rowIndex:u},""),$=ti(v,{columns:o,rowData:d,rowIndex:u}),T=d[f],R=l[T]||0,P=!!n,L=u<0,V=[g.e("row"),x,{[g.e(`row-depth-${R}`)]:P&&u>=0,[g.is("expanded")]:P&&a.includes(T),[g.is("fixed")]:!R&&L,[g.is("customized")]:!!t.row}],B=c?y:void 0,j={...$,columns:o,columnsStyles:r,class:V,depth:R,expandColumnKey:n,estimatedRowHeight:L?void 0:i,isScrolling:h,rowIndex:u,rowData:d,rowKey:T,rowEventHandlers:_,style:p};return ee(_ae,Mt(j,{onRowExpand:w,onMouseenter:Z=>{B==null||B({hovered:!0,rowKey:T,event:Z,rowData:d,rowIndex:u})},onMouseleave:Z=>{B==null||B({hovered:!1,rowKey:T,event:Z,rowData:d,rowIndex:u})},rowkey:T}),Aae(t)?t:{default:()=>[t]})},M2=({columns:e,column:t,columnIndex:o,depth:r,expandIconProps:l,isScrolling:n,rowData:a,rowIndex:i,style:c,expandedRowKeys:d,ns:u,cellProps:p,expandColumnKey:h,indentSize:v,iconSize:m,rowKey:f},{slots:_})=>{const g=sa(c);if(t.placeholderSign===Gc)return ee("div",{class:u.em("row-cell","placeholder"),style:g},null);const{cellRenderer:y,dataKey:w,dataGetter:x}=t,$=it(x)?x({columns:e,column:t,columnIndex:o,rowData:a,rowIndex:i}):wo(a,w??""),T=ti(p,{cellData:$,columns:e,column:t,columnIndex:o,rowIndex:i,rowData:a}),R={class:u.e("cell-text"),columns:e,column:t,columnIndex:o,cellData:$,isScrolling:n,rowData:a,rowIndex:i},P=U8(y),L=P?P(R):be(_,"default",R,()=>[ee(E2,R,null)]),V=[u.e("row-cell"),t.class,t.align===Yc.CENTER&&u.is("align-center"),t.align===Yc.RIGHT&&u.is("align-right")],B=i>=0&&h&&t.key===h,j=i>=0&&d.includes(a[f]);let te;const J=`margin-inline-start: ${r*v}px;`;return B&&(xt(l)?te=ee(yae,Mt(l,{class:[u.e("expand-icon"),u.is("expanded",j)],size:m,expanded:j,style:J,expandable:!0}),null):te=ee("div",{style:[J,`width: ${m}px; height: ${m}px;`].join(" ")},null)),ee("div",Mt({class:V,style:g},T,{role:"cell"}),[te,L])};M2.inheritAttrs=!1;function Iae(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!io(e)}const Oae=({columns:e,columnsStyles:t,headerIndex:o,style:r,headerClass:l,headerProps:n,ns:a},{slots:i})=>{const c={columns:e,headerIndex:o},d=[a.e("header-row"),ti(l,c,""),{[a.is("customized")]:!!i.header}],u={...ti(n,c),columnsStyles:t,class:d,columns:e,headerIndex:o,style:r};return ee(mae,u,Iae(i)?i:{default:()=>[i]})},Z8=(e,{slots:t})=>{const{column:o,ns:r,style:l,onColumnSorted:n}=e,a=sa(l);if(o.placeholderSign===Gc)return ee("div",{class:r.em("header-row-cell","placeholder"),style:a},null);const{headerCellRenderer:i,headerClass:c,sortable:d}=o,u={...e,class:r.e("header-cell-text")},p=U8(i),h=p?p(u):be(t,"default",u,()=>[ee(T2,u,null)]),{sortBy:v,sortState:m,headerCellProps:f}=e;let _,g;if(m){const x=m[o.key];_=!!y2[x],g=_?x:qc.ASC}else _=o.key===v.key,g=_?v.order:qc.ASC;const y=[r.e("header-cell"),ti(c,e,""),o.align===Yc.CENTER&&r.is("align-center"),o.align===Yc.RIGHT&&r.is("align-right"),d&&r.is("sortable")],w={...ti(f,e),onClick:o.sortable?n:void 0,class:y,style:a,"data-key":o.key};return ee("div",Mt(w,{role:"columnheader"}),[h,d&&ee(wae,{class:[r.e("sort-icon"),_&&r.is("sorting")],sortOrder:g},null)])},J8=(e,{slots:t})=>{var o;return ee("div",{class:e.class,style:e.style},[(o=t.default)==null?void 0:o.call(t)])};J8.displayName="ElTableV2Footer";const Q8=(e,{slots:t})=>{const o=be(t,"default",{},()=>[ee(Py,null,null)]);return ee("div",{class:e.class,style:e.style},[o])};Q8.displayName="ElTableV2Empty";const ex=(e,{slots:t})=>{var o;return ee("div",{class:e.class,style:e.style},[(o=t.default)==null?void 0:o.call(t)])};ex.displayName="ElTableV2Overlay";function Zc(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!io(e)}const Nae=N({name:"ElTableV2",props:hae,setup(e,{slots:t,expose:o}){const r=ze("table-v2"),{columnsStyles:l,fixedColumnsOnLeft:n,fixedColumnsOnRight:a,mainColumns:i,mainTableHeight:c,fixedTableHeight:d,leftTableWidth:u,rightTableWidth:p,data:h,depthMap:v,expandedRowKeys:m,hasFixedColumns:f,mainTableRef:_,leftTableRef:g,rightTableRef:y,isDynamic:w,isResetting:x,isScrolling:$,bodyWidth:T,emptyStyle:R,rootStyle:P,headerWidth:L,footerHeight:V,showEmpty:B,scrollTo:j,scrollToLeft:te,scrollToTop:J,scrollToRow:Z,getRowHeight:H,onColumnSorted:F,onRowHeightChange:K,onRowHovered:I,onRowExpanded:U,onRowsRendered:oe,onScroll:ne,onVerticalScroll:ce}=pae(e);return o({scrollTo:j,scrollToLeft:te,scrollToTop:J,scrollToRow:Z}),zt(x2,{ns:r,isResetting:x,isScrolling:$}),()=>{const{cache:Q,cellProps:Me,estimatedRowHeight:de,expandColumnKey:_e,fixedData:me,headerHeight:Re,headerClass:Ce,headerProps:Ee,headerCellProps:De,sortBy:ae,sortState:pe,rowHeight:ke,rowClass:Oe,rowEventHandlers:we,rowKey:Te,rowProps:Ne,scrollbarAlwaysOn:Ie,indentSize:Ae,iconSize:xe,useIsScrolling:We,vScrollbarSize:qe,width:ye}=e,Ye=s(h),tt={cache:Q,class:r.e("main"),columns:s(i),data:Ye,fixedData:me,estimatedRowHeight:de,bodyWidth:s(T)+qe,headerHeight:Re,headerWidth:s(L),height:s(c),mainTableRef:_,rowKey:Te,rowHeight:ke,scrollbarAlwaysOn:Ie,scrollbarStartGap:2,scrollbarEndGap:qe,useIsScrolling:We,width:ye,getRowHeight:H,onRowsRendered:oe,onScroll:ne},pt=s(u),dt=s(d),Y={cache:Q,class:r.e("left"),columns:s(n),data:Ye,estimatedRowHeight:de,leftTableRef:g,rowHeight:ke,bodyWidth:pt,headerWidth:pt,headerHeight:Re,height:dt,rowKey:Te,scrollbarAlwaysOn:Ie,scrollbarStartGap:2,scrollbarEndGap:qe,useIsScrolling:We,width:pt,getRowHeight:H,onScroll:ce},A=s(p)+qe,G={cache:Q,class:r.e("right"),columns:s(a),data:Ye,estimatedRowHeight:de,rightTableRef:y,rowHeight:ke,bodyWidth:A,headerWidth:A,headerHeight:Re,height:dt,rowKey:Te,scrollbarAlwaysOn:Ie,scrollbarStartGap:2,scrollbarEndGap:qe,width:A,style:`--${s(r.namespace)}-table-scrollbar-size: ${qe}px`,useIsScrolling:We,getRowHeight:H,onScroll:ce},X=s(l),re={ns:r,depthMap:s(v),columnsStyles:X,expandColumnKey:_e,expandedRowKeys:s(m),estimatedRowHeight:de,hasFixedColumns:s(f),rowProps:Ne,rowClass:Oe,rowKey:Te,rowEventHandlers:we,onRowHovered:I,onRowExpanded:U,onRowHeightChange:K},ge={cellProps:Me,expandColumnKey:_e,indentSize:Ae,iconSize:xe,rowKey:Te,expandedRowKeys:s(m),ns:r},fe={ns:r,headerClass:Ce,headerProps:Ee,columnsStyles:X},Fe={ns:r,sortBy:ae,sortState:pe,headerCellProps:De,onColumnSorted:F},at={row:no=>ee(zae,Mt(no,re),{row:t.row,cell:bt=>{let Qt;return t.cell?ee(M2,Mt(bt,ge,{style:X[bt.column.key]}),Zc(Qt=t.cell(bt))?Qt:{default:()=>[Qt]}):ee(M2,Mt(bt,ge,{style:X[bt.column.key]}),null)}}),header:no=>ee(Oae,Mt(no,fe),{header:t.header,cell:bt=>{let Qt;return t["header-cell"]?ee(Z8,Mt(bt,Fe,{style:X[bt.column.key]}),Zc(Qt=t["header-cell"](bt))?Qt:{default:()=>[Qt]}):ee(Z8,Mt(bt,Fe,{style:X[bt.column.key]}),null)}})},_t=[e.class,r.b(),r.e("root"),{[r.is("dynamic")]:s(w)}],At={class:r.e("footer"),style:s(V)};return ee("div",{class:_t,style:s(P)},[ee(Sae,tt,Zc(at)?at:{default:()=>[at]}),ee(Tae,Y,Zc(at)?at:{default:()=>[at]}),ee(Mae,G,Zc(at)?at:{default:()=>[at]}),t.footer&&ee(J8,At,{default:t.footer}),s(B)&&ee(Q8,{class:r.e("empty"),style:s(R)},{default:t.empty}),t.overlay&&ee(ex,{class:r.e("overlay")},{default:t.overlay})])}}}),Pae=Pe({disableWidth:Boolean,disableHeight:Boolean,onResize:{type:ue(Function)}}),Rae=N({name:"ElAutoResizer",props:Pae,setup(e,{slots:t}){const o=ze("auto-resizer"),{height:r,width:l,sizer:n}=dae(e),a={width:"100%",height:"100%"};return()=>{var i;return ee("div",{ref:n,class:o.b(),style:a},[(i=t.default)==null?void 0:i.call(t,{height:r.value,width:l.value})])}}}),Lae=yt(Nae),Bae=yt(Rae),Bp=Symbol("tabsRootContextKey"),Vae=Pe({tabs:{type:ue(Array),default:()=>uo([])}}),tx="ElTabBar",Dae=N({...N({name:tx}),props:Vae,setup(e,{expose:t}){const o=e,r=wt(),l=Ge(Bp);l||Io(tx,"");const n=ze("tabs"),a=D(),i=D(),c=()=>{let u=0,p=0;const h=["top","bottom"].includes(l.props.tabPosition)?"width":"height",v=h==="width"?"x":"y",m=v==="x"?"left":"top";return o.tabs.every(f=>{var _,g;const y=(g=(_=r.parent)==null?void 0:_.refs)==null?void 0:g[`tab-${f.uid}`];if(!y)return!1;if(!f.active)return!0;u=y[`offset${Nl(m)}`],p=y[`client${Nl(h)}`];const w=window.getComputedStyle(y);return h==="width"&&(o.tabs.length>1&&(p-=Number.parseFloat(w.paddingLeft)+Number.parseFloat(w.paddingRight)),u+=Number.parseFloat(w.paddingLeft)),!1}),{[h]:`${p}px`,transform:`translate${Nl(v)}(${u}px)`}},d=()=>i.value=c();return Se(()=>o.tabs,async()=>{await et(),d()},{immediate:!0}),so(a,()=>d()),t({ref:a,update:d}),(u,p)=>(b(),M("div",{ref_key:"barRef",ref:a,class:O([s(n).e("active-bar"),s(n).is(s(l).props.tabPosition)]),style:Je(i.value)},null,6))}});var Hae=Le(Dae,[["__file","tab-bar.vue"]]);const Fae=Pe({panes:{type:ue(Array),default:()=>uo([])},currentName:{type:[String,Number],default:""},editable:Boolean,type:{type:String,values:["card","border-card",""],default:""},stretch:Boolean}),jae={tabClick:(e,t,o)=>o instanceof Event,tabRemove:(e,t)=>t instanceof Event},ox="ElTabNav",Kae=N({name:ox,props:Fae,emits:jae,setup(e,{expose:t,emit:o}){const r=wt(),l=Ge(Bp);l||Io(ox,"");const n=ze("tabs"),a=aE(),i=gE(),c=D(),d=D(),u=D(),p=D(),h=D(!1),v=D(0),m=D(!1),f=D(!0),_=C(()=>["top","bottom"].includes(l.props.tabPosition)?"width":"height"),g=C(()=>({transform:`translate${_.value==="width"?"X":"Y"}(-${v.value}px)`})),y=()=>{if(!c.value)return;const L=c.value[`offset${Nl(_.value)}`],V=v.value;if(!V)return;const B=V>L?V-L:0;v.value=B},w=()=>{if(!c.value||!d.value)return;const L=d.value[`offset${Nl(_.value)}`],V=c.value[`offset${Nl(_.value)}`],B=v.value;if(L-B<=V)return;const j=L-B>V*2?B+V:L-V;v.value=j},x=async()=>{const L=d.value;if(!h.value||!u.value||!c.value||!L)return;await et();const V=u.value.querySelector(".is-active");if(!V)return;const B=c.value,j=["top","bottom"].includes(l.props.tabPosition),te=V.getBoundingClientRect(),J=B.getBoundingClientRect(),Z=j?L.offsetWidth-J.width:L.offsetHeight-J.height,H=v.value;let F=H;j?(te.leftJ.right&&(F=H+te.right-J.right)):(te.topJ.bottom&&(F=H+(te.bottom-J.bottom))),F=Math.max(F,0),v.value=Math.min(F,Z)},$=()=>{var L;if(!d.value||!c.value)return;e.stretch&&((L=p.value)==null||L.update());const V=d.value[`offset${Nl(_.value)}`],B=c.value[`offset${Nl(_.value)}`],j=v.value;B0&&(v.value=0))},T=L=>{const V=L.code,{up:B,down:j,left:te,right:J}=lt;if(![B,j,te,J].includes(V))return;const Z=Array.from(L.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)")),H=Z.indexOf(L.target);let F;V===te||V===B?H===0?F=Z.length-1:F=H-1:H{f.value&&(m.value=!0)},P=()=>m.value=!1;return Se(a,L=>{L==="hidden"?f.value=!1:L==="visible"&&setTimeout(()=>f.value=!0,50)}),Se(i,L=>{L?setTimeout(()=>f.value=!0,50):f.value=!1}),so(u,$),ft(()=>setTimeout(()=>x(),0)),rn(()=>$()),t({scrollToActiveTab:x,removeFocus:P}),Se(()=>e.panes,()=>r.update(),{flush:"post",deep:!0}),()=>{const L=h.value?[ee("span",{class:[n.e("nav-prev"),n.is("disabled",!h.value.prev)],onClick:y},[ee(Ze,null,{default:()=>[ee(fn,null,null)]})]),ee("span",{class:[n.e("nav-next"),n.is("disabled",!h.value.next)],onClick:w},[ee(Ze,null,{default:()=>[ee(ir,null,null)]})])]:null,V=e.panes.map((B,j)=>{var te,J,Z,H;const F=B.uid,K=B.props.disabled,I=(J=(te=B.props.name)!=null?te:B.index)!=null?J:`${j}`,U=!K&&(B.isClosable||e.editable);B.index=`${j}`;const oe=U?ee(Ze,{class:"is-icon-close",onClick:Q=>o("tabRemove",B,Q)},{default:()=>[ee(Jr,null,null)]}):null,ne=((H=(Z=B.slots).label)==null?void 0:H.call(Z))||B.props.label,ce=!K&&B.active?0:-1;return ee("div",{ref:`tab-${F}`,class:[n.e("item"),n.is(l.props.tabPosition),n.is("active",B.active),n.is("disabled",K),n.is("closable",U),n.is("focus",m.value)],id:`tab-${I}`,key:`tab-${F}`,"aria-controls":`pane-${I}`,role:"tab","aria-selected":B.active,tabindex:ce,onFocus:()=>R(),onBlur:()=>P(),onClick:Q=>{P(),o("tabClick",B,I,Q)},onKeydown:Q=>{U&&(Q.code===lt.delete||Q.code===lt.backspace)&&o("tabRemove",B,Q)}},[ne,oe])});return ee("div",{ref:u,class:[n.e("nav-wrap"),n.is("scrollable",!!h.value),n.is(l.props.tabPosition)]},[L,ee("div",{class:n.e("nav-scroll"),ref:c},[ee("div",{class:[n.e("nav"),n.is(l.props.tabPosition),n.is("stretch",e.stretch&&["top","bottom"].includes(l.props.tabPosition))],ref:d,style:g.value,role:"tablist",onKeydown:T},[e.type?null:ee(Hae,{ref:p,tabs:[...e.panes]},null),V])])])}}}),Uae=Pe({type:{type:String,values:["card","border-card",""],default:""},closable:Boolean,addable:Boolean,modelValue:{type:[String,Number]},editable:Boolean,tabPosition:{type:String,values:["top","right","bottom","left"],default:"top"},beforeLeave:{type:ue(Function),default:()=>!0},stretch:Boolean}),A2=e=>ut(e)||st(e),Wae={[St]:e=>A2(e),tabClick:(e,t)=>t instanceof Event,tabChange:e=>A2(e),edit:(e,t)=>["remove","add"].includes(t),tabRemove:e=>A2(e),tabAdd:()=>!0},qae=N({name:"ElTabs",props:Uae,emits:Wae,setup(e,{emit:t,slots:o,expose:r}){var l;const n=ze("tabs"),{children:a,addChild:i,removeChild:c}=Wh(wt(),"ElTabPane"),d=D(),u=D((l=e.modelValue)!=null?l:"0"),p=async(f,_=!1)=>{var g,y,w;if(!(u.value===f||ko(f)))try{await((g=e.beforeLeave)==null?void 0:g.call(e,f,u.value))!==!1&&(u.value=f,_&&(t(St,f),t("tabChange",f)),(w=(y=d.value)==null?void 0:y.removeFocus)==null||w.call(y))}catch{}},h=(f,_,g)=>{f.props.disabled||(p(_,!0),t("tabClick",f,g))},v=(f,_)=>{f.props.disabled||ko(f.props.name)||(_.stopPropagation(),t("edit",f.props.name,"remove"),t("tabRemove",f.props.name))},m=()=>{t("edit",void 0,"add"),t("tabAdd")};return Se(()=>e.modelValue,f=>p(f)),Se(u,async()=>{var f;await et(),(f=d.value)==null||f.scrollToActiveTab()}),zt(Bp,{props:e,currentName:u,registerPane:i,unregisterPane:c}),r({currentName:u}),()=>{const f=o["add-icon"],_=e.editable||e.addable?ee("span",{class:n.e("new-tab"),tabindex:"0",onClick:m,onKeydown:w=>{w.code===lt.enter&&m()}},[f?be(o,"add-icon"):ee(Ze,{class:n.is("icon-plus")},{default:()=>[ee(hh,null,null)]})]):null,g=ee("div",{class:[n.e("header"),n.is(e.tabPosition)]},[_,ee(Kae,{ref:d,currentName:u.value,editable:e.editable,type:e.type,panes:a.value,stretch:e.stretch,onTabClick:h,onTabRemove:v},null)]),y=ee("div",{class:n.e("content")},[be(o,"default")]);return ee("div",{class:[n.b(),n.m(e.tabPosition),{[n.m("card")]:e.type==="card",[n.m("border-card")]:e.type==="border-card"}]},[...e.tabPosition!=="bottom"?[g,y]:[y,g]])}}}),Yae=Pe({label:{type:String,default:""},name:{type:[String,Number]},closable:Boolean,disabled:Boolean,lazy:Boolean}),Gae=["id","aria-hidden","aria-labelledby"],rx="ElTabPane",Xae=N({...N({name:rx}),props:Yae,setup(e){const t=e,o=wt(),r=Do(),l=Ge(Bp);l||Io(rx,"usage: ");const n=ze("tab-pane"),a=D(),i=C(()=>t.closable||l.props.closable),c=qb(()=>{var v;return l.currentName.value===((v=t.name)!=null?v:a.value)}),d=D(c.value),u=C(()=>{var v;return(v=t.name)!=null?v:a.value}),p=qb(()=>!t.lazy||d.value||c.value);Se(c,v=>{v&&(d.value=!0)});const h=Dt({uid:o.uid,slots:r,props:t,paneName:u,active:c,index:a,isClosable:i});return ft(()=>{l.registerPane(h)}),Rn(()=>{l.unregisterPane(h.uid)}),(v,m)=>s(p)?mt((b(),M("div",{key:0,id:`pane-${s(u)}`,class:O(s(n).b()),role:"tabpanel","aria-hidden":!s(c),"aria-labelledby":`tab-${s(u)}`},[be(v.$slots,"default")],10,Gae)),[[Lt,s(c)]]):se("v-if",!0)}});var lx=Le(Xae,[["__file","tab-pane.vue"]]);const Zae=yt(qae,{TabPane:lx}),Jae=co(lx),Qae=Pe({type:{type:String,values:["primary","success","info","warning","danger",""],default:""},size:{type:String,values:Rl,default:""},truncated:{type:Boolean},lineClamp:{type:[String,Number]},tag:{type:String,default:"span"}}),eie=N({...N({name:"ElText"}),props:Qae,setup(e){const t=e,o=So(),r=ze("text"),l=C(()=>[r.b(),r.m(t.type),r.m(o.value),r.is("truncated",t.truncated),r.is("line-clamp",!ko(t.lineClamp))]);return(n,a)=>(b(),he(Et(n.tag),{class:O(s(l)),style:Je({"-webkit-line-clamp":n.lineClamp})},{default:le(()=>[be(n.$slots,"default")]),_:3},8,["class","style"]))}});var tie=Le(eie,[["__file","text.vue"]]);const oie=yt(tie),rie=Pe({format:{type:String,default:"HH:mm"},modelValue:String,disabled:Boolean,editable:{type:Boolean,default:!0},effect:{type:String,default:"light"},clearable:{type:Boolean,default:!0},size:Oo,placeholder:String,start:{type:String,default:"09:00"},end:{type:String,default:"18:00"},step:{type:String,default:"00:30"},minTime:String,maxTime:String,name:String,prefixIcon:{type:ue([String,Object]),default:()=>ph},clearIcon:{type:ue([String,Object]),default:()=>hn},...Xi}),Cn=e=>{const t=(e||"").split(":");if(t.length>=2){let o=Number.parseInt(t[0],10);const r=Number.parseInt(t[1],10),l=e.toUpperCase();return l.includes("AM")&&o===12?o=0:l.includes("PM")&&o!==12&&(o+=12),{hours:o,minutes:r}}return null},z2=(e,t)=>{const o=Cn(e);if(!o)return-1;const r=Cn(t);if(!r)return-1;const l=o.minutes+o.hours*60,n=r.minutes+r.hours*60;return l===n?0:l>n?1:-1},nx=e=>`${e}`.padStart(2,"0"),ps=e=>`${nx(e.hours)}:${nx(e.minutes)}`,lie=(e,t)=>{const o=Cn(e);if(!o)return"";const r=Cn(t);if(!r)return"";const l={hours:o.hours,minutes:o.minutes};return l.minutes+=r.minutes,l.hours+=r.hours,l.hours+=Math.floor(l.minutes/60),l.minutes=l.minutes%60,ps(l)},nie=N({...N({name:"ElTimeSelect"}),props:rie,emits:["change","blur","focus","update:modelValue"],setup(e,{expose:t}){const o=e;kt.extend(mv);const{Option:r}=Za,l=ze("input"),n=D(),a=xr(),{lang:i}=Rt(),c=C(()=>o.modelValue),d=C(()=>{const g=Cn(o.start);return g?ps(g):null}),u=C(()=>{const g=Cn(o.end);return g?ps(g):null}),p=C(()=>{const g=Cn(o.step);return g?ps(g):null}),h=C(()=>{const g=Cn(o.minTime||"");return g?ps(g):null}),v=C(()=>{const g=Cn(o.maxTime||"");return g?ps(g):null}),m=C(()=>{const g=[];if(o.start&&o.end&&o.step){let y=d.value,w;for(;y&&u.value&&z2(y,u.value)<=0;)w=kt(y,"HH:mm").locale(i.value).format(o.format),g.push({value:w,disabled:z2(y,h.value||"-1:-1")<=0||z2(y,v.value||"100:100")>=0}),y=lie(y,p.value)}return g});return t({blur:()=>{var g,y;(y=(g=n.value)==null?void 0:g.blur)==null||y.call(g)},focus:()=>{var g,y;(y=(g=n.value)==null?void 0:g.focus)==null||y.call(g)}}),(g,y)=>(b(),he(s(Za),{ref_key:"select",ref:n,"model-value":s(c),disabled:s(a),clearable:g.clearable,"clear-icon":g.clearIcon,size:g.size,effect:g.effect,placeholder:g.placeholder,"default-first-option":"",filterable:g.editable,"empty-values":g.emptyValues,"value-on-clear":g.valueOnClear,"onUpdate:modelValue":y[0]||(y[0]=w=>g.$emit("update:modelValue",w)),onChange:y[1]||(y[1]=w=>g.$emit("change",w)),onBlur:y[2]||(y[2]=w=>g.$emit("blur",w)),onFocus:y[3]||(y[3]=w=>g.$emit("focus",w))},{prefix:le(()=>[g.prefixIcon?(b(),he(s(Ze),{key:0,class:O(s(l).e("prefix-icon"))},{default:le(()=>[(b(),he(Et(g.prefixIcon)))]),_:1},8,["class"])):se("v-if",!0)]),default:le(()=>[(b(!0),M(Qe,null,It(s(m),w=>(b(),he(s(r),{key:w.value,label:w.value,value:w.value,disabled:w.disabled},null,8,["label","value","disabled"]))),128))]),_:1},8,["model-value","disabled","clearable","clear-icon","size","effect","placeholder","filterable","empty-values","value-on-clear"]))}});var Vp=Le(nie,[["__file","time-select.vue"]]);Vp.install=e=>{e.component(Vp.name,Vp)};const aie=Vp,iie=N({name:"ElTimeline",setup(e,{slots:t}){const o=ze("timeline");return zt("timeline",t),()=>rt("ul",{class:[o.b()]},[be(t,"default")])}}),sie=Pe({timestamp:{type:String,default:""},hideTimestamp:{type:Boolean,default:!1},center:{type:Boolean,default:!1},placement:{type:String,values:["top","bottom"],default:"bottom"},type:{type:String,values:["primary","success","warning","danger","info"],default:""},color:{type:String,default:""},size:{type:String,values:["normal","large"],default:"normal"},icon:{type:Xt},hollow:{type:Boolean,default:!1}}),cie=N({...N({name:"ElTimelineItem"}),props:sie,setup(e){const t=e,o=ze("timeline-item"),r=C(()=>[o.e("node"),o.em("node",t.size||""),o.em("node",t.type||""),o.is("hollow",t.hollow)]);return(l,n)=>(b(),M("li",{class:O([s(o).b(),{[s(o).e("center")]:l.center}])},[E("div",{class:O(s(o).e("tail"))},null,2),l.$slots.dot?se("v-if",!0):(b(),M("div",{key:0,class:O(s(r)),style:Je({backgroundColor:l.color})},[l.icon?(b(),he(s(Ze),{key:0,class:O(s(o).e("icon"))},{default:le(()=>[(b(),he(Et(l.icon)))]),_:1},8,["class"])):se("v-if",!0)],6)),l.$slots.dot?(b(),M("div",{key:1,class:O(s(o).e("dot"))},[be(l.$slots,"dot")],2)):se("v-if",!0),E("div",{class:O(s(o).e("wrapper"))},[!l.hideTimestamp&&l.placement==="top"?(b(),M("div",{key:0,class:O([s(o).e("timestamp"),s(o).is("top")])},$e(l.timestamp),3)):se("v-if",!0),E("div",{class:O(s(o).e("content"))},[be(l.$slots,"default")],2),!l.hideTimestamp&&l.placement==="bottom"?(b(),M("div",{key:1,class:O([s(o).e("timestamp"),s(o).is("bottom")])},$e(l.timestamp),3)):se("v-if",!0)],2)],2))}});var ax=Le(cie,[["__file","timeline-item.vue"]]);const uie=yt(iie,{TimelineItem:ax}),die=co(ax),ix=Pe({nowrap:Boolean});var sx=(e=>(e.top="top",e.bottom="bottom",e.left="left",e.right="right",e))(sx||{});const pie=Object.values(sx),I2=Pe({width:{type:Number,default:10},height:{type:Number,default:10},style:{type:ue(Object),default:null}}),fie=Pe({side:{type:ue(String),values:pie,required:!0}}),hie=["absolute","fixed"],vie=["top-start","top-end","top","bottom-start","bottom-end","bottom","left-start","left-end","left","right-start","right-end","right"],O2=Pe({arrowPadding:{type:ue(Number),default:5},effect:{type:String,default:""},contentClass:String,placement:{type:ue(String),values:vie,default:"bottom"},reference:{type:ue(Object),default:null},offset:{type:Number,default:8},strategy:{type:ue(String),values:hie,default:"absolute"},showArrow:{type:Boolean,default:!1},...Zo(["ariaLabel"])}),N2=Pe({delayDuration:{type:Number,default:300},defaultOpen:Boolean,open:{type:Boolean,default:void 0},onOpenChange:{type:ue(Function)},"onUpdate:open":{type:ue(Function)}}),fs={type:ue(Function)},P2=Pe({onBlur:fs,onClick:fs,onFocus:fs,onMouseDown:fs,onMouseEnter:fs,onMouseLeave:fs}),mie=Pe({...N2,...I2,...P2,...O2,alwaysOn:Boolean,fullTransition:Boolean,transitionProps:{type:ue(Object),default:null},teleported:Boolean,to:{type:ue(String),default:"body"}}),Dp=Symbol("tooltipV2"),cx=Symbol("tooltipV2Content"),R2="tooltip_v2.open",gie=N({...N({name:"ElTooltipV2Root"}),props:N2,setup(e,{expose:t}){const o=e,r=D(o.defaultOpen),l=D(null),n=C({get:()=>Na(o.open)?r.value:o.open,set:_=>{var g;r.value=_,(g=o["onUpdate:open"])==null||g.call(o,_)}}),a=C(()=>st(o.delayDuration)&&o.delayDuration>0),{start:i,stop:c}=$a(()=>{n.value=!0},C(()=>o.delayDuration),{immediate:!1}),d=ze("tooltip-v2"),u=Qo(),p=()=>{c(),n.value=!0},h=()=>{s(a)?i():p()},v=p,m=()=>{c(),n.value=!1};return Se(n,_=>{var g;_&&(document.dispatchEvent(new CustomEvent(R2)),v()),(g=o.onOpenChange)==null||g.call(o,_)}),ft(()=>{document.addEventListener(R2,m)}),to(()=>{c(),document.removeEventListener(R2,m)}),zt(Dp,{contentId:u,triggerRef:l,ns:d,onClose:m,onDelayOpen:h,onOpen:v}),t({onOpen:v,onClose:m}),(_,g)=>be(_.$slots,"default",{open:s(n)})}});var bie=Le(gie,[["__file","root.vue"]]);const _ie=N({...N({name:"ElTooltipV2Arrow"}),props:{...I2,...fie},setup(e){const t=e,{ns:o}=Ge(Dp),{arrowRef:r}=Ge(cx),l=C(()=>{const{style:n,width:a,height:i}=t,c=o.namespace.value;return{[`--${c}-tooltip-v2-arrow-width`]:`${a}px`,[`--${c}-tooltip-v2-arrow-height`]:`${i}px`,[`--${c}-tooltip-v2-arrow-border-width`]:`${a/2}px`,[`--${c}-tooltip-v2-arrow-cover-width`]:a/2-1,...n||{}}});return(n,a)=>(b(),M("span",{ref_key:"arrowRef",ref:r,style:Je(s(l)),class:O(s(o).e("arrow"))},null,6))}});var ux=Le(_ie,[["__file","arrow.vue"]]);const wie=Pe({style:{type:ue([String,Object,Array]),default:()=>({})}}),yie=N({...N({name:"ElVisuallyHidden"}),props:wie,setup(e){const t=e,o=C(()=>[t.style,{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}]);return(r,l)=>(b(),M("span",Mt(r.$attrs,{style:s(o)}),[be(r.$slots,"default")],16))}});var xie=Le(yie,[["__file","visual-hidden.vue"]]);const kie=["data-side"],Cie=N({...N({name:"ElTooltipV2Content"}),props:{...O2,...ix},setup(e){const t=e,{triggerRef:o,contentId:r}=Ge(Dp),l=D(t.placement),n=D(t.strategy),a=D(null),{referenceRef:i,contentRef:c,middlewareData:d,x:u,y:p,update:h}=hK({placement:l,strategy:n,middleware:C(()=>{const w=[J6(t.offset)];return t.showArrow&&w.push(vK({arrowRef:a})),w})}),v=Ki().nextZIndex(),m=ze("tooltip-v2"),f=C(()=>l.value.split("-")[0]),_=C(()=>({position:s(n),top:`${s(p)||0}px`,left:`${s(u)||0}px`,zIndex:v})),g=C(()=>{if(!t.showArrow)return{};const{arrow:w}=s(d);return{[`--${m.namespace.value}-tooltip-v2-arrow-x`]:`${w==null?void 0:w.x}px`||"",[`--${m.namespace.value}-tooltip-v2-arrow-y`]:`${w==null?void 0:w.y}px`||""}}),y=C(()=>[m.e("content"),m.is("dark",t.effect==="dark"),m.is(s(n)),t.contentClass]);return Se(a,()=>h()),Se(()=>t.placement,w=>l.value=w),ft(()=>{Se(()=>t.reference||o.value,w=>{i.value=w||void 0},{immediate:!0})}),zt(cx,{arrowRef:a}),(w,x)=>(b(),M("div",{ref_key:"contentRef",ref:c,style:Je(s(_)),"data-tooltip-v2-root":""},[w.nowrap?se("v-if",!0):(b(),M("div",{key:0,"data-side":s(f),class:O(s(y))},[be(w.$slots,"default",{contentStyle:s(_),contentClass:s(y)}),ee(s(xie),{id:s(r),role:"tooltip"},{default:le(()=>[w.ariaLabel?(b(),M(Qe,{key:0},[Ct($e(w.ariaLabel),1)],64)):be(w.$slots,"default",{key:1})]),_:3},8,["id"]),be(w.$slots,"arrow",{style:Je(s(g)),side:s(f)})],10,kie))],4))}});var dx=Le(Cie,[["__file","content.vue"]]);const Sie=Pe({setRef:{type:ue(Function),required:!0},onlyChild:Boolean});var Eie=N({props:Sie,setup(e,{slots:t}){const o=D(),r=Nd(o,l=>{l?e.setRef(l.nextElementSibling):e.setRef(null)});return()=>{var l;const[n]=((l=t.default)==null?void 0:l.call(t))||[],a=e.onlyChild?cF(n.children):n.children;return ee(Qe,{ref:r},[a])}}});const Tie=N({...N({name:"ElTooltipV2Trigger"}),props:{...ix,...P2},setup(e){const t=e,{onClose:o,onOpen:r,onDelayOpen:l,triggerRef:n,contentId:a}=Ge(Dp);let i=!1;const c=y=>{n.value=y},d=()=>{i=!1},u=ho(t.onMouseEnter,l),p=ho(t.onMouseLeave,o),h=ho(t.onMouseDown,()=>{o(),i=!0,document.addEventListener("mouseup",d,{once:!0})}),v=ho(t.onFocus,()=>{i||r()}),m=ho(t.onBlur,o),f=ho(t.onClick,y=>{y.detail===0&&o()}),_={blur:m,click:f,focus:v,mousedown:h,mouseenter:u,mouseleave:p},g=(y,w,x)=>{y&&Object.entries(w).forEach(([$,T])=>{y[x]($,T)})};return Se(n,(y,w)=>{g(y,_,"addEventListener"),g(w,_,"removeEventListener"),y&&y.setAttribute("aria-describedby",a.value)}),to(()=>{g(n.value,_,"removeEventListener"),document.removeEventListener("mouseup",d)}),(y,w)=>y.nowrap?(b(),he(s(Eie),{key:0,"set-ref":c,"only-child":""},{default:le(()=>[be(y.$slots,"default")]),_:3})):(b(),M("button",Mt({key:1,ref_key:"triggerRef",ref:n},y.$attrs),[be(y.$slots,"default")],16))}});var $ie=Le(Tie,[["__file","trigger.vue"]]);const Mie=N({...N({name:"ElTooltipV2"}),props:mie,setup(e){const o=Bo(e),r=Dt(Ol(o,Object.keys(I2))),l=Dt(Ol(o,Object.keys(O2))),n=Dt(Ol(o,Object.keys(N2))),a=Dt(Ol(o,Object.keys(P2)));return(i,c)=>(b(),he(bie,Zl(mi(n)),{default:le(({open:d})=>[ee($ie,Mt(a,{nowrap:""}),{default:le(()=>[be(i.$slots,"trigger")]),_:3},16),(b(),he(hi,{to:i.to,disabled:!i.teleported},[i.fullTransition?(b(),he(Mo,Zl(Mt({key:0},i.transitionProps)),{default:le(()=>[i.alwaysOn||d?(b(),he(dx,Zl(Mt({key:0},l)),{arrow:le(({style:u,side:p})=>[i.showArrow?(b(),he(ux,Mt({key:0},r,{style:u,side:p}),null,16,["style","side"])):se("v-if",!0)]),default:le(()=>[be(i.$slots,"default")]),_:3},16)):se("v-if",!0)]),_:2},1040)):(b(),M(Qe,{key:1},[i.alwaysOn||d?(b(),he(dx,Zl(Mt({key:0},l)),{arrow:le(({style:u,side:p})=>[i.showArrow?(b(),he(ux,Mt({key:0},r,{style:u,side:p}),null,16,["style","side"])):se("v-if",!0)]),default:le(()=>[be(i.$slots,"default")]),_:3},16)):se("v-if",!0)],64))],8,["to","disabled"]))]),_:3},16))}});var Aie=Le(Mie,[["__file","tooltip.vue"]]);const zie=yt(Aie),px="left-check-change",fx="right-check-change",hs=Pe({data:{type:ue(Array),default:()=>[]},titles:{type:ue(Array),default:()=>[]},buttonTexts:{type:ue(Array),default:()=>[]},filterPlaceholder:String,filterMethod:{type:ue(Function)},leftDefaultChecked:{type:ue(Array),default:()=>[]},rightDefaultChecked:{type:ue(Array),default:()=>[]},renderContent:{type:ue(Function)},modelValue:{type:ue(Array),default:()=>[]},format:{type:ue(Object),default:()=>({})},filterable:Boolean,props:{type:ue(Object),default:()=>uo({label:"label",key:"key",disabled:"disabled"})},targetOrder:{type:String,values:["original","push","unshift"],default:"original"},validateEvent:{type:Boolean,default:!0}}),L2=(e,t)=>[e,t].every(Ke)||Ke(e)&&jo(t),Iie={[ro]:(e,t,o)=>[e,o].every(Ke)&&["left","right"].includes(t),[St]:e=>Ke(e),[px]:L2,[fx]:L2},B2="checked-change",Oie=Pe({data:hs.data,optionRender:{type:ue(Function)},placeholder:String,title:String,filterable:Boolean,format:hs.format,filterMethod:hs.filterMethod,defaultChecked:hs.leftDefaultChecked,props:hs.props}),Nie={[B2]:L2},Jc=e=>{const t={label:"label",key:"key",disabled:"disabled"};return C(()=>({...t,...e.props}))},Pie=(e,t,o)=>{const r=Jc(e),l=C(()=>e.data.filter(u=>it(e.filterMethod)?e.filterMethod(t.query,u):String(u[r.value.label]||u[r.value.key]).toLowerCase().includes(t.query.toLowerCase()))),n=C(()=>l.value.filter(u=>!u[r.value.disabled])),a=C(()=>{const u=t.checked.length,p=e.data.length,{noChecked:h,hasChecked:v}=e.format;return h&&v?u>0?v.replace(/\${checked}/g,u.toString()).replace(/\${total}/g,p.toString()):h.replace(/\${total}/g,p.toString()):`${u}/${p}`}),i=C(()=>{const u=t.checked.length;return u>0&&u{const u=n.value.map(p=>p[r.value.key]);t.allChecked=u.length>0&&u.every(p=>t.checked.includes(p))},d=u=>{t.checked=u?n.value.map(p=>p[r.value.key]):[]};return Se(()=>t.checked,(u,p)=>{if(c(),t.checkChangeByUser){const h=u.concat(p).filter(v=>!u.includes(v)||!p.includes(v));o(B2,u,h)}else o(B2,u),t.checkChangeByUser=!0}),Se(n,()=>{c()}),Se(()=>e.data,()=>{const u=[],p=l.value.map(h=>h[r.value.key]);t.checked.forEach(h=>{p.includes(h)&&u.push(h)}),t.checkChangeByUser=!1,t.checked=u}),Se(()=>e.defaultChecked,(u,p)=>{if(p&&u.length===p.length&&u.every(m=>p.includes(m)))return;const h=[],v=n.value.map(m=>m[r.value.key]);u.forEach(m=>{v.includes(m)&&h.push(m)}),t.checkChangeByUser=!1,t.checked=h},{immediate:!0}),{filteredData:l,checkableData:n,checkedSummary:a,isIndeterminate:i,updateAllChecked:c,handleAllCheckedChange:d}},Rie=(e,t)=>({onSourceCheckedChange:(l,n)=>{e.leftChecked=l,n&&t(px,l,n)},onTargetCheckedChange:(l,n)=>{e.rightChecked=l,n&&t(fx,l,n)}}),Lie=e=>{const t=Jc(e),o=C(()=>e.data.reduce((n,a)=>(n[a[t.value.key]]=a)&&n,{})),r=C(()=>e.data.filter(n=>!e.modelValue.includes(n[t.value.key]))),l=C(()=>e.targetOrder==="original"?e.data.filter(n=>e.modelValue.includes(n[t.value.key])):e.modelValue.reduce((n,a)=>{const i=o.value[a];return i&&n.push(i),n},[]));return{sourceData:r,targetData:l}},Bie=(e,t,o)=>{const r=Jc(e),l=(i,c,d)=>{o(St,i),o(ro,i,c,d)};return{addToLeft:()=>{const i=e.modelValue.slice();t.rightChecked.forEach(c=>{const d=i.indexOf(c);d>-1&&i.splice(d,1)}),l(i,"left",t.rightChecked)},addToRight:()=>{let i=e.modelValue.slice();const c=e.data.filter(d=>{const u=d[r.value.key];return t.leftChecked.includes(u)&&!e.modelValue.includes(u)}).map(d=>d[r.value.key]);i=e.targetOrder==="unshift"?c.concat(i):i.concat(c),e.targetOrder==="original"&&(i=e.data.filter(d=>i.includes(d[r.value.key])).map(d=>d[r.value.key])),l(i,"right",t.leftChecked)}}},Vie=N({...N({name:"ElTransferPanel"}),props:Oie,emits:Nie,setup(e,{expose:t,emit:o}){const r=e,l=Do(),n=({option:w})=>w,{t:a}=Rt(),i=ze("transfer"),c=Dt({checked:[],allChecked:!1,query:"",checkChangeByUser:!0}),d=Jc(r),{filteredData:u,checkedSummary:p,isIndeterminate:h,handleAllCheckedChange:v}=Pie(r,c,o),m=C(()=>!Yr(c.query)&&Yr(u.value)),f=C(()=>!Yr(l.default()[0].children)),{checked:_,allChecked:g,query:y}=Bo(c);return t({query:y}),(w,x)=>(b(),M("div",{class:O(s(i).b("panel"))},[E("p",{class:O(s(i).be("panel","header"))},[ee(s(rl),{modelValue:s(g),"onUpdate:modelValue":x[0]||(x[0]=$=>Zt(g)?g.value=$:null),indeterminate:s(h),"validate-event":!1,onChange:s(v)},{default:le(()=>[Ct($e(w.title)+" ",1),E("span",null,$e(s(p)),1)]),_:1},8,["modelValue","indeterminate","onChange"])],2),E("div",{class:O([s(i).be("panel","body"),s(i).is("with-footer",s(f))])},[w.filterable?(b(),he(s(cr),{key:0,modelValue:s(y),"onUpdate:modelValue":x[1]||(x[1]=$=>Zt(y)?y.value=$:null),class:O(s(i).be("panel","filter")),size:"default",placeholder:w.placeholder,"prefix-icon":s(W3),clearable:"","validate-event":!1},null,8,["modelValue","class","placeholder","prefix-icon"])):se("v-if",!0),mt(ee(s(Lw),{modelValue:s(_),"onUpdate:modelValue":x[2]||(x[2]=$=>Zt(_)?_.value=$:null),"validate-event":!1,class:O([s(i).is("filterable",w.filterable),s(i).be("panel","list")])},{default:le(()=>[(b(!0),M(Qe,null,It(s(u),$=>(b(),he(s(rl),{key:$[s(d).key],class:O(s(i).be("panel","item")),value:$[s(d).key],disabled:$[s(d).disabled],"validate-event":!1},{default:le(()=>{var T;return[ee(n,{option:(T=w.optionRender)==null?void 0:T.call(w,$)},null,8,["option"])]}),_:2},1032,["class","value","disabled"]))),128))]),_:1},8,["modelValue","class"]),[[Lt,!s(m)&&!s(Yr)(w.data)]]),mt(E("p",{class:O(s(i).be("panel","empty"))},$e(s(m)?s(a)("el.transfer.noMatch"):s(a)("el.transfer.noData")),3),[[Lt,s(m)||s(Yr)(w.data)]])],2),s(f)?(b(),M("p",{key:0,class:O(s(i).be("panel","footer"))},[be(w.$slots,"default")],2)):se("v-if",!0)],2))}});var hx=Le(Vie,[["__file","transfer-panel.vue"]]);const Die={key:0},Hie={key:0},Fie=N({...N({name:"ElTransfer"}),props:hs,emits:Iie,setup(e,{expose:t,emit:o}){const r=e,l=Do(),{t:n}=Rt(),a=ze("transfer"),{formItem:i}=sr(),c=Dt({leftChecked:[],rightChecked:[]}),d=Jc(r),{sourceData:u,targetData:p}=Lie(r),{onSourceCheckedChange:h,onTargetCheckedChange:v}=Rie(c,o),{addToLeft:m,addToRight:f}=Bie(r,c,o),_=D(),g=D(),y=P=>{switch(P){case"left":_.value.query="";break;case"right":g.value.query="";break}},w=C(()=>r.buttonTexts.length===2),x=C(()=>r.titles[0]||n("el.transfer.titles.0")),$=C(()=>r.titles[1]||n("el.transfer.titles.1")),T=C(()=>r.filterPlaceholder||n("el.transfer.filterPlaceholder"));Se(()=>r.modelValue,()=>{var P;r.validateEvent&&((P=i==null?void 0:i.validate)==null||P.call(i,"change").catch(L=>void 0))});const R=C(()=>P=>r.renderContent?r.renderContent(rt,P):l.default?l.default({option:P}):rt("span",P[d.value.label]||P[d.value.key]));return t({clearQuery:y,leftPanel:_,rightPanel:g}),(P,L)=>(b(),M("div",{class:O(s(a).b())},[ee(hx,{ref_key:"leftPanel",ref:_,data:s(u),"option-render":s(R),placeholder:s(T),title:s(x),filterable:P.filterable,format:P.format,"filter-method":P.filterMethod,"default-checked":P.leftDefaultChecked,props:r.props,onCheckedChange:s(h)},{default:le(()=>[be(P.$slots,"left-footer")]),_:3},8,["data","option-render","placeholder","title","filterable","format","filter-method","default-checked","props","onCheckedChange"]),E("div",{class:O(s(a).e("buttons"))},[ee(s(Wo),{type:"primary",class:O([s(a).e("button"),s(a).is("with-texts",s(w))]),disabled:s(Yr)(c.rightChecked),onClick:s(m)},{default:le(()=>[ee(s(Ze),null,{default:le(()=>[ee(s(fn))]),_:1}),s(ko)(P.buttonTexts[0])?se("v-if",!0):(b(),M("span",Die,$e(P.buttonTexts[0]),1))]),_:1},8,["class","disabled","onClick"]),ee(s(Wo),{type:"primary",class:O([s(a).e("button"),s(a).is("with-texts",s(w))]),disabled:s(Yr)(c.leftChecked),onClick:s(f)},{default:le(()=>[s(ko)(P.buttonTexts[1])?se("v-if",!0):(b(),M("span",Hie,$e(P.buttonTexts[1]),1)),ee(s(Ze),null,{default:le(()=>[ee(s(ir))]),_:1})]),_:1},8,["class","disabled","onClick"])],2),ee(hx,{ref_key:"rightPanel",ref:g,data:s(p),"option-render":s(R),placeholder:s(T),filterable:P.filterable,format:P.format,"filter-method":P.filterMethod,title:s($),"default-checked":P.rightDefaultChecked,props:r.props,onCheckedChange:s(v)},{default:le(()=>[be(P.$slots,"right-footer")]),_:3},8,["data","option-render","placeholder","filterable","format","filter-method","title","default-checked","props","onCheckedChange"])],2))}});var jie=Le(Fie,[["__file","transfer.vue"]]);const Kie=yt(jie),vs="$treeNodeId",vx=function(e,t){!t||t[vs]||Object.defineProperty(t,vs,{value:e.id,enumerable:!1,configurable:!1,writable:!1})},V2=function(e,t){return e?t[e]:t[vs]},D2=(e,t,o)=>{const r=e.value.currentNode;o();const l=e.value.currentNode;r!==l&&t("current-change",l?l.data:null,l)},H2=e=>{let t=!0,o=!0,r=!0;for(let l=0,n=e.length;l"u"){const n=r[t];return n===void 0?"":n}};let Uie=0,F2=class hf{constructor(t){this.id=Uie++,this.text=null,this.checked=!1,this.indeterminate=!1,this.data=null,this.expanded=!1,this.parent=null,this.visible=!0,this.isCurrent=!1,this.canFocus=!1;for(const o in t)Pt(t,o)&&(this[o]=t[o]);this.level=0,this.loaded=!1,this.childNodes=[],this.loading=!1,this.parent&&(this.level=this.parent.level+1)}initialize(){const t=this.store;if(!t)throw new Error("[Node]store is required!");t.registerNode(this);const o=t.props;if(o&&typeof o.isLeaf<"u"){const n=Hp(this,"isLeaf");typeof n=="boolean"&&(this.isLeafByUser=n)}if(t.lazy!==!0&&this.data?(this.setData(this.data),t.defaultExpandAll&&(this.expanded=!0,this.canFocus=!0)):this.level>0&&t.lazy&&t.defaultExpandAll&&this.expand(),Array.isArray(this.data)||vx(this,this.data),!this.data)return;const r=t.defaultExpandedKeys,l=t.key;l&&r&&r.includes(this.key)&&this.expand(null,t.autoExpandParent),l&&t.currentNodeKey!==void 0&&this.key===t.currentNodeKey&&(t.currentNode=this,t.currentNode.isCurrent=!0),t.lazy&&t._initDefaultCheckedNode(this),this.updateLeafState(),this.parent&&(this.level===1||this.parent.expanded===!0)&&(this.canFocus=!0)}setData(t){Array.isArray(t)||vx(this,t),this.data=t,this.childNodes=[];let o;this.level===0&&Array.isArray(this.data)?o=this.data:o=Hp(this,"children")||[];for(let r=0,l=o.length;r-1)return t.childNodes[o+1]}return null}get previousSibling(){const t=this.parent;if(t){const o=t.childNodes.indexOf(this);if(o>-1)return o>0?t.childNodes[o-1]:null}return null}contains(t,o=!0){return(this.childNodes||[]).some(r=>r===t||o&&r.contains(t))}remove(){const t=this.parent;t&&t.removeChild(this)}insertChild(t,o,r){if(!t)throw new Error("InsertChild error: child is required.");if(!(t instanceof hf)){if(!r){const l=this.getChildren(!0);l.includes(t.data)||(typeof o>"u"||o<0?l.push(t.data):l.splice(o,0,t.data))}Object.assign(t,{parent:this,store:this.store}),t=Dt(new hf(t)),t instanceof hf&&t.initialize()}t.level=this.level+1,typeof o>"u"||o<0?this.childNodes.push(t):this.childNodes.splice(o,0,t),this.updateLeafState()}insertBefore(t,o){let r;o&&(r=this.childNodes.indexOf(o)),this.insertChild(t,r)}insertAfter(t,o){let r;o&&(r=this.childNodes.indexOf(o),r!==-1&&(r+=1)),this.insertChild(t,r)}removeChild(t){const o=this.getChildren()||[],r=o.indexOf(t.data);r>-1&&o.splice(r,1);const l=this.childNodes.indexOf(t);l>-1&&(this.store&&this.store.deregisterNode(t),t.parent=null,this.childNodes.splice(l,1)),this.updateLeafState()}removeChildByData(t){let o=null;for(let r=0;r{if(o){let l=this.parent;for(;l.level>0;)l.expanded=!0,l=l.parent}this.expanded=!0,t&&t(),this.childNodes.forEach(l=>{l.canFocus=!0})};this.shouldLoadData()?this.loadData(l=>{Array.isArray(l)&&(this.checked?this.setChecked(!0,!0):this.store.checkStrictly||Qc(this),r())}):r()}doCreateChildren(t,o={}){t.forEach(r=>{this.insertChild(Object.assign({data:r},o),void 0,!0)})}collapse(){this.expanded=!1,this.childNodes.forEach(t=>{t.canFocus=!1})}shouldLoadData(){return this.store.lazy===!0&&this.store.load&&!this.loaded}updateLeafState(){if(this.store.lazy===!0&&this.loaded!==!0&&typeof this.isLeafByUser<"u"){this.isLeaf=this.isLeafByUser;return}const t=this.childNodes;if(!this.store.lazy||this.store.lazy===!0&&this.loaded===!0){this.isLeaf=!t||t.length===0;return}this.isLeaf=!1}setChecked(t,o,r,l){if(this.indeterminate=t==="half",this.checked=t===!0,this.store.checkStrictly)return;if(!(this.shouldLoadData()&&!this.store.checkDescendants)){const{all:a,allWithoutDisable:i}=H2(this.childNodes);!this.isLeaf&&!a&&i&&(this.checked=!1,t=!1);const c=()=>{if(o){const d=this.childNodes;for(let h=0,v=d.length;h{c(),Qc(this)},{checked:t!==!1});return}else c()}const n=this.parent;!n||n.level===0||r||Qc(n)}getChildren(t=!1){if(this.level===0)return this.data;const o=this.data;if(!o)return null;const r=this.store.props;let l="children";return r&&(l=r.children||"children"),o[l]===void 0&&(o[l]=null),t&&!o[l]&&(o[l]=[]),o[l]}updateChildren(){const t=this.getChildren()||[],o=this.childNodes.map(n=>n.data),r={},l=[];t.forEach((n,a)=>{const i=n[vs];!!i&&o.findIndex(d=>d[vs]===i)>=0?r[i]={index:a,data:n}:l.push({index:a,data:n})}),this.store.lazy||o.forEach(n=>{r[n[vs]]||this.removeChildByData(n)}),l.forEach(({index:n,data:a})=>{this.insertChild({data:a},n)}),this.updateLeafState()}loadData(t,o={}){if(this.store.lazy===!0&&this.store.load&&!this.loaded&&(!this.loading||Object.keys(o).length)){this.loading=!0;const r=n=>{this.childNodes=[],this.doCreateChildren(n,o),this.loaded=!0,this.loading=!1,this.updateLeafState(),t&&t.call(this,n)},l=()=>{this.loading=!1};this.store.load(this,r,l)}else t&&t.call(this)}eachNode(t){const o=[this];for(;o.length;){const r=o.shift();o.unshift(...r.childNodes),t(r)}}reInitChecked(){this.store.checkStrictly||Qc(this)}};class Wie{constructor(t){this.currentNode=null,this.currentNodeKey=null;for(const o in t)Pt(t,o)&&(this[o]=t[o]);this.nodesMap={}}initialize(){if(this.root=new F2({data:this.data,store:this}),this.root.initialize(),this.lazy&&this.load){const t=this.load;t(this.root,o=>{this.root.doCreateChildren(o),this._initDefaultCheckedNodes()})}else this._initDefaultCheckedNodes()}filter(t){const o=this.filterNodeMethod,r=this.lazy,l=function(n){const a=n.root?n.root.childNodes:n.childNodes;if(a.forEach(i=>{i.visible=o.call(i,t,i.data,i),l(i)}),!n.visible&&a.length){let i=!0;i=!a.some(c=>c.visible),n.root?n.root.visible=i===!1:n.visible=i===!1}t&&n.visible&&!n.isLeaf&&(!r||n.loaded)&&n.expand()};l(this)}setData(t){t!==this.root.data?(this.root.setData(t),this._initDefaultCheckedNodes()):this.root.updateChildren()}getNode(t){if(t instanceof F2)return t;const o=xt(t)?V2(this.key,t):t;return this.nodesMap[o]||null}insertBefore(t,o){const r=this.getNode(o);r.parent.insertBefore({data:t},r)}insertAfter(t,o){const r=this.getNode(o);r.parent.insertAfter({data:t},r)}remove(t){const o=this.getNode(t);o&&o.parent&&(o===this.currentNode&&(this.currentNode=null),o.parent.removeChild(o))}append(t,o){const r=Na(o)?this.root:this.getNode(o);r&&r.insertChild({data:t})}_initDefaultCheckedNodes(){const t=this.defaultCheckedKeys||[],o=this.nodesMap;t.forEach(r=>{const l=o[r];l&&l.setChecked(!0,!this.checkStrictly)})}_initDefaultCheckedNode(t){(this.defaultCheckedKeys||[]).includes(t.key)&&t.setChecked(!0,!this.checkStrictly)}setDefaultCheckedKey(t){t!==this.defaultCheckedKeys&&(this.defaultCheckedKeys=t,this._initDefaultCheckedNodes())}registerNode(t){const o=this.key;!t||!t.data||(o?t.key!==void 0&&(this.nodesMap[t.key]=t):this.nodesMap[t.id]=t)}deregisterNode(t){!this.key||!t||!t.data||(t.childNodes.forEach(r=>{this.deregisterNode(r)}),delete this.nodesMap[t.key])}getCheckedNodes(t=!1,o=!1){const r=[],l=function(n){(n.root?n.root.childNodes:n.childNodes).forEach(i=>{(i.checked||o&&i.indeterminate)&&(!t||t&&i.isLeaf)&&r.push(i.data),l(i)})};return l(this),r}getCheckedKeys(t=!1){return this.getCheckedNodes(t).map(o=>(o||{})[this.key])}getHalfCheckedNodes(){const t=[],o=function(r){(r.root?r.root.childNodes:r.childNodes).forEach(n=>{n.indeterminate&&t.push(n.data),o(n)})};return o(this),t}getHalfCheckedKeys(){return this.getHalfCheckedNodes().map(t=>(t||{})[this.key])}_getAllNodes(){const t=[],o=this.nodesMap;for(const r in o)Pt(o,r)&&t.push(o[r]);return t}updateChildren(t,o){const r=this.nodesMap[t];if(!r)return;const l=r.childNodes;for(let n=l.length-1;n>=0;n--){const a=l[n];this.remove(a.data)}for(let n=0,a=o.length;nc.level-d.level),n=Object.create(null),a=Object.keys(r);l.forEach(c=>c.setChecked(!1,!1));const i=c=>{c.childNodes.forEach(d=>{var u;n[d.data[t]]=!0,(u=d.childNodes)!=null&&u.length&&i(d)})};for(let c=0,d=l.length;c{_.isLeaf||_.setChecked(!1,!1),v(_)})};v(u)}}}setCheckedNodes(t,o=!1){const r=this.key,l={};t.forEach(n=>{l[(n||{})[r]]=!0}),this._setCheckedKeys(r,o,l)}setCheckedKeys(t,o=!1){this.defaultCheckedKeys=t;const r=this.key,l={};t.forEach(n=>{l[n]=!0}),this._setCheckedKeys(r,o,l)}setDefaultExpandedKeys(t){t=t||[],this.defaultExpandedKeys=t,t.forEach(o=>{const r=this.getNode(o);r&&r.expand(null,this.autoExpandParent)})}setChecked(t,o,r){const l=this.getNode(t);l&&l.setChecked(!!o,r)}getCurrentNode(){return this.currentNode}setCurrentNode(t){const o=this.currentNode;o&&(o.isCurrent=!1),this.currentNode=t,this.currentNode.isCurrent=!0}setUserCurrentNode(t,o=!0){const r=t[this.key],l=this.nodesMap[r];this.setCurrentNode(l),o&&this.currentNode.level>1&&this.currentNode.parent.expand(null,!0)}setCurrentNodeKey(t,o=!0){if(t==null){this.currentNode&&(this.currentNode.isCurrent=!1),this.currentNode=null;return}const r=this.getNode(t);r&&(this.setCurrentNode(r),o&&this.currentNode.level>1&&this.currentNode.parent.expand(null,!0))}}var qie=Le(N({name:"ElTreeNodeContent",props:{node:{type:Object,required:!0},renderContent:Function},setup(e){const t=ze("tree"),o=Ge("NodeInstance"),r=Ge("RootTree");return()=>{const l=e.node,{data:n,store:a}=l;return e.renderContent?e.renderContent(rt,{_self:o,node:l,data:n,store:a}):be(r.ctx.slots,"default",{node:l,data:n},()=>[rt("span",{class:t.be("node","label")},[l.label])])}}}),[["__file","tree-node-content.vue"]]);function mx(e){const t=Ge("TreeNodeMap",null),o={treeNodeExpand:r=>{e.node!==r&&e.node.collapse()},children:[]};return t&&t.children.push(o),zt("TreeNodeMap",o),{broadcastExpanded:r=>{if(e.accordion)for(const l of o.children)l.treeNodeExpand(r)}}}const gx=Symbol("dragEvents");function Yie({props:e,ctx:t,el$:o,dropIndicator$:r,store:l}){const n=ze("tree"),a=D({showDropIndicator:!1,draggingNode:null,dropNode:null,allowDrop:!0,dropType:null});return zt(gx,{treeNodeDragStart:({event:u,treeNode:p})=>{if(typeof e.allowDrag=="function"&&!e.allowDrag(p.node))return u.preventDefault(),!1;u.dataTransfer.effectAllowed="move";try{u.dataTransfer.setData("text/plain","")}catch{}a.value.draggingNode=p,t.emit("node-drag-start",p.node,u)},treeNodeDragOver:({event:u,treeNode:p})=>{const h=p,v=a.value.dropNode;v&&v.node.id!==h.node.id&&ar(v.$el,n.is("drop-inner"));const m=a.value.draggingNode;if(!m||!h)return;let f=!0,_=!0,g=!0,y=!0;typeof e.allowDrop=="function"&&(f=e.allowDrop(m.node,h.node,"prev"),y=_=e.allowDrop(m.node,h.node,"inner"),g=e.allowDrop(m.node,h.node,"next")),u.dataTransfer.dropEffect=_||f||g?"move":"none",(f||_||g)&&(v==null?void 0:v.node.id)!==h.node.id&&(v&&t.emit("node-drag-leave",m.node,v.node,u),t.emit("node-drag-enter",m.node,h.node,u)),f||_||g?a.value.dropNode=h:a.value.dropNode=null,h.node.nextSibling===m.node&&(g=!1),h.node.previousSibling===m.node&&(f=!1),h.node.contains(m.node,!1)&&(_=!1),(m.node===h.node||m.node.contains(h.node))&&(f=!1,_=!1,g=!1);const w=h.$el.querySelector(`.${n.be("node","content")}`).getBoundingClientRect(),x=o.value.getBoundingClientRect();let $;const T=f?_?.25:g?.45:1:-1,R=g?_?.75:f?.55:0:1;let P=-9999;const L=u.clientY-w.top;Lw.height*R?$="after":_?$="inner":$="none";const V=h.$el.querySelector(`.${n.be("node","expand-icon")}`).getBoundingClientRect(),B=r.value;$==="before"?P=V.top-x.top:$==="after"&&(P=V.bottom-x.top),B.style.top=`${P}px`,B.style.left=`${V.right-x.left}px`,$==="inner"?Zr(h.$el,n.is("drop-inner")):ar(h.$el,n.is("drop-inner")),a.value.showDropIndicator=$==="before"||$==="after",a.value.allowDrop=a.value.showDropIndicator||y,a.value.dropType=$,t.emit("node-drag-over",m.node,h.node,u)},treeNodeDragEnd:u=>{const{draggingNode:p,dropType:h,dropNode:v}=a.value;if(u.preventDefault(),u.dataTransfer.dropEffect="move",p&&v){const m={data:p.node.data};h!=="none"&&p.node.remove(),h==="before"?v.node.parent.insertBefore(m,v.node):h==="after"?v.node.parent.insertAfter(m,v.node):h==="inner"&&v.node.insertChild(m),h!=="none"&&(l.value.registerNode(m),l.value.key&&p.node.eachNode(f=>{var _;(_=l.value.nodesMap[f.data[l.value.key]])==null||_.setChecked(f.checked,!l.value.checkStrictly)})),ar(v.$el,n.is("drop-inner")),t.emit("node-drag-end",p.node,v.node,h,u),h!=="none"&&t.emit("node-drop",p.node,v.node,h,u)}p&&!v&&t.emit("node-drag-end",p.node,null,h,u),a.value.showDropIndicator=!1,a.value.draggingNode=null,a.value.dropNode=null,a.value.allowDrop=!0}}),{dragState:a}}const Gie=N({name:"ElTreeNode",components:{ElCollapseTransition:gp,ElCheckbox:rl,NodeContent:qie,ElIcon:Ze,Loading:vn},props:{node:{type:F2,default:()=>({})},props:{type:Object,default:()=>({})},accordion:Boolean,renderContent:Function,renderAfterExpand:Boolean,showCheckbox:{type:Boolean,default:!1}},emits:["node-expand"],setup(e,t){const o=ze("tree"),{broadcastExpanded:r}=mx(e),l=Ge("RootTree"),n=D(!1),a=D(!1),i=D(null),c=D(null),d=D(null),u=Ge(gx),p=wt();zt("NodeInstance",p),e.node.expanded&&(n.value=!0,a.value=!0);const h=l.props.props.children||"children";Se(()=>{const L=e.node.data[h];return L&&[...L]},()=>{e.node.updateChildren()}),Se(()=>e.node.indeterminate,L=>{f(e.node.checked,L)}),Se(()=>e.node.checked,L=>{f(L,e.node.indeterminate)}),Se(()=>e.node.childNodes.length,()=>e.node.reInitChecked()),Se(()=>e.node.expanded,L=>{et(()=>n.value=L),L&&(a.value=!0)});const v=L=>V2(l.props.nodeKey,L.data),m=L=>{const V=e.props.class;if(!V)return{};let B;if(it(V)){const{data:j}=L;B=V(j,L)}else B=V;return ut(B)?{[B]:!0}:B},f=(L,V)=>{(i.value!==L||c.value!==V)&&l.ctx.emit("check-change",e.node.data,L,V),i.value=L,c.value=V},_=L=>{D2(l.store,l.ctx.emit,()=>l.store.value.setCurrentNode(e.node)),l.currentNode.value=e.node,l.props.expandOnClickNode&&y(),l.props.checkOnClickNode&&!e.node.disabled&&w(null,{target:{checked:!e.node.checked}}),l.ctx.emit("node-click",e.node.data,e.node,p,L)},g=L=>{l.instance.vnode.props.onNodeContextmenu&&(L.stopPropagation(),L.preventDefault()),l.ctx.emit("node-contextmenu",L,e.node.data,e.node,p)},y=()=>{e.node.isLeaf||(n.value?(l.ctx.emit("node-collapse",e.node.data,e.node,p),e.node.collapse()):(e.node.expand(),t.emit("node-expand",e.node.data,e.node,p)))},w=(L,V)=>{e.node.setChecked(V.target.checked,!l.props.checkStrictly),et(()=>{const B=l.store.value;l.ctx.emit("check",e.node.data,{checkedNodes:B.getCheckedNodes(),checkedKeys:B.getCheckedKeys(),halfCheckedNodes:B.getHalfCheckedNodes(),halfCheckedKeys:B.getHalfCheckedKeys()})})};return{ns:o,node$:d,tree:l,expanded:n,childNodeRendered:a,oldChecked:i,oldIndeterminate:c,getNodeKey:v,getNodeClass:m,handleSelectChange:f,handleClick:_,handleContextMenu:g,handleExpandIconClick:y,handleCheckChange:w,handleChildNodeExpand:(L,V,B)=>{r(V),l.ctx.emit("node-expand",L,V,B)},handleDragStart:L=>{l.props.draggable&&u.treeNodeDragStart({event:L,treeNode:e})},handleDragOver:L=>{L.preventDefault(),l.props.draggable&&u.treeNodeDragOver({event:L,treeNode:{$el:d.value,node:e.node}})},handleDrop:L=>{L.preventDefault()},handleDragEnd:L=>{l.props.draggable&&u.treeNodeDragEnd(L)},CaretRight:dh}}}),Xie=["aria-expanded","aria-disabled","aria-checked","draggable","data-key"],Zie=["aria-expanded"];function Jie(e,t,o,r,l,n){const a=nt("el-icon"),i=nt("el-checkbox"),c=nt("loading"),d=nt("node-content"),u=nt("el-tree-node"),p=nt("el-collapse-transition");return mt((b(),M("div",{ref:"node$",class:O([e.ns.b("node"),e.ns.is("expanded",e.expanded),e.ns.is("current",e.node.isCurrent),e.ns.is("hidden",!e.node.visible),e.ns.is("focusable",!e.node.disabled),e.ns.is("checked",!e.node.disabled&&e.node.checked),e.getNodeClass(e.node)]),role:"treeitem",tabindex:"-1","aria-expanded":e.expanded,"aria-disabled":e.node.disabled,"aria-checked":e.node.checked,draggable:e.tree.props.draggable,"data-key":e.getNodeKey(e.node),onClick:t[1]||(t[1]=ct((...h)=>e.handleClick&&e.handleClick(...h),["stop"])),onContextmenu:t[2]||(t[2]=(...h)=>e.handleContextMenu&&e.handleContextMenu(...h)),onDragstart:t[3]||(t[3]=ct((...h)=>e.handleDragStart&&e.handleDragStart(...h),["stop"])),onDragover:t[4]||(t[4]=ct((...h)=>e.handleDragOver&&e.handleDragOver(...h),["stop"])),onDragend:t[5]||(t[5]=ct((...h)=>e.handleDragEnd&&e.handleDragEnd(...h),["stop"])),onDrop:t[6]||(t[6]=ct((...h)=>e.handleDrop&&e.handleDrop(...h),["stop"]))},[E("div",{class:O(e.ns.be("node","content")),style:Je({paddingLeft:(e.node.level-1)*e.tree.props.indent+"px"})},[e.tree.props.icon||e.CaretRight?(b(),he(a,{key:0,class:O([e.ns.be("node","expand-icon"),e.ns.is("leaf",e.node.isLeaf),{expanded:!e.node.isLeaf&&e.expanded}]),onClick:ct(e.handleExpandIconClick,["stop"])},{default:le(()=>[(b(),he(Et(e.tree.props.icon||e.CaretRight)))]),_:1},8,["class","onClick"])):se("v-if",!0),e.showCheckbox?(b(),he(i,{key:1,"model-value":e.node.checked,indeterminate:e.node.indeterminate,disabled:!!e.node.disabled,onClick:t[0]||(t[0]=ct(()=>{},["stop"])),onChange:e.handleCheckChange},null,8,["model-value","indeterminate","disabled","onChange"])):se("v-if",!0),e.node.loading?(b(),he(a,{key:2,class:O([e.ns.be("node","loading-icon"),e.ns.is("loading")])},{default:le(()=>[ee(c)]),_:1},8,["class"])):se("v-if",!0),ee(d,{node:e.node,"render-content":e.renderContent},null,8,["node","render-content"])],6),ee(p,null,{default:le(()=>[!e.renderAfterExpand||e.childNodeRendered?mt((b(),M("div",{key:0,class:O(e.ns.be("node","children")),role:"group","aria-expanded":e.expanded},[(b(!0),M(Qe,null,It(e.node.childNodes,h=>(b(),he(u,{key:e.getNodeKey(h),"render-content":e.renderContent,"render-after-expand":e.renderAfterExpand,"show-checkbox":e.showCheckbox,node:h,accordion:e.accordion,props:e.props,onNodeExpand:e.handleChildNodeExpand},null,8,["render-content","render-after-expand","show-checkbox","node","accordion","props","onNodeExpand"]))),128))],10,Zie)),[[Lt,e.expanded]]):se("v-if",!0)]),_:1})],42,Xie)),[[Lt,e.node.visible]])}var Qie=Le(Gie,[["render",Jie],["__file","tree-node.vue"]]);function ese({el$:e},t){const o=ze("tree"),r=lo([]),l=lo([]);ft(()=>{a()}),rn(()=>{r.value=Array.from(e.value.querySelectorAll("[role=treeitem]")),l.value=Array.from(e.value.querySelectorAll("input[type=checkbox]"))}),Se(l,i=>{i.forEach(c=>{c.setAttribute("tabindex","-1")})}),oo(e,"keydown",i=>{const c=i.target;if(!c.className.includes(o.b("node")))return;const d=i.code;r.value=Array.from(e.value.querySelectorAll(`.${o.is("focusable")}[role=treeitem]`));const u=r.value.indexOf(c);let p;if([lt.up,lt.down].includes(d)){if(i.preventDefault(),d===lt.up){p=u===-1?0:u!==0?u-1:r.value.length-1;const v=p;for(;!t.value.getNode(r.value[p].dataset.key).canFocus;){if(p--,p===v){p=-1;break}p<0&&(p=r.value.length-1)}}else{p=u===-1?0:u=r.value.length&&(p=0)}}p!==-1&&r.value[p].focus()}[lt.left,lt.right].includes(d)&&(i.preventDefault(),c.click());const h=c.querySelector('[type="checkbox"]');[lt.enter,lt.space].includes(d)&&h&&(i.preventDefault(),h.click())});const a=()=>{var i;r.value=Array.from(e.value.querySelectorAll(`.${o.is("focusable")}[role=treeitem]`)),l.value=Array.from(e.value.querySelectorAll("input[type=checkbox]"));const c=e.value.querySelectorAll(`.${o.is("checked")}[role=treeitem]`);if(c.length){c[0].setAttribute("tabindex","0");return}(i=r.value[0])==null||i.setAttribute("tabindex","0")}}const tse=N({name:"ElTree",components:{ElTreeNode:Qie},props:{data:{type:Array,default:()=>[]},emptyText:{type:String},renderAfterExpand:{type:Boolean,default:!0},nodeKey:String,checkStrictly:Boolean,defaultExpandAll:Boolean,expandOnClickNode:{type:Boolean,default:!0},checkOnClickNode:Boolean,checkDescendants:{type:Boolean,default:!1},autoExpandParent:{type:Boolean,default:!0},defaultCheckedKeys:Array,defaultExpandedKeys:Array,currentNodeKey:[String,Number],renderContent:Function,showCheckbox:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},allowDrag:Function,allowDrop:Function,props:{type:Object,default:()=>({children:"children",label:"label",disabled:"disabled"})},lazy:{type:Boolean,default:!1},highlightCurrent:Boolean,load:Function,filterNodeMethod:Function,accordion:Boolean,indent:{type:Number,default:18},icon:{type:Xt}},emits:["check-change","current-change","node-click","node-contextmenu","node-collapse","node-expand","check","node-drag-start","node-drag-end","node-drop","node-drag-leave","node-drag-enter","node-drag-over"],setup(e,t){const{t:o}=Rt(),r=ze("tree"),l=Ge(ls,null),n=D(new Wie({key:e.nodeKey,data:e.data,lazy:e.lazy,props:e.props,load:e.load,currentNodeKey:e.currentNodeKey,checkStrictly:e.checkStrictly,checkDescendants:e.checkDescendants,defaultCheckedKeys:e.defaultCheckedKeys,defaultExpandedKeys:e.defaultExpandedKeys,autoExpandParent:e.autoExpandParent,defaultExpandAll:e.defaultExpandAll,filterNodeMethod:e.filterNodeMethod}));n.value.initialize();const a=D(n.value.root),i=D(null),c=D(null),d=D(null),{broadcastExpanded:u}=mx(e),{dragState:p}=Yie({props:e,ctx:t,el$:c,dropIndicator$:d,store:n});ese({el$:c},n);const h=C(()=>{const{childNodes:K}=a.value,I=l?l.hasFilteredOptions!==0:!1;return(!K||K.length===0||K.every(({visible:U})=>!U))&&!I});Se(()=>e.currentNodeKey,K=>{n.value.setCurrentNodeKey(K)}),Se(()=>e.defaultCheckedKeys,K=>{n.value.setDefaultCheckedKey(K)}),Se(()=>e.defaultExpandedKeys,K=>{n.value.setDefaultExpandedKeys(K)}),Se(()=>e.data,K=>{n.value.setData(K)},{deep:!0}),Se(()=>e.checkStrictly,K=>{n.value.checkStrictly=K});const v=K=>{if(!e.filterNodeMethod)throw new Error("[Tree] filterNodeMethod is required when filter");n.value.filter(K)},m=K=>V2(e.nodeKey,K.data),f=K=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in getNodePath");const I=n.value.getNode(K);if(!I)return[];const U=[I.data];let oe=I.parent;for(;oe&&oe!==a.value;)U.push(oe.data),oe=oe.parent;return U.reverse()},_=(K,I)=>n.value.getCheckedNodes(K,I),g=K=>n.value.getCheckedKeys(K),y=()=>{const K=n.value.getCurrentNode();return K?K.data:null},w=()=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in getCurrentKey");const K=y();return K?K[e.nodeKey]:null},x=(K,I)=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in setCheckedNodes");n.value.setCheckedNodes(K,I)},$=(K,I)=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in setCheckedKeys");n.value.setCheckedKeys(K,I)},T=(K,I,U)=>{n.value.setChecked(K,I,U)},R=()=>n.value.getHalfCheckedNodes(),P=()=>n.value.getHalfCheckedKeys(),L=(K,I=!0)=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in setCurrentNode");D2(n,t.emit,()=>n.value.setUserCurrentNode(K,I))},V=(K,I=!0)=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in setCurrentKey");D2(n,t.emit,()=>n.value.setCurrentNodeKey(K,I))},B=K=>n.value.getNode(K),j=K=>{n.value.remove(K)},te=(K,I)=>{n.value.append(K,I)},J=(K,I)=>{n.value.insertBefore(K,I)},Z=(K,I)=>{n.value.insertAfter(K,I)},H=(K,I,U)=>{u(I),t.emit("node-expand",K,I,U)},F=(K,I)=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in updateKeyChild");n.value.updateChildren(K,I)};return zt("RootTree",{ctx:t,props:e,store:n,root:a,currentNode:i,instance:wt()}),zt(Hl,void 0),{ns:r,store:n,root:a,currentNode:i,dragState:p,el$:c,dropIndicator$:d,isEmpty:h,filter:v,getNodeKey:m,getNodePath:f,getCheckedNodes:_,getCheckedKeys:g,getCurrentNode:y,getCurrentKey:w,setCheckedNodes:x,setCheckedKeys:$,setChecked:T,getHalfCheckedNodes:R,getHalfCheckedKeys:P,setCurrentNode:L,setCurrentKey:V,t:o,getNode:B,remove:j,append:te,insertBefore:J,insertAfter:Z,handleNodeExpand:H,updateKeyChildren:F}}});function ose(e,t,o,r,l,n){const a=nt("el-tree-node");return b(),M("div",{ref:"el$",class:O([e.ns.b(),e.ns.is("dragging",!!e.dragState.draggingNode),e.ns.is("drop-not-allow",!e.dragState.allowDrop),e.ns.is("drop-inner",e.dragState.dropType==="inner"),{[e.ns.m("highlight-current")]:e.highlightCurrent}]),role:"tree"},[(b(!0),M(Qe,null,It(e.root.childNodes,i=>(b(),he(a,{key:e.getNodeKey(i),node:i,props:e.props,accordion:e.accordion,"render-after-expand":e.renderAfterExpand,"show-checkbox":e.showCheckbox,"render-content":e.renderContent,onNodeExpand:e.handleNodeExpand},null,8,["node","props","accordion","render-after-expand","show-checkbox","render-content","onNodeExpand"]))),128)),e.isEmpty?(b(),M("div",{key:0,class:O(e.ns.e("empty-block"))},[be(e.$slots,"empty",{},()=>{var i;return[E("span",{class:O(e.ns.e("empty-text"))},$e((i=e.emptyText)!=null?i:e.t("el.tree.emptyText")),3)]})],2)):se("v-if",!0),mt(E("div",{ref:"dropIndicator$",class:O(e.ns.e("drop-indicator"))},null,2),[[Lt,e.dragState.showDropIndicator]])],2)}var Fp=Le(tse,[["render",ose],["__file","tree.vue"]]);Fp.install=e=>{e.component(Fp.name,Fp)};const jp=Fp,rse=jp,lse=(e,{attrs:t,emit:o},{select:r,tree:l,key:n})=>{const a=ze("tree-select");return Se(()=>e.data,()=>{e.filterable&&et(()=>{var c,d;(d=l.value)==null||d.filter((c=r.value)==null?void 0:c.states.inputValue)})},{flush:"post"}),{...Ol(Bo(e),Object.keys(Za.props)),...t,"onUpdate:modelValue":c=>o(St,c),valueKey:n,popperClass:C(()=>{const c=[a.e("popper")];return e.popperClass&&c.push(e.popperClass),c.join(" ")}),filterMethod:(c="")=>{var d;e.filterMethod?e.filterMethod(c):e.remoteMethod?e.remoteMethod(c):(d=l.value)==null||d.filter(c)}}},nse=N({extends:Cp,setup(e,t){const o=Cp.setup(e,t);delete o.selectOptionClick;const r=wt().proxy;return et(()=>{o.select.states.cachedOptions.get(r.value)||o.select.onOptionCreate(r)}),o},methods:{selectOptionClick(){this.$el.parentElement.click()}}});function j2(e){return e||e===0}function K2(e){return Array.isArray(e)&&e.length}function eu(e){return Array.isArray(e)?e:j2(e)?[e]:[]}function Kp(e,t,o,r,l){for(let n=0;n{Se(()=>e.modelValue,()=>{e.showCheckbox&&et(()=>{const p=n.value;p&&!nr(p.getCheckedKeys(),eu(e.modelValue))&&p.setCheckedKeys(eu(e.modelValue))})},{immediate:!0,deep:!0});const i=C(()=>({value:a.value,label:"label",children:"children",disabled:"disabled",isLeaf:"isLeaf",...e.props})),c=(p,h)=>{var v;const m=i.value[p];return it(m)?m(h,(v=n.value)==null?void 0:v.getNode(c("value",h))):h[m]},d=eu(e.modelValue).map(p=>Kp(e.data||[],h=>c("value",h)===p,h=>c("children",h),(h,v,m,f)=>f&&c("value",f))).filter(p=>j2(p)),u=C(()=>{if(!e.renderAfterExpand&&!e.lazy)return[];const p=[];return U2(e.data.concat(e.cacheData),h=>{const v=c("value",h);p.push({value:v,currentLabel:c("label",h),isDisabled:c("disabled",h)})},h=>c("children",h)),p});return{...Ol(Bo(e),Object.keys(jp.props)),...t,nodeKey:a,expandOnClickNode:C(()=>!e.checkStrictly&&e.expandOnClickNode),defaultExpandedKeys:C(()=>e.defaultExpandedKeys?e.defaultExpandedKeys.concat(d):d),renderContent:(p,{node:h,data:v,store:m})=>p(nse,{value:c("value",v),label:c("label",v),disabled:c("disabled",v)},e.renderContent?()=>e.renderContent(p,{node:h,data:v,store:m}):o.default?()=>o.default({node:h,data:v,store:m}):void 0),filterNodeMethod:(p,h,v)=>e.filterNodeMethod?e.filterNodeMethod(p,h,v):p?new RegExp(ch(p),"i").test(c("label",h)||""):!0,onNodeClick:(p,h,v)=>{var m,f,_,g;if((m=t.onNodeClick)==null||m.call(t,p,h,v),!(e.showCheckbox&&e.checkOnClickNode)){if(!e.showCheckbox&&(e.checkStrictly||h.isLeaf)){if(!c("disabled",p)){const y=(f=l.value)==null?void 0:f.states.options.get(c("value",p));(_=l.value)==null||_.handleOptionSelect(y)}}else e.expandOnClickNode&&v.proxy.handleExpandIconClick();(g=l.value)==null||g.focus()}},onCheck:(p,h)=>{var v;if(!e.showCheckbox)return;const m=c("value",p),f={};U2([n.value.store.root],w=>f[w.key]=w,w=>w.childNodes);const _=h.checkedKeys,g=e.multiple?eu(e.modelValue).filter(w=>!(w in f)&&!_.includes(w)):[],y=g.concat(_);if(e.checkStrictly)r(St,e.multiple?y:y.includes(m)?m:void 0);else if(e.multiple)r(St,g.concat(n.value.getCheckedKeys(!0)));else{const w=Kp([p],T=>!K2(c("children",T))&&!c("disabled",T),T=>c("children",T)),x=w?c("value",w):void 0,$=j2(e.modelValue)&&!!Kp([p],T=>c("value",T)===e.modelValue,T=>c("children",T));r(St,x===e.modelValue||$?void 0:x)}et(()=>{var w;const x=eu(e.modelValue);n.value.setCheckedKeys(x),(w=t.onCheck)==null||w.call(t,p,{checkedKeys:n.value.getCheckedKeys(),checkedNodes:n.value.getCheckedNodes(),halfCheckedKeys:n.value.getHalfCheckedKeys(),halfCheckedNodes:n.value.getHalfCheckedNodes()})}),(v=l.value)==null||v.focus()},cacheOptions:u}};var ise=N({props:{data:{type:Array,default:()=>[]}},setup(e){const t=Ge(ls);return Se(()=>e.data,()=>{var o;e.data.forEach(l=>{t.states.cachedOptions.has(l.value)||t.states.cachedOptions.set(l.value,l)});const r=((o=t.selectRef)==null?void 0:o.querySelectorAll("input"))||[];Array.from(r).includes(document.activeElement)||t.setSelected()},{flush:"post",immediate:!0}),()=>{}}});const sse=N({name:"ElTreeSelect",inheritAttrs:!1,props:{...Za.props,...jp.props,cacheData:{type:Array,default:()=>[]}},setup(e,t){const{slots:o,expose:r}=t,l=D(),n=D(),a=C(()=>e.nodeKey||e.valueKey||"value"),i=lse(e,t,{select:l,tree:n,key:a}),{cacheOptions:c,...d}=ase(e,t,{select:l,tree:n,key:a}),u=Dt({});return r(u),ft(()=>{Object.assign(u,{...Ol(n.value,["filter","updateKeyChildren","getCheckedNodes","setCheckedNodes","getCheckedKeys","setCheckedKeys","setChecked","getHalfCheckedNodes","getHalfCheckedKeys","getCurrentKey","getCurrentNode","setCurrentKey","setCurrentNode","getNode","remove","append","insertBefore","insertAfter"]),...Ol(l.value,["focus","blur"])})}),()=>rt(Za,Dt({...i,ref:p=>l.value=p}),{...o,default:()=>[rt(ise,{data:c.value}),rt(jp,Dt({...d,ref:p=>n.value=p}))]})}});var Up=Le(sse,[["__file","tree-select.vue"]]);Up.install=e=>{e.component(Up.name,Up)};const cse=Up,W2=Symbol(),use={key:-1,level:-1,data:{}};var tu=(e=>(e.KEY="id",e.LABEL="label",e.CHILDREN="children",e.DISABLED="disabled",e))(tu||{}),q2=(e=>(e.ADD="add",e.DELETE="delete",e))(q2||{});const bx={type:Number,default:26},dse=Pe({data:{type:ue(Array),default:()=>uo([])},emptyText:{type:String},height:{type:Number,default:200},props:{type:ue(Object),default:()=>uo({children:"children",label:"label",disabled:"disabled",value:"id"})},highlightCurrent:{type:Boolean,default:!1},showCheckbox:{type:Boolean,default:!1},defaultCheckedKeys:{type:ue(Array),default:()=>uo([])},checkStrictly:{type:Boolean,default:!1},defaultExpandedKeys:{type:ue(Array),default:()=>uo([])},indent:{type:Number,default:16},itemSize:bx,icon:{type:Xt},expandOnClickNode:{type:Boolean,default:!0},checkOnClickNode:{type:Boolean,default:!1},currentNodeKey:{type:ue([String,Number])},accordion:{type:Boolean,default:!1},filterMethod:{type:ue(Function)},perfMode:{type:Boolean,default:!0}}),pse=Pe({node:{type:ue(Object),default:()=>uo(use)},expanded:{type:Boolean,default:!1},checked:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},showCheckbox:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},current:{type:Boolean,default:!1},hiddenExpandIcon:{type:Boolean,default:!1},itemSize:bx}),fse=Pe({node:{type:ue(Object),required:!0}}),_x="node-click",wx="node-expand",yx="node-collapse",xx="current-change",kx="check",Cx="check-change",Sx="node-contextmenu",hse={[_x]:(e,t,o)=>e&&t&&o,[wx]:(e,t)=>e&&t,[yx]:(e,t)=>e&&t,[xx]:(e,t)=>e&&t,[kx]:(e,t)=>e&&t,[Cx]:(e,t)=>e&&typeof t=="boolean",[Sx]:(e,t,o)=>e&&t&&o},vse={click:(e,t)=>!!(e&&t),toggle:e=>!!e,check:(e,t)=>e&&typeof t=="boolean"};function mse(e,t){const o=D(new Set),r=D(new Set),{emit:l}=wt();Se([()=>t.value,()=>e.defaultCheckedKeys],()=>et(()=>{y(e.defaultCheckedKeys)}),{immediate:!0});const n=()=>{if(!t.value||!e.showCheckbox||e.checkStrictly)return;const{levelTreeNodeMap:w,maxLevel:x}=t.value,$=o.value,T=new Set;for(let R=x-1;R>=1;--R){const P=w.get(R);P&&P.forEach(L=>{const V=L.children;if(V){let B=!0,j=!1;for(const te of V){const J=te.key;if($.has(J))j=!0;else if(T.has(J)){B=!1,j=!0;break}else B=!1}B?$.add(L.key):j?(T.add(L.key),$.delete(L.key)):($.delete(L.key),T.delete(L.key))}})}r.value=T},a=w=>o.value.has(w.key),i=w=>r.value.has(w.key),c=(w,x,$=!0)=>{const T=o.value,R=(P,L)=>{T[L?q2.ADD:q2.DELETE](P.key);const V=P.children;!e.checkStrictly&&V&&V.forEach(B=>{B.disabled||R(B,L)})};R(w,x),n(),$&&d(w,x)},d=(w,x)=>{const{checkedNodes:$,checkedKeys:T}=m(),{halfCheckedNodes:R,halfCheckedKeys:P}=f();l(kx,w.data,{checkedKeys:T,checkedNodes:$,halfCheckedKeys:P,halfCheckedNodes:R}),l(Cx,w.data,x)};function u(w=!1){return m(w).checkedKeys}function p(w=!1){return m(w).checkedNodes}function h(){return f().halfCheckedKeys}function v(){return f().halfCheckedNodes}function m(w=!1){const x=[],$=[];if(t!=null&&t.value&&e.showCheckbox){const{treeNodeMap:T}=t.value;o.value.forEach(R=>{const P=T.get(R);P&&(!w||w&&P.isLeaf)&&($.push(R),x.push(P.data))})}return{checkedKeys:$,checkedNodes:x}}function f(){const w=[],x=[];if(t!=null&&t.value&&e.showCheckbox){const{treeNodeMap:$}=t.value;r.value.forEach(T=>{const R=$.get(T);R&&(x.push(T),w.push(R.data))})}return{halfCheckedNodes:w,halfCheckedKeys:x}}function _(w){o.value.clear(),r.value.clear(),et(()=>{y(w)})}function g(w,x){if(t!=null&&t.value&&e.showCheckbox){const $=t.value.treeNodeMap.get(w);$&&c($,x,!1)}}function y(w){if(t!=null&&t.value){const{treeNodeMap:x}=t.value;if(e.showCheckbox&&x&&w)for(const $ of w){const T=x.get($);T&&!a(T)&&c(T,!0,!1)}}}return{updateCheckedKeys:n,toggleCheckbox:c,isChecked:a,isIndeterminate:i,getCheckedKeys:u,getCheckedNodes:p,getHalfCheckedKeys:h,getHalfCheckedNodes:v,setChecked:g,setCheckedKeys:_}}function gse(e,t){const o=D(new Set([])),r=D(new Set([])),l=C(()=>it(e.filterMethod));function n(i){var c;if(!l.value)return;const d=new Set,u=r.value,p=o.value,h=[],v=((c=t.value)==null?void 0:c.treeNodes)||[],m=e.filterMethod;p.clear();function f(_){_.forEach(g=>{h.push(g),m!=null&&m(i,g.data)?h.forEach(w=>{d.add(w.key)}):g.isLeaf&&p.add(g.key);const y=g.children;if(y&&f(y),!g.isLeaf){if(!d.has(g.key))p.add(g.key);else if(y){let w=!0;for(const x of y)if(!p.has(x.key)){w=!1;break}w?u.add(g.key):u.delete(g.key)}}h.pop()})}return f(v),d}function a(i){return r.value.has(i.key)}return{hiddenExpandIconKeySet:r,hiddenNodeKeySet:o,doFilter:n,isForceHiddenExpandIcon:a}}function bse(e,t){const o=D(new Set(e.defaultExpandedKeys)),r=D(),l=lo();Se(()=>e.currentNodeKey,me=>{r.value=me},{immediate:!0}),Se(()=>e.data,me=>{de(me)},{immediate:!0});const{isIndeterminate:n,isChecked:a,toggleCheckbox:i,getCheckedKeys:c,getCheckedNodes:d,getHalfCheckedKeys:u,getHalfCheckedNodes:p,setChecked:h,setCheckedKeys:v}=mse(e,l),{doFilter:m,hiddenNodeKeySet:f,isForceHiddenExpandIcon:_}=gse(e,l),g=C(()=>{var me;return((me=e.props)==null?void 0:me.value)||tu.KEY}),y=C(()=>{var me;return((me=e.props)==null?void 0:me.children)||tu.CHILDREN}),w=C(()=>{var me;return((me=e.props)==null?void 0:me.disabled)||tu.DISABLED}),x=C(()=>{var me;return((me=e.props)==null?void 0:me.label)||tu.LABEL}),$=C(()=>{const me=o.value,Re=f.value,Ce=[],Ee=l.value&&l.value.treeNodes||[];function De(){const ae=[];for(let pe=Ee.length-1;pe>=0;--pe)ae.push(Ee[pe]);for(;ae.length;){const pe=ae.pop();if(pe&&(Re.has(pe.key)||Ce.push(pe),me.has(pe.key))){const ke=pe.children;if(ke){const Oe=ke.length;for(let we=Oe-1;we>=0;--we)ae.push(ke[we])}}}}return De(),Ce}),T=C(()=>$.value.length>0);function R(me){const Re=new Map,Ce=new Map;let Ee=1;function De(pe,ke=1,Oe=void 0){var we;const Te=[];for(const Ne of pe){const Ie=V(Ne),Ae={level:ke,key:Ie,data:Ne};Ae.label=j(Ne),Ae.parent=Oe;const xe=L(Ne);Ae.disabled=B(Ne),Ae.isLeaf=!xe||xe.length===0,xe&&xe.length&&(Ae.children=De(xe,ke+1,Ae)),Te.push(Ae),Re.set(Ie,Ae),Ce.has(ke)||Ce.set(ke,[]),(we=Ce.get(ke))==null||we.push(Ae)}return ke>Ee&&(Ee=ke),Te}const ae=De(me);return{treeNodeMap:Re,levelTreeNodeMap:Ce,maxLevel:Ee,treeNodes:ae}}function P(me){const Re=m(me);Re&&(o.value=Re)}function L(me){return me[y.value]}function V(me){return me?me[g.value]:""}function B(me){return me[w.value]}function j(me){return me[x.value]}function te(me){o.value.has(me.key)?I(me):K(me)}function J(me){o.value=new Set(me)}function Z(me,Re){t(_x,me.data,me,Re),H(me),e.expandOnClickNode&&te(me),e.showCheckbox&&e.checkOnClickNode&&!me.disabled&&i(me,!a(me),!0)}function H(me){ne(me)||(r.value=me.key,t(xx,me.data,me))}function F(me,Re){i(me,Re)}function K(me){const Re=o.value;if(l.value&&e.accordion){const{treeNodeMap:Ce}=l.value;Re.forEach(Ee=>{const De=Ce.get(Ee);me&&me.level===(De==null?void 0:De.level)&&Re.delete(Ee)})}Re.add(me.key),t(wx,me.data,me)}function I(me){o.value.delete(me.key),t(yx,me.data,me)}function U(me){return o.value.has(me.key)}function oe(me){return!!me.disabled}function ne(me){const Re=r.value;return Re!==void 0&&Re===me.key}function ce(){var me,Re;if(r.value)return(Re=(me=l.value)==null?void 0:me.treeNodeMap.get(r.value))==null?void 0:Re.data}function Q(){return r.value}function Me(me){r.value=me}function de(me){et(()=>l.value=R(me))}function _e(me){var Re;const Ce=xt(me)?V(me):me;return(Re=l.value)==null?void 0:Re.treeNodeMap.get(Ce)}return{tree:l,flattenTree:$,isNotEmpty:T,getKey:V,getChildren:L,toggleExpand:te,toggleCheckbox:i,isExpanded:U,isChecked:a,isIndeterminate:n,isDisabled:oe,isCurrent:ne,isForceHiddenExpandIcon:_,handleNodeClick:Z,handleNodeCheck:F,getCurrentNode:ce,getCurrentKey:Q,setCurrentKey:Me,getCheckedKeys:c,getCheckedNodes:d,getHalfCheckedKeys:u,getHalfCheckedNodes:p,setChecked:h,setCheckedKeys:v,filter:P,setData:de,getNode:_e,expandNode:K,collapseNode:I,setExpandedKeys:J}}var _se=N({name:"ElTreeNodeContent",props:fse,setup(e){const t=Ge(W2),o=ze("tree");return()=>{const r=e.node,{data:l}=r;return t!=null&&t.ctx.slots.default?t.ctx.slots.default({node:r,data:l}):rt("span",{class:o.be("node","label")},[r==null?void 0:r.label])}}});const wse=["aria-expanded","aria-disabled","aria-checked","data-key","onClick"],yse=N({...N({name:"ElTreeNode"}),props:pse,emits:vse,setup(e,{emit:t}){const o=e,r=Ge(W2),l=ze("tree"),n=C(()=>{var p;return(p=r==null?void 0:r.props.indent)!=null?p:16}),a=C(()=>{var p;return(p=r==null?void 0:r.props.icon)!=null?p:dh}),i=p=>{t("click",o.node,p)},c=()=>{t("toggle",o.node)},d=p=>{t("check",o.node,p)},u=p=>{var h,v,m,f;(m=(v=(h=r==null?void 0:r.instance)==null?void 0:h.vnode)==null?void 0:v.props)!=null&&m.onNodeContextmenu&&(p.stopPropagation(),p.preventDefault()),r==null||r.ctx.emit(Sx,p,(f=o.node)==null?void 0:f.data,o.node)};return(p,h)=>{var v,m,f;return b(),M("div",{ref:"node$",class:O([s(l).b("node"),s(l).is("expanded",p.expanded),s(l).is("current",p.current),s(l).is("focusable",!p.disabled),s(l).is("checked",!p.disabled&&p.checked)]),role:"treeitem",tabindex:"-1","aria-expanded":p.expanded,"aria-disabled":p.disabled,"aria-checked":p.checked,"data-key":(v=p.node)==null?void 0:v.key,onClick:ct(i,["stop"]),onContextmenu:u},[E("div",{class:O(s(l).be("node","content")),style:Je({paddingLeft:`${(p.node.level-1)*s(n)}px`,height:p.itemSize+"px"})},[s(a)?(b(),he(s(Ze),{key:0,class:O([s(l).is("leaf",!!((m=p.node)!=null&&m.isLeaf)),s(l).is("hidden",p.hiddenExpandIcon),{expanded:!((f=p.node)!=null&&f.isLeaf)&&p.expanded},s(l).be("node","expand-icon")]),onClick:ct(c,["stop"])},{default:le(()=>[(b(),he(Et(s(a))))]),_:1},8,["class","onClick"])):se("v-if",!0),p.showCheckbox?(b(),he(s(rl),{key:1,"model-value":p.checked,indeterminate:p.indeterminate,disabled:p.disabled,onChange:d,onClick:h[0]||(h[0]=ct(()=>{},["stop"]))},null,8,["model-value","indeterminate","disabled"])):se("v-if",!0),ee(s(_se),{node:p.node},null,8,["node"])],6)],42,wse)}}});var xse=Le(yse,[["__file","tree-node.vue"]]);const kse=N({...N({name:"ElTreeV2"}),props:dse,emits:hse,setup(e,{expose:t,emit:o}){const r=e,l=Do(),n=C(()=>r.itemSize);zt(W2,{ctx:{emit:o,slots:l},props:r,instance:wt()}),zt(Hl,void 0);const{t:a}=Rt(),i=ze("tree"),{flattenTree:c,isNotEmpty:d,toggleExpand:u,isExpanded:p,isIndeterminate:h,isChecked:v,isDisabled:m,isCurrent:f,isForceHiddenExpandIcon:_,handleNodeClick:g,handleNodeCheck:y,toggleCheckbox:w,getCurrentNode:x,getCurrentKey:$,setCurrentKey:T,getCheckedKeys:R,getCheckedNodes:P,getHalfCheckedKeys:L,getHalfCheckedNodes:V,setChecked:B,setCheckedKeys:j,filter:te,setData:J,getNode:Z,expandNode:H,collapseNode:F,setExpandedKeys:K}=bse(r,o);return t({toggleCheckbox:w,getCurrentNode:x,getCurrentKey:$,setCurrentKey:T,getCheckedKeys:R,getCheckedNodes:P,getHalfCheckedKeys:L,getHalfCheckedNodes:V,setChecked:B,setCheckedKeys:j,filter:te,setData:J,getNode:Z,expandNode:H,collapseNode:F,setExpandedKeys:K}),(I,U)=>{var oe;return b(),M("div",{class:O([s(i).b(),{[s(i).m("highlight-current")]:I.highlightCurrent}]),role:"tree"},[s(d)?(b(),he(s(s8),{key:0,"class-name":s(i).b("virtual-list"),data:s(c),total:s(c).length,height:I.height,"item-size":s(n),"perf-mode":I.perfMode},{default:le(({data:ne,index:ce,style:Q})=>[(b(),he(xse,{key:ne[ce].key,style:Je(Q),node:ne[ce],expanded:s(p)(ne[ce]),"show-checkbox":I.showCheckbox,checked:s(v)(ne[ce]),indeterminate:s(h)(ne[ce]),"item-size":s(n),disabled:s(m)(ne[ce]),current:s(f)(ne[ce]),"hidden-expand-icon":s(_)(ne[ce]),onClick:s(g),onToggle:s(u),onCheck:s(y)},null,8,["style","node","expanded","show-checkbox","checked","indeterminate","item-size","disabled","current","hidden-expand-icon","onClick","onToggle","onCheck"]))]),_:1},8,["class-name","data","total","height","item-size","perf-mode"])):(b(),M("div",{key:1,class:O(s(i).e("empty-block"))},[E("span",{class:O(s(i).e("empty-text"))},$e((oe=I.emptyText)!=null?oe:s(a)("el.tree.emptyText")),3)],2))],2)}}});var Cse=Le(kse,[["__file","tree.vue"]]);const Sse=yt(Cse),Ex=Symbol("uploadContextKey"),Ese="ElUpload";class Tse extends Error{constructor(t,o,r,l){super(t),this.name="UploadAjaxError",this.status=o,this.method=r,this.url=l}}function Tx(e,t,o){let r;return o.response?r=`${o.response.error||o.response}`:o.responseText?r=`${o.responseText}`:r=`fail to ${t.method} ${e} ${o.status}`,new Tse(r,o.status,t.method,e)}function $se(e){const t=e.responseText||e.response;if(!t)return t;try{return JSON.parse(t)}catch{return t}}const Mse=e=>{typeof XMLHttpRequest>"u"&&Io(Ese,"XMLHttpRequest is undefined");const t=new XMLHttpRequest,o=e.action;t.upload&&t.upload.addEventListener("progress",n=>{const a=n;a.percent=n.total>0?n.loaded/n.total*100:0,e.onProgress(a)});const r=new FormData;if(e.data)for(const[n,a]of Object.entries(e.data))Ke(a)&&a.length?r.append(n,...a):r.append(n,a);r.append(e.filename,e.file,e.file.name),t.addEventListener("error",()=>{e.onError(Tx(o,e,t))}),t.addEventListener("load",()=>{if(t.status<200||t.status>=300)return e.onError(Tx(o,e,t));e.onSuccess($se(t))}),t.open(e.method,o,!0),e.withCredentials&&"withCredentials"in t&&(t.withCredentials=!0);const l=e.headers||{};if(l instanceof Headers)l.forEach((n,a)=>t.setRequestHeader(a,n));else for(const[n,a]of Object.entries(l))jo(a)||t.setRequestHeader(n,String(a));return t.send(r),t},$x=["text","picture","picture-card"];let Ase=1;const Y2=()=>Date.now()+Ase++,Mx=Pe({action:{type:String,default:"#"},headers:{type:ue(Object)},method:{type:String,default:"post"},data:{type:ue([Object,Function,Promise]),default:()=>uo({})},multiple:{type:Boolean,default:!1},name:{type:String,default:"file"},drag:{type:Boolean,default:!1},withCredentials:Boolean,showFileList:{type:Boolean,default:!0},accept:{type:String,default:""},fileList:{type:ue(Array),default:()=>uo([])},autoUpload:{type:Boolean,default:!0},listType:{type:String,values:$x,default:"text"},httpRequest:{type:ue(Function),default:Mse},disabled:Boolean,limit:Number}),zse=Pe({...Mx,beforeUpload:{type:ue(Function),default:Wt},beforeRemove:{type:ue(Function)},onRemove:{type:ue(Function),default:Wt},onChange:{type:ue(Function),default:Wt},onPreview:{type:ue(Function),default:Wt},onSuccess:{type:ue(Function),default:Wt},onProgress:{type:ue(Function),default:Wt},onError:{type:ue(Function),default:Wt},onExceed:{type:ue(Function),default:Wt},crossorigin:{type:ue(String)}}),Ise=Pe({files:{type:ue(Array),default:()=>uo([])},disabled:{type:Boolean,default:!1},handlePreview:{type:ue(Function),default:Wt},listType:{type:String,values:$x,default:"text"},crossorigin:{type:ue(String)}}),Ose={remove:e=>!!e},Nse=["onKeydown"],Pse=["src","crossorigin"],Rse=["onClick"],Lse=["title"],Bse=["onClick"],Vse=["onClick"],Dse=N({...N({name:"ElUploadList"}),props:Ise,emits:Ose,setup(e,{emit:t}){const o=e,{t:r}=Rt(),l=ze("upload"),n=ze("icon"),a=ze("list"),i=xr(),c=D(!1),d=C(()=>[l.b("list"),l.bm("list",o.listType),l.is("disabled",o.disabled)]),u=p=>{t("remove",p)};return(p,h)=>(b(),he(I1,{tag:"ul",class:O(s(d)),name:s(a).b()},{default:le(()=>[(b(!0),M(Qe,null,It(p.files,v=>(b(),M("li",{key:v.uid||v.name,class:O([s(l).be("list","item"),s(l).is(v.status),{focusing:c.value}]),tabindex:"0",onKeydown:Gt(m=>!s(i)&&u(v),["delete"]),onFocus:h[0]||(h[0]=m=>c.value=!0),onBlur:h[1]||(h[1]=m=>c.value=!1),onClick:h[2]||(h[2]=m=>c.value=!1)},[be(p.$slots,"default",{file:v},()=>[p.listType==="picture"||v.status!=="uploading"&&p.listType==="picture-card"?(b(),M("img",{key:0,class:O(s(l).be("list","item-thumbnail")),src:v.url,crossorigin:p.crossorigin,alt:""},null,10,Pse)):se("v-if",!0),v.status==="uploading"||p.listType!=="picture-card"?(b(),M("div",{key:1,class:O(s(l).be("list","item-info"))},[E("a",{class:O(s(l).be("list","item-name")),onClick:ct(m=>p.handlePreview(v),["prevent"])},[ee(s(Ze),{class:O(s(n).m("document"))},{default:le(()=>[ee(s(R3))]),_:1},8,["class"]),E("span",{class:O(s(l).be("list","item-file-name")),title:v.name},$e(v.name),11,Lse)],10,Rse),v.status==="uploading"?(b(),he(s(Xy),{key:0,type:p.listType==="picture-card"?"circle":"line","stroke-width":p.listType==="picture-card"?6:2,percentage:Number(v.percentage),style:Je(p.listType==="picture-card"?"":"margin-top: 0.5rem")},null,8,["type","stroke-width","percentage","style"])):se("v-if",!0)],2)):se("v-if",!0),E("label",{class:O(s(l).be("list","item-status-label"))},[p.listType==="text"?(b(),he(s(Ze),{key:0,class:O([s(n).m("upload-success"),s(n).m("circle-check")])},{default:le(()=>[ee(s(zd))]),_:1},8,["class"])):["picture-card","picture"].includes(p.listType)?(b(),he(s(Ze),{key:1,class:O([s(n).m("upload-success"),s(n).m("check")])},{default:le(()=>[ee(s(Li))]),_:1},8,["class"])):se("v-if",!0)],2),s(i)?se("v-if",!0):(b(),he(s(Ze),{key:2,class:O(s(n).m("close")),onClick:m=>u(v)},{default:le(()=>[ee(s(Jr))]),_:2},1032,["class","onClick"])),se(" Due to close btn only appears when li gets focused disappears after li gets blurred, thus keyboard navigation can never reach close btn"),se(" This is a bug which needs to be fixed "),se(" TODO: Fix the incorrect navigation interaction "),s(i)?se("v-if",!0):(b(),M("i",{key:3,class:O(s(n).m("close-tip"))},$e(s(r)("el.upload.deleteTip")),3)),p.listType==="picture-card"?(b(),M("span",{key:4,class:O(s(l).be("list","item-actions"))},[E("span",{class:O(s(l).be("list","item-preview")),onClick:m=>p.handlePreview(v)},[ee(s(Ze),{class:O(s(n).m("zoom-in"))},{default:le(()=>[ee(s(mh))]),_:1},8,["class"])],10,Bse),s(i)?se("v-if",!0):(b(),M("span",{key:0,class:O(s(l).be("list","item-delete")),onClick:m=>u(v)},[ee(s(Ze),{class:O(s(n).m("delete"))},{default:le(()=>[ee(s(P3))]),_:1},8,["class"])],10,Vse))],2)):se("v-if",!0)])],42,Nse))),128)),be(p.$slots,"append")]),_:3},8,["class","name"]))}});var Ax=Le(Dse,[["__file","upload-list.vue"]]);const Hse=Pe({disabled:{type:Boolean,default:!1}}),Fse={file:e=>Ke(e)},jse=["onDrop","onDragover"],zx="ElUploadDrag",Kse=N({...N({name:zx}),props:Hse,emits:Fse,setup(e,{emit:t}){Ge(Ex)||Io(zx,"usage: ");const r=ze("upload"),l=D(!1),n=xr(),a=c=>{if(n.value)return;l.value=!1,c.stopPropagation();const d=Array.from(c.dataTransfer.files);t("file",d)},i=()=>{n.value||(l.value=!0)};return(c,d)=>(b(),M("div",{class:O([s(r).b("dragger"),s(r).is("dragover",l.value)]),onDrop:ct(a,["prevent"]),onDragover:ct(i,["prevent"]),onDragleave:d[0]||(d[0]=ct(u=>l.value=!1,["prevent"]))},[be(c.$slots,"default")],42,jse))}});var Use=Le(Kse,[["__file","upload-dragger.vue"]]);const Wse=Pe({...Mx,beforeUpload:{type:ue(Function),default:Wt},onRemove:{type:ue(Function),default:Wt},onStart:{type:ue(Function),default:Wt},onSuccess:{type:ue(Function),default:Wt},onProgress:{type:ue(Function),default:Wt},onError:{type:ue(Function),default:Wt},onExceed:{type:ue(Function),default:Wt}}),qse=["onKeydown"],Yse=["name","multiple","accept"],Gse=N({...N({name:"ElUploadContent",inheritAttrs:!1}),props:Wse,setup(e,{expose:t}){const o=e,r=ze("upload"),l=xr(),n=lo({}),a=lo(),i=f=>{if(f.length===0)return;const{autoUpload:_,limit:g,fileList:y,multiple:w,onStart:x,onExceed:$}=o;if(g&&y.length+f.length>g){$(f,y);return}w||(f=f.slice(0,1));for(const T of f){const R=T;R.uid=Y2(),x(R),_&&c(R)}},c=async f=>{if(a.value.value="",!o.beforeUpload)return u(f);let _,g={};try{const w=o.data,x=o.beforeUpload(f);g=gu(o.data)?xd(o.data):o.data,_=await x,gu(o.data)&&nr(w,g)&&(g=xd(o.data))}catch{_=!1}if(_===!1){o.onRemove(f);return}let y=f;_ instanceof Blob&&(_ instanceof File?y=_:y=new File([_],f.name,{type:f.type})),u(Object.assign(y,{uid:f.uid}),g)},d=async(f,_)=>it(f)?f(_):f,u=async(f,_)=>{const{headers:g,data:y,method:w,withCredentials:x,name:$,action:T,onProgress:R,onSuccess:P,onError:L,httpRequest:V}=o;try{_=await d(_??y,f)}catch{o.onRemove(f);return}const{uid:B}=f,j={headers:g||{},withCredentials:x,file:f,data:_,method:w,filename:$,action:T,onProgress:J=>{R(J,f)},onSuccess:J=>{P(J,f),delete n.value[B]},onError:J=>{L(J,f),delete n.value[B]}},te=V(j);n.value[B]=te,te instanceof Promise&&te.then(j.onSuccess,j.onError)},p=f=>{const _=f.target.files;_&&i(Array.from(_))},h=()=>{l.value||(a.value.value="",a.value.click())},v=()=>{h()};return t({abort:f=>{Yz(n.value).filter(f?([g])=>String(f.uid)===g:()=>!0).forEach(([g,y])=>{y instanceof XMLHttpRequest&&y.abort(),delete n.value[g]})},upload:c}),(f,_)=>(b(),M("div",{class:O([s(r).b(),s(r).m(f.listType),s(r).is("drag",f.drag)]),tabindex:"0",onClick:h,onKeydown:Gt(ct(v,["self"]),["enter","space"])},[f.drag?(b(),he(Use,{key:0,disabled:s(l),onFile:i},{default:le(()=>[be(f.$slots,"default")]),_:3},8,["disabled"])):be(f.$slots,"default",{key:1}),E("input",{ref_key:"inputRef",ref:a,class:O(s(r).e("input")),name:f.name,multiple:f.multiple,accept:f.accept,type:"file",onChange:p,onClick:_[0]||(_[0]=ct(()=>{},["stop"]))},null,42,Yse)],42,qse))}});var Ix=Le(Gse,[["__file","upload-content.vue"]]);const Ox="ElUpload",Nx=e=>{var t;(t=e.url)!=null&&t.startsWith("blob:")&&URL.revokeObjectURL(e.url)},Xse=(e,t)=>{const o=a_(e,"fileList",void 0,{passive:!0}),r=h=>o.value.find(v=>v.uid===h.uid);function l(h){var v;(v=t.value)==null||v.abort(h)}function n(h=["ready","uploading","success","fail"]){o.value=o.value.filter(v=>!h.includes(v.status))}const a=(h,v)=>{const m=r(v);m&&(console.error(h),m.status="fail",o.value.splice(o.value.indexOf(m),1),e.onError(h,m,o.value),e.onChange(m,o.value))},i=(h,v)=>{const m=r(v);m&&(e.onProgress(h,m,o.value),m.status="uploading",m.percentage=Math.round(h.percent))},c=(h,v)=>{const m=r(v);m&&(m.status="success",m.response=h,e.onSuccess(h,m,o.value),e.onChange(m,o.value))},d=h=>{jo(h.uid)&&(h.uid=Y2());const v={name:h.name,percentage:0,status:"ready",size:h.size,raw:h,uid:h.uid};if(e.listType==="picture-card"||e.listType==="picture")try{v.url=URL.createObjectURL(h)}catch(m){m.message,e.onError(m,v,o.value)}o.value=[...o.value,v],e.onChange(v,o.value)},u=async h=>{const v=h instanceof File?r(h):h;v||Io(Ox,"file to be removed not found");const m=f=>{l(f);const _=o.value;_.splice(_.indexOf(f),1),e.onRemove(f,_),Nx(f)};e.beforeRemove?await e.beforeRemove(v,o.value)!==!1&&m(v):m(v)};function p(){o.value.filter(({status:h})=>h==="ready").forEach(({raw:h})=>{var v;return h&&((v=t.value)==null?void 0:v.upload(h))})}return Se(()=>e.listType,h=>{h!=="picture-card"&&h!=="picture"||(o.value=o.value.map(v=>{const{raw:m,url:f}=v;if(!f&&m)try{v.url=URL.createObjectURL(m)}catch(_){e.onError(_,v,o.value)}return v}))}),Se(o,h=>{for(const v of h)v.uid||(v.uid=Y2()),v.status||(v.status="success")},{immediate:!0,deep:!0}),{uploadFiles:o,abort:l,clearFiles:n,handleError:a,handleProgress:i,handleStart:d,handleSuccess:c,handleRemove:u,submit:p,revokeFileObjectURL:Nx}},Zse=N({...N({name:"ElUpload"}),props:zse,setup(e,{expose:t}){const o=e,r=xr(),l=lo(),{abort:n,submit:a,clearFiles:i,uploadFiles:c,handleStart:d,handleError:u,handleRemove:p,handleSuccess:h,handleProgress:v,revokeFileObjectURL:m}=Xse(o,l),f=C(()=>o.listType==="picture-card"),_=C(()=>({...o,fileList:c.value,onStart:d,onProgress:v,onSuccess:h,onError:u,onRemove:p}));return to(()=>{c.value.forEach(m)}),zt(Ex,{accept:Yt(o,"accept")}),t({abort:n,submit:a,clearFiles:i,handleStart:d,handleRemove:p}),(g,y)=>(b(),M("div",null,[s(f)&&g.showFileList?(b(),he(Ax,{key:0,disabled:s(r),"list-type":g.listType,files:s(c),crossorigin:g.crossorigin,"handle-preview":g.onPreview,onRemove:s(p)},ln({append:le(()=>[ee(Ix,Mt({ref_key:"uploadRef",ref:l},s(_)),{default:le(()=>[g.$slots.trigger?be(g.$slots,"trigger",{key:0}):se("v-if",!0),!g.$slots.trigger&&g.$slots.default?be(g.$slots,"default",{key:1}):se("v-if",!0)]),_:3},16)]),_:2},[g.$slots.file?{name:"default",fn:le(({file:w})=>[be(g.$slots,"file",{file:w})])}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):se("v-if",!0),!s(f)||s(f)&&!g.showFileList?(b(),he(Ix,Mt({key:1,ref_key:"uploadRef",ref:l},s(_)),{default:le(()=>[g.$slots.trigger?be(g.$slots,"trigger",{key:0}):se("v-if",!0),!g.$slots.trigger&&g.$slots.default?be(g.$slots,"default",{key:1}):se("v-if",!0)]),_:3},16)):se("v-if",!0),g.$slots.trigger?be(g.$slots,"default",{key:2}):se("v-if",!0),be(g.$slots,"tip"),!s(f)&&g.showFileList?(b(),he(Ax,{key:3,disabled:s(r),"list-type":g.listType,files:s(c),crossorigin:g.crossorigin,"handle-preview":g.onPreview,onRemove:s(p)},ln({_:2},[g.$slots.file?{name:"default",fn:le(({file:w})=>[be(g.$slots,"file",{file:w})])}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):se("v-if",!0)]))}});var Jse=Le(Zse,[["__file","upload.vue"]]);const Qse=yt(Jse),ece=Pe({zIndex:{type:Number,default:9},rotate:{type:Number,default:-22},width:Number,height:Number,image:String,content:{type:ue([String,Array]),default:"Element Plus"},font:{type:ue(Object)},gap:{type:ue(Array),default:()=>[100,100]},offset:{type:ue(Array)}});function tce(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase()}function oce(e){return Object.keys(e).map(t=>`${tce(t)}: ${e[t]};`).join(" ")}function rce(){return window.devicePixelRatio||1}const lce=(e,t)=>{let o=!1;return e.removedNodes.length&&t&&(o=Array.from(e.removedNodes).includes(t)),e.type==="attributes"&&e.target===t&&(o=!0),o},Px=3;function G2(e,t,o=1){const r=document.createElement("canvas"),l=r.getContext("2d"),n=e*o,a=t*o;return r.setAttribute("width",`${n}px`),r.setAttribute("height",`${a}px`),l.save(),[l,r,n,a]}function nce(){function e(t,o,r,l,n,a,i,c){const[d,u,p,h]=G2(l,n,r);if(t instanceof HTMLImageElement)d.drawImage(t,0,0,p,h);else{const{color:oe,fontSize:ne,fontStyle:ce,fontWeight:Q,fontFamily:Me,textAlign:de,textBaseline:_e}=a,me=Number(ne)*r;d.font=`${ce} normal ${Q} ${me}px/${n}px ${Me}`,d.fillStyle=oe,d.textAlign=de,d.textBaseline=_e;const Re=Array.isArray(t)?t:[t];Re==null||Re.forEach((Ce,Ee)=>{d.fillText(Ce??"",p/2,Ee*(me+Px*r))})}const v=Math.PI/180*Number(o),m=Math.max(l,n),[f,_,g]=G2(m,m,r);f.translate(g/2,g/2),f.rotate(v),p>0&&h>0&&f.drawImage(u,-p/2,-h/2);function y(oe,ne){const ce=oe*Math.cos(v)-ne*Math.sin(v),Q=oe*Math.sin(v)+ne*Math.cos(v);return[ce,Q]}let w=0,x=0,$=0,T=0;const R=p/2,P=h/2;[[0-R,0-P],[0+R,0-P],[0+R,0+P],[0-R,0+P]].forEach(([oe,ne])=>{const[ce,Q]=y(oe,ne);w=Math.min(w,ce),x=Math.max(x,ce),$=Math.min($,Q),T=Math.max(T,Q)});const V=w+g/2,B=$+g/2,j=x-w,te=T-$,J=i*r,Z=c*r,H=(j+J)*2,F=te+Z,[K,I]=G2(H,F);function U(oe=0,ne=0){K.drawImage(_,V,B,j,te,oe,ne,j,te)}return U(),U(j+J,-te/2-Z/2),U(j+J,+te/2+Z/2),[I.toDataURL(),H/r,F/r]}return e}const ace=N({...N({name:"ElWatermark"}),props:ece,setup(e){const t=e,o={position:"relative"},r=C(()=>{var V,B;return(B=(V=t.font)==null?void 0:V.color)!=null?B:"rgba(0,0,0,.15)"}),l=C(()=>{var V,B;return(B=(V=t.font)==null?void 0:V.fontSize)!=null?B:16}),n=C(()=>{var V,B;return(B=(V=t.font)==null?void 0:V.fontWeight)!=null?B:"normal"}),a=C(()=>{var V,B;return(B=(V=t.font)==null?void 0:V.fontStyle)!=null?B:"normal"}),i=C(()=>{var V,B;return(B=(V=t.font)==null?void 0:V.fontFamily)!=null?B:"sans-serif"}),c=C(()=>{var V,B;return(B=(V=t.font)==null?void 0:V.textAlign)!=null?B:"center"}),d=C(()=>{var V,B;return(B=(V=t.font)==null?void 0:V.textBaseline)!=null?B:"hanging"}),u=C(()=>t.gap[0]),p=C(()=>t.gap[1]),h=C(()=>u.value/2),v=C(()=>p.value/2),m=C(()=>{var V,B;return(B=(V=t.offset)==null?void 0:V[0])!=null?B:h.value}),f=C(()=>{var V,B;return(B=(V=t.offset)==null?void 0:V[1])!=null?B:v.value}),_=()=>{const V={zIndex:t.zIndex,position:"absolute",left:0,top:0,width:"100%",height:"100%",pointerEvents:"none",backgroundRepeat:"repeat"};let B=m.value-h.value,j=f.value-v.value;return B>0&&(V.left=`${B}px`,V.width=`calc(100% - ${B}px)`,B=0),j>0&&(V.top=`${j}px`,V.height=`calc(100% - ${j}px)`,j=0),V.backgroundPosition=`${B}px ${j}px`,V},g=lo(null),y=lo(),w=D(!1),x=()=>{y.value&&(y.value.remove(),y.value=void 0)},$=(V,B)=>{var j;g.value&&y.value&&(w.value=!0,y.value.setAttribute("style",oce({..._(),backgroundImage:`url('${V}')`,backgroundSize:`${Math.floor(B)}px`})),(j=g.value)==null||j.append(y.value),setTimeout(()=>{w.value=!1}))},T=V=>{let B=120,j=64;const te=t.image,J=t.content,Z=t.width,H=t.height;if(!te&&V.measureText){V.font=`${Number(l.value)}px ${i.value}`;const F=Array.isArray(J)?J:[J],K=F.map(I=>{const U=V.measureText(I);return[U.width,U.fontBoundingBoxAscent!==void 0?U.fontBoundingBoxAscent+U.fontBoundingBoxDescent:U.actualBoundingBoxAscent+U.actualBoundingBoxDescent]});B=Math.ceil(Math.max(...K.map(I=>I[0]))),j=Math.ceil(Math.max(...K.map(I=>I[1])))*F.length+(F.length-1)*Px}return[Z??B,H??j]},R=nce(),P=()=>{const B=document.createElement("canvas").getContext("2d"),j=t.image,te=t.content,J=t.rotate;if(B){y.value||(y.value=document.createElement("div"));const Z=rce(),[H,F]=T(B),K=I=>{const[U,oe]=R(I||"",J,Z,H,F,{color:r.value,fontSize:l.value,fontStyle:a.value,fontWeight:n.value,fontFamily:i.value,textAlign:c.value,textBaseline:d.value},u.value,p.value);$(U,oe)};if(j){const I=new Image;I.onload=()=>{K(I)},I.onerror=()=>{K(te)},I.crossOrigin="anonymous",I.referrerPolicy="no-referrer",I.src=j}else K(te)}};return ft(()=>{P()}),Se(()=>t,()=>{P()},{deep:!0,flush:"post"}),to(()=>{x()}),o_(g,V=>{w.value||V.forEach(B=>{lce(B,y.value)&&(x(),P())})},{attributes:!0,subtree:!0,childList:!0}),(V,B)=>(b(),M("div",{ref_key:"containerRef",ref:g,style:Je([o])},[be(V.$slots,"default")],4))}});var ice=Le(ace,[["__file","watermark.vue"]]);const sce=yt(ice),cce=Pe({zIndex:{type:Number,default:1001},visible:Boolean,fill:{type:String,default:"rgba(0,0,0,0.5)"},pos:{type:ue(Object)},targetAreaClickable:{type:Boolean,default:!0}}),uce=(e,t,o,r,l)=>{const n=D(null),a=()=>{let p;return ut(e.value)?p=document.querySelector(e.value):it(e.value)?p=e.value():p=e.value,p},i=()=>{const p=a();if(!p||!t.value){n.value=null;return}!dce(p)&&t.value&&p.scrollIntoView(l.value);const{left:h,top:v,width:m,height:f}=p.getBoundingClientRect();n.value={left:h,top:v,width:m,height:f,radius:0}};ft(()=>{Se([t,e],()=>{i()},{immediate:!0}),window.addEventListener("resize",i)}),to(()=>{window.removeEventListener("resize",i)});const c=p=>{var h;return(h=Ke(o.value.offset)?o.value.offset[p]:o.value.offset)!=null?h:6},d=C(()=>{var p;if(!n.value)return n.value;const h=c(0),v=c(1),m=((p=o.value)==null?void 0:p.radius)||2;return{left:n.value.left-h,top:n.value.top-v,width:n.value.width+h*2,height:n.value.height+v*2,radius:m}}),u=C(()=>{const p=a();return!r.value||!p||!window.DOMRect?p||void 0:{getBoundingClientRect(){var h,v,m,f;return window.DOMRect.fromRect({width:((h=d.value)==null?void 0:h.width)||0,height:((v=d.value)==null?void 0:v.height)||0,x:((m=d.value)==null?void 0:m.left)||0,y:((f=d.value)==null?void 0:f.top)||0})}}});return{mergedPosInfo:d,triggerTarget:u}},Wp=Symbol("ElTour");function dce(e){const t=window.innerWidth||document.documentElement.clientWidth,o=window.innerHeight||document.documentElement.clientHeight,{top:r,right:l,bottom:n,left:a}=e.getBoundingClientRect();return r>=0&&a>=0&&l<=t&&n<=o}const pce=(e,t,o,r,l,n,a,i)=>{const c=D(),d=D(),u=D({}),p={x:c,y:d,placement:r,strategy:l,middlewareData:u},h=C(()=>{const g=[J6(s(n)),pK(),dK(),fce()];return s(i)&&s(o)&&g.push(Q6({element:s(o)})),g}),v=async()=>{if(!Nt)return;const g=s(e),y=s(t);if(!g||!y)return;const w=await e4(g,y,{placement:s(r),strategy:s(l),middleware:s(h)});Ri(p).forEach(x=>{p[x].value=w[x]})},m=C(()=>{if(!s(e))return{position:"fixed",top:"50%",left:"50%",transform:"translate3d(-50%, -50%, 0)",maxWidth:"100vw",zIndex:s(a)};const{overflow:g}=s(u);return{position:s(l),zIndex:s(a),top:s(d)!=null?`${s(d)}px`:"",left:s(c)!=null?`${s(c)}px`:"",maxWidth:g!=null&&g.maxWidth?`${g==null?void 0:g.maxWidth}px`:""}}),f=C(()=>{if(!s(i))return{};const{arrow:g}=s(u);return{left:(g==null?void 0:g.x)!=null?`${g==null?void 0:g.x}px`:"",top:(g==null?void 0:g.y)!=null?`${g==null?void 0:g.y}px`:""}});let _;return ft(()=>{const g=s(e),y=s(t);g&&y&&(_=cK(g,y,v)),Go(()=>{v()})}),to(()=>{_&&_()}),{update:v,contentStyle:m,arrowStyle:f}},fce=()=>({name:"overflow",async fn(e){const t=await uK(e);let o=0;return t.left>0&&(o=t.left),t.right>0&&(o=t.right),{data:{maxWidth:e.rects.floating.width-o}}}}),hce={style:{width:"100%",height:"100%"}},vce=["d"],mce=N({...N({name:"ElTourMask",inheritAttrs:!1}),props:cce,setup(e){const t=e,{ns:o}=Ge(Wp),r=C(()=>{var i,c;return(c=(i=t.pos)==null?void 0:i.radius)!=null?c:2}),l=C(()=>{const i=r.value,c=`a${i},${i} 0 0 1`;return{topRight:`${c} ${i},${i}`,bottomRight:`${c} ${-i},${i}`,bottomLeft:`${c} ${-i},${-i}`,topLeft:`${c} ${i},${-i}`}}),n=C(()=>{const i=window.innerWidth,c=window.innerHeight,d=l.value,u=`M${i},0 L0,0 L0,${c} L${i},${c} L${i},0 Z`,p=r.value;return t.pos?`${u} M${t.pos.left+p},${t.pos.top} h${t.pos.width-p*2} ${d.topRight} v${t.pos.height-p*2} ${d.bottomRight} h${-t.pos.width+p*2} ${d.bottomLeft} v${-t.pos.height+p*2} ${d.topLeft} z`:u}),a=C(()=>({fill:t.fill,pointerEvents:"auto",cursor:"auto"}));return Sh(Yt(t,"visible"),{ns:o}),(i,c)=>i.visible?(b(),M("div",Mt({key:0,class:s(o).e("mask"),style:{position:"fixed",left:0,right:0,top:0,bottom:0,zIndex:i.zIndex,pointerEvents:i.pos&&i.targetAreaClickable?"none":"auto"}},i.$attrs),[(b(),M("svg",hce,[E("path",{class:O(s(o).e("hollow")),style:Je(s(a)),d:s(n)},null,14,vce)]))],16)):se("v-if",!0)}});var gce=Le(mce,[["__file","mask.vue"]]);const bce=["absolute","fixed"],_ce=["top-start","top-end","top","bottom-start","bottom-end","bottom","left-start","left-end","left","right-start","right-end","right"],X2=Pe({placement:{type:ue(String),values:_ce,default:"bottom"},reference:{type:ue(Object),default:null},strategy:{type:ue(String),values:bce,default:"absolute"},offset:{type:Number,default:10},showArrow:Boolean,zIndex:{type:Number,default:2001}}),wce={close:()=>!0},yce=["data-side"],xce=N({...N({name:"ElTourContent"}),props:X2,emits:wce,setup(e,{emit:t}){const o=e,r=D(o.placement),l=D(o.strategy),n=D(null),a=D(null);Se(()=>o.placement,()=>{r.value=o.placement});const{contentStyle:i,arrowStyle:c}=pce(Yt(o,"reference"),n,a,r,l,Yt(o,"offset"),Yt(o,"zIndex"),Yt(o,"showArrow")),d=C(()=>r.value.split("-")[0]),{ns:u}=Ge(Wp),p=()=>{t("close")},h=v=>{v.detail.focusReason==="pointer"&&v.preventDefault()};return(v,m)=>(b(),M("div",{ref_key:"contentRef",ref:n,style:Je(s(i)),class:O(s(u).e("content")),"data-side":s(d),tabindex:"-1"},[ee(s(Nc),{loop:"",trapped:"","focus-start-el":"container","focus-trap-el":n.value||void 0,onReleaseRequested:p,onFocusoutPrevented:h},{default:le(()=>[be(v.$slots,"default")]),_:3},8,["focus-trap-el"]),v.showArrow?(b(),M("span",{key:0,ref_key:"arrowRef",ref:a,style:Je(s(c)),class:O(s(u).e("arrow"))},null,6)):se("v-if",!0)],14,yce))}});var kce=Le(xce,[["__file","content.vue"]]),Cce=N({name:"ElTourSteps",props:{current:{type:Number,default:0}},emits:["update-total"],setup(e,{slots:t,emit:o}){let r=0;return()=>{var l,n;const a=(l=t.default)==null?void 0:l.call(t),i=[];let c=0;function d(u){Ke(u)&&u.forEach(p=>{var h;((h=(p==null?void 0:p.type)||{})==null?void 0:h.name)==="ElTourStep"&&(i.push(p),c+=1)})}return a.length&&d(Qn((n=a[0])==null?void 0:n.children)),r!==c&&(r=c,o("update-total",c)),i.length?i[e.current]:null}}});const Sce=Pe({modelValue:Boolean,current:{type:Number,default:0},showArrow:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeIcon:{type:Xt},placement:X2.placement,contentStyle:{type:ue([Object])},mask:{type:ue([Boolean,Object]),default:!0},gap:{type:ue(Object),default:()=>({offset:6,radius:2})},zIndex:{type:Number},scrollIntoViewOptions:{type:ue([Boolean,Object]),default:()=>({block:"center"})},type:{type:ue(String)},appendTo:{type:ue([String,Object]),default:"body"},closeOnPressEscape:{type:Boolean,default:!0},targetAreaClickable:{type:Boolean,default:!0}}),Ece={[St]:e=>Co(e),"update:current":e=>st(e),close:e=>st(e),finish:()=>!0,change:e=>st(e)},Tce=N({...N({name:"ElTour"}),props:Sce,emits:Ece,setup(e,{emit:t}){const o=e,r=ze("tour"),l=D(0),n=D(),a=a_(o,"current",t,{passive:!0}),i=C(()=>{var L;return(L=n.value)==null?void 0:L.target}),c=C(()=>[r.b(),_.value==="primary"?r.m("primary"):""]),d=C(()=>{var L;return((L=n.value)==null?void 0:L.placement)||o.placement}),u=C(()=>{var L,V;return(V=(L=n.value)==null?void 0:L.contentStyle)!=null?V:o.contentStyle}),p=C(()=>{var L,V;return(V=(L=n.value)==null?void 0:L.mask)!=null?V:o.mask}),h=C(()=>!!p.value&&o.modelValue),v=C(()=>Co(p.value)?void 0:p.value),m=C(()=>{var L,V;return!!i.value&&((V=(L=n.value)==null?void 0:L.showArrow)!=null?V:o.showArrow)}),f=C(()=>{var L,V;return(V=(L=n.value)==null?void 0:L.scrollIntoViewOptions)!=null?V:o.scrollIntoViewOptions}),_=C(()=>{var L,V;return(V=(L=n.value)==null?void 0:L.type)!=null?V:o.type}),{nextZIndex:g}=Ki(),y=g(),w=C(()=>{var L;return(L=o.zIndex)!=null?L:y}),{mergedPosInfo:x,triggerTarget:$}=uce(i,Yt(o,"modelValue"),Yt(o,"gap"),p,f);Se(()=>o.modelValue,L=>{L||(a.value=0)});const T=()=>{o.closeOnPressEscape&&(t("update:modelValue",!1),t("close",a.value))},R=L=>{l.value=L},P=Do();return zt(Wp,{currentStep:n,current:a,total:l,showClose:Yt(o,"showClose"),closeIcon:Yt(o,"closeIcon"),mergedType:_,ns:r,slots:P,updateModelValue(L){t("update:modelValue",L)},onClose(){t("close",a.value)},onFinish(){t("finish")},onChange(){t("change",a.value)}}),(L,V)=>{var B,j;return b(),M(Qe,null,[(b(),he(hi,{to:L.appendTo},[E("div",Mt({class:s(c)},L.$attrs),[ee(gce,{visible:s(h),fill:(B=s(v))==null?void 0:B.color,style:Je((j=s(v))==null?void 0:j.style),pos:s(x),"z-index":s(w),"target-area-clickable":L.targetAreaClickable},null,8,["visible","fill","style","pos","z-index","target-area-clickable"]),L.modelValue?(b(),he(kce,{key:s(a),reference:s($),placement:s(d),"show-arrow":s(m),"z-index":s(w),style:Je(s(u)),onClose:T},{default:le(()=>[ee(s(Cce),{current:s(a),onUpdateTotal:R},{default:le(()=>[be(L.$slots,"default")]),_:3},8,["current"])]),_:3},8,["reference","placement","show-arrow","z-index","style"])):se("v-if",!0)],16)],8,["to"])),se(" just for IDE "),se("v-if",!0)],64)}}});var $ce=Le(Tce,[["__file","tour.vue"]]);const Mce=Pe({target:{type:ue([String,Object,Function])},title:String,description:String,showClose:{type:Boolean,default:void 0},closeIcon:{type:Xt},showArrow:{type:Boolean,default:void 0},placement:X2.placement,mask:{type:ue([Boolean,Object]),default:void 0},contentStyle:{type:ue([Object])},prevButtonProps:{type:ue(Object)},nextButtonProps:{type:ue(Object)},scrollIntoViewOptions:{type:ue([Boolean,Object]),default:void 0},type:{type:ue(String)}}),Ace=N({...N({name:"ElTourStep"}),props:Mce,emits:{close:()=>!0},setup(e,{emit:t}){const o=e,{Close:r}=gh,{t:l}=Rt(),{currentStep:n,current:a,total:i,showClose:c,closeIcon:d,mergedType:u,ns:p,slots:h,updateModelValue:v,onClose:m,onFinish:f,onChange:_}=Ge(Wp);Se(o,P=>{n.value=P},{immediate:!0});const g=C(()=>{var P;return(P=o.showClose)!=null?P:c.value}),y=C(()=>{var P,L;return(L=(P=o.closeIcon)!=null?P:d.value)!=null?L:r}),w=P=>{if(P)return Bz(P,["children","onClick"])},x=()=>{var P,L;a.value-=1,(P=o.prevButtonProps)!=null&&P.onClick&&((L=o.prevButtonProps)==null||L.onClick()),_()},$=()=>{var P;a.value>=i.value-1?T():a.value+=1,(P=o.nextButtonProps)!=null&&P.onClick&&o.nextButtonProps.onClick(),_()},T=()=>{R(),f()},R=()=>{v(!1),m(),t("close")};return(P,L)=>(b(),M(Qe,null,[s(g)?(b(),M("button",{key:0,"aria-label":"Close",class:O(s(p).e("closebtn")),type:"button",onClick:R},[ee(s(Ze),{class:O(s(p).e("close"))},{default:le(()=>[(b(),he(Et(s(y))))]),_:1},8,["class"])],2)):se("v-if",!0),E("header",{class:O([s(p).e("header"),{"show-close":s(c)}])},[be(P.$slots,"header",{},()=>[E("span",{role:"heading",class:O(s(p).e("title"))},$e(P.title),3)])],2),E("div",{class:O(s(p).e("body"))},[be(P.$slots,"default",{},()=>[E("span",null,$e(P.description),1)])],2),E("footer",{class:O(s(p).e("footer"))},[E("div",{class:O(s(p).b("indicators"))},[s(h).indicators?(b(),he(Et(s(h).indicators),{key:0,current:s(a),total:s(i)},null,8,["current","total"])):(b(!0),M(Qe,{key:1},It(s(i),(V,B)=>(b(),M("span",{key:V,class:O([s(p).b("indicator"),B===s(a)?"is-active":""])},null,2))),128))],2),E("div",{class:O(s(p).b("buttons"))},[s(a)>0?(b(),he(s(Wo),Mt({key:0,size:"small",type:s(u)},w(P.prevButtonProps),{onClick:x}),{default:le(()=>{var V,B;return[Ct($e((B=(V=P.prevButtonProps)==null?void 0:V.children)!=null?B:s(l)("el.tour.previous")),1)]}),_:1},16,["type"])):se("v-if",!0),s(a)<=s(i)-1?(b(),he(s(Wo),Mt({key:1,size:"small",type:s(u)==="primary"?"default":"primary"},w(P.nextButtonProps),{onClick:$}),{default:le(()=>{var V,B;return[Ct($e((B=(V=P.nextButtonProps)==null?void 0:V.children)!=null?B:s(a)===s(i)-1?s(l)("el.tour.finish"):s(l)("el.tour.next")),1)]}),_:1},16,["type"])):se("v-if",!0)],2)],2)],64))}});var Rx=Le(Ace,[["__file","step.vue"]]);const zce=yt($ce,{TourStep:Rx}),Ice=co(Rx),Oce=Pe({container:{type:ue([String,Object])},offset:{type:Number,default:0},bound:{type:Number,default:15},duration:{type:Number,default:300},marker:{type:Boolean,default:!0},type:{type:ue(String),default:"default"},direction:{type:ue(String),default:"vertical"}}),Nce={change:e=>ut(e),click:(e,t)=>e instanceof MouseEvent&&(ut(t)||ko(t))},Lx=Symbol("anchor"),Pce=N({...N({name:"ElAnchor"}),props:Oce,emits:Nce,setup(e,{expose:t,emit:o}){const r=e,l=D(""),n=D(null),a=D(null),i=D(),c={};let d=!1,u=0;const p=ze("anchor"),h=C(()=>[p.b(),r.type==="underline"?p.m("underline"):"",p.m(r.direction)]),v=P=>{c[P.href]=P.el},m=P=>{delete c[P]},f=P=>{l.value!==P&&(l.value=P,o("change",P))};let _=null;const g=P=>{if(!i.value)return;const L=Md(P);if(!L)return;_&&_(),d=!0;const V=M3(L,i.value),B=P0(L,V),j=V.scrollHeight-V.clientHeight,te=Math.min(B-r.offset,j);_=Zz(i.value,u,te,r.duration,()=>{setTimeout(()=>{d=!1},20)})},y=P=>{P&&(f(P),g(P))},w=(P,L)=>{o("click",P,L),y(L)},x=uF(()=>{i.value&&(u=A3(i.value));const P=$();d||ko(P)||f(P)}),$=()=>{if(!i.value)return;const P=A3(i.value),L=[];for(const V of Object.keys(c)){const B=Md(V);if(!B)continue;const j=M3(B,i.value),te=P0(B,j);L.push({top:te-r.offset-r.bound,href:V})}L.sort((V,B)=>V.top-B.top);for(let V=0;VP))return B.href}},T=()=>{const P=Md(r.container);!P||Ed(P)?i.value=window:i.value=P};oo(i,"scroll",x);const R=C(()=>{if(!n.value||!a.value||!l.value)return{};const P=c[l.value];if(!P)return{};const L=n.value.getBoundingClientRect(),V=a.value.getBoundingClientRect(),B=P.getBoundingClientRect();return r.direction==="horizontal"?{left:`${B.left-L.left}px`,width:`${B.width}px`,opacity:1}:{top:`${B.top-L.top+(B.height-V.height)/2}px`,opacity:1}});return ft(()=>{T();const P=decodeURIComponent(window.location.hash);Md(P)?y(P):x()}),Se(()=>r.container,()=>{T()}),zt(Lx,{ns:p,direction:r.direction,currentAnchor:l,addLink:v,removeLink:m,handleClick:w}),t({scrollTo:y}),(P,L)=>(b(),M("div",{ref_key:"anchorRef",ref:n,class:O(s(h))},[P.marker?(b(),M("div",{key:0,ref_key:"markerRef",ref:a,class:O(s(p).e("marker")),style:Je(s(R))},null,6)):se("v-if",!0),E("div",{class:O(s(p).e("list"))},[be(P.$slots,"default")],2)],2))}});var Rce=Le(Pce,[["__file","anchor.vue"]]);const Lce=Pe({title:String,href:String}),Bce=["href"],Vce=N({...N({name:"ElAnchorLink"}),props:Lce,setup(e){const t=e,o=D(null),{ns:r,direction:l,currentAnchor:n,addLink:a,removeLink:i,handleClick:c}=Ge(Lx),d=C(()=>[r.e("link"),r.is("active",n.value===t.href)]),u=p=>{c(p,t.href)};return Se(()=>t.href,(p,h)=>{et(()=>{h&&i(h),p&&a({href:p,el:o.value})})}),ft(()=>{const{href:p}=t;p&&a({href:p,el:o.value})}),to(()=>{const{href:p}=t;p&&i(p)}),(p,h)=>(b(),M("div",{class:O(s(r).e("item"))},[E("a",{ref_key:"linkRef",ref:o,class:O(s(d)),href:p.href,onClick:u},[be(p.$slots,"default",{},()=>[Ct($e(p.title),1)])],10,Bce),p.$slots["sub-link"]&&s(l)==="vertical"?(b(),M("div",{key:0,class:O(s(r).e("list"))},[be(p.$slots,"sub-link")],2)):se("v-if",!0)],2))}});var Bx=Le(Vce,[["__file","anchor-link.vue"]]);const Dce=yt(Rce,{AnchorLink:Bx}),Hce=co(Bx),Fce=Pe({options:{type:ue(Array),default:()=>[]},modelValue:{type:[String,Number,Boolean],default:void 0},block:Boolean,size:Oo,disabled:Boolean,validateEvent:{type:Boolean,default:!0},id:String,name:String,...Zo(["ariaLabel"])}),jce={[St]:e=>ut(e)||st(e),[ro]:e=>ut(e)||st(e)},Kce=["id","aria-label","aria-labelledby"],Uce=["name","disabled","checked","onChange"],Wce=N({...N({name:"ElSegmented"}),props:Fce,emits:jce,setup(e,{emit:t}){const o=e,r=ze("segmented"),l=Qo(),n=So(),a=xr(),{formItem:i}=sr(),{inputId:c,isLabeledByFormItem:d}=bl(o,{formItemContext:i}),u=D(null),p=rE(),h=Dt({isInit:!1,width:0,translateX:0,disabled:!1,focusVisible:!1}),v=L=>{const V=m(L);t(St,V),t(ro,V)},m=L=>xt(L)?L.value:L,f=L=>xt(L)?L.label:L,_=L=>!!(a.value||xt(L)&&L.disabled),g=L=>o.modelValue===m(L),y=L=>o.options.find(V=>m(V)===L),w=L=>[r.e("item"),r.is("selected",g(L)),r.is("disabled",_(L))],x=()=>{if(!u.value)return;const L=u.value.querySelector(".is-selected"),V=u.value.querySelector(".is-selected input");if(!L||!V){h.width=0,h.translateX=0,h.disabled=!1,h.focusVisible=!1;return}const B=L.getBoundingClientRect();h.isInit=!0,h.width=B.width,h.translateX=L.offsetLeft,h.disabled=_(y(o.modelValue));try{h.focusVisible=V.matches(":focus-visible")}catch{}},$=C(()=>[r.b(),r.m(n.value),r.is("block",o.block)]),T=C(()=>({width:`${h.width}px`,transform:`translateX(${h.translateX}px)`,display:h.isInit?"block":"none"})),R=C(()=>[r.e("item-selected"),r.is("disabled",h.disabled),r.is("focus-visible",h.focusVisible)]),P=C(()=>o.name||l.value);return so(u,x),Se(p,x),Se(()=>o.modelValue,()=>{var L;x(),o.validateEvent&&((L=i==null?void 0:i.validate)==null||L.call(i,"change").catch(V=>void 0))},{flush:"post"}),(L,V)=>(b(),M("div",{id:s(c),ref_key:"segmentedRef",ref:u,class:O(s($)),role:"radiogroup","aria-label":s(d)?void 0:L.ariaLabel||"segmented","aria-labelledby":s(d)?s(i).labelId:void 0},[E("div",{class:O(s(r).e("group"))},[E("div",{style:Je(s(T)),class:O(s(R))},null,6),(b(!0),M(Qe,null,It(L.options,(B,j)=>(b(),M("label",{key:j,class:O(w(B))},[E("input",{class:O(s(r).e("item-input")),type:"radio",name:s(P),disabled:_(B),checked:g(B),onChange:te=>v(B)},null,42,Uce),E("div",{class:O(s(r).e("item-label"))},[be(L.$slots,"default",{item:B},()=>[Ct($e(f(B)),1)])],2)],2))),128))],2)],10,Kce))}});var qce=Le(Wce,[["__file","segmented.vue"]]);const Yce=yt(qce);var Gce=[zK,VK,JW,Bae,lq,uq,B4,yq,xq,Wo,G4,zY,PY,ZY,JY,QG,KG,lX,rl,fG,Lw,pX,TX,$X,wX,eZ,CK,iZ,sZ,cZ,uZ,dZ,SJ,NJ,PJ,GJ,Cy,iQ,JQ,QQ,eee,Py,PU,RU,Ze,Fee,Ry,cr,Ly,ete,gte,bte,_te,wte,Ete,Toe,zoe,Boe,P4,Xy,Kw,EG,SG,Qoe,rre,sX,wn,Za,Cp,roe,Fre,Yre,Gre,kle,Tle,C8,Rle,jle,Kle,ene,oae,rae,Lae,Zae,Jae,Rc,oie,pY,aie,uie,die,ur,zie,Kie,rse,cse,Sse,Qse,sce,zce,Ice,Dce,Hce,Yce];const al="ElInfiniteScroll",Xce=50,Zce={delay:{type:Number,default:200},distance:{type:Number,default:0},disabled:{type:Boolean,default:!1},immediate:{type:Boolean,default:!0}},Z2=(e,t)=>Object.entries(Zce).reduce((o,[r,l])=>{var n,a;const{type:i,default:c}=l,d=e.getAttribute(`infinite-scroll-${r}`);let u=(a=(n=t[d])!=null?n:d)!=null?a:c;return u=u==="false"?!1:u,u=i(u),o[r]=Number.isNaN(u)?c:u,o},{}),Vx=e=>{const{observer:t}=e[al];t&&(t.disconnect(),delete e[al].observer)},Jce=(e,t)=>{const{container:o,containerEl:r,instance:l,observer:n,lastScrollTop:a}=e[al],{disabled:i,distance:c}=Z2(e,l),{clientHeight:d,scrollHeight:u,scrollTop:p}=r,h=p-a;if(e[al].lastScrollTop=p,n||i||h<0)return;let v=!1;if(o===e)v=u-(d+p)<=c;else{const{clientTop:m,scrollHeight:f}=e,_=P0(e,r);v=p+d>=_+m+f-c}v&&t.call(l)};function J2(e,t){const{containerEl:o,instance:r}=e[al],{disabled:l}=Z2(e,r);l||o.clientHeight===0||(o.scrollHeight<=o.clientHeight?t.call(r):Vx(e))}const Q2={async mounted(e,t){const{instance:o,value:r}=t;it(r)||Io(al,"'v-infinite-scroll' binding value must be a function"),await et();const{delay:l,immediate:n}=Z2(e,o),a=uh(e,!0),i=a===window?document.documentElement:a,c=Oa(Jce.bind(null,e,r),l);if(a){if(e[al]={instance:o,container:a,containerEl:i,delay:l,cb:r,onScroll:c,lastScrollTop:i.scrollTop},n){const d=new MutationObserver(Oa(J2.bind(null,e,r),Xce));e[al].observer=d,d.observe(e,{childList:!0,subtree:!0}),J2(e,r)}a.addEventListener("scroll",c)}},unmounted(e){if(!e[al])return;const{container:t,onScroll:o}=e[al];t==null||t.removeEventListener("scroll",o),Vx(e)},async updated(e){if(!e[al])await et();else{const{containerEl:t,cb:o,observer:r}=e[al];t.clientHeight&&r&&J2(e,o)}}};Q2.install=e=>{e.directive("InfiniteScroll",Q2)};const Qce=Q2;function eue(e){let t;const o=D(!1),r=Dt({...e,originalPosition:"",originalOverflow:"",visible:!1});function l(h){r.text=h}function n(){const h=r.parent,v=p.ns;if(!h.vLoadingAddClassList){let m=h.getAttribute("loading-number");m=Number.parseInt(m)-1,m?h.setAttribute("loading-number",m.toString()):(ar(h,v.bm("parent","relative")),h.removeAttribute("loading-number")),ar(h,v.bm("parent","hidden"))}a(),u.unmount()}function a(){var h,v;(v=(h=p.$el)==null?void 0:h.parentNode)==null||v.removeChild(p.$el)}function i(){var h;e.beforeClose&&!e.beforeClose()||(o.value=!0,clearTimeout(t),t=window.setTimeout(c,400),r.visible=!1,(h=e.closed)==null||h.call(e))}function c(){if(!o.value)return;const h=r.parent;o.value=!1,h.vLoadingAddClassList=void 0,n()}const u=D1(N({name:"ElLoading",setup(h,{expose:v}){const{ns:m,zIndex:f}=Yd("loading");return v({ns:m,zIndex:f}),()=>{const _=r.spinner||r.svg,g=rt("svg",{class:"circular",viewBox:r.svgViewBox?r.svgViewBox:"0 0 50 50",..._?{innerHTML:_}:{}},[rt("circle",{class:"path",cx:"25",cy:"25",r:"20",fill:"none"})]),y=r.text?rt("p",{class:m.b("text")},[r.text]):void 0;return rt(Mo,{name:m.b("fade"),onAfterLeave:c},{default:le(()=>[mt(ee("div",{style:{backgroundColor:r.background||""},class:[m.b("mask"),r.customClass,r.fullscreen?"is-fullscreen":""]},[rt("div",{class:m.b("spinner")},[g,y])]),[[Lt,r.visible]])])})}}})),p=u.mount(document.createElement("div"));return{...Bo(r),setText:l,removeElLoadingChild:a,close:i,handleAfterLeave:c,vm:p,get $el(){return p.$el}}}let qp;const em=function(e={}){if(!Nt)return;const t=tue(e);if(t.fullscreen&&qp)return qp;const o=eue({...t,closed:()=>{var l;(l=t.closed)==null||l.call(t),t.fullscreen&&(qp=void 0)}});oue(t,t.parent,o),Dx(t,t.parent,o),t.parent.vLoadingAddClassList=()=>Dx(t,t.parent,o);let r=t.parent.getAttribute("loading-number");return r?r=`${Number.parseInt(r)+1}`:r="1",t.parent.setAttribute("loading-number",r),t.parent.appendChild(o.$el),et(()=>o.visible.value=t.visible),t.fullscreen&&(qp=o),o},tue=e=>{var t,o,r,l;let n;return ut(e.target)?n=(t=document.querySelector(e.target))!=null?t:document.body:n=e.target||document.body,{parent:n===document.body||e.body?document.body:n,background:e.background||"",svg:e.svg||"",svgViewBox:e.svgViewBox||"",spinner:e.spinner||!1,text:e.text||"",fullscreen:n===document.body&&((o=e.fullscreen)!=null?o:!0),lock:(r=e.lock)!=null?r:!1,customClass:e.customClass||"",visible:(l=e.visible)!=null?l:!0,target:n}},oue=async(e,t,o)=>{const{nextZIndex:r}=o.vm.zIndex||o.vm._.exposed.zIndex,l={};if(e.fullscreen)o.originalPosition.value=Zn(document.body,"position"),o.originalOverflow.value=Zn(document.body,"overflow"),l.zIndex=r();else if(e.parent===document.body){o.originalPosition.value=Zn(document.body,"position"),await et();for(const n of["top","left"]){const a=n==="top"?"scrollTop":"scrollLeft";l[n]=`${e.target.getBoundingClientRect()[n]+document.body[a]+document.documentElement[a]-Number.parseInt(Zn(document.body,`margin-${n}`),10)}px`}for(const n of["height","width"])l[n]=`${e.target.getBoundingClientRect()[n]}px`}else o.originalPosition.value=Zn(t,"position");for(const[n,a]of Object.entries(l))o.$el.style[n]=a},Dx=(e,t,o)=>{const r=o.vm.ns||o.vm._.exposed.ns;["absolute","fixed","sticky"].includes(o.originalPosition.value)?ar(t,r.bm("parent","relative")):Zr(t,r.bm("parent","relative")),e.fullscreen&&e.lock?Zr(t,r.bm("parent","hidden")):ar(t,r.bm("parent","hidden"))},Yp=Symbol("ElLoading"),Hx=(e,t)=>{var o,r,l,n;const a=t.instance,i=h=>xt(t.value)?t.value[h]:void 0,c=h=>{const v=ut(h)&&(a==null?void 0:a[h])||h;return v&&D(v)},d=h=>c(i(h)||e.getAttribute(`element-loading-${An(h)}`)),u=(o=i("fullscreen"))!=null?o:t.modifiers.fullscreen,p={text:d("text"),svg:d("svg"),svgViewBox:d("svgViewBox"),spinner:d("spinner"),background:d("background"),customClass:d("customClass"),fullscreen:u,target:(r=i("target"))!=null?r:u?void 0:e,body:(l=i("body"))!=null?l:t.modifiers.body,lock:(n=i("lock"))!=null?n:t.modifiers.lock};e[Yp]={options:p,instance:em(p)}},rue=(e,t)=>{for(const o of Object.keys(t))Zt(t[o])&&(t[o].value=e[o])},Fx={mounted(e,t){t.value&&Hx(e,t)},updated(e,t){const o=e[Yp];t.oldValue!==t.value&&(t.value&&!t.oldValue?Hx(e,t):t.value&&t.oldValue?xt(t.value)&&rue(t.value,o.options):o==null||o.instance.close())},unmounted(e){var t;(t=e[Yp])==null||t.instance.close(),e[Yp]=null}},lue={install(e){e.directive("loading",Fx),e.config.globalProperties.$loading=em},directive:Fx,service:em},jx=["success","info","warning","error"],dr=uo({customClass:"",center:!1,dangerouslyUseHTMLString:!1,duration:3e3,icon:void 0,id:"",message:"",onClose:void 0,showClose:!1,type:"info",plain:!1,offset:16,zIndex:0,grouping:!1,repeatNum:1,appendTo:Nt?document.body:void 0}),nue=Pe({customClass:{type:String,default:dr.customClass},center:{type:Boolean,default:dr.center},dangerouslyUseHTMLString:{type:Boolean,default:dr.dangerouslyUseHTMLString},duration:{type:Number,default:dr.duration},icon:{type:Xt,default:dr.icon},id:{type:String,default:dr.id},message:{type:ue([String,Object,Function]),default:dr.message},onClose:{type:ue(Function),default:dr.onClose},showClose:{type:Boolean,default:dr.showClose},type:{type:String,values:jx,default:dr.type},plain:{type:Boolean,default:dr.plain},offset:{type:Number,default:dr.offset},zIndex:{type:Number,default:dr.zIndex},grouping:{type:Boolean,default:dr.grouping},repeatNum:{type:Number,default:dr.repeatNum}}),aue={destroy:()=>!0},yl=og([]),iue=e=>{const t=yl.findIndex(l=>l.id===e),o=yl[t];let r;return t>0&&(r=yl[t-1]),{current:o,prev:r}},sue=e=>{const{prev:t}=iue(e);return t?t.vm.exposed.bottom.value:0},cue=(e,t)=>yl.findIndex(r=>r.id===e)>0?16:t,uue=["id"],due=["innerHTML"],pue=N({...N({name:"ElMessage"}),props:nue,emits:aue,setup(e,{expose:t}){const o=e,{Close:r}=bh,{ns:l,zIndex:n}=Yd("message"),{currentZIndex:a,nextZIndex:i}=n,c=D(),d=D(!1),u=D(0);let p;const h=C(()=>o.type?o.type==="error"?"danger":o.type:"info"),v=C(()=>{const R=o.type;return{[l.bm("icon",R)]:R&&Jn[R]}}),m=C(()=>o.icon||Jn[o.type]||""),f=C(()=>sue(o.id)),_=C(()=>cue(o.id,o.offset)+f.value),g=C(()=>u.value+_.value),y=C(()=>({top:`${_.value}px`,zIndex:a.value}));function w(){o.duration!==0&&({stop:p}=$a(()=>{$()},o.duration))}function x(){p==null||p()}function $(){d.value=!1}function T({code:R}){R===lt.esc&&$()}return ft(()=>{w(),i(),d.value=!0}),Se(()=>o.repeatNum,()=>{x(),w()}),oo(document,"keydown",T),so(c,()=>{u.value=c.value.getBoundingClientRect().height}),t({visible:d,bottom:g,close:$}),(R,P)=>(b(),he(Mo,{name:s(l).b("fade"),onBeforeLeave:R.onClose,onAfterLeave:P[0]||(P[0]=L=>R.$emit("destroy")),persisted:""},{default:le(()=>[mt(E("div",{id:R.id,ref_key:"messageRef",ref:c,class:O([s(l).b(),{[s(l).m(R.type)]:R.type},s(l).is("center",R.center),s(l).is("closable",R.showClose),s(l).is("plain",R.plain),R.customClass]),style:Je(s(y)),role:"alert",onMouseenter:x,onMouseleave:w},[R.repeatNum>1?(b(),he(s(B4),{key:0,value:R.repeatNum,type:s(h),class:O(s(l).e("badge"))},null,8,["value","type","class"])):se("v-if",!0),s(m)?(b(),he(s(Ze),{key:1,class:O([s(l).e("icon"),s(v)])},{default:le(()=>[(b(),he(Et(s(m))))]),_:1},8,["class"])):se("v-if",!0),be(R.$slots,"default",{},()=>[R.dangerouslyUseHTMLString?(b(),M(Qe,{key:1},[se(" Caution here, message could've been compromised, never use user's input as message "),E("p",{class:O(s(l).e("content")),innerHTML:R.message},null,10,due)],2112)):(b(),M("p",{key:0,class:O(s(l).e("content"))},$e(R.message),3))]),R.showClose?(b(),he(s(Ze),{key:2,class:O(s(l).e("closeBtn")),onClick:ct($,["stop"])},{default:le(()=>[ee(s(r))]),_:1},8,["class","onClick"])):se("v-if",!0)],46,uue),[[Lt,d.value]])]),_:3},8,["name","onBeforeLeave"]))}});var fue=Le(pue,[["__file","message.vue"]]);let hue=1;const Kx=e=>{const t=!e||ut(e)||io(e)||it(e)?{message:e}:e,o={...dr,...t};if(!o.appendTo)o.appendTo=document.body;else if(ut(o.appendTo)){let r=document.querySelector(o.appendTo);Gr(r)||(r=document.body),o.appendTo=r}return o},vue=e=>{const t=yl.indexOf(e);if(t===-1)return;yl.splice(t,1);const{handler:o}=e;o.close()},mue=({appendTo:e,...t},o)=>{const r=`message_${hue++}`,l=t.onClose,n=document.createElement("div"),a={...t,id:r,onClose:()=>{l==null||l(),vue(u)},onDestroy:()=>{jn(null,n)}},i=ee(fue,a,it(a.message)||io(a.message)?{default:it(a.message)?a.message:()=>a.message}:null);i.appContext=o||ms._context,jn(i,n),e.appendChild(n.firstElementChild);const c=i.component,u={id:r,vnode:i,vm:c,handler:{close:()=>{c.exposed.visible.value=!1}},props:i.component.props};return u},ms=(e={},t)=>{if(!Nt)return{close:()=>{}};if(st(Yh.max)&&yl.length>=Yh.max)return{close:()=>{}};const o=Kx(e);if(o.grouping&&yl.length){const l=yl.find(({vnode:n})=>{var a;return((a=n.props)==null?void 0:a.message)===o.message});if(l)return l.props.repeatNum+=1,l.props.type=o.type,l.handler}const r=mue(o,t);return yl.push(r),r.handler};jx.forEach(e=>{ms[e]=(t={},o)=>{const r=Kx(t);return ms({...r,type:e},o)}});function gue(e){for(const t of yl)(!e||e===t.props.type)&&t.handler.close()}ms.closeAll=gue,ms._context=null;const bue=Q3(ms,"$message"),_ue=N({name:"ElMessageBox",directives:{TrapFocus:Zq},components:{ElButton:Wo,ElFocusTrap:Nc,ElInput:cr,ElOverlay:Uv,ElIcon:Ze,...bh},inheritAttrs:!1,props:{buttonSize:{type:String,validator:t6},modal:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},closeOnHashChange:{type:Boolean,default:!0},center:Boolean,draggable:Boolean,overflow:Boolean,roundButton:{default:!1,type:Boolean},container:{type:String,default:"body"},boxType:{type:String,default:""}},emits:["vanish","action"],setup(e,{emit:t}){const{locale:o,zIndex:r,ns:l,size:n}=Yd("message-box",C(()=>e.buttonSize)),{t:a}=o,{nextZIndex:i}=r,c=D(!1),d=Dt({autofocus:!0,beforeClose:null,callback:null,cancelButtonText:"",cancelButtonClass:"",confirmButtonText:"",confirmButtonClass:"",customClass:"",customStyle:{},dangerouslyUseHTMLString:!1,distinguishCancelAndClose:!1,icon:"",inputPattern:null,inputPlaceholder:"",inputType:"text",inputValue:null,inputValidator:null,inputErrorMessage:"",message:null,modalFade:!0,modalClass:"",showCancelButton:!1,showConfirmButton:!0,type:"",title:void 0,showInput:!1,action:"",confirmButtonLoading:!1,cancelButtonLoading:!1,confirmButtonDisabled:!1,editorErrorMessage:"",validateError:!1,zIndex:i()}),u=C(()=>{const H=d.type;return{[l.bm("icon",H)]:H&&Jn[H]}}),p=Qo(),h=Qo(),v=C(()=>d.icon||Jn[d.type]||""),m=C(()=>!!d.message),f=D(),_=D(),g=D(),y=D(),w=D(),x=C(()=>d.confirmButtonClass);Se(()=>d.inputValue,async H=>{await et(),e.boxType==="prompt"&&H!==null&&j()},{immediate:!0}),Se(()=>c.value,H=>{var F,K;H&&(e.boxType!=="prompt"&&(d.autofocus?g.value=(K=(F=w.value)==null?void 0:F.$el)!=null?K:f.value:g.value=f.value),d.zIndex=i()),e.boxType==="prompt"&&(H?et().then(()=>{var I;y.value&&y.value.$el&&(d.autofocus?g.value=(I=te())!=null?I:f.value:g.value=f.value)}):(d.editorErrorMessage="",d.validateError=!1))});const $=C(()=>e.draggable),T=C(()=>e.overflow);r6(f,_,$,T),ft(async()=>{await et(),e.closeOnHashChange&&window.addEventListener("hashchange",R)}),to(()=>{e.closeOnHashChange&&window.removeEventListener("hashchange",R)});function R(){c.value&&(c.value=!1,et(()=>{d.action&&t("action",d.action)}))}const P=()=>{e.closeOnClickModal&&B(d.distinguishCancelAndClose?"close":"cancel")},L=Ph(P),V=H=>{if(d.inputType!=="textarea")return H.preventDefault(),B("confirm")},B=H=>{var F;e.boxType==="prompt"&&H==="confirm"&&!j()||(d.action=H,d.beforeClose?(F=d.beforeClose)==null||F.call(d,H,d,R):R())},j=()=>{if(e.boxType==="prompt"){const H=d.inputPattern;if(H&&!H.test(d.inputValue||""))return d.editorErrorMessage=d.inputErrorMessage||a("el.messagebox.error"),d.validateError=!0,!1;const F=d.inputValidator;if(typeof F=="function"){const K=F(d.inputValue);if(K===!1)return d.editorErrorMessage=d.inputErrorMessage||a("el.messagebox.error"),d.validateError=!0,!1;if(typeof K=="string")return d.editorErrorMessage=K,d.validateError=!0,!1}}return d.editorErrorMessage="",d.validateError=!1,!0},te=()=>{const H=y.value.$refs;return H.input||H.textarea},J=()=>{B("close")},Z=()=>{e.closeOnPressEscape&&J()};return e.lockScroll&&Sh(c),{...Bo(d),ns:l,overlayEvent:L,visible:c,hasMessage:m,typeClass:u,contentId:p,inputId:h,btnSize:n,iconComponent:v,confirmButtonClasses:x,rootRef:f,focusStartRef:g,headerRef:_,inputRef:y,confirmRef:w,doClose:R,handleClose:J,onCloseRequested:Z,handleWrapperClick:P,handleInputEnter:V,handleAction:B,t:a}}}),wue=["aria-label","aria-describedby"],yue=["aria-label"],xue=["id"];function kue(e,t,o,r,l,n){const a=nt("el-icon"),i=nt("close"),c=nt("el-input"),d=nt("el-button"),u=nt("el-focus-trap"),p=nt("el-overlay");return b(),he(Mo,{name:"fade-in-linear",onAfterLeave:t[11]||(t[11]=h=>e.$emit("vanish")),persisted:""},{default:le(()=>[mt(ee(p,{"z-index":e.zIndex,"overlay-class":[e.ns.is("message-box"),e.modalClass],mask:e.modal},{default:le(()=>[E("div",{role:"dialog","aria-label":e.title,"aria-modal":"true","aria-describedby":e.showInput?void 0:e.contentId,class:O(`${e.ns.namespace.value}-overlay-message-box`),onClick:t[8]||(t[8]=(...h)=>e.overlayEvent.onClick&&e.overlayEvent.onClick(...h)),onMousedown:t[9]||(t[9]=(...h)=>e.overlayEvent.onMousedown&&e.overlayEvent.onMousedown(...h)),onMouseup:t[10]||(t[10]=(...h)=>e.overlayEvent.onMouseup&&e.overlayEvent.onMouseup(...h))},[ee(u,{loop:"",trapped:e.visible,"focus-trap-el":e.rootRef,"focus-start-el":e.focusStartRef,onReleaseRequested:e.onCloseRequested},{default:le(()=>[E("div",{ref:"rootRef",class:O([e.ns.b(),e.customClass,e.ns.is("draggable",e.draggable),{[e.ns.m("center")]:e.center}]),style:Je(e.customStyle),tabindex:"-1",onClick:t[7]||(t[7]=ct(()=>{},["stop"]))},[e.title!==null&&e.title!==void 0?(b(),M("div",{key:0,ref:"headerRef",class:O([e.ns.e("header"),{"show-close":e.showClose}])},[E("div",{class:O(e.ns.e("title"))},[e.iconComponent&&e.center?(b(),he(a,{key:0,class:O([e.ns.e("status"),e.typeClass])},{default:le(()=>[(b(),he(Et(e.iconComponent)))]),_:1},8,["class"])):se("v-if",!0),E("span",null,$e(e.title),1)],2),e.showClose?(b(),M("button",{key:0,type:"button",class:O(e.ns.e("headerbtn")),"aria-label":e.t("el.messagebox.close"),onClick:t[0]||(t[0]=h=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel")),onKeydown:t[1]||(t[1]=Gt(ct(h=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel"),["prevent"]),["enter"]))},[ee(a,{class:O(e.ns.e("close"))},{default:le(()=>[ee(i)]),_:1},8,["class"])],42,yue)):se("v-if",!0)],2)):se("v-if",!0),E("div",{id:e.contentId,class:O(e.ns.e("content"))},[E("div",{class:O(e.ns.e("container"))},[e.iconComponent&&!e.center&&e.hasMessage?(b(),he(a,{key:0,class:O([e.ns.e("status"),e.typeClass])},{default:le(()=>[(b(),he(Et(e.iconComponent)))]),_:1},8,["class"])):se("v-if",!0),e.hasMessage?(b(),M("div",{key:1,class:O(e.ns.e("message"))},[be(e.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(b(),he(Et(e.showInput?"label":"p"),{key:1,for:e.showInput?e.inputId:void 0,innerHTML:e.message},null,8,["for","innerHTML"])):(b(),he(Et(e.showInput?"label":"p"),{key:0,for:e.showInput?e.inputId:void 0},{default:le(()=>[Ct($e(e.dangerouslyUseHTMLString?"":e.message),1)]),_:1},8,["for"]))])],2)):se("v-if",!0)],2),mt(E("div",{class:O(e.ns.e("input"))},[ee(c,{id:e.inputId,ref:"inputRef",modelValue:e.inputValue,"onUpdate:modelValue":t[2]||(t[2]=h=>e.inputValue=h),type:e.inputType,placeholder:e.inputPlaceholder,"aria-invalid":e.validateError,class:O({invalid:e.validateError}),onKeydown:Gt(e.handleInputEnter,["enter"])},null,8,["id","modelValue","type","placeholder","aria-invalid","class","onKeydown"]),E("div",{class:O(e.ns.e("errormsg")),style:Je({visibility:e.editorErrorMessage?"visible":"hidden"})},$e(e.editorErrorMessage),7)],2),[[Lt,e.showInput]])],10,xue),E("div",{class:O(e.ns.e("btns"))},[e.showCancelButton?(b(),he(d,{key:0,loading:e.cancelButtonLoading,class:O([e.cancelButtonClass]),round:e.roundButton,size:e.btnSize,onClick:t[3]||(t[3]=h=>e.handleAction("cancel")),onKeydown:t[4]||(t[4]=Gt(ct(h=>e.handleAction("cancel"),["prevent"]),["enter"]))},{default:le(()=>[Ct($e(e.cancelButtonText||e.t("el.messagebox.cancel")),1)]),_:1},8,["loading","class","round","size"])):se("v-if",!0),mt(ee(d,{ref:"confirmRef",type:"primary",loading:e.confirmButtonLoading,class:O([e.confirmButtonClasses]),round:e.roundButton,disabled:e.confirmButtonDisabled,size:e.btnSize,onClick:t[5]||(t[5]=h=>e.handleAction("confirm")),onKeydown:t[6]||(t[6]=Gt(ct(h=>e.handleAction("confirm"),["prevent"]),["enter"]))},{default:le(()=>[Ct($e(e.confirmButtonText||e.t("el.messagebox.confirm")),1)]),_:1},8,["loading","class","round","disabled","size"]),[[Lt,e.showConfirmButton]])],2)],6)]),_:3},8,["trapped","focus-trap-el","focus-start-el","onReleaseRequested"])],42,wue)]),_:3},8,["z-index","overlay-class","mask"]),[[Lt,e.visible]])]),_:3})}var Cue=Le(_ue,[["render",kue],["__file","index.vue"]]);const ou=new Map,Sue=e=>{let t=document.body;return e.appendTo&&(ut(e.appendTo)&&(t=document.querySelector(e.appendTo)),Gr(e.appendTo)&&(t=e.appendTo),Gr(t)||(t=document.body)),t},Eue=(e,t,o=null)=>{const r=ee(Cue,e,it(e.message)||io(e.message)?{default:it(e.message)?e.message:()=>e.message}:null);return r.appContext=o,jn(r,t),Sue(e).appendChild(t.firstElementChild),r.component},Tue=()=>document.createElement("div"),$ue=(e,t)=>{const o=Tue();e.onVanish=()=>{jn(null,o),ou.delete(l)},e.onAction=n=>{const a=ou.get(l);let i;e.showInput?i={value:l.inputValue,action:n}:i=n,e.callback?e.callback(i,r.proxy):n==="cancel"||n==="close"?e.distinguishCancelAndClose&&n!=="cancel"?a.reject("close"):a.reject("cancel"):a.resolve(i)};const r=Eue(e,o,t),l=r.proxy;for(const n in e)Pt(e,n)&&!Pt(l.$props,n)&&(l[n]=e[n]);return l.visible=!0,l};function gs(e,t=null){if(!Nt)return Promise.reject();let o;return ut(e)||io(e)?e={message:e}:o=e.callback,new Promise((r,l)=>{const n=$ue(e,t??gs._context);ou.set(n,{options:e,callback:o,resolve:r,reject:l})})}const Mue=["alert","confirm","prompt"],Aue={alert:{closeOnPressEscape:!1,closeOnClickModal:!1},confirm:{showCancelButton:!0},prompt:{showCancelButton:!0,showInput:!0}};Mue.forEach(e=>{gs[e]=zue(e)});function zue(e){return(t,o,r,l)=>{let n="";return xt(o)?(r=o,n=""):ko(o)?n="":n=o,gs(Object.assign({title:n,message:t,type:"",...Aue[e]},r,{boxType:e}),l)}}gs.close=()=>{ou.forEach((e,t)=>{t.doClose()}),ou.clear()},gs._context=null;const ca=gs;ca.install=e=>{ca._context=e._context,e.config.globalProperties.$msgbox=ca,e.config.globalProperties.$messageBox=ca,e.config.globalProperties.$alert=ca.alert,e.config.globalProperties.$confirm=ca.confirm,e.config.globalProperties.$prompt=ca.prompt};const Iue=ca,Ux=["success","info","warning","error"],Oue=Pe({customClass:{type:String,default:""},dangerouslyUseHTMLString:{type:Boolean,default:!1},duration:{type:Number,default:4500},icon:{type:Xt},id:{type:String,default:""},message:{type:ue([String,Object]),default:""},offset:{type:Number,default:0},onClick:{type:ue(Function),default:()=>{}},onClose:{type:ue(Function),required:!0},position:{type:String,values:["top-right","top-left","bottom-right","bottom-left"],default:"top-right"},showClose:{type:Boolean,default:!0},title:{type:String,default:""},type:{type:String,values:[...Ux,""],default:""},zIndex:Number}),Nue={destroy:()=>!0},Pue=["id"],Rue=["textContent"],Lue={key:0},Bue=["innerHTML"],Vue=N({...N({name:"ElNotification"}),props:Oue,emits:Nue,setup(e,{expose:t}){const o=e,{ns:r,zIndex:l}=Yd("notification"),{nextZIndex:n,currentZIndex:a}=l,{Close:i}=gh,c=D(!1);let d;const u=C(()=>{const w=o.type;return w&&Jn[o.type]?r.m(w):""}),p=C(()=>o.type&&Jn[o.type]||o.icon),h=C(()=>o.position.endsWith("right")?"right":"left"),v=C(()=>o.position.startsWith("top")?"top":"bottom"),m=C(()=>{var w;return{[v.value]:`${o.offset}px`,zIndex:(w=o.zIndex)!=null?w:a.value}});function f(){o.duration>0&&({stop:d}=$a(()=>{c.value&&g()},o.duration))}function _(){d==null||d()}function g(){c.value=!1}function y({code:w}){w===lt.delete||w===lt.backspace?_():w===lt.esc?c.value&&g():f()}return ft(()=>{f(),n(),c.value=!0}),oo(document,"keydown",y),t({visible:c,close:g}),(w,x)=>(b(),he(Mo,{name:s(r).b("fade"),onBeforeLeave:w.onClose,onAfterLeave:x[1]||(x[1]=$=>w.$emit("destroy")),persisted:""},{default:le(()=>[mt(E("div",{id:w.id,class:O([s(r).b(),w.customClass,s(h)]),style:Je(s(m)),role:"alert",onMouseenter:_,onMouseleave:f,onClick:x[0]||(x[0]=(...$)=>w.onClick&&w.onClick(...$))},[s(p)?(b(),he(s(Ze),{key:0,class:O([s(r).e("icon"),s(u)])},{default:le(()=>[(b(),he(Et(s(p))))]),_:1},8,["class"])):se("v-if",!0),E("div",{class:O(s(r).e("group"))},[E("h2",{class:O(s(r).e("title")),textContent:$e(w.title)},null,10,Rue),mt(E("div",{class:O(s(r).e("content")),style:Je(w.title?void 0:{margin:0})},[be(w.$slots,"default",{},()=>[w.dangerouslyUseHTMLString?(b(),M(Qe,{key:1},[se(" Caution here, message could've been compromised, never use user's input as message "),E("p",{innerHTML:w.message},null,8,Bue)],2112)):(b(),M("p",Lue,$e(w.message),1))])],6),[[Lt,w.message]]),w.showClose?(b(),he(s(Ze),{key:0,class:O(s(r).e("closeBtn")),onClick:ct(g,["stop"])},{default:le(()=>[ee(s(i))]),_:1},8,["class","onClick"])):se("v-if",!0)],2)],46,Pue),[[Lt,c.value]])]),_:3},8,["name","onBeforeLeave"]))}});var Due=Le(Vue,[["__file","notification.vue"]]);const Gp={"top-left":[],"top-right":[],"bottom-left":[],"bottom-right":[]},tm=16;let Hue=1;const bs=function(e={},t=null){if(!Nt)return{close:()=>{}};(typeof e=="string"||io(e))&&(e={message:e});const o=e.position||"top-right";let r=e.offset||0;Gp[o].forEach(({vm:u})=>{var p;r+=(((p=u.el)==null?void 0:p.offsetHeight)||0)+tm}),r+=tm;const l=`notification_${Hue++}`,n=e.onClose,a={...e,offset:r,id:l,onClose:()=>{Fue(l,o,n)}};let i=document.body;Gr(e.appendTo)?i=e.appendTo:ut(e.appendTo)&&(i=document.querySelector(e.appendTo)),Gr(i)||(i=document.body);const c=document.createElement("div"),d=ee(Due,a,io(a.message)?{default:()=>a.message}:null);return d.appContext=t??bs._context,d.props.onDestroy=()=>{jn(null,c)},jn(d,c),Gp[o].push({vm:d}),i.appendChild(c.firstElementChild),{close:()=>{d.component.exposed.visible.value=!1}}};Ux.forEach(e=>{bs[e]=(t={})=>((typeof t=="string"||io(t))&&(t={message:t}),bs({...t,type:e}))});function Fue(e,t,o){const r=Gp[t],l=r.findIndex(({vm:d})=>{var u;return((u=d.component)==null?void 0:u.props.id)===e});if(l===-1)return;const{vm:n}=r[l];if(!n)return;o==null||o(n);const a=n.el.offsetHeight,i=t.split("-")[0];r.splice(l,1);const c=r.length;if(!(c<1))for(let d=l;d{t.component.exposed.visible.value=!1})}bs.closeAll=jue,bs._context=null;const Kue=Q3(bs,"$notify");var Uue=[Qce,lue,bue,Iue,Kue,Gy],Wue=EK([...Gce,...Uue]);const que={class:"list"},Yue={key:0,class:"title"},Gue=["onClick"],Xue={key:1,class:"no-found"},Zue=N({__name:"CpList",props:{listClass:{type:String,default:""},itemClass:{type:String,default:""},noFoundMsg:{type:String,default:""},search:{type:Boolean,default:!0},title:{type:String,default:""},list:{type:Array,default:()=>[]}},emits:["handleClick"],setup(e,{expose:t,emit:o}){const r=D(""),l=D(null),n=e,a=o,i=u=>{a("handleClick",u)},c=C(()=>r.value&&r.value?n.list.filter(u=>JSON.stringify(u).toLowerCase().includes(r.value.toLowerCase())):n.list),d=C(()=>n.list.length<5?90*n.list.length:400);return t({listContent:l}),(u,p)=>{const h=nt("Search"),v=nt("el-icon"),m=nt("el-input");return b(),M("div",que,[e.title?(b(),M("div",Yue,$e(e.title),1)):se("",!0),n.search?(b(),he(m,{key:1,placeholder:s(ht).search,modelValue:r.value,"onUpdate:modelValue":p[0]||(p[0]=f=>r.value=f),clearable:"",onClear:p[1]||(p[1]=f=>r.value="")},{prepend:le(()=>[ee(v,{size:25},{default:le(()=>[ee(h)]),_:1})]),_:1},8,["placeholder","modelValue"])):se("",!0),E("ul",{ref_key:"listContent",ref:l,class:O(e.listClass),style:Je(`min-height: ${d.value}px`)},[c.value.length?(b(),M("div",{key:0,style:Je(`min-height: ${d.value}px`)},[(b(!0),M(Qe,null,It(c.value,(f,_)=>(b(),M("li",{key:_,class:O(e.itemClass),onClick:g=>i(f)},[be(u.$slots,"default",{item:f})],10,Gue))),128))],4)):(b(),M("div",Xue,$e(e.noFoundMsg),1))],6)])}}}),Jue={class:"content"},Que={key:0,class:"title"},ede={class:"inner"},tde=N({__name:"CpModal",props:{title:{type:String,required:!1,default:""},class:{type:String,required:!1,default:""},show:{type:Boolean,required:!1,default:!0}},emits:["close"],setup(e,{emit:t}){const o=D(null),r=t,l=e,n=C(()=>{let a=l.show?"active":"";return l.class&&(a+=" "+l.class),a});return ft(()=>{o.value&&o.value.addEventListener("click",a=>{o.value==a.target&&r("close")})}),(a,i)=>(b(),M("div",{ref_key:"modal",ref:o,class:O(["modal",n.value])},[E("div",Jue,[e.title?(b(),M("div",Que,$e(e.title),1)):se("",!0),E("div",ede,[be(a.$slots,"default")])])],2))}}),ode=(e,t)=>{const o=e.__vccOpts||e;for(const[r,l]of t)o[r]=l;return o},rde={},lde={class:"loading"},nde=[u9('',1)];function ade(e,t){return b(),M("div",lde,nde)}const ide=ode(rde,[["render",ade]]),sde={class:"inner"},cde=["href"],ude=N({__name:"CpContainer",setup(e){const t=D(null);zt("container",t);const o=D(null),r=C(()=>{let i=qt.modal?"modal":"";return Ho.get.modal&&(i+=" active"),i});ft(()=>{o.value&&o.value.addEventListener("click",i=>{o.value==i.target&&Ho.set("modal",!1)})});const l=atob("Q3J5cHRvUGF5"),n=atob("UG93ZXJlZCBieQ=="),a=atob("aHR0cHM6Ly9iZXljYW5wcmVzcy5jb20vY3J5cHRvcGF5P3V0bV9zb3VyY2U9cHJvX3BsdWdpbiZ1dG1fbWVkaXVtPXBvd2VyZWRfYnk=");return(i,c)=>(b(),M("div",{ref_key:"app",ref:o,class:O(["app",r.value])},[E("div",{class:O(["container","theme-"+s(qt).theme.mode]),ref_key:"container",ref:t},[E("div",sde,[be(i.$slots,"default")]),E("div",null,[E("span",null,$e(s(n)),1),E("a",{href:s(a),target:"_blank"},$e(s(l)),9,cde)])],2)],2))}});class dde{constructor(t){ff(this,"store");ff(this,"stableCoins",["USDT","USDC","DAI","BUSD","UST","TUSD"]);this.store=t}useDiscount(t){const o=this.store.payment.get.order.paymentCurrency.symbol,r=qt.discountRates[o];return parseFloat((t-t*r/100).toFixed(6))}async currencyConverter(){const t=this.store.payment.get.order.amount,o=this.store.payment.get.order.currency,r=this.store.payment.get.order.paymentCurrency.symbol;if((o.toLocaleUpperCase()=="USD"||r.toLocaleUpperCase()=="USD")&&(this.stableCoins.includes(o.toLocaleUpperCase())||this.stableCoins.includes(r.toLocaleUpperCase())))return this.useDiscount(t);let l="https://min-api.cryptocompare.com/data/price";l=l+"?fsym="+o+"&tsyms="+r;const n=await fetch(l).then(a=>a.json());return n[r.toUpperCase()]?this.useDiscount(parseFloat(String(t*n[r.toUpperCase()]))):0}findReceiverFromAddresses(t){const o=qt.addresses;if(!o)return bo("No addresses found in config").then(()=>{window.location.reload()}),"";const r=String((t==null?void 0:t.id)||(t==null?void 0:t.hexId));return o[r]??o[String(t==null?void 0:t.code)]}async init(t){const o=this.store.payment.get.order.amount,r=this.store.payment.get.order.currency,l=this.findReceiverFromAddresses(t),n=this.store.payment.get.order.paymentCurrency,a=await this.currencyConverter();return Promise.resolve({order:{amount:o,currency:r,paymentAmount:a,paymentCurrency:n},receiver:l,blockConfirmationCount:10})}createTransaction(){return Promise.resolve({success:!0,data:null,message:""})}paymentFinished(t){return Promise.resolve({success:t,data:null,message:""})}}class pde{constructor(t){ff(this,"store");this.store=t}async init(t){return await fo.get("init",{params:{order:this.store.payment.get.order,network:wi(t)}}).then(async function(o){const r=o.data.data;return o.data.success&&r.redirect?r.redirect=="reload"?window.location.reload():window.location.href=r.redirect:r}).catch(function(o){return o.response&&o.response.data||o})}async createTransaction(t){const o=this.store.payment.get.order,r=this.store.payment.get.network,l=o.paymentCurrency;return l.symbol==(r==null?void 0:r.nativeCurrency.symbol)?l.decimals=r==null?void 0:r.nativeCurrency.decimals:l.address&&(l.decimals=await new Un.assets.Token(l.address).getDecimals()),this.store.payment.setOrderParams({paymentCurrency:l}),await fo.post("create-transaction",{order:o,hash:t.getId(),dynamicData:Js.getAll(),network:wi(r)}).then(n=>n.data).catch(n=>{let a=n.response.data||null;return a||(a={data:null,success:!1,message:n.message}),a})}async paymentFinished(t){const o=this.store.payment.get.order,r=this.store.payment.get.network,l=this.store.payment.get.transactionHash;return await fo.post("payment-finished",{hash:l,order:o,status:t,dynamicData:Js.getAll(),network:wi(r)}).then(async n=>n.data).catch(async n=>{let a=n.response.data||null;return a||(a={data:null,success:!1,message:n.message}),a})}async currencyConverter(){return await new Promise(t=>{fo.get("/currency-converter",{params:{order:this.store.payment.get.order,network:wi(this.store.payment.get.network)}}).then(o=>{o.data.success?t(o.data.data):t(0)}).catch(()=>{t(0)})})}}const fde=[{id:1,hexId:"0x1",name:"Ethereum",code:"evmchains",rpcUrl:"https://ethereum-rpc.publicnode.com",explorerUrl:"https://etherscan.io/",nativeCurrency:{symbol:"ETH",decimals:18},currencies:[{symbol:"ETH"},{symbol:"USDT",address:"0xdac17f958d2ee523a2206206994597c13d831ec7"},{symbol:"USDC",address:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"},{symbol:"BUSD",address:"0x4Fabb145d64652a948d72533023f6E7A623C7C53"}]},{id:56,hexId:"0x38",name:"BNB Smart Chain",code:"evmchains",rpcUrl:"https://bsc-rpc.publicnode.com",explorerUrl:"https://bscscan.com/",nativeCurrency:{symbol:"BNB",decimals:18},currencies:[{symbol:"BNB"},{symbol:"BUSD",address:"0xe9e7cea3dedca5984780bafc599bd69add087d56"},{symbol:"USDT",address:"0x55d398326f99059ff775485246999027b3197955"},{symbol:"USDC",address:"0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d"}]},{id:43114,hexId:"0xa86a",name:"Avalanche C-Chain",code:"evmchains",rpcUrl:"https://api.avax.network/ext/bc/C/rpc",explorerUrl:"https://cchain.explorer.avax.network/",nativeCurrency:{symbol:"AVAX",decimals:18},currencies:[{symbol:"AVAX"},{symbol:"USDT",address:"0xde3a24028580884448a5397872046a019649b084"}]},{id:137,hexId:"0x89",name:"Polygon",code:"evmchains",rpcUrl:"https://polygon-rpc.com/",explorerUrl:"https://polygonscan.com/",nativeCurrency:{symbol:"MATIC",decimals:18},currencies:[{symbol:"MATIC"},{symbol:"USDT",address:"0xc2132d05d31c914a87c6611c10748aeb04b58e8f"}]},{id:250,hexId:"0xfa",name:"Fantom",code:"evmchains",rpcUrl:"https://rpc.fantom.network",explorerUrl:"https://ftmscan.com/",nativeCurrency:{symbol:"FTM",decimals:18},currencies:[{symbol:"FTM"}]}],hde=[{id:11155111,hexId:"0xaa36a7",mainnetId:1,code:"evmchains",name:"Ethereum Sepolia Testnet",rpcUrl:"https://sepolia.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161",explorerUrl:"https://sepolia.etherscan.io/",nativeCurrency:{symbol:"ETH",decimals:18},currencies:[{symbol:"ETH"},{symbol:"USDT",address:"0x419Fe9f14Ff3aA22e46ff1d03a73EdF3b70A62ED"},{symbol:"USDC",address:"0x13fA158A117b93C27c55b8216806294a0aE88b6D"}]},{id:97,hexId:"0x61",mainnetId:56,code:"evmchains",name:"BNB Smart Chain Testnet",rpcUrl:"https://bsc-testnet.publicnode.com",explorerUrl:"https://testnet.bscscan.com/",nativeCurrency:{symbol:"BNB",decimals:18},currencies:[{symbol:"BNB"},{symbol:"BUSD",address:"0xeD24FC36d5Ee211Ea25A80239Fb8C4Cfd80f12Ee"},{symbol:"USDT",address:"0xba6670261a05b8504e8ab9c45d97a8ed42573822"}]},{id:43113,hexId:"0xa869",mainnetId:43114,code:"evmchains",name:"Avalanche FUJI C-Chain Testnet",rpcUrl:"https://api.avax-test.network/ext/bc/C/rpc",explorerUrl:"https://cchain.explorer.avax-test.network",nativeCurrency:{symbol:"AVAX",decimals:18},currencies:[{symbol:"AVAX"},{symbol:"USDT",address:"0xFe143522938e253e5Feef14DB0732e9d96221D72"}]},{id:80002,hexId:"0x13882",mainnetId:137,code:"evmchains",name:"Polygon Amoy Testnet",rpcUrl:"https://rpc-amoy.polygon.technology",explorerUrl:"https://www.oklink.com/amoy",nativeCurrency:{symbol:"MATIC",decimals:18},currencies:[{symbol:"MATIC"},{symbol:"USDT",address:"0xa02f6adc7926efebbd59fd43a84f4e0c0c91e832"}]},{id:4002,hexId:"0xfa2",mainnetId:250,code:"evmchains",name:"Fantom Testnet",rpcUrl:"https://rpc.testnet.fantom.network/",explorerUrl:"https://testnet.ftmscan.com/",nativeCurrency:{symbol:"FTM",decimals:18},currencies:[{symbol:"FTM"}]}];window.cplSwal=Er,window.cplHelpers=Q1,window.cplTyping=ha;let Wx=!1;window.InitCryptoPayLite=(e,t)=>{var d;if(t=ha(t),Wx)throw new Error("CryptoPay Lite already initialized");xi(),Wx=!0,(d=document.querySelector("body"))==null||d.classList.add("cpl-theme-"+t.theme.mode),fo.defaults.baseURL=t.apiUrl??"./test-data/fake-api";const o={events:Vt,helpers:Q1,dynamicData:Js},r=rC();r.use(LS);const l=D1(PS);l.component("cp-list",Zue),l.component("cp-modal",tde),l.component("cp-loading",ide),l.component("cp-container",ude);for(const[u,p]of Object.entries(oF))l.component(u,p);l.use(r),l.use(Wue);const n={};Object.values(mC).forEach(u=>{const p=u();n[p.$id]=p}),vC(t),hC(n);const a=document.createElement("div");l.mount(a);const i=()=>new Promise(u=>{const p=Object.values(n);p.forEach(async(h,v)=>{await h.$reset(),v===p.length-1&&u(!0)})}),c=(u,p={})=>{if(typeof u!="object")throw new Error("Order must be object");if(typeof p!="object")throw new Error("Params must be object");if(!u.amount)throw new Error("Order amount is required");if(!u.currency)throw new Error("Order currency is required");if(typeof u.currency!="string")throw new Error("Order currency must be string");if(typeof u.amount!="number")throw new Error("Order amount must be number");o!=null&&o.start&&delete o.start,fo.defaults.params={params:p,cp_addon:t.addon};const h=(t.testnet?hde:fde).filter(x=>(x.wallets=t.wallets,t.networks.includes(x.id)));if(n.config.set("order",un(u)),n.config.set("networks",un(h)),t.init&&n.payment.setInit(un(t.init)),t.apiUrl)n.payment.setAPI(new pde(n));else{if(!t.addresses)throw new Error("Addresses must be defined in config");n.payment.setAPI(new dde(n))}const v=document.getElementById(e);let m;v!=null&&v.shadowRoot?m=v.shadowRoot:m=v==null?void 0:v.attachShadow({mode:"open"});const f=new CSSStyleSheet,_=t.theme.style[t.theme.mode],g=` :host { --text-color: ${_.text}; --border-color: ${_.border}; diff --git a/assets/js/evm-chains-provider.js b/assets/js/evm-chains-provider.js index 50be7a7..b0e425c 100644 --- a/assets/js/evm-chains-provider.js +++ b/assets/js/evm-chains-provider.js @@ -1,37 +1,37 @@ -(function(Kr,mn){typeof exports=="object"&&typeof module<"u"?mn(exports):typeof define=="function"&&define.amd?define(["exports"],mn):(Kr=typeof globalThis<"u"?globalThis:Kr||self,mn((Kr.MultipleChain=Kr.MultipleChain||{},Kr.MultipleChain.EvmChains={})))})(this,function(Kr){"use strict";var Rot=Object.defineProperty;var Tot=(Kr,mn,bn)=>mn in Kr?Rot(Kr,mn,{enumerable:!0,configurable:!0,writable:!0,value:bn}):Kr[mn]=bn;var Ee=(Kr,mn,bn)=>(Tot(Kr,typeof mn!="symbol"?mn+"":mn,bn),bn),YG=(Kr,mn,bn)=>{if(!mn.has(Kr))throw TypeError("Cannot "+bn)};var oe=(Kr,mn,bn)=>(YG(Kr,mn,"read from private field"),bn?bn.call(Kr):mn.get(Kr)),Ne=(Kr,mn,bn)=>{if(mn.has(Kr))throw TypeError("Cannot add the same private member more than once");mn instanceof WeakSet?mn.add(Kr):mn.set(Kr,bn)},me=(Kr,mn,bn,Kn)=>(YG(Kr,mn,"write to private field"),Kn?Kn.call(Kr,bn):mn.set(Kr,bn),bn);var T5=(Kr,mn,bn,Kn)=>({set _(kr){me(Kr,mn,kr,bn)},get _(){return oe(Kr,mn,Kn)}}),rt=(Kr,mn,bn)=>(YG(Kr,mn,"access private method"),bn);var T3,I2,F1,k3,M3,ch,p0,N3,P3,ko,rl,g0,R2,T2,k2,jf,m0,j1,M2,m_,Nx,Px,Ox,nl,O3,N2,lh,gi,Va,b0,yw,uh,yp,Dx,QG,$x,XG,Bx,eK,Lx,tK,H1,w0,P2,D3,eT,Ac,il,O2,D2,q1,Fx,rK,qR,yge,$3,B3,L3,$2,v0,L2,zf,U3,F3,j3,z3,H3,q3,W3,V3,G3,K3,Z3,U2,F2,fh,jx,x0,J3,WR,_ge,Ko,dh,zx,nK,Y3,tT,W1,k5,Hf,qf,Wf,xa,Q3,rT,X3,nT,_0,Hx,V1,t5,qx,Wx,Iot,G1,j2,K1,M5,KR,Ege,z2,Gx,Kx,n5,i5,Z1,E0,gu,J1,Vf,o5,iT,H2,q2,Y1,a5,A0,ZR,c5,C0,l5,u5,Q1,mu,JR,Age,_a,X1,Ea,h5,sl,W2,eg,S0,Zx,bu,f5,d5,Ga,yl,Jx,iK,Yx,sK,V2,b_,Qx,oK,G2,w_,p5,sT,g5,oT,Cc,Gf,K2,tg,Z2,m5,Xx,aK,e7,cK,J2,Y2,b5,I0,Kf,ph,wu,Sc,t7,lK,rg,w5,nge,v5,R0,r7,ng,Q2,ig,n7,X2,y5,sg,eb,gh,Ic,T0,x5,YR,Cge,i7,uK,QR,Sge,XR,Ige,s7,hK,og,tb,_5,E5,A5,o7,rb,a7,fK,c7,dK,nb,v_,l7,k0,pK,u7,ige,sge,oge,age,cge,lge,uge,hge,fge,dge,pge,gge,mge,bge,wge;var mn=(r=>(r.INCOMING="INCOMING",r.OUTGOING="OUTGOING",r))(mn||{}),bn=(r=>(r.GENERAL="GENERAL",r.CONTRACT="CONTRACT",r.COIN="COIN",r.TOKEN="TOKEN",r.NFT="NFT",r))(bn||{}),Kn=(r=>(r.FAILED="FAILED",r.PENDING="PENDING",r.CONFIRMED="CONFIRMED",r))(Kn||{}),kr=(r=>(r.RPC_TIMEOUT="RPC_TIMEOUT",r.RPC_REQUEST_ERROR="RPC_REQUEST_ERROR",r.RPC_ACCESS_DENIED="RPC_ACCESS_DENIED",r.WS_URL_NOT_DEFINED="WS_URL_NOT_DEFINED",r.WS_CONNECTION_FAILED="WS_CONNECTION_FAILED",r.UNACCEPTED_CHAIN="UNACCEPTED_CHAIN",r.UNAUTHORIZED_ADDRESS="UNAUTHORIZED_ADDRESS",r.INSUFFICIENT_BALANCE="INSUFFICIENT_BALANCE",r.INVALID_AMOUNT="INVALID_AMOUNT",r.INVALID_ADDRESS="INVALID_ADDRESS",r.INVALID_PRIVATE_KEY="INVALID_PRIVATE_KEY",r.INVALID_PUBLIC_KEY="INVALID_PUBLIC_KEY",r.INVALID_TRANSACTION_ID="INVALID_TRANSACTION_ID",r.PROVIDER_IS_REQUIRED="PROVIDER_IS_REQUIRED",r.PROVIDER_IS_NOT_INITIALIZED="PROVIDER_IS_NOT_INITIALIZED",r.PROVIDER_IS_ALREADY_INITIALIZED="PROVIDER_IS_ALREADY_INITIALIZED",r.WALLET_ALREADY_PROCESSING="WALLET_ALREADY_PROCESSING",r.WALLET_CONNECT_REJECTED="WALLET_CONNECT_REJECTED",r.WALLET_REQUEST_REJECTED="WALLET_REQUEST_REJECTED",r.WALLET_CONNECTION_FAILED="WALLET_CONNECTION_FAILED",r.WALLET_CONNECTION_TIMEOUT="WALLET_CONNECTION_TIMEOUT",r.TRANSACTION_CREATION_FAILED="TRANSACTION_CREATION_FAILED",r.TRANSACTION_NOT_FOUND="TRANSACTION_NOT_FOUND",r.CLOSED_WALLETCONNECT_MODAL="CLOSED_WALLETCONNECT_MODAL",r.PROJECT_ID_IS_REQUIRED="PROJECT_ID_IS_REQUIRED",r.METADATA_IS_REQUIRED="METADATA_IS_REQUIRED",r.CONFIG_IS_REQUIRED="CONFIG_IS_REQUIRED",r))(kr||{}),No=(r=>(r.BROWSER="BROWSER",r.MOBILE="MOBILE",r.DESKTOP="DESKTOP",r.UNIVERSAL="UNIVERSAL",r))(No||{});const mK={[bn.GENERAL]:"generalProcess",[bn.CONTRACT]:"contractProcess",[bn.COIN]:"coinProcess",[bn.TOKEN]:"tokenProcess",[bn.NFT]:"nftProcess"},Fge=Object.freeze(Object.defineProperty({__proto__:null,AssetDirectionEnum:mn,ErrorTypeEnum:kr,TransactionListenerProcessIndex:mK,TransactionStatusEnum:Kn,TransactionTypeEnum:bn,WalletPlatformEnum:No},Symbol.toStringTag,{value:"Module"})),dr=globalThis||void 0||self;function bK(r,e){return function(){return r.apply(e,arguments)}}const{toString:jge}=Object.prototype,{getPrototypeOf:aT}=Object,y_=(r=>e=>{const t=jge.call(e);return r[t]||(r[t]=t.slice(8,-1).toLowerCase())})(Object.create(null)),Oh=r=>(r=r.toLowerCase(),e=>y_(e)===r),x_=r=>e=>typeof e===r,{isArray:xw}=Array,N5=x_("undefined");function zge(r){return r!==null&&!N5(r)&&r.constructor!==null&&!N5(r.constructor)&&xl(r.constructor.isBuffer)&&r.constructor.isBuffer(r)}const wK=Oh("ArrayBuffer");function Hge(r){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(r):e=r&&r.buffer&&wK(r.buffer),e}const qge=x_("string"),xl=x_("function"),vK=x_("number"),__=r=>r!==null&&typeof r=="object",Wge=r=>r===!0||r===!1,E_=r=>{if(y_(r)!=="object")return!1;const e=aT(r);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in r)&&!(Symbol.iterator in r)},Vge=Oh("Date"),Gge=Oh("File"),Kge=Oh("Blob"),Zge=Oh("FileList"),Jge=r=>__(r)&&xl(r.pipe),Yge=r=>{let e;return r&&(typeof FormData=="function"&&r instanceof FormData||xl(r.append)&&((e=y_(r))==="formdata"||e==="object"&&xl(r.toString)&&r.toString()==="[object FormData]"))},Qge=Oh("URLSearchParams"),Xge=r=>r.trim?r.trim():r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function P5(r,e,{allOwnKeys:t=!1}={}){if(r===null||typeof r>"u")return;let n,i;if(typeof r!="object"&&(r=[r]),xw(r))for(n=0,i=r.length;n0;)if(i=t[n],e===i.toLowerCase())return i;return null}const xK=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:dr,_K=r=>!N5(r)&&r!==xK;function cT(){const{caseless:r}=_K(this)&&this||{},e={},t=(n,i)=>{const s=r&&yK(e,i)||i;E_(e[s])&&E_(n)?e[s]=cT(e[s],n):E_(n)?e[s]=cT({},n):xw(n)?e[s]=n.slice():e[s]=n};for(let n=0,i=arguments.length;n(P5(e,(i,s)=>{t&&xl(i)?r[s]=bK(i,t):r[s]=i},{allOwnKeys:n}),r),tme=r=>(r.charCodeAt(0)===65279&&(r=r.slice(1)),r),rme=(r,e,t,n)=>{r.prototype=Object.create(e.prototype,n),r.prototype.constructor=r,Object.defineProperty(r,"super",{value:e.prototype}),t&&Object.assign(r.prototype,t)},nme=(r,e,t,n)=>{let i,s,o;const a={};if(e=e||{},r==null)return e;do{for(i=Object.getOwnPropertyNames(r),s=i.length;s-- >0;)o=i[s],(!n||n(o,r,e))&&!a[o]&&(e[o]=r[o],a[o]=!0);r=t!==!1&&aT(r)}while(r&&(!t||t(r,e))&&r!==Object.prototype);return e},ime=(r,e,t)=>{r=String(r),(t===void 0||t>r.length)&&(t=r.length),t-=e.length;const n=r.indexOf(e,t);return n!==-1&&n===t},sme=r=>{if(!r)return null;if(xw(r))return r;let e=r.length;if(!vK(e))return null;const t=new Array(e);for(;e-- >0;)t[e]=r[e];return t},ome=(r=>e=>r&&e instanceof r)(typeof Uint8Array<"u"&&aT(Uint8Array)),ame=(r,e)=>{const n=(r&&r[Symbol.iterator]).call(r);let i;for(;(i=n.next())&&!i.done;){const s=i.value;e.call(r,s[0],s[1])}},cme=(r,e)=>{let t;const n=[];for(;(t=r.exec(e))!==null;)n.push(t);return n},lme=Oh("HTMLFormElement"),ume=r=>r.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(t,n,i){return n.toUpperCase()+i}),EK=(({hasOwnProperty:r})=>(e,t)=>r.call(e,t))(Object.prototype),hme=Oh("RegExp"),AK=(r,e)=>{const t=Object.getOwnPropertyDescriptors(r),n={};P5(t,(i,s)=>{let o;(o=e(i,s,r))!==!1&&(n[s]=o||i)}),Object.defineProperties(r,n)},fme=r=>{AK(r,(e,t)=>{if(xl(r)&&["arguments","caller","callee"].indexOf(t)!==-1)return!1;const n=r[t];if(xl(n)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+t+"'")})}})},dme=(r,e)=>{const t={},n=i=>{i.forEach(s=>{t[s]=!0})};return xw(r)?n(r):n(String(r).split(e)),t},pme=()=>{},gme=(r,e)=>(r=+r,Number.isFinite(r)?r:e),lT="abcdefghijklmnopqrstuvwxyz",CK="0123456789",SK={DIGIT:CK,ALPHA:lT,ALPHA_DIGIT:lT+lT.toUpperCase()+CK},mme=(r=16,e=SK.ALPHA_DIGIT)=>{let t="";const{length:n}=e;for(;r--;)t+=e[Math.random()*n|0];return t};function bme(r){return!!(r&&xl(r.append)&&r[Symbol.toStringTag]==="FormData"&&r[Symbol.iterator])}const wme=r=>{const e=new Array(10),t=(n,i)=>{if(__(n)){if(e.indexOf(n)>=0)return;if(!("toJSON"in n)){e[i]=n;const s=xw(n)?[]:{};return P5(n,(o,a)=>{const l=t(o,i+1);!N5(l)&&(s[a]=l)}),e[i]=void 0,s}}return n};return t(r,0)},vme=Oh("AsyncFunction"),nt={isArray:xw,isArrayBuffer:wK,isBuffer:zge,isFormData:Yge,isArrayBufferView:Hge,isString:qge,isNumber:vK,isBoolean:Wge,isObject:__,isPlainObject:E_,isUndefined:N5,isDate:Vge,isFile:Gge,isBlob:Kge,isRegExp:hme,isFunction:xl,isStream:Jge,isURLSearchParams:Qge,isTypedArray:ome,isFileList:Zge,forEach:P5,merge:cT,extend:eme,trim:Xge,stripBOM:tme,inherits:rme,toFlatObject:nme,kindOf:y_,kindOfTest:Oh,endsWith:ime,toArray:sme,forEachEntry:ame,matchAll:cme,isHTMLForm:lme,hasOwnProperty:EK,hasOwnProp:EK,reduceDescriptors:AK,freezeMethods:fme,toObjectSet:dme,toCamelCase:ume,noop:pme,toFiniteNumber:gme,findKey:yK,global:xK,isContextDefined:_K,ALPHABET:SK,generateString:mme,isSpecCompliantForm:bme,toJSONObject:wme,isAsyncFn:vme,isThenable:r=>r&&(__(r)||xl(r))&&xl(r.then)&&xl(r.catch)};var js={},A_={};A_.byteLength=_me,A_.toByteArray=Ame,A_.fromByteArray=Ime;for(var Dh=[],_l=[],yme=typeof Uint8Array<"u"?Uint8Array:Array,uT="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",_w=0,xme=uT.length;_w0)throw new Error("Invalid string. Length must be a multiple of 4");var t=r.indexOf("=");t===-1&&(t=e);var n=t===e?0:4-t%4;return[t,n]}function _me(r){var e=IK(r),t=e[0],n=e[1];return(t+n)*3/4-n}function Eme(r,e,t){return(e+t)*3/4-t}function Ame(r){var e,t=IK(r),n=t[0],i=t[1],s=new yme(Eme(r,n,i)),o=0,a=i>0?n-4:n,l;for(l=0;l>16&255,s[o++]=e>>8&255,s[o++]=e&255;return i===2&&(e=_l[r.charCodeAt(l)]<<2|_l[r.charCodeAt(l+1)]>>4,s[o++]=e&255),i===1&&(e=_l[r.charCodeAt(l)]<<10|_l[r.charCodeAt(l+1)]<<4|_l[r.charCodeAt(l+2)]>>2,s[o++]=e>>8&255,s[o++]=e&255),s}function Cme(r){return Dh[r>>18&63]+Dh[r>>12&63]+Dh[r>>6&63]+Dh[r&63]}function Sme(r,e,t){for(var n,i=[],s=e;sa?a:o+s));return n===1?(e=r[t-1],i.push(Dh[e>>2]+Dh[e<<4&63]+"==")):n===2&&(e=(r[t-2]<<8)+r[t-1],i.push(Dh[e>>10]+Dh[e>>4&63]+Dh[e<<2&63]+"=")),i.join("")}var hT={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */hT.read=function(r,e,t,n,i){var s,o,a=i*8-n-1,l=(1<>1,h=-7,p=t?i-1:0,g=t?-1:1,w=r[e+p];for(p+=g,s=w&(1<<-h)-1,w>>=-h,h+=a;h>0;s=s*256+r[e+p],p+=g,h-=8);for(o=s&(1<<-h)-1,s>>=-h,h+=n;h>0;o=o*256+r[e+p],p+=g,h-=8);if(s===0)s=1-u;else{if(s===l)return o?NaN:(w?-1:1)*(1/0);o=o+Math.pow(2,n),s=s-u}return(w?-1:1)*o*Math.pow(2,s-n)},hT.write=function(r,e,t,n,i,s){var o,a,l,u=s*8-i-1,h=(1<>1,g=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,w=n?0:s-1,y=n?1:-1,C=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=h):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),o+p>=1?e+=g/l:e+=g*Math.pow(2,1-p),e*l>=2&&(o++,l/=2),o+p>=h?(a=0,o=h):o+p>=1?(a=(e*l-1)*Math.pow(2,i),o=o+p):(a=e*Math.pow(2,p-1)*Math.pow(2,i),o=0));i>=8;r[t+w]=a&255,w+=y,a/=256,i-=8);for(o=o<0;r[t+w]=o&255,w+=y,o/=256,u-=8);r[t+w-y]|=C*128};/*! +var wot=Object.defineProperty;var vot=(Kr,wn,vn)=>wn in Kr?wot(Kr,wn,{enumerable:!0,configurable:!0,writable:!0,value:vn}):Kr[wn]=vn;var Ee=(Kr,wn,vn)=>(vot(Kr,typeof wn!="symbol"?wn+"":wn,vn),vn),WG=(Kr,wn,vn)=>{if(!wn.has(Kr))throw TypeError("Cannot "+vn)};var oe=(Kr,wn,vn)=>(WG(Kr,wn,"read from private field"),vn?vn.call(Kr):wn.get(Kr)),Ne=(Kr,wn,vn)=>{if(wn.has(Kr))throw TypeError("Cannot add the same private member more than once");wn instanceof WeakSet?wn.add(Kr):wn.set(Kr,vn)},me=(Kr,wn,vn,Jn)=>(WG(Kr,wn,"write to private field"),Jn?Jn.call(Kr,vn):wn.set(Kr,vn),vn),S5=(Kr,wn,vn,Jn)=>({set _(kr){me(Kr,wn,kr,vn)},get _(){return oe(Kr,wn,Jn)}}),rt=(Kr,wn,vn)=>(WG(Kr,wn,"access private method"),vn);(function(Kr,wn){typeof exports=="object"&&typeof module<"u"?wn(exports):typeof define=="function"&&define.amd?define(["exports"],wn):(Kr=typeof globalThis<"u"?globalThis:Kr||self,wn((Kr.MultipleChain=Kr.MultipleChain||{},Kr.MultipleChain.EvmChains={})))})(this,function(Kr){var I3,S2,L1,T3,R3,uh,d0,k3,M3,Mo,il,p0,I2,T2,R2,Hf,g0,U1,k2,m_,Mx,Nx,Px,sl,N3,M2,hh,mi,Va,m0,vw,fh,bp,Ox,VG,Dx,GG,$x,KG,Bx,ZG,j1,b0,N2,P3,oR,Ac,ol,P2,O2,z1,Ux,JG,JT,vge,O3,D3,$3,D2,w0,B2,qf,B3,L3,U3,F3,j3,z3,H3,q3,W3,V3,G3,L2,U2,rge,Fx,y0,K3,YT,yge,Ko,ph,jx,YG,Z3,aR,H1,I5,Wf,Vf,Gf,_a,J3,cR,Y3,lR,x0,zx,q1,X3,Hx,qx,bot,W1,F2,V1,T5,eR,xge,j2,Gx,Kx,e5,t5,G1,_0,bu,K1,Kf,n5,uR,z2,H2,Z1,i5,E0,tR,s5,A0,o5,a5,J1,wu,rR,_ge,Ea,Y1,Aa,c5,al,q2,Q1,C0,Zx,vu,l5,u5,Ga,_l,Jx,QG,Yx,XG,W2,b_,Qx,eK,V2,w_,h5,hR,f5,fR,Cc,Zf,G2,X1,K2,d5,Xx,tK,e7,rK,Z2,J2,p5,S0,Jf,gh,yu,Sc,t7,nK,eg,g5,nge,m5,I0,r7,tg,Y2,rg,n7,Q2,b5,ng,X2,mh,Ic,T0,w5,nR,Ege,i7,iK,iR,Age,sR,Cge,s7,sK,ig,eb,v5,y5,x5,o7,tb,a7,oK,c7,aK,rb,v_,l7,dj,cK,u7,ige,sge,oge,age,cge,lge,uge,hge,fge,dge,pge,gge,mge,bge,wge;"use strict";var wn=(r=>(r.INCOMING="INCOMING",r.OUTGOING="OUTGOING",r))(wn||{}),vn=(r=>(r.GENERAL="GENERAL",r.CONTRACT="CONTRACT",r.COIN="COIN",r.TOKEN="TOKEN",r.NFT="NFT",r))(vn||{}),Jn=(r=>(r.FAILED="FAILED",r.PENDING="PENDING",r.CONFIRMED="CONFIRMED",r))(Jn||{}),kr=(r=>(r.RPC_TIMEOUT="RPC_TIMEOUT",r.RPC_REQUEST_ERROR="RPC_REQUEST_ERROR",r.RPC_ACCESS_DENIED="RPC_ACCESS_DENIED",r.WS_URL_NOT_DEFINED="WS_URL_NOT_DEFINED",r.WS_CONNECTION_FAILED="WS_CONNECTION_FAILED",r.UNACCEPTED_CHAIN="UNACCEPTED_CHAIN",r.UNAUTHORIZED_ADDRESS="UNAUTHORIZED_ADDRESS",r.INSUFFICIENT_BALANCE="INSUFFICIENT_BALANCE",r.INVALID_AMOUNT="INVALID_AMOUNT",r.INVALID_ADDRESS="INVALID_ADDRESS",r.INVALID_PRIVATE_KEY="INVALID_PRIVATE_KEY",r.INVALID_PUBLIC_KEY="INVALID_PUBLIC_KEY",r.INVALID_TRANSACTION_ID="INVALID_TRANSACTION_ID",r.PROVIDER_IS_REQUIRED="PROVIDER_IS_REQUIRED",r.PROVIDER_IS_NOT_INITIALIZED="PROVIDER_IS_NOT_INITIALIZED",r.PROVIDER_IS_ALREADY_INITIALIZED="PROVIDER_IS_ALREADY_INITIALIZED",r.WALLET_ALREADY_PROCESSING="WALLET_ALREADY_PROCESSING",r.WALLET_CONNECT_REJECTED="WALLET_CONNECT_REJECTED",r.WALLET_REQUEST_REJECTED="WALLET_REQUEST_REJECTED",r.WALLET_CONNECTION_FAILED="WALLET_CONNECTION_FAILED",r.WALLET_CONNECTION_TIMEOUT="WALLET_CONNECTION_TIMEOUT",r.TRANSACTION_CREATION_FAILED="TRANSACTION_CREATION_FAILED",r.TRANSACTION_NOT_FOUND="TRANSACTION_NOT_FOUND",r.CLOSED_WALLETCONNECT_MODAL="CLOSED_WALLETCONNECT_MODAL",r.PROJECT_ID_IS_REQUIRED="PROJECT_ID_IS_REQUIRED",r.METADATA_IS_REQUIRED="METADATA_IS_REQUIRED",r.CONFIG_IS_REQUIRED="CONFIG_IS_REQUIRED",r))(kr||{}),Po=(r=>(r.BROWSER="BROWSER",r.MOBILE="MOBILE",r.DESKTOP="DESKTOP",r.UNIVERSAL="UNIVERSAL",r))(Po||{});const lK={[vn.GENERAL]:"generalProcess",[vn.CONTRACT]:"contractProcess",[vn.COIN]:"coinProcess",[vn.TOKEN]:"tokenProcess",[vn.NFT]:"nftProcess"},Tge=Object.freeze(Object.defineProperty({__proto__:null,AssetDirectionEnum:wn,ErrorTypeEnum:kr,TransactionListenerProcessIndex:lK,TransactionStatusEnum:Jn,TransactionTypeEnum:vn,WalletPlatformEnum:Po},Symbol.toStringTag,{value:"Module"})),dr=globalThis||void 0||self;function uK(r,e){return function(){return r.apply(e,arguments)}}const{toString:Rge}=Object.prototype,{getPrototypeOf:dR}=Object,y_=(r=>e=>{const t=Rge.call(e);return r[t]||(r[t]=t.slice(8,-1).toLowerCase())})(Object.create(null)),Ph=r=>(r=r.toLowerCase(),e=>y_(e)===r),x_=r=>e=>typeof e===r,{isArray:yw}=Array,R5=x_("undefined");function kge(r){return r!==null&&!R5(r)&&r.constructor!==null&&!R5(r.constructor)&&El(r.constructor.isBuffer)&&r.constructor.isBuffer(r)}const hK=Ph("ArrayBuffer");function Mge(r){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(r):e=r&&r.buffer&&hK(r.buffer),e}const Nge=x_("string"),El=x_("function"),fK=x_("number"),__=r=>r!==null&&typeof r=="object",Pge=r=>r===!0||r===!1,E_=r=>{if(y_(r)!=="object")return!1;const e=dR(r);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in r)&&!(Symbol.iterator in r)},Oge=Ph("Date"),Dge=Ph("File"),$ge=Ph("Blob"),Bge=Ph("FileList"),Lge=r=>__(r)&&El(r.pipe),Uge=r=>{let e;return r&&(typeof FormData=="function"&&r instanceof FormData||El(r.append)&&((e=y_(r))==="formdata"||e==="object"&&El(r.toString)&&r.toString()==="[object FormData]"))},Fge=Ph("URLSearchParams"),jge=r=>r.trim?r.trim():r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function k5(r,e,{allOwnKeys:t=!1}={}){if(r===null||typeof r>"u")return;let n,i;if(typeof r!="object"&&(r=[r]),yw(r))for(n=0,i=r.length;n0;)if(i=t[n],e===i.toLowerCase())return i;return null}const pK=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:dr)(),gK=r=>!R5(r)&&r!==pK;function pR(){const{caseless:r}=gK(this)&&this||{},e={},t=(n,i)=>{const s=r&&dK(e,i)||i;E_(e[s])&&E_(n)?e[s]=pR(e[s],n):E_(n)?e[s]=pR({},n):yw(n)?e[s]=n.slice():e[s]=n};for(let n=0,i=arguments.length;n(k5(e,(i,s)=>{t&&El(i)?r[s]=uK(i,t):r[s]=i},{allOwnKeys:n}),r),Hge=r=>(r.charCodeAt(0)===65279&&(r=r.slice(1)),r),qge=(r,e,t,n)=>{r.prototype=Object.create(e.prototype,n),r.prototype.constructor=r,Object.defineProperty(r,"super",{value:e.prototype}),t&&Object.assign(r.prototype,t)},Wge=(r,e,t,n)=>{let i,s,o;const a={};if(e=e||{},r==null)return e;do{for(i=Object.getOwnPropertyNames(r),s=i.length;s-- >0;)o=i[s],(!n||n(o,r,e))&&!a[o]&&(e[o]=r[o],a[o]=!0);r=t!==!1&&dR(r)}while(r&&(!t||t(r,e))&&r!==Object.prototype);return e},Vge=(r,e,t)=>{r=String(r),(t===void 0||t>r.length)&&(t=r.length),t-=e.length;const n=r.indexOf(e,t);return n!==-1&&n===t},Gge=r=>{if(!r)return null;if(yw(r))return r;let e=r.length;if(!fK(e))return null;const t=new Array(e);for(;e-- >0;)t[e]=r[e];return t},Kge=(r=>e=>r&&e instanceof r)(typeof Uint8Array<"u"&&dR(Uint8Array)),Zge=(r,e)=>{const n=(r&&r[Symbol.iterator]).call(r);let i;for(;(i=n.next())&&!i.done;){const s=i.value;e.call(r,s[0],s[1])}},Jge=(r,e)=>{let t;const n=[];for(;(t=r.exec(e))!==null;)n.push(t);return n},Yge=Ph("HTMLFormElement"),Qge=r=>r.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(t,n,i){return n.toUpperCase()+i}),mK=(({hasOwnProperty:r})=>(e,t)=>r.call(e,t))(Object.prototype),Xge=Ph("RegExp"),bK=(r,e)=>{const t=Object.getOwnPropertyDescriptors(r),n={};k5(t,(i,s)=>{let o;(o=e(i,s,r))!==!1&&(n[s]=o||i)}),Object.defineProperties(r,n)},eme=r=>{bK(r,(e,t)=>{if(El(r)&&["arguments","caller","callee"].indexOf(t)!==-1)return!1;const n=r[t];if(El(n)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+t+"'")})}})},tme=(r,e)=>{const t={},n=i=>{i.forEach(s=>{t[s]=!0})};return yw(r)?n(r):n(String(r).split(e)),t},rme=()=>{},nme=(r,e)=>(r=+r,Number.isFinite(r)?r:e),gR="abcdefghijklmnopqrstuvwxyz",wK="0123456789",vK={DIGIT:wK,ALPHA:gR,ALPHA_DIGIT:gR+gR.toUpperCase()+wK},ime=(r=16,e=vK.ALPHA_DIGIT)=>{let t="";const{length:n}=e;for(;r--;)t+=e[Math.random()*n|0];return t};function sme(r){return!!(r&&El(r.append)&&r[Symbol.toStringTag]==="FormData"&&r[Symbol.iterator])}const ome=r=>{const e=new Array(10),t=(n,i)=>{if(__(n)){if(e.indexOf(n)>=0)return;if(!("toJSON"in n)){e[i]=n;const s=yw(n)?[]:{};return k5(n,(o,a)=>{const l=t(o,i+1);!R5(l)&&(s[a]=l)}),e[i]=void 0,s}}return n};return t(r,0)},ame=Ph("AsyncFunction"),nt={isArray:yw,isArrayBuffer:hK,isBuffer:kge,isFormData:Uge,isArrayBufferView:Mge,isString:Nge,isNumber:fK,isBoolean:Pge,isObject:__,isPlainObject:E_,isUndefined:R5,isDate:Oge,isFile:Dge,isBlob:$ge,isRegExp:Xge,isFunction:El,isStream:Lge,isURLSearchParams:Fge,isTypedArray:Kge,isFileList:Bge,forEach:k5,merge:pR,extend:zge,trim:jge,stripBOM:Hge,inherits:qge,toFlatObject:Wge,kindOf:y_,kindOfTest:Ph,endsWith:Vge,toArray:Gge,forEachEntry:Zge,matchAll:Jge,isHTMLForm:Yge,hasOwnProperty:mK,hasOwnProp:mK,reduceDescriptors:bK,freezeMethods:eme,toObjectSet:tme,toCamelCase:Qge,noop:rme,toFiniteNumber:nme,findKey:dK,global:pK,isContextDefined:gK,ALPHABET:vK,generateString:ime,isSpecCompliantForm:sme,toJSONObject:ome,isAsyncFn:ame,isThenable:r=>r&&(__(r)||El(r))&&El(r.then)&&El(r.catch)};var Hs={},A_={};A_.byteLength=ume,A_.toByteArray=fme,A_.fromByteArray=gme;for(var Oh=[],Al=[],cme=typeof Uint8Array<"u"?Uint8Array:Array,mR="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",xw=0,lme=mR.length;xw0)throw new Error("Invalid string. Length must be a multiple of 4");var t=r.indexOf("=");t===-1&&(t=e);var n=t===e?0:4-t%4;return[t,n]}function ume(r){var e=yK(r),t=e[0],n=e[1];return(t+n)*3/4-n}function hme(r,e,t){return(e+t)*3/4-t}function fme(r){var e,t=yK(r),n=t[0],i=t[1],s=new cme(hme(r,n,i)),o=0,a=i>0?n-4:n,l;for(l=0;l>16&255,s[o++]=e>>8&255,s[o++]=e&255;return i===2&&(e=Al[r.charCodeAt(l)]<<2|Al[r.charCodeAt(l+1)]>>4,s[o++]=e&255),i===1&&(e=Al[r.charCodeAt(l)]<<10|Al[r.charCodeAt(l+1)]<<4|Al[r.charCodeAt(l+2)]>>2,s[o++]=e>>8&255,s[o++]=e&255),s}function dme(r){return Oh[r>>18&63]+Oh[r>>12&63]+Oh[r>>6&63]+Oh[r&63]}function pme(r,e,t){for(var n,i=[],s=e;sa?a:o+s));return n===1?(e=r[t-1],i.push(Oh[e>>2]+Oh[e<<4&63]+"==")):n===2&&(e=(r[t-2]<<8)+r[t-1],i.push(Oh[e>>10]+Oh[e>>4&63]+Oh[e<<2&63]+"=")),i.join("")}var bR={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */bR.read=function(r,e,t,n,i){var s,o,a=i*8-n-1,l=(1<>1,h=-7,p=t?i-1:0,g=t?-1:1,w=r[e+p];for(p+=g,s=w&(1<<-h)-1,w>>=-h,h+=a;h>0;s=s*256+r[e+p],p+=g,h-=8);for(o=s&(1<<-h)-1,s>>=-h,h+=n;h>0;o=o*256+r[e+p],p+=g,h-=8);if(s===0)s=1-u;else{if(s===l)return o?NaN:(w?-1:1)*(1/0);o=o+Math.pow(2,n),s=s-u}return(w?-1:1)*o*Math.pow(2,s-n)},bR.write=function(r,e,t,n,i,s){var o,a,l,u=s*8-i-1,h=(1<>1,g=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,w=n?0:s-1,y=n?1:-1,C=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=h):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),o+p>=1?e+=g/l:e+=g*Math.pow(2,1-p),e*l>=2&&(o++,l/=2),o+p>=h?(a=0,o=h):o+p>=1?(a=(e*l-1)*Math.pow(2,i),o=o+p):(a=e*Math.pow(2,p-1)*Math.pow(2,i),o=0));i>=8;r[t+w]=a&255,w+=y,a/=256,i-=8);for(o=o<0;r[t+w]=o&255,w+=y,o/=256,u-=8);r[t+w-y]|=C*128};/*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh * @license MIT - */(function(r){const e=A_,t=hT,n=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;r.Buffer=h,r.SlowBuffer=j,r.INSPECT_MAX_BYTES=50;const i=2147483647;r.kMaxLength=i;const{Uint8Array:s,ArrayBuffer:o,SharedArrayBuffer:a}=globalThis;h.TYPED_ARRAY_SUPPORT=l(),!h.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function l(){try{const se=new s(1),J={foo:function(){return 42}};return Object.setPrototypeOf(J,s.prototype),Object.setPrototypeOf(se,J),se.foo()===42}catch{return!1}}Object.defineProperty(h.prototype,"parent",{enumerable:!0,get:function(){if(h.isBuffer(this))return this.buffer}}),Object.defineProperty(h.prototype,"offset",{enumerable:!0,get:function(){if(h.isBuffer(this))return this.byteOffset}});function u(se){if(se>i)throw new RangeError('The value "'+se+'" is invalid for option "size"');const J=new s(se);return Object.setPrototypeOf(J,h.prototype),J}function h(se,J,Q){if(typeof se=="number"){if(typeof J=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return y(se)}return p(se,J,Q)}h.poolSize=8192;function p(se,J,Q){if(typeof se=="string")return C(se,J);if(o.isView(se))return k(se);if(se==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof se);if(Ve(se,o)||se&&Ve(se.buffer,o)||typeof a<"u"&&(Ve(se,a)||se&&Ve(se.buffer,a)))return M(se,J,Q);if(typeof se=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const ue=se.valueOf&&se.valueOf();if(ue!=null&&ue!==se)return h.from(ue,J,Q);const we=O(se);if(we)return we;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof se[Symbol.toPrimitive]=="function")return h.from(se[Symbol.toPrimitive]("string"),J,Q);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof se)}h.from=function(se,J,Q){return p(se,J,Q)},Object.setPrototypeOf(h.prototype,s.prototype),Object.setPrototypeOf(h,s);function g(se){if(typeof se!="number")throw new TypeError('"size" argument must be of type number');if(se<0)throw new RangeError('The value "'+se+'" is invalid for option "size"')}function w(se,J,Q){return g(se),se<=0?u(se):J!==void 0?typeof Q=="string"?u(se).fill(J,Q):u(se).fill(J):u(se)}h.alloc=function(se,J,Q){return w(se,J,Q)};function y(se){return g(se),u(se<0?0:B(se)|0)}h.allocUnsafe=function(se){return y(se)},h.allocUnsafeSlow=function(se){return y(se)};function C(se,J){if((typeof J!="string"||J==="")&&(J="utf8"),!h.isEncoding(J))throw new TypeError("Unknown encoding: "+J);const Q=G(se,J)|0;let ue=u(Q);const we=ue.write(se,J);return we!==Q&&(ue=ue.slice(0,we)),ue}function R(se){const J=se.length<0?0:B(se.length)|0,Q=u(J);for(let ue=0;ue=i)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i.toString(16)+" bytes");return se|0}function j(se){return+se!=se&&(se=0),h.alloc(+se)}h.isBuffer=function(J){return J!=null&&J._isBuffer===!0&&J!==h.prototype},h.compare=function(J,Q){if(Ve(J,s)&&(J=h.from(J,J.offset,J.byteLength)),Ve(Q,s)&&(Q=h.from(Q,Q.offset,Q.byteLength)),!h.isBuffer(J)||!h.isBuffer(Q))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(J===Q)return 0;let ue=J.length,we=Q.length;for(let ye=0,Ie=Math.min(ue,we);yewe.length?(h.isBuffer(Ie)||(Ie=h.from(Ie)),Ie.copy(we,ye)):s.prototype.set.call(we,Ie,ye);else if(h.isBuffer(Ie))Ie.copy(we,ye);else throw new TypeError('"list" argument must be an Array of Buffers');ye+=Ie.length}return we};function G(se,J){if(h.isBuffer(se))return se.length;if(o.isView(se)||Ve(se,o))return se.byteLength;if(typeof se!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof se);const Q=se.length,ue=arguments.length>2&&arguments[2]===!0;if(!ue&&Q===0)return 0;let we=!1;for(;;)switch(J){case"ascii":case"latin1":case"binary":return Q;case"utf8":case"utf-8":return je(se).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Q*2;case"hex":return Q>>>1;case"base64":return ze(se).length;default:if(we)return ue?-1:je(se).length;J=(""+J).toLowerCase(),we=!0}}h.byteLength=G;function D(se,J,Q){let ue=!1;if((J===void 0||J<0)&&(J=0),J>this.length||((Q===void 0||Q>this.length)&&(Q=this.length),Q<=0)||(Q>>>=0,J>>>=0,Q<=J))return"";for(se||(se="utf8");;)switch(se){case"hex":return _(this,J,Q);case"utf8":case"utf-8":return A(this,J,Q);case"ascii":return S(this,J,Q);case"latin1":case"binary":return E(this,J,Q);case"base64":return x(this,J,Q);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return U(this,J,Q);default:if(ue)throw new TypeError("Unknown encoding: "+se);se=(se+"").toLowerCase(),ue=!0}}h.prototype._isBuffer=!0;function $(se,J,Q){const ue=se[J];se[J]=se[Q],se[Q]=ue}h.prototype.swap16=function(){const J=this.length;if(J%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let Q=0;QQ&&(J+=" ... "),""},n&&(h.prototype[n]=h.prototype.inspect),h.prototype.compare=function(J,Q,ue,we,ye){if(Ve(J,s)&&(J=h.from(J,J.offset,J.byteLength)),!h.isBuffer(J))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof J);if(Q===void 0&&(Q=0),ue===void 0&&(ue=J?J.length:0),we===void 0&&(we=0),ye===void 0&&(ye=this.length),Q<0||ue>J.length||we<0||ye>this.length)throw new RangeError("out of range index");if(we>=ye&&Q>=ue)return 0;if(we>=ye)return-1;if(Q>=ue)return 1;if(Q>>>=0,ue>>>=0,we>>>=0,ye>>>=0,this===J)return 0;let Ie=ye-we,it=ue-Q;const ot=Math.min(Ie,it),tt=this.slice(we,ye),It=J.slice(Q,ue);for(let st=0;st2147483647?Q=2147483647:Q<-2147483648&&(Q=-2147483648),Q=+Q,He(Q)&&(Q=we?0:se.length-1),Q<0&&(Q=se.length+Q),Q>=se.length){if(we)return-1;Q=se.length-1}else if(Q<0)if(we)Q=0;else return-1;if(typeof J=="string"&&(J=h.from(J,ue)),h.isBuffer(J))return J.length===0?-1:te(se,J,Q,ue,we);if(typeof J=="number")return J=J&255,typeof s.prototype.indexOf=="function"?we?s.prototype.indexOf.call(se,J,Q):s.prototype.lastIndexOf.call(se,J,Q):te(se,[J],Q,ue,we);throw new TypeError("val must be string, number or Buffer")}function te(se,J,Q,ue,we){let ye=1,Ie=se.length,it=J.length;if(ue!==void 0&&(ue=String(ue).toLowerCase(),ue==="ucs2"||ue==="ucs-2"||ue==="utf16le"||ue==="utf-16le")){if(se.length<2||J.length<2)return-1;ye=2,Ie/=2,it/=2,Q/=2}function ot(It,st){return ye===1?It[st]:It.readUInt16BE(st*ye)}let tt;if(we){let It=-1;for(tt=Q;ttIe&&(Q=Ie-it),tt=Q;tt>=0;tt--){let It=!0;for(let st=0;stwe&&(ue=we)):ue=we;const ye=J.length;ue>ye/2&&(ue=ye/2);let Ie;for(Ie=0;Ie>>0,isFinite(ue)?(ue=ue>>>0,we===void 0&&(we="utf8")):(we=ue,ue=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const ye=this.length-Q;if((ue===void 0||ue>ye)&&(ue=ye),J.length>0&&(ue<0||Q<0)||Q>this.length)throw new RangeError("Attempt to write outside buffer bounds");we||(we="utf8");let Ie=!1;for(;;)switch(we){case"hex":return W(this,J,Q,ue);case"utf8":case"utf-8":return P(this,J,Q,ue);case"ascii":case"latin1":case"binary":return b(this,J,Q,ue);case"base64":return d(this,J,Q,ue);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return m(this,J,Q,ue);default:if(Ie)throw new TypeError("Unknown encoding: "+we);we=(""+we).toLowerCase(),Ie=!0}},h.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function x(se,J,Q){return J===0&&Q===se.length?e.fromByteArray(se):e.fromByteArray(se.slice(J,Q))}function A(se,J,Q){Q=Math.min(se.length,Q);const ue=[];let we=J;for(;we239?4:ye>223?3:ye>191?2:1;if(we+it<=Q){let ot,tt,It,st;switch(it){case 1:ye<128&&(Ie=ye);break;case 2:ot=se[we+1],(ot&192)===128&&(st=(ye&31)<<6|ot&63,st>127&&(Ie=st));break;case 3:ot=se[we+1],tt=se[we+2],(ot&192)===128&&(tt&192)===128&&(st=(ye&15)<<12|(ot&63)<<6|tt&63,st>2047&&(st<55296||st>57343)&&(Ie=st));break;case 4:ot=se[we+1],tt=se[we+2],It=se[we+3],(ot&192)===128&&(tt&192)===128&&(It&192)===128&&(st=(ye&15)<<18|(ot&63)<<12|(tt&63)<<6|It&63,st>65535&&st<1114112&&(Ie=st))}}Ie===null?(Ie=65533,it=1):Ie>65535&&(Ie-=65536,ue.push(Ie>>>10&1023|55296),Ie=56320|Ie&1023),ue.push(Ie),we+=it}return T(ue)}const I=4096;function T(se){const J=se.length;if(J<=I)return String.fromCharCode.apply(String,se);let Q="",ue=0;for(;ueue)&&(Q=ue);let we="";for(let ye=J;yeue&&(J=ue),Q<0?(Q+=ue,Q<0&&(Q=0)):Q>ue&&(Q=ue),QQ)throw new RangeError("Trying to access beyond buffer length")}h.prototype.readUintLE=h.prototype.readUIntLE=function(J,Q,ue){J=J>>>0,Q=Q>>>0,ue||ie(J,Q,this.length);let we=this[J],ye=1,Ie=0;for(;++Ie>>0,Q=Q>>>0,ue||ie(J,Q,this.length);let we=this[J+--Q],ye=1;for(;Q>0&&(ye*=256);)we+=this[J+--Q]*ye;return we},h.prototype.readUint8=h.prototype.readUInt8=function(J,Q){return J=J>>>0,Q||ie(J,1,this.length),this[J]},h.prototype.readUint16LE=h.prototype.readUInt16LE=function(J,Q){return J=J>>>0,Q||ie(J,2,this.length),this[J]|this[J+1]<<8},h.prototype.readUint16BE=h.prototype.readUInt16BE=function(J,Q){return J=J>>>0,Q||ie(J,2,this.length),this[J]<<8|this[J+1]},h.prototype.readUint32LE=h.prototype.readUInt32LE=function(J,Q){return J=J>>>0,Q||ie(J,4,this.length),(this[J]|this[J+1]<<8|this[J+2]<<16)+this[J+3]*16777216},h.prototype.readUint32BE=h.prototype.readUInt32BE=function(J,Q){return J=J>>>0,Q||ie(J,4,this.length),this[J]*16777216+(this[J+1]<<16|this[J+2]<<8|this[J+3])},h.prototype.readBigUInt64LE=Ge(function(J){J=J>>>0,Me(J,"offset");const Q=this[J],ue=this[J+7];(Q===void 0||ue===void 0)&&ke(J,this.length-8);const we=Q+this[++J]*2**8+this[++J]*2**16+this[++J]*2**24,ye=this[++J]+this[++J]*2**8+this[++J]*2**16+ue*2**24;return BigInt(we)+(BigInt(ye)<>>0,Me(J,"offset");const Q=this[J],ue=this[J+7];(Q===void 0||ue===void 0)&&ke(J,this.length-8);const we=Q*2**24+this[++J]*2**16+this[++J]*2**8+this[++J],ye=this[++J]*2**24+this[++J]*2**16+this[++J]*2**8+ue;return(BigInt(we)<>>0,Q=Q>>>0,ue||ie(J,Q,this.length);let we=this[J],ye=1,Ie=0;for(;++Ie=ye&&(we-=Math.pow(2,8*Q)),we},h.prototype.readIntBE=function(J,Q,ue){J=J>>>0,Q=Q>>>0,ue||ie(J,Q,this.length);let we=Q,ye=1,Ie=this[J+--we];for(;we>0&&(ye*=256);)Ie+=this[J+--we]*ye;return ye*=128,Ie>=ye&&(Ie-=Math.pow(2,8*Q)),Ie},h.prototype.readInt8=function(J,Q){return J=J>>>0,Q||ie(J,1,this.length),this[J]&128?(255-this[J]+1)*-1:this[J]},h.prototype.readInt16LE=function(J,Q){J=J>>>0,Q||ie(J,2,this.length);const ue=this[J]|this[J+1]<<8;return ue&32768?ue|4294901760:ue},h.prototype.readInt16BE=function(J,Q){J=J>>>0,Q||ie(J,2,this.length);const ue=this[J+1]|this[J]<<8;return ue&32768?ue|4294901760:ue},h.prototype.readInt32LE=function(J,Q){return J=J>>>0,Q||ie(J,4,this.length),this[J]|this[J+1]<<8|this[J+2]<<16|this[J+3]<<24},h.prototype.readInt32BE=function(J,Q){return J=J>>>0,Q||ie(J,4,this.length),this[J]<<24|this[J+1]<<16|this[J+2]<<8|this[J+3]},h.prototype.readBigInt64LE=Ge(function(J){J=J>>>0,Me(J,"offset");const Q=this[J],ue=this[J+7];(Q===void 0||ue===void 0)&&ke(J,this.length-8);const we=this[J+4]+this[J+5]*2**8+this[J+6]*2**16+(ue<<24);return(BigInt(we)<>>0,Me(J,"offset");const Q=this[J],ue=this[J+7];(Q===void 0||ue===void 0)&&ke(J,this.length-8);const we=(Q<<24)+this[++J]*2**16+this[++J]*2**8+this[++J];return(BigInt(we)<>>0,Q||ie(J,4,this.length),t.read(this,J,!0,23,4)},h.prototype.readFloatBE=function(J,Q){return J=J>>>0,Q||ie(J,4,this.length),t.read(this,J,!1,23,4)},h.prototype.readDoubleLE=function(J,Q){return J=J>>>0,Q||ie(J,8,this.length),t.read(this,J,!0,52,8)},h.prototype.readDoubleBE=function(J,Q){return J=J>>>0,Q||ie(J,8,this.length),t.read(this,J,!1,52,8)};function q(se,J,Q,ue,we,ye){if(!h.isBuffer(se))throw new TypeError('"buffer" argument must be a Buffer instance');if(J>we||Jse.length)throw new RangeError("Index out of range")}h.prototype.writeUintLE=h.prototype.writeUIntLE=function(J,Q,ue,we){if(J=+J,Q=Q>>>0,ue=ue>>>0,!we){const it=Math.pow(2,8*ue)-1;q(this,J,Q,ue,it,0)}let ye=1,Ie=0;for(this[Q]=J&255;++Ie>>0,ue=ue>>>0,!we){const it=Math.pow(2,8*ue)-1;q(this,J,Q,ue,it,0)}let ye=ue-1,Ie=1;for(this[Q+ye]=J&255;--ye>=0&&(Ie*=256);)this[Q+ye]=J/Ie&255;return Q+ue},h.prototype.writeUint8=h.prototype.writeUInt8=function(J,Q,ue){return J=+J,Q=Q>>>0,ue||q(this,J,Q,1,255,0),this[Q]=J&255,Q+1},h.prototype.writeUint16LE=h.prototype.writeUInt16LE=function(J,Q,ue){return J=+J,Q=Q>>>0,ue||q(this,J,Q,2,65535,0),this[Q]=J&255,this[Q+1]=J>>>8,Q+2},h.prototype.writeUint16BE=h.prototype.writeUInt16BE=function(J,Q,ue){return J=+J,Q=Q>>>0,ue||q(this,J,Q,2,65535,0),this[Q]=J>>>8,this[Q+1]=J&255,Q+2},h.prototype.writeUint32LE=h.prototype.writeUInt32LE=function(J,Q,ue){return J=+J,Q=Q>>>0,ue||q(this,J,Q,4,4294967295,0),this[Q+3]=J>>>24,this[Q+2]=J>>>16,this[Q+1]=J>>>8,this[Q]=J&255,Q+4},h.prototype.writeUint32BE=h.prototype.writeUInt32BE=function(J,Q,ue){return J=+J,Q=Q>>>0,ue||q(this,J,Q,4,4294967295,0),this[Q]=J>>>24,this[Q+1]=J>>>16,this[Q+2]=J>>>8,this[Q+3]=J&255,Q+4};function Y(se,J,Q,ue,we){Se(J,ue,we,se,Q,7);let ye=Number(J&BigInt(4294967295));se[Q++]=ye,ye=ye>>8,se[Q++]=ye,ye=ye>>8,se[Q++]=ye,ye=ye>>8,se[Q++]=ye;let Ie=Number(J>>BigInt(32)&BigInt(4294967295));return se[Q++]=Ie,Ie=Ie>>8,se[Q++]=Ie,Ie=Ie>>8,se[Q++]=Ie,Ie=Ie>>8,se[Q++]=Ie,Q}function K(se,J,Q,ue,we){Se(J,ue,we,se,Q,7);let ye=Number(J&BigInt(4294967295));se[Q+7]=ye,ye=ye>>8,se[Q+6]=ye,ye=ye>>8,se[Q+5]=ye,ye=ye>>8,se[Q+4]=ye;let Ie=Number(J>>BigInt(32)&BigInt(4294967295));return se[Q+3]=Ie,Ie=Ie>>8,se[Q+2]=Ie,Ie=Ie>>8,se[Q+1]=Ie,Ie=Ie>>8,se[Q]=Ie,Q+8}h.prototype.writeBigUInt64LE=Ge(function(J,Q=0){return Y(this,J,Q,BigInt(0),BigInt("0xffffffffffffffff"))}),h.prototype.writeBigUInt64BE=Ge(function(J,Q=0){return K(this,J,Q,BigInt(0),BigInt("0xffffffffffffffff"))}),h.prototype.writeIntLE=function(J,Q,ue,we){if(J=+J,Q=Q>>>0,!we){const ot=Math.pow(2,8*ue-1);q(this,J,Q,ue,ot-1,-ot)}let ye=0,Ie=1,it=0;for(this[Q]=J&255;++ye>0)-it&255;return Q+ue},h.prototype.writeIntBE=function(J,Q,ue,we){if(J=+J,Q=Q>>>0,!we){const ot=Math.pow(2,8*ue-1);q(this,J,Q,ue,ot-1,-ot)}let ye=ue-1,Ie=1,it=0;for(this[Q+ye]=J&255;--ye>=0&&(Ie*=256);)J<0&&it===0&&this[Q+ye+1]!==0&&(it=1),this[Q+ye]=(J/Ie>>0)-it&255;return Q+ue},h.prototype.writeInt8=function(J,Q,ue){return J=+J,Q=Q>>>0,ue||q(this,J,Q,1,127,-128),J<0&&(J=255+J+1),this[Q]=J&255,Q+1},h.prototype.writeInt16LE=function(J,Q,ue){return J=+J,Q=Q>>>0,ue||q(this,J,Q,2,32767,-32768),this[Q]=J&255,this[Q+1]=J>>>8,Q+2},h.prototype.writeInt16BE=function(J,Q,ue){return J=+J,Q=Q>>>0,ue||q(this,J,Q,2,32767,-32768),this[Q]=J>>>8,this[Q+1]=J&255,Q+2},h.prototype.writeInt32LE=function(J,Q,ue){return J=+J,Q=Q>>>0,ue||q(this,J,Q,4,2147483647,-2147483648),this[Q]=J&255,this[Q+1]=J>>>8,this[Q+2]=J>>>16,this[Q+3]=J>>>24,Q+4},h.prototype.writeInt32BE=function(J,Q,ue){return J=+J,Q=Q>>>0,ue||q(this,J,Q,4,2147483647,-2147483648),J<0&&(J=4294967295+J+1),this[Q]=J>>>24,this[Q+1]=J>>>16,this[Q+2]=J>>>8,this[Q+3]=J&255,Q+4},h.prototype.writeBigInt64LE=Ge(function(J,Q=0){return Y(this,J,Q,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),h.prototype.writeBigInt64BE=Ge(function(J,Q=0){return K(this,J,Q,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function ee(se,J,Q,ue,we,ye){if(Q+ue>se.length)throw new RangeError("Index out of range");if(Q<0)throw new RangeError("Index out of range")}function re(se,J,Q,ue,we){return J=+J,Q=Q>>>0,we||ee(se,J,Q,4),t.write(se,J,Q,ue,23,4),Q+4}h.prototype.writeFloatLE=function(J,Q,ue){return re(this,J,Q,!0,ue)},h.prototype.writeFloatBE=function(J,Q,ue){return re(this,J,Q,!1,ue)};function z(se,J,Q,ue,we){return J=+J,Q=Q>>>0,we||ee(se,J,Q,8),t.write(se,J,Q,ue,52,8),Q+8}h.prototype.writeDoubleLE=function(J,Q,ue){return z(this,J,Q,!0,ue)},h.prototype.writeDoubleBE=function(J,Q,ue){return z(this,J,Q,!1,ue)},h.prototype.copy=function(J,Q,ue,we){if(!h.isBuffer(J))throw new TypeError("argument should be a Buffer");if(ue||(ue=0),!we&&we!==0&&(we=this.length),Q>=J.length&&(Q=J.length),Q||(Q=0),we>0&&we=this.length)throw new RangeError("Index out of range");if(we<0)throw new RangeError("sourceEnd out of bounds");we>this.length&&(we=this.length),J.length-Q>>0,ue=ue===void 0?this.length:ue>>>0,J||(J=0);let ye;if(typeof J=="number")for(ye=Q;ye2**32?we=le(String(Q)):typeof Q=="bigint"&&(we=String(Q),(Q>BigInt(2)**BigInt(32)||Q<-(BigInt(2)**BigInt(32)))&&(we=le(we)),we+="n"),ue+=` It must be ${J}. Received ${we}`,ue},RangeError);function le(se){let J="",Q=se.length;const ue=se[0]==="-"?1:0;for(;Q>=ue+4;Q-=3)J=`_${se.slice(Q-3,Q)}${J}`;return`${se.slice(0,Q)}${J}`}function de(se,J,Q){Me(J,"offset"),(se[J]===void 0||se[J+Q]===void 0)&&ke(J,se.length-(Q+1))}function Se(se,J,Q,ue,we,ye){if(se>Q||se3?J===0||J===BigInt(0)?it=`>= 0${Ie} and < 2${Ie} ** ${(ye+1)*8}${Ie}`:it=`>= -(2${Ie} ** ${(ye+1)*8-1}${Ie}) and < 2 ** ${(ye+1)*8-1}${Ie}`:it=`>= ${J}${Ie} and <= ${Q}${Ie}`,new L.ERR_OUT_OF_RANGE("value",it,se)}de(ue,we,ye)}function Me(se,J){if(typeof se!="number")throw new L.ERR_INVALID_ARG_TYPE(J,"number",se)}function ke(se,J,Q){throw Math.floor(se)!==se?(Me(se,Q),new L.ERR_OUT_OF_RANGE(Q||"offset","an integer",se)):J<0?new L.ERR_BUFFER_OUT_OF_BOUNDS:new L.ERR_OUT_OF_RANGE(Q||"offset",`>= ${Q?1:0} and <= ${J}`,se)}const Ke=/[^+/0-9A-Za-z-_]/g;function Te(se){if(se=se.split("=")[0],se=se.trim().replace(Ke,""),se.length<2)return"";for(;se.length%4!==0;)se=se+"=";return se}function je(se,J){J=J||1/0;let Q;const ue=se.length;let we=null;const ye=[];for(let Ie=0;Ie55295&&Q<57344){if(!we){if(Q>56319){(J-=3)>-1&&ye.push(239,191,189);continue}else if(Ie+1===ue){(J-=3)>-1&&ye.push(239,191,189);continue}we=Q;continue}if(Q<56320){(J-=3)>-1&&ye.push(239,191,189),we=Q;continue}Q=(we-55296<<10|Q-56320)+65536}else we&&(J-=3)>-1&&ye.push(239,191,189);if(we=null,Q<128){if((J-=1)<0)break;ye.push(Q)}else if(Q<2048){if((J-=2)<0)break;ye.push(Q>>6|192,Q&63|128)}else if(Q<65536){if((J-=3)<0)break;ye.push(Q>>12|224,Q>>6&63|128,Q&63|128)}else if(Q<1114112){if((J-=4)<0)break;ye.push(Q>>18|240,Q>>12&63|128,Q>>6&63|128,Q&63|128)}else throw new Error("Invalid code point")}return ye}function De(se){const J=[];for(let Q=0;Q>8,we=Q%256,ye.push(we),ye.push(ue);return ye}function ze(se){return e.toByteArray(Te(se))}function qe(se,J,Q,ue){let we;for(we=0;we=J.length||we>=se.length);++we)J[we+Q]=se[we];return we}function Ve(se,J){return se instanceof J||se!=null&&se.constructor!=null&&se.constructor.name!=null&&se.constructor.name===J.name}function He(se){return se!==se}const Be=function(){const se="0123456789abcdef",J=new Array(256);for(let Q=0;Q<16;++Q){const ue=Q*16;for(let we=0;we<16;++we)J[ue+we]=se[Q]+se[we]}return J}();function Ge(se){return typeof BigInt>"u"?Xe:se}function Xe(){throw new Error("BigInt not supported")}})(js);const $t=js.Buffer,Rme=js.Blob,Tme=js.BlobOptions,RK=js.Buffer,kme=js.File,Mme=js.FileOptions,Nme=js.INSPECT_MAX_BYTES,Pme=js.SlowBuffer,Ome=js.TranscodeEncoding,Dme=js.atob,$me=js.btoa,Bme=js.constants,Lme=js.isAscii,Ume=js.isUtf8,Fme=js.kMaxLength,jme=js.kStringMaxLength,zme=js.resolveObjectURL,Hme=js.transcode,qme=Object.freeze(Object.defineProperty({__proto__:null,Blob:Rme,BlobOptions:Tme,Buffer:RK,File:kme,FileOptions:Mme,INSPECT_MAX_BYTES:Nme,SlowBuffer:Pme,TranscodeEncoding:Ome,atob:Dme,btoa:$me,constants:Bme,default:$t,isAscii:Lme,isUtf8:Ume,kMaxLength:Fme,kStringMaxLength:jme,resolveObjectURL:zme,transcode:Hme},Symbol.toStringTag,{value:"Module"}));function yn(r,e,t,n,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=r,this.name="AxiosError",e&&(this.code=e),t&&(this.config=t),n&&(this.request=n),i&&(this.response=i)}nt.inherits(yn,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:nt.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const TK=yn.prototype,kK={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(r=>{kK[r]={value:r}}),Object.defineProperties(yn,kK),Object.defineProperty(TK,"isAxiosError",{value:!0}),yn.from=(r,e,t,n,i,s)=>{const o=Object.create(TK);return nt.toFlatObject(r,o,function(l){return l!==Error.prototype},a=>a!=="isAxiosError"),yn.call(o,r.message,e,t,n,i),o.cause=r,o.name=r.name,s&&Object.assign(o,s),o};const Wme=null;function fT(r){return nt.isPlainObject(r)||nt.isArray(r)}function MK(r){return nt.endsWith(r,"[]")?r.slice(0,-2):r}function NK(r,e,t){return r?r.concat(e).map(function(i,s){return i=MK(i),!t&&s?"["+i+"]":i}).join(t?".":""):e}function Vme(r){return nt.isArray(r)&&!r.some(fT)}const Gme=nt.toFlatObject(nt,{},null,function(e){return/^is[A-Z]/.test(e)});function C_(r,e,t){if(!nt.isObject(r))throw new TypeError("target must be an object");e=e||new FormData,t=nt.toFlatObject(t,{metaTokens:!0,dots:!1,indexes:!1},!1,function(C,R){return!nt.isUndefined(R[C])});const n=t.metaTokens,i=t.visitor||h,s=t.dots,o=t.indexes,l=(t.Blob||typeof Blob<"u"&&Blob)&&nt.isSpecCompliantForm(e);if(!nt.isFunction(i))throw new TypeError("visitor must be a function");function u(y){if(y===null)return"";if(nt.isDate(y))return y.toISOString();if(!l&&nt.isBlob(y))throw new yn("Blob is not supported. Use a Buffer instead.");return nt.isArrayBuffer(y)||nt.isTypedArray(y)?l&&typeof Blob=="function"?new Blob([y]):$t.from(y):y}function h(y,C,R){let k=y;if(y&&!R&&typeof y=="object"){if(nt.endsWith(C,"{}"))C=n?C:C.slice(0,-2),y=JSON.stringify(y);else if(nt.isArray(y)&&Vme(y)||(nt.isFileList(y)||nt.endsWith(C,"[]"))&&(k=nt.toArray(y)))return C=MK(C),k.forEach(function(O,B){!(nt.isUndefined(O)||O===null)&&e.append(o===!0?NK([C],B,s):o===null?C:C+"[]",u(O))}),!1}return fT(y)?!0:(e.append(NK(R,C,s),u(y)),!1)}const p=[],g=Object.assign(Gme,{defaultVisitor:h,convertValue:u,isVisitable:fT});function w(y,C){if(!nt.isUndefined(y)){if(p.indexOf(y)!==-1)throw Error("Circular reference detected in "+C.join("."));p.push(y),nt.forEach(y,function(k,M){(!(nt.isUndefined(k)||k===null)&&i.call(e,k,nt.isString(M)?M.trim():M,C,g))===!0&&w(k,C?C.concat(M):[M])}),p.pop()}}if(!nt.isObject(r))throw new TypeError("data must be an object");return w(r),e}function PK(r){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(r).replace(/[!'()~]|%20|%00/g,function(n){return e[n]})}function dT(r,e){this._pairs=[],r&&C_(r,this,e)}const OK=dT.prototype;OK.append=function(e,t){this._pairs.push([e,t])},OK.toString=function(e){const t=e?function(n){return e.call(this,n,PK)}:PK;return this._pairs.map(function(i){return t(i[0])+"="+t(i[1])},"").join("&")};function Kme(r){return encodeURIComponent(r).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function DK(r,e,t){if(!e)return r;const n=t&&t.encode||Kme,i=t&&t.serialize;let s;if(i?s=i(e,t):s=nt.isURLSearchParams(e)?e.toString():new dT(e,t).toString(n),s){const o=r.indexOf("#");o!==-1&&(r=r.slice(0,o)),r+=(r.indexOf("?")===-1?"?":"&")+s}return r}class $K{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){nt.forEach(this.handlers,function(n){n!==null&&e(n)})}}const BK={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Zme={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<"u"?URLSearchParams:dT,FormData:typeof FormData<"u"?FormData:null,Blob:typeof Blob<"u"?Blob:null},protocols:["http","https","file","blob","url","data"]},LK=typeof window<"u"&&typeof document<"u",Jme=(r=>LK&&["ReactNative","NativeScript","NS"].indexOf(r)<0)(typeof navigator<"u"&&navigator.product),Yme=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",$h={...Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:LK,hasStandardBrowserEnv:Jme,hasStandardBrowserWebWorkerEnv:Yme},Symbol.toStringTag,{value:"Module"})),...Zme};function Qme(r,e){return C_(r,new $h.classes.URLSearchParams,Object.assign({visitor:function(t,n,i,s){return $h.isNode&&nt.isBuffer(t)?(this.append(n,t.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)}},e))}function Xme(r){return nt.matchAll(/\w+|\[(\w*)]/g,r).map(e=>e[0]==="[]"?"":e[1]||e[0])}function e2e(r){const e={},t=Object.keys(r);let n;const i=t.length;let s;for(n=0;n=t.length;return o=!o&&nt.isArray(i)?i.length:o,l?(nt.hasOwnProp(i,o)?i[o]=[i[o],n]:i[o]=n,!a):((!i[o]||!nt.isObject(i[o]))&&(i[o]=[]),e(t,n,i[o],s)&&nt.isArray(i[o])&&(i[o]=e2e(i[o])),!a)}if(nt.isFormData(r)&&nt.isFunction(r.entries)){const t={};return nt.forEachEntry(r,(n,i)=>{e(Xme(n),i,t,0)}),t}return null}function t2e(r,e,t){if(nt.isString(r))try{return(e||JSON.parse)(r),nt.trim(r)}catch(n){if(n.name!=="SyntaxError")throw n}return(t||JSON.stringify)(r)}const pT={transitional:BK,adapter:["xhr","http"],transformRequest:[function(e,t){const n=t.getContentType()||"",i=n.indexOf("application/json")>-1,s=nt.isObject(e);if(s&&nt.isHTMLForm(e)&&(e=new FormData(e)),nt.isFormData(e))return i?JSON.stringify(UK(e)):e;if(nt.isArrayBuffer(e)||nt.isBuffer(e)||nt.isStream(e)||nt.isFile(e)||nt.isBlob(e))return e;if(nt.isArrayBufferView(e))return e.buffer;if(nt.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let a;if(s){if(n.indexOf("application/x-www-form-urlencoded")>-1)return Qme(e,this.formSerializer).toString();if((a=nt.isFileList(e))||n.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return C_(a?{"files[]":e}:e,l&&new l,this.formSerializer)}}return s||i?(t.setContentType("application/json",!1),t2e(e)):e}],transformResponse:[function(e){const t=this.transitional||pT.transitional,n=t&&t.forcedJSONParsing,i=this.responseType==="json";if(e&&nt.isString(e)&&(n&&!this.responseType||i)){const o=!(t&&t.silentJSONParsing)&&i;try{return JSON.parse(e)}catch(a){if(o)throw a.name==="SyntaxError"?yn.from(a,yn.ERR_BAD_RESPONSE,this,null,this.response):a}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:$h.classes.FormData,Blob:$h.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};nt.forEach(["delete","get","head","post","put","patch"],r=>{pT.headers[r]={}});const gT=pT,r2e=nt.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),n2e=r=>{const e={};let t,n,i;return r&&r.split(` -`).forEach(function(o){i=o.indexOf(":"),t=o.substring(0,i).trim().toLowerCase(),n=o.substring(i+1).trim(),!(!t||e[t]&&r2e[t])&&(t==="set-cookie"?e[t]?e[t].push(n):e[t]=[n]:e[t]=e[t]?e[t]+", "+n:n)}),e},FK=Symbol("internals");function O5(r){return r&&String(r).trim().toLowerCase()}function S_(r){return r===!1||r==null?r:nt.isArray(r)?r.map(S_):String(r)}function i2e(r){const e=Object.create(null),t=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=t.exec(r);)e[n[1]]=n[2];return e}const s2e=r=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(r.trim());function mT(r,e,t,n,i){if(nt.isFunction(n))return n.call(this,e,t);if(i&&(e=t),!!nt.isString(e)){if(nt.isString(n))return e.indexOf(n)!==-1;if(nt.isRegExp(n))return n.test(e)}}function o2e(r){return r.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,n)=>t.toUpperCase()+n)}function a2e(r,e){const t=nt.toCamelCase(" "+e);["get","set","has"].forEach(n=>{Object.defineProperty(r,n+t,{value:function(i,s,o){return this[n].call(this,e,i,s,o)},configurable:!0})})}class I_{constructor(e){e&&this.set(e)}set(e,t,n){const i=this;function s(a,l,u){const h=O5(l);if(!h)throw new Error("header name must be a non-empty string");const p=nt.findKey(i,h);(!p||i[p]===void 0||u===!0||u===void 0&&i[p]!==!1)&&(i[p||l]=S_(a))}const o=(a,l)=>nt.forEach(a,(u,h)=>s(u,h,l));return nt.isPlainObject(e)||e instanceof this.constructor?o(e,t):nt.isString(e)&&(e=e.trim())&&!s2e(e)?o(n2e(e),t):e!=null&&s(t,e,n),this}get(e,t){if(e=O5(e),e){const n=nt.findKey(this,e);if(n){const i=this[n];if(!t)return i;if(t===!0)return i2e(i);if(nt.isFunction(t))return t.call(this,i,n);if(nt.isRegExp(t))return t.exec(i);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=O5(e),e){const n=nt.findKey(this,e);return!!(n&&this[n]!==void 0&&(!t||mT(this,this[n],n,t)))}return!1}delete(e,t){const n=this;let i=!1;function s(o){if(o=O5(o),o){const a=nt.findKey(n,o);a&&(!t||mT(n,n[a],a,t))&&(delete n[a],i=!0)}}return nt.isArray(e)?e.forEach(s):s(e),i}clear(e){const t=Object.keys(this);let n=t.length,i=!1;for(;n--;){const s=t[n];(!e||mT(this,this[s],s,e,!0))&&(delete this[s],i=!0)}return i}normalize(e){const t=this,n={};return nt.forEach(this,(i,s)=>{const o=nt.findKey(n,s);if(o){t[o]=S_(i),delete t[s];return}const a=e?o2e(s):String(s).trim();a!==s&&delete t[s],t[a]=S_(i),n[a]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return nt.forEach(this,(n,i)=>{n!=null&&n!==!1&&(t[i]=e&&nt.isArray(n)?n.join(", "):n)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+": "+t).join(` -`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach(i=>n.set(i)),n}static accessor(e){const n=(this[FK]=this[FK]={accessors:{}}).accessors,i=this.prototype;function s(o){const a=O5(o);n[a]||(a2e(i,o),n[a]=!0)}return nt.isArray(e)?e.forEach(s):s(e),this}}I_.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),nt.reduceDescriptors(I_.prototype,({value:r},e)=>{let t=e[0].toUpperCase()+e.slice(1);return{get:()=>r,set(n){this[t]=n}}}),nt.freezeMethods(I_);const td=I_;function bT(r,e){const t=this||gT,n=e||t,i=td.from(n.headers);let s=n.data;return nt.forEach(r,function(a){s=a.call(t,s,i.normalize(),e?e.status:void 0)}),i.normalize(),s}function jK(r){return!!(r&&r.__CANCEL__)}function D5(r,e,t){yn.call(this,r??"canceled",yn.ERR_CANCELED,e,t),this.name="CanceledError"}nt.inherits(D5,yn,{__CANCEL__:!0});function c2e(r,e,t){const n=t.config.validateStatus;!t.status||!n||n(t.status)?r(t):e(new yn("Request failed with status code "+t.status,[yn.ERR_BAD_REQUEST,yn.ERR_BAD_RESPONSE][Math.floor(t.status/100)-4],t.config,t.request,t))}const l2e=$h.hasStandardBrowserEnv?{write(r,e,t,n,i,s){const o=[r+"="+encodeURIComponent(e)];nt.isNumber(t)&&o.push("expires="+new Date(t).toGMTString()),nt.isString(n)&&o.push("path="+n),nt.isString(i)&&o.push("domain="+i),s===!0&&o.push("secure"),document.cookie=o.join("; ")},read(r){const e=document.cookie.match(new RegExp("(^|;\\s*)("+r+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(r){this.write(r,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function u2e(r){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(r)}function h2e(r,e){return e?r.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):r}function zK(r,e){return r&&!u2e(e)?h2e(r,e):e}const f2e=$h.hasStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let n;function i(s){let o=s;return e&&(t.setAttribute("href",o),o=t.href),t.setAttribute("href",o),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:t.pathname.charAt(0)==="/"?t.pathname:"/"+t.pathname}}return n=i(window.location.href),function(o){const a=nt.isString(o)?i(o):o;return a.protocol===n.protocol&&a.host===n.host}}():function(){return function(){return!0}}();function d2e(r){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(r);return e&&e[1]||""}function p2e(r,e){r=r||10;const t=new Array(r),n=new Array(r);let i=0,s=0,o;return e=e!==void 0?e:1e3,function(l){const u=Date.now(),h=n[s];o||(o=u),t[i]=l,n[i]=u;let p=s,g=0;for(;p!==i;)g+=t[p++],p=p%r;if(i=(i+1)%r,i===s&&(s=(s+1)%r),u-o{const s=i.loaded,o=i.lengthComputable?i.total:void 0,a=s-t,l=n(a),u=s<=o;t=s;const h={loaded:s,total:o,progress:o?s/o:void 0,bytes:a,rate:l||void 0,estimated:l&&o&&u?(o-s)/l:void 0,event:i};h[e?"download":"upload"]=!0,r(h)}}const wT={http:Wme,xhr:typeof XMLHttpRequest<"u"&&function(r){return new Promise(function(t,n){let i=r.data;const s=td.from(r.headers).normalize();let{responseType:o,withXSRFToken:a}=r,l;function u(){r.cancelToken&&r.cancelToken.unsubscribe(l),r.signal&&r.signal.removeEventListener("abort",l)}let h;if(nt.isFormData(i)){if($h.hasStandardBrowserEnv||$h.hasStandardBrowserWebWorkerEnv)s.setContentType(!1);else if((h=s.getContentType())!==!1){const[C,...R]=h?h.split(";").map(k=>k.trim()).filter(Boolean):[];s.setContentType([C||"multipart/form-data",...R].join("; "))}}let p=new XMLHttpRequest;if(r.auth){const C=r.auth.username||"",R=r.auth.password?unescape(encodeURIComponent(r.auth.password)):"";s.set("Authorization","Basic "+btoa(C+":"+R))}const g=zK(r.baseURL,r.url);p.open(r.method.toUpperCase(),DK(g,r.params,r.paramsSerializer),!0),p.timeout=r.timeout;function w(){if(!p)return;const C=td.from("getAllResponseHeaders"in p&&p.getAllResponseHeaders()),k={data:!o||o==="text"||o==="json"?p.responseText:p.response,status:p.status,statusText:p.statusText,headers:C,config:r,request:p};c2e(function(O){t(O),u()},function(O){n(O),u()},k),p=null}if("onloadend"in p?p.onloadend=w:p.onreadystatechange=function(){!p||p.readyState!==4||p.status===0&&!(p.responseURL&&p.responseURL.indexOf("file:")===0)||setTimeout(w)},p.onabort=function(){p&&(n(new yn("Request aborted",yn.ECONNABORTED,r,p)),p=null)},p.onerror=function(){n(new yn("Network Error",yn.ERR_NETWORK,r,p)),p=null},p.ontimeout=function(){let R=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const k=r.transitional||BK;r.timeoutErrorMessage&&(R=r.timeoutErrorMessage),n(new yn(R,k.clarifyTimeoutError?yn.ETIMEDOUT:yn.ECONNABORTED,r,p)),p=null},$h.hasStandardBrowserEnv&&(a&&nt.isFunction(a)&&(a=a(r)),a||a!==!1&&f2e(g))){const C=r.xsrfHeaderName&&r.xsrfCookieName&&l2e.read(r.xsrfCookieName);C&&s.set(r.xsrfHeaderName,C)}i===void 0&&s.setContentType(null),"setRequestHeader"in p&&nt.forEach(s.toJSON(),function(R,k){p.setRequestHeader(k,R)}),nt.isUndefined(r.withCredentials)||(p.withCredentials=!!r.withCredentials),o&&o!=="json"&&(p.responseType=r.responseType),typeof r.onDownloadProgress=="function"&&p.addEventListener("progress",HK(r.onDownloadProgress,!0)),typeof r.onUploadProgress=="function"&&p.upload&&p.upload.addEventListener("progress",HK(r.onUploadProgress)),(r.cancelToken||r.signal)&&(l=C=>{p&&(n(!C||C.type?new D5(null,r,p):C),p.abort(),p=null)},r.cancelToken&&r.cancelToken.subscribe(l),r.signal&&(r.signal.aborted?l():r.signal.addEventListener("abort",l)));const y=d2e(g);if(y&&$h.protocols.indexOf(y)===-1){n(new yn("Unsupported protocol "+y+":",yn.ERR_BAD_REQUEST,r));return}p.send(i||null)})}};nt.forEach(wT,(r,e)=>{if(r){try{Object.defineProperty(r,"name",{value:e})}catch{}Object.defineProperty(r,"adapterName",{value:e})}});const qK=r=>`- ${r}`,g2e=r=>nt.isFunction(r)||r===null||r===!1,WK={getAdapter:r=>{r=nt.isArray(r)?r:[r];const{length:e}=r;let t,n;const i={};for(let s=0;s`adapter ${a} `+(l===!1?"is not supported by the environment":"is not available in the build"));let o=e?s.length>1?`since : -`+s.map(qK).join(` -`):" "+qK(s[0]):"as no adapter specified";throw new yn("There is no suitable adapter to dispatch the request "+o,"ERR_NOT_SUPPORT")}return n},adapters:wT};function vT(r){if(r.cancelToken&&r.cancelToken.throwIfRequested(),r.signal&&r.signal.aborted)throw new D5(null,r)}function VK(r){return vT(r),r.headers=td.from(r.headers),r.data=bT.call(r,r.transformRequest),["post","put","patch"].indexOf(r.method)!==-1&&r.headers.setContentType("application/x-www-form-urlencoded",!1),WK.getAdapter(r.adapter||gT.adapter)(r).then(function(n){return vT(r),n.data=bT.call(r,r.transformResponse,n),n.headers=td.from(n.headers),n},function(n){return jK(n)||(vT(r),n&&n.response&&(n.response.data=bT.call(r,r.transformResponse,n.response),n.response.headers=td.from(n.response.headers))),Promise.reject(n)})}const GK=r=>r instanceof td?{...r}:r;function Ew(r,e){e=e||{};const t={};function n(u,h,p){return nt.isPlainObject(u)&&nt.isPlainObject(h)?nt.merge.call({caseless:p},u,h):nt.isPlainObject(h)?nt.merge({},h):nt.isArray(h)?h.slice():h}function i(u,h,p){if(nt.isUndefined(h)){if(!nt.isUndefined(u))return n(void 0,u,p)}else return n(u,h,p)}function s(u,h){if(!nt.isUndefined(h))return n(void 0,h)}function o(u,h){if(nt.isUndefined(h)){if(!nt.isUndefined(u))return n(void 0,u)}else return n(void 0,h)}function a(u,h,p){if(p in e)return n(u,h);if(p in r)return n(void 0,u)}const l={url:s,method:s,data:s,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:a,headers:(u,h)=>i(GK(u),GK(h),!0)};return nt.forEach(Object.keys(Object.assign({},r,e)),function(h){const p=l[h]||i,g=p(r[h],e[h],h);nt.isUndefined(g)&&p!==a||(t[h]=g)}),t}const KK="1.6.8",yT={};["object","boolean","number","function","string","symbol"].forEach((r,e)=>{yT[r]=function(n){return typeof n===r||"a"+(e<1?"n ":" ")+r}});const ZK={};yT.transitional=function(e,t,n){function i(s,o){return"[Axios v"+KK+"] Transitional option '"+s+"'"+o+(n?". "+n:"")}return(s,o,a)=>{if(e===!1)throw new yn(i(o," has been removed"+(t?" in "+t:"")),yn.ERR_DEPRECATED);return t&&!ZK[o]&&(ZK[o]=!0,console.warn(i(o," has been deprecated since v"+t+" and will be removed in the near future"))),e?e(s,o,a):!0}};function m2e(r,e,t){if(typeof r!="object")throw new yn("options must be an object",yn.ERR_BAD_OPTION_VALUE);const n=Object.keys(r);let i=n.length;for(;i-- >0;){const s=n[i],o=e[s];if(o){const a=r[s],l=a===void 0||o(a,s,r);if(l!==!0)throw new yn("option "+s+" must be "+l,yn.ERR_BAD_OPTION_VALUE);continue}if(t!==!0)throw new yn("Unknown option "+s,yn.ERR_BAD_OPTION)}}const xT={assertOptions:m2e,validators:yT},xp=xT.validators;class R_{constructor(e){this.defaults=e,this.interceptors={request:new $K,response:new $K}}async request(e,t){try{return await this._request(e,t)}catch(n){if(n instanceof Error){let i;Error.captureStackTrace?Error.captureStackTrace(i={}):i=new Error;const s=i.stack?i.stack.replace(/^.+\n/,""):"";n.stack?s&&!String(n.stack).endsWith(s.replace(/^.+\n.+\n/,""))&&(n.stack+=` -`+s):n.stack=s}throw n}}_request(e,t){typeof e=="string"?(t=t||{},t.url=e):t=e||{},t=Ew(this.defaults,t);const{transitional:n,paramsSerializer:i,headers:s}=t;n!==void 0&&xT.assertOptions(n,{silentJSONParsing:xp.transitional(xp.boolean),forcedJSONParsing:xp.transitional(xp.boolean),clarifyTimeoutError:xp.transitional(xp.boolean)},!1),i!=null&&(nt.isFunction(i)?t.paramsSerializer={serialize:i}:xT.assertOptions(i,{encode:xp.function,serialize:xp.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let o=s&&nt.merge(s.common,s[t.method]);s&&nt.forEach(["delete","get","head","post","put","patch","common"],y=>{delete s[y]}),t.headers=td.concat(o,s);const a=[];let l=!0;this.interceptors.request.forEach(function(C){typeof C.runWhen=="function"&&C.runWhen(t)===!1||(l=l&&C.synchronous,a.unshift(C.fulfilled,C.rejected))});const u=[];this.interceptors.response.forEach(function(C){u.push(C.fulfilled,C.rejected)});let h,p=0,g;if(!l){const y=[VK.bind(this),void 0];for(y.unshift.apply(y,a),y.push.apply(y,u),g=y.length,h=Promise.resolve(t);p{if(!n._listeners)return;let s=n._listeners.length;for(;s-- >0;)n._listeners[s](i);n._listeners=null}),this.promise.then=i=>{let s;const o=new Promise(a=>{n.subscribe(a),s=a}).then(i);return o.cancel=function(){n.unsubscribe(s)},o},e(function(s,o,a){n.reason||(n.reason=new D5(s,o,a),t(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);t!==-1&&this._listeners.splice(t,1)}static source(){let e;return{token:new _T(function(i){e=i}),cancel:e}}}const b2e=_T;function w2e(r){return function(t){return r.apply(null,t)}}function v2e(r){return nt.isObject(r)&&r.isAxiosError===!0}const ET={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(ET).forEach(([r,e])=>{ET[e]=r});const y2e=ET;function JK(r){const e=new T_(r),t=bK(T_.prototype.request,e);return nt.extend(t,T_.prototype,e,{allOwnKeys:!0}),nt.extend(t,e,null,{allOwnKeys:!0}),t.create=function(i){return JK(Ew(r,i))},t}const Ps=JK(gT);Ps.Axios=T_,Ps.CanceledError=D5,Ps.CancelToken=b2e,Ps.isCancel=jK,Ps.VERSION=KK,Ps.toFormData=C_,Ps.AxiosError=yn,Ps.Cancel=Ps.CanceledError,Ps.all=function(e){return Promise.all(e)},Ps.spread=w2e,Ps.isAxiosError=v2e,Ps.mergeConfig=Ew,Ps.AxiosHeaders=td,Ps.formToJSON=r=>UK(nt.isHTMLForm(r)?new FormData(r):r),Ps.getAdapter=WK.getAdapter,Ps.HttpStatusCode=y2e,Ps.default=Ps;function $5(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`Wrong positive integer: ${r}`)}function x2e(r){if(typeof r!="boolean")throw new Error(`Expected boolean, not ${r}`)}function _2e(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function AT(r,...e){if(!_2e(r))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(r.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${r.length}`)}function E2e(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");$5(r.outputLen),$5(r.blockLen)}function CT(r,e=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(e&&r.finished)throw new Error("Hash#digest() has already been called")}function YK(r,e){AT(r);const t=e.outputLen;if(r.length>QK&k_)}:{h:Number(r>>QK&k_)|0,l:Number(r&k_)|0}}function S2e(r,e=!1){let t=new Uint32Array(r.length),n=new Uint32Array(r.length);for(let i=0;ir<>>32-t,R2e=(r,e,t)=>e<>>32-t,T2e=(r,e,t)=>e<>>64-t,k2e=(r,e,t)=>r<>>64-t;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const M2e=r=>new Uint32Array(r.buffer,r.byteOffset,Math.floor(r.byteLength/4));function N2e(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}if(!(new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68))throw new Error("Non little-endian hardware is not supported");function XK(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function eZ(r){if(typeof r=="string"&&(r=XK(r)),!N2e(r))throw new Error(`expected Uint8Array, got ${typeof r}`);return r}let P2e=class{clone(){return this._cloneInto()}};function O2e(r){const e=n=>r().update(eZ(n)).digest(),t=r();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>r(),e}const[tZ,rZ,nZ]=[[],[],[]],D2e=BigInt(0),B5=BigInt(1),$2e=BigInt(2),B2e=BigInt(7),L2e=BigInt(256),U2e=BigInt(113);for(let r=0,e=B5,t=1,n=0;r<24;r++){[t,n]=[n,(2*t+3*n)%5],tZ.push(2*(5*n+t)),rZ.push((r+1)*(r+2)/2%64);let i=D2e;for(let s=0;s<7;s++)e=(e<>B2e)*U2e)%L2e,e&$2e&&(i^=B5<<(B5<t>32?T2e(r,e,t):I2e(r,e,t),sZ=(r,e,t)=>t>32?k2e(r,e,t):R2e(r,e,t);function z2e(r,e=24){const t=new Uint32Array(10);for(let n=24-e;n<24;n++){for(let o=0;o<10;o++)t[o]=r[o]^r[o+10]^r[o+20]^r[o+30]^r[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,l=(o+2)%10,u=t[l],h=t[l+1],p=iZ(u,h,1)^t[a],g=sZ(u,h,1)^t[a+1];for(let w=0;w<50;w+=10)r[o+w]^=p,r[o+w+1]^=g}let i=r[2],s=r[3];for(let o=0;o<24;o++){const a=rZ[o],l=iZ(i,s,a),u=sZ(i,s,a),h=tZ[o];i=r[h],s=r[h+1],r[h]=l,r[h+1]=u}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)t[a]=r[o+a];for(let a=0;a<10;a++)r[o+a]^=~t[(a+2)%10]&t[(a+4)%10]}r[0]^=F2e[n],r[1]^=j2e[n]}t.fill(0)}let H2e=class vge extends P2e{constructor(e,t,n,i=!1,s=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=n,this.enableXOF=i,this.rounds=s,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,$5(n),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=M2e(this.state)}keccak(){z2e(this.state32,this.rounds),this.posOut=0,this.pos=0}update(e){CT(this);const{blockLen:t,state:n}=this;e=eZ(e);const i=e.length;for(let s=0;s=n&&this.keccak();const o=Math.min(n-this.posOut,s-i);e.set(t.subarray(this.posOut,this.posOut+o),i),this.posOut+=o,i+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return $5(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(YK(e,this),this.finished)throw new 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){const{blockLen:t,suffix:n,outputLen:i,rounds:s,enableXOF:o}=this;return e||(e=new vge(t,n,i,o,s)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=s,e.suffix=n,e.outputLen=i,e.enableXOF=o,e.destroyed=this.destroyed,e}};const oZ=((r,e,t)=>O2e(()=>new H2e(e,r,t)))(1,136,256/8);function q2e(r){return e=>(A2e.bytes(e),r(e))}(()=>{const r=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0,e=typeof module<"u"&&typeof module.require=="function"&&module.require.bind(module);return{node:e&&!r?e("crypto"):void 0,web:r}})();const W2e=(()=>{const r=q2e(oZ);return r.create=oZ.create,r})(),V2e=4001,G2e=4100,K2e=4200,Z2e=4900,J2e=4901,Y2e=1002,Q2e=1003,X2e=1006,ebe=1100,tbe=1200,M_=-32700,N_=-32600,P_=-32601,O_=-32602,D_=-32603,$_=-32e3,B_=-32001,L_=-32002,U_=-32003,F_=-32004,j_=-32005,z_=-32006;class L5 extends Error{constructor(e,t){super(e),this.innerError=t,this.name=this.constructor.name,typeof Error.captureStackTrace=="function"?Error.captureStackTrace(new.target.constructor):this.stack=new Error().stack}static convertToString(e,t=!1){if(e==null)return"undefined";const n=JSON.stringify(e,(i,s)=>typeof s=="bigint"?s.toString():s);return t&&["bigint","string"].includes(typeof e)?n.replace(/['\\"]+/g,""):n}toJSON(){return{name:this.name,code:this.code,message:this.message,innerError:this.innerError}}}class ST extends L5{constructor(e,t){super(`Invalid value given "${L5.convertToString(e,!0)}". Error: ${t}.`),this.name=this.constructor.name}}class IT extends ST{constructor(e){super(e,"can not parse as byte data"),this.code=Y2e}}class rbe extends ST{constructor(e){super(e,"can not parse as number data"),this.code=Q2e}}class nbe extends ST{constructor(e){super(e,"can not be converted to hex"),this.code=X2e}}const ibe="An Rpc error has occured with a code of *code*",El={[M_]:{message:"Parse error",description:"Invalid JSON"},[N_]:{message:"Invalid request",description:"JSON is not a valid request object "},[P_]:{message:"Method not found",description:"Method does not exist "},[O_]:{message:"Invalid params",description:"Invalid method parameters"},[D_]:{message:"Internal error",description:"Internal JSON-RPC error"},[$_]:{message:"Invalid input",description:"Missing or invalid parameters"},[B_]:{message:"Resource not found",description:"Requested resource not found"},[L_]:{message:"Resource unavailable",description:"Requested resource not available"},[U_]:{message:"Transaction rejected",description:"Transaction creation failed"},[F_]:{message:"Method not supported",description:"Method is not implemented"},[j_]:{message:"Limit exceeded",description:"Request exceeds defined limit"},[z_]:{message:"JSON-RPC version not supported",description:"Version of JSON-RPC protocol is not supported"},[V2e]:{name:"User Rejected Request",message:"The user rejected the request."},[G2e]:{name:"Unauthorized",message:"The requested method and/or account has not been authorized by the user."},[K2e]:{name:"Unsupported Method",message:"The Provider does not support the requested method."},[Z2e]:{name:"Disconnected",message:"The Provider is disconnected from all chains."},[J2e]:{name:"Chain Disconnected",message:"The Provider is not connected to the requested chain."},"0-999":{name:"",message:"Not used."},1e3:{name:"Normal Closure",message:"The connection successfully completed the purpose for which it was created."},1001:{name:"Going Away",message:"The endpoint is going away, either because of a server failure or because the browser is navigating away from the page that opened the connection."},1002:{name:"Protocol error",message:"The endpoint is terminating the connection due to a protocol error."},1003:{name:"Unsupported Data",message:"The connection is being terminated because the endpoint received data of a type it cannot accept. (For example, a text-only endpoint received binary data.)"},1004:{name:"Reserved",message:"Reserved. A meaning might be defined in the future."},1005:{name:"No Status Rcvd",message:"Reserved. Indicates that no status code was provided even though one was expected."},1006:{name:"Abnormal Closure",message:"Reserved. Indicates that a connection was closed abnormally (that is, with no close frame being sent) when a status code is expected."},1007:{name:"Invalid frame payload data",message:"The endpoint is terminating the connection because a message was received that contained inconsistent data (e.g., non-UTF-8 data within a text message)."},1008:{name:"Policy Violation",message:"The endpoint is terminating the connection because it received a message that violates its policy. This is a generic status code, used when codes 1003 and 1009 are not suitable."},1009:{name:"Message Too Big",message:"The endpoint is terminating the connection because a data frame was received that is too large."},1010:{name:"Mandatory Ext.",message:"The client is terminating the connection because it expected the server to negotiate one or more extension, but the server didn't."},1011:{name:"Internal Error",message:"The server is terminating the connection because it encountered an unexpected condition that prevented it from fulfilling the request."},1012:{name:"Service Restart",message:"The server is terminating the connection because it is restarting."},1013:{name:"Try Again Later",message:"The server is terminating the connection due to a temporary condition, e.g. it is overloaded and is casting off some of its clients."},1014:{name:"Bad Gateway",message:"The server was acting as a gateway or proxy and received an invalid response from the upstream server. This is similar to 502 HTTP Status Code."},1015:{name:"TLS handshake",message:"Reserved. Indicates that the connection was closed due to a failure to perform a TLS handshake (e.g., the server certificate can't be verified)."},"1016-2999":{name:"",message:"For definition by future revisions of the WebSocket Protocol specification, and for definition by extension specifications."},"3000-3999":{name:"",message:"For use by libraries, frameworks, and applications. These status codes are registered directly with IANA. The interpretation of these codes is undefined by the WebSocket protocol."},"4000-4999":{name:"",message:"For private use, and thus can't be registered. Such codes can be used by prior agreements between WebSocket applications. The interpretation of these codes is undefined by the WebSocket protocol."}};class Al extends L5{constructor(e,t){super(t??ibe.replace("*code*",e.error.code.toString())),this.code=e.error.code,this.id=e.id,this.jsonrpc=e.jsonrpc,this.jsonRpcError=e.error}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{error:this.jsonRpcError,id:this.id,jsonRpc:this.jsonrpc})}}class sbe extends Al{constructor(e){super(e,El[M_].message),this.code=M_}}class obe extends Al{constructor(e){super(e,El[N_].message),this.code=N_}}class abe extends Al{constructor(e){super(e,El[P_].message),this.code=P_}}class cbe extends Al{constructor(e){super(e,El[O_].message),this.code=O_}}class lbe extends Al{constructor(e){super(e,El[D_].message),this.code=D_}}class ube extends Al{constructor(e){super(e,El[$_].message),this.code=$_}}class hbe extends Al{constructor(e){super(e,El[F_].message),this.code=F_}}class fbe extends Al{constructor(e){super(e,El[L_].message),this.code=L_}}class dbe extends Al{constructor(e){super(e,El[B_].message),this.code=B_}}class pbe extends Al{constructor(e){super(e,El[z_].message),this.code=z_}}class gbe extends Al{constructor(e){super(e,El[U_].message),this.code=U_}}class mbe extends Al{constructor(e){super(e,El[j_].message),this.code=j_}}const Cl=new Map;Cl.set(M_,{error:sbe}),Cl.set(N_,{error:obe}),Cl.set(P_,{error:abe}),Cl.set(O_,{error:cbe}),Cl.set(D_,{error:lbe}),Cl.set($_,{error:ube}),Cl.set(F_,{error:hbe}),Cl.set(L_,{error:fbe}),Cl.set(U_,{error:gbe}),Cl.set(B_,{error:dbe}),Cl.set(z_,{error:pbe}),Cl.set(j_,{error:mbe});class bbe extends L5{constructor(e){super(`Format for the type ${e} is unsupported`),this.type=e,this.code=tbe}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{type:this.type})}}var Mn;(function(r){r.assertEqual=i=>i;function e(i){}r.assertIs=e;function t(i){throw new Error}r.assertNever=t,r.arrayToEnum=i=>{const s={};for(const o of i)s[o]=o;return s},r.getValidEnumValues=i=>{const s=r.objectKeys(i).filter(a=>typeof i[i[a]]!="number"),o={};for(const a of s)o[a]=i[a];return r.objectValues(o)},r.objectValues=i=>r.objectKeys(i).map(function(s){return i[s]}),r.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{const s=[];for(const o in i)Object.prototype.hasOwnProperty.call(i,o)&&s.push(o);return s},r.find=(i,s)=>{for(const o of i)if(s(o))return o},r.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&isFinite(i)&&Math.floor(i)===i;function n(i,s=" | "){return i.map(o=>typeof o=="string"?`'${o}'`:o).join(s)}r.joinValues=n,r.jsonStringifyReplacer=(i,s)=>typeof s=="bigint"?s.toString():s})(Mn||(Mn={}));var RT;(function(r){r.mergeShapes=(e,t)=>({...e,...t})})(RT||(RT={}));const ir=Mn.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),_p=r=>{switch(typeof r){case"undefined":return ir.undefined;case"string":return ir.string;case"number":return isNaN(r)?ir.nan:ir.number;case"boolean":return ir.boolean;case"function":return ir.function;case"bigint":return ir.bigint;case"symbol":return ir.symbol;case"object":return Array.isArray(r)?ir.array:r===null?ir.null:r.then&&typeof r.then=="function"&&r.catch&&typeof r.catch=="function"?ir.promise:typeof Map<"u"&&r instanceof Map?ir.map:typeof Set<"u"&&r instanceof Set?ir.set:typeof Date<"u"&&r instanceof Date?ir.date:ir.object;default:return ir.unknown}},Tt=Mn.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),wbe=r=>JSON.stringify(r,null,2).replace(/"([^"]+)":/g,"$1:");class _u extends Error{constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const t=e||function(s){return s.message},n={_errors:[]},i=s=>{for(const o of s.issues)if(o.code==="invalid_union")o.unionErrors.map(i);else if(o.code==="invalid_return_type")i(o.returnTypeError);else if(o.code==="invalid_arguments")i(o.argumentsError);else if(o.path.length===0)n._errors.push(t(o));else{let a=n,l=0;for(;lt.message){const t={},n=[];for(const i of this.issues)i.path.length>0?(t[i.path[0]]=t[i.path[0]]||[],t[i.path[0]].push(e(i))):n.push(e(i));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}}_u.create=r=>new _u(r);const U5=(r,e)=>{let t;switch(r.code){case Tt.invalid_type:r.received===ir.undefined?t="Required":t=`Expected ${r.expected}, received ${r.received}`;break;case Tt.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(r.expected,Mn.jsonStringifyReplacer)}`;break;case Tt.unrecognized_keys:t=`Unrecognized key(s) in object: ${Mn.joinValues(r.keys,", ")}`;break;case Tt.invalid_union:t="Invalid input";break;case Tt.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${Mn.joinValues(r.options)}`;break;case Tt.invalid_enum_value:t=`Invalid enum value. Expected ${Mn.joinValues(r.options)}, received '${r.received}'`;break;case Tt.invalid_arguments:t="Invalid function arguments";break;case Tt.invalid_return_type:t="Invalid function return type";break;case Tt.invalid_date:t="Invalid date";break;case Tt.invalid_string:typeof r.validation=="object"?"includes"in r.validation?(t=`Invalid input: must include "${r.validation.includes}"`,typeof r.validation.position=="number"&&(t=`${t} at one or more positions greater than or equal to ${r.validation.position}`)):"startsWith"in r.validation?t=`Invalid input: must start with "${r.validation.startsWith}"`:"endsWith"in r.validation?t=`Invalid input: must end with "${r.validation.endsWith}"`:Mn.assertNever(r.validation):r.validation!=="regex"?t=`Invalid ${r.validation}`:t="Invalid";break;case Tt.too_small:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at least":"more than"} ${r.minimum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at least":"over"} ${r.minimum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${r.minimum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(r.minimum))}`:t="Invalid input";break;case Tt.too_big:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at most":"less than"} ${r.maximum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at most":"under"} ${r.maximum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="bigint"?t=`BigInt must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly":r.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(r.maximum))}`:t="Invalid input";break;case Tt.custom:t="Invalid input";break;case Tt.invalid_intersection_types:t="Intersection results could not be merged";break;case Tt.not_multiple_of:t=`Number must be a multiple of ${r.multipleOf}`;break;case Tt.not_finite:t="Number must be finite";break;default:t=e.defaultError,Mn.assertNever(r)}return{message:t}};let aZ=U5;function vbe(r){aZ=r}function H_(){return aZ}const q_=r=>{const{data:e,path:t,errorMaps:n,issueData:i}=r,s=[...t,...i.path||[]],o={...i,path:s};let a="";const l=n.filter(u=>!!u).slice().reverse();for(const u of l)a=u(o,{data:e,defaultError:a}).message;return{...i,path:s,message:i.message||a}},ybe=[];function sr(r,e){const t=q_({issueData:e,data:r.data,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,H_(),U5].filter(n=>!!n)});r.common.issues.push(t)}class oa{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){const n=[];for(const i of t){if(i.status==="aborted")return Lr;i.status==="dirty"&&e.dirty(),n.push(i.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){const n=[];for(const i of t)n.push({key:await i.key,value:await i.value});return oa.mergeObjectSync(e,n)}static mergeObjectSync(e,t){const n={};for(const i of t){const{key:s,value:o}=i;if(s.status==="aborted"||o.status==="aborted")return Lr;s.status==="dirty"&&e.dirty(),o.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof o.value<"u"||i.alwaysSet)&&(n[s.value]=o.value)}return{status:e.value,value:n}}}const Lr=Object.freeze({status:"aborted"}),cZ=r=>({status:"dirty",value:r}),Aa=r=>({status:"valid",value:r}),TT=r=>r.status==="aborted",kT=r=>r.status==="dirty",F5=r=>r.status==="valid",W_=r=>typeof Promise<"u"&&r instanceof Promise;var Ar;(function(r){r.errToObj=e=>typeof e=="string"?{message:e}:e||{},r.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(Ar||(Ar={}));class Bh{constructor(e,t,n,i){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=i}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const lZ=(r,e)=>{if(F5(e))return{success:!0,data:e.value};if(!r.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new _u(r.common.issues);return this._error=t,this._error}}};function Vr(r){if(!r)return{};const{errorMap:e,invalid_type_error:t,required_error:n,description:i}=r;if(e&&(t||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:i}:{errorMap:(o,a)=>o.code!=="invalid_type"?{message:a.defaultError}:typeof a.data>"u"?{message:n??a.defaultError}:{message:t??a.defaultError},description:i}}class Qr{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return _p(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:_p(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new oa,ctx:{common:e.parent.common,data:e.data,parsedType:_p(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(W_(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){var n;const i={common:{issues:[],async:(n=t==null?void 0:t.async)!==null&&n!==void 0?n:!1,contextualErrorMap:t==null?void 0:t.errorMap},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:_p(e)},s=this._parseSync({data:e,path:i.path,parent:i});return lZ(i,s)}async parseAsync(e,t){const n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){const n={common:{issues:[],contextualErrorMap:t==null?void 0:t.errorMap,async:!0},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:_p(e)},i=this._parse({data:e,path:n.path,parent:n}),s=await(W_(i)?i:Promise.resolve(i));return lZ(n,s)}refine(e,t){const n=i=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(i):t;return this._refinement((i,s)=>{const o=e(i),a=()=>s.addIssue({code:Tt.custom,...n(i)});return typeof Promise<"u"&&o instanceof Promise?o.then(l=>l?!0:(a(),!1)):o?!0:(a(),!1)})}refinement(e,t){return this._refinement((n,i)=>e(n)?!0:(i.addIssue(typeof t=="function"?t(n,i):t),!1))}_refinement(e){return new Cu({schema:this,typeName:Mr.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return nd.create(this,this._def)}nullable(){return dg.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Au.create(this,this._def)}promise(){return Iw.create(this,this._def)}or(e){return q5.create([this,e],this._def)}and(e){return W5.create(this,e,this._def)}transform(e){return new Cu({...Vr(this._def),schema:this,typeName:Mr.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e=="function"?e:()=>e;return new J5({...Vr(this._def),innerType:this,defaultValue:t,typeName:Mr.ZodDefault})}brand(){return new hZ({typeName:Mr.ZodBranded,type:this,...Vr(this._def)})}catch(e){const t=typeof e=="function"?e:()=>e;return new Y_({...Vr(this._def),innerType:this,catchValue:t,typeName:Mr.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return Y5.create(this,e)}readonly(){return X_.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const xbe=/^c[^\s-]{8,}$/i,_be=/^[a-z][a-z0-9]*$/,Ebe=/^[0-9A-HJKMNP-TV-Z]{26}$/,Abe=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Cbe=/^(?!\.)(?!.*\.\.)([A-Z0-9_+-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Sbe="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let MT;const Ibe=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,Rbe=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,Tbe=r=>r.precision?r.offset?new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${r.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${r.precision}}Z$`):r.precision===0?r.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):r.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$");function kbe(r,e){return!!((e==="v4"||!e)&&Ibe.test(r)||(e==="v6"||!e)&&Rbe.test(r))}class Eu extends Qr{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==ir.string){const s=this._getOrReturnCtx(e);return sr(s,{code:Tt.invalid_type,expected:ir.string,received:s.parsedType}),Lr}const n=new oa;let i;for(const s of this._def.checks)if(s.kind==="min")e.data.lengths.value&&(i=this._getOrReturnCtx(e,i),sr(i,{code:Tt.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){const o=e.data.length>s.value,a=e.data.lengthe.test(i),{validation:t,code:Tt.invalid_string,...Ar.errToObj(n)})}_addCheck(e){return new Eu({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...Ar.errToObj(e)})}url(e){return this._addCheck({kind:"url",...Ar.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...Ar.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...Ar.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...Ar.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...Ar.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...Ar.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...Ar.errToObj(e)})}datetime(e){var t;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,offset:(t=e==null?void 0:e.offset)!==null&&t!==void 0?t:!1,...Ar.errToObj(e==null?void 0:e.message)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...Ar.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t==null?void 0:t.position,...Ar.errToObj(t==null?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...Ar.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...Ar.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...Ar.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...Ar.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...Ar.errToObj(t)})}nonempty(e){return this.min(1,Ar.errToObj(e))}trim(){return new Eu({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Eu({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Eu({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get minLength(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value{var e;return new Eu({checks:[],typeName:Mr.ZodString,coerce:(e=r==null?void 0:r.coerce)!==null&&e!==void 0?e:!1,...Vr(r)})};function Mbe(r,e){const t=(r.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,i=t>n?t:n,s=parseInt(r.toFixed(i).replace(".","")),o=parseInt(e.toFixed(i).replace(".",""));return s%o/Math.pow(10,i)}class Ep extends Qr{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==ir.number){const s=this._getOrReturnCtx(e);return sr(s,{code:Tt.invalid_type,expected:ir.number,received:s.parsedType}),Lr}let n;const i=new oa;for(const s of this._def.checks)s.kind==="int"?Mn.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),sr(n,{code:Tt.invalid_type,expected:"integer",received:"float",message:s.message}),i.dirty()):s.kind==="min"?(s.inclusive?e.datas.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),sr(n,{code:Tt.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="multipleOf"?Mbe(e.data,s.value)!==0&&(n=this._getOrReturnCtx(e,n),sr(n,{code:Tt.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),sr(n,{code:Tt.not_finite,message:s.message}),i.dirty()):Mn.assertNever(s);return{status:i.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,Ar.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Ar.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Ar.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Ar.toString(t))}setLimit(e,t,n,i){return new Ep({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:Ar.toString(i)}]})}_addCheck(e){return new Ep({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:Ar.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Ar.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Ar.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Ar.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Ar.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Ar.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:Ar.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Ar.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Ar.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.valuee.kind==="int"||e.kind==="multipleOf"&&Mn.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(t===null||n.value>t)&&(t=n.value):n.kind==="max"&&(e===null||n.valuenew Ep({checks:[],typeName:Mr.ZodNumber,coerce:(r==null?void 0:r.coerce)||!1,...Vr(r)});class Ap extends Qr{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce&&(e.data=BigInt(e.data)),this._getType(e)!==ir.bigint){const s=this._getOrReturnCtx(e);return sr(s,{code:Tt.invalid_type,expected:ir.bigint,received:s.parsedType}),Lr}let n;const i=new oa;for(const s of this._def.checks)s.kind==="min"?(s.inclusive?e.datas.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),sr(n,{code:Tt.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),i.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),sr(n,{code:Tt.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):Mn.assertNever(s);return{status:i.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,Ar.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Ar.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Ar.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Ar.toString(t))}setLimit(e,t,n,i){return new Ap({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:Ar.toString(i)}]})}_addCheck(e){return new Ap({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Ar.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Ar.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Ar.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Ar.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Ar.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value{var e;return new Ap({checks:[],typeName:Mr.ZodBigInt,coerce:(e=r==null?void 0:r.coerce)!==null&&e!==void 0?e:!1,...Vr(r)})};class j5 extends Qr{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==ir.boolean){const n=this._getOrReturnCtx(e);return sr(n,{code:Tt.invalid_type,expected:ir.boolean,received:n.parsedType}),Lr}return Aa(e.data)}}j5.create=r=>new j5({typeName:Mr.ZodBoolean,coerce:(r==null?void 0:r.coerce)||!1,...Vr(r)});class ug extends Qr{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==ir.date){const s=this._getOrReturnCtx(e);return sr(s,{code:Tt.invalid_type,expected:ir.date,received:s.parsedType}),Lr}if(isNaN(e.data.getTime())){const s=this._getOrReturnCtx(e);return sr(s,{code:Tt.invalid_date}),Lr}const n=new oa;let i;for(const s of this._def.checks)s.kind==="min"?e.data.getTime()s.value&&(i=this._getOrReturnCtx(e,i),sr(i,{code:Tt.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):Mn.assertNever(s);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new ug({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:Ar.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:Ar.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.valuenew ug({checks:[],coerce:(r==null?void 0:r.coerce)||!1,typeName:Mr.ZodDate,...Vr(r)});class V_ extends Qr{_parse(e){if(this._getType(e)!==ir.symbol){const n=this._getOrReturnCtx(e);return sr(n,{code:Tt.invalid_type,expected:ir.symbol,received:n.parsedType}),Lr}return Aa(e.data)}}V_.create=r=>new V_({typeName:Mr.ZodSymbol,...Vr(r)});class z5 extends Qr{_parse(e){if(this._getType(e)!==ir.undefined){const n=this._getOrReturnCtx(e);return sr(n,{code:Tt.invalid_type,expected:ir.undefined,received:n.parsedType}),Lr}return Aa(e.data)}}z5.create=r=>new z5({typeName:Mr.ZodUndefined,...Vr(r)});class H5 extends Qr{_parse(e){if(this._getType(e)!==ir.null){const n=this._getOrReturnCtx(e);return sr(n,{code:Tt.invalid_type,expected:ir.null,received:n.parsedType}),Lr}return Aa(e.data)}}H5.create=r=>new H5({typeName:Mr.ZodNull,...Vr(r)});class Aw extends Qr{constructor(){super(...arguments),this._any=!0}_parse(e){return Aa(e.data)}}Aw.create=r=>new Aw({typeName:Mr.ZodAny,...Vr(r)});class hg extends Qr{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Aa(e.data)}}hg.create=r=>new hg({typeName:Mr.ZodUnknown,...Vr(r)});class rd extends Qr{_parse(e){const t=this._getOrReturnCtx(e);return sr(t,{code:Tt.invalid_type,expected:ir.never,received:t.parsedType}),Lr}}rd.create=r=>new rd({typeName:Mr.ZodNever,...Vr(r)});class G_ extends Qr{_parse(e){if(this._getType(e)!==ir.undefined){const n=this._getOrReturnCtx(e);return sr(n,{code:Tt.invalid_type,expected:ir.void,received:n.parsedType}),Lr}return Aa(e.data)}}G_.create=r=>new G_({typeName:Mr.ZodVoid,...Vr(r)});class Au extends Qr{_parse(e){const{ctx:t,status:n}=this._processInputParams(e),i=this._def;if(t.parsedType!==ir.array)return sr(t,{code:Tt.invalid_type,expected:ir.array,received:t.parsedType}),Lr;if(i.exactLength!==null){const o=t.data.length>i.exactLength.value,a=t.data.lengthi.maxLength.value&&(sr(t,{code:Tt.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((o,a)=>i.type._parseAsync(new Bh(t,o,t.path,a)))).then(o=>oa.mergeArray(n,o));const s=[...t.data].map((o,a)=>i.type._parseSync(new Bh(t,o,t.path,a)));return oa.mergeArray(n,s)}get element(){return this._def.type}min(e,t){return new Au({...this._def,minLength:{value:e,message:Ar.toString(t)}})}max(e,t){return new Au({...this._def,maxLength:{value:e,message:Ar.toString(t)}})}length(e,t){return new Au({...this._def,exactLength:{value:e,message:Ar.toString(t)}})}nonempty(e){return this.min(1,e)}}Au.create=(r,e)=>new Au({type:r,minLength:null,maxLength:null,exactLength:null,typeName:Mr.ZodArray,...Vr(e)});function Cw(r){if(r instanceof Ji){const e={};for(const t in r.shape){const n=r.shape[t];e[t]=nd.create(Cw(n))}return new Ji({...r._def,shape:()=>e})}else return r instanceof Au?new Au({...r._def,type:Cw(r.element)}):r instanceof nd?nd.create(Cw(r.unwrap())):r instanceof dg?dg.create(Cw(r.unwrap())):r instanceof Lh?Lh.create(r.items.map(e=>Cw(e))):r}class Ji extends Qr{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),t=Mn.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==ir.object){const u=this._getOrReturnCtx(e);return sr(u,{code:Tt.invalid_type,expected:ir.object,received:u.parsedType}),Lr}const{status:n,ctx:i}=this._processInputParams(e),{shape:s,keys:o}=this._getCached(),a=[];if(!(this._def.catchall instanceof rd&&this._def.unknownKeys==="strip"))for(const u in i.data)o.includes(u)||a.push(u);const l=[];for(const u of o){const h=s[u],p=i.data[u];l.push({key:{status:"valid",value:u},value:h._parse(new Bh(i,p,i.path,u)),alwaysSet:u in i.data})}if(this._def.catchall instanceof rd){const u=this._def.unknownKeys;if(u==="passthrough")for(const h of a)l.push({key:{status:"valid",value:h},value:{status:"valid",value:i.data[h]}});else if(u==="strict")a.length>0&&(sr(i,{code:Tt.unrecognized_keys,keys:a}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const u=this._def.catchall;for(const h of a){const p=i.data[h];l.push({key:{status:"valid",value:h},value:u._parse(new Bh(i,p,i.path,h)),alwaysSet:h in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const u=[];for(const h of l){const p=await h.key;u.push({key:p,value:await h.value,alwaysSet:h.alwaysSet})}return u}).then(u=>oa.mergeObjectSync(n,u)):oa.mergeObjectSync(n,l)}get shape(){return this._def.shape()}strict(e){return Ar.errToObj,new Ji({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,n)=>{var i,s,o,a;const l=(o=(s=(i=this._def).errorMap)===null||s===void 0?void 0:s.call(i,t,n).message)!==null&&o!==void 0?o:n.defaultError;return t.code==="unrecognized_keys"?{message:(a=Ar.errToObj(e).message)!==null&&a!==void 0?a:l}:{message:l}}}:{}})}strip(){return new Ji({...this._def,unknownKeys:"strip"})}passthrough(){return new Ji({...this._def,unknownKeys:"passthrough"})}extend(e){return new Ji({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new Ji({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:Mr.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new Ji({...this._def,catchall:e})}pick(e){const t={};return Mn.objectKeys(e).forEach(n=>{e[n]&&this.shape[n]&&(t[n]=this.shape[n])}),new Ji({...this._def,shape:()=>t})}omit(e){const t={};return Mn.objectKeys(this.shape).forEach(n=>{e[n]||(t[n]=this.shape[n])}),new Ji({...this._def,shape:()=>t})}deepPartial(){return Cw(this)}partial(e){const t={};return Mn.objectKeys(this.shape).forEach(n=>{const i=this.shape[n];e&&!e[n]?t[n]=i:t[n]=i.optional()}),new Ji({...this._def,shape:()=>t})}required(e){const t={};return Mn.objectKeys(this.shape).forEach(n=>{if(e&&!e[n])t[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof nd;)s=s._def.innerType;t[n]=s}}),new Ji({...this._def,shape:()=>t})}keyof(){return uZ(Mn.objectKeys(this.shape))}}Ji.create=(r,e)=>new Ji({shape:()=>r,unknownKeys:"strip",catchall:rd.create(),typeName:Mr.ZodObject,...Vr(e)}),Ji.strictCreate=(r,e)=>new Ji({shape:()=>r,unknownKeys:"strict",catchall:rd.create(),typeName:Mr.ZodObject,...Vr(e)}),Ji.lazycreate=(r,e)=>new Ji({shape:r,unknownKeys:"strip",catchall:rd.create(),typeName:Mr.ZodObject,...Vr(e)});class q5 extends Qr{_parse(e){const{ctx:t}=this._processInputParams(e),n=this._def.options;function i(s){for(const a of s)if(a.result.status==="valid")return a.result;for(const a of s)if(a.result.status==="dirty")return t.common.issues.push(...a.ctx.common.issues),a.result;const o=s.map(a=>new _u(a.ctx.common.issues));return sr(t,{code:Tt.invalid_union,unionErrors:o}),Lr}if(t.common.async)return Promise.all(n.map(async s=>{const o={...t,common:{...t.common,issues:[]},parent:null};return{result:await s._parseAsync({data:t.data,path:t.path,parent:o}),ctx:o}})).then(i);{let s;const o=[];for(const l of n){const u={...t,common:{...t.common,issues:[]},parent:null},h=l._parseSync({data:t.data,path:t.path,parent:u});if(h.status==="valid")return h;h.status==="dirty"&&!s&&(s={result:h,ctx:u}),u.common.issues.length&&o.push(u.common.issues)}if(s)return t.common.issues.push(...s.ctx.common.issues),s.result;const a=o.map(l=>new _u(l));return sr(t,{code:Tt.invalid_union,unionErrors:a}),Lr}}get options(){return this._def.options}}q5.create=(r,e)=>new q5({options:r,typeName:Mr.ZodUnion,...Vr(e)});const K_=r=>r instanceof G5?K_(r.schema):r instanceof Cu?K_(r.innerType()):r instanceof K5?[r.value]:r instanceof Cp?r.options:r instanceof Z5?Object.keys(r.enum):r instanceof J5?K_(r._def.innerType):r instanceof z5?[void 0]:r instanceof H5?[null]:null;class Z_ extends Qr{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==ir.object)return sr(t,{code:Tt.invalid_type,expected:ir.object,received:t.parsedType}),Lr;const n=this.discriminator,i=t.data[n],s=this.optionsMap.get(i);return s?t.common.async?s._parseAsync({data:t.data,path:t.path,parent:t}):s._parseSync({data:t.data,path:t.path,parent:t}):(sr(t,{code:Tt.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),Lr)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,n){const i=new Map;for(const s of t){const o=K_(s.shape[e]);if(!o)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const a of o){if(i.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);i.set(a,s)}}return new Z_({typeName:Mr.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:i,...Vr(n)})}}function NT(r,e){const t=_p(r),n=_p(e);if(r===e)return{valid:!0,data:r};if(t===ir.object&&n===ir.object){const i=Mn.objectKeys(e),s=Mn.objectKeys(r).filter(a=>i.indexOf(a)!==-1),o={...r,...e};for(const a of s){const l=NT(r[a],e[a]);if(!l.valid)return{valid:!1};o[a]=l.data}return{valid:!0,data:o}}else if(t===ir.array&&n===ir.array){if(r.length!==e.length)return{valid:!1};const i=[];for(let s=0;s{if(TT(s)||TT(o))return Lr;const a=NT(s.value,o.value);return a.valid?((kT(s)||kT(o))&&t.dirty(),{status:t.value,value:a.data}):(sr(n,{code:Tt.invalid_intersection_types}),Lr)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([s,o])=>i(s,o)):i(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}W5.create=(r,e,t)=>new W5({left:r,right:e,typeName:Mr.ZodIntersection,...Vr(t)});class Lh extends Qr{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==ir.array)return sr(n,{code:Tt.invalid_type,expected:ir.array,received:n.parsedType}),Lr;if(n.data.lengththis._def.items.length&&(sr(n,{code:Tt.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const s=[...n.data].map((o,a)=>{const l=this._def.items[a]||this._def.rest;return l?l._parse(new Bh(n,o,n.path,a)):null}).filter(o=>!!o);return n.common.async?Promise.all(s).then(o=>oa.mergeArray(t,o)):oa.mergeArray(t,s)}get items(){return this._def.items}rest(e){return new Lh({...this._def,rest:e})}}Lh.create=(r,e)=>{if(!Array.isArray(r))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Lh({items:r,typeName:Mr.ZodTuple,rest:null,...Vr(e)})};class V5 extends Qr{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==ir.object)return sr(n,{code:Tt.invalid_type,expected:ir.object,received:n.parsedType}),Lr;const i=[],s=this._def.keyType,o=this._def.valueType;for(const a in n.data)i.push({key:s._parse(new Bh(n,a,n.path,a)),value:o._parse(new Bh(n,n.data[a],n.path,a))});return n.common.async?oa.mergeObjectAsync(t,i):oa.mergeObjectSync(t,i)}get element(){return this._def.valueType}static create(e,t,n){return t instanceof Qr?new V5({keyType:e,valueType:t,typeName:Mr.ZodRecord,...Vr(n)}):new V5({keyType:Eu.create(),valueType:e,typeName:Mr.ZodRecord,...Vr(t)})}}class J_ extends Qr{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==ir.map)return sr(n,{code:Tt.invalid_type,expected:ir.map,received:n.parsedType}),Lr;const i=this._def.keyType,s=this._def.valueType,o=[...n.data.entries()].map(([a,l],u)=>({key:i._parse(new Bh(n,a,n.path,[u,"key"])),value:s._parse(new Bh(n,l,n.path,[u,"value"]))}));if(n.common.async){const a=new Map;return Promise.resolve().then(async()=>{for(const l of o){const u=await l.key,h=await l.value;if(u.status==="aborted"||h.status==="aborted")return Lr;(u.status==="dirty"||h.status==="dirty")&&t.dirty(),a.set(u.value,h.value)}return{status:t.value,value:a}})}else{const a=new Map;for(const l of o){const u=l.key,h=l.value;if(u.status==="aborted"||h.status==="aborted")return Lr;(u.status==="dirty"||h.status==="dirty")&&t.dirty(),a.set(u.value,h.value)}return{status:t.value,value:a}}}}J_.create=(r,e,t)=>new J_({valueType:e,keyType:r,typeName:Mr.ZodMap,...Vr(t)});class fg extends Qr{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==ir.set)return sr(n,{code:Tt.invalid_type,expected:ir.set,received:n.parsedType}),Lr;const i=this._def;i.minSize!==null&&n.data.sizei.maxSize.value&&(sr(n,{code:Tt.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),t.dirty());const s=this._def.valueType;function o(l){const u=new Set;for(const h of l){if(h.status==="aborted")return Lr;h.status==="dirty"&&t.dirty(),u.add(h.value)}return{status:t.value,value:u}}const a=[...n.data.values()].map((l,u)=>s._parse(new Bh(n,l,n.path,u)));return n.common.async?Promise.all(a).then(l=>o(l)):o(a)}min(e,t){return new fg({...this._def,minSize:{value:e,message:Ar.toString(t)}})}max(e,t){return new fg({...this._def,maxSize:{value:e,message:Ar.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}fg.create=(r,e)=>new fg({valueType:r,minSize:null,maxSize:null,typeName:Mr.ZodSet,...Vr(e)});class Sw extends Qr{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==ir.function)return sr(t,{code:Tt.invalid_type,expected:ir.function,received:t.parsedType}),Lr;function n(a,l){return q_({data:a,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,H_(),U5].filter(u=>!!u),issueData:{code:Tt.invalid_arguments,argumentsError:l}})}function i(a,l){return q_({data:a,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,H_(),U5].filter(u=>!!u),issueData:{code:Tt.invalid_return_type,returnTypeError:l}})}const s={errorMap:t.common.contextualErrorMap},o=t.data;if(this._def.returns instanceof Iw){const a=this;return Aa(async function(...l){const u=new _u([]),h=await a._def.args.parseAsync(l,s).catch(w=>{throw u.addIssue(n(l,w)),u}),p=await Reflect.apply(o,this,h);return await a._def.returns._def.type.parseAsync(p,s).catch(w=>{throw u.addIssue(i(p,w)),u})})}else{const a=this;return Aa(function(...l){const u=a._def.args.safeParse(l,s);if(!u.success)throw new _u([n(l,u.error)]);const h=Reflect.apply(o,this,u.data),p=a._def.returns.safeParse(h,s);if(!p.success)throw new _u([i(h,p.error)]);return p.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new Sw({...this._def,args:Lh.create(e).rest(hg.create())})}returns(e){return new Sw({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,n){return new Sw({args:e||Lh.create([]).rest(hg.create()),returns:t||hg.create(),typeName:Mr.ZodFunction,...Vr(n)})}}class G5 extends Qr{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}G5.create=(r,e)=>new G5({getter:r,typeName:Mr.ZodLazy,...Vr(e)});class K5 extends Qr{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return sr(t,{received:t.data,code:Tt.invalid_literal,expected:this._def.value}),Lr}return{status:"valid",value:e.data}}get value(){return this._def.value}}K5.create=(r,e)=>new K5({value:r,typeName:Mr.ZodLiteral,...Vr(e)});function uZ(r,e){return new Cp({values:r,typeName:Mr.ZodEnum,...Vr(e)})}class Cp extends Qr{_parse(e){if(typeof e.data!="string"){const t=this._getOrReturnCtx(e),n=this._def.values;return sr(t,{expected:Mn.joinValues(n),received:t.parsedType,code:Tt.invalid_type}),Lr}if(this._def.values.indexOf(e.data)===-1){const t=this._getOrReturnCtx(e),n=this._def.values;return sr(t,{received:t.data,code:Tt.invalid_enum_value,options:n}),Lr}return Aa(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e){return Cp.create(e)}exclude(e){return Cp.create(this.options.filter(t=>!e.includes(t)))}}Cp.create=uZ;class Z5 extends Qr{_parse(e){const t=Mn.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==ir.string&&n.parsedType!==ir.number){const i=Mn.objectValues(t);return sr(n,{expected:Mn.joinValues(i),received:n.parsedType,code:Tt.invalid_type}),Lr}if(t.indexOf(e.data)===-1){const i=Mn.objectValues(t);return sr(n,{received:n.data,code:Tt.invalid_enum_value,options:i}),Lr}return Aa(e.data)}get enum(){return this._def.values}}Z5.create=(r,e)=>new Z5({values:r,typeName:Mr.ZodNativeEnum,...Vr(e)});class Iw extends Qr{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==ir.promise&&t.common.async===!1)return sr(t,{code:Tt.invalid_type,expected:ir.promise,received:t.parsedType}),Lr;const n=t.parsedType===ir.promise?t.data:Promise.resolve(t.data);return Aa(n.then(i=>this._def.type.parseAsync(i,{path:t.path,errorMap:t.common.contextualErrorMap})))}}Iw.create=(r,e)=>new Iw({type:r,typeName:Mr.ZodPromise,...Vr(e)});class Cu extends Qr{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Mr.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:n}=this._processInputParams(e),i=this._def.effect||null,s={addIssue:o=>{sr(n,o),o.fatal?t.abort():t.dirty()},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),i.type==="preprocess"){const o=i.transform(n.data,s);return n.common.issues.length?{status:"dirty",value:n.data}:n.common.async?Promise.resolve(o).then(a=>this._def.schema._parseAsync({data:a,path:n.path,parent:n})):this._def.schema._parseSync({data:o,path:n.path,parent:n})}if(i.type==="refinement"){const o=a=>{const l=i.refinement(a,s);if(n.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(n.common.async===!1){const a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?Lr:(a.status==="dirty"&&t.dirty(),o(a.value),{status:t.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?Lr:(a.status==="dirty"&&t.dirty(),o(a.value).then(()=>({status:t.value,value:a.value}))))}if(i.type==="transform")if(n.common.async===!1){const o=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!F5(o))return o;const a=i.transform(o.value,s);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(o=>F5(o)?Promise.resolve(i.transform(o.value,s)).then(a=>({status:t.value,value:a})):o);Mn.assertNever(i)}}Cu.create=(r,e,t)=>new Cu({schema:r,typeName:Mr.ZodEffects,effect:e,...Vr(t)}),Cu.createWithPreprocess=(r,e,t)=>new Cu({schema:e,effect:{type:"preprocess",transform:r},typeName:Mr.ZodEffects,...Vr(t)});class nd extends Qr{_parse(e){return this._getType(e)===ir.undefined?Aa(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}nd.create=(r,e)=>new nd({innerType:r,typeName:Mr.ZodOptional,...Vr(e)});class dg extends Qr{_parse(e){return this._getType(e)===ir.null?Aa(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}dg.create=(r,e)=>new dg({innerType:r,typeName:Mr.ZodNullable,...Vr(e)});class J5 extends Qr{_parse(e){const{ctx:t}=this._processInputParams(e);let n=t.data;return t.parsedType===ir.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}J5.create=(r,e)=>new J5({innerType:r,typeName:Mr.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...Vr(e)});class Y_ extends Qr{_parse(e){const{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},i=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return W_(i)?i.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new _u(n.common.issues)},input:n.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new _u(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}Y_.create=(r,e)=>new Y_({innerType:r,typeName:Mr.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...Vr(e)});class Q_ extends Qr{_parse(e){if(this._getType(e)!==ir.nan){const n=this._getOrReturnCtx(e);return sr(n,{code:Tt.invalid_type,expected:ir.nan,received:n.parsedType}),Lr}return{status:"valid",value:e.data}}}Q_.create=r=>new Q_({typeName:Mr.ZodNaN,...Vr(r)});const Nbe=Symbol("zod_brand");class hZ extends Qr{_parse(e){const{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}}class Y5 extends Qr{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{const s=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?Lr:s.status==="dirty"?(t.dirty(),cZ(s.value)):this._def.out._parseAsync({data:s.value,path:n.path,parent:n})})();{const i=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?Lr:i.status==="dirty"?(t.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:n.path,parent:n})}}static create(e,t){return new Y5({in:e,out:t,typeName:Mr.ZodPipeline})}}class X_ extends Qr{_parse(e){const t=this._def.innerType._parse(e);return F5(t)&&(t.value=Object.freeze(t.value)),t}}X_.create=(r,e)=>new X_({innerType:r,typeName:Mr.ZodReadonly,...Vr(e)});const fZ=(r,e={},t)=>r?Aw.create().superRefine((n,i)=>{var s,o;if(!r(n)){const a=typeof e=="function"?e(n):typeof e=="string"?{message:e}:e,l=(o=(s=a.fatal)!==null&&s!==void 0?s:t)!==null&&o!==void 0?o:!0,u=typeof a=="string"?{message:a}:a;i.addIssue({code:"custom",...u,fatal:l})}}):Aw.create(),Pbe={object:Ji.lazycreate};var Mr;(function(r){r.ZodString="ZodString",r.ZodNumber="ZodNumber",r.ZodNaN="ZodNaN",r.ZodBigInt="ZodBigInt",r.ZodBoolean="ZodBoolean",r.ZodDate="ZodDate",r.ZodSymbol="ZodSymbol",r.ZodUndefined="ZodUndefined",r.ZodNull="ZodNull",r.ZodAny="ZodAny",r.ZodUnknown="ZodUnknown",r.ZodNever="ZodNever",r.ZodVoid="ZodVoid",r.ZodArray="ZodArray",r.ZodObject="ZodObject",r.ZodUnion="ZodUnion",r.ZodDiscriminatedUnion="ZodDiscriminatedUnion",r.ZodIntersection="ZodIntersection",r.ZodTuple="ZodTuple",r.ZodRecord="ZodRecord",r.ZodMap="ZodMap",r.ZodSet="ZodSet",r.ZodFunction="ZodFunction",r.ZodLazy="ZodLazy",r.ZodLiteral="ZodLiteral",r.ZodEnum="ZodEnum",r.ZodEffects="ZodEffects",r.ZodNativeEnum="ZodNativeEnum",r.ZodOptional="ZodOptional",r.ZodNullable="ZodNullable",r.ZodDefault="ZodDefault",r.ZodCatch="ZodCatch",r.ZodPromise="ZodPromise",r.ZodBranded="ZodBranded",r.ZodPipeline="ZodPipeline",r.ZodReadonly="ZodReadonly"})(Mr||(Mr={}));const Obe=(r,e={message:`Input not instance of ${r.name}`})=>fZ(t=>t instanceof r,e),dZ=Eu.create,pZ=Ep.create,Dbe=Q_.create,$be=Ap.create,gZ=j5.create,Bbe=ug.create,Lbe=V_.create,Ube=z5.create,Fbe=H5.create,jbe=Aw.create,zbe=hg.create,Hbe=rd.create,qbe=G_.create,Wbe=Au.create,Vbe=Ji.create,Gbe=Ji.strictCreate,Kbe=q5.create,Zbe=Z_.create,Jbe=W5.create,Ybe=Lh.create,Qbe=V5.create,Xbe=J_.create,ewe=fg.create,twe=Sw.create,rwe=G5.create,nwe=K5.create,iwe=Cp.create,swe=Z5.create,owe=Iw.create,mZ=Cu.create,awe=nd.create,cwe=dg.create,lwe=Cu.createWithPreprocess,uwe=Y5.create;var ge=Object.freeze({__proto__:null,defaultErrorMap:U5,setErrorMap:vbe,getErrorMap:H_,makeIssue:q_,EMPTY_PATH:ybe,addIssueToContext:sr,ParseStatus:oa,INVALID:Lr,DIRTY:cZ,OK:Aa,isAborted:TT,isDirty:kT,isValid:F5,isAsync:W_,get util(){return Mn},get objectUtil(){return RT},ZodParsedType:ir,getParsedType:_p,ZodType:Qr,ZodString:Eu,ZodNumber:Ep,ZodBigInt:Ap,ZodBoolean:j5,ZodDate:ug,ZodSymbol:V_,ZodUndefined:z5,ZodNull:H5,ZodAny:Aw,ZodUnknown:hg,ZodNever:rd,ZodVoid:G_,ZodArray:Au,ZodObject:Ji,ZodUnion:q5,ZodDiscriminatedUnion:Z_,ZodIntersection:W5,ZodTuple:Lh,ZodRecord:V5,ZodMap:J_,ZodSet:fg,ZodFunction:Sw,ZodLazy:G5,ZodLiteral:K5,ZodEnum:Cp,ZodNativeEnum:Z5,ZodPromise:Iw,ZodEffects:Cu,ZodTransformer:Cu,ZodOptional:nd,ZodNullable:dg,ZodDefault:J5,ZodCatch:Y_,ZodNaN:Q_,BRAND:Nbe,ZodBranded:hZ,ZodPipeline:Y5,ZodReadonly:X_,custom:fZ,Schema:Qr,ZodSchema:Qr,late:Pbe,get ZodFirstPartyTypeKind(){return Mr},coerce:{string:r=>Eu.create({...r,coerce:!0}),number:r=>Ep.create({...r,coerce:!0}),boolean:r=>j5.create({...r,coerce:!0}),bigint:r=>Ap.create({...r,coerce:!0}),date:r=>ug.create({...r,coerce:!0})},any:jbe,array:Wbe,bigint:$be,boolean:gZ,date:Bbe,discriminatedUnion:Zbe,effect:mZ,enum:iwe,function:twe,instanceof:Obe,intersection:Jbe,lazy:rwe,literal:nwe,map:Xbe,nan:Dbe,nativeEnum:swe,never:Hbe,null:Fbe,nullable:cwe,number:pZ,object:Vbe,oboolean:()=>gZ().optional(),onumber:()=>pZ().optional(),optional:awe,ostring:()=>dZ().optional(),pipeline:uwe,preprocess:lwe,promise:owe,record:Qbe,set:ewe,strictObject:Gbe,string:dZ,symbol:Lbe,transformer:mZ,tuple:Ybe,undefined:Ube,union:Kbe,unknown:zbe,void:qbe,NEVER:Lr,ZodIssueCode:Tt,quotelessJson:wbe,ZodError:_u});const hwe=r=>r.message?r.message:"unspecified error";class eE extends L5{constructor(e){super(),this.code=ebe,this.errors=e,super.message=`Web3 validator found ${e.length} error[s]: + */(function(r){const e=A_,t=bR,n=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;r.Buffer=h,r.SlowBuffer=z,r.INSPECT_MAX_BYTES=50;const i=2147483647;r.kMaxLength=i;const{Uint8Array:s,ArrayBuffer:o,SharedArrayBuffer:a}=globalThis;h.TYPED_ARRAY_SUPPORT=l(),!h.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function l(){try{const se=new s(1),J={foo:function(){return 42}};return Object.setPrototypeOf(J,s.prototype),Object.setPrototypeOf(se,J),se.foo()===42}catch{return!1}}Object.defineProperty(h.prototype,"parent",{enumerable:!0,get:function(){if(h.isBuffer(this))return this.buffer}}),Object.defineProperty(h.prototype,"offset",{enumerable:!0,get:function(){if(h.isBuffer(this))return this.byteOffset}});function u(se){if(se>i)throw new RangeError('The value "'+se+'" is invalid for option "size"');const J=new s(se);return Object.setPrototypeOf(J,h.prototype),J}function h(se,J,X){if(typeof se=="number"){if(typeof J=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return y(se)}return p(se,J,X)}h.poolSize=8192;function p(se,J,X){if(typeof se=="string")return C(se,J);if(o.isView(se))return k(se);if(se==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof se);if(Ve(se,o)||se&&Ve(se.buffer,o)||typeof a<"u"&&(Ve(se,a)||se&&Ve(se.buffer,a)))return N(se,J,X);if(typeof se=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const ue=se.valueOf&&se.valueOf();if(ue!=null&&ue!==se)return h.from(ue,J,X);const we=O(se);if(we)return we;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof se[Symbol.toPrimitive]=="function")return h.from(se[Symbol.toPrimitive]("string"),J,X);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof se)}h.from=function(se,J,X){return p(se,J,X)},Object.setPrototypeOf(h.prototype,s.prototype),Object.setPrototypeOf(h,s);function g(se){if(typeof se!="number")throw new TypeError('"size" argument must be of type number');if(se<0)throw new RangeError('The value "'+se+'" is invalid for option "size"')}function w(se,J,X){return g(se),se<=0?u(se):J!==void 0?typeof X=="string"?u(se).fill(J,X):u(se).fill(J):u(se)}h.alloc=function(se,J,X){return w(se,J,X)};function y(se){return g(se),u(se<0?0:B(se)|0)}h.allocUnsafe=function(se){return y(se)},h.allocUnsafeSlow=function(se){return y(se)};function C(se,J){if((typeof J!="string"||J==="")&&(J="utf8"),!h.isEncoding(J))throw new TypeError("Unknown encoding: "+J);const X=G(se,J)|0;let ue=u(X);const we=ue.write(se,J);return we!==X&&(ue=ue.slice(0,we)),ue}function T(se){const J=se.length<0?0:B(se.length)|0,X=u(J);for(let ue=0;ue=i)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i.toString(16)+" bytes");return se|0}function z(se){return+se!=se&&(se=0),h.alloc(+se)}h.isBuffer=function(J){return J!=null&&J._isBuffer===!0&&J!==h.prototype},h.compare=function(J,X){if(Ve(J,s)&&(J=h.from(J,J.offset,J.byteLength)),Ve(X,s)&&(X=h.from(X,X.offset,X.byteLength)),!h.isBuffer(J)||!h.isBuffer(X))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(J===X)return 0;let ue=J.length,we=X.length;for(let ye=0,Ie=Math.min(ue,we);yewe.length?(h.isBuffer(Ie)||(Ie=h.from(Ie)),Ie.copy(we,ye)):s.prototype.set.call(we,Ie,ye);else if(h.isBuffer(Ie))Ie.copy(we,ye);else throw new TypeError('"list" argument must be an Array of Buffers');ye+=Ie.length}return we};function G(se,J){if(h.isBuffer(se))return se.length;if(o.isView(se)||Ve(se,o))return se.byteLength;if(typeof se!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof se);const X=se.length,ue=arguments.length>2&&arguments[2]===!0;if(!ue&&X===0)return 0;let we=!1;for(;;)switch(J){case"ascii":case"latin1":case"binary":return X;case"utf8":case"utf-8":return je(se).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return X*2;case"hex":return X>>>1;case"base64":return ze(se).length;default:if(we)return ue?-1:je(se).length;J=(""+J).toLowerCase(),we=!0}}h.byteLength=G;function $(se,J,X){let ue=!1;if((J===void 0||J<0)&&(J=0),J>this.length||((X===void 0||X>this.length)&&(X=this.length),X<=0)||(X>>>=0,J>>>=0,X<=J))return"";for(se||(se="utf8");;)switch(se){case"hex":return _(this,J,X);case"utf8":case"utf-8":return A(this,J,X);case"ascii":return S(this,J,X);case"latin1":case"binary":return E(this,J,X);case"base64":return x(this,J,X);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,J,X);default:if(ue)throw new TypeError("Unknown encoding: "+se);se=(se+"").toLowerCase(),ue=!0}}h.prototype._isBuffer=!0;function D(se,J,X){const ue=se[J];se[J]=se[X],se[X]=ue}h.prototype.swap16=function(){const J=this.length;if(J%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let X=0;XX&&(J+=" ... "),""},n&&(h.prototype[n]=h.prototype.inspect),h.prototype.compare=function(J,X,ue,we,ye){if(Ve(J,s)&&(J=h.from(J,J.offset,J.byteLength)),!h.isBuffer(J))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof J);if(X===void 0&&(X=0),ue===void 0&&(ue=J?J.length:0),we===void 0&&(we=0),ye===void 0&&(ye=this.length),X<0||ue>J.length||we<0||ye>this.length)throw new RangeError("out of range index");if(we>=ye&&X>=ue)return 0;if(we>=ye)return-1;if(X>=ue)return 1;if(X>>>=0,ue>>>=0,we>>>=0,ye>>>=0,this===J)return 0;let Ie=ye-we,it=ue-X;const ot=Math.min(Ie,it),tt=this.slice(we,ye),It=J.slice(X,ue);for(let st=0;st2147483647?X=2147483647:X<-2147483648&&(X=-2147483648),X=+X,He(X)&&(X=we?0:se.length-1),X<0&&(X=se.length+X),X>=se.length){if(we)return-1;X=se.length-1}else if(X<0)if(we)X=0;else return-1;if(typeof J=="string"&&(J=h.from(J,ue)),h.isBuffer(J))return J.length===0?-1:Q(se,J,X,ue,we);if(typeof J=="number")return J=J&255,typeof s.prototype.indexOf=="function"?we?s.prototype.indexOf.call(se,J,X):s.prototype.lastIndexOf.call(se,J,X):Q(se,[J],X,ue,we);throw new TypeError("val must be string, number or Buffer")}function Q(se,J,X,ue,we){let ye=1,Ie=se.length,it=J.length;if(ue!==void 0&&(ue=String(ue).toLowerCase(),ue==="ucs2"||ue==="ucs-2"||ue==="utf16le"||ue==="utf-16le")){if(se.length<2||J.length<2)return-1;ye=2,Ie/=2,it/=2,X/=2}function ot(It,st){return ye===1?It[st]:It.readUInt16BE(st*ye)}let tt;if(we){let It=-1;for(tt=X;ttIe&&(X=Ie-it),tt=X;tt>=0;tt--){let It=!0;for(let st=0;stwe&&(ue=we)):ue=we;const ye=J.length;ue>ye/2&&(ue=ye/2);let Ie;for(Ie=0;Ie>>0,isFinite(ue)?(ue=ue>>>0,we===void 0&&(we="utf8")):(we=ue,ue=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const ye=this.length-X;if((ue===void 0||ue>ye)&&(ue=ye),J.length>0&&(ue<0||X<0)||X>this.length)throw new RangeError("Attempt to write outside buffer bounds");we||(we="utf8");let Ie=!1;for(;;)switch(we){case"hex":return F(this,J,X,ue);case"utf8":case"utf-8":return M(this,J,X,ue);case"ascii":case"latin1":case"binary":return b(this,J,X,ue);case"base64":return d(this,J,X,ue);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return m(this,J,X,ue);default:if(Ie)throw new TypeError("Unknown encoding: "+we);we=(""+we).toLowerCase(),Ie=!0}},h.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function x(se,J,X){return J===0&&X===se.length?e.fromByteArray(se):e.fromByteArray(se.slice(J,X))}function A(se,J,X){X=Math.min(se.length,X);const ue=[];let we=J;for(;we239?4:ye>223?3:ye>191?2:1;if(we+it<=X){let ot,tt,It,st;switch(it){case 1:ye<128&&(Ie=ye);break;case 2:ot=se[we+1],(ot&192)===128&&(st=(ye&31)<<6|ot&63,st>127&&(Ie=st));break;case 3:ot=se[we+1],tt=se[we+2],(ot&192)===128&&(tt&192)===128&&(st=(ye&15)<<12|(ot&63)<<6|tt&63,st>2047&&(st<55296||st>57343)&&(Ie=st));break;case 4:ot=se[we+1],tt=se[we+2],It=se[we+3],(ot&192)===128&&(tt&192)===128&&(It&192)===128&&(st=(ye&15)<<18|(ot&63)<<12|(tt&63)<<6|It&63,st>65535&&st<1114112&&(Ie=st))}}Ie===null?(Ie=65533,it=1):Ie>65535&&(Ie-=65536,ue.push(Ie>>>10&1023|55296),Ie=56320|Ie&1023),ue.push(Ie),we+=it}return R(ue)}const I=4096;function R(se){const J=se.length;if(J<=I)return String.fromCharCode.apply(String,se);let X="",ue=0;for(;ueue)&&(X=ue);let we="";for(let ye=J;yeue&&(J=ue),X<0?(X+=ue,X<0&&(X=0)):X>ue&&(X=ue),XX)throw new RangeError("Trying to access beyond buffer length")}h.prototype.readUintLE=h.prototype.readUIntLE=function(J,X,ue){J=J>>>0,X=X>>>0,ue||ie(J,X,this.length);let we=this[J],ye=1,Ie=0;for(;++Ie>>0,X=X>>>0,ue||ie(J,X,this.length);let we=this[J+--X],ye=1;for(;X>0&&(ye*=256);)we+=this[J+--X]*ye;return we},h.prototype.readUint8=h.prototype.readUInt8=function(J,X){return J=J>>>0,X||ie(J,1,this.length),this[J]},h.prototype.readUint16LE=h.prototype.readUInt16LE=function(J,X){return J=J>>>0,X||ie(J,2,this.length),this[J]|this[J+1]<<8},h.prototype.readUint16BE=h.prototype.readUInt16BE=function(J,X){return J=J>>>0,X||ie(J,2,this.length),this[J]<<8|this[J+1]},h.prototype.readUint32LE=h.prototype.readUInt32LE=function(J,X){return J=J>>>0,X||ie(J,4,this.length),(this[J]|this[J+1]<<8|this[J+2]<<16)+this[J+3]*16777216},h.prototype.readUint32BE=h.prototype.readUInt32BE=function(J,X){return J=J>>>0,X||ie(J,4,this.length),this[J]*16777216+(this[J+1]<<16|this[J+2]<<8|this[J+3])},h.prototype.readBigUInt64LE=Ge(function(J){J=J>>>0,Me(J,"offset");const X=this[J],ue=this[J+7];(X===void 0||ue===void 0)&&ke(J,this.length-8);const we=X+this[++J]*2**8+this[++J]*2**16+this[++J]*2**24,ye=this[++J]+this[++J]*2**8+this[++J]*2**16+ue*2**24;return BigInt(we)+(BigInt(ye)<>>0,Me(J,"offset");const X=this[J],ue=this[J+7];(X===void 0||ue===void 0)&&ke(J,this.length-8);const we=X*2**24+this[++J]*2**16+this[++J]*2**8+this[++J],ye=this[++J]*2**24+this[++J]*2**16+this[++J]*2**8+ue;return(BigInt(we)<>>0,X=X>>>0,ue||ie(J,X,this.length);let we=this[J],ye=1,Ie=0;for(;++Ie=ye&&(we-=Math.pow(2,8*X)),we},h.prototype.readIntBE=function(J,X,ue){J=J>>>0,X=X>>>0,ue||ie(J,X,this.length);let we=X,ye=1,Ie=this[J+--we];for(;we>0&&(ye*=256);)Ie+=this[J+--we]*ye;return ye*=128,Ie>=ye&&(Ie-=Math.pow(2,8*X)),Ie},h.prototype.readInt8=function(J,X){return J=J>>>0,X||ie(J,1,this.length),this[J]&128?(255-this[J]+1)*-1:this[J]},h.prototype.readInt16LE=function(J,X){J=J>>>0,X||ie(J,2,this.length);const ue=this[J]|this[J+1]<<8;return ue&32768?ue|4294901760:ue},h.prototype.readInt16BE=function(J,X){J=J>>>0,X||ie(J,2,this.length);const ue=this[J+1]|this[J]<<8;return ue&32768?ue|4294901760:ue},h.prototype.readInt32LE=function(J,X){return J=J>>>0,X||ie(J,4,this.length),this[J]|this[J+1]<<8|this[J+2]<<16|this[J+3]<<24},h.prototype.readInt32BE=function(J,X){return J=J>>>0,X||ie(J,4,this.length),this[J]<<24|this[J+1]<<16|this[J+2]<<8|this[J+3]},h.prototype.readBigInt64LE=Ge(function(J){J=J>>>0,Me(J,"offset");const X=this[J],ue=this[J+7];(X===void 0||ue===void 0)&&ke(J,this.length-8);const we=this[J+4]+this[J+5]*2**8+this[J+6]*2**16+(ue<<24);return(BigInt(we)<>>0,Me(J,"offset");const X=this[J],ue=this[J+7];(X===void 0||ue===void 0)&&ke(J,this.length-8);const we=(X<<24)+this[++J]*2**16+this[++J]*2**8+this[++J];return(BigInt(we)<>>0,X||ie(J,4,this.length),t.read(this,J,!0,23,4)},h.prototype.readFloatBE=function(J,X){return J=J>>>0,X||ie(J,4,this.length),t.read(this,J,!1,23,4)},h.prototype.readDoubleLE=function(J,X){return J=J>>>0,X||ie(J,8,this.length),t.read(this,J,!0,52,8)},h.prototype.readDoubleBE=function(J,X){return J=J>>>0,X||ie(J,8,this.length),t.read(this,J,!1,52,8)};function q(se,J,X,ue,we,ye){if(!h.isBuffer(se))throw new TypeError('"buffer" argument must be a Buffer instance');if(J>we||Jse.length)throw new RangeError("Index out of range")}h.prototype.writeUintLE=h.prototype.writeUIntLE=function(J,X,ue,we){if(J=+J,X=X>>>0,ue=ue>>>0,!we){const it=Math.pow(2,8*ue)-1;q(this,J,X,ue,it,0)}let ye=1,Ie=0;for(this[X]=J&255;++Ie>>0,ue=ue>>>0,!we){const it=Math.pow(2,8*ue)-1;q(this,J,X,ue,it,0)}let ye=ue-1,Ie=1;for(this[X+ye]=J&255;--ye>=0&&(Ie*=256);)this[X+ye]=J/Ie&255;return X+ue},h.prototype.writeUint8=h.prototype.writeUInt8=function(J,X,ue){return J=+J,X=X>>>0,ue||q(this,J,X,1,255,0),this[X]=J&255,X+1},h.prototype.writeUint16LE=h.prototype.writeUInt16LE=function(J,X,ue){return J=+J,X=X>>>0,ue||q(this,J,X,2,65535,0),this[X]=J&255,this[X+1]=J>>>8,X+2},h.prototype.writeUint16BE=h.prototype.writeUInt16BE=function(J,X,ue){return J=+J,X=X>>>0,ue||q(this,J,X,2,65535,0),this[X]=J>>>8,this[X+1]=J&255,X+2},h.prototype.writeUint32LE=h.prototype.writeUInt32LE=function(J,X,ue){return J=+J,X=X>>>0,ue||q(this,J,X,4,4294967295,0),this[X+3]=J>>>24,this[X+2]=J>>>16,this[X+1]=J>>>8,this[X]=J&255,X+4},h.prototype.writeUint32BE=h.prototype.writeUInt32BE=function(J,X,ue){return J=+J,X=X>>>0,ue||q(this,J,X,4,4294967295,0),this[X]=J>>>24,this[X+1]=J>>>16,this[X+2]=J>>>8,this[X+3]=J&255,X+4};function Y(se,J,X,ue,we){Se(J,ue,we,se,X,7);let ye=Number(J&BigInt(4294967295));se[X++]=ye,ye=ye>>8,se[X++]=ye,ye=ye>>8,se[X++]=ye,ye=ye>>8,se[X++]=ye;let Ie=Number(J>>BigInt(32)&BigInt(4294967295));return se[X++]=Ie,Ie=Ie>>8,se[X++]=Ie,Ie=Ie>>8,se[X++]=Ie,Ie=Ie>>8,se[X++]=Ie,X}function K(se,J,X,ue,we){Se(J,ue,we,se,X,7);let ye=Number(J&BigInt(4294967295));se[X+7]=ye,ye=ye>>8,se[X+6]=ye,ye=ye>>8,se[X+5]=ye,ye=ye>>8,se[X+4]=ye;let Ie=Number(J>>BigInt(32)&BigInt(4294967295));return se[X+3]=Ie,Ie=Ie>>8,se[X+2]=Ie,Ie=Ie>>8,se[X+1]=Ie,Ie=Ie>>8,se[X]=Ie,X+8}h.prototype.writeBigUInt64LE=Ge(function(J,X=0){return Y(this,J,X,BigInt(0),BigInt("0xffffffffffffffff"))}),h.prototype.writeBigUInt64BE=Ge(function(J,X=0){return K(this,J,X,BigInt(0),BigInt("0xffffffffffffffff"))}),h.prototype.writeIntLE=function(J,X,ue,we){if(J=+J,X=X>>>0,!we){const ot=Math.pow(2,8*ue-1);q(this,J,X,ue,ot-1,-ot)}let ye=0,Ie=1,it=0;for(this[X]=J&255;++ye>0)-it&255;return X+ue},h.prototype.writeIntBE=function(J,X,ue,we){if(J=+J,X=X>>>0,!we){const ot=Math.pow(2,8*ue-1);q(this,J,X,ue,ot-1,-ot)}let ye=ue-1,Ie=1,it=0;for(this[X+ye]=J&255;--ye>=0&&(Ie*=256);)J<0&&it===0&&this[X+ye+1]!==0&&(it=1),this[X+ye]=(J/Ie>>0)-it&255;return X+ue},h.prototype.writeInt8=function(J,X,ue){return J=+J,X=X>>>0,ue||q(this,J,X,1,127,-128),J<0&&(J=255+J+1),this[X]=J&255,X+1},h.prototype.writeInt16LE=function(J,X,ue){return J=+J,X=X>>>0,ue||q(this,J,X,2,32767,-32768),this[X]=J&255,this[X+1]=J>>>8,X+2},h.prototype.writeInt16BE=function(J,X,ue){return J=+J,X=X>>>0,ue||q(this,J,X,2,32767,-32768),this[X]=J>>>8,this[X+1]=J&255,X+2},h.prototype.writeInt32LE=function(J,X,ue){return J=+J,X=X>>>0,ue||q(this,J,X,4,2147483647,-2147483648),this[X]=J&255,this[X+1]=J>>>8,this[X+2]=J>>>16,this[X+3]=J>>>24,X+4},h.prototype.writeInt32BE=function(J,X,ue){return J=+J,X=X>>>0,ue||q(this,J,X,4,2147483647,-2147483648),J<0&&(J=4294967295+J+1),this[X]=J>>>24,this[X+1]=J>>>16,this[X+2]=J>>>8,this[X+3]=J&255,X+4},h.prototype.writeBigInt64LE=Ge(function(J,X=0){return Y(this,J,X,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),h.prototype.writeBigInt64BE=Ge(function(J,X=0){return K(this,J,X,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function te(se,J,X,ue,we,ye){if(X+ue>se.length)throw new RangeError("Index out of range");if(X<0)throw new RangeError("Index out of range")}function re(se,J,X,ue,we){return J=+J,X=X>>>0,we||te(se,J,X,4),t.write(se,J,X,ue,23,4),X+4}h.prototype.writeFloatLE=function(J,X,ue){return re(this,J,X,!0,ue)},h.prototype.writeFloatBE=function(J,X,ue){return re(this,J,X,!1,ue)};function H(se,J,X,ue,we){return J=+J,X=X>>>0,we||te(se,J,X,8),t.write(se,J,X,ue,52,8),X+8}h.prototype.writeDoubleLE=function(J,X,ue){return H(this,J,X,!0,ue)},h.prototype.writeDoubleBE=function(J,X,ue){return H(this,J,X,!1,ue)},h.prototype.copy=function(J,X,ue,we){if(!h.isBuffer(J))throw new TypeError("argument should be a Buffer");if(ue||(ue=0),!we&&we!==0&&(we=this.length),X>=J.length&&(X=J.length),X||(X=0),we>0&&we=this.length)throw new RangeError("Index out of range");if(we<0)throw new RangeError("sourceEnd out of bounds");we>this.length&&(we=this.length),J.length-X>>0,ue=ue===void 0?this.length:ue>>>0,J||(J=0);let ye;if(typeof J=="number")for(ye=X;ye2**32?we=le(String(X)):typeof X=="bigint"&&(we=String(X),(X>BigInt(2)**BigInt(32)||X<-(BigInt(2)**BigInt(32)))&&(we=le(we)),we+="n"),ue+=` It must be ${J}. Received ${we}`,ue},RangeError);function le(se){let J="",X=se.length;const ue=se[0]==="-"?1:0;for(;X>=ue+4;X-=3)J=`_${se.slice(X-3,X)}${J}`;return`${se.slice(0,X)}${J}`}function de(se,J,X){Me(J,"offset"),(se[J]===void 0||se[J+X]===void 0)&&ke(J,se.length-(X+1))}function Se(se,J,X,ue,we,ye){if(se>X||se3?J===0||J===BigInt(0)?it=`>= 0${Ie} and < 2${Ie} ** ${(ye+1)*8}${Ie}`:it=`>= -(2${Ie} ** ${(ye+1)*8-1}${Ie}) and < 2 ** ${(ye+1)*8-1}${Ie}`:it=`>= ${J}${Ie} and <= ${X}${Ie}`,new U.ERR_OUT_OF_RANGE("value",it,se)}de(ue,we,ye)}function Me(se,J){if(typeof se!="number")throw new U.ERR_INVALID_ARG_TYPE(J,"number",se)}function ke(se,J,X){throw Math.floor(se)!==se?(Me(se,X),new U.ERR_OUT_OF_RANGE(X||"offset","an integer",se)):J<0?new U.ERR_BUFFER_OUT_OF_BOUNDS:new U.ERR_OUT_OF_RANGE(X||"offset",`>= ${X?1:0} and <= ${J}`,se)}const Ke=/[^+/0-9A-Za-z-_]/g;function Re(se){if(se=se.split("=")[0],se=se.trim().replace(Ke,""),se.length<2)return"";for(;se.length%4!==0;)se=se+"=";return se}function je(se,J){J=J||1/0;let X;const ue=se.length;let we=null;const ye=[];for(let Ie=0;Ie55295&&X<57344){if(!we){if(X>56319){(J-=3)>-1&&ye.push(239,191,189);continue}else if(Ie+1===ue){(J-=3)>-1&&ye.push(239,191,189);continue}we=X;continue}if(X<56320){(J-=3)>-1&&ye.push(239,191,189),we=X;continue}X=(we-55296<<10|X-56320)+65536}else we&&(J-=3)>-1&&ye.push(239,191,189);if(we=null,X<128){if((J-=1)<0)break;ye.push(X)}else if(X<2048){if((J-=2)<0)break;ye.push(X>>6|192,X&63|128)}else if(X<65536){if((J-=3)<0)break;ye.push(X>>12|224,X>>6&63|128,X&63|128)}else if(X<1114112){if((J-=4)<0)break;ye.push(X>>18|240,X>>12&63|128,X>>6&63|128,X&63|128)}else throw new Error("Invalid code point")}return ye}function De(se){const J=[];for(let X=0;X>8,we=X%256,ye.push(we),ye.push(ue);return ye}function ze(se){return e.toByteArray(Re(se))}function qe(se,J,X,ue){let we;for(we=0;we=J.length||we>=se.length);++we)J[we+X]=se[we];return we}function Ve(se,J){return se instanceof J||se!=null&&se.constructor!=null&&se.constructor.name!=null&&se.constructor.name===J.name}function He(se){return se!==se}const Be=function(){const se="0123456789abcdef",J=new Array(256);for(let X=0;X<16;++X){const ue=X*16;for(let we=0;we<16;++we)J[ue+we]=se[X]+se[we]}return J}();function Ge(se){return typeof BigInt>"u"?Xe:se}function Xe(){throw new Error("BigInt not supported")}})(Hs);const Dt=Hs.Buffer,mme=Hs.Blob,bme=Hs.BlobOptions,xK=Hs.Buffer,wme=Hs.File,vme=Hs.FileOptions,yme=Hs.INSPECT_MAX_BYTES,xme=Hs.SlowBuffer,_me=Hs.TranscodeEncoding,Eme=Hs.atob,Ame=Hs.btoa,Cme=Hs.constants,Sme=Hs.isAscii,Ime=Hs.isUtf8,Tme=Hs.kMaxLength,Rme=Hs.kStringMaxLength,kme=Hs.resolveObjectURL,Mme=Hs.transcode,Nme=Object.freeze(Object.defineProperty({__proto__:null,Blob:mme,BlobOptions:bme,Buffer:xK,File:wme,FileOptions:vme,INSPECT_MAX_BYTES:yme,SlowBuffer:xme,TranscodeEncoding:_me,atob:Eme,btoa:Ame,constants:Cme,default:Dt,isAscii:Sme,isUtf8:Ime,kMaxLength:Tme,kStringMaxLength:Rme,resolveObjectURL:kme,transcode:Mme},Symbol.toStringTag,{value:"Module"}));function _n(r,e,t,n,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=r,this.name="AxiosError",e&&(this.code=e),t&&(this.config=t),n&&(this.request=n),i&&(this.response=i)}nt.inherits(_n,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:nt.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const _K=_n.prototype,EK={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(r=>{EK[r]={value:r}}),Object.defineProperties(_n,EK),Object.defineProperty(_K,"isAxiosError",{value:!0}),_n.from=(r,e,t,n,i,s)=>{const o=Object.create(_K);return nt.toFlatObject(r,o,function(l){return l!==Error.prototype},a=>a!=="isAxiosError"),_n.call(o,r.message,e,t,n,i),o.cause=r,o.name=r.name,s&&Object.assign(o,s),o};const Pme=null;function wR(r){return nt.isPlainObject(r)||nt.isArray(r)}function AK(r){return nt.endsWith(r,"[]")?r.slice(0,-2):r}function CK(r,e,t){return r?r.concat(e).map(function(i,s){return i=AK(i),!t&&s?"["+i+"]":i}).join(t?".":""):e}function Ome(r){return nt.isArray(r)&&!r.some(wR)}const Dme=nt.toFlatObject(nt,{},null,function(e){return/^is[A-Z]/.test(e)});function C_(r,e,t){if(!nt.isObject(r))throw new TypeError("target must be an object");e=e||new FormData,t=nt.toFlatObject(t,{metaTokens:!0,dots:!1,indexes:!1},!1,function(C,T){return!nt.isUndefined(T[C])});const n=t.metaTokens,i=t.visitor||h,s=t.dots,o=t.indexes,l=(t.Blob||typeof Blob<"u"&&Blob)&&nt.isSpecCompliantForm(e);if(!nt.isFunction(i))throw new TypeError("visitor must be a function");function u(y){if(y===null)return"";if(nt.isDate(y))return y.toISOString();if(!l&&nt.isBlob(y))throw new _n("Blob is not supported. Use a Buffer instead.");return nt.isArrayBuffer(y)||nt.isTypedArray(y)?l&&typeof Blob=="function"?new Blob([y]):Dt.from(y):y}function h(y,C,T){let k=y;if(y&&!T&&typeof y=="object"){if(nt.endsWith(C,"{}"))C=n?C:C.slice(0,-2),y=JSON.stringify(y);else if(nt.isArray(y)&&Ome(y)||(nt.isFileList(y)||nt.endsWith(C,"[]"))&&(k=nt.toArray(y)))return C=AK(C),k.forEach(function(O,B){!(nt.isUndefined(O)||O===null)&&e.append(o===!0?CK([C],B,s):o===null?C:C+"[]",u(O))}),!1}return wR(y)?!0:(e.append(CK(T,C,s),u(y)),!1)}const p=[],g=Object.assign(Dme,{defaultVisitor:h,convertValue:u,isVisitable:wR});function w(y,C){if(!nt.isUndefined(y)){if(p.indexOf(y)!==-1)throw Error("Circular reference detected in "+C.join("."));p.push(y),nt.forEach(y,function(k,N){(!(nt.isUndefined(k)||k===null)&&i.call(e,k,nt.isString(N)?N.trim():N,C,g))===!0&&w(k,C?C.concat(N):[N])}),p.pop()}}if(!nt.isObject(r))throw new TypeError("data must be an object");return w(r),e}function SK(r){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(r).replace(/[!'()~]|%20|%00/g,function(n){return e[n]})}function vR(r,e){this._pairs=[],r&&C_(r,this,e)}const IK=vR.prototype;IK.append=function(e,t){this._pairs.push([e,t])},IK.toString=function(e){const t=e?function(n){return e.call(this,n,SK)}:SK;return this._pairs.map(function(i){return t(i[0])+"="+t(i[1])},"").join("&")};function $me(r){return encodeURIComponent(r).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function TK(r,e,t){if(!e)return r;const n=t&&t.encode||$me,i=t&&t.serialize;let s;if(i?s=i(e,t):s=nt.isURLSearchParams(e)?e.toString():new vR(e,t).toString(n),s){const o=r.indexOf("#");o!==-1&&(r=r.slice(0,o)),r+=(r.indexOf("?")===-1?"?":"&")+s}return r}class Bme{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){nt.forEach(this.handlers,function(n){n!==null&&e(n)})}}const RK=Bme,kK={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Lme={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<"u"?URLSearchParams:vR,FormData:typeof FormData<"u"?FormData:null,Blob:typeof Blob<"u"?Blob:null},protocols:["http","https","file","blob","url","data"]},MK=typeof window<"u"&&typeof document<"u",Ume=(r=>MK&&["ReactNative","NativeScript","NS"].indexOf(r)<0)(typeof navigator<"u"&&navigator.product),Fme=(()=>typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function")(),Dh={...Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:MK,hasStandardBrowserEnv:Ume,hasStandardBrowserWebWorkerEnv:Fme},Symbol.toStringTag,{value:"Module"})),...Lme};function jme(r,e){return C_(r,new Dh.classes.URLSearchParams,Object.assign({visitor:function(t,n,i,s){return Dh.isNode&&nt.isBuffer(t)?(this.append(n,t.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)}},e))}function zme(r){return nt.matchAll(/\w+|\[(\w*)]/g,r).map(e=>e[0]==="[]"?"":e[1]||e[0])}function Hme(r){const e={},t=Object.keys(r);let n;const i=t.length;let s;for(n=0;n=t.length;return o=!o&&nt.isArray(i)?i.length:o,l?(nt.hasOwnProp(i,o)?i[o]=[i[o],n]:i[o]=n,!a):((!i[o]||!nt.isObject(i[o]))&&(i[o]=[]),e(t,n,i[o],s)&&nt.isArray(i[o])&&(i[o]=Hme(i[o])),!a)}if(nt.isFormData(r)&&nt.isFunction(r.entries)){const t={};return nt.forEachEntry(r,(n,i)=>{e(zme(n),i,t,0)}),t}return null}function qme(r,e,t){if(nt.isString(r))try{return(e||JSON.parse)(r),nt.trim(r)}catch(n){if(n.name!=="SyntaxError")throw n}return(t||JSON.stringify)(r)}const yR={transitional:kK,adapter:["xhr","http"],transformRequest:[function(e,t){const n=t.getContentType()||"",i=n.indexOf("application/json")>-1,s=nt.isObject(e);if(s&&nt.isHTMLForm(e)&&(e=new FormData(e)),nt.isFormData(e))return i?JSON.stringify(NK(e)):e;if(nt.isArrayBuffer(e)||nt.isBuffer(e)||nt.isStream(e)||nt.isFile(e)||nt.isBlob(e))return e;if(nt.isArrayBufferView(e))return e.buffer;if(nt.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let a;if(s){if(n.indexOf("application/x-www-form-urlencoded")>-1)return jme(e,this.formSerializer).toString();if((a=nt.isFileList(e))||n.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return C_(a?{"files[]":e}:e,l&&new l,this.formSerializer)}}return s||i?(t.setContentType("application/json",!1),qme(e)):e}],transformResponse:[function(e){const t=this.transitional||yR.transitional,n=t&&t.forcedJSONParsing,i=this.responseType==="json";if(e&&nt.isString(e)&&(n&&!this.responseType||i)){const o=!(t&&t.silentJSONParsing)&&i;try{return JSON.parse(e)}catch(a){if(o)throw a.name==="SyntaxError"?_n.from(a,_n.ERR_BAD_RESPONSE,this,null,this.response):a}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Dh.classes.FormData,Blob:Dh.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};nt.forEach(["delete","get","head","post","put","patch"],r=>{yR.headers[r]={}});const xR=yR,Wme=nt.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Vme=r=>{const e={};let t,n,i;return r&&r.split(` +`).forEach(function(o){i=o.indexOf(":"),t=o.substring(0,i).trim().toLowerCase(),n=o.substring(i+1).trim(),!(!t||e[t]&&Wme[t])&&(t==="set-cookie"?e[t]?e[t].push(n):e[t]=[n]:e[t]=e[t]?e[t]+", "+n:n)}),e},PK=Symbol("internals");function M5(r){return r&&String(r).trim().toLowerCase()}function S_(r){return r===!1||r==null?r:nt.isArray(r)?r.map(S_):String(r)}function Gme(r){const e=Object.create(null),t=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=t.exec(r);)e[n[1]]=n[2];return e}const Kme=r=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(r.trim());function _R(r,e,t,n,i){if(nt.isFunction(n))return n.call(this,e,t);if(i&&(e=t),!!nt.isString(e)){if(nt.isString(n))return e.indexOf(n)!==-1;if(nt.isRegExp(n))return n.test(e)}}function Zme(r){return r.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,n)=>t.toUpperCase()+n)}function Jme(r,e){const t=nt.toCamelCase(" "+e);["get","set","has"].forEach(n=>{Object.defineProperty(r,n+t,{value:function(i,s,o){return this[n].call(this,e,i,s,o)},configurable:!0})})}class I_{constructor(e){e&&this.set(e)}set(e,t,n){const i=this;function s(a,l,u){const h=M5(l);if(!h)throw new Error("header name must be a non-empty string");const p=nt.findKey(i,h);(!p||i[p]===void 0||u===!0||u===void 0&&i[p]!==!1)&&(i[p||l]=S_(a))}const o=(a,l)=>nt.forEach(a,(u,h)=>s(u,h,l));return nt.isPlainObject(e)||e instanceof this.constructor?o(e,t):nt.isString(e)&&(e=e.trim())&&!Kme(e)?o(Vme(e),t):e!=null&&s(t,e,n),this}get(e,t){if(e=M5(e),e){const n=nt.findKey(this,e);if(n){const i=this[n];if(!t)return i;if(t===!0)return Gme(i);if(nt.isFunction(t))return t.call(this,i,n);if(nt.isRegExp(t))return t.exec(i);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=M5(e),e){const n=nt.findKey(this,e);return!!(n&&this[n]!==void 0&&(!t||_R(this,this[n],n,t)))}return!1}delete(e,t){const n=this;let i=!1;function s(o){if(o=M5(o),o){const a=nt.findKey(n,o);a&&(!t||_R(n,n[a],a,t))&&(delete n[a],i=!0)}}return nt.isArray(e)?e.forEach(s):s(e),i}clear(e){const t=Object.keys(this);let n=t.length,i=!1;for(;n--;){const s=t[n];(!e||_R(this,this[s],s,e,!0))&&(delete this[s],i=!0)}return i}normalize(e){const t=this,n={};return nt.forEach(this,(i,s)=>{const o=nt.findKey(n,s);if(o){t[o]=S_(i),delete t[s];return}const a=e?Zme(s):String(s).trim();a!==s&&delete t[s],t[a]=S_(i),n[a]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return nt.forEach(this,(n,i)=>{n!=null&&n!==!1&&(t[i]=e&&nt.isArray(n)?n.join(", "):n)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+": "+t).join(` +`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach(i=>n.set(i)),n}static accessor(e){const n=(this[PK]=this[PK]={accessors:{}}).accessors,i=this.prototype;function s(o){const a=M5(o);n[a]||(Jme(i,o),n[a]=!0)}return nt.isArray(e)?e.forEach(s):s(e),this}}I_.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),nt.reduceDescriptors(I_.prototype,({value:r},e)=>{let t=e[0].toUpperCase()+e.slice(1);return{get:()=>r,set(n){this[t]=n}}}),nt.freezeMethods(I_);const nd=I_;function ER(r,e){const t=this||xR,n=e||t,i=nd.from(n.headers);let s=n.data;return nt.forEach(r,function(a){s=a.call(t,s,i.normalize(),e?e.status:void 0)}),i.normalize(),s}function OK(r){return!!(r&&r.__CANCEL__)}function N5(r,e,t){_n.call(this,r??"canceled",_n.ERR_CANCELED,e,t),this.name="CanceledError"}nt.inherits(N5,_n,{__CANCEL__:!0});function Yme(r,e,t){const n=t.config.validateStatus;!t.status||!n||n(t.status)?r(t):e(new _n("Request failed with status code "+t.status,[_n.ERR_BAD_REQUEST,_n.ERR_BAD_RESPONSE][Math.floor(t.status/100)-4],t.config,t.request,t))}const Qme=Dh.hasStandardBrowserEnv?{write(r,e,t,n,i,s){const o=[r+"="+encodeURIComponent(e)];nt.isNumber(t)&&o.push("expires="+new Date(t).toGMTString()),nt.isString(n)&&o.push("path="+n),nt.isString(i)&&o.push("domain="+i),s===!0&&o.push("secure"),document.cookie=o.join("; ")},read(r){const e=document.cookie.match(new RegExp("(^|;\\s*)("+r+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(r){this.write(r,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function Xme(r){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(r)}function e2e(r,e){return e?r.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):r}function DK(r,e){return r&&!Xme(e)?e2e(r,e):e}const t2e=Dh.hasStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let n;function i(s){let o=s;return e&&(t.setAttribute("href",o),o=t.href),t.setAttribute("href",o),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:t.pathname.charAt(0)==="/"?t.pathname:"/"+t.pathname}}return n=i(window.location.href),function(o){const a=nt.isString(o)?i(o):o;return a.protocol===n.protocol&&a.host===n.host}}():function(){return function(){return!0}}();function r2e(r){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(r);return e&&e[1]||""}function n2e(r,e){r=r||10;const t=new Array(r),n=new Array(r);let i=0,s=0,o;return e=e!==void 0?e:1e3,function(l){const u=Date.now(),h=n[s];o||(o=u),t[i]=l,n[i]=u;let p=s,g=0;for(;p!==i;)g+=t[p++],p=p%r;if(i=(i+1)%r,i===s&&(s=(s+1)%r),u-o{const s=i.loaded,o=i.lengthComputable?i.total:void 0,a=s-t,l=n(a),u=s<=o;t=s;const h={loaded:s,total:o,progress:o?s/o:void 0,bytes:a,rate:l||void 0,estimated:l&&o&&u?(o-s)/l:void 0,event:i};h[e?"download":"upload"]=!0,r(h)}}const AR={http:Pme,xhr:typeof XMLHttpRequest<"u"&&function(r){return new Promise(function(t,n){let i=r.data;const s=nd.from(r.headers).normalize();let{responseType:o,withXSRFToken:a}=r,l;function u(){r.cancelToken&&r.cancelToken.unsubscribe(l),r.signal&&r.signal.removeEventListener("abort",l)}let h;if(nt.isFormData(i)){if(Dh.hasStandardBrowserEnv||Dh.hasStandardBrowserWebWorkerEnv)s.setContentType(!1);else if((h=s.getContentType())!==!1){const[C,...T]=h?h.split(";").map(k=>k.trim()).filter(Boolean):[];s.setContentType([C||"multipart/form-data",...T].join("; "))}}let p=new XMLHttpRequest;if(r.auth){const C=r.auth.username||"",T=r.auth.password?unescape(encodeURIComponent(r.auth.password)):"";s.set("Authorization","Basic "+btoa(C+":"+T))}const g=DK(r.baseURL,r.url);p.open(r.method.toUpperCase(),TK(g,r.params,r.paramsSerializer),!0),p.timeout=r.timeout;function w(){if(!p)return;const C=nd.from("getAllResponseHeaders"in p&&p.getAllResponseHeaders()),k={data:!o||o==="text"||o==="json"?p.responseText:p.response,status:p.status,statusText:p.statusText,headers:C,config:r,request:p};Yme(function(O){t(O),u()},function(O){n(O),u()},k),p=null}if("onloadend"in p?p.onloadend=w:p.onreadystatechange=function(){!p||p.readyState!==4||p.status===0&&!(p.responseURL&&p.responseURL.indexOf("file:")===0)||setTimeout(w)},p.onabort=function(){p&&(n(new _n("Request aborted",_n.ECONNABORTED,r,p)),p=null)},p.onerror=function(){n(new _n("Network Error",_n.ERR_NETWORK,r,p)),p=null},p.ontimeout=function(){let T=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const k=r.transitional||kK;r.timeoutErrorMessage&&(T=r.timeoutErrorMessage),n(new _n(T,k.clarifyTimeoutError?_n.ETIMEDOUT:_n.ECONNABORTED,r,p)),p=null},Dh.hasStandardBrowserEnv&&(a&&nt.isFunction(a)&&(a=a(r)),a||a!==!1&&t2e(g))){const C=r.xsrfHeaderName&&r.xsrfCookieName&&Qme.read(r.xsrfCookieName);C&&s.set(r.xsrfHeaderName,C)}i===void 0&&s.setContentType(null),"setRequestHeader"in p&&nt.forEach(s.toJSON(),function(T,k){p.setRequestHeader(k,T)}),nt.isUndefined(r.withCredentials)||(p.withCredentials=!!r.withCredentials),o&&o!=="json"&&(p.responseType=r.responseType),typeof r.onDownloadProgress=="function"&&p.addEventListener("progress",$K(r.onDownloadProgress,!0)),typeof r.onUploadProgress=="function"&&p.upload&&p.upload.addEventListener("progress",$K(r.onUploadProgress)),(r.cancelToken||r.signal)&&(l=C=>{p&&(n(!C||C.type?new N5(null,r,p):C),p.abort(),p=null)},r.cancelToken&&r.cancelToken.subscribe(l),r.signal&&(r.signal.aborted?l():r.signal.addEventListener("abort",l)));const y=r2e(g);if(y&&Dh.protocols.indexOf(y)===-1){n(new _n("Unsupported protocol "+y+":",_n.ERR_BAD_REQUEST,r));return}p.send(i||null)})}};nt.forEach(AR,(r,e)=>{if(r){try{Object.defineProperty(r,"name",{value:e})}catch{}Object.defineProperty(r,"adapterName",{value:e})}});const BK=r=>`- ${r}`,i2e=r=>nt.isFunction(r)||r===null||r===!1,LK={getAdapter:r=>{r=nt.isArray(r)?r:[r];const{length:e}=r;let t,n;const i={};for(let s=0;s`adapter ${a} `+(l===!1?"is not supported by the environment":"is not available in the build"));let o=e?s.length>1?`since : +`+s.map(BK).join(` +`):" "+BK(s[0]):"as no adapter specified";throw new _n("There is no suitable adapter to dispatch the request "+o,"ERR_NOT_SUPPORT")}return n},adapters:AR};function CR(r){if(r.cancelToken&&r.cancelToken.throwIfRequested(),r.signal&&r.signal.aborted)throw new N5(null,r)}function UK(r){return CR(r),r.headers=nd.from(r.headers),r.data=ER.call(r,r.transformRequest),["post","put","patch"].indexOf(r.method)!==-1&&r.headers.setContentType("application/x-www-form-urlencoded",!1),LK.getAdapter(r.adapter||xR.adapter)(r).then(function(n){return CR(r),n.data=ER.call(r,r.transformResponse,n),n.headers=nd.from(n.headers),n},function(n){return OK(n)||(CR(r),n&&n.response&&(n.response.data=ER.call(r,r.transformResponse,n.response),n.response.headers=nd.from(n.response.headers))),Promise.reject(n)})}const FK=r=>r instanceof nd?{...r}:r;function _w(r,e){e=e||{};const t={};function n(u,h,p){return nt.isPlainObject(u)&&nt.isPlainObject(h)?nt.merge.call({caseless:p},u,h):nt.isPlainObject(h)?nt.merge({},h):nt.isArray(h)?h.slice():h}function i(u,h,p){if(nt.isUndefined(h)){if(!nt.isUndefined(u))return n(void 0,u,p)}else return n(u,h,p)}function s(u,h){if(!nt.isUndefined(h))return n(void 0,h)}function o(u,h){if(nt.isUndefined(h)){if(!nt.isUndefined(u))return n(void 0,u)}else return n(void 0,h)}function a(u,h,p){if(p in e)return n(u,h);if(p in r)return n(void 0,u)}const l={url:s,method:s,data:s,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:a,headers:(u,h)=>i(FK(u),FK(h),!0)};return nt.forEach(Object.keys(Object.assign({},r,e)),function(h){const p=l[h]||i,g=p(r[h],e[h],h);nt.isUndefined(g)&&p!==a||(t[h]=g)}),t}const jK="1.6.8",SR={};["object","boolean","number","function","string","symbol"].forEach((r,e)=>{SR[r]=function(n){return typeof n===r||"a"+(e<1?"n ":" ")+r}});const zK={};SR.transitional=function(e,t,n){function i(s,o){return"[Axios v"+jK+"] Transitional option '"+s+"'"+o+(n?". "+n:"")}return(s,o,a)=>{if(e===!1)throw new _n(i(o," has been removed"+(t?" in "+t:"")),_n.ERR_DEPRECATED);return t&&!zK[o]&&(zK[o]=!0,console.warn(i(o," has been deprecated since v"+t+" and will be removed in the near future"))),e?e(s,o,a):!0}};function s2e(r,e,t){if(typeof r!="object")throw new _n("options must be an object",_n.ERR_BAD_OPTION_VALUE);const n=Object.keys(r);let i=n.length;for(;i-- >0;){const s=n[i],o=e[s];if(o){const a=r[s],l=a===void 0||o(a,s,r);if(l!==!0)throw new _n("option "+s+" must be "+l,_n.ERR_BAD_OPTION_VALUE);continue}if(t!==!0)throw new _n("Unknown option "+s,_n.ERR_BAD_OPTION)}}const IR={assertOptions:s2e,validators:SR},wp=IR.validators;class T_{constructor(e){this.defaults=e,this.interceptors={request:new RK,response:new RK}}async request(e,t){try{return await this._request(e,t)}catch(n){if(n instanceof Error){let i;Error.captureStackTrace?Error.captureStackTrace(i={}):i=new Error;const s=i.stack?i.stack.replace(/^.+\n/,""):"";n.stack?s&&!String(n.stack).endsWith(s.replace(/^.+\n.+\n/,""))&&(n.stack+=` +`+s):n.stack=s}throw n}}_request(e,t){typeof e=="string"?(t=t||{},t.url=e):t=e||{},t=_w(this.defaults,t);const{transitional:n,paramsSerializer:i,headers:s}=t;n!==void 0&&IR.assertOptions(n,{silentJSONParsing:wp.transitional(wp.boolean),forcedJSONParsing:wp.transitional(wp.boolean),clarifyTimeoutError:wp.transitional(wp.boolean)},!1),i!=null&&(nt.isFunction(i)?t.paramsSerializer={serialize:i}:IR.assertOptions(i,{encode:wp.function,serialize:wp.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let o=s&&nt.merge(s.common,s[t.method]);s&&nt.forEach(["delete","get","head","post","put","patch","common"],y=>{delete s[y]}),t.headers=nd.concat(o,s);const a=[];let l=!0;this.interceptors.request.forEach(function(C){typeof C.runWhen=="function"&&C.runWhen(t)===!1||(l=l&&C.synchronous,a.unshift(C.fulfilled,C.rejected))});const u=[];this.interceptors.response.forEach(function(C){u.push(C.fulfilled,C.rejected)});let h,p=0,g;if(!l){const y=[UK.bind(this),void 0];for(y.unshift.apply(y,a),y.push.apply(y,u),g=y.length,h=Promise.resolve(t);p{if(!n._listeners)return;let s=n._listeners.length;for(;s-- >0;)n._listeners[s](i);n._listeners=null}),this.promise.then=i=>{let s;const o=new Promise(a=>{n.subscribe(a),s=a}).then(i);return o.cancel=function(){n.unsubscribe(s)},o},e(function(s,o,a){n.reason||(n.reason=new N5(s,o,a),t(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);t!==-1&&this._listeners.splice(t,1)}static source(){let e;return{token:new TR(function(i){e=i}),cancel:e}}}const o2e=TR;function a2e(r){return function(t){return r.apply(null,t)}}function c2e(r){return nt.isObject(r)&&r.isAxiosError===!0}const RR={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(RR).forEach(([r,e])=>{RR[e]=r});const l2e=RR;function HK(r){const e=new R_(r),t=uK(R_.prototype.request,e);return nt.extend(t,R_.prototype,e,{allOwnKeys:!0}),nt.extend(t,e,null,{allOwnKeys:!0}),t.create=function(i){return HK(_w(r,i))},t}const Ds=HK(xR);Ds.Axios=R_,Ds.CanceledError=N5,Ds.CancelToken=o2e,Ds.isCancel=OK,Ds.VERSION=jK,Ds.toFormData=C_,Ds.AxiosError=_n,Ds.Cancel=Ds.CanceledError,Ds.all=function(e){return Promise.all(e)},Ds.spread=a2e,Ds.isAxiosError=c2e,Ds.mergeConfig=_w,Ds.AxiosHeaders=nd,Ds.formToJSON=r=>NK(nt.isHTMLForm(r)?new FormData(r):r),Ds.getAdapter=LK.getAdapter,Ds.HttpStatusCode=l2e,Ds.default=Ds;const u2e=Ds;function P5(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`Wrong positive integer: ${r}`)}function h2e(r){if(typeof r!="boolean")throw new Error(`Expected boolean, not ${r}`)}function f2e(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function kR(r,...e){if(!f2e(r))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(r.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${r.length}`)}function d2e(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");P5(r.outputLen),P5(r.blockLen)}function MR(r,e=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(e&&r.finished)throw new Error("Hash#digest() has already been called")}function qK(r,e){kR(r);const t=e.outputLen;if(r.length>WK&k_)}:{h:Number(r>>WK&k_)|0,l:Number(r&k_)|0}}function g2e(r,e=!1){let t=new Uint32Array(r.length),n=new Uint32Array(r.length);for(let i=0;ir<>>32-t,b2e=(r,e,t)=>e<>>32-t,w2e=(r,e,t)=>e<>>64-t,v2e=(r,e,t)=>r<>>64-t;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const y2e=r=>new Uint32Array(r.buffer,r.byteOffset,Math.floor(r.byteLength/4));function x2e(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}if(!(new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68))throw new Error("Non little-endian hardware is not supported");function VK(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function GK(r){if(typeof r=="string"&&(r=VK(r)),!x2e(r))throw new Error(`expected Uint8Array, got ${typeof r}`);return r}let _2e=class{clone(){return this._cloneInto()}};function E2e(r){const e=n=>r().update(GK(n)).digest(),t=r();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>r(),e}const[KK,ZK,JK]=[[],[],[]],A2e=BigInt(0),O5=BigInt(1),C2e=BigInt(2),S2e=BigInt(7),I2e=BigInt(256),T2e=BigInt(113);for(let r=0,e=O5,t=1,n=0;r<24;r++){[t,n]=[n,(2*t+3*n)%5],KK.push(2*(5*n+t)),ZK.push((r+1)*(r+2)/2%64);let i=A2e;for(let s=0;s<7;s++)e=(e<>S2e)*T2e)%I2e,e&C2e&&(i^=O5<<(O5<t>32?w2e(r,e,t):m2e(r,e,t),QK=(r,e,t)=>t>32?v2e(r,e,t):b2e(r,e,t);function M2e(r,e=24){const t=new Uint32Array(10);for(let n=24-e;n<24;n++){for(let o=0;o<10;o++)t[o]=r[o]^r[o+10]^r[o+20]^r[o+30]^r[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,l=(o+2)%10,u=t[l],h=t[l+1],p=YK(u,h,1)^t[a],g=QK(u,h,1)^t[a+1];for(let w=0;w<50;w+=10)r[o+w]^=p,r[o+w+1]^=g}let i=r[2],s=r[3];for(let o=0;o<24;o++){const a=ZK[o],l=YK(i,s,a),u=QK(i,s,a),h=KK[o];i=r[h],s=r[h+1],r[h]=l,r[h+1]=u}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)t[a]=r[o+a];for(let a=0;a<10;a++)r[o+a]^=~t[(a+2)%10]&t[(a+4)%10]}r[0]^=R2e[n],r[1]^=k2e[n]}t.fill(0)}let XK=class extends _2e{constructor(e,t,n,i=!1,s=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=n,this.enableXOF=i,this.rounds=s,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,P5(n),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=y2e(this.state)}keccak(){M2e(this.state32,this.rounds),this.posOut=0,this.pos=0}update(e){MR(this);const{blockLen:t,state:n}=this;e=GK(e);const i=e.length;for(let s=0;s=n&&this.keccak();const o=Math.min(n-this.posOut,s-i);e.set(t.subarray(this.posOut,this.posOut+o),i),this.posOut+=o,i+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return P5(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(qK(e,this),this.finished)throw new 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){const{blockLen:t,suffix:n,outputLen:i,rounds:s,enableXOF:o}=this;return e||(e=new XK(t,n,i,o,s)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=s,e.suffix=n,e.outputLen=i,e.enableXOF=o,e.destroyed=this.destroyed,e}};const M_=(r,e,t)=>E2e(()=>new XK(e,r,t)),N2e=M_(1,144,224/8),eZ=M_(1,136,256/8),P2e=M_(1,104,384/8),O2e=M_(1,72,512/8);NR.bool,NR.bytes;function N_(r){return e=>(NR.bytes(e),r(e))}(()=>{const r=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0,e=typeof module<"u"&&typeof module.require=="function"&&module.require.bind(module);return{node:e&&!r?e("crypto"):void 0,web:r}})(),N_(N2e);const D2e=(()=>{const r=N_(eZ);return r.create=eZ.create,r})();N_(P2e),N_(O2e);const $2e=4001,B2e=4100,L2e=4200,U2e=4900,F2e=4901,j2e=1002,z2e=1003,H2e=1006,q2e=1100,W2e=1200,P_=-32700,O_=-32600,D_=-32601,$_=-32602,B_=-32603,L_=-32e3,U_=-32001,F_=-32002,j_=-32003,z_=-32004,H_=-32005,q_=-32006;class D5 extends Error{constructor(e,t){super(e),this.innerError=t,this.name=this.constructor.name,typeof Error.captureStackTrace=="function"?Error.captureStackTrace(new.target.constructor):this.stack=new Error().stack}static convertToString(e,t=!1){if(e==null)return"undefined";const n=JSON.stringify(e,(i,s)=>typeof s=="bigint"?s.toString():s);return t&&["bigint","string"].includes(typeof e)?n.replace(/['\\"]+/g,""):n}toJSON(){return{name:this.name,code:this.code,message:this.message,innerError:this.innerError}}}class PR extends D5{constructor(e,t){super(`Invalid value given "${D5.convertToString(e,!0)}". Error: ${t}.`),this.name=this.constructor.name}}class OR extends PR{constructor(e){super(e,"can not parse as byte data"),this.code=j2e}}class V2e extends PR{constructor(e){super(e,"can not parse as number data"),this.code=z2e}}class G2e extends PR{constructor(e){super(e,"can not be converted to hex"),this.code=H2e}}const K2e="An Rpc error has occured with a code of *code*",Cl={[P_]:{message:"Parse error",description:"Invalid JSON"},[O_]:{message:"Invalid request",description:"JSON is not a valid request object "},[D_]:{message:"Method not found",description:"Method does not exist "},[$_]:{message:"Invalid params",description:"Invalid method parameters"},[B_]:{message:"Internal error",description:"Internal JSON-RPC error"},[L_]:{message:"Invalid input",description:"Missing or invalid parameters"},[U_]:{message:"Resource not found",description:"Requested resource not found"},[F_]:{message:"Resource unavailable",description:"Requested resource not available"},[j_]:{message:"Transaction rejected",description:"Transaction creation failed"},[z_]:{message:"Method not supported",description:"Method is not implemented"},[H_]:{message:"Limit exceeded",description:"Request exceeds defined limit"},[q_]:{message:"JSON-RPC version not supported",description:"Version of JSON-RPC protocol is not supported"},[$2e]:{name:"User Rejected Request",message:"The user rejected the request."},[B2e]:{name:"Unauthorized",message:"The requested method and/or account has not been authorized by the user."},[L2e]:{name:"Unsupported Method",message:"The Provider does not support the requested method."},[U2e]:{name:"Disconnected",message:"The Provider is disconnected from all chains."},[F2e]:{name:"Chain Disconnected",message:"The Provider is not connected to the requested chain."},"0-999":{name:"",message:"Not used."},1e3:{name:"Normal Closure",message:"The connection successfully completed the purpose for which it was created."},1001:{name:"Going Away",message:"The endpoint is going away, either because of a server failure or because the browser is navigating away from the page that opened the connection."},1002:{name:"Protocol error",message:"The endpoint is terminating the connection due to a protocol error."},1003:{name:"Unsupported Data",message:"The connection is being terminated because the endpoint received data of a type it cannot accept. (For example, a text-only endpoint received binary data.)"},1004:{name:"Reserved",message:"Reserved. A meaning might be defined in the future."},1005:{name:"No Status Rcvd",message:"Reserved. Indicates that no status code was provided even though one was expected."},1006:{name:"Abnormal Closure",message:"Reserved. Indicates that a connection was closed abnormally (that is, with no close frame being sent) when a status code is expected."},1007:{name:"Invalid frame payload data",message:"The endpoint is terminating the connection because a message was received that contained inconsistent data (e.g., non-UTF-8 data within a text message)."},1008:{name:"Policy Violation",message:"The endpoint is terminating the connection because it received a message that violates its policy. This is a generic status code, used when codes 1003 and 1009 are not suitable."},1009:{name:"Message Too Big",message:"The endpoint is terminating the connection because a data frame was received that is too large."},1010:{name:"Mandatory Ext.",message:"The client is terminating the connection because it expected the server to negotiate one or more extension, but the server didn't."},1011:{name:"Internal Error",message:"The server is terminating the connection because it encountered an unexpected condition that prevented it from fulfilling the request."},1012:{name:"Service Restart",message:"The server is terminating the connection because it is restarting."},1013:{name:"Try Again Later",message:"The server is terminating the connection due to a temporary condition, e.g. it is overloaded and is casting off some of its clients."},1014:{name:"Bad Gateway",message:"The server was acting as a gateway or proxy and received an invalid response from the upstream server. This is similar to 502 HTTP Status Code."},1015:{name:"TLS handshake",message:"Reserved. Indicates that the connection was closed due to a failure to perform a TLS handshake (e.g., the server certificate can't be verified)."},"1016-2999":{name:"",message:"For definition by future revisions of the WebSocket Protocol specification, and for definition by extension specifications."},"3000-3999":{name:"",message:"For use by libraries, frameworks, and applications. These status codes are registered directly with IANA. The interpretation of these codes is undefined by the WebSocket protocol."},"4000-4999":{name:"",message:"For private use, and thus can't be registered. Such codes can be used by prior agreements between WebSocket applications. The interpretation of these codes is undefined by the WebSocket protocol."}};class Sl extends D5{constructor(e,t){super(t??K2e.replace("*code*",e.error.code.toString())),this.code=e.error.code,this.id=e.id,this.jsonrpc=e.jsonrpc,this.jsonRpcError=e.error}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{error:this.jsonRpcError,id:this.id,jsonRpc:this.jsonrpc})}}class Z2e extends Sl{constructor(e){super(e,Cl[P_].message),this.code=P_}}class J2e extends Sl{constructor(e){super(e,Cl[O_].message),this.code=O_}}class Y2e extends Sl{constructor(e){super(e,Cl[D_].message),this.code=D_}}class Q2e extends Sl{constructor(e){super(e,Cl[$_].message),this.code=$_}}class X2e extends Sl{constructor(e){super(e,Cl[B_].message),this.code=B_}}class ebe extends Sl{constructor(e){super(e,Cl[L_].message),this.code=L_}}class tbe extends Sl{constructor(e){super(e,Cl[z_].message),this.code=z_}}class rbe extends Sl{constructor(e){super(e,Cl[F_].message),this.code=F_}}class nbe extends Sl{constructor(e){super(e,Cl[U_].message),this.code=U_}}class ibe extends Sl{constructor(e){super(e,Cl[q_].message),this.code=q_}}class sbe extends Sl{constructor(e){super(e,Cl[j_].message),this.code=j_}}class obe extends Sl{constructor(e){super(e,Cl[H_].message),this.code=H_}}const Il=new Map;Il.set(P_,{error:Z2e}),Il.set(O_,{error:J2e}),Il.set(D_,{error:Y2e}),Il.set($_,{error:Q2e}),Il.set(B_,{error:X2e}),Il.set(L_,{error:ebe}),Il.set(z_,{error:tbe}),Il.set(F_,{error:rbe}),Il.set(j_,{error:sbe}),Il.set(U_,{error:nbe}),Il.set(q_,{error:ibe}),Il.set(H_,{error:obe});class abe extends D5{constructor(e){super(`Format for the type ${e} is unsupported`),this.type=e,this.code=W2e}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{type:this.type})}}var Pn;(function(r){r.assertEqual=i=>i;function e(i){}r.assertIs=e;function t(i){throw new Error}r.assertNever=t,r.arrayToEnum=i=>{const s={};for(const o of i)s[o]=o;return s},r.getValidEnumValues=i=>{const s=r.objectKeys(i).filter(a=>typeof i[i[a]]!="number"),o={};for(const a of s)o[a]=i[a];return r.objectValues(o)},r.objectValues=i=>r.objectKeys(i).map(function(s){return i[s]}),r.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{const s=[];for(const o in i)Object.prototype.hasOwnProperty.call(i,o)&&s.push(o);return s},r.find=(i,s)=>{for(const o of i)if(s(o))return o},r.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&isFinite(i)&&Math.floor(i)===i;function n(i,s=" | "){return i.map(o=>typeof o=="string"?`'${o}'`:o).join(s)}r.joinValues=n,r.jsonStringifyReplacer=(i,s)=>typeof s=="bigint"?s.toString():s})(Pn||(Pn={}));var DR;(function(r){r.mergeShapes=(e,t)=>({...e,...t})})(DR||(DR={}));const ir=Pn.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),vp=r=>{switch(typeof r){case"undefined":return ir.undefined;case"string":return ir.string;case"number":return isNaN(r)?ir.nan:ir.number;case"boolean":return ir.boolean;case"function":return ir.function;case"bigint":return ir.bigint;case"symbol":return ir.symbol;case"object":return Array.isArray(r)?ir.array:r===null?ir.null:r.then&&typeof r.then=="function"&&r.catch&&typeof r.catch=="function"?ir.promise:typeof Map<"u"&&r instanceof Map?ir.map:typeof Set<"u"&&r instanceof Set?ir.set:typeof Date<"u"&&r instanceof Date?ir.date:ir.object;default:return ir.unknown}},Rt=Pn.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),cbe=r=>JSON.stringify(r,null,2).replace(/"([^"]+)":/g,"$1:");class Au extends Error{constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const t=e||function(s){return s.message},n={_errors:[]},i=s=>{for(const o of s.issues)if(o.code==="invalid_union")o.unionErrors.map(i);else if(o.code==="invalid_return_type")i(o.returnTypeError);else if(o.code==="invalid_arguments")i(o.argumentsError);else if(o.path.length===0)n._errors.push(t(o));else{let a=n,l=0;for(;lt.message){const t={},n=[];for(const i of this.issues)i.path.length>0?(t[i.path[0]]=t[i.path[0]]||[],t[i.path[0]].push(e(i))):n.push(e(i));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}}Au.create=r=>new Au(r);const $5=(r,e)=>{let t;switch(r.code){case Rt.invalid_type:r.received===ir.undefined?t="Required":t=`Expected ${r.expected}, received ${r.received}`;break;case Rt.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(r.expected,Pn.jsonStringifyReplacer)}`;break;case Rt.unrecognized_keys:t=`Unrecognized key(s) in object: ${Pn.joinValues(r.keys,", ")}`;break;case Rt.invalid_union:t="Invalid input";break;case Rt.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${Pn.joinValues(r.options)}`;break;case Rt.invalid_enum_value:t=`Invalid enum value. Expected ${Pn.joinValues(r.options)}, received '${r.received}'`;break;case Rt.invalid_arguments:t="Invalid function arguments";break;case Rt.invalid_return_type:t="Invalid function return type";break;case Rt.invalid_date:t="Invalid date";break;case Rt.invalid_string:typeof r.validation=="object"?"includes"in r.validation?(t=`Invalid input: must include "${r.validation.includes}"`,typeof r.validation.position=="number"&&(t=`${t} at one or more positions greater than or equal to ${r.validation.position}`)):"startsWith"in r.validation?t=`Invalid input: must start with "${r.validation.startsWith}"`:"endsWith"in r.validation?t=`Invalid input: must end with "${r.validation.endsWith}"`:Pn.assertNever(r.validation):r.validation!=="regex"?t=`Invalid ${r.validation}`:t="Invalid";break;case Rt.too_small:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at least":"more than"} ${r.minimum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at least":"over"} ${r.minimum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${r.minimum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(r.minimum))}`:t="Invalid input";break;case Rt.too_big:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at most":"less than"} ${r.maximum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at most":"under"} ${r.maximum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="bigint"?t=`BigInt must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly":r.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(r.maximum))}`:t="Invalid input";break;case Rt.custom:t="Invalid input";break;case Rt.invalid_intersection_types:t="Intersection results could not be merged";break;case Rt.not_multiple_of:t=`Number must be a multiple of ${r.multipleOf}`;break;case Rt.not_finite:t="Number must be finite";break;default:t=e.defaultError,Pn.assertNever(r)}return{message:t}};let tZ=$5;function lbe(r){tZ=r}function W_(){return tZ}const V_=r=>{const{data:e,path:t,errorMaps:n,issueData:i}=r,s=[...t,...i.path||[]],o={...i,path:s};let a="";const l=n.filter(u=>!!u).slice().reverse();for(const u of l)a=u(o,{data:e,defaultError:a}).message;return{...i,path:s,message:i.message||a}},ube=[];function sr(r,e){const t=V_({issueData:e,data:r.data,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,W_(),$5].filter(n=>!!n)});r.common.issues.push(t)}class oa{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){const n=[];for(const i of t){if(i.status==="aborted")return Lr;i.status==="dirty"&&e.dirty(),n.push(i.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){const n=[];for(const i of t)n.push({key:await i.key,value:await i.value});return oa.mergeObjectSync(e,n)}static mergeObjectSync(e,t){const n={};for(const i of t){const{key:s,value:o}=i;if(s.status==="aborted"||o.status==="aborted")return Lr;s.status==="dirty"&&e.dirty(),o.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof o.value<"u"||i.alwaysSet)&&(n[s.value]=o.value)}return{status:e.value,value:n}}}const Lr=Object.freeze({status:"aborted"}),rZ=r=>({status:"dirty",value:r}),Ca=r=>({status:"valid",value:r}),$R=r=>r.status==="aborted",BR=r=>r.status==="dirty",B5=r=>r.status==="valid",G_=r=>typeof Promise<"u"&&r instanceof Promise;var Ar;(function(r){r.errToObj=e=>typeof e=="string"?{message:e}:e||{},r.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(Ar||(Ar={}));class $h{constructor(e,t,n,i){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=i}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const nZ=(r,e)=>{if(B5(e))return{success:!0,data:e.value};if(!r.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new Au(r.common.issues);return this._error=t,this._error}}};function Vr(r){if(!r)return{};const{errorMap:e,invalid_type_error:t,required_error:n,description:i}=r;if(e&&(t||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:i}:{errorMap:(o,a)=>o.code!=="invalid_type"?{message:a.defaultError}:typeof a.data>"u"?{message:n??a.defaultError}:{message:t??a.defaultError},description:i}}class Qr{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return vp(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:vp(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new oa,ctx:{common:e.parent.common,data:e.data,parsedType:vp(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(G_(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){var n;const i={common:{issues:[],async:(n=t==null?void 0:t.async)!==null&&n!==void 0?n:!1,contextualErrorMap:t==null?void 0:t.errorMap},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:vp(e)},s=this._parseSync({data:e,path:i.path,parent:i});return nZ(i,s)}async parseAsync(e,t){const n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){const n={common:{issues:[],contextualErrorMap:t==null?void 0:t.errorMap,async:!0},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:vp(e)},i=this._parse({data:e,path:n.path,parent:n}),s=await(G_(i)?i:Promise.resolve(i));return nZ(n,s)}refine(e,t){const n=i=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(i):t;return this._refinement((i,s)=>{const o=e(i),a=()=>s.addIssue({code:Rt.custom,...n(i)});return typeof Promise<"u"&&o instanceof Promise?o.then(l=>l?!0:(a(),!1)):o?!0:(a(),!1)})}refinement(e,t){return this._refinement((n,i)=>e(n)?!0:(i.addIssue(typeof t=="function"?t(n,i):t),!1))}_refinement(e){return new Iu({schema:this,typeName:Mr.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return sd.create(this,this._def)}nullable(){return fg.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Su.create(this,this._def)}promise(){return Sw.create(this,this._def)}or(e){return j5.create([this,e],this._def)}and(e){return z5.create(this,e,this._def)}transform(e){return new Iu({...Vr(this._def),schema:this,typeName:Mr.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e=="function"?e:()=>e;return new G5({...Vr(this._def),innerType:this,defaultValue:t,typeName:Mr.ZodDefault})}brand(){return new sZ({typeName:Mr.ZodBranded,type:this,...Vr(this._def)})}catch(e){const t=typeof e=="function"?e:()=>e;return new X_({...Vr(this._def),innerType:this,catchValue:t,typeName:Mr.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return K5.create(this,e)}readonly(){return tE.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const hbe=/^c[^\s-]{8,}$/i,fbe=/^[a-z][a-z0-9]*$/,dbe=/^[0-9A-HJKMNP-TV-Z]{26}$/,pbe=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,gbe=/^(?!\.)(?!.*\.\.)([A-Z0-9_+-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,mbe="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let LR;const bbe=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,wbe=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,vbe=r=>r.precision?r.offset?new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${r.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${r.precision}}Z$`):r.precision===0?r.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):r.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$");function ybe(r,e){return!!((e==="v4"||!e)&&bbe.test(r)||(e==="v6"||!e)&&wbe.test(r))}class Cu extends Qr{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==ir.string){const s=this._getOrReturnCtx(e);return sr(s,{code:Rt.invalid_type,expected:ir.string,received:s.parsedType}),Lr}const n=new oa;let i;for(const s of this._def.checks)if(s.kind==="min")e.data.lengths.value&&(i=this._getOrReturnCtx(e,i),sr(i,{code:Rt.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){const o=e.data.length>s.value,a=e.data.lengthe.test(i),{validation:t,code:Rt.invalid_string,...Ar.errToObj(n)})}_addCheck(e){return new Cu({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...Ar.errToObj(e)})}url(e){return this._addCheck({kind:"url",...Ar.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...Ar.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...Ar.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...Ar.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...Ar.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...Ar.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...Ar.errToObj(e)})}datetime(e){var t;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,offset:(t=e==null?void 0:e.offset)!==null&&t!==void 0?t:!1,...Ar.errToObj(e==null?void 0:e.message)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...Ar.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t==null?void 0:t.position,...Ar.errToObj(t==null?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...Ar.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...Ar.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...Ar.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...Ar.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...Ar.errToObj(t)})}nonempty(e){return this.min(1,Ar.errToObj(e))}trim(){return new Cu({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Cu({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Cu({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get minLength(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value{var e;return new Cu({checks:[],typeName:Mr.ZodString,coerce:(e=r==null?void 0:r.coerce)!==null&&e!==void 0?e:!1,...Vr(r)})};function xbe(r,e){const t=(r.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,i=t>n?t:n,s=parseInt(r.toFixed(i).replace(".","")),o=parseInt(e.toFixed(i).replace(".",""));return s%o/Math.pow(10,i)}class yp extends Qr{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==ir.number){const s=this._getOrReturnCtx(e);return sr(s,{code:Rt.invalid_type,expected:ir.number,received:s.parsedType}),Lr}let n;const i=new oa;for(const s of this._def.checks)s.kind==="int"?Pn.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),sr(n,{code:Rt.invalid_type,expected:"integer",received:"float",message:s.message}),i.dirty()):s.kind==="min"?(s.inclusive?e.datas.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),sr(n,{code:Rt.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="multipleOf"?xbe(e.data,s.value)!==0&&(n=this._getOrReturnCtx(e,n),sr(n,{code:Rt.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),sr(n,{code:Rt.not_finite,message:s.message}),i.dirty()):Pn.assertNever(s);return{status:i.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,Ar.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Ar.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Ar.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Ar.toString(t))}setLimit(e,t,n,i){return new yp({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:Ar.toString(i)}]})}_addCheck(e){return new yp({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:Ar.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Ar.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Ar.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Ar.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Ar.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Ar.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:Ar.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Ar.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Ar.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.valuee.kind==="int"||e.kind==="multipleOf"&&Pn.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(t===null||n.value>t)&&(t=n.value):n.kind==="max"&&(e===null||n.valuenew yp({checks:[],typeName:Mr.ZodNumber,coerce:(r==null?void 0:r.coerce)||!1,...Vr(r)});class xp extends Qr{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce&&(e.data=BigInt(e.data)),this._getType(e)!==ir.bigint){const s=this._getOrReturnCtx(e);return sr(s,{code:Rt.invalid_type,expected:ir.bigint,received:s.parsedType}),Lr}let n;const i=new oa;for(const s of this._def.checks)s.kind==="min"?(s.inclusive?e.datas.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),sr(n,{code:Rt.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),i.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),sr(n,{code:Rt.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):Pn.assertNever(s);return{status:i.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,Ar.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Ar.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Ar.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Ar.toString(t))}setLimit(e,t,n,i){return new xp({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:Ar.toString(i)}]})}_addCheck(e){return new xp({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Ar.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Ar.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Ar.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Ar.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Ar.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value{var e;return new xp({checks:[],typeName:Mr.ZodBigInt,coerce:(e=r==null?void 0:r.coerce)!==null&&e!==void 0?e:!1,...Vr(r)})};class L5 extends Qr{_parse(e){if(this._def.coerce&&(e.data=Boolean(e.data)),this._getType(e)!==ir.boolean){const n=this._getOrReturnCtx(e);return sr(n,{code:Rt.invalid_type,expected:ir.boolean,received:n.parsedType}),Lr}return Ca(e.data)}}L5.create=r=>new L5({typeName:Mr.ZodBoolean,coerce:(r==null?void 0:r.coerce)||!1,...Vr(r)});class lg extends Qr{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==ir.date){const s=this._getOrReturnCtx(e);return sr(s,{code:Rt.invalid_type,expected:ir.date,received:s.parsedType}),Lr}if(isNaN(e.data.getTime())){const s=this._getOrReturnCtx(e);return sr(s,{code:Rt.invalid_date}),Lr}const n=new oa;let i;for(const s of this._def.checks)s.kind==="min"?e.data.getTime()s.value&&(i=this._getOrReturnCtx(e,i),sr(i,{code:Rt.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):Pn.assertNever(s);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new lg({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:Ar.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:Ar.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.valuenew lg({checks:[],coerce:(r==null?void 0:r.coerce)||!1,typeName:Mr.ZodDate,...Vr(r)});class K_ extends Qr{_parse(e){if(this._getType(e)!==ir.symbol){const n=this._getOrReturnCtx(e);return sr(n,{code:Rt.invalid_type,expected:ir.symbol,received:n.parsedType}),Lr}return Ca(e.data)}}K_.create=r=>new K_({typeName:Mr.ZodSymbol,...Vr(r)});class U5 extends Qr{_parse(e){if(this._getType(e)!==ir.undefined){const n=this._getOrReturnCtx(e);return sr(n,{code:Rt.invalid_type,expected:ir.undefined,received:n.parsedType}),Lr}return Ca(e.data)}}U5.create=r=>new U5({typeName:Mr.ZodUndefined,...Vr(r)});class F5 extends Qr{_parse(e){if(this._getType(e)!==ir.null){const n=this._getOrReturnCtx(e);return sr(n,{code:Rt.invalid_type,expected:ir.null,received:n.parsedType}),Lr}return Ca(e.data)}}F5.create=r=>new F5({typeName:Mr.ZodNull,...Vr(r)});class Ew extends Qr{constructor(){super(...arguments),this._any=!0}_parse(e){return Ca(e.data)}}Ew.create=r=>new Ew({typeName:Mr.ZodAny,...Vr(r)});class ug extends Qr{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Ca(e.data)}}ug.create=r=>new ug({typeName:Mr.ZodUnknown,...Vr(r)});class id extends Qr{_parse(e){const t=this._getOrReturnCtx(e);return sr(t,{code:Rt.invalid_type,expected:ir.never,received:t.parsedType}),Lr}}id.create=r=>new id({typeName:Mr.ZodNever,...Vr(r)});class Z_ extends Qr{_parse(e){if(this._getType(e)!==ir.undefined){const n=this._getOrReturnCtx(e);return sr(n,{code:Rt.invalid_type,expected:ir.void,received:n.parsedType}),Lr}return Ca(e.data)}}Z_.create=r=>new Z_({typeName:Mr.ZodVoid,...Vr(r)});class Su extends Qr{_parse(e){const{ctx:t,status:n}=this._processInputParams(e),i=this._def;if(t.parsedType!==ir.array)return sr(t,{code:Rt.invalid_type,expected:ir.array,received:t.parsedType}),Lr;if(i.exactLength!==null){const o=t.data.length>i.exactLength.value,a=t.data.lengthi.maxLength.value&&(sr(t,{code:Rt.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((o,a)=>i.type._parseAsync(new $h(t,o,t.path,a)))).then(o=>oa.mergeArray(n,o));const s=[...t.data].map((o,a)=>i.type._parseSync(new $h(t,o,t.path,a)));return oa.mergeArray(n,s)}get element(){return this._def.type}min(e,t){return new Su({...this._def,minLength:{value:e,message:Ar.toString(t)}})}max(e,t){return new Su({...this._def,maxLength:{value:e,message:Ar.toString(t)}})}length(e,t){return new Su({...this._def,exactLength:{value:e,message:Ar.toString(t)}})}nonempty(e){return this.min(1,e)}}Su.create=(r,e)=>new Su({type:r,minLength:null,maxLength:null,exactLength:null,typeName:Mr.ZodArray,...Vr(e)});function Aw(r){if(r instanceof Qi){const e={};for(const t in r.shape){const n=r.shape[t];e[t]=sd.create(Aw(n))}return new Qi({...r._def,shape:()=>e})}else return r instanceof Su?new Su({...r._def,type:Aw(r.element)}):r instanceof sd?sd.create(Aw(r.unwrap())):r instanceof fg?fg.create(Aw(r.unwrap())):r instanceof Bh?Bh.create(r.items.map(e=>Aw(e))):r}class Qi extends Qr{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),t=Pn.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==ir.object){const u=this._getOrReturnCtx(e);return sr(u,{code:Rt.invalid_type,expected:ir.object,received:u.parsedType}),Lr}const{status:n,ctx:i}=this._processInputParams(e),{shape:s,keys:o}=this._getCached(),a=[];if(!(this._def.catchall instanceof id&&this._def.unknownKeys==="strip"))for(const u in i.data)o.includes(u)||a.push(u);const l=[];for(const u of o){const h=s[u],p=i.data[u];l.push({key:{status:"valid",value:u},value:h._parse(new $h(i,p,i.path,u)),alwaysSet:u in i.data})}if(this._def.catchall instanceof id){const u=this._def.unknownKeys;if(u==="passthrough")for(const h of a)l.push({key:{status:"valid",value:h},value:{status:"valid",value:i.data[h]}});else if(u==="strict")a.length>0&&(sr(i,{code:Rt.unrecognized_keys,keys:a}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const u=this._def.catchall;for(const h of a){const p=i.data[h];l.push({key:{status:"valid",value:h},value:u._parse(new $h(i,p,i.path,h)),alwaysSet:h in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const u=[];for(const h of l){const p=await h.key;u.push({key:p,value:await h.value,alwaysSet:h.alwaysSet})}return u}).then(u=>oa.mergeObjectSync(n,u)):oa.mergeObjectSync(n,l)}get shape(){return this._def.shape()}strict(e){return Ar.errToObj,new Qi({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,n)=>{var i,s,o,a;const l=(o=(s=(i=this._def).errorMap)===null||s===void 0?void 0:s.call(i,t,n).message)!==null&&o!==void 0?o:n.defaultError;return t.code==="unrecognized_keys"?{message:(a=Ar.errToObj(e).message)!==null&&a!==void 0?a:l}:{message:l}}}:{}})}strip(){return new Qi({...this._def,unknownKeys:"strip"})}passthrough(){return new Qi({...this._def,unknownKeys:"passthrough"})}extend(e){return new Qi({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new Qi({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:Mr.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new Qi({...this._def,catchall:e})}pick(e){const t={};return Pn.objectKeys(e).forEach(n=>{e[n]&&this.shape[n]&&(t[n]=this.shape[n])}),new Qi({...this._def,shape:()=>t})}omit(e){const t={};return Pn.objectKeys(this.shape).forEach(n=>{e[n]||(t[n]=this.shape[n])}),new Qi({...this._def,shape:()=>t})}deepPartial(){return Aw(this)}partial(e){const t={};return Pn.objectKeys(this.shape).forEach(n=>{const i=this.shape[n];e&&!e[n]?t[n]=i:t[n]=i.optional()}),new Qi({...this._def,shape:()=>t})}required(e){const t={};return Pn.objectKeys(this.shape).forEach(n=>{if(e&&!e[n])t[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof sd;)s=s._def.innerType;t[n]=s}}),new Qi({...this._def,shape:()=>t})}keyof(){return iZ(Pn.objectKeys(this.shape))}}Qi.create=(r,e)=>new Qi({shape:()=>r,unknownKeys:"strip",catchall:id.create(),typeName:Mr.ZodObject,...Vr(e)}),Qi.strictCreate=(r,e)=>new Qi({shape:()=>r,unknownKeys:"strict",catchall:id.create(),typeName:Mr.ZodObject,...Vr(e)}),Qi.lazycreate=(r,e)=>new Qi({shape:r,unknownKeys:"strip",catchall:id.create(),typeName:Mr.ZodObject,...Vr(e)});class j5 extends Qr{_parse(e){const{ctx:t}=this._processInputParams(e),n=this._def.options;function i(s){for(const a of s)if(a.result.status==="valid")return a.result;for(const a of s)if(a.result.status==="dirty")return t.common.issues.push(...a.ctx.common.issues),a.result;const o=s.map(a=>new Au(a.ctx.common.issues));return sr(t,{code:Rt.invalid_union,unionErrors:o}),Lr}if(t.common.async)return Promise.all(n.map(async s=>{const o={...t,common:{...t.common,issues:[]},parent:null};return{result:await s._parseAsync({data:t.data,path:t.path,parent:o}),ctx:o}})).then(i);{let s;const o=[];for(const l of n){const u={...t,common:{...t.common,issues:[]},parent:null},h=l._parseSync({data:t.data,path:t.path,parent:u});if(h.status==="valid")return h;h.status==="dirty"&&!s&&(s={result:h,ctx:u}),u.common.issues.length&&o.push(u.common.issues)}if(s)return t.common.issues.push(...s.ctx.common.issues),s.result;const a=o.map(l=>new Au(l));return sr(t,{code:Rt.invalid_union,unionErrors:a}),Lr}}get options(){return this._def.options}}j5.create=(r,e)=>new j5({options:r,typeName:Mr.ZodUnion,...Vr(e)});const J_=r=>r instanceof q5?J_(r.schema):r instanceof Iu?J_(r.innerType()):r instanceof W5?[r.value]:r instanceof _p?r.options:r instanceof V5?Object.keys(r.enum):r instanceof G5?J_(r._def.innerType):r instanceof U5?[void 0]:r instanceof F5?[null]:null;class Y_ extends Qr{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==ir.object)return sr(t,{code:Rt.invalid_type,expected:ir.object,received:t.parsedType}),Lr;const n=this.discriminator,i=t.data[n],s=this.optionsMap.get(i);return s?t.common.async?s._parseAsync({data:t.data,path:t.path,parent:t}):s._parseSync({data:t.data,path:t.path,parent:t}):(sr(t,{code:Rt.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),Lr)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,n){const i=new Map;for(const s of t){const o=J_(s.shape[e]);if(!o)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const a of o){if(i.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);i.set(a,s)}}return new Y_({typeName:Mr.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:i,...Vr(n)})}}function UR(r,e){const t=vp(r),n=vp(e);if(r===e)return{valid:!0,data:r};if(t===ir.object&&n===ir.object){const i=Pn.objectKeys(e),s=Pn.objectKeys(r).filter(a=>i.indexOf(a)!==-1),o={...r,...e};for(const a of s){const l=UR(r[a],e[a]);if(!l.valid)return{valid:!1};o[a]=l.data}return{valid:!0,data:o}}else if(t===ir.array&&n===ir.array){if(r.length!==e.length)return{valid:!1};const i=[];for(let s=0;s{if($R(s)||$R(o))return Lr;const a=UR(s.value,o.value);return a.valid?((BR(s)||BR(o))&&t.dirty(),{status:t.value,value:a.data}):(sr(n,{code:Rt.invalid_intersection_types}),Lr)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([s,o])=>i(s,o)):i(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}z5.create=(r,e,t)=>new z5({left:r,right:e,typeName:Mr.ZodIntersection,...Vr(t)});class Bh extends Qr{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==ir.array)return sr(n,{code:Rt.invalid_type,expected:ir.array,received:n.parsedType}),Lr;if(n.data.lengththis._def.items.length&&(sr(n,{code:Rt.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const s=[...n.data].map((o,a)=>{const l=this._def.items[a]||this._def.rest;return l?l._parse(new $h(n,o,n.path,a)):null}).filter(o=>!!o);return n.common.async?Promise.all(s).then(o=>oa.mergeArray(t,o)):oa.mergeArray(t,s)}get items(){return this._def.items}rest(e){return new Bh({...this._def,rest:e})}}Bh.create=(r,e)=>{if(!Array.isArray(r))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Bh({items:r,typeName:Mr.ZodTuple,rest:null,...Vr(e)})};class H5 extends Qr{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==ir.object)return sr(n,{code:Rt.invalid_type,expected:ir.object,received:n.parsedType}),Lr;const i=[],s=this._def.keyType,o=this._def.valueType;for(const a in n.data)i.push({key:s._parse(new $h(n,a,n.path,a)),value:o._parse(new $h(n,n.data[a],n.path,a))});return n.common.async?oa.mergeObjectAsync(t,i):oa.mergeObjectSync(t,i)}get element(){return this._def.valueType}static create(e,t,n){return t instanceof Qr?new H5({keyType:e,valueType:t,typeName:Mr.ZodRecord,...Vr(n)}):new H5({keyType:Cu.create(),valueType:e,typeName:Mr.ZodRecord,...Vr(t)})}}class Q_ extends Qr{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==ir.map)return sr(n,{code:Rt.invalid_type,expected:ir.map,received:n.parsedType}),Lr;const i=this._def.keyType,s=this._def.valueType,o=[...n.data.entries()].map(([a,l],u)=>({key:i._parse(new $h(n,a,n.path,[u,"key"])),value:s._parse(new $h(n,l,n.path,[u,"value"]))}));if(n.common.async){const a=new Map;return Promise.resolve().then(async()=>{for(const l of o){const u=await l.key,h=await l.value;if(u.status==="aborted"||h.status==="aborted")return Lr;(u.status==="dirty"||h.status==="dirty")&&t.dirty(),a.set(u.value,h.value)}return{status:t.value,value:a}})}else{const a=new Map;for(const l of o){const u=l.key,h=l.value;if(u.status==="aborted"||h.status==="aborted")return Lr;(u.status==="dirty"||h.status==="dirty")&&t.dirty(),a.set(u.value,h.value)}return{status:t.value,value:a}}}}Q_.create=(r,e,t)=>new Q_({valueType:e,keyType:r,typeName:Mr.ZodMap,...Vr(t)});class hg extends Qr{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==ir.set)return sr(n,{code:Rt.invalid_type,expected:ir.set,received:n.parsedType}),Lr;const i=this._def;i.minSize!==null&&n.data.sizei.maxSize.value&&(sr(n,{code:Rt.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),t.dirty());const s=this._def.valueType;function o(l){const u=new Set;for(const h of l){if(h.status==="aborted")return Lr;h.status==="dirty"&&t.dirty(),u.add(h.value)}return{status:t.value,value:u}}const a=[...n.data.values()].map((l,u)=>s._parse(new $h(n,l,n.path,u)));return n.common.async?Promise.all(a).then(l=>o(l)):o(a)}min(e,t){return new hg({...this._def,minSize:{value:e,message:Ar.toString(t)}})}max(e,t){return new hg({...this._def,maxSize:{value:e,message:Ar.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}hg.create=(r,e)=>new hg({valueType:r,minSize:null,maxSize:null,typeName:Mr.ZodSet,...Vr(e)});class Cw extends Qr{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==ir.function)return sr(t,{code:Rt.invalid_type,expected:ir.function,received:t.parsedType}),Lr;function n(a,l){return V_({data:a,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,W_(),$5].filter(u=>!!u),issueData:{code:Rt.invalid_arguments,argumentsError:l}})}function i(a,l){return V_({data:a,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,W_(),$5].filter(u=>!!u),issueData:{code:Rt.invalid_return_type,returnTypeError:l}})}const s={errorMap:t.common.contextualErrorMap},o=t.data;if(this._def.returns instanceof Sw){const a=this;return Ca(async function(...l){const u=new Au([]),h=await a._def.args.parseAsync(l,s).catch(w=>{throw u.addIssue(n(l,w)),u}),p=await Reflect.apply(o,this,h);return await a._def.returns._def.type.parseAsync(p,s).catch(w=>{throw u.addIssue(i(p,w)),u})})}else{const a=this;return Ca(function(...l){const u=a._def.args.safeParse(l,s);if(!u.success)throw new Au([n(l,u.error)]);const h=Reflect.apply(o,this,u.data),p=a._def.returns.safeParse(h,s);if(!p.success)throw new Au([i(h,p.error)]);return p.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new Cw({...this._def,args:Bh.create(e).rest(ug.create())})}returns(e){return new Cw({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,n){return new Cw({args:e||Bh.create([]).rest(ug.create()),returns:t||ug.create(),typeName:Mr.ZodFunction,...Vr(n)})}}class q5 extends Qr{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}q5.create=(r,e)=>new q5({getter:r,typeName:Mr.ZodLazy,...Vr(e)});class W5 extends Qr{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return sr(t,{received:t.data,code:Rt.invalid_literal,expected:this._def.value}),Lr}return{status:"valid",value:e.data}}get value(){return this._def.value}}W5.create=(r,e)=>new W5({value:r,typeName:Mr.ZodLiteral,...Vr(e)});function iZ(r,e){return new _p({values:r,typeName:Mr.ZodEnum,...Vr(e)})}class _p extends Qr{_parse(e){if(typeof e.data!="string"){const t=this._getOrReturnCtx(e),n=this._def.values;return sr(t,{expected:Pn.joinValues(n),received:t.parsedType,code:Rt.invalid_type}),Lr}if(this._def.values.indexOf(e.data)===-1){const t=this._getOrReturnCtx(e),n=this._def.values;return sr(t,{received:t.data,code:Rt.invalid_enum_value,options:n}),Lr}return Ca(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e){return _p.create(e)}exclude(e){return _p.create(this.options.filter(t=>!e.includes(t)))}}_p.create=iZ;class V5 extends Qr{_parse(e){const t=Pn.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==ir.string&&n.parsedType!==ir.number){const i=Pn.objectValues(t);return sr(n,{expected:Pn.joinValues(i),received:n.parsedType,code:Rt.invalid_type}),Lr}if(t.indexOf(e.data)===-1){const i=Pn.objectValues(t);return sr(n,{received:n.data,code:Rt.invalid_enum_value,options:i}),Lr}return Ca(e.data)}get enum(){return this._def.values}}V5.create=(r,e)=>new V5({values:r,typeName:Mr.ZodNativeEnum,...Vr(e)});class Sw extends Qr{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==ir.promise&&t.common.async===!1)return sr(t,{code:Rt.invalid_type,expected:ir.promise,received:t.parsedType}),Lr;const n=t.parsedType===ir.promise?t.data:Promise.resolve(t.data);return Ca(n.then(i=>this._def.type.parseAsync(i,{path:t.path,errorMap:t.common.contextualErrorMap})))}}Sw.create=(r,e)=>new Sw({type:r,typeName:Mr.ZodPromise,...Vr(e)});class Iu extends Qr{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Mr.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:n}=this._processInputParams(e),i=this._def.effect||null,s={addIssue:o=>{sr(n,o),o.fatal?t.abort():t.dirty()},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),i.type==="preprocess"){const o=i.transform(n.data,s);return n.common.issues.length?{status:"dirty",value:n.data}:n.common.async?Promise.resolve(o).then(a=>this._def.schema._parseAsync({data:a,path:n.path,parent:n})):this._def.schema._parseSync({data:o,path:n.path,parent:n})}if(i.type==="refinement"){const o=a=>{const l=i.refinement(a,s);if(n.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(n.common.async===!1){const a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?Lr:(a.status==="dirty"&&t.dirty(),o(a.value),{status:t.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?Lr:(a.status==="dirty"&&t.dirty(),o(a.value).then(()=>({status:t.value,value:a.value}))))}if(i.type==="transform")if(n.common.async===!1){const o=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!B5(o))return o;const a=i.transform(o.value,s);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(o=>B5(o)?Promise.resolve(i.transform(o.value,s)).then(a=>({status:t.value,value:a})):o);Pn.assertNever(i)}}Iu.create=(r,e,t)=>new Iu({schema:r,typeName:Mr.ZodEffects,effect:e,...Vr(t)}),Iu.createWithPreprocess=(r,e,t)=>new Iu({schema:e,effect:{type:"preprocess",transform:r},typeName:Mr.ZodEffects,...Vr(t)});class sd extends Qr{_parse(e){return this._getType(e)===ir.undefined?Ca(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}sd.create=(r,e)=>new sd({innerType:r,typeName:Mr.ZodOptional,...Vr(e)});class fg extends Qr{_parse(e){return this._getType(e)===ir.null?Ca(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}fg.create=(r,e)=>new fg({innerType:r,typeName:Mr.ZodNullable,...Vr(e)});class G5 extends Qr{_parse(e){const{ctx:t}=this._processInputParams(e);let n=t.data;return t.parsedType===ir.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}G5.create=(r,e)=>new G5({innerType:r,typeName:Mr.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...Vr(e)});class X_ extends Qr{_parse(e){const{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},i=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return G_(i)?i.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Au(n.common.issues)},input:n.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Au(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}X_.create=(r,e)=>new X_({innerType:r,typeName:Mr.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...Vr(e)});class eE extends Qr{_parse(e){if(this._getType(e)!==ir.nan){const n=this._getOrReturnCtx(e);return sr(n,{code:Rt.invalid_type,expected:ir.nan,received:n.parsedType}),Lr}return{status:"valid",value:e.data}}}eE.create=r=>new eE({typeName:Mr.ZodNaN,...Vr(r)});const _be=Symbol("zod_brand");class sZ extends Qr{_parse(e){const{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}}class K5 extends Qr{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{const s=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?Lr:s.status==="dirty"?(t.dirty(),rZ(s.value)):this._def.out._parseAsync({data:s.value,path:n.path,parent:n})})();{const i=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?Lr:i.status==="dirty"?(t.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:n.path,parent:n})}}static create(e,t){return new K5({in:e,out:t,typeName:Mr.ZodPipeline})}}class tE extends Qr{_parse(e){const t=this._def.innerType._parse(e);return B5(t)&&(t.value=Object.freeze(t.value)),t}}tE.create=(r,e)=>new tE({innerType:r,typeName:Mr.ZodReadonly,...Vr(e)});const oZ=(r,e={},t)=>r?Ew.create().superRefine((n,i)=>{var s,o;if(!r(n)){const a=typeof e=="function"?e(n):typeof e=="string"?{message:e}:e,l=(o=(s=a.fatal)!==null&&s!==void 0?s:t)!==null&&o!==void 0?o:!0,u=typeof a=="string"?{message:a}:a;i.addIssue({code:"custom",...u,fatal:l})}}):Ew.create(),Ebe={object:Qi.lazycreate};var Mr;(function(r){r.ZodString="ZodString",r.ZodNumber="ZodNumber",r.ZodNaN="ZodNaN",r.ZodBigInt="ZodBigInt",r.ZodBoolean="ZodBoolean",r.ZodDate="ZodDate",r.ZodSymbol="ZodSymbol",r.ZodUndefined="ZodUndefined",r.ZodNull="ZodNull",r.ZodAny="ZodAny",r.ZodUnknown="ZodUnknown",r.ZodNever="ZodNever",r.ZodVoid="ZodVoid",r.ZodArray="ZodArray",r.ZodObject="ZodObject",r.ZodUnion="ZodUnion",r.ZodDiscriminatedUnion="ZodDiscriminatedUnion",r.ZodIntersection="ZodIntersection",r.ZodTuple="ZodTuple",r.ZodRecord="ZodRecord",r.ZodMap="ZodMap",r.ZodSet="ZodSet",r.ZodFunction="ZodFunction",r.ZodLazy="ZodLazy",r.ZodLiteral="ZodLiteral",r.ZodEnum="ZodEnum",r.ZodEffects="ZodEffects",r.ZodNativeEnum="ZodNativeEnum",r.ZodOptional="ZodOptional",r.ZodNullable="ZodNullable",r.ZodDefault="ZodDefault",r.ZodCatch="ZodCatch",r.ZodPromise="ZodPromise",r.ZodBranded="ZodBranded",r.ZodPipeline="ZodPipeline",r.ZodReadonly="ZodReadonly"})(Mr||(Mr={}));const Abe=(r,e={message:`Input not instance of ${r.name}`})=>oZ(t=>t instanceof r,e),aZ=Cu.create,cZ=yp.create,Cbe=eE.create,Sbe=xp.create,lZ=L5.create,Ibe=lg.create,Tbe=K_.create,Rbe=U5.create,kbe=F5.create,Mbe=Ew.create,Nbe=ug.create,Pbe=id.create,Obe=Z_.create,Dbe=Su.create,$be=Qi.create,Bbe=Qi.strictCreate,Lbe=j5.create,Ube=Y_.create,Fbe=z5.create,jbe=Bh.create,zbe=H5.create,Hbe=Q_.create,qbe=hg.create,Wbe=Cw.create,Vbe=q5.create,Gbe=W5.create,Kbe=_p.create,Zbe=V5.create,Jbe=Sw.create,uZ=Iu.create,Ybe=sd.create,Qbe=fg.create,Xbe=Iu.createWithPreprocess,ewe=K5.create;var ge=Object.freeze({__proto__:null,defaultErrorMap:$5,setErrorMap:lbe,getErrorMap:W_,makeIssue:V_,EMPTY_PATH:ube,addIssueToContext:sr,ParseStatus:oa,INVALID:Lr,DIRTY:rZ,OK:Ca,isAborted:$R,isDirty:BR,isValid:B5,isAsync:G_,get util(){return Pn},get objectUtil(){return DR},ZodParsedType:ir,getParsedType:vp,ZodType:Qr,ZodString:Cu,ZodNumber:yp,ZodBigInt:xp,ZodBoolean:L5,ZodDate:lg,ZodSymbol:K_,ZodUndefined:U5,ZodNull:F5,ZodAny:Ew,ZodUnknown:ug,ZodNever:id,ZodVoid:Z_,ZodArray:Su,ZodObject:Qi,ZodUnion:j5,ZodDiscriminatedUnion:Y_,ZodIntersection:z5,ZodTuple:Bh,ZodRecord:H5,ZodMap:Q_,ZodSet:hg,ZodFunction:Cw,ZodLazy:q5,ZodLiteral:W5,ZodEnum:_p,ZodNativeEnum:V5,ZodPromise:Sw,ZodEffects:Iu,ZodTransformer:Iu,ZodOptional:sd,ZodNullable:fg,ZodDefault:G5,ZodCatch:X_,ZodNaN:eE,BRAND:_be,ZodBranded:sZ,ZodPipeline:K5,ZodReadonly:tE,custom:oZ,Schema:Qr,ZodSchema:Qr,late:Ebe,get ZodFirstPartyTypeKind(){return Mr},coerce:{string:r=>Cu.create({...r,coerce:!0}),number:r=>yp.create({...r,coerce:!0}),boolean:r=>L5.create({...r,coerce:!0}),bigint:r=>xp.create({...r,coerce:!0}),date:r=>lg.create({...r,coerce:!0})},any:Mbe,array:Dbe,bigint:Sbe,boolean:lZ,date:Ibe,discriminatedUnion:Ube,effect:uZ,enum:Kbe,function:Wbe,instanceof:Abe,intersection:Fbe,lazy:Vbe,literal:Gbe,map:Hbe,nan:Cbe,nativeEnum:Zbe,never:Pbe,null:kbe,nullable:Qbe,number:cZ,object:$be,oboolean:()=>lZ().optional(),onumber:()=>cZ().optional(),optional:Ybe,ostring:()=>aZ().optional(),pipeline:ewe,preprocess:Xbe,promise:Jbe,record:zbe,set:qbe,strictObject:Bbe,string:aZ,symbol:Tbe,transformer:uZ,tuple:jbe,undefined:Rbe,union:Lbe,unknown:Nbe,void:Obe,NEVER:Lr,ZodIssueCode:Rt,quotelessJson:cbe,ZodError:Au});const twe=r=>r.message?r.message:"unspecified error";class rE extends D5{constructor(e){super(),this.code=q2e,this.errors=e,super.message=`Web3 validator found ${e.length} error[s]: ${this._compileErrors().join(` -`)}`}_compileErrors(){return this.errors.map(hwe)}}const fwe=["bool","int","uint","bytes","string","address","tuple"],bZ=r=>typeof r=="object"&&"type"in r&&"name"in r,dwe=r=>typeof r=="string",sc=r=>typeof r=="string"&&/^((-)?0x[0-9a-f]+|(0x))$/i.test(r),wZ=r=>typeof r=="number"||typeof r=="bigint"||typeof r=="string"&&/^((-0x|0x|-)?[0-9a-f]+|(0x))$/i.test(r),pwe=["hex","number","blockNumber","blockNumberOrTag","filter","bloom"],pg=r=>{let e=r.replace(/ /,""),t,n=!1,i=[];if(r.includes("[")&&(e=e.slice(0,e.indexOf("[")),i=[...r.matchAll(/(?:\[(\d*)\])/g)].map(s=>parseInt(s[1],10)).map(s=>Number.isNaN(s)?-1:s),n=i.length>0),fwe.includes(e))return{baseType:e,isArray:n,baseTypeSize:t,arraySizes:i};if(e.startsWith("int"))t=parseInt(e.substring(3),10),e="int";else if(e.startsWith("uint"))t=parseInt(r.substring(4),10),e="uint";else if(e.startsWith("bytes"))t=parseInt(e.substring(5),10),e="bytes";else return{baseType:void 0,isArray:!1,baseTypeSize:void 0,arraySizes:i};return{baseType:e,isArray:n,baseTypeSize:t,arraySizes:i}},PT=(r,e={})=>{if(Object.keys(e).includes("type"))throw new eE([{keyword:"eth",message:'Either "eth" or "type" can be presented in schema',params:{eth:r},instancePath:"",schemaPath:""}]);const{baseType:n,baseTypeSize:i}=pg(r);if(!n&&!pwe.includes(r))throw new eE([{keyword:"eth",message:`Eth data type "${r}" is not valid`,params:{eth:r},instancePath:"",schemaPath:""}]);if(n){if(n==="tuple")throw new Error('"tuple" type is not implemented directly.');return{format:`${n}${i??""}`,required:!0}}return r?{format:r,required:!0}:{}},tE=(r,e="/0")=>{const t={type:"array",items:[],maxItems:r.length,minItems:r.length};for(const[n,i]of r.entries()){let s,o,a=[];bZ(i)?(s=i.type,o=i.name,a=i.components):typeof i=="string"?(s=i,o=`${e}/${n}`):Array.isArray(i)&&(i[0]&&typeof i[0]=="string"&&i[0].startsWith("tuple")&&!Array.isArray(i[0])&&i[1]&&Array.isArray(i[1])?(s=i[0],o=`${e}/${n}`,a=i[1]):(s="tuple",o=`${e}/${n}`,a=i));const{baseType:l,isArray:u,arraySizes:h}=pg(s);let p,g=t;for(let w=h.length-1;w>0;w-=1)p={type:"array",$id:o,items:[],maxItems:h[w],minItems:h[w]},h[w]<0&&(delete p.maxItems,delete p.minItems),Array.isArray(g.items)?g.items.length===0?g.items=[p]:g.items.push(p):g.items=[g.items,p],g=p;if(l==="tuple"&&!u){const w=tE(a,o);w.$id=o,g.items.push(w)}else if(l==="tuple"&&u){const w=h[0],y=Object.assign({type:"array",$id:o,items:tE(a,o)},w>=0&&{minItems:w,maxItems:w});g.items.push(y)}else if(u){const w=h[0],y=Object.assign({type:"array",$id:o,items:PT(s)},w>=0&&{minItems:w,maxItems:w});g.items.push(y)}else Array.isArray(g.items)?g.items.push(Object.assign({$id:o},PT(s))):g.items.push(Object.assign({$id:o},PT(s)));g=t}return t},vZ=r=>tE(r),OT=(r,e)=>e===1?r:OT(r[0],e-1),rE=(r,e,t)=>{const n=[];for(const[i,s]of r.entries()){let o,a,l=[];bZ(s)?(o=s.type,a=s.name,l=s.components):typeof s=="string"?o=s:Array.isArray(s)&&(s[1]&&Array.isArray(s[1])?(o=s[0],l=s[1]):(o="tuple",l=s));const{baseType:u,isArray:h,arraySizes:p}=pg(o),g=Array.isArray(e)?e[i]:e[a];if(u==="tuple"&&!h)n.push(rE(l,g,t));else if(u==="tuple"&&h){const w=[];for(const y of g)if(p.length>1){const C=OT(y,p.length-1),R=[];for(const k of C)R.push(rE(l,k,t));w.push(R)}else w.push(rE(l,y,t));n.push(w)}else n.push(g)}return t=t??[],t.push(...n),t},gwe=r=>{if(r>=48&&r<=57)return r-48;if(r>=65&&r<=70)return r-55;if(r>=97&&r<=102)return r-87;throw new Error(`Invalid code point: ${r}`)},DT=r=>{if(!sc(r))throw new Error("Invalid hex string");const[e,t]=r.startsWith("-")?[!0,r.slice(1)]:[!1,r],n=BigInt(t);return n>Number.MAX_SAFE_INTEGER?e?-n:n:n{if((typeof r=="number"||typeof r=="bigint")&&r<0)return`-0x${r.toString(16).slice(1)}`;if((typeof r=="number"||typeof r=="bigint")&&r>=0)return`0x${r.toString(16)}`;if(typeof r=="string"&&sc(r)){const[e,t]=r.startsWith("-")?[!0,r.slice(1)]:[!1,r],n=t.split(/^(-)?0(x|X)/).slice(-1)[0];return`${e?"-":""}0x${n.replace(/^0+/,"").toLowerCase()}`}if(typeof r=="string"&&!sc(r))return nE(BigInt(r));throw new rbe(r)},mwe=(r,e,t="0")=>{if(typeof r=="string"&&!sc(r))return r.padStart(e,t);const n=typeof r=="string"&&sc(r)?r:nE(r),[i,s]=n.startsWith("-")?["-0x",n.slice(3)]:["0x",n.slice(2)];return`${i}${s.padStart(e,t)}`};function $T(r){let e="0x";for(const t of r){const n=t.toString(16);e+=n.length===1?`0${n}`:n}return e}const id={zero:48,nine:57,A:65,F:70,a:97,f:102};function yZ(r){if(r>=id.zero&&r<=id.nine)return r-id.zero;if(r>=id.A&&r<=id.F)return r-(id.A-10);if(r>=id.a&&r<=id.f)return r-(id.a-10)}function BT(r){let e=0;if(r.startsWith("0")&&(r[1]==="x"||r[1]==="X")&&(e=2),r.length%2!==0)throw new IT(`hex string has odd length: ${r}`);const t=(r.length-e)/2,n=new Uint8Array(t);for(let i=0,s=e;i{var e;return r instanceof Uint8Array||((e=r==null?void 0:r.constructor)===null||e===void 0?void 0:e.name)==="Uint8Array"},_Z=(r,e={abiType:"bytes"})=>{if(typeof r!="string"&&!Array.isArray(r)&&!LT(r)||typeof r=="string"&&sc(r)&&r.startsWith("-")||typeof r=="string"&&!sc(r))return!1;let t;if(typeof r=="string"){if(r.length%2!==0)return!1;t=BT(r)}else if(Array.isArray(r)){if(r.some(n=>n<0||n>255||!Number.isInteger(n)))return!1;t=new Uint8Array(r)}else t=r;if(e!=null&&e.abiType){const{baseTypeSize:n}=pg(e.abiType);return n?t.length===n:!0}return e!=null&&e.size?t.length===(e==null?void 0:e.size):!0},wwe=r=>{if(!/^(0x)?[0-9a-f]{40}$/i.test(r))return!1;const e=r.slice(2),t=XK(e.toLowerCase()),n=$T(W2e(xZ(t))).slice(2);for(let i=0;i<40;i+=1)if(parseInt(n[i],16)>7&&e[i].toUpperCase()!==e[i]||parseInt(n[i],16)<=7&&e[i].toLowerCase()!==e[i])return!1;return!0},iE=(r,e=!0)=>{if(typeof r!="string"&&!LT(r))return!1;let t;return LT(r)?t=$T(r):typeof r=="string"&&!sc(r)?t=r.toLowerCase().startsWith("0x")?r:`0x${r}`:t=r,/^(0x)?[0-9a-f]{40}$/i.test(t)?/^(0x|0X)?[0-9a-f]{40}$/.test(t)||/^(0x|0X)?[0-9A-F]{40}$/.test(t)?!0:e?wwe(t):!0:!1};var sE;(function(r){r.NUMBER="NUMBER_NUMBER",r.HEX="NUMBER_HEX",r.STR="NUMBER_STR",r.BIGINT="NUMBER_BIGINT"})(sE||(sE={}));var oE;(function(r){r.HEX="BYTES_HEX",r.UINT8ARRAY="BYTES_UINT8ARRAY"})(oE||(oE={})),sE.BIGINT,oE.HEX,sE.HEX,oE.HEX;var UT;(function(r){r.EARLIEST="earliest",r.LATEST="latest",r.PENDING="pending",r.SAFE="safe",r.FINALIZED="finalized"})(UT||(UT={}));var EZ;(function(r){r.chainstart="chainstart",r.frontier="frontier",r.homestead="homestead",r.dao="dao",r.tangerineWhistle="tangerineWhistle",r.spuriousDragon="spuriousDragon",r.byzantium="byzantium",r.constantinople="constantinople",r.petersburg="petersburg",r.istanbul="istanbul",r.muirGlacier="muirGlacier",r.berlin="berlin",r.london="london",r.altair="altair",r.arrowGlacier="arrowGlacier",r.grayGlacier="grayGlacier",r.bellatrix="bellatrix",r.merge="merge",r.capella="capella",r.shanghai="shanghai"})(EZ||(EZ={}));const FT=(r,e)=>{let t=r;for(let n=1;n{if(!["number","string","bigint"].includes(typeof r)||typeof r=="string"&&r.length===0)return!1;let t;if(e!=null&&e.abiType){const{baseTypeSize:i}=pg(e.abiType);i&&(t=i)}else e.bitSize&&(t=e.bitSize);const n=FT(BigInt(2),BigInt(t??256))-BigInt(1);try{const i=typeof r=="string"&&sc(r)?BigInt(DT(r)):BigInt(r);return i>=0&&i<=n}catch{return!1}},X5=(r,e={abiType:"int"})=>{if(!["number","string","bigint"].includes(typeof r)||typeof r=="number"&&r>Number.MAX_SAFE_INTEGER)return!1;let t;if(e!=null&&e.abiType){const{baseTypeSize:s,baseType:o}=pg(e.abiType);if(o!=="int")return!1;s&&(t=s)}else e.bitSize&&(t=e.bitSize);const n=FT(BigInt(2),BigInt((t??256)-1)),i=BigInt(-1)*FT(BigInt(2),BigInt((t??256)-1));try{const s=typeof r=="string"&&sc(r)?BigInt(DT(r)):BigInt(r);return s>=i&&s<=n}catch{return!1}},vwe=r=>!!(X5(r)||typeof r=="string"&&/[0-9.]/.test(r)&&r.indexOf(".")===r.lastIndexOf(".")||typeof r=="number"),AZ=r=>Q5(r),CZ=r=>Object.values(UT).includes(r),jT=r=>CZ(r)||AZ(r),ywe=r=>typeof r!="string"||!/^(0x)?[0-9a-f]{512}$/i.test(r)?!1:!!(/^(0x)?[0-9a-f]{512}$/.test(r)||/^(0x)?[0-9A-F]{512}$/.test(r)),xwe=r=>["number","string","boolean"].includes(typeof r)?typeof r=="boolean"?!0:typeof r=="string"&&!sc(r)?r==="1"||r==="0":typeof r=="string"&&sc(r)?r==="0x1"||r==="0x0":r===1||r===0:!1,Rw=r=>r==null,SZ=r=>typeof r!="string"||!/^(0x)?[0-9a-f]{64}$/i.test(r)?!1:!!(/^(0x)?[0-9a-f]{64}$/.test(r)||/^(0x)?[0-9A-F]{64}$/.test(r)),_we=r=>{const e=["fromBlock","toBlock","address","topics","blockHash"];if(Rw(r)||typeof r!="object"||!Object.keys(r).every(t=>e.includes(t))||!Rw(r.fromBlock)&&!jT(r.fromBlock)||!Rw(r.toBlock)&&!jT(r.toBlock))return!1;if(!Rw(r.address)){if(Array.isArray(r.address)){if(!r.address.every(t=>iE(t)))return!1}else if(!iE(r.address))return!1}return!(!Rw(r.topics)&&!r.topics.every(t=>Rw(t)?!0:Array.isArray(t)?t.every(n=>SZ(n)):!!SZ(t)))},gg={address:r=>iE(r),bloom:r=>ywe(r),blockNumber:r=>AZ(r),blockTag:r=>CZ(r),blockNumberOrTag:r=>jT(r),bool:r=>xwe(r),bytes:r=>_Z(r),filter:r=>_we(r),hex:r=>sc(r),uint:r=>Q5(r),int:r=>X5(r),number:r=>vwe(r),string:r=>dwe(r)};for(let r=8;r<=256;r+=8)gg[`int${r}`]=e=>X5(e,{bitSize:r}),gg[`uint${r}`]=e=>Q5(e,{bitSize:r});for(let r=1;r<=32;r+=1)gg[`bytes${r}`]=e=>_Z(e,{size:r});gg.bytes256=gg.bytes;const e4=r=>{if((!(r!=null&&r.type)||(r==null?void 0:r.type)==="object")&&(r!=null&&r.properties)){const e={};for(const t of Object.keys(r.properties)){const n=e4(r.properties[t]);n&&(e[t]=n)}return Array.isArray(r.required)?ge.object(e).partial().required(r.required.reduce((t,n)=>Object.assign(Object.assign({},t),{[n]:!0}),{})):ge.object(e).partial()}if((r==null?void 0:r.type)==="array"&&(r!=null&&r.items)){if(Array.isArray(r.items)&&r.items.length>1&&r.maxItems!==void 0&&new Set(r.items.map(n=>n.$id)).size===r.items.length){const n=[];for(const i of r.items){const s=e4(i);s&&n.push(s)}return ge.tuple(n)}const e=Array.isArray(r.items)?r.items[0]:r.items;let t=ge.array(e4(e));return t=r.minItems!==void 0?t.min(r.minItems):t,t=r.maxItems!==void 0?t.max(r.maxItems):t,t}if(r.oneOf&&Array.isArray(r.oneOf))return ge.union(r.oneOf.map(e=>e4(e)));if(r!=null&&r.format){if(!gg[r.format])throw new bbe(r.format);return ge.any().refine(gg[r.format],e=>({params:{value:e,format:r.format}}))}return r!=null&&r.type&&(r==null?void 0:r.type)!=="object"&&typeof ge[String(r.type)]=="function"?ge[String(r.type)]():ge.object({data:ge.any()}).partial()};class Tw{static factory(){return Tw.validatorInstance||(Tw.validatorInstance=new Tw),Tw.validatorInstance}validate(e,t,n){var i,s;const a=e4(e).safeParse(t);if(!a.success){const l=this.convertErrors((s=(i=a.error)===null||i===void 0?void 0:i.issues)!==null&&s!==void 0?s:[]);if(l){if(n!=null&&n.silent)return l;throw new eE(l)}}}convertErrors(e){if(e&&Array.isArray(e)&&e.length>0)return e.map(t=>{var n;let i,s,o,a;a=t.path.join("/");const l=String(t.path[t.path.length-1]),u=t.path.join("/");if(t.code===Tt.too_big)s="maxItems",a=`${u}/maxItems`,o={limit:t.maximum},i=`must NOT have more than ${t.maximum} items`;else if(t.code===Tt.too_small)s="minItems",a=`${u}/minItems`,o={limit:t.minimum},i=`must NOT have fewer than ${t.minimum} items`;else if(t.code===Tt.custom){const{value:h,format:p}=(n=t.params)!==null&&n!==void 0?n:{};typeof h>"u"?i=`value at "/${a}" is required`:i=`value "${typeof h=="object"?JSON.stringify(h):h}" at "/${a}" must pass "${p}" validation`,o={value:h}}return{keyword:s??l,instancePath:u?`/${u}`:"",schemaPath:a?`#${a}`:"#",params:o??{value:t.message},message:i??t.message}})}}class Ewe{constructor(){this._validator=Tw.factory()}validateJSONSchema(e,t,n){return this._validator.validate(e,t,n)}validate(e,t,n={silent:!1}){var i,s;const o=vZ(e);if(!(Array.isArray(o.items)&&((i=o.items)===null||i===void 0?void 0:i.length)===0&&t.length===0)){if(Array.isArray(o.items)&&((s=o.items)===null||s===void 0?void 0:s.length)===0&&t.length!==0)throw new eE([{instancePath:"/0",schemaPath:"/",keyword:"required",message:"empty schema against data can not be validated",params:t}]);return this._validator.validate(o,t,n)}}}const zT=new Ewe;function Awe(r){var e;return r instanceof Uint8Array||((e=r==null?void 0:r.constructor)===null||e===void 0?void 0:e.name)==="Uint8Array"}BigInt(0),BigInt(1),BigInt(1e3),BigInt(1e3),BigInt(1e3),BigInt(1e3),BigInt(1e6),BigInt(1e6),BigInt(1e6),BigInt(1e6),BigInt(1e9),BigInt(1e9),BigInt(1e9),BigInt(1e9),BigInt(1e9),BigInt(1e12),BigInt(1e12),BigInt(1e12),BigInt(1e15),BigInt(1e15),BigInt(1e15),BigInt("1000000000000000000"),BigInt("1000000000000000000000"),BigInt("1000000000000000000000"),BigInt("1000000000000000000000000"),BigInt("1000000000000000000000000000"),BigInt("1000000000000000000000000000000");const Cwe=r=>{if(zT.validate(["bytes"],[r]),Awe(r))return r;if(Array.isArray(r))return new Uint8Array(r);if(typeof r=="string")return BT(r);throw new IT(r)},{uint8ArrayToHexString:Swe}=bwe,Iwe=r=>Swe(Cwe(r)),aE=(r,e)=>{typeof r!="bigint"&&zT.validate(["int"],[r]);let t=nE(r);return e&&(!t.startsWith("-")&&t.length%2===1?t="0x0".concat(t.slice(2)):t.length%2===0&&t.startsWith("-")&&(t="-0x0".concat(t.slice(3)))),t},IZ=r=>{zT.validate(["string"],[r]);let e=r.replace(/^(?:\u0000)/,"");return e=e.replace(/(?:\u0000)$/,""),Iwe(new TextEncoder().encode(e))},HT=(r,e)=>{if(typeof r=="string"&&iE(r))return e?"address":`0x${r.toLowerCase().replace(/^0x/i,"")}`;if(typeof r=="boolean")return e?"bool":r?"0x01":"0x00";if(typeof r=="number")return e?r<0?"int256":"uint256":aE(r);if(typeof r=="bigint")return e?"bigint":aE(r);if(typeof r=="object"&&r)return e?"string":IZ(JSON.stringify(r));if(typeof r=="string"){if(r.startsWith("-0x")||r.startsWith("-0X"))return e?"int256":aE(r);if(sc(r))return e?"bytes":r;if(wZ(r)&&!X5(r)&&!Q5(r))return e?"bytes":`0x${r}`;if(wZ(r)&&!X5(r)&&Q5(r))return e?"uint":aE(r);if(!Number.isFinite(r))return e?"string":IZ(r)}throw new nbe(r)};var ct=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Sp(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}function sd(r){if(r.__esModule)return r;var e=r.default;if(typeof e=="function"){var t=function n(){return this instanceof n?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};t.prototype=e.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(r).forEach(function(n){var i=Object.getOwnPropertyDescriptor(r,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:function(){return r[n]}})}),t}var RZ={exports:{}};(function(r){var e=Object.prototype.hasOwnProperty,t="~";function n(){}Object.create&&(n.prototype=Object.create(null),new n().__proto__||(t=!1));function i(l,u,h){this.fn=l,this.context=u,this.once=h||!1}function s(l,u,h,p,g){if(typeof h!="function")throw new TypeError("The listener must be a function");var w=new i(h,p||l,g),y=t?t+u:u;return l._events[y]?l._events[y].fn?l._events[y]=[l._events[y],w]:l._events[y].push(w):(l._events[y]=w,l._eventsCount++),l}function o(l,u){--l._eventsCount===0?l._events=new n:delete l._events[u]}function a(){this._events=new n,this._eventsCount=0}a.prototype.eventNames=function(){var u=[],h,p;if(this._eventsCount===0)return u;for(p in h=this._events)e.call(h,p)&&u.push(t?p.slice(1):p);return Object.getOwnPropertySymbols?u.concat(Object.getOwnPropertySymbols(h)):u},a.prototype.listeners=function(u){var h=t?t+u:u,p=this._events[h];if(!p)return[];if(p.fn)return[p.fn];for(var g=0,w=p.length,y=new Array(w);gp?I.c=I.e=null:$.e=10;d/=10,b++);b>p?I.c=I.e=null:(I.e=b,I.c=[$]);return}A=String($)}else{if(!Twe.test(A=String($)))return n(I,A,m);I.s=A.charCodeAt(0)==45?(A=A.slice(1),-1):1}(b=A.indexOf("."))>-1&&(A=A.replace(".","")),(d=A.search(/e/i))>0?(b<0&&(b=d),b+=+A.slice(d+1),A=A.substring(0,d)):b<0&&(b=A.length)}else{if(Yi(V,2,R.length,"Base"),V==10&&k)return I=new M($),G(I,o+I.e+1,a);if(A=String($),m=typeof $=="number"){if($*0!=0)return n(I,A,m,V);if(I.s=1/$<0?(A=A.slice(1),-1):1,M.DEBUG&&A.replace(/^0\.0*|\./,"").length>15)throw Error(TZ+$)}else I.s=A.charCodeAt(0)===45?(A=A.slice(1),-1):1;for(te=R.slice(0,V),b=d=0,x=A.length;db){b=x;continue}}else if(!P&&(A==A.toUpperCase()&&(A=A.toLowerCase())||A==A.toLowerCase()&&(A=A.toUpperCase()))){P=!0,d=-1,b=0;continue}return n(I,String($),m,V)}m=!1,A=t(A,V,10,I.s),(b=A.indexOf("."))>-1?A=A.replace(".",""):b=A.length}for(d=0;A.charCodeAt(d)===48;d++);for(x=A.length;A.charCodeAt(--x)===48;);if(A=A.slice(d,++x)){if(x-=d,m&&M.DEBUG&&x>15&&($>WT||$!==Sl($)))throw Error(TZ+I.s*$);if((b=b-d-1)>p)I.c=I.e=null;else if(b=-ao&&P<=ao&&P===Sl(P)){if(W[0]===0){if(P===0&&W.length===1)return!0;break e}if(V=(P+1)%Fr,V<1&&(V+=Fr),String(W[0]).length==V){for(V=0;V=Su||te!==Sl(te))break e;if(te!==0)return!0}}}else if(W===null&&P===null&&(b===null||b===1||b===-1))return!0;throw Error(oc+"Invalid BigNumber: "+$)},M.maximum=M.max=function(){return B(arguments,-1)},M.minimum=M.min=function(){return B(arguments,1)},M.random=function(){var $=9007199254740992,V=Math.random()*$&2097151?function(){return Sl(Math.random()*$)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(te){var W,P,b,d,m,x=0,A=[],I=new M(s);if(te==null?te=o:Yi(te,0,ao),d=qT(te/Fr),g)if(crypto.getRandomValues){for(W=crypto.getRandomValues(new Uint32Array(d*=2));x>>11),m>=9e15?(P=crypto.getRandomValues(new Uint32Array(2)),W[x]=P[0],W[x+1]=P[1]):(A.push(m%1e14),x+=2);x=d/2}else if(crypto.randomBytes){for(W=crypto.randomBytes(d*=7);x=9e15?crypto.randomBytes(7).copy(W,x):(A.push(m%1e14),x+=7);x=d/7}else throw g=!1,Error(oc+"crypto unavailable");if(!g)for(;x=10;m/=10,x++);xP-1&&(m[d+1]==null&&(m[d+1]=0),m[d+1]+=m[d]/P|0,m[d]%=P)}return m.reverse()}return function(te,W,P,b,d){var m,x,A,I,T,S,E,_,U=te.indexOf("."),ie=o,q=a;for(U>=0&&(I=y,y=0,te=te.replace(".",""),_=new M(W),S=_.pow(te.length-U),y=I,_.c=V(od(Rl(S.c),S.e,"0"),10,P,$),_.e=_.c.length),E=V(te,W,P,d?(m=R,$):(m=$,R)),A=I=E.length;E[--I]==0;E.pop());if(!E[0])return m.charAt(0);if(U<0?--A:(S.c=E,S.e=A,S.s=b,S=e(S,_,ie,q,P),E=S.c,T=S.r,A=S.e),x=A+ie+1,U=E[x],I=P/2,T=T||x<0||E[x+1]!=null,T=q<4?(U!=null||T)&&(q==0||q==(S.s<0?3:2)):U>I||U==I&&(q==4||T||q==6&&E[x-1]&1||q==(S.s<0?8:7)),x<1||!E[0])te=T?od(m.charAt(1),-ie,m.charAt(0)):m.charAt(0);else{if(E.length=x,T)for(--P;++E[--x]>P;)E[x]=0,x||(++A,E=[1].concat(E));for(I=E.length;!E[--I];);for(U=0,te="";U<=I;te+=m.charAt(E[U++]));te=od(te,A,m.charAt(0))}return te}}(),e=function(){function $(W,P,b){var d,m,x,A,I=0,T=W.length,S=P%Ip,E=P/Ip|0;for(W=W.slice();T--;)x=W[T]%Ip,A=W[T]/Ip|0,d=E*x+A*S,m=S*x+d%Ip*Ip+I,I=(m/b|0)+(d/Ip|0)+E*A,W[T]=m%b;return I&&(W=[I].concat(W)),W}function V(W,P,b,d){var m,x;if(b!=d)x=b>d?1:-1;else for(m=x=0;mP[m]?1:-1;break}return x}function te(W,P,b,d){for(var m=0;b--;)W[b]-=m,m=W[b]1;W.splice(0,1));}return function(W,P,b,d,m){var x,A,I,T,S,E,_,U,ie,q,Y,K,ee,re,z,L,H,le=W.s==P.s?1:-1,de=W.c,Se=P.c;if(!de||!de[0]||!Se||!Se[0])return new M(!W.s||!P.s||(de?Se&&de[0]==Se[0]:!Se)?NaN:de&&de[0]==0||!Se?le*0:le/0);for(U=new M(le),ie=U.c=[],A=W.e-P.e,le=b+A+1,m||(m=Su,A=Il(W.e/Fr)-Il(P.e/Fr),le=le/Fr|0),I=0;Se[I]==(de[I]||0);I++);if(Se[I]>(de[I]||0)&&A--,le<0)ie.push(1),T=!0;else{for(re=de.length,L=Se.length,I=0,le+=2,S=Sl(m/(Se[0]+1)),S>1&&(Se=$(Se,S,m),de=$(de,S,m),L=Se.length,re=de.length),ee=L,q=de.slice(0,L),Y=q.length;Y=m/2&&z++;do{if(S=0,x=V(Se,q,L,Y),x<0){if(K=q[0],L!=Y&&(K=K*m+(q[1]||0)),S=Sl(K/z),S>1)for(S>=m&&(S=m-1),E=$(Se,S,m),_=E.length,Y=q.length;V(E,q,_,Y)==1;)S--,te(E,L<_?H:Se,_,m),_=E.length,x=1;else S==0&&(x=S=1),E=Se.slice(),_=E.length;if(_=10;le/=10,I++);G(U,b+(U.e=I+A*Fr-1)+1,d,T)}else U.e=A,U.r=+T;return U}}();function O($,V,te,W){var P,b,d,m,x;if(te==null?te=a:Yi(te,0,8),!$.c)return $.toString();if(P=$.c[0],d=$.e,V==null)x=Rl($.c),x=W==1||W==2&&(d<=l||d>=u)?lE(x,d):od(x,d,"0");else if($=G(new M($),V,te),b=$.e,x=Rl($.c),m=x.length,W==1||W==2&&(V<=b||b<=l)){for(;mm){if(--V>0)for(x+=".";V--;x+="0");}else if(V+=b-m,V>0)for(b+1==m&&(x+=".");V--;x+="0");return $.s<0&&P?"-"+x:x}function B($,V){for(var te,W,P=1,b=new M($[0]);P<$.length;P++)W=new M($[P]),(!W.s||(te=mg(b,W))===V||te===0&&b.s===V)&&(b=W);return b}function j($,V,te){for(var W=1,P=V.length;!V[--P];V.pop());for(P=V[0];P>=10;P/=10,W++);return(te=W+te*Fr-1)>p?$.c=$.e=null:te=10;m/=10,P++);if(b=V-P,b<0)b+=Fr,d=V,x=T[A=0],I=Sl(x/S[P-d-1]%10);else if(A=qT((b+1)/Fr),A>=T.length)if(W){for(;T.length<=A;T.push(0));x=I=0,P=1,b%=Fr,d=b-Fr+1}else break e;else{for(x=m=T[A],P=1;m>=10;m/=10,P++);b%=Fr,d=b-Fr+P,I=d<0?0:Sl(x/S[P-d-1]%10)}if(W=W||V<0||T[A+1]!=null||(d<0?x:x%S[P-d-1]),W=te<4?(I||W)&&(te==0||te==($.s<0?3:2)):I>5||I==5&&(te==4||W||te==6&&(b>0?d>0?x/S[P-d]:0:T[A-1])%10&1||te==($.s<0?8:7)),V<1||!T[0])return T.length=0,W?(V-=$.e+1,T[0]=S[(Fr-V%Fr)%Fr],$.e=-V||0):T[0]=$.e=0,$;if(b==0?(T.length=A,m=1,A--):(T.length=A+1,m=S[Fr-b],T[A]=d>0?Sl(x/S[P-d]%S[d])*m:0),W)for(;;)if(A==0){for(b=1,d=T[0];d>=10;d/=10,b++);for(d=T[0]+=m,m=1;d>=10;d/=10,m++);b!=m&&($.e++,T[0]==Su&&(T[0]=1));break}else{if(T[A]+=m,T[A]!=Su)break;T[A--]=0,m=1}for(b=T.length;T[--b]===0;T.pop());}$.e>p?$.c=$.e=null:$.e=u?lE(V,te):od(V,te,"0"),$.s<0?"-"+V:V)}return i.absoluteValue=i.abs=function(){var $=new M(this);return $.s<0&&($.s=1),$},i.comparedTo=function($,V){return mg(this,new M($,V))},i.decimalPlaces=i.dp=function($,V){var te,W,P,b=this;if($!=null)return Yi($,0,ao),V==null?V=a:Yi(V,0,8),G(new M(b),$+b.e+1,V);if(!(te=b.c))return null;if(W=((P=te.length-1)-Il(this.e/Fr))*Fr,P=te[P])for(;P%10==0;P/=10,W--);return W<0&&(W=0),W},i.dividedBy=i.div=function($,V){return e(this,new M($,V),o,a)},i.dividedToIntegerBy=i.idiv=function($,V){return e(this,new M($,V),0,1)},i.exponentiatedBy=i.pow=function($,V){var te,W,P,b,d,m,x,A,I,T=this;if($=new M($),$.c&&!$.isInteger())throw Error(oc+"Exponent not an integer: "+D($));if(V!=null&&(V=new M(V)),m=$.e>14,!T.c||!T.c[0]||T.c[0]==1&&!T.e&&T.c.length==1||!$.c||!$.c[0])return I=new M(Math.pow(+D(T),m?$.s*(2-cE($)):+D($))),V?I.mod(V):I;if(x=$.s<0,V){if(V.c?!V.c[0]:!V.s)return new M(NaN);W=!x&&T.isInteger()&&V.isInteger(),W&&(T=T.mod(V))}else{if($.e>9&&(T.e>0||T.e<-1||(T.e==0?T.c[0]>1||m&&T.c[1]>=24e7:T.c[0]<8e13||m&&T.c[0]<=9999975e7)))return b=T.s<0&&cE($)?-0:0,T.e>-1&&(b=1/b),new M(x?1/b:b);y&&(b=qT(y/Fr+2))}for(m?(te=new M(.5),x&&($.s=1),A=cE($)):(P=Math.abs(+D($)),A=P%2),I=new M(s);;){if(A){if(I=I.times(T),!I.c)break;b?I.c.length>b&&(I.c.length=b):W&&(I=I.mod(V))}if(P){if(P=Sl(P/2),P===0)break;A=P%2}else if($=$.times(te),G($,$.e+1,1),$.e>14)A=cE($);else{if(P=+D($),P===0)break;A=P%2}T=T.times(T),b?T.c&&T.c.length>b&&(T.c.length=b):W&&(T=T.mod(V))}return W?I:(x&&(I=s.div(I)),V?I.mod(V):b?G(I,y,a,d):I)},i.integerValue=function($){var V=new M(this);return $==null?$=a:Yi($,0,8),G(V,V.e+1,$)},i.isEqualTo=i.eq=function($,V){return mg(this,new M($,V))===0},i.isFinite=function(){return!!this.c},i.isGreaterThan=i.gt=function($,V){return mg(this,new M($,V))>0},i.isGreaterThanOrEqualTo=i.gte=function($,V){return(V=mg(this,new M($,V)))===1||V===0},i.isInteger=function(){return!!this.c&&Il(this.e/Fr)>this.c.length-2},i.isLessThan=i.lt=function($,V){return mg(this,new M($,V))<0},i.isLessThanOrEqualTo=i.lte=function($,V){return(V=mg(this,new M($,V)))===-1||V===0},i.isNaN=function(){return!this.s},i.isNegative=function(){return this.s<0},i.isPositive=function(){return this.s>0},i.isZero=function(){return!!this.c&&this.c[0]==0},i.minus=function($,V){var te,W,P,b,d=this,m=d.s;if($=new M($,V),V=$.s,!m||!V)return new M(NaN);if(m!=V)return $.s=-V,d.plus($);var x=d.e/Fr,A=$.e/Fr,I=d.c,T=$.c;if(!x||!A){if(!I||!T)return I?($.s=-V,$):new M(T?d:NaN);if(!I[0]||!T[0])return T[0]?($.s=-V,$):new M(I[0]?d:a==3?-0:0)}if(x=Il(x),A=Il(A),I=I.slice(),m=x-A){for((b=m<0)?(m=-m,P=I):(A=x,P=T),P.reverse(),V=m;V--;P.push(0));P.reverse()}else for(W=(b=(m=I.length)<(V=T.length))?m:V,m=V=0;V0)for(;V--;I[te++]=0);for(V=Su-1;W>m;){if(I[--W]=0;){for(te=0,S=K[P]%ie,E=K[P]/ie|0,d=x,b=P+d;b>P;)A=Y[--d]%ie,I=Y[d]/ie|0,m=E*A+I*S,A=S*A+m%ie*ie+_[b]+te,te=(A/U|0)+(m/ie|0)+E*I,_[b--]=A%U;_[b]=te}return te?++W:_.splice(0,1),j($,_,W)},i.negated=function(){var $=new M(this);return $.s=-$.s||null,$},i.plus=function($,V){var te,W=this,P=W.s;if($=new M($,V),V=$.s,!P||!V)return new M(NaN);if(P!=V)return $.s=-V,W.minus($);var b=W.e/Fr,d=$.e/Fr,m=W.c,x=$.c;if(!b||!d){if(!m||!x)return new M(P/0);if(!m[0]||!x[0])return x[0]?$:new M(m[0]?W:P*0)}if(b=Il(b),d=Il(d),m=m.slice(),P=b-d){for(P>0?(d=b,te=x):(P=-P,te=m),te.reverse();P--;te.push(0));te.reverse()}for(P=m.length,V=x.length,P-V<0&&(te=x,x=m,m=te,V=P),P=0;V;)P=(m[--V]=m[V]+x[V]+P)/Su|0,m[V]=Su===m[V]?0:m[V]%Su;return P&&(m=[P].concat(m),++d),j($,m,d)},i.precision=i.sd=function($,V){var te,W,P,b=this;if($!=null&&$!==!!$)return Yi($,1,ao),V==null?V=a:Yi(V,0,8),G(new M(b),$,V);if(!(te=b.c))return null;if(P=te.length-1,W=P*Fr+1,P=te[P]){for(;P%10==0;P/=10,W--);for(P=te[0];P>=10;P/=10,W++);}return $&&b.e+1>W&&(W=b.e+1),W},i.shiftedBy=function($){return Yi($,-WT,WT),this.times("1e"+$)},i.squareRoot=i.sqrt=function(){var $,V,te,W,P,b=this,d=b.c,m=b.s,x=b.e,A=o+4,I=new M("0.5");if(m!==1||!d||!d[0])return new M(!m||m<0&&(!d||d[0])?NaN:d?b:1/0);if(m=Math.sqrt(+D(b)),m==0||m==1/0?(V=Rl(d),(V.length+x)%2==0&&(V+="0"),m=Math.sqrt(+V),x=Il((x+1)/2)-(x<0||x%2),m==1/0?V="5e"+x:(V=m.toExponential(),V=V.slice(0,V.indexOf("e")+1)+x),te=new M(V)):te=new M(m+""),te.c[0]){for(x=te.e,m=x+A,m<3&&(m=0);;)if(P=te,te=I.times(P.plus(e(b,P,A,1))),Rl(P.c).slice(0,m)===(V=Rl(te.c)).slice(0,m))if(te.e0&&_>0){for(b=_%m||m,I=E.substr(0,b);b<_;b+=m)I+=A+E.substr(b,m);x>0&&(I+=A+E.slice(b)),S&&(I="-"+I)}W=T?I+(te.decimalSeparator||"")+((x=+te.fractionGroupSize)?T.replace(new RegExp("\\d{"+x+"}\\B","g"),"$&"+(te.fractionGroupSeparator||"")):T):I}return(te.prefix||"")+W+(te.suffix||"")},i.toFraction=function($){var V,te,W,P,b,d,m,x,A,I,T,S,E=this,_=E.c;if($!=null&&(m=new M($),!m.isInteger()&&(m.c||m.s!==1)||m.lt(s)))throw Error(oc+"Argument "+(m.isInteger()?"out of range: ":"not an integer: ")+D(m));if(!_)return new M(E);for(V=new M(s),A=te=new M(s),W=x=new M(s),S=Rl(_),b=V.e=S.length-E.e-1,V.c[0]=VT[(d=b%Fr)<0?Fr+d:d],$=!$||m.comparedTo(V)>0?b>0?V:A:m,d=p,p=1/0,m=new M(S),x.c[0]=0;I=e(m,V,0,1),P=te.plus(I.times(W)),P.comparedTo($)!=1;)te=W,W=P,A=x.plus(I.times(P=A)),x=P,V=m.minus(I.times(P=V)),m=P;return P=e($.minus(te),W,0,1),x=x.plus(P.times(A)),te=te.plus(P.times(W)),x.s=A.s=E.s,b=b*2,T=e(A,W,b,a).minus(E).abs().comparedTo(e(x,te,b,a).minus(E).abs())<1?[A,W]:[x,te],p=d,T},i.toNumber=function(){return+D(this)},i.toPrecision=function($,V){return $!=null&&Yi($,1,ao),O(this,$,V,2)},i.toString=function($){var V,te=this,W=te.s,P=te.e;return P===null?W?(V="Infinity",W<0&&(V="-"+V)):V="NaN":($==null?V=P<=l||P>=u?lE(Rl(te.c),P):od(Rl(te.c),P,"0"):$===10&&k?(te=G(new M(te),o+P+1,a),V=od(Rl(te.c),te.e,"0")):(Yi($,2,R.length,"Base"),V=t(od(Rl(te.c),P,"0"),10,$,W,!0)),W<0&&te.c[0]&&(V="-"+V)),V},i.valueOf=i.toJSON=function(){return D(this)},i._isBigNumber=!0,i[Symbol.toStringTag]="BigNumber",i[Symbol.for("nodejs.util.inspect.custom")]=i.valueOf,r!=null&&M.set(r),M}function Il(r){var e=r|0;return r>0||r===e?e:e-1}function Rl(r){for(var e,t,n=1,i=r.length,s=r[0]+"";nu^t?1:-1;for(a=(l=i.length)<(u=s.length)?l:u,o=0;os[o]^t?1:-1;return l==u?0:l>u^t?1:-1}function Yi(r,e,t,n){if(rt||r!==Sl(r))throw Error(oc+(n||"Argument")+(typeof r=="number"?rt?" out of range: ":" not an integer: ":" not a primitive number: ")+String(r))}function cE(r){var e=r.c.length-1;return Il(r.e/Fr)==e&&r.c[e]%2!=0}function lE(r,e){return(r.length>1?r.charAt(0)+"."+r.slice(1):r)+(e<0?"e":"e+")+e}function od(r,e,t){var n,i;if(e<0){for(i=t+".";++e;i+=t);r=i+r}else if(n=r.length,++e>n){for(i=t,e-=n;--e;i+=t);r+=i}else e{const t="1"+"0".repeat(e),n=new Qi(r.toString(10),10);return HT(n.times(t).toString(16))},ad=(r,e)=>{const t="1"+"0".repeat(e),n=new Qi(r.toString(),10);return parseFloat(n.dividedBy(t).toString())},Mwe=r=>{typeof r=="string"&&(r=new Uint8Array($t.from(r)));const e=[];let t=BigInt("0x"+$t.from(r).toString("hex"));for(;t>BigInt(0);){const n=Number(t%BigInt(58));e.unshift(GT[n]),t=t/BigInt(58)}for(let n=0;n{let e=BigInt(0);for(let i=0;i$t.from(r).toString("utf8"),Owe=r=>$t.from(r,"utf8"),Dwe=r=>!isNaN(Number(r)),MZ=async r=>{await new Promise(e=>setTimeout(e,r))},r4=(r,e)=>JSON.stringify(r)===JSON.stringify(e),$we=r=>{const[e,t]=r.toExponential().split("e").map(i=>parseFloat(i));let n=(e*Math.pow(10,t)).toString();return n=parseFloat(n).toString(),n},KT=async r=>await new Promise((e,t)=>{let n;typeof window<"u"?n=new WebSocket(r):n=new kwe.WebSocket(r),n.onopen=()=>{e(!0),n.close()},n.onerror=i=>{t(new Error(i.message)),n.close()}}),Bwe=Object.freeze(Object.defineProperty({__proto__:null,base58Decode:Nwe,base58Encode:Mwe,bufferToString:Pwe,checkWebSocket:KT,hexToNumber:ad,isMobile:()=>typeof window>"u"?!1:function(r){return!!(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(r)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(r.substr(0,4)))}(navigator.userAgent||navigator.vendor||window.opera),isNumeric:Dwe,isWebview:()=>{if(typeof window>"u")return!1;const r=window.navigator;if(window.WebViewJavascriptBridge||window.webkit&&window.webkit.messageHandlers||r.userAgent.match(/WebView/i))return!0;const e=r.standalone,t=r.userAgent.toLowerCase(),n=/safari/.test(t);return/iphone|ipod|ipad/.test(t)?!e&&!n:t.includes("wv")},math:{add:(r,e,t=18)=>parseFloat(new Qi(r).plus(new Qi(e)).toFixed(t)),sub:(r,e,t=18)=>parseFloat(new Qi(r).minus(new Qi(e)).toFixed(t)),mul:(r,e,t=18)=>parseFloat(new Qi(r).times(new Qi(e)).toFixed(t)),div:(r,e,t=18)=>parseFloat(new Qi(r).div(new Qi(e)).toFixed(t)),pow:(r,e,t=18)=>parseFloat(new Qi(r).pow(e).toFixed(t)),sqrt:(r,e=18)=>parseFloat(new Qi(r).sqrt().toFixed(e)),abs:(r,e=18)=>parseFloat(new Qi(r).absoluteValue().toFixed(e)),ceil:(r,e=18)=>parseFloat(new Qi(r).integerValue(Qi.ROUND_CEIL).toFixed(e)),floor:(r,e=18)=>parseFloat(new Qi(r).integerValue(Qi.ROUND_FLOOR).toFixed(e)),round:(r,e=18)=>parseFloat(new Qi(r).integerValue(Qi.ROUND_HALF_UP).toFixed(e))},numberToHex:t4,objectsEqual:r4,sleep:MZ,stringToBuffer:Owe,toHex:HT,toReadableString:$we},Symbol.toStringTag,{value:"Module"})),uE="6.11.1";function Lwe(r,e,t){const n=e.split("|").map(s=>s.trim());for(let s=0;sPromise.resolve(r[n])))).reduce((n,i,s)=>(n[e[s]]=i,n),{})}function er(r,e,t){for(let n in e){let i=e[n];const s=t?t[n]:null;s&&Lwe(i,s,n),Object.defineProperty(r,n,{enumerable:!0,value:i,writable:!1})}}function kw(r){if(r==null)return"null";if(Array.isArray(r))return"[ "+r.map(kw).join(", ")+" ]";if(r instanceof Uint8Array){const e="0123456789abcdef";let t="0x";for(let n=0;n>4],t+=e[r[n]&15];return t}if(typeof r=="object"&&typeof r.toJSON=="function")return kw(r.toJSON());switch(typeof r){case"boolean":case"symbol":return r.toString();case"bigint":return BigInt(r).toString();case"number":return r.toString();case"string":return JSON.stringify(r);case"object":{const e=Object.keys(r);return e.sort(),"{ "+e.map(t=>`${kw(t)}: ${kw(r[t])}`).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function Os(r,e){return r&&r.code===e}function n4(r){return Os(r,"CALL_EXCEPTION")}function Hi(r,e,t){let n=r;{const s=[];if(t){if("message"in t||"code"in t||"name"in t)throw new Error(`value will overwrite populated values: ${kw(t)}`);for(const o in t){if(o==="shortMessage")continue;const a=t[o];s.push(o+"="+kw(a))}}s.push(`code=${e}`),s.push(`version=${uE}`),s.length&&(r+=" ("+s.join(", ")+")")}let i;switch(e){case"INVALID_ARGUMENT":i=new TypeError(r);break;case"NUMERIC_FAULT":case"BUFFER_OVERRUN":i=new RangeError(r);break;default:i=new Error(r)}return er(i,{code:e}),t&&Object.assign(i,t),i.shortMessage==null&&er(i,{shortMessage:n}),i}function Ue(r,e,t,n){if(!r)throw Hi(e,t,n)}function xe(r,e,t,n){Ue(r,e,"INVALID_ARGUMENT",{argument:t,value:n})}function hE(r,e,t){t==null&&(t=""),t&&(t=": "+t),Ue(r>=e,"missing arguemnt"+t,"MISSING_ARGUMENT",{count:r,expectedCount:e}),Ue(r<=e,"too many arguments"+t,"UNEXPECTED_ARGUMENT",{count:r,expectedCount:e})}const Uwe=["NFD","NFC","NFKD","NFKC"].reduce((r,e)=>{try{if("test".normalize(e)!=="test")throw new Error("bad");if(e==="NFD"&&"é".normalize("NFD")!=="é")throw new Error("broken");r.push(e)}catch{}return r},[]);function fE(r){Ue(Uwe.indexOf(r)>=0,"platform missing String.prototype.normalize","UNSUPPORTED_OPERATION",{operation:"String.prototype.normalize",info:{form:r}})}function Uh(r,e,t){if(t==null&&(t=""),r!==e){let n=t,i="new";t&&(n+=".",i+=" "+t),Ue(!1,`private constructor; use ${n}from* methods`,"UNSUPPORTED_OPERATION",{operation:i})}}function NZ(r,e,t){if(r instanceof Uint8Array)return t?new Uint8Array(r):r;if(typeof r=="string"&&r.match(/^0x([0-9a-f][0-9a-f])*$/i)){const n=new Uint8Array((r.length-2)/2);let i=2;for(let s=0;s>4]+PZ[i&15]}return t}function An(r){return"0x"+r.map(e=>St(e).substring(2)).join("")}function cd(r){return ci(r,!0)?(r.length-2)/2:Dt(r).length}function li(r,e,t){const n=Dt(r);return t!=null&&t>n.length&&Ue(!1,"cannot slice beyond data bounds","BUFFER_OVERRUN",{buffer:n,length:n.length,offset:t}),St(n.slice(e??0,t??n.length))}function OZ(r){let e=St(r).substring(2);for(;e.startsWith("00");)e=e.substring(2);return"0x"+e}function DZ(r,e,t){const n=Dt(r);Ue(e>=n.length,"padding exceeds data length","BUFFER_OVERRUN",{buffer:new Uint8Array(n),length:e,offset:e+1});const i=new Uint8Array(e);return i.fill(0),t?i.set(n,e-n.length):i.set(n,0),St(i)}function Po(r,e){return DZ(r,e,!0)}function i4(r,e){return DZ(r,e,!1)}const pE=BigInt(0),Iu=BigInt(1),Mw=9007199254740991;function Nw(r,e){const t=Pw(r,"value"),n=BigInt(Ir(e,"width"));if(Ue(t>>n===pE,"overflow","NUMERIC_FAULT",{operation:"fromTwos",fault:"overflow",value:r}),t>>n-Iu){const i=(Iu<=-Mw&&r<=Mw,"overflow",e||"value",r),BigInt(r);case"string":try{if(r==="")throw new Error("empty string");return r[0]==="-"&&r[1]!=="-"?-BigInt(r.substring(1)):BigInt(r)}catch(t){xe(!1,`invalid BigNumberish string: ${t.message}`,e||"value",r)}}xe(!1,"invalid BigNumberish value",e||"value",r)}function Pw(r,e){const t=cr(r,e);return Ue(t>=pE,"unsigned value cannot be negative","NUMERIC_FAULT",{fault:"overflow",operation:"getUint",value:r}),t}const $Z="0123456789abcdef";function bg(r){if(r instanceof Uint8Array){let e="0x0";for(const t of r)e+=$Z[t>>4],e+=$Z[t&15];return BigInt(e)}return cr(r)}function Ir(r,e){switch(typeof r){case"bigint":return xe(r>=-Mw&&r<=Mw,"overflow",e||"value",r),Number(r);case"number":return xe(Number.isInteger(r),"underflow",e||"value",r),xe(r>=-Mw&&r<=Mw,"overflow",e||"value",r),r;case"string":try{if(r==="")throw new Error("empty string");return Ir(BigInt(r),e)}catch(t){xe(!1,`invalid numeric string: ${t.message}`,e||"value",r)}}xe(!1,"invalid numeric value",e||"value",r)}function ZT(r){return Ir(bg(r))}function Ru(r,e){let n=Pw(r,"value").toString(16);if(e==null)n.length%2&&(n="0"+n);else{const i=Ir(e,"width");for(Ue(i*2>=n.length,`value exceeds width (${i} bytes)`,"NUMERIC_FAULT",{operation:"toBeHex",fault:"overflow",value:r});n.length>6===2;o++)s++;return s}return r==="OVERRUN"?t.length-e-1:0}function Hwe(r,e,t,n,i){return r==="OVERLONG"?(xe(typeof i=="number","invalid bad code point for replacement","badCodepoint",i),n.push(i),0):(n.push(65533),BZ(r,e,t))}const ek=Object.freeze({error:zwe,ignore:BZ,replace:Hwe});function LZ(r,e){e==null&&(e=ek.error);const t=Dt(r,"bytes"),n=[];let i=0;for(;i>7)){n.push(s);continue}let o=null,a=null;if((s&224)===192)o=1,a=127;else if((s&240)===224)o=2,a=2047;else if((s&248)===240)o=3,a=65535;else{(s&192)===128?i+=e("UNEXPECTED_CONTINUE",i-1,t,n):i+=e("BAD_PREFIX",i-1,t,n);continue}if(i-1+o>=t.length){i+=e("OVERRUN",i-1,t,n);continue}let l=s&(1<<8-o-1)-1;for(let u=0;u1114111){i+=e("OUT_OF_RANGE",i-1-o,t,n,l);continue}if(l>=55296&&l<=57343){i+=e("UTF16_SURROGATE",i-1-o,t,n,l);continue}if(l<=a){i+=e("OVERLONG",i-1-o,t,n,l);continue}n.push(l)}}return n}function Ds(r,e){xe(typeof r=="string","invalid string value","str",r),e!=null&&(fE(e),r=r.normalize(e));let t=[];for(let n=0;n>6|192),t.push(i&63|128);else if((i&64512)==55296){n++;const s=r.charCodeAt(n);xe(n>18|240),t.push(o>>12&63|128),t.push(o>>6&63|128),t.push(o&63|128)}else t.push(i>>12|224),t.push(i>>6&63|128),t.push(i&63|128)}return new Uint8Array(t)}function qwe(r){return r.map(e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10&1023)+55296,(e&1023)+56320))).join("")}function hd(r,e){return qwe(LZ(r,e))}function UZ(r,e){return LZ(Ds(r,e))}function FZ(r){async function e(t,n){const i=t.url.split(":")[0].toLowerCase();Ue(i==="http"||i==="https",`unsupported protocol ${i}`,"UNSUPPORTED_OPERATION",{info:{protocol:i},operation:"request"}),Ue(i==="https"||!t.credentials||t.allowInsecureAuthentication,"insecure authorized connections unsupported","UNSUPPORTED_OPERATION",{operation:"request"});let s;if(n){const p=new AbortController;s=p.signal,n.addListener(()=>{p.abort()})}const o={method:t.method,headers:new Headers(Array.from(t)),body:t.body||void 0,signal:s},a=await fetch(t.url,o),l={};a.headers.forEach((p,g)=>{l[g.toLowerCase()]=p});const u=await a.arrayBuffer(),h=u==null?null:new Uint8Array(u);return{statusCode:a.status,statusMessage:a.statusText,headers:l,body:h}}return e}const Wwe=12,Vwe=250;let jZ=FZ();const Gwe=new RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),Kwe=new RegExp("^ipfs://(ipfs/)?(.*)$","i");let tk=!1;async function zZ(r,e){try{const t=r.match(Gwe);if(!t)throw new Error("invalid data");return new Fh(200,"OK",{"content-type":t[1]||"text/plain"},t[2]?QT(t[3]):Zwe(t[3]))}catch{return new Fh(599,"BAD REQUEST (invalid data: URI)",{},null,new Oo(r))}}function HZ(r){async function e(t,n){try{const i=t.match(Kwe);if(!i)throw new Error("invalid link");return new Oo(`${r}${i[2]}`)}catch{return new Fh(599,"BAD REQUEST (invalid IPFS URI)",{},null,new Oo(t))}}return e}const vE={data:zZ,ipfs:HZ("https://gateway.ipfs.io/ipfs/")},qZ=new WeakMap;class rk{constructor(e){Ne(this,I2,void 0);Ne(this,F1,void 0);me(this,I2,[]),me(this,F1,!1),qZ.set(e,()=>{if(!oe(this,F1)){me(this,F1,!0);for(const t of oe(this,I2))setTimeout(()=>{t()},0);me(this,I2,[])}})}addListener(e){Ue(!oe(this,F1),"singal already cancelled","UNSUPPORTED_OPERATION",{operation:"fetchCancelSignal.addCancelListener"}),oe(this,I2).push(e)}get cancelled(){return oe(this,F1)}checkSignal(){Ue(!this.cancelled,"cancelled","CANCELLED",{})}}I2=new WeakMap,F1=new WeakMap;function yE(r){if(r==null)throw new Error("missing signal; should not happen");return r.checkSignal(),r}const HR=class HR{constructor(e){Ne(this,M2);Ne(this,k3,void 0);Ne(this,M3,void 0);Ne(this,ch,void 0);Ne(this,p0,void 0);Ne(this,N3,void 0);Ne(this,P3,void 0);Ne(this,ko,void 0);Ne(this,rl,void 0);Ne(this,g0,void 0);Ne(this,R2,void 0);Ne(this,T2,void 0);Ne(this,k2,void 0);Ne(this,jf,void 0);Ne(this,m0,void 0);Ne(this,j1,void 0);me(this,P3,String(e)),me(this,k3,!1),me(this,M3,!0),me(this,ch,{}),me(this,p0,""),me(this,N3,3e5),me(this,m0,{slotInterval:Vwe,maxAttempts:Wwe}),me(this,j1,null)}get url(){return oe(this,P3)}set url(e){me(this,P3,String(e))}get body(){return oe(this,ko)==null?null:new Uint8Array(oe(this,ko))}set body(e){if(e==null)me(this,ko,void 0),me(this,rl,void 0);else if(typeof e=="string")me(this,ko,Ds(e)),me(this,rl,"text/plain");else if(e instanceof Uint8Array)me(this,ko,e),me(this,rl,"application/octet-stream");else if(typeof e=="object")me(this,ko,Ds(JSON.stringify(e))),me(this,rl,"application/json");else throw new Error("invalid body")}hasBody(){return oe(this,ko)!=null}get method(){return oe(this,p0)?oe(this,p0):this.hasBody()?"POST":"GET"}set method(e){e==null&&(e=""),me(this,p0,String(e).toUpperCase())}get headers(){const e=Object.assign({},oe(this,ch));return oe(this,g0)&&(e.authorization=`Basic ${XT(Ds(oe(this,g0)))}`),this.allowGzip&&(e["accept-encoding"]="gzip"),e["content-type"]==null&&oe(this,rl)&&(e["content-type"]=oe(this,rl)),this.body&&(e["content-length"]=String(this.body.length)),e}getHeader(e){return this.headers[e.toLowerCase()]}setHeader(e,t){oe(this,ch)[String(e).toLowerCase()]=String(t)}clearHeaders(){me(this,ch,{})}[Symbol.iterator](){const e=this.headers,t=Object.keys(e);let n=0;return{next:()=>{if(n=0,"timeout must be non-zero","timeout",e),me(this,N3,e)}get preflightFunc(){return oe(this,R2)||null}set preflightFunc(e){me(this,R2,e)}get processFunc(){return oe(this,T2)||null}set processFunc(e){me(this,T2,e)}get retryFunc(){return oe(this,k2)||null}set retryFunc(e){me(this,k2,e)}get getUrlFunc(){return oe(this,j1)||jZ}set getUrlFunc(e){me(this,j1,e)}toString(){return``}setThrottleParams(e){e.slotInterval!=null&&(oe(this,m0).slotInterval=e.slotInterval),e.maxAttempts!=null&&(oe(this,m0).maxAttempts=e.maxAttempts)}send(){return Ue(oe(this,jf)==null,"request already sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.send"}),me(this,jf,new rk(this)),rt(this,M2,m_).call(this,0,WZ()+this.timeout,0,this,new Fh(0,"",{},null,this))}cancel(){Ue(oe(this,jf)!=null,"request has not been sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.cancel"});const e=qZ.get(this);if(!e)throw new Error("missing signal; should not happen");e()}redirect(e){const t=this.url.split(":")[0].toLowerCase(),n=e.split(":")[0].toLowerCase();Ue(this.method==="GET"&&(t!=="https"||n!=="http")&&e.match(/^https?:/),"unsupported redirect","UNSUPPORTED_OPERATION",{operation:`redirect(${this.method} ${JSON.stringify(this.url)} => ${JSON.stringify(e)})`});const i=new HR(e);return i.method="GET",i.allowGzip=this.allowGzip,i.timeout=this.timeout,me(i,ch,Object.assign({},oe(this,ch))),oe(this,ko)&&me(i,ko,new Uint8Array(oe(this,ko))),me(i,rl,oe(this,rl)),i}clone(){const e=new HR(this.url);return me(e,p0,oe(this,p0)),oe(this,ko)&&me(e,ko,oe(this,ko)),me(e,rl,oe(this,rl)),me(e,ch,Object.assign({},oe(this,ch))),me(e,g0,oe(this,g0)),this.allowGzip&&(e.allowGzip=!0),e.timeout=this.timeout,this.allowInsecureAuthentication&&(e.allowInsecureAuthentication=!0),me(e,R2,oe(this,R2)),me(e,T2,oe(this,T2)),me(e,k2,oe(this,k2)),me(e,j1,oe(this,j1)),e}static lockConfig(){tk=!0}static getGateway(e){return vE[e.toLowerCase()]||null}static registerGateway(e,t){if(e=e.toLowerCase(),e==="http"||e==="https")throw new Error(`cannot intercept ${e}; use registerGetUrl`);if(tk)throw new Error("gateways locked");vE[e]=t}static registerGetUrl(e){if(tk)throw new Error("gateways locked");jZ=e}static createGetUrlFunc(e){return FZ()}static createDataGateway(){return zZ}static createIpfsGatewayFunc(e){return HZ(e)}};k3=new WeakMap,M3=new WeakMap,ch=new WeakMap,p0=new WeakMap,N3=new WeakMap,P3=new WeakMap,ko=new WeakMap,rl=new WeakMap,g0=new WeakMap,R2=new WeakMap,T2=new WeakMap,k2=new WeakMap,jf=new WeakMap,m0=new WeakMap,j1=new WeakMap,M2=new WeakSet,m_=async function(e,t,n,i,s){var h,p,g;if(e>=oe(this,m0).maxAttempts)return s.makeServerError("exceeded maximum retry limit");Ue(WZ()<=t,"timeout","TIMEOUT",{operation:"request.send",reason:"timeout",request:i}),n>0&&await Jwe(n);let o=this.clone();const a=(o.url.split(":")[0]||"").toLowerCase();if(a in vE){const w=await vE[a](o.url,yE(oe(i,jf)));if(w instanceof Fh){let y=w;if(this.processFunc){yE(oe(i,jf));try{y=await this.processFunc(o,y)}catch(C){(C.throttle==null||typeof C.stall!="number")&&y.makeServerError("error in post-processing function",C).assertOk()}}return y}o=w}this.preflightFunc&&(o=await this.preflightFunc(o));const l=await this.getUrlFunc(o,yE(oe(i,jf)));let u=new Fh(l.statusCode,l.statusMessage,l.headers,l.body,i);if(u.statusCode===301||u.statusCode===302){try{const w=u.headers.location||"";return rt(h=o.redirect(w),M2,m_).call(h,e+1,t,0,i,u)}catch{}return u}else if(u.statusCode===429&&(this.retryFunc==null||await this.retryFunc(o,u,e))){const w=u.headers["retry-after"];let y=oe(this,m0).slotInterval*Math.trunc(Math.random()*Math.pow(2,e));return typeof w=="string"&&w.match(/^[1-9][0-9]*$/)&&(y=parseInt(w)),rt(p=o.clone(),M2,m_).call(p,e+1,t,y,i,u)}if(this.processFunc){yE(oe(i,jf));try{u=await this.processFunc(o,u)}catch(w){(w.throttle==null||typeof w.stall!="number")&&u.makeServerError("error in post-processing function",w).assertOk();let y=oe(this,m0).slotInterval*Math.trunc(Math.random()*Math.pow(2,e));return w.stall>=0&&(y=w.stall),rt(g=o.clone(),M2,m_).call(g,e+1,t,y,i,u)}}return u};let Oo=HR;const dj=class dj{constructor(e,t,n,i,s){Ne(this,Nx,void 0);Ne(this,Px,void 0);Ne(this,Ox,void 0);Ne(this,nl,void 0);Ne(this,O3,void 0);Ne(this,N2,void 0);me(this,Nx,e),me(this,Px,t),me(this,Ox,Object.keys(n).reduce((o,a)=>(o[a.toLowerCase()]=String(n[a]),o),{})),me(this,nl,i==null?null:new Uint8Array(i)),me(this,O3,s||null),me(this,N2,{message:""})}toString(){return``}get statusCode(){return oe(this,Nx)}get statusMessage(){return oe(this,Px)}get headers(){return Object.assign({},oe(this,Ox))}get body(){return oe(this,nl)==null?null:new Uint8Array(oe(this,nl))}get bodyText(){try{return oe(this,nl)==null?"":hd(oe(this,nl))}catch{Ue(!1,"response body is not valid UTF-8 data","UNSUPPORTED_OPERATION",{operation:"bodyText",info:{response:this}})}}get bodyJson(){try{return JSON.parse(this.bodyText)}catch{Ue(!1,"response body is not valid JSON","UNSUPPORTED_OPERATION",{operation:"bodyJson",info:{response:this}})}}[Symbol.iterator](){const e=this.headers,t=Object.keys(e);let n=0;return{next:()=>{if(n=0,"invalid stall timeout","stall",t);const n=new Error(e||"throttling requests");throw er(n,{stall:t,throttle:!0}),n}getHeader(e){return this.headers[e.toLowerCase()]}hasBody(){return oe(this,nl)!=null}get request(){return oe(this,O3)}ok(){return oe(this,N2).message===""&&this.statusCode>=200&&this.statusCode<300}assertOk(){if(this.ok())return;let{message:e,error:t}=oe(this,N2);e===""&&(e=`server response ${this.statusCode} ${this.statusMessage}`);let n=null;this.request&&(n=this.request.url);let i=null;try{oe(this,nl)&&(i=hd(oe(this,nl)))}catch{}Ue(!1,e,"SERVER_ERROR",{request:this.request||"unknown request",response:this,error:t,info:{requestUrl:n,responseBody:i,responseStatus:`${this.statusCode} ${this.statusMessage}`}})}};Nx=new WeakMap,Px=new WeakMap,Ox=new WeakMap,nl=new WeakMap,O3=new WeakMap,N2=new WeakMap;let Fh=dj;function WZ(){return new Date().getTime()}function Zwe(r){return Ds(r.replace(/%([0-9a-f][0-9a-f])/gi,(e,t)=>String.fromCharCode(parseInt(t,16))))}function Jwe(r){return new Promise(e=>setTimeout(e,r))}const Ywe=BigInt(-1),Tu=BigInt(0),Ow=BigInt(1),Qwe=BigInt(5),Dw={};let $w="0000";for(;$w.length<80;)$w+=$w;function wg(r){let e=$w;for(;e.length=-i&&rTu?r=Nw(ld(r,n),n):r=-Nw(ld(-r,n),n)}else{const i=Ow<=0&&rs[a]==null?u:(xe(typeof s[a]===l,"invalid fixed format ("+a+" not "+l+")","format."+a,s[a]),s[a]);e=o("signed","boolean",e),t=o("width","number",t),n=o("decimals","number",n)}xe(t%8===0,"invalid FixedNumber width (not byte aligned)","format.width",t),xe(n<=80,"invalid FixedNumber decimals (too large)","format.decimals",n);const i=(e?"":"u")+"fixed"+String(t)+"x"+String(n);return{signed:e,width:t,decimals:n,name:i}}function Xwe(r,e){let t="";r0?n*=wg(i):i<0&&(t*=wg(-i)),tn?1:0}eq(e){return this.cmp(e)===0}lt(e){return this.cmp(e)<0}lte(e){return this.cmp(e)<=0}gt(e){return this.cmp(e)>0}gte(e){return this.cmp(e)>=0}floor(){let e=oe(this,gi);return oe(this,gi)Tu&&(e+=oe(this,Va)-Ow),e=oe(this,gi)/oe(this,Va)*oe(this,Va),rt(this,uh,yp).call(this,e,"ceiling")}round(e){if(e==null&&(e=0),e>=this.decimals)return this;const t=this.decimals-e,n=Qwe*wg(t-1);let i=this.value+n;const s=wg(t);return i=i/s*s,o4(i,oe(this,lh),"round"),new z1(Dw,i,oe(this,lh))}isZero(){return oe(this,gi)===Tu}isNegative(){return oe(this,gi)0){const l=wg(a);Ue(o%l===Tu,"value loses precision for format","NUMERIC_FAULT",{operation:"fromValue",fault:"underflow",value:e}),o/=l}else a<0&&(o*=wg(-a));return o4(o,s,"fromValue"),new z1(Dw,o,s)}static fromString(e,t){const n=e.match(/^(-?)([0-9]*)\.?([0-9]*)$/);xe(n&&n[2].length+n[3].length>0,"invalid FixedNumber string value","value",e);const i=nk(t);let s=n[2]||"0",o=n[3]||"";for(;o.length{Ue(n<=r.length,"data short segment too short","BUFFER_OVERRUN",{buffer:r,length:r.length,offset:n})};if(r[e]>=248){const n=r[e]-247;t(e+1+n);const i=VZ(r,e+1,n);return t(e+1+n+i),GZ(r,e,e+1+n,n+i)}else if(r[e]>=192){const n=r[e]-192;return t(e+1+n),GZ(r,e,e+1,n)}else if(r[e]>=184){const n=r[e]-183;t(e+1+n);const i=VZ(r,e+1,n);t(e+1+n+i);const s=St(r.slice(e+1+n,e+1+n+i));return{consumed:1+n+i,result:s}}else if(r[e]>=128){const n=r[e]-128;t(e+1+n);const i=St(r.slice(e+1,e+1+n));return{consumed:1+n,result:i}}return{consumed:1,result:eve(r[e])}}function Lw(r){const e=Dt(r,"data"),t=KZ(e,0);return xe(t.consumed===e.length,"unexpected junk after rlp payload","data",r),t.result}function ZZ(r){const e=[];for(;r;)e.unshift(r&255),r>>=8;return e}function JZ(r){if(Array.isArray(r)){let n=[];if(r.forEach(function(s){n=n.concat(JZ(s))}),n.length<=55)return n.unshift(192+n.length),n;const i=ZZ(n.length);return i.unshift(247+i.length),i.concat(n)}const e=Array.prototype.slice.call(Dt(r,"object"));if(e.length===1&&e[0]<=127)return e;if(e.length<=55)return e.unshift(128+e.length),e;const t=ZZ(e.length);return t.unshift(183+t.length),t.concat(e)}const YZ="0123456789abcdef";function Rp(r){let e="0x";for(const t of JZ(r))e+=YZ[t>>4],e+=YZ[t&15];return e}const QZ=["wei","kwei","mwei","gwei","szabo","finney","ether"];function xE(r,e){let t=18;if(typeof e=="string"){const n=QZ.indexOf(e);xe(n>=0,"invalid unit","unit",e),t=3*n}else e!=null&&(t=Ir(e,"unit"));return Bw.fromValue(r,t,{decimals:t,width:512}).toString()}function _E(r,e){xe(typeof r=="string","value must be a string","value",r);let t=18;if(typeof e=="string"){const n=QZ.indexOf(e);xe(n>=0,"invalid unit","unit",e),t=3*n}else e!=null&&(t=Ir(e,"unit"));return Bw.fromString(r,{decimals:t,width:512}).value}function ik(r){return xE(r,18)}function XZ(r){return _E(r,18)}function sk(r){const e=Dt(r,"randomBytes");e[6]=e[6]&15|64,e[8]=e[8]&63|128;const t=St(e);return[t.substring(2,10),t.substring(10,14),t.substring(14,18),t.substring(18,22),t.substring(22,34)].join("-")}const Ca=32,ok=new Uint8Array(Ca),tve=["then"],EE={};function a4(r,e){const t=new Error(`deferred error during ABI decoding triggered accessing ${r}`);throw t.error=e,t}const Ux=class Ux extends Array{constructor(...t){const n=t[0];let i=t[1],s=(t[2]||[]).slice(),o=!0;n!==EE&&(i=t,s=[],o=!1);super(i.length);Ne(this,H1,void 0);i.forEach((l,u)=>{this[u]=l});const a=s.reduce((l,u)=>(typeof u=="string"&&l.set(u,(l.get(u)||0)+1),l),new Map);if(me(this,H1,Object.freeze(i.map((l,u)=>{const h=s[u];return h!=null&&a.get(h)===1?h:null}))),!!o)return Object.freeze(this),new Proxy(this,{get:(l,u,h)=>{if(typeof u=="string"){if(u.match(/^[0-9]+$/)){const g=Ir(u,"%index");if(g<0||g>=this.length)throw new RangeError("out of result range");const w=l[g];return w instanceof Error&&a4(`index ${g}`,w),w}if(tve.indexOf(u)>=0)return Reflect.get(l,u,h);const p=l[u];if(p instanceof Function)return function(...g){return p.apply(this===h?l:this,g)};if(!(u in l))return l.getValue.apply(this===h?l:this,[u])}return Reflect.get(l,u,h)}})}toArray(){const t=[];return this.forEach((n,i)=>{n instanceof Error&&a4(`index ${i}`,n),t.push(n)}),t}toObject(){return oe(this,H1).reduce((t,n,i)=>(Ue(n!=null,"value at index ${ index } unnamed","UNSUPPORTED_OPERATION",{operation:"toObject()"}),n in t||(t[n]=this.getValue(n)),t),{})}slice(t,n){t==null&&(t=0),t<0&&(t+=this.length,t<0&&(t=0)),n==null&&(n=this.length),n<0&&(n+=this.length,n<0&&(n=0)),n>this.length&&(n=this.length);const i=[],s=[];for(let o=t;o{oe(this,w0)[e]=tJ(t)}}}w0=new WeakMap,P2=new WeakMap,D3=new WeakSet,eT=function(e){return oe(this,w0).push(e),me(this,P2,oe(this,P2)+e.length),e.length};const pj=class pj{constructor(e,t,n){Ne(this,Fx);Ne(this,qR);Ee(this,"allowLoose");Ne(this,Ac,void 0);Ne(this,il,void 0);Ne(this,O2,void 0);Ne(this,D2,void 0);Ne(this,q1,void 0);er(this,{allowLoose:!!t}),me(this,Ac,Hs(e)),me(this,O2,0),me(this,D2,null),me(this,q1,n??1024),me(this,il,0)}get data(){return St(oe(this,Ac))}get dataLength(){return oe(this,Ac).length}get consumed(){return oe(this,il)}get bytes(){return new Uint8Array(oe(this,Ac))}subReader(e){const t=new pj(oe(this,Ac).slice(oe(this,il)+e),this.allowLoose,oe(this,q1));return me(t,D2,this),t}readBytes(e,t){let n=rt(this,qR,yge).call(this,0,e,!!t);return rt(this,Fx,rK).call(this,e),me(this,il,oe(this,il)+n.length),n.slice(0,e)}readValue(){return bg(this.readBytes(Ca))}readIndex(){return ZT(this.readBytes(Ca))}};Ac=new WeakMap,il=new WeakMap,O2=new WeakMap,D2=new WeakMap,q1=new WeakMap,Fx=new WeakSet,rK=function(e){var t;if(oe(this,D2))return rt(t=oe(this,D2),Fx,rK).call(t,e);me(this,O2,oe(this,O2)+e),Ue(oe(this,q1)<1||oe(this,O2)<=oe(this,q1)*this.dataLength,`compressed ABI data exceeds inflation ratio of ${oe(this,q1)} ( see: https://github.com/ethers-io/ethers.js/issues/4537 )`,"BUFFER_OVERRUN",{buffer:Hs(oe(this,Ac)),offset:oe(this,il),length:e,info:{bytesRead:oe(this,O2),dataLength:this.dataLength}})},qR=new WeakSet,yge=function(e,t,n){let i=Math.ceil(t/Ca)*Ca;return oe(this,il)+i>oe(this,Ac).length&&(this.allowLoose&&n&&oe(this,il)+t<=oe(this,Ac).length?i=t:Ue(!1,"data out-of-bounds","BUFFER_OVERRUN",{buffer:Hs(oe(this,Ac)),length:oe(this,Ac).length,offset:oe(this,il)+i})),oe(this,Ac).slice(oe(this,il),oe(this,il)+i)};let ck=pj;function Tc(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`Wrong positive integer: ${r}`)}function lk(r,...e){if(!(r instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(r.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${r.length}`)}function rJ(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Tc(r.outputLen),Tc(r.blockLen)}function Fw(r,e=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(e&&r.finished)throw new Error("Hash#digest() has already been called")}function nJ(r,e){lk(r);const t=e.outputLen;if(r.lengthr instanceof Uint8Array,AE=r=>new Uint32Array(r.buffer,r.byteOffset,Math.floor(r.byteLength/4)),CE=r=>new DataView(r.buffer,r.byteOffset,r.byteLength),jh=(r,e)=>r<<32-e|r>>>e;if(!(new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68))throw new Error("Non little-endian hardware is not supported");const rve=async()=>{};async function sJ(r,e,t){let n=Date.now();for(let i=0;i=0&&sn+i.length,0));let t=0;return r.forEach(n=>{if(!iJ(n))throw new Error("Uint8Array expected");e.set(n,t),t+=n.length}),e}let hk=class{clone(){return this._cloneInto()}};const sve={}.toString;function oJ(r,e){if(e!==void 0&&sve.call(e)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(r,e)}function SE(r){const e=n=>r().update(jw(n)).digest(),t=r();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>r(),e}function ove(r=32){if(uk&&typeof uk.getRandomValues=="function")return uk.getRandomValues(new Uint8Array(r));throw new Error("crypto.getRandomValues must be defined")}let aJ=class extends hk{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,rJ(e);const n=jw(t);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const i=this.blockLen,s=new Uint8Array(i);s.set(n.length>i?e.create().update(n).digest():n);for(let o=0;onew aJ(r,e).update(t).digest();IE.create=(r,e)=>new aJ(r,e);function ave(r,e,t,n){rJ(r);const i=oJ({dkLen:32,asyncTick:10},n),{c:s,dkLen:o,asyncTick:a}=i;if(Tc(s),Tc(o),Tc(a),s<1)throw new Error("PBKDF2: iterations (c) should be >= 1");const l=jw(e),u=jw(t),h=new Uint8Array(o),p=IE.create(r,l),g=p._cloneInto().update(u);return{c:s,dkLen:o,asyncTick:a,DK:h,PRF:p,PRFSalt:g}}function cve(r,e,t,n,i){return r.destroy(),e.destroy(),n&&n.destroy(),i.fill(0),t}function fk(r,e,t,n){const{c:i,dkLen:s,DK:o,PRF:a,PRFSalt:l}=ave(r,e,t,n);let u;const h=new Uint8Array(4),p=CE(h),g=new Uint8Array(a.outputLen);for(let w=1,y=0;y>i&s),a=Number(t&s),l=n?4:0,u=n?0:4;r.setUint32(e+l,o,n),r.setUint32(e+u,a,n)}class dk extends hk{constructor(e,t,n,i){super(),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=CE(this.buffer)}update(e){Fw(this);const{view:t,buffer:n,blockLen:i}=this;e=jw(e);const s=e.length;for(let o=0;oi-o&&(this.process(n,0),o=0);for(let p=o;ph.length)throw new Error("_sha2: outputLen bigger than state");for(let p=0;pr&e^~r&t,hve=(r,e,t)=>r&e^r&t^e&t,fve=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,2756734187,3204031479,3329325298]),Tp=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),kp=new Uint32Array(64);class dve extends dk{constructor(){super(64,32,8,!1),this.A=Tp[0]|0,this.B=Tp[1]|0,this.C=Tp[2]|0,this.D=Tp[3]|0,this.E=Tp[4]|0,this.F=Tp[5]|0,this.G=Tp[6]|0,this.H=Tp[7]|0}get(){const{A:e,B:t,C:n,D:i,E:s,F:o,G:a,H:l}=this;return[e,t,n,i,s,o,a,l]}set(e,t,n,i,s,o,a,l){this.A=e|0,this.B=t|0,this.C=n|0,this.D=i|0,this.E=s|0,this.F=o|0,this.G=a|0,this.H=l|0}process(e,t){for(let p=0;p<16;p++,t+=4)kp[p]=e.getUint32(t,!1);for(let p=16;p<64;p++){const g=kp[p-15],w=kp[p-2],y=jh(g,7)^jh(g,18)^g>>>3,C=jh(w,17)^jh(w,19)^w>>>10;kp[p]=C+kp[p-7]+y+kp[p-16]|0}let{A:n,B:i,C:s,D:o,E:a,F:l,G:u,H:h}=this;for(let p=0;p<64;p++){const g=jh(a,6)^jh(a,11)^jh(a,25),w=h+g+uve(a,l,u)+fve[p]+kp[p]|0,C=(jh(n,2)^jh(n,13)^jh(n,22))+hve(n,i,s)|0;h=u,u=l,l=a,a=o+w|0,o=s,s=i,i=n,n=w+C|0}n=n+this.A|0,i=i+this.B|0,s=s+this.C|0,o=o+this.D|0,a=a+this.E|0,l=l+this.F|0,u=u+this.G|0,h=h+this.H|0,this.set(n,i,s,o,a,l,u,h)}roundClean(){kp.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const zw=SE(()=>new dve),RE=BigInt(2**32-1),pk=BigInt(32);function cJ(r,e=!1){return e?{h:Number(r&RE),l:Number(r>>pk&RE)}:{h:Number(r>>pk&RE)|0,l:Number(r&RE)|0}}function lJ(r,e=!1){let t=new Uint32Array(r.length),n=new Uint32Array(r.length);for(let i=0;iBigInt(r>>>0)<>>0),gve=(r,e,t)=>r>>>t,mve=(r,e,t)=>r<<32-t|e>>>t,bve=(r,e,t)=>r>>>t|e<<32-t,wve=(r,e,t)=>r<<32-t|e>>>t,vve=(r,e,t)=>r<<64-t|e>>>t-32,yve=(r,e,t)=>r>>>t-32|e<<64-t,xve=(r,e)=>e,_ve=(r,e)=>r,uJ=(r,e,t)=>r<>>32-t,hJ=(r,e,t)=>e<>>32-t,fJ=(r,e,t)=>e<>>64-t,dJ=(r,e,t)=>r<>>64-t;function Eve(r,e,t,n){const i=(e>>>0)+(n>>>0);return{h:r+t+(i/2**32|0)|0,l:i|0}}const Xr={fromBig:cJ,split:lJ,toBig:pve,shrSH:gve,shrSL:mve,rotrSH:bve,rotrSL:wve,rotrBH:vve,rotrBL:yve,rotr32H:xve,rotr32L:_ve,rotlSH:uJ,rotlSL:hJ,rotlBH:fJ,rotlBL:dJ,add:Eve,add3L:(r,e,t)=>(r>>>0)+(e>>>0)+(t>>>0),add3H:(r,e,t,n)=>e+t+n+(r/2**32|0)|0,add4L:(r,e,t,n)=>(r>>>0)+(e>>>0)+(t>>>0)+(n>>>0),add4H:(r,e,t,n,i)=>e+t+n+i+(r/2**32|0)|0,add5H:(r,e,t,n,i,s)=>e+t+n+i+s+(r/2**32|0)|0,add5L:(r,e,t,n,i)=>(r>>>0)+(e>>>0)+(t>>>0)+(n>>>0)+(i>>>0)},[Ave,Cve]=Xr.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(r=>BigInt(r))),Mp=new Uint32Array(80),Np=new Uint32Array(80);let Sve=class extends dk{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:e,Al:t,Bh:n,Bl:i,Ch:s,Cl:o,Dh:a,Dl:l,Eh:u,El:h,Fh:p,Fl:g,Gh:w,Gl:y,Hh:C,Hl:R}=this;return[e,t,n,i,s,o,a,l,u,h,p,g,w,y,C,R]}set(e,t,n,i,s,o,a,l,u,h,p,g,w,y,C,R){this.Ah=e|0,this.Al=t|0,this.Bh=n|0,this.Bl=i|0,this.Ch=s|0,this.Cl=o|0,this.Dh=a|0,this.Dl=l|0,this.Eh=u|0,this.El=h|0,this.Fh=p|0,this.Fl=g|0,this.Gh=w|0,this.Gl=y|0,this.Hh=C|0,this.Hl=R|0}process(e,t){for(let O=0;O<16;O++,t+=4)Mp[O]=e.getUint32(t),Np[O]=e.getUint32(t+=4);for(let O=16;O<80;O++){const B=Mp[O-15]|0,j=Np[O-15]|0,G=Xr.rotrSH(B,j,1)^Xr.rotrSH(B,j,8)^Xr.shrSH(B,j,7),D=Xr.rotrSL(B,j,1)^Xr.rotrSL(B,j,8)^Xr.shrSL(B,j,7),$=Mp[O-2]|0,V=Np[O-2]|0,te=Xr.rotrSH($,V,19)^Xr.rotrBH($,V,61)^Xr.shrSH($,V,6),W=Xr.rotrSL($,V,19)^Xr.rotrBL($,V,61)^Xr.shrSL($,V,6),P=Xr.add4L(D,W,Np[O-7],Np[O-16]),b=Xr.add4H(P,G,te,Mp[O-7],Mp[O-16]);Mp[O]=b|0,Np[O]=P|0}let{Ah:n,Al:i,Bh:s,Bl:o,Ch:a,Cl:l,Dh:u,Dl:h,Eh:p,El:g,Fh:w,Fl:y,Gh:C,Gl:R,Hh:k,Hl:M}=this;for(let O=0;O<80;O++){const B=Xr.rotrSH(p,g,14)^Xr.rotrSH(p,g,18)^Xr.rotrBH(p,g,41),j=Xr.rotrSL(p,g,14)^Xr.rotrSL(p,g,18)^Xr.rotrBL(p,g,41),G=p&w^~p&C,D=g&y^~g&R,$=Xr.add5L(M,j,D,Cve[O],Np[O]),V=Xr.add5H($,k,B,G,Ave[O],Mp[O]),te=$|0,W=Xr.rotrSH(n,i,28)^Xr.rotrBH(n,i,34)^Xr.rotrBH(n,i,39),P=Xr.rotrSL(n,i,28)^Xr.rotrBL(n,i,34)^Xr.rotrBL(n,i,39),b=n&s^n&a^s&a,d=i&o^i&l^o&l;k=C|0,M=R|0,C=w|0,R=y|0,w=p|0,y=g|0,{h:p,l:g}=Xr.add(u|0,h|0,V|0,te|0),u=a|0,h=l|0,a=s|0,l=o|0,s=n|0,o=i|0;const m=Xr.add3L(te,P,d);n=Xr.add3H(m,V,W,b),i=m|0}({h:n,l:i}=Xr.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:s,l:o}=Xr.add(this.Bh|0,this.Bl|0,s|0,o|0),{h:a,l}=Xr.add(this.Ch|0,this.Cl|0,a|0,l|0),{h:u,l:h}=Xr.add(this.Dh|0,this.Dl|0,u|0,h|0),{h:p,l:g}=Xr.add(this.Eh|0,this.El|0,p|0,g|0),{h:w,l:y}=Xr.add(this.Fh|0,this.Fl|0,w|0,y|0),{h:C,l:R}=Xr.add(this.Gh|0,this.Gl|0,C|0,R|0),{h:k,l:M}=Xr.add(this.Hh|0,this.Hl|0,k|0,M|0),this.set(n,i,s,o,a,l,u,h,p,g,w,y,C,R,k,M)}roundClean(){Mp.fill(0),Np.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};const gk=SE(()=>new Sve);function Ive(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof dr<"u")return dr;throw new Error("unable to locate global object")}const pJ=Ive(),gJ=pJ.crypto||pJ.msCrypto;function mJ(r){switch(r){case"sha256":return zw.create();case"sha512":return gk.create()}xe(!1,"invalid hashing algorithm name","algorithm",r)}function Rve(r,e){const t={sha256:zw,sha512:gk}[r];return xe(t!=null,"invalid hmac algorithm","algorithm",r),IE.create(t,e)}function Tve(r,e,t,n,i){const s={sha256:zw,sha512:gk}[i];return xe(s!=null,"invalid pbkdf2 algorithm","algorithm",i),fk(s,r,e,{c:t,dkLen:n})}function kve(r){Ue(gJ!=null,"platform does not support secure random numbers","UNSUPPORTED_OPERATION",{operation:"randomBytes"}),xe(Number.isInteger(r)&&r>0&&r<=1024,"invalid length","length",r);const e=new Uint8Array(r);return gJ.getRandomValues(e),e}let bJ=!1;const wJ=function(r,e,t){return Rve(r,e).update(t).digest()};let vJ=wJ;function dd(r,e,t){const n=Dt(e,"key"),i=Dt(t,"data");return St(vJ(r,n,i))}dd._=wJ,dd.lock=function(){bJ=!0},dd.register=function(r){if(bJ)throw new Error("computeHmac is locked");vJ=r},Object.freeze(dd);const[yJ,xJ,_J]=[[],[],[]],Mve=BigInt(0),c4=BigInt(1),Nve=BigInt(2),Pve=BigInt(7),Ove=BigInt(256),Dve=BigInt(113);for(let r=0,e=c4,t=1,n=0;r<24;r++){[t,n]=[n,(2*t+3*n)%5],yJ.push(2*(5*n+t)),xJ.push((r+1)*(r+2)/2%64);let i=Mve;for(let s=0;s<7;s++)e=(e<>Pve)*Dve)%Ove,e&Nve&&(i^=c4<<(c4<t>32?fJ(r,e,t):uJ(r,e,t),AJ=(r,e,t)=>t>32?dJ(r,e,t):hJ(r,e,t);function Lve(r,e=24){const t=new Uint32Array(10);for(let n=24-e;n<24;n++){for(let o=0;o<10;o++)t[o]=r[o]^r[o+10]^r[o+20]^r[o+30]^r[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,l=(o+2)%10,u=t[l],h=t[l+1],p=EJ(u,h,1)^t[a],g=AJ(u,h,1)^t[a+1];for(let w=0;w<50;w+=10)r[o+w]^=p,r[o+w+1]^=g}let i=r[2],s=r[3];for(let o=0;o<24;o++){const a=xJ[o],l=EJ(i,s,a),u=AJ(i,s,a),h=yJ[o];i=r[h],s=r[h+1],r[h]=l,r[h+1]=u}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)t[a]=r[o+a];for(let a=0;a<10;a++)r[o+a]^=~t[(a+2)%10]&t[(a+4)%10]}r[0]^=$ve[n],r[1]^=Bve[n]}t.fill(0)}let Uve=class xge extends hk{constructor(e,t,n,i=!1,s=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=n,this.enableXOF=i,this.rounds=s,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Tc(n),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=AE(this.state)}keccak(){Lve(this.state32,this.rounds),this.posOut=0,this.pos=0}update(e){Fw(this);const{blockLen:t,state:n}=this;e=jw(e);const i=e.length;for(let s=0;s=n&&this.keccak();const o=Math.min(n-this.posOut,s-i);e.set(t.subarray(this.posOut,this.posOut+o),i),this.posOut+=o,i+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Tc(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(nJ(e,this),this.finished)throw new 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){const{blockLen:t,suffix:n,outputLen:i,rounds:s,enableXOF:o}=this;return e||(e=new xge(t,n,i,o,s)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=s,e.suffix=n,e.outputLen=i,e.enableXOF=o,e.destroyed=this.destroyed,e}};const Fve=((r,e,t)=>SE(()=>new Uve(e,r,t)))(1,136,256/8);let CJ=!1;const SJ=function(r){return Fve(r)};let IJ=SJ;function Nn(r){const e=Dt(r,"data");return St(IJ(e))}Nn._=SJ,Nn.lock=function(){CJ=!0},Nn.register=function(r){if(CJ)throw new TypeError("keccak256 is locked");IJ=r},Object.freeze(Nn);const jve=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),RJ=Uint8Array.from({length:16},(r,e)=>e),zve=RJ.map(r=>(9*r+5)%16);let mk=[RJ],bk=[zve];for(let r=0;r<4;r++)for(let e of[mk,bk])e.push(e[r].map(t=>jve[t]));const TJ=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(r=>new Uint8Array(r)),Hve=mk.map((r,e)=>r.map(t=>TJ[e][t])),qve=bk.map((r,e)=>r.map(t=>TJ[e][t])),Wve=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),Vve=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]),TE=(r,e)=>r<>>32-e;function kJ(r,e,t,n){return r===0?e^t^n:r===1?e&t|~e&n:r===2?(e|~t)^n:r===3?e&n|t&~n:e^(t|~n)}const kE=new Uint32Array(16);class Gve extends dk{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){const{h0:e,h1:t,h2:n,h3:i,h4:s}=this;return[e,t,n,i,s]}set(e,t,n,i,s){this.h0=e|0,this.h1=t|0,this.h2=n|0,this.h3=i|0,this.h4=s|0}process(e,t){for(let w=0;w<16;w++,t+=4)kE[w]=e.getUint32(t,!0);let n=this.h0|0,i=n,s=this.h1|0,o=s,a=this.h2|0,l=a,u=this.h3|0,h=u,p=this.h4|0,g=p;for(let w=0;w<5;w++){const y=4-w,C=Wve[w],R=Vve[w],k=mk[w],M=bk[w],O=Hve[w],B=qve[w];for(let j=0;j<16;j++){const G=TE(n+kJ(w,s,a,u)+kE[k[j]]+C,O[j])+p|0;n=p,p=u,u=TE(a,10)|0,a=s,s=G}for(let j=0;j<16;j++){const G=TE(i+kJ(y,o,l,h)+kE[M[j]]+R,B[j])+g|0;i=g,g=h,h=TE(l,10)|0,l=o,o=G}}this.set(this.h1+a+h|0,this.h2+u+g|0,this.h3+p+i|0,this.h4+n+o|0,this.h0+s+l|0)}roundClean(){kE.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}}const Kve=SE(()=>new Gve);let MJ=!1;const NJ=function(r){return Kve(r)};let PJ=NJ;function pd(r){const e=Dt(r,"data");return St(PJ(e))}pd._=NJ,pd.lock=function(){MJ=!0},pd.register=function(r){if(MJ)throw new TypeError("ripemd160 is locked");PJ=r},Object.freeze(pd);let OJ=!1;const DJ=function(r,e,t,n,i){return Tve(r,e,t,n,i)};let $J=DJ;function ku(r,e,t,n,i){const s=Dt(r,"password"),o=Dt(e,"salt");return St($J(s,o,t,n,i))}ku._=DJ,ku.lock=function(){OJ=!0},ku.register=function(r){if(OJ)throw new Error("pbkdf2 is locked");$J=r},Object.freeze(ku);let BJ=!1;const LJ=function(r){return new Uint8Array(kve(r))};let UJ=LJ;function kc(r){return UJ(r)}kc._=LJ,kc.lock=function(){BJ=!0},kc.register=function(r){if(BJ)throw new Error("randomBytes is locked");UJ=r},Object.freeze(kc);const Pn=(r,e)=>r<>>32-e;function FJ(r,e,t,n,i,s){let o=r[e++]^t[n++],a=r[e++]^t[n++],l=r[e++]^t[n++],u=r[e++]^t[n++],h=r[e++]^t[n++],p=r[e++]^t[n++],g=r[e++]^t[n++],w=r[e++]^t[n++],y=r[e++]^t[n++],C=r[e++]^t[n++],R=r[e++]^t[n++],k=r[e++]^t[n++],M=r[e++]^t[n++],O=r[e++]^t[n++],B=r[e++]^t[n++],j=r[e++]^t[n++],G=o,D=a,$=l,V=u,te=h,W=p,P=g,b=w,d=y,m=C,x=R,A=k,I=M,T=O,S=B,E=j;for(let _=0;_<8;_+=2)te^=Pn(G+I|0,7),d^=Pn(te+G|0,9),I^=Pn(d+te|0,13),G^=Pn(I+d|0,18),m^=Pn(W+D|0,7),T^=Pn(m+W|0,9),D^=Pn(T+m|0,13),W^=Pn(D+T|0,18),S^=Pn(x+P|0,7),$^=Pn(S+x|0,9),P^=Pn($+S|0,13),x^=Pn(P+$|0,18),V^=Pn(E+A|0,7),b^=Pn(V+E|0,9),A^=Pn(b+V|0,13),E^=Pn(A+b|0,18),D^=Pn(G+V|0,7),$^=Pn(D+G|0,9),V^=Pn($+D|0,13),G^=Pn(V+$|0,18),P^=Pn(W+te|0,7),b^=Pn(P+W|0,9),te^=Pn(b+P|0,13),W^=Pn(te+b|0,18),A^=Pn(x+m|0,7),d^=Pn(A+x|0,9),m^=Pn(d+A|0,13),x^=Pn(m+d|0,18),I^=Pn(E+S|0,7),T^=Pn(I+E|0,9),S^=Pn(T+I|0,13),E^=Pn(S+T|0,18);i[s++]=o+G|0,i[s++]=a+D|0,i[s++]=l+$|0,i[s++]=u+V|0,i[s++]=h+te|0,i[s++]=p+W|0,i[s++]=g+P|0,i[s++]=w+b|0,i[s++]=y+d|0,i[s++]=C+m|0,i[s++]=R+x|0,i[s++]=k+A|0,i[s++]=M+I|0,i[s++]=O+T|0,i[s++]=B+S|0,i[s++]=j+E|0}function Hw(r,e,t,n,i){let s=n+0,o=n+16*i;for(let a=0;a<16;a++)t[o+a]=r[e+(2*i-1)*16+a];for(let a=0;a0&&(o+=16),FJ(t,s,r,e+=16,t,o)}function jJ(r,e,t){const n=oJ({dkLen:32,asyncTick:10,maxmem:1073742848},t),{N:i,r:s,p:o,dkLen:a,asyncTick:l,maxmem:u,onProgress:h}=n;if(Tc(i),Tc(s),Tc(o),Tc(a),Tc(l),Tc(u),h!==void 0&&typeof h!="function")throw new Error("progressCb should be function");const p=128*s,g=p/4;if(i<=1||i&i-1||i>=2**(p/8)||i>2**32)throw new Error("Scrypt: N must be larger than 1, a power of 2, less than 2^(128 * r / 8) and less than 2^32");if(o<0||o>(2**32-1)*32/p)throw new Error("Scrypt: p must be a positive integer less than or equal to ((2^32 - 1) * 32) / (128 * r)");if(a<0||a>(2**32-1)*32)throw new Error("Scrypt: dkLen should be positive integer less than or equal to (2^32 - 1) * 32");const w=p*(i+o);if(w>u)throw new Error(`Scrypt: parameters too large, ${w} (128 * r * (N + p)) > ${u} (maxmem)`);const y=fk(zw,r,e,{c:1,dkLen:p*o}),C=AE(y),R=AE(new Uint8Array(p*i)),k=AE(new Uint8Array(p));let M=()=>{};if(h){const O=2*i*o,B=Math.max(Math.floor(O/1e4),1);let j=0;M=()=>{j++,h&&(!(j%B)||j===O)&&h(j/O)}}return{N:i,r:s,p:o,dkLen:a,blockSize32:g,V:R,B32:C,B:y,tmp:k,blockMixCb:M,asyncTick:l}}function zJ(r,e,t,n,i){const s=fk(zw,r,t,{c:1,dkLen:e});return t.fill(0),n.fill(0),i.fill(0),s}function Zve(r,e,t){const{N:n,r:i,p:s,dkLen:o,blockSize32:a,V:l,B32:u,B:h,tmp:p,blockMixCb:g}=jJ(r,e,t);for(let w=0;w{Hw(l,R,l,R+=a,i),g()}),Hw(l,(n-1)*a,u,C,i),g(),await sJ(n,w,()=>{const k=u[C+a-16]%n;for(let M=0;Mr instanceof Uint8Array,Qve=Array.from({length:256},(r,e)=>e.toString(16).padStart(2,"0"));function Ww(r){if(!NE(r))throw new Error("Uint8Array expected");let e="";for(let t=0;tn+i.length,0));let t=0;return r.forEach(n=>{if(!NE(n))throw new Error("Uint8Array expected");e.set(n,t),t+=n.length}),e}function eye(r,e){if(r.length!==e.length)return!1;for(let t=0;ttY;r>>=ME,e+=1);return e}function nye(r,e){return r>>BigInt(e)&ME}const iye=(r,e,t)=>r|(t?ME:tY)<(Yve<new Uint8Array(r),nY=r=>Uint8Array.from(r);function iY(r,e,t){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof t!="function")throw new Error("hmacFn must be a function");let n=_k(r),i=_k(r),s=0;const o=()=>{n.fill(1),i.fill(0),s=0},a=(...p)=>t(i,n,...p),l=(p=_k())=>{i=a(nY([0]),p),n=a(),p.length!==0&&(i=a(nY([1]),p),n=a())},u=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let p=0;const g=[];for(;p{o(),l(p);let w;for(;!(w=g(u()));)l();return o(),w}}const sye={bigint:r=>typeof r=="bigint",function:r=>typeof r=="function",boolean:r=>typeof r=="boolean",string:r=>typeof r=="string",stringOrUint8Array:r=>typeof r=="string"||r instanceof Uint8Array,isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,e)=>e.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function u4(r,e,t={}){const n=(i,s,o)=>{const a=sye[s];if(typeof a!="function")throw new Error(`Invalid validator "${s}", expected function`);const l=r[i];if(!(o&&l===void 0)&&!a(l,r))throw new Error(`Invalid param ${String(i)}=${l} (${typeof l}), expected ${s}`)};for(const[i,s]of Object.entries(e))n(i,s,!1);for(const[i,s]of Object.entries(t))n(i,s,!0);return r}const oye=Object.freeze(Object.defineProperty({__proto__:null,bitGet:nye,bitLen:rye,bitMask:xk,bitSet:iye,bytesToHex:Ww,bytesToNumberBE:vg,bytesToNumberLE:vk,concatBytes:l4,createHmacDrbg:iY,ensureBytes:Mu,equalBytes:eye,hexToBytes:Vw,hexToNumber:wk,numberToBytesBE:Gw,numberToBytesLE:yk,numberToHexUnpadded:rY,numberToVarBytesBE:Xve,utf8ToBytes:tye,validateObject:u4},Symbol.toStringTag,{value:"Module"}));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const co=BigInt(0),ds=BigInt(1),yg=BigInt(2),aye=BigInt(3),Ek=BigInt(4),sY=BigInt(5),oY=BigInt(8);BigInt(9),BigInt(16);function ac(r,e){const t=r%e;return t>=co?t:e+t}function cye(r,e,t){if(t<=co||e 0");if(t===ds)return co;let n=ds;for(;e>co;)e&ds&&(n=n*r%t),r=r*r%t,e>>=ds;return n}function Tl(r,e,t){let n=r;for(;e-- >co;)n*=n,n%=t;return n}function Ak(r,e){if(r===co||e<=co)throw new Error(`invert: expected positive integers, got n=${r} mod=${e}`);let t=ac(r,e),n=e,i=co,s=ds;for(;t!==co;){const a=n/t,l=n%t,u=i-s*a;n=t,t=l,i=s,s=u}if(n!==ds)throw new Error("invert: does not exist");return ac(i,e)}function lye(r){const e=(r-ds)/yg;let t,n,i;for(t=r-ds,n=0;t%yg===co;t/=yg,n++);for(i=yg;i(n[i]="function",n),e);return u4(r,t)}function dye(r,e,t){if(t 0");if(t===co)return r.ONE;if(t===ds)return e;let n=r.ONE,i=e;for(;t>co;)t&ds&&(n=r.mul(n,i)),i=r.sqr(i),t>>=ds;return n}function pye(r,e){const t=new Array(e.length),n=e.reduce((s,o,a)=>r.is0(o)?s:(t[a]=s,r.mul(s,o)),r.ONE),i=r.inv(n);return e.reduceRight((s,o,a)=>r.is0(o)?s:(t[a]=r.mul(s,t[a]),r.mul(s,o)),i),t}function aY(r,e){const t=e!==void 0?e:r.toString(2).length,n=Math.ceil(t/8);return{nBitLength:t,nByteLength:n}}function gye(r,e,t=!1,n={}){if(r<=co)throw new Error(`Expected Field ORDER > 0, got ${r}`);const{nBitLength:i,nByteLength:s}=aY(r,e);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");const o=uye(r),a=Object.freeze({ORDER:r,BITS:i,BYTES:s,MASK:xk(i),ZERO:co,ONE:ds,create:l=>ac(l,r),isValid:l=>{if(typeof l!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof l}`);return co<=l&&ll===co,isOdd:l=>(l&ds)===ds,neg:l=>ac(-l,r),eql:(l,u)=>l===u,sqr:l=>ac(l*l,r),add:(l,u)=>ac(l+u,r),sub:(l,u)=>ac(l-u,r),mul:(l,u)=>ac(l*u,r),pow:(l,u)=>dye(a,l,u),div:(l,u)=>ac(l*Ak(u,r),r),sqrN:l=>l*l,addN:(l,u)=>l+u,subN:(l,u)=>l-u,mulN:(l,u)=>l*u,inv:l=>Ak(l,r),sqrt:n.sqrt||(l=>o(a,l)),invertBatch:l=>pye(a,l),cmov:(l,u,h)=>h?u:l,toBytes:l=>t?yk(l,s):Gw(l,s),fromBytes:l=>{if(l.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${l.length}`);return t?vk(l):vg(l)}});return Object.freeze(a)}function cY(r){if(typeof r!="bigint")throw new Error("field order must be bigint");const e=r.toString(2).length;return Math.ceil(e/8)}function lY(r){const e=cY(r);return e+Math.ceil(e/2)}function mye(r,e,t=!1){const n=r.length,i=cY(e),s=lY(e);if(n<16||n1024)throw new Error(`expected ${s}-1024 bytes of input, got ${n}`);const o=t?vg(r):vk(r),a=ac(o,e-ds)+ds;return t?yk(a,i):Gw(a,i)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const bye=BigInt(0),Ck=BigInt(1);function wye(r,e){const t=(i,s)=>{const o=s.negate();return i?o:s},n=i=>{const s=Math.ceil(e/i)+1,o=2**(i-1);return{windows:s,windowSize:o}};return{constTimeNegate:t,unsafeLadder(i,s){let o=r.ZERO,a=i;for(;s>bye;)s&Ck&&(o=o.add(a)),a=a.double(),s>>=Ck;return o},precomputeWindow(i,s){const{windows:o,windowSize:a}=n(s),l=[];let u=i,h=u;for(let p=0;p>=w,R>l&&(R-=g,o+=Ck);const k=C,M=C+Math.abs(R)-1,O=y%2!==0,B=R<0;R===0?h=h.add(t(O,s[k])):u=u.add(t(B,s[M]))}return{p:u,f:h}},wNAFCached(i,s,o,a){const l=i._WINDOW_SIZE||1;let u=s.get(i);return u||(u=this.precomputeWindow(i,l),l!==1&&s.set(i,a(u))),this.wNAF(l,u,o)}}}function uY(r){return fye(r.Fp),u4(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...aY(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function vye(r){const e=uY(r);u4(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:t,Fp:n,a:i}=e;if(t){if(!n.eql(i,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof t!="object"||typeof t.beta!="bigint"||typeof t.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}const{bytesToNumberBE:yye,hexToBytes:xye}=oye,xg={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(r){const{Err:e}=xg;if(r.length<2||r[0]!==2)throw new e("Invalid signature integer tag");const t=r[1],n=r.subarray(2,t+2);if(!t||n.length!==t)throw new e("Invalid signature integer: wrong length");if(n[0]&128)throw new e("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:yye(n),l:r.subarray(t+2)}},toSig(r){const{Err:e}=xg,t=typeof r=="string"?xye(r):r;if(!(t instanceof Uint8Array))throw new Error("ui8a expected");let n=t.length;if(n<2||t[0]!=48)throw new e("Invalid signature tag");if(t[1]!==n-2)throw new e("Invalid signature: incorrect length");const{d:i,l:s}=xg._parseInt(t.subarray(2)),{d:o,l:a}=xg._parseInt(s);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:i,s:o}},hexFromSig(r){const e=u=>Number.parseInt(u[0],16)&8?"00"+u:u,t=u=>{const h=u.toString(16);return h.length&1?`0${h}`:h},n=e(t(r.s)),i=e(t(r.r)),s=n.length/2,o=i.length/2,a=t(s),l=t(o);return`30${t(o+s+4)}02${l}${i}02${a}${n}`}},bd=BigInt(0),kl=BigInt(1);BigInt(2);const hY=BigInt(3);BigInt(4);function _ye(r){const e=vye(r),{Fp:t}=e,n=e.toBytes||((y,C,R)=>{const k=C.toAffine();return l4(Uint8Array.from([4]),t.toBytes(k.x),t.toBytes(k.y))}),i=e.fromBytes||(y=>{const C=y.subarray(1),R=t.fromBytes(C.subarray(0,t.BYTES)),k=t.fromBytes(C.subarray(t.BYTES,2*t.BYTES));return{x:R,y:k}});function s(y){const{a:C,b:R}=e,k=t.sqr(y),M=t.mul(k,y);return t.add(t.add(M,t.mul(y,C)),R)}if(!t.eql(t.sqr(e.Gy),s(e.Gx)))throw new Error("bad generator point: equation left != right");function o(y){return typeof y=="bigint"&&bdt.eql(O,t.ZERO);return M(R)&&M(k)?p.ZERO:new p(R,k,t.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(C){const R=t.invertBatch(C.map(k=>k.pz));return C.map((k,M)=>k.toAffine(R[M])).map(p.fromAffine)}static fromHex(C){const R=p.fromAffine(i(Mu("pointHex",C)));return R.assertValidity(),R}static fromPrivateKey(C){return p.BASE.multiply(l(C))}_setWindowSize(C){this._WINDOW_SIZE=C,u.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!t.is0(this.py))return;throw new Error("bad point: ZERO")}const{x:C,y:R}=this.toAffine();if(!t.isValid(C)||!t.isValid(R))throw new Error("bad point: x or y not FE");const k=t.sqr(R),M=s(C);if(!t.eql(k,M))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){const{y:C}=this.toAffine();if(t.isOdd)return!t.isOdd(C);throw new Error("Field doesn't support isOdd")}equals(C){h(C);const{px:R,py:k,pz:M}=this,{px:O,py:B,pz:j}=C,G=t.eql(t.mul(R,j),t.mul(O,M)),D=t.eql(t.mul(k,j),t.mul(B,M));return G&&D}negate(){return new p(this.px,t.neg(this.py),this.pz)}double(){const{a:C,b:R}=e,k=t.mul(R,hY),{px:M,py:O,pz:B}=this;let j=t.ZERO,G=t.ZERO,D=t.ZERO,$=t.mul(M,M),V=t.mul(O,O),te=t.mul(B,B),W=t.mul(M,O);return W=t.add(W,W),D=t.mul(M,B),D=t.add(D,D),j=t.mul(C,D),G=t.mul(k,te),G=t.add(j,G),j=t.sub(V,G),G=t.add(V,G),G=t.mul(j,G),j=t.mul(W,j),D=t.mul(k,D),te=t.mul(C,te),W=t.sub($,te),W=t.mul(C,W),W=t.add(W,D),D=t.add($,$),$=t.add(D,$),$=t.add($,te),$=t.mul($,W),G=t.add(G,$),te=t.mul(O,B),te=t.add(te,te),$=t.mul(te,W),j=t.sub(j,$),D=t.mul(te,V),D=t.add(D,D),D=t.add(D,D),new p(j,G,D)}add(C){h(C);const{px:R,py:k,pz:M}=this,{px:O,py:B,pz:j}=C;let G=t.ZERO,D=t.ZERO,$=t.ZERO;const V=e.a,te=t.mul(e.b,hY);let W=t.mul(R,O),P=t.mul(k,B),b=t.mul(M,j),d=t.add(R,k),m=t.add(O,B);d=t.mul(d,m),m=t.add(W,P),d=t.sub(d,m),m=t.add(R,M);let x=t.add(O,j);return m=t.mul(m,x),x=t.add(W,b),m=t.sub(m,x),x=t.add(k,M),G=t.add(B,j),x=t.mul(x,G),G=t.add(P,b),x=t.sub(x,G),$=t.mul(V,m),G=t.mul(te,b),$=t.add(G,$),G=t.sub(P,$),$=t.add(P,$),D=t.mul(G,$),P=t.add(W,W),P=t.add(P,W),b=t.mul(V,b),m=t.mul(te,m),P=t.add(P,b),b=t.sub(W,b),b=t.mul(V,b),m=t.add(m,b),W=t.mul(P,m),D=t.add(D,W),W=t.mul(x,m),G=t.mul(d,G),G=t.sub(G,W),W=t.mul(d,P),$=t.mul(x,$),$=t.add($,W),new p(G,D,$)}subtract(C){return this.add(C.negate())}is0(){return this.equals(p.ZERO)}wNAF(C){return w.wNAFCached(this,u,C,R=>{const k=t.invertBatch(R.map(M=>M.pz));return R.map((M,O)=>M.toAffine(k[O])).map(p.fromAffine)})}multiplyUnsafe(C){const R=p.ZERO;if(C===bd)return R;if(a(C),C===kl)return this;const{endo:k}=e;if(!k)return w.unsafeLadder(this,C);let{k1neg:M,k1:O,k2neg:B,k2:j}=k.splitScalar(C),G=R,D=R,$=this;for(;O>bd||j>bd;)O&kl&&(G=G.add($)),j&kl&&(D=D.add($)),$=$.double(),O>>=kl,j>>=kl;return M&&(G=G.negate()),B&&(D=D.negate()),D=new p(t.mul(D.px,k.beta),D.py,D.pz),G.add(D)}multiply(C){a(C);let R=C,k,M;const{endo:O}=e;if(O){const{k1neg:B,k1:j,k2neg:G,k2:D}=O.splitScalar(R);let{p:$,f:V}=this.wNAF(j),{p:te,f:W}=this.wNAF(D);$=w.constTimeNegate(B,$),te=w.constTimeNegate(G,te),te=new p(t.mul(te.px,O.beta),te.py,te.pz),k=$.add(te),M=V.add(W)}else{const{p:B,f:j}=this.wNAF(R);k=B,M=j}return p.normalizeZ([k,M])[0]}multiplyAndAddUnsafe(C,R,k){const M=p.BASE,O=(j,G)=>G===bd||G===kl||!j.equals(M)?j.multiplyUnsafe(G):j.multiply(G),B=O(this,R).add(O(C,k));return B.is0()?void 0:B}toAffine(C){const{px:R,py:k,pz:M}=this,O=this.is0();C==null&&(C=O?t.ONE:t.inv(M));const B=t.mul(R,C),j=t.mul(k,C),G=t.mul(M,C);if(O)return{x:t.ZERO,y:t.ZERO};if(!t.eql(G,t.ONE))throw new Error("invZ was invalid");return{x:B,y:j}}isTorsionFree(){const{h:C,isTorsionFree:R}=e;if(C===kl)return!0;if(R)return R(p,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:C,clearCofactor:R}=e;return C===kl?this:R?R(p,this):this.multiplyUnsafe(e.h)}toRawBytes(C=!0){return this.assertValidity(),n(p,this,C)}toHex(C=!0){return Ww(this.toRawBytes(C))}}p.BASE=new p(e.Gx,e.Gy,t.ONE),p.ZERO=new p(t.ZERO,t.ONE,t.ZERO);const g=e.nBitLength,w=wye(p,e.endo?Math.ceil(g/2):g);return{CURVE:e,ProjectivePoint:p,normPrivateKeyToScalar:l,weierstrassEquation:s,isWithinCurveOrder:o}}function Eye(r){const e=uY(r);return u4(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function Aye(r){const e=Eye(r),{Fp:t,n}=e,i=t.BYTES+1,s=2*t.BYTES+1;function o(m){return bdWw(Gw(m,e.nByteLength));function y(m){const x=n>>kl;return m>x}function C(m){return y(m)?a(-m):m}const R=(m,x,A)=>vg(m.slice(x,A));class k{constructor(x,A,I){this.r=x,this.s=A,this.recovery=I,this.assertValidity()}static fromCompact(x){const A=e.nByteLength;return x=Mu("compactSignature",x,A*2),new k(R(x,0,A),R(x,A,2*A))}static fromDER(x){const{r:A,s:I}=xg.toSig(Mu("DER",x));return new k(A,I)}assertValidity(){if(!g(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!g(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(x){return new k(this.r,this.s,x)}recoverPublicKey(x){const{r:A,s:I,recovery:T}=this,S=D(Mu("msgHash",x));if(T==null||![0,1,2,3].includes(T))throw new Error("recovery id invalid");const E=T===2||T===3?A+e.n:A;if(E>=t.ORDER)throw new Error("recovery id 2 or 3 invalid");const _=T&1?"03":"02",U=u.fromHex(_+w(E)),ie=l(E),q=a(-S*ie),Y=a(I*ie),K=u.BASE.multiplyAndAddUnsafe(U,q,Y);if(!K)throw new Error("point at infinify");return K.assertValidity(),K}hasHighS(){return y(this.s)}normalizeS(){return this.hasHighS()?new k(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return Vw(this.toDERHex())}toDERHex(){return xg.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Vw(this.toCompactHex())}toCompactHex(){return w(this.r)+w(this.s)}}const M={isValidPrivateKey(m){try{return h(m),!0}catch{return!1}},normPrivateKeyToScalar:h,randomPrivateKey:()=>{const m=lY(e.n);return mye(e.randomBytes(m),e.n)},precompute(m=8,x=u.BASE){return x._setWindowSize(m),x.multiply(BigInt(3)),x}};function O(m,x=!0){return u.fromPrivateKey(m).toRawBytes(x)}function B(m){const x=m instanceof Uint8Array,A=typeof m=="string",I=(x||A)&&m.length;return x?I===i||I===s:A?I===2*i||I===2*s:m instanceof u}function j(m,x,A=!0){if(B(m))throw new Error("first arg must be private key");if(!B(x))throw new Error("second arg must be public key");return u.fromHex(x).multiply(h(m)).toRawBytes(A)}const G=e.bits2int||function(m){const x=vg(m),A=m.length*8-e.nBitLength;return A>0?x>>BigInt(A):x},D=e.bits2int_modN||function(m){return a(G(m))},$=xk(e.nBitLength);function V(m){if(typeof m!="bigint")throw new Error("bigint expected");if(!(bd<=m&&m<$))throw new Error(`bigint expected < 2^${e.nBitLength}`);return Gw(m,e.nByteLength)}function te(m,x,A=W){if(["recovered","canonical"].some(re=>re in A))throw new Error("sign() legacy options not supported");const{hash:I,randomBytes:T}=e;let{lowS:S,prehash:E,extraEntropy:_}=A;S==null&&(S=!0),m=Mu("msgHash",m),E&&(m=Mu("prehashed msgHash",I(m)));const U=D(m),ie=h(x),q=[V(ie),V(U)];if(_!=null){const re=_===!0?T(t.BYTES):_;q.push(Mu("extraEntropy",re))}const Y=l4(...q),K=U;function ee(re){const z=G(re);if(!g(z))return;const L=l(z),H=u.BASE.multiply(z).toAffine(),le=a(H.x);if(le===bd)return;const de=a(L*a(K+le*ie));if(de===bd)return;let Se=(H.x===le?0:2)|Number(H.y&kl),Me=de;return S&&y(de)&&(Me=C(de),Se^=1),new k(le,Me,Se)}return{seed:Y,k2sig:ee}}const W={lowS:e.lowS,prehash:!1},P={lowS:e.lowS,prehash:!1};function b(m,x,A=W){const{seed:I,k2sig:T}=te(m,x,A),S=e;return iY(S.hash.outputLen,S.nByteLength,S.hmac)(I,T)}u.BASE._setWindowSize(8);function d(m,x,A,I=P){var H;const T=m;if(x=Mu("msgHash",x),A=Mu("publicKey",A),"strict"in I)throw new Error("options.strict was renamed to lowS");const{lowS:S,prehash:E}=I;let _,U;try{if(typeof T=="string"||T instanceof Uint8Array)try{_=k.fromDER(T)}catch(le){if(!(le instanceof xg.Err))throw le;_=k.fromCompact(T)}else if(typeof T=="object"&&typeof T.r=="bigint"&&typeof T.s=="bigint"){const{r:le,s:de}=T;_=new k(le,de)}else throw new Error("PARSE");U=u.fromHex(A)}catch(le){if(le.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(S&&_.hasHighS())return!1;E&&(x=e.hash(x));const{r:ie,s:q}=_,Y=D(x),K=l(q),ee=a(Y*K),re=a(ie*K),z=(H=u.BASE.multiplyAndAddUnsafe(U,ee,re))==null?void 0:H.toAffine();return z?a(z.x)===ie:!1}return{CURVE:e,getPublicKey:O,getSharedSecret:j,sign:b,verify:d,ProjectivePoint:u,Signature:k,utils:M}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Cye(r){return{hash:r,hmac:(e,...t)=>IE(r,e,ive(...t)),randomBytes:ove}}function Sye(r,e){const t=n=>Aye({...r,...Cye(n)});return Object.freeze({...t(e),create:t})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const fY=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),dY=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Iye=BigInt(1),Sk=BigInt(2),pY=(r,e)=>(r+e/Sk)/e;function Rye(r){const e=fY,t=BigInt(3),n=BigInt(6),i=BigInt(11),s=BigInt(22),o=BigInt(23),a=BigInt(44),l=BigInt(88),u=r*r*r%e,h=u*u*r%e,p=Tl(h,t,e)*h%e,g=Tl(p,t,e)*h%e,w=Tl(g,Sk,e)*u%e,y=Tl(w,i,e)*w%e,C=Tl(y,s,e)*y%e,R=Tl(C,a,e)*C%e,k=Tl(R,l,e)*R%e,M=Tl(k,a,e)*C%e,O=Tl(M,t,e)*h%e,B=Tl(O,o,e)*y%e,j=Tl(B,n,e)*u%e,G=Tl(j,Sk,e);if(!Ik.eql(Ik.sqr(G),r))throw new Error("Cannot find square root");return G}const Ik=gye(fY,void 0,void 0,{sqrt:Rye}),Pp=Sye({a:BigInt(0),b:BigInt(7),Fp:Ik,n:dY,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{const e=dY,t=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Iye*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=t,o=BigInt("0x100000000000000000000000000000000"),a=pY(s*r,e),l=pY(-n*r,e);let u=ac(r-a*t-l*i,e),h=ac(-a*n-l*s,e);const p=u>o,g=h>o;if(p&&(u=e-u),g&&(h=e-h),u>o||h>o)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:p,k1:u,k2neg:g,k2:h}}}},zw);BigInt(0),Pp.ProjectivePoint;const _g="0x0000000000000000000000000000000000000000",PE="0x0000000000000000000000000000000000000000000000000000000000000000",gY=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),mY=BigInt("1000000000000000000"),bY=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),wY=BigInt("0x8000000000000000000000000000000000000000000000000000000000000000")*BigInt(-1),vY=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),yY="Ξ",Rk=`Ethereum Signed Message: -`,xY=BigInt(0),_Y=BigInt(1),EY=BigInt(2),AY=BigInt(27),CY=BigInt(28),OE=BigInt(35),Kw={};function SY(r){return Po(qs(r),32)}const hh=class hh{constructor(e,t,n,i){Ne(this,$3,void 0);Ne(this,B3,void 0);Ne(this,L3,void 0);Ne(this,$2,void 0);Uh(e,Kw,"Signature"),me(this,$3,t),me(this,B3,n),me(this,L3,i),me(this,$2,null)}get r(){return oe(this,$3)}set r(e){xe(cd(e)===32,"invalid r","value",e),me(this,$3,St(e))}get s(){return oe(this,B3)}set s(e){xe(cd(e)===32,"invalid s","value",e);const t=St(e);xe(parseInt(t.substring(0,3))<8,"non-canonical s","value",t),me(this,B3,t)}get v(){return oe(this,L3)}set v(e){const t=Ir(e,"value");xe(t===27||t===28,"invalid v","v",e),me(this,L3,t)}get networkV(){return oe(this,$2)}get legacyChainId(){const e=this.networkV;return e==null?null:hh.getChainId(e)}get yParity(){return this.v===27?0:1}get yParityAndS(){const e=Dt(this.s);return this.yParity&&(e[0]|=128),St(e)}get compactSerialized(){return An([this.r,this.yParityAndS])}get serialized(){return An([this.r,this.s,this.yParity?"0x1c":"0x1b"])}[Symbol.for("nodejs.util.inspect.custom")](){return`Signature { r: "${this.r}", s: "${this.s}", yParity: ${this.yParity}, networkV: ${this.networkV} }`}clone(){const e=new hh(Kw,this.r,this.s,this.v);return this.networkV&&me(e,$2,this.networkV),e}toJSON(){const e=this.networkV;return{_type:"signature",networkV:e!=null?e.toString():null,r:this.r,s:this.s,v:this.v}}static getChainId(e){const t=cr(e,"v");return t==AY||t==CY?xY:(xe(t>=OE,"invalid EIP-155 v","v",e),(t-OE)/EY)}static getChainIdV(e,t){return cr(e)*EY+BigInt(35+t-27)}static getNormalizedV(e){const t=cr(e);return t===xY||t===AY?27:t===_Y||t===CY?28:(xe(t>=OE,"invalid v","v",e),t&_Y?27:28)}static from(e){function t(u,h){xe(u,h,"signature",e)}if(e==null)return new hh(Kw,PE,PE,27);if(typeof e=="string"){const u=Dt(e,"signature");if(u.length===64){const h=St(u.slice(0,32)),p=u.slice(32,64),g=p[0]&128?28:27;return p[0]&=127,new hh(Kw,h,St(p),g)}if(u.length===65){const h=St(u.slice(0,32)),p=u.slice(32,64);t((p[0]&128)===0,"non-canonical s");const g=hh.getNormalizedV(u[64]);return new hh(Kw,h,St(p),g)}t(!1,"invalid raw signature length")}if(e instanceof hh)return e.clone();const n=e.r;t(n!=null,"missing r");const i=SY(n),s=function(u,h){if(u!=null)return SY(u);if(h!=null){t(ci(h,32),"invalid yParityAndS");const p=Dt(h);return p[0]&=127,St(p)}t(!1,"missing s")}(e.s,e.yParityAndS);t((Dt(s)[0]&128)==0,"non-canonical s");const{networkV:o,v:a}=function(u,h,p){if(u!=null){const g=cr(u);return{networkV:g>=OE?g:void 0,v:hh.getNormalizedV(g)}}if(h!=null)return t(ci(h,32),"invalid yParityAndS"),{v:Dt(h)[0]&128?28:27};if(p!=null){switch(Ir(p,"sig.yParity")){case 0:return{v:27};case 1:return{v:28}}t(!1,"invalid yParity")}t(!1,"missing v")}(e.v,e.yParityAndS,e.yParity),l=new hh(Kw,i,s,a);return o&&me(l,$2,o),t(e.yParity==null||Ir(e.yParity,"sig.yParity")===l.yParity,"yParity mismatch"),t(e.yParityAndS==null||e.yParityAndS===l.yParityAndS,"yParityAndS mismatch"),l}};$3=new WeakMap,B3=new WeakMap,L3=new WeakMap,$2=new WeakMap;let Mc=hh;const B2=class B2{constructor(e){Ne(this,v0,void 0);xe(cd(e)===32,"invalid private key","privateKey","[REDACTED]"),me(this,v0,St(e))}get privateKey(){return oe(this,v0)}get publicKey(){return B2.computePublicKey(oe(this,v0))}get compressedPublicKey(){return B2.computePublicKey(oe(this,v0),!0)}sign(e){xe(cd(e)===32,"invalid digest length","digest",e);const t=Pp.sign(Hs(e),Hs(oe(this,v0)),{lowS:!0});return Mc.from({r:Ru(t.r,32),s:Ru(t.s,32),v:t.recovery?28:27})}computeSharedSecret(e){const t=B2.computePublicKey(e);return St(Pp.getSharedSecret(Hs(oe(this,v0)),Dt(t),!1))}static computePublicKey(e,t){let n=Dt(e,"key");if(n.length===32){const s=Pp.getPublicKey(n,!!t);return St(s)}if(n.length===64){const s=new Uint8Array(65);s[0]=4,s.set(n,1),n=s}const i=Pp.ProjectivePoint.fromHex(n);return St(i.toRawBytes(t))}static recoverPublicKey(e,t){xe(cd(e)===32,"invalid digest length","digest",e);const n=Mc.from(t);let i=Pp.Signature.fromCompact(Hs(An([n.r,n.s])));i=i.addRecoveryBit(n.yParity);const s=i.recoverPublicKey(Hs(e));return xe(s!=null,"invalid signautre for digest","signature",t),"0x"+s.toHex(!1)}static addPoints(e,t,n){const i=Pp.ProjectivePoint.fromHex(B2.computePublicKey(e).substring(2)),s=Pp.ProjectivePoint.fromHex(B2.computePublicKey(t).substring(2));return"0x"+i.add(s).toHex(!!n)}};v0=new WeakMap;let Ml=B2;function IY(){dd.lock(),Nn.lock(),ku.lock(),kc.lock(),pd.lock(),gd.lock(),md.lock(),Sa.lock(),qw.lock(),kc.lock()}const Tye=BigInt(0),kye=BigInt(36);function RY(r){r=r.toLowerCase();const e=r.substring(2).split(""),t=new Uint8Array(40);for(let i=0;i<40;i++)t[i]=e[i].charCodeAt(0);const n=Dt(Nn(t));for(let i=0;i<40;i+=2)n[i>>1]>>4>=8&&(e[i]=e[i].toUpperCase()),(n[i>>1]&15)>=8&&(e[i+1]=e[i+1].toUpperCase());return"0x"+e.join("")}const Tk={};for(let r=0;r<10;r++)Tk[String(r)]=String(r);for(let r=0;r<26;r++)Tk[String.fromCharCode(65+r)]=String(10+r);const TY=15;function kY(r){r=r.toUpperCase(),r=r.substring(4)+r.substring(0,2)+"00";let e=r.split("").map(n=>Tk[n]).join("");for(;e.length>=TY;){let n=e.substring(0,TY);e=parseInt(n,10)%97+e.substring(n.length)}let t=String(98-parseInt(e,10)%97);for(;t.length<2;)t="0"+t;return t}const Mye=function(){const r={};for(let e=0;e<36;e++){const t="0123456789abcdefghijklmnopqrstuvwxyz"[e];r[t]=BigInt(e)}return r}();function Nye(r){r=r.toLowerCase();let e=Tye;for(let t=0;te.format()).join(",")})`:this.type}defaultValue(){return 0}minValue(){return 0}maxValue(){return 0}isBigInt(){return!!this.type.match(/^u?int[0-9]+$/)}isData(){return this.type.startsWith("bytes")}isString(){return this.type==="string"}get tupleName(){if(this.type!=="tuple")throw TypeError("not a tuple");return oe(this,L2)}get arrayLength(){if(this.type!=="array")throw TypeError("not an array");return oe(this,L2)===!0?-1:oe(this,L2)===!1?this.value.length:null}static from(e,t){return new y0(wd,e,t)}static uint8(e){return or(e,8)}static uint16(e){return or(e,16)}static uint24(e){return or(e,24)}static uint32(e){return or(e,32)}static uint40(e){return or(e,40)}static uint48(e){return or(e,48)}static uint56(e){return or(e,56)}static uint64(e){return or(e,64)}static uint72(e){return or(e,72)}static uint80(e){return or(e,80)}static uint88(e){return or(e,88)}static uint96(e){return or(e,96)}static uint104(e){return or(e,104)}static uint112(e){return or(e,112)}static uint120(e){return or(e,120)}static uint128(e){return or(e,128)}static uint136(e){return or(e,136)}static uint144(e){return or(e,144)}static uint152(e){return or(e,152)}static uint160(e){return or(e,160)}static uint168(e){return or(e,168)}static uint176(e){return or(e,176)}static uint184(e){return or(e,184)}static uint192(e){return or(e,192)}static uint200(e){return or(e,200)}static uint208(e){return or(e,208)}static uint216(e){return or(e,216)}static uint224(e){return or(e,224)}static uint232(e){return or(e,232)}static uint240(e){return or(e,240)}static uint248(e){return or(e,248)}static uint256(e){return or(e,256)}static uint(e){return or(e,256)}static int8(e){return or(e,-8)}static int16(e){return or(e,-16)}static int24(e){return or(e,-24)}static int32(e){return or(e,-32)}static int40(e){return or(e,-40)}static int48(e){return or(e,-48)}static int56(e){return or(e,-56)}static int64(e){return or(e,-64)}static int72(e){return or(e,-72)}static int80(e){return or(e,-80)}static int88(e){return or(e,-88)}static int96(e){return or(e,-96)}static int104(e){return or(e,-104)}static int112(e){return or(e,-112)}static int120(e){return or(e,-120)}static int128(e){return or(e,-128)}static int136(e){return or(e,-136)}static int144(e){return or(e,-144)}static int152(e){return or(e,-152)}static int160(e){return or(e,-160)}static int168(e){return or(e,-168)}static int176(e){return or(e,-176)}static int184(e){return or(e,-184)}static int192(e){return or(e,-192)}static int200(e){return or(e,-200)}static int208(e){return or(e,-208)}static int216(e){return or(e,-216)}static int224(e){return or(e,-224)}static int232(e){return or(e,-232)}static int240(e){return or(e,-240)}static int248(e){return or(e,-248)}static int256(e){return or(e,-256)}static int(e){return or(e,-256)}static bytes1(e){return On(e,1)}static bytes2(e){return On(e,2)}static bytes3(e){return On(e,3)}static bytes4(e){return On(e,4)}static bytes5(e){return On(e,5)}static bytes6(e){return On(e,6)}static bytes7(e){return On(e,7)}static bytes8(e){return On(e,8)}static bytes9(e){return On(e,9)}static bytes10(e){return On(e,10)}static bytes11(e){return On(e,11)}static bytes12(e){return On(e,12)}static bytes13(e){return On(e,13)}static bytes14(e){return On(e,14)}static bytes15(e){return On(e,15)}static bytes16(e){return On(e,16)}static bytes17(e){return On(e,17)}static bytes18(e){return On(e,18)}static bytes19(e){return On(e,19)}static bytes20(e){return On(e,20)}static bytes21(e){return On(e,21)}static bytes22(e){return On(e,22)}static bytes23(e){return On(e,23)}static bytes24(e){return On(e,24)}static bytes25(e){return On(e,25)}static bytes26(e){return On(e,26)}static bytes27(e){return On(e,27)}static bytes28(e){return On(e,28)}static bytes29(e){return On(e,29)}static bytes30(e){return On(e,30)}static bytes31(e){return On(e,31)}static bytes32(e){return On(e,32)}static address(e){return new y0(wd,"address",e)}static bool(e){return new y0(wd,"bool",!!e)}static bytes(e){return new y0(wd,"bytes",e)}static string(e){return new y0(wd,"string",e)}static array(e,t){throw new Error("not implemented yet")}static tuple(e,t){throw new Error("not implemented yet")}static overrides(e){return new y0(wd,"overrides",Object.assign({},e))}static isTyped(e){return e&&typeof e=="object"&&"_typedSymbol"in e&&e._typedSymbol===OY}static dereference(e,t){if(y0.isTyped(e)){if(e.type!==t)throw new Error(`invalid type: expecetd ${t}, got ${e.type}`);return e.value}return e}};L2=new WeakMap;let lo=y0;class Pye extends fd{constructor(e){super("address","address",e,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(e,t){let n=lo.dereference(t,"string");try{n=jr(n)}catch(i){return this._throwError(i.message,t)}return e.writeValue(n)}decode(e){return jr(Ru(e.readValue(),20))}}class Oye extends fd{constructor(t){super(t.name,t.type,"_",t.dynamic);Ee(this,"coder");this.coder=t}defaultValue(){return this.coder.defaultValue()}encode(t,n){return this.coder.encode(t,n)}decode(t){return this.coder.decode(t)}}function DY(r,e,t){let n=[];if(Array.isArray(t))n=t;else if(t&&typeof t=="object"){let l={};n=e.map(u=>{const h=u.localName;return Ue(h,"cannot encode object for signature with missing names","INVALID_ARGUMENT",{argument:"values",info:{coder:u},value:t}),Ue(!l[h],"cannot encode object for signature with duplicate names","INVALID_ARGUMENT",{argument:"values",info:{coder:u},value:t}),l[h]=!0,t[h]})}else xe(!1,"invalid tuple value","tuple",t);xe(e.length===n.length,"types/value length mismatch","tuple",t);let i=new ak,s=new ak,o=[];e.forEach((l,u)=>{let h=n[u];if(l.dynamic){let p=s.length;l.encode(s,h);let g=i.writeUpdatableValue();o.push(w=>{g(w+p)})}else l.encode(i,h)}),o.forEach(l=>{l(i.length)});let a=r.appendWriter(i);return a+=r.appendWriter(s),a}function $Y(r,e){let t=[],n=[],i=r.subReader(0);return e.forEach(s=>{let o=null;if(s.dynamic){let a=r.readIndex(),l=i.subReader(a);try{o=s.decode(l)}catch(u){if(Os(u,"BUFFER_OVERRUN"))throw u;o=u,o.baseType=s.name,o.name=s.localName,o.type=s.type}}else try{o=s.decode(r)}catch(a){if(Os(a,"BUFFER_OVERRUN"))throw a;o=a,o.baseType=s.name,o.name=s.localName,o.type=s.type}if(o==null)throw new Error("investigate");t.push(o),n.push(s.localName||null)}),Uw.fromItems(t,n)}class Dye extends fd{constructor(t,n,i){const s=t.type+"["+(n>=0?n:"")+"]",o=n===-1||t.dynamic;super("array",s,i,o);Ee(this,"coder");Ee(this,"length");er(this,{coder:t,length:n})}defaultValue(){const t=this.coder.defaultValue(),n=[];for(let i=0;io||i<-(o+zye))&&this._throwError("value out-of-bounds",n),i=s4(i,8*Ca)}else(ild(s,this.size*8))&&this._throwError("value out-of-bounds",n);return t.writeValue(i)}decode(t){let n=ld(t.readValue(),this.size*8);return this.signed&&(n=Nw(n,this.size*8)),n}}class Wye extends BY{constructor(e){super("string",e)}defaultValue(){return""}encode(e,t){return super.encode(e,Ds(lo.dereference(t,"string")))}decode(e){return hd(super.decode(e))}}class BE extends fd{constructor(t,n){let i=!1;const s=[];t.forEach(a=>{a.dynamic&&(i=!0),s.push(a.type)});const o="tuple("+s.join(",")+")";super("tuple",o,n,i);Ee(this,"coders");er(this,{coders:Object.freeze(t.slice())})}defaultValue(){const t=[];this.coders.forEach(i=>{t.push(i.defaultValue())});const n=this.coders.reduce((i,s)=>{const o=s.localName;return o&&(i[o]||(i[o]=0),i[o]++),i},{});return this.coders.forEach((i,s)=>{let o=i.localName;!o||n[o]!==1||(o==="length"&&(o="_length"),t[o]==null&&(t[o]=t[s]))}),Object.freeze(t)}encode(t,n){const i=lo.dereference(n,"tuple");return DY(t,this.coders,i)}decode(t){return $Y(t,this.coders)}}function Nc(r){return Nn(Ds(r))}var Vye="AEEUdwmgDS8BxQKKAP4BOgDjATAAngDUAIMAoABoAOAAagCOAEQAhABMAHIAOwA9ACsANgAmAGIAHgAuACgAJwAXAC0AGgAjAB8ALwAUACkAEgAeAAkAGwARABkAFgA5ACgALQArADcAFQApABAAHgAiABAAGgAeABMAGAUhBe8BFxREN8sF2wC5AK5HAW8ArQkDzQCuhzc3NzcBP68NEfMABQdHBuw5BV8FYAA9MzkI9r4ZBg7QyQAWA9CeOwLNCjcCjqkChuA/lm+RAsXTAoP6ASfnEQDytQFJAjWVCkeXAOsA6godAB/cwdAUE0WlBCN/AQUCQRjFD/MRBjHxDQSJbw0jBzUAswBxme+tnIcAYwabAysG8QAjAEMMmxcDqgPKQyDXCMMxA7kUQwD3NXOrAKmFIAAfBC0D3x4BJQDBGdUFAhEgVD8JnwmQJiNWYUzrg0oAGwAUAB0AFnNcACkAFgBP9h3gPfsDOWDKneY2ChglX1UDYD30ABsAFAAdABZzIGRAnwDD8wAjAEEMzRbDqgMB2sAFYwXqAtCnAsS4AwpUJKRtFHsadUz9AMMVbwLpABM1NJEX0ZkCgYMBEyMAxRVvAukAEzUBUFAtmUwSAy4DBTER33EftQHfSwB5MxJ/AjkWKQLzL8E/cwBB6QH9LQDPDtO9ASNriQC5DQANAwCK21EFI91zHwCoL9kBqQcHBwcHKzUDowBvAQohPvU3fAQgHwCyAc8CKQMA5zMSezr7ULgFmDp/LzVQBgEGAi8FYQVgt8AFcTtlQhpCWEmfe5tmZ6IAExsDzQ8t+X8rBKtTAltbAn0jsy8Bl6utPWMDTR8Ei2kRANkDBrNHNysDBzECQWUAcwFpJ3kAiyUhAJ0BUb8AL3EfAbfNAz81KUsFWwF3YQZtAm0A+VEfAzEJDQBRSQCzAQBlAHsAM70GD/v3IZWHBwARKQAxALsjTwHZAeMPEzmXgIHwABIAGQA8AEUAQDt3gdvIEGcQZAkGTRFMdEIVEwK0D64L7REdDNkq09PgADSxB/MDWwfzA1sDWwfzB/MDWwfzA1sDWwNbA1scEvAi28gQZw9QBHUFlgWTBN4IiyZREYkHMAjaVBV0JhxPA00BBCMtSSQ7mzMTJUpMFE0LCAQ2SmyvfUADTzGzVP2QqgPTMlc5dAkGHnkSqAAyD3skNb1OhnpPcagKU0+2tYdJak5vAsY6sEAACikJm2/Dd1YGRRAfJ6kQ+ww3AbkBPw3xS9wE9QY/BM0fgRkdD9GVoAipLeEM8SbnLqWAXiP5KocF8Uv4POELUVFsD10LaQnnOmeBUgMlAREijwrhDT0IcRD3Cs1vDekRSQc9A9lJngCpBwULFR05FbkmFGKwCw05ewb/GvoLkyazEy17AAXXGiUGUQEtGwMA0y7rhbRaNVwgT2MGBwspI8sUrFAkDSlAu3hMGh8HGSWtApVDdEqLUToelyH6PEENai4XUYAH+TwJGVMLhTyiRq9FEhHWPpE9TCJNTDAEOYMsMyePCdMPiQy9fHYBXQklCbUMdRM1ERs3yQg9Bx0xlygnGQglRplgngT7owP3E9UDDwVDCUUHFwO5HDETMhUtBRGBKNsC9zbZLrcCk1aEARsFzw8pH+MQVEfkDu0InwJpA4cl7wAxFSUAGyKfCEdnAGOP3FMJLs8Iy2pwI3gDaxTrZRF3B5UOWwerHDcVwxzlcMxeD4YMKKezCV8BeQmdAWME5wgNNV+MpCBFZ1eLXBifIGVBQ14AAjUMaRWjRMGHfAKPD28SHwE5AXcHPQ0FAnsR8RFvEJkI74YINbkz/DopBFMhhyAVCisDU2zSCysm/Qz8bQGnEmYDEDRBd/Jnr2C6KBgBBx0yyUFkIfULlk/RDKAaxRhGVDIZ6AfDA/ca9yfuQVsGAwOnBxc6UTPyBMELbQiPCUMATQ6nGwfbGG4KdYzUATWPAbudA1uVhwJzkwY7Bw8Aaw+LBX3pACECqwinAAkA0wNbAD0CsQehAB0AiUUBQQMrMwEl6QKTA5cINc8BmTMB9y0EH8cMGQD7O25OAsO1AoBuZqYF4VwCkgJNOQFRKQQJUktVA7N15QDfAE8GF+NLARmvTs8e50cB43MvAMsA/wAJOQcJRQHRAfdxALsBYws1Caa3uQFR7S0AhwAZbwHbAo0A4QA5AIP1AVcAUQVd/QXXAlNNARU1HC9bZQG/AyMBNwERAH0Gz5GpzQsjBHEH1wIQHxXlAu8yB7kFAyLjE9FCyQK94lkAMhoKPAqrCqpgX2Q3CjV2PVQAEh+sPss/UgVVO1c7XDtXO1w7VztcO1c7XDtXO1wDm8Pmw+YKcF9JYe8Mqg3YRMw6TRPfYFVgNhPMLbsUxRXSJVoZQRrAJwkl6FUNDwgt12Y0CDA0eRfAAEMpbINFY4oeNApPHOtTlVT8LR8AtUumM7MNsBsZREQFS3XxYi4WEgomAmSFAmJGX1GzAV83JAKh+wJonAJmDQKfiDgfDwJmPwJmKgRyBIMDfxcDfpY5Cjl7GzmGOicnAmwhAjI6OA4CbcsCbbLzjgM3a0kvAWsA4gDlAE4JB5wMkQECD8YAEbkCdzMCdqZDAnlPRwJ4viFg30WyRvcCfEMCeswCfQ0CfPRIBEiBZygALxlJXEpfGRtK0ALRBQLQ0EsrA4hTA4fqRMmRNgLypV0HAwOyS9JMMSkH001QTbMCi0MCitzFHwshR2sJuwKOOwKOYESbhQKO3QKOYHxRuFM5AQ5S2FSJApP/ApMQAO0AIFUiVbNV1AosHymZijLleGpFPz0Cl6MC77ZYJawAXSkClpMCloCgAK1ZsFoNhVEAPwKWuQKWUlxIXNUCmc8CmWhczl0LHQKcnznGOqECnBoCn58CnryOACETNS4TAp31Ap6WALlBYThh8wKe1wKgcgGtAp6jIwKeUqljzGQrKS8CJ7MCJoICoP8CoFDbAqYzAqXSAqgDAIECp/ZogGi1AAdNaiBq1QKs5wKssgKtawKtBgJXIQJV4AKx5dsDH1JsmwKywRECsuwbbORtZ21MYwMl0QK2YD9DbpQDKUkCuGICuUsZArkue3A6cOUCvR0DLbYDMhUCvoxyBgMzdQK+HnMmc1MCw88CwwhzhnRPOUl05AM8qwEDPJ4DPcMCxYACxksCxhSNAshtVQLISALJUwLJMgJkoQLd1nh9ZXiyeSlL1AMYp2cGAmH4GfeVKHsPXpZevxUCz28Cz3AzT1fW9xejAMqxAs93AS3uA04Wfk8JAtwrAtuOAtJTA1JgA1NjAQUDVZCAjUMEzxrxZEl5A4LSg5EC2ssC2eKEFIRNp0ADhqkAMwNkEoZ1Xf0AWQLfaQLevHd7AuIz7RgB8zQrAfSfAfLWiwLr9wLpdH0DAur9AuroAP1LAb0C7o0C66CWrpcHAu5DA4XkmH1w5HGlAvMHAG0DjhqZlwL3FwORcgOSiwL3nAL53QL4apogmq+/O5siA52HAv7+AR8APZ8gAZ+3AwWRA6ZuA6bdANXJAwZuoYyiCQ0DDE0BEwEjB3EGZb1rCQC/BG/DFY8etxEAG3k9ACcDNxJRA42DAWcrJQCM8wAlAOanC6OVCLsGI6fJBgCvBRnDBvElRUYFFoAFcD9GSDNCKUK8X3kZX8QAls0FOgCQVCGbwTsuYDoZutcONxjOGJHJ/gVfBWAFXwVgBWsFYAVfBWAFXwVgBV8FYAVfBWBOHQjfjW8KCgoKbF7xMwTRA7kGN8PDAMMEr8MA70gxFroFTj5xPnhCR0K+X30/X/AAWBkzswCNBsxzzASm70aCRS4rDDMeLz49fnXfcsH5GcoscQFz13Y4HwVnBXLJycnACNdRYwgICAqEXoWTxgA7P4kACxbZBu21Kw0AjMsTAwkVAOVtJUUsJ1JCuULESUArXy9gPi9AKwnJRQYKTD9LPoA+iT54PnkCkULEUUpDX9NWV3JVEjQAc1w3A3IBE3YnX+g7QiMJb6MKaiszRCUuQrNCxDPMCcwEX9EWJzYREBEEBwIHKn6l33JCNVIfybPJtAltydPUCmhBZw/tEKsZAJOVJU1CLRuxbUHOQAo7P0s+eEJHHA8SJVRPdGM0NVrpvBoKhfUlM0JHHGUQUhEWO1xLSj8MO0ucNAqJIzVCRxv9EFsqKyA4OQgNj2nwZgp5ZNFgE2A1K3YHS2AhQQojJmC7DgpzGG1WYFUZCQYHZO9gHWCdYIVgu2BTYJlwFh8GvRbcXbG8YgtDHrMBwzPVyQonHQgkCyYBgQJ0Ajc4nVqIAwGSCsBPIgDsK3SWEtIVBa5N8gGjAo+kVwVIZwD/AEUSCDweX4ITrRQsJ8K3TwBXFDwEAB0TvzVcAtoTS20RIwDgVgZ9BBImYgA5AL4Coi8LFnezOkCnIQFjAY4KBAPh9RcGsgZSBsEAJctdsWIRu2kTkQstRw7DAcMBKgpPBGIGMDAwKCYnKTQaLg4AKRSVAFwCdl+YUZ0JdicFD3lPAdt1F9ZZKCGxuE3yBxkFVGcA/wBFEgiCBwAOLHQSjxOtQDg1z7deFRMAZ8QTAGtKb1ApIiPHADkAvgKiLy1DFtYCmBiDAlDDWNB0eo7fpaMO/aEVRRv0ATEQZBIODyMEAc8JQhCbDRgzFD4TAEMAu9YBCgCsAOkAm5I3ABwAYxvONnR+MhXJAxgKQyxL2+kkJhMbhQKDBMkSsvF0AD9BNQ6uQC7WqSQHwxEAEEIu1hkhAH2z4iQPwyJPHNWpdyYBRSpnJALzoBAEVPPsH20MxA0CCEQKRgAFyAtFAlMNwwjEDUQJRArELtapMg7DDZgJIw+TGukEIwvDFkMAqAtDEMMMBhioe+QAO3MMRAACrgnEBSPY9Q0FDnbSBoMAB8MSYxkSxAEJAPIJAAB8FWMOFtMc/HcXwxhDAC7DAvOowwAewwJdKDKHAAHDAALrFUQVwwAbwyvzpWMWv8wA/ABpAy++bcYDUKPD0KhDCwKmJ1MAAmMA5+UZwxAagwipBRL/eADfw6fDGOMCGsOjk3l6BwOpo4sAEsMOGxMAA5sAbcMOAAvDp0MJGkMDwgipnNIPAwfIqUMGAOGDAAPzABXDAAcDAAnDAGmTABrDAA7DChjDjnEWAwABYwAOcwAuUyYABsMAF8MIKQANUgC6wy4AA8MADqMq8wCyYgAcIwAB8wqpAAXOCx0V4wAHowBCwwEKAGnDAAuDAB3DAAjDCakABdIAbqcZ3QCZCCkABdIAAAFDAAfjAB2jCCkABqIACYMAGzMAbSMA5sOIAAhjAAhDABTDBAkpAAbSAOOTAAlDC6kOzPtnAAdDAG6kQFAATwAKwwwAA0MACbUDPwAHIwAZgwACE6cDAAojAApDAAoDp/MGwwAJIwADEwAQQwgAFEMAEXMAD5MADfMADcMAGRMOFiMAFUMAbqMWuwHDAMIAE0MLAGkzEgDhUwACQwAEWgAXgwUjAAbYABjDBSYBgzBaAEFNALcQBxUMegAwMngBrA0IZgJ0KxQHBREPd1N0ZzKRJwaIHAZqNT4DqQq8BwngAB4DAwt2AX56T1ocKQNXAh1GATQGC3tOxYNagkgAMQA5CQADAQEAWxLjAIOYNAEzAH7tFRk6TglSAF8NAAlYAQ+S1ACAQwQorQBiAN4dAJ1wPyeTANVzuQDX3AIeEMp9eyMgXiUAEdkBkJizKltbVVAaRMqRAAEAhyQ/SDEz6BmfVwB6ATEsOClKIRcDOF0E/832AFNt5AByAnkCRxGCOs94NjXdAwINGBonDBwPALW2AwICAgAAAAAAAAYDBQMDARrUAwAtAAAAAgEGBgYGBgYFBQUFBQUEBQYHCAkEBQUFBQQAAAICAAAAIgCNAJAAlT0A6gC7ANwApEQAwgCyAK0AqADuAKYA2gCjAOcBCAEDAMcAgQBiANIA1AEDAN4A8gCQAKkBMQDqAN8A3AsBCQ8yO9ra2tq8xuLT1tRJOB0BUgFcNU0BWgFpAWgBWwFMUUlLbhMBUxsNEAs6PhMOACcUKy0vMj5AQENDQ0RFFEYGJFdXV1dZWVhZL1pbXVxcI2NnZ2ZoZypsbnZ1eHh4eHh4enp6enp6enp6enp8fH18e2IARPIASQCaAHgAMgBm+ACOAFcAVwA3AnbvAIsABfj4AGQAk/IAnwBPAGIAZP//sACFAIUAaQBWALEAJAC2AIMCQAJDAPwA5wD+AP4A6AD/AOkA6QDoAOYALwJ7AVEBQAE+AVQBPgE+AT4BOQE4ATgBOAEcAVgXADEQCAEAUx8SHgsdHhYAjgCWAKYAUQBqIAIxAHYAbwCXAxUDJzIDIUlGTzEAkQJPAMcCVwKkAMAClgKWApYClgKWApYCiwKWApYClgKWApYClgKVApUCmAKgApcClgKWApQClAKUApQCkgKVAnUB1AKXAp8ClgKWApUeAIETBQD+DQOfAmECOh8BVBg9AuIZEjMbAU4/G1WZAXusRAFpYQEFA0FPAQYAmTEeIJdyADFoAHEANgCRA5zMk/C2jGINwjMWygIZCaXdfDILBCs5dAE7YnQBugDlhoiHhoiGiYqKhouOjIaNkI6Ij4qQipGGkoaThpSSlYaWhpeKmIaZhpqGm4aci52QnoqfhuIC4XTpAt90AIp0LHSoAIsAdHQEQwRABEIERQRDBEkERgRBBEcESQRIBEQERgRJAJ5udACrA490ALxuAQ10ANFZdHQA13QCFHQA/mJ0AP4BIQD+APwA/AD9APwDhGZ03ASMK23HAP4A/AD8AP0A/CR0dACRYnQA/gCRASEA/gCRAvQA/gCRA4RmdNwEjCttxyR0AP9idAEhAP4A/gD8APwA/QD8AP8A/AD8AP0A/AOEZnTcBIwrbcckdHQAkWJ0ASEA/gCRAP4AkQL0AP4AkQOEZnTcBIwrbcckdAJLAT50AlIBQXQCU8l0dAJfdHQDpgL0A6YDpgOnA6cDpwOnA4RmdNwEjCttxyR0dACRYnQBIQOmAJEDpgCRAvQDpgCRA4RmdNwEjCttxyR0BDh0AJEEOQCRDpU5dSgCADR03gV2CwArdAEFAM5iCnR0AF1iAAYcOgp0dACRCnQAXAEIwWZ0CnRmdHQAkWZ0CnRmdEXgAFF03gp0dEY0tlT2u3SOAQTwscwhjZZKrhYcBSfFp9XNbKiVDOD2b+cpe4/Z17mQnbtzzhaeQtE2GGj0IDNTjRUSyTxxw/RPHW/+vS7d1NfRt9z9QPZg4X7QFfhCnkvgNPIItOsC2eV6hPannZNHlZ9xrwZXIMOlu3jSoQSq78WEjwLjw1ELSlF1aBvfzwk5ZX7AUvQzjPQKbDuQ+sm4wNOp4A6AdVuRS0t1y/DZpg4R6m7FNjM9HgvW7Bi88zaMjOo6lM8wtBBdj8LP4ylv3zCXPhebMKJc066o9sF71oFW/8JXu86HJbwDID5lzw5GWLR/LhT0Qqnp2JQxNZNfcbLIzPy+YypqRm/lBmGmex+82+PisxUumSeJkALIT6rJezxMH+CTJmQtt5uwTVbL3ptmjDUQzlSIvWi8Tl7ng1NpuRn1Ng4n14Qc+3Iil7OwkvNWogLSPkn3pihIFytyIGmMhOe3n1tWsuMy9BdKyqF4Z3v2SgggTL9KVvMXPnCbRe+oOuFFP3HejBG/w9gvmfNYvg6JuWia2lcSSN1uIjBktzoIazOHPJZ7kKHPz8mRWVdW3lA8WGF9dQF6Bm673boov3BUWDU2JNcahR23GtfHKLOz/viZ+rYnZFaIznXO67CYEJ1fXuTRpZhYZkKe54xeoagkNGLs+NTZHE0rX45/XvQ2RGADX6vcAvdxIUBV27wxGm2zjZo4X3ILgAlrOFheuZ6wtsvaIj4yLY7qqawlliaIcrz2G+c3vscAnCkCuMzMmZvMfu9lLwTvfX+3cVSyPdN9ZwgDZhfjRgNJcLiJ67b9xx8JHswprbiE3v9UphotAPIgnXVIN5KmMc0piXhc6cChPnN+MRhG9adtdttQTTwSIpl8I4/j//d3sz1326qTBTpPRM/Hgh3kzqEXs8ZAk4ErQhNO8hzrQ0DLkWMA/N+91tn2MdOJnWC2FCZehkQrwzwbKOjhvZsbM95QoeL9skYyMf4srVPVJSgg7pOLUtr/n9eT99oe9nLtFRpjA9okV2Kj8h9k5HaC0oivRD8VyXkJ81tcd4fHNXPCfloIQasxsuO18/46dR2jgul/UIet2G0kRvnyONMKhHs6J26FEoqSqd+rfYjeEGwHWVDpX1fh1jBBcKGMqRepju9Y00mDVHC+Xdij/j44rKfvfjGinNs1jO/0F3jB83XCDINN/HB84axlP+3E/klktRo+vl3U/aiyMJbIodE1XSsDn6UAzIoMtUObY2+k/4gY/l+AkZJ5Sj2vQrkyLm3FoxjhDX+31UXBFf9XrAH31fFqoBmDEZvhvvpnZ87N+oZEu7U9O/nnk+QWj3x8uyoRbEnf+O5UMr9i0nHP38IF5AvzrBW8YWBUR0mIAzIvndQq9N3v/Jto3aPjPXUPl8ASdPPyAp7jENf8bk7VMM9ol9XGmlBmeDMuGqt+WzuL6CXAxXjIhCPM5vACchgMJ/8XBGLO/D1isVvGhwwHHr1DLaI5mn2Jr/b1pUD90uciDaS8cXNDzCWvNmT/PhQe5e8nTnnnkt8Ds/SIjibcum/fqDhKopxAY8AkSrPn+IGDEKOO+U3XOP6djFs2H5N9+orhOahiQk5KnEUWa+CzkVzhp8bMHRbg81qhjjXuIKbHjSLSIBKWqockGtKinY+z4/RdBUF6pcc3JmnlxVcNgrI4SEzKUZSwcD2QCyxzKve+gAmg6ZuSRkpPFa6mfThu7LJNu3H5K42uCpNvPAsoedolKV/LHe/eJ+BbaG5MG0NaSGVPRUmNFMFFSSpXEcXwbVh7UETOZZtoVNRGOIbbkig3McEtR68cG0RZAoJevWYo7Dg/lZ1CQzblWeUvVHmr8fY4Nqd9JJiH/zEX24mJviH60fAyFr0A3c4bC1j3yZU60VgJxXn8JgJXLUIsiBnmKmMYz+7yBQFBvqb2eYnuW59joZBf56/wXvWIR4R8wTmV80i1mZy+S4+BUES+hzjk0uXpC///z/IlqHZ1monzlXp8aCfhGKMti73FI1KbL1q6IKO4fuBuZ59gagjn5xU79muMpHXg6S+e+gDM/U9BKLHbl9l6o8czQKl4RUkJJiqftQG2i3BMg/TQlUYFkJDYBOOvAugYuzYSDnZbDDd/aSd9x0Oe6F+bJcHfl9+gp6L5/TgA+BdFFovbfCrQ40s5vMPw8866pNX8zyFGeFWdxIpPVp9Rg1UPOVFbFZrvaFq/YAzHQgqMWpahMYfqHpmwXfHL1/kpYmGuHFwT55mQu0dylfNuq2Oq0hTMCPwqfxnuBIPLXfci4Y1ANy+1CUipQxld/izVh16WyG2Q0CQQ9NqtAnx1HCHwDj7sYxOSB0wopZSnOzxQOcExmxrVTF2BkOthVpGfuhaGECfCJpJKpjnihY+xOT2QJxN61+9K6QSqtv2Shr82I3jgJrqBg0wELFZPjvHpvzTtaJnLK6Vb97Yn933koO/saN7fsjwNKzp4l2lJVx2orjCGzC/4ZL4zCver6aQYtC5sdoychuFE6ufOiog+VWi5UDkbmvmtah/3aArEBIi39s5ILUnlFLgilcGuz9CQshEY7fw2ouoILAYPVT/gyAIq3TFAIwVsl+ktkRz/qGfnCDGrm5gsl/l9QdvCWGsjPz3dU7XuqKfdUrr/6XIgjp4rey6AJBmCmUJMjITHVdFb5m1p+dLMCL8t55zD42cmftmLEJC0Da04YiRCVUBLLa8D071/N5UBNBXDh0LFsmhV/5B5ExOB4j3WVG/S3lfK5o+V6ELHvy6RR9n4ac+VsK4VE4yphPvV+kG9FegTBH4ZRXL2HytUHCduJazB/KykjfetYxOXTLws267aGOd+I+JhKP//+VnXmS90OD/jvLcVu0asyqcuYN1mSb6XTlCkqv1vigZPIYwNF/zpWcT1GR/6aEIRjkh0yhg4LXJfaGobYJTY4JI58KiAKgmmgAKWdl5nYCeLqavRJGQNuYuZtZFGx+IkI4w4NS2xwbetNMunOjBu/hmKCI/w7tfiiyUd//4rbTeWt4izBY8YvGIN6vyKYmP/8X8wHKCeN+WRcKM70+tXKNGyevU9H2Dg5BsljnTf8YbsJ1TmMs74Ce2XlHisleguhyeg44rQOHZuw/6HTkhnnurK2d62q6yS7210SsAIaR+jXMQA+svkrLpsUY+F30Uw89uOdGAR6vo4FIME0EfVVeHTu6eKicfhSqOeXJhbftcd08sWEnNUL1C9fnprTgd83IMut8onVUF0hvqzZfHduPjbjwEXIcoYmy+P6tcJZHmeOv6VrvEdkHDJecjHuHeWANe79VG662qTjA/HCvumVv3qL+LrOcpqGps2ZGwQdFJ7PU4iuyRlBrwfO+xnPyr47s2cXVbWzAyznDiBGjCM3ksxjjqM62GE9C8f5U38kB3VjtabKp/nRdvMESPGDG90bWRLAt1Qk5DyLuazRR1YzdC1c+hZXvAWV8xA72S4A8B67vjVhbba3MMop293FeEXpe7zItMWrJG/LOH9ByOXmYnNJfjmfuX9KbrpgLOba4nZ+fl8Gbdv/ihv+6wFGKHCYrVwmhFC0J3V2bn2tIB1wCc1CST3d3X2OyxhguXcs4sm679UngzofuSeBewMFJboIQHbUh/m2JhW2hG9DIvG2t7yZIzKBTz9wBtnNC+2pCRYhSIuQ1j8xsz5VvqnyUIthvuoyyu7fNIrg/KQUVmGQaqkqZk/Vx5b33/gsEs8yX7SC1J+NV4icz6bvIE7C5G6McBaI8rVg56q5QBJWxn/87Q1sPK4+sQa8fLU5gXo4paaq4cOcQ4wR0VBHPGjKh+UlPCbA1nLXyEUX45qZ8J7/Ln4FPJE2TdzD0Z8MLSNQiykMMmSyOCiFfy84Rq60emYB2vD09KjYwsoIpeDcBDTElBbXxND72yhd9pC/1CMid/5HUMvAL27OtcIJDzNKpRPNqPOpyt2aPGz9QWIs9hQ9LiX5s8m9hjTUu/f7MyIatjjd+tSfQ3ufZxPpmJhTaBtZtKLUcfOCUqADuO+QoH8B9v6U+P0HV1GLQmtoNFTb3s74ivZgjES0qfK+8RdGgBbcCMSy8eBvh98+et1KIFqSe1KQPyXULBMTsIYnysIwiZBJYdI20vseV+wuJkcqGemehKjaAb9L57xZm3g2zX0bZ2xk/fU+bCo7TlnbW7JuF1YdURo/2Gw7VclDG1W7LOtas2LX4upifZ/23rzpsnY/ALfRgrcWP5hYmV9VxVOQA1fZvp9F2UNU+7d7xRyVm5wiLp3/0dlV7vdw1PMiZrbDAYzIVqEjRY2YU03sJhPnlwIPcZUG5ltL6S8XCxU1eYS5cjr34veBmXAvy7yN4ZjArIG0dfD/5UpBNlX1ZPoxJOwyqRi3wQWtOzd4oNKh0LkoTm8cwqgIfKhqqGOhwo71I+zXnMemTv2B2AUzABWyFztGgGULjDDzWYwJUVBTjKCn5K2QGMK1CQT7SzziOjo+BhAmqBjzuc3xYym2eedGeOIRJVyTwDw37iCMe4g5Vbnsb5ZBdxOAnMT7HU4DHpxWGuQ7GeiY30Cpbvzss55+5Km1YsbD5ea3NI9QNYIXol5apgSu9dZ8f8xS5dtHpido5BclDuLWY4lhik0tbJa07yJhH0BOyEut/GRbYTS6RfiTYWGMCkNpfSHi7HvdiTglEVHKZXaVhezH4kkXiIvKopYAlPusftpE4a5IZwvw1x/eLvoDIh/zpo9FiQInsTb2SAkKHV42XYBjpJDg4374XiVb3ws4qM0s9eSQ5HzsMU4OZJKuopFjBM+dAZEl8RUMx5uU2N486Kr141tVsGQfGjORYMCJAMsxELeNT4RmWjRcpdTGBwcx6XN9drWqPmJzcrGrH4+DRc7+n1w3kPZwu0BkNr6hQrqgo7JTB9A5kdJ/H7P4cWBMwsmuixAzJB3yrQpnGIq90lxAXLzDCdn1LPibsRt7rHNjgQBklRgPZ8vTbjXdgXrTWQsK5MdrXXQVPp0Rinq3frzZKJ0qD6Qhc40VzAraUXlob1gvkhK3vpmHgI6FRlQZNx6eRqkp0zy4AQlX813fAPtL3jMRaitGFFjo0zmErloC+h+YYdVQ6k4F/epxAoF0BmqEoKNTt6j4vQZNQ2BoqF9Vj53TOIoNmDiu9Xp15RkIgQIGcoLpfoIbenzpGUAtqFJp5W+LLnx38jHeECTJ/navKY1NWfN0sY1T8/pB8kIH3DU3DX+u6W3YwpypBMYOhbSxGjq84RZ84fWJow8pyHqn4S/9J15EcCMsXqrfwyd9mhiu3+rEo9pPpoJkdZqHjra4NvzFwuThNKy6hao/SlLw3ZADUcUp3w3SRVfW2rhl80zOgTYnKE0Hs2qp1J6H3xqPqIkvUDRMFDYyRbsFI3M9MEyovPk8rlw7/0a81cDVLmBsR2ze2pBuKb23fbeZC0uXoIvDppfTwIDxk1Oq2dGesGc+oJXWJLGkOha3CX+DUnzgAp9HGH9RsPZN63Hn4RMA5eSVhPHO+9RcRb/IOgtW31V1Q5IPGtoxPjC+MEJbVlIMYADd9aHYWUIQKopuPOHmoqSkubnAKnzgKHqgIOfW5RdAgotN6BN+O2ZYHkuemLnvQ8U9THVrS1RtLmKbcC7PeeDsYznvqzeg6VCNwmr0Yyx1wnLjyT84BZz3EJyCptD3yeueAyDWIs0L2qs/VQ3HUyqfrja0V1LdDzqAikeWuV4sc7RLIB69jEIBjCkyZedoUHqCrOvShVzyd73OdrJW0hPOuQv2qOoHDc9xVb6Yu6uq3Xqp2ZaH46A7lzevbxQEmfrzvAYSJuZ4WDk1Hz3QX1LVdiUK0EvlAGAYlG3Md30r7dcPN63yqBCIj25prpvZP0nI4+EgWoFG95V596CurXpKRBGRjQlHCvy5Ib/iW8nZJWwrET3mgd6mEhfP4KCuaLjopWs7h+MdXFdIv8dHQJgg1xi1eYqB0uDYjxwVmri0Sv5XKut/onqapC+FQiC2C1lvYJ9MVco6yDYsS3AANUfMtvtbYI2hfwZatiSsnoUeMZd34GVjkMMKA+XnjJpXgRW2SHTZplVowPmJsvXy6w3cfO1AK2dvtZEKTkC/TY9LFiKHCG0DnrMQdGm2lzlBHM9iEYynH2UcVMhUEjsc0oDBTgo2ZSQ1gzkAHeWeBXYFjYLuuf8yzTCy7/RFR81WDjXMbq2BOH5dURnxo6oivmxL3cKzKInlZkD31nvpHB9Kk7GfcfE1t+1V64b9LtgeJGlpRFxQCAqWJ5DoY77ski8gsOEOr2uywZaoO/NGa0X0y1pNQHBi3b2SUGNpcZxDT7rLbBf1FSnQ8guxGW3W+36BW0gBje4DOz6Ba6SVk0xiKgt+q2JOFyr4SYfnu+Ic1QZYIuwHBrgzr6UvOcSCzPTOo7D6IC4ISeS7zkl4h+2VoeHpnG/uWR3+ysNgPcOIXQbv0n4mr3BwQcdKJxgPSeyuP/z1Jjg4e9nUvoXegqQVIE30EHx5GHv+FAVUNTowYDJgyFhf5IvlYmEqRif6+WN1MkEJmDcQITx9FX23a4mxy1AQRsOHO/+eImX9l8EMJI3oPWzVXxSOeHU1dUWYr2uAA7AMb+vAEZSbU3qob9ibCyXeypEMpZ6863o6QPqlqGHZkuWABSTVNd4cOh9hv3qEpSx2Zy/DJMP6cItEmiBJ5PFqQnDEIt3NrA3COlOSgz43D7gpNFNJ5MBh4oFzhDPiglC2ypsNU4ISywY2erkyb1NC3Qh/IfWj0eDgZI4/ln8WPfBsT3meTjq1Uqt1E7Zl/qftqkx6aM9KueMCekSnMrcHj1CqTWWzEzPsZGcDe3Ue4Ws+XFYVxNbOFF8ezkvQGR6ZOtOLU2lQEnMBStx47vE6Pb7AYMBRj2OOfZXfisjJnpTfSNjo6sZ6qSvNxZNmDeS7Gk3yYyCk1HtKN2UnhMIjOXUzAqDv90lx9O/q/AT1ZMnit5XQe9wmQxnE/WSH0CqZ9/2Hy+Sfmpeg8RwsHI5Z8kC8H293m/LHVVM/BA7HaTJYg5Enk7M/xWpq0192ACfBai2LA/qrCjCr6Dh1BIMzMXINBmX96MJ5Hn2nxln/RXPFhwHxUmSV0EV2V0jm86/dxxuYSU1W7sVkEbN9EzkG0QFwPhyHKyb3t+Fj5WoUUTErcazE/N6EW6Lvp0d//SDPj7EV9UdJN+Amnf3Wwk3A0SlJ9Z00yvXZ7n3z70G47Hfsow8Wq1JXcfwnA+Yxa5mFsgV464KKP4T31wqIgzFPd3eCe3j5ory5fBF2hgCFyVFrLzI9eetNXvM7oQqyFgDo4CTp/hDV9NMX9JDHQ/nyHTLvZLNLF6ftn2OxjGm8+PqOwhxnPHWipkE/8wbtyri80Sr7pMNkQGMfo4ZYK9OcCC4ESVFFbLMIvlxSoRqWie0wxqnLfcLSXMSpMMQEJYDVObYsXIQNv4TGNwjq1kvT1UOkicTrG3IaBZ3XdScS3u8sgeZPVpOLkbiF940FjbCeNRINNvDbd01EPBrTCPpm12m43ze1bBB59Ia6Ovhnur/Nvx3IxwSWol+3H2qfCJR8df6aQf4v6WiONxkK+IqT4pKQrZK/LplgDI/PJZbOep8dtbV7oCr6CgfpWa8NczOkPx81iSHbsNhVSJBOtrLIMrL31LK9TqHqAbAHe0RLmmV806kRLDLNEhUEJfm9u0sxpkL93Zgd6rw+tqBfTMi59xqXHLXSHwSbSBl0EK0+loECOPtrl+/nsaFe197di4yUgoe4jKoAJDXc6DGDjrQOoFDWZJ9HXwt8xDrQP+7aRwWKWI1GF8s8O4KzxWBBcwnl3vnl1Oez3oh6Ea1vjR7/z7DDTrFtqU2W/KAEzAuXDNZ7MY73MF216dzdSbWmUp4lcm7keJfWaMHgut9x5C9mj66Z0lJ+yhsjVvyiWrfk1lzPOTdhG15Y7gQlXtacvI7qv/XNSscDwqkgwHT/gUsD5yB7LdRRvJxQGYINn9hTpodKFVSTPrtGvyQw+HlRFXIkodErAGu9Iy1YpfSPc3jkFh5CX3lPxv7aqjE/JAfTIpEjGb/H7MO0e2vsViSW1qa/Lmi4/n4DEI3g7lYrcanspDfEpKkdV1OjSLOy0BCUqVoECaB55vs06rXl4jqmLsPsFM/7vYJ0vrBhDCm/00A/H81l1uekJ/6Lml3Hb9+NKiLqATJmDpyzfYZFHumEjC662L0Bwkxi7E9U4cQA0XMVDuMYAIeLMPgQaMVOd8fmt5SflFIfuBoszeAw7ow5gXPE2Y/yBc/7jExARUf/BxIHQBF5Sn3i61w4z5xJdCyO1F1X3+3ax+JSvMeZ7S6QSKp1Fp/sjYz6Z+VgCZzibGeEoujryfMulH7Rai5kAft9ebcW50DyJr2uo2z97mTWIu45YsSnNSMrrNUuG1XsYBtD9TDYzQffKB87vWbkM4EbPAFgoBV4GQS+vtFDUqOFAoi1nTtmIOvg38N4hT2Sn8r8clmBCXspBlMBYTnrqFJGBT3wZOzAyJDre9dHH7+x7qaaKDOB4UQALD5ecS0DE4obubQEiuJZ0EpBVpLuYcce8Aa4PYd/V4DLDAJBYKQPCWTcrEaZ5HYbJi11Gd6hjGom1ii18VHYnG28NKpkz2UKVPxlhYSp8uZr367iOmoy7zsxehW9wzcy2zG0a80PBMCRQMb32hnaHeOR8fnNDzZhaNYhkOdDsBUZ3loDMa1YP0uS0cjUP3b/6DBlqmZOeNABDsLl5BI5QJups8uxAuWJdkUB/pO6Zax6tsg7fN5mjjDgMGngO+DPcKqiHIDbFIGudxtPTIyDi9SFMKBDcfdGQRv41q1AqmxgkVfJMnP8w/Bc7N9/TR6C7mGObFqFkIEom8sKi2xYqJLTCHK7cxzaZvqODo22c3wisBCP4HeAgcRbNPAsBkNRhSmD48dHupdBRw4mIvtS5oeF6zeT1KMCyhMnmhpkFAGWnGscoNkwvQ8ZM5lE/vgTHFYL99OuNxdFBxTEDd5v2qLR8y9WkXsWgG6kZNndFG+pO/UAkOCipqIhL3hq7cRSdrCq7YhUsTocEcnaFa6nVkhnSeRYUA1YO0z5itF9Sly3VlxYDw239TJJH6f3EUfYO5lb7bcFcz8Bp7Oo8QmnsUHOz/fagVUBtKEw1iT88j+aKkv8cscKNkMxjYr8344D1kFoZ7/td1W6LCNYN594301tUGRmFjAzeRg5vyoM1F6+bJZ/Q54jN/k8SFd3DxPTYaAUsivsBfgTn7Mx8H2SpPt4GOdYRnEJOH6jHM2p6SgB0gzIRq6fHxGMmSmqaPCmlfwxiuloaVIitLGN8wie2CDWhkzLoCJcODh7KIOAqbHEvXdUxaS4TTTs07Clzj/6GmVs9kiZDerMxEnhUB6QQPlcfqkG9882RqHoLiHGBoHfQuXIsAG8GTAtao2KVwRnvvam8jo1e312GQAKWEa4sUVEAMG4G6ckcONDwRcg1e2D3+ohXgY4UAWF8wHKQMrSnzCgfFpsxh+aHXMGtPQroQasRY4U6UdG0rz1Vjbka0MekOGRZQEvqQFlxseFor8zWFgHek3v29+WqN6gaK5gZOTOMZzpQIC1201LkMCXild3vWXSc5UX9xcFYfbRPzGFa1FDcPfPB/jUEq/FeGt419CI3YmBlVoHsa4KdcwQP5ZSwHHhFJ7/Ph/Rap/4vmG91eDwPP0lDfCDRCLszTqfzM71xpmiKi2HwS4WlqvGNwtvwF5Dqpn6KTq8ax00UMPkxDcZrEEEsIvHiUXXEphdb4GB4FymlPwBz4Gperqq5pW7TQ6/yNRhW8VT5NhuP0udlxo4gILq5ZxAZk8ZGh3g4CqxJlPKY7AQxupfUcVpWT5VItp1+30UqoyP4wWsRo3olRRgkWZZ2ZN6VC3OZFeXB8NbnUrSdikNptD1QiGuKkr8EmSR/AK9Rw+FF3s5uwuPbvHGiPeFOViltMK7AUaOsq9+x9cndk3iJEE5LKZRlWJbKOZweROzmPNVPkjE3K/TyA57Rs68TkZ3MR8akKpm7cFjnjPd/DdkWjgYoKHSr5Wu5ssoBYU4acRs5g2DHxUmdq8VXOXRbunD8QN0LhgkssgahcdoYsNvuXGUK/KXD/7oFb+VGdhqIn02veuM5bLudJOc2Ky0GMaG4W/xWBxIJcL7yliJOXOpx0AkBqUgzlDczmLT4iILXDxxtRR1oZa2JWFgiAb43obrJnG/TZC2KSK2wqOzRZTXavZZFMb1f3bXvVaNaK828w9TO610gk8JNf3gMfETzXXsbcvRGCG9JWQZ6+cDPqc4466Yo2RcKH+PILeKOqtnlbInR3MmBeGG3FH10yzkybuqEC2HSQwpA0An7d9+73BkDUTm30bZmoP/RGbgFN+GrCOfADgqr0WbI1a1okpFms8iHYw9hm0zUvlEMivBRxModrbJJ+9/p3jUdQQ9BCtQdxnOGrT5dzRUmw0593/mbRSdBg0nRvRZM5/E16m7ZHmDEtWhwvfdZCZ8J8M12W0yRMszXamWfQTwIZ4ayYktrnscQuWr8idp3PjT2eF/jmtdhIfcpMnb+IfZY2FebW6UY/AK3jP4u3Tu4zE4qlnQgLFbM19EBIsNf7KhjdbqQ/D6yiDb+NlEi2SKD+ivXVUK8ib0oBo366gXkR8ZxGjpJIDcEgZPa9TcYe0TIbiPl/rPUQDu3XBJ9X/GNq3FAUsKsll57DzaGMrjcT+gctp+9MLYXCq+sqP81eVQ0r9lt+gcQfZbACRbEjvlMskztZG8gbC8Qn9tt26Q7y7nDrbZq/LEz7kR6Jc6pg3N9rVX8Y5MJrGlML9p9lU4jbTkKqCveeZUJjHB03m2KRKR2TytoFkTXOLg7keU1s1lrPMQJpoOKLuAAC+y1HlJucU6ysB5hsXhvSPPLq5J7JtnqHKZ4vYjC4Vy8153QY+6780xDuGARsGbOs1WqzH0QS765rnSKEbbKlkO8oI/VDwUd0is13tKpqILu1mDJFNy/iJAWcvDgjxvusIT+PGz3ST/J9r9Mtfd0jpaGeiLYIqXc7DiHSS8TcjFVksi66PEkxW1z6ujbLLUGNNYnzOWpH8BZGK4bCK7iR+MbIv8ncDAz1u4StN3vTTzewr9IQjk9wxFxn+6N1ddKs0vffJiS08N3a4G1SVrlZ97Q/M+8G9fe5AP6d9/Qq4WRnORVhofPIKEdCr3llspUfE0oKIIYoByBRPh+bX1HLS3JWGJRhIvE1aW4NTd8ePi4Z+kXb+Z8snYfSNcqijhAgVsx4RCM54cXUiYkjeBmmC4ajOHrChoELscJJC7+9jjMjw5BagZKlgRMiSNYz7h7vvZIoQqbtQmspc0cUk1G/73iXtSpROl5wtLgQi0mW2Ex8i3WULhcggx6E1LMVHUsdc9GHI1PH3U2Ko0PyGdn9KdVOLm7FPBui0i9a0HpA60MsewVE4z8CAt5d401Gv6zXlIT5Ybit1VIA0FCs7wtvYreru1fUyW3oLAZ/+aTnZrOcYRNVA8spoRtlRoWflsRClFcgzkqiHOrf0/SVw+EpVaFlJ0g4Kxq1MMOmiQdpMNpte8lMMQqm6cIFXlnGbfJllysKDi+0JJMotkqgIxOSQgU9dn/lWkeVf8nUm3iwX2Nl3WDw9i6AUK3vBAbZZrcJpDQ/N64AVwjT07Jef30GSSmtNu2WlW7YoyW2FlWfZFQUwk867EdLYKk9VG6JgEnBiBxkY7LMo4YLQJJlAo9l/oTvJkSARDF/XtyAzM8O2t3eT/iXa6wDN3WewNmQHdPfsxChU/KtLG2Mn8i4ZqKdSlIaBZadxJmRzVS/o4yA65RTSViq60oa395Lqw0pzY4SipwE0SXXsKV+GZraGSkr/RW08wPRvqvSUkYBMA9lPx4m24az+IHmCbXA+0faxTRE9wuGeO06DIXa6QlKJ3puIyiuAVfPr736vzo2pBirS+Vxel3TMm3JKhz9o2ZoRvaFVpIkykb0Hcm4oHFBMcNSNj7/4GJt43ogonY2Vg4nsDQIWxAcorpXACzgBqQPjYsE/VUpXpwNManEru4NwMCFPkXvMoqvoeLN3qyu/N1eWEHttMD65v19l/0kH2mR35iv/FI+yjoHJ9gPMz67af3Mq/BoWXqu3rphiWMXVkmnPSEkpGpUI2h1MThideGFEOK6YZHPwYzMBvpNC7+ZHxPb7epfefGyIB4JzO9DTNEYnDLVVHdQyvOEVefrk6Uv5kTQYVYWWdqrdcIl7yljwwIWdfQ/y+2QB3eR/qxYObuYyB4gTbo2in4PzarU1sO9nETkmj9/AoxDA+JM3GMqQtJR4jtduHtnoCLxd1gQUscHRB/MoRYIEsP2pDZ9KvHgtlk1iTbWWbHhohwFEYX7y51fUV2nuUmnoUcqnWIQAAgl9LTVX+Bc0QGNEhChxHR4YjfE51PUdGfsSFE6ck7BL3/hTf9jLq4G1IafINxOLKeAtO7quulYvH5YOBc+zX7CrMgWnW47/jfRsWnJjYYoE7xMfWV2HN2iyIqLI";const LY=new Map([[8217,"apostrophe"],[8260,"fraction slash"],[12539,"middle dot"]]),UY=4;function Gye(r){let e=0;function t(){return r[e++]<<8|r[e++]}let n=t(),i=1,s=[0,1];for(let j=1;j>--l&1}const p=31,g=2**p,w=g>>>1,y=w>>1,C=g-1;let R=0;for(let j=0;j1;){let te=G+D>>>1;j>>1|h(),$=$<<1^w,V=(V^w)<<1|w|1;M=$,O=1+V-$}let B=n-4;return k.map(j=>{switch(j-B){case 3:return B+65792+(r[a++]<<16|r[a++]<<8|r[a++]);case 2:return B+256+(r[a++]<<8|r[a++]);case 1:return B+r[a++];default:return j-1}})}function Kye(r){let e=0;return()=>r[e++]}function FY(r){return Kye(Gye(Zye(r)))}function Zye(r){let e=[];[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"].forEach((i,s)=>e[i.charCodeAt(0)]=s);let t=r.length,n=new Uint8Array(6*t>>3);for(let i=0,s=0,o=0,a=0;i=8&&(n[s++]=a>>(o-=8));return n}function Jye(r){return r&1?~r>>1:r>>1}function Yye(r,e){let t=Array(r);for(let n=0,i=0;n{let e=h4(r);if(e.length)return e})}function zY(r){let e=[];for(;;){let t=r();if(t==0)break;e.push(Qye(t,r))}for(;;){let t=r()-1;if(t<0)break;e.push(Xye(t,r))}return e.flat()}function f4(r){let e=[];for(;;){let t=r(e.length);if(!t)break;e.push(t)}return e}function HY(r,e,t){let n=Array(r).fill().map(()=>[]);for(let i=0;in[o].push(s));return n}function Qye(r,e){let t=1+e(),n=e(),i=f4(e);return HY(i.length,1+r,e).flatMap((o,a)=>{let[l,...u]=o;return Array(i[a]).fill().map((h,p)=>{let g=p*n;return[l+p*t,u.map(w=>w+g)]})})}function Xye(r,e){let t=1+e();return HY(t,1+r,e).map(i=>[i[0],i.slice(1)])}function e3e(r){let e=[],t=h4(r);return i(n([]),[]),e;function n(s){let o=r(),a=f4(()=>{let l=h4(r).map(u=>t[u]);if(l.length)return n(l)});return{S:o,B:a,Q:s}}function i({S:s,B:o},a,l){if(!(s&4&&l===a[a.length-1])){s&2&&(l=a[a.length-1]),s&1&&e.push(a);for(let u of o)for(let h of u.Q)i(u,[...a,h],l)}}}function t3e(r){return r.toString(16).toUpperCase().padStart(2,"0")}function qY(r){return`{${t3e(r)}}`}function r3e(r){let e=[];for(let t=0,n=r.length;t>24&255}function GY(r){return r&16777215}let Mk,KY,Nk,zE;function u3e(){let r=FY(i3e);Mk=new Map(jY(r).flatMap((e,t)=>e.map(n=>[n,t+1<<24]))),KY=new Set(h4(r)),Nk=new Map,zE=new Map;for(let[e,t]of zY(r)){if(!KY.has(e)&&t.length==2){let[n,i]=t,s=zE.get(n);s||(s=new Map,zE.set(n,s)),s.set(i,e)}Nk.set(e,t.reverse())}}function ZY(r){return r>=d4&&r=LE&&r=UE&&eFE&&e0&&i(FE+u)}else{let o=Nk.get(s);o?t.push(...o):i(s)}if(!t.length)break;s=t.pop()}if(n&&e.length>1){let s=p4(e[0]);for(let o=1;o0&&i>=o)o==0?(e.push(n,...t),t.length=0,n=a):t.push(a),i=o;else{let l=h3e(n,a);l>=0?n=l:i==0&&o==0?(e.push(n),n=a):(t.push(a),i=o)}}return n>=0&&e.push(n,...t),e}function YY(r){return JY(r).map(GY)}function d3e(r){return f3e(JY(r))}const QY=45,XY=".",eQ=65039,tQ=1,HE=r=>Array.from(r);function g4(r,e){return r.P.has(e)||r.Q.has(e)}class p3e extends Array{get is_emoji(){return!0}}let Pk,rQ,Eg,Ok,nQ,Yw,Dk,Qw,Ag,iQ,$k;function Bk(){if(Pk)return;let r=FY(Vye);const e=()=>h4(r),t=()=>new Set(e()),n=(h,p)=>p.forEach(g=>h.add(g));Pk=new Map(zY(r)),rQ=t(),Eg=e(),Ok=new Set(e().map(h=>Eg[h])),Eg=new Set(Eg),nQ=t(),t();let i=jY(r),s=r();const o=()=>{let h=new Set;return e().forEach(p=>n(h,i[p])),n(h,e()),h};Yw=f4(h=>{let p=f4(r).map(g=>g+96);if(p.length){let g=h>=s;p[0]-=32,p=Zw(p),g&&(p=`Restricted[${p}]`);let w=o(),y=o(),C=!r();return{N:p,P:w,Q:y,M:C,R:g}}}),Dk=t(),Qw=new Map;let a=e().concat(HE(Dk)).sort((h,p)=>h-p);a.forEach((h,p)=>{let g=r(),w=a[p]=g?a[p-g]:{V:[],M:new Map};w.V.push(h),Dk.has(h)||Qw.set(h,w)});for(let{V:h,M:p}of new Set(Qw.values())){let g=[];for(let y of h){let C=Yw.filter(k=>g4(k,y)),R=g.find(({G:k})=>C.some(M=>k.has(M)));R||(R={G:new Set,V:[]},g.push(R)),R.V.push(y),n(R.G,C)}let w=g.flatMap(y=>HE(y.G));for(let{G:y,V:C}of g){let R=new Set(w.filter(k=>!y.has(k)));for(let k of C)p.set(k,R)}}Ag=new Set;let l=new Set;const u=h=>Ag.has(h)?l.add(h):Ag.add(h);for(let h of Yw){for(let p of h.P)u(p);for(let p of h.Q)u(p)}for(let h of Ag)!Qw.has(h)&&!l.has(h)&&Qw.set(h,tQ);n(Ag,YY(Ag)),iQ=e3e(r).map(h=>p3e.from(h)).sort(n3e),$k=new Map;for(let h of iQ){let p=[$k];for(let g of h){let w=p.map(y=>{let C=y.get(g);return C||(C=new Map,y.set(g,C)),C});g===eQ?p.push(...w):p=w}for(let g of p)g.V=h}}function Lk(r){return(sQ(r)?"":`${Uk(qE([r]))} `)+qY(r)}function Uk(r){return`"${r}"‎`}function g3e(r){if(r.length>=4&&r[2]==QY&&r[3]==QY)throw new Error(`invalid label extension: "${Zw(r.slice(0,4))}"`)}function m3e(r){for(let t=r.lastIndexOf(95);t>0;)if(r[--t]!==95)throw new Error("underscore allowed only at start")}function b3e(r){let e=r[0],t=LY.get(e);if(t)throw m4(`leading ${t}`);let n=r.length,i=-1;for(let s=1;se&&(e>>=1,r=[...r.slice(0,e),8230,...r.slice(-e)]);let i=0,s=r.length;for(let o=0;o{let s=r3e(i),o={input:s,offset:n};n+=s.length+1;try{let a=o.tokens=C3e(s,e,t),l=a.length,u;if(!l)throw new Error("empty label");let h=o.output=a.flat();if(m3e(h),!(o.emoji=l>1||a[0].is_emoji)&&h.every(g=>g<128))g3e(h),u="ASCII";else{let g=a.flatMap(w=>w.is_emoji?[]:w);if(!g.length)u="Emoji";else{if(Eg.has(h[0]))throw m4("leading combining mark");for(let C=1;Co.has(a)):HE(o),!t.length)return}else n.push(i)}if(t){for(let i of t)if(n.every(s=>g4(i,s)))throw new Error(`whole-script confusable: ${r.N}/${i.N}`)}}function _3e(r){let e=Yw;for(let t of r){let n=e.filter(i=>g4(i,t));if(!n.length)throw Yw.some(i=>g4(i,t))?aQ(e[0],t):oQ(t);if(e=n,n.length==1)break}return e}function E3e(r){return r.map(({input:e,error:t,output:n})=>{if(t){let i=t.message;throw new Error(r.length==1?i:`Invalid label ${Uk(qE(e,63))}: ${i}`)}return Zw(n)}).join(XY)}function oQ(r){return new Error(`disallowed character: ${Lk(r)}`)}function aQ(r,e){let t=Lk(e),n=Yw.find(i=>i.P.has(e));return n&&(t=`${n.N} ${t}`),new Error(`illegal mixture: ${r.N} + ${t}`)}function m4(r){return new Error(`illegal placement: ${r}`)}function A3e(r,e){for(let t of e)if(!g4(r,t))throw aQ(r,t);if(r.M){let t=YY(e);for(let n=1,i=t.length;nUY)throw new Error(`excessive non-spacing marks: ${Uk(qE(t.slice(n-1,s)))} (${s-n}/${UY})`);n=s}}}function C3e(r,e,t){let n=[],i=[];for(r=r.slice().reverse();r.length;){let s=I3e(r);if(s)i.length&&(n.push(e(i)),i=[]),n.push(t(s));else{let o=r.pop();if(Ag.has(o))i.push(o);else{let a=Pk.get(o);if(a)i.push(...a);else if(!rQ.has(o))throw oQ(o)}}}return i.length&&n.push(e(i)),n}function S3e(r){return r.filter(e=>e!=eQ)}function I3e(r,e){let t=$k,n,i=r.length;for(;i&&(t=t.get(r[--i]),!!t);){let{V:s}=t;s&&(n=s,e&&e.push(...r.slice(i).reverse()),r.length=i)}return n}const cQ=new Uint8Array(32);cQ.fill(0);function lQ(r){return xe(r.length!==0,"invalid ENS name; empty component","comp",r),r}function Fk(r){const e=Ds(jk(r)),t=[];if(r.length===0)return t;let n=0;for(let i=0;i{xe(n.length<=t,`label ${JSON.stringify(r)} exceeds ${t} bytes`,"name",r);const i=new Uint8Array(n.length+1);return i.set(n,1),i[0]=i.length-1,i})))+"00"}function Hk(r,e){return{address:jr(r),storageKeys:e.map((t,n)=>(xe(ci(t,32),"invalid slot",`storageKeys[${n}]`,t),t.toLowerCase()))}}function zh(r){if(Array.isArray(r))return r.map((t,n)=>Array.isArray(t)?(xe(t.length===2,"invalid slot set",`value[${n}]`,t),Hk(t[0],t[1])):(xe(t!=null&&typeof t=="object","invalid address-slot set","value",r),Hk(t.address,t.storageKeys)));xe(r!=null&&typeof r=="object","invalid access list","value",r);const e=Object.keys(r).map(t=>{const n=r[t].reduce((i,s)=>(i[s]=!0,i),{});return Hk(t,Object.keys(n).sort())});return e.sort((t,n)=>t.address.localeCompare(n.address)),e}function Cg(r){let e;return typeof r=="string"?e=Ml.computePublicKey(r,!1):e=r.publicKey,jr(Nn("0x"+e.substring(4)).substring(26))}function w4(r,e){return Cg(Ml.recoverPublicKey(r,e))}const uo=BigInt(0),R3e=BigInt(2),T3e=BigInt(27),k3e=BigInt(28),M3e=BigInt(35),N3e=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function WE(r){return r==="0x"?null:jr(r)}function qk(r,e){try{return zh(r)}catch(t){xe(!1,t.message,e,r)}}function v4(r,e){return r==="0x"?0:Ir(r,e)}function ps(r,e){if(r==="0x")return uo;const t=cr(r,e);return xe(t<=N3e,"value exceeds uint size",e,t),t}function ki(r,e){const t=cr(r,"value"),n=qs(t);return xe(n.length<=32,"value too large",`tx.${e}`,t),n}function Wk(r){return zh(r).map(e=>[e.address,e.storageKeys])}function P3e(r,e){xe(Array.isArray(r),`invalid ${e}`,"value",r);for(let t=0;t=0?2:e.pop()}inferTypes(){const e=this.gasPrice!=null,t=this.maxFeePerGas!=null||this.maxPriorityFeePerGas!=null,n=this.accessList!=null,i=oe(this,U2)!=null||oe(this,F2);this.maxFeePerGas!=null&&this.maxPriorityFeePerGas!=null&&Ue(this.maxFeePerGas>=this.maxPriorityFeePerGas,"priorityFee cannot be more than maxFee","BAD_DATA",{value:this}),Ue(!t||this.type!==0&&this.type!==1,"transaction type cannot have maxFeePerGas or maxPriorityFeePerGas","BAD_DATA",{value:this}),Ue(this.type!==0||!n,"legacy transaction cannot have accessList","BAD_DATA",{value:this});const s=[];return this.type!=null?s.push(this.type):t?s.push(2):e?(s.push(1),n||s.push(0)):n?(s.push(1),s.push(2)):(i&&this.to||(s.push(0),s.push(1),s.push(2)),s.push(3)),s.sort(),s}isLegacy(){return this.type===0}isBerlin(){return this.type===1}isLondon(){return this.type===2}isCancun(){return this.type===3}clone(){return fh.from(this)}toJSON(){const e=t=>t==null?null:t.toString();return{type:this.type,to:this.to,data:this.data,nonce:this.nonce,gasLimit:e(this.gasLimit),gasPrice:e(this.gasPrice),maxPriorityFeePerGas:e(this.maxPriorityFeePerGas),maxFeePerGas:e(this.maxFeePerGas),value:e(this.value),chainId:e(this.chainId),sig:this.signature?this.signature.toJSON():null,accessList:this.accessList}}static from(e){if(e==null)return new fh;if(typeof e=="string"){const n=Dt(e);if(n[0]>=127)return fh.from(O3e(n));switch(n[0]){case 1:return fh.from($3e(n));case 2:return fh.from(D3e(n));case 3:return fh.from(B3e(n))}Ue(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:"from"})}const t=new fh;return e.type!=null&&(t.type=e.type),e.to!=null&&(t.to=e.to),e.nonce!=null&&(t.nonce=e.nonce),e.gasLimit!=null&&(t.gasLimit=e.gasLimit),e.gasPrice!=null&&(t.gasPrice=e.gasPrice),e.maxPriorityFeePerGas!=null&&(t.maxPriorityFeePerGas=e.maxPriorityFeePerGas),e.maxFeePerGas!=null&&(t.maxFeePerGas=e.maxFeePerGas),e.maxFeePerBlobGas!=null&&(t.maxFeePerBlobGas=e.maxFeePerBlobGas),e.data!=null&&(t.data=e.data),e.value!=null&&(t.value=e.value),e.chainId!=null&&(t.chainId=e.chainId),e.signature!=null&&(t.signature=Mc.from(e.signature)),e.accessList!=null&&(t.accessList=e.accessList),e.blobVersionedHashes!=null&&(t.blobVersionedHashes=e.blobVersionedHashes),e.hash!=null&&(xe(t.isSigned(),"unsigned transaction cannot define hash","tx",e),xe(t.hash===e.hash,"hash mismatch","tx",e)),e.from!=null&&(xe(t.isSigned(),"unsigned transaction cannot define from","tx",e),xe(t.from.toLowerCase()===(e.from||"").toLowerCase(),"from mismatch","tx",e)),t}},zf=new WeakMap,U3=new WeakMap,F3=new WeakMap,j3=new WeakMap,z3=new WeakMap,H3=new WeakMap,q3=new WeakMap,W3=new WeakMap,V3=new WeakMap,G3=new WeakMap,K3=new WeakMap,Z3=new WeakMap,U2=new WeakMap,F2=new WeakMap,fh);function VE(r){return typeof r=="string"&&(r=Ds(r)),Nn(An([Ds(Rk),Ds(String(r.length)),r]))}function gQ(r,e){const t=VE(r);return w4(t,e)}const L3e=new RegExp("^bytes([0-9]+)$"),U3e=new RegExp("^(u?int)([0-9]*)$"),F3e=new RegExp("^(.*)\\[([0-9]*)\\]$");function mQ(r,e,t){switch(r){case"address":return Dt(t?Po(e,32):jr(e));case"string":return Ds(e);case"bytes":return Dt(e);case"bool":return e=e?"0x01":"0x00",Dt(t?Po(e,32):e)}let n=r.match(U3e);if(n){let i=n[1]==="int",s=parseInt(n[2]||"256");return xe((!n[2]||n[2]===String(s))&&s%8===0&&s!==0&&s<=256,"invalid number type","type",r),t&&(s=256),i&&(e=s4(e,s)),Dt(Po(qs(e),s/8))}if(n=r.match(L3e),n){const i=parseInt(n[1]);return xe(String(i)===n[1]&&i!==0&&i<=32,"invalid bytes type","type",r),xe(cd(e)===i,`invalid value for ${r}`,"value",e),t?Dt(i4(e,32)):e}if(n=r.match(F3e),n&&Array.isArray(e)){const i=n[1],s=parseInt(n[2]||String(e.length));xe(s===e.length,`invalid array length for ${r}`,"value",e);const o=[];return e.forEach(function(a){o.push(mQ(i,a,!0))}),Dt(An(o))}xe(!1,"invalid type","type",r)}function GE(r,e){xe(r.length===e.length,"wrong number of values; expected ${ types.length }","values",e);const t=[];return r.forEach(function(n,i){t.push(mQ(n,e[i]))}),St(An(t))}function bQ(r,e){return Nn(GE(r,e))}function wQ(r,e){return Sa(GE(r,e))}const vQ=new Uint8Array(32);vQ.fill(0);const j3e=BigInt(-1),yQ=BigInt(0),xQ=BigInt(1),z3e=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function H3e(r){const e=Dt(r),t=e.length%32;return t?An([e,vQ.slice(t)]):St(e)}const q3e=Ru(xQ,32),W3e=Ru(yQ,32),_Q={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},Gk=["name","version","chainId","verifyingContract","salt"];function EQ(r){return function(e){return xe(typeof e=="string",`invalid domain value for ${JSON.stringify(r)}`,`domain.${r}`,e),e}}const V3e={name:EQ("name"),version:EQ("version"),chainId:function(r){const e=cr(r,"domain.chainId");return xe(e>=0,"invalid chain ID","domain.chainId",r),Number.isSafeInteger(e)?Number(e):ud(e)},verifyingContract:function(r){try{return jr(r).toLowerCase()}catch{}xe(!1,'invalid domain value "verifyingContract"',"domain.verifyingContract",r)},salt:function(r){const e=Dt(r,"domain.salt");return xe(e.length===32,'invalid domain value "salt"',"domain.salt",r),St(e)}};function Kk(r){{const e=r.match(/^(u?)int(\d+)$/);if(e){const t=e[1]==="",n=parseInt(e[2]);xe(n%8===0&&n!==0&&n<=256&&e[2]===String(n),"invalid numeric width","type",r);const i=ld(z3e,t?n-1:n),s=t?(i+xQ)*j3e:yQ;return function(o){const a=cr(o,"value");return xe(a>=s&&a<=i,`value out-of-bounds for ${r}`,"value",a),Ru(t?s4(a,256):a,32)}}}{const e=r.match(/^bytes(\d+)$/);if(e){const t=parseInt(e[1]);return xe(t!==0&&t<=32&&e[1]===String(t),"invalid bytes width","type",r),function(n){const i=Dt(n);return xe(i.length===t,`invalid length for ${r}`,"value",n),H3e(n)}}}switch(r){case"address":return function(e){return Po(jr(e),32)};case"bool":return function(e){return e?q3e:W3e};case"bytes":return function(e){return Nn(e)};case"string":return function(e){return Nc(e)}}return null}function AQ(r,e){return`${r}(${e.map(({name:t,type:n})=>n+" "+t).join(",")})`}function KE(r){const e=r.match(/^([^\x5b]*)((\x5b\d*\x5d)*)(\x5b(\d*)\x5d)$/);return e?{base:e[1],index:e[2]+e[4],array:{base:e[1],prefix:e[1]+e[2],count:e[5]?parseInt(e[5]):-1}}:{base:r}}const du=class du{constructor(e){Ne(this,WR);Ee(this,"primaryType");Ne(this,jx,void 0);Ne(this,x0,void 0);Ne(this,J3,void 0);me(this,x0,new Map),me(this,J3,new Map);const t=new Map,n=new Map,i=new Map,s={};Object.keys(e).forEach(l=>{s[l]=e[l].map(({name:u,type:h})=>{let{base:p,index:g}=KE(h);return p==="int"&&!e.int&&(p="int256"),p==="uint"&&!e.uint&&(p="uint256"),{name:u,type:p+(g||"")}}),t.set(l,new Set),n.set(l,[]),i.set(l,new Set)}),me(this,jx,JSON.stringify(s));for(const l in s){const u=new Set;for(const h of s[l]){xe(!u.has(h.name),`duplicate variable name ${JSON.stringify(h.name)} in ${JSON.stringify(l)}`,"types",e),u.add(h.name);const p=KE(h.type).base;xe(p!==l,`circular type reference to ${JSON.stringify(p)}`,"types",e),!Kk(p)&&(xe(n.has(p),`unknown type ${JSON.stringify(p)}`,"types",e),n.get(p).push(l),t.get(l).add(p))}}const o=Array.from(n.keys()).filter(l=>n.get(l).length===0);xe(o.length!==0,"missing primary type","types",e),xe(o.length===1,`ambiguous primary types or unused types: ${o.map(l=>JSON.stringify(l)).join(", ")}`,"types",e),er(this,{primaryType:o[0]});function a(l,u){xe(!u.has(l),`circular type reference to ${JSON.stringify(l)}`,"types",e),u.add(l);for(const h of t.get(l))if(n.has(h)){a(h,u);for(const p of u)i.get(p).add(h)}u.delete(l)}a(this.primaryType,new Set);for(const[l,u]of i){const h=Array.from(u);h.sort(),oe(this,x0).set(l,AQ(l,s[l])+h.map(p=>AQ(p,s[p])).join(""))}}get types(){return JSON.parse(oe(this,jx))}getEncoder(e){let t=oe(this,J3).get(e);return t||(t=rt(this,WR,_ge).call(this,e),oe(this,J3).set(e,t)),t}encodeType(e){const t=oe(this,x0).get(e);return xe(t,`unknown type: ${JSON.stringify(e)}`,"name",e),t}encodeData(e,t){return this.getEncoder(e)(t)}hashStruct(e,t){return Nn(this.encodeData(e,t))}encode(e){return this.encodeData(this.primaryType,e)}hash(e){return this.hashStruct(this.primaryType,e)}_visit(e,t,n){if(Kk(e))return n(e,t);const i=KE(e).array;if(i)return xe(i.count===-1||i.count===t.length,`array length mismatch; expected length ${i.count}`,"value",t),t.map(o=>this._visit(i.prefix,o,n));const s=this.types[e];if(s)return s.reduce((o,{name:a,type:l})=>(o[a]=this._visit(l,t[a],n),o),{});xe(!1,`unknown type: ${e}`,"type",e)}visit(e,t){return this._visit(this.primaryType,e,t)}static from(e){return new du(e)}static getPrimaryType(e){return du.from(e).primaryType}static hashStruct(e,t,n){return du.from(t).hashStruct(e,n)}static hashDomain(e){const t=[];for(const n in e){if(e[n]==null)continue;const i=_Q[n];xe(i,`invalid typed-data domain key: ${JSON.stringify(n)}`,"domain",e),t.push({name:n,type:i})}return t.sort((n,i)=>Gk.indexOf(n.name)-Gk.indexOf(i.name)),du.hashStruct("EIP712Domain",{EIP712Domain:t},e)}static encode(e,t,n){return An(["0x1901",du.hashDomain(e),du.from(t).hash(n)])}static hash(e,t,n){return Nn(du.encode(e,t,n))}static async resolveNames(e,t,n,i){e=Object.assign({},e);for(const a in e)e[a]==null&&delete e[a];const s={};e.verifyingContract&&!ci(e.verifyingContract,20)&&(s[e.verifyingContract]="0x");const o=du.from(t);o.visit(n,(a,l)=>(a==="address"&&!ci(l,20)&&(s[l]="0x"),l));for(const a in s)s[a]=await i(a);return e.verifyingContract&&s[e.verifyingContract]&&(e.verifyingContract=s[e.verifyingContract]),n=o.visit(n,(a,l)=>a==="address"&&s[l]?s[l]:l),{domain:e,value:n}}static getPayload(e,t,n){du.hashDomain(e);const i={},s=[];Gk.forEach(l=>{const u=e[l];u!=null&&(i[l]=V3e[l](u),s.push({name:l,type:_Q[l]}))});const o=du.from(t);t=o.types;const a=Object.assign({},t);return xe(a.EIP712Domain==null,"types must not contain EIP712Domain type","types.EIP712Domain",t),a.EIP712Domain=s,o.encode(n),{types:a,domain:i,primaryType:o.primaryType,message:o.visit(n,(l,u)=>{if(l.match(/^bytes(\d*)/))return St(Dt(u));if(l.match(/^u?int/))return cr(u).toString();switch(l){case"address":return u.toLowerCase();case"bool":return!!u;case"string":return xe(typeof u=="string","invalid string","value",u),u}xe(!1,"unsupported type","type",l)})}}};jx=new WeakMap,x0=new WeakMap,J3=new WeakMap,WR=new WeakSet,_ge=function(e){{const i=Kk(e);if(i)return i}const t=KE(e).array;if(t){const i=t.prefix,s=this.getEncoder(i);return o=>{xe(t.count===-1||t.count===o.length,`array length mismatch; expected length ${t.count}`,"value",o);let a=o.map(s);return oe(this,x0).has(i)&&(a=a.map(Nn)),Nn(An(a))}}const n=this.types[e];if(n){const i=Nc(oe(this,x0).get(e));return s=>{const o=n.map(({name:a,type:l})=>{const u=this.getEncoder(l)(s[a]);return oe(this,x0).has(l)?Nn(u):u});return o.unshift(i),An(o)}}xe(!1,`unknown type: ${e}`,"type",e)};let vd=du;function CQ(r,e,t,n){return w4(vd.hash(r,e,t),n)}function Ia(r){const e=new Set;return r.forEach(t=>e.add(t)),Object.freeze(e)}const G3e=Ia("external public payable override".split(" ")),SQ="constant external internal payable private public pure view override",K3e=Ia(SQ.split(" ")),IQ="constructor error event fallback function receive struct",RQ=Ia(IQ.split(" ")),TQ="calldata memory storage payable indexed",Z3e=Ia(TQ.split(" ")),J3e=[IQ,TQ,"tuple returns",SQ].join(" "),Y3e=Ia(J3e.split(" ")),Q3e={"(":"OPEN_PAREN",")":"CLOSE_PAREN","[":"OPEN_BRACKET","]":"CLOSE_BRACKET",",":"COMMA","@":"AT"},X3e=new RegExp("^(\\s*)"),e5e=new RegExp("^([0-9]+)"),t5e=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)"),kQ=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)$"),MQ=new RegExp("^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$"),VR=class VR{constructor(e){Ne(this,zx);Ne(this,Ko,void 0);Ne(this,dh,void 0);me(this,Ko,0),me(this,dh,e.slice())}get offset(){return oe(this,Ko)}get length(){return oe(this,dh).length-oe(this,Ko)}clone(){return new VR(oe(this,dh))}reset(){me(this,Ko,0)}popKeyword(e){const t=this.peek();if(t.type!=="KEYWORD"||!e.has(t.text))throw new Error(`expected keyword ${t.text}`);return this.pop().text}popType(e){if(this.peek().type!==e){const t=this.peek();throw new Error(`expected ${e}; got ${t.type} ${JSON.stringify(t.text)}`)}return this.pop().text}popParen(){const e=this.peek();if(e.type!=="OPEN_PAREN")throw new Error("bad start");const t=rt(this,zx,nK).call(this,oe(this,Ko)+1,e.match+1);return me(this,Ko,e.match+1),t}popParams(){const e=this.peek();if(e.type!=="OPEN_PAREN")throw new Error("bad start");const t=[];for(;oe(this,Ko)=oe(this,dh).length)throw new Error("out-of-bounds");return oe(this,dh)[oe(this,Ko)]}peekKeyword(e){const t=this.peekType("KEYWORD");return t!=null&&e.has(t)?t:null}peekType(e){if(this.length===0)return null;const t=this.peek();return t.type===e?t.text:null}pop(){const e=this.peek();return T5(this,Ko)._++,e}toString(){const e=[];for(let t=oe(this,Ko);t`}};Ko=new WeakMap,dh=new WeakMap,zx=new WeakSet,nK=function(e=0,t=0){return new VR(oe(this,dh).slice(e,t).map(n=>Object.freeze(Object.assign({},n,{match:n.match-e,linkBack:n.linkBack-e,linkNext:n.linkNext-e}))))};let Nu=VR;function Op(r){const e=[],t=o=>{const a=s0&&e[e.length-1].type==="NUMBER"){const p=e.pop().text;h=p+h,e[e.length-1].value=Ir(p)}if(e.length===0||e[e.length-1].type!=="BRACKET")throw new Error("missing opening bracket");e[e.length-1].text+=h}continue}if(a=o.match(t5e),a){if(l.text=a[1],s+=l.text.length,Y3e.has(l.text)){l.type="KEYWORD";continue}if(l.text.match(MQ)){l.type="TYPE";continue}l.type="ID";continue}if(a=o.match(e5e),a){l.text=a[1],l.type="NUMBER",s+=l.text.length;continue}throw new Error(`unexpected token ${JSON.stringify(o[0])} at position ${s}`)}return new Nu(e.map(o=>Object.freeze(o)))}function NQ(r,e){let t=[];for(const n in e.keys())r.has(n)&&t.push(n);if(t.length>1)throw new Error(`conflicting types: ${t.join(", ")}`)}function ZE(r,e){if(e.peekKeyword(RQ)){const t=e.pop().text;if(t!==r)throw new Error(`expected ${r}, got ${t}`)}return e.popType("ID")}function yd(r,e){const t=new Set;for(;;){const n=r.peekType("KEYWORD");if(n==null||e&&!e.has(n))break;if(r.pop(),t.has(n))throw new Error(`duplicate keywords: ${JSON.stringify(n)}`);t.add(n)}return Object.freeze(t)}function PQ(r){let e=yd(r,K3e);return NQ(e,Ia("constant payable nonpayable".split(" "))),NQ(e,Ia("pure view payable nonpayable".split(" "))),e.has("view")?"view":e.has("pure")?"pure":e.has("payable")?"payable":e.has("nonpayable")?"nonpayable":e.has("constant")?"view":"nonpayable"}function xd(r,e){return r.popParams().map(t=>Vs.from(t,e))}function OQ(r){if(r.peekType("AT")){if(r.pop(),r.peekType("NUMBER"))return cr(r.pop().text);throw new Error("invalid gas")}return null}function Sg(r){if(r.length)throw new Error(`unexpected tokens at offset ${r.offset}: ${r.toString()}`)}const r5e=new RegExp(/^(.*)\[([0-9]*)\]$/);function DQ(r){const e=r.match(MQ);if(xe(e,"invalid type","type",r),r==="uint")return"uint256";if(r==="int")return"int256";if(e[2]){const t=parseInt(e[2]);xe(t!==0&&t<=32,"invalid bytes length","type",r)}else if(e[3]){const t=parseInt(e[3]);xe(t!==0&&t<=256&&t%8===0,"invalid numeric width","type",r)}return r}const Xi={},cc=Symbol.for("_ethers_internal"),$Q="_ParamTypeInternal",BQ="_ErrorInternal",LQ="_EventInternal",UQ="_ConstructorInternal",FQ="_FallbackInternal",jQ="_FunctionInternal",zQ="_StructInternal",pu=class pu{constructor(e,t,n,i,s,o,a,l){Ne(this,Y3);Ee(this,"name");Ee(this,"type");Ee(this,"baseType");Ee(this,"indexed");Ee(this,"components");Ee(this,"arrayLength");Ee(this,"arrayChildren");if(Uh(e,Xi,"ParamType"),Object.defineProperty(this,cc,{value:$Q}),o&&(o=Object.freeze(o.slice())),i==="array"){if(a==null||l==null)throw new Error("")}else if(a!=null||l!=null)throw new Error("");if(i==="tuple"){if(o==null)throw new Error("")}else if(o!=null)throw new Error("");er(this,{name:t,type:n,baseType:i,indexed:s,components:o,arrayLength:a,arrayChildren:l})}format(e){if(e==null&&(e="sighash"),e==="json"){const n=this.name||"";if(this.isArray()){const s=JSON.parse(this.arrayChildren.format("json"));return s.name=n,s.type+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`,JSON.stringify(s)}const i={type:this.baseType==="tuple"?"tuple":this.type,name:n};return typeof this.indexed=="boolean"&&(i.indexed=this.indexed),this.isTuple()&&(i.components=this.components.map(s=>JSON.parse(s.format(e)))),JSON.stringify(i)}let t="";return this.isArray()?(t+=this.arrayChildren.format(e),t+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`):this.isTuple()?t+="("+this.components.map(n=>n.format(e)).join(e==="full"?", ":",")+")":t+=this.type,e!=="sighash"&&(this.indexed===!0&&(t+=" indexed"),e==="full"&&this.name&&(t+=" "+this.name)),t}isArray(){return this.baseType==="array"}isTuple(){return this.baseType==="tuple"}isIndexable(){return this.indexed!=null}walk(e,t){if(this.isArray()){if(!Array.isArray(e))throw new Error("invalid array value");if(this.arrayLength!==-1&&e.length!==this.arrayLength)throw new Error("array is wrong length");const n=this;return e.map(i=>n.arrayChildren.walk(i,t))}if(this.isTuple()){if(!Array.isArray(e))throw new Error("invalid tuple value");if(e.length!==this.components.length)throw new Error("array is wrong length");const n=this;return e.map((i,s)=>n.components[s].walk(i,t))}return t(this.type,e)}async walkAsync(e,t){const n=[],i=[e];return rt(this,Y3,tT).call(this,n,e,t,s=>{i[0]=s}),n.length&&await Promise.all(n),i[0]}static from(e,t){if(pu.isParamType(e))return e;if(typeof e=="string")try{return pu.from(Op(e),t)}catch{xe(!1,"invalid param type","obj",e)}else if(e instanceof Nu){let a="",l="",u=null;yd(e,Ia(["tuple"])).has("tuple")||e.peekType("OPEN_PAREN")?(l="tuple",u=e.popParams().map(C=>pu.from(C)),a=`tuple(${u.map(C=>C.format()).join(",")})`):(a=DQ(e.popType("TYPE")),l=a);let h=null,p=null;for(;e.length&&e.peekType("BRACKET");){const C=e.pop();h=new pu(Xi,"",a,l,null,u,p,h),p=C.value,a+=C.text,l="array",u=null}let g=null;if(yd(e,Z3e).has("indexed")){if(!t)throw new Error("");g=!0}const y=e.peekType("ID")?e.pop().text:"";if(e.length)throw new Error("leftover tokens");return new pu(Xi,y,a,l,g,u,p,h)}const n=e.name;xe(!n||typeof n=="string"&&n.match(kQ),"invalid name","obj.name",n);let i=e.indexed;i!=null&&(xe(t,"parameter cannot be indexed","obj.indexed",e.indexed),i=!!i);let s=e.type,o=s.match(r5e);if(o){const a=parseInt(o[2]||"-1"),l=pu.from({type:o[1],components:e.components});return new pu(Xi,n||"",s,"array",i,null,a,l)}if(s==="tuple"||s.startsWith("tuple(")||s.startsWith("(")){const a=e.components!=null?e.components.map(u=>pu.from(u)):null;return new pu(Xi,n||"",s,"tuple",i,a,null,null)}return s=DQ(e.type),new pu(Xi,n||"",s,s,i,null,null,null)}static isParamType(e){return e&&e[cc]===$Q}};Y3=new WeakSet,tT=function(e,t,n,i){if(this.isArray()){if(!Array.isArray(t))throw new Error("invalid array value");if(this.arrayLength!==-1&&t.length!==this.arrayLength)throw new Error("array is wrong length");const o=this.arrayChildren,a=t.slice();a.forEach((l,u)=>{var h;rt(h=o,Y3,tT).call(h,e,l,n,p=>{a[u]=p})}),i(a);return}if(this.isTuple()){const o=this.components;let a;if(Array.isArray(t))a=t.slice();else{if(t==null||typeof t!="object")throw new Error("invalid tuple value");a=o.map(l=>{if(!l.name)throw new Error("cannot use object value with unnamed components");if(!(l.name in t))throw new Error(`missing value for component ${l.name}`);return t[l.name]})}if(a.length!==this.components.length)throw new Error("array is wrong length");a.forEach((l,u)=>{var h;rt(h=o[u],Y3,tT).call(h,e,l,n,p=>{a[u]=p})}),i(a);return}const s=n(this.type,t);s.then?e.push(async function(){i(await s)}()):i(s)};let Vs=pu;class _d{constructor(e,t,n){Ee(this,"type");Ee(this,"inputs");Uh(e,Xi,"Fragment"),n=Object.freeze(n.slice()),er(this,{type:t,inputs:n})}static from(e){if(typeof e=="string"){try{_d.from(JSON.parse(e))}catch{}return _d.from(Op(e))}if(e instanceof Nu)switch(e.peekKeyword(RQ)){case"constructor":return Pu.from(e);case"error":return aa.from(e);case"event":return Nl.from(e);case"fallback":case"receive":return Ou.from(e);case"function":return Pl.from(e);case"struct":return Ed.from(e)}else if(typeof e=="object"){switch(e.type){case"constructor":return Pu.from(e);case"error":return aa.from(e);case"event":return Nl.from(e);case"fallback":case"receive":return Ou.from(e);case"function":return Pl.from(e);case"struct":return Ed.from(e)}Ue(!1,`unsupported type: ${e.type}`,"UNSUPPORTED_OPERATION",{operation:"Fragment.from"})}xe(!1,"unsupported frgament object","obj",e)}static isConstructor(e){return Pu.isFragment(e)}static isError(e){return aa.isFragment(e)}static isEvent(e){return Nl.isFragment(e)}static isFunction(e){return Pl.isFragment(e)}static isStruct(e){return Ed.isFragment(e)}}class ev extends _d{constructor(t,n,i,s){super(t,n,s);Ee(this,"name");xe(typeof i=="string"&&i.match(kQ),"invalid identifier","name",i),s=Object.freeze(s.slice()),er(this,{name:i})}}function y4(r,e){return"("+e.map(t=>t.format(r)).join(r==="full"?", ":",")+")"}class aa extends ev{constructor(e,t,n){super(e,"error",t,n),Object.defineProperty(this,cc,{value:BQ})}get selector(){return Nc(this.format("sighash")).substring(0,10)}format(e){if(e==null&&(e="sighash"),e==="json")return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(n=>JSON.parse(n.format(e)))});const t=[];return e!=="sighash"&&t.push("error"),t.push(this.name+y4(e,this.inputs)),t.join(" ")}static from(e){if(aa.isFragment(e))return e;if(typeof e=="string")return aa.from(Op(e));if(e instanceof Nu){const t=ZE("error",e),n=xd(e);return Sg(e),new aa(Xi,t,n)}return new aa(Xi,e.name,e.inputs?e.inputs.map(Vs.from):[])}static isFragment(e){return e&&e[cc]===BQ}}class Nl extends ev{constructor(t,n,i,s){super(t,"event",n,i);Ee(this,"anonymous");Object.defineProperty(this,cc,{value:LQ}),er(this,{anonymous:s})}get topicHash(){return Nc(this.format("sighash"))}format(t){if(t==null&&(t="sighash"),t==="json")return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(i=>JSON.parse(i.format(t)))});const n=[];return t!=="sighash"&&n.push("event"),n.push(this.name+y4(t,this.inputs)),t!=="sighash"&&this.anonymous&&n.push("anonymous"),n.join(" ")}static getTopicHash(t,n){return n=(n||[]).map(s=>Vs.from(s)),new Nl(Xi,t,n,!1).topicHash}static from(t){if(Nl.isFragment(t))return t;if(typeof t=="string")try{return Nl.from(Op(t))}catch{xe(!1,"invalid event fragment","obj",t)}else if(t instanceof Nu){const n=ZE("event",t),i=xd(t,!0),s=!!yd(t,Ia(["anonymous"])).has("anonymous");return Sg(t),new Nl(Xi,n,i,s)}return new Nl(Xi,t.name,t.inputs?t.inputs.map(n=>Vs.from(n,!0)):[],!!t.anonymous)}static isFragment(t){return t&&t[cc]===LQ}}class Pu extends _d{constructor(t,n,i,s,o){super(t,n,i);Ee(this,"payable");Ee(this,"gas");Object.defineProperty(this,cc,{value:UQ}),er(this,{payable:s,gas:o})}format(t){if(Ue(t!=null&&t!=="sighash","cannot format a constructor for sighash","UNSUPPORTED_OPERATION",{operation:"format(sighash)"}),t==="json")return JSON.stringify({type:"constructor",stateMutability:this.payable?"payable":"undefined",payable:this.payable,gas:this.gas!=null?this.gas:void 0,inputs:this.inputs.map(i=>JSON.parse(i.format(t)))});const n=[`constructor${y4(t,this.inputs)}`];return this.payable&&n.push("payable"),this.gas!=null&&n.push(`@${this.gas.toString()}`),n.join(" ")}static from(t){if(Pu.isFragment(t))return t;if(typeof t=="string")try{return Pu.from(Op(t))}catch{xe(!1,"invalid constuctor fragment","obj",t)}else if(t instanceof Nu){yd(t,Ia(["constructor"]));const n=xd(t),i=!!yd(t,G3e).has("payable"),s=OQ(t);return Sg(t),new Pu(Xi,"constructor",n,i,s)}return new Pu(Xi,"constructor",t.inputs?t.inputs.map(Vs.from):[],!!t.payable,t.gas!=null?t.gas:null)}static isFragment(t){return t&&t[cc]===UQ}}class Ou extends _d{constructor(t,n,i){super(t,"fallback",n);Ee(this,"payable");Object.defineProperty(this,cc,{value:FQ}),er(this,{payable:i})}format(t){const n=this.inputs.length===0?"receive":"fallback";if(t==="json"){const i=this.payable?"payable":"nonpayable";return JSON.stringify({type:n,stateMutability:i})}return`${n}()${this.payable?" payable":""}`}static from(t){if(Ou.isFragment(t))return t;if(typeof t=="string")try{return Ou.from(Op(t))}catch{xe(!1,"invalid fallback fragment","obj",t)}else if(t instanceof Nu){const n=t.toString(),i=t.peekKeyword(Ia(["fallback","receive"]));if(xe(i,"type must be fallback or receive","obj",n),t.popKeyword(Ia(["fallback","receive"]))==="receive"){const l=xd(t);return xe(l.length===0,"receive cannot have arguments","obj.inputs",l),yd(t,Ia(["payable"])),Sg(t),new Ou(Xi,[],!0)}let o=xd(t);o.length?xe(o.length===1&&o[0].type==="bytes","invalid fallback inputs","obj.inputs",o.map(l=>l.format("minimal")).join(", ")):o=[Vs.from("bytes")];const a=PQ(t);if(xe(a==="nonpayable"||a==="payable","fallback cannot be constants","obj.stateMutability",a),yd(t,Ia(["returns"])).has("returns")){const l=xd(t);xe(l.length===1&&l[0].type==="bytes","invalid fallback outputs","obj.outputs",l.map(u=>u.format("minimal")).join(", "))}return Sg(t),new Ou(Xi,o,a==="payable")}if(t.type==="receive")return new Ou(Xi,[],!0);if(t.type==="fallback"){const n=[Vs.from("bytes")],i=t.stateMutability==="payable";return new Ou(Xi,n,i)}xe(!1,"invalid fallback description","obj",t)}static isFragment(t){return t&&t[cc]===FQ}}class Pl extends ev{constructor(t,n,i,s,o,a){super(t,"function",n,s);Ee(this,"constant");Ee(this,"outputs");Ee(this,"stateMutability");Ee(this,"payable");Ee(this,"gas");Object.defineProperty(this,cc,{value:jQ}),o=Object.freeze(o.slice()),er(this,{constant:i==="view"||i==="pure",gas:a,outputs:o,payable:i==="payable",stateMutability:i})}get selector(){return Nc(this.format("sighash")).substring(0,10)}format(t){if(t==null&&(t="sighash"),t==="json")return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:this.stateMutability!=="nonpayable"?this.stateMutability:void 0,payable:this.payable,gas:this.gas!=null?this.gas:void 0,inputs:this.inputs.map(i=>JSON.parse(i.format(t))),outputs:this.outputs.map(i=>JSON.parse(i.format(t)))});const n=[];return t!=="sighash"&&n.push("function"),n.push(this.name+y4(t,this.inputs)),t!=="sighash"&&(this.stateMutability!=="nonpayable"&&n.push(this.stateMutability),this.outputs&&this.outputs.length&&(n.push("returns"),n.push(y4(t,this.outputs))),this.gas!=null&&n.push(`@${this.gas.toString()}`)),n.join(" ")}static getSelector(t,n){return n=(n||[]).map(s=>Vs.from(s)),new Pl(Xi,t,"view",n,[],null).selector}static from(t){if(Pl.isFragment(t))return t;if(typeof t=="string")try{return Pl.from(Op(t))}catch{xe(!1,"invalid function fragment","obj",t)}else if(t instanceof Nu){const i=ZE("function",t),s=xd(t),o=PQ(t);let a=[];yd(t,Ia(["returns"])).has("returns")&&(a=xd(t));const l=OQ(t);return Sg(t),new Pl(Xi,i,o,s,a,l)}let n=t.stateMutability;return n==null&&(n="payable",typeof t.constant=="boolean"?(n="view",t.constant||(n="payable",typeof t.payable=="boolean"&&!t.payable&&(n="nonpayable"))):typeof t.payable=="boolean"&&!t.payable&&(n="nonpayable")),new Pl(Xi,t.name,n,t.inputs?t.inputs.map(Vs.from):[],t.outputs?t.outputs.map(Vs.from):[],t.gas!=null?t.gas:null)}static isFragment(t){return t&&t[cc]===jQ}}class Ed extends ev{constructor(e,t,n){super(e,"struct",t,n),Object.defineProperty(this,cc,{value:zQ})}format(){throw new Error("@TODO")}static from(e){if(typeof e=="string")try{return Ed.from(Op(e))}catch{xe(!1,"invalid struct fragment","obj",e)}else if(e instanceof Nu){const t=ZE("struct",e),n=xd(e);return Sg(e),new Ed(Xi,t,n)}return new Ed(Xi,e.name,e.inputs?e.inputs.map(Vs.from):[])}static isFragment(e){return e&&e[cc]===zQ}}const Du=new Map;Du.set(0,"GENERIC_PANIC"),Du.set(1,"ASSERT_FALSE"),Du.set(17,"OVERFLOW"),Du.set(18,"DIVIDE_BY_ZERO"),Du.set(33,"ENUM_RANGE_ERROR"),Du.set(34,"BAD_STORAGE_DATA"),Du.set(49,"STACK_UNDERFLOW"),Du.set(50,"ARRAY_RANGE_ERROR"),Du.set(65,"OUT_OF_MEMORY"),Du.set(81,"UNINITIALIZED_FUNCTION_CALL");const n5e=new RegExp(/^bytes([0-9]*)$/),i5e=new RegExp(/^(u?int)([0-9]*)$/);let Zk=null,HQ=1024;function s5e(r,e,t,n){let i="missing revert data",s=null;const o=null;let a=null;if(t){i="execution reverted";const u=Dt(t);if(t=St(t),u.length===0)i+=" (no data present; likely require(false) occurred",s="require(false)";else if(u.length%32!==4)i+=" (could not decode reason; invalid data length)";else if(St(u.slice(0,4))==="0x08c379a0")try{s=n.decode(["string"],u.slice(4))[0],a={signature:"Error(string)",name:"Error",args:[s]},i+=`: ${JSON.stringify(s)}`}catch{i+=" (could not decode reason; invalid string data)"}else if(St(u.slice(0,4))==="0x4e487b71")try{const h=Number(n.decode(["uint256"],u.slice(4))[0]);a={signature:"Panic(uint256)",name:"Panic",args:[h]},s=`Panic due to ${Du.get(h)||"UNKNOWN"}(${h})`,i+=`: ${s}`}catch{i+=" (could not decode panic code)"}else i+=" (unknown custom error)"}const l={to:e.to?jr(e.to):null,data:e.data||"0x"};return e.from&&(l.from=jr(e.from)),Hi(i,"CALL_EXCEPTION",{action:r,data:t,reason:s,transaction:l,invocation:o,revert:a})}const GR=class GR{constructor(){Ne(this,W1)}getDefaultValue(e){const t=e.map(i=>rt(this,W1,k5).call(this,Vs.from(i)));return new BE(t,"_").defaultValue()}encode(e,t){hE(t.length,e.length,"types/values length mismatch");const n=e.map(o=>rt(this,W1,k5).call(this,Vs.from(o))),i=new BE(n,"_"),s=new ak;return i.encode(s,t),s.data}decode(e,t,n){const i=e.map(o=>rt(this,W1,k5).call(this,Vs.from(o)));return new BE(i,"_").decode(new ck(t,n,HQ))}static _setDefaultMaxInflation(e){xe(typeof e=="number"&&Number.isInteger(e),"invalid defaultMaxInflation factor","value",e),HQ=e}static defaultAbiCoder(){return Zk==null&&(Zk=new GR),Zk}static getBuiltinCallException(e,t,n){return s5e(e,t,n,GR.defaultAbiCoder())}};W1=new WeakSet,k5=function(e){if(e.isArray())return new Dye(rt(this,W1,k5).call(this,e.arrayChildren),e.arrayLength,e.name);if(e.isTuple())return new BE(e.components.map(n=>rt(this,W1,k5).call(this,n)),e.name);switch(e.baseType){case"address":return new Pye(e.name);case"bool":return new $ye(e.name);case"string":return new Wye(e.name);case"bytes":return new Bye(e.name);case"":return new Fye(e.name)}let t=e.type.match(i5e);if(t){let n=parseInt(t[2]||"256");return xe(n!==0&&n<=256&&n%8===0,"invalid "+t[1]+" bit length","param",e),new qye(n/8,t[1]==="int",e.name)}if(t=e.type.match(n5e),t){let n=parseInt(t[1]);return xe(n!==0&&n<=32,"invalid bytes length","param",e),new Lye(n,e.name)}xe(!1,"invalid type","type",e.type)};let Dp=GR;function qQ(r){const e=Ds(r);if(e.length>31)throw new Error("bytes32 string must be less than 32 bytes");return i4(e,32)}function WQ(r){const e=Dt(r,"bytes");if(e.length!==32)throw new Error("invalid bytes32 - not 32 bytes long");if(e[31]!==0)throw new Error("invalid bytes32 string - no null terminator");let t=31;for(;e[t-1]===0;)t--;return hd(e.slice(0,t))}class Jk{constructor(e,t,n){Ee(this,"fragment");Ee(this,"name");Ee(this,"signature");Ee(this,"topic");Ee(this,"args");const i=e.name,s=e.format();er(this,{fragment:e,name:i,signature:s,topic:t,args:n})}}class Yk{constructor(e,t,n,i){Ee(this,"fragment");Ee(this,"name");Ee(this,"args");Ee(this,"signature");Ee(this,"selector");Ee(this,"value");const s=e.name,o=e.format();er(this,{fragment:e,name:s,args:n,signature:o,selector:t,value:i})}}class Qk{constructor(e,t,n){Ee(this,"fragment");Ee(this,"name");Ee(this,"args");Ee(this,"signature");Ee(this,"selector");const i=e.name,s=e.format();er(this,{fragment:e,name:i,args:n,signature:s,selector:t})}}class JE{constructor(e){Ee(this,"hash");Ee(this,"_isIndexed");er(this,{hash:e,_isIndexed:!0})}static isIndexed(e){return!!(e&&e._isIndexed)}}const VQ={0:"generic panic",1:"assert(false)",17:"arithmetic overflow",18:"division or modulo by zero",33:"enum overflow",34:"invalid encoded storage byte array accessed",49:"out-of-bounds array access; popping on an empty array",50:"out-of-bounds access of an array or bytesN",65:"out of memory",81:"uninitialized function"},GQ={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:r=>`reverted with reason string ${JSON.stringify(r)}`},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"],reason:r=>{let e="unknown panic code";return r>=0&&r<=255&&VQ[r.toString()]&&(e=VQ[r.toString()]),`reverted with panic code 0x${r.toString(16)} (${e})`}}},e5=class e5{constructor(e){Ne(this,Q3);Ne(this,X3);Ee(this,"fragments");Ee(this,"deploy");Ee(this,"fallback");Ee(this,"receive");Ne(this,Hf,void 0);Ne(this,qf,void 0);Ne(this,Wf,void 0);Ne(this,xa,void 0);let t=[];typeof e=="string"?t=JSON.parse(e):t=e,me(this,Wf,new Map),me(this,Hf,new Map),me(this,qf,new Map);const n=[];for(const o of t)try{n.push(_d.from(o))}catch(a){console.log(`[Warning] Invalid Fragment ${JSON.stringify(o)}:`,a.message)}er(this,{fragments:Object.freeze(n)});let i=null,s=!1;me(this,xa,this.getAbiCoder()),this.fragments.forEach((o,a)=>{let l;switch(o.type){case"constructor":if(this.deploy){console.log("duplicate definition - constructor");return}er(this,{deploy:o});return;case"fallback":o.inputs.length===0?s=!0:(xe(!i||o.payable!==i.payable,"conflicting fallback fragments",`fragments[${a}]`,o),i=o,s=i.payable);return;case"function":l=oe(this,Wf);break;case"event":l=oe(this,qf);break;case"error":l=oe(this,Hf);break;default:return}const u=o.format();l.has(u)||l.set(u,o)}),this.deploy||er(this,{deploy:Pu.from("constructor()")}),er(this,{fallback:i,receive:s})}format(e){const t=e?"minimal":"full";return this.fragments.map(i=>i.format(t))}formatJson(){const e=this.fragments.map(t=>t.format("json"));return JSON.stringify(e.map(t=>JSON.parse(t)))}getAbiCoder(){return Dp.defaultAbiCoder()}getFunctionName(e){const t=rt(this,Q3,rT).call(this,e,null,!1);return xe(t,"no matching function","key",e),t.name}hasFunction(e){return!!rt(this,Q3,rT).call(this,e,null,!1)}getFunction(e,t){return rt(this,Q3,rT).call(this,e,t||null,!0)}forEachFunction(e){const t=Array.from(oe(this,Wf).keys());t.sort((n,i)=>n.localeCompare(i));for(let n=0;nn.localeCompare(i));for(let n=0;n1){const s=i.map(o=>JSON.stringify(o.format())).join(", ");xe(!1,`ambiguous error description (i.e. ${s})`,"name",e)}return i[0]}if(e=aa.from(e).format(),e==="Error(string)")return aa.from("error Error(string)");if(e==="Panic(uint256)")return aa.from("error Panic(uint256)");const n=oe(this,Hf).get(e);return n||null}forEachError(e){const t=Array.from(oe(this,Hf).keys());t.sort((n,i)=>n.localeCompare(i));for(let n=0;ns.type==="string"?Nc(o):s.type==="bytes"?Nn(St(o)):(s.type==="bool"&&typeof o=="boolean"?o=o?"0x01":"0x00":s.type.match(/^u?int/)?o=Ru(o):s.type.match(/^bytes/)?o=i4(o,32):s.type==="address"&&oe(this,xa).encode(["address"],[o]),Po(St(o),32));for(t.forEach((s,o)=>{const a=e.inputs[o];if(!a.indexed){xe(s==null,"cannot filter non-indexed parameters; must be null","contract."+a.name,s);return}s==null?n.push(null):a.baseType==="array"||a.baseType==="tuple"?xe(!1,"filtering with tuples or arrays not supported","contract."+a.name,s):Array.isArray(s)?n.push(s.map(l=>i(a,l))):n.push(i(a,s))});n.length&&n[n.length-1]===null;)n.pop();return n}encodeEventLog(e,t){if(typeof e=="string"){const o=this.getEvent(e);xe(o,"unknown event","eventFragment",e),e=o}const n=[],i=[],s=[];return e.anonymous||n.push(e.topicHash),xe(t.length===e.inputs.length,"event arguments/values mismatch","values",t),e.inputs.forEach((o,a)=>{const l=t[a];if(o.indexed)if(o.type==="string")n.push(Nc(l));else if(o.type==="bytes")n.push(Nn(l));else{if(o.baseType==="tuple"||o.baseType==="array")throw new Error("not implemented");n.push(oe(this,xa).encode([o.type],[l]))}else i.push(o),s.push(l)}),{data:oe(this,xa).encode(i,s),topics:n}}decodeEventLog(e,t,n){if(typeof e=="string"){const w=this.getEvent(e);xe(w,"unknown event","eventFragment",e),e=w}if(n!=null&&!e.anonymous){const w=e.topicHash;xe(ci(n[0],32)&&n[0].toLowerCase()===w,"fragment/topic mismatch","topics[0]",n[0]),n=n.slice(1)}const i=[],s=[],o=[];e.inputs.forEach((w,y)=>{w.indexed?w.type==="string"||w.type==="bytes"||w.baseType==="tuple"||w.baseType==="array"?(i.push(Vs.from({type:"bytes32",name:w.name})),o.push(!0)):(i.push(w),o.push(!1)):(s.push(w),o.push(!1))});const a=n!=null?oe(this,xa).decode(i,An(n)):null,l=oe(this,xa).decode(s,t,!0),u=[],h=[];let p=0,g=0;return e.inputs.forEach((w,y)=>{let C=null;if(w.indexed)if(a==null)C=new JE(null);else if(o[y])C=new JE(a[g++]);else try{C=a[g++]}catch(R){C=R}else try{C=l[p++]}catch(R){C=R}u.push(C),h.push(w.name||null)}),Uw.fromItems(u,h)}parseTransaction(e){const t=Dt(e.data,"tx.data"),n=cr(e.value!=null?e.value:0,"tx.value"),i=this.getFunction(St(t.slice(0,4)));if(!i)return null;const s=oe(this,xa).decode(i.inputs,t.slice(4));return new Yk(i,i.selector,s,n)}parseCallResult(e){throw new Error("@TODO")}parseLog(e){const t=this.getEvent(e.topics[0]);return!t||t.anonymous?null:new Jk(t,t.topicHash,this.decodeEventLog(t,e.data,e.topics))}parseError(e){const t=St(e),n=this.getError(li(t,0,4));if(!n)return null;const i=oe(this,xa).decode(n.inputs,li(t,4));return new Qk(n,n.selector,i)}static from(e){return e instanceof e5?e:typeof e=="string"?new e5(JSON.parse(e)):typeof e.format=="function"?new e5(e.format("json")):new e5(e)}};Hf=new WeakMap,qf=new WeakMap,Wf=new WeakMap,xa=new WeakMap,Q3=new WeakSet,rT=function(e,t,n){if(ci(e)){const s=e.toLowerCase();for(const o of oe(this,Wf).values())if(s===o.selector)return o;return null}if(e.indexOf("(")===-1){const s=[];for(const[o,a]of oe(this,Wf))o.split("(")[0]===e&&s.push(a);if(t){const o=t.length>0?t[t.length-1]:null;let a=t.length,l=!0;lo.isTyped(o)&&o.type==="overrides"&&(l=!1,a--);for(let u=s.length-1;u>=0;u--){const h=s[u].inputs.length;h!==a&&(!l||h!==a-1)&&s.splice(u,1)}for(let u=s.length-1;u>=0;u--){const h=s[u].inputs;for(let p=0;p=h.length){if(t[p].type==="overrides")continue;s.splice(u,1);break}if(t[p].type!==h[p].baseType){s.splice(u,1);break}}}}if(s.length===1&&t&&t.length!==s[0].inputs.length){const o=t[t.length-1];(o==null||Array.isArray(o)||typeof o!="object")&&s.splice(0,1)}if(s.length===0)return null;if(s.length>1&&n){const o=s.map(a=>JSON.stringify(a.format())).join(", ");xe(!1,`ambiguous function description (i.e. matches ${o})`,"key",e)}return s[0]}const i=oe(this,Wf).get(Pl.from(e).format());return i||null},X3=new WeakSet,nT=function(e,t,n){if(ci(e)){const s=e.toLowerCase();for(const o of oe(this,qf).values())if(s===o.topicHash)return o;return null}if(e.indexOf("(")===-1){const s=[];for(const[o,a]of oe(this,qf))o.split("(")[0]===e&&s.push(a);if(t){for(let o=s.length-1;o>=0;o--)s[o].inputs.length=0;o--){const a=s[o].inputs;for(let l=0;l1&&n){const o=s.map(a=>JSON.stringify(a.format())).join(", ");xe(!1,`ambiguous event description (i.e. matches ${o})`,"key",e)}return s[0]}const i=oe(this,qf).get(Nl.from(e).format());return i||null};let Ig=e5;const KQ=BigInt(0);function x4(r){return r??null}function gs(r){return r==null?null:r.toString()}class YE{constructor(e,t,n){Ee(this,"gasPrice");Ee(this,"maxFeePerGas");Ee(this,"maxPriorityFeePerGas");er(this,{gasPrice:x4(e),maxFeePerGas:x4(t),maxPriorityFeePerGas:x4(n)})}toJSON(){const{gasPrice:e,maxFeePerGas:t,maxPriorityFeePerGas:n}=this;return{_type:"FeeData",gasPrice:gs(e),maxFeePerGas:gs(t),maxPriorityFeePerGas:gs(n)}}}function tv(r){const e={};r.to&&(e.to=r.to),r.from&&(e.from=r.from),r.data&&(e.data=St(r.data));const t="chainId,gasLimit,gasPrice,maxFeePerGas,maxPriorityFeePerGas,value".split(/,/);for(const i of t)!(i in r)||r[i]==null||(e[i]=cr(r[i],`request.${i}`));const n="type,nonce".split(/,/);for(const i of n)!(i in r)||r[i]==null||(e[i]=Ir(r[i],`request.${i}`));return r.accessList&&(e.accessList=zh(r.accessList)),"blockTag"in r&&(e.blockTag=r.blockTag),"enableCcipRead"in r&&(e.enableCcipRead=!!r.enableCcipRead),"customData"in r&&(e.customData=r.customData),e}class Xk{constructor(e,t){Ee(this,"provider");Ee(this,"number");Ee(this,"hash");Ee(this,"timestamp");Ee(this,"parentHash");Ee(this,"parentBeaconBlockRoot");Ee(this,"nonce");Ee(this,"difficulty");Ee(this,"gasLimit");Ee(this,"gasUsed");Ee(this,"stateRoot");Ee(this,"receiptsRoot");Ee(this,"blobGasUsed");Ee(this,"excessBlobGas");Ee(this,"miner");Ee(this,"extraData");Ee(this,"baseFeePerGas");Ne(this,_0,void 0);me(this,_0,e.transactions.map(n=>typeof n!="string"?new Tg(n,t):n)),er(this,{provider:t,hash:x4(e.hash),number:e.number,timestamp:e.timestamp,parentHash:e.parentHash,parentBeaconBlockRoot:e.parentBeaconBlockRoot,nonce:e.nonce,difficulty:e.difficulty,gasLimit:e.gasLimit,gasUsed:e.gasUsed,blobGasUsed:e.blobGasUsed,excessBlobGas:e.excessBlobGas,miner:e.miner,extraData:e.extraData,baseFeePerGas:x4(e.baseFeePerGas),stateRoot:e.stateRoot,receiptsRoot:e.receiptsRoot})}get transactions(){return oe(this,_0).map(e=>typeof e=="string"?e:e.hash)}get prefetchedTransactions(){const e=oe(this,_0).slice();return e.length===0?[]:(Ue(typeof e[0]=="object","transactions were not prefetched with block request","UNSUPPORTED_OPERATION",{operation:"transactionResponses()"}),e)}toJSON(){const{baseFeePerGas:e,difficulty:t,extraData:n,gasLimit:i,gasUsed:s,hash:o,miner:a,nonce:l,number:u,parentHash:h,parentBeaconBlockRoot:p,stateRoot:g,receiptsRoot:w,timestamp:y,transactions:C}=this;return{_type:"Block",baseFeePerGas:gs(e),difficulty:gs(t),extraData:n,gasLimit:gs(i),gasUsed:gs(s),blobGasUsed:gs(this.blobGasUsed),excessBlobGas:gs(this.excessBlobGas),hash:o,miner:a,nonce:l,number:u,parentHash:h,timestamp:y,parentBeaconBlockRoot:p,stateRoot:g,receiptsRoot:w,transactions:C}}[Symbol.iterator](){let e=0;const t=this.transactions;return{next:()=>enew Rg(i,t))));let n=KQ;e.effectiveGasPrice!=null?n=e.effectiveGasPrice:e.gasPrice!=null&&(n=e.gasPrice),er(this,{provider:t,to:e.to,from:e.from,contractAddress:e.contractAddress,hash:e.hash,index:e.index,blockHash:e.blockHash,blockNumber:e.blockNumber,logsBloom:e.logsBloom,gasUsed:e.gasUsed,cumulativeGasUsed:e.cumulativeGasUsed,blobGasUsed:e.blobGasUsed,gasPrice:n,blobGasPrice:e.blobGasPrice,type:e.type,status:e.status,root:e.root})}get logs(){return oe(this,Hx)}toJSON(){const{to:e,from:t,contractAddress:n,hash:i,index:s,blockHash:o,blockNumber:a,logsBloom:l,logs:u,status:h,root:p}=this;return{_type:"TransactionReceipt",blockHash:o,blockNumber:a,contractAddress:n,cumulativeGasUsed:gs(this.cumulativeGasUsed),from:t,gasPrice:gs(this.gasPrice),blobGasUsed:gs(this.blobGasUsed),blobGasPrice:gs(this.blobGasPrice),gasUsed:gs(this.gasUsed),hash:i,index:s,logs:u,logsBloom:l,root:p,status:h,to:e}}get length(){return this.logs.length}[Symbol.iterator](){let e=0;return{next:()=>e{if(a)return null;const{blockNumber:g,nonce:w}=await zs({blockNumber:this.provider.getBlockNumber(),nonce:this.provider.getTransactionCount(this.from)});if(w{if(g==null||g.status!==0)return g;Ue(!1,"transaction execution reverted","CALL_EXCEPTION",{action:"sendTransaction",data:null,reason:null,invocation:null,revert:null,transaction:{to:g.to,from:g.from,data:""},receipt:g})},h=await this.provider.getTransactionReceipt(this.hash);if(n===0)return u(h);if(h){if(await h.confirmations()>=n)return u(h)}else if(await l(),n===0)return null;return await new Promise((g,w)=>{const y=[],C=()=>{y.forEach(k=>k())};if(y.push(()=>{a=!0}),i>0){const k=setTimeout(()=>{C(),w(Hi("wait for transaction timeout","TIMEOUT"))},i);y.push(()=>{clearTimeout(k)})}const R=async k=>{if(await k.confirmations()>=n){C();try{g(u(k))}catch(M){w(M)}}};if(y.push(()=>{this.provider.off(this.hash,R)}),this.provider.on(this.hash,R),s>=0){const k=async()=>{try{await l()}catch(M){if(Os(M,"TRANSACTION_REPLACED")){C(),w(M);return}}a||this.provider.once("block",k)};y.push(()=>{this.provider.off("block",k)}),this.provider.once("block",k)}})}isMined(){return this.blockHash!=null}isLegacy(){return this.type===0}isBerlin(){return this.type===1}isLondon(){return this.type===2}isCancun(){return this.type===3}removedEvent(){return Ue(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),JQ(this)}reorderedEvent(e){return Ue(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),Ue(!e||e.isMined(),"unmined 'other' transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),ZQ(this,e)}replaceableTransaction(e){xe(Number.isInteger(e)&&e>=0,"invalid startBlock","startBlock",e);const t=new gj(this,this.provider);return me(t,V1,e),t}};V1=new WeakMap;let Tg=gj;function o5e(r){return{orphan:"drop-block",hash:r.hash,number:r.number}}function ZQ(r,e){return{orphan:"reorder-transaction",tx:r,other:e}}function JQ(r){return{orphan:"drop-transaction",tx:r}}function a5e(r){return{orphan:"drop-log",log:{transactionHash:r.transactionHash,blockHash:r.blockHash,blockNumber:r.blockNumber,address:r.address,data:r.data,topics:Object.freeze(r.topics.slice()),index:r.index}}}class _4 extends Rg{constructor(t,n,i){super(t,t.provider);Ee(this,"interface");Ee(this,"fragment");Ee(this,"args");const s=n.decodeEventLog(i,t.data,t.topics);er(this,{args:s,fragment:i,interface:n})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}class XE extends Rg{constructor(t,n){super(t,t.provider);Ee(this,"error");er(this,{error:n})}}class eM extends QE{constructor(t,n,i){super(i,n);Ne(this,t5,void 0);me(this,t5,t)}get logs(){return super.logs.map(t=>{const n=t.topics.length?oe(this,t5).getEvent(t.topics[0]):null;if(n)try{return new _4(t,oe(this,t5),n)}catch(i){return new XE(t,i)}return t})}}t5=new WeakMap;class E4 extends Tg{constructor(t,n,i){super(i,n);Ne(this,qx,void 0);me(this,qx,t)}async wait(t,n){const i=await super.wait(t,n);return i==null?null:new eM(oe(this,qx),this.provider,i)}}qx=new WeakMap;class eA extends wE{constructor(t,n,i,s){super(t,n,i);Ee(this,"log");er(this,{log:s})}async getBlock(){return await this.log.getBlock()}async getTransaction(){return await this.log.getTransaction()}async getTransactionReceipt(){return await this.log.getTransactionReceipt()}}class tM extends eA{constructor(e,t,n,i,s){super(e,t,n,new _4(s,e.interface,i));const o=e.interface.decodeEventLog(i,this.log.data,this.log.topics);er(this,{args:o,fragment:i})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}const YQ=BigInt(0);function QQ(r){return r&&typeof r.call=="function"}function XQ(r){return r&&typeof r.estimateGas=="function"}function tA(r){return r&&typeof r.resolveName=="function"}function eX(r){return r&&typeof r.sendTransaction=="function"}function tX(r){if(r!=null){if(tA(r))return r;if(r.provider)return r.provider}}class c5e{constructor(e,t,n){Ne(this,Wx,void 0);Ee(this,"fragment");if(er(this,{fragment:t}),t.inputs.lengthn[l]==null?null:a.walkAsync(n[l],(h,p)=>h==="address"?Array.isArray(p)?Promise.all(p.map(g=>Ws(g,s))):Ws(p,s):p)));return e.interface.encodeFilterTopics(t,o)}())}getTopicFilter(){return oe(this,Wx)}}Wx=new WeakMap;function kg(r,e){return r==null?null:typeof r[e]=="function"?r:r.provider&&typeof r.provider[e]=="function"?r.provider:null}function Mg(r){return r==null?null:r.provider||null}async function rM(r,e){const t=lo.dereference(r,"overrides");xe(typeof t=="object","invalid overrides parameter","overrides",r);const n=tv(t);return xe(n.to==null||(e||[]).indexOf("to")>=0,"cannot override to","overrides.to",n.to),xe(n.data==null||(e||[]).indexOf("data")>=0,"cannot override data","overrides.data",n.data),n.from&&(n.from=n.from),n}async function rX(r,e,t){const n=kg(r,"resolveName"),i=tA(n)?n:null;return await Promise.all(e.map((s,o)=>s.walkAsync(t[o],(a,l)=>(l=lo.dereference(l,a),a==="address"?Ws(l,i):l))))}function l5e(r){const e=async function(o){const a=await rM(o,["data"]);a.to=await r.getAddress(),a.from&&(a.from=await Ws(a.from,tX(r.runner)));const l=r.interface,u=cr(a.value||YQ,"overrides.value")===YQ,h=(a.data||"0x")==="0x";l.fallback&&!l.fallback.payable&&l.receive&&!h&&!u&&xe(!1,"cannot send data to receive or send value to non-payable fallback","overrides",o),xe(l.fallback||h,"cannot send data to receive-only contract","overrides.data",a.data);const p=l.receive||l.fallback&&l.fallback.payable;return xe(p||u,"cannot send value to non-payable fallback","overrides.value",a.value),xe(l.fallback||h,"cannot send data to receive-only contract","overrides.data",a.data),a},t=async function(o){const a=kg(r.runner,"call");Ue(QQ(a),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});const l=await e(o);try{return await a.call(l)}catch(u){throw n4(u)&&u.data?r.interface.makeError(u.data,l):u}},n=async function(o){const a=r.runner;Ue(eX(a),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const l=await a.sendTransaction(await e(o)),u=Mg(r.runner);return new E4(r.interface,u,l)},i=async function(o){const a=kg(r.runner,"estimateGas");return Ue(XQ(a),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await a.estimateGas(await e(o))},s=async o=>await n(o);return er(s,{_contract:r,estimateGas:i,populateTransaction:e,send:n,staticCall:t}),s}function u5e(r,e){const t=function(...u){const h=r.interface.getFunction(e,u);return Ue(h,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e,args:u}}),h},n=async function(...u){const h=t(...u);let p={};if(h.inputs.length+1===u.length&&(p=await rM(u.pop()),p.from&&(p.from=await Ws(p.from,tX(r.runner)))),h.inputs.length!==u.length)throw new Error("internal error: fragment inputs doesn't match arguments; should not happen");const g=await rX(r.runner,h.inputs,u);return Object.assign({},p,await zs({to:r.getAddress(),data:r.interface.encodeFunctionData(h,g)}))},i=async function(...u){const h=await a(...u);return h.length===1?h[0]:h},s=async function(...u){const h=r.runner;Ue(eX(h),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const p=await h.sendTransaction(await n(...u)),g=Mg(r.runner);return new E4(r.interface,g,p)},o=async function(...u){const h=kg(r.runner,"estimateGas");return Ue(XQ(h),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await h.estimateGas(await n(...u))},a=async function(...u){const h=kg(r.runner,"call");Ue(QQ(h),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});const p=await n(...u);let g="0x";try{g=await h.call(p)}catch(y){throw n4(y)&&y.data?r.interface.makeError(y.data,p):y}const w=t(...u);return r.interface.decodeFunctionResult(w,g)},l=async(...u)=>t(...u).constant?await i(...u):await s(...u);return er(l,{name:r.interface.getFunctionName(e),_contract:r,_key:e,getFragment:t,estimateGas:o,populateTransaction:n,send:s,staticCall:i,staticCallResult:a}),Object.defineProperty(l,"fragment",{configurable:!1,enumerable:!0,get:()=>{const u=r.interface.getFunction(e);return Ue(u,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e}}),u}}),l}function h5e(r,e){const t=function(...i){const s=r.interface.getEvent(e,i);return Ue(s,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e,args:i}}),s},n=function(...i){return new c5e(r,t(...i),i)};return er(n,{name:r.interface.getEventName(e),_contract:r,_key:e,getFragment:t}),Object.defineProperty(n,"fragment",{configurable:!1,enumerable:!0,get:()=>{const i=r.interface.getEvent(e);return Ue(i,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e}}),i}}),n}const rA=Symbol.for("_ethersInternal_contract"),nX=new WeakMap;function f5e(r,e){nX.set(r[rA],e)}function Pc(r){return nX.get(r[rA])}function d5e(r){return r&&typeof r=="object"&&"getTopicFilter"in r&&typeof r.getTopicFilter=="function"&&r.fragment}async function nM(r,e){let t,n=null;if(Array.isArray(e)){const s=function(o){if(ci(o,32))return o;const a=r.interface.getEvent(o);return xe(a,"unknown fragment","name",o),a.topicHash};t=e.map(o=>o==null?null:Array.isArray(o)?o.map(s):s(o))}else e==="*"?t=[null]:typeof e=="string"?ci(e,32)?t=[e]:(n=r.interface.getEvent(e),xe(n,"unknown fragment","event",e),t=[n.topicHash]):d5e(e)?t=await e.getTopicFilter():"fragment"in e?(n=e.fragment,t=[n.topicHash]):xe(!1,"unknown event name","event",e);t=t.map(s=>{if(s==null)return null;if(Array.isArray(s)){const o=Array.from(new Set(s.map(a=>a.toLowerCase())).values());return o.length===1?o[0]:(o.sort(),o)}return s.toLowerCase()});const i=t.map(s=>s==null?"null":Array.isArray(s)?s.join("|"):s).join("&");return{fragment:n,tag:i,topics:t}}async function A4(r,e){const{subs:t}=Pc(r);return t.get((await nM(r,e)).tag)||null}async function iX(r,e,t){const n=Mg(r.runner);Ue(n,"contract runner does not support subscribing","UNSUPPORTED_OPERATION",{operation:e});const{fragment:i,tag:s,topics:o}=await nM(r,t),{addr:a,subs:l}=Pc(r);let u=l.get(s);if(!u){const p={address:a||r,topics:o},g=R=>{let k=i;if(k==null)try{k=r.interface.getEvent(R.topics[0])}catch{}if(k){const M=k,O=i?r.interface.decodeEventLog(i,R.data,R.topics):[];sM(r,t,O,B=>new tM(r,B,t,M,R))}else sM(r,t,[],M=>new eA(r,M,t,R))};let w=[];u={tag:s,listeners:[],start:()=>{w.length||w.push(n.on(p,g))},stop:async()=>{if(w.length==0)return;let R=w;w=[],await Promise.all(R),n.off(p,g)}},l.set(s,u)}return u}let iM=Promise.resolve();async function p5e(r,e,t,n){await iM;const i=await A4(r,e);if(!i)return!1;const s=i.listeners.length;return i.listeners=i.listeners.filter(({listener:o,once:a})=>{const l=Array.from(t);n&&l.push(n(a?null:o));try{o.call(r,...l)}catch{}return!a}),i.listeners.length===0&&(i.stop(),Pc(r).subs.delete(i.tag)),s>0}async function sM(r,e,t,n){try{await iM}catch{}const i=p5e(r,e,t,n);return iM=i,await i}const nA=["then"],Vx=class Vx{constructor(e,t,n,i){Ee(this,"target");Ee(this,"interface");Ee(this,"runner");Ee(this,"filters");Ee(this,Iot);Ee(this,"fallback");xe(typeof e=="string"||$E(e),"invalid value for Contract target","target",e),n==null&&(n=null);const s=Ig.from(t);er(this,{target:e,runner:n,interface:s}),Object.defineProperty(this,rA,{value:{}});let o,a=null,l=null;if(i){const p=Mg(n);l=new E4(this.interface,p,i)}let u=new Map;if(typeof e=="string")if(ci(e))a=e,o=Promise.resolve(e);else{const p=kg(n,"resolveName");if(!tA(p))throw Hi("contract runner does not support name resolution","UNSUPPORTED_OPERATION",{operation:"resolveName"});o=p.resolveName(e).then(g=>{if(g==null)throw Hi("an ENS name used for a contract target must be correctly configured","UNCONFIGURED_NAME",{value:e});return Pc(this).addr=g,g})}else o=e.getAddress().then(p=>{if(p==null)throw new Error("TODO");return Pc(this).addr=p,p});f5e(this,{addrPromise:o,addr:a,deployTx:l,subs:u});const h=new Proxy({},{get:(p,g,w)=>{if(typeof g=="symbol"||nA.indexOf(g)>=0)return Reflect.get(p,g,w);try{return this.getEvent(g)}catch(y){if(!Os(y,"INVALID_ARGUMENT")||y.argument!=="key")throw y}},has:(p,g)=>nA.indexOf(g)>=0?Reflect.has(p,g):Reflect.has(p,g)||this.interface.hasEvent(String(g))});return er(this,{filters:h}),er(this,{fallback:s.receive||s.fallback?l5e(this):null}),new Proxy(this,{get:(p,g,w)=>{if(typeof g=="symbol"||g in p||nA.indexOf(g)>=0)return Reflect.get(p,g,w);try{return p.getFunction(g)}catch(y){if(!Os(y,"INVALID_ARGUMENT")||y.argument!=="key")throw y}},has:(p,g)=>typeof g=="symbol"||g in p||nA.indexOf(g)>=0?Reflect.has(p,g):p.interface.hasFunction(g)})}connect(e){return new Vx(this.target,this.interface,e)}attach(e){return new Vx(e,this.interface,this.runner)}async getAddress(){return await Pc(this).addrPromise}async getDeployedCode(){const e=Mg(this.runner);Ue(e,"runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"getDeployedCode"});const t=await e.getCode(await this.getAddress());return t==="0x"?null:t}async waitForDeployment(){const e=this.deploymentTransaction();if(e)return await e.wait(),this;if(await this.getDeployedCode()!=null)return this;const n=Mg(this.runner);return Ue(n!=null,"contract runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"waitForDeployment"}),new Promise((i,s)=>{const o=async()=>{try{if(await this.getDeployedCode()!=null)return i(this);n.once("block",o)}catch(a){s(a)}};o()})}deploymentTransaction(){return Pc(this).deployTx}getFunction(e){return typeof e!="string"&&(e=e.format()),u5e(this,e)}getEvent(e){return typeof e!="string"&&(e=e.format()),h5e(this,e)}async queryTransaction(e){throw new Error("@TODO")}async queryFilter(e,t,n){t==null&&(t=0),n==null&&(n="latest");const{addr:i,addrPromise:s}=Pc(this),o=i||await s,{fragment:a,topics:l}=await nM(this,e),u={address:o,topics:l,fromBlock:t,toBlock:n},h=Mg(this.runner);return Ue(h,"contract runner does not have a provider","UNSUPPORTED_OPERATION",{operation:"queryFilter"}),(await h.getLogs(u)).map(p=>{let g=a;if(g==null)try{g=this.interface.getEvent(p.topics[0])}catch{}if(g)try{return new _4(p,this.interface,g)}catch(w){return new XE(p,w)}return new Rg(p,h)})}async on(e,t){const n=await iX(this,"on",e);return n.listeners.push({listener:t,once:!1}),n.start(),this}async once(e,t){const n=await iX(this,"once",e);return n.listeners.push({listener:t,once:!0}),n.start(),this}async emit(e,...t){return await sM(this,e,t,null)}async listenerCount(e){if(e){const i=await A4(this,e);return i?i.listeners.length:0}const{subs:t}=Pc(this);let n=0;for(const{listeners:i}of t.values())n+=i.length;return n}async listeners(e){if(e){const i=await A4(this,e);return i?i.listeners.map(({listener:s})=>s):[]}const{subs:t}=Pc(this);let n=[];for(const{listeners:i}of t.values())n=n.concat(i.map(({listener:s})=>s));return n}async off(e,t){const n=await A4(this,e);if(!n)return this;if(t){const i=n.listeners.map(({listener:s})=>s).indexOf(t);i>=0&&n.listeners.splice(i,1)}return(t==null||n.listeners.length===0)&&(n.stop(),Pc(this).subs.delete(n.tag)),this}async removeAllListeners(e){if(e){const t=await A4(this,e);if(!t)return this;t.stop(),Pc(this).subs.delete(t.tag)}else{const{subs:t}=Pc(this);for(const{tag:n,stop:i}of t.values())i(),t.delete(n)}return this}async addListener(e,t){return await this.on(e,t)}async removeListener(e,t){return await this.off(e,t)}static buildClass(e){class t extends Vx{constructor(i,s=null){super(i,e,s)}}return t}static from(e,t,n){return n==null&&(n=null),new this(e,t,n)}};Iot=rA;let Ng=Vx;function g5e(){return Ng}let Ad=class extends g5e(){};class C4{constructor(e,t,n){Ee(this,"interface");Ee(this,"bytecode");Ee(this,"runner");const i=Ig.from(e);t instanceof Uint8Array||(typeof t=="object"&&(t=t.object),t.startsWith("0x")||(t="0x"+t)),t=St(Dt(t)),er(this,{bytecode:t,interface:i,runner:n||null})}attach(e){return new Ng(e,this.interface,this.runner)}async getDeployTransaction(...e){let t={};const n=this.interface.deploy;if(n.inputs.length+1===e.length&&(t=await rM(e.pop())),n.inputs.length!==e.length)throw new Error("incorrect number of arguments to constructor");const i=await rX(this.runner,n.inputs,e),s=An([this.bytecode,this.interface.encodeDeploy(i)]);return Object.assign({},t,{data:s})}async deploy(...e){const t=await this.getDeployTransaction(...e);Ue(this.runner&&typeof this.runner.sendTransaction=="function","factory runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const n=await this.runner.sendTransaction(t),i=DE(n);return new Ng(i,this.interface,this.runner,n)}connect(e){return new C4(this.interface,this.bytecode,e)}static fromSolidity(e,t){xe(e!=null,"bad compiler output","output",e),typeof e=="string"&&(e=JSON.parse(e));const n=e.abi;let i="";return e.bytecode?i=e.bytecode:e.evm&&e.evm.bytecode&&(i=e.evm.bytecode),new this(n,i,t)}}function oM(r){return r.match(/^ipfs:\/\/ipfs\//i)?r=r.substring(12):r.match(/^ipfs:\/\//i)?r=r.substring(7):xe(!1,"unsupported IPFS format","link",r),`https://gateway.ipfs.io/ipfs/${r}`}class aM{constructor(e){Ee(this,"name");er(this,{name:e})}connect(e){return this}supportsCoinType(e){return!1}async encodeAddress(e,t){throw new Error("unsupported coin")}async decodeAddress(e,t){throw new Error("unsupported coin")}}const sX=new RegExp("^(ipfs)://(.*)$","i"),oX=[new RegExp("^(https)://(.*)$","i"),new RegExp("^(data):(.*)$","i"),sX,new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")],r5=class r5{constructor(e,t,n){Ne(this,K1);Ee(this,"provider");Ee(this,"address");Ee(this,"name");Ne(this,G1,void 0);Ne(this,j2,void 0);er(this,{provider:e,address:t,name:n}),me(this,G1,null),me(this,j2,new Ad(t,["function supportsInterface(bytes4) view returns (bool)","function resolve(bytes, bytes) view returns (bytes)","function addr(bytes32) view returns (address)","function addr(bytes32, uint) view returns (bytes)","function text(bytes32, string) view returns (string)","function contenthash(bytes32) view returns (bytes)"],e))}async supportsWildcard(){return oe(this,G1)==null&&me(this,G1,(async()=>{try{return await oe(this,j2).supportsInterface("0x9061b923")}catch(e){if(Os(e,"CALL_EXCEPTION"))return!1;throw me(this,G1,null),e}})()),await oe(this,G1)}async getAddress(e){if(e==null&&(e=60),e===60)try{const s=await rt(this,K1,M5).call(this,"addr(bytes32)");return s==null||s===_g?null:s}catch(s){if(Os(s,"CALL_EXCEPTION"))return null;throw s}if(e>=0&&e<2147483648){let s=e+2147483648;const o=await rt(this,K1,M5).call(this,"addr(bytes32,uint)",[s]);if(ci(o,20))return jr(o)}let t=null;for(const s of this.provider.plugins)if(s instanceof aM&&s.supportsCoinType(e)){t=s;break}if(t==null)return null;const n=await rt(this,K1,M5).call(this,"addr(bytes32,uint)",[e]);if(n==null||n==="0x")return null;const i=await t.decodeAddress(e,n);if(i!=null)return i;Ue(!1,"invalid coin data","UNSUPPORTED_OPERATION",{operation:`getAddress(${e})`,info:{coinType:e,data:n}})}async getText(e){const t=await rt(this,K1,M5).call(this,"text(bytes32,string)",[e]);return t==null||t==="0x"?null:t}async getContentHash(){const e=await rt(this,K1,M5).call(this,"contenthash(bytes32)");if(e==null||e==="0x")return null;const t=e.match(/^0x(e3010170|e5010172)(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(t){const i=t[1]==="e3010170"?"ipfs":"ipns",s=parseInt(t[4],16);if(t[5].length===s*2)return`${i}://${bE("0x"+t[2])}`}const n=e.match(/^0xe40101fa011b20([0-9a-f]*)$/);if(n&&n[1].length===64)return`bzz://${n[1]}`;Ue(!1,"invalid or unsupported content hash data","UNSUPPORTED_OPERATION",{operation:"getContentHash()",info:{data:e}})}async getAvatar(){return(await this._getAvatar()).url}async _getAvatar(){const e=[{type:"name",value:this.name}];try{const t=await this.getText("avatar");if(t==null)return e.push({type:"!avatar",value:""}),{url:null,linkage:e};e.push({type:"avatar",value:t});for(let n=0;n{if(e&&t==null)return null;if(!Array.isArray(t))throw new Error("not an array");return t.map(n=>r(n))}}function S4(r,e){return t=>{const n={};for(const i in r){let s=i;if(e&&i in e&&!(s in t)){for(const o of e[i])if(o in t){s=o;break}}try{const o=r[i](t[s]);o!==void 0&&(n[i]=o)}catch(o){const a=o instanceof Error?o.message:"not-an-error";Ue(!1,`invalid value for value.${i} (${a})`,"BAD_DATA",{value:t})}}return n}}function m5e(r){switch(r){case!0:case"true":return!0;case!1:case"false":return!1}xe(!1,`invalid boolean; ${JSON.stringify(r)}`,"value",r)}function nv(r){return xe(ci(r,!0),"invalid data","value",r),r}function ca(r){return xe(ci(r,32),"invalid hash","value",r),r}const b5e=S4({address:jr,blockHash:ca,blockNumber:Ir,data:nv,index:Ir,removed:Cn(m5e,!1),topics:iA(ca),transactionHash:ca,transactionIndex:Ir},{index:["logIndex"]});function w5e(r){return b5e(r)}const v5e=S4({hash:Cn(ca),parentHash:ca,parentBeaconBlockRoot:Cn(ca,null),number:Ir,timestamp:Ir,nonce:Cn(nv),difficulty:cr,gasLimit:cr,gasUsed:cr,stateRoot:Cn(ca,null),receiptsRoot:Cn(ca,null),blobGasUsed:Cn(cr,null),excessBlobGas:Cn(cr,null),miner:Cn(jr),extraData:nv,baseFeePerGas:Cn(cr)});function y5e(r){const e=v5e(r);return e.transactions=r.transactions.map(t=>typeof t=="string"?t:cX(t)),e}const x5e=S4({transactionIndex:Ir,blockNumber:Ir,transactionHash:ca,address:jr,topics:iA(ca),data:nv,index:Ir,blockHash:ca},{index:["logIndex"]});function _5e(r){return x5e(r)}const E5e=S4({to:Cn(jr,null),from:Cn(jr,null),contractAddress:Cn(jr,null),index:Ir,root:Cn(St),gasUsed:cr,blobGasUsed:Cn(cr,null),logsBloom:Cn(nv),blockHash:ca,hash:ca,logs:iA(_5e),blockNumber:Ir,cumulativeGasUsed:cr,effectiveGasPrice:Cn(cr),blobGasPrice:Cn(cr,null),status:Cn(Ir),type:Cn(Ir,0)},{effectiveGasPrice:["gasPrice"],hash:["transactionHash"],index:["transactionIndex"]});function A5e(r){return E5e(r)}function cX(r){r.to&&cr(r.to)===aX&&(r.to="0x0000000000000000000000000000000000000000");const e=S4({hash:ca,index:Cn(Ir,void 0),type:t=>t==="0x"||t==null?0:Ir(t),accessList:Cn(zh,null),blobVersionedHashes:Cn(iA(ca,!0),null),blockHash:Cn(ca,null),blockNumber:Cn(Ir,null),transactionIndex:Cn(Ir,null),from:jr,gasPrice:Cn(cr),maxPriorityFeePerGas:Cn(cr),maxFeePerGas:Cn(cr),maxFeePerBlobGas:Cn(cr,null),gasLimit:cr,to:Cn(jr,null),value:cr,nonce:Ir,data:nv,creates:Cn(jr,null),chainId:Cn(cr,null)},{data:["input"],gasLimit:["gas"],index:["transactionIndex"]})(r);if(e.to==null&&e.creates==null&&(e.creates=DE(e)),(r.type===1||r.type===2)&&r.accessList==null&&(e.accessList=[]),r.signature?e.signature=Mc.from(r.signature):e.signature=Mc.from(r),e.chainId==null){const t=e.signature.legacyChainId;t!=null&&(e.chainId=t)}return e.blockHash&&cr(e.blockHash)===aX&&(e.blockHash=null),e}const C5e="0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e";class Cd{constructor(e){Ee(this,"name");er(this,{name:e})}clone(){return new Cd(this.name)}}class iv extends Cd{constructor(t,n){t==null&&(t=0);super(`org.ethers.network.plugins.GasCost#${t||0}`);Ee(this,"effectiveBlock");Ee(this,"txBase");Ee(this,"txCreate");Ee(this,"txDataZero");Ee(this,"txDataNonzero");Ee(this,"txAccessListStorageKey");Ee(this,"txAccessListAddress");const i={effectiveBlock:t};function s(o,a){let l=(n||{})[o];l==null&&(l=a),xe(typeof l=="number",`invalud value for ${o}`,"costs",n),i[o]=l}s("txBase",21e3),s("txCreate",32e3),s("txDataZero",4),s("txDataNonzero",16),s("txAccessListStorageKey",1900),s("txAccessListAddress",2400),er(this,i)}clone(){return new iv(this.effectiveBlock,this)}}class sv extends Cd{constructor(t,n){super("org.ethers.plugins.network.Ens");Ee(this,"address");Ee(this,"targetNetwork");er(this,{address:t||C5e,targetNetwork:n??1})}clone(){return new sv(this.address,this.targetNetwork)}}const mj=class mj extends Cd{constructor(t){super("org.ethers.plugins.network.FeeData");Ne(this,z2,void 0);me(this,z2,t)}get feeDataFunc(){return oe(this,z2)}async getFeeData(t){return await oe(this,z2).call(this,t)}clone(){return new mj(oe(this,z2))}};z2=new WeakMap;let sA=mj;class cM extends Cd{constructor(t,n){super("org.ethers.plugins.network.FetchUrlFeeDataPlugin");Ne(this,Gx,void 0);Ne(this,Kx,void 0);me(this,Gx,t),me(this,Kx,n)}get url(){return oe(this,Gx)}get processFunc(){return oe(this,Kx)}clone(){return this}}Gx=new WeakMap,Kx=new WeakMap;const lM=new Map,s5=class s5{constructor(e,t){Ne(this,n5,void 0);Ne(this,i5,void 0);Ne(this,Z1,void 0);me(this,n5,e),me(this,i5,cr(t)),me(this,Z1,new Map)}toJSON(){return{name:this.name,chainId:String(this.chainId)}}get name(){return oe(this,n5)}set name(e){me(this,n5,e)}get chainId(){return oe(this,i5)}set chainId(e){me(this,i5,cr(e,"chainId"))}matches(e){if(e==null)return!1;if(typeof e=="string"){try{return this.chainId===cr(e)}catch{}return this.name===e}if(typeof e=="number"||typeof e=="bigint"){try{return this.chainId===cr(e)}catch{}return!1}if(typeof e=="object"){if(e.chainId!=null){try{return this.chainId===cr(e.chainId)}catch{}return!1}return e.name!=null?this.name===e.name:!1}return!1}get plugins(){return Array.from(oe(this,Z1).values())}attachPlugin(e){if(oe(this,Z1).get(e.name))throw new Error(`cannot replace existing plugin: ${e.name} `);return oe(this,Z1).set(e.name,e.clone()),this}getPlugin(e){return oe(this,Z1).get(e)||null}getPlugins(e){return this.plugins.filter(t=>t.name.split("#")[0]===e)}clone(){const e=new s5(this.name,this.chainId);return this.plugins.forEach(t=>{e.attachPlugin(t.clone())}),e}computeIntrinsicGas(e){const t=this.getPlugin("org.ethers.plugins.network.GasCost")||new iv;let n=t.txBase;if(e.to==null&&(n+=t.txCreate),e.data)for(let i=2;i9){let i=BigInt(n[1].substring(0,9));n[1].substring(9).match(/^0+$/)||i++,n[1]=i.toString()}return BigInt(n[0]+n[1])}function uX(r){return new cM(r,async(e,t,n)=>{n.setHeader("User-Agent","ethers");let i;try{const[s,o]=await Promise.all([n.send(),e()]);i=s;const a=i.bodyJson.standard;return{gasPrice:o.gasPrice,maxFeePerGas:lX(a.maxFee,9),maxPriorityFeePerGas:lX(a.maxPriorityFee,9)}}catch(s){Ue(!1,`error encountered with polygon gas station (${JSON.stringify(n.url)})`,"SERVER_ERROR",{request:n,response:i,error:s})}})}let hX=!1;function S5e(){if(hX)return;hX=!0;function r(e,t,n){const i=function(){const s=new ms(e,t);return n.ensNetwork!=null&&s.attachPlugin(new sv(null,n.ensNetwork)),s.attachPlugin(new iv),(n.plugins||[]).forEach(o=>{s.attachPlugin(o)}),s};ms.register(e,i),ms.register(t,i),n.altNames&&n.altNames.forEach(s=>{ms.register(s,i)})}r("mainnet",1,{ensNetwork:1,altNames:["homestead"]}),r("ropsten",3,{ensNetwork:3}),r("rinkeby",4,{ensNetwork:4}),r("goerli",5,{ensNetwork:5}),r("kovan",42,{ensNetwork:42}),r("sepolia",11155111,{ensNetwork:11155111}),r("holesky",17e3,{ensNetwork:17e3}),r("classic",61,{}),r("classicKotti",6,{}),r("arbitrum",42161,{ensNetwork:1}),r("arbitrum-goerli",421613,{}),r("arbitrum-sepolia",421614,{}),r("base",8453,{ensNetwork:1}),r("base-goerli",84531,{}),r("base-sepolia",84532,{}),r("bnb",56,{ensNetwork:1}),r("bnbt",97,{}),r("linea",59144,{ensNetwork:1}),r("linea-goerli",59140,{}),r("matic",137,{ensNetwork:1,plugins:[uX("https://gasstation.polygon.technology/v2")]}),r("matic-mumbai",80001,{altNames:["maticMumbai","maticmum"],plugins:[uX("https://gasstation-testnet.polygon.technology/v2")]}),r("optimism",10,{ensNetwork:1,plugins:[]}),r("optimism-goerli",420,{}),r("optimism-sepolia",11155420,{}),r("xdai",100,{ensNetwork:1})}function uM(r){return JSON.parse(JSON.stringify(r))}class I5e{constructor(e){Ne(this,o5);Ne(this,E0,void 0);Ne(this,gu,void 0);Ne(this,J1,void 0);Ne(this,Vf,void 0);me(this,E0,e),me(this,gu,null),me(this,J1,4e3),me(this,Vf,-2)}get pollingInterval(){return oe(this,J1)}set pollingInterval(e){me(this,J1,e)}start(){oe(this,gu)||(me(this,gu,oe(this,E0)._setTimeout(rt(this,o5,iT).bind(this),oe(this,J1))),rt(this,o5,iT).call(this))}stop(){oe(this,gu)&&(oe(this,E0)._clearTimeout(oe(this,gu)),me(this,gu,null))}pause(e){this.stop(),e&&me(this,Vf,-2)}resume(){this.start()}}E0=new WeakMap,gu=new WeakMap,J1=new WeakMap,Vf=new WeakMap,o5=new WeakSet,iT=async function(){try{const e=await oe(this,E0).getBlockNumber();if(oe(this,Vf)===-2){me(this,Vf,e);return}if(e!==oe(this,Vf)){for(let t=oe(this,Vf)+1;t<=e;t++){if(oe(this,gu)==null)return;await oe(this,E0).emit("block",t)}me(this,Vf,e)}}catch{}oe(this,gu)!=null&&me(this,gu,oe(this,E0)._setTimeout(rt(this,o5,iT).bind(this),oe(this,J1)))};class hM{constructor(e){Ne(this,H2,void 0);Ne(this,q2,void 0);Ne(this,Y1,void 0);me(this,H2,e),me(this,Y1,!1),me(this,q2,t=>{this._poll(t,oe(this,H2))})}async _poll(e,t){throw new Error("sub-classes must override this")}start(){oe(this,Y1)||(me(this,Y1,!0),oe(this,q2).call(this,-2),oe(this,H2).on("block",oe(this,q2)))}stop(){oe(this,Y1)&&(me(this,Y1,!1),oe(this,H2).off("block",oe(this,q2)))}pause(e){this.stop()}resume(){this.start()}}H2=new WeakMap,q2=new WeakMap,Y1=new WeakMap;class R5e extends hM{constructor(t,n){super(t);Ne(this,a5,void 0);Ne(this,A0,void 0);me(this,a5,n),me(this,A0,-2)}pause(t){t&&me(this,A0,-2),super.pause(t)}async _poll(t,n){const i=await n.getBlock(oe(this,a5));i!=null&&(oe(this,A0)===-2?me(this,A0,i.number):i.number>oe(this,A0)&&(n.emit(oe(this,a5),i.number),me(this,A0,i.number)))}}a5=new WeakMap,A0=new WeakMap;class T5e extends hM{constructor(t,n){super(t);Ne(this,ZR,void 0);me(this,ZR,uM(n))}async _poll(t,n){throw new Error("@TODO")}}ZR=new WeakMap;class k5e extends hM{constructor(t,n){super(t);Ne(this,c5,void 0);me(this,c5,n)}async _poll(t,n){const i=await n.getTransactionReceipt(oe(this,c5));i&&n.emit(oe(this,c5),i)}}c5=new WeakMap;class fM{constructor(e,t){Ne(this,JR);Ne(this,C0,void 0);Ne(this,l5,void 0);Ne(this,u5,void 0);Ne(this,Q1,void 0);Ne(this,mu,void 0);me(this,C0,e),me(this,l5,uM(t)),me(this,u5,rt(this,JR,Age).bind(this)),me(this,Q1,!1),me(this,mu,-2)}start(){oe(this,Q1)||(me(this,Q1,!0),oe(this,mu)===-2&&oe(this,C0).getBlockNumber().then(e=>{me(this,mu,e)}),oe(this,C0).on("block",oe(this,u5)))}stop(){oe(this,Q1)&&(me(this,Q1,!1),oe(this,C0).off("block",oe(this,u5)))}pause(e){this.stop(),e&&me(this,mu,-2)}resume(){this.start()}}C0=new WeakMap,l5=new WeakMap,u5=new WeakMap,Q1=new WeakMap,mu=new WeakMap,JR=new WeakSet,Age=async function(e){if(oe(this,mu)===-2)return;const t=uM(oe(this,l5));t.fromBlock=oe(this,mu)+1,t.toBlock=e;const n=await oe(this,C0).getLogs(t);if(n.length===0){oe(this,mu){if(n==null)return"null";if(typeof n=="bigint")return`bigint:${n.toString()}`;if(typeof n=="string")return n.toLowerCase();if(typeof n=="object"&&!Array.isArray(n)){const i=Object.keys(n);return i.sort(),i.reduce((s,o)=>(s[o]=n[o],s),{})}return n})}class ov{constructor(e){Ee(this,"name");er(this,{name:e})}start(){}stop(){}pause(e){}resume(){}}function P5e(r){return JSON.parse(JSON.stringify(r))}function dM(r){return r=Array.from(new Set(r).values()),r.sort(),r}async function pM(r,e){if(r==null)throw new Error("invalid event");if(Array.isArray(r)&&(r={topics:r}),typeof r=="string")switch(r){case"block":case"debug":case"error":case"finalized":case"network":case"pending":case"safe":return{type:r,tag:r}}if(ci(r,32)){const t=r.toLowerCase();return{type:"transaction",tag:aA("tx",{hash:t}),hash:t}}if(r.orphan){const t=r;return{type:"orphan",tag:aA("orphan",t),filter:P5e(t)}}if(r.address||r.topics){const t=r,n={topics:(t.topics||[]).map(i=>i==null?null:Array.isArray(i)?dM(i.map(s=>s.toLowerCase())):i.toLowerCase())};if(t.address){const i=[],s=[],o=a=>{ci(a)?i.push(a):s.push((async()=>{i.push(await Ws(a,e))})())};Array.isArray(t.address)?t.address.forEach(o):o(t.address),s.length&&await Promise.all(s),n.address=dM(i.map(a=>a.toLowerCase()))}return{filter:n,tag:aA("event",n),type:"event"}}xe(!1,"unknown ProviderEvent","event",r)}function gM(){return new Date().getTime()}const O5e={cacheTimeout:250,pollingInterval:4e3};class av{constructor(e,t){Ne(this,Ga);Ne(this,Jx);Ne(this,Yx);Ne(this,V2);Ne(this,Qx);Ne(this,G2);Ne(this,p5);Ne(this,_a,void 0);Ne(this,X1,void 0);Ne(this,Ea,void 0);Ne(this,h5,void 0);Ne(this,sl,void 0);Ne(this,W2,void 0);Ne(this,eg,void 0);Ne(this,S0,void 0);Ne(this,Zx,void 0);Ne(this,bu,void 0);Ne(this,f5,void 0);Ne(this,d5,void 0);if(me(this,d5,Object.assign({},O5e,t||{})),e==="any")me(this,W2,!0),me(this,sl,null);else if(e){const n=ms.from(e);me(this,W2,!1),me(this,sl,Promise.resolve(n)),setTimeout(()=>{this.emit("network",n,null)},0)}else me(this,W2,!1),me(this,sl,null);me(this,S0,-1),me(this,eg,new Map),me(this,_a,new Map),me(this,X1,new Map),me(this,Ea,null),me(this,h5,!1),me(this,Zx,1),me(this,bu,new Map),me(this,f5,!1)}get pollingInterval(){return oe(this,d5).pollingInterval}get provider(){return this}get plugins(){return Array.from(oe(this,X1).values())}attachPlugin(e){if(oe(this,X1).get(e.name))throw new Error(`cannot replace existing plugin: ${e.name} `);return oe(this,X1).set(e.name,e.connect(this)),this}getPlugin(e){return oe(this,X1).get(e)||null}get disableCcipRead(){return oe(this,f5)}set disableCcipRead(e){me(this,f5,!!e)}async ccipReadFetch(e,t,n){if(this.disableCcipRead||n.length===0||e.to==null)return null;const i=e.to.toLowerCase(),s=t.toLowerCase(),o=[];for(let a=0;a=500,`response not found during CCIP fetch: ${p}`,"OFFCHAIN_FAULT",{reason:"404_MISSING_RESOURCE",transaction:e,info:{url:l,errorMessage:p}}),o.push(p)}Ue(!1,`error encountered during CCIP fetch: ${o.map(a=>JSON.stringify(a)).join(", ")}`,"OFFCHAIN_FAULT",{reason:"500_SERVER_ERROR",transaction:e,info:{urls:n,errorMessages:o}})}_wrapBlock(e,t){return new Xk(y5e(e),this)}_wrapLog(e,t){return new Rg(w5e(e),this)}_wrapTransactionReceipt(e,t){return new QE(A5e(e),this)}_wrapTransactionResponse(e,t){return new Tg(cX(e),this)}_detectNetwork(){Ue(!1,"sub-classes must implement this","UNSUPPORTED_OPERATION",{operation:"_detectNetwork"})}async _perform(e){Ue(!1,`unsupported method: ${e.method}`,"UNSUPPORTED_OPERATION",{operation:e.method,info:e})}async getBlockNumber(){const e=Ir(await rt(this,Ga,yl).call(this,{method:"getBlockNumber"}),"%response");return oe(this,S0)>=0&&me(this,S0,e),e}_getAddress(e){return Ws(e,this)}_getBlockTag(e){if(e==null)return"latest";switch(e){case"earliest":return"0x0";case"finalized":case"latest":case"pending":case"safe":return e}if(ci(e))return ci(e,32)?e:ud(e);if(typeof e=="bigint"&&(e=Ir(e,"blockTag")),typeof e=="number")return e>=0?ud(e):oe(this,S0)>=0?ud(oe(this,S0)+e):this.getBlockNumber().then(t=>ud(t+e));xe(!1,"invalid blockTag","blockTag",e)}_getFilter(e){const t=(e.topics||[]).map(l=>l==null?null:Array.isArray(l)?dM(l.map(u=>u.toLowerCase())):l.toLowerCase()),n="blockHash"in e?e.blockHash:void 0,i=(l,u,h)=>{let p;switch(l.length){case 0:break;case 1:p=l[0];break;default:l.sort(),p=l}if(n&&(u!=null||h!=null))throw new Error("invalid filter");const g={};return p&&(g.address=p),t.length&&(g.topics=t),u&&(g.fromBlock=u),h&&(g.toBlock=h),n&&(g.blockHash=n),g};let s=[];if(e.address)if(Array.isArray(e.address))for(const l of e.address)s.push(this._getAddress(l));else s.push(this._getAddress(e.address));let o;"fromBlock"in e&&(o=this._getBlockTag(e.fromBlock));let a;return"toBlock"in e&&(a=this._getBlockTag(e.toBlock)),s.filter(l=>typeof l!="string").length||o!=null&&typeof o!="string"||a!=null&&typeof a!="string"?Promise.all([Promise.all(s),o,a]).then(l=>i(l[0],l[1],l[2])):i(s,o,a)}_getTransactionRequest(e){const t=tv(e),n=[];if(["to","from"].forEach(i=>{if(t[i]==null)return;const s=Ws(t[i],this);oA(s)?n.push(async function(){t[i]=await s}()):t[i]=s}),t.blockTag!=null){const i=this._getBlockTag(t.blockTag);oA(i)?n.push(async function(){t.blockTag=await i}()):t.blockTag=i}return n.length?async function(){return await Promise.all(n),t}():t}async getNetwork(){if(oe(this,sl)==null){const i=(async()=>{try{const s=await this._detectNetwork();return this.emit("network",s,null),s}catch(s){throw oe(this,sl)===i&&me(this,sl,null),s}})();return me(this,sl,i),(await i).clone()}const e=oe(this,sl),[t,n]=await Promise.all([e,this._detectNetwork()]);return t.chainId!==n.chainId&&(oe(this,W2)?(this.emit("network",n,t),oe(this,sl)===e&&me(this,sl,Promise.resolve(n))):Ue(!1,`network changed: ${t.chainId} => ${n.chainId} `,"NETWORK_ERROR",{event:"changed"})),t.clone()}async getFeeData(){const e=await this.getNetwork(),t=async()=>{const{_block:i,gasPrice:s,priorityFee:o}=await zs({_block:rt(this,Qx,oK).call(this,"latest",!1),gasPrice:(async()=>{try{const h=await rt(this,Ga,yl).call(this,{method:"getGasPrice"});return cr(h,"%response")}catch{}return null})(),priorityFee:(async()=>{try{const h=await rt(this,Ga,yl).call(this,{method:"getPriorityFee"});return cr(h,"%response")}catch{}return null})()});let a=null,l=null;const u=this._wrapBlock(i,e);return u&&u.baseFeePerGas&&(l=o??BigInt("1000000000"),a=u.baseFeePerGas*M5e+l),new YE(s,a,l)},n=e.getPlugin("org.ethers.plugins.network.FetchUrlFeeDataPlugin");if(n){const i=new Oo(n.url),s=await n.processFunc(t,this,i);return new YE(s.gasPrice,s.maxFeePerGas,s.maxPriorityFeePerGas)}return await t()}async estimateGas(e){let t=this._getTransactionRequest(e);return oA(t)&&(t=await t),cr(await rt(this,Ga,yl).call(this,{method:"estimateGas",transaction:t}),"%response")}async call(e){const{tx:t,blockTag:n}=await zs({tx:this._getTransactionRequest(e),blockTag:this._getBlockTag(e.blockTag)});return await rt(this,Yx,sK).call(this,rt(this,Jx,iK).call(this,t,n,e.enableCcipRead?0:-1))}async getBalance(e,t){return cr(await rt(this,V2,b_).call(this,{method:"getBalance"},e,t),"%response")}async getTransactionCount(e,t){return Ir(await rt(this,V2,b_).call(this,{method:"getTransactionCount"},e,t),"%response")}async getCode(e,t){return St(await rt(this,V2,b_).call(this,{method:"getCode"},e,t))}async getStorage(e,t,n){const i=cr(t,"position");return St(await rt(this,V2,b_).call(this,{method:"getStorage",position:i},e,n))}async broadcastTransaction(e){const{blockNumber:t,hash:n,network:i}=await zs({blockNumber:this.getBlockNumber(),hash:this._perform({method:"broadcastTransaction",signedTransaction:e}),network:this.getNetwork()}),s=Xw.from(e);if(s.hash!==n)throw new Error("@TODO: the returned hash did not match");return this._wrapTransactionResponse(s,i).replaceableTransaction(t)}async getBlock(e,t){const{network:n,params:i}=await zs({network:this.getNetwork(),params:rt(this,Qx,oK).call(this,e,!!t)});return i==null?null:this._wrapBlock(i,n)}async getTransaction(e){const{network:t,params:n}=await zs({network:this.getNetwork(),params:rt(this,Ga,yl).call(this,{method:"getTransaction",hash:e})});return n==null?null:this._wrapTransactionResponse(n,t)}async getTransactionReceipt(e){const{network:t,params:n}=await zs({network:this.getNetwork(),params:rt(this,Ga,yl).call(this,{method:"getTransactionReceipt",hash:e})});if(n==null)return null;if(n.gasPrice==null&&n.effectiveGasPrice==null){const i=await rt(this,Ga,yl).call(this,{method:"getTransaction",hash:e});if(i==null)throw new Error("report this; could not find tx or effectiveGasPrice");n.effectiveGasPrice=i.gasPrice}return this._wrapTransactionReceipt(n,t)}async getTransactionResult(e){const{result:t}=await zs({network:this.getNetwork(),result:rt(this,Ga,yl).call(this,{method:"getTransactionResult",hash:e})});return t==null?null:St(t)}async getLogs(e){let t=this._getFilter(e);oA(t)&&(t=await t);const{network:n,params:i}=await zs({network:this.getNetwork(),params:rt(this,Ga,yl).call(this,{method:"getLogs",filter:t})});return i.map(s=>this._wrapLog(s,n))}_getProvider(e){Ue(!1,"provider cannot connect to target network","UNSUPPORTED_OPERATION",{operation:"_getProvider()"})}async getResolver(e){return await rv.fromName(this,e)}async getAvatar(e){const t=await this.getResolver(e);return t?await t.getAvatar():null}async resolveName(e){const t=await this.getResolver(e);return t?await t.getAddress():null}async lookupAddress(e){e=jr(e);const t=b4(e.substring(2).toLowerCase()+".addr.reverse");try{const n=await rv.getEnsAddress(this),s=await new Ad(n,["function resolver(bytes32) view returns (address)"],this).resolver(t);if(s==null||s===_g)return null;const a=await new Ad(s,["function name(bytes32) view returns (string)"],this).name(t);return await this.resolveName(a)!==e?null:a}catch(n){if(Os(n,"BAD_DATA")&&n.value==="0x"||Os(n,"CALL_EXCEPTION"))return null;throw n}return null}async waitForTransaction(e,t,n){const i=t??1;return i===0?this.getTransactionReceipt(e):new Promise(async(s,o)=>{let a=null;const l=async u=>{try{const h=await this.getTransactionReceipt(e);if(h!=null&&u-h.blockNumber+1>=i){s(h),a&&(clearTimeout(a),a=null);return}}catch(h){console.log("EEE",h)}this.once("block",l)};n!=null&&(a=setTimeout(()=>{a!=null&&(a=null,this.off("block",l),o(Hi("timeout","TIMEOUT",{reason:"timeout"})))},n)),l(await this.getBlockNumber())})}async waitForBlock(e){Ue(!1,"not implemented yet","NOT_IMPLEMENTED",{operation:"waitForBlock"})}_clearTimeout(e){const t=oe(this,bu).get(e);t&&(t.timer&&clearTimeout(t.timer),oe(this,bu).delete(e))}_setTimeout(e,t){t==null&&(t=0);const n=T5(this,Zx)._++,i=()=>{oe(this,bu).delete(n),e()};if(this.paused)oe(this,bu).set(n,{timer:null,func:i,time:t});else{const s=setTimeout(i,t);oe(this,bu).set(n,{timer:s,func:i,time:gM()})}return n}_forEachSubscriber(e){for(const t of oe(this,_a).values())e(t.subscriber)}_getSubscriber(e){switch(e.type){case"debug":case"error":case"network":return new ov(e.type);case"block":{const t=new I5e(this);return t.pollingInterval=this.pollingInterval,t}case"safe":case"finalized":return new R5e(this,e.type);case"event":return new fM(this,e.filter);case"transaction":return new k5e(this,e.hash);case"orphan":return new T5e(this,e.filter)}throw new Error(`unsupported event: ${e.type}`)}_recoverSubscriber(e,t){for(const n of oe(this,_a).values())if(n.subscriber===e){n.started&&n.subscriber.stop(),n.subscriber=t,n.started&&t.start(),oe(this,Ea)!=null&&t.pause(oe(this,Ea));break}}async on(e,t){const n=await rt(this,p5,sT).call(this,e);return n.listeners.push({listener:t,once:!1}),n.started||(n.subscriber.start(),n.started=!0,oe(this,Ea)!=null&&n.subscriber.pause(oe(this,Ea))),this}async once(e,t){const n=await rt(this,p5,sT).call(this,e);return n.listeners.push({listener:t,once:!0}),n.started||(n.subscriber.start(),n.started=!0,oe(this,Ea)!=null&&n.subscriber.pause(oe(this,Ea))),this}async emit(e,...t){const n=await rt(this,G2,w_).call(this,e,t);if(!n||n.listeners.length===0)return!1;const i=n.listeners.length;return n.listeners=n.listeners.filter(({listener:s,once:o})=>{const a=new wE(this,o?null:s,e);try{s.call(this,...t,a)}catch{}return!o}),n.listeners.length===0&&(n.started&&n.subscriber.stop(),oe(this,_a).delete(n.tag)),i>0}async listenerCount(e){if(e){const n=await rt(this,G2,w_).call(this,e);return n?n.listeners.length:0}let t=0;for(const{listeners:n}of oe(this,_a).values())t+=n.length;return t}async listeners(e){if(e){const n=await rt(this,G2,w_).call(this,e);return n?n.listeners.map(({listener:i})=>i):[]}let t=[];for(const{listeners:n}of oe(this,_a).values())t=t.concat(n.map(({listener:i})=>i));return t}async off(e,t){const n=await rt(this,G2,w_).call(this,e);if(!n)return this;if(t){const i=n.listeners.map(({listener:s})=>s).indexOf(t);i>=0&&n.listeners.splice(i,1)}return(!t||n.listeners.length===0)&&(n.started&&n.subscriber.stop(),oe(this,_a).delete(n.tag)),this}async removeAllListeners(e){if(e){const{tag:t,started:n,subscriber:i}=await rt(this,p5,sT).call(this,e);n&&i.stop(),oe(this,_a).delete(t)}else for(const[t,{started:n,subscriber:i}]of oe(this,_a))n&&i.stop(),oe(this,_a).delete(t);return this}async addListener(e,t){return await this.on(e,t)}async removeListener(e,t){return this.off(e,t)}get destroyed(){return oe(this,h5)}destroy(){this.removeAllListeners();for(const e of oe(this,bu).keys())this._clearTimeout(e);me(this,h5,!0)}get paused(){return oe(this,Ea)!=null}set paused(e){!!e!==this.paused&&(this.paused?this.resume():this.pause(!1))}pause(e){if(me(this,S0,-1),oe(this,Ea)!=null){if(oe(this,Ea)==!!e)return;Ue(!1,"cannot change pause type; resume first","UNSUPPORTED_OPERATION",{operation:"pause"})}this._forEachSubscriber(t=>t.pause(e)),me(this,Ea,!!e);for(const t of oe(this,bu).values())t.timer&&clearTimeout(t.timer),t.time=gM()-t.time}resume(){if(oe(this,Ea)!=null){this._forEachSubscriber(e=>e.resume()),me(this,Ea,null);for(const e of oe(this,bu).values()){let t=e.time;t<0&&(t=0),e.time=gM(),setTimeout(e.func,t)}}}}_a=new WeakMap,X1=new WeakMap,Ea=new WeakMap,h5=new WeakMap,sl=new WeakMap,W2=new WeakMap,eg=new WeakMap,S0=new WeakMap,Zx=new WeakMap,bu=new WeakMap,f5=new WeakMap,d5=new WeakMap,Ga=new WeakSet,yl=async function(e){const t=oe(this,d5).cacheTimeout;if(t<0)return await this._perform(e);const n=aA(e.method,e);let i=oe(this,eg).get(n);return i||(i=this._perform(e),oe(this,eg).set(n,i),setTimeout(()=>{oe(this,eg).get(n)===i&&oe(this,eg).delete(n)},t)),await i},Jx=new WeakSet,iK=async function(e,t,n){Ue(n=0&&t==="latest"&&i.to!=null&&li(s.data,0,4)==="0x556f1830"){const o=s.data,a=await Ws(i.to,this);let l;try{l=U5e(li(s.data,4))}catch(p){Ue(!1,p.message,"OFFCHAIN_FAULT",{reason:"BAD_DATA",transaction:i,info:{data:o}})}Ue(l.sender.toLowerCase()===a.toLowerCase(),"CCIP Read sender mismatch","CALL_EXCEPTION",{action:"call",data:o,reason:"OffchainLookup",transaction:i,invocation:null,revert:{signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",name:"OffchainLookup",args:l.errorArgs}});const u=await this.ccipReadFetch(i,l.calldata,l.urls);Ue(u!=null,"CCIP Read failed to fetch data","OFFCHAIN_FAULT",{reason:"FETCH_FAILED",transaction:i,info:{data:s.data,errorArgs:l.errorArgs}});const h={to:a,data:An([l.selector,L5e([u,l.extraData])])};this.emit("debug",{action:"sendCcipReadCall",transaction:h});try{const p=await rt(this,Jx,iK).call(this,h,t,n+1);return this.emit("debug",{action:"receiveCcipReadCallResult",transaction:Object.assign({},h),result:p}),p}catch(p){throw this.emit("debug",{action:"receiveCcipReadCallError",transaction:Object.assign({},h),error:p}),p}}throw s}},Yx=new WeakSet,sK=async function(e){const{value:t}=await zs({network:this.getNetwork(),value:e});return t},V2=new WeakSet,b_=async function(e,t,n){let i=this._getAddress(t),s=this._getBlockTag(n);return(typeof i!="string"||typeof s!="string")&&([i,s]=await Promise.all([i,s])),await rt(this,Yx,sK).call(this,rt(this,Ga,yl).call(this,Object.assign(e,{address:i,blockTag:s})))},Qx=new WeakSet,oK=async function(e,t){if(ci(e,32))return await rt(this,Ga,yl).call(this,{method:"getBlock",blockHash:e,includeTransactions:t});let n=this._getBlockTag(e);return typeof n!="string"&&(n=await n),await rt(this,Ga,yl).call(this,{method:"getBlock",blockTag:n,includeTransactions:t})},G2=new WeakSet,w_=async function(e,t){let n=await pM(e,this);return n.type==="event"&&t&&t.length>0&&t[0].removed===!0&&(n=await pM({orphan:"drop-log",log:t[0]},this)),oe(this,_a).get(n.tag)||null},p5=new WeakSet,sT=async function(e){const t=await pM(e,this),n=t.tag;let i=oe(this,_a).get(n);return i||(i={subscriber:this._getSubscriber(t),tag:n,addressableMap:new WeakMap,nameMap:new Map,started:!1,listeners:[]},oe(this,_a).set(n,i)),i};function D5e(r,e){try{const t=mM(r,e);if(t)return hd(t)}catch{}return null}function mM(r,e){if(r==="0x")return null;try{const t=Ir(li(r,e,e+32)),n=Ir(li(r,t,t+32));return li(r,t+32,t+32+n)}catch{}return null}function fX(r){const e=qs(r);if(e.length>32)throw new Error("internal; should not happen");const t=new Uint8Array(32);return t.set(e,32-e.length),t}function $5e(r){if(r.length%32===0)return r;const e=new Uint8Array(Math.ceil(r.length/32)*32);return e.set(r),e}const B5e=new Uint8Array([]);function L5e(r){const e=[];let t=0;for(let n=0;n=5*32,"insufficient OffchainLookup data","OFFCHAIN_FAULT",{reason:"insufficient OffchainLookup data"});const t=li(r,0,32);Ue(li(t,0,12)===li(dX,0,12),"corrupt OffchainLookup sender","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup sender"}),e.sender=li(t,12);try{const n=[],i=Ir(li(r,32,64)),s=Ir(li(r,i,i+32)),o=li(r,i+32);for(let a=0;ae[n]),e}function cv(r,e){if(r.provider)return r.provider;Ue(!1,"missing provider","UNSUPPORTED_OPERATION",{operation:e})}async function pX(r,e){let t=tv(e);if(t.to!=null&&(t.to=Ws(t.to,r)),t.from!=null){const n=t.from;t.from=Promise.all([r.getAddress(),Ws(n,r)]).then(([i,s])=>(xe(i.toLowerCase()===s.toLowerCase(),"transaction from mismatch","tx.from",s),i))}else t.from=r.getAddress();return await zs(t)}class lv{constructor(e){Ee(this,"provider");er(this,{provider:e||null})}async getNonce(e){return cv(this,"getTransactionCount").getTransactionCount(await this.getAddress(),e)}async populateCall(e){return await pX(this,e)}async populateTransaction(e){const t=cv(this,"populateTransaction"),n=await pX(this,e);n.nonce==null&&(n.nonce=await this.getNonce("pending")),n.gasLimit==null&&(n.gasLimit=await this.estimateGas(n));const i=await this.provider.getNetwork();if(n.chainId!=null){const o=cr(n.chainId);xe(o===i.chainId,"transaction chainId mismatch","tx.chainId",e.chainId)}else n.chainId=i.chainId;const s=n.maxFeePerGas!=null||n.maxPriorityFeePerGas!=null;if(n.gasPrice!=null&&(n.type===2||s)?xe(!1,"eip-1559 transaction do not support gasPrice","tx",e):(n.type===0||n.type===1)&&s&&xe(!1,"pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","tx",e),(n.type===2||n.type==null)&&n.maxFeePerGas!=null&&n.maxPriorityFeePerGas!=null)n.type=2;else if(n.type===0||n.type===1){const o=await t.getFeeData();Ue(o.gasPrice!=null,"network does not support gasPrice","UNSUPPORTED_OPERATION",{operation:"getGasPrice"}),n.gasPrice==null&&(n.gasPrice=o.gasPrice)}else{const o=await t.getFeeData();if(n.type==null)if(o.maxFeePerGas!=null&&o.maxPriorityFeePerGas!=null)if(n.type=2,n.gasPrice!=null){const a=n.gasPrice;delete n.gasPrice,n.maxFeePerGas=a,n.maxPriorityFeePerGas=a}else n.maxFeePerGas==null&&(n.maxFeePerGas=o.maxFeePerGas),n.maxPriorityFeePerGas==null&&(n.maxPriorityFeePerGas=o.maxPriorityFeePerGas);else o.gasPrice!=null?(Ue(!s,"network does not support EIP-1559","UNSUPPORTED_OPERATION",{operation:"populateTransaction"}),n.gasPrice==null&&(n.gasPrice=o.gasPrice),n.type=0):Ue(!1,"failed to get consistent fee data","UNSUPPORTED_OPERATION",{operation:"signer.getFeeData"});else n.type===2&&(n.maxFeePerGas==null&&(n.maxFeePerGas=o.maxFeePerGas),n.maxPriorityFeePerGas==null&&(n.maxPriorityFeePerGas=o.maxPriorityFeePerGas))}return await zs(n)}async estimateGas(e){return cv(this,"estimateGas").estimateGas(await this.populateCall(e))}async call(e){return cv(this,"call").call(await this.populateCall(e))}async resolveName(e){return await cv(this,"resolveName").resolveName(e)}async sendTransaction(e){const t=cv(this,"sendTransaction"),n=await this.populateTransaction(e);delete n.from;const i=Xw.from(n);return await t.broadcastTransaction(await this.signTransaction(i))}}const bj=class bj extends lv{constructor(t,n){super(n);Ne(this,g5);Ee(this,"address");er(this,{address:t})}async getAddress(){return this.address}connect(t){return new bj(this.address,t)}async signTransaction(t){rt(this,g5,oT).call(this,"transactions","signTransaction")}async signMessage(t){rt(this,g5,oT).call(this,"messages","signMessage")}async signTypedData(t,n,i){rt(this,g5,oT).call(this,"typed-data","signTypedData")}};g5=new WeakSet,oT=function(t,n){Ue(!1,`VoidSigner cannot sign ${t}`,"UNSUPPORTED_OPERATION",{operation:n})};let I4=bj;const gX=new Set;function $p(r){gX.has(r)||(gX.add(r),console.log("========= NOTICE ========="),console.log(`Request-Rate Exceeded for ${r} (this message will not be repeated)`),console.log(""),console.log("The default API keys for each service are provided as a highly-throttled,"),console.log("community resource for low-traffic projects and early prototyping."),console.log(""),console.log("While your application will continue to function, we highly recommended"),console.log("signing up for your own API keys to improve performance, increase your"),console.log("request rate/limit and enable other perks, such as metrics and advanced APIs."),console.log(""),console.log("For more details: https://docs.ethers.org/api-keys/"),console.log("=========================="))}function F5e(r){return JSON.parse(JSON.stringify(r))}class mX{constructor(e){Ne(this,Xx);Ne(this,e7);Ne(this,Cc,void 0);Ne(this,Gf,void 0);Ne(this,K2,void 0);Ne(this,tg,void 0);Ne(this,Z2,void 0);Ne(this,m5,void 0);me(this,Cc,e),me(this,Gf,null),me(this,K2,rt(this,Xx,aK).bind(this)),me(this,tg,!1),me(this,Z2,null),me(this,m5,!1)}_subscribe(e){throw new Error("subclasses must override this")}_emitResults(e,t){throw new Error("subclasses must override this")}_recover(e){throw new Error("subclasses must override this")}start(){oe(this,tg)||(me(this,tg,!0),rt(this,Xx,aK).call(this,-2))}stop(){oe(this,tg)&&(me(this,tg,!1),me(this,m5,!0),rt(this,e7,cK).call(this),oe(this,Cc).off("block",oe(this,K2)))}pause(e){e&&rt(this,e7,cK).call(this),oe(this,Cc).off("block",oe(this,K2))}resume(){this.start()}}Cc=new WeakMap,Gf=new WeakMap,K2=new WeakMap,tg=new WeakMap,Z2=new WeakMap,m5=new WeakMap,Xx=new WeakSet,aK=async function(e){try{oe(this,Gf)==null&&me(this,Gf,this._subscribe(oe(this,Cc)));let t=null;try{t=await oe(this,Gf)}catch(s){if(!Os(s,"UNSUPPORTED_OPERATION")||s.operation!=="eth_newFilter")throw s}if(t==null){me(this,Gf,null),oe(this,Cc)._recoverSubscriber(this,this._recover(oe(this,Cc)));return}const n=await oe(this,Cc).getNetwork();if(oe(this,Z2)||me(this,Z2,n),oe(this,Z2).chainId!==n.chainId)throw new Error("chaid changed");if(oe(this,m5))return;const i=await oe(this,Cc).send("eth_getFilterChanges",[t]);await this._emitResults(oe(this,Cc),i)}catch(t){console.log("@TODO",t)}oe(this,Cc).once("block",oe(this,K2))},e7=new WeakSet,cK=function(){const e=oe(this,Gf);e&&(me(this,Gf,null),e.then(t=>{oe(this,Cc).send("eth_uninstallFilter",[t])}))};class j5e extends mX{constructor(t,n){super(t);Ne(this,J2,void 0);me(this,J2,F5e(n))}_recover(t){return new fM(t,oe(this,J2))}async _subscribe(t){return await t.send("eth_newFilter",[oe(this,J2)])}async _emitResults(t,n){for(const i of n)t.emit(oe(this,J2),t._wrapLog(i,t._network))}}J2=new WeakMap;class z5e extends mX{async _subscribe(e){return await e.send("eth_newPendingTransactionFilter",[])}async _emitResults(e,t){for(const n of t)e.emit("pending",n)}}const H5e="bigint,boolean,function,number,string,symbol".split(/,/g);function cA(r){if(r==null||H5e.indexOf(typeof r)>=0||typeof r.getAddress=="function")return r;if(Array.isArray(r))return r.map(cA);if(typeof r=="object")return Object.keys(r).reduce((e,t)=>(e[t]=r[t],e),{});throw new Error(`should not happen: ${r} (${typeof r})`)}function q5e(r){return new Promise(e=>{setTimeout(e,r)})}function uv(r){return r&&r.toLowerCase()}function bX(r){return r&&typeof r.pollingInterval=="number"}const W5e={polling:!1,staticNetwork:null,batchStallTime:10,batchMaxSize:1<<20,batchMaxCount:100,cacheTimeout:250,pollingInterval:4e3};class Pg extends lv{constructor(t,n){super(t);Ee(this,"address");n=jr(n),er(this,{address:n})}connect(t){Ue(!1,"cannot reconnect JsonRpcSigner","UNSUPPORTED_OPERATION",{operation:"signer.connect"})}async getAddress(){return this.address}async populateTransaction(t){return await this.populateCall(t)}async sendUncheckedTransaction(t){const n=cA(t),i=[];if(n.from){const o=n.from;i.push((async()=>{const a=await Ws(o,this.provider);xe(a!=null&&a.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",t),n.from=a})())}else n.from=this.address;if(n.gasLimit==null&&i.push((async()=>{n.gasLimit=await this.provider.estimateGas({...n,from:this.address})})()),n.to!=null){const o=n.to;i.push((async()=>{n.to=await Ws(o,this.provider)})())}i.length&&await Promise.all(i);const s=this.provider.getRpcTransaction(n);return this.provider.send("eth_sendTransaction",[s])}async sendTransaction(t){const n=await this.provider.getBlockNumber(),i=await this.sendUncheckedTransaction(t);return await new Promise((s,o)=>{const a=[1e3,100];let l=0;const u=async()=>{try{const h=await this.provider.getTransaction(i);if(h!=null){s(h.replaceableTransaction(n));return}}catch(h){if(Os(h,"CANCELLED")||Os(h,"BAD_DATA")||Os(h,"NETWORK_ERROR")){h.info==null&&(h.info={}),h.info.sendTransactionHash=i,o(h);return}if(Os(h,"INVALID_ARGUMENT")&&(l++,h.info==null&&(h.info={}),h.info.sendTransactionHash=i,l>10)){o(h);return}this.provider.emit("error",Hi("failed to fetch transation after sending (will try again)","UNKNOWN_ERROR",{error:h}))}this.provider._setTimeout(()=>{u()},a.pop()||4e3)};u()})}async signTransaction(t){const n=cA(t);if(n.from){const s=await Ws(n.from,this.provider);xe(s!=null&&s.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",t),n.from=s}else n.from=this.address;const i=this.provider.getRpcTransaction(n);return await this.provider.send("eth_signTransaction",[i])}async signMessage(t){const n=typeof t=="string"?Ds(t):t;return await this.provider.send("personal_sign",[St(n),this.address.toLowerCase()])}async signTypedData(t,n,i){const s=cA(i),o=await vd.resolveNames(t,n,s,async a=>{const l=await Ws(a);return xe(l!=null,"TypedData does not support null address","value",a),l});return await this.provider.send("eth_signTypedData_v4",[this.address.toLowerCase(),JSON.stringify(vd.getPayload(o.domain,n,o.value))])}async unlock(t){return this.provider.send("personal_unlockAccount",[this.address.toLowerCase(),t,null])}async _legacySignMessage(t){const n=typeof t=="string"?Ds(t):t;return await this.provider.send("eth_sign",[this.address.toLowerCase(),St(n)])}}class lA extends av{constructor(t,n){super(t,n);Ne(this,t7);Ne(this,Y2,void 0);Ne(this,b5,void 0);Ne(this,I0,void 0);Ne(this,Kf,void 0);Ne(this,ph,void 0);Ne(this,wu,void 0);Ne(this,Sc,void 0);me(this,b5,1),me(this,Y2,Object.assign({},W5e,n||{})),me(this,I0,[]),me(this,Kf,null),me(this,wu,null),me(this,Sc,null);{let s=null;const o=new Promise(a=>{s=a});me(this,ph,{promise:o,resolve:s})}const i=this._getOption("staticNetwork");typeof i=="boolean"?(xe(!i||t!=="any","staticNetwork cannot be used on special network 'any'","options",n),i&&t!=null&&me(this,wu,ms.from(t))):i&&(xe(t==null||i.matches(t),"staticNetwork MUST match network object","options",n),me(this,wu,i))}_getOption(t){return oe(this,Y2)[t]}get _network(){return Ue(oe(this,wu),"network is not available yet","NETWORK_ERROR"),oe(this,wu)}async _perform(t){if(t.method==="call"||t.method==="estimateGas"){let i=t.transaction;if(i&&i.type!=null&&cr(i.type)&&i.maxFeePerGas==null&&i.maxPriorityFeePerGas==null){const s=await this.getFeeData();s.maxFeePerGas==null&&s.maxPriorityFeePerGas==null&&(t=Object.assign({},t,{transaction:Object.assign({},i,{type:void 0})}))}}const n=this.getRpcRequest(t);return n!=null?await this.send(n.method,n.args):super._perform(t)}async _detectNetwork(){const t=this._getOption("staticNetwork");if(t)if(t===!0){if(oe(this,wu))return oe(this,wu)}else return t;return oe(this,Sc)?await oe(this,Sc):this.ready?(me(this,Sc,(async()=>{try{const n=ms.from(cr(await this.send("eth_chainId",[])));return me(this,Sc,null),n}catch(n){throw me(this,Sc,null),n}})()),await oe(this,Sc)):(me(this,Sc,(async()=>{const n={id:T5(this,b5)._++,method:"eth_chainId",params:[],jsonrpc:"2.0"};this.emit("debug",{action:"sendRpcPayload",payload:n});let i;try{i=(await this._send(n))[0],me(this,Sc,null)}catch(s){throw me(this,Sc,null),this.emit("debug",{action:"receiveRpcError",error:s}),s}if(this.emit("debug",{action:"receiveRpcResult",result:i}),"result"in i)return ms.from(cr(i.result));throw this.getRpcError(n,i)})()),await oe(this,Sc))}_start(){oe(this,ph)==null||oe(this,ph).resolve==null||(oe(this,ph).resolve(),me(this,ph,null),(async()=>{for(;oe(this,wu)==null&&!this.destroyed;)try{me(this,wu,await this._detectNetwork())}catch(t){if(this.destroyed)break;console.log("JsonRpcProvider failed to detect network and cannot start up; retry in 1s (perhaps the URL is wrong or the node is not started)"),this.emit("error",Hi("failed to bootstrap network detection","NETWORK_ERROR",{event:"initial-network-discovery",info:{error:t}})),await q5e(1e3)}rt(this,t7,lK).call(this)})())}async _waitUntilReady(){if(oe(this,ph)!=null)return await oe(this,ph).promise}_getSubscriber(t){return t.type==="pending"?new z5e(this):t.type==="event"?this._getOption("polling")?new fM(this,t.filter):new j5e(this,t.filter):t.type==="orphan"&&t.filter.orphan==="drop-log"?new ov("orphan"):super._getSubscriber(t)}get ready(){return oe(this,ph)==null}getRpcTransaction(t){const n={};return["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach(i=>{if(t[i]==null)return;let s=i;i==="gasLimit"&&(s="gas"),n[s]=ud(cr(t[i],`tx.${i}`))}),["from","to","data"].forEach(i=>{t[i]!=null&&(n[i]=St(t[i]))}),t.accessList&&(n.accessList=zh(t.accessList)),n}getRpcRequest(t){switch(t.method){case"chainId":return{method:"eth_chainId",args:[]};case"getBlockNumber":return{method:"eth_blockNumber",args:[]};case"getGasPrice":return{method:"eth_gasPrice",args:[]};case"getPriorityFee":return{method:"eth_maxPriorityFeePerGas",args:[]};case"getBalance":return{method:"eth_getBalance",args:[uv(t.address),t.blockTag]};case"getTransactionCount":return{method:"eth_getTransactionCount",args:[uv(t.address),t.blockTag]};case"getCode":return{method:"eth_getCode",args:[uv(t.address),t.blockTag]};case"getStorage":return{method:"eth_getStorageAt",args:[uv(t.address),"0x"+t.position.toString(16),t.blockTag]};case"broadcastTransaction":return{method:"eth_sendRawTransaction",args:[t.signedTransaction]};case"getBlock":if("blockTag"in t)return{method:"eth_getBlockByNumber",args:[t.blockTag,!!t.includeTransactions]};if("blockHash"in t)return{method:"eth_getBlockByHash",args:[t.blockHash,!!t.includeTransactions]};break;case"getTransaction":return{method:"eth_getTransactionByHash",args:[t.hash]};case"getTransactionReceipt":return{method:"eth_getTransactionReceipt",args:[t.hash]};case"call":return{method:"eth_call",args:[this.getRpcTransaction(t.transaction),t.blockTag]};case"estimateGas":return{method:"eth_estimateGas",args:[this.getRpcTransaction(t.transaction)]};case"getLogs":return t.filter&&t.filter.address!=null&&(Array.isArray(t.filter.address)?t.filter.address=t.filter.address.map(uv):t.filter.address=uv(t.filter.address)),{method:"eth_getLogs",args:[t.filter]}}return null}getRpcError(t,n){const{method:i}=t,{error:s}=n;if(i==="eth_estimateGas"&&s.message){const l=s.message;if(!l.match(/revert/i)&&l.match(/insufficient funds/i))return Hi("insufficient funds","INSUFFICIENT_FUNDS",{transaction:t.params[0],info:{payload:t,error:s}})}if(i==="eth_call"||i==="eth_estimateGas"){const l=bM(s),u=Dp.getBuiltinCallException(i==="eth_call"?"call":"estimateGas",t.params[0],l?l.data:null);return u.info={error:s,payload:t},u}const o=JSON.stringify(V5e(s));if(typeof s.message=="string"&&s.message.match(/user denied|ethers-user-denied/i))return Hi("user rejected action","ACTION_REJECTED",{action:{eth_sign:"signMessage",personal_sign:"signMessage",eth_signTypedData_v4:"signTypedData",eth_signTransaction:"signTransaction",eth_sendTransaction:"sendTransaction",eth_requestAccounts:"requestAccess",wallet_requestAccounts:"requestAccess"}[i]||"unknown",reason:"rejected",info:{payload:t,error:s}});if(i==="eth_sendRawTransaction"||i==="eth_sendTransaction"){const l=t.params[0];if(o.match(/insufficient funds|base fee exceeds gas limit/i))return Hi("insufficient funds for intrinsic transaction cost","INSUFFICIENT_FUNDS",{transaction:l,info:{error:s}});if(o.match(/nonce/i)&&o.match(/too low/i))return Hi("nonce has already been used","NONCE_EXPIRED",{transaction:l,info:{error:s}});if(o.match(/replacement transaction/i)&&o.match(/underpriced/i))return Hi("replacement fee too low","REPLACEMENT_UNDERPRICED",{transaction:l,info:{error:s}});if(o.match(/only replay-protected/i))return Hi("legacy pre-eip-155 transactions not supported","UNSUPPORTED_OPERATION",{operation:i,info:{transaction:l,info:{error:s}}})}let a=!!o.match(/the method .* does not exist/i);return a||s&&s.details&&s.details.startsWith("Unauthorized method:")&&(a=!0),a?Hi("unsupported operation","UNSUPPORTED_OPERATION",{operation:t.method,info:{error:s,payload:t}}):Hi("could not coalesce error","UNKNOWN_ERROR",{error:s,payload:t})}send(t,n){if(this.destroyed)return Promise.reject(Hi("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:t}));const i=T5(this,b5)._++,s=new Promise((o,a)=>{oe(this,I0).push({resolve:o,reject:a,payload:{method:t,params:n,id:i,jsonrpc:"2.0"}})});return rt(this,t7,lK).call(this),s}async getSigner(t){t==null&&(t=0);const n=this.send("eth_accounts",[]);if(typeof t=="number"){const s=await n;if(t>=s.length)throw new Error("no such account");return new Pg(this,s[t])}const{accounts:i}=await zs({network:this.getNetwork(),accounts:n});t=jr(t);for(const s of i)if(jr(s)===t)return new Pg(this,t);throw new Error("invalid account")}async listAccounts(){return(await this.send("eth_accounts",[])).map(n=>new Pg(this,n))}destroy(){oe(this,Kf)&&(clearTimeout(oe(this,Kf)),me(this,Kf,null));for(const{payload:t,reject:n}of oe(this,I0))n(Hi("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:t.method}));me(this,I0,[]),super.destroy()}}Y2=new WeakMap,b5=new WeakMap,I0=new WeakMap,Kf=new WeakMap,ph=new WeakMap,wu=new WeakMap,Sc=new WeakMap,t7=new WeakSet,lK=function(){if(oe(this,Kf))return;const t=this._getOption("batchMaxCount")===1?0:this._getOption("batchStallTime");me(this,Kf,setTimeout(()=>{me(this,Kf,null);const n=oe(this,I0);for(me(this,I0,[]);n.length;){const i=[n.shift()];for(;n.length&&i.length!==oe(this,Y2).batchMaxCount;)if(i.push(n.shift()),JSON.stringify(i.map(o=>o.payload)).length>oe(this,Y2).batchMaxSize){n.unshift(i.pop());break}(async()=>{const s=i.length===1?i[0].payload:i.map(o=>o.payload);this.emit("debug",{action:"sendRpcPayload",payload:s});try{const o=await this._send(s);this.emit("debug",{action:"receiveRpcResult",result:o});for(const{resolve:a,reject:l,payload:u}of i){if(this.destroyed){l(Hi("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:u.method}));continue}const h=o.filter(p=>p.id===u.id)[0];if(h==null){const p=Hi("missing response for request","BAD_DATA",{value:o,info:{payload:u}});this.emit("error",p),l(p);continue}if("error"in h){l(this.getRpcError(u,h));continue}a(h.result)}}catch(o){this.emit("debug",{action:"receiveRpcError",error:o});for(const{reject:a}of i)a(o)}})()}},t))};class wX extends lA{constructor(t,n){super(t,n);Ne(this,rg,void 0);me(this,rg,4e3)}_getSubscriber(t){const n=super._getSubscriber(t);return bX(n)&&(n.pollingInterval=oe(this,rg)),n}get pollingInterval(){return oe(this,rg)}set pollingInterval(t){if(!Number.isInteger(t)||t<0)throw new Error("invalid interval");me(this,rg,t),this._forEachSubscriber(n=>{bX(n)&&(n.pollingInterval=oe(this,rg))})}}rg=new WeakMap;let Ol=(nge=class extends wX{constructor(t,n,i){t==null&&(t="http://localhost:8545");super(n,i);Ne(this,w5,void 0);typeof t=="string"?me(this,w5,new Oo(t)):me(this,w5,t.clone())}_getConnection(){return oe(this,w5).clone()}async send(t,n){return await this._start(),await super.send(t,n)}async _send(t){const n=this._getConnection();n.body=JSON.stringify(t),n.setHeader("content-type","application/json");const i=await n.send();i.assertOk();let s=i.bodyJson;return Array.isArray(s)||(s=[s]),s}},w5=new WeakMap,nge);function bM(r){if(r==null)return null;if(typeof r.message=="string"&&r.message.match(/revert/i)&&ci(r.data))return{message:r.message,data:r.data};if(typeof r=="object"){for(const e in r){const t=bM(r[e]);if(t)return t}return null}if(typeof r=="string")try{return bM(JSON.parse(r))}catch{}return null}function wM(r,e){if(r!=null){if(typeof r.message=="string"&&e.push(r.message),typeof r=="object")for(const t in r)wM(r[t],e);if(typeof r=="string")try{return wM(JSON.parse(r),e)}catch{}}}function V5e(r){const e=[];return wM(r,e),e}const uA="9f7d929b018cdffb338517efa06f58359e86ff1ffd350bc889738523659e7972";function G5e(r){switch(r){case"mainnet":return"rpc.ankr.com/eth";case"goerli":return"rpc.ankr.com/eth_goerli";case"sepolia":return"rpc.ankr.com/eth_sepolia";case"arbitrum":return"rpc.ankr.com/arbitrum";case"base":return"rpc.ankr.com/base";case"base-goerli":return"rpc.ankr.com/base_goerli";case"base-sepolia":return"rpc.ankr.com/base_sepolia";case"bnb":return"rpc.ankr.com/bsc";case"bnbt":return"rpc.ankr.com/bsc_testnet_chapel";case"matic":return"rpc.ankr.com/polygon";case"matic-mumbai":return"rpc.ankr.com/polygon_mumbai";case"optimism":return"rpc.ankr.com/optimism";case"optimism-goerli":return"rpc.ankr.com/optimism_testnet";case"optimism-sepolia":return"rpc.ankr.com/optimism_sepolia"}xe(!1,"unsupported network","network",r)}class hv extends Ol{constructor(t,n){t==null&&(t="mainnet");const i=ms.from(t);n==null&&(n=uA);const s={polling:!0,staticNetwork:i},o=hv.getRequest(i,n);super(o,i,s);Ee(this,"apiKey");er(this,{apiKey:n})}_getProvider(t){try{return new hv(t,this.apiKey)}catch{}return super._getProvider(t)}static getRequest(t,n){n==null&&(n=uA);const i=new Oo(`https://${G5e(t.name)}/${n}`);return i.allowGzip=!0,n===uA&&(i.retryFunc=async(s,o,a)=>($p("AnkrProvider"),!0)),i}getRpcError(t,n){return t.method==="eth_sendRawTransaction"&&n&&n.error&&n.error.message==="INTERNAL_ERROR: could not replace existing tx"&&(n.error.message="replacement transaction underpriced"),super.getRpcError(t,n)}isCommunityResource(){return this.apiKey===uA}}const hA="_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC";function K5e(r){switch(r){case"mainnet":return"eth-mainnet.alchemyapi.io";case"goerli":return"eth-goerli.g.alchemy.com";case"sepolia":return"eth-sepolia.g.alchemy.com";case"arbitrum":return"arb-mainnet.g.alchemy.com";case"arbitrum-goerli":return"arb-goerli.g.alchemy.com";case"arbitrum-sepolia":return"arb-sepolia.g.alchemy.com";case"base":return"base-mainnet.g.alchemy.com";case"base-goerli":return"base-goerli.g.alchemy.com";case"base-sepolia":return"base-sepolia.g.alchemy.com";case"matic":return"polygon-mainnet.g.alchemy.com";case"matic-mumbai":return"polygon-mumbai.g.alchemy.com";case"optimism":return"opt-mainnet.g.alchemy.com";case"optimism-goerli":return"opt-goerli.g.alchemy.com";case"optimism-sepolia":return"opt-sepolia.g.alchemy.com"}xe(!1,"unsupported network","network",r)}class fv extends Ol{constructor(t,n){t==null&&(t="mainnet");const i=ms.from(t);n==null&&(n=hA);const s=fv.getRequest(i,n);super(s,i,{staticNetwork:i});Ee(this,"apiKey");er(this,{apiKey:n})}_getProvider(t){try{return new fv(t,this.apiKey)}catch{}return super._getProvider(t)}async _perform(t){if(t.method==="getTransactionResult"){const{trace:n,tx:i}=await zs({trace:this.send("trace_transaction",[t.hash]),tx:this.getTransaction(t.hash)});if(n==null||i==null)return null;let s,o=!1;try{s=n[0].result.output,o=n[0].error==="Reverted"}catch{}if(s)return Ue(!o,"an error occurred during transaction executions","CALL_EXCEPTION",{action:"getTransactionResult",data:s,reason:null,transaction:i,invocation:null,revert:null}),s;Ue(!1,"could not parse trace result","BAD_DATA",{value:n})}return await super._perform(t)}isCommunityResource(){return this.apiKey===hA}static getRequest(t,n){n==null&&(n=hA);const i=new Oo(`https://${K5e(t.name)}/v2/${n}`);return i.allowGzip=!0,n===hA&&(i.retryFunc=async(s,o,a)=>($p("alchemy"),!0)),i}}class vM extends Ol{constructor(e){e==null&&(e="mainnet");const t=ms.from(e);xe(t.name==="mainnet","unsupported network","network",e),super("https://cloudflare-eth.com/",t,{staticNetwork:t})}}const vX=2e3;function Z5e(r){return r&&typeof r.then=="function"}const yX="org.ethers.plugins.provider.Etherscan";class fA extends Cd{constructor(t){super(yX);Ee(this,"baseUrl");er(this,{baseUrl:t})}clone(){return new fA(this.baseUrl)}}const J5e=["enableCcipRead"];let Y5e=1;class yM extends av{constructor(t,n){const i=n??null;super();Ee(this,"network");Ee(this,"apiKey");Ne(this,v5,void 0);const s=ms.from(t);me(this,v5,s.getPlugin(yX)),er(this,{apiKey:i,network:s}),this.getBaseUrl()}getBaseUrl(){if(oe(this,v5))return oe(this,v5).baseUrl;switch(this.network.name){case"mainnet":return"https://api.etherscan.io";case"goerli":return"https://api-goerli.etherscan.io";case"sepolia":return"https://api-sepolia.etherscan.io";case"holesky":return"https://api-holesky.etherscan.io";case"arbitrum":return"https://api.arbiscan.io";case"arbitrum-goerli":return"https://api-goerli.arbiscan.io";case"bnb":return"https://api.bscscan.com";case"bnbt":return"https://api-testnet.bscscan.com";case"matic":return"https://api.polygonscan.com";case"matic-mumbai":return"https://api-testnet.polygonscan.com";case"optimism":return"https://api-optimistic.etherscan.io";case"optimism-goerli":return"https://api-goerli-optimistic.etherscan.io"}xe(!1,"unsupported network","network",this.network)}getUrl(t,n){const i=Object.keys(n).reduce((o,a)=>{const l=n[a];return l!=null&&(o+=`&${a}=${l}`),o},""),s=this.apiKey?`&apikey=${this.apiKey}`:"";return`${this.getBaseUrl()}/api?module=${t}${i}${s}`}getPostUrl(){return`${this.getBaseUrl()}/api`}getPostData(t,n){return n.module=t,n.apikey=this.apiKey,n}async detectNetwork(){return this.network}async fetch(t,n,i){const s=Y5e++,o=i?this.getPostUrl():this.getUrl(t,n),a=i?this.getPostData(t,n):null;this.emit("debug",{action:"sendRequest",id:s,url:o,payload:a});const l=new Oo(o);l.setThrottleParams({slotInterval:1e3}),l.retryFunc=(p,g,w)=>(this.isCommunityResource()&&$p("Etherscan"),Promise.resolve(!0)),l.processFunc=async(p,g)=>{const w=g.hasBody()?JSON.parse(hd(g.body)):{},y=(typeof w.result=="string"?w.result:"").toLowerCase().indexOf("rate limit")>=0;return t==="proxy"?w&&w.status==0&&w.message=="NOTOK"&&y&&(this.emit("debug",{action:"receiveError",id:s,reason:"proxy-NOTOK",error:w}),g.throwThrottleError(w.result,vX)):y&&(this.emit("debug",{action:"receiveError",id:s,reason:"null result",error:w.result}),g.throwThrottleError(w.result,vX)),g},a&&(l.setHeader("content-type","application/x-www-form-urlencoded; charset=UTF-8"),l.body=Object.keys(a).map(p=>`${p}=${a[p]}`).join("&"));const u=await l.send();try{u.assertOk()}catch(p){this.emit("debug",{action:"receiveError",id:s,error:p,reason:"assertOk"}),Ue(!1,"response error","SERVER_ERROR",{request:l,response:u})}u.hasBody()||(this.emit("debug",{action:"receiveError",id:s,error:"missing body",reason:"null body"}),Ue(!1,"missing response","SERVER_ERROR",{request:l,response:u}));const h=JSON.parse(hd(u.body));return t==="proxy"?(h.jsonrpc!="2.0"&&(this.emit("debug",{action:"receiveError",id:s,result:h,reason:"invalid JSON-RPC"}),Ue(!1,"invalid JSON-RPC response (missing jsonrpc='2.0')","SERVER_ERROR",{request:l,response:u,info:{result:h}})),h.error&&(this.emit("debug",{action:"receiveError",id:s,result:h,reason:"JSON-RPC error"}),Ue(!1,"error response","SERVER_ERROR",{request:l,response:u,info:{result:h}})),this.emit("debug",{action:"receiveRequest",id:s,result:h}),h.result):h.status==0&&(h.message==="No records found"||h.message==="No transactions found")?(this.emit("debug",{action:"receiveRequest",id:s,result:h}),h.result):((h.status!=1||typeof h.message=="string"&&!h.message.match(/^OK/))&&(this.emit("debug",{action:"receiveError",id:s,result:h}),Ue(!1,"error response","SERVER_ERROR",{request:l,response:u,info:{result:h}})),this.emit("debug",{action:"receiveRequest",id:s,result:h}),h.result)}_getTransactionPostData(t){const n={};for(let i in t){if(J5e.indexOf(i)>=0||t[i]==null)continue;let s=t[i];i==="type"&&s===0||i==="blockTag"&&s==="latest"||({type:!0,gasLimit:!0,gasPrice:!0,maxFeePerGs:!0,maxPriorityFeePerGas:!0,nonce:!0,value:!0}[i]?s=ud(s):i==="accessList"?s="["+zh(s).map(o=>`{address:"${o.address}",storageKeys:["${o.storageKeys.join('","')}"]}`).join(",")+"]":s=St(s),n[i]=s)}return n}_checkError(t,n,i){let s="";if(Os(n,"SERVER_ERROR")){try{s=n.info.result.error.message}catch{}if(!s)try{s=n.info.message}catch{}}if(t.method==="estimateGas"&&!s.match(/revert/i)&&s.match(/insufficient funds/i)&&Ue(!1,"insufficient funds","INSUFFICIENT_FUNDS",{transaction:t.transaction}),(t.method==="call"||t.method==="estimateGas")&&s.match(/execution reverted/i)){let o="";try{o=n.info.result.error.data}catch{}const a=Dp.getBuiltinCallException(t.method,t.transaction,o);throw a.info={request:t,error:n},a}if(s&&t.method==="broadcastTransaction"){const o=Xw.from(t.signedTransaction);s.match(/replacement/i)&&s.match(/underpriced/i)&&Ue(!1,"replacement fee too low","REPLACEMENT_UNDERPRICED",{transaction:o}),s.match(/insufficient funds/)&&Ue(!1,"insufficient funds for intrinsic transaction cost","INSUFFICIENT_FUNDS",{transaction:o}),s.match(/same hash was already imported|transaction nonce is too low|nonce too low/)&&Ue(!1,"nonce has already been used","NONCE_EXPIRED",{transaction:o})}throw n}async _detectNetwork(){return this.network}async _perform(t){switch(t.method){case"chainId":return this.network.chainId;case"getBlockNumber":return this.fetch("proxy",{action:"eth_blockNumber"});case"getGasPrice":return this.fetch("proxy",{action:"eth_gasPrice"});case"getPriorityFee":if(this.network.name==="mainnet")return"1000000000";if(this.network.name==="optimism")return"1000000";throw new Error("fallback onto the AbstractProvider default");case"getBalance":return this.fetch("account",{action:"balance",address:t.address,tag:t.blockTag});case"getTransactionCount":return this.fetch("proxy",{action:"eth_getTransactionCount",address:t.address,tag:t.blockTag});case"getCode":return this.fetch("proxy",{action:"eth_getCode",address:t.address,tag:t.blockTag});case"getStorage":return this.fetch("proxy",{action:"eth_getStorageAt",address:t.address,position:t.position,tag:t.blockTag});case"broadcastTransaction":return this.fetch("proxy",{action:"eth_sendRawTransaction",hex:t.signedTransaction},!0).catch(n=>this._checkError(t,n,t.signedTransaction));case"getBlock":if("blockTag"in t)return this.fetch("proxy",{action:"eth_getBlockByNumber",tag:t.blockTag,boolean:t.includeTransactions?"true":"false"});Ue(!1,"getBlock by blockHash not supported by Etherscan","UNSUPPORTED_OPERATION",{operation:"getBlock(blockHash)"});case"getTransaction":return this.fetch("proxy",{action:"eth_getTransactionByHash",txhash:t.hash});case"getTransactionReceipt":return this.fetch("proxy",{action:"eth_getTransactionReceipt",txhash:t.hash});case"call":{if(t.blockTag!=="latest")throw new Error("EtherscanProvider does not support blockTag for call");const n=this._getTransactionPostData(t.transaction);n.module="proxy",n.action="eth_call";try{return await this.fetch("proxy",n,!0)}catch(i){return this._checkError(t,i,t.transaction)}}case"estimateGas":{const n=this._getTransactionPostData(t.transaction);n.module="proxy",n.action="eth_estimateGas";try{return await this.fetch("proxy",n,!0)}catch(i){return this._checkError(t,i,t.transaction)}}}return super._perform(t)}async getNetwork(){return this.network}async getEtherPrice(){return this.network.name!=="mainnet"?0:parseFloat((await this.fetch("stats",{action:"ethprice"})).ethusd)}async getContract(t){let n=this._getAddress(t);Z5e(n)&&(n=await n);try{const i=await this.fetch("contract",{action:"getabi",address:n}),s=JSON.parse(i);return new Ad(n,s,this)}catch{return null}}isCommunityResource(){return this.apiKey==null}}v5=new WeakMap;function Q5e(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof dr<"u")return dr;throw new Error("unable to locate global object")}const X5e=Q5e().WebSocket;class R4{constructor(e,t){Ne(this,R0,void 0);Ne(this,r7,void 0);Ne(this,ng,void 0);Ne(this,Q2,void 0);Ne(this,ig,void 0);me(this,R0,e),me(this,r7,JSON.stringify(t)),me(this,ng,null),me(this,Q2,null),me(this,ig,null)}get filter(){return JSON.parse(oe(this,r7))}start(){me(this,ng,oe(this,R0).send("eth_subscribe",this.filter).then(e=>(oe(this,R0)._register(e,this),e)))}stop(){oe(this,ng).then(e=>{oe(this,R0).send("eth_unsubscribe",[e])}),me(this,ng,null)}pause(e){Ue(e,"preserve logs while paused not supported by SocketSubscriber yet","UNSUPPORTED_OPERATION",{operation:"pause(false)"}),me(this,Q2,!!e)}resume(){me(this,Q2,null)}_handleMessage(e){if(oe(this,ng)!=null&&oe(this,Q2)===null){let t=oe(this,ig);t==null?t=this._emit(oe(this,R0),e):t=t.then(async()=>{await this._emit(oe(this,R0),e)}),me(this,ig,t.then(()=>{oe(this,ig)===t&&me(this,ig,null)}))}}async _emit(e,t){throw new Error("sub-classes must implemente this; _emit")}}R0=new WeakMap,r7=new WeakMap,ng=new WeakMap,Q2=new WeakMap,ig=new WeakMap;class xM extends R4{constructor(e){super(e,["newHeads"])}async _emit(e,t){e.emit("block",parseInt(t.number))}}class _M extends R4{constructor(e){super(e,["newPendingTransactions"])}async _emit(e,t){e.emit("pending",t)}}class EM extends R4{constructor(t,n){super(t,["logs",n]);Ne(this,n7,void 0);me(this,n7,JSON.stringify(n))}get logFilter(){return JSON.parse(oe(this,n7))}async _emit(t,n){t.emit(this.logFilter,t._wrapLog(n,t._network))}}n7=new WeakMap;class AM extends lA{constructor(t,n){const i=Object.assign({},n??{});xe(i.batchMaxCount==null||i.batchMaxCount===1,"sockets-based providers do not support batches","options.batchMaxCount",n),i.batchMaxCount=1,i.staticNetwork==null&&(i.staticNetwork=!0);super(t,i);Ne(this,X2,void 0);Ne(this,y5,void 0);Ne(this,sg,void 0);me(this,X2,new Map),me(this,y5,new Map),me(this,sg,new Map)}_getSubscriber(t){switch(t.type){case"close":return new ov("close");case"block":return new xM(this);case"pending":return new _M(this);case"event":return new EM(this,t.filter);case"orphan":if(t.filter.orphan==="drop-log")return new ov("drop-log")}return super._getSubscriber(t)}_register(t,n){oe(this,y5).set(t,n);const i=oe(this,sg).get(t);if(i){for(const s of i)n._handleMessage(s);oe(this,sg).delete(t)}}async _send(t){xe(!Array.isArray(t),"WebSocket does not support batch send","payload",t);const n=new Promise((i,s)=>{oe(this,X2).set(t.id,{payload:t,resolve:i,reject:s})});return await this._waitUntilReady(),await this._write(JSON.stringify(t)),[await n]}async _processMessage(t){const n=JSON.parse(t);if(n&&typeof n=="object"&&"id"in n){const i=oe(this,X2).get(n.id);if(i==null){this.emit("error",Hi("received result for unknown id","UNKNOWN_ERROR",{reasonCode:"UNKNOWN_ID",result:n}));return}oe(this,X2).delete(n.id),i.resolve(n)}else if(n&&n.method==="eth_subscription"){const i=n.params.subscription,s=oe(this,y5).get(i);if(s)s._handleMessage(n.params.result);else{let o=oe(this,sg).get(i);o==null&&(o=[],oe(this,sg).set(i,o)),o.push(n.params.result)}}else{this.emit("error",Hi("received unexpected message","UNKNOWN_ERROR",{reasonCode:"UNEXPECTED_MESSAGE",result:n}));return}}async _write(t){throw new Error("sub-classes must override this")}}X2=new WeakMap,y5=new WeakMap,sg=new WeakMap;class T4 extends AM{constructor(t,n,i){super(n,i);Ne(this,eb,void 0);Ne(this,gh,void 0);typeof t=="string"?(me(this,eb,()=>new X5e(t)),me(this,gh,oe(this,eb).call(this))):typeof t=="function"?(me(this,eb,t),me(this,gh,t())):(me(this,eb,null),me(this,gh,t)),this.websocket.onopen=async()=>{try{await this._start(),this.resume()}catch(s){console.log("failed to start WebsocketProvider",s)}},this.websocket.onmessage=s=>{this._processMessage(s.data)}}get websocket(){if(oe(this,gh)==null)throw new Error("websocket closed");return oe(this,gh)}async _write(t){this.websocket.send(t)}async destroy(){oe(this,gh)!=null&&(oe(this,gh).close(),me(this,gh,null)),super.destroy()}}eb=new WeakMap,gh=new WeakMap;const k4="84842078b09946638c03157f83405213";function e4e(r){switch(r){case"mainnet":return"mainnet.infura.io";case"goerli":return"goerli.infura.io";case"sepolia":return"sepolia.infura.io";case"arbitrum":return"arbitrum-mainnet.infura.io";case"arbitrum-goerli":return"arbitrum-goerli.infura.io";case"arbitrum-sepolia":return"arbitrum-sepolia.infura.io";case"base":return"base-mainnet.infura.io";case"base-goerlia":return"base-goerli.infura.io";case"base-sepolia":return"base-sepolia.infura.io";case"bnb":return"bnbsmartchain-mainnet.infura.io";case"bnbt":return"bnbsmartchain-testnet.infura.io";case"linea":return"linea-mainnet.infura.io";case"linea-goerli":return"linea-goerli.infura.io";case"matic":return"polygon-mainnet.infura.io";case"matic-mumbai":return"polygon-mumbai.infura.io";case"optimism":return"optimism-mainnet.infura.io";case"optimism-goerli":return"optimism-goerli.infura.io";case"optimism-sepolia":return"optimism-sepolia.infura.io"}xe(!1,"unsupported network","network",r)}class CM extends T4{constructor(t,n){const i=new Bp(t,n),s=i._getConnection();Ue(!s.credentials,"INFURA WebSocket project secrets unsupported","UNSUPPORTED_OPERATION",{operation:"InfuraProvider.getWebSocketProvider()"});const o=s.url.replace(/^http/i,"ws").replace("/v3/","/ws/v3/");super(o,t);Ee(this,"projectId");Ee(this,"projectSecret");er(this,{projectId:i.projectId,projectSecret:i.projectSecret})}isCommunityResource(){return this.projectId===k4}}class Bp extends Ol{constructor(t,n,i){t==null&&(t="mainnet");const s=ms.from(t);n==null&&(n=k4),i==null&&(i=null);const o=Bp.getRequest(s,n,i);super(o,s,{staticNetwork:s});Ee(this,"projectId");Ee(this,"projectSecret");er(this,{projectId:n,projectSecret:i})}_getProvider(t){try{return new Bp(t,this.projectId,this.projectSecret)}catch{}return super._getProvider(t)}isCommunityResource(){return this.projectId===k4}static getWebSocketProvider(t,n){return new CM(t,n)}static getRequest(t,n,i){n==null&&(n=k4),i==null&&(i=null);const s=new Oo(`https://${e4e(t.name)}/v3/${n}`);return s.allowGzip=!0,i&&s.setCredentials("",i),n===k4&&(s.retryFunc=async(o,a,l)=>($p("InfuraProvider"),!0)),s}}const dA="919b412a057b5e9c9b6dce193c5a60242d6efadb";function t4e(r){switch(r){case"mainnet":return"ethers.quiknode.pro";case"goerli":return"ethers.ethereum-goerli.quiknode.pro";case"sepolia":return"ethers.ethereum-sepolia.quiknode.pro";case"holesky":return"ethers.ethereum-holesky.quiknode.pro";case"arbitrum":return"ethers.arbitrum-mainnet.quiknode.pro";case"arbitrum-goerli":return"ethers.arbitrum-goerli.quiknode.pro";case"arbitrum-sepolia":return"ethers.arbitrum-sepolia.quiknode.pro";case"base":return"ethers.base-mainnet.quiknode.pro";case"base-goerli":return"ethers.base-goerli.quiknode.pro";case"base-spolia":return"ethers.base-sepolia.quiknode.pro";case"bnb":return"ethers.bsc.quiknode.pro";case"bnbt":return"ethers.bsc-testnet.quiknode.pro";case"matic":return"ethers.matic.quiknode.pro";case"matic-mumbai":return"ethers.matic-testnet.quiknode.pro";case"optimism":return"ethers.optimism.quiknode.pro";case"optimism-goerli":return"ethers.optimism-goerli.quiknode.pro";case"optimism-sepolia":return"ethers.optimism-sepolia.quiknode.pro";case"xdai":return"ethers.xdai.quiknode.pro"}xe(!1,"unsupported network","network",r)}class dv extends Ol{constructor(t,n){t==null&&(t="mainnet");const i=ms.from(t);n==null&&(n=dA);const s=dv.getRequest(i,n);super(s,i,{staticNetwork:i});Ee(this,"token");er(this,{token:n})}_getProvider(t){try{return new dv(t,this.token)}catch{}return super._getProvider(t)}isCommunityResource(){return this.token===dA}static getRequest(t,n){n==null&&(n=dA);const i=new Oo(`https://${t4e(t.name)}/${n}`);return i.allowGzip=!0,n===dA&&(i.retryFunc=async(s,o,a)=>($p("QuickNodeProvider"),!0)),i}}const r4e=BigInt("1"),n4e=BigInt("2");function i4e(r){for(let e=r.length-1;e>0;e--){const t=Math.floor(Math.random()*(e+1)),n=r[e];r[e]=r[t],r[t]=n}}function s4e(r){return new Promise(e=>{setTimeout(e,r)})}function SM(){return new Date().getTime()}function IM(r){return JSON.stringify(r,(e,t)=>typeof t=="bigint"?{type:"bigint",value:t.toString()}:t)}const xX={stallTimeout:400,priority:1,weight:1},_X={blockNumber:-2,requests:0,lateResponses:0,errorResponses:0,outOfSync:-1,unsupportedEvents:0,rollingDuration:0,score:0,_network:null,_updateNumber:null,_totalTime:0,_lastFatalError:null,_lastFatalErrorTimestamp:0};async function o4e(r,e){for(;(r.blockNumber<0||r.blockNumber{try{const t=await r.provider.getBlockNumber();t>r.blockNumber&&(r.blockNumber=t)}catch(t){r.blockNumber=-2,r._lastFatalError=t,r._lastFatalErrorTimestamp=SM()}r._updateNumber=null})()),await r._updateNumber,r.outOfSync++,!r._lastFatalError););}function M4(r){if(r==null)return"null";if(Array.isArray(r))return"["+r.map(M4).join(",")+"]";if(typeof r=="object"&&typeof r.toJSON=="function")return M4(r.toJSON());switch(typeof r){case"boolean":case"symbol":return r.toString();case"bigint":case"number":return BigInt(r).toString();case"string":return JSON.stringify(r);case"object":{const e=Object.keys(r);return e.sort(),"{"+e.map(t=>`${JSON.stringify(t)}:${M4(r[t])}`).join(",")+"}"}}throw console.log("Could not serialize",r),new Error("Hmm...")}function RM(r){if("error"in r){const t=r.error;return{tag:M4(t),value:t}}const e=r.result;return{tag:M4(e),value:e}}function pA(r,e){const t=new Map;for(const{value:i,tag:s,weight:o}of e){const a=t.get(s)||{value:i,weight:0};a.weight+=o,t.set(s,a)}let n=null;for(const i of t.values())i.weight>=r&&(!n||i.weight>n.weight)&&(n=i);if(n)return n.value}function TM(r,e){let t=0;const n=new Map;let i=null;const s=[];for(const{value:a,tag:l,weight:u}of e)if(a instanceof Error){const h=n.get(l)||{value:a,weight:0};h.weight+=u,n.set(l,h),(i==null||h.weight>i.weight)&&(i=h)}else s.push(BigInt(a)),t+=u;if(t=r?i.value:void 0;s.sort((a,l)=>aa?1:0);const o=Math.floor(s.length/2);return s.length%2?s[o]:(s[o-1]+s[o]+r4e)/n4e}function kM(r,e){const t=pA(r,e);if(t!==void 0)return t;for(const n of e)if(n.value)return n.value}function a4e(r,e){if(r===1)return Ir(TM(r,e),"%internal");const t=new Map,n=(o,a)=>{const l=t.get(o)||{result:o,weight:0};l.weight+=a,t.set(o,l)};for(const{weight:o,value:a}of e){const l=Ir(a);n(l-1,o),n(l,o),n(l+1,o)}let i=0,s;for(const{weight:o,result:a}of t.values())o>=r&&(o>i||s!=null&&o===i&&a>s)&&(i=o,s=a);return s}class MM extends av{constructor(t,n,i){super(n,i);Ne(this,YR);Ne(this,i7);Ne(this,QR);Ne(this,XR);Ne(this,s7);Ee(this,"quorum");Ee(this,"eventQuorum");Ee(this,"eventWorkers");Ne(this,Ic,void 0);Ne(this,T0,void 0);Ne(this,x5,void 0);me(this,Ic,t.map(s=>s instanceof av?Object.assign({provider:s},xX,_X):Object.assign({},xX,s,_X))),me(this,T0,-2),me(this,x5,null),i&&i.quorum!=null?this.quorum=i.quorum:this.quorum=Math.ceil(oe(this,Ic).reduce((s,o)=>(s+=o.weight,s),0)/2),this.eventQuorum=1,this.eventWorkers=1,xe(this.quorum<=oe(this,Ic).reduce((s,o)=>s+o.weight,0),"quorum exceed provider wieght","quorum",this.quorum)}get providerConfigs(){return oe(this,Ic).map(t=>{const n=Object.assign({},t);for(const i in n)i[0]==="_"&&delete n[i];return n})}async _detectNetwork(){return ms.from(cr(await this._perform({method:"chainId"})))}async _translatePerform(t,n){switch(n.method){case"broadcastTransaction":return await t.broadcastTransaction(n.signedTransaction);case"call":return await t.call(Object.assign({},n.transaction,{blockTag:n.blockTag}));case"chainId":return(await t.getNetwork()).chainId;case"estimateGas":return await t.estimateGas(n.transaction);case"getBalance":return await t.getBalance(n.address,n.blockTag);case"getBlock":{const i="blockHash"in n?n.blockHash:n.blockTag;return await t.getBlock(i,n.includeTransactions)}case"getBlockNumber":return await t.getBlockNumber();case"getCode":return await t.getCode(n.address,n.blockTag);case"getGasPrice":return(await t.getFeeData()).gasPrice;case"getPriorityFee":return(await t.getFeeData()).maxPriorityFeePerGas;case"getLogs":return await t.getLogs(n.filter);case"getStorage":return await t.getStorage(n.address,n.position,n.blockTag);case"getTransaction":return await t.getTransaction(n.hash);case"getTransactionCount":return await t.getTransactionCount(n.address,n.blockTag);case"getTransactionReceipt":return await t.getTransactionReceipt(n.hash);case"getTransactionResult":return await t.getTransactionResult(n.hash)}}async _perform(t){if(t.method==="broadcastTransaction"){const o=oe(this,Ic).map(u=>null),a=oe(this,Ic).map(async({provider:u,weight:h},p)=>{try{const g=await u._perform(t);o[p]=Object.assign(RM({result:g}),{weight:h})}catch(g){o[p]=Object.assign(RM({error:g}),{weight:h})}});for(;;){const u=o.filter(g=>g!=null);for(const{value:g}of u)if(!(g instanceof Error))return g;const h=pA(this.quorum,o.filter(g=>g!=null));if(Os(h,"INSUFFICIENT_FUNDS"))throw h;const p=a.filter((g,w)=>o[w]==null);if(p.length===0)break;await Promise.race(p)}const l=kM(this.quorum,o);if(Ue(l!==void 0,"problem multi-broadcasting","SERVER_ERROR",{request:"%sub-requests",info:{request:t,results:o.map(IM)}}),l instanceof Error)throw l;return l}await rt(this,QR,Sge).call(this);const n=new Set;let i=0;for(;;){const o=rt(this,i7,uK).call(this,n,t);if(o==null||(i+=o.config.weight,i>=this.quorum))break}const s=await rt(this,s7,hK).call(this,n,t);for(const o of n)o.perform&&o.result==null&&o.config.lateResponses++;return s}async destroy(){for(const{provider:t}of oe(this,Ic))t.destroy();super.destroy()}}Ic=new WeakMap,T0=new WeakMap,x5=new WeakMap,YR=new WeakSet,Cge=function(t){const n=Array.from(t).map(s=>s.config),i=oe(this,Ic).slice();i4e(i),i.sort((s,o)=>s.priority-o.priority);for(const s of i)if(!s._lastFatalError&&n.indexOf(s)===-1)return s;return null},i7=new WeakSet,uK=function(t,n){const i=rt(this,YR,Cge).call(this,t);if(i==null)return null;const s={config:i,result:null,didBump:!1,perform:null,staller:null},o=SM();return s.perform=(async()=>{try{i.requests++;const l=await this._translatePerform(i.provider,n);s.result={result:l}}catch(l){i.errorResponses++,s.result={error:l}}const a=SM()-o;i._totalTime+=a,i.rollingDuration=.95*i.rollingDuration+.05*a,s.perform=null})(),s.staller=(async()=>{await s4e(i.stallTimeout),s.staller=null})(),t.add(s),s},QR=new WeakSet,Sge=async function(){let t=oe(this,x5);if(!t){const n=[];oe(this,Ic).forEach(i=>{n.push((async()=>{await o4e(i,0),i._lastFatalError||(i._network=await i.provider.getNetwork())})())}),me(this,x5,t=(async()=>{await Promise.all(n);let i=null;for(const s of oe(this,Ic)){if(s._lastFatalError)continue;const o=s._network;i==null?i=o.chainId:o.chainId!==i&&Ue(!1,"cannot mix providers on different networks","UNSUPPORTED_OPERATION",{operation:"new FallbackProvider"})}})())}await t},XR=new WeakSet,Ige=async function(t,n){const i=[];for(const s of t)if(s.result!=null){const{tag:o,value:a}=RM(s.result);i.push({tag:o,value:a,weight:s.config.weight})}if(!(i.reduce((s,o)=>s+o.weight,0)!o._lastFatalError).map(o=>({value:o.blockNumber,tag:Ir(o.blockNumber).toString(),weight:o.weight}))))));const s=a4e(this.quorum,i);return s===void 0?void 0:(s>oe(this,T0)&&me(this,T0,s),oe(this,T0))}case"getGasPrice":case"getPriorityFee":case"estimateGas":return TM(this.quorum,i);case"getBlock":return"blockTag"in n&&n.blockTag==="pending"?kM(this.quorum,i):pA(this.quorum,i);case"call":case"chainId":case"getBalance":case"getTransactionCount":case"getCode":case"getStorage":case"getTransaction":case"getTransactionReceipt":case"getLogs":return pA(this.quorum,i);case"broadcastTransaction":return kM(this.quorum,i)}Ue(!1,"unsupported method","UNSUPPORTED_OPERATION",{operation:`_perform(${IM(n.method)})`})}},s7=new WeakSet,hK=async function(t,n){if(t.size===0)throw new Error("no runners?!");const i=[];let s=0;for(const a of t){if(a.perform&&i.push(a.perform),a.staller){i.push(a.staller);continue}a.didBump||(a.didBump=!0,s++)}const o=await rt(this,XR,Ige).call(this,t,n);if(o!==void 0){if(o instanceof Error)throw o;return o}for(let a=0;a0,"quorum not met","SERVER_ERROR",{request:"%sub-requests",info:{request:n,results:Array.from(t).map(a=>IM(a.result))}}),await Promise.race(i),await rt(this,s7,hK).call(this,t,n)};function c4e(r){return r&&typeof r.send=="function"&&typeof r.close=="function"}const l4e="goerli kovan sepolia classicKotti optimism-goerli arbitrum-goerli matic-mumbai bnbt".split(" ");function EX(r,e){e==null&&(e={});const t=o=>e[o]==="-"?!1:typeof e.exclusive=="string"?o===e.exclusive:Array.isArray(e.exclusive)?e.exclusive.indexOf(o)!==-1:!0;if(typeof r=="string"&&r.match(/^https?:/))return new Ol(r);if(typeof r=="string"&&r.match(/^wss?:/)||c4e(r))return new T4(r);let n=null;try{n=ms.from(r)}catch{}const i=[];if(t("publicPolygon")&&n&&n.name==="matic"&&i.push(new Ol("https://polygon-rpc.com/",n,{staticNetwork:n})),t("alchemy"))try{i.push(new fv(r,e.alchemy))}catch{}if(t("ankr")&&e.ankr!=null)try{i.push(new hv(r,e.ankr))}catch{}if(t("cloudflare"))try{i.push(new vM(r))}catch{}if(t("etherscan"))try{i.push(new yM(r,e.etherscan))}catch{}if(t("infura"))try{let o=e.infura,a;typeof o=="object"&&(a=o.projectSecret,o=o.projectId),i.push(new Bp(r,o,a))}catch{}if(t("quicknode"))try{let o=e.quicknode;i.push(new dv(r,o))}catch{}if(Ue(i.length,"unsupported default network","UNSUPPORTED_OPERATION",{operation:"getDefaultProvider"}),i.length===1)return i[0];let s=Math.floor(i.length/2);return s>2&&(s=2),n&&l4e.indexOf(n.name)!==-1&&(s=1),e&&e.quorum&&(s=e.quorum),new MM(i,void 0,{quorum:s})}const wj=class wj extends lv{constructor(t){super(t.provider);Ee(this,"signer");Ne(this,og,void 0);Ne(this,tb,void 0);er(this,{signer:t}),me(this,og,null),me(this,tb,0)}async getAddress(){return this.signer.getAddress()}connect(t){return new wj(this.signer.connect(t))}async getNonce(t){if(t==="pending"){oe(this,og)==null&&me(this,og,super.getNonce("pending"));const n=oe(this,tb);return await oe(this,og)+n}return super.getNonce(t)}increment(){T5(this,tb)._++}reset(){me(this,tb,0),me(this,og,null)}async sendTransaction(t){const n=this.getNonce("pending");return this.increment(),t=await this.signer.populateTransaction(t),t.nonce=await n,await this.signer.sendTransaction(t)}signTransaction(t){return this.signer.signTransaction(t)}signMessage(t){return this.signer.signMessage(t)}signTypedData(t,n,i){return this.signer.signTypedData(t,n,i)}};og=new WeakMap,tb=new WeakMap;let gA=wj;class mA extends wX{constructor(t,n){xe(t&&t.request,"invalid EIP-1193 provider","ethereum",t);super(n,{batchMaxCount:1});Ne(this,_5,void 0);me(this,_5,async(i,s)=>{const o={method:i,params:s};this.emit("debug",{action:"sendEip1193Request",payload:o});try{const a=await t.request(o);return this.emit("debug",{action:"receiveEip1193Result",result:a}),a}catch(a){const l=new Error(a.message);throw l.code=a.code,l.data=a.data,l.payload=o,this.emit("debug",{action:"receiveEip1193Error",error:l}),l}})}async send(t,n){return await this._start(),await super.send(t,n)}async _send(t){xe(!Array.isArray(t),"EIP-1193 does not support batch request","payload",t);try{const n=await oe(this,_5).call(this,t.method,t.params||[]);return[{id:t.id,result:n}]}catch(n){return[{id:t.id,error:{code:n.code,data:n.data,message:n.message}}]}}getRpcError(t,n){switch(n=JSON.parse(JSON.stringify(n)),n.error.code||-1){case 4001:n.error.message=`ethers-user-denied: ${n.error.message}`;break;case 4200:n.error.message=`ethers-unsupported: ${n.error.message}`;break}return super.getRpcError(t,n)}async hasSigner(t){t==null&&(t=0);const n=await this.send("eth_accounts",[]);return typeof t=="number"?n.length>t:(t=t.toLowerCase(),n.filter(i=>i.toLowerCase()===t).length!==0)}async getSigner(t){if(t==null&&(t=0),!await this.hasSigner(t))try{await oe(this,_5).call(this,"eth_requestAccounts",[])}catch(n){const i=n.payload;throw this.getRpcError(i,{id:i.id,error:n})}return await super.getSigner(t)}}_5=new WeakMap;const bA="62e1ad51b37b8e00394bda3b";function u4e(r){switch(r){case"mainnet":return"eth-mainnet.gateway.pokt.network";case"goerli":return"eth-goerli.gateway.pokt.network";case"matic":return"poly-mainnet.gateway.pokt.network";case"matic-mumbai":return"polygon-mumbai-rpc.gateway.pokt.network"}xe(!1,"unsupported network","network",r)}class N4 extends Ol{constructor(t,n,i){t==null&&(t="mainnet");const s=ms.from(t);n==null&&(n=bA),i==null&&(i=null);const o={staticNetwork:s},a=N4.getRequest(s,n,i);super(a,s,o);Ee(this,"applicationId");Ee(this,"applicationSecret");er(this,{applicationId:n,applicationSecret:i})}_getProvider(t){try{return new N4(t,this.applicationId,this.applicationSecret)}catch{}return super._getProvider(t)}static getRequest(t,n,i){n==null&&(n=bA);const s=new Oo(`https://${u4e(t.name)}/v1/lb/${n}`);return s.allowGzip=!0,i&&s.setCredentials("",i),n===bA&&(s.retryFunc=async(o,a,l)=>($p("PocketProvider"),!0)),s}isCommunityResource(){return this.applicationId===bA}}const AX=void 0,vj=class vj extends lv{constructor(t,n){super(n);Ee(this,"address");Ne(this,E5,void 0);xe(t&&typeof t.sign=="function","invalid private key","privateKey","[ REDACTED ]"),me(this,E5,t);const i=Cg(this.signingKey.publicKey);er(this,{address:i})}get signingKey(){return oe(this,E5)}get privateKey(){return this.signingKey.privateKey}async getAddress(){return this.address}connect(t){return new vj(oe(this,E5),t)}async signTransaction(t){const{to:n,from:i}=await zs({to:t.to?Ws(t.to,this.provider):void 0,from:t.from?Ws(t.from,this.provider):void 0});n!=null&&(t.to=n),i!=null&&(t.from=i),t.from!=null&&(xe(jr(t.from)===this.address,"transaction from address mismatch","tx.from",t.from),delete t.from);const s=Xw.from(t);return s.signature=this.signingKey.sign(s.unsignedHash),s.serialized}async signMessage(t){return this.signMessageSync(t)}signMessageSync(t){return this.signingKey.sign(VE(t)).serialized}async signTypedData(t,n,i){const s=await vd.resolveNames(t,n,i,async o=>{Ue(this.provider!=null,"cannot resolve ENS names without a provider","UNSUPPORTED_OPERATION",{operation:"resolveName",info:{name:o}});const a=await this.provider.resolveName(o);return Ue(a!=null,"unconfigured ENS name","UNCONFIGURED_NAME",{value:o}),a});return this.signingKey.sign(vd.hash(s.domain,n,s.value)).serialized}};E5=new WeakMap;let pv=vj;const wA=" !#$%&'()*+,-./<=>?@[]^_`{|}~",h4e=/^[a-z]*$/i;function CX(r,e){let t=97;return r.reduce((n,i)=>(i===e?t++:i.match(h4e)?n.push(String.fromCharCode(t)+i):(t=97,n.push(i)),n),[])}function f4e(r,e){for(let i=wA.length-1;i>=0;i--)r=r.split(wA[i]).join(e.substring(2*i,2*i+2));const t=[],n=r.replace(/(:|([0-9])|([A-Z][a-z]*))/g,(i,s,o,a)=>{if(o)for(let l=parseInt(o);l>=0;l--)t.push(";");else t.push(s.toLowerCase());return""});if(n)throw new Error(`leftovers: ${JSON.stringify(n)}`);return CX(CX(t,";"),":")}function SX(r){return xe(r[0]==="0","unsupported auwl data","data",r),f4e(r.substring(1+2*wA.length),r.substring(1,1+2*wA.length))}class NM{constructor(e){Ee(this,"locale");er(this,{locale:e})}split(e){return e.toLowerCase().split(/\s+/g)}join(e){return e.join(" ")}}class vA extends NM{constructor(t,n,i){super(t);Ne(this,a7);Ne(this,A5,void 0);Ne(this,o7,void 0);Ne(this,rb,void 0);me(this,A5,n),me(this,o7,i),me(this,rb,null)}get _data(){return oe(this,A5)}_decodeWords(){return SX(oe(this,A5))}getWord(t){const n=rt(this,a7,fK).call(this);return xe(t>=0&&ttypeof r=="object"&&"type"in r&&"name"in r,nwe=r=>typeof r=="string",ic=r=>typeof r=="string"&&/^((-)?0x[0-9a-f]+|(0x))$/i.test(r),fZ=r=>typeof r=="number"||typeof r=="bigint"||typeof r=="string"&&/^((-0x|0x|-)?[0-9a-f]+|(0x))$/i.test(r),iwe=["hex","number","blockNumber","blockNumberOrTag","filter","bloom"],dg=r=>{let e=r.replace(/ /,""),t,n=!1,i=[];if(r.includes("[")&&(e=e.slice(0,e.indexOf("[")),i=[...r.matchAll(/(?:\[(\d*)\])/g)].map(s=>parseInt(s[1],10)).map(s=>Number.isNaN(s)?-1:s),n=i.length>0),rwe.includes(e))return{baseType:e,isArray:n,baseTypeSize:t,arraySizes:i};if(e.startsWith("int"))t=parseInt(e.substring(3),10),e="int";else if(e.startsWith("uint"))t=parseInt(r.substring(4),10),e="uint";else if(e.startsWith("bytes"))t=parseInt(e.substring(5),10),e="bytes";else return{baseType:void 0,isArray:!1,baseTypeSize:void 0,arraySizes:i};return{baseType:e,isArray:n,baseTypeSize:t,arraySizes:i}},FR=(r,e={})=>{if(Object.keys(e).includes("type"))throw new rE([{keyword:"eth",message:'Either "eth" or "type" can be presented in schema',params:{eth:r},instancePath:"",schemaPath:""}]);const{baseType:n,baseTypeSize:i}=dg(r);if(!n&&!iwe.includes(r))throw new rE([{keyword:"eth",message:`Eth data type "${r}" is not valid`,params:{eth:r},instancePath:"",schemaPath:""}]);if(n){if(n==="tuple")throw new Error('"tuple" type is not implemented directly.');return{format:`${n}${i??""}`,required:!0}}return r?{format:r,required:!0}:{}},nE=(r,e="/0")=>{const t={type:"array",items:[],maxItems:r.length,minItems:r.length};for(const[n,i]of r.entries()){let s,o,a=[];hZ(i)?(s=i.type,o=i.name,a=i.components):typeof i=="string"?(s=i,o=`${e}/${n}`):Array.isArray(i)&&(i[0]&&typeof i[0]=="string"&&i[0].startsWith("tuple")&&!Array.isArray(i[0])&&i[1]&&Array.isArray(i[1])?(s=i[0],o=`${e}/${n}`,a=i[1]):(s="tuple",o=`${e}/${n}`,a=i));const{baseType:l,isArray:u,arraySizes:h}=dg(s);let p,g=t;for(let w=h.length-1;w>0;w-=1)p={type:"array",$id:o,items:[],maxItems:h[w],minItems:h[w]},h[w]<0&&(delete p.maxItems,delete p.minItems),Array.isArray(g.items)?g.items.length===0?g.items=[p]:g.items.push(p):g.items=[g.items,p],g=p;if(l==="tuple"&&!u){const w=nE(a,o);w.$id=o,g.items.push(w)}else if(l==="tuple"&&u){const w=h[0],y=Object.assign({type:"array",$id:o,items:nE(a,o)},w>=0&&{minItems:w,maxItems:w});g.items.push(y)}else if(u){const w=h[0],y=Object.assign({type:"array",$id:o,items:FR(s)},w>=0&&{minItems:w,maxItems:w});g.items.push(y)}else Array.isArray(g.items)?g.items.push(Object.assign({$id:o},FR(s))):g.items.push(Object.assign({$id:o},FR(s)));g=t}return t},dZ=r=>nE(r),jR=(r,e)=>e===1?r:jR(r[0],e-1),iE=(r,e,t)=>{const n=[];for(const[i,s]of r.entries()){let o,a,l=[];hZ(s)?(o=s.type,a=s.name,l=s.components):typeof s=="string"?o=s:Array.isArray(s)&&(s[1]&&Array.isArray(s[1])?(o=s[0],l=s[1]):(o="tuple",l=s));const{baseType:u,isArray:h,arraySizes:p}=dg(o),g=Array.isArray(e)?e[i]:e[a];if(u==="tuple"&&!h)n.push(iE(l,g,t));else if(u==="tuple"&&h){const w=[];for(const y of g)if(p.length>1){const C=jR(y,p.length-1),T=[];for(const k of C)T.push(iE(l,k,t));w.push(T)}else w.push(iE(l,y,t));n.push(w)}else n.push(g)}return t=t??[],t.push(...n),t},swe=r=>{if(r>=48&&r<=57)return r-48;if(r>=65&&r<=70)return r-55;if(r>=97&&r<=102)return r-87;throw new Error(`Invalid code point: ${r}`)},zR=r=>{if(!ic(r))throw new Error("Invalid hex string");const[e,t]=r.startsWith("-")?[!0,r.slice(1)]:[!1,r],n=BigInt(t);return n>Number.MAX_SAFE_INTEGER?e?-n:n:n{if((typeof r=="number"||typeof r=="bigint")&&r<0)return`-0x${r.toString(16).slice(1)}`;if((typeof r=="number"||typeof r=="bigint")&&r>=0)return`0x${r.toString(16)}`;if(typeof r=="string"&&ic(r)){const[e,t]=r.startsWith("-")?[!0,r.slice(1)]:[!1,r],n=t.split(/^(-)?0(x|X)/).slice(-1)[0];return`${e?"-":""}0x${n.replace(/^0+/,"").toLowerCase()}`}if(typeof r=="string"&&!ic(r))return sE(BigInt(r));throw new V2e(r)},owe=(r,e,t="0")=>{if(typeof r=="string"&&!ic(r))return r.padStart(e,t);const n=typeof r=="string"&&ic(r)?r:sE(r),[i,s]=n.startsWith("-")?["-0x",n.slice(3)]:["0x",n.slice(2)];return`${i}${s.padStart(e,t)}`};function HR(r){let e="0x";for(const t of r){const n=t.toString(16);e+=n.length===1?`0${n}`:n}return e}const od={zero:48,nine:57,A:65,F:70,a:97,f:102};function pZ(r){if(r>=od.zero&&r<=od.nine)return r-od.zero;if(r>=od.A&&r<=od.F)return r-(od.A-10);if(r>=od.a&&r<=od.f)return r-(od.a-10)}function qR(r){let e=0;if(r.startsWith("0")&&(r[1]==="x"||r[1]==="X")&&(e=2),r.length%2!==0)throw new OR(`hex string has odd length: ${r}`);const t=(r.length-e)/2,n=new Uint8Array(t);for(let i=0,s=e;i{var e;return r instanceof Uint8Array||((e=r==null?void 0:r.constructor)===null||e===void 0?void 0:e.name)==="Uint8Array"},mZ=(r,e={abiType:"bytes"})=>{if(typeof r!="string"&&!Array.isArray(r)&&!WR(r)||typeof r=="string"&&ic(r)&&r.startsWith("-")||typeof r=="string"&&!ic(r))return!1;let t;if(typeof r=="string"){if(r.length%2!==0)return!1;t=qR(r)}else if(Array.isArray(r)){if(r.some(n=>n<0||n>255||!Number.isInteger(n)))return!1;t=new Uint8Array(r)}else t=r;if(e!=null&&e.abiType){const{baseTypeSize:n}=dg(e.abiType);return n?t.length===n:!0}return e!=null&&e.size?t.length===(e==null?void 0:e.size):!0},cwe=r=>{if(!/^(0x)?[0-9a-f]{40}$/i.test(r))return!1;const e=r.slice(2),t=VK(e.toLowerCase()),n=HR(D2e(gZ(t))).slice(2);for(let i=0;i<40;i+=1)if(parseInt(n[i],16)>7&&e[i].toUpperCase()!==e[i]||parseInt(n[i],16)<=7&&e[i].toLowerCase()!==e[i])return!1;return!0},oE=(r,e=!0)=>{if(typeof r!="string"&&!WR(r))return!1;let t;return WR(r)?t=HR(r):typeof r=="string"&&!ic(r)?t=r.toLowerCase().startsWith("0x")?r:`0x${r}`:t=r,/^(0x)?[0-9a-f]{40}$/i.test(t)?/^(0x|0X)?[0-9a-f]{40}$/.test(t)||/^(0x|0X)?[0-9A-F]{40}$/.test(t)?!0:e?cwe(t):!0:!1};var aE;(function(r){r.NUMBER="NUMBER_NUMBER",r.HEX="NUMBER_HEX",r.STR="NUMBER_STR",r.BIGINT="NUMBER_BIGINT"})(aE||(aE={}));var cE;(function(r){r.HEX="BYTES_HEX",r.UINT8ARRAY="BYTES_UINT8ARRAY"})(cE||(cE={})),aE.BIGINT,cE.HEX,aE.HEX,cE.HEX;var VR;(function(r){r.EARLIEST="earliest",r.LATEST="latest",r.PENDING="pending",r.SAFE="safe",r.FINALIZED="finalized"})(VR||(VR={}));var bZ;(function(r){r.chainstart="chainstart",r.frontier="frontier",r.homestead="homestead",r.dao="dao",r.tangerineWhistle="tangerineWhistle",r.spuriousDragon="spuriousDragon",r.byzantium="byzantium",r.constantinople="constantinople",r.petersburg="petersburg",r.istanbul="istanbul",r.muirGlacier="muirGlacier",r.berlin="berlin",r.london="london",r.altair="altair",r.arrowGlacier="arrowGlacier",r.grayGlacier="grayGlacier",r.bellatrix="bellatrix",r.merge="merge",r.capella="capella",r.shanghai="shanghai"})(bZ||(bZ={})),globalThis&&globalThis.__awaiter;const GR=(r,e)=>{let t=r;for(let n=1;n{if(!["number","string","bigint"].includes(typeof r)||typeof r=="string"&&r.length===0)return!1;let t;if(e!=null&&e.abiType){const{baseTypeSize:i}=dg(e.abiType);i&&(t=i)}else e.bitSize&&(t=e.bitSize);const n=GR(BigInt(2),BigInt(t??256))-BigInt(1);try{const i=typeof r=="string"&&ic(r)?BigInt(zR(r)):BigInt(r);return i>=0&&i<=n}catch{return!1}},J5=(r,e={abiType:"int"})=>{if(!["number","string","bigint"].includes(typeof r)||typeof r=="number"&&r>Number.MAX_SAFE_INTEGER)return!1;let t;if(e!=null&&e.abiType){const{baseTypeSize:s,baseType:o}=dg(e.abiType);if(o!=="int")return!1;s&&(t=s)}else e.bitSize&&(t=e.bitSize);const n=GR(BigInt(2),BigInt((t??256)-1)),i=BigInt(-1)*GR(BigInt(2),BigInt((t??256)-1));try{const s=typeof r=="string"&&ic(r)?BigInt(zR(r)):BigInt(r);return s>=i&&s<=n}catch{return!1}},lwe=r=>!!(J5(r)||typeof r=="string"&&/[0-9.]/.test(r)&&r.indexOf(".")===r.lastIndexOf(".")||typeof r=="number"),wZ=r=>Z5(r),vZ=r=>Object.values(VR).includes(r),KR=r=>vZ(r)||wZ(r),uwe=r=>typeof r!="string"||!/^(0x)?[0-9a-f]{512}$/i.test(r)?!1:!!(/^(0x)?[0-9a-f]{512}$/.test(r)||/^(0x)?[0-9A-F]{512}$/.test(r)),hwe=r=>["number","string","boolean"].includes(typeof r)?typeof r=="boolean"?!0:typeof r=="string"&&!ic(r)?r==="1"||r==="0":typeof r=="string"&&ic(r)?r==="0x1"||r==="0x0":r===1||r===0:!1,Iw=r=>r==null,yZ=r=>typeof r!="string"||!/^(0x)?[0-9a-f]{64}$/i.test(r)?!1:!!(/^(0x)?[0-9a-f]{64}$/.test(r)||/^(0x)?[0-9A-F]{64}$/.test(r)),fwe=r=>{const e=["fromBlock","toBlock","address","topics","blockHash"];if(Iw(r)||typeof r!="object"||!Object.keys(r).every(t=>e.includes(t))||!Iw(r.fromBlock)&&!KR(r.fromBlock)||!Iw(r.toBlock)&&!KR(r.toBlock))return!1;if(!Iw(r.address)){if(Array.isArray(r.address)){if(!r.address.every(t=>oE(t)))return!1}else if(!oE(r.address))return!1}return!(!Iw(r.topics)&&!r.topics.every(t=>Iw(t)?!0:Array.isArray(t)?t.every(n=>yZ(n)):!!yZ(t)))},pg={address:r=>oE(r),bloom:r=>uwe(r),blockNumber:r=>wZ(r),blockTag:r=>vZ(r),blockNumberOrTag:r=>KR(r),bool:r=>hwe(r),bytes:r=>mZ(r),filter:r=>fwe(r),hex:r=>ic(r),uint:r=>Z5(r),int:r=>J5(r),number:r=>lwe(r),string:r=>nwe(r)};for(let r=8;r<=256;r+=8)pg[`int${r}`]=e=>J5(e,{bitSize:r}),pg[`uint${r}`]=e=>Z5(e,{bitSize:r});for(let r=1;r<=32;r+=1)pg[`bytes${r}`]=e=>mZ(e,{size:r});pg.bytes256=pg.bytes;const Y5=r=>{if((!(r!=null&&r.type)||(r==null?void 0:r.type)==="object")&&(r!=null&&r.properties)){const e={};for(const t of Object.keys(r.properties)){const n=Y5(r.properties[t]);n&&(e[t]=n)}return Array.isArray(r.required)?ge.object(e).partial().required(r.required.reduce((t,n)=>Object.assign(Object.assign({},t),{[n]:!0}),{})):ge.object(e).partial()}if((r==null?void 0:r.type)==="array"&&(r!=null&&r.items)){if(Array.isArray(r.items)&&r.items.length>1&&r.maxItems!==void 0&&new Set(r.items.map(n=>n.$id)).size===r.items.length){const n=[];for(const i of r.items){const s=Y5(i);s&&n.push(s)}return ge.tuple(n)}const e=Array.isArray(r.items)?r.items[0]:r.items;let t=ge.array(Y5(e));return t=r.minItems!==void 0?t.min(r.minItems):t,t=r.maxItems!==void 0?t.max(r.maxItems):t,t}if(r.oneOf&&Array.isArray(r.oneOf))return ge.union(r.oneOf.map(e=>Y5(e)));if(r!=null&&r.format){if(!pg[r.format])throw new abe(r.format);return ge.any().refine(pg[r.format],e=>({params:{value:e,format:r.format}}))}return r!=null&&r.type&&(r==null?void 0:r.type)!=="object"&&typeof ge[String(r.type)]=="function"?ge[String(r.type)]():ge.object({data:ge.any()}).partial()};class Tw{static factory(){return Tw.validatorInstance||(Tw.validatorInstance=new Tw),Tw.validatorInstance}validate(e,t,n){var i,s;const a=Y5(e).safeParse(t);if(!a.success){const l=this.convertErrors((s=(i=a.error)===null||i===void 0?void 0:i.issues)!==null&&s!==void 0?s:[]);if(l){if(n!=null&&n.silent)return l;throw new rE(l)}}}convertErrors(e){if(e&&Array.isArray(e)&&e.length>0)return e.map(t=>{var n;let i,s,o,a;a=t.path.join("/");const l=String(t.path[t.path.length-1]),u=t.path.join("/");if(t.code===Rt.too_big)s="maxItems",a=`${u}/maxItems`,o={limit:t.maximum},i=`must NOT have more than ${t.maximum} items`;else if(t.code===Rt.too_small)s="minItems",a=`${u}/minItems`,o={limit:t.minimum},i=`must NOT have fewer than ${t.minimum} items`;else if(t.code===Rt.custom){const{value:h,format:p}=(n=t.params)!==null&&n!==void 0?n:{};typeof h>"u"?i=`value at "/${a}" is required`:i=`value "${typeof h=="object"?JSON.stringify(h):h}" at "/${a}" must pass "${p}" validation`,o={value:h}}return{keyword:s??l,instancePath:u?`/${u}`:"",schemaPath:a?`#${a}`:"#",params:o??{value:t.message},message:i??t.message}})}}class dwe{constructor(){this._validator=Tw.factory()}validateJSONSchema(e,t,n){return this._validator.validate(e,t,n)}validate(e,t,n={silent:!1}){var i,s;const o=dZ(e);if(!(Array.isArray(o.items)&&((i=o.items)===null||i===void 0?void 0:i.length)===0&&t.length===0)){if(Array.isArray(o.items)&&((s=o.items)===null||s===void 0?void 0:s.length)===0&&t.length!==0)throw new rE([{instancePath:"/0",schemaPath:"/",keyword:"required",message:"empty schema against data can not be validated",params:t}]);return this._validator.validate(o,t,n)}}}const ZR=new dwe;function pwe(r){var e;return r instanceof Uint8Array||((e=r==null?void 0:r.constructor)===null||e===void 0?void 0:e.name)==="Uint8Array"}BigInt(0),BigInt(1),BigInt(1e3),BigInt(1e3),BigInt(1e3),BigInt(1e3),BigInt(1e6),BigInt(1e6),BigInt(1e6),BigInt(1e6),BigInt(1e9),BigInt(1e9),BigInt(1e9),BigInt(1e9),BigInt(1e9),BigInt(1e12),BigInt(1e12),BigInt(1e12),BigInt(1e15),BigInt(1e15),BigInt(1e15),BigInt("1000000000000000000"),BigInt("1000000000000000000000"),BigInt("1000000000000000000000"),BigInt("1000000000000000000000000"),BigInt("1000000000000000000000000000"),BigInt("1000000000000000000000000000000");const gwe=r=>{if(ZR.validate(["bytes"],[r]),pwe(r))return r;if(Array.isArray(r))return new Uint8Array(r);if(typeof r=="string")return qR(r);throw new OR(r)},{uint8ArrayToHexString:mwe}=awe,bwe=r=>mwe(gwe(r)),lE=(r,e)=>{typeof r!="bigint"&&ZR.validate(["int"],[r]);let t=sE(r);return e&&(!t.startsWith("-")&&t.length%2===1?t="0x0".concat(t.slice(2)):t.length%2===0&&t.startsWith("-")&&(t="-0x0".concat(t.slice(3)))),t},xZ=r=>{ZR.validate(["string"],[r]);let e=r.replace(/^(?:\u0000)/,"");return e=e.replace(/(?:\u0000)$/,""),bwe(new TextEncoder().encode(e))},JR=(r,e)=>{if(typeof r=="string"&&oE(r))return e?"address":`0x${r.toLowerCase().replace(/^0x/i,"")}`;if(typeof r=="boolean")return e?"bool":r?"0x01":"0x00";if(typeof r=="number")return e?r<0?"int256":"uint256":lE(r);if(typeof r=="bigint")return e?"bigint":lE(r);if(typeof r=="object"&&r)return e?"string":xZ(JSON.stringify(r));if(typeof r=="string"){if(r.startsWith("-0x")||r.startsWith("-0X"))return e?"int256":lE(r);if(ic(r))return e?"bytes":r;if(fZ(r)&&!J5(r)&&!Z5(r))return e?"bytes":`0x${r}`;if(fZ(r)&&!J5(r)&&Z5(r))return e?"uint":lE(r);if(!Number.isFinite(r))return e?"string":xZ(r)}throw new G2e(r)};var ct=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function wwe(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}function ad(r){if(r.__esModule)return r;var e=r.default;if(typeof e=="function"){var t=function n(){if(this instanceof n){var i=[null];i.push.apply(i,arguments);var s=Function.bind.apply(e,i);return new s}return e.apply(this,arguments)};t.prototype=e.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(r).forEach(function(n){var i=Object.getOwnPropertyDescriptor(r,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:function(){return r[n]}})}),t}var YR={},vwe={get exports(){return YR},set exports(r){YR=r}};(function(r){var e=Object.prototype.hasOwnProperty,t="~";function n(){}Object.create&&(n.prototype=Object.create(null),new n().__proto__||(t=!1));function i(l,u,h){this.fn=l,this.context=u,this.once=h||!1}function s(l,u,h,p,g){if(typeof h!="function")throw new TypeError("The listener must be a function");var w=new i(h,p||l,g),y=t?t+u:u;return l._events[y]?l._events[y].fn?l._events[y]=[l._events[y],w]:l._events[y].push(w):(l._events[y]=w,l._eventsCount++),l}function o(l,u){--l._eventsCount===0?l._events=new n:delete l._events[u]}function a(){this._events=new n,this._eventsCount=0}a.prototype.eventNames=function(){var u=[],h,p;if(this._eventsCount===0)return u;for(p in h=this._events)e.call(h,p)&&u.push(t?p.slice(1):p);return Object.getOwnPropertySymbols?u.concat(Object.getOwnPropertySymbols(h)):u},a.prototype.listeners=function(u){var h=t?t+u:u,p=this._events[h];if(!p)return[];if(p.fn)return[p.fn];for(var g=0,w=p.length,y=new Array(w);gp?I.c=I.e=null:D.e=10;d/=10,b++);b>p?I.c=I.e=null:(I.e=b,I.c=[D]);return}A=String(D)}else{if(!xwe.test(A=String(D)))return n(I,A,m);I.s=A.charCodeAt(0)==45?(A=A.slice(1),-1):1}(b=A.indexOf("."))>-1&&(A=A.replace(".","")),(d=A.search(/e/i))>0?(b<0&&(b=d),b+=+A.slice(d+1),A=A.substring(0,d)):b<0&&(b=A.length)}else{if(Xi(V,2,T.length,"Base"),V==10&&k)return I=new N(D),G(I,o+I.e+1,a);if(A=String(D),m=typeof D=="number"){if(D*0!=0)return n(I,A,m,V);if(I.s=1/D<0?(A=A.slice(1),-1):1,N.DEBUG&&A.replace(/^0\.0*|\./,"").length>15)throw Error(EZ+D)}else I.s=A.charCodeAt(0)===45?(A=A.slice(1),-1):1;for(Q=T.slice(0,V),b=d=0,x=A.length;db){b=x;continue}}else if(!M&&(A==A.toUpperCase()&&(A=A.toLowerCase())||A==A.toLowerCase()&&(A=A.toUpperCase()))){M=!0,d=-1,b=0;continue}return n(I,String(D),m,V)}m=!1,A=t(A,V,10,I.s),(b=A.indexOf("."))>-1?A=A.replace(".",""):b=A.length}for(d=0;A.charCodeAt(d)===48;d++);for(x=A.length;A.charCodeAt(--x)===48;);if(A=A.slice(d,++x)){if(x-=d,m&&N.DEBUG&&x>15&&(D>XR||D!==Tl(D)))throw Error(EZ+I.s*D);if((b=b-d-1)>p)I.c=I.e=null;else if(b=-co&&M<=co&&M===Tl(M)){if(F[0]===0){if(M===0&&F.length===1)return!0;break e}if(V=(M+1)%jr,V<1&&(V+=jr),String(F[0]).length==V){for(V=0;V=Tu||Q!==Tl(Q))break e;if(Q!==0)return!0}}}else if(F===null&&M===null&&(b===null||b===1||b===-1))return!0;throw Error(sc+"Invalid BigNumber: "+D)},N.maximum=N.max=function(){return B(arguments,-1)},N.minimum=N.min=function(){return B(arguments,1)},N.random=function(){var D=9007199254740992,V=Math.random()*D&2097151?function(){return Tl(Math.random()*D)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(Q){var F,M,b,d,m,x=0,A=[],I=new N(s);if(Q==null?Q=o:Xi(Q,0,co),d=QR(Q/jr),g)if(crypto.getRandomValues){for(F=crypto.getRandomValues(new Uint32Array(d*=2));x>>11),m>=9e15?(M=crypto.getRandomValues(new Uint32Array(2)),F[x]=M[0],F[x+1]=M[1]):(A.push(m%1e14),x+=2);x=d/2}else if(crypto.randomBytes){for(F=crypto.randomBytes(d*=7);x=9e15?crypto.randomBytes(7).copy(F,x):(A.push(m%1e14),x+=7);x=d/7}else throw g=!1,Error(sc+"crypto unavailable");if(!g)for(;x=10;m/=10,x++);xM-1&&(m[d+1]==null&&(m[d+1]=0),m[d+1]+=m[d]/M|0,m[d]%=M)}return m.reverse()}return function(Q,F,M,b,d){var m,x,A,I,R,S,E,_,L=Q.indexOf("."),ie=o,q=a;for(L>=0&&(I=y,y=0,Q=Q.replace(".",""),_=new N(F),S=_.pow(Q.length-L),y=I,_.c=V(cd(kl(S.c),S.e,"0"),10,M,D),_.e=_.c.length),E=V(Q,F,M,d?(m=T,D):(m=D,T)),A=I=E.length;E[--I]==0;E.pop());if(!E[0])return m.charAt(0);if(L<0?--A:(S.c=E,S.e=A,S.s=b,S=e(S,_,ie,q,M),E=S.c,R=S.r,A=S.e),x=A+ie+1,L=E[x],I=M/2,R=R||x<0||E[x+1]!=null,R=q<4?(L!=null||R)&&(q==0||q==(S.s<0?3:2)):L>I||L==I&&(q==4||R||q==6&&E[x-1]&1||q==(S.s<0?8:7)),x<1||!E[0])Q=R?cd(m.charAt(1),-ie,m.charAt(0)):m.charAt(0);else{if(E.length=x,R)for(--M;++E[--x]>M;)E[x]=0,x||(++A,E=[1].concat(E));for(I=E.length;!E[--I];);for(L=0,Q="";L<=I;Q+=m.charAt(E[L++]));Q=cd(Q,A,m.charAt(0))}return Q}}(),e=function(){function D(F,M,b){var d,m,x,A,I=0,R=F.length,S=M%Ep,E=M/Ep|0;for(F=F.slice();R--;)x=F[R]%Ep,A=F[R]/Ep|0,d=E*x+A*S,m=S*x+d%Ep*Ep+I,I=(m/b|0)+(d/Ep|0)+E*A,F[R]=m%b;return I&&(F=[I].concat(F)),F}function V(F,M,b,d){var m,x;if(b!=d)x=b>d?1:-1;else for(m=x=0;mM[m]?1:-1;break}return x}function Q(F,M,b,d){for(var m=0;b--;)F[b]-=m,m=F[b]1;F.splice(0,1));}return function(F,M,b,d,m){var x,A,I,R,S,E,_,L,ie,q,Y,K,te,re,H,U,W,le=F.s==M.s?1:-1,de=F.c,Se=M.c;if(!de||!de[0]||!Se||!Se[0])return new N(!F.s||!M.s||(de?Se&&de[0]==Se[0]:!Se)?NaN:de&&de[0]==0||!Se?le*0:le/0);for(L=new N(le),ie=L.c=[],A=F.e-M.e,le=b+A+1,m||(m=Tu,A=Rl(F.e/jr)-Rl(M.e/jr),le=le/jr|0),I=0;Se[I]==(de[I]||0);I++);if(Se[I]>(de[I]||0)&&A--,le<0)ie.push(1),R=!0;else{for(re=de.length,U=Se.length,I=0,le+=2,S=Tl(m/(Se[0]+1)),S>1&&(Se=D(Se,S,m),de=D(de,S,m),U=Se.length,re=de.length),te=U,q=de.slice(0,U),Y=q.length;Y=m/2&&H++;do{if(S=0,x=V(Se,q,U,Y),x<0){if(K=q[0],U!=Y&&(K=K*m+(q[1]||0)),S=Tl(K/H),S>1)for(S>=m&&(S=m-1),E=D(Se,S,m),_=E.length,Y=q.length;V(E,q,_,Y)==1;)S--,Q(E,U<_?W:Se,_,m),_=E.length,x=1;else S==0&&(x=S=1),E=Se.slice(),_=E.length;if(_=10;le/=10,I++);G(L,b+(L.e=I+A*jr-1)+1,d,R)}else L.e=A,L.r=+R;return L}}();function O(D,V,Q,F){var M,b,d,m,x;if(Q==null?Q=a:Xi(Q,0,8),!D.c)return D.toString();if(M=D.c[0],d=D.e,V==null)x=kl(D.c),x=F==1||F==2&&(d<=l||d>=u)?hE(x,d):cd(x,d,"0");else if(D=G(new N(D),V,Q),b=D.e,x=kl(D.c),m=x.length,F==1||F==2&&(V<=b||b<=l)){for(;mm){if(--V>0)for(x+=".";V--;x+="0");}else if(V+=b-m,V>0)for(b+1==m&&(x+=".");V--;x+="0");return D.s<0&&M?"-"+x:x}function B(D,V){for(var Q,F,M=1,b=new N(D[0]);M=10;M/=10,F++);return(Q=F+Q*jr-1)>p?D.c=D.e=null:Q=10;m/=10,M++);if(b=V-M,b<0)b+=jr,d=V,x=R[A=0],I=Tl(x/S[M-d-1]%10);else if(A=QR((b+1)/jr),A>=R.length)if(F){for(;R.length<=A;R.push(0));x=I=0,M=1,b%=jr,d=b-jr+1}else break e;else{for(x=m=R[A],M=1;m>=10;m/=10,M++);b%=jr,d=b-jr+M,I=d<0?0:Tl(x/S[M-d-1]%10)}if(F=F||V<0||R[A+1]!=null||(d<0?x:x%S[M-d-1]),F=Q<4?(I||F)&&(Q==0||Q==(D.s<0?3:2)):I>5||I==5&&(Q==4||F||Q==6&&(b>0?d>0?x/S[M-d]:0:R[A-1])%10&1||Q==(D.s<0?8:7)),V<1||!R[0])return R.length=0,F?(V-=D.e+1,R[0]=S[(jr-V%jr)%jr],D.e=-V||0):R[0]=D.e=0,D;if(b==0?(R.length=A,m=1,A--):(R.length=A+1,m=S[jr-b],R[A]=d>0?Tl(x/S[M-d]%S[d])*m:0),F)for(;;)if(A==0){for(b=1,d=R[0];d>=10;d/=10,b++);for(d=R[0]+=m,m=1;d>=10;d/=10,m++);b!=m&&(D.e++,R[0]==Tu&&(R[0]=1));break}else{if(R[A]+=m,R[A]!=Tu)break;R[A--]=0,m=1}for(b=R.length;R[--b]===0;R.pop());}D.e>p?D.c=D.e=null:D.e=u?hE(V,Q):cd(V,Q,"0"),D.s<0?"-"+V:V)}return i.absoluteValue=i.abs=function(){var D=new N(this);return D.s<0&&(D.s=1),D},i.comparedTo=function(D,V){return gg(this,new N(D,V))},i.decimalPlaces=i.dp=function(D,V){var Q,F,M,b=this;if(D!=null)return Xi(D,0,co),V==null?V=a:Xi(V,0,8),G(new N(b),D+b.e+1,V);if(!(Q=b.c))return null;if(F=((M=Q.length-1)-Rl(this.e/jr))*jr,M=Q[M])for(;M%10==0;M/=10,F--);return F<0&&(F=0),F},i.dividedBy=i.div=function(D,V){return e(this,new N(D,V),o,a)},i.dividedToIntegerBy=i.idiv=function(D,V){return e(this,new N(D,V),0,1)},i.exponentiatedBy=i.pow=function(D,V){var Q,F,M,b,d,m,x,A,I,R=this;if(D=new N(D),D.c&&!D.isInteger())throw Error(sc+"Exponent not an integer: "+$(D));if(V!=null&&(V=new N(V)),m=D.e>14,!R.c||!R.c[0]||R.c[0]==1&&!R.e&&R.c.length==1||!D.c||!D.c[0])return I=new N(Math.pow(+$(R),m?D.s*(2-uE(D)):+$(D))),V?I.mod(V):I;if(x=D.s<0,V){if(V.c?!V.c[0]:!V.s)return new N(NaN);F=!x&&R.isInteger()&&V.isInteger(),F&&(R=R.mod(V))}else{if(D.e>9&&(R.e>0||R.e<-1||(R.e==0?R.c[0]>1||m&&R.c[1]>=24e7:R.c[0]<8e13||m&&R.c[0]<=9999975e7)))return b=R.s<0&&uE(D)?-0:0,R.e>-1&&(b=1/b),new N(x?1/b:b);y&&(b=QR(y/jr+2))}for(m?(Q=new N(.5),x&&(D.s=1),A=uE(D)):(M=Math.abs(+$(D)),A=M%2),I=new N(s);;){if(A){if(I=I.times(R),!I.c)break;b?I.c.length>b&&(I.c.length=b):F&&(I=I.mod(V))}if(M){if(M=Tl(M/2),M===0)break;A=M%2}else if(D=D.times(Q),G(D,D.e+1,1),D.e>14)A=uE(D);else{if(M=+$(D),M===0)break;A=M%2}R=R.times(R),b?R.c&&R.c.length>b&&(R.c.length=b):F&&(R=R.mod(V))}return F?I:(x&&(I=s.div(I)),V?I.mod(V):b?G(I,y,a,d):I)},i.integerValue=function(D){var V=new N(this);return D==null?D=a:Xi(D,0,8),G(V,V.e+1,D)},i.isEqualTo=i.eq=function(D,V){return gg(this,new N(D,V))===0},i.isFinite=function(){return!!this.c},i.isGreaterThan=i.gt=function(D,V){return gg(this,new N(D,V))>0},i.isGreaterThanOrEqualTo=i.gte=function(D,V){return(V=gg(this,new N(D,V)))===1||V===0},i.isInteger=function(){return!!this.c&&Rl(this.e/jr)>this.c.length-2},i.isLessThan=i.lt=function(D,V){return gg(this,new N(D,V))<0},i.isLessThanOrEqualTo=i.lte=function(D,V){return(V=gg(this,new N(D,V)))===-1||V===0},i.isNaN=function(){return!this.s},i.isNegative=function(){return this.s<0},i.isPositive=function(){return this.s>0},i.isZero=function(){return!!this.c&&this.c[0]==0},i.minus=function(D,V){var Q,F,M,b,d=this,m=d.s;if(D=new N(D,V),V=D.s,!m||!V)return new N(NaN);if(m!=V)return D.s=-V,d.plus(D);var x=d.e/jr,A=D.e/jr,I=d.c,R=D.c;if(!x||!A){if(!I||!R)return I?(D.s=-V,D):new N(R?d:NaN);if(!I[0]||!R[0])return R[0]?(D.s=-V,D):new N(I[0]?d:a==3?-0:0)}if(x=Rl(x),A=Rl(A),I=I.slice(),m=x-A){for((b=m<0)?(m=-m,M=I):(A=x,M=R),M.reverse(),V=m;V--;M.push(0));M.reverse()}else for(F=(b=(m=I.length)<(V=R.length))?m:V,m=V=0;V0)for(;V--;I[Q++]=0);for(V=Tu-1;F>m;){if(I[--F]=0;){for(Q=0,S=K[M]%ie,E=K[M]/ie|0,d=x,b=M+d;b>M;)A=Y[--d]%ie,I=Y[d]/ie|0,m=E*A+I*S,A=S*A+m%ie*ie+_[b]+Q,Q=(A/L|0)+(m/ie|0)+E*I,_[b--]=A%L;_[b]=Q}return Q?++F:_.splice(0,1),z(D,_,F)},i.negated=function(){var D=new N(this);return D.s=-D.s||null,D},i.plus=function(D,V){var Q,F=this,M=F.s;if(D=new N(D,V),V=D.s,!M||!V)return new N(NaN);if(M!=V)return D.s=-V,F.minus(D);var b=F.e/jr,d=D.e/jr,m=F.c,x=D.c;if(!b||!d){if(!m||!x)return new N(M/0);if(!m[0]||!x[0])return x[0]?D:new N(m[0]?F:M*0)}if(b=Rl(b),d=Rl(d),m=m.slice(),M=b-d){for(M>0?(d=b,Q=x):(M=-M,Q=m),Q.reverse();M--;Q.push(0));Q.reverse()}for(M=m.length,V=x.length,M-V<0&&(Q=x,x=m,m=Q,V=M),M=0;V;)M=(m[--V]=m[V]+x[V]+M)/Tu|0,m[V]=Tu===m[V]?0:m[V]%Tu;return M&&(m=[M].concat(m),++d),z(D,m,d)},i.precision=i.sd=function(D,V){var Q,F,M,b=this;if(D!=null&&D!==!!D)return Xi(D,1,co),V==null?V=a:Xi(V,0,8),G(new N(b),D,V);if(!(Q=b.c))return null;if(M=Q.length-1,F=M*jr+1,M=Q[M]){for(;M%10==0;M/=10,F--);for(M=Q[0];M>=10;M/=10,F++);}return D&&b.e+1>F&&(F=b.e+1),F},i.shiftedBy=function(D){return Xi(D,-XR,XR),this.times("1e"+D)},i.squareRoot=i.sqrt=function(){var D,V,Q,F,M,b=this,d=b.c,m=b.s,x=b.e,A=o+4,I=new N("0.5");if(m!==1||!d||!d[0])return new N(!m||m<0&&(!d||d[0])?NaN:d?b:1/0);if(m=Math.sqrt(+$(b)),m==0||m==1/0?(V=kl(d),(V.length+x)%2==0&&(V+="0"),m=Math.sqrt(+V),x=Rl((x+1)/2)-(x<0||x%2),m==1/0?V="5e"+x:(V=m.toExponential(),V=V.slice(0,V.indexOf("e")+1)+x),Q=new N(V)):Q=new N(m+""),Q.c[0]){for(x=Q.e,m=x+A,m<3&&(m=0);;)if(M=Q,Q=I.times(M.plus(e(b,M,A,1))),kl(M.c).slice(0,m)===(V=kl(Q.c)).slice(0,m))if(Q.e0&&_>0){for(b=_%m||m,I=E.substr(0,b);b<_;b+=m)I+=A+E.substr(b,m);x>0&&(I+=A+E.slice(b)),S&&(I="-"+I)}F=R?I+(Q.decimalSeparator||"")+((x=+Q.fractionGroupSize)?R.replace(new RegExp("\\d{"+x+"}\\B","g"),"$&"+(Q.fractionGroupSeparator||"")):R):I}return(Q.prefix||"")+F+(Q.suffix||"")},i.toFraction=function(D){var V,Q,F,M,b,d,m,x,A,I,R,S,E=this,_=E.c;if(D!=null&&(m=new N(D),!m.isInteger()&&(m.c||m.s!==1)||m.lt(s)))throw Error(sc+"Argument "+(m.isInteger()?"out of range: ":"not an integer: ")+$(m));if(!_)return new N(E);for(V=new N(s),A=Q=new N(s),F=x=new N(s),S=kl(_),b=V.e=S.length-E.e-1,V.c[0]=ek[(d=b%jr)<0?jr+d:d],D=!D||m.comparedTo(V)>0?b>0?V:A:m,d=p,p=1/0,m=new N(S),x.c[0]=0;I=e(m,V,0,1),M=Q.plus(I.times(F)),M.comparedTo(D)!=1;)Q=F,F=M,A=x.plus(I.times(M=A)),x=M,V=m.minus(I.times(M=V)),m=M;return M=e(D.minus(Q),F,0,1),x=x.plus(M.times(A)),Q=Q.plus(M.times(F)),x.s=A.s=E.s,b=b*2,R=e(A,F,b,a).minus(E).abs().comparedTo(e(x,Q,b,a).minus(E).abs())<1?[A,F]:[x,Q],p=d,R},i.toNumber=function(){return+$(this)},i.toPrecision=function(D,V){return D!=null&&Xi(D,1,co),O(this,D,V,2)},i.toString=function(D){var V,Q=this,F=Q.s,M=Q.e;return M===null?F?(V="Infinity",F<0&&(V="-"+V)):V="NaN":(D==null?V=M<=l||M>=u?hE(kl(Q.c),M):cd(kl(Q.c),M,"0"):D===10&&k?(Q=G(new N(Q),o+M+1,a),V=cd(kl(Q.c),Q.e,"0")):(Xi(D,2,T.length,"Base"),V=t(cd(kl(Q.c),M,"0"),10,D,F,!0)),F<0&&Q.c[0]&&(V="-"+V)),V},i.valueOf=i.toJSON=function(){return $(this)},i._isBigNumber=!0,i[Symbol.toStringTag]="BigNumber",i[Symbol.for("nodejs.util.inspect.custom")]=i.valueOf,r!=null&&N.set(r),N}function Rl(r){var e=r|0;return r>0||r===e?e:e-1}function kl(r){for(var e,t,n=1,i=r.length,s=r[0]+"";nu^t?1:-1;for(a=(l=i.length)<(u=s.length)?l:u,o=0;os[o]^t?1:-1;return l==u?0:l>u^t?1:-1}function Xi(r,e,t,n){if(rt||r!==Tl(r))throw Error(sc+(n||"Argument")+(typeof r=="number"?rt?" out of range: ":" not an integer: ":" not a primitive number: ")+String(r))}function uE(r){var e=r.c.length-1;return Rl(r.e/jr)==e&&r.c[e]%2!=0}function hE(r,e){return(r.length>1?r.charAt(0)+"."+r.slice(1):r)+(e<0?"e":"e+")+e}function cd(r,e,t){var n,i;if(e<0){for(i=t+".";++e;i+=t);r=i+r}else if(n=r.length,++e>n){for(i=t,e-=n;--e;i+=t);r+=i}else e{const t="1"+"0".repeat(e),n=new es(r.toString(10),10);return JR(n.times(t).toString(16))},ld=(r,e)=>{const t="1"+"0".repeat(e),n=new es(r.toString(),10);return parseFloat(n.dividedBy(t).toString())},Ewe=r=>{typeof r=="string"&&(r=new Uint8Array(Dt.from(r)));const e=[];let t=BigInt("0x"+Dt.from(r).toString("hex"));for(;t>BigInt(0);){const n=Number(t%BigInt(58));e.unshift(tk[n]),t=t/BigInt(58)}for(let n=0;n{let e=BigInt(0);for(let i=0;iDt.from(r).toString("utf8"),Swe=r=>Dt.from(r,"utf8"),Iwe=r=>!isNaN(Number(r)),CZ=async r=>{await new Promise(e=>setTimeout(e,r))},X5=(r,e)=>JSON.stringify(r)===JSON.stringify(e),Twe=r=>{const[e,t]=r.toExponential().split("e").map(i=>parseFloat(i));let n=(e*Math.pow(10,t)).toString();return n=parseFloat(n).toString(),n},rk=async r=>await new Promise((e,t)=>{let n;typeof window<"u"?n=new WebSocket(r):n=new _we.WebSocket(r),n.onopen=()=>{e(!0),n.close()},n.onerror=i=>{t(new Error(i.message)),n.close()}}),Rwe=Object.freeze(Object.defineProperty({__proto__:null,base58Decode:Awe,base58Encode:Ewe,bufferToString:Cwe,checkWebSocket:rk,hexToNumber:ld,isMobile:()=>typeof window>"u"?!1:function(r){return!!(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(r)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(r.substr(0,4)))}(navigator.userAgent||navigator.vendor||window.opera),isNumeric:Iwe,isWebview:()=>{if(typeof window>"u")return!1;const r=window.navigator;if(window.WebViewJavascriptBridge||window.webkit&&window.webkit.messageHandlers||r.userAgent.match(/WebView/i))return!0;const e=r.standalone,t=r.userAgent.toLowerCase(),n=/safari/.test(t);return/iphone|ipod|ipad/.test(t)?!e&&!n:t.includes("wv")},math:{add:(r,e,t=18)=>parseFloat(new es(r).plus(new es(e)).toFixed(t)),sub:(r,e,t=18)=>parseFloat(new es(r).minus(new es(e)).toFixed(t)),mul:(r,e,t=18)=>parseFloat(new es(r).times(new es(e)).toFixed(t)),div:(r,e,t=18)=>parseFloat(new es(r).div(new es(e)).toFixed(t)),pow:(r,e,t=18)=>parseFloat(new es(r).pow(e).toFixed(t)),sqrt:(r,e=18)=>parseFloat(new es(r).sqrt().toFixed(e)),abs:(r,e=18)=>parseFloat(new es(r).absoluteValue().toFixed(e)),ceil:(r,e=18)=>parseFloat(new es(r).integerValue(es.ROUND_CEIL).toFixed(e)),floor:(r,e=18)=>parseFloat(new es(r).integerValue(es.ROUND_FLOOR).toFixed(e)),round:(r,e=18)=>parseFloat(new es(r).integerValue(es.ROUND_HALF_UP).toFixed(e))},numberToHex:Q5,objectsEqual:X5,sleep:CZ,stringToBuffer:Swe,toHex:JR,toReadableString:Twe},Symbol.toStringTag,{value:"Module"})),fE="6.11.1";function kwe(r,e,t){const n=e.split("|").map(s=>s.trim());for(let s=0;sPromise.resolve(r[n])))).reduce((n,i,s)=>(n[e[s]]=i,n),{})}function er(r,e,t){for(let n in e){let i=e[n];const s=t?t[n]:null;s&&kwe(i,s,n),Object.defineProperty(r,n,{enumerable:!0,value:i,writable:!1})}}function Rw(r){if(r==null)return"null";if(Array.isArray(r))return"[ "+r.map(Rw).join(", ")+" ]";if(r instanceof Uint8Array){const e="0123456789abcdef";let t="0x";for(let n=0;n>4],t+=e[r[n]&15];return t}if(typeof r=="object"&&typeof r.toJSON=="function")return Rw(r.toJSON());switch(typeof r){case"boolean":case"symbol":return r.toString();case"bigint":return BigInt(r).toString();case"number":return r.toString();case"string":return JSON.stringify(r);case"object":{const e=Object.keys(r);return e.sort(),"{ "+e.map(t=>`${Rw(t)}: ${Rw(r[t])}`).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function $s(r,e){return r&&r.code===e}function e4(r){return $s(r,"CALL_EXCEPTION")}function Wi(r,e,t){let n=r;{const s=[];if(t){if("message"in t||"code"in t||"name"in t)throw new Error(`value will overwrite populated values: ${Rw(t)}`);for(const o in t){if(o==="shortMessage")continue;const a=t[o];s.push(o+"="+Rw(a))}}s.push(`code=${e}`),s.push(`version=${fE}`),s.length&&(r+=" ("+s.join(", ")+")")}let i;switch(e){case"INVALID_ARGUMENT":i=new TypeError(r);break;case"NUMERIC_FAULT":case"BUFFER_OVERRUN":i=new RangeError(r);break;default:i=new Error(r)}return er(i,{code:e}),t&&Object.assign(i,t),i.shortMessage==null&&er(i,{shortMessage:n}),i}function Ue(r,e,t,n){if(!r)throw Wi(e,t,n)}function xe(r,e,t,n){Ue(r,e,"INVALID_ARGUMENT",{argument:t,value:n})}function dE(r,e,t){t==null&&(t=""),t&&(t=": "+t),Ue(r>=e,"missing arguemnt"+t,"MISSING_ARGUMENT",{count:r,expectedCount:e}),Ue(r<=e,"too many arguments"+t,"UNEXPECTED_ARGUMENT",{count:r,expectedCount:e})}const Mwe=["NFD","NFC","NFKD","NFKC"].reduce((r,e)=>{try{if("test".normalize(e)!=="test")throw new Error("bad");if(e==="NFD"){const t=String.fromCharCode(233).normalize("NFD"),n=String.fromCharCode(101,769);if(t!==n)throw new Error("broken")}r.push(e)}catch{}return r},[]);function pE(r){Ue(Mwe.indexOf(r)>=0,"platform missing String.prototype.normalize","UNSUPPORTED_OPERATION",{operation:"String.prototype.normalize",info:{form:r}})}function Lh(r,e,t){if(t==null&&(t=""),r!==e){let n=t,i="new";t&&(n+=".",i+=" "+t),Ue(!1,`private constructor; use ${n}from* methods`,"UNSUPPORTED_OPERATION",{operation:i})}}function SZ(r,e,t){if(r instanceof Uint8Array)return t?new Uint8Array(r):r;if(typeof r=="string"&&r.match(/^0x([0-9a-f][0-9a-f])*$/i)){const n=new Uint8Array((r.length-2)/2);let i=2;for(let s=0;s>4]+IZ[i&15]}return t}function Sn(r){return"0x"+r.map(e=>St(e).substring(2)).join("")}function ud(r){return ui(r,!0)?(r.length-2)/2:$t(r).length}function hi(r,e,t){const n=$t(r);return t!=null&&t>n.length&&Ue(!1,"cannot slice beyond data bounds","BUFFER_OVERRUN",{buffer:n,length:n.length,offset:t}),St(n.slice(e??0,t??n.length))}function TZ(r){let e=St(r).substring(2);for(;e.startsWith("00");)e=e.substring(2);return"0x"+e}function RZ(r,e,t){const n=$t(r);Ue(e>=n.length,"padding exceeds data length","BUFFER_OVERRUN",{buffer:new Uint8Array(n),length:e,offset:e+1});const i=new Uint8Array(e);return i.fill(0),t?i.set(n,e-n.length):i.set(n,0),St(i)}function Oo(r,e){return RZ(r,e,!0)}function t4(r,e){return RZ(r,e,!1)}const mE=BigInt(0),Ru=BigInt(1),kw=9007199254740991;function Mw(r,e){const t=Nw(r,"value"),n=BigInt(Ir(e,"width"));if(Ue(t>>n===mE,"overflow","NUMERIC_FAULT",{operation:"fromTwos",fault:"overflow",value:r}),t>>n-Ru){const i=(Ru<=-kw&&r<=kw,"overflow",e||"value",r),BigInt(r);case"string":try{if(r==="")throw new Error("empty string");return r[0]==="-"&&r[1]!=="-"?-BigInt(r.substring(1)):BigInt(r)}catch(t){xe(!1,`invalid BigNumberish string: ${t.message}`,e||"value",r)}}xe(!1,"invalid BigNumberish value",e||"value",r)}function Nw(r,e){const t=cr(r,e);return Ue(t>=mE,"unsigned value cannot be negative","NUMERIC_FAULT",{fault:"overflow",operation:"getUint",value:r}),t}const kZ="0123456789abcdef";function mg(r){if(r instanceof Uint8Array){let e="0x0";for(const t of r)e+=kZ[t>>4],e+=kZ[t&15];return BigInt(e)}return cr(r)}function Ir(r,e){switch(typeof r){case"bigint":return xe(r>=-kw&&r<=kw,"overflow",e||"value",r),Number(r);case"number":return xe(Number.isInteger(r),"underflow",e||"value",r),xe(r>=-kw&&r<=kw,"overflow",e||"value",r),r;case"string":try{if(r==="")throw new Error("empty string");return Ir(BigInt(r),e)}catch(t){xe(!1,`invalid numeric string: ${t.message}`,e||"value",r)}}xe(!1,"invalid numeric value",e||"value",r)}function nk(r){return Ir(mg(r))}function ku(r,e){let n=Nw(r,"value").toString(16);if(e==null)n.length%2&&(n="0"+n);else{const i=Ir(e,"width");for(Ue(i*2>=n.length,`value exceeds width (${i} bytes)`,"NUMERIC_FAULT",{operation:"toBeHex",fault:"overflow",value:r});n.length>6===2;o++)s++;return s}return r==="OVERRUN"?t.length-e-1:0}function Dwe(r,e,t,n,i){return r==="OVERLONG"?(xe(typeof i=="number","invalid bad code point for replacement","badCodepoint",i),n.push(i),0):(n.push(65533),MZ(r,e,t))}const ck=Object.freeze({error:Owe,ignore:MZ,replace:Dwe});function NZ(r,e){e==null&&(e=ck.error);const t=$t(r,"bytes"),n=[];let i=0;for(;i>7)){n.push(s);continue}let o=null,a=null;if((s&224)===192)o=1,a=127;else if((s&240)===224)o=2,a=2047;else if((s&248)===240)o=3,a=65535;else{(s&192)===128?i+=e("UNEXPECTED_CONTINUE",i-1,t,n):i+=e("BAD_PREFIX",i-1,t,n);continue}if(i-1+o>=t.length){i+=e("OVERRUN",i-1,t,n);continue}let l=s&(1<<8-o-1)-1;for(let u=0;u1114111){i+=e("OUT_OF_RANGE",i-1-o,t,n,l);continue}if(l>=55296&&l<=57343){i+=e("UTF16_SURROGATE",i-1-o,t,n,l);continue}if(l<=a){i+=e("OVERLONG",i-1-o,t,n,l);continue}n.push(l)}}return n}function Bs(r,e){xe(typeof r=="string","invalid string value","str",r),e!=null&&(pE(e),r=r.normalize(e));let t=[];for(let n=0;n>6|192),t.push(i&63|128);else if((i&64512)==55296){n++;const s=r.charCodeAt(n);xe(n>18|240),t.push(o>>12&63|128),t.push(o>>6&63|128),t.push(o&63|128)}else t.push(i>>12|224),t.push(i>>6&63|128),t.push(i&63|128)}return new Uint8Array(t)}function $we(r){return r.map(e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10&1023)+55296,(e&1023)+56320))).join("")}function dd(r,e){return $we(NZ(r,e))}function PZ(r,e){return NZ(Bs(r,e))}function OZ(r){async function e(t,n){const i=t.url.split(":")[0].toLowerCase();Ue(i==="http"||i==="https",`unsupported protocol ${i}`,"UNSUPPORTED_OPERATION",{info:{protocol:i},operation:"request"}),Ue(i==="https"||!t.credentials||t.allowInsecureAuthentication,"insecure authorized connections unsupported","UNSUPPORTED_OPERATION",{operation:"request"});let s;if(n){const p=new AbortController;s=p.signal,n.addListener(()=>{p.abort()})}const o={method:t.method,headers:new Headers(Array.from(t)),body:t.body||void 0,signal:s},a=await fetch(t.url,o),l={};a.headers.forEach((p,g)=>{l[g.toLowerCase()]=p});const u=await a.arrayBuffer(),h=u==null?null:new Uint8Array(u);return{statusCode:a.status,statusMessage:a.statusText,headers:l,body:h}}return e}const Bwe=12,Lwe=250;let DZ=OZ();const Uwe=new RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),Fwe=new RegExp("^ipfs://(ipfs/)?(.*)$","i");let lk=!1;async function $Z(r,e){try{const t=r.match(Uwe);if(!t)throw new Error("invalid data");return new Uh(200,"OK",{"content-type":t[1]||"text/plain"},t[2]?ok(t[3]):jwe(t[3]))}catch{return new Uh(599,"BAD REQUEST (invalid data: URI)",{},null,new Do(r))}}function BZ(r){async function e(t,n){try{const i=t.match(Fwe);if(!i)throw new Error("invalid link");return new Do(`${r}${i[2]}`)}catch{return new Uh(599,"BAD REQUEST (invalid IPFS URI)",{},null,new Do(t))}}return e}const xE={data:$Z,ipfs:BZ("https://gateway.ipfs.io/ipfs/")},LZ=new WeakMap;class uk{constructor(e){Ne(this,S2,void 0);Ne(this,L1,void 0);me(this,S2,[]),me(this,L1,!1),LZ.set(e,()=>{if(!oe(this,L1)){me(this,L1,!0);for(const t of oe(this,S2))setTimeout(()=>{t()},0);me(this,S2,[])}})}addListener(e){Ue(!oe(this,L1),"singal already cancelled","UNSUPPORTED_OPERATION",{operation:"fetchCancelSignal.addCancelListener"}),oe(this,S2).push(e)}get cancelled(){return oe(this,L1)}checkSignal(){Ue(!this.cancelled,"cancelled","CANCELLED",{})}}S2=new WeakMap,L1=new WeakMap;function _E(r){if(r==null)throw new Error("missing signal; should not happen");return r.checkSignal(),r}const ZT=class{constructor(e){Ne(this,k2);Ne(this,T3,void 0);Ne(this,R3,void 0);Ne(this,uh,void 0);Ne(this,d0,void 0);Ne(this,k3,void 0);Ne(this,M3,void 0);Ne(this,Mo,void 0);Ne(this,il,void 0);Ne(this,p0,void 0);Ne(this,I2,void 0);Ne(this,T2,void 0);Ne(this,R2,void 0);Ne(this,Hf,void 0);Ne(this,g0,void 0);Ne(this,U1,void 0);me(this,M3,String(e)),me(this,T3,!1),me(this,R3,!0),me(this,uh,{}),me(this,d0,""),me(this,k3,3e5),me(this,g0,{slotInterval:Lwe,maxAttempts:Bwe}),me(this,U1,null)}get url(){return oe(this,M3)}set url(e){me(this,M3,String(e))}get body(){return oe(this,Mo)==null?null:new Uint8Array(oe(this,Mo))}set body(e){if(e==null)me(this,Mo,void 0),me(this,il,void 0);else if(typeof e=="string")me(this,Mo,Bs(e)),me(this,il,"text/plain");else if(e instanceof Uint8Array)me(this,Mo,e),me(this,il,"application/octet-stream");else if(typeof e=="object")me(this,Mo,Bs(JSON.stringify(e))),me(this,il,"application/json");else throw new Error("invalid body")}hasBody(){return oe(this,Mo)!=null}get method(){return oe(this,d0)?oe(this,d0):this.hasBody()?"POST":"GET"}set method(e){e==null&&(e=""),me(this,d0,String(e).toUpperCase())}get headers(){const e=Object.assign({},oe(this,uh));return oe(this,p0)&&(e.authorization=`Basic ${ak(Bs(oe(this,p0)))}`),this.allowGzip&&(e["accept-encoding"]="gzip"),e["content-type"]==null&&oe(this,il)&&(e["content-type"]=oe(this,il)),this.body&&(e["content-length"]=String(this.body.length)),e}getHeader(e){return this.headers[e.toLowerCase()]}setHeader(e,t){oe(this,uh)[String(e).toLowerCase()]=String(t)}clearHeaders(){me(this,uh,{})}[Symbol.iterator](){const e=this.headers,t=Object.keys(e);let n=0;return{next:()=>{if(n=0,"timeout must be non-zero","timeout",e),me(this,k3,e)}get preflightFunc(){return oe(this,I2)||null}set preflightFunc(e){me(this,I2,e)}get processFunc(){return oe(this,T2)||null}set processFunc(e){me(this,T2,e)}get retryFunc(){return oe(this,R2)||null}set retryFunc(e){me(this,R2,e)}get getUrlFunc(){return oe(this,U1)||DZ}set getUrlFunc(e){me(this,U1,e)}toString(){return``}setThrottleParams(e){e.slotInterval!=null&&(oe(this,g0).slotInterval=e.slotInterval),e.maxAttempts!=null&&(oe(this,g0).maxAttempts=e.maxAttempts)}send(){return Ue(oe(this,Hf)==null,"request already sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.send"}),me(this,Hf,new uk(this)),rt(this,k2,m_).call(this,0,UZ()+this.timeout,0,this,new Uh(0,"",{},null,this))}cancel(){Ue(oe(this,Hf)!=null,"request has not been sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.cancel"});const e=LZ.get(this);if(!e)throw new Error("missing signal; should not happen");e()}redirect(e){const t=this.url.split(":")[0].toLowerCase(),n=e.split(":")[0].toLowerCase();Ue(this.method==="GET"&&(t!=="https"||n!=="http")&&e.match(/^https?:/),"unsupported redirect","UNSUPPORTED_OPERATION",{operation:`redirect(${this.method} ${JSON.stringify(this.url)} => ${JSON.stringify(e)})`});const i=new ZT(e);return i.method="GET",i.allowGzip=this.allowGzip,i.timeout=this.timeout,me(i,uh,Object.assign({},oe(this,uh))),oe(this,Mo)&&me(i,Mo,new Uint8Array(oe(this,Mo))),me(i,il,oe(this,il)),i}clone(){const e=new ZT(this.url);return me(e,d0,oe(this,d0)),oe(this,Mo)&&me(e,Mo,oe(this,Mo)),me(e,il,oe(this,il)),me(e,uh,Object.assign({},oe(this,uh))),me(e,p0,oe(this,p0)),this.allowGzip&&(e.allowGzip=!0),e.timeout=this.timeout,this.allowInsecureAuthentication&&(e.allowInsecureAuthentication=!0),me(e,I2,oe(this,I2)),me(e,T2,oe(this,T2)),me(e,R2,oe(this,R2)),me(e,U1,oe(this,U1)),e}static lockConfig(){lk=!0}static getGateway(e){return xE[e.toLowerCase()]||null}static registerGateway(e,t){if(e=e.toLowerCase(),e==="http"||e==="https")throw new Error(`cannot intercept ${e}; use registerGetUrl`);if(lk)throw new Error("gateways locked");xE[e]=t}static registerGetUrl(e){if(lk)throw new Error("gateways locked");DZ=e}static createGetUrlFunc(e){return OZ()}static createDataGateway(){return $Z}static createIpfsGatewayFunc(e){return BZ(e)}};let Do=ZT;T3=new WeakMap,R3=new WeakMap,uh=new WeakMap,d0=new WeakMap,k3=new WeakMap,M3=new WeakMap,Mo=new WeakMap,il=new WeakMap,p0=new WeakMap,I2=new WeakMap,T2=new WeakMap,R2=new WeakMap,Hf=new WeakMap,g0=new WeakMap,U1=new WeakMap,k2=new WeakSet,m_=async function(e,t,n,i,s){var h,p,g;if(e>=oe(this,g0).maxAttempts)return s.makeServerError("exceeded maximum retry limit");Ue(UZ()<=t,"timeout","TIMEOUT",{operation:"request.send",reason:"timeout",request:i}),n>0&&await zwe(n);let o=this.clone();const a=(o.url.split(":")[0]||"").toLowerCase();if(a in xE){const w=await xE[a](o.url,_E(oe(i,Hf)));if(w instanceof Uh){let y=w;if(this.processFunc){_E(oe(i,Hf));try{y=await this.processFunc(o,y)}catch(C){(C.throttle==null||typeof C.stall!="number")&&y.makeServerError("error in post-processing function",C).assertOk()}}return y}o=w}this.preflightFunc&&(o=await this.preflightFunc(o));const l=await this.getUrlFunc(o,_E(oe(i,Hf)));let u=new Uh(l.statusCode,l.statusMessage,l.headers,l.body,i);if(u.statusCode===301||u.statusCode===302){try{const w=u.headers.location||"";return rt(h=o.redirect(w),k2,m_).call(h,e+1,t,0,i,u)}catch{}return u}else if(u.statusCode===429&&(this.retryFunc==null||await this.retryFunc(o,u,e))){const w=u.headers["retry-after"];let y=oe(this,g0).slotInterval*Math.trunc(Math.random()*Math.pow(2,e));return typeof w=="string"&&w.match(/^[1-9][0-9]*$/)&&(y=parseInt(w)),rt(p=o.clone(),k2,m_).call(p,e+1,t,y,i,u)}if(this.processFunc){_E(oe(i,Hf));try{u=await this.processFunc(o,u)}catch(w){(w.throttle==null||typeof w.stall!="number")&&u.makeServerError("error in post-processing function",w).assertOk();let y=oe(this,g0).slotInterval*Math.trunc(Math.random()*Math.pow(2,e));return w.stall>=0&&(y=w.stall),rt(g=o.clone(),k2,m_).call(g,e+1,t,y,i,u)}}return u};const oj=class{constructor(e,t,n,i,s){Ne(this,Mx,void 0);Ne(this,Nx,void 0);Ne(this,Px,void 0);Ne(this,sl,void 0);Ne(this,N3,void 0);Ne(this,M2,void 0);me(this,Mx,e),me(this,Nx,t),me(this,Px,Object.keys(n).reduce((o,a)=>(o[a.toLowerCase()]=String(n[a]),o),{})),me(this,sl,i==null?null:new Uint8Array(i)),me(this,N3,s||null),me(this,M2,{message:""})}toString(){return``}get statusCode(){return oe(this,Mx)}get statusMessage(){return oe(this,Nx)}get headers(){return Object.assign({},oe(this,Px))}get body(){return oe(this,sl)==null?null:new Uint8Array(oe(this,sl))}get bodyText(){try{return oe(this,sl)==null?"":dd(oe(this,sl))}catch{Ue(!1,"response body is not valid UTF-8 data","UNSUPPORTED_OPERATION",{operation:"bodyText",info:{response:this}})}}get bodyJson(){try{return JSON.parse(this.bodyText)}catch{Ue(!1,"response body is not valid JSON","UNSUPPORTED_OPERATION",{operation:"bodyJson",info:{response:this}})}}[Symbol.iterator](){const e=this.headers,t=Object.keys(e);let n=0;return{next:()=>{if(n=0,"invalid stall timeout","stall",t);const n=new Error(e||"throttling requests");throw er(n,{stall:t,throttle:!0}),n}getHeader(e){return this.headers[e.toLowerCase()]}hasBody(){return oe(this,sl)!=null}get request(){return oe(this,N3)}ok(){return oe(this,M2).message===""&&this.statusCode>=200&&this.statusCode<300}assertOk(){if(this.ok())return;let{message:e,error:t}=oe(this,M2);e===""&&(e=`server response ${this.statusCode} ${this.statusMessage}`);let n=null;this.request&&(n=this.request.url);let i=null;try{oe(this,sl)&&(i=dd(oe(this,sl)))}catch{}Ue(!1,e,"SERVER_ERROR",{request:this.request||"unknown request",response:this,error:t,info:{requestUrl:n,responseBody:i,responseStatus:`${this.statusCode} ${this.statusMessage}`}})}};let Uh=oj;Mx=new WeakMap,Nx=new WeakMap,Px=new WeakMap,sl=new WeakMap,N3=new WeakMap,M2=new WeakMap;function UZ(){return new Date().getTime()}function jwe(r){return Bs(r.replace(/%([0-9a-f][0-9a-f])/gi,(e,t)=>String.fromCharCode(parseInt(t,16))))}function zwe(r){return new Promise(e=>setTimeout(e,r))}const Hwe=BigInt(-1),Mu=BigInt(0),Pw=BigInt(1),qwe=BigInt(5),Ow={};let Dw="0000";for(;Dw.length<80;)Dw+=Dw;function bg(r){let e=Dw;for(;e.length=-i&&rMu?r=Mw(hd(r,n),n):r=-Mw(hd(-r,n),n)}else{const i=Pw<=0&&rs[a]==null?u:(xe(typeof s[a]===l,"invalid fixed format ("+a+" not "+l+")","format."+a,s[a]),s[a]);e=o("signed","boolean",e),t=o("width","number",t),n=o("decimals","number",n)}xe(t%8===0,"invalid FixedNumber width (not byte aligned)","format.width",t),xe(n<=80,"invalid FixedNumber decimals (too large)","format.decimals",n);const i=(e?"":"u")+"fixed"+String(t)+"x"+String(n);return{signed:e,width:t,decimals:n,name:i}}function Wwe(r,e){let t="";r0?n*=bg(i):i<0&&(t*=bg(-i)),tn?1:0}eq(e){return this.cmp(e)===0}lt(e){return this.cmp(e)<0}lte(e){return this.cmp(e)<=0}gt(e){return this.cmp(e)>0}gte(e){return this.cmp(e)>=0}floor(){let e=oe(this,mi);return oe(this,mi)Mu&&(e+=oe(this,Va)-Pw),e=oe(this,mi)/oe(this,Va)*oe(this,Va),rt(this,fh,bp).call(this,e,"ceiling")}round(e){if(e==null&&(e=0),e>=this.decimals)return this;const t=this.decimals-e,n=qwe*bg(t-1);let i=this.value+n;const s=bg(t);return i=i/s*s,n4(i,oe(this,hh),"round"),new F1(Ow,i,oe(this,hh))}isZero(){return oe(this,mi)===Mu}isNegative(){return oe(this,mi)0){const l=bg(a);Ue(o%l===Mu,"value loses precision for format","NUMERIC_FAULT",{operation:"fromValue",fault:"underflow",value:e}),o/=l}else a<0&&(o*=bg(-a));return n4(o,s,"fromValue"),new F1(Ow,o,s)}static fromString(e,t){const n=e.match(/^(-?)([0-9]*)\.?([0-9]*)$/);xe(n&&n[2].length+n[3].length>0,"invalid FixedNumber string value","value",e);const i=hk(t);let s=n[2]||"0",o=n[3]||"";for(;o.length{Ue(n<=r.length,"data short segment too short","BUFFER_OVERRUN",{buffer:r,length:r.length,offset:n})};if(r[e]>=248){const n=r[e]-247;t(e+1+n);const i=FZ(r,e+1,n);return t(e+1+n+i),jZ(r,e,e+1+n,n+i)}else if(r[e]>=192){const n=r[e]-192;return t(e+1+n),jZ(r,e,e+1,n)}else if(r[e]>=184){const n=r[e]-183;t(e+1+n);const i=FZ(r,e+1,n);t(e+1+n+i);const s=St(r.slice(e+1+n,e+1+n+i));return{consumed:1+n+i,result:s}}else if(r[e]>=128){const n=r[e]-128;t(e+1+n);const i=St(r.slice(e+1,e+1+n));return{consumed:1+n,result:i}}return{consumed:1,result:Vwe(r[e])}}function Bw(r){const e=$t(r,"data"),t=zZ(e,0);return xe(t.consumed===e.length,"unexpected junk after rlp payload","data",r),t.result}function HZ(r){const e=[];for(;r;)e.unshift(r&255),r>>=8;return e}function qZ(r){if(Array.isArray(r)){let n=[];if(r.forEach(function(s){n=n.concat(qZ(s))}),n.length<=55)return n.unshift(192+n.length),n;const i=HZ(n.length);return i.unshift(247+i.length),i.concat(n)}const e=Array.prototype.slice.call($t(r,"object"));if(e.length===1&&e[0]<=127)return e;if(e.length<=55)return e.unshift(128+e.length),e;const t=HZ(e.length);return t.unshift(183+t.length),t.concat(e)}const WZ="0123456789abcdef";function Ap(r){let e="0x";for(const t of qZ(r))e+=WZ[t>>4],e+=WZ[t&15];return e}const VZ=["wei","kwei","mwei","gwei","szabo","finney","ether"];function EE(r,e){let t=18;if(typeof e=="string"){const n=VZ.indexOf(e);xe(n>=0,"invalid unit","unit",e),t=3*n}else e!=null&&(t=Ir(e,"unit"));return $w.fromValue(r,t,{decimals:t,width:512}).toString()}function AE(r,e){xe(typeof r=="string","value must be a string","value",r);let t=18;if(typeof e=="string"){const n=VZ.indexOf(e);xe(n>=0,"invalid unit","unit",e),t=3*n}else e!=null&&(t=Ir(e,"unit"));return $w.fromString(r,{decimals:t,width:512}).value}function fk(r){return EE(r,18)}function GZ(r){return AE(r,18)}function dk(r){const e=$t(r,"randomBytes");e[6]=e[6]&15|64,e[8]=e[8]&63|128;const t=St(e);return[t.substring(2,10),t.substring(10,14),t.substring(14,18),t.substring(18,22),t.substring(22,34)].join("-")}const Sa=32,pk=new Uint8Array(Sa),Gwe=["then"],CE={};function i4(r,e){const t=new Error(`deferred error during ABI decoding triggered accessing ${r}`);throw t.error=e,t}const Lx=class extends Array{constructor(...t){const n=t[0];let i=t[1],s=(t[2]||[]).slice(),o=!0;n!==CE&&(i=t,s=[],o=!1);super(i.length);Ne(this,j1,void 0);i.forEach((l,u)=>{this[u]=l});const a=s.reduce((l,u)=>(typeof u=="string"&&l.set(u,(l.get(u)||0)+1),l),new Map);if(me(this,j1,Object.freeze(i.map((l,u)=>{const h=s[u];return h!=null&&a.get(h)===1?h:null}))),!!o)return Object.freeze(this),new Proxy(this,{get:(l,u,h)=>{if(typeof u=="string"){if(u.match(/^[0-9]+$/)){const g=Ir(u,"%index");if(g<0||g>=this.length)throw new RangeError("out of result range");const w=l[g];return w instanceof Error&&i4(`index ${g}`,w),w}if(Gwe.indexOf(u)>=0)return Reflect.get(l,u,h);const p=l[u];if(p instanceof Function)return function(...g){return p.apply(this===h?l:this,g)};if(!(u in l))return l.getValue.apply(this===h?l:this,[u])}return Reflect.get(l,u,h)}})}toArray(){const t=[];return this.forEach((n,i)=>{n instanceof Error&&i4(`index ${i}`,n),t.push(n)}),t}toObject(){return oe(this,j1).reduce((t,n,i)=>(Ue(n!=null,"value at index ${ index } unnamed","UNSUPPORTED_OPERATION",{operation:"toObject()"}),n in t||(t[n]=this.getValue(n)),t),{})}slice(t,n){t==null&&(t=0),t<0&&(t+=this.length,t<0&&(t=0)),n==null&&(n=this.length),n<0&&(n+=this.length,n<0&&(n=0)),n>this.length&&(n=this.length);const i=[],s=[];for(let o=t;o{oe(this,b0)[e]=ZZ(t)}}}b0=new WeakMap,N2=new WeakMap,P3=new WeakSet,oR=function(e){return oe(this,b0).push(e),me(this,N2,oe(this,N2)+e.length),e.length};const aj=class{constructor(e,t,n){Ne(this,Ux);Ne(this,JT);Ee(this,"allowLoose");Ne(this,Ac,void 0);Ne(this,ol,void 0);Ne(this,P2,void 0);Ne(this,O2,void 0);Ne(this,z1,void 0);er(this,{allowLoose:!!t}),me(this,Ac,Ws(e)),me(this,P2,0),me(this,O2,null),me(this,z1,n??1024),me(this,ol,0)}get data(){return St(oe(this,Ac))}get dataLength(){return oe(this,Ac).length}get consumed(){return oe(this,ol)}get bytes(){return new Uint8Array(oe(this,Ac))}subReader(e){const t=new aj(oe(this,Ac).slice(oe(this,ol)+e),this.allowLoose,oe(this,z1));return me(t,O2,this),t}readBytes(e,t){let n=rt(this,JT,vge).call(this,0,e,!!t);return rt(this,Ux,JG).call(this,e),me(this,ol,oe(this,ol)+n.length),n.slice(0,e)}readValue(){return mg(this.readBytes(Sa))}readIndex(){return nk(this.readBytes(Sa))}};let mk=aj;Ac=new WeakMap,ol=new WeakMap,P2=new WeakMap,O2=new WeakMap,z1=new WeakMap,Ux=new WeakSet,JG=function(e){var t;if(oe(this,O2))return rt(t=oe(this,O2),Ux,JG).call(t,e);me(this,P2,oe(this,P2)+e),Ue(oe(this,z1)<1||oe(this,P2)<=oe(this,z1)*this.dataLength,`compressed ABI data exceeds inflation ratio of ${oe(this,z1)} ( see: https://github.com/ethers-io/ethers.js/issues/4537 )`,"BUFFER_OVERRUN",{buffer:Ws(oe(this,Ac)),offset:oe(this,ol),length:e,info:{bytesRead:oe(this,P2),dataLength:this.dataLength}})},JT=new WeakSet,vge=function(e,t,n){let i=Math.ceil(t/Sa)*Sa;return oe(this,ol)+i>oe(this,Ac).length&&(this.allowLoose&&n&&oe(this,ol)+t<=oe(this,Ac).length?i=t:Ue(!1,"data out-of-bounds","BUFFER_OVERRUN",{buffer:Ws(oe(this,Ac)),length:oe(this,Ac).length,offset:oe(this,ol)+i})),oe(this,Ac).slice(oe(this,ol),oe(this,ol)+i)};function Rc(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`Wrong positive integer: ${r}`)}function bk(r,...e){if(!(r instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(r.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${r.length}`)}function JZ(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Rc(r.outputLen),Rc(r.blockLen)}function Uw(r,e=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(e&&r.finished)throw new Error("Hash#digest() has already been called")}function YZ(r,e){bk(r);const t=e.outputLen;if(r.lengthr instanceof Uint8Array,SE=r=>new Uint32Array(r.buffer,r.byteOffset,Math.floor(r.byteLength/4)),IE=r=>new DataView(r.buffer,r.byteOffset,r.byteLength),Fh=(r,e)=>r<<32-e|r>>>e;if(!(new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68))throw new Error("Non little-endian hardware is not supported");const Kwe=async()=>{};async function XZ(r,e,t){let n=Date.now();for(let i=0;i=0&&sn+i.length,0));let t=0;return r.forEach(n=>{if(!QZ(n))throw new Error("Uint8Array expected");e.set(n,t),t+=n.length}),e}let vk=class{clone(){return this._cloneInto()}};const Ywe={}.toString;function eJ(r,e){if(e!==void 0&&Ywe.call(e)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(r,e)}function TE(r){const e=n=>r().update(Fw(n)).digest(),t=r();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>r(),e}function Qwe(r=32){if(wk&&typeof wk.getRandomValues=="function")return wk.getRandomValues(new Uint8Array(r));throw new Error("crypto.getRandomValues must be defined")}let tJ=class extends vk{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,JZ(e);const n=Fw(t);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const i=this.blockLen,s=new Uint8Array(i);s.set(n.length>i?e.create().update(n).digest():n);for(let o=0;onew tJ(r,e).update(t).digest();RE.create=(r,e)=>new tJ(r,e);function Xwe(r,e,t,n){JZ(r);const i=eJ({dkLen:32,asyncTick:10},n),{c:s,dkLen:o,asyncTick:a}=i;if(Rc(s),Rc(o),Rc(a),s<1)throw new Error("PBKDF2: iterations (c) should be >= 1");const l=Fw(e),u=Fw(t),h=new Uint8Array(o),p=RE.create(r,l),g=p._cloneInto().update(u);return{c:s,dkLen:o,asyncTick:a,DK:h,PRF:p,PRFSalt:g}}function eve(r,e,t,n,i){return r.destroy(),e.destroy(),n&&n.destroy(),i.fill(0),t}function yk(r,e,t,n){const{c:i,dkLen:s,DK:o,PRF:a,PRFSalt:l}=Xwe(r,e,t,n);let u;const h=new Uint8Array(4),p=IE(h),g=new Uint8Array(a.outputLen);for(let w=1,y=0;y>i&s),a=Number(t&s),l=n?4:0,u=n?0:4;r.setUint32(e+l,o,n),r.setUint32(e+u,a,n)}class xk extends vk{constructor(e,t,n,i){super(),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=IE(this.buffer)}update(e){Uw(this);const{view:t,buffer:n,blockLen:i}=this;e=Fw(e);const s=e.length;for(let o=0;oi-o&&(this.process(n,0),o=0);for(let p=o;ph.length)throw new Error("_sha2: outputLen bigger than state");for(let p=0;pr&e^~r&t,nve=(r,e,t)=>r&e^r&t^e&t,ive=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,2756734187,3204031479,3329325298]),Cp=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Sp=new Uint32Array(64);class sve extends xk{constructor(){super(64,32,8,!1),this.A=Cp[0]|0,this.B=Cp[1]|0,this.C=Cp[2]|0,this.D=Cp[3]|0,this.E=Cp[4]|0,this.F=Cp[5]|0,this.G=Cp[6]|0,this.H=Cp[7]|0}get(){const{A:e,B:t,C:n,D:i,E:s,F:o,G:a,H:l}=this;return[e,t,n,i,s,o,a,l]}set(e,t,n,i,s,o,a,l){this.A=e|0,this.B=t|0,this.C=n|0,this.D=i|0,this.E=s|0,this.F=o|0,this.G=a|0,this.H=l|0}process(e,t){for(let p=0;p<16;p++,t+=4)Sp[p]=e.getUint32(t,!1);for(let p=16;p<64;p++){const g=Sp[p-15],w=Sp[p-2],y=Fh(g,7)^Fh(g,18)^g>>>3,C=Fh(w,17)^Fh(w,19)^w>>>10;Sp[p]=C+Sp[p-7]+y+Sp[p-16]|0}let{A:n,B:i,C:s,D:o,E:a,F:l,G:u,H:h}=this;for(let p=0;p<64;p++){const g=Fh(a,6)^Fh(a,11)^Fh(a,25),w=h+g+rve(a,l,u)+ive[p]+Sp[p]|0,C=(Fh(n,2)^Fh(n,13)^Fh(n,22))+nve(n,i,s)|0;h=u,u=l,l=a,a=o+w|0,o=s,s=i,i=n,n=w+C|0}n=n+this.A|0,i=i+this.B|0,s=s+this.C|0,o=o+this.D|0,a=a+this.E|0,l=l+this.F|0,u=u+this.G|0,h=h+this.H|0,this.set(n,i,s,o,a,l,u,h)}roundClean(){Sp.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const jw=TE(()=>new sve),kE=BigInt(2**32-1),_k=BigInt(32);function rJ(r,e=!1){return e?{h:Number(r&kE),l:Number(r>>_k&kE)}:{h:Number(r>>_k&kE)|0,l:Number(r&kE)|0}}function nJ(r,e=!1){let t=new Uint32Array(r.length),n=new Uint32Array(r.length);for(let i=0;iBigInt(r>>>0)<<_k|BigInt(e>>>0),ave=(r,e,t)=>r>>>t,cve=(r,e,t)=>r<<32-t|e>>>t,lve=(r,e,t)=>r>>>t|e<<32-t,uve=(r,e,t)=>r<<32-t|e>>>t,hve=(r,e,t)=>r<<64-t|e>>>t-32,fve=(r,e,t)=>r>>>t-32|e<<64-t,dve=(r,e)=>e,pve=(r,e)=>r,iJ=(r,e,t)=>r<>>32-t,sJ=(r,e,t)=>e<>>32-t,oJ=(r,e,t)=>e<>>64-t,aJ=(r,e,t)=>r<>>64-t;function gve(r,e,t,n){const i=(e>>>0)+(n>>>0);return{h:r+t+(i/2**32|0)|0,l:i|0}}const Xr={fromBig:rJ,split:nJ,toBig:ove,shrSH:ave,shrSL:cve,rotrSH:lve,rotrSL:uve,rotrBH:hve,rotrBL:fve,rotr32H:dve,rotr32L:pve,rotlSH:iJ,rotlSL:sJ,rotlBH:oJ,rotlBL:aJ,add:gve,add3L:(r,e,t)=>(r>>>0)+(e>>>0)+(t>>>0),add3H:(r,e,t,n)=>e+t+n+(r/2**32|0)|0,add4L:(r,e,t,n)=>(r>>>0)+(e>>>0)+(t>>>0)+(n>>>0),add4H:(r,e,t,n,i)=>e+t+n+i+(r/2**32|0)|0,add5H:(r,e,t,n,i,s)=>e+t+n+i+s+(r/2**32|0)|0,add5L:(r,e,t,n,i)=>(r>>>0)+(e>>>0)+(t>>>0)+(n>>>0)+(i>>>0)},[mve,bve]=(()=>Xr.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(r=>BigInt(r))))(),Ip=new Uint32Array(80),Tp=new Uint32Array(80);let wve=class extends xk{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:e,Al:t,Bh:n,Bl:i,Ch:s,Cl:o,Dh:a,Dl:l,Eh:u,El:h,Fh:p,Fl:g,Gh:w,Gl:y,Hh:C,Hl:T}=this;return[e,t,n,i,s,o,a,l,u,h,p,g,w,y,C,T]}set(e,t,n,i,s,o,a,l,u,h,p,g,w,y,C,T){this.Ah=e|0,this.Al=t|0,this.Bh=n|0,this.Bl=i|0,this.Ch=s|0,this.Cl=o|0,this.Dh=a|0,this.Dl=l|0,this.Eh=u|0,this.El=h|0,this.Fh=p|0,this.Fl=g|0,this.Gh=w|0,this.Gl=y|0,this.Hh=C|0,this.Hl=T|0}process(e,t){for(let O=0;O<16;O++,t+=4)Ip[O]=e.getUint32(t),Tp[O]=e.getUint32(t+=4);for(let O=16;O<80;O++){const B=Ip[O-15]|0,z=Tp[O-15]|0,G=Xr.rotrSH(B,z,1)^Xr.rotrSH(B,z,8)^Xr.shrSH(B,z,7),$=Xr.rotrSL(B,z,1)^Xr.rotrSL(B,z,8)^Xr.shrSL(B,z,7),D=Ip[O-2]|0,V=Tp[O-2]|0,Q=Xr.rotrSH(D,V,19)^Xr.rotrBH(D,V,61)^Xr.shrSH(D,V,6),F=Xr.rotrSL(D,V,19)^Xr.rotrBL(D,V,61)^Xr.shrSL(D,V,6),M=Xr.add4L($,F,Tp[O-7],Tp[O-16]),b=Xr.add4H(M,G,Q,Ip[O-7],Ip[O-16]);Ip[O]=b|0,Tp[O]=M|0}let{Ah:n,Al:i,Bh:s,Bl:o,Ch:a,Cl:l,Dh:u,Dl:h,Eh:p,El:g,Fh:w,Fl:y,Gh:C,Gl:T,Hh:k,Hl:N}=this;for(let O=0;O<80;O++){const B=Xr.rotrSH(p,g,14)^Xr.rotrSH(p,g,18)^Xr.rotrBH(p,g,41),z=Xr.rotrSL(p,g,14)^Xr.rotrSL(p,g,18)^Xr.rotrBL(p,g,41),G=p&w^~p&C,$=g&y^~g&T,D=Xr.add5L(N,z,$,bve[O],Tp[O]),V=Xr.add5H(D,k,B,G,mve[O],Ip[O]),Q=D|0,F=Xr.rotrSH(n,i,28)^Xr.rotrBH(n,i,34)^Xr.rotrBH(n,i,39),M=Xr.rotrSL(n,i,28)^Xr.rotrBL(n,i,34)^Xr.rotrBL(n,i,39),b=n&s^n&a^s&a,d=i&o^i&l^o&l;k=C|0,N=T|0,C=w|0,T=y|0,w=p|0,y=g|0,{h:p,l:g}=Xr.add(u|0,h|0,V|0,Q|0),u=a|0,h=l|0,a=s|0,l=o|0,s=n|0,o=i|0;const m=Xr.add3L(Q,M,d);n=Xr.add3H(m,V,F,b),i=m|0}({h:n,l:i}=Xr.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:s,l:o}=Xr.add(this.Bh|0,this.Bl|0,s|0,o|0),{h:a,l}=Xr.add(this.Ch|0,this.Cl|0,a|0,l|0),{h:u,l:h}=Xr.add(this.Dh|0,this.Dl|0,u|0,h|0),{h:p,l:g}=Xr.add(this.Eh|0,this.El|0,p|0,g|0),{h:w,l:y}=Xr.add(this.Fh|0,this.Fl|0,w|0,y|0),{h:C,l:T}=Xr.add(this.Gh|0,this.Gl|0,C|0,T|0),{h:k,l:N}=Xr.add(this.Hh|0,this.Hl|0,k|0,N|0),this.set(n,i,s,o,a,l,u,h,p,g,w,y,C,T,k,N)}roundClean(){Ip.fill(0),Tp.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};const Ek=TE(()=>new wve);function vve(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof dr<"u")return dr;throw new Error("unable to locate global object")}const cJ=vve(),lJ=cJ.crypto||cJ.msCrypto;function uJ(r){switch(r){case"sha256":return jw.create();case"sha512":return Ek.create()}xe(!1,"invalid hashing algorithm name","algorithm",r)}function yve(r,e){const t={sha256:jw,sha512:Ek}[r];return xe(t!=null,"invalid hmac algorithm","algorithm",r),RE.create(t,e)}function xve(r,e,t,n,i){const s={sha256:jw,sha512:Ek}[i];return xe(s!=null,"invalid pbkdf2 algorithm","algorithm",i),yk(s,r,e,{c:t,dkLen:n})}function _ve(r){Ue(lJ!=null,"platform does not support secure random numbers","UNSUPPORTED_OPERATION",{operation:"randomBytes"}),xe(Number.isInteger(r)&&r>0&&r<=1024,"invalid length","length",r);const e=new Uint8Array(r);return lJ.getRandomValues(e),e}let hJ=!1;const fJ=function(r,e,t){return yve(r,e).update(t).digest()};let dJ=fJ;function gd(r,e,t){const n=$t(e,"key"),i=$t(t,"data");return St(dJ(r,n,i))}gd._=fJ,gd.lock=function(){hJ=!0},gd.register=function(r){if(hJ)throw new Error("computeHmac is locked");dJ=r},Object.freeze(gd);const[pJ,gJ,mJ]=[[],[],[]],Eve=BigInt(0),s4=BigInt(1),Ave=BigInt(2),Cve=BigInt(7),Sve=BigInt(256),Ive=BigInt(113);for(let r=0,e=s4,t=1,n=0;r<24;r++){[t,n]=[n,(2*t+3*n)%5],pJ.push(2*(5*n+t)),gJ.push((r+1)*(r+2)/2%64);let i=Eve;for(let s=0;s<7;s++)e=(e<>Cve)*Ive)%Sve,e&Ave&&(i^=s4<<(s4<t>32?oJ(r,e,t):iJ(r,e,t),wJ=(r,e,t)=>t>32?aJ(r,e,t):sJ(r,e,t);function kve(r,e=24){const t=new Uint32Array(10);for(let n=24-e;n<24;n++){for(let o=0;o<10;o++)t[o]=r[o]^r[o+10]^r[o+20]^r[o+30]^r[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,l=(o+2)%10,u=t[l],h=t[l+1],p=bJ(u,h,1)^t[a],g=wJ(u,h,1)^t[a+1];for(let w=0;w<50;w+=10)r[o+w]^=p,r[o+w+1]^=g}let i=r[2],s=r[3];for(let o=0;o<24;o++){const a=gJ[o],l=bJ(i,s,a),u=wJ(i,s,a),h=pJ[o];i=r[h],s=r[h+1],r[h]=l,r[h+1]=u}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)t[a]=r[o+a];for(let a=0;a<10;a++)r[o+a]^=~t[(a+2)%10]&t[(a+4)%10]}r[0]^=Tve[n],r[1]^=Rve[n]}t.fill(0)}let vJ=class extends vk{constructor(e,t,n,i=!1,s=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=n,this.enableXOF=i,this.rounds=s,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Rc(n),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=SE(this.state)}keccak(){kve(this.state32,this.rounds),this.posOut=0,this.pos=0}update(e){Uw(this);const{blockLen:t,state:n}=this;e=Fw(e);const i=e.length;for(let s=0;s=n&&this.keccak();const o=Math.min(n-this.posOut,s-i);e.set(t.subarray(this.posOut,this.posOut+o),i),this.posOut+=o,i+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Rc(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(YZ(e,this),this.finished)throw new 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){const{blockLen:t,suffix:n,outputLen:i,rounds:s,enableXOF:o}=this;return e||(e=new vJ(t,n,i,o,s)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=s,e.suffix=n,e.outputLen=i,e.enableXOF=o,e.destroyed=this.destroyed,e}};const Mve=((r,e,t)=>TE(()=>new vJ(e,r,t)))(1,136,256/8);let yJ=!1;const xJ=function(r){return Mve(r)};let _J=xJ;function On(r){const e=$t(r,"data");return St(_J(e))}On._=xJ,On.lock=function(){yJ=!0},On.register=function(r){if(yJ)throw new TypeError("keccak256 is locked");_J=r},Object.freeze(On);const Nve=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),EJ=Uint8Array.from({length:16},(r,e)=>e),Pve=EJ.map(r=>(9*r+5)%16);let Ak=[EJ],Ck=[Pve];for(let r=0;r<4;r++)for(let e of[Ak,Ck])e.push(e[r].map(t=>Nve[t]));const AJ=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(r=>new Uint8Array(r)),Ove=Ak.map((r,e)=>r.map(t=>AJ[e][t])),Dve=Ck.map((r,e)=>r.map(t=>AJ[e][t])),$ve=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),Bve=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]),ME=(r,e)=>r<>>32-e;function CJ(r,e,t,n){return r===0?e^t^n:r===1?e&t|~e&n:r===2?(e|~t)^n:r===3?e&n|t&~n:e^(t|~n)}const NE=new Uint32Array(16);class Lve extends xk{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){const{h0:e,h1:t,h2:n,h3:i,h4:s}=this;return[e,t,n,i,s]}set(e,t,n,i,s){this.h0=e|0,this.h1=t|0,this.h2=n|0,this.h3=i|0,this.h4=s|0}process(e,t){for(let w=0;w<16;w++,t+=4)NE[w]=e.getUint32(t,!0);let n=this.h0|0,i=n,s=this.h1|0,o=s,a=this.h2|0,l=a,u=this.h3|0,h=u,p=this.h4|0,g=p;for(let w=0;w<5;w++){const y=4-w,C=$ve[w],T=Bve[w],k=Ak[w],N=Ck[w],O=Ove[w],B=Dve[w];for(let z=0;z<16;z++){const G=ME(n+CJ(w,s,a,u)+NE[k[z]]+C,O[z])+p|0;n=p,p=u,u=ME(a,10)|0,a=s,s=G}for(let z=0;z<16;z++){const G=ME(i+CJ(y,o,l,h)+NE[N[z]]+T,B[z])+g|0;i=g,g=h,h=ME(l,10)|0,l=o,o=G}}this.set(this.h1+a+h|0,this.h2+u+g|0,this.h3+p+i|0,this.h4+n+o|0,this.h0+s+l|0)}roundClean(){NE.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}}const Uve=TE(()=>new Lve);let SJ=!1;const IJ=function(r){return Uve(r)};let TJ=IJ;function md(r){const e=$t(r,"data");return St(TJ(e))}md._=IJ,md.lock=function(){SJ=!0},md.register=function(r){if(SJ)throw new TypeError("ripemd160 is locked");TJ=r},Object.freeze(md);let RJ=!1;const kJ=function(r,e,t,n,i){return xve(r,e,t,n,i)};let MJ=kJ;function Nu(r,e,t,n,i){const s=$t(r,"password"),o=$t(e,"salt");return St(MJ(s,o,t,n,i))}Nu._=kJ,Nu.lock=function(){RJ=!0},Nu.register=function(r){if(RJ)throw new Error("pbkdf2 is locked");MJ=r},Object.freeze(Nu);let NJ=!1;const PJ=function(r){return new Uint8Array(_ve(r))};let OJ=PJ;function kc(r){return OJ(r)}kc._=PJ,kc.lock=function(){NJ=!0},kc.register=function(r){if(NJ)throw new Error("randomBytes is locked");OJ=r},Object.freeze(kc);const Dn=(r,e)=>r<>>32-e;function DJ(r,e,t,n,i,s){let o=r[e++]^t[n++],a=r[e++]^t[n++],l=r[e++]^t[n++],u=r[e++]^t[n++],h=r[e++]^t[n++],p=r[e++]^t[n++],g=r[e++]^t[n++],w=r[e++]^t[n++],y=r[e++]^t[n++],C=r[e++]^t[n++],T=r[e++]^t[n++],k=r[e++]^t[n++],N=r[e++]^t[n++],O=r[e++]^t[n++],B=r[e++]^t[n++],z=r[e++]^t[n++],G=o,$=a,D=l,V=u,Q=h,F=p,M=g,b=w,d=y,m=C,x=T,A=k,I=N,R=O,S=B,E=z;for(let _=0;_<8;_+=2)Q^=Dn(G+I|0,7),d^=Dn(Q+G|0,9),I^=Dn(d+Q|0,13),G^=Dn(I+d|0,18),m^=Dn(F+$|0,7),R^=Dn(m+F|0,9),$^=Dn(R+m|0,13),F^=Dn($+R|0,18),S^=Dn(x+M|0,7),D^=Dn(S+x|0,9),M^=Dn(D+S|0,13),x^=Dn(M+D|0,18),V^=Dn(E+A|0,7),b^=Dn(V+E|0,9),A^=Dn(b+V|0,13),E^=Dn(A+b|0,18),$^=Dn(G+V|0,7),D^=Dn($+G|0,9),V^=Dn(D+$|0,13),G^=Dn(V+D|0,18),M^=Dn(F+Q|0,7),b^=Dn(M+F|0,9),Q^=Dn(b+M|0,13),F^=Dn(Q+b|0,18),A^=Dn(x+m|0,7),d^=Dn(A+x|0,9),m^=Dn(d+A|0,13),x^=Dn(m+d|0,18),I^=Dn(E+S|0,7),R^=Dn(I+E|0,9),S^=Dn(R+I|0,13),E^=Dn(S+R|0,18);i[s++]=o+G|0,i[s++]=a+$|0,i[s++]=l+D|0,i[s++]=u+V|0,i[s++]=h+Q|0,i[s++]=p+F|0,i[s++]=g+M|0,i[s++]=w+b|0,i[s++]=y+d|0,i[s++]=C+m|0,i[s++]=T+x|0,i[s++]=k+A|0,i[s++]=N+I|0,i[s++]=O+R|0,i[s++]=B+S|0,i[s++]=z+E|0}function zw(r,e,t,n,i){let s=n+0,o=n+16*i;for(let a=0;a<16;a++)t[o+a]=r[e+(2*i-1)*16+a];for(let a=0;a0&&(o+=16),DJ(t,s,r,e+=16,t,o)}function $J(r,e,t){const n=eJ({dkLen:32,asyncTick:10,maxmem:1073742848},t),{N:i,r:s,p:o,dkLen:a,asyncTick:l,maxmem:u,onProgress:h}=n;if(Rc(i),Rc(s),Rc(o),Rc(a),Rc(l),Rc(u),h!==void 0&&typeof h!="function")throw new Error("progressCb should be function");const p=128*s,g=p/4;if(i<=1||i&i-1||i>=2**(p/8)||i>2**32)throw new Error("Scrypt: N must be larger than 1, a power of 2, less than 2^(128 * r / 8) and less than 2^32");if(o<0||o>(2**32-1)*32/p)throw new Error("Scrypt: p must be a positive integer less than or equal to ((2^32 - 1) * 32) / (128 * r)");if(a<0||a>(2**32-1)*32)throw new Error("Scrypt: dkLen should be positive integer less than or equal to (2^32 - 1) * 32");const w=p*(i+o);if(w>u)throw new Error(`Scrypt: parameters too large, ${w} (128 * r * (N + p)) > ${u} (maxmem)`);const y=yk(jw,r,e,{c:1,dkLen:p*o}),C=SE(y),T=SE(new Uint8Array(p*i)),k=SE(new Uint8Array(p));let N=()=>{};if(h){const O=2*i*o,B=Math.max(Math.floor(O/1e4),1);let z=0;N=()=>{z++,h&&(!(z%B)||z===O)&&h(z/O)}}return{N:i,r:s,p:o,dkLen:a,blockSize32:g,V:T,B32:C,B:y,tmp:k,blockMixCb:N,asyncTick:l}}function BJ(r,e,t,n,i){const s=yk(jw,r,t,{c:1,dkLen:e});return t.fill(0),n.fill(0),i.fill(0),s}function Fve(r,e,t){const{N:n,r:i,p:s,dkLen:o,blockSize32:a,V:l,B32:u,B:h,tmp:p,blockMixCb:g}=$J(r,e,t);for(let w=0;w{zw(l,T,l,T+=a,i),g()}),zw(l,(n-1)*a,u,C,i),g(),await XZ(n,w,()=>{const k=u[C+a-16]%n;for(let N=0;Nr instanceof Uint8Array,Hve=Array.from({length:256},(r,e)=>e.toString(16).padStart(2,"0"));function qw(r){if(!OE(r))throw new Error("Uint8Array expected");let e="";for(let t=0;tn+i.length,0));let t=0;return r.forEach(n=>{if(!OE(n))throw new Error("Uint8Array expected");e.set(n,t),t+=n.length}),e}function Wve(r,e){if(r.length!==e.length)return!1;for(let t=0;tJJ;r>>=PE,e+=1);return e}function Kve(r,e){return r>>BigInt(e)&PE}const Zve=(r,e,t)=>r|(t?PE:JJ)<(zve<new Uint8Array(r),QJ=r=>Uint8Array.from(r);function XJ(r,e,t){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof t!="function")throw new Error("hmacFn must be a function");let n=kk(r),i=kk(r),s=0;const o=()=>{n.fill(1),i.fill(0),s=0},a=(...p)=>t(i,n,...p),l=(p=kk())=>{i=a(QJ([0]),p),n=a(),p.length!==0&&(i=a(QJ([1]),p),n=a())},u=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let p=0;const g=[];for(;p{o(),l(p);let w;for(;!(w=g(u()));)l();return o(),w}}const Jve={bigint:r=>typeof r=="bigint",function:r=>typeof r=="function",boolean:r=>typeof r=="boolean",string:r=>typeof r=="string",stringOrUint8Array:r=>typeof r=="string"||r instanceof Uint8Array,isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,e)=>e.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function a4(r,e,t={}){const n=(i,s,o)=>{const a=Jve[s];if(typeof a!="function")throw new Error(`Invalid validator "${s}", expected function`);const l=r[i];if(!(o&&l===void 0)&&!a(l,r))throw new Error(`Invalid param ${String(i)}=${l} (${typeof l}), expected ${s}`)};for(const[i,s]of Object.entries(e))n(i,s,!1);for(const[i,s]of Object.entries(t))n(i,s,!0);return r}const Yve=Object.freeze(Object.defineProperty({__proto__:null,bitGet:Kve,bitLen:Gve,bitMask:Rk,bitSet:Zve,bytesToHex:qw,bytesToNumberBE:wg,bytesToNumberLE:Ik,concatBytes:o4,createHmacDrbg:XJ,ensureBytes:Pu,equalBytes:Wve,hexToBytes:Ww,hexToNumber:Sk,numberToBytesBE:Vw,numberToBytesLE:Tk,numberToHexUnpadded:YJ,numberToVarBytesBE:qve,utf8ToBytes:Vve,validateObject:a4},Symbol.toStringTag,{value:"Module"}));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const lo=BigInt(0),gs=BigInt(1),vg=BigInt(2),Qve=BigInt(3),Mk=BigInt(4),eY=BigInt(5),tY=BigInt(8);BigInt(9),BigInt(16);function oc(r,e){const t=r%e;return t>=lo?t:e+t}function Xve(r,e,t){if(t<=lo||e 0");if(t===gs)return lo;let n=gs;for(;e>lo;)e&gs&&(n=n*r%t),r=r*r%t,e>>=gs;return n}function Ml(r,e,t){let n=r;for(;e-- >lo;)n*=n,n%=t;return n}function Nk(r,e){if(r===lo||e<=lo)throw new Error(`invert: expected positive integers, got n=${r} mod=${e}`);let t=oc(r,e),n=e,i=lo,s=gs;for(;t!==lo;){const a=n/t,l=n%t,u=i-s*a;n=t,t=l,i=s,s=u}if(n!==gs)throw new Error("invert: does not exist");return oc(i,e)}function eye(r){const e=(r-gs)/vg;let t,n,i;for(t=r-gs,n=0;t%vg===lo;t/=vg,n++);for(i=vg;i(n[i]="function",n),e);return a4(r,t)}function iye(r,e,t){if(t 0");if(t===lo)return r.ONE;if(t===gs)return e;let n=r.ONE,i=e;for(;t>lo;)t&gs&&(n=r.mul(n,i)),i=r.sqr(i),t>>=gs;return n}function sye(r,e){const t=new Array(e.length),n=e.reduce((s,o,a)=>r.is0(o)?s:(t[a]=s,r.mul(s,o)),r.ONE),i=r.inv(n);return e.reduceRight((s,o,a)=>r.is0(o)?s:(t[a]=r.mul(s,t[a]),r.mul(s,o)),i),t}function rY(r,e){const t=e!==void 0?e:r.toString(2).length,n=Math.ceil(t/8);return{nBitLength:t,nByteLength:n}}function oye(r,e,t=!1,n={}){if(r<=lo)throw new Error(`Expected Field ORDER > 0, got ${r}`);const{nBitLength:i,nByteLength:s}=rY(r,e);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");const o=tye(r),a=Object.freeze({ORDER:r,BITS:i,BYTES:s,MASK:Rk(i),ZERO:lo,ONE:gs,create:l=>oc(l,r),isValid:l=>{if(typeof l!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof l}`);return lo<=l&&ll===lo,isOdd:l=>(l&gs)===gs,neg:l=>oc(-l,r),eql:(l,u)=>l===u,sqr:l=>oc(l*l,r),add:(l,u)=>oc(l+u,r),sub:(l,u)=>oc(l-u,r),mul:(l,u)=>oc(l*u,r),pow:(l,u)=>iye(a,l,u),div:(l,u)=>oc(l*Nk(u,r),r),sqrN:l=>l*l,addN:(l,u)=>l+u,subN:(l,u)=>l-u,mulN:(l,u)=>l*u,inv:l=>Nk(l,r),sqrt:n.sqrt||(l=>o(a,l)),invertBatch:l=>sye(a,l),cmov:(l,u,h)=>h?u:l,toBytes:l=>t?Tk(l,s):Vw(l,s),fromBytes:l=>{if(l.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${l.length}`);return t?Ik(l):wg(l)}});return Object.freeze(a)}function nY(r){if(typeof r!="bigint")throw new Error("field order must be bigint");const e=r.toString(2).length;return Math.ceil(e/8)}function iY(r){const e=nY(r);return e+Math.ceil(e/2)}function aye(r,e,t=!1){const n=r.length,i=nY(e),s=iY(e);if(n<16||n1024)throw new Error(`expected ${s}-1024 bytes of input, got ${n}`);const o=t?wg(r):Ik(r),a=oc(o,e-gs)+gs;return t?Tk(a,i):Vw(a,i)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const cye=BigInt(0),Pk=BigInt(1);function lye(r,e){const t=(i,s)=>{const o=s.negate();return i?o:s},n=i=>{const s=Math.ceil(e/i)+1,o=2**(i-1);return{windows:s,windowSize:o}};return{constTimeNegate:t,unsafeLadder(i,s){let o=r.ZERO,a=i;for(;s>cye;)s&Pk&&(o=o.add(a)),a=a.double(),s>>=Pk;return o},precomputeWindow(i,s){const{windows:o,windowSize:a}=n(s),l=[];let u=i,h=u;for(let p=0;p>=w,T>l&&(T-=g,o+=Pk);const k=C,N=C+Math.abs(T)-1,O=y%2!==0,B=T<0;T===0?h=h.add(t(O,s[k])):u=u.add(t(B,s[N]))}return{p:u,f:h}},wNAFCached(i,s,o,a){const l=i._WINDOW_SIZE||1;let u=s.get(i);return u||(u=this.precomputeWindow(i,l),l!==1&&s.set(i,a(u))),this.wNAF(l,u,o)}}}function sY(r){return nye(r.Fp),a4(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...rY(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function uye(r){const e=sY(r);a4(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:t,Fp:n,a:i}=e;if(t){if(!n.eql(i,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof t!="object"||typeof t.beta!="bigint"||typeof t.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}const{bytesToNumberBE:hye,hexToBytes:fye}=Yve,yg={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(r){const{Err:e}=yg;if(r.length<2||r[0]!==2)throw new e("Invalid signature integer tag");const t=r[1],n=r.subarray(2,t+2);if(!t||n.length!==t)throw new e("Invalid signature integer: wrong length");if(n[0]&128)throw new e("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:hye(n),l:r.subarray(t+2)}},toSig(r){const{Err:e}=yg,t=typeof r=="string"?fye(r):r;if(!(t instanceof Uint8Array))throw new Error("ui8a expected");let n=t.length;if(n<2||t[0]!=48)throw new e("Invalid signature tag");if(t[1]!==n-2)throw new e("Invalid signature: incorrect length");const{d:i,l:s}=yg._parseInt(t.subarray(2)),{d:o,l:a}=yg._parseInt(s);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:i,s:o}},hexFromSig(r){const e=u=>Number.parseInt(u[0],16)&8?"00"+u:u,t=u=>{const h=u.toString(16);return h.length&1?`0${h}`:h},n=e(t(r.s)),i=e(t(r.r)),s=n.length/2,o=i.length/2,a=t(s),l=t(o);return`30${t(o+s+4)}02${l}${i}02${a}${n}`}},vd=BigInt(0),Nl=BigInt(1);BigInt(2);const oY=BigInt(3);BigInt(4);function dye(r){const e=uye(r),{Fp:t}=e,n=e.toBytes||((y,C,T)=>{const k=C.toAffine();return o4(Uint8Array.from([4]),t.toBytes(k.x),t.toBytes(k.y))}),i=e.fromBytes||(y=>{const C=y.subarray(1),T=t.fromBytes(C.subarray(0,t.BYTES)),k=t.fromBytes(C.subarray(t.BYTES,2*t.BYTES));return{x:T,y:k}});function s(y){const{a:C,b:T}=e,k=t.sqr(y),N=t.mul(k,y);return t.add(t.add(N,t.mul(y,C)),T)}if(!t.eql(t.sqr(e.Gy),s(e.Gx)))throw new Error("bad generator point: equation left != right");function o(y){return typeof y=="bigint"&&vdt.eql(O,t.ZERO);return N(T)&&N(k)?p.ZERO:new p(T,k,t.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(C){const T=t.invertBatch(C.map(k=>k.pz));return C.map((k,N)=>k.toAffine(T[N])).map(p.fromAffine)}static fromHex(C){const T=p.fromAffine(i(Pu("pointHex",C)));return T.assertValidity(),T}static fromPrivateKey(C){return p.BASE.multiply(l(C))}_setWindowSize(C){this._WINDOW_SIZE=C,u.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!t.is0(this.py))return;throw new Error("bad point: ZERO")}const{x:C,y:T}=this.toAffine();if(!t.isValid(C)||!t.isValid(T))throw new Error("bad point: x or y not FE");const k=t.sqr(T),N=s(C);if(!t.eql(k,N))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){const{y:C}=this.toAffine();if(t.isOdd)return!t.isOdd(C);throw new Error("Field doesn't support isOdd")}equals(C){h(C);const{px:T,py:k,pz:N}=this,{px:O,py:B,pz:z}=C,G=t.eql(t.mul(T,z),t.mul(O,N)),$=t.eql(t.mul(k,z),t.mul(B,N));return G&&$}negate(){return new p(this.px,t.neg(this.py),this.pz)}double(){const{a:C,b:T}=e,k=t.mul(T,oY),{px:N,py:O,pz:B}=this;let z=t.ZERO,G=t.ZERO,$=t.ZERO,D=t.mul(N,N),V=t.mul(O,O),Q=t.mul(B,B),F=t.mul(N,O);return F=t.add(F,F),$=t.mul(N,B),$=t.add($,$),z=t.mul(C,$),G=t.mul(k,Q),G=t.add(z,G),z=t.sub(V,G),G=t.add(V,G),G=t.mul(z,G),z=t.mul(F,z),$=t.mul(k,$),Q=t.mul(C,Q),F=t.sub(D,Q),F=t.mul(C,F),F=t.add(F,$),$=t.add(D,D),D=t.add($,D),D=t.add(D,Q),D=t.mul(D,F),G=t.add(G,D),Q=t.mul(O,B),Q=t.add(Q,Q),D=t.mul(Q,F),z=t.sub(z,D),$=t.mul(Q,V),$=t.add($,$),$=t.add($,$),new p(z,G,$)}add(C){h(C);const{px:T,py:k,pz:N}=this,{px:O,py:B,pz:z}=C;let G=t.ZERO,$=t.ZERO,D=t.ZERO;const V=e.a,Q=t.mul(e.b,oY);let F=t.mul(T,O),M=t.mul(k,B),b=t.mul(N,z),d=t.add(T,k),m=t.add(O,B);d=t.mul(d,m),m=t.add(F,M),d=t.sub(d,m),m=t.add(T,N);let x=t.add(O,z);return m=t.mul(m,x),x=t.add(F,b),m=t.sub(m,x),x=t.add(k,N),G=t.add(B,z),x=t.mul(x,G),G=t.add(M,b),x=t.sub(x,G),D=t.mul(V,m),G=t.mul(Q,b),D=t.add(G,D),G=t.sub(M,D),D=t.add(M,D),$=t.mul(G,D),M=t.add(F,F),M=t.add(M,F),b=t.mul(V,b),m=t.mul(Q,m),M=t.add(M,b),b=t.sub(F,b),b=t.mul(V,b),m=t.add(m,b),F=t.mul(M,m),$=t.add($,F),F=t.mul(x,m),G=t.mul(d,G),G=t.sub(G,F),F=t.mul(d,M),D=t.mul(x,D),D=t.add(D,F),new p(G,$,D)}subtract(C){return this.add(C.negate())}is0(){return this.equals(p.ZERO)}wNAF(C){return w.wNAFCached(this,u,C,T=>{const k=t.invertBatch(T.map(N=>N.pz));return T.map((N,O)=>N.toAffine(k[O])).map(p.fromAffine)})}multiplyUnsafe(C){const T=p.ZERO;if(C===vd)return T;if(a(C),C===Nl)return this;const{endo:k}=e;if(!k)return w.unsafeLadder(this,C);let{k1neg:N,k1:O,k2neg:B,k2:z}=k.splitScalar(C),G=T,$=T,D=this;for(;O>vd||z>vd;)O&Nl&&(G=G.add(D)),z&Nl&&($=$.add(D)),D=D.double(),O>>=Nl,z>>=Nl;return N&&(G=G.negate()),B&&($=$.negate()),$=new p(t.mul($.px,k.beta),$.py,$.pz),G.add($)}multiply(C){a(C);let T=C,k,N;const{endo:O}=e;if(O){const{k1neg:B,k1:z,k2neg:G,k2:$}=O.splitScalar(T);let{p:D,f:V}=this.wNAF(z),{p:Q,f:F}=this.wNAF($);D=w.constTimeNegate(B,D),Q=w.constTimeNegate(G,Q),Q=new p(t.mul(Q.px,O.beta),Q.py,Q.pz),k=D.add(Q),N=V.add(F)}else{const{p:B,f:z}=this.wNAF(T);k=B,N=z}return p.normalizeZ([k,N])[0]}multiplyAndAddUnsafe(C,T,k){const N=p.BASE,O=(z,G)=>G===vd||G===Nl||!z.equals(N)?z.multiplyUnsafe(G):z.multiply(G),B=O(this,T).add(O(C,k));return B.is0()?void 0:B}toAffine(C){const{px:T,py:k,pz:N}=this,O=this.is0();C==null&&(C=O?t.ONE:t.inv(N));const B=t.mul(T,C),z=t.mul(k,C),G=t.mul(N,C);if(O)return{x:t.ZERO,y:t.ZERO};if(!t.eql(G,t.ONE))throw new Error("invZ was invalid");return{x:B,y:z}}isTorsionFree(){const{h:C,isTorsionFree:T}=e;if(C===Nl)return!0;if(T)return T(p,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:C,clearCofactor:T}=e;return C===Nl?this:T?T(p,this):this.multiplyUnsafe(e.h)}toRawBytes(C=!0){return this.assertValidity(),n(p,this,C)}toHex(C=!0){return qw(this.toRawBytes(C))}}p.BASE=new p(e.Gx,e.Gy,t.ONE),p.ZERO=new p(t.ZERO,t.ONE,t.ZERO);const g=e.nBitLength,w=lye(p,e.endo?Math.ceil(g/2):g);return{CURVE:e,ProjectivePoint:p,normPrivateKeyToScalar:l,weierstrassEquation:s,isWithinCurveOrder:o}}function pye(r){const e=sY(r);return a4(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function gye(r){const e=pye(r),{Fp:t,n}=e,i=t.BYTES+1,s=2*t.BYTES+1;function o(m){return vdqw(Vw(m,e.nByteLength));function y(m){const x=n>>Nl;return m>x}function C(m){return y(m)?a(-m):m}const T=(m,x,A)=>wg(m.slice(x,A));class k{constructor(x,A,I){this.r=x,this.s=A,this.recovery=I,this.assertValidity()}static fromCompact(x){const A=e.nByteLength;return x=Pu("compactSignature",x,A*2),new k(T(x,0,A),T(x,A,2*A))}static fromDER(x){const{r:A,s:I}=yg.toSig(Pu("DER",x));return new k(A,I)}assertValidity(){if(!g(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!g(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(x){return new k(this.r,this.s,x)}recoverPublicKey(x){const{r:A,s:I,recovery:R}=this,S=$(Pu("msgHash",x));if(R==null||![0,1,2,3].includes(R))throw new Error("recovery id invalid");const E=R===2||R===3?A+e.n:A;if(E>=t.ORDER)throw new Error("recovery id 2 or 3 invalid");const _=R&1?"03":"02",L=u.fromHex(_+w(E)),ie=l(E),q=a(-S*ie),Y=a(I*ie),K=u.BASE.multiplyAndAddUnsafe(L,q,Y);if(!K)throw new Error("point at infinify");return K.assertValidity(),K}hasHighS(){return y(this.s)}normalizeS(){return this.hasHighS()?new k(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return Ww(this.toDERHex())}toDERHex(){return yg.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Ww(this.toCompactHex())}toCompactHex(){return w(this.r)+w(this.s)}}const N={isValidPrivateKey(m){try{return h(m),!0}catch{return!1}},normPrivateKeyToScalar:h,randomPrivateKey:()=>{const m=iY(e.n);return aye(e.randomBytes(m),e.n)},precompute(m=8,x=u.BASE){return x._setWindowSize(m),x.multiply(BigInt(3)),x}};function O(m,x=!0){return u.fromPrivateKey(m).toRawBytes(x)}function B(m){const x=m instanceof Uint8Array,A=typeof m=="string",I=(x||A)&&m.length;return x?I===i||I===s:A?I===2*i||I===2*s:m instanceof u}function z(m,x,A=!0){if(B(m))throw new Error("first arg must be private key");if(!B(x))throw new Error("second arg must be public key");return u.fromHex(x).multiply(h(m)).toRawBytes(A)}const G=e.bits2int||function(m){const x=wg(m),A=m.length*8-e.nBitLength;return A>0?x>>BigInt(A):x},$=e.bits2int_modN||function(m){return a(G(m))},D=Rk(e.nBitLength);function V(m){if(typeof m!="bigint")throw new Error("bigint expected");if(!(vd<=m&&mre in A))throw new Error("sign() legacy options not supported");const{hash:I,randomBytes:R}=e;let{lowS:S,prehash:E,extraEntropy:_}=A;S==null&&(S=!0),m=Pu("msgHash",m),E&&(m=Pu("prehashed msgHash",I(m)));const L=$(m),ie=h(x),q=[V(ie),V(L)];if(_!=null){const re=_===!0?R(t.BYTES):_;q.push(Pu("extraEntropy",re))}const Y=o4(...q),K=L;function te(re){const H=G(re);if(!g(H))return;const U=l(H),W=u.BASE.multiply(H).toAffine(),le=a(W.x);if(le===vd)return;const de=a(U*a(K+le*ie));if(de===vd)return;let Se=(W.x===le?0:2)|Number(W.y&Nl),Me=de;return S&&y(de)&&(Me=C(de),Se^=1),new k(le,Me,Se)}return{seed:Y,k2sig:te}}const F={lowS:e.lowS,prehash:!1},M={lowS:e.lowS,prehash:!1};function b(m,x,A=F){const{seed:I,k2sig:R}=Q(m,x,A),S=e;return XJ(S.hash.outputLen,S.nByteLength,S.hmac)(I,R)}u.BASE._setWindowSize(8);function d(m,x,A,I=M){var W;const R=m;if(x=Pu("msgHash",x),A=Pu("publicKey",A),"strict"in I)throw new Error("options.strict was renamed to lowS");const{lowS:S,prehash:E}=I;let _,L;try{if(typeof R=="string"||R instanceof Uint8Array)try{_=k.fromDER(R)}catch(le){if(!(le instanceof yg.Err))throw le;_=k.fromCompact(R)}else if(typeof R=="object"&&typeof R.r=="bigint"&&typeof R.s=="bigint"){const{r:le,s:de}=R;_=new k(le,de)}else throw new Error("PARSE");L=u.fromHex(A)}catch(le){if(le.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(S&&_.hasHighS())return!1;E&&(x=e.hash(x));const{r:ie,s:q}=_,Y=$(x),K=l(q),te=a(Y*K),re=a(ie*K),H=(W=u.BASE.multiplyAndAddUnsafe(L,te,re))==null?void 0:W.toAffine();return H?a(H.x)===ie:!1}return{CURVE:e,getPublicKey:O,getSharedSecret:z,sign:b,verify:d,ProjectivePoint:u,Signature:k,utils:N}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function mye(r){return{hash:r,hmac:(e,...t)=>RE(r,e,Jwe(...t)),randomBytes:Qwe}}function bye(r,e){const t=n=>gye({...r,...mye(n)});return Object.freeze({...t(e),create:t})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const aY=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),cY=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),wye=BigInt(1),Ok=BigInt(2),lY=(r,e)=>(r+e/Ok)/e;function vye(r){const e=aY,t=BigInt(3),n=BigInt(6),i=BigInt(11),s=BigInt(22),o=BigInt(23),a=BigInt(44),l=BigInt(88),u=r*r*r%e,h=u*u*r%e,p=Ml(h,t,e)*h%e,g=Ml(p,t,e)*h%e,w=Ml(g,Ok,e)*u%e,y=Ml(w,i,e)*w%e,C=Ml(y,s,e)*y%e,T=Ml(C,a,e)*C%e,k=Ml(T,l,e)*T%e,N=Ml(k,a,e)*C%e,O=Ml(N,t,e)*h%e,B=Ml(O,o,e)*y%e,z=Ml(B,n,e)*u%e,G=Ml(z,Ok,e);if(!Dk.eql(Dk.sqr(G),r))throw new Error("Cannot find square root");return G}const Dk=oye(aY,void 0,void 0,{sqrt:vye}),Rp=bye({a:BigInt(0),b:BigInt(7),Fp:Dk,n:cY,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{const e=cY,t=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-wye*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=t,o=BigInt("0x100000000000000000000000000000000"),a=lY(s*r,e),l=lY(-n*r,e);let u=oc(r-a*t-l*i,e),h=oc(-a*n-l*s,e);const p=u>o,g=h>o;if(p&&(u=e-u),g&&(h=e-h),u>o||h>o)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:p,k1:u,k2neg:g,k2:h}}}},jw);BigInt(0),Rp.ProjectivePoint;const xg="0x0000000000000000000000000000000000000000",DE="0x0000000000000000000000000000000000000000000000000000000000000000",uY=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),hY=BigInt("1000000000000000000"),fY=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),dY=BigInt("0x8000000000000000000000000000000000000000000000000000000000000000")*BigInt(-1),pY=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),gY="Ξ",$k=`Ethereum Signed Message: +`,mY=BigInt(0),bY=BigInt(1),wY=BigInt(2),vY=BigInt(27),yY=BigInt(28),$E=BigInt(35),Gw={};function xY(r){return Oo(Vs(r),32)}const dh=class{constructor(e,t,n,i){Ne(this,O3,void 0);Ne(this,D3,void 0);Ne(this,$3,void 0);Ne(this,D2,void 0);Lh(e,Gw,"Signature"),me(this,O3,t),me(this,D3,n),me(this,$3,i),me(this,D2,null)}get r(){return oe(this,O3)}set r(e){xe(ud(e)===32,"invalid r","value",e),me(this,O3,St(e))}get s(){return oe(this,D3)}set s(e){xe(ud(e)===32,"invalid s","value",e);const t=St(e);xe(parseInt(t.substring(0,3))<8,"non-canonical s","value",t),me(this,D3,t)}get v(){return oe(this,$3)}set v(e){const t=Ir(e,"value");xe(t===27||t===28,"invalid v","v",e),me(this,$3,t)}get networkV(){return oe(this,D2)}get legacyChainId(){const e=this.networkV;return e==null?null:dh.getChainId(e)}get yParity(){return this.v===27?0:1}get yParityAndS(){const e=$t(this.s);return this.yParity&&(e[0]|=128),St(e)}get compactSerialized(){return Sn([this.r,this.yParityAndS])}get serialized(){return Sn([this.r,this.s,this.yParity?"0x1c":"0x1b"])}[Symbol.for("nodejs.util.inspect.custom")](){return`Signature { r: "${this.r}", s: "${this.s}", yParity: ${this.yParity}, networkV: ${this.networkV} }`}clone(){const e=new dh(Gw,this.r,this.s,this.v);return this.networkV&&me(e,D2,this.networkV),e}toJSON(){const e=this.networkV;return{_type:"signature",networkV:e!=null?e.toString():null,r:this.r,s:this.s,v:this.v}}static getChainId(e){const t=cr(e,"v");return t==vY||t==yY?mY:(xe(t>=$E,"invalid EIP-155 v","v",e),(t-$E)/wY)}static getChainIdV(e,t){return cr(e)*wY+BigInt(35+t-27)}static getNormalizedV(e){const t=cr(e);return t===mY||t===vY?27:t===bY||t===yY?28:(xe(t>=$E,"invalid v","v",e),t&bY?27:28)}static from(e){function t(u,h){xe(u,h,"signature",e)}if(e==null)return new dh(Gw,DE,DE,27);if(typeof e=="string"){const u=$t(e,"signature");if(u.length===64){const h=St(u.slice(0,32)),p=u.slice(32,64),g=p[0]&128?28:27;return p[0]&=127,new dh(Gw,h,St(p),g)}if(u.length===65){const h=St(u.slice(0,32)),p=u.slice(32,64);t((p[0]&128)===0,"non-canonical s");const g=dh.getNormalizedV(u[64]);return new dh(Gw,h,St(p),g)}t(!1,"invalid raw signature length")}if(e instanceof dh)return e.clone();const n=e.r;t(n!=null,"missing r");const i=xY(n),s=function(u,h){if(u!=null)return xY(u);if(h!=null){t(ui(h,32),"invalid yParityAndS");const p=$t(h);return p[0]&=127,St(p)}t(!1,"missing s")}(e.s,e.yParityAndS);t(($t(s)[0]&128)==0,"non-canonical s");const{networkV:o,v:a}=function(u,h,p){if(u!=null){const g=cr(u);return{networkV:g>=$E?g:void 0,v:dh.getNormalizedV(g)}}if(h!=null)return t(ui(h,32),"invalid yParityAndS"),{v:$t(h)[0]&128?28:27};if(p!=null){switch(Ir(p,"sig.yParity")){case 0:return{v:27};case 1:return{v:28}}t(!1,"invalid yParity")}t(!1,"missing v")}(e.v,e.yParityAndS,e.yParity),l=new dh(Gw,i,s,a);return o&&me(l,D2,o),t(e.yParity==null||Ir(e.yParity,"sig.yParity")===l.yParity,"yParity mismatch"),t(e.yParityAndS==null||e.yParityAndS===l.yParityAndS,"yParityAndS mismatch"),l}};let Mc=dh;O3=new WeakMap,D3=new WeakMap,$3=new WeakMap,D2=new WeakMap;const $2=class{constructor(e){Ne(this,w0,void 0);xe(ud(e)===32,"invalid private key","privateKey","[REDACTED]"),me(this,w0,St(e))}get privateKey(){return oe(this,w0)}get publicKey(){return $2.computePublicKey(oe(this,w0))}get compressedPublicKey(){return $2.computePublicKey(oe(this,w0),!0)}sign(e){xe(ud(e)===32,"invalid digest length","digest",e);const t=Rp.sign(Ws(e),Ws(oe(this,w0)),{lowS:!0});return Mc.from({r:ku(t.r,32),s:ku(t.s,32),v:t.recovery?28:27})}computeSharedSecret(e){const t=$2.computePublicKey(e);return St(Rp.getSharedSecret(Ws(oe(this,w0)),$t(t),!1))}static computePublicKey(e,t){let n=$t(e,"key");if(n.length===32){const s=Rp.getPublicKey(n,!!t);return St(s)}if(n.length===64){const s=new Uint8Array(65);s[0]=4,s.set(n,1),n=s}const i=Rp.ProjectivePoint.fromHex(n);return St(i.toRawBytes(t))}static recoverPublicKey(e,t){xe(ud(e)===32,"invalid digest length","digest",e);const n=Mc.from(t);let i=Rp.Signature.fromCompact(Ws(Sn([n.r,n.s])));i=i.addRecoveryBit(n.yParity);const s=i.recoverPublicKey(Ws(e));return xe(s!=null,"invalid signautre for digest","signature",t),"0x"+s.toHex(!1)}static addPoints(e,t,n){const i=Rp.ProjectivePoint.fromHex($2.computePublicKey(e).substring(2)),s=Rp.ProjectivePoint.fromHex($2.computePublicKey(t).substring(2));return"0x"+i.add(s).toHex(!!n)}};let Pl=$2;w0=new WeakMap;function _Y(){gd.lock(),On.lock(),Nu.lock(),kc.lock(),md.lock(),bd.lock(),wd.lock(),Ia.lock(),Hw.lock(),kc.lock()}const yye=BigInt(0),xye=BigInt(36);function EY(r){r=r.toLowerCase();const e=r.substring(2).split(""),t=new Uint8Array(40);for(let i=0;i<40;i++)t[i]=e[i].charCodeAt(0);const n=$t(On(t));for(let i=0;i<40;i+=2)n[i>>1]>>4>=8&&(e[i]=e[i].toUpperCase()),(n[i>>1]&15)>=8&&(e[i+1]=e[i+1].toUpperCase());return"0x"+e.join("")}const Bk={};for(let r=0;r<10;r++)Bk[String(r)]=String(r);for(let r=0;r<26;r++)Bk[String.fromCharCode(65+r)]=String(10+r);const AY=15;function CY(r){r=r.toUpperCase(),r=r.substring(4)+r.substring(0,2)+"00";let e=r.split("").map(n=>Bk[n]).join("");for(;e.length>=AY;){let n=e.substring(0,AY);e=parseInt(n,10)%97+e.substring(n.length)}let t=String(98-parseInt(e,10)%97);for(;t.length<2;)t="0"+t;return t}const _ye=function(){const r={};for(let e=0;e<36;e++){const t="0123456789abcdefghijklmnopqrstuvwxyz"[e];r[t]=BigInt(e)}return r}();function Eye(r){r=r.toLowerCase();let e=yye;for(let t=0;te.format()).join(",")})`:this.type}defaultValue(){return 0}minValue(){return 0}maxValue(){return 0}isBigInt(){return!!this.type.match(/^u?int[0-9]+$/)}isData(){return this.type.startsWith("bytes")}isString(){return this.type==="string"}get tupleName(){if(this.type!=="tuple")throw TypeError("not a tuple");return oe(this,B2)}get arrayLength(){if(this.type!=="array")throw TypeError("not an array");return oe(this,B2)===!0?-1:oe(this,B2)===!1?this.value.length:null}static from(e,t){return new v0(yd,e,t)}static uint8(e){return or(e,8)}static uint16(e){return or(e,16)}static uint24(e){return or(e,24)}static uint32(e){return or(e,32)}static uint40(e){return or(e,40)}static uint48(e){return or(e,48)}static uint56(e){return or(e,56)}static uint64(e){return or(e,64)}static uint72(e){return or(e,72)}static uint80(e){return or(e,80)}static uint88(e){return or(e,88)}static uint96(e){return or(e,96)}static uint104(e){return or(e,104)}static uint112(e){return or(e,112)}static uint120(e){return or(e,120)}static uint128(e){return or(e,128)}static uint136(e){return or(e,136)}static uint144(e){return or(e,144)}static uint152(e){return or(e,152)}static uint160(e){return or(e,160)}static uint168(e){return or(e,168)}static uint176(e){return or(e,176)}static uint184(e){return or(e,184)}static uint192(e){return or(e,192)}static uint200(e){return or(e,200)}static uint208(e){return or(e,208)}static uint216(e){return or(e,216)}static uint224(e){return or(e,224)}static uint232(e){return or(e,232)}static uint240(e){return or(e,240)}static uint248(e){return or(e,248)}static uint256(e){return or(e,256)}static uint(e){return or(e,256)}static int8(e){return or(e,-8)}static int16(e){return or(e,-16)}static int24(e){return or(e,-24)}static int32(e){return or(e,-32)}static int40(e){return or(e,-40)}static int48(e){return or(e,-48)}static int56(e){return or(e,-56)}static int64(e){return or(e,-64)}static int72(e){return or(e,-72)}static int80(e){return or(e,-80)}static int88(e){return or(e,-88)}static int96(e){return or(e,-96)}static int104(e){return or(e,-104)}static int112(e){return or(e,-112)}static int120(e){return or(e,-120)}static int128(e){return or(e,-128)}static int136(e){return or(e,-136)}static int144(e){return or(e,-144)}static int152(e){return or(e,-152)}static int160(e){return or(e,-160)}static int168(e){return or(e,-168)}static int176(e){return or(e,-176)}static int184(e){return or(e,-184)}static int192(e){return or(e,-192)}static int200(e){return or(e,-200)}static int208(e){return or(e,-208)}static int216(e){return or(e,-216)}static int224(e){return or(e,-224)}static int232(e){return or(e,-232)}static int240(e){return or(e,-240)}static int248(e){return or(e,-248)}static int256(e){return or(e,-256)}static int(e){return or(e,-256)}static bytes1(e){return $n(e,1)}static bytes2(e){return $n(e,2)}static bytes3(e){return $n(e,3)}static bytes4(e){return $n(e,4)}static bytes5(e){return $n(e,5)}static bytes6(e){return $n(e,6)}static bytes7(e){return $n(e,7)}static bytes8(e){return $n(e,8)}static bytes9(e){return $n(e,9)}static bytes10(e){return $n(e,10)}static bytes11(e){return $n(e,11)}static bytes12(e){return $n(e,12)}static bytes13(e){return $n(e,13)}static bytes14(e){return $n(e,14)}static bytes15(e){return $n(e,15)}static bytes16(e){return $n(e,16)}static bytes17(e){return $n(e,17)}static bytes18(e){return $n(e,18)}static bytes19(e){return $n(e,19)}static bytes20(e){return $n(e,20)}static bytes21(e){return $n(e,21)}static bytes22(e){return $n(e,22)}static bytes23(e){return $n(e,23)}static bytes24(e){return $n(e,24)}static bytes25(e){return $n(e,25)}static bytes26(e){return $n(e,26)}static bytes27(e){return $n(e,27)}static bytes28(e){return $n(e,28)}static bytes29(e){return $n(e,29)}static bytes30(e){return $n(e,30)}static bytes31(e){return $n(e,31)}static bytes32(e){return $n(e,32)}static address(e){return new v0(yd,"address",e)}static bool(e){return new v0(yd,"bool",!!e)}static bytes(e){return new v0(yd,"bytes",e)}static string(e){return new v0(yd,"string",e)}static array(e,t){throw new Error("not implemented yet")}static tuple(e,t){throw new Error("not implemented yet")}static overrides(e){return new v0(yd,"overrides",Object.assign({},e))}static isTyped(e){return e&&typeof e=="object"&&"_typedSymbol"in e&&e._typedSymbol===RY}static dereference(e,t){if(v0.isTyped(e)){if(e.type!==t)throw new Error(`invalid type: expecetd ${t}, got ${e.type}`);return e.value}return e}};let uo=v0;B2=new WeakMap;class Aye extends pd{constructor(e){super("address","address",e,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(e,t){let n=uo.dereference(t,"string");try{n=zr(n)}catch(i){return this._throwError(i.message,t)}return e.writeValue(n)}decode(e){return zr(ku(e.readValue(),20))}}class Cye extends pd{constructor(t){super(t.name,t.type,"_",t.dynamic);Ee(this,"coder");this.coder=t}defaultValue(){return this.coder.defaultValue()}encode(t,n){return this.coder.encode(t,n)}decode(t){return this.coder.decode(t)}}function kY(r,e,t){let n=[];if(Array.isArray(t))n=t;else if(t&&typeof t=="object"){let l={};n=e.map(u=>{const h=u.localName;return Ue(h,"cannot encode object for signature with missing names","INVALID_ARGUMENT",{argument:"values",info:{coder:u},value:t}),Ue(!l[h],"cannot encode object for signature with duplicate names","INVALID_ARGUMENT",{argument:"values",info:{coder:u},value:t}),l[h]=!0,t[h]})}else xe(!1,"invalid tuple value","tuple",t);xe(e.length===n.length,"types/value length mismatch","tuple",t);let i=new gk,s=new gk,o=[];e.forEach((l,u)=>{let h=n[u];if(l.dynamic){let p=s.length;l.encode(s,h);let g=i.writeUpdatableValue();o.push(w=>{g(w+p)})}else l.encode(i,h)}),o.forEach(l=>{l(i.length)});let a=r.appendWriter(i);return a+=r.appendWriter(s),a}function MY(r,e){let t=[],n=[],i=r.subReader(0);return e.forEach(s=>{let o=null;if(s.dynamic){let a=r.readIndex(),l=i.subReader(a);try{o=s.decode(l)}catch(u){if($s(u,"BUFFER_OVERRUN"))throw u;o=u,o.baseType=s.name,o.name=s.localName,o.type=s.type}}else try{o=s.decode(r)}catch(a){if($s(a,"BUFFER_OVERRUN"))throw a;o=a,o.baseType=s.name,o.name=s.localName,o.type=s.type}if(o==null)throw new Error("investigate");t.push(o),n.push(s.localName||null)}),Lw.fromItems(t,n)}class Sye extends pd{constructor(t,n,i){const s=t.type+"["+(n>=0?n:"")+"]",o=n===-1||t.dynamic;super("array",s,i,o);Ee(this,"coder");Ee(this,"length");er(this,{coder:t,length:n})}defaultValue(){const t=this.coder.defaultValue(),n=[];for(let i=0;io||i<-(o+Pye))&&this._throwError("value out-of-bounds",n),i=r4(i,8*Sa)}else(ihd(s,this.size*8))&&this._throwError("value out-of-bounds",n);return t.writeValue(i)}decode(t){let n=hd(t.readValue(),this.size*8);return this.signed&&(n=Mw(n,this.size*8)),n}}class $ye extends NY{constructor(e){super("string",e)}defaultValue(){return""}encode(e,t){return super.encode(e,Bs(uo.dereference(t,"string")))}decode(e){return dd(super.decode(e))}}class UE extends pd{constructor(t,n){let i=!1;const s=[];t.forEach(a=>{a.dynamic&&(i=!0),s.push(a.type)});const o="tuple("+s.join(",")+")";super("tuple",o,n,i);Ee(this,"coders");er(this,{coders:Object.freeze(t.slice())})}defaultValue(){const t=[];this.coders.forEach(i=>{t.push(i.defaultValue())});const n=this.coders.reduce((i,s)=>{const o=s.localName;return o&&(i[o]||(i[o]=0),i[o]++),i},{});return this.coders.forEach((i,s)=>{let o=i.localName;!o||n[o]!==1||(o==="length"&&(o="_length"),t[o]==null&&(t[o]=t[s]))}),Object.freeze(t)}encode(t,n){const i=uo.dereference(n,"tuple");return kY(t,this.coders,i)}decode(t){return MY(t,this.coders)}}function Nc(r){return On(Bs(r))}var Bye="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";const PY=new Map([[8217,"apostrophe"],[8260,"fraction slash"],[12539,"middle dot"]]),OY=4;function Lye(r){let e=0;function t(){return r[e++]<<8|r[e++]}let n=t(),i=1,s=[0,1];for(let z=1;z>--l&1}const p=31,g=2**p,w=g>>>1,y=w>>1,C=g-1;let T=0;for(let z=0;z1;){let Q=G+$>>>1;z>>1|h(),D=D<<1^w,V=(V^w)<<1|w|1;N=D,O=1+V-D}let B=n-4;return k.map(z=>{switch(z-B){case 3:return B+65792+(r[a++]<<16|r[a++]<<8|r[a++]);case 2:return B+256+(r[a++]<<8|r[a++]);case 1:return B+r[a++];default:return z-1}})}function Uye(r){let e=0;return()=>r[e++]}function DY(r){return Uye(Lye(Fye(r)))}function Fye(r){let e=[];[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"].forEach((i,s)=>e[i.charCodeAt(0)]=s);let t=r.length,n=new Uint8Array(6*t>>3);for(let i=0,s=0,o=0,a=0;i=8&&(n[s++]=a>>(o-=8));return n}function jye(r){return r&1?~r>>1:r>>1}function zye(r,e){let t=Array(r);for(let n=0,i=0;n{let e=c4(r);if(e.length)return e})}function BY(r){let e=[];for(;;){let t=r();if(t==0)break;e.push(Hye(t,r))}for(;;){let t=r()-1;if(t<0)break;e.push(qye(t,r))}return e.flat()}function l4(r){let e=[];for(;;){let t=r(e.length);if(!t)break;e.push(t)}return e}function LY(r,e,t){let n=Array(r).fill().map(()=>[]);for(let i=0;in[o].push(s));return n}function Hye(r,e){let t=1+e(),n=e(),i=l4(e);return LY(i.length,1+r,e).flatMap((o,a)=>{let[l,...u]=o;return Array(i[a]).fill().map((h,p)=>{let g=p*n;return[l+p*t,u.map(w=>w+g)]})})}function qye(r,e){let t=1+e();return LY(t,1+r,e).map(i=>[i[0],i.slice(1)])}function Wye(r){let e=[],t=c4(r);return i(n([]),[]),e;function n(s){let o=r(),a=l4(()=>{let l=c4(r).map(u=>t[u]);if(l.length)return n(l)});return{S:o,B:a,Q:s}}function i({S:s,B:o},a,l){if(!(s&4&&l===a[a.length-1])){s&2&&(l=a[a.length-1]),s&1&&e.push(a);for(let u of o)for(let h of u.Q)i(u,[...a,h],l)}}}function Vye(r){return r.toString(16).toUpperCase().padStart(2,"0")}function UY(r){return`{${Vye(r)}}`}function Gye(r){let e=[];for(let t=0,n=r.length;t>24&255}function zY(r){return r&16777215}let Uk,HY,Fk,qE;function t3e(){let r=DY(Zye);Uk=new Map($Y(r).flatMap((e,t)=>e.map(n=>[n,t+1<<24]))),HY=new Set(c4(r)),Fk=new Map,qE=new Map;for(let[e,t]of BY(r)){if(!HY.has(e)&&t.length==2){let[n,i]=t,s=qE.get(n);s||(s=new Map,qE.set(n,s)),s.set(i,e)}Fk.set(e,t.reverse())}}function qY(r){return r>=u4&&r=FE&&r=jE&&ezE&&e0&&i(zE+u)}else{let o=Fk.get(s);o?t.push(...o):i(s)}if(!t.length)break;s=t.pop()}if(n&&e.length>1){let s=h4(e[0]);for(let o=1;o0&&i>=o)o==0?(e.push(n,...t),t.length=0,n=a):t.push(a),i=o;else{let l=r3e(n,a);l>=0?n=l:i==0&&o==0?(e.push(n),n=a):(t.push(a),i=o)}}return n>=0&&e.push(n,...t),e}function VY(r){return WY(r).map(zY)}function i3e(r){return n3e(WY(r))}const GY=45,KY=".",ZY=65039,JY=1,WE=r=>Array.from(r);function f4(r,e){return r.P.has(e)||r.Q.has(e)}class s3e extends Array{get is_emoji(){return!0}}let jk,YY,_g,zk,QY,Jw,Hk,Yw,Eg,XY,qk;function Wk(){if(jk)return;let r=DY(Bye);const e=()=>c4(r),t=()=>new Set(e()),n=(h,p)=>p.forEach(g=>h.add(g));jk=new Map(BY(r)),YY=t(),_g=e(),zk=new Set(e().map(h=>_g[h])),_g=new Set(_g),QY=t(),t();let i=$Y(r),s=r();const o=()=>{let h=new Set;return e().forEach(p=>n(h,i[p])),n(h,e()),h};Jw=l4(h=>{let p=l4(r).map(g=>g+96);if(p.length){let g=h>=s;p[0]-=32,p=Kw(p),g&&(p=`Restricted[${p}]`);let w=o(),y=o(),C=!r();return{N:p,P:w,Q:y,M:C,R:g}}}),Hk=t(),Yw=new Map;let a=e().concat(WE(Hk)).sort((h,p)=>h-p);a.forEach((h,p)=>{let g=r(),w=a[p]=g?a[p-g]:{V:[],M:new Map};w.V.push(h),Hk.has(h)||Yw.set(h,w)});for(let{V:h,M:p}of new Set(Yw.values())){let g=[];for(let y of h){let C=Jw.filter(k=>f4(k,y)),T=g.find(({G:k})=>C.some(N=>k.has(N)));T||(T={G:new Set,V:[]},g.push(T)),T.V.push(y),n(T.G,C)}let w=g.flatMap(y=>WE(y.G));for(let{G:y,V:C}of g){let T=new Set(w.filter(k=>!y.has(k)));for(let k of C)p.set(k,T)}}Eg=new Set;let l=new Set;const u=h=>Eg.has(h)?l.add(h):Eg.add(h);for(let h of Jw){for(let p of h.P)u(p);for(let p of h.Q)u(p)}for(let h of Eg)!Yw.has(h)&&!l.has(h)&&Yw.set(h,JY);n(Eg,VY(Eg)),XY=Wye(r).map(h=>s3e.from(h)).sort(Kye),qk=new Map;for(let h of XY){let p=[qk];for(let g of h){let w=p.map(y=>{let C=y.get(g);return C||(C=new Map,y.set(g,C)),C});g===ZY?p.push(...w):p=w}for(let g of p)g.V=h}}function Vk(r){return(eQ(r)?"":`${Gk(VE([r]))} `)+UY(r)}function Gk(r){return`"${r}"‎`}function o3e(r){if(r.length>=4&&r[2]==GY&&r[3]==GY)throw new Error(`invalid label extension: "${Kw(r.slice(0,4))}"`)}function a3e(r){for(let t=r.lastIndexOf(95);t>0;)if(r[--t]!==95)throw new Error("underscore allowed only at start")}function c3e(r){let e=r[0],t=PY.get(e);if(t)throw d4(`leading ${t}`);let n=r.length,i=-1;for(let s=1;se&&(e>>=1,r=[...r.slice(0,e),8230,...r.slice(-e)]);let i=0,s=r.length;for(let o=0;o{let s=Gye(i),o={input:s,offset:n};n+=s.length+1;try{let a=o.tokens=m3e(s,e,t),l=a.length,u;if(!l)throw new Error("empty label");let h=o.output=a.flat();if(a3e(h),!(o.emoji=l>1||a[0].is_emoji)&&h.every(g=>g<128))o3e(h),u="ASCII";else{let g=a.flatMap(w=>w.is_emoji?[]:w);if(!g.length)u="Emoji";else{if(_g.has(h[0]))throw d4("leading combining mark");for(let C=1;Co.has(a)):WE(o),!t.length)return}else n.push(i)}if(t){for(let i of t)if(n.every(s=>f4(i,s)))throw new Error(`whole-script confusable: ${r.N}/${i.N}`)}}function d3e(r){let e=Jw;for(let t of r){let n=e.filter(i=>f4(i,t));if(!n.length)throw Jw.some(i=>f4(i,t))?rQ(e[0],t):tQ(t);if(e=n,n.length==1)break}return e}function p3e(r){return r.map(({input:e,error:t,output:n})=>{if(t){let i=t.message;throw new Error(r.length==1?i:`Invalid label ${Gk(VE(e,63))}: ${i}`)}return Kw(n)}).join(KY)}function tQ(r){return new Error(`disallowed character: ${Vk(r)}`)}function rQ(r,e){let t=Vk(e),n=Jw.find(i=>i.P.has(e));return n&&(t=`${n.N} ${t}`),new Error(`illegal mixture: ${r.N} + ${t}`)}function d4(r){return new Error(`illegal placement: ${r}`)}function g3e(r,e){for(let t of e)if(!f4(r,t))throw rQ(r,t);if(r.M){let t=VY(e);for(let n=1,i=t.length;nOY)throw new Error(`excessive non-spacing marks: ${Gk(VE(t.slice(n-1,s)))} (${s-n}/${OY})`);n=s}}}function m3e(r,e,t){let n=[],i=[];for(r=r.slice().reverse();r.length;){let s=w3e(r);if(s)i.length&&(n.push(e(i)),i=[]),n.push(t(s));else{let o=r.pop();if(Eg.has(o))i.push(o);else{let a=jk.get(o);if(a)i.push(...a);else if(!YY.has(o))throw tQ(o)}}}return i.length&&n.push(e(i)),n}function b3e(r){return r.filter(e=>e!=ZY)}function w3e(r,e){let t=qk,n,i=r.length;for(;i&&(t=t.get(r[--i]),!!t);){let{V:s}=t;s&&(n=s,e&&e.push(...r.slice(i).reverse()),r.length=i)}return n}const nQ=new Uint8Array(32);nQ.fill(0);function iQ(r){return xe(r.length!==0,"invalid ENS name; empty component","comp",r),r}function Kk(r){const e=Bs(Zk(r)),t=[];if(r.length===0)return t;let n=0;for(let i=0;i{xe(n.length<=t,`label ${JSON.stringify(r)} exceeds ${t} bytes`,"name",r);const i=new Uint8Array(n.length+1);return i.set(n,1),i[0]=i.length-1,i})))+"00"}function Yk(r,e){return{address:zr(r),storageKeys:e.map((t,n)=>(xe(ui(t,32),"invalid slot",`storageKeys[${n}]`,t),t.toLowerCase()))}}function jh(r){if(Array.isArray(r))return r.map((t,n)=>Array.isArray(t)?(xe(t.length===2,"invalid slot set",`value[${n}]`,t),Yk(t[0],t[1])):(xe(t!=null&&typeof t=="object","invalid address-slot set","value",r),Yk(t.address,t.storageKeys)));xe(r!=null&&typeof r=="object","invalid access list","value",r);const e=Object.keys(r).map(t=>{const n=r[t].reduce((i,s)=>(i[s]=!0,i),{});return Yk(t,Object.keys(n).sort())});return e.sort((t,n)=>t.address.localeCompare(n.address)),e}function Ag(r){let e;return typeof r=="string"?e=Pl.computePublicKey(r,!1):e=r.publicKey,zr(On("0x"+e.substring(4)).substring(26))}function g4(r,e){return Ag(Pl.recoverPublicKey(r,e))}const ho=BigInt(0),v3e=BigInt(2),y3e=BigInt(27),x3e=BigInt(28),_3e=BigInt(35),E3e=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function GE(r){return r==="0x"?null:zr(r)}function Qk(r,e){try{return jh(r)}catch(t){xe(!1,t.message,e,r)}}function m4(r,e){return r==="0x"?0:Ir(r,e)}function ms(r,e){if(r==="0x")return ho;const t=cr(r,e);return xe(t<=E3e,"value exceeds uint size",e,t),t}function Mi(r,e){const t=cr(r,"value"),n=Vs(t);return xe(n.length<=32,"value too large",`tx.${e}`,t),n}function Xk(r){return jh(r).map(e=>[e.address,e.storageKeys])}function A3e(r,e){xe(Array.isArray(r),`invalid ${e}`,"value",r);for(let t=0;t=0?2:e.pop()}inferTypes(){const e=this.gasPrice!=null,t=this.maxFeePerGas!=null||this.maxPriorityFeePerGas!=null,n=this.accessList!=null,i=oe(this,L2)!=null||oe(this,U2);this.maxFeePerGas!=null&&this.maxPriorityFeePerGas!=null&&Ue(this.maxFeePerGas>=this.maxPriorityFeePerGas,"priorityFee cannot be more than maxFee","BAD_DATA",{value:this}),Ue(!t||this.type!==0&&this.type!==1,"transaction type cannot have maxFeePerGas or maxPriorityFeePerGas","BAD_DATA",{value:this}),Ue(this.type!==0||!n,"legacy transaction cannot have accessList","BAD_DATA",{value:this});const s=[];return this.type!=null?s.push(this.type):t?s.push(2):e?(s.push(1),n||s.push(0)):n?(s.push(1),s.push(2)):(i&&this.to||(s.push(0),s.push(1),s.push(2)),s.push(3)),s.sort(),s}isLegacy(){return this.type===0}isBerlin(){return this.type===1}isLondon(){return this.type===2}isCancun(){return this.type===3}clone(){return Pc.from(this)}toJSON(){const e=t=>t==null?null:t.toString();return{type:this.type,to:this.to,data:this.data,nonce:this.nonce,gasLimit:e(this.gasLimit),gasPrice:e(this.gasPrice),maxPriorityFeePerGas:e(this.maxPriorityFeePerGas),maxFeePerGas:e(this.maxFeePerGas),value:e(this.value),chainId:e(this.chainId),sig:this.signature?this.signature.toJSON():null,accessList:this.accessList}}static from(e){if(e==null)return new Pc;if(typeof e=="string"){const n=$t(e);if(n[0]>=127)return Pc.from(C3e(n));switch(n[0]){case 1:return Pc.from(I3e(n));case 2:return Pc.from(S3e(n));case 3:return Pc.from(T3e(n))}Ue(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:"from"})}const t=new Pc;return e.type!=null&&(t.type=e.type),e.to!=null&&(t.to=e.to),e.nonce!=null&&(t.nonce=e.nonce),e.gasLimit!=null&&(t.gasLimit=e.gasLimit),e.gasPrice!=null&&(t.gasPrice=e.gasPrice),e.maxPriorityFeePerGas!=null&&(t.maxPriorityFeePerGas=e.maxPriorityFeePerGas),e.maxFeePerGas!=null&&(t.maxFeePerGas=e.maxFeePerGas),e.maxFeePerBlobGas!=null&&(t.maxFeePerBlobGas=e.maxFeePerBlobGas),e.data!=null&&(t.data=e.data),e.value!=null&&(t.value=e.value),e.chainId!=null&&(t.chainId=e.chainId),e.signature!=null&&(t.signature=Mc.from(e.signature)),e.accessList!=null&&(t.accessList=e.accessList),e.blobVersionedHashes!=null&&(t.blobVersionedHashes=e.blobVersionedHashes),e.hash!=null&&(xe(t.isSigned(),"unsigned transaction cannot define hash","tx",e),xe(t.hash===e.hash,"hash mismatch","tx",e)),e.from!=null&&(xe(t.isSigned(),"unsigned transaction cannot define from","tx",e),xe(t.from.toLowerCase()===(e.from||"").toLowerCase(),"from mismatch","tx",e)),t}},qf=new WeakMap,B3=new WeakMap,L3=new WeakMap,U3=new WeakMap,F3=new WeakMap,j3=new WeakMap,z3=new WeakMap,H3=new WeakMap,q3=new WeakMap,W3=new WeakMap,V3=new WeakMap,G3=new WeakMap,L2=new WeakMap,U2=new WeakMap,rge);function KE(r){return typeof r=="string"&&(r=Bs(r)),On(Sn([Bs($k),Bs(String(r.length)),r]))}function uQ(r,e){const t=KE(r);return g4(t,e)}const R3e=new RegExp("^bytes([0-9]+)$"),k3e=new RegExp("^(u?int)([0-9]*)$"),M3e=new RegExp("^(.*)\\[([0-9]*)\\]$");function hQ(r,e,t){switch(r){case"address":return $t(t?Oo(e,32):zr(e));case"string":return Bs(e);case"bytes":return $t(e);case"bool":return e=e?"0x01":"0x00",$t(t?Oo(e,32):e)}let n=r.match(k3e);if(n){let i=n[1]==="int",s=parseInt(n[2]||"256");return xe((!n[2]||n[2]===String(s))&&s%8===0&&s!==0&&s<=256,"invalid number type","type",r),t&&(s=256),i&&(e=r4(e,s)),$t(Oo(Vs(e),s/8))}if(n=r.match(R3e),n){const i=parseInt(n[1]);return xe(String(i)===n[1]&&i!==0&&i<=32,"invalid bytes type","type",r),xe(ud(e)===i,`invalid value for ${r}`,"value",e),t?$t(t4(e,32)):e}if(n=r.match(M3e),n&&Array.isArray(e)){const i=n[1],s=parseInt(n[2]||String(e.length));xe(s===e.length,`invalid array length for ${r}`,"value",e);const o=[];return e.forEach(function(a){o.push(hQ(i,a,!0))}),$t(Sn(o))}xe(!1,"invalid type","type",r)}function ZE(r,e){xe(r.length===e.length,"wrong number of values; expected ${ types.length }","values",e);const t=[];return r.forEach(function(n,i){t.push(hQ(n,e[i]))}),St(Sn(t))}function fQ(r,e){return On(ZE(r,e))}function dQ(r,e){return Ia(ZE(r,e))}const pQ=new Uint8Array(32);pQ.fill(0);const N3e=BigInt(-1),gQ=BigInt(0),mQ=BigInt(1),P3e=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function O3e(r){const e=$t(r),t=e.length%32;return t?Sn([e,pQ.slice(t)]):St(e)}const D3e=ku(mQ,32),$3e=ku(gQ,32),bQ={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},tM=["name","version","chainId","verifyingContract","salt"];function wQ(r){return function(e){return xe(typeof e=="string",`invalid domain value for ${JSON.stringify(r)}`,`domain.${r}`,e),e}}const B3e={name:wQ("name"),version:wQ("version"),chainId:function(r){const e=cr(r,"domain.chainId");return xe(e>=0,"invalid chain ID","domain.chainId",r),Number.isSafeInteger(e)?Number(e):fd(e)},verifyingContract:function(r){try{return zr(r).toLowerCase()}catch{}xe(!1,'invalid domain value "verifyingContract"',"domain.verifyingContract",r)},salt:function(r){const e=$t(r,"domain.salt");return xe(e.length===32,'invalid domain value "salt"',"domain.salt",r),St(e)}};function rM(r){{const e=r.match(/^(u?)int(\d+)$/);if(e){const t=e[1]==="",n=parseInt(e[2]);xe(n%8===0&&n!==0&&n<=256&&e[2]===String(n),"invalid numeric width","type",r);const i=hd(P3e,t?n-1:n),s=t?(i+mQ)*N3e:gQ;return function(o){const a=cr(o,"value");return xe(a>=s&&a<=i,`value out-of-bounds for ${r}`,"value",a),ku(t?r4(a,256):a,32)}}}{const e=r.match(/^bytes(\d+)$/);if(e){const t=parseInt(e[1]);return xe(t!==0&&t<=32&&e[1]===String(t),"invalid bytes width","type",r),function(n){const i=$t(n);return xe(i.length===t,`invalid length for ${r}`,"value",n),O3e(n)}}}switch(r){case"address":return function(e){return Oo(zr(e),32)};case"bool":return function(e){return e?D3e:$3e};case"bytes":return function(e){return On(e)};case"string":return function(e){return Nc(e)}}return null}function vQ(r,e){return`${r}(${e.map(({name:t,type:n})=>n+" "+t).join(",")})`}function JE(r){const e=r.match(/^([^\x5b]*)((\x5b\d*\x5d)*)(\x5b(\d*)\x5d)$/);return e?{base:e[1],index:e[2]+e[4],array:{base:e[1],prefix:e[1]+e[2],count:e[5]?parseInt(e[5]):-1}}:{base:r}}const gu=class{constructor(e){Ne(this,YT);Ee(this,"primaryType");Ne(this,Fx,void 0);Ne(this,y0,void 0);Ne(this,K3,void 0);me(this,y0,new Map),me(this,K3,new Map);const t=new Map,n=new Map,i=new Map,s={};Object.keys(e).forEach(l=>{s[l]=e[l].map(({name:u,type:h})=>{let{base:p,index:g}=JE(h);return p==="int"&&!e.int&&(p="int256"),p==="uint"&&!e.uint&&(p="uint256"),{name:u,type:p+(g||"")}}),t.set(l,new Set),n.set(l,[]),i.set(l,new Set)}),me(this,Fx,JSON.stringify(s));for(const l in s){const u=new Set;for(const h of s[l]){xe(!u.has(h.name),`duplicate variable name ${JSON.stringify(h.name)} in ${JSON.stringify(l)}`,"types",e),u.add(h.name);const p=JE(h.type).base;xe(p!==l,`circular type reference to ${JSON.stringify(p)}`,"types",e),!rM(p)&&(xe(n.has(p),`unknown type ${JSON.stringify(p)}`,"types",e),n.get(p).push(l),t.get(l).add(p))}}const o=Array.from(n.keys()).filter(l=>n.get(l).length===0);xe(o.length!==0,"missing primary type","types",e),xe(o.length===1,`ambiguous primary types or unused types: ${o.map(l=>JSON.stringify(l)).join(", ")}`,"types",e),er(this,{primaryType:o[0]});function a(l,u){xe(!u.has(l),`circular type reference to ${JSON.stringify(l)}`,"types",e),u.add(l);for(const h of t.get(l))if(n.has(h)){a(h,u);for(const p of u)i.get(p).add(h)}u.delete(l)}a(this.primaryType,new Set);for(const[l,u]of i){const h=Array.from(u);h.sort(),oe(this,y0).set(l,vQ(l,s[l])+h.map(p=>vQ(p,s[p])).join(""))}}get types(){return JSON.parse(oe(this,Fx))}getEncoder(e){let t=oe(this,K3).get(e);return t||(t=rt(this,YT,yge).call(this,e),oe(this,K3).set(e,t)),t}encodeType(e){const t=oe(this,y0).get(e);return xe(t,`unknown type: ${JSON.stringify(e)}`,"name",e),t}encodeData(e,t){return this.getEncoder(e)(t)}hashStruct(e,t){return On(this.encodeData(e,t))}encode(e){return this.encodeData(this.primaryType,e)}hash(e){return this.hashStruct(this.primaryType,e)}_visit(e,t,n){if(rM(e))return n(e,t);const i=JE(e).array;if(i)return xe(i.count===-1||i.count===t.length,`array length mismatch; expected length ${i.count}`,"value",t),t.map(o=>this._visit(i.prefix,o,n));const s=this.types[e];if(s)return s.reduce((o,{name:a,type:l})=>(o[a]=this._visit(l,t[a],n),o),{});xe(!1,`unknown type: ${e}`,"type",e)}visit(e,t){return this._visit(this.primaryType,e,t)}static from(e){return new gu(e)}static getPrimaryType(e){return gu.from(e).primaryType}static hashStruct(e,t,n){return gu.from(t).hashStruct(e,n)}static hashDomain(e){const t=[];for(const n in e){if(e[n]==null)continue;const i=bQ[n];xe(i,`invalid typed-data domain key: ${JSON.stringify(n)}`,"domain",e),t.push({name:n,type:i})}return t.sort((n,i)=>tM.indexOf(n.name)-tM.indexOf(i.name)),gu.hashStruct("EIP712Domain",{EIP712Domain:t},e)}static encode(e,t,n){return Sn(["0x1901",gu.hashDomain(e),gu.from(t).hash(n)])}static hash(e,t,n){return On(gu.encode(e,t,n))}static async resolveNames(e,t,n,i){e=Object.assign({},e);for(const a in e)e[a]==null&&delete e[a];const s={};e.verifyingContract&&!ui(e.verifyingContract,20)&&(s[e.verifyingContract]="0x");const o=gu.from(t);o.visit(n,(a,l)=>(a==="address"&&!ui(l,20)&&(s[l]="0x"),l));for(const a in s)s[a]=await i(a);return e.verifyingContract&&s[e.verifyingContract]&&(e.verifyingContract=s[e.verifyingContract]),n=o.visit(n,(a,l)=>a==="address"&&s[l]?s[l]:l),{domain:e,value:n}}static getPayload(e,t,n){gu.hashDomain(e);const i={},s=[];tM.forEach(l=>{const u=e[l];u!=null&&(i[l]=B3e[l](u),s.push({name:l,type:bQ[l]}))});const o=gu.from(t);t=o.types;const a=Object.assign({},t);return xe(a.EIP712Domain==null,"types must not contain EIP712Domain type","types.EIP712Domain",t),a.EIP712Domain=s,o.encode(n),{types:a,domain:i,primaryType:o.primaryType,message:o.visit(n,(l,u)=>{if(l.match(/^bytes(\d*)/))return St($t(u));if(l.match(/^u?int/))return cr(u).toString();switch(l){case"address":return u.toLowerCase();case"bool":return!!u;case"string":return xe(typeof u=="string","invalid string","value",u),u}xe(!1,"unsupported type","type",l)})}}};let xd=gu;Fx=new WeakMap,y0=new WeakMap,K3=new WeakMap,YT=new WeakSet,yge=function(e){{const i=rM(e);if(i)return i}const t=JE(e).array;if(t){const i=t.prefix,s=this.getEncoder(i);return o=>{xe(t.count===-1||t.count===o.length,`array length mismatch; expected length ${t.count}`,"value",o);let a=o.map(s);return oe(this,y0).has(i)&&(a=a.map(On)),On(Sn(a))}}const n=this.types[e];if(n){const i=Nc(oe(this,y0).get(e));return s=>{const o=n.map(({name:a,type:l})=>{const u=this.getEncoder(l)(s[a]);return oe(this,y0).has(l)?On(u):u});return o.unshift(i),Sn(o)}}xe(!1,`unknown type: ${e}`,"type",e)};function yQ(r,e,t,n){return g4(xd.hash(r,e,t),n)}function Ta(r){const e=new Set;return r.forEach(t=>e.add(t)),Object.freeze(e)}const L3e=Ta("external public payable override".split(" ")),xQ="constant external internal payable private public pure view override",U3e=Ta(xQ.split(" ")),_Q="constructor error event fallback function receive struct",EQ=Ta(_Q.split(" ")),AQ="calldata memory storage payable indexed",F3e=Ta(AQ.split(" ")),j3e=[_Q,AQ,"tuple returns",xQ].join(" "),z3e=Ta(j3e.split(" ")),H3e={"(":"OPEN_PAREN",")":"CLOSE_PAREN","[":"OPEN_BRACKET","]":"CLOSE_BRACKET",",":"COMMA","@":"AT"},q3e=new RegExp("^(\\s*)"),W3e=new RegExp("^([0-9]+)"),V3e=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)"),CQ=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)$"),SQ=new RegExp("^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$"),QT=class{constructor(e){Ne(this,jx);Ne(this,Ko,void 0);Ne(this,ph,void 0);me(this,Ko,0),me(this,ph,e.slice())}get offset(){return oe(this,Ko)}get length(){return oe(this,ph).length-oe(this,Ko)}clone(){return new QT(oe(this,ph))}reset(){me(this,Ko,0)}popKeyword(e){const t=this.peek();if(t.type!=="KEYWORD"||!e.has(t.text))throw new Error(`expected keyword ${t.text}`);return this.pop().text}popType(e){if(this.peek().type!==e){const t=this.peek();throw new Error(`expected ${e}; got ${t.type} ${JSON.stringify(t.text)}`)}return this.pop().text}popParen(){const e=this.peek();if(e.type!=="OPEN_PAREN")throw new Error("bad start");const t=rt(this,jx,YG).call(this,oe(this,Ko)+1,e.match+1);return me(this,Ko,e.match+1),t}popParams(){const e=this.peek();if(e.type!=="OPEN_PAREN")throw new Error("bad start");const t=[];for(;oe(this,Ko)=oe(this,ph).length)throw new Error("out-of-bounds");return oe(this,ph)[oe(this,Ko)]}peekKeyword(e){const t=this.peekType("KEYWORD");return t!=null&&e.has(t)?t:null}peekType(e){if(this.length===0)return null;const t=this.peek();return t.type===e?t.text:null}pop(){const e=this.peek();return S5(this,Ko)._++,e}toString(){const e=[];for(let t=oe(this,Ko);t`}};let Ou=QT;Ko=new WeakMap,ph=new WeakMap,jx=new WeakSet,YG=function(e=0,t=0){return new QT(oe(this,ph).slice(e,t).map(n=>Object.freeze(Object.assign({},n,{match:n.match-e,linkBack:n.linkBack-e,linkNext:n.linkNext-e}))))};function kp(r){const e=[],t=o=>{const a=s0&&e[e.length-1].type==="NUMBER"){const p=e.pop().text;h=p+h,e[e.length-1].value=Ir(p)}if(e.length===0||e[e.length-1].type!=="BRACKET")throw new Error("missing opening bracket");e[e.length-1].text+=h}continue}if(a=o.match(V3e),a){if(l.text=a[1],s+=l.text.length,z3e.has(l.text)){l.type="KEYWORD";continue}if(l.text.match(SQ)){l.type="TYPE";continue}l.type="ID";continue}if(a=o.match(W3e),a){l.text=a[1],l.type="NUMBER",s+=l.text.length;continue}throw new Error(`unexpected token ${JSON.stringify(o[0])} at position ${s}`)}return new Ou(e.map(o=>Object.freeze(o)))}function IQ(r,e){let t=[];for(const n in e.keys())r.has(n)&&t.push(n);if(t.length>1)throw new Error(`conflicting types: ${t.join(", ")}`)}function YE(r,e){if(e.peekKeyword(EQ)){const t=e.pop().text;if(t!==r)throw new Error(`expected ${r}, got ${t}`)}return e.popType("ID")}function _d(r,e){const t=new Set;for(;;){const n=r.peekType("KEYWORD");if(n==null||e&&!e.has(n))break;if(r.pop(),t.has(n))throw new Error(`duplicate keywords: ${JSON.stringify(n)}`);t.add(n)}return Object.freeze(t)}function TQ(r){let e=_d(r,U3e);return IQ(e,Ta("constant payable nonpayable".split(" "))),IQ(e,Ta("pure view payable nonpayable".split(" "))),e.has("view")?"view":e.has("pure")?"pure":e.has("payable")?"payable":e.has("nonpayable")?"nonpayable":e.has("constant")?"view":"nonpayable"}function Ed(r,e){return r.popParams().map(t=>Ks.from(t,e))}function RQ(r){if(r.peekType("AT")){if(r.pop(),r.peekType("NUMBER"))return cr(r.pop().text);throw new Error("invalid gas")}return null}function Cg(r){if(r.length)throw new Error(`unexpected tokens at offset ${r.offset}: ${r.toString()}`)}const G3e=new RegExp(/^(.*)\[([0-9]*)\]$/);function kQ(r){const e=r.match(SQ);if(xe(e,"invalid type","type",r),r==="uint")return"uint256";if(r==="int")return"int256";if(e[2]){const t=parseInt(e[2]);xe(t!==0&&t<=32,"invalid bytes length","type",r)}else if(e[3]){const t=parseInt(e[3]);xe(t!==0&&t<=256&&t%8===0,"invalid numeric width","type",r)}return r}const ts={},ac=Symbol.for("_ethers_internal"),MQ="_ParamTypeInternal",NQ="_ErrorInternal",PQ="_EventInternal",OQ="_ConstructorInternal",DQ="_FallbackInternal",$Q="_FunctionInternal",BQ="_StructInternal",mu=class{constructor(e,t,n,i,s,o,a,l){Ne(this,Z3);Ee(this,"name");Ee(this,"type");Ee(this,"baseType");Ee(this,"indexed");Ee(this,"components");Ee(this,"arrayLength");Ee(this,"arrayChildren");if(Lh(e,ts,"ParamType"),Object.defineProperty(this,ac,{value:MQ}),o&&(o=Object.freeze(o.slice())),i==="array"){if(a==null||l==null)throw new Error("")}else if(a!=null||l!=null)throw new Error("");if(i==="tuple"){if(o==null)throw new Error("")}else if(o!=null)throw new Error("");er(this,{name:t,type:n,baseType:i,indexed:s,components:o,arrayLength:a,arrayChildren:l})}format(e){if(e==null&&(e="sighash"),e==="json"){const n=this.name||"";if(this.isArray()){const s=JSON.parse(this.arrayChildren.format("json"));return s.name=n,s.type+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`,JSON.stringify(s)}const i={type:this.baseType==="tuple"?"tuple":this.type,name:n};return typeof this.indexed=="boolean"&&(i.indexed=this.indexed),this.isTuple()&&(i.components=this.components.map(s=>JSON.parse(s.format(e)))),JSON.stringify(i)}let t="";return this.isArray()?(t+=this.arrayChildren.format(e),t+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`):this.isTuple()?t+="("+this.components.map(n=>n.format(e)).join(e==="full"?", ":",")+")":t+=this.type,e!=="sighash"&&(this.indexed===!0&&(t+=" indexed"),e==="full"&&this.name&&(t+=" "+this.name)),t}isArray(){return this.baseType==="array"}isTuple(){return this.baseType==="tuple"}isIndexable(){return this.indexed!=null}walk(e,t){if(this.isArray()){if(!Array.isArray(e))throw new Error("invalid array value");if(this.arrayLength!==-1&&e.length!==this.arrayLength)throw new Error("array is wrong length");const n=this;return e.map(i=>n.arrayChildren.walk(i,t))}if(this.isTuple()){if(!Array.isArray(e))throw new Error("invalid tuple value");if(e.length!==this.components.length)throw new Error("array is wrong length");const n=this;return e.map((i,s)=>n.components[s].walk(i,t))}return t(this.type,e)}async walkAsync(e,t){const n=[],i=[e];return rt(this,Z3,aR).call(this,n,e,t,s=>{i[0]=s}),n.length&&await Promise.all(n),i[0]}static from(e,t){if(mu.isParamType(e))return e;if(typeof e=="string")try{return mu.from(kp(e),t)}catch{xe(!1,"invalid param type","obj",e)}else if(e instanceof Ou){let a="",l="",u=null;_d(e,Ta(["tuple"])).has("tuple")||e.peekType("OPEN_PAREN")?(l="tuple",u=e.popParams().map(C=>mu.from(C)),a=`tuple(${u.map(C=>C.format()).join(",")})`):(a=kQ(e.popType("TYPE")),l=a);let h=null,p=null;for(;e.length&&e.peekType("BRACKET");){const C=e.pop();h=new mu(ts,"",a,l,null,u,p,h),p=C.value,a+=C.text,l="array",u=null}let g=null;if(_d(e,F3e).has("indexed")){if(!t)throw new Error("");g=!0}const y=e.peekType("ID")?e.pop().text:"";if(e.length)throw new Error("leftover tokens");return new mu(ts,y,a,l,g,u,p,h)}const n=e.name;xe(!n||typeof n=="string"&&n.match(CQ),"invalid name","obj.name",n);let i=e.indexed;i!=null&&(xe(t,"parameter cannot be indexed","obj.indexed",e.indexed),i=!!i);let s=e.type,o=s.match(G3e);if(o){const a=parseInt(o[2]||"-1"),l=mu.from({type:o[1],components:e.components});return new mu(ts,n||"",s,"array",i,null,a,l)}if(s==="tuple"||s.startsWith("tuple(")||s.startsWith("(")){const a=e.components!=null?e.components.map(u=>mu.from(u)):null;return new mu(ts,n||"",s,"tuple",i,a,null,null)}return s=kQ(e.type),new mu(ts,n||"",s,s,i,null,null,null)}static isParamType(e){return e&&e[ac]===MQ}};let Ks=mu;Z3=new WeakSet,aR=function(e,t,n,i){if(this.isArray()){if(!Array.isArray(t))throw new Error("invalid array value");if(this.arrayLength!==-1&&t.length!==this.arrayLength)throw new Error("array is wrong length");const o=this.arrayChildren,a=t.slice();a.forEach((l,u)=>{var h;rt(h=o,Z3,aR).call(h,e,l,n,p=>{a[u]=p})}),i(a);return}if(this.isTuple()){const o=this.components;let a;if(Array.isArray(t))a=t.slice();else{if(t==null||typeof t!="object")throw new Error("invalid tuple value");a=o.map(l=>{if(!l.name)throw new Error("cannot use object value with unnamed components");if(!(l.name in t))throw new Error(`missing value for component ${l.name}`);return t[l.name]})}if(a.length!==this.components.length)throw new Error("array is wrong length");a.forEach((l,u)=>{var h;rt(h=o[u],Z3,aR).call(h,e,l,n,p=>{a[u]=p})}),i(a);return}const s=n(this.type,t);s.then?e.push(async function(){i(await s)}()):i(s)};class Ad{constructor(e,t,n){Ee(this,"type");Ee(this,"inputs");Lh(e,ts,"Fragment"),n=Object.freeze(n.slice()),er(this,{type:t,inputs:n})}static from(e){if(typeof e=="string"){try{Ad.from(JSON.parse(e))}catch{}return Ad.from(kp(e))}if(e instanceof Ou)switch(e.peekKeyword(EQ)){case"constructor":return Du.from(e);case"error":return aa.from(e);case"event":return Ol.from(e);case"fallback":case"receive":return $u.from(e);case"function":return Dl.from(e);case"struct":return Cd.from(e)}else if(typeof e=="object"){switch(e.type){case"constructor":return Du.from(e);case"error":return aa.from(e);case"event":return Ol.from(e);case"fallback":case"receive":return $u.from(e);case"function":return Dl.from(e);case"struct":return Cd.from(e)}Ue(!1,`unsupported type: ${e.type}`,"UNSUPPORTED_OPERATION",{operation:"Fragment.from"})}xe(!1,"unsupported frgament object","obj",e)}static isConstructor(e){return Du.isFragment(e)}static isError(e){return aa.isFragment(e)}static isEvent(e){return Ol.isFragment(e)}static isFunction(e){return Dl.isFragment(e)}static isStruct(e){return Cd.isFragment(e)}}class Qw extends Ad{constructor(t,n,i,s){super(t,n,s);Ee(this,"name");xe(typeof i=="string"&&i.match(CQ),"invalid identifier","name",i),s=Object.freeze(s.slice()),er(this,{name:i})}}function b4(r,e){return"("+e.map(t=>t.format(r)).join(r==="full"?", ":",")+")"}class aa extends Qw{constructor(e,t,n){super(e,"error",t,n),Object.defineProperty(this,ac,{value:NQ})}get selector(){return Nc(this.format("sighash")).substring(0,10)}format(e){if(e==null&&(e="sighash"),e==="json")return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(n=>JSON.parse(n.format(e)))});const t=[];return e!=="sighash"&&t.push("error"),t.push(this.name+b4(e,this.inputs)),t.join(" ")}static from(e){if(aa.isFragment(e))return e;if(typeof e=="string")return aa.from(kp(e));if(e instanceof Ou){const t=YE("error",e),n=Ed(e);return Cg(e),new aa(ts,t,n)}return new aa(ts,e.name,e.inputs?e.inputs.map(Ks.from):[])}static isFragment(e){return e&&e[ac]===NQ}}class Ol extends Qw{constructor(t,n,i,s){super(t,"event",n,i);Ee(this,"anonymous");Object.defineProperty(this,ac,{value:PQ}),er(this,{anonymous:s})}get topicHash(){return Nc(this.format("sighash"))}format(t){if(t==null&&(t="sighash"),t==="json")return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(i=>JSON.parse(i.format(t)))});const n=[];return t!=="sighash"&&n.push("event"),n.push(this.name+b4(t,this.inputs)),t!=="sighash"&&this.anonymous&&n.push("anonymous"),n.join(" ")}static getTopicHash(t,n){return n=(n||[]).map(s=>Ks.from(s)),new Ol(ts,t,n,!1).topicHash}static from(t){if(Ol.isFragment(t))return t;if(typeof t=="string")try{return Ol.from(kp(t))}catch{xe(!1,"invalid event fragment","obj",t)}else if(t instanceof Ou){const n=YE("event",t),i=Ed(t,!0),s=!!_d(t,Ta(["anonymous"])).has("anonymous");return Cg(t),new Ol(ts,n,i,s)}return new Ol(ts,t.name,t.inputs?t.inputs.map(n=>Ks.from(n,!0)):[],!!t.anonymous)}static isFragment(t){return t&&t[ac]===PQ}}class Du extends Ad{constructor(t,n,i,s,o){super(t,n,i);Ee(this,"payable");Ee(this,"gas");Object.defineProperty(this,ac,{value:OQ}),er(this,{payable:s,gas:o})}format(t){if(Ue(t!=null&&t!=="sighash","cannot format a constructor for sighash","UNSUPPORTED_OPERATION",{operation:"format(sighash)"}),t==="json")return JSON.stringify({type:"constructor",stateMutability:this.payable?"payable":"undefined",payable:this.payable,gas:this.gas!=null?this.gas:void 0,inputs:this.inputs.map(i=>JSON.parse(i.format(t)))});const n=[`constructor${b4(t,this.inputs)}`];return this.payable&&n.push("payable"),this.gas!=null&&n.push(`@${this.gas.toString()}`),n.join(" ")}static from(t){if(Du.isFragment(t))return t;if(typeof t=="string")try{return Du.from(kp(t))}catch{xe(!1,"invalid constuctor fragment","obj",t)}else if(t instanceof Ou){_d(t,Ta(["constructor"]));const n=Ed(t),i=!!_d(t,L3e).has("payable"),s=RQ(t);return Cg(t),new Du(ts,"constructor",n,i,s)}return new Du(ts,"constructor",t.inputs?t.inputs.map(Ks.from):[],!!t.payable,t.gas!=null?t.gas:null)}static isFragment(t){return t&&t[ac]===OQ}}class $u extends Ad{constructor(t,n,i){super(t,"fallback",n);Ee(this,"payable");Object.defineProperty(this,ac,{value:DQ}),er(this,{payable:i})}format(t){const n=this.inputs.length===0?"receive":"fallback";if(t==="json"){const i=this.payable?"payable":"nonpayable";return JSON.stringify({type:n,stateMutability:i})}return`${n}()${this.payable?" payable":""}`}static from(t){if($u.isFragment(t))return t;if(typeof t=="string")try{return $u.from(kp(t))}catch{xe(!1,"invalid fallback fragment","obj",t)}else if(t instanceof Ou){const n=t.toString(),i=t.peekKeyword(Ta(["fallback","receive"]));if(xe(i,"type must be fallback or receive","obj",n),t.popKeyword(Ta(["fallback","receive"]))==="receive"){const l=Ed(t);return xe(l.length===0,"receive cannot have arguments","obj.inputs",l),_d(t,Ta(["payable"])),Cg(t),new $u(ts,[],!0)}let o=Ed(t);o.length?xe(o.length===1&&o[0].type==="bytes","invalid fallback inputs","obj.inputs",o.map(l=>l.format("minimal")).join(", ")):o=[Ks.from("bytes")];const a=TQ(t);if(xe(a==="nonpayable"||a==="payable","fallback cannot be constants","obj.stateMutability",a),_d(t,Ta(["returns"])).has("returns")){const l=Ed(t);xe(l.length===1&&l[0].type==="bytes","invalid fallback outputs","obj.outputs",l.map(u=>u.format("minimal")).join(", "))}return Cg(t),new $u(ts,o,a==="payable")}if(t.type==="receive")return new $u(ts,[],!0);if(t.type==="fallback"){const n=[Ks.from("bytes")],i=t.stateMutability==="payable";return new $u(ts,n,i)}xe(!1,"invalid fallback description","obj",t)}static isFragment(t){return t&&t[ac]===DQ}}class Dl extends Qw{constructor(t,n,i,s,o,a){super(t,"function",n,s);Ee(this,"constant");Ee(this,"outputs");Ee(this,"stateMutability");Ee(this,"payable");Ee(this,"gas");Object.defineProperty(this,ac,{value:$Q}),o=Object.freeze(o.slice()),er(this,{constant:i==="view"||i==="pure",gas:a,outputs:o,payable:i==="payable",stateMutability:i})}get selector(){return Nc(this.format("sighash")).substring(0,10)}format(t){if(t==null&&(t="sighash"),t==="json")return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:this.stateMutability!=="nonpayable"?this.stateMutability:void 0,payable:this.payable,gas:this.gas!=null?this.gas:void 0,inputs:this.inputs.map(i=>JSON.parse(i.format(t))),outputs:this.outputs.map(i=>JSON.parse(i.format(t)))});const n=[];return t!=="sighash"&&n.push("function"),n.push(this.name+b4(t,this.inputs)),t!=="sighash"&&(this.stateMutability!=="nonpayable"&&n.push(this.stateMutability),this.outputs&&this.outputs.length&&(n.push("returns"),n.push(b4(t,this.outputs))),this.gas!=null&&n.push(`@${this.gas.toString()}`)),n.join(" ")}static getSelector(t,n){return n=(n||[]).map(s=>Ks.from(s)),new Dl(ts,t,"view",n,[],null).selector}static from(t){if(Dl.isFragment(t))return t;if(typeof t=="string")try{return Dl.from(kp(t))}catch{xe(!1,"invalid function fragment","obj",t)}else if(t instanceof Ou){const i=YE("function",t),s=Ed(t),o=TQ(t);let a=[];_d(t,Ta(["returns"])).has("returns")&&(a=Ed(t));const l=RQ(t);return Cg(t),new Dl(ts,i,o,s,a,l)}let n=t.stateMutability;return n==null&&(n="payable",typeof t.constant=="boolean"?(n="view",t.constant||(n="payable",typeof t.payable=="boolean"&&!t.payable&&(n="nonpayable"))):typeof t.payable=="boolean"&&!t.payable&&(n="nonpayable")),new Dl(ts,t.name,n,t.inputs?t.inputs.map(Ks.from):[],t.outputs?t.outputs.map(Ks.from):[],t.gas!=null?t.gas:null)}static isFragment(t){return t&&t[ac]===$Q}}class Cd extends Qw{constructor(e,t,n){super(e,"struct",t,n),Object.defineProperty(this,ac,{value:BQ})}format(){throw new Error("@TODO")}static from(e){if(typeof e=="string")try{return Cd.from(kp(e))}catch{xe(!1,"invalid struct fragment","obj",e)}else if(e instanceof Ou){const t=YE("struct",e),n=Ed(e);return Cg(e),new Cd(ts,t,n)}return new Cd(ts,e.name,e.inputs?e.inputs.map(Ks.from):[])}static isFragment(e){return e&&e[ac]===BQ}}const Bu=new Map;Bu.set(0,"GENERIC_PANIC"),Bu.set(1,"ASSERT_FALSE"),Bu.set(17,"OVERFLOW"),Bu.set(18,"DIVIDE_BY_ZERO"),Bu.set(33,"ENUM_RANGE_ERROR"),Bu.set(34,"BAD_STORAGE_DATA"),Bu.set(49,"STACK_UNDERFLOW"),Bu.set(50,"ARRAY_RANGE_ERROR"),Bu.set(65,"OUT_OF_MEMORY"),Bu.set(81,"UNINITIALIZED_FUNCTION_CALL");const K3e=new RegExp(/^bytes([0-9]*)$/),Z3e=new RegExp(/^(u?int)([0-9]*)$/);let nM=null,LQ=1024;function J3e(r,e,t,n){let i="missing revert data",s=null;const o=null;let a=null;if(t){i="execution reverted";const u=$t(t);if(t=St(t),u.length===0)i+=" (no data present; likely require(false) occurred",s="require(false)";else if(u.length%32!==4)i+=" (could not decode reason; invalid data length)";else if(St(u.slice(0,4))==="0x08c379a0")try{s=n.decode(["string"],u.slice(4))[0],a={signature:"Error(string)",name:"Error",args:[s]},i+=`: ${JSON.stringify(s)}`}catch{i+=" (could not decode reason; invalid string data)"}else if(St(u.slice(0,4))==="0x4e487b71")try{const h=Number(n.decode(["uint256"],u.slice(4))[0]);a={signature:"Panic(uint256)",name:"Panic",args:[h]},s=`Panic due to ${Bu.get(h)||"UNKNOWN"}(${h})`,i+=`: ${s}`}catch{i+=" (could not decode panic code)"}else i+=" (unknown custom error)"}const l={to:e.to?zr(e.to):null,data:e.data||"0x"};return e.from&&(l.from=zr(e.from)),Wi(i,"CALL_EXCEPTION",{action:r,data:t,reason:s,transaction:l,invocation:o,revert:a})}const XT=class{constructor(){Ne(this,H1)}getDefaultValue(e){const t=e.map(i=>rt(this,H1,I5).call(this,Ks.from(i)));return new UE(t,"_").defaultValue()}encode(e,t){dE(t.length,e.length,"types/values length mismatch");const n=e.map(o=>rt(this,H1,I5).call(this,Ks.from(o))),i=new UE(n,"_"),s=new gk;return i.encode(s,t),s.data}decode(e,t,n){const i=e.map(o=>rt(this,H1,I5).call(this,Ks.from(o)));return new UE(i,"_").decode(new mk(t,n,LQ))}static _setDefaultMaxInflation(e){xe(typeof e=="number"&&Number.isInteger(e),"invalid defaultMaxInflation factor","value",e),LQ=e}static defaultAbiCoder(){return nM==null&&(nM=new XT),nM}static getBuiltinCallException(e,t,n){return J3e(e,t,n,XT.defaultAbiCoder())}};let Mp=XT;H1=new WeakSet,I5=function(e){if(e.isArray())return new Sye(rt(this,H1,I5).call(this,e.arrayChildren),e.arrayLength,e.name);if(e.isTuple())return new UE(e.components.map(n=>rt(this,H1,I5).call(this,n)),e.name);switch(e.baseType){case"address":return new Aye(e.name);case"bool":return new Iye(e.name);case"string":return new $ye(e.name);case"bytes":return new Tye(e.name);case"":return new Mye(e.name)}let t=e.type.match(Z3e);if(t){let n=parseInt(t[2]||"256");return xe(n!==0&&n<=256&&n%8===0,"invalid "+t[1]+" bit length","param",e),new Dye(n/8,t[1]==="int",e.name)}if(t=e.type.match(K3e),t){let n=parseInt(t[1]);return xe(n!==0&&n<=32,"invalid bytes length","param",e),new Rye(n,e.name)}xe(!1,"invalid type","type",e.type)};function UQ(r){const e=Bs(r);if(e.length>31)throw new Error("bytes32 string must be less than 32 bytes");return t4(e,32)}function FQ(r){const e=$t(r,"bytes");if(e.length!==32)throw new Error("invalid bytes32 - not 32 bytes long");if(e[31]!==0)throw new Error("invalid bytes32 string - no null terminator");let t=31;for(;e[t-1]===0;)t--;return dd(e.slice(0,t))}class iM{constructor(e,t,n){Ee(this,"fragment");Ee(this,"name");Ee(this,"signature");Ee(this,"topic");Ee(this,"args");const i=e.name,s=e.format();er(this,{fragment:e,name:i,signature:s,topic:t,args:n})}}class sM{constructor(e,t,n,i){Ee(this,"fragment");Ee(this,"name");Ee(this,"args");Ee(this,"signature");Ee(this,"selector");Ee(this,"value");const s=e.name,o=e.format();er(this,{fragment:e,name:s,args:n,signature:o,selector:t,value:i})}}class oM{constructor(e,t,n){Ee(this,"fragment");Ee(this,"name");Ee(this,"args");Ee(this,"signature");Ee(this,"selector");const i=e.name,s=e.format();er(this,{fragment:e,name:i,args:n,signature:s,selector:t})}}class QE{constructor(e){Ee(this,"hash");Ee(this,"_isIndexed");er(this,{hash:e,_isIndexed:!0})}static isIndexed(e){return!!(e&&e._isIndexed)}}const jQ={0:"generic panic",1:"assert(false)",17:"arithmetic overflow",18:"division or modulo by zero",33:"enum overflow",34:"invalid encoded storage byte array accessed",49:"out-of-bounds array access; popping on an empty array",50:"out-of-bounds access of an array or bytesN",65:"out of memory",81:"uninitialized function"},zQ={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:r=>`reverted with reason string ${JSON.stringify(r)}`},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"],reason:r=>{let e="unknown panic code";return r>=0&&r<=255&&jQ[r.toString()]&&(e=jQ[r.toString()]),`reverted with panic code 0x${r.toString(16)} (${e})`}}},Q3=class{constructor(e){Ne(this,J3);Ne(this,Y3);Ee(this,"fragments");Ee(this,"deploy");Ee(this,"fallback");Ee(this,"receive");Ne(this,Wf,void 0);Ne(this,Vf,void 0);Ne(this,Gf,void 0);Ne(this,_a,void 0);let t=[];typeof e=="string"?t=JSON.parse(e):t=e,me(this,Gf,new Map),me(this,Wf,new Map),me(this,Vf,new Map);const n=[];for(const o of t)try{n.push(Ad.from(o))}catch(a){console.log(`[Warning] Invalid Fragment ${JSON.stringify(o)}:`,a.message)}er(this,{fragments:Object.freeze(n)});let i=null,s=!1;me(this,_a,this.getAbiCoder()),this.fragments.forEach((o,a)=>{let l;switch(o.type){case"constructor":if(this.deploy){console.log("duplicate definition - constructor");return}er(this,{deploy:o});return;case"fallback":o.inputs.length===0?s=!0:(xe(!i||o.payable!==i.payable,"conflicting fallback fragments",`fragments[${a}]`,o),i=o,s=i.payable);return;case"function":l=oe(this,Gf);break;case"event":l=oe(this,Vf);break;case"error":l=oe(this,Wf);break;default:return}const u=o.format();l.has(u)||l.set(u,o)}),this.deploy||er(this,{deploy:Du.from("constructor()")}),er(this,{fallback:i,receive:s})}format(e){const t=e?"minimal":"full";return this.fragments.map(i=>i.format(t))}formatJson(){const e=this.fragments.map(t=>t.format("json"));return JSON.stringify(e.map(t=>JSON.parse(t)))}getAbiCoder(){return Mp.defaultAbiCoder()}getFunctionName(e){const t=rt(this,J3,cR).call(this,e,null,!1);return xe(t,"no matching function","key",e),t.name}hasFunction(e){return!!rt(this,J3,cR).call(this,e,null,!1)}getFunction(e,t){return rt(this,J3,cR).call(this,e,t||null,!0)}forEachFunction(e){const t=Array.from(oe(this,Gf).keys());t.sort((n,i)=>n.localeCompare(i));for(let n=0;nn.localeCompare(i));for(let n=0;n1){const s=i.map(o=>JSON.stringify(o.format())).join(", ");xe(!1,`ambiguous error description (i.e. ${s})`,"name",e)}return i[0]}if(e=aa.from(e).format(),e==="Error(string)")return aa.from("error Error(string)");if(e==="Panic(uint256)")return aa.from("error Panic(uint256)");const n=oe(this,Wf).get(e);return n||null}forEachError(e){const t=Array.from(oe(this,Wf).keys());t.sort((n,i)=>n.localeCompare(i));for(let n=0;ns.type==="string"?Nc(o):s.type==="bytes"?On(St(o)):(s.type==="bool"&&typeof o=="boolean"?o=o?"0x01":"0x00":s.type.match(/^u?int/)?o=ku(o):s.type.match(/^bytes/)?o=t4(o,32):s.type==="address"&&oe(this,_a).encode(["address"],[o]),Oo(St(o),32));for(t.forEach((s,o)=>{const a=e.inputs[o];if(!a.indexed){xe(s==null,"cannot filter non-indexed parameters; must be null","contract."+a.name,s);return}s==null?n.push(null):a.baseType==="array"||a.baseType==="tuple"?xe(!1,"filtering with tuples or arrays not supported","contract."+a.name,s):Array.isArray(s)?n.push(s.map(l=>i(a,l))):n.push(i(a,s))});n.length&&n[n.length-1]===null;)n.pop();return n}encodeEventLog(e,t){if(typeof e=="string"){const o=this.getEvent(e);xe(o,"unknown event","eventFragment",e),e=o}const n=[],i=[],s=[];return e.anonymous||n.push(e.topicHash),xe(t.length===e.inputs.length,"event arguments/values mismatch","values",t),e.inputs.forEach((o,a)=>{const l=t[a];if(o.indexed)if(o.type==="string")n.push(Nc(l));else if(o.type==="bytes")n.push(On(l));else{if(o.baseType==="tuple"||o.baseType==="array")throw new Error("not implemented");n.push(oe(this,_a).encode([o.type],[l]))}else i.push(o),s.push(l)}),{data:oe(this,_a).encode(i,s),topics:n}}decodeEventLog(e,t,n){if(typeof e=="string"){const w=this.getEvent(e);xe(w,"unknown event","eventFragment",e),e=w}if(n!=null&&!e.anonymous){const w=e.topicHash;xe(ui(n[0],32)&&n[0].toLowerCase()===w,"fragment/topic mismatch","topics[0]",n[0]),n=n.slice(1)}const i=[],s=[],o=[];e.inputs.forEach((w,y)=>{w.indexed?w.type==="string"||w.type==="bytes"||w.baseType==="tuple"||w.baseType==="array"?(i.push(Ks.from({type:"bytes32",name:w.name})),o.push(!0)):(i.push(w),o.push(!1)):(s.push(w),o.push(!1))});const a=n!=null?oe(this,_a).decode(i,Sn(n)):null,l=oe(this,_a).decode(s,t,!0),u=[],h=[];let p=0,g=0;return e.inputs.forEach((w,y)=>{let C=null;if(w.indexed)if(a==null)C=new QE(null);else if(o[y])C=new QE(a[g++]);else try{C=a[g++]}catch(T){C=T}else try{C=l[p++]}catch(T){C=T}u.push(C),h.push(w.name||null)}),Lw.fromItems(u,h)}parseTransaction(e){const t=$t(e.data,"tx.data"),n=cr(e.value!=null?e.value:0,"tx.value"),i=this.getFunction(St(t.slice(0,4)));if(!i)return null;const s=oe(this,_a).decode(i.inputs,t.slice(4));return new sM(i,i.selector,s,n)}parseCallResult(e){throw new Error("@TODO")}parseLog(e){const t=this.getEvent(e.topics[0]);return!t||t.anonymous?null:new iM(t,t.topicHash,this.decodeEventLog(t,e.data,e.topics))}parseError(e){const t=St(e),n=this.getError(hi(t,0,4));if(!n)return null;const i=oe(this,_a).decode(n.inputs,hi(t,4));return new oM(n,n.selector,i)}static from(e){return e instanceof Q3?e:typeof e=="string"?new Q3(JSON.parse(e)):typeof e.format=="function"?new Q3(e.format("json")):new Q3(e)}};let Sg=Q3;Wf=new WeakMap,Vf=new WeakMap,Gf=new WeakMap,_a=new WeakMap,J3=new WeakSet,cR=function(e,t,n){if(ui(e)){const s=e.toLowerCase();for(const o of oe(this,Gf).values())if(s===o.selector)return o;return null}if(e.indexOf("(")===-1){const s=[];for(const[o,a]of oe(this,Gf))o.split("(")[0]===e&&s.push(a);if(t){const o=t.length>0?t[t.length-1]:null;let a=t.length,l=!0;uo.isTyped(o)&&o.type==="overrides"&&(l=!1,a--);for(let u=s.length-1;u>=0;u--){const h=s[u].inputs.length;h!==a&&(!l||h!==a-1)&&s.splice(u,1)}for(let u=s.length-1;u>=0;u--){const h=s[u].inputs;for(let p=0;p=h.length){if(t[p].type==="overrides")continue;s.splice(u,1);break}if(t[p].type!==h[p].baseType){s.splice(u,1);break}}}}if(s.length===1&&t&&t.length!==s[0].inputs.length){const o=t[t.length-1];(o==null||Array.isArray(o)||typeof o!="object")&&s.splice(0,1)}if(s.length===0)return null;if(s.length>1&&n){const o=s.map(a=>JSON.stringify(a.format())).join(", ");xe(!1,`ambiguous function description (i.e. matches ${o})`,"key",e)}return s[0]}const i=oe(this,Gf).get(Dl.from(e).format());return i||null},Y3=new WeakSet,lR=function(e,t,n){if(ui(e)){const s=e.toLowerCase();for(const o of oe(this,Vf).values())if(s===o.topicHash)return o;return null}if(e.indexOf("(")===-1){const s=[];for(const[o,a]of oe(this,Vf))o.split("(")[0]===e&&s.push(a);if(t){for(let o=s.length-1;o>=0;o--)s[o].inputs.length=0;o--){const a=s[o].inputs;for(let l=0;l1&&n){const o=s.map(a=>JSON.stringify(a.format())).join(", ");xe(!1,`ambiguous event description (i.e. matches ${o})`,"key",e)}return s[0]}const i=oe(this,Vf).get(Ol.from(e).format());return i||null};const HQ=BigInt(0);function w4(r){return r??null}function bs(r){return r==null?null:r.toString()}class XE{constructor(e,t,n){Ee(this,"gasPrice");Ee(this,"maxFeePerGas");Ee(this,"maxPriorityFeePerGas");er(this,{gasPrice:w4(e),maxFeePerGas:w4(t),maxPriorityFeePerGas:w4(n)})}toJSON(){const{gasPrice:e,maxFeePerGas:t,maxPriorityFeePerGas:n}=this;return{_type:"FeeData",gasPrice:bs(e),maxFeePerGas:bs(t),maxPriorityFeePerGas:bs(n)}}}function Xw(r){const e={};r.to&&(e.to=r.to),r.from&&(e.from=r.from),r.data&&(e.data=St(r.data));const t="chainId,gasLimit,gasPrice,maxFeePerGas,maxPriorityFeePerGas,value".split(/,/);for(const i of t)!(i in r)||r[i]==null||(e[i]=cr(r[i],`request.${i}`));const n="type,nonce".split(/,/);for(const i of n)!(i in r)||r[i]==null||(e[i]=Ir(r[i],`request.${i}`));return r.accessList&&(e.accessList=jh(r.accessList)),"blockTag"in r&&(e.blockTag=r.blockTag),"enableCcipRead"in r&&(e.enableCcipRead=!!r.enableCcipRead),"customData"in r&&(e.customData=r.customData),e}class aM{constructor(e,t){Ee(this,"provider");Ee(this,"number");Ee(this,"hash");Ee(this,"timestamp");Ee(this,"parentHash");Ee(this,"parentBeaconBlockRoot");Ee(this,"nonce");Ee(this,"difficulty");Ee(this,"gasLimit");Ee(this,"gasUsed");Ee(this,"stateRoot");Ee(this,"receiptsRoot");Ee(this,"blobGasUsed");Ee(this,"excessBlobGas");Ee(this,"miner");Ee(this,"extraData");Ee(this,"baseFeePerGas");Ne(this,x0,void 0);me(this,x0,e.transactions.map(n=>typeof n!="string"?new Tg(n,t):n)),er(this,{provider:t,hash:w4(e.hash),number:e.number,timestamp:e.timestamp,parentHash:e.parentHash,parentBeaconBlockRoot:e.parentBeaconBlockRoot,nonce:e.nonce,difficulty:e.difficulty,gasLimit:e.gasLimit,gasUsed:e.gasUsed,blobGasUsed:e.blobGasUsed,excessBlobGas:e.excessBlobGas,miner:e.miner,extraData:e.extraData,baseFeePerGas:w4(e.baseFeePerGas),stateRoot:e.stateRoot,receiptsRoot:e.receiptsRoot})}get transactions(){return oe(this,x0).map(e=>typeof e=="string"?e:e.hash)}get prefetchedTransactions(){const e=oe(this,x0).slice();return e.length===0?[]:(Ue(typeof e[0]=="object","transactions were not prefetched with block request","UNSUPPORTED_OPERATION",{operation:"transactionResponses()"}),e)}toJSON(){const{baseFeePerGas:e,difficulty:t,extraData:n,gasLimit:i,gasUsed:s,hash:o,miner:a,nonce:l,number:u,parentHash:h,parentBeaconBlockRoot:p,stateRoot:g,receiptsRoot:w,timestamp:y,transactions:C}=this;return{_type:"Block",baseFeePerGas:bs(e),difficulty:bs(t),extraData:n,gasLimit:bs(i),gasUsed:bs(s),blobGasUsed:bs(this.blobGasUsed),excessBlobGas:bs(this.excessBlobGas),hash:o,miner:a,nonce:l,number:u,parentHash:h,timestamp:y,parentBeaconBlockRoot:p,stateRoot:g,receiptsRoot:w,transactions:C}}[Symbol.iterator](){let e=0;const t=this.transactions;return{next:()=>enew Ig(i,t))));let n=HQ;e.effectiveGasPrice!=null?n=e.effectiveGasPrice:e.gasPrice!=null&&(n=e.gasPrice),er(this,{provider:t,to:e.to,from:e.from,contractAddress:e.contractAddress,hash:e.hash,index:e.index,blockHash:e.blockHash,blockNumber:e.blockNumber,logsBloom:e.logsBloom,gasUsed:e.gasUsed,cumulativeGasUsed:e.cumulativeGasUsed,blobGasUsed:e.blobGasUsed,gasPrice:n,blobGasPrice:e.blobGasPrice,type:e.type,status:e.status,root:e.root})}get logs(){return oe(this,zx)}toJSON(){const{to:e,from:t,contractAddress:n,hash:i,index:s,blockHash:o,blockNumber:a,logsBloom:l,logs:u,status:h,root:p}=this;return{_type:"TransactionReceipt",blockHash:o,blockNumber:a,contractAddress:n,cumulativeGasUsed:bs(this.cumulativeGasUsed),from:t,gasPrice:bs(this.gasPrice),blobGasUsed:bs(this.blobGasUsed),blobGasPrice:bs(this.blobGasPrice),gasUsed:bs(this.gasUsed),hash:i,index:s,logs:u,logsBloom:l,root:p,status:h,to:e}}get length(){return this.logs.length}[Symbol.iterator](){let e=0;return{next:()=>e{if(a)return null;const{blockNumber:g,nonce:w}=await qs({blockNumber:this.provider.getBlockNumber(),nonce:this.provider.getTransactionCount(this.from)});if(w{if(g==null||g.status!==0)return g;Ue(!1,"transaction execution reverted","CALL_EXCEPTION",{action:"sendTransaction",data:null,reason:null,invocation:null,revert:null,transaction:{to:g.to,from:g.from,data:""},receipt:g})},h=await this.provider.getTransactionReceipt(this.hash);if(n===0)return u(h);if(h){if(await h.confirmations()>=n)return u(h)}else if(await l(),n===0)return null;return await new Promise((g,w)=>{const y=[],C=()=>{y.forEach(k=>k())};if(y.push(()=>{a=!0}),i>0){const k=setTimeout(()=>{C(),w(Wi("wait for transaction timeout","TIMEOUT"))},i);y.push(()=>{clearTimeout(k)})}const T=async k=>{if(await k.confirmations()>=n){C();try{g(u(k))}catch(N){w(N)}}};if(y.push(()=>{this.provider.off(this.hash,T)}),this.provider.on(this.hash,T),s>=0){const k=async()=>{try{await l()}catch(N){if($s(N,"TRANSACTION_REPLACED")){C(),w(N);return}}a||this.provider.once("block",k)};y.push(()=>{this.provider.off("block",k)}),this.provider.once("block",k)}})}isMined(){return this.blockHash!=null}isLegacy(){return this.type===0}isBerlin(){return this.type===1}isLondon(){return this.type===2}isCancun(){return this.type===3}removedEvent(){return Ue(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),WQ(this)}reorderedEvent(e){return Ue(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),Ue(!e||e.isMined(),"unmined 'other' transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),qQ(this,e)}replaceableTransaction(e){xe(Number.isInteger(e)&&e>=0,"invalid startBlock","startBlock",e);const t=new cj(this,this.provider);return me(t,q1,e),t}};let Tg=cj;q1=new WeakMap;function Y3e(r){return{orphan:"drop-block",hash:r.hash,number:r.number}}function qQ(r,e){return{orphan:"reorder-transaction",tx:r,other:e}}function WQ(r){return{orphan:"drop-transaction",tx:r}}function Q3e(r){return{orphan:"drop-log",log:{transactionHash:r.transactionHash,blockHash:r.blockHash,blockNumber:r.blockNumber,address:r.address,data:r.data,topics:Object.freeze(r.topics.slice()),index:r.index}}}class v4 extends Ig{constructor(t,n,i){super(t,t.provider);Ee(this,"interface");Ee(this,"fragment");Ee(this,"args");const s=n.decodeEventLog(i,t.data,t.topics);er(this,{args:s,fragment:i,interface:n})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}class tA extends Ig{constructor(t,n){super(t,t.provider);Ee(this,"error");er(this,{error:n})}}class cM extends eA{constructor(t,n,i){super(i,n);Ne(this,X3,void 0);me(this,X3,t)}get logs(){return super.logs.map(t=>{const n=t.topics.length?oe(this,X3).getEvent(t.topics[0]):null;if(n)try{return new v4(t,oe(this,X3),n)}catch(i){return new tA(t,i)}return t})}}X3=new WeakMap;class y4 extends Tg{constructor(t,n,i){super(i,n);Ne(this,Hx,void 0);me(this,Hx,t)}async wait(t,n){const i=await super.wait(t,n);return i==null?null:new cM(oe(this,Hx),this.provider,i)}}Hx=new WeakMap;class rA extends yE{constructor(t,n,i,s){super(t,n,i);Ee(this,"log");er(this,{log:s})}async getBlock(){return await this.log.getBlock()}async getTransaction(){return await this.log.getTransaction()}async getTransactionReceipt(){return await this.log.getTransactionReceipt()}}class lM extends rA{constructor(e,t,n,i,s){super(e,t,n,new v4(s,e.interface,i));const o=e.interface.decodeEventLog(i,this.log.data,this.log.topics);er(this,{args:o,fragment:i})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}const VQ=BigInt(0);function GQ(r){return r&&typeof r.call=="function"}function KQ(r){return r&&typeof r.estimateGas=="function"}function nA(r){return r&&typeof r.resolveName=="function"}function ZQ(r){return r&&typeof r.sendTransaction=="function"}function JQ(r){if(r!=null){if(nA(r))return r;if(r.provider)return r.provider}}class X3e{constructor(e,t,n){Ne(this,qx,void 0);Ee(this,"fragment");if(er(this,{fragment:t}),t.inputs.lengthn[l]==null?null:a.walkAsync(n[l],(h,p)=>h==="address"?Array.isArray(p)?Promise.all(p.map(g=>Gs(g,s))):Gs(p,s):p)));return e.interface.encodeFilterTopics(t,o)}())}getTopicFilter(){return oe(this,qx)}}qx=new WeakMap;function Rg(r,e){return r==null?null:typeof r[e]=="function"?r:r.provider&&typeof r.provider[e]=="function"?r.provider:null}function kg(r){return r==null?null:r.provider||null}async function uM(r,e){const t=uo.dereference(r,"overrides");xe(typeof t=="object","invalid overrides parameter","overrides",r);const n=Xw(t);return xe(n.to==null||(e||[]).indexOf("to")>=0,"cannot override to","overrides.to",n.to),xe(n.data==null||(e||[]).indexOf("data")>=0,"cannot override data","overrides.data",n.data),n.from&&(n.from=n.from),n}async function YQ(r,e,t){const n=Rg(r,"resolveName"),i=nA(n)?n:null;return await Promise.all(e.map((s,o)=>s.walkAsync(t[o],(a,l)=>(l=uo.dereference(l,a),a==="address"?Gs(l,i):l))))}function e5e(r){const e=async function(o){const a=await uM(o,["data"]);a.to=await r.getAddress(),a.from&&(a.from=await Gs(a.from,JQ(r.runner)));const l=r.interface,u=cr(a.value||VQ,"overrides.value")===VQ,h=(a.data||"0x")==="0x";l.fallback&&!l.fallback.payable&&l.receive&&!h&&!u&&xe(!1,"cannot send data to receive or send value to non-payable fallback","overrides",o),xe(l.fallback||h,"cannot send data to receive-only contract","overrides.data",a.data);const p=l.receive||l.fallback&&l.fallback.payable;return xe(p||u,"cannot send value to non-payable fallback","overrides.value",a.value),xe(l.fallback||h,"cannot send data to receive-only contract","overrides.data",a.data),a},t=async function(o){const a=Rg(r.runner,"call");Ue(GQ(a),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});const l=await e(o);try{return await a.call(l)}catch(u){throw e4(u)&&u.data?r.interface.makeError(u.data,l):u}},n=async function(o){const a=r.runner;Ue(ZQ(a),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const l=await a.sendTransaction(await e(o)),u=kg(r.runner);return new y4(r.interface,u,l)},i=async function(o){const a=Rg(r.runner,"estimateGas");return Ue(KQ(a),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await a.estimateGas(await e(o))},s=async o=>await n(o);return er(s,{_contract:r,estimateGas:i,populateTransaction:e,send:n,staticCall:t}),s}function t5e(r,e){const t=function(...u){const h=r.interface.getFunction(e,u);return Ue(h,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e,args:u}}),h},n=async function(...u){const h=t(...u);let p={};if(h.inputs.length+1===u.length&&(p=await uM(u.pop()),p.from&&(p.from=await Gs(p.from,JQ(r.runner)))),h.inputs.length!==u.length)throw new Error("internal error: fragment inputs doesn't match arguments; should not happen");const g=await YQ(r.runner,h.inputs,u);return Object.assign({},p,await qs({to:r.getAddress(),data:r.interface.encodeFunctionData(h,g)}))},i=async function(...u){const h=await a(...u);return h.length===1?h[0]:h},s=async function(...u){const h=r.runner;Ue(ZQ(h),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const p=await h.sendTransaction(await n(...u)),g=kg(r.runner);return new y4(r.interface,g,p)},o=async function(...u){const h=Rg(r.runner,"estimateGas");return Ue(KQ(h),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await h.estimateGas(await n(...u))},a=async function(...u){const h=Rg(r.runner,"call");Ue(GQ(h),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});const p=await n(...u);let g="0x";try{g=await h.call(p)}catch(y){throw e4(y)&&y.data?r.interface.makeError(y.data,p):y}const w=t(...u);return r.interface.decodeFunctionResult(w,g)},l=async(...u)=>t(...u).constant?await i(...u):await s(...u);return er(l,{name:r.interface.getFunctionName(e),_contract:r,_key:e,getFragment:t,estimateGas:o,populateTransaction:n,send:s,staticCall:i,staticCallResult:a}),Object.defineProperty(l,"fragment",{configurable:!1,enumerable:!0,get:()=>{const u=r.interface.getFunction(e);return Ue(u,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e}}),u}}),l}function r5e(r,e){const t=function(...i){const s=r.interface.getEvent(e,i);return Ue(s,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e,args:i}}),s},n=function(...i){return new X3e(r,t(...i),i)};return er(n,{name:r.interface.getEventName(e),_contract:r,_key:e,getFragment:t}),Object.defineProperty(n,"fragment",{configurable:!1,enumerable:!0,get:()=>{const i=r.interface.getEvent(e);return Ue(i,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e}}),i}}),n}const iA=Symbol.for("_ethersInternal_contract"),QQ=new WeakMap;function n5e(r,e){QQ.set(r[iA],e)}function Oc(r){return QQ.get(r[iA])}function i5e(r){return r&&typeof r=="object"&&"getTopicFilter"in r&&typeof r.getTopicFilter=="function"&&r.fragment}async function hM(r,e){let t,n=null;if(Array.isArray(e)){const s=function(o){if(ui(o,32))return o;const a=r.interface.getEvent(o);return xe(a,"unknown fragment","name",o),a.topicHash};t=e.map(o=>o==null?null:Array.isArray(o)?o.map(s):s(o))}else e==="*"?t=[null]:typeof e=="string"?ui(e,32)?t=[e]:(n=r.interface.getEvent(e),xe(n,"unknown fragment","event",e),t=[n.topicHash]):i5e(e)?t=await e.getTopicFilter():"fragment"in e?(n=e.fragment,t=[n.topicHash]):xe(!1,"unknown event name","event",e);t=t.map(s=>{if(s==null)return null;if(Array.isArray(s)){const o=Array.from(new Set(s.map(a=>a.toLowerCase())).values());return o.length===1?o[0]:(o.sort(),o)}return s.toLowerCase()});const i=t.map(s=>s==null?"null":Array.isArray(s)?s.join("|"):s).join("&");return{fragment:n,tag:i,topics:t}}async function x4(r,e){const{subs:t}=Oc(r);return t.get((await hM(r,e)).tag)||null}async function XQ(r,e,t){const n=kg(r.runner);Ue(n,"contract runner does not support subscribing","UNSUPPORTED_OPERATION",{operation:e});const{fragment:i,tag:s,topics:o}=await hM(r,t),{addr:a,subs:l}=Oc(r);let u=l.get(s);if(!u){const p={address:a||r,topics:o},g=T=>{let k=i;if(k==null)try{k=r.interface.getEvent(T.topics[0])}catch{}if(k){const N=k,O=i?r.interface.decodeEventLog(i,T.data,T.topics):[];dM(r,t,O,B=>new lM(r,B,t,N,T))}else dM(r,t,[],N=>new rA(r,N,t,T))};let w=[];u={tag:s,listeners:[],start:()=>{w.length||w.push(n.on(p,g))},stop:async()=>{if(w.length==0)return;let T=w;w=[],await Promise.all(T),n.off(p,g)}},l.set(s,u)}return u}let fM=Promise.resolve();async function s5e(r,e,t,n){await fM;const i=await x4(r,e);if(!i)return!1;const s=i.listeners.length;return i.listeners=i.listeners.filter(({listener:o,once:a})=>{const l=Array.from(t);n&&l.push(n(a?null:o));try{o.call(r,...l)}catch{}return!a}),i.listeners.length===0&&(i.stop(),Oc(r).subs.delete(i.tag)),s>0}async function dM(r,e,t,n){try{await fM}catch{}const i=s5e(r,e,t,n);return fM=i,await i}const sA=["then"],Wx=class{constructor(e,t,n,i){Ee(this,"target");Ee(this,"interface");Ee(this,"runner");Ee(this,"filters");Ee(this,bot);Ee(this,"fallback");xe(typeof e=="string"||LE(e),"invalid value for Contract target","target",e),n==null&&(n=null);const s=Sg.from(t);er(this,{target:e,runner:n,interface:s}),Object.defineProperty(this,iA,{value:{}});let o,a=null,l=null;if(i){const p=kg(n);l=new y4(this.interface,p,i)}let u=new Map;if(typeof e=="string")if(ui(e))a=e,o=Promise.resolve(e);else{const p=Rg(n,"resolveName");if(!nA(p))throw Wi("contract runner does not support name resolution","UNSUPPORTED_OPERATION",{operation:"resolveName"});o=p.resolveName(e).then(g=>{if(g==null)throw Wi("an ENS name used for a contract target must be correctly configured","UNCONFIGURED_NAME",{value:e});return Oc(this).addr=g,g})}else o=e.getAddress().then(p=>{if(p==null)throw new Error("TODO");return Oc(this).addr=p,p});n5e(this,{addrPromise:o,addr:a,deployTx:l,subs:u});const h=new Proxy({},{get:(p,g,w)=>{if(typeof g=="symbol"||sA.indexOf(g)>=0)return Reflect.get(p,g,w);try{return this.getEvent(g)}catch(y){if(!$s(y,"INVALID_ARGUMENT")||y.argument!=="key")throw y}},has:(p,g)=>sA.indexOf(g)>=0?Reflect.has(p,g):Reflect.has(p,g)||this.interface.hasEvent(String(g))});return er(this,{filters:h}),er(this,{fallback:s.receive||s.fallback?e5e(this):null}),new Proxy(this,{get:(p,g,w)=>{if(typeof g=="symbol"||g in p||sA.indexOf(g)>=0)return Reflect.get(p,g,w);try{return p.getFunction(g)}catch(y){if(!$s(y,"INVALID_ARGUMENT")||y.argument!=="key")throw y}},has:(p,g)=>typeof g=="symbol"||g in p||sA.indexOf(g)>=0?Reflect.has(p,g):p.interface.hasFunction(g)})}connect(e){return new Wx(this.target,this.interface,e)}attach(e){return new Wx(e,this.interface,this.runner)}async getAddress(){return await Oc(this).addrPromise}async getDeployedCode(){const e=kg(this.runner);Ue(e,"runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"getDeployedCode"});const t=await e.getCode(await this.getAddress());return t==="0x"?null:t}async waitForDeployment(){const e=this.deploymentTransaction();if(e)return await e.wait(),this;if(await this.getDeployedCode()!=null)return this;const n=kg(this.runner);return Ue(n!=null,"contract runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"waitForDeployment"}),new Promise((i,s)=>{const o=async()=>{try{if(await this.getDeployedCode()!=null)return i(this);n.once("block",o)}catch(a){s(a)}};o()})}deploymentTransaction(){return Oc(this).deployTx}getFunction(e){return typeof e!="string"&&(e=e.format()),t5e(this,e)}getEvent(e){return typeof e!="string"&&(e=e.format()),r5e(this,e)}async queryTransaction(e){throw new Error("@TODO")}async queryFilter(e,t,n){t==null&&(t=0),n==null&&(n="latest");const{addr:i,addrPromise:s}=Oc(this),o=i||await s,{fragment:a,topics:l}=await hM(this,e),u={address:o,topics:l,fromBlock:t,toBlock:n},h=kg(this.runner);return Ue(h,"contract runner does not have a provider","UNSUPPORTED_OPERATION",{operation:"queryFilter"}),(await h.getLogs(u)).map(p=>{let g=a;if(g==null)try{g=this.interface.getEvent(p.topics[0])}catch{}if(g)try{return new v4(p,this.interface,g)}catch(w){return new tA(p,w)}return new Ig(p,h)})}async on(e,t){const n=await XQ(this,"on",e);return n.listeners.push({listener:t,once:!1}),n.start(),this}async once(e,t){const n=await XQ(this,"once",e);return n.listeners.push({listener:t,once:!0}),n.start(),this}async emit(e,...t){return await dM(this,e,t,null)}async listenerCount(e){if(e){const i=await x4(this,e);return i?i.listeners.length:0}const{subs:t}=Oc(this);let n=0;for(const{listeners:i}of t.values())n+=i.length;return n}async listeners(e){if(e){const i=await x4(this,e);return i?i.listeners.map(({listener:s})=>s):[]}const{subs:t}=Oc(this);let n=[];for(const{listeners:i}of t.values())n=n.concat(i.map(({listener:s})=>s));return n}async off(e,t){const n=await x4(this,e);if(!n)return this;if(t){const i=n.listeners.map(({listener:s})=>s).indexOf(t);i>=0&&n.listeners.splice(i,1)}return(t==null||n.listeners.length===0)&&(n.stop(),Oc(this).subs.delete(n.tag)),this}async removeAllListeners(e){if(e){const t=await x4(this,e);if(!t)return this;t.stop(),Oc(this).subs.delete(t.tag)}else{const{subs:t}=Oc(this);for(const{tag:n,stop:i}of t.values())i(),t.delete(n)}return this}async addListener(e,t){return await this.on(e,t)}async removeListener(e,t){return await this.off(e,t)}static buildClass(e){class t extends Wx{constructor(i,s=null){super(i,e,s)}}return t}static from(e,t,n){return n==null&&(n=null),new this(e,t,n)}};let Mg=Wx;bot=iA;function o5e(){return Mg}let Sd=class extends o5e(){};class _4{constructor(e,t,n){Ee(this,"interface");Ee(this,"bytecode");Ee(this,"runner");const i=Sg.from(e);t instanceof Uint8Array||(typeof t=="object"&&(t=t.object),t.startsWith("0x")||(t="0x"+t)),t=St($t(t)),er(this,{bytecode:t,interface:i,runner:n||null})}attach(e){return new Mg(e,this.interface,this.runner)}async getDeployTransaction(...e){let t={};const n=this.interface.deploy;if(n.inputs.length+1===e.length&&(t=await uM(e.pop())),n.inputs.length!==e.length)throw new Error("incorrect number of arguments to constructor");const i=await YQ(this.runner,n.inputs,e),s=Sn([this.bytecode,this.interface.encodeDeploy(i)]);return Object.assign({},t,{data:s})}async deploy(...e){const t=await this.getDeployTransaction(...e);Ue(this.runner&&typeof this.runner.sendTransaction=="function","factory runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const n=await this.runner.sendTransaction(t),i=BE(n);return new Mg(i,this.interface,this.runner,n)}connect(e){return new _4(this.interface,this.bytecode,e)}static fromSolidity(e,t){xe(e!=null,"bad compiler output","output",e),typeof e=="string"&&(e=JSON.parse(e));const n=e.abi;let i="";return e.bytecode?i=e.bytecode:e.evm&&e.evm.bytecode&&(i=e.evm.bytecode),new this(n,i,t)}}function pM(r){return r.match(/^ipfs:\/\/ipfs\//i)?r=r.substring(12):r.match(/^ipfs:\/\//i)?r=r.substring(7):xe(!1,"unsupported IPFS format","link",r),`https://gateway.ipfs.io/ipfs/${r}`}class gM{constructor(e){Ee(this,"name");er(this,{name:e})}connect(e){return this}supportsCoinType(e){return!1}async encodeAddress(e,t){throw new Error("unsupported coin")}async decodeAddress(e,t){throw new Error("unsupported coin")}}const eX=new RegExp("^(ipfs)://(.*)$","i"),tX=[new RegExp("^(https)://(.*)$","i"),new RegExp("^(data):(.*)$","i"),eX,new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")],Vx=class{constructor(e,t,n){Ne(this,V1);Ee(this,"provider");Ee(this,"address");Ee(this,"name");Ne(this,W1,void 0);Ne(this,F2,void 0);er(this,{provider:e,address:t,name:n}),me(this,W1,null),me(this,F2,new Sd(t,["function supportsInterface(bytes4) view returns (bool)","function resolve(bytes, bytes) view returns (bytes)","function addr(bytes32) view returns (address)","function addr(bytes32, uint) view returns (bytes)","function text(bytes32, string) view returns (string)","function contenthash(bytes32) view returns (bytes)"],e))}async supportsWildcard(){return oe(this,W1)==null&&me(this,W1,(async()=>{try{return await oe(this,F2).supportsInterface("0x9061b923")}catch(e){if($s(e,"CALL_EXCEPTION"))return!1;throw me(this,W1,null),e}})()),await oe(this,W1)}async getAddress(e){if(e==null&&(e=60),e===60)try{const s=await rt(this,V1,T5).call(this,"addr(bytes32)");return s==null||s===xg?null:s}catch(s){if($s(s,"CALL_EXCEPTION"))return null;throw s}if(e>=0&&e<2147483648){let s=e+2147483648;const o=await rt(this,V1,T5).call(this,"addr(bytes32,uint)",[s]);if(ui(o,20))return zr(o)}let t=null;for(const s of this.provider.plugins)if(s instanceof gM&&s.supportsCoinType(e)){t=s;break}if(t==null)return null;const n=await rt(this,V1,T5).call(this,"addr(bytes32,uint)",[e]);if(n==null||n==="0x")return null;const i=await t.decodeAddress(e,n);if(i!=null)return i;Ue(!1,"invalid coin data","UNSUPPORTED_OPERATION",{operation:`getAddress(${e})`,info:{coinType:e,data:n}})}async getText(e){const t=await rt(this,V1,T5).call(this,"text(bytes32,string)",[e]);return t==null||t==="0x"?null:t}async getContentHash(){const e=await rt(this,V1,T5).call(this,"contenthash(bytes32)");if(e==null||e==="0x")return null;const t=e.match(/^0x(e3010170|e5010172)(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(t){const i=t[1]==="e3010170"?"ipfs":"ipns",s=parseInt(t[4],16);if(t[5].length===s*2)return`${i}://${vE("0x"+t[2])}`}const n=e.match(/^0xe40101fa011b20([0-9a-f]*)$/);if(n&&n[1].length===64)return`bzz://${n[1]}`;Ue(!1,"invalid or unsupported content hash data","UNSUPPORTED_OPERATION",{operation:"getContentHash()",info:{data:e}})}async getAvatar(){return(await this._getAvatar()).url}async _getAvatar(){const e=[{type:"name",value:this.name}];try{const t=await this.getText("avatar");if(t==null)return e.push({type:"!avatar",value:""}),{url:null,linkage:e};e.push({type:"avatar",value:t});for(let n=0;n{if(e&&t==null)return null;if(!Array.isArray(t))throw new Error("not an array");return t.map(n=>r(n))}}function E4(r,e){return t=>{const n={};for(const i in r){let s=i;if(e&&i in e&&!(s in t)){for(const o of e[i])if(o in t){s=o;break}}try{const o=r[i](t[s]);o!==void 0&&(n[i]=o)}catch(o){const a=o instanceof Error?o.message:"not-an-error";Ue(!1,`invalid value for value.${i} (${a})`,"BAD_DATA",{value:t})}}return n}}function a5e(r){switch(r){case!0:case"true":return!0;case!1:case"false":return!1}xe(!1,`invalid boolean; ${JSON.stringify(r)}`,"value",r)}function ev(r){return xe(ui(r,!0),"invalid data","value",r),r}function ca(r){return xe(ui(r,32),"invalid hash","value",r),r}const c5e=E4({address:zr,blockHash:ca,blockNumber:Ir,data:ev,index:Ir,removed:In(a5e,!1),topics:oA(ca),transactionHash:ca,transactionIndex:Ir},{index:["logIndex"]});function l5e(r){return c5e(r)}const u5e=E4({hash:In(ca),parentHash:ca,parentBeaconBlockRoot:In(ca,null),number:Ir,timestamp:Ir,nonce:In(ev),difficulty:cr,gasLimit:cr,gasUsed:cr,stateRoot:In(ca,null),receiptsRoot:In(ca,null),blobGasUsed:In(cr,null),excessBlobGas:In(cr,null),miner:In(zr),extraData:ev,baseFeePerGas:In(cr)});function h5e(r){const e=u5e(r);return e.transactions=r.transactions.map(t=>typeof t=="string"?t:nX(t)),e}const f5e=E4({transactionIndex:Ir,blockNumber:Ir,transactionHash:ca,address:zr,topics:oA(ca),data:ev,index:Ir,blockHash:ca},{index:["logIndex"]});function d5e(r){return f5e(r)}const p5e=E4({to:In(zr,null),from:In(zr,null),contractAddress:In(zr,null),index:Ir,root:In(St),gasUsed:cr,blobGasUsed:In(cr,null),logsBloom:In(ev),blockHash:ca,hash:ca,logs:oA(d5e),blockNumber:Ir,cumulativeGasUsed:cr,effectiveGasPrice:In(cr),blobGasPrice:In(cr,null),status:In(Ir),type:In(Ir,0)},{effectiveGasPrice:["gasPrice"],hash:["transactionHash"],index:["transactionIndex"]});function g5e(r){return p5e(r)}function nX(r){r.to&&cr(r.to)===rX&&(r.to="0x0000000000000000000000000000000000000000");const e=E4({hash:ca,index:In(Ir,void 0),type:t=>t==="0x"||t==null?0:Ir(t),accessList:In(jh,null),blobVersionedHashes:In(oA(ca,!0),null),blockHash:In(ca,null),blockNumber:In(Ir,null),transactionIndex:In(Ir,null),from:zr,gasPrice:In(cr),maxPriorityFeePerGas:In(cr),maxFeePerGas:In(cr),maxFeePerBlobGas:In(cr,null),gasLimit:cr,to:In(zr,null),value:cr,nonce:Ir,data:ev,creates:In(zr,null),chainId:In(cr,null)},{data:["input"],gasLimit:["gas"],index:["transactionIndex"]})(r);if(e.to==null&&e.creates==null&&(e.creates=BE(e)),(r.type===1||r.type===2)&&r.accessList==null&&(e.accessList=[]),r.signature?e.signature=Mc.from(r.signature):e.signature=Mc.from(r),e.chainId==null){const t=e.signature.legacyChainId;t!=null&&(e.chainId=t)}return e.blockHash&&cr(e.blockHash)===rX&&(e.blockHash=null),e}const m5e="0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e";class Id{constructor(e){Ee(this,"name");er(this,{name:e})}clone(){return new Id(this.name)}}class tv extends Id{constructor(t,n){t==null&&(t=0);super(`org.ethers.network.plugins.GasCost#${t||0}`);Ee(this,"effectiveBlock");Ee(this,"txBase");Ee(this,"txCreate");Ee(this,"txDataZero");Ee(this,"txDataNonzero");Ee(this,"txAccessListStorageKey");Ee(this,"txAccessListAddress");const i={effectiveBlock:t};function s(o,a){let l=(n||{})[o];l==null&&(l=a),xe(typeof l=="number",`invalud value for ${o}`,"costs",n),i[o]=l}s("txBase",21e3),s("txCreate",32e3),s("txDataZero",4),s("txDataNonzero",16),s("txAccessListStorageKey",1900),s("txAccessListAddress",2400),er(this,i)}clone(){return new tv(this.effectiveBlock,this)}}class rv extends Id{constructor(t,n){super("org.ethers.plugins.network.Ens");Ee(this,"address");Ee(this,"targetNetwork");er(this,{address:t||m5e,targetNetwork:n??1})}clone(){return new rv(this.address,this.targetNetwork)}}const lj=class extends Id{constructor(t){super("org.ethers.plugins.network.FeeData");Ne(this,j2,void 0);me(this,j2,t)}get feeDataFunc(){return oe(this,j2)}async getFeeData(t){return await oe(this,j2).call(this,t)}clone(){return new lj(oe(this,j2))}};let aA=lj;j2=new WeakMap;class mM extends Id{constructor(t,n){super("org.ethers.plugins.network.FetchUrlFeeDataPlugin");Ne(this,Gx,void 0);Ne(this,Kx,void 0);me(this,Gx,t),me(this,Kx,n)}get url(){return oe(this,Gx)}get processFunc(){return oe(this,Kx)}clone(){return this}}Gx=new WeakMap,Kx=new WeakMap;const bM=new Map,r5=class{constructor(e,t){Ne(this,e5,void 0);Ne(this,t5,void 0);Ne(this,G1,void 0);me(this,e5,e),me(this,t5,cr(t)),me(this,G1,new Map)}toJSON(){return{name:this.name,chainId:String(this.chainId)}}get name(){return oe(this,e5)}set name(e){me(this,e5,e)}get chainId(){return oe(this,t5)}set chainId(e){me(this,t5,cr(e,"chainId"))}matches(e){if(e==null)return!1;if(typeof e=="string"){try{return this.chainId===cr(e)}catch{}return this.name===e}if(typeof e=="number"||typeof e=="bigint"){try{return this.chainId===cr(e)}catch{}return!1}if(typeof e=="object"){if(e.chainId!=null){try{return this.chainId===cr(e.chainId)}catch{}return!1}return e.name!=null?this.name===e.name:!1}return!1}get plugins(){return Array.from(oe(this,G1).values())}attachPlugin(e){if(oe(this,G1).get(e.name))throw new Error(`cannot replace existing plugin: ${e.name} `);return oe(this,G1).set(e.name,e.clone()),this}getPlugin(e){return oe(this,G1).get(e)||null}getPlugins(e){return this.plugins.filter(t=>t.name.split("#")[0]===e)}clone(){const e=new r5(this.name,this.chainId);return this.plugins.forEach(t=>{e.attachPlugin(t.clone())}),e}computeIntrinsicGas(e){const t=this.getPlugin("org.ethers.plugins.network.GasCost")||new tv;let n=t.txBase;if(e.to==null&&(n+=t.txCreate),e.data)for(let i=2;i9){let i=BigInt(n[1].substring(0,9));n[1].substring(9).match(/^0+$/)||i++,n[1]=i.toString()}return BigInt(n[0]+n[1])}function sX(r){return new mM(r,async(e,t,n)=>{n.setHeader("User-Agent","ethers");let i;try{const[s,o]=await Promise.all([n.send(),e()]);i=s;const a=i.bodyJson.standard;return{gasPrice:o.gasPrice,maxFeePerGas:iX(a.maxFee,9),maxPriorityFeePerGas:iX(a.maxPriorityFee,9)}}catch(s){Ue(!1,`error encountered with polygon gas station (${JSON.stringify(n.url)})`,"SERVER_ERROR",{request:n,response:i,error:s})}})}let oX=!1;function b5e(){if(oX)return;oX=!0;function r(e,t,n){const i=function(){const s=new ws(e,t);return n.ensNetwork!=null&&s.attachPlugin(new rv(null,n.ensNetwork)),s.attachPlugin(new tv),(n.plugins||[]).forEach(o=>{s.attachPlugin(o)}),s};ws.register(e,i),ws.register(t,i),n.altNames&&n.altNames.forEach(s=>{ws.register(s,i)})}r("mainnet",1,{ensNetwork:1,altNames:["homestead"]}),r("ropsten",3,{ensNetwork:3}),r("rinkeby",4,{ensNetwork:4}),r("goerli",5,{ensNetwork:5}),r("kovan",42,{ensNetwork:42}),r("sepolia",11155111,{ensNetwork:11155111}),r("holesky",17e3,{ensNetwork:17e3}),r("classic",61,{}),r("classicKotti",6,{}),r("arbitrum",42161,{ensNetwork:1}),r("arbitrum-goerli",421613,{}),r("arbitrum-sepolia",421614,{}),r("base",8453,{ensNetwork:1}),r("base-goerli",84531,{}),r("base-sepolia",84532,{}),r("bnb",56,{ensNetwork:1}),r("bnbt",97,{}),r("linea",59144,{ensNetwork:1}),r("linea-goerli",59140,{}),r("matic",137,{ensNetwork:1,plugins:[sX("https://gasstation.polygon.technology/v2")]}),r("matic-mumbai",80001,{altNames:["maticMumbai","maticmum"],plugins:[sX("https://gasstation-testnet.polygon.technology/v2")]}),r("optimism",10,{ensNetwork:1,plugins:[]}),r("optimism-goerli",420,{}),r("optimism-sepolia",11155420,{}),r("xdai",100,{ensNetwork:1})}function wM(r){return JSON.parse(JSON.stringify(r))}class w5e{constructor(e){Ne(this,n5);Ne(this,_0,void 0);Ne(this,bu,void 0);Ne(this,K1,void 0);Ne(this,Kf,void 0);me(this,_0,e),me(this,bu,null),me(this,K1,4e3),me(this,Kf,-2)}get pollingInterval(){return oe(this,K1)}set pollingInterval(e){me(this,K1,e)}start(){oe(this,bu)||(me(this,bu,oe(this,_0)._setTimeout(rt(this,n5,uR).bind(this),oe(this,K1))),rt(this,n5,uR).call(this))}stop(){oe(this,bu)&&(oe(this,_0)._clearTimeout(oe(this,bu)),me(this,bu,null))}pause(e){this.stop(),e&&me(this,Kf,-2)}resume(){this.start()}}_0=new WeakMap,bu=new WeakMap,K1=new WeakMap,Kf=new WeakMap,n5=new WeakSet,uR=async function(){try{const e=await oe(this,_0).getBlockNumber();if(oe(this,Kf)===-2){me(this,Kf,e);return}if(e!==oe(this,Kf)){for(let t=oe(this,Kf)+1;t<=e;t++){if(oe(this,bu)==null)return;await oe(this,_0).emit("block",t)}me(this,Kf,e)}}catch{}oe(this,bu)!=null&&me(this,bu,oe(this,_0)._setTimeout(rt(this,n5,uR).bind(this),oe(this,K1)))};class vM{constructor(e){Ne(this,z2,void 0);Ne(this,H2,void 0);Ne(this,Z1,void 0);me(this,z2,e),me(this,Z1,!1),me(this,H2,t=>{this._poll(t,oe(this,z2))})}async _poll(e,t){throw new Error("sub-classes must override this")}start(){oe(this,Z1)||(me(this,Z1,!0),oe(this,H2).call(this,-2),oe(this,z2).on("block",oe(this,H2)))}stop(){oe(this,Z1)&&(me(this,Z1,!1),oe(this,z2).off("block",oe(this,H2)))}pause(e){this.stop()}resume(){this.start()}}z2=new WeakMap,H2=new WeakMap,Z1=new WeakMap;class v5e extends vM{constructor(t,n){super(t);Ne(this,i5,void 0);Ne(this,E0,void 0);me(this,i5,n),me(this,E0,-2)}pause(t){t&&me(this,E0,-2),super.pause(t)}async _poll(t,n){const i=await n.getBlock(oe(this,i5));i!=null&&(oe(this,E0)===-2?me(this,E0,i.number):i.number>oe(this,E0)&&(n.emit(oe(this,i5),i.number),me(this,E0,i.number)))}}i5=new WeakMap,E0=new WeakMap;class y5e extends vM{constructor(t,n){super(t);Ne(this,tR,void 0);me(this,tR,wM(n))}async _poll(t,n){throw new Error("@TODO")}}tR=new WeakMap;class x5e extends vM{constructor(t,n){super(t);Ne(this,s5,void 0);me(this,s5,n)}async _poll(t,n){const i=await n.getTransactionReceipt(oe(this,s5));i&&n.emit(oe(this,s5),i)}}s5=new WeakMap;class yM{constructor(e,t){Ne(this,rR);Ne(this,A0,void 0);Ne(this,o5,void 0);Ne(this,a5,void 0);Ne(this,J1,void 0);Ne(this,wu,void 0);me(this,A0,e),me(this,o5,wM(t)),me(this,a5,rt(this,rR,_ge).bind(this)),me(this,J1,!1),me(this,wu,-2)}start(){oe(this,J1)||(me(this,J1,!0),oe(this,wu)===-2&&oe(this,A0).getBlockNumber().then(e=>{me(this,wu,e)}),oe(this,A0).on("block",oe(this,a5)))}stop(){oe(this,J1)&&(me(this,J1,!1),oe(this,A0).off("block",oe(this,a5)))}pause(e){this.stop(),e&&me(this,wu,-2)}resume(){this.start()}}A0=new WeakMap,o5=new WeakMap,a5=new WeakMap,J1=new WeakMap,wu=new WeakMap,rR=new WeakSet,_ge=async function(e){if(oe(this,wu)===-2)return;const t=wM(oe(this,o5));t.fromBlock=oe(this,wu)+1,t.toBlock=e;const n=await oe(this,A0).getLogs(t);if(n.length===0){oe(this,wu){if(n==null)return"null";if(typeof n=="bigint")return`bigint:${n.toString()}`;if(typeof n=="string")return n.toLowerCase();if(typeof n=="object"&&!Array.isArray(n)){const i=Object.keys(n);return i.sort(),i.reduce((s,o)=>(s[o]=n[o],s),{})}return n})}class nv{constructor(e){Ee(this,"name");er(this,{name:e})}start(){}stop(){}pause(e){}resume(){}}function A5e(r){return JSON.parse(JSON.stringify(r))}function xM(r){return r=Array.from(new Set(r).values()),r.sort(),r}async function _M(r,e){if(r==null)throw new Error("invalid event");if(Array.isArray(r)&&(r={topics:r}),typeof r=="string")switch(r){case"block":case"debug":case"error":case"finalized":case"network":case"pending":case"safe":return{type:r,tag:r}}if(ui(r,32)){const t=r.toLowerCase();return{type:"transaction",tag:lA("tx",{hash:t}),hash:t}}if(r.orphan){const t=r;return{type:"orphan",tag:lA("orphan",t),filter:A5e(t)}}if(r.address||r.topics){const t=r,n={topics:(t.topics||[]).map(i=>i==null?null:Array.isArray(i)?xM(i.map(s=>s.toLowerCase())):i.toLowerCase())};if(t.address){const i=[],s=[],o=a=>{ui(a)?i.push(a):s.push((async()=>{i.push(await Gs(a,e))})())};Array.isArray(t.address)?t.address.forEach(o):o(t.address),s.length&&await Promise.all(s),n.address=xM(i.map(a=>a.toLowerCase()))}return{filter:n,tag:lA("event",n),type:"event"}}xe(!1,"unknown ProviderEvent","event",r)}function EM(){return new Date().getTime()}const C5e={cacheTimeout:250,pollingInterval:4e3};class iv{constructor(e,t){Ne(this,Ga);Ne(this,Jx);Ne(this,Yx);Ne(this,W2);Ne(this,Qx);Ne(this,V2);Ne(this,h5);Ne(this,Ea,void 0);Ne(this,Y1,void 0);Ne(this,Aa,void 0);Ne(this,c5,void 0);Ne(this,al,void 0);Ne(this,q2,void 0);Ne(this,Q1,void 0);Ne(this,C0,void 0);Ne(this,Zx,void 0);Ne(this,vu,void 0);Ne(this,l5,void 0);Ne(this,u5,void 0);if(me(this,u5,Object.assign({},C5e,t||{})),e==="any")me(this,q2,!0),me(this,al,null);else if(e){const n=ws.from(e);me(this,q2,!1),me(this,al,Promise.resolve(n)),setTimeout(()=>{this.emit("network",n,null)},0)}else me(this,q2,!1),me(this,al,null);me(this,C0,-1),me(this,Q1,new Map),me(this,Ea,new Map),me(this,Y1,new Map),me(this,Aa,null),me(this,c5,!1),me(this,Zx,1),me(this,vu,new Map),me(this,l5,!1)}get pollingInterval(){return oe(this,u5).pollingInterval}get provider(){return this}get plugins(){return Array.from(oe(this,Y1).values())}attachPlugin(e){if(oe(this,Y1).get(e.name))throw new Error(`cannot replace existing plugin: ${e.name} `);return oe(this,Y1).set(e.name,e.connect(this)),this}getPlugin(e){return oe(this,Y1).get(e)||null}get disableCcipRead(){return oe(this,l5)}set disableCcipRead(e){me(this,l5,!!e)}async ccipReadFetch(e,t,n){if(this.disableCcipRead||n.length===0||e.to==null)return null;const i=e.to.toLowerCase(),s=t.toLowerCase(),o=[];for(let a=0;a=500,`response not found during CCIP fetch: ${p}`,"OFFCHAIN_FAULT",{reason:"404_MISSING_RESOURCE",transaction:e,info:{url:l,errorMessage:p}}),o.push(p)}Ue(!1,`error encountered during CCIP fetch: ${o.map(a=>JSON.stringify(a)).join(", ")}`,"OFFCHAIN_FAULT",{reason:"500_SERVER_ERROR",transaction:e,info:{urls:n,errorMessages:o}})}_wrapBlock(e,t){return new aM(h5e(e),this)}_wrapLog(e,t){return new Ig(l5e(e),this)}_wrapTransactionReceipt(e,t){return new eA(g5e(e),this)}_wrapTransactionResponse(e,t){return new Tg(nX(e),this)}_detectNetwork(){Ue(!1,"sub-classes must implement this","UNSUPPORTED_OPERATION",{operation:"_detectNetwork"})}async _perform(e){Ue(!1,`unsupported method: ${e.method}`,"UNSUPPORTED_OPERATION",{operation:e.method,info:e})}async getBlockNumber(){const e=Ir(await rt(this,Ga,_l).call(this,{method:"getBlockNumber"}),"%response");return oe(this,C0)>=0&&me(this,C0,e),e}_getAddress(e){return Gs(e,this)}_getBlockTag(e){if(e==null)return"latest";switch(e){case"earliest":return"0x0";case"finalized":case"latest":case"pending":case"safe":return e}if(ui(e))return ui(e,32)?e:fd(e);if(typeof e=="bigint"&&(e=Ir(e,"blockTag")),typeof e=="number")return e>=0?fd(e):oe(this,C0)>=0?fd(oe(this,C0)+e):this.getBlockNumber().then(t=>fd(t+e));xe(!1,"invalid blockTag","blockTag",e)}_getFilter(e){const t=(e.topics||[]).map(l=>l==null?null:Array.isArray(l)?xM(l.map(u=>u.toLowerCase())):l.toLowerCase()),n="blockHash"in e?e.blockHash:void 0,i=(l,u,h)=>{let p;switch(l.length){case 0:break;case 1:p=l[0];break;default:l.sort(),p=l}if(n&&(u!=null||h!=null))throw new Error("invalid filter");const g={};return p&&(g.address=p),t.length&&(g.topics=t),u&&(g.fromBlock=u),h&&(g.toBlock=h),n&&(g.blockHash=n),g};let s=[];if(e.address)if(Array.isArray(e.address))for(const l of e.address)s.push(this._getAddress(l));else s.push(this._getAddress(e.address));let o;"fromBlock"in e&&(o=this._getBlockTag(e.fromBlock));let a;return"toBlock"in e&&(a=this._getBlockTag(e.toBlock)),s.filter(l=>typeof l!="string").length||o!=null&&typeof o!="string"||a!=null&&typeof a!="string"?Promise.all([Promise.all(s),o,a]).then(l=>i(l[0],l[1],l[2])):i(s,o,a)}_getTransactionRequest(e){const t=Xw(e),n=[];if(["to","from"].forEach(i=>{if(t[i]==null)return;const s=Gs(t[i],this);cA(s)?n.push(async function(){t[i]=await s}()):t[i]=s}),t.blockTag!=null){const i=this._getBlockTag(t.blockTag);cA(i)?n.push(async function(){t.blockTag=await i}()):t.blockTag=i}return n.length?async function(){return await Promise.all(n),t}():t}async getNetwork(){if(oe(this,al)==null){const i=(async()=>{try{const s=await this._detectNetwork();return this.emit("network",s,null),s}catch(s){throw oe(this,al)===i&&me(this,al,null),s}})();return me(this,al,i),(await i).clone()}const e=oe(this,al),[t,n]=await Promise.all([e,this._detectNetwork()]);return t.chainId!==n.chainId&&(oe(this,q2)?(this.emit("network",n,t),oe(this,al)===e&&me(this,al,Promise.resolve(n))):Ue(!1,`network changed: ${t.chainId} => ${n.chainId} `,"NETWORK_ERROR",{event:"changed"})),t.clone()}async getFeeData(){const e=await this.getNetwork(),t=async()=>{const{_block:i,gasPrice:s,priorityFee:o}=await qs({_block:rt(this,Qx,eK).call(this,"latest",!1),gasPrice:(async()=>{try{const h=await rt(this,Ga,_l).call(this,{method:"getGasPrice"});return cr(h,"%response")}catch{}return null})(),priorityFee:(async()=>{try{const h=await rt(this,Ga,_l).call(this,{method:"getPriorityFee"});return cr(h,"%response")}catch{}return null})()});let a=null,l=null;const u=this._wrapBlock(i,e);return u&&u.baseFeePerGas&&(l=o??BigInt("1000000000"),a=u.baseFeePerGas*_5e+l),new XE(s,a,l)},n=e.getPlugin("org.ethers.plugins.network.FetchUrlFeeDataPlugin");if(n){const i=new Do(n.url),s=await n.processFunc(t,this,i);return new XE(s.gasPrice,s.maxFeePerGas,s.maxPriorityFeePerGas)}return await t()}async estimateGas(e){let t=this._getTransactionRequest(e);return cA(t)&&(t=await t),cr(await rt(this,Ga,_l).call(this,{method:"estimateGas",transaction:t}),"%response")}async call(e){const{tx:t,blockTag:n}=await qs({tx:this._getTransactionRequest(e),blockTag:this._getBlockTag(e.blockTag)});return await rt(this,Yx,XG).call(this,rt(this,Jx,QG).call(this,t,n,e.enableCcipRead?0:-1))}async getBalance(e,t){return cr(await rt(this,W2,b_).call(this,{method:"getBalance"},e,t),"%response")}async getTransactionCount(e,t){return Ir(await rt(this,W2,b_).call(this,{method:"getTransactionCount"},e,t),"%response")}async getCode(e,t){return St(await rt(this,W2,b_).call(this,{method:"getCode"},e,t))}async getStorage(e,t,n){const i=cr(t,"position");return St(await rt(this,W2,b_).call(this,{method:"getStorage",position:i},e,n))}async broadcastTransaction(e){const{blockNumber:t,hash:n,network:i}=await qs({blockNumber:this.getBlockNumber(),hash:this._perform({method:"broadcastTransaction",signedTransaction:e}),network:this.getNetwork()}),s=Pc.from(e);if(s.hash!==n)throw new Error("@TODO: the returned hash did not match");return this._wrapTransactionResponse(s,i).replaceableTransaction(t)}async getBlock(e,t){const{network:n,params:i}=await qs({network:this.getNetwork(),params:rt(this,Qx,eK).call(this,e,!!t)});return i==null?null:this._wrapBlock(i,n)}async getTransaction(e){const{network:t,params:n}=await qs({network:this.getNetwork(),params:rt(this,Ga,_l).call(this,{method:"getTransaction",hash:e})});return n==null?null:this._wrapTransactionResponse(n,t)}async getTransactionReceipt(e){const{network:t,params:n}=await qs({network:this.getNetwork(),params:rt(this,Ga,_l).call(this,{method:"getTransactionReceipt",hash:e})});if(n==null)return null;if(n.gasPrice==null&&n.effectiveGasPrice==null){const i=await rt(this,Ga,_l).call(this,{method:"getTransaction",hash:e});if(i==null)throw new Error("report this; could not find tx or effectiveGasPrice");n.effectiveGasPrice=i.gasPrice}return this._wrapTransactionReceipt(n,t)}async getTransactionResult(e){const{result:t}=await qs({network:this.getNetwork(),result:rt(this,Ga,_l).call(this,{method:"getTransactionResult",hash:e})});return t==null?null:St(t)}async getLogs(e){let t=this._getFilter(e);cA(t)&&(t=await t);const{network:n,params:i}=await qs({network:this.getNetwork(),params:rt(this,Ga,_l).call(this,{method:"getLogs",filter:t})});return i.map(s=>this._wrapLog(s,n))}_getProvider(e){Ue(!1,"provider cannot connect to target network","UNSUPPORTED_OPERATION",{operation:"_getProvider()"})}async getResolver(e){return await Ng.fromName(this,e)}async getAvatar(e){const t=await this.getResolver(e);return t?await t.getAvatar():null}async resolveName(e){const t=await this.getResolver(e);return t?await t.getAddress():null}async lookupAddress(e){e=zr(e);const t=p4(e.substring(2).toLowerCase()+".addr.reverse");try{const n=await Ng.getEnsAddress(this),s=await new Sd(n,["function resolver(bytes32) view returns (address)"],this).resolver(t);if(s==null||s===xg)return null;const a=await new Sd(s,["function name(bytes32) view returns (string)"],this).name(t);return await this.resolveName(a)!==e?null:a}catch(n){if($s(n,"BAD_DATA")&&n.value==="0x"||$s(n,"CALL_EXCEPTION"))return null;throw n}return null}async waitForTransaction(e,t,n){const i=t??1;return i===0?this.getTransactionReceipt(e):new Promise(async(s,o)=>{let a=null;const l=async u=>{try{const h=await this.getTransactionReceipt(e);if(h!=null&&u-h.blockNumber+1>=i){s(h),a&&(clearTimeout(a),a=null);return}}catch(h){console.log("EEE",h)}this.once("block",l)};n!=null&&(a=setTimeout(()=>{a!=null&&(a=null,this.off("block",l),o(Wi("timeout","TIMEOUT",{reason:"timeout"})))},n)),l(await this.getBlockNumber())})}async waitForBlock(e){Ue(!1,"not implemented yet","NOT_IMPLEMENTED",{operation:"waitForBlock"})}_clearTimeout(e){const t=oe(this,vu).get(e);t&&(t.timer&&clearTimeout(t.timer),oe(this,vu).delete(e))}_setTimeout(e,t){t==null&&(t=0);const n=S5(this,Zx)._++,i=()=>{oe(this,vu).delete(n),e()};if(this.paused)oe(this,vu).set(n,{timer:null,func:i,time:t});else{const s=setTimeout(i,t);oe(this,vu).set(n,{timer:s,func:i,time:EM()})}return n}_forEachSubscriber(e){for(const t of oe(this,Ea).values())e(t.subscriber)}_getSubscriber(e){switch(e.type){case"debug":case"error":case"network":return new nv(e.type);case"block":{const t=new w5e(this);return t.pollingInterval=this.pollingInterval,t}case"safe":case"finalized":return new v5e(this,e.type);case"event":return new yM(this,e.filter);case"transaction":return new x5e(this,e.hash);case"orphan":return new y5e(this,e.filter)}throw new Error(`unsupported event: ${e.type}`)}_recoverSubscriber(e,t){for(const n of oe(this,Ea).values())if(n.subscriber===e){n.started&&n.subscriber.stop(),n.subscriber=t,n.started&&t.start(),oe(this,Aa)!=null&&t.pause(oe(this,Aa));break}}async on(e,t){const n=await rt(this,h5,hR).call(this,e);return n.listeners.push({listener:t,once:!1}),n.started||(n.subscriber.start(),n.started=!0,oe(this,Aa)!=null&&n.subscriber.pause(oe(this,Aa))),this}async once(e,t){const n=await rt(this,h5,hR).call(this,e);return n.listeners.push({listener:t,once:!0}),n.started||(n.subscriber.start(),n.started=!0,oe(this,Aa)!=null&&n.subscriber.pause(oe(this,Aa))),this}async emit(e,...t){const n=await rt(this,V2,w_).call(this,e,t);if(!n||n.listeners.length===0)return!1;const i=n.listeners.length;return n.listeners=n.listeners.filter(({listener:s,once:o})=>{const a=new yE(this,o?null:s,e);try{s.call(this,...t,a)}catch{}return!o}),n.listeners.length===0&&(n.started&&n.subscriber.stop(),oe(this,Ea).delete(n.tag)),i>0}async listenerCount(e){if(e){const n=await rt(this,V2,w_).call(this,e);return n?n.listeners.length:0}let t=0;for(const{listeners:n}of oe(this,Ea).values())t+=n.length;return t}async listeners(e){if(e){const n=await rt(this,V2,w_).call(this,e);return n?n.listeners.map(({listener:i})=>i):[]}let t=[];for(const{listeners:n}of oe(this,Ea).values())t=t.concat(n.map(({listener:i})=>i));return t}async off(e,t){const n=await rt(this,V2,w_).call(this,e);if(!n)return this;if(t){const i=n.listeners.map(({listener:s})=>s).indexOf(t);i>=0&&n.listeners.splice(i,1)}return(!t||n.listeners.length===0)&&(n.started&&n.subscriber.stop(),oe(this,Ea).delete(n.tag)),this}async removeAllListeners(e){if(e){const{tag:t,started:n,subscriber:i}=await rt(this,h5,hR).call(this,e);n&&i.stop(),oe(this,Ea).delete(t)}else for(const[t,{started:n,subscriber:i}]of oe(this,Ea))n&&i.stop(),oe(this,Ea).delete(t);return this}async addListener(e,t){return await this.on(e,t)}async removeListener(e,t){return this.off(e,t)}get destroyed(){return oe(this,c5)}destroy(){this.removeAllListeners();for(const e of oe(this,vu).keys())this._clearTimeout(e);me(this,c5,!0)}get paused(){return oe(this,Aa)!=null}set paused(e){!!e!==this.paused&&(this.paused?this.resume():this.pause(!1))}pause(e){if(me(this,C0,-1),oe(this,Aa)!=null){if(oe(this,Aa)==!!e)return;Ue(!1,"cannot change pause type; resume first","UNSUPPORTED_OPERATION",{operation:"pause"})}this._forEachSubscriber(t=>t.pause(e)),me(this,Aa,!!e);for(const t of oe(this,vu).values())t.timer&&clearTimeout(t.timer),t.time=EM()-t.time}resume(){if(oe(this,Aa)!=null){this._forEachSubscriber(e=>e.resume()),me(this,Aa,null);for(const e of oe(this,vu).values()){let t=e.time;t<0&&(t=0),e.time=EM(),setTimeout(e.func,t)}}}}Ea=new WeakMap,Y1=new WeakMap,Aa=new WeakMap,c5=new WeakMap,al=new WeakMap,q2=new WeakMap,Q1=new WeakMap,C0=new WeakMap,Zx=new WeakMap,vu=new WeakMap,l5=new WeakMap,u5=new WeakMap,Ga=new WeakSet,_l=async function(e){const t=oe(this,u5).cacheTimeout;if(t<0)return await this._perform(e);const n=lA(e.method,e);let i=oe(this,Q1).get(n);return i||(i=this._perform(e),oe(this,Q1).set(n,i),setTimeout(()=>{oe(this,Q1).get(n)===i&&oe(this,Q1).delete(n)},t)),await i},Jx=new WeakSet,QG=async function(e,t,n){Ue(n=0&&t==="latest"&&i.to!=null&&hi(s.data,0,4)==="0x556f1830"){const o=s.data,a=await Gs(i.to,this);let l;try{l=k5e(hi(s.data,4))}catch(p){Ue(!1,p.message,"OFFCHAIN_FAULT",{reason:"BAD_DATA",transaction:i,info:{data:o}})}Ue(l.sender.toLowerCase()===a.toLowerCase(),"CCIP Read sender mismatch","CALL_EXCEPTION",{action:"call",data:o,reason:"OffchainLookup",transaction:i,invocation:null,revert:{signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",name:"OffchainLookup",args:l.errorArgs}});const u=await this.ccipReadFetch(i,l.calldata,l.urls);Ue(u!=null,"CCIP Read failed to fetch data","OFFCHAIN_FAULT",{reason:"FETCH_FAILED",transaction:i,info:{data:s.data,errorArgs:l.errorArgs}});const h={to:a,data:Sn([l.selector,R5e([u,l.extraData])])};this.emit("debug",{action:"sendCcipReadCall",transaction:h});try{const p=await rt(this,Jx,QG).call(this,h,t,n+1);return this.emit("debug",{action:"receiveCcipReadCallResult",transaction:Object.assign({},h),result:p}),p}catch(p){throw this.emit("debug",{action:"receiveCcipReadCallError",transaction:Object.assign({},h),error:p}),p}}throw s}},Yx=new WeakSet,XG=async function(e){const{value:t}=await qs({network:this.getNetwork(),value:e});return t},W2=new WeakSet,b_=async function(e,t,n){let i=this._getAddress(t),s=this._getBlockTag(n);return(typeof i!="string"||typeof s!="string")&&([i,s]=await Promise.all([i,s])),await rt(this,Yx,XG).call(this,rt(this,Ga,_l).call(this,Object.assign(e,{address:i,blockTag:s})))},Qx=new WeakSet,eK=async function(e,t){if(ui(e,32))return await rt(this,Ga,_l).call(this,{method:"getBlock",blockHash:e,includeTransactions:t});let n=this._getBlockTag(e);return typeof n!="string"&&(n=await n),await rt(this,Ga,_l).call(this,{method:"getBlock",blockTag:n,includeTransactions:t})},V2=new WeakSet,w_=async function(e,t){let n=await _M(e,this);return n.type==="event"&&t&&t.length>0&&t[0].removed===!0&&(n=await _M({orphan:"drop-log",log:t[0]},this)),oe(this,Ea).get(n.tag)||null},h5=new WeakSet,hR=async function(e){const t=await _M(e,this),n=t.tag;let i=oe(this,Ea).get(n);return i||(i={subscriber:this._getSubscriber(t),tag:n,addressableMap:new WeakMap,nameMap:new Map,started:!1,listeners:[]},oe(this,Ea).set(n,i)),i};function S5e(r,e){try{const t=AM(r,e);if(t)return dd(t)}catch{}return null}function AM(r,e){if(r==="0x")return null;try{const t=Ir(hi(r,e,e+32)),n=Ir(hi(r,t,t+32));return hi(r,t+32,t+32+n)}catch{}return null}function aX(r){const e=Vs(r);if(e.length>32)throw new Error("internal; should not happen");const t=new Uint8Array(32);return t.set(e,32-e.length),t}function I5e(r){if(r.length%32===0)return r;const e=new Uint8Array(Math.ceil(r.length/32)*32);return e.set(r),e}const T5e=new Uint8Array([]);function R5e(r){const e=[];let t=0;for(let n=0;n=5*32,"insufficient OffchainLookup data","OFFCHAIN_FAULT",{reason:"insufficient OffchainLookup data"});const t=hi(r,0,32);Ue(hi(t,0,12)===hi(cX,0,12),"corrupt OffchainLookup sender","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup sender"}),e.sender=hi(t,12);try{const n=[],i=Ir(hi(r,32,64)),s=Ir(hi(r,i,i+32)),o=hi(r,i+32);for(let a=0;ae[n]),e}function sv(r,e){if(r.provider)return r.provider;Ue(!1,"missing provider","UNSUPPORTED_OPERATION",{operation:e})}async function lX(r,e){let t=Xw(e);if(t.to!=null&&(t.to=Gs(t.to,r)),t.from!=null){const n=t.from;t.from=Promise.all([r.getAddress(),Gs(n,r)]).then(([i,s])=>(xe(i.toLowerCase()===s.toLowerCase(),"transaction from mismatch","tx.from",s),i))}else t.from=r.getAddress();return await qs(t)}class ov{constructor(e){Ee(this,"provider");er(this,{provider:e||null})}async getNonce(e){return sv(this,"getTransactionCount").getTransactionCount(await this.getAddress(),e)}async populateCall(e){return await lX(this,e)}async populateTransaction(e){const t=sv(this,"populateTransaction"),n=await lX(this,e);n.nonce==null&&(n.nonce=await this.getNonce("pending")),n.gasLimit==null&&(n.gasLimit=await this.estimateGas(n));const i=await this.provider.getNetwork();if(n.chainId!=null){const o=cr(n.chainId);xe(o===i.chainId,"transaction chainId mismatch","tx.chainId",e.chainId)}else n.chainId=i.chainId;const s=n.maxFeePerGas!=null||n.maxPriorityFeePerGas!=null;if(n.gasPrice!=null&&(n.type===2||s)?xe(!1,"eip-1559 transaction do not support gasPrice","tx",e):(n.type===0||n.type===1)&&s&&xe(!1,"pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","tx",e),(n.type===2||n.type==null)&&n.maxFeePerGas!=null&&n.maxPriorityFeePerGas!=null)n.type=2;else if(n.type===0||n.type===1){const o=await t.getFeeData();Ue(o.gasPrice!=null,"network does not support gasPrice","UNSUPPORTED_OPERATION",{operation:"getGasPrice"}),n.gasPrice==null&&(n.gasPrice=o.gasPrice)}else{const o=await t.getFeeData();if(n.type==null)if(o.maxFeePerGas!=null&&o.maxPriorityFeePerGas!=null)if(n.type=2,n.gasPrice!=null){const a=n.gasPrice;delete n.gasPrice,n.maxFeePerGas=a,n.maxPriorityFeePerGas=a}else n.maxFeePerGas==null&&(n.maxFeePerGas=o.maxFeePerGas),n.maxPriorityFeePerGas==null&&(n.maxPriorityFeePerGas=o.maxPriorityFeePerGas);else o.gasPrice!=null?(Ue(!s,"network does not support EIP-1559","UNSUPPORTED_OPERATION",{operation:"populateTransaction"}),n.gasPrice==null&&(n.gasPrice=o.gasPrice),n.type=0):Ue(!1,"failed to get consistent fee data","UNSUPPORTED_OPERATION",{operation:"signer.getFeeData"});else n.type===2&&(n.maxFeePerGas==null&&(n.maxFeePerGas=o.maxFeePerGas),n.maxPriorityFeePerGas==null&&(n.maxPriorityFeePerGas=o.maxPriorityFeePerGas))}return await qs(n)}async estimateGas(e){return sv(this,"estimateGas").estimateGas(await this.populateCall(e))}async call(e){return sv(this,"call").call(await this.populateCall(e))}async resolveName(e){return await sv(this,"resolveName").resolveName(e)}async sendTransaction(e){const t=sv(this,"sendTransaction"),n=await this.populateTransaction(e);delete n.from;const i=Pc.from(n);return await t.broadcastTransaction(await this.signTransaction(i))}}const uj=class extends ov{constructor(t,n){super(n);Ne(this,f5);Ee(this,"address");er(this,{address:t})}async getAddress(){return this.address}connect(t){return new uj(this.address,t)}async signTransaction(t){rt(this,f5,fR).call(this,"transactions","signTransaction")}async signMessage(t){rt(this,f5,fR).call(this,"messages","signMessage")}async signTypedData(t,n,i){rt(this,f5,fR).call(this,"typed-data","signTypedData")}};let A4=uj;f5=new WeakSet,fR=function(t,n){Ue(!1,`VoidSigner cannot sign ${t}`,"UNSUPPORTED_OPERATION",{operation:n})};const uX=new Set;function Np(r){uX.has(r)||(uX.add(r),console.log("========= NOTICE ========="),console.log(`Request-Rate Exceeded for ${r} (this message will not be repeated)`),console.log(""),console.log("The default API keys for each service are provided as a highly-throttled,"),console.log("community resource for low-traffic projects and early prototyping."),console.log(""),console.log("While your application will continue to function, we highly recommended"),console.log("signing up for your own API keys to improve performance, increase your"),console.log("request rate/limit and enable other perks, such as metrics and advanced APIs."),console.log(""),console.log("For more details: https://docs.ethers.org/api-keys/"),console.log("=========================="))}function M5e(r){return JSON.parse(JSON.stringify(r))}class hX{constructor(e){Ne(this,Xx);Ne(this,e7);Ne(this,Cc,void 0);Ne(this,Zf,void 0);Ne(this,G2,void 0);Ne(this,X1,void 0);Ne(this,K2,void 0);Ne(this,d5,void 0);me(this,Cc,e),me(this,Zf,null),me(this,G2,rt(this,Xx,tK).bind(this)),me(this,X1,!1),me(this,K2,null),me(this,d5,!1)}_subscribe(e){throw new Error("subclasses must override this")}_emitResults(e,t){throw new Error("subclasses must override this")}_recover(e){throw new Error("subclasses must override this")}start(){oe(this,X1)||(me(this,X1,!0),rt(this,Xx,tK).call(this,-2))}stop(){oe(this,X1)&&(me(this,X1,!1),me(this,d5,!0),rt(this,e7,rK).call(this),oe(this,Cc).off("block",oe(this,G2)))}pause(e){e&&rt(this,e7,rK).call(this),oe(this,Cc).off("block",oe(this,G2))}resume(){this.start()}}Cc=new WeakMap,Zf=new WeakMap,G2=new WeakMap,X1=new WeakMap,K2=new WeakMap,d5=new WeakMap,Xx=new WeakSet,tK=async function(e){try{oe(this,Zf)==null&&me(this,Zf,this._subscribe(oe(this,Cc)));let t=null;try{t=await oe(this,Zf)}catch(s){if(!$s(s,"UNSUPPORTED_OPERATION")||s.operation!=="eth_newFilter")throw s}if(t==null){me(this,Zf,null),oe(this,Cc)._recoverSubscriber(this,this._recover(oe(this,Cc)));return}const n=await oe(this,Cc).getNetwork();if(oe(this,K2)||me(this,K2,n),oe(this,K2).chainId!==n.chainId)throw new Error("chaid changed");if(oe(this,d5))return;const i=await oe(this,Cc).send("eth_getFilterChanges",[t]);await this._emitResults(oe(this,Cc),i)}catch(t){console.log("@TODO",t)}oe(this,Cc).once("block",oe(this,G2))},e7=new WeakSet,rK=function(){const e=oe(this,Zf);e&&(me(this,Zf,null),e.then(t=>{oe(this,Cc).send("eth_uninstallFilter",[t])}))};class N5e extends hX{constructor(t,n){super(t);Ne(this,Z2,void 0);me(this,Z2,M5e(n))}_recover(t){return new yM(t,oe(this,Z2))}async _subscribe(t){return await t.send("eth_newFilter",[oe(this,Z2)])}async _emitResults(t,n){for(const i of n)t.emit(oe(this,Z2),t._wrapLog(i,t._network))}}Z2=new WeakMap;class P5e extends hX{async _subscribe(e){return await e.send("eth_newPendingTransactionFilter",[])}async _emitResults(e,t){for(const n of t)e.emit("pending",n)}}const O5e="bigint,boolean,function,number,string,symbol".split(/,/g);function uA(r){if(r==null||O5e.indexOf(typeof r)>=0||typeof r.getAddress=="function")return r;if(Array.isArray(r))return r.map(uA);if(typeof r=="object")return Object.keys(r).reduce((e,t)=>(e[t]=r[t],e),{});throw new Error(`should not happen: ${r} (${typeof r})`)}function D5e(r){return new Promise(e=>{setTimeout(e,r)})}function av(r){return r&&r.toLowerCase()}function fX(r){return r&&typeof r.pollingInterval=="number"}const $5e={polling:!1,staticNetwork:null,batchStallTime:10,batchMaxSize:1<<20,batchMaxCount:100,cacheTimeout:250,pollingInterval:4e3};class Pg extends ov{constructor(t,n){super(t);Ee(this,"address");n=zr(n),er(this,{address:n})}connect(t){Ue(!1,"cannot reconnect JsonRpcSigner","UNSUPPORTED_OPERATION",{operation:"signer.connect"})}async getAddress(){return this.address}async populateTransaction(t){return await this.populateCall(t)}async sendUncheckedTransaction(t){const n=uA(t),i=[];if(n.from){const o=n.from;i.push((async()=>{const a=await Gs(o,this.provider);xe(a!=null&&a.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",t),n.from=a})())}else n.from=this.address;if(n.gasLimit==null&&i.push((async()=>{n.gasLimit=await this.provider.estimateGas({...n,from:this.address})})()),n.to!=null){const o=n.to;i.push((async()=>{n.to=await Gs(o,this.provider)})())}i.length&&await Promise.all(i);const s=this.provider.getRpcTransaction(n);return this.provider.send("eth_sendTransaction",[s])}async sendTransaction(t){const n=await this.provider.getBlockNumber(),i=await this.sendUncheckedTransaction(t);return await new Promise((s,o)=>{const a=[1e3,100];let l=0;const u=async()=>{try{const h=await this.provider.getTransaction(i);if(h!=null){s(h.replaceableTransaction(n));return}}catch(h){if($s(h,"CANCELLED")||$s(h,"BAD_DATA")||$s(h,"NETWORK_ERROR")){h.info==null&&(h.info={}),h.info.sendTransactionHash=i,o(h);return}if($s(h,"INVALID_ARGUMENT")&&(l++,h.info==null&&(h.info={}),h.info.sendTransactionHash=i,l>10)){o(h);return}this.provider.emit("error",Wi("failed to fetch transation after sending (will try again)","UNKNOWN_ERROR",{error:h}))}this.provider._setTimeout(()=>{u()},a.pop()||4e3)};u()})}async signTransaction(t){const n=uA(t);if(n.from){const s=await Gs(n.from,this.provider);xe(s!=null&&s.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",t),n.from=s}else n.from=this.address;const i=this.provider.getRpcTransaction(n);return await this.provider.send("eth_signTransaction",[i])}async signMessage(t){const n=typeof t=="string"?Bs(t):t;return await this.provider.send("personal_sign",[St(n),this.address.toLowerCase()])}async signTypedData(t,n,i){const s=uA(i),o=await xd.resolveNames(t,n,s,async a=>{const l=await Gs(a);return xe(l!=null,"TypedData does not support null address","value",a),l});return await this.provider.send("eth_signTypedData_v4",[this.address.toLowerCase(),JSON.stringify(xd.getPayload(o.domain,n,o.value))])}async unlock(t){return this.provider.send("personal_unlockAccount",[this.address.toLowerCase(),t,null])}async _legacySignMessage(t){const n=typeof t=="string"?Bs(t):t;return await this.provider.send("eth_sign",[this.address.toLowerCase(),St(n)])}}class hA extends iv{constructor(t,n){super(t,n);Ne(this,t7);Ne(this,J2,void 0);Ne(this,p5,void 0);Ne(this,S0,void 0);Ne(this,Jf,void 0);Ne(this,gh,void 0);Ne(this,yu,void 0);Ne(this,Sc,void 0);me(this,p5,1),me(this,J2,Object.assign({},$5e,n||{})),me(this,S0,[]),me(this,Jf,null),me(this,yu,null),me(this,Sc,null);{let s=null;const o=new Promise(a=>{s=a});me(this,gh,{promise:o,resolve:s})}const i=this._getOption("staticNetwork");typeof i=="boolean"?(xe(!i||t!=="any","staticNetwork cannot be used on special network 'any'","options",n),i&&t!=null&&me(this,yu,ws.from(t))):i&&(xe(t==null||i.matches(t),"staticNetwork MUST match network object","options",n),me(this,yu,i))}_getOption(t){return oe(this,J2)[t]}get _network(){return Ue(oe(this,yu),"network is not available yet","NETWORK_ERROR"),oe(this,yu)}async _perform(t){if(t.method==="call"||t.method==="estimateGas"){let i=t.transaction;if(i&&i.type!=null&&cr(i.type)&&i.maxFeePerGas==null&&i.maxPriorityFeePerGas==null){const s=await this.getFeeData();s.maxFeePerGas==null&&s.maxPriorityFeePerGas==null&&(t=Object.assign({},t,{transaction:Object.assign({},i,{type:void 0})}))}}const n=this.getRpcRequest(t);return n!=null?await this.send(n.method,n.args):super._perform(t)}async _detectNetwork(){const t=this._getOption("staticNetwork");if(t)if(t===!0){if(oe(this,yu))return oe(this,yu)}else return t;return oe(this,Sc)?await oe(this,Sc):this.ready?(me(this,Sc,(async()=>{try{const n=ws.from(cr(await this.send("eth_chainId",[])));return me(this,Sc,null),n}catch(n){throw me(this,Sc,null),n}})()),await oe(this,Sc)):(me(this,Sc,(async()=>{const n={id:S5(this,p5)._++,method:"eth_chainId",params:[],jsonrpc:"2.0"};this.emit("debug",{action:"sendRpcPayload",payload:n});let i;try{i=(await this._send(n))[0],me(this,Sc,null)}catch(s){throw me(this,Sc,null),this.emit("debug",{action:"receiveRpcError",error:s}),s}if(this.emit("debug",{action:"receiveRpcResult",result:i}),"result"in i)return ws.from(cr(i.result));throw this.getRpcError(n,i)})()),await oe(this,Sc))}_start(){oe(this,gh)==null||oe(this,gh).resolve==null||(oe(this,gh).resolve(),me(this,gh,null),(async()=>{for(;oe(this,yu)==null&&!this.destroyed;)try{me(this,yu,await this._detectNetwork())}catch(t){if(this.destroyed)break;console.log("JsonRpcProvider failed to detect network and cannot start up; retry in 1s (perhaps the URL is wrong or the node is not started)"),this.emit("error",Wi("failed to bootstrap network detection","NETWORK_ERROR",{event:"initial-network-discovery",info:{error:t}})),await D5e(1e3)}rt(this,t7,nK).call(this)})())}async _waitUntilReady(){if(oe(this,gh)!=null)return await oe(this,gh).promise}_getSubscriber(t){return t.type==="pending"?new P5e(this):t.type==="event"?this._getOption("polling")?new yM(this,t.filter):new N5e(this,t.filter):t.type==="orphan"&&t.filter.orphan==="drop-log"?new nv("orphan"):super._getSubscriber(t)}get ready(){return oe(this,gh)==null}getRpcTransaction(t){const n={};return["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach(i=>{if(t[i]==null)return;let s=i;i==="gasLimit"&&(s="gas"),n[s]=fd(cr(t[i],`tx.${i}`))}),["from","to","data"].forEach(i=>{t[i]!=null&&(n[i]=St(t[i]))}),t.accessList&&(n.accessList=jh(t.accessList)),n}getRpcRequest(t){switch(t.method){case"chainId":return{method:"eth_chainId",args:[]};case"getBlockNumber":return{method:"eth_blockNumber",args:[]};case"getGasPrice":return{method:"eth_gasPrice",args:[]};case"getPriorityFee":return{method:"eth_maxPriorityFeePerGas",args:[]};case"getBalance":return{method:"eth_getBalance",args:[av(t.address),t.blockTag]};case"getTransactionCount":return{method:"eth_getTransactionCount",args:[av(t.address),t.blockTag]};case"getCode":return{method:"eth_getCode",args:[av(t.address),t.blockTag]};case"getStorage":return{method:"eth_getStorageAt",args:[av(t.address),"0x"+t.position.toString(16),t.blockTag]};case"broadcastTransaction":return{method:"eth_sendRawTransaction",args:[t.signedTransaction]};case"getBlock":if("blockTag"in t)return{method:"eth_getBlockByNumber",args:[t.blockTag,!!t.includeTransactions]};if("blockHash"in t)return{method:"eth_getBlockByHash",args:[t.blockHash,!!t.includeTransactions]};break;case"getTransaction":return{method:"eth_getTransactionByHash",args:[t.hash]};case"getTransactionReceipt":return{method:"eth_getTransactionReceipt",args:[t.hash]};case"call":return{method:"eth_call",args:[this.getRpcTransaction(t.transaction),t.blockTag]};case"estimateGas":return{method:"eth_estimateGas",args:[this.getRpcTransaction(t.transaction)]};case"getLogs":return t.filter&&t.filter.address!=null&&(Array.isArray(t.filter.address)?t.filter.address=t.filter.address.map(av):t.filter.address=av(t.filter.address)),{method:"eth_getLogs",args:[t.filter]}}return null}getRpcError(t,n){const{method:i}=t,{error:s}=n;if(i==="eth_estimateGas"&&s.message){const l=s.message;if(!l.match(/revert/i)&&l.match(/insufficient funds/i))return Wi("insufficient funds","INSUFFICIENT_FUNDS",{transaction:t.params[0],info:{payload:t,error:s}})}if(i==="eth_call"||i==="eth_estimateGas"){const l=CM(s),u=Mp.getBuiltinCallException(i==="eth_call"?"call":"estimateGas",t.params[0],l?l.data:null);return u.info={error:s,payload:t},u}const o=JSON.stringify(B5e(s));if(typeof s.message=="string"&&s.message.match(/user denied|ethers-user-denied/i))return Wi("user rejected action","ACTION_REJECTED",{action:{eth_sign:"signMessage",personal_sign:"signMessage",eth_signTypedData_v4:"signTypedData",eth_signTransaction:"signTransaction",eth_sendTransaction:"sendTransaction",eth_requestAccounts:"requestAccess",wallet_requestAccounts:"requestAccess"}[i]||"unknown",reason:"rejected",info:{payload:t,error:s}});if(i==="eth_sendRawTransaction"||i==="eth_sendTransaction"){const l=t.params[0];if(o.match(/insufficient funds|base fee exceeds gas limit/i))return Wi("insufficient funds for intrinsic transaction cost","INSUFFICIENT_FUNDS",{transaction:l,info:{error:s}});if(o.match(/nonce/i)&&o.match(/too low/i))return Wi("nonce has already been used","NONCE_EXPIRED",{transaction:l,info:{error:s}});if(o.match(/replacement transaction/i)&&o.match(/underpriced/i))return Wi("replacement fee too low","REPLACEMENT_UNDERPRICED",{transaction:l,info:{error:s}});if(o.match(/only replay-protected/i))return Wi("legacy pre-eip-155 transactions not supported","UNSUPPORTED_OPERATION",{operation:i,info:{transaction:l,info:{error:s}}})}let a=!!o.match(/the method .* does not exist/i);return a||s&&s.details&&s.details.startsWith("Unauthorized method:")&&(a=!0),a?Wi("unsupported operation","UNSUPPORTED_OPERATION",{operation:t.method,info:{error:s,payload:t}}):Wi("could not coalesce error","UNKNOWN_ERROR",{error:s,payload:t})}send(t,n){if(this.destroyed)return Promise.reject(Wi("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:t}));const i=S5(this,p5)._++,s=new Promise((o,a)=>{oe(this,S0).push({resolve:o,reject:a,payload:{method:t,params:n,id:i,jsonrpc:"2.0"}})});return rt(this,t7,nK).call(this),s}async getSigner(t){t==null&&(t=0);const n=this.send("eth_accounts",[]);if(typeof t=="number"){const s=await n;if(t>=s.length)throw new Error("no such account");return new Pg(this,s[t])}const{accounts:i}=await qs({network:this.getNetwork(),accounts:n});t=zr(t);for(const s of i)if(zr(s)===t)return new Pg(this,t);throw new Error("invalid account")}async listAccounts(){return(await this.send("eth_accounts",[])).map(n=>new Pg(this,n))}destroy(){oe(this,Jf)&&(clearTimeout(oe(this,Jf)),me(this,Jf,null));for(const{payload:t,reject:n}of oe(this,S0))n(Wi("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:t.method}));me(this,S0,[]),super.destroy()}}J2=new WeakMap,p5=new WeakMap,S0=new WeakMap,Jf=new WeakMap,gh=new WeakMap,yu=new WeakMap,Sc=new WeakMap,t7=new WeakSet,nK=function(){if(oe(this,Jf))return;const t=this._getOption("batchMaxCount")===1?0:this._getOption("batchStallTime");me(this,Jf,setTimeout(()=>{me(this,Jf,null);const n=oe(this,S0);for(me(this,S0,[]);n.length;){const i=[n.shift()];for(;n.length&&i.length!==oe(this,J2).batchMaxCount;)if(i.push(n.shift()),JSON.stringify(i.map(o=>o.payload)).length>oe(this,J2).batchMaxSize){n.unshift(i.pop());break}(async()=>{const s=i.length===1?i[0].payload:i.map(o=>o.payload);this.emit("debug",{action:"sendRpcPayload",payload:s});try{const o=await this._send(s);this.emit("debug",{action:"receiveRpcResult",result:o});for(const{resolve:a,reject:l,payload:u}of i){if(this.destroyed){l(Wi("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:u.method}));continue}const h=o.filter(p=>p.id===u.id)[0];if(h==null){const p=Wi("missing response for request","BAD_DATA",{value:o,info:{payload:u}});this.emit("error",p),l(p);continue}if("error"in h){l(this.getRpcError(u,h));continue}a(h.result)}}catch(o){this.emit("debug",{action:"receiveRpcError",error:o});for(const{reject:a}of i)a(o)}})()}},t))};class dX extends hA{constructor(t,n){super(t,n);Ne(this,eg,void 0);me(this,eg,4e3)}_getSubscriber(t){const n=super._getSubscriber(t);return fX(n)&&(n.pollingInterval=oe(this,eg)),n}get pollingInterval(){return oe(this,eg)}set pollingInterval(t){if(!Number.isInteger(t)||t<0)throw new Error("invalid interval");me(this,eg,t),this._forEachSubscriber(n=>{fX(n)&&(n.pollingInterval=oe(this,eg))})}}eg=new WeakMap;let $l=(nge=class extends dX{constructor(t,n,i){t==null&&(t="http://localhost:8545");super(n,i);Ne(this,g5,void 0);typeof t=="string"?me(this,g5,new Do(t)):me(this,g5,t.clone())}_getConnection(){return oe(this,g5).clone()}async send(t,n){return await this._start(),await super.send(t,n)}async _send(t){const n=this._getConnection();n.body=JSON.stringify(t),n.setHeader("content-type","application/json");const i=await n.send();i.assertOk();let s=i.bodyJson;return Array.isArray(s)||(s=[s]),s}},g5=new WeakMap,nge);function CM(r){if(r==null)return null;if(typeof r.message=="string"&&r.message.match(/revert/i)&&ui(r.data))return{message:r.message,data:r.data};if(typeof r=="object"){for(const e in r){const t=CM(r[e]);if(t)return t}return null}if(typeof r=="string")try{return CM(JSON.parse(r))}catch{}return null}function SM(r,e){if(r!=null){if(typeof r.message=="string"&&e.push(r.message),typeof r=="object")for(const t in r)SM(r[t],e);if(typeof r=="string")try{return SM(JSON.parse(r),e)}catch{}}}function B5e(r){const e=[];return SM(r,e),e}const fA="9f7d929b018cdffb338517efa06f58359e86ff1ffd350bc889738523659e7972";function L5e(r){switch(r){case"mainnet":return"rpc.ankr.com/eth";case"goerli":return"rpc.ankr.com/eth_goerli";case"sepolia":return"rpc.ankr.com/eth_sepolia";case"arbitrum":return"rpc.ankr.com/arbitrum";case"base":return"rpc.ankr.com/base";case"base-goerli":return"rpc.ankr.com/base_goerli";case"base-sepolia":return"rpc.ankr.com/base_sepolia";case"bnb":return"rpc.ankr.com/bsc";case"bnbt":return"rpc.ankr.com/bsc_testnet_chapel";case"matic":return"rpc.ankr.com/polygon";case"matic-mumbai":return"rpc.ankr.com/polygon_mumbai";case"optimism":return"rpc.ankr.com/optimism";case"optimism-goerli":return"rpc.ankr.com/optimism_testnet";case"optimism-sepolia":return"rpc.ankr.com/optimism_sepolia"}xe(!1,"unsupported network","network",r)}class cv extends $l{constructor(t,n){t==null&&(t="mainnet");const i=ws.from(t);n==null&&(n=fA);const s={polling:!0,staticNetwork:i},o=cv.getRequest(i,n);super(o,i,s);Ee(this,"apiKey");er(this,{apiKey:n})}_getProvider(t){try{return new cv(t,this.apiKey)}catch{}return super._getProvider(t)}static getRequest(t,n){n==null&&(n=fA);const i=new Do(`https://${L5e(t.name)}/${n}`);return i.allowGzip=!0,n===fA&&(i.retryFunc=async(s,o,a)=>(Np("AnkrProvider"),!0)),i}getRpcError(t,n){return t.method==="eth_sendRawTransaction"&&n&&n.error&&n.error.message==="INTERNAL_ERROR: could not replace existing tx"&&(n.error.message="replacement transaction underpriced"),super.getRpcError(t,n)}isCommunityResource(){return this.apiKey===fA}}const dA="_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC";function U5e(r){switch(r){case"mainnet":return"eth-mainnet.alchemyapi.io";case"goerli":return"eth-goerli.g.alchemy.com";case"sepolia":return"eth-sepolia.g.alchemy.com";case"arbitrum":return"arb-mainnet.g.alchemy.com";case"arbitrum-goerli":return"arb-goerli.g.alchemy.com";case"arbitrum-sepolia":return"arb-sepolia.g.alchemy.com";case"base":return"base-mainnet.g.alchemy.com";case"base-goerli":return"base-goerli.g.alchemy.com";case"base-sepolia":return"base-sepolia.g.alchemy.com";case"matic":return"polygon-mainnet.g.alchemy.com";case"matic-mumbai":return"polygon-mumbai.g.alchemy.com";case"optimism":return"opt-mainnet.g.alchemy.com";case"optimism-goerli":return"opt-goerli.g.alchemy.com";case"optimism-sepolia":return"opt-sepolia.g.alchemy.com"}xe(!1,"unsupported network","network",r)}class lv extends $l{constructor(t,n){t==null&&(t="mainnet");const i=ws.from(t);n==null&&(n=dA);const s=lv.getRequest(i,n);super(s,i,{staticNetwork:i});Ee(this,"apiKey");er(this,{apiKey:n})}_getProvider(t){try{return new lv(t,this.apiKey)}catch{}return super._getProvider(t)}async _perform(t){if(t.method==="getTransactionResult"){const{trace:n,tx:i}=await qs({trace:this.send("trace_transaction",[t.hash]),tx:this.getTransaction(t.hash)});if(n==null||i==null)return null;let s,o=!1;try{s=n[0].result.output,o=n[0].error==="Reverted"}catch{}if(s)return Ue(!o,"an error occurred during transaction executions","CALL_EXCEPTION",{action:"getTransactionResult",data:s,reason:null,transaction:i,invocation:null,revert:null}),s;Ue(!1,"could not parse trace result","BAD_DATA",{value:n})}return await super._perform(t)}isCommunityResource(){return this.apiKey===dA}static getRequest(t,n){n==null&&(n=dA);const i=new Do(`https://${U5e(t.name)}/v2/${n}`);return i.allowGzip=!0,n===dA&&(i.retryFunc=async(s,o,a)=>(Np("alchemy"),!0)),i}}class IM extends $l{constructor(e){e==null&&(e="mainnet");const t=ws.from(e);xe(t.name==="mainnet","unsupported network","network",e),super("https://cloudflare-eth.com/",t,{staticNetwork:t})}}const pX=2e3;function F5e(r){return r&&typeof r.then=="function"}const gX="org.ethers.plugins.provider.Etherscan";class pA extends Id{constructor(t){super(gX);Ee(this,"baseUrl");er(this,{baseUrl:t})}clone(){return new pA(this.baseUrl)}}const j5e=["enableCcipRead"];let z5e=1;class TM extends iv{constructor(t,n){const i=n??null;super();Ee(this,"network");Ee(this,"apiKey");Ne(this,m5,void 0);const s=ws.from(t);me(this,m5,s.getPlugin(gX)),er(this,{apiKey:i,network:s}),this.getBaseUrl()}getBaseUrl(){if(oe(this,m5))return oe(this,m5).baseUrl;switch(this.network.name){case"mainnet":return"https://api.etherscan.io";case"goerli":return"https://api-goerli.etherscan.io";case"sepolia":return"https://api-sepolia.etherscan.io";case"holesky":return"https://api-holesky.etherscan.io";case"arbitrum":return"https://api.arbiscan.io";case"arbitrum-goerli":return"https://api-goerli.arbiscan.io";case"bnb":return"https://api.bscscan.com";case"bnbt":return"https://api-testnet.bscscan.com";case"matic":return"https://api.polygonscan.com";case"matic-mumbai":return"https://api-testnet.polygonscan.com";case"optimism":return"https://api-optimistic.etherscan.io";case"optimism-goerli":return"https://api-goerli-optimistic.etherscan.io"}xe(!1,"unsupported network","network",this.network)}getUrl(t,n){const i=Object.keys(n).reduce((o,a)=>{const l=n[a];return l!=null&&(o+=`&${a}=${l}`),o},""),s=this.apiKey?`&apikey=${this.apiKey}`:"";return`${this.getBaseUrl()}/api?module=${t}${i}${s}`}getPostUrl(){return`${this.getBaseUrl()}/api`}getPostData(t,n){return n.module=t,n.apikey=this.apiKey,n}async detectNetwork(){return this.network}async fetch(t,n,i){const s=z5e++,o=i?this.getPostUrl():this.getUrl(t,n),a=i?this.getPostData(t,n):null;this.emit("debug",{action:"sendRequest",id:s,url:o,payload:a});const l=new Do(o);l.setThrottleParams({slotInterval:1e3}),l.retryFunc=(p,g,w)=>(this.isCommunityResource()&&Np("Etherscan"),Promise.resolve(!0)),l.processFunc=async(p,g)=>{const w=g.hasBody()?JSON.parse(dd(g.body)):{},y=(typeof w.result=="string"?w.result:"").toLowerCase().indexOf("rate limit")>=0;return t==="proxy"?w&&w.status==0&&w.message=="NOTOK"&&y&&(this.emit("debug",{action:"receiveError",id:s,reason:"proxy-NOTOK",error:w}),g.throwThrottleError(w.result,pX)):y&&(this.emit("debug",{action:"receiveError",id:s,reason:"null result",error:w.result}),g.throwThrottleError(w.result,pX)),g},a&&(l.setHeader("content-type","application/x-www-form-urlencoded; charset=UTF-8"),l.body=Object.keys(a).map(p=>`${p}=${a[p]}`).join("&"));const u=await l.send();try{u.assertOk()}catch(p){this.emit("debug",{action:"receiveError",id:s,error:p,reason:"assertOk"}),Ue(!1,"response error","SERVER_ERROR",{request:l,response:u})}u.hasBody()||(this.emit("debug",{action:"receiveError",id:s,error:"missing body",reason:"null body"}),Ue(!1,"missing response","SERVER_ERROR",{request:l,response:u}));const h=JSON.parse(dd(u.body));return t==="proxy"?(h.jsonrpc!="2.0"&&(this.emit("debug",{action:"receiveError",id:s,result:h,reason:"invalid JSON-RPC"}),Ue(!1,"invalid JSON-RPC response (missing jsonrpc='2.0')","SERVER_ERROR",{request:l,response:u,info:{result:h}})),h.error&&(this.emit("debug",{action:"receiveError",id:s,result:h,reason:"JSON-RPC error"}),Ue(!1,"error response","SERVER_ERROR",{request:l,response:u,info:{result:h}})),this.emit("debug",{action:"receiveRequest",id:s,result:h}),h.result):h.status==0&&(h.message==="No records found"||h.message==="No transactions found")?(this.emit("debug",{action:"receiveRequest",id:s,result:h}),h.result):((h.status!=1||typeof h.message=="string"&&!h.message.match(/^OK/))&&(this.emit("debug",{action:"receiveError",id:s,result:h}),Ue(!1,"error response","SERVER_ERROR",{request:l,response:u,info:{result:h}})),this.emit("debug",{action:"receiveRequest",id:s,result:h}),h.result)}_getTransactionPostData(t){const n={};for(let i in t){if(j5e.indexOf(i)>=0||t[i]==null)continue;let s=t[i];i==="type"&&s===0||i==="blockTag"&&s==="latest"||({type:!0,gasLimit:!0,gasPrice:!0,maxFeePerGs:!0,maxPriorityFeePerGas:!0,nonce:!0,value:!0}[i]?s=fd(s):i==="accessList"?s="["+jh(s).map(o=>`{address:"${o.address}",storageKeys:["${o.storageKeys.join('","')}"]}`).join(",")+"]":s=St(s),n[i]=s)}return n}_checkError(t,n,i){let s="";if($s(n,"SERVER_ERROR")){try{s=n.info.result.error.message}catch{}if(!s)try{s=n.info.message}catch{}}if(t.method==="estimateGas"&&!s.match(/revert/i)&&s.match(/insufficient funds/i)&&Ue(!1,"insufficient funds","INSUFFICIENT_FUNDS",{transaction:t.transaction}),(t.method==="call"||t.method==="estimateGas")&&s.match(/execution reverted/i)){let o="";try{o=n.info.result.error.data}catch{}const a=Mp.getBuiltinCallException(t.method,t.transaction,o);throw a.info={request:t,error:n},a}if(s&&t.method==="broadcastTransaction"){const o=Pc.from(t.signedTransaction);s.match(/replacement/i)&&s.match(/underpriced/i)&&Ue(!1,"replacement fee too low","REPLACEMENT_UNDERPRICED",{transaction:o}),s.match(/insufficient funds/)&&Ue(!1,"insufficient funds for intrinsic transaction cost","INSUFFICIENT_FUNDS",{transaction:o}),s.match(/same hash was already imported|transaction nonce is too low|nonce too low/)&&Ue(!1,"nonce has already been used","NONCE_EXPIRED",{transaction:o})}throw n}async _detectNetwork(){return this.network}async _perform(t){switch(t.method){case"chainId":return this.network.chainId;case"getBlockNumber":return this.fetch("proxy",{action:"eth_blockNumber"});case"getGasPrice":return this.fetch("proxy",{action:"eth_gasPrice"});case"getPriorityFee":if(this.network.name==="mainnet")return"1000000000";if(this.network.name==="optimism")return"1000000";throw new Error("fallback onto the AbstractProvider default");case"getBalance":return this.fetch("account",{action:"balance",address:t.address,tag:t.blockTag});case"getTransactionCount":return this.fetch("proxy",{action:"eth_getTransactionCount",address:t.address,tag:t.blockTag});case"getCode":return this.fetch("proxy",{action:"eth_getCode",address:t.address,tag:t.blockTag});case"getStorage":return this.fetch("proxy",{action:"eth_getStorageAt",address:t.address,position:t.position,tag:t.blockTag});case"broadcastTransaction":return this.fetch("proxy",{action:"eth_sendRawTransaction",hex:t.signedTransaction},!0).catch(n=>this._checkError(t,n,t.signedTransaction));case"getBlock":if("blockTag"in t)return this.fetch("proxy",{action:"eth_getBlockByNumber",tag:t.blockTag,boolean:t.includeTransactions?"true":"false"});Ue(!1,"getBlock by blockHash not supported by Etherscan","UNSUPPORTED_OPERATION",{operation:"getBlock(blockHash)"});case"getTransaction":return this.fetch("proxy",{action:"eth_getTransactionByHash",txhash:t.hash});case"getTransactionReceipt":return this.fetch("proxy",{action:"eth_getTransactionReceipt",txhash:t.hash});case"call":{if(t.blockTag!=="latest")throw new Error("EtherscanProvider does not support blockTag for call");const n=this._getTransactionPostData(t.transaction);n.module="proxy",n.action="eth_call";try{return await this.fetch("proxy",n,!0)}catch(i){return this._checkError(t,i,t.transaction)}}case"estimateGas":{const n=this._getTransactionPostData(t.transaction);n.module="proxy",n.action="eth_estimateGas";try{return await this.fetch("proxy",n,!0)}catch(i){return this._checkError(t,i,t.transaction)}}}return super._perform(t)}async getNetwork(){return this.network}async getEtherPrice(){return this.network.name!=="mainnet"?0:parseFloat((await this.fetch("stats",{action:"ethprice"})).ethusd)}async getContract(t){let n=this._getAddress(t);F5e(n)&&(n=await n);try{const i=await this.fetch("contract",{action:"getabi",address:n}),s=JSON.parse(i);return new Sd(n,s,this)}catch{return null}}isCommunityResource(){return this.apiKey==null}}m5=new WeakMap;function H5e(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof dr<"u")return dr;throw new Error("unable to locate global object")}const q5e=H5e().WebSocket;class C4{constructor(e,t){Ne(this,I0,void 0);Ne(this,r7,void 0);Ne(this,tg,void 0);Ne(this,Y2,void 0);Ne(this,rg,void 0);me(this,I0,e),me(this,r7,JSON.stringify(t)),me(this,tg,null),me(this,Y2,null),me(this,rg,null)}get filter(){return JSON.parse(oe(this,r7))}start(){me(this,tg,oe(this,I0).send("eth_subscribe",this.filter).then(e=>(oe(this,I0)._register(e,this),e)))}stop(){oe(this,tg).then(e=>{oe(this,I0).send("eth_unsubscribe",[e])}),me(this,tg,null)}pause(e){Ue(e,"preserve logs while paused not supported by SocketSubscriber yet","UNSUPPORTED_OPERATION",{operation:"pause(false)"}),me(this,Y2,!!e)}resume(){me(this,Y2,null)}_handleMessage(e){if(oe(this,tg)!=null&&oe(this,Y2)===null){let t=oe(this,rg);t==null?t=this._emit(oe(this,I0),e):t=t.then(async()=>{await this._emit(oe(this,I0),e)}),me(this,rg,t.then(()=>{oe(this,rg)===t&&me(this,rg,null)}))}}async _emit(e,t){throw new Error("sub-classes must implemente this; _emit")}}I0=new WeakMap,r7=new WeakMap,tg=new WeakMap,Y2=new WeakMap,rg=new WeakMap;class RM extends C4{constructor(e){super(e,["newHeads"])}async _emit(e,t){e.emit("block",parseInt(t.number))}}class kM extends C4{constructor(e){super(e,["newPendingTransactions"])}async _emit(e,t){e.emit("pending",t)}}class MM extends C4{constructor(t,n){super(t,["logs",n]);Ne(this,n7,void 0);me(this,n7,JSON.stringify(n))}get logFilter(){return JSON.parse(oe(this,n7))}async _emit(t,n){t.emit(this.logFilter,t._wrapLog(n,t._network))}}n7=new WeakMap;class NM extends hA{constructor(t,n){const i=Object.assign({},n??{});xe(i.batchMaxCount==null||i.batchMaxCount===1,"sockets-based providers do not support batches","options.batchMaxCount",n),i.batchMaxCount=1,i.staticNetwork==null&&(i.staticNetwork=!0);super(t,i);Ne(this,Q2,void 0);Ne(this,b5,void 0);Ne(this,ng,void 0);me(this,Q2,new Map),me(this,b5,new Map),me(this,ng,new Map)}_getSubscriber(t){switch(t.type){case"close":return new nv("close");case"block":return new RM(this);case"pending":return new kM(this);case"event":return new MM(this,t.filter);case"orphan":if(t.filter.orphan==="drop-log")return new nv("drop-log")}return super._getSubscriber(t)}_register(t,n){oe(this,b5).set(t,n);const i=oe(this,ng).get(t);if(i){for(const s of i)n._handleMessage(s);oe(this,ng).delete(t)}}async _send(t){xe(!Array.isArray(t),"WebSocket does not support batch send","payload",t);const n=new Promise((i,s)=>{oe(this,Q2).set(t.id,{payload:t,resolve:i,reject:s})});return await this._waitUntilReady(),await this._write(JSON.stringify(t)),[await n]}async _processMessage(t){const n=JSON.parse(t);if(n&&typeof n=="object"&&"id"in n){const i=oe(this,Q2).get(n.id);if(i==null){this.emit("error",Wi("received result for unknown id","UNKNOWN_ERROR",{reasonCode:"UNKNOWN_ID",result:n}));return}oe(this,Q2).delete(n.id),i.resolve(n)}else if(n&&n.method==="eth_subscription"){const i=n.params.subscription,s=oe(this,b5).get(i);if(s)s._handleMessage(n.params.result);else{let o=oe(this,ng).get(i);o==null&&(o=[],oe(this,ng).set(i,o)),o.push(n.params.result)}}else{this.emit("error",Wi("received unexpected message","UNKNOWN_ERROR",{reasonCode:"UNEXPECTED_MESSAGE",result:n}));return}}async _write(t){throw new Error("sub-classes must override this")}}Q2=new WeakMap,b5=new WeakMap,ng=new WeakMap;class S4 extends NM{constructor(t,n,i){super(n,i);Ne(this,X2,void 0);Ne(this,mh,void 0);typeof t=="string"?(me(this,X2,()=>new q5e(t)),me(this,mh,oe(this,X2).call(this))):typeof t=="function"?(me(this,X2,t),me(this,mh,t())):(me(this,X2,null),me(this,mh,t)),this.websocket.onopen=async()=>{try{await this._start(),this.resume()}catch(s){console.log("failed to start WebsocketProvider",s)}},this.websocket.onmessage=s=>{this._processMessage(s.data)}}get websocket(){if(oe(this,mh)==null)throw new Error("websocket closed");return oe(this,mh)}async _write(t){this.websocket.send(t)}async destroy(){oe(this,mh)!=null&&(oe(this,mh).close(),me(this,mh,null)),super.destroy()}}X2=new WeakMap,mh=new WeakMap;const I4="84842078b09946638c03157f83405213";function W5e(r){switch(r){case"mainnet":return"mainnet.infura.io";case"goerli":return"goerli.infura.io";case"sepolia":return"sepolia.infura.io";case"arbitrum":return"arbitrum-mainnet.infura.io";case"arbitrum-goerli":return"arbitrum-goerli.infura.io";case"arbitrum-sepolia":return"arbitrum-sepolia.infura.io";case"base":return"base-mainnet.infura.io";case"base-goerlia":return"base-goerli.infura.io";case"base-sepolia":return"base-sepolia.infura.io";case"bnb":return"bnbsmartchain-mainnet.infura.io";case"bnbt":return"bnbsmartchain-testnet.infura.io";case"linea":return"linea-mainnet.infura.io";case"linea-goerli":return"linea-goerli.infura.io";case"matic":return"polygon-mainnet.infura.io";case"matic-mumbai":return"polygon-mumbai.infura.io";case"optimism":return"optimism-mainnet.infura.io";case"optimism-goerli":return"optimism-goerli.infura.io";case"optimism-sepolia":return"optimism-sepolia.infura.io"}xe(!1,"unsupported network","network",r)}class PM extends S4{constructor(t,n){const i=new Pp(t,n),s=i._getConnection();Ue(!s.credentials,"INFURA WebSocket project secrets unsupported","UNSUPPORTED_OPERATION",{operation:"InfuraProvider.getWebSocketProvider()"});const o=s.url.replace(/^http/i,"ws").replace("/v3/","/ws/v3/");super(o,t);Ee(this,"projectId");Ee(this,"projectSecret");er(this,{projectId:i.projectId,projectSecret:i.projectSecret})}isCommunityResource(){return this.projectId===I4}}class Pp extends $l{constructor(t,n,i){t==null&&(t="mainnet");const s=ws.from(t);n==null&&(n=I4),i==null&&(i=null);const o=Pp.getRequest(s,n,i);super(o,s,{staticNetwork:s});Ee(this,"projectId");Ee(this,"projectSecret");er(this,{projectId:n,projectSecret:i})}_getProvider(t){try{return new Pp(t,this.projectId,this.projectSecret)}catch{}return super._getProvider(t)}isCommunityResource(){return this.projectId===I4}static getWebSocketProvider(t,n){return new PM(t,n)}static getRequest(t,n,i){n==null&&(n=I4),i==null&&(i=null);const s=new Do(`https://${W5e(t.name)}/v3/${n}`);return s.allowGzip=!0,i&&s.setCredentials("",i),n===I4&&(s.retryFunc=async(o,a,l)=>(Np("InfuraProvider"),!0)),s}}const gA="919b412a057b5e9c9b6dce193c5a60242d6efadb";function V5e(r){switch(r){case"mainnet":return"ethers.quiknode.pro";case"goerli":return"ethers.ethereum-goerli.quiknode.pro";case"sepolia":return"ethers.ethereum-sepolia.quiknode.pro";case"holesky":return"ethers.ethereum-holesky.quiknode.pro";case"arbitrum":return"ethers.arbitrum-mainnet.quiknode.pro";case"arbitrum-goerli":return"ethers.arbitrum-goerli.quiknode.pro";case"arbitrum-sepolia":return"ethers.arbitrum-sepolia.quiknode.pro";case"base":return"ethers.base-mainnet.quiknode.pro";case"base-goerli":return"ethers.base-goerli.quiknode.pro";case"base-spolia":return"ethers.base-sepolia.quiknode.pro";case"bnb":return"ethers.bsc.quiknode.pro";case"bnbt":return"ethers.bsc-testnet.quiknode.pro";case"matic":return"ethers.matic.quiknode.pro";case"matic-mumbai":return"ethers.matic-testnet.quiknode.pro";case"optimism":return"ethers.optimism.quiknode.pro";case"optimism-goerli":return"ethers.optimism-goerli.quiknode.pro";case"optimism-sepolia":return"ethers.optimism-sepolia.quiknode.pro";case"xdai":return"ethers.xdai.quiknode.pro"}xe(!1,"unsupported network","network",r)}class uv extends $l{constructor(t,n){t==null&&(t="mainnet");const i=ws.from(t);n==null&&(n=gA);const s=uv.getRequest(i,n);super(s,i,{staticNetwork:i});Ee(this,"token");er(this,{token:n})}_getProvider(t){try{return new uv(t,this.token)}catch{}return super._getProvider(t)}isCommunityResource(){return this.token===gA}static getRequest(t,n){n==null&&(n=gA);const i=new Do(`https://${V5e(t.name)}/${n}`);return i.allowGzip=!0,n===gA&&(i.retryFunc=async(s,o,a)=>(Np("QuickNodeProvider"),!0)),i}}const G5e=BigInt("1"),K5e=BigInt("2");function Z5e(r){for(let e=r.length-1;e>0;e--){const t=Math.floor(Math.random()*(e+1)),n=r[e];r[e]=r[t],r[t]=n}}function J5e(r){return new Promise(e=>{setTimeout(e,r)})}function OM(){return new Date().getTime()}function DM(r){return JSON.stringify(r,(e,t)=>typeof t=="bigint"?{type:"bigint",value:t.toString()}:t)}const mX={stallTimeout:400,priority:1,weight:1},bX={blockNumber:-2,requests:0,lateResponses:0,errorResponses:0,outOfSync:-1,unsupportedEvents:0,rollingDuration:0,score:0,_network:null,_updateNumber:null,_totalTime:0,_lastFatalError:null,_lastFatalErrorTimestamp:0};async function Y5e(r,e){for(;(r.blockNumber<0||r.blockNumber{try{const t=await r.provider.getBlockNumber();t>r.blockNumber&&(r.blockNumber=t)}catch(t){r.blockNumber=-2,r._lastFatalError=t,r._lastFatalErrorTimestamp=OM()}r._updateNumber=null})()),await r._updateNumber,r.outOfSync++,!r._lastFatalError););}function T4(r){if(r==null)return"null";if(Array.isArray(r))return"["+r.map(T4).join(",")+"]";if(typeof r=="object"&&typeof r.toJSON=="function")return T4(r.toJSON());switch(typeof r){case"boolean":case"symbol":return r.toString();case"bigint":case"number":return BigInt(r).toString();case"string":return JSON.stringify(r);case"object":{const e=Object.keys(r);return e.sort(),"{"+e.map(t=>`${JSON.stringify(t)}:${T4(r[t])}`).join(",")+"}"}}throw console.log("Could not serialize",r),new Error("Hmm...")}function $M(r){if("error"in r){const t=r.error;return{tag:T4(t),value:t}}const e=r.result;return{tag:T4(e),value:e}}function mA(r,e){const t=new Map;for(const{value:i,tag:s,weight:o}of e){const a=t.get(s)||{value:i,weight:0};a.weight+=o,t.set(s,a)}let n=null;for(const i of t.values())i.weight>=r&&(!n||i.weight>n.weight)&&(n=i);if(n)return n.value}function BM(r,e){let t=0;const n=new Map;let i=null;const s=[];for(const{value:a,tag:l,weight:u}of e)if(a instanceof Error){const h=n.get(l)||{value:a,weight:0};h.weight+=u,n.set(l,h),(i==null||h.weight>i.weight)&&(i=h)}else s.push(BigInt(a)),t+=u;if(t=r?i.value:void 0;s.sort((a,l)=>aa?1:0);const o=Math.floor(s.length/2);return s.length%2?s[o]:(s[o-1]+s[o]+G5e)/K5e}function LM(r,e){const t=mA(r,e);if(t!==void 0)return t;for(const n of e)if(n.value)return n.value}function Q5e(r,e){if(r===1)return Ir(BM(r,e),"%internal");const t=new Map,n=(o,a)=>{const l=t.get(o)||{result:o,weight:0};l.weight+=a,t.set(o,l)};for(const{weight:o,value:a}of e){const l=Ir(a);n(l-1,o),n(l,o),n(l+1,o)}let i=0,s;for(const{weight:o,result:a}of t.values())o>=r&&(o>i||s!=null&&o===i&&a>s)&&(i=o,s=a);return s}class UM extends iv{constructor(t,n,i){super(n,i);Ne(this,nR);Ne(this,i7);Ne(this,iR);Ne(this,sR);Ne(this,s7);Ee(this,"quorum");Ee(this,"eventQuorum");Ee(this,"eventWorkers");Ne(this,Ic,void 0);Ne(this,T0,void 0);Ne(this,w5,void 0);me(this,Ic,t.map(s=>s instanceof iv?Object.assign({provider:s},mX,bX):Object.assign({},mX,s,bX))),me(this,T0,-2),me(this,w5,null),i&&i.quorum!=null?this.quorum=i.quorum:this.quorum=Math.ceil(oe(this,Ic).reduce((s,o)=>(s+=o.weight,s),0)/2),this.eventQuorum=1,this.eventWorkers=1,xe(this.quorum<=oe(this,Ic).reduce((s,o)=>s+o.weight,0),"quorum exceed provider wieght","quorum",this.quorum)}get providerConfigs(){return oe(this,Ic).map(t=>{const n=Object.assign({},t);for(const i in n)i[0]==="_"&&delete n[i];return n})}async _detectNetwork(){return ws.from(cr(await this._perform({method:"chainId"})))}async _translatePerform(t,n){switch(n.method){case"broadcastTransaction":return await t.broadcastTransaction(n.signedTransaction);case"call":return await t.call(Object.assign({},n.transaction,{blockTag:n.blockTag}));case"chainId":return(await t.getNetwork()).chainId;case"estimateGas":return await t.estimateGas(n.transaction);case"getBalance":return await t.getBalance(n.address,n.blockTag);case"getBlock":{const i="blockHash"in n?n.blockHash:n.blockTag;return await t.getBlock(i,n.includeTransactions)}case"getBlockNumber":return await t.getBlockNumber();case"getCode":return await t.getCode(n.address,n.blockTag);case"getGasPrice":return(await t.getFeeData()).gasPrice;case"getPriorityFee":return(await t.getFeeData()).maxPriorityFeePerGas;case"getLogs":return await t.getLogs(n.filter);case"getStorage":return await t.getStorage(n.address,n.position,n.blockTag);case"getTransaction":return await t.getTransaction(n.hash);case"getTransactionCount":return await t.getTransactionCount(n.address,n.blockTag);case"getTransactionReceipt":return await t.getTransactionReceipt(n.hash);case"getTransactionResult":return await t.getTransactionResult(n.hash)}}async _perform(t){if(t.method==="broadcastTransaction"){const o=oe(this,Ic).map(u=>null),a=oe(this,Ic).map(async({provider:u,weight:h},p)=>{try{const g=await u._perform(t);o[p]=Object.assign($M({result:g}),{weight:h})}catch(g){o[p]=Object.assign($M({error:g}),{weight:h})}});for(;;){const u=o.filter(g=>g!=null);for(const{value:g}of u)if(!(g instanceof Error))return g;const h=mA(this.quorum,o.filter(g=>g!=null));if($s(h,"INSUFFICIENT_FUNDS"))throw h;const p=a.filter((g,w)=>o[w]==null);if(p.length===0)break;await Promise.race(p)}const l=LM(this.quorum,o);if(Ue(l!==void 0,"problem multi-broadcasting","SERVER_ERROR",{request:"%sub-requests",info:{request:t,results:o.map(DM)}}),l instanceof Error)throw l;return l}await rt(this,iR,Age).call(this);const n=new Set;let i=0;for(;;){const o=rt(this,i7,iK).call(this,n,t);if(o==null||(i+=o.config.weight,i>=this.quorum))break}const s=await rt(this,s7,sK).call(this,n,t);for(const o of n)o.perform&&o.result==null&&o.config.lateResponses++;return s}async destroy(){for(const{provider:t}of oe(this,Ic))t.destroy();super.destroy()}}Ic=new WeakMap,T0=new WeakMap,w5=new WeakMap,nR=new WeakSet,Ege=function(t){const n=Array.from(t).map(s=>s.config),i=oe(this,Ic).slice();Z5e(i),i.sort((s,o)=>s.priority-o.priority);for(const s of i)if(!s._lastFatalError&&n.indexOf(s)===-1)return s;return null},i7=new WeakSet,iK=function(t,n){const i=rt(this,nR,Ege).call(this,t);if(i==null)return null;const s={config:i,result:null,didBump:!1,perform:null,staller:null},o=OM();return s.perform=(async()=>{try{i.requests++;const l=await this._translatePerform(i.provider,n);s.result={result:l}}catch(l){i.errorResponses++,s.result={error:l}}const a=OM()-o;i._totalTime+=a,i.rollingDuration=.95*i.rollingDuration+.05*a,s.perform=null})(),s.staller=(async()=>{await J5e(i.stallTimeout),s.staller=null})(),t.add(s),s},iR=new WeakSet,Age=async function(){let t=oe(this,w5);if(!t){const n=[];oe(this,Ic).forEach(i=>{n.push((async()=>{await Y5e(i,0),i._lastFatalError||(i._network=await i.provider.getNetwork())})())}),me(this,w5,t=(async()=>{await Promise.all(n);let i=null;for(const s of oe(this,Ic)){if(s._lastFatalError)continue;const o=s._network;i==null?i=o.chainId:o.chainId!==i&&Ue(!1,"cannot mix providers on different networks","UNSUPPORTED_OPERATION",{operation:"new FallbackProvider"})}})())}await t},sR=new WeakSet,Cge=async function(t,n){const i=[];for(const s of t)if(s.result!=null){const{tag:o,value:a}=$M(s.result);i.push({tag:o,value:a,weight:s.config.weight})}if(!(i.reduce((s,o)=>s+o.weight,0)!o._lastFatalError).map(o=>({value:o.blockNumber,tag:Ir(o.blockNumber).toString(),weight:o.weight}))))));const s=Q5e(this.quorum,i);return s===void 0?void 0:(s>oe(this,T0)&&me(this,T0,s),oe(this,T0))}case"getGasPrice":case"getPriorityFee":case"estimateGas":return BM(this.quorum,i);case"getBlock":return"blockTag"in n&&n.blockTag==="pending"?LM(this.quorum,i):mA(this.quorum,i);case"call":case"chainId":case"getBalance":case"getTransactionCount":case"getCode":case"getStorage":case"getTransaction":case"getTransactionReceipt":case"getLogs":return mA(this.quorum,i);case"broadcastTransaction":return LM(this.quorum,i)}Ue(!1,"unsupported method","UNSUPPORTED_OPERATION",{operation:`_perform(${DM(n.method)})`})}},s7=new WeakSet,sK=async function(t,n){if(t.size===0)throw new Error("no runners?!");const i=[];let s=0;for(const a of t){if(a.perform&&i.push(a.perform),a.staller){i.push(a.staller);continue}a.didBump||(a.didBump=!0,s++)}const o=await rt(this,sR,Cge).call(this,t,n);if(o!==void 0){if(o instanceof Error)throw o;return o}for(let a=0;a0,"quorum not met","SERVER_ERROR",{request:"%sub-requests",info:{request:n,results:Array.from(t).map(a=>DM(a.result))}}),await Promise.race(i),await rt(this,s7,sK).call(this,t,n)};function X5e(r){return r&&typeof r.send=="function"&&typeof r.close=="function"}const e4e="goerli kovan sepolia classicKotti optimism-goerli arbitrum-goerli matic-mumbai bnbt".split(" ");function wX(r,e){e==null&&(e={});const t=o=>e[o]==="-"?!1:typeof e.exclusive=="string"?o===e.exclusive:Array.isArray(e.exclusive)?e.exclusive.indexOf(o)!==-1:!0;if(typeof r=="string"&&r.match(/^https?:/))return new $l(r);if(typeof r=="string"&&r.match(/^wss?:/)||X5e(r))return new S4(r);let n=null;try{n=ws.from(r)}catch{}const i=[];if(t("publicPolygon")&&n&&n.name==="matic"&&i.push(new $l("https://polygon-rpc.com/",n,{staticNetwork:n})),t("alchemy"))try{i.push(new lv(r,e.alchemy))}catch{}if(t("ankr")&&e.ankr!=null)try{i.push(new cv(r,e.ankr))}catch{}if(t("cloudflare"))try{i.push(new IM(r))}catch{}if(t("etherscan"))try{i.push(new TM(r,e.etherscan))}catch{}if(t("infura"))try{let o=e.infura,a;typeof o=="object"&&(a=o.projectSecret,o=o.projectId),i.push(new Pp(r,o,a))}catch{}if(t("quicknode"))try{let o=e.quicknode;i.push(new uv(r,o))}catch{}if(Ue(i.length,"unsupported default network","UNSUPPORTED_OPERATION",{operation:"getDefaultProvider"}),i.length===1)return i[0];let s=Math.floor(i.length/2);return s>2&&(s=2),n&&e4e.indexOf(n.name)!==-1&&(s=1),e&&e.quorum&&(s=e.quorum),new UM(i,void 0,{quorum:s})}const hj=class extends ov{constructor(t){super(t.provider);Ee(this,"signer");Ne(this,ig,void 0);Ne(this,eb,void 0);er(this,{signer:t}),me(this,ig,null),me(this,eb,0)}async getAddress(){return this.signer.getAddress()}connect(t){return new hj(this.signer.connect(t))}async getNonce(t){if(t==="pending"){oe(this,ig)==null&&me(this,ig,super.getNonce("pending"));const n=oe(this,eb);return await oe(this,ig)+n}return super.getNonce(t)}increment(){S5(this,eb)._++}reset(){me(this,eb,0),me(this,ig,null)}async sendTransaction(t){const n=this.getNonce("pending");return this.increment(),t=await this.signer.populateTransaction(t),t.nonce=await n,await this.signer.sendTransaction(t)}signTransaction(t){return this.signer.signTransaction(t)}signMessage(t){return this.signer.signMessage(t)}signTypedData(t,n,i){return this.signer.signTypedData(t,n,i)}};let bA=hj;ig=new WeakMap,eb=new WeakMap;class wA extends dX{constructor(t,n){xe(t&&t.request,"invalid EIP-1193 provider","ethereum",t);super(n,{batchMaxCount:1});Ne(this,v5,void 0);me(this,v5,async(i,s)=>{const o={method:i,params:s};this.emit("debug",{action:"sendEip1193Request",payload:o});try{const a=await t.request(o);return this.emit("debug",{action:"receiveEip1193Result",result:a}),a}catch(a){const l=new Error(a.message);throw l.code=a.code,l.data=a.data,l.payload=o,this.emit("debug",{action:"receiveEip1193Error",error:l}),l}})}async send(t,n){return await this._start(),await super.send(t,n)}async _send(t){xe(!Array.isArray(t),"EIP-1193 does not support batch request","payload",t);try{const n=await oe(this,v5).call(this,t.method,t.params||[]);return[{id:t.id,result:n}]}catch(n){return[{id:t.id,error:{code:n.code,data:n.data,message:n.message}}]}}getRpcError(t,n){switch(n=JSON.parse(JSON.stringify(n)),n.error.code||-1){case 4001:n.error.message=`ethers-user-denied: ${n.error.message}`;break;case 4200:n.error.message=`ethers-unsupported: ${n.error.message}`;break}return super.getRpcError(t,n)}async hasSigner(t){t==null&&(t=0);const n=await this.send("eth_accounts",[]);return typeof t=="number"?n.length>t:(t=t.toLowerCase(),n.filter(i=>i.toLowerCase()===t).length!==0)}async getSigner(t){if(t==null&&(t=0),!await this.hasSigner(t))try{await oe(this,v5).call(this,"eth_requestAccounts",[])}catch(n){const i=n.payload;throw this.getRpcError(i,{id:i.id,error:n})}return await super.getSigner(t)}}v5=new WeakMap;const vA="62e1ad51b37b8e00394bda3b";function t4e(r){switch(r){case"mainnet":return"eth-mainnet.gateway.pokt.network";case"goerli":return"eth-goerli.gateway.pokt.network";case"matic":return"poly-mainnet.gateway.pokt.network";case"matic-mumbai":return"polygon-mumbai-rpc.gateway.pokt.network"}xe(!1,"unsupported network","network",r)}class R4 extends $l{constructor(t,n,i){t==null&&(t="mainnet");const s=ws.from(t);n==null&&(n=vA),i==null&&(i=null);const o={staticNetwork:s},a=R4.getRequest(s,n,i);super(a,s,o);Ee(this,"applicationId");Ee(this,"applicationSecret");er(this,{applicationId:n,applicationSecret:i})}_getProvider(t){try{return new R4(t,this.applicationId,this.applicationSecret)}catch{}return super._getProvider(t)}static getRequest(t,n,i){n==null&&(n=vA);const s=new Do(`https://${t4e(t.name)}/v1/lb/${n}`);return s.allowGzip=!0,i&&s.setCredentials("",i),n===vA&&(s.retryFunc=async(o,a,l)=>(Np("PocketProvider"),!0)),s}isCommunityResource(){return this.applicationId===vA}}const vX=void 0,fj=class extends ov{constructor(t,n){super(n);Ee(this,"address");Ne(this,y5,void 0);xe(t&&typeof t.sign=="function","invalid private key","privateKey","[ REDACTED ]"),me(this,y5,t);const i=Ag(this.signingKey.publicKey);er(this,{address:i})}get signingKey(){return oe(this,y5)}get privateKey(){return this.signingKey.privateKey}async getAddress(){return this.address}connect(t){return new fj(oe(this,y5),t)}async signTransaction(t){const{to:n,from:i}=await qs({to:t.to?Gs(t.to,this.provider):void 0,from:t.from?Gs(t.from,this.provider):void 0});n!=null&&(t.to=n),i!=null&&(t.from=i),t.from!=null&&(xe(zr(t.from)===this.address,"transaction from address mismatch","tx.from",t.from),delete t.from);const s=Pc.from(t);return s.signature=this.signingKey.sign(s.unsignedHash),s.serialized}async signMessage(t){return this.signMessageSync(t)}signMessageSync(t){return this.signingKey.sign(KE(t)).serialized}async signTypedData(t,n,i){const s=await xd.resolveNames(t,n,i,async o=>{Ue(this.provider!=null,"cannot resolve ENS names without a provider","UNSUPPORTED_OPERATION",{operation:"resolveName",info:{name:o}});const a=await this.provider.resolveName(o);return Ue(a!=null,"unconfigured ENS name","UNCONFIGURED_NAME",{value:o}),a});return this.signingKey.sign(xd.hash(s.domain,n,s.value)).serialized}};let hv=fj;y5=new WeakMap;const yA=" !#$%&'()*+,-./<=>?@[]^_`{|}~",r4e=/^[a-z]*$/i;function yX(r,e){let t=97;return r.reduce((n,i)=>(i===e?t++:i.match(r4e)?n.push(String.fromCharCode(t)+i):(t=97,n.push(i)),n),[])}function n4e(r,e){for(let i=yA.length-1;i>=0;i--)r=r.split(yA[i]).join(e.substring(2*i,2*i+2));const t=[],n=r.replace(/(:|([0-9])|([A-Z][a-z]*))/g,(i,s,o,a)=>{if(o)for(let l=parseInt(o);l>=0;l--)t.push(";");else t.push(s.toLowerCase());return""});if(n)throw new Error(`leftovers: ${JSON.stringify(n)}`);return yX(yX(t,";"),":")}function xX(r){return xe(r[0]==="0","unsupported auwl data","data",r),n4e(r.substring(1+2*yA.length),r.substring(1,1+2*yA.length))}class FM{constructor(e){Ee(this,"locale");er(this,{locale:e})}split(e){return e.toLowerCase().split(/\s+/g)}join(e){return e.join(" ")}}class xA extends FM{constructor(t,n,i){super(t);Ne(this,a7);Ne(this,x5,void 0);Ne(this,o7,void 0);Ne(this,tb,void 0);me(this,x5,n),me(this,o7,i),me(this,tb,null)}get _data(){return oe(this,x5)}_decodeWords(){return xX(oe(this,x5))}getWord(t){const n=rt(this,a7,oK).call(this);return xe(t>=0&&t=12&&t.length<=24,"invalid mnemonic length","mnemonic","[ REDACTED ]");const n=new Uint8Array(Math.ceil(11*t.length/8));let i=0;for(let u=0;u=0,`invalid mnemonic word at index ${u}`,"mnemonic","[ REDACTED ]");for(let p=0;p<11;p++)h&1<<10-p&&(n[i>>3]|=1<<7-i%8),i++}const s=32*t.length/3,o=t.length/3,a=IX(o),l=Dt(Sa(n.slice(0,s/8)))[0]&a;return xe(l===(n[n.length-1]&a),"invalid mnemonic checksum","mnemonic","[ REDACTED ]"),St(n.slice(0,s/8))}function DM(r,e){xe(r.length%4===0&&r.length>=16&&r.length<=32,"invalid entropy size","entropy","[ REDACTED ]"),e==null&&(e=Hh.wordlist());const t=[0];let n=11;for(let o=0;o8?(t[t.length-1]<<=8,t[t.length-1]|=r[o],n-=8):(t[t.length-1]<<=n,t[t.length-1]|=r[o]>>8-n,t.push(r[o]&g4e(8-n)),n+=3);const i=r.length/4,s=parseInt(Sa(r).substring(2,4),16)&IX(i);return t[t.length-1]<<=i,t[t.length-1]|=s>>8-i,e.join(t.map(o=>e.getWord(o)))}const $M={};class Lp{constructor(e,t,n,i,s){Ee(this,"phrase");Ee(this,"password");Ee(this,"wordlist");Ee(this,"entropy");i==null&&(i=""),s==null&&(s=Hh.wordlist()),Uh(e,$M,"Mnemonic"),er(this,{phrase:n,password:i,wordlist:s,entropy:t})}computeSeed(){const e=Ds("mnemonic"+this.password,"NFKD");return ku(Ds(this.phrase,"NFKD"),e,2048,64,"sha512")}static fromPhrase(e,t,n){const i=OM(e,n);return e=DM(Dt(i),n),new Lp($M,i,e,t,n)}static fromEntropy(e,t,n){const i=Dt(e,"entropy"),s=DM(i,n);return new Lp($M,St(i),s,t,n)}static entropyToPhrase(e,t){const n=Dt(e,"entropy");return DM(n,t)}static phraseToEntropy(e,t){return OM(e,t)}static isValidMnemonic(e,t){try{return OM(e,t),!0}catch{}return!1}}/*! MIT License. Copyright 2015-2022 Richard Moore . See LICENSE.txt. */var Do=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},BM=function(r,e,t,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!i:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,t):i?i.value=t:e.set(r,t),t},yA,Dl,qh;const m4e={16:10,24:12,32:14},b4e=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],$l=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],xA=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],w4e=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],v4e=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],y4e=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],x4e=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],_4e=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],E4e=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],A4e=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],C4e=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],S4e=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],I4e=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],R4e=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],T4e=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function LM(r){const e=[];for(let t=0;t>2,Do(this,qh,"f")[o][h%4]=s[h],Do(this,Dl,"f")[t-o][h%4]=s[h];let a=0,l=i,u;for(;l>16&255]<<24^$l[u>>8&255]<<16^$l[u&255]<<8^$l[u>>24&255]^b4e[a]<<24,a+=1,i!=8)for(let w=1;w>8&255]<<8^$l[u>>16&255]<<16^$l[u>>24&255]<<24;for(let w=i/2+1;w>2,g=l%4,Do(this,qh,"f")[p][g]=s[h],Do(this,Dl,"f")[t-p][g]=s[h++],l++}for(let h=1;h>24&255]^I4e[u>>16&255]^R4e[u>>8&255]^T4e[u&255]}encrypt(e){if(e.length!=16)throw new TypeError("invalid plaintext size (must be 16 bytes)");const t=Do(this,qh,"f").length-1,n=[0,0,0,0];let i=LM(e);for(let a=0;a<4;a++)i[a]^=Do(this,qh,"f")[0][a];for(let a=1;a>24&255]^v4e[i[(l+1)%4]>>16&255]^y4e[i[(l+2)%4]>>8&255]^x4e[i[(l+3)%4]&255]^Do(this,qh,"f")[a][l];i=n.slice()}const s=new Uint8Array(16);let o=0;for(let a=0;a<4;a++)o=Do(this,qh,"f")[t][a],s[4*a]=($l[i[a]>>24&255]^o>>24)&255,s[4*a+1]=($l[i[(a+1)%4]>>16&255]^o>>16)&255,s[4*a+2]=($l[i[(a+2)%4]>>8&255]^o>>8)&255,s[4*a+3]=($l[i[(a+3)%4]&255]^o)&255;return s}decrypt(e){if(e.length!=16)throw new TypeError("invalid ciphertext size (must be 16 bytes)");const t=Do(this,Dl,"f").length-1,n=[0,0,0,0];let i=LM(e);for(let a=0;a<4;a++)i[a]^=Do(this,Dl,"f")[0][a];for(let a=1;a>24&255]^E4e[i[(l+3)%4]>>16&255]^A4e[i[(l+2)%4]>>8&255]^C4e[i[(l+1)%4]&255]^Do(this,Dl,"f")[a][l];i=n.slice()}const s=new Uint8Array(16);let o=0;for(let a=0;a<4;a++)o=Do(this,Dl,"f")[t][a],s[4*a]=(xA[i[a]>>24&255]^o>>24)&255,s[4*a+1]=(xA[i[(a+3)%4]>>16&255]^o>>16)&255,s[4*a+2]=(xA[i[(a+2)%4]>>8&255]^o>>8)&255,s[4*a+3]=(xA[i[(a+1)%4]&255]^o)&255;return s}}yA=new WeakMap,Dl=new WeakMap,qh=new WeakMap;class RX{constructor(e,t,n){if(n&&!(this instanceof n))throw new Error(`${e} must be instantiated with "new"`);Object.defineProperties(this,{aes:{enumerable:!0,value:new UM(t)},name:{enumerable:!0,value:e}})}}var _A=function(r,e,t,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!i:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,t):i?i.value=t:e.set(r,t),t},gv=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},P4,Sd;class FM extends RX{constructor(e,t){if(super("ECC",e,FM),P4.set(this,void 0),Sd.set(this,void 0),t){if(t.length%16)throw new TypeError("invalid iv size (must be 16 bytes)");_A(this,P4,new Uint8Array(t),"f")}else _A(this,P4,new Uint8Array(16),"f");_A(this,Sd,this.iv,"f")}get iv(){return new Uint8Array(gv(this,P4,"f"))}encrypt(e){if(e.length%16)throw new TypeError("invalid plaintext size (must be multiple of 16 bytes)");const t=new Uint8Array(e.length);for(let n=0;nNumber.MAX_SAFE_INTEGER)throw new TypeError("invalid counter initial integer value");for(let t=15;t>=0;--t)Bl(this,Ll,"f")[t]=e%256,e=Math.floor(e/256)}setCounterBytes(e){if(e.length!==16)throw new TypeError("invalid counter initial Uint8Array value length");Bl(this,Ll,"f").set(e)}increment(){for(let e=15;e>=0;e--)if(Bl(this,Ll,"f")[e]===255)Bl(this,Ll,"f")[e]=0;else{Bl(this,Ll,"f")[e]++;break}}encrypt(e){var t,n;const i=new Uint8Array(e);for(let s=0;s16)throw new TypeError("PKCS#7 padding byte out of range");const t=r.length-e;for(let n=0;n0&&(n&n-1)===0,"invalid kdf.N","kdf.N",n),xe(i>0&&s>0,"invalid kdf","kdf",e);const o=bs(r,"crypto.kdfparams.dklen:int!");return xe(o===32,"invalid kdf.dklen","kdf.dflen",o),{name:"scrypt",salt:t,N:n,r:i,p:s,dkLen:64}}else if(e.toLowerCase()==="pbkdf2"){const t=bs(r,"crypto.kdfparams.salt:data!"),n=bs(r,"crypto.kdfparams.prf:string!"),i=n.split("-").pop();xe(i==="sha256"||i==="sha512","invalid kdf.pdf","kdf.pdf",n);const s=bs(r,"crypto.kdfparams.c:int!"),o=bs(r,"crypto.kdfparams.dklen:int!");return xe(o===32,"invalid kdf.dklen","kdf.dklen",o),{name:"pbkdf2",salt:t,count:s,dkLen:o,algorithm:i}}}xe(!1,"unsupported key-derivation function","kdf",e)}function jM(r,e){const t=JSON.parse(r),n=$4(e),i=MX(t);if(i.name==="pbkdf2"){const{salt:p,count:g,dkLen:w,algorithm:y}=i,C=ku(n,p,g,w,y);return AA(t,C)}Ue(i.name==="scrypt","cannot be reached","UNKNOWN_ERROR",{params:i});const{salt:s,N:o,r:a,p:l,dkLen:u}=i,h=md(n,s,o,a,l,u);return AA(t,h)}function NX(r){return new Promise(e=>{setTimeout(()=>{e()},r)})}async function zM(r,e,t){const n=JSON.parse(r),i=$4(e),s=MX(n);if(s.name==="pbkdf2"){t&&(t(0),await NX(0));const{salt:g,count:w,dkLen:y,algorithm:C}=s,R=ku(i,g,w,y,C);return t&&(t(1),await NX(0)),AA(n,R)}Ue(s.name==="scrypt","cannot be reached","UNKNOWN_ERROR",{params:s});const{salt:o,N:a,r:l,p:u,dkLen:h}=s,p=await gd(i,o,a,l,u,h,t);return AA(n,p)}function PX(r){const e=r.salt!=null?Dt(r.salt,"options.salt"):kc(32);let t=1<<17,n=8,i=1;return r.scrypt&&(r.scrypt.N&&(t=r.scrypt.N),r.scrypt.r&&(n=r.scrypt.r),r.scrypt.p&&(i=r.scrypt.p)),xe(typeof t=="number"&&t>0&&Number.isSafeInteger(t)&&(BigInt(t)&BigInt(t-1))===BigInt(0),"invalid scrypt N parameter","options.N",t),xe(typeof n=="number"&&n>0&&Number.isSafeInteger(n),"invalid scrypt r parameter","options.r",n),xe(typeof i=="number"&&i>0&&Number.isSafeInteger(i),"invalid scrypt p parameter","options.p",i),{name:"scrypt",dkLen:32,salt:e,N:t,r:n,p:i}}function OX(r,e,t,n){const i=Dt(t.privateKey,"privateKey"),s=n.iv!=null?Dt(n.iv,"options.iv"):kc(16);xe(s.length===16,"invalid options.iv length","options.iv",n.iv);const o=n.uuid!=null?Dt(n.uuid,"options.uuid"):kc(16);xe(o.length===16,"invalid options.uuid length","options.uuid",n.iv);const a=r.slice(0,16),l=r.slice(16,32),u=new bv(a,s),h=Dt(u.encrypt(i)),p=Nn(An([l,h])),g={address:t.address.substring(2).toLowerCase(),id:sk(o),version:3,Crypto:{cipher:"aes-128-ctr",cipherparams:{iv:St(s).substring(2)},ciphertext:St(h).substring(2),kdf:"scrypt",kdfparams:{salt:St(e.salt).substring(2),n:e.N,dklen:32,p:e.p,r:e.r},mac:p.substring(2)}};if(t.mnemonic){const w=n.client!=null?n.client:`ethers/${uE}`,y=t.mnemonic.path||kX,C=t.mnemonic.locale||"en",R=r.slice(32,64),k=Dt(t.mnemonic.entropy,"account.mnemonic.entropy"),M=kc(16),O=new bv(R,M),B=Dt(O.encrypt(k)),j=new Date,D="UTC--"+(j.getUTCFullYear()+"-"+D4(j.getUTCMonth()+1,2)+"-"+D4(j.getUTCDate(),2)+"T"+D4(j.getUTCHours(),2)+"-"+D4(j.getUTCMinutes(),2)+"-"+D4(j.getUTCSeconds(),2)+".0Z")+"--"+g.address;g["x-ethers"]={client:w,gethFilename:D,path:y,locale:C,mnemonicCounter:St(M).substring(2),mnemonicCiphertext:St(B).substring(2),version:"0.1"}}return JSON.stringify(g)}function CA(r,e,t){t==null&&(t={});const n=$4(e),i=PX(t),s=md(n,i.salt,i.N,i.r,i.p,64);return OX(Dt(s),i,r,t)}async function SA(r,e,t){t==null&&(t={});const n=$4(e),i=PX(t),s=await gd(n,i.salt,i.N,i.r,i.p,64,t.progressCallback);return OX(Dt(s),i,r,t)}const B4="m/44'/60'/0'/0/0",N4e=new Uint8Array([66,105,116,99,111,105,110,32,115,101,101,100]),Wh=2147483648,P4e=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),O4e="0123456789abcdef";function IA(r,e){let t="";for(;r;)t=O4e[r%16]+t,r=Math.trunc(r/16);for(;t.length=0;o-=8)i[33+(o>>3)]=r>>24-o&255;const s=Dt(dd("sha512",e,i));return{IL:s.slice(0,32),IR:s.slice(32)}}function $X(r,e){const t=e.split("/");xe(t.length>0,"invalid path","path",e),t[0]==="m"&&(xe(r.depth===0,`cannot derive root path (i.e. path starting with "m/") for a node at non-zero depth ${r.depth}`,"path",e),t.shift());let n=r;for(let i=0;i=16&&i.length<=64,"invalid seed","seed","[REDACTED]");const s=Dt(dd("sha512",N4e,i)),o=new Ml(St(s.slice(0,32)));return new mh(Vh,o,"0x00000000",St(s.slice(32)),"m",0,0,n,null)},Ne(mh,nb);let Dg=mh;class $g extends I4{constructor(t,n,i,s,o,a,l,u,h){super(n,h);Ee(this,"publicKey");Ee(this,"fingerprint");Ee(this,"parentFingerprint");Ee(this,"chainCode");Ee(this,"path");Ee(this,"index");Ee(this,"depth");Uh(t,Vh,"HDNodeVoidWallet"),er(this,{publicKey:i});const p=li(pd(Sa(i)),0,4);er(this,{publicKey:i,fingerprint:p,parentFingerprint:s,chainCode:o,path:a,index:l,depth:u})}connect(t){return new $g(Vh,this.address,this.publicKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,t)}get extendedKey(){return Ue(this.depth<256,"Depth too deep","UNSUPPORTED_OPERATION",{operation:"extendedKey"}),HM(An(["0x0488B21E",IA(this.depth,1),this.parentFingerprint,IA(this.index,4),this.chainCode,this.publicKey]))}hasPath(){return this.path!=null}deriveChild(t){const n=Ir(t,"index");xe(n<=4294967295,"invalid index","index",n);let i=this.path;i&&(i+="/"+(n&~Wh),n&Wh&&(i+="'"));const{IR:s,IL:o}=DX(n,this.chainCode,this.publicKey,null),a=Ml.addPoints(o,this.publicKey,!0),l=Cg(a);return new $g(Vh,l,a,this.fingerprint,St(s),i,n,this.depth+1,this.provider)}derivePath(t){return $X(this,t)}}function BX(r){const e=Ir(r,"index");return xe(e>=0&&e=0&&e{setTimeout(()=>{e()},r)})}let qM=(k0=class extends pv{constructor(e,t){typeof e=="string"&&!e.startsWith("0x")&&(e="0x"+e);let n=typeof e=="string"?new Ml(e):e;super(n,t)}connect(e){return new k0(this.signingKey,e)}async encrypt(e,t){const n={address:this.address,privateKey:this.privateKey};return await SA(n,e,{progressCallback:t})}encryptSync(e){const t={address:this.address,privateKey:this.privateKey};return CA(t,e)}static async fromEncryptedJson(e,t,n){var s;let i=null;return EA(e)?i=await zM(e,t,n):RA(e)&&(n&&(n(0),await UX(0)),i=TA(e,t),n&&(n(1),await UX(0))),rt(s=k0,l7,pK).call(s,i)}static fromEncryptedJsonSync(e,t){var i;let n=null;return EA(e)?n=jM(e,t):RA(e)?n=TA(e,t):xe(!1,"invalid JSON wallet","json","[ REDACTED ]"),rt(i=k0,l7,pK).call(i,n)}static createRandom(e){const t=Dg.createRandom();return e?t.connect(e):t}static fromPhrase(e,t){const n=Dg.fromPhrase(e);return t?n.connect(t):n}},l7=new WeakSet,pK=function(e){if(xe(e,"invalid JSON wallet","json","[ REDACTED ]"),"mnemonic"in e&&e.mnemonic&&e.mnemonic.locale==="en"){const n=Lp.fromEntropy(e.mnemonic.entropy),i=Dg.fromMnemonic(n,e.mnemonic.path);if(i.address===e.address&&i.privateKey===e.privateKey)return i;console.log("WARNING: JSON mismatch address/privateKey != mnemonic; fallback onto private key")}const t=new k0(e.privateKey);return xe(t.address===e.address,"address/privateKey mismatch","json","[ REDACTED ]"),t},Ne(k0,l7),k0);const D4e=")!@#$%^&*(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_";function $4e(r,e){const t=(1<=r;){const l=i>>s-r;i&=(1<{const i=n.match(/^([a-z]*)([0-9]+)([0-9])(.*)$/);xe(i!==null,"internal error parsing accents","accents",e);let s=0;const o=$4e(parseInt(i[3]),i[4]),a=parseInt(i[2]),l=new RegExp(`([${i[1]}])`,"g");t=t.replace(l,(u,h)=>(--o[s]===0&&(h=String.fromCharCode(h.charCodeAt(0),a),s++),h))}),t.split(",")}class FX extends vA{constructor(t,n,i,s){super(t,n,s);Ne(this,u7,void 0);me(this,u7,i)}get _accent(){return oe(this,u7)}_decodeWords(){return B4e(this._data,this._accent)}}u7=new WeakMap;const jX={en:Hh.wordlist()},L4e=Object.freeze(Object.defineProperty({__proto__:null,AbiCoder:Dp,AbstractProvider:av,AbstractSigner:lv,AlchemyProvider:fv,AnkrProvider:hv,BaseContract:Ng,BaseWallet:pv,Block:Xk,BrowserProvider:mA,CloudflareProvider:vM,ConstructorFragment:Pu,Contract:Ad,ContractEventPayload:tM,ContractFactory:C4,ContractTransactionReceipt:eM,ContractTransactionResponse:E4,ContractUnknownEventPayload:eA,EnsPlugin:sv,EnsResolver:rv,ErrorDescription:Qk,ErrorFragment:aa,EtherSymbol:yY,EtherscanPlugin:fA,EtherscanProvider:yM,EventFragment:Nl,EventLog:_4,EventPayload:wE,FallbackFragment:Ou,FallbackProvider:MM,FeeData:YE,FeeDataNetworkPlugin:sA,FetchCancelSignal:rk,FetchRequest:Oo,FetchResponse:Fh,FetchUrlFeeDataNetworkPlugin:cM,FixedNumber:Bw,Fragment:_d,FunctionFragment:Pl,GasCostPlugin:iv,HDNodeVoidWallet:$g,HDNodeWallet:Dg,Indexed:JE,InfuraProvider:Bp,InfuraWebSocketProvider:CM,Interface:Ig,IpcSocketProvider:AX,JsonRpcApiProvider:lA,JsonRpcProvider:Ol,JsonRpcSigner:Pg,LangEn:Hh,Log:Rg,LogDescription:Jk,MaxInt256:vY,MaxUint256:bY,MessagePrefix:Rk,MinInt256:wY,Mnemonic:Lp,MulticoinProviderPlugin:aM,N:gY,NamedFragment:ev,Network:ms,NetworkPlugin:Cd,NonceManager:gA,ParamType:Vs,PocketProvider:N4,QuickNodeProvider:dv,Result:Uw,Signature:Mc,SigningKey:Ml,SocketBlockSubscriber:xM,SocketEventSubscriber:EM,SocketPendingSubscriber:_M,SocketProvider:AM,SocketSubscriber:R4,StructFragment:Ed,Transaction:Xw,TransactionDescription:Yk,TransactionReceipt:QE,TransactionResponse:Tg,Typed:lo,TypedDataEncoder:vd,UndecodedEventLog:XE,UnmanagedSubscriber:ov,Utf8ErrorFuncs:ek,VoidSigner:I4,Wallet:qM,WebSocketProvider:T4,WeiPerEther:mY,Wordlist:NM,WordlistOwl:vA,WordlistOwlA:FX,ZeroAddress:_g,ZeroHash:PE,accessListify:zh,assert:Ue,assertArgument:xe,assertArgumentCount:hE,assertNormalize:fE,assertPrivate:Uh,checkResultErrors:eJ,computeAddress:Cg,computeHmac:dd,concat:An,copyRequest:tv,dataLength:cd,dataSlice:li,decodeBase58:YT,decodeBase64:QT,decodeBytes32String:WQ,decodeRlp:Lw,decryptCrowdsaleJson:TA,decryptKeystoreJson:zM,decryptKeystoreJsonSync:jM,defaultPath:B4,defineProperties:er,dnsEncode:zk,encodeBase58:bE,encodeBase64:XT,encodeBytes32String:qQ,encodeRlp:Rp,encryptKeystoreJson:SA,encryptKeystoreJsonSync:CA,ensNormalize:jk,ethers:Object.freeze(Object.defineProperty({__proto__:null,AbiCoder:Dp,AbstractProvider:av,AbstractSigner:lv,AlchemyProvider:fv,AnkrProvider:hv,BaseContract:Ng,BaseWallet:pv,Block:Xk,BrowserProvider:mA,CloudflareProvider:vM,ConstructorFragment:Pu,Contract:Ad,ContractEventPayload:tM,ContractFactory:C4,ContractTransactionReceipt:eM,ContractTransactionResponse:E4,ContractUnknownEventPayload:eA,EnsPlugin:sv,EnsResolver:rv,ErrorDescription:Qk,ErrorFragment:aa,EtherSymbol:yY,EtherscanPlugin:fA,EtherscanProvider:yM,EventFragment:Nl,EventLog:_4,EventPayload:wE,FallbackFragment:Ou,FallbackProvider:MM,FeeData:YE,FeeDataNetworkPlugin:sA,FetchCancelSignal:rk,FetchRequest:Oo,FetchResponse:Fh,FetchUrlFeeDataNetworkPlugin:cM,FixedNumber:Bw,Fragment:_d,FunctionFragment:Pl,GasCostPlugin:iv,HDNodeVoidWallet:$g,HDNodeWallet:Dg,Indexed:JE,InfuraProvider:Bp,InfuraWebSocketProvider:CM,Interface:Ig,IpcSocketProvider:AX,JsonRpcApiProvider:lA,JsonRpcProvider:Ol,JsonRpcSigner:Pg,LangEn:Hh,Log:Rg,LogDescription:Jk,MaxInt256:vY,MaxUint256:bY,MessagePrefix:Rk,MinInt256:wY,Mnemonic:Lp,MulticoinProviderPlugin:aM,N:gY,NamedFragment:ev,Network:ms,NetworkPlugin:Cd,NonceManager:gA,ParamType:Vs,PocketProvider:N4,QuickNodeProvider:dv,Result:Uw,Signature:Mc,SigningKey:Ml,SocketBlockSubscriber:xM,SocketEventSubscriber:EM,SocketPendingSubscriber:_M,SocketProvider:AM,SocketSubscriber:R4,StructFragment:Ed,Transaction:Xw,TransactionDescription:Yk,TransactionReceipt:QE,TransactionResponse:Tg,Typed:lo,TypedDataEncoder:vd,UndecodedEventLog:XE,UnmanagedSubscriber:ov,Utf8ErrorFuncs:ek,VoidSigner:I4,Wallet:qM,WebSocketProvider:T4,WeiPerEther:mY,Wordlist:NM,WordlistOwl:vA,WordlistOwlA:FX,ZeroAddress:_g,ZeroHash:PE,accessListify:zh,assert:Ue,assertArgument:xe,assertArgumentCount:hE,assertNormalize:fE,assertPrivate:Uh,checkResultErrors:eJ,computeAddress:Cg,computeHmac:dd,concat:An,copyRequest:tv,dataLength:cd,dataSlice:li,decodeBase58:YT,decodeBase64:QT,decodeBytes32String:WQ,decodeRlp:Lw,decryptCrowdsaleJson:TA,decryptKeystoreJson:zM,decryptKeystoreJsonSync:jM,defaultPath:B4,defineProperties:er,dnsEncode:zk,encodeBase58:bE,encodeBase64:XT,encodeBytes32String:qQ,encodeRlp:Rp,encryptKeystoreJson:SA,encryptKeystoreJsonSync:CA,ensNormalize:jk,formatEther:ik,formatUnits:xE,fromTwos:Nw,getAccountPath:BX,getAddress:jr,getBigInt:cr,getBytes:Dt,getBytesCopy:Hs,getCreate2Address:NY,getCreateAddress:DE,getDefaultProvider:EX,getIcapAddress:MY,getIndexedAccountPath:LX,getNumber:Ir,getUint:Pw,hashMessage:VE,hexlify:St,id:Nc,isAddress:PY,isAddressable:$E,isBytesLike:dE,isCallException:n4,isCrowdsaleJson:RA,isError:Os,isHexString:ci,isKeystoreJson:EA,isValidName:uQ,keccak256:Nn,lock:IY,makeError:Hi,mask:ld,namehash:b4,parseEther:XZ,parseUnits:_E,pbkdf2:ku,randomBytes:kc,recoverAddress:w4,resolveAddress:Ws,resolveProperties:zs,ripemd160:pd,scrypt:gd,scryptSync:md,sha256:Sa,sha512:qw,showThrottleMessage:$p,solidityPacked:GE,solidityPackedKeccak256:bQ,solidityPackedSha256:wQ,stripZerosLeft:OZ,toBeArray:qs,toBeHex:Ru,toBigInt:bg,toNumber:ZT,toQuantity:ud,toTwos:s4,toUtf8Bytes:Ds,toUtf8CodePoints:UZ,toUtf8String:hd,uuidV4:sk,verifyMessage:gQ,verifyTypedData:CQ,version:uE,wordlists:jX,zeroPadBytes:i4,zeroPadValue:Po},Symbol.toStringTag,{value:"Module"})),formatEther:ik,formatUnits:xE,fromTwos:Nw,getAccountPath:BX,getAddress:jr,getBigInt:cr,getBytes:Dt,getBytesCopy:Hs,getCreate2Address:NY,getCreateAddress:DE,getDefaultProvider:EX,getIcapAddress:MY,getIndexedAccountPath:LX,getNumber:Ir,getUint:Pw,hashMessage:VE,hexlify:St,id:Nc,isAddress:PY,isAddressable:$E,isBytesLike:dE,isCallException:n4,isCrowdsaleJson:RA,isError:Os,isHexString:ci,isKeystoreJson:EA,isValidName:uQ,keccak256:Nn,lock:IY,makeError:Hi,mask:ld,namehash:b4,parseEther:XZ,parseUnits:_E,pbkdf2:ku,randomBytes:kc,recoverAddress:w4,resolveAddress:Ws,resolveProperties:zs,ripemd160:pd,scrypt:gd,scryptSync:md,sha256:Sa,sha512:qw,showThrottleMessage:$p,solidityPacked:GE,solidityPackedKeccak256:bQ,solidityPackedSha256:wQ,stripZerosLeft:OZ,toBeArray:qs,toBeHex:Ru,toBigInt:bg,toNumber:ZT,toQuantity:ud,toTwos:s4,toUtf8Bytes:Ds,toUtf8CodePoints:UZ,toUtf8String:hd,uuidV4:sk,verifyMessage:gQ,verifyTypedData:CQ,version:uE,wordlists:jX,zeroPadBytes:i4,zeroPadValue:Po},Symbol.toStringTag,{value:"Module"}));class U4e{constructor(e){Ee(this,"network");Ee(this,"jsonRpcProvider");Ee(this,"webSocketProvider");this.network=e,this.jsonRpcProvider=new Ol(e.rpcUrl)}get jsonRpc(){return this.jsonRpcProvider}get webSocket(){return this.webSocketProvider}async connectWebSocket(){return await new Promise((e,t)=>{if(this.network.wsUrl===void 0)t(new Error(kr.WS_URL_NOT_DEFINED));else{const n=this.network.wsUrl;KT(n).then(i=>{i instanceof Error?t(i):e(this.webSocketProvider=new T4(n))}).catch(t)}})}contract(e,t,n){return new Ad(e,t,n)}wallet(e,t){return new qM(e,t??this.jsonRpc)}contractFactory(e,t,n){return new C4(e,t,n)}async getByteCode(e){try{return await this.jsonRpc.getCode(e)}catch(t){if(t.code==="UNCONFIGURED_NAME")return await MZ(1e3),await this.getByteCode(e);throw t}}async getEstimateGas(e){return Number(await this.jsonRpcProvider.estimateGas(e))}async getGasPrice(){return(await this.jsonRpc.send("eth_gasPrice",[])).toString()}async getNonce(e){return await this.jsonRpcProvider.getTransactionCount(e)}async getBlock(e,t){return await this.jsonRpcProvider.getBlock(e,t)}async getBlockNumber(){return await this.jsonRpcProvider.getBlockNumber()}async getTransaction(e){return await this.jsonRpcProvider.getTransaction(e)}async getTransactionReceipt(e){return await this.jsonRpcProvider.getTransactionReceipt(e)}async getLastTransactions(e,t=0){var h;const n=[],i=[],s=[],o=await this.getBlock("pending"),a=(o==null?void 0:o.number)??await this.getBlockNumber();for(let p=a;p>a-t;p--){const g=await this.getBlock(p,!0);g!==null&&i.push(g)}const l=await Promise.all(i);for(const p of l)for(const g of p.transactions)n.push(this.getTransaction(g));const u=await Promise.all(n);for(const p of u)((p==null?void 0:p.from.toLowerCase())===e.toLowerCase()||((h=p==null?void 0:p.to)==null?void 0:h.toLowerCase())===e.toLowerCase())&&s.push(p);return s}async getLastTransaction(e,t=0){var s;const n=await this.getBlock("pending"),i=(n==null?void 0:n.number)??await this.getBlockNumber();for(let o=i;o>i-t;o--){const a=await this.getBlock(o,!0);if(a!==null)for(const l of a.transactions){const u=await this.getTransaction(l);if((u==null?void 0:u.from.toLowerCase())===e.toLowerCase()||((s=u==null?void 0:u.to)==null?void 0:s.toLowerCase())===e.toLowerCase())return u}}return null}async getBalance(e){return await this.jsonRpcProvider.getBalance(e)}}const M0=class M0{constructor(e){Ee(this,"network");Ee(this,"ethers");this.update(e)}static get instance(){if(M0._instance===void 0)throw new Error(kr.PROVIDER_IS_NOT_INITIALIZED);return M0._instance}static initialize(e){if(M0._instance!==void 0)throw new Error(kr.PROVIDER_IS_ALREADY_INITIALIZED);M0._instance=new M0(e)}async checkRpcConnection(e){try{const t=await Ps.post(e??this.network.rpcUrl,{jsonrpc:"2.0",method:"eth_blockNumber",params:[],id:1});return t.status!==200?new Error(t.statusText+": "+JSON.stringify(t.data)):!0}catch(t){return t}}async checkWsConnection(e){try{const t=await KT(e??this.network.wsUrl??"");return t instanceof Error?t:!0}catch(t){return t}}update(e){this.network=e,M0._instance=this,this.ethers=new U4e(e)}isTestnet(){var e;return((e=this.network)==null?void 0:e.testnet)??!1}};Ee(M0,"_instance");let Id=M0;const WM=(r,e)=>{console.error("MultipleChain EVM Wallet Error:",r);const t=String(r.message??"");return t==="Not supported chainId"||t.includes("chain ID")||t.includes("networkConfigurationId")||t.includes("The Provider is not connected to the requested chain.")?e(new Error(kr.UNACCEPTED_CHAIN)):r.code===4001||r.error==="Rejected by user"||t==="cancelled"||t==="User canceled"||t==="user reject this request"||t==="User rejected the transaction"||t==="An unexpected error occurred"||t==="User disapproved requested chains"?e(new Error(kr.WALLET_REQUEST_REJECTED)):t.includes("User")||t.includes("Rejected")||t.includes("cancelled")||t.includes("canceled")||t.includes("rejected")||t.includes("disapproved requested chains")?e(new Error(kr.WALLET_REQUEST_REJECTED)):t.includes("Invalid RPC URL")?e(new Error(kr.RPC_REQUEST_ERROR)):r.code===-32e3||t.includes("timeout")||t.includes("request timed out")?e(new Error(kr.RPC_TIMEOUT)):r.code===-32603||r.code===-32602?e(new Error(kr.TRANSACTION_CREATION_FAILED)):r.code===-32601?e(new Error(kr.RPC_REQUEST_ERROR)):r.code===-32002||r.message==="Already processing eth_requestAccounts. Please wait."?e(new Error(kr.WALLET_ALREADY_PROCESSING)):r.message==="User closed modal"?e(new Error(kr.CLOSED_WALLETCONNECT_MODAL)):r.message==="transaction underpriced"?e(new Error(kr.TRANSACTION_CREATION_FAILED)):e(r)};class F4e{constructor(e,t){Ee(this,"adapter");Ee(this,"walletProvider");Ee(this,"networkProvider");this.adapter=e,this.networkProvider=t??Id.instance}async request(e){const t=await this.walletProvider.request(e);if((t==null?void 0:t.error)!==void 0){const n=t.error;throw n.code===-32e3?new Error(kr.RPC_TIMEOUT):new Error(n.message)}return t}getId(){return this.adapter.id}getName(){return this.adapter.name}getIcon(){return this.adapter.icon}getPlatforms(){return this.adapter.platforms}getDownloadLink(){return this.adapter.downloadLink}createDeepLink(e,t){return this.adapter.createDeepLink===void 0?null:this.adapter.createDeepLink(e,t)}async connect(e){return await new Promise((t,n)=>{this.adapter.connect(this.networkProvider,e).then(async i=>{this.walletProvider=i;const s=await this.getChainId();if(this.networkProvider.network.id!==s){n(kr.UNACCEPTED_CHAIN);return}t(await this.getAddress())}).catch(i=>{WM(i,o=>{o.message===kr.WALLET_REQUEST_REJECTED?n(new Error(kr.WALLET_CONNECT_REJECTED)):n(o)})})})}async isDetected(){return await this.adapter.isDetected()}async isConnected(){return await this.adapter.isConnected()}async getChainId(){const e=await this.request({method:"eth_chainId"});return typeof e=="number"?e:parseInt(e,16)}async getAddress(){return(await this.walletProvider.request({method:"eth_accounts"}))[0]}async signMessage(e){const t=await this.getAddress();return await new Promise((n,i)=>{this.walletProvider.request({method:"personal_sign",params:[e,t]}).then(s=>{n(s)}).catch(s=>{WM(s,i)})})}async sendTransaction(e){return await new Promise((t,n)=>{const i=e.getRawData();i.gas=HT(i.gasLimit),delete i.chainId,delete i.nonce,delete i.gasLimit,delete i.gasPrice,this.walletProvider.request({method:"eth_sendTransaction",params:[i]}).then(s=>{t(s)}).catch(s=>{WM(s,n)})})}on(e,t){var n,i;((i=(n=this.adapter)==null?void 0:n.provider)==null?void 0:i.on)!==void 0?this.adapter.provider.on(e,t):this.walletProvider.on(e,t)}}var j4e={id:42161,name:"Arbitrum One",network:"arbitrum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{alchemy:{http:["https://arb-mainnet.g.alchemy.com/v2"],webSocket:["wss://arb-mainnet.g.alchemy.com/v2"]},infura:{http:["https://arbitrum-mainnet.infura.io/v3"],webSocket:["wss://arbitrum-mainnet.infura.io/ws/v3"]},default:{http:["https://arb1.arbitrum.io/rpc"]},public:{http:["https://arb1.arbitrum.io/rpc"]}},blockExplorers:{etherscan:{name:"Arbiscan",url:"https://arbiscan.io"},default:{name:"Arbiscan",url:"https://arbiscan.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:7654707}}},z4e={id:421613,name:"Arbitrum Goerli",network:"arbitrum-goerli",nativeCurrency:{name:"Arbitrum Goerli Ether",symbol:"ETH",decimals:18},rpcUrls:{alchemy:{http:["https://arb-goerli.g.alchemy.com/v2"],webSocket:["wss://arb-goerli.g.alchemy.com/v2"]},infura:{http:["https://arbitrum-goerli.infura.io/v3"],webSocket:["wss://arbitrum-goerli.infura.io/ws/v3"]},default:{http:["https://goerli-rollup.arbitrum.io/rpc"]},public:{http:["https://goerli-rollup.arbitrum.io/rpc"]}},blockExplorers:{etherscan:{name:"Arbiscan",url:"https://goerli.arbiscan.io/"},default:{name:"Arbiscan",url:"https://goerli.arbiscan.io/"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:88114}},testnet:!0},H4e={id:42170,name:"Arbitrum Nova",network:"arbitrum-nova",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{blast:{http:["https://arbitrum-nova.public.blastapi.io"],webSocket:["wss://arbitrum-nova.public.blastapi.io"]},default:{http:["https://nova.arbitrum.io/rpc"]},public:{http:["https://nova.arbitrum.io/rpc"]}},blockExplorers:{etherscan:{name:"Arbiscan",url:"https://nova.arbiscan.io"},blockScout:{name:"BlockScout",url:"https://nova-explorer.arbitrum.io/"},default:{name:"Arbiscan",url:"https://nova.arbiscan.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:1746963}}},q4e={id:1313161554,name:"Aurora",network:"aurora",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{infura:{http:["https://aurora-mainnet.infura.io/v3"]},default:{http:["https://mainnet.aurora.dev"]},public:{http:["https://mainnet.aurora.dev"]}},blockExplorers:{etherscan:{name:"Aurorascan",url:"https://aurorascan.dev"},default:{name:"Aurorascan",url:"https://aurorascan.dev"}}},W4e={id:1313161555,name:"Aurora Testnet",network:"aurora-testnet",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{infura:{http:["https://aurora-testnet.infura.io/v3"]},default:{http:["https://testnet.aurora.dev"]},public:{http:["https://testnet.aurora.dev"]}},blockExplorers:{etherscan:{name:"Aurorascan",url:"https://testnet.aurorascan.dev"},default:{name:"Aurorascan",url:"https://testnet.aurorascan.dev"}},testnet:!0},V4e={id:43114,name:"Avalanche",network:"avalanche",nativeCurrency:{decimals:18,name:"Avalanche",symbol:"AVAX"},rpcUrls:{default:{http:["https://api.avax.network/ext/bc/C/rpc"]},public:{http:["https://api.avax.network/ext/bc/C/rpc"]}},blockExplorers:{etherscan:{name:"SnowTrace",url:"https://snowtrace.io"},default:{name:"SnowTrace",url:"https://snowtrace.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:11907934}}},G4e={id:43113,name:"Avalanche Fuji",network:"avalanche-fuji",nativeCurrency:{decimals:18,name:"Avalanche Fuji",symbol:"AVAX"},rpcUrls:{default:{http:["https://api.avax-test.network/ext/bc/C/rpc"]},public:{http:["https://api.avax-test.network/ext/bc/C/rpc"]}},blockExplorers:{etherscan:{name:"SnowTrace",url:"https://testnet.snowtrace.io"},default:{name:"SnowTrace",url:"https://testnet.snowtrace.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:7096959}},testnet:!0},K4e={id:8453,network:"base",name:"Base",nativeCurrency:{name:"Base",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://mainnet.base.org"]},public:{http:["https://mainnet.base.org"]}},blockExplorers:{blockscout:{name:"Basescout",url:"https://base.blockscout.com"},default:{name:"Basescan",url:"https://basescan.org"},etherscan:{name:"Basescan",url:"https://basescan.org"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022}}},Z4e={id:84531,network:"base-goerli",name:"Base Goerli",nativeCurrency:{name:"Base Goerli",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://goerli.base.org"]},public:{http:["https://goerli.base.org"]}},blockExplorers:{etherscan:{name:"Basescan",url:"https://goerli.basescan.org"},default:{name:"Basescan",url:"https://goerli.basescan.org"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:1376988}},testnet:!0},J4e={id:641230,name:"Bear Network Chain Mainnet",network:"BearNetworkChainMainnet",nativeCurrency:{decimals:18,name:"BearNetworkChain",symbol:"BRNKC"},rpcUrls:{public:{http:["https://brnkc-mainnet.bearnetwork.net"]},default:{http:["https://brnkc-mainnet.bearnetwork.net"]}},blockExplorers:{default:{name:"BrnkScan",url:"https://brnkscan.bearnetwork.net"}}},Y4e={id:751230,name:"Bear Network Chain Testnet",network:"BearNetworkChainTestnet",nativeCurrency:{decimals:18,name:"tBRNKC",symbol:"tBRNKC"},rpcUrls:{public:{http:["https://brnkc-test.bearnetwork.net"]},default:{http:["https://brnkc-test.bearnetwork.net"]}},blockExplorers:{default:{name:"BrnkTestScan",url:"https://brnktest-scan.bearnetwork.net"}},testnet:!0},Q4e={id:288,name:"Boba Network",network:"boba",nativeCurrency:{decimals:18,name:"Boba",symbol:"BOBA"},rpcUrls:{default:{http:["https://mainnet.boba.network"]},public:{http:["https://mainnet.boba.network"]}},blockExplorers:{etherscan:{name:"BOBAScan",url:"https://bobascan.com"},default:{name:"BOBAScan",url:"https://bobascan.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:446859}}},X4e={id:1039,name:"Bronos",network:"bronos",nativeCurrency:{decimals:18,name:"BRO",symbol:"BRO"},rpcUrls:{default:{http:["https://evm.bronos.org"]},public:{http:["https://evm.bronos.org"]}},blockExplorers:{default:{name:"BronoScan",url:"https://broscan.bronos.org"}}},e6e={id:1038,name:"Bronos Testnet",network:"bronos-testnet",nativeCurrency:{decimals:18,name:"Bronos Coin",symbol:"tBRO"},rpcUrls:{default:{http:["https://evm-testnet.bronos.org"]},public:{http:["https://evm-testnet.bronos.org"]}},blockExplorers:{default:{name:"BronoScan",url:"https://tbroscan.bronos.org"}},testnet:!0},t6e={id:56,name:"BNB Smart Chain",network:"bsc",nativeCurrency:{decimals:18,name:"BNB",symbol:"BNB"},rpcUrls:{default:{http:["https://rpc.ankr.com/bsc"]},public:{http:["https://rpc.ankr.com/bsc"]}},blockExplorers:{etherscan:{name:"BscScan",url:"https://bscscan.com"},default:{name:"BscScan",url:"https://bscscan.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:15921452}}},r6e={id:97,name:"Binance Smart Chain Testnet",network:"bsc-testnet",nativeCurrency:{decimals:18,name:"BNB",symbol:"tBNB"},rpcUrls:{default:{http:["https://data-seed-prebsc-1-s1.binance.org:8545"]},public:{http:["https://data-seed-prebsc-1-s1.binance.org:8545"]}},blockExplorers:{etherscan:{name:"BscScan",url:"https://testnet.bscscan.com"},default:{name:"BscScan",url:"https://testnet.bscscan.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:17422483}},testnet:!0},n6e={id:4999,name:"BlackFort Exchange Network",network:"bxn",nativeCurrency:{name:"BlackFort Token",symbol:"BXN",decimals:18},rpcUrls:{default:{http:["https://mainnet.blackfort.network/rpc"]},public:{http:["https://mainnet.blackfort.network/rpc"]}},blockExplorers:{default:{name:"Blockscout",url:"https://explorer.blackfort.network"}}},i6e={id:4777,name:"BlackFort Exchange Network Testnet",network:"bxnTestnet",nativeCurrency:{name:"BlackFort Testnet Token",symbol:"TBXN",decimals:18},rpcUrls:{default:{http:["https://testnet.blackfort.network/rpc"]},public:{http:["https://testnet.blackfort.network/rpc"]}},blockExplorers:{default:{name:"Blockscout",url:"https://testnet-explorer.blackfort.network"}}},s6e={id:7700,name:"Canto",network:"canto",nativeCurrency:{decimals:18,name:"Canto",symbol:"CANTO"},rpcUrls:{default:{http:["https://canto.gravitychain.io"]},public:{http:["https://canto.gravitychain.io"]}},blockExplorers:{default:{name:"Tuber.Build (Blockscout)",url:"https://tuber.build"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:2905789}}},o6e={id:42220,name:"Celo",network:"celo",nativeCurrency:{decimals:18,name:"CELO",symbol:"CELO"},rpcUrls:{default:{http:["https://forno.celo.org"]},infura:{http:["https://celo-mainnet.infura.io/v3"]},public:{http:["https://forno.celo.org"]}},blockExplorers:{default:{name:"Celo Explorer",url:"https://explorer.celo.org/mainnet"},etherscan:{name:"CeloScan",url:"https://celoscan.io"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:13112599}},testnet:!1},a6e={id:44787,name:"Alfajores",network:"celo-alfajores",nativeCurrency:{decimals:18,name:"CELO",symbol:"A-CELO"},rpcUrls:{default:{http:["https://alfajores-forno.celo-testnet.org"]},infura:{http:["https://celo-alfajores.infura.io/v3"]},public:{http:["https://alfajores-forno.celo-testnet.org"]}},blockExplorers:{default:{name:"Celo Explorer",url:"https://explorer.celo.org/alfajores"},etherscan:{name:"CeloScan",url:"https://alfajores.celoscan.io/"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:14569001}},testnet:!0},c6e={id:17323,name:"Cannoli",network:"celo-cannoli",nativeCurrency:{decimals:18,name:"CELO",symbol:"C-CELO"},rpcUrls:{default:{http:["https://forno.cannoli.celo-testnet.org"]},public:{http:["https://forno.cannoli.celo-testnet.org"]}},blockExplorers:{default:{name:"Celo Explorer",url:"https://explorer.celo.org/cannoli"}},contracts:{multicall3:{address:"0x5Acb0aa8BF4E8Ff0d882Ee187140713C12BF9718",blockCreated:87429}},testnet:!0},l6e={id:61,name:"Ethereum Classic",network:"classic",nativeCurrency:{decimals:18,name:"ETC",symbol:"ETC"},rpcUrls:{default:{http:["https://etc.rivet.link"]},public:{http:["https://etc.rivet.link"]}},blockExplorers:{default:{name:"Blockscout",url:"https://blockscout.com/etc/mainnet"}}},u6e={id:1030,name:"Conflux eSpace",network:"cfx-espace",nativeCurrency:{name:"Conflux",symbol:"CFX",decimals:18},rpcUrls:{default:{http:["https://evm.confluxrpc.org"]},public:{http:["https://evm.confluxrpc.org"]}},blockExplorers:{default:{name:"ConfluxScan",url:"https://evm.confluxscan.io"}},contracts:{multicall3:{address:"0xEFf0078910f638cd81996cc117bccD3eDf2B072F",blockCreated:68602935}}},h6e={id:25,name:"Cronos Mainnet",network:"cronos",nativeCurrency:{decimals:18,name:"Cronos",symbol:"CRO"},rpcUrls:{default:{http:["https://evm.cronos.org"]},public:{http:["https://evm.cronos.org"]}},blockExplorers:{default:{name:"Cronoscan",url:"https://cronoscan.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:1963112}}},f6e={id:338,name:"Cronos Testnet",network:"cronos-testnet",nativeCurrency:{decimals:18,name:"CRO",symbol:"tCRO"},rpcUrls:{default:{http:["https://evm-t3.cronos.org"]},public:{http:["https://evm-t3.cronos.org"]}},blockExplorers:{default:{name:"Cronos Explorer",url:"https://cronos.org/explorer/testnet3"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:10191251}},testnet:!0},d6e={id:3737,network:"crossbell",name:"Crossbell",nativeCurrency:{decimals:18,name:"CSB",symbol:"CSB"},rpcUrls:{default:{http:["https://rpc.crossbell.io"]},public:{http:["https://rpc.crossbell.io"]}},blockExplorers:{default:{name:"CrossScan",url:"https://scan.crossbell.io"}},contracts:{multicall3:{address:"0xBB9759009cDaC82774EfC84D94cD9F7440f75Fcf",blockCreated:23499787}}},p6e={id:53935,name:"DFK Chain",network:"dfk",nativeCurrency:{decimals:18,name:"Jewel",symbol:"JEWEL"},rpcUrls:{default:{http:["https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"]},public:{http:["https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"]}},blockExplorers:{etherscan:{name:"DFKSubnetScan",url:"https://subnets.avax.network/defi-kingdoms"},default:{name:"DFKSubnetScan",url:"https://subnets.avax.network/defi-kingdoms"}}},g6e={id:2e3,name:"Dogechain",network:"dogechain",nativeCurrency:{decimals:18,name:"Dogechain",symbol:"DC"},rpcUrls:{default:{http:["https://rpc.dogechain.dog"]},public:{http:["https://rpc.dogechain.dog"]}},blockExplorers:{etherscan:{name:"DogeChainExplorer",url:"https://explorer.dogechain.dog"},default:{name:"DogeChainExplorer",url:"https://explorer.dogechain.dog"}}},m6e={id:2021,name:"Edgeware EdgeEVM Mainnet",network:"edgeware",nativeCurrency:{decimals:18,name:"Edgeware",symbol:"EDG"},rpcUrls:{default:{http:["https://edgeware-evm.jelliedowl.net"]},public:{http:["https://edgeware-evm.jelliedowl.net"]}},blockExplorers:{etherscan:{name:"Edgscan by Bharathcoorg",url:"https://edgscan.live"},default:{name:"Edgscan by Bharathcoorg",url:"https://edgscan.live"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:18117872}}},b6e={id:2022,name:"Beresheet BereEVM Testnet",network:"edgewareTestnet",nativeCurrency:{decimals:18,name:"Testnet EDG",symbol:"tEDG"},rpcUrls:{default:{http:["https://beresheet-evm.jelliedowl.net"]},public:{http:["https://beresheet-evm.jelliedowl.net"]}},blockExplorers:{etherscan:{name:"Edgscan by Bharathcoorg",url:"https://testnet.edgscan.live"},default:{name:"Edgscan by Bharathcoorg",url:"https://testnet.edgscan.live"}}},w6e={id:42262,name:"Oasis Emerald",network:"emerald",nativeCurrency:{decimals:18,name:"Oasis ROSE",symbol:"ROSE"},rpcUrls:{default:{http:["https://emerald.oasis.dev"],webSocket:["wss://emerald.oasis.dev/ws"]},public:{http:["https://emerald.oasis.dev"],webSocket:["wss://emerald.oasis.dev/ws"]}},blockExplorers:{default:{name:"Oasis Explorer",url:"https://explorer.emerald.oasis.dev"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:1481392}}},v6e={id:17777,name:"EOS EVM",network:"eos",nativeCurrency:{decimals:18,name:"EOS",symbol:"EOS"},rpcUrls:{default:{http:["https://api.evm.eosnetwork.com"]},public:{http:["https://api.evm.eosnetwork.com"]}},blockExplorers:{etherscan:{name:"EOS EVM Explorer",url:"https://explorer.evm.eosnetwork.com"},default:{name:"EOS EVM Explorer",url:"https://explorer.evm.eosnetwork.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:7943933}}},y6e={id:15557,name:"EOS EVM Testnet",network:"eos",nativeCurrency:{decimals:18,name:"EOS",symbol:"EOS"},rpcUrls:{default:{http:["https://api.testnet.evm.eosnetwork.com"]},public:{http:["https://api.testnet.evm.eosnetwork.com"]}},blockExplorers:{etherscan:{name:"EOS EVM Testnet Explorer",url:"https://explorer.testnet.evm.eosnetwork.com"},default:{name:"EOS EVM Testnet Explorer",url:"https://explorer.testnet.evm.eosnetwork.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:9067940}},testnet:!0},x6e={id:9001,name:"Evmos",network:"evmos",nativeCurrency:{decimals:18,name:"Evmos",symbol:"EVMOS"},rpcUrls:{default:{http:["https://eth.bd.evmos.org:8545"]},public:{http:["https://eth.bd.evmos.org:8545"]}},blockExplorers:{default:{name:"Evmos Block Explorer",url:"https://escan.live"}}},_6e={id:9e3,name:"Evmos Testnet",network:"evmos-testnet",nativeCurrency:{decimals:18,name:"Evmos",symbol:"EVMOS"},rpcUrls:{default:{http:["https://eth.bd.evmos.dev:8545"]},public:{http:["https://eth.bd.evmos.dev:8545"]}},blockExplorers:{default:{name:"Evmos Testnet Block Explorer",url:"https://evm.evmos.dev/"}}},E6e={id:1994,name:"Ekta",network:"ekta",nativeCurrency:{decimals:18,name:"EKTA",symbol:"EKTA"},rpcUrls:{public:{http:["https://main.ekta.io"]},default:{http:["https://main.ekta.io"]}},blockExplorers:{default:{name:"Ektascan",url:"https://ektascan.io"}}},A6e={id:1004,name:"Ekta Testnet",network:"ekta-testnet",nativeCurrency:{decimals:18,name:"EKTA",symbol:"EKTA"},rpcUrls:{public:{http:["https://test.ekta.io:8545"]},default:{http:["https://test.ekta.io:8545"]}},blockExplorers:{default:{name:"Test Ektascan",url:"https://test.ektascan.io"}},testnet:!0},C6e={id:246,name:"Energy Web Chain",network:"ewc",nativeCurrency:{name:"EWT",symbol:"EWT",decimals:18},rpcUrls:{default:{http:["https://rpc.energyweb.org"]},public:{http:["https://rpc.energyweb.org"]}},blockExplorers:{default:{name:"Energy Web Chain Explorer",url:"https://explorer.energyweb.org"}},contracts:{ensRegistry:{address:"0x0A6d64413c07E10E890220BBE1c49170080C6Ca0"}}},S6e={id:250,name:"Fantom",network:"fantom",nativeCurrency:{decimals:18,name:"Fantom",symbol:"FTM"},rpcUrls:{default:{http:["https://rpc.ankr.com/fantom"]},public:{http:["https://rpc.ankr.com/fantom"]}},blockExplorers:{etherscan:{name:"FTMScan",url:"https://ftmscan.com"},default:{name:"FTMScan",url:"https://ftmscan.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:33001987}}},I6e={id:4002,name:"Fantom Testnet",network:"fantom-testnet",nativeCurrency:{decimals:18,name:"Fantom",symbol:"FTM"},rpcUrls:{default:{http:["https://rpc.testnet.fantom.network"]},public:{http:["https://rpc.testnet.fantom.network"]}},blockExplorers:{etherscan:{name:"FTMScan",url:"https://testnet.ftmscan.com"},default:{name:"FTMScan",url:"https://testnet.ftmscan.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:8328688}}},R6e={id:12306,name:"Fibo Chain",network:"fibochain",nativeCurrency:{decimals:18,name:"fibo",symbol:"FIBO"},rpcUrls:{default:{http:["https://network.hzroc.art"]},public:{http:["https://network.hzroc.art"]}},blockExplorers:{default:{name:"FiboScan",url:"https://scan.fibochain.org"}}},T6e={id:314,name:"Filecoin Mainnet",network:"filecoin-mainnet",nativeCurrency:{decimals:18,name:"filecoin",symbol:"FIL"},rpcUrls:{default:{http:["https://api.node.glif.io/rpc/v1"]},public:{http:["https://api.node.glif.io/rpc/v1"]}},blockExplorers:{default:{name:"Filfox",url:"https://filfox.info/en"},filscan:{name:"Filscan",url:"https://filscan.io"},filscout:{name:"Filscout",url:"https://filscout.io/en"},glif:{name:"Glif",url:"https://explorer.glif.io"}}},k6e={id:314159,name:"Filecoin Calibration",network:"filecoin-calibration",nativeCurrency:{decimals:18,name:"testnet filecoin",symbol:"tFIL"},rpcUrls:{default:{http:["https://api.calibration.node.glif.io/rpc/v1"]},public:{http:["https://api.calibration.node.glif.io/rpc/v1"]}},blockExplorers:{default:{name:"Filscan",url:"https://calibration.filscan.io"}}},M6e={id:3141,name:"Filecoin Hyperspace",network:"filecoin-hyperspace",nativeCurrency:{decimals:18,name:"testnet filecoin",symbol:"tFIL"},rpcUrls:{default:{http:["https://api.hyperspace.node.glif.io/rpc/v1"]},public:{http:["https://api.hyperspace.node.glif.io/rpc/v1"]}},blockExplorers:{default:{name:"Filfox",url:"https://hyperspace.filfox.info/en"},filscan:{name:"Filscan",url:"https://hyperspace.filscan.io"}}},N6e={id:14,name:"Flare Mainnet",network:"flare-mainnet",nativeCurrency:{decimals:18,name:"flare",symbol:"FLR"},rpcUrls:{default:{http:["https://flare-api.flare.network/ext/C/rpc"]},public:{http:["https://flare-api.flare.network/ext/C/rpc"]}},blockExplorers:{default:{name:"Flare Explorer",url:"https://flare-explorer.flare.network"}}},P6e={id:114,name:"Coston2",network:"coston2",nativeCurrency:{decimals:18,name:"coston2flare",symbol:"C2FLR"},rpcUrls:{default:{http:["https://coston2-api.flare.network/ext/C/rpc"]},public:{http:["https://coston2-api.flare.network/ext/C/rpc"]}},blockExplorers:{default:{name:"Coston2 Explorer",url:"https://coston2-explorer.flare.network"}},testnet:!0},O6e={id:31337,name:"Foundry",network:"foundry",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["http://127.0.0.1:8545"],webSocket:["ws://127.0.0.1:8545"]},public:{http:["http://127.0.0.1:8545"],webSocket:["ws://127.0.0.1:8545"]}}},D6e={id:122,name:"Fuse",network:"fuse",nativeCurrency:{name:"Fuse",symbol:"FUSE",decimals:18},rpcUrls:{default:{http:["https://rpc.fuse.io"]},public:{http:["https://fuse-mainnet.chainstacklabs.com"]}},blockExplorers:{default:{name:"Fuse Explorer",url:"https://explorer.fuse.io"}}},$6e={id:123,name:"Fuse Sparknet",network:"fuse",nativeCurrency:{name:"Spark",symbol:"SPARK",decimals:18},rpcUrls:{default:{http:["https://rpc.fusespark.io"]},public:{http:["https://rpc.fusespark.io"]}},blockExplorers:{default:{name:"Sparkent Explorer",url:"https://explorer.fusespark.io"}}},B6e={id:4689,name:"IoTeX",network:"iotex",nativeCurrency:{decimals:18,name:"IoTeX",symbol:"IOTX"},rpcUrls:{default:{http:["https://babel-api.mainnet.iotex.io"],webSocket:["wss://babel-api.mainnet.iotex.io"]},public:{http:["https://babel-api.mainnet.iotex.io"],webSocket:["wss://babel-api.mainnet.iotex.io"]}},blockExplorers:{default:{name:"IoTeXScan",url:"https://iotexscan.io"}}},L6e={id:4690,name:"IoTeX Testnet",network:"iotex-testnet",nativeCurrency:{decimals:18,name:"IoTeX",symbol:"IOTX"},rpcUrls:{default:{http:["https://babel-api.testnet.iotex.io"],webSocket:["wss://babel-api.testnet.iotex.io"]},public:{http:["https://babel-api.testnet.iotex.io"],webSocket:["wss://babel-api.testnet.iotex.io"]}},blockExplorers:{default:{name:"IoTeXScan",url:"https://testnet.iotexscan.io"}}},U6e={id:1663,name:"Horizen Gobi Testnet",network:"gobi",nativeCurrency:{decimals:18,name:"Test ZEN",symbol:"tZEN"},rpcUrls:{public:{http:["https://gobi-testnet.horizenlabs.io/ethv1"]},default:{http:["https://gobi-testnet.horizenlabs.io/ethv1"]}},blockExplorers:{default:{name:"Gobi Explorer",url:"https://gobi-explorer.horizen.io"}},contracts:{},testnet:!0},F6e={id:5,network:"goerli",name:"Goerli",nativeCurrency:{name:"Goerli Ether",symbol:"ETH",decimals:18},rpcUrls:{alchemy:{http:["https://eth-goerli.g.alchemy.com/v2"],webSocket:["wss://eth-goerli.g.alchemy.com/v2"]},infura:{http:["https://goerli.infura.io/v3"],webSocket:["wss://goerli.infura.io/ws/v3"]},default:{http:["https://rpc.ankr.com/eth_goerli"]},public:{http:["https://rpc.ankr.com/eth_goerli"]}},blockExplorers:{etherscan:{name:"Etherscan",url:"https://goerli.etherscan.io"},default:{name:"Etherscan",url:"https://goerli.etherscan.io"}},contracts:{ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},ensUniversalResolver:{address:"0x56522D00C410a43BFfDF00a9A569489297385790",blockCreated:8765204},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:6507670}},testnet:!0},j6e={id:100,name:"Gnosis",network:"gnosis",nativeCurrency:{decimals:18,name:"Gnosis",symbol:"xDAI"},rpcUrls:{default:{http:["https://rpc.gnosischain.com"]},public:{http:["https://rpc.gnosischain.com"]}},blockExplorers:{etherscan:{name:"Gnosisscan",url:"https://gnosisscan.io"},default:{name:"Gnosis Chain Explorer",url:"https://blockscout.com/xdai/mainnet"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:21022491}}},z6e={id:10200,name:"Gnosis Chiado",network:"chiado",nativeCurrency:{decimals:18,name:"Gnosis",symbol:"xDAI"},rpcUrls:{default:{http:["https://rpc.chiadochain.net"]},public:{http:["https://rpc.chiadochain.net"]}},blockExplorers:{default:{name:"Blockscout",url:"https://blockscout.chiadochain.net"}}},H6e={id:31337,name:"Hardhat",network:"hardhat",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["http://127.0.0.1:8545"]},public:{http:["http://127.0.0.1:8545"]}}},q6e={id:16666e5,name:"Harmony One",network:"harmony",nativeCurrency:{name:"Harmony",symbol:"ONE",decimals:18},rpcUrls:{public:{http:["https://rpc.ankr.com/harmony"]},default:{http:["https://rpc.ankr.com/harmony"]}},blockExplorers:{default:{name:"Harmony Explorer",url:"https://explorer.harmony.one"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:24185753}}},W6e={id:11235,name:"HAQQ Mainnet",network:"haqq-mainnet",nativeCurrency:{decimals:18,name:"Islamic Coin",symbol:"ISLM"},rpcUrls:{default:{http:["https://rpc.eth.haqq.network"]},public:{http:["https://rpc.eth.haqq.network"]}},blockExplorers:{default:{name:"HAQQ Explorer",url:"https://explorer.haqq.network"}}},V6e={id:54211,name:"HAQQ Testedge 2",network:"haqq-testedge-2",nativeCurrency:{decimals:18,name:"Islamic Coin",symbol:"ISLMT"},rpcUrls:{default:{http:["https://rpc.eth.testedge2.haqq.network"]},public:{http:["https://rpc.eth.testedge2.haqq.network"]}},blockExplorers:{default:{name:"HAQQ Explorer",url:"https://explorer.testedge2.haqq.network"}}},G6e={id:8217,name:"Klaytn",network:"klaytn",nativeCurrency:{decimals:18,name:"Klaytn",symbol:"KLAY"},rpcUrls:{default:{http:["https://cypress.fautor.app/archive"]},public:{http:["https://cypress.fautor.app/archive"]}},blockExplorers:{etherscan:{name:"KlaytnScope",url:"https://scope.klaytn.com"},default:{name:"KlaytnScope",url:"https://scope.klaytn.com"}}},K6e={id:59144,name:"Linea Mainnet",network:"linea-mainnet",nativeCurrency:{name:"Linea Ether",symbol:"ETH",decimals:18},rpcUrls:{infura:{http:["https://linea-mainnet.infura.io/v3"],webSocket:["wss://linea-mainnet.infura.io/ws/v3"]},default:{http:["https://rpc.linea.build"],webSocket:["wss://rpc.linea.build"]},public:{http:["https://rpc.linea.build"],webSocket:["wss://rpc.linea.build"]}},blockExplorers:{default:{name:"Etherscan",url:"https://lineascan.build"},etherscan:{name:"Etherscan",url:"https://lineascan.build"},blockscout:{name:"Blockscout",url:"https://explorer.linea.build"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:42}},testnet:!1},Z6e={id:59140,name:"Linea Goerli Testnet",network:"linea-testnet",nativeCurrency:{name:"Linea Ether",symbol:"ETH",decimals:18},rpcUrls:{infura:{http:["https://linea-goerli.infura.io/v3"],webSocket:["wss://linea-goerli.infura.io/ws/v3"]},default:{http:["https://rpc.goerli.linea.build"],webSocket:["wss://rpc.goerli.linea.build"]},public:{http:["https://rpc.goerli.linea.build"],webSocket:["wss://rpc.goerli.linea.build"]}},blockExplorers:{default:{name:"Etherscan",url:"https://goerli.lineascan.build"},etherscan:{name:"Etherscan",url:"https://goerli.lineascan.build"},blockscout:{name:"Blockscout",url:"https://explorer.goerli.linea.build"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:498623}},testnet:!0},J6e={id:1337,name:"Localhost",network:"localhost",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["http://127.0.0.1:8545"]},public:{http:["http://127.0.0.1:8545"]}}},Y6e={id:1,network:"homestead",name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{alchemy:{http:["https://eth-mainnet.g.alchemy.com/v2"],webSocket:["wss://eth-mainnet.g.alchemy.com/v2"]},infura:{http:["https://mainnet.infura.io/v3"],webSocket:["wss://mainnet.infura.io/ws/v3"]},default:{http:["https://cloudflare-eth.com"]},public:{http:["https://cloudflare-eth.com"]}},blockExplorers:{etherscan:{name:"Etherscan",url:"https://etherscan.io"},default:{name:"Etherscan",url:"https://etherscan.io"}},contracts:{ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},ensUniversalResolver:{address:"0xc0497E381f536Be9ce14B0dD3817cBcAe57d2F62",blockCreated:16966585},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}},Q6e={id:5e3,name:"Mantle",network:"mantle",nativeCurrency:{decimals:18,name:"MNT",symbol:"MNT"},rpcUrls:{default:{http:["https://rpc.mantle.xyz"]},public:{http:["https://rpc.mantle.xyz"]}},blockExplorers:{etherscan:{name:"Mantle Explorer",url:"https://explorer.mantle.xyz"},default:{name:"Mantle Explorer",url:"https://explorer.mantle.xyz"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:304717}}},X6e={id:5001,name:"Mantle Testnet",network:"mantle",nativeCurrency:{decimals:18,name:"MNT",symbol:"MNT"},rpcUrls:{default:{http:["https://rpc.testnet.mantle.xyz"]},public:{http:["https://rpc.testnet.mantle.xyz"]}},blockExplorers:{etherscan:{name:"Mantle Testnet Explorer",url:"https://explorer.testnet.mantle.xyz"},default:{name:"Mantle Testnet Explorer",url:"https://explorer.testnet.mantle.xyz"}},testnet:!0},e8e={id:1088,name:"Metis",network:"andromeda",nativeCurrency:{decimals:18,name:"Metis",symbol:"METIS"},rpcUrls:{default:{http:["https://andromeda.metis.io/?owner=1088"]},public:{http:["https://andromeda.metis.io/?owner=1088"]}},blockExplorers:{default:{name:"Andromeda Explorer",url:"https://andromeda-explorer.metis.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:2338552}}},t8e={id:599,name:"Metis Goerli",network:"metis-goerli",nativeCurrency:{decimals:18,name:"Metis Goerli",symbol:"METIS"},rpcUrls:{default:{http:["https://goerli.gateway.metisdevops.link"]},public:{http:["https://goerli.gateway.metisdevops.link"]}},blockExplorers:{default:{name:"Metis Goerli Explorer",url:"https://goerli.explorer.metisdevops.link"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:1006207}}},r8e={id:7518,network:"MEVerse",name:"MEVerse Chain Mainnet",nativeCurrency:{decimals:18,name:"MEVerse",symbol:"MEV"},rpcUrls:{default:{http:["https://rpc.meversemainnet.io"]},public:{http:["https://rpc.meversemainnet.io"]}},blockExplorers:{default:{name:"Explorer",url:"https://www.meversescan.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:86881340}}},n8e={id:4759,network:"MEVerse Testnet",name:"MEVerse Chain Testnet",nativeCurrency:{decimals:18,name:"MEVerse",symbol:"MEV"},rpcUrls:{default:{http:["https://rpc.meversetestnet.io"]},public:{http:["https://rpc.meversetestnet.io"]}},blockExplorers:{default:{name:"Explorer",url:"https://testnet.meversescan.io/"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:64371115}},testnet:!0},i8e={id:919,name:"Mode Testnet",network:"mode-testnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia.mode.network"]},public:{http:["https://sepolia.mode.network"]}},blockExplorers:{default:{name:"Blockscout",url:"https://sepolia.explorer.mode.network"}},testnet:!0},s8e={id:1287,name:"Moonbase Alpha",network:"moonbase-alpha",nativeCurrency:{decimals:18,name:"DEV",symbol:"DEV"},rpcUrls:{default:{http:["https://rpc.api.moonbase.moonbeam.network"],webSocket:["wss://wss.api.moonbase.moonbeam.network"]},public:{http:["https://rpc.api.moonbase.moonbeam.network"],webSocket:["wss://wss.api.moonbase.moonbeam.network"]}},blockExplorers:{default:{name:"Moonscan",url:"https://moonbase.moonscan.io"},etherscan:{name:"Moonscan",url:"https://moonbase.moonscan.io"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:1850686}},testnet:!0},o8e={id:1284,name:"Moonbeam",network:"moonbeam",nativeCurrency:{decimals:18,name:"GLMR",symbol:"GLMR"},rpcUrls:{public:{http:["https://moonbeam.public.blastapi.io"],webSocket:["wss://moonbeam.public.blastapi.io"]},default:{http:["https://moonbeam.public.blastapi.io"],webSocket:["wss://moonbeam.public.blastapi.io"]}},blockExplorers:{default:{name:"Moonscan",url:"https://moonscan.io"},etherscan:{name:"Moonscan",url:"https://moonscan.io"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:609002}},testnet:!1},a8e={id:1285,name:"Moonriver",network:"moonriver",nativeCurrency:{decimals:18,name:"MOVR",symbol:"MOVR"},rpcUrls:{public:{http:["https://moonriver.public.blastapi.io"],webSocket:["wss://moonriver.public.blastapi.io"]},default:{http:["https://moonriver.public.blastapi.io"],webSocket:["wss://moonriver.public.blastapi.io"]}},blockExplorers:{default:{name:"Moonscan",url:"https://moonriver.moonscan.io"},etherscan:{name:"Moonscan",url:"https://moonriver.moonscan.io"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:1597904}},testnet:!1},c8e={id:245022926,network:"neonDevnet",name:"Neon EVM DevNet",nativeCurrency:{name:"NEON",symbol:"NEON",decimals:18},rpcUrls:{default:{http:["https://devnet.neonevm.org"]},public:{http:["https://devnet.neonevm.org"]}},blockExplorers:{default:{name:"Neonscan",url:"https://neonscan.org"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:205206112}},testnet:!0},l8e={id:4242,name:"Nexi",network:"nexi",nativeCurrency:{name:"Nexi",symbol:"NEXI",decimals:18},rpcUrls:{default:{http:["https://rpc.chain.nexi.technology"]},public:{http:["https://rpc.chain.nexi.technology"]}},blockExplorers:{etherscan:{name:"NexiScan",url:"https://www.nexiscan.com"},default:{name:"NexiScan",url:"https://www.nexiscan.com"}},contracts:{multicall3:{address:"0x0277A46Cc69A57eE3A6C8c158bA874832F718B8E",blockCreated:25770160}}},u8e={id:240,name:"Nexilix Smart Chain",network:"nexilix",nativeCurrency:{decimals:18,name:"Nexilix",symbol:"NEXILIX"},rpcUrls:{default:{http:["https://rpcurl.pos.nexilix.com"]},public:{http:["https://rpcurl.pos.nexilix.com"]}},blockExplorers:{etherscan:{name:"NexilixScan",url:"https://scan.nexilix.com"},default:{name:"NexilixScan",url:"https://scan.nexilix.com"}},contracts:{multicall3:{address:"0x58381c8e2BF9d0C2C4259cA14BdA9Afe02831244",blockCreated:74448}}},h8e={id:248,name:"Oasys",network:"oasys",nativeCurrency:{name:"Oasys",symbol:"OAS",decimals:18},rpcUrls:{default:{http:["https://rpc.mainnet.oasys.games"]},public:{http:["https://rpc.mainnet.oasys.games"]}},blockExplorers:{default:{name:"OasysScan",url:"https://scan.oasys.games"}}},f8e={id:66,name:"OKC",network:"okc",nativeCurrency:{decimals:18,name:"OKT",symbol:"OKT"},rpcUrls:{default:{http:["https://exchainrpc.okex.org"]},public:{http:["https://exchainrpc.okex.org"]}},blockExplorers:{default:{name:"oklink",url:"https://www.oklink.com/okc"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:10364792}}},d8e={id:10,name:"OP Mainnet",network:"optimism",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{alchemy:{http:["https://opt-mainnet.g.alchemy.com/v2"],webSocket:["wss://opt-mainnet.g.alchemy.com/v2"]},infura:{http:["https://optimism-mainnet.infura.io/v3"],webSocket:["wss://optimism-mainnet.infura.io/ws/v3"]},default:{http:["https://mainnet.optimism.io"]},public:{http:["https://mainnet.optimism.io"]}},blockExplorers:{etherscan:{name:"Etherscan",url:"https://optimistic.etherscan.io"},default:{name:"Optimism Explorer",url:"https://explorer.optimism.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:4286263}}},p8e={id:420,name:"Optimism Goerli",network:"optimism-goerli",nativeCurrency:{name:"Goerli Ether",symbol:"ETH",decimals:18},rpcUrls:{alchemy:{http:["https://opt-goerli.g.alchemy.com/v2"],webSocket:["wss://opt-goerli.g.alchemy.com/v2"]},infura:{http:["https://optimism-goerli.infura.io/v3"],webSocket:["wss://optimism-goerli.infura.io/ws/v3"]},default:{http:["https://goerli.optimism.io"]},public:{http:["https://goerli.optimism.io"]}},blockExplorers:{etherscan:{name:"Etherscan",url:"https://goerli-optimism.etherscan.io"},default:{name:"Etherscan",url:"https://goerli-optimism.etherscan.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:49461}},testnet:!0},g8e={id:137,name:"Polygon",network:"matic",nativeCurrency:{name:"MATIC",symbol:"MATIC",decimals:18},rpcUrls:{alchemy:{http:["https://polygon-mainnet.g.alchemy.com/v2"],webSocket:["wss://polygon-mainnet.g.alchemy.com/v2"]},infura:{http:["https://polygon-mainnet.infura.io/v3"],webSocket:["wss://polygon-mainnet.infura.io/ws/v3"]},default:{http:["https://polygon-rpc.com"]},public:{http:["https://polygon-rpc.com"]}},blockExplorers:{etherscan:{name:"PolygonScan",url:"https://polygonscan.com"},default:{name:"PolygonScan",url:"https://polygonscan.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:25770160}}},m8e={id:80001,name:"Polygon Mumbai",network:"maticmum",nativeCurrency:{name:"MATIC",symbol:"MATIC",decimals:18},rpcUrls:{alchemy:{http:["https://polygon-mumbai.g.alchemy.com/v2"],webSocket:["wss://polygon-mumbai.g.alchemy.com/v2"]},infura:{http:["https://polygon-mumbai.infura.io/v3"],webSocket:["wss://polygon-mumbai.infura.io/ws/v3"]},default:{http:["https://matic-mumbai.chainstacklabs.com"]},public:{http:["https://matic-mumbai.chainstacklabs.com"]}},blockExplorers:{etherscan:{name:"PolygonScan",url:"https://mumbai.polygonscan.com"},default:{name:"PolygonScan",url:"https://mumbai.polygonscan.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:25770160}},testnet:!0},b8e={id:1442,name:"Polygon zkEVM Testnet",network:"polygon-zkevm-testnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.public.zkevm-test.net"]},public:{http:["https://rpc.public.zkevm-test.net"]}},blockExplorers:{blockscout:{name:"Blockscout",url:"https://explorer.public.zkevm-test.net"},default:{name:"PolygonScan",url:"https://testnet-zkevm.polygonscan.com"}},testnet:!0,contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:525686}}},w8e={id:1101,name:"Polygon zkEVM",network:"polygon-zkevm",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://zkevm-rpc.com"]},public:{http:["https://zkevm-rpc.com"]}},blockExplorers:{default:{name:"PolygonScan",url:"https://zkevm.polygonscan.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:57746}}},v8e={id:369,network:"pulsechain",name:"PulseChain",nativeCurrency:{name:"Pulse",symbol:"PLS",decimals:18},testnet:!1,rpcUrls:{default:{http:["https://rpc.pulsechain.com"],webSocket:["wss://ws.pulsechain.com"]},public:{http:["https://rpc.pulsechain.com"],webSocket:["wss://ws.pulsechain.com"]}},blockExplorers:{default:{name:"PulseScan",url:"https://scan.pulsechain.com"}},contracts:{ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}},y8e={id:943,network:"pulsechainV4",name:"PulseChain V4",testnet:!0,nativeCurrency:{name:"V4 Pulse",symbol:"v4PLS",decimals:18},rpcUrls:{default:{http:["https://rpc.v4.testnet.pulsechain.com"],webSocket:["wss://ws.v4.testnet.pulsechain.com"]},public:{http:["https://rpc.v4.testnet.pulsechain.com"],webSocket:["wss://ws.v4.testnet.pulsechain.com"]}},blockExplorers:{default:{name:"PulseScan",url:"https://scan.v4.testnet.pulsechain.com"}},contracts:{ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}},x8e={id:35441,name:"Q Mainnet",network:"q-mainnet",nativeCurrency:{decimals:18,name:"Q",symbol:"Q"},rpcUrls:{default:{http:["https://rpc.q.org"]},public:{http:["https://rpc.q.org"]}},blockExplorers:{default:{name:"Q Mainnet Explorer",url:"https://explorer.q.org"}}},_8e={id:35443,name:"Q Testnet",network:"q-testnet",nativeCurrency:{decimals:18,name:"Q",symbol:"Q"},rpcUrls:{default:{http:["https://rpc.qtestnet.org"]},public:{http:["https://rpc.qtestnet.org"]}},blockExplorers:{default:{name:"Q Testnet Explorer",url:"https://explorer.qtestnet.org"}},testnet:!0},E8e={id:570,name:"Rollux Mainnet",network:"rollux",nativeCurrency:{decimals:18,name:"Syscoin",symbol:"SYS"},rpcUrls:{default:{http:["https://rpc.rollux.com"],webSocket:["wss://rpc.rollux.com/wss"]},public:{http:["https://rollux.public-rpc.com"]}},blockExplorers:{default:{name:"RolluxExplorer",url:"https://explorer.rollux.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:119222}}},A8e={id:57e3,name:"Rollux Testnet",network:"rollux-testnet",nativeCurrency:{decimals:18,name:"Syscoin",symbol:"SYS"},rpcUrls:{default:{http:["https://rpc-tanenbaum.rollux.com/"],webSocket:["wss://rpc-tanenbaum.rollux.com/wss"]},public:{http:["https://rpc-tanenbaum.rollux.com/"]}},blockExplorers:{default:{name:"RolluxTestnetExplorer",url:"https://rollux.tanenbaum.io"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:1813675}}},C8e={id:2020,name:"Ronin",network:"ronin",nativeCurrency:{name:"RON",symbol:"RON",decimals:18},rpcUrls:{default:{http:["https://api.roninchain.com/rpc"]},public:{http:["https://api.roninchain.com/rpc"]}},blockExplorers:{default:{name:"Ronin Explorer",url:"https://app.roninchain.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:26023535}}},S8e={id:2021,name:"Saigon Testnet",network:"saigon",nativeCurrency:{name:"RON",symbol:"RON",decimals:18},rpcUrls:{default:{http:["https://saigon-testnet.roninchain.com/rpc"]},public:{http:["https://saigon-testnet.roninchain.com/rpc"]}},blockExplorers:{default:{name:"Saigon Explorer",url:"https://saigon-explorer.roninchain.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:18736871}},testnet:!0},I8e={id:534351,name:"Scroll Sepolia",network:"scroll-sepolia",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia-rpc.scroll.io"],webSocket:["wss://sepolia-rpc.scroll.io/ws"]},public:{http:["https://sepolia-rpc.scroll.io"],webSocket:["wss://sepolia-rpc.scroll.io/ws"]}},blockExplorers:{default:{name:"Blockscout",url:"https://sepolia-blockscout.scroll.io"}},testnet:!0},R8e={id:534353,name:"Scroll Testnet",network:"scroll-testnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://alpha-rpc.scroll.io/l2"],webSocket:["wss://alpha-rpc.scroll.io/l2/ws"]},public:{http:["https://alpha-rpc.scroll.io/l2"],webSocket:["wss://alpha-rpc.scroll.io/l2/ws"]}},blockExplorers:{default:{name:"Blockscout",url:"https://blockscout.scroll.io"}},testnet:!0},T8e={id:23294,name:"Oasis Sapphire",network:"sapphire",nativeCurrency:{decimals:18,name:"Oasis ROSE",symbol:"ROSE"},rpcUrls:{default:{http:["https://sapphire.oasis.io"],webSocket:["wss://sapphire.oasis.io/ws"]},public:{http:["https://sapphire.oasis.io"],webSocket:["wss://sapphire.oasis.io/ws"]}},blockExplorers:{default:{name:"Oasis Explorer",url:"https://explorer.oasis.io/mainnet/sapphire"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:734531}}},k8e={id:23295,name:"Oasis Sapphire Testnet",network:"sapphireTestnet",nativeCurrency:{decimals:18,name:"Oasis TEST",symbol:"TEST"},rpcUrls:{default:{http:["https://testnet.sapphire.oasis.dev"],webSocket:["wss://testnet.sapphire.oasis.dev/ws"]},public:{http:["https://testnet.sapphire.oasis.dev"],webSocket:["wss://testnet.sapphire.oasis.dev/ws"]}},blockExplorers:{default:{name:"Oasis Explorer",url:"https://explorer.oasis.io/testnet/sapphire"}}},M8e={id:11155111,network:"sepolia",name:"Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"SEP",decimals:18},rpcUrls:{alchemy:{http:["https://eth-sepolia.g.alchemy.com/v2"],webSocket:["wss://eth-sepolia.g.alchemy.com/v2"]},infura:{http:["https://sepolia.infura.io/v3"],webSocket:["wss://sepolia.infura.io/ws/v3"]},default:{http:["https://rpc.sepolia.org"]},public:{http:["https://rpc.sepolia.org"]}},blockExplorers:{etherscan:{name:"Etherscan",url:"https://sepolia.etherscan.io"},default:{name:"Etherscan",url:"https://sepolia.etherscan.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:6507670}},testnet:!0},N8e={id:391845894,name:"SKALE | Block Brawlers",network:"skale-brawl",nativeCurrency:{name:"BRAWL",symbol:"BRAWL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/frayed-decent-antares"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/frayed-decent-antares"]},public:{http:["https://mainnet.skalenodes.com/v1/frayed-decent-antares"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/frayed-decent-antares"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://frayed-decent-antares.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://frayed-decent-antares.explorer.mainnet.skalenodes.com"}},contracts:{}},P8e={id:1564830818,name:"SKALE | Calypso NFT Hub",network:"skale-calypso",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/honorable-steel-rasalhague"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/honorable-steel-rasalhague"]},public:{http:["https://mainnet.skalenodes.com/v1/honorable-steel-rasalhague"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/honorable-steel-rasalhague"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://honorable-steel-rasalhague.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://honorable-steel-rasalhague.explorer.mainnet.skalenodes.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:3107626}}},O8e={id:344106930,name:"SKALE | Calypso NFT Hub Testnet",network:"skale-calypso-testnet",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://staging-v3.skalenodes.com/v1/staging-utter-unripe-menkar"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-utter-unripe-menkar"]},public:{http:["https://staging-v3.skalenodes.com/v1/staging-utter-unripe-menkar"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-utter-unripe-menkar"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://staging-utter-unripe-menkar.explorer.staging-v3.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://staging-utter-unripe-menkar.explorer.staging-v3.skalenodes.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:2131424}},testnet:!0},D8e={id:1351057110,name:"SKALE | Chaos Testnet",network:"skale-chaos-testnet",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://staging-v3.skalenodes.com/v1/staging-fast-active-bellatrix"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-fast-active-bellatrix"]},public:{http:["https://staging-v3.skalenodes.com/v1/staging-fast-active-bellatrix"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-fast-active-bellatrix"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://staging-fast-active-bellatrix.explorer.staging-v3.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://staging-fast-active-bellatrix.explorer.staging-v3.skalenodes.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:1192202}},testnet:!0},$8e={id:1026062157,name:"SKALE | CryptoBlades",network:"skale-cryptoblades",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/affectionate-immediate-pollux"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/affectionate-immediate-pollux"]},public:{http:["https://mainnet.skalenodes.com/v1/affectionate-immediate-pollux"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/affectionate-immediate-pollux"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://affectionate-immediate-pollux.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://affectionate-immediate-pollux.explorer.mainnet.skalenodes.com"}},contracts:{}},B8e={id:2046399126,name:"SKALE | Crypto Colosseum",network:"skale-crypto-coloseeum",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/haunting-devoted-deneb"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/haunting-devoted-deneb"]},public:{http:["https://mainnet.skalenodes.com/v1/haunting-devoted-deneb"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/haunting-devoted-deneb"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://haunting-devoted-deneb.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://haunting-devoted-deneb.explorer.mainnet.skalenodes.com"}},contracts:{}},L8e={id:2046399126,name:"SKALE | Europa Liquidity Hub",network:"skale-europa",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/elated-tan-skat"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/elated-tan-skat"]},public:{http:["https://mainnet.skalenodes.com/v1/elated-tan-skat"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/elated-tan-skat"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://elated-tan-skat.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://elated-tan-skat.explorer.mainnet.skalenodes.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:3113495}}},U8e={id:476158412,name:"SKALE | Europa Liquidity Hub Testnet",network:"skale-europa-testnet",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://staging-v3.skalenodes.com/v1/staging-legal-crazy-castor"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-legal-crazy-castor"]},public:{http:["https://staging-v3.skalenodes.com/v1/staging-legal-crazy-castor"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-legal-crazy-castor"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://staging-legal-crazy-castor.explorer.staging-v3.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://staging-legal-crazy-castor.explorer.staging-v3.skalenodes.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:2071911}},testnet:!0},F8e={id:2139927552,name:"SKALE | Exorde",network:"skale-exorde",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/light-vast-diphda"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/light-vast-diphda"]},public:{http:["https://mainnet.skalenodes.com/v1/light-vast-diphda"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/light-vast-diphda"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://light-vast-diphda.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://light-vast-diphda.explorer.mainnet.skalenodes.com"}},contracts:{}},j8e={id:1273227453,name:"SKALE | Human Protocol",network:"skale-human-protocol",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/wan-red-ain"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/wan-red-ain"]},public:{http:["https://mainnet.skalenodes.com/v1/wan-red-ain"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/wan-red-ain"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://wan-red-ain.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://wan-red-ain.explorer.mainnet.skalenodes.com"}},contracts:{}},z8e={id:1482601649,name:"SKALE | Nebula Gaming Hub",network:"skale-nebula",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/green-giddy-denebola"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/green-giddy-denebola"]},public:{http:["https://mainnet.skalenodes.com/v1/green-giddy-denebola"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/green-giddy-denebola"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://green-giddy-denebola.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://green-giddy-denebola.explorer.mainnet.skalenodes.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:2372986}}},H8e={id:503129905,name:"SKALE | Nebula Gaming Hub Testnet",network:"skale-nebula-testnet",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://staging-v3.skalenodes.com/v1/staging-faint-slimy-achird"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-faint-slimy-achird"]},public:{http:["https://staging-v3.skalenodes.com/v1/staging-faint-slimy-achird"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-faint-slimy-achird"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://staging-faint-slimy-achird.explorer.staging-v3.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://staging-faint-slimy-achird.explorer.staging-v3.skalenodes.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:2205882}},testnet:!0},q8e={id:278611351,name:"SKALE | Razor Network",network:"skale-razor",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/turbulent-unique-scheat"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/turbulent-unique-scheat"]},public:{http:["https://mainnet.skalenodes.com/v1/turbulent-unique-scheat"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/turbulent-unique-scheat"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://turbulent-unique-scheat.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://turbulent-unique-scheat.explorer.mainnet.skalenodes.com"}},contracts:{}},W8e={id:1350216234,name:"SKALE | Titan Community Hub",network:"skale-titan",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/parallel-stormy-spica"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/parallel-stormy-spica"]},public:{http:["https://mainnet.skalenodes.com/v1/parallel-stormy-spica"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/parallel-stormy-spica"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://parallel-stormy-spica.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://parallel-stormy-spica.explorer.mainnet.skalenodes.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:2076458}}},V8e={id:1517929550,name:"SKALE | Titan Community Hub Testnet",network:"skale-titan-testnet",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://staging-v3.skalenodes.com/v1/staging-aware-chief-gianfar"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-aware-chief-gianfar"]},public:{http:["https://staging-v3.skalenodes.com/v1/staging-aware-chief-gianfar"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-aware-chief-gianfar"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://staging-aware-chief-gianfar.explorer.staging-v3.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://staging-aware-chief-gianfar.explorer.staging-v3.skalenodes.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:2085155}},testnet:!0},G8e={id:19,name:"Songbird Mainnet",network:"songbird-mainnet",nativeCurrency:{decimals:18,name:"songbird",symbol:"SGB"},rpcUrls:{default:{http:["https://songbird-api.flare.network/ext/C/rpc"]},public:{http:["https://songbird-api.flare.network/ext/C/rpc"]}},blockExplorers:{default:{name:"Songbird Explorer",url:"https://songbird-explorer.flare.network"}}},K8e={id:16,name:"Coston",network:"coston",nativeCurrency:{decimals:18,name:"costonflare",symbol:"CFLR"},rpcUrls:{default:{http:["https://coston-api.flare.network/ext/C/rpc"]},public:{http:["https://coston-api.flare.network/ext/C/rpc"]}},blockExplorers:{default:{name:"Coston Explorer",url:"https://coston-explorer.flare.network"}},testnet:!0},Z8e={id:8082,name:"Shardeum Sphinx",network:"shmSphinx",nativeCurrency:{name:"SHARDEUM",symbol:"SHM",decimals:18},rpcUrls:{default:{http:["https://sphinx.shardeum.org"]},public:{http:["https://sphinx.shardeum.org"]}},blockExplorers:{default:{name:"Shardeum Explorer",url:"https://explorer-sphinx.shardeum.org"}},testnet:!0},J8e={id:57,name:"Syscoin Mainnet",network:"syscoin",nativeCurrency:{decimals:18,name:"Syscoin",symbol:"SYS"},rpcUrls:{default:{http:["https://rpc.syscoin.org"],webSocket:["wss://rpc.syscoin.org/wss"]},public:{http:["https://rpc.syscoin.org"],webSocket:["wss://rpc.syscoin.org/wss"]}},blockExplorers:{default:{name:"SyscoinExplorer",url:"https://explorer.syscoin.org"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:287139}}},Y8e={id:5700,name:"Syscoin Tanenbaum Testnet",network:"syscoin-testnet",nativeCurrency:{decimals:18,name:"Syscoin",symbol:"SYS"},rpcUrls:{default:{http:["https://rpc.tanenbaum.io"],webSocket:["wss://rpc.tanenbaum.io/wss"]},public:{http:["https://rpc.tanenbaum.io"],webSocket:["wss://rpc.tanenbaum.io/wss"]}},blockExplorers:{default:{name:"SyscoinTestnetExplorer",url:"https://tanenbaum.io"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:271288}}},Q8e={id:841,name:"Taraxa Mainnet",network:"taraxa",nativeCurrency:{name:"Tara",symbol:"TARA",decimals:18},rpcUrls:{default:{http:["https://rpc.mainnet.taraxa.io"]},public:{http:["https://rpc.mainnet.taraxa.io"]}},blockExplorers:{default:{name:"Taraxa Explorer",url:"https://explorer.mainnet.taraxa.io"}}},X8e={id:167005,name:"Taiko (Alpha-3 Testnet)",network:"taiko-sepolia",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.test.taiko.xyz"]},public:{http:["https://rpc.test.taiko.xyz"]}},blockExplorers:{default:{name:"blockscout",url:"https://explorer.test.taiko.xyz"}}},exe={id:842,name:"Taraxa Testnet",network:"taraxa-testnet",nativeCurrency:{name:"Tara",symbol:"TARA",decimals:18},rpcUrls:{default:{http:["https://rpc.testnet.taraxa.io"]},public:{http:["https://rpc.testnet.taraxa.io"]}},blockExplorers:{default:{name:"Taraxa Explorer",url:"https://explorer.testnet.taraxa.io"}},testnet:!0},txe={id:40,name:"Telos",network:"telos",nativeCurrency:{decimals:18,name:"Telos",symbol:"TLOS"},rpcUrls:{default:{http:["https://mainnet.telos.net/evm"]},public:{http:["https://mainnet.telos.net/evm"]}},blockExplorers:{default:{name:"Teloscan",url:"https://www.teloscan.io/"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:246530709}}},rxe={id:41,name:"Telos",network:"telosTestnet",nativeCurrency:{decimals:18,name:"Telos",symbol:"TLOS"},rpcUrls:{default:{http:["https://testnet.telos.net/evm"]},public:{http:["https://testnet.telos.net/evm"]}},blockExplorers:{default:{name:"Teloscan (testnet)",url:"https://testnet.teloscan.io/"}},testnet:!0},nxe={id:997,name:"5ireChain Thunder Testnet",network:"5ireChain",nativeCurrency:{name:"5ire Token",symbol:"5IRE",decimals:18},rpcUrls:{default:{http:["https://rpc-testnet.5ire.network"]},public:{http:["https://rpc-testnet.5ire.network"]}},blockExplorers:{default:{name:"5ireChain Explorer",url:"https://explorer.5ire.network"}},testnet:!0},ixe={id:73799,name:"Volta Chain",network:"volta",nativeCurrency:{name:"VT",symbol:"VT",decimals:18},rpcUrls:{default:{http:["https://volta-rpc.energyweb.org"]},public:{http:["https://volta-rpc.energyweb.org"]}},blockExplorers:{default:{name:"Volta Explorer",url:"https://volta-explorer.energyweb.org"}},contracts:{ensRegistry:{address:"0xd7CeF70Ba7efc2035256d828d5287e2D285CD1ac"}}},sxe={id:888,name:"Wanchain",network:"wanchain",nativeCurrency:{name:"WANCHAIN",symbol:"WAN",decimals:18},rpcUrls:{default:{http:["https://gwan-ssl.wandevs.org:56891","https://gwan2-ssl.wandevs.org"]},public:{http:["https://gwan-ssl.wandevs.org:56891","https://gwan2-ssl.wandevs.org"]}},blockExplorers:{etherscan:{name:"WanScan",url:"https://wanscan.org"},default:{name:"WanScan",url:"https://wanscan.org"}},contracts:{multicall3:{address:"0xcDF6A1566e78EB4594c86Fe73Fcdc82429e97fbB",blockCreated:25312390}}},oxe={id:999,name:"Wanchain Testnet",network:"wanchainTestnet",nativeCurrency:{name:"WANCHAIN",symbol:"WANt",decimals:18},rpcUrls:{default:{http:["https://gwan-ssl.wandevs.org:46891"]},public:{http:["https://gwan-ssl.wandevs.org:46891"]}},blockExplorers:{etherscan:{name:"WanScanTest",url:"https://wanscan.org"},default:{name:"WanScanTest",url:"https://wanscan.org"}},contracts:{multicall3:{address:"0x11c89bF4496c39FB80535Ffb4c92715839CC5324",blockCreated:24743448}},testnet:!0},axe={id:50,name:"XinFin Network",network:"xdc",nativeCurrency:{decimals:18,name:"XDC",symbol:"XDC"},rpcUrls:{default:{http:["https://rpc.xinfin.network"]},public:{http:["https://rpc.xinfin.network"]}},blockExplorers:{xinfin:{name:"XinFin",url:"https://explorer.xinfin.network"},default:{name:"Blocksscan",url:"https://xdc.blocksscan.io"}}},cxe={id:51,name:"Apothem Network",network:"xdc-testnet",nativeCurrency:{decimals:18,name:"TXDC",symbol:"TXDC"},rpcUrls:{default:{http:["https://erpc.apothem.network"]},public:{http:["https://erpc.apothem.network"]}},blockExplorers:{xinfin:{name:"XinFin",url:"https://explorer.apothem.network"},default:{name:"Blocksscan",url:"https://apothem.blocksscan.io"}}},lxe={id:1337803,network:"zhejiang",name:"Zhejiang",nativeCurrency:{name:"Zhejiang Ether",symbol:"ZhejETH",decimals:18},rpcUrls:{default:{http:["https://rpc.zhejiang.ethpandaops.io"]},public:{http:["https://rpc.zhejiang.ethpandaops.io"]}},blockExplorers:{beaconchain:{name:"Etherscan",url:"https://zhejiang.beaconcha.in"},blockscout:{name:"Blockscout",url:"https://blockscout.com/eth/zhejiang-testnet"},default:{name:"Beaconchain",url:"https://zhejiang.beaconcha.in"}},testnet:!0},uxe={id:324,name:"zkSync Era",network:"zksync-era",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["https://mainnet.era.zksync.io"],webSocket:["wss://mainnet.era.zksync.io/ws"]},public:{http:["https://mainnet.era.zksync.io"],webSocket:["wss://mainnet.era.zksync.io/ws"]}},blockExplorers:{default:{name:"zkExplorer",url:"https://explorer.zksync.io"}},contracts:{multicall3:{address:"0xF9cda624FBC7e059355ce98a31693d299FACd963"}}},hxe={id:280,name:"zkSync Era Testnet",network:"zksync-era-testnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://testnet.era.zksync.dev"],webSocket:["wss://testnet.era.zksync.dev/ws"]},public:{http:["https://testnet.era.zksync.dev"],webSocket:["wss://testnet.era.zksync.dev/ws"]}},blockExplorers:{default:{name:"zkExplorer",url:"https://goerli.explorer.zksync.io"}},contracts:{multicall3:{address:"0xF9cda624FBC7e059355ce98a31693d299FACd963"}},testnet:!0},fxe={id:7001,name:"ZetaChain Athens Testnet",network:"zetachain-athens-testnet",nativeCurrency:{decimals:18,name:"Zeta",symbol:"aZETA"},rpcUrls:{public:{http:["https://zetachain-athens-evm.blockpi.network/v1/rpc/public"]},default:{http:["https://zetachain-athens-evm.blockpi.network/v1/rpc/public"]}},blockExplorers:{default:{name:"ZetaScan",url:"https://athens3.explorer.zetachain.com"}},testnet:!0},dxe={id:7777777,name:"Zora",network:"zora",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["https://rpc.zora.energy"],webSocket:["wss://rpc.zora.energy"]},public:{http:["https://rpc.zora.energy"],webSocket:["wss://rpc.zora.energy"]}},blockExplorers:{default:{name:"Explorer",url:"https://explorer.zora.energy"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:5882}}},pxe={id:999,name:"Zora Goerli Testnet",network:"zora-testnet",nativeCurrency:{decimals:18,name:"Zora Goerli",symbol:"ETH"},rpcUrls:{default:{http:["https://testnet.rpc.zora.energy"],webSocket:["wss://testnet.rpc.zora.energy"]},public:{http:["https://testnet.rpc.zora.energy"],webSocket:["wss://testnet.rpc.zora.energy"]}},blockExplorers:{default:{name:"Explorer",url:"https://testnet.explorer.zora.energy"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:189123}},testnet:!0};const zX=Object.freeze(Object.defineProperty({__proto__:null,arbitrum:j4e,arbitrumGoerli:z4e,arbitrumNova:H4e,aurora:q4e,auroraTestnet:W4e,avalanche:V4e,avalancheFuji:G4e,base:K4e,baseGoerli:Z4e,bearNetworkChainMainnet:J4e,bearNetworkChainTestnet:Y4e,boba:Q4e,bronos:X4e,bronosTestnet:e6e,bsc:t6e,bscTestnet:r6e,bxn:n6e,bxnTestnet:i6e,canto:s6e,celo:o6e,celoAlfajores:a6e,celoCannoli:c6e,classic:l6e,confluxESpace:u6e,cronos:h6e,cronosTestnet:f6e,crossbell:d6e,dfk:p6e,dogechain:g6e,edgeware:m6e,edgewareTestnet:b6e,ekta:E6e,ektaTestnet:A6e,emerald:w6e,eos:v6e,eosTestnet:y6e,evmos:x6e,evmosTestnet:_6e,ewc:C6e,fantom:S6e,fantomTestnet:I6e,fibo:R6e,filecoin:T6e,filecoinCalibration:k6e,filecoinHyperspace:M6e,flare:N6e,flareTestnet:P6e,foundry:O6e,fuse:D6e,fuseSparknet:$6e,gnosis:j6e,gnosisChiado:z6e,gobi:U6e,goerli:F6e,haqqMainnet:W6e,haqqTestedge2:V6e,hardhat:H6e,harmonyOne:q6e,iotex:B6e,iotexTestnet:L6e,klaytn:G6e,linea:K6e,lineaTestnet:Z6e,localhost:J6e,mainnet:Y6e,mantle:Q6e,mantleTestnet:X6e,metis:e8e,metisGoerli:t8e,mev:r8e,mevTestnet:n8e,modeTestnet:i8e,moonbaseAlpha:s8e,moonbeam:o8e,moonriver:a8e,neonDevnet:c8e,nexi:l8e,nexilix:u8e,oasys:h8e,okc:f8e,optimism:d8e,optimismGoerli:p8e,polygon:g8e,polygonMumbai:m8e,polygonZkEvm:w8e,polygonZkEvmTestnet:b8e,pulsechain:v8e,pulsechainV4:y8e,qMainnet:x8e,qTestnet:_8e,rollux:E8e,rolluxTestnet:A8e,ronin:C8e,saigon:S8e,sapphire:T8e,sapphireTestnet:k8e,scrollSepolia:I8e,scrollTestnet:R8e,sepolia:M8e,shardeumSphinx:Z8e,skaleBlockBrawlers:N8e,skaleCalypso:P8e,skaleCalypsoTestnet:O8e,skaleChaosTestnet:D8e,skaleCryptoBlades:$8e,skaleCryptoColosseum:B8e,skaleEuropa:L8e,skaleEuropaTestnet:U8e,skaleExorde:F8e,skaleHumanProtocol:j8e,skaleNebula:z8e,skaleNebulaTestnet:H8e,skaleRazor:q8e,skaleTitan:W8e,skaleTitanTestnet:V8e,songbird:G8e,songbirdTestnet:K8e,syscoin:J8e,syscoinTestnet:Y8e,taikoTestnetSepolia:X8e,taraxa:Q8e,taraxaTestnet:exe,telos:txe,telosTestnet:rxe,thunderTestnet:nxe,volta:ixe,wanchain:sxe,wanchainTestnet:oxe,xdc:axe,xdcTestnet:cxe,zetachainAthensTestnet:fxe,zhejiang:lxe,zkSync:uxe,zkSyncTestnet:hxe,zora:dxe,zoraTestnet:pxe},Symbol.toStringTag,{value:"Module"})),$u={};for(const r of Object.keys(zX)){const e=zX[r];let t="";((ige=e.rpcUrls)==null?void 0:ige.infura)!==void 0?t=e.rpcUrls.infura.http[0]:((sge=e.rpcUrls)==null?void 0:sge.alchemy)!==void 0&&(t=e.rpcUrls.alchemy.http[0]);const n={id:e.id,name:e.name,testnet:e.testnet??!1,nativeCurrency:e.nativeCurrency,hexId:"0x"+Number(e.id).toString(16),explorerUrl:((oge=e.blockExplorers)==null?void 0:oge.default.url)??"",rpcUrl:((age=e.rpcUrls)==null?void 0:age.default.http[0])??t};((cge=e.rpcUrls)==null?void 0:cge.default.webSocket)!==void 0&&(n.wsUrl=e.rpcUrls.default.webSocket[0]),((uge=(lge=e.rpcUrls)==null?void 0:lge.infura)==null?void 0:uge.webSocket)!==void 0&&n.wsUrl===void 0&&(n.wsUrl=e.rpcUrls.infura.webSocket[0]),((fge=(hge=e.rpcUrls)==null?void 0:hge.alchemy)==null?void 0:fge.webSocket)!==void 0&&n.wsUrl===void 0&&(n.wsUrl=e.rpcUrls.alchemy.webSocket[0]),n.wsUrl===void 0&&delete n.wsUrl,$u[r==="mainnet"?"ethereum":r]=n}const VM={add:(r,e)=>{$u[r]=e},getAll:()=>Object.values($u),findById:r=>Object.values($u).find(e=>e.id===r),findByKey:r=>$u[r],findByName:r=>Object.values($u).find(e=>{var t;return(t=e.name)==null?void 0:t.includes(r)}),findByHexId:r=>Object.values($u).find(e=>e.hexId===r),findBySymbol:r=>Object.values($u).find(e=>e.nativeCurrency.symbol===r),getTestnets:()=>Object.values($u).filter(r=>r.testnet??!1),getMainnets:()=>Object.values($u).filter(r=>!(r.testnet??!1)),...$u},wv=async(r,e)=>{const t=e==null?void 0:e.network,n=async l=>{const u=await r.request(l);if((u==null?void 0:u.error)!==void 0){const h=u.error;throw h.code===-32e3?new Error(kr.RPC_TIMEOUT):new Error(h.message)}return u},i=async l=>await new Promise((u,h)=>{try{n({method:"wallet_addEthereumChain",params:[{chainId:l.hexId,chainName:l.name,rpcUrls:[l.rpcUrl],nativeCurrency:l.nativeCurrency,blockExplorerUrls:[l.explorerUrl]}]}).then(()=>{u(!0)}).catch(p=>{h(p)})}catch(p){h(p)}}),s=async l=>await new Promise((u,h)=>{const p=`0x${l.id.toString(16)}`;n({method:"wallet_switchEthereumChain",params:[{chainId:p}]}).then(()=>{u(!0)}).catch(g=>{if(g.code===4902||String(g.message).includes("wallet_addEthereumChain")){const w=VM.findById(l.id);if(w===void 0){u(!0);return}i(w).then(()=>{u(!0)}).catch(y=>{h(y)})}else h(g)})}),o=async()=>parseInt(await n({method:"eth_chainId"}),16);return await(async()=>await new Promise((l,u)=>{if(t===void 0){l(!0);return}try{(async()=>{await o()!==t.id?s(t).then(()=>{setTimeout(()=>{l(!0)},1e3)}).catch(p=>{u(p)}):l(!0)})()}catch(h){u(h)}}))()},Up={metaMask:"data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2233%22%20viewBox%3D%220%200%2035%2033%22%20width%3D%2235%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%22.25%22%3E%3Cpath%20d%3D%22m32.9582%201-13.1341%209.7183%202.4424-5.72731z%22%20fill%3D%22%23e17726%22%20stroke%3D%22%23e17726%22%2F%3E%3Cg%20fill%3D%22%23e27625%22%20stroke%3D%22%23e27625%22%3E%3Cpath%20d%3D%22m2.66296%201%2013.01714%209.809-2.3254-5.81802z%22%2F%3E%3Cpath%20d%3D%22m28.2295%2023.5335-3.4947%205.3386%207.4829%202.0603%202.1436-7.2823z%22%2F%3E%3Cpath%20d%3D%22m1.27281%2023.6501%202.13055%207.2823%207.46994-2.0603-3.48166-5.3386z%22%2F%3E%3Cpath%20d%3D%22m10.4706%2014.5149-2.0786%203.1358%207.405.3369-.2469-7.969z%22%2F%3E%3Cpath%20d%3D%22m25.1505%2014.5149-5.1575-4.58704-.1688%208.05974%207.4049-.3369z%22%2F%3E%3Cpath%20d%3D%22m10.8733%2028.8721%204.4819-2.1639-3.8583-3.0062z%22%2F%3E%3Cpath%20d%3D%22m20.2659%2026.7082%204.4689%202.1639-.6105-5.1701z%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22m24.7348%2028.8721-4.469-2.1639.3638%202.9025-.039%201.231z%22%20fill%3D%22%23d5bfb2%22%20stroke%3D%22%23d5bfb2%22%2F%3E%3Cpath%20d%3D%22m10.8732%2028.8721%204.1572%201.9696-.026-1.231.3508-2.9025z%22%20fill%3D%22%23d5bfb2%22%20stroke%3D%22%23d5bfb2%22%2F%3E%3Cpath%20d%3D%22m15.1084%2021.7842-3.7155-1.0884%202.6243-1.2051z%22%20fill%3D%22%23233447%22%20stroke%3D%22%23233447%22%2F%3E%3Cpath%20d%3D%22m20.5126%2021.7842%201.0913-2.2935%202.6372%201.2051z%22%20fill%3D%22%23233447%22%20stroke%3D%22%23233447%22%2F%3E%3Cpath%20d%3D%22m10.8733%2028.8721.6495-5.3386-4.13117.1167z%22%20fill%3D%22%23cc6228%22%20stroke%3D%22%23cc6228%22%2F%3E%3Cpath%20d%3D%22m24.0982%2023.5335.6366%205.3386%203.4946-5.2219z%22%20fill%3D%22%23cc6228%22%20stroke%3D%22%23cc6228%22%2F%3E%3Cpath%20d%3D%22m27.2291%2017.6507-7.405.3369.6885%203.7966%201.0913-2.2935%202.6372%201.2051z%22%20fill%3D%22%23cc6228%22%20stroke%3D%22%23cc6228%22%2F%3E%3Cpath%20d%3D%22m11.3929%2020.6958%202.6242-1.2051%201.0913%202.2935.6885-3.7966-7.40495-.3369z%22%20fill%3D%22%23cc6228%22%20stroke%3D%22%23cc6228%22%2F%3E%3Cpath%20d%3D%22m8.392%2017.6507%203.1049%206.0513-.1039-3.0062z%22%20fill%3D%22%23e27525%22%20stroke%3D%22%23e27525%22%2F%3E%3Cpath%20d%3D%22m24.2412%2020.6958-.1169%203.0062%203.1049-6.0513z%22%20fill%3D%22%23e27525%22%20stroke%3D%22%23e27525%22%2F%3E%3Cpath%20d%3D%22m15.797%2017.9876-.6886%203.7967.8704%204.4833.1949-5.9087z%22%20fill%3D%22%23e27525%22%20stroke%3D%22%23e27525%22%2F%3E%3Cpath%20d%3D%22m19.8242%2017.9876-.3638%202.3584.1819%205.9216.8704-4.4833z%22%20fill%3D%22%23e27525%22%20stroke%3D%22%23e27525%22%2F%3E%3Cpath%20d%3D%22m20.5127%2021.7842-.8704%204.4834.6236.4406%203.8584-3.0062.1169-3.0062z%22%20fill%3D%22%23f5841f%22%20stroke%3D%22%23f5841f%22%2F%3E%3Cpath%20d%3D%22m11.3929%2020.6958.104%203.0062%203.8583%203.0062.6236-.4406-.8704-4.4834z%22%20fill%3D%22%23f5841f%22%20stroke%3D%22%23f5841f%22%2F%3E%3Cpath%20d%3D%22m20.5906%2030.8417.039-1.231-.3378-.2851h-4.9626l-.3248.2851.026%201.231-4.1572-1.9696%201.4551%201.1921%202.9489%202.0344h5.0536l2.962-2.0344%201.442-1.1921z%22%20fill%3D%22%23c0ac9d%22%20stroke%3D%22%23c0ac9d%22%2F%3E%3Cpath%20d%3D%22m20.2659%2026.7082-.6236-.4406h-3.6635l-.6236.4406-.3508%202.9025.3248-.2851h4.9626l.3378.2851z%22%20fill%3D%22%23161616%22%20stroke%3D%22%23161616%22%2F%3E%3Cpath%20d%3D%22m33.5168%2011.3532%201.1043-5.36447-1.6629-4.98873-12.6923%209.3944%204.8846%204.1205%206.8983%202.0085%201.52-1.7752-.6626-.4795%201.0523-.9588-.8054-.622%201.0523-.8034z%22%20fill%3D%22%23763e1a%22%20stroke%3D%22%23763e1a%22%2F%3E%3Cpath%20d%3D%22m1%205.98873%201.11724%205.36447-.71451.5313%201.06527.8034-.80545.622%201.05228.9588-.66255.4795%201.51997%201.7752%206.89835-2.0085%204.8846-4.1205-12.69233-9.3944z%22%20fill%3D%22%23763e1a%22%20stroke%3D%22%23763e1a%22%2F%3E%3Cpath%20d%3D%22m32.0489%2016.5234-6.8983-2.0085%202.0786%203.1358-3.1049%206.0513%204.1052-.0519h6.1318z%22%20fill%3D%22%23f5841f%22%20stroke%3D%22%23f5841f%22%2F%3E%3Cpath%20d%3D%22m10.4705%2014.5149-6.89828%202.0085-2.29944%207.1267h6.11883l4.10519.0519-3.10487-6.0513z%22%20fill%3D%22%23f5841f%22%20stroke%3D%22%23f5841f%22%2F%3E%3Cpath%20d%3D%22m19.8241%2017.9876.4417-7.5932%202.0007-5.4034h-8.9119l2.0006%205.4034.4417%207.5932.1689%202.3842.013%205.8958h3.6635l.013-5.8958z%22%20fill%3D%22%23f5841f%22%20stroke%3D%22%23f5841f%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E",walletConnect:"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGJhc2VQcm9maWxlPSJiYXNpYyIgaWQ9IkxheWVyXzEiCgkgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzODcuNiAyMzcuNiIKCSB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBhdGggaWQ9IldhbGxldENvbm5lY3RfMDAwMDAwNzM3MDMwNjM0MzgyMjA2NDI3MzAwMDAwMDI5MTc3MTc1NTIyMzY0NzI0OTZfIiBmaWxsPSIjM0I5OUZDIiBkPSJNNzkuNCw0Ni40CgljNjMuMi02MS45LDE2NS43LTYxLjksMjI4LjksMGw3LjYsNy40YzMuMiwzLjEsMy4yLDguMSwwLDExLjJsLTI2LDI1LjVjLTEuNiwxLjUtNC4xLDEuNS01LjcsMGwtMTAuNS0xMC4zCgljLTQ0LjEtNDMuMi0xMTUuNi00My4yLTE1OS43LDBsLTExLjIsMTFjLTEuNiwxLjUtNC4xLDEuNS01LjcsMEw3MSw2NS44Yy0zLjItMy4xLTMuMi04LjEsMC0xMS4yTDc5LjQsNDYuNHogTTM2Mi4xLDk5LjFsMjMuMiwyMi43CgljMy4yLDMuMSwzLjIsOC4xLDAsMTEuMkwyODAuOCwyMzUuM2MtMy4yLDMuMS04LjMsMy4xLTExLjQsMGMwLDAsMCwwLDAsMGwtNzQuMS03Mi42Yy0wLjgtMC44LTIuMS0wLjgtMi45LDBjMCwwLDAsMCwwLDAKCWwtNzQuMSw3Mi42Yy0zLjIsMy4xLTguMywzLjEtMTEuNCwwYzAsMCwwLDAsMCwwTDIuNCwxMzNjLTMuMi0zLjEtMy4yLTguMSwwLTExLjJsMjMuMi0yMi43YzMuMi0zLjEsOC4zLTMuMSwxMS40LDBsNzQuMSw3Mi42CgljMC44LDAuOCwyLjEsMC44LDIuOSwwYzAsMCwwLDAsMCwwbDc0LjEtNzIuNmMzLjItMy4xLDguMy0zLjEsMTEuNCwwYzAsMCwwLDAsMCwwbDc0LjEsNzIuNmMwLjgsMC44LDIuMSwwLjgsMi45LDBsNzQuMS03Mi42CglDMzUzLjgsOTYsMzU4LjksOTYsMzYyLjEsOTkuMXoiLz4KPC9zdmc+",web3modal:"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKIHdpZHRoPSI0MDAuMDAwMDAwcHQiIGhlaWdodD0iNDAwLjAwMDAwMHB0IiB2aWV3Qm94PSIwIDAgNDAwLjAwMDAwMCA0MDAuMDAwMDAwIgogcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCI+Cgo8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCw0MDAuMDAwMDAwKSBzY2FsZSgwLjEwMDAwMCwtMC4xMDAwMDApIgpmaWxsPSIjMDAwMDAwIiBzdHJva2U9Im5vbmUiPgo8cGF0aCBkPSJNMCAyMDAwIGwwIC0yMDAwIDIwMDAgMCAyMDAwIDAgMCAyMDAwIDAgMjAwMCAtMjAwMCAwIC0yMDAwIDAgMAotMjAwMHogbTIyNjQgNzM2IGMxMjQgLTMyIDI2MSAtOTggMzYzIC0xNzUgOTEgLTY5IDE3MyAtMTUzIDE3MyAtMTc4IDAgLTE3Ci0xODcgLTIwMiAtMjA1IC0yMDMgLTYgMCAtMzEgMjEgLTU1IDQ2IC0yMjcgMjM0IC01NjkgMjk5IC04NTcgMTY0IC03OSAtMzYKLTEzMSAtNzMgLTIxMyAtMTQ5IC0zNiAtMzMgLTcyIC02MCAtODAgLTYxIC0yMCAwIC0yMDAgMTgxIC0yMDAgMjAyIDAgMjQgNDkKNzggMTM2IDE0OCAxMzYgMTA5IDI4MSAxNzkgNDQxIDIxNSAxMDYgMjMgMTE5IDI0IDI2MyAyMCAxMDQgLTMgMTU4IC0xMCAyMzQKLTI5eiBtLTEyODQgLTYwMyBjMTQgLTkgMTMwIC0xMjAgMjU4IC0yNDYgbDIzMyAtMjMxIDU3IDU1IGMzMSAyOSAxNDUgMTQxCjI1MyAyNDYgMTEwIDEwOSAyMDMgMTkzIDIxMyAxOTMgMjAgMCAzOSAtMTggNTIyIC00OTAgMyAtMiA3OCA2OCAxNjcgMTU2IDI3MAoyNjYgMzQ0IDMzNCAzNjIgMzM0IDEwIDAgNTcgLTM5IDEwNiAtODcgNjcgLTY1IDg5IC05MyA4OSAtMTEzIDAgLTIxIC02NiAtOTAKLTM0MSAtMzYwIC0xODggLTE4NCAtMzUwIC0zMzkgLTM2MCAtMzQ0IC0xMSAtNSAtMjcgLTUgLTM4IDAgLTExIDUgLTEyOCAxMTYKLTI2MSAyNDcgLTEzMyAxMzEgLTI0NSAyMzYgLTI0OCAyMzIgLTEzNiAtMTM4IC00OTAgLTQ3MyAtNTA4IC00NzkgLTI4IC0xMQotMTYgLTIyIC00NTEgNDA2IC0yMDMgMTk5IC0yODMgMjg0IC0yODMgMzAwIDAgMjggMTcxIDE5OCAyMDAgMTk4IDMgMCAxNyAtNwozMCAtMTd6Ii8+CjwvZz4KPC9zdmc+Cg==",phantom:"data:image/png;base64,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",trustWallet:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTgiIGhlaWdodD0iNjUiIHZpZXdCb3g9IjAgMCA1OCA2NSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAgOS4zODk0OUwyOC44OTA3IDBWNjUuMDA0MkM4LjI1NDUgNTYuMzM2OSAwIDM5LjcyNDggMCAzMC4zMzUzVjkuMzg5NDlaIiBmaWxsPSIjMDUwMEZGIi8+CjxwYXRoIGQ9Ik01Ny43ODIyIDkuMzg5NDlMMjguODkxNSAwVjY1LjAwNDJDNDkuNTI3NyA1Ni4zMzY5IDU3Ljc4MjIgMzkuNzI0OCA1Ny43ODIyIDMwLjMzNTNWOS4zODk0OVoiIGZpbGw9InVybCgjcGFpbnQwX2xpbmVhcl8yMjAxXzY5NDIpIi8+CjxkZWZzPgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfMjIwMV82OTQyIiB4MT0iNTEuMzYxNSIgeTE9Ii00LjE1MjkzIiB4Mj0iMjkuNTM4NCIgeTI9IjY0LjUxNDciIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agb2Zmc2V0PSIwLjAyMTEyIiBzdG9wLWNvbG9yPSIjMDAwMEZGIi8+CjxzdG9wIG9mZnNldD0iMC4wNzYyNDIzIiBzdG9wLWNvbG9yPSIjMDA5NEZGIi8+CjxzdG9wIG9mZnNldD0iMC4xNjMwODkiIHN0b3AtY29sb3I9IiM0OEZGOTEiLz4KPHN0b3Agb2Zmc2V0PSIwLjQyMDA0OSIgc3RvcC1jb2xvcj0iIzAwOTRGRiIvPgo8c3RvcCBvZmZzZXQ9IjAuNjgyODg2IiBzdG9wLWNvbG9yPSIjMDAzOEZGIi8+CjxzdG9wIG9mZnNldD0iMC45MDI0NjUiIHN0b3AtY29sb3I9IiMwNTAwRkYiLz4KPC9saW5lYXJHcmFkaWVudD4KPC9kZWZzPgo8L3N2Zz4K",bitgetWallet:"data:image/png;base64,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",okxWallet:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJDSURBVHgB7Zq9jtpAEMfHlhEgQLiioXEkoAGECwoKxMcTRHmC5E3IoyRPkPAEkI7unJYmTgEFTYwA8a3NTKScLnCHN6c9r1e3P2llWQy7M/s1Gv1twCP0ej37dDq9x+Zut1t3t9vZjDEHIiSRSPg4ZpDL5fxkMvn1cDh8m0wmfugfO53OoFQq/crn8wxfY9EymQyrVCqMfHvScZx1p9ls3pFxXBy/bKlUipGPrVbLuQqAfsCliq3zl0H84zwtjQrOw4Mt1W63P5LvBm2d+Xz+YzqdgkqUy+WgWCy+Mc/nc282m4FqLBYL+3g8fjDxenq72WxANZbLJeA13zDX67UDioL5ybXwafMYu64Ltn3bdDweQ5R97fd7GyhBQMipx4POeEDHIu2LfDdBIGGz+hJ9CQ1ABjoA2egAZPM6AgiCAEQhsi/C4jHyPA/6/f5NG3Ks2+3CYDC4aTccDrn6ojG54MnEvG00GoVmWLIRNZ7wTCwDHYBsdACy0QHIhiuRETxlICWpMMhGZHmqS8qH6JLyGegAZKMDkI0uKf8X4SWlaZo+Pp1bRrwlJU8ZKLIvUjKh0WiQ3sRUbNVq9c5Ebew7KEo2m/1p4jJ4qAmDaqDQBzj5XyiAT4VCQezJigAU+IDU+z8vJFnGWeC+bKQV/5VZ71FV6L7PA3gg3tXrdQ+DgLhC+75Wq3no69P3MC0NFQpx2lL04Ql9gHK1bRDjsSBIvScBnDTk1WrlGIZBorIDEYJj+rhdgnQ67VmWRe0zlplXl81vcyEt0rSoYDUAAAAASUVORK5CYII=",xdefiWallet:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yMTkxXzQyOTApIj4KPHJlY3Qgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiIHJ4PSIxMDQiIGZpbGw9IiMzMzVERTUiLz4KPHBhdGggZD0iTTQ2My40MzggMjQxLjI0N0M0NjAuNzY1IDIwNS4xMzUgNDQ4LjU4IDE3MC4zMzggNDI4LjA4NyAxNDAuMjcxQzQwNy41OTkgMTEwLjIwOSAzNzkuNTA5IDg1LjkxODIgMzQ2LjU3OSA2OS43OTZDMzEzLjY1MyA1My42NzggMjc3LjAzMiA0Ni4yODA0IDI0MC4zMiA0OC4zMzYzQzIwMy42MDUgNTAuMzkyMSAxNjguMDY5IDYxLjgyNTUgMTM3LjIxMiA4MS41MjAxQzEwNi4zNTQgMTAxLjIxIDgxLjIzOTQgMTI4LjQ4IDY0LjMzODYgMTYwLjYzNkw2My41MzYgMTYyLjI1N0M1OC4xOTcxIDE3My4xMjYgNTQuNTg3OCAxODQuNzQ1IDUyLjg0MTEgMTk2LjY5N0M0Ny44NDU1IDIzMi4wMjEgNTUuNTkyIDI2My40NiA3NS44Mjc1IDI4Ny42NjdDOTcuOTU5OSAzMTQuMTM2IDEzMy45OTMgMzI5Ljg3OSAxNzcuMjE1IDMzMS45NDdDMjI5LjgzMiAzMzQuNTU1IDI4Mi4xNDggMzIwLjQzNCAzMTkuMjc1IDI5NC40NThMMzQxLjI4NyAzMDcuMzUzQzMyMC4yNTggMzI1LjI5MSAyNzEuNjM3IDM1Ny41OTQgMTkxLjExMiAzNjIuMDA5QzEwMC43MTkgMzY2LjkzIDYzLjA0MjUgMzM4LjAwMSA2Mi42OTA1IDMzNy43MDZMNTYuMzUxNyAzNDUuNDAzTDQ4IDM1NS4yNzNDNDkuNjAwOCAzNTYuNiA4NS43Mjg1IDM4NS4zMzUgMTcwLjU3NiAzODUuMzM1QzE3Ny41MiAzODUuMzM1IDE4NC44MTYgMzg1LjMzNSAxOTIuNDEyIDM4NC43NDZDMjg5Ljg3MyAzNzkuMzkxIDM0My40NzYgMzM3LjU3NSAzNjIuMjMxIDMxOS42MjlMMzgwLjY0MiAzMzAuNjM3QzM2OC4yNjEgMzQ2LjY1OCAzNTMuMDI1IDM2MC4zMzMgMzM1LjY3IDM3MC45ODJDMjc0LjUwNCA0MDkuODQ5IDE5Ni43MDggNDE0Ljg2NyAxNDIuMjQyIDQxMi4xNjJMMTQxLjA5NiA0MzQuODMxQzE1MC4yNDIgNDM1LjI3MyAxNTkuMDM1IDQzNS40NzEgMTY3LjU4IDQzNS40NzFDMzIxLjA0OCA0MzUuNDcxIDM4My4xMzIgMzY2LjcxOSA0MDAuNTM5IDM0Mi4wNjJMNDE0LjkyNSAzNTAuNDg3QzQwMS4xMzUgMzczLjYwMyAzODIuMzkzIDM5My41NjcgMzU5LjkzMSA0MDguOTM5QzMzMy4wMzQgNDI3LjM0NSAzMDEuNzM1IDQzOC41MzggMjY5LjExNCA0NDEuNDE1TDI3MS4xMTQgNDY0QzMwNy43MzkgNDYwLjc4NiAzNDIuODg4IDQ0OC4yMzYgMzczLjA4OSA0MjcuNTgxQzQwMy4yOSA0MDYuOTI2IDQyNy41MDggMzc4Ljg4MSA0NDMuMzQ5IDM0Ni4yMDdDNDU5LjE4NSAzMTMuNTI5IDQ2Ni4xMTYgMjc3LjM1OCA0NjMuNDM4IDI0MS4yNDdaTTM3NC44MSAyNDQuNzM5QzM2NC42MjYgMjQ0LjczOSAzNTYuMzY4IDIzNi42MTMgMzU2LjM2OCAyMjYuNTg2QzM1Ni4zNjggMjE2LjU2IDM2NC42MjEgMjA4LjQzMyAzNzQuODEgMjA4LjQzM0MzODQuOTkgMjA4LjQzMyAzOTMuMjQ3IDIxNi41NiAzOTMuMjQ3IDIyNi41ODZDMzkzLjI0NyAyMzYuNjEzIDM4NC45OTQgMjQ0LjczOSAzNzQuODEgMjQ0LjczOVoiIGZpbGw9IiNFQ0VDRUMiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMTkxXzQyOTAiPgo8cmVjdCB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K"},gxe={id:"phantom",name:"Phantom",icon:Up.phantom,provider:(dge=window==null?void 0:window.phantom)==null?void 0:dge.ethereum,downloadLink:"https://phantom.app/",platforms:[No.BROWSER,No.MOBILE],isDetected:()=>{var r;return!!((r=window==null?void 0:window.phantom)!=null&&r.ethereum)},createDeepLink:r=>`https://phantom.app/ul/browse/${r}?ref=${r}`,isConnected:async()=>{var r,e;return!!(await((e=(r=window==null?void 0:window.phantom)==null?void 0:r.ethereum)==null?void 0:e.request({method:"eth_accounts"}))).length},connect:async()=>await new Promise((r,e)=>{var n;const t=(n=window==null?void 0:window.phantom)==null?void 0:n.ethereum;try{t==null||t.request({method:"eth_requestAccounts"}).then(()=>{r(t)}).catch(i=>{e(i)})}catch(i){e(i)}})},mxe={id:"metamask",name:"MetaMask",icon:Up.metaMask,downloadLink:"https://metamask.io/download/",provider:window.ethereum,platforms:[No.BROWSER,No.MOBILE],isDetected:()=>{var r;return!!((r=window==null?void 0:window.ethereum)!=null&&r.isMetaMask)},createDeepLink:r=>`https://metamask.app.link/dapp/${r}`,isConnected:async()=>!!(await(window==null?void 0:window.ethereum).request({method:"eth_accounts"})).length,connect:async r=>await new Promise((e,t)=>{const n=window==null?void 0:window.ethereum;try{n==null||n.request({method:"eth_requestAccounts"}).then(()=>{wv(n,r).then(()=>{e(n)}).catch(i=>{t(i)})}).catch(i=>{t(i)})}catch(i){t(i)}})};class GM{constructor(e,t,n){Ee(this,"address");Ee(this,"cachedMethods",{});Ee(this,"ABI");Ee(this,"ethersContract");Ee(this,"provider");Ee(this,"ethers");this.ABI=n??[],this.address=e,this.provider=t??Id.instance,this.ethers=this.provider.ethers,this.ethersContract=this.ethers.contract(e,this.ABI,this.ethers.jsonRpc)}getAddress(){return this.address}async callMethod(e,...t){return this.ethersContract[e](...t)}async callMethodWithCache(e,...t){return this.cachedMethods[e]!==void 0?this.cachedMethods[e]:this.cachedMethods[e]=await this.callMethod(e,...t)}async getMethodData(e,...t){return this.ethersContract.interface.encodeFunctionData(e,t)}async getMethodEstimateGas(e,t,...n){return Number(await this.ethersContract[e].estimateGas(...n,{from:t}))}async createTransactionData(e,t,...n){const[i,s,o,a]=await Promise.all([this.provider.ethers.getGasPrice(),this.provider.ethers.getNonce(t),this.getMethodData(e,...n),this.getMethodEstimateGas(e,t,...n)]);return{from:t,data:o,nonce:s,gasPrice:i,gasLimit:a,value:"0x0",to:this.getAddress(),chainId:this.provider.network.id}}}const HX=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"delegator",type:"address"},{indexed:!0,internalType:"address",name:"fromDelegate",type:"address"},{indexed:!0,internalType:"address",name:"toDelegate",type:"address"}],name:"DelegateChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"delegate",type:"address"},{indexed:!1,internalType:"uint256",name:"previousBalance",type:"uint256"},{indexed:!1,internalType:"uint256",name:"newBalance",type:"uint256"}],name:"DelegateVotesChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"delegatee",type:"address"}],name:"delegate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"delegatee",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"delegateBySig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"delegates",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getPastTotalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getPastVotes",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getVotes",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"string",name:"uri",type:"string"}],name:"safeMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"}];class Bg{constructor(e,t){Ee(this,"rawData");Ee(this,"signedData");Ee(this,"wallet");Ee(this,"provider");this.rawData=e,this.provider=t??Id.instance}async sign(e){try{return this.wallet=this.provider.ethers.wallet(e),this.signedData=await this.wallet.signTransaction(this.rawData),this}catch(t){const n=t;throw n!=null&&n.shortMessage.includes("transaction from address mismatch")?new Error(kr.INVALID_PRIVATE_KEY):t}}async send(){return await this.provider.ethers.jsonRpc.send("eth_sendRawTransaction",[this.signedData])}getRawData(){return this.rawData}getSignedData(){return this.signedData}}class qX extends GM{constructor(e,t,n){super(e,t,n??HX)}async getName(){return await this.callMethodWithCache("name")}async getSymbol(){return await this.callMethodWithCache("symbol")}async getBalance(e){return Number(await this.callMethod("balanceOf",e))}async getOwner(e){return await this.callMethod("ownerOf",e)}async getTokenURI(e){return await this.callMethodWithCache("tokenURI",e)}async getApproved(e){const t=await this.callMethod("getApproved",e);return t==="0x0000000000000000000000000000000000000000"?null:t}async transfer(e,t,n){return await this.transferFrom(e,e,t,n)}async transferFrom(e,t,n,i){if(await this.getBalance(t)<=0)throw new Error(kr.INSUFFICIENT_BALANCE);if(await this.getOwner(i)!==t)throw new Error(kr.UNAUTHORIZED_ADDRESS);if(e!==t&&await this.getApproved(i)!==e)throw new Error(kr.UNAUTHORIZED_ADDRESS);return new Bg(await this.createTransactionData("transferFrom",e,t,n,i))}async approve(e,t,n){if(await this.getBalance(e)<=0)throw new Error(kr.INSUFFICIENT_BALANCE);if(await this.getOwner(n)!==e)throw new Error(kr.UNAUTHORIZED_ADDRESS);return new Bg(await this.createTransactionData("approve",e,t,n))}}class bxe{constructor(e){Ee(this,"provider");this.provider=e??Id.instance}getName(){return this.provider.network.nativeCurrency.name??this.provider.network.nativeCurrency.symbol}getSymbol(){return this.provider.network.nativeCurrency.symbol}getDecimals(){return this.provider.network.nativeCurrency.decimals}async getBalance(e){const t=await this.provider.ethers.getBalance(e);return ad(t.toString(),this.getDecimals())}async transfer(e,t,n){if(n<0)throw new Error(kr.INVALID_AMOUNT);if(n>await this.getBalance(e))throw new Error(kr.INSUFFICIENT_BALANCE);const i=t4(n,this.getDecimals()),s={data:"0x",to:t,from:e,value:i,chainId:this.provider.network.id},[o,a,l]=await Promise.all([this.provider.ethers.getGasPrice(),this.provider.ethers.getNonce(e),this.provider.ethers.getEstimateGas(s)]);return s.nonce=a,s.gasPrice=o,s.gasLimit=l,new Bg(s)}}const WX=[{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"success",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"success",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"success",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"remaining",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{anonymous:!1,inputs:[{indexed:!0,name:"_from",type:"address"},{indexed:!0,name:"_to",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"_owner",type:"address"},{indexed:!0,name:"_spender",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Approval",type:"event"}];class VX extends GM{constructor(e,t,n){super(e,t,n??WX)}async getName(){return await this.callMethodWithCache("name")}async getSymbol(){return await this.callMethodWithCache("symbol")}async getDecimals(){return Number(await this.callMethodWithCache("decimals"))}async getBalance(e){const[t,n]=await Promise.all([this.getDecimals(),this.callMethod("balanceOf",e)]);return ad(n,t)}async getTotalSupply(){const[e,t]=await Promise.all([this.getDecimals(),this.callMethod("totalSupply")]);return ad(t,e)}async getAllowance(e,t){const[n,i]=await Promise.all([this.getDecimals(),await this.callMethod("allowance",e,t)]);return ad(i,n)}async transfer(e,t,n){if(n<=0)throw new Error(kr.INVALID_AMOUNT);const i=await this.getBalance(e);if(n>i)throw new Error(kr.INSUFFICIENT_BALANCE);const s=t4(n,await this.getDecimals());return new Bg(await this.createTransactionData("transfer",e,t,s))}async transferFrom(e,t,n,i){if(i<0)throw new Error(kr.INVALID_AMOUNT);const s=await this.getBalance(t);if(i>s)throw new Error(kr.INSUFFICIENT_BALANCE);const o=await this.getAllowance(t,e);if(o===0)throw new Error(kr.UNAUTHORIZED_ADDRESS);if(i>o)throw new Error(kr.INVALID_AMOUNT);const a=t4(i,await this.getDecimals());return new Bg(await this.createTransactionData("transferFrom",e,t,n,a))}async approve(e,t,n){if(n<0)throw new Error(kr.INVALID_AMOUNT);const i=await this.getBalance(e);if(n>i)throw new Error(kr.INSUFFICIENT_BALANCE);const s=t4(n,await this.getDecimals());return new Bg(await this.createTransactionData("approve",e,t,s))}}const wxe=Object.freeze(Object.defineProperty({__proto__:null,Coin:bxe,Contract:GM,NFT:qX,Token:VX},Symbol.toStringTag,{value:"Module"})),vxe={[bn.TOKEN]:["0xa9059cbb","0x095ea7b3","0x23b872dd"],[bn.NFT]:["0x23b872dd","0x095ea7b3","0x42842e0e","0xb88d4fde","0xf242432a","0x2eb2c2d6","0x29535c7e"]};class kA{constructor(e,t){Ee(this,"id");Ee(this,"provider");Ee(this,"ethers");Ee(this,"data");this.id=e,this.provider=t??Id.instance,this.ethers=this.provider.ethers}async getData(){var e,t;if(((e=this.data)==null?void 0:e.response)!==void 0&&((t=this.data)==null?void 0:t.receipt)!==null)return this.data;try{const n=await this.ethers.getTransaction(this.id);if(n===null)return null;const i=await this.ethers.getTransactionReceipt(this.id);return this.data={response:n,receipt:i}}catch(n){throw n instanceof Error&&String(n.message).includes("timeout")?new Error(kr.RPC_TIMEOUT):new Error(kr.RPC_REQUEST_ERROR)}}async wait(e=4e3){return await new Promise((t,n)=>{const i=async()=>{try{const s=await this.getStatus();if(s!==Kn.PENDING){t(s);return}setTimeout(i,e)}catch{n(Kn.FAILED)}};i()})}getId(){return this.id}async getType(){const e=await this.getData();if(e===null)return bn.GENERAL;if(await this.provider.ethers.getByteCode(e.response.to??"")==="0x"||e.response.data==="0x")return bn.COIN;if(Object.entries(vxe).find(([i,s])=>s.includes(e.response.data.slice(0,10)))!==void 0){const i=new qX(e.response.to??"");try{return await i.getApproved(1),bn.NFT}catch{return bn.TOKEN}}return bn.CONTRACT}getUrl(){let e=this.provider.network.explorerUrl;return e+=e.endsWith("/")?"":"/",e+="tx/"+this.id,e}async getSigner(){const e=await this.getData();return(e==null?void 0:e.response.from)??""}async getFee(){var t,n;const e=await this.getData();return((t=e==null?void 0:e.response)==null?void 0:t.gasPrice)===void 0||((n=e==null?void 0:e.receipt)==null?void 0:n.gasUsed)===void 0?0:ad(((e==null?void 0:e.response.gasPrice)*(e==null?void 0:e.receipt.gasUsed)).toString(),this.provider.network.nativeCurrency.decimals)}async getBlockNumber(){const e=await this.getData();return(e==null?void 0:e.response.blockNumber)??0}async getBlockTimestamp(){const e=await this.getBlockNumber(),t=await this.ethers.getBlock(e);return(t==null?void 0:t.timestamp)??0}async getBlockConfirmationCount(){const e=await this.getBlockNumber(),n=await this.ethers.getBlockNumber()-e;return n<0?0:n}async getStatus(){const e=await this.getData();return(e==null?void 0:e.response.blockNumber)!==null&&(e==null?void 0:e.receipt)!==null?(e==null?void 0:e.receipt.status)===1?Kn.CONFIRMED:Kn.FAILED:Kn.PENDING}}class MA extends kA{constructor(t,n,i){super(t,n);Ee(this,"ABI");this.ABI=i??[]}async getAddress(){const t=await this.getData();return(t==null?void 0:t.response.to)??""}async decodeData(t){if(t===void 0){const n=await this.getData();if(n===null)return null;t=n.response}return new Ig(this.ABI).parseTransaction({data:t.data??"",value:t.value??0})}}class GX extends MA{constructor(e,t,n){super(e,t,n??HX)}async getReceiver(){const e=await this.decodeData();return e===null?"":e.name==="transferFrom"?e.args[1]:e.args[0]}async getSender(){const e=await this.decodeData();return e===null?"":e.name==="transferFrom"?e.args[0]:await this.getSigner()}async getNftId(){var e;return Number(((e=await this.decodeData())==null?void 0:e.args[2])??0)}async verifyTransfer(e,t,n){if(await this.getStatus()===Kn.PENDING)return Kn.PENDING;if(await this.getNftId()!==n)return Kn.FAILED;if(e===mn.INCOMING){if((await this.getReceiver()).toLowerCase()!==t.toLowerCase())return Kn.FAILED}else if((await this.getSender()).toLowerCase()!==t.toLowerCase())return Kn.FAILED;return Kn.CONFIRMED}}class KX extends kA{async getReceiver(){const e=await this.getData();return(e==null?void 0:e.response.to)??""}async getSender(){return await this.getSigner()}async getAmount(){const e=await this.getData(),{decimals:t}=this.provider.network.nativeCurrency;return ad(((e==null?void 0:e.response.value)??0).toString(),t)}async verifyTransfer(e,t,n){if(await this.getStatus()===Kn.PENDING)return Kn.PENDING;if(await this.getAmount()!==n)return Kn.FAILED;if(e===mn.INCOMING){if((await this.getReceiver()).toLowerCase()!==t.toLowerCase())return Kn.FAILED}else if((await this.getSender()).toLowerCase()!==t.toLowerCase())return Kn.FAILED;return Kn.CONFIRMED}}class ZX extends MA{constructor(e,t,n){super(e,t,n??WX)}async getReceiver(){const e=await this.decodeData();return e===null?"":e.name==="transferFrom"?e.args[1]:e.args[0]}async getSender(){const e=await this.decodeData();return e===null?"":e.name==="transferFrom"?e.args[0]:await this.getSigner()}async getAmount(){const e=new VX(await this.getAddress()),t=await this.decodeData();return t===null?0:t.name==="transferFrom"?ad(t.args[2].toString(),await e.getDecimals()):ad(t.args[1].toString(),await e.getDecimals())}async verifyTransfer(e,t,n){if(await this.getStatus()===Kn.PENDING)return Kn.PENDING;if(await this.getAmount()!==n)return Kn.FAILED;if(e===mn.INCOMING){if((await this.getReceiver()).toLowerCase()!==t.toLowerCase())return Kn.FAILED}else if((await this.getSender()).toLowerCase()!==t.toLowerCase())return Kn.FAILED;return Kn.CONFIRMED}}const yxe=Object.freeze(Object.defineProperty({__proto__:null,CoinTransaction:KX,ContractTransaction:MA,NftTransaction:GX,TokenTransaction:ZX,Transaction:kA},Symbol.toStringTag,{value:"Module"}));class xxe{constructor(e,t,n){Ee(this,"type");Ee(this,"provider");Ee(this,"status",!1);Ee(this,"ethers");Ee(this,"jsonRpc");Ee(this,"webSocket");Ee(this,"callbacks",[]);Ee(this,"dynamicStop",()=>{});Ee(this,"triggeredTransactions",[]);Ee(this,"filter");this.type=e,this.filter=t??{},this.provider=n??Id.instance,this.ethers=this.provider.ethers,this.jsonRpc=this.provider.ethers.jsonRpc}stop(){this.status&&(this.status=!1,this.dynamicStop())}start(){this.status||(this.status=!0,this[mK[this.type]]())}getStatus(){return this.status}async on(e){if(this.webSocket===void 0){const t=await this.provider.ethers.connectWebSocket();if(typeof t=="string")throw new Error(kr.WS_CONNECTION_FAILED);this.webSocket=t}return this.start(),this.callbacks.push(e),!0}trigger(e){this.triggeredTransactions.includes(e.id)||(this.triggeredTransactions.push(e.id),this.callbacks.forEach(t=>{t(e)}))}generalProcess(){const e=async t=>{var n;if(((n=this.filter)==null?void 0:n.signer)!==void 0){const i=await this.ethers.getTransaction(t);if((i==null?void 0:i.from.toLowerCase())!==this.filter.signer.toLowerCase())return}this.trigger(new kA(t))};this.webSocket.on("pending",e),this.dynamicStop=()=>{this.webSocket.off("pending",e)}}contractProcess(){const e=this.filter;let t;e.address===void 0?t="pending":t={address:e.address};const n=s=>{if(s===null)return!1;const o={},a={};return e.signer!==void 0&&(o.signer=e.signer.toLowerCase(),a.signer=s.from.toLowerCase()),!!r4(o,a)},i=async s=>{let o;if(typeof s=="string"){if(o=await this.ethers.getTransaction(s),!n(o)||await this.ethers.getByteCode((o==null?void 0:o.to)??"")==="0x")return}else o=await this.ethers.getTransaction(s.transactionHash);n(o)&&this.trigger(new MA(o.hash))};this.webSocket.on(t,i),this.dynamicStop=()=>{this.webSocket.off(t,i)}}coinProcess(){const e=this.filter;if(e.signer!==void 0&&e.sender!==void 0&&e.signer!==e.sender)throw new Error("Sender and signer must be the same in coin transactions. Or only one of them can be defined.");const t=async n=>{var h;const i=await this.ethers.getTransaction(n);if(i===null)return;const s=e.sender??e.signer,o={},a={};if(s!==void 0&&(o.sender=s.toLowerCase(),a.sender=i.from.toLowerCase()),e.receiver!==void 0&&(o.receiver=e.receiver.toLowerCase(),a.receiver=(h=i.to)==null?void 0:h.toLowerCase()),!r4(o,a)||await this.ethers.getByteCode((i==null?void 0:i.to)??"")!=="0x")return;const u=new KX(n);e.amount!==void 0&&(await u.wait(),await u.getAmount()!==e.amount)||this.trigger(u)};this.webSocket.on("pending",t),this.dynamicStop=()=>{this.webSocket.off("pending",t)}}tokenProcess(){const e=this.filter,t={address:e.address,topics:[Nc("Transfer(address,address,uint256)"),e.sender!==void 0?Po(e.sender,32):null,e.receiver!==void 0?Po(e.receiver,32):null]},n=async i=>{const s=new ZX(i.transactionHash),o=await s.getData();if(o===null)return;const a=await s.decodeData(o.response);if(a===null||a.name!=="transfer"&&a.name!=="transferFrom")return;const l={},u={};e.signer!==void 0&&(l.signer=e.signer.toLowerCase(),u.signer=o.response.from.toLowerCase()),r4(l,u)&&(e.amount!==void 0&&(await s.wait(),await s.getAmount()!==e.amount)||this.trigger(s))};this.webSocket.on(t,n),this.dynamicStop=()=>{this.webSocket.off(t,n)}}nftProcess(){const e=this.filter,t={address:e.address,topics:[Nc("Transfer(address,address,uint256)"),e.sender!==void 0?Po(e.sender,32):null,e.receiver!==void 0?Po(e.receiver,32):null,e.nftId!==void 0?Po(`0x0${e.nftId.toString(16)}`,32):null]},n=async i=>{const s=new GX(i.transactionHash),o=await s.getData();if(o===null)return;const a=await s.decodeData(o.response);if(a===null||a.name!=="transferFrom")return;const l={},u={};e.signer!==void 0&&(l.signer=e.signer.toLowerCase(),u.signer=o.response.from.toLowerCase()),r4(l,u)&&this.trigger(s)};this.webSocket.on(t,n),this.dynamicStop=()=>{this.webSocket.off(t,n)}}}const _xe=Object.freeze(Object.defineProperty({__proto__:null,TransactionListener:xxe,TransactionSigner:Bg},Symbol.toStringTag,{value:"Module"})),Exe=Symbol(),JX=Object.getPrototypeOf,KM=new WeakMap,Axe=r=>r&&(KM.has(r)?KM.get(r):JX(r)===Object.prototype||JX(r)===Array.prototype),Cxe=r=>Axe(r)&&r[Exe]||null,YX=(r,e=!0)=>{KM.set(r,e)};var NA={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const ZM=r=>typeof r=="object"&&r!==null,Fp=new WeakMap,L4=new WeakSet,Sxe=(r=Object.is,e=(u,h)=>new Proxy(u,h),t=u=>ZM(u)&&!L4.has(u)&&(Array.isArray(u)||!(Symbol.iterator in u))&&!(u instanceof WeakMap)&&!(u instanceof WeakSet)&&!(u instanceof Error)&&!(u instanceof Number)&&!(u instanceof Date)&&!(u instanceof String)&&!(u instanceof RegExp)&&!(u instanceof ArrayBuffer),n=u=>{switch(u.status){case"fulfilled":return u.value;case"rejected":throw u.reason;default:throw u}},i=new WeakMap,s=(u,h,p=n)=>{const g=i.get(u);if((g==null?void 0:g[0])===h)return g[1];const w=Array.isArray(u)?[]:Object.create(Object.getPrototypeOf(u));return YX(w,!0),i.set(u,[h,w]),Reflect.ownKeys(u).forEach(y=>{if(Object.getOwnPropertyDescriptor(w,y))return;const C=Reflect.get(u,y),R={value:C,enumerable:!0,configurable:!0};if(L4.has(C))YX(C,!1);else if(C instanceof Promise)delete R.value,R.get=()=>p(C);else if(Fp.has(C)){const[k,M]=Fp.get(C);R.value=s(k,M(),p)}Object.defineProperty(w,y,R)}),Object.preventExtensions(w)},o=new WeakMap,a=[1,1],l=u=>{if(!ZM(u))throw new Error("object required");const h=o.get(u);if(h)return h;let p=a[0];const g=new Set,w=(V,te=++a[0])=>{p!==te&&(p=te,g.forEach(W=>W(V,te)))};let y=a[1];const C=(V=++a[1])=>(y!==V&&!g.size&&(y=V,k.forEach(([te])=>{const W=te[1](V);W>p&&(p=W)})),p),R=V=>(te,W)=>{const P=[...te];P[1]=[V,...P[1]],w(P,W)},k=new Map,M=(V,te)=>{if((NA?"production":void 0)!=="production"&&k.has(V))throw new Error("prop listener already exists");if(g.size){const W=te[3](R(V));k.set(V,[te,W])}else k.set(V,[te])},O=V=>{var te;const W=k.get(V);W&&(k.delete(V),(te=W[1])==null||te.call(W))},B=V=>(g.add(V),g.size===1&&k.forEach(([W,P],b)=>{if((NA?"production":void 0)!=="production"&&P)throw new Error("remove already exists");const d=W[3](R(b));k.set(b,[W,d])}),()=>{g.delete(V),g.size===0&&k.forEach(([W,P],b)=>{P&&(P(),k.set(b,[W]))})}),j=Array.isArray(u)?[]:Object.create(Object.getPrototypeOf(u)),D=e(j,{deleteProperty(V,te){const W=Reflect.get(V,te);O(te);const P=Reflect.deleteProperty(V,te);return P&&w(["delete",[te],W]),P},set(V,te,W,P){const b=Reflect.has(V,te),d=Reflect.get(V,te,P);if(b&&(r(d,W)||o.has(W)&&r(d,o.get(W))))return!0;O(te),ZM(W)&&(W=Cxe(W)||W);let m=W;if(W instanceof Promise)W.then(x=>{W.status="fulfilled",W.value=x,w(["resolve",[te],x])}).catch(x=>{W.status="rejected",W.reason=x,w(["reject",[te],x])});else{!Fp.has(W)&&t(W)&&(m=l(W));const x=!L4.has(m)&&Fp.get(m);x&&M(te,x)}return Reflect.set(V,te,m,P),w(["set",[te],W,d]),!0}});o.set(u,D);const $=[j,C,s,B];return Fp.set(D,$),Reflect.ownKeys(u).forEach(V=>{const te=Object.getOwnPropertyDescriptor(u,V);"value"in te&&(D[V]=u[V],delete te.value,delete te.writable),Object.defineProperty(j,V,te)}),D})=>[l,Fp,L4,r,e,t,n,i,s,o,a],[Ixe]=Sxe();function wi(r={}){return Ixe(r)}function ls(r,e,t){const n=Fp.get(r);(NA?"production":void 0)!=="production"&&!n&&console.warn("Please use proxy object");let i;const s=[],o=n[3];let a=!1;const u=o(h=>{if(s.push(h),t){e(s.splice(0));return}i||(i=Promise.resolve().then(()=>{i=void 0,a&&e(s.splice(0))}))});return a=!0,()=>{a=!1,u()}}function JM(r,e){const t=Fp.get(r);(NA?"production":void 0)!=="production"&&!t&&console.warn("Please use proxy object");const[n,i,s]=t;return s(n,i(),e)}function jp(r){return L4.add(r),r}function Ra(r,e,t,n){let i=r[e];return ls(r,()=>{const s=r[e];Object.is(i,s)||t(i=s)},n)}const YM="https://secure.walletconnect.com",QX=[{label:"Coinbase",name:"coinbase",feeRange:"1-2%",url:""}],$s={FOUR_MINUTES_MS:24e4,TEN_SEC_MS:1e4,ONE_SEC_MS:1e3,SECURE_SITE:YM,SECURE_SITE_DASHBOARD:`${YM}/dashboard`,SECURE_SITE_FAVICON:`${YM}/images/favicon.png`,RESTRICTED_TIMEZONES:["ASIA/SHANGHAI","ASIA/URUMQI","ASIA/CHONGQING","ASIA/HARBIN","ASIA/KASHGAR","ASIA/MACAU","ASIA/HONG_KONG","ASIA/MACAO","ASIA/BEIJING","ASIA/HARBIN"],WC_COINBASE_PAY_SDK_CHAINS:["ethereum","arbitrum","polygon","avalanche-c-chain","optimism","celo","base"],WC_COINBASE_PAY_SDK_FALLBACK_CHAIN:"ethereum",WC_COINBASE_PAY_SDK_CHAIN_NAME_MAP:{Ethereum:"ethereum","Arbitrum One":"arbitrum",Polygon:"polygon",Avalanche:"avalanche-c-chain","OP Mainnet":"optimism",Celo:"celo",Base:"base"},WC_COINBASE_ONRAMP_APP_ID:"bf18c88d-495a-463b-b249-0b9d3656cf5e",SUGGESTED_TOKENS:["ETH","UNI","1INCH","AAVE","SOL","ADA","AVAX","DOT","LINK","NITRO","GAIA","MILK","TRX","NEAR","GNO","WBTC","DAI","WETH","USDC","USDT","ARB","BAL","BICO","CRV","ENS","MATIC","OP"],POPULAR_TOKENS:["ETH","UNI","1INCH","AAVE","SOL","ADA","AVAX","DOT","LINK","NITRO","GAIA","MILK","TRX","NEAR","GNO","WBTC","DAI","WETH","USDC","USDT","ARB","BAL","BICO","CRV","ENS","MATIC","OP","DAI","CHAMP","WOLF","SALE","BAL","BUSD","MUST","BTCpx","ROUTE","HEX","WELT","amDAI","VSQ","VISION","AURUM","pSP","SNX","VC","LINK","CHP","amUSDT","SPHERE","FOX","GIDDY","GFC","OMEN","OX_OLD","DE","WNT"],NATIVE_TOKEN_ADDRESS:"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",CONVERT_SLIPPAGE_TOLERANCE:1},tr={isMobile(){return typeof window<"u"?!!(window.matchMedia("(pointer:coarse)").matches||/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)):!1},checkCaipNetwork(r,e=""){return r==null?void 0:r.id.toLocaleLowerCase().includes(e.toLowerCase())},isAndroid(){const r=window.navigator.userAgent.toLowerCase();return tr.isMobile()&&r.includes("android")},isIos(){const r=window.navigator.userAgent.toLowerCase();return tr.isMobile()&&(r.includes("iphone")||r.includes("ipad"))},isClient(){return typeof window<"u"},isPairingExpired(r){return r?r-Date.now()<=$s.TEN_SEC_MS:!0},isAllowedRetry(r){return Date.now()-r>=$s.ONE_SEC_MS},copyToClopboard(r){navigator.clipboard.writeText(r)},getPairingExpiry(){return Date.now()+$s.FOUR_MINUTES_MS},getPlainAddress(r){return r.split(":")[2]},async wait(r){return new Promise(e=>{setTimeout(e,r)})},debounce(r,e=500){let t;return(...n)=>{function i(){r(...n)}t&&clearTimeout(t),t=setTimeout(i,e)}},isHttpUrl(r){return r.startsWith("http://")||r.startsWith("https://")},formatNativeUrl(r,e){if(tr.isHttpUrl(r))return this.formatUniversalUrl(r,e);let t=r;t.includes("://")||(t=r.replaceAll("/","").replaceAll(":",""),t=`${t}://`),t.endsWith("/")||(t=`${t}/`);const n=encodeURIComponent(e);return{redirect:`${t}wc?uri=${n}`,href:t}},formatUniversalUrl(r,e){if(!tr.isHttpUrl(r))return this.formatNativeUrl(r,e);let t=r;t.endsWith("/")||(t=`${t}/`);const n=encodeURIComponent(e);return{redirect:`${t}wc?uri=${n}`,href:t}},openHref(r,e,t){window.open(r,e,t||"noreferrer noopener")},async preloadImage(r){const e=new Promise((t,n)=>{const i=new Image;i.onload=t,i.onerror=n,i.crossOrigin="anonymous",i.src=r});return Promise.race([e,tr.wait(2e3)])},formatBalance(r,e){var n;let t;if(r==="0")t="0.000";else if(typeof r=="string"){const i=Number(r);i&&(t=(n=i.toString().match(/^-?\d+(?:\.\d{0,3})?/u))==null?void 0:n[0])}return t?`${t} ${e??""}`:`0.000 ${e??""}`},formatBalance2(r,e){var n;let t;if(r==="0")t="0";else if(typeof r=="string"){const i=Number(r);i&&(t=(n=i.toString().match(/^-?\d+(?:\.\d{0,3})?/u))==null?void 0:n[0])}return{value:t??"0",rest:t==="0"?"000":"",symbol:e}},isRestrictedRegion(){try{const{timeZone:r}=new Intl.DateTimeFormat().resolvedOptions(),e=r.toUpperCase();return $s.RESTRICTED_TIMEZONES.includes(e)}catch{return!1}},getApiUrl(){return tr.isRestrictedRegion()?"https://api.web3modal.org":"https://api.web3modal.com"},getBlockchainApiUrl(){return tr.isRestrictedRegion()?"https://rpc.walletconnect.org":"https://rpc.walletconnect.com"},getAnalyticsUrl(){return tr.isRestrictedRegion()?"https://pulse.walletconnect.org":"https://pulse.walletconnect.com"},getUUID(){return crypto!=null&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/gu,r=>{const e=Math.random()*16|0;return(r==="x"?e:e&3|8).toString(16)})},parseError(r){var e,t;return typeof r=="string"?r:typeof((t=(e=r==null?void 0:r.issues)==null?void 0:e[0])==null?void 0:t.message)=="string"?r.issues[0].message:r instanceof Error?r.message:"Unknown error"},sortRequestedNetworks(r,e=[]){const t={};return e&&r&&(r.forEach((n,i)=>{t[n]=i}),e.sort((n,i)=>{const s=t[n.id],o=t[i.id];return s!==void 0&&o!==void 0?s-o:s!==void 0?-1:o!==void 0?1:0})),e},calculateBalance(r){let e=0;for(const t of r)e+=t.value??0;return e},formatTokenBalance(r){const e=r.toFixed(2),[t,n]=e.split(".");return{dollars:t,pennies:n}},isAddress(r){if(/^(?:0x)?[0-9a-f]{40}$/iu.test(r)){if(/^(?:0x)?[0-9a-f]{40}$/iu.test(r)||/^(?:0x)?[0-9A-F]{40}$/iu.test(r))return!0}else return!1;return!1}};class QM{constructor({baseUrl:e}){this.baseUrl=e}async get({headers:e,signal:t,...n}){const i=this.createUrl(n);return(await fetch(i,{method:"GET",headers:e,signal:t,cache:"no-cache"})).json()}async getBlob({headers:e,signal:t,...n}){const i=this.createUrl(n);return(await fetch(i,{method:"GET",headers:e,signal:t})).blob()}async post({body:e,headers:t,signal:n,...i}){const s=this.createUrl(i);return(await fetch(s,{method:"POST",headers:t,body:e?JSON.stringify(e):void 0,signal:n})).json()}async put({body:e,headers:t,signal:n,...i}){const s=this.createUrl(i);return(await fetch(s,{method:"PUT",headers:t,body:e?JSON.stringify(e):void 0,signal:n})).json()}async delete({body:e,headers:t,signal:n,...i}){const s=this.createUrl(i);return(await fetch(s,{method:"DELETE",headers:t,body:e?JSON.stringify(e):void 0,signal:n})).json()}createUrl({path:e,params:t}){const n=new URL(e,this.baseUrl);return t&&Object.entries(t).forEach(([i,s])=>{s&&n.searchParams.append(i,s)}),n}}const $o=wi({projectId:"",sdkType:"w3m",sdkVersion:"html-wagmi-undefined"}),hr={state:$o,subscribeKey(r,e){return Ra($o,r,e)},setProjectId(r){$o.projectId=r},setAllWallets(r){$o.allWallets=r},setIncludeWalletIds(r){$o.includeWalletIds=r},setExcludeWalletIds(r){$o.excludeWalletIds=r},setFeaturedWalletIds(r){$o.featuredWalletIds=r},setTokens(r){$o.tokens=r},setTermsConditionsUrl(r){$o.termsConditionsUrl=r},setPrivacyPolicyUrl(r){$o.privacyPolicyUrl=r},setCustomWallets(r){$o.customWallets=r},setIsSiweEnabled(r){$o.isSiweEnabled=r},setEnableAnalytics(r){$o.enableAnalytics=r},setSdkVersion(r){$o.sdkVersion=r},setMetadata(r){$o.metadata=r},setOnrampEnabled(r){$o.enableOnramp=r},setWalletFeaturesEnabled(r){$o.enableWalletFeatures=r}},Rxe={purchaseCurrencies:[{id:"2b92315d-eab7-5bef-84fa-089a131333f5",name:"USD Coin",symbol:"USDC",networks:[{name:"ethereum-mainnet",display_name:"Ethereum",chain_id:"1",contract_address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{name:"polygon-mainnet",display_name:"Polygon",chain_id:"137",contract_address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"}]},{id:"2b92315d-eab7-5bef-84fa-089a131333f5",name:"Ether",symbol:"ETH",networks:[{name:"ethereum-mainnet",display_name:"Ethereum",chain_id:"1",contract_address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{name:"polygon-mainnet",display_name:"Polygon",chain_id:"137",contract_address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"}]}],paymentCurrencies:[{id:"USD",payment_method_limits:[{id:"card",min:"10.00",max:"7500.00"},{id:"ach_bank_account",min:"10.00",max:"25000.00"}]},{id:"EUR",payment_method_limits:[{id:"card",min:"10.00",max:"7500.00"},{id:"ach_bank_account",min:"10.00",max:"25000.00"}]}]},Txe=tr.getBlockchainApiUrl(),Ul=new QM({baseUrl:Txe}),Ta={fetchIdentity({address:r}){return Ul.get({path:`/v1/identity/${r}`,params:{projectId:hr.state.projectId}})},fetchTransactions({account:r,projectId:e,cursor:t,onramp:n,signal:i}){const s=t?{cursor:t}:{};return Ul.get({path:`/v1/account/${r}/history?projectId=${e}${n?`&onramp=${n}`:""}`,params:s,signal:i})},fetchConvertTokens({projectId:r,chainId:e}){return Ul.get({path:`/v1/convert/tokens?projectId=${r}&chainId=${e}`})},fetchTokenPrice({projectId:r,addresses:e}){return Ul.post({path:"/v1/fungible/price",body:{projectId:r,currency:"usd",addresses:e},headers:{"Content-Type":"application/json"}})},fetchConvertAllowance({projectId:r,tokenAddress:e,userAddress:t}){const{sdkType:n,sdkVersion:i}=hr.state;return Ul.get({path:`/v1/convert/allowance?projectId=${r}&tokenAddress=${e}&userAddress=${t}`,headers:{"Content-Type":"application/json","x-sdk-type":n,"x-sdk-version":i}})},fetchGasPrice({projectId:r,chainId:e}){const{sdkType:t,sdkVersion:n}=hr.state;return Ul.get({path:`/v1/convert/gas-price?projectId=${r}&chainId=${e}`,headers:{"Content-Type":"application/json","x-sdk-type":t,"x-sdk-version":n}})},generateConvertCalldata({amount:r,from:e,projectId:t,to:n,userAddress:i}){return Ul.post({path:"/v1/convert/build-transaction",headers:{"Content-Type":"application/json"},body:{amount:r,eip155:{slippage:$s.CONVERT_SLIPPAGE_TOLERANCE},from:e,projectId:t,to:n,userAddress:i}})},generateApproveCalldata({from:r,projectId:e,to:t,userAddress:n}){const{sdkType:i,sdkVersion:s}=hr.state;return Ul.get({path:`/v1/convert/build-approve?projectId=${e}&userAddress=${n}&from=${r}&to=${t}`,headers:{"Content-Type":"application/json","x-sdk-type":i,"x-sdk-version":s}})},async getBalance(r,e){const{sdkType:t,sdkVersion:n}=hr.state;return Ul.get({path:`/v1/account/${r}/balance`,headers:{"x-sdk-type":t,"x-sdk-version":n},params:{currency:"usd",projectId:hr.state.projectId,chainId:e}})},async generateOnRampURL({destinationWallets:r,partnerUserId:e,defaultNetwork:t,purchaseAmount:n,paymentAmount:i}){return(await Ul.post({path:`/v1/generators/onrampurl?projectId=${hr.state.projectId}`,body:{destinationWallets:r,defaultNetwork:t,partnerUserId:e,defaultExperience:"buy",presetCryptoAmount:n,presetFiatAmount:i}})).url},async getOnrampOptions(){try{return await Ul.get({path:`/v1/onramp/options?projectId=${hr.state.projectId}`})}catch{return Rxe}},async getOnrampQuote({purchaseCurrency:r,paymentCurrency:e,amount:t,network:n}){try{return await Ul.post({path:`/v1/onramp/quote?projectId=${hr.state.projectId}`,body:{purchaseCurrency:r,paymentCurrency:e,amount:t,network:n}})}catch{return{coinbaseFee:{amount:t,currency:e.id},networkFee:{amount:t,currency:e.id},paymentSubtotal:{amount:t,currency:e.id},paymentTotal:{amount:t,currency:e.id},purchaseAmount:{amount:t,currency:e.id},quoteId:"mocked-quote-id"}}}},Rd=wi({message:"",variant:"success",open:!1}),fn={state:Rd,subscribeKey(r,e){return Ra(Rd,r,e)},showSuccess(r){Rd.message=r,Rd.variant="success",Rd.open=!0},showError(r){const e=tr.parseError(r);Rd.message=e,Rd.variant="error",Rd.open=!0},hide(){Rd.open=!1}};function kxe(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var XX={exports:{}},ws=XX.exports={},Gh,Kh;function XM(){throw new Error("setTimeout has not been defined")}function eN(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?Gh=setTimeout:Gh=XM}catch{Gh=XM}try{typeof clearTimeout=="function"?Kh=clearTimeout:Kh=eN}catch{Kh=eN}})();function eee(r){if(Gh===setTimeout)return setTimeout(r,0);if((Gh===XM||!Gh)&&setTimeout)return Gh=setTimeout,setTimeout(r,0);try{return Gh(r,0)}catch{try{return Gh.call(null,r,0)}catch{return Gh.call(this,r,0)}}}function Mxe(r){if(Kh===clearTimeout)return clearTimeout(r);if((Kh===eN||!Kh)&&clearTimeout)return Kh=clearTimeout,clearTimeout(r);try{return Kh(r)}catch{try{return Kh.call(null,r)}catch{return Kh.call(this,r)}}}var Td=[],vv=!1,Lg,PA=-1;function Nxe(){!vv||!Lg||(vv=!1,Lg.length?Td=Lg.concat(Td):PA=-1,Td.length&&tee())}function tee(){if(!vv){var r=eee(Nxe);vv=!0;for(var e=Td.length;e;){for(Lg=Td,Td=[];++PA1)for(var t=1;tn.id===r.id)||(e.unshift(r),e.length>2&&e.pop(),localStorage.setItem(nee,JSON.stringify(e)))}catch{console.info("Unable to set Web3Modal recent")}},getRecentWallets(){try{const r=localStorage.getItem(nee);return r?JSON.parse(r):[]}catch{console.info("Unable to get Web3Modal recent")}return[]},setConnectedWalletImageUrl(r){try{localStorage.setItem(iee,r)}catch{console.info("Unable to set Connected Wallet Image Url")}},getConnectedWalletImageUrl(){try{return localStorage.getItem(iee)}catch{console.info("Unable to set Connected Wallet Image Url")}},setConnectedConnector(r){try{localStorage.setItem(see,r)}catch{console.info("Unable to set Connected Connector")}},getConnectedConnector(){try{return localStorage.getItem(see)}catch{console.info("Unable to get Connected Connector")}}},Oxe=tr.getAnalyticsUrl(),Dxe=new QM({baseUrl:Oxe}),$xe=["MODAL_CREATED"],yv=wi({timestamp:Date.now(),data:{type:"track",event:"MODAL_CREATED"}}),yr={state:yv,subscribe(r){return ls(yv,()=>r(yv))},_getApiHeaders(){const{projectId:r,sdkType:e,sdkVersion:t}=hr.state;return{"x-project-id":r,"x-sdk-type":e,"x-sdk-version":t}},async _sendAnalyticsEvent(r){try{if($xe.includes(r.data.event)||typeof window>"u")return;await Dxe.post({path:"/e",headers:yr._getApiHeaders(),body:{eventId:tr.getUUID(),url:window.location.href,domain:window.location.hostname,timestamp:r.timestamp,props:r.data}})}catch{}},sendEvent(r){yv.timestamp=Date.now(),yv.data=r,hr.state.enableAnalytics&&yr._sendAnalyticsEvent(yv)}},qi=wi({transactions:[],coinbaseTransactions:{},transactionsByYear:{},loading:!1,empty:!1,next:void 0}),la={state:qi,subscribe(r){return ls(qi,()=>r(qi))},async fetchTransactions(r,e){const{projectId:t}=hr.state;if(!t||!r)throw new Error("Transactions can't be fetched without a projectId and an accountAddress");qi.loading=!0;try{const n=await Ta.fetchTransactions({account:r,projectId:t,cursor:qi.next,onramp:e}),i=this.filterSpamTransactions(n.data),s=[...qi.transactions,...i];qi.loading=!1,e==="coinbase"?qi.coinbaseTransactions=this.groupTransactionsByYearAndMonth(qi.coinbaseTransactions,n.data):(qi.transactions=s,qi.transactionsByYear=this.groupTransactionsByYearAndMonth(qi.transactionsByYear,i)),qi.empty=s.length===0,qi.next=n.next?n.next:void 0}catch{yr.sendEvent({type:"track",event:"ERROR_FETCH_TRANSACTIONS",properties:{address:r,projectId:t,cursor:qi.next}}),fn.showError("Failed to fetch transactions"),qi.loading=!1,qi.empty=!0,qi.next=void 0}},groupTransactionsByYearAndMonth(r={},e=[]){const t=r;return e.forEach(n=>{const i=new Date(n.metadata.minedAt).getFullYear(),s=new Date(n.metadata.minedAt).getMonth(),o=t[i]??{},l=(o[s]??[]).filter(u=>u.id!==n.id);t[i]={...o,[s]:[...l,n].sort((u,h)=>new Date(h.metadata.minedAt).getTime()-new Date(u.metadata.minedAt).getTime())}}),t},filterSpamTransactions(r){return r.filter(e=>!e.transfers.every(n=>{var i;return((i=n.nft_info)==null?void 0:i.flags.is_spam)===!0}))},clearCursor(){qi.next=void 0},resetTransactions(){qi.transactions=[],qi.transactionsByYear={},qi.loading=!1,qi.empty=!1,qi.next=void 0}},ho=wi({wcError:!1,buffering:!1}),zr={state:ho,subscribeKey(r,e){return Ra(ho,r,e)},_getClient(){if(!ho._client)throw new Error("ConnectionController client not set");return ho._client},setClient(r){ho._client=jp(r)},connectWalletConnect(){ho.wcPromise=this._getClient().connectWalletConnect(r=>{ho.wcUri=r,ho.wcPairingExpiry=tr.getPairingExpiry()}),vs.setConnectedConnector("WALLET_CONNECT")},async connectExternal(r){var e,t;await((t=(e=this._getClient()).connectExternal)==null?void 0:t.call(e,r)),vs.setConnectedConnector(r.type)},async signMessage(r){return this._getClient().signMessage(r)},parseUnits(r,e){return this._getClient().parseUnits(r,e)},formatUnits(r,e){return this._getClient().formatUnits(r,e)},async sendTransaction(r){return this._getClient().sendTransaction(r)},async estimateGas(r){return this._getClient().estimateGas(r)},checkInstalled(r){var e,t;return(t=(e=this._getClient()).checkInstalled)==null?void 0:t.call(e,r)},resetWcConnection(){ho.wcUri=void 0,ho.wcPairingExpiry=void 0,ho.wcPromise=void 0,ho.wcLinking=void 0,ho.recentWallet=void 0,la.resetTransactions(),vs.deleteWalletConnectDeepLink()},setWcLinking(r){ho.wcLinking=r},setWcError(r){ho.wcError=r,ho.buffering=!1},setRecentWallet(r){ho.recentWallet=r},setBuffering(r){ho.buffering=r},async disconnect(){await this._getClient().disconnect(),this.resetWcConnection()}},U4=wi({loading:!1,open:!1,selectedNetworkId:void 0}),Ug={state:U4,subscribe(r){return ls(U4,()=>r(U4))},set(r){Object.assign(U4,{...U4,...r})}};var oee={exports:{}};(function(r,e){(function(t,n){r.exports=n()})(ct,function(){var t=1e3,n=6e4,i=36e5,s="millisecond",o="second",a="minute",l="hour",u="day",h="week",p="month",g="quarter",w="year",y="date",C="Invalid Date",R=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,k=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(d){var m=["th","st","nd","rd"],x=d%100;return"["+d+(m[(x-20)%10]||m[x]||m[0])+"]"}},O=function(d,m,x){var A=String(d);return!A||A.length>=m?d:""+Array(m+1-A.length).join(x)+d},B={s:O,z:function(d){var m=-d.utcOffset(),x=Math.abs(m),A=Math.floor(x/60),I=x%60;return(m<=0?"+":"-")+O(A,2,"0")+":"+O(I,2,"0")},m:function d(m,x){if(m.date()1)return d(S[0])}else{var E=m.name;G[E]=m,I=E}return!A&&I&&(j=I),I||!A&&j},te=function(d,m){if($(d))return d.clone();var x=typeof m=="object"?m:{};return x.date=d,x.args=arguments,new P(x)},W=B;W.l=V,W.i=$,W.w=function(d,m){return te(d,{locale:m.$L,utc:m.$u,x:m.$x,$offset:m.$offset})};var P=function(){function d(x){this.$L=V(x.locale,null,!0),this.parse(x),this.$x=this.$x||x.x||{},this[D]=!0}var m=d.prototype;return m.parse=function(x){this.$d=function(A){var I=A.date,T=A.utc;if(I===null)return new Date(NaN);if(W.u(I))return new Date;if(I instanceof Date)return new Date(I);if(typeof I=="string"&&!/Z$/i.test(I)){var S=I.match(R);if(S){var E=S[2]-1||0,_=(S[7]||"0").substring(0,3);return T?new Date(Date.UTC(S[1],E,S[3]||1,S[4]||0,S[5]||0,S[6]||0,_)):new Date(S[1],E,S[3]||1,S[4]||0,S[5]||0,S[6]||0,_)}}return new Date(I)}(x),this.init()},m.init=function(){var x=this.$d;this.$y=x.getFullYear(),this.$M=x.getMonth(),this.$D=x.getDate(),this.$W=x.getDay(),this.$H=x.getHours(),this.$m=x.getMinutes(),this.$s=x.getSeconds(),this.$ms=x.getMilliseconds()},m.$utils=function(){return W},m.isValid=function(){return this.$d.toString()!==C},m.isSame=function(x,A){var I=te(x);return this.startOf(A)<=I&&I<=this.endOf(A)},m.isAfter=function(x,A){return te(x)0,G<=j.r||!j.r){G<=1&&B>0&&(j=M[B-1]);var D=k[j.l];w&&(G=w(""+G)),C=typeof D=="string"?D.replace("%d",G):D(G,h,j.l,R);break}}if(h)return C;var $=R?k.future:k.past;return typeof $=="function"?$(C):$.replace("%s",C)},s.to=function(u,h){return a(u,h,this,!0)},s.from=function(u,h){return a(u,h,this)};var l=function(u){return u.$u?i.utc():i()};s.toNow=function(u){return this.to(l(this),u)},s.fromNow=function(u){return this.from(l(this),u)}}})})(cee);var Fxe=cee.exports;const jxe=Sp(Fxe);xv.extend(jxe),xv.extend(Uxe),xv.updateLocale("en",{relativeTime:{future:"in %s",past:"%s ago",s:"%s sec",m:"1 min",mm:"%d min",h:"1 hr",hh:"%d hrs",d:"1 d",dd:"%d d",M:"1 mo",MM:"%d mo",y:"1 yr",yy:"%d yr"}});const rN={getYear(r=new Date().toISOString()){return xv(r).year()},getRelativeDateFromNow(r){return xv(r).fromNow(!0)},formatDate(r,e="DD MMM"){return xv(r).format(e)}},F4={caipNetworkIdToNumber(r){return r?Number(r.split(":")[1]):void 0}},Bo={bigNumber(r){return new Qi(r)},multiply(r,e){if(r===void 0||e===void 0)return Qi(0);const t=new Qi(r),n=new Qi(e);return t.multipliedBy(n)}},ui=wi({supportsAllNetworks:!0,isDefaultCaipNetwork:!1,smartAccountEnabledNetworks:[]}),lr={state:ui,subscribe(r){return ls(ui,()=>r(ui))},subscribeKey(r,e){return Ra(ui,r,e)},_getClient(){if(!ui._client)throw new Error("NetworkController client not set");return ui._client},setClient(r){ui._client=jp(r)},setCaipNetwork(r){ui.caipNetwork=r,Ug.set({selectedNetworkId:r==null?void 0:r.id}),this.state.allowUnsupportedChain||this.checkIfSupportedNetwork()},setDefaultCaipNetwork(r){ui.caipNetwork=r,Ug.set({selectedNetworkId:r==null?void 0:r.id}),ui.isDefaultCaipNetwork=!0},setRequestedCaipNetworks(r){ui.requestedCaipNetworks=r},setAllowUnsupportedChain(r){ui.allowUnsupportedChain=r},setSmartAccountEnabledNetworks(r){ui.smartAccountEnabledNetworks=r},getRequestedCaipNetworks(){const{approvedCaipNetworkIds:r,requestedCaipNetworks:e}=ui,t=r,n=e;return tr.sortRequestedNetworks(t,n)},async getApprovedCaipNetworksData(){const r=await this._getClient().getApprovedCaipNetworksData();ui.supportsAllNetworks=r.supportsAllNetworks,ui.approvedCaipNetworkIds=r.approvedCaipNetworkIds},async switchActiveNetwork(r){await this._getClient().switchCaipNetwork(r),ui.caipNetwork=r,r&&yr.sendEvent({type:"track",event:"SWITCH_NETWORK",properties:{network:r.id}})},checkIfSupportedNetwork(){var r;ui.isUnsupportedChain=!((r=ui.requestedCaipNetworks)!=null&&r.some(e=>{var t;return e.id===((t=ui.caipNetwork)==null?void 0:t.id)})),ui.isUnsupportedChain&&this.showUnsupportedChainUI()},checkIfSmartAccountEnabled(){var e,t;const r=F4.caipNetworkIdToNumber((e=ui.caipNetwork)==null?void 0:e.id);return r?!!((t=ui.smartAccountEnabledNetworks)!=null&&t.includes(r)):!1},resetNetwork(){ui.isDefaultCaipNetwork||(ui.caipNetwork=void 0),ui.approvedCaipNetworkIds=void 0,ui.supportsAllNetworks=!0,ui.smartAccountEnabledNetworks=[]},showUnsupportedChainUI(){setTimeout(()=>{Zr.open({view:"UnsupportedChain"})},300)}},j4={async getTokenList(){var t;return(await Ta.fetchConvertTokens({chainId:(t=lr.state.caipNetwork)==null?void 0:t.id,projectId:hr.state.projectId})).tokens.map(n=>({...n,eip2612:!1,quantity:{decimals:"0",numeric:"0"},price:0,value:0}))},async fetchGasPrice(){const r=hr.state.projectId,e=lr.state.caipNetwork;return e?await Ta.fetchGasPrice({projectId:r,chainId:e.id}):null},async fetchConvertAllowance({tokenAddress:r,userAddress:e,sourceTokenAmount:t,sourceTokenDecimals:n}){const i=hr.state.projectId,s=await Ta.fetchConvertAllowance({projectId:i,tokenAddress:r,userAddress:e});if(s!=null&&s.allowance&&t&&n){const o=zr.parseUnits(t,n);return BigInt(s.allowance)>=o}return!1},async getMyTokensWithBalance(){const r=qt.state.address,e=lr.state.caipNetwork;if(!r||!e)return[];const n=(await Ta.getBalance(r,e.id)).balances;return this.mapBalancesToConvertTokens(n)},mapBalancesToConvertTokens(r){return r.map(e=>{var t;return{symbol:e.symbol,name:e.name,address:e!=null&&e.address?e.address:`${(t=lr.state.caipNetwork)==null?void 0:t.id}:${$s.NATIVE_TOKEN_ADDRESS}`,decimals:parseInt(e.quantity.decimals,10),logoUri:e.iconUrl,eip2612:!1,quantity:e.quantity,price:e.price,value:e.value}})}},Mi=wi({view:"Connect",history:["Connect"],transactionStack:[]}),et={state:Mi,subscribeKey(r,e){return Ra(Mi,r,e)},pushTransactionStack(r){Mi.transactionStack.push(r)},popTransactionStack(r){var t,n;const e=Mi.transactionStack.pop();e&&(r?(this.goBack(),(t=e==null?void 0:e.onCancel)==null||t.call(e)):(e.goBack?this.goBack():e.view&&this.reset(e.view),(n=e==null?void 0:e.onSuccess)==null||n.call(e)))},push(r,e){r!==Mi.view&&(Mi.view=r,Mi.history.push(r),Mi.data=e)},reset(r){Mi.view=r,Mi.history=[r]},replace(r,e){Mi.history.length>1&&Mi.history.at(-1)!==r&&(Mi.view=r,Mi.history[Mi.history.length-1]=r,Mi.data=e)},goBack(){if(Mi.history.length>1){Mi.history.pop();const[r]=Mi.history.slice(-1);r&&(Mi.view=r)}},goBackToIndex(r){if(Mi.history.length>1){Mi.history=Mi.history.slice(0,r+1);const[e]=Mi.history.slice(-1);e&&(Mi.view=e)}}},zxe=15e4,Ct=wi({initialized:!1,loading:!1,loadingPrices:!1,approvalTransaction:void 0,convertTransaction:void 0,transactionError:void 0,transactionLoading:!1,sourceToken:void 0,sourceTokenAmount:"",sourceTokenPriceInUSD:0,toToken:void 0,toTokenAmount:"",toTokenPriceInUSD:0,networkPrice:"0",networkBalanceInUSD:"0",inputError:void 0,slippage:$s.CONVERT_SLIPPAGE_TOLERANCE,tokens:void 0,popularTokens:void 0,suggestedTokens:void 0,foundTokens:void 0,myTokensWithBalance:void 0,tokensPriceMap:{},gasFee:BigInt(0),gasPriceInUSD:0,priceImpact:void 0,maxSlippage:void 0}),pr={state:Ct,subscribe(r){return ls(Ct,()=>r(Ct))},subscribeKey(r,e){return Ra(Ct,r,e)},getParams(){var t,n,i,s,o;const{address:r}=qt.state,e=`${(t=lr.state.caipNetwork)==null?void 0:t.id}:${$s.NATIVE_TOKEN_ADDRESS}`;if(!r)throw new Error("No address found to swap the tokens from.");return{networkAddress:e,fromAddress:r,fromCaipAddress:qt.state.caipAddress,sourceTokenAddress:(n=Ct.sourceToken)==null?void 0:n.address,toTokenAddress:(i=Ct.toToken)==null?void 0:i.address,toTokenAmount:Ct.toTokenAmount,toTokenDecimals:(s=Ct.toToken)==null?void 0:s.decimals,sourceTokenAmount:Ct.sourceTokenAmount,sourceTokenDecimals:(o=Ct.sourceToken)==null?void 0:o.decimals}},setLoading(r){Ct.loading=r},setSourceToken(r){r&&(Ct.sourceToken=r,this.setTokenValues(r.address,"sourceToken"))},setSourceTokenAmount(r){const{sourceTokenAddress:e}=this.getParams();Ct.sourceTokenAmount=r,e&&this.setTokenValues(e,"sourceToken")},setToToken(r){const{sourceTokenAddress:e,sourceTokenAmount:t}=this.getParams();if(!r){Ct.toTokenAmount="0",Ct.toTokenPriceInUSD=0;return}Ct.toToken=r,this.setTokenValues(r.address,"toToken"),e&&t&&this.makeChecks()},setToTokenAmount(r){const{toTokenAddress:e}=this.getParams();Ct.toTokenAmount=r,e&&this.setTokenValues(e,"toToken")},async setTokenValues(r,e){let t=Ct.tokensPriceMap[r]||0;t||(t=await this.getAddressPrice(r)),e==="sourceToken"?Ct.sourceTokenPriceInUSD=t:e==="toToken"&&(Ct.toTokenPriceInUSD=t)},switchTokens(){const r=Ct.toToken?{...Ct.toToken}:void 0,e=Ct.sourceToken?{...Ct.sourceToken}:void 0;this.setSourceToken(r),this.setToToken(e),this.setSourceTokenAmount(Ct.toTokenAmount||"0"),pr.convertTokens()},resetTokens(){Ct.tokens=void 0,Ct.popularTokens=void 0,Ct.myTokensWithBalance=void 0,Ct.initialized=!1},resetValues(){var t;const{networkAddress:r}=this.getParams(),e=(t=Ct.tokens)==null?void 0:t.find(n=>n.address===r);this.setSourceToken(e),Ct.sourceTokenPriceInUSD=Ct.tokensPriceMap[r]||0,Ct.sourceTokenAmount="0",this.setToToken(void 0),Ct.gasPriceInUSD=0},clearError(){Ct.transactionError=void 0},async initializeState(){Ct.initialized||(await this.fetchTokens(),Ct.initialized=!0)},async fetchTokens(){var t;const{networkAddress:r}=this.getParams();await this.getTokenList(),await this.getNetworkTokenPrice(),await this.getMyTokensWithBalance();const e=(t=Ct.tokens)==null?void 0:t.find(n=>n.address===r);e&&this.setSourceToken(e)},async getTokenList(){const r=await j4.getTokenList();Ct.tokens=r,Ct.popularTokens=r.sort((e,t)=>e.symbolt.symbol?1:0).filter(e=>!!$s.POPULAR_TOKENS.includes(e.symbol),{}),Ct.suggestedTokens=r.filter(e=>!!$s.SUGGESTED_TOKENS.includes(e.symbol),{})},async getAddressPrice(r){var l,u;const e=Ct.tokensPriceMap[r];if(e)return e;const n=(await Ta.fetchTokenPrice({projectId:hr.state.projectId,addresses:[r]})).fungibles||[],i=[...Ct.tokens||[],...Ct.myTokensWithBalance||[]],s=(l=i==null?void 0:i.find(h=>h.address===r))==null?void 0:l.symbol,o=((u=n.find(h=>h.symbol===s))==null?void 0:u.price)||"0",a=parseFloat(o);return Ct.tokensPriceMap[r]=a,a},async getNetworkTokenPrice(){var i;const{networkAddress:r}=this.getParams(),t=(i=(await Ta.fetchTokenPrice({projectId:hr.state.projectId,addresses:[r]})).fungibles)==null?void 0:i[0],n=(t==null?void 0:t.price)||"0";Ct.tokensPriceMap[r]=parseFloat(n),Ct.networkPrice=n},async getMyTokensWithBalance(){const r=await j4.getMyTokensWithBalance();r&&(await this.getInitialGasPrice(),this.setBalances(r))},setBalances(r){const{networkAddress:e}=this.getParams(),t=r.find(n=>n.address===e);r.forEach(n=>{Ct.tokensPriceMap[n.address]=n.price||0}),Ct.myTokensWithBalance=r,Ct.networkBalanceInUSD=t?Bo.multiply(t.quantity.numeric,t.price).toString():"0"},async getInitialGasPrice(){const r=await j4.fetchGasPrice();if(!r)return;const e=r.instant,t=BigInt(e),n=BigInt(zxe),i=this.calculateGasPriceInUSD(n,t);Ct.gasPriceInUSD=i},async refreshConvertValues(){const{fromAddress:r,toTokenDecimals:e,toTokenAddress:t}=this.getParams();if(r&&t&&e&&!Ct.loading){const n=await this.getTransaction();this.setTransactionDetails(n)}},calculateGasPriceInEther(r,e){const t=e*r;return Number(t)/1e18},calculateGasPriceInUSD(r,e){const t=this.calculateGasPriceInEther(r,e);return Bo.bigNumber(Ct.networkPrice).multipliedBy(t).toNumber()},calculatePriceImpact(r,e){const t=Ct.sourceTokenAmount,n=Ct.sourceTokenPriceInUSD,i=Ct.toTokenPriceInUSD;return Bo.bigNumber(t).multipliedBy(n).plus(e).dividedBy(r).minus(i).dividedBy(i).multipliedBy(100).toNumber()},calculateMaxSlippage(){const r=Bo.bigNumber(Ct.slippage).dividedBy(100);return Bo.multiply(Ct.sourceTokenAmount,r).toNumber()},async convertTokens(){const{sourceTokenAddress:r,toTokenAddress:e}=this.getParams();!r||!e||await this.makeChecks()},async makeChecks(){const{toTokenDecimals:r,toTokenAddress:e}=this.getParams();if(!r||!e)return;Ct.loading=!0;const t=await this.getTransaction();this.setTransactionDetails(t),Ct.loading=!1},async getTransaction(){const{fromCaipAddress:r,sourceTokenAddress:e,sourceTokenAmount:t,sourceTokenDecimals:n}=this.getParams();if(!r||!e||!t||parseFloat(t)===0||!n)return;const i=await j4.fetchConvertAllowance({userAddress:r,tokenAddress:e,sourceTokenAmount:t,sourceTokenDecimals:n});let s;return i?(Ct.approvalTransaction=void 0,s=await this.createConvert(),Ct.convertTransaction=s):(Ct.convertTransaction=void 0,s=await this.createTokenAllowance(),Ct.approvalTransaction=s),s},getToAmount(){const{sourceTokenDecimals:r}=this.getParams(),t=10**(r||18);return(Ct.sourceTokenPriceInUSD&&Ct.toTokenPriceInUSD&&Ct.sourceTokenAmount?Bo.bigNumber(Ct.sourceTokenAmount).multipliedBy(Ct.sourceTokenPriceInUSD).dividedBy(Ct.toTokenPriceInUSD):Bo.bigNumber(0)).multipliedBy(t).toString()},async createTokenAllowance(){const{fromCaipAddress:r,fromAddress:e,sourceTokenAddress:t,toTokenAddress:n}=this.getParams();if(!r||!n)return;if(!t)throw new Error(">>> createTokenAllowance - No source token address found.");const i=await Ta.generateApproveCalldata({projectId:hr.state.projectId,from:t,to:n,userAddress:r}),s=await zr.estimateGas({address:e,to:tr.getPlainAddress(i.tx.to),data:i.tx.data}),o=this.getToAmount();return{data:i.tx.data,to:tr.getPlainAddress(i.tx.from),gas:s,gasPrice:BigInt(i.tx.eip155.gasPrice),value:BigInt(i.tx.value),toAmount:o}},async sendTransactionForApproval(r){const{fromAddress:e}=this.getParams();Ct.transactionLoading=!0,et.pushTransactionStack({view:null,goBack:!0});try{await zr.sendTransaction({address:e,to:r.to,data:r.data,value:BigInt(r.value),gasPrice:BigInt(r.gasPrice)}),Ct.approvalTransaction=void 0,Ct.transactionLoading=!1,this.makeChecks()}catch(t){const n=t;Ct.transactionError=n==null?void 0:n.shortMessage,Ct.transactionLoading=!1}},async createConvert(){const{networkAddress:r,fromCaipAddress:e,sourceTokenAddress:t,sourceTokenDecimals:n,sourceTokenAmount:i,toTokenAddress:s}=this.getParams();if(!(!e||!i||!t||!s||!n))try{const o=zr.parseUnits(i,n).toString(),a=await Ta.generateConvertCalldata({projectId:hr.state.projectId,userAddress:e,from:t,to:s,amount:o}),l=t===r,u=this.getToAmount(),h=BigInt(a.tx.eip155.gas),p=BigInt(a.tx.eip155.gasPrice),g={data:a.tx.data,to:tr.getPlainAddress(a.tx.to),gas:h,gasPrice:p,value:BigInt(l?o:"0"),toAmount:u};return Ct.gasPriceInUSD=this.calculateGasPriceInUSD(h,p),g}catch{return}},async sendTransactionForConvert(r){if(!r)return;const{fromAddress:e}=this.getParams();Ct.transactionLoading=!0,et.pushTransactionStack({view:"Account",goBack:!1,onSuccess(){pr.resetValues()}});try{const t=await zr.sendTransaction({address:e,to:r.to,data:r.data,gas:r.gas,gasPrice:BigInt(r.gasPrice),value:r.value});return Ct.transactionLoading=!1,setTimeout(()=>{this.resetValues(),this.getMyTokensWithBalance()},1e3),t}catch(t){const n=t;Ct.transactionError=n==null?void 0:n.shortMessage,Ct.transactionLoading=!1,fn.showError((n==null?void 0:n.shortMessage)||"Transaction error");return}},getToTokenValues(r,e){const{toTokenAddress:t}=this.getParams();if(!t)return{toTokenAmount:"0",toTokenPriceInUSD:0};const n=Bo.bigNumber(r).dividedBy(10**e).toFixed(20),i=Ct.tokensPriceMap[t]||"0",s=Bo.bigNumber(i).toNumber();return{toTokenAmount:n,toTokenPriceInUSD:s}},isInsufficientNetworkTokenForGas(){return Bo.bigNumber(Bo.bigNumber(Ct.gasPriceInUSD||"0")).isGreaterThan(Ct.networkBalanceInUSD)},setTransactionDetails(r){const{toTokenAddress:e,toTokenDecimals:t}=this.getParams();if(!r||!e||!t)return;this.isInsufficientNetworkTokenForGas()?Ct.inputError="Insufficient balance":Ct.inputError=void 0;const{toTokenAmount:i,toTokenPriceInUSD:s}=this.getToTokenValues(r.toAmount,t);Ct.toTokenAmount=i,Ct.toTokenPriceInUSD=s,Ct.gasPriceInUSD=this.calculateGasPriceInUSD(r.gas,r.gasPrice),Ct.priceImpact=this.calculatePriceImpact(Ct.toTokenAmount,Ct.gasPriceInUSD),Ct.maxSlippage=this.calculateMaxSlippage()}},Dn=wi({isConnected:!1,currentTab:0,tokenBalance:[],smartAccountDeployed:!1}),qt={state:Dn,subscribe(r){return ls(Dn,()=>r(Dn))},subscribeKey(r,e){return Ra(Dn,r,e)},setIsConnected(r){Dn.isConnected=r},setCaipAddress(r){Dn.caipAddress=r,Dn.address=r?tr.getPlainAddress(r):void 0},setBalance(r,e){Dn.balance=r,Dn.balanceSymbol=e},setProfileName(r){Dn.profileName=r},setProfileImage(r){Dn.profileImage=r},setAddressExplorerUrl(r){Dn.addressExplorerUrl=r},setSmartAccountDeployed(r){Dn.smartAccountDeployed=r},setCurrentTab(r){Dn.currentTab=r},setTokenBalance(r){r&&(Dn.tokenBalance=jp(r))},setConnectedWalletInfo(r){Dn.connectedWalletInfo=r},setPreferredAccountType(r){Dn.preferredAccountType=r},async fetchTokenBalance(){try{if(Dn.address){const r=await Ta.getBalance(Dn.address);this.setTokenBalance(r.balances),pr.setBalances(j4.mapBalancesToConvertTokens(r.balances))}}catch{fn.showError("Failed to fetch token balance")}},resetAccount(){Dn.isConnected=!1,Dn.smartAccountDeployed=!1,Dn.currentTab=0,Dn.caipAddress=void 0,Dn.address=void 0,Dn.balance=void 0,Dn.balanceSymbol=void 0,Dn.profileName=void 0,Dn.profileImage=void 0,Dn.addressExplorerUrl=void 0,Dn.tokenBalance=[],Dn.connectedWalletInfo=void 0,Dn.preferredAccountType=void 0}},Bu=wi({walletImages:{},networkImages:{},connectorImages:{},tokenImages:{},currencyImages:{}}),fo={state:Bu,subscribeNetworkImages(r){return ls(Bu.networkImages,()=>r(Bu.networkImages))},subscribeKey(r,e){return Ra(Bu,r,e)},subscribe(r){return ls(Bu,()=>r(Bu))},setWalletImage(r,e){Bu.walletImages[r]=e},setNetworkImage(r,e){Bu.networkImages[r]=e},setConnectorImage(r,e){Bu.connectorImages[r]=e},setTokenImage(r,e){Bu.tokenImages[r]=e},setCurrencyImage(r,e){Bu.currencyImages[r]=e}},Fg=wi({themeMode:"dark",themeVariables:{}}),Gs={state:Fg,subscribe(r){return ls(Fg,()=>r(Fg))},setThemeMode(r){Fg.themeMode=r;try{const e=$n.getEmailConnector();e&&e.provider.syncTheme({themeMode:Gs.getSnapshot().themeMode})}catch{console.info("Unable to sync theme to email connector")}},setThemeVariables(r){Fg.themeVariables={...Fg.themeVariables,...r};try{const e=$n.getEmailConnector();e&&e.provider.syncTheme({themeVariables:Gs.getSnapshot().themeVariables})}catch{console.info("Unable to sync theme to email connector")}},getSnapshot(){return JM(Fg)}},zp=wi({connectors:[]}),$n={state:zp,subscribeKey(r,e){return Ra(zp,r,e)},setConnectors(r){zp.connectors=r.map(e=>jp(e))},addConnector(r){var e,t;if(zp.connectors.push(jp(r)),r.id==="w3mEmail"){const n=r,i=JM(hr.state);(t=(e=n==null?void 0:n.provider)==null?void 0:e.syncDappData)==null||t.call(e,{metadata:i.metadata,sdkVersion:i.sdkVersion,projectId:i.projectId}),n.provider.syncTheme({themeMode:Gs.getSnapshot().themeMode,themeVariables:Gs.getSnapshot().themeVariables})}},getEmailConnector(){return zp.connectors.find(r=>r.type==="EMAIL")},getAnnouncedConnectorRdns(){return zp.connectors.filter(r=>r.type==="ANNOUNCED").map(r=>{var e;return(e=r.info)==null?void 0:e.rdns})},getConnectors(){return zp.connectors},getConnector(r,e){return zp.connectors.find(t=>{var n;return t.explorerId===r||((n=t.info)==null?void 0:n.rdns)===e})}},Hxe=tr.getApiUrl(),ka=new QM({baseUrl:Hxe}),qxe="40",lee="4",Lo=wi({page:1,count:0,featured:[],recommended:[],wallets:[],search:[],isAnalyticsEnabled:!1}),Nr={state:Lo,subscribeKey(r,e){return Ra(Lo,r,e)},_getApiHeaders(){const{projectId:r,sdkType:e,sdkVersion:t}=hr.state;return{"x-project-id":r,"x-sdk-type":e,"x-sdk-version":t}},async _fetchWalletImage(r){const e=`${ka.baseUrl}/getWalletImage/${r}`,t=await ka.getBlob({path:e,headers:Nr._getApiHeaders()});fo.setWalletImage(r,URL.createObjectURL(t))},async _fetchNetworkImage(r){const e=`${ka.baseUrl}/public/getAssetImage/${r}`,t=await ka.getBlob({path:e,headers:Nr._getApiHeaders()});fo.setNetworkImage(r,URL.createObjectURL(t))},async _fetchConnectorImage(r){const e=`${ka.baseUrl}/public/getAssetImage/${r}`,t=await ka.getBlob({path:e,headers:Nr._getApiHeaders()});fo.setConnectorImage(r,URL.createObjectURL(t))},async _fetchCurrencyImage(r){const e=`${ka.baseUrl}/public/getCurrencyImage/${r}`,t=await ka.getBlob({path:e,headers:Nr._getApiHeaders()});fo.setCurrencyImage(r,URL.createObjectURL(t))},async _fetchTokenImage(r){const e=`${ka.baseUrl}/public/getTokenImage/${r}`,t=await ka.getBlob({path:e,headers:Nr._getApiHeaders()});fo.setTokenImage(r,URL.createObjectURL(t))},async fetchNetworkImages(){const{requestedCaipNetworks:r}=lr.state,e=r==null?void 0:r.map(({imageId:t})=>t).filter(Boolean);e&&await Promise.allSettled(e.map(t=>Nr._fetchNetworkImage(t)))},async fetchConnectorImages(){const{connectors:r}=$n.state,e=r.map(({imageId:t})=>t).filter(Boolean);await Promise.allSettled(e.map(t=>Nr._fetchConnectorImage(t)))},async fetchCurrencyImages(r=[]){await Promise.allSettled(r.map(e=>Nr._fetchCurrencyImage(e)))},async fetchTokenImages(r=[]){await Promise.allSettled(r.map(e=>Nr._fetchTokenImage(e)))},async fetchFeaturedWallets(){const{featuredWalletIds:r}=hr.state;if(r!=null&&r.length){const{data:e}=await ka.get({path:"/getWallets",headers:Nr._getApiHeaders(),params:{page:"1",entries:r!=null&&r.length?String(r.length):lee,include:r==null?void 0:r.join(",")}});e.sort((n,i)=>r.indexOf(n.id)-r.indexOf(i.id));const t=e.map(n=>n.image_id).filter(Boolean);await Promise.allSettled(t.map(n=>Nr._fetchWalletImage(n))),Lo.featured=e}},async fetchRecommendedWallets(){var u;const{includeWalletIds:r,excludeWalletIds:e,featuredWalletIds:t}=hr.state,n=[...e??[],...t??[]].filter(Boolean),{data:i,count:s}=await ka.get({path:"/getWallets",headers:Nr._getApiHeaders(),params:{page:"1",chains:(u=lr.state.caipNetwork)==null?void 0:u.id,entries:lee,include:r==null?void 0:r.join(","),exclude:n==null?void 0:n.join(",")}}),o=vs.getRecentWallets(),a=i.map(h=>h.image_id).filter(Boolean),l=o.map(h=>h.image_id).filter(Boolean);await Promise.allSettled([...a,...l].map(h=>Nr._fetchWalletImage(h))),Lo.recommended=i,Lo.count=s??0},async fetchWallets({page:r}){var l;const{includeWalletIds:e,excludeWalletIds:t,featuredWalletIds:n}=hr.state,i=[...Lo.recommended.map(({id:u})=>u),...t??[],...n??[]].filter(Boolean),{data:s,count:o}=await ka.get({path:"/getWallets",headers:Nr._getApiHeaders(),params:{page:String(r),entries:qxe,chains:(l=lr.state.caipNetwork)==null?void 0:l.id,include:e==null?void 0:e.join(","),exclude:i.join(",")}}),a=s.map(u=>u.image_id).filter(Boolean);await Promise.allSettled([...a.map(u=>Nr._fetchWalletImage(u)),tr.wait(300)]),Lo.wallets=[...Lo.wallets,...s],Lo.count=o>Lo.count?o:Lo.count,Lo.page=r},async searchWallet({search:r}){var s;const{includeWalletIds:e,excludeWalletIds:t}=hr.state;Lo.search=[];const{data:n}=await ka.get({path:"/getWallets",headers:Nr._getApiHeaders(),params:{page:"1",entries:"100",search:r,chains:(s=lr.state.caipNetwork)==null?void 0:s.id,include:e==null?void 0:e.join(","),exclude:t==null?void 0:t.join(",")}}),i=n.map(o=>o.image_id).filter(Boolean);await Promise.allSettled([...i.map(o=>Nr._fetchWalletImage(o)),tr.wait(300)]),Lo.search=n},async reFetchWallets(){Lo.page=1,Lo.wallets=[],await Nr.fetchFeaturedWallets(),await Nr.fetchRecommendedWallets()},prefetch(){const r=[Nr.fetchFeaturedWallets(),Nr.fetchRecommendedWallets(),Nr.fetchNetworkImages(),Nr.fetchConnectorImages()];hr.state.enableAnalytics===void 0&&r.push(Nr.fetchAnalyticsConfig()),Lo.prefetchPromise=Promise.race([Promise.allSettled(r),tr.wait(3e3)])},async fetchAnalyticsConfig(){const{isAnalyticsEnabled:r}=await ka.get({path:"/getAnalyticsConfig",headers:Nr._getApiHeaders()});hr.setEnableAnalytics(r)}},jg=wi({loading:!1,open:!1}),Zr={state:jg,subscribe(r){return ls(jg,()=>r(jg))},subscribeKey(r,e){return Ra(jg,r,e)},async open(r){await Nr.state.prefetchPromise;const e=qt.state.isConnected;r!=null&&r.view?et.reset(r.view):e?et.reset("Account"):et.reset("Connect"),jg.open=!0,Ug.set({open:!0}),yr.sendEvent({type:"track",event:"MODAL_OPEN",properties:{connected:e}})},close(){const r=qt.state.isConnected;jg.open=!1,Ug.set({open:!1}),yr.sendEvent({type:"track",event:"MODAL_CLOSE",properties:{connected:r}})},setLoading(r){jg.loading=r,Ug.set({loading:r})}},z4={id:"2b92315d-eab7-5bef-84fa-089a131333f5",name:"USD Coin",symbol:"USDC",networks:[{name:"ethereum-mainnet",display_name:"Ethereum",chain_id:"1",contract_address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{name:"polygon-mainnet",display_name:"Polygon",chain_id:"137",contract_address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"}]},nN={id:"USD",payment_method_limits:[{id:"card",min:"10.00",max:"7500.00"},{id:"ach_bank_account",min:"10.00",max:"25000.00"}]},Un=wi({providers:QX,selectedProvider:null,error:null,purchaseCurrency:z4,paymentCurrency:nN,purchaseCurrencies:[z4],paymentCurrencies:[],quotesLoading:!1}),Fn={state:Un,subscribe(r){return ls(Un,()=>r(Un))},subscribeKey(r,e){return Ra(Un,r,e)},setSelectedProvider(r){Un.selectedProvider=r},setPurchaseCurrency(r){Un.purchaseCurrency=r},setPaymentCurrency(r){Un.paymentCurrency=r},setPurchaseAmount(r){this.state.purchaseAmount=r},setPaymentAmount(r){this.state.paymentAmount=r},async getAvailableCurrencies(){const r=await Ta.getOnrampOptions();Un.purchaseCurrencies=r.purchaseCurrencies,Un.paymentCurrencies=r.paymentCurrencies,Un.paymentCurrency=r.paymentCurrencies[0]||nN,Un.purchaseCurrency=r.purchaseCurrencies[0]||z4,await Nr.fetchCurrencyImages(r.paymentCurrencies.map(e=>e.id)),await Nr.fetchTokenImages(r.purchaseCurrencies.map(e=>e.symbol))},async getQuote(){var r,e;Un.quotesLoading=!0;try{const t=await Ta.getOnrampQuote({purchaseCurrency:Un.purchaseCurrency,paymentCurrency:Un.paymentCurrency,amount:((r=Un.paymentAmount)==null?void 0:r.toString())||"0",network:(e=Un.purchaseCurrency)==null?void 0:e.symbol});return Un.quotesLoading=!1,Un.purchaseAmount=Number(t.purchaseAmount.amount),t}catch(t){return Un.error=t.message,Un.quotesLoading=!1,null}finally{Un.quotesLoading=!1}},resetState(){Un.providers=QX,Un.selectedProvider=null,Un.error=null,Un.purchaseCurrency=z4,Un.paymentCurrency=nN,Un.purchaseCurrencies=[z4],Un.paymentCurrencies=[],Un.paymentAmount=void 0,Un.purchaseAmount=void 0,Un.quotesLoading=!1}},lc=wi({}),Ma={state:lc,subscribe(r){return ls(lc,()=>r(lc))},subscribeKey(r,e){return Ra(lc,r,e)},setToken(r){r&&(lc.token=jp(r))},setTokenAmount(r){lc.sendTokenAmount=r},setReceiverAddress(r){lc.receiverAddress=r},setReceiverProfileImageUrl(r){lc.receiverProfileImageUrl=r},setReceiverProfileName(r){lc.receiverProfileName=r},resetSend(){lc.token=void 0,lc.sendTokenAmount=void 0,lc.receiverAddress=void 0,lc.receiverProfileImageUrl=void 0,lc.receiverProfileName=void 0}},Zn={getWalletImage(r){if(r!=null&&r.image_url)return r==null?void 0:r.image_url;if(r!=null&&r.image_id)return fo.state.walletImages[r.image_id]},getNetworkImage(r){if(r!=null&&r.imageUrl)return r==null?void 0:r.imageUrl;if(r!=null&&r.imageId)return fo.state.networkImages[r.imageId]},getConnectorImage(r){if(r!=null&&r.imageUrl)return r.imageUrl;if(r!=null&&r.imageId)return fo.state.connectorImages[r.imageId]}},iN={goBackOrCloseModal(){et.state.history.length>1?et.goBack():Zr.close()},navigateAfterNetworkSwitch(){const{history:r}=et.state,e=r.findIndex(t=>t==="Networks");e>=1?et.goBackToIndex(e-1):Zr.close()}};/** +`)!==oe(this,o7))throw new Error(`BIP39 Wordlist for ${this.locale} FAILED`);me(this,tb,t)}return oe(this,tb)};const i4e="0erleonalorenseinceregesticitStanvetearctssi#ch2Athck&tneLl0And#Il.yLeOutO=S|S%b/ra@SurdU'0Ce[Cid|CountCu'Hie=IdOu,-Qui*Ro[TT]T%T*[Tu$0AptDD-tD*[Ju,M.UltV<)Vi)0Rob-0FairF%dRaid0A(EEntRee0Ead0MRRp%tS!_rmBumCoholErtI&LLeyLowMo,O}PhaReadySoT Ways0A>urAz(gOngOuntU'd0Aly,Ch%Ci|G G!GryIm$K!Noun)Nu$O` Sw T&naTiqueXietyY1ArtOlogyPe?P!Pro=Ril1ChCt-EaEnaGueMMedM%MyOundR<+Re,Ri=RowTTefa@Ti,Tw%k0KPe@SaultSetSi,SumeThma0H!>OmTa{T&dT.udeTra@0Ct]D.Gu,NtTh%ToTumn0Era+OcadoOid0AkeA*AyEsomeFulKw?d0Is:ByChel%C#D+GL<)Lc#y~MbooN_{Ad!AftAmA}AshAt AwlAzyEamEd.EekEwI{etImeIspIt-OpO[Ou^OwdUci$UelUi'Umb!Un^UshYY,$2BeLtu*PPbo?dRiousRr|Rta(R=Sh]/omTe3C!:DMa+MpN)Ng R(gShUght WnY3AlBa>BrisCadeCemb CideCl(eC%a>C*a'ErF&'F(eFyG*eLayLiv M3AgramAlAm#dAryCeE'lEtFf G.$Gn.yLemmaNn NosaurRe@RtSag*eScov Sea'ShSmi[S%d Splay/<)V tVideV%)Zzy5Ct%Cum|G~Lph(Ma(Na>NkeyN%OrSeUb!Ve_ftAg#AmaA,-AwEamE[IftIllInkIpI=OpUmY2CkMbNeR(g/T^Ty1Arf1Nam-:G G!RlyRnR`Sily/Sy1HoOlogyOnomy0GeItUca>1F%t0G1GhtTh 2BowD E@r-EgSe0B?kBodyBra)Er+Ot]PloyPow Pty0Ab!A@DD![D%'EmyErgyF%)Ga+G(eH<)JoyLi,OughR-hRollSu*T Ti*TryVelope1Isode0U$Uip0AA'OdeOs]R%Upt0CapeSayS&)Ta>0Ern$H-s1Id&)IlOkeOl=1A@Amp!Ce[Ch<+C.eCludeCu'Ecu>Erci'Hau,Hib.I!I,ItOt-PM&'Mu}Pa@Po'Pro=Pul'0ChCludeComeC*a'DexD-a>Do%Du,ryFN Noc|PutQuirySSue0Em1Ory:CketGu?RZz3AlousAns~yWel9BInKeUr}yY5D+I)MpNg!Ni%Nk/:Ng?oo3EnEpT^upY3CkDD}yNdNgdomSsTT^&TeTt&Wi4EeIfeO{Ow:BBelB%Dd DyKeMpNgua+PtopR+T T(UghUndryVaWWnWsu.Y Zy3Ad AfArnA=Ctu*FtGG$G&dIsu*M#NdNg`NsOp?dSs#Tt Vel3ArB tyBr?yC&'FeFtGhtKeMbM.NkOnQuid/Tt!VeZ?d5AdAnB, C$CkG-NelyNgOpTt yUdUn+VeY$5CkyGga+Mb N?N^Xury3R-s:Ch(eDG-G}tIdIlInJ%KeMm$NNa+Nda>NgoNs]Nu$P!Rb!R^Rg(R(eRketRria+SkSs/ T^T i$ThTrixTt XimumZe3AdowAnAsu*AtCh<-D$DiaLodyLtMb M%yNt]NuRcyR+R.RryShSsa+T$Thod3Dd!DnightLk~]M-NdNimumN%Nu>Rac!Rr%S ySs/akeXXedXtu*5Bi!DelDifyMM|N.%NkeyN, N`OnR$ReRn(gSqu.oTh T]T%Unta(U'VeVie5ChFf(LeLtiplySc!SeumShroomS-/Tu$3Self/ yTh:I=MePk(Rrow/yT]Tu*3ArCkEdGati=G!@I` PhewR=/TTw%kUtr$V WsXt3CeGht5B!I'M(eeOd!Rm$R`SeTab!TeTh(gTi)VelW5C!?Mb R'T:K0EyJe@Li+Scu*S =Ta(Vious0CurEAyEa'Ed+U{UgUn+2EmEtIntL?LeLi)NdNyOlPul?Rt]S.]Ssib!/TatoTt yV tyWd W _@i)Ai'Ed-tEf Epa*Es|EttyEv|I)IdeIm?yIntI%.yIs#Iva>IzeOb!mO)[Odu)Of.OgramOje@Omo>OofOp tyOsp O>@OudOvide2Bl-Dd(g~LpL'Mpk(N^PilPpyR^a'R.yRpo'R'ShTZz!3Ramid:99Al.yAntumArt E,]I{ItIzO>:Bb.Cco#CeCkD?DioIlInI'~yMpN^NdomN+PidReTeTh V&WZ%3AdyAlAs#BelBuildC$lCei=CipeC%dCyc!Du)F!@F%mFu'G]G*tGul?Je@LaxLea'LiefLyMa(Memb M(dMo=Nd NewNtOp&PairPeatPla)P%tQui*ScueSemb!Si,Sour)Sp#'SultTi*T*atTurnUn]Ve$ViewW?d2Y`m0BBb#CeChDeD+F!GhtGidNgOtPp!SkTu$V$V 5AdA,BotBu,CketM<)OfOkieOmSeTa>UghUndU>Y$5Bb DeGLeNNwayR$:DDd!D}[FeIlLadLm#L#LtLu>MeMp!NdTisfyToshiU)Usa+VeY1A!AnA*Att E}HemeHoolI&)I[%sOrp]OutRapRe&RiptRub1AAr^As#AtC#dC*tCt]Cur.yEdEkGm|Le@~M(?Ni%N'Nt&)RiesRvi)Ss]Tt!TupV&_dowAftAllowA*EdEllEriffIeldIftI}IpIv O{OeOotOpOrtOuld O=RimpRugUff!Y0Bl(gCkDeE+GhtGnL|Lk~yLv Mil?Mp!N)NgR&/ Tua>XZe1A>Et^IIllInIrtUll0AbAmEepEnd I)IdeIghtImOgAyEakEelEmEpE*oI{IllIngO{Oma^O}OolOryO=Ra>gyReetRikeR#gRugg!Ud|UffUmb!Y!0Bje@Bm.BwayC)[ChDd&Ff G?G+,ItMm NNnyN'tP PplyP*meReRfa)R+Rpri'RroundR=ySpe@/a(1AllowAmpApArmE?EetIftImIngIt^Ord1MbolMptomRup/em:B!Ck!GIlL|LkNkPeR+tSk/eTtooXi3A^Am~NNGradeHoldOnP Set1BOng::Rd3Ar~ow9UUngU`:3BraRo9NeO",s4e="0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60";let jM=null;class zh extends xA{constructor(){super("en",i4e,s4e)}static wordlist(){return jM==null&&(jM=new zh),jM}}function _X(r){return(1<=12&&t.length<=24,"invalid mnemonic length","mnemonic","[ REDACTED ]");const n=new Uint8Array(Math.ceil(11*t.length/8));let i=0;for(let u=0;u=0,`invalid mnemonic word at index ${u}`,"mnemonic","[ REDACTED ]");for(let p=0;p<11;p++)h&1<<10-p&&(n[i>>3]|=1<<7-i%8),i++}const s=32*t.length/3,o=t.length/3,a=_X(o),l=$t(Ia(n.slice(0,s/8)))[0]&a;return xe(l===(n[n.length-1]&a),"invalid mnemonic checksum","mnemonic","[ REDACTED ]"),St(n.slice(0,s/8))}function HM(r,e){xe(r.length%4===0&&r.length>=16&&r.length<=32,"invalid entropy size","entropy","[ REDACTED ]"),e==null&&(e=zh.wordlist());const t=[0];let n=11;for(let o=0;o8?(t[t.length-1]<<=8,t[t.length-1]|=r[o],n-=8):(t[t.length-1]<<=n,t[t.length-1]|=r[o]>>8-n,t.push(r[o]&o4e(8-n)),n+=3);const i=r.length/4,s=parseInt(Ia(r).substring(2,4),16)&_X(i);return t[t.length-1]<<=i,t[t.length-1]|=s>>8-i,e.join(t.map(o=>e.getWord(o)))}const qM={};class Op{constructor(e,t,n,i,s){Ee(this,"phrase");Ee(this,"password");Ee(this,"wordlist");Ee(this,"entropy");i==null&&(i=""),s==null&&(s=zh.wordlist()),Lh(e,qM,"Mnemonic"),er(this,{phrase:n,password:i,wordlist:s,entropy:t})}computeSeed(){const e=Bs("mnemonic"+this.password,"NFKD");return Nu(Bs(this.phrase,"NFKD"),e,2048,64,"sha512")}static fromPhrase(e,t,n){const i=zM(e,n);return e=HM($t(i),n),new Op(qM,i,e,t,n)}static fromEntropy(e,t,n){const i=$t(e,"entropy"),s=HM(i,n);return new Op(qM,St(i),s,t,n)}static entropyToPhrase(e,t){const n=$t(e,"entropy");return HM(n,t)}static phraseToEntropy(e,t){return zM(e,t)}static isValidMnemonic(e,t){try{return zM(e,t),!0}catch{}return!1}}/*! MIT License. Copyright 2015-2022 Richard Moore . See LICENSE.txt. */var $o=globalThis&&globalThis.__classPrivateFieldGet||function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},WM=globalThis&&globalThis.__classPrivateFieldSet||function(r,e,t,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!i:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,t):i?i.value=t:e.set(r,t),t},_A,Bl,Hh;const a4e={16:10,24:12,32:14},c4e=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],Ll=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],EA=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],l4e=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],u4e=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],h4e=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],f4e=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],d4e=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],p4e=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],g4e=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],m4e=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],b4e=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],w4e=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],v4e=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],y4e=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function VM(r){const e=[];for(let t=0;t>2,$o(this,Hh,"f")[o][h%4]=s[h],$o(this,Bl,"f")[t-o][h%4]=s[h];let a=0,l=i,u;for(;l>16&255]<<24^Ll[u>>8&255]<<16^Ll[u&255]<<8^Ll[u>>24&255]^c4e[a]<<24,a+=1,i!=8)for(let w=1;w>8&255]<<8^Ll[u>>16&255]<<16^Ll[u>>24&255]<<24;for(let w=i/2+1;w>2,g=l%4,$o(this,Hh,"f")[p][g]=s[h],$o(this,Bl,"f")[t-p][g]=s[h++],l++}for(let h=1;h>24&255]^w4e[u>>16&255]^v4e[u>>8&255]^y4e[u&255]}encrypt(e){if(e.length!=16)throw new TypeError("invalid plaintext size (must be 16 bytes)");const t=$o(this,Hh,"f").length-1,n=[0,0,0,0];let i=VM(e);for(let a=0;a<4;a++)i[a]^=$o(this,Hh,"f")[0][a];for(let a=1;a>24&255]^u4e[i[(l+1)%4]>>16&255]^h4e[i[(l+2)%4]>>8&255]^f4e[i[(l+3)%4]&255]^$o(this,Hh,"f")[a][l];i=n.slice()}const s=new Uint8Array(16);let o=0;for(let a=0;a<4;a++)o=$o(this,Hh,"f")[t][a],s[4*a]=(Ll[i[a]>>24&255]^o>>24)&255,s[4*a+1]=(Ll[i[(a+1)%4]>>16&255]^o>>16)&255,s[4*a+2]=(Ll[i[(a+2)%4]>>8&255]^o>>8)&255,s[4*a+3]=(Ll[i[(a+3)%4]&255]^o)&255;return s}decrypt(e){if(e.length!=16)throw new TypeError("invalid ciphertext size (must be 16 bytes)");const t=$o(this,Bl,"f").length-1,n=[0,0,0,0];let i=VM(e);for(let a=0;a<4;a++)i[a]^=$o(this,Bl,"f")[0][a];for(let a=1;a>24&255]^p4e[i[(l+3)%4]>>16&255]^g4e[i[(l+2)%4]>>8&255]^m4e[i[(l+1)%4]&255]^$o(this,Bl,"f")[a][l];i=n.slice()}const s=new Uint8Array(16);let o=0;for(let a=0;a<4;a++)o=$o(this,Bl,"f")[t][a],s[4*a]=(EA[i[a]>>24&255]^o>>24)&255,s[4*a+1]=(EA[i[(a+3)%4]>>16&255]^o>>16)&255,s[4*a+2]=(EA[i[(a+2)%4]>>8&255]^o>>8)&255,s[4*a+3]=(EA[i[(a+1)%4]&255]^o)&255;return s}}_A=new WeakMap,Bl=new WeakMap,Hh=new WeakMap;class EX{constructor(e,t,n){if(n&&!(this instanceof n))throw new Error(`${e} must be instantiated with "new"`);Object.defineProperties(this,{aes:{enumerable:!0,value:new GM(t)},name:{enumerable:!0,value:e}})}}var AA=globalThis&&globalThis.__classPrivateFieldSet||function(r,e,t,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!i:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,t):i?i.value=t:e.set(r,t),t},fv=globalThis&&globalThis.__classPrivateFieldGet||function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},k4,Td;class KM extends EX{constructor(e,t){if(super("ECC",e,KM),k4.set(this,void 0),Td.set(this,void 0),t){if(t.length%16)throw new TypeError("invalid iv size (must be 16 bytes)");AA(this,k4,new Uint8Array(t),"f")}else AA(this,k4,new Uint8Array(16),"f");AA(this,Td,this.iv,"f")}get iv(){return new Uint8Array(fv(this,k4,"f"))}encrypt(e){if(e.length%16)throw new TypeError("invalid plaintext size (must be multiple of 16 bytes)");const t=new Uint8Array(e.length);for(let n=0;nNumber.MAX_SAFE_INTEGER)throw new TypeError("invalid counter initial integer value");for(let t=15;t>=0;--t)Ul(this,Fl,"f")[t]=e%256,e=Math.floor(e/256)}setCounterBytes(e){if(e.length!==16)throw new TypeError("invalid counter initial Uint8Array value length");Ul(this,Fl,"f").set(e)}increment(){for(let e=15;e>=0;e--)if(Ul(this,Fl,"f")[e]===255)Ul(this,Fl,"f")[e]=0;else{Ul(this,Fl,"f")[e]++;break}}encrypt(e){var t,n;const i=new Uint8Array(e);for(let s=0;s16)throw new TypeError("PKCS#7 padding byte out of range");const t=r.length-e;for(let n=0;n0&&(n&n-1)===0,"invalid kdf.N","kdf.N",n),xe(i>0&&s>0,"invalid kdf","kdf",e);const o=vs(r,"crypto.kdfparams.dklen:int!");return xe(o===32,"invalid kdf.dklen","kdf.dflen",o),{name:"scrypt",salt:t,N:n,r:i,p:s,dkLen:64}}else if(e.toLowerCase()==="pbkdf2"){const t=vs(r,"crypto.kdfparams.salt:data!"),n=vs(r,"crypto.kdfparams.prf:string!"),i=n.split("-").pop();xe(i==="sha256"||i==="sha512","invalid kdf.pdf","kdf.pdf",n);const s=vs(r,"crypto.kdfparams.c:int!"),o=vs(r,"crypto.kdfparams.dklen:int!");return xe(o===32,"invalid kdf.dklen","kdf.dklen",o),{name:"pbkdf2",salt:t,count:s,dkLen:o,algorithm:i}}}xe(!1,"unsupported key-derivation function","kdf",e)}function ZM(r,e){const t=JSON.parse(r),n=P4(e),i=SX(t);if(i.name==="pbkdf2"){const{salt:p,count:g,dkLen:w,algorithm:y}=i,C=Nu(n,p,g,w,y);return SA(t,C)}Ue(i.name==="scrypt","cannot be reached","UNKNOWN_ERROR",{params:i});const{salt:s,N:o,r:a,p:l,dkLen:u}=i,h=wd(n,s,o,a,l,u);return SA(t,h)}function IX(r){return new Promise(e=>{setTimeout(()=>{e()},r)})}async function JM(r,e,t){const n=JSON.parse(r),i=P4(e),s=SX(n);if(s.name==="pbkdf2"){t&&(t(0),await IX(0));const{salt:g,count:w,dkLen:y,algorithm:C}=s,T=Nu(i,g,w,y,C);return t&&(t(1),await IX(0)),SA(n,T)}Ue(s.name==="scrypt","cannot be reached","UNKNOWN_ERROR",{params:s});const{salt:o,N:a,r:l,p:u,dkLen:h}=s,p=await bd(i,o,a,l,u,h,t);return SA(n,p)}function TX(r){const e=r.salt!=null?$t(r.salt,"options.salt"):kc(32);let t=1<<17,n=8,i=1;return r.scrypt&&(r.scrypt.N&&(t=r.scrypt.N),r.scrypt.r&&(n=r.scrypt.r),r.scrypt.p&&(i=r.scrypt.p)),xe(typeof t=="number"&&t>0&&Number.isSafeInteger(t)&&(BigInt(t)&BigInt(t-1))===BigInt(0),"invalid scrypt N parameter","options.N",t),xe(typeof n=="number"&&n>0&&Number.isSafeInteger(n),"invalid scrypt r parameter","options.r",n),xe(typeof i=="number"&&i>0&&Number.isSafeInteger(i),"invalid scrypt p parameter","options.p",i),{name:"scrypt",dkLen:32,salt:e,N:t,r:n,p:i}}function RX(r,e,t,n){const i=$t(t.privateKey,"privateKey"),s=n.iv!=null?$t(n.iv,"options.iv"):kc(16);xe(s.length===16,"invalid options.iv length","options.iv",n.iv);const o=n.uuid!=null?$t(n.uuid,"options.uuid"):kc(16);xe(o.length===16,"invalid options.uuid length","options.uuid",n.iv);const a=r.slice(0,16),l=r.slice(16,32),u=new pv(a,s),h=$t(u.encrypt(i)),p=On(Sn([l,h])),g={address:t.address.substring(2).toLowerCase(),id:dk(o),version:3,Crypto:{cipher:"aes-128-ctr",cipherparams:{iv:St(s).substring(2)},ciphertext:St(h).substring(2),kdf:"scrypt",kdfparams:{salt:St(e.salt).substring(2),n:e.N,dklen:32,p:e.p,r:e.r},mac:p.substring(2)}};if(t.mnemonic){const w=n.client!=null?n.client:`ethers/${fE}`,y=t.mnemonic.path||CX,C=t.mnemonic.locale||"en",T=r.slice(32,64),k=$t(t.mnemonic.entropy,"account.mnemonic.entropy"),N=kc(16),O=new pv(T,N),B=$t(O.encrypt(k)),z=new Date,$="UTC--"+(z.getUTCFullYear()+"-"+N4(z.getUTCMonth()+1,2)+"-"+N4(z.getUTCDate(),2)+"T"+N4(z.getUTCHours(),2)+"-"+N4(z.getUTCMinutes(),2)+"-"+N4(z.getUTCSeconds(),2)+".0Z")+"--"+g.address;g["x-ethers"]={client:w,gethFilename:$,path:y,locale:C,mnemonicCounter:St(N).substring(2),mnemonicCiphertext:St(B).substring(2),version:"0.1"}}return JSON.stringify(g)}function IA(r,e,t){t==null&&(t={});const n=P4(e),i=TX(t),s=wd(n,i.salt,i.N,i.r,i.p,64);return RX($t(s),i,r,t)}async function TA(r,e,t){t==null&&(t={});const n=P4(e),i=TX(t),s=await bd(n,i.salt,i.N,i.r,i.p,64,t.progressCallback);return RX($t(s),i,r,t)}const O4="m/44'/60'/0'/0/0",E4e=new Uint8Array([66,105,116,99,111,105,110,32,115,101,101,100]),qh=2147483648,A4e=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),C4e="0123456789abcdef";function RA(r,e){let t="";for(;r;)t=C4e[r%16]+t,r=Math.trunc(r/16);for(;t.length=0;o-=8)i[33+(o>>3)]=r>>24-o&255;const s=$t(gd("sha512",e,i));return{IL:s.slice(0,32),IR:s.slice(32)}}function MX(r,e){const t=e.split("/");xe(t.length>0,"invalid path","path",e),t[0]==="m"&&(xe(r.depth===0,`cannot derive root path (i.e. path starting with "m/") for a node at non-zero depth ${r.depth}`,"path",e),t.shift());let n=r;for(let i=0;i=16&&i.length<=64,"invalid seed","seed","[REDACTED]");const s=$t(gd("sha512",E4e,i)),o=new Pl(St(s.slice(0,32)));return new Yf(Wh,o,"0x00000000",St(s.slice(32)),"m",0,0,n,null)},Ne(Dp,rb);class Dg extends A4{constructor(t,n,i,s,o,a,l,u,h){super(n,h);Ee(this,"publicKey");Ee(this,"fingerprint");Ee(this,"parentFingerprint");Ee(this,"chainCode");Ee(this,"path");Ee(this,"index");Ee(this,"depth");Lh(t,Wh,"HDNodeVoidWallet"),er(this,{publicKey:i});const p=hi(md(Ia(i)),0,4);er(this,{publicKey:i,fingerprint:p,parentFingerprint:s,chainCode:o,path:a,index:l,depth:u})}connect(t){return new Dg(Wh,this.address,this.publicKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,t)}get extendedKey(){return Ue(this.depth<256,"Depth too deep","UNSUPPORTED_OPERATION",{operation:"extendedKey"}),YM(Sn(["0x0488B21E",RA(this.depth,1),this.parentFingerprint,RA(this.index,4),this.chainCode,this.publicKey]))}hasPath(){return this.path!=null}deriveChild(t){const n=Ir(t,"index");xe(n<=4294967295,"invalid index","index",n);let i=this.path;i&&(i+="/"+(n&~qh),n&qh&&(i+="'"));const{IR:s,IL:o}=kX(n,this.chainCode,this.publicKey,null),a=Pl.addPoints(o,this.publicKey,!0),l=Ag(a);return new Dg(Wh,l,a,this.fingerprint,St(s),i,n,this.depth+1,this.provider)}derivePath(t){return MX(this,t)}}function NX(r){const e=Ir(r,"index");return xe(e>=0&&e=0&&e{setTimeout(()=>{e()},r)})}let $g=(dj=class extends hv{constructor(e,t){typeof e=="string"&&!e.startsWith("0x")&&(e="0x"+e);let n=typeof e=="string"?new Pl(e):e;super(n,t)}connect(e){return new $g(this.signingKey,e)}async encrypt(e,t){const n={address:this.address,privateKey:this.privateKey};return await TA(n,e,{progressCallback:t})}encryptSync(e){const t={address:this.address,privateKey:this.privateKey};return IA(t,e)}static async fromEncryptedJson(e,t,n){var s;let i=null;return CA(e)?i=await JM(e,t,n):kA(e)&&(n&&(n(0),await OX(0)),i=MA(e,t),n&&(n(1),await OX(0))),rt(s=$g,l7,cK).call(s,i)}static fromEncryptedJsonSync(e,t){var i;let n=null;return CA(e)?n=ZM(e,t):kA(e)?n=MA(e,t):xe(!1,"invalid JSON wallet","json","[ REDACTED ]"),rt(i=$g,l7,cK).call(i,n)}static createRandom(e){const t=Dp.createRandom();return e?t.connect(e):t}static fromPhrase(e,t){const n=Dp.fromPhrase(e);return t?n.connect(t):n}},l7=new WeakSet,cK=function(e){if(xe(e,"invalid JSON wallet","json","[ REDACTED ]"),"mnemonic"in e&&e.mnemonic&&e.mnemonic.locale==="en"){const n=Op.fromEntropy(e.mnemonic.entropy),i=Dp.fromMnemonic(n,e.mnemonic.path);if(i.address===e.address&&i.privateKey===e.privateKey)return i;console.log("WARNING: JSON mismatch address/privateKey != mnemonic; fallback onto private key")}const t=new $g(e.privateKey);return xe(t.address===e.address,"address/privateKey mismatch","json","[ REDACTED ]"),t},Ne(dj,l7),dj);const S4e=")!@#$%^&*(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_";function I4e(r,e){const t=(1<=r;){const l=i>>s-r;i&=(1<{const i=n.match(/^([a-z]*)([0-9]+)([0-9])(.*)$/);xe(i!==null,"internal error parsing accents","accents",e);let s=0;const o=I4e(parseInt(i[3]),i[4]),a=parseInt(i[2]),l=new RegExp(`([${i[1]}])`,"g");t=t.replace(l,(u,h)=>(--o[s]===0&&(h=String.fromCharCode(h.charCodeAt(0),a),s++),h))}),t.split(",")}class DX extends xA{constructor(t,n,i,s){super(t,n,s);Ne(this,u7,void 0);me(this,u7,i)}get _accent(){return oe(this,u7)}_decodeWords(){return T4e(this._data,this._accent)}}u7=new WeakMap;const $X={en:zh.wordlist()},R4e=Object.freeze(Object.defineProperty({__proto__:null,AbiCoder:Mp,AbstractProvider:iv,AbstractSigner:ov,AlchemyProvider:lv,AnkrProvider:cv,BaseContract:Mg,BaseWallet:hv,Block:aM,BrowserProvider:wA,CloudflareProvider:IM,ConstructorFragment:Du,Contract:Sd,ContractEventPayload:lM,ContractFactory:_4,ContractTransactionReceipt:cM,ContractTransactionResponse:y4,ContractUnknownEventPayload:rA,EnsPlugin:rv,EnsResolver:Ng,ErrorDescription:oM,ErrorFragment:aa,EtherSymbol:gY,EtherscanPlugin:pA,EtherscanProvider:TM,EventFragment:Ol,EventLog:v4,EventPayload:yE,FallbackFragment:$u,FallbackProvider:UM,FeeData:XE,FeeDataNetworkPlugin:aA,FetchCancelSignal:uk,FetchRequest:Do,FetchResponse:Uh,FetchUrlFeeDataNetworkPlugin:mM,FixedNumber:$w,Fragment:Ad,FunctionFragment:Dl,GasCostPlugin:tv,HDNodeVoidWallet:Dg,HDNodeWallet:Dp,Indexed:QE,InfuraProvider:Pp,InfuraWebSocketProvider:PM,Interface:Sg,IpcSocketProvider:vX,JsonRpcApiProvider:hA,JsonRpcProvider:$l,JsonRpcSigner:Pg,LangEn:zh,Log:Ig,LogDescription:iM,MaxInt256:pY,MaxUint256:fY,MessagePrefix:$k,MinInt256:dY,Mnemonic:Op,MulticoinProviderPlugin:gM,N:uY,NamedFragment:Qw,Network:ws,NetworkPlugin:Id,NonceManager:bA,ParamType:Ks,PocketProvider:R4,QuickNodeProvider:uv,Result:Lw,Signature:Mc,SigningKey:Pl,SocketBlockSubscriber:RM,SocketEventSubscriber:MM,SocketPendingSubscriber:kM,SocketProvider:NM,SocketSubscriber:C4,StructFragment:Cd,Transaction:Pc,TransactionDescription:sM,TransactionReceipt:eA,TransactionResponse:Tg,Typed:uo,TypedDataEncoder:xd,UndecodedEventLog:tA,UnmanagedSubscriber:nv,Utf8ErrorFuncs:ck,VoidSigner:A4,Wallet:$g,WebSocketProvider:S4,WeiPerEther:hY,Wordlist:FM,WordlistOwl:xA,WordlistOwlA:DX,ZeroAddress:xg,ZeroHash:DE,accessListify:jh,assert:Ue,assertArgument:xe,assertArgumentCount:dE,assertNormalize:pE,assertPrivate:Lh,checkResultErrors:KZ,computeAddress:Ag,computeHmac:gd,concat:Sn,copyRequest:Xw,dataLength:ud,dataSlice:hi,decodeBase58:sk,decodeBase64:ok,decodeBytes32String:FQ,decodeRlp:Bw,decryptCrowdsaleJson:MA,decryptKeystoreJson:JM,decryptKeystoreJsonSync:ZM,defaultPath:O4,defineProperties:er,dnsEncode:Jk,encodeBase58:vE,encodeBase64:ak,encodeBytes32String:UQ,encodeRlp:Ap,encryptKeystoreJson:TA,encryptKeystoreJsonSync:IA,ensNormalize:Zk,ethers:Object.freeze(Object.defineProperty({__proto__:null,AbiCoder:Mp,AbstractProvider:iv,AbstractSigner:ov,AlchemyProvider:lv,AnkrProvider:cv,BaseContract:Mg,BaseWallet:hv,Block:aM,BrowserProvider:wA,CloudflareProvider:IM,ConstructorFragment:Du,Contract:Sd,ContractEventPayload:lM,ContractFactory:_4,ContractTransactionReceipt:cM,ContractTransactionResponse:y4,ContractUnknownEventPayload:rA,EnsPlugin:rv,EnsResolver:Ng,ErrorDescription:oM,ErrorFragment:aa,EtherSymbol:gY,EtherscanPlugin:pA,EtherscanProvider:TM,EventFragment:Ol,EventLog:v4,EventPayload:yE,FallbackFragment:$u,FallbackProvider:UM,FeeData:XE,FeeDataNetworkPlugin:aA,FetchCancelSignal:uk,FetchRequest:Do,FetchResponse:Uh,FetchUrlFeeDataNetworkPlugin:mM,FixedNumber:$w,Fragment:Ad,FunctionFragment:Dl,GasCostPlugin:tv,HDNodeVoidWallet:Dg,HDNodeWallet:Dp,Indexed:QE,InfuraProvider:Pp,InfuraWebSocketProvider:PM,Interface:Sg,IpcSocketProvider:vX,JsonRpcApiProvider:hA,JsonRpcProvider:$l,JsonRpcSigner:Pg,LangEn:zh,Log:Ig,LogDescription:iM,MaxInt256:pY,MaxUint256:fY,MessagePrefix:$k,MinInt256:dY,Mnemonic:Op,MulticoinProviderPlugin:gM,N:uY,NamedFragment:Qw,Network:ws,NetworkPlugin:Id,NonceManager:bA,ParamType:Ks,PocketProvider:R4,QuickNodeProvider:uv,Result:Lw,Signature:Mc,SigningKey:Pl,SocketBlockSubscriber:RM,SocketEventSubscriber:MM,SocketPendingSubscriber:kM,SocketProvider:NM,SocketSubscriber:C4,StructFragment:Cd,Transaction:Pc,TransactionDescription:sM,TransactionReceipt:eA,TransactionResponse:Tg,Typed:uo,TypedDataEncoder:xd,UndecodedEventLog:tA,UnmanagedSubscriber:nv,Utf8ErrorFuncs:ck,VoidSigner:A4,Wallet:$g,WebSocketProvider:S4,WeiPerEther:hY,Wordlist:FM,WordlistOwl:xA,WordlistOwlA:DX,ZeroAddress:xg,ZeroHash:DE,accessListify:jh,assert:Ue,assertArgument:xe,assertArgumentCount:dE,assertNormalize:pE,assertPrivate:Lh,checkResultErrors:KZ,computeAddress:Ag,computeHmac:gd,concat:Sn,copyRequest:Xw,dataLength:ud,dataSlice:hi,decodeBase58:sk,decodeBase64:ok,decodeBytes32String:FQ,decodeRlp:Bw,decryptCrowdsaleJson:MA,decryptKeystoreJson:JM,decryptKeystoreJsonSync:ZM,defaultPath:O4,defineProperties:er,dnsEncode:Jk,encodeBase58:vE,encodeBase64:ak,encodeBytes32String:UQ,encodeRlp:Ap,encryptKeystoreJson:TA,encryptKeystoreJsonSync:IA,ensNormalize:Zk,formatEther:fk,formatUnits:EE,fromTwos:Mw,getAccountPath:NX,getAddress:zr,getBigInt:cr,getBytes:$t,getBytesCopy:Ws,getCreate2Address:IY,getCreateAddress:BE,getDefaultProvider:wX,getIcapAddress:SY,getIndexedAccountPath:PX,getNumber:Ir,getUint:Nw,hashMessage:KE,hexlify:St,id:Nc,isAddress:TY,isAddressable:LE,isBytesLike:gE,isCallException:e4,isCrowdsaleJson:kA,isError:$s,isHexString:ui,isKeystoreJson:CA,isValidName:sQ,keccak256:On,lock:_Y,makeError:Wi,mask:hd,namehash:p4,parseEther:GZ,parseUnits:AE,pbkdf2:Nu,randomBytes:kc,recoverAddress:g4,resolveAddress:Gs,resolveProperties:qs,ripemd160:md,scrypt:bd,scryptSync:wd,sha256:Ia,sha512:Hw,showThrottleMessage:Np,solidityPacked:ZE,solidityPackedKeccak256:fQ,solidityPackedSha256:dQ,stripZerosLeft:TZ,toBeArray:Vs,toBeHex:ku,toBigInt:mg,toNumber:nk,toQuantity:fd,toTwos:r4,toUtf8Bytes:Bs,toUtf8CodePoints:PZ,toUtf8String:dd,uuidV4:dk,verifyMessage:uQ,verifyTypedData:yQ,version:fE,wordlists:$X,zeroPadBytes:t4,zeroPadValue:Oo},Symbol.toStringTag,{value:"Module"})),formatEther:fk,formatUnits:EE,fromTwos:Mw,getAccountPath:NX,getAddress:zr,getBigInt:cr,getBytes:$t,getBytesCopy:Ws,getCreate2Address:IY,getCreateAddress:BE,getDefaultProvider:wX,getIcapAddress:SY,getIndexedAccountPath:PX,getNumber:Ir,getUint:Nw,hashMessage:KE,hexlify:St,id:Nc,isAddress:TY,isAddressable:LE,isBytesLike:gE,isCallException:e4,isCrowdsaleJson:kA,isError:$s,isHexString:ui,isKeystoreJson:CA,isValidName:sQ,keccak256:On,lock:_Y,makeError:Wi,mask:hd,namehash:p4,parseEther:GZ,parseUnits:AE,pbkdf2:Nu,randomBytes:kc,recoverAddress:g4,resolveAddress:Gs,resolveProperties:qs,ripemd160:md,scrypt:bd,scryptSync:wd,sha256:Ia,sha512:Hw,showThrottleMessage:Np,solidityPacked:ZE,solidityPackedKeccak256:fQ,solidityPackedSha256:dQ,stripZerosLeft:TZ,toBeArray:Vs,toBeHex:ku,toBigInt:mg,toNumber:nk,toQuantity:fd,toTwos:r4,toUtf8Bytes:Bs,toUtf8CodePoints:PZ,toUtf8String:dd,uuidV4:dk,verifyMessage:uQ,verifyTypedData:yQ,version:fE,wordlists:$X,zeroPadBytes:t4,zeroPadValue:Oo},Symbol.toStringTag,{value:"Module"}));class k4e{constructor(e){Ee(this,"network");Ee(this,"jsonRpcProvider");Ee(this,"webSocketProvider");this.network=e,this.jsonRpcProvider=new $l(e.rpcUrl)}get jsonRpc(){return this.jsonRpcProvider}get webSocket(){return this.webSocketProvider}async connectWebSocket(){return await new Promise((e,t)=>{if(this.network.wsUrl===void 0)t(new Error(kr.WS_URL_NOT_DEFINED));else{const n=this.network.wsUrl;rk(n).then(i=>{i instanceof Error?t(i):e(this.webSocketProvider=new S4(n))}).catch(t)}})}contract(e,t,n){return new Sd(e,t,n)}wallet(e,t){return new $g(e,t??this.jsonRpc)}contractFactory(e,t,n){return new _4(e,t,n)}async getByteCode(e){try{return await this.jsonRpc.getCode(e)}catch(t){if(t.code==="UNCONFIGURED_NAME")return await CZ(1e3),await this.getByteCode(e);throw t}}async getEstimateGas(e){return Number(await this.jsonRpcProvider.estimateGas(e))}async getGasPrice(){return(await this.jsonRpc.send("eth_gasPrice",[])).toString()}async getNonce(e){return await this.jsonRpcProvider.getTransactionCount(e)}async getBlock(e,t){return await this.jsonRpcProvider.getBlock(e,t)}async getBlockNumber(){return await this.jsonRpcProvider.getBlockNumber()}async getTransaction(e){return await this.jsonRpcProvider.getTransaction(e)}async getTransactionReceipt(e){return await this.jsonRpcProvider.getTransactionReceipt(e)}async getLastTransactions(e,t=0){var h;const n=[],i=[],s=[],o=await this.getBlock("pending"),a=(o==null?void 0:o.number)??await this.getBlockNumber();for(let p=a;p>a-t;p--){const g=await this.getBlock(p,!0);g!==null&&i.push(g)}const l=await Promise.all(i);for(const p of l)for(const g of p.transactions)n.push(this.getTransaction(g));const u=await Promise.all(n);for(const p of u)((p==null?void 0:p.from.toLowerCase())===e.toLowerCase()||((h=p==null?void 0:p.to)==null?void 0:h.toLowerCase())===e.toLowerCase())&&s.push(p);return s}async getLastTransaction(e,t=0){var s;const n=await this.getBlock("pending"),i=(n==null?void 0:n.number)??await this.getBlockNumber();for(let o=i;o>i-t;o--){const a=await this.getBlock(o,!0);if(a!==null)for(const l of a.transactions){const u=await this.getTransaction(l);if((u==null?void 0:u.from.toLowerCase())===e.toLowerCase()||((s=u==null?void 0:u.to)==null?void 0:s.toLowerCase())===e.toLowerCase())return u}}return null}async getBalance(e){return await this.jsonRpcProvider.getBalance(e)}}const sg=class{constructor(e){Ee(this,"network");Ee(this,"ethers");this.update(e)}static get instance(){if(sg._instance===void 0)throw new Error(kr.PROVIDER_IS_NOT_INITIALIZED);return sg._instance}static initialize(e){if(sg._instance!==void 0)throw new Error(kr.PROVIDER_IS_ALREADY_INITIALIZED);sg._instance=new sg(e)}async checkRpcConnection(e){try{const t=await u2e.post(e??this.network.rpcUrl,{jsonrpc:"2.0",method:"eth_blockNumber",params:[],id:1});return t.status!==200?new Error(t.statusText+": "+JSON.stringify(t.data)):!0}catch(t){return t}}async checkWsConnection(e){try{const t=await rk(e??this.network.wsUrl??"");return t instanceof Error?t:!0}catch(t){return t}}update(e){this.network=e,sg._instance=this,this.ethers=new k4e(e)}isTestnet(){var e;return((e=this.network)==null?void 0:e.testnet)??!1}};let Vh=sg;Ee(Vh,"_instance");const QM=(r,e)=>{console.error("MultipleChain EVM Wallet Error:",r);const t=String(r.message??"");return t==="Not supported chainId"||t.includes("chain ID")||t.includes("networkConfigurationId")||t.includes("The Provider is not connected to the requested chain.")?e(new Error(kr.UNACCEPTED_CHAIN)):r.code===4001||r.error==="Rejected by user"||t==="cancelled"||t==="User canceled"||t==="user reject this request"||t==="User rejected the transaction"||t==="An unexpected error occurred"||t==="User disapproved requested chains"?e(new Error(kr.WALLET_REQUEST_REJECTED)):t.includes("User")||t.includes("Rejected")||t.includes("cancelled")||t.includes("canceled")||t.includes("rejected")||t.includes("disapproved requested chains")?e(new Error(kr.WALLET_REQUEST_REJECTED)):t.includes("Invalid RPC URL")?e(new Error(kr.RPC_REQUEST_ERROR)):r.code===-32e3||t.includes("timeout")||t.includes("request timed out")?e(new Error(kr.RPC_TIMEOUT)):r.code===-32603||r.code===-32602?e(new Error(kr.TRANSACTION_CREATION_FAILED)):r.code===-32601?e(new Error(kr.RPC_REQUEST_ERROR)):r.code===-32002||r.message==="Already processing eth_requestAccounts. Please wait."?e(new Error(kr.WALLET_ALREADY_PROCESSING)):r.message==="User closed modal"?e(new Error(kr.CLOSED_WALLETCONNECT_MODAL)):r.message==="transaction underpriced"?e(new Error(kr.TRANSACTION_CREATION_FAILED)):e(r)};class M4e{constructor(e,t){Ee(this,"adapter");Ee(this,"walletProvider");Ee(this,"networkProvider");this.adapter=e,this.networkProvider=t??Vh.instance}async request(e){const t=await this.walletProvider.request(e);if((t==null?void 0:t.error)!==void 0){const n=t.error;throw n.code===-32e3?new Error(kr.RPC_TIMEOUT):new Error(n.message)}return t}getId(){return this.adapter.id}getName(){return this.adapter.name}getIcon(){return this.adapter.icon}getPlatforms(){return this.adapter.platforms}getDownloadLink(){return this.adapter.downloadLink}createDeepLink(e,t){return this.adapter.createDeepLink===void 0?null:this.adapter.createDeepLink(e,t)}async connect(e){return await new Promise((t,n)=>{this.adapter.connect(this.networkProvider,e).then(async i=>{this.walletProvider=i;const s=await this.getChainId();if(this.networkProvider.network.id!==s){n(kr.UNACCEPTED_CHAIN);return}t(await this.getAddress())}).catch(i=>{QM(i,o=>{o.message===kr.WALLET_REQUEST_REJECTED?n(new Error(kr.WALLET_CONNECT_REJECTED)):n(o)})})})}async isDetected(){return await this.adapter.isDetected()}async isConnected(){return await this.adapter.isConnected()}async getChainId(){const e=await this.request({method:"eth_chainId"});return typeof e=="number"?e:parseInt(e,16)}async getAddress(){return(await this.walletProvider.request({method:"eth_accounts"}))[0]}async signMessage(e){const t=await this.getAddress();return await new Promise((n,i)=>{this.walletProvider.request({method:"personal_sign",params:[e,t]}).then(s=>{n(s)}).catch(s=>{QM(s,i)})})}async sendTransaction(e){return await new Promise((t,n)=>{const i=e.getRawData();i.gas=JR(i.gasLimit),delete i.chainId,delete i.nonce,delete i.gasLimit,delete i.gasPrice,this.walletProvider.request({method:"eth_sendTransaction",params:[i]}).then(s=>{t(s)}).catch(s=>{QM(s,n)})})}on(e,t){var n,i;((i=(n=this.adapter)==null?void 0:n.provider)==null?void 0:i.on)!==void 0?this.adapter.provider.on(e,t):this.walletProvider.on(e,t)}}var N4e={id:42161,name:"Arbitrum One",network:"arbitrum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{alchemy:{http:["https://arb-mainnet.g.alchemy.com/v2"],webSocket:["wss://arb-mainnet.g.alchemy.com/v2"]},infura:{http:["https://arbitrum-mainnet.infura.io/v3"],webSocket:["wss://arbitrum-mainnet.infura.io/ws/v3"]},default:{http:["https://arb1.arbitrum.io/rpc"]},public:{http:["https://arb1.arbitrum.io/rpc"]}},blockExplorers:{etherscan:{name:"Arbiscan",url:"https://arbiscan.io"},default:{name:"Arbiscan",url:"https://arbiscan.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:7654707}}},P4e={id:421613,name:"Arbitrum Goerli",network:"arbitrum-goerli",nativeCurrency:{name:"Arbitrum Goerli Ether",symbol:"ETH",decimals:18},rpcUrls:{alchemy:{http:["https://arb-goerli.g.alchemy.com/v2"],webSocket:["wss://arb-goerli.g.alchemy.com/v2"]},infura:{http:["https://arbitrum-goerli.infura.io/v3"],webSocket:["wss://arbitrum-goerli.infura.io/ws/v3"]},default:{http:["https://goerli-rollup.arbitrum.io/rpc"]},public:{http:["https://goerli-rollup.arbitrum.io/rpc"]}},blockExplorers:{etherscan:{name:"Arbiscan",url:"https://goerli.arbiscan.io/"},default:{name:"Arbiscan",url:"https://goerli.arbiscan.io/"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:88114}},testnet:!0},O4e={id:42170,name:"Arbitrum Nova",network:"arbitrum-nova",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{blast:{http:["https://arbitrum-nova.public.blastapi.io"],webSocket:["wss://arbitrum-nova.public.blastapi.io"]},default:{http:["https://nova.arbitrum.io/rpc"]},public:{http:["https://nova.arbitrum.io/rpc"]}},blockExplorers:{etherscan:{name:"Arbiscan",url:"https://nova.arbiscan.io"},blockScout:{name:"BlockScout",url:"https://nova-explorer.arbitrum.io/"},default:{name:"Arbiscan",url:"https://nova.arbiscan.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:1746963}}},D4e={id:1313161554,name:"Aurora",network:"aurora",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{infura:{http:["https://aurora-mainnet.infura.io/v3"]},default:{http:["https://mainnet.aurora.dev"]},public:{http:["https://mainnet.aurora.dev"]}},blockExplorers:{etherscan:{name:"Aurorascan",url:"https://aurorascan.dev"},default:{name:"Aurorascan",url:"https://aurorascan.dev"}}},$4e={id:1313161555,name:"Aurora Testnet",network:"aurora-testnet",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{infura:{http:["https://aurora-testnet.infura.io/v3"]},default:{http:["https://testnet.aurora.dev"]},public:{http:["https://testnet.aurora.dev"]}},blockExplorers:{etherscan:{name:"Aurorascan",url:"https://testnet.aurorascan.dev"},default:{name:"Aurorascan",url:"https://testnet.aurorascan.dev"}},testnet:!0},B4e={id:43114,name:"Avalanche",network:"avalanche",nativeCurrency:{decimals:18,name:"Avalanche",symbol:"AVAX"},rpcUrls:{default:{http:["https://api.avax.network/ext/bc/C/rpc"]},public:{http:["https://api.avax.network/ext/bc/C/rpc"]}},blockExplorers:{etherscan:{name:"SnowTrace",url:"https://snowtrace.io"},default:{name:"SnowTrace",url:"https://snowtrace.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:11907934}}},L4e={id:43113,name:"Avalanche Fuji",network:"avalanche-fuji",nativeCurrency:{decimals:18,name:"Avalanche Fuji",symbol:"AVAX"},rpcUrls:{default:{http:["https://api.avax-test.network/ext/bc/C/rpc"]},public:{http:["https://api.avax-test.network/ext/bc/C/rpc"]}},blockExplorers:{etherscan:{name:"SnowTrace",url:"https://testnet.snowtrace.io"},default:{name:"SnowTrace",url:"https://testnet.snowtrace.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:7096959}},testnet:!0},U4e={id:8453,network:"base",name:"Base",nativeCurrency:{name:"Base",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://mainnet.base.org"]},public:{http:["https://mainnet.base.org"]}},blockExplorers:{blockscout:{name:"Basescout",url:"https://base.blockscout.com"},default:{name:"Basescan",url:"https://basescan.org"},etherscan:{name:"Basescan",url:"https://basescan.org"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022}}},F4e={id:84531,network:"base-goerli",name:"Base Goerli",nativeCurrency:{name:"Base Goerli",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://goerli.base.org"]},public:{http:["https://goerli.base.org"]}},blockExplorers:{etherscan:{name:"Basescan",url:"https://goerli.basescan.org"},default:{name:"Basescan",url:"https://goerli.basescan.org"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:1376988}},testnet:!0},j4e={id:641230,name:"Bear Network Chain Mainnet",network:"BearNetworkChainMainnet",nativeCurrency:{decimals:18,name:"BearNetworkChain",symbol:"BRNKC"},rpcUrls:{public:{http:["https://brnkc-mainnet.bearnetwork.net"]},default:{http:["https://brnkc-mainnet.bearnetwork.net"]}},blockExplorers:{default:{name:"BrnkScan",url:"https://brnkscan.bearnetwork.net"}}},z4e={id:751230,name:"Bear Network Chain Testnet",network:"BearNetworkChainTestnet",nativeCurrency:{decimals:18,name:"tBRNKC",symbol:"tBRNKC"},rpcUrls:{public:{http:["https://brnkc-test.bearnetwork.net"]},default:{http:["https://brnkc-test.bearnetwork.net"]}},blockExplorers:{default:{name:"BrnkTestScan",url:"https://brnktest-scan.bearnetwork.net"}},testnet:!0},H4e={id:288,name:"Boba Network",network:"boba",nativeCurrency:{decimals:18,name:"Boba",symbol:"BOBA"},rpcUrls:{default:{http:["https://mainnet.boba.network"]},public:{http:["https://mainnet.boba.network"]}},blockExplorers:{etherscan:{name:"BOBAScan",url:"https://bobascan.com"},default:{name:"BOBAScan",url:"https://bobascan.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:446859}}},q4e={id:1039,name:"Bronos",network:"bronos",nativeCurrency:{decimals:18,name:"BRO",symbol:"BRO"},rpcUrls:{default:{http:["https://evm.bronos.org"]},public:{http:["https://evm.bronos.org"]}},blockExplorers:{default:{name:"BronoScan",url:"https://broscan.bronos.org"}}},W4e={id:1038,name:"Bronos Testnet",network:"bronos-testnet",nativeCurrency:{decimals:18,name:"Bronos Coin",symbol:"tBRO"},rpcUrls:{default:{http:["https://evm-testnet.bronos.org"]},public:{http:["https://evm-testnet.bronos.org"]}},blockExplorers:{default:{name:"BronoScan",url:"https://tbroscan.bronos.org"}},testnet:!0},V4e={id:56,name:"BNB Smart Chain",network:"bsc",nativeCurrency:{decimals:18,name:"BNB",symbol:"BNB"},rpcUrls:{default:{http:["https://rpc.ankr.com/bsc"]},public:{http:["https://rpc.ankr.com/bsc"]}},blockExplorers:{etherscan:{name:"BscScan",url:"https://bscscan.com"},default:{name:"BscScan",url:"https://bscscan.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:15921452}}},G4e={id:97,name:"Binance Smart Chain Testnet",network:"bsc-testnet",nativeCurrency:{decimals:18,name:"BNB",symbol:"tBNB"},rpcUrls:{default:{http:["https://data-seed-prebsc-1-s1.binance.org:8545"]},public:{http:["https://data-seed-prebsc-1-s1.binance.org:8545"]}},blockExplorers:{etherscan:{name:"BscScan",url:"https://testnet.bscscan.com"},default:{name:"BscScan",url:"https://testnet.bscscan.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:17422483}},testnet:!0},K4e={id:4999,name:"BlackFort Exchange Network",network:"bxn",nativeCurrency:{name:"BlackFort Token",symbol:"BXN",decimals:18},rpcUrls:{default:{http:["https://mainnet.blackfort.network/rpc"]},public:{http:["https://mainnet.blackfort.network/rpc"]}},blockExplorers:{default:{name:"Blockscout",url:"https://explorer.blackfort.network"}}},Z4e={id:4777,name:"BlackFort Exchange Network Testnet",network:"bxnTestnet",nativeCurrency:{name:"BlackFort Testnet Token",symbol:"TBXN",decimals:18},rpcUrls:{default:{http:["https://testnet.blackfort.network/rpc"]},public:{http:["https://testnet.blackfort.network/rpc"]}},blockExplorers:{default:{name:"Blockscout",url:"https://testnet-explorer.blackfort.network"}}},J4e={id:7700,name:"Canto",network:"canto",nativeCurrency:{decimals:18,name:"Canto",symbol:"CANTO"},rpcUrls:{default:{http:["https://canto.gravitychain.io"]},public:{http:["https://canto.gravitychain.io"]}},blockExplorers:{default:{name:"Tuber.Build (Blockscout)",url:"https://tuber.build"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:2905789}}},Y4e={id:42220,name:"Celo",network:"celo",nativeCurrency:{decimals:18,name:"CELO",symbol:"CELO"},rpcUrls:{default:{http:["https://forno.celo.org"]},infura:{http:["https://celo-mainnet.infura.io/v3"]},public:{http:["https://forno.celo.org"]}},blockExplorers:{default:{name:"Celo Explorer",url:"https://explorer.celo.org/mainnet"},etherscan:{name:"CeloScan",url:"https://celoscan.io"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:13112599}},testnet:!1},Q4e={id:44787,name:"Alfajores",network:"celo-alfajores",nativeCurrency:{decimals:18,name:"CELO",symbol:"A-CELO"},rpcUrls:{default:{http:["https://alfajores-forno.celo-testnet.org"]},infura:{http:["https://celo-alfajores.infura.io/v3"]},public:{http:["https://alfajores-forno.celo-testnet.org"]}},blockExplorers:{default:{name:"Celo Explorer",url:"https://explorer.celo.org/alfajores"},etherscan:{name:"CeloScan",url:"https://alfajores.celoscan.io/"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:14569001}},testnet:!0},X4e={id:17323,name:"Cannoli",network:"celo-cannoli",nativeCurrency:{decimals:18,name:"CELO",symbol:"C-CELO"},rpcUrls:{default:{http:["https://forno.cannoli.celo-testnet.org"]},public:{http:["https://forno.cannoli.celo-testnet.org"]}},blockExplorers:{default:{name:"Celo Explorer",url:"https://explorer.celo.org/cannoli"}},contracts:{multicall3:{address:"0x5Acb0aa8BF4E8Ff0d882Ee187140713C12BF9718",blockCreated:87429}},testnet:!0},e6e={id:61,name:"Ethereum Classic",network:"classic",nativeCurrency:{decimals:18,name:"ETC",symbol:"ETC"},rpcUrls:{default:{http:["https://etc.rivet.link"]},public:{http:["https://etc.rivet.link"]}},blockExplorers:{default:{name:"Blockscout",url:"https://blockscout.com/etc/mainnet"}}},t6e={id:1030,name:"Conflux eSpace",network:"cfx-espace",nativeCurrency:{name:"Conflux",symbol:"CFX",decimals:18},rpcUrls:{default:{http:["https://evm.confluxrpc.org"]},public:{http:["https://evm.confluxrpc.org"]}},blockExplorers:{default:{name:"ConfluxScan",url:"https://evm.confluxscan.io"}},contracts:{multicall3:{address:"0xEFf0078910f638cd81996cc117bccD3eDf2B072F",blockCreated:68602935}}},r6e={id:25,name:"Cronos Mainnet",network:"cronos",nativeCurrency:{decimals:18,name:"Cronos",symbol:"CRO"},rpcUrls:{default:{http:["https://evm.cronos.org"]},public:{http:["https://evm.cronos.org"]}},blockExplorers:{default:{name:"Cronoscan",url:"https://cronoscan.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:1963112}}},n6e={id:338,name:"Cronos Testnet",network:"cronos-testnet",nativeCurrency:{decimals:18,name:"CRO",symbol:"tCRO"},rpcUrls:{default:{http:["https://evm-t3.cronos.org"]},public:{http:["https://evm-t3.cronos.org"]}},blockExplorers:{default:{name:"Cronos Explorer",url:"https://cronos.org/explorer/testnet3"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:10191251}},testnet:!0},i6e={id:3737,network:"crossbell",name:"Crossbell",nativeCurrency:{decimals:18,name:"CSB",symbol:"CSB"},rpcUrls:{default:{http:["https://rpc.crossbell.io"]},public:{http:["https://rpc.crossbell.io"]}},blockExplorers:{default:{name:"CrossScan",url:"https://scan.crossbell.io"}},contracts:{multicall3:{address:"0xBB9759009cDaC82774EfC84D94cD9F7440f75Fcf",blockCreated:23499787}}},s6e={id:53935,name:"DFK Chain",network:"dfk",nativeCurrency:{decimals:18,name:"Jewel",symbol:"JEWEL"},rpcUrls:{default:{http:["https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"]},public:{http:["https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"]}},blockExplorers:{etherscan:{name:"DFKSubnetScan",url:"https://subnets.avax.network/defi-kingdoms"},default:{name:"DFKSubnetScan",url:"https://subnets.avax.network/defi-kingdoms"}}},o6e={id:2e3,name:"Dogechain",network:"dogechain",nativeCurrency:{decimals:18,name:"Dogechain",symbol:"DC"},rpcUrls:{default:{http:["https://rpc.dogechain.dog"]},public:{http:["https://rpc.dogechain.dog"]}},blockExplorers:{etherscan:{name:"DogeChainExplorer",url:"https://explorer.dogechain.dog"},default:{name:"DogeChainExplorer",url:"https://explorer.dogechain.dog"}}},a6e={id:2021,name:"Edgeware EdgeEVM Mainnet",network:"edgeware",nativeCurrency:{decimals:18,name:"Edgeware",symbol:"EDG"},rpcUrls:{default:{http:["https://edgeware-evm.jelliedowl.net"]},public:{http:["https://edgeware-evm.jelliedowl.net"]}},blockExplorers:{etherscan:{name:"Edgscan by Bharathcoorg",url:"https://edgscan.live"},default:{name:"Edgscan by Bharathcoorg",url:"https://edgscan.live"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:18117872}}},c6e={id:2022,name:"Beresheet BereEVM Testnet",network:"edgewareTestnet",nativeCurrency:{decimals:18,name:"Testnet EDG",symbol:"tEDG"},rpcUrls:{default:{http:["https://beresheet-evm.jelliedowl.net"]},public:{http:["https://beresheet-evm.jelliedowl.net"]}},blockExplorers:{etherscan:{name:"Edgscan by Bharathcoorg",url:"https://testnet.edgscan.live"},default:{name:"Edgscan by Bharathcoorg",url:"https://testnet.edgscan.live"}}},l6e={id:42262,name:"Oasis Emerald",network:"emerald",nativeCurrency:{decimals:18,name:"Oasis ROSE",symbol:"ROSE"},rpcUrls:{default:{http:["https://emerald.oasis.dev"],webSocket:["wss://emerald.oasis.dev/ws"]},public:{http:["https://emerald.oasis.dev"],webSocket:["wss://emerald.oasis.dev/ws"]}},blockExplorers:{default:{name:"Oasis Explorer",url:"https://explorer.emerald.oasis.dev"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:1481392}}},u6e={id:17777,name:"EOS EVM",network:"eos",nativeCurrency:{decimals:18,name:"EOS",symbol:"EOS"},rpcUrls:{default:{http:["https://api.evm.eosnetwork.com"]},public:{http:["https://api.evm.eosnetwork.com"]}},blockExplorers:{etherscan:{name:"EOS EVM Explorer",url:"https://explorer.evm.eosnetwork.com"},default:{name:"EOS EVM Explorer",url:"https://explorer.evm.eosnetwork.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:7943933}}},h6e={id:15557,name:"EOS EVM Testnet",network:"eos",nativeCurrency:{decimals:18,name:"EOS",symbol:"EOS"},rpcUrls:{default:{http:["https://api.testnet.evm.eosnetwork.com"]},public:{http:["https://api.testnet.evm.eosnetwork.com"]}},blockExplorers:{etherscan:{name:"EOS EVM Testnet Explorer",url:"https://explorer.testnet.evm.eosnetwork.com"},default:{name:"EOS EVM Testnet Explorer",url:"https://explorer.testnet.evm.eosnetwork.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:9067940}},testnet:!0},f6e={id:9001,name:"Evmos",network:"evmos",nativeCurrency:{decimals:18,name:"Evmos",symbol:"EVMOS"},rpcUrls:{default:{http:["https://eth.bd.evmos.org:8545"]},public:{http:["https://eth.bd.evmos.org:8545"]}},blockExplorers:{default:{name:"Evmos Block Explorer",url:"https://escan.live"}}},d6e={id:9e3,name:"Evmos Testnet",network:"evmos-testnet",nativeCurrency:{decimals:18,name:"Evmos",symbol:"EVMOS"},rpcUrls:{default:{http:["https://eth.bd.evmos.dev:8545"]},public:{http:["https://eth.bd.evmos.dev:8545"]}},blockExplorers:{default:{name:"Evmos Testnet Block Explorer",url:"https://evm.evmos.dev/"}}},p6e={id:1994,name:"Ekta",network:"ekta",nativeCurrency:{decimals:18,name:"EKTA",symbol:"EKTA"},rpcUrls:{public:{http:["https://main.ekta.io"]},default:{http:["https://main.ekta.io"]}},blockExplorers:{default:{name:"Ektascan",url:"https://ektascan.io"}}},g6e={id:1004,name:"Ekta Testnet",network:"ekta-testnet",nativeCurrency:{decimals:18,name:"EKTA",symbol:"EKTA"},rpcUrls:{public:{http:["https://test.ekta.io:8545"]},default:{http:["https://test.ekta.io:8545"]}},blockExplorers:{default:{name:"Test Ektascan",url:"https://test.ektascan.io"}},testnet:!0},m6e={id:246,name:"Energy Web Chain",network:"ewc",nativeCurrency:{name:"EWT",symbol:"EWT",decimals:18},rpcUrls:{default:{http:["https://rpc.energyweb.org"]},public:{http:["https://rpc.energyweb.org"]}},blockExplorers:{default:{name:"Energy Web Chain Explorer",url:"https://explorer.energyweb.org"}},contracts:{ensRegistry:{address:"0x0A6d64413c07E10E890220BBE1c49170080C6Ca0"}}},b6e={id:250,name:"Fantom",network:"fantom",nativeCurrency:{decimals:18,name:"Fantom",symbol:"FTM"},rpcUrls:{default:{http:["https://rpc.ankr.com/fantom"]},public:{http:["https://rpc.ankr.com/fantom"]}},blockExplorers:{etherscan:{name:"FTMScan",url:"https://ftmscan.com"},default:{name:"FTMScan",url:"https://ftmscan.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:33001987}}},w6e={id:4002,name:"Fantom Testnet",network:"fantom-testnet",nativeCurrency:{decimals:18,name:"Fantom",symbol:"FTM"},rpcUrls:{default:{http:["https://rpc.testnet.fantom.network"]},public:{http:["https://rpc.testnet.fantom.network"]}},blockExplorers:{etherscan:{name:"FTMScan",url:"https://testnet.ftmscan.com"},default:{name:"FTMScan",url:"https://testnet.ftmscan.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:8328688}}},v6e={id:12306,name:"Fibo Chain",network:"fibochain",nativeCurrency:{decimals:18,name:"fibo",symbol:"FIBO"},rpcUrls:{default:{http:["https://network.hzroc.art"]},public:{http:["https://network.hzroc.art"]}},blockExplorers:{default:{name:"FiboScan",url:"https://scan.fibochain.org"}}},y6e={id:314,name:"Filecoin Mainnet",network:"filecoin-mainnet",nativeCurrency:{decimals:18,name:"filecoin",symbol:"FIL"},rpcUrls:{default:{http:["https://api.node.glif.io/rpc/v1"]},public:{http:["https://api.node.glif.io/rpc/v1"]}},blockExplorers:{default:{name:"Filfox",url:"https://filfox.info/en"},filscan:{name:"Filscan",url:"https://filscan.io"},filscout:{name:"Filscout",url:"https://filscout.io/en"},glif:{name:"Glif",url:"https://explorer.glif.io"}}},x6e={id:314159,name:"Filecoin Calibration",network:"filecoin-calibration",nativeCurrency:{decimals:18,name:"testnet filecoin",symbol:"tFIL"},rpcUrls:{default:{http:["https://api.calibration.node.glif.io/rpc/v1"]},public:{http:["https://api.calibration.node.glif.io/rpc/v1"]}},blockExplorers:{default:{name:"Filscan",url:"https://calibration.filscan.io"}}},_6e={id:3141,name:"Filecoin Hyperspace",network:"filecoin-hyperspace",nativeCurrency:{decimals:18,name:"testnet filecoin",symbol:"tFIL"},rpcUrls:{default:{http:["https://api.hyperspace.node.glif.io/rpc/v1"]},public:{http:["https://api.hyperspace.node.glif.io/rpc/v1"]}},blockExplorers:{default:{name:"Filfox",url:"https://hyperspace.filfox.info/en"},filscan:{name:"Filscan",url:"https://hyperspace.filscan.io"}}},E6e={id:14,name:"Flare Mainnet",network:"flare-mainnet",nativeCurrency:{decimals:18,name:"flare",symbol:"FLR"},rpcUrls:{default:{http:["https://flare-api.flare.network/ext/C/rpc"]},public:{http:["https://flare-api.flare.network/ext/C/rpc"]}},blockExplorers:{default:{name:"Flare Explorer",url:"https://flare-explorer.flare.network"}}},A6e={id:114,name:"Coston2",network:"coston2",nativeCurrency:{decimals:18,name:"coston2flare",symbol:"C2FLR"},rpcUrls:{default:{http:["https://coston2-api.flare.network/ext/C/rpc"]},public:{http:["https://coston2-api.flare.network/ext/C/rpc"]}},blockExplorers:{default:{name:"Coston2 Explorer",url:"https://coston2-explorer.flare.network"}},testnet:!0},C6e={id:31337,name:"Foundry",network:"foundry",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["http://127.0.0.1:8545"],webSocket:["ws://127.0.0.1:8545"]},public:{http:["http://127.0.0.1:8545"],webSocket:["ws://127.0.0.1:8545"]}}},S6e={id:122,name:"Fuse",network:"fuse",nativeCurrency:{name:"Fuse",symbol:"FUSE",decimals:18},rpcUrls:{default:{http:["https://rpc.fuse.io"]},public:{http:["https://fuse-mainnet.chainstacklabs.com"]}},blockExplorers:{default:{name:"Fuse Explorer",url:"https://explorer.fuse.io"}}},I6e={id:123,name:"Fuse Sparknet",network:"fuse",nativeCurrency:{name:"Spark",symbol:"SPARK",decimals:18},rpcUrls:{default:{http:["https://rpc.fusespark.io"]},public:{http:["https://rpc.fusespark.io"]}},blockExplorers:{default:{name:"Sparkent Explorer",url:"https://explorer.fusespark.io"}}},T6e={id:4689,name:"IoTeX",network:"iotex",nativeCurrency:{decimals:18,name:"IoTeX",symbol:"IOTX"},rpcUrls:{default:{http:["https://babel-api.mainnet.iotex.io"],webSocket:["wss://babel-api.mainnet.iotex.io"]},public:{http:["https://babel-api.mainnet.iotex.io"],webSocket:["wss://babel-api.mainnet.iotex.io"]}},blockExplorers:{default:{name:"IoTeXScan",url:"https://iotexscan.io"}}},R6e={id:4690,name:"IoTeX Testnet",network:"iotex-testnet",nativeCurrency:{decimals:18,name:"IoTeX",symbol:"IOTX"},rpcUrls:{default:{http:["https://babel-api.testnet.iotex.io"],webSocket:["wss://babel-api.testnet.iotex.io"]},public:{http:["https://babel-api.testnet.iotex.io"],webSocket:["wss://babel-api.testnet.iotex.io"]}},blockExplorers:{default:{name:"IoTeXScan",url:"https://testnet.iotexscan.io"}}},k6e={id:1663,name:"Horizen Gobi Testnet",network:"gobi",nativeCurrency:{decimals:18,name:"Test ZEN",symbol:"tZEN"},rpcUrls:{public:{http:["https://gobi-testnet.horizenlabs.io/ethv1"]},default:{http:["https://gobi-testnet.horizenlabs.io/ethv1"]}},blockExplorers:{default:{name:"Gobi Explorer",url:"https://gobi-explorer.horizen.io"}},contracts:{},testnet:!0},M6e={id:5,network:"goerli",name:"Goerli",nativeCurrency:{name:"Goerli Ether",symbol:"ETH",decimals:18},rpcUrls:{alchemy:{http:["https://eth-goerli.g.alchemy.com/v2"],webSocket:["wss://eth-goerli.g.alchemy.com/v2"]},infura:{http:["https://goerli.infura.io/v3"],webSocket:["wss://goerli.infura.io/ws/v3"]},default:{http:["https://rpc.ankr.com/eth_goerli"]},public:{http:["https://rpc.ankr.com/eth_goerli"]}},blockExplorers:{etherscan:{name:"Etherscan",url:"https://goerli.etherscan.io"},default:{name:"Etherscan",url:"https://goerli.etherscan.io"}},contracts:{ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},ensUniversalResolver:{address:"0x56522D00C410a43BFfDF00a9A569489297385790",blockCreated:8765204},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:6507670}},testnet:!0},N6e={id:100,name:"Gnosis",network:"gnosis",nativeCurrency:{decimals:18,name:"Gnosis",symbol:"xDAI"},rpcUrls:{default:{http:["https://rpc.gnosischain.com"]},public:{http:["https://rpc.gnosischain.com"]}},blockExplorers:{etherscan:{name:"Gnosisscan",url:"https://gnosisscan.io"},default:{name:"Gnosis Chain Explorer",url:"https://blockscout.com/xdai/mainnet"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:21022491}}},P6e={id:10200,name:"Gnosis Chiado",network:"chiado",nativeCurrency:{decimals:18,name:"Gnosis",symbol:"xDAI"},rpcUrls:{default:{http:["https://rpc.chiadochain.net"]},public:{http:["https://rpc.chiadochain.net"]}},blockExplorers:{default:{name:"Blockscout",url:"https://blockscout.chiadochain.net"}}},O6e={id:31337,name:"Hardhat",network:"hardhat",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["http://127.0.0.1:8545"]},public:{http:["http://127.0.0.1:8545"]}}},D6e={id:16666e5,name:"Harmony One",network:"harmony",nativeCurrency:{name:"Harmony",symbol:"ONE",decimals:18},rpcUrls:{public:{http:["https://rpc.ankr.com/harmony"]},default:{http:["https://rpc.ankr.com/harmony"]}},blockExplorers:{default:{name:"Harmony Explorer",url:"https://explorer.harmony.one"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:24185753}}},$6e={id:11235,name:"HAQQ Mainnet",network:"haqq-mainnet",nativeCurrency:{decimals:18,name:"Islamic Coin",symbol:"ISLM"},rpcUrls:{default:{http:["https://rpc.eth.haqq.network"]},public:{http:["https://rpc.eth.haqq.network"]}},blockExplorers:{default:{name:"HAQQ Explorer",url:"https://explorer.haqq.network"}}},B6e={id:54211,name:"HAQQ Testedge 2",network:"haqq-testedge-2",nativeCurrency:{decimals:18,name:"Islamic Coin",symbol:"ISLMT"},rpcUrls:{default:{http:["https://rpc.eth.testedge2.haqq.network"]},public:{http:["https://rpc.eth.testedge2.haqq.network"]}},blockExplorers:{default:{name:"HAQQ Explorer",url:"https://explorer.testedge2.haqq.network"}}},L6e={id:8217,name:"Klaytn",network:"klaytn",nativeCurrency:{decimals:18,name:"Klaytn",symbol:"KLAY"},rpcUrls:{default:{http:["https://cypress.fautor.app/archive"]},public:{http:["https://cypress.fautor.app/archive"]}},blockExplorers:{etherscan:{name:"KlaytnScope",url:"https://scope.klaytn.com"},default:{name:"KlaytnScope",url:"https://scope.klaytn.com"}}},U6e={id:59144,name:"Linea Mainnet",network:"linea-mainnet",nativeCurrency:{name:"Linea Ether",symbol:"ETH",decimals:18},rpcUrls:{infura:{http:["https://linea-mainnet.infura.io/v3"],webSocket:["wss://linea-mainnet.infura.io/ws/v3"]},default:{http:["https://rpc.linea.build"],webSocket:["wss://rpc.linea.build"]},public:{http:["https://rpc.linea.build"],webSocket:["wss://rpc.linea.build"]}},blockExplorers:{default:{name:"Etherscan",url:"https://lineascan.build"},etherscan:{name:"Etherscan",url:"https://lineascan.build"},blockscout:{name:"Blockscout",url:"https://explorer.linea.build"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:42}},testnet:!1},F6e={id:59140,name:"Linea Goerli Testnet",network:"linea-testnet",nativeCurrency:{name:"Linea Ether",symbol:"ETH",decimals:18},rpcUrls:{infura:{http:["https://linea-goerli.infura.io/v3"],webSocket:["wss://linea-goerli.infura.io/ws/v3"]},default:{http:["https://rpc.goerli.linea.build"],webSocket:["wss://rpc.goerli.linea.build"]},public:{http:["https://rpc.goerli.linea.build"],webSocket:["wss://rpc.goerli.linea.build"]}},blockExplorers:{default:{name:"Etherscan",url:"https://goerli.lineascan.build"},etherscan:{name:"Etherscan",url:"https://goerli.lineascan.build"},blockscout:{name:"Blockscout",url:"https://explorer.goerli.linea.build"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:498623}},testnet:!0},j6e={id:1337,name:"Localhost",network:"localhost",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["http://127.0.0.1:8545"]},public:{http:["http://127.0.0.1:8545"]}}},z6e={id:1,network:"homestead",name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{alchemy:{http:["https://eth-mainnet.g.alchemy.com/v2"],webSocket:["wss://eth-mainnet.g.alchemy.com/v2"]},infura:{http:["https://mainnet.infura.io/v3"],webSocket:["wss://mainnet.infura.io/ws/v3"]},default:{http:["https://cloudflare-eth.com"]},public:{http:["https://cloudflare-eth.com"]}},blockExplorers:{etherscan:{name:"Etherscan",url:"https://etherscan.io"},default:{name:"Etherscan",url:"https://etherscan.io"}},contracts:{ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},ensUniversalResolver:{address:"0xc0497E381f536Be9ce14B0dD3817cBcAe57d2F62",blockCreated:16966585},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}},H6e={id:5e3,name:"Mantle",network:"mantle",nativeCurrency:{decimals:18,name:"MNT",symbol:"MNT"},rpcUrls:{default:{http:["https://rpc.mantle.xyz"]},public:{http:["https://rpc.mantle.xyz"]}},blockExplorers:{etherscan:{name:"Mantle Explorer",url:"https://explorer.mantle.xyz"},default:{name:"Mantle Explorer",url:"https://explorer.mantle.xyz"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:304717}}},q6e={id:5001,name:"Mantle Testnet",network:"mantle",nativeCurrency:{decimals:18,name:"MNT",symbol:"MNT"},rpcUrls:{default:{http:["https://rpc.testnet.mantle.xyz"]},public:{http:["https://rpc.testnet.mantle.xyz"]}},blockExplorers:{etherscan:{name:"Mantle Testnet Explorer",url:"https://explorer.testnet.mantle.xyz"},default:{name:"Mantle Testnet Explorer",url:"https://explorer.testnet.mantle.xyz"}},testnet:!0},W6e={id:1088,name:"Metis",network:"andromeda",nativeCurrency:{decimals:18,name:"Metis",symbol:"METIS"},rpcUrls:{default:{http:["https://andromeda.metis.io/?owner=1088"]},public:{http:["https://andromeda.metis.io/?owner=1088"]}},blockExplorers:{default:{name:"Andromeda Explorer",url:"https://andromeda-explorer.metis.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:2338552}}},V6e={id:599,name:"Metis Goerli",network:"metis-goerli",nativeCurrency:{decimals:18,name:"Metis Goerli",symbol:"METIS"},rpcUrls:{default:{http:["https://goerli.gateway.metisdevops.link"]},public:{http:["https://goerli.gateway.metisdevops.link"]}},blockExplorers:{default:{name:"Metis Goerli Explorer",url:"https://goerli.explorer.metisdevops.link"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:1006207}}},G6e={id:7518,network:"MEVerse",name:"MEVerse Chain Mainnet",nativeCurrency:{decimals:18,name:"MEVerse",symbol:"MEV"},rpcUrls:{default:{http:["https://rpc.meversemainnet.io"]},public:{http:["https://rpc.meversemainnet.io"]}},blockExplorers:{default:{name:"Explorer",url:"https://www.meversescan.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:86881340}}},K6e={id:4759,network:"MEVerse Testnet",name:"MEVerse Chain Testnet",nativeCurrency:{decimals:18,name:"MEVerse",symbol:"MEV"},rpcUrls:{default:{http:["https://rpc.meversetestnet.io"]},public:{http:["https://rpc.meversetestnet.io"]}},blockExplorers:{default:{name:"Explorer",url:"https://testnet.meversescan.io/"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:64371115}},testnet:!0},Z6e={id:919,name:"Mode Testnet",network:"mode-testnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia.mode.network"]},public:{http:["https://sepolia.mode.network"]}},blockExplorers:{default:{name:"Blockscout",url:"https://sepolia.explorer.mode.network"}},testnet:!0},J6e={id:1287,name:"Moonbase Alpha",network:"moonbase-alpha",nativeCurrency:{decimals:18,name:"DEV",symbol:"DEV"},rpcUrls:{default:{http:["https://rpc.api.moonbase.moonbeam.network"],webSocket:["wss://wss.api.moonbase.moonbeam.network"]},public:{http:["https://rpc.api.moonbase.moonbeam.network"],webSocket:["wss://wss.api.moonbase.moonbeam.network"]}},blockExplorers:{default:{name:"Moonscan",url:"https://moonbase.moonscan.io"},etherscan:{name:"Moonscan",url:"https://moonbase.moonscan.io"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:1850686}},testnet:!0},Y6e={id:1284,name:"Moonbeam",network:"moonbeam",nativeCurrency:{decimals:18,name:"GLMR",symbol:"GLMR"},rpcUrls:{public:{http:["https://moonbeam.public.blastapi.io"],webSocket:["wss://moonbeam.public.blastapi.io"]},default:{http:["https://moonbeam.public.blastapi.io"],webSocket:["wss://moonbeam.public.blastapi.io"]}},blockExplorers:{default:{name:"Moonscan",url:"https://moonscan.io"},etherscan:{name:"Moonscan",url:"https://moonscan.io"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:609002}},testnet:!1},Q6e={id:1285,name:"Moonriver",network:"moonriver",nativeCurrency:{decimals:18,name:"MOVR",symbol:"MOVR"},rpcUrls:{public:{http:["https://moonriver.public.blastapi.io"],webSocket:["wss://moonriver.public.blastapi.io"]},default:{http:["https://moonriver.public.blastapi.io"],webSocket:["wss://moonriver.public.blastapi.io"]}},blockExplorers:{default:{name:"Moonscan",url:"https://moonriver.moonscan.io"},etherscan:{name:"Moonscan",url:"https://moonriver.moonscan.io"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:1597904}},testnet:!1},X6e={id:245022926,network:"neonDevnet",name:"Neon EVM DevNet",nativeCurrency:{name:"NEON",symbol:"NEON",decimals:18},rpcUrls:{default:{http:["https://devnet.neonevm.org"]},public:{http:["https://devnet.neonevm.org"]}},blockExplorers:{default:{name:"Neonscan",url:"https://neonscan.org"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:205206112}},testnet:!0},e8e={id:4242,name:"Nexi",network:"nexi",nativeCurrency:{name:"Nexi",symbol:"NEXI",decimals:18},rpcUrls:{default:{http:["https://rpc.chain.nexi.technology"]},public:{http:["https://rpc.chain.nexi.technology"]}},blockExplorers:{etherscan:{name:"NexiScan",url:"https://www.nexiscan.com"},default:{name:"NexiScan",url:"https://www.nexiscan.com"}},contracts:{multicall3:{address:"0x0277A46Cc69A57eE3A6C8c158bA874832F718B8E",blockCreated:25770160}}},t8e={id:240,name:"Nexilix Smart Chain",network:"nexilix",nativeCurrency:{decimals:18,name:"Nexilix",symbol:"NEXILIX"},rpcUrls:{default:{http:["https://rpcurl.pos.nexilix.com"]},public:{http:["https://rpcurl.pos.nexilix.com"]}},blockExplorers:{etherscan:{name:"NexilixScan",url:"https://scan.nexilix.com"},default:{name:"NexilixScan",url:"https://scan.nexilix.com"}},contracts:{multicall3:{address:"0x58381c8e2BF9d0C2C4259cA14BdA9Afe02831244",blockCreated:74448}}},r8e={id:248,name:"Oasys",network:"oasys",nativeCurrency:{name:"Oasys",symbol:"OAS",decimals:18},rpcUrls:{default:{http:["https://rpc.mainnet.oasys.games"]},public:{http:["https://rpc.mainnet.oasys.games"]}},blockExplorers:{default:{name:"OasysScan",url:"https://scan.oasys.games"}}},n8e={id:66,name:"OKC",network:"okc",nativeCurrency:{decimals:18,name:"OKT",symbol:"OKT"},rpcUrls:{default:{http:["https://exchainrpc.okex.org"]},public:{http:["https://exchainrpc.okex.org"]}},blockExplorers:{default:{name:"oklink",url:"https://www.oklink.com/okc"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:10364792}}},i8e={id:10,name:"OP Mainnet",network:"optimism",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{alchemy:{http:["https://opt-mainnet.g.alchemy.com/v2"],webSocket:["wss://opt-mainnet.g.alchemy.com/v2"]},infura:{http:["https://optimism-mainnet.infura.io/v3"],webSocket:["wss://optimism-mainnet.infura.io/ws/v3"]},default:{http:["https://mainnet.optimism.io"]},public:{http:["https://mainnet.optimism.io"]}},blockExplorers:{etherscan:{name:"Etherscan",url:"https://optimistic.etherscan.io"},default:{name:"Optimism Explorer",url:"https://explorer.optimism.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:4286263}}},s8e={id:420,name:"Optimism Goerli",network:"optimism-goerli",nativeCurrency:{name:"Goerli Ether",symbol:"ETH",decimals:18},rpcUrls:{alchemy:{http:["https://opt-goerli.g.alchemy.com/v2"],webSocket:["wss://opt-goerli.g.alchemy.com/v2"]},infura:{http:["https://optimism-goerli.infura.io/v3"],webSocket:["wss://optimism-goerli.infura.io/ws/v3"]},default:{http:["https://goerli.optimism.io"]},public:{http:["https://goerli.optimism.io"]}},blockExplorers:{etherscan:{name:"Etherscan",url:"https://goerli-optimism.etherscan.io"},default:{name:"Etherscan",url:"https://goerli-optimism.etherscan.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:49461}},testnet:!0},o8e={id:137,name:"Polygon",network:"matic",nativeCurrency:{name:"MATIC",symbol:"MATIC",decimals:18},rpcUrls:{alchemy:{http:["https://polygon-mainnet.g.alchemy.com/v2"],webSocket:["wss://polygon-mainnet.g.alchemy.com/v2"]},infura:{http:["https://polygon-mainnet.infura.io/v3"],webSocket:["wss://polygon-mainnet.infura.io/ws/v3"]},default:{http:["https://polygon-rpc.com"]},public:{http:["https://polygon-rpc.com"]}},blockExplorers:{etherscan:{name:"PolygonScan",url:"https://polygonscan.com"},default:{name:"PolygonScan",url:"https://polygonscan.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:25770160}}},a8e={id:80001,name:"Polygon Mumbai",network:"maticmum",nativeCurrency:{name:"MATIC",symbol:"MATIC",decimals:18},rpcUrls:{alchemy:{http:["https://polygon-mumbai.g.alchemy.com/v2"],webSocket:["wss://polygon-mumbai.g.alchemy.com/v2"]},infura:{http:["https://polygon-mumbai.infura.io/v3"],webSocket:["wss://polygon-mumbai.infura.io/ws/v3"]},default:{http:["https://matic-mumbai.chainstacklabs.com"]},public:{http:["https://matic-mumbai.chainstacklabs.com"]}},blockExplorers:{etherscan:{name:"PolygonScan",url:"https://mumbai.polygonscan.com"},default:{name:"PolygonScan",url:"https://mumbai.polygonscan.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:25770160}},testnet:!0},c8e={id:1442,name:"Polygon zkEVM Testnet",network:"polygon-zkevm-testnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.public.zkevm-test.net"]},public:{http:["https://rpc.public.zkevm-test.net"]}},blockExplorers:{blockscout:{name:"Blockscout",url:"https://explorer.public.zkevm-test.net"},default:{name:"PolygonScan",url:"https://testnet-zkevm.polygonscan.com"}},testnet:!0,contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:525686}}},l8e={id:1101,name:"Polygon zkEVM",network:"polygon-zkevm",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://zkevm-rpc.com"]},public:{http:["https://zkevm-rpc.com"]}},blockExplorers:{default:{name:"PolygonScan",url:"https://zkevm.polygonscan.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:57746}}},u8e={id:369,network:"pulsechain",name:"PulseChain",nativeCurrency:{name:"Pulse",symbol:"PLS",decimals:18},testnet:!1,rpcUrls:{default:{http:["https://rpc.pulsechain.com"],webSocket:["wss://ws.pulsechain.com"]},public:{http:["https://rpc.pulsechain.com"],webSocket:["wss://ws.pulsechain.com"]}},blockExplorers:{default:{name:"PulseScan",url:"https://scan.pulsechain.com"}},contracts:{ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}},h8e={id:943,network:"pulsechainV4",name:"PulseChain V4",testnet:!0,nativeCurrency:{name:"V4 Pulse",symbol:"v4PLS",decimals:18},rpcUrls:{default:{http:["https://rpc.v4.testnet.pulsechain.com"],webSocket:["wss://ws.v4.testnet.pulsechain.com"]},public:{http:["https://rpc.v4.testnet.pulsechain.com"],webSocket:["wss://ws.v4.testnet.pulsechain.com"]}},blockExplorers:{default:{name:"PulseScan",url:"https://scan.v4.testnet.pulsechain.com"}},contracts:{ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}},f8e={id:35441,name:"Q Mainnet",network:"q-mainnet",nativeCurrency:{decimals:18,name:"Q",symbol:"Q"},rpcUrls:{default:{http:["https://rpc.q.org"]},public:{http:["https://rpc.q.org"]}},blockExplorers:{default:{name:"Q Mainnet Explorer",url:"https://explorer.q.org"}}},d8e={id:35443,name:"Q Testnet",network:"q-testnet",nativeCurrency:{decimals:18,name:"Q",symbol:"Q"},rpcUrls:{default:{http:["https://rpc.qtestnet.org"]},public:{http:["https://rpc.qtestnet.org"]}},blockExplorers:{default:{name:"Q Testnet Explorer",url:"https://explorer.qtestnet.org"}},testnet:!0},p8e={id:570,name:"Rollux Mainnet",network:"rollux",nativeCurrency:{decimals:18,name:"Syscoin",symbol:"SYS"},rpcUrls:{default:{http:["https://rpc.rollux.com"],webSocket:["wss://rpc.rollux.com/wss"]},public:{http:["https://rollux.public-rpc.com"]}},blockExplorers:{default:{name:"RolluxExplorer",url:"https://explorer.rollux.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:119222}}},g8e={id:57e3,name:"Rollux Testnet",network:"rollux-testnet",nativeCurrency:{decimals:18,name:"Syscoin",symbol:"SYS"},rpcUrls:{default:{http:["https://rpc-tanenbaum.rollux.com/"],webSocket:["wss://rpc-tanenbaum.rollux.com/wss"]},public:{http:["https://rpc-tanenbaum.rollux.com/"]}},blockExplorers:{default:{name:"RolluxTestnetExplorer",url:"https://rollux.tanenbaum.io"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:1813675}}},m8e={id:2020,name:"Ronin",network:"ronin",nativeCurrency:{name:"RON",symbol:"RON",decimals:18},rpcUrls:{default:{http:["https://api.roninchain.com/rpc"]},public:{http:["https://api.roninchain.com/rpc"]}},blockExplorers:{default:{name:"Ronin Explorer",url:"https://app.roninchain.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:26023535}}},b8e={id:2021,name:"Saigon Testnet",network:"saigon",nativeCurrency:{name:"RON",symbol:"RON",decimals:18},rpcUrls:{default:{http:["https://saigon-testnet.roninchain.com/rpc"]},public:{http:["https://saigon-testnet.roninchain.com/rpc"]}},blockExplorers:{default:{name:"Saigon Explorer",url:"https://saigon-explorer.roninchain.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:18736871}},testnet:!0},w8e={id:534351,name:"Scroll Sepolia",network:"scroll-sepolia",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia-rpc.scroll.io"],webSocket:["wss://sepolia-rpc.scroll.io/ws"]},public:{http:["https://sepolia-rpc.scroll.io"],webSocket:["wss://sepolia-rpc.scroll.io/ws"]}},blockExplorers:{default:{name:"Blockscout",url:"https://sepolia-blockscout.scroll.io"}},testnet:!0},v8e={id:534353,name:"Scroll Testnet",network:"scroll-testnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://alpha-rpc.scroll.io/l2"],webSocket:["wss://alpha-rpc.scroll.io/l2/ws"]},public:{http:["https://alpha-rpc.scroll.io/l2"],webSocket:["wss://alpha-rpc.scroll.io/l2/ws"]}},blockExplorers:{default:{name:"Blockscout",url:"https://blockscout.scroll.io"}},testnet:!0},y8e={id:23294,name:"Oasis Sapphire",network:"sapphire",nativeCurrency:{decimals:18,name:"Oasis ROSE",symbol:"ROSE"},rpcUrls:{default:{http:["https://sapphire.oasis.io"],webSocket:["wss://sapphire.oasis.io/ws"]},public:{http:["https://sapphire.oasis.io"],webSocket:["wss://sapphire.oasis.io/ws"]}},blockExplorers:{default:{name:"Oasis Explorer",url:"https://explorer.oasis.io/mainnet/sapphire"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:734531}}},x8e={id:23295,name:"Oasis Sapphire Testnet",network:"sapphireTestnet",nativeCurrency:{decimals:18,name:"Oasis TEST",symbol:"TEST"},rpcUrls:{default:{http:["https://testnet.sapphire.oasis.dev"],webSocket:["wss://testnet.sapphire.oasis.dev/ws"]},public:{http:["https://testnet.sapphire.oasis.dev"],webSocket:["wss://testnet.sapphire.oasis.dev/ws"]}},blockExplorers:{default:{name:"Oasis Explorer",url:"https://explorer.oasis.io/testnet/sapphire"}}},_8e={id:11155111,network:"sepolia",name:"Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"SEP",decimals:18},rpcUrls:{alchemy:{http:["https://eth-sepolia.g.alchemy.com/v2"],webSocket:["wss://eth-sepolia.g.alchemy.com/v2"]},infura:{http:["https://sepolia.infura.io/v3"],webSocket:["wss://sepolia.infura.io/ws/v3"]},default:{http:["https://rpc.sepolia.org"]},public:{http:["https://rpc.sepolia.org"]}},blockExplorers:{etherscan:{name:"Etherscan",url:"https://sepolia.etherscan.io"},default:{name:"Etherscan",url:"https://sepolia.etherscan.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:6507670}},testnet:!0},E8e={id:391845894,name:"SKALE | Block Brawlers",network:"skale-brawl",nativeCurrency:{name:"BRAWL",symbol:"BRAWL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/frayed-decent-antares"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/frayed-decent-antares"]},public:{http:["https://mainnet.skalenodes.com/v1/frayed-decent-antares"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/frayed-decent-antares"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://frayed-decent-antares.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://frayed-decent-antares.explorer.mainnet.skalenodes.com"}},contracts:{}},A8e={id:1564830818,name:"SKALE | Calypso NFT Hub",network:"skale-calypso",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/honorable-steel-rasalhague"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/honorable-steel-rasalhague"]},public:{http:["https://mainnet.skalenodes.com/v1/honorable-steel-rasalhague"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/honorable-steel-rasalhague"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://honorable-steel-rasalhague.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://honorable-steel-rasalhague.explorer.mainnet.skalenodes.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:3107626}}},C8e={id:344106930,name:"SKALE | Calypso NFT Hub Testnet",network:"skale-calypso-testnet",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://staging-v3.skalenodes.com/v1/staging-utter-unripe-menkar"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-utter-unripe-menkar"]},public:{http:["https://staging-v3.skalenodes.com/v1/staging-utter-unripe-menkar"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-utter-unripe-menkar"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://staging-utter-unripe-menkar.explorer.staging-v3.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://staging-utter-unripe-menkar.explorer.staging-v3.skalenodes.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:2131424}},testnet:!0},S8e={id:1351057110,name:"SKALE | Chaos Testnet",network:"skale-chaos-testnet",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://staging-v3.skalenodes.com/v1/staging-fast-active-bellatrix"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-fast-active-bellatrix"]},public:{http:["https://staging-v3.skalenodes.com/v1/staging-fast-active-bellatrix"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-fast-active-bellatrix"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://staging-fast-active-bellatrix.explorer.staging-v3.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://staging-fast-active-bellatrix.explorer.staging-v3.skalenodes.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:1192202}},testnet:!0},I8e={id:1026062157,name:"SKALE | CryptoBlades",network:"skale-cryptoblades",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/affectionate-immediate-pollux"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/affectionate-immediate-pollux"]},public:{http:["https://mainnet.skalenodes.com/v1/affectionate-immediate-pollux"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/affectionate-immediate-pollux"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://affectionate-immediate-pollux.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://affectionate-immediate-pollux.explorer.mainnet.skalenodes.com"}},contracts:{}},T8e={id:2046399126,name:"SKALE | Crypto Colosseum",network:"skale-crypto-coloseeum",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/haunting-devoted-deneb"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/haunting-devoted-deneb"]},public:{http:["https://mainnet.skalenodes.com/v1/haunting-devoted-deneb"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/haunting-devoted-deneb"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://haunting-devoted-deneb.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://haunting-devoted-deneb.explorer.mainnet.skalenodes.com"}},contracts:{}},R8e={id:2046399126,name:"SKALE | Europa Liquidity Hub",network:"skale-europa",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/elated-tan-skat"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/elated-tan-skat"]},public:{http:["https://mainnet.skalenodes.com/v1/elated-tan-skat"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/elated-tan-skat"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://elated-tan-skat.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://elated-tan-skat.explorer.mainnet.skalenodes.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:3113495}}},k8e={id:476158412,name:"SKALE | Europa Liquidity Hub Testnet",network:"skale-europa-testnet",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://staging-v3.skalenodes.com/v1/staging-legal-crazy-castor"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-legal-crazy-castor"]},public:{http:["https://staging-v3.skalenodes.com/v1/staging-legal-crazy-castor"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-legal-crazy-castor"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://staging-legal-crazy-castor.explorer.staging-v3.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://staging-legal-crazy-castor.explorer.staging-v3.skalenodes.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:2071911}},testnet:!0},M8e={id:2139927552,name:"SKALE | Exorde",network:"skale-exorde",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/light-vast-diphda"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/light-vast-diphda"]},public:{http:["https://mainnet.skalenodes.com/v1/light-vast-diphda"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/light-vast-diphda"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://light-vast-diphda.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://light-vast-diphda.explorer.mainnet.skalenodes.com"}},contracts:{}},N8e={id:1273227453,name:"SKALE | Human Protocol",network:"skale-human-protocol",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/wan-red-ain"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/wan-red-ain"]},public:{http:["https://mainnet.skalenodes.com/v1/wan-red-ain"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/wan-red-ain"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://wan-red-ain.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://wan-red-ain.explorer.mainnet.skalenodes.com"}},contracts:{}},P8e={id:1482601649,name:"SKALE | Nebula Gaming Hub",network:"skale-nebula",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/green-giddy-denebola"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/green-giddy-denebola"]},public:{http:["https://mainnet.skalenodes.com/v1/green-giddy-denebola"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/green-giddy-denebola"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://green-giddy-denebola.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://green-giddy-denebola.explorer.mainnet.skalenodes.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:2372986}}},O8e={id:503129905,name:"SKALE | Nebula Gaming Hub Testnet",network:"skale-nebula-testnet",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://staging-v3.skalenodes.com/v1/staging-faint-slimy-achird"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-faint-slimy-achird"]},public:{http:["https://staging-v3.skalenodes.com/v1/staging-faint-slimy-achird"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-faint-slimy-achird"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://staging-faint-slimy-achird.explorer.staging-v3.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://staging-faint-slimy-achird.explorer.staging-v3.skalenodes.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:2205882}},testnet:!0},D8e={id:278611351,name:"SKALE | Razor Network",network:"skale-razor",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/turbulent-unique-scheat"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/turbulent-unique-scheat"]},public:{http:["https://mainnet.skalenodes.com/v1/turbulent-unique-scheat"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/turbulent-unique-scheat"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://turbulent-unique-scheat.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://turbulent-unique-scheat.explorer.mainnet.skalenodes.com"}},contracts:{}},$8e={id:1350216234,name:"SKALE | Titan Community Hub",network:"skale-titan",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/parallel-stormy-spica"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/parallel-stormy-spica"]},public:{http:["https://mainnet.skalenodes.com/v1/parallel-stormy-spica"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/parallel-stormy-spica"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://parallel-stormy-spica.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://parallel-stormy-spica.explorer.mainnet.skalenodes.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:2076458}}},B8e={id:1517929550,name:"SKALE | Titan Community Hub Testnet",network:"skale-titan-testnet",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://staging-v3.skalenodes.com/v1/staging-aware-chief-gianfar"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-aware-chief-gianfar"]},public:{http:["https://staging-v3.skalenodes.com/v1/staging-aware-chief-gianfar"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-aware-chief-gianfar"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://staging-aware-chief-gianfar.explorer.staging-v3.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://staging-aware-chief-gianfar.explorer.staging-v3.skalenodes.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:2085155}},testnet:!0},L8e={id:19,name:"Songbird Mainnet",network:"songbird-mainnet",nativeCurrency:{decimals:18,name:"songbird",symbol:"SGB"},rpcUrls:{default:{http:["https://songbird-api.flare.network/ext/C/rpc"]},public:{http:["https://songbird-api.flare.network/ext/C/rpc"]}},blockExplorers:{default:{name:"Songbird Explorer",url:"https://songbird-explorer.flare.network"}}},U8e={id:16,name:"Coston",network:"coston",nativeCurrency:{decimals:18,name:"costonflare",symbol:"CFLR"},rpcUrls:{default:{http:["https://coston-api.flare.network/ext/C/rpc"]},public:{http:["https://coston-api.flare.network/ext/C/rpc"]}},blockExplorers:{default:{name:"Coston Explorer",url:"https://coston-explorer.flare.network"}},testnet:!0},F8e={id:8082,name:"Shardeum Sphinx",network:"shmSphinx",nativeCurrency:{name:"SHARDEUM",symbol:"SHM",decimals:18},rpcUrls:{default:{http:["https://sphinx.shardeum.org"]},public:{http:["https://sphinx.shardeum.org"]}},blockExplorers:{default:{name:"Shardeum Explorer",url:"https://explorer-sphinx.shardeum.org"}},testnet:!0},j8e={id:57,name:"Syscoin Mainnet",network:"syscoin",nativeCurrency:{decimals:18,name:"Syscoin",symbol:"SYS"},rpcUrls:{default:{http:["https://rpc.syscoin.org"],webSocket:["wss://rpc.syscoin.org/wss"]},public:{http:["https://rpc.syscoin.org"],webSocket:["wss://rpc.syscoin.org/wss"]}},blockExplorers:{default:{name:"SyscoinExplorer",url:"https://explorer.syscoin.org"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:287139}}},z8e={id:5700,name:"Syscoin Tanenbaum Testnet",network:"syscoin-testnet",nativeCurrency:{decimals:18,name:"Syscoin",symbol:"SYS"},rpcUrls:{default:{http:["https://rpc.tanenbaum.io"],webSocket:["wss://rpc.tanenbaum.io/wss"]},public:{http:["https://rpc.tanenbaum.io"],webSocket:["wss://rpc.tanenbaum.io/wss"]}},blockExplorers:{default:{name:"SyscoinTestnetExplorer",url:"https://tanenbaum.io"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:271288}}},H8e={id:841,name:"Taraxa Mainnet",network:"taraxa",nativeCurrency:{name:"Tara",symbol:"TARA",decimals:18},rpcUrls:{default:{http:["https://rpc.mainnet.taraxa.io"]},public:{http:["https://rpc.mainnet.taraxa.io"]}},blockExplorers:{default:{name:"Taraxa Explorer",url:"https://explorer.mainnet.taraxa.io"}}},q8e={id:167005,name:"Taiko (Alpha-3 Testnet)",network:"taiko-sepolia",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.test.taiko.xyz"]},public:{http:["https://rpc.test.taiko.xyz"]}},blockExplorers:{default:{name:"blockscout",url:"https://explorer.test.taiko.xyz"}}},W8e={id:842,name:"Taraxa Testnet",network:"taraxa-testnet",nativeCurrency:{name:"Tara",symbol:"TARA",decimals:18},rpcUrls:{default:{http:["https://rpc.testnet.taraxa.io"]},public:{http:["https://rpc.testnet.taraxa.io"]}},blockExplorers:{default:{name:"Taraxa Explorer",url:"https://explorer.testnet.taraxa.io"}},testnet:!0},V8e={id:40,name:"Telos",network:"telos",nativeCurrency:{decimals:18,name:"Telos",symbol:"TLOS"},rpcUrls:{default:{http:["https://mainnet.telos.net/evm"]},public:{http:["https://mainnet.telos.net/evm"]}},blockExplorers:{default:{name:"Teloscan",url:"https://www.teloscan.io/"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:246530709}}},G8e={id:41,name:"Telos",network:"telosTestnet",nativeCurrency:{decimals:18,name:"Telos",symbol:"TLOS"},rpcUrls:{default:{http:["https://testnet.telos.net/evm"]},public:{http:["https://testnet.telos.net/evm"]}},blockExplorers:{default:{name:"Teloscan (testnet)",url:"https://testnet.teloscan.io/"}},testnet:!0},K8e={id:997,name:"5ireChain Thunder Testnet",network:"5ireChain",nativeCurrency:{name:"5ire Token",symbol:"5IRE",decimals:18},rpcUrls:{default:{http:["https://rpc-testnet.5ire.network"]},public:{http:["https://rpc-testnet.5ire.network"]}},blockExplorers:{default:{name:"5ireChain Explorer",url:"https://explorer.5ire.network"}},testnet:!0},Z8e={id:73799,name:"Volta Chain",network:"volta",nativeCurrency:{name:"VT",symbol:"VT",decimals:18},rpcUrls:{default:{http:["https://volta-rpc.energyweb.org"]},public:{http:["https://volta-rpc.energyweb.org"]}},blockExplorers:{default:{name:"Volta Explorer",url:"https://volta-explorer.energyweb.org"}},contracts:{ensRegistry:{address:"0xd7CeF70Ba7efc2035256d828d5287e2D285CD1ac"}}},J8e={id:888,name:"Wanchain",network:"wanchain",nativeCurrency:{name:"WANCHAIN",symbol:"WAN",decimals:18},rpcUrls:{default:{http:["https://gwan-ssl.wandevs.org:56891","https://gwan2-ssl.wandevs.org"]},public:{http:["https://gwan-ssl.wandevs.org:56891","https://gwan2-ssl.wandevs.org"]}},blockExplorers:{etherscan:{name:"WanScan",url:"https://wanscan.org"},default:{name:"WanScan",url:"https://wanscan.org"}},contracts:{multicall3:{address:"0xcDF6A1566e78EB4594c86Fe73Fcdc82429e97fbB",blockCreated:25312390}}},Y8e={id:999,name:"Wanchain Testnet",network:"wanchainTestnet",nativeCurrency:{name:"WANCHAIN",symbol:"WANt",decimals:18},rpcUrls:{default:{http:["https://gwan-ssl.wandevs.org:46891"]},public:{http:["https://gwan-ssl.wandevs.org:46891"]}},blockExplorers:{etherscan:{name:"WanScanTest",url:"https://wanscan.org"},default:{name:"WanScanTest",url:"https://wanscan.org"}},contracts:{multicall3:{address:"0x11c89bF4496c39FB80535Ffb4c92715839CC5324",blockCreated:24743448}},testnet:!0},Q8e={id:50,name:"XinFin Network",network:"xdc",nativeCurrency:{decimals:18,name:"XDC",symbol:"XDC"},rpcUrls:{default:{http:["https://rpc.xinfin.network"]},public:{http:["https://rpc.xinfin.network"]}},blockExplorers:{xinfin:{name:"XinFin",url:"https://explorer.xinfin.network"},default:{name:"Blocksscan",url:"https://xdc.blocksscan.io"}}},X8e={id:51,name:"Apothem Network",network:"xdc-testnet",nativeCurrency:{decimals:18,name:"TXDC",symbol:"TXDC"},rpcUrls:{default:{http:["https://erpc.apothem.network"]},public:{http:["https://erpc.apothem.network"]}},blockExplorers:{xinfin:{name:"XinFin",url:"https://explorer.apothem.network"},default:{name:"Blocksscan",url:"https://apothem.blocksscan.io"}}},exe={id:1337803,network:"zhejiang",name:"Zhejiang",nativeCurrency:{name:"Zhejiang Ether",symbol:"ZhejETH",decimals:18},rpcUrls:{default:{http:["https://rpc.zhejiang.ethpandaops.io"]},public:{http:["https://rpc.zhejiang.ethpandaops.io"]}},blockExplorers:{beaconchain:{name:"Etherscan",url:"https://zhejiang.beaconcha.in"},blockscout:{name:"Blockscout",url:"https://blockscout.com/eth/zhejiang-testnet"},default:{name:"Beaconchain",url:"https://zhejiang.beaconcha.in"}},testnet:!0},txe={id:324,name:"zkSync Era",network:"zksync-era",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["https://mainnet.era.zksync.io"],webSocket:["wss://mainnet.era.zksync.io/ws"]},public:{http:["https://mainnet.era.zksync.io"],webSocket:["wss://mainnet.era.zksync.io/ws"]}},blockExplorers:{default:{name:"zkExplorer",url:"https://explorer.zksync.io"}},contracts:{multicall3:{address:"0xF9cda624FBC7e059355ce98a31693d299FACd963"}}},rxe={id:280,name:"zkSync Era Testnet",network:"zksync-era-testnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://testnet.era.zksync.dev"],webSocket:["wss://testnet.era.zksync.dev/ws"]},public:{http:["https://testnet.era.zksync.dev"],webSocket:["wss://testnet.era.zksync.dev/ws"]}},blockExplorers:{default:{name:"zkExplorer",url:"https://goerli.explorer.zksync.io"}},contracts:{multicall3:{address:"0xF9cda624FBC7e059355ce98a31693d299FACd963"}},testnet:!0},nxe={id:7001,name:"ZetaChain Athens Testnet",network:"zetachain-athens-testnet",nativeCurrency:{decimals:18,name:"Zeta",symbol:"aZETA"},rpcUrls:{public:{http:["https://zetachain-athens-evm.blockpi.network/v1/rpc/public"]},default:{http:["https://zetachain-athens-evm.blockpi.network/v1/rpc/public"]}},blockExplorers:{default:{name:"ZetaScan",url:"https://athens3.explorer.zetachain.com"}},testnet:!0},ixe={id:7777777,name:"Zora",network:"zora",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["https://rpc.zora.energy"],webSocket:["wss://rpc.zora.energy"]},public:{http:["https://rpc.zora.energy"],webSocket:["wss://rpc.zora.energy"]}},blockExplorers:{default:{name:"Explorer",url:"https://explorer.zora.energy"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:5882}}},sxe={id:999,name:"Zora Goerli Testnet",network:"zora-testnet",nativeCurrency:{decimals:18,name:"Zora Goerli",symbol:"ETH"},rpcUrls:{default:{http:["https://testnet.rpc.zora.energy"],webSocket:["wss://testnet.rpc.zora.energy"]},public:{http:["https://testnet.rpc.zora.energy"],webSocket:["wss://testnet.rpc.zora.energy"]}},blockExplorers:{default:{name:"Explorer",url:"https://testnet.explorer.zora.energy"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:189123}},testnet:!0};const BX=Object.freeze(Object.defineProperty({__proto__:null,arbitrum:N4e,arbitrumGoerli:P4e,arbitrumNova:O4e,aurora:D4e,auroraTestnet:$4e,avalanche:B4e,avalancheFuji:L4e,base:U4e,baseGoerli:F4e,bearNetworkChainMainnet:j4e,bearNetworkChainTestnet:z4e,boba:H4e,bronos:q4e,bronosTestnet:W4e,bsc:V4e,bscTestnet:G4e,bxn:K4e,bxnTestnet:Z4e,canto:J4e,celo:Y4e,celoAlfajores:Q4e,celoCannoli:X4e,classic:e6e,confluxESpace:t6e,cronos:r6e,cronosTestnet:n6e,crossbell:i6e,dfk:s6e,dogechain:o6e,edgeware:a6e,edgewareTestnet:c6e,ekta:p6e,ektaTestnet:g6e,emerald:l6e,eos:u6e,eosTestnet:h6e,evmos:f6e,evmosTestnet:d6e,ewc:m6e,fantom:b6e,fantomTestnet:w6e,fibo:v6e,filecoin:y6e,filecoinCalibration:x6e,filecoinHyperspace:_6e,flare:E6e,flareTestnet:A6e,foundry:C6e,fuse:S6e,fuseSparknet:I6e,gnosis:N6e,gnosisChiado:P6e,gobi:k6e,goerli:M6e,haqqMainnet:$6e,haqqTestedge2:B6e,hardhat:O6e,harmonyOne:D6e,iotex:T6e,iotexTestnet:R6e,klaytn:L6e,linea:U6e,lineaTestnet:F6e,localhost:j6e,mainnet:z6e,mantle:H6e,mantleTestnet:q6e,metis:W6e,metisGoerli:V6e,mev:G6e,mevTestnet:K6e,modeTestnet:Z6e,moonbaseAlpha:J6e,moonbeam:Y6e,moonriver:Q6e,neonDevnet:X6e,nexi:e8e,nexilix:t8e,oasys:r8e,okc:n8e,optimism:i8e,optimismGoerli:s8e,polygon:o8e,polygonMumbai:a8e,polygonZkEvm:l8e,polygonZkEvmTestnet:c8e,pulsechain:u8e,pulsechainV4:h8e,qMainnet:f8e,qTestnet:d8e,rollux:p8e,rolluxTestnet:g8e,ronin:m8e,saigon:b8e,sapphire:y8e,sapphireTestnet:x8e,scrollSepolia:w8e,scrollTestnet:v8e,sepolia:_8e,shardeumSphinx:F8e,skaleBlockBrawlers:E8e,skaleCalypso:A8e,skaleCalypsoTestnet:C8e,skaleChaosTestnet:S8e,skaleCryptoBlades:I8e,skaleCryptoColosseum:T8e,skaleEuropa:R8e,skaleEuropaTestnet:k8e,skaleExorde:M8e,skaleHumanProtocol:N8e,skaleNebula:P8e,skaleNebulaTestnet:O8e,skaleRazor:D8e,skaleTitan:$8e,skaleTitanTestnet:B8e,songbird:L8e,songbirdTestnet:U8e,syscoin:j8e,syscoinTestnet:z8e,taikoTestnetSepolia:q8e,taraxa:H8e,taraxaTestnet:W8e,telos:V8e,telosTestnet:G8e,thunderTestnet:K8e,volta:Z8e,wanchain:J8e,wanchainTestnet:Y8e,xdc:Q8e,xdcTestnet:X8e,zetachainAthensTestnet:nxe,zhejiang:exe,zkSync:txe,zkSyncTestnet:rxe,zora:ixe,zoraTestnet:sxe},Symbol.toStringTag,{value:"Module"})),Lu={};for(const r of Object.keys(BX)){const e=BX[r];let t="";((ige=e.rpcUrls)==null?void 0:ige.infura)!==void 0?t=e.rpcUrls.infura.http[0]:((sge=e.rpcUrls)==null?void 0:sge.alchemy)!==void 0&&(t=e.rpcUrls.alchemy.http[0]);const n={id:e.id,name:e.name,testnet:e.testnet??!1,nativeCurrency:e.nativeCurrency,hexId:"0x"+Number(e.id).toString(16),explorerUrl:((oge=e.blockExplorers)==null?void 0:oge.default.url)??"",rpcUrl:((age=e.rpcUrls)==null?void 0:age.default.http[0])??t};((cge=e.rpcUrls)==null?void 0:cge.default.webSocket)!==void 0&&(n.wsUrl=e.rpcUrls.default.webSocket[0]),((uge=(lge=e.rpcUrls)==null?void 0:lge.infura)==null?void 0:uge.webSocket)!==void 0&&n.wsUrl===void 0&&(n.wsUrl=e.rpcUrls.infura.webSocket[0]),((fge=(hge=e.rpcUrls)==null?void 0:hge.alchemy)==null?void 0:fge.webSocket)!==void 0&&n.wsUrl===void 0&&(n.wsUrl=e.rpcUrls.alchemy.webSocket[0]),n.wsUrl===void 0&&delete n.wsUrl,Lu[r==="mainnet"?"ethereum":r]=n}const NA={add:(r,e)=>{Lu[r]=e},getAll:()=>Object.values(Lu),findById:r=>Object.values(Lu).find(e=>e.id===r),findByKey:r=>Lu[r],findByName:r=>Object.values(Lu).find(e=>{var t;return(t=e.name)==null?void 0:t.includes(r)}),findByHexId:r=>Object.values(Lu).find(e=>e.hexId===r),findBySymbol:r=>Object.values(Lu).find(e=>e.nativeCurrency.symbol===r),getTestnets:()=>Object.values(Lu).filter(r=>r.testnet??!1),getMainnets:()=>Object.values(Lu).filter(r=>!(r.testnet??!1)),...Lu},gv=async(r,e)=>{const t=e==null?void 0:e.network,n=async l=>{const u=await r.request(l);if((u==null?void 0:u.error)!==void 0){const h=u.error;throw h.code===-32e3?new Error(kr.RPC_TIMEOUT):new Error(h.message)}return u},i=async l=>await new Promise((u,h)=>{try{n({method:"wallet_addEthereumChain",params:[{chainId:l.hexId,chainName:l.name,rpcUrls:[l.rpcUrl],nativeCurrency:l.nativeCurrency,blockExplorerUrls:[l.explorerUrl]}]}).then(()=>{u(!0)}).catch(p=>{h(p)})}catch(p){h(p)}}),s=async l=>await new Promise((u,h)=>{const p=`0x${l.id.toString(16)}`;n({method:"wallet_switchEthereumChain",params:[{chainId:p}]}).then(()=>{u(!0)}).catch(g=>{if(g.code===4902||String(g.message).includes("wallet_addEthereumChain")){const w=NA.findById(l.id);if(w===void 0){u(!0);return}i(w).then(()=>{u(!0)}).catch(y=>{h(y)})}else h(g)})}),o=async()=>parseInt(await n({method:"eth_chainId"}),16);return await(async()=>await new Promise((l,u)=>{if(t===void 0){l(!0);return}try{(async()=>{await o()!==t.id?s(t).then(()=>{setTimeout(()=>{l(!0)},1e3)}).catch(p=>{u(p)}):l(!0)})()}catch(h){u(h)}}))()},$p={metaMask:"data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2233%22%20viewBox%3D%220%200%2035%2033%22%20width%3D%2235%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%22.25%22%3E%3Cpath%20d%3D%22m32.9582%201-13.1341%209.7183%202.4424-5.72731z%22%20fill%3D%22%23e17726%22%20stroke%3D%22%23e17726%22%2F%3E%3Cg%20fill%3D%22%23e27625%22%20stroke%3D%22%23e27625%22%3E%3Cpath%20d%3D%22m2.66296%201%2013.01714%209.809-2.3254-5.81802z%22%2F%3E%3Cpath%20d%3D%22m28.2295%2023.5335-3.4947%205.3386%207.4829%202.0603%202.1436-7.2823z%22%2F%3E%3Cpath%20d%3D%22m1.27281%2023.6501%202.13055%207.2823%207.46994-2.0603-3.48166-5.3386z%22%2F%3E%3Cpath%20d%3D%22m10.4706%2014.5149-2.0786%203.1358%207.405.3369-.2469-7.969z%22%2F%3E%3Cpath%20d%3D%22m25.1505%2014.5149-5.1575-4.58704-.1688%208.05974%207.4049-.3369z%22%2F%3E%3Cpath%20d%3D%22m10.8733%2028.8721%204.4819-2.1639-3.8583-3.0062z%22%2F%3E%3Cpath%20d%3D%22m20.2659%2026.7082%204.4689%202.1639-.6105-5.1701z%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22m24.7348%2028.8721-4.469-2.1639.3638%202.9025-.039%201.231z%22%20fill%3D%22%23d5bfb2%22%20stroke%3D%22%23d5bfb2%22%2F%3E%3Cpath%20d%3D%22m10.8732%2028.8721%204.1572%201.9696-.026-1.231.3508-2.9025z%22%20fill%3D%22%23d5bfb2%22%20stroke%3D%22%23d5bfb2%22%2F%3E%3Cpath%20d%3D%22m15.1084%2021.7842-3.7155-1.0884%202.6243-1.2051z%22%20fill%3D%22%23233447%22%20stroke%3D%22%23233447%22%2F%3E%3Cpath%20d%3D%22m20.5126%2021.7842%201.0913-2.2935%202.6372%201.2051z%22%20fill%3D%22%23233447%22%20stroke%3D%22%23233447%22%2F%3E%3Cpath%20d%3D%22m10.8733%2028.8721.6495-5.3386-4.13117.1167z%22%20fill%3D%22%23cc6228%22%20stroke%3D%22%23cc6228%22%2F%3E%3Cpath%20d%3D%22m24.0982%2023.5335.6366%205.3386%203.4946-5.2219z%22%20fill%3D%22%23cc6228%22%20stroke%3D%22%23cc6228%22%2F%3E%3Cpath%20d%3D%22m27.2291%2017.6507-7.405.3369.6885%203.7966%201.0913-2.2935%202.6372%201.2051z%22%20fill%3D%22%23cc6228%22%20stroke%3D%22%23cc6228%22%2F%3E%3Cpath%20d%3D%22m11.3929%2020.6958%202.6242-1.2051%201.0913%202.2935.6885-3.7966-7.40495-.3369z%22%20fill%3D%22%23cc6228%22%20stroke%3D%22%23cc6228%22%2F%3E%3Cpath%20d%3D%22m8.392%2017.6507%203.1049%206.0513-.1039-3.0062z%22%20fill%3D%22%23e27525%22%20stroke%3D%22%23e27525%22%2F%3E%3Cpath%20d%3D%22m24.2412%2020.6958-.1169%203.0062%203.1049-6.0513z%22%20fill%3D%22%23e27525%22%20stroke%3D%22%23e27525%22%2F%3E%3Cpath%20d%3D%22m15.797%2017.9876-.6886%203.7967.8704%204.4833.1949-5.9087z%22%20fill%3D%22%23e27525%22%20stroke%3D%22%23e27525%22%2F%3E%3Cpath%20d%3D%22m19.8242%2017.9876-.3638%202.3584.1819%205.9216.8704-4.4833z%22%20fill%3D%22%23e27525%22%20stroke%3D%22%23e27525%22%2F%3E%3Cpath%20d%3D%22m20.5127%2021.7842-.8704%204.4834.6236.4406%203.8584-3.0062.1169-3.0062z%22%20fill%3D%22%23f5841f%22%20stroke%3D%22%23f5841f%22%2F%3E%3Cpath%20d%3D%22m11.3929%2020.6958.104%203.0062%203.8583%203.0062.6236-.4406-.8704-4.4834z%22%20fill%3D%22%23f5841f%22%20stroke%3D%22%23f5841f%22%2F%3E%3Cpath%20d%3D%22m20.5906%2030.8417.039-1.231-.3378-.2851h-4.9626l-.3248.2851.026%201.231-4.1572-1.9696%201.4551%201.1921%202.9489%202.0344h5.0536l2.962-2.0344%201.442-1.1921z%22%20fill%3D%22%23c0ac9d%22%20stroke%3D%22%23c0ac9d%22%2F%3E%3Cpath%20d%3D%22m20.2659%2026.7082-.6236-.4406h-3.6635l-.6236.4406-.3508%202.9025.3248-.2851h4.9626l.3378.2851z%22%20fill%3D%22%23161616%22%20stroke%3D%22%23161616%22%2F%3E%3Cpath%20d%3D%22m33.5168%2011.3532%201.1043-5.36447-1.6629-4.98873-12.6923%209.3944%204.8846%204.1205%206.8983%202.0085%201.52-1.7752-.6626-.4795%201.0523-.9588-.8054-.622%201.0523-.8034z%22%20fill%3D%22%23763e1a%22%20stroke%3D%22%23763e1a%22%2F%3E%3Cpath%20d%3D%22m1%205.98873%201.11724%205.36447-.71451.5313%201.06527.8034-.80545.622%201.05228.9588-.66255.4795%201.51997%201.7752%206.89835-2.0085%204.8846-4.1205-12.69233-9.3944z%22%20fill%3D%22%23763e1a%22%20stroke%3D%22%23763e1a%22%2F%3E%3Cpath%20d%3D%22m32.0489%2016.5234-6.8983-2.0085%202.0786%203.1358-3.1049%206.0513%204.1052-.0519h6.1318z%22%20fill%3D%22%23f5841f%22%20stroke%3D%22%23f5841f%22%2F%3E%3Cpath%20d%3D%22m10.4705%2014.5149-6.89828%202.0085-2.29944%207.1267h6.11883l4.10519.0519-3.10487-6.0513z%22%20fill%3D%22%23f5841f%22%20stroke%3D%22%23f5841f%22%2F%3E%3Cpath%20d%3D%22m19.8241%2017.9876.4417-7.5932%202.0007-5.4034h-8.9119l2.0006%205.4034.4417%207.5932.1689%202.3842.013%205.8958h3.6635l.013-5.8958z%22%20fill%3D%22%23f5841f%22%20stroke%3D%22%23f5841f%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E",walletConnect:"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGJhc2VQcm9maWxlPSJiYXNpYyIgaWQ9IkxheWVyXzEiCgkgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzODcuNiAyMzcuNiIKCSB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBhdGggaWQ9IldhbGxldENvbm5lY3RfMDAwMDAwNzM3MDMwNjM0MzgyMjA2NDI3MzAwMDAwMDI5MTc3MTc1NTIyMzY0NzI0OTZfIiBmaWxsPSIjM0I5OUZDIiBkPSJNNzkuNCw0Ni40CgljNjMuMi02MS45LDE2NS43LTYxLjksMjI4LjksMGw3LjYsNy40YzMuMiwzLjEsMy4yLDguMSwwLDExLjJsLTI2LDI1LjVjLTEuNiwxLjUtNC4xLDEuNS01LjcsMGwtMTAuNS0xMC4zCgljLTQ0LjEtNDMuMi0xMTUuNi00My4yLTE1OS43LDBsLTExLjIsMTFjLTEuNiwxLjUtNC4xLDEuNS01LjcsMEw3MSw2NS44Yy0zLjItMy4xLTMuMi04LjEsMC0xMS4yTDc5LjQsNDYuNHogTTM2Mi4xLDk5LjFsMjMuMiwyMi43CgljMy4yLDMuMSwzLjIsOC4xLDAsMTEuMkwyODAuOCwyMzUuM2MtMy4yLDMuMS04LjMsMy4xLTExLjQsMGMwLDAsMCwwLDAsMGwtNzQuMS03Mi42Yy0wLjgtMC44LTIuMS0wLjgtMi45LDBjMCwwLDAsMCwwLDAKCWwtNzQuMSw3Mi42Yy0zLjIsMy4xLTguMywzLjEtMTEuNCwwYzAsMCwwLDAsMCwwTDIuNCwxMzNjLTMuMi0zLjEtMy4yLTguMSwwLTExLjJsMjMuMi0yMi43YzMuMi0zLjEsOC4zLTMuMSwxMS40LDBsNzQuMSw3Mi42CgljMC44LDAuOCwyLjEsMC44LDIuOSwwYzAsMCwwLDAsMCwwbDc0LjEtNzIuNmMzLjItMy4xLDguMy0zLjEsMTEuNCwwYzAsMCwwLDAsMCwwbDc0LjEsNzIuNmMwLjgsMC44LDIuMSwwLjgsMi45LDBsNzQuMS03Mi42CglDMzUzLjgsOTYsMzU4LjksOTYsMzYyLjEsOTkuMXoiLz4KPC9zdmc+",web3modal:"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKIHdpZHRoPSI0MDAuMDAwMDAwcHQiIGhlaWdodD0iNDAwLjAwMDAwMHB0IiB2aWV3Qm94PSIwIDAgNDAwLjAwMDAwMCA0MDAuMDAwMDAwIgogcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCI+Cgo8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCw0MDAuMDAwMDAwKSBzY2FsZSgwLjEwMDAwMCwtMC4xMDAwMDApIgpmaWxsPSIjMDAwMDAwIiBzdHJva2U9Im5vbmUiPgo8cGF0aCBkPSJNMCAyMDAwIGwwIC0yMDAwIDIwMDAgMCAyMDAwIDAgMCAyMDAwIDAgMjAwMCAtMjAwMCAwIC0yMDAwIDAgMAotMjAwMHogbTIyNjQgNzM2IGMxMjQgLTMyIDI2MSAtOTggMzYzIC0xNzUgOTEgLTY5IDE3MyAtMTUzIDE3MyAtMTc4IDAgLTE3Ci0xODcgLTIwMiAtMjA1IC0yMDMgLTYgMCAtMzEgMjEgLTU1IDQ2IC0yMjcgMjM0IC01NjkgMjk5IC04NTcgMTY0IC03OSAtMzYKLTEzMSAtNzMgLTIxMyAtMTQ5IC0zNiAtMzMgLTcyIC02MCAtODAgLTYxIC0yMCAwIC0yMDAgMTgxIC0yMDAgMjAyIDAgMjQgNDkKNzggMTM2IDE0OCAxMzYgMTA5IDI4MSAxNzkgNDQxIDIxNSAxMDYgMjMgMTE5IDI0IDI2MyAyMCAxMDQgLTMgMTU4IC0xMCAyMzQKLTI5eiBtLTEyODQgLTYwMyBjMTQgLTkgMTMwIC0xMjAgMjU4IC0yNDYgbDIzMyAtMjMxIDU3IDU1IGMzMSAyOSAxNDUgMTQxCjI1MyAyNDYgMTEwIDEwOSAyMDMgMTkzIDIxMyAxOTMgMjAgMCAzOSAtMTggNTIyIC00OTAgMyAtMiA3OCA2OCAxNjcgMTU2IDI3MAoyNjYgMzQ0IDMzNCAzNjIgMzM0IDEwIDAgNTcgLTM5IDEwNiAtODcgNjcgLTY1IDg5IC05MyA4OSAtMTEzIDAgLTIxIC02NiAtOTAKLTM0MSAtMzYwIC0xODggLTE4NCAtMzUwIC0zMzkgLTM2MCAtMzQ0IC0xMSAtNSAtMjcgLTUgLTM4IDAgLTExIDUgLTEyOCAxMTYKLTI2MSAyNDcgLTEzMyAxMzEgLTI0NSAyMzYgLTI0OCAyMzIgLTEzNiAtMTM4IC00OTAgLTQ3MyAtNTA4IC00NzkgLTI4IC0xMQotMTYgLTIyIC00NTEgNDA2IC0yMDMgMTk5IC0yODMgMjg0IC0yODMgMzAwIDAgMjggMTcxIDE5OCAyMDAgMTk4IDMgMCAxNyAtNwozMCAtMTd6Ii8+CjwvZz4KPC9zdmc+Cg==",phantom:"data:image/png;base64,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",trustWallet:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTgiIGhlaWdodD0iNjUiIHZpZXdCb3g9IjAgMCA1OCA2NSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAgOS4zODk0OUwyOC44OTA3IDBWNjUuMDA0MkM4LjI1NDUgNTYuMzM2OSAwIDM5LjcyNDggMCAzMC4zMzUzVjkuMzg5NDlaIiBmaWxsPSIjMDUwMEZGIi8+CjxwYXRoIGQ9Ik01Ny43ODIyIDkuMzg5NDlMMjguODkxNSAwVjY1LjAwNDJDNDkuNTI3NyA1Ni4zMzY5IDU3Ljc4MjIgMzkuNzI0OCA1Ny43ODIyIDMwLjMzNTNWOS4zODk0OVoiIGZpbGw9InVybCgjcGFpbnQwX2xpbmVhcl8yMjAxXzY5NDIpIi8+CjxkZWZzPgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfMjIwMV82OTQyIiB4MT0iNTEuMzYxNSIgeTE9Ii00LjE1MjkzIiB4Mj0iMjkuNTM4NCIgeTI9IjY0LjUxNDciIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agb2Zmc2V0PSIwLjAyMTEyIiBzdG9wLWNvbG9yPSIjMDAwMEZGIi8+CjxzdG9wIG9mZnNldD0iMC4wNzYyNDIzIiBzdG9wLWNvbG9yPSIjMDA5NEZGIi8+CjxzdG9wIG9mZnNldD0iMC4xNjMwODkiIHN0b3AtY29sb3I9IiM0OEZGOTEiLz4KPHN0b3Agb2Zmc2V0PSIwLjQyMDA0OSIgc3RvcC1jb2xvcj0iIzAwOTRGRiIvPgo8c3RvcCBvZmZzZXQ9IjAuNjgyODg2IiBzdG9wLWNvbG9yPSIjMDAzOEZGIi8+CjxzdG9wIG9mZnNldD0iMC45MDI0NjUiIHN0b3AtY29sb3I9IiMwNTAwRkYiLz4KPC9saW5lYXJHcmFkaWVudD4KPC9kZWZzPgo8L3N2Zz4K",bitgetWallet:"data:image/png;base64,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",okxWallet:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJDSURBVHgB7Zq9jtpAEMfHlhEgQLiioXEkoAGECwoKxMcTRHmC5E3IoyRPkPAEkI7unJYmTgEFTYwA8a3NTKScLnCHN6c9r1e3P2llWQy7M/s1Gv1twCP0ej37dDq9x+Zut1t3t9vZjDEHIiSRSPg4ZpDL5fxkMvn1cDh8m0wmfugfO53OoFQq/crn8wxfY9EymQyrVCqMfHvScZx1p9ls3pFxXBy/bKlUipGPrVbLuQqAfsCliq3zl0H84zwtjQrOw4Mt1W63P5LvBm2d+Xz+YzqdgkqUy+WgWCy+Mc/nc282m4FqLBYL+3g8fjDxenq72WxANZbLJeA13zDX67UDioL5ybXwafMYu64Ltn3bdDweQ5R97fd7GyhBQMipx4POeEDHIu2LfDdBIGGz+hJ9CQ1ABjoA2egAZPM6AgiCAEQhsi/C4jHyPA/6/f5NG3Ks2+3CYDC4aTccDrn6ojG54MnEvG00GoVmWLIRNZ7wTCwDHYBsdACy0QHIhiuRETxlICWpMMhGZHmqS8qH6JLyGegAZKMDkI0uKf8X4SWlaZo+Pp1bRrwlJU8ZKLIvUjKh0WiQ3sRUbNVq9c5Ebew7KEo2m/1p4jJ4qAmDaqDQBzj5XyiAT4VCQezJigAU+IDU+z8vJFnGWeC+bKQV/5VZ71FV6L7PA3gg3tXrdQ+DgLhC+75Wq3no69P3MC0NFQpx2lL04Ql9gHK1bRDjsSBIvScBnDTk1WrlGIZBorIDEYJj+rhdgnQ67VmWRe0zlplXl81vcyEt0rSoYDUAAAAASUVORK5CYII=",xdefiWallet:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yMTkxXzQyOTApIj4KPHJlY3Qgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiIHJ4PSIxMDQiIGZpbGw9IiMzMzVERTUiLz4KPHBhdGggZD0iTTQ2My40MzggMjQxLjI0N0M0NjAuNzY1IDIwNS4xMzUgNDQ4LjU4IDE3MC4zMzggNDI4LjA4NyAxNDAuMjcxQzQwNy41OTkgMTEwLjIwOSAzNzkuNTA5IDg1LjkxODIgMzQ2LjU3OSA2OS43OTZDMzEzLjY1MyA1My42NzggMjc3LjAzMiA0Ni4yODA0IDI0MC4zMiA0OC4zMzYzQzIwMy42MDUgNTAuMzkyMSAxNjguMDY5IDYxLjgyNTUgMTM3LjIxMiA4MS41MjAxQzEwNi4zNTQgMTAxLjIxIDgxLjIzOTQgMTI4LjQ4IDY0LjMzODYgMTYwLjYzNkw2My41MzYgMTYyLjI1N0M1OC4xOTcxIDE3My4xMjYgNTQuNTg3OCAxODQuNzQ1IDUyLjg0MTEgMTk2LjY5N0M0Ny44NDU1IDIzMi4wMjEgNTUuNTkyIDI2My40NiA3NS44Mjc1IDI4Ny42NjdDOTcuOTU5OSAzMTQuMTM2IDEzMy45OTMgMzI5Ljg3OSAxNzcuMjE1IDMzMS45NDdDMjI5LjgzMiAzMzQuNTU1IDI4Mi4xNDggMzIwLjQzNCAzMTkuMjc1IDI5NC40NThMMzQxLjI4NyAzMDcuMzUzQzMyMC4yNTggMzI1LjI5MSAyNzEuNjM3IDM1Ny41OTQgMTkxLjExMiAzNjIuMDA5QzEwMC43MTkgMzY2LjkzIDYzLjA0MjUgMzM4LjAwMSA2Mi42OTA1IDMzNy43MDZMNTYuMzUxNyAzNDUuNDAzTDQ4IDM1NS4yNzNDNDkuNjAwOCAzNTYuNiA4NS43Mjg1IDM4NS4zMzUgMTcwLjU3NiAzODUuMzM1QzE3Ny41MiAzODUuMzM1IDE4NC44MTYgMzg1LjMzNSAxOTIuNDEyIDM4NC43NDZDMjg5Ljg3MyAzNzkuMzkxIDM0My40NzYgMzM3LjU3NSAzNjIuMjMxIDMxOS42MjlMMzgwLjY0MiAzMzAuNjM3QzM2OC4yNjEgMzQ2LjY1OCAzNTMuMDI1IDM2MC4zMzMgMzM1LjY3IDM3MC45ODJDMjc0LjUwNCA0MDkuODQ5IDE5Ni43MDggNDE0Ljg2NyAxNDIuMjQyIDQxMi4xNjJMMTQxLjA5NiA0MzQuODMxQzE1MC4yNDIgNDM1LjI3MyAxNTkuMDM1IDQzNS40NzEgMTY3LjU4IDQzNS40NzFDMzIxLjA0OCA0MzUuNDcxIDM4My4xMzIgMzY2LjcxOSA0MDAuNTM5IDM0Mi4wNjJMNDE0LjkyNSAzNTAuNDg3QzQwMS4xMzUgMzczLjYwMyAzODIuMzkzIDM5My41NjcgMzU5LjkzMSA0MDguOTM5QzMzMy4wMzQgNDI3LjM0NSAzMDEuNzM1IDQzOC41MzggMjY5LjExNCA0NDEuNDE1TDI3MS4xMTQgNDY0QzMwNy43MzkgNDYwLjc4NiAzNDIuODg4IDQ0OC4yMzYgMzczLjA4OSA0MjcuNTgxQzQwMy4yOSA0MDYuOTI2IDQyNy41MDggMzc4Ljg4MSA0NDMuMzQ5IDM0Ni4yMDdDNDU5LjE4NSAzMTMuNTI5IDQ2Ni4xMTYgMjc3LjM1OCA0NjMuNDM4IDI0MS4yNDdaTTM3NC44MSAyNDQuNzM5QzM2NC42MjYgMjQ0LjczOSAzNTYuMzY4IDIzNi42MTMgMzU2LjM2OCAyMjYuNTg2QzM1Ni4zNjggMjE2LjU2IDM2NC42MjEgMjA4LjQzMyAzNzQuODEgMjA4LjQzM0MzODQuOTkgMjA4LjQzMyAzOTMuMjQ3IDIxNi41NiAzOTMuMjQ3IDIyNi41ODZDMzkzLjI0NyAyMzYuNjEzIDM4NC45OTQgMjQ0LjczOSAzNzQuODEgMjQ0LjczOVoiIGZpbGw9IiNFQ0VDRUMiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMTkxXzQyOTAiPgo8cmVjdCB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K"},oxe={id:"phantom",name:"Phantom",icon:$p.phantom,provider:(dge=window==null?void 0:window.phantom)==null?void 0:dge.ethereum,downloadLink:"https://phantom.app/",platforms:[Po.BROWSER,Po.MOBILE],isDetected:()=>{var r;return Boolean((r=window==null?void 0:window.phantom)==null?void 0:r.ethereum)},createDeepLink:r=>`https://phantom.app/ul/browse/${r}?ref=${r}`,isConnected:async()=>{var r,e;return Boolean((await((e=(r=window==null?void 0:window.phantom)==null?void 0:r.ethereum)==null?void 0:e.request({method:"eth_accounts"}))).length)},connect:async()=>await new Promise((r,e)=>{var n;const t=(n=window==null?void 0:window.phantom)==null?void 0:n.ethereum;try{t==null||t.request({method:"eth_requestAccounts"}).then(()=>{r(t)}).catch(i=>{e(i)})}catch(i){e(i)}})},axe={id:"metamask",name:"MetaMask",icon:$p.metaMask,downloadLink:"https://metamask.io/download/",provider:window.ethereum,platforms:[Po.BROWSER,Po.MOBILE],isDetected:()=>{var r;return Boolean((r=window==null?void 0:window.ethereum)==null?void 0:r.isMetaMask)},createDeepLink:r=>`https://metamask.app.link/dapp/${r}`,isConnected:async()=>Boolean((await(window==null?void 0:window.ethereum).request({method:"eth_accounts"})).length),connect:async r=>await new Promise((e,t)=>{const n=window==null?void 0:window.ethereum;try{n==null||n.request({method:"eth_requestAccounts"}).then(()=>{gv(n,r).then(()=>{e(n)}).catch(i=>{t(i)})}).catch(i=>{t(i)})}catch(i){t(i)}})};class XM{constructor(e,t,n){Ee(this,"address");Ee(this,"cachedMethods",{});Ee(this,"ABI");Ee(this,"ethersContract");Ee(this,"provider");Ee(this,"ethers");this.ABI=n??[],this.address=e,this.provider=t??Vh.instance,this.ethers=this.provider.ethers,this.ethersContract=this.ethers.contract(e,this.ABI,this.ethers.jsonRpc)}getAddress(){return this.address}async callMethod(e,...t){return this.ethersContract[e](...t)}async callMethodWithCache(e,...t){return this.cachedMethods[e]!==void 0?this.cachedMethods[e]:this.cachedMethods[e]=await this.callMethod(e,...t)}async getMethodData(e,...t){return this.ethersContract.interface.encodeFunctionData(e,t)}async getMethodEstimateGas(e,t,...n){return Number(await this.ethersContract[e].estimateGas(...n,{from:t}))}async createTransactionData(e,t,...n){const[i,s,o,a]=await Promise.all([this.provider.ethers.getGasPrice(),this.provider.ethers.getNonce(t),this.getMethodData(e,...n),this.getMethodEstimateGas(e,t,...n)]);return{from:t,data:o,nonce:s,gasPrice:i,gasLimit:a,value:"0x0",to:this.getAddress(),chainId:this.provider.network.id}}}const LX=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"delegator",type:"address"},{indexed:!0,internalType:"address",name:"fromDelegate",type:"address"},{indexed:!0,internalType:"address",name:"toDelegate",type:"address"}],name:"DelegateChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"delegate",type:"address"},{indexed:!1,internalType:"uint256",name:"previousBalance",type:"uint256"},{indexed:!1,internalType:"uint256",name:"newBalance",type:"uint256"}],name:"DelegateVotesChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"delegatee",type:"address"}],name:"delegate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"delegatee",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"delegateBySig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"delegates",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getPastTotalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getPastVotes",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getVotes",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"string",name:"uri",type:"string"}],name:"safeMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"}];class Bg{constructor(e,t){Ee(this,"rawData");Ee(this,"signedData");Ee(this,"wallet");Ee(this,"provider");this.rawData=e,this.provider=t??Vh.instance}async sign(e){try{return this.wallet=this.provider.ethers.wallet(e),this.signedData=await this.wallet.signTransaction(this.rawData),this}catch(t){const n=t;throw n!=null&&n.shortMessage.includes("transaction from address mismatch")?new Error(kr.INVALID_PRIVATE_KEY):t}}async send(){return await this.provider.ethers.jsonRpc.send("eth_sendRawTransaction",[this.signedData])}getRawData(){return this.rawData}getSignedData(){return this.signedData}}class UX extends XM{constructor(e,t,n){super(e,t,n??LX)}async getName(){return await this.callMethodWithCache("name")}async getSymbol(){return await this.callMethodWithCache("symbol")}async getBalance(e){return Number(await this.callMethod("balanceOf",e))}async getOwner(e){return await this.callMethod("ownerOf",e)}async getTokenURI(e){return await this.callMethodWithCache("tokenURI",e)}async getApproved(e){const t=await this.callMethod("getApproved",e);return t==="0x0000000000000000000000000000000000000000"?null:t}async transfer(e,t,n){return await this.transferFrom(e,e,t,n)}async transferFrom(e,t,n,i){if(await this.getBalance(t)<=0)throw new Error(kr.INSUFFICIENT_BALANCE);if(await this.getOwner(i)!==t)throw new Error(kr.UNAUTHORIZED_ADDRESS);if(e!==t&&await this.getApproved(i)!==e)throw new Error(kr.UNAUTHORIZED_ADDRESS);return new Bg(await this.createTransactionData("transferFrom",e,t,n,i))}async approve(e,t,n){if(await this.getBalance(e)<=0)throw new Error(kr.INSUFFICIENT_BALANCE);if(await this.getOwner(n)!==e)throw new Error(kr.UNAUTHORIZED_ADDRESS);return new Bg(await this.createTransactionData("approve",e,t,n))}}class cxe{constructor(e){Ee(this,"provider");this.provider=e??Vh.instance}getName(){return this.provider.network.nativeCurrency.name??this.provider.network.nativeCurrency.symbol}getSymbol(){return this.provider.network.nativeCurrency.symbol}getDecimals(){return this.provider.network.nativeCurrency.decimals}async getBalance(e){const t=await this.provider.ethers.getBalance(e);return ld(t.toString(),this.getDecimals())}async transfer(e,t,n){if(n<0)throw new Error(kr.INVALID_AMOUNT);if(n>await this.getBalance(e))throw new Error(kr.INSUFFICIENT_BALANCE);const i=Q5(n,this.getDecimals()),s={data:"0x",to:t,from:e,value:i,chainId:this.provider.network.id},[o,a,l]=await Promise.all([this.provider.ethers.getGasPrice(),this.provider.ethers.getNonce(e),this.provider.ethers.getEstimateGas(s)]);return s.nonce=a,s.gasPrice=o,s.gasLimit=l,new Bg(s)}}const FX=[{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"success",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"success",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"success",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"remaining",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{anonymous:!1,inputs:[{indexed:!0,name:"_from",type:"address"},{indexed:!0,name:"_to",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"_owner",type:"address"},{indexed:!0,name:"_spender",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Approval",type:"event"}];class jX extends XM{constructor(e,t,n){super(e,t,n??FX)}async getName(){return await this.callMethodWithCache("name")}async getSymbol(){return await this.callMethodWithCache("symbol")}async getDecimals(){return Number(await this.callMethodWithCache("decimals"))}async getBalance(e){const[t,n]=await Promise.all([this.getDecimals(),this.callMethod("balanceOf",e)]);return ld(n,t)}async getTotalSupply(){const[e,t]=await Promise.all([this.getDecimals(),this.callMethod("totalSupply")]);return ld(t,e)}async getAllowance(e,t){const[n,i]=await Promise.all([this.getDecimals(),await this.callMethod("allowance",e,t)]);return ld(i,n)}async transfer(e,t,n){if(n<=0)throw new Error(kr.INVALID_AMOUNT);const i=await this.getBalance(e);if(n>i)throw new Error(kr.INSUFFICIENT_BALANCE);const s=Q5(n,await this.getDecimals());return new Bg(await this.createTransactionData("transfer",e,t,s))}async transferFrom(e,t,n,i){if(i<0)throw new Error(kr.INVALID_AMOUNT);const s=await this.getBalance(t);if(i>s)throw new Error(kr.INSUFFICIENT_BALANCE);const o=await this.getAllowance(t,e);if(o===0)throw new Error(kr.UNAUTHORIZED_ADDRESS);if(i>o)throw new Error(kr.INVALID_AMOUNT);const a=Q5(i,await this.getDecimals());return new Bg(await this.createTransactionData("transferFrom",e,t,n,a))}async approve(e,t,n){if(n<0)throw new Error(kr.INVALID_AMOUNT);const i=await this.getBalance(e);if(n>i)throw new Error(kr.INSUFFICIENT_BALANCE);const s=Q5(n,await this.getDecimals());return new Bg(await this.createTransactionData("approve",e,t,s))}}const lxe=Object.freeze(Object.defineProperty({__proto__:null,Coin:cxe,Contract:XM,NFT:UX,Token:jX},Symbol.toStringTag,{value:"Module"})),uxe={[vn.TOKEN]:["0xa9059cbb","0x095ea7b3","0x23b872dd"],[vn.NFT]:["0x23b872dd","0x095ea7b3","0x42842e0e","0xb88d4fde","0xf242432a","0x2eb2c2d6","0x29535c7e"]};class PA{constructor(e,t){Ee(this,"id");Ee(this,"provider");Ee(this,"ethers");Ee(this,"data");this.id=e,this.provider=t??Vh.instance,this.ethers=this.provider.ethers}async getData(){var e,t;if(((e=this.data)==null?void 0:e.response)!==void 0&&((t=this.data)==null?void 0:t.receipt)!==null)return this.data;try{const n=await this.ethers.getTransaction(this.id);if(n===null)return null;const i=await this.ethers.getTransactionReceipt(this.id);return this.data={response:n,receipt:i}}catch(n){throw n instanceof Error&&String(n.message).includes("timeout")?new Error(kr.RPC_TIMEOUT):new Error(kr.RPC_REQUEST_ERROR)}}async wait(e=4e3){return await new Promise((t,n)=>{const i=async()=>{try{const s=await this.getStatus();if(s!==Jn.PENDING){t(s);return}setTimeout(i,e)}catch{n(Jn.FAILED)}};i()})}getId(){return this.id}async getType(){const e=await this.getData();if(e===null)return vn.GENERAL;if(await this.provider.ethers.getByteCode(e.response.to??"")==="0x"||e.response.data==="0x")return vn.COIN;if(Object.entries(uxe).find(([i,s])=>s.includes(e.response.data.slice(0,10)))!==void 0){const i=new UX(e.response.to??"");try{return await i.getApproved(1),vn.NFT}catch{return vn.TOKEN}}return vn.CONTRACT}getUrl(){let e=this.provider.network.explorerUrl;return e+=e.endsWith("/")?"":"/",e+="tx/"+this.id,e}async getSigner(){const e=await this.getData();return(e==null?void 0:e.response.from)??""}async getFee(){var t,n;const e=await this.getData();return((t=e==null?void 0:e.response)==null?void 0:t.gasPrice)===void 0||((n=e==null?void 0:e.receipt)==null?void 0:n.gasUsed)===void 0?0:ld(((e==null?void 0:e.response.gasPrice)*(e==null?void 0:e.receipt.gasUsed)).toString(),this.provider.network.nativeCurrency.decimals)}async getBlockNumber(){const e=await this.getData();return(e==null?void 0:e.response.blockNumber)??0}async getBlockTimestamp(){const e=await this.getBlockNumber(),t=await this.ethers.getBlock(e);return(t==null?void 0:t.timestamp)??0}async getBlockConfirmationCount(){const e=await this.getBlockNumber(),n=await this.ethers.getBlockNumber()-e;return n<0?0:n}async getStatus(){const e=await this.getData();return(e==null?void 0:e.response.blockNumber)!==null&&(e==null?void 0:e.receipt)!==null?(e==null?void 0:e.receipt.status)===1?Jn.CONFIRMED:Jn.FAILED:Jn.PENDING}}class OA extends PA{constructor(t,n,i){super(t,n);Ee(this,"ABI");this.ABI=i??[]}async getAddress(){const t=await this.getData();return(t==null?void 0:t.response.to)??""}async decodeData(t){if(t===void 0){const n=await this.getData();if(n===null)return null;t=n.response}return new Sg(this.ABI).parseTransaction({data:t.data??"",value:t.value??0})}}class zX extends OA{constructor(e,t,n){super(e,t,n??LX)}async getReceiver(){const e=await this.decodeData();return e===null?"":e.name==="transferFrom"?e.args[1]:e.args[0]}async getSender(){const e=await this.decodeData();return e===null?"":e.name==="transferFrom"?e.args[0]:await this.getSigner()}async getNftId(){var e;return Number(((e=await this.decodeData())==null?void 0:e.args[2])??0)}async verifyTransfer(e,t,n){if(await this.getStatus()===Jn.PENDING)return Jn.PENDING;if(await this.getNftId()!==n)return Jn.FAILED;if(e===wn.INCOMING){if((await this.getReceiver()).toLowerCase()!==t.toLowerCase())return Jn.FAILED}else if((await this.getSender()).toLowerCase()!==t.toLowerCase())return Jn.FAILED;return Jn.CONFIRMED}}class HX extends PA{async getReceiver(){const e=await this.getData();return(e==null?void 0:e.response.to)??""}async getSender(){return await this.getSigner()}async getAmount(){const e=await this.getData(),{decimals:t}=this.provider.network.nativeCurrency;return ld(((e==null?void 0:e.response.value)??0).toString(),t)}async verifyTransfer(e,t,n){if(await this.getStatus()===Jn.PENDING)return Jn.PENDING;if(await this.getAmount()!==n)return Jn.FAILED;if(e===wn.INCOMING){if((await this.getReceiver()).toLowerCase()!==t.toLowerCase())return Jn.FAILED}else if((await this.getSender()).toLowerCase()!==t.toLowerCase())return Jn.FAILED;return Jn.CONFIRMED}}class qX extends OA{constructor(e,t,n){super(e,t,n??FX)}async getReceiver(){const e=await this.decodeData();return e===null?"":e.name==="transferFrom"?e.args[1]:e.args[0]}async getSender(){const e=await this.decodeData();return e===null?"":e.name==="transferFrom"?e.args[0]:await this.getSigner()}async getAmount(){const e=new jX(await this.getAddress()),t=await this.decodeData();return t===null?0:t.name==="transferFrom"?ld(t.args[2].toString(),await e.getDecimals()):ld(t.args[1].toString(),await e.getDecimals())}async verifyTransfer(e,t,n){if(await this.getStatus()===Jn.PENDING)return Jn.PENDING;if(await this.getAmount()!==n)return Jn.FAILED;if(e===wn.INCOMING){if((await this.getReceiver()).toLowerCase()!==t.toLowerCase())return Jn.FAILED}else if((await this.getSender()).toLowerCase()!==t.toLowerCase())return Jn.FAILED;return Jn.CONFIRMED}}const hxe=Object.freeze(Object.defineProperty({__proto__:null,CoinTransaction:HX,ContractTransaction:OA,NftTransaction:zX,TokenTransaction:qX,Transaction:PA},Symbol.toStringTag,{value:"Module"}));class fxe{constructor(e,t,n){Ee(this,"type");Ee(this,"provider");Ee(this,"status",!1);Ee(this,"ethers");Ee(this,"jsonRpc");Ee(this,"webSocket");Ee(this,"callbacks",[]);Ee(this,"dynamicStop",()=>{});Ee(this,"triggeredTransactions",[]);Ee(this,"filter");this.type=e,this.filter=t??{},this.provider=n??Vh.instance,this.ethers=this.provider.ethers,this.jsonRpc=this.provider.ethers.jsonRpc}stop(){this.status&&(this.status=!1,this.dynamicStop())}start(){this.status||(this.status=!0,this[lK[this.type]]())}getStatus(){return this.status}async on(e){if(this.webSocket===void 0){const t=await this.provider.ethers.connectWebSocket();if(typeof t=="string")throw new Error(kr.WS_CONNECTION_FAILED);this.webSocket=t}return this.start(),this.callbacks.push(e),!0}trigger(e){this.triggeredTransactions.includes(e.id)||(this.triggeredTransactions.push(e.id),this.callbacks.forEach(t=>{t(e)}))}generalProcess(){const e=async t=>{var n;if(((n=this.filter)==null?void 0:n.signer)!==void 0){const i=await this.ethers.getTransaction(t);if((i==null?void 0:i.from.toLowerCase())!==this.filter.signer.toLowerCase())return}this.trigger(new PA(t))};this.webSocket.on("pending",e),this.dynamicStop=()=>{this.webSocket.off("pending",e)}}contractProcess(){const e=this.filter;let t;e.address===void 0?t="pending":t={address:e.address};const n=s=>{if(s===null)return!1;const o={},a={};return e.signer!==void 0&&(o.signer=e.signer.toLowerCase(),a.signer=s.from.toLowerCase()),!!X5(o,a)},i=async s=>{let o;if(typeof s=="string"){if(o=await this.ethers.getTransaction(s),!n(o)||await this.ethers.getByteCode((o==null?void 0:o.to)??"")==="0x")return}else o=await this.ethers.getTransaction(s.transactionHash);n(o)&&this.trigger(new OA(o.hash))};this.webSocket.on(t,i),this.dynamicStop=()=>{this.webSocket.off(t,i)}}coinProcess(){const e=this.filter;if(e.signer!==void 0&&e.sender!==void 0&&e.signer!==e.sender)throw new Error("Sender and signer must be the same in coin transactions. Or only one of them can be defined.");const t=async n=>{var h;const i=await this.ethers.getTransaction(n);if(i===null)return;const s=e.sender??e.signer,o={},a={};if(s!==void 0&&(o.sender=s.toLowerCase(),a.sender=i.from.toLowerCase()),e.receiver!==void 0&&(o.receiver=e.receiver.toLowerCase(),a.receiver=(h=i.to)==null?void 0:h.toLowerCase()),!X5(o,a)||await this.ethers.getByteCode((i==null?void 0:i.to)??"")!=="0x")return;const u=new HX(n);e.amount!==void 0&&(await u.wait(),await u.getAmount()!==e.amount)||this.trigger(u)};this.webSocket.on("pending",t),this.dynamicStop=()=>{this.webSocket.off("pending",t)}}tokenProcess(){const e=this.filter,t={address:e.address,topics:[Nc("Transfer(address,address,uint256)"),e.sender!==void 0?Oo(e.sender,32):null,e.receiver!==void 0?Oo(e.receiver,32):null]},n=async i=>{const s=new qX(i.transactionHash),o=await s.getData();if(o===null)return;const a=await s.decodeData(o.response);if(a===null||a.name!=="transfer"&&a.name!=="transferFrom")return;const l={},u={};e.signer!==void 0&&(l.signer=e.signer.toLowerCase(),u.signer=o.response.from.toLowerCase()),X5(l,u)&&(e.amount!==void 0&&(await s.wait(),await s.getAmount()!==e.amount)||this.trigger(s))};this.webSocket.on(t,n),this.dynamicStop=()=>{this.webSocket.off(t,n)}}nftProcess(){const e=this.filter,t={address:e.address,topics:[Nc("Transfer(address,address,uint256)"),e.sender!==void 0?Oo(e.sender,32):null,e.receiver!==void 0?Oo(e.receiver,32):null,e.nftId!==void 0?Oo(`0x0${e.nftId.toString(16)}`,32):null]},n=async i=>{const s=new zX(i.transactionHash),o=await s.getData();if(o===null)return;const a=await s.decodeData(o.response);if(a===null||a.name!=="transferFrom")return;const l={},u={};e.signer!==void 0&&(l.signer=e.signer.toLowerCase(),u.signer=o.response.from.toLowerCase()),X5(l,u)&&this.trigger(s)};this.webSocket.on(t,n),this.dynamicStop=()=>{this.webSocket.off(t,n)}}}const dxe=Object.freeze(Object.defineProperty({__proto__:null,TransactionListener:fxe,TransactionSigner:Bg},Symbol.toStringTag,{value:"Module"})),pxe=Symbol(),WX=Object.getPrototypeOf,eN=new WeakMap,gxe=r=>r&&(eN.has(r)?eN.get(r):WX(r)===Object.prototype||WX(r)===Array.prototype),mxe=r=>gxe(r)&&r[pxe]||null,VX=(r,e=!0)=>{eN.set(r,e)},tN=r=>typeof r=="object"&&r!==null,Bp=new WeakMap,D4=new WeakSet,bxe=(r=Object.is,e=(u,h)=>new Proxy(u,h),t=u=>tN(u)&&!D4.has(u)&&(Array.isArray(u)||!(Symbol.iterator in u))&&!(u instanceof WeakMap)&&!(u instanceof WeakSet)&&!(u instanceof Error)&&!(u instanceof Number)&&!(u instanceof Date)&&!(u instanceof String)&&!(u instanceof RegExp)&&!(u instanceof ArrayBuffer),n=u=>{switch(u.status){case"fulfilled":return u.value;case"rejected":throw u.reason;default:throw u}},i=new WeakMap,s=(u,h,p=n)=>{const g=i.get(u);if((g==null?void 0:g[0])===h)return g[1];const w=Array.isArray(u)?[]:Object.create(Object.getPrototypeOf(u));return VX(w,!0),i.set(u,[h,w]),Reflect.ownKeys(u).forEach(y=>{if(Object.getOwnPropertyDescriptor(w,y))return;const C=Reflect.get(u,y),T={value:C,enumerable:!0,configurable:!0};if(D4.has(C))VX(C,!1);else if(C instanceof Promise)delete T.value,T.get=()=>p(C);else if(Bp.has(C)){const[k,N]=Bp.get(C);T.value=s(k,N(),p)}Object.defineProperty(w,y,T)}),Object.preventExtensions(w)},o=new WeakMap,a=[1,1],l=u=>{if(!tN(u))throw new Error("object required");const h=o.get(u);if(h)return h;let p=a[0];const g=new Set,w=(V,Q=++a[0])=>{p!==Q&&(p=Q,g.forEach(F=>F(V,Q)))};let y=a[1];const C=(V=++a[1])=>(y!==V&&!g.size&&(y=V,k.forEach(([Q])=>{const F=Q[1](V);F>p&&(p=F)})),p),T=V=>(Q,F)=>{const M=[...Q];M[1]=[V,...M[1]],w(M,F)},k=new Map,N=(V,Q)=>{if(g.size){const F=Q[3](T(V));k.set(V,[Q,F])}else k.set(V,[Q])},O=V=>{var Q;const F=k.get(V);F&&(k.delete(V),(Q=F[1])==null||Q.call(F))},B=V=>(g.add(V),g.size===1&&k.forEach(([F,M],b)=>{const d=F[3](T(b));k.set(b,[F,d])}),()=>{g.delete(V),g.size===0&&k.forEach(([F,M],b)=>{M&&(M(),k.set(b,[F]))})}),z=Array.isArray(u)?[]:Object.create(Object.getPrototypeOf(u)),$=e(z,{deleteProperty(V,Q){const F=Reflect.get(V,Q);O(Q);const M=Reflect.deleteProperty(V,Q);return M&&w(["delete",[Q],F]),M},set(V,Q,F,M){const b=Reflect.has(V,Q),d=Reflect.get(V,Q,M);if(b&&(r(d,F)||o.has(F)&&r(d,o.get(F))))return!0;O(Q),tN(F)&&(F=mxe(F)||F);let m=F;if(F instanceof Promise)F.then(x=>{F.status="fulfilled",F.value=x,w(["resolve",[Q],x])}).catch(x=>{F.status="rejected",F.reason=x,w(["reject",[Q],x])});else{!Bp.has(F)&&t(F)&&(m=l(F));const x=!D4.has(m)&&Bp.get(m);x&&N(Q,x)}return Reflect.set(V,Q,m,M),w(["set",[Q],F,d]),!0}});o.set(u,$);const D=[z,C,s,B];return Bp.set($,D),Reflect.ownKeys(u).forEach(V=>{const Q=Object.getOwnPropertyDescriptor(u,V);"value"in Q&&($[V]=u[V],delete Q.value,delete Q.writable),Object.defineProperty(z,V,Q)}),$})=>[l,Bp,D4,r,e,t,n,i,s,o,a],[wxe]=bxe();function vi(r={}){return wxe(r)}function hs(r,e,t){const n=Bp.get(r);let i;const s=[],o=n[3];let a=!1;const u=o(h=>{if(s.push(h),t){e(s.splice(0));return}i||(i=Promise.resolve().then(()=>{i=void 0,a&&e(s.splice(0))}))});return a=!0,()=>{a=!1,u()}}function rN(r,e){const t=Bp.get(r),[n,i,s]=t;return s(n,i(),e)}function Lp(r){return D4.add(r),r}function Ra(r,e,t,n){let i=r[e];return hs(r,()=>{const s=r[e];Object.is(i,s)||t(i=s)},n)}const nN="https://secure.walletconnect.com",GX=[{label:"Coinbase",name:"coinbase",feeRange:"1-2%",url:""}],Ls={FOUR_MINUTES_MS:24e4,TEN_SEC_MS:1e4,ONE_SEC_MS:1e3,SECURE_SITE:nN,SECURE_SITE_DASHBOARD:`${nN}/dashboard`,SECURE_SITE_FAVICON:`${nN}/images/favicon.png`,RESTRICTED_TIMEZONES:["ASIA/SHANGHAI","ASIA/URUMQI","ASIA/CHONGQING","ASIA/HARBIN","ASIA/KASHGAR","ASIA/MACAU","ASIA/HONG_KONG","ASIA/MACAO","ASIA/BEIJING","ASIA/HARBIN"],WC_COINBASE_PAY_SDK_CHAINS:["ethereum","arbitrum","polygon","avalanche-c-chain","optimism","celo","base"],WC_COINBASE_PAY_SDK_FALLBACK_CHAIN:"ethereum",WC_COINBASE_PAY_SDK_CHAIN_NAME_MAP:{Ethereum:"ethereum","Arbitrum One":"arbitrum",Polygon:"polygon",Avalanche:"avalanche-c-chain","OP Mainnet":"optimism",Celo:"celo",Base:"base"},WC_COINBASE_ONRAMP_APP_ID:"bf18c88d-495a-463b-b249-0b9d3656cf5e",SUGGESTED_TOKENS:["ETH","UNI","1INCH","AAVE","SOL","ADA","AVAX","DOT","LINK","NITRO","GAIA","MILK","TRX","NEAR","GNO","WBTC","DAI","WETH","USDC","USDT","ARB","BAL","BICO","CRV","ENS","MATIC","OP"],POPULAR_TOKENS:["ETH","UNI","1INCH","AAVE","SOL","ADA","AVAX","DOT","LINK","NITRO","GAIA","MILK","TRX","NEAR","GNO","WBTC","DAI","WETH","USDC","USDT","ARB","BAL","BICO","CRV","ENS","MATIC","OP","DAI","CHAMP","WOLF","SALE","BAL","BUSD","MUST","BTCpx","ROUTE","HEX","WELT","amDAI","VSQ","VISION","AURUM","pSP","SNX","VC","LINK","CHP","amUSDT","SPHERE","FOX","GIDDY","GFC","OMEN","OX_OLD","DE","WNT"],NATIVE_TOKEN_ADDRESS:"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",CONVERT_SLIPPAGE_TOLERANCE:1},tr={isMobile(){return typeof window<"u"?Boolean(window.matchMedia("(pointer:coarse)").matches||/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)):!1},checkCaipNetwork(r,e=""){return r==null?void 0:r.id.toLocaleLowerCase().includes(e.toLowerCase())},isAndroid(){const r=window.navigator.userAgent.toLowerCase();return tr.isMobile()&&r.includes("android")},isIos(){const r=window.navigator.userAgent.toLowerCase();return tr.isMobile()&&(r.includes("iphone")||r.includes("ipad"))},isClient(){return typeof window<"u"},isPairingExpired(r){return r?r-Date.now()<=Ls.TEN_SEC_MS:!0},isAllowedRetry(r){return Date.now()-r>=Ls.ONE_SEC_MS},copyToClopboard(r){navigator.clipboard.writeText(r)},getPairingExpiry(){return Date.now()+Ls.FOUR_MINUTES_MS},getPlainAddress(r){return r.split(":")[2]},async wait(r){return new Promise(e=>{setTimeout(e,r)})},debounce(r,e=500){let t;return(...n)=>{function i(){r(...n)}t&&clearTimeout(t),t=setTimeout(i,e)}},isHttpUrl(r){return r.startsWith("http://")||r.startsWith("https://")},formatNativeUrl(r,e){if(tr.isHttpUrl(r))return this.formatUniversalUrl(r,e);let t=r;t.includes("://")||(t=r.replaceAll("/","").replaceAll(":",""),t=`${t}://`),t.endsWith("/")||(t=`${t}/`);const n=encodeURIComponent(e);return{redirect:`${t}wc?uri=${n}`,href:t}},formatUniversalUrl(r,e){if(!tr.isHttpUrl(r))return this.formatNativeUrl(r,e);let t=r;t.endsWith("/")||(t=`${t}/`);const n=encodeURIComponent(e);return{redirect:`${t}wc?uri=${n}`,href:t}},openHref(r,e,t){window.open(r,e,t||"noreferrer noopener")},async preloadImage(r){const e=new Promise((t,n)=>{const i=new Image;i.onload=t,i.onerror=n,i.crossOrigin="anonymous",i.src=r});return Promise.race([e,tr.wait(2e3)])},formatBalance(r,e){var n;let t;if(r==="0")t="0.000";else if(typeof r=="string"){const i=Number(r);i&&(t=(n=i.toString().match(/^-?\d+(?:\.\d{0,3})?/u))==null?void 0:n[0])}return t?`${t} ${e??""}`:`0.000 ${e??""}`},formatBalance2(r,e){var n;let t;if(r==="0")t="0";else if(typeof r=="string"){const i=Number(r);i&&(t=(n=i.toString().match(/^-?\d+(?:\.\d{0,3})?/u))==null?void 0:n[0])}return{value:t??"0",rest:t==="0"?"000":"",symbol:e}},isRestrictedRegion(){try{const{timeZone:r}=new Intl.DateTimeFormat().resolvedOptions(),e=r.toUpperCase();return Ls.RESTRICTED_TIMEZONES.includes(e)}catch{return!1}},getApiUrl(){return tr.isRestrictedRegion()?"https://api.web3modal.org":"https://api.web3modal.com"},getBlockchainApiUrl(){return tr.isRestrictedRegion()?"https://rpc.walletconnect.org":"https://rpc.walletconnect.com"},getAnalyticsUrl(){return tr.isRestrictedRegion()?"https://pulse.walletconnect.org":"https://pulse.walletconnect.com"},getUUID(){return crypto!=null&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/gu,r=>{const e=Math.random()*16|0;return(r==="x"?e:e&3|8).toString(16)})},parseError(r){var e,t;return typeof r=="string"?r:typeof((t=(e=r==null?void 0:r.issues)==null?void 0:e[0])==null?void 0:t.message)=="string"?r.issues[0].message:r instanceof Error?r.message:"Unknown error"},sortRequestedNetworks(r,e=[]){const t={};return e&&r&&(r.forEach((n,i)=>{t[n]=i}),e.sort((n,i)=>{const s=t[n.id],o=t[i.id];return s!==void 0&&o!==void 0?s-o:s!==void 0?-1:o!==void 0?1:0})),e},calculateBalance(r){let e=0;for(const t of r)e+=t.value??0;return e},formatTokenBalance(r){const e=r.toFixed(2),[t,n]=e.split(".");return{dollars:t,pennies:n}},isAddress(r){if(/^(?:0x)?[0-9a-f]{40}$/iu.test(r)){if(/^(?:0x)?[0-9a-f]{40}$/iu.test(r)||/^(?:0x)?[0-9A-F]{40}$/iu.test(r))return!0}else return!1;return!1}};class iN{constructor({baseUrl:e}){this.baseUrl=e}async get({headers:e,signal:t,...n}){const i=this.createUrl(n);return(await fetch(i,{method:"GET",headers:e,signal:t,cache:"no-cache"})).json()}async getBlob({headers:e,signal:t,...n}){const i=this.createUrl(n);return(await fetch(i,{method:"GET",headers:e,signal:t})).blob()}async post({body:e,headers:t,signal:n,...i}){const s=this.createUrl(i);return(await fetch(s,{method:"POST",headers:t,body:e?JSON.stringify(e):void 0,signal:n})).json()}async put({body:e,headers:t,signal:n,...i}){const s=this.createUrl(i);return(await fetch(s,{method:"PUT",headers:t,body:e?JSON.stringify(e):void 0,signal:n})).json()}async delete({body:e,headers:t,signal:n,...i}){const s=this.createUrl(i);return(await fetch(s,{method:"DELETE",headers:t,body:e?JSON.stringify(e):void 0,signal:n})).json()}createUrl({path:e,params:t}){const n=new URL(e,this.baseUrl);return t&&Object.entries(t).forEach(([i,s])=>{s&&n.searchParams.append(i,s)}),n}}const Bo=vi({projectId:"",sdkType:"w3m",sdkVersion:"html-wagmi-undefined"}),hr={state:Bo,subscribeKey(r,e){return Ra(Bo,r,e)},setProjectId(r){Bo.projectId=r},setAllWallets(r){Bo.allWallets=r},setIncludeWalletIds(r){Bo.includeWalletIds=r},setExcludeWalletIds(r){Bo.excludeWalletIds=r},setFeaturedWalletIds(r){Bo.featuredWalletIds=r},setTokens(r){Bo.tokens=r},setTermsConditionsUrl(r){Bo.termsConditionsUrl=r},setPrivacyPolicyUrl(r){Bo.privacyPolicyUrl=r},setCustomWallets(r){Bo.customWallets=r},setIsSiweEnabled(r){Bo.isSiweEnabled=r},setEnableAnalytics(r){Bo.enableAnalytics=r},setSdkVersion(r){Bo.sdkVersion=r},setMetadata(r){Bo.metadata=r},setOnrampEnabled(r){Bo.enableOnramp=r},setWalletFeaturesEnabled(r){Bo.enableWalletFeatures=r}},vxe={purchaseCurrencies:[{id:"2b92315d-eab7-5bef-84fa-089a131333f5",name:"USD Coin",symbol:"USDC",networks:[{name:"ethereum-mainnet",display_name:"Ethereum",chain_id:"1",contract_address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{name:"polygon-mainnet",display_name:"Polygon",chain_id:"137",contract_address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"}]},{id:"2b92315d-eab7-5bef-84fa-089a131333f5",name:"Ether",symbol:"ETH",networks:[{name:"ethereum-mainnet",display_name:"Ethereum",chain_id:"1",contract_address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{name:"polygon-mainnet",display_name:"Polygon",chain_id:"137",contract_address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"}]}],paymentCurrencies:[{id:"USD",payment_method_limits:[{id:"card",min:"10.00",max:"7500.00"},{id:"ach_bank_account",min:"10.00",max:"25000.00"}]},{id:"EUR",payment_method_limits:[{id:"card",min:"10.00",max:"7500.00"},{id:"ach_bank_account",min:"10.00",max:"25000.00"}]}]},yxe=tr.getBlockchainApiUrl(),jl=new iN({baseUrl:yxe}),ka={fetchIdentity({address:r}){return jl.get({path:`/v1/identity/${r}`,params:{projectId:hr.state.projectId}})},fetchTransactions({account:r,projectId:e,cursor:t,onramp:n,signal:i}){const s=t?{cursor:t}:{};return jl.get({path:`/v1/account/${r}/history?projectId=${e}${n?`&onramp=${n}`:""}`,params:s,signal:i})},fetchConvertTokens({projectId:r,chainId:e}){return jl.get({path:`/v1/convert/tokens?projectId=${r}&chainId=${e}`})},fetchTokenPrice({projectId:r,addresses:e}){return jl.post({path:"/v1/fungible/price",body:{projectId:r,currency:"usd",addresses:e},headers:{"Content-Type":"application/json"}})},fetchConvertAllowance({projectId:r,tokenAddress:e,userAddress:t}){const{sdkType:n,sdkVersion:i}=hr.state;return jl.get({path:`/v1/convert/allowance?projectId=${r}&tokenAddress=${e}&userAddress=${t}`,headers:{"Content-Type":"application/json","x-sdk-type":n,"x-sdk-version":i}})},fetchGasPrice({projectId:r,chainId:e}){const{sdkType:t,sdkVersion:n}=hr.state;return jl.get({path:`/v1/convert/gas-price?projectId=${r}&chainId=${e}`,headers:{"Content-Type":"application/json","x-sdk-type":t,"x-sdk-version":n}})},generateConvertCalldata({amount:r,from:e,projectId:t,to:n,userAddress:i}){return jl.post({path:"/v1/convert/build-transaction",headers:{"Content-Type":"application/json"},body:{amount:r,eip155:{slippage:Ls.CONVERT_SLIPPAGE_TOLERANCE},from:e,projectId:t,to:n,userAddress:i}})},generateApproveCalldata({from:r,projectId:e,to:t,userAddress:n}){const{sdkType:i,sdkVersion:s}=hr.state;return jl.get({path:`/v1/convert/build-approve?projectId=${e}&userAddress=${n}&from=${r}&to=${t}`,headers:{"Content-Type":"application/json","x-sdk-type":i,"x-sdk-version":s}})},async getBalance(r,e){const{sdkType:t,sdkVersion:n}=hr.state;return jl.get({path:`/v1/account/${r}/balance`,headers:{"x-sdk-type":t,"x-sdk-version":n},params:{currency:"usd",projectId:hr.state.projectId,chainId:e}})},async generateOnRampURL({destinationWallets:r,partnerUserId:e,defaultNetwork:t,purchaseAmount:n,paymentAmount:i}){return(await jl.post({path:`/v1/generators/onrampurl?projectId=${hr.state.projectId}`,body:{destinationWallets:r,defaultNetwork:t,partnerUserId:e,defaultExperience:"buy",presetCryptoAmount:n,presetFiatAmount:i}})).url},async getOnrampOptions(){try{return await jl.get({path:`/v1/onramp/options?projectId=${hr.state.projectId}`})}catch{return vxe}},async getOnrampQuote({purchaseCurrency:r,paymentCurrency:e,amount:t,network:n}){try{return await jl.post({path:`/v1/onramp/quote?projectId=${hr.state.projectId}`,body:{purchaseCurrency:r,paymentCurrency:e,amount:t,network:n}})}catch{return{coinbaseFee:{amount:t,currency:e.id},networkFee:{amount:t,currency:e.id},paymentSubtotal:{amount:t,currency:e.id},paymentTotal:{amount:t,currency:e.id},purchaseAmount:{amount:t,currency:e.id},quoteId:"mocked-quote-id"}}}},Rd=vi({message:"",variant:"success",open:!1}),dn={state:Rd,subscribeKey(r,e){return Ra(Rd,r,e)},showSuccess(r){Rd.message=r,Rd.variant="success",Rd.open=!0},showError(r){const e=tr.parseError(r);Rd.message=e,Rd.variant="error",Rd.open=!0},hide(){Rd.open=!1}};function xxe(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var KX={exports:{}},ys=KX.exports={},Gh,Kh;function sN(){throw new Error("setTimeout has not been defined")}function oN(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?Gh=setTimeout:Gh=sN}catch{Gh=sN}try{typeof clearTimeout=="function"?Kh=clearTimeout:Kh=oN}catch{Kh=oN}})();function ZX(r){if(Gh===setTimeout)return setTimeout(r,0);if((Gh===sN||!Gh)&&setTimeout)return Gh=setTimeout,setTimeout(r,0);try{return Gh(r,0)}catch{try{return Gh.call(null,r,0)}catch{return Gh.call(this,r,0)}}}function _xe(r){if(Kh===clearTimeout)return clearTimeout(r);if((Kh===oN||!Kh)&&clearTimeout)return Kh=clearTimeout,clearTimeout(r);try{return Kh(r)}catch{try{return Kh.call(null,r)}catch{return Kh.call(this,r)}}}var kd=[],mv=!1,Lg,DA=-1;function Exe(){!mv||!Lg||(mv=!1,Lg.length?kd=Lg.concat(kd):DA=-1,kd.length&&JX())}function JX(){if(!mv){var r=ZX(Exe);mv=!0;for(var e=kd.length;e;){for(Lg=kd,kd=[];++DA1)for(var t=1;tn.id===r.id)||(e.unshift(r),e.length>2&&e.pop(),localStorage.setItem(QX,JSON.stringify(e)))}catch{console.info("Unable to set Web3Modal recent")}},getRecentWallets(){try{const r=localStorage.getItem(QX);return r?JSON.parse(r):[]}catch{console.info("Unable to get Web3Modal recent")}return[]},setConnectedWalletImageUrl(r){try{localStorage.setItem(XX,r)}catch{console.info("Unable to set Connected Wallet Image Url")}},getConnectedWalletImageUrl(){try{return localStorage.getItem(XX)}catch{console.info("Unable to set Connected Wallet Image Url")}},setConnectedConnector(r){try{localStorage.setItem(eee,r)}catch{console.info("Unable to set Connected Connector")}},getConnectedConnector(){try{return localStorage.getItem(eee)}catch{console.info("Unable to get Connected Connector")}}},Cxe=tr.getAnalyticsUrl(),Sxe=new iN({baseUrl:Cxe}),Ixe=["MODAL_CREATED"],bv=vi({timestamp:Date.now(),data:{type:"track",event:"MODAL_CREATED"}}),yr={state:bv,subscribe(r){return hs(bv,()=>r(bv))},_getApiHeaders(){const{projectId:r,sdkType:e,sdkVersion:t}=hr.state;return{"x-project-id":r,"x-sdk-type":e,"x-sdk-version":t}},async _sendAnalyticsEvent(r){try{if(Ixe.includes(r.data.event)||typeof window>"u")return;await Sxe.post({path:"/e",headers:yr._getApiHeaders(),body:{eventId:tr.getUUID(),url:window.location.href,domain:window.location.hostname,timestamp:r.timestamp,props:r.data}})}catch{}},sendEvent(r){bv.timestamp=Date.now(),bv.data=r,hr.state.enableAnalytics&&yr._sendAnalyticsEvent(bv)}},Vi=vi({transactions:[],coinbaseTransactions:{},transactionsByYear:{},loading:!1,empty:!1,next:void 0}),la={state:Vi,subscribe(r){return hs(Vi,()=>r(Vi))},async fetchTransactions(r,e){const{projectId:t}=hr.state;if(!t||!r)throw new Error("Transactions can't be fetched without a projectId and an accountAddress");Vi.loading=!0;try{const n=await ka.fetchTransactions({account:r,projectId:t,cursor:Vi.next,onramp:e}),i=this.filterSpamTransactions(n.data),s=[...Vi.transactions,...i];Vi.loading=!1,e==="coinbase"?Vi.coinbaseTransactions=this.groupTransactionsByYearAndMonth(Vi.coinbaseTransactions,n.data):(Vi.transactions=s,Vi.transactionsByYear=this.groupTransactionsByYearAndMonth(Vi.transactionsByYear,i)),Vi.empty=s.length===0,Vi.next=n.next?n.next:void 0}catch{yr.sendEvent({type:"track",event:"ERROR_FETCH_TRANSACTIONS",properties:{address:r,projectId:t,cursor:Vi.next}}),dn.showError("Failed to fetch transactions"),Vi.loading=!1,Vi.empty=!0,Vi.next=void 0}},groupTransactionsByYearAndMonth(r={},e=[]){const t=r;return e.forEach(n=>{const i=new Date(n.metadata.minedAt).getFullYear(),s=new Date(n.metadata.minedAt).getMonth(),o=t[i]??{},l=(o[s]??[]).filter(u=>u.id!==n.id);t[i]={...o,[s]:[...l,n].sort((u,h)=>new Date(h.metadata.minedAt).getTime()-new Date(u.metadata.minedAt).getTime())}}),t},filterSpamTransactions(r){return r.filter(e=>!e.transfers.every(n=>{var i;return((i=n.nft_info)==null?void 0:i.flags.is_spam)===!0}))},clearCursor(){Vi.next=void 0},resetTransactions(){Vi.transactions=[],Vi.transactionsByYear={},Vi.loading=!1,Vi.empty=!1,Vi.next=void 0}},fo=vi({wcError:!1,buffering:!1}),Ur={state:fo,subscribeKey(r,e){return Ra(fo,r,e)},_getClient(){if(!fo._client)throw new Error("ConnectionController client not set");return fo._client},setClient(r){fo._client=Lp(r)},connectWalletConnect(){fo.wcPromise=this._getClient().connectWalletConnect(r=>{fo.wcUri=r,fo.wcPairingExpiry=tr.getPairingExpiry()}),xs.setConnectedConnector("WALLET_CONNECT")},async connectExternal(r){var e,t;await((t=(e=this._getClient()).connectExternal)==null?void 0:t.call(e,r)),xs.setConnectedConnector(r.type)},async signMessage(r){return this._getClient().signMessage(r)},parseUnits(r,e){return this._getClient().parseUnits(r,e)},formatUnits(r,e){return this._getClient().formatUnits(r,e)},async sendTransaction(r){return this._getClient().sendTransaction(r)},async estimateGas(r){return this._getClient().estimateGas(r)},checkInstalled(r){var e,t;return(t=(e=this._getClient()).checkInstalled)==null?void 0:t.call(e,r)},resetWcConnection(){fo.wcUri=void 0,fo.wcPairingExpiry=void 0,fo.wcPromise=void 0,fo.wcLinking=void 0,fo.recentWallet=void 0,la.resetTransactions(),xs.deleteWalletConnectDeepLink()},setWcLinking(r){fo.wcLinking=r},setWcError(r){fo.wcError=r,fo.buffering=!1},setRecentWallet(r){fo.recentWallet=r},setBuffering(r){fo.buffering=r},async disconnect(){await this._getClient().disconnect(),this.resetWcConnection()}},$4=vi({loading:!1,open:!1,selectedNetworkId:void 0}),Ug={state:$4,subscribe(r){return hs($4,()=>r($4))},set(r){Object.assign($4,{...$4,...r})}};var cN={},Txe={get exports(){return cN},set exports(r){cN=r}};(function(r,e){(function(t,n){r.exports=n()})(ct,function(){var t=1e3,n=6e4,i=36e5,s="millisecond",o="second",a="minute",l="hour",u="day",h="week",p="month",g="quarter",w="year",y="date",C="Invalid Date",T=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,k=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,N={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(d){var m=["th","st","nd","rd"],x=d%100;return"["+d+(m[(x-20)%10]||m[x]||m[0])+"]"}},O=function(d,m,x){var A=String(d);return!A||A.length>=m?d:""+Array(m+1-A.length).join(x)+d},B={s:O,z:function(d){var m=-d.utcOffset(),x=Math.abs(m),A=Math.floor(x/60),I=x%60;return(m<=0?"+":"-")+O(A,2,"0")+":"+O(I,2,"0")},m:function d(m,x){if(m.date()1)return d(S[0])}else{var E=m.name;G[E]=m,I=E}return!A&&I&&(z=I),I||!A&&z},Q=function(d,m){if(D(d))return d.clone();var x=typeof m=="object"?m:{};return x.date=d,x.args=arguments,new M(x)},F=B;F.l=V,F.i=D,F.w=function(d,m){return Q(d,{locale:m.$L,utc:m.$u,x:m.$x,$offset:m.$offset})};var M=function(){function d(x){this.$L=V(x.locale,null,!0),this.parse(x),this.$x=this.$x||x.x||{},this[$]=!0}var m=d.prototype;return m.parse=function(x){this.$d=function(A){var I=A.date,R=A.utc;if(I===null)return new Date(NaN);if(F.u(I))return new Date;if(I instanceof Date)return new Date(I);if(typeof I=="string"&&!/Z$/i.test(I)){var S=I.match(T);if(S){var E=S[2]-1||0,_=(S[7]||"0").substring(0,3);return R?new Date(Date.UTC(S[1],E,S[3]||1,S[4]||0,S[5]||0,S[6]||0,_)):new Date(S[1],E,S[3]||1,S[4]||0,S[5]||0,S[6]||0,_)}}return new Date(I)}(x),this.init()},m.init=function(){var x=this.$d;this.$y=x.getFullYear(),this.$M=x.getMonth(),this.$D=x.getDate(),this.$W=x.getDay(),this.$H=x.getHours(),this.$m=x.getMinutes(),this.$s=x.getSeconds(),this.$ms=x.getMilliseconds()},m.$utils=function(){return F},m.isValid=function(){return this.$d.toString()!==C},m.isSame=function(x,A){var I=Q(x);return this.startOf(A)<=I&&I<=this.endOf(A)},m.isAfter=function(x,A){return Q(x)0,G<=z.r||!z.r){G<=1&&B>0&&(z=N[B-1]);var $=k[z.l];w&&(G=w(""+G)),C=typeof $=="string"?$.replace("%d",G):$(G,h,z.l,T);break}}if(h)return C;var D=T?k.future:k.past;return typeof D=="function"?D(C):D.replace("%s",C)},s.to=function(u,h){return a(u,h,this,!0)},s.from=function(u,h){return a(u,h,this)};var l=function(u){return u.$u?i.utc():i()};s.toNow=function(u){return this.to(l(this),u)},s.fromNow=function(u){return this.from(l(this),u)}}})})(Mxe);const Nxe=uN;wv.extend(Nxe),wv.extend(kxe),wv.updateLocale("en",{relativeTime:{future:"in %s",past:"%s ago",s:"%s sec",m:"1 min",mm:"%d min",h:"1 hr",hh:"%d hrs",d:"1 d",dd:"%d d",M:"1 mo",MM:"%d mo",y:"1 yr",yy:"%d yr"}});const hN={getYear(r=new Date().toISOString()){return wv(r).year()},getRelativeDateFromNow(r){return wv(r).fromNow(!0)},formatDate(r,e="DD MMM"){return wv(r).format(e)}},vv={caipNetworkIdToNumber(r){return r?Number(r.split(":")[1]):void 0}},Lo={bigNumber(r){return new es(r)},multiply(r,e){if(r===void 0||e===void 0)return es(0);const t=new es(r),n=new es(e);return t.multipliedBy(n)}},fi=vi({supportsAllNetworks:!0,isDefaultCaipNetwork:!1,smartAccountEnabledNetworks:[]}),lr={state:fi,subscribe(r){return hs(fi,()=>r(fi))},subscribeKey(r,e){return Ra(fi,r,e)},_getClient(){if(!fi._client)throw new Error("NetworkController client not set");return fi._client},setClient(r){fi._client=Lp(r)},setCaipNetwork(r){fi.caipNetwork=r,Ug.set({selectedNetworkId:r==null?void 0:r.id}),this.state.allowUnsupportedChain||this.checkIfSupportedNetwork()},setDefaultCaipNetwork(r){fi.caipNetwork=r,Ug.set({selectedNetworkId:r==null?void 0:r.id}),fi.isDefaultCaipNetwork=!0},setRequestedCaipNetworks(r){fi.requestedCaipNetworks=r},setAllowUnsupportedChain(r){fi.allowUnsupportedChain=r},setSmartAccountEnabledNetworks(r){fi.smartAccountEnabledNetworks=r},getRequestedCaipNetworks(){const{approvedCaipNetworkIds:r,requestedCaipNetworks:e}=fi,t=r,n=e;return tr.sortRequestedNetworks(t,n)},async getApprovedCaipNetworksData(){const r=await this._getClient().getApprovedCaipNetworksData();fi.supportsAllNetworks=r.supportsAllNetworks,fi.approvedCaipNetworkIds=r.approvedCaipNetworkIds},async switchActiveNetwork(r){await this._getClient().switchCaipNetwork(r),fi.caipNetwork=r,r&&yr.sendEvent({type:"track",event:"SWITCH_NETWORK",properties:{network:r.id}})},checkIfSupportedNetwork(){var r;fi.isUnsupportedChain=!((r=fi.requestedCaipNetworks)!=null&&r.some(e=>{var t;return e.id===((t=fi.caipNetwork)==null?void 0:t.id)})),fi.isUnsupportedChain&&this.showUnsupportedChainUI()},checkIfSmartAccountEnabled(){var e,t;const r=vv.caipNetworkIdToNumber((e=fi.caipNetwork)==null?void 0:e.id);return r?Boolean((t=fi.smartAccountEnabledNetworks)==null?void 0:t.includes(r)):!1},resetNetwork(){fi.isDefaultCaipNetwork||(fi.caipNetwork=void 0),fi.approvedCaipNetworkIds=void 0,fi.supportsAllNetworks=!0,fi.smartAccountEnabledNetworks=[]},showUnsupportedChainUI(){setTimeout(()=>{Zr.open({view:"UnsupportedChain"})},300)}},B4={async getTokenList(){var t;return(await ka.fetchConvertTokens({chainId:(t=lr.state.caipNetwork)==null?void 0:t.id,projectId:hr.state.projectId})).tokens.map(n=>({...n,eip2612:!1,quantity:{decimals:"0",numeric:"0"},price:0,value:0}))},async fetchGasPrice(){const r=hr.state.projectId,e=lr.state.caipNetwork;return e?await ka.fetchGasPrice({projectId:r,chainId:e.id}):null},async fetchConvertAllowance({tokenAddress:r,userAddress:e,sourceTokenAmount:t,sourceTokenDecimals:n}){const i=hr.state.projectId,s=await ka.fetchConvertAllowance({projectId:i,tokenAddress:r,userAddress:e});if(s!=null&&s.allowance&&t&&n){const o=Ur.parseUnits(t,n);return BigInt(s.allowance)>=o}return!1},async getMyTokensWithBalance(){const r=zt.state.address,e=lr.state.caipNetwork;if(!r||!e)return[];const n=(await ka.getBalance(r,e.id)).balances;return this.mapBalancesToConvertTokens(n)},mapBalancesToConvertTokens(r){return r.map(e=>{var t;return{symbol:e.symbol,name:e.name,address:e!=null&&e.address?e.address:`${(t=lr.state.caipNetwork)==null?void 0:t.id}:${Ls.NATIVE_TOKEN_ADDRESS}`,decimals:parseInt(e.quantity.decimals,10),logoUri:e.iconUrl,eip2612:!1,quantity:e.quantity,price:e.price,value:e.value}})}},Ni=vi({view:"Connect",history:["Connect"],transactionStack:[]}),et={state:Ni,subscribeKey(r,e){return Ra(Ni,r,e)},pushTransactionStack(r){Ni.transactionStack.push(r)},popTransactionStack(r){var t,n;const e=Ni.transactionStack.pop();e&&(r?(this.goBack(),(t=e==null?void 0:e.onCancel)==null||t.call(e)):(e.goBack?this.goBack():e.view&&this.reset(e.view),(n=e==null?void 0:e.onSuccess)==null||n.call(e)))},push(r,e){r!==Ni.view&&(Ni.view=r,Ni.history.push(r),Ni.data=e)},reset(r){Ni.view=r,Ni.history=[r]},replace(r,e){Ni.history.length>1&&Ni.history.at(-1)!==r&&(Ni.view=r,Ni.history[Ni.history.length-1]=r,Ni.data=e)},goBack(){if(Ni.history.length>1){Ni.history.pop();const[r]=Ni.history.slice(-1);r&&(Ni.view=r)}},goBackToIndex(r){if(Ni.history.length>1){Ni.history=Ni.history.slice(0,r+1);const[e]=Ni.history.slice(-1);e&&(Ni.view=e)}}},Pxe=15e4,Ct=vi({initialized:!1,loading:!1,loadingPrices:!1,approvalTransaction:void 0,convertTransaction:void 0,transactionError:void 0,transactionLoading:!1,sourceToken:void 0,sourceTokenAmount:"",sourceTokenPriceInUSD:0,toToken:void 0,toTokenAmount:"",toTokenPriceInUSD:0,networkPrice:"0",networkBalanceInUSD:"0",inputError:void 0,slippage:Ls.CONVERT_SLIPPAGE_TOLERANCE,tokens:void 0,popularTokens:void 0,suggestedTokens:void 0,foundTokens:void 0,myTokensWithBalance:void 0,tokensPriceMap:{},gasFee:BigInt(0),gasPriceInUSD:0,priceImpact:void 0,maxSlippage:void 0}),pr={state:Ct,subscribe(r){return hs(Ct,()=>r(Ct))},subscribeKey(r,e){return Ra(Ct,r,e)},getParams(){var t,n,i,s,o;const{address:r}=zt.state,e=`${(t=lr.state.caipNetwork)==null?void 0:t.id}:${Ls.NATIVE_TOKEN_ADDRESS}`;if(!r)throw new Error("No address found to swap the tokens from.");return{networkAddress:e,fromAddress:r,fromCaipAddress:zt.state.caipAddress,sourceTokenAddress:(n=Ct.sourceToken)==null?void 0:n.address,toTokenAddress:(i=Ct.toToken)==null?void 0:i.address,toTokenAmount:Ct.toTokenAmount,toTokenDecimals:(s=Ct.toToken)==null?void 0:s.decimals,sourceTokenAmount:Ct.sourceTokenAmount,sourceTokenDecimals:(o=Ct.sourceToken)==null?void 0:o.decimals}},setLoading(r){Ct.loading=r},setSourceToken(r){r&&(Ct.sourceToken=r,this.setTokenValues(r.address,"sourceToken"))},setSourceTokenAmount(r){const{sourceTokenAddress:e}=this.getParams();Ct.sourceTokenAmount=r,e&&this.setTokenValues(e,"sourceToken")},setToToken(r){const{sourceTokenAddress:e,sourceTokenAmount:t}=this.getParams();if(!r){Ct.toTokenAmount="0",Ct.toTokenPriceInUSD=0;return}Ct.toToken=r,this.setTokenValues(r.address,"toToken"),e&&t&&this.makeChecks()},setToTokenAmount(r){const{toTokenAddress:e}=this.getParams();Ct.toTokenAmount=r,e&&this.setTokenValues(e,"toToken")},async setTokenValues(r,e){let t=Ct.tokensPriceMap[r]||0;t||(t=await this.getAddressPrice(r)),e==="sourceToken"?Ct.sourceTokenPriceInUSD=t:e==="toToken"&&(Ct.toTokenPriceInUSD=t)},switchTokens(){const r=Ct.toToken?{...Ct.toToken}:void 0,e=Ct.sourceToken?{...Ct.sourceToken}:void 0;this.setSourceToken(r),this.setToToken(e),this.setSourceTokenAmount(Ct.toTokenAmount||"0"),pr.convertTokens()},resetTokens(){Ct.tokens=void 0,Ct.popularTokens=void 0,Ct.myTokensWithBalance=void 0,Ct.initialized=!1},resetValues(){var t;const{networkAddress:r}=this.getParams(),e=(t=Ct.tokens)==null?void 0:t.find(n=>n.address===r);this.setSourceToken(e),Ct.sourceTokenPriceInUSD=Ct.tokensPriceMap[r]||0,Ct.sourceTokenAmount="0",this.setToToken(void 0),Ct.gasPriceInUSD=0},clearError(){Ct.transactionError=void 0},async initializeState(){Ct.initialized||(await this.fetchTokens(),Ct.initialized=!0)},async fetchTokens(){var t;const{networkAddress:r}=this.getParams();await this.getTokenList(),await this.getNetworkTokenPrice(),await this.getMyTokensWithBalance();const e=(t=Ct.tokens)==null?void 0:t.find(n=>n.address===r);e&&this.setSourceToken(e)},async getTokenList(){const r=await B4.getTokenList();Ct.tokens=r,Ct.popularTokens=r.sort((e,t)=>e.symbolt.symbol?1:0).filter(e=>!!Ls.POPULAR_TOKENS.includes(e.symbol),{}),Ct.suggestedTokens=r.filter(e=>!!Ls.SUGGESTED_TOKENS.includes(e.symbol),{})},async getAddressPrice(r){var l,u;const e=Ct.tokensPriceMap[r];if(e)return e;const n=(await ka.fetchTokenPrice({projectId:hr.state.projectId,addresses:[r]})).fungibles||[],i=[...Ct.tokens||[],...Ct.myTokensWithBalance||[]],s=(l=i==null?void 0:i.find(h=>h.address===r))==null?void 0:l.symbol,o=((u=n.find(h=>h.symbol===s))==null?void 0:u.price)||"0",a=parseFloat(o);return Ct.tokensPriceMap[r]=a,a},async getNetworkTokenPrice(){var i;const{networkAddress:r}=this.getParams(),t=(i=(await ka.fetchTokenPrice({projectId:hr.state.projectId,addresses:[r]})).fungibles)==null?void 0:i[0],n=(t==null?void 0:t.price)||"0";Ct.tokensPriceMap[r]=parseFloat(n),Ct.networkPrice=n},async getMyTokensWithBalance(){const r=await B4.getMyTokensWithBalance();r&&(await this.getInitialGasPrice(),this.setBalances(r))},setBalances(r){const{networkAddress:e}=this.getParams(),t=r.find(n=>n.address===e);r.forEach(n=>{Ct.tokensPriceMap[n.address]=n.price||0}),Ct.myTokensWithBalance=r,Ct.networkBalanceInUSD=t?Lo.multiply(t.quantity.numeric,t.price).toString():"0"},async getInitialGasPrice(){const r=await B4.fetchGasPrice();if(!r)return;const e=r.instant,t=BigInt(e),n=BigInt(Pxe),i=this.calculateGasPriceInUSD(n,t);Ct.gasPriceInUSD=i},async refreshConvertValues(){const{fromAddress:r,toTokenDecimals:e,toTokenAddress:t}=this.getParams();if(r&&t&&e&&!Ct.loading){const n=await this.getTransaction();this.setTransactionDetails(n)}},calculateGasPriceInEther(r,e){const t=e*r;return Number(t)/1e18},calculateGasPriceInUSD(r,e){const t=this.calculateGasPriceInEther(r,e);return Lo.bigNumber(Ct.networkPrice).multipliedBy(t).toNumber()},calculatePriceImpact(r,e){const t=Ct.sourceTokenAmount,n=Ct.sourceTokenPriceInUSD,i=Ct.toTokenPriceInUSD;return Lo.bigNumber(t).multipliedBy(n).plus(e).dividedBy(r).minus(i).dividedBy(i).multipliedBy(100).toNumber()},calculateMaxSlippage(){const r=Lo.bigNumber(Ct.slippage).dividedBy(100);return Lo.multiply(Ct.sourceTokenAmount,r).toNumber()},async convertTokens(){const{sourceTokenAddress:r,toTokenAddress:e}=this.getParams();!r||!e||await this.makeChecks()},async makeChecks(){const{toTokenDecimals:r,toTokenAddress:e}=this.getParams();if(!r||!e)return;Ct.loading=!0;const t=await this.getTransaction();this.setTransactionDetails(t),Ct.loading=!1},async getTransaction(){const{fromCaipAddress:r,sourceTokenAddress:e,sourceTokenAmount:t,sourceTokenDecimals:n}=this.getParams();if(!r||!e||!t||parseFloat(t)===0||!n)return;const i=await B4.fetchConvertAllowance({userAddress:r,tokenAddress:e,sourceTokenAmount:t,sourceTokenDecimals:n});let s;return i?(Ct.approvalTransaction=void 0,s=await this.createConvert(),Ct.convertTransaction=s):(Ct.convertTransaction=void 0,s=await this.createTokenAllowance(),Ct.approvalTransaction=s),s},getToAmount(){const{sourceTokenDecimals:r}=this.getParams(),t=10**(r||18);return(Ct.sourceTokenPriceInUSD&&Ct.toTokenPriceInUSD&&Ct.sourceTokenAmount?Lo.bigNumber(Ct.sourceTokenAmount).multipliedBy(Ct.sourceTokenPriceInUSD).dividedBy(Ct.toTokenPriceInUSD):Lo.bigNumber(0)).multipliedBy(t).toString()},async createTokenAllowance(){const{fromCaipAddress:r,fromAddress:e,sourceTokenAddress:t,toTokenAddress:n}=this.getParams();if(!r||!n)return;if(!t)throw new Error(">>> createTokenAllowance - No source token address found.");const i=await ka.generateApproveCalldata({projectId:hr.state.projectId,from:t,to:n,userAddress:r}),s=await Ur.estimateGas({address:e,to:tr.getPlainAddress(i.tx.to),data:i.tx.data}),o=this.getToAmount();return{data:i.tx.data,to:tr.getPlainAddress(i.tx.from),gas:s,gasPrice:BigInt(i.tx.eip155.gasPrice),value:BigInt(i.tx.value),toAmount:o}},async sendTransactionForApproval(r){const{fromAddress:e}=this.getParams();Ct.transactionLoading=!0,et.pushTransactionStack({view:null,goBack:!0});try{await Ur.sendTransaction({address:e,to:r.to,data:r.data,value:BigInt(r.value),gasPrice:BigInt(r.gasPrice)}),Ct.approvalTransaction=void 0,Ct.transactionLoading=!1,this.makeChecks()}catch(t){const n=t;Ct.transactionError=n==null?void 0:n.shortMessage,Ct.transactionLoading=!1}},async createConvert(){const{networkAddress:r,fromCaipAddress:e,sourceTokenAddress:t,sourceTokenDecimals:n,sourceTokenAmount:i,toTokenAddress:s}=this.getParams();if(!(!e||!i||!t||!s||!n))try{const o=Ur.parseUnits(i,n).toString(),a=await ka.generateConvertCalldata({projectId:hr.state.projectId,userAddress:e,from:t,to:s,amount:o}),l=t===r,u=this.getToAmount(),h=BigInt(a.tx.eip155.gas),p=BigInt(a.tx.eip155.gasPrice),g={data:a.tx.data,to:tr.getPlainAddress(a.tx.to),gas:h,gasPrice:p,value:BigInt(l?o:"0"),toAmount:u};return Ct.gasPriceInUSD=this.calculateGasPriceInUSD(h,p),g}catch{return}},async sendTransactionForConvert(r){if(!r)return;const{fromAddress:e}=this.getParams();Ct.transactionLoading=!0,et.pushTransactionStack({view:"Account",goBack:!1,onSuccess(){pr.resetValues()}});try{const t=await Ur.sendTransaction({address:e,to:r.to,data:r.data,gas:r.gas,gasPrice:BigInt(r.gasPrice),value:r.value});return Ct.transactionLoading=!1,setTimeout(()=>{this.resetValues(),this.getMyTokensWithBalance()},1e3),t}catch(t){const n=t;Ct.transactionError=n==null?void 0:n.shortMessage,Ct.transactionLoading=!1,dn.showError((n==null?void 0:n.shortMessage)||"Transaction error");return}},getToTokenValues(r,e){const{toTokenAddress:t}=this.getParams();if(!t)return{toTokenAmount:"0",toTokenPriceInUSD:0};const n=Lo.bigNumber(r).dividedBy(10**e).toFixed(20),i=Ct.tokensPriceMap[t]||"0",s=Lo.bigNumber(i).toNumber();return{toTokenAmount:n,toTokenPriceInUSD:s}},isInsufficientNetworkTokenForGas(){return Lo.bigNumber(Lo.bigNumber(Ct.gasPriceInUSD||"0")).isGreaterThan(Ct.networkBalanceInUSD)},setTransactionDetails(r){const{toTokenAddress:e,toTokenDecimals:t}=this.getParams();if(!r||!e||!t)return;this.isInsufficientNetworkTokenForGas()?Ct.inputError="Insufficient balance":Ct.inputError=void 0;const{toTokenAmount:i,toTokenPriceInUSD:s}=this.getToTokenValues(r.toAmount,t);Ct.toTokenAmount=i,Ct.toTokenPriceInUSD=s,Ct.gasPriceInUSD=this.calculateGasPriceInUSD(r.gas,r.gasPrice),Ct.priceImpact=this.calculatePriceImpact(Ct.toTokenAmount,Ct.gasPriceInUSD),Ct.maxSlippage=this.calculateMaxSlippage()}},Bn=vi({isConnected:!1,currentTab:0,tokenBalance:[],smartAccountDeployed:!1}),zt={state:Bn,subscribe(r){return hs(Bn,()=>r(Bn))},subscribeKey(r,e){return Ra(Bn,r,e)},setIsConnected(r){Bn.isConnected=r},setCaipAddress(r){Bn.caipAddress=r,Bn.address=r?tr.getPlainAddress(r):void 0},setBalance(r,e){Bn.balance=r,Bn.balanceSymbol=e},setProfileName(r){Bn.profileName=r},setProfileImage(r){Bn.profileImage=r},setAddressExplorerUrl(r){Bn.addressExplorerUrl=r},setSmartAccountDeployed(r){Bn.smartAccountDeployed=r},setCurrentTab(r){Bn.currentTab=r},setTokenBalance(r){r&&(Bn.tokenBalance=Lp(r))},setConnectedWalletInfo(r){Bn.connectedWalletInfo=r},setPreferredAccountType(r){Bn.preferredAccountType=r},async fetchTokenBalance(){try{if(Bn.address){const r=await ka.getBalance(Bn.address);this.setTokenBalance(r.balances),pr.setBalances(B4.mapBalancesToConvertTokens(r.balances))}}catch{dn.showError("Failed to fetch token balance")}},resetAccount(){Bn.isConnected=!1,Bn.smartAccountDeployed=!1,Bn.currentTab=0,Bn.caipAddress=void 0,Bn.address=void 0,Bn.balance=void 0,Bn.balanceSymbol=void 0,Bn.profileName=void 0,Bn.profileImage=void 0,Bn.addressExplorerUrl=void 0,Bn.tokenBalance=[],Bn.connectedWalletInfo=void 0,Bn.preferredAccountType=void 0}},Uu=vi({walletImages:{},networkImages:{},connectorImages:{},tokenImages:{},currencyImages:{}}),po={state:Uu,subscribeNetworkImages(r){return hs(Uu.networkImages,()=>r(Uu.networkImages))},subscribeKey(r,e){return Ra(Uu,r,e)},subscribe(r){return hs(Uu,()=>r(Uu))},setWalletImage(r,e){Uu.walletImages[r]=e},setNetworkImage(r,e){Uu.networkImages[r]=e},setConnectorImage(r,e){Uu.connectorImages[r]=e},setTokenImage(r,e){Uu.tokenImages[r]=e},setCurrencyImage(r,e){Uu.currencyImages[r]=e}},Fg=vi({themeMode:"dark",themeVariables:{}}),Zs={state:Fg,subscribe(r){return hs(Fg,()=>r(Fg))},setThemeMode(r){Fg.themeMode=r;try{const e=Ln.getEmailConnector();e&&e.provider.syncTheme({themeMode:Zs.getSnapshot().themeMode})}catch{console.info("Unable to sync theme to email connector")}},setThemeVariables(r){Fg.themeVariables={...Fg.themeVariables,...r};try{const e=Ln.getEmailConnector();e&&e.provider.syncTheme({themeVariables:Zs.getSnapshot().themeVariables})}catch{console.info("Unable to sync theme to email connector")}},getSnapshot(){return rN(Fg)}},Up=vi({connectors:[]}),Ln={state:Up,subscribeKey(r,e){return Ra(Up,r,e)},setConnectors(r){Up.connectors=r.map(e=>Lp(e))},addConnector(r){var e,t;if(Up.connectors.push(Lp(r)),r.id==="w3mEmail"){const n=r,i=rN(hr.state);(t=(e=n==null?void 0:n.provider)==null?void 0:e.syncDappData)==null||t.call(e,{metadata:i.metadata,sdkVersion:i.sdkVersion,projectId:i.projectId}),n.provider.syncTheme({themeMode:Zs.getSnapshot().themeMode,themeVariables:Zs.getSnapshot().themeVariables})}},getEmailConnector(){return Up.connectors.find(r=>r.type==="EMAIL")},getAnnouncedConnectorRdns(){return Up.connectors.filter(r=>r.type==="ANNOUNCED").map(r=>{var e;return(e=r.info)==null?void 0:e.rdns})},getConnectors(){return Up.connectors},getConnector(r,e){return Up.connectors.find(t=>{var n;return t.explorerId===r||((n=t.info)==null?void 0:n.rdns)===e})}},Oxe=tr.getApiUrl(),Ma=new iN({baseUrl:Oxe}),Dxe="40",tee="4",Uo=vi({page:1,count:0,featured:[],recommended:[],wallets:[],search:[],isAnalyticsEnabled:!1}),Nr={state:Uo,subscribeKey(r,e){return Ra(Uo,r,e)},_getApiHeaders(){const{projectId:r,sdkType:e,sdkVersion:t}=hr.state;return{"x-project-id":r,"x-sdk-type":e,"x-sdk-version":t}},async _fetchWalletImage(r){const e=`${Ma.baseUrl}/getWalletImage/${r}`,t=await Ma.getBlob({path:e,headers:Nr._getApiHeaders()});po.setWalletImage(r,URL.createObjectURL(t))},async _fetchNetworkImage(r){const e=`${Ma.baseUrl}/public/getAssetImage/${r}`,t=await Ma.getBlob({path:e,headers:Nr._getApiHeaders()});po.setNetworkImage(r,URL.createObjectURL(t))},async _fetchConnectorImage(r){const e=`${Ma.baseUrl}/public/getAssetImage/${r}`,t=await Ma.getBlob({path:e,headers:Nr._getApiHeaders()});po.setConnectorImage(r,URL.createObjectURL(t))},async _fetchCurrencyImage(r){const e=`${Ma.baseUrl}/public/getCurrencyImage/${r}`,t=await Ma.getBlob({path:e,headers:Nr._getApiHeaders()});po.setCurrencyImage(r,URL.createObjectURL(t))},async _fetchTokenImage(r){const e=`${Ma.baseUrl}/public/getTokenImage/${r}`,t=await Ma.getBlob({path:e,headers:Nr._getApiHeaders()});po.setTokenImage(r,URL.createObjectURL(t))},async fetchNetworkImages(){const{requestedCaipNetworks:r}=lr.state,e=r==null?void 0:r.map(({imageId:t})=>t).filter(Boolean);e&&await Promise.allSettled(e.map(t=>Nr._fetchNetworkImage(t)))},async fetchConnectorImages(){const{connectors:r}=Ln.state,e=r.map(({imageId:t})=>t).filter(Boolean);await Promise.allSettled(e.map(t=>Nr._fetchConnectorImage(t)))},async fetchCurrencyImages(r=[]){await Promise.allSettled(r.map(e=>Nr._fetchCurrencyImage(e)))},async fetchTokenImages(r=[]){await Promise.allSettled(r.map(e=>Nr._fetchTokenImage(e)))},async fetchFeaturedWallets(){const{featuredWalletIds:r}=hr.state;if(r!=null&&r.length){const{data:e}=await Ma.get({path:"/getWallets",headers:Nr._getApiHeaders(),params:{page:"1",entries:r!=null&&r.length?String(r.length):tee,include:r==null?void 0:r.join(",")}});e.sort((n,i)=>r.indexOf(n.id)-r.indexOf(i.id));const t=e.map(n=>n.image_id).filter(Boolean);await Promise.allSettled(t.map(n=>Nr._fetchWalletImage(n))),Uo.featured=e}},async fetchRecommendedWallets(){var u;const{includeWalletIds:r,excludeWalletIds:e,featuredWalletIds:t}=hr.state,n=[...e??[],...t??[]].filter(Boolean),{data:i,count:s}=await Ma.get({path:"/getWallets",headers:Nr._getApiHeaders(),params:{page:"1",chains:(u=lr.state.caipNetwork)==null?void 0:u.id,entries:tee,include:r==null?void 0:r.join(","),exclude:n==null?void 0:n.join(",")}}),o=xs.getRecentWallets(),a=i.map(h=>h.image_id).filter(Boolean),l=o.map(h=>h.image_id).filter(Boolean);await Promise.allSettled([...a,...l].map(h=>Nr._fetchWalletImage(h))),Uo.recommended=i,Uo.count=s??0},async fetchWallets({page:r}){var l;const{includeWalletIds:e,excludeWalletIds:t,featuredWalletIds:n}=hr.state,i=[...Uo.recommended.map(({id:u})=>u),...t??[],...n??[]].filter(Boolean),{data:s,count:o}=await Ma.get({path:"/getWallets",headers:Nr._getApiHeaders(),params:{page:String(r),entries:Dxe,chains:(l=lr.state.caipNetwork)==null?void 0:l.id,include:e==null?void 0:e.join(","),exclude:i.join(",")}}),a=s.map(u=>u.image_id).filter(Boolean);await Promise.allSettled([...a.map(u=>Nr._fetchWalletImage(u)),tr.wait(300)]),Uo.wallets=[...Uo.wallets,...s],Uo.count=o>Uo.count?o:Uo.count,Uo.page=r},async searchWallet({search:r}){var s;const{includeWalletIds:e,excludeWalletIds:t}=hr.state;Uo.search=[];const{data:n}=await Ma.get({path:"/getWallets",headers:Nr._getApiHeaders(),params:{page:"1",entries:"100",search:r,chains:(s=lr.state.caipNetwork)==null?void 0:s.id,include:e==null?void 0:e.join(","),exclude:t==null?void 0:t.join(",")}}),i=n.map(o=>o.image_id).filter(Boolean);await Promise.allSettled([...i.map(o=>Nr._fetchWalletImage(o)),tr.wait(300)]),Uo.search=n},async reFetchWallets(){Uo.page=1,Uo.wallets=[],await Nr.fetchFeaturedWallets(),await Nr.fetchRecommendedWallets()},prefetch(){const r=[Nr.fetchFeaturedWallets(),Nr.fetchRecommendedWallets(),Nr.fetchNetworkImages(),Nr.fetchConnectorImages()];hr.state.enableAnalytics===void 0&&r.push(Nr.fetchAnalyticsConfig()),Uo.prefetchPromise=Promise.race([Promise.allSettled(r),tr.wait(3e3)])},async fetchAnalyticsConfig(){const{isAnalyticsEnabled:r}=await Ma.get({path:"/getAnalyticsConfig",headers:Nr._getApiHeaders()});hr.setEnableAnalytics(r)}},jg=vi({loading:!1,open:!1}),Zr={state:jg,subscribe(r){return hs(jg,()=>r(jg))},subscribeKey(r,e){return Ra(jg,r,e)},async open(r){await Nr.state.prefetchPromise;const e=zt.state.isConnected;r!=null&&r.view?et.reset(r.view):e?et.reset("Account"):et.reset("Connect"),jg.open=!0,Ug.set({open:!0}),yr.sendEvent({type:"track",event:"MODAL_OPEN",properties:{connected:e}})},close(){const r=zt.state.isConnected;jg.open=!1,Ug.set({open:!1}),yr.sendEvent({type:"track",event:"MODAL_CLOSE",properties:{connected:r}})},setLoading(r){jg.loading=r,Ug.set({loading:r})}},L4={id:"2b92315d-eab7-5bef-84fa-089a131333f5",name:"USD Coin",symbol:"USDC",networks:[{name:"ethereum-mainnet",display_name:"Ethereum",chain_id:"1",contract_address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{name:"polygon-mainnet",display_name:"Polygon",chain_id:"137",contract_address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"}]},fN={id:"USD",payment_method_limits:[{id:"card",min:"10.00",max:"7500.00"},{id:"ach_bank_account",min:"10.00",max:"25000.00"}]},jn=vi({providers:GX,selectedProvider:null,error:null,purchaseCurrency:L4,paymentCurrency:fN,purchaseCurrencies:[L4],paymentCurrencies:[],quotesLoading:!1}),zn={state:jn,subscribe(r){return hs(jn,()=>r(jn))},subscribeKey(r,e){return Ra(jn,r,e)},setSelectedProvider(r){jn.selectedProvider=r},setPurchaseCurrency(r){jn.purchaseCurrency=r},setPaymentCurrency(r){jn.paymentCurrency=r},setPurchaseAmount(r){this.state.purchaseAmount=r},setPaymentAmount(r){this.state.paymentAmount=r},async getAvailableCurrencies(){const r=await ka.getOnrampOptions();jn.purchaseCurrencies=r.purchaseCurrencies,jn.paymentCurrencies=r.paymentCurrencies,jn.paymentCurrency=r.paymentCurrencies[0]||fN,jn.purchaseCurrency=r.purchaseCurrencies[0]||L4,await Nr.fetchCurrencyImages(r.paymentCurrencies.map(e=>e.id)),await Nr.fetchTokenImages(r.purchaseCurrencies.map(e=>e.symbol))},async getQuote(){var r,e;jn.quotesLoading=!0;try{const t=await ka.getOnrampQuote({purchaseCurrency:jn.purchaseCurrency,paymentCurrency:jn.paymentCurrency,amount:((r=jn.paymentAmount)==null?void 0:r.toString())||"0",network:(e=jn.purchaseCurrency)==null?void 0:e.symbol});return jn.quotesLoading=!1,jn.purchaseAmount=Number(t.purchaseAmount.amount),t}catch(t){return jn.error=t.message,jn.quotesLoading=!1,null}finally{jn.quotesLoading=!1}},resetState(){jn.providers=GX,jn.selectedProvider=null,jn.error=null,jn.purchaseCurrency=L4,jn.paymentCurrency=fN,jn.purchaseCurrencies=[L4],jn.paymentCurrencies=[],jn.paymentAmount=void 0,jn.purchaseAmount=void 0,jn.quotesLoading=!1}},cc=vi({}),Na={state:cc,subscribe(r){return hs(cc,()=>r(cc))},subscribeKey(r,e){return Ra(cc,r,e)},setToken(r){r&&(cc.token=Lp(r))},setTokenAmount(r){cc.sendTokenAmount=r},setReceiverAddress(r){cc.receiverAddress=r},setReceiverProfileImageUrl(r){cc.receiverProfileImageUrl=r},setReceiverProfileName(r){cc.receiverProfileName=r},resetSend(){cc.token=void 0,cc.sendTokenAmount=void 0,cc.receiverAddress=void 0,cc.receiverProfileImageUrl=void 0,cc.receiverProfileName=void 0}},Yn={getWalletImage(r){if(r!=null&&r.image_url)return r==null?void 0:r.image_url;if(r!=null&&r.image_id)return po.state.walletImages[r.image_id]},getNetworkImage(r){if(r!=null&&r.imageUrl)return r==null?void 0:r.imageUrl;if(r!=null&&r.imageId)return po.state.networkImages[r.imageId]},getConnectorImage(r){if(r!=null&&r.imageUrl)return r.imageUrl;if(r!=null&&r.imageId)return po.state.connectorImages[r.imageId]}},$A={goBackOrCloseModal(){et.state.history.length>1?et.goBack():Zr.close()},navigateAfterNetworkSwitch(){const{history:r}=et.state,e=r.findIndex(t=>t==="Networks");e>=1?et.goBackToIndex(e-1):Zr.close()}};/** * @license * Copyright 2019 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */const OA=globalThis,sN=OA.ShadowRoot&&(OA.ShadyCSS===void 0||OA.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,oN=Symbol(),uee=new WeakMap;let hee=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==oN)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(sN&&e===void 0){const n=t!==void 0&&t.length===1;n&&(e=uee.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&uee.set(t,e))}return e}toString(){return this.cssText}};const Zh=r=>new hee(typeof r=="string"?r:r+"",void 0,oN),Ze=(r,...e)=>{const t=r.length===1?r[0]:e.reduce((n,i,s)=>n+(o=>{if(o._$cssResult$===!0)return o.cssText;if(typeof o=="number")return o;throw Error("Value passed to 'css' function must be a 'css' function result: "+o+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+r[s+1],r[0]);return new hee(t,r,oN)},Wxe=(r,e)=>{if(sN)r.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const t of e){const n=document.createElement("style"),i=OA.litNonce;i!==void 0&&n.setAttribute("nonce",i),n.textContent=t.cssText,r.appendChild(n)}},fee=sN?r=>r:r=>r instanceof CSSStyleSheet?(e=>{let t="";for(const n of e.cssRules)t+=n.cssText;return Zh(t)})(r):r;/** + */const BA=globalThis,dN=BA.ShadowRoot&&(BA.ShadyCSS===void 0||BA.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,pN=Symbol(),ree=new WeakMap;let nee=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==pN)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(dN&&e===void 0){const n=t!==void 0&&t.length===1;n&&(e=ree.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&ree.set(t,e))}return e}toString(){return this.cssText}};const Zh=r=>new nee(typeof r=="string"?r:r+"",void 0,pN),Ze=(r,...e)=>{const t=r.length===1?r[0]:e.reduce((n,i,s)=>n+(o=>{if(o._$cssResult$===!0)return o.cssText;if(typeof o=="number")return o;throw Error("Value passed to 'css' function must be a 'css' function result: "+o+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+r[s+1],r[0]);return new nee(t,r,pN)},$xe=(r,e)=>{if(dN)r.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const t of e){const n=document.createElement("style"),i=BA.litNonce;i!==void 0&&n.setAttribute("nonce",i),n.textContent=t.cssText,r.appendChild(n)}},iee=dN?r=>r:r=>r instanceof CSSStyleSheet?(e=>{let t="";for(const n of e.cssRules)t+=n.cssText;return Zh(t)})(r):r;/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */const{is:Vxe,defineProperty:Gxe,getOwnPropertyDescriptor:Kxe,getOwnPropertyNames:Zxe,getOwnPropertySymbols:Jxe,getPrototypeOf:Yxe}=Object,Hp=globalThis,dee=Hp.trustedTypes,Qxe=dee?dee.emptyScript:"",aN=Hp.reactiveElementPolyfillSupport,H4=(r,e)=>r,DA={toAttribute(r,e){switch(e){case Boolean:r=r?Qxe:null;break;case Object:case Array:r=r==null?r:JSON.stringify(r)}return r},fromAttribute(r,e){let t=r;switch(e){case Boolean:t=r!==null;break;case Number:t=r===null?null:Number(r);break;case Object:case Array:try{t=JSON.parse(r)}catch{t=null}}return t}},cN=(r,e)=>!Vxe(r,e),pee={attribute:!0,type:String,converter:DA,reflect:!1,hasChanged:cN};Symbol.metadata??(Symbol.metadata=Symbol("metadata")),Hp.litPropertyMetadata??(Hp.litPropertyMetadata=new WeakMap);let _v=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??(this.l=[])).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=pee){if(t.state&&(t.attribute=!1),this._$Ei(),this.elementProperties.set(e,t),!t.noAccessor){const n=Symbol(),i=this.getPropertyDescriptor(e,n,t);i!==void 0&&Gxe(this.prototype,e,i)}}static getPropertyDescriptor(e,t,n){const{get:i,set:s}=Kxe(this.prototype,e)??{get(){return this[t]},set(o){this[t]=o}};return{get(){return i==null?void 0:i.call(this)},set(o){const a=i==null?void 0:i.call(this);s.call(this,o),this.requestUpdate(e,a,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??pee}static _$Ei(){if(this.hasOwnProperty(H4("elementProperties")))return;const e=Yxe(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(H4("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(H4("properties"))){const t=this.properties,n=[...Zxe(t),...Jxe(t)];for(const i of n)this.createProperty(i,t[i])}const e=this[Symbol.metadata];if(e!==null){const t=litPropertyMetadata.get(e);if(t!==void 0)for(const[n,i]of t)this.elementProperties.set(n,i)}this._$Eh=new Map;for(const[t,n]of this.elementProperties){const i=this._$Eu(t,n);i!==void 0&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const n=new Set(e.flat(1/0).reverse());for(const i of n)t.unshift(fee(i))}else e!==void 0&&t.push(fee(e));return t}static _$Eu(e,t){const n=t.attribute;return n===!1?void 0:typeof n=="string"?n:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){var e;this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),(e=this.constructor.l)==null||e.forEach(t=>t(this))}addController(e){var t;(this._$EO??(this._$EO=new Set)).add(e),this.renderRoot!==void 0&&this.isConnected&&((t=e.hostConnected)==null||t.call(e))}removeController(e){var t;(t=this._$EO)==null||t.delete(e)}_$E_(){const e=new Map,t=this.constructor.elementProperties;for(const n of t.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Wxe(e,this.constructor.elementStyles),e}connectedCallback(){var e;this.renderRoot??(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(e=this._$EO)==null||e.forEach(t=>{var n;return(n=t.hostConnected)==null?void 0:n.call(t)})}enableUpdating(e){}disconnectedCallback(){var e;(e=this._$EO)==null||e.forEach(t=>{var n;return(n=t.hostDisconnected)==null?void 0:n.call(t)})}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$EC(e,t){var s;const n=this.constructor.elementProperties.get(e),i=this.constructor._$Eu(e,n);if(i!==void 0&&n.reflect===!0){const o=(((s=n.converter)==null?void 0:s.toAttribute)!==void 0?n.converter:DA).toAttribute(t,n.type);this._$Em=e,o==null?this.removeAttribute(i):this.setAttribute(i,o),this._$Em=null}}_$AK(e,t){var s;const n=this.constructor,i=n._$Eh.get(e);if(i!==void 0&&this._$Em!==i){const o=n.getPropertyOptions(i),a=typeof o.converter=="function"?{fromAttribute:o.converter}:((s=o.converter)==null?void 0:s.fromAttribute)!==void 0?o.converter:DA;this._$Em=i,this[i]=a.fromAttribute(t,o.type),this._$Em=null}}requestUpdate(e,t,n){if(e!==void 0){if(n??(n=this.constructor.getPropertyOptions(e)),!(n.hasChanged??cN)(this[e],t))return;this.P(e,t,n)}this.isUpdatePending===!1&&(this._$ES=this._$ET())}P(e,t,n){this._$AL.has(e)||this._$AL.set(e,t),n.reflect===!0&&this._$Em!==e&&(this._$Ej??(this._$Ej=new Set)).add(e)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var n;if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??(this.renderRoot=this.createRenderRoot()),this._$Ep){for(const[s,o]of this._$Ep)this[s]=o;this._$Ep=void 0}const i=this.constructor.elementProperties;if(i.size>0)for(const[s,o]of i)o.wrapped!==!0||this._$AL.has(s)||this[s]===void 0||this.P(s,this[s],o)}let e=!1;const t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),(n=this._$EO)==null||n.forEach(i=>{var s;return(s=i.hostUpdate)==null?void 0:s.call(i)}),this.update(t)):this._$EU()}catch(i){throw e=!1,this._$EU(),i}e&&this._$AE(t)}willUpdate(e){}_$AE(e){var t;(t=this._$EO)==null||t.forEach(n=>{var i;return(i=n.hostUpdated)==null?void 0:i.call(n)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Ej&&(this._$Ej=this._$Ej.forEach(t=>this._$EC(t,this[t]))),this._$EU()}updated(e){}firstUpdated(e){}};_v.elementStyles=[],_v.shadowRootOptions={mode:"open"},_v[H4("elementProperties")]=new Map,_v[H4("finalized")]=new Map,aN==null||aN({ReactiveElement:_v}),(Hp.reactiveElementVersions??(Hp.reactiveElementVersions=[])).push("2.0.4");/** + */const{is:Bxe,defineProperty:Lxe,getOwnPropertyDescriptor:Uxe,getOwnPropertyNames:Fxe,getOwnPropertySymbols:jxe,getPrototypeOf:zxe}=Object,Fp=globalThis,see=Fp.trustedTypes,Hxe=see?see.emptyScript:"",gN=Fp.reactiveElementPolyfillSupport,U4=(r,e)=>r,LA={toAttribute(r,e){switch(e){case Boolean:r=r?Hxe:null;break;case Object:case Array:r=r==null?r:JSON.stringify(r)}return r},fromAttribute(r,e){let t=r;switch(e){case Boolean:t=r!==null;break;case Number:t=r===null?null:Number(r);break;case Object:case Array:try{t=JSON.parse(r)}catch{t=null}}return t}},mN=(r,e)=>!Bxe(r,e),oee={attribute:!0,type:String,converter:LA,reflect:!1,hasChanged:mN};Symbol.metadata??(Symbol.metadata=Symbol("metadata")),Fp.litPropertyMetadata??(Fp.litPropertyMetadata=new WeakMap);let yv=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??(this.l=[])).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=oee){if(t.state&&(t.attribute=!1),this._$Ei(),this.elementProperties.set(e,t),!t.noAccessor){const n=Symbol(),i=this.getPropertyDescriptor(e,n,t);i!==void 0&&Lxe(this.prototype,e,i)}}static getPropertyDescriptor(e,t,n){const{get:i,set:s}=Uxe(this.prototype,e)??{get(){return this[t]},set(o){this[t]=o}};return{get(){return i==null?void 0:i.call(this)},set(o){const a=i==null?void 0:i.call(this);s.call(this,o),this.requestUpdate(e,a,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??oee}static _$Ei(){if(this.hasOwnProperty(U4("elementProperties")))return;const e=zxe(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(U4("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(U4("properties"))){const t=this.properties,n=[...Fxe(t),...jxe(t)];for(const i of n)this.createProperty(i,t[i])}const e=this[Symbol.metadata];if(e!==null){const t=litPropertyMetadata.get(e);if(t!==void 0)for(const[n,i]of t)this.elementProperties.set(n,i)}this._$Eh=new Map;for(const[t,n]of this.elementProperties){const i=this._$Eu(t,n);i!==void 0&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const n=new Set(e.flat(1/0).reverse());for(const i of n)t.unshift(iee(i))}else e!==void 0&&t.push(iee(e));return t}static _$Eu(e,t){const n=t.attribute;return n===!1?void 0:typeof n=="string"?n:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){var e;this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),(e=this.constructor.l)==null||e.forEach(t=>t(this))}addController(e){var t;(this._$EO??(this._$EO=new Set)).add(e),this.renderRoot!==void 0&&this.isConnected&&((t=e.hostConnected)==null||t.call(e))}removeController(e){var t;(t=this._$EO)==null||t.delete(e)}_$E_(){const e=new Map,t=this.constructor.elementProperties;for(const n of t.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return $xe(e,this.constructor.elementStyles),e}connectedCallback(){var e;this.renderRoot??(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(e=this._$EO)==null||e.forEach(t=>{var n;return(n=t.hostConnected)==null?void 0:n.call(t)})}enableUpdating(e){}disconnectedCallback(){var e;(e=this._$EO)==null||e.forEach(t=>{var n;return(n=t.hostDisconnected)==null?void 0:n.call(t)})}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$EC(e,t){var s;const n=this.constructor.elementProperties.get(e),i=this.constructor._$Eu(e,n);if(i!==void 0&&n.reflect===!0){const o=(((s=n.converter)==null?void 0:s.toAttribute)!==void 0?n.converter:LA).toAttribute(t,n.type);this._$Em=e,o==null?this.removeAttribute(i):this.setAttribute(i,o),this._$Em=null}}_$AK(e,t){var s;const n=this.constructor,i=n._$Eh.get(e);if(i!==void 0&&this._$Em!==i){const o=n.getPropertyOptions(i),a=typeof o.converter=="function"?{fromAttribute:o.converter}:((s=o.converter)==null?void 0:s.fromAttribute)!==void 0?o.converter:LA;this._$Em=i,this[i]=a.fromAttribute(t,o.type),this._$Em=null}}requestUpdate(e,t,n){if(e!==void 0){if(n??(n=this.constructor.getPropertyOptions(e)),!(n.hasChanged??mN)(this[e],t))return;this.P(e,t,n)}this.isUpdatePending===!1&&(this._$ES=this._$ET())}P(e,t,n){this._$AL.has(e)||this._$AL.set(e,t),n.reflect===!0&&this._$Em!==e&&(this._$Ej??(this._$Ej=new Set)).add(e)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var n;if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??(this.renderRoot=this.createRenderRoot()),this._$Ep){for(const[s,o]of this._$Ep)this[s]=o;this._$Ep=void 0}const i=this.constructor.elementProperties;if(i.size>0)for(const[s,o]of i)o.wrapped!==!0||this._$AL.has(s)||this[s]===void 0||this.P(s,this[s],o)}let e=!1;const t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),(n=this._$EO)==null||n.forEach(i=>{var s;return(s=i.hostUpdate)==null?void 0:s.call(i)}),this.update(t)):this._$EU()}catch(i){throw e=!1,this._$EU(),i}e&&this._$AE(t)}willUpdate(e){}_$AE(e){var t;(t=this._$EO)==null||t.forEach(n=>{var i;return(i=n.hostUpdated)==null?void 0:i.call(n)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Ej&&(this._$Ej=this._$Ej.forEach(t=>this._$EC(t,this[t]))),this._$EU()}updated(e){}firstUpdated(e){}};yv.elementStyles=[],yv.shadowRootOptions={mode:"open"},yv[U4("elementProperties")]=new Map,yv[U4("finalized")]=new Map,gN==null||gN({ReactiveElement:yv}),(Fp.reactiveElementVersions??(Fp.reactiveElementVersions=[])).push("2.0.4");/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */const q4=globalThis,$A=q4.trustedTypes,gee=$A?$A.createPolicy("lit-html",{createHTML:r=>r}):void 0,mee="$lit$",qp=`lit$${Math.random().toFixed(9).slice(2)}$`,bee="?"+qp,Xxe=`<${bee}>`,zg=document,W4=()=>zg.createComment(""),V4=r=>r===null||typeof r!="object"&&typeof r!="function",wee=Array.isArray,e7e=r=>wee(r)||typeof(r==null?void 0:r[Symbol.iterator])=="function",lN=`[ -\f\r]`,G4=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,vee=/-->/g,yee=/>/g,Hg=RegExp(`>|${lN}(?:([^\\s"'>=/]+)(${lN}*=${lN}*(?:[^ -\f\r"'\`<>=]|("|')|))|$)`,"g"),xee=/'/g,_ee=/"/g,Eee=/^(?:script|style|textarea|title)$/i,Aee=r=>(e,...t)=>({_$litType$:r,strings:e,values:t}),ce=Aee(1),At=Aee(2),qg=Symbol.for("lit-noChange"),ys=Symbol.for("lit-nothing"),Cee=new WeakMap,Wg=zg.createTreeWalker(zg,129);function See(r,e){if(!Array.isArray(r)||!r.hasOwnProperty("raw"))throw Error("invalid template strings array");return gee!==void 0?gee.createHTML(e):e}const t7e=(r,e)=>{const t=r.length-1,n=[];let i,s=e===2?"":"",o=G4;for(let a=0;a"?(o=i??G4,p=-1):h[1]===void 0?p=-2:(p=o.lastIndex-h[2].length,u=h[1],o=h[3]===void 0?Hg:h[3]==='"'?_ee:xee):o===_ee||o===xee?o=Hg:o===vee||o===yee?o=G4:(o=Hg,i=void 0);const w=o===Hg&&r[a+1].startsWith("/>")?" ":"";s+=o===G4?l+Xxe:p>=0?(n.push(u),l.slice(0,p)+mee+l.slice(p)+qp+w):l+qp+(p===-2?a:w)}return[See(r,s+(r[t]||"")+(e===2?"":"")),n]};let uN=class Rge{constructor({strings:e,_$litType$:t},n){let i;this.parts=[];let s=0,o=0;const a=e.length-1,l=this.parts,[u,h]=t7e(e,t);if(this.el=Rge.createElement(u,n),Wg.currentNode=this.el.content,t===2){const p=this.el.content.firstChild;p.replaceWith(...p.childNodes)}for(;(i=Wg.nextNode())!==null&&l.length0){i.textContent=$A?$A.emptyScript:"";for(let w=0;w2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=ys}_$AI(e,t=this,n,i){const s=this.strings;let o=!1;if(s===void 0)e=Ev(this,e,t,0),o=!V4(e)||e!==this._$AH&&e!==qg,o&&(this._$AH=e);else{const a=e;let l,u;for(e=s[0],l=0;l{const n=(t==null?void 0:t.renderBefore)??e;let i=n._$litPart$;if(i===void 0){const s=(t==null?void 0:t.renderBefore)??null;n._$litPart$=i=new hN(e.insertBefore(W4(),s),s,void 0,t??{})}return i._$AI(r),i};/** + */const F4=globalThis,UA=F4.trustedTypes,aee=UA?UA.createPolicy("lit-html",{createHTML:r=>r}):void 0,cee="$lit$",jp=`lit$${Math.random().toFixed(9).slice(2)}$`,lee="?"+jp,qxe=`<${lee}>`,zg=document,j4=()=>zg.createComment(""),z4=r=>r===null||typeof r!="object"&&typeof r!="function",uee=Array.isArray,Wxe=r=>uee(r)||typeof(r==null?void 0:r[Symbol.iterator])=="function",bN=`[ +\f\r]`,H4=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,hee=/-->/g,fee=/>/g,Hg=RegExp(`>|${bN}(?:([^\\s"'>=/]+)(${bN}*=${bN}*(?:[^ +\f\r"'\`<>=]|("|')|))|$)`,"g"),dee=/'/g,pee=/"/g,gee=/^(?:script|style|textarea|title)$/i,mee=r=>(e,...t)=>({_$litType$:r,strings:e,values:t}),ce=mee(1),At=mee(2),qg=Symbol.for("lit-noChange"),_s=Symbol.for("lit-nothing"),bee=new WeakMap,Wg=zg.createTreeWalker(zg,129);function wee(r,e){if(!Array.isArray(r)||!r.hasOwnProperty("raw"))throw Error("invalid template strings array");return aee!==void 0?aee.createHTML(e):e}const Vxe=(r,e)=>{const t=r.length-1,n=[];let i,s=e===2?"":"",o=H4;for(let a=0;a"?(o=i??H4,p=-1):h[1]===void 0?p=-2:(p=o.lastIndex-h[2].length,u=h[1],o=h[3]===void 0?Hg:h[3]==='"'?pee:dee):o===pee||o===dee?o=Hg:o===hee||o===fee?o=H4:(o=Hg,i=void 0);const w=o===Hg&&r[a+1].startsWith("/>")?" ":"";s+=o===H4?l+qxe:p>=0?(n.push(u),l.slice(0,p)+cee+l.slice(p)+jp+w):l+jp+(p===-2?a:w)}return[wee(r,s+(r[t]||"")+(e===2?"":"")),n]};let FA=class{constructor({strings:e,_$litType$:t},n){let i;this.parts=[];let s=0,o=0;const a=e.length-1,l=this.parts,[u,h]=Vxe(e,t);if(this.el=FA.createElement(u,n),Wg.currentNode=this.el.content,t===2){const p=this.el.content.firstChild;p.replaceWith(...p.childNodes)}for(;(i=Wg.nextNode())!==null&&l.length0){i.textContent=UA?UA.emptyScript:"";for(let w=0;w2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=_s}_$AI(e,t=this,n,i){const s=this.strings;let o=!1;if(s===void 0)e=xv(this,e,t,0),o=!z4(e)||e!==this._$AH&&e!==qg,o&&(this._$AH=e);else{const a=e;let l,u;for(e=s[0],l=0;l{const n=(t==null?void 0:t.renderBefore)??e;let i=n._$litPart$;if(i===void 0){const s=(t==null?void 0:t.renderBefore)??null;n._$litPart$=i=new jA(e.insertBefore(j4(),s),s,void 0,t??{})}return i._$AI(r),i};/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */let Fe=class extends _v{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t;const e=super.createRenderRoot();return(t=this.renderOptions).renderBefore??(t.renderBefore=e.firstChild),e}update(e){const t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=a7e(t,this.renderRoot,this.renderOptions)}connectedCallback(){var e;super.connectedCallback(),(e=this._$Do)==null||e.setConnected(!0)}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this._$Do)==null||e.setConnected(!1)}render(){return qg}};Fe._$litElement$=!0,Fe.finalized=!0,(pge=globalThis.litElementHydrateSupport)==null||pge.call(globalThis,{LitElement:Fe});const dN=globalThis.litElementPolyfillSupport;dN==null||dN({LitElement:Fe}),(globalThis.litElementVersions??(globalThis.litElementVersions=[])).push("4.0.5");const Iee=At` + */let Fe=class extends yv{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t;const e=super.createRenderRoot();return(t=this.renderOptions).renderBefore??(t.renderBefore=e.firstChild),e}update(e){const t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=Qxe(t,this.renderRoot,this.renderOptions)}connectedCallback(){var e;super.connectedCallback(),(e=this._$Do)==null||e.setConnected(!0)}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this._$Do)==null||e.setConnected(!1)}render(){return qg}};Fe._$litElement$=!0,Fe.finalized=!0,(pge=globalThis.litElementHydrateSupport)==null||pge.call(globalThis,{LitElement:Fe});const vN=globalThis.litElementPolyfillSupport;vN==null||vN({LitElement:Fe}),(globalThis.litElementVersions??(globalThis.litElementVersions=[])).push("4.0.5");const vee=At` -`,Ree=At` +`,yee=At` -`;let K4,Wp,Vp;function Tee(r,e){K4=document.createElement("style"),Wp=document.createElement("style"),Vp=document.createElement("style"),K4.textContent=Av(r).core.cssText,Wp.textContent=Av(r).dark.cssText,Vp.textContent=Av(r).light.cssText,document.head.appendChild(K4),document.head.appendChild(Wp),document.head.appendChild(Vp),pN(e)}function pN(r){Wp&&Vp&&(r==="light"?(Wp.removeAttribute("media"),Vp.media="enabled"):(Vp.removeAttribute("media"),Wp.media="enabled"))}function kee(r){K4&&Wp&&Vp&&(K4.textContent=Av(r).core.cssText,Wp.textContent=Av(r).dark.cssText,Vp.textContent=Av(r).light.cssText)}function Av(r){return{core:Ze` +`;let q4,zp,Hp;function xee(r,e){q4=document.createElement("style"),zp=document.createElement("style"),Hp=document.createElement("style"),q4.textContent=_v(r).core.cssText,zp.textContent=_v(r).dark.cssText,Hp.textContent=_v(r).light.cssText,document.head.appendChild(q4),document.head.appendChild(zp),document.head.appendChild(Hp),yN(e)}function yN(r){zp&&Hp&&(r==="light"?(zp.removeAttribute("media"),Hp.media="enabled"):(Hp.removeAttribute("media"),zp.media="enabled"))}function _ee(r){q4&&zp&&Hp&&(q4.textContent=_v(r).core.cssText,zp.textContent=_v(r).dark.cssText,Hp.textContent=_v(r).light.cssText)}function _v(r){return{core:Ze` @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap'); :root { --w3m-color-mix-strength: ${Zh(r!=null&&r["--w3m-color-mix-strength"]?`${r["--w3m-color-mix-strength"]}%`:"0%")}; @@ -798,7 +798,7 @@ ${this._compileErrors().join(` outline: none; appearance: none; } -`,gN=Ze` +`,xN=Ze` .wui-color-inherit { color: var(--wui-color-inherit); } @@ -870,7 +870,7 @@ ${this._compileErrors().join(` .wui-bg-color-fg-300 { background-color: var(--wui-color-fg-300); } -`;function c7e(r,e){const{kind:t,elements:n}=e;return{kind:t,elements:n,finisher(i){customElements.get(r)||customElements.define(r,i)}}}function l7e(r,e){return customElements.get(r)||customElements.define(r,e),e}function Le(r){return function(t){return typeof t=="function"?l7e(r,t):c7e(r,t)}}const u7e=Ze` +`;function Xxe(r,e){const{kind:t,elements:n}=e;return{kind:t,elements:n,finisher(i){customElements.get(r)||customElements.define(r,i)}}}function e7e(r,e){return customElements.get(r)||customElements.define(r,e),e}function Le(r){return function(t){return typeof t=="function"?e7e(r,t):Xxe(r,t)}}const t7e=Ze` :host { display: block; border-radius: clamp(0px, var(--wui-border-radius-l), 44px); @@ -878,15 +878,15 @@ ${this._compileErrors().join(` background-color: var(--wui-color-modal-bg); overflow: hidden; } -`;var h7e=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let LA=class extends Fe{render(){return ce``}};LA.styles=[ar,u7e],LA=h7e([Le("wui-card")],LA);/** +`;var r7e=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let HA=class extends Fe{render(){return ce``}};HA.styles=[ar,t7e],HA=r7e([Le("wui-card")],HA);/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */const f7e={attribute:!0,type:String,converter:DA,reflect:!1,hasChanged:cN},d7e=(r=f7e,e,t)=>{const{kind:n,metadata:i}=t;let s=globalThis.litPropertyMetadata.get(i);if(s===void 0&&globalThis.litPropertyMetadata.set(i,s=new Map),s.set(t.name,r),n==="accessor"){const{name:o}=t;return{set(a){const l=e.get.call(this);e.set.call(this,a),this.requestUpdate(o,l,r)},init(a){return a!==void 0&&this.P(o,void 0,r),a}}}if(n==="setter"){const{name:o}=t;return function(a){const l=this[o];e.call(this,a),this.requestUpdate(o,l,r)}}throw Error("Unsupported decorator location: "+n)};function pe(r){return(e,t)=>typeof t=="object"?d7e(r,e,t):((n,i,s)=>{const o=i.hasOwnProperty(s);return i.constructor.createProperty(s,o?{...n,wrapped:!0}:n),o?Object.getOwnPropertyDescriptor(i,s):void 0})(r,e,t)}/** + */const n7e={attribute:!0,type:String,converter:LA,reflect:!1,hasChanged:mN},i7e=(r=n7e,e,t)=>{const{kind:n,metadata:i}=t;let s=globalThis.litPropertyMetadata.get(i);if(s===void 0&&globalThis.litPropertyMetadata.set(i,s=new Map),s.set(t.name,r),n==="accessor"){const{name:o}=t;return{set(a){const l=e.get.call(this);e.set.call(this,a),this.requestUpdate(o,l,r)},init(a){return a!==void 0&&this.P(o,void 0,r),a}}}if(n==="setter"){const{name:o}=t;return function(a){const l=this[o];e.call(this,a),this.requestUpdate(o,l,r)}}throw Error("Unsupported decorator location: "+n)};function pe(r){return(e,t)=>typeof t=="object"?i7e(r,e,t):((n,i,s)=>{const o=i.hasOwnProperty(s);return i.constructor.createProperty(s,o?{...n,wrapped:!0}:n),o?Object.getOwnPropertyDescriptor(i,s):void 0})(r,e,t)}/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */function Oe(r){return pe({...r,state:!0,attribute:!1})}const p7e=Ze` + */function Oe(r){return pe({...r,state:!0,attribute:!1})}const s7e=Ze` :host { display: flex; aspect-ratio: 1 / 1; @@ -900,12 +900,12 @@ ${this._compileErrors().join(` object-fit: contain; object-position: center; } -`,g7e=At` +`,o7e=At` -`,m7e=At``,a7e=At` @@ -915,7 +915,7 @@ ${this._compileErrors().join(` d="M10.5 2.42908C6.31875 2.42908 2.92859 5.81989 2.92859 10.0034C2.92859 14.1869 6.31875 17.5777 10.5 17.5777C14.6813 17.5777 18.0714 14.1869 18.0714 10.0034C18.0714 5.81989 14.6813 2.42908 10.5 2.42908ZM0.928589 10.0034C0.928589 4.71596 5.21355 0.429077 10.5 0.429077C15.7865 0.429077 20.0714 4.71596 20.0714 10.0034C20.0714 15.2908 15.7865 19.5777 10.5 19.5777C5.21355 19.5777 0.928589 15.2908 0.928589 10.0034ZM10.5 5.75003C11.0523 5.75003 11.5 6.19774 11.5 6.75003L11.5 10.8343L12.7929 9.54137C13.1834 9.15085 13.8166 9.15085 14.2071 9.54137C14.5976 9.9319 14.5976 10.5651 14.2071 10.9556L11.2071 13.9556C10.8166 14.3461 10.1834 14.3461 9.79291 13.9556L6.79291 10.9556C6.40239 10.5651 6.40239 9.9319 6.79291 9.54137C7.18343 9.15085 7.8166 9.15085 8.20712 9.54137L9.50002 10.8343L9.50002 6.75003C9.50002 6.19774 9.94773 5.75003 10.5 5.75003Z" clip-rule="evenodd" />`,b7e=At` +>`,c7e=At` -`,w7e=At` +`,l7e=At` @@ -948,35 +948,35 @@ ${this._compileErrors().join(` -`,v7e=At` +`,u7e=At` -`,y7e=At` +`,h7e=At` -`,x7e=At` +`,f7e=At` -`,_7e=At` +`,d7e=At` -`,E7e=At` +`,p7e=At` -`,A7e=At``,g7e=At``,C7e=At` +>`,m7e=At` -`,S7e=At` +`,b7e=At` -`,I7e=At` +`,w7e=At` -`,R7e=At` +`,v7e=At` -`,T7e=At` +`,y7e=At` -`,k7e=At` +`,x7e=At` -`,M7e=At` +`,_7e=At` -`,N7e=At` +`,E7e=At` -`,P7e=At` +`,A7e=At` -`,O7e=At``,C7e=At``,D7e=At``,S7e=At``,$7e=At` +>`,I7e=At` -`,B7e=At` +`,T7e=At` -`,L7e=At` +`,R7e=At` -`,U7e=At` +`,k7e=At` @@ -1179,26 +1179,26 @@ ${this._compileErrors().join(` -`,F7e=At` +`,M7e=At` -`,j7e=At` +`,N7e=At` -`,z7e=At` +`,P7e=At` -`,H7e=At` +`,O7e=At` @@ -1223,14 +1223,14 @@ ${this._compileErrors().join(` -`,q7e=At` +`,D7e=At` -`,W7e=At` +`,$7e=At` @@ -1247,7 +1247,7 @@ ${this._compileErrors().join(` -`,V7e=At` +`,B7e=At` @@ -1276,7 +1276,7 @@ ${this._compileErrors().join(` -`,G7e=At` +`,L7e=At` -`,K7e=At` +`,U7e=At` -`,Z7e=At` +`,F7e=At` -`,J7e=At` +`,j7e=At` -`,Y7e=At` +`,z7e=At` -`,Q7e=At` +`,H7e=At` -`,X7e=At` +`,q7e=At` -`,e9e=At` `,W7e=At` -`,t9e=At` +`,V7e=At` -`,r9e=At` +`,G7e=At` -`,n9e=At` +`,K7e=At` -`,i9e=At` +`,Z7e=At` `,s9e=At` +>`,J7e=At` -`,o9e=At` +`,Y7e=At` -`,a9e=At``,Q7e=At` -`,c9e=At` +`,X7e=At` -`,l9e=At` +`,e9e=At` -`,u9e=At` +`,t9e=At` @@ -1463,7 +1463,7 @@ ${this._compileErrors().join(` - `,h9e=At` + `,r9e=At` @@ -1480,7 +1480,7 @@ ${this._compileErrors().join(` -`,f9e=At` +`,n9e=At` @@ -1494,26 +1494,26 @@ ${this._compileErrors().join(` -`,d9e=At` +`,i9e=At` -`,p9e=At` +`,s9e=At` -`,g9e=At` +`,o9e=At` -`,m9e=At` +`,a9e=At` -`,b9e=At` +`,c9e=At` -`,w9e=At` +`,l9e=At` -`,v9e=At` +`,u9e=At` -`,y9e=At``,h9e=At` @@ -1562,7 +1562,7 @@ ${this._compileErrors().join(` fill="currentColor" d="M8.8071 0.292893C9.19763 0.683417 9.19763 1.31658 8.8071 1.70711L6.91421 3.6H11.8404C14.3368 3.6 16.5533 5.1975 17.3427 7.56588L17.4487 7.88377C17.6233 8.40772 17.3402 8.97404 16.8162 9.14868C16.2923 9.32333 15.726 9.04017 15.5513 8.51623L15.4453 8.19834C14.9281 6.64664 13.476 5.6 11.8404 5.6H6.91421L8.8071 7.49289C9.19763 7.88342 9.19763 8.51658 8.8071 8.90711C8.41658 9.29763 7.78341 9.29763 7.39289 8.90711L3.79289 5.30711C3.40236 4.91658 3.40236 4.28342 3.79289 3.89289L7.39289 0.292893C7.78341 -0.0976311 8.41658 -0.0976311 8.8071 0.292893ZM4.18377 10.8513C4.70771 10.6767 5.27403 10.9598 5.44868 11.4838L5.55464 11.8017C6.07188 13.3534 7.52401 14.4 9.15964 14.4L14.0858 14.4L12.1929 12.5071C11.8024 12.1166 11.8024 11.4834 12.1929 11.0929C12.5834 10.7024 13.2166 10.7024 13.6071 11.0929L17.2071 14.6929C17.5976 15.0834 17.5976 15.7166 17.2071 16.1071L13.6071 19.7071C13.2166 20.0976 12.5834 20.0976 12.1929 19.7071C11.8024 19.3166 11.8024 18.6834 12.1929 18.2929L14.0858 16.4L9.15964 16.4C6.66314 16.4 4.44674 14.8025 3.65728 12.4341L3.55131 12.1162C3.37667 11.5923 3.65983 11.026 4.18377 10.8513Z" />`,x9e=At``,f9e=At``,_9e=At``,d9e=At``,E9e=At``,p9e=At``,A9e=At` +>`,g9e=At` - `,C9e=At` + `,m9e=At` -`;var UA=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};const S9e={add:D7e,allWallets:g7e,arrowBottomCircle:m7e,appStore:b7e,apple:w7e,arrowBottom:v7e,arrowLeft:y7e,arrowRight:x7e,arrowTop:_7e,bank:x9e,browser:E7e,card:_9e,checkmark:A7e,checkmarkBold:C9e,chevronBottom:C7e,chevronLeft:S7e,chevronRight:I7e,chevronTop:R7e,chromeStore:T7e,clock:k7e,close:M7e,compass:P7e,coinPlaceholder:N7e,copy:O7e,cursor:$7e,cursorTransparent:A9e,desktop:B7e,disconnect:L7e,discord:U7e,etherscan:F7e,extension:j7e,externalLink:z7e,facebook:H7e,filters:q7e,github:W7e,google:V7e,helpCircle:G7e,infoCircle:K7e,mail:Z7e,mobile:J7e,networkPlaceholder:Y7e,nftPlaceholder:Q7e,off:X7e,playStore:e9e,plus:E9e,qrCode:t9e,recycleHorizontal:y9e,refresh:r9e,search:n9e,send:i9e,swapHorizontal:s9e,swapHorizontalMedium:a9e,swapHorizontalBold:o9e,swapHorizontalRoundedBold:c9e,swapVertical:l9e,telegram:u9e,twitch:h9e,twitter:f9e,twitterIcon:d9e,verify:p9e,verifyFilled:g9e,wallet:b9e,walletConnect:w9e,walletPlaceholder:m9e,warningCircle:v9e};let Vg=class extends Fe{constructor(){super(...arguments),this.size="md",this.name="copy",this.color="fg-300"}render(){return this.style.cssText=` +`;var qA=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};const b9e={add:S7e,allWallets:o7e,arrowBottomCircle:a7e,appStore:c7e,apple:l7e,arrowBottom:u7e,arrowLeft:h7e,arrowRight:f7e,arrowTop:d7e,bank:f9e,browser:p7e,card:d9e,checkmark:g7e,checkmarkBold:m9e,chevronBottom:m7e,chevronLeft:b7e,chevronRight:w7e,chevronTop:v7e,chromeStore:y7e,clock:x7e,close:_7e,compass:A7e,coinPlaceholder:E7e,copy:C7e,cursor:I7e,cursorTransparent:g9e,desktop:T7e,disconnect:R7e,discord:k7e,etherscan:M7e,extension:N7e,externalLink:P7e,facebook:O7e,filters:D7e,github:$7e,google:B7e,helpCircle:L7e,infoCircle:U7e,mail:F7e,mobile:j7e,networkPlaceholder:z7e,nftPlaceholder:H7e,off:q7e,playStore:W7e,plus:p9e,qrCode:V7e,recycleHorizontal:h9e,refresh:G7e,search:K7e,send:Z7e,swapHorizontal:J7e,swapHorizontalMedium:Q7e,swapHorizontalBold:Y7e,swapHorizontalRoundedBold:X7e,swapVertical:e9e,telegram:t9e,twitch:r9e,twitter:n9e,twitterIcon:i9e,verify:s9e,verifyFilled:o9e,wallet:c9e,walletConnect:l9e,walletPlaceholder:a9e,warningCircle:u9e};let Vg=class extends Fe{constructor(){super(...arguments),this.size="md",this.name="copy",this.color="fg-300"}render(){return this.style.cssText=` --local-color: ${`var(--wui-color-${this.color});`} --local-width: ${`var(--wui-icon-size-${this.size});`} - `,ce`${S9e[this.name]}`}};Vg.styles=[ar,gN,p7e],UA([pe()],Vg.prototype,"size",void 0),UA([pe()],Vg.prototype,"name",void 0),UA([pe()],Vg.prototype,"color",void 0),Vg=UA([Le("wui-icon")],Vg);const I9e=Ze` + `,ce`${b9e[this.name]}`}};Vg.styles=[ar,xN,s7e],qA([pe()],Vg.prototype,"size",void 0),qA([pe()],Vg.prototype,"name",void 0),qA([pe()],Vg.prototype,"color",void 0),Vg=qA([Le("wui-icon")],Vg);const w9e=Ze` :host { display: block; width: var(--local-width); @@ -1636,10 +1636,10 @@ ${this._compileErrors().join(` object-position: center center; border-radius: inherit; } -`;var FA=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Gg=class extends Fe{constructor(){super(...arguments),this.src="./path/to/image.jpg",this.alt="Image",this.size=void 0}render(){return this.style.cssText=` +`;var WA=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Gg=class extends Fe{constructor(){super(...arguments),this.src="./path/to/image.jpg",this.alt="Image",this.size=void 0}render(){return this.style.cssText=` --local-width: ${this.size?`var(--wui-icon-size-${this.size});`:"100%"}; --local-height: ${this.size?`var(--wui-icon-size-${this.size});`:"100%"}; - `,ce`${this.alt}`}};Gg.styles=[ar,gN,I9e],FA([pe()],Gg.prototype,"src",void 0),FA([pe()],Gg.prototype,"alt",void 0),FA([pe()],Gg.prototype,"size",void 0),Gg=FA([Le("wui-image")],Gg);const R9e=Ze` + `,ce`${this.alt}`}};Gg.styles=[ar,xN,w9e],WA([pe()],Gg.prototype,"src",void 0),WA([pe()],Gg.prototype,"alt",void 0),WA([pe()],Gg.prototype,"size",void 0),Gg=WA([Le("wui-image")],Gg);const v9e=Ze` :host { display: block; width: var(--wui-box-size-lg); @@ -1667,7 +1667,7 @@ ${this._compileErrors().join(` stroke-dashoffset: 0px; } } -`;var T9e=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let jA=class extends Fe{render(){return ce` +`;var y9e=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let VA=class extends Fe{render(){return ce` - `}};jA.styles=[ar,R9e],jA=T9e([Le("wui-loading-hexagon")],jA);const k9e=Ze` + `}};VA.styles=[ar,v9e],VA=y9e([Le("wui-loading-hexagon")],VA);const x9e=Ze` :host { display: flex; } @@ -1743,9 +1743,9 @@ ${this._compileErrors().join(` stroke-dashoffset: -125; } } -`;var mN=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Cv=class extends Fe{constructor(){super(...arguments),this.color="accent-100",this.size="lg"}render(){return this.style.cssText=`--local-color: var(--wui-color-${this.color});`,this.dataset.size=this.size,ce` +`;var _N=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Ev=class extends Fe{constructor(){super(...arguments),this.color="accent-100",this.size="lg"}render(){return this.style.cssText=`--local-color: var(--wui-color-${this.color});`,this.dataset.size=this.size,ce` - `}};Cv.styles=[ar,k9e],mN([pe()],Cv.prototype,"color",void 0),mN([pe()],Cv.prototype,"size",void 0),Cv=mN([Le("wui-loading-spinner")],Cv);const M9e=Ze` + `}};Ev.styles=[ar,x9e],_N([pe()],Ev.prototype,"color",void 0),_N([pe()],Ev.prototype,"size",void 0),Ev=_N([Le("wui-loading-spinner")],Ev);const _9e=Ze` :host { display: block; width: var(--wui-box-size-md); @@ -1770,7 +1770,7 @@ ${this._compileErrors().join(` stroke-dashoffset: 0px; } } -`;var Mee=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Z4=class extends Fe{constructor(){super(...arguments),this.radius=36}render(){return this.svgLoaderTemplate()}svgLoaderTemplate(){const e=this.radius>50?50:this.radius,n=36-e,i=116+n,s=245+n,o=360+n*1.75;return ce` +`;var Eee=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let W4=class extends Fe{constructor(){super(...arguments),this.radius=36}render(){return this.svgLoaderTemplate()}svgLoaderTemplate(){const e=this.radius>50?50:this.radius,n=36-e,i=116+n,s=245+n,o=360+n*1.75;return ce` - `}};Z4.styles=[ar,M9e],Mee([pe({type:Number})],Z4.prototype,"radius",void 0),Z4=Mee([Le("wui-loading-thumbnail")],Z4);const N9e=Ze` + `}};W4.styles=[ar,_9e],Eee([pe({type:Number})],W4.prototype,"radius",void 0),W4=Eee([Le("wui-loading-thumbnail")],W4);const E9e=Ze` :host { display: block; box-shadow: inset 0 0 0 1px var(--wui-gray-glass-005); @@ -1808,19 +1808,19 @@ ${this._compileErrors().join(` background-position: 250% 0; } } -`;var zA=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Kg=class extends Fe{constructor(){super(...arguments),this.width="",this.height="",this.borderRadius="m"}render(){return this.style.cssText=` +`;var GA=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Kg=class extends Fe{constructor(){super(...arguments),this.width="",this.height="",this.borderRadius="m"}render(){return this.style.cssText=` width: ${this.width}; height: ${this.height}; border-radius: ${`clamp(0px,var(--wui-border-radius-${this.borderRadius}), 40px)`}; - `,ce``}};Kg.styles=[N9e],zA([pe()],Kg.prototype,"width",void 0),zA([pe()],Kg.prototype,"height",void 0),zA([pe()],Kg.prototype,"borderRadius",void 0),Kg=zA([Le("wui-shimmer")],Kg);/** + `,ce``}};Kg.styles=[E9e],GA([pe()],Kg.prototype,"width",void 0),GA([pe()],Kg.prototype,"height",void 0),GA([pe()],Kg.prototype,"borderRadius",void 0),Kg=GA([Le("wui-shimmer")],Kg);/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */const Nee={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},Pee=r=>(...e)=>({_$litDirective$:r,values:e});let Oee=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}};/** + */const Aee={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},Cee=r=>(...e)=>({_$litDirective$:r,values:e});let See=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}};/** * @license * Copyright 2018 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */const P9e=Pee(class extends Oee{constructor(r){var e;if(super(r),r.type!==Nee.ATTRIBUTE||r.name!=="class"||((e=r.strings)==null?void 0:e.length)>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(r){return" "+Object.keys(r).filter(e=>r[e]).join(" ")+" "}update(r,[e]){var n,i;if(this.st===void 0){this.st=new Set,r.strings!==void 0&&(this.nt=new Set(r.strings.join(" ").split(/\s/).filter(s=>s!=="")));for(const s in e)e[s]&&!((n=this.nt)!=null&&n.has(s))&&this.st.add(s);return this.render(e)}const t=r.element.classList;for(const s of this.st)s in e||(t.remove(s),this.st.delete(s));for(const s in e){const o=!!e[s];o===this.st.has(s)||(i=this.nt)!=null&&i.has(s)||(o?(t.add(s),this.st.add(s)):(t.remove(s),this.st.delete(s)))}return qg}}),O9e=Ze` + */const A9e=Cee(class extends See{constructor(r){var e;if(super(r),r.type!==Aee.ATTRIBUTE||r.name!=="class"||((e=r.strings)==null?void 0:e.length)>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(r){return" "+Object.keys(r).filter(e=>r[e]).join(" ")+" "}update(r,[e]){var n,i;if(this.st===void 0){this.st=new Set,r.strings!==void 0&&(this.nt=new Set(r.strings.join(" ").split(/\s/).filter(s=>s!=="")));for(const s in e)e[s]&&!((n=this.nt)!=null&&n.has(s))&&this.st.add(s);return this.render(e)}const t=r.element.classList;for(const s of this.st)s in e||(t.remove(s),this.st.delete(s));for(const s in e){const o=!!e[s];o===this.st.has(s)||(i=this.nt)!=null&&i.has(s)||(o?(t.add(s),this.st.add(s)):(t.remove(s),this.st.delete(s)))}return qg}}),C9e=Ze` :host { display: inline-flex !important; } @@ -1929,10 +1929,10 @@ ${this._compileErrors().join(` .wui-font-micro-600 { font-weight: var(--wui-font-weight-medium); } -`;var HA=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Zg=class extends Fe{constructor(){super(...arguments),this.variant="paragraph-500",this.color="fg-300",this.align="left"}render(){const e={[`wui-font-${this.variant}`]:!0,[`wui-color-${this.color}`]:!0};return this.style.cssText=` +`;var KA=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Zg=class extends Fe{constructor(){super(...arguments),this.variant="paragraph-500",this.color="fg-300",this.align="left"}render(){const e={[`wui-font-${this.variant}`]:!0,[`wui-color-${this.color}`]:!0};return this.style.cssText=` --local-align: ${this.align}; --local-color: var(--wui-color-${this.color}); - `,ce``}};Zg.styles=[ar,O9e],HA([pe()],Zg.prototype,"variant",void 0),HA([pe()],Zg.prototype,"color",void 0),HA([pe()],Zg.prototype,"align",void 0),Zg=HA([Le("wui-text")],Zg);const D9e=At` + `,ce``}};Zg.styles=[ar,C9e],KA([pe()],Zg.prototype,"variant",void 0),KA([pe()],Zg.prototype,"color",void 0),KA([pe()],Zg.prototype,"align",void 0),Zg=KA([Le("wui-text")],Zg);const S9e=At` - `,$9e=At` + `,I9e=At` - `,B9e=At` + `,T9e=At` -`,L9e=At` +`,R9e=At` - `,U9e=At` + `,k9e=At` - `,F9e=At` + `,M9e=At` -`,j9e=At` +`,N9e=At` -`,z9e=At` +`,P9e=At` - `,H9e=At` + `,O9e=At` @@ -2163,7 +2163,7 @@ ${this._compileErrors().join(` -`,q9e=At` +`,D9e=At` - `,W9e=At` + `,$9e=At` -`,V9e=At``,B9e=At` @@ -2231,7 +2231,7 @@ ${this._compileErrors().join(` - `,G9e=At` + `,L9e=At` - `,K9e=At` + `,U9e=At` @@ -2272,7 +2272,7 @@ ${this._compileErrors().join(` -`,Z9e=At` +`,F9e=At` -`,J9e=At` +`,j9e=At` -`,Y9e=At` +`,z9e=At` -`,Q9e=At` +`,H9e=At` @@ -2358,7 +2358,7 @@ ${this._compileErrors().join(` -`,X9e=At` +`,q9e=At` @@ -2368,7 +2368,7 @@ ${this._compileErrors().join(` -`,e_e=At` +`,W9e=At` @@ -2387,7 +2387,7 @@ ${this._compileErrors().join(` -`,t_e=At` +`,V9e=At` @@ -2404,7 +2404,7 @@ ${this._compileErrors().join(` -`,r_e=Ze` +`,G9e=Ze` :host { display: block; width: var(--local-size); @@ -2415,26 +2415,26 @@ ${this._compileErrors().join(` width: 100%; height: 100%; } -`;var bN=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};const n_e={browser:D9e,dao:$9e,defi:B9e,defiAlt:L9e,eth:U9e,layers:F9e,lock:j9e,login:z9e,network:H9e,nft:q9e,noun:W9e,profile:V9e,system:G9e,coinbase:K9e,onrampCard:Q9e,moonpay:Z9e,stripe:J9e,paypal:Y9e,google:X9e,pencil:e_e,lightbulb:t_e};let Sv=class extends Fe{constructor(){super(...arguments),this.name="browser",this.size="md"}render(){return this.style.cssText=` +`;var EN=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};const K9e={browser:S9e,dao:I9e,defi:T9e,defiAlt:R9e,eth:k9e,layers:M9e,lock:N9e,login:P9e,network:O9e,nft:D9e,noun:$9e,profile:B9e,system:L9e,coinbase:U9e,onrampCard:H9e,moonpay:F9e,stripe:j9e,paypal:z9e,google:q9e,pencil:W9e,lightbulb:V9e};let Av=class extends Fe{constructor(){super(...arguments),this.name="browser",this.size="md"}render(){return this.style.cssText=` --local-size: var(--wui-visual-size-${this.size}); - `,ce`${n_e[this.name]}`}};Sv.styles=[ar,r_e],bN([pe()],Sv.prototype,"name",void 0),bN([pe()],Sv.prototype,"size",void 0),Sv=bN([Le("wui-visual")],Sv);/** + `,ce`${K9e[this.name]}`}};Av.styles=[ar,G9e],EN([pe()],Av.prototype,"name",void 0),EN([pe()],Av.prototype,"size",void 0),Av=EN([Le("wui-visual")],Av);/** * @license * Copyright 2018 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */const gr=r=>r??ys,Rr={getSpacingStyles(r,e){if(Array.isArray(r))return r[e]?`var(--wui-spacing-${r[e]})`:void 0;if(typeof r=="string")return`var(--wui-spacing-${r})`},getFormattedDate(r){return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric"}).format(r)},getHostName(r){return new URL(r).hostname},getTruncateString({string:r,charsStart:e,charsEnd:t,truncate:n}){return r.length<=e+t?r:n==="end"?`${r.substring(0,e)}...`:n==="start"?`...${r.substring(r.length-t)}`:`${r.substring(0,Math.floor(e))}...${r.substring(r.length-Math.floor(t))}`},generateAvatarColors(r){const t=r.toLowerCase().replace(/^0x/iu,"").substring(0,6),n=this.hexToRgb(t),i=getComputedStyle(document.documentElement).getPropertyValue("--w3m-border-radius-master"),o=100-3*Number(i==null?void 0:i.replace("px","")),a=`${o}% ${o}% at 65% 40%`,l=[];for(let u=0;u<5;u+=1){const h=this.tintColor(n,.15*u);l.push(`rgb(${h[0]}, ${h[1]}, ${h[2]})`)}return` + */const gr=r=>r??_s,Tr={getSpacingStyles(r,e){if(Array.isArray(r))return r[e]?`var(--wui-spacing-${r[e]})`:void 0;if(typeof r=="string")return`var(--wui-spacing-${r})`},getFormattedDate(r){return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric"}).format(r)},getHostName(r){return new URL(r).hostname},getTruncateString({string:r,charsStart:e,charsEnd:t,truncate:n}){return r.length<=e+t?r:n==="end"?`${r.substring(0,e)}...`:n==="start"?`...${r.substring(r.length-t)}`:`${r.substring(0,Math.floor(e))}...${r.substring(r.length-Math.floor(t))}`},generateAvatarColors(r){const t=r.toLowerCase().replace(/^0x/iu,"").substring(0,6),n=this.hexToRgb(t),i=getComputedStyle(document.documentElement).getPropertyValue("--w3m-border-radius-master"),o=100-3*Number(i==null?void 0:i.replace("px","")),a=`${o}% ${o}% at 65% 40%`,l=[];for(let u=0;u<5;u+=1){const h=this.tintColor(n,.15*u);l.push(`rgb(${h[0]}, ${h[1]}, ${h[2]})`)}return` --local-color-1: ${l[0]}; --local-color-2: ${l[1]}; --local-color-3: ${l[2]}; --local-color-4: ${l[3]}; --local-color-5: ${l[4]}; --local-radial-circle: ${a} - `},hexToRgb(r){const e=parseInt(r,16),t=e>>16&255,n=e>>8&255,i=e&255;return[t,n,i]},tintColor(r,e){const[t,n,i]=r,s=Math.round(t+(255-t)*e),o=Math.round(n+(255-n)*e),a=Math.round(i+(255-i)*e);return[s,o,a]},isNumber(r){return{number:/^[0-9]+$/u}.number.test(r)},getColorTheme(r){return r||(typeof window<"u"&&window.matchMedia?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":"dark")},splitBalance(r){const e=r.split(".");return e.length===2?[e[0],e[1]]:["0","00"]},roundNumber(r,e,t){return Math.abs(r)>=e?Number(r.toFixed(t)):r},formatNumberToLocalString(r,e=2){return r===void 0?"0.00":typeof r=="number"?r.toLocaleString("en-US",{maximumFractionDigits:e,minimumFractionDigits:e}):parseFloat(r).toLocaleString("en-US",{maximumFractionDigits:e,minimumFractionDigits:e})}},i_e=Ze` + `},hexToRgb(r){const e=parseInt(r,16),t=e>>16&255,n=e>>8&255,i=e&255;return[t,n,i]},tintColor(r,e){const[t,n,i]=r,s=Math.round(t+(255-t)*e),o=Math.round(n+(255-n)*e),a=Math.round(i+(255-i)*e);return[s,o,a]},isNumber(r){return{number:/^[0-9]+$/u}.number.test(r)},getColorTheme(r){return r||(typeof window<"u"&&window.matchMedia?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":"dark")},splitBalance(r){const e=r.split(".");return e.length===2?[e[0],e[1]]:["0","00"]},roundNumber(r,e,t){return Math.abs(r)>=e?Number(r.toFixed(t)):r},formatNumberToLocalString(r,e=2){return r===void 0?"0.00":typeof r=="number"?r.toLocaleString("en-US",{maximumFractionDigits:e,minimumFractionDigits:e}):parseFloat(r).toLocaleString("en-US",{maximumFractionDigits:e,minimumFractionDigits:e})}},Z9e=Ze` :host { display: flex; width: inherit; height: inherit; } -`;var Oc=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let ua=class extends Fe{render(){return this.style.cssText=` +`;var Dc=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let ua=class extends Fe{render(){return this.style.cssText=` flex-direction: ${this.flexDirection}; flex-wrap: ${this.flexWrap}; flex-basis: ${this.flexBasis}; @@ -2445,15 +2445,15 @@ ${this._compileErrors().join(` column-gap: ${this.columnGap&&`var(--wui-spacing-${this.columnGap})`}; row-gap: ${this.rowGap&&`var(--wui-spacing-${this.rowGap})`}; gap: ${this.gap&&`var(--wui-spacing-${this.gap})`}; - padding-top: ${this.padding&&Rr.getSpacingStyles(this.padding,0)}; - padding-right: ${this.padding&&Rr.getSpacingStyles(this.padding,1)}; - padding-bottom: ${this.padding&&Rr.getSpacingStyles(this.padding,2)}; - padding-left: ${this.padding&&Rr.getSpacingStyles(this.padding,3)}; - margin-top: ${this.margin&&Rr.getSpacingStyles(this.margin,0)}; - margin-right: ${this.margin&&Rr.getSpacingStyles(this.margin,1)}; - margin-bottom: ${this.margin&&Rr.getSpacingStyles(this.margin,2)}; - margin-left: ${this.margin&&Rr.getSpacingStyles(this.margin,3)}; - `,ce``}};ua.styles=[ar,i_e],Oc([pe()],ua.prototype,"flexDirection",void 0),Oc([pe()],ua.prototype,"flexWrap",void 0),Oc([pe()],ua.prototype,"flexBasis",void 0),Oc([pe()],ua.prototype,"flexGrow",void 0),Oc([pe()],ua.prototype,"flexShrink",void 0),Oc([pe()],ua.prototype,"alignItems",void 0),Oc([pe()],ua.prototype,"justifyContent",void 0),Oc([pe()],ua.prototype,"columnGap",void 0),Oc([pe()],ua.prototype,"rowGap",void 0),Oc([pe()],ua.prototype,"gap",void 0),Oc([pe()],ua.prototype,"padding",void 0),Oc([pe()],ua.prototype,"margin",void 0),ua=Oc([Le("wui-flex")],ua);const s_e=Ze` + padding-top: ${this.padding&&Tr.getSpacingStyles(this.padding,0)}; + padding-right: ${this.padding&&Tr.getSpacingStyles(this.padding,1)}; + padding-bottom: ${this.padding&&Tr.getSpacingStyles(this.padding,2)}; + padding-left: ${this.padding&&Tr.getSpacingStyles(this.padding,3)}; + margin-top: ${this.margin&&Tr.getSpacingStyles(this.margin,0)}; + margin-right: ${this.margin&&Tr.getSpacingStyles(this.margin,1)}; + margin-bottom: ${this.margin&&Tr.getSpacingStyles(this.margin,2)}; + margin-left: ${this.margin&&Tr.getSpacingStyles(this.margin,3)}; + `,ce``}};ua.styles=[ar,Z9e],Dc([pe()],ua.prototype,"flexDirection",void 0),Dc([pe()],ua.prototype,"flexWrap",void 0),Dc([pe()],ua.prototype,"flexBasis",void 0),Dc([pe()],ua.prototype,"flexGrow",void 0),Dc([pe()],ua.prototype,"flexShrink",void 0),Dc([pe()],ua.prototype,"alignItems",void 0),Dc([pe()],ua.prototype,"justifyContent",void 0),Dc([pe()],ua.prototype,"columnGap",void 0),Dc([pe()],ua.prototype,"rowGap",void 0),Dc([pe()],ua.prototype,"gap",void 0),Dc([pe()],ua.prototype,"padding",void 0),Dc([pe()],ua.prototype,"margin",void 0),ua=Dc([Le("wui-flex")],ua);const J9e=Ze` :host { display: block; width: var(--wui-icon-box-size-xl); @@ -2527,7 +2527,7 @@ ${this._compileErrors().join(` #6ebdea 100% ); } -`;var qA=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Jg=class extends Fe{constructor(){super(...arguments),this.imageSrc=void 0,this.alt=void 0,this.address=void 0}render(){return ce`${this.visualTemplate()}`}visualTemplate(){if(this.imageSrc)return this.dataset.variant="image",ce``;if(this.address){this.dataset.variant="generated";const e=Rr.generateAvatarColors(this.address);return this.style.cssText=e,null}return this.dataset.variant="default",null}};Jg.styles=[ar,s_e],qA([pe()],Jg.prototype,"imageSrc",void 0),qA([pe()],Jg.prototype,"alt",void 0),qA([pe()],Jg.prototype,"address",void 0),Jg=qA([Le("wui-avatar")],Jg);const o_e=Ze` +`;var ZA=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Jg=class extends Fe{constructor(){super(...arguments),this.imageSrc=void 0,this.alt=void 0,this.address=void 0}render(){return ce`${this.visualTemplate()}`}visualTemplate(){if(this.imageSrc)return this.dataset.variant="image",ce``;if(this.address){this.dataset.variant="generated";const e=Tr.generateAvatarColors(this.address);return this.style.cssText=e,null}return this.dataset.variant="default",null}};Jg.styles=[ar,J9e],ZA([pe()],Jg.prototype,"imageSrc",void 0),ZA([pe()],Jg.prototype,"alt",void 0),ZA([pe()],Jg.prototype,"address",void 0),Jg=ZA([Le("wui-avatar")],Jg);const Y9e=Ze` :host { display: inline-flex; justify-content: center; @@ -2549,13 +2549,13 @@ ${this._compileErrors().join(` background-color: color-mix(in srgb, var(--local-bg-value) var(--local-bg-mix), transparent); } } -`;var Md=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Fl=class extends Fe{constructor(){super(...arguments),this.size="md",this.backgroundColor="accent-100",this.iconColor="accent-100",this.background="transparent",this.border=!1,this.borderColor="wui-color-bg-125",this.icon="copy"}render(){const e=this.iconSize||this.size,t=this.size==="lg",n=this.size==="xl",i=t?"12%":"16%",s=t?"xxs":n?"s":"3xl",o=this.background==="gray",a=this.background==="opaque",l=this.backgroundColor==="accent-100"&&a||this.backgroundColor==="success-100"&&a||this.backgroundColor==="error-100"&&a||this.backgroundColor==="inverse-100"&&a;let u=`var(--wui-color-${this.backgroundColor})`;return l?u=`var(--wui-icon-box-bg-${this.backgroundColor})`:o&&(u=`var(--wui-gray-${this.backgroundColor})`),this.style.cssText=` +`;var Nd=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let zl=class extends Fe{constructor(){super(...arguments),this.size="md",this.backgroundColor="accent-100",this.iconColor="accent-100",this.background="transparent",this.border=!1,this.borderColor="wui-color-bg-125",this.icon="copy"}render(){const e=this.iconSize||this.size,t=this.size==="lg",n=this.size==="xl",i=t?"12%":"16%",s=t?"xxs":n?"s":"3xl",o=this.background==="gray",a=this.background==="opaque",l=this.backgroundColor==="accent-100"&&a||this.backgroundColor==="success-100"&&a||this.backgroundColor==="error-100"&&a||this.backgroundColor==="inverse-100"&&a;let u=`var(--wui-color-${this.backgroundColor})`;return l?u=`var(--wui-icon-box-bg-${this.backgroundColor})`:o&&(u=`var(--wui-gray-${this.backgroundColor})`),this.style.cssText=` --local-bg-value: ${u}; --local-bg-mix: ${l||o?"100%":i}; --local-border-radius: var(--wui-border-radius-${s}); --local-size: var(--wui-icon-box-size-${this.size}); --local-border: ${this.borderColor==="wui-color-bg-125"?"2px":"1px"} solid ${this.border?`var(--${this.borderColor})`:"transparent"} - `,ce` `}};Fl.styles=[ar,en,o_e],Md([pe()],Fl.prototype,"size",void 0),Md([pe()],Fl.prototype,"backgroundColor",void 0),Md([pe()],Fl.prototype,"iconColor",void 0),Md([pe()],Fl.prototype,"iconSize",void 0),Md([pe()],Fl.prototype,"background",void 0),Md([pe({type:Boolean})],Fl.prototype,"border",void 0),Md([pe()],Fl.prototype,"borderColor",void 0),Md([pe()],Fl.prototype,"icon",void 0),Fl=Md([Le("wui-icon-box")],Fl);const a_e=Ze` + `,ce` `}};zl.styles=[ar,en,Y9e],Nd([pe()],zl.prototype,"size",void 0),Nd([pe()],zl.prototype,"backgroundColor",void 0),Nd([pe()],zl.prototype,"iconColor",void 0),Nd([pe()],zl.prototype,"iconSize",void 0),Nd([pe()],zl.prototype,"background",void 0),Nd([pe({type:Boolean})],zl.prototype,"border",void 0),Nd([pe()],zl.prototype,"borderColor",void 0),Nd([pe()],zl.prototype,"icon",void 0),zl=Nd([Le("wui-icon-box")],zl);const Q9e=Ze` :host { display: block; } @@ -2658,7 +2658,7 @@ ${this._compileErrors().join(` color: var(--wui-color-fg-175); } } -`;var Lu=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let uc=class extends Fe{constructor(){super(...arguments),this.networkSrc=void 0,this.avatarSrc=void 0,this.balance=void 0,this.isUnsupportedChain=void 0,this.disabled=!1,this.isProfileName=!1,this.address="",this.profileName="",this.charsStart=4,this.charsEnd=6}render(){return ce` +`;var Fu=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let lc=class extends Fe{constructor(){super(...arguments),this.networkSrc=void 0,this.avatarSrc=void 0,this.balance=void 0,this.isUnsupportedChain=void 0,this.disabled=!1,this.isProfileName=!1,this.address="",this.profileName="",this.charsStart=4,this.charsEnd=6}render(){return ce` @@ -2691,7 +2691,7 @@ ${this._compileErrors().join(` `;return ce` ${e} ${this.balance} - `}return null}};uc.styles=[ar,en,a_e],Lu([pe()],uc.prototype,"networkSrc",void 0),Lu([pe()],uc.prototype,"avatarSrc",void 0),Lu([pe()],uc.prototype,"balance",void 0),Lu([pe({type:Boolean})],uc.prototype,"isUnsupportedChain",void 0),Lu([pe({type:Boolean})],uc.prototype,"disabled",void 0),Lu([pe({type:Boolean})],uc.prototype,"isProfileName",void 0),Lu([pe()],uc.prototype,"address",void 0),Lu([pe()],uc.prototype,"profileName",void 0),Lu([pe()],uc.prototype,"charsStart",void 0),Lu([pe()],uc.prototype,"charsEnd",void 0),uc=Lu([Le("wui-account-button")],uc);const c_e=Ze` + `}return null}};lc.styles=[ar,en,Q9e],Fu([pe()],lc.prototype,"networkSrc",void 0),Fu([pe()],lc.prototype,"avatarSrc",void 0),Fu([pe()],lc.prototype,"balance",void 0),Fu([pe({type:Boolean})],lc.prototype,"isUnsupportedChain",void 0),Fu([pe({type:Boolean})],lc.prototype,"disabled",void 0),Fu([pe({type:Boolean})],lc.prototype,"isProfileName",void 0),Fu([pe()],lc.prototype,"address",void 0),Fu([pe()],lc.prototype,"profileName",void 0),Fu([pe()],lc.prototype,"charsStart",void 0),Fu([pe()],lc.prototype,"charsEnd",void 0),lc=Fu([Le("wui-account-button")],lc);const X9e=Ze` :host { position: relative; background-color: var(--wui-gray-glass-002); @@ -2769,7 +2769,7 @@ ${this._compileErrors().join(` border: 2px solid var(--wui-color-bg-base-150, #1e1f1f); padding: 1px; } -`;var Yg=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Jh=class extends Fe{constructor(){super(...arguments),this.size="md",this.name="",this.installed=!1,this.badgeSize="xs"}render(){let e="xxs";return this.size==="lg"?e="m":this.size==="md"?e="xs":e="xxs",this.style.cssText=` +`;var Yg=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Jh=class extends Fe{constructor(){super(...arguments),this.size="md",this.name="",this.installed=!1,this.badgeSize="xs"}render(){let e="xxs";return this.size==="lg"?e="m":this.size==="md"?e="xs":e="xxs",this.style.cssText=` --local-border-radius: var(--wui-border-radius-${e}); --local-size: var(--wui-wallet-image-size-${this.size}); `,this.walletIcon&&(this.dataset.walletIcon=this.walletIcon),ce` @@ -2784,7 +2784,7 @@ ${this._compileErrors().join(` size="inherit" color="inherit" name="walletPlaceholder" - >`}};Jh.styles=[ar,c_e],Yg([pe()],Jh.prototype,"size",void 0),Yg([pe()],Jh.prototype,"name",void 0),Yg([pe()],Jh.prototype,"imageSrc",void 0),Yg([pe()],Jh.prototype,"walletIcon",void 0),Yg([pe({type:Boolean})],Jh.prototype,"installed",void 0),Yg([pe()],Jh.prototype,"badgeSize",void 0),Jh=Yg([Le("wui-wallet-image")],Jh);const l_e=Ze` + >`}};Jh.styles=[ar,X9e],Yg([pe()],Jh.prototype,"size",void 0),Yg([pe()],Jh.prototype,"name",void 0),Yg([pe()],Jh.prototype,"imageSrc",void 0),Yg([pe()],Jh.prototype,"walletIcon",void 0),Yg([pe({type:Boolean})],Jh.prototype,"installed",void 0),Yg([pe()],Jh.prototype,"badgeSize",void 0),Jh=Yg([Le("wui-wallet-image")],Jh);const e_e=Ze` :host { position: relative; border-radius: var(--wui-border-radius-xxs); @@ -2829,14 +2829,14 @@ ${this._compileErrors().join(` z-index: 2; display: flex; } -`;var Dee=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};const wN=4;let J4=class extends Fe{constructor(){super(...arguments),this.walletImages=[]}render(){const e=this.walletImages.lengthce` +`;var Iee=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};const AN=4;let V4=class extends Fe{constructor(){super(...arguments),this.walletImages=[]}render(){const e=this.walletImages.lengthce` `)} - ${e?[...Array(wN-this.walletImages.length)].map(()=>ce` `):null} + ${e?[...Array(AN-this.walletImages.length)].map(()=>ce` `):null} - `}};J4.styles=[ar,l_e],Dee([pe({type:Array})],J4.prototype,"walletImages",void 0),J4=Dee([Le("wui-all-wallets-image")],J4);const u_e=Ze` + `}};V4.styles=[ar,e_e],Iee([pe({type:Array})],V4.prototype,"walletImages",void 0),V4=Iee([Le("wui-all-wallets-image")],V4);const t_e=Ze` :host { width: var(--local-width); position: relative; @@ -2936,12 +2936,12 @@ ${this._compileErrors().join(` transform: translate(-50%, -50%); opacity: var(--local-opacity-000); } -`;var Yh=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};const h_e={xs:"small-600",sm:"paragraph-600",md:"small-600",mdl:"small-600",lg:"paragraph-600"};let Dc=class extends Fe{constructor(){super(...arguments),this.size="md",this.disabled=!1,this.fullWidth=!1,this.loading=!1,this.variant="fill",this.hasIconLeft=!1,this.hasIconRight=!1,this.borderRadius="m"}render(){this.style.cssText=` +`;var Yh=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};const r_e={xs:"small-600",sm:"paragraph-600",md:"small-600",mdl:"small-600",lg:"paragraph-600"};let $c=class extends Fe{constructor(){super(...arguments),this.size="md",this.disabled=!1,this.fullWidth=!1,this.loading=!1,this.variant="fill",this.hasIconLeft=!1,this.hasIconRight=!1,this.borderRadius="m"}render(){this.style.cssText=` --local-width: ${this.fullWidth?"100%":"auto"}; --local-opacity-100: ${this.loading?0:1}; --local-opacity-000: ${this.loading?1:0}; --local-border-radius: var(--wui-border-radius-${this.borderRadius}); - `;const e=this.textVariant??h_e[this.size];return ce` + `;const e=this.textVariant??r_e[this.size];return ce` - `}handleSlotLeftChange(){this.hasIconLeft=!0}handleSlotRightChange(){this.hasIconRight=!0}loadingTemplate(){return this.loading?ce``:ce``}};Dc.styles=[ar,en,u_e],Yh([pe()],Dc.prototype,"size",void 0),Yh([pe({type:Boolean})],Dc.prototype,"disabled",void 0),Yh([pe({type:Boolean})],Dc.prototype,"fullWidth",void 0),Yh([pe({type:Boolean})],Dc.prototype,"loading",void 0),Yh([pe()],Dc.prototype,"variant",void 0),Yh([pe({type:Boolean})],Dc.prototype,"hasIconLeft",void 0),Yh([pe({type:Boolean})],Dc.prototype,"hasIconRight",void 0),Yh([pe()],Dc.prototype,"borderRadius",void 0),Yh([pe()],Dc.prototype,"textVariant",void 0),Dc=Yh([Le("wui-button")],Dc);const $ee=At` + `}handleSlotLeftChange(){this.hasIconLeft=!0}handleSlotRightChange(){this.hasIconRight=!0}loadingTemplate(){return this.loading?ce``:ce``}};$c.styles=[ar,en,t_e],Yh([pe()],$c.prototype,"size",void 0),Yh([pe({type:Boolean})],$c.prototype,"disabled",void 0),Yh([pe({type:Boolean})],$c.prototype,"fullWidth",void 0),Yh([pe({type:Boolean})],$c.prototype,"loading",void 0),Yh([pe()],$c.prototype,"variant",void 0),Yh([pe({type:Boolean})],$c.prototype,"hasIconLeft",void 0),Yh([pe({type:Boolean})],$c.prototype,"hasIconRight",void 0),Yh([pe()],$c.prototype,"borderRadius",void 0),Yh([pe()],$c.prototype,"textVariant",void 0),$c=Yh([Le("wui-button")],$c);const Tee=At` -`,f_e=Ze` +`,n_e=Ze` :host { display: flex; flex-direction: column; @@ -2991,7 +2991,7 @@ ${this._compileErrors().join(` stroke: var(--wui-gray-glass-010); stroke-width: 1px; } -`;var Bee=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Y4=class extends Fe{constructor(){super(...arguments),this.type="wallet"}render(){return ce` +`;var Ree=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let G4=class extends Fe{constructor(){super(...arguments),this.type="wallet"}render(){return ce` ${this.shimmerTemplate()} `}shimmerTemplate(){return this.type==="network"?ce` - ${$ee}`:ce``}};Y4.styles=[ar,en,f_e],Bee([pe()],Y4.prototype,"type",void 0),Y4=Bee([Le("wui-card-select-loader")],Y4);const d_e=At` + ${Tee}`:ce``}};G4.styles=[ar,en,n_e],Ree([pe()],G4.prototype,"type",void 0),G4=Ree([Le("wui-card-select-loader")],G4);const i_e=At` -`,p_e=At` +`,s_e=At` -`,g_e=Ze` +`,o_e=Ze` :host { position: relative; border-radius: inherit; @@ -3048,13 +3048,13 @@ ${this._compileErrors().join(` width: var(--local-icon-size); height: var(--local-icon-size); } -`;var Q4=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Gp=class extends Fe{constructor(){super(...arguments),this.size="md",this.name="uknown",this.selected=!1}render(){const e={sm:d_e,md:$ee,lg:p_e};return this.style.cssText=` +`;var K4=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let qp=class extends Fe{constructor(){super(...arguments),this.size="md",this.name="uknown",this.selected=!1}render(){const e={sm:i_e,md:Tee,lg:s_e};return this.style.cssText=` --local-stroke: ${this.selected?"var(--wui-color-accent-100)":"var(--wui-gray-glass-010)"}; --local-path: var(--wui-path-network-${this.size}); --local-width: var(--wui-width-network-${this.size}); --local-height: var(--wui-height-network-${this.size}); --local-icon-size: var(--wui-icon-size-network-${this.size}); - `,ce`${this.templateVisual()} ${e[this.size]}`}templateVisual(){return this.imageSrc?ce``:ce``}};Gp.styles=[ar,g_e],Q4([pe()],Gp.prototype,"size",void 0),Q4([pe()],Gp.prototype,"name",void 0),Q4([pe()],Gp.prototype,"imageSrc",void 0),Q4([pe({type:Boolean})],Gp.prototype,"selected",void 0),Gp=Q4([Le("wui-network-image")],Gp);const m_e=Ze` + `,ce`${this.templateVisual()} ${e[this.size]}`}templateVisual(){return this.imageSrc?ce``:ce``}};qp.styles=[ar,o_e],K4([pe()],qp.prototype,"size",void 0),K4([pe()],qp.prototype,"name",void 0),K4([pe()],qp.prototype,"imageSrc",void 0),K4([pe({type:Boolean})],qp.prototype,"selected",void 0),qp=K4([Le("wui-network-image")],qp);const a_e=Ze` button { flex-direction: column; width: 76px; @@ -3090,7 +3090,7 @@ ${this._compileErrors().join(` [data-selected='true']:active:enabled { background-color: var(--wui-accent-glass-010); } -`;var Qg=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Qh=class extends Fe{constructor(){super(...arguments),this.name="Unknown",this.type="wallet",this.imageSrc=void 0,this.disabled=!1,this.selected=!1,this.installed=!1}render(){return ce` +`;var Qg=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Qh=class extends Fe{constructor(){super(...arguments),this.name="Unknown",this.type="wallet",this.imageSrc=void 0,this.disabled=!1,this.selected=!1,this.installed=!1}render(){return ce`
@@ -3968,7 +3968,7 @@ ${this._compileErrors().join(` ?border=${!0} borderColor="wui-color-bg-125" > - `:null}getDirectionIcon(){switch(this.direction){case"in":return"arrowBottom";case"out":return"arrowTop";default:return}}getIcon(){return this.onlyDirectionIcon?this.getDirectionIcon():this.type==="trade"?"swapHorizontalBold":this.type==="approve"?"checkmark":this.type==="cancel"?"close":this.getDirectionIcon()}getStatusColor(){switch(this.status){case"confirmed":return"success-100";case"failed":return"error-100";case"pending":return"inverse-100";default:return"accent-100"}}};tf.styles=[$_e],im([pe()],tf.prototype,"type",void 0),im([pe()],tf.prototype,"status",void 0),im([pe()],tf.prototype,"direction",void 0),im([pe({type:Boolean})],tf.prototype,"onlyDirectionIcon",void 0),im([pe({type:Array})],tf.prototype,"images",void 0),im([pe({type:Object})],tf.prototype,"secondImage",void 0),tf=im([Le("wui-transaction-visual")],tf);const B_e=Ze` + `:null}getDirectionIcon(){switch(this.direction){case"in":return"arrowBottom";case"out":return"arrowTop";default:return}}getIcon(){return this.onlyDirectionIcon?this.getDirectionIcon():this.type==="trade"?"swapHorizontalBold":this.type==="approve"?"checkmark":this.type==="cancel"?"close":this.getDirectionIcon()}getStatusColor(){switch(this.status){case"confirmed":return"success-100";case"failed":return"error-100";case"pending":return"inverse-100";default:return"accent-100"}}};tf.styles=[I_e],im([pe()],tf.prototype,"type",void 0),im([pe()],tf.prototype,"status",void 0),im([pe()],tf.prototype,"direction",void 0),im([pe({type:Boolean})],tf.prototype,"onlyDirectionIcon",void 0),im([pe({type:Array})],tf.prototype,"images",void 0),im([pe({type:Object})],tf.prototype,"secondImage",void 0),tf=im([Le("wui-transaction-visual")],tf);const T_e=Ze` :host > wui-flex:first-child { align-items: center; column-gap: var(--wui-spacing-s); @@ -4011,7 +4011,7 @@ ${this._compileErrors().join(` -webkit-box-orient: vertical; -webkit-line-clamp: 1; } -`;var Fu=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let hc=class extends Fe{constructor(){super(...arguments),this.type="approve",this.onlyDirectionIcon=!1,this.images=[],this.price=[],this.amount=[],this.symbol=[]}render(){return ce` +`;var zu=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let uc=class extends Fe{constructor(){super(...arguments),this.type="approve",this.onlyDirectionIcon=!1,this.images=[],this.price=[],this.amount=[],this.symbol=[]}render(){return ce` - ${EN[this.type]||this.type} + ${RN[this.type]||this.type} ${this.templateDescription()} ${this.templateSecondDescription()} @@ -4039,7 +4039,7 @@ ${this._compileErrors().join(` ${e} - `:null}};hc.styles=[ar,B_e],Fu([pe()],hc.prototype,"type",void 0),Fu([pe({type:Array})],hc.prototype,"descriptions",void 0),Fu([pe()],hc.prototype,"date",void 0),Fu([pe({type:Boolean})],hc.prototype,"onlyDirectionIcon",void 0),Fu([pe()],hc.prototype,"status",void 0),Fu([pe()],hc.prototype,"direction",void 0),Fu([pe({type:Array})],hc.prototype,"images",void 0),Fu([pe({type:Array})],hc.prototype,"price",void 0),Fu([pe({type:Array})],hc.prototype,"amount",void 0),Fu([pe({type:Array})],hc.prototype,"symbol",void 0),hc=Fu([Le("wui-transaction-list-item")],hc);const L_e=Ze` + `:null}};uc.styles=[ar,T_e],zu([pe()],uc.prototype,"type",void 0),zu([pe({type:Array})],uc.prototype,"descriptions",void 0),zu([pe()],uc.prototype,"date",void 0),zu([pe({type:Boolean})],uc.prototype,"onlyDirectionIcon",void 0),zu([pe()],uc.prototype,"status",void 0),zu([pe()],uc.prototype,"direction",void 0),zu([pe({type:Array})],uc.prototype,"images",void 0),zu([pe({type:Array})],uc.prototype,"price",void 0),zu([pe({type:Array})],uc.prototype,"amount",void 0),zu([pe({type:Array})],uc.prototype,"symbol",void 0),uc=zu([Le("wui-transaction-list-item")],uc);const R_e=Ze` :host > wui-flex:first-child { column-gap: var(--wui-spacing-s); padding: 7px var(--wui-spacing-l) 7px var(--wui-spacing-xs); @@ -4050,7 +4050,7 @@ ${this._compileErrors().join(` display: flex; flex: 1; } -`;var U_e=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let ZA=class extends Fe{render(){return ce` +`;var k_e=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let eC=class extends Fe{render(){return ce` @@ -4059,7 +4059,7 @@ ${this._compileErrors().join(` - `}};ZA.styles=[ar,L_e],ZA=U_e([Le("wui-transaction-list-item-loader")],ZA);const F_e=Ze` + `}};eC.styles=[ar,R_e],eC=k_e([Le("wui-transaction-list-item-loader")],eC);const M_e=Ze` :host { display: flex; justify-content: center; @@ -4100,11 +4100,11 @@ ${this._compileErrors().join(` :host([data-size='lg']) > wui-text { transform: translateY(2%); } -`;var AN=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let kv=class extends Fe{constructor(){super(...arguments),this.variant="main",this.size="lg"}render(){this.dataset.variant=this.variant,this.dataset.size=this.size;const e=this.size==="md"?"mini-700":"micro-700";return ce` +`;var kN=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Tv=class extends Fe{constructor(){super(...arguments),this.variant="main",this.size="lg"}render(){this.dataset.variant=this.variant,this.dataset.size=this.size;const e=this.size==="md"?"mini-700":"micro-700";return ce` - `}};kv.styles=[ar,F_e],AN([pe()],kv.prototype,"variant",void 0),AN([pe()],kv.prototype,"size",void 0),kv=AN([Le("wui-tag")],kv);const j_e=Ze` + `}};Tv.styles=[ar,M_e],kN([pe()],Tv.prototype,"variant",void 0),kN([pe()],Tv.prototype,"size",void 0),Tv=kN([Le("wui-tag")],Tv);const N_e=Ze` button { column-gap: var(--wui-spacing-s); padding: 7px var(--wui-spacing-l) 7px var(--wui-spacing-xs); @@ -4132,7 +4132,7 @@ ${this._compileErrors().join(` background-color: var(--wui-gray-glass-010); color: var(--wui-color-fg-300); } -`;var ju=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let fc=class extends Fe{constructor(){super(...arguments),this.walletImages=[],this.imageSrc="",this.name="",this.installed=!1,this.disabled=!1,this.showAllWallets=!1}render(){return ce` +`;var Hu=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let hc=class extends Fe{constructor(){super(...arguments),this.walletImages=[],this.imageSrc="",this.name="",this.installed=!1,this.disabled=!1,this.showAllWallets=!1}render(){return ce` - `}};Mv.styles=[ar,en,H_e],CN([pe()],Mv.prototype,"logo",void 0),CN([pe({type:Boolean})],Mv.prototype,"disabled",void 0),Mv=CN([Le("wui-logo-select")],Mv);const q_e=Ze` + `}};Rv.styles=[ar,en,O_e],MN([pe()],Rv.prototype,"logo",void 0),MN([pe({type:Boolean})],Rv.prototype,"disabled",void 0),Rv=MN([Le("wui-logo-select")],Rv);const D_e=Ze` :host { display: block; } @@ -4211,7 +4211,7 @@ ${this._compileErrors().join(` height: 24px; box-shadow: 0 0 0 2px var(--wui-gray-glass-005); } -`;var JA=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let sm=class extends Fe{constructor(){super(...arguments),this.imageSrc=void 0,this.isUnsupportedChain=void 0,this.disabled=!1}render(){return ce` +`;var tC=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let sm=class extends Fe{constructor(){super(...arguments),this.imageSrc=void 0,this.isUnsupportedChain=void 0,this.disabled=!1}render(){return ce` - `})}firstUpdated(){this.shadowRoot&&this.isDense&&(this.buttons=[...this.shadowRoot.querySelectorAll("button")],setTimeout(()=>{this.animateTabs(0,!0)},0))}iconTemplate(e){return e.icon?ce``:null}onTabClick(e){this.buttons&&this.animateTabs(e,!1),this.activeTab=e,this.onTabChange(e)}animateTabs(e,t){const n=this.buttons[this.activeTab],i=this.buttons[e],s=n==null?void 0:n.querySelector("wui-text"),o=i==null?void 0:i.querySelector("wui-text"),a=i==null?void 0:i.getBoundingClientRect(),l=o==null?void 0:o.getBoundingClientRect();n&&s&&!t&&e!==this.activeTab&&(s.animate([{opacity:0}],{duration:50,easing:"ease",fill:"forwards"}),n.animate([{width:"34px"}],{duration:500,easing:"ease",fill:"forwards"})),i&&a&&l&&o&&(e!==this.activeTab||t)&&(this.localTabWidth=`${Math.round(a.width+l.width)+6}px`,i.animate([{width:`${a.width+l.width}px`}],{duration:t?0:500,fill:"forwards",easing:"ease"}),o.animate([{opacity:1}],{duration:t?0:125,delay:t?0:200,fill:"forwards",easing:"ease"}))}};zu.styles=[ar,en,zEe],Xp([pe({type:Array})],zu.prototype,"tabs",void 0),Xp([pe()],zu.prototype,"onTabChange",void 0),Xp([pe({type:Array})],zu.prototype,"buttons",void 0),Xp([pe({type:Boolean})],zu.prototype,"disabled",void 0),Xp([pe()],zu.prototype,"localTabWidth",void 0),Xp([Oe()],zu.prototype,"activeTab",void 0),Xp([Oe()],zu.prototype,"isDense",void 0),zu=Xp([Le("wui-tabs")],zu);const HEe=Ze` + `})}firstUpdated(){this.shadowRoot&&this.isDense&&(this.buttons=[...this.shadowRoot.querySelectorAll("button")],setTimeout(()=>{this.animateTabs(0,!0)},0))}iconTemplate(e){return e.icon?ce``:null}onTabClick(e){this.buttons&&this.animateTabs(e,!1),this.activeTab=e,this.onTabChange(e)}animateTabs(e,t){const n=this.buttons[this.activeTab],i=this.buttons[e],s=n==null?void 0:n.querySelector("wui-text"),o=i==null?void 0:i.querySelector("wui-text"),a=i==null?void 0:i.getBoundingClientRect(),l=o==null?void 0:o.getBoundingClientRect();n&&s&&!t&&e!==this.activeTab&&(s.animate([{opacity:0}],{duration:50,easing:"ease",fill:"forwards"}),n.animate([{width:"34px"}],{duration:500,easing:"ease",fill:"forwards"})),i&&a&&l&&o&&(e!==this.activeTab||t)&&(this.localTabWidth=`${Math.round(a.width+l.width)+6}px`,i.animate([{width:`${a.width+l.width}px`}],{duration:t?0:500,fill:"forwards",easing:"ease"}),o.animate([{opacity:1}],{duration:t?0:125,delay:t?0:200,fill:"forwards",easing:"ease"}))}};qu.styles=[ar,en,PEe],Jp([pe({type:Array})],qu.prototype,"tabs",void 0),Jp([pe()],qu.prototype,"onTabChange",void 0),Jp([pe({type:Array})],qu.prototype,"buttons",void 0),Jp([pe({type:Boolean})],qu.prototype,"disabled",void 0),Jp([pe()],qu.prototype,"localTabWidth",void 0),Jp([Oe()],qu.prototype,"activeTab",void 0),Jp([Oe()],qu.prototype,"isDense",void 0),qu=Jp([Le("wui-tabs")],qu);const OEe=Ze` :host { display: block; } @@ -4514,7 +4514,7 @@ Minimum version required to store current data is: `+s+`. border-radius: var(--wui-border-radius-s); box-shadow: inset 0 0 0 1px var(--wui-gray-glass-010); } -`;var jN=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Bv=class extends Fe{constructor(){super(...arguments),this.text=""}render(){return ce` +`;var KN=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Dv=class extends Fe{constructor(){super(...arguments),this.text=""}render(){return ce` - `}onMouseEnter(){var t;const e=(t=this.shadowRoot)==null?void 0:t.querySelector("wui-tooltip");e&&(e.style.display="flex",e==null||e.animate([{opacity:0},{opacity:1}],{fill:"forwards",easing:"ease",duration:250}))}onMouseLeave(){var t;const e=(t=this.shadowRoot)==null?void 0:t.querySelector("wui-tooltip");e&&(e.style.display="none",e==null||e.animate([{opacity:1},{opacity:0}],{fill:"forwards",easing:"ease",duration:200}))}};Lv.styles=[ar,en,WEe],zN([pe()],Lv.prototype,"text",void 0),zN([pe()],Lv.prototype,"icon",void 0),Lv=zN([Le("wui-tooltip-select")],Lv);const VEe=Ze` + `}onMouseEnter(){var t;const e=(t=this.shadowRoot)==null?void 0:t.querySelector("wui-tooltip");e&&(e.style.display="flex",e==null||e.animate([{opacity:0},{opacity:1}],{fill:"forwards",easing:"ease",duration:250}))}onMouseLeave(){var t;const e=(t=this.shadowRoot)==null?void 0:t.querySelector("wui-tooltip");e&&(e.style.display="none",e==null||e.animate([{opacity:1},{opacity:0}],{fill:"forwards",easing:"ease",duration:200}))}};$v.styles=[ar,en,$Ee],ZN([pe()],$v.prototype,"text",void 0),ZN([pe()],$v.prototype,"icon",void 0),$v=ZN([Le("wui-tooltip-select")],$v);const BEe=Ze` :host > wui-flex { cursor: pointer; display: flex; @@ -4681,7 +4681,7 @@ Minimum version required to store current data is: `+s+`. width: 36px; height: 36px; } -`;var Uv=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Pd=class extends Fe{constructor(){super(...arguments),this.imageSrc=void 0,this.name=void 0,this.symbol=void 0,this.price=void 0,this.amount=void 0}render(){var t;const e=(t=Bo.multiply(this.price,this.amount))==null?void 0:t.toFixed(3);return ce` +`;var Bv=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Od=class extends Fe{constructor(){super(...arguments),this.imageSrc=void 0,this.name=void 0,this.symbol=void 0,this.price=void 0,this.amount=void 0}render(){var t;const e=(t=Lo.multiply(this.price,this.amount))==null?void 0:t.toFixed(3);return ce` ${this.visualTemplate()} @@ -4689,19 +4689,19 @@ Minimum version required to store current data is: `+s+`. ${this.name} ${e?ce` - $${Rr.formatNumberToLocalString(e,3)} + $${Tr.formatNumberToLocalString(e,3)} `:null} ${this.symbol} ${this.amount&&ce`${Rr.formatNumberToLocalString(this.amount,4)}${Tr.formatNumberToLocalString(this.amount,4)}`} - `}visualTemplate(){return this.imageSrc?ce``:null}};Pd.styles=[ar,en,VEe],Uv([pe()],Pd.prototype,"imageSrc",void 0),Uv([pe()],Pd.prototype,"name",void 0),Uv([pe()],Pd.prototype,"symbol",void 0),Uv([pe()],Pd.prototype,"price",void 0),Uv([pe()],Pd.prototype,"amount",void 0),Pd=Uv([Le("wui-token-list-item")],Pd);const GEe=Ze` + `}visualTemplate(){return this.imageSrc?ce``:null}};Od.styles=[ar,en,BEe],Bv([pe()],Od.prototype,"imageSrc",void 0),Bv([pe()],Od.prototype,"name",void 0),Bv([pe()],Od.prototype,"symbol",void 0),Bv([pe()],Od.prototype,"price",void 0),Bv([pe()],Od.prototype,"amount",void 0),Od=Bv([Le("wui-token-list-item")],Od);const LEe=Ze` :host { display: flex; justify-content: center; @@ -4717,12 +4717,12 @@ Minimum version required to store current data is: `+s+`. width: 32px; height: 32px; } -`;var cC=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let lm=class extends Fe{render(){return this.style.cssText=`--local-border-radius: ${this.borderRadiusFull?"1000px":"20px"};`,ce`${this.templateVisual()}`}templateVisual(){return this.imageSrc?ce``:ce`=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let lm=class extends Fe{render(){return this.style.cssText=`--local-border-radius: ${this.borderRadiusFull?"1000px":"20px"};`,ce`${this.templateVisual()}`}templateVisual(){return this.imageSrc?ce``:ce``}};lm.styles=[ar,GEe],cC([pe()],lm.prototype,"imageSrc",void 0),cC([pe()],lm.prototype,"alt",void 0),cC([pe({type:Boolean})],lm.prototype,"borderRadiusFull",void 0),lm=cC([Le("wui-visual-thumbnail")],lm);const KEe=Ze` + >`}};lm.styles=[ar,LEe],dC([pe()],lm.prototype,"imageSrc",void 0),dC([pe()],lm.prototype,"alt",void 0),dC([pe({type:Boolean})],lm.prototype,"borderRadiusFull",void 0),lm=dC([Le("wui-visual-thumbnail")],lm);const UEe=Ze` :host { display: block; } @@ -4745,7 +4745,7 @@ Minimum version required to store current data is: `+s+`. button:active { background-color: var(--wui-accent-glass-020) !important; } -`;var lC=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let um=class extends Fe{constructor(){super(...arguments),this.label="",this.description="",this.icon="wallet"}render(){return ce` +`;var pC=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let um=class extends Fe{constructor(){super(...arguments),this.label="",this.description="",this.icon="wallet"}render(){return ce` - `}};um.styles=[ar,en,KEe],lC([pe()],um.prototype,"label",void 0),lC([pe()],um.prototype,"description",void 0),lC([pe()],um.prototype,"icon",void 0),um=lC([Le("wui-notice-card")],um);const ZEe=Ze` + `}};um.styles=[ar,en,UEe],pC([pe()],um.prototype,"label",void 0),pC([pe()],um.prototype,"description",void 0),pC([pe()],um.prototype,"icon",void 0),um=pC([Le("wui-notice-card")],um);const FEe=Ze` button { height: auto; position: relative; @@ -4805,14 +4805,14 @@ Minimum version required to store current data is: `+s+`. overflow-x: auto; overflow-wrap: anywhere; } -`;var HN=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};const qN=100;let Fv=class extends Fe{constructor(){super(...arguments),this.textTitle="",this.overflowedContent="",this.toggled=!1,this.enableAccordion=!1,this.scrollElement=void 0,this.scrollHeightElement=0}updated(e){super.updated(e),(e.has("textTitle")||e.has("overflowedContent"))&&setTimeout(()=>{this.checkHeight()},1)}checkHeight(){this.updateComplete.then(()=>{var n,i;const e=(n=this.shadowRoot)==null?void 0:n.querySelector(".heightContent"),t=(i=this.shadowRoot)==null?void 0:i.querySelector(".textContent");if(e&&t){this.scrollElement=e;const s=t==null?void 0:t.scrollHeight;s&&s>qN&&(this.enableAccordion=!0,this.scrollHeightElement=s,this.requestUpdate())}})}render(){return ce` +`;var JN=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};const YN=100;let Lv=class extends Fe{constructor(){super(...arguments),this.textTitle="",this.overflowedContent="",this.toggled=!1,this.enableAccordion=!1,this.scrollElement=void 0,this.scrollHeightElement=0}updated(e){super.updated(e),(e.has("textTitle")||e.has("overflowedContent"))&&setTimeout(()=>{this.checkHeight()},1)}checkHeight(){this.updateComplete.then(()=>{var n,i;const e=(n=this.shadowRoot)==null?void 0:n.querySelector(".heightContent"),t=(i=this.shadowRoot)==null?void 0:i.querySelector(".textContent");if(e&&t){this.scrollElement=e;const s=t==null?void 0:t.scrollHeight;s&&s>YN&&(this.enableAccordion=!0,this.scrollHeightElement=s,this.requestUpdate())}})}render(){return ce` - `}onClick(){var t;const e=(t=this.shadowRoot)==null?void 0:t.querySelector("wui-icon");this.enableAccordion&&(this.toggled=!this.toggled,this.requestUpdate(),this.scrollElement&&this.scrollElement.animate([{maxHeight:this.toggled?`${qN}px`:`${this.scrollHeightElement}px`},{maxHeight:this.toggled?`${this.scrollHeightElement}px`:`${qN}px`}],{duration:300,fill:"forwards",easing:"ease"}),e&&e.animate([{transform:this.toggled?"rotate(0deg)":"rotate(180deg)"},{transform:this.toggled?"rotate(180deg)":"rotate(0deg)"}],{duration:300,fill:"forwards",easing:"ease"}))}chevronTemplate(){return this.enableAccordion?ce` `:null}};Fv.styles=[ar,en,ZEe],HN([pe()],Fv.prototype,"textTitle",void 0),HN([pe()],Fv.prototype,"overflowedContent",void 0),Fv=HN([Le("wui-list-accordion")],Fv);const JEe=Ze` + `}onClick(){var t;const e=(t=this.shadowRoot)==null?void 0:t.querySelector("wui-icon");this.enableAccordion&&(this.toggled=!this.toggled,this.requestUpdate(),this.scrollElement&&this.scrollElement.animate([{maxHeight:this.toggled?`${YN}px`:`${this.scrollHeightElement}px`},{maxHeight:this.toggled?`${this.scrollHeightElement}px`:`${YN}px`}],{duration:300,fill:"forwards",easing:"ease"}),e&&e.animate([{transform:this.toggled?"rotate(0deg)":"rotate(180deg)"},{transform:this.toggled?"rotate(180deg)":"rotate(0deg)"}],{duration:300,fill:"forwards",easing:"ease"}))}chevronTemplate(){return this.enableAccordion?ce` `:null}};Lv.styles=[ar,en,FEe],JN([pe()],Lv.prototype,"textTitle",void 0),JN([pe()],Lv.prototype,"overflowedContent",void 0),Lv=JN([Le("wui-list-accordion")],Lv);const jEe=Ze` :host { display: flex; column-gap: var(--wui-spacing-s); @@ -4843,14 +4843,14 @@ Minimum version required to store current data is: `+s+`. width: var(--wui-icon-size-lg); height: var(--wui-icon-size-lg); } -`;var uC=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let hm=class extends Fe{constructor(){super(...arguments),this.imageSrc=void 0,this.textTitle="",this.textValue=void 0}render(){return ce` +`;var gC=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let hm=class extends Fe{constructor(){super(...arguments),this.imageSrc=void 0,this.textTitle="",this.textValue=void 0}render(){return ce` ${this.textTitle} ${this.templateContent()} - `}templateContent(){return this.imageSrc?ce``:this.textValue?ce` ${this.textValue} `:ce``}};hm.styles=[ar,en,JEe],uC([pe()],hm.prototype,"imageSrc",void 0),uC([pe()],hm.prototype,"textTitle",void 0),uC([pe()],hm.prototype,"textValue",void 0),hm=uC([Le("wui-list-content")],hm);const YEe=Ze` + `}templateContent(){return this.imageSrc?ce``:this.textValue?ce` ${this.textValue} `:ce``}};hm.styles=[ar,en,jEe],gC([pe()],hm.prototype,"imageSrc",void 0),gC([pe()],hm.prototype,"textTitle",void 0),gC([pe()],hm.prototype,"textValue",void 0),hm=gC([Le("wui-list-content")],hm);const zEe=Ze` button { column-gap: var(--wui-spacing-s); padding: 7px var(--wui-spacing-l) 7px var(--wui-spacing-xs); @@ -4883,7 +4883,7 @@ Minimum version required to store current data is: `+s+`. background-color: var(--wui-gray-glass-010); color: var(--wui-color-fg-300); } -`;var c6=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let e1=class extends Fe{constructor(){super(...arguments),this.imageSrc="",this.name="",this.disabled=!1,this.transparent=!1}render(){return ce` +`;var i6=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Yp=class extends Fe{constructor(){super(...arguments),this.imageSrc="",this.name="",this.disabled=!1,this.transparent=!1}render(){return ce` `}};l6.styles=[ar,en,tAe],cte([pe()],l6.prototype,"text",void 0),l6=cte([Le("wui-promo")],l6);const rAe=Ze` + `}};s6.styles=[ar,en,VEe],Xee([pe()],s6.prototype,"text",void 0),s6=Xee([Le("wui-promo")],s6);const GEe=Ze` span { font-weight: 500; font-size: 40px; @@ -5136,7 +5136,7 @@ Minimum version required to store current data is: `+s+`. .pennies { color: var(--wui-color-fg-200); } -`;var WN=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let zv=class extends Fe{constructor(){super(...arguments),this.dollars="0",this.pennies="00"}render(){return ce`$${this.dollars}.${this.pennies}`}};zv.styles=[ar,rAe],WN([pe()],zv.prototype,"dollars",void 0),WN([pe()],zv.prototype,"pennies",void 0),zv=WN([Le("wui-balance")],zv);const nAe=Ze` +`;var QN=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Fv=class extends Fe{constructor(){super(...arguments),this.dollars="0",this.pennies="00"}render(){return ce`$${this.dollars}.${this.pennies}`}};Fv.styles=[ar,GEe],QN([pe()],Fv.prototype,"dollars",void 0),QN([pe()],Fv.prototype,"pennies",void 0),Fv=QN([Le("wui-balance")],Fv);const KEe=Ze` button { background-color: var(--wui-gray-glass-002); border-radius: var(--wui-border-radius-3xl); @@ -5170,7 +5170,7 @@ Minimum version required to store current data is: `+s+`. outline: 2px solid var(--wui-color-bg-200); background-color: var(--wui-color-bg-250); } -`;var Hv=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Dd=class extends Fe{constructor(){super(...arguments),this.networkSrc=void 0,this.avatarSrc=void 0,this.isProfileName=!1,this.address="",this.icon="chevronBottom"}render(){return ce` - `}};$d.styles=[ar,en,iAe],qv([pe()],$d.prototype,"variant",void 0),qv([pe()],$d.prototype,"imageSrc",void 0),qv([pe({type:Boolean})],$d.prototype,"disabled",void 0),qv([pe()],$d.prototype,"icon",void 0),qv([pe()],$d.prototype,"text",void 0),$d=qv([Le("wui-chip-button")],$d);const sAe=Ze` + `}};Bd.styles=[ar,en,ZEe],zv([pe()],Bd.prototype,"variant",void 0),zv([pe()],Bd.prototype,"imageSrc",void 0),zv([pe({type:Boolean})],Bd.prototype,"disabled",void 0),zv([pe()],Bd.prototype,"icon",void 0),zv([pe()],Bd.prototype,"text",void 0),Bd=zv([Le("wui-chip-button")],Bd);const JEe=Ze` button { display: flex; gap: var(--wui-spacing-xl); @@ -5406,7 +5406,7 @@ Minimum version required to store current data is: `+s+`. 0 0 0 3px var(--wui-gray-glass-002), 0 0 0 3px var(--wui-color-modal-bg); } -`;var VN=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Wv=class extends Fe{constructor(){super(...arguments),this.networkImages=[""],this.text=""}render(){return ce` +`;var XN=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Hv=class extends Fe{constructor(){super(...arguments),this.networkImages=[""],this.text=""}render(){return ce` `}networksTemplate(){const e=this.networkImages.slice(0,5);return ce` ${e==null?void 0:e.map(t=>ce` `)} - `}};Wv.styles=[ar,en,sAe],VN([pe({type:Array})],Wv.prototype,"networkImages",void 0),VN([pe()],Wv.prototype,"text",void 0),Wv=VN([Le("wui-compatible-network")],Wv);const oAe=Ze` + `}};Hv.styles=[ar,en,JEe],XN([pe({type:Array})],Hv.prototype,"networkImages",void 0),XN([pe()],Hv.prototype,"text",void 0),Hv=XN([Le("wui-compatible-network")],Hv);const YEe=Ze` wui-flex { width: 100%; background-color: var(--wui-gray-glass-005); @@ -5424,7 +5424,7 @@ Minimum version required to store current data is: `+s+`. padding: var(--wui-spacing-1xs) var(--wui-spacing-s) var(--wui-spacing-1xs) var(--wui-spacing-1xs); } -`;var GN=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Vv=class extends Fe{constructor(){super(...arguments),this.icon="externalLink",this.text=""}render(){return ce` +`;var eP=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let qv=class extends Fe{constructor(){super(...arguments),this.icon="externalLink",this.text=""}render(){return ce` ${this.text} - `}};Vv.styles=[ar,en,oAe],GN([pe()],Vv.prototype,"icon",void 0),GN([pe()],Vv.prototype,"text",void 0),Vv=GN([Le("wui-banner")],Vv);const aAe=Ze` + `}};qv.styles=[ar,en,YEe],eP([pe()],qv.prototype,"icon",void 0),eP([pe()],qv.prototype,"text",void 0),qv=eP([Le("wui-banner")],qv);const QEe=Ze` button { padding: 6.5px var(--wui-spacing-l) 6.5px var(--wui-spacing-xs); display: flex; @@ -5455,20 +5455,20 @@ Minimum version required to store current data is: `+s+`. height: var(--wui-spacing-3xl); border-radius: var(--wui-border-radius-3xl); } -`;var fm=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let sf=class extends Fe{constructor(){super(...arguments),this.tokenName="",this.tokenImageUrl="",this.tokenValue=0,this.tokenAmount="0.0",this.tokenCurrency="",this.clickable=!1}render(){return ce` +`;var fm=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let sf=class extends Fe{constructor(){super(...arguments),this.tokenName="",this.tokenImageUrl="",this.tokenValue=0,this.tokenAmount="0.0",this.tokenCurrency="",this.clickable=!1}render(){return ce` - `}};sf.styles=[ar,en,aAe],fm([pe()],sf.prototype,"tokenName",void 0),fm([pe()],sf.prototype,"tokenImageUrl",void 0),fm([pe({type:Number})],sf.prototype,"tokenValue",void 0),fm([pe()],sf.prototype,"tokenAmount",void 0),fm([pe()],sf.prototype,"tokenCurrency",void 0),fm([pe({type:Boolean})],sf.prototype,"clickable",void 0),sf=fm([Le("wui-list-token")],sf);const cAe=Ze` + `}};sf.styles=[ar,en,QEe],fm([pe()],sf.prototype,"tokenName",void 0),fm([pe()],sf.prototype,"tokenImageUrl",void 0),fm([pe({type:Number})],sf.prototype,"tokenValue",void 0),fm([pe()],sf.prototype,"tokenAmount",void 0),fm([pe()],sf.prototype,"tokenCurrency",void 0),fm([pe({type:Boolean})],sf.prototype,"clickable",void 0),sf=fm([Le("wui-list-token")],sf);const XEe=Ze` button { width: 100%; display: flex; @@ -5488,7 +5488,7 @@ Minimum version required to store current data is: `+s+`. wui-flex { width: auto; } -`;var r1=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let qu=class extends Fe{constructor(){super(...arguments),this.icon="card",this.text="",this.description="",this.tag=void 0,this.iconBackgroundColor="accent-100",this.iconColor="accent-100",this.disabled=!1}render(){return ce` +`;var Xp=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Vu=class extends Fe{constructor(){super(...arguments),this.icon="card",this.text="",this.description="",this.tag=void 0,this.iconBackgroundColor="accent-100",this.iconColor="accent-100",this.disabled=!1}render(){return ce` `:ce` `}onFocusChange(e){this.focused=e}onSelectToken(){yr.sendEvent({type:"track",event:"CLICK_SELECT_TOKEN_TO_SWAP"}),et.push("ConvertSelectToken",{target:this.target})}onBuyToken(){et.push("OnRampProviders")}};jc.styles=[TSe],Gu([pe()],jc.prototype,"focused",void 0),Gu([pe()],jc.prototype,"balance",void 0),Gu([pe()],jc.prototype,"value",void 0),Gu([pe()],jc.prototype,"price",void 0),Gu([pe()],jc.prototype,"marketValue",void 0),Gu([pe()],jc.prototype,"disabled",void 0),Gu([pe()],jc.prototype,"target",void 0),Gu([pe()],jc.prototype,"token",void 0),Gu([pe()],jc.prototype,"onSetAmount",void 0),Gu([pe()],jc.prototype,"onSetMaxValue",void 0),jc=Gu([Le("w3m-convert-input")],jc);const MSe=Ze` + `}onFocusChange(e){this.focused=e}onSelectToken(){yr.sendEvent({type:"track",event:"CLICK_SELECT_TOKEN_TO_SWAP"}),et.push("ConvertSelectToken",{target:this.target})}onBuyToken(){et.push("OnRampProviders")}};zc.styles=[ySe],Zu([pe()],zc.prototype,"focused",void 0),Zu([pe()],zc.prototype,"balance",void 0),Zu([pe()],zc.prototype,"value",void 0),Zu([pe()],zc.prototype,"price",void 0),Zu([pe()],zc.prototype,"marketValue",void 0),Zu([pe()],zc.prototype,"disabled",void 0),Zu([pe()],zc.prototype,"target",void 0),Zu([pe()],zc.prototype,"token",void 0),Zu([pe()],zc.prototype,"onSetAmount",void 0),Zu([pe()],zc.prototype,"onSetMaxValue",void 0),zc=Zu([Le("w3m-convert-input")],zc);const _Se=Ze` wui-icon-link[data-hidden='true'] { opacity: 0 !important; pointer-events: none; } -`;var RC=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};function Hte(){var o,a,l,u,h,p,g;const r=(a=(o=et.state.data)==null?void 0:o.connector)==null?void 0:a.name,e=(u=(l=et.state.data)==null?void 0:l.wallet)==null?void 0:u.name,t=(p=(h=et.state.data)==null?void 0:h.network)==null?void 0:p.name,n=e??r,i=$n.getConnectors();return{Connect:`Connect ${i.length===1&&((g=i[0])==null?void 0:g.id)==="w3m-email"?"Email":""} Wallet`,Account:void 0,AccountSettings:void 0,ConnectingExternal:n??"Connect Wallet",ConnectingWalletConnect:n??"WalletConnect",ConnectingSiwe:"Sign In",Networks:"Choose Network",SwitchNetwork:t??"Switch Network",AllWallets:"All Wallets",WhatIsANetwork:"What is a network?",WhatIsAWallet:"What is a wallet?",GetWallet:"Get a wallet",Downloads:n?`Get ${n}`:"Downloads",EmailVerifyOtp:"Confirm Email",EmailVerifyDevice:"Register Device",ApproveTransaction:"Approve Transaction",Transactions:"Activity",UpgradeEmailWallet:"Upgrade your Wallet",UpgradeToSmartAccount:void 0,UpdateEmailWallet:"Edit Email",UpdateEmailPrimaryOtp:"Confirm Current Email",UpdateEmailSecondaryOtp:"Confirm New Email",UnsupportedChain:"Switch Network",OnRampProviders:"Choose Provider",OnRampActivity:"Activity",WhatIsABuy:"What is Buy?",BuyInProgress:"Buy",OnRampTokenSelect:"Select Token",OnRampFiatSelect:"Select Currency",WalletReceive:"Receive",WalletCompatibleNetworks:"Compatible Networks",Convert:"Convert",ConvertSelectToken:"Select token",ConvertPreview:"Preview convert",WalletSend:"Send",WalletSendPreview:"Review send",WalletSendSelectToken:"Select Token"}}let Xv=class extends Fe{constructor(){super(),this.unsubscribe=[],this.heading=Hte()[et.state.view],this.buffering=!1,this.showBack=!1,this.unsubscribe.push(et.subscribeKey("view",e=>{this.onViewChange(e),this.onHistoryChange()}),zr.subscribeKey("buffering",e=>this.buffering=e))}disconnectCallback(){this.unsubscribe.forEach(e=>e())}render(){return ce` +`;var PC=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};function Ote(){var o,a,l,u,h,p,g;const r=(a=(o=et.state.data)==null?void 0:o.connector)==null?void 0:a.name,e=(u=(l=et.state.data)==null?void 0:l.wallet)==null?void 0:u.name,t=(p=(h=et.state.data)==null?void 0:h.network)==null?void 0:p.name,n=e??r,i=Ln.getConnectors();return{Connect:`Connect ${i.length===1&&((g=i[0])==null?void 0:g.id)==="w3m-email"?"Email":""} Wallet`,Account:void 0,AccountSettings:void 0,ConnectingExternal:n??"Connect Wallet",ConnectingWalletConnect:n??"WalletConnect",ConnectingSiwe:"Sign In",Networks:"Choose Network",SwitchNetwork:t??"Switch Network",AllWallets:"All Wallets",WhatIsANetwork:"What is a network?",WhatIsAWallet:"What is a wallet?",GetWallet:"Get a wallet",Downloads:n?`Get ${n}`:"Downloads",EmailVerifyOtp:"Confirm Email",EmailVerifyDevice:"Register Device",ApproveTransaction:"Approve Transaction",Transactions:"Activity",UpgradeEmailWallet:"Upgrade your Wallet",UpgradeToSmartAccount:void 0,UpdateEmailWallet:"Edit Email",UpdateEmailPrimaryOtp:"Confirm Current Email",UpdateEmailSecondaryOtp:"Confirm New Email",UnsupportedChain:"Switch Network",OnRampProviders:"Choose Provider",OnRampActivity:"Activity",WhatIsABuy:"What is Buy?",BuyInProgress:"Buy",OnRampTokenSelect:"Select Token",OnRampFiatSelect:"Select Currency",WalletReceive:"Receive",WalletCompatibleNetworks:"Compatible Networks",Convert:"Convert",ConvertSelectToken:"Select token",ConvertPreview:"Preview convert",WalletSend:"Send",WalletSendPreview:"Review send",WalletSendSelectToken:"Select Token"}}let Yv=class extends Fe{constructor(){super(),this.unsubscribe=[],this.heading=Ote()[et.state.view],this.buffering=!1,this.showBack=!1,this.unsubscribe.push(et.subscribeKey("view",e=>{this.onViewChange(e),this.onHistoryChange()}),Ur.subscribeKey("buffering",e=>this.buffering=e))}disconnectCallback(){this.unsubscribe.forEach(e=>e())}render(){return ce` ${this.dynamicButtonTemplate()} ${this.titleTemplate()} ${this.separatorTemplate()} - `}onWalletHelp(){yr.sendEvent({type:"track",event:"CLICK_WALLET_HELP"}),et.push("WhatIsAWallet")}async onClose(){if(hr.state.isSiweEnabled){const{SIWEController:e}=await Promise.resolve().then(()=>CR);e.state.status!=="success"&&await zr.disconnect()}Zr.close()}titleTemplate(){return ce`${this.heading}`}dynamicButtonTemplate(){const{view:e}=et.state,t=e==="Connect",s=e==="ApproveTransaction"||e==="UpgradeToSmartAccount";return this.showBack&&!s?ce`MT);e.state.status!=="success"&&await Ur.disconnect()}Zr.close()}titleTemplate(){return ce`${this.heading}`}dynamicButtonTemplate(){const{view:e}=et.state,t=e==="Connect",s=e==="ApproveTransaction"||e==="UpgradeToSmartAccount";return this.showBack&&!s?ce``}separatorTemplate(){return this.heading?ce``:null}getPadding(){return this.heading?["l","2l","l","2l"]:["l","2l","0","2l"]}async onViewChange(e){var n;const t=(n=this.shadowRoot)==null?void 0:n.querySelector("wui-text");if(t){const i=Hte()[e];await t.animate([{opacity:1},{opacity:0}],{duration:200,fill:"forwards",easing:"ease"}).finished,this.heading=i,t.animate([{opacity:0},{opacity:1}],{duration:200,fill:"forwards",easing:"ease"})}}async onHistoryChange(){var n;const{history:e}=et.state,t=(n=this.shadowRoot)==null?void 0:n.querySelector("#dynamic");e.length>1&&!this.showBack&&t?(await t.animate([{opacity:1},{opacity:0}],{duration:200,fill:"forwards",easing:"ease"}).finished,this.showBack=!0,t.animate([{opacity:0},{opacity:1}],{duration:200,fill:"forwards",easing:"ease"})):e.length<=1&&this.showBack&&t&&(await t.animate([{opacity:1},{opacity:0}],{duration:200,fill:"forwards",easing:"ease"}).finished,this.showBack=!1,t.animate([{opacity:0},{opacity:1}],{duration:200,fill:"forwards",easing:"ease"}))}onGoBack(){et.state.view==="ConnectingSiwe"?et.push("Connect"):et.goBack()}};Xv.styles=[MSe],RC([Oe()],Xv.prototype,"heading",void 0),RC([Oe()],Xv.prototype,"buffering",void 0),RC([Oe()],Xv.prototype,"showBack",void 0),Xv=RC([Le("w3m-header")],Xv);var qte=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let sP=class extends Fe{constructor(){super(...arguments),this.data=[]}render(){return ce` + >`}separatorTemplate(){return this.heading?ce``:null}getPadding(){return this.heading?["l","2l","l","2l"]:["l","2l","0","2l"]}async onViewChange(e){var n;const t=(n=this.shadowRoot)==null?void 0:n.querySelector("wui-text");if(t){const i=Ote()[e];await t.animate([{opacity:1},{opacity:0}],{duration:200,fill:"forwards",easing:"ease"}).finished,this.heading=i,t.animate([{opacity:0},{opacity:1}],{duration:200,fill:"forwards",easing:"ease"})}}async onHistoryChange(){var n;const{history:e}=et.state,t=(n=this.shadowRoot)==null?void 0:n.querySelector("#dynamic");e.length>1&&!this.showBack&&t?(await t.animate([{opacity:1},{opacity:0}],{duration:200,fill:"forwards",easing:"ease"}).finished,this.showBack=!0,t.animate([{opacity:0},{opacity:1}],{duration:200,fill:"forwards",easing:"ease"})):e.length<=1&&this.showBack&&t&&(await t.animate([{opacity:1},{opacity:0}],{duration:200,fill:"forwards",easing:"ease"}).finished,this.showBack=!1,t.animate([{opacity:0},{opacity:1}],{duration:200,fill:"forwards",easing:"ease"}))}onGoBack(){et.state.view==="ConnectingSiwe"?et.push("Connect"):et.goBack()}};Yv.styles=[_Se],PC([Oe()],Yv.prototype,"heading",void 0),PC([Oe()],Yv.prototype,"buffering",void 0),PC([Oe()],Yv.prototype,"showBack",void 0),Yv=PC([Le("w3m-header")],Yv);var Dte=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let fP=class extends Fe{constructor(){super(...arguments),this.data=[]}render(){return ce` ${this.data.map(e=>ce` @@ -8310,7 +8310,7 @@ Minimum version required to store current data is: `+s+`. `)} - `}};qte([pe({type:Array})],sP.prototype,"data",void 0),sP=qte([Le("w3m-help-widget")],sP);const NSe=Ze` + `}};Dte([pe({type:Array})],fP.prototype,"data",void 0),fP=Dte([Le("w3m-help-widget")],fP);const ESe=Ze` :host { width: 100%; } @@ -8342,7 +8342,7 @@ Minimum version required to store current data is: `+s+`. width: 24px; border-radius: 50%; } -`;var _m=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Ud=class extends Fe{constructor(){var e;super(),this.unsubscribe=[],this.type="Token",this.value=0,this.currencies=[],this.selectedCurrency=(e=this.currencies)==null?void 0:e[0],this.currencyImages=fo.state.currencyImages,this.tokenImages=fo.state.tokenImages,this.unsubscribe.push(Fn.subscribeKey("purchaseCurrency",t=>{!t||this.type==="Fiat"||(this.selectedCurrency=this.formatPurchaseCurrency(t))}),Fn.subscribeKey("paymentCurrency",t=>{!t||this.type==="Token"||(this.selectedCurrency=this.formatPaymentCurrency(t))}),Fn.subscribe(t=>{this.type==="Fiat"?this.currencies=t.purchaseCurrencies.map(this.formatPurchaseCurrency):this.currencies=t.paymentCurrencies.map(this.formatPaymentCurrency)}),fo.subscribe(t=>{this.currencyImages={...t.currencyImages},this.tokenImages={...t.tokenImages}}))}firstUpdated(){Fn.getAvailableCurrencies()}disconnectedCallback(){this.unsubscribe.forEach(e=>e())}render(){var n;const e=((n=this.selectedCurrency)==null?void 0:n.symbol)||"",t=this.currencyImages[e]||this.tokenImages[e];return ce` +`;var _m=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Fd=class extends Fe{constructor(){var e;super(),this.unsubscribe=[],this.type="Token",this.value=0,this.currencies=[],this.selectedCurrency=(e=this.currencies)==null?void 0:e[0],this.currencyImages=po.state.currencyImages,this.tokenImages=po.state.tokenImages,this.unsubscribe.push(zn.subscribeKey("purchaseCurrency",t=>{!t||this.type==="Fiat"||(this.selectedCurrency=this.formatPurchaseCurrency(t))}),zn.subscribeKey("paymentCurrency",t=>{!t||this.type==="Token"||(this.selectedCurrency=this.formatPaymentCurrency(t))}),zn.subscribe(t=>{this.type==="Fiat"?this.currencies=t.purchaseCurrencies.map(this.formatPurchaseCurrency):this.currencies=t.paymentCurrencies.map(this.formatPaymentCurrency)}),po.subscribe(t=>{this.currencyImages={...t.currencyImages},this.tokenImages={...t.tokenImages}}))}firstUpdated(){zn.getAvailableCurrencies()}disconnectedCallback(){this.unsubscribe.forEach(e=>e())}render(){var n;const e=((n=this.selectedCurrency)==null?void 0:n.symbol)||"",t=this.currencyImages[e]||this.tokenImages[e];return ce` ${this.selectedCurrency?ce` ${this.selectedCurrency.symbol} `:ce``} - `}formatPaymentCurrency(e){return{name:e.id,symbol:e.id}}formatPurchaseCurrency(e){return{name:e.name,symbol:e.symbol}}};Ud.styles=NSe,_m([pe({type:String})],Ud.prototype,"type",void 0),_m([pe({type:Number})],Ud.prototype,"value",void 0),_m([Oe()],Ud.prototype,"currencies",void 0),_m([Oe()],Ud.prototype,"selectedCurrency",void 0),_m([Oe()],Ud.prototype,"currencyImages",void 0),_m([Oe()],Ud.prototype,"tokenImages",void 0),Ud=_m([Le("w3m-swap-input")],Ud);const PSe=Ze` + `}formatPaymentCurrency(e){return{name:e.id,symbol:e.id}}formatPurchaseCurrency(e){return{name:e.name,symbol:e.symbol}}};Fd.styles=ESe,_m([pe({type:String})],Fd.prototype,"type",void 0),_m([pe({type:Number})],Fd.prototype,"value",void 0),_m([Oe()],Fd.prototype,"currencies",void 0),_m([Oe()],Fd.prototype,"selectedCurrency",void 0),_m([Oe()],Fd.prototype,"currencyImages",void 0),_m([Oe()],Fd.prototype,"tokenImages",void 0),Fd=_m([Le("w3m-swap-input")],Fd);const ASe=Ze` wui-flex { background-color: var(--wui-gray-glass-005); } @@ -8363,19 +8363,19 @@ Minimum version required to store current data is: `+s+`. color: var(--wui-color-fg-175); font-weight: 500; } -`;var OSe=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let oP=class extends Fe{render(){const{termsConditionsUrl:e,privacyPolicyUrl:t}=hr.state;return!e&&!t?null:ce` +`;var CSe=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let dP=class extends Fe{render(){const{termsConditionsUrl:e,privacyPolicyUrl:t}=hr.state;return!e&&!t?null:ce` By connecting your wallet, you agree to our
${this.termsTemplate()} ${this.andTemplate()} ${this.privacyTemplate()}
- `}andTemplate(){const{termsConditionsUrl:e,privacyPolicyUrl:t}=hr.state;return e&&t?"and":""}termsTemplate(){const{termsConditionsUrl:e}=hr.state;return e?ce`Terms of Service`:null}privacyTemplate(){const{privacyPolicyUrl:e}=hr.state;return e?ce`Privacy Policy`:null}};oP.styles=[PSe],oP=OSe([Le("w3m-legal-footer")],oP);const DSe=Ze` + `}andTemplate(){const{termsConditionsUrl:e,privacyPolicyUrl:t}=hr.state;return e&&t?"and":""}termsTemplate(){const{termsConditionsUrl:e}=hr.state;return e?ce`Terms of Service`:null}privacyTemplate(){const{privacyPolicyUrl:e}=hr.state;return e?ce`Privacy Policy`:null}};dP.styles=[ASe],dP=CSe([Le("w3m-legal-footer")],dP);const SSe=Ze` :host { display: block; padding: 0 var(--wui-spacing-xl) var(--wui-spacing-xl); } -`;var Wte=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let TC=class extends Fe{constructor(){super(...arguments),this.wallet=void 0}render(){if(!this.wallet)return this.style.display="none",null;const{name:e,app_store:t,play_store:n,chrome_store:i,homepage:s}=this.wallet,o=tr.isMobile(),a=tr.isIos(),l=tr.isAndroid(),u=[t,n,s,i].filter(Boolean).length>1,h=Rr.getTruncateString({string:e,charsStart:12,charsEnd:0,truncate:"end"});return u&&!o?ce` +`;var $te=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let OC=class extends Fe{constructor(){super(...arguments),this.wallet=void 0}render(){if(!this.wallet)return this.style.display="none",null;const{name:e,app_store:t,play_store:n,chrome_store:i,homepage:s}=this.wallet,o=tr.isMobile(),a=tr.isIos(),l=tr.isAndroid(),u=[t,n,s,i].filter(Boolean).length>1,h=Tr.getTruncateString({string:e,charsStart:12,charsEnd:0,truncate:"end"});return u&&!o?ce` - `:(this.style.display="none",null)}onAppStore(){var e;(e=this.wallet)!=null&&e.app_store&&tr.openHref(this.wallet.app_store,"_blank")}onPlayStore(){var e;(e=this.wallet)!=null&&e.play_store&&tr.openHref(this.wallet.play_store,"_blank")}onHomePage(){var e;(e=this.wallet)!=null&&e.homepage&&tr.openHref(this.wallet.homepage,"_blank")}};TC.styles=[DSe],Wte([pe({type:Object})],TC.prototype,"wallet",void 0),TC=Wte([Le("w3m-mobile-download-links")],TC);const $Se=Ze` + `:(this.style.display="none",null)}onAppStore(){var e;(e=this.wallet)!=null&&e.app_store&&tr.openHref(this.wallet.app_store,"_blank")}onPlayStore(){var e;(e=this.wallet)!=null&&e.play_store&&tr.openHref(this.wallet.play_store,"_blank")}onHomePage(){var e;(e=this.wallet)!=null&&e.homepage&&tr.openHref(this.wallet.homepage,"_blank")}};OC.styles=[SSe],$te([pe({type:Object})],OC.prototype,"wallet",void 0),OC=$te([Le("w3m-mobile-download-links")],OC);const ISe=Ze` wui-flex { border-top: 1px solid var(--wui-gray-glass-005); } @@ -8413,7 +8413,7 @@ Minimum version required to store current data is: `+s+`. justify-content: center; gap: var(--wui-spacing-3xs); } -`;var BSe=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let aP=class extends Fe{render(){const{termsConditionsUrl:e,privacyPolicyUrl:t}=hr.state;return!e&&!t?null:ce` +`;var TSe=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let pP=class extends Fe{render(){const{termsConditionsUrl:e,privacyPolicyUrl:t}=hr.state;return!e&&!t?null:ce` How does it work? - `}onWhatIsBuy(){et.push("WhatIsABuy")}};aP.styles=[$Se],aP=BSe([Le("w3m-onramp-providers-footer")],aP);const LSe=Ze` + `}onWhatIsBuy(){et.push("WhatIsABuy")}};pP.styles=[ISe],pP=TSe([Le("w3m-onramp-providers-footer")],pP);const RSe=Ze` :host { display: block; position: absolute; @@ -8441,14 +8441,14 @@ Minimum version required to store current data is: `+s+`. left: 50%; width: max-content; } -`;var Vte=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};const USe={success:{backgroundColor:"success-100",iconColor:"success-100",icon:"checkmark"},error:{backgroundColor:"error-100",iconColor:"error-100",icon:"close"}};let kC=class extends Fe{constructor(){super(),this.unsubscribe=[],this.timeout=void 0,this.open=fn.state.open,this.unsubscribe.push(fn.subscribeKey("open",e=>{this.open=e,this.onOpen()}))}disconnectedCallback(){clearTimeout(this.timeout),this.unsubscribe.forEach(e=>e())}render(){const{message:e,variant:t}=fn.state,n=USe[t];return ce` +`;var Bte=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};const kSe={success:{backgroundColor:"success-100",iconColor:"success-100",icon:"checkmark"},error:{backgroundColor:"error-100",iconColor:"error-100",icon:"close"}};let DC=class extends Fe{constructor(){super(),this.unsubscribe=[],this.timeout=void 0,this.open=dn.state.open,this.unsubscribe.push(dn.subscribeKey("open",e=>{this.open=e,this.onOpen()}))}disconnectedCallback(){clearTimeout(this.timeout),this.unsubscribe.forEach(e=>e())}render(){const{message:e,variant:t}=dn.state,n=kSe[t];return ce` - `}onOpen(){clearTimeout(this.timeout),this.open?(this.animate([{opacity:0,transform:"translateX(-50%) scale(0.85)"},{opacity:1,transform:"translateX(-50%) scale(1)"}],{duration:150,fill:"forwards",easing:"ease"}),this.timeout=setTimeout(()=>fn.hide(),2500)):this.animate([{opacity:1,transform:"translateX(-50%) scale(1)"},{opacity:0,transform:"translateX(-50%) scale(0.85)"}],{duration:150,fill:"forwards",easing:"ease"})}};kC.styles=LSe,Vte([Oe()],kC.prototype,"open",void 0),kC=Vte([Le("w3m-snackbar")],kC);const FSe=Ze` + `}onOpen(){clearTimeout(this.timeout),this.open?(this.animate([{opacity:0,transform:"translateX(-50%) scale(0.85)"},{opacity:1,transform:"translateX(-50%) scale(1)"}],{duration:150,fill:"forwards",easing:"ease"}),this.timeout=setTimeout(()=>dn.hide(),2500)):this.animate([{opacity:1,transform:"translateX(-50%) scale(1)"},{opacity:0,transform:"translateX(-50%) scale(0.85)"}],{duration:150,fill:"forwards",easing:"ease"})}};DC.styles=RSe,Bte([Oe()],DC.prototype,"open",void 0),DC=Bte([Le("w3m-snackbar")],DC);const MSe=Ze` wui-separator { margin: var(--wui-spacing-s) calc(var(--wui-spacing-s) * -1); width: calc(100% + var(--wui-spacing-s) * 2); @@ -8478,7 +8478,7 @@ Minimum version required to store current data is: `+s+`. wui-loading-spinner { right: var(--wui-spacing-m); } -`;var E6=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Em=class extends Fe{constructor(){super(),this.unsubscribe=[],this.formRef=tm(),this.connectors=$n.state.connectors,this.email="",this.loading=!1,this.error="",this.unsubscribe.push($n.subscribeKey("connectors",e=>this.connectors=e))}disconnectedCallback(){this.unsubscribe.forEach(e=>e())}firstUpdated(){var e;(e=this.formRef.value)==null||e.addEventListener("keydown",t=>{t.key==="Enter"&&this.onSubmitEmail(t)})}render(){const e=this.connectors.length>1;return this.connectors.find(n=>n.type==="EMAIL")?ce` +`;var v6=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Em=class extends Fe{constructor(){super(),this.unsubscribe=[],this.formRef=tm(),this.connectors=Ln.state.connectors,this.email="",this.loading=!1,this.error="",this.unsubscribe.push(Ln.subscribeKey("connectors",e=>this.connectors=e))}disconnectedCallback(){this.unsubscribe.forEach(e=>e())}firstUpdated(){var e;(e=this.formRef.value)==null||e.addEventListener("keydown",t=>{t.key==="Enter"&&this.onSubmitEmail(t)})}render(){const e=this.connectors.length>1;return this.connectors.find(n=>n.type==="EMAIL")?ce` - `:null}loadingTemplate(){return this.loading?ce``:null}onEmailInputChange(e){this.email=e.detail.trim(),this.error=""}async onSubmitEmail(e){try{if(this.loading)return;this.loading=!0,e.preventDefault();const t=$n.getEmailConnector();if(!t)throw new Error("w3m-email-login-widget: Email connector not found");const{action:n}=await t.provider.connectEmail({email:this.email});yr.sendEvent({type:"track",event:"EMAIL_SUBMITTED"}),n==="VERIFY_OTP"?(yr.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_SENT"}),et.push("EmailVerifyOtp",{email:this.email})):n==="VERIFY_DEVICE"&&et.push("EmailVerifyDevice",{email:this.email})}catch(t){const n=tr.parseError(t);n!=null&&n.includes("Invalid email")?this.error="Invalid email. Try again.":fn.showError(t)}finally{this.loading=!1}}onFocusEvent(){yr.sendEvent({type:"track",event:"EMAIL_LOGIN_SELECTED"})}};Em.styles=FSe,E6([Oe()],Em.prototype,"connectors",void 0),E6([Oe()],Em.prototype,"email",void 0),E6([Oe()],Em.prototype,"loading",void 0),E6([Oe()],Em.prototype,"error",void 0),Em=E6([Le("w3m-email-login-widget")],Em);const jSe=Ze` + `:null}loadingTemplate(){return this.loading?ce``:null}onEmailInputChange(e){this.email=e.detail.trim(),this.error=""}async onSubmitEmail(e){try{if(this.loading)return;this.loading=!0,e.preventDefault();const t=Ln.getEmailConnector();if(!t)throw new Error("w3m-email-login-widget: Email connector not found");const{action:n}=await t.provider.connectEmail({email:this.email});yr.sendEvent({type:"track",event:"EMAIL_SUBMITTED"}),n==="VERIFY_OTP"?(yr.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_SENT"}),et.push("EmailVerifyOtp",{email:this.email})):n==="VERIFY_DEVICE"&&et.push("EmailVerifyDevice",{email:this.email})}catch(t){const n=tr.parseError(t);n!=null&&n.includes("Invalid email")?this.error="Invalid email. Try again.":dn.showError(t)}finally{this.loading=!1}}onFocusEvent(){yr.sendEvent({type:"track",event:"EMAIL_LOGIN_SELECTED"})}};Em.styles=MSe,v6([Oe()],Em.prototype,"connectors",void 0),v6([Oe()],Em.prototype,"email",void 0),v6([Oe()],Em.prototype,"loading",void 0),v6([Oe()],Em.prototype,"error",void 0),Em=v6([Le("w3m-email-login-widget")],Em);const NSe=Ze` wui-flex { width: 100%; } @@ -8606,7 +8606,7 @@ Minimum version required to store current data is: `+s+`. .account-links wui-flex wui-icon svg path { stroke: #47a1ff; } -`;var l1=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let lf=class extends Fe{constructor(){super(),this.unsubscribe=[],this.address=qt.state.address,this.profileImage=qt.state.profileImage,this.profileName=qt.state.profileName,this.network=lr.state.caipNetwork,this.disconnecting=!1,this.balance=qt.state.balance,this.balanceSymbol=qt.state.balanceSymbol,this.unsubscribe.push(qt.subscribe(e=>{e.address?(this.address=e.address,this.profileImage=e.profileImage,this.profileName=e.profileName,this.balance=e.balance,this.balanceSymbol=e.balanceSymbol):this.disconnecting||fn.showError("Account not found")}),lr.subscribeKey("caipNetwork",e=>{e!=null&&e.id&&(this.network=e)}))}disconnectedCallback(){this.unsubscribe.forEach(e=>e())}render(){var t;if(!this.address)throw new Error("w3m-account-view: No account provided");const e=Zn.getNetworkImage(this.network);return ce`=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let lf=class extends Fe{constructor(){super(),this.unsubscribe=[],this.address=zt.state.address,this.profileImage=zt.state.profileImage,this.profileName=zt.state.profileName,this.network=lr.state.caipNetwork,this.disconnecting=!1,this.balance=zt.state.balance,this.balanceSymbol=zt.state.balanceSymbol,this.unsubscribe.push(zt.subscribe(e=>{e.address?(this.address=e.address,this.profileImage=e.profileImage,this.profileName=e.profileName,this.balance=e.balance,this.balanceSymbol=e.balanceSymbol):this.disconnecting||dn.showError("Account not found")}),lr.subscribeKey("caipNetwork",e=>{e!=null&&e.id&&(this.network=e)}))}disconnectedCallback(){this.unsubscribe.forEach(e=>e())}render(){var t;if(!this.address)throw new Error("w3m-account-view: No account provided");const e=Yn.getNetworkImage(this.network);return ce` - ${this.profileName?Rr.getTruncateString({string:this.profileName,charsStart:20,charsEnd:0,truncate:"end"}):Rr.getTruncateString({string:this.address?this.address:"",charsStart:4,charsEnd:4,truncate:"middle"})} + ${this.profileName?Tr.getTruncateString({string:this.profileName,charsStart:20,charsEnd:0,truncate:"end"}):Tr.getTruncateString({string:this.address?this.address:"",charsStart:4,charsEnd:4,truncate:"middle"})} Buy crypto - `:null}emailCardTemplate(){const e=vs.getConnectedConnector(),t=$n.getEmailConnector(),{origin:n}=location;return!t||e!=="EMAIL"||n.includes($s.SECURE_SITE)?null:ce` + `:null}emailCardTemplate(){const e=xs.getConnectedConnector(),t=Ln.getEmailConnector(),{origin:n}=location;return!t||e!=="EMAIL"||n.includes(Ls.SECURE_SITE)?null:ce` - `}handleClickPay(){et.push("OnRampProviders")}explorerBtnTemplate(){const{addressExplorerUrl:e}=qt.state;return e?ce` + `}handleClickPay(){et.push("OnRampProviders")}explorerBtnTemplate(){const{addressExplorerUrl:e}=zt.state;return e?ce` Block Explorer - `:null}emailBtnTemplate(){const e=vs.getConnectedConnector(),t=$n.getEmailConnector();if(!t||e!=="EMAIL")return null;const n=t.provider.getEmail()??"";return ce` + `:null}emailBtnTemplate(){const e=xs.getConnectedConnector(),t=Ln.getEmailConnector();if(!t||e!=="EMAIL")return null;const n=t.provider.getEmail()??"";return ce` ${n} - `}isAllowedNetworkSwitch(){const{requestedCaipNetworks:e}=lr.state,t=e?e.length>1:!1,n=e==null?void 0:e.find(({id:i})=>{var s;return i===((s=this.network)==null?void 0:s.id)});return t||!n}onCopyAddress(){try{this.address&&(tr.copyToClopboard(this.address),fn.showSuccess("Address copied"))}catch{fn.showError("Failed to copy")}}onNetworks(){this.isAllowedNetworkSwitch()&&(yr.sendEvent({type:"track",event:"CLICK_NETWORKS"}),et.push("Networks"))}onTransactions(){yr.sendEvent({type:"track",event:"CLICK_TRANSACTIONS"}),et.push("Transactions")}async onDisconnect(){try{this.disconnecting=!0,await zr.disconnect(),yr.sendEvent({type:"track",event:"DISCONNECT_SUCCESS"}),Zr.close()}catch{yr.sendEvent({type:"track",event:"DISCONNECT_ERROR"}),fn.showError("Failed to disconnect")}finally{this.disconnecting=!1}}onExplorer(){const{addressExplorerUrl:e}=qt.state;e&&tr.openHref(e,"_blank")}onGoToUpgradeView(){yr.sendEvent({type:"track",event:"EMAIL_UPGRADE_FROM_MODAL"}),et.push("UpgradeEmailWallet")}onGoToUpdateEmail(e){et.push("UpdateEmailWallet",{email:e})}};lf.styles=jSe,l1([Oe()],lf.prototype,"address",void 0),l1([Oe()],lf.prototype,"profileImage",void 0),l1([Oe()],lf.prototype,"profileName",void 0),l1([Oe()],lf.prototype,"network",void 0),l1([Oe()],lf.prototype,"disconnecting",void 0),l1([Oe()],lf.prototype,"balance",void 0),l1([Oe()],lf.prototype,"balanceSymbol",void 0),lf=l1([Le("w3m-account-default-widget")],lf);const zSe=Ze` + `}isAllowedNetworkSwitch(){const{requestedCaipNetworks:e}=lr.state,t=e?e.length>1:!1,n=e==null?void 0:e.find(({id:i})=>{var s;return i===((s=this.network)==null?void 0:s.id)});return t||!n}onCopyAddress(){try{this.address&&(tr.copyToClopboard(this.address),dn.showSuccess("Address copied"))}catch{dn.showError("Failed to copy")}}onNetworks(){this.isAllowedNetworkSwitch()&&(yr.sendEvent({type:"track",event:"CLICK_NETWORKS"}),et.push("Networks"))}onTransactions(){yr.sendEvent({type:"track",event:"CLICK_TRANSACTIONS"}),et.push("Transactions")}async onDisconnect(){try{this.disconnecting=!0,await Ur.disconnect(),yr.sendEvent({type:"track",event:"DISCONNECT_SUCCESS"}),Zr.close()}catch{yr.sendEvent({type:"track",event:"DISCONNECT_ERROR"}),dn.showError("Failed to disconnect")}finally{this.disconnecting=!1}}onExplorer(){const{addressExplorerUrl:e}=zt.state;e&&tr.openHref(e,"_blank")}onGoToUpgradeView(){yr.sendEvent({type:"track",event:"EMAIL_UPGRADE_FROM_MODAL"}),et.push("UpgradeEmailWallet")}onGoToUpdateEmail(e){et.push("UpdateEmailWallet",{email:e})}};lf.styles=NSe,o1([Oe()],lf.prototype,"address",void 0),o1([Oe()],lf.prototype,"profileImage",void 0),o1([Oe()],lf.prototype,"profileName",void 0),o1([Oe()],lf.prototype,"network",void 0),o1([Oe()],lf.prototype,"disconnecting",void 0),o1([Oe()],lf.prototype,"balance",void 0),o1([Oe()],lf.prototype,"balanceSymbol",void 0),lf=o1([Le("w3m-account-default-widget")],lf);const PSe=Ze` wui-flex { width: 100%; } @@ -8747,7 +8747,7 @@ Minimum version required to store current data is: `+s+`. .contentContainer > .textContent { width: 65%; } -`,HSe={ACCOUNT_TABS:[{label:"Tokens"},{label:"NFTs"},{label:"Activity"}]};var uf=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let ql=class extends Fe{constructor(){super(),this.unsubscribe=[],this.address=qt.state.address,this.profileImage=qt.state.profileImage,this.profileName=qt.state.profileName,this.smartAccountDeployed=qt.state.smartAccountDeployed,this.network=lr.state.caipNetwork,this.currentTab=qt.state.currentTab,this.tokenBalance=qt.state.tokenBalance,this.preferredAccountType=qt.state.preferredAccountType,this.unsubscribe.push(qt.subscribe(e=>{e.address?(this.address=e.address,this.profileImage=e.profileImage,this.profileName=e.profileName,this.currentTab=e.currentTab,this.tokenBalance=e.tokenBalance,this.smartAccountDeployed=e.smartAccountDeployed,this.preferredAccountType=e.preferredAccountType):Zr.close()}),lr.subscribe(e=>{this.network=e.caipNetwork})),this.watchConvertValues()}disconnectedCallback(){this.unsubscribe.forEach(e=>e()),clearInterval(this.watchTokenBalance)}firstUpdated(){qt.fetchTokenBalance()}render(){if(!this.address)throw new Error("w3m-account-view: No account provided");const e=Zn.getNetworkImage(this.network);return ce`=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let Vl=class extends Fe{constructor(){super(),this.unsubscribe=[],this.address=zt.state.address,this.profileImage=zt.state.profileImage,this.profileName=zt.state.profileName,this.smartAccountDeployed=zt.state.smartAccountDeployed,this.network=lr.state.caipNetwork,this.currentTab=zt.state.currentTab,this.tokenBalance=zt.state.tokenBalance,this.preferredAccountType=zt.state.preferredAccountType,this.unsubscribe.push(zt.subscribe(e=>{e.address?(this.address=e.address,this.profileImage=e.profileImage,this.profileName=e.profileName,this.currentTab=e.currentTab,this.tokenBalance=e.tokenBalance,this.smartAccountDeployed=e.smartAccountDeployed,this.preferredAccountType=e.preferredAccountType):Zr.close()}),lr.subscribe(e=>{this.network=e.caipNetwork})),this.watchConvertValues()}disconnectedCallback(){this.unsubscribe.forEach(e=>e()),clearInterval(this.watchTokenBalance)}firstUpdated(){zt.fetchTokenBalance()}render(){if(!this.address)throw new Error("w3m-account-view: No account provided");const e=Yn.getNetworkImage(this.network);return ce` ${this.tokenBalanceTemplate()} @@ -8790,21 +8790,21 @@ Minimum version required to store current data is: `+s+`. .onTabChange=${this.onTabChange.bind(this)} .activeTab=${this.currentTab} localTabWidth="104px" - .tabs=${HSe.ACCOUNT_TABS} + .tabs=${OSe.ACCOUNT_TABS} > ${this.listContentTemplate()} - `}watchConvertValues(){this.watchTokenBalance=setInterval(()=>qt.fetchTokenBalance(),1e4)}listContentTemplate(){return this.currentTab===0?ce``:this.currentTab===1?ce``:this.currentTab===2?ce``:ce``}tokenBalanceTemplate(){var e;if(this.tokenBalance&&((e=this.tokenBalance)==null?void 0:e.length)>=0){const t=tr.calculateBalance(this.tokenBalance),{dollars:n="0",pennies:i="00"}=tr.formatTokenBalance(t);return ce``}return ce``}activateAccountTemplate(){return!lr.checkIfSmartAccountEnabled()||this.preferredAccountType!==Pa.ACCOUNT_TYPES.EOA||this.smartAccountDeployed?null:ce` `}watchConvertValues(){this.watchTokenBalance=setInterval(()=>zt.fetchTokenBalance(),1e4)}listContentTemplate(){return this.currentTab===0?ce``:this.currentTab===1?ce``:this.currentTab===2?ce``:ce``}tokenBalanceTemplate(){var e;if(this.tokenBalance&&((e=this.tokenBalance)==null?void 0:e.length)>=0){const t=tr.calculateBalance(this.tokenBalance),{dollars:n="0",pennies:i="00"}=tr.formatTokenBalance(t);return ce``}return ce``}activateAccountTemplate(){return!lr.checkIfSmartAccountEnabled()||this.preferredAccountType!==Oa.ACCOUNT_TYPES.EOA||this.smartAccountDeployed?null:ce` `}onTabChange(e){qt.setCurrentTab(e)}onProfileButtonClick(){et.push("AccountSettings")}onBuyClick(){et.push("OnRampProviders")}onConvertClick(){et.push("Convert")}onReceiveClick(){et.push("WalletReceive")}onSendClick(){et.push("WalletSend")}onUpdateToSmartAccount(){et.push("UpgradeToSmartAccount")}};ql.styles=zSe,uf([Oe()],ql.prototype,"watchTokenBalance",void 0),uf([Oe()],ql.prototype,"address",void 0),uf([Oe()],ql.prototype,"profileImage",void 0),uf([Oe()],ql.prototype,"profileName",void 0),uf([Oe()],ql.prototype,"smartAccountDeployed",void 0),uf([Oe()],ql.prototype,"network",void 0),uf([Oe()],ql.prototype,"currentTab",void 0),uf([Oe()],ql.prototype,"tokenBalance",void 0),uf([Oe()],ql.prototype,"preferredAccountType",void 0),ql=uf([Le("w3m-account-wallet-features-widget")],ql);const qSe=Ze` + >`}onTabChange(e){zt.setCurrentTab(e)}onProfileButtonClick(){et.push("AccountSettings")}onBuyClick(){et.push("OnRampProviders")}onConvertClick(){et.push("Convert")}onReceiveClick(){et.push("WalletReceive")}onSendClick(){et.push("WalletSend")}onUpdateToSmartAccount(){et.push("UpgradeToSmartAccount")}};Vl.styles=PSe,uf([Oe()],Vl.prototype,"watchTokenBalance",void 0),uf([Oe()],Vl.prototype,"address",void 0),uf([Oe()],Vl.prototype,"profileImage",void 0),uf([Oe()],Vl.prototype,"profileName",void 0),uf([Oe()],Vl.prototype,"smartAccountDeployed",void 0),uf([Oe()],Vl.prototype,"network",void 0),uf([Oe()],Vl.prototype,"currentTab",void 0),uf([Oe()],Vl.prototype,"tokenBalance",void 0),uf([Oe()],Vl.prototype,"preferredAccountType",void 0),Vl=uf([Le("w3m-account-wallet-features-widget")],Vl);const DSe=Ze` :host { width: 100%; max-height: 280px; overflow: scroll; scrollbar-width: none; } -`;var WSe=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let cP=class extends Fe{render(){return ce``}};cP.styles=qSe,cP=WSe([Le("w3m-account-activity-widget")],cP);const VSe=Ze` +`;var $Se=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let gP=class extends Fe{render(){return ce``}};gP.styles=DSe,gP=$Se([Le("w3m-account-activity-widget")],gP);const BSe=Ze` .contentContainer { height: 280px; } @@ -8818,7 +8818,7 @@ Minimum version required to store current data is: `+s+`. .contentContainer > .textContent { width: 65%; } -`;var GSe=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let lP=class extends Fe{render(){return ce`${this.nftTemplate()}`}nftTemplate(){return ce` =0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let mP=class extends Fe{render(){return ce`${this.nftTemplate()}`}nftTemplate(){return ce` Receive NFTs - `}onReceiveClick(){et.push("WalletReceive")}};lP.styles=VSe,lP=GSe([Le("w3m-account-nfts-widget")],lP);const KSe=Ze` + `}onReceiveClick(){et.push("WalletReceive")}};mP.styles=BSe,mP=LSe([Le("w3m-account-nfts-widget")],mP);const USe=Ze` :host { width: 100%; } @@ -8859,7 +8859,7 @@ Minimum version required to store current data is: `+s+`. overflow: scroll; scrollbar-width: none; } -`;var Gte=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let MC=class extends Fe{constructor(){super(),this.unsubscribe=[],this.tokenBalance=qt.state.tokenBalance,this.unsubscribe.push(qt.subscribe(e=>{this.tokenBalance=e.tokenBalance}))}disconnectedCallback(){this.unsubscribe.forEach(e=>e())}render(){return ce`${this.tokenTemplate()}`}tokenTemplate(){var e;return this.tokenBalance&&((e=this.tokenBalance)==null?void 0:e.length)>0?ce` +`;var Lte=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let $C=class extends Fe{constructor(){super(),this.unsubscribe=[],this.tokenBalance=zt.state.tokenBalance,this.unsubscribe.push(zt.subscribe(e=>{this.tokenBalance=e.tokenBalance}))}disconnectedCallback(){this.unsubscribe.forEach(e=>e())}render(){return ce`${this.tokenTemplate()}`}tokenTemplate(){var e;return this.tokenBalance&&((e=this.tokenBalance)==null?void 0:e.length)>0?ce` ${this.tokenItemTemplate()} `:ce` `)}onReceiveClick(){et.push("WalletReceive")}onBuyClick(){et.push("OnRampProviders")}};MC.styles=KSe,Gte([Oe()],MC.prototype,"tokenBalance",void 0),MC=Gte([Le("w3m-account-tokens-widget")],MC);const ZSe=Ze` + >`)}onReceiveClick(){et.push("WalletReceive")}onBuyClick(){et.push("OnRampProviders")}};$C.styles=USe,Lte([Oe()],$C.prototype,"tokenBalance",void 0),$C=Lte([Le("w3m-account-tokens-widget")],$C);const FSe=Ze` :host { min-height: 100%; } @@ -8907,9 +8907,9 @@ Minimum version required to store current data is: `+s+`. .emptyContainer { height: 100%; } -`;var Am=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};const NC="last-transaction",JSe=7;let Fd=class extends Fe{constructor(){super(),this.unsubscribe=[],this.paginationObserver=void 0,this.page="activity",this.address=qt.state.address,this.transactionsByYear=la.state.transactionsByYear,this.loading=la.state.loading,this.empty=la.state.empty,this.next=la.state.next,la.clearCursor(),this.unsubscribe.push(qt.subscribe(e=>{e.isConnected&&this.address!==e.address&&(this.address=e.address,la.resetTransactions(),la.fetchTransactions(e.address))}),la.subscribe(e=>{this.transactionsByYear=e.transactionsByYear,this.loading=e.loading,this.empty=e.empty,this.next=e.next}))}firstUpdated(){la.fetchTransactions(this.address),this.createPaginationObserver()}updated(){this.setPaginationObserver()}disconnectedCallback(){this.unsubscribe.forEach(e=>e())}render(){return ce` ${this.empty?null:this.templateTransactionsByYear()} +`;var Am=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};const BC="last-transaction",jSe=7;let jd=class extends Fe{constructor(){super(),this.unsubscribe=[],this.paginationObserver=void 0,this.page="activity",this.address=zt.state.address,this.transactionsByYear=la.state.transactionsByYear,this.loading=la.state.loading,this.empty=la.state.empty,this.next=la.state.next,la.clearCursor(),this.unsubscribe.push(zt.subscribe(e=>{e.isConnected&&this.address!==e.address&&(this.address=e.address,la.resetTransactions(),la.fetchTransactions(e.address))}),la.subscribe(e=>{this.transactionsByYear=e.transactionsByYear,this.loading=e.loading,this.empty=e.empty,this.next=e.next}))}firstUpdated(){la.fetchTransactions(this.address),this.createPaginationObserver()}updated(){this.setPaginationObserver()}disconnectedCallback(){this.unsubscribe.forEach(e=>e())}render(){return ce` ${this.empty?null:this.templateTransactionsByYear()} ${this.loading?this.templateLoading():null} - ${!this.loading&&this.empty?this.templateEmpty():null}`}templateTransactionsByYear(){const e=Object.keys(this.transactionsByYear).sort().reverse();return e.map((t,n)=>{const i=n===e.length-1,s=parseInt(t,10);return new Array(12).fill(null).map((a,l)=>l).reverse().map(a=>{var h;const l=i1.getTransactionGroupTitle(s,a),u=(h=this.transactionsByYear[s])==null?void 0:h[a];return u?ce` + ${!this.loading&&this.empty?this.templateEmpty():null}`}templateTransactionsByYear(){const e=Object.keys(this.transactionsByYear).sort().reverse();return e.map((t,n)=>{const i=n===e.length-1,s=parseInt(t,10);return new Array(12).fill(null).map((a,l)=>l).reverse().map(a=>{var h;const l=t1.getTransactionGroupTitle(s,a),u=(h=this.transactionsByYear[s])==null?void 0:h[a];return u?ce` - `:p?u.map((w,y)=>{const C=i1.getTransferDescription(w),R=t&&y===u.length-1;return ce` {const C=t1.getTransferDescription(w),T=t&&y===u.length-1;return ce` Trade - `}templateEmpty(){return this.page==="account"?ce`${this.emptyStateAccount()}`:ce`${this.emptyStateActivity()}`}templateLoading(){return this.page==="activity"?Array(JSe).fill(ce` `).map(e=>e):null}onReceiveClick(){et.push("WalletReceive")}createPaginationObserver(){const{projectId:e}=hr.state;this.paginationObserver=new IntersectionObserver(([t])=>{t!=null&&t.isIntersecting&&!this.loading&&(la.fetchTransactions(this.address),yr.sendEvent({type:"track",event:"LOAD_MORE_TRANSACTIONS",properties:{address:this.address,projectId:e,cursor:this.next}}))},{}),this.setPaginationObserver()}setPaginationObserver(){var t,n,i;(t=this.paginationObserver)==null||t.disconnect();const e=(n=this.shadowRoot)==null?void 0:n.querySelector(`#${NC}`);e&&((i=this.paginationObserver)==null||i.observe(e))}getTransactionListItemProps(e){var l,u,h,p,g;const t=rN.formatDate((l=e==null?void 0:e.metadata)==null?void 0:l.minedAt),n=i1.getTransactionDescriptions(e),i=e==null?void 0:e.transfers,s=(u=e==null?void 0:e.transfers)==null?void 0:u[0],o=!!s&&((h=e==null?void 0:e.transfers)==null?void 0:h.every(w=>!!w.nft_info)),a=i1.getTransactionImages(i);return{date:t,direction:s==null?void 0:s.direction,descriptions:n,isAllNFT:o,images:a,status:(p=e.metadata)==null?void 0:p.status,transfers:i,type:(g=e.metadata)==null?void 0:g.operationType}}};Fd.styles=ZSe,Am([pe()],Fd.prototype,"page",void 0),Am([Oe()],Fd.prototype,"address",void 0),Am([Oe()],Fd.prototype,"transactionsByYear",void 0),Am([Oe()],Fd.prototype,"loading",void 0),Am([Oe()],Fd.prototype,"empty",void 0),Am([Oe()],Fd.prototype,"next",void 0),Fd=Am([Le("w3m-activity-list")],Fd);const YSe=Ze` + `}templateEmpty(){return this.page==="account"?ce`${this.emptyStateAccount()}`:ce`${this.emptyStateActivity()}`}templateLoading(){return this.page==="activity"?Array(jSe).fill(ce` `).map(e=>e):null}onReceiveClick(){et.push("WalletReceive")}createPaginationObserver(){const{projectId:e}=hr.state;this.paginationObserver=new IntersectionObserver(([t])=>{t!=null&&t.isIntersecting&&!this.loading&&(la.fetchTransactions(this.address),yr.sendEvent({type:"track",event:"LOAD_MORE_TRANSACTIONS",properties:{address:this.address,projectId:e,cursor:this.next}}))},{}),this.setPaginationObserver()}setPaginationObserver(){var t,n,i;(t=this.paginationObserver)==null||t.disconnect();const e=(n=this.shadowRoot)==null?void 0:n.querySelector(`#${BC}`);e&&((i=this.paginationObserver)==null||i.observe(e))}getTransactionListItemProps(e){var l,u,h,p,g;const t=hN.formatDate((l=e==null?void 0:e.metadata)==null?void 0:l.minedAt),n=t1.getTransactionDescriptions(e),i=e==null?void 0:e.transfers,s=(u=e==null?void 0:e.transfers)==null?void 0:u[0],o=Boolean(s)&&((h=e==null?void 0:e.transfers)==null?void 0:h.every(w=>Boolean(w.nft_info))),a=t1.getTransactionImages(i);return{date:t,direction:s==null?void 0:s.direction,descriptions:n,isAllNFT:o,images:a,status:(p=e.metadata)==null?void 0:p.status,transfers:i,type:(g=e.metadata)==null?void 0:g.operationType}}};jd.styles=FSe,Am([pe()],jd.prototype,"page",void 0),Am([Oe()],jd.prototype,"address",void 0),Am([Oe()],jd.prototype,"transactionsByYear",void 0),Am([Oe()],jd.prototype,"loading",void 0),Am([Oe()],jd.prototype,"empty",void 0),Am([Oe()],jd.prototype,"next",void 0),jd=Am([Le("w3m-activity-list")],jd);const zSe=Ze` :host { width: 100%; height: 100px; @@ -9030,7 +9030,7 @@ Minimum version required to store current data is: `+s+`. display: flex; justify-content: flex-end; } -`;var uP=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let A6=class extends Fe{render(){return ce` =0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let y6=class extends Fe{render(){return ce` Select token`}handleSelectButtonClick(){et.push("WalletSendSelectToken")}sendValueTemplate(){if(this.token&&this.sendTokenAmount){const t=this.token.price*this.sendTokenAmount;return ce`$${t.toFixed(2)}`}return null}maxAmountTemplate(){return this.token?this.sendTokenAmount&&this.sendTokenAmount>Number(this.token.quantity.numeric)?ce` - ${Rr.roundNumber(Number(this.token.quantity.numeric),6,5)} + ${Tr.roundNumber(Number(this.token.quantity.numeric),6,5)} `:ce` - ${Rr.roundNumber(Number(this.token.quantity.numeric),6,5)} - `:null}actionTemplate(){return this.token?this.sendTokenAmount&&this.sendTokenAmount>Number(this.token.quantity.numeric)?ce`Buy`:ce`Max`:null}onInputChange(e){Ma.setTokenAmount(e.detail)}onMaxClick(){var e;this.token&&Ma.setTokenAmount(Number((e=this.token)==null?void 0:e.quantity.numeric))}onBuyClick(){et.push("OnRampProviders")}};A6.styles=YSe,uP([pe({type:Object})],A6.prototype,"token",void 0),uP([pe({type:Number})],A6.prototype,"sendTokenAmount",void 0),A6=uP([Le("w3m-input-token")],A6);const QSe=Ze` + ${Tr.roundNumber(Number(this.token.quantity.numeric),6,5)} + `:null}actionTemplate(){return this.token?this.sendTokenAmount&&this.sendTokenAmount>Number(this.token.quantity.numeric)?ce`Buy`:ce`Max`:null}onInputChange(e){Na.setTokenAmount(e.detail)}onMaxClick(){var e;this.token&&Na.setTokenAmount(Number((e=this.token)==null?void 0:e.quantity.numeric))}onBuyClick(){et.push("OnRampProviders")}};y6.styles=zSe,bP([pe({type:Object})],y6.prototype,"token",void 0),bP([pe({type:Number})],y6.prototype,"sendTokenAmount",void 0),y6=bP([Le("w3m-input-token")],y6);const HSe=Ze` :host { width: 100%; height: 100px; @@ -9117,7 +9117,7 @@ Minimum version required to store current data is: `+s+`. resize: none; overflow: hidden; } -`;var hP=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let C6=class extends Fe{constructor(){super(...arguments),this.inputElementRef=tm(),this.instructionElementRef=tm(),this.instructionHidden=!!this.receiverAddress}firstUpdated(){this.receiverAddress&&(this.instructionHidden=!0),this.checkHidden()}render(){return ce` =0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let x6=class extends Fe{constructor(){super(...arguments),this.inputElementRef=tm(),this.instructionElementRef=tm(),this.instructionHidden=Boolean(this.receiverAddress)}firstUpdated(){this.receiverAddress&&(this.instructionHidden=!0),this.checkHidden()}render(){return ce` ${this.receiverAddress??""} - `}async focusInput(){var e;this.instructionElementRef.value&&(this.instructionHidden=!0,await this.toggleInstructionFocus(!1),this.instructionElementRef.value.style.pointerEvents="none",(e=this.inputElementRef.value)==null||e.focus(),this.inputElementRef.value&&(this.inputElementRef.value.selectionStart=this.inputElementRef.value.selectionEnd=this.inputElementRef.value.value.length))}async focusInstruction(){var e;this.instructionElementRef.value&&(this.instructionHidden=!1,await this.toggleInstructionFocus(!0),this.instructionElementRef.value.style.pointerEvents="auto",(e=this.inputElementRef.value)==null||e.blur())}async toggleInstructionFocus(e){this.instructionElementRef.value&&await this.instructionElementRef.value.animate([{opacity:e?0:1},{opacity:e?1:0}],{duration:100,easing:"ease",fill:"forwards"}).finished}onBoxClick(){!this.receiverAddress&&!this.instructionHidden&&this.focusInput()}onBlur(){!this.receiverAddress&&this.instructionHidden&&this.focusInstruction()}checkHidden(){this.instructionHidden&&this.focusInput()}async onPasteClick(){const e=await navigator.clipboard.readText();Ma.setReceiverAddress(e)}onInputChange(e){const t=e.target;t.value&&!this.instructionHidden&&this.focusInput(),Ma.setReceiverAddress(t.value)}};C6.styles=QSe,hP([pe()],C6.prototype,"receiverAddress",void 0),hP([Oe()],C6.prototype,"instructionHidden",void 0),C6=hP([Le("w3m-input-address")],C6);const XSe=Ze` + `}async focusInput(){var e;this.instructionElementRef.value&&(this.instructionHidden=!0,await this.toggleInstructionFocus(!1),this.instructionElementRef.value.style.pointerEvents="none",(e=this.inputElementRef.value)==null||e.focus(),this.inputElementRef.value&&(this.inputElementRef.value.selectionStart=this.inputElementRef.value.selectionEnd=this.inputElementRef.value.value.length))}async focusInstruction(){var e;this.instructionElementRef.value&&(this.instructionHidden=!1,await this.toggleInstructionFocus(!0),this.instructionElementRef.value.style.pointerEvents="auto",(e=this.inputElementRef.value)==null||e.blur())}async toggleInstructionFocus(e){this.instructionElementRef.value&&await this.instructionElementRef.value.animate([{opacity:e?0:1},{opacity:e?1:0}],{duration:100,easing:"ease",fill:"forwards"}).finished}onBoxClick(){!this.receiverAddress&&!this.instructionHidden&&this.focusInput()}onBlur(){!this.receiverAddress&&this.instructionHidden&&this.focusInstruction()}checkHidden(){this.instructionHidden&&this.focusInput()}async onPasteClick(){const e=await navigator.clipboard.readText();Na.setReceiverAddress(e)}onInputChange(e){const t=e.target;t.value&&!this.instructionHidden&&this.focusInput(),Na.setReceiverAddress(t.value)}};x6.styles=HSe,wP([pe()],x6.prototype,"receiverAddress",void 0),wP([Oe()],x6.prototype,"instructionHidden",void 0),x6=wP([Le("w3m-input-address")],x6);const qSe=Ze` :host { display: flex; width: 100%; @@ -9193,12 +9193,12 @@ ${this.receiverAddress??""}=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let S6=class extends Fe{render(){return ce` Details +`;var vP=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let _6=class extends Fe{render(){return ce` Details ${this.networkTemplate()} @@ -9206,21 +9206,21 @@ ${this.receiverAddress??""}this.onNetworkClick(this.caipNetwork)} class="network" textTitle="Network" - imageSrc=${gr(Zn.getNetworkImage(this.caipNetwork))} - >`:null}onNetworkClick(e){e&&et.push("Networks",{network:e})}};S6.styles=XSe,fP([pe()],S6.prototype,"receiverAddress",void 0),fP([pe({type:Object})],S6.prototype,"caipNetwork",void 0),S6=fP([Le("w3m-wallet-send-details")],S6);let Kte=!1;class eIe{constructor(e){this.initPromise=void 0,this.setIsConnected=t=>{qt.setIsConnected(t)},this.getIsConnectedState=()=>qt.state.isConnected,this.setCaipAddress=t=>{qt.setCaipAddress(t)},this.setBalance=(t,n)=>{qt.setBalance(t,n)},this.setProfileName=t=>{qt.setProfileName(t)},this.setProfileImage=t=>{qt.setProfileImage(t)},this.resetAccount=()=>{qt.resetAccount()},this.setCaipNetwork=t=>{lr.setCaipNetwork(t)},this.getCaipNetwork=()=>lr.state.caipNetwork,this.setRequestedCaipNetworks=t=>{lr.setRequestedCaipNetworks(t)},this.getApprovedCaipNetworksData=()=>lr.getApprovedCaipNetworksData(),this.resetNetwork=()=>{lr.resetNetwork()},this.setConnectors=t=>{$n.setConnectors(t)},this.addConnector=t=>{$n.addConnector(t)},this.getConnectors=()=>$n.getConnectors(),this.resetWcConnection=()=>{zr.resetWcConnection()},this.fetchIdentity=t=>Ta.fetchIdentity(t),this.setAddressExplorerUrl=t=>{qt.setAddressExplorerUrl(t)},this.setSmartAccountDeployed=t=>{qt.setSmartAccountDeployed(t)},this.setConnectedWalletInfo=t=>{qt.setConnectedWalletInfo(t)},this.setSmartAccountEnabledNetworks=t=>{lr.setSmartAccountEnabledNetworks(t)},this.setPreferredAccountType=t=>{qt.setPreferredAccountType(t)},this.initControllers(e),this.initOrContinue()}async open(e){await this.initOrContinue(),Zr.open(e)}async close(){await this.initOrContinue(),Zr.close()}setLoading(e){Zr.setLoading(e)}getThemeMode(){return Gs.state.themeMode}getThemeVariables(){return Gs.state.themeVariables}setThemeMode(e){Gs.setThemeMode(e),pN(Gs.state.themeMode)}setThemeVariables(e){Gs.setThemeVariables(e),kee(Gs.state.themeVariables)}subscribeTheme(e){return Gs.subscribe(e)}getWalletInfo(){return qt.state.connectedWalletInfo}subscribeWalletInfo(e){return qt.subscribeKey("connectedWalletInfo",e)}getState(){return Ug.state}subscribeState(e){return Ug.subscribe(e)}showErrorMessage(e){fn.showError(e)}showSuccessMessage(e){fn.showSuccess(e)}getEvent(){return{...yr.state}}subscribeEvents(e){return yr.subscribe(e)}redirect(e){et.push(e)}popTransactionStack(e){et.popTransactionStack(e)}isOpen(){return Zr.state.open}isTransactionStackEmpty(){return et.state.transactionStack.length===0}async initControllers(e){if(lr.setClient(e.networkControllerClient),lr.setDefaultCaipNetwork(e.defaultChain),hr.setProjectId(e.projectId),hr.setAllWallets(e.allWallets),hr.setIncludeWalletIds(e.includeWalletIds),hr.setExcludeWalletIds(e.excludeWalletIds),hr.setFeaturedWalletIds(e.featuredWalletIds),hr.setTokens(e.tokens),hr.setTermsConditionsUrl(e.termsConditionsUrl),hr.setPrivacyPolicyUrl(e.privacyPolicyUrl),hr.setCustomWallets(e.customWallets),hr.setEnableAnalytics(e.enableAnalytics),hr.setSdkVersion(e._sdkVersion),zr.setClient(e.connectionControllerClient),e.siweControllerClient){const{SIWEController:t}=await Promise.resolve().then(()=>CR);t.setSIWEClient(e.siweControllerClient)}e.metadata&&hr.setMetadata(e.metadata),e.themeMode&&Gs.setThemeMode(e.themeMode),e.themeVariables&&Gs.setThemeVariables(e.themeVariables),e.enableOnramp&&hr.setOnrampEnabled(!!e.enableOnramp),e.enableWalletFeatures&&hr.setWalletFeaturesEnabled(!!e.enableWalletFeatures),e.allowUnsupportedChain&&lr.setAllowUnsupportedChain(e.allowUnsupportedChain)}async initOrContinue(){return!this.initPromise&&!Kte&&tr.isClient()&&(Kte=!0,this.initPromise=new Promise(async e=>{await Promise.all([Promise.resolve().then(()=>wAe),Promise.resolve().then(()=>xAe)]);const t=document.createElement("w3m-modal");document.body.insertAdjacentElement("beforeend",t),e()})),this.initPromise}}var dP={exports:{}},ey=typeof Reflect=="object"?Reflect:null,Zte=ey&&typeof ey.apply=="function"?ey.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)},PC;ey&&typeof ey.ownKeys=="function"?PC=ey.ownKeys:Object.getOwnPropertySymbols?PC=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:PC=function(e){return Object.getOwnPropertyNames(e)};function tIe(r){console&&console.warn&&console.warn(r)}var Jte=Number.isNaN||function(e){return e!==e};function hi(){hi.init.call(this)}dP.exports=hi,dP.exports.once=sIe,hi.EventEmitter=hi,hi.prototype._events=void 0,hi.prototype._eventsCount=0,hi.prototype._maxListeners=void 0;var Yte=10;function OC(r){if(typeof r!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof r)}Object.defineProperty(hi,"defaultMaxListeners",{enumerable:!0,get:function(){return Yte},set:function(r){if(typeof r!="number"||r<0||Jte(r))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+r+".");Yte=r}}),hi.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},hi.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||Jte(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function Qte(r){return r._maxListeners===void 0?hi.defaultMaxListeners:r._maxListeners}hi.prototype.getMaxListeners=function(){return Qte(this)},hi.prototype.emit=function(e){for(var t=[],n=1;n0&&(o=t[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var l=s[e];if(l===void 0)return!1;if(typeof l=="function")Zte(l,this,t);else for(var u=l.length,h=nre(l,u),n=0;n0&&o.length>i&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=r,a.type=e,a.count=o.length,tIe(a)}return r}hi.prototype.addListener=function(e,t){return Xte(this,e,t,!1)},hi.prototype.on=hi.prototype.addListener,hi.prototype.prependListener=function(e,t){return Xte(this,e,t,!0)};function rIe(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function ere(r,e,t){var n={fired:!1,wrapFn:void 0,target:r,type:e,listener:t},i=rIe.bind(n);return i.listener=t,n.wrapFn=i,i}hi.prototype.once=function(e,t){return OC(t),this.on(e,ere(this,e,t)),this},hi.prototype.prependOnceListener=function(e,t){return OC(t),this.prependListener(e,ere(this,e,t)),this},hi.prototype.removeListener=function(e,t){var n,i,s,o,a;if(OC(t),i=this._events,i===void 0)return this;if(n=i[e],n===void 0)return this;if(n===t||n.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||t));else if(typeof n!="function"){for(s=-1,o=n.length-1;o>=0;o--)if(n[o]===t||n[o].listener===t){a=n[o].listener,s=o;break}if(s<0)return this;s===0?n.shift():nIe(n,s),n.length===1&&(i[e]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",e,a||t)}return this},hi.prototype.off=hi.prototype.removeListener,hi.prototype.removeAllListeners=function(e){var t,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var s=Object.keys(n),o;for(i=0;i=0;i--)this.removeListener(e,t[i]);return this};function tre(r,e,t){var n=r._events;if(n===void 0)return[];var i=n[e];return i===void 0?[]:typeof i=="function"?t?[i.listener||i]:[i]:t?iIe(i):nre(i,i.length)}hi.prototype.listeners=function(e){return tre(this,e,!0)},hi.prototype.rawListeners=function(e){return tre(this,e,!1)},hi.listenerCount=function(r,e){return typeof r.listenerCount=="function"?r.listenerCount(e):rre.call(r,e)},hi.prototype.listenerCount=rre;function rre(r){var e=this._events;if(e!==void 0){var t=e[r];if(typeof t=="function")return 1;if(t!==void 0)return t.length}return 0}hi.prototype.eventNames=function(){return this._eventsCount>0?PC(this._events):[]};function nre(r,e){for(var t=new Array(e),n=0;n>>16&65535,h=a&65535,p=l>>>16&65535,g=l&65535;return h*g+(u*g+h*p<<16>>>0)|0}r.mul=Math.imul||e;function t(a,l){return a+l|0}r.add=t;function n(a,l){return a-l|0}r.sub=n;function i(a,l){return a<>>32-l}r.rotl=i;function s(a,l){return a<<32-l|a>>>l}r.rotr=s;function o(a){return typeof a=="number"&&isFinite(a)&&Math.floor(a)===a}r.isInteger=Number.isInteger||o,r.MAX_SAFE_INTEGER=9007199254740991,r.isSafeInteger=function(a){return r.isInteger(a)&&a>=-r.MAX_SAFE_INTEGER&&a<=r.MAX_SAFE_INTEGER}})(sre),Object.defineProperty(Gr,"__esModule",{value:!0});var ore=sre;function aIe(r,e){return e===void 0&&(e=0),(r[e+0]<<8|r[e+1])<<16>>16}Gr.readInt16BE=aIe;function cIe(r,e){return e===void 0&&(e=0),(r[e+0]<<8|r[e+1])>>>0}Gr.readUint16BE=cIe;function lIe(r,e){return e===void 0&&(e=0),(r[e+1]<<8|r[e])<<16>>16}Gr.readInt16LE=lIe;function uIe(r,e){return e===void 0&&(e=0),(r[e+1]<<8|r[e])>>>0}Gr.readUint16LE=uIe;function are(r,e,t){return e===void 0&&(e=new Uint8Array(2)),t===void 0&&(t=0),e[t+0]=r>>>8,e[t+1]=r>>>0,e}Gr.writeUint16BE=are,Gr.writeInt16BE=are;function cre(r,e,t){return e===void 0&&(e=new Uint8Array(2)),t===void 0&&(t=0),e[t+0]=r>>>0,e[t+1]=r>>>8,e}Gr.writeUint16LE=cre,Gr.writeInt16LE=cre;function pP(r,e){return e===void 0&&(e=0),r[e]<<24|r[e+1]<<16|r[e+2]<<8|r[e+3]}Gr.readInt32BE=pP;function gP(r,e){return e===void 0&&(e=0),(r[e]<<24|r[e+1]<<16|r[e+2]<<8|r[e+3])>>>0}Gr.readUint32BE=gP;function mP(r,e){return e===void 0&&(e=0),r[e+3]<<24|r[e+2]<<16|r[e+1]<<8|r[e]}Gr.readInt32LE=mP;function bP(r,e){return e===void 0&&(e=0),(r[e+3]<<24|r[e+2]<<16|r[e+1]<<8|r[e])>>>0}Gr.readUint32LE=bP;function $C(r,e,t){return e===void 0&&(e=new Uint8Array(4)),t===void 0&&(t=0),e[t+0]=r>>>24,e[t+1]=r>>>16,e[t+2]=r>>>8,e[t+3]=r>>>0,e}Gr.writeUint32BE=$C,Gr.writeInt32BE=$C;function BC(r,e,t){return e===void 0&&(e=new Uint8Array(4)),t===void 0&&(t=0),e[t+0]=r>>>0,e[t+1]=r>>>8,e[t+2]=r>>>16,e[t+3]=r>>>24,e}Gr.writeUint32LE=BC,Gr.writeInt32LE=BC;function hIe(r,e){e===void 0&&(e=0);var t=pP(r,e),n=pP(r,e+4);return t*4294967296+n-(n>>31)*4294967296}Gr.readInt64BE=hIe;function fIe(r,e){e===void 0&&(e=0);var t=gP(r,e),n=gP(r,e+4);return t*4294967296+n}Gr.readUint64BE=fIe;function dIe(r,e){e===void 0&&(e=0);var t=mP(r,e),n=mP(r,e+4);return n*4294967296+t-(t>>31)*4294967296}Gr.readInt64LE=dIe;function pIe(r,e){e===void 0&&(e=0);var t=bP(r,e),n=bP(r,e+4);return n*4294967296+t}Gr.readUint64LE=pIe;function lre(r,e,t){return e===void 0&&(e=new Uint8Array(8)),t===void 0&&(t=0),$C(r/4294967296>>>0,e,t),$C(r>>>0,e,t+4),e}Gr.writeUint64BE=lre,Gr.writeInt64BE=lre;function ure(r,e,t){return e===void 0&&(e=new Uint8Array(8)),t===void 0&&(t=0),BC(r>>>0,e,t),BC(r/4294967296>>>0,e,t+4),e}Gr.writeUint64LE=ure,Gr.writeInt64LE=ure;function gIe(r,e,t){if(t===void 0&&(t=0),r%8!==0)throw new Error("readUintBE supports only bitLengths divisible by 8");if(r/8>e.length-t)throw new Error("readUintBE: array is too short for the given bitLength");for(var n=0,i=1,s=r/8+t-1;s>=t;s--)n+=e[s]*i,i*=256;return n}Gr.readUintBE=gIe;function mIe(r,e,t){if(t===void 0&&(t=0),r%8!==0)throw new Error("readUintLE supports only bitLengths divisible by 8");if(r/8>e.length-t)throw new Error("readUintLE: array is too short for the given bitLength");for(var n=0,i=1,s=t;s=n;s--)t[s]=e/i&255,i*=256;return t}Gr.writeUintBE=bIe;function wIe(r,e,t,n){if(t===void 0&&(t=new Uint8Array(r/8)),n===void 0&&(n=0),r%8!==0)throw new Error("writeUintLE supports only bitLengths divisible by 8");if(!ore.isSafeInteger(e))throw new Error("writeUintLE value must be an integer");for(var i=1,s=n;s>>16|m<<16,W=W+m|0,D^=W,D=D>>>20|D<<12,B=B+$|0,x^=B,x=x>>>16|x<<16,P=P+x|0,$^=P,$=$>>>20|$<<12,j=j+V|0,A^=j,A=A>>>16|A<<16,b=b+A|0,V^=b,V=V>>>20|V<<12,G=G+te|0,I^=G,I=I>>>16|I<<16,d=d+I|0,te^=d,te=te>>>20|te<<12,j=j+V|0,A^=j,A=A>>>24|A<<8,b=b+A|0,V^=b,V=V>>>25|V<<7,G=G+te|0,I^=G,I=I>>>24|I<<8,d=d+I|0,te^=d,te=te>>>25|te<<7,B=B+$|0,x^=B,x=x>>>24|x<<8,P=P+x|0,$^=P,$=$>>>25|$<<7,O=O+D|0,m^=O,m=m>>>24|m<<8,W=W+m|0,D^=W,D=D>>>25|D<<7,O=O+$|0,I^=O,I=I>>>16|I<<16,b=b+I|0,$^=b,$=$>>>20|$<<12,B=B+V|0,m^=B,m=m>>>16|m<<16,d=d+m|0,V^=d,V=V>>>20|V<<12,j=j+te|0,x^=j,x=x>>>16|x<<16,W=W+x|0,te^=W,te=te>>>20|te<<12,G=G+D|0,A^=G,A=A>>>16|A<<16,P=P+A|0,D^=P,D=D>>>20|D<<12,j=j+te|0,x^=j,x=x>>>24|x<<8,W=W+x|0,te^=W,te=te>>>25|te<<7,G=G+D|0,A^=G,A=A>>>24|A<<8,P=P+A|0,D^=P,D=D>>>25|D<<7,B=B+V|0,m^=B,m=m>>>24|m<<8,d=d+m|0,V^=d,V=V>>>25|V<<7,O=O+$|0,I^=O,I=I>>>24|I<<8,b=b+I|0,$^=b,$=$>>>25|$<<7;pa.writeUint32LE(O+n|0,r,0),pa.writeUint32LE(B+i|0,r,4),pa.writeUint32LE(j+s|0,r,8),pa.writeUint32LE(G+o|0,r,12),pa.writeUint32LE(D+a|0,r,16),pa.writeUint32LE($+l|0,r,20),pa.writeUint32LE(V+u|0,r,24),pa.writeUint32LE(te+h|0,r,28),pa.writeUint32LE(W+p|0,r,32),pa.writeUint32LE(P+g|0,r,36),pa.writeUint32LE(b+w|0,r,40),pa.writeUint32LE(d+y|0,r,44),pa.writeUint32LE(m+C|0,r,48),pa.writeUint32LE(x+R|0,r,52),pa.writeUint32LE(A+k|0,r,56),pa.writeUint32LE(I+M|0,r,60)}function hre(r,e,t,n,i){if(i===void 0&&(i=0),r.length!==32)throw new Error("ChaCha: key size must be 32 bytes");if(n.length>>=8,e++;if(n>0)throw new Error("ChaCha: counter overflow")}var fre={},u1={};Object.defineProperty(u1,"__esModule",{value:!0});function NIe(r,e,t){return~(r-1)&e|r-1&t}u1.select=NIe;function PIe(r,e){return(r|0)-(e|0)-1>>>31&1}u1.lessOrEqual=PIe;function dre(r,e){if(r.length!==e.length)return 0;for(var t=0,n=0;n>>8}u1.compare=dre;function OIe(r,e){return r.length===0||e.length===0?!1:dre(r,e)!==0}u1.equal=OIe,function(r){Object.defineProperty(r,"__esModule",{value:!0});var e=u1,t=zc;r.DIGEST_LENGTH=16;var n=function(){function o(a){this.digestLength=r.DIGEST_LENGTH,this._buffer=new Uint8Array(16),this._r=new Uint16Array(10),this._h=new Uint16Array(10),this._pad=new Uint16Array(8),this._leftover=0,this._fin=0,this._finished=!1;var l=a[0]|a[1]<<8;this._r[0]=l&8191;var u=a[2]|a[3]<<8;this._r[1]=(l>>>13|u<<3)&8191;var h=a[4]|a[5]<<8;this._r[2]=(u>>>10|h<<6)&7939;var p=a[6]|a[7]<<8;this._r[3]=(h>>>7|p<<9)&8191;var g=a[8]|a[9]<<8;this._r[4]=(p>>>4|g<<12)&255,this._r[5]=g>>>1&8190;var w=a[10]|a[11]<<8;this._r[6]=(g>>>14|w<<2)&8191;var y=a[12]|a[13]<<8;this._r[7]=(w>>>11|y<<5)&8065;var C=a[14]|a[15]<<8;this._r[8]=(y>>>8|C<<8)&8191,this._r[9]=C>>>5&127,this._pad[0]=a[16]|a[17]<<8,this._pad[1]=a[18]|a[19]<<8,this._pad[2]=a[20]|a[21]<<8,this._pad[3]=a[22]|a[23]<<8,this._pad[4]=a[24]|a[25]<<8,this._pad[5]=a[26]|a[27]<<8,this._pad[6]=a[28]|a[29]<<8,this._pad[7]=a[30]|a[31]<<8}return o.prototype._blocks=function(a,l,u){for(var h=this._fin?0:2048,p=this._h[0],g=this._h[1],w=this._h[2],y=this._h[3],C=this._h[4],R=this._h[5],k=this._h[6],M=this._h[7],O=this._h[8],B=this._h[9],j=this._r[0],G=this._r[1],D=this._r[2],$=this._r[3],V=this._r[4],te=this._r[5],W=this._r[6],P=this._r[7],b=this._r[8],d=this._r[9];u>=16;){var m=a[l+0]|a[l+1]<<8;p+=m&8191;var x=a[l+2]|a[l+3]<<8;g+=(m>>>13|x<<3)&8191;var A=a[l+4]|a[l+5]<<8;w+=(x>>>10|A<<6)&8191;var I=a[l+6]|a[l+7]<<8;y+=(A>>>7|I<<9)&8191;var T=a[l+8]|a[l+9]<<8;C+=(I>>>4|T<<12)&8191,R+=T>>>1&8191;var S=a[l+10]|a[l+11]<<8;k+=(T>>>14|S<<2)&8191;var E=a[l+12]|a[l+13]<<8;M+=(S>>>11|E<<5)&8191;var _=a[l+14]|a[l+15]<<8;O+=(E>>>8|_<<8)&8191,B+=_>>>5|h;var U=0,ie=U;ie+=p*j,ie+=g*(5*d),ie+=w*(5*b),ie+=y*(5*P),ie+=C*(5*W),U=ie>>>13,ie&=8191,ie+=R*(5*te),ie+=k*(5*V),ie+=M*(5*$),ie+=O*(5*D),ie+=B*(5*G),U+=ie>>>13,ie&=8191;var q=U;q+=p*G,q+=g*j,q+=w*(5*d),q+=y*(5*b),q+=C*(5*P),U=q>>>13,q&=8191,q+=R*(5*W),q+=k*(5*te),q+=M*(5*V),q+=O*(5*$),q+=B*(5*D),U+=q>>>13,q&=8191;var Y=U;Y+=p*D,Y+=g*G,Y+=w*j,Y+=y*(5*d),Y+=C*(5*b),U=Y>>>13,Y&=8191,Y+=R*(5*P),Y+=k*(5*W),Y+=M*(5*te),Y+=O*(5*V),Y+=B*(5*$),U+=Y>>>13,Y&=8191;var K=U;K+=p*$,K+=g*D,K+=w*G,K+=y*j,K+=C*(5*d),U=K>>>13,K&=8191,K+=R*(5*b),K+=k*(5*P),K+=M*(5*W),K+=O*(5*te),K+=B*(5*V),U+=K>>>13,K&=8191;var ee=U;ee+=p*V,ee+=g*$,ee+=w*D,ee+=y*G,ee+=C*j,U=ee>>>13,ee&=8191,ee+=R*(5*d),ee+=k*(5*b),ee+=M*(5*P),ee+=O*(5*W),ee+=B*(5*te),U+=ee>>>13,ee&=8191;var re=U;re+=p*te,re+=g*V,re+=w*$,re+=y*D,re+=C*G,U=re>>>13,re&=8191,re+=R*j,re+=k*(5*d),re+=M*(5*b),re+=O*(5*P),re+=B*(5*W),U+=re>>>13,re&=8191;var z=U;z+=p*W,z+=g*te,z+=w*V,z+=y*$,z+=C*D,U=z>>>13,z&=8191,z+=R*G,z+=k*j,z+=M*(5*d),z+=O*(5*b),z+=B*(5*P),U+=z>>>13,z&=8191;var L=U;L+=p*P,L+=g*W,L+=w*te,L+=y*V,L+=C*$,U=L>>>13,L&=8191,L+=R*D,L+=k*G,L+=M*j,L+=O*(5*d),L+=B*(5*b),U+=L>>>13,L&=8191;var H=U;H+=p*b,H+=g*P,H+=w*W,H+=y*te,H+=C*V,U=H>>>13,H&=8191,H+=R*$,H+=k*D,H+=M*G,H+=O*j,H+=B*(5*d),U+=H>>>13,H&=8191;var le=U;le+=p*d,le+=g*b,le+=w*P,le+=y*W,le+=C*te,U=le>>>13,le&=8191,le+=R*V,le+=k*$,le+=M*D,le+=O*G,le+=B*j,U+=le>>>13,le&=8191,U=(U<<2)+U|0,U=U+ie|0,ie=U&8191,U=U>>>13,q+=U,p=ie,g=q,w=Y,y=K,C=ee,R=re,k=z,M=L,O=H,B=le,l+=16,u-=16}this._h[0]=p,this._h[1]=g,this._h[2]=w,this._h[3]=y,this._h[4]=C,this._h[5]=R,this._h[6]=k,this._h[7]=M,this._h[8]=O,this._h[9]=B},o.prototype.finish=function(a,l){l===void 0&&(l=0);var u=new Uint16Array(10),h,p,g,w;if(this._leftover){for(w=this._leftover,this._buffer[w++]=1;w<16;w++)this._buffer[w]=0;this._fin=1,this._blocks(this._buffer,0,16)}for(h=this._h[1]>>>13,this._h[1]&=8191,w=2;w<10;w++)this._h[w]+=h,h=this._h[w]>>>13,this._h[w]&=8191;for(this._h[0]+=h*5,h=this._h[0]>>>13,this._h[0]&=8191,this._h[1]+=h,h=this._h[1]>>>13,this._h[1]&=8191,this._h[2]+=h,u[0]=this._h[0]+5,h=u[0]>>>13,u[0]&=8191,w=1;w<10;w++)u[w]=this._h[w]+h,h=u[w]>>>13,u[w]&=8191;for(u[9]-=8192,p=(h^1)-1,w=0;w<10;w++)u[w]&=p;for(p=~p,w=0;w<10;w++)this._h[w]=this._h[w]&p|u[w];for(this._h[0]=(this._h[0]|this._h[1]<<13)&65535,this._h[1]=(this._h[1]>>>3|this._h[2]<<10)&65535,this._h[2]=(this._h[2]>>>6|this._h[3]<<7)&65535,this._h[3]=(this._h[3]>>>9|this._h[4]<<4)&65535,this._h[4]=(this._h[4]>>>12|this._h[5]<<1|this._h[6]<<14)&65535,this._h[5]=(this._h[6]>>>2|this._h[7]<<11)&65535,this._h[6]=(this._h[7]>>>5|this._h[8]<<8)&65535,this._h[7]=(this._h[8]>>>8|this._h[9]<<5)&65535,g=this._h[0]+this._pad[0],this._h[0]=g&65535,w=1;w<8;w++)g=(this._h[w]+this._pad[w]|0)+(g>>>16)|0,this._h[w]=g&65535;return a[l+0]=this._h[0]>>>0,a[l+1]=this._h[0]>>>8,a[l+2]=this._h[1]>>>0,a[l+3]=this._h[1]>>>8,a[l+4]=this._h[2]>>>0,a[l+5]=this._h[2]>>>8,a[l+6]=this._h[3]>>>0,a[l+7]=this._h[3]>>>8,a[l+8]=this._h[4]>>>0,a[l+9]=this._h[4]>>>8,a[l+10]=this._h[5]>>>0,a[l+11]=this._h[5]>>>8,a[l+12]=this._h[6]>>>0,a[l+13]=this._h[6]>>>8,a[l+14]=this._h[7]>>>0,a[l+15]=this._h[7]>>>8,this._finished=!0,this},o.prototype.update=function(a){var l=0,u=a.length,h;if(this._leftover){h=16-this._leftover,h>u&&(h=u);for(var p=0;p=16&&(h=u-u%16,this._blocks(a,l,h),l+=h,u-=h),u){for(var p=0;p16)throw new Error("ChaCha20Poly1305: incorrect nonce length");var w=new Uint8Array(16);w.set(u,w.length-u.length);var y=new Uint8Array(32);e.stream(this._key,w,y,4);var C=h.length+this.tagLength,R;if(g){if(g.length!==C)throw new Error("ChaCha20Poly1305: incorrect destination length");R=g}else R=new Uint8Array(C);return e.streamXOR(this._key,w,h,R,4),this._authenticate(R.subarray(R.length-this.tagLength,R.length),y,R.subarray(0,R.length-this.tagLength),p),n.wipe(w),R},l.prototype.open=function(u,h,p,g){if(u.length>16)throw new Error("ChaCha20Poly1305: incorrect nonce length");if(h.length0&&w.update(o.subarray(g.length%16))),w.update(p),p.length%16>0&&w.update(o.subarray(p.length%16));var y=new Uint8Array(8);g&&i.writeUint64LE(g.length,y),w.update(y),i.writeUint64LE(p.length,y),w.update(y);for(var C=w.digest(),R=0;Rthis.blockSize?this._inner.update(t).finish(n).clean():n.set(t);for(var i=0;i1&&this._hmac.update(this._buffer),this._info&&this._hmac.update(this._info),this._hmac.update(this._counter),this._hmac.finish(this._buffer),this._bufpos=0},r.prototype.expand=function(e){for(var t=new Uint8Array(e),n=0;n */var yre;function nn(){return yre||(yre=1,function(r,e){var t=Hc,n=t.Buffer;function i(o,a){for(var l in o)a[l]=o[l]}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?r.exports=t:(i(t,e),e.Buffer=s);function s(o,a,l){return n(o,a,l)}s.prototype=Object.create(n.prototype),i(n,s),s.from=function(o,a,l){if(typeof o=="number")throw new TypeError("Argument must not be a number");return n(o,a,l)},s.alloc=function(o,a,l){if(typeof o!="number")throw new TypeError("Argument must be a number");var u=n(o);return a!==void 0?typeof l=="string"?u.fill(a,l):u.fill(a):u.fill(0),u},s.allocUnsafe=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return n(o)},s.allocUnsafeSlow=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return t.SlowBuffer(o)}}(zC,zC.exports)),zC.exports}var xre;function ry(){if(xre)return jC.exports;xre=1;var r=65536,e=4294967295;function t(){throw new Error(`Secure random number generation is not supported by this browser. -Use Chrome, Firefox or Internet Explorer 11`)}var n=nn().Buffer,i=ct.crypto||ct.msCrypto;i&&i.getRandomValues?jC.exports=s:jC.exports=t;function s(o,a){if(o>e)throw new RangeError("requested too many random bytes");var l=n.allocUnsafe(o);if(o>0)if(o>r)for(var u=0;u"u"||!C?r:C(Uint8Array),M={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?r:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?r:ArrayBuffer,"%ArrayIteratorPrototype%":w&&C?C([][Symbol.iterator]()):r,"%AsyncFromSyncIteratorPrototype%":r,"%AsyncFunction%":R,"%AsyncGenerator%":R,"%AsyncGeneratorFunction%":R,"%AsyncIteratorPrototype%":R,"%Atomics%":typeof Atomics>"u"?r:Atomics,"%BigInt%":typeof BigInt>"u"?r:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?r:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?r:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?r:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":e,"%eval%":eval,"%EvalError%":t,"%Float32Array%":typeof Float32Array>"u"?r:Float32Array,"%Float64Array%":typeof Float64Array>"u"?r:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?r:FinalizationRegistry,"%Function%":l,"%GeneratorFunction%":R,"%Int8Array%":typeof Int8Array>"u"?r:Int8Array,"%Int16Array%":typeof Int16Array>"u"?r:Int16Array,"%Int32Array%":typeof Int32Array>"u"?r:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":w&&C?C(C([][Symbol.iterator]())):r,"%JSON%":typeof JSON=="object"?JSON:r,"%Map%":typeof Map>"u"?r:Map,"%MapIteratorPrototype%":typeof Map>"u"||!w||!C?r:C(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?r:Promise,"%Proxy%":typeof Proxy>"u"?r:Proxy,"%RangeError%":n,"%ReferenceError%":i,"%Reflect%":typeof Reflect>"u"?r:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?r:Set,"%SetIteratorPrototype%":typeof Set>"u"||!w||!C?r:C(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?r:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":w&&C?C(""[Symbol.iterator]()):r,"%Symbol%":w?Symbol:r,"%SyntaxError%":s,"%ThrowTypeError%":g,"%TypedArray%":k,"%TypeError%":o,"%Uint8Array%":typeof Uint8Array>"u"?r:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?r:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?r:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?r:Uint32Array,"%URIError%":a,"%WeakMap%":typeof WeakMap>"u"?r:WeakMap,"%WeakRef%":typeof WeakRef>"u"?r:WeakRef,"%WeakSet%":typeof WeakSet>"u"?r:WeakSet};if(C)try{null.error}catch(A){var O=C(C(A));M["%Error.prototype%"]=O}var B=function A(I){var T;if(I==="%AsyncFunction%")T=u("async function () {}");else if(I==="%GeneratorFunction%")T=u("function* () {}");else if(I==="%AsyncGeneratorFunction%")T=u("async function* () {}");else if(I==="%AsyncGenerator%"){var S=A("%AsyncGeneratorFunction%");S&&(T=S.prototype)}else if(I==="%AsyncIteratorPrototype%"){var E=A("%AsyncGenerator%");E&&C&&(T=C(E.prototype))}return M[I]=T,T},j={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},G=BP(),D=JIe(),$=G.call(Function.call,Array.prototype.concat),V=G.call(Function.apply,Array.prototype.splice),te=G.call(Function.call,String.prototype.replace),W=G.call(Function.call,String.prototype.slice),P=G.call(Function.call,RegExp.prototype.exec),b=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,d=/\\(\\)?/g,m=function(I){var T=W(I,0,1),S=W(I,-1);if(T==="%"&&S!=="%")throw new s("invalid intrinsic syntax, expected closing `%`");if(S==="%"&&T!=="%")throw new s("invalid intrinsic syntax, expected opening `%`");var E=[];return te(I,b,function(_,U,ie,q){E[E.length]=ie?te(q,d,"$1"):U||_}),E},x=function(I,T){var S=I,E;if(D(j,S)&&(E=j[S],S="%"+E[0]+"%"),D(M,S)){var _=M[S];if(_===R&&(_=B(S)),typeof _>"u"&&!T)throw new o("intrinsic "+I+" exists, but is not available. Please file an issue!");return{alias:E,name:S,value:_}}throw new s("intrinsic "+I+" does not exist!")};return UP=function(I,T){if(typeof I!="string"||I.length===0)throw new o("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof T!="boolean")throw new o('"allowMissing" argument must be a boolean');if(P(/^%?[^%]*%?$/,I)===null)throw new s("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var S=m(I),E=S.length>0?S[0]:"",_=x("%"+E+"%",T),U=_.name,ie=_.value,q=!1,Y=_.alias;Y&&(E=Y[0],V(S,$([0,1],Y)));for(var K=1,ee=!0;K=S.length){var H=h(ie,re);ee=!!H,ee&&"get"in H&&!("originalValue"in H.get)?ie=H.get:ie=ie[re]}else ee=D(ie,re),ie=ie[re];ee&&!q&&(M[U]=ie)}}return ie},UP}var FP={exports:{}},jP,zre;function zP(){if(zre)return jP;zre=1;var r=T6(),e=r("%Object.defineProperty%",!0)||!1;if(e)try{e({},"a",{value:1})}catch{e=!1}return jP=e,jP}var HP,Hre;function qP(){if(Hre)return HP;Hre=1;var r=T6(),e=r("%Object.getOwnPropertyDescriptor%",!0);if(e)try{e([],"length")}catch{e=null}return HP=e,HP}var WP,qre;function YIe(){if(qre)return WP;qre=1;var r=zP(),e=Pre(),t=WC(),n=qP();return WP=function(s,o,a){if(!s||typeof s!="object"&&typeof s!="function")throw new t("`obj` must be an object or a function`");if(typeof o!="string"&&typeof o!="symbol")throw new t("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new t("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new t("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new t("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new t("`loose`, if provided, must be a boolean");var l=arguments.length>3?arguments[3]:null,u=arguments.length>4?arguments[4]:null,h=arguments.length>5?arguments[5]:null,p=arguments.length>6?arguments[6]:!1,g=!!n&&n(s,o);if(r)r(s,o,{configurable:h===null&&g?g.configurable:!h,enumerable:l===null&&g?g.enumerable:!l,value:a,writable:u===null&&g?g.writable:!u});else if(p||!l&&!u&&!h)s[o]=a;else throw new e("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")},WP}var VP,Wre;function QIe(){if(Wre)return VP;Wre=1;var r=zP(),e=function(){return!!r};return e.hasArrayLengthDefineBug=function(){if(!r)return null;try{return r([],"length",{value:1}).length!==1}catch{return!0}},VP=e,VP}var GP,Vre;function XIe(){if(Vre)return GP;Vre=1;var r=T6(),e=YIe(),t=QIe()(),n=qP(),i=WC(),s=r("%Math.floor%");return GP=function(a,l){if(typeof a!="function")throw new i("`fn` is not a function");if(typeof l!="number"||l<0||l>4294967295||s(l)!==l)throw new i("`length` must be a positive 32-bit integer");var u=arguments.length>2&&!!arguments[2],h=!0,p=!0;if("length"in a&&n){var g=n(a,"length");g&&!g.configurable&&(h=!1),g&&!g.writable&&(p=!1)}return(h||p||!u)&&(t?e(a,"length",l,!0,!0):e(a,"length",l)),a},GP}var Gre;function Kre(){return Gre||(Gre=1,function(r){var e=BP(),t=T6(),n=XIe(),i=WC(),s=t("%Function.prototype.apply%"),o=t("%Function.prototype.call%"),a=t("%Reflect.apply%",!0)||e.call(o,s),l=zP(),u=t("%Math.max%");r.exports=function(g){if(typeof g!="function")throw new i("a function is required");var w=a(e,o,arguments);return n(w,1+u(0,g.length-(arguments.length-1)),!0)};var h=function(){return a(e,s,arguments)};l?l(r.exports,"apply",{value:h}):r.exports.apply=h}(FP)),FP.exports}var KP,Zre;function Jre(){if(Zre)return KP;Zre=1;var r=T6(),e=Kre(),t=e(r("String.prototype.indexOf"));return KP=function(i,s){var o=r(i,!!s);return typeof o=="function"&&t(i,".prototype.")>-1?e(o):o},KP}var ZP,Yre;function eRe(){if(Yre)return ZP;Yre=1;var r=CP()(),e=Jre(),t=e("Object.prototype.toString"),n=function(a){return r&&a&&typeof a=="object"&&Symbol.toStringTag in a?!1:t(a)==="[object Arguments]"},i=function(a){return n(a)?!0:a!==null&&typeof a=="object"&&typeof a.length=="number"&&a.length>=0&&t(a)!=="[object Array]"&&t(a.callee)==="[object Function]"},s=function(){return n(arguments)}();return n.isLegacyArguments=i,ZP=s?n:i,ZP}var JP,Qre;function tRe(){if(Qre)return JP;Qre=1;var r=Object.prototype.toString,e=Function.prototype.toString,t=/^\s*(?:function)?\*/,n=CP()(),i=Object.getPrototypeOf,s=function(){if(!n)return!1;try{return Function("return function*() {}")()}catch{}},o;return JP=function(l){if(typeof l!="function")return!1;if(t.test(e.call(l)))return!0;if(!n){var u=r.call(l);return u==="[object GeneratorFunction]"}if(!i)return!1;if(typeof o>"u"){var h=s();o=h?i(h):!1}return i(l)===o},JP}var YP,Xre;function rRe(){if(Xre)return YP;Xre=1;var r=Function.prototype.toString,e=typeof Reflect=="object"&&Reflect!==null&&Reflect.apply,t,n;if(typeof e=="function"&&typeof Object.defineProperty=="function")try{t=Object.defineProperty({},"length",{get:function(){throw n}}),n={},e(function(){throw 42},null,t)}catch(M){M!==n&&(e=null)}else e=null;var i=/^\s*class\b/,s=function(O){try{var B=r.call(O);return i.test(B)}catch{return!1}},o=function(O){try{return s(O)?!1:(r.call(O),!0)}catch{return!1}},a=Object.prototype.toString,l="[object Object]",u="[object Function]",h="[object GeneratorFunction]",p="[object HTMLAllCollection]",g="[object HTML document.all class]",w="[object HTMLCollection]",y=typeof Symbol=="function"&&!!Symbol.toStringTag,C=!(0 in[,]),R=function(){return!1};if(typeof document=="object"){var k=document.all;a.call(k)===a.call(document.all)&&(R=function(O){if((C||!O)&&(typeof O>"u"||typeof O=="object"))try{var B=a.call(O);return(B===p||B===g||B===w||B===l)&&O("")==null}catch{}return!1})}return YP=e?function(O){if(R(O))return!0;if(!O||typeof O!="function"&&typeof O!="object")return!1;try{e(O,null,t)}catch(B){if(B!==n)return!1}return!s(O)&&o(O)}:function(O){if(R(O))return!0;if(!O||typeof O!="function"&&typeof O!="object")return!1;if(y)return o(O);if(s(O))return!1;var B=a.call(O);return B!==u&&B!==h&&!/^\[object HTML/.test(B)?!1:o(O)},YP}var QP,ene;function nRe(){if(ene)return QP;ene=1;var r=rRe(),e=Object.prototype.toString,t=Object.prototype.hasOwnProperty,n=function(l,u,h){for(var p=0,g=l.length;p=3&&(p=h),e.call(l)==="[object Array]"?n(l,u,p):typeof l=="string"?i(l,u,p):s(l,u,p)};return QP=o,QP}var XP,tne;function iRe(){return tne||(tne=1,XP=["Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array"]),XP}var eO,rne;function sRe(){if(rne)return eO;rne=1;var r=iRe(),e=typeof globalThis>"u"?ct:globalThis;return eO=function(){for(var n=[],i=0;i"u"?ct:globalThis,l=e(),u=n("String.prototype.slice"),h=Object.getPrototypeOf,p=n("Array.prototype.indexOf",!0)||function(R,k){for(var M=0;M-1?k:k!=="Object"?!1:y(R)}return i?w(R):null},tO}var rO,sne;function oRe(){if(sne)return rO;sne=1;var r=ine();return rO=function(t){return!!r(t)},rO}var one;function aRe(){return one||(one=1,function(r){var e=eRe(),t=tRe(),n=ine(),i=oRe();function s(Te){return Te.call.bind(Te)}var o=typeof BigInt<"u",a=typeof Symbol<"u",l=s(Object.prototype.toString),u=s(Number.prototype.valueOf),h=s(String.prototype.valueOf),p=s(Boolean.prototype.valueOf);if(o)var g=s(BigInt.prototype.valueOf);if(a)var w=s(Symbol.prototype.valueOf);function y(Te,je){if(typeof Te!="object")return!1;try{return je(Te),!0}catch{return!1}}r.isArgumentsObject=e,r.isGeneratorFunction=t,r.isTypedArray=i;function C(Te){return typeof Promise<"u"&&Te instanceof Promise||Te!==null&&typeof Te=="object"&&typeof Te.then=="function"&&typeof Te.catch=="function"}r.isPromise=C;function R(Te){return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?ArrayBuffer.isView(Te):i(Te)||U(Te)}r.isArrayBufferView=R;function k(Te){return n(Te)==="Uint8Array"}r.isUint8Array=k;function M(Te){return n(Te)==="Uint8ClampedArray"}r.isUint8ClampedArray=M;function O(Te){return n(Te)==="Uint16Array"}r.isUint16Array=O;function B(Te){return n(Te)==="Uint32Array"}r.isUint32Array=B;function j(Te){return n(Te)==="Int8Array"}r.isInt8Array=j;function G(Te){return n(Te)==="Int16Array"}r.isInt16Array=G;function D(Te){return n(Te)==="Int32Array"}r.isInt32Array=D;function $(Te){return n(Te)==="Float32Array"}r.isFloat32Array=$;function V(Te){return n(Te)==="Float64Array"}r.isFloat64Array=V;function te(Te){return n(Te)==="BigInt64Array"}r.isBigInt64Array=te;function W(Te){return n(Te)==="BigUint64Array"}r.isBigUint64Array=W;function P(Te){return l(Te)==="[object Map]"}P.working=typeof Map<"u"&&P(new Map);function b(Te){return typeof Map>"u"?!1:P.working?P(Te):Te instanceof Map}r.isMap=b;function d(Te){return l(Te)==="[object Set]"}d.working=typeof Set<"u"&&d(new Set);function m(Te){return typeof Set>"u"?!1:d.working?d(Te):Te instanceof Set}r.isSet=m;function x(Te){return l(Te)==="[object WeakMap]"}x.working=typeof WeakMap<"u"&&x(new WeakMap);function A(Te){return typeof WeakMap>"u"?!1:x.working?x(Te):Te instanceof WeakMap}r.isWeakMap=A;function I(Te){return l(Te)==="[object WeakSet]"}I.working=typeof WeakSet<"u"&&I(new WeakSet);function T(Te){return I(Te)}r.isWeakSet=T;function S(Te){return l(Te)==="[object ArrayBuffer]"}S.working=typeof ArrayBuffer<"u"&&S(new ArrayBuffer);function E(Te){return typeof ArrayBuffer>"u"?!1:S.working?S(Te):Te instanceof ArrayBuffer}r.isArrayBuffer=E;function _(Te){return l(Te)==="[object DataView]"}_.working=typeof ArrayBuffer<"u"&&typeof DataView<"u"&&_(new DataView(new ArrayBuffer(1),0,1));function U(Te){return typeof DataView>"u"?!1:_.working?_(Te):Te instanceof DataView}r.isDataView=U;var ie=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:void 0;function q(Te){return l(Te)==="[object SharedArrayBuffer]"}function Y(Te){return typeof ie>"u"?!1:(typeof q.working>"u"&&(q.working=q(new ie)),q.working?q(Te):Te instanceof ie)}r.isSharedArrayBuffer=Y;function K(Te){return l(Te)==="[object AsyncFunction]"}r.isAsyncFunction=K;function ee(Te){return l(Te)==="[object Map Iterator]"}r.isMapIterator=ee;function re(Te){return l(Te)==="[object Set Iterator]"}r.isSetIterator=re;function z(Te){return l(Te)==="[object Generator]"}r.isGeneratorObject=z;function L(Te){return l(Te)==="[object WebAssembly.Module]"}r.isWebAssemblyCompiledModule=L;function H(Te){return y(Te,u)}r.isNumberObject=H;function le(Te){return y(Te,h)}r.isStringObject=le;function de(Te){return y(Te,p)}r.isBooleanObject=de;function Se(Te){return o&&y(Te,g)}r.isBigIntObject=Se;function Me(Te){return a&&y(Te,w)}r.isSymbolObject=Me;function ke(Te){return H(Te)||le(Te)||de(Te)||Se(Te)||Me(Te)}r.isBoxedPrimitive=ke;function Ke(Te){return typeof Uint8Array<"u"&&(E(Te)||Y(Te))}r.isAnyArrayBuffer=Ke,["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(Te){Object.defineProperty(r,Te,{enumerable:!1,value:function(){throw new Error(Te+" is not supported in userland")}})})}(_P)),_P}var nO,ane;function cRe(){return ane||(ane=1,nO=function(e){return e&&typeof e=="object"&&typeof e.copy=="function"&&typeof e.fill=="function"&&typeof e.readUInt8=="function"}),nO}var cne;function VC(){return cne||(cne=1,function(r){var e=Object.getOwnPropertyDescriptors||function(U){for(var ie=Object.keys(U),q={},Y=0;Y=Y)return re;switch(re){case"%s":return String(q[ie++]);case"%d":return Number(q[ie++]);case"%j":try{return JSON.stringify(q[ie++])}catch{return"[Circular]"}default:return re}}),ee=q[ie];ie"u")return function(){return r.deprecate(_,U).apply(this,arguments)};var ie=!1;function q(){if(!ie){if(yt.throwDeprecation)throw new Error(U);yt.traceDeprecation?console.trace(U):console.error(U),ie=!0}return _.apply(this,arguments)}return q};var n={},i=/^$/;if(yt.env.NODE_DEBUG){var s=yt.env.NODE_DEBUG;s=s.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),i=new RegExp("^"+s+"$","i")}r.debuglog=function(_){if(_=_.toUpperCase(),!n[_])if(i.test(_)){var U=yt.pid;n[_]=function(){var ie=r.format.apply(r,arguments);console.error("%s %d: %s",_,U,ie)}}else n[_]=function(){};return n[_]};function o(_,U){var ie={seen:[],stylize:l};return arguments.length>=3&&(ie.depth=arguments[2]),arguments.length>=4&&(ie.colors=arguments[3]),k(U)?ie.showHidden=U:U&&r._extend(ie,U),D(ie.showHidden)&&(ie.showHidden=!1),D(ie.depth)&&(ie.depth=2),D(ie.colors)&&(ie.colors=!1),D(ie.customInspect)&&(ie.customInspect=!0),ie.colors&&(ie.stylize=a),h(ie,_,ie.depth)}r.inspect=o,o.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},o.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function a(_,U){var ie=o.styles[U];return ie?"\x1B["+o.colors[ie][0]+"m"+_+"\x1B["+o.colors[ie][1]+"m":_}function l(_,U){return _}function u(_){var U={};return _.forEach(function(ie,q){U[ie]=!0}),U}function h(_,U,ie){if(_.customInspect&&U&&P(U.inspect)&&U.inspect!==r.inspect&&!(U.constructor&&U.constructor.prototype===U)){var q=U.inspect(ie,_);return j(q)||(q=h(_,q,ie)),q}var Y=p(_,U);if(Y)return Y;var K=Object.keys(U),ee=u(K);if(_.showHidden&&(K=Object.getOwnPropertyNames(U)),W(U)&&(K.indexOf("message")>=0||K.indexOf("description")>=0))return g(U);if(K.length===0){if(P(U)){var re=U.name?": "+U.name:"";return _.stylize("[Function"+re+"]","special")}if($(U))return _.stylize(RegExp.prototype.toString.call(U),"regexp");if(te(U))return _.stylize(Date.prototype.toString.call(U),"date");if(W(U))return g(U)}var z="",L=!1,H=["{","}"];if(R(U)&&(L=!0,H=["[","]"]),P(U)){var le=U.name?": "+U.name:"";z=" [Function"+le+"]"}if($(U)&&(z=" "+RegExp.prototype.toString.call(U)),te(U)&&(z=" "+Date.prototype.toUTCString.call(U)),W(U)&&(z=" "+g(U)),K.length===0&&(!L||U.length==0))return H[0]+z+H[1];if(ie<0)return $(U)?_.stylize(RegExp.prototype.toString.call(U),"regexp"):_.stylize("[Object]","special");_.seen.push(U);var de;return L?de=w(_,U,ie,ee,K):de=K.map(function(Se){return y(_,U,ie,ee,Se,L)}),_.seen.pop(),C(de,z,H)}function p(_,U){if(D(U))return _.stylize("undefined","undefined");if(j(U)){var ie="'"+JSON.stringify(U).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return _.stylize(ie,"string")}if(B(U))return _.stylize(""+U,"number");if(k(U))return _.stylize(""+U,"boolean");if(M(U))return _.stylize("null","null")}function g(_){return"["+Error.prototype.toString.call(_)+"]"}function w(_,U,ie,q,Y){for(var K=[],ee=0,re=U.length;ee`:null}onNetworkClick(e){e&&et.push("Networks",{network:e})}};_6.styles=qSe,vP([pe()],_6.prototype,"receiverAddress",void 0),vP([pe({type:Object})],_6.prototype,"caipNetwork",void 0),_6=vP([Le("w3m-wallet-send-details")],_6);let Ute=!1;class WSe{constructor(e){this.initPromise=void 0,this.setIsConnected=t=>{zt.setIsConnected(t)},this.getIsConnectedState=()=>zt.state.isConnected,this.setCaipAddress=t=>{zt.setCaipAddress(t)},this.setBalance=(t,n)=>{zt.setBalance(t,n)},this.setProfileName=t=>{zt.setProfileName(t)},this.setProfileImage=t=>{zt.setProfileImage(t)},this.resetAccount=()=>{zt.resetAccount()},this.setCaipNetwork=t=>{lr.setCaipNetwork(t)},this.getCaipNetwork=()=>lr.state.caipNetwork,this.setRequestedCaipNetworks=t=>{lr.setRequestedCaipNetworks(t)},this.getApprovedCaipNetworksData=()=>lr.getApprovedCaipNetworksData(),this.resetNetwork=()=>{lr.resetNetwork()},this.setConnectors=t=>{Ln.setConnectors(t)},this.addConnector=t=>{Ln.addConnector(t)},this.getConnectors=()=>Ln.getConnectors(),this.resetWcConnection=()=>{Ur.resetWcConnection()},this.fetchIdentity=t=>ka.fetchIdentity(t),this.setAddressExplorerUrl=t=>{zt.setAddressExplorerUrl(t)},this.setSmartAccountDeployed=t=>{zt.setSmartAccountDeployed(t)},this.setConnectedWalletInfo=t=>{zt.setConnectedWalletInfo(t)},this.setSmartAccountEnabledNetworks=t=>{lr.setSmartAccountEnabledNetworks(t)},this.setPreferredAccountType=t=>{zt.setPreferredAccountType(t)},this.initControllers(e),this.initOrContinue()}async open(e){await this.initOrContinue(),Zr.open(e)}async close(){await this.initOrContinue(),Zr.close()}setLoading(e){Zr.setLoading(e)}getThemeMode(){return Zs.state.themeMode}getThemeVariables(){return Zs.state.themeVariables}setThemeMode(e){Zs.setThemeMode(e),yN(Zs.state.themeMode)}setThemeVariables(e){Zs.setThemeVariables(e),_ee(Zs.state.themeVariables)}subscribeTheme(e){return Zs.subscribe(e)}getWalletInfo(){return zt.state.connectedWalletInfo}subscribeWalletInfo(e){return zt.subscribeKey("connectedWalletInfo",e)}getState(){return Ug.state}subscribeState(e){return Ug.subscribe(e)}showErrorMessage(e){dn.showError(e)}showSuccessMessage(e){dn.showSuccess(e)}getEvent(){return{...yr.state}}subscribeEvents(e){return yr.subscribe(e)}redirect(e){et.push(e)}popTransactionStack(e){et.popTransactionStack(e)}isOpen(){return Zr.state.open}isTransactionStackEmpty(){return et.state.transactionStack.length===0}async initControllers(e){if(lr.setClient(e.networkControllerClient),lr.setDefaultCaipNetwork(e.defaultChain),hr.setProjectId(e.projectId),hr.setAllWallets(e.allWallets),hr.setIncludeWalletIds(e.includeWalletIds),hr.setExcludeWalletIds(e.excludeWalletIds),hr.setFeaturedWalletIds(e.featuredWalletIds),hr.setTokens(e.tokens),hr.setTermsConditionsUrl(e.termsConditionsUrl),hr.setPrivacyPolicyUrl(e.privacyPolicyUrl),hr.setCustomWallets(e.customWallets),hr.setEnableAnalytics(e.enableAnalytics),hr.setSdkVersion(e._sdkVersion),Ur.setClient(e.connectionControllerClient),e.siweControllerClient){const{SIWEController:t}=await Promise.resolve().then(()=>MT);t.setSIWEClient(e.siweControllerClient)}e.metadata&&hr.setMetadata(e.metadata),e.themeMode&&Zs.setThemeMode(e.themeMode),e.themeVariables&&Zs.setThemeVariables(e.themeVariables),e.enableOnramp&&hr.setOnrampEnabled(Boolean(e.enableOnramp)),e.enableWalletFeatures&&hr.setWalletFeaturesEnabled(Boolean(e.enableWalletFeatures)),e.allowUnsupportedChain&&lr.setAllowUnsupportedChain(e.allowUnsupportedChain)}async initOrContinue(){return!this.initPromise&&!Ute&&tr.isClient()&&(Ute=!0,this.initPromise=new Promise(async e=>{await Promise.all([Promise.resolve().then(()=>lAe),Promise.resolve().then(()=>fAe)]);const t=document.createElement("w3m-modal");document.body.insertAdjacentElement("beforeend",t),e()})),this.initPromise}}var pn={},VSe={get exports(){return pn},set exports(r){pn=r}},Qv=typeof Reflect=="object"?Reflect:null,Fte=Qv&&typeof Qv.apply=="function"?Qv.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)},LC;Qv&&typeof Qv.ownKeys=="function"?LC=Qv.ownKeys:Object.getOwnPropertySymbols?LC=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:LC=function(e){return Object.getOwnPropertyNames(e)};function GSe(r){console&&console.warn&&console.warn(r)}var jte=Number.isNaN||function(e){return e!==e};function di(){di.init.call(this)}VSe.exports=di,pn.once=YSe,di.EventEmitter=di,di.prototype._events=void 0,di.prototype._eventsCount=0,di.prototype._maxListeners=void 0;var zte=10;function UC(r){if(typeof r!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof r)}Object.defineProperty(di,"defaultMaxListeners",{enumerable:!0,get:function(){return zte},set:function(r){if(typeof r!="number"||r<0||jte(r))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+r+".");zte=r}}),di.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},di.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||jte(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function Hte(r){return r._maxListeners===void 0?di.defaultMaxListeners:r._maxListeners}di.prototype.getMaxListeners=function(){return Hte(this)},di.prototype.emit=function(e){for(var t=[],n=1;n0&&(o=t[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var l=s[e];if(l===void 0)return!1;if(typeof l=="function")Fte(l,this,t);else for(var u=l.length,h=Kte(l,u),n=0;n0&&o.length>i&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=r,a.type=e,a.count=o.length,GSe(a)}return r}di.prototype.addListener=function(e,t){return qte(this,e,t,!1)},di.prototype.on=di.prototype.addListener,di.prototype.prependListener=function(e,t){return qte(this,e,t,!0)};function KSe(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Wte(r,e,t){var n={fired:!1,wrapFn:void 0,target:r,type:e,listener:t},i=KSe.bind(n);return i.listener=t,n.wrapFn=i,i}di.prototype.once=function(e,t){return UC(t),this.on(e,Wte(this,e,t)),this},di.prototype.prependOnceListener=function(e,t){return UC(t),this.prependListener(e,Wte(this,e,t)),this},di.prototype.removeListener=function(e,t){var n,i,s,o,a;if(UC(t),i=this._events,i===void 0)return this;if(n=i[e],n===void 0)return this;if(n===t||n.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||t));else if(typeof n!="function"){for(s=-1,o=n.length-1;o>=0;o--)if(n[o]===t||n[o].listener===t){a=n[o].listener,s=o;break}if(s<0)return this;s===0?n.shift():ZSe(n,s),n.length===1&&(i[e]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",e,a||t)}return this},di.prototype.off=di.prototype.removeListener,di.prototype.removeAllListeners=function(e){var t,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var s=Object.keys(n),o;for(i=0;i=0;i--)this.removeListener(e,t[i]);return this};function Vte(r,e,t){var n=r._events;if(n===void 0)return[];var i=n[e];return i===void 0?[]:typeof i=="function"?t?[i.listener||i]:[i]:t?JSe(i):Kte(i,i.length)}di.prototype.listeners=function(e){return Vte(this,e,!0)},di.prototype.rawListeners=function(e){return Vte(this,e,!1)},di.listenerCount=function(r,e){return typeof r.listenerCount=="function"?r.listenerCount(e):Gte.call(r,e)},di.prototype.listenerCount=Gte;function Gte(r){var e=this._events;if(e!==void 0){var t=e[r];if(typeof t=="function")return 1;if(t!==void 0)return t.length}return 0}di.prototype.eventNames=function(){return this._eventsCount>0?LC(this._events):[]};function Kte(r,e){for(var t=new Array(e),n=0;n>>16&65535,h=a&65535,p=l>>>16&65535,g=l&65535;return h*g+(u*g+h*p<<16>>>0)|0}r.mul=Math.imul||e;function t(a,l){return a+l|0}r.add=t;function n(a,l){return a-l|0}r.sub=n;function i(a,l){return a<>>32-l}r.rotl=i;function s(a,l){return a<<32-l|a>>>l}r.rotr=s;function o(a){return typeof a=="number"&&isFinite(a)&&Math.floor(a)===a}r.isInteger=Number.isInteger||o,r.MAX_SAFE_INTEGER=9007199254740991,r.isSafeInteger=function(a){return r.isInteger(a)&&a>=-r.MAX_SAFE_INTEGER&&a<=r.MAX_SAFE_INTEGER}})(Jte),Object.defineProperty(Gr,"__esModule",{value:!0});var Yte=Jte;function XSe(r,e){return e===void 0&&(e=0),(r[e+0]<<8|r[e+1])<<16>>16}Gr.readInt16BE=XSe;function eIe(r,e){return e===void 0&&(e=0),(r[e+0]<<8|r[e+1])>>>0}Gr.readUint16BE=eIe;function tIe(r,e){return e===void 0&&(e=0),(r[e+1]<<8|r[e])<<16>>16}Gr.readInt16LE=tIe;function rIe(r,e){return e===void 0&&(e=0),(r[e+1]<<8|r[e])>>>0}Gr.readUint16LE=rIe;function Qte(r,e,t){return e===void 0&&(e=new Uint8Array(2)),t===void 0&&(t=0),e[t+0]=r>>>8,e[t+1]=r>>>0,e}Gr.writeUint16BE=Qte,Gr.writeInt16BE=Qte;function Xte(r,e,t){return e===void 0&&(e=new Uint8Array(2)),t===void 0&&(t=0),e[t+0]=r>>>0,e[t+1]=r>>>8,e}Gr.writeUint16LE=Xte,Gr.writeInt16LE=Xte;function yP(r,e){return e===void 0&&(e=0),r[e]<<24|r[e+1]<<16|r[e+2]<<8|r[e+3]}Gr.readInt32BE=yP;function xP(r,e){return e===void 0&&(e=0),(r[e]<<24|r[e+1]<<16|r[e+2]<<8|r[e+3])>>>0}Gr.readUint32BE=xP;function _P(r,e){return e===void 0&&(e=0),r[e+3]<<24|r[e+2]<<16|r[e+1]<<8|r[e]}Gr.readInt32LE=_P;function EP(r,e){return e===void 0&&(e=0),(r[e+3]<<24|r[e+2]<<16|r[e+1]<<8|r[e])>>>0}Gr.readUint32LE=EP;function jC(r,e,t){return e===void 0&&(e=new Uint8Array(4)),t===void 0&&(t=0),e[t+0]=r>>>24,e[t+1]=r>>>16,e[t+2]=r>>>8,e[t+3]=r>>>0,e}Gr.writeUint32BE=jC,Gr.writeInt32BE=jC;function zC(r,e,t){return e===void 0&&(e=new Uint8Array(4)),t===void 0&&(t=0),e[t+0]=r>>>0,e[t+1]=r>>>8,e[t+2]=r>>>16,e[t+3]=r>>>24,e}Gr.writeUint32LE=zC,Gr.writeInt32LE=zC;function nIe(r,e){e===void 0&&(e=0);var t=yP(r,e),n=yP(r,e+4);return t*4294967296+n-(n>>31)*4294967296}Gr.readInt64BE=nIe;function iIe(r,e){e===void 0&&(e=0);var t=xP(r,e),n=xP(r,e+4);return t*4294967296+n}Gr.readUint64BE=iIe;function sIe(r,e){e===void 0&&(e=0);var t=_P(r,e),n=_P(r,e+4);return n*4294967296+t-(t>>31)*4294967296}Gr.readInt64LE=sIe;function oIe(r,e){e===void 0&&(e=0);var t=EP(r,e),n=EP(r,e+4);return n*4294967296+t}Gr.readUint64LE=oIe;function ere(r,e,t){return e===void 0&&(e=new Uint8Array(8)),t===void 0&&(t=0),jC(r/4294967296>>>0,e,t),jC(r>>>0,e,t+4),e}Gr.writeUint64BE=ere,Gr.writeInt64BE=ere;function tre(r,e,t){return e===void 0&&(e=new Uint8Array(8)),t===void 0&&(t=0),zC(r>>>0,e,t),zC(r/4294967296>>>0,e,t+4),e}Gr.writeUint64LE=tre,Gr.writeInt64LE=tre;function aIe(r,e,t){if(t===void 0&&(t=0),r%8!==0)throw new Error("readUintBE supports only bitLengths divisible by 8");if(r/8>e.length-t)throw new Error("readUintBE: array is too short for the given bitLength");for(var n=0,i=1,s=r/8+t-1;s>=t;s--)n+=e[s]*i,i*=256;return n}Gr.readUintBE=aIe;function cIe(r,e,t){if(t===void 0&&(t=0),r%8!==0)throw new Error("readUintLE supports only bitLengths divisible by 8");if(r/8>e.length-t)throw new Error("readUintLE: array is too short for the given bitLength");for(var n=0,i=1,s=t;s=n;s--)t[s]=e/i&255,i*=256;return t}Gr.writeUintBE=lIe;function uIe(r,e,t,n){if(t===void 0&&(t=new Uint8Array(r/8)),n===void 0&&(n=0),r%8!==0)throw new Error("writeUintLE supports only bitLengths divisible by 8");if(!Yte.isSafeInteger(e))throw new Error("writeUintLE value must be an integer");for(var i=1,s=n;s>>32-16|m<<16,F=F+m|0,$^=F,$=$>>>32-12|$<<12,B=B+D|0,x^=B,x=x>>>32-16|x<<16,M=M+x|0,D^=M,D=D>>>32-12|D<<12,z=z+V|0,A^=z,A=A>>>32-16|A<<16,b=b+A|0,V^=b,V=V>>>32-12|V<<12,G=G+Q|0,I^=G,I=I>>>32-16|I<<16,d=d+I|0,Q^=d,Q=Q>>>32-12|Q<<12,z=z+V|0,A^=z,A=A>>>32-8|A<<8,b=b+A|0,V^=b,V=V>>>32-7|V<<7,G=G+Q|0,I^=G,I=I>>>32-8|I<<8,d=d+I|0,Q^=d,Q=Q>>>32-7|Q<<7,B=B+D|0,x^=B,x=x>>>32-8|x<<8,M=M+x|0,D^=M,D=D>>>32-7|D<<7,O=O+$|0,m^=O,m=m>>>32-8|m<<8,F=F+m|0,$^=F,$=$>>>32-7|$<<7,O=O+D|0,I^=O,I=I>>>32-16|I<<16,b=b+I|0,D^=b,D=D>>>32-12|D<<12,B=B+V|0,m^=B,m=m>>>32-16|m<<16,d=d+m|0,V^=d,V=V>>>32-12|V<<12,z=z+Q|0,x^=z,x=x>>>32-16|x<<16,F=F+x|0,Q^=F,Q=Q>>>32-12|Q<<12,G=G+$|0,A^=G,A=A>>>32-16|A<<16,M=M+A|0,$^=M,$=$>>>32-12|$<<12,z=z+Q|0,x^=z,x=x>>>32-8|x<<8,F=F+x|0,Q^=F,Q=Q>>>32-7|Q<<7,G=G+$|0,A^=G,A=A>>>32-8|A<<8,M=M+A|0,$^=M,$=$>>>32-7|$<<7,B=B+V|0,m^=B,m=m>>>32-8|m<<8,d=d+m|0,V^=d,V=V>>>32-7|V<<7,O=O+D|0,I^=O,I=I>>>32-8|I<<8,b=b+I|0,D^=b,D=D>>>32-7|D<<7;pa.writeUint32LE(O+n|0,r,0),pa.writeUint32LE(B+i|0,r,4),pa.writeUint32LE(z+s|0,r,8),pa.writeUint32LE(G+o|0,r,12),pa.writeUint32LE($+a|0,r,16),pa.writeUint32LE(D+l|0,r,20),pa.writeUint32LE(V+u|0,r,24),pa.writeUint32LE(Q+h|0,r,28),pa.writeUint32LE(F+p|0,r,32),pa.writeUint32LE(M+g|0,r,36),pa.writeUint32LE(b+w|0,r,40),pa.writeUint32LE(d+y|0,r,44),pa.writeUint32LE(m+C|0,r,48),pa.writeUint32LE(x+T|0,r,52),pa.writeUint32LE(A+k|0,r,56),pa.writeUint32LE(I+N|0,r,60)}function rre(r,e,t,n,i){if(i===void 0&&(i=0),r.length!==32)throw new Error("ChaCha: key size must be 32 bytes");if(n.length>>=8,e++;if(n>0)throw new Error("ChaCha: counter overflow")}var nre={},a1={};Object.defineProperty(a1,"__esModule",{value:!0});function AIe(r,e,t){return~(r-1)&e|r-1&t}a1.select=AIe;function CIe(r,e){return(r|0)-(e|0)-1>>>31&1}a1.lessOrEqual=CIe;function ire(r,e){if(r.length!==e.length)return 0;for(var t=0,n=0;n>>8}a1.compare=ire;function SIe(r,e){return r.length===0||e.length===0?!1:ire(r,e)!==0}a1.equal=SIe,function(r){Object.defineProperty(r,"__esModule",{value:!0});var e=a1,t=Hc;r.DIGEST_LENGTH=16;var n=function(){function o(a){this.digestLength=r.DIGEST_LENGTH,this._buffer=new Uint8Array(16),this._r=new Uint16Array(10),this._h=new Uint16Array(10),this._pad=new Uint16Array(8),this._leftover=0,this._fin=0,this._finished=!1;var l=a[0]|a[1]<<8;this._r[0]=l&8191;var u=a[2]|a[3]<<8;this._r[1]=(l>>>13|u<<3)&8191;var h=a[4]|a[5]<<8;this._r[2]=(u>>>10|h<<6)&7939;var p=a[6]|a[7]<<8;this._r[3]=(h>>>7|p<<9)&8191;var g=a[8]|a[9]<<8;this._r[4]=(p>>>4|g<<12)&255,this._r[5]=g>>>1&8190;var w=a[10]|a[11]<<8;this._r[6]=(g>>>14|w<<2)&8191;var y=a[12]|a[13]<<8;this._r[7]=(w>>>11|y<<5)&8065;var C=a[14]|a[15]<<8;this._r[8]=(y>>>8|C<<8)&8191,this._r[9]=C>>>5&127,this._pad[0]=a[16]|a[17]<<8,this._pad[1]=a[18]|a[19]<<8,this._pad[2]=a[20]|a[21]<<8,this._pad[3]=a[22]|a[23]<<8,this._pad[4]=a[24]|a[25]<<8,this._pad[5]=a[26]|a[27]<<8,this._pad[6]=a[28]|a[29]<<8,this._pad[7]=a[30]|a[31]<<8}return o.prototype._blocks=function(a,l,u){for(var h=this._fin?0:2048,p=this._h[0],g=this._h[1],w=this._h[2],y=this._h[3],C=this._h[4],T=this._h[5],k=this._h[6],N=this._h[7],O=this._h[8],B=this._h[9],z=this._r[0],G=this._r[1],$=this._r[2],D=this._r[3],V=this._r[4],Q=this._r[5],F=this._r[6],M=this._r[7],b=this._r[8],d=this._r[9];u>=16;){var m=a[l+0]|a[l+1]<<8;p+=m&8191;var x=a[l+2]|a[l+3]<<8;g+=(m>>>13|x<<3)&8191;var A=a[l+4]|a[l+5]<<8;w+=(x>>>10|A<<6)&8191;var I=a[l+6]|a[l+7]<<8;y+=(A>>>7|I<<9)&8191;var R=a[l+8]|a[l+9]<<8;C+=(I>>>4|R<<12)&8191,T+=R>>>1&8191;var S=a[l+10]|a[l+11]<<8;k+=(R>>>14|S<<2)&8191;var E=a[l+12]|a[l+13]<<8;N+=(S>>>11|E<<5)&8191;var _=a[l+14]|a[l+15]<<8;O+=(E>>>8|_<<8)&8191,B+=_>>>5|h;var L=0,ie=L;ie+=p*z,ie+=g*(5*d),ie+=w*(5*b),ie+=y*(5*M),ie+=C*(5*F),L=ie>>>13,ie&=8191,ie+=T*(5*Q),ie+=k*(5*V),ie+=N*(5*D),ie+=O*(5*$),ie+=B*(5*G),L+=ie>>>13,ie&=8191;var q=L;q+=p*G,q+=g*z,q+=w*(5*d),q+=y*(5*b),q+=C*(5*M),L=q>>>13,q&=8191,q+=T*(5*F),q+=k*(5*Q),q+=N*(5*V),q+=O*(5*D),q+=B*(5*$),L+=q>>>13,q&=8191;var Y=L;Y+=p*$,Y+=g*G,Y+=w*z,Y+=y*(5*d),Y+=C*(5*b),L=Y>>>13,Y&=8191,Y+=T*(5*M),Y+=k*(5*F),Y+=N*(5*Q),Y+=O*(5*V),Y+=B*(5*D),L+=Y>>>13,Y&=8191;var K=L;K+=p*D,K+=g*$,K+=w*G,K+=y*z,K+=C*(5*d),L=K>>>13,K&=8191,K+=T*(5*b),K+=k*(5*M),K+=N*(5*F),K+=O*(5*Q),K+=B*(5*V),L+=K>>>13,K&=8191;var te=L;te+=p*V,te+=g*D,te+=w*$,te+=y*G,te+=C*z,L=te>>>13,te&=8191,te+=T*(5*d),te+=k*(5*b),te+=N*(5*M),te+=O*(5*F),te+=B*(5*Q),L+=te>>>13,te&=8191;var re=L;re+=p*Q,re+=g*V,re+=w*D,re+=y*$,re+=C*G,L=re>>>13,re&=8191,re+=T*z,re+=k*(5*d),re+=N*(5*b),re+=O*(5*M),re+=B*(5*F),L+=re>>>13,re&=8191;var H=L;H+=p*F,H+=g*Q,H+=w*V,H+=y*D,H+=C*$,L=H>>>13,H&=8191,H+=T*G,H+=k*z,H+=N*(5*d),H+=O*(5*b),H+=B*(5*M),L+=H>>>13,H&=8191;var U=L;U+=p*M,U+=g*F,U+=w*Q,U+=y*V,U+=C*D,L=U>>>13,U&=8191,U+=T*$,U+=k*G,U+=N*z,U+=O*(5*d),U+=B*(5*b),L+=U>>>13,U&=8191;var W=L;W+=p*b,W+=g*M,W+=w*F,W+=y*Q,W+=C*V,L=W>>>13,W&=8191,W+=T*D,W+=k*$,W+=N*G,W+=O*z,W+=B*(5*d),L+=W>>>13,W&=8191;var le=L;le+=p*d,le+=g*b,le+=w*M,le+=y*F,le+=C*Q,L=le>>>13,le&=8191,le+=T*V,le+=k*D,le+=N*$,le+=O*G,le+=B*z,L+=le>>>13,le&=8191,L=(L<<2)+L|0,L=L+ie|0,ie=L&8191,L=L>>>13,q+=L,p=ie,g=q,w=Y,y=K,C=te,T=re,k=H,N=U,O=W,B=le,l+=16,u-=16}this._h[0]=p,this._h[1]=g,this._h[2]=w,this._h[3]=y,this._h[4]=C,this._h[5]=T,this._h[6]=k,this._h[7]=N,this._h[8]=O,this._h[9]=B},o.prototype.finish=function(a,l){l===void 0&&(l=0);var u=new Uint16Array(10),h,p,g,w;if(this._leftover){for(w=this._leftover,this._buffer[w++]=1;w<16;w++)this._buffer[w]=0;this._fin=1,this._blocks(this._buffer,0,16)}for(h=this._h[1]>>>13,this._h[1]&=8191,w=2;w<10;w++)this._h[w]+=h,h=this._h[w]>>>13,this._h[w]&=8191;for(this._h[0]+=h*5,h=this._h[0]>>>13,this._h[0]&=8191,this._h[1]+=h,h=this._h[1]>>>13,this._h[1]&=8191,this._h[2]+=h,u[0]=this._h[0]+5,h=u[0]>>>13,u[0]&=8191,w=1;w<10;w++)u[w]=this._h[w]+h,h=u[w]>>>13,u[w]&=8191;for(u[9]-=1<<13,p=(h^1)-1,w=0;w<10;w++)u[w]&=p;for(p=~p,w=0;w<10;w++)this._h[w]=this._h[w]&p|u[w];for(this._h[0]=(this._h[0]|this._h[1]<<13)&65535,this._h[1]=(this._h[1]>>>3|this._h[2]<<10)&65535,this._h[2]=(this._h[2]>>>6|this._h[3]<<7)&65535,this._h[3]=(this._h[3]>>>9|this._h[4]<<4)&65535,this._h[4]=(this._h[4]>>>12|this._h[5]<<1|this._h[6]<<14)&65535,this._h[5]=(this._h[6]>>>2|this._h[7]<<11)&65535,this._h[6]=(this._h[7]>>>5|this._h[8]<<8)&65535,this._h[7]=(this._h[8]>>>8|this._h[9]<<5)&65535,g=this._h[0]+this._pad[0],this._h[0]=g&65535,w=1;w<8;w++)g=(this._h[w]+this._pad[w]|0)+(g>>>16)|0,this._h[w]=g&65535;return a[l+0]=this._h[0]>>>0,a[l+1]=this._h[0]>>>8,a[l+2]=this._h[1]>>>0,a[l+3]=this._h[1]>>>8,a[l+4]=this._h[2]>>>0,a[l+5]=this._h[2]>>>8,a[l+6]=this._h[3]>>>0,a[l+7]=this._h[3]>>>8,a[l+8]=this._h[4]>>>0,a[l+9]=this._h[4]>>>8,a[l+10]=this._h[5]>>>0,a[l+11]=this._h[5]>>>8,a[l+12]=this._h[6]>>>0,a[l+13]=this._h[6]>>>8,a[l+14]=this._h[7]>>>0,a[l+15]=this._h[7]>>>8,this._finished=!0,this},o.prototype.update=function(a){var l=0,u=a.length,h;if(this._leftover){h=16-this._leftover,h>u&&(h=u);for(var p=0;p=16&&(h=u-u%16,this._blocks(a,l,h),l+=h,u-=h),u){for(var p=0;p16)throw new Error("ChaCha20Poly1305: incorrect nonce length");var w=new Uint8Array(16);w.set(u,w.length-u.length);var y=new Uint8Array(32);e.stream(this._key,w,y,4);var C=h.length+this.tagLength,T;if(g){if(g.length!==C)throw new Error("ChaCha20Poly1305: incorrect destination length");T=g}else T=new Uint8Array(C);return e.streamXOR(this._key,w,h,T,4),this._authenticate(T.subarray(T.length-this.tagLength,T.length),y,T.subarray(0,T.length-this.tagLength),p),n.wipe(w),T},l.prototype.open=function(u,h,p,g){if(u.length>16)throw new Error("ChaCha20Poly1305: incorrect nonce length");if(h.length0&&w.update(o.subarray(g.length%16))),w.update(p),p.length%16>0&&w.update(o.subarray(p.length%16));var y=new Uint8Array(8);g&&i.writeUint64LE(g.length,y),w.update(y),i.writeUint64LE(p.length,y),w.update(y);for(var C=w.digest(),T=0;Tthis.blockSize?this._inner.update(t).finish(n).clean():n.set(t);for(var i=0;i1&&this._hmac.update(this._buffer),this._info&&this._hmac.update(this._info),this._hmac.update(this._counter),this._hmac.finish(this._buffer),this._bufpos=0},r.prototype.expand=function(e){for(var t=new Uint8Array(e),n=0;n */var fre;function sn(){return fre||(fre=1,function(r,e){var t=qc,n=t.Buffer;function i(o,a){for(var l in o)a[l]=o[l]}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?r.exports=t:(i(t,e),e.Buffer=s);function s(o,a,l){return n(o,a,l)}s.prototype=Object.create(n.prototype),i(n,s),s.from=function(o,a,l){if(typeof o=="number")throw new TypeError("Argument must not be a number");return n(o,a,l)},s.alloc=function(o,a,l){if(typeof o!="number")throw new TypeError("Argument must be a number");var u=n(o);return a!==void 0?typeof l=="string"?u.fill(a,l):u.fill(a):u.fill(0),u},s.allocUnsafe=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return n(o)},s.allocUnsafeSlow=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return t.SlowBuffer(o)}}(OIe,C6)),C6}var dre;function Xv(){if(dre)return VC;dre=1;var r=65536,e=4294967295;function t(){throw new Error(`Secure random number generation is not supported by this browser. +Use Chrome, Firefox or Internet Explorer 11`)}var n=sn().Buffer,i=ct.crypto||ct.msCrypto;i&&i.getRandomValues?hre.exports=s:hre.exports=t;function s(o,a){if(o>e)throw new RangeError("requested too many random bytes");var l=n.allocUnsafe(o);if(o>0)if(o>r)for(var u=0;u"u"||!C?r:C(Uint8Array),N={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?r:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?r:ArrayBuffer,"%ArrayIteratorPrototype%":w&&C?C([][Symbol.iterator]()):r,"%AsyncFromSyncIteratorPrototype%":r,"%AsyncFunction%":T,"%AsyncGenerator%":T,"%AsyncGeneratorFunction%":T,"%AsyncIteratorPrototype%":T,"%Atomics%":typeof Atomics>"u"?r:Atomics,"%BigInt%":typeof BigInt>"u"?r:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?r:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?r:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?r:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":e,"%eval%":eval,"%EvalError%":t,"%Float32Array%":typeof Float32Array>"u"?r:Float32Array,"%Float64Array%":typeof Float64Array>"u"?r:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?r:FinalizationRegistry,"%Function%":l,"%GeneratorFunction%":T,"%Int8Array%":typeof Int8Array>"u"?r:Int8Array,"%Int16Array%":typeof Int16Array>"u"?r:Int16Array,"%Int32Array%":typeof Int32Array>"u"?r:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":w&&C?C(C([][Symbol.iterator]())):r,"%JSON%":typeof JSON=="object"?JSON:r,"%Map%":typeof Map>"u"?r:Map,"%MapIteratorPrototype%":typeof Map>"u"||!w||!C?r:C(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?r:Promise,"%Proxy%":typeof Proxy>"u"?r:Proxy,"%RangeError%":n,"%ReferenceError%":i,"%Reflect%":typeof Reflect>"u"?r:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?r:Set,"%SetIteratorPrototype%":typeof Set>"u"||!w||!C?r:C(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?r:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":w&&C?C(""[Symbol.iterator]()):r,"%Symbol%":w?Symbol:r,"%SyntaxError%":s,"%ThrowTypeError%":g,"%TypedArray%":k,"%TypeError%":o,"%Uint8Array%":typeof Uint8Array>"u"?r:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?r:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?r:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?r:Uint32Array,"%URIError%":a,"%WeakMap%":typeof WeakMap>"u"?r:WeakMap,"%WeakRef%":typeof WeakRef>"u"?r:WeakRef,"%WeakSet%":typeof WeakSet>"u"?r:WeakSet};if(C)try{null.error}catch(A){var O=C(C(A));N["%Error.prototype%"]=O}var B=function A(I){var R;if(I==="%AsyncFunction%")R=u("async function () {}");else if(I==="%GeneratorFunction%")R=u("function* () {}");else if(I==="%AsyncGeneratorFunction%")R=u("async function* () {}");else if(I==="%AsyncGenerator%"){var S=A("%AsyncGeneratorFunction%");S&&(R=S.prototype)}else if(I==="%AsyncIteratorPrototype%"){var E=A("%AsyncGenerator%");E&&C&&(R=C(E.prototype))}return N[I]=R,R},z={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},G=HP(),$=qIe(),D=G.call(Function.call,Array.prototype.concat),V=G.call(Function.apply,Array.prototype.splice),Q=G.call(Function.call,String.prototype.replace),F=G.call(Function.call,String.prototype.slice),M=G.call(Function.call,RegExp.prototype.exec),b=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,d=/\\(\\)?/g,m=function(I){var R=F(I,0,1),S=F(I,-1);if(R==="%"&&S!=="%")throw new s("invalid intrinsic syntax, expected closing `%`");if(S==="%"&&R!=="%")throw new s("invalid intrinsic syntax, expected opening `%`");var E=[];return Q(I,b,function(_,L,ie,q){E[E.length]=ie?Q(q,d,"$1"):L||_}),E},x=function(I,R){var S=I,E;if($(z,S)&&(E=z[S],S="%"+E[0]+"%"),$(N,S)){var _=N[S];if(_===T&&(_=B(S)),typeof _>"u"&&!R)throw new o("intrinsic "+I+" exists, but is not available. Please file an issue!");return{alias:E,name:S,value:_}}throw new s("intrinsic "+I+" does not exist!")};return WP=function(I,R){if(typeof I!="string"||I.length===0)throw new o("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof R!="boolean")throw new o('"allowMissing" argument must be a boolean');if(M(/^%?[^%]*%?$/,I)===null)throw new s("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var S=m(I),E=S.length>0?S[0]:"",_=x("%"+E+"%",R),L=_.name,ie=_.value,q=!1,Y=_.alias;Y&&(E=Y[0],V(S,D([0,1],Y)));for(var K=1,te=!0;K=S.length){var W=h(ie,re);te=!!W,te&&"get"in W&&!("originalValue"in W.get)?ie=W.get:ie=ie[re]}else te=$(ie,re),ie=ie[re];te&&!q&&(N[L]=ie)}}return ie},WP}var ZC={},WIe={get exports(){return ZC},set exports(r){ZC=r}},VP,Dre;function GP(){if(Dre)return VP;Dre=1;var r=I6(),e=r("%Object.defineProperty%",!0)||!1;if(e)try{e({},"a",{value:1})}catch{e=!1}return VP=e,VP}var KP,$re;function ZP(){if($re)return KP;$re=1;var r=I6(),e=r("%Object.getOwnPropertyDescriptor%",!0);if(e)try{e([],"length")}catch{e=null}return KP=e,KP}var JP,Bre;function VIe(){if(Bre)return JP;Bre=1;var r=GP(),e=Sre(),t=KC(),n=ZP();return JP=function(s,o,a){if(!s||typeof s!="object"&&typeof s!="function")throw new t("`obj` must be an object or a function`");if(typeof o!="string"&&typeof o!="symbol")throw new t("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new t("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new t("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new t("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new t("`loose`, if provided, must be a boolean");var l=arguments.length>3?arguments[3]:null,u=arguments.length>4?arguments[4]:null,h=arguments.length>5?arguments[5]:null,p=arguments.length>6?arguments[6]:!1,g=!!n&&n(s,o);if(r)r(s,o,{configurable:h===null&&g?g.configurable:!h,enumerable:l===null&&g?g.enumerable:!l,value:a,writable:u===null&&g?g.writable:!u});else if(p||!l&&!u&&!h)s[o]=a;else throw new e("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")},JP}var YP,Lre;function GIe(){if(Lre)return YP;Lre=1;var r=GP(),e=function(){return!!r};return e.hasArrayLengthDefineBug=function(){if(!r)return null;try{return r([],"length",{value:1}).length!==1}catch{return!0}},YP=e,YP}var QP,Ure;function KIe(){if(Ure)return QP;Ure=1;var r=I6(),e=VIe(),t=GIe()(),n=ZP(),i=KC(),s=r("%Math.floor%");return QP=function(a,l){if(typeof a!="function")throw new i("`fn` is not a function");if(typeof l!="number"||l<0||l>4294967295||s(l)!==l)throw new i("`length` must be a positive 32-bit integer");var u=arguments.length>2&&!!arguments[2],h=!0,p=!0;if("length"in a&&n){var g=n(a,"length");g&&!g.configurable&&(h=!1),g&&!g.writable&&(p=!1)}return(h||p||!u)&&(t?e(a,"length",l,!0,!0):e(a,"length",l)),a},QP}var Fre;function jre(){return Fre||(Fre=1,function(r){var e=HP(),t=I6(),n=KIe(),i=KC(),s=t("%Function.prototype.apply%"),o=t("%Function.prototype.call%"),a=t("%Reflect.apply%",!0)||e.call(o,s),l=GP(),u=t("%Math.max%");r.exports=function(g){if(typeof g!="function")throw new i("a function is required");var w=a(e,o,arguments);return n(w,1+u(0,g.length-(arguments.length-1)),!0)};var h=function(){return a(e,s,arguments)};l?l(r.exports,"apply",{value:h}):r.exports.apply=h}(WIe)),ZC}var XP,zre;function Hre(){if(zre)return XP;zre=1;var r=I6(),e=jre(),t=e(r("String.prototype.indexOf"));return XP=function(i,s){var o=r(i,!!s);return typeof o=="function"&&t(i,".prototype.")>-1?e(o):o},XP}var eO,qre;function ZIe(){if(qre)return eO;qre=1;var r=MP()(),e=Hre(),t=e("Object.prototype.toString"),n=function(a){return r&&a&&typeof a=="object"&&Symbol.toStringTag in a?!1:t(a)==="[object Arguments]"},i=function(a){return n(a)?!0:a!==null&&typeof a=="object"&&typeof a.length=="number"&&a.length>=0&&t(a)!=="[object Array]"&&t(a.callee)==="[object Function]"},s=function(){return n(arguments)}();return n.isLegacyArguments=i,eO=s?n:i,eO}var tO,Wre;function JIe(){if(Wre)return tO;Wre=1;var r=Object.prototype.toString,e=Function.prototype.toString,t=/^\s*(?:function)?\*/,n=MP()(),i=Object.getPrototypeOf,s=function(){if(!n)return!1;try{return Function("return function*() {}")()}catch{}},o;return tO=function(l){if(typeof l!="function")return!1;if(t.test(e.call(l)))return!0;if(!n){var u=r.call(l);return u==="[object GeneratorFunction]"}if(!i)return!1;if(typeof o>"u"){var h=s();o=h?i(h):!1}return i(l)===o},tO}var rO,Vre;function YIe(){if(Vre)return rO;Vre=1;var r=Function.prototype.toString,e=typeof Reflect=="object"&&Reflect!==null&&Reflect.apply,t,n;if(typeof e=="function"&&typeof Object.defineProperty=="function")try{t=Object.defineProperty({},"length",{get:function(){throw n}}),n={},e(function(){throw 42},null,t)}catch(N){N!==n&&(e=null)}else e=null;var i=/^\s*class\b/,s=function(O){try{var B=r.call(O);return i.test(B)}catch{return!1}},o=function(O){try{return s(O)?!1:(r.call(O),!0)}catch{return!1}},a=Object.prototype.toString,l="[object Object]",u="[object Function]",h="[object GeneratorFunction]",p="[object HTMLAllCollection]",g="[object HTML document.all class]",w="[object HTMLCollection]",y=typeof Symbol=="function"&&!!Symbol.toStringTag,C=!(0 in[,]),T=function(){return!1};if(typeof document=="object"){var k=document.all;a.call(k)===a.call(document.all)&&(T=function(O){if((C||!O)&&(typeof O>"u"||typeof O=="object"))try{var B=a.call(O);return(B===p||B===g||B===w||B===l)&&O("")==null}catch{}return!1})}return rO=e?function(O){if(T(O))return!0;if(!O||typeof O!="function"&&typeof O!="object")return!1;try{e(O,null,t)}catch(B){if(B!==n)return!1}return!s(O)&&o(O)}:function(O){if(T(O))return!0;if(!O||typeof O!="function"&&typeof O!="object")return!1;if(y)return o(O);if(s(O))return!1;var B=a.call(O);return B!==u&&B!==h&&!/^\[object HTML/.test(B)?!1:o(O)},rO}var nO,Gre;function QIe(){if(Gre)return nO;Gre=1;var r=YIe(),e=Object.prototype.toString,t=Object.prototype.hasOwnProperty,n=function(l,u,h){for(var p=0,g=l.length;p=3&&(p=h),e.call(l)==="[object Array]"?n(l,u,p):typeof l=="string"?i(l,u,p):s(l,u,p)};return nO=o,nO}var iO,Kre;function XIe(){return Kre||(Kre=1,iO=["Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array"]),iO}var sO,Zre;function eTe(){if(Zre)return sO;Zre=1;var r=XIe(),e=typeof globalThis>"u"?ct:globalThis;return sO=function(){for(var n=[],i=0;i"u"?ct:globalThis,l=e(),u=n("String.prototype.slice"),h=Object.getPrototypeOf,p=n("Array.prototype.indexOf",!0)||function(T,k){for(var N=0;N-1?k:k!=="Object"?!1:y(T)}return i?w(T):null},oO}var aO,Qre;function tTe(){if(Qre)return aO;Qre=1;var r=Yre();return aO=function(t){return!!r(t)},aO}var Xre;function rTe(){return Xre||(Xre=1,function(r){var e=ZIe(),t=JIe(),n=Yre(),i=tTe();function s(Re){return Re.call.bind(Re)}var o=typeof BigInt<"u",a=typeof Symbol<"u",l=s(Object.prototype.toString),u=s(Number.prototype.valueOf),h=s(String.prototype.valueOf),p=s(Boolean.prototype.valueOf);if(o)var g=s(BigInt.prototype.valueOf);if(a)var w=s(Symbol.prototype.valueOf);function y(Re,je){if(typeof Re!="object")return!1;try{return je(Re),!0}catch{return!1}}r.isArgumentsObject=e,r.isGeneratorFunction=t,r.isTypedArray=i;function C(Re){return typeof Promise<"u"&&Re instanceof Promise||Re!==null&&typeof Re=="object"&&typeof Re.then=="function"&&typeof Re.catch=="function"}r.isPromise=C;function T(Re){return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?ArrayBuffer.isView(Re):i(Re)||L(Re)}r.isArrayBufferView=T;function k(Re){return n(Re)==="Uint8Array"}r.isUint8Array=k;function N(Re){return n(Re)==="Uint8ClampedArray"}r.isUint8ClampedArray=N;function O(Re){return n(Re)==="Uint16Array"}r.isUint16Array=O;function B(Re){return n(Re)==="Uint32Array"}r.isUint32Array=B;function z(Re){return n(Re)==="Int8Array"}r.isInt8Array=z;function G(Re){return n(Re)==="Int16Array"}r.isInt16Array=G;function $(Re){return n(Re)==="Int32Array"}r.isInt32Array=$;function D(Re){return n(Re)==="Float32Array"}r.isFloat32Array=D;function V(Re){return n(Re)==="Float64Array"}r.isFloat64Array=V;function Q(Re){return n(Re)==="BigInt64Array"}r.isBigInt64Array=Q;function F(Re){return n(Re)==="BigUint64Array"}r.isBigUint64Array=F;function M(Re){return l(Re)==="[object Map]"}M.working=typeof Map<"u"&&M(new Map);function b(Re){return typeof Map>"u"?!1:M.working?M(Re):Re instanceof Map}r.isMap=b;function d(Re){return l(Re)==="[object Set]"}d.working=typeof Set<"u"&&d(new Set);function m(Re){return typeof Set>"u"?!1:d.working?d(Re):Re instanceof Set}r.isSet=m;function x(Re){return l(Re)==="[object WeakMap]"}x.working=typeof WeakMap<"u"&&x(new WeakMap);function A(Re){return typeof WeakMap>"u"?!1:x.working?x(Re):Re instanceof WeakMap}r.isWeakMap=A;function I(Re){return l(Re)==="[object WeakSet]"}I.working=typeof WeakSet<"u"&&I(new WeakSet);function R(Re){return I(Re)}r.isWeakSet=R;function S(Re){return l(Re)==="[object ArrayBuffer]"}S.working=typeof ArrayBuffer<"u"&&S(new ArrayBuffer);function E(Re){return typeof ArrayBuffer>"u"?!1:S.working?S(Re):Re instanceof ArrayBuffer}r.isArrayBuffer=E;function _(Re){return l(Re)==="[object DataView]"}_.working=typeof ArrayBuffer<"u"&&typeof DataView<"u"&&_(new DataView(new ArrayBuffer(1),0,1));function L(Re){return typeof DataView>"u"?!1:_.working?_(Re):Re instanceof DataView}r.isDataView=L;var ie=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:void 0;function q(Re){return l(Re)==="[object SharedArrayBuffer]"}function Y(Re){return typeof ie>"u"?!1:(typeof q.working>"u"&&(q.working=q(new ie)),q.working?q(Re):Re instanceof ie)}r.isSharedArrayBuffer=Y;function K(Re){return l(Re)==="[object AsyncFunction]"}r.isAsyncFunction=K;function te(Re){return l(Re)==="[object Map Iterator]"}r.isMapIterator=te;function re(Re){return l(Re)==="[object Set Iterator]"}r.isSetIterator=re;function H(Re){return l(Re)==="[object Generator]"}r.isGeneratorObject=H;function U(Re){return l(Re)==="[object WebAssembly.Module]"}r.isWebAssemblyCompiledModule=U;function W(Re){return y(Re,u)}r.isNumberObject=W;function le(Re){return y(Re,h)}r.isStringObject=le;function de(Re){return y(Re,p)}r.isBooleanObject=de;function Se(Re){return o&&y(Re,g)}r.isBigIntObject=Se;function Me(Re){return a&&y(Re,w)}r.isSymbolObject=Me;function ke(Re){return W(Re)||le(Re)||de(Re)||Se(Re)||Me(Re)}r.isBoxedPrimitive=ke;function Ke(Re){return typeof Uint8Array<"u"&&(E(Re)||Y(Re))}r.isAnyArrayBuffer=Ke,["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(Re){Object.defineProperty(r,Re,{enumerable:!1,value:function(){throw new Error(Re+" is not supported in userland")}})})}(TP)),TP}var cO,ene;function nTe(){return ene||(ene=1,cO=function(e){return e instanceof Dt}),cO}var tne;function JC(){return tne||(tne=1,function(r){var e=Object.getOwnPropertyDescriptors||function(L){for(var ie=Object.keys(L),q={},Y=0;Y=Y)return re;switch(re){case"%s":return String(q[ie++]);case"%d":return Number(q[ie++]);case"%j":try{return JSON.stringify(q[ie++])}catch{return"[Circular]"}default:return re}}),te=q[ie];ie"u")return function(){return r.deprecate(_,L).apply(this,arguments)};var ie=!1;function q(){if(!ie){if(yt.throwDeprecation)throw new Error(L);yt.traceDeprecation?console.trace(L):console.error(L),ie=!0}return _.apply(this,arguments)}return q};var n={},i=/^$/;if(yt.env.NODE_DEBUG){var s=yt.env.NODE_DEBUG;s=s.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),i=new RegExp("^"+s+"$","i")}r.debuglog=function(_){if(_=_.toUpperCase(),!n[_])if(i.test(_)){var L=yt.pid;n[_]=function(){var ie=r.format.apply(r,arguments);console.error("%s %d: %s",_,L,ie)}}else n[_]=function(){};return n[_]};function o(_,L){var ie={seen:[],stylize:l};return arguments.length>=3&&(ie.depth=arguments[2]),arguments.length>=4&&(ie.colors=arguments[3]),k(L)?ie.showHidden=L:L&&r._extend(ie,L),$(ie.showHidden)&&(ie.showHidden=!1),$(ie.depth)&&(ie.depth=2),$(ie.colors)&&(ie.colors=!1),$(ie.customInspect)&&(ie.customInspect=!0),ie.colors&&(ie.stylize=a),h(ie,_,ie.depth)}r.inspect=o,o.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},o.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function a(_,L){var ie=o.styles[L];return ie?"\x1B["+o.colors[ie][0]+"m"+_+"\x1B["+o.colors[ie][1]+"m":_}function l(_,L){return _}function u(_){var L={};return _.forEach(function(ie,q){L[ie]=!0}),L}function h(_,L,ie){if(_.customInspect&&L&&M(L.inspect)&&L.inspect!==r.inspect&&!(L.constructor&&L.constructor.prototype===L)){var q=L.inspect(ie,_);return z(q)||(q=h(_,q,ie)),q}var Y=p(_,L);if(Y)return Y;var K=Object.keys(L),te=u(K);if(_.showHidden&&(K=Object.getOwnPropertyNames(L)),F(L)&&(K.indexOf("message")>=0||K.indexOf("description")>=0))return g(L);if(K.length===0){if(M(L)){var re=L.name?": "+L.name:"";return _.stylize("[Function"+re+"]","special")}if(D(L))return _.stylize(RegExp.prototype.toString.call(L),"regexp");if(Q(L))return _.stylize(Date.prototype.toString.call(L),"date");if(F(L))return g(L)}var H="",U=!1,W=["{","}"];if(T(L)&&(U=!0,W=["[","]"]),M(L)){var le=L.name?": "+L.name:"";H=" [Function"+le+"]"}if(D(L)&&(H=" "+RegExp.prototype.toString.call(L)),Q(L)&&(H=" "+Date.prototype.toUTCString.call(L)),F(L)&&(H=" "+g(L)),K.length===0&&(!U||L.length==0))return W[0]+H+W[1];if(ie<0)return D(L)?_.stylize(RegExp.prototype.toString.call(L),"regexp"):_.stylize("[Object]","special");_.seen.push(L);var de;return U?de=w(_,L,ie,te,K):de=K.map(function(Se){return y(_,L,ie,te,Se,U)}),_.seen.pop(),C(de,H,W)}function p(_,L){if($(L))return _.stylize("undefined","undefined");if(z(L)){var ie="'"+JSON.stringify(L).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return _.stylize(ie,"string")}if(B(L))return _.stylize(""+L,"number");if(k(L))return _.stylize(""+L,"boolean");if(N(L))return _.stylize("null","null")}function g(_){return"["+Error.prototype.toString.call(_)+"]"}function w(_,L,ie,q,Y){for(var K=[],te=0,re=L.length;te-1&&(K?re=re.split(` -`).map(function(L){return" "+L}).join(` +`).map(function(U){return" "+U}).join(` `).slice(2):re=` `+re.split(` -`).map(function(L){return" "+L}).join(` -`))):re=_.stylize("[Circular]","special")),D(ee)){if(K&&Y.match(/^\d+$/))return re;ee=JSON.stringify(""+Y),ee.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(ee=ee.slice(1,-1),ee=_.stylize(ee,"name")):(ee=ee.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),ee=_.stylize(ee,"string"))}return ee+": "+re}function C(_,U,ie){var q=_.reduce(function(Y,K){return K.indexOf(` -`)>=0,Y+K.replace(/\u001b\[\d\d?m/g,"").length+1},0);return q>60?ie[0]+(U===""?"":U+` +`).map(function(U){return" "+U}).join(` +`))):re=_.stylize("[Circular]","special")),$(te)){if(K&&Y.match(/^\d+$/))return re;te=JSON.stringify(""+Y),te.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(te=te.slice(1,-1),te=_.stylize(te,"name")):(te=te.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),te=_.stylize(te,"string"))}return te+": "+re}function C(_,L,ie){var q=_.reduce(function(Y,K){return K.indexOf(` +`)>=0,Y+K.replace(/\u001b\[\d\d?m/g,"").length+1},0);return q>60?ie[0]+(L===""?"":L+` `)+" "+_.join(`, - `)+" "+ie[1]:ie[0]+U+" "+_.join(", ")+" "+ie[1]}r.types=aRe();function R(_){return Array.isArray(_)}r.isArray=R;function k(_){return typeof _=="boolean"}r.isBoolean=k;function M(_){return _===null}r.isNull=M;function O(_){return _==null}r.isNullOrUndefined=O;function B(_){return typeof _=="number"}r.isNumber=B;function j(_){return typeof _=="string"}r.isString=j;function G(_){return typeof _=="symbol"}r.isSymbol=G;function D(_){return _===void 0}r.isUndefined=D;function $(_){return V(_)&&d(_)==="[object RegExp]"}r.isRegExp=$,r.types.isRegExp=$;function V(_){return typeof _=="object"&&_!==null}r.isObject=V;function te(_){return V(_)&&d(_)==="[object Date]"}r.isDate=te,r.types.isDate=te;function W(_){return V(_)&&(d(_)==="[object Error]"||_ instanceof Error)}r.isError=W,r.types.isNativeError=W;function P(_){return typeof _=="function"}r.isFunction=P;function b(_){return _===null||typeof _=="boolean"||typeof _=="number"||typeof _=="string"||typeof _=="symbol"||typeof _>"u"}r.isPrimitive=b,r.isBuffer=cRe();function d(_){return Object.prototype.toString.call(_)}function m(_){return _<10?"0"+_.toString(10):_.toString(10)}var x=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function A(){var _=new Date,U=[m(_.getHours()),m(_.getMinutes()),m(_.getSeconds())].join(":");return[_.getDate(),x[_.getMonth()],U].join(" ")}r.log=function(){console.log("%s - %s",A(),r.format.apply(r,arguments))},r.inherits=tn(),r._extend=function(_,U){if(!U||!V(U))return _;for(var ie=Object.keys(U),q=ie.length;q--;)_[ie[q]]=U[ie[q]];return _};function I(_,U){return Object.prototype.hasOwnProperty.call(_,U)}var T=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;r.promisify=function(U){if(typeof U!="function")throw new TypeError('The "original" argument must be of type Function');if(T&&U[T]){var ie=U[T];if(typeof ie!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(ie,T,{value:ie,enumerable:!1,writable:!1,configurable:!0}),ie}function ie(){for(var q,Y,K=new Promise(function(z,L){q=z,Y=L}),ee=[],re=0;re0?this.tail.next=k:this.head=k,this.tail=k,++this.length}},{key:"unshift",value:function(R){var k={data:R,next:this.head};this.length===0&&(this.tail=k),this.head=k,++this.length}},{key:"shift",value:function(){if(this.length!==0){var R=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,R}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(R){if(this.length===0)return"";for(var k=this.head,M=""+k.data;k=k.next;)M+=R+k.data;return M}},{key:"concat",value:function(R){if(this.length===0)return u.alloc(0);for(var k=u.allocUnsafe(R>>>0),M=this.head,O=0;M;)w(M.data,k,O),O+=M.data.length,M=M.next;return k}},{key:"consume",value:function(R,k){var M;return RB.length?B.length:R;if(j===B.length?O+=B:O+=B.slice(0,R),R-=j,R===0){j===B.length?(++M,k.next?this.head=k.next:this.head=this.tail=null):(this.head=k,k.data=B.slice(j));break}++M}return this.length-=M,O}},{key:"_getBuffer",value:function(R){var k=u.allocUnsafe(R),M=this.head,O=1;for(M.data.copy(k),R-=M.data.length;M=M.next;){var B=M.data,j=R>B.length?B.length:R;if(B.copy(k,k.length-R,0,j),R-=j,R===0){j===B.length?(++O,M.next?this.head=M.next:this.head=this.tail=null):(this.head=M,M.data=B.slice(j));break}++O}return this.length-=O,k}},{key:g,value:function(R,k){return p(this,e(e({},k),{},{depth:0,customInspect:!1}))}}]),y}(),iO}var sO,une;function hne(){if(une)return sO;une=1;function r(o,a){var l=this,u=this._readableState&&this._readableState.destroyed,h=this._writableState&&this._writableState.destroyed;return u||h?(a?a(o):o&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,yt.nextTick(i,this,o)):yt.nextTick(i,this,o)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(o||null,function(p){!a&&p?l._writableState?l._writableState.errorEmitted?yt.nextTick(t,l):(l._writableState.errorEmitted=!0,yt.nextTick(e,l,p)):yt.nextTick(e,l,p):a?(yt.nextTick(t,l),a(p)):yt.nextTick(t,l)}),this)}function e(o,a){i(o,a),t(o)}function t(o){o._writableState&&!o._writableState.emitClose||o._readableState&&!o._readableState.emitClose||o.emit("close")}function n(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function i(o,a){o.emit("error",a)}function s(o,a){var l=o._readableState,u=o._writableState;l&&l.autoDestroy||u&&u.autoDestroy?o.destroy(a):o.emit("error",a)}return sO={destroy:r,undestroy:n,errorOrDestroy:s},sO}var oO={},fne;function ny(){if(fne)return oO;fne=1;function r(a,l){a.prototype=Object.create(l.prototype),a.prototype.constructor=a,a.__proto__=l}var e={};function t(a,l,u){u||(u=Error);function h(g,w,y){return typeof l=="string"?l:l(g,w,y)}var p=function(g){r(w,g);function w(y,C,R){return g.call(this,h(y,C,R))||this}return w}(u);p.prototype.name=u.name,p.prototype.code=a,e[a]=p}function n(a,l){if(Array.isArray(a)){var u=a.length;return a=a.map(function(h){return String(h)}),u>2?"one of ".concat(l," ").concat(a.slice(0,u-1).join(", "),", or ")+a[u-1]:u===2?"one of ".concat(l," ").concat(a[0]," or ").concat(a[1]):"of ".concat(l," ").concat(a[0])}else return"of ".concat(l," ").concat(String(a))}function i(a,l,u){return a.substr(!u||u<0?0:+u,l.length)===l}function s(a,l,u){return(u===void 0||u>a.length)&&(u=a.length),a.substring(u-l.length,u)===l}function o(a,l,u){return typeof u!="number"&&(u=0),u+l.length>a.length?!1:a.indexOf(l,u)!==-1}return t("ERR_INVALID_OPT_VALUE",function(a,l){return'The value "'+l+'" is invalid for option "'+a+'"'},TypeError),t("ERR_INVALID_ARG_TYPE",function(a,l,u){var h;typeof l=="string"&&i(l,"not ")?(h="must not be",l=l.replace(/^not /,"")):h="must be";var p;if(s(a," argument"))p="The ".concat(a," ").concat(h," ").concat(n(l,"type"));else{var g=o(a,".")?"property":"argument";p='The "'.concat(a,'" ').concat(g," ").concat(h," ").concat(n(l,"type"))}return p+=". Received type ".concat(typeof u),p},TypeError),t("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),t("ERR_METHOD_NOT_IMPLEMENTED",function(a){return"The "+a+" method is not implemented"}),t("ERR_STREAM_PREMATURE_CLOSE","Premature close"),t("ERR_STREAM_DESTROYED",function(a){return"Cannot call "+a+" after a stream was destroyed"}),t("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),t("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),t("ERR_STREAM_WRITE_AFTER_END","write after end"),t("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),t("ERR_UNKNOWN_ENCODING",function(a){return"Unknown encoding: "+a},TypeError),t("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),oO.codes=e,oO}var aO,dne;function pne(){if(dne)return aO;dne=1;var r=ny().codes.ERR_INVALID_OPT_VALUE;function e(n,i,s){return n.highWaterMark!=null?n.highWaterMark:i?n[s]:null}function t(n,i,s,o){var a=e(i,o,s);if(a!=null){if(!(isFinite(a)&&Math.floor(a)===a)||a<0){var l=o?s:"highWaterMark";throw new r(l,a)}return Math.floor(a)}return n.objectMode?16:16*1024}return aO={getHighWaterMark:t},aO}var cO,gne;function uRe(){if(gne)return cO;gne=1,cO=r;function r(t,n){if(e("noDeprecation"))return t;var i=!1;function s(){if(!i){if(e("throwDeprecation"))throw new Error(n);e("traceDeprecation")?console.trace(n):console.warn(n),i=!0}return t.apply(this,arguments)}return s}function e(t){try{if(!ct.localStorage)return!1}catch{return!1}var n=ct.localStorage[t];return n==null?!1:String(n).toLowerCase()==="true"}return cO}var lO,mne;function uO(){if(mne)return lO;mne=1,lO=$;function r(Y){var K=this;this.next=null,this.entry=null,this.finish=function(){q(K,Y)}}var e;$.WritableState=G;var t={deprecate:uRe()},n=Are(),i=Hc.Buffer,s=(typeof ct<"u"?ct:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function o(Y){return i.from(Y)}function a(Y){return i.isBuffer(Y)||Y instanceof s}var l=hne(),u=pne(),h=u.getHighWaterMark,p=ny().codes,g=p.ERR_INVALID_ARG_TYPE,w=p.ERR_METHOD_NOT_IMPLEMENTED,y=p.ERR_MULTIPLE_CALLBACK,C=p.ERR_STREAM_CANNOT_PIPE,R=p.ERR_STREAM_DESTROYED,k=p.ERR_STREAM_NULL_VALUES,M=p.ERR_STREAM_WRITE_AFTER_END,O=p.ERR_UNKNOWN_ENCODING,B=l.errorOrDestroy;tn()($,n);function j(){}function G(Y,K,ee){e=e||Cm(),Y=Y||{},typeof ee!="boolean"&&(ee=K instanceof e),this.objectMode=!!Y.objectMode,ee&&(this.objectMode=this.objectMode||!!Y.writableObjectMode),this.highWaterMark=h(this,Y,"writableHighWaterMark",ee),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var re=Y.decodeStrings===!1;this.decodeStrings=!re,this.defaultEncoding=Y.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(z){x(K,z)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=Y.emitClose!==!1,this.autoDestroy=!!Y.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new r(this)}G.prototype.getBuffer=function(){for(var K=this.bufferedRequest,ee=[];K;)ee.push(K),K=K.next;return ee},function(){try{Object.defineProperty(G.prototype,"buffer",{get:t.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}();var D;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(D=Function.prototype[Symbol.hasInstance],Object.defineProperty($,Symbol.hasInstance,{value:function(K){return D.call(this,K)?!0:this!==$?!1:K&&K._writableState instanceof G}})):D=function(K){return K instanceof this};function $(Y){e=e||Cm();var K=this instanceof e;if(!K&&!D.call($,this))return new $(Y);this._writableState=new G(Y,this,K),this.writable=!0,Y&&(typeof Y.write=="function"&&(this._write=Y.write),typeof Y.writev=="function"&&(this._writev=Y.writev),typeof Y.destroy=="function"&&(this._destroy=Y.destroy),typeof Y.final=="function"&&(this._final=Y.final)),n.call(this)}$.prototype.pipe=function(){B(this,new C)};function V(Y,K){var ee=new M;B(Y,ee),yt.nextTick(K,ee)}function te(Y,K,ee,re){var z;return ee===null?z=new k:typeof ee!="string"&&!K.objectMode&&(z=new g("chunk",["string","Buffer"],ee)),z?(B(Y,z),yt.nextTick(re,z),!1):!0}$.prototype.write=function(Y,K,ee){var re=this._writableState,z=!1,L=!re.objectMode&&a(Y);return L&&!i.isBuffer(Y)&&(Y=o(Y)),typeof K=="function"&&(ee=K,K=null),L?K="buffer":K||(K=re.defaultEncoding),typeof ee!="function"&&(ee=j),re.ending?V(this,ee):(L||te(this,re,Y,ee))&&(re.pendingcb++,z=P(this,re,L,Y,K,ee)),z},$.prototype.cork=function(){this._writableState.corked++},$.prototype.uncork=function(){var Y=this._writableState;Y.corked&&(Y.corked--,!Y.writing&&!Y.corked&&!Y.bufferProcessing&&Y.bufferedRequest&&T(this,Y))},$.prototype.setDefaultEncoding=function(K){if(typeof K=="string"&&(K=K.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((K+"").toLowerCase())>-1))throw new O(K);return this._writableState.defaultEncoding=K,this},Object.defineProperty($.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function W(Y,K,ee){return!Y.objectMode&&Y.decodeStrings!==!1&&typeof K=="string"&&(K=i.from(K,ee)),K}Object.defineProperty($.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function P(Y,K,ee,re,z,L){if(!ee){var H=W(K,re,z);re!==H&&(ee=!0,z="buffer",re=H)}var le=K.objectMode?1:re.length;K.length+=le;var de=K.length>5===6?2:k>>4===14?3:k>>3===30?4:k>>6===2?-1:-2}function o(k,M,O){var B=M.length-1;if(B=0?(j>0&&(k.lastNeed=j-1),j):--B=0?(j>0&&(k.lastNeed=j-2),j):--B=0?(j>0&&(j===2?j=0:k.lastNeed=j-3),j):0))}function a(k,M,O){if((M[0]&192)!==128)return k.lastNeed=0,"�";if(k.lastNeed>1&&M.length>1){if((M[1]&192)!==128)return k.lastNeed=1,"�";if(k.lastNeed>2&&M.length>2&&(M[2]&192)!==128)return k.lastNeed=2,"�"}}function l(k){var M=this.lastTotal-this.lastNeed,O=a(this,k);if(O!==void 0)return O;if(this.lastNeed<=k.length)return k.copy(this.lastChar,M,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);k.copy(this.lastChar,M,0,k.length),this.lastNeed-=k.length}function u(k,M){var O=o(this,k,M);if(!this.lastNeed)return k.toString("utf8",M);this.lastTotal=O;var B=k.length-(O-this.lastNeed);return k.copy(this.lastChar,0,B),k.toString("utf8",M,B)}function h(k){var M=k&&k.length?this.write(k):"";return this.lastNeed?M+"�":M}function p(k,M){if((k.length-M)%2===0){var O=k.toString("utf16le",M);if(O){var B=O.charCodeAt(O.length-1);if(B>=55296&&B<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=k[k.length-2],this.lastChar[1]=k[k.length-1],O.slice(0,-1)}return O}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=k[k.length-1],k.toString("utf16le",M,k.length-1)}function g(k){var M=k&&k.length?this.write(k):"";if(this.lastNeed){var O=this.lastTotal-this.lastNeed;return M+this.lastChar.toString("utf16le",0,O)}return M}function w(k,M){var O=(k.length-M)%3;return O===0?k.toString("base64",M):(this.lastNeed=3-O,this.lastTotal=3,O===1?this.lastChar[0]=k[k.length-1]:(this.lastChar[0]=k[k.length-2],this.lastChar[1]=k[k.length-1]),k.toString("base64",M,k.length-O))}function y(k){var M=k&&k.length?this.write(k):"";return this.lastNeed?M+this.lastChar.toString("base64",0,3-this.lastNeed):M}function C(k){return k.toString(this.encoding)}function R(k){return k&&k.length?this.write(k):""}return fO}var dO,vne;function GC(){if(vne)return dO;vne=1;var r=ny().codes.ERR_STREAM_PREMATURE_CLOSE;function e(s){var o=!1;return function(){if(!o){o=!0;for(var a=arguments.length,l=new Array(a),u=0;u0)if(typeof H!="string"&&!Me.objectMode&&Object.getPrototypeOf(H)!==n.prototype&&(H=s(H)),de)Me.endEmitted?j(L,new k):W(L,Me,H,!0);else if(Me.ended)j(L,new C);else{if(Me.destroyed)return!1;Me.reading=!1,Me.decoder&&!le?(H=Me.decoder.write(H),Me.objectMode||H.length!==0?W(L,Me,H,!1):T(L,Me)):W(L,Me,H,!1)}else de||(Me.reading=!1,T(L,Me))}return!Me.ended&&(Me.length=b?L=b:(L--,L|=L>>>1,L|=L>>>2,L|=L>>>4,L|=L>>>8,L|=L>>>16,L++),L}function m(L,H){return L<=0||H.length===0&&H.ended?0:H.objectMode?1:L!==L?H.flowing&&H.length?H.buffer.head.data.length:H.length:(L>H.highWaterMark&&(H.highWaterMark=d(L)),L<=H.length?L:H.ended?H.length:(H.needReadable=!0,0))}V.prototype.read=function(L){l("read",L),L=parseInt(L,10);var H=this._readableState,le=L;if(L!==0&&(H.emittedReadable=!1),L===0&&H.needReadable&&((H.highWaterMark!==0?H.length>=H.highWaterMark:H.length>0)||H.ended))return l("read: emitReadable",H.length,H.ended),H.length===0&&H.ended?ee(this):A(this),null;if(L=m(L,H),L===0&&H.ended)return H.length===0&&ee(this),null;var de=H.needReadable;l("need readable",de),(H.length===0||H.length-L0?Se=K(L,H):Se=null,Se===null?(H.needReadable=H.length<=H.highWaterMark,L=0):(H.length-=L,H.awaitDrain=0),H.length===0&&(H.ended||(H.needReadable=!0),le!==L&&H.ended&&ee(this)),Se!==null&&this.emit("data",Se),Se};function x(L,H){if(l("onEofChunk"),!H.ended){if(H.decoder){var le=H.decoder.end();le&&le.length&&(H.buffer.push(le),H.length+=H.objectMode?1:le.length)}H.ended=!0,H.sync?A(L):(H.needReadable=!1,H.emittedReadable||(H.emittedReadable=!0,I(L)))}}function A(L){var H=L._readableState;l("emitReadable",H.needReadable,H.emittedReadable),H.needReadable=!1,H.emittedReadable||(l("emitReadable",H.flowing),H.emittedReadable=!0,yt.nextTick(I,L))}function I(L){var H=L._readableState;l("emitReadable_",H.destroyed,H.length,H.ended),!H.destroyed&&(H.length||H.ended)&&(L.emit("readable"),H.emittedReadable=!1),H.needReadable=!H.flowing&&!H.ended&&H.length<=H.highWaterMark,Y(L)}function T(L,H){H.readingMore||(H.readingMore=!0,yt.nextTick(S,L,H))}function S(L,H){for(;!H.reading&&!H.ended&&(H.length1&&z(de.pipes,L)!==-1)&&!je&&(l("false write response, pause",de.awaitDrain),de.awaitDrain++),le.pause())}function ze(Be){l("onerror",Be),He(),L.removeListener("error",ze),e(L,"error")===0&&j(L,Be)}D(L,"error",ze);function qe(){L.removeListener("finish",Ve),He()}L.once("close",qe);function Ve(){l("onfinish"),L.removeListener("close",qe),He()}L.once("finish",Ve);function He(){l("unpipe"),le.unpipe(L)}return L.emit("pipe",le),de.flowing||(l("pipe resume"),le.resume()),L};function E(L){return function(){var le=L._readableState;l("pipeOnDrain",le.awaitDrain),le.awaitDrain&&le.awaitDrain--,le.awaitDrain===0&&e(L,"data")&&(le.flowing=!0,Y(L))}}V.prototype.unpipe=function(L){var H=this._readableState,le={hasUnpiped:!1};if(H.pipesCount===0)return this;if(H.pipesCount===1)return L&&L!==H.pipes?this:(L||(L=H.pipes),H.pipes=null,H.pipesCount=0,H.flowing=!1,L&&L.emit("unpipe",this,le),this);if(!L){var de=H.pipes,Se=H.pipesCount;H.pipes=null,H.pipesCount=0,H.flowing=!1;for(var Me=0;Me0,de.flowing!==!1&&this.resume()):L==="readable"&&!de.endEmitted&&!de.readableListening&&(de.readableListening=de.needReadable=!0,de.flowing=!1,de.emittedReadable=!1,l("on readable",de.length,de.reading),de.length?A(this):de.reading||yt.nextTick(U,this)),le},V.prototype.addListener=V.prototype.on,V.prototype.removeListener=function(L,H){var le=t.prototype.removeListener.call(this,L,H);return L==="readable"&&yt.nextTick(_,this),le},V.prototype.removeAllListeners=function(L){var H=t.prototype.removeAllListeners.apply(this,arguments);return(L==="readable"||L===void 0)&&yt.nextTick(_,this),H};function _(L){var H=L._readableState;H.readableListening=L.listenerCount("readable")>0,H.resumeScheduled&&!H.paused?H.flowing=!0:L.listenerCount("data")>0&&L.resume()}function U(L){l("readable nexttick read 0"),L.read(0)}V.prototype.resume=function(){var L=this._readableState;return L.flowing||(l("resume"),L.flowing=!L.readableListening,ie(this,L)),L.paused=!1,this};function ie(L,H){H.resumeScheduled||(H.resumeScheduled=!0,yt.nextTick(q,L,H))}function q(L,H){l("resume",H.reading),H.reading||L.read(0),H.resumeScheduled=!1,L.emit("resume"),Y(L),H.flowing&&!H.reading&&L.read(0)}V.prototype.pause=function(){return l("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(l("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function Y(L){var H=L._readableState;for(l("flow",H.flowing);H.flowing&&L.read()!==null;);}V.prototype.wrap=function(L){var H=this,le=this._readableState,de=!1;L.on("end",function(){if(l("wrapped end"),le.decoder&&!le.ended){var ke=le.decoder.end();ke&&ke.length&&H.push(ke)}H.push(null)}),L.on("data",function(ke){if(l("wrapped data"),le.decoder&&(ke=le.decoder.write(ke)),!(le.objectMode&&ke==null)&&!(!le.objectMode&&(!ke||!ke.length))){var Ke=H.push(ke);Ke||(de=!0,L.pause())}});for(var Se in L)this[Se]===void 0&&typeof L[Se]=="function"&&(this[Se]=function(Ke){return function(){return L[Ke].apply(L,arguments)}}(Se));for(var Me=0;Me=H.length?(H.decoder?le=H.buffer.join(""):H.buffer.length===1?le=H.buffer.first():le=H.buffer.concat(H.length),H.buffer.clear()):le=H.buffer.consume(L,H.decoder),le}function ee(L){var H=L._readableState;l("endReadable",H.endEmitted),H.endEmitted||(H.ended=!0,yt.nextTick(re,H,L))}function re(L,H){if(l("endReadableNT",L.endEmitted,L.length),!L.endEmitted&&L.length===0&&(L.endEmitted=!0,H.readable=!1,H.emit("end"),L.autoDestroy)){var le=H._writableState;(!le||le.autoDestroy&&le.finished)&&H.destroy()}}typeof Symbol=="function"&&(V.from=function(L,H){return B===void 0&&(B=fRe()),B(V,L,H)});function z(L,H){for(var le=0,de=L.length;le0;return a(M,B,j,function(G){R||(R=G),G&&k.forEach(l),!B&&(k.forEach(l),C(R))})});return w.reduce(u)}return xO=p,xO}var Rne;function Tne(){return Rne||(Rne=1,function(r,e){e=r.exports=bO(),e.Stream=e,e.Readable=e,e.Writable=uO(),e.Duplex=Cm(),e.Transform=vO(),e.PassThrough=Cne(),e.finished=GC(),e.pipeline=Ine()}(qC,qC.exports)),qC.exports}var _O,kne;function Mne(){if(kne)return _O;kne=1;var r=nn().Buffer,e=Tne().Transform,t=tn();function n(s,o){if(!r.isBuffer(s)&&typeof s!="string")throw new TypeError(o+" must be a string or a buffer")}function i(s){e.call(this),this._block=r.allocUnsafe(s),this._blockSize=s,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}return t(i,e),i.prototype._transform=function(s,o,a){var l=null;try{this.update(s,o)}catch(u){l=u}a(l)},i.prototype._flush=function(s){var o=null;try{this.push(this.digest())}catch(a){o=a}s(o)},i.prototype.update=function(s,o){if(n(s,"Data"),this._finalized)throw new Error("Digest already called");r.isBuffer(s)||(s=r.from(s,o));for(var a=this._block,l=0;this._blockOffset+s.length-l>=this._blockSize;){for(var u=this._blockOffset;u0;++h)this._length[h]+=p,p=this._length[h]/4294967296|0,p>0&&(this._length[h]-=4294967296*p);return this},i.prototype._update=function(){throw new Error("_update is not implemented")},i.prototype.digest=function(s){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var o=this._digest();s!==void 0&&(o=o.toString(s)),this._block.fill(0),this._blockOffset=0;for(var a=0;a<4;++a)this._length[a]=0;return o},i.prototype._digest=function(){throw new Error("_digest is not implemented")},_O=i,_O}var EO,Nne;function AO(){if(Nne)return EO;Nne=1;var r=tn(),e=Mne(),t=nn().Buffer,n=new Array(16);function i(){e.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}r(i,e),i.prototype._update=function(){for(var h=n,p=0;p<16;++p)h[p]=this._block.readInt32LE(p*4);var g=this._a,w=this._b,y=this._c,C=this._d;g=o(g,w,y,C,h[0],3614090360,7),C=o(C,g,w,y,h[1],3905402710,12),y=o(y,C,g,w,h[2],606105819,17),w=o(w,y,C,g,h[3],3250441966,22),g=o(g,w,y,C,h[4],4118548399,7),C=o(C,g,w,y,h[5],1200080426,12),y=o(y,C,g,w,h[6],2821735955,17),w=o(w,y,C,g,h[7],4249261313,22),g=o(g,w,y,C,h[8],1770035416,7),C=o(C,g,w,y,h[9],2336552879,12),y=o(y,C,g,w,h[10],4294925233,17),w=o(w,y,C,g,h[11],2304563134,22),g=o(g,w,y,C,h[12],1804603682,7),C=o(C,g,w,y,h[13],4254626195,12),y=o(y,C,g,w,h[14],2792965006,17),w=o(w,y,C,g,h[15],1236535329,22),g=a(g,w,y,C,h[1],4129170786,5),C=a(C,g,w,y,h[6],3225465664,9),y=a(y,C,g,w,h[11],643717713,14),w=a(w,y,C,g,h[0],3921069994,20),g=a(g,w,y,C,h[5],3593408605,5),C=a(C,g,w,y,h[10],38016083,9),y=a(y,C,g,w,h[15],3634488961,14),w=a(w,y,C,g,h[4],3889429448,20),g=a(g,w,y,C,h[9],568446438,5),C=a(C,g,w,y,h[14],3275163606,9),y=a(y,C,g,w,h[3],4107603335,14),w=a(w,y,C,g,h[8],1163531501,20),g=a(g,w,y,C,h[13],2850285829,5),C=a(C,g,w,y,h[2],4243563512,9),y=a(y,C,g,w,h[7],1735328473,14),w=a(w,y,C,g,h[12],2368359562,20),g=l(g,w,y,C,h[5],4294588738,4),C=l(C,g,w,y,h[8],2272392833,11),y=l(y,C,g,w,h[11],1839030562,16),w=l(w,y,C,g,h[14],4259657740,23),g=l(g,w,y,C,h[1],2763975236,4),C=l(C,g,w,y,h[4],1272893353,11),y=l(y,C,g,w,h[7],4139469664,16),w=l(w,y,C,g,h[10],3200236656,23),g=l(g,w,y,C,h[13],681279174,4),C=l(C,g,w,y,h[0],3936430074,11),y=l(y,C,g,w,h[3],3572445317,16),w=l(w,y,C,g,h[6],76029189,23),g=l(g,w,y,C,h[9],3654602809,4),C=l(C,g,w,y,h[12],3873151461,11),y=l(y,C,g,w,h[15],530742520,16),w=l(w,y,C,g,h[2],3299628645,23),g=u(g,w,y,C,h[0],4096336452,6),C=u(C,g,w,y,h[7],1126891415,10),y=u(y,C,g,w,h[14],2878612391,15),w=u(w,y,C,g,h[5],4237533241,21),g=u(g,w,y,C,h[12],1700485571,6),C=u(C,g,w,y,h[3],2399980690,10),y=u(y,C,g,w,h[10],4293915773,15),w=u(w,y,C,g,h[1],2240044497,21),g=u(g,w,y,C,h[8],1873313359,6),C=u(C,g,w,y,h[15],4264355552,10),y=u(y,C,g,w,h[6],2734768916,15),w=u(w,y,C,g,h[13],1309151649,21),g=u(g,w,y,C,h[4],4149444226,6),C=u(C,g,w,y,h[11],3174756917,10),y=u(y,C,g,w,h[2],718787259,15),w=u(w,y,C,g,h[9],3951481745,21),this._a=this._a+g|0,this._b=this._b+w|0,this._c=this._c+y|0,this._d=this._d+C|0},i.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var h=t.allocUnsafe(16);return h.writeInt32LE(this._a,0),h.writeInt32LE(this._b,4),h.writeInt32LE(this._c,8),h.writeInt32LE(this._d,12),h};function s(h,p){return h<>>32-p}function o(h,p,g,w,y,C,R){return s(h+(p&g|~p&w)+y+C|0,R)+p|0}function a(h,p,g,w,y,C,R){return s(h+(p&w|g&~w)+y+C|0,R)+p|0}function l(h,p,g,w,y,C,R){return s(h+(p^g^w)+y+C|0,R)+p|0}function u(h,p,g,w,y,C,R){return s(h+(g^(p|~w))+y+C|0,R)+p|0}return EO=i,EO}var CO,Pne;function SO(){if(Pne)return CO;Pne=1;var r=Hc.Buffer,e=tn(),t=Mne(),n=new Array(16),i=[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],s=[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],o=[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],a=[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],l=[0,1518500249,1859775393,2400959708,2840853838],u=[1352829926,1548603684,1836072691,2053994217,0];function h(){t.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}e(h,t),h.prototype._update=function(){for(var k=n,M=0;M<16;++M)k[M]=this._block.readInt32LE(M*4);for(var O=this._a|0,B=this._b|0,j=this._c|0,G=this._d|0,D=this._e|0,$=this._a|0,V=this._b|0,te=this._c|0,W=this._d|0,P=this._e|0,b=0;b<80;b+=1){var d,m;b<16?(d=g(O,B,j,G,D,k[i[b]],l[0],o[b]),m=R($,V,te,W,P,k[s[b]],u[0],a[b])):b<32?(d=w(O,B,j,G,D,k[i[b]],l[1],o[b]),m=C($,V,te,W,P,k[s[b]],u[1],a[b])):b<48?(d=y(O,B,j,G,D,k[i[b]],l[2],o[b]),m=y($,V,te,W,P,k[s[b]],u[2],a[b])):b<64?(d=C(O,B,j,G,D,k[i[b]],l[3],o[b]),m=w($,V,te,W,P,k[s[b]],u[3],a[b])):(d=R(O,B,j,G,D,k[i[b]],l[4],o[b]),m=g($,V,te,W,P,k[s[b]],u[4],a[b])),O=D,D=G,G=p(j,10),j=B,B=d,$=P,P=W,W=p(te,10),te=V,V=m}var x=this._b+j+W|0;this._b=this._c+G+P|0,this._c=this._d+D+$|0,this._d=this._e+O+V|0,this._e=this._a+B+te|0,this._a=x},h.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var k=r.alloc?r.alloc(20):new r(20);return k.writeInt32LE(this._a,0),k.writeInt32LE(this._b,4),k.writeInt32LE(this._c,8),k.writeInt32LE(this._d,12),k.writeInt32LE(this._e,16),k};function p(k,M){return k<>>32-M}function g(k,M,O,B,j,G,D,$){return p(k+(M^O^B)+G+D|0,$)+j|0}function w(k,M,O,B,j,G,D,$){return p(k+(M&O|~M&B)+G+D|0,$)+j|0}function y(k,M,O,B,j,G,D,$){return p(k+((M|~O)^B)+G+D|0,$)+j|0}function C(k,M,O,B,j,G,D,$){return p(k+(M&B|O&~B)+G+D|0,$)+j|0}function R(k,M,O,B,j,G,D,$){return p(k+(M^(O|~B))+G+D|0,$)+j|0}return CO=h,CO}var IO={exports:{}},RO,One;function iy(){if(One)return RO;One=1;var r=nn().Buffer;function e(t,n){this._block=r.alloc(t),this._finalSize=n,this._blockSize=t,this._len=0}return e.prototype.update=function(t,n){typeof t=="string"&&(n=n||"utf8",t=r.from(t,n));for(var i=this._block,s=this._blockSize,o=t.length,a=this._len,l=0;l=this._finalSize&&(this._update(this._block),this._block.fill(0));var i=this._len*8;if(i<=4294967295)this._block.writeUInt32BE(i,this._blockSize-4);else{var s=(i&4294967295)>>>0,o=(i-s)/4294967296;this._block.writeUInt32BE(o,this._blockSize-8),this._block.writeUInt32BE(s,this._blockSize-4)}this._update(this._block);var a=this._hash();return t?a.toString(t):a},e.prototype._update=function(){throw new Error("_update must be implemented by subclass")},RO=e,RO}var TO,Dne;function dRe(){if(Dne)return TO;Dne=1;var r=tn(),e=iy(),t=nn().Buffer,n=[1518500249,1859775393,-1894007588,-899497514],i=new Array(80);function s(){this.init(),this._w=i,e.call(this,64,56)}r(s,e),s.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function o(u){return u<<5|u>>>27}function a(u){return u<<30|u>>>2}function l(u,h,p,g){return u===0?h&p|~h&g:u===2?h&p|h&g|p&g:h^p^g}return s.prototype._update=function(u){for(var h=this._w,p=this._a|0,g=this._b|0,w=this._c|0,y=this._d|0,C=this._e|0,R=0;R<16;++R)h[R]=u.readInt32BE(R*4);for(;R<80;++R)h[R]=h[R-3]^h[R-8]^h[R-14]^h[R-16];for(var k=0;k<80;++k){var M=~~(k/20),O=o(p)+l(M,g,w,y)+C+h[k]+n[M]|0;C=y,y=w,w=a(g),g=p,p=O}this._a=p+this._a|0,this._b=g+this._b|0,this._c=w+this._c|0,this._d=y+this._d|0,this._e=C+this._e|0},s.prototype._hash=function(){var u=t.allocUnsafe(20);return u.writeInt32BE(this._a|0,0),u.writeInt32BE(this._b|0,4),u.writeInt32BE(this._c|0,8),u.writeInt32BE(this._d|0,12),u.writeInt32BE(this._e|0,16),u},TO=s,TO}var kO,$ne;function pRe(){if($ne)return kO;$ne=1;var r=tn(),e=iy(),t=nn().Buffer,n=[1518500249,1859775393,-1894007588,-899497514],i=new Array(80);function s(){this.init(),this._w=i,e.call(this,64,56)}r(s,e),s.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function o(h){return h<<1|h>>>31}function a(h){return h<<5|h>>>27}function l(h){return h<<30|h>>>2}function u(h,p,g,w){return h===0?p&g|~p&w:h===2?p&g|p&w|g&w:p^g^w}return s.prototype._update=function(h){for(var p=this._w,g=this._a|0,w=this._b|0,y=this._c|0,C=this._d|0,R=this._e|0,k=0;k<16;++k)p[k]=h.readInt32BE(k*4);for(;k<80;++k)p[k]=o(p[k-3]^p[k-8]^p[k-14]^p[k-16]);for(var M=0;M<80;++M){var O=~~(M/20),B=a(g)+u(O,w,y,C)+R+p[M]+n[O]|0;R=C,C=y,y=l(w),w=g,g=B}this._a=g+this._a|0,this._b=w+this._b|0,this._c=y+this._c|0,this._d=C+this._d|0,this._e=R+this._e|0},s.prototype._hash=function(){var h=t.allocUnsafe(20);return h.writeInt32BE(this._a|0,0),h.writeInt32BE(this._b|0,4),h.writeInt32BE(this._c|0,8),h.writeInt32BE(this._d|0,12),h.writeInt32BE(this._e|0,16),h},kO=s,kO}var MO,Bne;function Lne(){if(Bne)return MO;Bne=1;var r=tn(),e=iy(),t=nn().Buffer,n=[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,2756734187,3204031479,3329325298],i=new Array(64);function s(){this.init(),this._w=i,e.call(this,64,56)}r(s,e),s.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this};function o(g,w,y){return y^g&(w^y)}function a(g,w,y){return g&w|y&(g|w)}function l(g){return(g>>>2|g<<30)^(g>>>13|g<<19)^(g>>>22|g<<10)}function u(g){return(g>>>6|g<<26)^(g>>>11|g<<21)^(g>>>25|g<<7)}function h(g){return(g>>>7|g<<25)^(g>>>18|g<<14)^g>>>3}function p(g){return(g>>>17|g<<15)^(g>>>19|g<<13)^g>>>10}return s.prototype._update=function(g){for(var w=this._w,y=this._a|0,C=this._b|0,R=this._c|0,k=this._d|0,M=this._e|0,O=this._f|0,B=this._g|0,j=this._h|0,G=0;G<16;++G)w[G]=g.readInt32BE(G*4);for(;G<64;++G)w[G]=p(w[G-2])+w[G-7]+h(w[G-15])+w[G-16]|0;for(var D=0;D<64;++D){var $=j+u(M)+o(M,O,B)+n[D]+w[D]|0,V=l(y)+a(y,C,R)|0;j=B,B=O,O=M,M=k+$|0,k=R,R=C,C=y,y=$+V|0}this._a=y+this._a|0,this._b=C+this._b|0,this._c=R+this._c|0,this._d=k+this._d|0,this._e=M+this._e|0,this._f=O+this._f|0,this._g=B+this._g|0,this._h=j+this._h|0},s.prototype._hash=function(){var g=t.allocUnsafe(32);return g.writeInt32BE(this._a,0),g.writeInt32BE(this._b,4),g.writeInt32BE(this._c,8),g.writeInt32BE(this._d,12),g.writeInt32BE(this._e,16),g.writeInt32BE(this._f,20),g.writeInt32BE(this._g,24),g.writeInt32BE(this._h,28),g},MO=s,MO}var NO,Une;function gRe(){if(Une)return NO;Une=1;var r=tn(),e=Lne(),t=iy(),n=nn().Buffer,i=new Array(64);function s(){this.init(),this._w=i,t.call(this,64,56)}return r(s,e),s.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},s.prototype._hash=function(){var o=n.allocUnsafe(28);return o.writeInt32BE(this._a,0),o.writeInt32BE(this._b,4),o.writeInt32BE(this._c,8),o.writeInt32BE(this._d,12),o.writeInt32BE(this._e,16),o.writeInt32BE(this._f,20),o.writeInt32BE(this._g,24),o},NO=s,NO}var PO,Fne;function jne(){if(Fne)return PO;Fne=1;var r=tn(),e=iy(),t=nn().Buffer,n=[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,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],i=new Array(160);function s(){this.init(),this._w=i,e.call(this,128,112)}r(s,e),s.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this};function o(C,R,k){return k^C&(R^k)}function a(C,R,k){return C&R|k&(C|R)}function l(C,R){return(C>>>28|R<<4)^(R>>>2|C<<30)^(R>>>7|C<<25)}function u(C,R){return(C>>>14|R<<18)^(C>>>18|R<<14)^(R>>>9|C<<23)}function h(C,R){return(C>>>1|R<<31)^(C>>>8|R<<24)^C>>>7}function p(C,R){return(C>>>1|R<<31)^(C>>>8|R<<24)^(C>>>7|R<<25)}function g(C,R){return(C>>>19|R<<13)^(R>>>29|C<<3)^C>>>6}function w(C,R){return(C>>>19|R<<13)^(R>>>29|C<<3)^(C>>>6|R<<26)}function y(C,R){return C>>>0>>0?1:0}return s.prototype._update=function(C){for(var R=this._w,k=this._ah|0,M=this._bh|0,O=this._ch|0,B=this._dh|0,j=this._eh|0,G=this._fh|0,D=this._gh|0,$=this._hh|0,V=this._al|0,te=this._bl|0,W=this._cl|0,P=this._dl|0,b=this._el|0,d=this._fl|0,m=this._gl|0,x=this._hl|0,A=0;A<32;A+=2)R[A]=C.readInt32BE(A*4),R[A+1]=C.readInt32BE(A*4+4);for(;A<160;A+=2){var I=R[A-30],T=R[A-15*2+1],S=h(I,T),E=p(T,I);I=R[A-2*2],T=R[A-2*2+1];var _=g(I,T),U=w(T,I),ie=R[A-7*2],q=R[A-7*2+1],Y=R[A-16*2],K=R[A-16*2+1],ee=E+q|0,re=S+ie+y(ee,E)|0;ee=ee+U|0,re=re+_+y(ee,U)|0,ee=ee+K|0,re=re+Y+y(ee,K)|0,R[A]=re,R[A+1]=ee}for(var z=0;z<160;z+=2){re=R[z],ee=R[z+1];var L=a(k,M,O),H=a(V,te,W),le=l(k,V),de=l(V,k),Se=u(j,b),Me=u(b,j),ke=n[z],Ke=n[z+1],Te=o(j,G,D),je=o(b,d,m),De=x+Me|0,Je=$+Se+y(De,x)|0;De=De+je|0,Je=Je+Te+y(De,je)|0,De=De+Ke|0,Je=Je+ke+y(De,Ke)|0,De=De+ee|0,Je=Je+re+y(De,ee)|0;var ze=de+H|0,qe=le+L+y(ze,de)|0;$=D,x=m,D=G,m=d,G=j,d=b,b=P+De|0,j=B+Je+y(b,P)|0,B=O,P=W,O=M,W=te,M=k,te=V,V=De+ze|0,k=Je+qe+y(V,De)|0}this._al=this._al+V|0,this._bl=this._bl+te|0,this._cl=this._cl+W|0,this._dl=this._dl+P|0,this._el=this._el+b|0,this._fl=this._fl+d|0,this._gl=this._gl+m|0,this._hl=this._hl+x|0,this._ah=this._ah+k+y(this._al,V)|0,this._bh=this._bh+M+y(this._bl,te)|0,this._ch=this._ch+O+y(this._cl,W)|0,this._dh=this._dh+B+y(this._dl,P)|0,this._eh=this._eh+j+y(this._el,b)|0,this._fh=this._fh+G+y(this._fl,d)|0,this._gh=this._gh+D+y(this._gl,m)|0,this._hh=this._hh+$+y(this._hl,x)|0},s.prototype._hash=function(){var C=t.allocUnsafe(64);function R(k,M,O){C.writeInt32BE(k,O),C.writeInt32BE(M,O+4)}return R(this._ah,this._al,0),R(this._bh,this._bl,8),R(this._ch,this._cl,16),R(this._dh,this._dl,24),R(this._eh,this._el,32),R(this._fh,this._fl,40),R(this._gh,this._gl,48),R(this._hh,this._hl,56),C},PO=s,PO}var OO,zne;function mRe(){if(zne)return OO;zne=1;var r=tn(),e=jne(),t=iy(),n=nn().Buffer,i=new Array(160);function s(){this.init(),this._w=i,t.call(this,128,112)}return r(s,e),s.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},s.prototype._hash=function(){var o=n.allocUnsafe(48);function a(l,u,h){o.writeInt32BE(l,h),o.writeInt32BE(u,h+4)}return a(this._ah,this._al,0),a(this._bh,this._bl,8),a(this._ch,this._cl,16),a(this._dh,this._dl,24),a(this._eh,this._el,32),a(this._fh,this._fl,40),o},OO=s,OO}var Hne;function DO(){if(Hne)return IO.exports;Hne=1;var r=IO.exports=function(t){t=t.toLowerCase();var n=r[t];if(!n)throw new Error(t+" is not supported (we accept pull requests)");return new n};return r.sha=dRe(),r.sha1=pRe(),r.sha224=gRe(),r.sha256=Lne(),r.sha384=mRe(),r.sha512=jne(),IO.exports}var $O,qne;function bRe(){if(qne)return $O;qne=1,$O=t;var r=fi.EventEmitter,e=tn();e(t,r),t.Readable=bO(),t.Writable=uO(),t.Duplex=Cm(),t.Transform=vO(),t.PassThrough=Cne(),t.finished=GC(),t.pipeline=Ine(),t.Stream=t;function t(){r.call(this)}return t.prototype.pipe=function(n,i){var s=this;function o(w){n.writable&&n.write(w)===!1&&s.pause&&s.pause()}s.on("data",o);function a(){s.readable&&s.resume&&s.resume()}n.on("drain",a),!n._isStdio&&(!i||i.end!==!1)&&(s.on("end",u),s.on("close",h));var l=!1;function u(){l||(l=!0,n.end())}function h(){l||(l=!0,typeof n.destroy=="function"&&n.destroy())}function p(w){if(g(),r.listenerCount(this,"error")===0)throw w}s.on("error",p),n.on("error",p);function g(){s.removeListener("data",o),n.removeListener("drain",a),s.removeListener("end",u),s.removeListener("close",h),s.removeListener("error",p),n.removeListener("error",p),s.removeListener("end",g),s.removeListener("close",g),n.removeListener("close",g)}return s.on("end",g),s.on("close",g),n.on("close",g),n.emit("pipe",s),n},$O}var BO,Wne;function f1(){if(Wne)return BO;Wne=1;var r=nn().Buffer,e=bRe().Transform,t=k6().StringDecoder,n=tn();function i(s){e.call(this),this.hashMode=typeof s=="string",this.hashMode?this[s]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}return n(i,e),i.prototype.update=function(s,o,a){typeof s=="string"&&(s=r.from(s,o));var l=this._update(s);return this.hashMode?this:(a&&(l=this._toString(l,a)),l)},i.prototype.setAutoPadding=function(){},i.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},i.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},i.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},i.prototype._transform=function(s,o,a){var l;try{this.hashMode?this._update(s):this.push(this._update(s))}catch(u){l=u}finally{a(l)}},i.prototype._flush=function(s){var o;try{this.push(this.__final())}catch(a){o=a}s(o)},i.prototype._finalOrDigest=function(s){var o=this.__final()||r.alloc(0);return s&&(o=this._toString(o,s,!0)),o},i.prototype._toString=function(s,o,a){if(this._decoder||(this._decoder=new t(o),this._encoding=o),this._encoding!==o)throw new Error("can't switch encodings");var l=this._decoder.write(s);return a&&(l+=this._decoder.end()),l},BO=i,BO}var LO,Vne;function M6(){if(Vne)return LO;Vne=1;var r=tn(),e=AO(),t=SO(),n=DO(),i=f1();function s(o){i.call(this,"digest"),this._hash=o}return r(s,i),s.prototype._update=function(o){this._hash.update(o)},s.prototype._final=function(){return this._hash.digest()},LO=function(a){return a=a.toLowerCase(),a==="md5"?new e:a==="rmd160"||a==="ripemd160"?new t:new s(n(a))},LO}var UO,Gne;function wRe(){if(Gne)return UO;Gne=1;var r=tn(),e=nn().Buffer,t=f1(),n=e.alloc(128),i=64;function s(o,a){t.call(this,"digest"),typeof a=="string"&&(a=e.from(a)),this._alg=o,this._key=a,a.length>i?a=o(a):a.lengthp){var g=u==="rmd160"?new s:o(u);h=g.update(h).digest()}else h.lengthr||t!==t)throw new TypeError("Bad key length")},HO}var qO,rie;function nie(){if(rie)return qO;rie=1;var r;if(ct.process&&ct.process.browser)r="utf-8";else if(ct.process&&ct.process.version){var e=parseInt(yt.version.split(".")[0].slice(1),10);r=e>=6?"utf-8":"binary"}else r="utf-8";return qO=r,qO}var WO,iie;function sie(){if(iie)return WO;iie=1;var r=nn().Buffer;return WO=function(e,t,n){if(r.isBuffer(e))return e;if(typeof e=="string")return r.from(e,t);if(ArrayBuffer.isView(e))return r.from(e.buffer);throw new TypeError(n+" must be a string, a Buffer, a typed array or a DataView")},WO}var VO,oie;function aie(){if(oie)return VO;oie=1;var r=Zne(),e=SO(),t=DO(),n=nn().Buffer,i=tie(),s=nie(),o=sie(),a=n.alloc(128),l={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function u(g,w,y){var C=h(g),R=g==="sha512"||g==="sha384"?128:64;w.length>R?w=C(w):w.length>>0},qc.writeUInt32BE=function(i,s,o){i[0+o]=s>>>24,i[1+o]=s>>>16&255,i[2+o]=s>>>8&255,i[3+o]=s&255},qc.ip=function(i,s,o,a){for(var l=0,u=0,h=6;h>=0;h-=2){for(var p=0;p<=24;p+=8)l<<=1,l|=s>>>p+h&1;for(var p=0;p<=24;p+=8)l<<=1,l|=i>>>p+h&1}for(var h=6;h>=0;h-=2){for(var p=1;p<=25;p+=8)u<<=1,u|=s>>>p+h&1;for(var p=1;p<=25;p+=8)u<<=1,u|=i>>>p+h&1}o[a+0]=l>>>0,o[a+1]=u>>>0},qc.rip=function(i,s,o,a){for(var l=0,u=0,h=0;h<4;h++)for(var p=24;p>=0;p-=8)l<<=1,l|=s>>>p+h&1,l<<=1,l|=i>>>p+h&1;for(var h=4;h<8;h++)for(var p=24;p>=0;p-=8)u<<=1,u|=s>>>p+h&1,u<<=1,u|=i>>>p+h&1;o[a+0]=l>>>0,o[a+1]=u>>>0},qc.pc1=function(i,s,o,a){for(var l=0,u=0,h=7;h>=5;h--){for(var p=0;p<=24;p+=8)l<<=1,l|=s>>p+h&1;for(var p=0;p<=24;p+=8)l<<=1,l|=i>>p+h&1}for(var p=0;p<=24;p+=8)l<<=1,l|=s>>p+h&1;for(var h=1;h<=3;h++){for(var p=0;p<=24;p+=8)u<<=1,u|=s>>p+h&1;for(var p=0;p<=24;p+=8)u<<=1,u|=i>>p+h&1}for(var p=0;p<=24;p+=8)u<<=1,u|=i>>p+h&1;o[a+0]=l>>>0,o[a+1]=u>>>0},qc.r28shl=function(i,s){return i<>>28-s};var r=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];qc.pc2=function(i,s,o,a){for(var l=0,u=0,h=r.length>>>1,p=0;p>>r[p]&1;for(var p=h;p>>r[p]&1;o[a+0]=l>>>0,o[a+1]=u>>>0},qc.expand=function(i,s,o){var a=0,l=0;a=(i&1)<<5|i>>>27;for(var u=23;u>=15;u-=4)a<<=6,a|=i>>>u&63;for(var u=11;u>=3;u-=4)l|=i>>>u&63,l<<=6;l|=(i&31)<<1|i>>>31,s[o+0]=a>>>0,s[o+1]=l>>>0};var e=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];qc.substitute=function(i,s){for(var o=0,a=0;a<4;a++){var l=i>>>18-a*6&63,u=e[a*64+l];o<<=4,o|=u}for(var a=0;a<4;a++){var l=s>>>18-a*6&63,u=e[4*64+a*64+l];o<<=4,o|=u}return o>>>0};var t=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];return qc.permute=function(i){for(var s=0,o=0;o>>t[o]&1;return s>>>0},qc.padSplit=function(i,s,o){for(var a=i.toString(2);a.length0;o--)i+=this._buffer(n,i),s+=this._flushBuffer(a,s);return i+=this._buffer(n,i),a},e.prototype.final=function(n){var i;n&&(i=this.update(n));var s;return this.type==="encrypt"?s=this._finalEncrypt():s=this._finalDecrypt(),i?i.concat(s):s},e.prototype._pad=function(n,i){if(i===0)return!1;for(;i>>1];h=t.r28shl(h,w),p=t.r28shl(p,w),t.pc2(h,p,l.keys,g)}},s.prototype._update=function(l,u,h,p){var g=this._desState,w=t.readUInt32BE(l,u),y=t.readUInt32BE(l,u+4);t.ip(w,y,g.tmp,0),w=g.tmp[0],y=g.tmp[1],this.type==="encrypt"?this._encrypt(g,w,y,g.tmp,0):this._decrypt(g,w,y,g.tmp,0),w=g.tmp[0],y=g.tmp[1],t.writeUInt32BE(h,w,p),t.writeUInt32BE(h,y,p+4)},s.prototype._pad=function(l,u){if(this.padding===!1)return!1;for(var h=l.length-u,p=u;p>>0,w=B}t.rip(y,w,p,g)},s.prototype._decrypt=function(l,u,h,p,g){for(var w=h,y=u,C=l.keys.length-2;C>=0;C-=2){var R=l.keys[C],k=l.keys[C+1];t.expand(w,l.tmp,0),R^=l.tmp[0],k^=l.tmp[1];var M=t.substitute(R,k),O=t.permute(M),B=w;w=(y^O)>>>0,y=B}t.rip(w,y,p,g)},YO}var QO={},bie;function xRe(){if(bie)return QO;bie=1;var r=Vl(),e=tn(),t={};function n(s){r.equal(s.length,8,"Invalid IV length"),this.iv=new Array(8);for(var o=0;o>a%8,n._prev=t(n._prev,s?h:p);return u}function t(n,i){var s=n.length,o=-1,a=r.allocUnsafe(n.length);for(n=r.concat([n,r.from([i])]);++o>7;return a}return iD.encrypt=function(n,i,s){for(var o=i.length,a=r.allocUnsafe(o),l=-1;++l>>24]^w[k>>>16&255]^y[M>>>8&255]^C[O&255]^l[$++],j=g[k>>>24]^w[M>>>16&255]^y[O>>>8&255]^C[R&255]^l[$++],G=g[M>>>24]^w[O>>>16&255]^y[R>>>8&255]^C[k&255]^l[$++],D=g[O>>>24]^w[R>>>16&255]^y[k>>>8&255]^C[M&255]^l[$++],R=B,k=j,M=G,O=D;return B=(h[R>>>24]<<24|h[k>>>16&255]<<16|h[M>>>8&255]<<8|h[O&255])^l[$++],j=(h[k>>>24]<<24|h[M>>>16&255]<<16|h[O>>>8&255]<<8|h[R&255])^l[$++],G=(h[M>>>24]<<24|h[O>>>16&255]<<16|h[R>>>8&255]<<8|h[k&255])^l[$++],D=(h[O>>>24]<<24|h[R>>>16&255]<<16|h[k>>>8&255]<<8|h[M&255])^l[$++],B=B>>>0,j=j>>>0,G=G>>>0,D=D>>>0,[B,j,G,D]}var i=[0,1,2,4,8,16,32,64,128,27,54],s=function(){for(var a=new Array(256),l=0;l<256;l++)l<128?a[l]=l<<1:a[l]=l<<1^283;for(var u=[],h=[],p=[[],[],[],[]],g=[[],[],[],[]],w=0,y=0,C=0;C<256;++C){var R=y^y<<1^y<<2^y<<3^y<<4;R=R>>>8^R&255^99,u[w]=R,h[R]=w;var k=a[w],M=a[k],O=a[M],B=a[R]*257^R*16843008;p[0][w]=B<<24|B>>>8,p[1][w]=B<<16|B>>>16,p[2][w]=B<<8|B>>>24,p[3][w]=B,B=O*16843009^M*65537^k*257^w*16843008,g[0][R]=B<<24|B>>>8,g[1][R]=B<<16|B>>>16,g[2][R]=B<<8|B>>>24,g[3][R]=B,w===0?w=y=1:(w=k^a[a[a[O^k]]],y^=a[a[y]])}return{SBOX:u,INV_SBOX:h,SUB_MIX:p,INV_SUB_MIX:g}}();function o(a){this._key=e(a),this._reset()}return o.blockSize=4*4,o.keySize=256/8,o.prototype.blockSize=o.blockSize,o.prototype.keySize=o.keySize,o.prototype._reset=function(){for(var a=this._key,l=a.length,u=l+6,h=(u+1)*4,p=[],g=0;g>>24,w=s.SBOX[w>>>24]<<24|s.SBOX[w>>>16&255]<<16|s.SBOX[w>>>8&255]<<8|s.SBOX[w&255],w^=i[g/l|0]<<24):l>6&&g%l===4&&(w=s.SBOX[w>>>24]<<24|s.SBOX[w>>>16&255]<<16|s.SBOX[w>>>8&255]<<8|s.SBOX[w&255]),p[g]=p[g-l]^w}for(var y=[],C=0;C>>24]]^s.INV_SUB_MIX[1][s.SBOX[k>>>16&255]]^s.INV_SUB_MIX[2][s.SBOX[k>>>8&255]]^s.INV_SUB_MIX[3][s.SBOX[k&255]]}this._nRounds=u,this._keySchedule=p,this._invKeySchedule=y},o.prototype.encryptBlockRaw=function(a){return a=e(a),n(a,this._keySchedule,s.SUB_MIX,s.SBOX,this._nRounds)},o.prototype.encryptBlock=function(a){var l=this.encryptBlockRaw(a),u=r.allocUnsafe(16);return u.writeUInt32BE(l[0],0),u.writeUInt32BE(l[1],4),u.writeUInt32BE(l[2],8),u.writeUInt32BE(l[3],12),u},o.prototype.decryptBlock=function(a){a=e(a);var l=a[1];a[1]=a[3],a[3]=l;var u=n(a,this._invKeySchedule,s.INV_SUB_MIX,s.INV_SBOX,this._nRounds),h=r.allocUnsafe(16);return h.writeUInt32BE(u[0],0),h.writeUInt32BE(u[3],4),h.writeUInt32BE(u[2],8),h.writeUInt32BE(u[1],12),h},o.prototype.scrub=function(){t(this._keySchedule),t(this._invKeySchedule),t(this._key)},uD.AES=o,uD}var hD,Die;function MRe(){if(Die)return hD;Die=1;var r=nn().Buffer,e=r.alloc(16,0);function t(s){return[s.readUInt32BE(0),s.readUInt32BE(4),s.readUInt32BE(8),s.readUInt32BE(12)]}function n(s){var o=r.allocUnsafe(16);return o.writeUInt32BE(s[0]>>>0,0),o.writeUInt32BE(s[1]>>>0,4),o.writeUInt32BE(s[2]>>>0,8),o.writeUInt32BE(s[3]>>>0,12),o}function i(s){this.h=s,this.state=r.alloc(16,0),this.cache=r.allocUnsafe(0)}return i.prototype.ghash=function(s){for(var o=-1;++o0;a--)s[a]=s[a]>>>1|(s[a-1]&1)<<31;s[0]=s[0]>>>1,u&&(s[0]=s[0]^225<<24)}this.state=n(o)},i.prototype.update=function(s){this.cache=r.concat([this.cache,s]);for(var o;this.cache.length>=16;)o=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(o)},i.prototype.final=function(s,o){return this.cache.length&&this.ghash(r.concat([this.cache,e],16)),this.ghash(n([0,s,0,o])),this.state},hD=i,hD}var fD,$ie;function Bie(){if($ie)return fD;$ie=1;var r=QC(),e=nn().Buffer,t=f1(),n=tn(),i=MRe(),s=N6(),o=Tie();function a(h,p){var g=0;h.length!==p.length&&g++;for(var w=Math.min(h.length,p.length),y=0;y0||o>0;){var p=new e;p.update(h),p.update(n),i&&p.update(i),h=p.digest();var g=0;if(a>0){var w=l.length-a;g=Math.min(a,h.length),h.copy(l,w,0,g),a-=g}if(g0){var y=u.length-o,C=Math.min(o,h.length-g);h.copy(u,y,g,g+C),o-=C}}return h.fill(0),{key:l,iv:u}}return pD=t,pD}var jie;function NRe(){if(jie)return ZC;jie=1;var r=lD(),e=Bie(),t=nn().Buffer,n=Uie(),i=f1(),s=QC(),o=XC(),a=tn();function l(w,y,C){i.call(this),this._cache=new h,this._cipher=new s.AES(y),this._prev=t.from(C),this._mode=w,this._autopadding=!0}a(l,i),l.prototype._update=function(w){this._cache.add(w);for(var y,C,R=[];y=this._cache.get();)C=this._mode.encrypt(this,y),R.push(C);return t.concat(R)};var u=t.alloc(16,16);l.prototype._final=function(){var w=this._cache.flush();if(this._autopadding)return w=this._mode.encrypt(this,w),this._cipher.scrub(),w;if(!w.equals(u))throw this._cipher.scrub(),new Error("data not multiple of block length")},l.prototype.setAutoPadding=function(w){return this._autopadding=!!w,this};function h(){this.cache=t.allocUnsafe(0)}h.prototype.add=function(w){this.cache=t.concat([this.cache,w])},h.prototype.get=function(){if(this.cache.length>15){var w=this.cache.slice(0,16);return this.cache=this.cache.slice(16),w}return null},h.prototype.flush=function(){for(var w=16-this.cache.length,y=t.allocUnsafe(w),C=-1;++C16)return y=this.cache.slice(0,16),this.cache=this.cache.slice(16),y}else if(this.cache.length>=16)return y=this.cache.slice(0,16),this.cache=this.cache.slice(16),y;return null},u.prototype.flush=function(){if(this.cache.length)return this.cache};function h(w){var y=w[15];if(y<1||y>16)throw new Error("unable to decrypt data");for(var C=-1;++C0?P:b},s.min=function(P,b){return P.cmp(b)<0?P:b},s.prototype._init=function(P,b,d){if(typeof P=="number")return this._initNumber(P,b,d);if(typeof P=="object")return this._initArray(P,b,d);b==="hex"&&(b=16),n(b===(b|0)&&b>=2&&b<=36),P=P.toString().replace(/\s+/g,"");var m=0;P[0]==="-"&&(m++,this.negative=1),m=0;m-=3)A=P[m]|P[m-1]<<8|P[m-2]<<16,this.words[x]|=A<>>26-I&67108863,I+=24,I>=26&&(I-=26,x++);else if(d==="le")for(m=0,x=0;m>>26-I&67108863,I+=24,I>=26&&(I-=26,x++);return this.strip()};function a(W,P){var b=W.charCodeAt(P);return b>=65&&b<=70?b-55:b>=97&&b<=102?b-87:b-48&15}function l(W,P,b){var d=a(W,b);return b-1>=P&&(d|=a(W,b-1)<<4),d}s.prototype._parseHex=function(P,b,d){this.length=Math.ceil((P.length-b)/6),this.words=new Array(this.length);for(var m=0;m=b;m-=2)I=l(P,b,m)<=18?(x-=18,A+=1,this.words[A]|=I>>>26):x+=8;else{var T=P.length-b;for(m=T%2===0?b+1:b;m=18?(x-=18,A+=1,this.words[A]|=I>>>26):x+=8}this.strip()};function u(W,P,b,d){for(var m=0,x=Math.min(W.length,b),A=P;A=49?m+=I-49+10:I>=17?m+=I-17+10:m+=I}return m}s.prototype._parseBase=function(P,b,d){this.words=[0],this.length=1;for(var m=0,x=1;x<=67108863;x*=b)m++;m--,x=x/b|0;for(var A=P.length-d,I=A%m,T=Math.min(A,A-I)+d,S=0,E=d;E1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},s.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var h=["","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"],p=[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],g=[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,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];s.prototype.toString=function(P,b){P=P||10,b=b|0||1;var d;if(P===16||P==="hex"){d="";for(var m=0,x=0,A=0;A>>24-m&16777215,x!==0||A!==this.length-1?d=h[6-T.length]+T+d:d=T+d,m+=2,m>=26&&(m-=26,A--)}for(x!==0&&(d=x.toString(16)+d);d.length%b!==0;)d="0"+d;return this.negative!==0&&(d="-"+d),d}if(P===(P|0)&&P>=2&&P<=36){var S=p[P],E=g[P];d="";var _=this.clone();for(_.negative=0;!_.isZero();){var U=_.modn(E).toString(P);_=_.idivn(E),_.isZero()?d=U+d:d=h[S-U.length]+U+d}for(this.isZero()&&(d="0"+d);d.length%b!==0;)d="0"+d;return this.negative!==0&&(d="-"+d),d}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var P=this.words[0];return this.length===2?P+=this.words[1]*67108864:this.length===3&&this.words[2]===1?P+=4503599627370496+this.words[1]*67108864:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-P:P},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(P,b){return n(typeof o<"u"),this.toArrayLike(o,P,b)},s.prototype.toArray=function(P,b){return this.toArrayLike(Array,P,b)},s.prototype.toArrayLike=function(P,b,d){var m=this.byteLength(),x=d||Math.max(1,m);n(m<=x,"byte array longer than desired length"),n(x>0,"Requested array length <= 0"),this.strip();var A=b==="le",I=new P(x),T,S,E=this.clone();if(A){for(S=0;!E.isZero();S++)T=E.andln(255),E.iushrn(8),I[S]=T;for(;S=4096&&(d+=13,b>>>=13),b>=64&&(d+=7,b>>>=7),b>=8&&(d+=4,b>>>=4),b>=2&&(d+=2,b>>>=2),d+b},s.prototype._zeroBits=function(P){if(P===0)return 26;var b=P,d=0;return b&8191||(d+=13,b>>>=13),b&127||(d+=7,b>>>=7),b&15||(d+=4,b>>>=4),b&3||(d+=2,b>>>=2),b&1||d++,d},s.prototype.bitLength=function(){var P=this.words[this.length-1],b=this._countBits(P);return(this.length-1)*26+b};function w(W){for(var P=new Array(W.bitLength()),b=0;b>>m}return P}s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var P=0,b=0;bP.length?this.clone().ior(P):P.clone().ior(this)},s.prototype.uor=function(P){return this.length>P.length?this.clone().iuor(P):P.clone().iuor(this)},s.prototype.iuand=function(P){var b;this.length>P.length?b=P:b=this;for(var d=0;dP.length?this.clone().iand(P):P.clone().iand(this)},s.prototype.uand=function(P){return this.length>P.length?this.clone().iuand(P):P.clone().iuand(this)},s.prototype.iuxor=function(P){var b,d;this.length>P.length?(b=this,d=P):(b=P,d=this);for(var m=0;mP.length?this.clone().ixor(P):P.clone().ixor(this)},s.prototype.uxor=function(P){return this.length>P.length?this.clone().iuxor(P):P.clone().iuxor(this)},s.prototype.inotn=function(P){n(typeof P=="number"&&P>=0);var b=Math.ceil(P/26)|0,d=P%26;this._expand(b),d>0&&b--;for(var m=0;m0&&(this.words[m]=~this.words[m]&67108863>>26-d),this.strip()},s.prototype.notn=function(P){return this.clone().inotn(P)},s.prototype.setn=function(P,b){n(typeof P=="number"&&P>=0);var d=P/26|0,m=P%26;return this._expand(d+1),b?this.words[d]=this.words[d]|1<P.length?(d=this,m=P):(d=P,m=this);for(var x=0,A=0;A>>26;for(;x!==0&&A>>26;if(this.length=d.length,x!==0)this.words[this.length]=x,this.length++;else if(d!==this)for(;AP.length?this.clone().iadd(P):P.clone().iadd(this)},s.prototype.isub=function(P){if(P.negative!==0){P.negative=0;var b=this.iadd(P);return P.negative=1,b._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(P),this.negative=1,this._normSign();var d=this.cmp(P);if(d===0)return this.negative=0,this.length=1,this.words[0]=0,this;var m,x;d>0?(m=this,x=P):(m=P,x=this);for(var A=0,I=0;I>26,this.words[I]=b&67108863;for(;A!==0&&I>26,this.words[I]=b&67108863;if(A===0&&I>>26,_=T&67108863,U=Math.min(S,P.length-1),ie=Math.max(0,S-W.length+1);ie<=U;ie++){var q=S-ie|0;m=W.words[q]|0,x=P.words[ie]|0,A=m*x+_,E+=A/67108864|0,_=A&67108863}b.words[S]=_|0,T=E|0}return T!==0?b.words[S]=T|0:b.length--,b.strip()}var C=function(P,b,d){var m=P.words,x=b.words,A=d.words,I=0,T,S,E,_=m[0]|0,U=_&8191,ie=_>>>13,q=m[1]|0,Y=q&8191,K=q>>>13,ee=m[2]|0,re=ee&8191,z=ee>>>13,L=m[3]|0,H=L&8191,le=L>>>13,de=m[4]|0,Se=de&8191,Me=de>>>13,ke=m[5]|0,Ke=ke&8191,Te=ke>>>13,je=m[6]|0,De=je&8191,Je=je>>>13,ze=m[7]|0,qe=ze&8191,Ve=ze>>>13,He=m[8]|0,Be=He&8191,Ge=He>>>13,Xe=m[9]|0,se=Xe&8191,J=Xe>>>13,Q=x[0]|0,ue=Q&8191,we=Q>>>13,ye=x[1]|0,Ie=ye&8191,it=ye>>>13,ot=x[2]|0,tt=ot&8191,It=ot>>>13,st=x[3]|0,Nt=st&8191,Lt=st>>>13,ht=x[4]|0,wt=ht&8191,Ut=ht>>>13,ft=x[5]|0,dt=ft&8191,Vt=ft>>>13,xt=x[6]|0,pt=xt&8191,Gt=xt>>>13,gt=x[7]|0,vt=gt&8191,Ft=gt>>>13,lt=x[8]|0,_t=lt&8191,Kt=lt>>>13,zt=x[9]|0,Ht=zt&8191,br=zt>>>13;d.negative=P.negative^b.negative,d.length=19,T=Math.imul(U,ue),S=Math.imul(U,we),S=S+Math.imul(ie,ue)|0,E=Math.imul(ie,we);var Rt=(I+T|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,T=Math.imul(Y,ue),S=Math.imul(Y,we),S=S+Math.imul(K,ue)|0,E=Math.imul(K,we),T=T+Math.imul(U,Ie)|0,S=S+Math.imul(U,it)|0,S=S+Math.imul(ie,Ie)|0,E=E+Math.imul(ie,it)|0;var ur=(I+T|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(ur>>>26)|0,ur&=67108863,T=Math.imul(re,ue),S=Math.imul(re,we),S=S+Math.imul(z,ue)|0,E=Math.imul(z,we),T=T+Math.imul(Y,Ie)|0,S=S+Math.imul(Y,it)|0,S=S+Math.imul(K,Ie)|0,E=E+Math.imul(K,it)|0,T=T+Math.imul(U,tt)|0,S=S+Math.imul(U,It)|0,S=S+Math.imul(ie,tt)|0,E=E+Math.imul(ie,It)|0;var Yn=(I+T|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(Yn>>>26)|0,Yn&=67108863,T=Math.imul(H,ue),S=Math.imul(H,we),S=S+Math.imul(le,ue)|0,E=Math.imul(le,we),T=T+Math.imul(re,Ie)|0,S=S+Math.imul(re,it)|0,S=S+Math.imul(z,Ie)|0,E=E+Math.imul(z,it)|0,T=T+Math.imul(Y,tt)|0,S=S+Math.imul(Y,It)|0,S=S+Math.imul(K,tt)|0,E=E+Math.imul(K,It)|0,T=T+Math.imul(U,Nt)|0,S=S+Math.imul(U,Lt)|0,S=S+Math.imul(ie,Nt)|0,E=E+Math.imul(ie,Lt)|0;var Qn=(I+T|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(Qn>>>26)|0,Qn&=67108863,T=Math.imul(Se,ue),S=Math.imul(Se,we),S=S+Math.imul(Me,ue)|0,E=Math.imul(Me,we),T=T+Math.imul(H,Ie)|0,S=S+Math.imul(H,it)|0,S=S+Math.imul(le,Ie)|0,E=E+Math.imul(le,it)|0,T=T+Math.imul(re,tt)|0,S=S+Math.imul(re,It)|0,S=S+Math.imul(z,tt)|0,E=E+Math.imul(z,It)|0,T=T+Math.imul(Y,Nt)|0,S=S+Math.imul(Y,Lt)|0,S=S+Math.imul(K,Nt)|0,E=E+Math.imul(K,Lt)|0,T=T+Math.imul(U,wt)|0,S=S+Math.imul(U,Ut)|0,S=S+Math.imul(ie,wt)|0,E=E+Math.imul(ie,Ut)|0;var Xn=(I+T|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(Xn>>>26)|0,Xn&=67108863,T=Math.imul(Ke,ue),S=Math.imul(Ke,we),S=S+Math.imul(Te,ue)|0,E=Math.imul(Te,we),T=T+Math.imul(Se,Ie)|0,S=S+Math.imul(Se,it)|0,S=S+Math.imul(Me,Ie)|0,E=E+Math.imul(Me,it)|0,T=T+Math.imul(H,tt)|0,S=S+Math.imul(H,It)|0,S=S+Math.imul(le,tt)|0,E=E+Math.imul(le,It)|0,T=T+Math.imul(re,Nt)|0,S=S+Math.imul(re,Lt)|0,S=S+Math.imul(z,Nt)|0,E=E+Math.imul(z,Lt)|0,T=T+Math.imul(Y,wt)|0,S=S+Math.imul(Y,Ut)|0,S=S+Math.imul(K,wt)|0,E=E+Math.imul(K,Ut)|0,T=T+Math.imul(U,dt)|0,S=S+Math.imul(U,Vt)|0,S=S+Math.imul(ie,dt)|0,E=E+Math.imul(ie,Vt)|0;var ei=(I+T|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(ei>>>26)|0,ei&=67108863,T=Math.imul(De,ue),S=Math.imul(De,we),S=S+Math.imul(Je,ue)|0,E=Math.imul(Je,we),T=T+Math.imul(Ke,Ie)|0,S=S+Math.imul(Ke,it)|0,S=S+Math.imul(Te,Ie)|0,E=E+Math.imul(Te,it)|0,T=T+Math.imul(Se,tt)|0,S=S+Math.imul(Se,It)|0,S=S+Math.imul(Me,tt)|0,E=E+Math.imul(Me,It)|0,T=T+Math.imul(H,Nt)|0,S=S+Math.imul(H,Lt)|0,S=S+Math.imul(le,Nt)|0,E=E+Math.imul(le,Lt)|0,T=T+Math.imul(re,wt)|0,S=S+Math.imul(re,Ut)|0,S=S+Math.imul(z,wt)|0,E=E+Math.imul(z,Ut)|0,T=T+Math.imul(Y,dt)|0,S=S+Math.imul(Y,Vt)|0,S=S+Math.imul(K,dt)|0,E=E+Math.imul(K,Vt)|0,T=T+Math.imul(U,pt)|0,S=S+Math.imul(U,Gt)|0,S=S+Math.imul(ie,pt)|0,E=E+Math.imul(ie,Gt)|0;var gn=(I+T|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(gn>>>26)|0,gn&=67108863,T=Math.imul(qe,ue),S=Math.imul(qe,we),S=S+Math.imul(Ve,ue)|0,E=Math.imul(Ve,we),T=T+Math.imul(De,Ie)|0,S=S+Math.imul(De,it)|0,S=S+Math.imul(Je,Ie)|0,E=E+Math.imul(Je,it)|0,T=T+Math.imul(Ke,tt)|0,S=S+Math.imul(Ke,It)|0,S=S+Math.imul(Te,tt)|0,E=E+Math.imul(Te,It)|0,T=T+Math.imul(Se,Nt)|0,S=S+Math.imul(Se,Lt)|0,S=S+Math.imul(Me,Nt)|0,E=E+Math.imul(Me,Lt)|0,T=T+Math.imul(H,wt)|0,S=S+Math.imul(H,Ut)|0,S=S+Math.imul(le,wt)|0,E=E+Math.imul(le,Ut)|0,T=T+Math.imul(re,dt)|0,S=S+Math.imul(re,Vt)|0,S=S+Math.imul(z,dt)|0,E=E+Math.imul(z,Vt)|0,T=T+Math.imul(Y,pt)|0,S=S+Math.imul(Y,Gt)|0,S=S+Math.imul(K,pt)|0,E=E+Math.imul(K,Gt)|0,T=T+Math.imul(U,vt)|0,S=S+Math.imul(U,Ft)|0,S=S+Math.imul(ie,vt)|0,E=E+Math.imul(ie,Ft)|0;var zn=(I+T|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(zn>>>26)|0,zn&=67108863,T=Math.imul(Be,ue),S=Math.imul(Be,we),S=S+Math.imul(Ge,ue)|0,E=Math.imul(Ge,we),T=T+Math.imul(qe,Ie)|0,S=S+Math.imul(qe,it)|0,S=S+Math.imul(Ve,Ie)|0,E=E+Math.imul(Ve,it)|0,T=T+Math.imul(De,tt)|0,S=S+Math.imul(De,It)|0,S=S+Math.imul(Je,tt)|0,E=E+Math.imul(Je,It)|0,T=T+Math.imul(Ke,Nt)|0,S=S+Math.imul(Ke,Lt)|0,S=S+Math.imul(Te,Nt)|0,E=E+Math.imul(Te,Lt)|0,T=T+Math.imul(Se,wt)|0,S=S+Math.imul(Se,Ut)|0,S=S+Math.imul(Me,wt)|0,E=E+Math.imul(Me,Ut)|0,T=T+Math.imul(H,dt)|0,S=S+Math.imul(H,Vt)|0,S=S+Math.imul(le,dt)|0,E=E+Math.imul(le,Vt)|0,T=T+Math.imul(re,pt)|0,S=S+Math.imul(re,Gt)|0,S=S+Math.imul(z,pt)|0,E=E+Math.imul(z,Gt)|0,T=T+Math.imul(Y,vt)|0,S=S+Math.imul(Y,Ft)|0,S=S+Math.imul(K,vt)|0,E=E+Math.imul(K,Ft)|0,T=T+Math.imul(U,_t)|0,S=S+Math.imul(U,Kt)|0,S=S+Math.imul(ie,_t)|0,E=E+Math.imul(ie,Kt)|0;var Pi=(I+T|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(Pi>>>26)|0,Pi&=67108863,T=Math.imul(se,ue),S=Math.imul(se,we),S=S+Math.imul(J,ue)|0,E=Math.imul(J,we),T=T+Math.imul(Be,Ie)|0,S=S+Math.imul(Be,it)|0,S=S+Math.imul(Ge,Ie)|0,E=E+Math.imul(Ge,it)|0,T=T+Math.imul(qe,tt)|0,S=S+Math.imul(qe,It)|0,S=S+Math.imul(Ve,tt)|0,E=E+Math.imul(Ve,It)|0,T=T+Math.imul(De,Nt)|0,S=S+Math.imul(De,Lt)|0,S=S+Math.imul(Je,Nt)|0,E=E+Math.imul(Je,Lt)|0,T=T+Math.imul(Ke,wt)|0,S=S+Math.imul(Ke,Ut)|0,S=S+Math.imul(Te,wt)|0,E=E+Math.imul(Te,Ut)|0,T=T+Math.imul(Se,dt)|0,S=S+Math.imul(Se,Vt)|0,S=S+Math.imul(Me,dt)|0,E=E+Math.imul(Me,Vt)|0,T=T+Math.imul(H,pt)|0,S=S+Math.imul(H,Gt)|0,S=S+Math.imul(le,pt)|0,E=E+Math.imul(le,Gt)|0,T=T+Math.imul(re,vt)|0,S=S+Math.imul(re,Ft)|0,S=S+Math.imul(z,vt)|0,E=E+Math.imul(z,Ft)|0,T=T+Math.imul(Y,_t)|0,S=S+Math.imul(Y,Kt)|0,S=S+Math.imul(K,_t)|0,E=E+Math.imul(K,Kt)|0,T=T+Math.imul(U,Ht)|0,S=S+Math.imul(U,br)|0,S=S+Math.imul(ie,Ht)|0,E=E+Math.imul(ie,br)|0;var Hn=(I+T|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(Hn>>>26)|0,Hn&=67108863,T=Math.imul(se,Ie),S=Math.imul(se,it),S=S+Math.imul(J,Ie)|0,E=Math.imul(J,it),T=T+Math.imul(Be,tt)|0,S=S+Math.imul(Be,It)|0,S=S+Math.imul(Ge,tt)|0,E=E+Math.imul(Ge,It)|0,T=T+Math.imul(qe,Nt)|0,S=S+Math.imul(qe,Lt)|0,S=S+Math.imul(Ve,Nt)|0,E=E+Math.imul(Ve,Lt)|0,T=T+Math.imul(De,wt)|0,S=S+Math.imul(De,Ut)|0,S=S+Math.imul(Je,wt)|0,E=E+Math.imul(Je,Ut)|0,T=T+Math.imul(Ke,dt)|0,S=S+Math.imul(Ke,Vt)|0,S=S+Math.imul(Te,dt)|0,E=E+Math.imul(Te,Vt)|0,T=T+Math.imul(Se,pt)|0,S=S+Math.imul(Se,Gt)|0,S=S+Math.imul(Me,pt)|0,E=E+Math.imul(Me,Gt)|0,T=T+Math.imul(H,vt)|0,S=S+Math.imul(H,Ft)|0,S=S+Math.imul(le,vt)|0,E=E+Math.imul(le,Ft)|0,T=T+Math.imul(re,_t)|0,S=S+Math.imul(re,Kt)|0,S=S+Math.imul(z,_t)|0,E=E+Math.imul(z,Kt)|0,T=T+Math.imul(Y,Ht)|0,S=S+Math.imul(Y,br)|0,S=S+Math.imul(K,Ht)|0,E=E+Math.imul(K,br)|0;var Oi=(I+T|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(Oi>>>26)|0,Oi&=67108863,T=Math.imul(se,tt),S=Math.imul(se,It),S=S+Math.imul(J,tt)|0,E=Math.imul(J,It),T=T+Math.imul(Be,Nt)|0,S=S+Math.imul(Be,Lt)|0,S=S+Math.imul(Ge,Nt)|0,E=E+Math.imul(Ge,Lt)|0,T=T+Math.imul(qe,wt)|0,S=S+Math.imul(qe,Ut)|0,S=S+Math.imul(Ve,wt)|0,E=E+Math.imul(Ve,Ut)|0,T=T+Math.imul(De,dt)|0,S=S+Math.imul(De,Vt)|0,S=S+Math.imul(Je,dt)|0,E=E+Math.imul(Je,Vt)|0,T=T+Math.imul(Ke,pt)|0,S=S+Math.imul(Ke,Gt)|0,S=S+Math.imul(Te,pt)|0,E=E+Math.imul(Te,Gt)|0,T=T+Math.imul(Se,vt)|0,S=S+Math.imul(Se,Ft)|0,S=S+Math.imul(Me,vt)|0,E=E+Math.imul(Me,Ft)|0,T=T+Math.imul(H,_t)|0,S=S+Math.imul(H,Kt)|0,S=S+Math.imul(le,_t)|0,E=E+Math.imul(le,Kt)|0,T=T+Math.imul(re,Ht)|0,S=S+Math.imul(re,br)|0,S=S+Math.imul(z,Ht)|0,E=E+Math.imul(z,br)|0;var Di=(I+T|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(Di>>>26)|0,Di&=67108863,T=Math.imul(se,Nt),S=Math.imul(se,Lt),S=S+Math.imul(J,Nt)|0,E=Math.imul(J,Lt),T=T+Math.imul(Be,wt)|0,S=S+Math.imul(Be,Ut)|0,S=S+Math.imul(Ge,wt)|0,E=E+Math.imul(Ge,Ut)|0,T=T+Math.imul(qe,dt)|0,S=S+Math.imul(qe,Vt)|0,S=S+Math.imul(Ve,dt)|0,E=E+Math.imul(Ve,Vt)|0,T=T+Math.imul(De,pt)|0,S=S+Math.imul(De,Gt)|0,S=S+Math.imul(Je,pt)|0,E=E+Math.imul(Je,Gt)|0,T=T+Math.imul(Ke,vt)|0,S=S+Math.imul(Ke,Ft)|0,S=S+Math.imul(Te,vt)|0,E=E+Math.imul(Te,Ft)|0,T=T+Math.imul(Se,_t)|0,S=S+Math.imul(Se,Kt)|0,S=S+Math.imul(Me,_t)|0,E=E+Math.imul(Me,Kt)|0,T=T+Math.imul(H,Ht)|0,S=S+Math.imul(H,br)|0,S=S+Math.imul(le,Ht)|0,E=E+Math.imul(le,br)|0;var mi=(I+T|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(mi>>>26)|0,mi&=67108863,T=Math.imul(se,wt),S=Math.imul(se,Ut),S=S+Math.imul(J,wt)|0,E=Math.imul(J,Ut),T=T+Math.imul(Be,dt)|0,S=S+Math.imul(Be,Vt)|0,S=S+Math.imul(Ge,dt)|0,E=E+Math.imul(Ge,Vt)|0,T=T+Math.imul(qe,pt)|0,S=S+Math.imul(qe,Gt)|0,S=S+Math.imul(Ve,pt)|0,E=E+Math.imul(Ve,Gt)|0,T=T+Math.imul(De,vt)|0,S=S+Math.imul(De,Ft)|0,S=S+Math.imul(Je,vt)|0,E=E+Math.imul(Je,Ft)|0,T=T+Math.imul(Ke,_t)|0,S=S+Math.imul(Ke,Kt)|0,S=S+Math.imul(Te,_t)|0,E=E+Math.imul(Te,Kt)|0,T=T+Math.imul(Se,Ht)|0,S=S+Math.imul(Se,br)|0,S=S+Math.imul(Me,Ht)|0,E=E+Math.imul(Me,br)|0;var _i=(I+T|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(_i>>>26)|0,_i&=67108863,T=Math.imul(se,dt),S=Math.imul(se,Vt),S=S+Math.imul(J,dt)|0,E=Math.imul(J,Vt),T=T+Math.imul(Be,pt)|0,S=S+Math.imul(Be,Gt)|0,S=S+Math.imul(Ge,pt)|0,E=E+Math.imul(Ge,Gt)|0,T=T+Math.imul(qe,vt)|0,S=S+Math.imul(qe,Ft)|0,S=S+Math.imul(Ve,vt)|0,E=E+Math.imul(Ve,Ft)|0,T=T+Math.imul(De,_t)|0,S=S+Math.imul(De,Kt)|0,S=S+Math.imul(Je,_t)|0,E=E+Math.imul(Je,Kt)|0,T=T+Math.imul(Ke,Ht)|0,S=S+Math.imul(Ke,br)|0,S=S+Math.imul(Te,Ht)|0,E=E+Math.imul(Te,br)|0;var Ei=(I+T|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(Ei>>>26)|0,Ei&=67108863,T=Math.imul(se,pt),S=Math.imul(se,Gt),S=S+Math.imul(J,pt)|0,E=Math.imul(J,Gt),T=T+Math.imul(Be,vt)|0,S=S+Math.imul(Be,Ft)|0,S=S+Math.imul(Ge,vt)|0,E=E+Math.imul(Ge,Ft)|0,T=T+Math.imul(qe,_t)|0,S=S+Math.imul(qe,Kt)|0,S=S+Math.imul(Ve,_t)|0,E=E+Math.imul(Ve,Kt)|0,T=T+Math.imul(De,Ht)|0,S=S+Math.imul(De,br)|0,S=S+Math.imul(Je,Ht)|0,E=E+Math.imul(Je,br)|0;var En=(I+T|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(En>>>26)|0,En&=67108863,T=Math.imul(se,vt),S=Math.imul(se,Ft),S=S+Math.imul(J,vt)|0,E=Math.imul(J,Ft),T=T+Math.imul(Be,_t)|0,S=S+Math.imul(Be,Kt)|0,S=S+Math.imul(Ge,_t)|0,E=E+Math.imul(Ge,Kt)|0,T=T+Math.imul(qe,Ht)|0,S=S+Math.imul(qe,br)|0,S=S+Math.imul(Ve,Ht)|0,E=E+Math.imul(Ve,br)|0;var Is=(I+T|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(Is>>>26)|0,Is&=67108863,T=Math.imul(se,_t),S=Math.imul(se,Kt),S=S+Math.imul(J,_t)|0,E=Math.imul(J,Kt),T=T+Math.imul(Be,Ht)|0,S=S+Math.imul(Be,br)|0,S=S+Math.imul(Ge,Ht)|0,E=E+Math.imul(Ge,br)|0;var Rs=(I+T|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(Rs>>>26)|0,Rs&=67108863,T=Math.imul(se,Ht),S=Math.imul(se,br),S=S+Math.imul(J,Ht)|0,E=Math.imul(J,br);var Ts=(I+T|0)+((S&8191)<<13)|0;return I=(E+(S>>>13)|0)+(Ts>>>26)|0,Ts&=67108863,A[0]=Rt,A[1]=ur,A[2]=Yn,A[3]=Qn,A[4]=Xn,A[5]=ei,A[6]=gn,A[7]=zn,A[8]=Pi,A[9]=Hn,A[10]=Oi,A[11]=Di,A[12]=mi,A[13]=_i,A[14]=Ei,A[15]=En,A[16]=Is,A[17]=Rs,A[18]=Ts,I!==0&&(A[19]=I,d.length++),d};Math.imul||(C=y);function R(W,P,b){b.negative=P.negative^W.negative,b.length=W.length+P.length;for(var d=0,m=0,x=0;x>>26)|0,m+=A>>>26,A&=67108863}b.words[x]=I,d=A,A=m}return d!==0?b.words[x]=d:b.length--,b.strip()}function k(W,P,b){var d=new M;return d.mulp(W,P,b)}s.prototype.mulTo=function(P,b){var d,m=this.length+P.length;return this.length===10&&P.length===10?d=C(this,P,b):m<63?d=y(this,P,b):m<1024?d=R(this,P,b):d=k(this,P,b),d};function M(W,P){this.x=W,this.y=P}M.prototype.makeRBT=function(P){for(var b=new Array(P),d=s.prototype._countBits(P)-1,m=0;m>=1;return m},M.prototype.permute=function(P,b,d,m,x,A){for(var I=0;I>>1)x++;return 1<>>13,d[2*A+1]=x&8191,x=x>>>13;for(A=2*b;A>=26,b+=m/67108864|0,b+=x>>>26,this.words[d]=x&67108863}return b!==0&&(this.words[d]=b,this.length++),this},s.prototype.muln=function(P){return this.clone().imuln(P)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(P){var b=w(P);if(b.length===0)return new s(1);for(var d=this,m=0;m=0);var b=P%26,d=(P-b)/26,m=67108863>>>26-b<<26-b,x;if(b!==0){var A=0;for(x=0;x>>26-b}A&&(this.words[x]=A,this.length++)}if(d!==0){for(x=this.length-1;x>=0;x--)this.words[x+d]=this.words[x];for(x=0;x=0);var m;b?m=(b-b%26)/26:m=0;var x=P%26,A=Math.min((P-x)/26,this.length),I=67108863^67108863>>>x<A)for(this.length-=A,S=0;S=0&&(E!==0||S>=m);S--){var _=this.words[S]|0;this.words[S]=E<<26-x|_>>>x,E=_&I}return T&&E!==0&&(T.words[T.length++]=E),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(P,b,d){return n(this.negative===0),this.iushrn(P,b,d)},s.prototype.shln=function(P){return this.clone().ishln(P)},s.prototype.ushln=function(P){return this.clone().iushln(P)},s.prototype.shrn=function(P){return this.clone().ishrn(P)},s.prototype.ushrn=function(P){return this.clone().iushrn(P)},s.prototype.testn=function(P){n(typeof P=="number"&&P>=0);var b=P%26,d=(P-b)/26,m=1<=0);var b=P%26,d=(P-b)/26;if(n(this.negative===0,"imaskn works only with positive numbers"),this.length<=d)return this;if(b!==0&&d++,this.length=Math.min(d,this.length),b!==0){var m=67108863^67108863>>>b<=67108864;b++)this.words[b]-=67108864,b===this.length-1?this.words[b+1]=1:this.words[b+1]++;return this.length=Math.max(this.length,b+1),this},s.prototype.isubn=function(P){if(n(typeof P=="number"),n(P<67108864),P<0)return this.iaddn(-P);if(this.negative!==0)return this.negative=0,this.iaddn(P),this.negative=1,this;if(this.words[0]-=P,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var b=0;b>26)-(T/67108864|0),this.words[x+d]=A&67108863}for(;x>26,this.words[x+d]=A&67108863;if(I===0)return this.strip();for(n(I===-1),I=0,x=0;x>26,this.words[x]=A&67108863;return this.negative=1,this.strip()},s.prototype._wordDiv=function(P,b){var d=this.length-P.length,m=this.clone(),x=P,A=x.words[x.length-1]|0,I=this._countBits(A);d=26-I,d!==0&&(x=x.ushln(d),m.iushln(d),A=x.words[x.length-1]|0);var T=m.length-x.length,S;if(b!=="mod"){S=new s(null),S.length=T+1,S.words=new Array(S.length);for(var E=0;E=0;U--){var ie=(m.words[x.length+U]|0)*67108864+(m.words[x.length+U-1]|0);for(ie=Math.min(ie/A|0,67108863),m._ishlnsubmul(x,ie,U);m.negative!==0;)ie--,m.negative=0,m._ishlnsubmul(x,1,U),m.isZero()||(m.negative^=1);S&&(S.words[U]=ie)}return S&&S.strip(),m.strip(),b!=="div"&&d!==0&&m.iushrn(d),{div:S||null,mod:m}},s.prototype.divmod=function(P,b,d){if(n(!P.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var m,x,A;return this.negative!==0&&P.negative===0?(A=this.neg().divmod(P,b),b!=="mod"&&(m=A.div.neg()),b!=="div"&&(x=A.mod.neg(),d&&x.negative!==0&&x.iadd(P)),{div:m,mod:x}):this.negative===0&&P.negative!==0?(A=this.divmod(P.neg(),b),b!=="mod"&&(m=A.div.neg()),{div:m,mod:A.mod}):this.negative&P.negative?(A=this.neg().divmod(P.neg(),b),b!=="div"&&(x=A.mod.neg(),d&&x.negative!==0&&x.isub(P)),{div:A.div,mod:x}):P.length>this.length||this.cmp(P)<0?{div:new s(0),mod:this}:P.length===1?b==="div"?{div:this.divn(P.words[0]),mod:null}:b==="mod"?{div:null,mod:new s(this.modn(P.words[0]))}:{div:this.divn(P.words[0]),mod:new s(this.modn(P.words[0]))}:this._wordDiv(P,b)},s.prototype.div=function(P){return this.divmod(P,"div",!1).div},s.prototype.mod=function(P){return this.divmod(P,"mod",!1).mod},s.prototype.umod=function(P){return this.divmod(P,"mod",!0).mod},s.prototype.divRound=function(P){var b=this.divmod(P);if(b.mod.isZero())return b.div;var d=b.div.negative!==0?b.mod.isub(P):b.mod,m=P.ushrn(1),x=P.andln(1),A=d.cmp(m);return A<0||x===1&&A===0?b.div:b.div.negative!==0?b.div.isubn(1):b.div.iaddn(1)},s.prototype.modn=function(P){n(P<=67108863);for(var b=(1<<26)%P,d=0,m=this.length-1;m>=0;m--)d=(b*d+(this.words[m]|0))%P;return d},s.prototype.idivn=function(P){n(P<=67108863);for(var b=0,d=this.length-1;d>=0;d--){var m=(this.words[d]|0)+b*67108864;this.words[d]=m/P|0,b=m%P}return this.strip()},s.prototype.divn=function(P){return this.clone().idivn(P)},s.prototype.egcd=function(P){n(P.negative===0),n(!P.isZero());var b=this,d=P.clone();b.negative!==0?b=b.umod(P):b=b.clone();for(var m=new s(1),x=new s(0),A=new s(0),I=new s(1),T=0;b.isEven()&&d.isEven();)b.iushrn(1),d.iushrn(1),++T;for(var S=d.clone(),E=b.clone();!b.isZero();){for(var _=0,U=1;!(b.words[0]&U)&&_<26;++_,U<<=1);if(_>0)for(b.iushrn(_);_-- >0;)(m.isOdd()||x.isOdd())&&(m.iadd(S),x.isub(E)),m.iushrn(1),x.iushrn(1);for(var ie=0,q=1;!(d.words[0]&q)&&ie<26;++ie,q<<=1);if(ie>0)for(d.iushrn(ie);ie-- >0;)(A.isOdd()||I.isOdd())&&(A.iadd(S),I.isub(E)),A.iushrn(1),I.iushrn(1);b.cmp(d)>=0?(b.isub(d),m.isub(A),x.isub(I)):(d.isub(b),A.isub(m),I.isub(x))}return{a:A,b:I,gcd:d.iushln(T)}},s.prototype._invmp=function(P){n(P.negative===0),n(!P.isZero());var b=this,d=P.clone();b.negative!==0?b=b.umod(P):b=b.clone();for(var m=new s(1),x=new s(0),A=d.clone();b.cmpn(1)>0&&d.cmpn(1)>0;){for(var I=0,T=1;!(b.words[0]&T)&&I<26;++I,T<<=1);if(I>0)for(b.iushrn(I);I-- >0;)m.isOdd()&&m.iadd(A),m.iushrn(1);for(var S=0,E=1;!(d.words[0]&E)&&S<26;++S,E<<=1);if(S>0)for(d.iushrn(S);S-- >0;)x.isOdd()&&x.iadd(A),x.iushrn(1);b.cmp(d)>=0?(b.isub(d),m.isub(x)):(d.isub(b),x.isub(m))}var _;return b.cmpn(1)===0?_=m:_=x,_.cmpn(0)<0&&_.iadd(P),_},s.prototype.gcd=function(P){if(this.isZero())return P.abs();if(P.isZero())return this.abs();var b=this.clone(),d=P.clone();b.negative=0,d.negative=0;for(var m=0;b.isEven()&&d.isEven();m++)b.iushrn(1),d.iushrn(1);do{for(;b.isEven();)b.iushrn(1);for(;d.isEven();)d.iushrn(1);var x=b.cmp(d);if(x<0){var A=b;b=d,d=A}else if(x===0||d.cmpn(1)===0)break;b.isub(d)}while(!0);return d.iushln(m)},s.prototype.invm=function(P){return this.egcd(P).a.umod(P)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(P){return this.words[0]&P},s.prototype.bincn=function(P){n(typeof P=="number");var b=P%26,d=(P-b)/26,m=1<>>26,I&=67108863,this.words[A]=I}return x!==0&&(this.words[A]=x,this.length++),this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(P){var b=P<0;if(this.negative!==0&&!b)return-1;if(this.negative===0&&b)return 1;this.strip();var d;if(this.length>1)d=1;else{b&&(P=-P),n(P<=67108863,"Number is too big");var m=this.words[0]|0;d=m===P?0:mP.length)return 1;if(this.length=0;d--){var m=this.words[d]|0,x=P.words[d]|0;if(m!==x){mx&&(b=1);break}}return b},s.prototype.gtn=function(P){return this.cmpn(P)===1},s.prototype.gt=function(P){return this.cmp(P)===1},s.prototype.gten=function(P){return this.cmpn(P)>=0},s.prototype.gte=function(P){return this.cmp(P)>=0},s.prototype.ltn=function(P){return this.cmpn(P)===-1},s.prototype.lt=function(P){return this.cmp(P)===-1},s.prototype.lten=function(P){return this.cmpn(P)<=0},s.prototype.lte=function(P){return this.cmp(P)<=0},s.prototype.eqn=function(P){return this.cmpn(P)===0},s.prototype.eq=function(P){return this.cmp(P)===0},s.red=function(P){return new V(P)},s.prototype.toRed=function(P){return n(!this.red,"Already a number in reduction context"),n(this.negative===0,"red works only with positives"),P.convertTo(this)._forceRed(P)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(P){return this.red=P,this},s.prototype.forceRed=function(P){return n(!this.red,"Already a number in reduction context"),this._forceRed(P)},s.prototype.redAdd=function(P){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,P)},s.prototype.redIAdd=function(P){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,P)},s.prototype.redSub=function(P){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,P)},s.prototype.redISub=function(P){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,P)},s.prototype.redShl=function(P){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,P)},s.prototype.redMul=function(P){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,P),this.red.mul(this,P)},s.prototype.redIMul=function(P){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,P),this.red.imul(this,P)},s.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(P){return n(this.red&&!P.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,P)};var O={k256:null,p224:null,p192:null,p25519:null};function B(W,P){this.name=W,this.p=new s(P,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}B.prototype._tmp=function(){var P=new s(null);return P.words=new Array(Math.ceil(this.n/13)),P},B.prototype.ireduce=function(P){var b=P,d;do this.split(b,this.tmp),b=this.imulK(b),b=b.iadd(this.tmp),d=b.bitLength();while(d>this.n);var m=d0?b.isub(this.p):b.strip!==void 0?b.strip():b._strip(),b},B.prototype.split=function(P,b){P.iushrn(this.n,0,b)},B.prototype.imulK=function(P){return P.imul(this.k)};function j(){B.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(j,B),j.prototype.split=function(P,b){for(var d=4194303,m=Math.min(P.length,9),x=0;x>>22,A=I}A>>>=22,P.words[x-10]=A,A===0&&P.length>10?P.length-=10:P.length-=9},j.prototype.imulK=function(P){P.words[P.length]=0,P.words[P.length+1]=0,P.length+=2;for(var b=0,d=0;d>>=26,P.words[d]=x,b=m}return b!==0&&(P.words[P.length++]=b),P},s._prime=function(P){if(O[P])return O[P];var b;if(P==="k256")b=new j;else if(P==="p224")b=new G;else if(P==="p192")b=new D;else if(P==="p25519")b=new $;else throw new Error("Unknown prime "+P);return O[P]=b,b};function V(W){if(typeof W=="string"){var P=s._prime(W);this.m=P.p,this.prime=P}else n(W.gtn(1),"modulus must be greater than 1"),this.m=W,this.prime=null}V.prototype._verify1=function(P){n(P.negative===0,"red works only with positives"),n(P.red,"red works only with red numbers")},V.prototype._verify2=function(P,b){n((P.negative|b.negative)===0,"red works only with positives"),n(P.red&&P.red===b.red,"red works only with red numbers")},V.prototype.imod=function(P){return this.prime?this.prime.ireduce(P)._forceRed(this):P.umod(this.m)._forceRed(this)},V.prototype.neg=function(P){return P.isZero()?P.clone():this.m.sub(P)._forceRed(this)},V.prototype.add=function(P,b){this._verify2(P,b);var d=P.add(b);return d.cmp(this.m)>=0&&d.isub(this.m),d._forceRed(this)},V.prototype.iadd=function(P,b){this._verify2(P,b);var d=P.iadd(b);return d.cmp(this.m)>=0&&d.isub(this.m),d},V.prototype.sub=function(P,b){this._verify2(P,b);var d=P.sub(b);return d.cmpn(0)<0&&d.iadd(this.m),d._forceRed(this)},V.prototype.isub=function(P,b){this._verify2(P,b);var d=P.isub(b);return d.cmpn(0)<0&&d.iadd(this.m),d},V.prototype.shl=function(P,b){return this._verify1(P),this.imod(P.ushln(b))},V.prototype.imul=function(P,b){return this._verify2(P,b),this.imod(P.imul(b))},V.prototype.mul=function(P,b){return this._verify2(P,b),this.imod(P.mul(b))},V.prototype.isqr=function(P){return this.imul(P,P.clone())},V.prototype.sqr=function(P){return this.mul(P,P)},V.prototype.sqrt=function(P){if(P.isZero())return P.clone();var b=this.m.andln(3);if(n(b%2===1),b===3){var d=this.m.add(new s(1)).iushrn(2);return this.pow(P,d)}for(var m=this.m.subn(1),x=0;!m.isZero()&&m.andln(1)===0;)x++,m.iushrn(1);n(!m.isZero());var A=new s(1).toRed(this),I=A.redNeg(),T=this.m.subn(1).iushrn(1),S=this.m.bitLength();for(S=new s(2*S*S).toRed(this);this.pow(S,T).cmp(I)!==0;)S.redIAdd(I);for(var E=this.pow(S,m),_=this.pow(P,m.addn(1).iushrn(1)),U=this.pow(P,m),ie=x;U.cmp(A)!==0;){for(var q=U,Y=0;q.cmp(A)!==0;Y++)q=q.redSqr();n(Y=0;x--){for(var E=b.words[x],_=S-1;_>=0;_--){var U=E>>_&1;if(A!==m[0]&&(A=this.sqr(A)),U===0&&I===0){T=0;continue}I<<=1,I|=U,T++,!(T!==d&&(x!==0||_!==0))&&(A=this.mul(A,m[I]),T=0,I=0)}S=26}return A},V.prototype.convertTo=function(P){var b=P.umod(this.m);return b===P?b.clone():b},V.prototype.convertFrom=function(P){var b=P.clone();return b.red=null,b},s.mont=function(P){return new te(P)};function te(W){V.call(this,W),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new s(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)}i(te,V),te.prototype.convertTo=function(P){return this.imod(P.ushln(this.shift))},te.prototype.convertFrom=function(P){var b=this.imod(P.mul(this.rinv));return b.red=null,b},te.prototype.imul=function(P,b){if(P.isZero()||b.isZero())return P.words[0]=0,P.length=1,P;var d=P.imul(b),m=d.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),x=d.isub(m).iushrn(this.shift),A=x;return x.cmp(this.m)>=0?A=x.isub(this.m):x.cmpn(0)<0&&(A=x.iadd(this.m)),A._forceRed(this)},te.prototype.mul=function(P,b){if(P.isZero()||b.isZero())return new s(0)._forceRed(this);var d=P.mul(b),m=d.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),x=d.isub(m).iushrn(this.shift),A=x;return x.cmp(this.m)>=0?A=x.isub(this.m):x.cmpn(0)<0&&(A=x.iadd(this.m)),A._forceRed(this)},te.prototype.invm=function(P){var b=this.imod(P._invmp(this.m).mul(this.r2));return b._forceRed(this)}})(r,ct)}(tS)),tS.exports}var rS={exports:{}},Gie;function bD(){if(Gie)return rS.exports;Gie=1;var r;rS.exports=function(i){return r||(r=new e(null)),r.generate(i)};function e(n){this.rand=n}if(rS.exports.Rand=e,e.prototype.generate=function(i){return this._rand(i)},e.prototype._rand=function(i){if(this.rand.getBytes)return this.rand.getBytes(i);for(var s=new Uint8Array(i),o=0;o=0);return a},t.prototype._randrange=function(i,s){var o=s.sub(i);return i.add(this._randbelow(o))},t.prototype.test=function(i,s,o){var a=i.bitLength(),l=r.mont(i),u=new r(1).toRed(l);s||(s=Math.max(1,a/48|0));for(var h=i.subn(1),p=0;!h.testn(p);p++);for(var g=i.shrn(p),w=h.toRed(l),y=!0;s>0;s--){var C=this._randrange(new r(2),h);o&&o(C);var R=C.toRed(l).redPow(g);if(!(R.cmp(u)===0||R.cmp(w)===0)){for(var k=1;k0;s--){var w=this._randrange(new r(2),u),y=i.gcd(w);if(y.cmpn(1)!==0)return y;var C=w.toRed(a).redPow(p);if(!(C.cmp(l)===0||C.cmp(g)===0)){for(var R=1;Rk;)O.ishrn(1);if(O.isEven()&&O.iadd(s),O.testn(1)||O.iadd(o),M.cmp(o)){if(!M.cmp(a))for(;O.mod(l).cmp(u);)O.iadd(p)}else for(;O.mod(t).cmp(h);)O.iadd(p);if(B=O.shrn(1),y(B)&&y(O)&&C(B)&&C(O)&&i.test(B)&&i.test(O))return O}}return vD}const $Re={modp1:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},modp2:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},modp5:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},modp14:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},modp15:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},modp16:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},modp17:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},modp18:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}};var yD,Qie;function BRe(){if(Qie)return yD;Qie=1;var r=bo(),e=Zie(),t=new e,n=new r(24),i=new r(11),s=new r(10),o=new r(3),a=new r(7),l=Yie(),u=ry();yD=y;function h(R,k){return k=k||"utf8",$t.isBuffer(R)||(R=new $t(R,k)),this._pub=new r(R),this}function p(R,k){return k=k||"utf8",$t.isBuffer(R)||(R=new $t(R,k)),this._priv=new r(R),this}var g={};function w(R,k){var M=k.toString("hex"),O=[M,R.toString(16)].join("_");if(O in g)return g[O];var B=0;if(R.isEven()||!l.simpleSieve||!l.fermatTest(R)||!t.test(R))return B+=1,M==="02"||M==="05"?B+=8:B+=4,g[O]=B,B;t.test(R.shrn(1))||(B+=2);var j;switch(M){case"02":R.mod(n).cmp(i)&&(B+=8);break;case"05":j=R.mod(s),j.cmp(o)&&j.cmp(a)&&(B+=8);break;default:B+=4}return g[O]=B,B}function y(R,k,M){this.setGenerator(k),this.__prime=new r(R),this._prime=r.mont(this.__prime),this._primeLen=R.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,M?(this.setPublicKey=h,this.setPrivateKey=p):this._primeCode=8}Object.defineProperty(y.prototype,"verifyError",{enumerable:!0,get:function(){return typeof this._primeCode!="number"&&(this._primeCode=w(this.__prime,this.__gen)),this._primeCode}}),y.prototype.generateKeys=function(){return this._priv||(this._priv=new r(u(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},y.prototype.computeSecret=function(R){R=new r(R),R=R.toRed(this._prime);var k=R.redPow(this._priv).fromRed(),M=new $t(k.toArray()),O=this.getPrime();if(M.length0?d:m},s.min=function(d,m){return d.cmp(m)<0?d:m},s.prototype._init=function(d,m,x){if(typeof d=="number")return this._initNumber(d,m,x);if(typeof d=="object")return this._initArray(d,m,x);m==="hex"&&(m=16),n(m===(m|0)&&m>=2&&m<=36),d=d.toString().replace(/\s+/g,"");var A=0;d[0]==="-"&&(A++,this.negative=1),A=0;A-=3)T=d[A]|d[A-1]<<8|d[A-2]<<16,this.words[I]|=T<>>26-S&67108863,S+=24,S>=26&&(S-=26,I++);else if(x==="le")for(A=0,I=0;A>>26-S&67108863,S+=24,S>=26&&(S-=26,I++);return this._strip()};function a(b,d){var m=b.charCodeAt(d);if(m>=48&&m<=57)return m-48;if(m>=65&&m<=70)return m-55;if(m>=97&&m<=102)return m-87;n(!1,"Invalid character in "+b)}function l(b,d,m){var x=a(b,m);return m-1>=d&&(x|=a(b,m-1)<<4),x}s.prototype._parseHex=function(d,m,x){this.length=Math.ceil((d.length-m)/6),this.words=new Array(this.length);for(var A=0;A=m;A-=2)S=l(d,m,A)<=18?(I-=18,T+=1,this.words[T]|=S>>>26):I+=8;else{var E=d.length-m;for(A=E%2===0?m+1:m;A=18?(I-=18,T+=1,this.words[T]|=S>>>26):I+=8}this._strip()};function u(b,d,m,x){for(var A=0,I=0,T=Math.min(b.length,m),S=d;S=49?I=E-49+10:E>=17?I=E-17+10:I=E,n(E>=0&&I1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},s.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{s.prototype[Symbol.for("nodejs.util.inspect.custom")]=p}catch{s.prototype.inspect=p}else s.prototype.inspect=p;function p(){return(this.red?""}var g=["","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"],w=[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],y=[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,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];s.prototype.toString=function(d,m){d=d||10,m=m|0||1;var x;if(d===16||d==="hex"){x="";for(var A=0,I=0,T=0;T>>24-A&16777215,A+=2,A>=26&&(A-=26,T--),I!==0||T!==this.length-1?x=g[6-E.length]+E+x:x=E+x}for(I!==0&&(x=I.toString(16)+x);x.length%m!==0;)x="0"+x;return this.negative!==0&&(x="-"+x),x}if(d===(d|0)&&d>=2&&d<=36){var _=w[d],U=y[d];x="";var ie=this.clone();for(ie.negative=0;!ie.isZero();){var q=ie.modrn(U).toString(d);ie=ie.idivn(U),ie.isZero()?x=q+x:x=g[_-q.length]+q+x}for(this.isZero()&&(x="0"+x);x.length%m!==0;)x="0"+x;return this.negative!==0&&(x="-"+x),x}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var d=this.words[0];return this.length===2?d+=this.words[1]*67108864:this.length===3&&this.words[2]===1?d+=4503599627370496+this.words[1]*67108864:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-d:d},s.prototype.toJSON=function(){return this.toString(16,2)},o&&(s.prototype.toBuffer=function(d,m){return this.toArrayLike(o,d,m)}),s.prototype.toArray=function(d,m){return this.toArrayLike(Array,d,m)};var C=function(d,m){return d.allocUnsafe?d.allocUnsafe(m):new d(m)};s.prototype.toArrayLike=function(d,m,x){this._strip();var A=this.byteLength(),I=x||Math.max(1,A);n(A<=I,"byte array longer than desired length"),n(I>0,"Requested array length <= 0");var T=C(d,I),S=m==="le"?"LE":"BE";return this["_toArrayLike"+S](T,A),T},s.prototype._toArrayLikeLE=function(d,m){for(var x=0,A=0,I=0,T=0;I>8&255),x>16&255),T===6?(x>24&255),A=0,T=0):(A=S>>>24,T+=2)}if(x=0&&(d[x--]=S>>8&255),x>=0&&(d[x--]=S>>16&255),T===6?(x>=0&&(d[x--]=S>>24&255),A=0,T=0):(A=S>>>24,T+=2)}if(x>=0)for(d[x--]=A;x>=0;)d[x--]=0},Math.clz32?s.prototype._countBits=function(d){return 32-Math.clz32(d)}:s.prototype._countBits=function(d){var m=d,x=0;return m>=4096&&(x+=13,m>>>=13),m>=64&&(x+=7,m>>>=7),m>=8&&(x+=4,m>>>=4),m>=2&&(x+=2,m>>>=2),x+m},s.prototype._zeroBits=function(d){if(d===0)return 26;var m=d,x=0;return m&8191||(x+=13,m>>>=13),m&127||(x+=7,m>>>=7),m&15||(x+=4,m>>>=4),m&3||(x+=2,m>>>=2),m&1||x++,x},s.prototype.bitLength=function(){var d=this.words[this.length-1],m=this._countBits(d);return(this.length-1)*26+m};function R(b){for(var d=new Array(b.bitLength()),m=0;m>>A&1}return d}s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var d=0,m=0;md.length?this.clone().ior(d):d.clone().ior(this)},s.prototype.uor=function(d){return this.length>d.length?this.clone().iuor(d):d.clone().iuor(this)},s.prototype.iuand=function(d){var m;this.length>d.length?m=d:m=this;for(var x=0;xd.length?this.clone().iand(d):d.clone().iand(this)},s.prototype.uand=function(d){return this.length>d.length?this.clone().iuand(d):d.clone().iuand(this)},s.prototype.iuxor=function(d){var m,x;this.length>d.length?(m=this,x=d):(m=d,x=this);for(var A=0;Ad.length?this.clone().ixor(d):d.clone().ixor(this)},s.prototype.uxor=function(d){return this.length>d.length?this.clone().iuxor(d):d.clone().iuxor(this)},s.prototype.inotn=function(d){n(typeof d=="number"&&d>=0);var m=Math.ceil(d/26)|0,x=d%26;this._expand(m),x>0&&m--;for(var A=0;A0&&(this.words[A]=~this.words[A]&67108863>>26-x),this._strip()},s.prototype.notn=function(d){return this.clone().inotn(d)},s.prototype.setn=function(d,m){n(typeof d=="number"&&d>=0);var x=d/26|0,A=d%26;return this._expand(x+1),m?this.words[x]=this.words[x]|1<d.length?(x=this,A=d):(x=d,A=this);for(var I=0,T=0;T>>26;for(;I!==0&&T>>26;if(this.length=x.length,I!==0)this.words[this.length]=I,this.length++;else if(x!==this)for(;Td.length?this.clone().iadd(d):d.clone().iadd(this)},s.prototype.isub=function(d){if(d.negative!==0){d.negative=0;var m=this.iadd(d);return d.negative=1,m._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(d),this.negative=1,this._normSign();var x=this.cmp(d);if(x===0)return this.negative=0,this.length=1,this.words[0]=0,this;var A,I;x>0?(A=this,I=d):(A=d,I=this);for(var T=0,S=0;S>26,this.words[S]=m&67108863;for(;T!==0&&S>26,this.words[S]=m&67108863;if(T===0&&S>>26,ie=E&67108863,q=Math.min(_,d.length-1),Y=Math.max(0,_-b.length+1);Y<=q;Y++){var K=_-Y|0;A=b.words[K]|0,I=d.words[Y]|0,T=A*I+ie,U+=T/67108864|0,ie=T&67108863}m.words[_]=ie|0,E=U|0}return E!==0?m.words[_]=E|0:m.length--,m._strip()}var M=function(d,m,x){var A=d.words,I=m.words,T=x.words,S=0,E,_,U,ie=A[0]|0,q=ie&8191,Y=ie>>>13,K=A[1]|0,ee=K&8191,re=K>>>13,z=A[2]|0,L=z&8191,H=z>>>13,le=A[3]|0,de=le&8191,Se=le>>>13,Me=A[4]|0,ke=Me&8191,Ke=Me>>>13,Te=A[5]|0,je=Te&8191,De=Te>>>13,Je=A[6]|0,ze=Je&8191,qe=Je>>>13,Ve=A[7]|0,He=Ve&8191,Be=Ve>>>13,Ge=A[8]|0,Xe=Ge&8191,se=Ge>>>13,J=A[9]|0,Q=J&8191,ue=J>>>13,we=I[0]|0,ye=we&8191,Ie=we>>>13,it=I[1]|0,ot=it&8191,tt=it>>>13,It=I[2]|0,st=It&8191,Nt=It>>>13,Lt=I[3]|0,ht=Lt&8191,wt=Lt>>>13,Ut=I[4]|0,ft=Ut&8191,dt=Ut>>>13,Vt=I[5]|0,xt=Vt&8191,pt=Vt>>>13,Gt=I[6]|0,gt=Gt&8191,vt=Gt>>>13,Ft=I[7]|0,lt=Ft&8191,_t=Ft>>>13,Kt=I[8]|0,zt=Kt&8191,Ht=Kt>>>13,br=I[9]|0,Rt=br&8191,ur=br>>>13;x.negative=d.negative^m.negative,x.length=19,E=Math.imul(q,ye),_=Math.imul(q,Ie),_=_+Math.imul(Y,ye)|0,U=Math.imul(Y,Ie);var Yn=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(Yn>>>26)|0,Yn&=67108863,E=Math.imul(ee,ye),_=Math.imul(ee,Ie),_=_+Math.imul(re,ye)|0,U=Math.imul(re,Ie),E=E+Math.imul(q,ot)|0,_=_+Math.imul(q,tt)|0,_=_+Math.imul(Y,ot)|0,U=U+Math.imul(Y,tt)|0;var Qn=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(Qn>>>26)|0,Qn&=67108863,E=Math.imul(L,ye),_=Math.imul(L,Ie),_=_+Math.imul(H,ye)|0,U=Math.imul(H,Ie),E=E+Math.imul(ee,ot)|0,_=_+Math.imul(ee,tt)|0,_=_+Math.imul(re,ot)|0,U=U+Math.imul(re,tt)|0,E=E+Math.imul(q,st)|0,_=_+Math.imul(q,Nt)|0,_=_+Math.imul(Y,st)|0,U=U+Math.imul(Y,Nt)|0;var Xn=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(Xn>>>26)|0,Xn&=67108863,E=Math.imul(de,ye),_=Math.imul(de,Ie),_=_+Math.imul(Se,ye)|0,U=Math.imul(Se,Ie),E=E+Math.imul(L,ot)|0,_=_+Math.imul(L,tt)|0,_=_+Math.imul(H,ot)|0,U=U+Math.imul(H,tt)|0,E=E+Math.imul(ee,st)|0,_=_+Math.imul(ee,Nt)|0,_=_+Math.imul(re,st)|0,U=U+Math.imul(re,Nt)|0,E=E+Math.imul(q,ht)|0,_=_+Math.imul(q,wt)|0,_=_+Math.imul(Y,ht)|0,U=U+Math.imul(Y,wt)|0;var ei=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(ei>>>26)|0,ei&=67108863,E=Math.imul(ke,ye),_=Math.imul(ke,Ie),_=_+Math.imul(Ke,ye)|0,U=Math.imul(Ke,Ie),E=E+Math.imul(de,ot)|0,_=_+Math.imul(de,tt)|0,_=_+Math.imul(Se,ot)|0,U=U+Math.imul(Se,tt)|0,E=E+Math.imul(L,st)|0,_=_+Math.imul(L,Nt)|0,_=_+Math.imul(H,st)|0,U=U+Math.imul(H,Nt)|0,E=E+Math.imul(ee,ht)|0,_=_+Math.imul(ee,wt)|0,_=_+Math.imul(re,ht)|0,U=U+Math.imul(re,wt)|0,E=E+Math.imul(q,ft)|0,_=_+Math.imul(q,dt)|0,_=_+Math.imul(Y,ft)|0,U=U+Math.imul(Y,dt)|0;var gn=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(gn>>>26)|0,gn&=67108863,E=Math.imul(je,ye),_=Math.imul(je,Ie),_=_+Math.imul(De,ye)|0,U=Math.imul(De,Ie),E=E+Math.imul(ke,ot)|0,_=_+Math.imul(ke,tt)|0,_=_+Math.imul(Ke,ot)|0,U=U+Math.imul(Ke,tt)|0,E=E+Math.imul(de,st)|0,_=_+Math.imul(de,Nt)|0,_=_+Math.imul(Se,st)|0,U=U+Math.imul(Se,Nt)|0,E=E+Math.imul(L,ht)|0,_=_+Math.imul(L,wt)|0,_=_+Math.imul(H,ht)|0,U=U+Math.imul(H,wt)|0,E=E+Math.imul(ee,ft)|0,_=_+Math.imul(ee,dt)|0,_=_+Math.imul(re,ft)|0,U=U+Math.imul(re,dt)|0,E=E+Math.imul(q,xt)|0,_=_+Math.imul(q,pt)|0,_=_+Math.imul(Y,xt)|0,U=U+Math.imul(Y,pt)|0;var zn=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(zn>>>26)|0,zn&=67108863,E=Math.imul(ze,ye),_=Math.imul(ze,Ie),_=_+Math.imul(qe,ye)|0,U=Math.imul(qe,Ie),E=E+Math.imul(je,ot)|0,_=_+Math.imul(je,tt)|0,_=_+Math.imul(De,ot)|0,U=U+Math.imul(De,tt)|0,E=E+Math.imul(ke,st)|0,_=_+Math.imul(ke,Nt)|0,_=_+Math.imul(Ke,st)|0,U=U+Math.imul(Ke,Nt)|0,E=E+Math.imul(de,ht)|0,_=_+Math.imul(de,wt)|0,_=_+Math.imul(Se,ht)|0,U=U+Math.imul(Se,wt)|0,E=E+Math.imul(L,ft)|0,_=_+Math.imul(L,dt)|0,_=_+Math.imul(H,ft)|0,U=U+Math.imul(H,dt)|0,E=E+Math.imul(ee,xt)|0,_=_+Math.imul(ee,pt)|0,_=_+Math.imul(re,xt)|0,U=U+Math.imul(re,pt)|0,E=E+Math.imul(q,gt)|0,_=_+Math.imul(q,vt)|0,_=_+Math.imul(Y,gt)|0,U=U+Math.imul(Y,vt)|0;var Pi=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(Pi>>>26)|0,Pi&=67108863,E=Math.imul(He,ye),_=Math.imul(He,Ie),_=_+Math.imul(Be,ye)|0,U=Math.imul(Be,Ie),E=E+Math.imul(ze,ot)|0,_=_+Math.imul(ze,tt)|0,_=_+Math.imul(qe,ot)|0,U=U+Math.imul(qe,tt)|0,E=E+Math.imul(je,st)|0,_=_+Math.imul(je,Nt)|0,_=_+Math.imul(De,st)|0,U=U+Math.imul(De,Nt)|0,E=E+Math.imul(ke,ht)|0,_=_+Math.imul(ke,wt)|0,_=_+Math.imul(Ke,ht)|0,U=U+Math.imul(Ke,wt)|0,E=E+Math.imul(de,ft)|0,_=_+Math.imul(de,dt)|0,_=_+Math.imul(Se,ft)|0,U=U+Math.imul(Se,dt)|0,E=E+Math.imul(L,xt)|0,_=_+Math.imul(L,pt)|0,_=_+Math.imul(H,xt)|0,U=U+Math.imul(H,pt)|0,E=E+Math.imul(ee,gt)|0,_=_+Math.imul(ee,vt)|0,_=_+Math.imul(re,gt)|0,U=U+Math.imul(re,vt)|0,E=E+Math.imul(q,lt)|0,_=_+Math.imul(q,_t)|0,_=_+Math.imul(Y,lt)|0,U=U+Math.imul(Y,_t)|0;var Hn=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(Hn>>>26)|0,Hn&=67108863,E=Math.imul(Xe,ye),_=Math.imul(Xe,Ie),_=_+Math.imul(se,ye)|0,U=Math.imul(se,Ie),E=E+Math.imul(He,ot)|0,_=_+Math.imul(He,tt)|0,_=_+Math.imul(Be,ot)|0,U=U+Math.imul(Be,tt)|0,E=E+Math.imul(ze,st)|0,_=_+Math.imul(ze,Nt)|0,_=_+Math.imul(qe,st)|0,U=U+Math.imul(qe,Nt)|0,E=E+Math.imul(je,ht)|0,_=_+Math.imul(je,wt)|0,_=_+Math.imul(De,ht)|0,U=U+Math.imul(De,wt)|0,E=E+Math.imul(ke,ft)|0,_=_+Math.imul(ke,dt)|0,_=_+Math.imul(Ke,ft)|0,U=U+Math.imul(Ke,dt)|0,E=E+Math.imul(de,xt)|0,_=_+Math.imul(de,pt)|0,_=_+Math.imul(Se,xt)|0,U=U+Math.imul(Se,pt)|0,E=E+Math.imul(L,gt)|0,_=_+Math.imul(L,vt)|0,_=_+Math.imul(H,gt)|0,U=U+Math.imul(H,vt)|0,E=E+Math.imul(ee,lt)|0,_=_+Math.imul(ee,_t)|0,_=_+Math.imul(re,lt)|0,U=U+Math.imul(re,_t)|0,E=E+Math.imul(q,zt)|0,_=_+Math.imul(q,Ht)|0,_=_+Math.imul(Y,zt)|0,U=U+Math.imul(Y,Ht)|0;var Oi=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(Oi>>>26)|0,Oi&=67108863,E=Math.imul(Q,ye),_=Math.imul(Q,Ie),_=_+Math.imul(ue,ye)|0,U=Math.imul(ue,Ie),E=E+Math.imul(Xe,ot)|0,_=_+Math.imul(Xe,tt)|0,_=_+Math.imul(se,ot)|0,U=U+Math.imul(se,tt)|0,E=E+Math.imul(He,st)|0,_=_+Math.imul(He,Nt)|0,_=_+Math.imul(Be,st)|0,U=U+Math.imul(Be,Nt)|0,E=E+Math.imul(ze,ht)|0,_=_+Math.imul(ze,wt)|0,_=_+Math.imul(qe,ht)|0,U=U+Math.imul(qe,wt)|0,E=E+Math.imul(je,ft)|0,_=_+Math.imul(je,dt)|0,_=_+Math.imul(De,ft)|0,U=U+Math.imul(De,dt)|0,E=E+Math.imul(ke,xt)|0,_=_+Math.imul(ke,pt)|0,_=_+Math.imul(Ke,xt)|0,U=U+Math.imul(Ke,pt)|0,E=E+Math.imul(de,gt)|0,_=_+Math.imul(de,vt)|0,_=_+Math.imul(Se,gt)|0,U=U+Math.imul(Se,vt)|0,E=E+Math.imul(L,lt)|0,_=_+Math.imul(L,_t)|0,_=_+Math.imul(H,lt)|0,U=U+Math.imul(H,_t)|0,E=E+Math.imul(ee,zt)|0,_=_+Math.imul(ee,Ht)|0,_=_+Math.imul(re,zt)|0,U=U+Math.imul(re,Ht)|0,E=E+Math.imul(q,Rt)|0,_=_+Math.imul(q,ur)|0,_=_+Math.imul(Y,Rt)|0,U=U+Math.imul(Y,ur)|0;var Di=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(Di>>>26)|0,Di&=67108863,E=Math.imul(Q,ot),_=Math.imul(Q,tt),_=_+Math.imul(ue,ot)|0,U=Math.imul(ue,tt),E=E+Math.imul(Xe,st)|0,_=_+Math.imul(Xe,Nt)|0,_=_+Math.imul(se,st)|0,U=U+Math.imul(se,Nt)|0,E=E+Math.imul(He,ht)|0,_=_+Math.imul(He,wt)|0,_=_+Math.imul(Be,ht)|0,U=U+Math.imul(Be,wt)|0,E=E+Math.imul(ze,ft)|0,_=_+Math.imul(ze,dt)|0,_=_+Math.imul(qe,ft)|0,U=U+Math.imul(qe,dt)|0,E=E+Math.imul(je,xt)|0,_=_+Math.imul(je,pt)|0,_=_+Math.imul(De,xt)|0,U=U+Math.imul(De,pt)|0,E=E+Math.imul(ke,gt)|0,_=_+Math.imul(ke,vt)|0,_=_+Math.imul(Ke,gt)|0,U=U+Math.imul(Ke,vt)|0,E=E+Math.imul(de,lt)|0,_=_+Math.imul(de,_t)|0,_=_+Math.imul(Se,lt)|0,U=U+Math.imul(Se,_t)|0,E=E+Math.imul(L,zt)|0,_=_+Math.imul(L,Ht)|0,_=_+Math.imul(H,zt)|0,U=U+Math.imul(H,Ht)|0,E=E+Math.imul(ee,Rt)|0,_=_+Math.imul(ee,ur)|0,_=_+Math.imul(re,Rt)|0,U=U+Math.imul(re,ur)|0;var mi=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(mi>>>26)|0,mi&=67108863,E=Math.imul(Q,st),_=Math.imul(Q,Nt),_=_+Math.imul(ue,st)|0,U=Math.imul(ue,Nt),E=E+Math.imul(Xe,ht)|0,_=_+Math.imul(Xe,wt)|0,_=_+Math.imul(se,ht)|0,U=U+Math.imul(se,wt)|0,E=E+Math.imul(He,ft)|0,_=_+Math.imul(He,dt)|0,_=_+Math.imul(Be,ft)|0,U=U+Math.imul(Be,dt)|0,E=E+Math.imul(ze,xt)|0,_=_+Math.imul(ze,pt)|0,_=_+Math.imul(qe,xt)|0,U=U+Math.imul(qe,pt)|0,E=E+Math.imul(je,gt)|0,_=_+Math.imul(je,vt)|0,_=_+Math.imul(De,gt)|0,U=U+Math.imul(De,vt)|0,E=E+Math.imul(ke,lt)|0,_=_+Math.imul(ke,_t)|0,_=_+Math.imul(Ke,lt)|0,U=U+Math.imul(Ke,_t)|0,E=E+Math.imul(de,zt)|0,_=_+Math.imul(de,Ht)|0,_=_+Math.imul(Se,zt)|0,U=U+Math.imul(Se,Ht)|0,E=E+Math.imul(L,Rt)|0,_=_+Math.imul(L,ur)|0,_=_+Math.imul(H,Rt)|0,U=U+Math.imul(H,ur)|0;var _i=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(_i>>>26)|0,_i&=67108863,E=Math.imul(Q,ht),_=Math.imul(Q,wt),_=_+Math.imul(ue,ht)|0,U=Math.imul(ue,wt),E=E+Math.imul(Xe,ft)|0,_=_+Math.imul(Xe,dt)|0,_=_+Math.imul(se,ft)|0,U=U+Math.imul(se,dt)|0,E=E+Math.imul(He,xt)|0,_=_+Math.imul(He,pt)|0,_=_+Math.imul(Be,xt)|0,U=U+Math.imul(Be,pt)|0,E=E+Math.imul(ze,gt)|0,_=_+Math.imul(ze,vt)|0,_=_+Math.imul(qe,gt)|0,U=U+Math.imul(qe,vt)|0,E=E+Math.imul(je,lt)|0,_=_+Math.imul(je,_t)|0,_=_+Math.imul(De,lt)|0,U=U+Math.imul(De,_t)|0,E=E+Math.imul(ke,zt)|0,_=_+Math.imul(ke,Ht)|0,_=_+Math.imul(Ke,zt)|0,U=U+Math.imul(Ke,Ht)|0,E=E+Math.imul(de,Rt)|0,_=_+Math.imul(de,ur)|0,_=_+Math.imul(Se,Rt)|0,U=U+Math.imul(Se,ur)|0;var Ei=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(Ei>>>26)|0,Ei&=67108863,E=Math.imul(Q,ft),_=Math.imul(Q,dt),_=_+Math.imul(ue,ft)|0,U=Math.imul(ue,dt),E=E+Math.imul(Xe,xt)|0,_=_+Math.imul(Xe,pt)|0,_=_+Math.imul(se,xt)|0,U=U+Math.imul(se,pt)|0,E=E+Math.imul(He,gt)|0,_=_+Math.imul(He,vt)|0,_=_+Math.imul(Be,gt)|0,U=U+Math.imul(Be,vt)|0,E=E+Math.imul(ze,lt)|0,_=_+Math.imul(ze,_t)|0,_=_+Math.imul(qe,lt)|0,U=U+Math.imul(qe,_t)|0,E=E+Math.imul(je,zt)|0,_=_+Math.imul(je,Ht)|0,_=_+Math.imul(De,zt)|0,U=U+Math.imul(De,Ht)|0,E=E+Math.imul(ke,Rt)|0,_=_+Math.imul(ke,ur)|0,_=_+Math.imul(Ke,Rt)|0,U=U+Math.imul(Ke,ur)|0;var En=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(En>>>26)|0,En&=67108863,E=Math.imul(Q,xt),_=Math.imul(Q,pt),_=_+Math.imul(ue,xt)|0,U=Math.imul(ue,pt),E=E+Math.imul(Xe,gt)|0,_=_+Math.imul(Xe,vt)|0,_=_+Math.imul(se,gt)|0,U=U+Math.imul(se,vt)|0,E=E+Math.imul(He,lt)|0,_=_+Math.imul(He,_t)|0,_=_+Math.imul(Be,lt)|0,U=U+Math.imul(Be,_t)|0,E=E+Math.imul(ze,zt)|0,_=_+Math.imul(ze,Ht)|0,_=_+Math.imul(qe,zt)|0,U=U+Math.imul(qe,Ht)|0,E=E+Math.imul(je,Rt)|0,_=_+Math.imul(je,ur)|0,_=_+Math.imul(De,Rt)|0,U=U+Math.imul(De,ur)|0;var Is=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(Is>>>26)|0,Is&=67108863,E=Math.imul(Q,gt),_=Math.imul(Q,vt),_=_+Math.imul(ue,gt)|0,U=Math.imul(ue,vt),E=E+Math.imul(Xe,lt)|0,_=_+Math.imul(Xe,_t)|0,_=_+Math.imul(se,lt)|0,U=U+Math.imul(se,_t)|0,E=E+Math.imul(He,zt)|0,_=_+Math.imul(He,Ht)|0,_=_+Math.imul(Be,zt)|0,U=U+Math.imul(Be,Ht)|0,E=E+Math.imul(ze,Rt)|0,_=_+Math.imul(ze,ur)|0,_=_+Math.imul(qe,Rt)|0,U=U+Math.imul(qe,ur)|0;var Rs=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(Rs>>>26)|0,Rs&=67108863,E=Math.imul(Q,lt),_=Math.imul(Q,_t),_=_+Math.imul(ue,lt)|0,U=Math.imul(ue,_t),E=E+Math.imul(Xe,zt)|0,_=_+Math.imul(Xe,Ht)|0,_=_+Math.imul(se,zt)|0,U=U+Math.imul(se,Ht)|0,E=E+Math.imul(He,Rt)|0,_=_+Math.imul(He,ur)|0,_=_+Math.imul(Be,Rt)|0,U=U+Math.imul(Be,ur)|0;var Ts=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(Ts>>>26)|0,Ts&=67108863,E=Math.imul(Q,zt),_=Math.imul(Q,Ht),_=_+Math.imul(ue,zt)|0,U=Math.imul(ue,Ht),E=E+Math.imul(Xe,Rt)|0,_=_+Math.imul(Xe,ur)|0,_=_+Math.imul(se,Rt)|0,U=U+Math.imul(se,ur)|0;var Zo=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(Zo>>>26)|0,Zo&=67108863,E=Math.imul(Q,Rt),_=Math.imul(Q,ur),_=_+Math.imul(ue,Rt)|0,U=Math.imul(ue,ur);var Ka=(S+E|0)+((_&8191)<<13)|0;return S=(U+(_>>>13)|0)+(Ka>>>26)|0,Ka&=67108863,T[0]=Yn,T[1]=Qn,T[2]=Xn,T[3]=ei,T[4]=gn,T[5]=zn,T[6]=Pi,T[7]=Hn,T[8]=Oi,T[9]=Di,T[10]=mi,T[11]=_i,T[12]=Ei,T[13]=En,T[14]=Is,T[15]=Rs,T[16]=Ts,T[17]=Zo,T[18]=Ka,S!==0&&(T[19]=S,x.length++),x};Math.imul||(M=k);function O(b,d,m){m.negative=d.negative^b.negative,m.length=b.length+d.length;for(var x=0,A=0,I=0;I>>26)|0,A+=T>>>26,T&=67108863}m.words[I]=S,x=T,T=A}return x!==0?m.words[I]=x:m.length--,m._strip()}function B(b,d,m){return O(b,d,m)}s.prototype.mulTo=function(d,m){var x,A=this.length+d.length;return this.length===10&&d.length===10?x=M(this,d,m):A<63?x=k(this,d,m):A<1024?x=O(this,d,m):x=B(this,d,m),x},s.prototype.mul=function(d){var m=new s(null);return m.words=new Array(this.length+d.length),this.mulTo(d,m)},s.prototype.mulf=function(d){var m=new s(null);return m.words=new Array(this.length+d.length),B(this,d,m)},s.prototype.imul=function(d){return this.clone().mulTo(d,this)},s.prototype.imuln=function(d){var m=d<0;m&&(d=-d),n(typeof d=="number"),n(d<67108864);for(var x=0,A=0;A>=26,x+=I/67108864|0,x+=T>>>26,this.words[A]=T&67108863}return x!==0&&(this.words[A]=x,this.length++),m?this.ineg():this},s.prototype.muln=function(d){return this.clone().imuln(d)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(d){var m=R(d);if(m.length===0)return new s(1);for(var x=this,A=0;A=0);var m=d%26,x=(d-m)/26,A=67108863>>>26-m<<26-m,I;if(m!==0){var T=0;for(I=0;I>>26-m}T&&(this.words[I]=T,this.length++)}if(x!==0){for(I=this.length-1;I>=0;I--)this.words[I+x]=this.words[I];for(I=0;I=0);var A;m?A=(m-m%26)/26:A=0;var I=d%26,T=Math.min((d-I)/26,this.length),S=67108863^67108863>>>I<T)for(this.length-=T,_=0;_=0&&(U!==0||_>=A);_--){var ie=this.words[_]|0;this.words[_]=U<<26-I|ie>>>I,U=ie&S}return E&&U!==0&&(E.words[E.length++]=U),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},s.prototype.ishrn=function(d,m,x){return n(this.negative===0),this.iushrn(d,m,x)},s.prototype.shln=function(d){return this.clone().ishln(d)},s.prototype.ushln=function(d){return this.clone().iushln(d)},s.prototype.shrn=function(d){return this.clone().ishrn(d)},s.prototype.ushrn=function(d){return this.clone().iushrn(d)},s.prototype.testn=function(d){n(typeof d=="number"&&d>=0);var m=d%26,x=(d-m)/26,A=1<=0);var m=d%26,x=(d-m)/26;if(n(this.negative===0,"imaskn works only with positive numbers"),this.length<=x)return this;if(m!==0&&x++,this.length=Math.min(x,this.length),m!==0){var A=67108863^67108863>>>m<=67108864;m++)this.words[m]-=67108864,m===this.length-1?this.words[m+1]=1:this.words[m+1]++;return this.length=Math.max(this.length,m+1),this},s.prototype.isubn=function(d){if(n(typeof d=="number"),n(d<67108864),d<0)return this.iaddn(-d);if(this.negative!==0)return this.negative=0,this.iaddn(d),this.negative=1,this;if(this.words[0]-=d,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var m=0;m>26)-(E/67108864|0),this.words[I+x]=T&67108863}for(;I>26,this.words[I+x]=T&67108863;if(S===0)return this._strip();for(n(S===-1),S=0,I=0;I>26,this.words[I]=T&67108863;return this.negative=1,this._strip()},s.prototype._wordDiv=function(d,m){var x=this.length-d.length,A=this.clone(),I=d,T=I.words[I.length-1]|0,S=this._countBits(T);x=26-S,x!==0&&(I=I.ushln(x),A.iushln(x),T=I.words[I.length-1]|0);var E=A.length-I.length,_;if(m!=="mod"){_=new s(null),_.length=E+1,_.words=new Array(_.length);for(var U=0;U<_.length;U++)_.words[U]=0}var ie=A.clone()._ishlnsubmul(I,1,E);ie.negative===0&&(A=ie,_&&(_.words[E]=1));for(var q=E-1;q>=0;q--){var Y=(A.words[I.length+q]|0)*67108864+(A.words[I.length+q-1]|0);for(Y=Math.min(Y/T|0,67108863),A._ishlnsubmul(I,Y,q);A.negative!==0;)Y--,A.negative=0,A._ishlnsubmul(I,1,q),A.isZero()||(A.negative^=1);_&&(_.words[q]=Y)}return _&&_._strip(),A._strip(),m!=="div"&&x!==0&&A.iushrn(x),{div:_||null,mod:A}},s.prototype.divmod=function(d,m,x){if(n(!d.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var A,I,T;return this.negative!==0&&d.negative===0?(T=this.neg().divmod(d,m),m!=="mod"&&(A=T.div.neg()),m!=="div"&&(I=T.mod.neg(),x&&I.negative!==0&&I.iadd(d)),{div:A,mod:I}):this.negative===0&&d.negative!==0?(T=this.divmod(d.neg(),m),m!=="mod"&&(A=T.div.neg()),{div:A,mod:T.mod}):this.negative&d.negative?(T=this.neg().divmod(d.neg(),m),m!=="div"&&(I=T.mod.neg(),x&&I.negative!==0&&I.isub(d)),{div:T.div,mod:I}):d.length>this.length||this.cmp(d)<0?{div:new s(0),mod:this}:d.length===1?m==="div"?{div:this.divn(d.words[0]),mod:null}:m==="mod"?{div:null,mod:new s(this.modrn(d.words[0]))}:{div:this.divn(d.words[0]),mod:new s(this.modrn(d.words[0]))}:this._wordDiv(d,m)},s.prototype.div=function(d){return this.divmod(d,"div",!1).div},s.prototype.mod=function(d){return this.divmod(d,"mod",!1).mod},s.prototype.umod=function(d){return this.divmod(d,"mod",!0).mod},s.prototype.divRound=function(d){var m=this.divmod(d);if(m.mod.isZero())return m.div;var x=m.div.negative!==0?m.mod.isub(d):m.mod,A=d.ushrn(1),I=d.andln(1),T=x.cmp(A);return T<0||I===1&&T===0?m.div:m.div.negative!==0?m.div.isubn(1):m.div.iaddn(1)},s.prototype.modrn=function(d){var m=d<0;m&&(d=-d),n(d<=67108863);for(var x=(1<<26)%d,A=0,I=this.length-1;I>=0;I--)A=(x*A+(this.words[I]|0))%d;return m?-A:A},s.prototype.modn=function(d){return this.modrn(d)},s.prototype.idivn=function(d){var m=d<0;m&&(d=-d),n(d<=67108863);for(var x=0,A=this.length-1;A>=0;A--){var I=(this.words[A]|0)+x*67108864;this.words[A]=I/d|0,x=I%d}return this._strip(),m?this.ineg():this},s.prototype.divn=function(d){return this.clone().idivn(d)},s.prototype.egcd=function(d){n(d.negative===0),n(!d.isZero());var m=this,x=d.clone();m.negative!==0?m=m.umod(d):m=m.clone();for(var A=new s(1),I=new s(0),T=new s(0),S=new s(1),E=0;m.isEven()&&x.isEven();)m.iushrn(1),x.iushrn(1),++E;for(var _=x.clone(),U=m.clone();!m.isZero();){for(var ie=0,q=1;!(m.words[0]&q)&&ie<26;++ie,q<<=1);if(ie>0)for(m.iushrn(ie);ie-- >0;)(A.isOdd()||I.isOdd())&&(A.iadd(_),I.isub(U)),A.iushrn(1),I.iushrn(1);for(var Y=0,K=1;!(x.words[0]&K)&&Y<26;++Y,K<<=1);if(Y>0)for(x.iushrn(Y);Y-- >0;)(T.isOdd()||S.isOdd())&&(T.iadd(_),S.isub(U)),T.iushrn(1),S.iushrn(1);m.cmp(x)>=0?(m.isub(x),A.isub(T),I.isub(S)):(x.isub(m),T.isub(A),S.isub(I))}return{a:T,b:S,gcd:x.iushln(E)}},s.prototype._invmp=function(d){n(d.negative===0),n(!d.isZero());var m=this,x=d.clone();m.negative!==0?m=m.umod(d):m=m.clone();for(var A=new s(1),I=new s(0),T=x.clone();m.cmpn(1)>0&&x.cmpn(1)>0;){for(var S=0,E=1;!(m.words[0]&E)&&S<26;++S,E<<=1);if(S>0)for(m.iushrn(S);S-- >0;)A.isOdd()&&A.iadd(T),A.iushrn(1);for(var _=0,U=1;!(x.words[0]&U)&&_<26;++_,U<<=1);if(_>0)for(x.iushrn(_);_-- >0;)I.isOdd()&&I.iadd(T),I.iushrn(1);m.cmp(x)>=0?(m.isub(x),A.isub(I)):(x.isub(m),I.isub(A))}var ie;return m.cmpn(1)===0?ie=A:ie=I,ie.cmpn(0)<0&&ie.iadd(d),ie},s.prototype.gcd=function(d){if(this.isZero())return d.abs();if(d.isZero())return this.abs();var m=this.clone(),x=d.clone();m.negative=0,x.negative=0;for(var A=0;m.isEven()&&x.isEven();A++)m.iushrn(1),x.iushrn(1);do{for(;m.isEven();)m.iushrn(1);for(;x.isEven();)x.iushrn(1);var I=m.cmp(x);if(I<0){var T=m;m=x,x=T}else if(I===0||x.cmpn(1)===0)break;m.isub(x)}while(!0);return x.iushln(A)},s.prototype.invm=function(d){return this.egcd(d).a.umod(d)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(d){return this.words[0]&d},s.prototype.bincn=function(d){n(typeof d=="number");var m=d%26,x=(d-m)/26,A=1<>>26,S&=67108863,this.words[T]=S}return I!==0&&(this.words[T]=I,this.length++),this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(d){var m=d<0;if(this.negative!==0&&!m)return-1;if(this.negative===0&&m)return 1;this._strip();var x;if(this.length>1)x=1;else{m&&(d=-d),n(d<=67108863,"Number is too big");var A=this.words[0]|0;x=A===d?0:Ad.length)return 1;if(this.length=0;x--){var A=this.words[x]|0,I=d.words[x]|0;if(A!==I){AI&&(m=1);break}}return m},s.prototype.gtn=function(d){return this.cmpn(d)===1},s.prototype.gt=function(d){return this.cmp(d)===1},s.prototype.gten=function(d){return this.cmpn(d)>=0},s.prototype.gte=function(d){return this.cmp(d)>=0},s.prototype.ltn=function(d){return this.cmpn(d)===-1},s.prototype.lt=function(d){return this.cmp(d)===-1},s.prototype.lten=function(d){return this.cmpn(d)<=0},s.prototype.lte=function(d){return this.cmp(d)<=0},s.prototype.eqn=function(d){return this.cmpn(d)===0},s.prototype.eq=function(d){return this.cmp(d)===0},s.red=function(d){return new W(d)},s.prototype.toRed=function(d){return n(!this.red,"Already a number in reduction context"),n(this.negative===0,"red works only with positives"),d.convertTo(this)._forceRed(d)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(d){return this.red=d,this},s.prototype.forceRed=function(d){return n(!this.red,"Already a number in reduction context"),this._forceRed(d)},s.prototype.redAdd=function(d){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,d)},s.prototype.redIAdd=function(d){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,d)},s.prototype.redSub=function(d){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,d)},s.prototype.redISub=function(d){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,d)},s.prototype.redShl=function(d){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,d)},s.prototype.redMul=function(d){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,d),this.red.mul(this,d)},s.prototype.redIMul=function(d){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,d),this.red.imul(this,d)},s.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(d){return n(this.red&&!d.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,d)};var j={k256:null,p224:null,p192:null,p25519:null};function G(b,d){this.name=b,this.p=new s(d,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}G.prototype._tmp=function(){var d=new s(null);return d.words=new Array(Math.ceil(this.n/13)),d},G.prototype.ireduce=function(d){var m=d,x;do this.split(m,this.tmp),m=this.imulK(m),m=m.iadd(this.tmp),x=m.bitLength();while(x>this.n);var A=x0?m.isub(this.p):m.strip!==void 0?m.strip():m._strip(),m},G.prototype.split=function(d,m){d.iushrn(this.n,0,m)},G.prototype.imulK=function(d){return d.imul(this.k)};function D(){G.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(D,G),D.prototype.split=function(d,m){for(var x=4194303,A=Math.min(d.length,9),I=0;I>>22,T=S}T>>>=22,d.words[I-10]=T,T===0&&d.length>10?d.length-=10:d.length-=9},D.prototype.imulK=function(d){d.words[d.length]=0,d.words[d.length+1]=0,d.length+=2;for(var m=0,x=0;x>>=26,d.words[x]=I,m=A}return m!==0&&(d.words[d.length++]=m),d},s._prime=function(d){if(j[d])return j[d];var m;if(d==="k256")m=new D;else if(d==="p224")m=new $;else if(d==="p192")m=new V;else if(d==="p25519")m=new te;else throw new Error("Unknown prime "+d);return j[d]=m,m};function W(b){if(typeof b=="string"){var d=s._prime(b);this.m=d.p,this.prime=d}else n(b.gtn(1),"modulus must be greater than 1"),this.m=b,this.prime=null}W.prototype._verify1=function(d){n(d.negative===0,"red works only with positives"),n(d.red,"red works only with red numbers")},W.prototype._verify2=function(d,m){n((d.negative|m.negative)===0,"red works only with positives"),n(d.red&&d.red===m.red,"red works only with red numbers")},W.prototype.imod=function(d){return this.prime?this.prime.ireduce(d)._forceRed(this):(h(d,d.umod(this.m)._forceRed(this)),d)},W.prototype.neg=function(d){return d.isZero()?d.clone():this.m.sub(d)._forceRed(this)},W.prototype.add=function(d,m){this._verify2(d,m);var x=d.add(m);return x.cmp(this.m)>=0&&x.isub(this.m),x._forceRed(this)},W.prototype.iadd=function(d,m){this._verify2(d,m);var x=d.iadd(m);return x.cmp(this.m)>=0&&x.isub(this.m),x},W.prototype.sub=function(d,m){this._verify2(d,m);var x=d.sub(m);return x.cmpn(0)<0&&x.iadd(this.m),x._forceRed(this)},W.prototype.isub=function(d,m){this._verify2(d,m);var x=d.isub(m);return x.cmpn(0)<0&&x.iadd(this.m),x},W.prototype.shl=function(d,m){return this._verify1(d),this.imod(d.ushln(m))},W.prototype.imul=function(d,m){return this._verify2(d,m),this.imod(d.imul(m))},W.prototype.mul=function(d,m){return this._verify2(d,m),this.imod(d.mul(m))},W.prototype.isqr=function(d){return this.imul(d,d.clone())},W.prototype.sqr=function(d){return this.mul(d,d)},W.prototype.sqrt=function(d){if(d.isZero())return d.clone();var m=this.m.andln(3);if(n(m%2===1),m===3){var x=this.m.add(new s(1)).iushrn(2);return this.pow(d,x)}for(var A=this.m.subn(1),I=0;!A.isZero()&&A.andln(1)===0;)I++,A.iushrn(1);n(!A.isZero());var T=new s(1).toRed(this),S=T.redNeg(),E=this.m.subn(1).iushrn(1),_=this.m.bitLength();for(_=new s(2*_*_).toRed(this);this.pow(_,E).cmp(S)!==0;)_.redIAdd(S);for(var U=this.pow(_,A),ie=this.pow(d,A.addn(1).iushrn(1)),q=this.pow(d,A),Y=I;q.cmp(T)!==0;){for(var K=q,ee=0;K.cmp(T)!==0;ee++)K=K.redSqr();n(ee=0;I--){for(var U=m.words[I],ie=_-1;ie>=0;ie--){var q=U>>ie&1;if(T!==A[0]&&(T=this.sqr(T)),q===0&&S===0){E=0;continue}S<<=1,S|=q,E++,!(E!==x&&(I!==0||ie!==0))&&(T=this.mul(T,A[S]),E=0,S=0)}_=26}return T},W.prototype.convertTo=function(d){var m=d.umod(this.m);return m===d?m.clone():m},W.prototype.convertFrom=function(d){var m=d.clone();return m.red=null,m},s.mont=function(d){return new P(d)};function P(b){W.call(this,b),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new s(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)}i(P,W),P.prototype.convertTo=function(d){return this.imod(d.ushln(this.shift))},P.prototype.convertFrom=function(d){var m=this.imod(d.mul(this.rinv));return m.red=null,m},P.prototype.imul=function(d,m){if(d.isZero()||m.isZero())return d.words[0]=0,d.length=1,d;var x=d.imul(m),A=x.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),I=x.isub(A).iushrn(this.shift),T=I;return I.cmp(this.m)>=0?T=I.isub(this.m):I.cmpn(0)<0&&(T=I.iadd(this.m)),T._forceRed(this)},P.prototype.mul=function(d,m){if(d.isZero()||m.isZero())return new s(0)._forceRed(this);var x=d.mul(m),A=x.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),I=x.isub(A).iushrn(this.shift),T=I;return I.cmp(this.m)>=0?T=I.isub(this.m):I.cmpn(0)<0&&(T=I.iadd(this.m)),T._forceRed(this)},P.prototype.invm=function(d){var m=this.imod(d._invmp(this.m).mul(this.r2));return m._forceRed(this)}})(r,ct)}(nS)),nS.exports}var _D,tse;function ED(){if(tse)return _D;tse=1;var r=xD(),e=ry();function t(s){var o=n(s),a=o.toRed(r.mont(s.modulus)).redPow(new r(s.publicExponent)).fromRed();return{blinder:a,unblinder:o.invm(s.modulus)}}function n(s){var o=s.modulus.byteLength(),a;do a=new r(e(o));while(a.cmp(s.modulus)>=0||!a.umod(s.prime1)||!a.umod(s.prime2));return a}function i(s,o){var a=t(o),l=o.modulus.byteLength(),u=new r(s).mul(a.blinder).umod(o.modulus),h=u.toRed(r.mont(o.prime1)),p=u.toRed(r.mont(o.prime2)),g=o.coefficient,w=o.prime1,y=o.prime2,C=h.redPow(o.exponent1).fromRed(),R=p.redPow(o.exponent2).fromRed(),k=C.isub(R).imul(g).umod(w).imul(y);return R.iadd(k).imul(a.unblinder).umod(o.modulus).toArrayLike($t,"be",l)}return i.getr=n,_D=i,_D}var AD={};const URe={name:"elliptic",version:"6.5.4",description:"EC cryptography",main:"lib/elliptic.js",files:["lib"],scripts:{lint:"eslint lib test","lint:fix":"npm run lint -- --fix",unit:"istanbul test _mocha --reporter=spec test/index.js",test:"npm run lint && npm run unit",version:"grunt dist && git add dist/"},repository:{type:"git",url:"git@github.com:indutny/elliptic"},keywords:["EC","Elliptic","curve","Cryptography"],author:"Fedor Indutny ",license:"MIT",bugs:{url:"https://github.com/indutny/elliptic/issues"},homepage:"https://github.com/indutny/elliptic",devDependencies:{brfs:"^2.0.2",coveralls:"^3.1.0",eslint:"^7.6.0",grunt:"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1",istanbul:"^0.4.5",mocha:"^8.0.1"},dependencies:{"bn.js":"^4.11.9",brorand:"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1",inherits:"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"}};var CD={},SD={},rse;function nse(){return rse||(rse=1,function(r){var e=r;function t(s,o){if(Array.isArray(s))return s.slice();if(!s)return[];var a=[];if(typeof s!="string"){for(var l=0;l>8,p=u&255;h?a.push(h,p):a.push(p)}return a}e.toArray=t;function n(s){return s.length===1?"0"+s:s}e.zero2=n;function i(s){for(var o="",a=0;a(y>>1)-1?k=(y>>1)-M:k=M,C.isubn(k)):k=0,w[R]=k,C.iushrn(1)}return w}e.getNAF=s;function o(h,p){var g=[[],[]];h=h.clone(),p=p.clone();for(var w=0,y=0,C;h.cmpn(-w)>0||p.cmpn(-y)>0;){var R=h.andln(3)+w&3,k=p.andln(3)+y&3;R===3&&(R=-1),k===3&&(k=-1);var M;R&1?(C=h.andln(7)+w&7,(C===3||C===5)&&k===2?M=-R:M=R):M=0,g[0].push(M);var O;k&1?(C=p.andln(7)+y&7,(C===3||C===5)&&R===2?O=-k:O=k):O=0,g[1].push(O),2*w===M+1&&(w=1-w),2*y===O+1&&(y=1-y),h.iushrn(1),p.iushrn(1)}return g}e.getJSF=o;function a(h,p,g){var w="_"+p;h.prototype[p]=function(){return this[w]!==void 0?this[w]:this[w]=g.call(this)}}e.cachedProperty=a;function l(h){return typeof h=="string"?e.toArray(h,"hex"):h}e.parseBytes=l;function u(h){return new t(h,"hex","le")}e.intFromLE=u}(CD)),CD}var ID={},RD,sse;function iS(){if(sse)return RD;sse=1;var r=bo(),e=Kl(),t=e.getNAF,n=e.getJSF,i=e.assert;function s(a,l){this.type=a,this.p=new r(l.p,16),this.red=l.prime?r.red(l.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=l.n&&new r(l.n,16),this.g=l.g&&this.pointFromJSON(l.g,l.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var u=this.n&&this.p.div(this.n);!u||u.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}RD=s,s.prototype.point=function(){throw new Error("Not implemented")},s.prototype.validate=function(){throw new Error("Not implemented")},s.prototype._fixedNafMul=function(l,u){i(l.precomputed);var h=l._getDoubles(),p=t(u,1,this._bitLength),g=(1<=y;R--)C=(C<<1)+p[R];w.push(C)}for(var k=this.jpoint(null,null,null),M=this.jpoint(null,null,null),O=g;O>0;O--){for(y=0;y=0;C--){for(var R=0;C>=0&&w[C]===0;C--)R++;if(C>=0&&R++,y=y.dblp(R),C<0)break;var k=w[C];i(k!==0),l.type==="affine"?k>0?y=y.mixedAdd(g[k-1>>1]):y=y.mixedAdd(g[-k-1>>1].neg()):k>0?y=y.add(g[k-1>>1]):y=y.add(g[-k-1>>1].neg())}return l.type==="affine"?y.toP():y},s.prototype._wnafMulAdd=function(l,u,h,p,g){var w=this._wnafT1,y=this._wnafT2,C=this._wnafT3,R=0,k,M,O;for(k=0;k=1;k-=2){var j=k-1,G=k;if(w[j]!==1||w[G]!==1){C[j]=t(h[j],w[j],this._bitLength),C[G]=t(h[G],w[G],this._bitLength),R=Math.max(C[j].length,R),R=Math.max(C[G].length,R);continue}var D=[u[j],null,null,u[G]];u[j].y.cmp(u[G].y)===0?(D[1]=u[j].add(u[G]),D[2]=u[j].toJ().mixedAdd(u[G].neg())):u[j].y.cmp(u[G].y.redNeg())===0?(D[1]=u[j].toJ().mixedAdd(u[G]),D[2]=u[j].add(u[G].neg())):(D[1]=u[j].toJ().mixedAdd(u[G]),D[2]=u[j].toJ().mixedAdd(u[G].neg()));var $=[-3,-1,-5,-7,0,7,5,1,3],V=n(h[j],h[G]);for(R=Math.max(V[0].length,R),C[j]=new Array(R),C[G]=new Array(R),M=0;M=0;k--){for(var d=0;k>=0;){var m=!0;for(M=0;M=0&&d++,P=P.dblp(d),k<0)break;for(M=0;M0?O=y[M][x-1>>1]:x<0&&(O=y[M][-x-1>>1].neg()),O.type==="affine"?P=P.mixedAdd(O):P=P.add(O))}}for(k=0;k=Math.ceil((l.bitLength()+1)/u.step):!1},o.prototype._getDoubles=function(l,u){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var h=[this],p=this,g=0;g=0&&(j=k,G=M),O.negative&&(O=O.neg(),B=B.neg()),j.negative&&(j=j.neg(),G=G.neg()),[{a:O,b:B},{a:j,b:G}]},s.prototype._endoSplit=function(u){var h=this.endo.basis,p=h[0],g=h[1],w=g.b.mul(u).divRound(this.n),y=p.b.neg().mul(u).divRound(this.n),C=w.mul(p.a),R=y.mul(g.a),k=w.mul(p.b),M=y.mul(g.b),O=u.sub(C).sub(R),B=k.add(M).neg();return{k1:O,k2:B}},s.prototype.pointFromX=function(u,h){u=new e(u,16),u.red||(u=u.toRed(this.red));var p=u.redSqr().redMul(u).redIAdd(u.redMul(this.a)).redIAdd(this.b),g=p.redSqrt();if(g.redSqr().redSub(p).cmp(this.zero)!==0)throw new Error("invalid point");var w=g.fromRed().isOdd();return(h&&!w||!h&&w)&&(g=g.redNeg()),this.point(u,g)},s.prototype.validate=function(u){if(u.inf)return!0;var h=u.x,p=u.y,g=this.a.redMul(h),w=h.redSqr().redMul(h).redIAdd(g).redIAdd(this.b);return p.redSqr().redISub(w).cmpn(0)===0},s.prototype._endoWnafMulAdd=function(u,h,p){for(var g=this._endoWnafT1,w=this._endoWnafT2,y=0;y":""},o.prototype.isInfinity=function(){return this.inf},o.prototype.add=function(u){if(this.inf)return u;if(u.inf)return this;if(this.eq(u))return this.dbl();if(this.neg().eq(u))return this.curve.point(null,null);if(this.x.cmp(u.x)===0)return this.curve.point(null,null);var h=this.y.redSub(u.y);h.cmpn(0)!==0&&(h=h.redMul(this.x.redSub(u.x).redInvm()));var p=h.redSqr().redISub(this.x).redISub(u.x),g=h.redMul(this.x.redSub(p)).redISub(this.y);return this.curve.point(p,g)},o.prototype.dbl=function(){if(this.inf)return this;var u=this.y.redAdd(this.y);if(u.cmpn(0)===0)return this.curve.point(null,null);var h=this.curve.a,p=this.x.redSqr(),g=u.redInvm(),w=p.redAdd(p).redIAdd(p).redIAdd(h).redMul(g),y=w.redSqr().redISub(this.x.redAdd(this.x)),C=w.redMul(this.x.redSub(y)).redISub(this.y);return this.curve.point(y,C)},o.prototype.getX=function(){return this.x.fromRed()},o.prototype.getY=function(){return this.y.fromRed()},o.prototype.mul=function(u){return u=new e(u,16),this.isInfinity()?this:this._hasDoubles(u)?this.curve._fixedNafMul(this,u):this.curve.endo?this.curve._endoWnafMulAdd([this],[u]):this.curve._wnafMul(this,u)},o.prototype.mulAdd=function(u,h,p){var g=[this,h],w=[u,p];return this.curve.endo?this.curve._endoWnafMulAdd(g,w):this.curve._wnafMulAdd(1,g,w,2)},o.prototype.jmulAdd=function(u,h,p){var g=[this,h],w=[u,p];return this.curve.endo?this.curve._endoWnafMulAdd(g,w,!0):this.curve._wnafMulAdd(1,g,w,2,!0)},o.prototype.eq=function(u){return this===u||this.inf===u.inf&&(this.inf||this.x.cmp(u.x)===0&&this.y.cmp(u.y)===0)},o.prototype.neg=function(u){if(this.inf)return this;var h=this.curve.point(this.x,this.y.redNeg());if(u&&this.precomputed){var p=this.precomputed,g=function(w){return w.neg()};h.precomputed={naf:p.naf&&{wnd:p.naf.wnd,points:p.naf.points.map(g)},doubles:p.doubles&&{step:p.doubles.step,points:p.doubles.points.map(g)}}}return h},o.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var u=this.curve.jpoint(this.x,this.y,this.curve.one);return u};function a(l,u,h,p){n.BasePoint.call(this,l,"jacobian"),u===null&&h===null&&p===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new e(0)):(this.x=new e(u,16),this.y=new e(h,16),this.z=new e(p,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}return t(a,n.BasePoint),s.prototype.jpoint=function(u,h,p){return new a(this,u,h,p)},a.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var u=this.z.redInvm(),h=u.redSqr(),p=this.x.redMul(h),g=this.y.redMul(h).redMul(u);return this.curve.point(p,g)},a.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},a.prototype.add=function(u){if(this.isInfinity())return u;if(u.isInfinity())return this;var h=u.z.redSqr(),p=this.z.redSqr(),g=this.x.redMul(h),w=u.x.redMul(p),y=this.y.redMul(h.redMul(u.z)),C=u.y.redMul(p.redMul(this.z)),R=g.redSub(w),k=y.redSub(C);if(R.cmpn(0)===0)return k.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var M=R.redSqr(),O=M.redMul(R),B=g.redMul(M),j=k.redSqr().redIAdd(O).redISub(B).redISub(B),G=k.redMul(B.redISub(j)).redISub(y.redMul(O)),D=this.z.redMul(u.z).redMul(R);return this.curve.jpoint(j,G,D)},a.prototype.mixedAdd=function(u){if(this.isInfinity())return u.toJ();if(u.isInfinity())return this;var h=this.z.redSqr(),p=this.x,g=u.x.redMul(h),w=this.y,y=u.y.redMul(h).redMul(this.z),C=p.redSub(g),R=w.redSub(y);if(C.cmpn(0)===0)return R.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var k=C.redSqr(),M=k.redMul(C),O=p.redMul(k),B=R.redSqr().redIAdd(M).redISub(O).redISub(O),j=R.redMul(O.redISub(B)).redISub(w.redMul(M)),G=this.z.redMul(C);return this.curve.jpoint(B,j,G)},a.prototype.dblp=function(u){if(u===0)return this;if(this.isInfinity())return this;if(!u)return this.dbl();var h;if(this.curve.zeroA||this.curve.threeA){var p=this;for(h=0;h=0)return!1;if(p.redIAdd(w),this.x.cmp(p)===0)return!0}},a.prototype.inspect=function(){return this.isInfinity()?"":""},a.prototype.isInfinity=function(){return this.z.cmpn(0)===0},TD}var kD,ase;function jRe(){if(ase)return kD;ase=1;var r=bo(),e=tn(),t=iS(),n=Kl();function i(o){t.call(this,"mont",o),this.a=new r(o.a,16).toRed(this.red),this.b=new r(o.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))}e(i,t),kD=i,i.prototype.validate=function(a){var l=a.normalize().x,u=l.redSqr(),h=u.redMul(l).redAdd(u.redMul(this.a)).redAdd(l),p=h.redSqrt();return p.redSqr().cmp(h)===0};function s(o,a,l){t.BasePoint.call(this,o,"projective"),a===null&&l===null?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new r(a,16),this.z=new r(l,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}return e(s,t.BasePoint),i.prototype.decodePoint=function(a,l){return this.point(n.toArray(a,l),1)},i.prototype.point=function(a,l){return new s(this,a,l)},i.prototype.pointFromJSON=function(a){return s.fromJSON(this,a)},s.prototype.precompute=function(){},s.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},s.fromJSON=function(a,l){return new s(a,l[0],l[1]||a.one)},s.prototype.inspect=function(){return this.isInfinity()?"":""},s.prototype.isInfinity=function(){return this.z.cmpn(0)===0},s.prototype.dbl=function(){var a=this.x.redAdd(this.z),l=a.redSqr(),u=this.x.redSub(this.z),h=u.redSqr(),p=l.redSub(h),g=l.redMul(h),w=p.redMul(h.redAdd(this.curve.a24.redMul(p)));return this.curve.point(g,w)},s.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},s.prototype.diffAdd=function(a,l){var u=this.x.redAdd(this.z),h=this.x.redSub(this.z),p=a.x.redAdd(a.z),g=a.x.redSub(a.z),w=g.redMul(u),y=p.redMul(h),C=l.z.redMul(w.redAdd(y).redSqr()),R=l.x.redMul(w.redISub(y).redSqr());return this.curve.point(C,R)},s.prototype.mul=function(a){for(var l=a.clone(),u=this,h=this.curve.point(null,null),p=this,g=[];l.cmpn(0)!==0;l.iushrn(1))g.push(l.andln(1));for(var w=g.length-1;w>=0;w--)g[w]===0?(u=u.diffAdd(h,p),h=h.dbl()):(h=u.diffAdd(h,p),u=u.dbl());return h},s.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},s.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},s.prototype.eq=function(a){return this.getX().cmp(a.getX())===0},s.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},s.prototype.getX=function(){return this.normalize(),this.x.fromRed()},kD}var MD,cse;function zRe(){if(cse)return MD;cse=1;var r=Kl(),e=bo(),t=tn(),n=iS(),i=r.assert;function s(a){this.twisted=(a.a|0)!==1,this.mOneA=this.twisted&&(a.a|0)===-1,this.extended=this.mOneA,n.call(this,"edwards",a),this.a=new e(a.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new e(a.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new e(a.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),i(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(a.c|0)===1}t(s,n),MD=s,s.prototype._mulA=function(l){return this.mOneA?l.redNeg():this.a.redMul(l)},s.prototype._mulC=function(l){return this.oneC?l:this.c.redMul(l)},s.prototype.jpoint=function(l,u,h,p){return this.point(l,u,h,p)},s.prototype.pointFromX=function(l,u){l=new e(l,16),l.red||(l=l.toRed(this.red));var h=l.redSqr(),p=this.c2.redSub(this.a.redMul(h)),g=this.one.redSub(this.c2.redMul(this.d).redMul(h)),w=p.redMul(g.redInvm()),y=w.redSqrt();if(y.redSqr().redSub(w).cmp(this.zero)!==0)throw new Error("invalid point");var C=y.fromRed().isOdd();return(u&&!C||!u&&C)&&(y=y.redNeg()),this.point(l,y)},s.prototype.pointFromY=function(l,u){l=new e(l,16),l.red||(l=l.toRed(this.red));var h=l.redSqr(),p=h.redSub(this.c2),g=h.redMul(this.d).redMul(this.c2).redSub(this.a),w=p.redMul(g.redInvm());if(w.cmp(this.zero)===0){if(u)throw new Error("invalid point");return this.point(this.zero,l)}var y=w.redSqrt();if(y.redSqr().redSub(w).cmp(this.zero)!==0)throw new Error("invalid point");return y.fromRed().isOdd()!==u&&(y=y.redNeg()),this.point(y,l)},s.prototype.validate=function(l){if(l.isInfinity())return!0;l.normalize();var u=l.x.redSqr(),h=l.y.redSqr(),p=u.redMul(this.a).redAdd(h),g=this.c2.redMul(this.one.redAdd(this.d.redMul(u).redMul(h)));return p.cmp(g)===0};function o(a,l,u,h,p){n.BasePoint.call(this,a,"projective"),l===null&&u===null&&h===null?(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 e(l,16),this.y=new e(u,16),this.z=h?new e(h,16):this.curve.one,this.t=p&&new e(p,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()))))}return t(o,n.BasePoint),s.prototype.pointFromJSON=function(l){return o.fromJSON(this,l)},s.prototype.point=function(l,u,h,p){return new o(this,l,u,h,p)},o.fromJSON=function(l,u){return new o(l,u[0],u[1],u[2])},o.prototype.inspect=function(){return this.isInfinity()?"":""},o.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)},o.prototype._extDbl=function(){var l=this.x.redSqr(),u=this.y.redSqr(),h=this.z.redSqr();h=h.redIAdd(h);var p=this.curve._mulA(l),g=this.x.redAdd(this.y).redSqr().redISub(l).redISub(u),w=p.redAdd(u),y=w.redSub(h),C=p.redSub(u),R=g.redMul(y),k=w.redMul(C),M=g.redMul(C),O=y.redMul(w);return this.curve.point(R,k,O,M)},o.prototype._projDbl=function(){var l=this.x.redAdd(this.y).redSqr(),u=this.x.redSqr(),h=this.y.redSqr(),p,g,w,y,C,R;if(this.curve.twisted){y=this.curve._mulA(u);var k=y.redAdd(h);this.zOne?(p=l.redSub(u).redSub(h).redMul(k.redSub(this.curve.two)),g=k.redMul(y.redSub(h)),w=k.redSqr().redSub(k).redSub(k)):(C=this.z.redSqr(),R=k.redSub(C).redISub(C),p=l.redSub(u).redISub(h).redMul(R),g=k.redMul(y.redSub(h)),w=k.redMul(R))}else y=u.redAdd(h),C=this.curve._mulC(this.z).redSqr(),R=y.redSub(C).redSub(C),p=this.curve._mulC(l.redISub(y)).redMul(R),g=this.curve._mulC(y).redMul(u.redISub(h)),w=y.redMul(R);return this.curve.point(p,g,w)},o.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},o.prototype._extAdd=function(l){var u=this.y.redSub(this.x).redMul(l.y.redSub(l.x)),h=this.y.redAdd(this.x).redMul(l.y.redAdd(l.x)),p=this.t.redMul(this.curve.dd).redMul(l.t),g=this.z.redMul(l.z.redAdd(l.z)),w=h.redSub(u),y=g.redSub(p),C=g.redAdd(p),R=h.redAdd(u),k=w.redMul(y),M=C.redMul(R),O=w.redMul(R),B=y.redMul(C);return this.curve.point(k,M,B,O)},o.prototype._projAdd=function(l){var u=this.z.redMul(l.z),h=u.redSqr(),p=this.x.redMul(l.x),g=this.y.redMul(l.y),w=this.curve.d.redMul(p).redMul(g),y=h.redSub(w),C=h.redAdd(w),R=this.x.redAdd(this.y).redMul(l.x.redAdd(l.y)).redISub(p).redISub(g),k=u.redMul(y).redMul(R),M,O;return this.curve.twisted?(M=u.redMul(C).redMul(g.redSub(this.curve._mulA(p))),O=y.redMul(C)):(M=u.redMul(C).redMul(g.redSub(p)),O=this.curve._mulC(y).redMul(C)),this.curve.point(k,M,O)},o.prototype.add=function(l){return this.isInfinity()?l:l.isInfinity()?this:this.curve.extended?this._extAdd(l):this._projAdd(l)},o.prototype.mul=function(l){return this._hasDoubles(l)?this.curve._fixedNafMul(this,l):this.curve._wnafMul(this,l)},o.prototype.mulAdd=function(l,u,h){return this.curve._wnafMulAdd(1,[this,u],[l,h],2,!1)},o.prototype.jmulAdd=function(l,u,h){return this.curve._wnafMulAdd(1,[this,u],[l,h],2,!0)},o.prototype.normalize=function(){if(this.zOne)return this;var l=this.z.redInvm();return this.x=this.x.redMul(l),this.y=this.y.redMul(l),this.t&&(this.t=this.t.redMul(l)),this.z=this.curve.one,this.zOne=!0,this},o.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},o.prototype.getX=function(){return this.normalize(),this.x.fromRed()},o.prototype.getY=function(){return this.normalize(),this.y.fromRed()},o.prototype.eq=function(l){return this===l||this.getX().cmp(l.getX())===0&&this.getY().cmp(l.getY())===0},o.prototype.eqXToP=function(l){var u=l.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(u)===0)return!0;for(var h=l.clone(),p=this.curve.redN.redMul(this.z);;){if(h.iadd(this.curve.n),h.cmp(this.curve.p)>=0)return!1;if(u.redIAdd(p),this.x.cmp(u)===0)return!0}},o.prototype.toP=o.prototype.normalize,o.prototype.mixedAdd=o.prototype.add,MD}var lse;function use(){return lse||(lse=1,function(r){var e=r;e.base=iS(),e.short=FRe(),e.mont=jRe(),e.edwards=zRe()}(ID)),ID}var ND={},PD={},di={},hse;function ff(){if(hse)return di;hse=1;var r=Vl(),e=tn();di.inherits=e;function t(P,b){return(P.charCodeAt(b)&64512)!==55296||b<0||b+1>=P.length?!1:(P.charCodeAt(b+1)&64512)===56320}function n(P,b){if(Array.isArray(P))return P.slice();if(!P)return[];var d=[];if(typeof P=="string")if(b){if(b==="hex")for(P=P.replace(/[^a-z0-9]+/ig,""),P.length%2!==0&&(P="0"+P),x=0;x>6|192,d[m++]=A&63|128):t(P,x)?(A=65536+((A&1023)<<10)+(P.charCodeAt(++x)&1023),d[m++]=A>>18|240,d[m++]=A>>12&63|128,d[m++]=A>>6&63|128,d[m++]=A&63|128):(d[m++]=A>>12|224,d[m++]=A>>6&63|128,d[m++]=A&63|128)}else for(x=0;x>>24|P>>>8&65280|P<<8&16711680|(P&255)<<24;return b>>>0}di.htonl=s;function o(P,b){for(var d="",m=0;m>>0}return A}di.join32=u;function h(P,b){for(var d=new Array(P.length*4),m=0,x=0;m>>24,d[x+1]=A>>>16&255,d[x+2]=A>>>8&255,d[x+3]=A&255):(d[x+3]=A>>>24,d[x+2]=A>>>16&255,d[x+1]=A>>>8&255,d[x]=A&255)}return d}di.split32=h;function p(P,b){return P>>>b|P<<32-b}di.rotr32=p;function g(P,b){return P<>>32-b}di.rotl32=g;function w(P,b){return P+b>>>0}di.sum32=w;function y(P,b,d){return P+b+d>>>0}di.sum32_3=y;function C(P,b,d,m){return P+b+d+m>>>0}di.sum32_4=C;function R(P,b,d,m,x){return P+b+d+m+x>>>0}di.sum32_5=R;function k(P,b,d,m){var x=P[b],A=P[b+1],I=m+A>>>0,T=(I>>0,P[b+1]=I}di.sum64=k;function M(P,b,d,m){var x=b+m>>>0,A=(x>>0}di.sum64_hi=M;function O(P,b,d,m){var x=b+m;return x>>>0}di.sum64_lo=O;function B(P,b,d,m,x,A,I,T){var S=0,E=b;E=E+m>>>0,S+=E>>0,S+=E>>0,S+=E>>0}di.sum64_4_hi=B;function j(P,b,d,m,x,A,I,T){var S=b+m+A+T;return S>>>0}di.sum64_4_lo=j;function G(P,b,d,m,x,A,I,T,S,E){var _=0,U=b;U=U+m>>>0,_+=U>>0,_+=U>>0,_+=U>>0,_+=U>>0}di.sum64_5_hi=G;function D(P,b,d,m,x,A,I,T,S,E){var _=b+m+A+T+E;return _>>>0}di.sum64_5_lo=D;function $(P,b,d){var m=b<<32-d|P>>>d;return m>>>0}di.rotr64_hi=$;function V(P,b,d){var m=P<<32-d|b>>>d;return m>>>0}di.rotr64_lo=V;function te(P,b,d){return P>>>d}di.shr64_hi=te;function W(P,b,d){var m=P<<32-d|b>>>d;return m>>>0}return di.shr64_lo=W,di}var OD={},fse;function O6(){if(fse)return OD;fse=1;var r=ff(),e=Vl();function t(){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}return OD.BlockHash=t,t.prototype.update=function(i,s){if(i=r.toArray(i,s),this.pending?this.pending=this.pending.concat(i):this.pending=i,this.pendingTotal+=i.length,this.pending.length>=this._delta8){i=this.pending;var o=i.length%this._delta8;this.pending=i.slice(i.length-o,i.length),this.pending.length===0&&(this.pending=null),i=r.join32(i,0,i.length-o,this.endian);for(var a=0;a>>24&255,a[l++]=i>>>16&255,a[l++]=i>>>8&255,a[l++]=i&255}else for(a[l++]=i&255,a[l++]=i>>>8&255,a[l++]=i>>>16&255,a[l++]=i>>>24&255,a[l++]=0,a[l++]=0,a[l++]=0,a[l++]=0,u=8;u>>3}df.g0_256=l;function u(h){return e(h,17)^e(h,19)^h>>>10}return df.g1_256=u,df}var DD,gse;function HRe(){if(gse)return DD;gse=1;var r=ff(),e=O6(),t=pse(),n=r.rotl32,i=r.sum32,s=r.sum32_5,o=t.ft_1,a=e.BlockHash,l=[1518500249,1859775393,2400959708,3395469782];function u(){if(!(this instanceof u))return new u;a.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}return r.inherits(u,a),DD=u,u.blockSize=512,u.outSize=160,u.hmacStrength=80,u.padLength=64,u.prototype._update=function(p,g){for(var w=this.W,y=0;y<16;y++)w[y]=p[g+y];for(;ythis.blockSize&&(i=new this.Hash().update(i).digest()),e(i.length<=this.blockSize);for(var s=i.length;s=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(s,o,a)}return WD=n,n.prototype._init=function(s,o,a){var l=s.concat(o).concat(a);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var u=0;u=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(s.concat(a||[])),this._reseed=1},n.prototype.generate=function(s,o,a,l){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof o!="string"&&(l=a,a=o,o=null),a&&(a=e.toArray(a,l||"hex"),this._update(a));for(var u=[];u.length"},VD}var GD,kse;function QRe(){if(kse)return GD;kse=1;var r=bo(),e=Kl(),t=e.assert;function n(l,u){if(l instanceof n)return l;this._importDER(l,u)||(t(l.r&&l.s,"Signature without r or s"),this.r=new r(l.r,16),this.s=new r(l.s,16),l.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=l.recoveryParam)}GD=n;function i(){this.place=0}function s(l,u){var h=l[u.place++];if(!(h&128))return h;var p=h&15;if(p===0||p>4)return!1;for(var g=0,w=0,y=u.place;w>>=0;return g<=127?!1:(u.place=y,g)}function o(l){for(var u=0,h=l.length-1;!l[u]&&!(l[u+1]&128)&&u>>3);for(l.push(h|128);--h;)l.push(u>>>(h<<3)&255);l.push(u)}return n.prototype.toDER=function(u){var h=this.r.toArray(),p=this.s.toArray();for(h[0]&128&&(h=[0].concat(h)),p[0]&128&&(p=[0].concat(p)),h=o(h),p=o(p);!p[0]&&!(p[1]&128);)p=p.slice(1);var g=[2];a(g,h.length),g=g.concat(h),g.push(2),a(g,p.length);var w=g.concat(p),y=[48];return a(y,w.length),y=y.concat(w),e.encode(y,u)},GD}var KD,Mse;function XRe(){if(Mse)return KD;Mse=1;var r=bo(),e=JRe(),t=Kl(),n=qD(),i=bD(),s=t.assert,o=YRe(),a=QRe();function l(u){if(!(this instanceof l))return new l(u);typeof u=="string"&&(s(Object.prototype.hasOwnProperty.call(n,u),"Unknown curve "+u),u=n[u]),u instanceof n.PresetCurve&&(u={curve:u}),this.curve=u.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=u.curve.g,this.g.precompute(u.curve.n.bitLength()+1),this.hash=u.hash||u.curve.hash}return KD=l,l.prototype.keyPair=function(h){return new o(this,h)},l.prototype.keyFromPrivate=function(h,p){return o.fromPrivate(this,h,p)},l.prototype.keyFromPublic=function(h,p){return o.fromPublic(this,h,p)},l.prototype.genKeyPair=function(h){h||(h={});for(var p=new e({hash:this.hash,pers:h.pers,persEnc:h.persEnc||"utf8",entropy:h.entropy||i(this.hash.hmacStrength),entropyEnc:h.entropy&&h.entropyEnc||"utf8",nonce:this.n.toArray()}),g=this.n.byteLength(),w=this.n.sub(new r(2));;){var y=new r(p.generate(g));if(!(y.cmp(w)>0))return y.iaddn(1),this.keyFromPrivate(y)}},l.prototype._truncateToN=function(h,p){var g=h.byteLength()*8-this.n.bitLength();return g>0&&(h=h.ushrn(g)),!p&&h.cmp(this.n)>=0?h.sub(this.n):h},l.prototype.sign=function(h,p,g,w){typeof g=="object"&&(w=g,g=null),w||(w={}),p=this.keyFromPrivate(p,g),h=this._truncateToN(new r(h,16));for(var y=this.n.byteLength(),C=p.getPrivate().toArray("be",y),R=h.toArray("be",y),k=new e({hash:this.hash,entropy:C,nonce:R,pers:w.pers,persEnc:w.persEnc||"utf8"}),M=this.n.sub(new r(1)),O=0;;O++){var B=w.k?w.k(O):new r(k.generate(this.n.byteLength()));if(B=this._truncateToN(B,!0),!(B.cmpn(1)<=0||B.cmp(M)>=0)){var j=this.g.mul(B);if(!j.isInfinity()){var G=j.getX(),D=G.umod(this.n);if(D.cmpn(0)!==0){var $=B.invm(this.n).mul(D.mul(p.getPrivate()).iadd(h));if($=$.umod(this.n),$.cmpn(0)!==0){var V=(j.getY().isOdd()?1:0)|(G.cmp(D)!==0?2:0);return w.canonical&&$.cmp(this.nh)>0&&($=this.n.sub($),V^=1),new a({r:D,s:$,recoveryParam:V})}}}}}},l.prototype.verify=function(h,p,g,w){h=this._truncateToN(new r(h,16)),g=this.keyFromPublic(g,w),p=new a(p,"hex");var y=p.r,C=p.s;if(y.cmpn(1)<0||y.cmp(this.n)>=0||C.cmpn(1)<0||C.cmp(this.n)>=0)return!1;var R=C.invm(this.n),k=R.mul(h).umod(this.n),M=R.mul(y).umod(this.n),O;return this.curve._maxwellTrick?(O=this.g.jmulAdd(k,g.getPublic(),M),O.isInfinity()?!1:O.eqXToP(y)):(O=this.g.mulAdd(k,g.getPublic(),M),O.isInfinity()?!1:O.getX().umod(this.n).cmp(y)===0)},l.prototype.recoverPubKey=function(u,h,p,g){s((3&p)===p,"The recovery param is more than two bits"),h=new a(h,g);var w=this.n,y=new r(u),C=h.r,R=h.s,k=p&1,M=p>>1;if(C.cmp(this.curve.p.umod(this.curve.n))>=0&&M)throw new Error("Unable to find sencond key candinate");M?C=this.curve.pointFromX(C.add(this.curve.n),k):C=this.curve.pointFromX(C,k);var O=h.r.invm(w),B=w.sub(y).mul(O).umod(w),j=R.mul(O).umod(w);return this.g.mulAdd(B,C,j)},l.prototype.getKeyRecoveryParam=function(u,h,p,g){if(h=new a(h,g),h.recoveryParam!==null)return h.recoveryParam;for(var w=0;w<4;w++){var y;try{y=this.recoverPubKey(u,h,w)}catch{continue}if(y.eq(p))return w}throw new Error("Unable to find valid recovery factor")},KD}var ZD,Nse;function eTe(){if(Nse)return ZD;Nse=1;var r=Kl(),e=r.assert,t=r.parseBytes,n=r.cachedProperty;function i(s,o){this.eddsa=s,this._secret=t(o.secret),s.isPoint(o.pub)?this._pub=o.pub:this._pubBytes=t(o.pub)}return i.fromPublic=function(o,a){return a instanceof i?a:new i(o,{pub:a})},i.fromSecret=function(o,a){return a instanceof i?a:new i(o,{secret:a})},i.prototype.secret=function(){return this._secret},n(i,"pubBytes",function(){return this.eddsa.encodePoint(this.pub())}),n(i,"pub",function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),n(i,"privBytes",function(){var o=this.eddsa,a=this.hash(),l=o.encodingLength-1,u=a.slice(0,o.encodingLength);return u[0]&=248,u[l]&=127,u[l]|=64,u}),n(i,"priv",function(){return this.eddsa.decodeInt(this.privBytes())}),n(i,"hash",function(){return this.eddsa.hash().update(this.secret()).digest()}),n(i,"messagePrefix",function(){return this.hash().slice(this.eddsa.encodingLength)}),i.prototype.sign=function(o){return e(this._secret,"KeyPair can only verify"),this.eddsa.sign(o,this)},i.prototype.verify=function(o,a){return this.eddsa.verify(o,a,this)},i.prototype.getSecret=function(o){return e(this._secret,"KeyPair is public only"),r.encode(this.secret(),o)},i.prototype.getPublic=function(o){return r.encode(this.pubBytes(),o)},ZD=i,ZD}var JD,Pse;function tTe(){if(Pse)return JD;Pse=1;var r=bo(),e=Kl(),t=e.assert,n=e.cachedProperty,i=e.parseBytes;function s(o,a){this.eddsa=o,typeof a!="object"&&(a=i(a)),Array.isArray(a)&&(a={R:a.slice(0,o.encodingLength),S:a.slice(o.encodingLength)}),t(a.R&&a.S,"Signature without R or S"),o.isPoint(a.R)&&(this._R=a.R),a.S instanceof r&&(this._S=a.S),this._Rencoded=Array.isArray(a.R)?a.R:a.Rencoded,this._Sencoded=Array.isArray(a.S)?a.S:a.Sencoded}return n(s,"S",function(){return this.eddsa.decodeInt(this.Sencoded())}),n(s,"R",function(){return this.eddsa.decodePoint(this.Rencoded())}),n(s,"Rencoded",function(){return this.eddsa.encodePoint(this.R())}),n(s,"Sencoded",function(){return this.eddsa.encodeInt(this.S())}),s.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},s.prototype.toHex=function(){return e.encode(this.toBytes(),"hex").toUpperCase()},JD=s,JD}var YD,Ose;function rTe(){if(Ose)return YD;Ose=1;var r=zD(),e=qD(),t=Kl(),n=t.assert,i=t.parseBytes,s=eTe(),o=tTe();function a(l){if(n(l==="ed25519","only tested with ed25519 so far"),!(this instanceof a))return new a(l);l=e[l].curve,this.curve=l,this.g=l.g,this.g.precompute(l.n.bitLength()+1),this.pointClass=l.point().constructor,this.encodingLength=Math.ceil(l.n.bitLength()/8),this.hash=r.sha512}return YD=a,a.prototype.sign=function(u,h){u=i(u);var p=this.keyFromSecret(h),g=this.hashInt(p.messagePrefix(),u),w=this.g.mul(g),y=this.encodePoint(w),C=this.hashInt(y,p.pubBytes(),u).mul(p.priv()),R=g.add(C).umod(this.curve.n);return this.makeSignature({R:w,S:R,Rencoded:y})},a.prototype.verify=function(u,h,p){u=i(u),h=this.makeSignature(h);var g=this.keyFromPublic(p),w=this.hashInt(h.Rencoded(),g.pubBytes(),u),y=this.g.mul(h.S()),C=h.R().add(g.pub().mul(w));return C.eq(y)},a.prototype.hashInt=function(){for(var u=this.hash(),h=0;h"u")throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof s);return e(s,o,a)}),i.alloc||(i.alloc=function(s,o,a){if(typeof s!="number")throw new TypeError('The "size" argument must be of type number. Received type '+typeof s);if(s<0||s>=2*(1<<30))throw new RangeError('The value "'+s+'" is invalid for option "size"');var l=e(s);return!o||o.length===0?l.fill(0):typeof a=="string"?l.fill(o,a):l.fill(o),l}),!t.kStringMaxLength)try{t.kStringMaxLength=yt.binding("buffer").kStringMaxLength}catch{}return t.constants||(t.constants={MAX_LENGTH:t.kMaxLength},t.kStringMaxLength&&(t.constants.MAX_STRING_LENGTH=t.kStringMaxLength)),r$=t,r$}var i$={},Bse;function s$(){if(Bse)return i$;Bse=1;const r=tn();function e(n){this._reporterState={obj:null,path:[],options:n||{},errors:[]}}i$.Reporter=e,e.prototype.isError=function(i){return i instanceof t},e.prototype.save=function(){const i=this._reporterState;return{obj:i.obj,pathLen:i.path.length}},e.prototype.restore=function(i){const s=this._reporterState;s.obj=i.obj,s.path=s.path.slice(0,i.pathLen)},e.prototype.enterKey=function(i){return this._reporterState.path.push(i)},e.prototype.exitKey=function(i){const s=this._reporterState;s.path=s.path.slice(0,i-1)},e.prototype.leaveKey=function(i,s,o){const a=this._reporterState;this.exitKey(i),a.obj!==null&&(a.obj[s]=o)},e.prototype.path=function(){return this._reporterState.path.join("/")},e.prototype.enterObject=function(){const i=this._reporterState,s=i.obj;return i.obj={},s},e.prototype.leaveObject=function(i){const s=this._reporterState,o=s.obj;return s.obj=i,o},e.prototype.error=function(i){let s;const o=this._reporterState,a=i instanceof t;if(a?s=i:s=new t(o.path.map(function(l){return"["+JSON.stringify(l)+"]"}).join(""),i.message||i,i.stack),!o.options.partial)throw s;return a||o.errors.push(s),s},e.prototype.wrapResult=function(i){const s=this._reporterState;return s.options.partial?{result:this.isError(i)?null:i,errors:s.errors}:i};function t(n,i){this.path=n,this.rethrow(i)}return r(t,Error),t.prototype.rethrow=function(i){if(this.message=i+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,t),!this.stack)try{throw new Error(this.message)}catch(s){this.stack=s.stack}return this},i$}var sS={},Lse;function D6(){if(Lse)return sS;Lse=1;const r=tn(),e=s$().Reporter,t=n$().Buffer;function n(s,o){if(e.call(this,o),!t.isBuffer(s)){this.error("Input not Buffer");return}this.base=s,this.offset=0,this.length=s.length}r(n,e),sS.DecoderBuffer=n,n.isDecoderBuffer=function(o){return o instanceof n?!0:typeof o=="object"&&t.isBuffer(o.base)&&o.constructor.name==="DecoderBuffer"&&typeof o.offset=="number"&&typeof o.length=="number"&&typeof o.save=="function"&&typeof o.restore=="function"&&typeof o.isEmpty=="function"&&typeof o.readUInt8=="function"&&typeof o.skip=="function"&&typeof o.raw=="function"},n.prototype.save=function(){return{offset:this.offset,reporter:e.prototype.save.call(this)}},n.prototype.restore=function(o){const a=new n(this.base);return a.offset=o.offset,a.length=this.offset,this.offset=o.offset,e.prototype.restore.call(this,o.reporter),a},n.prototype.isEmpty=function(){return this.offset===this.length},n.prototype.readUInt8=function(o){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(o||"DecoderBuffer overrun")},n.prototype.skip=function(o,a){if(!(this.offset+o<=this.length))return this.error(a||"DecoderBuffer overrun");const l=new n(this.base);return l._reporterState=this._reporterState,l.offset=this.offset,l.length=this.offset+o,this.offset+=o,l},n.prototype.raw=function(o){return this.base.slice(o?o.offset:this.offset,this.length)};function i(s,o){if(Array.isArray(s))this.length=0,this.value=s.map(function(a){return i.isEncoderBuffer(a)||(a=new i(a,o)),this.length+=a.length,a},this);else if(typeof s=="number"){if(!(0<=s&&s<=255))return o.error("non-byte EncoderBuffer value");this.value=s,this.length=1}else if(typeof s=="string")this.value=s,this.length=t.byteLength(s);else if(t.isBuffer(s))this.value=s,this.length=s.length;else return o.error("Unsupported type: "+typeof s)}return sS.EncoderBuffer=i,i.isEncoderBuffer=function(o){return o instanceof i?!0:typeof o=="object"&&o.constructor.name==="EncoderBuffer"&&typeof o.length=="number"&&typeof o.join=="function"},i.prototype.join=function(o,a){return o||(o=t.alloc(this.length)),a||(a=0),this.length===0||(Array.isArray(this.value)?this.value.forEach(function(l){l.join(o,a),a+=l.length}):(typeof this.value=="number"?o[a]=this.value:typeof this.value=="string"?o.write(this.value,a):t.isBuffer(this.value)&&this.value.copy(o,a),a+=this.length)),o},sS}var o$,Use;function a$(){if(Use)return o$;Use=1;const r=s$().Reporter,e=D6().EncoderBuffer,t=D6().DecoderBuffer,n=Vl(),i=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],s=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(i),o=["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"];function a(u,h,p){const g={};this._baseState=g,g.name=p,g.enc=u,g.parent=h||null,g.children=null,g.tag=null,g.args=null,g.reverseArgs=null,g.choice=null,g.optional=!1,g.any=!1,g.obj=!1,g.use=null,g.useDecoder=null,g.key=null,g.default=null,g.explicit=null,g.implicit=null,g.contains=null,g.parent||(g.children=[],this._wrap())}o$=a;const l=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];return a.prototype.clone=function(){const h=this._baseState,p={};l.forEach(function(w){p[w]=h[w]});const g=new this.constructor(p.parent);return g._baseState=p,g},a.prototype._wrap=function(){const h=this._baseState;s.forEach(function(p){this[p]=function(){const w=new this.constructor(this);return h.children.push(w),w[p].apply(w,arguments)}},this)},a.prototype._init=function(h){const p=this._baseState;n(p.parent===null),h.call(this),p.children=p.children.filter(function(g){return g._baseState.parent===this},this),n.equal(p.children.length,1,"Root node can have only one child")},a.prototype._useArgs=function(h){const p=this._baseState,g=h.filter(function(w){return w instanceof this.constructor},this);h=h.filter(function(w){return!(w instanceof this.constructor)},this),g.length!==0&&(n(p.children===null),p.children=g,g.forEach(function(w){w._baseState.parent=this},this)),h.length!==0&&(n(p.args===null),p.args=h,p.reverseArgs=h.map(function(w){if(typeof w!="object"||w.constructor!==Object)return w;const y={};return Object.keys(w).forEach(function(C){C==(C|0)&&(C|=0);const R=w[C];y[R]=C}),y}))},o.forEach(function(u){a.prototype[u]=function(){const p=this._baseState;throw new Error(u+" not implemented for encoding: "+p.enc)}}),i.forEach(function(u){a.prototype[u]=function(){const p=this._baseState,g=Array.prototype.slice.call(arguments);return n(p.tag===null),p.tag=u,this._useArgs(g),this}}),a.prototype.use=function(h){n(h);const p=this._baseState;return n(p.use===null),p.use=h,this},a.prototype.optional=function(){const h=this._baseState;return h.optional=!0,this},a.prototype.def=function(h){const p=this._baseState;return n(p.default===null),p.default=h,p.optional=!0,this},a.prototype.explicit=function(h){const p=this._baseState;return n(p.explicit===null&&p.implicit===null),p.explicit=h,this},a.prototype.implicit=function(h){const p=this._baseState;return n(p.explicit===null&&p.implicit===null),p.implicit=h,this},a.prototype.obj=function(){const h=this._baseState,p=Array.prototype.slice.call(arguments);return h.obj=!0,p.length!==0&&this._useArgs(p),this},a.prototype.key=function(h){const p=this._baseState;return n(p.key===null),p.key=h,this},a.prototype.any=function(){const h=this._baseState;return h.any=!0,this},a.prototype.choice=function(h){const p=this._baseState;return n(p.choice===null),p.choice=h,this._useArgs(Object.keys(h).map(function(g){return h[g]})),this},a.prototype.contains=function(h){const p=this._baseState;return n(p.use===null),p.contains=h,this},a.prototype._decode=function(h,p){const g=this._baseState;if(g.parent===null)return h.wrapResult(g.children[0]._decode(h,p));let w=g.default,y=!0,C=null;if(g.key!==null&&(C=h.enterKey(g.key)),g.optional){let k=null;if(g.explicit!==null?k=g.explicit:g.implicit!==null?k=g.implicit:g.tag!==null&&(k=g.tag),k===null&&!g.any){const M=h.save();try{g.choice===null?this._decodeGeneric(g.tag,h,p):this._decodeChoice(h,p),y=!0}catch{y=!1}h.restore(M)}else if(y=this._peekTag(h,k,g.any),h.isError(y))return y}let R;if(g.obj&&y&&(R=h.enterObject()),y){if(g.explicit!==null){const M=this._decodeTag(h,g.explicit);if(h.isError(M))return M;h=M}const k=h.offset;if(g.use===null&&g.choice===null){let M;g.any&&(M=h.save());const O=this._decodeTag(h,g.implicit!==null?g.implicit:g.tag,g.any);if(h.isError(O))return O;g.any?w=h.raw(M):h=O}if(p&&p.track&&g.tag!==null&&p.track(h.path(),k,h.length,"tagged"),p&&p.track&&g.tag!==null&&p.track(h.path(),h.offset,h.length,"content"),g.any||(g.choice===null?w=this._decodeGeneric(g.tag,h,p):w=this._decodeChoice(h,p)),h.isError(w))return w;if(!g.any&&g.choice===null&&g.children!==null&&g.children.forEach(function(O){O._decode(h,p)}),g.contains&&(g.tag==="octstr"||g.tag==="bitstr")){const M=new t(w);w=this._getUse(g.contains,h._reporterState.obj)._decode(M,p)}}return g.obj&&y&&(w=h.leaveObject(R)),g.key!==null&&(w!==null||y===!0)?h.leaveKey(C,g.key,w):C!==null&&h.exitKey(C),w},a.prototype._decodeGeneric=function(h,p,g){const w=this._baseState;return h==="seq"||h==="set"?null:h==="seqof"||h==="setof"?this._decodeList(p,h,w.args[0],g):/str$/.test(h)?this._decodeStr(p,h,g):h==="objid"&&w.args?this._decodeObjid(p,w.args[0],w.args[1],g):h==="objid"?this._decodeObjid(p,null,null,g):h==="gentime"||h==="utctime"?this._decodeTime(p,h,g):h==="null_"?this._decodeNull(p,g):h==="bool"?this._decodeBool(p,g):h==="objDesc"?this._decodeStr(p,h,g):h==="int"||h==="enum"?this._decodeInt(p,w.args&&w.args[0],g):w.use!==null?this._getUse(w.use,p._reporterState.obj)._decode(p,g):p.error("unknown tag: "+h)},a.prototype._getUse=function(h,p){const g=this._baseState;return g.useDecoder=this._use(h,p),n(g.useDecoder._baseState.parent===null),g.useDecoder=g.useDecoder._baseState.children[0],g.implicit!==g.useDecoder._baseState.implicit&&(g.useDecoder=g.useDecoder.clone(),g.useDecoder._baseState.implicit=g.implicit),g.useDecoder},a.prototype._decodeChoice=function(h,p){const g=this._baseState;let w=null,y=!1;return Object.keys(g.choice).some(function(C){const R=h.save(),k=g.choice[C];try{const M=k._decode(h,p);if(h.isError(M))return!1;w={type:C,value:M},y=!0}catch{return h.restore(R),!1}return!0},this),y?w:h.error("Choice not matched")},a.prototype._createEncoderBuffer=function(h){return new e(h,this.reporter)},a.prototype._encode=function(h,p,g){const w=this._baseState;if(w.default!==null&&w.default===h)return;const y=this._encodeValue(h,p,g);if(y!==void 0&&!this._skipDefault(y,p,g))return y},a.prototype._encodeValue=function(h,p,g){const w=this._baseState;if(w.parent===null)return w.children[0]._encode(h,p||new r);let y=null;if(this.reporter=p,w.optional&&h===void 0)if(w.default!==null)h=w.default;else return;let C=null,R=!1;if(w.any)y=this._createEncoderBuffer(h);else if(w.choice)y=this._encodeChoice(h,p);else if(w.contains)C=this._getUse(w.contains,g)._encode(h,p),R=!0;else if(w.children)C=w.children.map(function(k){if(k._baseState.tag==="null_")return k._encode(null,p,h);if(k._baseState.key===null)return p.error("Child should have a key");const M=p.enterKey(k._baseState.key);if(typeof h!="object")return p.error("Child expected, but input is not object");const O=k._encode(h[k._baseState.key],p,h);return p.leaveKey(M),O},this).filter(function(k){return k}),C=this._createEncoderBuffer(C);else if(w.tag==="seqof"||w.tag==="setof"){if(!(w.args&&w.args.length===1))return p.error("Too many args for : "+w.tag);if(!Array.isArray(h))return p.error("seqof/setof, but data is not Array");const k=this.clone();k._baseState.implicit=null,C=this._createEncoderBuffer(h.map(function(M){const O=this._baseState;return this._getUse(O.args[0],h)._encode(M,p)},k))}else w.use!==null?y=this._getUse(w.use,g)._encode(h,p):(C=this._encodePrimitive(w.tag,h),R=!0);if(!w.any&&w.choice===null){const k=w.implicit!==null?w.implicit:w.tag,M=w.implicit===null?"universal":"context";k===null?w.use===null&&p.error("Tag could be omitted only for .use()"):w.use===null&&(y=this._encodeComposite(k,R,M,C))}return w.explicit!==null&&(y=this._encodeComposite(w.explicit,!1,"context",y)),y},a.prototype._encodeChoice=function(h,p){const g=this._baseState,w=g.choice[h.type];return w||n(!1,h.type+" not found in "+JSON.stringify(Object.keys(g.choice))),w._encode(h.value,p)},a.prototype._encodePrimitive=function(h,p){const g=this._baseState;if(/str$/.test(h))return this._encodeStr(p,h);if(h==="objid"&&g.args)return this._encodeObjid(p,g.reverseArgs[0],g.args[1]);if(h==="objid")return this._encodeObjid(p,null,null);if(h==="gentime"||h==="utctime")return this._encodeTime(p,h);if(h==="null_")return this._encodeNull();if(h==="int"||h==="enum")return this._encodeInt(p,g.args&&g.reverseArgs[0]);if(h==="bool")return this._encodeBool(p);if(h==="objDesc")return this._encodeStr(p,h);throw new Error("Unsupported tag: "+h)},a.prototype._isNumstr=function(h){return/^[0-9 ]*$/.test(h)},a.prototype._isPrintstr=function(h){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(h)},o$}var c$={},Fse;function l$(){return Fse||(Fse=1,function(r){function e(t){const n={};return Object.keys(t).forEach(function(i){(i|0)==i&&(i=i|0);const s=t[i];n[s]=i}),n}r.tagClass={0:"universal",1:"application",2:"context",3:"private"},r.tagClassByName=e(r.tagClass),r.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},r.tagByName=e(r.tag)}(c$)),c$}var u$,jse;function zse(){if(jse)return u$;jse=1;const r=tn(),e=n$().Buffer,t=a$(),n=l$();function i(l){this.enc="der",this.name=l.name,this.entity=l,this.tree=new s,this.tree._init(l.body)}u$=i,i.prototype.encode=function(u,h){return this.tree._encode(u,h).join()};function s(l){t.call(this,"der",l)}r(s,t),s.prototype._encodeComposite=function(u,h,p,g){const w=a(u,h,p,this.reporter);if(g.length<128){const R=e.alloc(2);return R[0]=w,R[1]=g.length,this._createEncoderBuffer([R,g])}let y=1;for(let R=g.length;R>=256;R>>=8)y++;const C=e.alloc(2+y);C[0]=w,C[1]=128|y;for(let R=1+y,k=g.length;k>0;R--,k>>=8)C[R]=k&255;return this._createEncoderBuffer([C,g])},s.prototype._encodeStr=function(u,h){if(h==="bitstr")return this._createEncoderBuffer([u.unused|0,u.data]);if(h==="bmpstr"){const p=e.alloc(u.length*2);for(let g=0;g=40)return this.reporter.error("Second objid identifier OOB");u.splice(0,2,u[0]*40+u[1])}let g=0;for(let C=0;C=128;R>>=7)g++}const w=e.alloc(g);let y=w.length-1;for(let C=u.length-1;C>=0;C--){let R=u[C];for(w[y--]=R&127;(R>>=7)>0;)w[y--]=128|R&127}return this._createEncoderBuffer(w)};function o(l){return l<10?"0"+l:l}s.prototype._encodeTime=function(u,h){let p;const g=new Date(u);return h==="gentime"?p=[o(g.getUTCFullYear()),o(g.getUTCMonth()+1),o(g.getUTCDate()),o(g.getUTCHours()),o(g.getUTCMinutes()),o(g.getUTCSeconds()),"Z"].join(""):h==="utctime"?p=[o(g.getUTCFullYear()%100),o(g.getUTCMonth()+1),o(g.getUTCDate()),o(g.getUTCHours()),o(g.getUTCMinutes()),o(g.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+h+" time is not supported yet"),this._encodeStr(p,"octstr")},s.prototype._encodeNull=function(){return this._createEncoderBuffer("")},s.prototype._encodeInt=function(u,h){if(typeof u=="string"){if(!h)return this.reporter.error("String int or enum given, but no values map");if(!h.hasOwnProperty(u))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(u));u=h[u]}if(typeof u!="number"&&!e.isBuffer(u)){const w=u.toArray();!u.sign&&w[0]&128&&w.unshift(0),u=e.from(w)}if(e.isBuffer(u)){let w=u.length;u.length===0&&w++;const y=e.alloc(w);return u.copy(y),u.length===0&&(y[0]=0),this._createEncoderBuffer(y)}if(u<128)return this._createEncoderBuffer(u);if(u<256)return this._createEncoderBuffer([0,u]);let p=1;for(let w=u;w>=256;w>>=8)p++;const g=new Array(p);for(let w=g.length-1;w>=0;w--)g[w]=u&255,u>>=8;return g[0]&128&&g.unshift(0),this._createEncoderBuffer(e.from(g))},s.prototype._encodeBool=function(u){return this._createEncoderBuffer(u?255:0)},s.prototype._use=function(u,h){return typeof u=="function"&&(u=u(h)),u._getEncoder("der").tree},s.prototype._skipDefault=function(u,h,p){const g=this._baseState;let w;if(g.default===null)return!1;const y=u.join();if(g.defaultBuffer===void 0&&(g.defaultBuffer=this._encodeValue(g.default,h,p).join()),y.length!==g.defaultBuffer.length)return!1;for(w=0;w=31?p.error("Multi-octet tag encoding unsupported"):(u||(g|=32),g|=n.tagClassByName[h||"universal"]<<6,g)}return u$}var h$,Hse;function nTe(){if(Hse)return h$;Hse=1;const r=tn(),e=zse();function t(n){e.call(this,n),this.enc="pem"}return r(t,e),h$=t,t.prototype.encode=function(i,s){const a=e.prototype.encode.call(this,i).toString("base64"),l=["-----BEGIN "+s.label+"-----"];for(let u=0;u>6],w=(p&32)===0;if((p&31)===31){let C=p;for(p=0;(C&128)===128;){if(C=u.readUInt8(h),u.isError(C))return C;p<<=7,p|=C&127}}else p&=31;const y=i.tag[p];return{cls:g,primitive:w,tag:p,tagStr:y}}function l(u,h,p){let g=u.readUInt8(p);if(u.isError(g))return g;if(!h&&g===128)return null;if(!(g&128))return g;const w=g&127;if(w>4)return u.error("length octect is too long");g=0;for(let y=0;y0&&O.ishrn(B),O}function y(k,M){k=w(k,M),k=k.mod(M);var O=r.from(k.toArray());if(O.length=0)throw new Error("invalid sig")}return y$=s,y$}var x$,loe;function pTe(){if(loe)return x$;loe=1;var r=nn().Buffer,e=M6(),t=Tne(),n=tn(),i=fTe(),s=dTe(),o=Qne;Object.keys(o).forEach(function(p){o[p].id=r.from(o[p].id,"hex"),o[p.toLowerCase()]=o[p]});function a(p){t.Writable.call(this);var g=o[p];if(!g)throw new Error("Unknown message digest");this._hashType=g.hash,this._hash=e(g.hash),this._tag=g.id,this._signType=g.sign}n(a,t.Writable),a.prototype._write=function(g,w,y){this._hash.update(g),y()},a.prototype.update=function(g,w){return this._hash.update(typeof g=="string"?r.from(g,w):g),this},a.prototype.sign=function(g,w){this.end();var y=this._hash.digest(),C=i(y,g,this._hashType,this._signType,this._tag);return w?C.toString(w):C};function l(p){t.Writable.call(this);var g=o[p];if(!g)throw new Error("Unknown message digest");this._hash=e(g.hash),this._tag=g.id,this._signType=g.sign}n(l,t.Writable),l.prototype._write=function(g,w,y){this._hash.update(g),y()},l.prototype.update=function(g,w){return this._hash.update(typeof g=="string"?r.from(g,w):g),this},l.prototype.verify=function(g,w,y){var C=typeof w=="string"?r.from(w,y):w;this.end();var R=this._hash.digest();return s(C,R,g,this._signType,this._tag)};function u(p){return new a(p)}function h(p){return new l(p)}return x$={Sign:u,Verify:h,createSign:u,createVerify:h},x$}var _$,uoe;function gTe(){if(uoe)return _$;uoe=1;var r=QD(),e=bo();_$=function(o){return new n(o)};var t={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};t.p224=t.secp224r1,t.p256=t.secp256r1=t.prime256v1,t.p192=t.secp192r1=t.prime192v1,t.p384=t.secp384r1,t.p521=t.secp521r1;function n(s){this.curveType=t[s],this.curveType||(this.curveType={name:s}),this.curve=new r.ec(this.curveType.name),this.keys=void 0}n.prototype.generateKeys=function(s,o){return this.keys=this.curve.genKeyPair(),this.getPublicKey(s,o)},n.prototype.computeSecret=function(s,o,a){o=o||"utf8",$t.isBuffer(s)||(s=new $t(s,o));var l=this.curve.keyFromPublic(s).getPublic(),u=l.mul(this.keys.getPrivate()).getX();return i(u,a,this.curveType.byteLength)},n.prototype.getPublicKey=function(s,o){var a=this.keys.getPublic(o==="compressed",!0);return o==="hybrid"&&(a[a.length-1]%2?a[0]=7:a[0]=6),i(a,s)},n.prototype.getPrivateKey=function(s){return i(this.keys.getPrivate(),s)},n.prototype.setPublicKey=function(s,o){return o=o||"utf8",$t.isBuffer(s)||(s=new $t(s,o)),this.keys._importPublic(s),this},n.prototype.setPrivateKey=function(s,o){o=o||"utf8",$t.isBuffer(s)||(s=new $t(s,o));var a=new e(s);return a=a.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(a),this};function i(s,o,a){Array.isArray(s)||(s=s.toArray());var l=new $t(s);if(a&&l.length=0)throw new Error("data too long for modulus")}else throw new Error("unknown padding");return C?a(M,k):o(M,k)};function u(g,w){var y=g.modulus.byteLength(),C=w.length,R=t("sha1").update(l.alloc(0)).digest(),k=R.length,M=2*k;if(C>y-M-2)throw new Error("message too long");var O=l.alloc(y-C-M-2),B=y-k-1,j=e(k),G=i(l.concat([R,O,l.alloc(1,1),w],B),n(j,B)),D=i(j,n(G,k));return new s(l.concat([l.alloc(1),D,G],y))}function h(g,w,y){var C=w.length,R=g.modulus.byteLength();if(C>R-11)throw new Error("message too long");var k;return y?k=l.alloc(R-C-3,255):k=p(R-C-3),new s(l.concat([l.from([0,y?1:2]),k,l.alloc(1),w],R))}function p(g){for(var w=l.allocUnsafe(g),y=0,C=e(g*2),R=0,k;yk||new n(w).cmp(R.modulus)>=0)throw new Error("decryption error");var M;y?M=o(new n(w),R):M=i(w,R);var O=a.alloc(k-M.length);if(M=a.concat([O,M],k),C===4)return l(R,M);if(C===1)return u(R,M,y);if(C===3)return M;throw new Error("unknown padding")};function l(p,g){var w=p.modulus.byteLength(),y=s("sha1").update(a.alloc(0)).digest(),C=y.length;if(g[0]!==0)throw new Error("decryption error");var R=g.slice(1,C+1),k=g.slice(C+1),M=t(R,e(k,C)),O=t(k,e(M,w-C-1));if(h(y,O.slice(0,C)))throw new Error("decryption error");for(var B=C;O[B]===0;)B++;if(O[B++]!==1)throw new Error("decryption error");return O.slice(B)}function u(p,g,w){for(var y=g.slice(0,2),C=2,R=0;g[C++]!==0;)if(C>=g.length){R++;break}var k=g.slice(2,C-1);if((y.toString("hex")!=="0002"&&!w||y.toString("hex")!=="0001"&&w)&&R++,k.length<8&&R++,R)throw new Error("decryption error");return g.slice(C)}function h(p,g){p=a.from(p),g=a.from(g);var w=0,y=p.length;p.length!==g.length&&(w++,y=Math.min(p.length,g.length));for(var C=-1;++Co||g<0)throw new TypeError("offset must be a uint32");if(g>i||g>w)throw new RangeError("offset out of range")}function l(g,w,y){if(typeof g!="number"||g!==g)throw new TypeError("size must be a number");if(g>o||g<0)throw new TypeError("size must be a uint32");if(g+w>y||g>i)throw new RangeError("buffer too small")}s&&s.getRandomValues||!yt.browser?(sy.randomFill=u,sy.randomFillSync=p):(sy.randomFill=r,sy.randomFillSync=r);function u(g,w,y,C){if(!n.isBuffer(g)&&!(g instanceof ct.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if(typeof w=="function")C=w,w=0,y=g.length;else if(typeof y=="function")C=y,y=g.length-w;else if(typeof C!="function")throw new TypeError('"cb" argument must be a function');return a(w,g.length),l(y,w,g.length),h(g,w,y,C)}function h(g,w,y,C){if(yt.browser){var R=g.buffer,k=new Uint8Array(R,w,y);if(s.getRandomValues(k),C){yt.nextTick(function(){C(null,g)});return}return g}if(C){t(y,function(O,B){if(O)return C(O);B.copy(g,w),C(null,g)});return}var M=t(y);return M.copy(g,w),g}function p(g,w,y){if(typeof w>"u"&&(w=0),!n.isBuffer(g)&&!(g instanceof ct.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');return a(w,g.length),y===void 0&&(y=g.length-w),l(y,w,g.length),h(g,w,y)}return sy}var xoe;function _oe(){if(xoe)return Jr;xoe=1,Jr.randomBytes=Jr.rng=Jr.pseudoRandomBytes=Jr.prng=ry(),Jr.createHash=Jr.Hash=M6(),Jr.createHmac=Jr.Hmac=Yne();var r=vRe(),e=Object.keys(r),t=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(e);Jr.getHashes=function(){return t};var n=uie();Jr.pbkdf2=n.pbkdf2,Jr.pbkdf2Sync=n.pbkdf2Sync;var i=DRe();Jr.Cipher=i.Cipher,Jr.createCipher=i.createCipher,Jr.Cipheriv=i.Cipheriv,Jr.createCipheriv=i.createCipheriv,Jr.Decipher=i.Decipher,Jr.createDecipher=i.createDecipher,Jr.Decipheriv=i.Decipheriv,Jr.createDecipheriv=i.createDecipheriv,Jr.getCiphers=i.getCiphers,Jr.listCiphers=i.listCiphers;var s=LRe();Jr.DiffieHellmanGroup=s.DiffieHellmanGroup,Jr.createDiffieHellmanGroup=s.createDiffieHellmanGroup,Jr.getDiffieHellman=s.getDiffieHellman,Jr.createDiffieHellman=s.createDiffieHellman,Jr.DiffieHellman=s.DiffieHellman;var o=pTe();Jr.createSign=o.createSign,Jr.Sign=o.Sign,Jr.createVerify=o.createVerify,Jr.Verify=o.Verify,Jr.createECDH=gTe();var a=wTe();Jr.publicEncrypt=a.publicEncrypt,Jr.privateEncrypt=a.privateEncrypt,Jr.publicDecrypt=a.publicDecrypt,Jr.privateDecrypt=a.privateDecrypt;var l=vTe();return Jr.randomFill=l.randomFill,Jr.randomFillSync=l.randomFillSync,Jr.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join(` -`))},Jr.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6},Jr}Object.defineProperty(FC,"__esModule",{value:!0}),FC.NodeRandomSource=void 0;const yTe=zc;class xTe{constructor(){if(this.isAvailable=!1,this.isInstantiated=!1,typeof jIe<"u"){const e=_oe();e&&e.randomBytes&&(this._crypto=e,this.isAvailable=!0,this.isInstantiated=!0)}}randomBytes(e){if(!this.isAvailable||!this._crypto)throw new Error("Node.js random byte generator is not available.");let t=this._crypto.randomBytes(e);if(t.length!==e)throw new Error("NodeRandomSource: got fewer bytes than requested");const n=new Uint8Array(e);for(let i=0;i256)throw new Error("randomString charset is too long");let g="";const w=h.length,y=256-256%w;for(;u>0;){const C=i(Math.ceil(u*256/y),p);for(let R=0;R0;R++){const k=C[R];k0){for(;this._bufferLength0;)this._buffer[this._bufferLength++]=l[h++],u--;this._bufferLength===this.blockSize&&(s(this._temp,this._state,this._buffer,0,this.blockSize),this._bufferLength=0)}for(u>=this.blockSize&&(h=s(this._temp,this._state,l,h,u),u%=this.blockSize);u>0;)this._buffer[this._bufferLength++]=l[h++],u--;return this},a.prototype.finish=function(l){if(!this._finished){var u=this._bytesHashed,h=this._bufferLength,p=u/536870912|0,g=u<<3,w=u%64<56?64:128;this._buffer[h]=128;for(var y=h+1;y0?new Uint8Array(this._buffer):void 0,bufferLength:this._bufferLength,bytesHashed:this._bytesHashed}},a.prototype.restoreState=function(l){return this._state.set(l.state),this._bufferLength=l.bufferLength,l.buffer&&this._buffer.set(l.buffer),this._bytesHashed=l.bytesHashed,this._finished=!1,this},a.prototype.cleanSavedState=function(l){t.wipe(l.state),l.buffer&&t.wipe(l.buffer),l.bufferLength=0,l.bytesHashed=0},a}();r.SHA256=n;var i=new Int32Array([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,2756734187,3204031479,3329325298]);function s(a,l,u,h,p){for(;p>=64;){for(var g=l[0],w=l[1],y=l[2],C=l[3],R=l[4],k=l[5],M=l[6],O=l[7],B=0;B<16;B++){var j=h+B*4;a[B]=e.readUint32BE(u,j)}for(var B=16;B<64;B++){var G=a[B-2],D=(G>>>17|G<<15)^(G>>>19|G<<13)^G>>>10;G=a[B-15];var $=(G>>>7|G<<25)^(G>>>18|G<<14)^G>>>3;a[B]=(D+a[B-7]|0)+($+a[B-16]|0)}for(var B=0;B<64;B++){var D=(((R>>>6|R<<26)^(R>>>11|R<<21)^(R>>>25|R<<7))+(R&k^~R&M)|0)+(O+(i[B]+a[B]|0)|0)|0,$=((g>>>2|g<<30)^(g>>>13|g<<19)^(g>>>22|g<<10))+(g&w^g&y^w&y)|0;O=M,M=k,k=R,R=C+D|0,C=y,y=w,w=g,g=D+$|0}l[0]+=g,l[1]+=w,l[2]+=y,l[3]+=C,l[4]+=R,l[5]+=k,l[6]+=M,l[7]+=O,h+=64,p-=64}return h}function o(a){var l=new n;l.update(a);var u=l.digest();return l.clean(),u}r.hash=o})(Tm);var $6={};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.sharedKey=r.generateKeyPair=r.generateKeyPairFromSeed=r.scalarMultBase=r.scalarMult=r.SHARED_KEY_LENGTH=r.SECRET_KEY_LENGTH=r.PUBLIC_KEY_LENGTH=void 0;const e=h1,t=zc;r.PUBLIC_KEY_LENGTH=32,r.SECRET_KEY_LENGTH=32,r.SHARED_KEY_LENGTH=32;function n(B){const j=new Float64Array(16);if(B)for(let G=0;G>16&1),G[te-1]&=65535;G[15]=D[15]-32767-(G[14]>>16&1);const V=G[15]>>16&1;G[14]&=65535,a(D,G,1-V)}for(let $=0;$<16;$++)B[2*$]=D[$]&255,B[2*$+1]=D[$]>>8}function u(B,j){for(let G=0;G<16;G++)B[G]=j[2*G]+(j[2*G+1]<<8);B[15]&=32767}function h(B,j,G){for(let D=0;D<16;D++)B[D]=j[D]+G[D]}function p(B,j,G){for(let D=0;D<16;D++)B[D]=j[D]-G[D]}function g(B,j,G){let D,$,V=0,te=0,W=0,P=0,b=0,d=0,m=0,x=0,A=0,I=0,T=0,S=0,E=0,_=0,U=0,ie=0,q=0,Y=0,K=0,ee=0,re=0,z=0,L=0,H=0,le=0,de=0,Se=0,Me=0,ke=0,Ke=0,Te=0,je=G[0],De=G[1],Je=G[2],ze=G[3],qe=G[4],Ve=G[5],He=G[6],Be=G[7],Ge=G[8],Xe=G[9],se=G[10],J=G[11],Q=G[12],ue=G[13],we=G[14],ye=G[15];D=j[0],V+=D*je,te+=D*De,W+=D*Je,P+=D*ze,b+=D*qe,d+=D*Ve,m+=D*He,x+=D*Be,A+=D*Ge,I+=D*Xe,T+=D*se,S+=D*J,E+=D*Q,_+=D*ue,U+=D*we,ie+=D*ye,D=j[1],te+=D*je,W+=D*De,P+=D*Je,b+=D*ze,d+=D*qe,m+=D*Ve,x+=D*He,A+=D*Be,I+=D*Ge,T+=D*Xe,S+=D*se,E+=D*J,_+=D*Q,U+=D*ue,ie+=D*we,q+=D*ye,D=j[2],W+=D*je,P+=D*De,b+=D*Je,d+=D*ze,m+=D*qe,x+=D*Ve,A+=D*He,I+=D*Be,T+=D*Ge,S+=D*Xe,E+=D*se,_+=D*J,U+=D*Q,ie+=D*ue,q+=D*we,Y+=D*ye,D=j[3],P+=D*je,b+=D*De,d+=D*Je,m+=D*ze,x+=D*qe,A+=D*Ve,I+=D*He,T+=D*Be,S+=D*Ge,E+=D*Xe,_+=D*se,U+=D*J,ie+=D*Q,q+=D*ue,Y+=D*we,K+=D*ye,D=j[4],b+=D*je,d+=D*De,m+=D*Je,x+=D*ze,A+=D*qe,I+=D*Ve,T+=D*He,S+=D*Be,E+=D*Ge,_+=D*Xe,U+=D*se,ie+=D*J,q+=D*Q,Y+=D*ue,K+=D*we,ee+=D*ye,D=j[5],d+=D*je,m+=D*De,x+=D*Je,A+=D*ze,I+=D*qe,T+=D*Ve,S+=D*He,E+=D*Be,_+=D*Ge,U+=D*Xe,ie+=D*se,q+=D*J,Y+=D*Q,K+=D*ue,ee+=D*we,re+=D*ye,D=j[6],m+=D*je,x+=D*De,A+=D*Je,I+=D*ze,T+=D*qe,S+=D*Ve,E+=D*He,_+=D*Be,U+=D*Ge,ie+=D*Xe,q+=D*se,Y+=D*J,K+=D*Q,ee+=D*ue,re+=D*we,z+=D*ye,D=j[7],x+=D*je,A+=D*De,I+=D*Je,T+=D*ze,S+=D*qe,E+=D*Ve,_+=D*He,U+=D*Be,ie+=D*Ge,q+=D*Xe,Y+=D*se,K+=D*J,ee+=D*Q,re+=D*ue,z+=D*we,L+=D*ye,D=j[8],A+=D*je,I+=D*De,T+=D*Je,S+=D*ze,E+=D*qe,_+=D*Ve,U+=D*He,ie+=D*Be,q+=D*Ge,Y+=D*Xe,K+=D*se,ee+=D*J,re+=D*Q,z+=D*ue,L+=D*we,H+=D*ye,D=j[9],I+=D*je,T+=D*De,S+=D*Je,E+=D*ze,_+=D*qe,U+=D*Ve,ie+=D*He,q+=D*Be,Y+=D*Ge,K+=D*Xe,ee+=D*se,re+=D*J,z+=D*Q,L+=D*ue,H+=D*we,le+=D*ye,D=j[10],T+=D*je,S+=D*De,E+=D*Je,_+=D*ze,U+=D*qe,ie+=D*Ve,q+=D*He,Y+=D*Be,K+=D*Ge,ee+=D*Xe,re+=D*se,z+=D*J,L+=D*Q,H+=D*ue,le+=D*we,de+=D*ye,D=j[11],S+=D*je,E+=D*De,_+=D*Je,U+=D*ze,ie+=D*qe,q+=D*Ve,Y+=D*He,K+=D*Be,ee+=D*Ge,re+=D*Xe,z+=D*se,L+=D*J,H+=D*Q,le+=D*ue,de+=D*we,Se+=D*ye,D=j[12],E+=D*je,_+=D*De,U+=D*Je,ie+=D*ze,q+=D*qe,Y+=D*Ve,K+=D*He,ee+=D*Be,re+=D*Ge,z+=D*Xe,L+=D*se,H+=D*J,le+=D*Q,de+=D*ue,Se+=D*we,Me+=D*ye,D=j[13],_+=D*je,U+=D*De,ie+=D*Je,q+=D*ze,Y+=D*qe,K+=D*Ve,ee+=D*He,re+=D*Be,z+=D*Ge,L+=D*Xe,H+=D*se,le+=D*J,de+=D*Q,Se+=D*ue,Me+=D*we,ke+=D*ye,D=j[14],U+=D*je,ie+=D*De,q+=D*Je,Y+=D*ze,K+=D*qe,ee+=D*Ve,re+=D*He,z+=D*Be,L+=D*Ge,H+=D*Xe,le+=D*se,de+=D*J,Se+=D*Q,Me+=D*ue,ke+=D*we,Ke+=D*ye,D=j[15],ie+=D*je,q+=D*De,Y+=D*Je,K+=D*ze,ee+=D*qe,re+=D*Ve,z+=D*He,L+=D*Be,H+=D*Ge,le+=D*Xe,de+=D*se,Se+=D*J,Me+=D*Q,ke+=D*ue,Ke+=D*we,Te+=D*ye,V+=38*q,te+=38*Y,W+=38*K,P+=38*ee,b+=38*re,d+=38*z,m+=38*L,x+=38*H,A+=38*le,I+=38*de,T+=38*Se,S+=38*Me,E+=38*ke,_+=38*Ke,U+=38*Te,$=1,D=V+$+65535,$=Math.floor(D/65536),V=D-$*65536,D=te+$+65535,$=Math.floor(D/65536),te=D-$*65536,D=W+$+65535,$=Math.floor(D/65536),W=D-$*65536,D=P+$+65535,$=Math.floor(D/65536),P=D-$*65536,D=b+$+65535,$=Math.floor(D/65536),b=D-$*65536,D=d+$+65535,$=Math.floor(D/65536),d=D-$*65536,D=m+$+65535,$=Math.floor(D/65536),m=D-$*65536,D=x+$+65535,$=Math.floor(D/65536),x=D-$*65536,D=A+$+65535,$=Math.floor(D/65536),A=D-$*65536,D=I+$+65535,$=Math.floor(D/65536),I=D-$*65536,D=T+$+65535,$=Math.floor(D/65536),T=D-$*65536,D=S+$+65535,$=Math.floor(D/65536),S=D-$*65536,D=E+$+65535,$=Math.floor(D/65536),E=D-$*65536,D=_+$+65535,$=Math.floor(D/65536),_=D-$*65536,D=U+$+65535,$=Math.floor(D/65536),U=D-$*65536,D=ie+$+65535,$=Math.floor(D/65536),ie=D-$*65536,V+=$-1+37*($-1),$=1,D=V+$+65535,$=Math.floor(D/65536),V=D-$*65536,D=te+$+65535,$=Math.floor(D/65536),te=D-$*65536,D=W+$+65535,$=Math.floor(D/65536),W=D-$*65536,D=P+$+65535,$=Math.floor(D/65536),P=D-$*65536,D=b+$+65535,$=Math.floor(D/65536),b=D-$*65536,D=d+$+65535,$=Math.floor(D/65536),d=D-$*65536,D=m+$+65535,$=Math.floor(D/65536),m=D-$*65536,D=x+$+65535,$=Math.floor(D/65536),x=D-$*65536,D=A+$+65535,$=Math.floor(D/65536),A=D-$*65536,D=I+$+65535,$=Math.floor(D/65536),I=D-$*65536,D=T+$+65535,$=Math.floor(D/65536),T=D-$*65536,D=S+$+65535,$=Math.floor(D/65536),S=D-$*65536,D=E+$+65535,$=Math.floor(D/65536),E=D-$*65536,D=_+$+65535,$=Math.floor(D/65536),_=D-$*65536,D=U+$+65535,$=Math.floor(D/65536),U=D-$*65536,D=ie+$+65535,$=Math.floor(D/65536),ie=D-$*65536,V+=$-1+37*($-1),B[0]=V,B[1]=te,B[2]=W,B[3]=P,B[4]=b,B[5]=d,B[6]=m,B[7]=x,B[8]=A,B[9]=I,B[10]=T,B[11]=S,B[12]=E,B[13]=_,B[14]=U,B[15]=ie}function w(B,j){g(B,j,j)}function y(B,j){const G=n();for(let D=0;D<16;D++)G[D]=j[D];for(let D=253;D>=0;D--)w(G,G),D!==2&&D!==4&&g(G,G,j);for(let D=0;D<16;D++)B[D]=G[D]}function C(B,j){const G=new Uint8Array(32),D=new Float64Array(80),$=n(),V=n(),te=n(),W=n(),P=n(),b=n();for(let A=0;A<31;A++)G[A]=B[A];G[31]=B[31]&127|64,G[0]&=248,u(D,j);for(let A=0;A<16;A++)V[A]=D[A];$[0]=W[0]=1;for(let A=254;A>=0;--A){const I=G[A>>>3]>>>(A&7)&1;a($,V,I),a(te,W,I),h(P,$,te),p($,$,te),h(te,V,W),p(V,V,W),w(W,P),w(b,$),g($,te,$),g(te,V,P),h(P,$,te),p($,$,te),w(V,$),p(te,W,b),g($,te,s),h($,$,W),g(te,te,$),g($,W,b),g(W,V,D),w(V,P),a($,V,I),a(te,W,I)}for(let A=0;A<16;A++)D[A+16]=$[A],D[A+32]=te[A],D[A+48]=V[A],D[A+64]=W[A];const d=D.subarray(32),m=D.subarray(16);y(d,d),g(m,m,d);const x=new Uint8Array(32);return l(x,m),x}r.scalarMult=C;function R(B){return C(B,i)}r.scalarMultBase=R;function k(B){if(B.length!==r.SECRET_KEY_LENGTH)throw new Error(`x25519: seed must be ${r.SECRET_KEY_LENGTH} bytes`);const j=new Uint8Array(B);return{publicKey:R(j),secretKey:j}}r.generateKeyPairFromSeed=k;function M(B){const j=(0,e.randomBytes)(32,B),G=k(j);return(0,t.wipe)(j),G}r.generateKeyPair=M;function O(B,j,G=!1){if(B.length!==r.PUBLIC_KEY_LENGTH)throw new Error("X25519: incorrect secret key length");if(j.length!==r.PUBLIC_KEY_LENGTH)throw new Error("X25519: incorrect public key length");const D=C(B,j);if(G){let $=0;for(let V=0;Vi+s.length,0));const t=Eoe(e);let n=0;for(const i of r)t.set(i,n),n+=i.length;return T$(t)}function CTe(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n>>0,B=new Uint8Array(O);k!==M;){for(var j=y[k],G=0,D=O-1;(j!==0||G>>0,B[D]=j%a>>>0,j=j/a>>>0;if(j!==0)throw new Error("Non-zero carry");R=G,k++}for(var $=O-R;$!==O&&B[$]===0;)$++;for(var V=l.repeat(C);$>>0,O=new Uint8Array(M);y[C];){var B=t[y.charCodeAt(C)];if(B===255)return;for(var j=0,G=M-1;(B!==0||j>>0,O[G]=B%256>>>0,B=B/256>>>0;if(B!==0)throw new Error("Non-zero carry");k=j,C++}if(y[C]!==" "){for(var D=M-k;D!==M&&O[D]===0;)D++;for(var $=new Uint8Array(R+(M-D)),V=R;D!==M;)$[V++]=O[D++];return $}}}function w(y){var C=g(y);if(C)return C;throw new Error(`Non-${e} character`)}return{encode:p,decodeUnsafe:g,decode:w}}var STe=CTe,ITe=STe;const RTe=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")},TTe=r=>new TextEncoder().encode(r),kTe=r=>new TextDecoder().decode(r);class MTe{constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class NTe{constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){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))}else throw Error("Can only multibase decode strings")}or(e){return Aoe(this,e)}}class PTe{constructor(e){this.decoders=e}or(e){return Aoe(this,e)}decode(e){const t=e[0],n=this.decoders[t];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const Aoe=(r,e)=>new PTe({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});class OTe{constructor(e,t,n,i){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=i,this.encoder=new MTe(e,t,n),this.decoder=new NTe(e,t,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const aS=({name:r,prefix:e,encode:t,decode:n})=>new OTe(r,e,t,n),L6=({prefix:r,name:e,alphabet:t})=>{const{encode:n,decode:i}=ITe(t,e);return aS({prefix:r,name:e,encode:n,decode:s=>RTe(i(s))})},DTe=(r,e,t,n)=>{const i={};for(let h=0;h=8&&(a-=8,o[u++]=255&l>>a)}if(a>=t||255&l<<8-a)throw new SyntaxError("Unexpected end of data");return o},$Te=(r,e,t)=>{const n=e[e.length-1]==="=",i=(1<t;)o-=t,s+=e[i&a>>o];if(o&&(s+=e[i&a<aS({prefix:e,name:r,encode(i){return $Te(i,n,t)},decode(i){return DTe(i,n,t,r)}}),BTe=aS({prefix:"\0",name:"identity",encode:r=>kTe(r),decode:r=>TTe(r)}),LTe=Object.freeze(Object.defineProperty({__proto__:null,identity:BTe},Symbol.toStringTag,{value:"Module"})),UTe=Fo({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1}),FTe=Object.freeze(Object.defineProperty({__proto__:null,base2:UTe},Symbol.toStringTag,{value:"Module"})),jTe=Fo({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3}),zTe=Object.freeze(Object.defineProperty({__proto__:null,base8:jTe},Symbol.toStringTag,{value:"Module"})),HTe=L6({prefix:"9",name:"base10",alphabet:"0123456789"}),qTe=Object.freeze(Object.defineProperty({__proto__:null,base10:HTe},Symbol.toStringTag,{value:"Module"})),WTe=Fo({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),VTe=Fo({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4}),GTe=Object.freeze(Object.defineProperty({__proto__:null,base16:WTe,base16upper:VTe},Symbol.toStringTag,{value:"Module"})),KTe=Fo({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),ZTe=Fo({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),JTe=Fo({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),YTe=Fo({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),QTe=Fo({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),XTe=Fo({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),eke=Fo({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),tke=Fo({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),rke=Fo({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5}),nke=Object.freeze(Object.defineProperty({__proto__:null,base32:KTe,base32hex:QTe,base32hexpad:eke,base32hexpadupper:tke,base32hexupper:XTe,base32pad:JTe,base32padupper:YTe,base32upper:ZTe,base32z:rke},Symbol.toStringTag,{value:"Module"})),ike=L6({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ske=L6({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"}),oke=Object.freeze(Object.defineProperty({__proto__:null,base36:ike,base36upper:ske},Symbol.toStringTag,{value:"Module"})),ake=L6({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),cke=L6({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"}),lke=Object.freeze(Object.defineProperty({__proto__:null,base58btc:ake,base58flickr:cke},Symbol.toStringTag,{value:"Module"})),uke=Fo({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),hke=Fo({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),fke=Fo({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),dke=Fo({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6}),pke=Object.freeze(Object.defineProperty({__proto__:null,base64:uke,base64pad:hke,base64url:fke,base64urlpad:dke},Symbol.toStringTag,{value:"Module"})),Coe=Array.from("🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂"),gke=Coe.reduce((r,e,t)=>(r[t]=e,r),[]),mke=Coe.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function bke(r){return r.reduce((e,t)=>(e+=gke[t],e),"")}function wke(r){const e=[];for(const t of r){const n=mke[t.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(n)}return new Uint8Array(e)}const vke=aS({prefix:"🚀",name:"base256emoji",encode:bke,decode:wke}),yke=Object.freeze(Object.defineProperty({__proto__:null,base256emoji:vke},Symbol.toStringTag,{value:"Module"}));new TextEncoder,new TextDecoder;const Soe={...LTe,...FTe,...zTe,...qTe,...GTe,...nke,...oke,...lke,...pke,...yke};function Ioe(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}const Roe=Ioe("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),k$=Ioe("ascii","a",r=>{let e="a";for(let t=0;t{r=r.substring(1);const e=Eoe(r.length);for(let t=0;t"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"?new Cke:typeof navigator<"u"?Ooe(navigator.userAgent):Mke()}function Tke(r){return r!==""&&Rke.reduce(function(e,t){var n=t[0],i=t[1];if(e)return e;var s=i.exec(r);return!!s&&[n,s]},!1)}function Ooe(r){var e=Tke(r);if(!e)return null;var t=e[0],n=e[1];if(t==="searchbot")return new Ake;var i=n[1]&&n[1].split(".").join("_").split("_").slice(0,3);i?i.length"u"}r.isPrimitive=b,r.isBuffer=nTe();function d(_){return Object.prototype.toString.call(_)}function m(_){return _<10?"0"+_.toString(10):_.toString(10)}var x=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function A(){var _=new Date,L=[m(_.getHours()),m(_.getMinutes()),m(_.getSeconds())].join(":");return[_.getDate(),x[_.getMonth()],L].join(" ")}r.log=function(){console.log("%s - %s",A(),r.format.apply(r,arguments))},r.inherits=tn(),r._extend=function(_,L){if(!L||!V(L))return _;for(var ie=Object.keys(L),q=ie.length;q--;)_[ie[q]]=L[ie[q]];return _};function I(_,L){return Object.prototype.hasOwnProperty.call(_,L)}var R=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;r.promisify=function(L){if(typeof L!="function")throw new TypeError('The "original" argument must be of type Function');if(R&&L[R]){var ie=L[R];if(typeof ie!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(ie,R,{value:ie,enumerable:!1,writable:!1,configurable:!0}),ie}function ie(){for(var q,Y,K=new Promise(function(H,U){q=H,Y=U}),te=[],re=0;re0?this.tail.next=k:this.head=k,this.tail=k,++this.length}},{key:"unshift",value:function(T){var k={data:T,next:this.head};this.length===0&&(this.tail=k),this.head=k,++this.length}},{key:"shift",value:function(){if(this.length!==0){var T=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,T}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(T){if(this.length===0)return"";for(var k=this.head,N=""+k.data;k=k.next;)N+=T+k.data;return N}},{key:"concat",value:function(T){if(this.length===0)return u.alloc(0);for(var k=u.allocUnsafe(T>>>0),N=this.head,O=0;N;)w(N.data,k,O),O+=N.data.length,N=N.next;return k}},{key:"consume",value:function(T,k){var N;return TB.length?B.length:T;if(z===B.length?O+=B:O+=B.slice(0,T),T-=z,T===0){z===B.length?(++N,k.next?this.head=k.next:this.head=this.tail=null):(this.head=k,k.data=B.slice(z));break}++N}return this.length-=N,O}},{key:"_getBuffer",value:function(T){var k=u.allocUnsafe(T),N=this.head,O=1;for(N.data.copy(k),T-=N.data.length;N=N.next;){var B=N.data,z=T>B.length?B.length:T;if(B.copy(k,k.length-T,0,z),T-=z,T===0){z===B.length?(++O,N.next?this.head=N.next:this.head=this.tail=null):(this.head=N,N.data=B.slice(z));break}++O}return this.length-=O,k}},{key:g,value:function(T,k){return p(this,e(e({},k),{},{depth:0,customInspect:!1}))}}]),y}(),lO}var uO,nne;function ine(){if(nne)return uO;nne=1;function r(o,a){var l=this,u=this._readableState&&this._readableState.destroyed,h=this._writableState&&this._writableState.destroyed;return u||h?(a?a(o):o&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,yt.nextTick(i,this,o)):yt.nextTick(i,this,o)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(o||null,function(p){!a&&p?l._writableState?l._writableState.errorEmitted?yt.nextTick(t,l):(l._writableState.errorEmitted=!0,yt.nextTick(e,l,p)):yt.nextTick(e,l,p):a?(yt.nextTick(t,l),a(p)):yt.nextTick(t,l)}),this)}function e(o,a){i(o,a),t(o)}function t(o){o._writableState&&!o._writableState.emitClose||o._readableState&&!o._readableState.emitClose||o.emit("close")}function n(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function i(o,a){o.emit("error",a)}function s(o,a){var l=o._readableState,u=o._writableState;l&&l.autoDestroy||u&&u.autoDestroy?o.destroy(a):o.emit("error",a)}return uO={destroy:r,undestroy:n,errorOrDestroy:s},uO}var hO={},sne;function ey(){if(sne)return hO;sne=1;function r(a,l){a.prototype=Object.create(l.prototype),a.prototype.constructor=a,a.__proto__=l}var e={};function t(a,l,u){u||(u=Error);function h(g,w,y){return typeof l=="string"?l:l(g,w,y)}var p=function(g){r(w,g);function w(y,C,T){return g.call(this,h(y,C,T))||this}return w}(u);p.prototype.name=u.name,p.prototype.code=a,e[a]=p}function n(a,l){if(Array.isArray(a)){var u=a.length;return a=a.map(function(h){return String(h)}),u>2?"one of ".concat(l," ").concat(a.slice(0,u-1).join(", "),", or ")+a[u-1]:u===2?"one of ".concat(l," ").concat(a[0]," or ").concat(a[1]):"of ".concat(l," ").concat(a[0])}else return"of ".concat(l," ").concat(String(a))}function i(a,l,u){return a.substr(!u||u<0?0:+u,l.length)===l}function s(a,l,u){return(u===void 0||u>a.length)&&(u=a.length),a.substring(u-l.length,u)===l}function o(a,l,u){return typeof u!="number"&&(u=0),u+l.length>a.length?!1:a.indexOf(l,u)!==-1}return t("ERR_INVALID_OPT_VALUE",function(a,l){return'The value "'+l+'" is invalid for option "'+a+'"'},TypeError),t("ERR_INVALID_ARG_TYPE",function(a,l,u){var h;typeof l=="string"&&i(l,"not ")?(h="must not be",l=l.replace(/^not /,"")):h="must be";var p;if(s(a," argument"))p="The ".concat(a," ").concat(h," ").concat(n(l,"type"));else{var g=o(a,".")?"property":"argument";p='The "'.concat(a,'" ').concat(g," ").concat(h," ").concat(n(l,"type"))}return p+=". Received type ".concat(typeof u),p},TypeError),t("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),t("ERR_METHOD_NOT_IMPLEMENTED",function(a){return"The "+a+" method is not implemented"}),t("ERR_STREAM_PREMATURE_CLOSE","Premature close"),t("ERR_STREAM_DESTROYED",function(a){return"Cannot call "+a+" after a stream was destroyed"}),t("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),t("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),t("ERR_STREAM_WRITE_AFTER_END","write after end"),t("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),t("ERR_UNKNOWN_ENCODING",function(a){return"Unknown encoding: "+a},TypeError),t("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),hO.codes=e,hO}var fO,one;function ane(){if(one)return fO;one=1;var r=ey().codes.ERR_INVALID_OPT_VALUE;function e(n,i,s){return n.highWaterMark!=null?n.highWaterMark:i?n[s]:null}function t(n,i,s,o){var a=e(i,o,s);if(a!=null){if(!(isFinite(a)&&Math.floor(a)===a)||a<0){var l=o?s:"highWaterMark";throw new r(l,a)}return Math.floor(a)}return n.objectMode?16:16*1024}return fO={getHighWaterMark:t},fO}var dO,cne;function sTe(){if(cne)return dO;cne=1,dO=r;function r(t,n){if(e("noDeprecation"))return t;var i=!1;function s(){if(!i){if(e("throwDeprecation"))throw new Error(n);e("traceDeprecation")?console.trace(n):console.warn(n),i=!0}return t.apply(this,arguments)}return s}function e(t){try{if(!ct.localStorage)return!1}catch{return!1}var n=ct.localStorage[t];return n==null?!1:String(n).toLowerCase()==="true"}return dO}var pO,lne;function gO(){if(lne)return pO;lne=1,pO=D;function r(Y){var K=this;this.next=null,this.entry=null,this.finish=function(){q(K,Y)}}var e;D.WritableState=G;var t={deprecate:sTe()},n=bre(),i=qc.Buffer,s=(typeof ct<"u"?ct:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function o(Y){return i.from(Y)}function a(Y){return i.isBuffer(Y)||Y instanceof s}var l=ine(),u=ane(),h=u.getHighWaterMark,p=ey().codes,g=p.ERR_INVALID_ARG_TYPE,w=p.ERR_METHOD_NOT_IMPLEMENTED,y=p.ERR_MULTIPLE_CALLBACK,C=p.ERR_STREAM_CANNOT_PIPE,T=p.ERR_STREAM_DESTROYED,k=p.ERR_STREAM_NULL_VALUES,N=p.ERR_STREAM_WRITE_AFTER_END,O=p.ERR_UNKNOWN_ENCODING,B=l.errorOrDestroy;tn()(D,n);function z(){}function G(Y,K,te){e=e||Cm(),Y=Y||{},typeof te!="boolean"&&(te=K instanceof e),this.objectMode=!!Y.objectMode,te&&(this.objectMode=this.objectMode||!!Y.writableObjectMode),this.highWaterMark=h(this,Y,"writableHighWaterMark",te),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var re=Y.decodeStrings===!1;this.decodeStrings=!re,this.defaultEncoding=Y.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(H){x(K,H)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=Y.emitClose!==!1,this.autoDestroy=!!Y.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new r(this)}G.prototype.getBuffer=function(){for(var K=this.bufferedRequest,te=[];K;)te.push(K),K=K.next;return te},function(){try{Object.defineProperty(G.prototype,"buffer",{get:t.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}();var $;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?($=Function.prototype[Symbol.hasInstance],Object.defineProperty(D,Symbol.hasInstance,{value:function(K){return $.call(this,K)?!0:this!==D?!1:K&&K._writableState instanceof G}})):$=function(K){return K instanceof this};function D(Y){e=e||Cm();var K=this instanceof e;if(!K&&!$.call(D,this))return new D(Y);this._writableState=new G(Y,this,K),this.writable=!0,Y&&(typeof Y.write=="function"&&(this._write=Y.write),typeof Y.writev=="function"&&(this._writev=Y.writev),typeof Y.destroy=="function"&&(this._destroy=Y.destroy),typeof Y.final=="function"&&(this._final=Y.final)),n.call(this)}D.prototype.pipe=function(){B(this,new C)};function V(Y,K){var te=new N;B(Y,te),yt.nextTick(K,te)}function Q(Y,K,te,re){var H;return te===null?H=new k:typeof te!="string"&&!K.objectMode&&(H=new g("chunk",["string","Buffer"],te)),H?(B(Y,H),yt.nextTick(re,H),!1):!0}D.prototype.write=function(Y,K,te){var re=this._writableState,H=!1,U=!re.objectMode&&a(Y);return U&&!i.isBuffer(Y)&&(Y=o(Y)),typeof K=="function"&&(te=K,K=null),U?K="buffer":K||(K=re.defaultEncoding),typeof te!="function"&&(te=z),re.ending?V(this,te):(U||Q(this,re,Y,te))&&(re.pendingcb++,H=M(this,re,U,Y,K,te)),H},D.prototype.cork=function(){this._writableState.corked++},D.prototype.uncork=function(){var Y=this._writableState;Y.corked&&(Y.corked--,!Y.writing&&!Y.corked&&!Y.bufferProcessing&&Y.bufferedRequest&&R(this,Y))},D.prototype.setDefaultEncoding=function(K){if(typeof K=="string"&&(K=K.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((K+"").toLowerCase())>-1))throw new O(K);return this._writableState.defaultEncoding=K,this},Object.defineProperty(D.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function F(Y,K,te){return!Y.objectMode&&Y.decodeStrings!==!1&&typeof K=="string"&&(K=i.from(K,te)),K}Object.defineProperty(D.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function M(Y,K,te,re,H,U){if(!te){var W=F(K,re,H);re!==W&&(te=!0,H="buffer",re=W)}var le=K.objectMode?1:re.length;K.length+=le;var de=K.length>5===6?2:k>>4===14?3:k>>3===30?4:k>>6===2?-1:-2}function o(k,N,O){var B=N.length-1;if(B=0?(z>0&&(k.lastNeed=z-1),z):--B=0?(z>0&&(k.lastNeed=z-2),z):--B=0?(z>0&&(z===2?z=0:k.lastNeed=z-3),z):0))}function a(k,N,O){if((N[0]&192)!==128)return k.lastNeed=0,"�";if(k.lastNeed>1&&N.length>1){if((N[1]&192)!==128)return k.lastNeed=1,"�";if(k.lastNeed>2&&N.length>2&&(N[2]&192)!==128)return k.lastNeed=2,"�"}}function l(k){var N=this.lastTotal-this.lastNeed,O=a(this,k);if(O!==void 0)return O;if(this.lastNeed<=k.length)return k.copy(this.lastChar,N,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);k.copy(this.lastChar,N,0,k.length),this.lastNeed-=k.length}function u(k,N){var O=o(this,k,N);if(!this.lastNeed)return k.toString("utf8",N);this.lastTotal=O;var B=k.length-(O-this.lastNeed);return k.copy(this.lastChar,0,B),k.toString("utf8",N,B)}function h(k){var N=k&&k.length?this.write(k):"";return this.lastNeed?N+"�":N}function p(k,N){if((k.length-N)%2===0){var O=k.toString("utf16le",N);if(O){var B=O.charCodeAt(O.length-1);if(B>=55296&&B<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=k[k.length-2],this.lastChar[1]=k[k.length-1],O.slice(0,-1)}return O}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=k[k.length-1],k.toString("utf16le",N,k.length-1)}function g(k){var N=k&&k.length?this.write(k):"";if(this.lastNeed){var O=this.lastTotal-this.lastNeed;return N+this.lastChar.toString("utf16le",0,O)}return N}function w(k,N){var O=(k.length-N)%3;return O===0?k.toString("base64",N):(this.lastNeed=3-O,this.lastTotal=3,O===1?this.lastChar[0]=k[k.length-1]:(this.lastChar[0]=k[k.length-2],this.lastChar[1]=k[k.length-1]),k.toString("base64",N,k.length-O))}function y(k){var N=k&&k.length?this.write(k):"";return this.lastNeed?N+this.lastChar.toString("base64",0,3-this.lastNeed):N}function C(k){return k.toString(this.encoding)}function T(k){return k&&k.length?this.write(k):""}return bO}var wO,fne;function YC(){if(fne)return wO;fne=1;var r=ey().codes.ERR_STREAM_PREMATURE_CLOSE;function e(s){var o=!1;return function(){if(!o){o=!0;for(var a=arguments.length,l=new Array(a),u=0;u0)if(typeof W!="string"&&!Me.objectMode&&Object.getPrototypeOf(W)!==n.prototype&&(W=s(W)),de)Me.endEmitted?z(U,new k):F(U,Me,W,!0);else if(Me.ended)z(U,new C);else{if(Me.destroyed)return!1;Me.reading=!1,Me.decoder&&!le?(W=Me.decoder.write(W),Me.objectMode||W.length!==0?F(U,Me,W,!1):R(U,Me)):F(U,Me,W,!1)}else de||(Me.reading=!1,R(U,Me))}return!Me.ended&&(Me.length=b?U=b:(U--,U|=U>>>1,U|=U>>>2,U|=U>>>4,U|=U>>>8,U|=U>>>16,U++),U}function m(U,W){return U<=0||W.length===0&&W.ended?0:W.objectMode?1:U!==U?W.flowing&&W.length?W.buffer.head.data.length:W.length:(U>W.highWaterMark&&(W.highWaterMark=d(U)),U<=W.length?U:W.ended?W.length:(W.needReadable=!0,0))}V.prototype.read=function(U){l("read",U),U=parseInt(U,10);var W=this._readableState,le=U;if(U!==0&&(W.emittedReadable=!1),U===0&&W.needReadable&&((W.highWaterMark!==0?W.length>=W.highWaterMark:W.length>0)||W.ended))return l("read: emitReadable",W.length,W.ended),W.length===0&&W.ended?te(this):A(this),null;if(U=m(U,W),U===0&&W.ended)return W.length===0&&te(this),null;var de=W.needReadable;l("need readable",de),(W.length===0||W.length-U0?Se=K(U,W):Se=null,Se===null?(W.needReadable=W.length<=W.highWaterMark,U=0):(W.length-=U,W.awaitDrain=0),W.length===0&&(W.ended||(W.needReadable=!0),le!==U&&W.ended&&te(this)),Se!==null&&this.emit("data",Se),Se};function x(U,W){if(l("onEofChunk"),!W.ended){if(W.decoder){var le=W.decoder.end();le&&le.length&&(W.buffer.push(le),W.length+=W.objectMode?1:le.length)}W.ended=!0,W.sync?A(U):(W.needReadable=!1,W.emittedReadable||(W.emittedReadable=!0,I(U)))}}function A(U){var W=U._readableState;l("emitReadable",W.needReadable,W.emittedReadable),W.needReadable=!1,W.emittedReadable||(l("emitReadable",W.flowing),W.emittedReadable=!0,yt.nextTick(I,U))}function I(U){var W=U._readableState;l("emitReadable_",W.destroyed,W.length,W.ended),!W.destroyed&&(W.length||W.ended)&&(U.emit("readable"),W.emittedReadable=!1),W.needReadable=!W.flowing&&!W.ended&&W.length<=W.highWaterMark,Y(U)}function R(U,W){W.readingMore||(W.readingMore=!0,yt.nextTick(S,U,W))}function S(U,W){for(;!W.reading&&!W.ended&&(W.length1&&H(de.pipes,U)!==-1)&&!je&&(l("false write response, pause",de.awaitDrain),de.awaitDrain++),le.pause())}function ze(Be){l("onerror",Be),He(),U.removeListener("error",ze),e(U,"error")===0&&z(U,Be)}$(U,"error",ze);function qe(){U.removeListener("finish",Ve),He()}U.once("close",qe);function Ve(){l("onfinish"),U.removeListener("close",qe),He()}U.once("finish",Ve);function He(){l("unpipe"),le.unpipe(U)}return U.emit("pipe",le),de.flowing||(l("pipe resume"),le.resume()),U};function E(U){return function(){var le=U._readableState;l("pipeOnDrain",le.awaitDrain),le.awaitDrain&&le.awaitDrain--,le.awaitDrain===0&&e(U,"data")&&(le.flowing=!0,Y(U))}}V.prototype.unpipe=function(U){var W=this._readableState,le={hasUnpiped:!1};if(W.pipesCount===0)return this;if(W.pipesCount===1)return U&&U!==W.pipes?this:(U||(U=W.pipes),W.pipes=null,W.pipesCount=0,W.flowing=!1,U&&U.emit("unpipe",this,le),this);if(!U){var de=W.pipes,Se=W.pipesCount;W.pipes=null,W.pipesCount=0,W.flowing=!1;for(var Me=0;Me0,de.flowing!==!1&&this.resume()):U==="readable"&&!de.endEmitted&&!de.readableListening&&(de.readableListening=de.needReadable=!0,de.flowing=!1,de.emittedReadable=!1,l("on readable",de.length,de.reading),de.length?A(this):de.reading||yt.nextTick(L,this)),le},V.prototype.addListener=V.prototype.on,V.prototype.removeListener=function(U,W){var le=t.prototype.removeListener.call(this,U,W);return U==="readable"&&yt.nextTick(_,this),le},V.prototype.removeAllListeners=function(U){var W=t.prototype.removeAllListeners.apply(this,arguments);return(U==="readable"||U===void 0)&&yt.nextTick(_,this),W};function _(U){var W=U._readableState;W.readableListening=U.listenerCount("readable")>0,W.resumeScheduled&&!W.paused?W.flowing=!0:U.listenerCount("data")>0&&U.resume()}function L(U){l("readable nexttick read 0"),U.read(0)}V.prototype.resume=function(){var U=this._readableState;return U.flowing||(l("resume"),U.flowing=!U.readableListening,ie(this,U)),U.paused=!1,this};function ie(U,W){W.resumeScheduled||(W.resumeScheduled=!0,yt.nextTick(q,U,W))}function q(U,W){l("resume",W.reading),W.reading||U.read(0),W.resumeScheduled=!1,U.emit("resume"),Y(U),W.flowing&&!W.reading&&U.read(0)}V.prototype.pause=function(){return l("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(l("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function Y(U){var W=U._readableState;for(l("flow",W.flowing);W.flowing&&U.read()!==null;);}V.prototype.wrap=function(U){var W=this,le=this._readableState,de=!1;U.on("end",function(){if(l("wrapped end"),le.decoder&&!le.ended){var ke=le.decoder.end();ke&&ke.length&&W.push(ke)}W.push(null)}),U.on("data",function(ke){if(l("wrapped data"),le.decoder&&(ke=le.decoder.write(ke)),!(le.objectMode&&ke==null)&&!(!le.objectMode&&(!ke||!ke.length))){var Ke=W.push(ke);Ke||(de=!0,U.pause())}});for(var Se in U)this[Se]===void 0&&typeof U[Se]=="function"&&(this[Se]=function(Ke){return function(){return U[Ke].apply(U,arguments)}}(Se));for(var Me=0;Me=W.length?(W.decoder?le=W.buffer.join(""):W.buffer.length===1?le=W.buffer.first():le=W.buffer.concat(W.length),W.buffer.clear()):le=W.buffer.consume(U,W.decoder),le}function te(U){var W=U._readableState;l("endReadable",W.endEmitted),W.endEmitted||(W.ended=!0,yt.nextTick(re,W,U))}function re(U,W){if(l("endReadableNT",U.endEmitted,U.length),!U.endEmitted&&U.length===0&&(U.endEmitted=!0,W.readable=!1,W.emit("end"),U.autoDestroy)){var le=W._writableState;(!le||le.autoDestroy&&le.finished)&&W.destroy()}}typeof Symbol=="function"&&(V.from=function(U,W){return B===void 0&&(B=aTe()),B(V,U,W)});function H(U,W){for(var le=0,de=U.length;le0;return a(N,B,z,function(G){T||(T=G),G&&k.forEach(l),!B&&(k.forEach(l),C(T))})});return w.reduce(u)}return SO=p,SO}var xne;function _ne(){return xne||(xne=1,function(r,e){e=r.exports=_O(),e.Stream=e,e.Readable=e,e.Writable=gO(),e.Duplex=Cm(),e.Transform=AO(),e.PassThrough=wne(),e.finished=YC(),e.pipeline=yne()}(DIe,S6)),S6}var IO,Ene;function Ane(){if(Ene)return IO;Ene=1;var r=sn().Buffer,e=_ne().Transform,t=tn();function n(s,o){if(!r.isBuffer(s)&&typeof s!="string")throw new TypeError(o+" must be a string or a buffer")}function i(s){e.call(this),this._block=r.allocUnsafe(s),this._blockSize=s,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}return t(i,e),i.prototype._transform=function(s,o,a){var l=null;try{this.update(s,o)}catch(u){l=u}a(l)},i.prototype._flush=function(s){var o=null;try{this.push(this.digest())}catch(a){o=a}s(o)},i.prototype.update=function(s,o){if(n(s,"Data"),this._finalized)throw new Error("Digest already called");r.isBuffer(s)||(s=r.from(s,o));for(var a=this._block,l=0;this._blockOffset+s.length-l>=this._blockSize;){for(var u=this._blockOffset;u0;++h)this._length[h]+=p,p=this._length[h]/4294967296|0,p>0&&(this._length[h]-=4294967296*p);return this},i.prototype._update=function(){throw new Error("_update is not implemented")},i.prototype.digest=function(s){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var o=this._digest();s!==void 0&&(o=o.toString(s)),this._block.fill(0),this._blockOffset=0;for(var a=0;a<4;++a)this._length[a]=0;return o},i.prototype._digest=function(){throw new Error("_digest is not implemented")},IO=i,IO}var TO,Cne;function RO(){if(Cne)return TO;Cne=1;var r=tn(),e=Ane(),t=sn().Buffer,n=new Array(16);function i(){e.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}r(i,e),i.prototype._update=function(){for(var h=n,p=0;p<16;++p)h[p]=this._block.readInt32LE(p*4);var g=this._a,w=this._b,y=this._c,C=this._d;g=o(g,w,y,C,h[0],3614090360,7),C=o(C,g,w,y,h[1],3905402710,12),y=o(y,C,g,w,h[2],606105819,17),w=o(w,y,C,g,h[3],3250441966,22),g=o(g,w,y,C,h[4],4118548399,7),C=o(C,g,w,y,h[5],1200080426,12),y=o(y,C,g,w,h[6],2821735955,17),w=o(w,y,C,g,h[7],4249261313,22),g=o(g,w,y,C,h[8],1770035416,7),C=o(C,g,w,y,h[9],2336552879,12),y=o(y,C,g,w,h[10],4294925233,17),w=o(w,y,C,g,h[11],2304563134,22),g=o(g,w,y,C,h[12],1804603682,7),C=o(C,g,w,y,h[13],4254626195,12),y=o(y,C,g,w,h[14],2792965006,17),w=o(w,y,C,g,h[15],1236535329,22),g=a(g,w,y,C,h[1],4129170786,5),C=a(C,g,w,y,h[6],3225465664,9),y=a(y,C,g,w,h[11],643717713,14),w=a(w,y,C,g,h[0],3921069994,20),g=a(g,w,y,C,h[5],3593408605,5),C=a(C,g,w,y,h[10],38016083,9),y=a(y,C,g,w,h[15],3634488961,14),w=a(w,y,C,g,h[4],3889429448,20),g=a(g,w,y,C,h[9],568446438,5),C=a(C,g,w,y,h[14],3275163606,9),y=a(y,C,g,w,h[3],4107603335,14),w=a(w,y,C,g,h[8],1163531501,20),g=a(g,w,y,C,h[13],2850285829,5),C=a(C,g,w,y,h[2],4243563512,9),y=a(y,C,g,w,h[7],1735328473,14),w=a(w,y,C,g,h[12],2368359562,20),g=l(g,w,y,C,h[5],4294588738,4),C=l(C,g,w,y,h[8],2272392833,11),y=l(y,C,g,w,h[11],1839030562,16),w=l(w,y,C,g,h[14],4259657740,23),g=l(g,w,y,C,h[1],2763975236,4),C=l(C,g,w,y,h[4],1272893353,11),y=l(y,C,g,w,h[7],4139469664,16),w=l(w,y,C,g,h[10],3200236656,23),g=l(g,w,y,C,h[13],681279174,4),C=l(C,g,w,y,h[0],3936430074,11),y=l(y,C,g,w,h[3],3572445317,16),w=l(w,y,C,g,h[6],76029189,23),g=l(g,w,y,C,h[9],3654602809,4),C=l(C,g,w,y,h[12],3873151461,11),y=l(y,C,g,w,h[15],530742520,16),w=l(w,y,C,g,h[2],3299628645,23),g=u(g,w,y,C,h[0],4096336452,6),C=u(C,g,w,y,h[7],1126891415,10),y=u(y,C,g,w,h[14],2878612391,15),w=u(w,y,C,g,h[5],4237533241,21),g=u(g,w,y,C,h[12],1700485571,6),C=u(C,g,w,y,h[3],2399980690,10),y=u(y,C,g,w,h[10],4293915773,15),w=u(w,y,C,g,h[1],2240044497,21),g=u(g,w,y,C,h[8],1873313359,6),C=u(C,g,w,y,h[15],4264355552,10),y=u(y,C,g,w,h[6],2734768916,15),w=u(w,y,C,g,h[13],1309151649,21),g=u(g,w,y,C,h[4],4149444226,6),C=u(C,g,w,y,h[11],3174756917,10),y=u(y,C,g,w,h[2],718787259,15),w=u(w,y,C,g,h[9],3951481745,21),this._a=this._a+g|0,this._b=this._b+w|0,this._c=this._c+y|0,this._d=this._d+C|0},i.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var h=t.allocUnsafe(16);return h.writeInt32LE(this._a,0),h.writeInt32LE(this._b,4),h.writeInt32LE(this._c,8),h.writeInt32LE(this._d,12),h};function s(h,p){return h<>>32-p}function o(h,p,g,w,y,C,T){return s(h+(p&g|~p&w)+y+C|0,T)+p|0}function a(h,p,g,w,y,C,T){return s(h+(p&w|g&~w)+y+C|0,T)+p|0}function l(h,p,g,w,y,C,T){return s(h+(p^g^w)+y+C|0,T)+p|0}function u(h,p,g,w,y,C,T){return s(h+(g^(p|~w))+y+C|0,T)+p|0}return TO=i,TO}var kO,Sne;function MO(){if(Sne)return kO;Sne=1;var r=qc.Buffer,e=tn(),t=Ane(),n=new Array(16),i=[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],s=[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],o=[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],a=[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],l=[0,1518500249,1859775393,2400959708,2840853838],u=[1352829926,1548603684,1836072691,2053994217,0];function h(){t.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}e(h,t),h.prototype._update=function(){for(var k=n,N=0;N<16;++N)k[N]=this._block.readInt32LE(N*4);for(var O=this._a|0,B=this._b|0,z=this._c|0,G=this._d|0,$=this._e|0,D=this._a|0,V=this._b|0,Q=this._c|0,F=this._d|0,M=this._e|0,b=0;b<80;b+=1){var d,m;b<16?(d=g(O,B,z,G,$,k[i[b]],l[0],o[b]),m=T(D,V,Q,F,M,k[s[b]],u[0],a[b])):b<32?(d=w(O,B,z,G,$,k[i[b]],l[1],o[b]),m=C(D,V,Q,F,M,k[s[b]],u[1],a[b])):b<48?(d=y(O,B,z,G,$,k[i[b]],l[2],o[b]),m=y(D,V,Q,F,M,k[s[b]],u[2],a[b])):b<64?(d=C(O,B,z,G,$,k[i[b]],l[3],o[b]),m=w(D,V,Q,F,M,k[s[b]],u[3],a[b])):(d=T(O,B,z,G,$,k[i[b]],l[4],o[b]),m=g(D,V,Q,F,M,k[s[b]],u[4],a[b])),O=$,$=G,G=p(z,10),z=B,B=d,D=M,M=F,F=p(Q,10),Q=V,V=m}var x=this._b+z+F|0;this._b=this._c+G+M|0,this._c=this._d+$+D|0,this._d=this._e+O+V|0,this._e=this._a+B+Q|0,this._a=x},h.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var k=r.alloc?r.alloc(20):new r(20);return k.writeInt32LE(this._a,0),k.writeInt32LE(this._b,4),k.writeInt32LE(this._c,8),k.writeInt32LE(this._d,12),k.writeInt32LE(this._e,16),k};function p(k,N){return k<>>32-N}function g(k,N,O,B,z,G,$,D){return p(k+(N^O^B)+G+$|0,D)+z|0}function w(k,N,O,B,z,G,$,D){return p(k+(N&O|~N&B)+G+$|0,D)+z|0}function y(k,N,O,B,z,G,$,D){return p(k+((N|~O)^B)+G+$|0,D)+z|0}function C(k,N,O,B,z,G,$,D){return p(k+(N&B|O&~B)+G+$|0,D)+z|0}function T(k,N,O,B,z,G,$,D){return p(k+(N^(O|~B))+G+$|0,D)+z|0}return kO=h,kO}var QC={},cTe={get exports(){return QC},set exports(r){QC=r}},NO,Ine;function ty(){if(Ine)return NO;Ine=1;var r=sn().Buffer;function e(t,n){this._block=r.alloc(t),this._finalSize=n,this._blockSize=t,this._len=0}return e.prototype.update=function(t,n){typeof t=="string"&&(n=n||"utf8",t=r.from(t,n));for(var i=this._block,s=this._blockSize,o=t.length,a=this._len,l=0;l=this._finalSize&&(this._update(this._block),this._block.fill(0));var i=this._len*8;if(i<=4294967295)this._block.writeUInt32BE(i,this._blockSize-4);else{var s=(i&4294967295)>>>0,o=(i-s)/4294967296;this._block.writeUInt32BE(o,this._blockSize-8),this._block.writeUInt32BE(s,this._blockSize-4)}this._update(this._block);var a=this._hash();return t?a.toString(t):a},e.prototype._update=function(){throw new Error("_update must be implemented by subclass")},NO=e,NO}var PO,Tne;function lTe(){if(Tne)return PO;Tne=1;var r=tn(),e=ty(),t=sn().Buffer,n=[1518500249,1859775393,-1894007588,-899497514],i=new Array(80);function s(){this.init(),this._w=i,e.call(this,64,56)}r(s,e),s.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function o(u){return u<<5|u>>>27}function a(u){return u<<30|u>>>2}function l(u,h,p,g){return u===0?h&p|~h&g:u===2?h&p|h&g|p&g:h^p^g}return s.prototype._update=function(u){for(var h=this._w,p=this._a|0,g=this._b|0,w=this._c|0,y=this._d|0,C=this._e|0,T=0;T<16;++T)h[T]=u.readInt32BE(T*4);for(;T<80;++T)h[T]=h[T-3]^h[T-8]^h[T-14]^h[T-16];for(var k=0;k<80;++k){var N=~~(k/20),O=o(p)+l(N,g,w,y)+C+h[k]+n[N]|0;C=y,y=w,w=a(g),g=p,p=O}this._a=p+this._a|0,this._b=g+this._b|0,this._c=w+this._c|0,this._d=y+this._d|0,this._e=C+this._e|0},s.prototype._hash=function(){var u=t.allocUnsafe(20);return u.writeInt32BE(this._a|0,0),u.writeInt32BE(this._b|0,4),u.writeInt32BE(this._c|0,8),u.writeInt32BE(this._d|0,12),u.writeInt32BE(this._e|0,16),u},PO=s,PO}var OO,Rne;function uTe(){if(Rne)return OO;Rne=1;var r=tn(),e=ty(),t=sn().Buffer,n=[1518500249,1859775393,-1894007588,-899497514],i=new Array(80);function s(){this.init(),this._w=i,e.call(this,64,56)}r(s,e),s.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function o(h){return h<<1|h>>>31}function a(h){return h<<5|h>>>27}function l(h){return h<<30|h>>>2}function u(h,p,g,w){return h===0?p&g|~p&w:h===2?p&g|p&w|g&w:p^g^w}return s.prototype._update=function(h){for(var p=this._w,g=this._a|0,w=this._b|0,y=this._c|0,C=this._d|0,T=this._e|0,k=0;k<16;++k)p[k]=h.readInt32BE(k*4);for(;k<80;++k)p[k]=o(p[k-3]^p[k-8]^p[k-14]^p[k-16]);for(var N=0;N<80;++N){var O=~~(N/20),B=a(g)+u(O,w,y,C)+T+p[N]+n[O]|0;T=C,C=y,y=l(w),w=g,g=B}this._a=g+this._a|0,this._b=w+this._b|0,this._c=y+this._c|0,this._d=C+this._d|0,this._e=T+this._e|0},s.prototype._hash=function(){var h=t.allocUnsafe(20);return h.writeInt32BE(this._a|0,0),h.writeInt32BE(this._b|0,4),h.writeInt32BE(this._c|0,8),h.writeInt32BE(this._d|0,12),h.writeInt32BE(this._e|0,16),h},OO=s,OO}var DO,kne;function Mne(){if(kne)return DO;kne=1;var r=tn(),e=ty(),t=sn().Buffer,n=[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,2756734187,3204031479,3329325298],i=new Array(64);function s(){this.init(),this._w=i,e.call(this,64,56)}r(s,e),s.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this};function o(g,w,y){return y^g&(w^y)}function a(g,w,y){return g&w|y&(g|w)}function l(g){return(g>>>2|g<<30)^(g>>>13|g<<19)^(g>>>22|g<<10)}function u(g){return(g>>>6|g<<26)^(g>>>11|g<<21)^(g>>>25|g<<7)}function h(g){return(g>>>7|g<<25)^(g>>>18|g<<14)^g>>>3}function p(g){return(g>>>17|g<<15)^(g>>>19|g<<13)^g>>>10}return s.prototype._update=function(g){for(var w=this._w,y=this._a|0,C=this._b|0,T=this._c|0,k=this._d|0,N=this._e|0,O=this._f|0,B=this._g|0,z=this._h|0,G=0;G<16;++G)w[G]=g.readInt32BE(G*4);for(;G<64;++G)w[G]=p(w[G-2])+w[G-7]+h(w[G-15])+w[G-16]|0;for(var $=0;$<64;++$){var D=z+u(N)+o(N,O,B)+n[$]+w[$]|0,V=l(y)+a(y,C,T)|0;z=B,B=O,O=N,N=k+D|0,k=T,T=C,C=y,y=D+V|0}this._a=y+this._a|0,this._b=C+this._b|0,this._c=T+this._c|0,this._d=k+this._d|0,this._e=N+this._e|0,this._f=O+this._f|0,this._g=B+this._g|0,this._h=z+this._h|0},s.prototype._hash=function(){var g=t.allocUnsafe(32);return g.writeInt32BE(this._a,0),g.writeInt32BE(this._b,4),g.writeInt32BE(this._c,8),g.writeInt32BE(this._d,12),g.writeInt32BE(this._e,16),g.writeInt32BE(this._f,20),g.writeInt32BE(this._g,24),g.writeInt32BE(this._h,28),g},DO=s,DO}var $O,Nne;function hTe(){if(Nne)return $O;Nne=1;var r=tn(),e=Mne(),t=ty(),n=sn().Buffer,i=new Array(64);function s(){this.init(),this._w=i,t.call(this,64,56)}return r(s,e),s.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},s.prototype._hash=function(){var o=n.allocUnsafe(28);return o.writeInt32BE(this._a,0),o.writeInt32BE(this._b,4),o.writeInt32BE(this._c,8),o.writeInt32BE(this._d,12),o.writeInt32BE(this._e,16),o.writeInt32BE(this._f,20),o.writeInt32BE(this._g,24),o},$O=s,$O}var BO,Pne;function One(){if(Pne)return BO;Pne=1;var r=tn(),e=ty(),t=sn().Buffer,n=[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,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],i=new Array(160);function s(){this.init(),this._w=i,e.call(this,128,112)}r(s,e),s.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this};function o(C,T,k){return k^C&(T^k)}function a(C,T,k){return C&T|k&(C|T)}function l(C,T){return(C>>>28|T<<4)^(T>>>2|C<<30)^(T>>>7|C<<25)}function u(C,T){return(C>>>14|T<<18)^(C>>>18|T<<14)^(T>>>9|C<<23)}function h(C,T){return(C>>>1|T<<31)^(C>>>8|T<<24)^C>>>7}function p(C,T){return(C>>>1|T<<31)^(C>>>8|T<<24)^(C>>>7|T<<25)}function g(C,T){return(C>>>19|T<<13)^(T>>>29|C<<3)^C>>>6}function w(C,T){return(C>>>19|T<<13)^(T>>>29|C<<3)^(C>>>6|T<<26)}function y(C,T){return C>>>0>>0?1:0}return s.prototype._update=function(C){for(var T=this._w,k=this._ah|0,N=this._bh|0,O=this._ch|0,B=this._dh|0,z=this._eh|0,G=this._fh|0,$=this._gh|0,D=this._hh|0,V=this._al|0,Q=this._bl|0,F=this._cl|0,M=this._dl|0,b=this._el|0,d=this._fl|0,m=this._gl|0,x=this._hl|0,A=0;A<32;A+=2)T[A]=C.readInt32BE(A*4),T[A+1]=C.readInt32BE(A*4+4);for(;A<160;A+=2){var I=T[A-30],R=T[A-15*2+1],S=h(I,R),E=p(R,I);I=T[A-2*2],R=T[A-2*2+1];var _=g(I,R),L=w(R,I),ie=T[A-7*2],q=T[A-7*2+1],Y=T[A-16*2],K=T[A-16*2+1],te=E+q|0,re=S+ie+y(te,E)|0;te=te+L|0,re=re+_+y(te,L)|0,te=te+K|0,re=re+Y+y(te,K)|0,T[A]=re,T[A+1]=te}for(var H=0;H<160;H+=2){re=T[H],te=T[H+1];var U=a(k,N,O),W=a(V,Q,F),le=l(k,V),de=l(V,k),Se=u(z,b),Me=u(b,z),ke=n[H],Ke=n[H+1],Re=o(z,G,$),je=o(b,d,m),De=x+Me|0,Je=D+Se+y(De,x)|0;De=De+je|0,Je=Je+Re+y(De,je)|0,De=De+Ke|0,Je=Je+ke+y(De,Ke)|0,De=De+te|0,Je=Je+re+y(De,te)|0;var ze=de+W|0,qe=le+U+y(ze,de)|0;D=$,x=m,$=G,m=d,G=z,d=b,b=M+De|0,z=B+Je+y(b,M)|0,B=O,M=F,O=N,F=Q,N=k,Q=V,V=De+ze|0,k=Je+qe+y(V,De)|0}this._al=this._al+V|0,this._bl=this._bl+Q|0,this._cl=this._cl+F|0,this._dl=this._dl+M|0,this._el=this._el+b|0,this._fl=this._fl+d|0,this._gl=this._gl+m|0,this._hl=this._hl+x|0,this._ah=this._ah+k+y(this._al,V)|0,this._bh=this._bh+N+y(this._bl,Q)|0,this._ch=this._ch+O+y(this._cl,F)|0,this._dh=this._dh+B+y(this._dl,M)|0,this._eh=this._eh+z+y(this._el,b)|0,this._fh=this._fh+G+y(this._fl,d)|0,this._gh=this._gh+$+y(this._gl,m)|0,this._hh=this._hh+D+y(this._hl,x)|0},s.prototype._hash=function(){var C=t.allocUnsafe(64);function T(k,N,O){C.writeInt32BE(k,O),C.writeInt32BE(N,O+4)}return T(this._ah,this._al,0),T(this._bh,this._bl,8),T(this._ch,this._cl,16),T(this._dh,this._dl,24),T(this._eh,this._el,32),T(this._fh,this._fl,40),T(this._gh,this._gl,48),T(this._hh,this._hl,56),C},BO=s,BO}var LO,Dne;function fTe(){if(Dne)return LO;Dne=1;var r=tn(),e=One(),t=ty(),n=sn().Buffer,i=new Array(160);function s(){this.init(),this._w=i,t.call(this,128,112)}return r(s,e),s.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},s.prototype._hash=function(){var o=n.allocUnsafe(48);function a(l,u,h){o.writeInt32BE(l,h),o.writeInt32BE(u,h+4)}return a(this._ah,this._al,0),a(this._bh,this._bl,8),a(this._ch,this._cl,16),a(this._dh,this._dl,24),a(this._eh,this._el,32),a(this._fh,this._fl,40),o},LO=s,LO}var $ne;function UO(){if($ne)return QC;$ne=1;var r=cTe.exports=function(t){t=t.toLowerCase();var n=r[t];if(!n)throw new Error(t+" is not supported (we accept pull requests)");return new n};return r.sha=lTe(),r.sha1=uTe(),r.sha224=hTe(),r.sha256=Mne(),r.sha384=fTe(),r.sha512=One(),QC}var FO,Bne;function dTe(){if(Bne)return FO;Bne=1,FO=t;var r=pn.EventEmitter,e=tn();e(t,r),t.Readable=_O(),t.Writable=gO(),t.Duplex=Cm(),t.Transform=AO(),t.PassThrough=wne(),t.finished=YC(),t.pipeline=yne(),t.Stream=t;function t(){r.call(this)}return t.prototype.pipe=function(n,i){var s=this;function o(w){n.writable&&n.write(w)===!1&&s.pause&&s.pause()}s.on("data",o);function a(){s.readable&&s.resume&&s.resume()}n.on("drain",a),!n._isStdio&&(!i||i.end!==!1)&&(s.on("end",u),s.on("close",h));var l=!1;function u(){l||(l=!0,n.end())}function h(){l||(l=!0,typeof n.destroy=="function"&&n.destroy())}function p(w){if(g(),r.listenerCount(this,"error")===0)throw w}s.on("error",p),n.on("error",p);function g(){s.removeListener("data",o),n.removeListener("drain",a),s.removeListener("end",u),s.removeListener("close",h),s.removeListener("error",p),n.removeListener("error",p),s.removeListener("end",g),s.removeListener("close",g),n.removeListener("close",g)}return s.on("end",g),s.on("close",g),n.on("close",g),n.emit("pipe",s),n},FO}var jO,Lne;function l1(){if(Lne)return jO;Lne=1;var r=sn().Buffer,e=dTe().Transform,t=T6().StringDecoder,n=tn();function i(s){e.call(this),this.hashMode=typeof s=="string",this.hashMode?this[s]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}return n(i,e),i.prototype.update=function(s,o,a){typeof s=="string"&&(s=r.from(s,o));var l=this._update(s);return this.hashMode?this:(a&&(l=this._toString(l,a)),l)},i.prototype.setAutoPadding=function(){},i.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},i.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},i.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},i.prototype._transform=function(s,o,a){var l;try{this.hashMode?this._update(s):this.push(this._update(s))}catch(u){l=u}finally{a(l)}},i.prototype._flush=function(s){var o;try{this.push(this.__final())}catch(a){o=a}s(o)},i.prototype._finalOrDigest=function(s){var o=this.__final()||r.alloc(0);return s&&(o=this._toString(o,s,!0)),o},i.prototype._toString=function(s,o,a){if(this._decoder||(this._decoder=new t(o),this._encoding=o),this._encoding!==o)throw new Error("can't switch encodings");var l=this._decoder.write(s);return a&&(l+=this._decoder.end()),l},jO=i,jO}var zO,Une;function R6(){if(Une)return zO;Une=1;var r=tn(),e=RO(),t=MO(),n=UO(),i=l1();function s(o){i.call(this,"digest"),this._hash=o}return r(s,i),s.prototype._update=function(o){this._hash.update(o)},s.prototype._final=function(){return this._hash.digest()},zO=function(a){return a=a.toLowerCase(),a==="md5"?new e:a==="rmd160"||a==="ripemd160"?new t:new s(n(a))},zO}var HO,Fne;function pTe(){if(Fne)return HO;Fne=1;var r=tn(),e=sn().Buffer,t=l1(),n=e.alloc(128),i=64;function s(o,a){t.call(this,"digest"),typeof a=="string"&&(a=e.from(a)),this._alg=o,this._key=a,a.length>i?a=o(a):a.lengthp){var g=u==="rmd160"?new s:o(u);h=g.update(h).digest()}else h.lengthr||t!==t)throw new TypeError("Bad key length")},VO}var GO,Zne;function Jne(){if(Zne)return GO;Zne=1;var r;if(ct.process&&ct.process.browser)r="utf-8";else if(ct.process&&ct.process.version){var e=parseInt(yt.version.split(".")[0].slice(1),10);r=e>=6?"utf-8":"binary"}else r="utf-8";return GO=r,GO}var KO,Yne;function Qne(){if(Yne)return KO;Yne=1;var r=sn().Buffer;return KO=function(e,t,n){if(r.isBuffer(e))return e;if(typeof e=="string")return r.from(e,t);if(ArrayBuffer.isView(e))return r.from(e.buffer);throw new TypeError(n+" must be a string, a Buffer, a typed array or a DataView")},KO}var ZO,Xne;function eie(){if(Xne)return ZO;Xne=1;var r=zne(),e=MO(),t=UO(),n=sn().Buffer,i=Kne(),s=Jne(),o=Qne(),a=n.alloc(128),l={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function u(g,w,y){var C=h(g),T=g==="sha512"||g==="sha384"?128:64;w.length>T?w=C(w):w.length>>0},Wc.writeUInt32BE=function(i,s,o){i[0+o]=s>>>24,i[1+o]=s>>>16&255,i[2+o]=s>>>8&255,i[3+o]=s&255},Wc.ip=function(i,s,o,a){for(var l=0,u=0,h=6;h>=0;h-=2){for(var p=0;p<=24;p+=8)l<<=1,l|=s>>>p+h&1;for(var p=0;p<=24;p+=8)l<<=1,l|=i>>>p+h&1}for(var h=6;h>=0;h-=2){for(var p=1;p<=25;p+=8)u<<=1,u|=s>>>p+h&1;for(var p=1;p<=25;p+=8)u<<=1,u|=i>>>p+h&1}o[a+0]=l>>>0,o[a+1]=u>>>0},Wc.rip=function(i,s,o,a){for(var l=0,u=0,h=0;h<4;h++)for(var p=24;p>=0;p-=8)l<<=1,l|=s>>>p+h&1,l<<=1,l|=i>>>p+h&1;for(var h=4;h<8;h++)for(var p=24;p>=0;p-=8)u<<=1,u|=s>>>p+h&1,u<<=1,u|=i>>>p+h&1;o[a+0]=l>>>0,o[a+1]=u>>>0},Wc.pc1=function(i,s,o,a){for(var l=0,u=0,h=7;h>=5;h--){for(var p=0;p<=24;p+=8)l<<=1,l|=s>>p+h&1;for(var p=0;p<=24;p+=8)l<<=1,l|=i>>p+h&1}for(var p=0;p<=24;p+=8)l<<=1,l|=s>>p+h&1;for(var h=1;h<=3;h++){for(var p=0;p<=24;p+=8)u<<=1,u|=s>>p+h&1;for(var p=0;p<=24;p+=8)u<<=1,u|=i>>p+h&1}for(var p=0;p<=24;p+=8)u<<=1,u|=i>>p+h&1;o[a+0]=l>>>0,o[a+1]=u>>>0},Wc.r28shl=function(i,s){return i<>>28-s};var r=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];Wc.pc2=function(i,s,o,a){for(var l=0,u=0,h=r.length>>>1,p=0;p>>r[p]&1;for(var p=h;p>>r[p]&1;o[a+0]=l>>>0,o[a+1]=u>>>0},Wc.expand=function(i,s,o){var a=0,l=0;a=(i&1)<<5|i>>>27;for(var u=23;u>=15;u-=4)a<<=6,a|=i>>>u&63;for(var u=11;u>=3;u-=4)l|=i>>>u&63,l<<=6;l|=(i&31)<<1|i>>>31,s[o+0]=a>>>0,s[o+1]=l>>>0};var e=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];Wc.substitute=function(i,s){for(var o=0,a=0;a<4;a++){var l=i>>>18-a*6&63,u=e[a*64+l];o<<=4,o|=u}for(var a=0;a<4;a++){var l=s>>>18-a*6&63,u=e[4*64+a*64+l];o<<=4,o|=u}return o>>>0};var t=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];return Wc.permute=function(i){for(var s=0,o=0;o>>t[o]&1;return s>>>0},Wc.padSplit=function(i,s,o){for(var a=i.toString(2);a.length0;o--)i+=this._buffer(n,i),s+=this._flushBuffer(a,s);return i+=this._buffer(n,i),a},e.prototype.final=function(n){var i;n&&(i=this.update(n));var s;return this.type==="encrypt"?s=this._finalEncrypt():s=this._finalDecrypt(),i?i.concat(s):s},e.prototype._pad=function(n,i){if(i===0)return!1;for(;i>>1];h=t.r28shl(h,w),p=t.r28shl(p,w),t.pc2(h,p,l.keys,g)}},s.prototype._update=function(l,u,h,p){var g=this._desState,w=t.readUInt32BE(l,u),y=t.readUInt32BE(l,u+4);t.ip(w,y,g.tmp,0),w=g.tmp[0],y=g.tmp[1],this.type==="encrypt"?this._encrypt(g,w,y,g.tmp,0):this._decrypt(g,w,y,g.tmp,0),w=g.tmp[0],y=g.tmp[1],t.writeUInt32BE(h,w,p),t.writeUInt32BE(h,y,p+4)},s.prototype._pad=function(l,u){if(this.padding===!1)return!1;for(var h=l.length-u,p=u;p>>0,w=B}t.rip(y,w,p,g)},s.prototype._decrypt=function(l,u,h,p,g){for(var w=h,y=u,C=l.keys.length-2;C>=0;C-=2){var T=l.keys[C],k=l.keys[C+1];t.expand(w,l.tmp,0),T^=l.tmp[0],k^=l.tmp[1];var N=t.substitute(T,k),O=t.permute(N),B=w;w=(y^O)>>>0,y=B}t.rip(w,y,p,g)},eD}var tD={},uie;function wTe(){if(uie)return tD;uie=1;var r=Kl(),e=tn(),t={};function n(s){r.equal(s.length,8,"Invalid IV length"),this.iv=new Array(8);for(var o=0;o>a%8,n._prev=t(n._prev,s?h:p);return u}function t(n,i){var s=n.length,o=-1,a=r.allocUnsafe(n.length);for(n=r.concat([n,r.from([i])]);++o>7;return a}return aD.encrypt=function(n,i,s){for(var o=i.length,a=r.allocUnsafe(o),l=-1;++l>>24]^w[k>>>16&255]^y[N>>>8&255]^C[O&255]^l[D++],z=g[k>>>24]^w[N>>>16&255]^y[O>>>8&255]^C[T&255]^l[D++],G=g[N>>>24]^w[O>>>16&255]^y[T>>>8&255]^C[k&255]^l[D++],$=g[O>>>24]^w[T>>>16&255]^y[k>>>8&255]^C[N&255]^l[D++],T=B,k=z,N=G,O=$;return B=(h[T>>>24]<<24|h[k>>>16&255]<<16|h[N>>>8&255]<<8|h[O&255])^l[D++],z=(h[k>>>24]<<24|h[N>>>16&255]<<16|h[O>>>8&255]<<8|h[T&255])^l[D++],G=(h[N>>>24]<<24|h[O>>>16&255]<<16|h[T>>>8&255]<<8|h[k&255])^l[D++],$=(h[O>>>24]<<24|h[T>>>16&255]<<16|h[k>>>8&255]<<8|h[N&255])^l[D++],B=B>>>0,z=z>>>0,G=G>>>0,$=$>>>0,[B,z,G,$]}var i=[0,1,2,4,8,16,32,64,128,27,54],s=function(){for(var a=new Array(256),l=0;l<256;l++)l<128?a[l]=l<<1:a[l]=l<<1^283;for(var u=[],h=[],p=[[],[],[],[]],g=[[],[],[],[]],w=0,y=0,C=0;C<256;++C){var T=y^y<<1^y<<2^y<<3^y<<4;T=T>>>8^T&255^99,u[w]=T,h[T]=w;var k=a[w],N=a[k],O=a[N],B=a[T]*257^T*16843008;p[0][w]=B<<24|B>>>8,p[1][w]=B<<16|B>>>16,p[2][w]=B<<8|B>>>24,p[3][w]=B,B=O*16843009^N*65537^k*257^w*16843008,g[0][T]=B<<24|B>>>8,g[1][T]=B<<16|B>>>16,g[2][T]=B<<8|B>>>24,g[3][T]=B,w===0?w=y=1:(w=k^a[a[a[O^k]]],y^=a[a[y]])}return{SBOX:u,INV_SBOX:h,SUB_MIX:p,INV_SUB_MIX:g}}();function o(a){this._key=e(a),this._reset()}return o.blockSize=4*4,o.keySize=256/8,o.prototype.blockSize=o.blockSize,o.prototype.keySize=o.keySize,o.prototype._reset=function(){for(var a=this._key,l=a.length,u=l+6,h=(u+1)*4,p=[],g=0;g>>24,w=s.SBOX[w>>>24]<<24|s.SBOX[w>>>16&255]<<16|s.SBOX[w>>>8&255]<<8|s.SBOX[w&255],w^=i[g/l|0]<<24):l>6&&g%l===4&&(w=s.SBOX[w>>>24]<<24|s.SBOX[w>>>16&255]<<16|s.SBOX[w>>>8&255]<<8|s.SBOX[w&255]),p[g]=p[g-l]^w}for(var y=[],C=0;C>>24]]^s.INV_SUB_MIX[1][s.SBOX[k>>>16&255]]^s.INV_SUB_MIX[2][s.SBOX[k>>>8&255]]^s.INV_SUB_MIX[3][s.SBOX[k&255]]}this._nRounds=u,this._keySchedule=p,this._invKeySchedule=y},o.prototype.encryptBlockRaw=function(a){return a=e(a),n(a,this._keySchedule,s.SUB_MIX,s.SBOX,this._nRounds)},o.prototype.encryptBlock=function(a){var l=this.encryptBlockRaw(a),u=r.allocUnsafe(16);return u.writeUInt32BE(l[0],0),u.writeUInt32BE(l[1],4),u.writeUInt32BE(l[2],8),u.writeUInt32BE(l[3],12),u},o.prototype.decryptBlock=function(a){a=e(a);var l=a[1];a[1]=a[3],a[3]=l;var u=n(a,this._invKeySchedule,s.INV_SUB_MIX,s.INV_SBOX,this._nRounds),h=r.allocUnsafe(16);return h.writeUInt32BE(u[0],0),h.writeUInt32BE(u[3],4),h.writeUInt32BE(u[2],8),h.writeUInt32BE(u[1],12),h},o.prototype.scrub=function(){t(this._keySchedule),t(this._invKeySchedule),t(this._key)},dD.AES=o,dD}var pD,Tie;function TTe(){if(Tie)return pD;Tie=1;var r=sn().Buffer,e=r.alloc(16,0);function t(s){return[s.readUInt32BE(0),s.readUInt32BE(4),s.readUInt32BE(8),s.readUInt32BE(12)]}function n(s){var o=r.allocUnsafe(16);return o.writeUInt32BE(s[0]>>>0,0),o.writeUInt32BE(s[1]>>>0,4),o.writeUInt32BE(s[2]>>>0,8),o.writeUInt32BE(s[3]>>>0,12),o}function i(s){this.h=s,this.state=r.alloc(16,0),this.cache=r.allocUnsafe(0)}return i.prototype.ghash=function(s){for(var o=-1;++o0;a--)s[a]=s[a]>>>1|(s[a-1]&1)<<31;s[0]=s[0]>>>1,u&&(s[0]=s[0]^225<<24)}this.state=n(o)},i.prototype.update=function(s){this.cache=r.concat([this.cache,s]);for(var o;this.cache.length>=16;)o=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(o)},i.prototype.final=function(s,o){return this.cache.length&&this.ghash(r.concat([this.cache,e],16)),this.ghash(n([0,s,0,o])),this.state},pD=i,pD}var gD,Rie;function kie(){if(Rie)return gD;Rie=1;var r=iS(),e=sn().Buffer,t=l1(),n=tn(),i=TTe(),s=k6(),o=_ie();function a(h,p){var g=0;h.length!==p.length&&g++;for(var w=Math.min(h.length,p.length),y=0;y0||o>0;){var p=new e;p.update(h),p.update(n),i&&p.update(i),h=p.digest();var g=0;if(a>0){var w=l.length-a;g=Math.min(a,h.length),h.copy(l,w,0,g),a-=g}if(g0){var y=u.length-o,C=Math.min(o,h.length-g);h.copy(u,y,g,g+C),o-=C}}return h.fill(0),{key:l,iv:u}}return bD=t,bD}var Oie;function RTe(){if(Oie)return tS;Oie=1;var r=fD(),e=kie(),t=sn().Buffer,n=Nie(),i=l1(),s=iS(),o=sS(),a=tn();function l(w,y,C){i.call(this),this._cache=new h,this._cipher=new s.AES(y),this._prev=t.from(C),this._mode=w,this._autopadding=!0}a(l,i),l.prototype._update=function(w){this._cache.add(w);for(var y,C,T=[];y=this._cache.get();)C=this._mode.encrypt(this,y),T.push(C);return t.concat(T)};var u=t.alloc(16,16);l.prototype._final=function(){var w=this._cache.flush();if(this._autopadding)return w=this._mode.encrypt(this,w),this._cipher.scrub(),w;if(!w.equals(u))throw this._cipher.scrub(),new Error("data not multiple of block length")},l.prototype.setAutoPadding=function(w){return this._autopadding=!!w,this};function h(){this.cache=t.allocUnsafe(0)}h.prototype.add=function(w){this.cache=t.concat([this.cache,w])},h.prototype.get=function(){if(this.cache.length>15){var w=this.cache.slice(0,16);return this.cache=this.cache.slice(16),w}return null},h.prototype.flush=function(){for(var w=16-this.cache.length,y=t.allocUnsafe(w),C=-1;++C16)return y=this.cache.slice(0,16),this.cache=this.cache.slice(16),y}else if(this.cache.length>=16)return y=this.cache.slice(0,16),this.cache=this.cache.slice(16),y;return null},u.prototype.flush=function(){if(this.cache.length)return this.cache};function h(w){var y=w[15];if(y<1||y>16)throw new Error("unable to decrypt data");for(var C=-1;++C0?M:b},s.min=function(M,b){return M.cmp(b)<0?M:b},s.prototype._init=function(M,b,d){if(typeof M=="number")return this._initNumber(M,b,d);if(typeof M=="object")return this._initArray(M,b,d);b==="hex"&&(b=16),n(b===(b|0)&&b>=2&&b<=36),M=M.toString().replace(/\s+/g,"");var m=0;M[0]==="-"&&(m++,this.negative=1),m=0;m-=3)A=M[m]|M[m-1]<<8|M[m-2]<<16,this.words[x]|=A<>>26-I&67108863,I+=24,I>=26&&(I-=26,x++);else if(d==="le")for(m=0,x=0;m>>26-I&67108863,I+=24,I>=26&&(I-=26,x++);return this.strip()};function a(F,M){var b=F.charCodeAt(M);return b>=65&&b<=70?b-55:b>=97&&b<=102?b-87:b-48&15}function l(F,M,b){var d=a(F,b);return b-1>=M&&(d|=a(F,b-1)<<4),d}s.prototype._parseHex=function(M,b,d){this.length=Math.ceil((M.length-b)/6),this.words=new Array(this.length);for(var m=0;m=b;m-=2)I=l(M,b,m)<=18?(x-=18,A+=1,this.words[A]|=I>>>26):x+=8;else{var R=M.length-b;for(m=R%2===0?b+1:b;m=18?(x-=18,A+=1,this.words[A]|=I>>>26):x+=8}this.strip()};function u(F,M,b,d){for(var m=0,x=Math.min(F.length,b),A=M;A=49?m+=I-49+10:I>=17?m+=I-17+10:m+=I}return m}s.prototype._parseBase=function(M,b,d){this.words=[0],this.length=1;for(var m=0,x=1;x<=67108863;x*=b)m++;m--,x=x/b|0;for(var A=M.length-d,I=A%m,R=Math.min(A,A-I)+d,S=0,E=d;E1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},s.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var h=["","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"],p=[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],g=[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,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];s.prototype.toString=function(M,b){M=M||10,b=b|0||1;var d;if(M===16||M==="hex"){d="";for(var m=0,x=0,A=0;A>>24-m&16777215,x!==0||A!==this.length-1?d=h[6-R.length]+R+d:d=R+d,m+=2,m>=26&&(m-=26,A--)}for(x!==0&&(d=x.toString(16)+d);d.length%b!==0;)d="0"+d;return this.negative!==0&&(d="-"+d),d}if(M===(M|0)&&M>=2&&M<=36){var S=p[M],E=g[M];d="";var _=this.clone();for(_.negative=0;!_.isZero();){var L=_.modn(E).toString(M);_=_.idivn(E),_.isZero()?d=L+d:d=h[S-L.length]+L+d}for(this.isZero()&&(d="0"+d);d.length%b!==0;)d="0"+d;return this.negative!==0&&(d="-"+d),d}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var M=this.words[0];return this.length===2?M+=this.words[1]*67108864:this.length===3&&this.words[2]===1?M+=4503599627370496+this.words[1]*67108864:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-M:M},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(M,b){return n(typeof o<"u"),this.toArrayLike(o,M,b)},s.prototype.toArray=function(M,b){return this.toArrayLike(Array,M,b)},s.prototype.toArrayLike=function(M,b,d){var m=this.byteLength(),x=d||Math.max(1,m);n(m<=x,"byte array longer than desired length"),n(x>0,"Requested array length <= 0"),this.strip();var A=b==="le",I=new M(x),R,S,E=this.clone();if(A){for(S=0;!E.isZero();S++)R=E.andln(255),E.iushrn(8),I[S]=R;for(;S=4096&&(d+=13,b>>>=13),b>=64&&(d+=7,b>>>=7),b>=8&&(d+=4,b>>>=4),b>=2&&(d+=2,b>>>=2),d+b},s.prototype._zeroBits=function(M){if(M===0)return 26;var b=M,d=0;return b&8191||(d+=13,b>>>=13),b&127||(d+=7,b>>>=7),b&15||(d+=4,b>>>=4),b&3||(d+=2,b>>>=2),b&1||d++,d},s.prototype.bitLength=function(){var M=this.words[this.length-1],b=this._countBits(M);return(this.length-1)*26+b};function w(F){for(var M=new Array(F.bitLength()),b=0;b>>m}return M}s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var M=0,b=0;bM.length?this.clone().ior(M):M.clone().ior(this)},s.prototype.uor=function(M){return this.length>M.length?this.clone().iuor(M):M.clone().iuor(this)},s.prototype.iuand=function(M){var b;this.length>M.length?b=M:b=this;for(var d=0;dM.length?this.clone().iand(M):M.clone().iand(this)},s.prototype.uand=function(M){return this.length>M.length?this.clone().iuand(M):M.clone().iuand(this)},s.prototype.iuxor=function(M){var b,d;this.length>M.length?(b=this,d=M):(b=M,d=this);for(var m=0;mM.length?this.clone().ixor(M):M.clone().ixor(this)},s.prototype.uxor=function(M){return this.length>M.length?this.clone().iuxor(M):M.clone().iuxor(this)},s.prototype.inotn=function(M){n(typeof M=="number"&&M>=0);var b=Math.ceil(M/26)|0,d=M%26;this._expand(b),d>0&&b--;for(var m=0;m0&&(this.words[m]=~this.words[m]&67108863>>26-d),this.strip()},s.prototype.notn=function(M){return this.clone().inotn(M)},s.prototype.setn=function(M,b){n(typeof M=="number"&&M>=0);var d=M/26|0,m=M%26;return this._expand(d+1),b?this.words[d]=this.words[d]|1<M.length?(d=this,m=M):(d=M,m=this);for(var x=0,A=0;A>>26;for(;x!==0&&A>>26;if(this.length=d.length,x!==0)this.words[this.length]=x,this.length++;else if(d!==this)for(;AM.length?this.clone().iadd(M):M.clone().iadd(this)},s.prototype.isub=function(M){if(M.negative!==0){M.negative=0;var b=this.iadd(M);return M.negative=1,b._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(M),this.negative=1,this._normSign();var d=this.cmp(M);if(d===0)return this.negative=0,this.length=1,this.words[0]=0,this;var m,x;d>0?(m=this,x=M):(m=M,x=this);for(var A=0,I=0;I>26,this.words[I]=b&67108863;for(;A!==0&&I>26,this.words[I]=b&67108863;if(A===0&&I>>26,_=R&67108863,L=Math.min(S,M.length-1),ie=Math.max(0,S-F.length+1);ie<=L;ie++){var q=S-ie|0;m=F.words[q]|0,x=M.words[ie]|0,A=m*x+_,E+=A/67108864|0,_=A&67108863}b.words[S]=_|0,R=E|0}return R!==0?b.words[S]=R|0:b.length--,b.strip()}var C=function(M,b,d){var m=M.words,x=b.words,A=d.words,I=0,R,S,E,_=m[0]|0,L=_&8191,ie=_>>>13,q=m[1]|0,Y=q&8191,K=q>>>13,te=m[2]|0,re=te&8191,H=te>>>13,U=m[3]|0,W=U&8191,le=U>>>13,de=m[4]|0,Se=de&8191,Me=de>>>13,ke=m[5]|0,Ke=ke&8191,Re=ke>>>13,je=m[6]|0,De=je&8191,Je=je>>>13,ze=m[7]|0,qe=ze&8191,Ve=ze>>>13,He=m[8]|0,Be=He&8191,Ge=He>>>13,Xe=m[9]|0,se=Xe&8191,J=Xe>>>13,X=x[0]|0,ue=X&8191,we=X>>>13,ye=x[1]|0,Ie=ye&8191,it=ye>>>13,ot=x[2]|0,tt=ot&8191,It=ot>>>13,st=x[3]|0,Nt=st&8191,Lt=st>>>13,ht=x[4]|0,wt=ht&8191,Ut=ht>>>13,ft=x[5]|0,dt=ft&8191,Vt=ft>>>13,xt=x[6]|0,pt=xt&8191,Gt=xt>>>13,gt=x[7]|0,vt=gt&8191,Ft=gt>>>13,lt=x[8]|0,_t=lt&8191,Kt=lt>>>13,Ht=x[9]|0,qt=Ht&8191,br=Ht>>>13;d.negative=M.negative^b.negative,d.length=19,R=Math.imul(L,ue),S=Math.imul(L,we),S=S+Math.imul(ie,ue)|0,E=Math.imul(ie,we);var Tt=(I+R|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,R=Math.imul(Y,ue),S=Math.imul(Y,we),S=S+Math.imul(K,ue)|0,E=Math.imul(K,we),R=R+Math.imul(L,Ie)|0,S=S+Math.imul(L,it)|0,S=S+Math.imul(ie,Ie)|0,E=E+Math.imul(ie,it)|0;var ur=(I+R|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(ur>>>26)|0,ur&=67108863,R=Math.imul(re,ue),S=Math.imul(re,we),S=S+Math.imul(H,ue)|0,E=Math.imul(H,we),R=R+Math.imul(Y,Ie)|0,S=S+Math.imul(Y,it)|0,S=S+Math.imul(K,Ie)|0,E=E+Math.imul(K,it)|0,R=R+Math.imul(L,tt)|0,S=S+Math.imul(L,It)|0,S=S+Math.imul(ie,tt)|0,E=E+Math.imul(ie,It)|0;var Xn=(I+R|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(Xn>>>26)|0,Xn&=67108863,R=Math.imul(W,ue),S=Math.imul(W,we),S=S+Math.imul(le,ue)|0,E=Math.imul(le,we),R=R+Math.imul(re,Ie)|0,S=S+Math.imul(re,it)|0,S=S+Math.imul(H,Ie)|0,E=E+Math.imul(H,it)|0,R=R+Math.imul(Y,tt)|0,S=S+Math.imul(Y,It)|0,S=S+Math.imul(K,tt)|0,E=E+Math.imul(K,It)|0,R=R+Math.imul(L,Nt)|0,S=S+Math.imul(L,Lt)|0,S=S+Math.imul(ie,Nt)|0,E=E+Math.imul(ie,Lt)|0;var ei=(I+R|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(ei>>>26)|0,ei&=67108863,R=Math.imul(Se,ue),S=Math.imul(Se,we),S=S+Math.imul(Me,ue)|0,E=Math.imul(Me,we),R=R+Math.imul(W,Ie)|0,S=S+Math.imul(W,it)|0,S=S+Math.imul(le,Ie)|0,E=E+Math.imul(le,it)|0,R=R+Math.imul(re,tt)|0,S=S+Math.imul(re,It)|0,S=S+Math.imul(H,tt)|0,E=E+Math.imul(H,It)|0,R=R+Math.imul(Y,Nt)|0,S=S+Math.imul(Y,Lt)|0,S=S+Math.imul(K,Nt)|0,E=E+Math.imul(K,Lt)|0,R=R+Math.imul(L,wt)|0,S=S+Math.imul(L,Ut)|0,S=S+Math.imul(ie,wt)|0,E=E+Math.imul(ie,Ut)|0;var ti=(I+R|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(ti>>>26)|0,ti&=67108863,R=Math.imul(Ke,ue),S=Math.imul(Ke,we),S=S+Math.imul(Re,ue)|0,E=Math.imul(Re,we),R=R+Math.imul(Se,Ie)|0,S=S+Math.imul(Se,it)|0,S=S+Math.imul(Me,Ie)|0,E=E+Math.imul(Me,it)|0,R=R+Math.imul(W,tt)|0,S=S+Math.imul(W,It)|0,S=S+Math.imul(le,tt)|0,E=E+Math.imul(le,It)|0,R=R+Math.imul(re,Nt)|0,S=S+Math.imul(re,Lt)|0,S=S+Math.imul(H,Nt)|0,E=E+Math.imul(H,Lt)|0,R=R+Math.imul(Y,wt)|0,S=S+Math.imul(Y,Ut)|0,S=S+Math.imul(K,wt)|0,E=E+Math.imul(K,Ut)|0,R=R+Math.imul(L,dt)|0,S=S+Math.imul(L,Vt)|0,S=S+Math.imul(ie,dt)|0,E=E+Math.imul(ie,Vt)|0;var ri=(I+R|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(ri>>>26)|0,ri&=67108863,R=Math.imul(De,ue),S=Math.imul(De,we),S=S+Math.imul(Je,ue)|0,E=Math.imul(Je,we),R=R+Math.imul(Ke,Ie)|0,S=S+Math.imul(Ke,it)|0,S=S+Math.imul(Re,Ie)|0,E=E+Math.imul(Re,it)|0,R=R+Math.imul(Se,tt)|0,S=S+Math.imul(Se,It)|0,S=S+Math.imul(Me,tt)|0,E=E+Math.imul(Me,It)|0,R=R+Math.imul(W,Nt)|0,S=S+Math.imul(W,Lt)|0,S=S+Math.imul(le,Nt)|0,E=E+Math.imul(le,Lt)|0,R=R+Math.imul(re,wt)|0,S=S+Math.imul(re,Ut)|0,S=S+Math.imul(H,wt)|0,E=E+Math.imul(H,Ut)|0,R=R+Math.imul(Y,dt)|0,S=S+Math.imul(Y,Vt)|0,S=S+Math.imul(K,dt)|0,E=E+Math.imul(K,Vt)|0,R=R+Math.imul(L,pt)|0,S=S+Math.imul(L,Gt)|0,S=S+Math.imul(ie,pt)|0,E=E+Math.imul(ie,Gt)|0;var bn=(I+R|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(bn>>>26)|0,bn&=67108863,R=Math.imul(qe,ue),S=Math.imul(qe,we),S=S+Math.imul(Ve,ue)|0,E=Math.imul(Ve,we),R=R+Math.imul(De,Ie)|0,S=S+Math.imul(De,it)|0,S=S+Math.imul(Je,Ie)|0,E=E+Math.imul(Je,it)|0,R=R+Math.imul(Ke,tt)|0,S=S+Math.imul(Ke,It)|0,S=S+Math.imul(Re,tt)|0,E=E+Math.imul(Re,It)|0,R=R+Math.imul(Se,Nt)|0,S=S+Math.imul(Se,Lt)|0,S=S+Math.imul(Me,Nt)|0,E=E+Math.imul(Me,Lt)|0,R=R+Math.imul(W,wt)|0,S=S+Math.imul(W,Ut)|0,S=S+Math.imul(le,wt)|0,E=E+Math.imul(le,Ut)|0,R=R+Math.imul(re,dt)|0,S=S+Math.imul(re,Vt)|0,S=S+Math.imul(H,dt)|0,E=E+Math.imul(H,Vt)|0,R=R+Math.imul(Y,pt)|0,S=S+Math.imul(Y,Gt)|0,S=S+Math.imul(K,pt)|0,E=E+Math.imul(K,Gt)|0,R=R+Math.imul(L,vt)|0,S=S+Math.imul(L,Ft)|0,S=S+Math.imul(ie,vt)|0,E=E+Math.imul(ie,Ft)|0;var qn=(I+R|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(qn>>>26)|0,qn&=67108863,R=Math.imul(Be,ue),S=Math.imul(Be,we),S=S+Math.imul(Ge,ue)|0,E=Math.imul(Ge,we),R=R+Math.imul(qe,Ie)|0,S=S+Math.imul(qe,it)|0,S=S+Math.imul(Ve,Ie)|0,E=E+Math.imul(Ve,it)|0,R=R+Math.imul(De,tt)|0,S=S+Math.imul(De,It)|0,S=S+Math.imul(Je,tt)|0,E=E+Math.imul(Je,It)|0,R=R+Math.imul(Ke,Nt)|0,S=S+Math.imul(Ke,Lt)|0,S=S+Math.imul(Re,Nt)|0,E=E+Math.imul(Re,Lt)|0,R=R+Math.imul(Se,wt)|0,S=S+Math.imul(Se,Ut)|0,S=S+Math.imul(Me,wt)|0,E=E+Math.imul(Me,Ut)|0,R=R+Math.imul(W,dt)|0,S=S+Math.imul(W,Vt)|0,S=S+Math.imul(le,dt)|0,E=E+Math.imul(le,Vt)|0,R=R+Math.imul(re,pt)|0,S=S+Math.imul(re,Gt)|0,S=S+Math.imul(H,pt)|0,E=E+Math.imul(H,Gt)|0,R=R+Math.imul(Y,vt)|0,S=S+Math.imul(Y,Ft)|0,S=S+Math.imul(K,vt)|0,E=E+Math.imul(K,Ft)|0,R=R+Math.imul(L,_t)|0,S=S+Math.imul(L,Kt)|0,S=S+Math.imul(ie,_t)|0,E=E+Math.imul(ie,Kt)|0;var Di=(I+R|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(Di>>>26)|0,Di&=67108863,R=Math.imul(se,ue),S=Math.imul(se,we),S=S+Math.imul(J,ue)|0,E=Math.imul(J,we),R=R+Math.imul(Be,Ie)|0,S=S+Math.imul(Be,it)|0,S=S+Math.imul(Ge,Ie)|0,E=E+Math.imul(Ge,it)|0,R=R+Math.imul(qe,tt)|0,S=S+Math.imul(qe,It)|0,S=S+Math.imul(Ve,tt)|0,E=E+Math.imul(Ve,It)|0,R=R+Math.imul(De,Nt)|0,S=S+Math.imul(De,Lt)|0,S=S+Math.imul(Je,Nt)|0,E=E+Math.imul(Je,Lt)|0,R=R+Math.imul(Ke,wt)|0,S=S+Math.imul(Ke,Ut)|0,S=S+Math.imul(Re,wt)|0,E=E+Math.imul(Re,Ut)|0,R=R+Math.imul(Se,dt)|0,S=S+Math.imul(Se,Vt)|0,S=S+Math.imul(Me,dt)|0,E=E+Math.imul(Me,Vt)|0,R=R+Math.imul(W,pt)|0,S=S+Math.imul(W,Gt)|0,S=S+Math.imul(le,pt)|0,E=E+Math.imul(le,Gt)|0,R=R+Math.imul(re,vt)|0,S=S+Math.imul(re,Ft)|0,S=S+Math.imul(H,vt)|0,E=E+Math.imul(H,Ft)|0,R=R+Math.imul(Y,_t)|0,S=S+Math.imul(Y,Kt)|0,S=S+Math.imul(K,_t)|0,E=E+Math.imul(K,Kt)|0,R=R+Math.imul(L,qt)|0,S=S+Math.imul(L,br)|0,S=S+Math.imul(ie,qt)|0,E=E+Math.imul(ie,br)|0;var Wn=(I+R|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(Wn>>>26)|0,Wn&=67108863,R=Math.imul(se,Ie),S=Math.imul(se,it),S=S+Math.imul(J,Ie)|0,E=Math.imul(J,it),R=R+Math.imul(Be,tt)|0,S=S+Math.imul(Be,It)|0,S=S+Math.imul(Ge,tt)|0,E=E+Math.imul(Ge,It)|0,R=R+Math.imul(qe,Nt)|0,S=S+Math.imul(qe,Lt)|0,S=S+Math.imul(Ve,Nt)|0,E=E+Math.imul(Ve,Lt)|0,R=R+Math.imul(De,wt)|0,S=S+Math.imul(De,Ut)|0,S=S+Math.imul(Je,wt)|0,E=E+Math.imul(Je,Ut)|0,R=R+Math.imul(Ke,dt)|0,S=S+Math.imul(Ke,Vt)|0,S=S+Math.imul(Re,dt)|0,E=E+Math.imul(Re,Vt)|0,R=R+Math.imul(Se,pt)|0,S=S+Math.imul(Se,Gt)|0,S=S+Math.imul(Me,pt)|0,E=E+Math.imul(Me,Gt)|0,R=R+Math.imul(W,vt)|0,S=S+Math.imul(W,Ft)|0,S=S+Math.imul(le,vt)|0,E=E+Math.imul(le,Ft)|0,R=R+Math.imul(re,_t)|0,S=S+Math.imul(re,Kt)|0,S=S+Math.imul(H,_t)|0,E=E+Math.imul(H,Kt)|0,R=R+Math.imul(Y,qt)|0,S=S+Math.imul(Y,br)|0,S=S+Math.imul(K,qt)|0,E=E+Math.imul(K,br)|0;var $i=(I+R|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+($i>>>26)|0,$i&=67108863,R=Math.imul(se,tt),S=Math.imul(se,It),S=S+Math.imul(J,tt)|0,E=Math.imul(J,It),R=R+Math.imul(Be,Nt)|0,S=S+Math.imul(Be,Lt)|0,S=S+Math.imul(Ge,Nt)|0,E=E+Math.imul(Ge,Lt)|0,R=R+Math.imul(qe,wt)|0,S=S+Math.imul(qe,Ut)|0,S=S+Math.imul(Ve,wt)|0,E=E+Math.imul(Ve,Ut)|0,R=R+Math.imul(De,dt)|0,S=S+Math.imul(De,Vt)|0,S=S+Math.imul(Je,dt)|0,E=E+Math.imul(Je,Vt)|0,R=R+Math.imul(Ke,pt)|0,S=S+Math.imul(Ke,Gt)|0,S=S+Math.imul(Re,pt)|0,E=E+Math.imul(Re,Gt)|0,R=R+Math.imul(Se,vt)|0,S=S+Math.imul(Se,Ft)|0,S=S+Math.imul(Me,vt)|0,E=E+Math.imul(Me,Ft)|0,R=R+Math.imul(W,_t)|0,S=S+Math.imul(W,Kt)|0,S=S+Math.imul(le,_t)|0,E=E+Math.imul(le,Kt)|0,R=R+Math.imul(re,qt)|0,S=S+Math.imul(re,br)|0,S=S+Math.imul(H,qt)|0,E=E+Math.imul(H,br)|0;var Bi=(I+R|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(Bi>>>26)|0,Bi&=67108863,R=Math.imul(se,Nt),S=Math.imul(se,Lt),S=S+Math.imul(J,Nt)|0,E=Math.imul(J,Lt),R=R+Math.imul(Be,wt)|0,S=S+Math.imul(Be,Ut)|0,S=S+Math.imul(Ge,wt)|0,E=E+Math.imul(Ge,Ut)|0,R=R+Math.imul(qe,dt)|0,S=S+Math.imul(qe,Vt)|0,S=S+Math.imul(Ve,dt)|0,E=E+Math.imul(Ve,Vt)|0,R=R+Math.imul(De,pt)|0,S=S+Math.imul(De,Gt)|0,S=S+Math.imul(Je,pt)|0,E=E+Math.imul(Je,Gt)|0,R=R+Math.imul(Ke,vt)|0,S=S+Math.imul(Ke,Ft)|0,S=S+Math.imul(Re,vt)|0,E=E+Math.imul(Re,Ft)|0,R=R+Math.imul(Se,_t)|0,S=S+Math.imul(Se,Kt)|0,S=S+Math.imul(Me,_t)|0,E=E+Math.imul(Me,Kt)|0,R=R+Math.imul(W,qt)|0,S=S+Math.imul(W,br)|0,S=S+Math.imul(le,qt)|0,E=E+Math.imul(le,br)|0;var bi=(I+R|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(bi>>>26)|0,bi&=67108863,R=Math.imul(se,wt),S=Math.imul(se,Ut),S=S+Math.imul(J,wt)|0,E=Math.imul(J,Ut),R=R+Math.imul(Be,dt)|0,S=S+Math.imul(Be,Vt)|0,S=S+Math.imul(Ge,dt)|0,E=E+Math.imul(Ge,Vt)|0,R=R+Math.imul(qe,pt)|0,S=S+Math.imul(qe,Gt)|0,S=S+Math.imul(Ve,pt)|0,E=E+Math.imul(Ve,Gt)|0,R=R+Math.imul(De,vt)|0,S=S+Math.imul(De,Ft)|0,S=S+Math.imul(Je,vt)|0,E=E+Math.imul(Je,Ft)|0,R=R+Math.imul(Ke,_t)|0,S=S+Math.imul(Ke,Kt)|0,S=S+Math.imul(Re,_t)|0,E=E+Math.imul(Re,Kt)|0,R=R+Math.imul(Se,qt)|0,S=S+Math.imul(Se,br)|0,S=S+Math.imul(Me,qt)|0,E=E+Math.imul(Me,br)|0;var Ei=(I+R|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(Ei>>>26)|0,Ei&=67108863,R=Math.imul(se,dt),S=Math.imul(se,Vt),S=S+Math.imul(J,dt)|0,E=Math.imul(J,Vt),R=R+Math.imul(Be,pt)|0,S=S+Math.imul(Be,Gt)|0,S=S+Math.imul(Ge,pt)|0,E=E+Math.imul(Ge,Gt)|0,R=R+Math.imul(qe,vt)|0,S=S+Math.imul(qe,Ft)|0,S=S+Math.imul(Ve,vt)|0,E=E+Math.imul(Ve,Ft)|0,R=R+Math.imul(De,_t)|0,S=S+Math.imul(De,Kt)|0,S=S+Math.imul(Je,_t)|0,E=E+Math.imul(Je,Kt)|0,R=R+Math.imul(Ke,qt)|0,S=S+Math.imul(Ke,br)|0,S=S+Math.imul(Re,qt)|0,E=E+Math.imul(Re,br)|0;var Ai=(I+R|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(Ai>>>26)|0,Ai&=67108863,R=Math.imul(se,pt),S=Math.imul(se,Gt),S=S+Math.imul(J,pt)|0,E=Math.imul(J,Gt),R=R+Math.imul(Be,vt)|0,S=S+Math.imul(Be,Ft)|0,S=S+Math.imul(Ge,vt)|0,E=E+Math.imul(Ge,Ft)|0,R=R+Math.imul(qe,_t)|0,S=S+Math.imul(qe,Kt)|0,S=S+Math.imul(Ve,_t)|0,E=E+Math.imul(Ve,Kt)|0,R=R+Math.imul(De,qt)|0,S=S+Math.imul(De,br)|0,S=S+Math.imul(Je,qt)|0,E=E+Math.imul(Je,br)|0;var Cn=(I+R|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(Cn>>>26)|0,Cn&=67108863,R=Math.imul(se,vt),S=Math.imul(se,Ft),S=S+Math.imul(J,vt)|0,E=Math.imul(J,Ft),R=R+Math.imul(Be,_t)|0,S=S+Math.imul(Be,Kt)|0,S=S+Math.imul(Ge,_t)|0,E=E+Math.imul(Ge,Kt)|0,R=R+Math.imul(qe,qt)|0,S=S+Math.imul(qe,br)|0,S=S+Math.imul(Ve,qt)|0,E=E+Math.imul(Ve,br)|0;var Rs=(I+R|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(Rs>>>26)|0,Rs&=67108863,R=Math.imul(se,_t),S=Math.imul(se,Kt),S=S+Math.imul(J,_t)|0,E=Math.imul(J,Kt),R=R+Math.imul(Be,qt)|0,S=S+Math.imul(Be,br)|0,S=S+Math.imul(Ge,qt)|0,E=E+Math.imul(Ge,br)|0;var ks=(I+R|0)+((S&8191)<<13)|0;I=(E+(S>>>13)|0)+(ks>>>26)|0,ks&=67108863,R=Math.imul(se,qt),S=Math.imul(se,br),S=S+Math.imul(J,qt)|0,E=Math.imul(J,br);var Ms=(I+R|0)+((S&8191)<<13)|0;return I=(E+(S>>>13)|0)+(Ms>>>26)|0,Ms&=67108863,A[0]=Tt,A[1]=ur,A[2]=Xn,A[3]=ei,A[4]=ti,A[5]=ri,A[6]=bn,A[7]=qn,A[8]=Di,A[9]=Wn,A[10]=$i,A[11]=Bi,A[12]=bi,A[13]=Ei,A[14]=Ai,A[15]=Cn,A[16]=Rs,A[17]=ks,A[18]=Ms,I!==0&&(A[19]=I,d.length++),d};Math.imul||(C=y);function T(F,M,b){b.negative=M.negative^F.negative,b.length=F.length+M.length;for(var d=0,m=0,x=0;x>>26)|0,m+=A>>>26,A&=67108863}b.words[x]=I,d=A,A=m}return d!==0?b.words[x]=d:b.length--,b.strip()}function k(F,M,b){var d=new N;return d.mulp(F,M,b)}s.prototype.mulTo=function(M,b){var d,m=this.length+M.length;return this.length===10&&M.length===10?d=C(this,M,b):m<63?d=y(this,M,b):m<1024?d=T(this,M,b):d=k(this,M,b),d};function N(F,M){this.x=F,this.y=M}N.prototype.makeRBT=function(M){for(var b=new Array(M),d=s.prototype._countBits(M)-1,m=0;m>=1;return m},N.prototype.permute=function(M,b,d,m,x,A){for(var I=0;I>>1)x++;return 1<>>13,d[2*A+1]=x&8191,x=x>>>13;for(A=2*b;A>=26,b+=m/67108864|0,b+=x>>>26,this.words[d]=x&67108863}return b!==0&&(this.words[d]=b,this.length++),this},s.prototype.muln=function(M){return this.clone().imuln(M)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(M){var b=w(M);if(b.length===0)return new s(1);for(var d=this,m=0;m=0);var b=M%26,d=(M-b)/26,m=67108863>>>26-b<<26-b,x;if(b!==0){var A=0;for(x=0;x>>26-b}A&&(this.words[x]=A,this.length++)}if(d!==0){for(x=this.length-1;x>=0;x--)this.words[x+d]=this.words[x];for(x=0;x=0);var m;b?m=(b-b%26)/26:m=0;var x=M%26,A=Math.min((M-x)/26,this.length),I=67108863^67108863>>>x<A)for(this.length-=A,S=0;S=0&&(E!==0||S>=m);S--){var _=this.words[S]|0;this.words[S]=E<<26-x|_>>>x,E=_&I}return R&&E!==0&&(R.words[R.length++]=E),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(M,b,d){return n(this.negative===0),this.iushrn(M,b,d)},s.prototype.shln=function(M){return this.clone().ishln(M)},s.prototype.ushln=function(M){return this.clone().iushln(M)},s.prototype.shrn=function(M){return this.clone().ishrn(M)},s.prototype.ushrn=function(M){return this.clone().iushrn(M)},s.prototype.testn=function(M){n(typeof M=="number"&&M>=0);var b=M%26,d=(M-b)/26,m=1<=0);var b=M%26,d=(M-b)/26;if(n(this.negative===0,"imaskn works only with positive numbers"),this.length<=d)return this;if(b!==0&&d++,this.length=Math.min(d,this.length),b!==0){var m=67108863^67108863>>>b<=67108864;b++)this.words[b]-=67108864,b===this.length-1?this.words[b+1]=1:this.words[b+1]++;return this.length=Math.max(this.length,b+1),this},s.prototype.isubn=function(M){if(n(typeof M=="number"),n(M<67108864),M<0)return this.iaddn(-M);if(this.negative!==0)return this.negative=0,this.iaddn(M),this.negative=1,this;if(this.words[0]-=M,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var b=0;b>26)-(R/67108864|0),this.words[x+d]=A&67108863}for(;x>26,this.words[x+d]=A&67108863;if(I===0)return this.strip();for(n(I===-1),I=0,x=0;x>26,this.words[x]=A&67108863;return this.negative=1,this.strip()},s.prototype._wordDiv=function(M,b){var d=this.length-M.length,m=this.clone(),x=M,A=x.words[x.length-1]|0,I=this._countBits(A);d=26-I,d!==0&&(x=x.ushln(d),m.iushln(d),A=x.words[x.length-1]|0);var R=m.length-x.length,S;if(b!=="mod"){S=new s(null),S.length=R+1,S.words=new Array(S.length);for(var E=0;E=0;L--){var ie=(m.words[x.length+L]|0)*67108864+(m.words[x.length+L-1]|0);for(ie=Math.min(ie/A|0,67108863),m._ishlnsubmul(x,ie,L);m.negative!==0;)ie--,m.negative=0,m._ishlnsubmul(x,1,L),m.isZero()||(m.negative^=1);S&&(S.words[L]=ie)}return S&&S.strip(),m.strip(),b!=="div"&&d!==0&&m.iushrn(d),{div:S||null,mod:m}},s.prototype.divmod=function(M,b,d){if(n(!M.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var m,x,A;return this.negative!==0&&M.negative===0?(A=this.neg().divmod(M,b),b!=="mod"&&(m=A.div.neg()),b!=="div"&&(x=A.mod.neg(),d&&x.negative!==0&&x.iadd(M)),{div:m,mod:x}):this.negative===0&&M.negative!==0?(A=this.divmod(M.neg(),b),b!=="mod"&&(m=A.div.neg()),{div:m,mod:A.mod}):this.negative&M.negative?(A=this.neg().divmod(M.neg(),b),b!=="div"&&(x=A.mod.neg(),d&&x.negative!==0&&x.isub(M)),{div:A.div,mod:x}):M.length>this.length||this.cmp(M)<0?{div:new s(0),mod:this}:M.length===1?b==="div"?{div:this.divn(M.words[0]),mod:null}:b==="mod"?{div:null,mod:new s(this.modn(M.words[0]))}:{div:this.divn(M.words[0]),mod:new s(this.modn(M.words[0]))}:this._wordDiv(M,b)},s.prototype.div=function(M){return this.divmod(M,"div",!1).div},s.prototype.mod=function(M){return this.divmod(M,"mod",!1).mod},s.prototype.umod=function(M){return this.divmod(M,"mod",!0).mod},s.prototype.divRound=function(M){var b=this.divmod(M);if(b.mod.isZero())return b.div;var d=b.div.negative!==0?b.mod.isub(M):b.mod,m=M.ushrn(1),x=M.andln(1),A=d.cmp(m);return A<0||x===1&&A===0?b.div:b.div.negative!==0?b.div.isubn(1):b.div.iaddn(1)},s.prototype.modn=function(M){n(M<=67108863);for(var b=(1<<26)%M,d=0,m=this.length-1;m>=0;m--)d=(b*d+(this.words[m]|0))%M;return d},s.prototype.idivn=function(M){n(M<=67108863);for(var b=0,d=this.length-1;d>=0;d--){var m=(this.words[d]|0)+b*67108864;this.words[d]=m/M|0,b=m%M}return this.strip()},s.prototype.divn=function(M){return this.clone().idivn(M)},s.prototype.egcd=function(M){n(M.negative===0),n(!M.isZero());var b=this,d=M.clone();b.negative!==0?b=b.umod(M):b=b.clone();for(var m=new s(1),x=new s(0),A=new s(0),I=new s(1),R=0;b.isEven()&&d.isEven();)b.iushrn(1),d.iushrn(1),++R;for(var S=d.clone(),E=b.clone();!b.isZero();){for(var _=0,L=1;!(b.words[0]&L)&&_<26;++_,L<<=1);if(_>0)for(b.iushrn(_);_-- >0;)(m.isOdd()||x.isOdd())&&(m.iadd(S),x.isub(E)),m.iushrn(1),x.iushrn(1);for(var ie=0,q=1;!(d.words[0]&q)&&ie<26;++ie,q<<=1);if(ie>0)for(d.iushrn(ie);ie-- >0;)(A.isOdd()||I.isOdd())&&(A.iadd(S),I.isub(E)),A.iushrn(1),I.iushrn(1);b.cmp(d)>=0?(b.isub(d),m.isub(A),x.isub(I)):(d.isub(b),A.isub(m),I.isub(x))}return{a:A,b:I,gcd:d.iushln(R)}},s.prototype._invmp=function(M){n(M.negative===0),n(!M.isZero());var b=this,d=M.clone();b.negative!==0?b=b.umod(M):b=b.clone();for(var m=new s(1),x=new s(0),A=d.clone();b.cmpn(1)>0&&d.cmpn(1)>0;){for(var I=0,R=1;!(b.words[0]&R)&&I<26;++I,R<<=1);if(I>0)for(b.iushrn(I);I-- >0;)m.isOdd()&&m.iadd(A),m.iushrn(1);for(var S=0,E=1;!(d.words[0]&E)&&S<26;++S,E<<=1);if(S>0)for(d.iushrn(S);S-- >0;)x.isOdd()&&x.iadd(A),x.iushrn(1);b.cmp(d)>=0?(b.isub(d),m.isub(x)):(d.isub(b),x.isub(m))}var _;return b.cmpn(1)===0?_=m:_=x,_.cmpn(0)<0&&_.iadd(M),_},s.prototype.gcd=function(M){if(this.isZero())return M.abs();if(M.isZero())return this.abs();var b=this.clone(),d=M.clone();b.negative=0,d.negative=0;for(var m=0;b.isEven()&&d.isEven();m++)b.iushrn(1),d.iushrn(1);do{for(;b.isEven();)b.iushrn(1);for(;d.isEven();)d.iushrn(1);var x=b.cmp(d);if(x<0){var A=b;b=d,d=A}else if(x===0||d.cmpn(1)===0)break;b.isub(d)}while(!0);return d.iushln(m)},s.prototype.invm=function(M){return this.egcd(M).a.umod(M)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(M){return this.words[0]&M},s.prototype.bincn=function(M){n(typeof M=="number");var b=M%26,d=(M-b)/26,m=1<>>26,I&=67108863,this.words[A]=I}return x!==0&&(this.words[A]=x,this.length++),this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(M){var b=M<0;if(this.negative!==0&&!b)return-1;if(this.negative===0&&b)return 1;this.strip();var d;if(this.length>1)d=1;else{b&&(M=-M),n(M<=67108863,"Number is too big");var m=this.words[0]|0;d=m===M?0:mM.length)return 1;if(this.length=0;d--){var m=this.words[d]|0,x=M.words[d]|0;if(m!==x){mx&&(b=1);break}}return b},s.prototype.gtn=function(M){return this.cmpn(M)===1},s.prototype.gt=function(M){return this.cmp(M)===1},s.prototype.gten=function(M){return this.cmpn(M)>=0},s.prototype.gte=function(M){return this.cmp(M)>=0},s.prototype.ltn=function(M){return this.cmpn(M)===-1},s.prototype.lt=function(M){return this.cmp(M)===-1},s.prototype.lten=function(M){return this.cmpn(M)<=0},s.prototype.lte=function(M){return this.cmp(M)<=0},s.prototype.eqn=function(M){return this.cmpn(M)===0},s.prototype.eq=function(M){return this.cmp(M)===0},s.red=function(M){return new V(M)},s.prototype.toRed=function(M){return n(!this.red,"Already a number in reduction context"),n(this.negative===0,"red works only with positives"),M.convertTo(this)._forceRed(M)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(M){return this.red=M,this},s.prototype.forceRed=function(M){return n(!this.red,"Already a number in reduction context"),this._forceRed(M)},s.prototype.redAdd=function(M){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,M)},s.prototype.redIAdd=function(M){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,M)},s.prototype.redSub=function(M){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,M)},s.prototype.redISub=function(M){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,M)},s.prototype.redShl=function(M){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,M)},s.prototype.redMul=function(M){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,M),this.red.mul(this,M)},s.prototype.redIMul=function(M){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,M),this.red.imul(this,M)},s.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(M){return n(this.red&&!M.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,M)};var O={k256:null,p224:null,p192:null,p25519:null};function B(F,M){this.name=F,this.p=new s(M,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}B.prototype._tmp=function(){var M=new s(null);return M.words=new Array(Math.ceil(this.n/13)),M},B.prototype.ireduce=function(M){var b=M,d;do this.split(b,this.tmp),b=this.imulK(b),b=b.iadd(this.tmp),d=b.bitLength();while(d>this.n);var m=d0?b.isub(this.p):b.strip!==void 0?b.strip():b._strip(),b},B.prototype.split=function(M,b){M.iushrn(this.n,0,b)},B.prototype.imulK=function(M){return M.imul(this.k)};function z(){B.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(z,B),z.prototype.split=function(M,b){for(var d=4194303,m=Math.min(M.length,9),x=0;x>>22,A=I}A>>>=22,M.words[x-10]=A,A===0&&M.length>10?M.length-=10:M.length-=9},z.prototype.imulK=function(M){M.words[M.length]=0,M.words[M.length+1]=0,M.length+=2;for(var b=0,d=0;d>>=26,M.words[d]=x,b=m}return b!==0&&(M.words[M.length++]=b),M},s._prime=function(M){if(O[M])return O[M];var b;if(M==="k256")b=new z;else if(M==="p224")b=new G;else if(M==="p192")b=new $;else if(M==="p25519")b=new D;else throw new Error("Unknown prime "+M);return O[M]=b,b};function V(F){if(typeof F=="string"){var M=s._prime(F);this.m=M.p,this.prime=M}else n(F.gtn(1),"modulus must be greater than 1"),this.m=F,this.prime=null}V.prototype._verify1=function(M){n(M.negative===0,"red works only with positives"),n(M.red,"red works only with red numbers")},V.prototype._verify2=function(M,b){n((M.negative|b.negative)===0,"red works only with positives"),n(M.red&&M.red===b.red,"red works only with red numbers")},V.prototype.imod=function(M){return this.prime?this.prime.ireduce(M)._forceRed(this):M.umod(this.m)._forceRed(this)},V.prototype.neg=function(M){return M.isZero()?M.clone():this.m.sub(M)._forceRed(this)},V.prototype.add=function(M,b){this._verify2(M,b);var d=M.add(b);return d.cmp(this.m)>=0&&d.isub(this.m),d._forceRed(this)},V.prototype.iadd=function(M,b){this._verify2(M,b);var d=M.iadd(b);return d.cmp(this.m)>=0&&d.isub(this.m),d},V.prototype.sub=function(M,b){this._verify2(M,b);var d=M.sub(b);return d.cmpn(0)<0&&d.iadd(this.m),d._forceRed(this)},V.prototype.isub=function(M,b){this._verify2(M,b);var d=M.isub(b);return d.cmpn(0)<0&&d.iadd(this.m),d},V.prototype.shl=function(M,b){return this._verify1(M),this.imod(M.ushln(b))},V.prototype.imul=function(M,b){return this._verify2(M,b),this.imod(M.imul(b))},V.prototype.mul=function(M,b){return this._verify2(M,b),this.imod(M.mul(b))},V.prototype.isqr=function(M){return this.imul(M,M.clone())},V.prototype.sqr=function(M){return this.mul(M,M)},V.prototype.sqrt=function(M){if(M.isZero())return M.clone();var b=this.m.andln(3);if(n(b%2===1),b===3){var d=this.m.add(new s(1)).iushrn(2);return this.pow(M,d)}for(var m=this.m.subn(1),x=0;!m.isZero()&&m.andln(1)===0;)x++,m.iushrn(1);n(!m.isZero());var A=new s(1).toRed(this),I=A.redNeg(),R=this.m.subn(1).iushrn(1),S=this.m.bitLength();for(S=new s(2*S*S).toRed(this);this.pow(S,R).cmp(I)!==0;)S.redIAdd(I);for(var E=this.pow(S,m),_=this.pow(M,m.addn(1).iushrn(1)),L=this.pow(M,m),ie=x;L.cmp(A)!==0;){for(var q=L,Y=0;q.cmp(A)!==0;Y++)q=q.redSqr();n(Y=0;x--){for(var E=b.words[x],_=S-1;_>=0;_--){var L=E>>_&1;if(A!==m[0]&&(A=this.sqr(A)),L===0&&I===0){R=0;continue}I<<=1,I|=L,R++,!(R!==d&&(x!==0||_!==0))&&(A=this.mul(A,m[I]),R=0,I=0)}S=26}return A},V.prototype.convertTo=function(M){var b=M.umod(this.m);return b===M?b.clone():b},V.prototype.convertFrom=function(M){var b=M.clone();return b.red=null,b},s.mont=function(M){return new Q(M)};function Q(F){V.call(this,F),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new s(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)}i(Q,V),Q.prototype.convertTo=function(M){return this.imod(M.ushln(this.shift))},Q.prototype.convertFrom=function(M){var b=this.imod(M.mul(this.rinv));return b.red=null,b},Q.prototype.imul=function(M,b){if(M.isZero()||b.isZero())return M.words[0]=0,M.length=1,M;var d=M.imul(b),m=d.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),x=d.isub(m).iushrn(this.shift),A=x;return x.cmp(this.m)>=0?A=x.isub(this.m):x.cmpn(0)<0&&(A=x.iadd(this.m)),A._forceRed(this)},Q.prototype.mul=function(M,b){if(M.isZero()||b.isZero())return new s(0)._forceRed(this);var d=M.mul(b),m=d.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),x=d.isub(m).iushrn(this.shift),A=x;return x.cmp(this.m)>=0?A=x.isub(this.m):x.cmpn(0)<0&&(A=x.iadd(this.m)),A._forceRed(this)},Q.prototype.invm=function(M){var b=this.imod(M._invmp(this.m).mul(this.r2));return b._forceRed(this)}})(r,ct)}(PTe)),aS}var M6={},OTe={get exports(){return M6},set exports(r){M6=r}},Fie;function yD(){if(Fie)return M6;Fie=1;var r;OTe.exports=function(i){return r||(r=new e(null)),r.generate(i)};function e(n){this.rand=n}if(M6.Rand=e,e.prototype.generate=function(i){return this._rand(i)},e.prototype._rand=function(i){if(this.rand.getBytes)return this.rand.getBytes(i);for(var s=new Uint8Array(i),o=0;o=0);return a},t.prototype._randrange=function(i,s){var o=s.sub(i);return i.add(this._randbelow(o))},t.prototype.test=function(i,s,o){var a=i.bitLength(),l=r.mont(i),u=new r(1).toRed(l);s||(s=Math.max(1,a/48|0));for(var h=i.subn(1),p=0;!h.testn(p);p++);for(var g=i.shrn(p),w=h.toRed(l),y=!0;s>0;s--){var C=this._randrange(new r(2),h);o&&o(C);var T=C.toRed(l).redPow(g);if(!(T.cmp(u)===0||T.cmp(w)===0)){for(var k=1;k0;s--){var w=this._randrange(new r(2),u),y=i.gcd(w);if(y.cmpn(1)!==0)return y;var C=w.toRed(a).redPow(p);if(!(C.cmp(l)===0||C.cmp(g)===0)){for(var T=1;Tk;)O.ishrn(1);if(O.isEven()&&O.iadd(s),O.testn(1)||O.iadd(o),N.cmp(o)){if(!N.cmp(a))for(;O.mod(l).cmp(u);)O.iadd(p)}else for(;O.mod(t).cmp(h);)O.iadd(p);if(B=O.shrn(1),y(B)&&y(O)&&C(B)&&C(O)&&i.test(B)&&i.test(O))return O}}return _D}const DTe={modp1:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},modp2:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},modp5:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},modp14:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},modp15:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},modp16:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},modp17:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},modp18:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}};var ED,Wie;function $Te(){if(Wie)return ED;Wie=1;var r=wo(),e=zie(),t=new e,n=new r(24),i=new r(11),s=new r(10),o=new r(3),a=new r(7),l=qie(),u=Xv();ED=y;function h(T,k){return k=k||"utf8",Dt.isBuffer(T)||(T=new Dt(T,k)),this._pub=new r(T),this}function p(T,k){return k=k||"utf8",Dt.isBuffer(T)||(T=new Dt(T,k)),this._priv=new r(T),this}var g={};function w(T,k){var N=k.toString("hex"),O=[N,T.toString(16)].join("_");if(O in g)return g[O];var B=0;if(T.isEven()||!l.simpleSieve||!l.fermatTest(T)||!t.test(T))return B+=1,N==="02"||N==="05"?B+=8:B+=4,g[O]=B,B;t.test(T.shrn(1))||(B+=2);var z;switch(N){case"02":T.mod(n).cmp(i)&&(B+=8);break;case"05":z=T.mod(s),z.cmp(o)&&z.cmp(a)&&(B+=8);break;default:B+=4}return g[O]=B,B}function y(T,k,N){this.setGenerator(k),this.__prime=new r(T),this._prime=r.mont(this.__prime),this._primeLen=T.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,N?(this.setPublicKey=h,this.setPrivateKey=p):this._primeCode=8}Object.defineProperty(y.prototype,"verifyError",{enumerable:!0,get:function(){return typeof this._primeCode!="number"&&(this._primeCode=w(this.__prime,this.__gen)),this._primeCode}}),y.prototype.generateKeys=function(){return this._priv||(this._priv=new r(u(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},y.prototype.computeSecret=function(T){T=new r(T),T=T.toRed(this._prime);var k=T.redPow(this._priv).fromRed(),N=new Dt(k.toArray()),O=this.getPrime();if(N.length0?d:m},s.min=function(d,m){return d.cmp(m)<0?d:m},s.prototype._init=function(d,m,x){if(typeof d=="number")return this._initNumber(d,m,x);if(typeof d=="object")return this._initArray(d,m,x);m==="hex"&&(m=16),n(m===(m|0)&&m>=2&&m<=36),d=d.toString().replace(/\s+/g,"");var A=0;d[0]==="-"&&(A++,this.negative=1),A=0;A-=3)R=d[A]|d[A-1]<<8|d[A-2]<<16,this.words[I]|=R<>>26-S&67108863,S+=24,S>=26&&(S-=26,I++);else if(x==="le")for(A=0,I=0;A>>26-S&67108863,S+=24,S>=26&&(S-=26,I++);return this._strip()};function a(b,d){var m=b.charCodeAt(d);if(m>=48&&m<=57)return m-48;if(m>=65&&m<=70)return m-55;if(m>=97&&m<=102)return m-87;n(!1,"Invalid character in "+b)}function l(b,d,m){var x=a(b,m);return m-1>=d&&(x|=a(b,m-1)<<4),x}s.prototype._parseHex=function(d,m,x){this.length=Math.ceil((d.length-m)/6),this.words=new Array(this.length);for(var A=0;A=m;A-=2)S=l(d,m,A)<=18?(I-=18,R+=1,this.words[R]|=S>>>26):I+=8;else{var E=d.length-m;for(A=E%2===0?m+1:m;A=18?(I-=18,R+=1,this.words[R]|=S>>>26):I+=8}this._strip()};function u(b,d,m,x){for(var A=0,I=0,R=Math.min(b.length,m),S=d;S=49?I=E-49+10:E>=17?I=E-17+10:I=E,n(E>=0&&I1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},s.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{s.prototype[Symbol.for("nodejs.util.inspect.custom")]=p}catch{s.prototype.inspect=p}else s.prototype.inspect=p;function p(){return(this.red?""}var g=["","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"],w=[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],y=[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,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];s.prototype.toString=function(d,m){d=d||10,m=m|0||1;var x;if(d===16||d==="hex"){x="";for(var A=0,I=0,R=0;R>>24-A&16777215,A+=2,A>=26&&(A-=26,R--),I!==0||R!==this.length-1?x=g[6-E.length]+E+x:x=E+x}for(I!==0&&(x=I.toString(16)+x);x.length%m!==0;)x="0"+x;return this.negative!==0&&(x="-"+x),x}if(d===(d|0)&&d>=2&&d<=36){var _=w[d],L=y[d];x="";var ie=this.clone();for(ie.negative=0;!ie.isZero();){var q=ie.modrn(L).toString(d);ie=ie.idivn(L),ie.isZero()?x=q+x:x=g[_-q.length]+q+x}for(this.isZero()&&(x="0"+x);x.length%m!==0;)x="0"+x;return this.negative!==0&&(x="-"+x),x}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var d=this.words[0];return this.length===2?d+=this.words[1]*67108864:this.length===3&&this.words[2]===1?d+=4503599627370496+this.words[1]*67108864:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-d:d},s.prototype.toJSON=function(){return this.toString(16,2)},o&&(s.prototype.toBuffer=function(d,m){return this.toArrayLike(o,d,m)}),s.prototype.toArray=function(d,m){return this.toArrayLike(Array,d,m)};var C=function(d,m){return d.allocUnsafe?d.allocUnsafe(m):new d(m)};s.prototype.toArrayLike=function(d,m,x){this._strip();var A=this.byteLength(),I=x||Math.max(1,A);n(A<=I,"byte array longer than desired length"),n(I>0,"Requested array length <= 0");var R=C(d,I),S=m==="le"?"LE":"BE";return this["_toArrayLike"+S](R,A),R},s.prototype._toArrayLikeLE=function(d,m){for(var x=0,A=0,I=0,R=0;I>8&255),x>16&255),R===6?(x>24&255),A=0,R=0):(A=S>>>24,R+=2)}if(x=0&&(d[x--]=S>>8&255),x>=0&&(d[x--]=S>>16&255),R===6?(x>=0&&(d[x--]=S>>24&255),A=0,R=0):(A=S>>>24,R+=2)}if(x>=0)for(d[x--]=A;x>=0;)d[x--]=0},Math.clz32?s.prototype._countBits=function(d){return 32-Math.clz32(d)}:s.prototype._countBits=function(d){var m=d,x=0;return m>=4096&&(x+=13,m>>>=13),m>=64&&(x+=7,m>>>=7),m>=8&&(x+=4,m>>>=4),m>=2&&(x+=2,m>>>=2),x+m},s.prototype._zeroBits=function(d){if(d===0)return 26;var m=d,x=0;return m&8191||(x+=13,m>>>=13),m&127||(x+=7,m>>>=7),m&15||(x+=4,m>>>=4),m&3||(x+=2,m>>>=2),m&1||x++,x},s.prototype.bitLength=function(){var d=this.words[this.length-1],m=this._countBits(d);return(this.length-1)*26+m};function T(b){for(var d=new Array(b.bitLength()),m=0;m>>A&1}return d}s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var d=0,m=0;md.length?this.clone().ior(d):d.clone().ior(this)},s.prototype.uor=function(d){return this.length>d.length?this.clone().iuor(d):d.clone().iuor(this)},s.prototype.iuand=function(d){var m;this.length>d.length?m=d:m=this;for(var x=0;xd.length?this.clone().iand(d):d.clone().iand(this)},s.prototype.uand=function(d){return this.length>d.length?this.clone().iuand(d):d.clone().iuand(this)},s.prototype.iuxor=function(d){var m,x;this.length>d.length?(m=this,x=d):(m=d,x=this);for(var A=0;Ad.length?this.clone().ixor(d):d.clone().ixor(this)},s.prototype.uxor=function(d){return this.length>d.length?this.clone().iuxor(d):d.clone().iuxor(this)},s.prototype.inotn=function(d){n(typeof d=="number"&&d>=0);var m=Math.ceil(d/26)|0,x=d%26;this._expand(m),x>0&&m--;for(var A=0;A0&&(this.words[A]=~this.words[A]&67108863>>26-x),this._strip()},s.prototype.notn=function(d){return this.clone().inotn(d)},s.prototype.setn=function(d,m){n(typeof d=="number"&&d>=0);var x=d/26|0,A=d%26;return this._expand(x+1),m?this.words[x]=this.words[x]|1<d.length?(x=this,A=d):(x=d,A=this);for(var I=0,R=0;R>>26;for(;I!==0&&R>>26;if(this.length=x.length,I!==0)this.words[this.length]=I,this.length++;else if(x!==this)for(;Rd.length?this.clone().iadd(d):d.clone().iadd(this)},s.prototype.isub=function(d){if(d.negative!==0){d.negative=0;var m=this.iadd(d);return d.negative=1,m._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(d),this.negative=1,this._normSign();var x=this.cmp(d);if(x===0)return this.negative=0,this.length=1,this.words[0]=0,this;var A,I;x>0?(A=this,I=d):(A=d,I=this);for(var R=0,S=0;S>26,this.words[S]=m&67108863;for(;R!==0&&S>26,this.words[S]=m&67108863;if(R===0&&S>>26,ie=E&67108863,q=Math.min(_,d.length-1),Y=Math.max(0,_-b.length+1);Y<=q;Y++){var K=_-Y|0;A=b.words[K]|0,I=d.words[Y]|0,R=A*I+ie,L+=R/67108864|0,ie=R&67108863}m.words[_]=ie|0,E=L|0}return E!==0?m.words[_]=E|0:m.length--,m._strip()}var N=function(d,m,x){var A=d.words,I=m.words,R=x.words,S=0,E,_,L,ie=A[0]|0,q=ie&8191,Y=ie>>>13,K=A[1]|0,te=K&8191,re=K>>>13,H=A[2]|0,U=H&8191,W=H>>>13,le=A[3]|0,de=le&8191,Se=le>>>13,Me=A[4]|0,ke=Me&8191,Ke=Me>>>13,Re=A[5]|0,je=Re&8191,De=Re>>>13,Je=A[6]|0,ze=Je&8191,qe=Je>>>13,Ve=A[7]|0,He=Ve&8191,Be=Ve>>>13,Ge=A[8]|0,Xe=Ge&8191,se=Ge>>>13,J=A[9]|0,X=J&8191,ue=J>>>13,we=I[0]|0,ye=we&8191,Ie=we>>>13,it=I[1]|0,ot=it&8191,tt=it>>>13,It=I[2]|0,st=It&8191,Nt=It>>>13,Lt=I[3]|0,ht=Lt&8191,wt=Lt>>>13,Ut=I[4]|0,ft=Ut&8191,dt=Ut>>>13,Vt=I[5]|0,xt=Vt&8191,pt=Vt>>>13,Gt=I[6]|0,gt=Gt&8191,vt=Gt>>>13,Ft=I[7]|0,lt=Ft&8191,_t=Ft>>>13,Kt=I[8]|0,Ht=Kt&8191,qt=Kt>>>13,br=I[9]|0,Tt=br&8191,ur=br>>>13;x.negative=d.negative^m.negative,x.length=19,E=Math.imul(q,ye),_=Math.imul(q,Ie),_=_+Math.imul(Y,ye)|0,L=Math.imul(Y,Ie);var Xn=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(Xn>>>26)|0,Xn&=67108863,E=Math.imul(te,ye),_=Math.imul(te,Ie),_=_+Math.imul(re,ye)|0,L=Math.imul(re,Ie),E=E+Math.imul(q,ot)|0,_=_+Math.imul(q,tt)|0,_=_+Math.imul(Y,ot)|0,L=L+Math.imul(Y,tt)|0;var ei=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(ei>>>26)|0,ei&=67108863,E=Math.imul(U,ye),_=Math.imul(U,Ie),_=_+Math.imul(W,ye)|0,L=Math.imul(W,Ie),E=E+Math.imul(te,ot)|0,_=_+Math.imul(te,tt)|0,_=_+Math.imul(re,ot)|0,L=L+Math.imul(re,tt)|0,E=E+Math.imul(q,st)|0,_=_+Math.imul(q,Nt)|0,_=_+Math.imul(Y,st)|0,L=L+Math.imul(Y,Nt)|0;var ti=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(ti>>>26)|0,ti&=67108863,E=Math.imul(de,ye),_=Math.imul(de,Ie),_=_+Math.imul(Se,ye)|0,L=Math.imul(Se,Ie),E=E+Math.imul(U,ot)|0,_=_+Math.imul(U,tt)|0,_=_+Math.imul(W,ot)|0,L=L+Math.imul(W,tt)|0,E=E+Math.imul(te,st)|0,_=_+Math.imul(te,Nt)|0,_=_+Math.imul(re,st)|0,L=L+Math.imul(re,Nt)|0,E=E+Math.imul(q,ht)|0,_=_+Math.imul(q,wt)|0,_=_+Math.imul(Y,ht)|0,L=L+Math.imul(Y,wt)|0;var ri=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(ri>>>26)|0,ri&=67108863,E=Math.imul(ke,ye),_=Math.imul(ke,Ie),_=_+Math.imul(Ke,ye)|0,L=Math.imul(Ke,Ie),E=E+Math.imul(de,ot)|0,_=_+Math.imul(de,tt)|0,_=_+Math.imul(Se,ot)|0,L=L+Math.imul(Se,tt)|0,E=E+Math.imul(U,st)|0,_=_+Math.imul(U,Nt)|0,_=_+Math.imul(W,st)|0,L=L+Math.imul(W,Nt)|0,E=E+Math.imul(te,ht)|0,_=_+Math.imul(te,wt)|0,_=_+Math.imul(re,ht)|0,L=L+Math.imul(re,wt)|0,E=E+Math.imul(q,ft)|0,_=_+Math.imul(q,dt)|0,_=_+Math.imul(Y,ft)|0,L=L+Math.imul(Y,dt)|0;var bn=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(bn>>>26)|0,bn&=67108863,E=Math.imul(je,ye),_=Math.imul(je,Ie),_=_+Math.imul(De,ye)|0,L=Math.imul(De,Ie),E=E+Math.imul(ke,ot)|0,_=_+Math.imul(ke,tt)|0,_=_+Math.imul(Ke,ot)|0,L=L+Math.imul(Ke,tt)|0,E=E+Math.imul(de,st)|0,_=_+Math.imul(de,Nt)|0,_=_+Math.imul(Se,st)|0,L=L+Math.imul(Se,Nt)|0,E=E+Math.imul(U,ht)|0,_=_+Math.imul(U,wt)|0,_=_+Math.imul(W,ht)|0,L=L+Math.imul(W,wt)|0,E=E+Math.imul(te,ft)|0,_=_+Math.imul(te,dt)|0,_=_+Math.imul(re,ft)|0,L=L+Math.imul(re,dt)|0,E=E+Math.imul(q,xt)|0,_=_+Math.imul(q,pt)|0,_=_+Math.imul(Y,xt)|0,L=L+Math.imul(Y,pt)|0;var qn=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(qn>>>26)|0,qn&=67108863,E=Math.imul(ze,ye),_=Math.imul(ze,Ie),_=_+Math.imul(qe,ye)|0,L=Math.imul(qe,Ie),E=E+Math.imul(je,ot)|0,_=_+Math.imul(je,tt)|0,_=_+Math.imul(De,ot)|0,L=L+Math.imul(De,tt)|0,E=E+Math.imul(ke,st)|0,_=_+Math.imul(ke,Nt)|0,_=_+Math.imul(Ke,st)|0,L=L+Math.imul(Ke,Nt)|0,E=E+Math.imul(de,ht)|0,_=_+Math.imul(de,wt)|0,_=_+Math.imul(Se,ht)|0,L=L+Math.imul(Se,wt)|0,E=E+Math.imul(U,ft)|0,_=_+Math.imul(U,dt)|0,_=_+Math.imul(W,ft)|0,L=L+Math.imul(W,dt)|0,E=E+Math.imul(te,xt)|0,_=_+Math.imul(te,pt)|0,_=_+Math.imul(re,xt)|0,L=L+Math.imul(re,pt)|0,E=E+Math.imul(q,gt)|0,_=_+Math.imul(q,vt)|0,_=_+Math.imul(Y,gt)|0,L=L+Math.imul(Y,vt)|0;var Di=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(Di>>>26)|0,Di&=67108863,E=Math.imul(He,ye),_=Math.imul(He,Ie),_=_+Math.imul(Be,ye)|0,L=Math.imul(Be,Ie),E=E+Math.imul(ze,ot)|0,_=_+Math.imul(ze,tt)|0,_=_+Math.imul(qe,ot)|0,L=L+Math.imul(qe,tt)|0,E=E+Math.imul(je,st)|0,_=_+Math.imul(je,Nt)|0,_=_+Math.imul(De,st)|0,L=L+Math.imul(De,Nt)|0,E=E+Math.imul(ke,ht)|0,_=_+Math.imul(ke,wt)|0,_=_+Math.imul(Ke,ht)|0,L=L+Math.imul(Ke,wt)|0,E=E+Math.imul(de,ft)|0,_=_+Math.imul(de,dt)|0,_=_+Math.imul(Se,ft)|0,L=L+Math.imul(Se,dt)|0,E=E+Math.imul(U,xt)|0,_=_+Math.imul(U,pt)|0,_=_+Math.imul(W,xt)|0,L=L+Math.imul(W,pt)|0,E=E+Math.imul(te,gt)|0,_=_+Math.imul(te,vt)|0,_=_+Math.imul(re,gt)|0,L=L+Math.imul(re,vt)|0,E=E+Math.imul(q,lt)|0,_=_+Math.imul(q,_t)|0,_=_+Math.imul(Y,lt)|0,L=L+Math.imul(Y,_t)|0;var Wn=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(Wn>>>26)|0,Wn&=67108863,E=Math.imul(Xe,ye),_=Math.imul(Xe,Ie),_=_+Math.imul(se,ye)|0,L=Math.imul(se,Ie),E=E+Math.imul(He,ot)|0,_=_+Math.imul(He,tt)|0,_=_+Math.imul(Be,ot)|0,L=L+Math.imul(Be,tt)|0,E=E+Math.imul(ze,st)|0,_=_+Math.imul(ze,Nt)|0,_=_+Math.imul(qe,st)|0,L=L+Math.imul(qe,Nt)|0,E=E+Math.imul(je,ht)|0,_=_+Math.imul(je,wt)|0,_=_+Math.imul(De,ht)|0,L=L+Math.imul(De,wt)|0,E=E+Math.imul(ke,ft)|0,_=_+Math.imul(ke,dt)|0,_=_+Math.imul(Ke,ft)|0,L=L+Math.imul(Ke,dt)|0,E=E+Math.imul(de,xt)|0,_=_+Math.imul(de,pt)|0,_=_+Math.imul(Se,xt)|0,L=L+Math.imul(Se,pt)|0,E=E+Math.imul(U,gt)|0,_=_+Math.imul(U,vt)|0,_=_+Math.imul(W,gt)|0,L=L+Math.imul(W,vt)|0,E=E+Math.imul(te,lt)|0,_=_+Math.imul(te,_t)|0,_=_+Math.imul(re,lt)|0,L=L+Math.imul(re,_t)|0,E=E+Math.imul(q,Ht)|0,_=_+Math.imul(q,qt)|0,_=_+Math.imul(Y,Ht)|0,L=L+Math.imul(Y,qt)|0;var $i=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+($i>>>26)|0,$i&=67108863,E=Math.imul(X,ye),_=Math.imul(X,Ie),_=_+Math.imul(ue,ye)|0,L=Math.imul(ue,Ie),E=E+Math.imul(Xe,ot)|0,_=_+Math.imul(Xe,tt)|0,_=_+Math.imul(se,ot)|0,L=L+Math.imul(se,tt)|0,E=E+Math.imul(He,st)|0,_=_+Math.imul(He,Nt)|0,_=_+Math.imul(Be,st)|0,L=L+Math.imul(Be,Nt)|0,E=E+Math.imul(ze,ht)|0,_=_+Math.imul(ze,wt)|0,_=_+Math.imul(qe,ht)|0,L=L+Math.imul(qe,wt)|0,E=E+Math.imul(je,ft)|0,_=_+Math.imul(je,dt)|0,_=_+Math.imul(De,ft)|0,L=L+Math.imul(De,dt)|0,E=E+Math.imul(ke,xt)|0,_=_+Math.imul(ke,pt)|0,_=_+Math.imul(Ke,xt)|0,L=L+Math.imul(Ke,pt)|0,E=E+Math.imul(de,gt)|0,_=_+Math.imul(de,vt)|0,_=_+Math.imul(Se,gt)|0,L=L+Math.imul(Se,vt)|0,E=E+Math.imul(U,lt)|0,_=_+Math.imul(U,_t)|0,_=_+Math.imul(W,lt)|0,L=L+Math.imul(W,_t)|0,E=E+Math.imul(te,Ht)|0,_=_+Math.imul(te,qt)|0,_=_+Math.imul(re,Ht)|0,L=L+Math.imul(re,qt)|0,E=E+Math.imul(q,Tt)|0,_=_+Math.imul(q,ur)|0,_=_+Math.imul(Y,Tt)|0,L=L+Math.imul(Y,ur)|0;var Bi=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(Bi>>>26)|0,Bi&=67108863,E=Math.imul(X,ot),_=Math.imul(X,tt),_=_+Math.imul(ue,ot)|0,L=Math.imul(ue,tt),E=E+Math.imul(Xe,st)|0,_=_+Math.imul(Xe,Nt)|0,_=_+Math.imul(se,st)|0,L=L+Math.imul(se,Nt)|0,E=E+Math.imul(He,ht)|0,_=_+Math.imul(He,wt)|0,_=_+Math.imul(Be,ht)|0,L=L+Math.imul(Be,wt)|0,E=E+Math.imul(ze,ft)|0,_=_+Math.imul(ze,dt)|0,_=_+Math.imul(qe,ft)|0,L=L+Math.imul(qe,dt)|0,E=E+Math.imul(je,xt)|0,_=_+Math.imul(je,pt)|0,_=_+Math.imul(De,xt)|0,L=L+Math.imul(De,pt)|0,E=E+Math.imul(ke,gt)|0,_=_+Math.imul(ke,vt)|0,_=_+Math.imul(Ke,gt)|0,L=L+Math.imul(Ke,vt)|0,E=E+Math.imul(de,lt)|0,_=_+Math.imul(de,_t)|0,_=_+Math.imul(Se,lt)|0,L=L+Math.imul(Se,_t)|0,E=E+Math.imul(U,Ht)|0,_=_+Math.imul(U,qt)|0,_=_+Math.imul(W,Ht)|0,L=L+Math.imul(W,qt)|0,E=E+Math.imul(te,Tt)|0,_=_+Math.imul(te,ur)|0,_=_+Math.imul(re,Tt)|0,L=L+Math.imul(re,ur)|0;var bi=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(bi>>>26)|0,bi&=67108863,E=Math.imul(X,st),_=Math.imul(X,Nt),_=_+Math.imul(ue,st)|0,L=Math.imul(ue,Nt),E=E+Math.imul(Xe,ht)|0,_=_+Math.imul(Xe,wt)|0,_=_+Math.imul(se,ht)|0,L=L+Math.imul(se,wt)|0,E=E+Math.imul(He,ft)|0,_=_+Math.imul(He,dt)|0,_=_+Math.imul(Be,ft)|0,L=L+Math.imul(Be,dt)|0,E=E+Math.imul(ze,xt)|0,_=_+Math.imul(ze,pt)|0,_=_+Math.imul(qe,xt)|0,L=L+Math.imul(qe,pt)|0,E=E+Math.imul(je,gt)|0,_=_+Math.imul(je,vt)|0,_=_+Math.imul(De,gt)|0,L=L+Math.imul(De,vt)|0,E=E+Math.imul(ke,lt)|0,_=_+Math.imul(ke,_t)|0,_=_+Math.imul(Ke,lt)|0,L=L+Math.imul(Ke,_t)|0,E=E+Math.imul(de,Ht)|0,_=_+Math.imul(de,qt)|0,_=_+Math.imul(Se,Ht)|0,L=L+Math.imul(Se,qt)|0,E=E+Math.imul(U,Tt)|0,_=_+Math.imul(U,ur)|0,_=_+Math.imul(W,Tt)|0,L=L+Math.imul(W,ur)|0;var Ei=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(Ei>>>26)|0,Ei&=67108863,E=Math.imul(X,ht),_=Math.imul(X,wt),_=_+Math.imul(ue,ht)|0,L=Math.imul(ue,wt),E=E+Math.imul(Xe,ft)|0,_=_+Math.imul(Xe,dt)|0,_=_+Math.imul(se,ft)|0,L=L+Math.imul(se,dt)|0,E=E+Math.imul(He,xt)|0,_=_+Math.imul(He,pt)|0,_=_+Math.imul(Be,xt)|0,L=L+Math.imul(Be,pt)|0,E=E+Math.imul(ze,gt)|0,_=_+Math.imul(ze,vt)|0,_=_+Math.imul(qe,gt)|0,L=L+Math.imul(qe,vt)|0,E=E+Math.imul(je,lt)|0,_=_+Math.imul(je,_t)|0,_=_+Math.imul(De,lt)|0,L=L+Math.imul(De,_t)|0,E=E+Math.imul(ke,Ht)|0,_=_+Math.imul(ke,qt)|0,_=_+Math.imul(Ke,Ht)|0,L=L+Math.imul(Ke,qt)|0,E=E+Math.imul(de,Tt)|0,_=_+Math.imul(de,ur)|0,_=_+Math.imul(Se,Tt)|0,L=L+Math.imul(Se,ur)|0;var Ai=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(Ai>>>26)|0,Ai&=67108863,E=Math.imul(X,ft),_=Math.imul(X,dt),_=_+Math.imul(ue,ft)|0,L=Math.imul(ue,dt),E=E+Math.imul(Xe,xt)|0,_=_+Math.imul(Xe,pt)|0,_=_+Math.imul(se,xt)|0,L=L+Math.imul(se,pt)|0,E=E+Math.imul(He,gt)|0,_=_+Math.imul(He,vt)|0,_=_+Math.imul(Be,gt)|0,L=L+Math.imul(Be,vt)|0,E=E+Math.imul(ze,lt)|0,_=_+Math.imul(ze,_t)|0,_=_+Math.imul(qe,lt)|0,L=L+Math.imul(qe,_t)|0,E=E+Math.imul(je,Ht)|0,_=_+Math.imul(je,qt)|0,_=_+Math.imul(De,Ht)|0,L=L+Math.imul(De,qt)|0,E=E+Math.imul(ke,Tt)|0,_=_+Math.imul(ke,ur)|0,_=_+Math.imul(Ke,Tt)|0,L=L+Math.imul(Ke,ur)|0;var Cn=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(Cn>>>26)|0,Cn&=67108863,E=Math.imul(X,xt),_=Math.imul(X,pt),_=_+Math.imul(ue,xt)|0,L=Math.imul(ue,pt),E=E+Math.imul(Xe,gt)|0,_=_+Math.imul(Xe,vt)|0,_=_+Math.imul(se,gt)|0,L=L+Math.imul(se,vt)|0,E=E+Math.imul(He,lt)|0,_=_+Math.imul(He,_t)|0,_=_+Math.imul(Be,lt)|0,L=L+Math.imul(Be,_t)|0,E=E+Math.imul(ze,Ht)|0,_=_+Math.imul(ze,qt)|0,_=_+Math.imul(qe,Ht)|0,L=L+Math.imul(qe,qt)|0,E=E+Math.imul(je,Tt)|0,_=_+Math.imul(je,ur)|0,_=_+Math.imul(De,Tt)|0,L=L+Math.imul(De,ur)|0;var Rs=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(Rs>>>26)|0,Rs&=67108863,E=Math.imul(X,gt),_=Math.imul(X,vt),_=_+Math.imul(ue,gt)|0,L=Math.imul(ue,vt),E=E+Math.imul(Xe,lt)|0,_=_+Math.imul(Xe,_t)|0,_=_+Math.imul(se,lt)|0,L=L+Math.imul(se,_t)|0,E=E+Math.imul(He,Ht)|0,_=_+Math.imul(He,qt)|0,_=_+Math.imul(Be,Ht)|0,L=L+Math.imul(Be,qt)|0,E=E+Math.imul(ze,Tt)|0,_=_+Math.imul(ze,ur)|0,_=_+Math.imul(qe,Tt)|0,L=L+Math.imul(qe,ur)|0;var ks=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(ks>>>26)|0,ks&=67108863,E=Math.imul(X,lt),_=Math.imul(X,_t),_=_+Math.imul(ue,lt)|0,L=Math.imul(ue,_t),E=E+Math.imul(Xe,Ht)|0,_=_+Math.imul(Xe,qt)|0,_=_+Math.imul(se,Ht)|0,L=L+Math.imul(se,qt)|0,E=E+Math.imul(He,Tt)|0,_=_+Math.imul(He,ur)|0,_=_+Math.imul(Be,Tt)|0,L=L+Math.imul(Be,ur)|0;var Ms=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(Ms>>>26)|0,Ms&=67108863,E=Math.imul(X,Ht),_=Math.imul(X,qt),_=_+Math.imul(ue,Ht)|0,L=Math.imul(ue,qt),E=E+Math.imul(Xe,Tt)|0,_=_+Math.imul(Xe,ur)|0,_=_+Math.imul(se,Tt)|0,L=L+Math.imul(se,ur)|0;var Zo=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(Zo>>>26)|0,Zo&=67108863,E=Math.imul(X,Tt),_=Math.imul(X,ur),_=_+Math.imul(ue,Tt)|0,L=Math.imul(ue,ur);var Ka=(S+E|0)+((_&8191)<<13)|0;return S=(L+(_>>>13)|0)+(Ka>>>26)|0,Ka&=67108863,R[0]=Xn,R[1]=ei,R[2]=ti,R[3]=ri,R[4]=bn,R[5]=qn,R[6]=Di,R[7]=Wn,R[8]=$i,R[9]=Bi,R[10]=bi,R[11]=Ei,R[12]=Ai,R[13]=Cn,R[14]=Rs,R[15]=ks,R[16]=Ms,R[17]=Zo,R[18]=Ka,S!==0&&(R[19]=S,x.length++),x};Math.imul||(N=k);function O(b,d,m){m.negative=d.negative^b.negative,m.length=b.length+d.length;for(var x=0,A=0,I=0;I>>26)|0,A+=R>>>26,R&=67108863}m.words[I]=S,x=R,R=A}return x!==0?m.words[I]=x:m.length--,m._strip()}function B(b,d,m){return O(b,d,m)}s.prototype.mulTo=function(d,m){var x,A=this.length+d.length;return this.length===10&&d.length===10?x=N(this,d,m):A<63?x=k(this,d,m):A<1024?x=O(this,d,m):x=B(this,d,m),x},s.prototype.mul=function(d){var m=new s(null);return m.words=new Array(this.length+d.length),this.mulTo(d,m)},s.prototype.mulf=function(d){var m=new s(null);return m.words=new Array(this.length+d.length),B(this,d,m)},s.prototype.imul=function(d){return this.clone().mulTo(d,this)},s.prototype.imuln=function(d){var m=d<0;m&&(d=-d),n(typeof d=="number"),n(d<67108864);for(var x=0,A=0;A>=26,x+=I/67108864|0,x+=R>>>26,this.words[A]=R&67108863}return x!==0&&(this.words[A]=x,this.length++),m?this.ineg():this},s.prototype.muln=function(d){return this.clone().imuln(d)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(d){var m=T(d);if(m.length===0)return new s(1);for(var x=this,A=0;A=0);var m=d%26,x=(d-m)/26,A=67108863>>>26-m<<26-m,I;if(m!==0){var R=0;for(I=0;I>>26-m}R&&(this.words[I]=R,this.length++)}if(x!==0){for(I=this.length-1;I>=0;I--)this.words[I+x]=this.words[I];for(I=0;I=0);var A;m?A=(m-m%26)/26:A=0;var I=d%26,R=Math.min((d-I)/26,this.length),S=67108863^67108863>>>I<R)for(this.length-=R,_=0;_=0&&(L!==0||_>=A);_--){var ie=this.words[_]|0;this.words[_]=L<<26-I|ie>>>I,L=ie&S}return E&&L!==0&&(E.words[E.length++]=L),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},s.prototype.ishrn=function(d,m,x){return n(this.negative===0),this.iushrn(d,m,x)},s.prototype.shln=function(d){return this.clone().ishln(d)},s.prototype.ushln=function(d){return this.clone().iushln(d)},s.prototype.shrn=function(d){return this.clone().ishrn(d)},s.prototype.ushrn=function(d){return this.clone().iushrn(d)},s.prototype.testn=function(d){n(typeof d=="number"&&d>=0);var m=d%26,x=(d-m)/26,A=1<=0);var m=d%26,x=(d-m)/26;if(n(this.negative===0,"imaskn works only with positive numbers"),this.length<=x)return this;if(m!==0&&x++,this.length=Math.min(x,this.length),m!==0){var A=67108863^67108863>>>m<=67108864;m++)this.words[m]-=67108864,m===this.length-1?this.words[m+1]=1:this.words[m+1]++;return this.length=Math.max(this.length,m+1),this},s.prototype.isubn=function(d){if(n(typeof d=="number"),n(d<67108864),d<0)return this.iaddn(-d);if(this.negative!==0)return this.negative=0,this.iaddn(d),this.negative=1,this;if(this.words[0]-=d,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var m=0;m>26)-(E/67108864|0),this.words[I+x]=R&67108863}for(;I>26,this.words[I+x]=R&67108863;if(S===0)return this._strip();for(n(S===-1),S=0,I=0;I>26,this.words[I]=R&67108863;return this.negative=1,this._strip()},s.prototype._wordDiv=function(d,m){var x=this.length-d.length,A=this.clone(),I=d,R=I.words[I.length-1]|0,S=this._countBits(R);x=26-S,x!==0&&(I=I.ushln(x),A.iushln(x),R=I.words[I.length-1]|0);var E=A.length-I.length,_;if(m!=="mod"){_=new s(null),_.length=E+1,_.words=new Array(_.length);for(var L=0;L<_.length;L++)_.words[L]=0}var ie=A.clone()._ishlnsubmul(I,1,E);ie.negative===0&&(A=ie,_&&(_.words[E]=1));for(var q=E-1;q>=0;q--){var Y=(A.words[I.length+q]|0)*67108864+(A.words[I.length+q-1]|0);for(Y=Math.min(Y/R|0,67108863),A._ishlnsubmul(I,Y,q);A.negative!==0;)Y--,A.negative=0,A._ishlnsubmul(I,1,q),A.isZero()||(A.negative^=1);_&&(_.words[q]=Y)}return _&&_._strip(),A._strip(),m!=="div"&&x!==0&&A.iushrn(x),{div:_||null,mod:A}},s.prototype.divmod=function(d,m,x){if(n(!d.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var A,I,R;return this.negative!==0&&d.negative===0?(R=this.neg().divmod(d,m),m!=="mod"&&(A=R.div.neg()),m!=="div"&&(I=R.mod.neg(),x&&I.negative!==0&&I.iadd(d)),{div:A,mod:I}):this.negative===0&&d.negative!==0?(R=this.divmod(d.neg(),m),m!=="mod"&&(A=R.div.neg()),{div:A,mod:R.mod}):this.negative&d.negative?(R=this.neg().divmod(d.neg(),m),m!=="div"&&(I=R.mod.neg(),x&&I.negative!==0&&I.isub(d)),{div:R.div,mod:I}):d.length>this.length||this.cmp(d)<0?{div:new s(0),mod:this}:d.length===1?m==="div"?{div:this.divn(d.words[0]),mod:null}:m==="mod"?{div:null,mod:new s(this.modrn(d.words[0]))}:{div:this.divn(d.words[0]),mod:new s(this.modrn(d.words[0]))}:this._wordDiv(d,m)},s.prototype.div=function(d){return this.divmod(d,"div",!1).div},s.prototype.mod=function(d){return this.divmod(d,"mod",!1).mod},s.prototype.umod=function(d){return this.divmod(d,"mod",!0).mod},s.prototype.divRound=function(d){var m=this.divmod(d);if(m.mod.isZero())return m.div;var x=m.div.negative!==0?m.mod.isub(d):m.mod,A=d.ushrn(1),I=d.andln(1),R=x.cmp(A);return R<0||I===1&&R===0?m.div:m.div.negative!==0?m.div.isubn(1):m.div.iaddn(1)},s.prototype.modrn=function(d){var m=d<0;m&&(d=-d),n(d<=67108863);for(var x=(1<<26)%d,A=0,I=this.length-1;I>=0;I--)A=(x*A+(this.words[I]|0))%d;return m?-A:A},s.prototype.modn=function(d){return this.modrn(d)},s.prototype.idivn=function(d){var m=d<0;m&&(d=-d),n(d<=67108863);for(var x=0,A=this.length-1;A>=0;A--){var I=(this.words[A]|0)+x*67108864;this.words[A]=I/d|0,x=I%d}return this._strip(),m?this.ineg():this},s.prototype.divn=function(d){return this.clone().idivn(d)},s.prototype.egcd=function(d){n(d.negative===0),n(!d.isZero());var m=this,x=d.clone();m.negative!==0?m=m.umod(d):m=m.clone();for(var A=new s(1),I=new s(0),R=new s(0),S=new s(1),E=0;m.isEven()&&x.isEven();)m.iushrn(1),x.iushrn(1),++E;for(var _=x.clone(),L=m.clone();!m.isZero();){for(var ie=0,q=1;!(m.words[0]&q)&&ie<26;++ie,q<<=1);if(ie>0)for(m.iushrn(ie);ie-- >0;)(A.isOdd()||I.isOdd())&&(A.iadd(_),I.isub(L)),A.iushrn(1),I.iushrn(1);for(var Y=0,K=1;!(x.words[0]&K)&&Y<26;++Y,K<<=1);if(Y>0)for(x.iushrn(Y);Y-- >0;)(R.isOdd()||S.isOdd())&&(R.iadd(_),S.isub(L)),R.iushrn(1),S.iushrn(1);m.cmp(x)>=0?(m.isub(x),A.isub(R),I.isub(S)):(x.isub(m),R.isub(A),S.isub(I))}return{a:R,b:S,gcd:x.iushln(E)}},s.prototype._invmp=function(d){n(d.negative===0),n(!d.isZero());var m=this,x=d.clone();m.negative!==0?m=m.umod(d):m=m.clone();for(var A=new s(1),I=new s(0),R=x.clone();m.cmpn(1)>0&&x.cmpn(1)>0;){for(var S=0,E=1;!(m.words[0]&E)&&S<26;++S,E<<=1);if(S>0)for(m.iushrn(S);S-- >0;)A.isOdd()&&A.iadd(R),A.iushrn(1);for(var _=0,L=1;!(x.words[0]&L)&&_<26;++_,L<<=1);if(_>0)for(x.iushrn(_);_-- >0;)I.isOdd()&&I.iadd(R),I.iushrn(1);m.cmp(x)>=0?(m.isub(x),A.isub(I)):(x.isub(m),I.isub(A))}var ie;return m.cmpn(1)===0?ie=A:ie=I,ie.cmpn(0)<0&&ie.iadd(d),ie},s.prototype.gcd=function(d){if(this.isZero())return d.abs();if(d.isZero())return this.abs();var m=this.clone(),x=d.clone();m.negative=0,x.negative=0;for(var A=0;m.isEven()&&x.isEven();A++)m.iushrn(1),x.iushrn(1);do{for(;m.isEven();)m.iushrn(1);for(;x.isEven();)x.iushrn(1);var I=m.cmp(x);if(I<0){var R=m;m=x,x=R}else if(I===0||x.cmpn(1)===0)break;m.isub(x)}while(!0);return x.iushln(A)},s.prototype.invm=function(d){return this.egcd(d).a.umod(d)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(d){return this.words[0]&d},s.prototype.bincn=function(d){n(typeof d=="number");var m=d%26,x=(d-m)/26,A=1<>>26,S&=67108863,this.words[R]=S}return I!==0&&(this.words[R]=I,this.length++),this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(d){var m=d<0;if(this.negative!==0&&!m)return-1;if(this.negative===0&&m)return 1;this._strip();var x;if(this.length>1)x=1;else{m&&(d=-d),n(d<=67108863,"Number is too big");var A=this.words[0]|0;x=A===d?0:Ad.length)return 1;if(this.length=0;x--){var A=this.words[x]|0,I=d.words[x]|0;if(A!==I){AI&&(m=1);break}}return m},s.prototype.gtn=function(d){return this.cmpn(d)===1},s.prototype.gt=function(d){return this.cmp(d)===1},s.prototype.gten=function(d){return this.cmpn(d)>=0},s.prototype.gte=function(d){return this.cmp(d)>=0},s.prototype.ltn=function(d){return this.cmpn(d)===-1},s.prototype.lt=function(d){return this.cmp(d)===-1},s.prototype.lten=function(d){return this.cmpn(d)<=0},s.prototype.lte=function(d){return this.cmp(d)<=0},s.prototype.eqn=function(d){return this.cmpn(d)===0},s.prototype.eq=function(d){return this.cmp(d)===0},s.red=function(d){return new F(d)},s.prototype.toRed=function(d){return n(!this.red,"Already a number in reduction context"),n(this.negative===0,"red works only with positives"),d.convertTo(this)._forceRed(d)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(d){return this.red=d,this},s.prototype.forceRed=function(d){return n(!this.red,"Already a number in reduction context"),this._forceRed(d)},s.prototype.redAdd=function(d){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,d)},s.prototype.redIAdd=function(d){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,d)},s.prototype.redSub=function(d){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,d)},s.prototype.redISub=function(d){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,d)},s.prototype.redShl=function(d){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,d)},s.prototype.redMul=function(d){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,d),this.red.mul(this,d)},s.prototype.redIMul=function(d){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,d),this.red.imul(this,d)},s.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(d){return n(this.red&&!d.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,d)};var z={k256:null,p224:null,p192:null,p25519:null};function G(b,d){this.name=b,this.p=new s(d,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}G.prototype._tmp=function(){var d=new s(null);return d.words=new Array(Math.ceil(this.n/13)),d},G.prototype.ireduce=function(d){var m=d,x;do this.split(m,this.tmp),m=this.imulK(m),m=m.iadd(this.tmp),x=m.bitLength();while(x>this.n);var A=x0?m.isub(this.p):m.strip!==void 0?m.strip():m._strip(),m},G.prototype.split=function(d,m){d.iushrn(this.n,0,m)},G.prototype.imulK=function(d){return d.imul(this.k)};function $(){G.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i($,G),$.prototype.split=function(d,m){for(var x=4194303,A=Math.min(d.length,9),I=0;I>>22,R=S}R>>>=22,d.words[I-10]=R,R===0&&d.length>10?d.length-=10:d.length-=9},$.prototype.imulK=function(d){d.words[d.length]=0,d.words[d.length+1]=0,d.length+=2;for(var m=0,x=0;x>>=26,d.words[x]=I,m=A}return m!==0&&(d.words[d.length++]=m),d},s._prime=function(d){if(z[d])return z[d];var m;if(d==="k256")m=new $;else if(d==="p224")m=new D;else if(d==="p192")m=new V;else if(d==="p25519")m=new Q;else throw new Error("Unknown prime "+d);return z[d]=m,m};function F(b){if(typeof b=="string"){var d=s._prime(b);this.m=d.p,this.prime=d}else n(b.gtn(1),"modulus must be greater than 1"),this.m=b,this.prime=null}F.prototype._verify1=function(d){n(d.negative===0,"red works only with positives"),n(d.red,"red works only with red numbers")},F.prototype._verify2=function(d,m){n((d.negative|m.negative)===0,"red works only with positives"),n(d.red&&d.red===m.red,"red works only with red numbers")},F.prototype.imod=function(d){return this.prime?this.prime.ireduce(d)._forceRed(this):(h(d,d.umod(this.m)._forceRed(this)),d)},F.prototype.neg=function(d){return d.isZero()?d.clone():this.m.sub(d)._forceRed(this)},F.prototype.add=function(d,m){this._verify2(d,m);var x=d.add(m);return x.cmp(this.m)>=0&&x.isub(this.m),x._forceRed(this)},F.prototype.iadd=function(d,m){this._verify2(d,m);var x=d.iadd(m);return x.cmp(this.m)>=0&&x.isub(this.m),x},F.prototype.sub=function(d,m){this._verify2(d,m);var x=d.sub(m);return x.cmpn(0)<0&&x.iadd(this.m),x._forceRed(this)},F.prototype.isub=function(d,m){this._verify2(d,m);var x=d.isub(m);return x.cmpn(0)<0&&x.iadd(this.m),x},F.prototype.shl=function(d,m){return this._verify1(d),this.imod(d.ushln(m))},F.prototype.imul=function(d,m){return this._verify2(d,m),this.imod(d.imul(m))},F.prototype.mul=function(d,m){return this._verify2(d,m),this.imod(d.mul(m))},F.prototype.isqr=function(d){return this.imul(d,d.clone())},F.prototype.sqr=function(d){return this.mul(d,d)},F.prototype.sqrt=function(d){if(d.isZero())return d.clone();var m=this.m.andln(3);if(n(m%2===1),m===3){var x=this.m.add(new s(1)).iushrn(2);return this.pow(d,x)}for(var A=this.m.subn(1),I=0;!A.isZero()&&A.andln(1)===0;)I++,A.iushrn(1);n(!A.isZero());var R=new s(1).toRed(this),S=R.redNeg(),E=this.m.subn(1).iushrn(1),_=this.m.bitLength();for(_=new s(2*_*_).toRed(this);this.pow(_,E).cmp(S)!==0;)_.redIAdd(S);for(var L=this.pow(_,A),ie=this.pow(d,A.addn(1).iushrn(1)),q=this.pow(d,A),Y=I;q.cmp(R)!==0;){for(var K=q,te=0;K.cmp(R)!==0;te++)K=K.redSqr();n(te=0;I--){for(var L=m.words[I],ie=_-1;ie>=0;ie--){var q=L>>ie&1;if(R!==A[0]&&(R=this.sqr(R)),q===0&&S===0){E=0;continue}S<<=1,S|=q,E++,!(E!==x&&(I!==0||ie!==0))&&(R=this.mul(R,A[S]),E=0,S=0)}_=26}return R},F.prototype.convertTo=function(d){var m=d.umod(this.m);return m===d?m.clone():m},F.prototype.convertFrom=function(d){var m=d.clone();return m.red=null,m},s.mont=function(d){return new M(d)};function M(b){F.call(this,b),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new s(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)}i(M,F),M.prototype.convertTo=function(d){return this.imod(d.ushln(this.shift))},M.prototype.convertFrom=function(d){var m=this.imod(d.mul(this.rinv));return m.red=null,m},M.prototype.imul=function(d,m){if(d.isZero()||m.isZero())return d.words[0]=0,d.length=1,d;var x=d.imul(m),A=x.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),I=x.isub(A).iushrn(this.shift),R=I;return I.cmp(this.m)>=0?R=I.isub(this.m):I.cmpn(0)<0&&(R=I.iadd(this.m)),R._forceRed(this)},M.prototype.mul=function(d,m){if(d.isZero()||m.isZero())return new s(0)._forceRed(this);var x=d.mul(m),A=x.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),I=x.isub(A).iushrn(this.shift),R=I;return I.cmp(this.m)>=0?R=I.isub(this.m):I.cmpn(0)<0&&(R=I.iadd(this.m)),R._forceRed(this)},M.prototype.invm=function(d){var m=this.imod(d._invmp(this.m).mul(this.r2));return m._forceRed(this)}})(r,ct)}(UTe)),cS}var CD,Kie;function SD(){if(Kie)return CD;Kie=1;var r=AD(),e=Xv();function t(s){var o=n(s),a=o.toRed(r.mont(s.modulus)).redPow(new r(s.publicExponent)).fromRed();return{blinder:a,unblinder:o.invm(s.modulus)}}function n(s){var o=s.modulus.byteLength(),a;do a=new r(e(o));while(a.cmp(s.modulus)>=0||!a.umod(s.prime1)||!a.umod(s.prime2));return a}function i(s,o){var a=t(o),l=o.modulus.byteLength(),u=new r(s).mul(a.blinder).umod(o.modulus),h=u.toRed(r.mont(o.prime1)),p=u.toRed(r.mont(o.prime2)),g=o.coefficient,w=o.prime1,y=o.prime2,C=h.redPow(o.exponent1).fromRed(),T=p.redPow(o.exponent2).fromRed(),k=C.isub(T).imul(g).umod(w).imul(y);return T.iadd(k).imul(a.unblinder).umod(o.modulus).toArrayLike(Dt,"be",l)}return i.getr=n,CD=i,CD}var ID={};const FTe={name:"elliptic",version:"6.5.4",description:"EC cryptography",main:"lib/elliptic.js",files:["lib"],scripts:{lint:"eslint lib test","lint:fix":"npm run lint -- --fix",unit:"istanbul test _mocha --reporter=spec test/index.js",test:"npm run lint && npm run unit",version:"grunt dist && git add dist/"},repository:{type:"git",url:"git@github.com:indutny/elliptic"},keywords:["EC","Elliptic","curve","Cryptography"],author:"Fedor Indutny ",license:"MIT",bugs:{url:"https://github.com/indutny/elliptic/issues"},homepage:"https://github.com/indutny/elliptic",devDependencies:{brfs:"^2.0.2",coveralls:"^3.1.0",eslint:"^7.6.0",grunt:"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1",istanbul:"^0.4.5",mocha:"^8.0.1"},dependencies:{"bn.js":"^4.11.9",brorand:"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1",inherits:"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"}};var TD={},RD={},Zie;function Jie(){return Zie||(Zie=1,function(r){var e=r;function t(s,o){if(Array.isArray(s))return s.slice();if(!s)return[];var a=[];if(typeof s!="string"){for(var l=0;l>8,p=u&255;h?a.push(h,p):a.push(p)}return a}e.toArray=t;function n(s){return s.length===1?"0"+s:s}e.zero2=n;function i(s){for(var o="",a=0;a(y>>1)-1?k=(y>>1)-N:k=N,C.isubn(k)):k=0,w[T]=k,C.iushrn(1)}return w}e.getNAF=s;function o(h,p){var g=[[],[]];h=h.clone(),p=p.clone();for(var w=0,y=0,C;h.cmpn(-w)>0||p.cmpn(-y)>0;){var T=h.andln(3)+w&3,k=p.andln(3)+y&3;T===3&&(T=-1),k===3&&(k=-1);var N;T&1?(C=h.andln(7)+w&7,(C===3||C===5)&&k===2?N=-T:N=T):N=0,g[0].push(N);var O;k&1?(C=p.andln(7)+y&7,(C===3||C===5)&&T===2?O=-k:O=k):O=0,g[1].push(O),2*w===N+1&&(w=1-w),2*y===O+1&&(y=1-y),h.iushrn(1),p.iushrn(1)}return g}e.getJSF=o;function a(h,p,g){var w="_"+p;h.prototype[p]=function(){return this[w]!==void 0?this[w]:this[w]=g.call(this)}}e.cachedProperty=a;function l(h){return typeof h=="string"?e.toArray(h,"hex"):h}e.parseBytes=l;function u(h){return new t(h,"hex","le")}e.intFromLE=u}(TD)),TD}var kD={},MD,Qie;function lS(){if(Qie)return MD;Qie=1;var r=wo(),e=Jl(),t=e.getNAF,n=e.getJSF,i=e.assert;function s(a,l){this.type=a,this.p=new r(l.p,16),this.red=l.prime?r.red(l.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=l.n&&new r(l.n,16),this.g=l.g&&this.pointFromJSON(l.g,l.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var u=this.n&&this.p.div(this.n);!u||u.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}MD=s,s.prototype.point=function(){throw new Error("Not implemented")},s.prototype.validate=function(){throw new Error("Not implemented")},s.prototype._fixedNafMul=function(l,u){i(l.precomputed);var h=l._getDoubles(),p=t(u,1,this._bitLength),g=(1<=y;T--)C=(C<<1)+p[T];w.push(C)}for(var k=this.jpoint(null,null,null),N=this.jpoint(null,null,null),O=g;O>0;O--){for(y=0;y=0;C--){for(var T=0;C>=0&&w[C]===0;C--)T++;if(C>=0&&T++,y=y.dblp(T),C<0)break;var k=w[C];i(k!==0),l.type==="affine"?k>0?y=y.mixedAdd(g[k-1>>1]):y=y.mixedAdd(g[-k-1>>1].neg()):k>0?y=y.add(g[k-1>>1]):y=y.add(g[-k-1>>1].neg())}return l.type==="affine"?y.toP():y},s.prototype._wnafMulAdd=function(l,u,h,p,g){var w=this._wnafT1,y=this._wnafT2,C=this._wnafT3,T=0,k,N,O;for(k=0;k=1;k-=2){var z=k-1,G=k;if(w[z]!==1||w[G]!==1){C[z]=t(h[z],w[z],this._bitLength),C[G]=t(h[G],w[G],this._bitLength),T=Math.max(C[z].length,T),T=Math.max(C[G].length,T);continue}var $=[u[z],null,null,u[G]];u[z].y.cmp(u[G].y)===0?($[1]=u[z].add(u[G]),$[2]=u[z].toJ().mixedAdd(u[G].neg())):u[z].y.cmp(u[G].y.redNeg())===0?($[1]=u[z].toJ().mixedAdd(u[G]),$[2]=u[z].add(u[G].neg())):($[1]=u[z].toJ().mixedAdd(u[G]),$[2]=u[z].toJ().mixedAdd(u[G].neg()));var D=[-3,-1,-5,-7,0,7,5,1,3],V=n(h[z],h[G]);for(T=Math.max(V[0].length,T),C[z]=new Array(T),C[G]=new Array(T),N=0;N=0;k--){for(var d=0;k>=0;){var m=!0;for(N=0;N=0&&d++,M=M.dblp(d),k<0)break;for(N=0;N0?O=y[N][x-1>>1]:x<0&&(O=y[N][-x-1>>1].neg()),O.type==="affine"?M=M.mixedAdd(O):M=M.add(O))}}for(k=0;k=Math.ceil((l.bitLength()+1)/u.step):!1},o.prototype._getDoubles=function(l,u){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var h=[this],p=this,g=0;g=0&&(z=k,G=N),O.negative&&(O=O.neg(),B=B.neg()),z.negative&&(z=z.neg(),G=G.neg()),[{a:O,b:B},{a:z,b:G}]},s.prototype._endoSplit=function(u){var h=this.endo.basis,p=h[0],g=h[1],w=g.b.mul(u).divRound(this.n),y=p.b.neg().mul(u).divRound(this.n),C=w.mul(p.a),T=y.mul(g.a),k=w.mul(p.b),N=y.mul(g.b),O=u.sub(C).sub(T),B=k.add(N).neg();return{k1:O,k2:B}},s.prototype.pointFromX=function(u,h){u=new e(u,16),u.red||(u=u.toRed(this.red));var p=u.redSqr().redMul(u).redIAdd(u.redMul(this.a)).redIAdd(this.b),g=p.redSqrt();if(g.redSqr().redSub(p).cmp(this.zero)!==0)throw new Error("invalid point");var w=g.fromRed().isOdd();return(h&&!w||!h&&w)&&(g=g.redNeg()),this.point(u,g)},s.prototype.validate=function(u){if(u.inf)return!0;var h=u.x,p=u.y,g=this.a.redMul(h),w=h.redSqr().redMul(h).redIAdd(g).redIAdd(this.b);return p.redSqr().redISub(w).cmpn(0)===0},s.prototype._endoWnafMulAdd=function(u,h,p){for(var g=this._endoWnafT1,w=this._endoWnafT2,y=0;y":""},o.prototype.isInfinity=function(){return this.inf},o.prototype.add=function(u){if(this.inf)return u;if(u.inf)return this;if(this.eq(u))return this.dbl();if(this.neg().eq(u))return this.curve.point(null,null);if(this.x.cmp(u.x)===0)return this.curve.point(null,null);var h=this.y.redSub(u.y);h.cmpn(0)!==0&&(h=h.redMul(this.x.redSub(u.x).redInvm()));var p=h.redSqr().redISub(this.x).redISub(u.x),g=h.redMul(this.x.redSub(p)).redISub(this.y);return this.curve.point(p,g)},o.prototype.dbl=function(){if(this.inf)return this;var u=this.y.redAdd(this.y);if(u.cmpn(0)===0)return this.curve.point(null,null);var h=this.curve.a,p=this.x.redSqr(),g=u.redInvm(),w=p.redAdd(p).redIAdd(p).redIAdd(h).redMul(g),y=w.redSqr().redISub(this.x.redAdd(this.x)),C=w.redMul(this.x.redSub(y)).redISub(this.y);return this.curve.point(y,C)},o.prototype.getX=function(){return this.x.fromRed()},o.prototype.getY=function(){return this.y.fromRed()},o.prototype.mul=function(u){return u=new e(u,16),this.isInfinity()?this:this._hasDoubles(u)?this.curve._fixedNafMul(this,u):this.curve.endo?this.curve._endoWnafMulAdd([this],[u]):this.curve._wnafMul(this,u)},o.prototype.mulAdd=function(u,h,p){var g=[this,h],w=[u,p];return this.curve.endo?this.curve._endoWnafMulAdd(g,w):this.curve._wnafMulAdd(1,g,w,2)},o.prototype.jmulAdd=function(u,h,p){var g=[this,h],w=[u,p];return this.curve.endo?this.curve._endoWnafMulAdd(g,w,!0):this.curve._wnafMulAdd(1,g,w,2,!0)},o.prototype.eq=function(u){return this===u||this.inf===u.inf&&(this.inf||this.x.cmp(u.x)===0&&this.y.cmp(u.y)===0)},o.prototype.neg=function(u){if(this.inf)return this;var h=this.curve.point(this.x,this.y.redNeg());if(u&&this.precomputed){var p=this.precomputed,g=function(w){return w.neg()};h.precomputed={naf:p.naf&&{wnd:p.naf.wnd,points:p.naf.points.map(g)},doubles:p.doubles&&{step:p.doubles.step,points:p.doubles.points.map(g)}}}return h},o.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var u=this.curve.jpoint(this.x,this.y,this.curve.one);return u};function a(l,u,h,p){n.BasePoint.call(this,l,"jacobian"),u===null&&h===null&&p===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new e(0)):(this.x=new e(u,16),this.y=new e(h,16),this.z=new e(p,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}return t(a,n.BasePoint),s.prototype.jpoint=function(u,h,p){return new a(this,u,h,p)},a.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var u=this.z.redInvm(),h=u.redSqr(),p=this.x.redMul(h),g=this.y.redMul(h).redMul(u);return this.curve.point(p,g)},a.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},a.prototype.add=function(u){if(this.isInfinity())return u;if(u.isInfinity())return this;var h=u.z.redSqr(),p=this.z.redSqr(),g=this.x.redMul(h),w=u.x.redMul(p),y=this.y.redMul(h.redMul(u.z)),C=u.y.redMul(p.redMul(this.z)),T=g.redSub(w),k=y.redSub(C);if(T.cmpn(0)===0)return k.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var N=T.redSqr(),O=N.redMul(T),B=g.redMul(N),z=k.redSqr().redIAdd(O).redISub(B).redISub(B),G=k.redMul(B.redISub(z)).redISub(y.redMul(O)),$=this.z.redMul(u.z).redMul(T);return this.curve.jpoint(z,G,$)},a.prototype.mixedAdd=function(u){if(this.isInfinity())return u.toJ();if(u.isInfinity())return this;var h=this.z.redSqr(),p=this.x,g=u.x.redMul(h),w=this.y,y=u.y.redMul(h).redMul(this.z),C=p.redSub(g),T=w.redSub(y);if(C.cmpn(0)===0)return T.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var k=C.redSqr(),N=k.redMul(C),O=p.redMul(k),B=T.redSqr().redIAdd(N).redISub(O).redISub(O),z=T.redMul(O.redISub(B)).redISub(w.redMul(N)),G=this.z.redMul(C);return this.curve.jpoint(B,z,G)},a.prototype.dblp=function(u){if(u===0)return this;if(this.isInfinity())return this;if(!u)return this.dbl();var h;if(this.curve.zeroA||this.curve.threeA){var p=this;for(h=0;h=0)return!1;if(p.redIAdd(w),this.x.cmp(p)===0)return!0}},a.prototype.inspect=function(){return this.isInfinity()?"":""},a.prototype.isInfinity=function(){return this.z.cmpn(0)===0},ND}var PD,ese;function zTe(){if(ese)return PD;ese=1;var r=wo(),e=tn(),t=lS(),n=Jl();function i(o){t.call(this,"mont",o),this.a=new r(o.a,16).toRed(this.red),this.b=new r(o.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))}e(i,t),PD=i,i.prototype.validate=function(a){var l=a.normalize().x,u=l.redSqr(),h=u.redMul(l).redAdd(u.redMul(this.a)).redAdd(l),p=h.redSqrt();return p.redSqr().cmp(h)===0};function s(o,a,l){t.BasePoint.call(this,o,"projective"),a===null&&l===null?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new r(a,16),this.z=new r(l,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}return e(s,t.BasePoint),i.prototype.decodePoint=function(a,l){return this.point(n.toArray(a,l),1)},i.prototype.point=function(a,l){return new s(this,a,l)},i.prototype.pointFromJSON=function(a){return s.fromJSON(this,a)},s.prototype.precompute=function(){},s.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},s.fromJSON=function(a,l){return new s(a,l[0],l[1]||a.one)},s.prototype.inspect=function(){return this.isInfinity()?"":""},s.prototype.isInfinity=function(){return this.z.cmpn(0)===0},s.prototype.dbl=function(){var a=this.x.redAdd(this.z),l=a.redSqr(),u=this.x.redSub(this.z),h=u.redSqr(),p=l.redSub(h),g=l.redMul(h),w=p.redMul(h.redAdd(this.curve.a24.redMul(p)));return this.curve.point(g,w)},s.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},s.prototype.diffAdd=function(a,l){var u=this.x.redAdd(this.z),h=this.x.redSub(this.z),p=a.x.redAdd(a.z),g=a.x.redSub(a.z),w=g.redMul(u),y=p.redMul(h),C=l.z.redMul(w.redAdd(y).redSqr()),T=l.x.redMul(w.redISub(y).redSqr());return this.curve.point(C,T)},s.prototype.mul=function(a){for(var l=a.clone(),u=this,h=this.curve.point(null,null),p=this,g=[];l.cmpn(0)!==0;l.iushrn(1))g.push(l.andln(1));for(var w=g.length-1;w>=0;w--)g[w]===0?(u=u.diffAdd(h,p),h=h.dbl()):(h=u.diffAdd(h,p),u=u.dbl());return h},s.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},s.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},s.prototype.eq=function(a){return this.getX().cmp(a.getX())===0},s.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},s.prototype.getX=function(){return this.normalize(),this.x.fromRed()},PD}var OD,tse;function HTe(){if(tse)return OD;tse=1;var r=Jl(),e=wo(),t=tn(),n=lS(),i=r.assert;function s(a){this.twisted=(a.a|0)!==1,this.mOneA=this.twisted&&(a.a|0)===-1,this.extended=this.mOneA,n.call(this,"edwards",a),this.a=new e(a.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new e(a.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new e(a.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),i(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(a.c|0)===1}t(s,n),OD=s,s.prototype._mulA=function(l){return this.mOneA?l.redNeg():this.a.redMul(l)},s.prototype._mulC=function(l){return this.oneC?l:this.c.redMul(l)},s.prototype.jpoint=function(l,u,h,p){return this.point(l,u,h,p)},s.prototype.pointFromX=function(l,u){l=new e(l,16),l.red||(l=l.toRed(this.red));var h=l.redSqr(),p=this.c2.redSub(this.a.redMul(h)),g=this.one.redSub(this.c2.redMul(this.d).redMul(h)),w=p.redMul(g.redInvm()),y=w.redSqrt();if(y.redSqr().redSub(w).cmp(this.zero)!==0)throw new Error("invalid point");var C=y.fromRed().isOdd();return(u&&!C||!u&&C)&&(y=y.redNeg()),this.point(l,y)},s.prototype.pointFromY=function(l,u){l=new e(l,16),l.red||(l=l.toRed(this.red));var h=l.redSqr(),p=h.redSub(this.c2),g=h.redMul(this.d).redMul(this.c2).redSub(this.a),w=p.redMul(g.redInvm());if(w.cmp(this.zero)===0){if(u)throw new Error("invalid point");return this.point(this.zero,l)}var y=w.redSqrt();if(y.redSqr().redSub(w).cmp(this.zero)!==0)throw new Error("invalid point");return y.fromRed().isOdd()!==u&&(y=y.redNeg()),this.point(y,l)},s.prototype.validate=function(l){if(l.isInfinity())return!0;l.normalize();var u=l.x.redSqr(),h=l.y.redSqr(),p=u.redMul(this.a).redAdd(h),g=this.c2.redMul(this.one.redAdd(this.d.redMul(u).redMul(h)));return p.cmp(g)===0};function o(a,l,u,h,p){n.BasePoint.call(this,a,"projective"),l===null&&u===null&&h===null?(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 e(l,16),this.y=new e(u,16),this.z=h?new e(h,16):this.curve.one,this.t=p&&new e(p,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()))))}return t(o,n.BasePoint),s.prototype.pointFromJSON=function(l){return o.fromJSON(this,l)},s.prototype.point=function(l,u,h,p){return new o(this,l,u,h,p)},o.fromJSON=function(l,u){return new o(l,u[0],u[1],u[2])},o.prototype.inspect=function(){return this.isInfinity()?"":""},o.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)},o.prototype._extDbl=function(){var l=this.x.redSqr(),u=this.y.redSqr(),h=this.z.redSqr();h=h.redIAdd(h);var p=this.curve._mulA(l),g=this.x.redAdd(this.y).redSqr().redISub(l).redISub(u),w=p.redAdd(u),y=w.redSub(h),C=p.redSub(u),T=g.redMul(y),k=w.redMul(C),N=g.redMul(C),O=y.redMul(w);return this.curve.point(T,k,O,N)},o.prototype._projDbl=function(){var l=this.x.redAdd(this.y).redSqr(),u=this.x.redSqr(),h=this.y.redSqr(),p,g,w,y,C,T;if(this.curve.twisted){y=this.curve._mulA(u);var k=y.redAdd(h);this.zOne?(p=l.redSub(u).redSub(h).redMul(k.redSub(this.curve.two)),g=k.redMul(y.redSub(h)),w=k.redSqr().redSub(k).redSub(k)):(C=this.z.redSqr(),T=k.redSub(C).redISub(C),p=l.redSub(u).redISub(h).redMul(T),g=k.redMul(y.redSub(h)),w=k.redMul(T))}else y=u.redAdd(h),C=this.curve._mulC(this.z).redSqr(),T=y.redSub(C).redSub(C),p=this.curve._mulC(l.redISub(y)).redMul(T),g=this.curve._mulC(y).redMul(u.redISub(h)),w=y.redMul(T);return this.curve.point(p,g,w)},o.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},o.prototype._extAdd=function(l){var u=this.y.redSub(this.x).redMul(l.y.redSub(l.x)),h=this.y.redAdd(this.x).redMul(l.y.redAdd(l.x)),p=this.t.redMul(this.curve.dd).redMul(l.t),g=this.z.redMul(l.z.redAdd(l.z)),w=h.redSub(u),y=g.redSub(p),C=g.redAdd(p),T=h.redAdd(u),k=w.redMul(y),N=C.redMul(T),O=w.redMul(T),B=y.redMul(C);return this.curve.point(k,N,B,O)},o.prototype._projAdd=function(l){var u=this.z.redMul(l.z),h=u.redSqr(),p=this.x.redMul(l.x),g=this.y.redMul(l.y),w=this.curve.d.redMul(p).redMul(g),y=h.redSub(w),C=h.redAdd(w),T=this.x.redAdd(this.y).redMul(l.x.redAdd(l.y)).redISub(p).redISub(g),k=u.redMul(y).redMul(T),N,O;return this.curve.twisted?(N=u.redMul(C).redMul(g.redSub(this.curve._mulA(p))),O=y.redMul(C)):(N=u.redMul(C).redMul(g.redSub(p)),O=this.curve._mulC(y).redMul(C)),this.curve.point(k,N,O)},o.prototype.add=function(l){return this.isInfinity()?l:l.isInfinity()?this:this.curve.extended?this._extAdd(l):this._projAdd(l)},o.prototype.mul=function(l){return this._hasDoubles(l)?this.curve._fixedNafMul(this,l):this.curve._wnafMul(this,l)},o.prototype.mulAdd=function(l,u,h){return this.curve._wnafMulAdd(1,[this,u],[l,h],2,!1)},o.prototype.jmulAdd=function(l,u,h){return this.curve._wnafMulAdd(1,[this,u],[l,h],2,!0)},o.prototype.normalize=function(){if(this.zOne)return this;var l=this.z.redInvm();return this.x=this.x.redMul(l),this.y=this.y.redMul(l),this.t&&(this.t=this.t.redMul(l)),this.z=this.curve.one,this.zOne=!0,this},o.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},o.prototype.getX=function(){return this.normalize(),this.x.fromRed()},o.prototype.getY=function(){return this.normalize(),this.y.fromRed()},o.prototype.eq=function(l){return this===l||this.getX().cmp(l.getX())===0&&this.getY().cmp(l.getY())===0},o.prototype.eqXToP=function(l){var u=l.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(u)===0)return!0;for(var h=l.clone(),p=this.curve.redN.redMul(this.z);;){if(h.iadd(this.curve.n),h.cmp(this.curve.p)>=0)return!1;if(u.redIAdd(p),this.x.cmp(u)===0)return!0}},o.prototype.toP=o.prototype.normalize,o.prototype.mixedAdd=o.prototype.add,OD}var rse;function nse(){return rse||(rse=1,function(r){var e=r;e.base=lS(),e.short=jTe(),e.mont=zTe(),e.edwards=HTe()}(kD)),kD}var DD={},$D={},pi={},ise;function ff(){if(ise)return pi;ise=1;var r=Kl(),e=tn();pi.inherits=e;function t(M,b){return(M.charCodeAt(b)&64512)!==55296||b<0||b+1>=M.length?!1:(M.charCodeAt(b+1)&64512)===56320}function n(M,b){if(Array.isArray(M))return M.slice();if(!M)return[];var d=[];if(typeof M=="string")if(b){if(b==="hex")for(M=M.replace(/[^a-z0-9]+/ig,""),M.length%2!==0&&(M="0"+M),x=0;x>6|192,d[m++]=A&63|128):t(M,x)?(A=65536+((A&1023)<<10)+(M.charCodeAt(++x)&1023),d[m++]=A>>18|240,d[m++]=A>>12&63|128,d[m++]=A>>6&63|128,d[m++]=A&63|128):(d[m++]=A>>12|224,d[m++]=A>>6&63|128,d[m++]=A&63|128)}else for(x=0;x>>24|M>>>8&65280|M<<8&16711680|(M&255)<<24;return b>>>0}pi.htonl=s;function o(M,b){for(var d="",m=0;m>>0}return A}pi.join32=u;function h(M,b){for(var d=new Array(M.length*4),m=0,x=0;m>>24,d[x+1]=A>>>16&255,d[x+2]=A>>>8&255,d[x+3]=A&255):(d[x+3]=A>>>24,d[x+2]=A>>>16&255,d[x+1]=A>>>8&255,d[x]=A&255)}return d}pi.split32=h;function p(M,b){return M>>>b|M<<32-b}pi.rotr32=p;function g(M,b){return M<>>32-b}pi.rotl32=g;function w(M,b){return M+b>>>0}pi.sum32=w;function y(M,b,d){return M+b+d>>>0}pi.sum32_3=y;function C(M,b,d,m){return M+b+d+m>>>0}pi.sum32_4=C;function T(M,b,d,m,x){return M+b+d+m+x>>>0}pi.sum32_5=T;function k(M,b,d,m){var x=M[b],A=M[b+1],I=m+A>>>0,R=(I>>0,M[b+1]=I}pi.sum64=k;function N(M,b,d,m){var x=b+m>>>0,A=(x>>0}pi.sum64_hi=N;function O(M,b,d,m){var x=b+m;return x>>>0}pi.sum64_lo=O;function B(M,b,d,m,x,A,I,R){var S=0,E=b;E=E+m>>>0,S+=E>>0,S+=E>>0,S+=E>>0}pi.sum64_4_hi=B;function z(M,b,d,m,x,A,I,R){var S=b+m+A+R;return S>>>0}pi.sum64_4_lo=z;function G(M,b,d,m,x,A,I,R,S,E){var _=0,L=b;L=L+m>>>0,_+=L>>0,_+=L>>0,_+=L>>0,_+=L>>0}pi.sum64_5_hi=G;function $(M,b,d,m,x,A,I,R,S,E){var _=b+m+A+R+E;return _>>>0}pi.sum64_5_lo=$;function D(M,b,d){var m=b<<32-d|M>>>d;return m>>>0}pi.rotr64_hi=D;function V(M,b,d){var m=M<<32-d|b>>>d;return m>>>0}pi.rotr64_lo=V;function Q(M,b,d){return M>>>d}pi.shr64_hi=Q;function F(M,b,d){var m=M<<32-d|b>>>d;return m>>>0}return pi.shr64_lo=F,pi}var BD={},sse;function N6(){if(sse)return BD;sse=1;var r=ff(),e=Kl();function t(){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}return BD.BlockHash=t,t.prototype.update=function(i,s){if(i=r.toArray(i,s),this.pending?this.pending=this.pending.concat(i):this.pending=i,this.pendingTotal+=i.length,this.pending.length>=this._delta8){i=this.pending;var o=i.length%this._delta8;this.pending=i.slice(i.length-o,i.length),this.pending.length===0&&(this.pending=null),i=r.join32(i,0,i.length-o,this.endian);for(var a=0;a>>24&255,a[l++]=i>>>16&255,a[l++]=i>>>8&255,a[l++]=i&255}else for(a[l++]=i&255,a[l++]=i>>>8&255,a[l++]=i>>>16&255,a[l++]=i>>>24&255,a[l++]=0,a[l++]=0,a[l++]=0,a[l++]=0,u=8;u>>3}df.g0_256=l;function u(h){return e(h,17)^e(h,19)^h>>>10}return df.g1_256=u,df}var LD,cse;function qTe(){if(cse)return LD;cse=1;var r=ff(),e=N6(),t=ase(),n=r.rotl32,i=r.sum32,s=r.sum32_5,o=t.ft_1,a=e.BlockHash,l=[1518500249,1859775393,2400959708,3395469782];function u(){if(!(this instanceof u))return new u;a.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}return r.inherits(u,a),LD=u,u.blockSize=512,u.outSize=160,u.hmacStrength=80,u.padLength=64,u.prototype._update=function(p,g){for(var w=this.W,y=0;y<16;y++)w[y]=p[g+y];for(;ythis.blockSize&&(i=new this.Hash().update(i).digest()),e(i.length<=this.blockSize);for(var s=i.length;s=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(s,o,a)}return KD=n,n.prototype._init=function(s,o,a){var l=s.concat(o).concat(a);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var u=0;u=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(s.concat(a||[])),this._reseed=1},n.prototype.generate=function(s,o,a,l){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof o!="string"&&(l=a,a=o,o=null),a&&(a=e.toArray(a,l||"hex"),this._update(a));for(var u=[];u.length"},ZD}var JD,Ese;function XTe(){if(Ese)return JD;Ese=1;var r=wo(),e=Jl(),t=e.assert;function n(l,u){if(l instanceof n)return l;this._importDER(l,u)||(t(l.r&&l.s,"Signature without r or s"),this.r=new r(l.r,16),this.s=new r(l.s,16),l.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=l.recoveryParam)}JD=n;function i(){this.place=0}function s(l,u){var h=l[u.place++];if(!(h&128))return h;var p=h&15;if(p===0||p>4)return!1;for(var g=0,w=0,y=u.place;w>>=0;return g<=127?!1:(u.place=y,g)}function o(l){for(var u=0,h=l.length-1;!l[u]&&!(l[u+1]&128)&&u>>3);for(l.push(h|128);--h;)l.push(u>>>(h<<3)&255);l.push(u)}return n.prototype.toDER=function(u){var h=this.r.toArray(),p=this.s.toArray();for(h[0]&128&&(h=[0].concat(h)),p[0]&128&&(p=[0].concat(p)),h=o(h),p=o(p);!p[0]&&!(p[1]&128);)p=p.slice(1);var g=[2];a(g,h.length),g=g.concat(h),g.push(2),a(g,p.length);var w=g.concat(p),y=[48];return a(y,w.length),y=y.concat(w),e.encode(y,u)},JD}var YD,Ase;function eRe(){if(Ase)return YD;Ase=1;var r=wo(),e=YTe(),t=Jl(),n=GD(),i=yD(),s=t.assert,o=QTe(),a=XTe();function l(u){if(!(this instanceof l))return new l(u);typeof u=="string"&&(s(Object.prototype.hasOwnProperty.call(n,u),"Unknown curve "+u),u=n[u]),u instanceof n.PresetCurve&&(u={curve:u}),this.curve=u.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=u.curve.g,this.g.precompute(u.curve.n.bitLength()+1),this.hash=u.hash||u.curve.hash}return YD=l,l.prototype.keyPair=function(h){return new o(this,h)},l.prototype.keyFromPrivate=function(h,p){return o.fromPrivate(this,h,p)},l.prototype.keyFromPublic=function(h,p){return o.fromPublic(this,h,p)},l.prototype.genKeyPair=function(h){h||(h={});for(var p=new e({hash:this.hash,pers:h.pers,persEnc:h.persEnc||"utf8",entropy:h.entropy||i(this.hash.hmacStrength),entropyEnc:h.entropy&&h.entropyEnc||"utf8",nonce:this.n.toArray()}),g=this.n.byteLength(),w=this.n.sub(new r(2));;){var y=new r(p.generate(g));if(!(y.cmp(w)>0))return y.iaddn(1),this.keyFromPrivate(y)}},l.prototype._truncateToN=function(h,p){var g=h.byteLength()*8-this.n.bitLength();return g>0&&(h=h.ushrn(g)),!p&&h.cmp(this.n)>=0?h.sub(this.n):h},l.prototype.sign=function(h,p,g,w){typeof g=="object"&&(w=g,g=null),w||(w={}),p=this.keyFromPrivate(p,g),h=this._truncateToN(new r(h,16));for(var y=this.n.byteLength(),C=p.getPrivate().toArray("be",y),T=h.toArray("be",y),k=new e({hash:this.hash,entropy:C,nonce:T,pers:w.pers,persEnc:w.persEnc||"utf8"}),N=this.n.sub(new r(1)),O=0;;O++){var B=w.k?w.k(O):new r(k.generate(this.n.byteLength()));if(B=this._truncateToN(B,!0),!(B.cmpn(1)<=0||B.cmp(N)>=0)){var z=this.g.mul(B);if(!z.isInfinity()){var G=z.getX(),$=G.umod(this.n);if($.cmpn(0)!==0){var D=B.invm(this.n).mul($.mul(p.getPrivate()).iadd(h));if(D=D.umod(this.n),D.cmpn(0)!==0){var V=(z.getY().isOdd()?1:0)|(G.cmp($)!==0?2:0);return w.canonical&&D.cmp(this.nh)>0&&(D=this.n.sub(D),V^=1),new a({r:$,s:D,recoveryParam:V})}}}}}},l.prototype.verify=function(h,p,g,w){h=this._truncateToN(new r(h,16)),g=this.keyFromPublic(g,w),p=new a(p,"hex");var y=p.r,C=p.s;if(y.cmpn(1)<0||y.cmp(this.n)>=0||C.cmpn(1)<0||C.cmp(this.n)>=0)return!1;var T=C.invm(this.n),k=T.mul(h).umod(this.n),N=T.mul(y).umod(this.n),O;return this.curve._maxwellTrick?(O=this.g.jmulAdd(k,g.getPublic(),N),O.isInfinity()?!1:O.eqXToP(y)):(O=this.g.mulAdd(k,g.getPublic(),N),O.isInfinity()?!1:O.getX().umod(this.n).cmp(y)===0)},l.prototype.recoverPubKey=function(u,h,p,g){s((3&p)===p,"The recovery param is more than two bits"),h=new a(h,g);var w=this.n,y=new r(u),C=h.r,T=h.s,k=p&1,N=p>>1;if(C.cmp(this.curve.p.umod(this.curve.n))>=0&&N)throw new Error("Unable to find sencond key candinate");N?C=this.curve.pointFromX(C.add(this.curve.n),k):C=this.curve.pointFromX(C,k);var O=h.r.invm(w),B=w.sub(y).mul(O).umod(w),z=T.mul(O).umod(w);return this.g.mulAdd(B,C,z)},l.prototype.getKeyRecoveryParam=function(u,h,p,g){if(h=new a(h,g),h.recoveryParam!==null)return h.recoveryParam;for(var w=0;w<4;w++){var y;try{y=this.recoverPubKey(u,h,w)}catch{continue}if(y.eq(p))return w}throw new Error("Unable to find valid recovery factor")},YD}var QD,Cse;function tRe(){if(Cse)return QD;Cse=1;var r=Jl(),e=r.assert,t=r.parseBytes,n=r.cachedProperty;function i(s,o){this.eddsa=s,this._secret=t(o.secret),s.isPoint(o.pub)?this._pub=o.pub:this._pubBytes=t(o.pub)}return i.fromPublic=function(o,a){return a instanceof i?a:new i(o,{pub:a})},i.fromSecret=function(o,a){return a instanceof i?a:new i(o,{secret:a})},i.prototype.secret=function(){return this._secret},n(i,"pubBytes",function(){return this.eddsa.encodePoint(this.pub())}),n(i,"pub",function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),n(i,"privBytes",function(){var o=this.eddsa,a=this.hash(),l=o.encodingLength-1,u=a.slice(0,o.encodingLength);return u[0]&=248,u[l]&=127,u[l]|=64,u}),n(i,"priv",function(){return this.eddsa.decodeInt(this.privBytes())}),n(i,"hash",function(){return this.eddsa.hash().update(this.secret()).digest()}),n(i,"messagePrefix",function(){return this.hash().slice(this.eddsa.encodingLength)}),i.prototype.sign=function(o){return e(this._secret,"KeyPair can only verify"),this.eddsa.sign(o,this)},i.prototype.verify=function(o,a){return this.eddsa.verify(o,a,this)},i.prototype.getSecret=function(o){return e(this._secret,"KeyPair is public only"),r.encode(this.secret(),o)},i.prototype.getPublic=function(o){return r.encode(this.pubBytes(),o)},QD=i,QD}var XD,Sse;function rRe(){if(Sse)return XD;Sse=1;var r=wo(),e=Jl(),t=e.assert,n=e.cachedProperty,i=e.parseBytes;function s(o,a){this.eddsa=o,typeof a!="object"&&(a=i(a)),Array.isArray(a)&&(a={R:a.slice(0,o.encodingLength),S:a.slice(o.encodingLength)}),t(a.R&&a.S,"Signature without R or S"),o.isPoint(a.R)&&(this._R=a.R),a.S instanceof r&&(this._S=a.S),this._Rencoded=Array.isArray(a.R)?a.R:a.Rencoded,this._Sencoded=Array.isArray(a.S)?a.S:a.Sencoded}return n(s,"S",function(){return this.eddsa.decodeInt(this.Sencoded())}),n(s,"R",function(){return this.eddsa.decodePoint(this.Rencoded())}),n(s,"Rencoded",function(){return this.eddsa.encodePoint(this.R())}),n(s,"Sencoded",function(){return this.eddsa.encodeInt(this.S())}),s.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},s.prototype.toHex=function(){return e.encode(this.toBytes(),"hex").toUpperCase()},XD=s,XD}var e$,Ise;function nRe(){if(Ise)return e$;Ise=1;var r=WD(),e=GD(),t=Jl(),n=t.assert,i=t.parseBytes,s=tRe(),o=rRe();function a(l){if(n(l==="ed25519","only tested with ed25519 so far"),!(this instanceof a))return new a(l);l=e[l].curve,this.curve=l,this.g=l.g,this.g.precompute(l.n.bitLength()+1),this.pointClass=l.point().constructor,this.encodingLength=Math.ceil(l.n.bitLength()/8),this.hash=r.sha512}return e$=a,a.prototype.sign=function(u,h){u=i(u);var p=this.keyFromSecret(h),g=this.hashInt(p.messagePrefix(),u),w=this.g.mul(g),y=this.encodePoint(w),C=this.hashInt(y,p.pubBytes(),u).mul(p.priv()),T=g.add(C).umod(this.curve.n);return this.makeSignature({R:w,S:T,Rencoded:y})},a.prototype.verify=function(u,h,p){u=i(u),h=this.makeSignature(h);var g=this.keyFromPublic(p),w=this.hashInt(h.Rencoded(),g.pubBytes(),u),y=this.g.mul(h.S()),C=h.R().add(g.pub().mul(w));return C.eq(y)},a.prototype.hashInt=function(){for(var u=this.hash(),h=0;h"u")throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof s);return e(s,o,a)}),i.alloc||(i.alloc=function(s,o,a){if(typeof s!="number")throw new TypeError('The "size" argument must be of type number. Received type '+typeof s);if(s<0||s>=2*(1<<30))throw new RangeError('The value "'+s+'" is invalid for option "size"');var l=e(s);return!o||o.length===0?l.fill(0):typeof a=="string"?l.fill(o,a):l.fill(o),l}),!t.kStringMaxLength)try{t.kStringMaxLength=yt.binding("buffer").kStringMaxLength}catch{}return t.constants||(t.constants={MAX_LENGTH:t.kMaxLength},t.kStringMaxLength&&(t.constants.MAX_STRING_LENGTH=t.kStringMaxLength)),s$=t,s$}var a$={},kse;function c$(){if(kse)return a$;kse=1;const r=tn();function e(n){this._reporterState={obj:null,path:[],options:n||{},errors:[]}}a$.Reporter=e,e.prototype.isError=function(i){return i instanceof t},e.prototype.save=function(){const i=this._reporterState;return{obj:i.obj,pathLen:i.path.length}},e.prototype.restore=function(i){const s=this._reporterState;s.obj=i.obj,s.path=s.path.slice(0,i.pathLen)},e.prototype.enterKey=function(i){return this._reporterState.path.push(i)},e.prototype.exitKey=function(i){const s=this._reporterState;s.path=s.path.slice(0,i-1)},e.prototype.leaveKey=function(i,s,o){const a=this._reporterState;this.exitKey(i),a.obj!==null&&(a.obj[s]=o)},e.prototype.path=function(){return this._reporterState.path.join("/")},e.prototype.enterObject=function(){const i=this._reporterState,s=i.obj;return i.obj={},s},e.prototype.leaveObject=function(i){const s=this._reporterState,o=s.obj;return s.obj=i,o},e.prototype.error=function(i){let s;const o=this._reporterState,a=i instanceof t;if(a?s=i:s=new t(o.path.map(function(l){return"["+JSON.stringify(l)+"]"}).join(""),i.message||i,i.stack),!o.options.partial)throw s;return a||o.errors.push(s),s},e.prototype.wrapResult=function(i){const s=this._reporterState;return s.options.partial?{result:this.isError(i)?null:i,errors:s.errors}:i};function t(n,i){this.path=n,this.rethrow(i)}return r(t,Error),t.prototype.rethrow=function(i){if(this.message=i+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,t),!this.stack)try{throw new Error(this.message)}catch(s){this.stack=s.stack}return this},a$}var uS={},Mse;function P6(){if(Mse)return uS;Mse=1;const r=tn(),e=c$().Reporter,t=o$().Buffer;function n(s,o){if(e.call(this,o),!t.isBuffer(s)){this.error("Input not Buffer");return}this.base=s,this.offset=0,this.length=s.length}r(n,e),uS.DecoderBuffer=n,n.isDecoderBuffer=function(o){return o instanceof n?!0:typeof o=="object"&&t.isBuffer(o.base)&&o.constructor.name==="DecoderBuffer"&&typeof o.offset=="number"&&typeof o.length=="number"&&typeof o.save=="function"&&typeof o.restore=="function"&&typeof o.isEmpty=="function"&&typeof o.readUInt8=="function"&&typeof o.skip=="function"&&typeof o.raw=="function"},n.prototype.save=function(){return{offset:this.offset,reporter:e.prototype.save.call(this)}},n.prototype.restore=function(o){const a=new n(this.base);return a.offset=o.offset,a.length=this.offset,this.offset=o.offset,e.prototype.restore.call(this,o.reporter),a},n.prototype.isEmpty=function(){return this.offset===this.length},n.prototype.readUInt8=function(o){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(o||"DecoderBuffer overrun")},n.prototype.skip=function(o,a){if(!(this.offset+o<=this.length))return this.error(a||"DecoderBuffer overrun");const l=new n(this.base);return l._reporterState=this._reporterState,l.offset=this.offset,l.length=this.offset+o,this.offset+=o,l},n.prototype.raw=function(o){return this.base.slice(o?o.offset:this.offset,this.length)};function i(s,o){if(Array.isArray(s))this.length=0,this.value=s.map(function(a){return i.isEncoderBuffer(a)||(a=new i(a,o)),this.length+=a.length,a},this);else if(typeof s=="number"){if(!(0<=s&&s<=255))return o.error("non-byte EncoderBuffer value");this.value=s,this.length=1}else if(typeof s=="string")this.value=s,this.length=t.byteLength(s);else if(t.isBuffer(s))this.value=s,this.length=s.length;else return o.error("Unsupported type: "+typeof s)}return uS.EncoderBuffer=i,i.isEncoderBuffer=function(o){return o instanceof i?!0:typeof o=="object"&&o.constructor.name==="EncoderBuffer"&&typeof o.length=="number"&&typeof o.join=="function"},i.prototype.join=function(o,a){return o||(o=t.alloc(this.length)),a||(a=0),this.length===0||(Array.isArray(this.value)?this.value.forEach(function(l){l.join(o,a),a+=l.length}):(typeof this.value=="number"?o[a]=this.value:typeof this.value=="string"?o.write(this.value,a):t.isBuffer(this.value)&&this.value.copy(o,a),a+=this.length)),o},uS}var l$,Nse;function u$(){if(Nse)return l$;Nse=1;const r=c$().Reporter,e=P6().EncoderBuffer,t=P6().DecoderBuffer,n=Kl(),i=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],s=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(i),o=["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"];function a(u,h,p){const g={};this._baseState=g,g.name=p,g.enc=u,g.parent=h||null,g.children=null,g.tag=null,g.args=null,g.reverseArgs=null,g.choice=null,g.optional=!1,g.any=!1,g.obj=!1,g.use=null,g.useDecoder=null,g.key=null,g.default=null,g.explicit=null,g.implicit=null,g.contains=null,g.parent||(g.children=[],this._wrap())}l$=a;const l=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];return a.prototype.clone=function(){const h=this._baseState,p={};l.forEach(function(w){p[w]=h[w]});const g=new this.constructor(p.parent);return g._baseState=p,g},a.prototype._wrap=function(){const h=this._baseState;s.forEach(function(p){this[p]=function(){const w=new this.constructor(this);return h.children.push(w),w[p].apply(w,arguments)}},this)},a.prototype._init=function(h){const p=this._baseState;n(p.parent===null),h.call(this),p.children=p.children.filter(function(g){return g._baseState.parent===this},this),n.equal(p.children.length,1,"Root node can have only one child")},a.prototype._useArgs=function(h){const p=this._baseState,g=h.filter(function(w){return w instanceof this.constructor},this);h=h.filter(function(w){return!(w instanceof this.constructor)},this),g.length!==0&&(n(p.children===null),p.children=g,g.forEach(function(w){w._baseState.parent=this},this)),h.length!==0&&(n(p.args===null),p.args=h,p.reverseArgs=h.map(function(w){if(typeof w!="object"||w.constructor!==Object)return w;const y={};return Object.keys(w).forEach(function(C){C==(C|0)&&(C|=0);const T=w[C];y[T]=C}),y}))},o.forEach(function(u){a.prototype[u]=function(){const p=this._baseState;throw new Error(u+" not implemented for encoding: "+p.enc)}}),i.forEach(function(u){a.prototype[u]=function(){const p=this._baseState,g=Array.prototype.slice.call(arguments);return n(p.tag===null),p.tag=u,this._useArgs(g),this}}),a.prototype.use=function(h){n(h);const p=this._baseState;return n(p.use===null),p.use=h,this},a.prototype.optional=function(){const h=this._baseState;return h.optional=!0,this},a.prototype.def=function(h){const p=this._baseState;return n(p.default===null),p.default=h,p.optional=!0,this},a.prototype.explicit=function(h){const p=this._baseState;return n(p.explicit===null&&p.implicit===null),p.explicit=h,this},a.prototype.implicit=function(h){const p=this._baseState;return n(p.explicit===null&&p.implicit===null),p.implicit=h,this},a.prototype.obj=function(){const h=this._baseState,p=Array.prototype.slice.call(arguments);return h.obj=!0,p.length!==0&&this._useArgs(p),this},a.prototype.key=function(h){const p=this._baseState;return n(p.key===null),p.key=h,this},a.prototype.any=function(){const h=this._baseState;return h.any=!0,this},a.prototype.choice=function(h){const p=this._baseState;return n(p.choice===null),p.choice=h,this._useArgs(Object.keys(h).map(function(g){return h[g]})),this},a.prototype.contains=function(h){const p=this._baseState;return n(p.use===null),p.contains=h,this},a.prototype._decode=function(h,p){const g=this._baseState;if(g.parent===null)return h.wrapResult(g.children[0]._decode(h,p));let w=g.default,y=!0,C=null;if(g.key!==null&&(C=h.enterKey(g.key)),g.optional){let k=null;if(g.explicit!==null?k=g.explicit:g.implicit!==null?k=g.implicit:g.tag!==null&&(k=g.tag),k===null&&!g.any){const N=h.save();try{g.choice===null?this._decodeGeneric(g.tag,h,p):this._decodeChoice(h,p),y=!0}catch{y=!1}h.restore(N)}else if(y=this._peekTag(h,k,g.any),h.isError(y))return y}let T;if(g.obj&&y&&(T=h.enterObject()),y){if(g.explicit!==null){const N=this._decodeTag(h,g.explicit);if(h.isError(N))return N;h=N}const k=h.offset;if(g.use===null&&g.choice===null){let N;g.any&&(N=h.save());const O=this._decodeTag(h,g.implicit!==null?g.implicit:g.tag,g.any);if(h.isError(O))return O;g.any?w=h.raw(N):h=O}if(p&&p.track&&g.tag!==null&&p.track(h.path(),k,h.length,"tagged"),p&&p.track&&g.tag!==null&&p.track(h.path(),h.offset,h.length,"content"),g.any||(g.choice===null?w=this._decodeGeneric(g.tag,h,p):w=this._decodeChoice(h,p)),h.isError(w))return w;if(!g.any&&g.choice===null&&g.children!==null&&g.children.forEach(function(O){O._decode(h,p)}),g.contains&&(g.tag==="octstr"||g.tag==="bitstr")){const N=new t(w);w=this._getUse(g.contains,h._reporterState.obj)._decode(N,p)}}return g.obj&&y&&(w=h.leaveObject(T)),g.key!==null&&(w!==null||y===!0)?h.leaveKey(C,g.key,w):C!==null&&h.exitKey(C),w},a.prototype._decodeGeneric=function(h,p,g){const w=this._baseState;return h==="seq"||h==="set"?null:h==="seqof"||h==="setof"?this._decodeList(p,h,w.args[0],g):/str$/.test(h)?this._decodeStr(p,h,g):h==="objid"&&w.args?this._decodeObjid(p,w.args[0],w.args[1],g):h==="objid"?this._decodeObjid(p,null,null,g):h==="gentime"||h==="utctime"?this._decodeTime(p,h,g):h==="null_"?this._decodeNull(p,g):h==="bool"?this._decodeBool(p,g):h==="objDesc"?this._decodeStr(p,h,g):h==="int"||h==="enum"?this._decodeInt(p,w.args&&w.args[0],g):w.use!==null?this._getUse(w.use,p._reporterState.obj)._decode(p,g):p.error("unknown tag: "+h)},a.prototype._getUse=function(h,p){const g=this._baseState;return g.useDecoder=this._use(h,p),n(g.useDecoder._baseState.parent===null),g.useDecoder=g.useDecoder._baseState.children[0],g.implicit!==g.useDecoder._baseState.implicit&&(g.useDecoder=g.useDecoder.clone(),g.useDecoder._baseState.implicit=g.implicit),g.useDecoder},a.prototype._decodeChoice=function(h,p){const g=this._baseState;let w=null,y=!1;return Object.keys(g.choice).some(function(C){const T=h.save(),k=g.choice[C];try{const N=k._decode(h,p);if(h.isError(N))return!1;w={type:C,value:N},y=!0}catch{return h.restore(T),!1}return!0},this),y?w:h.error("Choice not matched")},a.prototype._createEncoderBuffer=function(h){return new e(h,this.reporter)},a.prototype._encode=function(h,p,g){const w=this._baseState;if(w.default!==null&&w.default===h)return;const y=this._encodeValue(h,p,g);if(y!==void 0&&!this._skipDefault(y,p,g))return y},a.prototype._encodeValue=function(h,p,g){const w=this._baseState;if(w.parent===null)return w.children[0]._encode(h,p||new r);let y=null;if(this.reporter=p,w.optional&&h===void 0)if(w.default!==null)h=w.default;else return;let C=null,T=!1;if(w.any)y=this._createEncoderBuffer(h);else if(w.choice)y=this._encodeChoice(h,p);else if(w.contains)C=this._getUse(w.contains,g)._encode(h,p),T=!0;else if(w.children)C=w.children.map(function(k){if(k._baseState.tag==="null_")return k._encode(null,p,h);if(k._baseState.key===null)return p.error("Child should have a key");const N=p.enterKey(k._baseState.key);if(typeof h!="object")return p.error("Child expected, but input is not object");const O=k._encode(h[k._baseState.key],p,h);return p.leaveKey(N),O},this).filter(function(k){return k}),C=this._createEncoderBuffer(C);else if(w.tag==="seqof"||w.tag==="setof"){if(!(w.args&&w.args.length===1))return p.error("Too many args for : "+w.tag);if(!Array.isArray(h))return p.error("seqof/setof, but data is not Array");const k=this.clone();k._baseState.implicit=null,C=this._createEncoderBuffer(h.map(function(N){const O=this._baseState;return this._getUse(O.args[0],h)._encode(N,p)},k))}else w.use!==null?y=this._getUse(w.use,g)._encode(h,p):(C=this._encodePrimitive(w.tag,h),T=!0);if(!w.any&&w.choice===null){const k=w.implicit!==null?w.implicit:w.tag,N=w.implicit===null?"universal":"context";k===null?w.use===null&&p.error("Tag could be omitted only for .use()"):w.use===null&&(y=this._encodeComposite(k,T,N,C))}return w.explicit!==null&&(y=this._encodeComposite(w.explicit,!1,"context",y)),y},a.prototype._encodeChoice=function(h,p){const g=this._baseState,w=g.choice[h.type];return w||n(!1,h.type+" not found in "+JSON.stringify(Object.keys(g.choice))),w._encode(h.value,p)},a.prototype._encodePrimitive=function(h,p){const g=this._baseState;if(/str$/.test(h))return this._encodeStr(p,h);if(h==="objid"&&g.args)return this._encodeObjid(p,g.reverseArgs[0],g.args[1]);if(h==="objid")return this._encodeObjid(p,null,null);if(h==="gentime"||h==="utctime")return this._encodeTime(p,h);if(h==="null_")return this._encodeNull();if(h==="int"||h==="enum")return this._encodeInt(p,g.args&&g.reverseArgs[0]);if(h==="bool")return this._encodeBool(p);if(h==="objDesc")return this._encodeStr(p,h);throw new Error("Unsupported tag: "+h)},a.prototype._isNumstr=function(h){return/^[0-9 ]*$/.test(h)},a.prototype._isPrintstr=function(h){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(h)},l$}var h$={},Pse;function f$(){return Pse||(Pse=1,function(r){function e(t){const n={};return Object.keys(t).forEach(function(i){(i|0)==i&&(i=i|0);const s=t[i];n[s]=i}),n}r.tagClass={0:"universal",1:"application",2:"context",3:"private"},r.tagClassByName=e(r.tagClass),r.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},r.tagByName=e(r.tag)}(h$)),h$}var d$,Ose;function Dse(){if(Ose)return d$;Ose=1;const r=tn(),e=o$().Buffer,t=u$(),n=f$();function i(l){this.enc="der",this.name=l.name,this.entity=l,this.tree=new s,this.tree._init(l.body)}d$=i,i.prototype.encode=function(u,h){return this.tree._encode(u,h).join()};function s(l){t.call(this,"der",l)}r(s,t),s.prototype._encodeComposite=function(u,h,p,g){const w=a(u,h,p,this.reporter);if(g.length<128){const T=e.alloc(2);return T[0]=w,T[1]=g.length,this._createEncoderBuffer([T,g])}let y=1;for(let T=g.length;T>=256;T>>=8)y++;const C=e.alloc(1+1+y);C[0]=w,C[1]=128|y;for(let T=1+y,k=g.length;k>0;T--,k>>=8)C[T]=k&255;return this._createEncoderBuffer([C,g])},s.prototype._encodeStr=function(u,h){if(h==="bitstr")return this._createEncoderBuffer([u.unused|0,u.data]);if(h==="bmpstr"){const p=e.alloc(u.length*2);for(let g=0;g=40)return this.reporter.error("Second objid identifier OOB");u.splice(0,2,u[0]*40+u[1])}let g=0;for(let C=0;C=128;T>>=7)g++}const w=e.alloc(g);let y=w.length-1;for(let C=u.length-1;C>=0;C--){let T=u[C];for(w[y--]=T&127;(T>>=7)>0;)w[y--]=128|T&127}return this._createEncoderBuffer(w)};function o(l){return l<10?"0"+l:l}s.prototype._encodeTime=function(u,h){let p;const g=new Date(u);return h==="gentime"?p=[o(g.getUTCFullYear()),o(g.getUTCMonth()+1),o(g.getUTCDate()),o(g.getUTCHours()),o(g.getUTCMinutes()),o(g.getUTCSeconds()),"Z"].join(""):h==="utctime"?p=[o(g.getUTCFullYear()%100),o(g.getUTCMonth()+1),o(g.getUTCDate()),o(g.getUTCHours()),o(g.getUTCMinutes()),o(g.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+h+" time is not supported yet"),this._encodeStr(p,"octstr")},s.prototype._encodeNull=function(){return this._createEncoderBuffer("")},s.prototype._encodeInt=function(u,h){if(typeof u=="string"){if(!h)return this.reporter.error("String int or enum given, but no values map");if(!h.hasOwnProperty(u))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(u));u=h[u]}if(typeof u!="number"&&!e.isBuffer(u)){const w=u.toArray();!u.sign&&w[0]&128&&w.unshift(0),u=e.from(w)}if(e.isBuffer(u)){let w=u.length;u.length===0&&w++;const y=e.alloc(w);return u.copy(y),u.length===0&&(y[0]=0),this._createEncoderBuffer(y)}if(u<128)return this._createEncoderBuffer(u);if(u<256)return this._createEncoderBuffer([0,u]);let p=1;for(let w=u;w>=256;w>>=8)p++;const g=new Array(p);for(let w=g.length-1;w>=0;w--)g[w]=u&255,u>>=8;return g[0]&128&&g.unshift(0),this._createEncoderBuffer(e.from(g))},s.prototype._encodeBool=function(u){return this._createEncoderBuffer(u?255:0)},s.prototype._use=function(u,h){return typeof u=="function"&&(u=u(h)),u._getEncoder("der").tree},s.prototype._skipDefault=function(u,h,p){const g=this._baseState;let w;if(g.default===null)return!1;const y=u.join();if(g.defaultBuffer===void 0&&(g.defaultBuffer=this._encodeValue(g.default,h,p).join()),y.length!==g.defaultBuffer.length)return!1;for(w=0;w=31?p.error("Multi-octet tag encoding unsupported"):(u||(g|=32),g|=n.tagClassByName[h||"universal"]<<6,g)}return d$}var p$,$se;function iRe(){if($se)return p$;$se=1;const r=tn(),e=Dse();function t(n){e.call(this,n),this.enc="pem"}return r(t,e),p$=t,t.prototype.encode=function(i,s){const a=e.prototype.encode.call(this,i).toString("base64"),l=["-----BEGIN "+s.label+"-----"];for(let u=0;u>6],w=(p&32)===0;if((p&31)===31){let C=p;for(p=0;(C&128)===128;){if(C=u.readUInt8(h),u.isError(C))return C;p<<=7,p|=C&127}}else p&=31;const y=i.tag[p];return{cls:g,primitive:w,tag:p,tagStr:y}}function l(u,h,p){let g=u.readUInt8(p);if(u.isError(g))return g;if(!h&&g===128)return null;if(!(g&128))return g;const w=g&127;if(w>4)return u.error("length octect is too long");g=0;for(let y=0;y0&&O.ishrn(B),O}function y(k,N){k=w(k,N),k=k.mod(N);var O=r.from(k.toArray());if(O.length=0)throw new Error("invalid sig")}return E$=s,E$}var A$,roe;function gRe(){if(roe)return A$;roe=1;var r=sn().Buffer,e=R6(),t=_ne(),n=tn(),i=dRe(),s=pRe(),o=Wne;Object.keys(o).forEach(function(p){o[p].id=r.from(o[p].id,"hex"),o[p.toLowerCase()]=o[p]});function a(p){t.Writable.call(this);var g=o[p];if(!g)throw new Error("Unknown message digest");this._hashType=g.hash,this._hash=e(g.hash),this._tag=g.id,this._signType=g.sign}n(a,t.Writable),a.prototype._write=function(g,w,y){this._hash.update(g),y()},a.prototype.update=function(g,w){return this._hash.update(typeof g=="string"?r.from(g,w):g),this},a.prototype.sign=function(g,w){this.end();var y=this._hash.digest(),C=i(y,g,this._hashType,this._signType,this._tag);return w?C.toString(w):C};function l(p){t.Writable.call(this);var g=o[p];if(!g)throw new Error("Unknown message digest");this._hash=e(g.hash),this._tag=g.id,this._signType=g.sign}n(l,t.Writable),l.prototype._write=function(g,w,y){this._hash.update(g),y()},l.prototype.update=function(g,w){return this._hash.update(typeof g=="string"?r.from(g,w):g),this},l.prototype.verify=function(g,w,y){var C=typeof w=="string"?r.from(w,y):w;this.end();var T=this._hash.digest();return s(C,T,g,this._signType,this._tag)};function u(p){return new a(p)}function h(p){return new l(p)}return A$={Sign:u,Verify:h,createSign:u,createVerify:h},A$}var C$,noe;function mRe(){if(noe)return C$;noe=1;var r=t$(),e=wo();C$=function(o){return new n(o)};var t={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};t.p224=t.secp224r1,t.p256=t.secp256r1=t.prime256v1,t.p192=t.secp192r1=t.prime192v1,t.p384=t.secp384r1,t.p521=t.secp521r1;function n(s){this.curveType=t[s],this.curveType||(this.curveType={name:s}),this.curve=new r.ec(this.curveType.name),this.keys=void 0}n.prototype.generateKeys=function(s,o){return this.keys=this.curve.genKeyPair(),this.getPublicKey(s,o)},n.prototype.computeSecret=function(s,o,a){o=o||"utf8",Dt.isBuffer(s)||(s=new Dt(s,o));var l=this.curve.keyFromPublic(s).getPublic(),u=l.mul(this.keys.getPrivate()).getX();return i(u,a,this.curveType.byteLength)},n.prototype.getPublicKey=function(s,o){var a=this.keys.getPublic(o==="compressed",!0);return o==="hybrid"&&(a[a.length-1]%2?a[0]=7:a[0]=6),i(a,s)},n.prototype.getPrivateKey=function(s){return i(this.keys.getPrivate(),s)},n.prototype.setPublicKey=function(s,o){return o=o||"utf8",Dt.isBuffer(s)||(s=new Dt(s,o)),this.keys._importPublic(s),this},n.prototype.setPrivateKey=function(s,o){o=o||"utf8",Dt.isBuffer(s)||(s=new Dt(s,o));var a=new e(s);return a=a.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(a),this};function i(s,o,a){Array.isArray(s)||(s=s.toArray());var l=new Dt(s);if(a&&l.length=0)throw new Error("data too long for modulus")}else throw new Error("unknown padding");return C?a(N,k):o(N,k)};function u(g,w){var y=g.modulus.byteLength(),C=w.length,T=t("sha1").update(l.alloc(0)).digest(),k=T.length,N=2*k;if(C>y-N-2)throw new Error("message too long");var O=l.alloc(y-C-N-2),B=y-k-1,z=e(k),G=i(l.concat([T,O,l.alloc(1,1),w],B),n(z,B)),$=i(z,n(G,k));return new s(l.concat([l.alloc(1),$,G],y))}function h(g,w,y){var C=w.length,T=g.modulus.byteLength();if(C>T-11)throw new Error("message too long");var k;return y?k=l.alloc(T-C-3,255):k=p(T-C-3),new s(l.concat([l.from([0,y?1:2]),k,l.alloc(1),w],T))}function p(g){for(var w=l.allocUnsafe(g),y=0,C=e(g*2),T=0,k;yk||new n(w).cmp(T.modulus)>=0)throw new Error("decryption error");var N;y?N=o(new n(w),T):N=i(w,T);var O=a.alloc(k-N.length);if(N=a.concat([O,N],k),C===4)return l(T,N);if(C===1)return u(T,N,y);if(C===3)return N;throw new Error("unknown padding")};function l(p,g){var w=p.modulus.byteLength(),y=s("sha1").update(a.alloc(0)).digest(),C=y.length;if(g[0]!==0)throw new Error("decryption error");var T=g.slice(1,C+1),k=g.slice(C+1),N=t(T,e(k,C)),O=t(k,e(N,w-C-1));if(h(y,O.slice(0,C)))throw new Error("decryption error");for(var B=C;O[B]===0;)B++;if(O[B++]!==1)throw new Error("decryption error");return O.slice(B)}function u(p,g,w){for(var y=g.slice(0,2),C=2,T=0;g[C++]!==0;)if(C>=g.length){T++;break}var k=g.slice(2,C-1);if((y.toString("hex")!=="0002"&&!w||y.toString("hex")!=="0001"&&w)&&T++,k.length<8&&T++,T)throw new Error("decryption error");return g.slice(C)}function h(p,g){p=a.from(p),g=a.from(g);var w=0,y=p.length;p.length!==g.length&&(w++,y=Math.min(p.length,g.length));for(var C=-1;++Co||g<0)throw new TypeError("offset must be a uint32");if(g>i||g>w)throw new RangeError("offset out of range")}function l(g,w,y){if(typeof g!="number"||g!==g)throw new TypeError("size must be a number");if(g>o||g<0)throw new TypeError("size must be a uint32");if(g+w>y||g>i)throw new RangeError("buffer too small")}s&&s.getRandomValues||!yt.browser?(ny.randomFill=u,ny.randomFillSync=p):(ny.randomFill=r,ny.randomFillSync=r);function u(g,w,y,C){if(!n.isBuffer(g)&&!(g instanceof ct.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if(typeof w=="function")C=w,w=0,y=g.length;else if(typeof y=="function")C=y,y=g.length-w;else if(typeof C!="function")throw new TypeError('"cb" argument must be a function');return a(w,g.length),l(y,w,g.length),h(g,w,y,C)}function h(g,w,y,C){if(yt.browser){var T=g.buffer,k=new Uint8Array(T,w,y);if(s.getRandomValues(k),C){yt.nextTick(function(){C(null,g)});return}return g}if(C){t(y,function(O,B){if(O)return C(O);B.copy(g,w),C(null,g)});return}var N=t(y);return N.copy(g,w),g}function p(g,w,y){if(typeof w>"u"&&(w=0),!n.isBuffer(g)&&!(g instanceof ct.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');return a(w,g.length),y===void 0&&(y=g.length-w),l(y,w,g.length),h(g,w,y)}return ny}var poe;function goe(){if(poe)return Jr;poe=1,Jr.randomBytes=Jr.rng=Jr.pseudoRandomBytes=Jr.prng=Xv(),Jr.createHash=Jr.Hash=R6(),Jr.createHmac=Jr.Hmac=qne();var r=mTe(),e=Object.keys(r),t=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(e);Jr.getHashes=function(){return t};var n=nie();Jr.pbkdf2=n.pbkdf2,Jr.pbkdf2Sync=n.pbkdf2Sync;var i=NTe();Jr.Cipher=i.Cipher,Jr.createCipher=i.createCipher,Jr.Cipheriv=i.Cipheriv,Jr.createCipheriv=i.createCipheriv,Jr.Decipher=i.Decipher,Jr.createDecipher=i.createDecipher,Jr.Decipheriv=i.Decipheriv,Jr.createDecipheriv=i.createDecipheriv,Jr.getCiphers=i.getCiphers,Jr.listCiphers=i.listCiphers;var s=BTe();Jr.DiffieHellmanGroup=s.DiffieHellmanGroup,Jr.createDiffieHellmanGroup=s.createDiffieHellmanGroup,Jr.getDiffieHellman=s.getDiffieHellman,Jr.createDiffieHellman=s.createDiffieHellman,Jr.DiffieHellman=s.DiffieHellman;var o=gRe();Jr.createSign=o.createSign,Jr.Sign=o.Sign,Jr.createVerify=o.createVerify,Jr.Verify=o.Verify,Jr.createECDH=mRe();var a=vRe();Jr.publicEncrypt=a.publicEncrypt,Jr.privateEncrypt=a.privateEncrypt,Jr.publicDecrypt=a.publicDecrypt,Jr.privateDecrypt=a.privateDecrypt;var l=yRe();return Jr.randomFill=l.randomFill,Jr.randomFillSync=l.randomFillSync,Jr.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join(` +`))},Jr.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6},Jr}Object.defineProperty(WC,"__esModule",{value:!0}),WC.NodeRandomSource=void 0;const xRe=Hc;class _Re{constructor(){if(this.isAvailable=!1,this.isInstantiated=!1,typeof PIe<"u"){const e=goe();e&&e.randomBytes&&(this._crypto=e,this.isAvailable=!0,this.isInstantiated=!0)}}randomBytes(e){if(!this.isAvailable||!this._crypto)throw new Error("Node.js random byte generator is not available.");let t=this._crypto.randomBytes(e);if(t.length!==e)throw new Error("NodeRandomSource: got fewer bytes than requested");const n=new Uint8Array(e);for(let i=0;i256)throw new Error("randomString charset is too long");let g="";const w=h.length,y=256-256%w;for(;u>0;){const C=i(Math.ceil(u*256/y),p);for(let T=0;T0;T++){const k=C[T];k0){for(;this._bufferLength0;)this._buffer[this._bufferLength++]=l[h++],u--;this._bufferLength===this.blockSize&&(s(this._temp,this._state,this._buffer,0,this.blockSize),this._bufferLength=0)}for(u>=this.blockSize&&(h=s(this._temp,this._state,l,h,u),u%=this.blockSize);u>0;)this._buffer[this._bufferLength++]=l[h++],u--;return this},a.prototype.finish=function(l){if(!this._finished){var u=this._bytesHashed,h=this._bufferLength,p=u/536870912|0,g=u<<3,w=u%64<56?64:128;this._buffer[h]=128;for(var y=h+1;y0?new Uint8Array(this._buffer):void 0,bufferLength:this._bufferLength,bytesHashed:this._bytesHashed}},a.prototype.restoreState=function(l){return this._state.set(l.state),this._bufferLength=l.bufferLength,l.buffer&&this._buffer.set(l.buffer),this._bytesHashed=l.bytesHashed,this._finished=!1,this},a.prototype.cleanSavedState=function(l){t.wipe(l.state),l.buffer&&t.wipe(l.buffer),l.bufferLength=0,l.bytesHashed=0},a}();r.SHA256=n;var i=new Int32Array([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,2756734187,3204031479,3329325298]);function s(a,l,u,h,p){for(;p>=64;){for(var g=l[0],w=l[1],y=l[2],C=l[3],T=l[4],k=l[5],N=l[6],O=l[7],B=0;B<16;B++){var z=h+B*4;a[B]=e.readUint32BE(u,z)}for(var B=16;B<64;B++){var G=a[B-2],$=(G>>>17|G<<32-17)^(G>>>19|G<<32-19)^G>>>10;G=a[B-15];var D=(G>>>7|G<<32-7)^(G>>>18|G<<32-18)^G>>>3;a[B]=($+a[B-7]|0)+(D+a[B-16]|0)}for(var B=0;B<64;B++){var $=(((T>>>6|T<<26)^(T>>>11|T<<21)^(T>>>25|T<<7))+(T&k^~T&N)|0)+(O+(i[B]+a[B]|0)|0)|0,D=((g>>>2|g<<32-2)^(g>>>13|g<<32-13)^(g>>>22|g<<32-22))+(g&w^g&y^w&y)|0;O=N,N=k,k=T,T=C+$|0,C=y,y=w,w=g,g=$+D|0}l[0]+=g,l[1]+=w,l[2]+=y,l[3]+=C,l[4]+=T,l[5]+=k,l[6]+=N,l[7]+=O,h+=64,p-=64}return h}function o(a){var l=new n;l.update(a);var u=l.digest();return l.clean(),u}r.hash=o})(Rm);var O6={};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.sharedKey=r.generateKeyPair=r.generateKeyPairFromSeed=r.scalarMultBase=r.scalarMult=r.SHARED_KEY_LENGTH=r.SECRET_KEY_LENGTH=r.PUBLIC_KEY_LENGTH=void 0;const e=c1,t=Hc;r.PUBLIC_KEY_LENGTH=32,r.SECRET_KEY_LENGTH=32,r.SHARED_KEY_LENGTH=32;function n(B){const z=new Float64Array(16);if(B)for(let G=0;G>16&1),G[Q-1]&=65535;G[15]=$[15]-32767-(G[14]>>16&1);const V=G[15]>>16&1;G[14]&=65535,a($,G,1-V)}for(let D=0;D<16;D++)B[2*D]=$[D]&255,B[2*D+1]=$[D]>>8}function u(B,z){for(let G=0;G<16;G++)B[G]=z[2*G]+(z[2*G+1]<<8);B[15]&=32767}function h(B,z,G){for(let $=0;$<16;$++)B[$]=z[$]+G[$]}function p(B,z,G){for(let $=0;$<16;$++)B[$]=z[$]-G[$]}function g(B,z,G){let $,D,V=0,Q=0,F=0,M=0,b=0,d=0,m=0,x=0,A=0,I=0,R=0,S=0,E=0,_=0,L=0,ie=0,q=0,Y=0,K=0,te=0,re=0,H=0,U=0,W=0,le=0,de=0,Se=0,Me=0,ke=0,Ke=0,Re=0,je=G[0],De=G[1],Je=G[2],ze=G[3],qe=G[4],Ve=G[5],He=G[6],Be=G[7],Ge=G[8],Xe=G[9],se=G[10],J=G[11],X=G[12],ue=G[13],we=G[14],ye=G[15];$=z[0],V+=$*je,Q+=$*De,F+=$*Je,M+=$*ze,b+=$*qe,d+=$*Ve,m+=$*He,x+=$*Be,A+=$*Ge,I+=$*Xe,R+=$*se,S+=$*J,E+=$*X,_+=$*ue,L+=$*we,ie+=$*ye,$=z[1],Q+=$*je,F+=$*De,M+=$*Je,b+=$*ze,d+=$*qe,m+=$*Ve,x+=$*He,A+=$*Be,I+=$*Ge,R+=$*Xe,S+=$*se,E+=$*J,_+=$*X,L+=$*ue,ie+=$*we,q+=$*ye,$=z[2],F+=$*je,M+=$*De,b+=$*Je,d+=$*ze,m+=$*qe,x+=$*Ve,A+=$*He,I+=$*Be,R+=$*Ge,S+=$*Xe,E+=$*se,_+=$*J,L+=$*X,ie+=$*ue,q+=$*we,Y+=$*ye,$=z[3],M+=$*je,b+=$*De,d+=$*Je,m+=$*ze,x+=$*qe,A+=$*Ve,I+=$*He,R+=$*Be,S+=$*Ge,E+=$*Xe,_+=$*se,L+=$*J,ie+=$*X,q+=$*ue,Y+=$*we,K+=$*ye,$=z[4],b+=$*je,d+=$*De,m+=$*Je,x+=$*ze,A+=$*qe,I+=$*Ve,R+=$*He,S+=$*Be,E+=$*Ge,_+=$*Xe,L+=$*se,ie+=$*J,q+=$*X,Y+=$*ue,K+=$*we,te+=$*ye,$=z[5],d+=$*je,m+=$*De,x+=$*Je,A+=$*ze,I+=$*qe,R+=$*Ve,S+=$*He,E+=$*Be,_+=$*Ge,L+=$*Xe,ie+=$*se,q+=$*J,Y+=$*X,K+=$*ue,te+=$*we,re+=$*ye,$=z[6],m+=$*je,x+=$*De,A+=$*Je,I+=$*ze,R+=$*qe,S+=$*Ve,E+=$*He,_+=$*Be,L+=$*Ge,ie+=$*Xe,q+=$*se,Y+=$*J,K+=$*X,te+=$*ue,re+=$*we,H+=$*ye,$=z[7],x+=$*je,A+=$*De,I+=$*Je,R+=$*ze,S+=$*qe,E+=$*Ve,_+=$*He,L+=$*Be,ie+=$*Ge,q+=$*Xe,Y+=$*se,K+=$*J,te+=$*X,re+=$*ue,H+=$*we,U+=$*ye,$=z[8],A+=$*je,I+=$*De,R+=$*Je,S+=$*ze,E+=$*qe,_+=$*Ve,L+=$*He,ie+=$*Be,q+=$*Ge,Y+=$*Xe,K+=$*se,te+=$*J,re+=$*X,H+=$*ue,U+=$*we,W+=$*ye,$=z[9],I+=$*je,R+=$*De,S+=$*Je,E+=$*ze,_+=$*qe,L+=$*Ve,ie+=$*He,q+=$*Be,Y+=$*Ge,K+=$*Xe,te+=$*se,re+=$*J,H+=$*X,U+=$*ue,W+=$*we,le+=$*ye,$=z[10],R+=$*je,S+=$*De,E+=$*Je,_+=$*ze,L+=$*qe,ie+=$*Ve,q+=$*He,Y+=$*Be,K+=$*Ge,te+=$*Xe,re+=$*se,H+=$*J,U+=$*X,W+=$*ue,le+=$*we,de+=$*ye,$=z[11],S+=$*je,E+=$*De,_+=$*Je,L+=$*ze,ie+=$*qe,q+=$*Ve,Y+=$*He,K+=$*Be,te+=$*Ge,re+=$*Xe,H+=$*se,U+=$*J,W+=$*X,le+=$*ue,de+=$*we,Se+=$*ye,$=z[12],E+=$*je,_+=$*De,L+=$*Je,ie+=$*ze,q+=$*qe,Y+=$*Ve,K+=$*He,te+=$*Be,re+=$*Ge,H+=$*Xe,U+=$*se,W+=$*J,le+=$*X,de+=$*ue,Se+=$*we,Me+=$*ye,$=z[13],_+=$*je,L+=$*De,ie+=$*Je,q+=$*ze,Y+=$*qe,K+=$*Ve,te+=$*He,re+=$*Be,H+=$*Ge,U+=$*Xe,W+=$*se,le+=$*J,de+=$*X,Se+=$*ue,Me+=$*we,ke+=$*ye,$=z[14],L+=$*je,ie+=$*De,q+=$*Je,Y+=$*ze,K+=$*qe,te+=$*Ve,re+=$*He,H+=$*Be,U+=$*Ge,W+=$*Xe,le+=$*se,de+=$*J,Se+=$*X,Me+=$*ue,ke+=$*we,Ke+=$*ye,$=z[15],ie+=$*je,q+=$*De,Y+=$*Je,K+=$*ze,te+=$*qe,re+=$*Ve,H+=$*He,U+=$*Be,W+=$*Ge,le+=$*Xe,de+=$*se,Se+=$*J,Me+=$*X,ke+=$*ue,Ke+=$*we,Re+=$*ye,V+=38*q,Q+=38*Y,F+=38*K,M+=38*te,b+=38*re,d+=38*H,m+=38*U,x+=38*W,A+=38*le,I+=38*de,R+=38*Se,S+=38*Me,E+=38*ke,_+=38*Ke,L+=38*Re,D=1,$=V+D+65535,D=Math.floor($/65536),V=$-D*65536,$=Q+D+65535,D=Math.floor($/65536),Q=$-D*65536,$=F+D+65535,D=Math.floor($/65536),F=$-D*65536,$=M+D+65535,D=Math.floor($/65536),M=$-D*65536,$=b+D+65535,D=Math.floor($/65536),b=$-D*65536,$=d+D+65535,D=Math.floor($/65536),d=$-D*65536,$=m+D+65535,D=Math.floor($/65536),m=$-D*65536,$=x+D+65535,D=Math.floor($/65536),x=$-D*65536,$=A+D+65535,D=Math.floor($/65536),A=$-D*65536,$=I+D+65535,D=Math.floor($/65536),I=$-D*65536,$=R+D+65535,D=Math.floor($/65536),R=$-D*65536,$=S+D+65535,D=Math.floor($/65536),S=$-D*65536,$=E+D+65535,D=Math.floor($/65536),E=$-D*65536,$=_+D+65535,D=Math.floor($/65536),_=$-D*65536,$=L+D+65535,D=Math.floor($/65536),L=$-D*65536,$=ie+D+65535,D=Math.floor($/65536),ie=$-D*65536,V+=D-1+37*(D-1),D=1,$=V+D+65535,D=Math.floor($/65536),V=$-D*65536,$=Q+D+65535,D=Math.floor($/65536),Q=$-D*65536,$=F+D+65535,D=Math.floor($/65536),F=$-D*65536,$=M+D+65535,D=Math.floor($/65536),M=$-D*65536,$=b+D+65535,D=Math.floor($/65536),b=$-D*65536,$=d+D+65535,D=Math.floor($/65536),d=$-D*65536,$=m+D+65535,D=Math.floor($/65536),m=$-D*65536,$=x+D+65535,D=Math.floor($/65536),x=$-D*65536,$=A+D+65535,D=Math.floor($/65536),A=$-D*65536,$=I+D+65535,D=Math.floor($/65536),I=$-D*65536,$=R+D+65535,D=Math.floor($/65536),R=$-D*65536,$=S+D+65535,D=Math.floor($/65536),S=$-D*65536,$=E+D+65535,D=Math.floor($/65536),E=$-D*65536,$=_+D+65535,D=Math.floor($/65536),_=$-D*65536,$=L+D+65535,D=Math.floor($/65536),L=$-D*65536,$=ie+D+65535,D=Math.floor($/65536),ie=$-D*65536,V+=D-1+37*(D-1),B[0]=V,B[1]=Q,B[2]=F,B[3]=M,B[4]=b,B[5]=d,B[6]=m,B[7]=x,B[8]=A,B[9]=I,B[10]=R,B[11]=S,B[12]=E,B[13]=_,B[14]=L,B[15]=ie}function w(B,z){g(B,z,z)}function y(B,z){const G=n();for(let $=0;$<16;$++)G[$]=z[$];for(let $=253;$>=0;$--)w(G,G),$!==2&&$!==4&&g(G,G,z);for(let $=0;$<16;$++)B[$]=G[$]}function C(B,z){const G=new Uint8Array(32),$=new Float64Array(80),D=n(),V=n(),Q=n(),F=n(),M=n(),b=n();for(let A=0;A<31;A++)G[A]=B[A];G[31]=B[31]&127|64,G[0]&=248,u($,z);for(let A=0;A<16;A++)V[A]=$[A];D[0]=F[0]=1;for(let A=254;A>=0;--A){const I=G[A>>>3]>>>(A&7)&1;a(D,V,I),a(Q,F,I),h(M,D,Q),p(D,D,Q),h(Q,V,F),p(V,V,F),w(F,M),w(b,D),g(D,Q,D),g(Q,V,M),h(M,D,Q),p(D,D,Q),w(V,D),p(Q,F,b),g(D,Q,s),h(D,D,F),g(Q,Q,D),g(D,F,b),g(F,V,$),w(V,M),a(D,V,I),a(Q,F,I)}for(let A=0;A<16;A++)$[A+16]=D[A],$[A+32]=Q[A],$[A+48]=V[A],$[A+64]=F[A];const d=$.subarray(32),m=$.subarray(16);y(d,d),g(m,m,d);const x=new Uint8Array(32);return l(x,m),x}r.scalarMult=C;function T(B){return C(B,i)}r.scalarMultBase=T;function k(B){if(B.length!==r.SECRET_KEY_LENGTH)throw new Error(`x25519: seed must be ${r.SECRET_KEY_LENGTH} bytes`);const z=new Uint8Array(B);return{publicKey:T(z),secretKey:z}}r.generateKeyPairFromSeed=k;function N(B){const z=(0,e.randomBytes)(32,B),G=k(z);return(0,t.wipe)(z),G}r.generateKeyPair=N;function O(B,z,G=!1){if(B.length!==r.PUBLIC_KEY_LENGTH)throw new Error("X25519: incorrect secret key length");if(z.length!==r.PUBLIC_KEY_LENGTH)throw new Error("X25519: incorrect public key length");const $=C(B,z);if(G){let D=0;for(let V=0;V<$.length;V++)D|=$[V];if(D===0)throw new Error("X25519: invalid shared key")}return $}r.sharedKey=O})(O6);function N$(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function moe(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?N$(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function D6(r,e){e||(e=r.reduce((i,s)=>i+s.length,0));const t=moe(e);let n=0;for(const i of r)t.set(i,n),n+=i.length;return N$(t)}function SRe(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n>>0,B=new Uint8Array(O);k!==N;){for(var z=y[k],G=0,$=O-1;(z!==0||G>>0,B[$]=z%a>>>0,z=z/a>>>0;if(z!==0)throw new Error("Non-zero carry");T=G,k++}for(var D=O-T;D!==O&&B[D]===0;)D++;for(var V=l.repeat(C);D>>0,O=new Uint8Array(N);y[C];){var B=t[y.charCodeAt(C)];if(B===255)return;for(var z=0,G=N-1;(B!==0||z>>0,O[G]=B%256>>>0,B=B/256>>>0;if(B!==0)throw new Error("Non-zero carry");k=z,C++}if(y[C]!==" "){for(var $=N-k;$!==N&&O[$]===0;)$++;for(var D=new Uint8Array(T+(N-$)),V=T;$!==N;)D[V++]=O[$++];return D}}}function w(y){var C=g(y);if(C)return C;throw new Error(`Non-${e} character`)}return{encode:p,decodeUnsafe:g,decode:w}}var IRe=SRe,TRe=IRe;const RRe=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")},kRe=r=>new TextEncoder().encode(r),MRe=r=>new TextDecoder().decode(r);class NRe{constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class PRe{constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){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))}else throw Error("Can only multibase decode strings")}or(e){return boe(this,e)}}class ORe{constructor(e){this.decoders=e}or(e){return boe(this,e)}decode(e){const t=e[0],n=this.decoders[t];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const boe=(r,e)=>new ORe({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});class DRe{constructor(e,t,n,i){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=i,this.encoder=new NRe(e,t,n),this.decoder=new PRe(e,t,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const fS=({name:r,prefix:e,encode:t,decode:n})=>new DRe(r,e,t,n),$6=({prefix:r,name:e,alphabet:t})=>{const{encode:n,decode:i}=TRe(t,e);return fS({prefix:r,name:e,encode:n,decode:s=>RRe(i(s))})},$Re=(r,e,t,n)=>{const i={};for(let h=0;h=8&&(a-=8,o[u++]=255&l>>a)}if(a>=t||255&l<<8-a)throw new SyntaxError("Unexpected end of data");return o},BRe=(r,e,t)=>{const n=e[e.length-1]==="=",i=(1<t;)o-=t,s+=e[i&a>>o];if(o&&(s+=e[i&a<fS({prefix:e,name:r,encode(i){return BRe(i,n,t)},decode(i){return $Re(i,n,t,r)}}),LRe=fS({prefix:"\0",name:"identity",encode:r=>MRe(r),decode:r=>kRe(r)}),URe=Object.freeze(Object.defineProperty({__proto__:null,identity:LRe},Symbol.toStringTag,{value:"Module"})),FRe=jo({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1}),jRe=Object.freeze(Object.defineProperty({__proto__:null,base2:FRe},Symbol.toStringTag,{value:"Module"})),zRe=jo({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3}),HRe=Object.freeze(Object.defineProperty({__proto__:null,base8:zRe},Symbol.toStringTag,{value:"Module"})),qRe=$6({prefix:"9",name:"base10",alphabet:"0123456789"}),WRe=Object.freeze(Object.defineProperty({__proto__:null,base10:qRe},Symbol.toStringTag,{value:"Module"})),VRe=jo({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),GRe=jo({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4}),KRe=Object.freeze(Object.defineProperty({__proto__:null,base16:VRe,base16upper:GRe},Symbol.toStringTag,{value:"Module"})),ZRe=jo({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),JRe=jo({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),YRe=jo({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),QRe=jo({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),XRe=jo({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),eke=jo({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),tke=jo({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),rke=jo({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),nke=jo({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5}),ike=Object.freeze(Object.defineProperty({__proto__:null,base32:ZRe,base32hex:XRe,base32hexpad:tke,base32hexpadupper:rke,base32hexupper:eke,base32pad:YRe,base32padupper:QRe,base32upper:JRe,base32z:nke},Symbol.toStringTag,{value:"Module"})),ske=$6({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),oke=$6({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"}),ake=Object.freeze(Object.defineProperty({__proto__:null,base36:ske,base36upper:oke},Symbol.toStringTag,{value:"Module"})),cke=$6({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),lke=$6({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"}),uke=Object.freeze(Object.defineProperty({__proto__:null,base58btc:cke,base58flickr:lke},Symbol.toStringTag,{value:"Module"})),hke=jo({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),fke=jo({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),dke=jo({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),pke=jo({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6}),gke=Object.freeze(Object.defineProperty({__proto__:null,base64:hke,base64pad:fke,base64url:dke,base64urlpad:pke},Symbol.toStringTag,{value:"Module"})),woe=Array.from("🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂"),mke=woe.reduce((r,e,t)=>(r[t]=e,r),[]),bke=woe.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function wke(r){return r.reduce((e,t)=>(e+=mke[t],e),"")}function vke(r){const e=[];for(const t of r){const n=bke[t.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(n)}return new Uint8Array(e)}const yke=fS({prefix:"🚀",name:"base256emoji",encode:wke,decode:vke}),xke=Object.freeze(Object.defineProperty({__proto__:null,base256emoji:yke},Symbol.toStringTag,{value:"Module"}));new TextEncoder,new TextDecoder;const voe={...URe,...jRe,...HRe,...WRe,...KRe,...ike,...ake,...uke,...gke,...xke};function yoe(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}const xoe=yoe("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),P$=yoe("ascii","a",r=>{let e="a";for(let t=0;t{r=r.substring(1);const e=moe(r.length);for(let t=0;t"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"?new Ske:typeof navigator<"u"?Ioe(navigator.userAgent):Nke()}function kke(r){return r!==""&&Rke.reduce(function(e,t){var n=t[0],i=t[1];if(e)return e;var s=i.exec(r);return!!s&&[n,s]},!1)}function Ioe(r){var e=kke(r);if(!e)return null;var t=e[0],n=e[1];if(t==="searchbot")return new Cke;var i=n[1]&&n[1].split(".").join("_").split("_").slice(0,3);i?i.length=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s}function $ke(r,e){return function(t,n){e(t,n,r)}}function Bke(r,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(r,e)}function Lke(r,e,t,n){function i(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function a(h){try{u(n.next(h))}catch(p){o(p)}}function l(h){try{u(n.throw(h))}catch(p){o(p)}}function u(h){h.done?s(h.value):i(h.value).then(a,l)}u((n=n.apply(r,e||[])).next())})}function Uke(r,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},n,i,s,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(u){return function(h){return l([u,h])}}function l(u){if(n)throw new TypeError("Generator is already executing.");for(;t;)try{if(n=1,i&&(s=u[0]&2?i.return:u[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,u[1])).done)return s;switch(i=0,s&&(u=[u[0]&2,s.value]),u[0]){case 0:case 1:s=u;break;case 4:return t.label++,{value:u[1],done:!1};case 5:t.label++,i=u[1],u=[0];continue;case 7:u=t.ops.pop(),t.trys.pop();continue;default:if(s=t.trys,!(s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){t=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Doe(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var n=t.call(r),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(t=n.return)&&t.call(n)}finally{if(o)throw o.error}}return s}function zke(){for(var r=[],e=0;e1||a(g,w)})})}function a(g,w){try{l(n[g](w))}catch(y){p(s[0][3],y)}}function l(g){g.value instanceof U6?Promise.resolve(g.value.v).then(u,h):p(s[0][2],g)}function u(g){a("next",g)}function h(g){a("throw",g)}function p(g,w){g(w),s.shift(),s.length&&a(s[0][0],s[0][1])}}function Wke(r){var e,t;return e={},n("next"),n("throw",function(i){throw i}),n("return"),e[Symbol.iterator]=function(){return this},e;function n(i,s){e[i]=r[i]?function(o){return(t=!t)?{value:U6(r[i](o)),done:i==="return"}:s?s(o):o}:s}}function Vke(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=r[Symbol.asyncIterator],t;return e?e.call(r):(r=typeof P$=="function"?P$(r):r[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(s){t[s]=r[s]&&function(o){return new Promise(function(a,l){o=r[s](o),i(a,l,o.done,o.value)})}}function i(s,o,a,l){Promise.resolve(l).then(function(u){s({value:u,done:a})},o)}}function Gke(r,e){return Object.defineProperty?Object.defineProperty(r,"raw",{value:e}):r.raw=e,r}function Kke(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)Object.hasOwnProperty.call(r,t)&&(e[t]=r[t]);return e.default=r,e}function Zke(r){return r&&r.__esModule?r:{default:r}}function Jke(r,e){if(!e.has(r))throw new TypeError("attempted to get private field on non-instance");return e.get(r)}function Yke(r,e,t){if(!e.has(r))throw new TypeError("attempted to set private field on non-instance");return e.set(r,t),t}const jd=sd(Object.freeze(Object.defineProperty({__proto__:null,get __assign(){return N$},__asyncDelegator:Wke,__asyncGenerator:qke,__asyncValues:Vke,__await:U6,__awaiter:Lke,__classPrivateFieldGet:Jke,__classPrivateFieldSet:Yke,__createBinding:Fke,__decorate:Dke,__exportStar:jke,__extends:Pke,__generator:Uke,__importDefault:Zke,__importStar:Kke,__makeTemplateObject:Gke,__metadata:Bke,__param:$ke,__read:Doe,__rest:Oke,__spread:zke,__spreadArrays:Hke,__values:P$},Symbol.toStringTag,{value:"Module"})));var O$={},F6={},$oe;function Qke(){if($oe)return F6;$oe=1,Object.defineProperty(F6,"__esModule",{value:!0}),F6.delay=void 0;function r(e){return new Promise(t=>{setTimeout(()=>{t(!0)},e)})}return F6.delay=r,F6}var km={},D$={},Mm={},Boe;function Xke(){return Boe||(Boe=1,Object.defineProperty(Mm,"__esModule",{value:!0}),Mm.ONE_THOUSAND=Mm.ONE_HUNDRED=void 0,Mm.ONE_HUNDRED=100,Mm.ONE_THOUSAND=1e3),Mm}var $$={},Loe;function eMe(){return Loe||(Loe=1,function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.ONE_YEAR=r.FOUR_WEEKS=r.THREE_WEEKS=r.TWO_WEEKS=r.ONE_WEEK=r.THIRTY_DAYS=r.SEVEN_DAYS=r.FIVE_DAYS=r.THREE_DAYS=r.ONE_DAY=r.TWENTY_FOUR_HOURS=r.TWELVE_HOURS=r.SIX_HOURS=r.THREE_HOURS=r.ONE_HOUR=r.SIXTY_MINUTES=r.THIRTY_MINUTES=r.TEN_MINUTES=r.FIVE_MINUTES=r.ONE_MINUTE=r.SIXTY_SECONDS=r.THIRTY_SECONDS=r.TEN_SECONDS=r.FIVE_SECONDS=r.ONE_SECOND=void 0,r.ONE_SECOND=1,r.FIVE_SECONDS=5,r.TEN_SECONDS=10,r.THIRTY_SECONDS=30,r.SIXTY_SECONDS=60,r.ONE_MINUTE=r.SIXTY_SECONDS,r.FIVE_MINUTES=r.ONE_MINUTE*5,r.TEN_MINUTES=r.ONE_MINUTE*10,r.THIRTY_MINUTES=r.ONE_MINUTE*30,r.SIXTY_MINUTES=r.ONE_MINUTE*60,r.ONE_HOUR=r.SIXTY_MINUTES,r.THREE_HOURS=r.ONE_HOUR*3,r.SIX_HOURS=r.ONE_HOUR*6,r.TWELVE_HOURS=r.ONE_HOUR*12,r.TWENTY_FOUR_HOURS=r.ONE_HOUR*24,r.ONE_DAY=r.TWENTY_FOUR_HOURS,r.THREE_DAYS=r.ONE_DAY*3,r.FIVE_DAYS=r.ONE_DAY*5,r.SEVEN_DAYS=r.ONE_DAY*7,r.THIRTY_DAYS=r.ONE_DAY*30,r.ONE_WEEK=r.SEVEN_DAYS,r.TWO_WEEKS=r.ONE_WEEK*2,r.THREE_WEEKS=r.ONE_WEEK*3,r.FOUR_WEEKS=r.ONE_WEEK*4,r.ONE_YEAR=r.ONE_DAY*365}($$)),$$}var Uoe;function Foe(){return Uoe||(Uoe=1,function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=jd;e.__exportStar(Xke(),r),e.__exportStar(eMe(),r)}(D$)),D$}var joe;function tMe(){if(joe)return km;joe=1,Object.defineProperty(km,"__esModule",{value:!0}),km.fromMiliseconds=km.toMiliseconds=void 0;const r=Foe();function e(n){return n*r.ONE_THOUSAND}km.toMiliseconds=e;function t(n){return Math.floor(n/r.ONE_THOUSAND)}return km.fromMiliseconds=t,km}var zoe;function rMe(){return zoe||(zoe=1,function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=jd;e.__exportStar(Qke(),r),e.__exportStar(tMe(),r)}(O$)),O$}var oy={},Hoe;function nMe(){if(Hoe)return oy;Hoe=1,Object.defineProperty(oy,"__esModule",{value:!0}),oy.Watch=void 0;class r{constructor(){this.timestamps=new Map}start(t){if(this.timestamps.has(t))throw new Error(`Watch already started for label: ${t}`);this.timestamps.set(t,{started:Date.now()})}stop(t){const n=this.get(t);if(typeof n.elapsed<"u")throw new Error(`Watch already stopped for label: ${t}`);const i=Date.now()-n.started;this.timestamps.set(t,{started:n.started,elapsed:i})}get(t){const n=this.timestamps.get(t);if(typeof n>"u")throw new Error(`No timestamp found for label: ${t}`);return n}elapsed(t){const n=this.get(t);return n.elapsed||Date.now()-n.started}}return oy.Watch=r,oy.default=r,oy}var B$={},j6={},qoe;function iMe(){if(qoe)return j6;qoe=1,Object.defineProperty(j6,"__esModule",{value:!0}),j6.IWatch=void 0;class r{}return j6.IWatch=r,j6}var Woe;function sMe(){return Woe||(Woe=1,function(r){Object.defineProperty(r,"__esModule",{value:!0}),jd.__exportStar(iMe(),r)}(B$)),B$}(function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=jd;e.__exportStar(rMe(),r),e.__exportStar(nMe(),r),e.__exportStar(sMe(),r),e.__exportStar(Foe(),r)})(Ye);var Ti={};Object.defineProperty(Ti,"__esModule",{value:!0}),Ti.getLocalStorage=Ti.getLocalStorageOrThrow=Ti.getCrypto=Ti.getCryptoOrThrow=L$=Ti.getLocation=Ti.getLocationOrThrow=H6=Ti.getNavigator=Ti.getNavigatorOrThrow=z6=Ti.getDocument=Ti.getDocumentOrThrow=Ti.getFromWindowOrThrow=Ti.getFromWindow=void 0;function Nm(r){let e;return typeof window<"u"&&typeof window[r]<"u"&&(e=window[r]),e}Ti.getFromWindow=Nm;function ay(r){const e=Nm(r);if(!e)throw new Error(`${r} is not defined in Window`);return e}Ti.getFromWindowOrThrow=ay;function oMe(){return ay("document")}Ti.getDocumentOrThrow=oMe;function aMe(){return Nm("document")}var z6=Ti.getDocument=aMe;function cMe(){return ay("navigator")}Ti.getNavigatorOrThrow=cMe;function lMe(){return Nm("navigator")}var H6=Ti.getNavigator=lMe;function uMe(){return ay("location")}Ti.getLocationOrThrow=uMe;function hMe(){return Nm("location")}var L$=Ti.getLocation=hMe;function fMe(){return ay("crypto")}Ti.getCryptoOrThrow=fMe;function dMe(){return Nm("crypto")}Ti.getCrypto=dMe;function pMe(){return ay("localStorage")}Ti.getLocalStorageOrThrow=pMe;function gMe(){return Nm("localStorage")}Ti.getLocalStorage=gMe;var U$={};Object.defineProperty(U$,"__esModule",{value:!0});var F$=U$.getWindowMetadata=void 0;const Voe=Ti;function mMe(){let r,e;try{r=Voe.getDocumentOrThrow(),e=Voe.getLocationOrThrow()}catch{return null}function t(){const p=r.getElementsByTagName("link"),g=[];for(let w=0;w-1){const R=y.getAttribute("href");if(R)if(R.toLowerCase().indexOf("https:")===-1&&R.toLowerCase().indexOf("http:")===-1&&R.indexOf("//")!==0){let k=e.protocol+"//"+e.host;if(R.indexOf("/")===0)k+=R;else{const M=e.pathname.split("/");M.pop();const O=M.join("/");k+=O+"/"+R}g.push(k)}else if(R.indexOf("//")===0){const k=e.protocol+R;g.push(k)}else g.push(R)}}return g}function n(...p){const g=r.getElementsByTagName("meta");for(let w=0;wy.getAttribute(R)).filter(R=>R?p.includes(R):!1);if(C.length&&C){const R=y.getAttribute("content");if(R)return R}}return""}function i(){let p=n("name","og:site_name","og:title","twitter:title");return p||(p=r.title),p}function s(){return n("description","og:description","twitter:description","keywords")}const o=i(),a=s(),l=e.origin,u=t();return{description:a,url:l,icons:u,name:o}}F$=U$.getWindowMetadata=mMe;var zd={},bMe=r=>encodeURIComponent(r).replace(/[!'()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`),Goe="%[a-f0-9]{2}",Koe=new RegExp("("+Goe+")|([^%]+?)","gi"),Zoe=new RegExp("("+Goe+")+","gi");function j$(r,e){try{return[decodeURIComponent(r.join(""))]}catch{}if(r.length===1)return r;e=e||1;var t=r.slice(0,e),n=r.slice(e);return Array.prototype.concat.call([],j$(t),j$(n))}function wMe(r){try{return decodeURIComponent(r)}catch{for(var e=r.match(Koe)||[],t=1;t{if(!(typeof r=="string"&&typeof e=="string"))throw new TypeError("Expected the arguments to be of type `string`");if(e==="")return[r];const t=r.indexOf(e);return t===-1?[r]:[r.slice(0,t),r.slice(t+e.length)]},_Me=function(r,e){for(var t={},n=Object.keys(r),i=Array.isArray(e),s=0;sM==null,o=Symbol("encodeFragmentIdentifier");function a(M){switch(M.arrayFormat){case"index":return O=>(B,j)=>{const G=B.length;return j===void 0||M.skipNull&&j===null||M.skipEmptyString&&j===""?B:j===null?[...B,[h(O,M),"[",G,"]"].join("")]:[...B,[h(O,M),"[",h(G,M),"]=",h(j,M)].join("")]};case"bracket":return O=>(B,j)=>j===void 0||M.skipNull&&j===null||M.skipEmptyString&&j===""?B:j===null?[...B,[h(O,M),"[]"].join("")]:[...B,[h(O,M),"[]=",h(j,M)].join("")];case"colon-list-separator":return O=>(B,j)=>j===void 0||M.skipNull&&j===null||M.skipEmptyString&&j===""?B:j===null?[...B,[h(O,M),":list="].join("")]:[...B,[h(O,M),":list=",h(j,M)].join("")];case"comma":case"separator":case"bracket-separator":{const O=M.arrayFormat==="bracket-separator"?"[]=":"=";return B=>(j,G)=>G===void 0||M.skipNull&&G===null||M.skipEmptyString&&G===""?j:(G=G===null?"":G,j.length===0?[[h(B,M),O,h(G,M)].join("")]:[[j,h(G,M)].join(M.arrayFormatSeparator)])}default:return O=>(B,j)=>j===void 0||M.skipNull&&j===null||M.skipEmptyString&&j===""?B:j===null?[...B,h(O,M)]:[...B,[h(O,M),"=",h(j,M)].join("")]}}function l(M){let O;switch(M.arrayFormat){case"index":return(B,j,G)=>{if(O=/\[(\d*)\]$/.exec(B),B=B.replace(/\[\d*\]$/,""),!O){G[B]=j;return}G[B]===void 0&&(G[B]={}),G[B][O[1]]=j};case"bracket":return(B,j,G)=>{if(O=/(\[\])$/.exec(B),B=B.replace(/\[\]$/,""),!O){G[B]=j;return}if(G[B]===void 0){G[B]=[j];return}G[B]=[].concat(G[B],j)};case"colon-list-separator":return(B,j,G)=>{if(O=/(:list)$/.exec(B),B=B.replace(/:list$/,""),!O){G[B]=j;return}if(G[B]===void 0){G[B]=[j];return}G[B]=[].concat(G[B],j)};case"comma":case"separator":return(B,j,G)=>{const D=typeof j=="string"&&j.includes(M.arrayFormatSeparator),$=typeof j=="string"&&!D&&p(j,M).includes(M.arrayFormatSeparator);j=$?p(j,M):j;const V=D||$?j.split(M.arrayFormatSeparator).map(te=>p(te,M)):j===null?j:p(j,M);G[B]=V};case"bracket-separator":return(B,j,G)=>{const D=/(\[\])$/.test(B);if(B=B.replace(/\[\]$/,""),!D){G[B]=j&&p(j,M);return}const $=j===null?[]:j.split(M.arrayFormatSeparator).map(V=>p(V,M));if(G[B]===void 0){G[B]=$;return}G[B]=[].concat(G[B],$)};default:return(B,j,G)=>{if(G[B]===void 0){G[B]=j;return}G[B]=[].concat(G[B],j)}}}function u(M){if(typeof M!="string"||M.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function h(M,O){return O.encode?O.strict?e(M):encodeURIComponent(M):M}function p(M,O){return O.decode?t(M):M}function g(M){return Array.isArray(M)?M.sort():typeof M=="object"?g(Object.keys(M)).sort((O,B)=>Number(O)-Number(B)).map(O=>M[O]):M}function w(M){const O=M.indexOf("#");return O!==-1&&(M=M.slice(0,O)),M}function y(M){let O="";const B=M.indexOf("#");return B!==-1&&(O=M.slice(B)),O}function C(M){M=w(M);const O=M.indexOf("?");return O===-1?"":M.slice(O+1)}function R(M,O){return O.parseNumbers&&!Number.isNaN(Number(M))&&typeof M=="string"&&M.trim()!==""?M=Number(M):O.parseBooleans&&M!==null&&(M.toLowerCase()==="true"||M.toLowerCase()==="false")&&(M=M.toLowerCase()==="true"),M}function k(M,O){O=Object.assign({decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1},O),u(O.arrayFormatSeparator);const B=l(O),j=Object.create(null);if(typeof M!="string"||(M=M.trim().replace(/^[?#&]/,""),!M))return j;for(const G of M.split("&")){if(G==="")continue;let[D,$]=n(O.decode?G.replace(/\+/g," "):G,"=");$=$===void 0?null:["comma","separator","bracket-separator"].includes(O.arrayFormat)?$:p($,O),B(p(D,O),$,j)}for(const G of Object.keys(j)){const D=j[G];if(typeof D=="object"&&D!==null)for(const $ of Object.keys(D))D[$]=R(D[$],O);else j[G]=R(D,O)}return O.sort===!1?j:(O.sort===!0?Object.keys(j).sort():Object.keys(j).sort(O.sort)).reduce((G,D)=>{const $=j[D];return $&&typeof $=="object"&&!Array.isArray($)?G[D]=g($):G[D]=$,G},Object.create(null))}r.extract=C,r.parse=k,r.stringify=(M,O)=>{if(!M)return"";O=Object.assign({encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:","},O),u(O.arrayFormatSeparator);const B=$=>O.skipNull&&s(M[$])||O.skipEmptyString&&M[$]==="",j=a(O),G={};for(const $ of Object.keys(M))B($)||(G[$]=M[$]);const D=Object.keys(G);return O.sort!==!1&&D.sort(O.sort),D.map($=>{const V=M[$];return V===void 0?"":V===null?h($,O):Array.isArray(V)?V.length===0&&O.arrayFormat==="bracket-separator"?h($,O)+"[]":V.reduce(j($),[]).join("&"):h($,O)+"="+h(V,O)}).filter($=>$.length>0).join("&")},r.parseUrl=(M,O)=>{O=Object.assign({decode:!0},O);const[B,j]=n(M,"#");return Object.assign({url:B.split("?")[0]||"",query:k(C(M),O)},O&&O.parseFragmentIdentifier&&j?{fragmentIdentifier:p(j,O)}:{})},r.stringifyUrl=(M,O)=>{O=Object.assign({encode:!0,strict:!0,[o]:!0},O);const B=w(M.url).split("?")[0]||"",j=r.extract(M.url),G=r.parse(j,{sort:!1}),D=Object.assign(G,M.query);let $=r.stringify(D,O);$&&($=`?${$}`);let V=y(M.url);return M.fragmentIdentifier&&(V=`#${O[o]?h(M.fragmentIdentifier,O):M.fragmentIdentifier}`),`${B}${$}${V}`},r.pick=(M,O,B)=>{B=Object.assign({parseFragmentIdentifier:!0,[o]:!1},B);const{url:j,query:G,fragmentIdentifier:D}=r.parseUrl(M,B);return r.stringifyUrl({url:j,query:i(G,O),fragmentIdentifier:D},B)},r.exclude=(M,O,B)=>{const j=Array.isArray(O)?G=>!O.includes(G):(G,D)=>!O(G,D);return r.pick(M,j,B)}})(zd);const Joe={waku:{publish:"waku_publish",batchPublish:"waku_batchPublish",subscribe:"waku_subscribe",batchSubscribe:"waku_batchSubscribe",subscription:"waku_subscription",unsubscribe:"waku_unsubscribe",batchUnsubscribe:"waku_batchUnsubscribe",batchFetchMessages:"waku_batchFetchMessages"},irn:{publish:"irn_publish",batchPublish:"irn_batchPublish",subscribe:"irn_subscribe",batchSubscribe:"irn_batchSubscribe",subscription:"irn_subscription",unsubscribe:"irn_unsubscribe",batchUnsubscribe:"irn_batchUnsubscribe",batchFetchMessages:"irn_batchFetchMessages"},iridium:{publish:"iridium_publish",batchPublish:"iridium_batchPublish",subscribe:"iridium_subscribe",batchSubscribe:"iridium_batchSubscribe",subscription:"iridium_subscription",unsubscribe:"iridium_unsubscribe",batchUnsubscribe:"iridium_batchUnsubscribe",batchFetchMessages:"iridium_batchFetchMessages"}},EMe=":";function AMe(r){const[e,t]=r.split(EMe);return{namespace:e,reference:t}}function CMe(r,e=[]){const t=[];return Object.keys(r).forEach(n=>{if(e.length&&!e.includes(n))return;const i=r[n];t.push(...i.accounts)}),t}function Yoe(r,e){return r.includes(":")?[r]:e.chains||[]}const Qoe="base10",Oa="base16",z$="base64pad",H$="utf8",Xoe=0,Pm=1,SMe=0,eae=1,q$=12,W$=32;function IMe(){const r=$6.generateKeyPair();return{privateKey:vi(r.secretKey,Oa),publicKey:vi(r.publicKey,Oa)}}function V$(){const r=h1.randomBytes(W$);return vi(r,Oa)}function RMe(r,e){const t=$6.sharedKey(Ni(r,Oa),Ni(e,Oa),!0),n=new wre(Tm.SHA256,t).expand(W$);return vi(n,Oa)}function TMe(r){const e=Tm.hash(Ni(r,Oa));return vi(e,Oa)}function cy(r){const e=Tm.hash(Ni(r,H$));return vi(e,Oa)}function kMe(r){return Ni(`${r}`,Qoe)}function q6(r){return Number(vi(r,Qoe))}function MMe(r){const e=kMe(typeof r.type<"u"?r.type:Xoe);if(q6(e)===Pm&&typeof r.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");const t=typeof r.senderPublicKey<"u"?Ni(r.senderPublicKey,Oa):void 0,n=typeof r.iv<"u"?Ni(r.iv,Oa):h1.randomBytes(q$),i=new I6.ChaCha20Poly1305(Ni(r.symKey,Oa)).seal(n,Ni(r.message,H$));return PMe({type:e,sealed:i,iv:n,senderPublicKey:t})}function NMe(r){const e=new I6.ChaCha20Poly1305(Ni(r.symKey,Oa)),{sealed:t,iv:n}=cS(r.encoded),i=e.open(n,t);if(i===null)throw new Error("Failed to decrypt");return vi(i,H$)}function PMe(r){if(q6(r.type)===Pm){if(typeof r.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");return vi(B6([r.type,r.senderPublicKey,r.iv,r.sealed]),z$)}return vi(B6([r.type,r.iv,r.sealed]),z$)}function cS(r){const e=Ni(r,z$),t=e.slice(SMe,eae),n=eae;if(q6(t)===Pm){const a=n+W$,l=a+q$,u=e.slice(n,a),h=e.slice(a,l),p=e.slice(l);return{type:t,sealed:p,iv:h,senderPublicKey:u}}const i=n+q$,s=e.slice(n,i),o=e.slice(i);return{type:t,sealed:o,iv:s}}function OMe(r,e){const t=cS(r);return tae({type:q6(t.type),senderPublicKey:typeof t.senderPublicKey<"u"?vi(t.senderPublicKey,Oa):void 0,receiverPublicKey:e==null?void 0:e.receiverPublicKey})}function tae(r){const e=(r==null?void 0:r.type)||Xoe;if(e===Pm){if(typeof(r==null?void 0:r.senderPublicKey)>"u")throw new Error("missing sender public key");if(typeof(r==null?void 0:r.receiverPublicKey)>"u")throw new Error("missing receiver public key")}return{type:e,senderPublicKey:r==null?void 0:r.senderPublicKey,receiverPublicKey:r==null?void 0:r.receiverPublicKey}}function rae(r){return r.type===Pm&&typeof r.senderPublicKey=="string"&&typeof r.receiverPublicKey=="string"}var DMe=Object.defineProperty,nae=Object.getOwnPropertySymbols,$Me=Object.prototype.hasOwnProperty,BMe=Object.prototype.propertyIsEnumerable,iae=(r,e,t)=>e in r?DMe(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,sae=(r,e)=>{for(var t in e||(e={}))$Me.call(e,t)&&iae(r,t,e[t]);if(nae)for(var t of nae(e))BMe.call(e,t)&&iae(r,t,e[t]);return r};const LMe="ReactNative",Wc={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"},UMe="js";function G$(){return typeof yt<"u"&&typeof yt.versions<"u"&&typeof yt.versions.node<"u"}function ly(){return!z6()&&!!H6()&&navigator.product===LMe}function uy(){return!G$()&&!!H6()&&!!z6()}function W6(){return ly()?Wc.reactNative:G$()?Wc.node:uy()?Wc.browser:Wc.unknown}function FMe(){var r;try{return ly()&&typeof dr<"u"&&typeof(dr==null?void 0:dr.Application)<"u"?(r=dr.Application)==null?void 0:r.applicationId:void 0}catch{return}}function jMe(r,e){let t=zd.parse(r);return t=sae(sae({},t),e),r=zd.stringify(t),r}function zMe(){return F$()||{name:"",description:"",url:"",icons:[""]}}function HMe(){if(W6()===Wc.reactNative&&typeof dr<"u"&&typeof(dr==null?void 0:dr.Platform)<"u"){const{OS:t,Version:n}=dr.Platform;return[t,n].join("-")}const r=Poe();if(r===null)return"unknown";const e=r.os?r.os.replace(" ","").toLowerCase():"unknown";return r.type==="browser"?[e,r.name,r.version].join("-"):[e,r.version].join("-")}function qMe(){var r;const e=W6();return e===Wc.browser?[e,((r=L$())==null?void 0:r.host)||"unknown"].join(":"):e}function WMe(r,e,t){const n=HMe(),i=qMe();return[[r,e].join("-"),[UMe,t].join("-"),n,i].join("/")}function VMe({protocol:r,version:e,relayUrl:t,sdkVersion:n,auth:i,projectId:s,useOnCloseEvent:o,bundleId:a}){const l=t.split("?"),u=WMe(r,e,n),h={auth:i,ua:u,projectId:s,useOnCloseEvent:o||void 0,origin:a||void 0},p=jMe(l[1]||"",h);return l[0]+"?"+p}function Om(r,e){return r.filter(t=>e.includes(t)).length===r.length}function oae(r){return Object.fromEntries(r.entries())}function aae(r){return new Map(Object.entries(r))}function hy(r=Ye.FIVE_MINUTES,e){const t=Ye.toMiliseconds(r||Ye.FIVE_MINUTES);let n,i,s;return{resolve:o=>{s&&n&&(clearTimeout(s),n(o))},reject:o=>{s&&i&&(clearTimeout(s),i(o))},done:()=>new Promise((o,a)=>{s=setTimeout(()=>{a(new Error(e))},t),n=o,i=a})}}function V6(r,e,t){return new Promise(async(n,i)=>{const s=setTimeout(()=>i(new Error(t)),e);try{const o=await r;n(o)}catch(o){i(o)}clearTimeout(s)})}function cae(r,e){if(typeof e=="string"&&e.startsWith(`${r}:`))return e;if(r.toLowerCase()==="topic"){if(typeof e!="string")throw new Error('Value must be "string" for expirer target type: topic');return`topic:${e}`}else if(r.toLowerCase()==="id"){if(typeof e!="number")throw new Error('Value must be "number" for expirer target type: id');return`id:${e}`}throw new Error(`Unknown expirer target type: ${r}`)}function GMe(r){return cae("topic",r)}function KMe(r){return cae("id",r)}function lae(r){const[e,t]=r.split(":"),n={id:void 0,topic:void 0};if(e==="topic"&&typeof t=="string")n.topic=t;else if(e==="id"&&Number.isInteger(Number(t)))n.id=Number(t);else throw new Error(`Invalid target, expected id:number or topic:string, got ${e}:${t}`);return n}function Vc(r,e){return Ye.fromMiliseconds((e||Date.now())+Ye.toMiliseconds(r))}function d1(r){return Date.now()>=Ye.toMiliseconds(r)}function xs(r,e){return`${r}${e?`:${e}`:""}`}function K$(r=[],e=[]){return[...new Set([...r,...e])]}async function ZMe({id:r,topic:e,wcDeepLink:t}){try{if(!t)return;const n=typeof t=="string"?JSON.parse(t):t;let i=n==null?void 0:n.href;if(typeof i!="string")return;i.endsWith("/")&&(i=i.slice(0,-1));const s=`${i}/wc?requestId=${r}&sessionTopic=${e}`,o=W6();o===Wc.browser?s.startsWith("https://")?window.open(s,"_blank","noreferrer noopener"):window.open(s,"_self","noreferrer noopener"):o===Wc.reactNative&&typeof(dr==null?void 0:dr.Linking)<"u"&&await dr.Linking.openURL(s)}catch(n){console.error(n)}}async function JMe(r,e){try{return await r.getItem(e)||(uy()?localStorage.getItem(e):void 0)}catch(t){console.error(t)}}const YMe="irn";function Z$(r){return(r==null?void 0:r.relay)||{protocol:YMe}}function lS(r){const e=Joe[r];if(typeof e>"u")throw new Error(`Relay Protocol not supported: ${r}`);return e}var QMe=Object.defineProperty,XMe=Object.defineProperties,eNe=Object.getOwnPropertyDescriptors,uae=Object.getOwnPropertySymbols,tNe=Object.prototype.hasOwnProperty,rNe=Object.prototype.propertyIsEnumerable,hae=(r,e,t)=>e in r?QMe(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,nNe=(r,e)=>{for(var t in e||(e={}))tNe.call(e,t)&&hae(r,t,e[t]);if(uae)for(var t of uae(e))rNe.call(e,t)&&hae(r,t,e[t]);return r},iNe=(r,e)=>XMe(r,eNe(e));function sNe(r,e="-"){const t={},n="relay"+e;return Object.keys(r).forEach(i=>{if(i.startsWith(n)){const s=i.replace(n,""),o=r[i];t[s]=o}}),t}function fae(r){r=r.includes("wc://")?r.replace("wc://",""):r,r=r.includes("wc:")?r.replace("wc:",""):r;const e=r.indexOf(":"),t=r.indexOf("?")!==-1?r.indexOf("?"):void 0,n=r.substring(0,e),i=r.substring(e+1,t).split("@"),s=typeof t<"u"?r.substring(t):"",o=zd.parse(s);return{protocol:n,topic:oNe(i[0]),version:parseInt(i[1],10),symKey:o.symKey,relay:sNe(o),expiryTimestamp:o.expiryTimestamp?parseInt(o.expiryTimestamp,10):void 0}}function oNe(r){return r.startsWith("//")?r.substring(2):r}function aNe(r,e="-"){const t="relay",n={};return Object.keys(r).forEach(i=>{const s=t+e+i;r[i]&&(n[s]=r[i])}),n}function cNe(r){return`${r.protocol}:${r.topic}@${r.version}?`+zd.stringify(iNe(nNe({symKey:r.symKey},aNe(r.relay)),{expiryTimestamp:r.expiryTimestamp}))}function fy(r){const e=[];return r.forEach(t=>{const[n,i]=t.split(":");e.push(`${n}:${i}`)}),e}function lNe(r){const e=[];return Object.values(r).forEach(t=>{e.push(...fy(t.accounts))}),e}function uNe(r,e){const t=[];return Object.values(r).forEach(n=>{fy(n.accounts).includes(e)&&t.push(...n.methods)}),t}function hNe(r,e){const t=[];return Object.values(r).forEach(n=>{fy(n.accounts).includes(e)&&t.push(...n.events)}),t}function J$(r){return r.includes(":")}function G6(r){return J$(r)?r.split(":")[0]:r}const fNe={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}},dNe={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 Wt(r,e){const{message:t,code:n}=dNe[r];return{message:e?`${t} ${e}`:t,code:n}}function Wi(r,e){const{message:t,code:n}=fNe[r];return{message:e?`${t} ${e}`:t,code:n}}function pf(r,e){return Array.isArray(r)?typeof e<"u"&&r.length?r.every(e):!0:!1}function K6(r){return Object.getPrototypeOf(r)===Object.prototype&&Object.keys(r).length}function Da(r){return typeof r>"u"}function wo(r,e){return e&&Da(r)?!0:typeof r=="string"&&!!r.trim().length}function Y$(r,e){return e&&Da(r)?!0:typeof r=="number"&&!isNaN(r)}function pNe(r,e){const{requiredNamespaces:t}=e,n=Object.keys(r.namespaces),i=Object.keys(t);let s=!0;return Om(i,n)?(n.forEach(o=>{const{accounts:a,methods:l,events:u}=r.namespaces[o],h=fy(a),p=t[o];(!Om(Yoe(o,p),h)||!Om(p.methods,l)||!Om(p.events,u))&&(s=!1)}),s):!1}function uS(r){return wo(r,!1)&&r.includes(":")?r.split(":").length===2:!1}function gNe(r){if(wo(r,!1)&&r.includes(":")){const e=r.split(":");if(e.length===3){const t=e[0]+":"+e[1];return!!e[2]&&uS(t)}}return!1}function mNe(r){if(wo(r,!1))try{return typeof new URL(r)<"u"}catch{return!1}return!1}function bNe(r){var e;return(e=r==null?void 0:r.proposer)==null?void 0:e.publicKey}function wNe(r){return r==null?void 0:r.topic}function vNe(r,e){let t=null;return wo(r==null?void 0:r.publicKey,!1)||(t=Wt("MISSING_OR_INVALID",`${e} controller public key should be a string`)),t}function dae(r){let e=!0;return pf(r)?r.length&&(e=r.every(t=>wo(t,!1))):e=!1,e}function yNe(r,e,t){let n=null;return pf(e)&&e.length?e.forEach(i=>{n||uS(i)||(n=Wi("UNSUPPORTED_CHAINS",`${t}, chain ${i} should be a string and conform to "namespace:chainId" format`))}):uS(r)||(n=Wi("UNSUPPORTED_CHAINS",`${t}, 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"] }`)),n}function xNe(r,e,t){let n=null;return Object.entries(r).forEach(([i,s])=>{if(n)return;const o=yNe(i,Yoe(i,s),`${e} ${t}`);o&&(n=o)}),n}function _Ne(r,e){let t=null;return pf(r)?r.forEach(n=>{t||gNe(n)||(t=Wi("UNSUPPORTED_ACCOUNTS",`${e}, account ${n} should be a string and conform to "namespace:chainId:address" format`))}):t=Wi("UNSUPPORTED_ACCOUNTS",`${e}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),t}function ENe(r,e){let t=null;return Object.values(r).forEach(n=>{if(t)return;const i=_Ne(n==null?void 0:n.accounts,`${e} namespace`);i&&(t=i)}),t}function ANe(r,e){let t=null;return dae(r==null?void 0:r.methods)?dae(r==null?void 0:r.events)||(t=Wi("UNSUPPORTED_EVENTS",`${e}, events should be an array of strings or empty array for no events`)):t=Wi("UNSUPPORTED_METHODS",`${e}, methods should be an array of strings or empty array for no methods`),t}function pae(r,e){let t=null;return Object.values(r).forEach(n=>{if(t)return;const i=ANe(n,`${e}, namespace`);i&&(t=i)}),t}function CNe(r,e,t){let n=null;if(r&&K6(r)){const i=pae(r,e);i&&(n=i);const s=xNe(r,e,t);s&&(n=s)}else n=Wt("MISSING_OR_INVALID",`${e}, ${t} should be an object with data`);return n}function Q$(r,e){let t=null;if(r&&K6(r)){const n=pae(r,e);n&&(t=n);const i=ENe(r,e);i&&(t=i)}else t=Wt("MISSING_OR_INVALID",`${e}, namespaces should be an object with data`);return t}function gae(r){return wo(r.protocol,!0)}function SNe(r,e){let t=!1;return e&&!r?t=!0:r&&pf(r)&&r.length&&r.forEach(n=>{t=gae(n)}),t}function INe(r){return typeof r=="number"}function gc(r){return typeof r<"u"&&typeof r!==null}function RNe(r){return!(!r||typeof r!="object"||!r.code||!Y$(r.code,!1)||!r.message||!wo(r.message,!1))}function TNe(r){return!(Da(r)||!wo(r.method,!1))}function kNe(r){return!(Da(r)||Da(r.result)&&Da(r.error)||!Y$(r.id,!1)||!wo(r.jsonrpc,!1))}function MNe(r){return!(Da(r)||!wo(r.name,!1))}function mae(r,e){return!(!uS(e)||!lNe(r).includes(e))}function NNe(r,e,t){return wo(t,!1)?uNe(r,e).includes(t):!1}function PNe(r,e,t){return wo(t,!1)?hNe(r,e).includes(t):!1}function bae(r,e,t){let n=null;const i=ONe(r),s=DNe(e),o=Object.keys(i),a=Object.keys(s),l=wae(Object.keys(r)),u=wae(Object.keys(e)),h=l.filter(p=>!u.includes(p));return h.length&&(n=Wt("NON_CONFORMING_NAMESPACES",`${t} namespaces keys don't satisfy requiredNamespaces. + ***************************************************************************** */(function(r){var e,t,n,i,s,o,a,l,u,h,p,g,w,y,C,T,k,N,O,B,z,G,$;(function(D){var V=typeof ct=="object"?ct:typeof self=="object"?self:typeof this=="object"?this:{};D(Q(V,Q(r.exports)));function Q(F,M){return F!==V&&(typeof Object.create=="function"?Object.defineProperty(F,"__esModule",{value:!0}):F.__esModule=!0),function(b,d){return F[b]=M?M(b,d):d}}})(function(D){var V=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Q,F){Q.__proto__=F}||function(Q,F){for(var M in F)F.hasOwnProperty(M)&&(Q[M]=F[M])};e=function(Q,F){V(Q,F);function M(){this.constructor=Q}Q.prototype=F===null?Object.create(F):(M.prototype=F.prototype,new M)},t=Object.assign||function(Q){for(var F,M=1,b=arguments.length;M=0;A--)(x=Q[A])&&(m=(d<3?x(m):d>3?x(F,M,m):x(F,M))||m);return d>3&&m&&Object.defineProperty(F,M,m),m},s=function(Q,F){return function(M,b){F(M,b,Q)}},o=function(Q,F){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(Q,F)},a=function(Q,F,M,b){function d(m){return m instanceof M?m:new M(function(x){x(m)})}return new(M||(M=Promise))(function(m,x){function A(S){try{R(b.next(S))}catch(E){x(E)}}function I(S){try{R(b.throw(S))}catch(E){x(E)}}function R(S){S.done?m(S.value):d(S.value).then(A,I)}R((b=b.apply(Q,F||[])).next())})},l=function(Q,F){var M={label:0,sent:function(){if(m[0]&1)throw m[1];return m[1]},trys:[],ops:[]},b,d,m,x;return x={next:A(0),throw:A(1),return:A(2)},typeof Symbol=="function"&&(x[Symbol.iterator]=function(){return this}),x;function A(R){return function(S){return I([R,S])}}function I(R){if(b)throw new TypeError("Generator is already executing.");for(;M;)try{if(b=1,d&&(m=R[0]&2?d.return:R[0]?d.throw||((m=d.return)&&m.call(d),0):d.next)&&!(m=m.call(d,R[1])).done)return m;switch(d=0,m&&(R=[R[0]&2,m.value]),R[0]){case 0:case 1:m=R;break;case 4:return M.label++,{value:R[1],done:!1};case 5:M.label++,d=R[1],R=[0];continue;case 7:R=M.ops.pop(),M.trys.pop();continue;default:if(m=M.trys,!(m=m.length>0&&m[m.length-1])&&(R[0]===6||R[0]===2)){M=0;continue}if(R[0]===3&&(!m||R[1]>m[0]&&R[1]=Q.length&&(Q=void 0),{value:Q&&Q[b++],done:!Q}}};throw new TypeError(F?"Object is not iterable.":"Symbol.iterator is not defined.")},p=function(Q,F){var M=typeof Symbol=="function"&&Q[Symbol.iterator];if(!M)return Q;var b=M.call(Q),d,m=[],x;try{for(;(F===void 0||F-- >0)&&!(d=b.next()).done;)m.push(d.value)}catch(A){x={error:A}}finally{try{d&&!d.done&&(M=b.return)&&M.call(b)}finally{if(x)throw x.error}}return m},g=function(){for(var Q=[],F=0;F1||A(_,L)})})}function A(_,L){try{I(b[_](L))}catch(ie){E(m[0][3],ie)}}function I(_){_.value instanceof y?Promise.resolve(_.value.v).then(R,S):E(m[0][2],_)}function R(_){A("next",_)}function S(_){A("throw",_)}function E(_,L){_(L),m.shift(),m.length&&A(m[0][0],m[0][1])}},T=function(Q){var F,M;return F={},b("next"),b("throw",function(d){throw d}),b("return"),F[Symbol.iterator]=function(){return this},F;function b(d,m){F[d]=Q[d]?function(x){return(M=!M)?{value:y(Q[d](x)),done:d==="return"}:m?m(x):x}:m}},k=function(Q){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var F=Q[Symbol.asyncIterator],M;return F?F.call(Q):(Q=typeof h=="function"?h(Q):Q[Symbol.iterator](),M={},b("next"),b("throw"),b("return"),M[Symbol.asyncIterator]=function(){return this},M);function b(m){M[m]=Q[m]&&function(x){return new Promise(function(A,I){x=Q[m](x),d(A,I,x.done,x.value)})}}function d(m,x,A,I){Promise.resolve(I).then(function(R){m({value:R,done:A})},x)}},N=function(Q,F){return Object.defineProperty?Object.defineProperty(Q,"raw",{value:F}):Q.raw=F,Q},O=function(Q){if(Q&&Q.__esModule)return Q;var F={};if(Q!=null)for(var M in Q)Object.hasOwnProperty.call(Q,M)&&(F[M]=Q[M]);return F.default=Q,F},B=function(Q){return Q&&Q.__esModule?Q:{default:Q}},z=function(Q,F){if(!F.has(Q))throw new TypeError("attempted to get private field on non-instance");return F.get(Q)},G=function(Q,F,M){if(!F.has(Q))throw new TypeError("attempted to set private field on non-instance");return F.set(Q,M),M},D("__extends",e),D("__assign",t),D("__rest",n),D("__decorate",i),D("__param",s),D("__metadata",o),D("__awaiter",a),D("__generator",l),D("__exportStar",u),D("__createBinding",$),D("__values",h),D("__read",p),D("__spread",g),D("__spreadArrays",w),D("__await",y),D("__asyncGenerator",C),D("__asyncDelegator",T),D("__asyncValues",k),D("__makeTemplateObject",N),D("__importStar",O),D("__importDefault",B),D("__classPrivateFieldGet",z),D("__classPrivateFieldSet",G)})})(Oke);var O$={},B6={},Toe;function Dke(){if(Toe)return B6;Toe=1,Object.defineProperty(B6,"__esModule",{value:!0}),B6.delay=void 0;function r(e){return new Promise(t=>{setTimeout(()=>{t(!0)},e)})}return B6.delay=r,B6}var km={},D$={},Mm={},Roe;function $ke(){return Roe||(Roe=1,Object.defineProperty(Mm,"__esModule",{value:!0}),Mm.ONE_THOUSAND=Mm.ONE_HUNDRED=void 0,Mm.ONE_HUNDRED=100,Mm.ONE_THOUSAND=1e3),Mm}var $$={},koe;function Bke(){return koe||(koe=1,function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.ONE_YEAR=r.FOUR_WEEKS=r.THREE_WEEKS=r.TWO_WEEKS=r.ONE_WEEK=r.THIRTY_DAYS=r.SEVEN_DAYS=r.FIVE_DAYS=r.THREE_DAYS=r.ONE_DAY=r.TWENTY_FOUR_HOURS=r.TWELVE_HOURS=r.SIX_HOURS=r.THREE_HOURS=r.ONE_HOUR=r.SIXTY_MINUTES=r.THIRTY_MINUTES=r.TEN_MINUTES=r.FIVE_MINUTES=r.ONE_MINUTE=r.SIXTY_SECONDS=r.THIRTY_SECONDS=r.TEN_SECONDS=r.FIVE_SECONDS=r.ONE_SECOND=void 0,r.ONE_SECOND=1,r.FIVE_SECONDS=5,r.TEN_SECONDS=10,r.THIRTY_SECONDS=30,r.SIXTY_SECONDS=60,r.ONE_MINUTE=r.SIXTY_SECONDS,r.FIVE_MINUTES=r.ONE_MINUTE*5,r.TEN_MINUTES=r.ONE_MINUTE*10,r.THIRTY_MINUTES=r.ONE_MINUTE*30,r.SIXTY_MINUTES=r.ONE_MINUTE*60,r.ONE_HOUR=r.SIXTY_MINUTES,r.THREE_HOURS=r.ONE_HOUR*3,r.SIX_HOURS=r.ONE_HOUR*6,r.TWELVE_HOURS=r.ONE_HOUR*12,r.TWENTY_FOUR_HOURS=r.ONE_HOUR*24,r.ONE_DAY=r.TWENTY_FOUR_HOURS,r.THREE_DAYS=r.ONE_DAY*3,r.FIVE_DAYS=r.ONE_DAY*5,r.SEVEN_DAYS=r.ONE_DAY*7,r.THIRTY_DAYS=r.ONE_DAY*30,r.ONE_WEEK=r.SEVEN_DAYS,r.TWO_WEEKS=r.ONE_WEEK*2,r.THREE_WEEKS=r.ONE_WEEK*3,r.FOUR_WEEKS=r.ONE_WEEK*4,r.ONE_YEAR=r.ONE_DAY*365}($$)),$$}var Moe;function Noe(){return Moe||(Moe=1,function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=Ju;e.__exportStar($ke(),r),e.__exportStar(Bke(),r)}(D$)),D$}var Poe;function Lke(){if(Poe)return km;Poe=1,Object.defineProperty(km,"__esModule",{value:!0}),km.fromMiliseconds=km.toMiliseconds=void 0;const r=Noe();function e(n){return n*r.ONE_THOUSAND}km.toMiliseconds=e;function t(n){return Math.floor(n/r.ONE_THOUSAND)}return km.fromMiliseconds=t,km}var Ooe;function Uke(){return Ooe||(Ooe=1,function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=Ju;e.__exportStar(Dke(),r),e.__exportStar(Lke(),r)}(O$)),O$}var iy={},Doe;function Fke(){if(Doe)return iy;Doe=1,Object.defineProperty(iy,"__esModule",{value:!0}),iy.Watch=void 0;class r{constructor(){this.timestamps=new Map}start(t){if(this.timestamps.has(t))throw new Error(`Watch already started for label: ${t}`);this.timestamps.set(t,{started:Date.now()})}stop(t){const n=this.get(t);if(typeof n.elapsed<"u")throw new Error(`Watch already stopped for label: ${t}`);const i=Date.now()-n.started;this.timestamps.set(t,{started:n.started,elapsed:i})}get(t){const n=this.timestamps.get(t);if(typeof n>"u")throw new Error(`No timestamp found for label: ${t}`);return n}elapsed(t){const n=this.get(t);return n.elapsed||Date.now()-n.started}}return iy.Watch=r,iy.default=r,iy}var B$={},L6={},$oe;function jke(){if($oe)return L6;$oe=1,Object.defineProperty(L6,"__esModule",{value:!0}),L6.IWatch=void 0;class r{}return L6.IWatch=r,L6}var Boe;function zke(){return Boe||(Boe=1,function(r){Object.defineProperty(r,"__esModule",{value:!0}),Ju.__exportStar(jke(),r)}(B$)),B$}(function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=Ju;e.__exportStar(Uke(),r),e.__exportStar(Fke(),r),e.__exportStar(zke(),r),e.__exportStar(Noe(),r)})(Ye);var ki={};Object.defineProperty(ki,"__esModule",{value:!0}),ki.getLocalStorage=ki.getLocalStorageOrThrow=ki.getCrypto=ki.getCryptoOrThrow=L$=ki.getLocation=ki.getLocationOrThrow=F6=ki.getNavigator=ki.getNavigatorOrThrow=U6=ki.getDocument=ki.getDocumentOrThrow=ki.getFromWindowOrThrow=ki.getFromWindow=void 0;function Nm(r){let e;return typeof window<"u"&&typeof window[r]<"u"&&(e=window[r]),e}ki.getFromWindow=Nm;function sy(r){const e=Nm(r);if(!e)throw new Error(`${r} is not defined in Window`);return e}ki.getFromWindowOrThrow=sy;function Hke(){return sy("document")}ki.getDocumentOrThrow=Hke;function qke(){return Nm("document")}var U6=ki.getDocument=qke;function Wke(){return sy("navigator")}ki.getNavigatorOrThrow=Wke;function Vke(){return Nm("navigator")}var F6=ki.getNavigator=Vke;function Gke(){return sy("location")}ki.getLocationOrThrow=Gke;function Kke(){return Nm("location")}var L$=ki.getLocation=Kke;function Zke(){return sy("crypto")}ki.getCryptoOrThrow=Zke;function Jke(){return Nm("crypto")}ki.getCrypto=Jke;function Yke(){return sy("localStorage")}ki.getLocalStorageOrThrow=Yke;function Qke(){return Nm("localStorage")}ki.getLocalStorage=Qke;var U$={};Object.defineProperty(U$,"__esModule",{value:!0});var F$=U$.getWindowMetadata=void 0;const Loe=ki;function Xke(){let r,e;try{r=Loe.getDocumentOrThrow(),e=Loe.getLocationOrThrow()}catch{return null}function t(){const p=r.getElementsByTagName("link"),g=[];for(let w=0;w-1){const T=y.getAttribute("href");if(T)if(T.toLowerCase().indexOf("https:")===-1&&T.toLowerCase().indexOf("http:")===-1&&T.indexOf("//")!==0){let k=e.protocol+"//"+e.host;if(T.indexOf("/")===0)k+=T;else{const N=e.pathname.split("/");N.pop();const O=N.join("/");k+=O+"/"+T}g.push(k)}else if(T.indexOf("//")===0){const k=e.protocol+T;g.push(k)}else g.push(T)}}return g}function n(...p){const g=r.getElementsByTagName("meta");for(let w=0;wy.getAttribute(T)).filter(T=>T?p.includes(T):!1);if(C.length&&C){const T=y.getAttribute("content");if(T)return T}}return""}function i(){let p=n("name","og:site_name","og:title","twitter:title");return p||(p=r.title),p}function s(){return n("description","og:description","twitter:description","keywords")}const o=i(),a=s(),l=e.origin,u=t();return{description:a,url:l,icons:u,name:o}}F$=U$.getWindowMetadata=Xke;var zd={},eMe=r=>encodeURIComponent(r).replace(/[!'()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`),Uoe="%[a-f0-9]{2}",Foe=new RegExp("("+Uoe+")|([^%]+?)","gi"),joe=new RegExp("("+Uoe+")+","gi");function j$(r,e){try{return[decodeURIComponent(r.join(""))]}catch{}if(r.length===1)return r;e=e||1;var t=r.slice(0,e),n=r.slice(e);return Array.prototype.concat.call([],j$(t),j$(n))}function tMe(r){try{return decodeURIComponent(r)}catch{for(var e=r.match(Foe)||[],t=1;t{if(!(typeof r=="string"&&typeof e=="string"))throw new TypeError("Expected the arguments to be of type `string`");if(e==="")return[r];const t=r.indexOf(e);return t===-1?[r]:[r.slice(0,t),r.slice(t+e.length)]},sMe=function(r,e){for(var t={},n=Object.keys(r),i=Array.isArray(e),s=0;sN==null,o=Symbol("encodeFragmentIdentifier");function a(N){switch(N.arrayFormat){case"index":return O=>(B,z)=>{const G=B.length;return z===void 0||N.skipNull&&z===null||N.skipEmptyString&&z===""?B:z===null?[...B,[h(O,N),"[",G,"]"].join("")]:[...B,[h(O,N),"[",h(G,N),"]=",h(z,N)].join("")]};case"bracket":return O=>(B,z)=>z===void 0||N.skipNull&&z===null||N.skipEmptyString&&z===""?B:z===null?[...B,[h(O,N),"[]"].join("")]:[...B,[h(O,N),"[]=",h(z,N)].join("")];case"colon-list-separator":return O=>(B,z)=>z===void 0||N.skipNull&&z===null||N.skipEmptyString&&z===""?B:z===null?[...B,[h(O,N),":list="].join("")]:[...B,[h(O,N),":list=",h(z,N)].join("")];case"comma":case"separator":case"bracket-separator":{const O=N.arrayFormat==="bracket-separator"?"[]=":"=";return B=>(z,G)=>G===void 0||N.skipNull&&G===null||N.skipEmptyString&&G===""?z:(G=G===null?"":G,z.length===0?[[h(B,N),O,h(G,N)].join("")]:[[z,h(G,N)].join(N.arrayFormatSeparator)])}default:return O=>(B,z)=>z===void 0||N.skipNull&&z===null||N.skipEmptyString&&z===""?B:z===null?[...B,h(O,N)]:[...B,[h(O,N),"=",h(z,N)].join("")]}}function l(N){let O;switch(N.arrayFormat){case"index":return(B,z,G)=>{if(O=/\[(\d*)\]$/.exec(B),B=B.replace(/\[\d*\]$/,""),!O){G[B]=z;return}G[B]===void 0&&(G[B]={}),G[B][O[1]]=z};case"bracket":return(B,z,G)=>{if(O=/(\[\])$/.exec(B),B=B.replace(/\[\]$/,""),!O){G[B]=z;return}if(G[B]===void 0){G[B]=[z];return}G[B]=[].concat(G[B],z)};case"colon-list-separator":return(B,z,G)=>{if(O=/(:list)$/.exec(B),B=B.replace(/:list$/,""),!O){G[B]=z;return}if(G[B]===void 0){G[B]=[z];return}G[B]=[].concat(G[B],z)};case"comma":case"separator":return(B,z,G)=>{const $=typeof z=="string"&&z.includes(N.arrayFormatSeparator),D=typeof z=="string"&&!$&&p(z,N).includes(N.arrayFormatSeparator);z=D?p(z,N):z;const V=$||D?z.split(N.arrayFormatSeparator).map(Q=>p(Q,N)):z===null?z:p(z,N);G[B]=V};case"bracket-separator":return(B,z,G)=>{const $=/(\[\])$/.test(B);if(B=B.replace(/\[\]$/,""),!$){G[B]=z&&p(z,N);return}const D=z===null?[]:z.split(N.arrayFormatSeparator).map(V=>p(V,N));if(G[B]===void 0){G[B]=D;return}G[B]=[].concat(G[B],D)};default:return(B,z,G)=>{if(G[B]===void 0){G[B]=z;return}G[B]=[].concat(G[B],z)}}}function u(N){if(typeof N!="string"||N.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function h(N,O){return O.encode?O.strict?e(N):encodeURIComponent(N):N}function p(N,O){return O.decode?t(N):N}function g(N){return Array.isArray(N)?N.sort():typeof N=="object"?g(Object.keys(N)).sort((O,B)=>Number(O)-Number(B)).map(O=>N[O]):N}function w(N){const O=N.indexOf("#");return O!==-1&&(N=N.slice(0,O)),N}function y(N){let O="";const B=N.indexOf("#");return B!==-1&&(O=N.slice(B)),O}function C(N){N=w(N);const O=N.indexOf("?");return O===-1?"":N.slice(O+1)}function T(N,O){return O.parseNumbers&&!Number.isNaN(Number(N))&&typeof N=="string"&&N.trim()!==""?N=Number(N):O.parseBooleans&&N!==null&&(N.toLowerCase()==="true"||N.toLowerCase()==="false")&&(N=N.toLowerCase()==="true"),N}function k(N,O){O=Object.assign({decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1},O),u(O.arrayFormatSeparator);const B=l(O),z=Object.create(null);if(typeof N!="string"||(N=N.trim().replace(/^[?#&]/,""),!N))return z;for(const G of N.split("&")){if(G==="")continue;let[$,D]=n(O.decode?G.replace(/\+/g," "):G,"=");D=D===void 0?null:["comma","separator","bracket-separator"].includes(O.arrayFormat)?D:p(D,O),B(p($,O),D,z)}for(const G of Object.keys(z)){const $=z[G];if(typeof $=="object"&&$!==null)for(const D of Object.keys($))$[D]=T($[D],O);else z[G]=T($,O)}return O.sort===!1?z:(O.sort===!0?Object.keys(z).sort():Object.keys(z).sort(O.sort)).reduce((G,$)=>{const D=z[$];return Boolean(D)&&typeof D=="object"&&!Array.isArray(D)?G[$]=g(D):G[$]=D,G},Object.create(null))}r.extract=C,r.parse=k,r.stringify=(N,O)=>{if(!N)return"";O=Object.assign({encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:","},O),u(O.arrayFormatSeparator);const B=D=>O.skipNull&&s(N[D])||O.skipEmptyString&&N[D]==="",z=a(O),G={};for(const D of Object.keys(N))B(D)||(G[D]=N[D]);const $=Object.keys(G);return O.sort!==!1&&$.sort(O.sort),$.map(D=>{const V=N[D];return V===void 0?"":V===null?h(D,O):Array.isArray(V)?V.length===0&&O.arrayFormat==="bracket-separator"?h(D,O)+"[]":V.reduce(z(D),[]).join("&"):h(D,O)+"="+h(V,O)}).filter(D=>D.length>0).join("&")},r.parseUrl=(N,O)=>{O=Object.assign({decode:!0},O);const[B,z]=n(N,"#");return Object.assign({url:B.split("?")[0]||"",query:k(C(N),O)},O&&O.parseFragmentIdentifier&&z?{fragmentIdentifier:p(z,O)}:{})},r.stringifyUrl=(N,O)=>{O=Object.assign({encode:!0,strict:!0,[o]:!0},O);const B=w(N.url).split("?")[0]||"",z=r.extract(N.url),G=r.parse(z,{sort:!1}),$=Object.assign(G,N.query);let D=r.stringify($,O);D&&(D=`?${D}`);let V=y(N.url);return N.fragmentIdentifier&&(V=`#${O[o]?h(N.fragmentIdentifier,O):N.fragmentIdentifier}`),`${B}${D}${V}`},r.pick=(N,O,B)=>{B=Object.assign({parseFragmentIdentifier:!0,[o]:!1},B);const{url:z,query:G,fragmentIdentifier:$}=r.parseUrl(N,B);return r.stringifyUrl({url:z,query:i(G,O),fragmentIdentifier:$},B)},r.exclude=(N,O,B)=>{const z=Array.isArray(O)?G=>!O.includes(G):(G,$)=>!O(G,$);return r.pick(N,z,B)}})(zd);const zoe={waku:{publish:"waku_publish",batchPublish:"waku_batchPublish",subscribe:"waku_subscribe",batchSubscribe:"waku_batchSubscribe",subscription:"waku_subscription",unsubscribe:"waku_unsubscribe",batchUnsubscribe:"waku_batchUnsubscribe",batchFetchMessages:"waku_batchFetchMessages"},irn:{publish:"irn_publish",batchPublish:"irn_batchPublish",subscribe:"irn_subscribe",batchSubscribe:"irn_batchSubscribe",subscription:"irn_subscription",unsubscribe:"irn_unsubscribe",batchUnsubscribe:"irn_batchUnsubscribe",batchFetchMessages:"irn_batchFetchMessages"},iridium:{publish:"iridium_publish",batchPublish:"iridium_batchPublish",subscribe:"iridium_subscribe",batchSubscribe:"iridium_batchSubscribe",subscription:"iridium_subscription",unsubscribe:"iridium_unsubscribe",batchUnsubscribe:"iridium_batchUnsubscribe",batchFetchMessages:"iridium_batchFetchMessages"}},oMe=":";function aMe(r){const[e,t]=r.split(oMe);return{namespace:e,reference:t}}function cMe(r,e=[]){const t=[];return Object.keys(r).forEach(n=>{if(e.length&&!e.includes(n))return;const i=r[n];t.push(...i.accounts)}),t}function Hoe(r,e){return r.includes(":")?[r]:e.chains||[]}const qoe="base10",Da="base16",z$="base64pad",H$="utf8",Woe=0,Pm=1,lMe=0,Voe=1,q$=12,W$=32;function uMe(){const r=O6.generateKeyPair();return{privateKey:yi(r.secretKey,Da),publicKey:yi(r.publicKey,Da)}}function V$(){const r=c1.randomBytes(W$);return yi(r,Da)}function hMe(r,e){const t=O6.sharedKey(Pi(r,Da),Pi(e,Da),!0),n=new lre(Rm.SHA256,t).expand(W$);return yi(n,Da)}function fMe(r){const e=Rm.hash(Pi(r,Da));return yi(e,Da)}function oy(r){const e=Rm.hash(Pi(r,H$));return yi(e,Da)}function dMe(r){return Pi(`${r}`,qoe)}function j6(r){return Number(yi(r,qoe))}function pMe(r){const e=dMe(typeof r.type<"u"?r.type:Woe);if(j6(e)===Pm&&typeof r.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");const t=typeof r.senderPublicKey<"u"?Pi(r.senderPublicKey,Da):void 0,n=typeof r.iv<"u"?Pi(r.iv,Da):c1.randomBytes(q$),i=new E6.ChaCha20Poly1305(Pi(r.symKey,Da)).seal(n,Pi(r.message,H$));return mMe({type:e,sealed:i,iv:n,senderPublicKey:t})}function gMe(r){const e=new E6.ChaCha20Poly1305(Pi(r.symKey,Da)),{sealed:t,iv:n}=dS(r.encoded),i=e.open(n,t);if(i===null)throw new Error("Failed to decrypt");return yi(i,H$)}function mMe(r){if(j6(r.type)===Pm){if(typeof r.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");return yi(D6([r.type,r.senderPublicKey,r.iv,r.sealed]),z$)}return yi(D6([r.type,r.iv,r.sealed]),z$)}function dS(r){const e=Pi(r,z$),t=e.slice(lMe,Voe),n=Voe;if(j6(t)===Pm){const a=n+W$,l=a+q$,u=e.slice(n,a),h=e.slice(a,l),p=e.slice(l);return{type:t,sealed:p,iv:h,senderPublicKey:u}}const i=n+q$,s=e.slice(n,i),o=e.slice(i);return{type:t,sealed:o,iv:s}}function bMe(r,e){const t=dS(r);return Goe({type:j6(t.type),senderPublicKey:typeof t.senderPublicKey<"u"?yi(t.senderPublicKey,Da):void 0,receiverPublicKey:e==null?void 0:e.receiverPublicKey})}function Goe(r){const e=(r==null?void 0:r.type)||Woe;if(e===Pm){if(typeof(r==null?void 0:r.senderPublicKey)>"u")throw new Error("missing sender public key");if(typeof(r==null?void 0:r.receiverPublicKey)>"u")throw new Error("missing receiver public key")}return{type:e,senderPublicKey:r==null?void 0:r.senderPublicKey,receiverPublicKey:r==null?void 0:r.receiverPublicKey}}function Koe(r){return r.type===Pm&&typeof r.senderPublicKey=="string"&&typeof r.receiverPublicKey=="string"}var wMe=Object.defineProperty,Zoe=Object.getOwnPropertySymbols,vMe=Object.prototype.hasOwnProperty,yMe=Object.prototype.propertyIsEnumerable,Joe=(r,e,t)=>e in r?wMe(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Yoe=(r,e)=>{for(var t in e||(e={}))vMe.call(e,t)&&Joe(r,t,e[t]);if(Zoe)for(var t of Zoe(e))yMe.call(e,t)&&Joe(r,t,e[t]);return r};const xMe="ReactNative",Vc={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"},_Me="js";function G$(){return typeof yt<"u"&&typeof yt.versions<"u"&&typeof yt.versions.node<"u"}function ay(){return!U6()&&!!F6()&&navigator.product===xMe}function cy(){return!G$()&&!!F6()&&!!U6()}function z6(){return ay()?Vc.reactNative:G$()?Vc.node:cy()?Vc.browser:Vc.unknown}function EMe(){var r;try{return ay()&&typeof dr<"u"&&typeof(dr==null?void 0:dr.Application)<"u"?(r=dr.Application)==null?void 0:r.applicationId:void 0}catch{return}}function AMe(r,e){let t=zd.parse(r);return t=Yoe(Yoe({},t),e),r=zd.stringify(t),r}function CMe(){return F$()||{name:"",description:"",url:"",icons:[""]}}function SMe(){if(z6()===Vc.reactNative&&typeof dr<"u"&&typeof(dr==null?void 0:dr.Platform)<"u"){const{OS:t,Version:n}=dr.Platform;return[t,n].join("-")}const r=Soe();if(r===null)return"unknown";const e=r.os?r.os.replace(" ","").toLowerCase():"unknown";return r.type==="browser"?[e,r.name,r.version].join("-"):[e,r.version].join("-")}function IMe(){var r;const e=z6();return e===Vc.browser?[e,((r=L$())==null?void 0:r.host)||"unknown"].join(":"):e}function TMe(r,e,t){const n=SMe(),i=IMe();return[[r,e].join("-"),[_Me,t].join("-"),n,i].join("/")}function RMe({protocol:r,version:e,relayUrl:t,sdkVersion:n,auth:i,projectId:s,useOnCloseEvent:o,bundleId:a}){const l=t.split("?"),u=TMe(r,e,n),h={auth:i,ua:u,projectId:s,useOnCloseEvent:o||void 0,origin:a||void 0},p=AMe(l[1]||"",h);return l[0]+"?"+p}function Om(r,e){return r.filter(t=>e.includes(t)).length===r.length}function Qoe(r){return Object.fromEntries(r.entries())}function Xoe(r){return new Map(Object.entries(r))}function ly(r=Ye.FIVE_MINUTES,e){const t=Ye.toMiliseconds(r||Ye.FIVE_MINUTES);let n,i,s;return{resolve:o=>{s&&n&&(clearTimeout(s),n(o))},reject:o=>{s&&i&&(clearTimeout(s),i(o))},done:()=>new Promise((o,a)=>{s=setTimeout(()=>{a(new Error(e))},t),n=o,i=a})}}function H6(r,e,t){return new Promise(async(n,i)=>{const s=setTimeout(()=>i(new Error(t)),e);try{const o=await r;n(o)}catch(o){i(o)}clearTimeout(s)})}function eae(r,e){if(typeof e=="string"&&e.startsWith(`${r}:`))return e;if(r.toLowerCase()==="topic"){if(typeof e!="string")throw new Error('Value must be "string" for expirer target type: topic');return`topic:${e}`}else if(r.toLowerCase()==="id"){if(typeof e!="number")throw new Error('Value must be "number" for expirer target type: id');return`id:${e}`}throw new Error(`Unknown expirer target type: ${r}`)}function kMe(r){return eae("topic",r)}function MMe(r){return eae("id",r)}function tae(r){const[e,t]=r.split(":"),n={id:void 0,topic:void 0};if(e==="topic"&&typeof t=="string")n.topic=t;else if(e==="id"&&Number.isInteger(Number(t)))n.id=Number(t);else throw new Error(`Invalid target, expected id:number or topic:string, got ${e}:${t}`);return n}function Gc(r,e){return Ye.fromMiliseconds((e||Date.now())+Ye.toMiliseconds(r))}function u1(r){return Date.now()>=Ye.toMiliseconds(r)}function Es(r,e){return`${r}${e?`:${e}`:""}`}function K$(r=[],e=[]){return[...new Set([...r,...e])]}async function NMe({id:r,topic:e,wcDeepLink:t}){try{if(!t)return;const n=typeof t=="string"?JSON.parse(t):t;let i=n==null?void 0:n.href;if(typeof i!="string")return;i.endsWith("/")&&(i=i.slice(0,-1));const s=`${i}/wc?requestId=${r}&sessionTopic=${e}`,o=z6();o===Vc.browser?s.startsWith("https://")?window.open(s,"_blank","noreferrer noopener"):window.open(s,"_self","noreferrer noopener"):o===Vc.reactNative&&typeof(dr==null?void 0:dr.Linking)<"u"&&await dr.Linking.openURL(s)}catch(n){console.error(n)}}async function PMe(r,e){try{return await r.getItem(e)||(cy()?localStorage.getItem(e):void 0)}catch(t){console.error(t)}}const OMe="irn";function Z$(r){return(r==null?void 0:r.relay)||{protocol:OMe}}function pS(r){const e=zoe[r];if(typeof e>"u")throw new Error(`Relay Protocol not supported: ${r}`);return e}var DMe=Object.defineProperty,$Me=Object.defineProperties,BMe=Object.getOwnPropertyDescriptors,rae=Object.getOwnPropertySymbols,LMe=Object.prototype.hasOwnProperty,UMe=Object.prototype.propertyIsEnumerable,nae=(r,e,t)=>e in r?DMe(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,FMe=(r,e)=>{for(var t in e||(e={}))LMe.call(e,t)&&nae(r,t,e[t]);if(rae)for(var t of rae(e))UMe.call(e,t)&&nae(r,t,e[t]);return r},jMe=(r,e)=>$Me(r,BMe(e));function zMe(r,e="-"){const t={},n="relay"+e;return Object.keys(r).forEach(i=>{if(i.startsWith(n)){const s=i.replace(n,""),o=r[i];t[s]=o}}),t}function iae(r){r=r.includes("wc://")?r.replace("wc://",""):r,r=r.includes("wc:")?r.replace("wc:",""):r;const e=r.indexOf(":"),t=r.indexOf("?")!==-1?r.indexOf("?"):void 0,n=r.substring(0,e),i=r.substring(e+1,t).split("@"),s=typeof t<"u"?r.substring(t):"",o=zd.parse(s);return{protocol:n,topic:HMe(i[0]),version:parseInt(i[1],10),symKey:o.symKey,relay:zMe(o),expiryTimestamp:o.expiryTimestamp?parseInt(o.expiryTimestamp,10):void 0}}function HMe(r){return r.startsWith("//")?r.substring(2):r}function qMe(r,e="-"){const t="relay",n={};return Object.keys(r).forEach(i=>{const s=t+e+i;r[i]&&(n[s]=r[i])}),n}function WMe(r){return`${r.protocol}:${r.topic}@${r.version}?`+zd.stringify(jMe(FMe({symKey:r.symKey},qMe(r.relay)),{expiryTimestamp:r.expiryTimestamp}))}function uy(r){const e=[];return r.forEach(t=>{const[n,i]=t.split(":");e.push(`${n}:${i}`)}),e}function VMe(r){const e=[];return Object.values(r).forEach(t=>{e.push(...uy(t.accounts))}),e}function GMe(r,e){const t=[];return Object.values(r).forEach(n=>{uy(n.accounts).includes(e)&&t.push(...n.methods)}),t}function KMe(r,e){const t=[];return Object.values(r).forEach(n=>{uy(n.accounts).includes(e)&&t.push(...n.events)}),t}function J$(r){return r.includes(":")}function q6(r){return J$(r)?r.split(":")[0]:r}const ZMe={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}},JMe={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 Wt(r,e){const{message:t,code:n}=JMe[r];return{message:e?`${t} ${e}`:t,code:n}}function Gi(r,e){const{message:t,code:n}=ZMe[r];return{message:e?`${t} ${e}`:t,code:n}}function pf(r,e){return Array.isArray(r)?typeof e<"u"&&r.length?r.every(e):!0:!1}function W6(r){return Object.getPrototypeOf(r)===Object.prototype&&Object.keys(r).length}function $a(r){return typeof r>"u"}function vo(r,e){return e&&$a(r)?!0:typeof r=="string"&&!!r.trim().length}function Y$(r,e){return e&&$a(r)?!0:typeof r=="number"&&!isNaN(r)}function YMe(r,e){const{requiredNamespaces:t}=e,n=Object.keys(r.namespaces),i=Object.keys(t);let s=!0;return Om(i,n)?(n.forEach(o=>{const{accounts:a,methods:l,events:u}=r.namespaces[o],h=uy(a),p=t[o];(!Om(Hoe(o,p),h)||!Om(p.methods,l)||!Om(p.events,u))&&(s=!1)}),s):!1}function gS(r){return vo(r,!1)&&r.includes(":")?r.split(":").length===2:!1}function QMe(r){if(vo(r,!1)&&r.includes(":")){const e=r.split(":");if(e.length===3){const t=e[0]+":"+e[1];return!!e[2]&&gS(t)}}return!1}function XMe(r){if(vo(r,!1))try{return typeof new URL(r)<"u"}catch{return!1}return!1}function eNe(r){var e;return(e=r==null?void 0:r.proposer)==null?void 0:e.publicKey}function tNe(r){return r==null?void 0:r.topic}function rNe(r,e){let t=null;return vo(r==null?void 0:r.publicKey,!1)||(t=Wt("MISSING_OR_INVALID",`${e} controller public key should be a string`)),t}function sae(r){let e=!0;return pf(r)?r.length&&(e=r.every(t=>vo(t,!1))):e=!1,e}function nNe(r,e,t){let n=null;return pf(e)&&e.length?e.forEach(i=>{n||gS(i)||(n=Gi("UNSUPPORTED_CHAINS",`${t}, chain ${i} should be a string and conform to "namespace:chainId" format`))}):gS(r)||(n=Gi("UNSUPPORTED_CHAINS",`${t}, 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"] }`)),n}function iNe(r,e,t){let n=null;return Object.entries(r).forEach(([i,s])=>{if(n)return;const o=nNe(i,Hoe(i,s),`${e} ${t}`);o&&(n=o)}),n}function sNe(r,e){let t=null;return pf(r)?r.forEach(n=>{t||QMe(n)||(t=Gi("UNSUPPORTED_ACCOUNTS",`${e}, account ${n} should be a string and conform to "namespace:chainId:address" format`))}):t=Gi("UNSUPPORTED_ACCOUNTS",`${e}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),t}function oNe(r,e){let t=null;return Object.values(r).forEach(n=>{if(t)return;const i=sNe(n==null?void 0:n.accounts,`${e} namespace`);i&&(t=i)}),t}function aNe(r,e){let t=null;return sae(r==null?void 0:r.methods)?sae(r==null?void 0:r.events)||(t=Gi("UNSUPPORTED_EVENTS",`${e}, events should be an array of strings or empty array for no events`)):t=Gi("UNSUPPORTED_METHODS",`${e}, methods should be an array of strings or empty array for no methods`),t}function oae(r,e){let t=null;return Object.values(r).forEach(n=>{if(t)return;const i=aNe(n,`${e}, namespace`);i&&(t=i)}),t}function cNe(r,e,t){let n=null;if(r&&W6(r)){const i=oae(r,e);i&&(n=i);const s=iNe(r,e,t);s&&(n=s)}else n=Wt("MISSING_OR_INVALID",`${e}, ${t} should be an object with data`);return n}function Q$(r,e){let t=null;if(r&&W6(r)){const n=oae(r,e);n&&(t=n);const i=oNe(r,e);i&&(t=i)}else t=Wt("MISSING_OR_INVALID",`${e}, namespaces should be an object with data`);return t}function aae(r){return vo(r.protocol,!0)}function lNe(r,e){let t=!1;return e&&!r?t=!0:r&&pf(r)&&r.length&&r.forEach(n=>{t=aae(n)}),t}function uNe(r){return typeof r=="number"}function pc(r){return typeof r<"u"&&typeof r!==null}function hNe(r){return!(!r||typeof r!="object"||!r.code||!Y$(r.code,!1)||!r.message||!vo(r.message,!1))}function fNe(r){return!($a(r)||!vo(r.method,!1))}function dNe(r){return!($a(r)||$a(r.result)&&$a(r.error)||!Y$(r.id,!1)||!vo(r.jsonrpc,!1))}function pNe(r){return!($a(r)||!vo(r.name,!1))}function cae(r,e){return!(!gS(e)||!VMe(r).includes(e))}function gNe(r,e,t){return vo(t,!1)?GMe(r,e).includes(t):!1}function mNe(r,e,t){return vo(t,!1)?KMe(r,e).includes(t):!1}function lae(r,e,t){let n=null;const i=bNe(r),s=wNe(e),o=Object.keys(i),a=Object.keys(s),l=uae(Object.keys(r)),u=uae(Object.keys(e)),h=l.filter(p=>!u.includes(p));return h.length&&(n=Wt("NON_CONFORMING_NAMESPACES",`${t} namespaces keys don't satisfy requiredNamespaces. Required: ${h.toString()} Received: ${Object.keys(e).toString()}`)),Om(o,a)||(n=Wt("NON_CONFORMING_NAMESPACES",`${t} namespaces chains don't satisfy required namespaces. Required: ${o.toString()} - Approved: ${a.toString()}`)),Object.keys(e).forEach(p=>{if(!p.includes(":")||n)return;const g=fy(e[p].accounts);g.includes(p)||(n=Wt("NON_CONFORMING_NAMESPACES",`${t} namespaces accounts don't satisfy namespace accounts for ${p} + Approved: ${a.toString()}`)),Object.keys(e).forEach(p=>{if(!p.includes(":")||n)return;const g=uy(e[p].accounts);g.includes(p)||(n=Wt("NON_CONFORMING_NAMESPACES",`${t} namespaces accounts don't satisfy namespace accounts for ${p} Required: ${p} - Approved: ${g.toString()}`))}),o.forEach(p=>{n||(Om(i[p].methods,s[p].methods)?Om(i[p].events,s[p].events)||(n=Wt("NON_CONFORMING_NAMESPACES",`${t} namespaces events don't satisfy namespace events for ${p}`)):n=Wt("NON_CONFORMING_NAMESPACES",`${t} namespaces methods don't satisfy namespace methods for ${p}`))}),n}function ONe(r){const e={};return Object.keys(r).forEach(t=>{var n;t.includes(":")?e[t]=r[t]:(n=r[t].chains)==null||n.forEach(i=>{e[i]={methods:r[t].methods,events:r[t].events}})}),e}function wae(r){return[...new Set(r.map(e=>e.includes(":")?e.split(":")[0]:e))]}function DNe(r){const e={};return Object.keys(r).forEach(t=>{if(t.includes(":"))e[t]=r[t];else{const n=fy(r[t].accounts);n==null||n.forEach(i=>{e[i]={accounts:r[t].accounts.filter(s=>s.includes(`${i}:`)),methods:r[t].methods,events:r[t].events}})}}),e}function $Ne(r,e){return Y$(r,!1)&&r<=e.max&&r>=e.min}function vae(){const r=W6();return new Promise(e=>{switch(r){case Wc.browser:e(BNe());break;case Wc.reactNative:e(LNe());break;case Wc.node:e(UNe());break;default:e(!0)}})}function BNe(){return uy()&&(navigator==null?void 0:navigator.onLine)}async function LNe(){if(ly()&&typeof dr<"u"&&dr!=null&&dr.NetInfo){const r=await(dr==null?void 0:dr.NetInfo.fetch());return r==null?void 0:r.isConnected}return!0}function UNe(){return!0}function FNe(r){switch(W6()){case Wc.browser:jNe(r);break;case Wc.reactNative:zNe(r);break}}function jNe(r){!ly()&&uy()&&(window.addEventListener("online",()=>r(!0)),window.addEventListener("offline",()=>r(!1)))}function zNe(r){ly()&&typeof dr<"u"&&dr!=null&&dr.NetInfo&&(dr==null||dr.NetInfo.addEventListener(e=>r(e==null?void 0:e.isConnected)))}const X$={};let hS=class{static get(e){return X$[e]}static set(e,t){X$[e]=t}static delete(e){delete X$[e]}};const HNe=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,qNe=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,WNe=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function VNe(r,e){if(r==="__proto__"||r==="constructor"&&e&&typeof e=="object"&&"prototype"in e){GNe(r);return}return e}function GNe(r){console.warn(`[destr] Dropping "${r}" key to prevent prototype pollution.`)}function fS(r,e={}){if(typeof r!="string")return r;const t=r.trim();if(r[0]==='"'&&r.endsWith('"')&&!r.includes("\\"))return t.slice(1,-1);if(t.length<=9){const n=t.toLowerCase();if(n==="true")return!0;if(n==="false")return!1;if(n==="undefined")return;if(n==="null")return null;if(n==="nan")return Number.NaN;if(n==="infinity")return Number.POSITIVE_INFINITY;if(n==="-infinity")return Number.NEGATIVE_INFINITY}if(!WNe.test(r)){if(e.strict)throw new SyntaxError("[destr] Invalid JSON");return r}try{if(HNe.test(r)||qNe.test(r)){if(e.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(r,VNe)}return JSON.parse(r)}catch(n){if(e.strict)throw n;return r}}function KNe(r){return!r||typeof r.then!="function"?Promise.resolve(r):r}function vo(r,...e){try{return KNe(r(...e))}catch(t){return Promise.reject(t)}}function ZNe(r){const e=typeof r;return r===null||e!=="object"&&e!=="function"}function JNe(r){const e=Object.getPrototypeOf(r);return!e||e.isPrototypeOf(Object)}function dS(r){if(ZNe(r))return String(r);if(JNe(r)||Array.isArray(r))return JSON.stringify(r);if(typeof r.toJSON=="function")return dS(r.toJSON());throw new Error("[unstorage] Cannot stringify value!")}function yae(){if(typeof $t===void 0)throw new TypeError("[unstorage] Buffer is not supported!")}const eB="base64:";function YNe(r){if(typeof r=="string")return r;yae();const e=$t.from(r).toString("base64");return eB+e}function QNe(r){return typeof r!="string"||!r.startsWith(eB)?r:(yae(),$t.from(r.slice(eB.length),"base64"))}function mc(r){return r?r.split("?")[0].replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,""):""}function XNe(...r){return mc(r.join(":"))}function pS(r){return r=mc(r),r?r+":":""}function Yat(r){return r}const ePe="memory",tPe=()=>{const r=new Map;return{name:ePe,options:{},hasItem(e){return r.has(e)},getItem(e){return r.get(e)??null},getItemRaw(e){return r.get(e)??null},setItem(e,t){r.set(e,t)},setItemRaw(e,t){r.set(e,t)},removeItem(e){r.delete(e)},getKeys(){return Array.from(r.keys())},clear(){r.clear()},dispose(){r.clear()}}};function rPe(r={}){const e={mounts:{"":r.driver||tPe()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},t=u=>{for(const h of e.mountpoints)if(u.startsWith(h))return{base:h,relativeKey:u.slice(h.length),driver:e.mounts[h]};return{base:"",relativeKey:u,driver:e.mounts[""]}},n=(u,h)=>e.mountpoints.filter(p=>p.startsWith(u)||h&&u.startsWith(p)).map(p=>({relativeBase:u.length>p.length?u.slice(p.length):void 0,mountpoint:p,driver:e.mounts[p]})),i=(u,h)=>{if(e.watching){h=mc(h);for(const p of e.watchListeners)p(u,h)}},s=async()=>{if(!e.watching){e.watching=!0;for(const u in e.mounts)e.unwatch[u]=await xae(e.mounts[u],i,u)}},o=async()=>{if(e.watching){for(const u in e.unwatch)await e.unwatch[u]();e.unwatch={},e.watching=!1}},a=(u,h,p)=>{const g=new Map,w=y=>{let C=g.get(y.base);return C||(C={driver:y.driver,base:y.base,items:[]},g.set(y.base,C)),C};for(const y of u){const C=typeof y=="string",R=mc(C?y:y.key),k=C?void 0:y.value,M=C||!y.options?h:{...h,...y.options},O=t(R);w(O).items.push({key:R,value:k,relativeKey:O.relativeKey,options:M})}return Promise.all([...g.values()].map(y=>p(y))).then(y=>y.flat())},l={hasItem(u,h={}){u=mc(u);const{relativeKey:p,driver:g}=t(u);return vo(g.hasItem,p,h)},getItem(u,h={}){u=mc(u);const{relativeKey:p,driver:g}=t(u);return vo(g.getItem,p,h).then(w=>fS(w))},getItems(u,h){return a(u,h,p=>p.driver.getItems?vo(p.driver.getItems,p.items.map(g=>({key:g.relativeKey,options:g.options})),h).then(g=>g.map(w=>({key:XNe(p.base,w.key),value:fS(w.value)}))):Promise.all(p.items.map(g=>vo(p.driver.getItem,g.relativeKey,g.options).then(w=>({key:g.key,value:fS(w)})))))},getItemRaw(u,h={}){u=mc(u);const{relativeKey:p,driver:g}=t(u);return g.getItemRaw?vo(g.getItemRaw,p,h):vo(g.getItem,p,h).then(w=>QNe(w))},async setItem(u,h,p={}){if(h===void 0)return l.removeItem(u);u=mc(u);const{relativeKey:g,driver:w}=t(u);w.setItem&&(await vo(w.setItem,g,dS(h),p),w.watch||i("update",u))},async setItems(u,h){await a(u,h,async p=>{if(p.driver.setItems)return vo(p.driver.setItems,p.items.map(g=>({key:g.relativeKey,value:dS(g.value),options:g.options})),h);p.driver.setItem&&await Promise.all(p.items.map(g=>vo(p.driver.setItem,g.relativeKey,dS(g.value),g.options)))})},async setItemRaw(u,h,p={}){if(h===void 0)return l.removeItem(u,p);u=mc(u);const{relativeKey:g,driver:w}=t(u);if(w.setItemRaw)await vo(w.setItemRaw,g,h,p);else if(w.setItem)await vo(w.setItem,g,YNe(h),p);else return;w.watch||i("update",u)},async removeItem(u,h={}){typeof h=="boolean"&&(h={removeMeta:h}),u=mc(u);const{relativeKey:p,driver:g}=t(u);g.removeItem&&(await vo(g.removeItem,p,h),(h.removeMeta||h.removeMata)&&await vo(g.removeItem,p+"$",h),g.watch||i("remove",u))},async getMeta(u,h={}){typeof h=="boolean"&&(h={nativeOnly:h}),u=mc(u);const{relativeKey:p,driver:g}=t(u),w=Object.create(null);if(g.getMeta&&Object.assign(w,await vo(g.getMeta,p,h)),!h.nativeOnly){const y=await vo(g.getItem,p+"$",h).then(C=>fS(C));y&&typeof y=="object"&&(typeof y.atime=="string"&&(y.atime=new Date(y.atime)),typeof y.mtime=="string"&&(y.mtime=new Date(y.mtime)),Object.assign(w,y))}return w},setMeta(u,h,p={}){return this.setItem(u+"$",h,p)},removeMeta(u,h={}){return this.removeItem(u+"$",h)},async getKeys(u,h={}){u=pS(u);const p=n(u,!0);let g=[];const w=[];for(const y of p){const R=(await vo(y.driver.getKeys,y.relativeBase,h)).map(k=>y.mountpoint+mc(k)).filter(k=>!g.some(M=>k.startsWith(M)));w.push(...R),g=[y.mountpoint,...g.filter(k=>!k.startsWith(y.mountpoint))]}return u?w.filter(y=>y.startsWith(u)&&!y.endsWith("$")):w.filter(y=>!y.endsWith("$"))},async clear(u,h={}){u=pS(u),await Promise.all(n(u,!1).map(async p=>{if(p.driver.clear)return vo(p.driver.clear,p.relativeBase,h);if(p.driver.removeItem){const g=await p.driver.getKeys(p.relativeBase||"",h);return Promise.all(g.map(w=>p.driver.removeItem(w,h)))}}))},async dispose(){await Promise.all(Object.values(e.mounts).map(u=>_ae(u)))},async watch(u){return await s(),e.watchListeners.push(u),async()=>{e.watchListeners=e.watchListeners.filter(h=>h!==u),e.watchListeners.length===0&&await o()}},async unwatch(){e.watchListeners=[],await o()},mount(u,h){if(u=pS(u),u&&e.mounts[u])throw new Error(`already mounted at ${u}`);return u&&(e.mountpoints.push(u),e.mountpoints.sort((p,g)=>g.length-p.length)),e.mounts[u]=h,e.watching&&Promise.resolve(xae(h,i,u)).then(p=>{e.unwatch[u]=p}).catch(console.error),l},async unmount(u,h=!0){u=pS(u),!(!u||!e.mounts[u])&&(e.watching&&u in e.unwatch&&(e.unwatch[u](),delete e.unwatch[u]),h&&await _ae(e.mounts[u]),e.mountpoints=e.mountpoints.filter(p=>p!==u),delete e.mounts[u])},getMount(u=""){u=mc(u)+":";const h=t(u);return{driver:h.driver,base:h.base}},getMounts(u="",h={}){return u=mc(u),n(u,h.parents).map(g=>({driver:g.driver,base:g.mountpoint}))}};return l}function xae(r,e,t){return r.watch?r.watch((n,i)=>e(n,t+i)):()=>{}}async function _ae(r){typeof r.dispose=="function"&&await vo(r.dispose)}function Dm(r){return new Promise((e,t)=>{r.oncomplete=r.onsuccess=()=>e(r.result),r.onabort=r.onerror=()=>t(r.error)})}function Eae(r,e){const t=indexedDB.open(r);t.onupgradeneeded=()=>t.result.createObjectStore(e);const n=Dm(t);return(i,s)=>n.then(o=>s(o.transaction(e,i).objectStore(e)))}let tB;function Z6(){return tB||(tB=Eae("keyval-store","keyval")),tB}function Aae(r,e=Z6()){return e("readonly",t=>Dm(t.get(r)))}function nPe(r,e,t=Z6()){return t("readwrite",n=>(n.put(e,r),Dm(n.transaction)))}function iPe(r,e=Z6()){return e("readwrite",t=>(t.delete(r),Dm(t.transaction)))}function sPe(r=Z6()){return r("readwrite",e=>(e.clear(),Dm(e.transaction)))}function oPe(r,e){return r.openCursor().onsuccess=function(){this.result&&(e(this.result),this.result.continue())},Dm(r.transaction)}function aPe(r=Z6()){return r("readonly",e=>{if(e.getAllKeys)return Dm(e.getAllKeys());const t=[];return oPe(e,n=>t.push(n.key)).then(()=>t)})}const cPe=r=>JSON.stringify(r,(e,t)=>typeof t=="bigint"?t.toString()+"n":t),lPe=r=>{const e=/([\[:])?(\d{17,}|(?:[9](?:[1-9]07199254740991|0[1-9]7199254740991|00[8-9]199254740991|007[2-9]99254740991|007199[3-9]54740991|0071992[6-9]4740991|00719925[5-9]740991|007199254[8-9]40991|0071992547[5-9]0991|00719925474[1-9]991|00719925474099[2-9])))([,\}\]])/g,t=r.replace(e,'$1"$2n"$3');return JSON.parse(t,(n,i)=>typeof i=="string"&&i.match(/^\d+n$/)?BigInt(i.substring(0,i.length-1)):i)};function dy(r){if(typeof r!="string")throw new Error(`Cannot safe json parse value of type ${typeof r}`);try{return lPe(r)}catch{return r}}function gf(r){return typeof r=="string"?r:cPe(r)||""}const uPe="idb-keyval";var hPe=(r={})=>{const e=r.base&&r.base.length>0?`${r.base}:`:"",t=i=>e+i;let n;return r.dbName&&r.storeName&&(n=Eae(r.dbName,r.storeName)),{name:uPe,options:r,async hasItem(i){return!(typeof await Aae(t(i),n)>"u")},async getItem(i){return await Aae(t(i),n)??null},setItem(i,s){return nPe(t(i),s,n)},removeItem(i){return iPe(t(i),n)},getKeys(){return aPe(n)},clear(){return sPe(n)}}};const fPe="WALLET_CONNECT_V2_INDEXED_DB",dPe="keyvaluestorage";let pPe=class{constructor(){this.indexedDb=rPe({driver:hPe({dbName:fPe,storeName:dPe})})}async getKeys(){return this.indexedDb.getKeys()}async getEntries(){return(await this.indexedDb.getItems(await this.indexedDb.getKeys())).map(e=>[e.key,e.value])}async getItem(e){const t=await this.indexedDb.getItem(e);if(t!==null)return t}async setItem(e,t){await this.indexedDb.setItem(e,gf(t))}async removeItem(e){await this.indexedDb.removeItem(e)}};var rB=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof dr<"u"?dr:typeof self<"u"?self:{},gS={exports:{}};(function(){let r;function e(){}r=e,r.prototype.getItem=function(t){return this.hasOwnProperty(t)?String(this[t]):null},r.prototype.setItem=function(t,n){this[t]=String(n)},r.prototype.removeItem=function(t){delete this[t]},r.prototype.clear=function(){const t=this;Object.keys(t).forEach(function(n){t[n]=void 0,delete t[n]})},r.prototype.key=function(t){return t=t||0,Object.keys(this)[t]},r.prototype.__defineGetter__("length",function(){return Object.keys(this).length}),typeof rB<"u"&&rB.localStorage?gS.exports=rB.localStorage:typeof window<"u"&&window.localStorage?gS.exports=window.localStorage:gS.exports=new e})();function gPe(r){var e;return[r[0],dy((e=r[1])!=null?e:"")]}let mPe=class{constructor(){this.localStorage=gS.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(gPe)}async getItem(e){const t=this.localStorage.getItem(e);if(t!==null)return dy(t)}async setItem(e,t){this.localStorage.setItem(e,gf(t))}async removeItem(e){this.localStorage.removeItem(e)}};const bPe="wc_storage_version",Cae=1,wPe=async(r,e,t)=>{const n=bPe,i=await e.getItem(n);if(i&&i>=Cae){t(e);return}const s=await r.getKeys();if(!s.length){t(e);return}const o=[];for(;s.length;){const a=s.shift();if(!a)continue;const l=a.toLowerCase();if(l.includes("wc@")||l.includes("walletconnect")||l.includes("wc_")||l.includes("wallet_connect")){const u=await r.getItem(a);await e.setItem(a,u),o.push(a)}}await e.setItem(n,Cae),t(e),vPe(r,o)},vPe=async(r,e)=>{e.length&&e.forEach(async t=>{await r.removeItem(t)})};let Sae=class{constructor(){this.initialized=!1,this.setInitialized=t=>{this.storage=t,this.initialized=!0};const e=new mPe;this.storage=e;try{const t=new pPe;wPe(e,t,this.setInitialized)}catch{this.initialized=!0}}async getKeys(){return await this.initialize(),this.storage.getKeys()}async getEntries(){return await this.initialize(),this.storage.getEntries()}async getItem(e){return await this.initialize(),this.storage.getItem(e)}async setItem(e,t){return await this.initialize(),this.storage.setItem(e,t)}async removeItem(e){return await this.initialize(),this.storage.removeItem(e)}async initialize(){this.initialized||await new Promise(e=>{const t=setInterval(()=>{this.initialized&&(clearInterval(t),e())},20)})}};var Ku={},J6={},nB={},Y6={};let Gc=class{};const yPe=sd(Object.freeze(Object.defineProperty({__proto__:null,IEvents:Gc},Symbol.toStringTag,{value:"Module"})));var Iae;function xPe(){if(Iae)return Y6;Iae=1,Object.defineProperty(Y6,"__esModule",{value:!0}),Y6.IHeartBeat=void 0;const r=yPe;class e extends r.IEvents{constructor(n){super()}}return Y6.IHeartBeat=e,Y6}var Rae;function Tae(){return Rae||(Rae=1,function(r){Object.defineProperty(r,"__esModule",{value:!0}),jd.__exportStar(xPe(),r)}(nB)),nB}var iB={},$m={},kae;function _Pe(){if(kae)return $m;kae=1,Object.defineProperty($m,"__esModule",{value:!0}),$m.HEARTBEAT_EVENTS=$m.HEARTBEAT_INTERVAL=void 0;const r=Ye;return $m.HEARTBEAT_INTERVAL=r.FIVE_SECONDS,$m.HEARTBEAT_EVENTS={pulse:"heartbeat_pulse"},$m}var Mae;function Nae(){return Mae||(Mae=1,function(r){Object.defineProperty(r,"__esModule",{value:!0}),jd.__exportStar(_Pe(),r)}(iB)),iB}var Pae;function EPe(){if(Pae)return J6;Pae=1,Object.defineProperty(J6,"__esModule",{value:!0}),J6.HeartBeat=void 0;const r=jd,e=fi,t=Ye,n=Tae(),i=Nae();class s extends n.IHeartBeat{constructor(a){super(a),this.events=new e.EventEmitter,this.interval=i.HEARTBEAT_INTERVAL,this.interval=(a==null?void 0:a.interval)||i.HEARTBEAT_INTERVAL}static init(a){return r.__awaiter(this,void 0,void 0,function*(){const l=new s(a);return yield l.init(),l})}init(){return r.__awaiter(this,void 0,void 0,function*(){yield this.initialize()})}stop(){clearInterval(this.intervalRef)}on(a,l){this.events.on(a,l)}once(a,l){this.events.once(a,l)}off(a,l){this.events.off(a,l)}removeListener(a,l){this.events.removeListener(a,l)}initialize(){return r.__awaiter(this,void 0,void 0,function*(){this.intervalRef=setInterval(()=>this.pulse(),t.toMiliseconds(this.interval))})}pulse(){this.events.emit(i.HEARTBEAT_EVENTS.pulse)}}return J6.HeartBeat=s,J6}(function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=jd;e.__exportStar(EPe(),r),e.__exportStar(Tae(),r),e.__exportStar(Nae(),r)})(Ku);function APe(r){try{return JSON.stringify(r)}catch{return'"[Circular]"'}}var CPe=SPe;function SPe(r,e,t){var n=t&&t.stringify||APe,i=1;if(typeof r=="object"&&r!==null){var s=e.length+i;if(s===1)return r;var o=new Array(s);o[0]=n(r);for(var a=1;a-1?p:0,r.charCodeAt(w+1)){case 100:case 102:if(h>=l||e[h]==null)break;p=l||e[h]==null)break;p=l||e[h]===void 0)break;p",p=w+2,w++;break}u+=n(e[h]),p=w+2,w++;break;case 115:if(h>=l)break;p-1&&(s=!1);const o=["error","fatal","warn","info","debug","trace"];typeof t=="function"&&(t.error=t.fatal=t.warn=t.info=t.debug=t.trace=t),r.enabled===!1&&(r.level="silent");const a=r.level||"info",l=Object.create(t);l.log||(l.log=X6),Object.defineProperty(l,"levelVal",{get:h}),Object.defineProperty(l,"level",{get:p,set:g});const u={transmit:e,serialize:i,asObject:r.browser.asObject,levels:o,timestamp:PPe(r)};l.levels=mf.levels,l.level=a,l.setMaxListeners=l.getMaxListeners=l.emit=l.addListener=l.on=l.prependListener=l.once=l.prependOnceListener=l.removeListener=l.removeAllListeners=l.listeners=l.listenerCount=l.eventNames=l.write=l.flush=X6,l.serializers=n,l._serialize=i,l._stdErrSerialize=s,l.child=w,e&&(l._logEvent=sB());function h(){return this.level==="silent"?1/0:this.levels.values[this.level]}function p(){return this._level}function g(y){if(y!=="silent"&&!this.levels.values[y])throw Error("unknown level "+y);this._level=y,gy(u,l,"error","log"),gy(u,l,"fatal","error"),gy(u,l,"warn","error"),gy(u,l,"info","log"),gy(u,l,"debug","log"),gy(u,l,"trace","log")}function w(y,C){if(!y)throw new Error("missing bindings for child Pino");C=C||{},i&&y.serializers&&(C.serializers=y.serializers);const R=C.serializers;if(i&&R){var k=Object.assign({},n,R),M=r.browser.serialize===!0?Object.keys(k):i;delete y.serializers,mS([y],M,k,this._stdErrSerialize)}function O(B){this._childLevel=(B._childLevel|0)+1,this.error=my(B,y,"error"),this.fatal=my(B,y,"fatal"),this.warn=my(B,y,"warn"),this.info=my(B,y,"info"),this.debug=my(B,y,"debug"),this.trace=my(B,y,"trace"),k&&(this.serializers=k,this._serialize=M),e&&(this._logEvent=sB([].concat(B._logEvent.bindings,y)))}return O.prototype=this,new O(this)}return l}mf.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"}},mf.stdSerializers=IPe,mf.stdTimeFunctions=Object.assign({},{nullTime:Dae,epochTime:$ae,unixTime:OPe,isoTime:DPe});function gy(r,e,t,n){const i=Object.getPrototypeOf(e);e[t]=e.levelVal>e.levels.values[t]?X6:i[t]?i[t]:Q6[t]||Q6[n]||X6,TPe(r,e,t)}function TPe(r,e,t){!r.transmit&&e[t]===X6||(e[t]=function(n){return function(){const s=r.timestamp(),o=new Array(arguments.length),a=Object.getPrototypeOf&&Object.getPrototypeOf(this)===Q6?Q6:this;for(var l=0;l-1&&s in t&&(r[i][s]=t[s](r[i][s]))}function my(r,e,t){return function(){const n=new Array(1+arguments.length);n[0]=e;for(var i=1;ithis.maxSizeInBytes)throw new 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.tail=t):(this.head=t,this.tail=t),this.lengthInNodes++,this.sizeInBytes+=t.size}shift(){if(!this.head)return;const e=this.head;this.head=this.head.next,this.head||(this.tail=null),this.lengthInNodes--,this.sizeInBytes-=e.size}toArray(){const e=[];let t=this.head;for(;t!==null;)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};const t=e.value;return e=e.next,{done:!1,value:t}}}}},Lae=class{constructor(e,t=aB){this.level=e??"error",this.levelValue=py.levels.values[this.level],this.MAX_LOG_SIZE_IN_BYTES=t,this.logs=new Bae(this.MAX_LOG_SIZE_IN_BYTES)}forwardToConsole(e,t){t===py.levels.values.error?console.error(e):t===py.levels.values.warn?console.warn(e):t===py.levels.values.debug?console.debug(e):t===py.levels.values.trace?console.trace(e):console.log(e)}appendToLogs(e){this.logs.append(gf({timestamp:new Date().toISOString(),log:e}));const t=typeof e=="string"?JSON.parse(e).level:e.level;t>=this.levelValue&&this.forwardToConsole(e,t)}getLogs(){return this.logs}clearLogs(){this.logs=new Bae(this.MAX_LOG_SIZE_IN_BYTES)}getLogArray(){return Array.from(this.logs)}logsToBlob(e){const t=this.getLogArray();return t.push(gf({extraMetadata:e})),new Blob(t,{type:"application/json"})}},UPe=class{constructor(e,t=aB){this.baseChunkLogger=new Lae(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){const t=URL.createObjectURL(this.logsToBlob(e)),n=document.createElement("a");n.href=t,n.download=`walletconnect-logs-${new Date().toISOString()}.txt`,document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(t)}},FPe=class{constructor(e,t=aB){this.baseChunkLogger=new Lae(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 jPe=Object.defineProperty,zPe=Object.defineProperties,HPe=Object.getOwnPropertyDescriptors,Uae=Object.getOwnPropertySymbols,qPe=Object.prototype.hasOwnProperty,WPe=Object.prototype.propertyIsEnumerable,Fae=(r,e,t)=>e in r?jPe(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,wS=(r,e)=>{for(var t in e||(e={}))qPe.call(e,t)&&Fae(r,t,e[t]);if(Uae)for(var t of Uae(e))WPe.call(e,t)&&Fae(r,t,e[t]);return r},vS=(r,e)=>zPe(r,HPe(e));function p1(r){return vS(wS({},r),{level:(r==null?void 0:r.level)||BPe.level})}function VPe(r,e=e8){return r[e]||""}function GPe(r,e,t=e8){return r[t]=e,r}function yi(r,e=e8){let t="";return typeof r.bindings>"u"?t=VPe(r,e):t=r.bindings().context||"",t}function KPe(r,e,t=e8){const n=yi(r,t);return n.trim()?`${n}/${e}`:e}function pi(r,e,t=e8){const n=KPe(r,e,t),i=r.child({context:n});return GPe(i,n,t)}function ZPe(r){var e,t;const n=new UPe((e=r.opts)==null?void 0:e.level,r.maxSizeInBytes);return{logger:Hd(vS(wS({},r.opts),{level:"trace",browser:vS(wS({},(t=r.opts)==null?void 0:t.browser),{write:i=>n.write(i)})})),chunkLoggerController:n}}function JPe(r){var e;const t=new FPe((e=r.opts)==null?void 0:e.level,r.maxSizeInBytes);return{logger:Hd(vS(wS({},r.opts),{level:"trace"}),t),chunkLoggerController:t}}function YPe(r){return typeof r.loggerOverride<"u"&&typeof r.loggerOverride!="string"?{logger:r.loggerOverride,chunkLoggerController:null}:typeof window<"u"?ZPe(r):JPe(r)}let QPe=class extends Gc{constructor(e){super(),this.opts=e,this.protocol="wc",this.version=2}},XPe=class extends Gc{constructor(e,t){super(),this.core=e,this.logger=t,this.records=new Map}},eOe=class{constructor(e,t){this.logger=e,this.core=t}},tOe=class extends Gc{constructor(e,t){super(),this.relayer=e,this.logger=t}},rOe=class extends Gc{constructor(e){super()}},nOe=class{constructor(e,t,n,i){this.core=e,this.logger=t,this.name=n}},iOe=class extends Gc{constructor(e,t){super(),this.relayer=e,this.logger=t}},sOe=class extends Gc{constructor(e,t){super(),this.core=e,this.logger=t}},oOe=class{constructor(e,t){this.projectId=e,this.logger=t}},aOe=class{constructor(e,t){this.projectId=e,this.logger=t}},cOe=class{constructor(e){this.opts=e,this.protocol="wc",this.version=2}},lOe=class{constructor(e){this.client=e}};var cB={},jae={};(function(r){Object.defineProperty(r,"__esModule",{value:!0});var e=Gr,t=zc;r.DIGEST_LENGTH=64,r.BLOCK_SIZE=128;var n=function(){function a(){this.digestLength=r.DIGEST_LENGTH,this.blockSize=r.BLOCK_SIZE,this._stateHi=new Int32Array(8),this._stateLo=new Int32Array(8),this._tempHi=new Int32Array(16),this._tempLo=new Int32Array(16),this._buffer=new Uint8Array(256),this._bufferLength=0,this._bytesHashed=0,this._finished=!1,this.reset()}return a.prototype._initState=function(){this._stateHi[0]=1779033703,this._stateHi[1]=3144134277,this._stateHi[2]=1013904242,this._stateHi[3]=2773480762,this._stateHi[4]=1359893119,this._stateHi[5]=2600822924,this._stateHi[6]=528734635,this._stateHi[7]=1541459225,this._stateLo[0]=4089235720,this._stateLo[1]=2227873595,this._stateLo[2]=4271175723,this._stateLo[3]=1595750129,this._stateLo[4]=2917565137,this._stateLo[5]=725511199,this._stateLo[6]=4215389547,this._stateLo[7]=327033209},a.prototype.reset=function(){return this._initState(),this._bufferLength=0,this._bytesHashed=0,this._finished=!1,this},a.prototype.clean=function(){t.wipe(this._buffer),t.wipe(this._tempHi),t.wipe(this._tempLo),this.reset()},a.prototype.update=function(l,u){if(u===void 0&&(u=l.length),this._finished)throw new Error("SHA512: can't update because hash was finished.");var h=0;if(this._bytesHashed+=u,this._bufferLength>0){for(;this._bufferLength0;)this._buffer[this._bufferLength++]=l[h++],u--;this._bufferLength===this.blockSize&&(s(this._tempHi,this._tempLo,this._stateHi,this._stateLo,this._buffer,0,this.blockSize),this._bufferLength=0)}for(u>=this.blockSize&&(h=s(this._tempHi,this._tempLo,this._stateHi,this._stateLo,l,h,u),u%=this.blockSize);u>0;)this._buffer[this._bufferLength++]=l[h++],u--;return this},a.prototype.finish=function(l){if(!this._finished){var u=this._bytesHashed,h=this._bufferLength,p=u/536870912|0,g=u<<3,w=u%128<112?128:256;this._buffer[h]=128;for(var y=h+1;y0?new Uint8Array(this._buffer):void 0,bufferLength:this._bufferLength,bytesHashed:this._bytesHashed}},a.prototype.restoreState=function(l){return this._stateHi.set(l.stateHi),this._stateLo.set(l.stateLo),this._bufferLength=l.bufferLength,l.buffer&&this._buffer.set(l.buffer),this._bytesHashed=l.bytesHashed,this._finished=!1,this},a.prototype.cleanSavedState=function(l){t.wipe(l.stateHi),t.wipe(l.stateLo),l.buffer&&t.wipe(l.buffer),l.bufferLength=0,l.bytesHashed=0},a}();r.SHA512=n;var i=new Int32Array([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,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591]);function s(a,l,u,h,p,g,w){for(var y=u[0],C=u[1],R=u[2],k=u[3],M=u[4],O=u[5],B=u[6],j=u[7],G=h[0],D=h[1],$=h[2],V=h[3],te=h[4],W=h[5],P=h[6],b=h[7],d,m,x,A,I,T,S,E;w>=128;){for(var _=0;_<16;_++){var U=8*_+g;a[_]=e.readUint32BE(p,U),l[_]=e.readUint32BE(p,U+4)}for(var _=0;_<80;_++){var ie=y,q=C,Y=R,K=k,ee=M,re=O,z=B,L=j,H=G,le=D,de=$,Se=V,Me=te,ke=W,Ke=P,Te=b;if(d=j,m=b,I=m&65535,T=m>>>16,S=d&65535,E=d>>>16,d=(M>>>14|te<<18)^(M>>>18|te<<14)^(te>>>9|M<<23),m=(te>>>14|M<<18)^(te>>>18|M<<14)^(M>>>9|te<<23),I+=m&65535,T+=m>>>16,S+=d&65535,E+=d>>>16,d=M&O^~M&B,m=te&W^~te&P,I+=m&65535,T+=m>>>16,S+=d&65535,E+=d>>>16,d=i[_*2],m=i[_*2+1],I+=m&65535,T+=m>>>16,S+=d&65535,E+=d>>>16,d=a[_%16],m=l[_%16],I+=m&65535,T+=m>>>16,S+=d&65535,E+=d>>>16,T+=I>>>16,S+=T>>>16,E+=S>>>16,x=S&65535|E<<16,A=I&65535|T<<16,d=x,m=A,I=m&65535,T=m>>>16,S=d&65535,E=d>>>16,d=(y>>>28|G<<4)^(G>>>2|y<<30)^(G>>>7|y<<25),m=(G>>>28|y<<4)^(y>>>2|G<<30)^(y>>>7|G<<25),I+=m&65535,T+=m>>>16,S+=d&65535,E+=d>>>16,d=y&C^y&R^C&R,m=G&D^G&$^D&$,I+=m&65535,T+=m>>>16,S+=d&65535,E+=d>>>16,T+=I>>>16,S+=T>>>16,E+=S>>>16,L=S&65535|E<<16,Te=I&65535|T<<16,d=K,m=Se,I=m&65535,T=m>>>16,S=d&65535,E=d>>>16,d=x,m=A,I+=m&65535,T+=m>>>16,S+=d&65535,E+=d>>>16,T+=I>>>16,S+=T>>>16,E+=S>>>16,K=S&65535|E<<16,Se=I&65535|T<<16,C=ie,R=q,k=Y,M=K,O=ee,B=re,j=z,y=L,D=H,$=le,V=de,te=Se,W=Me,P=ke,b=Ke,G=Te,_%16===15)for(var U=0;U<16;U++)d=a[U],m=l[U],I=m&65535,T=m>>>16,S=d&65535,E=d>>>16,d=a[(U+9)%16],m=l[(U+9)%16],I+=m&65535,T+=m>>>16,S+=d&65535,E+=d>>>16,x=a[(U+1)%16],A=l[(U+1)%16],d=(x>>>1|A<<31)^(x>>>8|A<<24)^x>>>7,m=(A>>>1|x<<31)^(A>>>8|x<<24)^(A>>>7|x<<25),I+=m&65535,T+=m>>>16,S+=d&65535,E+=d>>>16,x=a[(U+14)%16],A=l[(U+14)%16],d=(x>>>19|A<<13)^(A>>>29|x<<3)^x>>>6,m=(A>>>19|x<<13)^(x>>>29|A<<3)^(A>>>6|x<<26),I+=m&65535,T+=m>>>16,S+=d&65535,E+=d>>>16,T+=I>>>16,S+=T>>>16,E+=S>>>16,a[U]=S&65535|E<<16,l[U]=I&65535|T<<16}d=y,m=G,I=m&65535,T=m>>>16,S=d&65535,E=d>>>16,d=u[0],m=h[0],I+=m&65535,T+=m>>>16,S+=d&65535,E+=d>>>16,T+=I>>>16,S+=T>>>16,E+=S>>>16,u[0]=y=S&65535|E<<16,h[0]=G=I&65535|T<<16,d=C,m=D,I=m&65535,T=m>>>16,S=d&65535,E=d>>>16,d=u[1],m=h[1],I+=m&65535,T+=m>>>16,S+=d&65535,E+=d>>>16,T+=I>>>16,S+=T>>>16,E+=S>>>16,u[1]=C=S&65535|E<<16,h[1]=D=I&65535|T<<16,d=R,m=$,I=m&65535,T=m>>>16,S=d&65535,E=d>>>16,d=u[2],m=h[2],I+=m&65535,T+=m>>>16,S+=d&65535,E+=d>>>16,T+=I>>>16,S+=T>>>16,E+=S>>>16,u[2]=R=S&65535|E<<16,h[2]=$=I&65535|T<<16,d=k,m=V,I=m&65535,T=m>>>16,S=d&65535,E=d>>>16,d=u[3],m=h[3],I+=m&65535,T+=m>>>16,S+=d&65535,E+=d>>>16,T+=I>>>16,S+=T>>>16,E+=S>>>16,u[3]=k=S&65535|E<<16,h[3]=V=I&65535|T<<16,d=M,m=te,I=m&65535,T=m>>>16,S=d&65535,E=d>>>16,d=u[4],m=h[4],I+=m&65535,T+=m>>>16,S+=d&65535,E+=d>>>16,T+=I>>>16,S+=T>>>16,E+=S>>>16,u[4]=M=S&65535|E<<16,h[4]=te=I&65535|T<<16,d=O,m=W,I=m&65535,T=m>>>16,S=d&65535,E=d>>>16,d=u[5],m=h[5],I+=m&65535,T+=m>>>16,S+=d&65535,E+=d>>>16,T+=I>>>16,S+=T>>>16,E+=S>>>16,u[5]=O=S&65535|E<<16,h[5]=W=I&65535|T<<16,d=B,m=P,I=m&65535,T=m>>>16,S=d&65535,E=d>>>16,d=u[6],m=h[6],I+=m&65535,T+=m>>>16,S+=d&65535,E+=d>>>16,T+=I>>>16,S+=T>>>16,E+=S>>>16,u[6]=B=S&65535|E<<16,h[6]=P=I&65535|T<<16,d=j,m=b,I=m&65535,T=m>>>16,S=d&65535,E=d>>>16,d=u[7],m=h[7],I+=m&65535,T+=m>>>16,S+=d&65535,E+=d>>>16,T+=I>>>16,S+=T>>>16,E+=S>>>16,u[7]=j=S&65535|E<<16,h[7]=b=I&65535|T<<16,g+=128,w-=128}return g}function o(a){var l=new n;l.update(a);var u=l.digest();return l.clean(),u}r.hash=o})(jae),function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.convertSecretKeyToX25519=r.convertPublicKeyToX25519=r.verify=r.sign=r.extractPublicKeyFromSecretKey=r.generateKeyPair=r.generateKeyPairFromSeed=r.SEED_LENGTH=r.SECRET_KEY_LENGTH=r.PUBLIC_KEY_LENGTH=r.SIGNATURE_LENGTH=void 0;const e=h1,t=jae,n=zc;r.SIGNATURE_LENGTH=64,r.PUBLIC_KEY_LENGTH=32,r.SECRET_KEY_LENGTH=64,r.SEED_LENGTH=32;function i(K){const ee=new Float64Array(16);if(K)for(let re=0;re>16&1),re[le-1]&=65535;re[15]=z[15]-32767-(re[14]>>16&1);const H=re[15]>>16&1;re[14]&=65535,C(z,re,1-H)}for(let L=0;L<16;L++)K[2*L]=z[L]&255,K[2*L+1]=z[L]>>8}function k(K,ee){let re=0;for(let z=0;z<32;z++)re|=K[z]^ee[z];return(1&re-1>>>8)-1}function M(K,ee){const re=new Uint8Array(32),z=new Uint8Array(32);return R(re,K),R(z,ee),k(re,z)}function O(K){const ee=new Uint8Array(32);return R(ee,K),ee[0]&1}function B(K,ee){for(let re=0;re<16;re++)K[re]=ee[2*re]+(ee[2*re+1]<<8);K[15]&=32767}function j(K,ee,re){for(let z=0;z<16;z++)K[z]=ee[z]+re[z]}function G(K,ee,re){for(let z=0;z<16;z++)K[z]=ee[z]-re[z]}function D(K,ee,re){let z,L,H=0,le=0,de=0,Se=0,Me=0,ke=0,Ke=0,Te=0,je=0,De=0,Je=0,ze=0,qe=0,Ve=0,He=0,Be=0,Ge=0,Xe=0,se=0,J=0,Q=0,ue=0,we=0,ye=0,Ie=0,it=0,ot=0,tt=0,It=0,st=0,Nt=0,Lt=re[0],ht=re[1],wt=re[2],Ut=re[3],ft=re[4],dt=re[5],Vt=re[6],xt=re[7],pt=re[8],Gt=re[9],gt=re[10],vt=re[11],Ft=re[12],lt=re[13],_t=re[14],Kt=re[15];z=ee[0],H+=z*Lt,le+=z*ht,de+=z*wt,Se+=z*Ut,Me+=z*ft,ke+=z*dt,Ke+=z*Vt,Te+=z*xt,je+=z*pt,De+=z*Gt,Je+=z*gt,ze+=z*vt,qe+=z*Ft,Ve+=z*lt,He+=z*_t,Be+=z*Kt,z=ee[1],le+=z*Lt,de+=z*ht,Se+=z*wt,Me+=z*Ut,ke+=z*ft,Ke+=z*dt,Te+=z*Vt,je+=z*xt,De+=z*pt,Je+=z*Gt,ze+=z*gt,qe+=z*vt,Ve+=z*Ft,He+=z*lt,Be+=z*_t,Ge+=z*Kt,z=ee[2],de+=z*Lt,Se+=z*ht,Me+=z*wt,ke+=z*Ut,Ke+=z*ft,Te+=z*dt,je+=z*Vt,De+=z*xt,Je+=z*pt,ze+=z*Gt,qe+=z*gt,Ve+=z*vt,He+=z*Ft,Be+=z*lt,Ge+=z*_t,Xe+=z*Kt,z=ee[3],Se+=z*Lt,Me+=z*ht,ke+=z*wt,Ke+=z*Ut,Te+=z*ft,je+=z*dt,De+=z*Vt,Je+=z*xt,ze+=z*pt,qe+=z*Gt,Ve+=z*gt,He+=z*vt,Be+=z*Ft,Ge+=z*lt,Xe+=z*_t,se+=z*Kt,z=ee[4],Me+=z*Lt,ke+=z*ht,Ke+=z*wt,Te+=z*Ut,je+=z*ft,De+=z*dt,Je+=z*Vt,ze+=z*xt,qe+=z*pt,Ve+=z*Gt,He+=z*gt,Be+=z*vt,Ge+=z*Ft,Xe+=z*lt,se+=z*_t,J+=z*Kt,z=ee[5],ke+=z*Lt,Ke+=z*ht,Te+=z*wt,je+=z*Ut,De+=z*ft,Je+=z*dt,ze+=z*Vt,qe+=z*xt,Ve+=z*pt,He+=z*Gt,Be+=z*gt,Ge+=z*vt,Xe+=z*Ft,se+=z*lt,J+=z*_t,Q+=z*Kt,z=ee[6],Ke+=z*Lt,Te+=z*ht,je+=z*wt,De+=z*Ut,Je+=z*ft,ze+=z*dt,qe+=z*Vt,Ve+=z*xt,He+=z*pt,Be+=z*Gt,Ge+=z*gt,Xe+=z*vt,se+=z*Ft,J+=z*lt,Q+=z*_t,ue+=z*Kt,z=ee[7],Te+=z*Lt,je+=z*ht,De+=z*wt,Je+=z*Ut,ze+=z*ft,qe+=z*dt,Ve+=z*Vt,He+=z*xt,Be+=z*pt,Ge+=z*Gt,Xe+=z*gt,se+=z*vt,J+=z*Ft,Q+=z*lt,ue+=z*_t,we+=z*Kt,z=ee[8],je+=z*Lt,De+=z*ht,Je+=z*wt,ze+=z*Ut,qe+=z*ft,Ve+=z*dt,He+=z*Vt,Be+=z*xt,Ge+=z*pt,Xe+=z*Gt,se+=z*gt,J+=z*vt,Q+=z*Ft,ue+=z*lt,we+=z*_t,ye+=z*Kt,z=ee[9],De+=z*Lt,Je+=z*ht,ze+=z*wt,qe+=z*Ut,Ve+=z*ft,He+=z*dt,Be+=z*Vt,Ge+=z*xt,Xe+=z*pt,se+=z*Gt,J+=z*gt,Q+=z*vt,ue+=z*Ft,we+=z*lt,ye+=z*_t,Ie+=z*Kt,z=ee[10],Je+=z*Lt,ze+=z*ht,qe+=z*wt,Ve+=z*Ut,He+=z*ft,Be+=z*dt,Ge+=z*Vt,Xe+=z*xt,se+=z*pt,J+=z*Gt,Q+=z*gt,ue+=z*vt,we+=z*Ft,ye+=z*lt,Ie+=z*_t,it+=z*Kt,z=ee[11],ze+=z*Lt,qe+=z*ht,Ve+=z*wt,He+=z*Ut,Be+=z*ft,Ge+=z*dt,Xe+=z*Vt,se+=z*xt,J+=z*pt,Q+=z*Gt,ue+=z*gt,we+=z*vt,ye+=z*Ft,Ie+=z*lt,it+=z*_t,ot+=z*Kt,z=ee[12],qe+=z*Lt,Ve+=z*ht,He+=z*wt,Be+=z*Ut,Ge+=z*ft,Xe+=z*dt,se+=z*Vt,J+=z*xt,Q+=z*pt,ue+=z*Gt,we+=z*gt,ye+=z*vt,Ie+=z*Ft,it+=z*lt,ot+=z*_t,tt+=z*Kt,z=ee[13],Ve+=z*Lt,He+=z*ht,Be+=z*wt,Ge+=z*Ut,Xe+=z*ft,se+=z*dt,J+=z*Vt,Q+=z*xt,ue+=z*pt,we+=z*Gt,ye+=z*gt,Ie+=z*vt,it+=z*Ft,ot+=z*lt,tt+=z*_t,It+=z*Kt,z=ee[14],He+=z*Lt,Be+=z*ht,Ge+=z*wt,Xe+=z*Ut,se+=z*ft,J+=z*dt,Q+=z*Vt,ue+=z*xt,we+=z*pt,ye+=z*Gt,Ie+=z*gt,it+=z*vt,ot+=z*Ft,tt+=z*lt,It+=z*_t,st+=z*Kt,z=ee[15],Be+=z*Lt,Ge+=z*ht,Xe+=z*wt,se+=z*Ut,J+=z*ft,Q+=z*dt,ue+=z*Vt,we+=z*xt,ye+=z*pt,Ie+=z*Gt,it+=z*gt,ot+=z*vt,tt+=z*Ft,It+=z*lt,st+=z*_t,Nt+=z*Kt,H+=38*Ge,le+=38*Xe,de+=38*se,Se+=38*J,Me+=38*Q,ke+=38*ue,Ke+=38*we,Te+=38*ye,je+=38*Ie,De+=38*it,Je+=38*ot,ze+=38*tt,qe+=38*It,Ve+=38*st,He+=38*Nt,L=1,z=H+L+65535,L=Math.floor(z/65536),H=z-L*65536,z=le+L+65535,L=Math.floor(z/65536),le=z-L*65536,z=de+L+65535,L=Math.floor(z/65536),de=z-L*65536,z=Se+L+65535,L=Math.floor(z/65536),Se=z-L*65536,z=Me+L+65535,L=Math.floor(z/65536),Me=z-L*65536,z=ke+L+65535,L=Math.floor(z/65536),ke=z-L*65536,z=Ke+L+65535,L=Math.floor(z/65536),Ke=z-L*65536,z=Te+L+65535,L=Math.floor(z/65536),Te=z-L*65536,z=je+L+65535,L=Math.floor(z/65536),je=z-L*65536,z=De+L+65535,L=Math.floor(z/65536),De=z-L*65536,z=Je+L+65535,L=Math.floor(z/65536),Je=z-L*65536,z=ze+L+65535,L=Math.floor(z/65536),ze=z-L*65536,z=qe+L+65535,L=Math.floor(z/65536),qe=z-L*65536,z=Ve+L+65535,L=Math.floor(z/65536),Ve=z-L*65536,z=He+L+65535,L=Math.floor(z/65536),He=z-L*65536,z=Be+L+65535,L=Math.floor(z/65536),Be=z-L*65536,H+=L-1+37*(L-1),L=1,z=H+L+65535,L=Math.floor(z/65536),H=z-L*65536,z=le+L+65535,L=Math.floor(z/65536),le=z-L*65536,z=de+L+65535,L=Math.floor(z/65536),de=z-L*65536,z=Se+L+65535,L=Math.floor(z/65536),Se=z-L*65536,z=Me+L+65535,L=Math.floor(z/65536),Me=z-L*65536,z=ke+L+65535,L=Math.floor(z/65536),ke=z-L*65536,z=Ke+L+65535,L=Math.floor(z/65536),Ke=z-L*65536,z=Te+L+65535,L=Math.floor(z/65536),Te=z-L*65536,z=je+L+65535,L=Math.floor(z/65536),je=z-L*65536,z=De+L+65535,L=Math.floor(z/65536),De=z-L*65536,z=Je+L+65535,L=Math.floor(z/65536),Je=z-L*65536,z=ze+L+65535,L=Math.floor(z/65536),ze=z-L*65536,z=qe+L+65535,L=Math.floor(z/65536),qe=z-L*65536,z=Ve+L+65535,L=Math.floor(z/65536),Ve=z-L*65536,z=He+L+65535,L=Math.floor(z/65536),He=z-L*65536,z=Be+L+65535,L=Math.floor(z/65536),Be=z-L*65536,H+=L-1+37*(L-1),K[0]=H,K[1]=le,K[2]=de,K[3]=Se,K[4]=Me,K[5]=ke,K[6]=Ke,K[7]=Te,K[8]=je,K[9]=De,K[10]=Je,K[11]=ze,K[12]=qe,K[13]=Ve,K[14]=He,K[15]=Be}function $(K,ee){D(K,ee,ee)}function V(K,ee){const re=i();let z;for(z=0;z<16;z++)re[z]=ee[z];for(z=253;z>=0;z--)$(re,re),z!==2&&z!==4&&D(re,re,ee);for(z=0;z<16;z++)K[z]=re[z]}function te(K,ee){const re=i();let z;for(z=0;z<16;z++)re[z]=ee[z];for(z=250;z>=0;z--)$(re,re),z!==1&&D(re,re,ee);for(z=0;z<16;z++)K[z]=re[z]}function W(K,ee){const re=i(),z=i(),L=i(),H=i(),le=i(),de=i(),Se=i(),Me=i(),ke=i();G(re,K[1],K[0]),G(ke,ee[1],ee[0]),D(re,re,ke),j(z,K[0],K[1]),j(ke,ee[0],ee[1]),D(z,z,ke),D(L,K[3],ee[3]),D(L,L,u),D(H,K[2],ee[2]),j(H,H,H),G(le,z,re),G(de,H,L),j(Se,H,L),j(Me,z,re),D(K[0],le,de),D(K[1],Me,Se),D(K[2],Se,de),D(K[3],le,Me)}function P(K,ee,re){for(let z=0;z<4;z++)C(K[z],ee[z],re)}function b(K,ee){const re=i(),z=i(),L=i();V(L,ee[2]),D(re,ee[0],L),D(z,ee[1],L),R(K,z),K[31]^=O(re)<<7}function d(K,ee,re){w(K[0],o),w(K[1],a),w(K[2],a),w(K[3],o);for(let z=255;z>=0;--z){const L=re[z/8|0]>>(z&7)&1;P(K,ee,L),W(ee,K),W(K,K),P(K,ee,L)}}function m(K,ee){const re=[i(),i(),i(),i()];w(re[0],h),w(re[1],p),w(re[2],a),D(re[3],h,p),d(K,re,ee)}function x(K){if(K.length!==r.SEED_LENGTH)throw new Error(`ed25519: seed must be ${r.SEED_LENGTH} bytes`);const ee=(0,t.hash)(K);ee[0]&=248,ee[31]&=127,ee[31]|=64;const re=new Uint8Array(32),z=[i(),i(),i(),i()];m(z,ee),b(re,z);const L=new Uint8Array(64);return L.set(K),L.set(re,32),{publicKey:re,secretKey:L}}r.generateKeyPairFromSeed=x;function A(K){const ee=(0,e.randomBytes)(32,K),re=x(ee);return(0,n.wipe)(ee),re}r.generateKeyPair=A;function I(K){if(K.length!==r.SECRET_KEY_LENGTH)throw new Error(`ed25519: secret key must be ${r.SECRET_KEY_LENGTH} bytes`);return new Uint8Array(K.subarray(32))}r.extractPublicKeyFromSecretKey=I;const T=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function S(K,ee){let re,z,L,H;for(z=63;z>=32;--z){for(re=0,L=z-32,H=z-12;L>4)*T[L],re=ee[L]>>8,ee[L]&=255;for(L=0;L<32;L++)ee[L]-=re*T[L];for(z=0;z<32;z++)ee[z+1]+=ee[z]>>8,K[z]=ee[z]&255}function E(K){const ee=new Float64Array(64);for(let re=0;re<64;re++)ee[re]=K[re];for(let re=0;re<64;re++)K[re]=0;S(K,ee)}function _(K,ee){const re=new Float64Array(64),z=[i(),i(),i(),i()],L=(0,t.hash)(K.subarray(0,32));L[0]&=248,L[31]&=127,L[31]|=64;const H=new Uint8Array(64);H.set(L.subarray(32),32);const le=new t.SHA512;le.update(H.subarray(32)),le.update(ee);const de=le.digest();le.clean(),E(de),m(z,de),b(H,z),le.reset(),le.update(H.subarray(0,32)),le.update(K.subarray(32)),le.update(ee);const Se=le.digest();E(Se);for(let Me=0;Me<32;Me++)re[Me]=de[Me];for(let Me=0;Me<32;Me++)for(let ke=0;ke<32;ke++)re[Me+ke]+=Se[Me]*L[ke];return S(H.subarray(32),re),H}r.sign=_;function U(K,ee){const re=i(),z=i(),L=i(),H=i(),le=i(),de=i(),Se=i();return w(K[2],a),B(K[1],ee),$(L,K[1]),D(H,L,l),G(L,L,K[2]),j(H,K[2],H),$(le,H),$(de,le),D(Se,de,le),D(re,Se,L),D(re,re,H),te(re,re),D(re,re,L),D(re,re,H),D(re,re,H),D(K[0],re,H),$(z,K[0]),D(z,z,H),M(z,L)&&D(K[0],K[0],g),$(z,K[0]),D(z,z,H),M(z,L)?-1:(O(K[0])===ee[31]>>7&&G(K[0],o,K[0]),D(K[3],K[0],K[1]),0)}function ie(K,ee,re){const z=new Uint8Array(32),L=[i(),i(),i(),i()],H=[i(),i(),i(),i()];if(re.length!==r.SIGNATURE_LENGTH)throw new Error(`ed25519: signature must be ${r.SIGNATURE_LENGTH} bytes`);if(U(H,K))return!1;const le=new t.SHA512;le.update(re.subarray(0,32)),le.update(K),le.update(ee);const de=le.digest();return E(de),d(L,H,de),m(H,re.subarray(32)),W(L,H),b(z,L),!k(re,z)}r.verify=ie;function q(K){let ee=[i(),i(),i(),i()];if(U(ee,K))throw new Error("Ed25519: invalid public key");let re=i(),z=i(),L=ee[1];j(re,a,L),G(z,a,L),V(z,z),D(re,re,z);let H=new Uint8Array(32);return R(H,re),H}r.convertPublicKeyToX25519=q;function Y(K){const ee=(0,t.hash)(K.subarray(0,32));ee[0]&=248,ee[31]&=127,ee[31]|=64;const re=new Uint8Array(ee.subarray(0,32));return(0,n.wipe)(ee),re}r.convertSecretKeyToX25519=Y}(cB);const uOe="EdDSA",hOe="JWT",zae=".",Hae="base64url",fOe="utf8",dOe="utf8",pOe=":",gOe="did",mOe="key",qae="base58btc",bOe="z",wOe="K36",vOe=32;function yS(r){return vi(Ni(gf(r),fOe),Hae)}function lB(r){const e=Ni(wOe,qae),t=bOe+vi(B6([e,r]),qae);return[gOe,mOe,t].join(pOe)}function yOe(r){return vi(r,Hae)}function xOe(r){return Ni([yS(r.header),yS(r.payload)].join(zae),dOe)}function _Oe(r){return[yS(r.header),yS(r.payload),yOe(r.signature)].join(zae)}function xS(r=h1.randomBytes(vOe)){return cB.generateKeyPairFromSeed(r)}async function Wae(r,e,t,n,i=Ye.fromMiliseconds(Date.now())){const s={alg:uOe,typ:hOe},o=lB(n.publicKey),a=i+t,l={iss:o,sub:r,aud:e,iat:i,exp:a},u=xOe({header:s,payload:l}),h=cB.sign(n.secretKey,u);return _Oe({header:s,payload:l,signature:h})}const EOe="PARSE_ERROR",AOe="INVALID_REQUEST",COe="METHOD_NOT_FOUND",SOe="INVALID_PARAMS",Vae="INTERNAL_ERROR",uB="SERVER_ERROR",IOe=[-32700,-32600,-32601,-32602,-32603],t8={[EOe]:{code:-32700,message:"Parse error"},[AOe]:{code:-32600,message:"Invalid Request"},[COe]:{code:-32601,message:"Method not found"},[SOe]:{code:-32602,message:"Invalid params"},[Vae]:{code:-32603,message:"Internal error"},[uB]:{code:-32e3,message:"Server error"}},Gae=uB;function ROe(r){return IOe.includes(r)}function Kae(r){return Object.keys(t8).includes(r)?t8[r]:t8[Gae]}function TOe(r){const e=Object.values(t8).find(t=>t.code===r);return e||t8[Gae]}function Zae(r,e,t){return r.message.includes("getaddrinfo ENOTFOUND")||r.message.includes("connect ECONNREFUSED")?new Error(`Unavailable ${t} RPC url at ${e}`):r}var Jae={},qd={},Yae;function kOe(){if(Yae)return qd;Yae=1,Object.defineProperty(qd,"__esModule",{value:!0}),qd.isBrowserCryptoAvailable=qd.getSubtleCrypto=qd.getBrowerCrypto=void 0;function r(){return(ct==null?void 0:ct.crypto)||(ct==null?void 0:ct.msCrypto)||{}}qd.getBrowerCrypto=r;function e(){const n=r();return n.subtle||n.webkitSubtle}qd.getSubtleCrypto=e;function t(){return!!r()&&!!e()}return qd.isBrowserCryptoAvailable=t,qd}var Wd={},Qae;function MOe(){if(Qae)return Wd;Qae=1,Object.defineProperty(Wd,"__esModule",{value:!0}),Wd.isBrowser=Wd.isNode=Wd.isReactNative=void 0;function r(){return typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"}Wd.isReactNative=r;function e(){return typeof yt<"u"&&typeof yt.versions<"u"&&typeof yt.versions.node<"u"}Wd.isNode=e;function t(){return!r()&&!e()}return Wd.isBrowser=t,Wd}(function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=jd;e.__exportStar(kOe(),r),e.__exportStar(MOe(),r)})(Jae);function Vd(r=3){const e=Date.now()*Math.pow(10,r),t=Math.floor(Math.random()*Math.pow(10,r));return e+t}function g1(r=6){return BigInt(Vd(r))}function Zu(r,e,t){return{id:t||Vd(),jsonrpc:"2.0",method:r,params:e}}function m1(r,e){return{id:r,jsonrpc:"2.0",result:e}}function by(r,e,t){return{id:r,jsonrpc:"2.0",error:NOe(e,t)}}function NOe(r,e){return typeof r>"u"?Kae(Vae):(typeof r=="string"&&(r=Object.assign(Object.assign({},Kae(uB)),{message:r})),typeof e<"u"&&(r.data=e),ROe(r.code)&&(r=TOe(r.code)),r)}class POe{}class OOe extends POe{constructor(){super()}}class DOe extends OOe{constructor(e){super()}}const $Oe="^https?:",BOe="^wss?:";function LOe(r){const e=r.match(new RegExp(/^\w+:/,"gi"));if(!(!e||!e.length))return e[0]}function Xae(r,e){const t=LOe(r);return typeof t>"u"?!1:new RegExp(e).test(t)}function ece(r){return Xae(r,$Oe)}function tce(r){return Xae(r,BOe)}function UOe(r){return new RegExp("wss?://localhost(:d{2,5})?").test(r)}function rce(r){return typeof r=="object"&&"id"in r&&"jsonrpc"in r&&r.jsonrpc==="2.0"}function wy(r){return rce(r)&&"method"in r}function Bm(r){return rce(r)&&(yo(r)||_s(r))}function yo(r){return"result"in r}function _s(r){return"error"in r}class xo extends DOe{constructor(e){super(e),this.events=new fi.EventEmitter,this.hasRegisteredEventListeners=!1,this.connection=this.setConnection(e),this.connection.connected&&this.registerEventListeners()}async connect(e=this.connection){await this.open(e)}async disconnect(){await this.close()}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 request(e,t){return this.requestStrict(Zu(e.method,e.params||[],e.id||g1().toString()),t)}async requestStrict(e,t){return new Promise(async(n,i)=>{if(!this.connection.connected)try{await this.open()}catch(s){i(s)}this.events.on(`${e.id}`,s=>{_s(s)?i(s.error):n(s.result)});try{await this.connection.send(e,t)}catch(s){i(s)}})}setConnection(e=this.connection){return e}onPayload(e){this.events.emit("payload",e),Bm(e)?this.events.emit(`${e.id}`,e):this.events.emit("message",{type:e.method,data:e.params})}onClose(e){e&&e.code===3e3&&this.events.emit("error",new Error(`WebSocket connection closed abnormally with code: ${e.code} ${e.reason?`(${e.reason})`:""}`)),this.events.emit("disconnect")}async open(e=this.connection){this.connection===e&&this.connection.connected||(this.connection.connected&&this.close(),typeof e=="string"&&(await this.connection.open(e),e=this.connection),this.connection=this.setConnection(e),await this.connection.open(),this.registerEventListeners(),this.events.emit("connect"))}async close(){await this.connection.close()}registerEventListeners(){this.hasRegisteredEventListeners||(this.connection.on("payload",e=>this.onPayload(e)),this.connection.on("close",e=>this.onClose(e)),this.connection.on("error",e=>this.events.emit("error",e)),this.connection.on("register_error",e=>this.onClose()),this.hasRegisteredEventListeners=!0)}}const FOe=()=>typeof WebSocket<"u"?WebSocket:typeof dr<"u"&&typeof dr.WebSocket<"u"?dr.WebSocket:typeof window<"u"&&typeof window.WebSocket<"u"?window.WebSocket:typeof self<"u"&&typeof self.WebSocket<"u"?self.WebSocket:require("ws"),jOe=()=>typeof WebSocket<"u"||typeof dr<"u"&&typeof dr.WebSocket<"u"||typeof window<"u"&&typeof window.WebSocket<"u"||typeof self<"u"&&typeof self.WebSocket<"u",nce=r=>r.split("?")[0],ice=10,zOe=FOe();let sce=class{constructor(e){if(this.url=e,this.events=new fi.EventEmitter,this.registering=!1,!tce(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);this.url=e}get connected(){return typeof this.socket<"u"}get connecting(){return this.registering}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 open(e=this.url){await this.register(e)}async close(){return new Promise((e,t)=>{if(typeof this.socket>"u"){t(new Error("Connection already closed"));return}this.socket.onclose=n=>{this.onClose(n),e()},this.socket.close()})}async send(e){typeof this.socket>"u"&&(this.socket=await this.register());try{this.socket.send(gf(e))}catch(t){this.onError(e.id,t)}}register(e=this.url){if(!tce(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);if(this.registering){const t=this.events.getMaxListeners();return(this.events.listenerCount("register_error")>=t||this.events.listenerCount("open")>=t)&&this.events.setMaxListeners(t+1),new Promise((n,i)=>{this.events.once("register_error",s=>{this.resetMaxListeners(),i(s)}),this.events.once("open",()=>{if(this.resetMaxListeners(),typeof this.socket>"u")return i(new Error("WebSocket connection is missing or invalid"));n(this.socket)})})}return this.url=e,this.registering=!0,new Promise((t,n)=>{const i=new URLSearchParams(e).get("origin"),s=Jae.isReactNative()?{headers:{origin:i}}:{rejectUnauthorized:!UOe(e)},o=new zOe(e,[],s);jOe()?o.onerror=a=>{const l=a;n(this.emitError(l.error))}:o.on("error",a=>{n(this.emitError(a))}),o.onopen=()=>{this.onOpen(o),t(o)}})}onOpen(e){e.onmessage=t=>this.onPayload(t),e.onclose=t=>this.onClose(t),this.socket=e,this.registering=!1,this.events.emit("open")}onClose(e){this.socket=void 0,this.registering=!1,this.events.emit("close",e)}onPayload(e){if(typeof e.data>"u")return;const t=typeof e.data=="string"?dy(e.data):e.data;this.events.emit("payload",t)}onError(e,t){const n=this.parseError(t),i=n.message||n.toString(),s=by(e,i);this.events.emit("payload",s)}parseError(e,t=this.url){return Zae(e,nce(t),"WS")}resetMaxListeners(){this.events.getMaxListeners()>ice&&this.events.setMaxListeners(ice)}emitError(e){const t=this.parseError(new Error((e==null?void 0:e.message)||`WebSocket connection failed for host: ${nce(this.url)}`));return this.events.emit("register_error",t),t}};var _S={exports:{}};_S.exports,function(r,e){var t=200,n="__lodash_hash_undefined__",i=1,s=2,o=9007199254740991,a="[object Arguments]",l="[object Array]",u="[object AsyncFunction]",h="[object Boolean]",p="[object Date]",g="[object Error]",w="[object Function]",y="[object GeneratorFunction]",C="[object Map]",R="[object Number]",k="[object Null]",M="[object Object]",O="[object Promise]",B="[object Proxy]",j="[object RegExp]",G="[object Set]",D="[object String]",$="[object Symbol]",V="[object Undefined]",te="[object WeakMap]",W="[object ArrayBuffer]",P="[object DataView]",b="[object Float32Array]",d="[object Float64Array]",m="[object Int8Array]",x="[object Int16Array]",A="[object Int32Array]",I="[object Uint8Array]",T="[object Uint8ClampedArray]",S="[object Uint16Array]",E="[object Uint32Array]",_=/[\\^$.*+?()[\]{}|]/g,U=/^\[object .+?Constructor\]$/,ie=/^(?:0|[1-9]\d*)$/,q={};q[b]=q[d]=q[m]=q[x]=q[A]=q[I]=q[T]=q[S]=q[E]=!0,q[a]=q[l]=q[W]=q[h]=q[P]=q[p]=q[g]=q[w]=q[C]=q[R]=q[M]=q[j]=q[G]=q[D]=q[te]=!1;var Y=typeof ct=="object"&&ct&&ct.Object===Object&&ct,K=typeof self=="object"&&self&&self.Object===Object&&self,ee=Y||K||Function("return this")(),re=e&&!e.nodeType&&e,z=re&&!0&&r&&!r.nodeType&&r,L=z&&z.exports===re,H=L&&Y.process,le=function(){try{return H&&H.binding&&H.binding("util")}catch{}}(),de=le&&le.isTypedArray;function Se(ve,Pe){for(var at=-1,nr=ve==null?0:ve.length,ri=0,$r=[];++at-1}function ei(ve,Pe){var at=this.__data__,nr=Zf(at,ve);return nr<0?(++this.size,at.push([ve,Pe])):at[nr][1]=Pe,this}Rt.prototype.clear=ur,Rt.prototype.delete=Yn,Rt.prototype.get=Qn,Rt.prototype.has=Xn,Rt.prototype.set=ei;function gn(ve){var Pe=-1,at=ve==null?0:ve.length;for(this.clear();++Pefs))return!1;var qn=$r.get(ve);if(qn&&$r.get(Pe))return qn==Pe;var ni=-1,Jo=!0,Zi=at&s?new mi:void 0;for($r.set(ve,Pe),$r.set(Pe,ve);++ni-1&&ve%1==0&&ve-1&&ve%1==0&&ve<=o}function I5(ve){var Pe=typeof ve;return ve!=null&&(Pe=="object"||Pe=="function")}function O0(ve){return ve!=null&&typeof ve=="object"}var R5=de?Te(de):ob;function m7(ve){return p7(ve)?ib(ve):ab(ve)}function Cr(){return[]}function _r(){return!1}r.exports=g7}(_S,_S.exports);var HOe=_S.exports;const oce=Sp(HOe);function qOe(r,e){return e=e||{},new Promise(function(t,n){var i=new XMLHttpRequest,s=[],o=[],a={},l=function(){return{ok:(i.status/100|0)==2,statusText:i.statusText,status:i.status,url:i.responseURL,text:function(){return Promise.resolve(i.responseText)},json:function(){return Promise.resolve(i.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([i.response]))},clone:l,headers:{keys:function(){return s},entries:function(){return o},get:function(h){return a[h.toLowerCase()]},has:function(h){return h.toLowerCase()in a}}}};for(var u in i.open(e.method||"get",r,!0),i.onload=function(){i.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,function(h,p,g){s.push(p=p.toLowerCase()),o.push([p,g]),a[p]=a[p]?a[p]+","+g:g}),t(l())},i.onerror=n,i.withCredentials=e.credentials=="include",e.headers)i.setRequestHeader(u,e.headers[u]);i.send(e.body||null)})}const ace=sd(Object.freeze(Object.defineProperty({__proto__:null,default:qOe},Symbol.toStringTag,{value:"Module"})));var WOe=self.fetch||(self.fetch=ace.default||ace);const cce=Sp(WOe);function VOe(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n>>0,B=new Uint8Array(O);k!==M;){for(var j=y[k],G=0,D=O-1;(j!==0||G>>0,B[D]=j%a>>>0,j=j/a>>>0;if(j!==0)throw new Error("Non-zero carry");R=G,k++}for(var $=O-R;$!==O&&B[$]===0;)$++;for(var V=l.repeat(C);$>>0,O=new Uint8Array(M);y[C];){var B=t[y.charCodeAt(C)];if(B===255)return;for(var j=0,G=M-1;(B!==0||j>>0,O[G]=B%256>>>0,B=B/256>>>0;if(B!==0)throw new Error("Non-zero carry");k=j,C++}if(y[C]!==" "){for(var D=M-k;D!==M&&O[D]===0;)D++;for(var $=new Uint8Array(R+(M-D)),V=R;D!==M;)$[V++]=O[D++];return $}}}function w(y){var C=g(y);if(C)return C;throw new Error(`Non-${e} character`)}return{encode:p,decodeUnsafe:g,decode:w}}var GOe=VOe,KOe=GOe;const lce=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")},ZOe=r=>new TextEncoder().encode(r),JOe=r=>new TextDecoder().decode(r);let YOe=class{constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},QOe=class{constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){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))}else throw Error("Can only multibase decode strings")}or(e){return uce(this,e)}},XOe=class{constructor(e){this.decoders=e}or(e){return uce(this,e)}decode(e){const t=e[0],n=this.decoders[t];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};const uce=(r,e)=>new XOe({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});let eDe=class{constructor(e,t,n,i){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=i,this.encoder=new YOe(e,t,n),this.decoder=new QOe(e,t,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};const ES=({name:r,prefix:e,encode:t,decode:n})=>new eDe(r,e,t,n),r8=({prefix:r,name:e,alphabet:t})=>{const{encode:n,decode:i}=KOe(t,e);return ES({prefix:r,name:e,encode:n,decode:s=>lce(i(s))})},tDe=(r,e,t,n)=>{const i={};for(let h=0;h=8&&(a-=8,o[u++]=255&l>>a)}if(a>=t||255&l<<8-a)throw new SyntaxError("Unexpected end of data");return o},rDe=(r,e,t)=>{const n=e[e.length-1]==="=",i=(1<t;)o-=t,s+=e[i&a>>o];if(o&&(s+=e[i&a<ES({prefix:e,name:r,encode(i){return rDe(i,n,t)},decode(i){return tDe(i,n,t,r)}}),nDe=ES({prefix:"\0",name:"identity",encode:r=>JOe(r),decode:r=>ZOe(r)});var iDe=Object.freeze({__proto__:null,identity:nDe});const sDe=jo({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var oDe=Object.freeze({__proto__:null,base2:sDe});const aDe=jo({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var cDe=Object.freeze({__proto__:null,base8:aDe});const lDe=r8({prefix:"9",name:"base10",alphabet:"0123456789"});var uDe=Object.freeze({__proto__:null,base10:lDe});const hDe=jo({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),fDe=jo({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var dDe=Object.freeze({__proto__:null,base16:hDe,base16upper:fDe});const pDe=jo({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),gDe=jo({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),mDe=jo({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),bDe=jo({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),wDe=jo({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),vDe=jo({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),yDe=jo({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),xDe=jo({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),_De=jo({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var EDe=Object.freeze({__proto__:null,base32:pDe,base32upper:gDe,base32pad:mDe,base32padupper:bDe,base32hex:wDe,base32hexupper:vDe,base32hexpad:yDe,base32hexpadupper:xDe,base32z:_De});const ADe=r8({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),CDe=r8({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var SDe=Object.freeze({__proto__:null,base36:ADe,base36upper:CDe});const IDe=r8({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),RDe=r8({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var TDe=Object.freeze({__proto__:null,base58btc:IDe,base58flickr:RDe});const kDe=jo({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),MDe=jo({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),NDe=jo({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),PDe=jo({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ODe=Object.freeze({__proto__:null,base64:kDe,base64pad:MDe,base64url:NDe,base64urlpad:PDe});const hce=Array.from("🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂"),DDe=hce.reduce((r,e,t)=>(r[t]=e,r),[]),$De=hce.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function BDe(r){return r.reduce((e,t)=>(e+=DDe[t],e),"")}function LDe(r){const e=[];for(const t of r){const n=$De[t.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(n)}return new Uint8Array(e)}const UDe=ES({prefix:"🚀",name:"base256emoji",encode:BDe,decode:LDe});var FDe=Object.freeze({__proto__:null,base256emoji:UDe}),jDe=dce,fce=128,zDe=127,HDe=~zDe,qDe=Math.pow(2,31);function dce(r,e,t){e=e||[],t=t||0;for(var n=t;r>=qDe;)e[t++]=r&255|fce,r/=128;for(;r&HDe;)e[t++]=r&255|fce,r>>>=7;return e[t]=r|0,dce.bytes=t-n+1,e}var WDe=hB,VDe=128,pce=127;function hB(r,n){var t=0,n=n||0,i=0,s=n,o,a=r.length;do{if(s>=a)throw hB.bytes=0,new RangeError("Could not decode varint");o=r[s++],t+=i<28?(o&pce)<=VDe);return hB.bytes=s-n,t}var GDe=Math.pow(2,7),KDe=Math.pow(2,14),ZDe=Math.pow(2,21),JDe=Math.pow(2,28),YDe=Math.pow(2,35),QDe=Math.pow(2,42),XDe=Math.pow(2,49),e$e=Math.pow(2,56),t$e=Math.pow(2,63),r$e=function(r){return r(gce.encode(r,e,t),e),bce=r=>gce.encodingLength(r),fB=(r,e)=>{const t=e.byteLength,n=bce(r),i=n+bce(t),s=new Uint8Array(i+t);return mce(r,s,0),mce(t,s,n),s.set(e,i),new i$e(r,t,e,s)};let i$e=class{constructor(e,t,n,i){this.code=e,this.size=t,this.digest=n,this.bytes=i}};const wce=({name:r,code:e,encode:t})=>new s$e(r,e,t);let s$e=class{constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?fB(this.code,t):t.then(n=>fB(this.code,n))}else throw Error("Unknown type, must be binary type")}};const vce=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),o$e=wce({name:"sha2-256",code:18,encode:vce("SHA-256")}),a$e=wce({name:"sha2-512",code:19,encode:vce("SHA-512")});var c$e=Object.freeze({__proto__:null,sha256:o$e,sha512:a$e});const yce=0,l$e="identity",xce=lce;var u$e=Object.freeze({__proto__:null,identity:{code:yce,name:l$e,encode:xce,digest:r=>fB(yce,xce(r))}});new TextEncoder,new TextDecoder;const _ce={...iDe,...oDe,...cDe,...uDe,...dDe,...EDe,...SDe,...TDe,...ODe,...FDe};({...c$e,...u$e});function Ece(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function h$e(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?Ece(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function Ace(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}const Cce=Ace("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),dB=Ace("ascii","a",r=>{let e="a";for(let t=0;t{r=r.substring(1);const e=h$e(r.length);for(let t=0;t{if(!this.initialized){const n=await this.getKeyChain();typeof n<"u"&&(this.keychain=n),this.initialized=!0}},this.has=n=>(this.isInitialized(),this.keychain.has(n)),this.set=async(n,i)=>{this.isInitialized(),this.keychain.set(n,i),await this.persist()},this.get=n=>{this.isInitialized();const i=this.keychain.get(n);if(typeof i>"u"){const{message:s}=Wt("NO_MATCHING_KEY",`${this.name}: ${n}`);throw new Error(s)}return i},this.del=async n=>{this.isInitialized(),this.keychain.delete(n),await this.persist()},this.core=e,this.logger=pi(t,this.name)}get context(){return yi(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,oae(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?aae(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=Wt("NOT_INITIALIZED",this.name);throw new Error(e)}}},V$e=class{constructor(e,t,n){this.core=e,this.logger=t,this.name=b$e,this.initialized=!1,this.init=async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)},this.hasKeys=i=>(this.isInitialized(),this.keychain.has(i)),this.getClientId=async()=>{this.isInitialized();const i=await this.getClientSeed(),s=xS(i);return lB(s.publicKey)},this.generateKeyPair=()=>{this.isInitialized();const i=IMe();return this.setPrivateKey(i.publicKey,i.privateKey)},this.signJWT=async i=>{this.isInitialized();const s=await this.getClientSeed(),o=xS(s),a=V$();return await Wae(a,i,w$e,o)},this.generateSharedKey=(i,s,o)=>{this.isInitialized();const a=this.getPrivateKey(i),l=RMe(a,s);return this.setSymKey(l,o)},this.setSymKey=async(i,s)=>{this.isInitialized();const o=s||TMe(i);return await this.keychain.set(o,i),o},this.deleteKeyPair=async i=>{this.isInitialized(),await this.keychain.del(i)},this.deleteSymKey=async i=>{this.isInitialized(),await this.keychain.del(i)},this.encode=async(i,s,o)=>{this.isInitialized();const a=tae(o),l=gf(s);if(rae(a)){const g=a.senderPublicKey,w=a.receiverPublicKey;i=await this.generateSharedKey(g,w)}const u=this.getSymKey(i),{type:h,senderPublicKey:p}=a;return MMe({type:h,symKey:u,message:l,senderPublicKey:p})},this.decode=async(i,s,o)=>{this.isInitialized();const a=OMe(s,o);if(rae(a)){const l=a.receiverPublicKey,u=a.senderPublicKey;i=await this.generateSharedKey(l,u)}try{const l=this.getSymKey(i),u=NMe({symKey:l,encoded:s});return dy(u)}catch(l){this.logger.error(`Failed to decode message from topic: '${i}', clientId: '${await this.getClientId()}'`),this.logger.error(l)}},this.getPayloadType=i=>{const s=cS(i);return q6(s.type)},this.getPayloadSenderPublicKey=i=>{const s=cS(i);return s.senderPublicKey?vi(s.senderPublicKey,Oa):void 0},this.core=e,this.logger=pi(t,this.name),this.keychain=n||new W$e(this.core,this.logger)}get context(){return yi(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(Ice)}catch{e=V$(),await this.keychain.set(Ice,e)}return d$e(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=Wt("NOT_INITIALIZED",this.name);throw new Error(e)}}},G$e=class extends eOe{constructor(e,t){super(e,t),this.logger=e,this.core=t,this.messages=new Map,this.name=x$e,this.version=_$e,this.initialized=!1,this.storagePrefix=b1,this.init=async()=>{if(!this.initialized){this.logger.trace("Initialized");try{const n=await this.getRelayerMessages();typeof n<"u"&&(this.messages=n),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",size:this.messages.size})}catch(n){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(n)}finally{this.initialized=!0}}},this.set=async(n,i)=>{this.isInitialized();const s=cy(i);let o=this.messages.get(n);return typeof o>"u"&&(o={}),typeof o[s]<"u"||(o[s]=i,this.messages.set(n,o),await this.persist()),s},this.get=n=>{this.isInitialized();let i=this.messages.get(n);return typeof i>"u"&&(i={}),i},this.has=(n,i)=>{this.isInitialized();const s=this.get(n),o=cy(i);return typeof s[o]<"u"},this.del=async n=>{this.isInitialized(),this.messages.delete(n),await this.persist()},this.logger=pi(e,this.name),this.core=t}get context(){return yi(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,oae(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?aae(e):void 0}async persist(){await this.setRelayerMessages(this.messages)}isInitialized(){if(!this.initialized){const{message:e}=Wt("NOT_INITIALIZED",this.name);throw new Error(e)}}},K$e=class extends tOe{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.events=new fi.EventEmitter,this.name=A$e,this.queue=new Map,this.publishTimeout=Ye.toMiliseconds(Ye.TEN_SECONDS*2),this.needsTransportRestart=!1,this.publish=async(n,i,s)=>{var o;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:n,message:i,opts:s}});try{const a=(s==null?void 0:s.ttl)||E$e,l=Z$(s),u=(s==null?void 0:s.prompt)||!1,h=(s==null?void 0:s.tag)||0,p=(s==null?void 0:s.id)||g1().toString(),g={topic:n,message:i,opts:{ttl:a,relay:l,prompt:u,tag:h,id:p}},w=setTimeout(()=>this.queue.set(p,g),this.publishTimeout);try{await await V6(this.rpcPublish(n,i,a,l,u,h,p),this.publishTimeout,`Failed to publish payload, please try again. id:${p} tag:${h}`),this.removeRequestFromQueue(p),this.relayer.events.emit(ga.publish,g)}catch(y){if(this.logger.debug("Publishing Payload stalled"),this.needsTransportRestart=!0,(o=s==null?void 0:s.internal)!=null&&o.throwOnFailedPublish)throw this.removeRequestFromQueue(p),y;return}finally{clearTimeout(w)}this.logger.debug("Successfully Published Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:n,message:i,opts:s}})}catch(a){throw this.logger.debug("Failed to Publish Payload"),this.logger.error(a),a}},this.on=(n,i)=>{this.events.on(n,i)},this.once=(n,i)=>{this.events.once(n,i)},this.off=(n,i)=>{this.events.off(n,i)},this.removeListener=(n,i)=>{this.events.removeListener(n,i)},this.relayer=e,this.logger=pi(t,this.name),this.registerEventListeners()}get context(){return yi(this.logger)}rpcPublish(e,t,n,i,s,o,a){var l,u,h,p;const g={method:lS(i.protocol).publish,params:{topic:e,message:t,ttl:n,prompt:s,tag:o},id:a};return Da((l=g.params)==null?void 0:l.prompt)&&((u=g.params)==null||delete u.prompt),Da((h=g.params)==null?void 0:h.tag)&&((p=g.params)==null||delete p.tag),this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:g}),this.relayer.request(g)}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async e=>{const{topic:t,message:n,opts:i}=e;await this.publish(t,n,i)})}registerEventListeners(){this.relayer.core.heartbeat.on(Ku.HEARTBEAT_EVENTS.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(ga.connection_stalled);return}this.checkQueue()}),this.relayer.on(ga.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}},Z$e=class{constructor(){this.map=new Map,this.set=(e,t)=>{const n=this.get(e);this.exists(e,t)||this.map.set(e,[...n,t])},this.get=e=>this.map.get(e)||[],this.exists=(e,t)=>this.get(e).includes(t),this.delete=(e,t)=>{if(typeof t>"u"){this.map.delete(e);return}if(!this.map.has(e))return;const n=this.get(e);if(!this.exists(e,t))return;const i=n.filter(s=>s!==t);if(!i.length){this.map.delete(e);return}this.map.set(e,i)},this.clear=()=>{this.map.clear()}}get topics(){return Array.from(this.map.keys())}};var J$e=Object.defineProperty,Y$e=Object.defineProperties,Q$e=Object.getOwnPropertyDescriptors,Mce=Object.getOwnPropertySymbols,X$e=Object.prototype.hasOwnProperty,eBe=Object.prototype.propertyIsEnumerable,Nce=(r,e,t)=>e in r?J$e(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,s8=(r,e)=>{for(var t in e||(e={}))X$e.call(e,t)&&Nce(r,t,e[t]);if(Mce)for(var t of Mce(e))eBe.call(e,t)&&Nce(r,t,e[t]);return r},bB=(r,e)=>Y$e(r,Q$e(e));let tBe=class extends iOe{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.subscriptions=new Map,this.topicMap=new Z$e,this.events=new fi.EventEmitter,this.name=P$e,this.version=O$e,this.pending=new Map,this.cached=[],this.initialized=!1,this.pendingSubscriptionWatchLabel="pending_sub_watch_label",this.pollingInterval=20,this.storagePrefix=b1,this.subscribeTimeout=1e4,this.restartInProgress=!1,this.batchSubscribeTopicsLimit=500,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),this.registerEventListeners(),this.clientId=await this.relayer.core.crypto.getClientId())},this.subscribe=async(n,i)=>{await this.restartToComplete(),this.isInitialized(),this.logger.debug("Subscribing Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:n,opts:i}});try{const s=Z$(i),o={topic:n,relay:s};this.pending.set(n,o);const a=await this.rpcSubscribe(n,s);return this.onSubscribe(a,o),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:n,opts:i}}),a}catch(s){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(s),s}},this.unsubscribe=async(n,i)=>{await this.restartToComplete(),this.isInitialized(),typeof(i==null?void 0:i.id)<"u"?await this.unsubscribeById(n,i.id,i):await this.unsubscribeByTopic(n,i)},this.isSubscribed=async n=>{if(this.topics.includes(n))return!0;const i=`${this.pendingSubscriptionWatchLabel}_${n}`;return await new Promise((s,o)=>{const a=new Ye.Watch;a.start(i);const l=setInterval(()=>{!this.pending.has(n)&&this.topics.includes(n)&&(clearInterval(l),a.stop(i),s(!0)),a.elapsed(i)>=D$e&&(clearInterval(l),a.stop(i),o(new Error("Subscription resolution timeout")))},this.pollingInterval)}).catch(()=>!1)},this.on=(n,i)=>{this.events.on(n,i)},this.once=(n,i)=>{this.events.once(n,i)},this.off=(n,i)=>{this.events.off(n,i)},this.removeListener=(n,i)=>{this.events.removeListener(n,i)},this.restart=async()=>{this.restartInProgress=!0,await this.restore(),await this.reset(),this.restartInProgress=!1},this.relayer=e,this.logger=pi(t,this.name),this.clientId=""}get context(){return yi(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.relayer.core.customStoragePrefix+"//"+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}hasSubscription(e,t){let n=!1;try{n=this.getSubscription(e).topic===t}catch{}return n}onEnable(){this.cached=[],this.initialized=!0}onDisable(){this.cached=this.values,this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){const n=this.topicMap.get(e);await Promise.all(n.map(async i=>await this.unsubscribeById(e,i,t)))}async unsubscribeById(e,t,n){this.logger.debug("Unsubscribing Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:n}});try{const i=Z$(n);await this.rpcUnsubscribe(e,t,i);const s=Wi("USER_DISCONNECTED",`${this.name}, ${e}`);await this.onUnsubscribe(e,t,s),this.logger.debug("Successfully Unsubscribed Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:n}})}catch(i){throw this.logger.debug("Failed to Unsubscribe Topic"),this.logger.error(i),i}}async rpcSubscribe(e,t){const n={method:lS(t.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:n});try{await await V6(this.relayer.request(n),this.subscribeTimeout)}catch{this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(ga.connection_stalled)}return cy(e+this.clientId)}async rpcBatchSubscribe(e){if(!e.length)return;const t=e[0].relay,n={method:lS(t.protocol).batchSubscribe,params:{topics:e.map(i=>i.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:n});try{return await await V6(this.relayer.request(n),this.subscribeTimeout)}catch{this.logger.debug("Outgoing Relay Payload stalled"),this.relayer.events.emit(ga.connection_stalled)}}rpcUnsubscribe(e,t,n){const i={method:lS(n.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i}),this.relayer.request(i)}onSubscribe(e,t){this.setSubscription(e,bB(s8({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(t=>{this.setSubscription(t.id,s8({},t)),this.pending.delete(t.topic)})}async onUnsubscribe(e,t,n){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,n),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.subscriptions.has(e)||(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,s8({},t)),this.topicMap.set(t.topic,e),this.events.emit(Ju.created,t)}getSubscription(e){this.logger.debug("Getting subscription"),this.logger.trace({type:"method",method:"getSubscription",id:e});const t=this.subscriptions.get(e);if(!t){const{message:n}=Wt("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(n)}return t}deleteSubscription(e,t){this.logger.debug("Deleting subscription"),this.logger.trace({type:"method",method:"deleteSubscription",id:e,reason:t});const n=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(n.topic,e),this.events.emit(Ju.deleted,bB(s8({},n),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(Ju.sync)}async reset(){if(this.cached.length){const e=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let t=0;t"u"||!e.length)return;if(this.subscriptions.size){const{message:t}=Wt("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(t)}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){if(!e.length)return;const t=await this.rpcBatchSubscribe(e);pf(t)&&this.onBatchSubscribe(t.map((n,i)=>bB(s8({},e[i]),{id:n})))}async onConnect(){this.restartInProgress||(await this.restart(),this.onEnable())}onDisconnect(){this.onDisable()}async checkPending(){if(!this.initialized||this.relayer.transportExplicitlyClosed)return;const e=[];this.pending.forEach(t=>{e.push(t)}),await this.batchSubscribe(e)}registerEventListeners(){this.relayer.core.heartbeat.on(Ku.HEARTBEAT_EVENTS.pulse,async()=>{await this.checkPending()}),this.relayer.on(ga.connect,async()=>{await this.onConnect()}),this.relayer.on(ga.disconnect,()=>{this.onDisconnect()}),this.events.on(Ju.created,async e=>{const t=Ju.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()}),this.events.on(Ju.deleted,async e=>{const t=Ju.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=Wt("NOT_INITIALIZED",this.name);throw new Error(e)}}async restartToComplete(){this.restartInProgress&&await new Promise(e=>{const t=setInterval(()=>{this.restartInProgress||(clearInterval(t),e())},this.pollingInterval)})}};var rBe=Object.defineProperty,Pce=Object.getOwnPropertySymbols,nBe=Object.prototype.hasOwnProperty,iBe=Object.prototype.propertyIsEnumerable,Oce=(r,e,t)=>e in r?rBe(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,sBe=(r,e)=>{for(var t in e||(e={}))nBe.call(e,t)&&Oce(r,t,e[t]);if(Pce)for(var t of Pce(e))iBe.call(e,t)&&Oce(r,t,e[t]);return r};let oBe=class extends rOe{constructor(e){super(e),this.protocol="wc",this.version=2,this.events=new fi.EventEmitter,this.name=S$e,this.transportExplicitlyClosed=!1,this.initialized=!1,this.connectionAttemptInProgress=!1,this.connectionStatusPollingInterval=20,this.staleConnectionErrors=["socket hang up","socket stalled"],this.hasExperiencedNetworkDisruption=!1,this.requestsInFlight=new Map,this.request=async t=>{this.logger.debug("Publishing Request Payload");const n=t.id,i=this.provider.request(t);this.requestsInFlight.set(n,{promise:i,request:t});try{return await this.toEstablishConnection(),await i}catch(s){throw this.logger.debug("Failed to Publish Request"),this.logger.error(s),s}finally{this.requestsInFlight.delete(n)}},this.onPayloadHandler=t=>{this.onProviderPayload(t)},this.onConnectHandler=()=>{this.events.emit(ga.connect)},this.onDisconnectHandler=()=>{this.onProviderDisconnect()},this.onProviderErrorHandler=t=>{this.logger.error(t),this.events.emit(ga.error,t),this.logger.info("Fatal socket error received, closing transport"),this.transportClose()},this.registerProviderListeners=()=>{this.provider.on(Gd.payload,this.onPayloadHandler),this.provider.on(Gd.connect,this.onConnectHandler),this.provider.on(Gd.disconnect,this.onDisconnectHandler),this.provider.on(Gd.error,this.onProviderErrorHandler)},this.core=e.core,this.logger=typeof e.logger<"u"&&typeof e.logger!="string"?pi(e.logger,this.name):Hd(p1({level:e.logger||C$e})),this.messages=new G$e(this.logger,e.core),this.subscriber=new tBe(this,this.logger),this.publisher=new K$e(this,this.logger),this.relayUrl=(e==null?void 0:e.relayUrl)||Tce,this.projectId=e.projectId,this.bundleId=FMe(),this.provider={}}async init(){this.logger.trace("Initialized"),this.registerEventListeners(),await this.createProvider(),await Promise.all([this.messages.init(),this.subscriber.init()]);try{await this.transportOpen()}catch{this.logger.warn(`Connection via ${this.relayUrl} failed, attempting to connect via failover domain ${kce}...`),await this.restartTransport(kce)}this.initialized=!0,setTimeout(async()=>{this.subscriber.topics.length===0&&(this.logger.info("No topics subscribed to after init, closing transport"),await this.transportClose(),this.transportExplicitlyClosed=!1)},k$e)}get context(){return yi(this.logger)}get connected(){return this.provider.connection.connected}get connecting(){return this.provider.connection.connecting}async publish(e,t,n){this.isInitialized(),await this.publisher.publish(e,t,n),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now()})}async subscribe(e,t){var n;this.isInitialized();let i=((n=this.subscriber.topicMap.get(e))==null?void 0:n[0])||"";if(i)return i;let s;const o=a=>{a.topic===e&&(this.subscriber.off(Ju.created,o),s())};return await Promise.all([new Promise(a=>{s=a,this.subscriber.on(Ju.created,o)}),new Promise(async a=>{i=await this.subscriber.subscribe(e,t),a()})]),i}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 transportClose(){this.requestsInFlight.size>0&&(this.logger.debug("Waiting for all in-flight requests to finish before closing transport..."),this.requestsInFlight.forEach(async e=>{await e.promise})),this.transportExplicitlyClosed=!0,this.hasExperiencedNetworkDisruption&&this.connected?await V6(this.provider.disconnect(),1e3,"provider.disconnect()").catch(()=>this.onProviderDisconnect()):this.connected&&await this.provider.disconnect()}async transportOpen(e){if(this.transportExplicitlyClosed=!1,await this.confirmOnlineStateOrThrow(),!this.connectionAttemptInProgress){e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportClose(),await this.createProvider()),this.connectionAttemptInProgress=!0;try{await Promise.all([new Promise(t=>{if(!this.initialized)return t();this.subscriber.once(Ju.resubscribed,()=>{t()})}),new Promise(async(t,n)=>{try{await V6(this.provider.connect(),1e4,`Socket stalled when trying to connect to ${this.relayUrl}`)}catch(i){n(i);return}t()})])}catch(t){this.logger.error(t);const n=t;if(!this.isConnectionStalled(n.message))throw t;this.provider.events.emit(Gd.disconnect)}finally{this.connectionAttemptInProgress=!1,this.hasExperiencedNetworkDisruption=!1}}}async restartTransport(e){await this.confirmOnlineStateOrThrow(),!this.connectionAttemptInProgress&&(this.relayUrl=e||this.relayUrl,await this.transportClose(),await this.createProvider(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await vae())throw new Error("No internet connection detected. Please restart your network and try again.")}isConnectionStalled(e){return this.staleConnectionErrors.some(t=>e.includes(t))}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new xo(new sce(VMe({sdkVersion:T$e,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId}))),this.registerProviderListeners()}async recordMessageEvent(e){const{topic:t,message:n}=e;await this.messages.set(t,n)}async shouldIgnoreMessageEvent(e){const{topic:t,message:n}=e;if(!n||n.length===0)return this.logger.debug(`Ignoring invalid/empty message: ${n}`),!0;if(!await this.subscriber.isSubscribed(t))return this.logger.debug(`Ignoring message for non-subscribed topic ${t}`),!0;const i=this.messages.has(t,n);return i&&this.logger.debug(`Ignoring duplicate message: ${n}`),i}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),wy(e)){if(!e.method.endsWith(I$e))return;const t=e.params,{topic:n,message:i,publishedAt:s}=t.data,o={topic:n,message:i,publishedAt:s};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(sBe({type:"event",event:t.id},o)),this.events.emit(t.id,o),await this.acknowledgePayload(e),await this.onMessageEvent(o)}else Bm(e)&&this.events.emit(ga.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(this.events.emit(ga.message,e),await this.recordMessageEvent(e))}async acknowledgePayload(e){const t=m1(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(Gd.payload,this.onPayloadHandler),this.provider.off(Gd.connect,this.onConnectHandler),this.provider.off(Gd.disconnect,this.onDisconnectHandler),this.provider.off(Gd.error,this.onProviderErrorHandler)}async registerEventListeners(){this.events.on(ga.connection_stalled,()=>{this.restartTransport().catch(t=>this.logger.error(t))});let e=await vae();FNe(async t=>{this.initialized&&e!==t&&(e=t,t?await this.restartTransport().catch(n=>this.logger.error(n)):(this.hasExperiencedNetworkDisruption=!0,await this.transportClose().catch(n=>this.logger.error(n))))})}onProviderDisconnect(){this.events.emit(ga.disconnect),this.attemptToReconnect()}attemptToReconnect(){this.transportExplicitlyClosed||(this.logger.info("attemptToReconnect called. Connecting..."),setTimeout(async()=>{await this.restartTransport().catch(e=>this.logger.error(e))},Ye.toMiliseconds(R$e)))}isInitialized(){if(!this.initialized){const{message:e}=Wt("NOT_INITIALIZED",this.name);throw new Error(e)}}async toEstablishConnection(){if(await this.confirmOnlineStateOrThrow(),!this.connected){if(this.connectionAttemptInProgress)return await new Promise(e=>{const t=setInterval(()=>{this.connected&&(clearInterval(t),e())},this.connectionStatusPollingInterval)});await this.restartTransport()}}};var aBe=Object.defineProperty,Dce=Object.getOwnPropertySymbols,cBe=Object.prototype.hasOwnProperty,lBe=Object.prototype.propertyIsEnumerable,$ce=(r,e,t)=>e in r?aBe(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Bce=(r,e)=>{for(var t in e||(e={}))cBe.call(e,t)&&$ce(r,t,e[t]);if(Dce)for(var t of Dce(e))lBe.call(e,t)&&$ce(r,t,e[t]);return r};let AS=class extends nOe{constructor(e,t,n,i=b1,s=void 0){super(e,t,n,i),this.core=e,this.logger=t,this.name=n,this.map=new Map,this.version=M$e,this.cached=[],this.initialized=!1,this.storagePrefix=b1,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(o=>{this.getKey&&o!==null&&!Da(o)?this.map.set(this.getKey(o),o):bNe(o)?this.map.set(o.id,o):wNe(o)&&this.map.set(o.topic,o)}),this.cached=[],this.initialized=!0)},this.set=async(o,a)=>{this.isInitialized(),this.map.has(o)?await this.update(o,a):(this.logger.debug("Setting value"),this.logger.trace({type:"method",method:"set",key:o,value:a}),this.map.set(o,a),await this.persist())},this.get=o=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:o}),this.getData(o)),this.getAll=o=>(this.isInitialized(),o?this.values.filter(a=>Object.keys(o).every(l=>oce(a[l],o[l]))):this.values),this.update=async(o,a)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:o,update:a});const l=Bce(Bce({},this.getData(o)),a);this.map.set(o,l),await this.persist()},this.delete=async(o,a)=>{this.isInitialized(),this.map.has(o)&&(this.logger.debug("Deleting value"),this.logger.trace({type:"method",method:"delete",key:o,reason:a}),this.map.delete(o),await this.persist())},this.logger=pi(t,this.name),this.storagePrefix=i,this.getKey=s}get context(){return yi(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){const t=this.map.get(e);if(!t){const{message:n}=Wt("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(n),new Error(n)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{const e=await this.getDataStore();if(typeof e>"u"||!e.length)return;if(this.map.size){const{message:t}=Wt("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}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){const{message:e}=Wt("NOT_INITIALIZED",this.name);throw new Error(e)}}},uBe=class{constructor(e,t){this.core=e,this.logger=t,this.name=$$e,this.version=B$e,this.events=new ty,this.initialized=!1,this.storagePrefix=b1,this.ignoredPayloadTypes=[Pm],this.registeredMethods=[],this.init=async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace("Initialized"))},this.register=({methods:n})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...n])]},this.create=async()=>{this.isInitialized();const n=V$(),i=await this.core.crypto.setSymKey(n),s=Vc(Ye.FIVE_MINUTES),o={protocol:Rce},a={topic:i,expiry:s,relay:o,active:!1},l=cNe({protocol:this.core.protocol,version:this.core.version,topic:i,symKey:n,relay:o,expiryTimestamp:s});return await this.pairings.set(i,a),await this.core.relayer.subscribe(i),this.core.expirer.set(i,s),{topic:i,uri:l}},this.pair=async n=>{this.isInitialized(),this.isValidPair(n);const{topic:i,symKey:s,relay:o,expiryTimestamp:a}=fae(n.uri);let l;if(this.pairings.keys.includes(i)&&(l=this.pairings.get(i),l.active))throw new Error(`Pairing already exists: ${i}. Please try again with a new connection URI.`);const u=a||Vc(Ye.FIVE_MINUTES),h={topic:i,relay:o,expiry:u,active:!1};return await this.pairings.set(i,h),this.core.expirer.set(i,u),n.activatePairing&&await this.activate({topic:i}),this.events.emit(i8.create,h),this.core.crypto.keychain.has(i)||(await this.core.crypto.setSymKey(s,i),await this.core.relayer.subscribe(i,{relay:o})),h},this.activate=async({topic:n})=>{this.isInitialized();const i=Vc(Ye.THIRTY_DAYS);await this.pairings.update(n,{active:!0,expiry:i}),this.core.expirer.set(n,i)},this.ping=async n=>{this.isInitialized(),await this.isValidPing(n);const{topic:i}=n;if(this.pairings.keys.includes(i)){const s=await this.sendRequest(i,"wc_pairingPing",{}),{done:o,resolve:a,reject:l}=hy();this.events.once(xs("pairing_ping",s),({error:u})=>{u?l(u):a()}),await o()}},this.updateExpiry=async({topic:n,expiry:i})=>{this.isInitialized(),await this.pairings.update(n,{expiry:i})},this.updateMetadata=async({topic:n,metadata:i})=>{this.isInitialized(),await this.pairings.update(n,{peerMetadata:i})},this.getPairings=()=>(this.isInitialized(),this.pairings.values),this.disconnect=async n=>{this.isInitialized(),await this.isValidDisconnect(n);const{topic:i}=n;this.pairings.keys.includes(i)&&(await this.sendRequest(i,"wc_pairingDelete",Wi("USER_DISCONNECTED")),await this.deletePairing(i))},this.sendRequest=async(n,i,s)=>{const o=Zu(i,s),a=await this.core.crypto.encode(n,o),l=n8[i].req;return this.core.history.set(n,o),this.core.relayer.publish(n,a,l),o.id},this.sendResult=async(n,i,s)=>{const o=m1(n,s),a=await this.core.crypto.encode(i,o),l=await this.core.history.get(i,n),u=n8[l.request.method].res;await this.core.relayer.publish(i,a,u),await this.core.history.resolve(o)},this.sendError=async(n,i,s)=>{const o=by(n,s),a=await this.core.crypto.encode(i,o),l=await this.core.history.get(i,n),u=n8[l.request.method]?n8[l.request.method].res:n8.unregistered_method.res;await this.core.relayer.publish(i,a,u),await this.core.history.resolve(o)},this.deletePairing=async(n,i)=>{await this.core.relayer.unsubscribe(n),await Promise.all([this.pairings.delete(n,Wi("USER_DISCONNECTED")),this.core.crypto.deleteSymKey(n),i?Promise.resolve():this.core.expirer.del(n)])},this.cleanup=async()=>{const n=this.pairings.getAll().filter(i=>d1(i.expiry));await Promise.all(n.map(i=>this.deletePairing(i.topic)))},this.onRelayEventRequest=n=>{const{topic:i,payload:s}=n;switch(s.method){case"wc_pairingPing":return this.onPairingPingRequest(i,s);case"wc_pairingDelete":return this.onPairingDeleteRequest(i,s);default:return this.onUnknownRpcMethodRequest(i,s)}},this.onRelayEventResponse=async n=>{const{topic:i,payload:s}=n,o=(await this.core.history.get(i,s.id)).request.method;switch(o){case"wc_pairingPing":return this.onPairingPingResponse(i,s);default:return this.onUnknownRpcMethodResponse(o)}},this.onPairingPingRequest=async(n,i)=>{const{id:s}=i;try{this.isValidPing({topic:n}),await this.sendResult(s,n,!0),this.events.emit(i8.ping,{id:s,topic:n})}catch(o){await this.sendError(s,n,o),this.logger.error(o)}},this.onPairingPingResponse=(n,i)=>{const{id:s}=i;setTimeout(()=>{yo(i)?this.events.emit(xs("pairing_ping",s),{}):_s(i)&&this.events.emit(xs("pairing_ping",s),{error:i.error})},500)},this.onPairingDeleteRequest=async(n,i)=>{const{id:s}=i;try{this.isValidDisconnect({topic:n}),await this.deletePairing(n),this.events.emit(i8.delete,{id:s,topic:n})}catch(o){await this.sendError(s,n,o),this.logger.error(o)}},this.onUnknownRpcMethodRequest=async(n,i)=>{const{id:s,method:o}=i;try{if(this.registeredMethods.includes(o))return;const a=Wi("WC_METHOD_UNSUPPORTED",o);await this.sendError(s,n,a),this.logger.error(a)}catch(a){await this.sendError(s,n,a),this.logger.error(a)}},this.onUnknownRpcMethodResponse=n=>{this.registeredMethods.includes(n)||this.logger.error(Wi("WC_METHOD_UNSUPPORTED",n))},this.isValidPair=n=>{var i;if(!gc(n)){const{message:o}=Wt("MISSING_OR_INVALID",`pair() params: ${n}`);throw new Error(o)}if(!mNe(n.uri)){const{message:o}=Wt("MISSING_OR_INVALID",`pair() uri: ${n.uri}`);throw new Error(o)}const s=fae(n.uri);if(!((i=s==null?void 0:s.relay)!=null&&i.protocol)){const{message:o}=Wt("MISSING_OR_INVALID","pair() uri#relay-protocol");throw new Error(o)}if(!(s!=null&&s.symKey)){const{message:o}=Wt("MISSING_OR_INVALID","pair() uri#symKey");throw new Error(o)}if(s!=null&&s.expiryTimestamp&&Ye.toMiliseconds(s==null?void 0:s.expiryTimestamp){if(!gc(n)){const{message:s}=Wt("MISSING_OR_INVALID",`ping() params: ${n}`);throw new Error(s)}const{topic:i}=n;await this.isValidPairingTopic(i)},this.isValidDisconnect=async n=>{if(!gc(n)){const{message:s}=Wt("MISSING_OR_INVALID",`disconnect() params: ${n}`);throw new Error(s)}const{topic:i}=n;await this.isValidPairingTopic(i)},this.isValidPairingTopic=async n=>{if(!wo(n,!1)){const{message:i}=Wt("MISSING_OR_INVALID",`pairing topic should be a string: ${n}`);throw new Error(i)}if(!this.pairings.keys.includes(n)){const{message:i}=Wt("NO_MATCHING_KEY",`pairing topic doesn't exist: ${n}`);throw new Error(i)}if(d1(this.pairings.get(n).expiry)){await this.deletePairing(n);const{message:i}=Wt("EXPIRED",`pairing topic: ${n}`);throw new Error(i)}},this.core=e,this.logger=pi(t,this.name),this.pairings=new AS(this.core,this.logger,this.name,this.storagePrefix)}get context(){return yi(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=Wt("NOT_INITIALIZED",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(ga.message,async e=>{const{topic:t,message:n}=e;if(!this.pairings.keys.includes(t)||this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(n)))return;const i=await this.core.crypto.decode(t,n);try{wy(i)?(this.core.history.set(t,i),this.onRelayEventRequest({topic:t,payload:i})):Bm(i)&&(await this.core.history.resolve(i),await this.onRelayEventResponse({topic:t,payload:i}),this.core.history.delete(t,i.id))}catch(s){this.logger.error(s)}})}registerExpirerEvents(){this.core.expirer.on(Jl.expired,async e=>{const{topic:t}=lae(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(i8.expire,{topic:t}))})}},hBe=class extends XPe{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.records=new Map,this.events=new fi.EventEmitter,this.name=L$e,this.version=U$e,this.cached=[],this.initialized=!1,this.storagePrefix=b1,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(n=>this.records.set(n.id,n)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.set=(n,i,s)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:n,request:i,chainId:s}),this.records.has(i.id))return;const o={id:i.id,topic:n,request:{method:i.method,params:i.params||null},chainId:s,expiry:Vc(Ye.THIRTY_DAYS)};this.records.set(o.id,o),this.events.emit(bf.created,o)},this.resolve=async n=>{if(this.isInitialized(),this.logger.debug("Updating JSON-RPC response history record"),this.logger.trace({type:"method",method:"update",response:n}),!this.records.has(n.id))return;const i=await this.getRecord(n.id);typeof i.response>"u"&&(i.response=_s(n)?{error:n.error}:{result:n.result},this.records.set(i.id,i),this.events.emit(bf.updated,i))},this.get=async(n,i)=>(this.isInitialized(),this.logger.debug("Getting record"),this.logger.trace({type:"method",method:"get",topic:n,id:i}),await this.getRecord(i)),this.delete=(n,i)=>{this.isInitialized(),this.logger.debug("Deleting record"),this.logger.trace({type:"method",method:"delete",id:i}),this.values.forEach(s=>{if(s.topic===n){if(typeof i<"u"&&s.id!==i)return;this.records.delete(s.id),this.events.emit(bf.deleted,s)}})},this.exists=async(n,i)=>(this.isInitialized(),this.records.has(i)?(await this.getRecord(i)).topic===n:!1),this.on=(n,i)=>{this.events.on(n,i)},this.once=(n,i)=>{this.events.once(n,i)},this.off=(n,i)=>{this.events.off(n,i)},this.removeListener=(n,i)=>{this.events.removeListener(n,i)},this.logger=pi(t,this.name)}get context(){return yi(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){const e=[];return this.values.forEach(t=>{if(typeof t.response<"u")return;const n={topic:t.topic,request:Zu(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(n)}),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();const t=this.records.get(e);if(!t){const{message:n}=Wt("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(n)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(bf.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){const{message:t}=Wt("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}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(bf.created,e=>{const t=bf.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e}),this.persist()}),this.events.on(bf.updated,e=>{const t=bf.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e}),this.persist()}),this.events.on(bf.deleted,e=>{const t=bf.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e}),this.persist()}),this.core.heartbeat.on(Ku.HEARTBEAT_EVENTS.pulse,()=>{this.cleanup()})}cleanup(){try{this.records.forEach(e=>{Ye.toMiliseconds(e.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${e.id}`),this.delete(e.topic,e.id))})}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=Wt("NOT_INITIALIZED",this.name);throw new Error(e)}}},fBe=class extends sOe{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.expirations=new Map,this.events=new fi.EventEmitter,this.name=F$e,this.version=j$e,this.cached=[],this.initialized=!1,this.storagePrefix=b1,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(n=>this.expirations.set(n.target,n)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.has=n=>{try{const i=this.formatTarget(n);return typeof this.getExpiration(i)<"u"}catch{return!1}},this.set=(n,i)=>{this.isInitialized();const s=this.formatTarget(n),o={target:s,expiry:i};this.expirations.set(s,o),this.checkExpiry(s,o),this.events.emit(Jl.created,{target:s,expiration:o})},this.get=n=>{this.isInitialized();const i=this.formatTarget(n);return this.getExpiration(i)},this.del=n=>{if(this.isInitialized(),this.has(n)){const i=this.formatTarget(n),s=this.getExpiration(i);this.expirations.delete(i),this.events.emit(Jl.deleted,{target:i,expiration:s})}},this.on=(n,i)=>{this.events.on(n,i)},this.once=(n,i)=>{this.events.once(n,i)},this.off=(n,i)=>{this.events.off(n,i)},this.removeListener=(n,i)=>{this.events.removeListener(n,i)},this.logger=pi(t,this.name)}get context(){return yi(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(typeof e=="string")return GMe(e);if(typeof e=="number")return KMe(e);const{message:t}=Wt("UNKNOWN_TYPE",`Target type: ${typeof e}`);throw new 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(Jl.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){const{message:t}=Wt("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}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){const t=this.expirations.get(e);if(!t){const{message:n}=Wt("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(n),new Error(n)}return t}checkExpiry(e,t){const{expiry:n}=t;Ye.toMiliseconds(n)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(Jl.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(Ku.HEARTBEAT_EVENTS.pulse,()=>this.checkExpirations()),this.events.on(Jl.created,e=>{const t=Jl.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(Jl.expired,e=>{const t=Jl.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(Jl.deleted,e=>{const t=Jl.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=Wt("NOT_INITIALIZED",this.name);throw new Error(e)}}},dBe=class extends oOe{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,this.name=gB,this.initialized=!1,this.queue=[],this.verifyDisabled=!1,this.init=async n=>{if(this.verifyDisabled||ly()||!uy())return;const i=this.getVerifyUrl(n==null?void 0:n.verifyUrl);this.verifyUrl!==i&&this.removeIframe(),this.verifyUrl=i;try{await this.createIframe()}catch(s){this.logger.info(`Verify iframe failed to load: ${this.verifyUrl}`),this.logger.info(s)}if(!this.initialized){this.removeIframe(),this.verifyUrl=mB;try{await this.createIframe()}catch(s){this.logger.info(`Verify iframe failed to load: ${this.verifyUrl}`),this.logger.info(s),this.verifyDisabled=!0}}},this.register=async n=>{this.initialized?this.sendPost(n.attestationId):(this.addToQueue(n.attestationId),await this.init())},this.resolve=async n=>{if(this.isDevEnv)return"";const i=this.getVerifyUrl(n==null?void 0:n.verifyUrl);let s;try{s=await this.fetchAttestation(n.attestationId,i)}catch(o){this.logger.info(`failed to resolve attestation: ${n.attestationId} from url: ${i}`),this.logger.info(o),s=await this.fetchAttestation(n.attestationId,mB)}return s},this.fetchAttestation=async(n,i)=>{this.logger.info(`resolving attestation: ${n} from url: ${i}`);const s=this.startAbortTimer(Ye.ONE_SECOND*2),o=await fetch(`${i}/attestation/${n}`,{signal:this.abortController.signal});return clearTimeout(s),o.status===200?await o.json():void 0},this.addToQueue=n=>{this.queue.push(n)},this.processQueue=()=>{this.queue.length!==0&&(this.queue.forEach(n=>this.sendPost(n)),this.queue=[])},this.sendPost=n=>{var i;try{if(!this.iframe)return;(i=this.iframe.contentWindow)==null||i.postMessage(n,"*"),this.logger.info(`postMessage sent: ${n} ${this.verifyUrl}`)}catch{}},this.createIframe=async()=>{let n;const i=s=>{s.data==="verify_ready"&&(this.initialized=!0,this.processQueue(),window.removeEventListener("message",i),n())};await Promise.race([new Promise(s=>{if(document.getElementById(gB))return s();window.addEventListener("message",i);const o=document.createElement("iframe");o.id=gB,o.src=`${this.verifyUrl}/${this.projectId}`,o.style.display="none",document.body.append(o),this.iframe=o,n=s}),new Promise((s,o)=>setTimeout(()=>{window.removeEventListener("message",i),o("verify iframe load timeout")},Ye.toMiliseconds(Ye.FIVE_SECONDS)))])},this.removeIframe=()=>{this.iframe&&(this.iframe.remove(),this.iframe=void 0,this.initialized=!1)},this.getVerifyUrl=n=>{let i=n||vy;return z$e.includes(i)||(this.logger.info(`verify url: ${i}, not included in trusted list, assigning default: ${vy}`),i=vy),i},this.logger=pi(t,this.name),this.verifyUrl=vy,this.abortController=new AbortController,this.isDevEnv=G$()&&yt.env.IS_VITEST}get context(){return yi(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),Ye.toMiliseconds(e))}},pBe=class extends aOe{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,this.context=H$e,this.registerDeviceToken=async n=>{const{clientId:i,token:s,notificationType:o,enableEncrypted:a=!1}=n,l=`${q$e}/${this.projectId}/clients`;await cce(l,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:i,type:o,token:s,always_raw:a})})},this.logger=pi(t,this.context)}};var gBe=Object.defineProperty,Lce=Object.getOwnPropertySymbols,mBe=Object.prototype.hasOwnProperty,bBe=Object.prototype.propertyIsEnumerable,Uce=(r,e,t)=>e in r?gBe(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Fce=(r,e)=>{for(var t in e||(e={}))mBe.call(e,t)&&Uce(r,t,e[t]);if(Lce)for(var t of Lce(e))bBe.call(e,t)&&Uce(r,t,e[t]);return r};const wBe=class kge extends QPe{constructor(e){super(e),this.protocol=Sce,this.version=p$e,this.name=pB,this.events=new fi.EventEmitter,this.initialized=!1,this.on=(n,i)=>this.events.on(n,i),this.once=(n,i)=>this.events.once(n,i),this.off=(n,i)=>this.events.off(n,i),this.removeListener=(n,i)=>this.events.removeListener(n,i),this.projectId=e==null?void 0:e.projectId,this.relayUrl=(e==null?void 0:e.relayUrl)||Tce,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:"";const t=typeof(e==null?void 0:e.logger)<"u"&&typeof(e==null?void 0:e.logger)!="string"?e.logger:Hd(p1({level:(e==null?void 0:e.logger)||g$e.logger}));this.logger=pi(t,this.name),this.heartbeat=new Ku.HeartBeat,this.crypto=new V$e(this,this.logger,e==null?void 0:e.keychain),this.history=new hBe(this,this.logger),this.expirer=new fBe(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new Sae(Fce(Fce({},m$e),e==null?void 0:e.storageOptions)),this.relayer=new oBe({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new uBe(this,this.logger),this.verify=new dBe(this.projectId||"",this.logger),this.echoClient=new pBe(this.projectId||"",this.logger)}static async init(e){const t=new kge(e);await t.initialize();const n=await t.crypto.getClientId();return await t.storage.setItem(N$e,n),t}get context(){return yi(this.logger)}async start(){this.initialized||await this.initialize()}async initialize(){this.logger.trace("Initialized");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.initialized=!0,this.logger.info("Core Initialization Success")}catch(e){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,e),this.logger.error(e.message),e}}},jce="wc",zce=2,Hce="client",wB=`${jce}@${zce}:${Hce}:`,vB={name:Hce,logger:"error",controller:!1,relayUrl:"wss://relay.walletconnect.com"},qce="WALLETCONNECT_DEEPLINK_CHOICE",vBe="proposal",Wce="Proposal expired",yBe="session",CS=Ye.SEVEN_DAYS,xBe="engine",Kd={wc_sessionPropose:{req:{ttl:Ye.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:Ye.FIVE_MINUTES,prompt:!1,tag:1101}},wc_sessionSettle:{req:{ttl:Ye.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:Ye.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:Ye.ONE_DAY,prompt:!1,tag:1104},res:{ttl:Ye.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:Ye.ONE_DAY,prompt:!1,tag:1106},res:{ttl:Ye.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:Ye.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:Ye.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:Ye.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:Ye.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:Ye.ONE_DAY,prompt:!1,tag:1112},res:{ttl:Ye.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:Ye.THIRTY_SECONDS,prompt:!1,tag:1114},res:{ttl:Ye.THIRTY_SECONDS,prompt:!1,tag:1115}}},yB={min:Ye.FIVE_MINUTES,max:Ye.SEVEN_DAYS},Zd={idle:"IDLE",active:"ACTIVE"},_Be="request",EBe=["wc_sessionPropose","wc_sessionRequest","wc_authRequest"];var ABe=Object.defineProperty,CBe=Object.defineProperties,SBe=Object.getOwnPropertyDescriptors,Vce=Object.getOwnPropertySymbols,IBe=Object.prototype.hasOwnProperty,RBe=Object.prototype.propertyIsEnumerable,Gce=(r,e,t)=>e in r?ABe(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,$a=(r,e)=>{for(var t in e||(e={}))IBe.call(e,t)&&Gce(r,t,e[t]);if(Vce)for(var t of Vce(e))RBe.call(e,t)&&Gce(r,t,e[t]);return r},yy=(r,e)=>CBe(r,SBe(e));let TBe=class extends lOe{constructor(e){super(e),this.name=xBe,this.events=new ty,this.initialized=!1,this.ignoredPayloadTypes=[Pm],this.requestQueue={state:Zd.idle,queue:[]},this.sessionRequestQueue={state:Zd.idle,queue:[]},this.requestQueueDelay=Ye.ONE_SECOND,this.init=async()=>{this.initialized||(await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.registerPairingEvents(),this.client.core.pairing.register({methods:Object.keys(Kd)}),this.initialized=!0,setTimeout(()=>{this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},Ye.toMiliseconds(this.requestQueueDelay)))},this.connect=async t=>{await this.isInitialized();const n=yy($a({},t),{requiredNamespaces:t.requiredNamespaces||{},optionalNamespaces:t.optionalNamespaces||{}});await this.isValidConnect(n);const{pairingTopic:i,requiredNamespaces:s,optionalNamespaces:o,sessionProperties:a,relays:l}=n;let u=i,h,p=!1;if(u&&(p=this.client.core.pairing.pairings.get(u).active),!u||!p){const{topic:B,uri:j}=await this.client.core.pairing.create();u=B,h=j}const g=await this.client.core.crypto.generateKeyPair(),w=Kd.wc_sessionPropose.req.ttl||Ye.FIVE_MINUTES,y=Vc(w),C=$a({requiredNamespaces:s,optionalNamespaces:o,relays:l??[{protocol:Rce}],proposer:{publicKey:g,metadata:this.client.metadata},expiryTimestamp:y},a&&{sessionProperties:a}),{reject:R,resolve:k,done:M}=hy(w,Wce);if(this.events.once(xs("session_connect"),async({error:B,session:j})=>{if(B)R(B);else if(j){j.self.publicKey=g;const G=yy($a({},j),{requiredNamespaces:C.requiredNamespaces,optionalNamespaces:C.optionalNamespaces});await this.client.session.set(j.topic,G),await this.setExpiry(j.topic,j.expiry),u&&await this.client.core.pairing.updateMetadata({topic:u,metadata:j.peer.metadata}),k(G)}}),!u){const{message:B}=Wt("NO_MATCHING_KEY",`connect() pairing topic: ${u}`);throw new Error(B)}const O=await this.sendRequest({topic:u,method:"wc_sessionPropose",params:C,throwOnFailedPublish:!0});return await this.setProposal(O,$a({id:O},C)),{uri:h,approval:M}},this.pair=async t=>(await this.isInitialized(),await this.client.core.pairing.pair(t)),this.approve=async t=>{await this.isInitialized(),await this.isValidApprove(t);const{id:n,relayProtocol:i,namespaces:s,sessionProperties:o}=t,a=this.client.proposal.get(n);let{pairingTopic:l,proposer:u,requiredNamespaces:h,optionalNamespaces:p}=a;l=l||"";const g=await this.client.core.crypto.generateKeyPair(),w=u.publicKey,y=await this.client.core.crypto.generateSharedKey(g,w);l&&n&&(await this.client.core.pairing.updateMetadata({topic:l,metadata:u.metadata}),await this.sendResult({id:n,topic:l,result:{relay:{protocol:i??"irn"},responderPublicKey:g}}),await this.client.proposal.delete(n,Wi("USER_DISCONNECTED")),await this.client.core.pairing.activate({topic:l}));const C=$a({relay:{protocol:i??"irn"},namespaces:s,pairingTopic:l,controller:{publicKey:g,metadata:this.client.metadata},expiry:Vc(CS)},o&&{sessionProperties:o});await this.client.core.relayer.subscribe(y);const R=yy($a({},C),{topic:y,requiredNamespaces:h,optionalNamespaces:p,pairingTopic:l,acknowledged:!1,self:C.controller,peer:{publicKey:u.publicKey,metadata:u.metadata},controller:g});await this.client.session.set(y,R);try{await this.sendRequest({topic:y,method:"wc_sessionSettle",params:C,throwOnFailedPublish:!0})}catch(k){throw this.client.logger.error(k),this.client.session.delete(y,Wi("USER_DISCONNECTED")),await this.client.core.relayer.unsubscribe(y),k}return await this.setExpiry(y,Vc(CS)),{topic:y,acknowledged:()=>new Promise(k=>setTimeout(()=>k(this.client.session.get(y)),500))}},this.reject=async t=>{await this.isInitialized(),await this.isValidReject(t);const{id:n,reason:i}=t,{pairingTopic:s}=this.client.proposal.get(n);s&&(await this.sendError(n,s,i),await this.client.proposal.delete(n,Wi("USER_DISCONNECTED")))},this.update=async t=>{await this.isInitialized(),await this.isValidUpdate(t);const{topic:n,namespaces:i}=t,s=await this.sendRequest({topic:n,method:"wc_sessionUpdate",params:{namespaces:i}}),{done:o,resolve:a,reject:l}=hy();return this.events.once(xs("session_update",s),({error:u})=>{u?l(u):a()}),await this.client.session.update(n,{namespaces:i}),{acknowledged:o}},this.extend=async t=>{await this.isInitialized(),await this.isValidExtend(t);const{topic:n}=t,i=await this.sendRequest({topic:n,method:"wc_sessionExtend",params:{}}),{done:s,resolve:o,reject:a}=hy();return this.events.once(xs("session_extend",i),({error:l})=>{l?a(l):o()}),await this.setExpiry(n,Vc(CS)),{acknowledged:s}},this.request=async t=>{await this.isInitialized(),await this.isValidRequest(t);const{chainId:n,request:i,topic:s,expiry:o=Kd.wc_sessionRequest.req.ttl}=t,a=Vd(),{done:l,resolve:u,reject:h}=hy(o,"Request expired. Please try again.");return this.events.once(xs("session_request",a),({error:p,result:g})=>{p?h(p):u(g)}),await Promise.all([new Promise(async p=>{await this.sendRequest({clientRpcId:a,topic:s,method:"wc_sessionRequest",params:{request:yy($a({},i),{expiryTimestamp:Vc(o)}),chainId:n},expiry:o,throwOnFailedPublish:!0}).catch(g=>h(g)),this.client.events.emit("session_request_sent",{topic:s,request:i,chainId:n,id:a}),p()}),new Promise(async p=>{const g=await JMe(this.client.core.storage,qce);ZMe({id:a,topic:s,wcDeepLink:g}),p()}),l()]).then(p=>p[2])},this.respond=async t=>{await this.isInitialized(),await this.isValidRespond(t);const{topic:n,response:i}=t,{id:s}=i;yo(i)?await this.sendResult({id:s,topic:n,result:i.result,throwOnFailedPublish:!0}):_s(i)&&await this.sendError(s,n,i.error),this.cleanupAfterResponse(t)},this.ping=async t=>{await this.isInitialized(),await this.isValidPing(t);const{topic:n}=t;if(this.client.session.keys.includes(n)){const i=await this.sendRequest({topic:n,method:"wc_sessionPing",params:{}}),{done:s,resolve:o,reject:a}=hy();this.events.once(xs("session_ping",i),({error:l})=>{l?a(l):o()}),await s()}else this.client.core.pairing.pairings.keys.includes(n)&&await this.client.core.pairing.ping({topic:n})},this.emit=async t=>{await this.isInitialized(),await this.isValidEmit(t);const{topic:n,event:i,chainId:s}=t;await this.sendRequest({topic:n,method:"wc_sessionEvent",params:{event:i,chainId:s}})},this.disconnect=async t=>{await this.isInitialized(),await this.isValidDisconnect(t);const{topic:n}=t;if(this.client.session.keys.includes(n))await this.sendRequest({topic:n,method:"wc_sessionDelete",params:Wi("USER_DISCONNECTED"),throwOnFailedPublish:!0}),await this.deleteSession({topic:n,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(n))await this.client.core.pairing.disconnect({topic:n});else{const{message:i}=Wt("MISMATCHED_TOPIC",`Session or pairing topic not found: ${n}`);throw new Error(i)}},this.find=t=>(this.isInitialized(),this.client.session.getAll().filter(n=>pNe(n,t))),this.getPendingSessionRequests=()=>this.client.pendingRequest.getAll(),this.cleanupDuplicatePairings=async t=>{if(t.pairingTopic)try{const n=this.client.core.pairing.pairings.get(t.pairingTopic),i=this.client.core.pairing.pairings.getAll().filter(s=>{var o,a;return((o=s.peerMetadata)==null?void 0:o.url)&&((a=s.peerMetadata)==null?void 0:a.url)===t.peer.metadata.url&&s.topic&&s.topic!==n.topic});if(i.length===0)return;this.client.logger.info(`Cleaning up ${i.length} duplicate pairing(s)`),await Promise.all(i.map(s=>this.client.core.pairing.disconnect({topic:s.topic}))),this.client.logger.info("Duplicate pairings clean up finished")}catch(n){this.client.logger.error(n)}},this.deleteSession=async t=>{const{topic:n,expirerHasDeleted:i=!1,emitEvent:s=!0,id:o=0}=t,{self:a}=this.client.session.get(n);await this.client.core.relayer.unsubscribe(n),await this.client.session.delete(n,Wi("USER_DISCONNECTED")),this.client.core.crypto.keychain.has(a.publicKey)&&await this.client.core.crypto.deleteKeyPair(a.publicKey),this.client.core.crypto.keychain.has(n)&&await this.client.core.crypto.deleteSymKey(n),i||this.client.core.expirer.del(n),this.client.core.storage.removeItem(qce).catch(l=>this.client.logger.warn(l)),this.getPendingSessionRequests().forEach(l=>{l.topic===n&&this.deletePendingSessionRequest(l.id,Wi("USER_DISCONNECTED"))}),s&&this.client.events.emit("session_delete",{id:o,topic:n})},this.deleteProposal=async(t,n)=>{await Promise.all([this.client.proposal.delete(t,Wi("USER_DISCONNECTED")),n?Promise.resolve():this.client.core.expirer.del(t)])},this.deletePendingSessionRequest=async(t,n,i=!1)=>{await Promise.all([this.client.pendingRequest.delete(t,n),i?Promise.resolve():this.client.core.expirer.del(t)]),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(s=>s.id!==t),i&&(this.sessionRequestQueue.state=Zd.idle,this.client.events.emit("session_request_expire",{id:t}))},this.setExpiry=async(t,n)=>{this.client.session.keys.includes(t)&&await this.client.session.update(t,{expiry:n}),this.client.core.expirer.set(t,n)},this.setProposal=async(t,n)=>{await this.client.proposal.set(t,n),this.client.core.expirer.set(t,Vc(Kd.wc_sessionPropose.req.ttl))},this.setPendingSessionRequest=async t=>{const{id:n,topic:i,params:s,verifyContext:o}=t,a=s.request.expiryTimestamp||Vc(Kd.wc_sessionRequest.req.ttl);await this.client.pendingRequest.set(n,{id:n,topic:i,params:s,verifyContext:o}),a&&this.client.core.expirer.set(n,a)},this.sendRequest=async t=>{const{topic:n,method:i,params:s,expiry:o,relayRpcId:a,clientRpcId:l,throwOnFailedPublish:u}=t,h=Zu(i,s,l);if(uy()&&EBe.includes(i)){const w=cy(JSON.stringify(h));this.client.core.verify.register({attestationId:w})}const p=await this.client.core.crypto.encode(n,h),g=Kd[i].req;return o&&(g.ttl=o),a&&(g.id=a),this.client.core.history.set(n,h),u?(g.internal=yy($a({},g.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(n,p,g)):this.client.core.relayer.publish(n,p,g).catch(w=>this.client.logger.error(w)),h.id},this.sendResult=async t=>{const{id:n,topic:i,result:s,throwOnFailedPublish:o}=t,a=m1(n,s),l=await this.client.core.crypto.encode(i,a),u=await this.client.core.history.get(i,n),h=Kd[u.request.method].res;o?(h.internal=yy($a({},h.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(i,l,h)):this.client.core.relayer.publish(i,l,h).catch(p=>this.client.logger.error(p)),await this.client.core.history.resolve(a)},this.sendError=async(t,n,i)=>{const s=by(t,i),o=await this.client.core.crypto.encode(n,s),a=await this.client.core.history.get(n,t),l=Kd[a.request.method].res;this.client.core.relayer.publish(n,o,l),await this.client.core.history.resolve(s)},this.cleanup=async()=>{const t=[],n=[];this.client.session.getAll().forEach(i=>{let s=!1;d1(i.expiry)&&(s=!0),this.client.core.crypto.keychain.has(i.topic)||(s=!0),s&&t.push(i.topic)}),this.client.proposal.getAll().forEach(i=>{d1(i.expiryTimestamp)&&n.push(i.id)}),await Promise.all([...t.map(i=>this.deleteSession({topic:i})),...n.map(i=>this.deleteProposal(i))])},this.onRelayEventRequest=async t=>{this.requestQueue.queue.push(t),await this.processRequestsQueue()},this.processRequestsQueue=async()=>{if(this.requestQueue.state===Zd.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=Zd.active;const t=this.requestQueue.queue.shift();if(t)try{this.processRequest(t),await new Promise(n=>setTimeout(n,300))}catch(n){this.client.logger.warn(n)}}this.requestQueue.state=Zd.idle},this.processRequest=t=>{const{topic:n,payload:i}=t,s=i.method;switch(s){case"wc_sessionPropose":return this.onSessionProposeRequest(n,i);case"wc_sessionSettle":return this.onSessionSettleRequest(n,i);case"wc_sessionUpdate":return this.onSessionUpdateRequest(n,i);case"wc_sessionExtend":return this.onSessionExtendRequest(n,i);case"wc_sessionPing":return this.onSessionPingRequest(n,i);case"wc_sessionDelete":return this.onSessionDeleteRequest(n,i);case"wc_sessionRequest":return this.onSessionRequest(n,i);case"wc_sessionEvent":return this.onSessionEventRequest(n,i);default:return this.client.logger.info(`Unsupported request method ${s}`)}},this.onRelayEventResponse=async t=>{const{topic:n,payload:i}=t,s=(await this.client.core.history.get(n,i.id)).request.method;switch(s){case"wc_sessionPropose":return this.onSessionProposeResponse(n,i);case"wc_sessionSettle":return this.onSessionSettleResponse(n,i);case"wc_sessionUpdate":return this.onSessionUpdateResponse(n,i);case"wc_sessionExtend":return this.onSessionExtendResponse(n,i);case"wc_sessionPing":return this.onSessionPingResponse(n,i);case"wc_sessionRequest":return this.onSessionRequestResponse(n,i);default:return this.client.logger.info(`Unsupported response method ${s}`)}},this.onRelayEventUnknownPayload=t=>{const{topic:n}=t,{message:i}=Wt("MISSING_OR_INVALID",`Decoded payload on topic ${n} is not identifiable as a JSON-RPC request or a response.`);throw new Error(i)},this.onSessionProposeRequest=async(t,n)=>{const{params:i,id:s}=n;try{this.isValidConnect($a({},n.params));const o=i.expiryTimestamp||Vc(Kd.wc_sessionPropose.req.ttl),a=$a({id:s,pairingTopic:t,expiryTimestamp:o},i);await this.setProposal(s,a);const l=cy(JSON.stringify(n)),u=await this.getVerifyContext(l,a.proposer.metadata);this.client.events.emit("session_proposal",{id:s,params:a,verifyContext:u})}catch(o){await this.sendError(s,t,o),this.client.logger.error(o)}},this.onSessionProposeResponse=async(t,n)=>{const{id:i}=n;if(yo(n)){const{result:s}=n;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:s});const o=this.client.proposal.get(i);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:o});const a=o.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:a});const l=s.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:l});const u=await this.client.core.crypto.generateSharedKey(a,l);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",sessionTopic:u});const h=await this.client.core.relayer.subscribe(u);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:h}),await this.client.core.pairing.activate({topic:t})}else _s(n)&&(await this.client.proposal.delete(i,Wi("USER_DISCONNECTED")),this.events.emit(xs("session_connect"),{error:n.error}))},this.onSessionSettleRequest=async(t,n)=>{const{id:i,params:s}=n;try{this.isValidSessionSettleRequest(s);const{relay:o,controller:a,expiry:l,namespaces:u,sessionProperties:h,pairingTopic:p}=n.params,g=$a({topic:t,relay:o,expiry:l,namespaces:u,acknowledged:!0,pairingTopic:p,requiredNamespaces:{},optionalNamespaces:{},controller:a.publicKey,self:{publicKey:"",metadata:this.client.metadata},peer:{publicKey:a.publicKey,metadata:a.metadata}},h&&{sessionProperties:h});await this.sendResult({id:n.id,topic:t,result:!0}),this.events.emit(xs("session_connect"),{session:g}),this.cleanupDuplicatePairings(g)}catch(o){await this.sendError(i,t,o),this.client.logger.error(o)}},this.onSessionSettleResponse=async(t,n)=>{const{id:i}=n;yo(n)?(await this.client.session.update(t,{acknowledged:!0}),this.events.emit(xs("session_approve",i),{})):_s(n)&&(await this.client.session.delete(t,Wi("USER_DISCONNECTED")),this.events.emit(xs("session_approve",i),{error:n.error}))},this.onSessionUpdateRequest=async(t,n)=>{const{params:i,id:s}=n;try{const o=`${t}_session_update`,a=hS.get(o);if(a&&this.isRequestOutOfSync(a,s)){this.client.logger.info(`Discarding out of sync request - ${s}`);return}this.isValidUpdate($a({topic:t},i)),await this.client.session.update(t,{namespaces:i.namespaces}),await this.sendResult({id:s,topic:t,result:!0}),this.client.events.emit("session_update",{id:s,topic:t,params:i}),hS.set(o,s)}catch(o){await this.sendError(s,t,o),this.client.logger.error(o)}},this.isRequestOutOfSync=(t,n)=>parseInt(n.toString().slice(0,-3))<=parseInt(t.toString().slice(0,-3)),this.onSessionUpdateResponse=(t,n)=>{const{id:i}=n;yo(n)?this.events.emit(xs("session_update",i),{}):_s(n)&&this.events.emit(xs("session_update",i),{error:n.error})},this.onSessionExtendRequest=async(t,n)=>{const{id:i}=n;try{this.isValidExtend({topic:t}),await this.setExpiry(t,Vc(CS)),await this.sendResult({id:i,topic:t,result:!0}),this.client.events.emit("session_extend",{id:i,topic:t})}catch(s){await this.sendError(i,t,s),this.client.logger.error(s)}},this.onSessionExtendResponse=(t,n)=>{const{id:i}=n;yo(n)?this.events.emit(xs("session_extend",i),{}):_s(n)&&this.events.emit(xs("session_extend",i),{error:n.error})},this.onSessionPingRequest=async(t,n)=>{const{id:i}=n;try{this.isValidPing({topic:t}),await this.sendResult({id:i,topic:t,result:!0}),this.client.events.emit("session_ping",{id:i,topic:t})}catch(s){await this.sendError(i,t,s),this.client.logger.error(s)}},this.onSessionPingResponse=(t,n)=>{const{id:i}=n;setTimeout(()=>{yo(n)?this.events.emit(xs("session_ping",i),{}):_s(n)&&this.events.emit(xs("session_ping",i),{error:n.error})},500)},this.onSessionDeleteRequest=async(t,n)=>{const{id:i}=n;try{this.isValidDisconnect({topic:t,reason:n.params}),await Promise.all([new Promise(s=>{this.client.core.relayer.once(ga.publish,async()=>{s(await this.deleteSession({topic:t,id:i}))})}),this.sendResult({id:i,topic:t,result:!0}),this.cleanupPendingSentRequestsForTopic({topic:t,error:Wi("USER_DISCONNECTED")})])}catch(s){this.client.logger.error(s)}},this.onSessionRequest=async(t,n)=>{const{id:i,params:s}=n;try{this.isValidRequest($a({topic:t},s));const o=cy(JSON.stringify(Zu("wc_sessionRequest",s,i))),a=this.client.session.get(t),l=await this.getVerifyContext(o,a.peer.metadata),u={id:i,topic:t,params:s,verifyContext:l};await this.setPendingSessionRequest(u),this.addSessionRequestToSessionRequestQueue(u),this.processSessionRequestQueue()}catch(o){await this.sendError(i,t,o),this.client.logger.error(o)}},this.onSessionRequestResponse=(t,n)=>{const{id:i}=n;yo(n)?this.events.emit(xs("session_request",i),{result:n.result}):_s(n)&&this.events.emit(xs("session_request",i),{error:n.error})},this.onSessionEventRequest=async(t,n)=>{const{id:i,params:s}=n;try{const o=`${t}_session_event_${s.event.name}`,a=hS.get(o);if(a&&this.isRequestOutOfSync(a,i)){this.client.logger.info(`Discarding out of sync request - ${i}`);return}this.isValidEmit($a({topic:t},s)),this.client.events.emit("session_event",{id:i,topic:t,params:s}),hS.set(o,i)}catch(o){await this.sendError(i,t,o),this.client.logger.error(o)}},this.addSessionRequestToSessionRequestQueue=t=>{this.sessionRequestQueue.queue.push(t)},this.cleanupAfterResponse=t=>{this.deletePendingSessionRequest(t.response.id,{message:"fulfilled",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=Zd.idle,this.processSessionRequestQueue()},Ye.toMiliseconds(this.requestQueueDelay))},this.cleanupPendingSentRequestsForTopic=({topic:t,error:n})=>{const i=this.client.core.history.pending;i.length>0&&i.filter(s=>s.topic===t&&s.request.method==="wc_sessionRequest").forEach(s=>{this.events.emit(xs("session_request",s.request.id),{error:n})})},this.processSessionRequestQueue=()=>{if(this.sessionRequestQueue.state===Zd.active){this.client.logger.info("session request queue is already active.");return}const t=this.sessionRequestQueue.queue[0];if(!t){this.client.logger.info("session request queue is empty.");return}try{this.sessionRequestQueue.state=Zd.active,this.client.events.emit("session_request",t)}catch(n){this.client.logger.error(n)}},this.onPairingCreated=t=>{if(t.active)return;const n=this.client.proposal.getAll().find(i=>i.pairingTopic===t.topic);n&&this.onSessionProposeRequest(t.topic,Zu("wc_sessionPropose",{requiredNamespaces:n.requiredNamespaces,optionalNamespaces:n.optionalNamespaces,relays:n.relays,proposer:n.proposer,sessionProperties:n.sessionProperties},n.id))},this.isValidConnect=async t=>{if(!gc(t)){const{message:l}=Wt("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(t)}`);throw new Error(l)}const{pairingTopic:n,requiredNamespaces:i,optionalNamespaces:s,sessionProperties:o,relays:a}=t;if(Da(n)||await this.isValidPairingTopic(n),!SNe(a,!0)){const{message:l}=Wt("MISSING_OR_INVALID",`connect() relays: ${a}`);throw new Error(l)}!Da(i)&&K6(i)!==0&&this.validateNamespaces(i,"requiredNamespaces"),!Da(s)&&K6(s)!==0&&this.validateNamespaces(s,"optionalNamespaces"),Da(o)||this.validateSessionProps(o,"sessionProperties")},this.validateNamespaces=(t,n)=>{const i=CNe(t,"connect()",n);if(i)throw new Error(i.message)},this.isValidApprove=async t=>{if(!gc(t))throw new Error(Wt("MISSING_OR_INVALID",`approve() params: ${t}`).message);const{id:n,namespaces:i,relayProtocol:s,sessionProperties:o}=t;await this.isValidProposalId(n);const a=this.client.proposal.get(n),l=Q$(i,"approve()");if(l)throw new Error(l.message);const u=bae(a.requiredNamespaces,i,"approve()");if(u)throw new Error(u.message);if(!wo(s,!0)){const{message:h}=Wt("MISSING_OR_INVALID",`approve() relayProtocol: ${s}`);throw new Error(h)}Da(o)||this.validateSessionProps(o,"sessionProperties")},this.isValidReject=async t=>{if(!gc(t)){const{message:s}=Wt("MISSING_OR_INVALID",`reject() params: ${t}`);throw new Error(s)}const{id:n,reason:i}=t;if(await this.isValidProposalId(n),!RNe(i)){const{message:s}=Wt("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(i)}`);throw new Error(s)}},this.isValidSessionSettleRequest=t=>{if(!gc(t)){const{message:u}=Wt("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${t}`);throw new Error(u)}const{relay:n,controller:i,namespaces:s,expiry:o}=t;if(!gae(n)){const{message:u}=Wt("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw new Error(u)}const a=vNe(i,"onSessionSettleRequest()");if(a)throw new Error(a.message);const l=Q$(s,"onSessionSettleRequest()");if(l)throw new Error(l.message);if(d1(o)){const{message:u}=Wt("EXPIRED","onSessionSettleRequest()");throw new Error(u)}},this.isValidUpdate=async t=>{if(!gc(t)){const{message:l}=Wt("MISSING_OR_INVALID",`update() params: ${t}`);throw new Error(l)}const{topic:n,namespaces:i}=t;await this.isValidSessionTopic(n);const s=this.client.session.get(n),o=Q$(i,"update()");if(o)throw new Error(o.message);const a=bae(s.requiredNamespaces,i,"update()");if(a)throw new Error(a.message)},this.isValidExtend=async t=>{if(!gc(t)){const{message:i}=Wt("MISSING_OR_INVALID",`extend() params: ${t}`);throw new Error(i)}const{topic:n}=t;await this.isValidSessionTopic(n)},this.isValidRequest=async t=>{if(!gc(t)){const{message:l}=Wt("MISSING_OR_INVALID",`request() params: ${t}`);throw new Error(l)}const{topic:n,request:i,chainId:s,expiry:o}=t;await this.isValidSessionTopic(n);const{namespaces:a}=this.client.session.get(n);if(!mae(a,s)){const{message:l}=Wt("MISSING_OR_INVALID",`request() chainId: ${s}`);throw new Error(l)}if(!TNe(i)){const{message:l}=Wt("MISSING_OR_INVALID",`request() ${JSON.stringify(i)}`);throw new Error(l)}if(!NNe(a,s,i.method)){const{message:l}=Wt("MISSING_OR_INVALID",`request() method: ${i.method}`);throw new Error(l)}if(o&&!$Ne(o,yB)){const{message:l}=Wt("MISSING_OR_INVALID",`request() expiry: ${o}. Expiry must be a number (in seconds) between ${yB.min} and ${yB.max}`);throw new Error(l)}},this.isValidRespond=async t=>{var n;if(!gc(t)){const{message:o}=Wt("MISSING_OR_INVALID",`respond() params: ${t}`);throw new Error(o)}const{topic:i,response:s}=t;try{await this.isValidSessionTopic(i)}catch(o){throw(n=t==null?void 0:t.response)!=null&&n.id&&this.cleanupAfterResponse(t),o}if(!kNe(s)){const{message:o}=Wt("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(s)}`);throw new Error(o)}},this.isValidPing=async t=>{if(!gc(t)){const{message:i}=Wt("MISSING_OR_INVALID",`ping() params: ${t}`);throw new Error(i)}const{topic:n}=t;await this.isValidSessionOrPairingTopic(n)},this.isValidEmit=async t=>{if(!gc(t)){const{message:a}=Wt("MISSING_OR_INVALID",`emit() params: ${t}`);throw new Error(a)}const{topic:n,event:i,chainId:s}=t;await this.isValidSessionTopic(n);const{namespaces:o}=this.client.session.get(n);if(!mae(o,s)){const{message:a}=Wt("MISSING_OR_INVALID",`emit() chainId: ${s}`);throw new Error(a)}if(!MNe(i)){const{message:a}=Wt("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(i)}`);throw new Error(a)}if(!PNe(o,s,i.name)){const{message:a}=Wt("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(i)}`);throw new Error(a)}},this.isValidDisconnect=async t=>{if(!gc(t)){const{message:i}=Wt("MISSING_OR_INVALID",`disconnect() params: ${t}`);throw new Error(i)}const{topic:n}=t;await this.isValidSessionOrPairingTopic(n)},this.getVerifyContext=async(t,n)=>{const i={verified:{verifyUrl:n.verifyUrl||vy,validation:"UNKNOWN",origin:n.url||""}};try{const s=await this.client.core.verify.resolve({attestationId:t,verifyUrl:n.verifyUrl});s&&(i.verified.origin=s.origin,i.verified.isScam=s.isScam,i.verified.validation=s.origin===new URL(n.url).origin?"VALID":"INVALID")}catch(s){this.client.logger.info(s)}return this.client.logger.info(`Verify context: ${JSON.stringify(i)}`),i},this.validateSessionProps=(t,n)=>{Object.values(t).forEach(i=>{if(!wo(i,!1)){const{message:s}=Wt("MISSING_OR_INVALID",`${n} must be in Record format. Received: ${JSON.stringify(i)}`);throw new Error(s)}})}}async isInitialized(){if(!this.initialized){const{message:e}=Wt("NOT_INITIALIZED",this.name);throw new Error(e)}await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(ga.message,async e=>{const{topic:t,message:n}=e;if(this.ignoredPayloadTypes.includes(this.client.core.crypto.getPayloadType(n)))return;const i=await this.client.core.crypto.decode(t,n);try{wy(i)?(this.client.core.history.set(t,i),this.onRelayEventRequest({topic:t,payload:i})):Bm(i)?(await this.client.core.history.resolve(i),await this.onRelayEventResponse({topic:t,payload:i}),this.client.core.history.delete(t,i.id)):this.onRelayEventUnknownPayload({topic:t,payload:i})}catch(s){this.client.logger.error(s)}})}registerExpirerEvents(){this.client.core.expirer.on(Jl.expired,async e=>{const{topic:t,id:n}=lae(e.target);if(n&&this.client.pendingRequest.keys.includes(n))return await this.deletePendingSessionRequest(n,Wt("EXPIRED"),!0);t?this.client.session.keys.includes(t)&&(await this.deleteSession({topic:t,expirerHasDeleted:!0}),this.client.events.emit("session_expire",{topic:t})):n&&(await this.deleteProposal(n,!0),this.client.events.emit("proposal_expire",{id:n}))})}registerPairingEvents(){this.client.core.pairing.events.on(i8.create,e=>this.onPairingCreated(e))}isValidPairingTopic(e){if(!wo(e,!1)){const{message:t}=Wt("MISSING_OR_INVALID",`pairing topic should be a string: ${e}`);throw new Error(t)}if(!this.client.core.pairing.pairings.keys.includes(e)){const{message:t}=Wt("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw new Error(t)}if(d1(this.client.core.pairing.pairings.get(e).expiry)){const{message:t}=Wt("EXPIRED",`pairing topic: ${e}`);throw new Error(t)}}async isValidSessionTopic(e){if(!wo(e,!1)){const{message:t}=Wt("MISSING_OR_INVALID",`session topic should be a string: ${e}`);throw new Error(t)}if(!this.client.session.keys.includes(e)){const{message:t}=Wt("NO_MATCHING_KEY",`session topic doesn't exist: ${e}`);throw new Error(t)}if(d1(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});const{message:t}=Wt("EXPIRED",`session topic: ${e}`);throw new Error(t)}if(!this.client.core.crypto.keychain.has(e)){const{message:t}=Wt("MISSING_OR_INVALID",`session topic does not exist in keychain: ${e}`);throw await this.deleteSession({topic:e}),new Error(t)}}async isValidSessionOrPairingTopic(e){if(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(wo(e,!1)){const{message:t}=Wt("NO_MATCHING_KEY",`session or pairing topic doesn't exist: ${e}`);throw new Error(t)}else{const{message:t}=Wt("MISSING_OR_INVALID",`session or pairing topic should be a string: ${e}`);throw new Error(t)}}async isValidProposalId(e){if(!INe(e)){const{message:t}=Wt("MISSING_OR_INVALID",`proposal id should be a number: ${e}`);throw new Error(t)}if(!this.client.proposal.keys.includes(e)){const{message:t}=Wt("NO_MATCHING_KEY",`proposal id doesn't exist: ${e}`);throw new Error(t)}if(d1(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);const{message:t}=Wt("EXPIRED",`proposal id: ${e}`);throw new Error(t)}}},kBe=class extends AS{constructor(e,t){super(e,t,vBe,wB),this.core=e,this.logger=t}},MBe=class extends AS{constructor(e,t){super(e,t,yBe,wB),this.core=e,this.logger=t}},NBe=class extends AS{constructor(e,t){super(e,t,_Be,wB,n=>n.id),this.core=e,this.logger=t}},PBe=class Mge extends cOe{constructor(e){super(e),this.protocol=jce,this.version=zce,this.name=vB.name,this.events=new fi.EventEmitter,this.on=(n,i)=>this.events.on(n,i),this.once=(n,i)=>this.events.once(n,i),this.off=(n,i)=>this.events.off(n,i),this.removeListener=(n,i)=>this.events.removeListener(n,i),this.removeAllListeners=n=>this.events.removeAllListeners(n),this.connect=async n=>{try{return await this.engine.connect(n)}catch(i){throw this.logger.error(i.message),i}},this.pair=async n=>{try{return await this.engine.pair(n)}catch(i){throw this.logger.error(i.message),i}},this.approve=async n=>{try{return await this.engine.approve(n)}catch(i){throw this.logger.error(i.message),i}},this.reject=async n=>{try{return await this.engine.reject(n)}catch(i){throw this.logger.error(i.message),i}},this.update=async n=>{try{return await this.engine.update(n)}catch(i){throw this.logger.error(i.message),i}},this.extend=async n=>{try{return await this.engine.extend(n)}catch(i){throw this.logger.error(i.message),i}},this.request=async n=>{try{return await this.engine.request(n)}catch(i){throw this.logger.error(i.message),i}},this.respond=async n=>{try{return await this.engine.respond(n)}catch(i){throw this.logger.error(i.message),i}},this.ping=async n=>{try{return await this.engine.ping(n)}catch(i){throw this.logger.error(i.message),i}},this.emit=async n=>{try{return await this.engine.emit(n)}catch(i){throw this.logger.error(i.message),i}},this.disconnect=async n=>{try{return await this.engine.disconnect(n)}catch(i){throw this.logger.error(i.message),i}},this.find=n=>{try{return this.engine.find(n)}catch(i){throw this.logger.error(i.message),i}},this.getPendingSessionRequests=()=>{try{return this.engine.getPendingSessionRequests()}catch(n){throw this.logger.error(n.message),n}},this.name=(e==null?void 0:e.name)||vB.name,this.metadata=(e==null?void 0:e.metadata)||zMe();const t=typeof(e==null?void 0:e.logger)<"u"&&typeof(e==null?void 0:e.logger)!="string"?e.logger:Hd(p1({level:(e==null?void 0:e.logger)||vB.logger}));this.core=(e==null?void 0:e.core)||new wBe(e),this.logger=pi(t,this.name),this.session=new MBe(this.core,this.logger),this.proposal=new kBe(this.core,this.logger),this.pendingRequest=new NBe(this.core,this.logger),this.engine=new TBe(this)}static async init(e){const t=new Mge(e);return await t.initialize(),t}get context(){return yi(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace("Initialized");try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.engine.init(),this.core.verify.init({verifyUrl:this.metadata.verifyUrl}),this.logger.info("SignClient Initialization Success")}catch(e){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(e.message),e}}};var xB={exports:{}};(function(r,e){var t=typeof self<"u"?self:ct,n=function(){function s(){this.fetch=!1,this.DOMException=t.DOMException}return s.prototype=t,new s}();(function(s){(function(o){var a={searchParams:"URLSearchParams"in s,iterable:"Symbol"in s&&"iterator"in Symbol,blob:"FileReader"in s&&"Blob"in s&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in s,arrayBuffer:"ArrayBuffer"in s};function l(d){return d&&DataView.prototype.isPrototypeOf(d)}if(a.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],h=ArrayBuffer.isView||function(d){return d&&u.indexOf(Object.prototype.toString.call(d))>-1};function p(d){if(typeof d!="string"&&(d=String(d)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(d))throw new TypeError("Invalid character in header field name");return d.toLowerCase()}function g(d){return typeof d!="string"&&(d=String(d)),d}function w(d){var m={next:function(){var x=d.shift();return{done:x===void 0,value:x}}};return a.iterable&&(m[Symbol.iterator]=function(){return m}),m}function y(d){this.map={},d instanceof y?d.forEach(function(m,x){this.append(x,m)},this):Array.isArray(d)?d.forEach(function(m){this.append(m[0],m[1])},this):d&&Object.getOwnPropertyNames(d).forEach(function(m){this.append(m,d[m])},this)}y.prototype.append=function(d,m){d=p(d),m=g(m);var x=this.map[d];this.map[d]=x?x+", "+m:m},y.prototype.delete=function(d){delete this.map[p(d)]},y.prototype.get=function(d){return d=p(d),this.has(d)?this.map[d]:null},y.prototype.has=function(d){return this.map.hasOwnProperty(p(d))},y.prototype.set=function(d,m){this.map[p(d)]=g(m)},y.prototype.forEach=function(d,m){for(var x in this.map)this.map.hasOwnProperty(x)&&d.call(m,this.map[x],x,this)},y.prototype.keys=function(){var d=[];return this.forEach(function(m,x){d.push(x)}),w(d)},y.prototype.values=function(){var d=[];return this.forEach(function(m){d.push(m)}),w(d)},y.prototype.entries=function(){var d=[];return this.forEach(function(m,x){d.push([x,m])}),w(d)},a.iterable&&(y.prototype[Symbol.iterator]=y.prototype.entries);function C(d){if(d.bodyUsed)return Promise.reject(new TypeError("Already read"));d.bodyUsed=!0}function R(d){return new Promise(function(m,x){d.onload=function(){m(d.result)},d.onerror=function(){x(d.error)}})}function k(d){var m=new FileReader,x=R(m);return m.readAsArrayBuffer(d),x}function M(d){var m=new FileReader,x=R(m);return m.readAsText(d),x}function O(d){for(var m=new Uint8Array(d),x=new Array(m.length),A=0;A-1?m:d}function $(d,m){m=m||{};var x=m.body;if(d instanceof $){if(d.bodyUsed)throw new TypeError("Already read");this.url=d.url,this.credentials=d.credentials,m.headers||(this.headers=new y(d.headers)),this.method=d.method,this.mode=d.mode,this.signal=d.signal,!x&&d._bodyInit!=null&&(x=d._bodyInit,d.bodyUsed=!0)}else this.url=String(d);if(this.credentials=m.credentials||this.credentials||"same-origin",(m.headers||!this.headers)&&(this.headers=new y(m.headers)),this.method=D(m.method||this.method||"GET"),this.mode=m.mode||this.mode||null,this.signal=m.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&x)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(x)}$.prototype.clone=function(){return new $(this,{body:this._bodyInit})};function V(d){var m=new FormData;return d.trim().split("&").forEach(function(x){if(x){var A=x.split("="),I=A.shift().replace(/\+/g," "),T=A.join("=").replace(/\+/g," ");m.append(decodeURIComponent(I),decodeURIComponent(T))}}),m}function te(d){var m=new y,x=d.replace(/\r?\n[\t ]+/g," ");return x.split(/\r?\n/).forEach(function(A){var I=A.split(":"),T=I.shift().trim();if(T){var S=I.join(":").trim();m.append(T,S)}}),m}j.call($.prototype);function W(d,m){m||(m={}),this.type="default",this.status=m.status===void 0?200:m.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in m?m.statusText:"OK",this.headers=new y(m.headers),this.url=m.url||"",this._initBody(d)}j.call(W.prototype),W.prototype.clone=function(){return new W(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new y(this.headers),url:this.url})},W.error=function(){var d=new W(null,{status:0,statusText:""});return d.type="error",d};var P=[301,302,303,307,308];W.redirect=function(d,m){if(P.indexOf(m)===-1)throw new RangeError("Invalid status code");return new W(null,{status:m,headers:{location:d}})},o.DOMException=s.DOMException;try{new o.DOMException}catch{o.DOMException=function(m,x){this.message=m,this.name=x;var A=Error(m);this.stack=A.stack},o.DOMException.prototype=Object.create(Error.prototype),o.DOMException.prototype.constructor=o.DOMException}function b(d,m){return new Promise(function(x,A){var I=new $(d,m);if(I.signal&&I.signal.aborted)return A(new o.DOMException("Aborted","AbortError"));var T=new XMLHttpRequest;function S(){T.abort()}T.onload=function(){var E={status:T.status,statusText:T.statusText,headers:te(T.getAllResponseHeaders()||"")};E.url="responseURL"in T?T.responseURL:E.headers.get("X-Request-URL");var _="response"in T?T.response:T.responseText;x(new W(_,E))},T.onerror=function(){A(new TypeError("Network request failed"))},T.ontimeout=function(){A(new TypeError("Network request failed"))},T.onabort=function(){A(new o.DOMException("Aborted","AbortError"))},T.open(I.method,I.url,!0),I.credentials==="include"?T.withCredentials=!0:I.credentials==="omit"&&(T.withCredentials=!1),"responseType"in T&&a.blob&&(T.responseType="blob"),I.headers.forEach(function(E,_){T.setRequestHeader(_,E)}),I.signal&&(I.signal.addEventListener("abort",S),T.onreadystatechange=function(){T.readyState===4&&I.signal.removeEventListener("abort",S)}),T.send(typeof I._bodyInit>"u"?null:I._bodyInit)})}return b.polyfill=!0,s.fetch||(s.fetch=b,s.Headers=y,s.Request=$,s.Response=W),o.Headers=y,o.Request=$,o.Response=W,o.fetch=b,Object.defineProperty(o,"__esModule",{value:!0}),o})({})})(n),n.fetch.ponyfill=!0,delete n.fetch.polyfill;var i=n;e=i.fetch,e.default=i.fetch,e.fetch=i.fetch,e.Headers=i.Headers,e.Request=i.Request,e.Response=i.Response,r.exports=e})(xB,xB.exports);var OBe=xB.exports;const Kce=Sp(OBe),Zce={headers:{Accept:"application/json","Content-Type":"application/json"},method:"POST"},Jce=10;class ma{constructor(e,t=!1){if(this.url=e,this.disableProviderPing=t,this.events=new fi.EventEmitter,this.isAvailable=!1,this.registering=!1,!ece(e))throw new Error(`Provided URL is not compatible with HTTP connection: ${e}`);this.url=e,this.disableProviderPing=t}get connected(){return this.isAvailable}get connecting(){return this.registering}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 open(e=this.url){await this.register(e)}async close(){if(!this.isAvailable)throw new Error("Connection already closed");this.onClose()}async send(e,t){this.isAvailable||await this.register();try{const n=gf(e),s=await(await Kce(this.url,Object.assign(Object.assign({},Zce),{body:n}))).json();this.onPayload({data:s})}catch(n){this.onError(e.id,n)}}async register(e=this.url){if(!ece(e))throw new Error(`Provided URL is not compatible with HTTP connection: ${e}`);if(this.registering){const t=this.events.getMaxListeners();return(this.events.listenerCount("register_error")>=t||this.events.listenerCount("open")>=t)&&this.events.setMaxListeners(t+1),new Promise((n,i)=>{this.events.once("register_error",s=>{this.resetMaxListeners(),i(s)}),this.events.once("open",()=>{if(this.resetMaxListeners(),typeof this.isAvailable>"u")return i(new Error("HTTP connection is missing or invalid"));n()})})}this.url=e,this.registering=!0;try{if(!this.disableProviderPing){const t=gf({id:1,jsonrpc:"2.0",method:"test",params:[]});await Kce(e,Object.assign(Object.assign({},Zce),{body:t}))}this.onOpen()}catch(t){const n=this.parseError(t);throw this.events.emit("register_error",n),this.onClose(),n}}onOpen(){this.isAvailable=!0,this.registering=!1,this.events.emit("open")}onClose(){this.isAvailable=!1,this.registering=!1,this.events.emit("close")}onPayload(e){if(typeof e.data>"u")return;const t=typeof e.data=="string"?dy(e.data):e.data;this.events.emit("payload",t)}onError(e,t){const n=this.parseError(t),i=n.message||n.toString(),s=by(e,i);this.events.emit("payload",s)}parseError(e,t=this.url){return Zae(e,t,"HTTP")}resetMaxListeners(){this.events.getMaxListeners()>Jce&&this.events.setMaxListeners(Jce)}}const Yce="error",DBe="wss://relay.walletconnect.com",$Be="wc",BBe="universal_provider",Qce=`${$Be}@2:${BBe}:`,LBe="https://rpc.walletconnect.com/v1/",Jd={DEFAULT_CHAIN_CHANGED:"default_chain_changed"};var o8=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof dr<"u"?dr:typeof self<"u"?self:{},_B={exports:{}};/** + Approved: ${g.toString()}`))}),o.forEach(p=>{n||(Om(i[p].methods,s[p].methods)?Om(i[p].events,s[p].events)||(n=Wt("NON_CONFORMING_NAMESPACES",`${t} namespaces events don't satisfy namespace events for ${p}`)):n=Wt("NON_CONFORMING_NAMESPACES",`${t} namespaces methods don't satisfy namespace methods for ${p}`))}),n}function bNe(r){const e={};return Object.keys(r).forEach(t=>{var n;t.includes(":")?e[t]=r[t]:(n=r[t].chains)==null||n.forEach(i=>{e[i]={methods:r[t].methods,events:r[t].events}})}),e}function uae(r){return[...new Set(r.map(e=>e.includes(":")?e.split(":")[0]:e))]}function wNe(r){const e={};return Object.keys(r).forEach(t=>{if(t.includes(":"))e[t]=r[t];else{const n=uy(r[t].accounts);n==null||n.forEach(i=>{e[i]={accounts:r[t].accounts.filter(s=>s.includes(`${i}:`)),methods:r[t].methods,events:r[t].events}})}}),e}function vNe(r,e){return Y$(r,!1)&&r<=e.max&&r>=e.min}function hae(){const r=z6();return new Promise(e=>{switch(r){case Vc.browser:e(yNe());break;case Vc.reactNative:e(xNe());break;case Vc.node:e(_Ne());break;default:e(!0)}})}function yNe(){return cy()&&(navigator==null?void 0:navigator.onLine)}async function xNe(){if(ay()&&typeof dr<"u"&&dr!=null&&dr.NetInfo){const r=await(dr==null?void 0:dr.NetInfo.fetch());return r==null?void 0:r.isConnected}return!0}function _Ne(){return!0}function ENe(r){switch(z6()){case Vc.browser:ANe(r);break;case Vc.reactNative:CNe(r);break}}function ANe(r){!ay()&&cy()&&(window.addEventListener("online",()=>r(!0)),window.addEventListener("offline",()=>r(!1)))}function CNe(r){ay()&&typeof dr<"u"&&dr!=null&&dr.NetInfo&&(dr==null||dr.NetInfo.addEventListener(e=>r(e==null?void 0:e.isConnected)))}const X$={};let mS=class{static get(e){return X$[e]}static set(e,t){X$[e]=t}static delete(e){delete X$[e]}};const SNe=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,INe=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,TNe=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function RNe(r,e){if(r==="__proto__"||r==="constructor"&&e&&typeof e=="object"&&"prototype"in e){kNe(r);return}return e}function kNe(r){console.warn(`[destr] Dropping "${r}" key to prevent prototype pollution.`)}function bS(r,e={}){if(typeof r!="string")return r;const t=r.trim();if(r[0]==='"'&&r.endsWith('"')&&!r.includes("\\"))return t.slice(1,-1);if(t.length<=9){const n=t.toLowerCase();if(n==="true")return!0;if(n==="false")return!1;if(n==="undefined")return;if(n==="null")return null;if(n==="nan")return Number.NaN;if(n==="infinity")return Number.POSITIVE_INFINITY;if(n==="-infinity")return Number.NEGATIVE_INFINITY}if(!TNe.test(r)){if(e.strict)throw new SyntaxError("[destr] Invalid JSON");return r}try{if(SNe.test(r)||INe.test(r)){if(e.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(r,RNe)}return JSON.parse(r)}catch(n){if(e.strict)throw n;return r}}function MNe(r){return!r||typeof r.then!="function"?Promise.resolve(r):r}function yo(r,...e){try{return MNe(r(...e))}catch(t){return Promise.reject(t)}}function NNe(r){const e=typeof r;return r===null||e!=="object"&&e!=="function"}function PNe(r){const e=Object.getPrototypeOf(r);return!e||e.isPrototypeOf(Object)}function wS(r){if(NNe(r))return String(r);if(PNe(r)||Array.isArray(r))return JSON.stringify(r);if(typeof r.toJSON=="function")return wS(r.toJSON());throw new Error("[unstorage] Cannot stringify value!")}function fae(){if(typeof Dt===void 0)throw new TypeError("[unstorage] Buffer is not supported!")}const eB="base64:";function ONe(r){if(typeof r=="string")return r;fae();const e=Dt.from(r).toString("base64");return eB+e}function DNe(r){return typeof r!="string"||!r.startsWith(eB)?r:(fae(),Dt.from(r.slice(eB.length),"base64"))}function gc(r){return r?r.split("?")[0].replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,""):""}function $Ne(...r){return gc(r.join(":"))}function vS(r){return r=gc(r),r?r+":":""}function jat(r){return r}const BNe="memory",LNe=()=>{const r=new Map;return{name:BNe,options:{},hasItem(e){return r.has(e)},getItem(e){return r.get(e)??null},getItemRaw(e){return r.get(e)??null},setItem(e,t){r.set(e,t)},setItemRaw(e,t){r.set(e,t)},removeItem(e){r.delete(e)},getKeys(){return Array.from(r.keys())},clear(){r.clear()},dispose(){r.clear()}}};function UNe(r={}){const e={mounts:{"":r.driver||LNe()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},t=u=>{for(const h of e.mountpoints)if(u.startsWith(h))return{base:h,relativeKey:u.slice(h.length),driver:e.mounts[h]};return{base:"",relativeKey:u,driver:e.mounts[""]}},n=(u,h)=>e.mountpoints.filter(p=>p.startsWith(u)||h&&u.startsWith(p)).map(p=>({relativeBase:u.length>p.length?u.slice(p.length):void 0,mountpoint:p,driver:e.mounts[p]})),i=(u,h)=>{if(e.watching){h=gc(h);for(const p of e.watchListeners)p(u,h)}},s=async()=>{if(!e.watching){e.watching=!0;for(const u in e.mounts)e.unwatch[u]=await dae(e.mounts[u],i,u)}},o=async()=>{if(e.watching){for(const u in e.unwatch)await e.unwatch[u]();e.unwatch={},e.watching=!1}},a=(u,h,p)=>{const g=new Map,w=y=>{let C=g.get(y.base);return C||(C={driver:y.driver,base:y.base,items:[]},g.set(y.base,C)),C};for(const y of u){const C=typeof y=="string",T=gc(C?y:y.key),k=C?void 0:y.value,N=C||!y.options?h:{...h,...y.options},O=t(T);w(O).items.push({key:T,value:k,relativeKey:O.relativeKey,options:N})}return Promise.all([...g.values()].map(y=>p(y))).then(y=>y.flat())},l={hasItem(u,h={}){u=gc(u);const{relativeKey:p,driver:g}=t(u);return yo(g.hasItem,p,h)},getItem(u,h={}){u=gc(u);const{relativeKey:p,driver:g}=t(u);return yo(g.getItem,p,h).then(w=>bS(w))},getItems(u,h){return a(u,h,p=>p.driver.getItems?yo(p.driver.getItems,p.items.map(g=>({key:g.relativeKey,options:g.options})),h).then(g=>g.map(w=>({key:$Ne(p.base,w.key),value:bS(w.value)}))):Promise.all(p.items.map(g=>yo(p.driver.getItem,g.relativeKey,g.options).then(w=>({key:g.key,value:bS(w)})))))},getItemRaw(u,h={}){u=gc(u);const{relativeKey:p,driver:g}=t(u);return g.getItemRaw?yo(g.getItemRaw,p,h):yo(g.getItem,p,h).then(w=>DNe(w))},async setItem(u,h,p={}){if(h===void 0)return l.removeItem(u);u=gc(u);const{relativeKey:g,driver:w}=t(u);w.setItem&&(await yo(w.setItem,g,wS(h),p),w.watch||i("update",u))},async setItems(u,h){await a(u,h,async p=>{if(p.driver.setItems)return yo(p.driver.setItems,p.items.map(g=>({key:g.relativeKey,value:wS(g.value),options:g.options})),h);p.driver.setItem&&await Promise.all(p.items.map(g=>yo(p.driver.setItem,g.relativeKey,wS(g.value),g.options)))})},async setItemRaw(u,h,p={}){if(h===void 0)return l.removeItem(u,p);u=gc(u);const{relativeKey:g,driver:w}=t(u);if(w.setItemRaw)await yo(w.setItemRaw,g,h,p);else if(w.setItem)await yo(w.setItem,g,ONe(h),p);else return;w.watch||i("update",u)},async removeItem(u,h={}){typeof h=="boolean"&&(h={removeMeta:h}),u=gc(u);const{relativeKey:p,driver:g}=t(u);g.removeItem&&(await yo(g.removeItem,p,h),(h.removeMeta||h.removeMata)&&await yo(g.removeItem,p+"$",h),g.watch||i("remove",u))},async getMeta(u,h={}){typeof h=="boolean"&&(h={nativeOnly:h}),u=gc(u);const{relativeKey:p,driver:g}=t(u),w=Object.create(null);if(g.getMeta&&Object.assign(w,await yo(g.getMeta,p,h)),!h.nativeOnly){const y=await yo(g.getItem,p+"$",h).then(C=>bS(C));y&&typeof y=="object"&&(typeof y.atime=="string"&&(y.atime=new Date(y.atime)),typeof y.mtime=="string"&&(y.mtime=new Date(y.mtime)),Object.assign(w,y))}return w},setMeta(u,h,p={}){return this.setItem(u+"$",h,p)},removeMeta(u,h={}){return this.removeItem(u+"$",h)},async getKeys(u,h={}){u=vS(u);const p=n(u,!0);let g=[];const w=[];for(const y of p){const T=(await yo(y.driver.getKeys,y.relativeBase,h)).map(k=>y.mountpoint+gc(k)).filter(k=>!g.some(N=>k.startsWith(N)));w.push(...T),g=[y.mountpoint,...g.filter(k=>!k.startsWith(y.mountpoint))]}return u?w.filter(y=>y.startsWith(u)&&!y.endsWith("$")):w.filter(y=>!y.endsWith("$"))},async clear(u,h={}){u=vS(u),await Promise.all(n(u,!1).map(async p=>{if(p.driver.clear)return yo(p.driver.clear,p.relativeBase,h);if(p.driver.removeItem){const g=await p.driver.getKeys(p.relativeBase||"",h);return Promise.all(g.map(w=>p.driver.removeItem(w,h)))}}))},async dispose(){await Promise.all(Object.values(e.mounts).map(u=>pae(u)))},async watch(u){return await s(),e.watchListeners.push(u),async()=>{e.watchListeners=e.watchListeners.filter(h=>h!==u),e.watchListeners.length===0&&await o()}},async unwatch(){e.watchListeners=[],await o()},mount(u,h){if(u=vS(u),u&&e.mounts[u])throw new Error(`already mounted at ${u}`);return u&&(e.mountpoints.push(u),e.mountpoints.sort((p,g)=>g.length-p.length)),e.mounts[u]=h,e.watching&&Promise.resolve(dae(h,i,u)).then(p=>{e.unwatch[u]=p}).catch(console.error),l},async unmount(u,h=!0){u=vS(u),!(!u||!e.mounts[u])&&(e.watching&&u in e.unwatch&&(e.unwatch[u](),delete e.unwatch[u]),h&&await pae(e.mounts[u]),e.mountpoints=e.mountpoints.filter(p=>p!==u),delete e.mounts[u])},getMount(u=""){u=gc(u)+":";const h=t(u);return{driver:h.driver,base:h.base}},getMounts(u="",h={}){return u=gc(u),n(u,h.parents).map(g=>({driver:g.driver,base:g.mountpoint}))}};return l}function dae(r,e,t){return r.watch?r.watch((n,i)=>e(n,t+i)):()=>{}}async function pae(r){typeof r.dispose=="function"&&await yo(r.dispose)}function Dm(r){return new Promise((e,t)=>{r.oncomplete=r.onsuccess=()=>e(r.result),r.onabort=r.onerror=()=>t(r.error)})}function gae(r,e){const t=indexedDB.open(r);t.onupgradeneeded=()=>t.result.createObjectStore(e);const n=Dm(t);return(i,s)=>n.then(o=>s(o.transaction(e,i).objectStore(e)))}let tB;function V6(){return tB||(tB=gae("keyval-store","keyval")),tB}function mae(r,e=V6()){return e("readonly",t=>Dm(t.get(r)))}function FNe(r,e,t=V6()){return t("readwrite",n=>(n.put(e,r),Dm(n.transaction)))}function jNe(r,e=V6()){return e("readwrite",t=>(t.delete(r),Dm(t.transaction)))}function zNe(r=V6()){return r("readwrite",e=>(e.clear(),Dm(e.transaction)))}function HNe(r,e){return r.openCursor().onsuccess=function(){this.result&&(e(this.result),this.result.continue())},Dm(r.transaction)}function qNe(r=V6()){return r("readonly",e=>{if(e.getAllKeys)return Dm(e.getAllKeys());const t=[];return HNe(e,n=>t.push(n.key)).then(()=>t)})}const WNe=r=>JSON.stringify(r,(e,t)=>typeof t=="bigint"?t.toString()+"n":t),VNe=r=>{const e=/([\[:])?(\d{17,}|(?:[9](?:[1-9]07199254740991|0[1-9]7199254740991|00[8-9]199254740991|007[2-9]99254740991|007199[3-9]54740991|0071992[6-9]4740991|00719925[5-9]740991|007199254[8-9]40991|0071992547[5-9]0991|00719925474[1-9]991|00719925474099[2-9])))([,\}\]])/g,t=r.replace(e,'$1"$2n"$3');return JSON.parse(t,(n,i)=>typeof i=="string"&&i.match(/^\d+n$/)?BigInt(i.substring(0,i.length-1)):i)};function hy(r){if(typeof r!="string")throw new Error(`Cannot safe json parse value of type ${typeof r}`);try{return VNe(r)}catch{return r}}function gf(r){return typeof r=="string"?r:WNe(r)||""}const GNe="idb-keyval";var KNe=(r={})=>{const e=r.base&&r.base.length>0?`${r.base}:`:"",t=i=>e+i;let n;return r.dbName&&r.storeName&&(n=gae(r.dbName,r.storeName)),{name:GNe,options:r,async hasItem(i){return!(typeof await mae(t(i),n)>"u")},async getItem(i){return await mae(t(i),n)??null},setItem(i,s){return FNe(t(i),s,n)},removeItem(i){return jNe(t(i),n)},getKeys(){return qNe(n)},clear(){return zNe(n)}}};const ZNe="WALLET_CONNECT_V2_INDEXED_DB",JNe="keyvaluestorage";let YNe=class{constructor(){this.indexedDb=UNe({driver:KNe({dbName:ZNe,storeName:JNe})})}async getKeys(){return this.indexedDb.getKeys()}async getEntries(){return(await this.indexedDb.getItems(await this.indexedDb.getKeys())).map(e=>[e.key,e.value])}async getItem(e){const t=await this.indexedDb.getItem(e);if(t!==null)return t}async setItem(e,t){await this.indexedDb.setItem(e,gf(t))}async removeItem(e){await this.indexedDb.removeItem(e)}};var rB=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof dr<"u"?dr:typeof self<"u"?self:{},yS={exports:{}};(function(){let r;function e(){}r=e,r.prototype.getItem=function(t){return this.hasOwnProperty(t)?String(this[t]):null},r.prototype.setItem=function(t,n){this[t]=String(n)},r.prototype.removeItem=function(t){delete this[t]},r.prototype.clear=function(){const t=this;Object.keys(t).forEach(function(n){t[n]=void 0,delete t[n]})},r.prototype.key=function(t){return t=t||0,Object.keys(this)[t]},r.prototype.__defineGetter__("length",function(){return Object.keys(this).length}),typeof rB<"u"&&rB.localStorage?yS.exports=rB.localStorage:typeof window<"u"&&window.localStorage?yS.exports=window.localStorage:yS.exports=new e})();function QNe(r){var e;return[r[0],hy((e=r[1])!=null?e:"")]}let XNe=class{constructor(){this.localStorage=yS.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(QNe)}async getItem(e){const t=this.localStorage.getItem(e);if(t!==null)return hy(t)}async setItem(e,t){this.localStorage.setItem(e,gf(t))}async removeItem(e){this.localStorage.removeItem(e)}};const ePe="wc_storage_version",bae=1,tPe=async(r,e,t)=>{const n=ePe,i=await e.getItem(n);if(i&&i>=bae){t(e);return}const s=await r.getKeys();if(!s.length){t(e);return}const o=[];for(;s.length;){const a=s.shift();if(!a)continue;const l=a.toLowerCase();if(l.includes("wc@")||l.includes("walletconnect")||l.includes("wc_")||l.includes("wallet_connect")){const u=await r.getItem(a);await e.setItem(a,u),o.push(a)}}await e.setItem(n,bae),t(e),rPe(r,o)},rPe=async(r,e)=>{e.length&&e.forEach(async t=>{await r.removeItem(t)})};let wae=class{constructor(){this.initialized=!1,this.setInitialized=t=>{this.storage=t,this.initialized=!0};const e=new XNe;this.storage=e;try{const t=new YNe;tPe(e,t,this.setInitialized)}catch{this.initialized=!0}}async getKeys(){return await this.initialize(),this.storage.getKeys()}async getEntries(){return await this.initialize(),this.storage.getEntries()}async getItem(e){return await this.initialize(),this.storage.getItem(e)}async setItem(e,t){return await this.initialize(),this.storage.setItem(e,t)}async removeItem(e){return await this.initialize(),this.storage.removeItem(e)}async initialize(){this.initialized||await new Promise(e=>{const t=setInterval(()=>{this.initialized&&(clearInterval(t),e())},20)})}};var Yu={},G6={},nB={},K6={};let Kc=class{};const nPe=ad(Object.freeze(Object.defineProperty({__proto__:null,IEvents:Kc},Symbol.toStringTag,{value:"Module"})));var vae;function iPe(){if(vae)return K6;vae=1,Object.defineProperty(K6,"__esModule",{value:!0}),K6.IHeartBeat=void 0;const r=nPe;class e extends r.IEvents{constructor(n){super()}}return K6.IHeartBeat=e,K6}var yae;function xae(){return yae||(yae=1,function(r){Object.defineProperty(r,"__esModule",{value:!0}),Ju.__exportStar(iPe(),r)}(nB)),nB}var iB={},$m={},_ae;function sPe(){if(_ae)return $m;_ae=1,Object.defineProperty($m,"__esModule",{value:!0}),$m.HEARTBEAT_EVENTS=$m.HEARTBEAT_INTERVAL=void 0;const r=Ye;return $m.HEARTBEAT_INTERVAL=r.FIVE_SECONDS,$m.HEARTBEAT_EVENTS={pulse:"heartbeat_pulse"},$m}var Eae;function Aae(){return Eae||(Eae=1,function(r){Object.defineProperty(r,"__esModule",{value:!0}),Ju.__exportStar(sPe(),r)}(iB)),iB}var Cae;function oPe(){if(Cae)return G6;Cae=1,Object.defineProperty(G6,"__esModule",{value:!0}),G6.HeartBeat=void 0;const r=Ju,e=pn,t=Ye,n=xae(),i=Aae();class s extends n.IHeartBeat{constructor(a){super(a),this.events=new e.EventEmitter,this.interval=i.HEARTBEAT_INTERVAL,this.interval=(a==null?void 0:a.interval)||i.HEARTBEAT_INTERVAL}static init(a){return r.__awaiter(this,void 0,void 0,function*(){const l=new s(a);return yield l.init(),l})}init(){return r.__awaiter(this,void 0,void 0,function*(){yield this.initialize()})}stop(){clearInterval(this.intervalRef)}on(a,l){this.events.on(a,l)}once(a,l){this.events.once(a,l)}off(a,l){this.events.off(a,l)}removeListener(a,l){this.events.removeListener(a,l)}initialize(){return r.__awaiter(this,void 0,void 0,function*(){this.intervalRef=setInterval(()=>this.pulse(),t.toMiliseconds(this.interval))})}pulse(){this.events.emit(i.HEARTBEAT_EVENTS.pulse)}}return G6.HeartBeat=s,G6}(function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=Ju;e.__exportStar(oPe(),r),e.__exportStar(xae(),r),e.__exportStar(Aae(),r)})(Yu);function aPe(r){try{return JSON.stringify(r)}catch{return'"[Circular]"'}}var cPe=lPe;function lPe(r,e,t){var n=t&&t.stringify||aPe,i=1;if(typeof r=="object"&&r!==null){var s=e.length+i;if(s===1)return r;var o=new Array(s);o[0]=n(r);for(var a=1;a-1?p:0,r.charCodeAt(w+1)){case 100:case 102:if(h>=l||e[h]==null)break;p=l||e[h]==null)break;p=l||e[h]===void 0)break;p",p=w+2,w++;break}u+=n(e[h]),p=w+2,w++;break;case 115:if(h>=l)break;p-1&&(s=!1);const o=["error","fatal","warn","info","debug","trace"];typeof t=="function"&&(t.error=t.fatal=t.warn=t.info=t.debug=t.trace=t),r.enabled===!1&&(r.level="silent");const a=r.level||"info",l=Object.create(t);l.log||(l.log=J6),Object.defineProperty(l,"levelVal",{get:h}),Object.defineProperty(l,"level",{get:p,set:g});const u={transmit:e,serialize:i,asObject:r.browser.asObject,levels:o,timestamp:mPe(r)};l.levels=mf.levels,l.level=a,l.setMaxListeners=l.getMaxListeners=l.emit=l.addListener=l.on=l.prependListener=l.once=l.prependOnceListener=l.removeListener=l.removeAllListeners=l.listeners=l.listenerCount=l.eventNames=l.write=l.flush=J6,l.serializers=n,l._serialize=i,l._stdErrSerialize=s,l.child=w,e&&(l._logEvent=sB());function h(){return this.level==="silent"?1/0:this.levels.values[this.level]}function p(){return this._level}function g(y){if(y!=="silent"&&!this.levels.values[y])throw Error("unknown level "+y);this._level=y,fy(u,l,"error","log"),fy(u,l,"fatal","error"),fy(u,l,"warn","error"),fy(u,l,"info","log"),fy(u,l,"debug","log"),fy(u,l,"trace","log")}function w(y,C){if(!y)throw new Error("missing bindings for child Pino");C=C||{},i&&y.serializers&&(C.serializers=y.serializers);const T=C.serializers;if(i&&T){var k=Object.assign({},n,T),N=r.browser.serialize===!0?Object.keys(k):i;delete y.serializers,xS([y],N,k,this._stdErrSerialize)}function O(B){this._childLevel=(B._childLevel|0)+1,this.error=dy(B,y,"error"),this.fatal=dy(B,y,"fatal"),this.warn=dy(B,y,"warn"),this.info=dy(B,y,"info"),this.debug=dy(B,y,"debug"),this.trace=dy(B,y,"trace"),k&&(this.serializers=k,this._serialize=N),e&&(this._logEvent=sB([].concat(B._logEvent.bindings,y)))}return O.prototype=this,new O(this)}return l}mf.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"}},mf.stdSerializers=uPe,mf.stdTimeFunctions=Object.assign({},{nullTime:Iae,epochTime:Tae,unixTime:bPe,isoTime:wPe});function fy(r,e,t,n){const i=Object.getPrototypeOf(e);e[t]=e.levelVal>e.levels.values[t]?J6:i[t]?i[t]:Z6[t]||Z6[n]||J6,fPe(r,e,t)}function fPe(r,e,t){!r.transmit&&e[t]===J6||(e[t]=function(n){return function(){const s=r.timestamp(),o=new Array(arguments.length),a=Object.getPrototypeOf&&Object.getPrototypeOf(this)===Z6?Z6:this;for(var l=0;l-1&&s in t&&(r[i][s]=t[s](r[i][s]))}function dy(r,e,t){return function(){const n=new Array(1+arguments.length);n[0]=e;for(var i=1;ithis.maxSizeInBytes)throw new 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.tail=t):(this.head=t,this.tail=t),this.lengthInNodes++,this.sizeInBytes+=t.size}shift(){if(!this.head)return;const e=this.head;this.head=this.head.next,this.head||(this.tail=null),this.lengthInNodes--,this.sizeInBytes-=e.size}toArray(){const e=[];let t=this.head;for(;t!==null;)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};const t=e.value;return e=e.next,{done:!1,value:t}}}}},kae=class{constructor(e,t=aB){this.level=e??"error",this.levelValue=mc.levels.values[this.level],this.MAX_LOG_SIZE_IN_BYTES=t,this.logs=new Rae(this.MAX_LOG_SIZE_IN_BYTES)}forwardToConsole(e,t){t===mc.levels.values.error?console.error(e):t===mc.levels.values.warn?console.warn(e):t===mc.levels.values.debug?console.debug(e):t===mc.levels.values.trace?console.trace(e):console.log(e)}appendToLogs(e){this.logs.append(gf({timestamp:new Date().toISOString(),log:e}));const t=typeof e=="string"?JSON.parse(e).level:e.level;t>=this.levelValue&&this.forwardToConsole(e,t)}getLogs(){return this.logs}clearLogs(){this.logs=new Rae(this.MAX_LOG_SIZE_IN_BYTES)}getLogArray(){return Array.from(this.logs)}logsToBlob(e){const t=this.getLogArray();return t.push(gf({extraMetadata:e})),new Blob(t,{type:"application/json"})}},_Pe=class{constructor(e,t=aB){this.baseChunkLogger=new kae(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){const t=URL.createObjectURL(this.logsToBlob(e)),n=document.createElement("a");n.href=t,n.download=`walletconnect-logs-${new Date().toISOString()}.txt`,document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(t)}},EPe=class{constructor(e,t=aB){this.baseChunkLogger=new kae(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 APe=Object.defineProperty,CPe=Object.defineProperties,SPe=Object.getOwnPropertyDescriptors,Mae=Object.getOwnPropertySymbols,IPe=Object.prototype.hasOwnProperty,TPe=Object.prototype.propertyIsEnumerable,Nae=(r,e,t)=>e in r?APe(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ES=(r,e)=>{for(var t in e||(e={}))IPe.call(e,t)&&Nae(r,t,e[t]);if(Mae)for(var t of Mae(e))TPe.call(e,t)&&Nae(r,t,e[t]);return r},AS=(r,e)=>CPe(r,SPe(e));function h1(r){return AS(ES({},r),{level:(r==null?void 0:r.level)||yPe.level})}function RPe(r,e=Y6){return r[e]||""}function kPe(r,e,t=Y6){return r[t]=e,r}function xi(r,e=Y6){let t="";return typeof r.bindings>"u"?t=RPe(r,e):t=r.bindings().context||"",t}function MPe(r,e,t=Y6){const n=xi(r,t);return n.trim()?`${n}/${e}`:e}function gi(r,e,t=Y6){const n=MPe(r,e,t),i=r.child({context:n});return kPe(i,n,t)}function NPe(r){var e,t;const n=new _Pe((e=r.opts)==null?void 0:e.level,r.maxSizeInBytes);return{logger:mc(AS(ES({},r.opts),{level:"trace",browser:AS(ES({},(t=r.opts)==null?void 0:t.browser),{write:i=>n.write(i)})})),chunkLoggerController:n}}function PPe(r){var e;const t=new EPe((e=r.opts)==null?void 0:e.level,r.maxSizeInBytes);return{logger:mc(AS(ES({},r.opts),{level:"trace"})),chunkLoggerController:t}}function OPe(r){return typeof r.loggerOverride<"u"&&typeof r.loggerOverride!="string"?{logger:r.loggerOverride,chunkLoggerController:null}:typeof window<"u"?NPe(r):PPe(r)}let DPe=class extends Kc{constructor(e){super(),this.opts=e,this.protocol="wc",this.version=2}},$Pe=class extends Kc{constructor(e,t){super(),this.core=e,this.logger=t,this.records=new Map}},BPe=class{constructor(e,t){this.logger=e,this.core=t}},LPe=class extends Kc{constructor(e,t){super(),this.relayer=e,this.logger=t}},UPe=class extends Kc{constructor(e){super()}},FPe=class{constructor(e,t,n,i){this.core=e,this.logger=t,this.name=n}},jPe=class extends Kc{constructor(e,t){super(),this.relayer=e,this.logger=t}},zPe=class extends Kc{constructor(e,t){super(),this.core=e,this.logger=t}},HPe=class{constructor(e,t){this.projectId=e,this.logger=t}},qPe=class{constructor(e,t){this.projectId=e,this.logger=t}},WPe=class{constructor(e){this.opts=e,this.protocol="wc",this.version=2}},VPe=class{constructor(e){this.client=e}};var cB={},Pae={};(function(r){Object.defineProperty(r,"__esModule",{value:!0});var e=Gr,t=Hc;r.DIGEST_LENGTH=64,r.BLOCK_SIZE=128;var n=function(){function a(){this.digestLength=r.DIGEST_LENGTH,this.blockSize=r.BLOCK_SIZE,this._stateHi=new Int32Array(8),this._stateLo=new Int32Array(8),this._tempHi=new Int32Array(16),this._tempLo=new Int32Array(16),this._buffer=new Uint8Array(256),this._bufferLength=0,this._bytesHashed=0,this._finished=!1,this.reset()}return a.prototype._initState=function(){this._stateHi[0]=1779033703,this._stateHi[1]=3144134277,this._stateHi[2]=1013904242,this._stateHi[3]=2773480762,this._stateHi[4]=1359893119,this._stateHi[5]=2600822924,this._stateHi[6]=528734635,this._stateHi[7]=1541459225,this._stateLo[0]=4089235720,this._stateLo[1]=2227873595,this._stateLo[2]=4271175723,this._stateLo[3]=1595750129,this._stateLo[4]=2917565137,this._stateLo[5]=725511199,this._stateLo[6]=4215389547,this._stateLo[7]=327033209},a.prototype.reset=function(){return this._initState(),this._bufferLength=0,this._bytesHashed=0,this._finished=!1,this},a.prototype.clean=function(){t.wipe(this._buffer),t.wipe(this._tempHi),t.wipe(this._tempLo),this.reset()},a.prototype.update=function(l,u){if(u===void 0&&(u=l.length),this._finished)throw new Error("SHA512: can't update because hash was finished.");var h=0;if(this._bytesHashed+=u,this._bufferLength>0){for(;this._bufferLength0;)this._buffer[this._bufferLength++]=l[h++],u--;this._bufferLength===this.blockSize&&(s(this._tempHi,this._tempLo,this._stateHi,this._stateLo,this._buffer,0,this.blockSize),this._bufferLength=0)}for(u>=this.blockSize&&(h=s(this._tempHi,this._tempLo,this._stateHi,this._stateLo,l,h,u),u%=this.blockSize);u>0;)this._buffer[this._bufferLength++]=l[h++],u--;return this},a.prototype.finish=function(l){if(!this._finished){var u=this._bytesHashed,h=this._bufferLength,p=u/536870912|0,g=u<<3,w=u%128<112?128:256;this._buffer[h]=128;for(var y=h+1;y0?new Uint8Array(this._buffer):void 0,bufferLength:this._bufferLength,bytesHashed:this._bytesHashed}},a.prototype.restoreState=function(l){return this._stateHi.set(l.stateHi),this._stateLo.set(l.stateLo),this._bufferLength=l.bufferLength,l.buffer&&this._buffer.set(l.buffer),this._bytesHashed=l.bytesHashed,this._finished=!1,this},a.prototype.cleanSavedState=function(l){t.wipe(l.stateHi),t.wipe(l.stateLo),l.buffer&&t.wipe(l.buffer),l.bufferLength=0,l.bytesHashed=0},a}();r.SHA512=n;var i=new Int32Array([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,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591]);function s(a,l,u,h,p,g,w){for(var y=u[0],C=u[1],T=u[2],k=u[3],N=u[4],O=u[5],B=u[6],z=u[7],G=h[0],$=h[1],D=h[2],V=h[3],Q=h[4],F=h[5],M=h[6],b=h[7],d,m,x,A,I,R,S,E;w>=128;){for(var _=0;_<16;_++){var L=8*_+g;a[_]=e.readUint32BE(p,L),l[_]=e.readUint32BE(p,L+4)}for(var _=0;_<80;_++){var ie=y,q=C,Y=T,K=k,te=N,re=O,H=B,U=z,W=G,le=$,de=D,Se=V,Me=Q,ke=F,Ke=M,Re=b;if(d=z,m=b,I=m&65535,R=m>>>16,S=d&65535,E=d>>>16,d=(N>>>14|Q<<32-14)^(N>>>18|Q<<32-18)^(Q>>>41-32|N<<32-(41-32)),m=(Q>>>14|N<<32-14)^(Q>>>18|N<<32-18)^(N>>>41-32|Q<<32-(41-32)),I+=m&65535,R+=m>>>16,S+=d&65535,E+=d>>>16,d=N&O^~N&B,m=Q&F^~Q&M,I+=m&65535,R+=m>>>16,S+=d&65535,E+=d>>>16,d=i[_*2],m=i[_*2+1],I+=m&65535,R+=m>>>16,S+=d&65535,E+=d>>>16,d=a[_%16],m=l[_%16],I+=m&65535,R+=m>>>16,S+=d&65535,E+=d>>>16,R+=I>>>16,S+=R>>>16,E+=S>>>16,x=S&65535|E<<16,A=I&65535|R<<16,d=x,m=A,I=m&65535,R=m>>>16,S=d&65535,E=d>>>16,d=(y>>>28|G<<32-28)^(G>>>34-32|y<<32-(34-32))^(G>>>39-32|y<<32-(39-32)),m=(G>>>28|y<<32-28)^(y>>>34-32|G<<32-(34-32))^(y>>>39-32|G<<32-(39-32)),I+=m&65535,R+=m>>>16,S+=d&65535,E+=d>>>16,d=y&C^y&T^C&T,m=G&$^G&D^$&D,I+=m&65535,R+=m>>>16,S+=d&65535,E+=d>>>16,R+=I>>>16,S+=R>>>16,E+=S>>>16,U=S&65535|E<<16,Re=I&65535|R<<16,d=K,m=Se,I=m&65535,R=m>>>16,S=d&65535,E=d>>>16,d=x,m=A,I+=m&65535,R+=m>>>16,S+=d&65535,E+=d>>>16,R+=I>>>16,S+=R>>>16,E+=S>>>16,K=S&65535|E<<16,Se=I&65535|R<<16,C=ie,T=q,k=Y,N=K,O=te,B=re,z=H,y=U,$=W,D=le,V=de,Q=Se,F=Me,M=ke,b=Ke,G=Re,_%16===15)for(var L=0;L<16;L++)d=a[L],m=l[L],I=m&65535,R=m>>>16,S=d&65535,E=d>>>16,d=a[(L+9)%16],m=l[(L+9)%16],I+=m&65535,R+=m>>>16,S+=d&65535,E+=d>>>16,x=a[(L+1)%16],A=l[(L+1)%16],d=(x>>>1|A<<32-1)^(x>>>8|A<<32-8)^x>>>7,m=(A>>>1|x<<32-1)^(A>>>8|x<<32-8)^(A>>>7|x<<32-7),I+=m&65535,R+=m>>>16,S+=d&65535,E+=d>>>16,x=a[(L+14)%16],A=l[(L+14)%16],d=(x>>>19|A<<32-19)^(A>>>61-32|x<<32-(61-32))^x>>>6,m=(A>>>19|x<<32-19)^(x>>>61-32|A<<32-(61-32))^(A>>>6|x<<32-6),I+=m&65535,R+=m>>>16,S+=d&65535,E+=d>>>16,R+=I>>>16,S+=R>>>16,E+=S>>>16,a[L]=S&65535|E<<16,l[L]=I&65535|R<<16}d=y,m=G,I=m&65535,R=m>>>16,S=d&65535,E=d>>>16,d=u[0],m=h[0],I+=m&65535,R+=m>>>16,S+=d&65535,E+=d>>>16,R+=I>>>16,S+=R>>>16,E+=S>>>16,u[0]=y=S&65535|E<<16,h[0]=G=I&65535|R<<16,d=C,m=$,I=m&65535,R=m>>>16,S=d&65535,E=d>>>16,d=u[1],m=h[1],I+=m&65535,R+=m>>>16,S+=d&65535,E+=d>>>16,R+=I>>>16,S+=R>>>16,E+=S>>>16,u[1]=C=S&65535|E<<16,h[1]=$=I&65535|R<<16,d=T,m=D,I=m&65535,R=m>>>16,S=d&65535,E=d>>>16,d=u[2],m=h[2],I+=m&65535,R+=m>>>16,S+=d&65535,E+=d>>>16,R+=I>>>16,S+=R>>>16,E+=S>>>16,u[2]=T=S&65535|E<<16,h[2]=D=I&65535|R<<16,d=k,m=V,I=m&65535,R=m>>>16,S=d&65535,E=d>>>16,d=u[3],m=h[3],I+=m&65535,R+=m>>>16,S+=d&65535,E+=d>>>16,R+=I>>>16,S+=R>>>16,E+=S>>>16,u[3]=k=S&65535|E<<16,h[3]=V=I&65535|R<<16,d=N,m=Q,I=m&65535,R=m>>>16,S=d&65535,E=d>>>16,d=u[4],m=h[4],I+=m&65535,R+=m>>>16,S+=d&65535,E+=d>>>16,R+=I>>>16,S+=R>>>16,E+=S>>>16,u[4]=N=S&65535|E<<16,h[4]=Q=I&65535|R<<16,d=O,m=F,I=m&65535,R=m>>>16,S=d&65535,E=d>>>16,d=u[5],m=h[5],I+=m&65535,R+=m>>>16,S+=d&65535,E+=d>>>16,R+=I>>>16,S+=R>>>16,E+=S>>>16,u[5]=O=S&65535|E<<16,h[5]=F=I&65535|R<<16,d=B,m=M,I=m&65535,R=m>>>16,S=d&65535,E=d>>>16,d=u[6],m=h[6],I+=m&65535,R+=m>>>16,S+=d&65535,E+=d>>>16,R+=I>>>16,S+=R>>>16,E+=S>>>16,u[6]=B=S&65535|E<<16,h[6]=M=I&65535|R<<16,d=z,m=b,I=m&65535,R=m>>>16,S=d&65535,E=d>>>16,d=u[7],m=h[7],I+=m&65535,R+=m>>>16,S+=d&65535,E+=d>>>16,R+=I>>>16,S+=R>>>16,E+=S>>>16,u[7]=z=S&65535|E<<16,h[7]=b=I&65535|R<<16,g+=128,w-=128}return g}function o(a){var l=new n;l.update(a);var u=l.digest();return l.clean(),u}r.hash=o})(Pae),function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.convertSecretKeyToX25519=r.convertPublicKeyToX25519=r.verify=r.sign=r.extractPublicKeyFromSecretKey=r.generateKeyPair=r.generateKeyPairFromSeed=r.SEED_LENGTH=r.SECRET_KEY_LENGTH=r.PUBLIC_KEY_LENGTH=r.SIGNATURE_LENGTH=void 0;const e=c1,t=Pae,n=Hc;r.SIGNATURE_LENGTH=64,r.PUBLIC_KEY_LENGTH=32,r.SECRET_KEY_LENGTH=64,r.SEED_LENGTH=32;function i(K){const te=new Float64Array(16);if(K)for(let re=0;re>16&1),re[le-1]&=65535;re[15]=H[15]-32767-(re[14]>>16&1);const W=re[15]>>16&1;re[14]&=65535,C(H,re,1-W)}for(let U=0;U<16;U++)K[2*U]=H[U]&255,K[2*U+1]=H[U]>>8}function k(K,te){let re=0;for(let H=0;H<32;H++)re|=K[H]^te[H];return(1&re-1>>>8)-1}function N(K,te){const re=new Uint8Array(32),H=new Uint8Array(32);return T(re,K),T(H,te),k(re,H)}function O(K){const te=new Uint8Array(32);return T(te,K),te[0]&1}function B(K,te){for(let re=0;re<16;re++)K[re]=te[2*re]+(te[2*re+1]<<8);K[15]&=32767}function z(K,te,re){for(let H=0;H<16;H++)K[H]=te[H]+re[H]}function G(K,te,re){for(let H=0;H<16;H++)K[H]=te[H]-re[H]}function $(K,te,re){let H,U,W=0,le=0,de=0,Se=0,Me=0,ke=0,Ke=0,Re=0,je=0,De=0,Je=0,ze=0,qe=0,Ve=0,He=0,Be=0,Ge=0,Xe=0,se=0,J=0,X=0,ue=0,we=0,ye=0,Ie=0,it=0,ot=0,tt=0,It=0,st=0,Nt=0,Lt=re[0],ht=re[1],wt=re[2],Ut=re[3],ft=re[4],dt=re[5],Vt=re[6],xt=re[7],pt=re[8],Gt=re[9],gt=re[10],vt=re[11],Ft=re[12],lt=re[13],_t=re[14],Kt=re[15];H=te[0],W+=H*Lt,le+=H*ht,de+=H*wt,Se+=H*Ut,Me+=H*ft,ke+=H*dt,Ke+=H*Vt,Re+=H*xt,je+=H*pt,De+=H*Gt,Je+=H*gt,ze+=H*vt,qe+=H*Ft,Ve+=H*lt,He+=H*_t,Be+=H*Kt,H=te[1],le+=H*Lt,de+=H*ht,Se+=H*wt,Me+=H*Ut,ke+=H*ft,Ke+=H*dt,Re+=H*Vt,je+=H*xt,De+=H*pt,Je+=H*Gt,ze+=H*gt,qe+=H*vt,Ve+=H*Ft,He+=H*lt,Be+=H*_t,Ge+=H*Kt,H=te[2],de+=H*Lt,Se+=H*ht,Me+=H*wt,ke+=H*Ut,Ke+=H*ft,Re+=H*dt,je+=H*Vt,De+=H*xt,Je+=H*pt,ze+=H*Gt,qe+=H*gt,Ve+=H*vt,He+=H*Ft,Be+=H*lt,Ge+=H*_t,Xe+=H*Kt,H=te[3],Se+=H*Lt,Me+=H*ht,ke+=H*wt,Ke+=H*Ut,Re+=H*ft,je+=H*dt,De+=H*Vt,Je+=H*xt,ze+=H*pt,qe+=H*Gt,Ve+=H*gt,He+=H*vt,Be+=H*Ft,Ge+=H*lt,Xe+=H*_t,se+=H*Kt,H=te[4],Me+=H*Lt,ke+=H*ht,Ke+=H*wt,Re+=H*Ut,je+=H*ft,De+=H*dt,Je+=H*Vt,ze+=H*xt,qe+=H*pt,Ve+=H*Gt,He+=H*gt,Be+=H*vt,Ge+=H*Ft,Xe+=H*lt,se+=H*_t,J+=H*Kt,H=te[5],ke+=H*Lt,Ke+=H*ht,Re+=H*wt,je+=H*Ut,De+=H*ft,Je+=H*dt,ze+=H*Vt,qe+=H*xt,Ve+=H*pt,He+=H*Gt,Be+=H*gt,Ge+=H*vt,Xe+=H*Ft,se+=H*lt,J+=H*_t,X+=H*Kt,H=te[6],Ke+=H*Lt,Re+=H*ht,je+=H*wt,De+=H*Ut,Je+=H*ft,ze+=H*dt,qe+=H*Vt,Ve+=H*xt,He+=H*pt,Be+=H*Gt,Ge+=H*gt,Xe+=H*vt,se+=H*Ft,J+=H*lt,X+=H*_t,ue+=H*Kt,H=te[7],Re+=H*Lt,je+=H*ht,De+=H*wt,Je+=H*Ut,ze+=H*ft,qe+=H*dt,Ve+=H*Vt,He+=H*xt,Be+=H*pt,Ge+=H*Gt,Xe+=H*gt,se+=H*vt,J+=H*Ft,X+=H*lt,ue+=H*_t,we+=H*Kt,H=te[8],je+=H*Lt,De+=H*ht,Je+=H*wt,ze+=H*Ut,qe+=H*ft,Ve+=H*dt,He+=H*Vt,Be+=H*xt,Ge+=H*pt,Xe+=H*Gt,se+=H*gt,J+=H*vt,X+=H*Ft,ue+=H*lt,we+=H*_t,ye+=H*Kt,H=te[9],De+=H*Lt,Je+=H*ht,ze+=H*wt,qe+=H*Ut,Ve+=H*ft,He+=H*dt,Be+=H*Vt,Ge+=H*xt,Xe+=H*pt,se+=H*Gt,J+=H*gt,X+=H*vt,ue+=H*Ft,we+=H*lt,ye+=H*_t,Ie+=H*Kt,H=te[10],Je+=H*Lt,ze+=H*ht,qe+=H*wt,Ve+=H*Ut,He+=H*ft,Be+=H*dt,Ge+=H*Vt,Xe+=H*xt,se+=H*pt,J+=H*Gt,X+=H*gt,ue+=H*vt,we+=H*Ft,ye+=H*lt,Ie+=H*_t,it+=H*Kt,H=te[11],ze+=H*Lt,qe+=H*ht,Ve+=H*wt,He+=H*Ut,Be+=H*ft,Ge+=H*dt,Xe+=H*Vt,se+=H*xt,J+=H*pt,X+=H*Gt,ue+=H*gt,we+=H*vt,ye+=H*Ft,Ie+=H*lt,it+=H*_t,ot+=H*Kt,H=te[12],qe+=H*Lt,Ve+=H*ht,He+=H*wt,Be+=H*Ut,Ge+=H*ft,Xe+=H*dt,se+=H*Vt,J+=H*xt,X+=H*pt,ue+=H*Gt,we+=H*gt,ye+=H*vt,Ie+=H*Ft,it+=H*lt,ot+=H*_t,tt+=H*Kt,H=te[13],Ve+=H*Lt,He+=H*ht,Be+=H*wt,Ge+=H*Ut,Xe+=H*ft,se+=H*dt,J+=H*Vt,X+=H*xt,ue+=H*pt,we+=H*Gt,ye+=H*gt,Ie+=H*vt,it+=H*Ft,ot+=H*lt,tt+=H*_t,It+=H*Kt,H=te[14],He+=H*Lt,Be+=H*ht,Ge+=H*wt,Xe+=H*Ut,se+=H*ft,J+=H*dt,X+=H*Vt,ue+=H*xt,we+=H*pt,ye+=H*Gt,Ie+=H*gt,it+=H*vt,ot+=H*Ft,tt+=H*lt,It+=H*_t,st+=H*Kt,H=te[15],Be+=H*Lt,Ge+=H*ht,Xe+=H*wt,se+=H*Ut,J+=H*ft,X+=H*dt,ue+=H*Vt,we+=H*xt,ye+=H*pt,Ie+=H*Gt,it+=H*gt,ot+=H*vt,tt+=H*Ft,It+=H*lt,st+=H*_t,Nt+=H*Kt,W+=38*Ge,le+=38*Xe,de+=38*se,Se+=38*J,Me+=38*X,ke+=38*ue,Ke+=38*we,Re+=38*ye,je+=38*Ie,De+=38*it,Je+=38*ot,ze+=38*tt,qe+=38*It,Ve+=38*st,He+=38*Nt,U=1,H=W+U+65535,U=Math.floor(H/65536),W=H-U*65536,H=le+U+65535,U=Math.floor(H/65536),le=H-U*65536,H=de+U+65535,U=Math.floor(H/65536),de=H-U*65536,H=Se+U+65535,U=Math.floor(H/65536),Se=H-U*65536,H=Me+U+65535,U=Math.floor(H/65536),Me=H-U*65536,H=ke+U+65535,U=Math.floor(H/65536),ke=H-U*65536,H=Ke+U+65535,U=Math.floor(H/65536),Ke=H-U*65536,H=Re+U+65535,U=Math.floor(H/65536),Re=H-U*65536,H=je+U+65535,U=Math.floor(H/65536),je=H-U*65536,H=De+U+65535,U=Math.floor(H/65536),De=H-U*65536,H=Je+U+65535,U=Math.floor(H/65536),Je=H-U*65536,H=ze+U+65535,U=Math.floor(H/65536),ze=H-U*65536,H=qe+U+65535,U=Math.floor(H/65536),qe=H-U*65536,H=Ve+U+65535,U=Math.floor(H/65536),Ve=H-U*65536,H=He+U+65535,U=Math.floor(H/65536),He=H-U*65536,H=Be+U+65535,U=Math.floor(H/65536),Be=H-U*65536,W+=U-1+37*(U-1),U=1,H=W+U+65535,U=Math.floor(H/65536),W=H-U*65536,H=le+U+65535,U=Math.floor(H/65536),le=H-U*65536,H=de+U+65535,U=Math.floor(H/65536),de=H-U*65536,H=Se+U+65535,U=Math.floor(H/65536),Se=H-U*65536,H=Me+U+65535,U=Math.floor(H/65536),Me=H-U*65536,H=ke+U+65535,U=Math.floor(H/65536),ke=H-U*65536,H=Ke+U+65535,U=Math.floor(H/65536),Ke=H-U*65536,H=Re+U+65535,U=Math.floor(H/65536),Re=H-U*65536,H=je+U+65535,U=Math.floor(H/65536),je=H-U*65536,H=De+U+65535,U=Math.floor(H/65536),De=H-U*65536,H=Je+U+65535,U=Math.floor(H/65536),Je=H-U*65536,H=ze+U+65535,U=Math.floor(H/65536),ze=H-U*65536,H=qe+U+65535,U=Math.floor(H/65536),qe=H-U*65536,H=Ve+U+65535,U=Math.floor(H/65536),Ve=H-U*65536,H=He+U+65535,U=Math.floor(H/65536),He=H-U*65536,H=Be+U+65535,U=Math.floor(H/65536),Be=H-U*65536,W+=U-1+37*(U-1),K[0]=W,K[1]=le,K[2]=de,K[3]=Se,K[4]=Me,K[5]=ke,K[6]=Ke,K[7]=Re,K[8]=je,K[9]=De,K[10]=Je,K[11]=ze,K[12]=qe,K[13]=Ve,K[14]=He,K[15]=Be}function D(K,te){$(K,te,te)}function V(K,te){const re=i();let H;for(H=0;H<16;H++)re[H]=te[H];for(H=253;H>=0;H--)D(re,re),H!==2&&H!==4&&$(re,re,te);for(H=0;H<16;H++)K[H]=re[H]}function Q(K,te){const re=i();let H;for(H=0;H<16;H++)re[H]=te[H];for(H=250;H>=0;H--)D(re,re),H!==1&&$(re,re,te);for(H=0;H<16;H++)K[H]=re[H]}function F(K,te){const re=i(),H=i(),U=i(),W=i(),le=i(),de=i(),Se=i(),Me=i(),ke=i();G(re,K[1],K[0]),G(ke,te[1],te[0]),$(re,re,ke),z(H,K[0],K[1]),z(ke,te[0],te[1]),$(H,H,ke),$(U,K[3],te[3]),$(U,U,u),$(W,K[2],te[2]),z(W,W,W),G(le,H,re),G(de,W,U),z(Se,W,U),z(Me,H,re),$(K[0],le,de),$(K[1],Me,Se),$(K[2],Se,de),$(K[3],le,Me)}function M(K,te,re){for(let H=0;H<4;H++)C(K[H],te[H],re)}function b(K,te){const re=i(),H=i(),U=i();V(U,te[2]),$(re,te[0],U),$(H,te[1],U),T(K,H),K[31]^=O(re)<<7}function d(K,te,re){w(K[0],o),w(K[1],a),w(K[2],a),w(K[3],o);for(let H=255;H>=0;--H){const U=re[H/8|0]>>(H&7)&1;M(K,te,U),F(te,K),F(K,K),M(K,te,U)}}function m(K,te){const re=[i(),i(),i(),i()];w(re[0],h),w(re[1],p),w(re[2],a),$(re[3],h,p),d(K,re,te)}function x(K){if(K.length!==r.SEED_LENGTH)throw new Error(`ed25519: seed must be ${r.SEED_LENGTH} bytes`);const te=(0,t.hash)(K);te[0]&=248,te[31]&=127,te[31]|=64;const re=new Uint8Array(32),H=[i(),i(),i(),i()];m(H,te),b(re,H);const U=new Uint8Array(64);return U.set(K),U.set(re,32),{publicKey:re,secretKey:U}}r.generateKeyPairFromSeed=x;function A(K){const te=(0,e.randomBytes)(32,K),re=x(te);return(0,n.wipe)(te),re}r.generateKeyPair=A;function I(K){if(K.length!==r.SECRET_KEY_LENGTH)throw new Error(`ed25519: secret key must be ${r.SECRET_KEY_LENGTH} bytes`);return new Uint8Array(K.subarray(32))}r.extractPublicKeyFromSecretKey=I;const R=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function S(K,te){let re,H,U,W;for(H=63;H>=32;--H){for(re=0,U=H-32,W=H-12;U>4)*R[U],re=te[U]>>8,te[U]&=255;for(U=0;U<32;U++)te[U]-=re*R[U];for(H=0;H<32;H++)te[H+1]+=te[H]>>8,K[H]=te[H]&255}function E(K){const te=new Float64Array(64);for(let re=0;re<64;re++)te[re]=K[re];for(let re=0;re<64;re++)K[re]=0;S(K,te)}function _(K,te){const re=new Float64Array(64),H=[i(),i(),i(),i()],U=(0,t.hash)(K.subarray(0,32));U[0]&=248,U[31]&=127,U[31]|=64;const W=new Uint8Array(64);W.set(U.subarray(32),32);const le=new t.SHA512;le.update(W.subarray(32)),le.update(te);const de=le.digest();le.clean(),E(de),m(H,de),b(W,H),le.reset(),le.update(W.subarray(0,32)),le.update(K.subarray(32)),le.update(te);const Se=le.digest();E(Se);for(let Me=0;Me<32;Me++)re[Me]=de[Me];for(let Me=0;Me<32;Me++)for(let ke=0;ke<32;ke++)re[Me+ke]+=Se[Me]*U[ke];return S(W.subarray(32),re),W}r.sign=_;function L(K,te){const re=i(),H=i(),U=i(),W=i(),le=i(),de=i(),Se=i();return w(K[2],a),B(K[1],te),D(U,K[1]),$(W,U,l),G(U,U,K[2]),z(W,K[2],W),D(le,W),D(de,le),$(Se,de,le),$(re,Se,U),$(re,re,W),Q(re,re),$(re,re,U),$(re,re,W),$(re,re,W),$(K[0],re,W),D(H,K[0]),$(H,H,W),N(H,U)&&$(K[0],K[0],g),D(H,K[0]),$(H,H,W),N(H,U)?-1:(O(K[0])===te[31]>>7&&G(K[0],o,K[0]),$(K[3],K[0],K[1]),0)}function ie(K,te,re){const H=new Uint8Array(32),U=[i(),i(),i(),i()],W=[i(),i(),i(),i()];if(re.length!==r.SIGNATURE_LENGTH)throw new Error(`ed25519: signature must be ${r.SIGNATURE_LENGTH} bytes`);if(L(W,K))return!1;const le=new t.SHA512;le.update(re.subarray(0,32)),le.update(K),le.update(te);const de=le.digest();return E(de),d(U,W,de),m(W,re.subarray(32)),F(U,W),b(H,U),!k(re,H)}r.verify=ie;function q(K){let te=[i(),i(),i(),i()];if(L(te,K))throw new Error("Ed25519: invalid public key");let re=i(),H=i(),U=te[1];z(re,a,U),G(H,a,U),V(H,H),$(re,re,H);let W=new Uint8Array(32);return T(W,re),W}r.convertPublicKeyToX25519=q;function Y(K){const te=(0,t.hash)(K.subarray(0,32));te[0]&=248,te[31]&=127,te[31]|=64;const re=new Uint8Array(te.subarray(0,32));return(0,n.wipe)(te),re}r.convertSecretKeyToX25519=Y}(cB);const GPe="EdDSA",KPe="JWT",Oae=".",Dae="base64url",ZPe="utf8",JPe="utf8",YPe=":",QPe="did",XPe="key",$ae="base58btc",eOe="z",tOe="K36",rOe=32;function CS(r){return yi(Pi(gf(r),ZPe),Dae)}function lB(r){const e=Pi(tOe,$ae),t=eOe+yi(D6([e,r]),$ae);return[QPe,XPe,t].join(YPe)}function nOe(r){return yi(r,Dae)}function iOe(r){return Pi([CS(r.header),CS(r.payload)].join(Oae),JPe)}function sOe(r){return[CS(r.header),CS(r.payload),nOe(r.signature)].join(Oae)}function SS(r=c1.randomBytes(rOe)){return cB.generateKeyPairFromSeed(r)}async function Bae(r,e,t,n,i=Ye.fromMiliseconds(Date.now())){const s={alg:GPe,typ:KPe},o=lB(n.publicKey),a=i+t,l={iss:o,sub:r,aud:e,iat:i,exp:a},u=iOe({header:s,payload:l}),h=cB.sign(n.secretKey,u);return sOe({header:s,payload:l,signature:h})}const oOe="PARSE_ERROR",aOe="INVALID_REQUEST",cOe="METHOD_NOT_FOUND",lOe="INVALID_PARAMS",Lae="INTERNAL_ERROR",uB="SERVER_ERROR",uOe=[-32700,-32600,-32601,-32602,-32603],Q6={[oOe]:{code:-32700,message:"Parse error"},[aOe]:{code:-32600,message:"Invalid Request"},[cOe]:{code:-32601,message:"Method not found"},[lOe]:{code:-32602,message:"Invalid params"},[Lae]:{code:-32603,message:"Internal error"},[uB]:{code:-32e3,message:"Server error"}},Uae=uB;function hOe(r){return uOe.includes(r)}function Fae(r){return Object.keys(Q6).includes(r)?Q6[r]:Q6[Uae]}function fOe(r){const e=Object.values(Q6).find(t=>t.code===r);return e||Q6[Uae]}function jae(r,e,t){return r.message.includes("getaddrinfo ENOTFOUND")||r.message.includes("connect ECONNREFUSED")?new Error(`Unavailable ${t} RPC url at ${e}`):r}var zae={},Hd={},Hae;function dOe(){if(Hae)return Hd;Hae=1,Object.defineProperty(Hd,"__esModule",{value:!0}),Hd.isBrowserCryptoAvailable=Hd.getSubtleCrypto=Hd.getBrowerCrypto=void 0;function r(){return(ct==null?void 0:ct.crypto)||(ct==null?void 0:ct.msCrypto)||{}}Hd.getBrowerCrypto=r;function e(){const n=r();return n.subtle||n.webkitSubtle}Hd.getSubtleCrypto=e;function t(){return!!r()&&!!e()}return Hd.isBrowserCryptoAvailable=t,Hd}var qd={},qae;function pOe(){if(qae)return qd;qae=1,Object.defineProperty(qd,"__esModule",{value:!0}),qd.isBrowser=qd.isNode=qd.isReactNative=void 0;function r(){return typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"}qd.isReactNative=r;function e(){return typeof yt<"u"&&typeof yt.versions<"u"&&typeof yt.versions.node<"u"}qd.isNode=e;function t(){return!r()&&!e()}return qd.isBrowser=t,qd}(function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=Ju;e.__exportStar(dOe(),r),e.__exportStar(pOe(),r)})(zae);function Wd(r=3){const e=Date.now()*Math.pow(10,r),t=Math.floor(Math.random()*Math.pow(10,r));return e+t}function f1(r=6){return BigInt(Wd(r))}function Qu(r,e,t){return{id:t||Wd(),jsonrpc:"2.0",method:r,params:e}}function d1(r,e){return{id:r,jsonrpc:"2.0",result:e}}function py(r,e,t){return{id:r,jsonrpc:"2.0",error:gOe(e,t)}}function gOe(r,e){return typeof r>"u"?Fae(Lae):(typeof r=="string"&&(r=Object.assign(Object.assign({},Fae(uB)),{message:r})),typeof e<"u"&&(r.data=e),hOe(r.code)&&(r=fOe(r.code)),r)}class mOe{}class bOe extends mOe{constructor(){super()}}class wOe extends bOe{constructor(e){super()}}const vOe="^https?:",yOe="^wss?:";function xOe(r){const e=r.match(new RegExp(/^\w+:/,"gi"));if(!(!e||!e.length))return e[0]}function Wae(r,e){const t=xOe(r);return typeof t>"u"?!1:new RegExp(e).test(t)}function Vae(r){return Wae(r,vOe)}function Gae(r){return Wae(r,yOe)}function _Oe(r){return new RegExp("wss?://localhost(:d{2,5})?").test(r)}function Kae(r){return typeof r=="object"&&"id"in r&&"jsonrpc"in r&&r.jsonrpc==="2.0"}function gy(r){return Kae(r)&&"method"in r}function Bm(r){return Kae(r)&&(xo(r)||As(r))}function xo(r){return"result"in r}function As(r){return"error"in r}class _o extends wOe{constructor(e){super(e),this.events=new pn.EventEmitter,this.hasRegisteredEventListeners=!1,this.connection=this.setConnection(e),this.connection.connected&&this.registerEventListeners()}async connect(e=this.connection){await this.open(e)}async disconnect(){await this.close()}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 request(e,t){return this.requestStrict(Qu(e.method,e.params||[],e.id||f1().toString()),t)}async requestStrict(e,t){return new Promise(async(n,i)=>{if(!this.connection.connected)try{await this.open()}catch(s){i(s)}this.events.on(`${e.id}`,s=>{As(s)?i(s.error):n(s.result)});try{await this.connection.send(e,t)}catch(s){i(s)}})}setConnection(e=this.connection){return e}onPayload(e){this.events.emit("payload",e),Bm(e)?this.events.emit(`${e.id}`,e):this.events.emit("message",{type:e.method,data:e.params})}onClose(e){e&&e.code===3e3&&this.events.emit("error",new Error(`WebSocket connection closed abnormally with code: ${e.code} ${e.reason?`(${e.reason})`:""}`)),this.events.emit("disconnect")}async open(e=this.connection){this.connection===e&&this.connection.connected||(this.connection.connected&&this.close(),typeof e=="string"&&(await this.connection.open(e),e=this.connection),this.connection=this.setConnection(e),await this.connection.open(),this.registerEventListeners(),this.events.emit("connect"))}async close(){await this.connection.close()}registerEventListeners(){this.hasRegisteredEventListeners||(this.connection.on("payload",e=>this.onPayload(e)),this.connection.on("close",e=>this.onClose(e)),this.connection.on("error",e=>this.events.emit("error",e)),this.connection.on("register_error",e=>this.onClose()),this.hasRegisteredEventListeners=!0)}}const EOe=()=>typeof WebSocket<"u"?WebSocket:typeof dr<"u"&&typeof dr.WebSocket<"u"?dr.WebSocket:typeof window<"u"&&typeof window.WebSocket<"u"?window.WebSocket:typeof self<"u"&&typeof self.WebSocket<"u"?self.WebSocket:require("ws"),AOe=()=>typeof WebSocket<"u"||typeof dr<"u"&&typeof dr.WebSocket<"u"||typeof window<"u"&&typeof window.WebSocket<"u"||typeof self<"u"&&typeof self.WebSocket<"u",Zae=r=>r.split("?")[0],Jae=10,COe=EOe();let Yae=class{constructor(e){if(this.url=e,this.events=new pn.EventEmitter,this.registering=!1,!Gae(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);this.url=e}get connected(){return typeof this.socket<"u"}get connecting(){return this.registering}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 open(e=this.url){await this.register(e)}async close(){return new Promise((e,t)=>{if(typeof this.socket>"u"){t(new Error("Connection already closed"));return}this.socket.onclose=n=>{this.onClose(n),e()},this.socket.close()})}async send(e){typeof this.socket>"u"&&(this.socket=await this.register());try{this.socket.send(gf(e))}catch(t){this.onError(e.id,t)}}register(e=this.url){if(!Gae(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);if(this.registering){const t=this.events.getMaxListeners();return(this.events.listenerCount("register_error")>=t||this.events.listenerCount("open")>=t)&&this.events.setMaxListeners(t+1),new Promise((n,i)=>{this.events.once("register_error",s=>{this.resetMaxListeners(),i(s)}),this.events.once("open",()=>{if(this.resetMaxListeners(),typeof this.socket>"u")return i(new Error("WebSocket connection is missing or invalid"));n(this.socket)})})}return this.url=e,this.registering=!0,new Promise((t,n)=>{const i=new URLSearchParams(e).get("origin"),s=zae.isReactNative()?{headers:{origin:i}}:{rejectUnauthorized:!_Oe(e)},o=new COe(e,[],s);AOe()?o.onerror=a=>{const l=a;n(this.emitError(l.error))}:o.on("error",a=>{n(this.emitError(a))}),o.onopen=()=>{this.onOpen(o),t(o)}})}onOpen(e){e.onmessage=t=>this.onPayload(t),e.onclose=t=>this.onClose(t),this.socket=e,this.registering=!1,this.events.emit("open")}onClose(e){this.socket=void 0,this.registering=!1,this.events.emit("close",e)}onPayload(e){if(typeof e.data>"u")return;const t=typeof e.data=="string"?hy(e.data):e.data;this.events.emit("payload",t)}onError(e,t){const n=this.parseError(t),i=n.message||n.toString(),s=py(e,i);this.events.emit("payload",s)}parseError(e,t=this.url){return jae(e,Zae(t),"WS")}resetMaxListeners(){this.events.getMaxListeners()>Jae&&this.events.setMaxListeners(Jae)}emitError(e){const t=this.parseError(new Error((e==null?void 0:e.message)||`WebSocket connection failed for host: ${Zae(this.url)}`));return this.events.emit("register_error",t),t}};var X6={},SOe={get exports(){return X6},set exports(r){X6=r}};(function(r,e){var t=200,n="__lodash_hash_undefined__",i=1,s=2,o=9007199254740991,a="[object Arguments]",l="[object Array]",u="[object AsyncFunction]",h="[object Boolean]",p="[object Date]",g="[object Error]",w="[object Function]",y="[object GeneratorFunction]",C="[object Map]",T="[object Number]",k="[object Null]",N="[object Object]",O="[object Promise]",B="[object Proxy]",z="[object RegExp]",G="[object Set]",$="[object String]",D="[object Symbol]",V="[object Undefined]",Q="[object WeakMap]",F="[object ArrayBuffer]",M="[object DataView]",b="[object Float32Array]",d="[object Float64Array]",m="[object Int8Array]",x="[object Int16Array]",A="[object Int32Array]",I="[object Uint8Array]",R="[object Uint8ClampedArray]",S="[object Uint16Array]",E="[object Uint32Array]",_=/[\\^$.*+?()[\]{}|]/g,L=/^\[object .+?Constructor\]$/,ie=/^(?:0|[1-9]\d*)$/,q={};q[b]=q[d]=q[m]=q[x]=q[A]=q[I]=q[R]=q[S]=q[E]=!0,q[a]=q[l]=q[F]=q[h]=q[M]=q[p]=q[g]=q[w]=q[C]=q[T]=q[N]=q[z]=q[G]=q[$]=q[Q]=!1;var Y=typeof ct=="object"&&ct&&ct.Object===Object&&ct,K=typeof self=="object"&&self&&self.Object===Object&&self,te=Y||K||Function("return this")(),re=e&&!e.nodeType&&e,H=re&&!0&&r&&!r.nodeType&&r,U=H&&H.exports===re,W=U&&Y.process,le=function(){try{return W&&W.binding&&W.binding("util")}catch{}}(),de=le&&le.isTypedArray;function Se(ve,Pe){for(var at=-1,nr=ve==null?0:ve.length,ii=0,$r=[];++at-1}function ri(ve,Pe){var at=this.__data__,nr=Qf(at,ve);return nr<0?(++this.size,at.push([ve,Pe])):at[nr][1]=Pe,this}Tt.prototype.clear=ur,Tt.prototype.delete=Xn,Tt.prototype.get=ei,Tt.prototype.has=ti,Tt.prototype.set=ri;function bn(ve){var Pe=-1,at=ve==null?0:ve.length;for(this.clear();++Peps))return!1;var Vn=$r.get(ve);if(Vn&&$r.get(Pe))return Vn==Pe;var si=-1,Jo=!0,Yi=at&s?new bi:void 0;for($r.set(ve,Pe),$r.set(Pe,ve);++si-1&&ve%1==0&&ve-1&&ve%1==0&&ve<=o}function A5(ve){var Pe=typeof ve;return ve!=null&&(Pe=="object"||Pe=="function")}function M0(ve){return ve!=null&&typeof ve=="object"}var C5=de?Re(de):sb;function m7(ve){return p7(ve)?nb(ve):ob(ve)}function Cr(){return[]}function _r(){return!1}r.exports=g7})(SOe,X6);function IOe(r,e){return e=e||{},new Promise(function(t,n){var i=new XMLHttpRequest,s=[],o=[],a={},l=function(){return{ok:(i.status/100|0)==2,statusText:i.statusText,status:i.status,url:i.responseURL,text:function(){return Promise.resolve(i.responseText)},json:function(){return Promise.resolve(i.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([i.response]))},clone:l,headers:{keys:function(){return s},entries:function(){return o},get:function(h){return a[h.toLowerCase()]},has:function(h){return h.toLowerCase()in a}}}};for(var u in i.open(e.method||"get",r,!0),i.onload=function(){i.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,function(h,p,g){s.push(p=p.toLowerCase()),o.push([p,g]),a[p]=a[p]?a[p]+","+g:g}),t(l())},i.onerror=n,i.withCredentials=e.credentials=="include",e.headers)i.setRequestHeader(u,e.headers[u]);i.send(e.body||null)})}const Qae=ad(Object.freeze(Object.defineProperty({__proto__:null,default:IOe},Symbol.toStringTag,{value:"Module"})));var Xae=self.fetch||(self.fetch=Qae.default||Qae);function TOe(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n>>0,B=new Uint8Array(O);k!==N;){for(var z=y[k],G=0,$=O-1;(z!==0||G>>0,B[$]=z%a>>>0,z=z/a>>>0;if(z!==0)throw new Error("Non-zero carry");T=G,k++}for(var D=O-T;D!==O&&B[D]===0;)D++;for(var V=l.repeat(C);D>>0,O=new Uint8Array(N);y[C];){var B=t[y.charCodeAt(C)];if(B===255)return;for(var z=0,G=N-1;(B!==0||z>>0,O[G]=B%256>>>0,B=B/256>>>0;if(B!==0)throw new Error("Non-zero carry");k=z,C++}if(y[C]!==" "){for(var $=N-k;$!==N&&O[$]===0;)$++;for(var D=new Uint8Array(T+(N-$)),V=T;$!==N;)D[V++]=O[$++];return D}}}function w(y){var C=g(y);if(C)return C;throw new Error(`Non-${e} character`)}return{encode:p,decodeUnsafe:g,decode:w}}var ROe=TOe,kOe=ROe;const ece=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")},MOe=r=>new TextEncoder().encode(r),NOe=r=>new TextDecoder().decode(r);let POe=class{constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},OOe=class{constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){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))}else throw Error("Can only multibase decode strings")}or(e){return tce(this,e)}},DOe=class{constructor(e){this.decoders=e}or(e){return tce(this,e)}decode(e){const t=e[0],n=this.decoders[t];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};const tce=(r,e)=>new DOe({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});let $Oe=class{constructor(e,t,n,i){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=i,this.encoder=new POe(e,t,n),this.decoder=new OOe(e,t,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};const IS=({name:r,prefix:e,encode:t,decode:n})=>new $Oe(r,e,t,n),e8=({prefix:r,name:e,alphabet:t})=>{const{encode:n,decode:i}=kOe(t,e);return IS({prefix:r,name:e,encode:n,decode:s=>ece(i(s))})},BOe=(r,e,t,n)=>{const i={};for(let h=0;h=8&&(a-=8,o[u++]=255&l>>a)}if(a>=t||255&l<<8-a)throw new SyntaxError("Unexpected end of data");return o},LOe=(r,e,t)=>{const n=e[e.length-1]==="=",i=(1<t;)o-=t,s+=e[i&a>>o];if(o&&(s+=e[i&a<IS({prefix:e,name:r,encode(i){return LOe(i,n,t)},decode(i){return BOe(i,n,t,r)}}),UOe=IS({prefix:"\0",name:"identity",encode:r=>NOe(r),decode:r=>MOe(r)});var FOe=Object.freeze({__proto__:null,identity:UOe});const jOe=zo({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var zOe=Object.freeze({__proto__:null,base2:jOe});const HOe=zo({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var qOe=Object.freeze({__proto__:null,base8:HOe});const WOe=e8({prefix:"9",name:"base10",alphabet:"0123456789"});var VOe=Object.freeze({__proto__:null,base10:WOe});const GOe=zo({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),KOe=zo({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ZOe=Object.freeze({__proto__:null,base16:GOe,base16upper:KOe});const JOe=zo({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),YOe=zo({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),QOe=zo({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),XOe=zo({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),eDe=zo({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),tDe=zo({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),rDe=zo({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),nDe=zo({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),iDe=zo({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var sDe=Object.freeze({__proto__:null,base32:JOe,base32upper:YOe,base32pad:QOe,base32padupper:XOe,base32hex:eDe,base32hexupper:tDe,base32hexpad:rDe,base32hexpadupper:nDe,base32z:iDe});const oDe=e8({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),aDe=e8({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var cDe=Object.freeze({__proto__:null,base36:oDe,base36upper:aDe});const lDe=e8({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),uDe=e8({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var hDe=Object.freeze({__proto__:null,base58btc:lDe,base58flickr:uDe});const fDe=zo({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),dDe=zo({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),pDe=zo({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),gDe=zo({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var mDe=Object.freeze({__proto__:null,base64:fDe,base64pad:dDe,base64url:pDe,base64urlpad:gDe});const rce=Array.from("🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂"),bDe=rce.reduce((r,e,t)=>(r[t]=e,r),[]),wDe=rce.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function vDe(r){return r.reduce((e,t)=>(e+=bDe[t],e),"")}function yDe(r){const e=[];for(const t of r){const n=wDe[t.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(n)}return new Uint8Array(e)}const xDe=IS({prefix:"🚀",name:"base256emoji",encode:vDe,decode:yDe});var _De=Object.freeze({__proto__:null,base256emoji:xDe}),EDe=ice,nce=128,ADe=127,CDe=~ADe,SDe=Math.pow(2,31);function ice(r,e,t){e=e||[],t=t||0;for(var n=t;r>=SDe;)e[t++]=r&255|nce,r/=128;for(;r&CDe;)e[t++]=r&255|nce,r>>>=7;return e[t]=r|0,ice.bytes=t-n+1,e}var IDe=hB,TDe=128,sce=127;function hB(r,n){var t=0,n=n||0,i=0,s=n,o,a=r.length;do{if(s>=a)throw hB.bytes=0,new RangeError("Could not decode varint");o=r[s++],t+=i<28?(o&sce)<=TDe);return hB.bytes=s-n,t}var RDe=Math.pow(2,7),kDe=Math.pow(2,14),MDe=Math.pow(2,21),NDe=Math.pow(2,28),PDe=Math.pow(2,35),ODe=Math.pow(2,42),DDe=Math.pow(2,49),$De=Math.pow(2,56),BDe=Math.pow(2,63),LDe=function(r){return r(oce.encode(r,e,t),e),cce=r=>oce.encodingLength(r),fB=(r,e)=>{const t=e.byteLength,n=cce(r),i=n+cce(t),s=new Uint8Array(i+t);return ace(r,s,0),ace(t,s,n),s.set(e,i),new FDe(r,t,e,s)};let FDe=class{constructor(e,t,n,i){this.code=e,this.size=t,this.digest=n,this.bytes=i}};const lce=({name:r,code:e,encode:t})=>new jDe(r,e,t);let jDe=class{constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?fB(this.code,t):t.then(n=>fB(this.code,n))}else throw Error("Unknown type, must be binary type")}};const uce=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),zDe=lce({name:"sha2-256",code:18,encode:uce("SHA-256")}),HDe=lce({name:"sha2-512",code:19,encode:uce("SHA-512")});var qDe=Object.freeze({__proto__:null,sha256:zDe,sha512:HDe});const hce=0,WDe="identity",fce=ece;var VDe=Object.freeze({__proto__:null,identity:{code:hce,name:WDe,encode:fce,digest:r=>fB(hce,fce(r))}});new TextEncoder,new TextDecoder;const dce={...FOe,...zOe,...qOe,...VOe,...ZOe,...sDe,...cDe,...hDe,...mDe,..._De};({...qDe,...VDe});function pce(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function GDe(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?pce(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function gce(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}const mce=gce("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),dB=gce("ascii","a",r=>{let e="a";for(let t=0;t{r=r.substring(1);const e=GDe(r.length);for(let t=0;t{if(!this.initialized){const n=await this.getKeyChain();typeof n<"u"&&(this.keychain=n),this.initialized=!0}},this.has=n=>(this.isInitialized(),this.keychain.has(n)),this.set=async(n,i)=>{this.isInitialized(),this.keychain.set(n,i),await this.persist()},this.get=n=>{this.isInitialized();const i=this.keychain.get(n);if(typeof i>"u"){const{message:s}=Wt("NO_MATCHING_KEY",`${this.name}: ${n}`);throw new Error(s)}return i},this.del=async n=>{this.isInitialized(),this.keychain.delete(n),await this.persist()},this.core=e,this.logger=gi(t,this.name)}get context(){return xi(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,Qoe(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Xoe(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=Wt("NOT_INITIALIZED",this.name);throw new Error(e)}}},T$e=class{constructor(e,t,n){this.core=e,this.logger=t,this.name=XDe,this.initialized=!1,this.init=async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)},this.hasKeys=i=>(this.isInitialized(),this.keychain.has(i)),this.getClientId=async()=>{this.isInitialized();const i=await this.getClientSeed(),s=SS(i);return lB(s.publicKey)},this.generateKeyPair=()=>{this.isInitialized();const i=uMe();return this.setPrivateKey(i.publicKey,i.privateKey)},this.signJWT=async i=>{this.isInitialized();const s=await this.getClientSeed(),o=SS(s),a=V$();return await Bae(a,i,e$e,o)},this.generateSharedKey=(i,s,o)=>{this.isInitialized();const a=this.getPrivateKey(i),l=hMe(a,s);return this.setSymKey(l,o)},this.setSymKey=async(i,s)=>{this.isInitialized();const o=s||fMe(i);return await this.keychain.set(o,i),o},this.deleteKeyPair=async i=>{this.isInitialized(),await this.keychain.del(i)},this.deleteSymKey=async i=>{this.isInitialized(),await this.keychain.del(i)},this.encode=async(i,s,o)=>{this.isInitialized();const a=Goe(o),l=gf(s);if(Koe(a)){const g=a.senderPublicKey,w=a.receiverPublicKey;i=await this.generateSharedKey(g,w)}const u=this.getSymKey(i),{type:h,senderPublicKey:p}=a;return pMe({type:h,symKey:u,message:l,senderPublicKey:p})},this.decode=async(i,s,o)=>{this.isInitialized();const a=bMe(s,o);if(Koe(a)){const l=a.receiverPublicKey,u=a.senderPublicKey;i=await this.generateSharedKey(l,u)}try{const l=this.getSymKey(i),u=gMe({symKey:l,encoded:s});return hy(u)}catch(l){this.logger.error(`Failed to decode message from topic: '${i}', clientId: '${await this.getClientId()}'`),this.logger.error(l)}},this.getPayloadType=i=>{const s=dS(i);return j6(s.type)},this.getPayloadSenderPublicKey=i=>{const s=dS(i);return s.senderPublicKey?yi(s.senderPublicKey,Da):void 0},this.core=e,this.logger=gi(t,this.name),this.keychain=n||new I$e(this.core,this.logger)}get context(){return xi(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(wce)}catch{e=V$(),await this.keychain.set(wce,e)}return ZDe(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=Wt("NOT_INITIALIZED",this.name);throw new Error(e)}}},R$e=class extends BPe{constructor(e,t){super(e,t),this.logger=e,this.core=t,this.messages=new Map,this.name=n$e,this.version=i$e,this.initialized=!1,this.storagePrefix=p1,this.init=async()=>{if(!this.initialized){this.logger.trace("Initialized");try{const n=await this.getRelayerMessages();typeof n<"u"&&(this.messages=n),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",size:this.messages.size})}catch(n){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(n)}finally{this.initialized=!0}}},this.set=async(n,i)=>{this.isInitialized();const s=oy(i);let o=this.messages.get(n);return typeof o>"u"&&(o={}),typeof o[s]<"u"||(o[s]=i,this.messages.set(n,o),await this.persist()),s},this.get=n=>{this.isInitialized();let i=this.messages.get(n);return typeof i>"u"&&(i={}),i},this.has=(n,i)=>{this.isInitialized();const s=this.get(n),o=oy(i);return typeof s[o]<"u"},this.del=async n=>{this.isInitialized(),this.messages.delete(n),await this.persist()},this.logger=gi(e,this.name),this.core=t}get context(){return xi(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,Qoe(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Xoe(e):void 0}async persist(){await this.setRelayerMessages(this.messages)}isInitialized(){if(!this.initialized){const{message:e}=Wt("NOT_INITIALIZED",this.name);throw new Error(e)}}},k$e=class extends LPe{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.events=new pn.EventEmitter,this.name=o$e,this.queue=new Map,this.publishTimeout=Ye.toMiliseconds(Ye.TEN_SECONDS*2),this.needsTransportRestart=!1,this.publish=async(n,i,s)=>{var o;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:n,message:i,opts:s}});try{const a=(s==null?void 0:s.ttl)||s$e,l=Z$(s),u=(s==null?void 0:s.prompt)||!1,h=(s==null?void 0:s.tag)||0,p=(s==null?void 0:s.id)||f1().toString(),g={topic:n,message:i,opts:{ttl:a,relay:l,prompt:u,tag:h,id:p}},w=setTimeout(()=>this.queue.set(p,g),this.publishTimeout);try{await await H6(this.rpcPublish(n,i,a,l,u,h,p),this.publishTimeout,`Failed to publish payload, please try again. id:${p} tag:${h}`),this.removeRequestFromQueue(p),this.relayer.events.emit(ga.publish,g)}catch(y){if(this.logger.debug("Publishing Payload stalled"),this.needsTransportRestart=!0,(o=s==null?void 0:s.internal)!=null&&o.throwOnFailedPublish)throw this.removeRequestFromQueue(p),y;return}finally{clearTimeout(w)}this.logger.debug("Successfully Published Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:n,message:i,opts:s}})}catch(a){throw this.logger.debug("Failed to Publish Payload"),this.logger.error(a),a}},this.on=(n,i)=>{this.events.on(n,i)},this.once=(n,i)=>{this.events.once(n,i)},this.off=(n,i)=>{this.events.off(n,i)},this.removeListener=(n,i)=>{this.events.removeListener(n,i)},this.relayer=e,this.logger=gi(t,this.name),this.registerEventListeners()}get context(){return xi(this.logger)}rpcPublish(e,t,n,i,s,o,a){var l,u,h,p;const g={method:pS(i.protocol).publish,params:{topic:e,message:t,ttl:n,prompt:s,tag:o},id:a};return $a((l=g.params)==null?void 0:l.prompt)&&((u=g.params)==null||delete u.prompt),$a((h=g.params)==null?void 0:h.tag)&&((p=g.params)==null||delete p.tag),this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:g}),this.relayer.request(g)}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async e=>{const{topic:t,message:n,opts:i}=e;await this.publish(t,n,i)})}registerEventListeners(){this.relayer.core.heartbeat.on(Yu.HEARTBEAT_EVENTS.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(ga.connection_stalled);return}this.checkQueue()}),this.relayer.on(ga.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}},M$e=class{constructor(){this.map=new Map,this.set=(e,t)=>{const n=this.get(e);this.exists(e,t)||this.map.set(e,[...n,t])},this.get=e=>this.map.get(e)||[],this.exists=(e,t)=>this.get(e).includes(t),this.delete=(e,t)=>{if(typeof t>"u"){this.map.delete(e);return}if(!this.map.has(e))return;const n=this.get(e);if(!this.exists(e,t))return;const i=n.filter(s=>s!==t);if(!i.length){this.map.delete(e);return}this.map.set(e,i)},this.clear=()=>{this.map.clear()}}get topics(){return Array.from(this.map.keys())}};var N$e=Object.defineProperty,P$e=Object.defineProperties,O$e=Object.getOwnPropertyDescriptors,_ce=Object.getOwnPropertySymbols,D$e=Object.prototype.hasOwnProperty,$$e=Object.prototype.propertyIsEnumerable,Ece=(r,e,t)=>e in r?N$e(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,n8=(r,e)=>{for(var t in e||(e={}))D$e.call(e,t)&&Ece(r,t,e[t]);if(_ce)for(var t of _ce(e))$$e.call(e,t)&&Ece(r,t,e[t]);return r},bB=(r,e)=>P$e(r,O$e(e));let B$e=class extends jPe{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.subscriptions=new Map,this.topicMap=new M$e,this.events=new pn.EventEmitter,this.name=g$e,this.version=m$e,this.pending=new Map,this.cached=[],this.initialized=!1,this.pendingSubscriptionWatchLabel="pending_sub_watch_label",this.pollingInterval=20,this.storagePrefix=p1,this.subscribeTimeout=1e4,this.restartInProgress=!1,this.batchSubscribeTopicsLimit=500,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),this.registerEventListeners(),this.clientId=await this.relayer.core.crypto.getClientId())},this.subscribe=async(n,i)=>{await this.restartToComplete(),this.isInitialized(),this.logger.debug("Subscribing Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:n,opts:i}});try{const s=Z$(i),o={topic:n,relay:s};this.pending.set(n,o);const a=await this.rpcSubscribe(n,s);return this.onSubscribe(a,o),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:n,opts:i}}),a}catch(s){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(s),s}},this.unsubscribe=async(n,i)=>{await this.restartToComplete(),this.isInitialized(),typeof(i==null?void 0:i.id)<"u"?await this.unsubscribeById(n,i.id,i):await this.unsubscribeByTopic(n,i)},this.isSubscribed=async n=>{if(this.topics.includes(n))return!0;const i=`${this.pendingSubscriptionWatchLabel}_${n}`;return await new Promise((s,o)=>{const a=new Ye.Watch;a.start(i);const l=setInterval(()=>{!this.pending.has(n)&&this.topics.includes(n)&&(clearInterval(l),a.stop(i),s(!0)),a.elapsed(i)>=b$e&&(clearInterval(l),a.stop(i),o(new Error("Subscription resolution timeout")))},this.pollingInterval)}).catch(()=>!1)},this.on=(n,i)=>{this.events.on(n,i)},this.once=(n,i)=>{this.events.once(n,i)},this.off=(n,i)=>{this.events.off(n,i)},this.removeListener=(n,i)=>{this.events.removeListener(n,i)},this.restart=async()=>{this.restartInProgress=!0,await this.restore(),await this.reset(),this.restartInProgress=!1},this.relayer=e,this.logger=gi(t,this.name),this.clientId=""}get context(){return xi(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.relayer.core.customStoragePrefix+"//"+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}hasSubscription(e,t){let n=!1;try{n=this.getSubscription(e).topic===t}catch{}return n}onEnable(){this.cached=[],this.initialized=!0}onDisable(){this.cached=this.values,this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){const n=this.topicMap.get(e);await Promise.all(n.map(async i=>await this.unsubscribeById(e,i,t)))}async unsubscribeById(e,t,n){this.logger.debug("Unsubscribing Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:n}});try{const i=Z$(n);await this.rpcUnsubscribe(e,t,i);const s=Gi("USER_DISCONNECTED",`${this.name}, ${e}`);await this.onUnsubscribe(e,t,s),this.logger.debug("Successfully Unsubscribed Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:n}})}catch(i){throw this.logger.debug("Failed to Unsubscribe Topic"),this.logger.error(i),i}}async rpcSubscribe(e,t){const n={method:pS(t.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:n});try{await await H6(this.relayer.request(n),this.subscribeTimeout)}catch{this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(ga.connection_stalled)}return oy(e+this.clientId)}async rpcBatchSubscribe(e){if(!e.length)return;const t=e[0].relay,n={method:pS(t.protocol).batchSubscribe,params:{topics:e.map(i=>i.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:n});try{return await await H6(this.relayer.request(n),this.subscribeTimeout)}catch{this.logger.debug("Outgoing Relay Payload stalled"),this.relayer.events.emit(ga.connection_stalled)}}rpcUnsubscribe(e,t,n){const i={method:pS(n.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i}),this.relayer.request(i)}onSubscribe(e,t){this.setSubscription(e,bB(n8({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(t=>{this.setSubscription(t.id,n8({},t)),this.pending.delete(t.topic)})}async onUnsubscribe(e,t,n){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,n),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.subscriptions.has(e)||(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,n8({},t)),this.topicMap.set(t.topic,e),this.events.emit(Xu.created,t)}getSubscription(e){this.logger.debug("Getting subscription"),this.logger.trace({type:"method",method:"getSubscription",id:e});const t=this.subscriptions.get(e);if(!t){const{message:n}=Wt("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(n)}return t}deleteSubscription(e,t){this.logger.debug("Deleting subscription"),this.logger.trace({type:"method",method:"deleteSubscription",id:e,reason:t});const n=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(n.topic,e),this.events.emit(Xu.deleted,bB(n8({},n),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(Xu.sync)}async reset(){if(this.cached.length){const e=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let t=0;t"u"||!e.length)return;if(this.subscriptions.size){const{message:t}=Wt("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(t)}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){if(!e.length)return;const t=await this.rpcBatchSubscribe(e);pf(t)&&this.onBatchSubscribe(t.map((n,i)=>bB(n8({},e[i]),{id:n})))}async onConnect(){this.restartInProgress||(await this.restart(),this.onEnable())}onDisconnect(){this.onDisable()}async checkPending(){if(!this.initialized||this.relayer.transportExplicitlyClosed)return;const e=[];this.pending.forEach(t=>{e.push(t)}),await this.batchSubscribe(e)}registerEventListeners(){this.relayer.core.heartbeat.on(Yu.HEARTBEAT_EVENTS.pulse,async()=>{await this.checkPending()}),this.relayer.on(ga.connect,async()=>{await this.onConnect()}),this.relayer.on(ga.disconnect,()=>{this.onDisconnect()}),this.events.on(Xu.created,async e=>{const t=Xu.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()}),this.events.on(Xu.deleted,async e=>{const t=Xu.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=Wt("NOT_INITIALIZED",this.name);throw new Error(e)}}async restartToComplete(){this.restartInProgress&&await new Promise(e=>{const t=setInterval(()=>{this.restartInProgress||(clearInterval(t),e())},this.pollingInterval)})}};var L$e=Object.defineProperty,Ace=Object.getOwnPropertySymbols,U$e=Object.prototype.hasOwnProperty,F$e=Object.prototype.propertyIsEnumerable,Cce=(r,e,t)=>e in r?L$e(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,j$e=(r,e)=>{for(var t in e||(e={}))U$e.call(e,t)&&Cce(r,t,e[t]);if(Ace)for(var t of Ace(e))F$e.call(e,t)&&Cce(r,t,e[t]);return r};let z$e=class extends UPe{constructor(e){super(e),this.protocol="wc",this.version=2,this.events=new pn.EventEmitter,this.name=c$e,this.transportExplicitlyClosed=!1,this.initialized=!1,this.connectionAttemptInProgress=!1,this.connectionStatusPollingInterval=20,this.staleConnectionErrors=["socket hang up","socket stalled"],this.hasExperiencedNetworkDisruption=!1,this.requestsInFlight=new Map,this.request=async t=>{this.logger.debug("Publishing Request Payload");const n=t.id,i=this.provider.request(t);this.requestsInFlight.set(n,{promise:i,request:t});try{return await this.toEstablishConnection(),await i}catch(s){throw this.logger.debug("Failed to Publish Request"),this.logger.error(s),s}finally{this.requestsInFlight.delete(n)}},this.onPayloadHandler=t=>{this.onProviderPayload(t)},this.onConnectHandler=()=>{this.events.emit(ga.connect)},this.onDisconnectHandler=()=>{this.onProviderDisconnect()},this.onProviderErrorHandler=t=>{this.logger.error(t),this.events.emit(ga.error,t),this.logger.info("Fatal socket error received, closing transport"),this.transportClose()},this.registerProviderListeners=()=>{this.provider.on(Vd.payload,this.onPayloadHandler),this.provider.on(Vd.connect,this.onConnectHandler),this.provider.on(Vd.disconnect,this.onDisconnectHandler),this.provider.on(Vd.error,this.onProviderErrorHandler)},this.core=e.core,this.logger=typeof e.logger<"u"&&typeof e.logger!="string"?gi(e.logger,this.name):mc(h1({level:e.logger||a$e})),this.messages=new R$e(this.logger,e.core),this.subscriber=new B$e(this,this.logger),this.publisher=new k$e(this,this.logger),this.relayUrl=(e==null?void 0:e.relayUrl)||yce,this.projectId=e.projectId,this.bundleId=EMe(),this.provider={}}async init(){this.logger.trace("Initialized"),this.registerEventListeners(),await this.createProvider(),await Promise.all([this.messages.init(),this.subscriber.init()]);try{await this.transportOpen()}catch{this.logger.warn(`Connection via ${this.relayUrl} failed, attempting to connect via failover domain ${xce}...`),await this.restartTransport(xce)}this.initialized=!0,setTimeout(async()=>{this.subscriber.topics.length===0&&(this.logger.info("No topics subscribed to after init, closing transport"),await this.transportClose(),this.transportExplicitlyClosed=!1)},f$e)}get context(){return xi(this.logger)}get connected(){return this.provider.connection.connected}get connecting(){return this.provider.connection.connecting}async publish(e,t,n){this.isInitialized(),await this.publisher.publish(e,t,n),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now()})}async subscribe(e,t){var n;this.isInitialized();let i=((n=this.subscriber.topicMap.get(e))==null?void 0:n[0])||"";if(i)return i;let s;const o=a=>{a.topic===e&&(this.subscriber.off(Xu.created,o),s())};return await Promise.all([new Promise(a=>{s=a,this.subscriber.on(Xu.created,o)}),new Promise(async a=>{i=await this.subscriber.subscribe(e,t),a()})]),i}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 transportClose(){this.requestsInFlight.size>0&&(this.logger.debug("Waiting for all in-flight requests to finish before closing transport..."),this.requestsInFlight.forEach(async e=>{await e.promise})),this.transportExplicitlyClosed=!0,this.hasExperiencedNetworkDisruption&&this.connected?await H6(this.provider.disconnect(),1e3,"provider.disconnect()").catch(()=>this.onProviderDisconnect()):this.connected&&await this.provider.disconnect()}async transportOpen(e){if(this.transportExplicitlyClosed=!1,await this.confirmOnlineStateOrThrow(),!this.connectionAttemptInProgress){e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportClose(),await this.createProvider()),this.connectionAttemptInProgress=!0;try{await Promise.all([new Promise(t=>{if(!this.initialized)return t();this.subscriber.once(Xu.resubscribed,()=>{t()})}),new Promise(async(t,n)=>{try{await H6(this.provider.connect(),1e4,`Socket stalled when trying to connect to ${this.relayUrl}`)}catch(i){n(i);return}t()})])}catch(t){this.logger.error(t);const n=t;if(!this.isConnectionStalled(n.message))throw t;this.provider.events.emit(Vd.disconnect)}finally{this.connectionAttemptInProgress=!1,this.hasExperiencedNetworkDisruption=!1}}}async restartTransport(e){await this.confirmOnlineStateOrThrow(),!this.connectionAttemptInProgress&&(this.relayUrl=e||this.relayUrl,await this.transportClose(),await this.createProvider(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await hae())throw new Error("No internet connection detected. Please restart your network and try again.")}isConnectionStalled(e){return this.staleConnectionErrors.some(t=>e.includes(t))}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new _o(new Yae(RMe({sdkVersion:h$e,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId}))),this.registerProviderListeners()}async recordMessageEvent(e){const{topic:t,message:n}=e;await this.messages.set(t,n)}async shouldIgnoreMessageEvent(e){const{topic:t,message:n}=e;if(!n||n.length===0)return this.logger.debug(`Ignoring invalid/empty message: ${n}`),!0;if(!await this.subscriber.isSubscribed(t))return this.logger.debug(`Ignoring message for non-subscribed topic ${t}`),!0;const i=this.messages.has(t,n);return i&&this.logger.debug(`Ignoring duplicate message: ${n}`),i}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),gy(e)){if(!e.method.endsWith(l$e))return;const t=e.params,{topic:n,message:i,publishedAt:s}=t.data,o={topic:n,message:i,publishedAt:s};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(j$e({type:"event",event:t.id},o)),this.events.emit(t.id,o),await this.acknowledgePayload(e),await this.onMessageEvent(o)}else Bm(e)&&this.events.emit(ga.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(this.events.emit(ga.message,e),await this.recordMessageEvent(e))}async acknowledgePayload(e){const t=d1(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(Vd.payload,this.onPayloadHandler),this.provider.off(Vd.connect,this.onConnectHandler),this.provider.off(Vd.disconnect,this.onDisconnectHandler),this.provider.off(Vd.error,this.onProviderErrorHandler)}async registerEventListeners(){this.events.on(ga.connection_stalled,()=>{this.restartTransport().catch(t=>this.logger.error(t))});let e=await hae();ENe(async t=>{this.initialized&&e!==t&&(e=t,t?await this.restartTransport().catch(n=>this.logger.error(n)):(this.hasExperiencedNetworkDisruption=!0,await this.transportClose().catch(n=>this.logger.error(n))))})}onProviderDisconnect(){this.events.emit(ga.disconnect),this.attemptToReconnect()}attemptToReconnect(){this.transportExplicitlyClosed||(this.logger.info("attemptToReconnect called. Connecting..."),setTimeout(async()=>{await this.restartTransport().catch(e=>this.logger.error(e))},Ye.toMiliseconds(u$e)))}isInitialized(){if(!this.initialized){const{message:e}=Wt("NOT_INITIALIZED",this.name);throw new Error(e)}}async toEstablishConnection(){if(await this.confirmOnlineStateOrThrow(),!this.connected){if(this.connectionAttemptInProgress)return await new Promise(e=>{const t=setInterval(()=>{this.connected&&(clearInterval(t),e())},this.connectionStatusPollingInterval)});await this.restartTransport()}}};var H$e=Object.defineProperty,Sce=Object.getOwnPropertySymbols,q$e=Object.prototype.hasOwnProperty,W$e=Object.prototype.propertyIsEnumerable,Ice=(r,e,t)=>e in r?H$e(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Tce=(r,e)=>{for(var t in e||(e={}))q$e.call(e,t)&&Ice(r,t,e[t]);if(Sce)for(var t of Sce(e))W$e.call(e,t)&&Ice(r,t,e[t]);return r};let TS=class extends FPe{constructor(e,t,n,i=p1,s=void 0){super(e,t,n,i),this.core=e,this.logger=t,this.name=n,this.map=new Map,this.version=d$e,this.cached=[],this.initialized=!1,this.storagePrefix=p1,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(o=>{this.getKey&&o!==null&&!$a(o)?this.map.set(this.getKey(o),o):eNe(o)?this.map.set(o.id,o):tNe(o)&&this.map.set(o.topic,o)}),this.cached=[],this.initialized=!0)},this.set=async(o,a)=>{this.isInitialized(),this.map.has(o)?await this.update(o,a):(this.logger.debug("Setting value"),this.logger.trace({type:"method",method:"set",key:o,value:a}),this.map.set(o,a),await this.persist())},this.get=o=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:o}),this.getData(o)),this.getAll=o=>(this.isInitialized(),o?this.values.filter(a=>Object.keys(o).every(l=>X6(a[l],o[l]))):this.values),this.update=async(o,a)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:o,update:a});const l=Tce(Tce({},this.getData(o)),a);this.map.set(o,l),await this.persist()},this.delete=async(o,a)=>{this.isInitialized(),this.map.has(o)&&(this.logger.debug("Deleting value"),this.logger.trace({type:"method",method:"delete",key:o,reason:a}),this.map.delete(o),await this.persist())},this.logger=gi(t,this.name),this.storagePrefix=i,this.getKey=s}get context(){return xi(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){const t=this.map.get(e);if(!t){const{message:n}=Wt("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(n),new Error(n)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{const e=await this.getDataStore();if(typeof e>"u"||!e.length)return;if(this.map.size){const{message:t}=Wt("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}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){const{message:e}=Wt("NOT_INITIALIZED",this.name);throw new Error(e)}}},V$e=class{constructor(e,t){this.core=e,this.logger=t,this.name=w$e,this.version=v$e,this.events=new pn,this.initialized=!1,this.storagePrefix=p1,this.ignoredPayloadTypes=[Pm],this.registeredMethods=[],this.init=async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace("Initialized"))},this.register=({methods:n})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...n])]},this.create=async()=>{this.isInitialized();const n=V$(),i=await this.core.crypto.setSymKey(n),s=Gc(Ye.FIVE_MINUTES),o={protocol:vce},a={topic:i,expiry:s,relay:o,active:!1},l=WMe({protocol:this.core.protocol,version:this.core.version,topic:i,symKey:n,relay:o,expiryTimestamp:s});return await this.pairings.set(i,a),await this.core.relayer.subscribe(i),this.core.expirer.set(i,s),{topic:i,uri:l}},this.pair=async n=>{this.isInitialized(),this.isValidPair(n);const{topic:i,symKey:s,relay:o,expiryTimestamp:a}=iae(n.uri);let l;if(this.pairings.keys.includes(i)&&(l=this.pairings.get(i),l.active))throw new Error(`Pairing already exists: ${i}. Please try again with a new connection URI.`);const u=a||Gc(Ye.FIVE_MINUTES),h={topic:i,relay:o,expiry:u,active:!1};return await this.pairings.set(i,h),this.core.expirer.set(i,u),n.activatePairing&&await this.activate({topic:i}),this.events.emit(r8.create,h),this.core.crypto.keychain.has(i)||(await this.core.crypto.setSymKey(s,i),await this.core.relayer.subscribe(i,{relay:o})),h},this.activate=async({topic:n})=>{this.isInitialized();const i=Gc(Ye.THIRTY_DAYS);await this.pairings.update(n,{active:!0,expiry:i}),this.core.expirer.set(n,i)},this.ping=async n=>{this.isInitialized(),await this.isValidPing(n);const{topic:i}=n;if(this.pairings.keys.includes(i)){const s=await this.sendRequest(i,"wc_pairingPing",{}),{done:o,resolve:a,reject:l}=ly();this.events.once(Es("pairing_ping",s),({error:u})=>{u?l(u):a()}),await o()}},this.updateExpiry=async({topic:n,expiry:i})=>{this.isInitialized(),await this.pairings.update(n,{expiry:i})},this.updateMetadata=async({topic:n,metadata:i})=>{this.isInitialized(),await this.pairings.update(n,{peerMetadata:i})},this.getPairings=()=>(this.isInitialized(),this.pairings.values),this.disconnect=async n=>{this.isInitialized(),await this.isValidDisconnect(n);const{topic:i}=n;this.pairings.keys.includes(i)&&(await this.sendRequest(i,"wc_pairingDelete",Gi("USER_DISCONNECTED")),await this.deletePairing(i))},this.sendRequest=async(n,i,s)=>{const o=Qu(i,s),a=await this.core.crypto.encode(n,o),l=t8[i].req;return this.core.history.set(n,o),this.core.relayer.publish(n,a,l),o.id},this.sendResult=async(n,i,s)=>{const o=d1(n,s),a=await this.core.crypto.encode(i,o),l=await this.core.history.get(i,n),u=t8[l.request.method].res;await this.core.relayer.publish(i,a,u),await this.core.history.resolve(o)},this.sendError=async(n,i,s)=>{const o=py(n,s),a=await this.core.crypto.encode(i,o),l=await this.core.history.get(i,n),u=t8[l.request.method]?t8[l.request.method].res:t8.unregistered_method.res;await this.core.relayer.publish(i,a,u),await this.core.history.resolve(o)},this.deletePairing=async(n,i)=>{await this.core.relayer.unsubscribe(n),await Promise.all([this.pairings.delete(n,Gi("USER_DISCONNECTED")),this.core.crypto.deleteSymKey(n),i?Promise.resolve():this.core.expirer.del(n)])},this.cleanup=async()=>{const n=this.pairings.getAll().filter(i=>u1(i.expiry));await Promise.all(n.map(i=>this.deletePairing(i.topic)))},this.onRelayEventRequest=n=>{const{topic:i,payload:s}=n;switch(s.method){case"wc_pairingPing":return this.onPairingPingRequest(i,s);case"wc_pairingDelete":return this.onPairingDeleteRequest(i,s);default:return this.onUnknownRpcMethodRequest(i,s)}},this.onRelayEventResponse=async n=>{const{topic:i,payload:s}=n,o=(await this.core.history.get(i,s.id)).request.method;switch(o){case"wc_pairingPing":return this.onPairingPingResponse(i,s);default:return this.onUnknownRpcMethodResponse(o)}},this.onPairingPingRequest=async(n,i)=>{const{id:s}=i;try{this.isValidPing({topic:n}),await this.sendResult(s,n,!0),this.events.emit(r8.ping,{id:s,topic:n})}catch(o){await this.sendError(s,n,o),this.logger.error(o)}},this.onPairingPingResponse=(n,i)=>{const{id:s}=i;setTimeout(()=>{xo(i)?this.events.emit(Es("pairing_ping",s),{}):As(i)&&this.events.emit(Es("pairing_ping",s),{error:i.error})},500)},this.onPairingDeleteRequest=async(n,i)=>{const{id:s}=i;try{this.isValidDisconnect({topic:n}),await this.deletePairing(n),this.events.emit(r8.delete,{id:s,topic:n})}catch(o){await this.sendError(s,n,o),this.logger.error(o)}},this.onUnknownRpcMethodRequest=async(n,i)=>{const{id:s,method:o}=i;try{if(this.registeredMethods.includes(o))return;const a=Gi("WC_METHOD_UNSUPPORTED",o);await this.sendError(s,n,a),this.logger.error(a)}catch(a){await this.sendError(s,n,a),this.logger.error(a)}},this.onUnknownRpcMethodResponse=n=>{this.registeredMethods.includes(n)||this.logger.error(Gi("WC_METHOD_UNSUPPORTED",n))},this.isValidPair=n=>{var i;if(!pc(n)){const{message:o}=Wt("MISSING_OR_INVALID",`pair() params: ${n}`);throw new Error(o)}if(!XMe(n.uri)){const{message:o}=Wt("MISSING_OR_INVALID",`pair() uri: ${n.uri}`);throw new Error(o)}const s=iae(n.uri);if(!((i=s==null?void 0:s.relay)!=null&&i.protocol)){const{message:o}=Wt("MISSING_OR_INVALID","pair() uri#relay-protocol");throw new Error(o)}if(!(s!=null&&s.symKey)){const{message:o}=Wt("MISSING_OR_INVALID","pair() uri#symKey");throw new Error(o)}if(s!=null&&s.expiryTimestamp&&Ye.toMiliseconds(s==null?void 0:s.expiryTimestamp){if(!pc(n)){const{message:s}=Wt("MISSING_OR_INVALID",`ping() params: ${n}`);throw new Error(s)}const{topic:i}=n;await this.isValidPairingTopic(i)},this.isValidDisconnect=async n=>{if(!pc(n)){const{message:s}=Wt("MISSING_OR_INVALID",`disconnect() params: ${n}`);throw new Error(s)}const{topic:i}=n;await this.isValidPairingTopic(i)},this.isValidPairingTopic=async n=>{if(!vo(n,!1)){const{message:i}=Wt("MISSING_OR_INVALID",`pairing topic should be a string: ${n}`);throw new Error(i)}if(!this.pairings.keys.includes(n)){const{message:i}=Wt("NO_MATCHING_KEY",`pairing topic doesn't exist: ${n}`);throw new Error(i)}if(u1(this.pairings.get(n).expiry)){await this.deletePairing(n);const{message:i}=Wt("EXPIRED",`pairing topic: ${n}`);throw new Error(i)}},this.core=e,this.logger=gi(t,this.name),this.pairings=new TS(this.core,this.logger,this.name,this.storagePrefix)}get context(){return xi(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=Wt("NOT_INITIALIZED",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(ga.message,async e=>{const{topic:t,message:n}=e;if(!this.pairings.keys.includes(t)||this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(n)))return;const i=await this.core.crypto.decode(t,n);try{gy(i)?(this.core.history.set(t,i),this.onRelayEventRequest({topic:t,payload:i})):Bm(i)&&(await this.core.history.resolve(i),await this.onRelayEventResponse({topic:t,payload:i}),this.core.history.delete(t,i.id))}catch(s){this.logger.error(s)}})}registerExpirerEvents(){this.core.expirer.on(Ql.expired,async e=>{const{topic:t}=tae(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(r8.expire,{topic:t}))})}},G$e=class extends $Pe{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.records=new Map,this.events=new pn.EventEmitter,this.name=y$e,this.version=x$e,this.cached=[],this.initialized=!1,this.storagePrefix=p1,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(n=>this.records.set(n.id,n)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.set=(n,i,s)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:n,request:i,chainId:s}),this.records.has(i.id))return;const o={id:i.id,topic:n,request:{method:i.method,params:i.params||null},chainId:s,expiry:Gc(Ye.THIRTY_DAYS)};this.records.set(o.id,o),this.events.emit(bf.created,o)},this.resolve=async n=>{if(this.isInitialized(),this.logger.debug("Updating JSON-RPC response history record"),this.logger.trace({type:"method",method:"update",response:n}),!this.records.has(n.id))return;const i=await this.getRecord(n.id);typeof i.response>"u"&&(i.response=As(n)?{error:n.error}:{result:n.result},this.records.set(i.id,i),this.events.emit(bf.updated,i))},this.get=async(n,i)=>(this.isInitialized(),this.logger.debug("Getting record"),this.logger.trace({type:"method",method:"get",topic:n,id:i}),await this.getRecord(i)),this.delete=(n,i)=>{this.isInitialized(),this.logger.debug("Deleting record"),this.logger.trace({type:"method",method:"delete",id:i}),this.values.forEach(s=>{if(s.topic===n){if(typeof i<"u"&&s.id!==i)return;this.records.delete(s.id),this.events.emit(bf.deleted,s)}})},this.exists=async(n,i)=>(this.isInitialized(),this.records.has(i)?(await this.getRecord(i)).topic===n:!1),this.on=(n,i)=>{this.events.on(n,i)},this.once=(n,i)=>{this.events.once(n,i)},this.off=(n,i)=>{this.events.off(n,i)},this.removeListener=(n,i)=>{this.events.removeListener(n,i)},this.logger=gi(t,this.name)}get context(){return xi(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){const e=[];return this.values.forEach(t=>{if(typeof t.response<"u")return;const n={topic:t.topic,request:Qu(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(n)}),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();const t=this.records.get(e);if(!t){const{message:n}=Wt("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(n)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(bf.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){const{message:t}=Wt("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}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(bf.created,e=>{const t=bf.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e}),this.persist()}),this.events.on(bf.updated,e=>{const t=bf.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e}),this.persist()}),this.events.on(bf.deleted,e=>{const t=bf.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e}),this.persist()}),this.core.heartbeat.on(Yu.HEARTBEAT_EVENTS.pulse,()=>{this.cleanup()})}cleanup(){try{this.records.forEach(e=>{Ye.toMiliseconds(e.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${e.id}`),this.delete(e.topic,e.id))})}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=Wt("NOT_INITIALIZED",this.name);throw new Error(e)}}},K$e=class extends zPe{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.expirations=new Map,this.events=new pn.EventEmitter,this.name=_$e,this.version=E$e,this.cached=[],this.initialized=!1,this.storagePrefix=p1,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(n=>this.expirations.set(n.target,n)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.has=n=>{try{const i=this.formatTarget(n);return typeof this.getExpiration(i)<"u"}catch{return!1}},this.set=(n,i)=>{this.isInitialized();const s=this.formatTarget(n),o={target:s,expiry:i};this.expirations.set(s,o),this.checkExpiry(s,o),this.events.emit(Ql.created,{target:s,expiration:o})},this.get=n=>{this.isInitialized();const i=this.formatTarget(n);return this.getExpiration(i)},this.del=n=>{if(this.isInitialized(),this.has(n)){const i=this.formatTarget(n),s=this.getExpiration(i);this.expirations.delete(i),this.events.emit(Ql.deleted,{target:i,expiration:s})}},this.on=(n,i)=>{this.events.on(n,i)},this.once=(n,i)=>{this.events.once(n,i)},this.off=(n,i)=>{this.events.off(n,i)},this.removeListener=(n,i)=>{this.events.removeListener(n,i)},this.logger=gi(t,this.name)}get context(){return xi(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(typeof e=="string")return kMe(e);if(typeof e=="number")return MMe(e);const{message:t}=Wt("UNKNOWN_TYPE",`Target type: ${typeof e}`);throw new 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(Ql.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){const{message:t}=Wt("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}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){const t=this.expirations.get(e);if(!t){const{message:n}=Wt("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(n),new Error(n)}return t}checkExpiry(e,t){const{expiry:n}=t;Ye.toMiliseconds(n)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(Ql.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(Yu.HEARTBEAT_EVENTS.pulse,()=>this.checkExpirations()),this.events.on(Ql.created,e=>{const t=Ql.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(Ql.expired,e=>{const t=Ql.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(Ql.deleted,e=>{const t=Ql.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=Wt("NOT_INITIALIZED",this.name);throw new Error(e)}}},Z$e=class extends HPe{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,this.name=gB,this.initialized=!1,this.queue=[],this.verifyDisabled=!1,this.init=async n=>{if(this.verifyDisabled||ay()||!cy())return;const i=this.getVerifyUrl(n==null?void 0:n.verifyUrl);this.verifyUrl!==i&&this.removeIframe(),this.verifyUrl=i;try{await this.createIframe()}catch(s){this.logger.info(`Verify iframe failed to load: ${this.verifyUrl}`),this.logger.info(s)}if(!this.initialized){this.removeIframe(),this.verifyUrl=mB;try{await this.createIframe()}catch(s){this.logger.info(`Verify iframe failed to load: ${this.verifyUrl}`),this.logger.info(s),this.verifyDisabled=!0}}},this.register=async n=>{this.initialized?this.sendPost(n.attestationId):(this.addToQueue(n.attestationId),await this.init())},this.resolve=async n=>{if(this.isDevEnv)return"";const i=this.getVerifyUrl(n==null?void 0:n.verifyUrl);let s;try{s=await this.fetchAttestation(n.attestationId,i)}catch(o){this.logger.info(`failed to resolve attestation: ${n.attestationId} from url: ${i}`),this.logger.info(o),s=await this.fetchAttestation(n.attestationId,mB)}return s},this.fetchAttestation=async(n,i)=>{this.logger.info(`resolving attestation: ${n} from url: ${i}`);const s=this.startAbortTimer(Ye.ONE_SECOND*2),o=await fetch(`${i}/attestation/${n}`,{signal:this.abortController.signal});return clearTimeout(s),o.status===200?await o.json():void 0},this.addToQueue=n=>{this.queue.push(n)},this.processQueue=()=>{this.queue.length!==0&&(this.queue.forEach(n=>this.sendPost(n)),this.queue=[])},this.sendPost=n=>{var i;try{if(!this.iframe)return;(i=this.iframe.contentWindow)==null||i.postMessage(n,"*"),this.logger.info(`postMessage sent: ${n} ${this.verifyUrl}`)}catch{}},this.createIframe=async()=>{let n;const i=s=>{s.data==="verify_ready"&&(this.initialized=!0,this.processQueue(),window.removeEventListener("message",i),n())};await Promise.race([new Promise(s=>{if(document.getElementById(gB))return s();window.addEventListener("message",i);const o=document.createElement("iframe");o.id=gB,o.src=`${this.verifyUrl}/${this.projectId}`,o.style.display="none",document.body.append(o),this.iframe=o,n=s}),new Promise((s,o)=>setTimeout(()=>{window.removeEventListener("message",i),o("verify iframe load timeout")},Ye.toMiliseconds(Ye.FIVE_SECONDS)))])},this.removeIframe=()=>{this.iframe&&(this.iframe.remove(),this.iframe=void 0,this.initialized=!1)},this.getVerifyUrl=n=>{let i=n||my;return A$e.includes(i)||(this.logger.info(`verify url: ${i}, not included in trusted list, assigning default: ${my}`),i=my),i},this.logger=gi(t,this.name),this.verifyUrl=my,this.abortController=new AbortController,this.isDevEnv=G$()&&yt.env.IS_VITEST}get context(){return xi(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),Ye.toMiliseconds(e))}},J$e=class extends qPe{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,this.context=C$e,this.registerDeviceToken=async n=>{const{clientId:i,token:s,notificationType:o,enableEncrypted:a=!1}=n,l=`${S$e}/${this.projectId}/clients`;await Xae(l,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:i,type:o,token:s,always_raw:a})})},this.logger=gi(t,this.context)}};var Y$e=Object.defineProperty,Rce=Object.getOwnPropertySymbols,Q$e=Object.prototype.hasOwnProperty,X$e=Object.prototype.propertyIsEnumerable,kce=(r,e,t)=>e in r?Y$e(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Mce=(r,e)=>{for(var t in e||(e={}))Q$e.call(e,t)&&kce(r,t,e[t]);if(Rce)for(var t of Rce(e))X$e.call(e,t)&&kce(r,t,e[t]);return r};let Nce=class extends DPe{constructor(e){super(e),this.protocol=bce,this.version=JDe,this.name=pB,this.events=new pn.EventEmitter,this.initialized=!1,this.on=(n,i)=>this.events.on(n,i),this.once=(n,i)=>this.events.once(n,i),this.off=(n,i)=>this.events.off(n,i),this.removeListener=(n,i)=>this.events.removeListener(n,i),this.projectId=e==null?void 0:e.projectId,this.relayUrl=(e==null?void 0:e.relayUrl)||yce,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:"";const t=typeof(e==null?void 0:e.logger)<"u"&&typeof(e==null?void 0:e.logger)!="string"?e.logger:mc(h1({level:(e==null?void 0:e.logger)||YDe.logger}));this.logger=gi(t,this.name),this.heartbeat=new Yu.HeartBeat,this.crypto=new T$e(this,this.logger,e==null?void 0:e.keychain),this.history=new G$e(this,this.logger),this.expirer=new K$e(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new wae(Mce(Mce({},QDe),e==null?void 0:e.storageOptions)),this.relayer=new z$e({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new V$e(this,this.logger),this.verify=new Z$e(this.projectId||"",this.logger),this.echoClient=new J$e(this.projectId||"",this.logger)}static async init(e){const t=new Nce(e);await t.initialize();const n=await t.crypto.getClientId();return await t.storage.setItem(p$e,n),t}get context(){return xi(this.logger)}async start(){this.initialized||await this.initialize()}async initialize(){this.logger.trace("Initialized");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.initialized=!0,this.logger.info("Core Initialization Success")}catch(e){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,e),this.logger.error(e.message),e}}};const eBe=Nce,Pce="wc",Oce=2,Dce="client",wB=`${Pce}@${Oce}:${Dce}:`,vB={name:Dce,logger:"error",controller:!1,relayUrl:"wss://relay.walletconnect.com"},$ce="WALLETCONNECT_DEEPLINK_CHOICE",tBe="proposal",Bce="Proposal expired",rBe="session",RS=Ye.SEVEN_DAYS,nBe="engine",Gd={wc_sessionPropose:{req:{ttl:Ye.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:Ye.FIVE_MINUTES,prompt:!1,tag:1101}},wc_sessionSettle:{req:{ttl:Ye.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:Ye.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:Ye.ONE_DAY,prompt:!1,tag:1104},res:{ttl:Ye.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:Ye.ONE_DAY,prompt:!1,tag:1106},res:{ttl:Ye.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:Ye.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:Ye.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:Ye.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:Ye.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:Ye.ONE_DAY,prompt:!1,tag:1112},res:{ttl:Ye.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:Ye.THIRTY_SECONDS,prompt:!1,tag:1114},res:{ttl:Ye.THIRTY_SECONDS,prompt:!1,tag:1115}}},yB={min:Ye.FIVE_MINUTES,max:Ye.SEVEN_DAYS},Kd={idle:"IDLE",active:"ACTIVE"},iBe="request",sBe=["wc_sessionPropose","wc_sessionRequest","wc_authRequest"];var oBe=Object.defineProperty,aBe=Object.defineProperties,cBe=Object.getOwnPropertyDescriptors,Lce=Object.getOwnPropertySymbols,lBe=Object.prototype.hasOwnProperty,uBe=Object.prototype.propertyIsEnumerable,Uce=(r,e,t)=>e in r?oBe(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ba=(r,e)=>{for(var t in e||(e={}))lBe.call(e,t)&&Uce(r,t,e[t]);if(Lce)for(var t of Lce(e))uBe.call(e,t)&&Uce(r,t,e[t]);return r},by=(r,e)=>aBe(r,cBe(e));let hBe=class extends VPe{constructor(e){super(e),this.name=nBe,this.events=new pn,this.initialized=!1,this.ignoredPayloadTypes=[Pm],this.requestQueue={state:Kd.idle,queue:[]},this.sessionRequestQueue={state:Kd.idle,queue:[]},this.requestQueueDelay=Ye.ONE_SECOND,this.init=async()=>{this.initialized||(await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.registerPairingEvents(),this.client.core.pairing.register({methods:Object.keys(Gd)}),this.initialized=!0,setTimeout(()=>{this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},Ye.toMiliseconds(this.requestQueueDelay)))},this.connect=async t=>{await this.isInitialized();const n=by(Ba({},t),{requiredNamespaces:t.requiredNamespaces||{},optionalNamespaces:t.optionalNamespaces||{}});await this.isValidConnect(n);const{pairingTopic:i,requiredNamespaces:s,optionalNamespaces:o,sessionProperties:a,relays:l}=n;let u=i,h,p=!1;if(u&&(p=this.client.core.pairing.pairings.get(u).active),!u||!p){const{topic:B,uri:z}=await this.client.core.pairing.create();u=B,h=z}const g=await this.client.core.crypto.generateKeyPair(),w=Gd.wc_sessionPropose.req.ttl||Ye.FIVE_MINUTES,y=Gc(w),C=Ba({requiredNamespaces:s,optionalNamespaces:o,relays:l??[{protocol:vce}],proposer:{publicKey:g,metadata:this.client.metadata},expiryTimestamp:y},a&&{sessionProperties:a}),{reject:T,resolve:k,done:N}=ly(w,Bce);if(this.events.once(Es("session_connect"),async({error:B,session:z})=>{if(B)T(B);else if(z){z.self.publicKey=g;const G=by(Ba({},z),{requiredNamespaces:C.requiredNamespaces,optionalNamespaces:C.optionalNamespaces});await this.client.session.set(z.topic,G),await this.setExpiry(z.topic,z.expiry),u&&await this.client.core.pairing.updateMetadata({topic:u,metadata:z.peer.metadata}),k(G)}}),!u){const{message:B}=Wt("NO_MATCHING_KEY",`connect() pairing topic: ${u}`);throw new Error(B)}const O=await this.sendRequest({topic:u,method:"wc_sessionPropose",params:C,throwOnFailedPublish:!0});return await this.setProposal(O,Ba({id:O},C)),{uri:h,approval:N}},this.pair=async t=>(await this.isInitialized(),await this.client.core.pairing.pair(t)),this.approve=async t=>{await this.isInitialized(),await this.isValidApprove(t);const{id:n,relayProtocol:i,namespaces:s,sessionProperties:o}=t,a=this.client.proposal.get(n);let{pairingTopic:l,proposer:u,requiredNamespaces:h,optionalNamespaces:p}=a;l=l||"";const g=await this.client.core.crypto.generateKeyPair(),w=u.publicKey,y=await this.client.core.crypto.generateSharedKey(g,w);l&&n&&(await this.client.core.pairing.updateMetadata({topic:l,metadata:u.metadata}),await this.sendResult({id:n,topic:l,result:{relay:{protocol:i??"irn"},responderPublicKey:g}}),await this.client.proposal.delete(n,Gi("USER_DISCONNECTED")),await this.client.core.pairing.activate({topic:l}));const C=Ba({relay:{protocol:i??"irn"},namespaces:s,pairingTopic:l,controller:{publicKey:g,metadata:this.client.metadata},expiry:Gc(RS)},o&&{sessionProperties:o});await this.client.core.relayer.subscribe(y);const T=by(Ba({},C),{topic:y,requiredNamespaces:h,optionalNamespaces:p,pairingTopic:l,acknowledged:!1,self:C.controller,peer:{publicKey:u.publicKey,metadata:u.metadata},controller:g});await this.client.session.set(y,T);try{await this.sendRequest({topic:y,method:"wc_sessionSettle",params:C,throwOnFailedPublish:!0})}catch(k){throw this.client.logger.error(k),this.client.session.delete(y,Gi("USER_DISCONNECTED")),await this.client.core.relayer.unsubscribe(y),k}return await this.setExpiry(y,Gc(RS)),{topic:y,acknowledged:()=>new Promise(k=>setTimeout(()=>k(this.client.session.get(y)),500))}},this.reject=async t=>{await this.isInitialized(),await this.isValidReject(t);const{id:n,reason:i}=t,{pairingTopic:s}=this.client.proposal.get(n);s&&(await this.sendError(n,s,i),await this.client.proposal.delete(n,Gi("USER_DISCONNECTED")))},this.update=async t=>{await this.isInitialized(),await this.isValidUpdate(t);const{topic:n,namespaces:i}=t,s=await this.sendRequest({topic:n,method:"wc_sessionUpdate",params:{namespaces:i}}),{done:o,resolve:a,reject:l}=ly();return this.events.once(Es("session_update",s),({error:u})=>{u?l(u):a()}),await this.client.session.update(n,{namespaces:i}),{acknowledged:o}},this.extend=async t=>{await this.isInitialized(),await this.isValidExtend(t);const{topic:n}=t,i=await this.sendRequest({topic:n,method:"wc_sessionExtend",params:{}}),{done:s,resolve:o,reject:a}=ly();return this.events.once(Es("session_extend",i),({error:l})=>{l?a(l):o()}),await this.setExpiry(n,Gc(RS)),{acknowledged:s}},this.request=async t=>{await this.isInitialized(),await this.isValidRequest(t);const{chainId:n,request:i,topic:s,expiry:o=Gd.wc_sessionRequest.req.ttl}=t,a=Wd(),{done:l,resolve:u,reject:h}=ly(o,"Request expired. Please try again.");return this.events.once(Es("session_request",a),({error:p,result:g})=>{p?h(p):u(g)}),await Promise.all([new Promise(async p=>{await this.sendRequest({clientRpcId:a,topic:s,method:"wc_sessionRequest",params:{request:by(Ba({},i),{expiryTimestamp:Gc(o)}),chainId:n},expiry:o,throwOnFailedPublish:!0}).catch(g=>h(g)),this.client.events.emit("session_request_sent",{topic:s,request:i,chainId:n,id:a}),p()}),new Promise(async p=>{const g=await PMe(this.client.core.storage,$ce);NMe({id:a,topic:s,wcDeepLink:g}),p()}),l()]).then(p=>p[2])},this.respond=async t=>{await this.isInitialized(),await this.isValidRespond(t);const{topic:n,response:i}=t,{id:s}=i;xo(i)?await this.sendResult({id:s,topic:n,result:i.result,throwOnFailedPublish:!0}):As(i)&&await this.sendError(s,n,i.error),this.cleanupAfterResponse(t)},this.ping=async t=>{await this.isInitialized(),await this.isValidPing(t);const{topic:n}=t;if(this.client.session.keys.includes(n)){const i=await this.sendRequest({topic:n,method:"wc_sessionPing",params:{}}),{done:s,resolve:o,reject:a}=ly();this.events.once(Es("session_ping",i),({error:l})=>{l?a(l):o()}),await s()}else this.client.core.pairing.pairings.keys.includes(n)&&await this.client.core.pairing.ping({topic:n})},this.emit=async t=>{await this.isInitialized(),await this.isValidEmit(t);const{topic:n,event:i,chainId:s}=t;await this.sendRequest({topic:n,method:"wc_sessionEvent",params:{event:i,chainId:s}})},this.disconnect=async t=>{await this.isInitialized(),await this.isValidDisconnect(t);const{topic:n}=t;if(this.client.session.keys.includes(n))await this.sendRequest({topic:n,method:"wc_sessionDelete",params:Gi("USER_DISCONNECTED"),throwOnFailedPublish:!0}),await this.deleteSession({topic:n,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(n))await this.client.core.pairing.disconnect({topic:n});else{const{message:i}=Wt("MISMATCHED_TOPIC",`Session or pairing topic not found: ${n}`);throw new Error(i)}},this.find=t=>(this.isInitialized(),this.client.session.getAll().filter(n=>YMe(n,t))),this.getPendingSessionRequests=()=>this.client.pendingRequest.getAll(),this.cleanupDuplicatePairings=async t=>{if(t.pairingTopic)try{const n=this.client.core.pairing.pairings.get(t.pairingTopic),i=this.client.core.pairing.pairings.getAll().filter(s=>{var o,a;return((o=s.peerMetadata)==null?void 0:o.url)&&((a=s.peerMetadata)==null?void 0:a.url)===t.peer.metadata.url&&s.topic&&s.topic!==n.topic});if(i.length===0)return;this.client.logger.info(`Cleaning up ${i.length} duplicate pairing(s)`),await Promise.all(i.map(s=>this.client.core.pairing.disconnect({topic:s.topic}))),this.client.logger.info("Duplicate pairings clean up finished")}catch(n){this.client.logger.error(n)}},this.deleteSession=async t=>{const{topic:n,expirerHasDeleted:i=!1,emitEvent:s=!0,id:o=0}=t,{self:a}=this.client.session.get(n);await this.client.core.relayer.unsubscribe(n),await this.client.session.delete(n,Gi("USER_DISCONNECTED")),this.client.core.crypto.keychain.has(a.publicKey)&&await this.client.core.crypto.deleteKeyPair(a.publicKey),this.client.core.crypto.keychain.has(n)&&await this.client.core.crypto.deleteSymKey(n),i||this.client.core.expirer.del(n),this.client.core.storage.removeItem($ce).catch(l=>this.client.logger.warn(l)),this.getPendingSessionRequests().forEach(l=>{l.topic===n&&this.deletePendingSessionRequest(l.id,Gi("USER_DISCONNECTED"))}),s&&this.client.events.emit("session_delete",{id:o,topic:n})},this.deleteProposal=async(t,n)=>{await Promise.all([this.client.proposal.delete(t,Gi("USER_DISCONNECTED")),n?Promise.resolve():this.client.core.expirer.del(t)])},this.deletePendingSessionRequest=async(t,n,i=!1)=>{await Promise.all([this.client.pendingRequest.delete(t,n),i?Promise.resolve():this.client.core.expirer.del(t)]),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(s=>s.id!==t),i&&(this.sessionRequestQueue.state=Kd.idle,this.client.events.emit("session_request_expire",{id:t}))},this.setExpiry=async(t,n)=>{this.client.session.keys.includes(t)&&await this.client.session.update(t,{expiry:n}),this.client.core.expirer.set(t,n)},this.setProposal=async(t,n)=>{await this.client.proposal.set(t,n),this.client.core.expirer.set(t,Gc(Gd.wc_sessionPropose.req.ttl))},this.setPendingSessionRequest=async t=>{const{id:n,topic:i,params:s,verifyContext:o}=t,a=s.request.expiryTimestamp||Gc(Gd.wc_sessionRequest.req.ttl);await this.client.pendingRequest.set(n,{id:n,topic:i,params:s,verifyContext:o}),a&&this.client.core.expirer.set(n,a)},this.sendRequest=async t=>{const{topic:n,method:i,params:s,expiry:o,relayRpcId:a,clientRpcId:l,throwOnFailedPublish:u}=t,h=Qu(i,s,l);if(cy()&&sBe.includes(i)){const w=oy(JSON.stringify(h));this.client.core.verify.register({attestationId:w})}const p=await this.client.core.crypto.encode(n,h),g=Gd[i].req;return o&&(g.ttl=o),a&&(g.id=a),this.client.core.history.set(n,h),u?(g.internal=by(Ba({},g.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(n,p,g)):this.client.core.relayer.publish(n,p,g).catch(w=>this.client.logger.error(w)),h.id},this.sendResult=async t=>{const{id:n,topic:i,result:s,throwOnFailedPublish:o}=t,a=d1(n,s),l=await this.client.core.crypto.encode(i,a),u=await this.client.core.history.get(i,n),h=Gd[u.request.method].res;o?(h.internal=by(Ba({},h.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(i,l,h)):this.client.core.relayer.publish(i,l,h).catch(p=>this.client.logger.error(p)),await this.client.core.history.resolve(a)},this.sendError=async(t,n,i)=>{const s=py(t,i),o=await this.client.core.crypto.encode(n,s),a=await this.client.core.history.get(n,t),l=Gd[a.request.method].res;this.client.core.relayer.publish(n,o,l),await this.client.core.history.resolve(s)},this.cleanup=async()=>{const t=[],n=[];this.client.session.getAll().forEach(i=>{let s=!1;u1(i.expiry)&&(s=!0),this.client.core.crypto.keychain.has(i.topic)||(s=!0),s&&t.push(i.topic)}),this.client.proposal.getAll().forEach(i=>{u1(i.expiryTimestamp)&&n.push(i.id)}),await Promise.all([...t.map(i=>this.deleteSession({topic:i})),...n.map(i=>this.deleteProposal(i))])},this.onRelayEventRequest=async t=>{this.requestQueue.queue.push(t),await this.processRequestsQueue()},this.processRequestsQueue=async()=>{if(this.requestQueue.state===Kd.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=Kd.active;const t=this.requestQueue.queue.shift();if(t)try{this.processRequest(t),await new Promise(n=>setTimeout(n,300))}catch(n){this.client.logger.warn(n)}}this.requestQueue.state=Kd.idle},this.processRequest=t=>{const{topic:n,payload:i}=t,s=i.method;switch(s){case"wc_sessionPropose":return this.onSessionProposeRequest(n,i);case"wc_sessionSettle":return this.onSessionSettleRequest(n,i);case"wc_sessionUpdate":return this.onSessionUpdateRequest(n,i);case"wc_sessionExtend":return this.onSessionExtendRequest(n,i);case"wc_sessionPing":return this.onSessionPingRequest(n,i);case"wc_sessionDelete":return this.onSessionDeleteRequest(n,i);case"wc_sessionRequest":return this.onSessionRequest(n,i);case"wc_sessionEvent":return this.onSessionEventRequest(n,i);default:return this.client.logger.info(`Unsupported request method ${s}`)}},this.onRelayEventResponse=async t=>{const{topic:n,payload:i}=t,s=(await this.client.core.history.get(n,i.id)).request.method;switch(s){case"wc_sessionPropose":return this.onSessionProposeResponse(n,i);case"wc_sessionSettle":return this.onSessionSettleResponse(n,i);case"wc_sessionUpdate":return this.onSessionUpdateResponse(n,i);case"wc_sessionExtend":return this.onSessionExtendResponse(n,i);case"wc_sessionPing":return this.onSessionPingResponse(n,i);case"wc_sessionRequest":return this.onSessionRequestResponse(n,i);default:return this.client.logger.info(`Unsupported response method ${s}`)}},this.onRelayEventUnknownPayload=t=>{const{topic:n}=t,{message:i}=Wt("MISSING_OR_INVALID",`Decoded payload on topic ${n} is not identifiable as a JSON-RPC request or a response.`);throw new Error(i)},this.onSessionProposeRequest=async(t,n)=>{const{params:i,id:s}=n;try{this.isValidConnect(Ba({},n.params));const o=i.expiryTimestamp||Gc(Gd.wc_sessionPropose.req.ttl),a=Ba({id:s,pairingTopic:t,expiryTimestamp:o},i);await this.setProposal(s,a);const l=oy(JSON.stringify(n)),u=await this.getVerifyContext(l,a.proposer.metadata);this.client.events.emit("session_proposal",{id:s,params:a,verifyContext:u})}catch(o){await this.sendError(s,t,o),this.client.logger.error(o)}},this.onSessionProposeResponse=async(t,n)=>{const{id:i}=n;if(xo(n)){const{result:s}=n;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:s});const o=this.client.proposal.get(i);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:o});const a=o.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:a});const l=s.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:l});const u=await this.client.core.crypto.generateSharedKey(a,l);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",sessionTopic:u});const h=await this.client.core.relayer.subscribe(u);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:h}),await this.client.core.pairing.activate({topic:t})}else As(n)&&(await this.client.proposal.delete(i,Gi("USER_DISCONNECTED")),this.events.emit(Es("session_connect"),{error:n.error}))},this.onSessionSettleRequest=async(t,n)=>{const{id:i,params:s}=n;try{this.isValidSessionSettleRequest(s);const{relay:o,controller:a,expiry:l,namespaces:u,sessionProperties:h,pairingTopic:p}=n.params,g=Ba({topic:t,relay:o,expiry:l,namespaces:u,acknowledged:!0,pairingTopic:p,requiredNamespaces:{},optionalNamespaces:{},controller:a.publicKey,self:{publicKey:"",metadata:this.client.metadata},peer:{publicKey:a.publicKey,metadata:a.metadata}},h&&{sessionProperties:h});await this.sendResult({id:n.id,topic:t,result:!0}),this.events.emit(Es("session_connect"),{session:g}),this.cleanupDuplicatePairings(g)}catch(o){await this.sendError(i,t,o),this.client.logger.error(o)}},this.onSessionSettleResponse=async(t,n)=>{const{id:i}=n;xo(n)?(await this.client.session.update(t,{acknowledged:!0}),this.events.emit(Es("session_approve",i),{})):As(n)&&(await this.client.session.delete(t,Gi("USER_DISCONNECTED")),this.events.emit(Es("session_approve",i),{error:n.error}))},this.onSessionUpdateRequest=async(t,n)=>{const{params:i,id:s}=n;try{const o=`${t}_session_update`,a=mS.get(o);if(a&&this.isRequestOutOfSync(a,s)){this.client.logger.info(`Discarding out of sync request - ${s}`);return}this.isValidUpdate(Ba({topic:t},i)),await this.client.session.update(t,{namespaces:i.namespaces}),await this.sendResult({id:s,topic:t,result:!0}),this.client.events.emit("session_update",{id:s,topic:t,params:i}),mS.set(o,s)}catch(o){await this.sendError(s,t,o),this.client.logger.error(o)}},this.isRequestOutOfSync=(t,n)=>parseInt(n.toString().slice(0,-3))<=parseInt(t.toString().slice(0,-3)),this.onSessionUpdateResponse=(t,n)=>{const{id:i}=n;xo(n)?this.events.emit(Es("session_update",i),{}):As(n)&&this.events.emit(Es("session_update",i),{error:n.error})},this.onSessionExtendRequest=async(t,n)=>{const{id:i}=n;try{this.isValidExtend({topic:t}),await this.setExpiry(t,Gc(RS)),await this.sendResult({id:i,topic:t,result:!0}),this.client.events.emit("session_extend",{id:i,topic:t})}catch(s){await this.sendError(i,t,s),this.client.logger.error(s)}},this.onSessionExtendResponse=(t,n)=>{const{id:i}=n;xo(n)?this.events.emit(Es("session_extend",i),{}):As(n)&&this.events.emit(Es("session_extend",i),{error:n.error})},this.onSessionPingRequest=async(t,n)=>{const{id:i}=n;try{this.isValidPing({topic:t}),await this.sendResult({id:i,topic:t,result:!0}),this.client.events.emit("session_ping",{id:i,topic:t})}catch(s){await this.sendError(i,t,s),this.client.logger.error(s)}},this.onSessionPingResponse=(t,n)=>{const{id:i}=n;setTimeout(()=>{xo(n)?this.events.emit(Es("session_ping",i),{}):As(n)&&this.events.emit(Es("session_ping",i),{error:n.error})},500)},this.onSessionDeleteRequest=async(t,n)=>{const{id:i}=n;try{this.isValidDisconnect({topic:t,reason:n.params}),await Promise.all([new Promise(s=>{this.client.core.relayer.once(ga.publish,async()=>{s(await this.deleteSession({topic:t,id:i}))})}),this.sendResult({id:i,topic:t,result:!0}),this.cleanupPendingSentRequestsForTopic({topic:t,error:Gi("USER_DISCONNECTED")})])}catch(s){this.client.logger.error(s)}},this.onSessionRequest=async(t,n)=>{const{id:i,params:s}=n;try{this.isValidRequest(Ba({topic:t},s));const o=oy(JSON.stringify(Qu("wc_sessionRequest",s,i))),a=this.client.session.get(t),l=await this.getVerifyContext(o,a.peer.metadata),u={id:i,topic:t,params:s,verifyContext:l};await this.setPendingSessionRequest(u),this.addSessionRequestToSessionRequestQueue(u),this.processSessionRequestQueue()}catch(o){await this.sendError(i,t,o),this.client.logger.error(o)}},this.onSessionRequestResponse=(t,n)=>{const{id:i}=n;xo(n)?this.events.emit(Es("session_request",i),{result:n.result}):As(n)&&this.events.emit(Es("session_request",i),{error:n.error})},this.onSessionEventRequest=async(t,n)=>{const{id:i,params:s}=n;try{const o=`${t}_session_event_${s.event.name}`,a=mS.get(o);if(a&&this.isRequestOutOfSync(a,i)){this.client.logger.info(`Discarding out of sync request - ${i}`);return}this.isValidEmit(Ba({topic:t},s)),this.client.events.emit("session_event",{id:i,topic:t,params:s}),mS.set(o,i)}catch(o){await this.sendError(i,t,o),this.client.logger.error(o)}},this.addSessionRequestToSessionRequestQueue=t=>{this.sessionRequestQueue.queue.push(t)},this.cleanupAfterResponse=t=>{this.deletePendingSessionRequest(t.response.id,{message:"fulfilled",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=Kd.idle,this.processSessionRequestQueue()},Ye.toMiliseconds(this.requestQueueDelay))},this.cleanupPendingSentRequestsForTopic=({topic:t,error:n})=>{const i=this.client.core.history.pending;i.length>0&&i.filter(s=>s.topic===t&&s.request.method==="wc_sessionRequest").forEach(s=>{this.events.emit(Es("session_request",s.request.id),{error:n})})},this.processSessionRequestQueue=()=>{if(this.sessionRequestQueue.state===Kd.active){this.client.logger.info("session request queue is already active.");return}const t=this.sessionRequestQueue.queue[0];if(!t){this.client.logger.info("session request queue is empty.");return}try{this.sessionRequestQueue.state=Kd.active,this.client.events.emit("session_request",t)}catch(n){this.client.logger.error(n)}},this.onPairingCreated=t=>{if(t.active)return;const n=this.client.proposal.getAll().find(i=>i.pairingTopic===t.topic);n&&this.onSessionProposeRequest(t.topic,Qu("wc_sessionPropose",{requiredNamespaces:n.requiredNamespaces,optionalNamespaces:n.optionalNamespaces,relays:n.relays,proposer:n.proposer,sessionProperties:n.sessionProperties},n.id))},this.isValidConnect=async t=>{if(!pc(t)){const{message:l}=Wt("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(t)}`);throw new Error(l)}const{pairingTopic:n,requiredNamespaces:i,optionalNamespaces:s,sessionProperties:o,relays:a}=t;if($a(n)||await this.isValidPairingTopic(n),!lNe(a,!0)){const{message:l}=Wt("MISSING_OR_INVALID",`connect() relays: ${a}`);throw new Error(l)}!$a(i)&&W6(i)!==0&&this.validateNamespaces(i,"requiredNamespaces"),!$a(s)&&W6(s)!==0&&this.validateNamespaces(s,"optionalNamespaces"),$a(o)||this.validateSessionProps(o,"sessionProperties")},this.validateNamespaces=(t,n)=>{const i=cNe(t,"connect()",n);if(i)throw new Error(i.message)},this.isValidApprove=async t=>{if(!pc(t))throw new Error(Wt("MISSING_OR_INVALID",`approve() params: ${t}`).message);const{id:n,namespaces:i,relayProtocol:s,sessionProperties:o}=t;await this.isValidProposalId(n);const a=this.client.proposal.get(n),l=Q$(i,"approve()");if(l)throw new Error(l.message);const u=lae(a.requiredNamespaces,i,"approve()");if(u)throw new Error(u.message);if(!vo(s,!0)){const{message:h}=Wt("MISSING_OR_INVALID",`approve() relayProtocol: ${s}`);throw new Error(h)}$a(o)||this.validateSessionProps(o,"sessionProperties")},this.isValidReject=async t=>{if(!pc(t)){const{message:s}=Wt("MISSING_OR_INVALID",`reject() params: ${t}`);throw new Error(s)}const{id:n,reason:i}=t;if(await this.isValidProposalId(n),!hNe(i)){const{message:s}=Wt("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(i)}`);throw new Error(s)}},this.isValidSessionSettleRequest=t=>{if(!pc(t)){const{message:u}=Wt("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${t}`);throw new Error(u)}const{relay:n,controller:i,namespaces:s,expiry:o}=t;if(!aae(n)){const{message:u}=Wt("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw new Error(u)}const a=rNe(i,"onSessionSettleRequest()");if(a)throw new Error(a.message);const l=Q$(s,"onSessionSettleRequest()");if(l)throw new Error(l.message);if(u1(o)){const{message:u}=Wt("EXPIRED","onSessionSettleRequest()");throw new Error(u)}},this.isValidUpdate=async t=>{if(!pc(t)){const{message:l}=Wt("MISSING_OR_INVALID",`update() params: ${t}`);throw new Error(l)}const{topic:n,namespaces:i}=t;await this.isValidSessionTopic(n);const s=this.client.session.get(n),o=Q$(i,"update()");if(o)throw new Error(o.message);const a=lae(s.requiredNamespaces,i,"update()");if(a)throw new Error(a.message)},this.isValidExtend=async t=>{if(!pc(t)){const{message:i}=Wt("MISSING_OR_INVALID",`extend() params: ${t}`);throw new Error(i)}const{topic:n}=t;await this.isValidSessionTopic(n)},this.isValidRequest=async t=>{if(!pc(t)){const{message:l}=Wt("MISSING_OR_INVALID",`request() params: ${t}`);throw new Error(l)}const{topic:n,request:i,chainId:s,expiry:o}=t;await this.isValidSessionTopic(n);const{namespaces:a}=this.client.session.get(n);if(!cae(a,s)){const{message:l}=Wt("MISSING_OR_INVALID",`request() chainId: ${s}`);throw new Error(l)}if(!fNe(i)){const{message:l}=Wt("MISSING_OR_INVALID",`request() ${JSON.stringify(i)}`);throw new Error(l)}if(!gNe(a,s,i.method)){const{message:l}=Wt("MISSING_OR_INVALID",`request() method: ${i.method}`);throw new Error(l)}if(o&&!vNe(o,yB)){const{message:l}=Wt("MISSING_OR_INVALID",`request() expiry: ${o}. Expiry must be a number (in seconds) between ${yB.min} and ${yB.max}`);throw new Error(l)}},this.isValidRespond=async t=>{var n;if(!pc(t)){const{message:o}=Wt("MISSING_OR_INVALID",`respond() params: ${t}`);throw new Error(o)}const{topic:i,response:s}=t;try{await this.isValidSessionTopic(i)}catch(o){throw(n=t==null?void 0:t.response)!=null&&n.id&&this.cleanupAfterResponse(t),o}if(!dNe(s)){const{message:o}=Wt("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(s)}`);throw new Error(o)}},this.isValidPing=async t=>{if(!pc(t)){const{message:i}=Wt("MISSING_OR_INVALID",`ping() params: ${t}`);throw new Error(i)}const{topic:n}=t;await this.isValidSessionOrPairingTopic(n)},this.isValidEmit=async t=>{if(!pc(t)){const{message:a}=Wt("MISSING_OR_INVALID",`emit() params: ${t}`);throw new Error(a)}const{topic:n,event:i,chainId:s}=t;await this.isValidSessionTopic(n);const{namespaces:o}=this.client.session.get(n);if(!cae(o,s)){const{message:a}=Wt("MISSING_OR_INVALID",`emit() chainId: ${s}`);throw new Error(a)}if(!pNe(i)){const{message:a}=Wt("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(i)}`);throw new Error(a)}if(!mNe(o,s,i.name)){const{message:a}=Wt("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(i)}`);throw new Error(a)}},this.isValidDisconnect=async t=>{if(!pc(t)){const{message:i}=Wt("MISSING_OR_INVALID",`disconnect() params: ${t}`);throw new Error(i)}const{topic:n}=t;await this.isValidSessionOrPairingTopic(n)},this.getVerifyContext=async(t,n)=>{const i={verified:{verifyUrl:n.verifyUrl||my,validation:"UNKNOWN",origin:n.url||""}};try{const s=await this.client.core.verify.resolve({attestationId:t,verifyUrl:n.verifyUrl});s&&(i.verified.origin=s.origin,i.verified.isScam=s.isScam,i.verified.validation=s.origin===new URL(n.url).origin?"VALID":"INVALID")}catch(s){this.client.logger.info(s)}return this.client.logger.info(`Verify context: ${JSON.stringify(i)}`),i},this.validateSessionProps=(t,n)=>{Object.values(t).forEach(i=>{if(!vo(i,!1)){const{message:s}=Wt("MISSING_OR_INVALID",`${n} must be in Record format. Received: ${JSON.stringify(i)}`);throw new Error(s)}})}}async isInitialized(){if(!this.initialized){const{message:e}=Wt("NOT_INITIALIZED",this.name);throw new Error(e)}await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(ga.message,async e=>{const{topic:t,message:n}=e;if(this.ignoredPayloadTypes.includes(this.client.core.crypto.getPayloadType(n)))return;const i=await this.client.core.crypto.decode(t,n);try{gy(i)?(this.client.core.history.set(t,i),this.onRelayEventRequest({topic:t,payload:i})):Bm(i)?(await this.client.core.history.resolve(i),await this.onRelayEventResponse({topic:t,payload:i}),this.client.core.history.delete(t,i.id)):this.onRelayEventUnknownPayload({topic:t,payload:i})}catch(s){this.client.logger.error(s)}})}registerExpirerEvents(){this.client.core.expirer.on(Ql.expired,async e=>{const{topic:t,id:n}=tae(e.target);if(n&&this.client.pendingRequest.keys.includes(n))return await this.deletePendingSessionRequest(n,Wt("EXPIRED"),!0);t?this.client.session.keys.includes(t)&&(await this.deleteSession({topic:t,expirerHasDeleted:!0}),this.client.events.emit("session_expire",{topic:t})):n&&(await this.deleteProposal(n,!0),this.client.events.emit("proposal_expire",{id:n}))})}registerPairingEvents(){this.client.core.pairing.events.on(r8.create,e=>this.onPairingCreated(e))}isValidPairingTopic(e){if(!vo(e,!1)){const{message:t}=Wt("MISSING_OR_INVALID",`pairing topic should be a string: ${e}`);throw new Error(t)}if(!this.client.core.pairing.pairings.keys.includes(e)){const{message:t}=Wt("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw new Error(t)}if(u1(this.client.core.pairing.pairings.get(e).expiry)){const{message:t}=Wt("EXPIRED",`pairing topic: ${e}`);throw new Error(t)}}async isValidSessionTopic(e){if(!vo(e,!1)){const{message:t}=Wt("MISSING_OR_INVALID",`session topic should be a string: ${e}`);throw new Error(t)}if(!this.client.session.keys.includes(e)){const{message:t}=Wt("NO_MATCHING_KEY",`session topic doesn't exist: ${e}`);throw new Error(t)}if(u1(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});const{message:t}=Wt("EXPIRED",`session topic: ${e}`);throw new Error(t)}if(!this.client.core.crypto.keychain.has(e)){const{message:t}=Wt("MISSING_OR_INVALID",`session topic does not exist in keychain: ${e}`);throw await this.deleteSession({topic:e}),new Error(t)}}async isValidSessionOrPairingTopic(e){if(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(vo(e,!1)){const{message:t}=Wt("NO_MATCHING_KEY",`session or pairing topic doesn't exist: ${e}`);throw new Error(t)}else{const{message:t}=Wt("MISSING_OR_INVALID",`session or pairing topic should be a string: ${e}`);throw new Error(t)}}async isValidProposalId(e){if(!uNe(e)){const{message:t}=Wt("MISSING_OR_INVALID",`proposal id should be a number: ${e}`);throw new Error(t)}if(!this.client.proposal.keys.includes(e)){const{message:t}=Wt("NO_MATCHING_KEY",`proposal id doesn't exist: ${e}`);throw new Error(t)}if(u1(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);const{message:t}=Wt("EXPIRED",`proposal id: ${e}`);throw new Error(t)}}},fBe=class extends TS{constructor(e,t){super(e,t,tBe,wB),this.core=e,this.logger=t}},dBe=class extends TS{constructor(e,t){super(e,t,rBe,wB),this.core=e,this.logger=t}},pBe=class extends TS{constructor(e,t){super(e,t,iBe,wB,n=>n.id),this.core=e,this.logger=t}},Fce=class extends WPe{constructor(e){super(e),this.protocol=Pce,this.version=Oce,this.name=vB.name,this.events=new pn.EventEmitter,this.on=(n,i)=>this.events.on(n,i),this.once=(n,i)=>this.events.once(n,i),this.off=(n,i)=>this.events.off(n,i),this.removeListener=(n,i)=>this.events.removeListener(n,i),this.removeAllListeners=n=>this.events.removeAllListeners(n),this.connect=async n=>{try{return await this.engine.connect(n)}catch(i){throw this.logger.error(i.message),i}},this.pair=async n=>{try{return await this.engine.pair(n)}catch(i){throw this.logger.error(i.message),i}},this.approve=async n=>{try{return await this.engine.approve(n)}catch(i){throw this.logger.error(i.message),i}},this.reject=async n=>{try{return await this.engine.reject(n)}catch(i){throw this.logger.error(i.message),i}},this.update=async n=>{try{return await this.engine.update(n)}catch(i){throw this.logger.error(i.message),i}},this.extend=async n=>{try{return await this.engine.extend(n)}catch(i){throw this.logger.error(i.message),i}},this.request=async n=>{try{return await this.engine.request(n)}catch(i){throw this.logger.error(i.message),i}},this.respond=async n=>{try{return await this.engine.respond(n)}catch(i){throw this.logger.error(i.message),i}},this.ping=async n=>{try{return await this.engine.ping(n)}catch(i){throw this.logger.error(i.message),i}},this.emit=async n=>{try{return await this.engine.emit(n)}catch(i){throw this.logger.error(i.message),i}},this.disconnect=async n=>{try{return await this.engine.disconnect(n)}catch(i){throw this.logger.error(i.message),i}},this.find=n=>{try{return this.engine.find(n)}catch(i){throw this.logger.error(i.message),i}},this.getPendingSessionRequests=()=>{try{return this.engine.getPendingSessionRequests()}catch(n){throw this.logger.error(n.message),n}},this.name=(e==null?void 0:e.name)||vB.name,this.metadata=(e==null?void 0:e.metadata)||CMe();const t=typeof(e==null?void 0:e.logger)<"u"&&typeof(e==null?void 0:e.logger)!="string"?e.logger:mc(h1({level:(e==null?void 0:e.logger)||vB.logger}));this.core=(e==null?void 0:e.core)||new eBe(e),this.logger=gi(t,this.name),this.session=new dBe(this.core,this.logger),this.proposal=new fBe(this.core,this.logger),this.pendingRequest=new pBe(this.core,this.logger),this.engine=new hBe(this)}static async init(e){const t=new Fce(e);return await t.initialize(),t}get context(){return xi(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace("Initialized");try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.engine.init(),this.core.verify.init({verifyUrl:this.metadata.verifyUrl}),this.logger.info("SignClient Initialization Success")}catch(e){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(e.message),e}}};var kS={},gBe={get exports(){return kS},set exports(r){kS=r}};(function(r,e){var t=typeof self<"u"?self:ct,n=function(){function s(){this.fetch=!1,this.DOMException=t.DOMException}return s.prototype=t,new s}();(function(s){(function(o){var a={searchParams:"URLSearchParams"in s,iterable:"Symbol"in s&&"iterator"in Symbol,blob:"FileReader"in s&&"Blob"in s&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in s,arrayBuffer:"ArrayBuffer"in s};function l(d){return d&&DataView.prototype.isPrototypeOf(d)}if(a.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],h=ArrayBuffer.isView||function(d){return d&&u.indexOf(Object.prototype.toString.call(d))>-1};function p(d){if(typeof d!="string"&&(d=String(d)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(d))throw new TypeError("Invalid character in header field name");return d.toLowerCase()}function g(d){return typeof d!="string"&&(d=String(d)),d}function w(d){var m={next:function(){var x=d.shift();return{done:x===void 0,value:x}}};return a.iterable&&(m[Symbol.iterator]=function(){return m}),m}function y(d){this.map={},d instanceof y?d.forEach(function(m,x){this.append(x,m)},this):Array.isArray(d)?d.forEach(function(m){this.append(m[0],m[1])},this):d&&Object.getOwnPropertyNames(d).forEach(function(m){this.append(m,d[m])},this)}y.prototype.append=function(d,m){d=p(d),m=g(m);var x=this.map[d];this.map[d]=x?x+", "+m:m},y.prototype.delete=function(d){delete this.map[p(d)]},y.prototype.get=function(d){return d=p(d),this.has(d)?this.map[d]:null},y.prototype.has=function(d){return this.map.hasOwnProperty(p(d))},y.prototype.set=function(d,m){this.map[p(d)]=g(m)},y.prototype.forEach=function(d,m){for(var x in this.map)this.map.hasOwnProperty(x)&&d.call(m,this.map[x],x,this)},y.prototype.keys=function(){var d=[];return this.forEach(function(m,x){d.push(x)}),w(d)},y.prototype.values=function(){var d=[];return this.forEach(function(m){d.push(m)}),w(d)},y.prototype.entries=function(){var d=[];return this.forEach(function(m,x){d.push([x,m])}),w(d)},a.iterable&&(y.prototype[Symbol.iterator]=y.prototype.entries);function C(d){if(d.bodyUsed)return Promise.reject(new TypeError("Already read"));d.bodyUsed=!0}function T(d){return new Promise(function(m,x){d.onload=function(){m(d.result)},d.onerror=function(){x(d.error)}})}function k(d){var m=new FileReader,x=T(m);return m.readAsArrayBuffer(d),x}function N(d){var m=new FileReader,x=T(m);return m.readAsText(d),x}function O(d){for(var m=new Uint8Array(d),x=new Array(m.length),A=0;A-1?m:d}function D(d,m){m=m||{};var x=m.body;if(d instanceof D){if(d.bodyUsed)throw new TypeError("Already read");this.url=d.url,this.credentials=d.credentials,m.headers||(this.headers=new y(d.headers)),this.method=d.method,this.mode=d.mode,this.signal=d.signal,!x&&d._bodyInit!=null&&(x=d._bodyInit,d.bodyUsed=!0)}else this.url=String(d);if(this.credentials=m.credentials||this.credentials||"same-origin",(m.headers||!this.headers)&&(this.headers=new y(m.headers)),this.method=$(m.method||this.method||"GET"),this.mode=m.mode||this.mode||null,this.signal=m.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&x)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(x)}D.prototype.clone=function(){return new D(this,{body:this._bodyInit})};function V(d){var m=new FormData;return d.trim().split("&").forEach(function(x){if(x){var A=x.split("="),I=A.shift().replace(/\+/g," "),R=A.join("=").replace(/\+/g," ");m.append(decodeURIComponent(I),decodeURIComponent(R))}}),m}function Q(d){var m=new y,x=d.replace(/\r?\n[\t ]+/g," ");return x.split(/\r?\n/).forEach(function(A){var I=A.split(":"),R=I.shift().trim();if(R){var S=I.join(":").trim();m.append(R,S)}}),m}z.call(D.prototype);function F(d,m){m||(m={}),this.type="default",this.status=m.status===void 0?200:m.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in m?m.statusText:"OK",this.headers=new y(m.headers),this.url=m.url||"",this._initBody(d)}z.call(F.prototype),F.prototype.clone=function(){return new F(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new y(this.headers),url:this.url})},F.error=function(){var d=new F(null,{status:0,statusText:""});return d.type="error",d};var M=[301,302,303,307,308];F.redirect=function(d,m){if(M.indexOf(m)===-1)throw new RangeError("Invalid status code");return new F(null,{status:m,headers:{location:d}})},o.DOMException=s.DOMException;try{new o.DOMException}catch{o.DOMException=function(m,x){this.message=m,this.name=x;var A=Error(m);this.stack=A.stack},o.DOMException.prototype=Object.create(Error.prototype),o.DOMException.prototype.constructor=o.DOMException}function b(d,m){return new Promise(function(x,A){var I=new D(d,m);if(I.signal&&I.signal.aborted)return A(new o.DOMException("Aborted","AbortError"));var R=new XMLHttpRequest;function S(){R.abort()}R.onload=function(){var E={status:R.status,statusText:R.statusText,headers:Q(R.getAllResponseHeaders()||"")};E.url="responseURL"in R?R.responseURL:E.headers.get("X-Request-URL");var _="response"in R?R.response:R.responseText;x(new F(_,E))},R.onerror=function(){A(new TypeError("Network request failed"))},R.ontimeout=function(){A(new TypeError("Network request failed"))},R.onabort=function(){A(new o.DOMException("Aborted","AbortError"))},R.open(I.method,I.url,!0),I.credentials==="include"?R.withCredentials=!0:I.credentials==="omit"&&(R.withCredentials=!1),"responseType"in R&&a.blob&&(R.responseType="blob"),I.headers.forEach(function(E,_){R.setRequestHeader(_,E)}),I.signal&&(I.signal.addEventListener("abort",S),R.onreadystatechange=function(){R.readyState===4&&I.signal.removeEventListener("abort",S)}),R.send(typeof I._bodyInit>"u"?null:I._bodyInit)})}return b.polyfill=!0,s.fetch||(s.fetch=b,s.Headers=y,s.Request=D,s.Response=F),o.Headers=y,o.Request=D,o.Response=F,o.fetch=b,Object.defineProperty(o,"__esModule",{value:!0}),o})({})})(n),n.fetch.ponyfill=!0,delete n.fetch.polyfill;var i=n;e=i.fetch,e.default=i.fetch,e.fetch=i.fetch,e.Headers=i.Headers,e.Request=i.Request,e.Response=i.Response,r.exports=e})(gBe,kS);const jce=wwe(kS),zce={headers:{Accept:"application/json","Content-Type":"application/json"},method:"POST"},Hce=10;class ma{constructor(e,t=!1){if(this.url=e,this.disableProviderPing=t,this.events=new pn.EventEmitter,this.isAvailable=!1,this.registering=!1,!Vae(e))throw new Error(`Provided URL is not compatible with HTTP connection: ${e}`);this.url=e,this.disableProviderPing=t}get connected(){return this.isAvailable}get connecting(){return this.registering}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 open(e=this.url){await this.register(e)}async close(){if(!this.isAvailable)throw new Error("Connection already closed");this.onClose()}async send(e,t){this.isAvailable||await this.register();try{const n=gf(e),s=await(await jce(this.url,Object.assign(Object.assign({},zce),{body:n}))).json();this.onPayload({data:s})}catch(n){this.onError(e.id,n)}}async register(e=this.url){if(!Vae(e))throw new Error(`Provided URL is not compatible with HTTP connection: ${e}`);if(this.registering){const t=this.events.getMaxListeners();return(this.events.listenerCount("register_error")>=t||this.events.listenerCount("open")>=t)&&this.events.setMaxListeners(t+1),new Promise((n,i)=>{this.events.once("register_error",s=>{this.resetMaxListeners(),i(s)}),this.events.once("open",()=>{if(this.resetMaxListeners(),typeof this.isAvailable>"u")return i(new Error("HTTP connection is missing or invalid"));n()})})}this.url=e,this.registering=!0;try{if(!this.disableProviderPing){const t=gf({id:1,jsonrpc:"2.0",method:"test",params:[]});await jce(e,Object.assign(Object.assign({},zce),{body:t}))}this.onOpen()}catch(t){const n=this.parseError(t);throw this.events.emit("register_error",n),this.onClose(),n}}onOpen(){this.isAvailable=!0,this.registering=!1,this.events.emit("open")}onClose(){this.isAvailable=!1,this.registering=!1,this.events.emit("close")}onPayload(e){if(typeof e.data>"u")return;const t=typeof e.data=="string"?hy(e.data):e.data;this.events.emit("payload",t)}onError(e,t){const n=this.parseError(t),i=n.message||n.toString(),s=py(e,i);this.events.emit("payload",s)}parseError(e,t=this.url){return jae(e,t,"HTTP")}resetMaxListeners(){this.events.getMaxListeners()>Hce&&this.events.setMaxListeners(Hce)}}const qce="error",mBe="wss://relay.walletconnect.com",bBe="wc",wBe="universal_provider",Wce=`${bBe}@2:${wBe}:`,vBe="https://rpc.walletconnect.com/v1/",Zd={DEFAULT_CHAIN_CHANGED:"default_chain_changed"};var i8=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof dr<"u"?dr:typeof self<"u"?self:{},xB={exports:{}};/** * @license * Lodash * Copyright OpenJS Foundation and other contributors * Released under MIT license * Based on Underscore.js 1.8.3 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors -*/(function(r,e){(function(){var t,n="4.17.21",i=200,s="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",o="Expected a function",a="Invalid `variable` option passed into `_.template`",l="__lodash_hash_undefined__",u=500,h="__lodash_placeholder__",p=1,g=2,w=4,y=1,C=2,R=1,k=2,M=4,O=8,B=16,j=32,G=64,D=128,$=256,V=512,te=30,W="...",P=800,b=16,d=1,m=2,x=3,A=1/0,I=9007199254740991,T=17976931348623157e292,S=NaN,E=4294967295,_=E-1,U=E>>>1,ie=[["ary",D],["bind",R],["bindKey",k],["curry",O],["curryRight",B],["flip",V],["partial",j],["partialRight",G],["rearg",$]],q="[object Arguments]",Y="[object Array]",K="[object AsyncFunction]",ee="[object Boolean]",re="[object Date]",z="[object DOMException]",L="[object Error]",H="[object Function]",le="[object GeneratorFunction]",de="[object Map]",Se="[object Number]",Me="[object Null]",ke="[object Object]",Ke="[object Promise]",Te="[object Proxy]",je="[object RegExp]",De="[object Set]",Je="[object String]",ze="[object Symbol]",qe="[object Undefined]",Ve="[object WeakMap]",He="[object WeakSet]",Be="[object ArrayBuffer]",Ge="[object DataView]",Xe="[object Float32Array]",se="[object Float64Array]",J="[object Int8Array]",Q="[object Int16Array]",ue="[object Int32Array]",we="[object Uint8Array]",ye="[object Uint8ClampedArray]",Ie="[object Uint16Array]",it="[object Uint32Array]",ot=/\b__p \+= '';/g,tt=/\b(__p \+=) '' \+/g,It=/(__e\(.*?\)|\b__t\)) \+\n'';/g,st=/&(?:amp|lt|gt|quot|#39);/g,Nt=/[&<>"']/g,Lt=RegExp(st.source),ht=RegExp(Nt.source),wt=/<%-([\s\S]+?)%>/g,Ut=/<%([\s\S]+?)%>/g,ft=/<%=([\s\S]+?)%>/g,dt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Vt=/^\w*$/,xt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,pt=/[\\^$.*+?()[\]{}|]/g,Gt=RegExp(pt.source),gt=/^\s+/,vt=/\s/,Ft=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,lt=/\{\n\/\* \[wrapped with (.+)\] \*/,_t=/,? & /,Kt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,zt=/[()=,{}\[\]\/\s]/,Ht=/\\(\\)?/g,br=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Rt=/\w*$/,ur=/^[-+]0x[0-9a-f]+$/i,Yn=/^0b[01]+$/i,Qn=/^\[object .+?Constructor\]$/,Xn=/^0o[0-7]+$/i,ei=/^(?:0|[1-9]\d*)$/,gn=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,zn=/($^)/,Pi=/['\n\r\u2028\u2029\\]/g,Hn="\\ud800-\\udfff",Oi="\\u0300-\\u036f",Di="\\ufe20-\\ufe2f",mi="\\u20d0-\\u20ff",_i=Oi+Di+mi,Ei="\\u2700-\\u27bf",En="a-z\\xdf-\\xf6\\xf8-\\xff",Is="\\xac\\xb1\\xd7\\xf7",Rs="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Ts="\\u2000-\\u206f",Zo=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ka="A-Z\\xc0-\\xd6\\xd8-\\xde",ib="\\ufe0e\\ufe0f",Zf=Is+Rs+Ts+Zo,N0="['’]",P0="["+Hn+"]",ag="["+Zf+"]",vu="["+_i+"]",sb="\\d+",h7="["+Ei+"]",ob="["+En+"]",ab="[^"+Hn+Zf+sb+Ei+En+Ka+"]",Jf="\\ud83c[\\udffb-\\udfff]",f7="(?:"+vu+"|"+Jf+")",cb="[^"+Hn+"]",Yf="(?:\\ud83c[\\udde6-\\uddff]){2}",yu="[\\ud800-\\udbff][\\udc00-\\udfff]",Fs="["+Ka+"]",lb="\\u200d",ub="(?:"+ob+"|"+ab+")",xu="(?:"+Fs+"|"+ab+")",hb="(?:"+N0+"(?:d|ll|m|re|s|t|ve))?",fb="(?:"+N0+"(?:D|LL|M|RE|S|T|VE))?",db=f7+"?",pb="["+ib+"]?",d7="(?:"+lb+"(?:"+[cb,Yf,yu].join("|")+")"+pb+db+")*",bh="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",C5="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",gb=pb+db+d7,cg="(?:"+[h7,Yf,yu].join("|")+")"+gb,p7="(?:"+[cb+vu+"?",vu,Yf,yu,P0].join("|")+")",mb=RegExp(N0,"g"),g7=RegExp(vu,"g"),Qf=RegExp(Jf+"(?="+Jf+")|"+p7+gb,"g"),S5=RegExp([Fs+"?"+ob+"+"+hb+"(?="+[ag,Fs,"$"].join("|")+")",xu+"+"+fb+"(?="+[ag,Fs+ub,"$"].join("|")+")",Fs+"?"+ub+"+"+hb,Fs+"+"+fb,C5,bh,sb,cg].join("|"),"g"),I5=RegExp("["+lb+Hn+_i+ib+"]"),O0=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,R5=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],m7=-1,Cr={};Cr[Xe]=Cr[se]=Cr[J]=Cr[Q]=Cr[ue]=Cr[we]=Cr[ye]=Cr[Ie]=Cr[it]=!0,Cr[q]=Cr[Y]=Cr[Be]=Cr[ee]=Cr[Ge]=Cr[re]=Cr[L]=Cr[H]=Cr[de]=Cr[Se]=Cr[ke]=Cr[je]=Cr[De]=Cr[Je]=Cr[Ve]=!1;var _r={};_r[q]=_r[Y]=_r[Be]=_r[Ge]=_r[ee]=_r[re]=_r[Xe]=_r[se]=_r[J]=_r[Q]=_r[ue]=_r[de]=_r[Se]=_r[ke]=_r[je]=_r[De]=_r[Je]=_r[ze]=_r[we]=_r[ye]=_r[Ie]=_r[it]=!0,_r[L]=_r[H]=_r[Ve]=!1;var ve={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Pe={"&":"&","<":"<",">":">",'"':""","'":"'"},at={"&":"&","<":"<",">":">",""":'"',"'":"'"},nr={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ri=parseFloat,$r=parseInt,bi=typeof o8=="object"&&o8&&o8.Object===Object&&o8,fs=typeof self=="object"&&self&&self.Object===Object&&self,Sr=bi||fs||Function("return this")(),qn=e&&!e.nodeType&&e,ni=qn&&!0&&r&&!r.nodeType&&r,Jo=ni&&ni.exports===qn,Zi=Jo&&bi.process,ln=function(){try{var he=ni&&ni.require&&ni.require("util").types;return he||Zi&&Zi.binding&&Zi.binding("util")}catch{}}(),Mo=ln&&ln.isArrayBuffer,Rc=ln&&ln.isDate,Za=ln&&ln.isMap,ol=ln&&ln.isRegExp,lg=ln&&ln.isSet,Xf=ln&&ln.isTypedArray;function Ln(he,_e,be){switch(be.length){case 0:return he.call(_e);case 1:return he.call(_e,be[0]);case 2:return he.call(_e,be[0],be[1]);case 3:return he.call(_e,be[0],be[1],be[2])}return he.apply(_e,be)}function yj(he,_e,be,We){for(var kt=-1,fr=he==null?0:he.length;++kt-1}function bb(he,_e,be){for(var We=-1,kt=he==null?0:he.length;++We-1;);return be}function A7(he,_e){for(var be=he.length;be--&&al(_e,he[be],0)>-1;);return be}function Tj(he,_e){for(var be=he.length,We=0;be--;)he[be]===_e&&++We;return We}var kj=xb(ve),Mj=xb(Pe);function Nj(he){return"\\"+nr[he]}function Pj(he,_e){return he==null?t:he[_e]}function cl(he){return I5.test(he)}function Oj(he){return O0.test(he)}function Dj(he){for(var _e,be=[];!(_e=he.next()).done;)be.push(_e.value);return be}function Cb(he){var _e=-1,be=Array(he.size);return he.forEach(function(We,kt){be[++_e]=[kt,We]}),be}function C7(he,_e){return function(be){return he(_e(be))}}function Xo(he,_e){for(var be=-1,We=he.length,kt=0,fr=[];++be-1}function _z(c,f){var v=this.__data__,N=Q0(v,c);return N<0?(++this.size,v.push([c,f])):v[N][1]=f,this}Ys.prototype.clear=wz,Ys.prototype.delete=vz,Ys.prototype.get=yz,Ys.prototype.has=xz,Ys.prototype.set=_z;function Qs(c){var f=-1,v=c==null?0:c.length;for(this.clear();++f=f?c:f)),c}function Ui(c,f,v,N,F,X){var ne,ae=f&p,fe=f&g,Ae=f&w;if(v&&(ne=F?v(c,N,F,X):v(c)),ne!==t)return ne;if(!Or(c))return c;var Ce=Mt(c);if(Ce){if(ne=SH(c),!ae)return ii(c,ne)}else{var Re=kn(c),$e=Re==H||Re==le;if(sa(c))return a9(c,ae);if(Re==ke||Re==q||$e&&!F){if(ne=fe||$e?{}:S9(c),!ae)return fe?gH(c,Lz(ne,c)):pH(c,B7(ne,c))}else{if(!_r[Re])return F?c:{};ne=IH(c,Re,ae)}}X||(X=new os);var Qe=X.get(c);if(Qe)return Qe;X.set(c,ne),t_(c)?c.forEach(function(bt){ne.add(Ui(bt,f,v,bt,c,X))}):X9(c)&&c.forEach(function(bt,Qt){ne.set(Qt,Ui(bt,f,v,Qt,c,X))});var mt=Ae?fe?Yb:Jb:fe?oi:hn,jt=Ce?t:mt(c);return $i(jt||c,function(bt,Qt){jt&&(Qt=bt,bt=c[Qt]),Ah(ne,Qt,Ui(bt,f,v,Qt,c,X))}),ne}function Uz(c){var f=hn(c);return function(v){return L7(v,c,f)}}function L7(c,f,v){var N=v.length;if(c==null)return!N;for(c=Er(c);N--;){var F=v[N],X=f[F],ne=c[F];if(ne===t&&!(F in c)||!X(ne))return!1}return!0}function U7(c,f,v){if(typeof c!="function")throw new Bi(o);return Mh(function(){c.apply(t,v)},f)}function Ch(c,f,v,N){var F=-1,X=D0,ne=!0,ae=c.length,fe=[],Ae=f.length;if(!ae)return fe;v&&(f=Pr(f,Ai(v))),N?(X=bb,ne=!1):f.length>=i&&(X=wh,ne=!1,f=new Qa(f));e:for(;++FF?0:F+v),N=N===t||N>F?F:Ot(N),N<0&&(N+=F),N=v>N?0:n_(N);v0&&v(ae)?f>1?vn(ae,f-1,v,N,F):Qo(F,ae):N||(F[F.length]=ae)}return F}var Nb=d9(),z7=d9(!0);function ks(c,f){return c&&Nb(c,f,hn)}function Pb(c,f){return c&&z7(c,f,hn)}function ep(c,f){return Yo(f,function(v){return no(c[v])})}function ec(c,f){f=na(f,c);for(var v=0,N=f.length;c!=null&&vf}function zz(c,f){return c!=null&&vr.call(c,f)}function Hz(c,f){return c!=null&&f in Er(c)}function qz(c,f,v){return c>=Tn(f,v)&&c=120&&Ce.length>=120)?new Qa(ne&&Ce):t}Ce=c[0];var Re=-1,$e=ae[0];e:for(;++Re-1;)ae!==c&&W0.call(ae,fe,1),W0.call(c,fe,1);return c}function X7(c,f){for(var v=c?f.length:0,N=v-1;v--;){var F=f[v];if(v==N||F!==X){var X=F;ro(F)?W0.call(c,F,1):Hb(c,F)}}return c}function Fb(c,f){return c+K0(P7()*(f-c+1))}function nH(c,f,v,N){for(var F=-1,X=on(G0((f-c)/(v||1)),0),ne=be(X);X--;)ne[N?X:++F]=c,c+=v;return ne}function jb(c,f){var v="";if(!c||f<1||f>I)return v;do f%2&&(v+=c),f=K0(f/2),f&&(c+=c);while(f);return v}function Zt(c,f){return iw(T9(c,f,ai),c+"")}function iH(c){return $7(vl(c))}function sH(c,f){var v=vl(c);return hp(v,Xa(f,0,v.length))}function Rh(c,f,v,N){if(!Or(c))return c;f=na(f,c);for(var F=-1,X=f.length,ne=X-1,ae=c;ae!=null&&++FF?0:F+f),v=v>F?F:v,v<0&&(v+=F),F=f>v?0:v-f>>>0,f>>>=0;for(var X=be(F);++N>>1,ne=c[X];ne!==null&&!Si(ne)&&(v?ne<=f:ne=i){var Ae=f?null:vH(c);if(Ae)return B0(Ae);ne=!1,F=wh,fe=new Qa}else fe=f?[]:ae;e:for(;++N=N?c:Fi(c,f,v)}var o9=Jj||function(c){return Sr.clearTimeout(c)};function a9(c,f){if(f)return c.slice();var v=c.length,N=R7?R7(v):new c.constructor(v);return c.copy(N),N}function Gb(c){var f=new c.constructor(c.byteLength);return new H0(f).set(new H0(c)),f}function uH(c,f){var v=f?Gb(c.buffer):c.buffer;return new c.constructor(v,c.byteOffset,c.byteLength)}function hH(c){var f=new c.constructor(c.source,Rt.exec(c));return f.lastIndex=c.lastIndex,f}function fH(c){return Eh?Er(Eh.call(c)):{}}function c9(c,f){var v=f?Gb(c.buffer):c.buffer;return new c.constructor(v,c.byteOffset,c.length)}function l9(c,f){if(c!==f){var v=c!==t,N=c===null,F=c===c,X=Si(c),ne=f!==t,ae=f===null,fe=f===f,Ae=Si(f);if(!ae&&!Ae&&!X&&c>f||X&&ne&&fe&&!ae&&!Ae||N&&ne&&fe||!v&&fe||!F)return 1;if(!N&&!X&&!Ae&&c=ae)return fe;var Ae=v[N];return fe*(Ae=="desc"?-1:1)}}return c.index-f.index}function u9(c,f,v,N){for(var F=-1,X=c.length,ne=v.length,ae=-1,fe=f.length,Ae=on(X-ne,0),Ce=be(fe+Ae),Re=!N;++ae1?v[F-1]:t,ne=F>2?v[2]:t;for(X=c.length>3&&typeof X=="function"?(F--,X):t,ne&&Vn(v[0],v[1],ne)&&(X=F<3?t:X,F=1),f=Er(f);++N-1?F[X?f[ne]:ne]:t}}function m9(c){return to(function(f){var v=f.length,N=v,F=Li.prototype.thru;for(c&&f.reverse();N--;){var X=f[N];if(typeof X!="function")throw new Bi(o);if(F&&!ne&&lp(X)=="wrapper")var ne=new Li([],!0)}for(N=ne?N:v;++N1&&rr.reverse(),Ce&&feae))return!1;var Ae=X.get(c),Ce=X.get(f);if(Ae&&Ce)return Ae==f&&Ce==c;var Re=-1,$e=!0,Qe=v&C?new Qa:t;for(X.set(c,f),X.set(f,c);++Re1?"& ":"")+f[N],f=f.join(v>2?", ":" "),c.replace(Ft,`{ +*/(function(r,e){(function(){var t,n="4.17.21",i=200,s="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",o="Expected a function",a="Invalid `variable` option passed into `_.template`",l="__lodash_hash_undefined__",u=500,h="__lodash_placeholder__",p=1,g=2,w=4,y=1,C=2,T=1,k=2,N=4,O=8,B=16,z=32,G=64,$=128,D=256,V=512,Q=30,F="...",M=800,b=16,d=1,m=2,x=3,A=1/0,I=9007199254740991,R=17976931348623157e292,S=0/0,E=4294967295,_=E-1,L=E>>>1,ie=[["ary",$],["bind",T],["bindKey",k],["curry",O],["curryRight",B],["flip",V],["partial",z],["partialRight",G],["rearg",D]],q="[object Arguments]",Y="[object Array]",K="[object AsyncFunction]",te="[object Boolean]",re="[object Date]",H="[object DOMException]",U="[object Error]",W="[object Function]",le="[object GeneratorFunction]",de="[object Map]",Se="[object Number]",Me="[object Null]",ke="[object Object]",Ke="[object Promise]",Re="[object Proxy]",je="[object RegExp]",De="[object Set]",Je="[object String]",ze="[object Symbol]",qe="[object Undefined]",Ve="[object WeakMap]",He="[object WeakSet]",Be="[object ArrayBuffer]",Ge="[object DataView]",Xe="[object Float32Array]",se="[object Float64Array]",J="[object Int8Array]",X="[object Int16Array]",ue="[object Int32Array]",we="[object Uint8Array]",ye="[object Uint8ClampedArray]",Ie="[object Uint16Array]",it="[object Uint32Array]",ot=/\b__p \+= '';/g,tt=/\b(__p \+=) '' \+/g,It=/(__e\(.*?\)|\b__t\)) \+\n'';/g,st=/&(?:amp|lt|gt|quot|#39);/g,Nt=/[&<>"']/g,Lt=RegExp(st.source),ht=RegExp(Nt.source),wt=/<%-([\s\S]+?)%>/g,Ut=/<%([\s\S]+?)%>/g,ft=/<%=([\s\S]+?)%>/g,dt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Vt=/^\w*$/,xt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,pt=/[\\^$.*+?()[\]{}|]/g,Gt=RegExp(pt.source),gt=/^\s+/,vt=/\s/,Ft=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,lt=/\{\n\/\* \[wrapped with (.+)\] \*/,_t=/,? & /,Kt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Ht=/[()=,{}\[\]\/\s]/,qt=/\\(\\)?/g,br=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Tt=/\w*$/,ur=/^[-+]0x[0-9a-f]+$/i,Xn=/^0b[01]+$/i,ei=/^\[object .+?Constructor\]$/,ti=/^0o[0-7]+$/i,ri=/^(?:0|[1-9]\d*)$/,bn=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,qn=/($^)/,Di=/['\n\r\u2028\u2029\\]/g,Wn="\\ud800-\\udfff",$i="\\u0300-\\u036f",Bi="\\ufe20-\\ufe2f",bi="\\u20d0-\\u20ff",Ei=$i+Bi+bi,Ai="\\u2700-\\u27bf",Cn="a-z\\xdf-\\xf6\\xf8-\\xff",Rs="\\xac\\xb1\\xd7\\xf7",ks="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Ms="\\u2000-\\u206f",Zo=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ka="A-Z\\xc0-\\xd6\\xd8-\\xde",nb="\\ufe0e\\ufe0f",Qf=Rs+ks+Ms+Zo,R0="['’]",k0="["+Wn+"]",og="["+Qf+"]",xu="["+Ei+"]",ib="\\d+",h7="["+Ai+"]",sb="["+Cn+"]",ob="[^"+Wn+Qf+ib+Ai+Cn+Ka+"]",Xf="\\ud83c[\\udffb-\\udfff]",f7="(?:"+xu+"|"+Xf+")",ab="[^"+Wn+"]",ed="(?:\\ud83c[\\udde6-\\uddff]){2}",_u="[\\ud800-\\udbff][\\udc00-\\udfff]",zs="["+Ka+"]",cb="\\u200d",lb="(?:"+sb+"|"+ob+")",Eu="(?:"+zs+"|"+ob+")",ub="(?:"+R0+"(?:d|ll|m|re|s|t|ve))?",hb="(?:"+R0+"(?:D|LL|M|RE|S|T|VE))?",fb=f7+"?",db="["+nb+"]?",d7="(?:"+cb+"(?:"+[ab,ed,_u].join("|")+")"+db+fb+")*",bh="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",_5="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",pb=db+fb+d7,ag="(?:"+[h7,ed,_u].join("|")+")"+pb,p7="(?:"+[ab+xu+"?",xu,ed,_u,k0].join("|")+")",gb=RegExp(R0,"g"),g7=RegExp(xu,"g"),td=RegExp(Xf+"(?="+Xf+")|"+p7+pb,"g"),E5=RegExp([zs+"?"+sb+"+"+ub+"(?="+[og,zs,"$"].join("|")+")",Eu+"+"+hb+"(?="+[og,zs+lb,"$"].join("|")+")",zs+"?"+lb+"+"+ub,zs+"+"+hb,_5,bh,ib,ag].join("|"),"g"),A5=RegExp("["+cb+Wn+Ei+nb+"]"),M0=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,C5=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],m7=-1,Cr={};Cr[Xe]=Cr[se]=Cr[J]=Cr[X]=Cr[ue]=Cr[we]=Cr[ye]=Cr[Ie]=Cr[it]=!0,Cr[q]=Cr[Y]=Cr[Be]=Cr[te]=Cr[Ge]=Cr[re]=Cr[U]=Cr[W]=Cr[de]=Cr[Se]=Cr[ke]=Cr[je]=Cr[De]=Cr[Je]=Cr[Ve]=!1;var _r={};_r[q]=_r[Y]=_r[Be]=_r[Ge]=_r[te]=_r[re]=_r[Xe]=_r[se]=_r[J]=_r[X]=_r[ue]=_r[de]=_r[Se]=_r[ke]=_r[je]=_r[De]=_r[Je]=_r[ze]=_r[we]=_r[ye]=_r[Ie]=_r[it]=!0,_r[U]=_r[W]=_r[Ve]=!1;var ve={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Pe={"&":"&","<":"<",">":">",'"':""","'":"'"},at={"&":"&","<":"<",">":">",""":'"',"'":"'"},nr={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ii=parseFloat,$r=parseInt,wi=typeof i8=="object"&&i8&&i8.Object===Object&&i8,ps=typeof self=="object"&&self&&self.Object===Object&&self,Sr=wi||ps||Function("return this")(),Vn=e&&!e.nodeType&&e,si=Vn&&!0&&r&&!r.nodeType&&r,Jo=si&&si.exports===Vn,Yi=Jo&&wi.process,un=function(){try{var he=si&&si.require&&si.require("util").types;return he||Yi&&Yi.binding&&Yi.binding("util")}catch{}}(),No=un&&un.isArrayBuffer,Tc=un&&un.isDate,Za=un&&un.isMap,cl=un&&un.isRegExp,cg=un&&un.isSet,rd=un&&un.isTypedArray;function Fn(he,_e,be){switch(be.length){case 0:return he.call(_e);case 1:return he.call(_e,be[0]);case 2:return he.call(_e,be[0],be[1]);case 3:return he.call(_e,be[0],be[1],be[2])}return he.apply(_e,be)}function pj(he,_e,be,We){for(var kt=-1,fr=he==null?0:he.length;++kt-1}function mb(he,_e,be){for(var We=-1,kt=he==null?0:he.length;++We-1;);return be}function A7(he,_e){for(var be=he.length;be--&&ll(_e,he[be],0)>-1;);return be}function Ej(he,_e){for(var be=he.length,We=0;be--;)he[be]===_e&&++We;return We}var Aj=yb(ve),Cj=yb(Pe);function Sj(he){return"\\"+nr[he]}function Ij(he,_e){return he==null?t:he[_e]}function ul(he){return A5.test(he)}function Tj(he){return M0.test(he)}function Rj(he){for(var _e,be=[];!(_e=he.next()).done;)be.push(_e.value);return be}function Ab(he){var _e=-1,be=Array(he.size);return he.forEach(function(We,kt){be[++_e]=[kt,We]}),be}function C7(he,_e){return function(be){return he(_e(be))}}function Xo(he,_e){for(var be=-1,We=he.length,kt=0,fr=[];++be-1}function mz(c,f){var v=this.__data__,P=Z0(v,c);return P<0?(++this.size,v.push([c,f])):v[P][1]=f,this}Xs.prototype.clear=fz,Xs.prototype.delete=dz,Xs.prototype.get=pz,Xs.prototype.has=gz,Xs.prototype.set=mz;function eo(c){var f=-1,v=c==null?0:c.length;for(this.clear();++f=f?c:f)),c}function ji(c,f,v,P,j,ee){var ne,ae=f&p,fe=f&g,Ae=f&w;if(v&&(ne=j?v(c,P,j,ee):v(c)),ne!==t)return ne;if(!Or(c))return c;var Ce=Mt(c);if(Ce){if(ne=yH(c),!ae)return oi(c,ne)}else{var Te=Nn(c),$e=Te==W||Te==le;if(sa(c))return a9(c,ae);if(Te==ke||Te==q||$e&&!j){if(ne=fe||$e?{}:S9(c),!ae)return fe?lH(c,Nz(ne,c)):cH(c,B7(ne,c))}else{if(!_r[Te])return j?c:{};ne=xH(c,Te,ae)}}ee||(ee=new cs);var Qe=ee.get(c);if(Qe)return Qe;ee.set(c,ne),t_(c)?c.forEach(function(bt){ne.add(ji(bt,f,v,bt,c,ee))}):X9(c)&&c.forEach(function(bt,Qt){ne.set(Qt,ji(bt,f,v,Qt,c,ee))});var mt=Ae?fe?Jb:Zb:fe?ci:fn,jt=Ce?t:mt(c);return Li(jt||c,function(bt,Qt){jt&&(Qt=bt,bt=c[Qt]),Ah(ne,Qt,ji(bt,f,v,Qt,c,ee))}),ne}function Pz(c){var f=fn(c);return function(v){return L7(v,c,f)}}function L7(c,f,v){var P=v.length;if(c==null)return!P;for(c=Er(c);P--;){var j=v[P],ee=f[j],ne=c[j];if(ne===t&&!(j in c)||!ee(ne))return!1}return!0}function U7(c,f,v){if(typeof c!="function")throw new Ui(o);return Mh(function(){c.apply(t,v)},f)}function Ch(c,f,v,P){var j=-1,ee=N0,ne=!0,ae=c.length,fe=[],Ae=f.length;if(!ae)return fe;v&&(f=Pr(f,Ci(v))),P?(ee=mb,ne=!1):f.length>=i&&(ee=wh,ne=!1,f=new Qa(f));e:for(;++jj?0:j+v),P=P===t||P>j?j:Ot(P),P<0&&(P+=j),P=v>P?0:n_(P);v0&&v(ae)?f>1?xn(ae,f-1,v,P,j):Qo(j,ae):P||(j[j.length]=ae)}return j}var Mb=d9(),z7=d9(!0);function Ns(c,f){return c&&Mb(c,f,fn)}function Nb(c,f){return c&&z7(c,f,fn)}function Y0(c,f){return Yo(f,function(v){return so(c[v])})}function ec(c,f){f=na(f,c);for(var v=0,P=f.length;c!=null&&vf}function $z(c,f){return c!=null&&vr.call(c,f)}function Bz(c,f){return c!=null&&f in Er(c)}function Lz(c,f,v){return c>=Mn(f,v)&&c=120&&Ce.length>=120)?new Qa(ne&&Ce):t}Ce=c[0];var Te=-1,$e=ae[0];e:for(;++Te-1;)ae!==c&&z0.call(ae,fe,1),z0.call(c,fe,1);return c}function X7(c,f){for(var v=c?f.length:0,P=v-1;v--;){var j=f[v];if(v==P||j!==ee){var ee=j;io(j)?z0.call(c,j,1):zb(c,j)}}return c}function Ub(c,f){return c+W0(P7()*(f-c+1))}function Yz(c,f,v,P){for(var j=-1,ee=an(q0((f-c)/(v||1)),0),ne=be(ee);ee--;)ne[P?ee:++j]=c,c+=v;return ne}function Fb(c,f){var v="";if(!c||f<1||f>I)return v;do f%2&&(v+=c),f=W0(f/2),f&&(c+=c);while(f);return v}function Zt(c,f){return nw(R9(c,f,li),c+"")}function Qz(c){return $7(xl(c))}function Xz(c,f){var v=xl(c);return cp(v,Xa(f,0,v.length))}function Th(c,f,v,P){if(!Or(c))return c;f=na(f,c);for(var j=-1,ee=f.length,ne=ee-1,ae=c;ae!=null&&++jj?0:j+f),v=v>j?j:v,v<0&&(v+=j),j=f>v?0:v-f>>>0,f>>>=0;for(var ee=be(j);++P>>1,ne=c[ee];ne!==null&&!Ii(ne)&&(v?ne<=f:ne=i){var Ae=f?null:dH(c);if(Ae)return O0(Ae);ne=!1,j=wh,fe=new Qa}else fe=f?[]:ae;e:for(;++P=P?c:zi(c,f,v)}var o9=qj||function(c){return Sr.clearTimeout(c)};function a9(c,f){if(f)return c.slice();var v=c.length,P=T7?T7(v):new c.constructor(v);return c.copy(P),P}function Vb(c){var f=new c.constructor(c.byteLength);return new F0(f).set(new F0(c)),f}function iH(c,f){var v=f?Vb(c.buffer):c.buffer;return new c.constructor(v,c.byteOffset,c.byteLength)}function sH(c){var f=new c.constructor(c.source,Tt.exec(c));return f.lastIndex=c.lastIndex,f}function oH(c){return Eh?Er(Eh.call(c)):{}}function c9(c,f){var v=f?Vb(c.buffer):c.buffer;return new c.constructor(v,c.byteOffset,c.length)}function l9(c,f){if(c!==f){var v=c!==t,P=c===null,j=c===c,ee=Ii(c),ne=f!==t,ae=f===null,fe=f===f,Ae=Ii(f);if(!ae&&!Ae&&!ee&&c>f||ee&&ne&&fe&&!ae&&!Ae||P&&ne&&fe||!v&&fe||!j)return 1;if(!P&&!ee&&!Ae&&c=ae)return fe;var Ae=v[P];return fe*(Ae=="desc"?-1:1)}}return c.index-f.index}function u9(c,f,v,P){for(var j=-1,ee=c.length,ne=v.length,ae=-1,fe=f.length,Ae=an(ee-ne,0),Ce=be(fe+Ae),Te=!P;++ae1?v[j-1]:t,ne=j>2?v[2]:t;for(ee=c.length>3&&typeof ee=="function"?(j--,ee):t,ne&&Kn(v[0],v[1],ne)&&(ee=j<3?t:ee,j=1),f=Er(f);++P-1?j[ee?f[ne]:ne]:t}}function m9(c){return no(function(f){var v=f.length,P=v,j=Fi.prototype.thru;for(c&&f.reverse();P--;){var ee=f[P];if(typeof ee!="function")throw new Ui(o);if(j&&!ne&&op(ee)=="wrapper")var ne=new Fi([],!0)}for(P=ne?P:v;++P1&&rr.reverse(),Ce&&feae))return!1;var Ae=ee.get(c),Ce=ee.get(f);if(Ae&&Ce)return Ae==f&&Ce==c;var Te=-1,$e=!0,Qe=v&C?new Qa:t;for(ee.set(c,f),ee.set(f,c);++Te1?"& ":"")+f[P],f=f.join(v>2?", ":" "),c.replace(Ft,`{ /* [wrapped with `+f+`] */ -`)}function TH(c){return Mt(c)||nc(c)||!!(M7&&c&&c[M7])}function ro(c,f){var v=typeof c;return f=f??I,!!f&&(v=="number"||v!="symbol"&&ei.test(c))&&c>-1&&c%1==0&&c0){if(++f>=P)return arguments[0]}else f=0;return c.apply(t,arguments)}}function hp(c,f){var v=-1,N=c.length,F=N-1;for(f=f===t?N:f;++v1?c[f-1]:t;return v=typeof v=="function"?(c.pop(),v):t,j9(c,v)});function z9(c){var f=Z(c);return f.__chain__=!0,f}function Fq(c,f){return f(c),c}function fp(c,f){return f(c)}var jq=to(function(c){var f=c.length,v=f?c[0]:0,N=this.__wrapped__,F=function(X){return Mb(X,c)};return f>1||this.__actions__.length||!(N instanceof Xt)||!ro(v)?this.thru(F):(N=N.slice(v,+v+(f?1:0)),N.__actions__.push({func:fp,args:[F],thisArg:t}),new Li(N,this.__chain__).thru(function(X){return f&&!X.length&&X.push(t),X}))});function zq(){return z9(this)}function Hq(){return new Li(this.value(),this.__chain__)}function qq(){this.__values__===t&&(this.__values__=r_(this.value()));var c=this.__index__>=this.__values__.length,f=c?t:this.__values__[this.__index__++];return{done:c,value:f}}function Wq(){return this}function Vq(c){for(var f,v=this;v instanceof Y0;){var N=D9(v);N.__index__=0,N.__values__=t,f?F.__wrapped__=N:f=N;var F=N;v=v.__wrapped__}return F.__wrapped__=c,f}function Gq(){var c=this.__wrapped__;if(c instanceof Xt){var f=c;return this.__actions__.length&&(f=new Xt(this)),f=f.reverse(),f.__actions__.push({func:fp,args:[sw],thisArg:t}),new Li(f,this.__chain__)}return this.thru(sw)}function Kq(){return i9(this.__wrapped__,this.__actions__)}var Zq=ip(function(c,f,v){vr.call(c,v)?++c[v]:Xs(c,v,1)});function Jq(c,f,v){var N=Mt(c)?b7:Fz;return v&&Vn(c,f,v)&&(f=t),N(c,ut(f,3))}function Yq(c,f){var v=Mt(c)?Yo:j7;return v(c,ut(f,3))}var Qq=g9($9),Xq=g9(B9);function eW(c,f){return vn(dp(c,f),1)}function tW(c,f){return vn(dp(c,f),A)}function rW(c,f,v){return v=v===t?1:Ot(v),vn(dp(c,f),v)}function H9(c,f){var v=Mt(c)?$i:ta;return v(c,ut(f,3))}function q9(c,f){var v=Mt(c)?xj:F7;return v(c,ut(f,3))}var nW=ip(function(c,f,v){vr.call(c,v)?c[v].push(f):Xs(c,v,[f])});function iW(c,f,v,N){c=si(c)?c:vl(c),v=v&&!N?Ot(v):0;var F=c.length;return v<0&&(v=on(F+v,0)),wp(c)?v<=F&&c.indexOf(f,v)>-1:!!F&&al(c,f,v)>-1}var sW=Zt(function(c,f,v){var N=-1,F=typeof f=="function",X=si(c)?be(c.length):[];return ta(c,function(ne){X[++N]=F?Ln(f,ne,v):Sh(ne,f,v)}),X}),oW=ip(function(c,f,v){Xs(c,v,f)});function dp(c,f){var v=Mt(c)?Pr:G7;return v(c,ut(f,3))}function aW(c,f,v,N){return c==null?[]:(Mt(f)||(f=f==null?[]:[f]),v=N?t:v,Mt(v)||(v=v==null?[]:[v]),Y7(c,f,v))}var cW=ip(function(c,f,v){c[v?0:1].push(f)},function(){return[[],[]]});function lW(c,f,v){var N=Mt(c)?wb:x7,F=arguments.length<3;return N(c,ut(f,4),v,F,ta)}function uW(c,f,v){var N=Mt(c)?_j:x7,F=arguments.length<3;return N(c,ut(f,4),v,F,F7)}function hW(c,f){var v=Mt(c)?Yo:j7;return v(c,mp(ut(f,3)))}function fW(c){var f=Mt(c)?$7:iH;return f(c)}function dW(c,f,v){(v?Vn(c,f,v):f===t)?f=1:f=Ot(f);var N=Mt(c)?Dz:sH;return N(c,f)}function pW(c){var f=Mt(c)?$z:aH;return f(c)}function gW(c){if(c==null)return 0;if(si(c))return wp(c)?ll(c):c.length;var f=kn(c);return f==de||f==De?c.size:Bb(c).length}function mW(c,f,v){var N=Mt(c)?vb:cH;return v&&Vn(c,f,v)&&(f=t),N(c,ut(f,3))}var bW=Zt(function(c,f){if(c==null)return[];var v=f.length;return v>1&&Vn(c,f[0],f[1])?f=[]:v>2&&Vn(f[0],f[1],f[2])&&(f=[f[0]]),Y7(c,vn(f,1),[])}),pp=Yj||function(){return Sr.Date.now()};function wW(c,f){if(typeof f!="function")throw new Bi(o);return c=Ot(c),function(){if(--c<1)return f.apply(this,arguments)}}function W9(c,f,v){return f=v?t:f,f=c&&f==null?c.length:f,eo(c,D,t,t,t,t,f)}function V9(c,f){var v;if(typeof f!="function")throw new Bi(o);return c=Ot(c),function(){return--c>0&&(v=f.apply(this,arguments)),c<=1&&(f=t),v}}var aw=Zt(function(c,f,v){var N=R;if(v.length){var F=Xo(v,bl(aw));N|=j}return eo(c,N,f,v,F)}),G9=Zt(function(c,f,v){var N=R|k;if(v.length){var F=Xo(v,bl(G9));N|=j}return eo(f,N,c,v,F)});function K9(c,f,v){f=v?t:f;var N=eo(c,O,t,t,t,t,t,f);return N.placeholder=K9.placeholder,N}function Z9(c,f,v){f=v?t:f;var N=eo(c,B,t,t,t,t,t,f);return N.placeholder=Z9.placeholder,N}function J9(c,f,v){var N,F,X,ne,ae,fe,Ae=0,Ce=!1,Re=!1,$e=!0;if(typeof c!="function")throw new Bi(o);f=zi(f)||0,Or(v)&&(Ce=!!v.leading,Re="maxWait"in v,X=Re?on(zi(v.maxWait)||0,f):X,$e="trailing"in v?!!v.trailing:$e);function Qe(Wr){var cs=N,so=F;return N=F=t,Ae=Wr,ne=c.apply(so,cs),ne}function mt(Wr){return Ae=Wr,ae=Mh(Qt,f),Ce?Qe(Wr):ne}function jt(Wr){var cs=Wr-fe,so=Wr-Ae,g_=f-cs;return Re?Tn(g_,X-so):g_}function bt(Wr){var cs=Wr-fe,so=Wr-Ae;return fe===t||cs>=f||cs<0||Re&&so>=X}function Qt(){var Wr=pp();if(bt(Wr))return rr(Wr);ae=Mh(Qt,jt(Wr))}function rr(Wr){return ae=t,$e&&N?Qe(Wr):(N=F=t,ne)}function Ii(){ae!==t&&o9(ae),Ae=0,N=fe=F=ae=t}function Gn(){return ae===t?ne:rr(pp())}function Ri(){var Wr=pp(),cs=bt(Wr);if(N=arguments,F=this,fe=Wr,cs){if(ae===t)return mt(fe);if(Re)return o9(ae),ae=Mh(Qt,f),Qe(fe)}return ae===t&&(ae=Mh(Qt,f)),ne}return Ri.cancel=Ii,Ri.flush=Gn,Ri}var vW=Zt(function(c,f){return U7(c,1,f)}),yW=Zt(function(c,f,v){return U7(c,zi(f)||0,v)});function xW(c){return eo(c,V)}function gp(c,f){if(typeof c!="function"||f!=null&&typeof f!="function")throw new Bi(o);var v=function(){var N=arguments,F=f?f.apply(this,N):N[0],X=v.cache;if(X.has(F))return X.get(F);var ne=c.apply(this,N);return v.cache=X.set(F,ne)||X,ne};return v.cache=new(gp.Cache||Qs),v}gp.Cache=Qs;function mp(c){if(typeof c!="function")throw new Bi(o);return function(){var f=arguments;switch(f.length){case 0:return!c.call(this);case 1:return!c.call(this,f[0]);case 2:return!c.call(this,f[0],f[1]);case 3:return!c.call(this,f[0],f[1],f[2])}return!c.apply(this,f)}}function _W(c){return V9(2,c)}var EW=lH(function(c,f){f=f.length==1&&Mt(f[0])?Pr(f[0],Ai(ut())):Pr(vn(f,1),Ai(ut()));var v=f.length;return Zt(function(N){for(var F=-1,X=Tn(N.length,v);++F=f}),nc=q7(function(){return arguments}())?q7:function(c){return Br(c)&&vr.call(c,"callee")&&!k7.call(c,"callee")},Mt=be.isArray,LW=Mo?Ai(Mo):Vz;function si(c){return c!=null&&bp(c.length)&&!no(c)}function qr(c){return Br(c)&&si(c)}function UW(c){return c===!0||c===!1||Br(c)&&Wn(c)==ee}var sa=Xj||vw,FW=Rc?Ai(Rc):Gz;function jW(c){return Br(c)&&c.nodeType===1&&!Nh(c)}function zW(c){if(c==null)return!0;if(si(c)&&(Mt(c)||typeof c=="string"||typeof c.splice=="function"||sa(c)||wl(c)||nc(c)))return!c.length;var f=kn(c);if(f==de||f==De)return!c.size;if(kh(c))return!Bb(c).length;for(var v in c)if(vr.call(c,v))return!1;return!0}function HW(c,f){return Ih(c,f)}function qW(c,f,v){v=typeof v=="function"?v:t;var N=v?v(c,f):t;return N===t?Ih(c,f,t,v):!!N}function lw(c){if(!Br(c))return!1;var f=Wn(c);return f==L||f==z||typeof c.message=="string"&&typeof c.name=="string"&&!Nh(c)}function WW(c){return typeof c=="number"&&N7(c)}function no(c){if(!Or(c))return!1;var f=Wn(c);return f==H||f==le||f==K||f==Te}function Q9(c){return typeof c=="number"&&c==Ot(c)}function bp(c){return typeof c=="number"&&c>-1&&c%1==0&&c<=I}function Or(c){var f=typeof c;return c!=null&&(f=="object"||f=="function")}function Br(c){return c!=null&&typeof c=="object"}var X9=Za?Ai(Za):Zz;function VW(c,f){return c===f||$b(c,f,Xb(f))}function GW(c,f,v){return v=typeof v=="function"?v:t,$b(c,f,Xb(f),v)}function KW(c){return e_(c)&&c!=+c}function ZW(c){if(NH(c))throw new kt(s);return W7(c)}function JW(c){return c===null}function YW(c){return c==null}function e_(c){return typeof c=="number"||Br(c)&&Wn(c)==Se}function Nh(c){if(!Br(c)||Wn(c)!=ke)return!1;var f=q0(c);if(f===null)return!0;var v=vr.call(f,"constructor")&&f.constructor;return typeof v=="function"&&v instanceof v&&F0.call(v)==Gj}var uw=ol?Ai(ol):Jz;function QW(c){return Q9(c)&&c>=-I&&c<=I}var t_=lg?Ai(lg):Yz;function wp(c){return typeof c=="string"||!Mt(c)&&Br(c)&&Wn(c)==Je}function Si(c){return typeof c=="symbol"||Br(c)&&Wn(c)==ze}var wl=Xf?Ai(Xf):Qz;function XW(c){return c===t}function eV(c){return Br(c)&&kn(c)==Ve}function tV(c){return Br(c)&&Wn(c)==He}var rV=cp(Lb),nV=cp(function(c,f){return c<=f});function r_(c){if(!c)return[];if(si(c))return wp(c)?ss(c):ii(c);if(vh&&c[vh])return Dj(c[vh]());var f=kn(c),v=f==de?Cb:f==De?B0:vl;return v(c)}function io(c){if(!c)return c===0?c:0;if(c=zi(c),c===A||c===-A){var f=c<0?-1:1;return f*T}return c===c?c:0}function Ot(c){var f=io(c),v=f%1;return f===f?v?f-v:f:0}function n_(c){return c?Xa(Ot(c),0,E):0}function zi(c){if(typeof c=="number")return c;if(Si(c))return S;if(Or(c)){var f=typeof c.valueOf=="function"?c.valueOf():c;c=Or(f)?f+"":f}if(typeof c!="string")return c===0?c:+c;c=_7(c);var v=Yn.test(c);return v||Xn.test(c)?$r(c.slice(2),v?2:8):ur.test(c)?S:+c}function i_(c){return Ms(c,oi(c))}function iV(c){return c?Xa(Ot(c),-I,I):c===0?c:0}function wr(c){return c==null?"":Ci(c)}var sV=gl(function(c,f){if(kh(f)||si(f)){Ms(f,hn(f),c);return}for(var v in f)vr.call(f,v)&&Ah(c,v,f[v])}),s_=gl(function(c,f){Ms(f,oi(f),c)}),vp=gl(function(c,f,v,N){Ms(f,oi(f),c,N)}),oV=gl(function(c,f,v,N){Ms(f,hn(f),c,N)}),aV=to(Mb);function cV(c,f){var v=pl(c);return f==null?v:B7(v,f)}var lV=Zt(function(c,f){c=Er(c);var v=-1,N=f.length,F=N>2?f[2]:t;for(F&&Vn(f[0],f[1],F)&&(N=1);++v1),X}),Ms(c,Yb(c),v),N&&(v=Ui(v,p|g|w,yH));for(var F=f.length;F--;)Hb(v,f[F]);return v});function IV(c,f){return a_(c,mp(ut(f)))}var RV=to(function(c,f){return c==null?{}:tH(c,f)});function a_(c,f){if(c==null)return{};var v=Pr(Yb(c),function(N){return[N]});return f=ut(f),Q7(c,v,function(N,F){return f(N,F[0])})}function TV(c,f,v){f=na(f,c);var N=-1,F=f.length;for(F||(F=1,c=t);++Nf){var N=c;c=f,f=N}if(v||c%1||f%1){var F=P7();return Tn(c+F*(f-c+ri("1e-"+((F+"").length-1))),f)}return Fb(c,f)}var FV=ml(function(c,f,v){return f=f.toLowerCase(),c+(v?u_(f):f)});function u_(c){return dw(wr(c).toLowerCase())}function h_(c){return c=wr(c),c&&c.replace(gn,kj).replace(g7,"")}function jV(c,f,v){c=wr(c),f=Ci(f);var N=c.length;v=v===t?N:Xa(Ot(v),0,N);var F=v;return v-=f.length,v>=0&&c.slice(v,F)==f}function zV(c){return c=wr(c),c&&ht.test(c)?c.replace(Nt,Mj):c}function HV(c){return c=wr(c),c&&Gt.test(c)?c.replace(pt,"\\$&"):c}var qV=ml(function(c,f,v){return c+(v?"-":"")+f.toLowerCase()}),WV=ml(function(c,f,v){return c+(v?" ":"")+f.toLowerCase()}),VV=p9("toLowerCase");function GV(c,f,v){c=wr(c),f=Ot(f);var N=f?ll(c):0;if(!f||N>=f)return c;var F=(f-N)/2;return ap(K0(F),v)+c+ap(G0(F),v)}function KV(c,f,v){c=wr(c),f=Ot(f);var N=f?ll(c):0;return f&&N>>0,v?(c=wr(c),c&&(typeof f=="string"||f!=null&&!uw(f))&&(f=Ci(f),!f&&cl(c))?ia(ss(c),0,v):c.split(f,v)):[]}var tG=ml(function(c,f,v){return c+(v?" ":"")+dw(f)});function rG(c,f,v){return c=wr(c),v=v==null?0:Xa(Ot(v),0,c.length),f=Ci(f),c.slice(v,v+f.length)==f}function nG(c,f,v){var N=Z.templateSettings;v&&Vn(c,f,v)&&(f=t),c=wr(c),f=vp({},f,N,x9);var F=vp({},f.imports,N.imports,x9),X=hn(F),ne=Ab(F,X),ae,fe,Ae=0,Ce=f.interpolate||zn,Re="__p += '",$e=Sb((f.escape||zn).source+"|"+Ce.source+"|"+(Ce===ft?br:zn).source+"|"+(f.evaluate||zn).source+"|$","g"),Qe="//# sourceURL="+(vr.call(f,"sourceURL")?(f.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++m7+"]")+` -`;c.replace($e,function(bt,Qt,rr,Ii,Gn,Ri){return rr||(rr=Ii),Re+=c.slice(Ae,Ri).replace(Pi,Nj),Qt&&(ae=!0,Re+=`' + +`)}function EH(c){return Mt(c)||nc(c)||!!(M7&&c&&c[M7])}function io(c,f){var v=typeof c;return f=f??I,!!f&&(v=="number"||v!="symbol"&&ri.test(c))&&c>-1&&c%1==0&&c0){if(++f>=M)return arguments[0]}else f=0;return c.apply(t,arguments)}}function cp(c,f){var v=-1,P=c.length,j=P-1;for(f=f===t?P:f;++v1?c[f-1]:t;return v=typeof v=="function"?(c.pop(),v):t,j9(c,v)});function z9(c){var f=Z(c);return f.__chain__=!0,f}function Oq(c,f){return f(c),c}function lp(c,f){return f(c)}var Dq=no(function(c){var f=c.length,v=f?c[0]:0,P=this.__wrapped__,j=function(ee){return kb(ee,c)};return f>1||this.__actions__.length||!(P instanceof Xt)||!io(v)?this.thru(j):(P=P.slice(v,+v+(f?1:0)),P.__actions__.push({func:lp,args:[j],thisArg:t}),new Fi(P,this.__chain__).thru(function(ee){return f&&!ee.length&&ee.push(t),ee}))});function $q(){return z9(this)}function Bq(){return new Fi(this.value(),this.__chain__)}function Lq(){this.__values__===t&&(this.__values__=r_(this.value()));var c=this.__index__>=this.__values__.length,f=c?t:this.__values__[this.__index__++];return{done:c,value:f}}function Uq(){return this}function Fq(c){for(var f,v=this;v instanceof K0;){var P=D9(v);P.__index__=0,P.__values__=t,f?j.__wrapped__=P:f=P;var j=P;v=v.__wrapped__}return j.__wrapped__=c,f}function jq(){var c=this.__wrapped__;if(c instanceof Xt){var f=c;return this.__actions__.length&&(f=new Xt(this)),f=f.reverse(),f.__actions__.push({func:lp,args:[iw],thisArg:t}),new Fi(f,this.__chain__)}return this.thru(iw)}function zq(){return i9(this.__wrapped__,this.__actions__)}var Hq=tp(function(c,f,v){vr.call(c,v)?++c[v]:to(c,v,1)});function qq(c,f,v){var P=Mt(c)?b7:Oz;return v&&Kn(c,f,v)&&(f=t),P(c,ut(f,3))}function Wq(c,f){var v=Mt(c)?Yo:j7;return v(c,ut(f,3))}var Vq=g9($9),Gq=g9(B9);function Kq(c,f){return xn(up(c,f),1)}function Zq(c,f){return xn(up(c,f),A)}function Jq(c,f,v){return v=v===t?1:Ot(v),xn(up(c,f),v)}function H9(c,f){var v=Mt(c)?Li:ta;return v(c,ut(f,3))}function q9(c,f){var v=Mt(c)?gj:F7;return v(c,ut(f,3))}var Yq=tp(function(c,f,v){vr.call(c,v)?c[v].push(f):to(c,v,[f])});function Qq(c,f,v,P){c=ai(c)?c:xl(c),v=v&&!P?Ot(v):0;var j=c.length;return v<0&&(v=an(j+v,0)),gp(c)?v<=j&&c.indexOf(f,v)>-1:!!j&&ll(c,f,v)>-1}var Xq=Zt(function(c,f,v){var P=-1,j=typeof f=="function",ee=ai(c)?be(c.length):[];return ta(c,function(ne){ee[++P]=j?Fn(f,ne,v):Sh(ne,f,v)}),ee}),eW=tp(function(c,f,v){to(c,v,f)});function up(c,f){var v=Mt(c)?Pr:G7;return v(c,ut(f,3))}function tW(c,f,v,P){return c==null?[]:(Mt(f)||(f=f==null?[]:[f]),v=P?t:v,Mt(v)||(v=v==null?[]:[v]),Y7(c,f,v))}var rW=tp(function(c,f,v){c[v?0:1].push(f)},function(){return[[],[]]});function nW(c,f,v){var P=Mt(c)?bb:x7,j=arguments.length<3;return P(c,ut(f,4),v,j,ta)}function iW(c,f,v){var P=Mt(c)?mj:x7,j=arguments.length<3;return P(c,ut(f,4),v,j,F7)}function sW(c,f){var v=Mt(c)?Yo:j7;return v(c,dp(ut(f,3)))}function oW(c){var f=Mt(c)?$7:Qz;return f(c)}function aW(c,f,v){(v?Kn(c,f,v):f===t)?f=1:f=Ot(f);var P=Mt(c)?Rz:Xz;return P(c,f)}function cW(c){var f=Mt(c)?kz:tH;return f(c)}function lW(c){if(c==null)return 0;if(ai(c))return gp(c)?hl(c):c.length;var f=Nn(c);return f==de||f==De?c.size:$b(c).length}function uW(c,f,v){var P=Mt(c)?wb:rH;return v&&Kn(c,f,v)&&(f=t),P(c,ut(f,3))}var hW=Zt(function(c,f){if(c==null)return[];var v=f.length;return v>1&&Kn(c,f[0],f[1])?f=[]:v>2&&Kn(f[0],f[1],f[2])&&(f=[f[0]]),Y7(c,xn(f,1),[])}),hp=Wj||function(){return Sr.Date.now()};function fW(c,f){if(typeof f!="function")throw new Ui(o);return c=Ot(c),function(){if(--c<1)return f.apply(this,arguments)}}function W9(c,f,v){return f=v?t:f,f=c&&f==null?c.length:f,ro(c,$,t,t,t,t,f)}function V9(c,f){var v;if(typeof f!="function")throw new Ui(o);return c=Ot(c),function(){return--c>0&&(v=f.apply(this,arguments)),c<=1&&(f=t),v}}var ow=Zt(function(c,f,v){var P=T;if(v.length){var j=Xo(v,vl(ow));P|=z}return ro(c,P,f,v,j)}),G9=Zt(function(c,f,v){var P=T|k;if(v.length){var j=Xo(v,vl(G9));P|=z}return ro(f,P,c,v,j)});function K9(c,f,v){f=v?t:f;var P=ro(c,O,t,t,t,t,t,f);return P.placeholder=K9.placeholder,P}function Z9(c,f,v){f=v?t:f;var P=ro(c,B,t,t,t,t,t,f);return P.placeholder=Z9.placeholder,P}function J9(c,f,v){var P,j,ee,ne,ae,fe,Ae=0,Ce=!1,Te=!1,$e=!0;if(typeof c!="function")throw new Ui(o);f=qi(f)||0,Or(v)&&(Ce=!!v.leading,Te="maxWait"in v,ee=Te?an(qi(v.maxWait)||0,f):ee,$e="trailing"in v?!!v.trailing:$e);function Qe(Wr){var us=P,ao=j;return P=j=t,Ae=Wr,ne=c.apply(ao,us),ne}function mt(Wr){return Ae=Wr,ae=Mh(Qt,f),Ce?Qe(Wr):ne}function jt(Wr){var us=Wr-fe,ao=Wr-Ae,g_=f-us;return Te?Mn(g_,ee-ao):g_}function bt(Wr){var us=Wr-fe,ao=Wr-Ae;return fe===t||us>=f||us<0||Te&&ao>=ee}function Qt(){var Wr=hp();if(bt(Wr))return rr(Wr);ae=Mh(Qt,jt(Wr))}function rr(Wr){return ae=t,$e&&P?Qe(Wr):(P=j=t,ne)}function Ti(){ae!==t&&o9(ae),Ae=0,P=fe=j=ae=t}function Zn(){return ae===t?ne:rr(hp())}function Ri(){var Wr=hp(),us=bt(Wr);if(P=arguments,j=this,fe=Wr,us){if(ae===t)return mt(fe);if(Te)return o9(ae),ae=Mh(Qt,f),Qe(fe)}return ae===t&&(ae=Mh(Qt,f)),ne}return Ri.cancel=Ti,Ri.flush=Zn,Ri}var dW=Zt(function(c,f){return U7(c,1,f)}),pW=Zt(function(c,f,v){return U7(c,qi(f)||0,v)});function gW(c){return ro(c,V)}function fp(c,f){if(typeof c!="function"||f!=null&&typeof f!="function")throw new Ui(o);var v=function(){var P=arguments,j=f?f.apply(this,P):P[0],ee=v.cache;if(ee.has(j))return ee.get(j);var ne=c.apply(this,P);return v.cache=ee.set(j,ne)||ee,ne};return v.cache=new(fp.Cache||eo),v}fp.Cache=eo;function dp(c){if(typeof c!="function")throw new Ui(o);return function(){var f=arguments;switch(f.length){case 0:return!c.call(this);case 1:return!c.call(this,f[0]);case 2:return!c.call(this,f[0],f[1]);case 3:return!c.call(this,f[0],f[1],f[2])}return!c.apply(this,f)}}function mW(c){return V9(2,c)}var bW=nH(function(c,f){f=f.length==1&&Mt(f[0])?Pr(f[0],Ci(ut())):Pr(xn(f,1),Ci(ut()));var v=f.length;return Zt(function(P){for(var j=-1,ee=Mn(P.length,v);++j=f}),nc=q7(function(){return arguments}())?q7:function(c){return Br(c)&&vr.call(c,"callee")&&!k7.call(c,"callee")},Mt=be.isArray,NW=No?Ci(No):Fz;function ai(c){return c!=null&&pp(c.length)&&!so(c)}function qr(c){return Br(c)&&ai(c)}function PW(c){return c===!0||c===!1||Br(c)&&Gn(c)==te}var sa=Gj||ww,OW=Tc?Ci(Tc):jz;function DW(c){return Br(c)&&c.nodeType===1&&!Nh(c)}function $W(c){if(c==null)return!0;if(ai(c)&&(Mt(c)||typeof c=="string"||typeof c.splice=="function"||sa(c)||yl(c)||nc(c)))return!c.length;var f=Nn(c);if(f==de||f==De)return!c.size;if(kh(c))return!$b(c).length;for(var v in c)if(vr.call(c,v))return!1;return!0}function BW(c,f){return Ih(c,f)}function LW(c,f,v){v=typeof v=="function"?v:t;var P=v?v(c,f):t;return P===t?Ih(c,f,t,v):!!P}function cw(c){if(!Br(c))return!1;var f=Gn(c);return f==U||f==H||typeof c.message=="string"&&typeof c.name=="string"&&!Nh(c)}function UW(c){return typeof c=="number"&&N7(c)}function so(c){if(!Or(c))return!1;var f=Gn(c);return f==W||f==le||f==K||f==Re}function Q9(c){return typeof c=="number"&&c==Ot(c)}function pp(c){return typeof c=="number"&&c>-1&&c%1==0&&c<=I}function Or(c){var f=typeof c;return c!=null&&(f=="object"||f=="function")}function Br(c){return c!=null&&typeof c=="object"}var X9=Za?Ci(Za):Hz;function FW(c,f){return c===f||Db(c,f,Qb(f))}function jW(c,f,v){return v=typeof v=="function"?v:t,Db(c,f,Qb(f),v)}function zW(c){return e_(c)&&c!=+c}function HW(c){if(SH(c))throw new kt(s);return W7(c)}function qW(c){return c===null}function WW(c){return c==null}function e_(c){return typeof c=="number"||Br(c)&&Gn(c)==Se}function Nh(c){if(!Br(c)||Gn(c)!=ke)return!1;var f=j0(c);if(f===null)return!0;var v=vr.call(f,"constructor")&&f.constructor;return typeof v=="function"&&v instanceof v&&B0.call(v)==jj}var lw=cl?Ci(cl):qz;function VW(c){return Q9(c)&&c>=-I&&c<=I}var t_=cg?Ci(cg):Wz;function gp(c){return typeof c=="string"||!Mt(c)&&Br(c)&&Gn(c)==Je}function Ii(c){return typeof c=="symbol"||Br(c)&&Gn(c)==ze}var yl=rd?Ci(rd):Vz;function GW(c){return c===t}function KW(c){return Br(c)&&Nn(c)==Ve}function ZW(c){return Br(c)&&Gn(c)==He}var JW=sp(Bb),YW=sp(function(c,f){return c<=f});function r_(c){if(!c)return[];if(ai(c))return gp(c)?as(c):oi(c);if(vh&&c[vh])return Rj(c[vh]());var f=Nn(c),v=f==de?Ab:f==De?O0:xl;return v(c)}function oo(c){if(!c)return c===0?c:0;if(c=qi(c),c===A||c===-A){var f=c<0?-1:1;return f*R}return c===c?c:0}function Ot(c){var f=oo(c),v=f%1;return f===f?v?f-v:f:0}function n_(c){return c?Xa(Ot(c),0,E):0}function qi(c){if(typeof c=="number")return c;if(Ii(c))return S;if(Or(c)){var f=typeof c.valueOf=="function"?c.valueOf():c;c=Or(f)?f+"":f}if(typeof c!="string")return c===0?c:+c;c=_7(c);var v=Xn.test(c);return v||ti.test(c)?$r(c.slice(2),v?2:8):ur.test(c)?S:+c}function i_(c){return Ps(c,ci(c))}function QW(c){return c?Xa(Ot(c),-I,I):c===0?c:0}function wr(c){return c==null?"":Si(c)}var XW=bl(function(c,f){if(kh(f)||ai(f)){Ps(f,fn(f),c);return}for(var v in f)vr.call(f,v)&&Ah(c,v,f[v])}),s_=bl(function(c,f){Ps(f,ci(f),c)}),mp=bl(function(c,f,v,P){Ps(f,ci(f),c,P)}),eV=bl(function(c,f,v,P){Ps(f,fn(f),c,P)}),tV=no(kb);function rV(c,f){var v=ml(c);return f==null?v:B7(v,f)}var nV=Zt(function(c,f){c=Er(c);var v=-1,P=f.length,j=P>2?f[2]:t;for(j&&Kn(f[0],f[1],j)&&(P=1);++v1),ee}),Ps(c,Jb(c),v),P&&(v=ji(v,p|g|w,pH));for(var j=f.length;j--;)zb(v,f[j]);return v});function xV(c,f){return a_(c,dp(ut(f)))}var _V=no(function(c,f){return c==null?{}:Zz(c,f)});function a_(c,f){if(c==null)return{};var v=Pr(Jb(c),function(P){return[P]});return f=ut(f),Q7(c,v,function(P,j){return f(P,j[0])})}function EV(c,f,v){f=na(f,c);var P=-1,j=f.length;for(j||(j=1,c=t);++Pf){var P=c;c=f,f=P}if(v||c%1||f%1){var j=P7();return Mn(c+j*(f-c+ii("1e-"+((j+"").length-1))),f)}return Ub(c,f)}var OV=wl(function(c,f,v){return f=f.toLowerCase(),c+(v?u_(f):f)});function u_(c){return fw(wr(c).toLowerCase())}function h_(c){return c=wr(c),c&&c.replace(bn,Aj).replace(g7,"")}function DV(c,f,v){c=wr(c),f=Si(f);var P=c.length;v=v===t?P:Xa(Ot(v),0,P);var j=v;return v-=f.length,v>=0&&c.slice(v,j)==f}function $V(c){return c=wr(c),c&&ht.test(c)?c.replace(Nt,Cj):c}function BV(c){return c=wr(c),c&&Gt.test(c)?c.replace(pt,"\\$&"):c}var LV=wl(function(c,f,v){return c+(v?"-":"")+f.toLowerCase()}),UV=wl(function(c,f,v){return c+(v?" ":"")+f.toLowerCase()}),FV=p9("toLowerCase");function jV(c,f,v){c=wr(c),f=Ot(f);var P=f?hl(c):0;if(!f||P>=f)return c;var j=(f-P)/2;return ip(W0(j),v)+c+ip(q0(j),v)}function zV(c,f,v){c=wr(c),f=Ot(f);var P=f?hl(c):0;return f&&P>>0,v?(c=wr(c),c&&(typeof f=="string"||f!=null&&!lw(f))&&(f=Si(f),!f&&ul(c))?ia(as(c),0,v):c.split(f,v)):[]}var ZV=wl(function(c,f,v){return c+(v?" ":"")+fw(f)});function JV(c,f,v){return c=wr(c),v=v==null?0:Xa(Ot(v),0,c.length),f=Si(f),c.slice(v,v+f.length)==f}function YV(c,f,v){var P=Z.templateSettings;v&&Kn(c,f,v)&&(f=t),c=wr(c),f=mp({},f,P,x9);var j=mp({},f.imports,P.imports,x9),ee=fn(j),ne=Eb(j,ee),ae,fe,Ae=0,Ce=f.interpolate||qn,Te="__p += '",$e=Cb((f.escape||qn).source+"|"+Ce.source+"|"+(Ce===ft?br:qn).source+"|"+(f.evaluate||qn).source+"|$","g"),Qe="//# sourceURL="+(vr.call(f,"sourceURL")?(f.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++m7+"]")+` +`;c.replace($e,function(bt,Qt,rr,Ti,Zn,Ri){return rr||(rr=Ti),Te+=c.slice(Ae,Ri).replace(Di,Sj),Qt&&(ae=!0,Te+=`' + __e(`+Qt+`) + -'`),Gn&&(fe=!0,Re+=`'; -`+Gn+`; -__p += '`),rr&&(Re+=`' + +'`),Zn&&(fe=!0,Te+=`'; +`+Zn+`; +__p += '`),rr&&(Te+=`' + ((__t = (`+rr+`)) == null ? '' : __t) + -'`),Ae=Ri+bt.length,bt}),Re+=`'; -`;var mt=vr.call(f,"variable")&&f.variable;if(!mt)Re=`with (obj) { -`+Re+` +'`),Ae=Ri+bt.length,bt}),Te+=`'; +`;var mt=vr.call(f,"variable")&&f.variable;if(!mt)Te=`with (obj) { +`+Te+` } -`;else if(zt.test(mt))throw new kt(a);Re=(fe?Re.replace(ot,""):Re).replace(tt,"$1").replace(It,"$1;"),Re="function("+(mt||"obj")+`) { +`;else if(Ht.test(mt))throw new kt(a);Te=(fe?Te.replace(ot,""):Te).replace(tt,"$1").replace(It,"$1;"),Te="function("+(mt||"obj")+`) { `+(mt?"":`obj || (obj = {}); `)+"var __t, __p = ''"+(ae?", __e = _.escape":"")+(fe?`, __j = Array.prototype.join; function print() { __p += __j.call(arguments, '') } `:`; -`)+Re+`return __p -}`;var jt=d_(function(){return fr(X,Qe+"return "+Re).apply(t,ne)});if(jt.source=Re,lw(jt))throw jt;return jt}function iG(c){return wr(c).toLowerCase()}function sG(c){return wr(c).toUpperCase()}function oG(c,f,v){if(c=wr(c),c&&(v||f===t))return _7(c);if(!c||!(f=Ci(f)))return c;var N=ss(c),F=ss(f),X=E7(N,F),ne=A7(N,F)+1;return ia(N,X,ne).join("")}function aG(c,f,v){if(c=wr(c),c&&(v||f===t))return c.slice(0,S7(c)+1);if(!c||!(f=Ci(f)))return c;var N=ss(c),F=A7(N,ss(f))+1;return ia(N,0,F).join("")}function cG(c,f,v){if(c=wr(c),c&&(v||f===t))return c.replace(gt,"");if(!c||!(f=Ci(f)))return c;var N=ss(c),F=E7(N,ss(f));return ia(N,F).join("")}function lG(c,f){var v=te,N=W;if(Or(f)){var F="separator"in f?f.separator:F;v="length"in f?Ot(f.length):v,N="omission"in f?Ci(f.omission):N}c=wr(c);var X=c.length;if(cl(c)){var ne=ss(c);X=ne.length}if(v>=X)return c;var ae=v-ll(N);if(ae<1)return N;var fe=ne?ia(ne,0,ae).join(""):c.slice(0,ae);if(F===t)return fe+N;if(ne&&(ae+=fe.length-ae),uw(F)){if(c.slice(ae).search(F)){var Ae,Ce=fe;for(F.global||(F=Sb(F.source,wr(Rt.exec(F))+"g")),F.lastIndex=0;Ae=F.exec(Ce);)var Re=Ae.index;fe=fe.slice(0,Re===t?ae:Re)}}else if(c.indexOf(Ci(F),ae)!=ae){var $e=fe.lastIndexOf(F);$e>-1&&(fe=fe.slice(0,$e))}return fe+N}function uG(c){return c=wr(c),c&&Lt.test(c)?c.replace(st,Uj):c}var hG=ml(function(c,f,v){return c+(v?" ":"")+f.toUpperCase()}),dw=p9("toUpperCase");function f_(c,f,v){return c=wr(c),f=v?t:f,f===t?Oj(c)?zj(c):Cj(c):c.match(f)||[]}var d_=Zt(function(c,f){try{return Ln(c,t,f)}catch(v){return lw(v)?v:new kt(v)}}),fG=to(function(c,f){return $i(f,function(v){v=Ns(v),Xs(c,v,aw(c[v],c))}),c});function dG(c){var f=c==null?0:c.length,v=ut();return c=f?Pr(c,function(N){if(typeof N[1]!="function")throw new Bi(o);return[v(N[0]),N[1]]}):[],Zt(function(N){for(var F=-1;++FI)return[];var v=E,N=Tn(c,E);f=ut(f),c-=E;for(var F=Eb(N,f);++v0||f<0)?new Xt(v):(c<0?v=v.takeRight(-c):c&&(v=v.drop(c)),f!==t&&(f=Ot(f),v=f<0?v.dropRight(-f):v.take(f-c)),v)},Xt.prototype.takeRightWhile=function(c){return this.reverse().takeWhile(c).reverse()},Xt.prototype.toArray=function(){return this.take(E)},ks(Xt.prototype,function(c,f){var v=/^(?:filter|find|map|reject)|While$/.test(f),N=/^(?:head|last)$/.test(f),F=Z[N?"take"+(f=="last"?"Right":""):f],X=N||/^find/.test(f);F&&(Z.prototype[f]=function(){var ne=this.__wrapped__,ae=N?[1]:arguments,fe=ne instanceof Xt,Ae=ae[0],Ce=fe||Mt(ne),Re=function(Qt){var rr=F.apply(Z,Qo([Qt],ae));return N&&$e?rr[0]:rr};Ce&&v&&typeof Ae=="function"&&Ae.length!=1&&(fe=Ce=!1);var $e=this.__chain__,Qe=!!this.__actions__.length,mt=X&&!$e,jt=fe&&!Qe;if(!X&&Ce){ne=jt?ne:new Xt(this);var bt=c.apply(ne,ae);return bt.__actions__.push({func:fp,args:[Re],thisArg:t}),new Li(bt,$e)}return mt&&jt?c.apply(this,ae):(bt=this.thru(Re),mt?N?bt.value()[0]:bt.value():bt)})}),$i(["pop","push","shift","sort","splice","unshift"],function(c){var f=L0[c],v=/^(?:push|sort|unshift)$/.test(c)?"tap":"thru",N=/^(?:pop|shift)$/.test(c);Z.prototype[c]=function(){var F=arguments;if(N&&!this.__chain__){var X=this.value();return f.apply(Mt(X)?X:[],F)}return this[v](function(ne){return f.apply(Mt(ne)?ne:[],F)})}}),ks(Xt.prototype,function(c,f){var v=Z[f];if(v){var N=v.name+"";vr.call(dl,N)||(dl[N]=[]),dl[N].push({name:f,func:v})}}),dl[sp(t,k).name]=[{name:"wrapper",func:t}],Xt.prototype.clone=uz,Xt.prototype.reverse=hz,Xt.prototype.value=fz,Z.prototype.at=jq,Z.prototype.chain=zq,Z.prototype.commit=Hq,Z.prototype.next=qq,Z.prototype.plant=Vq,Z.prototype.reverse=Gq,Z.prototype.toJSON=Z.prototype.valueOf=Z.prototype.value=Kq,Z.prototype.first=Z.prototype.head,vh&&(Z.prototype[vh]=Wq),Z},ul=Hj();ni?((ni.exports=ul)._=ul,qn._=ul):Sr._=ul}).call(o8)})(_B,_B.exports);var UBe=Object.defineProperty,FBe=Object.defineProperties,jBe=Object.getOwnPropertyDescriptors,Xce=Object.getOwnPropertySymbols,zBe=Object.prototype.hasOwnProperty,HBe=Object.prototype.propertyIsEnumerable,ele=(r,e,t)=>e in r?UBe(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,SS=(r,e)=>{for(var t in e||(e={}))zBe.call(e,t)&&ele(r,t,e[t]);if(Xce)for(var t of Xce(e))HBe.call(e,t)&&ele(r,t,e[t]);return r},qBe=(r,e)=>FBe(r,jBe(e));function w1(r,e,t){var n;const i=AMe(r);return((n=e.rpcMap)==null?void 0:n[i.reference])||`${LBe}?chainId=${i.namespace}:${i.reference}&projectId=${t}`}function Lm(r){return r.includes(":")?r.split(":")[1]:r}function tle(r){return r.map(e=>`${e.split(":")[0]}:${e.split(":")[1]}`)}function WBe(r,e){const t=Object.keys(e.namespaces).filter(i=>i.includes(r));if(!t.length)return[];const n=[];return t.forEach(i=>{const s=e.namespaces[i].accounts;n.push(...s)}),n}function rle(r={},e={}){const t=nle(r),n=nle(e);return _B.exports.merge(t,n)}function nle(r){var e,t,n,i;const s={};if(!K6(r))return s;for(const[o,a]of Object.entries(r)){const l=J$(o)?[o]:a.chains,u=a.methods||[],h=a.events||[],p=a.rpcMap||{},g=G6(o);s[g]=qBe(SS(SS({},s[g]),a),{chains:K$(l,(e=s[g])==null?void 0:e.chains),methods:K$(u,(t=s[g])==null?void 0:t.methods),events:K$(h,(n=s[g])==null?void 0:n.events),rpcMap:SS(SS({},p),(i=s[g])==null?void 0:i.rpcMap)})}return s}function VBe(r){return r.includes(":")?r.split(":")[2]:r}function GBe(r){const e={};for(const[t,n]of Object.entries(r)){const i=n.methods||[],s=n.events||[],o=n.accounts||[],a=J$(t)?[t]:n.chains?n.chains:tle(n.accounts);e[t]={chains:a,methods:i,events:s,accounts:o}}return e}function EB(r){return typeof r=="number"?r:r.includes("0x")?parseInt(r,16):(r=r.includes(":")?r.split(":")[1]:r,isNaN(Number(r))?r:Number(r))}const ile={},Vi=r=>ile[r],AB=(r,e)=>{ile[r]=e};let KBe=class{constructor(e){this.name="polkadot",this.namespace=e.namespace,this.events=Vi("events"),this.client=Vi("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;const e=this.namespace.chains[0];if(!e)throw new 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(Jd.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getAccounts(){const e=this.namespace.accounts;return e?e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2])||[]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var n;const i=Lm(t);e[i]=this.createHttpProvider(i,(n=this.namespace.rpcMap)==null?void 0:n[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){const n=t||w1(e,this.namespace,this.client.core.projectId);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new xo(new ma(n,Vi("disableProviderPing")))}},ZBe=class{constructor(e){this.name="eip155",this.namespace=e.namespace,this.events=Vi("events"),this.client=Vi("client"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(e){switch(e.request.method){case"eth_requestAccounts":return this.getAccounts();case"eth_accounts":return this.getAccounts();case"wallet_switchEthereumChain":return await this.handleSwitchChain(e);case"eth_chainId":return parseInt(this.getDefaultChain())}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(Jd.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}createHttpProvider(e,t){const n=t||w1(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new xo(new ma(n,Vi("disableProviderPing")))}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var n;const i=parseInt(Lm(t));e[i]=this.createHttpProvider(i,(n=this.namespace.rpcMap)==null?void 0:n[t])}),e}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}getHttpProvider(){const e=this.chainId,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}async handleSwitchChain(e){var t,n;let i=e.request.params?(t=e.request.params[0])==null?void 0:t.chainId:"0x0";i=i.startsWith("0x")?i:`0x${i}`;const s=parseInt(i,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:i}]},chainId:(n=this.namespace.chains)==null?void 0:n[0]}),this.setDefaultChain(`${s}`);else throw new 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}`)}},JBe=class{constructor(e){this.name="solana",this.namespace=e.namespace,this.events=Vi("events"),this.client=Vi("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(Jd.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var n;const i=Lm(t);e[i]=this.createHttpProvider(i,(n=this.namespace.rpcMap)==null?void 0:n[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){const n=t||w1(e,this.namespace,this.client.core.projectId);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new xo(new ma(n,Vi("disableProviderPing")))}},YBe=class{constructor(e){this.name="cosmos",this.namespace=e.namespace,this.events=Vi("events"),this.client=Vi("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;const e=this.namespace.chains[0];if(!e)throw new 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(Jd.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var n;const i=Lm(t);e[i]=this.createHttpProvider(i,(n=this.namespace.rpcMap)==null?void 0:n[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){const n=t||w1(e,this.namespace,this.client.core.projectId);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new xo(new ma(n,Vi("disableProviderPing")))}},QBe=class{constructor(e){this.name="cip34",this.namespace=e.namespace,this.events=Vi("events"),this.client=Vi("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;const e=this.namespace.chains[0];if(!e)throw new 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(Jd.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{const n=this.getCardanoRPCUrl(t),i=Lm(t);e[i]=this.createHttpProvider(i,n)}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}getCardanoRPCUrl(e){const t=this.namespace.rpcMap;if(t)return t[e]}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){const n=t||this.getCardanoRPCUrl(e);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new xo(new ma(n,Vi("disableProviderPing")))}},XBe=class{constructor(e){this.name="elrond",this.namespace=e.namespace,this.events=Vi("events"),this.client=Vi("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(Jd.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var n;const i=Lm(t);e[i]=this.createHttpProvider(i,(n=this.namespace.rpcMap)==null?void 0:n[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){const n=t||w1(e,this.namespace,this.client.core.projectId);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new xo(new ma(n,Vi("disableProviderPing")))}},eLe=class{constructor(e){this.name="multiversx",this.namespace=e.namespace,this.events=Vi("events"),this.client=Vi("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(Jd.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var n;const i=Lm(t);e[i]=this.createHttpProvider(i,(n=this.namespace.rpcMap)==null?void 0:n[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){const n=t||w1(e,this.namespace,this.client.core.projectId);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new xo(new ma(n,Vi("disableProviderPing")))}},tLe=class{constructor(e){this.name="near",this.namespace=e.namespace,this.events=Vi("events"),this.client=Vi("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;const e=this.namespace.chains[0];if(!e)throw new 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]){const n=t||w1(`${this.name}:${e}`,this.namespace);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,n)}this.events.emit(Jd.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2])||[]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var n;e[t]=this.createHttpProvider(t,(n=this.namespace.rpcMap)==null?void 0:n[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){const n=t||w1(e,this.namespace);return typeof n>"u"?void 0:new xo(new ma(n,Vi("disableProviderPing")))}};var rLe=Object.defineProperty,nLe=Object.defineProperties,iLe=Object.getOwnPropertyDescriptors,sle=Object.getOwnPropertySymbols,sLe=Object.prototype.hasOwnProperty,oLe=Object.prototype.propertyIsEnumerable,ole=(r,e,t)=>e in r?rLe(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,IS=(r,e)=>{for(var t in e||(e={}))sLe.call(e,t)&&ole(r,t,e[t]);if(sle)for(var t of sle(e))oLe.call(e,t)&&ole(r,t,e[t]);return r},CB=(r,e)=>nLe(r,iLe(e));const aLe=class Nge{constructor(e){this.events=new ty,this.rpcProviders={},this.shouldAbortPairingAttempt=!1,this.maxPairingAttempts=10,this.disableProviderPing=!1,this.providerOpts=e,this.logger=typeof(e==null?void 0:e.logger)<"u"&&typeof(e==null?void 0:e.logger)!="string"?e.logger:Hd(p1({level:(e==null?void 0:e.logger)||Yce})),this.disableProviderPing=(e==null?void 0:e.disableProviderPing)||!1}static async init(e){const t=new Nge(e);return await t.initialize(),t}async request(e,t,n){const[i,s]=this.validateChain(t);if(!this.session)throw new Error("Please call connect() before request()");return await this.getProvider(i).request({request:IS({},e),chainId:`${i}:${s}`,topic:this.session.topic,expiry:n})}sendAsync(e,t,n,i){const s=new Date().getTime();this.request(e,n,i).then(o=>t(null,m1(s,o))).catch(o=>t(o,void 0))}async enable(){if(!this.client)throw new Error("Sign Client not initialized");return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties}),await this.requestAccounts()}async disconnect(){var e;if(!this.session)throw new Error("Please call connect() before enable()");await this.client.disconnect({topic:(e=this.session)==null?void 0:e.topic,reason:Wi("USER_DISCONNECTED")}),await this.cleanup()}async connect(e){if(!this.client)throw new Error("Sign Client not initialized");if(this.setNamespaces(e),await this.cleanupPendingPairings(),!e.skipPairing)return await this.pair(e.pairingTopic)}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){this.shouldAbortPairingAttempt=!1;let t=0;do{if(this.shouldAbortPairingAttempt)throw new Error("Pairing aborted");if(t>=this.maxPairingAttempts)throw new Error("Max auto pairing attempts reached");const{uri:n,approval:i}=await this.client.connect({pairingTopic:e,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties});n&&(this.uri=n,this.events.emit("display_uri",n)),await i().then(s=>{this.session=s;const o=GBe(s.namespaces);this.namespaces=rle(this.namespaces,o),this.persist("namespaces",this.namespaces)}).catch(s=>{if(s.message!==Wce)throw s;t++})}while(!this.session);return this.onConnect(),this.session}setDefaultChain(e,t){try{if(!this.session)return;const[n,i]=this.validateChain(e);this.getProvider(n).setDefaultChain(i,t)}catch(n){if(!/Please call connect/.test(n.message))throw n}}async cleanupPendingPairings(e={}){this.logger.info("Cleaning up inactive pairings...");const t=this.client.pairing.getAll();if(pf(t)){for(const n of t)e.deletePairings?this.client.core.expirer.set(n.topic,0):await this.client.core.relayer.subscriber.unsubscribe(n.topic);this.logger.info(`Inactive pairings cleared: ${t.length}`)}}abortPairingAttempt(){this.shouldAbortPairingAttempt=!0}async checkStorage(){if(this.namespaces=await this.getFromStore("namespaces"),this.optionalNamespaces=await this.getFromStore("optionalNamespaces")||{},this.client.session.length){const 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 PBe.init({logger:this.providerOpts.logger||Yce,relayUrl:this.providerOpts.relayUrl||DBe,projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name}),this.logger.trace("SignClient Initialized")}createProviders(){if(!this.client)throw new Error("Sign Client not initialized");if(!this.session)throw new Error("Session not initialized. Please call connect() before enable()");const e=[...new Set(Object.keys(this.session.namespaces).map(t=>G6(t)))];AB("client",this.client),AB("events",this.events),AB("disableProviderPing",this.disableProviderPing),e.forEach(t=>{if(!this.session)return;const n=WBe(t,this.session),i=tle(n),s=rle(this.namespaces,this.optionalNamespaces),o=CB(IS({},s[t]),{accounts:n,chains:i});switch(t){case"eip155":this.rpcProviders[t]=new ZBe({namespace:o});break;case"solana":this.rpcProviders[t]=new JBe({namespace:o});break;case"cosmos":this.rpcProviders[t]=new YBe({namespace:o});break;case"polkadot":this.rpcProviders[t]=new KBe({namespace:o});break;case"cip34":this.rpcProviders[t]=new QBe({namespace:o});break;case"elrond":this.rpcProviders[t]=new XBe({namespace:o});break;case"multiversx":this.rpcProviders[t]=new eLe({namespace:o});break;case"near":this.rpcProviders[t]=new tLe({namespace:o});break}})}registerEventListeners(){if(typeof this.client>"u")throw new Error("Sign Client is not initialized");this.client.on("session_ping",e=>{this.events.emit("session_ping",e)}),this.client.on("session_event",e=>{const{params:t}=e,{event:n}=t;if(n.name==="accountsChanged"){const i=n.data;i&&pf(i)&&this.events.emit("accountsChanged",i.map(VBe))}else if(n.name==="chainChanged"){const i=t.chainId,s=t.event.data,o=G6(i),a=EB(i)!==EB(s)?`${o}:${EB(s)}`:i;this.onChainChanged(a)}else this.events.emit(n.name,n.data);this.events.emit("session_event",e)}),this.client.on("session_update",({topic:e,params:t})=>{var n;const{namespaces:i}=t,s=(n=this.client)==null?void 0:n.session.get(e);this.session=CB(IS({},s),{namespaces:i}),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",CB(IS({},Wi("USER_DISCONNECTED")),{data:e.topic}))}),this.on(Jd.DEFAULT_CHAIN_CHANGED,e=>{this.onChainChanged(e,!0)})}getProvider(e){if(!this.rpcProviders[e])throw new Error(`Provider not found: ${e}`);return this.rpcProviders[e]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(e=>{var t;this.getProvider(e).updateNamespace((t=this.session)==null?void 0:t.namespaces[e])})}setNamespaces(e){const{namespaces:t,optionalNamespaces:n,sessionProperties:i}=e;t&&Object.keys(t).length&&(this.namespaces=t),n&&Object.keys(n).length&&(this.optionalNamespaces=n),this.sessionProperties=i,this.persist("namespaces",t),this.persist("optionalNamespaces",n)}validateChain(e){const[t,n]=(e==null?void 0:e.split(":"))||["",""];if(!this.namespaces||!Object.keys(this.namespaces).length)return[t,n];if(t&&!Object.keys(this.namespaces||{}).map(o=>G6(o)).includes(t))throw new Error(`Namespace '${t}' is not configured. Please call connect() first with namespace config.`);if(t&&n)return[t,n];const i=G6(Object.keys(this.namespaces)[0]),s=this.rpcProviders[i].getDefaultChain();return[i,s]}async requestAccounts(){const[e]=this.validateChain();return await this.getProvider(e).requestAccounts()}onChainChanged(e,t=!1){if(!this.namespaces)return;const[n,i]=this.validateChain(e);i&&(t||this.getProvider(n).setDefaultChain(i),this.namespaces[n]?this.namespaces[n].defaultChain=i:this.namespaces[`${n}:${i}`]?this.namespaces[`${n}:${i}`].defaultChain=i:this.namespaces[`${n}:${i}`]={defaultChain:i},this.persist("namespaces",this.namespaces),this.events.emit("chainChanged",i))}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(`${Qce}/${e}`,t)}async getFromStore(e){return await this.client.core.storage.getItem(`${Qce}/${e}`)}},cLe="wc",lLe="ethereum_provider",uLe=`${cLe}@2:${lLe}:`,hLe="https://rpc.walletconnect.com/v1/",SB=["eth_sendTransaction","personal_sign"],fLe=["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"],IB=["chainChanged","accountsChanged"],dLe=["chainChanged","accountsChanged","message","disconnect","connect"];var pLe=Object.defineProperty,gLe=Object.defineProperties,mLe=Object.getOwnPropertyDescriptors,ale=Object.getOwnPropertySymbols,bLe=Object.prototype.hasOwnProperty,wLe=Object.prototype.propertyIsEnumerable,cle=(r,e,t)=>e in r?pLe(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,a8=(r,e)=>{for(var t in e||(e={}))bLe.call(e,t)&&cle(r,t,e[t]);if(ale)for(var t of ale(e))wLe.call(e,t)&&cle(r,t,e[t]);return r},lle=(r,e)=>gLe(r,mLe(e));function RS(r){return Number(r[0].split(":")[1])}function RB(r){return`0x${r.toString(16)}`}function vLe(r){const{chains:e,optionalChains:t,methods:n,optionalMethods:i,events:s,optionalEvents:o,rpcMap:a}=r;if(!pf(e))throw new Error("Invalid chains");const l={chains:e,methods:n||SB,events:s||IB,rpcMap:a8({},e.length?{[RS(e)]:a[RS(e)]}:{})},u=s==null?void 0:s.filter(w=>!IB.includes(w)),h=n==null?void 0:n.filter(w=>!SB.includes(w));if(!t&&!o&&!i&&!(u!=null&&u.length)&&!(h!=null&&h.length))return{required:e.length?l:void 0};const p=(u==null?void 0:u.length)&&(h==null?void 0:h.length)||!t,g={chains:[...new Set(p?l.chains.concat(t||[]):t)],methods:[...new Set(l.methods.concat(i!=null&&i.length?i:fLe))],events:[...new Set(l.events.concat(o!=null&&o.length?o:dLe))],rpcMap:a};return{required:e.length?l:void 0,optional:t.length?g:void 0}}let yLe=class Pge{constructor(){this.events=new fi.EventEmitter,this.namespace="eip155",this.accounts=[],this.chainId=1,this.STORAGE_KEY=uLe,this.on=(e,t)=>(this.events.on(e,t),this),this.once=(e,t)=>(this.events.once(e,t),this),this.removeListener=(e,t)=>(this.events.removeListener(e,t),this),this.off=(e,t)=>(this.events.off(e,t),this),this.parseAccount=e=>this.isCompatibleChainId(e)?this.parseAccountId(e).address:e,this.signer={},this.rpc={}}static async init(e){const t=new Pge;return await t.initialize(e),t}async request(e,t){return await this.signer.request(e,this.formatChainId(this.chainId),t)}sendAsync(e,t,n){this.signer.sendAsync(e,t,this.formatChainId(this.chainId),n)}get connected(){return this.signer.client?this.signer.client.core.relayer.connected:!1}get connecting(){return this.signer.client?this.signer.client.core.relayer.connecting:!1}async enable(){return this.session||await this.connect(),await this.request({method:"eth_requestAccounts"})}async connect(e){if(!this.signer.client)throw new Error("Provider not initialized. Call init() first");this.loadConnectOpts(e);const{required:t,optional:n}=vLe(this.rpc);try{const i=await new Promise(async(o,a)=>{var l;this.rpc.showQrModal&&((l=this.modal)==null||l.subscribeModal(u=>{!u.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),a(new Error("Connection request reset. Please try again.")))})),await this.signer.connect(lle(a8({namespaces:a8({},t&&{[this.namespace]:t})},n&&{optionalNamespaces:{[this.namespace]:n}}),{pairingTopic:e==null?void 0:e.pairingTopic})).then(u=>{o(u)}).catch(u=>{a(new Error(u.message))})});if(!i)return;const s=CMe(i.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:s),this.setAccounts(s),this.events.emit("connect",{chainId:RB(this.chainId)})}catch(i){throw this.signer.logger.error(i),i}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=>{const{params:t}=e,{event:n}=t;n.name==="accountsChanged"?(this.accounts=this.parseAccounts(n.data),this.events.emit("accountsChanged",this.accounts)):n.name==="chainChanged"?this.setChainId(this.formatChainId(n.data)):this.events.emit(n.name,n.data),this.events.emit("session_event",e)}),this.signer.on("chainChanged",e=>{const t=parseInt(e);this.chainId=t,this.events.emit("chainChanged",RB(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",lle(a8({},Wi("USER_DISCONNECTED")),{data:e.topic,name:"USER_DISCONNECTED"}))}),this.signer.on("display_uri",e=>{var t,n;this.rpc.showQrModal&&((t=this.modal)==null||t.closeModal(),(n=this.modal)==null||n.openModal({uri:e})),this.events.emit("display_uri",e)})}switchEthereumChain(e){this.request({method:"wallet_switchEthereumChain",params:[{chainId:e.toString(16)}]})}isCompatibleChainId(e){return typeof e=="string"?e.startsWith(`${this.namespace}:`):!1}formatChainId(e){return`${this.namespace}:${e}`}parseChainId(e){return Number(e.split(":")[1])}setChainIds(e){const t=e.filter(n=>this.isCompatibleChainId(n)).map(n=>this.parseChainId(n));t.length&&(this.chainId=t[0],this.events.emit("chainChanged",RB(this.chainId)),this.persist())}setChainId(e){if(this.isCompatibleChainId(e)){const t=this.parseChainId(e);this.chainId=t,this.switchEthereumChain(t)}}parseAccountId(e){const[t,n,i]=e.split(":");return{chainId:`${t}:${n}`,address:i}}setAccounts(e){this.accounts=e.filter(t=>this.parseChainId(this.parseAccountId(t).chainId)===this.chainId).map(t=>this.parseAccountId(t).address),this.events.emit("accountsChanged",this.accounts)}getRpcConfig(e){var t,n;const i=(t=e==null?void 0:e.chains)!=null?t:[],s=(n=e==null?void 0:e.optionalChains)!=null?n:[],o=i.concat(s);if(!o.length)throw new Error("No chains specified in either `chains` or `optionalChains`");const a=i.length?(e==null?void 0:e.methods)||SB:[],l=i.length?(e==null?void 0:e.events)||IB:[],u=(e==null?void 0:e.optionalMethods)||[],h=(e==null?void 0:e.optionalEvents)||[],p=(e==null?void 0:e.rpcMap)||this.buildRpcMap(o,e.projectId),g=(e==null?void 0:e.qrModalOptions)||void 0;return{chains:i==null?void 0:i.map(w=>this.formatChainId(w)),optionalChains:s.map(w=>this.formatChainId(w)),methods:a,events:l,optionalMethods:u,optionalEvents:h,rpcMap:p,showQrModal:!!(e!=null&&e.showQrModal),qrModalOptions:g,projectId:e.projectId,metadata:e.metadata}}buildRpcMap(e,t){const n={};return e.forEach(i=>{n[i]=this.getRpcUrl(i,t)}),n}async initialize(e){if(this.rpc=this.getRpcConfig(e),this.chainId=this.rpc.chains.length?RS(this.rpc.chains):RS(this.rpc.optionalChains),this.signer=await aLe.init({projectId:this.rpc.projectId,metadata:this.rpc.metadata,disableProviderPing:e.disableProviderPing,relayUrl:e.relayUrl,storageOptions:e.storageOptions}),this.registerEventListeners(),await this.loadPersistedSession(),this.rpc.showQrModal){let t;try{const{WalletConnectModal:n}=await Promise.resolve().then(()=>l1e);t=n}catch{throw new Error("To use QR modal, please install @walletconnect/modal package")}if(t)try{this.modal=new t(a8({projectId:this.rpc.projectId},this.rpc.qrModalOptions))}catch(n){throw this.signer.logger.error(n),new Error("Could not generate WalletConnectModal Instance")}}}loadConnectOpts(e){if(!e)return;const{chains:t,optionalChains:n,rpcMap:i}=e;t&&pf(t)&&(this.rpc.chains=t.map(s=>this.formatChainId(s)),t.forEach(s=>{this.rpc.rpcMap[s]=(i==null?void 0:i[s])||this.getRpcUrl(s)})),n&&pf(n)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=n==null?void 0:n.map(s=>this.formatChainId(s)),n.forEach(s=>{this.rpc.rpcMap[s]=(i==null?void 0:i[s])||this.getRpcUrl(s)}))}getRpcUrl(e,t){var n;return((n=this.rpc.rpcMap)==null?void 0:n[e])||`${hLe}?chainId=eip155:${e}&projectId=${t||this.rpc.projectId}`}async loadPersistedSession(){if(!this.session)return;const 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==null?void 0:t.accounts),this.setAccounts(t==null?void 0:t.accounts)}reset(){this.chainId=1,this.accounts=[]}persist(){this.session&&this.signer.client.core.storage.setItem(`${this.STORAGE_KEY}/chainId`,this.chainId)}parseAccounts(e){return typeof e=="string"||e instanceof String?[this.parseAccount(e)]:e.map(t=>this.parseAccount(t))}};const xn={WALLET_ID:"@w3m/wallet_id",ERROR_CODE_UNRECOGNIZED_CHAIN_ID:4902,ERROR_CODE_DEFAULT:5e3},_o={getCaipDefaultChain(r){if(r)return{id:`${Jt.EIP155}:${r.chainId}`,name:r.name,imageId:fa.EIP155NetworkImageIds[r.chainId]}},hexStringToNumber(r){const e=r.startsWith("0x")?r.slice(2):r;return parseInt(e,16)},numberToHexString(r){return`0x${r.toString(16)}`},async getUserInfo(r){const[e,t]=await Promise.all([_o.getAddress(r),_o.getChainId(r)]);return{chainId:t,address:e}},async getChainId(r){const e=await r.request({method:"eth_chainId"});return Number(e)},async getAddress(r){const[e]=await r.request({method:"eth_accounts"});return e},async addEthereumChain(r,e){await r.request({method:"wallet_addEthereumChain",params:[{chainId:_o.numberToHexString(e.chainId),rpcUrls:[e.rpcUrl],chainName:e.name,nativeCurrency:{name:e.currency,decimals:18,symbol:e.currency},blockExplorerUrls:[e.explorerUrl],iconUrls:[fa.EIP155NetworkImageIds[e.chainId]]}]})}},Eo=wi({provider:void 0,providerType:void 0,address:void 0,chainId:void 0,isConnected:!1}),Et={state:Eo,subscribeKey(r,e){return Ra(Eo,r,e)},subscribe(r){return ls(Eo,()=>r(Eo))},setProvider(r){r&&(Eo.provider=jp(r))},setProviderType(r){Eo.providerType=r},setAddress(r){Eo.address=r},setPreferredAccountType(r){Eo.preferredAccountType=r},setChainId(r){Eo.chainId=r},setIsConnected(r){Eo.isConnected=r},setError(r){Eo.error=r},reset(){Eo.provider=void 0,Eo.address=void 0,Eo.chainId=void 0,Eo.providerType=void 0,Eo.isConnected=!1,Eo.error=void 0,Eo.preferredAccountType=void 0}};let xLe=class extends eIe{constructor(e){const{ethersConfig:t,siweConfig:n,chains:i,defaultChain:s,tokens:o,chainImages:a,_sdkVersion:l,...u}=e;if(!t)throw new Error("web3modal:constructor - ethersConfig is undefined");if(!u.projectId)throw new Error("web3modal:constructor - projectId is undefined");const h={switchCaipNetwork:async g=>{const w=F4.caipNetworkIdToNumber(g==null?void 0:g.id);if(w)try{Et.setError(void 0),await this.switchNetwork(w)}catch(y){throw Et.setError(y),new Error("networkControllerClient:switchCaipNetwork - unable to switch chain")}},getApprovedCaipNetworksData:async()=>new Promise(async g=>{var y,C,R,k;const w=localStorage.getItem(xn.WALLET_ID);if(w!=null&&w.includes(Jt.WALLET_CONNECT_CONNECTOR_ID)){const M=await this.getWalletConnectProvider();if(!M)throw new Error("networkControllerClient:getApprovedCaipNetworks - connector is undefined");const O=(C=(y=M.signer)==null?void 0:y.session)==null?void 0:C.namespaces,B=(R=O==null?void 0:O[Jt.EIP155])==null?void 0:R.methods,j=(k=O==null?void 0:O[Jt.EIP155])==null?void 0:k.chains,G={supportsAllNetworks:(B==null?void 0:B.includes(Jt.ADD_CHAIN_METHOD))??!1,approvedCaipNetworkIds:j};g(G)}else g({approvedCaipNetworkIds:void 0,supportsAllNetworks:!0})})},p={connectWalletConnect:async g=>{const w=await this.getWalletConnectProvider();if(!w)throw new Error("connectionControllerClient:getWalletConnectUri - provider is undefined");w.on("display_uri",y=>{g(y)}),await w.connect(),await this.setWalletConnectProvider()},connectExternal:async({id:g,info:w,provider:y})=>{if(g===Jt.INJECTED_CONNECTOR_ID){const C=t.injected;if(!C)throw new Error("connectionControllerClient:connectInjected - provider is undefined");try{Et.setError(void 0),await C.request({method:"eth_requestAccounts"}),this.setInjectedProvider(t)}catch(R){Et.setError(R)}}else if(g===Jt.EIP6963_CONNECTOR_ID&&w&&y)try{Et.setError(void 0),await y.request({method:"eth_requestAccounts"}),this.setEIP6963Provider(y,w.name)}catch(C){Et.setError(C)}else if(g===Jt.COINBASE_CONNECTOR_ID){const C=t.coinbase;if(!C)throw new Error("connectionControllerClient:connectCoinbase - connector is undefined");try{Et.setError(void 0),await C.request({method:"eth_requestAccounts"}),this.setCoinbaseProvider(t)}catch(R){Et.setError(R)}}else g===Jt.EMAIL_CONNECTOR_ID&&this.setEmailProvider()},checkInstalled(g){return g?t.injected&&!(window!=null&&window.ethereum)?!1:g.some(w=>{var y;return!!((y=window.ethereum)!=null&&y[String(w)])}):!!window.ethereum},disconnect:async()=>{var y;const g=Et.state.provider,w=Et.state.providerType;localStorage.removeItem(xn.WALLET_ID),Et.reset(),w===Jt.WALLET_CONNECT_CONNECTOR_ID?await g.disconnect():w!==Jt.EMAIL_CONNECTOR_ID?g==null||g.emit("disconnect"):await((y=this.emailProvider)==null?void 0:y.disconnect())},signMessage:async g=>{const w=Et.state.provider;if(!w)throw new Error("connectionControllerClient:signMessage - provider is undefined");return await w.request({method:"personal_sign",params:[g,this.getAddress()]})},parseUnits:(g,w)=>_E(g,w),formatUnits:(g,w)=>xE(g,w),async estimateGas(g){const w=Et.state.chainId,y=Et.state.provider,C=Et.state.address;if(!y)throw new Error("connectionControllerClient:sendTransaction - provider is undefined");if(!C)throw new Error("connectionControllerClient:sendTransaction - address is undefined");const R={from:g.address,to:g.to,data:g.data,type:0},k=new mA(y,w);return await new Pg(k,C).estimateGas(R)},sendTransaction:async g=>{const w=Et.state.chainId,y=Et.state.provider,C=Et.state.address;if(!y)throw new Error("connectionControllerClient:sendTransaction - provider is undefined");if(!C)throw new Error("connectionControllerClient:sendTransaction - address is undefined");const R={to:g.to,value:g.value,gasLimit:g.gas,gasPrice:g.gasPrice,data:g.data,type:0},k=new mA(y,w),B=await(await new Pg(k,C).sendTransaction(R)).wait();return(B==null?void 0:B.hash)||null}};super({networkControllerClient:h,connectionControllerClient:p,siweControllerClient:n,defaultChain:_o.getCaipDefaultChain(s),tokens:$Ce.getCaipTokens(o),_sdkVersion:l??`html-ethers-${Jt.VERSION}`,...u}),this.hasSyncedConnectedAccount=!1,this.EIP6963Providers=[],this.options=void 0,this.options=e,this.metadata=t.metadata,this.projectId=u.projectId,this.chains=i,this.createProvider(),Et.subscribeKey("address",()=>{this.syncAccount()}),Et.subscribeKey("chainId",()=>{this.syncNetwork(a)}),this.syncRequestedNetworks(i,a),this.syncConnectors(t),t.EIP6963&&typeof window<"u"&&(this.listenConnectors(t.EIP6963),this.checkActive6963Provider()),t.email&&this.syncEmailConnector(u.projectId),t.injected&&this.checkActiveInjectedProvider(t),t.coinbase&&this.checkActiveCoinbaseProvider(t)}getState(){const e=super.getState();return{...e,selectedNetworkId:F4.caipNetworkIdToNumber(e.selectedNetworkId)}}subscribeState(e){return super.subscribeState(t=>e({...t,selectedNetworkId:F4.caipNetworkIdToNumber(t.selectedNetworkId)}))}setAddress(e){const t=e?jr(e):void 0;Et.setAddress(t)}getAddress(){const{address:e}=Et.state;return e?jr(e):void 0}getError(){return Et.state.error}getChainId(){return Et.state.chainId}getIsConnected(){return Et.state.isConnected}getWalletProvider(){return Et.state.provider}getWalletProviderType(){return Et.state.providerType}subscribeProvider(e){return Et.subscribe(e)}async disconnect(){const{provider:e,providerType:t}=Et.state;if(localStorage.removeItem(xn.WALLET_ID),Et.reset(),t==="injected"||t==="eip6963")e==null||e.emit("disconnect");else{const n=e;if(n)try{Et.setError(void 0),await n.disconnect()}catch(i){Et.setError(i)}}}createProvider(){return!this.walletConnectProviderInitPromise&&typeof window<"u"&&(this.walletConnectProviderInitPromise=this.initWalletConnectProvider()),this.walletConnectProviderInitPromise}async initWalletConnectProvider(){const e={projectId:this.projectId,showQrModal:!1,rpcMap:this.chains?this.chains.reduce((t,n)=>(t[n.chainId]=n.rpcUrl,t),{}):{},optionalChains:[...this.chains.map(t=>t.chainId)],metadata:{name:this.metadata?this.metadata.name:"",description:this.metadata?this.metadata.description:"",url:this.metadata?this.metadata.url:"",icons:this.metadata?this.metadata.icons:[""]}};this.walletConnectProvider=await yLe.init(e),await this.checkActiveWalletConnectProvider()}async getWalletConnectProvider(){if(!this.walletConnectProvider)try{Et.setError(void 0),await this.createProvider()}catch(e){Et.setError(e)}return this.walletConnectProvider}syncRequestedNetworks(e,t){const n=e==null?void 0:e.map(i=>({id:`${Jt.EIP155}:${i.chainId}`,name:i.name,imageId:fa.EIP155NetworkImageIds[i.chainId],imageUrl:t==null?void 0:t[i.chainId]}));this.setRequestedCaipNetworks(n??[])}async checkActiveWalletConnectProvider(){const e=await this.getWalletConnectProvider(),t=localStorage.getItem(xn.WALLET_ID);e&&t===Jt.WALLET_CONNECT_CONNECTOR_ID&&await this.setWalletConnectProvider()}checkActiveInjectedProvider(e){const t=e.injected,n=localStorage.getItem(xn.WALLET_ID);t&&n===Jt.INJECTED_CONNECTOR_ID&&(this.setInjectedProvider(e),this.watchInjected(e))}checkActiveCoinbaseProvider(e){var i;const t=e.coinbase,n=localStorage.getItem(xn.WALLET_ID);t&&n===Jt.COINBASE_CONNECTOR_ID&&(t._addresses&&((i=t._addresses)==null?void 0:i.length)>0?(this.setCoinbaseProvider(e),this.watchCoinbase(e)):(localStorage.removeItem(xn.WALLET_ID),Et.reset()))}checkActive6963Provider(){const e=window==null?void 0:window.localStorage.getItem(xn.WALLET_ID);if(e){const t=this.EIP6963Providers.find(n=>n.info.name===e);t&&this.setEIP6963Provider(t.provider,t.info.name)}}async setWalletConnectProvider(){var t;window==null||window.localStorage.setItem(xn.WALLET_ID,Jt.WALLET_CONNECT_CONNECTOR_ID);const e=await this.getWalletConnectProvider();e&&(Et.setChainId(e.chainId),Et.setProviderType("walletConnect"),Et.setProvider(e),Et.setIsConnected(!0),this.setAddress((t=e.accounts)==null?void 0:t[0]),this.watchWalletConnect())}async setInjectedProvider(e){window==null||window.localStorage.setItem(xn.WALLET_ID,Jt.INJECTED_CONNECTOR_ID);const t=e.injected;if(t){const{address:n,chainId:i}=await _o.getUserInfo(t);n&&i&&(Et.setChainId(i),Et.setProviderType("injected"),Et.setProvider(e.injected),Et.setIsConnected(!0),this.setAddress(n),this.watchCoinbase(e))}}async setEIP6963Provider(e,t){if(window==null||window.localStorage.setItem(xn.WALLET_ID,t),e){const{address:n,chainId:i}=await _o.getUserInfo(e);n&&i&&(Et.setChainId(i),Et.setProviderType("eip6963"),Et.setProvider(e),Et.setIsConnected(!0),this.setAddress(n),this.watchEIP6963(e))}}async setCoinbaseProvider(e){window==null||window.localStorage.setItem(xn.WALLET_ID,Jt.COINBASE_CONNECTOR_ID);const t=e.coinbase;if(t){const{address:n,chainId:i}=await _o.getUserInfo(t);n&&i&&(Et.setChainId(i),Et.setProviderType("coinbaseWallet"),Et.setProvider(e.coinbase),Et.setIsConnected(!0),this.setAddress(n),this.watchCoinbase(e))}}async setEmailProvider(){if(window==null||window.localStorage.setItem(xn.WALLET_ID,Jt.EMAIL_CONNECTOR_ID),this.emailProvider){const{address:e,chainId:t,smartAccountDeployed:n,preferredAccountType:i}=await this.emailProvider.connect({chainId:this.getChainId()}),{smartAccountEnabledNetworks:s}=await this.emailProvider.getSmartAccountEnabledNetworks();this.setSmartAccountEnabledNetworks(s),e&&t&&(Et.setChainId(t),Et.setProviderType(Jt.EMAIL_CONNECTOR_ID),Et.setProvider(this.emailProvider),Et.setIsConnected(!0),Et.setAddress(e),Et.setPreferredAccountType(i),this.setSmartAccountDeployed(!!n),this.watchEmail(),this.watchModal()),super.setLoading(!1)}}async watchWalletConnect(){const e=await this.getWalletConnectProvider();function t(){localStorage.removeItem(xn.WALLET_ID),Et.reset(),e==null||e.removeListener("disconnect",t),e==null||e.removeListener("accountsChanged",i),e==null||e.removeListener("chainChanged",n)}function n(s){if(s){const o=_o.hexStringToNumber(s);Et.setChainId(o)}}const i=async s=>{s.length>0&&await this.setWalletConnectProvider()};e&&(e.on("disconnect",t),e.on("accountsChanged",i),e.on("chainChanged",n))}watchInjected(e){const t=e.injected;function n(){localStorage.removeItem(xn.WALLET_ID),Et.reset(),t==null||t.removeListener("disconnect",n),t==null||t.removeListener("accountsChanged",i),t==null||t.removeListener("chainChanged",s)}function i(o){const a=o==null?void 0:o[0];a?Et.setAddress(jr(a)):(localStorage.removeItem(xn.WALLET_ID),Et.reset())}function s(o){if(o){const a=typeof o=="string"?_o.hexStringToNumber(o):Number(o);Et.setChainId(a)}}t&&(t.on("disconnect",n),t.on("accountsChanged",i),t.on("chainChanged",s))}watchEIP6963(e){function t(){localStorage.removeItem(xn.WALLET_ID),Et.reset(),e.removeListener("disconnect",t),e.removeListener("accountsChanged",n),e.removeListener("chainChanged",i)}function n(s){const o=s==null?void 0:s[0];o?Et.setAddress(jr(o)):(localStorage.removeItem(xn.WALLET_ID),Et.reset())}function i(s){if(s){const o=typeof s=="string"?_o.hexStringToNumber(s):Number(s);Et.setChainId(o)}}e&&(e.on("disconnect",t),e.on("accountsChanged",n),e.on("chainChanged",i))}watchCoinbase(e){const t=e.coinbase,n=localStorage.getItem(xn.WALLET_ID);function i(){localStorage.removeItem(xn.WALLET_ID),Et.reset(),t==null||t.removeListener("disconnect",i),t==null||t.removeListener("accountsChanged",s),t==null||t.removeListener("chainChanged",o)}function s(a){const l=a==null?void 0:a[0];l?Et.setAddress(jr(l)):(localStorage.removeItem(xn.WALLET_ID),Et.reset())}function o(a){if(a&&n===Jt.COINBASE_CONNECTOR_ID){const l=Number(a);Et.setChainId(l)}}t&&(t.on("disconnect",i),t.on("accountsChanged",s),t.on("chainChanged",o))}watchEmail(){this.emailProvider&&(this.emailProvider.onRpcRequest(e=>{if(po.checkIfRequestExists(e))po.checkIfRequestIsAllowed(e)||(super.isOpen()?super.isTransactionStackEmpty()||super.redirect("ApproveTransaction"):super.open({view:"ApproveTransaction"}));else{super.open();const t=po.getRequestMethod(e);console.error(Pa.RPC_METHOD_NOT_ALLOWED_MESSAGE,{method:t}),setTimeout(()=>{this.showErrorMessage(Pa.RPC_METHOD_NOT_ALLOWED_UI_MESSAGE)},300)}}),this.emailProvider.onRpcResponse(e=>{switch(po.getResponseType(e)){case Pt.RPC_RESPONSE_TYPE_ERROR:{super.isOpen()&&(super.isTransactionStackEmpty()?super.close():super.popTransactionStack(!0));break}case Pt.RPC_RESPONSE_TYPE_TX:{super.isTransactionStackEmpty()?super.close():super.popTransactionStack();break}}}),this.emailProvider.onNotConnected(()=>{this.setIsConnected(!1),super.setLoading(!1)}),this.emailProvider.onIsConnected(({preferredAccountType:e})=>{this.setIsConnected(!0),super.setLoading(!1),Et.setPreferredAccountType(e)}),this.emailProvider.onSetPreferredAccount(({address:e,type:t})=>{var i;if(!e)return;const n=F4.caipNetworkIdToNumber((i=this.getCaipNetwork())==null?void 0:i.id);Et.setAddress(e),Et.setChainId(n),Et.setIsConnected(!0),Et.setPreferredAccountType(t),this.syncAccount()}))}watchModal(){this.emailProvider&&this.subscribeState(e=>{var t;e.open||(t=this.emailProvider)==null||t.rejectRpcRequest()})}async syncAccount(){const e=Et.state.address,t=Et.state.chainId,n=Et.state.isConnected,i=Et.state.preferredAccountType;if(this.resetAccount(),n&&e&&t){const s=`${Jt.EIP155}:${t}:${e}`;this.setIsConnected(n),this.setPreferredAccountType(i),this.setCaipAddress(s),this.syncConnectedWalletInfo(),await Promise.all([this.syncProfile(e),this.syncBalance(e),this.getApprovedCaipNetworksData()]),this.hasSyncedConnectedAccount=!0}else!n&&this.hasSyncedConnectedAccount&&(this.resetWcConnection(),this.resetNetwork())}async syncNetwork(e){const t=Et.state.address,n=Et.state.chainId,i=Et.state.isConnected;if(this.chains){const s=this.chains.find(o=>o.chainId===n);if(s){const o=`${Jt.EIP155}:${s.chainId}`;if(this.setCaipNetwork({id:o,name:s.name,imageId:fa.EIP155NetworkImageIds[s.chainId],imageUrl:e==null?void 0:e[s.chainId]}),i&&t){const a=`${Jt.EIP155}:${n}:${t}`;if(this.setCaipAddress(a),s.explorerUrl){const l=`${s.explorerUrl}/address/${t}`;this.setAddressExplorerUrl(l)}else this.setAddressExplorerUrl(void 0);this.hasSyncedConnectedAccount&&(await this.syncProfile(t),await this.syncBalance(t))}}else i&&this.setCaipNetwork({id:`${Jt.EIP155}:${n}`})}}async syncProfile(e){const t=Et.state.chainId;try{const{name:n,avatar:i}=await this.fetchIdentity({address:e});this.setProfileName(n),this.setProfileImage(i)}catch{if(t===1){const n=new Bp("mainnet"),i=await n.lookupAddress(e),s=await n.getAvatar(e);i&&this.setProfileName(i),s&&this.setProfileImage(s)}else this.setProfileName(null),this.setProfileImage(null)}}async syncBalance(e){const t=Et.state.chainId;if(t&&this.chains){const n=this.chains.find(i=>i.chainId===t);if(n){const i=new Ol(n.rpcUrl,{chainId:t,name:n.name});if(i){const s=await i.getBalance(e),o=ik(s);this.setBalance(o,n.currency)}}}}syncConnectedWalletInfo(){var n;const e=window==null?void 0:window.localStorage.getItem(xn.WALLET_ID),t=Et.state.providerType;if(t===Jt.EIP6963_CONNECTOR_ID){if(e){const i=this.EIP6963Providers.find(s=>s.info.name===e);i&&this.setConnectedWalletInfo({...i.info})}}else if(t===Jt.WALLET_CONNECT_CONNECTOR_ID){const i=Et.state.provider;i.session&&this.setConnectedWalletInfo({...i.session.peer.metadata,name:i.session.peer.metadata.name,icon:(n=i.session.peer.metadata.icons)==null?void 0:n[0]})}else e&&this.setConnectedWalletInfo({name:e})}async switchNetwork(e){var i,s,o,a,l,u,h,p;const t=Et.state.provider,n=Et.state.providerType;if(this.chains){const g=this.chains.find(w=>w.chainId===e);if(n===Jt.WALLET_CONNECT_CONNECTOR_ID&&g){const w=t;if(w)try{await w.request({method:"wallet_switchEthereumChain",params:[{chainId:_o.numberToHexString(g.chainId)}]}),Et.setChainId(e)}catch(y){if(y.code===xn.ERROR_CODE_UNRECOGNIZED_CHAIN_ID||y.code===xn.ERROR_CODE_DEFAULT||((s=(i=y==null?void 0:y.data)==null?void 0:i.originalError)==null?void 0:s.code)===xn.ERROR_CODE_UNRECOGNIZED_CHAIN_ID)await _o.addEthereumChain(w,g);else throw new Error("Chain is not supported")}}else if(n===Jt.INJECTED_CONNECTOR_ID&&g){const w=t;if(w)try{await w.request({method:"wallet_switchEthereumChain",params:[{chainId:_o.numberToHexString(g.chainId)}]}),Et.setChainId(g.chainId)}catch(y){if(y.code===xn.ERROR_CODE_UNRECOGNIZED_CHAIN_ID||y.code===xn.ERROR_CODE_DEFAULT||((a=(o=y==null?void 0:y.data)==null?void 0:o.originalError)==null?void 0:a.code)===xn.ERROR_CODE_UNRECOGNIZED_CHAIN_ID)await _o.addEthereumChain(w,g);else throw new Error("Chain is not supported")}}else if(n===Jt.EIP6963_CONNECTOR_ID&&g){const w=t;if(w)try{await w.request({method:"wallet_switchEthereumChain",params:[{chainId:_o.numberToHexString(g.chainId)}]}),Et.setChainId(g.chainId)}catch(y){if(y.code===xn.ERROR_CODE_UNRECOGNIZED_CHAIN_ID||y.code===xn.ERROR_CODE_DEFAULT||((u=(l=y==null?void 0:y.data)==null?void 0:l.originalError)==null?void 0:u.code)===xn.ERROR_CODE_UNRECOGNIZED_CHAIN_ID)await _o.addEthereumChain(w,g);else throw new Error("Chain is not supported")}}else if(n===Jt.COINBASE_CONNECTOR_ID&&g){const w=t;if(w)try{await w.request({method:"wallet_switchEthereumChain",params:[{chainId:_o.numberToHexString(g.chainId)}]}),Et.setChainId(g.chainId)}catch(y){(y.code===xn.ERROR_CODE_UNRECOGNIZED_CHAIN_ID||y.code===xn.ERROR_CODE_DEFAULT||((p=(h=y==null?void 0:y.data)==null?void 0:h.originalError)==null?void 0:p.code)===xn.ERROR_CODE_UNRECOGNIZED_CHAIN_ID)&&await _o.addEthereumChain(w,g)}}else if(n===Jt.EMAIL_CONNECTOR_ID&&this.emailProvider&&g!=null&&g.chainId)try{await this.emailProvider.switchNetwork(g==null?void 0:g.chainId),Et.setChainId(g.chainId);const{address:w,preferredAccountType:y}=await this.emailProvider.connect({chainId:g==null?void 0:g.chainId});Et.setAddress(w),Et.setPreferredAccountType(y),await this.syncAccount()}catch{throw new Error("Switching chain failed")}}}syncConnectors(e){var i,s,o,a,l,u;const t=[],n=fa.ConnectorTypesMap[Jt.WALLET_CONNECT_CONNECTOR_ID];if(t.push({id:Jt.WALLET_CONNECT_CONNECTOR_ID,explorerId:fa.ConnectorExplorerIds[Jt.WALLET_CONNECT_CONNECTOR_ID],imageId:fa.ConnectorImageIds[Jt.WALLET_CONNECT_CONNECTOR_ID],imageUrl:(s=(i=this.options)==null?void 0:i.connectorImages)==null?void 0:s[Jt.WALLET_CONNECT_CONNECTOR_ID],name:fa.ConnectorNamesMap[Jt.WALLET_CONNECT_CONNECTOR_ID],type:n}),e.injected){const h=fa.ConnectorTypesMap[Jt.INJECTED_CONNECTOR_ID];t.push({id:Jt.INJECTED_CONNECTOR_ID,explorerId:fa.ConnectorExplorerIds[Jt.INJECTED_CONNECTOR_ID],imageId:fa.ConnectorImageIds[Jt.INJECTED_CONNECTOR_ID],imageUrl:(a=(o=this.options)==null?void 0:o.connectorImages)==null?void 0:a[Jt.INJECTED_CONNECTOR_ID],name:fa.ConnectorNamesMap[Jt.INJECTED_CONNECTOR_ID],type:h})}e.coinbase&&t.push({id:Jt.COINBASE_CONNECTOR_ID,explorerId:fa.ConnectorExplorerIds[Jt.COINBASE_CONNECTOR_ID],imageId:fa.ConnectorImageIds[Jt.COINBASE_CONNECTOR_ID],imageUrl:(u=(l=this.options)==null?void 0:l.connectorImages)==null?void 0:u[Jt.COINBASE_CONNECTOR_ID],name:fa.ConnectorNamesMap[Jt.COINBASE_CONNECTOR_ID],type:"EXTERNAL"}),this.setConnectors(t)}async syncEmailConnector(e){if(typeof window<"u"){this.emailProvider=new NCe(e),this.addConnector({id:Jt.EMAIL_CONNECTOR_ID,type:"EMAIL",name:"Email",provider:this.emailProvider}),super.setLoading(!0);const t=this.emailProvider.getLoginEmailUsed();super.setLoading(t);const{isConnected:n}=await this.emailProvider.isConnected();n?await this.setEmailProvider():super.setLoading(!1)}}eip6963EventHandler(e){var t,n;if(e.detail){const{info:i,provider:s}=e.detail;if(!this.getConnectors().find(l=>l.name===i.name)){const l=fa.ConnectorTypesMap[Jt.EIP6963_CONNECTOR_ID];{this.addConnector({id:Jt.EIP6963_CONNECTOR_ID,type:l,imageUrl:i.icon??((n=(t=this.options)==null?void 0:t.connectorImages)==null?void 0:n[Jt.EIP6963_CONNECTOR_ID]),name:i.name,provider:s,info:i});const u={provider:s,info:i};this.EIP6963Providers.push(u)}}}}listenConnectors(e){if(typeof window<"u"&&e){const t=this.eip6963EventHandler.bind(this);window.addEventListener(Jt.EIP6963_ANNOUNCE_EVENT,t),window.dispatchEvent(new Event(Jt.EIP6963_REQUEST_EVENT))}}};var ule={},c8={},TS={};Object.defineProperty(TS,"__esModule",{value:!0}),TS.walletLogo=void 0;const _Le=(r,e)=>{let t;switch(r){case"standard":return t=e,`data:image/svg+xml,%3Csvg width='${e}' height='${t}' viewBox='0 0 1024 1024' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Crect width='1024' height='1024' fill='%230052FF'/%3E %3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M152 512C152 710.823 313.177 872 512 872C710.823 872 872 710.823 872 512C872 313.177 710.823 152 512 152C313.177 152 152 313.177 152 512ZM420 396C406.745 396 396 406.745 396 420V604C396 617.255 406.745 628 420 628H604C617.255 628 628 617.255 628 604V420C628 406.745 617.255 396 604 396H420Z' fill='white'/%3E %3C/svg%3E `;case"circle":return t=e,`data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='${e}' height='${t}' viewBox='0 0 999.81 999.81'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%230052fe;%7D.cls-2%7Bfill:%23fefefe;%7D.cls-3%7Bfill:%230152fe;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M655-115.9h56c.83,1.59,2.36.88,3.56,1a478,478,0,0,1,75.06,10.42C891.4-81.76,978.33-32.58,1049.19,44q116.7,126,131.94,297.61c.38,4.14-.34,8.53,1.78,12.45v59c-1.58.84-.91,2.35-1,3.56a482.05,482.05,0,0,1-10.38,74.05c-24,106.72-76.64,196.76-158.83,268.93s-178.18,112.82-287.2,122.6c-4.83.43-9.86-.25-14.51,1.77H654c-1-1.68-2.69-.91-4.06-1a496.89,496.89,0,0,1-105.9-18.59c-93.54-27.42-172.78-77.59-236.91-150.94Q199.34,590.1,184.87,426.58c-.47-5.19.25-10.56-1.77-15.59V355c1.68-1,.91-2.7,1-4.06a498.12,498.12,0,0,1,18.58-105.9c26-88.75,72.64-164.9,140.6-227.57q126-116.27,297.21-131.61C645.32-114.57,650.35-113.88,655-115.9Zm377.92,500c0-192.44-156.31-349.49-347.56-350.15-194.13-.68-350.94,155.13-352.29,347.42-1.37,194.55,155.51,352.1,348.56,352.47C876.15,734.23,1032.93,577.84,1032.93,384.11Z' transform='translate(-183.1 115.9)'/%3E%3Cpath class='cls-2' d='M1032.93,384.11c0,193.73-156.78,350.12-351.29,349.74-193-.37-349.93-157.92-348.56-352.47C334.43,189.09,491.24,33.28,685.37,34,876.62,34.62,1032.94,191.67,1032.93,384.11ZM683,496.81q43.74,0,87.48,0c15.55,0,25.32-9.72,25.33-25.21q0-87.48,0-175c0-15.83-9.68-25.46-25.59-25.46H595.77c-15.88,0-25.57,9.64-25.58,25.46q0,87.23,0,174.45c0,16.18,9.59,25.7,25.84,25.71Z' transform='translate(-183.1 115.9)'/%3E%3Cpath class='cls-3' d='M683,496.81H596c-16.25,0-25.84-9.53-25.84-25.71q0-87.23,0-174.45c0-15.82,9.7-25.46,25.58-25.46H770.22c15.91,0,25.59,9.63,25.59,25.46q0,87.47,0,175c0,15.49-9.78,25.2-25.33,25.21Q726.74,496.84,683,496.81Z' transform='translate(-183.1 115.9)'/%3E%3C/svg%3E`;case"text":return t=(.1*e).toFixed(2),`data:image/svg+xml,%3Csvg width='${e}' height='${t}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 528.15 53.64'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%230052ff;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3ECoinbase_Wordmark_SubBrands_ALL%3C/title%3E%3Cpath class='cls-1' d='M164.45,15a15,15,0,0,0-11.74,5.4V0h-8.64V52.92h8.5V48a15,15,0,0,0,11.88,5.62c10.37,0,18.21-8.21,18.21-19.3S174.67,15,164.45,15Zm-1.3,30.67c-6.19,0-10.73-4.83-10.73-11.31S157,23,163.22,23s10.66,4.82,10.66,11.37S169.34,45.65,163.15,45.65Zm83.31-14.91-6.34-.93c-3-.43-5.18-1.44-5.18-3.82,0-2.59,2.8-3.89,6.62-3.89,4.18,0,6.84,1.8,7.42,4.76h8.35c-.94-7.49-6.7-11.88-15.55-11.88-9.15,0-15.2,4.68-15.2,11.3,0,6.34,4,10,12,11.16l6.33.94c3.1.43,4.83,1.65,4.83,4,0,2.95-3,4.17-7.2,4.17-5.12,0-8-2.09-8.43-5.25h-8.49c.79,7.27,6.48,12.38,16.84,12.38,9.44,0,15.7-4.32,15.7-11.74C258.12,35.28,253.58,31.82,246.46,30.74Zm-27.65-2.3c0-8.06-4.9-13.46-15.27-13.46-9.79,0-15.26,5-16.34,12.6h8.57c.43-3,2.73-5.4,7.63-5.4,4.39,0,6.55,1.94,6.55,4.32,0,3.09-4,3.88-8.85,4.39-6.63.72-14.84,3-14.84,11.66,0,6.7,5,11,12.89,11,6.19,0,10.08-2.59,12-6.7.28,3.67,3,6.05,6.84,6.05h5v-7.7h-4.25Zm-8.5,9.36c0,5-4.32,8.64-9.57,8.64-3.24,0-6-1.37-6-4.25,0-3.67,4.39-4.68,8.42-5.11s6-1.22,7.13-2.88ZM281.09,15c-11.09,0-19.23,8.35-19.23,19.36,0,11.6,8.72,19.3,19.37,19.3,9,0,16.06-5.33,17.86-12.89h-9c-1.3,3.31-4.47,5.19-8.71,5.19-5.55,0-9.72-3.46-10.66-9.51H299.3V33.12C299.3,22.46,291.53,15,281.09,15Zm-9.87,15.26c1.37-5.18,5.26-7.7,9.72-7.7,4.9,0,8.64,2.8,9.51,7.7ZM19.3,23a9.84,9.84,0,0,1,9.5,7h9.14c-1.65-8.93-9-15-18.57-15A19,19,0,0,0,0,34.34c0,11.09,8.28,19.3,19.37,19.3,9.36,0,16.85-6,18.5-15H28.8a9.75,9.75,0,0,1-9.43,7.06c-6.27,0-10.66-4.83-10.66-11.31S13,23,19.3,23Zm41.11-8A19,19,0,0,0,41,34.34c0,11.09,8.28,19.3,19.37,19.3A19,19,0,0,0,79.92,34.27C79.92,23.33,71.64,15,60.41,15Zm.07,30.67c-6.19,0-10.73-4.83-10.73-11.31S54.22,23,60.41,23s10.8,4.89,10.8,11.37S66.67,45.65,60.48,45.65ZM123.41,15c-5.62,0-9.29,2.3-11.45,5.54V15.7h-8.57V52.92H112V32.69C112,27,115.63,23,121,23c5,0,8.06,3.53,8.06,8.64V52.92h8.64V31C137.66,21.6,132.84,15,123.41,15ZM92,.36a5.36,5.36,0,0,0-5.55,5.47,5.55,5.55,0,0,0,11.09,0A5.35,5.35,0,0,0,92,.36Zm-9.72,23h5.4V52.92h8.64V15.7h-14Zm298.17-7.7L366.2,52.92H372L375.29,44H392l3.33,8.88h6L386.87,15.7ZM377,39.23l6.45-17.56h.1l6.56,17.56ZM362.66,15.7l-7.88,29h-.11l-8.14-29H341l-8,28.93h-.1l-8-28.87H319L329.82,53h5.45l8.19-29.24h.11L352,53h5.66L368.1,15.7Zm135.25,0v4.86h12.32V52.92h5.6V20.56h12.32V15.7ZM467.82,52.92h25.54V48.06H473.43v-12h18.35V31.35H473.43V20.56h19.93V15.7H467.82ZM443,15.7h-5.6V52.92h24.32V48.06H443Zm-30.45,0h-5.61V52.92h24.32V48.06H412.52Z'/%3E%3C/svg%3E`;case"textWithLogo":return t=(.25*e).toFixed(2),`data:image/svg+xml,%3Csvg width='${e}' height='${t}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 308.44 77.61'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%230052ff;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M142.94,20.2l-7.88,29H135l-8.15-29h-5.55l-8,28.93h-.11l-8-28.87H99.27l10.84,37.27h5.44l8.2-29.24h.1l8.41,29.24h5.66L148.39,20.2Zm17.82,0L146.48,57.42h5.82l3.28-8.88h16.65l3.34,8.88h6L167.16,20.2Zm-3.44,23.52,6.45-17.55h.11l6.56,17.55ZM278.2,20.2v4.86h12.32V57.42h5.6V25.06h12.32V20.2ZM248.11,57.42h25.54V52.55H253.71V40.61h18.35V35.85H253.71V25.06h19.94V20.2H248.11ZM223.26,20.2h-5.61V57.42H242V52.55H223.26Zm-30.46,0h-5.6V57.42h24.32V52.55H192.8Zm-154,38A19.41,19.41,0,1,1,57.92,35.57H77.47a38.81,38.81,0,1,0,0,6.47H57.92A19.39,19.39,0,0,1,38.81,58.21Z'/%3E%3C/svg%3E`;case"textLight":return t=(.1*e).toFixed(2),`data:image/svg+xml,%3Csvg width='${e}' height='${t}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 528.15 53.64'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fefefe;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3ECoinbase_Wordmark_SubBrands_ALL%3C/title%3E%3Cpath class='cls-1' d='M164.45,15a15,15,0,0,0-11.74,5.4V0h-8.64V52.92h8.5V48a15,15,0,0,0,11.88,5.62c10.37,0,18.21-8.21,18.21-19.3S174.67,15,164.45,15Zm-1.3,30.67c-6.19,0-10.73-4.83-10.73-11.31S157,23,163.22,23s10.66,4.82,10.66,11.37S169.34,45.65,163.15,45.65Zm83.31-14.91-6.34-.93c-3-.43-5.18-1.44-5.18-3.82,0-2.59,2.8-3.89,6.62-3.89,4.18,0,6.84,1.8,7.42,4.76h8.35c-.94-7.49-6.7-11.88-15.55-11.88-9.15,0-15.2,4.68-15.2,11.3,0,6.34,4,10,12,11.16l6.33.94c3.1.43,4.83,1.65,4.83,4,0,2.95-3,4.17-7.2,4.17-5.12,0-8-2.09-8.43-5.25h-8.49c.79,7.27,6.48,12.38,16.84,12.38,9.44,0,15.7-4.32,15.7-11.74C258.12,35.28,253.58,31.82,246.46,30.74Zm-27.65-2.3c0-8.06-4.9-13.46-15.27-13.46-9.79,0-15.26,5-16.34,12.6h8.57c.43-3,2.73-5.4,7.63-5.4,4.39,0,6.55,1.94,6.55,4.32,0,3.09-4,3.88-8.85,4.39-6.63.72-14.84,3-14.84,11.66,0,6.7,5,11,12.89,11,6.19,0,10.08-2.59,12-6.7.28,3.67,3,6.05,6.84,6.05h5v-7.7h-4.25Zm-8.5,9.36c0,5-4.32,8.64-9.57,8.64-3.24,0-6-1.37-6-4.25,0-3.67,4.39-4.68,8.42-5.11s6-1.22,7.13-2.88ZM281.09,15c-11.09,0-19.23,8.35-19.23,19.36,0,11.6,8.72,19.3,19.37,19.3,9,0,16.06-5.33,17.86-12.89h-9c-1.3,3.31-4.47,5.19-8.71,5.19-5.55,0-9.72-3.46-10.66-9.51H299.3V33.12C299.3,22.46,291.53,15,281.09,15Zm-9.87,15.26c1.37-5.18,5.26-7.7,9.72-7.7,4.9,0,8.64,2.8,9.51,7.7ZM19.3,23a9.84,9.84,0,0,1,9.5,7h9.14c-1.65-8.93-9-15-18.57-15A19,19,0,0,0,0,34.34c0,11.09,8.28,19.3,19.37,19.3,9.36,0,16.85-6,18.5-15H28.8a9.75,9.75,0,0,1-9.43,7.06c-6.27,0-10.66-4.83-10.66-11.31S13,23,19.3,23Zm41.11-8A19,19,0,0,0,41,34.34c0,11.09,8.28,19.3,19.37,19.3A19,19,0,0,0,79.92,34.27C79.92,23.33,71.64,15,60.41,15Zm.07,30.67c-6.19,0-10.73-4.83-10.73-11.31S54.22,23,60.41,23s10.8,4.89,10.8,11.37S66.67,45.65,60.48,45.65ZM123.41,15c-5.62,0-9.29,2.3-11.45,5.54V15.7h-8.57V52.92H112V32.69C112,27,115.63,23,121,23c5,0,8.06,3.53,8.06,8.64V52.92h8.64V31C137.66,21.6,132.84,15,123.41,15ZM92,.36a5.36,5.36,0,0,0-5.55,5.47,5.55,5.55,0,0,0,11.09,0A5.35,5.35,0,0,0,92,.36Zm-9.72,23h5.4V52.92h8.64V15.7h-14Zm298.17-7.7L366.2,52.92H372L375.29,44H392l3.33,8.88h6L386.87,15.7ZM377,39.23l6.45-17.56h.1l6.56,17.56ZM362.66,15.7l-7.88,29h-.11l-8.14-29H341l-8,28.93h-.1l-8-28.87H319L329.82,53h5.45l8.19-29.24h.11L352,53h5.66L368.1,15.7Zm135.25,0v4.86h12.32V52.92h5.6V20.56h12.32V15.7ZM467.82,52.92h25.54V48.06H473.43v-12h18.35V31.35H473.43V20.56h19.93V15.7H467.82ZM443,15.7h-5.6V52.92h24.32V48.06H443Zm-30.45,0h-5.61V52.92h24.32V48.06H412.52Z'/%3E%3C/svg%3E`;case"textWithLogoLight":return t=(.25*e).toFixed(2),`data:image/svg+xml,%3Csvg width='${e}' height='${t}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 308.44 77.61'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fefefe;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M142.94,20.2l-7.88,29H135l-8.15-29h-5.55l-8,28.93h-.11l-8-28.87H99.27l10.84,37.27h5.44l8.2-29.24h.1l8.41,29.24h5.66L148.39,20.2Zm17.82,0L146.48,57.42h5.82l3.28-8.88h16.65l3.34,8.88h6L167.16,20.2Zm-3.44,23.52,6.45-17.55h.11l6.56,17.55ZM278.2,20.2v4.86h12.32V57.42h5.6V25.06h12.32V20.2ZM248.11,57.42h25.54V52.55H253.71V40.61h18.35V35.85H253.71V25.06h19.94V20.2H248.11ZM223.26,20.2h-5.61V57.42H242V52.55H223.26Zm-30.46,0h-5.6V57.42h24.32V52.55H192.8Zm-154,38A19.41,19.41,0,1,1,57.92,35.57H77.47a38.81,38.81,0,1,0,0,6.47H57.92A19.39,19.39,0,0,1,38.81,58.21Z'/%3E%3C/svg%3E`;default:return t=e,`data:image/svg+xml,%3Csvg width='${e}' height='${t}' viewBox='0 0 1024 1024' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Crect width='1024' height='1024' fill='%230052FF'/%3E %3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M152 512C152 710.823 313.177 872 512 872C710.823 872 872 710.823 872 512C872 313.177 710.823 152 512 152C313.177 152 152 313.177 152 512ZM420 396C406.745 396 396 406.745 396 420V604C396 617.255 406.745 628 420 628H604C617.255 628 628 617.255 628 604V420C628 406.745 617.255 396 604 396H420Z' fill='white'/%3E %3C/svg%3E `}};TS.walletLogo=_Le;var kS={};Object.defineProperty(kS,"__esModule",{value:!0}),kS.LINK_API_URL=void 0,kS.LINK_API_URL="https://www.walletlink.org";var mr={},TB={exports:{}};TB.exports,function(r){(function(e,t){function n(b,d){if(!b)throw new Error(d||"Assertion failed")}function i(b,d){b.super_=d;var m=function(){};m.prototype=d.prototype,b.prototype=new m,b.prototype.constructor=b}function s(b,d,m){if(s.isBN(b))return b;this.negative=0,this.words=null,this.length=0,this.red=null,b!==null&&((d==="le"||d==="be")&&(m=d,d=10),this._init(b||0,d||10,m||"be"))}typeof e=="object"?e.exports=s:t.BN=s,s.BN=s,s.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=Hc.Buffer}catch{}s.isBN=function(d){return d instanceof s?!0:d!==null&&typeof d=="object"&&d.constructor.wordSize===s.wordSize&&Array.isArray(d.words)},s.max=function(d,m){return d.cmp(m)>0?d:m},s.min=function(d,m){return d.cmp(m)<0?d:m},s.prototype._init=function(d,m,x){if(typeof d=="number")return this._initNumber(d,m,x);if(typeof d=="object")return this._initArray(d,m,x);m==="hex"&&(m=16),n(m===(m|0)&&m>=2&&m<=36),d=d.toString().replace(/\s+/g,"");var A=0;d[0]==="-"&&(A++,this.negative=1),A=0;A-=3)T=d[A]|d[A-1]<<8|d[A-2]<<16,this.words[I]|=T<>>26-S&67108863,S+=24,S>=26&&(S-=26,I++);else if(x==="le")for(A=0,I=0;A>>26-S&67108863,S+=24,S>=26&&(S-=26,I++);return this._strip()};function a(b,d){var m=b.charCodeAt(d);if(m>=48&&m<=57)return m-48;if(m>=65&&m<=70)return m-55;if(m>=97&&m<=102)return m-87;n(!1,"Invalid character in "+b)}function l(b,d,m){var x=a(b,m);return m-1>=d&&(x|=a(b,m-1)<<4),x}s.prototype._parseHex=function(d,m,x){this.length=Math.ceil((d.length-m)/6),this.words=new Array(this.length);for(var A=0;A=m;A-=2)S=l(d,m,A)<=18?(I-=18,T+=1,this.words[T]|=S>>>26):I+=8;else{var E=d.length-m;for(A=E%2===0?m+1:m;A=18?(I-=18,T+=1,this.words[T]|=S>>>26):I+=8}this._strip()};function u(b,d,m,x){for(var A=0,I=0,T=Math.min(b.length,m),S=d;S=49?I=E-49+10:E>=17?I=E-17+10:I=E,n(E>=0&&I1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},s.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{s.prototype[Symbol.for("nodejs.util.inspect.custom")]=p}catch{s.prototype.inspect=p}else s.prototype.inspect=p;function p(){return(this.red?""}var g=["","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"],w=[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],y=[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,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];s.prototype.toString=function(d,m){d=d||10,m=m|0||1;var x;if(d===16||d==="hex"){x="";for(var A=0,I=0,T=0;T>>24-A&16777215,A+=2,A>=26&&(A-=26,T--),I!==0||T!==this.length-1?x=g[6-E.length]+E+x:x=E+x}for(I!==0&&(x=I.toString(16)+x);x.length%m!==0;)x="0"+x;return this.negative!==0&&(x="-"+x),x}if(d===(d|0)&&d>=2&&d<=36){var _=w[d],U=y[d];x="";var ie=this.clone();for(ie.negative=0;!ie.isZero();){var q=ie.modrn(U).toString(d);ie=ie.idivn(U),ie.isZero()?x=q+x:x=g[_-q.length]+q+x}for(this.isZero()&&(x="0"+x);x.length%m!==0;)x="0"+x;return this.negative!==0&&(x="-"+x),x}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var d=this.words[0];return this.length===2?d+=this.words[1]*67108864:this.length===3&&this.words[2]===1?d+=4503599627370496+this.words[1]*67108864:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-d:d},s.prototype.toJSON=function(){return this.toString(16,2)},o&&(s.prototype.toBuffer=function(d,m){return this.toArrayLike(o,d,m)}),s.prototype.toArray=function(d,m){return this.toArrayLike(Array,d,m)};var C=function(d,m){return d.allocUnsafe?d.allocUnsafe(m):new d(m)};s.prototype.toArrayLike=function(d,m,x){this._strip();var A=this.byteLength(),I=x||Math.max(1,A);n(A<=I,"byte array longer than desired length"),n(I>0,"Requested array length <= 0");var T=C(d,I),S=m==="le"?"LE":"BE";return this["_toArrayLike"+S](T,A),T},s.prototype._toArrayLikeLE=function(d,m){for(var x=0,A=0,I=0,T=0;I>8&255),x>16&255),T===6?(x>24&255),A=0,T=0):(A=S>>>24,T+=2)}if(x=0&&(d[x--]=S>>8&255),x>=0&&(d[x--]=S>>16&255),T===6?(x>=0&&(d[x--]=S>>24&255),A=0,T=0):(A=S>>>24,T+=2)}if(x>=0)for(d[x--]=A;x>=0;)d[x--]=0},Math.clz32?s.prototype._countBits=function(d){return 32-Math.clz32(d)}:s.prototype._countBits=function(d){var m=d,x=0;return m>=4096&&(x+=13,m>>>=13),m>=64&&(x+=7,m>>>=7),m>=8&&(x+=4,m>>>=4),m>=2&&(x+=2,m>>>=2),x+m},s.prototype._zeroBits=function(d){if(d===0)return 26;var m=d,x=0;return m&8191||(x+=13,m>>>=13),m&127||(x+=7,m>>>=7),m&15||(x+=4,m>>>=4),m&3||(x+=2,m>>>=2),m&1||x++,x},s.prototype.bitLength=function(){var d=this.words[this.length-1],m=this._countBits(d);return(this.length-1)*26+m};function R(b){for(var d=new Array(b.bitLength()),m=0;m>>A&1}return d}s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var d=0,m=0;md.length?this.clone().ior(d):d.clone().ior(this)},s.prototype.uor=function(d){return this.length>d.length?this.clone().iuor(d):d.clone().iuor(this)},s.prototype.iuand=function(d){var m;this.length>d.length?m=d:m=this;for(var x=0;xd.length?this.clone().iand(d):d.clone().iand(this)},s.prototype.uand=function(d){return this.length>d.length?this.clone().iuand(d):d.clone().iuand(this)},s.prototype.iuxor=function(d){var m,x;this.length>d.length?(m=this,x=d):(m=d,x=this);for(var A=0;Ad.length?this.clone().ixor(d):d.clone().ixor(this)},s.prototype.uxor=function(d){return this.length>d.length?this.clone().iuxor(d):d.clone().iuxor(this)},s.prototype.inotn=function(d){n(typeof d=="number"&&d>=0);var m=Math.ceil(d/26)|0,x=d%26;this._expand(m),x>0&&m--;for(var A=0;A0&&(this.words[A]=~this.words[A]&67108863>>26-x),this._strip()},s.prototype.notn=function(d){return this.clone().inotn(d)},s.prototype.setn=function(d,m){n(typeof d=="number"&&d>=0);var x=d/26|0,A=d%26;return this._expand(x+1),m?this.words[x]=this.words[x]|1<d.length?(x=this,A=d):(x=d,A=this);for(var I=0,T=0;T>>26;for(;I!==0&&T>>26;if(this.length=x.length,I!==0)this.words[this.length]=I,this.length++;else if(x!==this)for(;Td.length?this.clone().iadd(d):d.clone().iadd(this)},s.prototype.isub=function(d){if(d.negative!==0){d.negative=0;var m=this.iadd(d);return d.negative=1,m._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(d),this.negative=1,this._normSign();var x=this.cmp(d);if(x===0)return this.negative=0,this.length=1,this.words[0]=0,this;var A,I;x>0?(A=this,I=d):(A=d,I=this);for(var T=0,S=0;S>26,this.words[S]=m&67108863;for(;T!==0&&S>26,this.words[S]=m&67108863;if(T===0&&S>>26,ie=E&67108863,q=Math.min(_,d.length-1),Y=Math.max(0,_-b.length+1);Y<=q;Y++){var K=_-Y|0;A=b.words[K]|0,I=d.words[Y]|0,T=A*I+ie,U+=T/67108864|0,ie=T&67108863}m.words[_]=ie|0,E=U|0}return E!==0?m.words[_]=E|0:m.length--,m._strip()}var M=function(d,m,x){var A=d.words,I=m.words,T=x.words,S=0,E,_,U,ie=A[0]|0,q=ie&8191,Y=ie>>>13,K=A[1]|0,ee=K&8191,re=K>>>13,z=A[2]|0,L=z&8191,H=z>>>13,le=A[3]|0,de=le&8191,Se=le>>>13,Me=A[4]|0,ke=Me&8191,Ke=Me>>>13,Te=A[5]|0,je=Te&8191,De=Te>>>13,Je=A[6]|0,ze=Je&8191,qe=Je>>>13,Ve=A[7]|0,He=Ve&8191,Be=Ve>>>13,Ge=A[8]|0,Xe=Ge&8191,se=Ge>>>13,J=A[9]|0,Q=J&8191,ue=J>>>13,we=I[0]|0,ye=we&8191,Ie=we>>>13,it=I[1]|0,ot=it&8191,tt=it>>>13,It=I[2]|0,st=It&8191,Nt=It>>>13,Lt=I[3]|0,ht=Lt&8191,wt=Lt>>>13,Ut=I[4]|0,ft=Ut&8191,dt=Ut>>>13,Vt=I[5]|0,xt=Vt&8191,pt=Vt>>>13,Gt=I[6]|0,gt=Gt&8191,vt=Gt>>>13,Ft=I[7]|0,lt=Ft&8191,_t=Ft>>>13,Kt=I[8]|0,zt=Kt&8191,Ht=Kt>>>13,br=I[9]|0,Rt=br&8191,ur=br>>>13;x.negative=d.negative^m.negative,x.length=19,E=Math.imul(q,ye),_=Math.imul(q,Ie),_=_+Math.imul(Y,ye)|0,U=Math.imul(Y,Ie);var Yn=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(Yn>>>26)|0,Yn&=67108863,E=Math.imul(ee,ye),_=Math.imul(ee,Ie),_=_+Math.imul(re,ye)|0,U=Math.imul(re,Ie),E=E+Math.imul(q,ot)|0,_=_+Math.imul(q,tt)|0,_=_+Math.imul(Y,ot)|0,U=U+Math.imul(Y,tt)|0;var Qn=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(Qn>>>26)|0,Qn&=67108863,E=Math.imul(L,ye),_=Math.imul(L,Ie),_=_+Math.imul(H,ye)|0,U=Math.imul(H,Ie),E=E+Math.imul(ee,ot)|0,_=_+Math.imul(ee,tt)|0,_=_+Math.imul(re,ot)|0,U=U+Math.imul(re,tt)|0,E=E+Math.imul(q,st)|0,_=_+Math.imul(q,Nt)|0,_=_+Math.imul(Y,st)|0,U=U+Math.imul(Y,Nt)|0;var Xn=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(Xn>>>26)|0,Xn&=67108863,E=Math.imul(de,ye),_=Math.imul(de,Ie),_=_+Math.imul(Se,ye)|0,U=Math.imul(Se,Ie),E=E+Math.imul(L,ot)|0,_=_+Math.imul(L,tt)|0,_=_+Math.imul(H,ot)|0,U=U+Math.imul(H,tt)|0,E=E+Math.imul(ee,st)|0,_=_+Math.imul(ee,Nt)|0,_=_+Math.imul(re,st)|0,U=U+Math.imul(re,Nt)|0,E=E+Math.imul(q,ht)|0,_=_+Math.imul(q,wt)|0,_=_+Math.imul(Y,ht)|0,U=U+Math.imul(Y,wt)|0;var ei=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(ei>>>26)|0,ei&=67108863,E=Math.imul(ke,ye),_=Math.imul(ke,Ie),_=_+Math.imul(Ke,ye)|0,U=Math.imul(Ke,Ie),E=E+Math.imul(de,ot)|0,_=_+Math.imul(de,tt)|0,_=_+Math.imul(Se,ot)|0,U=U+Math.imul(Se,tt)|0,E=E+Math.imul(L,st)|0,_=_+Math.imul(L,Nt)|0,_=_+Math.imul(H,st)|0,U=U+Math.imul(H,Nt)|0,E=E+Math.imul(ee,ht)|0,_=_+Math.imul(ee,wt)|0,_=_+Math.imul(re,ht)|0,U=U+Math.imul(re,wt)|0,E=E+Math.imul(q,ft)|0,_=_+Math.imul(q,dt)|0,_=_+Math.imul(Y,ft)|0,U=U+Math.imul(Y,dt)|0;var gn=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(gn>>>26)|0,gn&=67108863,E=Math.imul(je,ye),_=Math.imul(je,Ie),_=_+Math.imul(De,ye)|0,U=Math.imul(De,Ie),E=E+Math.imul(ke,ot)|0,_=_+Math.imul(ke,tt)|0,_=_+Math.imul(Ke,ot)|0,U=U+Math.imul(Ke,tt)|0,E=E+Math.imul(de,st)|0,_=_+Math.imul(de,Nt)|0,_=_+Math.imul(Se,st)|0,U=U+Math.imul(Se,Nt)|0,E=E+Math.imul(L,ht)|0,_=_+Math.imul(L,wt)|0,_=_+Math.imul(H,ht)|0,U=U+Math.imul(H,wt)|0,E=E+Math.imul(ee,ft)|0,_=_+Math.imul(ee,dt)|0,_=_+Math.imul(re,ft)|0,U=U+Math.imul(re,dt)|0,E=E+Math.imul(q,xt)|0,_=_+Math.imul(q,pt)|0,_=_+Math.imul(Y,xt)|0,U=U+Math.imul(Y,pt)|0;var zn=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(zn>>>26)|0,zn&=67108863,E=Math.imul(ze,ye),_=Math.imul(ze,Ie),_=_+Math.imul(qe,ye)|0,U=Math.imul(qe,Ie),E=E+Math.imul(je,ot)|0,_=_+Math.imul(je,tt)|0,_=_+Math.imul(De,ot)|0,U=U+Math.imul(De,tt)|0,E=E+Math.imul(ke,st)|0,_=_+Math.imul(ke,Nt)|0,_=_+Math.imul(Ke,st)|0,U=U+Math.imul(Ke,Nt)|0,E=E+Math.imul(de,ht)|0,_=_+Math.imul(de,wt)|0,_=_+Math.imul(Se,ht)|0,U=U+Math.imul(Se,wt)|0,E=E+Math.imul(L,ft)|0,_=_+Math.imul(L,dt)|0,_=_+Math.imul(H,ft)|0,U=U+Math.imul(H,dt)|0,E=E+Math.imul(ee,xt)|0,_=_+Math.imul(ee,pt)|0,_=_+Math.imul(re,xt)|0,U=U+Math.imul(re,pt)|0,E=E+Math.imul(q,gt)|0,_=_+Math.imul(q,vt)|0,_=_+Math.imul(Y,gt)|0,U=U+Math.imul(Y,vt)|0;var Pi=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(Pi>>>26)|0,Pi&=67108863,E=Math.imul(He,ye),_=Math.imul(He,Ie),_=_+Math.imul(Be,ye)|0,U=Math.imul(Be,Ie),E=E+Math.imul(ze,ot)|0,_=_+Math.imul(ze,tt)|0,_=_+Math.imul(qe,ot)|0,U=U+Math.imul(qe,tt)|0,E=E+Math.imul(je,st)|0,_=_+Math.imul(je,Nt)|0,_=_+Math.imul(De,st)|0,U=U+Math.imul(De,Nt)|0,E=E+Math.imul(ke,ht)|0,_=_+Math.imul(ke,wt)|0,_=_+Math.imul(Ke,ht)|0,U=U+Math.imul(Ke,wt)|0,E=E+Math.imul(de,ft)|0,_=_+Math.imul(de,dt)|0,_=_+Math.imul(Se,ft)|0,U=U+Math.imul(Se,dt)|0,E=E+Math.imul(L,xt)|0,_=_+Math.imul(L,pt)|0,_=_+Math.imul(H,xt)|0,U=U+Math.imul(H,pt)|0,E=E+Math.imul(ee,gt)|0,_=_+Math.imul(ee,vt)|0,_=_+Math.imul(re,gt)|0,U=U+Math.imul(re,vt)|0,E=E+Math.imul(q,lt)|0,_=_+Math.imul(q,_t)|0,_=_+Math.imul(Y,lt)|0,U=U+Math.imul(Y,_t)|0;var Hn=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(Hn>>>26)|0,Hn&=67108863,E=Math.imul(Xe,ye),_=Math.imul(Xe,Ie),_=_+Math.imul(se,ye)|0,U=Math.imul(se,Ie),E=E+Math.imul(He,ot)|0,_=_+Math.imul(He,tt)|0,_=_+Math.imul(Be,ot)|0,U=U+Math.imul(Be,tt)|0,E=E+Math.imul(ze,st)|0,_=_+Math.imul(ze,Nt)|0,_=_+Math.imul(qe,st)|0,U=U+Math.imul(qe,Nt)|0,E=E+Math.imul(je,ht)|0,_=_+Math.imul(je,wt)|0,_=_+Math.imul(De,ht)|0,U=U+Math.imul(De,wt)|0,E=E+Math.imul(ke,ft)|0,_=_+Math.imul(ke,dt)|0,_=_+Math.imul(Ke,ft)|0,U=U+Math.imul(Ke,dt)|0,E=E+Math.imul(de,xt)|0,_=_+Math.imul(de,pt)|0,_=_+Math.imul(Se,xt)|0,U=U+Math.imul(Se,pt)|0,E=E+Math.imul(L,gt)|0,_=_+Math.imul(L,vt)|0,_=_+Math.imul(H,gt)|0,U=U+Math.imul(H,vt)|0,E=E+Math.imul(ee,lt)|0,_=_+Math.imul(ee,_t)|0,_=_+Math.imul(re,lt)|0,U=U+Math.imul(re,_t)|0,E=E+Math.imul(q,zt)|0,_=_+Math.imul(q,Ht)|0,_=_+Math.imul(Y,zt)|0,U=U+Math.imul(Y,Ht)|0;var Oi=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(Oi>>>26)|0,Oi&=67108863,E=Math.imul(Q,ye),_=Math.imul(Q,Ie),_=_+Math.imul(ue,ye)|0,U=Math.imul(ue,Ie),E=E+Math.imul(Xe,ot)|0,_=_+Math.imul(Xe,tt)|0,_=_+Math.imul(se,ot)|0,U=U+Math.imul(se,tt)|0,E=E+Math.imul(He,st)|0,_=_+Math.imul(He,Nt)|0,_=_+Math.imul(Be,st)|0,U=U+Math.imul(Be,Nt)|0,E=E+Math.imul(ze,ht)|0,_=_+Math.imul(ze,wt)|0,_=_+Math.imul(qe,ht)|0,U=U+Math.imul(qe,wt)|0,E=E+Math.imul(je,ft)|0,_=_+Math.imul(je,dt)|0,_=_+Math.imul(De,ft)|0,U=U+Math.imul(De,dt)|0,E=E+Math.imul(ke,xt)|0,_=_+Math.imul(ke,pt)|0,_=_+Math.imul(Ke,xt)|0,U=U+Math.imul(Ke,pt)|0,E=E+Math.imul(de,gt)|0,_=_+Math.imul(de,vt)|0,_=_+Math.imul(Se,gt)|0,U=U+Math.imul(Se,vt)|0,E=E+Math.imul(L,lt)|0,_=_+Math.imul(L,_t)|0,_=_+Math.imul(H,lt)|0,U=U+Math.imul(H,_t)|0,E=E+Math.imul(ee,zt)|0,_=_+Math.imul(ee,Ht)|0,_=_+Math.imul(re,zt)|0,U=U+Math.imul(re,Ht)|0,E=E+Math.imul(q,Rt)|0,_=_+Math.imul(q,ur)|0,_=_+Math.imul(Y,Rt)|0,U=U+Math.imul(Y,ur)|0;var Di=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(Di>>>26)|0,Di&=67108863,E=Math.imul(Q,ot),_=Math.imul(Q,tt),_=_+Math.imul(ue,ot)|0,U=Math.imul(ue,tt),E=E+Math.imul(Xe,st)|0,_=_+Math.imul(Xe,Nt)|0,_=_+Math.imul(se,st)|0,U=U+Math.imul(se,Nt)|0,E=E+Math.imul(He,ht)|0,_=_+Math.imul(He,wt)|0,_=_+Math.imul(Be,ht)|0,U=U+Math.imul(Be,wt)|0,E=E+Math.imul(ze,ft)|0,_=_+Math.imul(ze,dt)|0,_=_+Math.imul(qe,ft)|0,U=U+Math.imul(qe,dt)|0,E=E+Math.imul(je,xt)|0,_=_+Math.imul(je,pt)|0,_=_+Math.imul(De,xt)|0,U=U+Math.imul(De,pt)|0,E=E+Math.imul(ke,gt)|0,_=_+Math.imul(ke,vt)|0,_=_+Math.imul(Ke,gt)|0,U=U+Math.imul(Ke,vt)|0,E=E+Math.imul(de,lt)|0,_=_+Math.imul(de,_t)|0,_=_+Math.imul(Se,lt)|0,U=U+Math.imul(Se,_t)|0,E=E+Math.imul(L,zt)|0,_=_+Math.imul(L,Ht)|0,_=_+Math.imul(H,zt)|0,U=U+Math.imul(H,Ht)|0,E=E+Math.imul(ee,Rt)|0,_=_+Math.imul(ee,ur)|0,_=_+Math.imul(re,Rt)|0,U=U+Math.imul(re,ur)|0;var mi=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(mi>>>26)|0,mi&=67108863,E=Math.imul(Q,st),_=Math.imul(Q,Nt),_=_+Math.imul(ue,st)|0,U=Math.imul(ue,Nt),E=E+Math.imul(Xe,ht)|0,_=_+Math.imul(Xe,wt)|0,_=_+Math.imul(se,ht)|0,U=U+Math.imul(se,wt)|0,E=E+Math.imul(He,ft)|0,_=_+Math.imul(He,dt)|0,_=_+Math.imul(Be,ft)|0,U=U+Math.imul(Be,dt)|0,E=E+Math.imul(ze,xt)|0,_=_+Math.imul(ze,pt)|0,_=_+Math.imul(qe,xt)|0,U=U+Math.imul(qe,pt)|0,E=E+Math.imul(je,gt)|0,_=_+Math.imul(je,vt)|0,_=_+Math.imul(De,gt)|0,U=U+Math.imul(De,vt)|0,E=E+Math.imul(ke,lt)|0,_=_+Math.imul(ke,_t)|0,_=_+Math.imul(Ke,lt)|0,U=U+Math.imul(Ke,_t)|0,E=E+Math.imul(de,zt)|0,_=_+Math.imul(de,Ht)|0,_=_+Math.imul(Se,zt)|0,U=U+Math.imul(Se,Ht)|0,E=E+Math.imul(L,Rt)|0,_=_+Math.imul(L,ur)|0,_=_+Math.imul(H,Rt)|0,U=U+Math.imul(H,ur)|0;var _i=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(_i>>>26)|0,_i&=67108863,E=Math.imul(Q,ht),_=Math.imul(Q,wt),_=_+Math.imul(ue,ht)|0,U=Math.imul(ue,wt),E=E+Math.imul(Xe,ft)|0,_=_+Math.imul(Xe,dt)|0,_=_+Math.imul(se,ft)|0,U=U+Math.imul(se,dt)|0,E=E+Math.imul(He,xt)|0,_=_+Math.imul(He,pt)|0,_=_+Math.imul(Be,xt)|0,U=U+Math.imul(Be,pt)|0,E=E+Math.imul(ze,gt)|0,_=_+Math.imul(ze,vt)|0,_=_+Math.imul(qe,gt)|0,U=U+Math.imul(qe,vt)|0,E=E+Math.imul(je,lt)|0,_=_+Math.imul(je,_t)|0,_=_+Math.imul(De,lt)|0,U=U+Math.imul(De,_t)|0,E=E+Math.imul(ke,zt)|0,_=_+Math.imul(ke,Ht)|0,_=_+Math.imul(Ke,zt)|0,U=U+Math.imul(Ke,Ht)|0,E=E+Math.imul(de,Rt)|0,_=_+Math.imul(de,ur)|0,_=_+Math.imul(Se,Rt)|0,U=U+Math.imul(Se,ur)|0;var Ei=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(Ei>>>26)|0,Ei&=67108863,E=Math.imul(Q,ft),_=Math.imul(Q,dt),_=_+Math.imul(ue,ft)|0,U=Math.imul(ue,dt),E=E+Math.imul(Xe,xt)|0,_=_+Math.imul(Xe,pt)|0,_=_+Math.imul(se,xt)|0,U=U+Math.imul(se,pt)|0,E=E+Math.imul(He,gt)|0,_=_+Math.imul(He,vt)|0,_=_+Math.imul(Be,gt)|0,U=U+Math.imul(Be,vt)|0,E=E+Math.imul(ze,lt)|0,_=_+Math.imul(ze,_t)|0,_=_+Math.imul(qe,lt)|0,U=U+Math.imul(qe,_t)|0,E=E+Math.imul(je,zt)|0,_=_+Math.imul(je,Ht)|0,_=_+Math.imul(De,zt)|0,U=U+Math.imul(De,Ht)|0,E=E+Math.imul(ke,Rt)|0,_=_+Math.imul(ke,ur)|0,_=_+Math.imul(Ke,Rt)|0,U=U+Math.imul(Ke,ur)|0;var En=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(En>>>26)|0,En&=67108863,E=Math.imul(Q,xt),_=Math.imul(Q,pt),_=_+Math.imul(ue,xt)|0,U=Math.imul(ue,pt),E=E+Math.imul(Xe,gt)|0,_=_+Math.imul(Xe,vt)|0,_=_+Math.imul(se,gt)|0,U=U+Math.imul(se,vt)|0,E=E+Math.imul(He,lt)|0,_=_+Math.imul(He,_t)|0,_=_+Math.imul(Be,lt)|0,U=U+Math.imul(Be,_t)|0,E=E+Math.imul(ze,zt)|0,_=_+Math.imul(ze,Ht)|0,_=_+Math.imul(qe,zt)|0,U=U+Math.imul(qe,Ht)|0,E=E+Math.imul(je,Rt)|0,_=_+Math.imul(je,ur)|0,_=_+Math.imul(De,Rt)|0,U=U+Math.imul(De,ur)|0;var Is=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(Is>>>26)|0,Is&=67108863,E=Math.imul(Q,gt),_=Math.imul(Q,vt),_=_+Math.imul(ue,gt)|0,U=Math.imul(ue,vt),E=E+Math.imul(Xe,lt)|0,_=_+Math.imul(Xe,_t)|0,_=_+Math.imul(se,lt)|0,U=U+Math.imul(se,_t)|0,E=E+Math.imul(He,zt)|0,_=_+Math.imul(He,Ht)|0,_=_+Math.imul(Be,zt)|0,U=U+Math.imul(Be,Ht)|0,E=E+Math.imul(ze,Rt)|0,_=_+Math.imul(ze,ur)|0,_=_+Math.imul(qe,Rt)|0,U=U+Math.imul(qe,ur)|0;var Rs=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(Rs>>>26)|0,Rs&=67108863,E=Math.imul(Q,lt),_=Math.imul(Q,_t),_=_+Math.imul(ue,lt)|0,U=Math.imul(ue,_t),E=E+Math.imul(Xe,zt)|0,_=_+Math.imul(Xe,Ht)|0,_=_+Math.imul(se,zt)|0,U=U+Math.imul(se,Ht)|0,E=E+Math.imul(He,Rt)|0,_=_+Math.imul(He,ur)|0,_=_+Math.imul(Be,Rt)|0,U=U+Math.imul(Be,ur)|0;var Ts=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(Ts>>>26)|0,Ts&=67108863,E=Math.imul(Q,zt),_=Math.imul(Q,Ht),_=_+Math.imul(ue,zt)|0,U=Math.imul(ue,Ht),E=E+Math.imul(Xe,Rt)|0,_=_+Math.imul(Xe,ur)|0,_=_+Math.imul(se,Rt)|0,U=U+Math.imul(se,ur)|0;var Zo=(S+E|0)+((_&8191)<<13)|0;S=(U+(_>>>13)|0)+(Zo>>>26)|0,Zo&=67108863,E=Math.imul(Q,Rt),_=Math.imul(Q,ur),_=_+Math.imul(ue,Rt)|0,U=Math.imul(ue,ur);var Ka=(S+E|0)+((_&8191)<<13)|0;return S=(U+(_>>>13)|0)+(Ka>>>26)|0,Ka&=67108863,T[0]=Yn,T[1]=Qn,T[2]=Xn,T[3]=ei,T[4]=gn,T[5]=zn,T[6]=Pi,T[7]=Hn,T[8]=Oi,T[9]=Di,T[10]=mi,T[11]=_i,T[12]=Ei,T[13]=En,T[14]=Is,T[15]=Rs,T[16]=Ts,T[17]=Zo,T[18]=Ka,S!==0&&(T[19]=S,x.length++),x};Math.imul||(M=k);function O(b,d,m){m.negative=d.negative^b.negative,m.length=b.length+d.length;for(var x=0,A=0,I=0;I>>26)|0,A+=T>>>26,T&=67108863}m.words[I]=S,x=T,T=A}return x!==0?m.words[I]=x:m.length--,m._strip()}function B(b,d,m){return O(b,d,m)}s.prototype.mulTo=function(d,m){var x,A=this.length+d.length;return this.length===10&&d.length===10?x=M(this,d,m):A<63?x=k(this,d,m):A<1024?x=O(this,d,m):x=B(this,d,m),x},s.prototype.mul=function(d){var m=new s(null);return m.words=new Array(this.length+d.length),this.mulTo(d,m)},s.prototype.mulf=function(d){var m=new s(null);return m.words=new Array(this.length+d.length),B(this,d,m)},s.prototype.imul=function(d){return this.clone().mulTo(d,this)},s.prototype.imuln=function(d){var m=d<0;m&&(d=-d),n(typeof d=="number"),n(d<67108864);for(var x=0,A=0;A>=26,x+=I/67108864|0,x+=T>>>26,this.words[A]=T&67108863}return x!==0&&(this.words[A]=x,this.length++),m?this.ineg():this},s.prototype.muln=function(d){return this.clone().imuln(d)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(d){var m=R(d);if(m.length===0)return new s(1);for(var x=this,A=0;A=0);var m=d%26,x=(d-m)/26,A=67108863>>>26-m<<26-m,I;if(m!==0){var T=0;for(I=0;I>>26-m}T&&(this.words[I]=T,this.length++)}if(x!==0){for(I=this.length-1;I>=0;I--)this.words[I+x]=this.words[I];for(I=0;I=0);var A;m?A=(m-m%26)/26:A=0;var I=d%26,T=Math.min((d-I)/26,this.length),S=67108863^67108863>>>I<T)for(this.length-=T,_=0;_=0&&(U!==0||_>=A);_--){var ie=this.words[_]|0;this.words[_]=U<<26-I|ie>>>I,U=ie&S}return E&&U!==0&&(E.words[E.length++]=U),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},s.prototype.ishrn=function(d,m,x){return n(this.negative===0),this.iushrn(d,m,x)},s.prototype.shln=function(d){return this.clone().ishln(d)},s.prototype.ushln=function(d){return this.clone().iushln(d)},s.prototype.shrn=function(d){return this.clone().ishrn(d)},s.prototype.ushrn=function(d){return this.clone().iushrn(d)},s.prototype.testn=function(d){n(typeof d=="number"&&d>=0);var m=d%26,x=(d-m)/26,A=1<=0);var m=d%26,x=(d-m)/26;if(n(this.negative===0,"imaskn works only with positive numbers"),this.length<=x)return this;if(m!==0&&x++,this.length=Math.min(x,this.length),m!==0){var A=67108863^67108863>>>m<=67108864;m++)this.words[m]-=67108864,m===this.length-1?this.words[m+1]=1:this.words[m+1]++;return this.length=Math.max(this.length,m+1),this},s.prototype.isubn=function(d){if(n(typeof d=="number"),n(d<67108864),d<0)return this.iaddn(-d);if(this.negative!==0)return this.negative=0,this.iaddn(d),this.negative=1,this;if(this.words[0]-=d,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var m=0;m>26)-(E/67108864|0),this.words[I+x]=T&67108863}for(;I>26,this.words[I+x]=T&67108863;if(S===0)return this._strip();for(n(S===-1),S=0,I=0;I>26,this.words[I]=T&67108863;return this.negative=1,this._strip()},s.prototype._wordDiv=function(d,m){var x=this.length-d.length,A=this.clone(),I=d,T=I.words[I.length-1]|0,S=this._countBits(T);x=26-S,x!==0&&(I=I.ushln(x),A.iushln(x),T=I.words[I.length-1]|0);var E=A.length-I.length,_;if(m!=="mod"){_=new s(null),_.length=E+1,_.words=new Array(_.length);for(var U=0;U<_.length;U++)_.words[U]=0}var ie=A.clone()._ishlnsubmul(I,1,E);ie.negative===0&&(A=ie,_&&(_.words[E]=1));for(var q=E-1;q>=0;q--){var Y=(A.words[I.length+q]|0)*67108864+(A.words[I.length+q-1]|0);for(Y=Math.min(Y/T|0,67108863),A._ishlnsubmul(I,Y,q);A.negative!==0;)Y--,A.negative=0,A._ishlnsubmul(I,1,q),A.isZero()||(A.negative^=1);_&&(_.words[q]=Y)}return _&&_._strip(),A._strip(),m!=="div"&&x!==0&&A.iushrn(x),{div:_||null,mod:A}},s.prototype.divmod=function(d,m,x){if(n(!d.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var A,I,T;return this.negative!==0&&d.negative===0?(T=this.neg().divmod(d,m),m!=="mod"&&(A=T.div.neg()),m!=="div"&&(I=T.mod.neg(),x&&I.negative!==0&&I.iadd(d)),{div:A,mod:I}):this.negative===0&&d.negative!==0?(T=this.divmod(d.neg(),m),m!=="mod"&&(A=T.div.neg()),{div:A,mod:T.mod}):this.negative&d.negative?(T=this.neg().divmod(d.neg(),m),m!=="div"&&(I=T.mod.neg(),x&&I.negative!==0&&I.isub(d)),{div:T.div,mod:I}):d.length>this.length||this.cmp(d)<0?{div:new s(0),mod:this}:d.length===1?m==="div"?{div:this.divn(d.words[0]),mod:null}:m==="mod"?{div:null,mod:new s(this.modrn(d.words[0]))}:{div:this.divn(d.words[0]),mod:new s(this.modrn(d.words[0]))}:this._wordDiv(d,m)},s.prototype.div=function(d){return this.divmod(d,"div",!1).div},s.prototype.mod=function(d){return this.divmod(d,"mod",!1).mod},s.prototype.umod=function(d){return this.divmod(d,"mod",!0).mod},s.prototype.divRound=function(d){var m=this.divmod(d);if(m.mod.isZero())return m.div;var x=m.div.negative!==0?m.mod.isub(d):m.mod,A=d.ushrn(1),I=d.andln(1),T=x.cmp(A);return T<0||I===1&&T===0?m.div:m.div.negative!==0?m.div.isubn(1):m.div.iaddn(1)},s.prototype.modrn=function(d){var m=d<0;m&&(d=-d),n(d<=67108863);for(var x=(1<<26)%d,A=0,I=this.length-1;I>=0;I--)A=(x*A+(this.words[I]|0))%d;return m?-A:A},s.prototype.modn=function(d){return this.modrn(d)},s.prototype.idivn=function(d){var m=d<0;m&&(d=-d),n(d<=67108863);for(var x=0,A=this.length-1;A>=0;A--){var I=(this.words[A]|0)+x*67108864;this.words[A]=I/d|0,x=I%d}return this._strip(),m?this.ineg():this},s.prototype.divn=function(d){return this.clone().idivn(d)},s.prototype.egcd=function(d){n(d.negative===0),n(!d.isZero());var m=this,x=d.clone();m.negative!==0?m=m.umod(d):m=m.clone();for(var A=new s(1),I=new s(0),T=new s(0),S=new s(1),E=0;m.isEven()&&x.isEven();)m.iushrn(1),x.iushrn(1),++E;for(var _=x.clone(),U=m.clone();!m.isZero();){for(var ie=0,q=1;!(m.words[0]&q)&&ie<26;++ie,q<<=1);if(ie>0)for(m.iushrn(ie);ie-- >0;)(A.isOdd()||I.isOdd())&&(A.iadd(_),I.isub(U)),A.iushrn(1),I.iushrn(1);for(var Y=0,K=1;!(x.words[0]&K)&&Y<26;++Y,K<<=1);if(Y>0)for(x.iushrn(Y);Y-- >0;)(T.isOdd()||S.isOdd())&&(T.iadd(_),S.isub(U)),T.iushrn(1),S.iushrn(1);m.cmp(x)>=0?(m.isub(x),A.isub(T),I.isub(S)):(x.isub(m),T.isub(A),S.isub(I))}return{a:T,b:S,gcd:x.iushln(E)}},s.prototype._invmp=function(d){n(d.negative===0),n(!d.isZero());var m=this,x=d.clone();m.negative!==0?m=m.umod(d):m=m.clone();for(var A=new s(1),I=new s(0),T=x.clone();m.cmpn(1)>0&&x.cmpn(1)>0;){for(var S=0,E=1;!(m.words[0]&E)&&S<26;++S,E<<=1);if(S>0)for(m.iushrn(S);S-- >0;)A.isOdd()&&A.iadd(T),A.iushrn(1);for(var _=0,U=1;!(x.words[0]&U)&&_<26;++_,U<<=1);if(_>0)for(x.iushrn(_);_-- >0;)I.isOdd()&&I.iadd(T),I.iushrn(1);m.cmp(x)>=0?(m.isub(x),A.isub(I)):(x.isub(m),I.isub(A))}var ie;return m.cmpn(1)===0?ie=A:ie=I,ie.cmpn(0)<0&&ie.iadd(d),ie},s.prototype.gcd=function(d){if(this.isZero())return d.abs();if(d.isZero())return this.abs();var m=this.clone(),x=d.clone();m.negative=0,x.negative=0;for(var A=0;m.isEven()&&x.isEven();A++)m.iushrn(1),x.iushrn(1);do{for(;m.isEven();)m.iushrn(1);for(;x.isEven();)x.iushrn(1);var I=m.cmp(x);if(I<0){var T=m;m=x,x=T}else if(I===0||x.cmpn(1)===0)break;m.isub(x)}while(!0);return x.iushln(A)},s.prototype.invm=function(d){return this.egcd(d).a.umod(d)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(d){return this.words[0]&d},s.prototype.bincn=function(d){n(typeof d=="number");var m=d%26,x=(d-m)/26,A=1<>>26,S&=67108863,this.words[T]=S}return I!==0&&(this.words[T]=I,this.length++),this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(d){var m=d<0;if(this.negative!==0&&!m)return-1;if(this.negative===0&&m)return 1;this._strip();var x;if(this.length>1)x=1;else{m&&(d=-d),n(d<=67108863,"Number is too big");var A=this.words[0]|0;x=A===d?0:Ad.length)return 1;if(this.length=0;x--){var A=this.words[x]|0,I=d.words[x]|0;if(A!==I){AI&&(m=1);break}}return m},s.prototype.gtn=function(d){return this.cmpn(d)===1},s.prototype.gt=function(d){return this.cmp(d)===1},s.prototype.gten=function(d){return this.cmpn(d)>=0},s.prototype.gte=function(d){return this.cmp(d)>=0},s.prototype.ltn=function(d){return this.cmpn(d)===-1},s.prototype.lt=function(d){return this.cmp(d)===-1},s.prototype.lten=function(d){return this.cmpn(d)<=0},s.prototype.lte=function(d){return this.cmp(d)<=0},s.prototype.eqn=function(d){return this.cmpn(d)===0},s.prototype.eq=function(d){return this.cmp(d)===0},s.red=function(d){return new W(d)},s.prototype.toRed=function(d){return n(!this.red,"Already a number in reduction context"),n(this.negative===0,"red works only with positives"),d.convertTo(this)._forceRed(d)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(d){return this.red=d,this},s.prototype.forceRed=function(d){return n(!this.red,"Already a number in reduction context"),this._forceRed(d)},s.prototype.redAdd=function(d){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,d)},s.prototype.redIAdd=function(d){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,d)},s.prototype.redSub=function(d){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,d)},s.prototype.redISub=function(d){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,d)},s.prototype.redShl=function(d){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,d)},s.prototype.redMul=function(d){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,d),this.red.mul(this,d)},s.prototype.redIMul=function(d){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,d),this.red.imul(this,d)},s.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(d){return n(this.red&&!d.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,d)};var j={k256:null,p224:null,p192:null,p25519:null};function G(b,d){this.name=b,this.p=new s(d,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}G.prototype._tmp=function(){var d=new s(null);return d.words=new Array(Math.ceil(this.n/13)),d},G.prototype.ireduce=function(d){var m=d,x;do this.split(m,this.tmp),m=this.imulK(m),m=m.iadd(this.tmp),x=m.bitLength();while(x>this.n);var A=x0?m.isub(this.p):m.strip!==void 0?m.strip():m._strip(),m},G.prototype.split=function(d,m){d.iushrn(this.n,0,m)},G.prototype.imulK=function(d){return d.imul(this.k)};function D(){G.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(D,G),D.prototype.split=function(d,m){for(var x=4194303,A=Math.min(d.length,9),I=0;I>>22,T=S}T>>>=22,d.words[I-10]=T,T===0&&d.length>10?d.length-=10:d.length-=9},D.prototype.imulK=function(d){d.words[d.length]=0,d.words[d.length+1]=0,d.length+=2;for(var m=0,x=0;x>>=26,d.words[x]=I,m=A}return m!==0&&(d.words[d.length++]=m),d},s._prime=function(d){if(j[d])return j[d];var m;if(d==="k256")m=new D;else if(d==="p224")m=new $;else if(d==="p192")m=new V;else if(d==="p25519")m=new te;else throw new Error("Unknown prime "+d);return j[d]=m,m};function W(b){if(typeof b=="string"){var d=s._prime(b);this.m=d.p,this.prime=d}else n(b.gtn(1),"modulus must be greater than 1"),this.m=b,this.prime=null}W.prototype._verify1=function(d){n(d.negative===0,"red works only with positives"),n(d.red,"red works only with red numbers")},W.prototype._verify2=function(d,m){n((d.negative|m.negative)===0,"red works only with positives"),n(d.red&&d.red===m.red,"red works only with red numbers")},W.prototype.imod=function(d){return this.prime?this.prime.ireduce(d)._forceRed(this):(h(d,d.umod(this.m)._forceRed(this)),d)},W.prototype.neg=function(d){return d.isZero()?d.clone():this.m.sub(d)._forceRed(this)},W.prototype.add=function(d,m){this._verify2(d,m);var x=d.add(m);return x.cmp(this.m)>=0&&x.isub(this.m),x._forceRed(this)},W.prototype.iadd=function(d,m){this._verify2(d,m);var x=d.iadd(m);return x.cmp(this.m)>=0&&x.isub(this.m),x},W.prototype.sub=function(d,m){this._verify2(d,m);var x=d.sub(m);return x.cmpn(0)<0&&x.iadd(this.m),x._forceRed(this)},W.prototype.isub=function(d,m){this._verify2(d,m);var x=d.isub(m);return x.cmpn(0)<0&&x.iadd(this.m),x},W.prototype.shl=function(d,m){return this._verify1(d),this.imod(d.ushln(m))},W.prototype.imul=function(d,m){return this._verify2(d,m),this.imod(d.imul(m))},W.prototype.mul=function(d,m){return this._verify2(d,m),this.imod(d.mul(m))},W.prototype.isqr=function(d){return this.imul(d,d.clone())},W.prototype.sqr=function(d){return this.mul(d,d)},W.prototype.sqrt=function(d){if(d.isZero())return d.clone();var m=this.m.andln(3);if(n(m%2===1),m===3){var x=this.m.add(new s(1)).iushrn(2);return this.pow(d,x)}for(var A=this.m.subn(1),I=0;!A.isZero()&&A.andln(1)===0;)I++,A.iushrn(1);n(!A.isZero());var T=new s(1).toRed(this),S=T.redNeg(),E=this.m.subn(1).iushrn(1),_=this.m.bitLength();for(_=new s(2*_*_).toRed(this);this.pow(_,E).cmp(S)!==0;)_.redIAdd(S);for(var U=this.pow(_,A),ie=this.pow(d,A.addn(1).iushrn(1)),q=this.pow(d,A),Y=I;q.cmp(T)!==0;){for(var K=q,ee=0;K.cmp(T)!==0;ee++)K=K.redSqr();n(ee=0;I--){for(var U=m.words[I],ie=_-1;ie>=0;ie--){var q=U>>ie&1;if(T!==A[0]&&(T=this.sqr(T)),q===0&&S===0){E=0;continue}S<<=1,S|=q,E++,!(E!==x&&(I!==0||ie!==0))&&(T=this.mul(T,A[S]),E=0,S=0)}_=26}return T},W.prototype.convertTo=function(d){var m=d.umod(this.m);return m===d?m.clone():m},W.prototype.convertFrom=function(d){var m=d.clone();return m.red=null,m},s.mont=function(d){return new P(d)};function P(b){W.call(this,b),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new s(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)}i(P,W),P.prototype.convertTo=function(d){return this.imod(d.ushln(this.shift))},P.prototype.convertFrom=function(d){var m=this.imod(d.mul(this.rinv));return m.red=null,m},P.prototype.imul=function(d,m){if(d.isZero()||m.isZero())return d.words[0]=0,d.length=1,d;var x=d.imul(m),A=x.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),I=x.isub(A).iushrn(this.shift),T=I;return I.cmp(this.m)>=0?T=I.isub(this.m):I.cmpn(0)<0&&(T=I.iadd(this.m)),T._forceRed(this)},P.prototype.mul=function(d,m){if(d.isZero()||m.isZero())return new s(0)._forceRed(this);var x=d.mul(m),A=x.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),I=x.isub(A).iushrn(this.shift),T=I;return I.cmp(this.m)>=0?T=I.isub(this.m):I.cmpn(0)<0&&(T=I.iadd(this.m)),T._forceRed(this)},P.prototype.invm=function(d){var m=this.imod(d._invmp(this.m).mul(this.r2));return m._forceRed(this)}})(r,ct)}(TB);var MS=TB.exports,l8={},Yd={};Object.defineProperty(Yd,"__esModule",{value:!0}),Yd.errorValues=Yd.standardErrorCodes=void 0,Yd.standardErrorCodes={rpc:{invalidInput:-32e3,resourceNotFound:-32001,resourceUnavailable:-32002,transactionRejected:-32003,methodNotSupported:-32004,limitExceeded:-32005,parse:-32700,invalidRequest:-32600,methodNotFound:-32601,invalidParams:-32602,internal:-32603},provider:{userRejectedRequest:4001,unauthorized:4100,unsupportedMethod:4200,disconnected:4900,chainDisconnected:4901,unsupportedChain:4902}},Yd.errorValues={"-32700":{standard:"JSON RPC 2.0",message:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."},"-32600":{standard:"JSON RPC 2.0",message:"The JSON sent is not a valid Request object."},"-32601":{standard:"JSON RPC 2.0",message:"The method does not exist / is not available."},"-32602":{standard:"JSON RPC 2.0",message:"Invalid method parameter(s)."},"-32603":{standard:"JSON RPC 2.0",message:"Internal JSON-RPC error."},"-32000":{standard:"EIP-1474",message:"Invalid input."},"-32001":{standard:"EIP-1474",message:"Resource not found."},"-32002":{standard:"EIP-1474",message:"Resource unavailable."},"-32003":{standard:"EIP-1474",message:"Transaction rejected."},"-32004":{standard:"EIP-1474",message:"Method not supported."},"-32005":{standard:"EIP-1474",message:"Request limit exceeded."},4001:{standard:"EIP-1193",message:"User rejected the request."},4100:{standard:"EIP-1193",message:"The requested account and/or method has not been authorized by the user."},4200:{standard:"EIP-1193",message:"The requested method is not supported by this Ethereum provider."},4900:{standard:"EIP-1193",message:"The provider is disconnected from all chains."},4901:{standard:"EIP-1193",message:"The provider is disconnected from the specified chain."},4902:{standard:"EIP-3085",message:"Unrecognized chain ID."}};var NS={},PS={};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.serialize=r.getErrorCode=r.isValidCode=r.getMessageFromCode=r.JSON_RPC_SERVER_ERROR_MESSAGE=void 0;const e=Yd,t="Unspecified error message.";r.JSON_RPC_SERVER_ERROR_MESSAGE="Unspecified server error.";function n(g,w=t){if(g&&Number.isInteger(g)){const y=g.toString();if(h(e.errorValues,y))return e.errorValues[y].message;if(l(g))return r.JSON_RPC_SERVER_ERROR_MESSAGE}return w}r.getMessageFromCode=n;function i(g){if(!Number.isInteger(g))return!1;const w=g.toString();return!!(e.errorValues[w]||l(g))}r.isValidCode=i;function s(g){var w;if(typeof g=="number")return g;if(o(g))return(w=g.code)!==null&&w!==void 0?w:g.errorCode}r.getErrorCode=s;function o(g){return typeof g=="object"&&g!==null&&(typeof g.code=="number"||typeof g.errorCode=="number")}function a(g,{shouldIncludeStack:w=!1}={}){const y={};if(g&&typeof g=="object"&&!Array.isArray(g)&&h(g,"code")&&i(g.code)){const C=g;y.code=C.code,C.message&&typeof C.message=="string"?(y.message=C.message,h(C,"data")&&(y.data=C.data)):(y.message=n(y.code),y.data={originalError:u(g)})}else y.code=e.standardErrorCodes.rpc.internal,y.message=p(g,"message")?g.message:t,y.data={originalError:u(g)};return w&&(y.stack=p(g,"stack")?g.stack:void 0),y}r.serialize=a;function l(g){return g>=-32099&&g<=-32e3}function u(g){return g&&typeof g=="object"&&!Array.isArray(g)?Object.assign({},g):g}function h(g,w){return Object.prototype.hasOwnProperty.call(g,w)}function p(g,w){return typeof g=="object"&&g!==null&&w in g&&typeof g[w]=="string"}})(PS),Object.defineProperty(NS,"__esModule",{value:!0}),NS.standardErrors=void 0;const zo=Yd,hle=PS;NS.standardErrors={rpc:{parse:r=>Yl(zo.standardErrorCodes.rpc.parse,r),invalidRequest:r=>Yl(zo.standardErrorCodes.rpc.invalidRequest,r),invalidParams:r=>Yl(zo.standardErrorCodes.rpc.invalidParams,r),methodNotFound:r=>Yl(zo.standardErrorCodes.rpc.methodNotFound,r),internal:r=>Yl(zo.standardErrorCodes.rpc.internal,r),server:r=>{if(!r||typeof r!="object"||Array.isArray(r))throw new Error("Ethereum RPC Server errors must provide single object argument.");const{code:e}=r;if(!Number.isInteger(e)||e>-32005||e<-32099)throw new Error('"code" must be an integer such that: -32099 <= code <= -32005');return Yl(e,r)},invalidInput:r=>Yl(zo.standardErrorCodes.rpc.invalidInput,r),resourceNotFound:r=>Yl(zo.standardErrorCodes.rpc.resourceNotFound,r),resourceUnavailable:r=>Yl(zo.standardErrorCodes.rpc.resourceUnavailable,r),transactionRejected:r=>Yl(zo.standardErrorCodes.rpc.transactionRejected,r),methodNotSupported:r=>Yl(zo.standardErrorCodes.rpc.methodNotSupported,r),limitExceeded:r=>Yl(zo.standardErrorCodes.rpc.limitExceeded,r)},provider:{userRejectedRequest:r=>xy(zo.standardErrorCodes.provider.userRejectedRequest,r),unauthorized:r=>xy(zo.standardErrorCodes.provider.unauthorized,r),unsupportedMethod:r=>xy(zo.standardErrorCodes.provider.unsupportedMethod,r),disconnected:r=>xy(zo.standardErrorCodes.provider.disconnected,r),chainDisconnected:r=>xy(zo.standardErrorCodes.provider.chainDisconnected,r),unsupportedChain:r=>xy(zo.standardErrorCodes.provider.unsupportedChain,r),custom:r=>{if(!r||typeof r!="object"||Array.isArray(r))throw new Error("Ethereum Provider custom errors must provide single object argument.");const{code:e,message:t,data:n}=r;if(!t||typeof t!="string")throw new Error('"message" must be a nonempty string');return new ple(e,t,n)}}};function Yl(r,e){const[t,n]=fle(e);return new dle(r,t||(0,hle.getMessageFromCode)(r),n)}function xy(r,e){const[t,n]=fle(e);return new ple(r,t||(0,hle.getMessageFromCode)(r),n)}function fle(r){if(r){if(typeof r=="string")return[r];if(typeof r=="object"&&!Array.isArray(r)){const{message:e,data:t}=r;if(e&&typeof e!="string")throw new Error("Must specify string message.");return[e||void 0,t]}}return[]}let dle=class extends Error{constructor(e,t,n){if(!Number.isInteger(e))throw new Error('"code" must be an integer.');if(!t||typeof t!="string")throw new Error('"message" must be a nonempty string.');super(t),this.code=e,n!==void 0&&(this.data=n)}},ple=class extends dle{constructor(e,t,n){if(!ELe(e))throw new Error('"code" must be an integer such that: 1000 <= code <= 4999');super(e,t,n)}};function ELe(r){return Number.isInteger(r)&&r>=1e3&&r<=4999}var OS={},_y={};Object.defineProperty(_y,"__esModule",{value:!0}),_y.isErrorResponse=void 0;function ALe(r){return r.errorMessage!==void 0}_y.isErrorResponse=ALe;var Ey={};Object.defineProperty(Ey,"__esModule",{value:!0}),Ey.LIB_VERSION=void 0,Ey.LIB_VERSION="3.9.1",Object.defineProperty(OS,"__esModule",{value:!0}),OS.serializeError=void 0;const CLe=_y,SLe=Ey,ILe=Yd,RLe=PS;function TLe(r,e){const t=(0,RLe.serialize)(kLe(r),{shouldIncludeStack:!0}),n=new URL("https://docs.cloud.coinbase.com/wallet-sdk/docs/errors");n.searchParams.set("version",SLe.LIB_VERSION),n.searchParams.set("code",t.code.toString());const i=MLe(t.data,e);return i&&n.searchParams.set("method",i),n.searchParams.set("message",t.message),Object.assign(Object.assign({},t),{docUrl:n.href})}OS.serializeError=TLe;function kLe(r){return typeof r=="string"?{message:r,code:ILe.standardErrorCodes.rpc.internal}:(0,CLe.isErrorResponse)(r)?Object.assign(Object.assign({},r),{message:r.errorMessage,code:r.errorCode,data:{method:r.method}}):r}function MLe(r,e){const t=r==null?void 0:r.method;if(t)return t;if(e!==void 0){if(typeof e=="string")return e;if(Array.isArray(e)){if(e.length>0)return e[0].method}else return e.method}}(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.standardErrors=r.standardErrorCodes=r.serializeError=r.getMessageFromCode=r.getErrorCode=void 0;const e=Yd;Object.defineProperty(r,"standardErrorCodes",{enumerable:!0,get:function(){return e.standardErrorCodes}});const t=NS;Object.defineProperty(r,"standardErrors",{enumerable:!0,get:function(){return t.standardErrors}});const n=OS;Object.defineProperty(r,"serializeError",{enumerable:!0,get:function(){return n.serializeError}});const i=PS;Object.defineProperty(r,"getErrorCode",{enumerable:!0,get:function(){return i.getErrorCode}}),Object.defineProperty(r,"getMessageFromCode",{enumerable:!0,get:function(){return i.getMessageFromCode}})})(l8);var Ks={};Object.defineProperty(Ks,"__esModule",{value:!0}),Ks.ProviderType=Ks.RegExpString=Ks.IntNumber=Ks.BigIntString=Ks.AddressString=Ks.HexString=Ks.OpaqueType=void 0;function u8(){return r=>r}Ks.OpaqueType=u8,Ks.HexString=u8(),Ks.AddressString=u8(),Ks.BigIntString=u8();function NLe(r){return Math.floor(r)}Ks.IntNumber=NLe,Ks.RegExpString=u8();var gle;(function(r){r.CoinbaseWallet="CoinbaseWallet",r.MetaMask="MetaMask",r.Unselected=""})(gle||(Ks.ProviderType=gle={}));var PLe=ct&&ct.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(mr,"__esModule",{value:!0}),mr.isMobileWeb=mr.getLocation=mr.isInIFrame=mr.createQrUrl=mr.getFavicon=mr.range=mr.isBigNumber=mr.ensureParsedJSONObject=mr.ensureBN=mr.ensureRegExpString=mr.ensureIntNumber=mr.ensureBuffer=mr.ensureAddressString=mr.ensureEvenLengthHexString=mr.ensureHexString=mr.isHexString=mr.prepend0x=mr.strip0x=mr.has0xPrefix=mr.hexStringFromIntNumber=mr.intNumberFromHexString=mr.bigIntStringFromBN=mr.hexStringFromBuffer=mr.hexStringToUint8Array=mr.uint8ArrayToHex=mr.randomBytesHex=void 0;const v1=PLe(MS),Um=l8,Ql=Ks,mle=/^[0-9]*$/,ble=/^[a-f0-9]*$/;function OLe(r){return wle(crypto.getRandomValues(new Uint8Array(r)))}mr.randomBytesHex=OLe;function wle(r){return[...r].map(e=>e.toString(16).padStart(2,"0")).join("")}mr.uint8ArrayToHex=wle;function DLe(r){return new Uint8Array(r.match(/.{1,2}/g).map(e=>parseInt(e,16)))}mr.hexStringToUint8Array=DLe;function $Le(r,e=!1){const t=r.toString("hex");return(0,Ql.HexString)(e?`0x${t}`:t)}mr.hexStringFromBuffer=$Le;function BLe(r){return(0,Ql.BigIntString)(r.toString(10))}mr.bigIntStringFromBN=BLe;function LLe(r){return(0,Ql.IntNumber)(new v1.default(f8(r,!1),16).toNumber())}mr.intNumberFromHexString=LLe;function ULe(r){return(0,Ql.HexString)(`0x${new v1.default(r).toString(16)}`)}mr.hexStringFromIntNumber=ULe;function kB(r){return r.startsWith("0x")||r.startsWith("0X")}mr.has0xPrefix=kB;function DS(r){return kB(r)?r.slice(2):r}mr.strip0x=DS;function vle(r){return kB(r)?`0x${r.slice(2)}`:`0x${r}`}mr.prepend0x=vle;function h8(r){if(typeof r!="string")return!1;const e=DS(r).toLowerCase();return ble.test(e)}mr.isHexString=h8;function yle(r,e=!1){if(typeof r=="string"){const t=DS(r).toLowerCase();if(ble.test(t))return(0,Ql.HexString)(e?`0x${t}`:t)}throw Um.standardErrors.rpc.invalidParams(`"${String(r)}" is not a hexadecimal string`)}mr.ensureHexString=yle;function f8(r,e=!1){let t=yle(r,!1);return t.length%2===1&&(t=(0,Ql.HexString)(`0${t}`)),e?(0,Ql.HexString)(`0x${t}`):t}mr.ensureEvenLengthHexString=f8;function FLe(r){if(typeof r=="string"){const e=DS(r).toLowerCase();if(h8(e)&&e.length===40)return(0,Ql.AddressString)(vle(e))}throw Um.standardErrors.rpc.invalidParams(`Invalid Ethereum address: ${String(r)}`)}mr.ensureAddressString=FLe;function jLe(r){if($t.isBuffer(r))return r;if(typeof r=="string"){if(h8(r)){const e=f8(r,!1);return $t.from(e,"hex")}return $t.from(r,"utf8")}throw Um.standardErrors.rpc.invalidParams(`Not binary data: ${String(r)}`)}mr.ensureBuffer=jLe;function xle(r){if(typeof r=="number"&&Number.isInteger(r))return(0,Ql.IntNumber)(r);if(typeof r=="string"){if(mle.test(r))return(0,Ql.IntNumber)(Number(r));if(h8(r))return(0,Ql.IntNumber)(new v1.default(f8(r,!1),16).toNumber())}throw Um.standardErrors.rpc.invalidParams(`Not an integer: ${String(r)}`)}mr.ensureIntNumber=xle;function zLe(r){if(r instanceof RegExp)return(0,Ql.RegExpString)(r.toString());throw Um.standardErrors.rpc.invalidParams(`Not a RegExp: ${String(r)}`)}mr.ensureRegExpString=zLe;function HLe(r){if(r!==null&&(v1.default.isBN(r)||_le(r)))return new v1.default(r.toString(10),10);if(typeof r=="number")return new v1.default(xle(r));if(typeof r=="string"){if(mle.test(r))return new v1.default(r,10);if(h8(r))return new v1.default(f8(r,!1),16)}throw Um.standardErrors.rpc.invalidParams(`Not an integer: ${String(r)}`)}mr.ensureBN=HLe;function qLe(r){if(typeof r=="string")return JSON.parse(r);if(typeof r=="object")return r;throw Um.standardErrors.rpc.invalidParams(`Not a JSON string or an object: ${String(r)}`)}mr.ensureParsedJSONObject=qLe;function _le(r){if(r==null||typeof r.constructor!="function")return!1;const{constructor:e}=r;return typeof e.config=="function"&&typeof e.EUCLID=="number"}mr.isBigNumber=_le;function WLe(r,e){return Array.from({length:e-r},(t,n)=>r+n)}mr.range=WLe;function VLe(){const r=document.querySelector('link[sizes="192x192"]')||document.querySelector('link[sizes="180x180"]')||document.querySelector('link[rel="icon"]')||document.querySelector('link[rel="shortcut icon"]'),{protocol:e,host:t}=document.location,n=r?r.getAttribute("href"):null;return!n||n.startsWith("javascript:")||n.startsWith("vbscript:")?null:n.startsWith("http://")||n.startsWith("https://")||n.startsWith("data:")?n:n.startsWith("//")?e+n:`${e}//${t}${n}`}mr.getFavicon=VLe;function GLe(r,e,t,n,i,s){const o=n?"parent-id":"id",a=new URLSearchParams({[o]:r,secret:e,server:t,v:i,chainId:s.toString()}).toString();return`${t}/#/link?${a}`}mr.createQrUrl=GLe;function Ele(){try{return window.frameElement!==null}catch{return!1}}mr.isInIFrame=Ele;function KLe(){try{return Ele()&&window.top?window.top.location:window.location}catch{return window.location}}mr.getLocation=KLe;function ZLe(){var r;return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test((r=window==null?void 0:window.navigator)===null||r===void 0?void 0:r.userAgent)}mr.isMobileWeb=ZLe;var $S={};Object.defineProperty($S,"__esModule",{value:!0}),$S.ScopedLocalStorage=void 0;class JLe{constructor(e){this.scope=e}setItem(e,t){localStorage.setItem(this.scopedKey(e),t)}getItem(e){return localStorage.getItem(this.scopedKey(e))}removeItem(e){localStorage.removeItem(this.scopedKey(e))}clear(){const e=this.scopedKey(""),t=[];for(let n=0;nlocalStorage.removeItem(n))}scopedKey(e){return`${this.scope}:${e}`}}$S.ScopedLocalStorage=JLe;var Ay={},d8={},p8={},Cy={};Object.defineProperty(Cy,"__esModule",{value:!0}),Cy.EVENTS=void 0,Cy.EVENTS={STARTED_CONNECTING:"walletlink_sdk.started.connecting",CONNECTED_STATE_CHANGE:"walletlink_sdk.connected",DISCONNECTED:"walletlink_sdk.disconnected",METADATA_DESTROYED:"walletlink_sdk_metadata_destroyed",LINKED:"walletlink_sdk.linked",FAILURE:"walletlink_sdk.generic_failure",SESSION_CONFIG_RECEIVED:"walletlink_sdk.session_config_event_received",ETH_ACCOUNTS_STATE:"walletlink_sdk.eth_accounts_state",SESSION_STATE_CHANGE:"walletlink_sdk.session_state_change",UNLINKED_ERROR_STATE:"walletlink_sdk.unlinked_error_state",SKIPPED_CLEARING_SESSION:"walletlink_sdk.skipped_clearing_session",GENERAL_ERROR:"walletlink_sdk.general_error",WEB3_REQUEST:"walletlink_sdk.web3.request",WEB3_REQUEST_PUBLISHED:"walletlink_sdk.web3.request_published",WEB3_RESPONSE:"walletlink_sdk.web3.response",METHOD_NOT_IMPLEMENTED:"walletlink_sdk.method_not_implemented",UNKNOWN_ADDRESS_ENCOUNTERED:"walletlink_sdk.unknown_address_encountered"};var Xl={};Object.defineProperty(Xl,"__esModule",{value:!0}),Xl.RelayAbstract=Xl.APP_VERSION_KEY=Xl.LOCAL_STORAGE_ADDRESSES_KEY=Xl.WALLET_USER_NAME_KEY=void 0;const Ale=l8;Xl.WALLET_USER_NAME_KEY="walletUsername",Xl.LOCAL_STORAGE_ADDRESSES_KEY="Addresses",Xl.APP_VERSION_KEY="AppVersion";class YLe{async makeEthereumJSONRPCRequest(e,t){if(!t)throw new Error("Error: No jsonRpcUrl provided");return window.fetch(t,{method:"POST",body:JSON.stringify(e),mode:"cors",headers:{"Content-Type":"application/json"}}).then(n=>n.json()).then(n=>{if(!n)throw Ale.standardErrors.rpc.parse({});const i=n,{error:s}=i;if(s)throw(0,Ale.serializeError)(s,e.method);return i})}}Xl.RelayAbstract=YLe;var Sy={},Cle={exports:{}},MB={exports:{}};typeof Object.create=="function"?MB.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:MB.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}};var Yu=MB.exports,NB={exports:{}};/*! safe-buffer. MIT License. Feross Aboukhadijeh */(function(r,e){var t=Hc,n=t.Buffer;function i(o,a){for(var l in o)a[l]=o[l]}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?r.exports=t:(i(t,e),e.Buffer=s);function s(o,a,l){return n(o,a,l)}s.prototype=Object.create(n.prototype),i(n,s),s.from=function(o,a,l){if(typeof o=="number")throw new TypeError("Argument must not be a number");return n(o,a,l)},s.alloc=function(o,a,l){if(typeof o!="number")throw new TypeError("Argument must be a number");var u=n(o);return a!==void 0?typeof l=="string"?u.fill(a,l):u.fill(a):u.fill(0),u},s.allocUnsafe=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return n(o)},s.allocUnsafeSlow=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return t.SlowBuffer(o)}})(NB,NB.exports);var Fm=NB.exports,Sle=Fm.Buffer;function BS(r,e){this._block=Sle.alloc(r),this._finalSize=e,this._blockSize=r,this._len=0}BS.prototype.update=function(r,e){typeof r=="string"&&(e=e||"utf8",r=Sle.from(r,e));for(var t=this._block,n=this._blockSize,i=r.length,s=this._len,o=0;o=this._finalSize&&(this._update(this._block),this._block.fill(0));var t=this._len*8;if(t<=4294967295)this._block.writeUInt32BE(t,this._blockSize-4);else{var n=(t&4294967295)>>>0,i=(t-n)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var s=this._hash();return r?s.toString(r):s},BS.prototype._update=function(){throw new Error("_update must be implemented by subclass")};var Iy=BS,QLe=Yu,Ile=Iy,XLe=Fm.Buffer,eUe=[1518500249,1859775393,-1894007588,-899497514],tUe=new Array(80);function g8(){this.init(),this._w=tUe,Ile.call(this,64,56)}QLe(g8,Ile),g8.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function rUe(r){return r<<5|r>>>27}function nUe(r){return r<<30|r>>>2}function iUe(r,e,t,n){return r===0?e&t|~e&n:r===2?e&t|e&n|t&n:e^t^n}g8.prototype._update=function(r){for(var e=this._w,t=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,a=0;a<16;++a)e[a]=r.readInt32BE(a*4);for(;a<80;++a)e[a]=e[a-3]^e[a-8]^e[a-14]^e[a-16];for(var l=0;l<80;++l){var u=~~(l/20),h=rUe(t)+iUe(u,n,i,s)+o+e[l]+eUe[u]|0;o=s,s=i,i=nUe(n),n=t,t=h}this._a=t+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=o+this._e|0},g8.prototype._hash=function(){var r=XLe.allocUnsafe(20);return r.writeInt32BE(this._a|0,0),r.writeInt32BE(this._b|0,4),r.writeInt32BE(this._c|0,8),r.writeInt32BE(this._d|0,12),r.writeInt32BE(this._e|0,16),r};var sUe=g8,oUe=Yu,Rle=Iy,aUe=Fm.Buffer,cUe=[1518500249,1859775393,-1894007588,-899497514],lUe=new Array(80);function m8(){this.init(),this._w=lUe,Rle.call(this,64,56)}oUe(m8,Rle),m8.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function uUe(r){return r<<1|r>>>31}function hUe(r){return r<<5|r>>>27}function fUe(r){return r<<30|r>>>2}function dUe(r,e,t,n){return r===0?e&t|~e&n:r===2?e&t|e&n|t&n:e^t^n}m8.prototype._update=function(r){for(var e=this._w,t=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,a=0;a<16;++a)e[a]=r.readInt32BE(a*4);for(;a<80;++a)e[a]=uUe(e[a-3]^e[a-8]^e[a-14]^e[a-16]);for(var l=0;l<80;++l){var u=~~(l/20),h=hUe(t)+dUe(u,n,i,s)+o+e[l]+cUe[u]|0;o=s,s=i,i=fUe(n),n=t,t=h}this._a=t+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=o+this._e|0},m8.prototype._hash=function(){var r=aUe.allocUnsafe(20);return r.writeInt32BE(this._a|0,0),r.writeInt32BE(this._b|0,4),r.writeInt32BE(this._c|0,8),r.writeInt32BE(this._d|0,12),r.writeInt32BE(this._e|0,16),r};var pUe=m8,gUe=Yu,Tle=Iy,mUe=Fm.Buffer,bUe=[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,2756734187,3204031479,3329325298],wUe=new Array(64);function b8(){this.init(),this._w=wUe,Tle.call(this,64,56)}gUe(b8,Tle),b8.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this};function vUe(r,e,t){return t^r&(e^t)}function yUe(r,e,t){return r&e|t&(r|e)}function xUe(r){return(r>>>2|r<<30)^(r>>>13|r<<19)^(r>>>22|r<<10)}function _Ue(r){return(r>>>6|r<<26)^(r>>>11|r<<21)^(r>>>25|r<<7)}function EUe(r){return(r>>>7|r<<25)^(r>>>18|r<<14)^r>>>3}function AUe(r){return(r>>>17|r<<15)^(r>>>19|r<<13)^r>>>10}b8.prototype._update=function(r){for(var e=this._w,t=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,a=this._f|0,l=this._g|0,u=this._h|0,h=0;h<16;++h)e[h]=r.readInt32BE(h*4);for(;h<64;++h)e[h]=AUe(e[h-2])+e[h-7]+EUe(e[h-15])+e[h-16]|0;for(var p=0;p<64;++p){var g=u+_Ue(o)+vUe(o,a,l)+bUe[p]+e[p]|0,w=xUe(t)+yUe(t,n,i)|0;u=l,l=a,a=o,o=s+g|0,s=i,i=n,n=t,t=g+w|0}this._a=t+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=o+this._e|0,this._f=a+this._f|0,this._g=l+this._g|0,this._h=u+this._h|0},b8.prototype._hash=function(){var r=mUe.allocUnsafe(32);return r.writeInt32BE(this._a,0),r.writeInt32BE(this._b,4),r.writeInt32BE(this._c,8),r.writeInt32BE(this._d,12),r.writeInt32BE(this._e,16),r.writeInt32BE(this._f,20),r.writeInt32BE(this._g,24),r.writeInt32BE(this._h,28),r};var kle=b8,CUe=Yu,SUe=kle,IUe=Iy,RUe=Fm.Buffer,TUe=new Array(64);function LS(){this.init(),this._w=TUe,IUe.call(this,64,56)}CUe(LS,SUe),LS.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},LS.prototype._hash=function(){var r=RUe.allocUnsafe(28);return r.writeInt32BE(this._a,0),r.writeInt32BE(this._b,4),r.writeInt32BE(this._c,8),r.writeInt32BE(this._d,12),r.writeInt32BE(this._e,16),r.writeInt32BE(this._f,20),r.writeInt32BE(this._g,24),r};var kUe=LS,MUe=Yu,Mle=Iy,NUe=Fm.Buffer,Nle=[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,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],PUe=new Array(160);function w8(){this.init(),this._w=PUe,Mle.call(this,128,112)}MUe(w8,Mle),w8.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this};function Ple(r,e,t){return t^r&(e^t)}function Ole(r,e,t){return r&e|t&(r|e)}function Dle(r,e){return(r>>>28|e<<4)^(e>>>2|r<<30)^(e>>>7|r<<25)}function $le(r,e){return(r>>>14|e<<18)^(r>>>18|e<<14)^(e>>>9|r<<23)}function OUe(r,e){return(r>>>1|e<<31)^(r>>>8|e<<24)^r>>>7}function DUe(r,e){return(r>>>1|e<<31)^(r>>>8|e<<24)^(r>>>7|e<<25)}function $Ue(r,e){return(r>>>19|e<<13)^(e>>>29|r<<3)^r>>>6}function BUe(r,e){return(r>>>19|e<<13)^(e>>>29|r<<3)^(r>>>6|e<<26)}function Ao(r,e){return r>>>0>>0?1:0}w8.prototype._update=function(r){for(var e=this._w,t=this._ah|0,n=this._bh|0,i=this._ch|0,s=this._dh|0,o=this._eh|0,a=this._fh|0,l=this._gh|0,u=this._hh|0,h=this._al|0,p=this._bl|0,g=this._cl|0,w=this._dl|0,y=this._el|0,C=this._fl|0,R=this._gl|0,k=this._hl|0,M=0;M<32;M+=2)e[M]=r.readInt32BE(M*4),e[M+1]=r.readInt32BE(M*4+4);for(;M<160;M+=2){var O=e[M-30],B=e[M-15*2+1],j=OUe(O,B),G=DUe(B,O);O=e[M-2*2],B=e[M-2*2+1];var D=$Ue(O,B),$=BUe(B,O),V=e[M-7*2],te=e[M-7*2+1],W=e[M-16*2],P=e[M-16*2+1],b=G+te|0,d=j+V+Ao(b,G)|0;b=b+$|0,d=d+D+Ao(b,$)|0,b=b+P|0,d=d+W+Ao(b,P)|0,e[M]=d,e[M+1]=b}for(var m=0;m<160;m+=2){d=e[m],b=e[m+1];var x=Ole(t,n,i),A=Ole(h,p,g),I=Dle(t,h),T=Dle(h,t),S=$le(o,y),E=$le(y,o),_=Nle[m],U=Nle[m+1],ie=Ple(o,a,l),q=Ple(y,C,R),Y=k+E|0,K=u+S+Ao(Y,k)|0;Y=Y+q|0,K=K+ie+Ao(Y,q)|0,Y=Y+U|0,K=K+_+Ao(Y,U)|0,Y=Y+b|0,K=K+d+Ao(Y,b)|0;var ee=T+A|0,re=I+x+Ao(ee,T)|0;u=l,k=R,l=a,R=C,a=o,C=y,y=w+Y|0,o=s+K+Ao(y,w)|0,s=i,w=g,i=n,g=p,n=t,p=h,h=Y+ee|0,t=K+re+Ao(h,Y)|0}this._al=this._al+h|0,this._bl=this._bl+p|0,this._cl=this._cl+g|0,this._dl=this._dl+w|0,this._el=this._el+y|0,this._fl=this._fl+C|0,this._gl=this._gl+R|0,this._hl=this._hl+k|0,this._ah=this._ah+t+Ao(this._al,h)|0,this._bh=this._bh+n+Ao(this._bl,p)|0,this._ch=this._ch+i+Ao(this._cl,g)|0,this._dh=this._dh+s+Ao(this._dl,w)|0,this._eh=this._eh+o+Ao(this._el,y)|0,this._fh=this._fh+a+Ao(this._fl,C)|0,this._gh=this._gh+l+Ao(this._gl,R)|0,this._hh=this._hh+u+Ao(this._hl,k)|0},w8.prototype._hash=function(){var r=NUe.allocUnsafe(64);function e(t,n,i){r.writeInt32BE(t,i),r.writeInt32BE(n,i+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),e(this._gh,this._gl,48),e(this._hh,this._hl,56),r};var Ble=w8,LUe=Yu,UUe=Ble,FUe=Iy,jUe=Fm.Buffer,zUe=new Array(160);function US(){this.init(),this._w=zUe,FUe.call(this,128,112)}LUe(US,UUe),US.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},US.prototype._hash=function(){var r=jUe.allocUnsafe(48);function e(t,n,i){r.writeInt32BE(t,i),r.writeInt32BE(n,i+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),r};var HUe=US,jm=Cle.exports=function(e){e=e.toLowerCase();var t=jm[e];if(!t)throw new Error(e+" is not supported (we accept pull requests)");return new t};jm.sha=sUe,jm.sha1=pUe,jm.sha224=kUe,jm.sha256=kle,jm.sha384=HUe,jm.sha512=Ble;var qUe=Cle.exports;Object.defineProperty(Sy,"__esModule",{value:!0}),Sy.Session=void 0;const Lle=qUe,Ule=mr,Fle="session:id",jle="session:secret",zle="session:linked";class PB{constructor(e,t,n,i){this._storage=e,this._id=t||(0,Ule.randomBytesHex)(16),this._secret=n||(0,Ule.randomBytesHex)(32),this._key=new Lle.sha256().update(`${this._id}, ${this._secret} WalletLink`).digest("hex"),this._linked=!!i}static load(e){const t=e.getItem(Fle),n=e.getItem(zle),i=e.getItem(jle);return t&&i?new PB(e,t,i,n==="1"):null}static hash(e){return new Lle.sha256().update(e).digest("hex")}get id(){return this._id}get secret(){return this._secret}get key(){return this._key}get linked(){return this._linked}set linked(e){this._linked=e,this.persistLinked()}save(){return this._storage.setItem(Fle,this._id),this._storage.setItem(jle,this._secret),this.persistLinked(),this}persistLinked(){this._storage.setItem(zle,this._linked?"1":"0")}}Sy.Session=PB;var FS={},jS={};Object.defineProperty(jS,"__esModule",{value:!0}),jS.Cipher=void 0;const zS=mr;class WUe{constructor(e){this.secret=e}async encrypt(e){const t=this.secret;if(t.length!==64)throw Error("secret must be 256 bits");const n=crypto.getRandomValues(new Uint8Array(12)),i=await crypto.subtle.importKey("raw",(0,zS.hexStringToUint8Array)(t),{name:"aes-gcm"},!1,["encrypt","decrypt"]),s=new TextEncoder,o=await window.crypto.subtle.encrypt({name:"AES-GCM",iv:n},i,s.encode(e)),a=16,l=o.slice(o.byteLength-a),u=o.slice(0,o.byteLength-a),h=new Uint8Array(l),p=new Uint8Array(u),g=new Uint8Array([...n,...h,...p]);return(0,zS.uint8ArrayToHex)(g)}async decrypt(e){const t=this.secret;if(t.length!==64)throw Error("secret must be 256 bits");return new Promise((n,i)=>{(async function(){const s=await crypto.subtle.importKey("raw",(0,zS.hexStringToUint8Array)(t),{name:"aes-gcm"},!1,["encrypt","decrypt"]),o=(0,zS.hexStringToUint8Array)(e),a=o.slice(0,12),l=o.slice(12,28),u=o.slice(28),h=new Uint8Array([...u,...l]),p={name:"AES-GCM",iv:new Uint8Array(a)};try{const g=await window.crypto.subtle.decrypt(p,s,h),w=new TextDecoder;n(w.decode(g))}catch(g){i(g)}})()})}}jS.Cipher=WUe;var HS={};Object.defineProperty(HS,"__esModule",{value:!0}),HS.WalletLinkHTTP=void 0;class VUe{constructor(e,t,n){this.linkAPIUrl=e,this.sessionId=t;const i=`${t}:${n}`;this.auth=`Basic ${btoa(i)}`}async markUnseenEventsAsSeen(e){return Promise.all(e.map(t=>fetch(`${this.linkAPIUrl}/events/${t.eventId}/seen`,{method:"POST",headers:{Authorization:this.auth}}))).catch(t=>console.error("Unabled to mark event as failed:",t))}async fetchUnseenEvents(){var e;const t=await fetch(`${this.linkAPIUrl}/events?unseen=true`,{headers:{Authorization:this.auth}});if(t.ok){const{events:n,error:i}=await t.json();if(i)throw new Error(`Check unseen events failed: ${i}`);const s=(e=n==null?void 0:n.filter(o=>o.event==="Web3Response").map(o=>({type:"Event",sessionId:this.sessionId,eventId:o.id,event:o.event,data:o.data})))!==null&&e!==void 0?e:[];return this.markUnseenEventsAsSeen(s),s}throw new Error(`Check unseen events failed: ${t.status}`)}}HS.WalletLinkHTTP=VUe;var Ry={};Object.defineProperty(Ry,"__esModule",{value:!0}),Ry.WalletLinkWebSocket=Ry.ConnectionState=void 0;var Ty;(function(r){r[r.DISCONNECTED=0]="DISCONNECTED",r[r.CONNECTING=1]="CONNECTING",r[r.CONNECTED=2]="CONNECTED"})(Ty||(Ry.ConnectionState=Ty={}));class GUe{setConnectionStateListener(e){this.connectionStateListener=e}setIncomingDataListener(e){this.incomingDataListener=e}constructor(e,t=WebSocket){this.WebSocketClass=t,this.webSocket=null,this.pendingData=[],this.url=e.replace(/^http/,"ws")}async connect(){if(this.webSocket)throw new Error("webSocket object is not null");return new Promise((e,t)=>{var n;let i;try{this.webSocket=i=new this.WebSocketClass(this.url)}catch(s){t(s);return}(n=this.connectionStateListener)===null||n===void 0||n.call(this,Ty.CONNECTING),i.onclose=s=>{var o;this.clearWebSocket(),t(new Error(`websocket error ${s.code}: ${s.reason}`)),(o=this.connectionStateListener)===null||o===void 0||o.call(this,Ty.DISCONNECTED)},i.onopen=s=>{var o;e(),(o=this.connectionStateListener)===null||o===void 0||o.call(this,Ty.CONNECTED),this.pendingData.length>0&&([...this.pendingData].forEach(l=>this.sendData(l)),this.pendingData=[])},i.onmessage=s=>{var o,a;if(s.data==="h")(o=this.incomingDataListener)===null||o===void 0||o.call(this,{type:"Heartbeat"});else try{const l=JSON.parse(s.data);(a=this.incomingDataListener)===null||a===void 0||a.call(this,l)}catch{}}})}disconnect(){var e;const{webSocket:t}=this;if(t){this.clearWebSocket(),(e=this.connectionStateListener)===null||e===void 0||e.call(this,Ty.DISCONNECTED),this.connectionStateListener=void 0,this.incomingDataListener=void 0;try{t.close()}catch{}}}sendData(e){const{webSocket:t}=this;if(!t){this.pendingData.push(e),this.connect();return}t.send(e)}clearWebSocket(){const{webSocket:e}=this;e&&(this.webSocket=null,e.onclose=null,e.onerror=null,e.onmessage=null,e.onopen=null)}}Ry.WalletLinkWebSocket=GUe,Object.defineProperty(FS,"__esModule",{value:!0}),FS.WalletLinkConnection=void 0;const ky=Ks,KUe=jS,wf=Cy,Hle=Xl,My=Sy,ZUe=HS,qS=Ry,qle=1e4,JUe=6e4;class YUe{constructor({session:e,linkAPIUrl:t,listener:n,diagnostic:i,WebSocketClass:s=WebSocket}){this.destroyed=!1,this.lastHeartbeatResponse=0,this.nextReqId=(0,ky.IntNumber)(1),this._connected=!1,this._linked=!1,this.shouldFetchUnseenEventsOnConnect=!1,this.requestResolutions=new Map,this.handleSessionMetadataUpdated=a=>{if(!a)return;new Map([["__destroyed",this.handleDestroyed],["EthereumAddress",this.handleAccountUpdated],["WalletUsername",this.handleWalletUsernameUpdated],["AppVersion",this.handleAppVersionUpdated],["ChainId",u=>a.JsonRpcUrl&&this.handleChainUpdated(u,a.JsonRpcUrl)]]).forEach((u,h)=>{const p=a[h];p!==void 0&&u(p)})},this.handleDestroyed=a=>{var l,u;a==="1"&&((l=this.listener)===null||l===void 0||l.resetAndReload(),(u=this.diagnostic)===null||u===void 0||u.log(wf.EVENTS.METADATA_DESTROYED,{alreadyDestroyed:this.isDestroyed,sessionIdHash:My.Session.hash(this.session.id)}))},this.handleAccountUpdated=async a=>{var l,u;try{const h=await this.cipher.decrypt(a);(l=this.listener)===null||l===void 0||l.accountUpdated(h)}catch{(u=this.diagnostic)===null||u===void 0||u.log(wf.EVENTS.GENERAL_ERROR,{message:"Had error decrypting",value:"selectedAddress"})}},this.handleMetadataUpdated=async(a,l)=>{var u,h;try{const p=await this.cipher.decrypt(l);(u=this.listener)===null||u===void 0||u.metadataUpdated(a,p)}catch{(h=this.diagnostic)===null||h===void 0||h.log(wf.EVENTS.GENERAL_ERROR,{message:"Had error decrypting",value:a})}},this.handleWalletUsernameUpdated=async a=>{this.handleMetadataUpdated(Hle.WALLET_USER_NAME_KEY,a)},this.handleAppVersionUpdated=async a=>{this.handleMetadataUpdated(Hle.APP_VERSION_KEY,a)},this.handleChainUpdated=async(a,l)=>{var u,h;try{const p=await this.cipher.decrypt(a),g=await this.cipher.decrypt(l);(u=this.listener)===null||u===void 0||u.chainUpdated(p,g)}catch{(h=this.diagnostic)===null||h===void 0||h.log(wf.EVENTS.GENERAL_ERROR,{message:"Had error decrypting",value:"chainId|jsonRpcUrl"})}},this.session=e,this.cipher=new KUe.Cipher(e.secret),this.diagnostic=i,this.listener=n;const o=new qS.WalletLinkWebSocket(`${t}/rpc`,s);o.setConnectionStateListener(async a=>{var l;(l=this.diagnostic)===null||l===void 0||l.log(wf.EVENTS.CONNECTED_STATE_CHANGE,{state:a,sessionIdHash:My.Session.hash(e.id)});let u=!1;switch(a){case qS.ConnectionState.DISCONNECTED:if(!this.destroyed){const h=async()=>{await new Promise(p=>setTimeout(p,5e3)),this.destroyed||o.connect().catch(()=>{h()})};h()}break;case qS.ConnectionState.CONNECTED:try{await this.authenticate(),this.sendIsLinked(),this.sendGetSessionConfig(),u=!0}catch{}this.updateLastHeartbeat(),setInterval(()=>{this.heartbeat()},qle),this.shouldFetchUnseenEventsOnConnect&&this.fetchUnseenEventsAPI();break;case qS.ConnectionState.CONNECTING:break}this.connected!==u&&(this.connected=u)}),o.setIncomingDataListener(a=>{var l,u,h;switch(a.type){case"Heartbeat":this.updateLastHeartbeat();return;case"IsLinkedOK":case"Linked":{const p=a.type==="IsLinkedOK"?a.linked:void 0;(l=this.diagnostic)===null||l===void 0||l.log(wf.EVENTS.LINKED,{sessionIdHash:My.Session.hash(e.id),linked:p,type:a.type,onlineGuests:a.onlineGuests}),this.linked=p||a.onlineGuests>0;break}case"GetSessionConfigOK":case"SessionConfigUpdated":{(u=this.diagnostic)===null||u===void 0||u.log(wf.EVENTS.SESSION_CONFIG_RECEIVED,{sessionIdHash:My.Session.hash(e.id),metadata_keys:a&&a.metadata?Object.keys(a.metadata):void 0}),this.handleSessionMetadataUpdated(a.metadata);break}case"Event":{this.handleIncomingEvent(a);break}}a.id!==void 0&&((h=this.requestResolutions.get(a.id))===null||h===void 0||h(a))}),this.ws=o,this.http=new ZUe.WalletLinkHTTP(t,e.id,e.key)}connect(){var e;if(this.destroyed)throw new Error("instance is destroyed");(e=this.diagnostic)===null||e===void 0||e.log(wf.EVENTS.STARTED_CONNECTING,{sessionIdHash:My.Session.hash(this.session.id)}),this.ws.connect()}destroy(){var e;this.destroyed=!0,this.ws.disconnect(),(e=this.diagnostic)===null||e===void 0||e.log(wf.EVENTS.DISCONNECTED,{sessionIdHash:My.Session.hash(this.session.id)}),this.listener=void 0}get isDestroyed(){return this.destroyed}get connected(){return this._connected}set connected(e){var t,n;this._connected=e,e&&((t=this.onceConnected)===null||t===void 0||t.call(this)),(n=this.listener)===null||n===void 0||n.connectedUpdated(e)}setOnceConnected(e){return new Promise(t=>{this.connected?e().then(t):this.onceConnected=()=>{e().then(t),this.onceConnected=void 0}})}get linked(){return this._linked}set linked(e){var t,n;this._linked=e,e&&((t=this.onceLinked)===null||t===void 0||t.call(this)),(n=this.listener)===null||n===void 0||n.linkedUpdated(e)}setOnceLinked(e){return new Promise(t=>{this.linked?e().then(t):this.onceLinked=()=>{e().then(t),this.onceLinked=void 0}})}async handleIncomingEvent(e){var t,n;if(!(e.type!=="Event"||e.event!=="Web3Response"))try{const i=await this.cipher.decrypt(e.data),s=JSON.parse(i);if(s.type!=="WEB3_RESPONSE")return;(t=this.listener)===null||t===void 0||t.handleWeb3ResponseMessage(s)}catch{(n=this.diagnostic)===null||n===void 0||n.log(wf.EVENTS.GENERAL_ERROR,{message:"Had error decrypting",value:"incomingEvent"})}}async checkUnseenEvents(){if(!this.connected){this.shouldFetchUnseenEventsOnConnect=!0;return}await new Promise(e=>setTimeout(e,250));try{await this.fetchUnseenEventsAPI()}catch(e){console.error("Unable to check for unseen events",e)}}async fetchUnseenEventsAPI(){this.shouldFetchUnseenEventsOnConnect=!1,(await this.http.fetchUnseenEvents()).forEach(t=>this.handleIncomingEvent(t))}async setSessionMetadata(e,t){const n={type:"SetSessionConfig",id:(0,ky.IntNumber)(this.nextReqId++),sessionId:this.session.id,metadata:{[e]:t}};return this.setOnceConnected(async()=>{const i=await this.makeRequest(n);if(i.type==="Fail")throw new Error(i.error||"failed to set session metadata")})}async publishEvent(e,t,n=!1){const i=await this.cipher.encrypt(JSON.stringify(Object.assign(Object.assign({},t),{origin:location.origin,relaySource:window.coinbaseWalletExtension?"injected_sdk":"sdk"}))),s={type:"PublishEvent",id:(0,ky.IntNumber)(this.nextReqId++),sessionId:this.session.id,event:e,data:i,callWebhook:n};return this.setOnceLinked(async()=>{const o=await this.makeRequest(s);if(o.type==="Fail")throw new Error(o.error||"failed to publish event");return o.eventId})}sendData(e){this.ws.sendData(JSON.stringify(e))}updateLastHeartbeat(){this.lastHeartbeatResponse=Date.now()}heartbeat(){if(Date.now()-this.lastHeartbeatResponse>qle*2){this.ws.disconnect();return}try{this.ws.sendData("h")}catch{}}async makeRequest(e,t=JUe){const n=e.id;this.sendData(e);let i;return Promise.race([new Promise((s,o)=>{i=window.setTimeout(()=>{o(new Error(`request ${n} timed out`))},t)}),new Promise(s=>{this.requestResolutions.set(n,o=>{clearTimeout(i),s(o),this.requestResolutions.delete(n)})})])}async authenticate(){const e={type:"HostSession",id:(0,ky.IntNumber)(this.nextReqId++),sessionId:this.session.id,sessionKey:this.session.key},t=await this.makeRequest(e);if(t.type==="Fail")throw new Error(t.error||"failed to authentcate")}sendIsLinked(){const e={type:"IsLinked",id:(0,ky.IntNumber)(this.nextReqId++),sessionId:this.session.id};this.sendData(e)}sendGetSessionConfig(){const e={type:"GetSessionConfig",id:(0,ky.IntNumber)(this.nextReqId++),sessionId:this.session.id};this.sendData(e)}}FS.WalletLinkConnection=YUe;var v8={},y8={},OB={};Object.defineProperty(OB,"__esModule",{value:!0}),OB.default='@namespace svg "http://www.w3.org/2000/svg";.-cbwsdk-css-reset,.-cbwsdk-css-reset *{animation:none;animation-delay:0;animation-direction:normal;animation-duration:0;animation-fill-mode:none;animation-iteration-count:1;animation-name:none;animation-play-state:running;animation-timing-function:ease;backface-visibility:visible;background:0;background-attachment:scroll;background-clip:border-box;background-color:rgba(0,0,0,0);background-image:none;background-origin:padding-box;background-position:0 0;background-position-x:0;background-position-y:0;background-repeat:repeat;background-size:auto auto;border:0;border-style:none;border-width:medium;border-color:inherit;border-bottom:0;border-bottom-color:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-style:none;border-bottom-width:medium;border-collapse:separate;border-image:none;border-left:0;border-left-color:inherit;border-left-style:none;border-left-width:medium;border-radius:0;border-right:0;border-right-color:inherit;border-right-style:none;border-right-width:medium;border-spacing:0;border-top:0;border-top-color:inherit;border-top-left-radius:0;border-top-right-radius:0;border-top-style:none;border-top-width:medium;box-shadow:none;box-sizing:border-box;caption-side:top;clear:none;clip:auto;color:inherit;columns:auto;column-count:auto;column-fill:balance;column-gap:normal;column-rule:medium none currentColor;column-rule-color:currentColor;column-rule-style:none;column-rule-width:none;column-span:1;column-width:auto;counter-increment:none;counter-reset:none;direction:ltr;empty-cells:show;float:none;font:normal;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;height:auto;hyphens:none;letter-spacing:normal;line-height:normal;list-style:none;list-style-image:none;list-style-position:outside;list-style-type:disc;margin:0;margin-bottom:0;margin-left:0;margin-right:0;margin-top:0;opacity:1;orphans:0;outline:0;outline-color:invert;outline-style:none;outline-width:medium;overflow:visible;overflow-x:visible;overflow-y:visible;padding:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;page-break-after:auto;page-break-before:auto;page-break-inside:auto;perspective:none;perspective-origin:50% 50%;pointer-events:auto;position:static;quotes:"\\201C" "\\201D" "\\2018" "\\2019";tab-size:8;table-layout:auto;text-align:inherit;text-align-last:auto;text-decoration:none;text-decoration-color:inherit;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-shadow:none;text-transform:none;transform:none;transform-style:flat;transition:none;transition-delay:0s;transition-duration:0s;transition-property:none;transition-timing-function:ease;unicode-bidi:normal;vertical-align:baseline;visibility:visible;white-space:normal;widows:0;word-spacing:normal;z-index:auto}.-cbwsdk-css-reset strong{font-weight:bold}.-cbwsdk-css-reset *{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;line-height:1}.-cbwsdk-css-reset [class*=container]{margin:0;padding:0}.-cbwsdk-css-reset style{display:none}';var QUe=ct&&ct.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(y8,"__esModule",{value:!0}),y8.injectCssReset=void 0;const XUe=QUe(OB);function eFe(){const r=document.createElement("style");r.type="text/css",r.appendChild(document.createTextNode(XUe.default)),document.documentElement.appendChild(r)}y8.injectCssReset=eFe;var WS={},x8,Gi,Wle,Vle,zm,Gle,Kle,DB,$B,BB,LB,Zle,_8={},Jle=[],tFe=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,VS=Array.isArray;function Qd(r,e){for(var t in e)r[t]=e[t];return r}function Yle(r){var e=r.parentNode;e&&e.removeChild(r)}function UB(r,e,t){var n,i,s,o={};for(s in e)s=="key"?n=e[s]:s=="ref"?i=e[s]:o[s]=e[s];if(arguments.length>2&&(o.children=arguments.length>3?x8.call(arguments,2):t),typeof r=="function"&&r.defaultProps!=null)for(s in r.defaultProps)o[s]===void 0&&(o[s]=r.defaultProps[s]);return E8(r,o,n,i,null)}function E8(r,e,t,n,i){var s={type:r,props:e,key:t,ref:n,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:i??++Wle,__i:-1,__u:0};return i==null&&Gi.vnode!=null&&Gi.vnode(s),s}function rFe(){return{current:null}}function A8(r){return r.children}function C8(r,e){this.props=r,this.context=e}function Hm(r,e){if(e==null)return r.__?Hm(r.__,r.__i+1):null;for(var t;ee&&zm.sort(DB));GS.__r=0}function Xle(r,e,t,n,i,s,o,a,l,u,h){var p,g,w,y,C,R=n&&n.__k||Jle,k=e.length;for(t.__d=l,nFe(t,e,R),l=t.__d,p=0;p0?E8(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):i)!=null?(i.__=r,i.__b=r.__b+1,a=iFe(i,t,o,h),i.__i=a,s=null,a!==-1&&(h--,(s=t[a])&&(s.__u|=131072)),s==null||s.__v===null?(a==-1&&p--,typeof i.type!="function"&&(i.__u|=65536)):a!==o&&(a===o+1?p++:a>o?h>l-o?p+=a-o:p--:a(l!=null&&!(131072&l.__u)?1:0))for(;o>=0||a=0){if((l=e[o])&&!(131072&l.__u)&&i==l.key&&s===l.type)return o;o--}if(a2&&(a.children=arguments.length>3?x8.call(arguments,2):t),E8(r.type,a,n||r.key,i||r.ref,null)}function cFe(r,e){var t={__c:e="__cC"+Zle++,__:r,Consumer:function(n,i){return n.children(i)},Provider:function(n){var i,s;return this.getChildContext||(i=[],(s={})[e]=this,this.getChildContext=function(){return s},this.shouldComponentUpdate=function(o){this.props.value!==o.value&&i.some(function(a){a.__e=!0,FB(a)})},this.sub=function(o){i.push(o);var a=o.componentWillUnmount;o.componentWillUnmount=function(){i.splice(i.indexOf(o),1),a&&a.call(o)}}),n.children}};return t.Provider.__=t.Consumer.contextType=t}x8=Jle.slice,Gi={__e:function(r,e,t,n){for(var i,s,o;e=e.__;)if((i=e.__c)&&!i.__)try{if((s=i.constructor)&&s.getDerivedStateFromError!=null&&(i.setState(s.getDerivedStateFromError(r)),o=i.__d),i.componentDidCatch!=null&&(i.componentDidCatch(r,n||{}),o=i.__d),o)return i.__E=i}catch(a){r=a}throw r}},Wle=0,Vle=function(r){return r!=null&&r.constructor==null},C8.prototype.setState=function(r,e){var t;t=this.__s!=null&&this.__s!==this.state?this.__s:this.__s=Qd({},this.state),typeof r=="function"&&(r=r(Qd({},t),this.props)),r&&Qd(t,r),r!=null&&this.__v&&(e&&this._sb.push(e),FB(this))},C8.prototype.forceUpdate=function(r){this.__v&&(this.__e=!0,r&&this.__h.push(r),FB(this))},C8.prototype.render=A8,zm=[],Kle=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,DB=function(r,e){return r.__v.__b-e.__v.__b},GS.__r=0,$B=0,BB=nue(!1),LB=nue(!0),Zle=0;const bc=sd(Object.freeze(Object.defineProperty({__proto__:null,Component:C8,Fragment:A8,cloneElement:aFe,createContext:cFe,createElement:UB,createRef:rFe,h:UB,hydrate:oue,get isValidElement(){return Vle},get options(){return Gi},render:sue,toChildArray:tue},Symbol.toStringTag,{value:"Module"})));var ZS={};function aue(r){var e,t,n="";if(typeof r=="string"||typeof r=="number")n+=r;else if(typeof r=="object")if(Array.isArray(r))for(e=0;e=t.__.length&&t.__.push({__V:JS}),t.__[r]}function bue(r){return Ny=1,wue(xue,r)}function wue(r,e,t){var n=qm(Xd++,2);if(n.t=r,!n.__c&&(n.__=[t?t(e):xue(void 0,e),function(a){var l=n.__N?n.__N[0]:n.__[0],u=n.t(l,a);l!==u&&(n.__N=[u,n.__[1]],n.__c.setState({}))}],n.__c=xi,!xi.u)){var i=function(a,l,u){if(!n.__c.__H)return!0;var h=n.__c.__H.__.filter(function(g){return!!g.__c});if(h.every(function(g){return!g.__N}))return!s||s.call(this,a,l,u);var p=!1;return h.forEach(function(g){if(g.__N){var w=g.__[0];g.__=g.__N,g.__N=void 0,w!==g.__[0]&&(p=!0)}}),!(!p&&n.__c.props===a)&&(!s||s.call(this,a,l,u))};xi.u=!0;var s=xi.shouldComponentUpdate,o=xi.componentWillUpdate;xi.componentWillUpdate=function(a,l,u){if(this.__e){var h=s;s=void 0,i(a,l,u),s=h}o&&o.call(this,a,l,u)},xi.shouldComponentUpdate=i}return n.__N||n.__}function lFe(r,e){var t=qm(Xd++,3);!es.__s&&GB(t.__H,e)&&(t.__=r,t.i=e,xi.__H.__h.push(t))}function vue(r,e){var t=qm(Xd++,4);!es.__s&&GB(t.__H,e)&&(t.__=r,t.i=e,xi.__h.push(t))}function uFe(r){return Ny=5,WB(function(){return{current:r}},[])}function hFe(r,e,t){Ny=6,vue(function(){return typeof r=="function"?(r(e()),function(){return r(null)}):r?(r.current=e(),function(){return r.current=null}):void 0},t==null?t:t.concat(r))}function WB(r,e){var t=qm(Xd++,7);return GB(t.__H,e)?(t.__V=r(),t.i=e,t.__h=r,t.__V):t.__}function fFe(r,e){return Ny=8,WB(function(){return r},e)}function dFe(r){var e=xi.context[r.__c],t=qm(Xd++,9);return t.c=r,e?(t.__==null&&(t.__=!0,e.sub(xi)),e.props.value):r.__}function pFe(r,e){es.useDebugValue&&es.useDebugValue(e?e(r):r)}function gFe(r){var e=qm(Xd++,10),t=bue();return e.__=r,xi.componentDidCatch||(xi.componentDidCatch=function(n,i){e.__&&e.__(n,i),t[1](n)}),[t[0],function(){t[1](void 0)}]}function mFe(){var r=qm(Xd++,11);if(!r.__){for(var e=xi.__v;e!==null&&!e.__m&&e.__!==null;)e=e.__;var t=e.__m||(e.__m=[0,0]);r.__="P"+t[0]+"-"+t[1]++}return r.__}function bFe(){for(var r;r=uue.shift();)if(r.__P&&r.__H)try{r.__H.__h.forEach(YS),r.__H.__h.forEach(VB),r.__H.__h=[]}catch(e){r.__H.__h=[],es.__e(e,r.__v)}}es.__b=function(r){xi=null,hue&&hue(r)},es.__=function(r,e){r&&e.__k&&e.__k.__m&&(r.__m=e.__k.__m),mue&&mue(r,e)},es.__r=function(r){fue&&fue(r),Xd=0;var e=(xi=r.__c).__H;e&&(qB===xi?(e.__h=[],xi.__h=[],e.__.forEach(function(t){t.__N&&(t.__=t.__N),t.__V=JS,t.__N=t.i=void 0})):(e.__h.forEach(YS),e.__h.forEach(VB),e.__h=[],Xd=0)),qB=xi},es.diffed=function(r){due&&due(r);var e=r.__c;e&&e.__H&&(e.__H.__h.length&&(uue.push(e)!==1&&lue===es.requestAnimationFrame||((lue=es.requestAnimationFrame)||wFe)(bFe)),e.__H.__.forEach(function(t){t.i&&(t.__H=t.i),t.__V!==JS&&(t.__=t.__V),t.i=void 0,t.__V=JS})),qB=xi=null},es.__c=function(r,e){e.some(function(t){try{t.__h.forEach(YS),t.__h=t.__h.filter(function(n){return!n.__||VB(n)})}catch(n){e.some(function(i){i.__h&&(i.__h=[])}),e=[],es.__e(n,t.__v)}}),pue&&pue(r,e)},es.unmount=function(r){gue&&gue(r);var e,t=r.__c;t&&t.__H&&(t.__H.__.forEach(function(n){try{YS(n)}catch(i){e=i}}),t.__H=void 0,e&&es.__e(e,t.__v))};var yue=typeof requestAnimationFrame=="function";function wFe(r){var e,t=function(){clearTimeout(n),yue&&cancelAnimationFrame(e),setTimeout(r)},n=setTimeout(t,100);yue&&(e=requestAnimationFrame(t))}function YS(r){var e=xi,t=r.__c;typeof t=="function"&&(r.__c=void 0,t()),xi=e}function VB(r){var e=xi;r.__c=r.__(),xi=e}function GB(r,e){return!r||r.length!==e.length||e.some(function(t,n){return t!==r[n]})}function xue(r,e){return typeof e=="function"?e(r):e}const QS=sd(Object.freeze(Object.defineProperty({__proto__:null,useCallback:fFe,useContext:dFe,useDebugValue:pFe,useEffect:lFe,useErrorBoundary:gFe,useId:mFe,useImperativeHandle:hFe,useLayoutEffect:vue,useMemo:WB,useReducer:wue,useRef:uFe,useState:bue},Symbol.toStringTag,{value:"Module"})));var Py={},XS={};Object.defineProperty(XS,"__esModule",{value:!0}),XS.CloseIcon=void 0;const _ue=bc;function vFe(r){return(0,_ue.h)("svg",Object.assign({width:"40",height:"40",viewBox:"0 0 40 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r),(0,_ue.h)("path",{d:"M13.7677 13L12.3535 14.4142L18.3535 20.4142L12.3535 26.4142L13.7677 27.8284L19.7677 21.8284L25.7677 27.8284L27.1819 26.4142L21.1819 20.4142L27.1819 14.4142L25.7677 13L19.7677 19L13.7677 13Z"}))}XS.CloseIcon=vFe;var eI={};Object.defineProperty(eI,"__esModule",{value:!0}),eI.CoinbaseWalletRound=void 0;const tI=bc;function yFe(r){return(0,tI.h)("svg",Object.assign({width:"28",height:"28",viewBox:"0 0 28 28",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r),(0,tI.h)("circle",{cx:"14",cy:"14",r:"14",fill:"#0052FF"}),(0,tI.h)("path",{d:"M23.8521 14.0003C23.8521 19.455 19.455 23.8521 14.0003 23.8521C8.54559 23.8521 4.14844 19.455 4.14844 14.0003C4.14844 8.54559 8.54559 4.14844 14.0003 4.14844C19.455 4.14844 23.8521 8.54559 23.8521 14.0003Z",fill:"white"}),(0,tI.h)("path",{d:"M11.1855 12.5042C11.1855 12.0477 11.1855 11.7942 11.2835 11.642C11.3814 11.4899 11.4793 11.3377 11.6261 11.287C11.8219 11.1855 12.0178 11.1855 12.5073 11.1855H15.4934C15.983 11.1855 16.1788 11.1855 16.3746 11.287C16.5215 11.3884 16.6683 11.4899 16.7173 11.642C16.8152 11.8449 16.8152 12.0477 16.8152 12.5042V15.4965C16.8152 15.953 16.8152 16.2066 16.7173 16.3587C16.6194 16.5109 16.5215 16.663 16.3746 16.7137C16.1788 16.8152 15.983 16.8152 15.4934 16.8152H12.5073C12.0178 16.8152 11.8219 16.8152 11.6261 16.7137C11.4793 16.6123 11.3324 16.5109 11.2835 16.3587C11.1855 16.1558 11.1855 15.953 11.1855 15.4965V12.5042Z",fill:"#0052FF"}))}eI.CoinbaseWalletRound=yFe;var rI={};Object.defineProperty(rI,"__esModule",{value:!0}),rI.QRCodeIcon=void 0;const I8=bc;function xFe(r){return(0,I8.h)("svg",Object.assign({width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},r),(0,I8.h)("path",{d:"M3 3V8.99939L5 8.99996V5H9V3H3Z"}),(0,I8.h)("path",{d:"M15 21L21 21V15.0006L19 15V19L15 19V21Z"}),(0,I8.h)("path",{d:"M21 9H19V5H15.0006L15 3H21V9Z"}),(0,I8.h)("path",{d:"M3 15V21H8.99939L8.99996 19H5L5 15H3Z"}))}rI.QRCodeIcon=xFe;var nI={};function Eue(r){this.mode=Kc.MODE_8BIT_BYTE,this.data=r,this.parsedData=[];for(var e=0,t=this.data.length;e65536?(n[0]=240|(i&1835008)>>>18,n[1]=128|(i&258048)>>>12,n[2]=128|(i&4032)>>>6,n[3]=128|i&63):i>2048?(n[0]=224|(i&61440)>>>12,n[1]=128|(i&4032)>>>6,n[2]=128|i&63):i>128?(n[0]=192|(i&1984)>>>6,n[1]=128|i&63):n[0]=i,this.parsedData.push(n)}this.parsedData=Array.prototype.concat.apply([],this.parsedData),this.parsedData.length!=this.data.length&&(this.parsedData.unshift(191),this.parsedData.unshift(187),this.parsedData.unshift(239))}Eue.prototype={getLength:function(r){return this.parsedData.length},write:function(r){for(var e=0,t=this.parsedData.length;e=7&&this.setupTypeNumber(r),this.dataCache==null&&(this.dataCache=vf.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,e)},setupPositionProbePattern:function(r,e){for(var t=-1;t<=7;t++)if(!(r+t<=-1||this.moduleCount<=r+t))for(var n=-1;n<=7;n++)e+n<=-1||this.moduleCount<=e+n||(0<=t&&t<=6&&(n==0||n==6)||0<=n&&n<=6&&(t==0||t==6)||2<=t&&t<=4&&2<=n&&n<=4?this.modules[r+t][e+n]=!0:this.modules[r+t][e+n]=!1)},getBestMaskPattern:function(){for(var r=0,e=0,t=0;t<8;t++){this.makeImpl(!0,t);var n=ts.getLostPoint(this);(t==0||r>n)&&(r=n,e=t)}return e},createMovieClip:function(r,e,t){var n=r.createEmptyMovieClip(e,t),i=1;this.make();for(var s=0;s>t&1)==1;this.modules[Math.floor(t/3)][t%3+this.moduleCount-8-3]=n}for(var t=0;t<18;t++){var n=!r&&(e>>t&1)==1;this.modules[t%3+this.moduleCount-8-3][Math.floor(t/3)]=n}},setupTypeInfo:function(r,e){for(var t=this.errorCorrectLevel<<3|e,n=ts.getBCHTypeInfo(t),i=0;i<15;i++){var s=!r&&(n>>i&1)==1;i<6?this.modules[i][8]=s:i<8?this.modules[i+1][8]=s:this.modules[this.moduleCount-15+i][8]=s}for(var i=0;i<15;i++){var s=!r&&(n>>i&1)==1;i<8?this.modules[8][this.moduleCount-i-1]=s:i<9?this.modules[8][15-i-1+1]=s:this.modules[8][15-i-1]=s}this.modules[this.moduleCount-8][8]=!r},mapData:function(r,e){for(var t=-1,n=this.moduleCount-1,i=7,s=0,o=this.moduleCount-1;o>0;o-=2)for(o==6&&o--;;){for(var a=0;a<2;a++)if(this.modules[n][o-a]==null){var l=!1;s>>i&1)==1);var u=ts.getMask(e,n,o-a);u&&(l=!l),this.modules[n][o-a]=l,i--,i==-1&&(s++,i=7)}if(n+=t,n<0||this.moduleCount<=n){n-=t,t=-t;break}}}},vf.PAD0=236,vf.PAD1=17,vf.createData=function(r,e,t){for(var n=yf.getRSBlocks(r,e),i=new Aue,s=0;sa*8)throw new Error("code length overflow. ("+i.getLengthInBits()+">"+a*8+")");for(i.getLengthInBits()+4<=a*8&&i.put(0,4);i.getLengthInBits()%8!=0;)i.putBit(!1);for(;!(i.getLengthInBits()>=a*8||(i.put(vf.PAD0,8),i.getLengthInBits()>=a*8));)i.put(vf.PAD1,8);return vf.createBytes(i,n)},vf.createBytes=function(r,e){for(var t=0,n=0,i=0,s=new Array(e.length),o=new Array(e.length),a=0;a=0?w.get(y):0}}for(var C=0,h=0;h=0;)e^=ts.G15<=0;)e^=ts.G18<>>=1;return e},getPatternPosition:function(r){return ts.PATTERN_POSITION_TABLE[r-1]},getMask:function(r,e,t){switch(r){case x1.PATTERN000:return(e+t)%2==0;case x1.PATTERN001:return e%2==0;case x1.PATTERN010:return t%3==0;case x1.PATTERN011:return(e+t)%3==0;case x1.PATTERN100:return(Math.floor(e/2)+Math.floor(t/3))%2==0;case x1.PATTERN101:return e*t%2+e*t%3==0;case x1.PATTERN110:return(e*t%2+e*t%3)%2==0;case x1.PATTERN111:return(e*t%3+(e+t)%2)%2==0;default:throw new Error("bad maskPattern:"+r)}},getErrorCorrectPolynomial:function(r){for(var e=new Oy([1],0),t=0;t5&&(t+=3+s-5)}for(var n=0;n=256;)r-=255;return Co.EXP_TABLE[r]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)},Ho=0;Ho<8;Ho++)Co.EXP_TABLE[Ho]=1<>>7-r%8&1)==1},put:function(r,e){for(var t=0;t>>e-t-1&1)==1)},getLengthInBits:function(){return this.length},putBit:function(r){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),r&&(this.buffer[e]|=128>>>this.length%8),this.length++}};var KB=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]];function Cue(r){if(this.options={padding:4,width:256,height:256,typeNumber:4,color:"#000000",background:"#ffffff",ecl:"M",image:{svg:"",width:0,height:0}},typeof r=="string"&&(r={content:r}),r)for(var e in r)this.options[e]=r[e];if(typeof this.options.content!="string")throw new Error("Expected 'content' as string!");if(this.options.content.length===0)throw new Error("Expected 'content' to be non-empty!");if(!(this.options.padding>=0))throw new Error("Expected 'padding' value to be non-negative!");if(!(this.options.width>0)||!(this.options.height>0))throw new Error("Expected 'width' or 'height' value to be higher than zero!");function t(l){switch(l){case"L":return y1.L;case"M":return y1.M;case"Q":return y1.Q;case"H":return y1.H;default:throw new Error("Unknwon error correction level: "+l)}}function n(l,u){for(var h=i(l),p=1,g=0,w=0,y=KB.length;w<=y;w++){var C=KB[w];if(!C)throw new Error("Content too long: expected "+g+" but got "+h);switch(u){case"L":g=C[0];break;case"M":g=C[1];break;case"Q":g=C[2];break;case"H":g=C[3];break;default:throw new Error("Unknwon error correction level: "+u)}if(h<=g)break;p++}if(p>KB.length)throw new Error("Content too long");return p}function i(l){var u=encodeURI(l).toString().replace(/\%[0-9a-fA-F]{2}/g,"a");return u.length+(u.length!=l?3:0)}var s=this.options.content,o=n(s,this.options.ecl),a=t(this.options.ecl);this.qrcode=new vf(o,a),this.qrcode.addData(s),this.qrcode.make()}Cue.prototype.svg=function(r){var e=this.options||{},t=this.qrcode.modules;typeof r>"u"&&(r={container:e.container||"svg"});for(var n=typeof e.pretty<"u"?!!e.pretty:!0,i=n?" ":"",s=n?`\r -`:"",o=e.width,a=e.height,l=t.length,u=o/(l+2*e.padding),h=a/(l+2*e.padding),p=typeof e.join<"u"?!!e.join:!1,g=typeof e.swap<"u"?!!e.swap:!1,w=typeof e.xmlDeclaration<"u"?!!e.xmlDeclaration:!0,y=typeof e.predefined<"u"?!!e.predefined:!1,C=y?i+''+s:"",R=i+''+s,k="",M="",O=0;O'+s:k+=i+''+s}}p&&(k=i+'');let W="";if(this.options.image!==void 0&&this.options.image.svg){const b=o*this.options.image.width/100,d=a*this.options.image.height/100,m=o/2-b/2,x=a/2-d/2;W+=``,W+=this.options.image.svg+s,W+=""}var P="";switch(r.container){case"svg":w&&(P+=''+s),P+=''+s,P+=C+R+k,P+=W,P+="";break;case"svg-viewbox":w&&(P+=''+s),P+=''+s,P+=C+R+k,P+=W,P+="";break;case"g":P+=''+s,P+=C+R+k,P+=W,P+="";break;default:P+=(C+R+k+W).replace(/^\s+/,"");break}return P};var _Fe=Cue,EFe=ct&&ct.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(nI,"__esModule",{value:!0}),nI.QRCode=void 0;const AFe=bc,Sue=QS,CFe=EFe(_Fe),SFe=r=>{const[e,t]=(0,Sue.useState)("");return(0,Sue.useEffect)(()=>{var n,i;const s=new CFe.default({content:r.content,background:r.bgColor||"#ffffff",color:r.fgColor||"#000000",container:"svg",ecl:"M",width:(n=r.width)!==null&&n!==void 0?n:256,height:(i=r.height)!==null&&i!==void 0?i:256,padding:0,image:r.image}),o=$t.from(s.svg(),"utf8").toString("base64");t(`data:image/svg+xml;base64,${o}`)},[r.bgColor,r.content,r.fgColor,r.height,r.image,r.width]),e?(0,AFe.h)("img",{src:e,alt:"QR Code"}):null};nI.QRCode=SFe;var iI={},ZB={};Object.defineProperty(ZB,"__esModule",{value:!0}),ZB.default=".-cbwsdk-css-reset .-cbwsdk-spinner{display:inline-block}.-cbwsdk-css-reset .-cbwsdk-spinner svg{display:inline-block;animation:2s linear infinite -cbwsdk-spinner-svg}.-cbwsdk-css-reset .-cbwsdk-spinner svg circle{animation:1.9s ease-in-out infinite both -cbwsdk-spinner-circle;display:block;fill:rgba(0,0,0,0);stroke-dasharray:283;stroke-dashoffset:280;stroke-linecap:round;stroke-width:10px;transform-origin:50% 50%}@keyframes -cbwsdk-spinner-svg{0%{transform:rotateZ(0deg)}100%{transform:rotateZ(360deg)}}@keyframes -cbwsdk-spinner-circle{0%,25%{stroke-dashoffset:280;transform:rotate(0)}50%,75%{stroke-dashoffset:75;transform:rotate(45deg)}100%{stroke-dashoffset:280;transform:rotate(360deg)}}";var IFe=ct&&ct.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(iI,"__esModule",{value:!0}),iI.Spinner=void 0;const sI=bc,RFe=IFe(ZB),TFe=r=>{var e;const t=(e=r.size)!==null&&e!==void 0?e:64,n=r.color||"#000";return(0,sI.h)("div",{class:"-cbwsdk-spinner"},(0,sI.h)("style",null,RFe.default),(0,sI.h)("svg",{viewBox:"0 0 100 100",xmlns:"http://www.w3.org/2000/svg",style:{width:t,height:t}},(0,sI.h)("circle",{style:{cx:50,cy:50,r:45,stroke:n}})))};iI.Spinner=TFe;var JB={};Object.defineProperty(JB,"__esModule",{value:!0}),JB.default=".-cbwsdk-css-reset .-cbwsdk-connect-content{height:430px;width:700px;border-radius:12px;padding:30px}.-cbwsdk-css-reset .-cbwsdk-connect-content.light{background:#fff}.-cbwsdk-css-reset .-cbwsdk-connect-content.dark{background:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-connect-content-header{display:flex;align-items:center;justify-content:space-between;margin:0 0 30px}.-cbwsdk-css-reset .-cbwsdk-connect-content-heading{font-style:normal;font-weight:500;font-size:28px;line-height:36px;margin:0}.-cbwsdk-css-reset .-cbwsdk-connect-content-heading.light{color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-connect-content-heading.dark{color:#fff}.-cbwsdk-css-reset .-cbwsdk-connect-content-layout{display:flex;flex-direction:row}.-cbwsdk-css-reset .-cbwsdk-connect-content-column-left{margin-right:30px;display:flex;flex-direction:column;justify-content:space-between}.-cbwsdk-css-reset .-cbwsdk-connect-content-column-right{flex:25%;margin-right:34px}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-wrapper{width:220px;height:220px;border-radius:12px;display:flex;justify-content:center;align-items:center;background:#fff}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting{position:absolute;top:0;bottom:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting.light{background-color:rgba(255,255,255,.95)}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting.light>p{color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting.dark{background-color:rgba(10,11,13,.9)}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting.dark>p{color:#fff}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting>p{font-size:12px;font-weight:bold;margin-top:16px}.-cbwsdk-css-reset .-cbwsdk-connect-content-update-app{border-radius:8px;font-size:14px;line-height:20px;padding:12px;width:339px}.-cbwsdk-css-reset .-cbwsdk-connect-content-update-app.light{background:#eef0f3;color:#5b636e}.-cbwsdk-css-reset .-cbwsdk-connect-content-update-app.dark{background:#1e2025;color:#8a919e}.-cbwsdk-css-reset .-cbwsdk-cancel-button{-webkit-appearance:none;border:none;background:none;cursor:pointer;padding:0;margin:0}.-cbwsdk-css-reset .-cbwsdk-cancel-button-x{position:relative;display:block;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-wallet-steps{padding:0 0 0 16px;margin:0;width:100%;list-style:decimal}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-item{list-style-type:decimal;display:list-item;font-style:normal;font-weight:400;font-size:16px;line-height:24px;margin-top:20px}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-item.light{color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-item.dark{color:#fff}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-item-wrapper{display:flex;align-items:center}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-pad-left{margin-left:6px}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-icon{display:flex;border-radius:50%;height:24px;width:24px}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-icon svg{margin:auto;display:block}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-icon.light{background:#0052ff}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-icon.dark{background:#588af5}.-cbwsdk-css-reset .-cbwsdk-connect-item{align-items:center;display:flex;flex-direction:row;padding:16px 24px;gap:12px;cursor:pointer;border-radius:100px;font-weight:600}.-cbwsdk-css-reset .-cbwsdk-connect-item.light{background:#f5f8ff;color:#0052ff}.-cbwsdk-css-reset .-cbwsdk-connect-item.dark{background:#001033;color:#588af5}.-cbwsdk-css-reset .-cbwsdk-connect-item-copy-wrapper{margin:0 4px 0 8px}.-cbwsdk-css-reset .-cbwsdk-connect-item-title{margin:0 0 0;font-size:16px;line-height:24px;font-weight:500}.-cbwsdk-css-reset .-cbwsdk-connect-item-description{font-weight:400;font-size:14px;line-height:20px;margin:0}";var Iue=ct&&ct.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Py,"__esModule",{value:!0}),Py.CoinbaseWalletSteps=Py.ConnectContent=void 0;const Wm=Iue(S8),Sn=bc,kFe=mr,MFe=Ey,NFe=XS,PFe=eI,OFe=rI,DFe=nI,$Fe=iI,BFe=Iue(JB),YB={title:"Coinbase Wallet app",description:"Connect with your self-custody wallet",steps:Rue},LFe=r=>r==="light"?"#FFFFFF":"#0A0B0D";function UFe(r){const{theme:e}=r,t=(0,kFe.createQrUrl)(r.sessionId,r.sessionSecret,r.linkAPIUrl,r.isParentConnection,r.version,r.chainId),n=YB.steps;return(0,Sn.h)("div",{"data-testid":"connect-content",className:(0,Wm.default)("-cbwsdk-connect-content",e)},(0,Sn.h)("style",null,BFe.default),(0,Sn.h)("div",{className:"-cbwsdk-connect-content-header"},(0,Sn.h)("h2",{className:(0,Wm.default)("-cbwsdk-connect-content-heading",e)},"Scan to connect with our mobile app"),r.onCancel&&(0,Sn.h)("button",{type:"button",className:"-cbwsdk-cancel-button",onClick:r.onCancel},(0,Sn.h)(NFe.CloseIcon,{fill:e==="light"?"#0A0B0D":"#FFFFFF"}))),(0,Sn.h)("div",{className:"-cbwsdk-connect-content-layout"},(0,Sn.h)("div",{className:"-cbwsdk-connect-content-column-left"},(0,Sn.h)(FFe,{title:YB.title,description:YB.description,theme:e})),(0,Sn.h)("div",{className:"-cbwsdk-connect-content-column-right"},(0,Sn.h)("div",{className:"-cbwsdk-connect-content-qr-wrapper"},(0,Sn.h)(DFe.QRCode,{content:t,width:200,height:200,fgColor:"#000",bgColor:"transparent"}),(0,Sn.h)("input",{type:"hidden",name:"cbw-cbwsdk-version",value:MFe.LIB_VERSION}),(0,Sn.h)("input",{type:"hidden",value:t})),(0,Sn.h)(n,{theme:e}),!r.isConnected&&(0,Sn.h)("div",{"data-testid":"connecting-spinner",className:(0,Wm.default)("-cbwsdk-connect-content-qr-connecting",e)},(0,Sn.h)($Fe.Spinner,{size:36,color:e==="dark"?"#FFF":"#000"}),(0,Sn.h)("p",null,"Connecting...")))))}Py.ConnectContent=UFe;function FFe({title:r,description:e,theme:t}){return(0,Sn.h)("div",{className:(0,Wm.default)("-cbwsdk-connect-item",t)},(0,Sn.h)("div",null,(0,Sn.h)(PFe.CoinbaseWalletRound,null)),(0,Sn.h)("div",{className:"-cbwsdk-connect-item-copy-wrapper"},(0,Sn.h)("h3",{className:"-cbwsdk-connect-item-title"},r),(0,Sn.h)("p",{className:"-cbwsdk-connect-item-description"},e)))}function Rue({theme:r}){return(0,Sn.h)("ol",{className:"-cbwsdk-wallet-steps"},(0,Sn.h)("li",{className:(0,Wm.default)("-cbwsdk-wallet-steps-item",r)},(0,Sn.h)("div",{className:"-cbwsdk-wallet-steps-item-wrapper"},"Open Coinbase Wallet app")),(0,Sn.h)("li",{className:(0,Wm.default)("-cbwsdk-wallet-steps-item",r)},(0,Sn.h)("div",{className:"-cbwsdk-wallet-steps-item-wrapper"},(0,Sn.h)("span",null,"Tap ",(0,Sn.h)("strong",null,"Scan")," "),(0,Sn.h)("span",{className:(0,Wm.default)("-cbwsdk-wallet-steps-pad-left","-cbwsdk-wallet-steps-icon",r)},(0,Sn.h)(OFe.QRCodeIcon,{fill:LFe(r)})))))}Py.CoinbaseWalletSteps=Rue;var oI={},aI={};Object.defineProperty(aI,"__esModule",{value:!0}),aI.ArrowLeftIcon=void 0;const Tue=bc;function jFe(r){return(0,Tue.h)("svg",Object.assign({width:"16",height:"16",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},r),(0,Tue.h)("path",{d:"M8.60675 0.155884L7.37816 1.28209L12.7723 7.16662H0V8.83328H12.6548L6.82149 14.6666L8 15.8451L15.8201 8.02501L8.60675 0.155884Z"}))}aI.ArrowLeftIcon=jFe;var cI={};Object.defineProperty(cI,"__esModule",{value:!0}),cI.LaptopIcon=void 0;const QB=bc;function zFe(r){return(0,QB.h)("svg",Object.assign({width:"14",height:"14",viewBox:"0 0 14 14",xmlns:"http://www.w3.org/2000/svg"},r),(0,QB.h)("path",{d:"M1.8001 2.2002H12.2001V9.40019H1.8001V2.2002ZM3.4001 3.8002V7.80019H10.6001V3.8002H3.4001Z"}),(0,QB.h)("path",{d:"M13.4001 10.2002H0.600098C0.600098 11.0838 1.31644 11.8002 2.2001 11.8002H11.8001C12.6838 11.8002 13.4001 11.0838 13.4001 10.2002Z"}))}cI.LaptopIcon=zFe;var lI={};Object.defineProperty(lI,"__esModule",{value:!0}),lI.SafeIcon=void 0;const kue=bc;function HFe(r){return(0,kue.h)("svg",Object.assign({width:"14",height:"14",viewBox:"0 0 14 14",xmlns:"http://www.w3.org/2000/svg"},r),(0,kue.h)("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M0.600098 0.600098V11.8001H13.4001V0.600098H0.600098ZM7.0001 9.2001C5.3441 9.2001 4.0001 7.8561 4.0001 6.2001C4.0001 4.5441 5.3441 3.2001 7.0001 3.2001C8.6561 3.2001 10.0001 4.5441 10.0001 6.2001C10.0001 7.8561 8.6561 9.2001 7.0001 9.2001ZM0.600098 12.6001H3.8001V13.4001H0.600098V12.6001ZM10.2001 12.6001H13.4001V13.4001H10.2001V12.6001ZM8.8001 6.2001C8.8001 7.19421 7.99421 8.0001 7.0001 8.0001C6.00598 8.0001 5.2001 7.19421 5.2001 6.2001C5.2001 5.20598 6.00598 4.4001 7.0001 4.4001C7.99421 4.4001 8.8001 5.20598 8.8001 6.2001Z"}))}lI.SafeIcon=HFe;var XB={};Object.defineProperty(XB,"__esModule",{value:!0}),XB.default=".-cbwsdk-css-reset .-cbwsdk-try-extension{display:flex;margin-top:12px;height:202px;width:700px;border-radius:12px;padding:30px}.-cbwsdk-css-reset .-cbwsdk-try-extension.light{background:#fff}.-cbwsdk-css-reset .-cbwsdk-try-extension.dark{background:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-try-extension-column-half{flex:50%}.-cbwsdk-css-reset .-cbwsdk-try-extension-heading{font-style:normal;font-weight:500;font-size:25px;line-height:32px;margin:0;max-width:204px}.-cbwsdk-css-reset .-cbwsdk-try-extension-heading.light{color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-try-extension-heading.dark{color:#fff}.-cbwsdk-css-reset .-cbwsdk-try-extension-cta{appearance:none;border:none;background:none;color:#0052ff;cursor:pointer;padding:0;text-decoration:none;display:block;font-weight:600;font-size:16px;line-height:24px}.-cbwsdk-css-reset .-cbwsdk-try-extension-cta.light{color:#0052ff}.-cbwsdk-css-reset .-cbwsdk-try-extension-cta.dark{color:#588af5}.-cbwsdk-css-reset .-cbwsdk-try-extension-cta-wrapper{display:flex;align-items:center;margin-top:12px}.-cbwsdk-css-reset .-cbwsdk-try-extension-cta-icon{display:block;margin-left:4px;height:14px}.-cbwsdk-css-reset .-cbwsdk-try-extension-list{display:flex;flex-direction:column;justify-content:center;align-items:center;margin:0;padding:0;list-style:none;height:100%}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item{display:flex;align-items:center;flex-flow:nowrap;margin-top:24px}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item:first-of-type{margin-top:0}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-icon-wrapper{display:block}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-icon{display:flex;height:32px;width:32px;border-radius:50%}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-icon svg{margin:auto;display:block}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-icon.light{background:#eef0f3}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-icon.dark{background:#1e2025}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-copy{display:block;font-weight:400;font-size:14px;line-height:20px;padding-left:12px}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-copy.light{color:#5b636e}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-copy.dark{color:#8a919e}";var Mue=ct&&ct.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(oI,"__esModule",{value:!0}),oI.TryExtensionContent=void 0;const Vm=Mue(S8),Ls=bc,eL=QS,qFe=aI,WFe=cI,VFe=lI,GFe=Mue(XB);function KFe({theme:r}){const[e,t]=(0,eL.useState)(!1),n=(0,eL.useCallback)(()=>{window.open("https://api.wallet.coinbase.com/rpc/v2/desktop/chrome","_blank")},[]),i=(0,eL.useCallback)(()=>{e?window.location.reload():(n(),t(!0))},[n,e]);return(0,Ls.h)("div",{class:(0,Vm.default)("-cbwsdk-try-extension",r)},(0,Ls.h)("style",null,GFe.default),(0,Ls.h)("div",{class:"-cbwsdk-try-extension-column-half"},(0,Ls.h)("h3",{class:(0,Vm.default)("-cbwsdk-try-extension-heading",r)},"Or try the Coinbase Wallet browser extension"),(0,Ls.h)("div",{class:"-cbwsdk-try-extension-cta-wrapper"},(0,Ls.h)("button",{class:(0,Vm.default)("-cbwsdk-try-extension-cta",r),onClick:i},e?"Refresh":"Install"),(0,Ls.h)("div",null,!e&&(0,Ls.h)(qFe.ArrowLeftIcon,{class:"-cbwsdk-try-extension-cta-icon",fill:r==="light"?"#0052FF":"#588AF5"})))),(0,Ls.h)("div",{class:"-cbwsdk-try-extension-column-half"},(0,Ls.h)("ul",{class:"-cbwsdk-try-extension-list"},(0,Ls.h)("li",{class:"-cbwsdk-try-extension-list-item"},(0,Ls.h)("div",{class:"-cbwsdk-try-extension-list-item-icon-wrapper"},(0,Ls.h)("span",{class:(0,Vm.default)("-cbwsdk-try-extension-list-item-icon",r)},(0,Ls.h)(WFe.LaptopIcon,{fill:r==="light"?"#0A0B0D":"#FFFFFF"}))),(0,Ls.h)("div",{class:(0,Vm.default)("-cbwsdk-try-extension-list-item-copy",r)},"Connect with dapps with just one click on your desktop browser")),(0,Ls.h)("li",{class:"-cbwsdk-try-extension-list-item"},(0,Ls.h)("div",{class:"-cbwsdk-try-extension-list-item-icon-wrapper"},(0,Ls.h)("span",{class:(0,Vm.default)("-cbwsdk-try-extension-list-item-icon",r)},(0,Ls.h)(VFe.SafeIcon,{fill:r==="light"?"#0A0B0D":"#FFFFFF"}))),(0,Ls.h)("div",{class:(0,Vm.default)("-cbwsdk-try-extension-list-item-copy",r)},"Add an additional layer of security by using a supported Ledger hardware wallet")))))}oI.TryExtensionContent=KFe;var tL={};Object.defineProperty(tL,"__esModule",{value:!0}),tL.default=".-cbwsdk-css-reset .-cbwsdk-connect-dialog{z-index:2147483647;position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-backdrop{z-index:2147483647;position:fixed;top:0;left:0;right:0;bottom:0;transition:opacity .25s}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-backdrop.light{background-color:rgba(0,0,0,.5)}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-backdrop.dark{background-color:rgba(50,53,61,.4)}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-backdrop-hidden{opacity:0}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-box{display:flex;position:relative;flex-direction:column;transform:scale(1);transition:opacity .25s,transform .25s}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-box-hidden{opacity:0;transform:scale(0.85)}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-container{display:block}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-container-hidden{display:none}";var Nue=ct&&ct.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(ZS,"__esModule",{value:!0}),ZS.ConnectDialog=void 0;const rL=Nue(S8),Gm=bc,nL=QS,ZFe=Py,JFe=oI,YFe=Nue(tL),QFe=r=>{const{isOpen:e,darkMode:t}=r,[n,i]=(0,nL.useState)(!e),[s,o]=(0,nL.useState)(!e);(0,nL.useEffect)(()=>{const l=[window.setTimeout(()=>{o(!e)},10)];return e?i(!1):l.push(window.setTimeout(()=>{i(!0)},360)),()=>{l.forEach(window.clearTimeout)}},[e]);const a=t?"dark":"light";return(0,Gm.h)("div",{class:(0,rL.default)("-cbwsdk-connect-dialog-container",n&&"-cbwsdk-connect-dialog-container-hidden")},(0,Gm.h)("style",null,YFe.default),(0,Gm.h)("div",{class:(0,rL.default)("-cbwsdk-connect-dialog-backdrop",a,s&&"-cbwsdk-connect-dialog-backdrop-hidden")}),(0,Gm.h)("div",{class:"-cbwsdk-connect-dialog"},(0,Gm.h)("div",{class:(0,rL.default)("-cbwsdk-connect-dialog-box",s&&"-cbwsdk-connect-dialog-box-hidden")},r.connectDisabled?null:(0,Gm.h)(ZFe.ConnectContent,{theme:a,version:r.version,sessionId:r.sessionId,sessionSecret:r.sessionSecret,linkAPIUrl:r.linkAPIUrl,isConnected:r.isConnected,isParentConnection:r.isParentConnection,chainId:r.chainId,onCancel:r.onCancel}),(0,Gm.h)(JFe.TryExtensionContent,{theme:a}))))};ZS.ConnectDialog=QFe,Object.defineProperty(WS,"__esModule",{value:!0}),WS.LinkFlow=void 0;const iL=bc,XFe=ZS;class eje{constructor(e){this.connected=!1,this.chainId=1,this.isOpen=!1,this.onCancel=null,this.root=null,this.connectDisabled=!1,this.darkMode=e.darkMode,this.version=e.version,this.sessionId=e.sessionId,this.sessionSecret=e.sessionSecret,this.linkAPIUrl=e.linkAPIUrl,this.isParentConnection=e.isParentConnection}attach(e){this.root=document.createElement("div"),this.root.className="-cbwsdk-link-flow-root",e.appendChild(this.root),this.render()}setConnected(e){this.connected!==e&&(this.connected=e,this.render())}setChainId(e){this.chainId!==e&&(this.chainId=e,this.render())}detach(){var e;this.root&&((0,iL.render)(null,this.root),(e=this.root.parentElement)===null||e===void 0||e.removeChild(this.root))}setConnectDisabled(e){this.connectDisabled=e}open(e){this.isOpen=!0,this.onCancel=e.onCancel,this.render()}close(){this.isOpen=!1,this.onCancel=null,this.render()}render(){this.root&&(0,iL.render)((0,iL.h)(XFe.ConnectDialog,{darkMode:this.darkMode,version:this.version,sessionId:this.sessionId,sessionSecret:this.sessionSecret,linkAPIUrl:this.linkAPIUrl,isOpen:this.isOpen,isConnected:this.connected,isParentConnection:this.isParentConnection,chainId:this.chainId,onCancel:this.onCancel,connectDisabled:this.connectDisabled}),this.root)}}WS.LinkFlow=eje;var sL={},oL={};Object.defineProperty(oL,"__esModule",{value:!0}),oL.default=".-cbwsdk-css-reset .-gear-container{margin-left:16px !important;margin-right:9px !important;display:flex;align-items:center;justify-content:center;width:24px;height:24px;transition:opacity .25s}.-cbwsdk-css-reset .-gear-container *{user-select:none}.-cbwsdk-css-reset .-gear-container svg{opacity:0;position:absolute}.-cbwsdk-css-reset .-gear-icon{height:12px;width:12px;z-index:10000}.-cbwsdk-css-reset .-cbwsdk-snackbar{align-items:flex-end;display:flex;flex-direction:column;position:fixed;right:0;top:0;z-index:2147483647}.-cbwsdk-css-reset .-cbwsdk-snackbar *{user-select:none}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance{display:flex;flex-direction:column;margin:8px 16px 0 16px;overflow:visible;text-align:left;transform:translateX(0);transition:opacity .25s,transform .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header:hover .-gear-container svg{opacity:1}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header{display:flex;align-items:center;background:#fff;overflow:hidden;border:1px solid #e7ebee;box-sizing:border-box;border-radius:8px;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header-cblogo{margin:8px 8px 8px 8px}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header *{cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header-message{color:#000;font-size:13px;line-height:1.5;user-select:none}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu{background:#fff;transition:opacity .25s ease-in-out,transform .25s linear,visibility 0s;visibility:hidden;border:1px solid #e7ebee;box-sizing:border-box;border-radius:8px;opacity:0;flex-direction:column;padding-left:8px;padding-right:8px}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:last-child{margin-bottom:8px !important}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:hover{background:#f5f7f8;border-radius:6px;transition:background .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:hover span{color:#050f19;transition:color .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:hover svg path{fill:#000;transition:fill .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item{visibility:inherit;height:35px;margin-top:8px;margin-bottom:0;display:flex;flex-direction:row;align-items:center;padding:8px;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item *{visibility:inherit;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover{background:rgba(223,95,103,.2);transition:background .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover *{cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover svg path{fill:#df5f67;transition:fill .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover span{color:#df5f67;transition:color .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-info{color:#aaa;font-size:13px;margin:0 8px 0 32px;position:absolute}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-hidden{opacity:0;text-align:left;transform:translateX(25%);transition:opacity .5s linear}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-expanded .-cbwsdk-snackbar-instance-menu{opacity:1;display:flex;transform:translateY(8px);visibility:visible}",function(r){var e=ct&&ct.__importDefault||function(p){return p&&p.__esModule?p:{default:p}};Object.defineProperty(r,"__esModule",{value:!0}),r.SnackbarInstance=r.SnackbarContainer=r.Snackbar=void 0;const t=e(S8),n=bc,i=QS,s=e(oL),o="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEuNDkyIDEwLjQxOWE4LjkzIDguOTMgMCAwMTguOTMtOC45M2gxMS4xNjNhOC45MyA4LjkzIDAgMDE4LjkzIDguOTN2MTEuMTYzYTguOTMgOC45MyAwIDAxLTguOTMgOC45M0gxMC40MjJhOC45MyA4LjkzIDAgMDEtOC45My04LjkzVjEwLjQxOXoiIGZpbGw9IiMxNjUyRjAiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEwLjQxOSAwSDIxLjU4QzI3LjMzNSAwIDMyIDQuNjY1IDMyIDEwLjQxOVYyMS41OEMzMiAyNy4zMzUgMjcuMzM1IDMyIDIxLjU4MSAzMkgxMC40MkM0LjY2NSAzMiAwIDI3LjMzNSAwIDIxLjU4MVYxMC40MkMwIDQuNjY1IDQuNjY1IDAgMTAuNDE5IDB6bTAgMS40ODhhOC45MyA4LjkzIDAgMDAtOC45MyA4LjkzdjExLjE2M2E4LjkzIDguOTMgMCAwMDguOTMgOC45M0gyMS41OGE4LjkzIDguOTMgMCAwMDguOTMtOC45M1YxMC40MmE4LjkzIDguOTMgMCAwMC04LjkzLTguOTNIMTAuNDJ6IiBmaWxsPSIjZmZmIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS45OTggMjYuMDQ5Yy01LjU0OSAwLTEwLjA0Ny00LjQ5OC0xMC4wNDctMTAuMDQ3IDAtNS41NDggNC40OTgtMTAuMDQ2IDEwLjA0Ny0xMC4wNDYgNS41NDggMCAxMC4wNDYgNC40OTggMTAuMDQ2IDEwLjA0NiAwIDUuNTQ5LTQuNDk4IDEwLjA0Ny0xMC4wNDYgMTAuMDQ3eiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0xMi43NjIgMTQuMjU0YzAtLjgyMi42NjctMS40ODkgMS40ODktMS40ODloMy40OTdjLjgyMiAwIDEuNDg4LjY2NiAxLjQ4OCAxLjQ4OXYzLjQ5N2MwIC44MjItLjY2NiAxLjQ4OC0xLjQ4OCAxLjQ4OGgtMy40OTdhMS40ODggMS40ODggMCAwMS0xLjQ4OS0xLjQ4OHYtMy40OTh6IiBmaWxsPSIjMTY1MkYwIi8+PC9zdmc+",a="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEyIDYuNzV2LTEuNWwtMS43Mi0uNTdjLS4wOC0uMjctLjE5LS41Mi0uMzItLjc3bC44MS0xLjYyLTEuMDYtMS4wNi0xLjYyLjgxYy0uMjQtLjEzLS41LS4yNC0uNzctLjMyTDYuNzUgMGgtMS41bC0uNTcgMS43MmMtLjI3LjA4LS41My4xOS0uNzcuMzJsLTEuNjItLjgxLTEuMDYgMS4wNi44MSAxLjYyYy0uMTMuMjQtLjI0LjUtLjMyLjc3TDAgNS4yNXYxLjVsMS43Mi41N2MuMDguMjcuMTkuNTMuMzIuNzdsLS44MSAxLjYyIDEuMDYgMS4wNiAxLjYyLS44MWMuMjQuMTMuNS4yMy43Ny4zMkw1LjI1IDEyaDEuNWwuNTctMS43MmMuMjctLjA4LjUyLS4xOS43Ny0uMzJsMS42Mi44MSAxLjA2LTEuMDYtLjgxLTEuNjJjLjEzLS4yNC4yMy0uNS4zMi0uNzdMMTIgNi43NXpNNiA4LjVhMi41IDIuNSAwIDAxMC01IDIuNSAyLjUgMCAwMTAgNXoiIGZpbGw9IiMwNTBGMTkiLz48L3N2Zz4=";class l{constructor(g){this.items=new Map,this.nextItemKey=0,this.root=null,this.darkMode=g.darkMode}attach(g){this.root=document.createElement("div"),this.root.className="-cbwsdk-snackbar-root",g.appendChild(this.root),this.render()}presentItem(g){const w=this.nextItemKey++;return this.items.set(w,g),this.render(),()=>{this.items.delete(w),this.render()}}clear(){this.items.clear(),this.render()}render(){this.root&&(0,n.render)((0,n.h)("div",null,(0,n.h)(r.SnackbarContainer,{darkMode:this.darkMode},Array.from(this.items.entries()).map(([g,w])=>(0,n.h)(r.SnackbarInstance,Object.assign({},w,{key:g}))))),this.root)}}r.Snackbar=l;const u=p=>(0,n.h)("div",{class:(0,t.default)("-cbwsdk-snackbar-container")},(0,n.h)("style",null,s.default),(0,n.h)("div",{class:"-cbwsdk-snackbar"},p.children));r.SnackbarContainer=u;const h=({autoExpand:p,message:g,menuItems:w})=>{const[y,C]=(0,i.useState)(!0),[R,k]=(0,i.useState)(p??!1);(0,i.useEffect)(()=>{const O=[window.setTimeout(()=>{C(!1)},1),window.setTimeout(()=>{k(!0)},1e4)];return()=>{O.forEach(window.clearTimeout)}});const M=()=>{k(!R)};return(0,n.h)("div",{class:(0,t.default)("-cbwsdk-snackbar-instance",y&&"-cbwsdk-snackbar-instance-hidden",R&&"-cbwsdk-snackbar-instance-expanded")},(0,n.h)("div",{class:"-cbwsdk-snackbar-instance-header",onClick:M},(0,n.h)("img",{src:o,class:"-cbwsdk-snackbar-instance-header-cblogo"})," ",(0,n.h)("div",{class:"-cbwsdk-snackbar-instance-header-message"},g),(0,n.h)("div",{class:"-gear-container"},!R&&(0,n.h)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},(0,n.h)("circle",{cx:"12",cy:"12",r:"12",fill:"#F5F7F8"})),(0,n.h)("img",{src:a,class:"-gear-icon",title:"Expand"}))),w&&w.length>0&&(0,n.h)("div",{class:"-cbwsdk-snackbar-instance-menu"},w.map((O,B)=>(0,n.h)("div",{class:(0,t.default)("-cbwsdk-snackbar-instance-menu-item",O.isRed&&"-cbwsdk-snackbar-instance-menu-item-is-red"),onClick:O.onClick,key:B},(0,n.h)("svg",{width:O.svgWidth,height:O.svgHeight,viewBox:"0 0 10 11",fill:"none",xmlns:"http://www.w3.org/2000/svg"},(0,n.h)("path",{"fill-rule":O.defaultFillRule,"clip-rule":O.defaultClipRule,d:O.path,fill:"#AAAAAA"})),(0,n.h)("span",{class:(0,t.default)("-cbwsdk-snackbar-instance-menu-item-info",O.isRed&&"-cbwsdk-snackbar-instance-menu-item-info-is-red")},O.info)))))};r.SnackbarInstance=h}(sL),Object.defineProperty(v8,"__esModule",{value:!0}),v8.WalletLinkRelayUI=void 0;const tje=y8,rje=WS,nje=sL;class ije{constructor(e){this.standalone=null,this.attached=!1,this.snackbar=new nje.Snackbar({darkMode:e.darkMode}),this.linkFlow=new rje.LinkFlow({darkMode:e.darkMode,version:e.version,sessionId:e.session.id,sessionSecret:e.session.secret,linkAPIUrl:e.linkAPIUrl,isParentConnection:!1})}attach(){if(this.attached)throw new Error("Coinbase Wallet SDK UI is already attached");const e=document.documentElement,t=document.createElement("div");t.className="-cbwsdk-css-reset",e.appendChild(t),this.linkFlow.attach(t),this.snackbar.attach(t),this.attached=!0,(0,tje.injectCssReset)()}setConnected(e){this.linkFlow.setConnected(e)}setChainId(e){this.linkFlow.setChainId(e)}setConnectDisabled(e){this.linkFlow.setConnectDisabled(e)}addEthereumChain(){}watchAsset(){}switchEthereumChain(){}requestEthereumAccounts(e){this.linkFlow.open({onCancel:e.onCancel})}hideRequestEthereumAccounts(){this.linkFlow.close()}signEthereumMessage(){}signEthereumTransaction(){}submitEthereumTransaction(){}ethereumAddressFromSignedMessage(){}showConnecting(e){let t;return e.isUnlinkedErrorState?t={autoExpand:!0,message:"Connection lost",menuItems:[{isRed:!1,info:"Reset connection",svgWidth:"10",svgHeight:"11",path:"M5.00008 0.96875C6.73133 0.96875 8.23758 1.94375 9.00008 3.375L10.0001 2.375V5.5H9.53133H7.96883H6.87508L7.80633 4.56875C7.41258 3.3875 6.31258 2.53125 5.00008 2.53125C3.76258 2.53125 2.70633 3.2875 2.25633 4.36875L0.812576 3.76875C1.50008 2.125 3.11258 0.96875 5.00008 0.96875ZM2.19375 6.43125C2.5875 7.6125 3.6875 8.46875 5 8.46875C6.2375 8.46875 7.29375 7.7125 7.74375 6.63125L9.1875 7.23125C8.5 8.875 6.8875 10.0312 5 10.0312C3.26875 10.0312 1.7625 9.05625 1 7.625L0 8.625V5.5H0.46875H2.03125H3.125L2.19375 6.43125Z",defaultFillRule:"evenodd",defaultClipRule:"evenodd",onClick:e.onResetConnection}]}:t={message:"Confirm on phone",menuItems:[{isRed:!0,info:"Cancel transaction",svgWidth:"11",svgHeight:"11",path:"M10.3711 1.52346L9.21775 0.370117L5.37109 4.21022L1.52444 0.370117L0.371094 1.52346L4.2112 5.37012L0.371094 9.21677L1.52444 10.3701L5.37109 6.53001L9.21775 10.3701L10.3711 9.21677L6.53099 5.37012L10.3711 1.52346Z",defaultFillRule:"inherit",defaultClipRule:"inherit",onClick:e.onCancel},{isRed:!1,info:"Reset connection",svgWidth:"10",svgHeight:"11",path:"M5.00008 0.96875C6.73133 0.96875 8.23758 1.94375 9.00008 3.375L10.0001 2.375V5.5H9.53133H7.96883H6.87508L7.80633 4.56875C7.41258 3.3875 6.31258 2.53125 5.00008 2.53125C3.76258 2.53125 2.70633 3.2875 2.25633 4.36875L0.812576 3.76875C1.50008 2.125 3.11258 0.96875 5.00008 0.96875ZM2.19375 6.43125C2.5875 7.6125 3.6875 8.46875 5 8.46875C6.2375 8.46875 7.29375 7.7125 7.74375 6.63125L9.1875 7.23125C8.5 8.875 6.8875 10.0312 5 10.0312C3.26875 10.0312 1.7625 9.05625 1 7.625L0 8.625V5.5H0.46875H2.03125H3.125L2.19375 6.43125Z",defaultFillRule:"evenodd",defaultClipRule:"evenodd",onClick:e.onResetConnection}]},this.snackbar.presentItem(t)}reloadUI(){document.location.reload()}inlineAccountsResponse(){return!1}inlineAddEthereumChain(){return!1}inlineWatchAsset(){return!1}inlineSwitchEthereumChain(){return!1}setStandalone(e){this.standalone=e}isStandalone(){var e;return(e=this.standalone)!==null&&e!==void 0?e:!1}}v8.WalletLinkRelayUI=ije,Object.defineProperty(p8,"__esModule",{value:!0}),p8.WalletLinkRelay=void 0;const Dy=l8,sje=Ks,rs=mr,Km=Cy,Pue=Xl,_1=Sy,oje=FS,Zm=_y,aje=v8;class e0 extends Pue.RelayAbstract{constructor(e){var t;super(),this.accountsCallback=null,this.chainCallbackParams={chainId:"",jsonRpcUrl:""},this.chainCallback=null,this.dappDefaultChain=1,this.appName="",this.appLogoUrl=null,this.linkedUpdated=o=>{var a;this.isLinked=o;const l=this.storage.getItem(Pue.LOCAL_STORAGE_ADDRESSES_KEY);if(o&&(this.session.linked=o),this.isUnlinkedErrorState=!1,l){const u=l.split(" "),h=this.storage.getItem("IsStandaloneSigning")==="true";if(u[0]!==""&&!o&&this.session.linked&&!h){this.isUnlinkedErrorState=!0;const p=this.getSessionIdHash();(a=this.diagnostic)===null||a===void 0||a.log(Km.EVENTS.UNLINKED_ERROR_STATE,{sessionIdHash:p})}}},this.metadataUpdated=(o,a)=>{this.storage.setItem(o,a)},this.chainUpdated=(o,a)=>{this.chainCallbackParams.chainId===o&&this.chainCallbackParams.jsonRpcUrl===a||(this.chainCallbackParams={chainId:o,jsonRpcUrl:a},this.chainCallback&&this.chainCallback(o,a))},this.accountUpdated=o=>{this.accountsCallback&&this.accountsCallback([o]),e0.accountRequestCallbackIds.size>0&&(Array.from(e0.accountRequestCallbackIds.values()).forEach(a=>{const l={type:"WEB3_RESPONSE",id:a,response:{method:"requestEthereumAccounts",result:[o]}};this.invokeCallback(Object.assign(Object.assign({},l),{id:a}))}),e0.accountRequestCallbackIds.clear())},this.connectedUpdated=o=>{this.ui.setConnected(o)},this.resetAndReload=this.resetAndReload.bind(this),this.linkAPIUrl=e.linkAPIUrl,this.storage=e.storage,this.options=e;const{session:n,ui:i,connection:s}=this.subscribe();this._session=n,this.connection=s,this.relayEventManager=e.relayEventManager,this.diagnostic=e.diagnosticLogger,this._reloadOnDisconnect=(t=e.reloadOnDisconnect)!==null&&t!==void 0?t:!0,this.ui=i}subscribe(){const e=_1.Session.load(this.storage)||new _1.Session(this.storage).save(),{linkAPIUrl:t,diagnostic:n}=this,i=new oje.WalletLinkConnection({session:e,linkAPIUrl:t,diagnostic:n,listener:this}),{version:s,darkMode:o}=this.options,a=this.options.uiConstructor({linkAPIUrl:t,version:s,darkMode:o,session:e});return i.connect(),{session:e,ui:a,connection:i}}attachUI(){this.ui.attach()}resetAndReload(){Promise.race([this.connection.setSessionMetadata("__destroyed","1"),new Promise(e=>setTimeout(()=>e(null),1e3))]).then(()=>{var e,t;const n=this.ui.isStandalone();(e=this.diagnostic)===null||e===void 0||e.log(Km.EVENTS.SESSION_STATE_CHANGE,{method:"relay::resetAndReload",sessionMetadataChange:"__destroyed, 1",sessionIdHash:this.getSessionIdHash()}),this.connection.destroy();const i=_1.Session.load(this.storage);if((i==null?void 0:i.id)===this._session.id?this.storage.clear():i&&((t=this.diagnostic)===null||t===void 0||t.log(Km.EVENTS.SKIPPED_CLEARING_SESSION,{sessionIdHash:this.getSessionIdHash(),storedSessionIdHash:_1.Session.hash(i.id)})),this._reloadOnDisconnect){this.ui.reloadUI();return}this.accountsCallback&&this.accountsCallback([],!0);const{session:s,ui:o,connection:a}=this.subscribe();this._session=s,this.connection=a,this.ui=o,n&&this.ui.setStandalone&&this.ui.setStandalone(!0),this.attachUI()}).catch(e=>{var t;(t=this.diagnostic)===null||t===void 0||t.log(Km.EVENTS.FAILURE,{method:"relay::resetAndReload",message:`failed to reset and reload with ${e}`,sessionIdHash:this.getSessionIdHash()})})}setAppInfo(e,t){this.appName=e,this.appLogoUrl=t}getStorageItem(e){return this.storage.getItem(e)}get session(){return this._session}setStorageItem(e,t){this.storage.setItem(e,t)}signEthereumMessage(e,t,n,i){return this.sendRequest({method:"signEthereumMessage",params:{message:(0,rs.hexStringFromBuffer)(e,!0),address:t,addPrefix:n,typedDataJson:i||null}})}ethereumAddressFromSignedMessage(e,t,n){return this.sendRequest({method:"ethereumAddressFromSignedMessage",params:{message:(0,rs.hexStringFromBuffer)(e,!0),signature:(0,rs.hexStringFromBuffer)(t,!0),addPrefix:n}})}signEthereumTransaction(e){return this.sendRequest({method:"signEthereumTransaction",params:{fromAddress:e.fromAddress,toAddress:e.toAddress,weiValue:(0,rs.bigIntStringFromBN)(e.weiValue),data:(0,rs.hexStringFromBuffer)(e.data,!0),nonce:e.nonce,gasPriceInWei:e.gasPriceInWei?(0,rs.bigIntStringFromBN)(e.gasPriceInWei):null,maxFeePerGas:e.gasPriceInWei?(0,rs.bigIntStringFromBN)(e.gasPriceInWei):null,maxPriorityFeePerGas:e.gasPriceInWei?(0,rs.bigIntStringFromBN)(e.gasPriceInWei):null,gasLimit:e.gasLimit?(0,rs.bigIntStringFromBN)(e.gasLimit):null,chainId:e.chainId,shouldSubmit:!1}})}signAndSubmitEthereumTransaction(e){return this.sendRequest({method:"signEthereumTransaction",params:{fromAddress:e.fromAddress,toAddress:e.toAddress,weiValue:(0,rs.bigIntStringFromBN)(e.weiValue),data:(0,rs.hexStringFromBuffer)(e.data,!0),nonce:e.nonce,gasPriceInWei:e.gasPriceInWei?(0,rs.bigIntStringFromBN)(e.gasPriceInWei):null,maxFeePerGas:e.maxFeePerGas?(0,rs.bigIntStringFromBN)(e.maxFeePerGas):null,maxPriorityFeePerGas:e.maxPriorityFeePerGas?(0,rs.bigIntStringFromBN)(e.maxPriorityFeePerGas):null,gasLimit:e.gasLimit?(0,rs.bigIntStringFromBN)(e.gasLimit):null,chainId:e.chainId,shouldSubmit:!0}})}submitEthereumTransaction(e,t){return this.sendRequest({method:"submitEthereumTransaction",params:{signedTransaction:(0,rs.hexStringFromBuffer)(e,!0),chainId:t}})}scanQRCode(e){return this.sendRequest({method:"scanQRCode",params:{regExp:e}})}getQRCodeUrl(){return(0,rs.createQrUrl)(this._session.id,this._session.secret,this.linkAPIUrl,!1,this.options.version,this.dappDefaultChain)}genericRequest(e,t){return this.sendRequest({method:"generic",params:{action:t,data:e}})}sendGenericMessage(e){return this.sendRequest(e)}sendRequest(e){let t=null;const n=(0,rs.randomBytesHex)(8),i=o=>{this.publishWeb3RequestCanceledEvent(n),this.handleErrorResponse(n,e.method,o),t==null||t()};return{promise:new Promise((o,a)=>{this.ui.isStandalone()||(t=this.ui.showConnecting({isUnlinkedErrorState:this.isUnlinkedErrorState,onCancel:i,onResetConnection:this.resetAndReload})),this.relayEventManager.callbacks.set(n,l=>{if(t==null||t(),(0,Zm.isErrorResponse)(l))return a(new Error(l.errorMessage));o(l)}),this.ui.isStandalone()?this.sendRequestStandalone(n,e):this.publishWeb3RequestEvent(n,e)}),cancel:i}}setConnectDisabled(e){this.ui.setConnectDisabled(e)}setAccountsCallback(e){this.accountsCallback=e}setChainCallback(e){this.chainCallback=e}setDappDefaultChainCallback(e){this.dappDefaultChain=e,this.ui instanceof aje.WalletLinkRelayUI&&this.ui.setChainId(e)}publishWeb3RequestEvent(e,t){var n;const i={type:"WEB3_REQUEST",id:e,request:t},s=_1.Session.load(this.storage);(n=this.diagnostic)===null||n===void 0||n.log(Km.EVENTS.WEB3_REQUEST,{eventId:i.id,method:`relay::${t.method}`,sessionIdHash:this.getSessionIdHash(),storedSessionIdHash:s?_1.Session.hash(s.id):"",isSessionMismatched:((s==null?void 0:s.id)!==this._session.id).toString()}),this.publishEvent("Web3Request",i,!0).then(o=>{var a;(a=this.diagnostic)===null||a===void 0||a.log(Km.EVENTS.WEB3_REQUEST_PUBLISHED,{eventId:i.id,method:`relay::${t.method}`,sessionIdHash:this.getSessionIdHash(),storedSessionIdHash:s?_1.Session.hash(s.id):"",isSessionMismatched:((s==null?void 0:s.id)!==this._session.id).toString()})}).catch(o=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:i.id,response:{method:t.method,errorMessage:o.message}})})}publishWeb3RequestCanceledEvent(e){const t={type:"WEB3_REQUEST_CANCELED",id:e};this.publishEvent("Web3RequestCanceled",t,!1).then()}publishEvent(e,t,n){return this.connection.publishEvent(e,t,n)}handleWeb3ResponseMessage(e){var t;const{response:n}=e;if((t=this.diagnostic)===null||t===void 0||t.log(Km.EVENTS.WEB3_RESPONSE,{eventId:e.id,method:`relay::${n.method}`,sessionIdHash:this.getSessionIdHash()}),n.method==="requestEthereumAccounts"){e0.accountRequestCallbackIds.forEach(i=>this.invokeCallback(Object.assign(Object.assign({},e),{id:i}))),e0.accountRequestCallbackIds.clear();return}this.invokeCallback(e)}handleErrorResponse(e,t,n,i){var s;const o=(s=n==null?void 0:n.message)!==null&&s!==void 0?s:(0,Dy.getMessageFromCode)(i);this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:e,response:{method:t,errorMessage:o,errorCode:i}})}invokeCallback(e){const t=this.relayEventManager.callbacks.get(e.id);t&&(t(e.response),this.relayEventManager.callbacks.delete(e.id))}requestEthereumAccounts(){const e={method:"requestEthereumAccounts",params:{appName:this.appName,appLogoUrl:this.appLogoUrl||null}},t=(0,rs.randomBytesHex)(8),n=s=>{this.publishWeb3RequestCanceledEvent(t),this.handleErrorResponse(t,e.method,s)};return{promise:new Promise((s,o)=>{if(this.relayEventManager.callbacks.set(t,a=>{if(this.ui.hideRequestEthereumAccounts(),(0,Zm.isErrorResponse)(a))return o(new Error(a.errorMessage));s(a)}),this.ui.inlineAccountsResponse()){const a=l=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:t,response:{method:"requestEthereumAccounts",result:l}})};this.ui.requestEthereumAccounts({onCancel:n,onAccounts:a})}else{const a=Dy.standardErrors.provider.userRejectedRequest("User denied account authorization");this.ui.requestEthereumAccounts({onCancel:()=>n(a)})}e0.accountRequestCallbackIds.add(t),!this.ui.inlineAccountsResponse()&&!this.ui.isStandalone()&&this.publishWeb3RequestEvent(t,e)}),cancel:n}}selectProvider(e){const t={method:"selectProvider",params:{providerOptions:e}},n=(0,rs.randomBytesHex)(8),i=o=>{this.publishWeb3RequestCanceledEvent(n),this.handleErrorResponse(n,t.method,o)},s=new Promise((o,a)=>{this.relayEventManager.callbacks.set(n,h=>{if((0,Zm.isErrorResponse)(h))return a(new Error(h.errorMessage));o(h)});const l=h=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:n,response:{method:"selectProvider",result:sje.ProviderType.Unselected}})},u=h=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:n,response:{method:"selectProvider",result:h}})};this.ui.selectProvider&&this.ui.selectProvider({onApprove:u,onCancel:l,providerOptions:e})});return{cancel:i,promise:s}}watchAsset(e,t,n,i,s,o){const a={method:"watchAsset",params:{type:e,options:{address:t,symbol:n,decimals:i,image:s},chainId:o}};let l=null;const u=(0,rs.randomBytesHex)(8),h=g=>{this.publishWeb3RequestCanceledEvent(u),this.handleErrorResponse(u,a.method,g),l==null||l()};this.ui.inlineWatchAsset()||(l=this.ui.showConnecting({isUnlinkedErrorState:this.isUnlinkedErrorState,onCancel:h,onResetConnection:this.resetAndReload}));const p=new Promise((g,w)=>{this.relayEventManager.callbacks.set(u,R=>{if(l==null||l(),(0,Zm.isErrorResponse)(R))return w(new Error(R.errorMessage));g(R)});const y=R=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:u,response:{method:"watchAsset",result:!1}})},C=()=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:u,response:{method:"watchAsset",result:!0}})};this.ui.inlineWatchAsset()&&this.ui.watchAsset({onApprove:C,onCancel:y,type:e,address:t,symbol:n,decimals:i,image:s,chainId:o}),!this.ui.inlineWatchAsset()&&!this.ui.isStandalone()&&this.publishWeb3RequestEvent(u,a)});return{cancel:h,promise:p}}addEthereumChain(e,t,n,i,s,o){const a={method:"addEthereumChain",params:{chainId:e,rpcUrls:t,blockExplorerUrls:i,chainName:s,iconUrls:n,nativeCurrency:o}};let l=null;const u=(0,rs.randomBytesHex)(8),h=g=>{this.publishWeb3RequestCanceledEvent(u),this.handleErrorResponse(u,a.method,g),l==null||l()};return this.ui.inlineAddEthereumChain(e)||(l=this.ui.showConnecting({isUnlinkedErrorState:this.isUnlinkedErrorState,onCancel:h,onResetConnection:this.resetAndReload})),{promise:new Promise((g,w)=>{this.relayEventManager.callbacks.set(u,R=>{if(l==null||l(),(0,Zm.isErrorResponse)(R))return w(new Error(R.errorMessage));g(R)});const y=R=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:u,response:{method:"addEthereumChain",result:{isApproved:!1,rpcUrl:""}}})},C=R=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:u,response:{method:"addEthereumChain",result:{isApproved:!0,rpcUrl:R}}})};this.ui.inlineAddEthereumChain(e)&&this.ui.addEthereumChain({onCancel:y,onApprove:C,chainId:a.params.chainId,rpcUrls:a.params.rpcUrls,blockExplorerUrls:a.params.blockExplorerUrls,chainName:a.params.chainName,iconUrls:a.params.iconUrls,nativeCurrency:a.params.nativeCurrency}),!this.ui.inlineAddEthereumChain(e)&&!this.ui.isStandalone()&&this.publishWeb3RequestEvent(u,a)}),cancel:h}}switchEthereumChain(e,t){const n={method:"switchEthereumChain",params:Object.assign({chainId:e},{address:t})},i=(0,rs.randomBytesHex)(8),s=a=>{this.publishWeb3RequestCanceledEvent(i),this.handleErrorResponse(i,n.method,a)};return{promise:new Promise((a,l)=>{this.relayEventManager.callbacks.set(i,p=>{if((0,Zm.isErrorResponse)(p)&&p.errorCode)return l(Dy.standardErrors.provider.custom({code:p.errorCode,message:"Unrecognized chain ID. Try adding the chain using addEthereumChain first."}));if((0,Zm.isErrorResponse)(p))return l(new Error(p.errorMessage));a(p)});const u=p=>{var g;if(p){const w=(g=(0,Dy.getErrorCode)(p))!==null&&g!==void 0?g:Dy.standardErrorCodes.provider.unsupportedChain;this.handleErrorResponse(i,"switchEthereumChain",p instanceof Error?p:Dy.standardErrors.provider.unsupportedChain(e),w)}else this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:i,response:{method:"switchEthereumChain",result:{isApproved:!1,rpcUrl:""}}})},h=p=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:i,response:{method:"switchEthereumChain",result:{isApproved:!0,rpcUrl:p}}})};this.ui.switchEthereumChain({onCancel:u,onApprove:h,chainId:n.params.chainId,address:n.params.address}),!this.ui.inlineSwitchEthereumChain()&&!this.ui.isStandalone()&&this.publishWeb3RequestEvent(i,n)}),cancel:s}}inlineAddEthereumChain(e){return this.ui.inlineAddEthereumChain(e)}getSessionIdHash(){return _1.Session.hash(this._session.id)}sendRequestStandalone(e,t){const n=s=>{this.handleErrorResponse(e,t.method,s)},i=s=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:e,response:s})};switch(t.method){case"signEthereumMessage":this.ui.signEthereumMessage({request:t,onSuccess:i,onCancel:n});break;case"signEthereumTransaction":this.ui.signEthereumTransaction({request:t,onSuccess:i,onCancel:n});break;case"submitEthereumTransaction":this.ui.submitEthereumTransaction({request:t,onSuccess:i,onCancel:n});break;case"ethereumAddressFromSignedMessage":this.ui.ethereumAddressFromSignedMessage({request:t,onSuccess:i});break;default:n();break}}}p8.WalletLinkRelay=e0,e0.accountRequestCallbackIds=new Set;var R8={},uI={},Oue={};(function(r){var e=ct&&ct.__createBinding||(Object.create?function(n,i,s,o){o===void 0&&(o=s);var a=Object.getOwnPropertyDescriptor(i,s);(!a||("get"in a?!i.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return i[s]}}),Object.defineProperty(n,o,a)}:function(n,i,s,o){o===void 0&&(o=s),n[o]=i[s]}),t=ct&&ct.__exportStar||function(n,i){for(var s in n)s!=="default"&&!Object.prototype.hasOwnProperty.call(i,s)&&e(i,n,s)};Object.defineProperty(r,"__esModule",{value:!0}),t(sL,r)})(Oue);var aL={};Object.defineProperty(aL,"__esModule",{value:!0}),aL.default=".-cbwsdk-css-reset .-cbwsdk-redirect-dialog-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;transition:opacity .25s;background-color:rgba(10,11,13,.5)}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-backdrop-hidden{opacity:0}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box{display:block;position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);padding:20px;border-radius:8px;background-color:#fff;color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box p{display:block;font-weight:400;font-size:14px;line-height:20px;padding-bottom:12px;color:#5b636e}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box button{appearance:none;border:none;background:none;color:#0052ff;padding:0;text-decoration:none;display:block;font-weight:600;font-size:16px;line-height:24px}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.dark{background-color:#0a0b0d;color:#fff}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.dark button{color:#0052ff}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.light{background-color:#fff;color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.light button{color:#0052ff}";var Due=ct&&ct.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(uI,"__esModule",{value:!0}),uI.RedirectDialog=void 0;const cje=Due(S8),xf=bc,lje=y8,uje=Oue,hje=Due(aL);class fje{constructor(){this.root=null}attach(){const e=document.documentElement;this.root=document.createElement("div"),this.root.className="-cbwsdk-css-reset",e.appendChild(this.root),(0,lje.injectCssReset)()}present(e){this.render(e)}clear(){this.render(null)}render(e){this.root&&((0,xf.render)(null,this.root),e&&(0,xf.render)((0,xf.h)(dje,Object.assign({},e,{onDismiss:()=>{this.clear()}})),this.root))}}uI.RedirectDialog=fje;const dje=({title:r,buttonText:e,darkMode:t,onButtonClick:n,onDismiss:i})=>{const s=t?"dark":"light";return(0,xf.h)(uje.SnackbarContainer,{darkMode:t},(0,xf.h)("div",{class:"-cbwsdk-redirect-dialog"},(0,xf.h)("style",null,hje.default),(0,xf.h)("div",{class:"-cbwsdk-redirect-dialog-backdrop",onClick:i}),(0,xf.h)("div",{class:(0,cje.default)("-cbwsdk-redirect-dialog-box",s)},(0,xf.h)("p",null,r),(0,xf.h)("button",{onClick:n},e))))};Object.defineProperty(R8,"__esModule",{value:!0}),R8.MobileRelayUI=void 0;const pje=uI;class gje{constructor(e){this.attached=!1,this.darkMode=!1,this.openedWindow=null,this.redirectDialog=new pje.RedirectDialog,this.darkMode=e.darkMode}attach(){if(this.attached)throw new Error("Coinbase Wallet SDK UI is already attached");this.redirectDialog.attach(),this.attached=!0}setConnected(e){}closeOpenedWindow(){var e;(e=this.openedWindow)===null||e===void 0||e.close(),this.openedWindow=null}redirectToCoinbaseWallet(e){const t=new URL("https://go.cb-w.com/walletlink");t.searchParams.append("redirect_url",window.location.href),e&&t.searchParams.append("wl_url",e),this.openedWindow=window.open(t.href,"cbw-opener"),this.openedWindow&&setTimeout(()=>this.closeOpenedWindow(),5e3)}openCoinbaseWalletDeeplink(e){this.redirectDialog.present({title:"Redirecting to Coinbase Wallet...",buttonText:"Open",darkMode:this.darkMode,onButtonClick:()=>{this.redirectToCoinbaseWallet(e)}}),setTimeout(()=>{this.redirectToCoinbaseWallet(e)},99)}showConnecting(e){return()=>{this.closeOpenedWindow(),this.redirectDialog.clear()}}hideRequestEthereumAccounts(){this.closeOpenedWindow(),this.redirectDialog.clear()}requestEthereumAccounts(){}addEthereumChain(){}watchAsset(){}selectProvider(){}switchEthereumChain(){}signEthereumMessage(){}signEthereumTransaction(){}submitEthereumTransaction(){}ethereumAddressFromSignedMessage(){}reloadUI(){}setStandalone(){}setConnectDisabled(){}inlineAccountsResponse(){return!1}inlineAddEthereumChain(){return!1}inlineWatchAsset(){return!1}inlineSwitchEthereumChain(){return!1}isStandalone(){return!1}}R8.MobileRelayUI=gje,Object.defineProperty(d8,"__esModule",{value:!0}),d8.MobileRelay=void 0;const mje=mr,bje=p8,$ue=R8;class wje extends bje.WalletLinkRelay{constructor(e){var t;super(e),this._enableMobileWalletLink=(t=e.enableMobileWalletLink)!==null&&t!==void 0?t:!1}requestEthereumAccounts(){return this._enableMobileWalletLink?super.requestEthereumAccounts():{promise:new Promise(()=>{const e=(0,mje.getLocation)();e.href=`https://go.cb-w.com/dapp?cb_url=${encodeURIComponent(e.href)}`}),cancel:()=>{}}}publishWeb3RequestEvent(e,t){if(super.publishWeb3RequestEvent(e,t),!(this._enableMobileWalletLink&&this.ui instanceof $ue.MobileRelayUI))return;let n=!1;switch(t.method){case"requestEthereumAccounts":case"connectAndSignIn":n=!0,this.ui.openCoinbaseWalletDeeplink(this.getQRCodeUrl());break;case"switchEthereumChain":return;default:n=!0,this.ui.openCoinbaseWalletDeeplink();break}n&&window.addEventListener("blur",()=>{window.addEventListener("focus",()=>{this.connection.checkUnseenEvents()},{once:!0})},{once:!0})}handleWeb3ResponseMessage(e){super.handleWeb3ResponseMessage(e),this._enableMobileWalletLink&&this.ui instanceof $ue.MobileRelayUI&&this.ui.closeOpenedWindow()}connectAndSignIn(e){if(!this._enableMobileWalletLink)throw new Error("connectAndSignIn is supported only when enableMobileWalletLink is on");return this.sendRequest({method:"connectAndSignIn",params:{appName:this.appName,appLogoUrl:this.appLogoUrl,domain:window.location.hostname,aud:window.location.href,version:"1",type:"eip4361",nonce:e.nonce,iat:new Date().toISOString(),chainId:`eip155:${this.dappDefaultChain}`,statement:e.statement,resources:e.resources}})}}d8.MobileRelay=wje;var cL={exports:{}},Bue=fi.EventEmitter,lL,Lue;function vje(){if(Lue)return lL;Lue=1;function r(y,C){var R=Object.keys(y);if(Object.getOwnPropertySymbols){var k=Object.getOwnPropertySymbols(y);C&&(k=k.filter(function(M){return Object.getOwnPropertyDescriptor(y,M).enumerable})),R.push.apply(R,k)}return R}function e(y){for(var C=1;C0?this.tail.next=k:this.head=k,this.tail=k,++this.length}},{key:"unshift",value:function(R){var k={data:R,next:this.head};this.length===0&&(this.tail=k),this.head=k,++this.length}},{key:"shift",value:function(){if(this.length!==0){var R=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,R}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(R){if(this.length===0)return"";for(var k=this.head,M=""+k.data;k=k.next;)M+=R+k.data;return M}},{key:"concat",value:function(R){if(this.length===0)return u.alloc(0);for(var k=u.allocUnsafe(R>>>0),M=this.head,O=0;M;)w(M.data,k,O),O+=M.data.length,M=M.next;return k}},{key:"consume",value:function(R,k){var M;return RB.length?B.length:R;if(j===B.length?O+=B:O+=B.slice(0,R),R-=j,R===0){j===B.length?(++M,k.next?this.head=k.next:this.head=this.tail=null):(this.head=k,k.data=B.slice(j));break}++M}return this.length-=M,O}},{key:"_getBuffer",value:function(R){var k=u.allocUnsafe(R),M=this.head,O=1;for(M.data.copy(k),R-=M.data.length;M=M.next;){var B=M.data,j=R>B.length?B.length:R;if(B.copy(k,k.length-R,0,j),R-=j,R===0){j===B.length?(++O,M.next?this.head=M.next:this.head=this.tail=null):(this.head=M,M.data=B.slice(j));break}++O}return this.length-=O,k}},{key:g,value:function(R,k){return p(this,e(e({},k),{},{depth:0,customInspect:!1}))}}]),y}(),lL}function yje(r,e){var t=this,n=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return n||i?(e?e(r):r&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,yt.nextTick(uL,this,r)):yt.nextTick(uL,this,r)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(r||null,function(s){!e&&s?t._writableState?t._writableState.errorEmitted?yt.nextTick(hI,t):(t._writableState.errorEmitted=!0,yt.nextTick(Uue,t,s)):yt.nextTick(Uue,t,s):e?(yt.nextTick(hI,t),e(s)):yt.nextTick(hI,t)}),this)}function Uue(r,e){uL(r,e),hI(r)}function hI(r){r._writableState&&!r._writableState.emitClose||r._readableState&&!r._readableState.emitClose||r.emit("close")}function xje(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function uL(r,e){r.emit("error",e)}function _je(r,e){var t=r._readableState,n=r._writableState;t&&t.autoDestroy||n&&n.autoDestroy?r.destroy(e):r.emit("error",e)}var Fue={destroy:yje,undestroy:xje,errorOrDestroy:_je},Jm={};function Eje(r,e){r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.__proto__=e}var jue={};function eu(r,e,t){t||(t=Error);function n(s,o,a){return typeof e=="string"?e:e(s,o,a)}var i=function(s){Eje(o,s);function o(a,l,u){return s.call(this,n(a,l,u))||this}return o}(t);i.prototype.name=t.name,i.prototype.code=r,jue[r]=i}function zue(r,e){if(Array.isArray(r)){var t=r.length;return r=r.map(function(n){return String(n)}),t>2?"one of ".concat(e," ").concat(r.slice(0,t-1).join(", "),", or ")+r[t-1]:t===2?"one of ".concat(e," ").concat(r[0]," or ").concat(r[1]):"of ".concat(e," ").concat(r[0])}else return"of ".concat(e," ").concat(String(r))}function Aje(r,e,t){return r.substr(!t||t<0?0:+t,e.length)===e}function Cje(r,e,t){return(t===void 0||t>r.length)&&(t=r.length),r.substring(t-e.length,t)===e}function Sje(r,e,t){return typeof t!="number"&&(t=0),t+e.length>r.length?!1:r.indexOf(e,t)!==-1}eu("ERR_INVALID_OPT_VALUE",function(r,e){return'The value "'+e+'" is invalid for option "'+r+'"'},TypeError),eu("ERR_INVALID_ARG_TYPE",function(r,e,t){var n;typeof e=="string"&&Aje(e,"not ")?(n="must not be",e=e.replace(/^not /,"")):n="must be";var i;if(Cje(r," argument"))i="The ".concat(r," ").concat(n," ").concat(zue(e,"type"));else{var s=Sje(r,".")?"property":"argument";i='The "'.concat(r,'" ').concat(s," ").concat(n," ").concat(zue(e,"type"))}return i+=". Received type ".concat(typeof t),i},TypeError),eu("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),eu("ERR_METHOD_NOT_IMPLEMENTED",function(r){return"The "+r+" method is not implemented"}),eu("ERR_STREAM_PREMATURE_CLOSE","Premature close"),eu("ERR_STREAM_DESTROYED",function(r){return"Cannot call "+r+" after a stream was destroyed"}),eu("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),eu("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),eu("ERR_STREAM_WRITE_AFTER_END","write after end"),eu("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),eu("ERR_UNKNOWN_ENCODING",function(r){return"Unknown encoding: "+r},TypeError),eu("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),Jm.codes=jue;var Ije=Jm.codes.ERR_INVALID_OPT_VALUE;function Rje(r,e,t){return r.highWaterMark!=null?r.highWaterMark:e?r[t]:null}function Tje(r,e,t,n){var i=Rje(e,n,t);if(i!=null){if(!(isFinite(i)&&Math.floor(i)===i)||i<0){var s=n?t:"highWaterMark";throw new Ije(s,i)}return Math.floor(i)}return r.objectMode?16:16*1024}var Hue={getHighWaterMark:Tje},kje=Mje;function Mje(r,e){if(hL("noDeprecation"))return r;var t=!1;function n(){if(!t){if(hL("throwDeprecation"))throw new Error(e);hL("traceDeprecation")?console.trace(e):console.warn(e),t=!0}return r.apply(this,arguments)}return n}function hL(r){try{if(!ct.localStorage)return!1}catch{return!1}var e=ct.localStorage[r];return e==null?!1:String(e).toLowerCase()==="true"}var fL,que;function Wue(){if(que)return fL;que=1,fL=$;function r(Y){var K=this;this.next=null,this.entry=null,this.finish=function(){q(K,Y)}}var e;$.WritableState=G;var t={deprecate:kje},n=Bue,i=Hc.Buffer,s=(typeof ct<"u"?ct:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function o(Y){return i.from(Y)}function a(Y){return i.isBuffer(Y)||Y instanceof s}var l=Fue,u=Hue,h=u.getHighWaterMark,p=Jm.codes,g=p.ERR_INVALID_ARG_TYPE,w=p.ERR_METHOD_NOT_IMPLEMENTED,y=p.ERR_MULTIPLE_CALLBACK,C=p.ERR_STREAM_CANNOT_PIPE,R=p.ERR_STREAM_DESTROYED,k=p.ERR_STREAM_NULL_VALUES,M=p.ERR_STREAM_WRITE_AFTER_END,O=p.ERR_UNKNOWN_ENCODING,B=l.errorOrDestroy;Yu($,n);function j(){}function G(Y,K,ee){e=e||$y(),Y=Y||{},typeof ee!="boolean"&&(ee=K instanceof e),this.objectMode=!!Y.objectMode,ee&&(this.objectMode=this.objectMode||!!Y.writableObjectMode),this.highWaterMark=h(this,Y,"writableHighWaterMark",ee),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var re=Y.decodeStrings===!1;this.decodeStrings=!re,this.defaultEncoding=Y.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(z){x(K,z)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=Y.emitClose!==!1,this.autoDestroy=!!Y.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new r(this)}G.prototype.getBuffer=function(){for(var K=this.bufferedRequest,ee=[];K;)ee.push(K),K=K.next;return ee},function(){try{Object.defineProperty(G.prototype,"buffer",{get:t.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}();var D;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(D=Function.prototype[Symbol.hasInstance],Object.defineProperty($,Symbol.hasInstance,{value:function(K){return D.call(this,K)?!0:this!==$?!1:K&&K._writableState instanceof G}})):D=function(K){return K instanceof this};function $(Y){e=e||$y();var K=this instanceof e;if(!K&&!D.call($,this))return new $(Y);this._writableState=new G(Y,this,K),this.writable=!0,Y&&(typeof Y.write=="function"&&(this._write=Y.write),typeof Y.writev=="function"&&(this._writev=Y.writev),typeof Y.destroy=="function"&&(this._destroy=Y.destroy),typeof Y.final=="function"&&(this._final=Y.final)),n.call(this)}$.prototype.pipe=function(){B(this,new C)};function V(Y,K){var ee=new M;B(Y,ee),yt.nextTick(K,ee)}function te(Y,K,ee,re){var z;return ee===null?z=new k:typeof ee!="string"&&!K.objectMode&&(z=new g("chunk",["string","Buffer"],ee)),z?(B(Y,z),yt.nextTick(re,z),!1):!0}$.prototype.write=function(Y,K,ee){var re=this._writableState,z=!1,L=!re.objectMode&&a(Y);return L&&!i.isBuffer(Y)&&(Y=o(Y)),typeof K=="function"&&(ee=K,K=null),L?K="buffer":K||(K=re.defaultEncoding),typeof ee!="function"&&(ee=j),re.ending?V(this,ee):(L||te(this,re,Y,ee))&&(re.pendingcb++,z=P(this,re,L,Y,K,ee)),z},$.prototype.cork=function(){this._writableState.corked++},$.prototype.uncork=function(){var Y=this._writableState;Y.corked&&(Y.corked--,!Y.writing&&!Y.corked&&!Y.bufferProcessing&&Y.bufferedRequest&&T(this,Y))},$.prototype.setDefaultEncoding=function(K){if(typeof K=="string"&&(K=K.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((K+"").toLowerCase())>-1))throw new O(K);return this._writableState.defaultEncoding=K,this},Object.defineProperty($.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function W(Y,K,ee){return!Y.objectMode&&Y.decodeStrings!==!1&&typeof K=="string"&&(K=i.from(K,ee)),K}Object.defineProperty($.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function P(Y,K,ee,re,z,L){if(!ee){var H=W(K,re,z);re!==H&&(ee=!0,z="buffer",re=H)}var le=K.objectMode?1:re.length;K.length+=le;var de=K.length0)if(typeof H!="string"&&!Me.objectMode&&Object.getPrototypeOf(H)!==n.prototype&&(H=s(H)),de)Me.endEmitted?j(L,new k):W(L,Me,H,!0);else if(Me.ended)j(L,new C);else{if(Me.destroyed)return!1;Me.reading=!1,Me.decoder&&!le?(H=Me.decoder.write(H),Me.objectMode||H.length!==0?W(L,Me,H,!1):T(L,Me)):W(L,Me,H,!1)}else de||(Me.reading=!1,T(L,Me))}return!Me.ended&&(Me.length=b?L=b:(L--,L|=L>>>1,L|=L>>>2,L|=L>>>4,L|=L>>>8,L|=L>>>16,L++),L}function m(L,H){return L<=0||H.length===0&&H.ended?0:H.objectMode?1:L!==L?H.flowing&&H.length?H.buffer.head.data.length:H.length:(L>H.highWaterMark&&(H.highWaterMark=d(L)),L<=H.length?L:H.ended?H.length:(H.needReadable=!0,0))}V.prototype.read=function(L){l("read",L),L=parseInt(L,10);var H=this._readableState,le=L;if(L!==0&&(H.emittedReadable=!1),L===0&&H.needReadable&&((H.highWaterMark!==0?H.length>=H.highWaterMark:H.length>0)||H.ended))return l("read: emitReadable",H.length,H.ended),H.length===0&&H.ended?ee(this):A(this),null;if(L=m(L,H),L===0&&H.ended)return H.length===0&&ee(this),null;var de=H.needReadable;l("need readable",de),(H.length===0||H.length-L0?Se=K(L,H):Se=null,Se===null?(H.needReadable=H.length<=H.highWaterMark,L=0):(H.length-=L,H.awaitDrain=0),H.length===0&&(H.ended||(H.needReadable=!0),le!==L&&H.ended&&ee(this)),Se!==null&&this.emit("data",Se),Se};function x(L,H){if(l("onEofChunk"),!H.ended){if(H.decoder){var le=H.decoder.end();le&&le.length&&(H.buffer.push(le),H.length+=H.objectMode?1:le.length)}H.ended=!0,H.sync?A(L):(H.needReadable=!1,H.emittedReadable||(H.emittedReadable=!0,I(L)))}}function A(L){var H=L._readableState;l("emitReadable",H.needReadable,H.emittedReadable),H.needReadable=!1,H.emittedReadable||(l("emitReadable",H.flowing),H.emittedReadable=!0,yt.nextTick(I,L))}function I(L){var H=L._readableState;l("emitReadable_",H.destroyed,H.length,H.ended),!H.destroyed&&(H.length||H.ended)&&(L.emit("readable"),H.emittedReadable=!1),H.needReadable=!H.flowing&&!H.ended&&H.length<=H.highWaterMark,Y(L)}function T(L,H){H.readingMore||(H.readingMore=!0,yt.nextTick(S,L,H))}function S(L,H){for(;!H.reading&&!H.ended&&(H.length1&&z(de.pipes,L)!==-1)&&!je&&(l("false write response, pause",de.awaitDrain),de.awaitDrain++),le.pause())}function ze(Be){l("onerror",Be),He(),L.removeListener("error",ze),e(L,"error")===0&&j(L,Be)}D(L,"error",ze);function qe(){L.removeListener("finish",Ve),He()}L.once("close",qe);function Ve(){l("onfinish"),L.removeListener("close",qe),He()}L.once("finish",Ve);function He(){l("unpipe"),le.unpipe(L)}return L.emit("pipe",le),de.flowing||(l("pipe resume"),le.resume()),L};function E(L){return function(){var le=L._readableState;l("pipeOnDrain",le.awaitDrain),le.awaitDrain&&le.awaitDrain--,le.awaitDrain===0&&e(L,"data")&&(le.flowing=!0,Y(L))}}V.prototype.unpipe=function(L){var H=this._readableState,le={hasUnpiped:!1};if(H.pipesCount===0)return this;if(H.pipesCount===1)return L&&L!==H.pipes?this:(L||(L=H.pipes),H.pipes=null,H.pipesCount=0,H.flowing=!1,L&&L.emit("unpipe",this,le),this);if(!L){var de=H.pipes,Se=H.pipesCount;H.pipes=null,H.pipesCount=0,H.flowing=!1;for(var Me=0;Me0,de.flowing!==!1&&this.resume()):L==="readable"&&!de.endEmitted&&!de.readableListening&&(de.readableListening=de.needReadable=!0,de.flowing=!1,de.emittedReadable=!1,l("on readable",de.length,de.reading),de.length?A(this):de.reading||yt.nextTick(U,this)),le},V.prototype.addListener=V.prototype.on,V.prototype.removeListener=function(L,H){var le=t.prototype.removeListener.call(this,L,H);return L==="readable"&&yt.nextTick(_,this),le},V.prototype.removeAllListeners=function(L){var H=t.prototype.removeAllListeners.apply(this,arguments);return(L==="readable"||L===void 0)&&yt.nextTick(_,this),H};function _(L){var H=L._readableState;H.readableListening=L.listenerCount("readable")>0,H.resumeScheduled&&!H.paused?H.flowing=!0:L.listenerCount("data")>0&&L.resume()}function U(L){l("readable nexttick read 0"),L.read(0)}V.prototype.resume=function(){var L=this._readableState;return L.flowing||(l("resume"),L.flowing=!L.readableListening,ie(this,L)),L.paused=!1,this};function ie(L,H){H.resumeScheduled||(H.resumeScheduled=!0,yt.nextTick(q,L,H))}function q(L,H){l("resume",H.reading),H.reading||L.read(0),H.resumeScheduled=!1,L.emit("resume"),Y(L),H.flowing&&!H.reading&&L.read(0)}V.prototype.pause=function(){return l("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(l("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function Y(L){var H=L._readableState;for(l("flow",H.flowing);H.flowing&&L.read()!==null;);}V.prototype.wrap=function(L){var H=this,le=this._readableState,de=!1;L.on("end",function(){if(l("wrapped end"),le.decoder&&!le.ended){var ke=le.decoder.end();ke&&ke.length&&H.push(ke)}H.push(null)}),L.on("data",function(ke){if(l("wrapped data"),le.decoder&&(ke=le.decoder.write(ke)),!(le.objectMode&&ke==null)&&!(!le.objectMode&&(!ke||!ke.length))){var Ke=H.push(ke);Ke||(de=!0,L.pause())}});for(var Se in L)this[Se]===void 0&&typeof L[Se]=="function"&&(this[Se]=function(Ke){return function(){return L[Ke].apply(L,arguments)}}(Se));for(var Me=0;Me=H.length?(H.decoder?le=H.buffer.join(""):H.buffer.length===1?le=H.buffer.first():le=H.buffer.concat(H.length),H.buffer.clear()):le=H.buffer.consume(L,H.decoder),le}function ee(L){var H=L._readableState;l("endReadable",H.endEmitted),H.endEmitted||(H.ended=!0,yt.nextTick(re,H,L))}function re(L,H){if(l("endReadableNT",L.endEmitted,L.length),!L.endEmitted&&L.length===0&&(L.endEmitted=!0,H.readable=!1,H.emit("end"),L.autoDestroy)){var le=H._writableState;(!le||le.autoDestroy&&le.finished)&&H.destroy()}}typeof Symbol=="function"&&(V.from=function(L,H){return B===void 0&&(B=$je()),B(V,L,H)});function z(L,H){for(var le=0,de=L.length;le0;return Kje(o,l,u,function(h){i||(i=h),h&&s.forEach(ihe),!l&&(s.forEach(ihe),n(i))})});return e.reduce(Zje)}var Qje=Yje;(function(r,e){e=r.exports=Que(),e.Stream=e,e.Readable=e,e.Writable=Wue(),e.Duplex=$y(),e.Transform=Xue,e.PassThrough=Hje,e.finished=pL,e.pipeline=Qje})(cL,cL.exports);var she=cL.exports;const{Transform:Xje}=she;var eze=r=>class Oge extends Xje{constructor(t,n,i,s,o){super(o),this._rate=t,this._capacity=n,this._delimitedSuffix=i,this._hashBitLength=s,this._options=o,this._state=new r,this._state.initialize(t,n),this._finalized=!1}_transform(t,n,i){let s=null;try{this.update(t,n)}catch(o){s=o}i(s)}_flush(t){let n=null;try{this.push(this.digest())}catch(i){n=i}t(n)}update(t,n){if(!$t.isBuffer(t)&&typeof t!="string")throw new TypeError("Data must be a string or a buffer");if(this._finalized)throw new Error("Digest already called");return $t.isBuffer(t)||(t=$t.from(t,n)),this._state.absorb(t),this}digest(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0,this._delimitedSuffix&&this._state.absorbLastFewBits(this._delimitedSuffix);let n=this._state.squeeze(this._hashBitLength/8);return t!==void 0&&(n=n.toString(t)),this._resetState(),n}_resetState(){return this._state.initialize(this._rate,this._capacity),this}_clone(){const t=new Oge(this._rate,this._capacity,this._delimitedSuffix,this._hashBitLength,this._options);return this._state.copy(t._state),t._finalized=this._finalized,t}};const{Transform:tze}=she;var rze=r=>class Dge extends tze{constructor(t,n,i,s){super(s),this._rate=t,this._capacity=n,this._delimitedSuffix=i,this._options=s,this._state=new r,this._state.initialize(t,n),this._finalized=!1}_transform(t,n,i){let s=null;try{this.update(t,n)}catch(o){s=o}i(s)}_flush(){}_read(t){this.push(this.squeeze(t))}update(t,n){if(!$t.isBuffer(t)&&typeof t!="string")throw new TypeError("Data must be a string or a buffer");if(this._finalized)throw new Error("Squeeze already called");return $t.isBuffer(t)||(t=$t.from(t,n)),this._state.absorb(t),this}squeeze(t,n){this._finalized||(this._finalized=!0,this._state.absorbLastFewBits(this._delimitedSuffix));let i=this._state.squeeze(t);return n!==void 0&&(i=i.toString(n)),i}_resetState(){return this._state.initialize(this._rate,this._capacity),this}_clone(){const t=new Dge(this._rate,this._capacity,this._delimitedSuffix,this._options);return this._state.copy(t._state),t._finalized=this._finalized,t}};const nze=eze,ize=rze;var sze=function(r){const e=nze(r),t=ize(r);return function(n,i){switch(typeof n=="string"?n.toLowerCase():n){case"keccak224":return new e(1152,448,null,224,i);case"keccak256":return new e(1088,512,null,256,i);case"keccak384":return new e(832,768,null,384,i);case"keccak512":return new e(576,1024,null,512,i);case"sha3-224":return new e(1152,448,6,224,i);case"sha3-256":return new e(1088,512,6,256,i);case"sha3-384":return new e(832,768,6,384,i);case"sha3-512":return new e(576,1024,6,512,i);case"shake128":return new t(1344,256,31,i);case"shake256":return new t(1088,512,31,i);default:throw new Error("Invald algorithm: "+n)}}},ohe={};const ahe=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648];ohe.p1600=function(r){for(let e=0;e<24;++e){const t=r[0]^r[10]^r[20]^r[30]^r[40],n=r[1]^r[11]^r[21]^r[31]^r[41],i=r[2]^r[12]^r[22]^r[32]^r[42],s=r[3]^r[13]^r[23]^r[33]^r[43],o=r[4]^r[14]^r[24]^r[34]^r[44],a=r[5]^r[15]^r[25]^r[35]^r[45],l=r[6]^r[16]^r[26]^r[36]^r[46],u=r[7]^r[17]^r[27]^r[37]^r[47],h=r[8]^r[18]^r[28]^r[38]^r[48],p=r[9]^r[19]^r[29]^r[39]^r[49];let g=h^(i<<1|s>>>31),w=p^(s<<1|i>>>31);const y=r[0]^g,C=r[1]^w,R=r[10]^g,k=r[11]^w,M=r[20]^g,O=r[21]^w,B=r[30]^g,j=r[31]^w,G=r[40]^g,D=r[41]^w;g=t^(o<<1|a>>>31),w=n^(a<<1|o>>>31);const $=r[2]^g,V=r[3]^w,te=r[12]^g,W=r[13]^w,P=r[22]^g,b=r[23]^w,d=r[32]^g,m=r[33]^w,x=r[42]^g,A=r[43]^w;g=i^(l<<1|u>>>31),w=s^(u<<1|l>>>31);const I=r[4]^g,T=r[5]^w,S=r[14]^g,E=r[15]^w,_=r[24]^g,U=r[25]^w,ie=r[34]^g,q=r[35]^w,Y=r[44]^g,K=r[45]^w;g=o^(h<<1|p>>>31),w=a^(p<<1|h>>>31);const ee=r[6]^g,re=r[7]^w,z=r[16]^g,L=r[17]^w,H=r[26]^g,le=r[27]^w,de=r[36]^g,Se=r[37]^w,Me=r[46]^g,ke=r[47]^w;g=l^(t<<1|n>>>31),w=u^(n<<1|t>>>31);const Ke=r[8]^g,Te=r[9]^w,je=r[18]^g,De=r[19]^w,Je=r[28]^g,ze=r[29]^w,qe=r[38]^g,Ve=r[39]^w,He=r[48]^g,Be=r[49]^w,Ge=y,Xe=C,se=k<<4|R>>>28,J=R<<4|k>>>28,Q=M<<3|O>>>29,ue=O<<3|M>>>29,we=j<<9|B>>>23,ye=B<<9|j>>>23,Ie=G<<18|D>>>14,it=D<<18|G>>>14,ot=$<<1|V>>>31,tt=V<<1|$>>>31,It=W<<12|te>>>20,st=te<<12|W>>>20,Nt=P<<10|b>>>22,Lt=b<<10|P>>>22,ht=m<<13|d>>>19,wt=d<<13|m>>>19,Ut=x<<2|A>>>30,ft=A<<2|x>>>30,dt=T<<30|I>>>2,Vt=I<<30|T>>>2,xt=S<<6|E>>>26,pt=E<<6|S>>>26,Gt=U<<11|_>>>21,gt=_<<11|U>>>21,vt=ie<<15|q>>>17,Ft=q<<15|ie>>>17,lt=K<<29|Y>>>3,_t=Y<<29|K>>>3,Kt=ee<<28|re>>>4,zt=re<<28|ee>>>4,Ht=L<<23|z>>>9,br=z<<23|L>>>9,Rt=H<<25|le>>>7,ur=le<<25|H>>>7,Yn=de<<21|Se>>>11,Qn=Se<<21|de>>>11,Xn=ke<<24|Me>>>8,ei=Me<<24|ke>>>8,gn=Ke<<27|Te>>>5,zn=Te<<27|Ke>>>5,Pi=je<<20|De>>>12,Hn=De<<20|je>>>12,Oi=ze<<7|Je>>>25,Di=Je<<7|ze>>>25,mi=qe<<8|Ve>>>24,_i=Ve<<8|qe>>>24,Ei=He<<14|Be>>>18,En=Be<<14|He>>>18;r[0]=Ge^~It&Gt,r[1]=Xe^~st>,r[10]=Kt^~Pi&Q,r[11]=zt^~Hn&ue,r[20]=ot^~xt&Rt,r[21]=tt^~pt&ur,r[30]=gn^~se&Nt,r[31]=zn^~J&Lt,r[40]=dt^~Ht&Oi,r[41]=Vt^~br&Di,r[2]=It^~Gt&Yn,r[3]=st^~gt&Qn,r[12]=Pi^~Q&ht,r[13]=Hn^~ue&wt,r[22]=xt^~Rt&mi,r[23]=pt^~ur&_i,r[32]=se^~Nt&vt,r[33]=J^~Lt&Ft,r[42]=Ht^~Oi&we,r[43]=br^~Di&ye,r[4]=Gt^~Yn&Ei,r[5]=gt^~Qn&En,r[14]=Q^~ht<,r[15]=ue^~wt&_t,r[24]=Rt^~mi&Ie,r[25]=ur^~_i&it,r[34]=Nt^~vt&Xn,r[35]=Lt^~Ft&ei,r[44]=Oi^~we&Ut,r[45]=Di^~ye&ft,r[6]=Yn^~Ei&Ge,r[7]=Qn^~En&Xe,r[16]=ht^~lt&Kt,r[17]=wt^~_t&zt,r[26]=mi^~Ie&ot,r[27]=_i^~it&tt,r[36]=vt^~Xn&gn,r[37]=Ft^~ei&zn,r[46]=we^~Ut&dt,r[47]=ye^~ft&Vt,r[8]=Ei^~Ge&It,r[9]=En^~Xe&st,r[18]=lt^~Kt&Pi,r[19]=_t^~zt&Hn,r[28]=Ie^~ot&xt,r[29]=it^~tt&pt,r[38]=Xn^~gn&se,r[39]=ei^~zn&J,r[48]=Ut^~dt&Ht,r[49]=ft^~Vt&br,r[0]^=ahe[e*2],r[1]^=ahe[e*2+1]}};const pI=ohe;function By(){this.state=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.blockSize=null,this.count=0,this.squeezing=!1}By.prototype.initialize=function(r,e){for(let t=0;t<50;++t)this.state[t]=0;this.blockSize=r/8,this.count=0,this.squeezing=!1},By.prototype.absorb=function(r){for(let e=0;e>>8*(this.count%4)&255,this.count+=1,this.count===this.blockSize&&(pI.p1600(this.state),this.count=0);return e},By.prototype.copy=function(r){for(let e=0;e<50;++e)r.state[e]=this.state[e];r.blockSize=this.blockSize,r.count=this.count,r.squeezing=this.squeezing};var oze=By,aze=sze(oze);const cze=aze,lze=MS;function che(r){return $t.allocUnsafe(r).fill(0)}function lhe(r,e,t){const n=che(e);return r=gI(r),t?r.length"u")throw new Error("Not an array?");if(t=ghe(r),t!=="dynamic"&&t!==0&&e.length>t)throw new Error("Elements exceed array size: "+t);i=[],r=r.slice(0,r.lastIndexOf("[")),typeof e=="string"&&(e=JSON.parse(e));for(s in e)i.push(_f(r,e[s]));if(t==="dynamic"){var o=_f("uint256",e.length);i.unshift(o)}return $t.concat(i)}else{if(r==="bytes")return e=new $t(e),i=$t.concat([_f("uint256",e.length),e]),e.length%32!==0&&(i=$t.concat([i,Ym.zeros(32-e.length%32)])),i;if(r.startsWith("bytes")){if(t=Ly(r),t<1||t>32)throw new Error("Invalid bytes width: "+t);return Ym.setLengthRight(e,32)}else if(r.startsWith("uint")){if(t=Ly(r),t%8||t<8||t>256)throw new Error("Invalid uint width: "+t);if(n=Xm(e),n.bitLength()>t)throw new Error("Supplied uint exceeds width: "+t+" vs "+n.bitLength());if(n<0)throw new Error("Supplied uint is negative");return n.toArrayLike($t,"be",32)}else if(r.startsWith("int")){if(t=Ly(r),t%8||t<8||t>256)throw new Error("Invalid int width: "+t);if(n=Xm(e),n.bitLength()>t)throw new Error("Supplied int exceeds width: "+t+" vs "+n.bitLength());return n.toTwos(256).toArrayLike($t,"be",32)}else if(r.startsWith("ufixed")){if(t=phe(r),n=Xm(e),n<0)throw new Error("Supplied ufixed is negative");return _f("uint256",n.mul(new Qm(2).pow(new Qm(t[1]))))}else if(r.startsWith("fixed"))return t=phe(r),_f("int256",Xm(e).mul(new Qm(2).pow(new Qm(t[1]))))}throw new Error("Unsupported or invalid type: "+r)}function pze(r){return r==="string"||r==="bytes"||ghe(r)==="dynamic"}function gze(r){return r.lastIndexOf("]")===r.length-1}function mze(r,e){var t=[],n=[],i=32*r.length;for(var s in r){var o=dhe(r[s]),a=e[s],l=_f(o,a);pze(o)?(t.push(_f("uint256",i)),n.push(l),i+=l.length):t.push(l)}return $t.concat(t.concat(n))}function mhe(r,e){if(r.length!==e.length)throw new Error("Number of types are not matching the values");for(var t,n,i=[],s=0;s32)throw new Error("Invalid bytes width: "+t);i.push(Ym.setLengthRight(a,t))}else if(o.startsWith("uint")){if(t=Ly(o),t%8||t<8||t>256)throw new Error("Invalid uint width: "+t);if(n=Xm(a),n.bitLength()>t)throw new Error("Supplied uint exceeds width: "+t+" vs "+n.bitLength());i.push(n.toArrayLike($t,"be",t/8))}else if(o.startsWith("int")){if(t=Ly(o),t%8||t<8||t>256)throw new Error("Invalid int width: "+t);if(n=Xm(a),n.bitLength()>t)throw new Error("Supplied int exceeds width: "+t+" vs "+n.bitLength());i.push(n.toTwos(t).toArrayLike($t,"be",t/8))}else throw new Error("Unsupported or invalid type: "+o)}return $t.concat(i)}function bze(r,e){return Ym.keccak(mhe(r,e))}var wze={rawEncode:mze,solidityPack:mhe,soliditySHA3:bze};const Qu=fhe,k8=wze,bhe={type:"object",properties:{types:{type:"object",additionalProperties:{type:"array",items:{type:"object",properties:{name:{type:"string"},type:{type:"string"}},required:["name","type"]}}},primaryType:{type:"string"},domain:{type:"object"},message:{type:"object"}},required:["types","primaryType","domain","message"]},vL={encodeData(r,e,t,n=!0){const i=["bytes32"],s=[this.hashType(r,t)];if(n){const o=(a,l,u)=>{if(t[l]!==void 0)return["bytes32",u==null?"0x0000000000000000000000000000000000000000000000000000000000000000":Qu.keccak(this.encodeData(l,u,t,n))];if(u===void 0)throw new Error(`missing value for field ${a} of type ${l}`);if(l==="bytes")return["bytes32",Qu.keccak(u)];if(l==="string")return typeof u=="string"&&(u=$t.from(u,"utf8")),["bytes32",Qu.keccak(u)];if(l.lastIndexOf("]")===l.length-1){const h=l.slice(0,l.lastIndexOf("[")),p=u.map(g=>o(a,h,g));return["bytes32",Qu.keccak(k8.rawEncode(p.map(([g])=>g),p.map(([,g])=>g)))]}return[l,u]};for(const a of t[r]){const[l,u]=o(a.name,a.type,e[a.name]);i.push(l),s.push(u)}}else for(const o of t[r]){let a=e[o.name];if(a!==void 0)if(o.type==="bytes")i.push("bytes32"),a=Qu.keccak(a),s.push(a);else if(o.type==="string")i.push("bytes32"),typeof a=="string"&&(a=$t.from(a,"utf8")),a=Qu.keccak(a),s.push(a);else if(t[o.type]!==void 0)i.push("bytes32"),a=Qu.keccak(this.encodeData(o.type,a,t,n)),s.push(a);else{if(o.type.lastIndexOf("]")===o.type.length-1)throw new Error("Arrays currently unimplemented in encodeData");i.push(o.type),s.push(a)}}return k8.rawEncode(i,s)},encodeType(r,e){let t="",n=this.findTypeDependencies(r,e).filter(i=>i!==r);n=[r].concat(n.sort());for(const i of n){if(!e[i])throw new Error("No type definition specified: "+i);t+=i+"("+e[i].map(({name:o,type:a})=>a+" "+o).join(",")+")"}return t},findTypeDependencies(r,e,t=[]){if(r=r.match(/^\w*/)[0],t.includes(r)||e[r]===void 0)return t;t.push(r);for(const n of e[r])for(const i of this.findTypeDependencies(n.type,e,t))!t.includes(i)&&t.push(i);return t},hashStruct(r,e,t,n=!0){return Qu.keccak(this.encodeData(r,e,t,n))},hashType(r,e){return Qu.keccak(this.encodeType(r,e))},sanitizeData(r){const e={};for(const t in bhe.properties)r[t]&&(e[t]=r[t]);return e.types&&(e.types=Object.assign({EIP712Domain:[]},e.types)),e},hash(r,e=!0){const t=this.sanitizeData(r),n=[$t.from("1901","hex")];return n.push(this.hashStruct("EIP712Domain",t.domain,t.types,e)),t.primaryType!=="EIP712Domain"&&n.push(this.hashStruct(t.primaryType,t.message,t.types,e)),Qu.keccak($t.concat(n))}};var vze={TYPED_MESSAGE_SCHEMA:bhe,TypedDataUtils:vL,hashForSignTypedDataLegacy:function(r){return yze(r.data)},hashForSignTypedData_v3:function(r){return vL.hash(r.data,!1)},hashForSignTypedData_v4:function(r){return vL.hash(r.data)}};function yze(r){const e=new Error("Expect argument to be non-empty array");if(typeof r!="object"||!r.length)throw e;const t=r.map(function(s){return s.type==="bytes"?Qu.toBuffer(s.value):s.value}),n=r.map(function(s){return s.type}),i=r.map(function(s){if(!s.name)throw e;return s.type+" "+s.name});return k8.soliditySHA3(["bytes32","bytes32"],[k8.soliditySHA3(new Array(r.length).fill("string"),i),k8.soliditySHA3(n,t)])}var Uy={};Object.defineProperty(Uy,"__esModule",{value:!0}),Uy.filterFromParam=Uy.FilterPolyfill=void 0;const Fy=Ks,Ba=mr,xze=5*60*1e3,e2={jsonrpc:"2.0",id:0};class _ze{constructor(e){this.logFilters=new Map,this.blockFilters=new Set,this.pendingTransactionFilters=new Set,this.cursors=new Map,this.timeouts=new Map,this.nextFilterId=(0,Fy.IntNumber)(1),this.REQUEST_THROTTLE_INTERVAL=1e3,this.lastFetchTimestamp=new Date(0),this.resolvers=[],this.provider=e}async newFilter(e){const t=whe(e),n=this.makeFilterId(),i=await this.setInitialCursorPosition(n,t.fromBlock);return console.info(`Installing new log filter(${n}):`,t,"initial cursor position:",i),this.logFilters.set(n,t),this.setFilterTimeout(n),(0,Ba.hexStringFromIntNumber)(n)}async newBlockFilter(){const e=this.makeFilterId(),t=await this.setInitialCursorPosition(e,"latest");return console.info(`Installing new block filter (${e}) with initial cursor position:`,t),this.blockFilters.add(e),this.setFilterTimeout(e),(0,Ba.hexStringFromIntNumber)(e)}async newPendingTransactionFilter(){const e=this.makeFilterId(),t=await this.setInitialCursorPosition(e,"latest");return console.info(`Installing new block filter (${e}) with initial cursor position:`,t),this.pendingTransactionFilters.add(e),this.setFilterTimeout(e),(0,Ba.hexStringFromIntNumber)(e)}uninstallFilter(e){const t=(0,Ba.intNumberFromHexString)(e);return console.info(`Uninstalling filter (${t})`),this.deleteFilter(t),!0}getFilterChanges(e){const t=(0,Ba.intNumberFromHexString)(e);return this.timeouts.has(t)&&this.setFilterTimeout(t),this.logFilters.has(t)?this.getLogFilterChanges(t):this.blockFilters.has(t)?this.getBlockFilterChanges(t):this.pendingTransactionFilters.has(t)?this.getPendingTransactionFilterChanges(t):Promise.resolve(mI())}async getFilterLogs(e){const t=(0,Ba.intNumberFromHexString)(e),n=this.logFilters.get(t);return n?this.sendAsyncPromise(Object.assign(Object.assign({},e2),{method:"eth_getLogs",params:[vhe(n)]})):mI()}makeFilterId(){return(0,Fy.IntNumber)(++this.nextFilterId)}sendAsyncPromise(e){return new Promise((t,n)=>{this.provider.sendAsync(e,(i,s)=>{if(i)return n(i);if(Array.isArray(s)||s==null)return n(new Error(`unexpected response received: ${JSON.stringify(s)}`));t(s)})})}deleteFilter(e){console.info(`Deleting filter (${e})`),this.logFilters.delete(e),this.blockFilters.delete(e),this.pendingTransactionFilters.delete(e),this.cursors.delete(e),this.timeouts.delete(e)}async getLogFilterChanges(e){const t=this.logFilters.get(e),n=this.cursors.get(e);if(!n||!t)return mI();const i=await this.getCurrentBlockHeight(),s=t.toBlock==="latest"?i:t.toBlock;if(n>i||n>Number(t.toBlock))return bI();console.info(`Fetching logs from ${n} to ${s} for filter ${e}`);const o=await this.sendAsyncPromise(Object.assign(Object.assign({},e2),{method:"eth_getLogs",params:[vhe(Object.assign(Object.assign({},t),{fromBlock:n,toBlock:s}))]}));if(Array.isArray(o.result)){const a=o.result.map(u=>(0,Ba.intNumberFromHexString)(u.blockNumber||"0x0")),l=Math.max(...a);if(l&&l>n){const u=(0,Fy.IntNumber)(l+1);console.info(`Moving cursor position for filter (${e}) from ${n} to ${u}`),this.cursors.set(e,u)}}return o}async getBlockFilterChanges(e){const t=this.cursors.get(e);if(!t)return mI();const n=await this.getCurrentBlockHeight();if(t>n)return bI();console.info(`Fetching blocks from ${t} to ${n} for filter (${e})`);const i=(await Promise.all((0,Ba.range)(t,n+1).map(o=>this.getBlockHashByNumber((0,Fy.IntNumber)(o))))).filter(o=>!!o),s=(0,Fy.IntNumber)(t+i.length);return console.info(`Moving cursor position for filter (${e}) from ${t} to ${s}`),this.cursors.set(e,s),Object.assign(Object.assign({},e2),{result:i})}async getPendingTransactionFilterChanges(e){return Promise.resolve(bI())}async setInitialCursorPosition(e,t){const n=await this.getCurrentBlockHeight(),i=typeof t=="number"&&t>n?t:n;return this.cursors.set(e,i),i}setFilterTimeout(e){const t=this.timeouts.get(e);t&&window.clearTimeout(t);const n=window.setTimeout(()=>{console.info(`Filter (${e}) timed out`),this.deleteFilter(e)},xze);this.timeouts.set(e,n)}async getCurrentBlockHeight(){const e=new Date;if(e.getTime()-this.lastFetchTimestamp.getTime()>this.REQUEST_THROTTLE_INTERVAL){this.lastFetchTimestamp=e;const t=await this._getCurrentBlockHeight();this.currentBlockHeight=t,this.resolvers.forEach(n=>n(t)),this.resolvers=[]}return this.currentBlockHeight?this.currentBlockHeight:new Promise(t=>this.resolvers.push(t))}async _getCurrentBlockHeight(){const{result:e}=await this.sendAsyncPromise(Object.assign(Object.assign({},e2),{method:"eth_blockNumber",params:[]}));return(0,Ba.intNumberFromHexString)((0,Ba.ensureHexString)(e))}async getBlockHashByNumber(e){const t=await this.sendAsyncPromise(Object.assign(Object.assign({},e2),{method:"eth_getBlockByNumber",params:[(0,Ba.hexStringFromIntNumber)(e),!1]}));return t.result&&typeof t.result.hash=="string"?(0,Ba.ensureHexString)(t.result.hash):null}}Uy.FilterPolyfill=_ze;function whe(r){return{fromBlock:yhe(r.fromBlock),toBlock:yhe(r.toBlock),addresses:r.address===void 0?null:Array.isArray(r.address)?r.address:[r.address],topics:r.topics||[]}}Uy.filterFromParam=whe;function vhe(r){const e={fromBlock:xhe(r.fromBlock),toBlock:xhe(r.toBlock),topics:r.topics};return r.addresses!==null&&(e.address=r.addresses),e}function yhe(r){if(r===void 0||r==="latest"||r==="pending")return"latest";if(r==="earliest")return(0,Fy.IntNumber)(0);if((0,Ba.isHexString)(r))return(0,Ba.intNumberFromHexString)(r);throw new Error(`Invalid block option: ${String(r)}`)}function xhe(r){return r==="latest"?r:(0,Ba.hexStringFromIntNumber)(r)}function mI(){return Object.assign(Object.assign({},e2),{error:{code:-32e3,message:"filter not found"}})}function bI(){return Object.assign(Object.assign({},e2),{result:[]})}var wI={},_he={},vI={},yL=Eze;function Eze(r){r=r||{};var e=r.max||Number.MAX_SAFE_INTEGER,t=typeof r.start<"u"?r.start:Math.floor(Math.random()*e);return function(){return t=t%e,t++}}const Ehe=(r,e)=>function(){const t=e.promiseModule,n=new Array(arguments.length);for(let i=0;i{e.errorFirst?n.push(function(o,a){if(e.multiArgs){const l=new Array(arguments.length-1);for(let u=1;u{e=Object.assign({exclude:[/.+(Sync|Stream)$/],errorFirst:!0,promiseModule:Promise},e);const t=i=>{const s=o=>typeof o=="string"?i===o:o.test(i);return e.include?e.include.some(s):!e.exclude.some(s)};let n;typeof r=="function"?n=function(){return e.excludeMain?r.apply(this,arguments):Ehe(r,e).apply(this,arguments)}:n=Object.create(Object.getPrototypeOf(r));for(const i in r){const s=r[i];n[i]=typeof s=="function"&&t(i)?Ehe(s,e):s}return n},M8={},N8={};Object.defineProperty(N8,"__esModule",{value:!0});const Cze=fi;function Ahe(r,e,t){try{Reflect.apply(r,e,t)}catch(n){setTimeout(()=>{throw n})}}function Sze(r){const e=r.length,t=new Array(e);for(let n=0;n0&&([o]=t),o instanceof Error)throw o;const a=new Error(`Unhandled error.${o?` (${o.message})`:""}`);throw a.context=o,a}const s=i[e];if(s===void 0)return!1;if(typeof s=="function")Ahe(s,this,t);else{const o=s.length,a=Sze(s);for(let l=0;lr+e,Che=["sync","latest"];class Nze extends Tze.default{constructor(e){super(),this._blockResetDuration=e.blockResetDuration||20*kze,this._usePastBlocks=e.usePastBlocks||!1,this._currentBlock=null,this._isRunning=!1,this._onNewListener=this._onNewListener.bind(this),this._onRemoveListener=this._onRemoveListener.bind(this),this._resetCurrentBlock=this._resetCurrentBlock.bind(this),this._setupInternalEvents()}async destroy(){this._cancelBlockResetTimeout(),await this._maybeEnd(),super.removeAllListeners()}isRunning(){return this._isRunning}getCurrentBlock(){return this._currentBlock}async getLatestBlock(){return this._currentBlock?this._currentBlock:await new Promise(t=>this.once("latest",t))}removeAllListeners(e){return e?super.removeAllListeners(e):super.removeAllListeners(),this._setupInternalEvents(),this._onRemoveListener(),this}_setupInternalEvents(){this.removeListener("newListener",this._onNewListener),this.removeListener("removeListener",this._onRemoveListener),this.on("newListener",this._onNewListener),this.on("removeListener",this._onRemoveListener)}_onNewListener(e){Che.includes(e)&&this._maybeStart()}_onRemoveListener(){this._getBlockTrackerEventCount()>0||this._maybeEnd()}async _maybeStart(){this._isRunning||(this._isRunning=!0,this._cancelBlockResetTimeout(),await this._start(),this.emit("_started"))}async _maybeEnd(){this._isRunning&&(this._isRunning=!1,this._setupBlockResetTimeout(),await this._end(),this.emit("_ended"))}_getBlockTrackerEventCount(){return Che.map(e=>this.listenerCount(e)).reduce(Mze)}_shouldUseNewBlock(e){const t=this._currentBlock;if(!t)return!0;const n=She(e),i=She(t);return this._usePastBlocks&&ni}_newPotentialLatest(e){this._shouldUseNewBlock(e)&&this._setCurrentBlock(e)}_setCurrentBlock(e){const t=this._currentBlock;this._currentBlock=e,this.emit("latest",e),this.emit("sync",{oldBlock:t,newBlock:e})}_setupBlockResetTimeout(){this._cancelBlockResetTimeout(),this._blockResetTimeout=setTimeout(this._resetCurrentBlock,this._blockResetDuration),this._blockResetTimeout.unref&&this._blockResetTimeout.unref()}_cancelBlockResetTimeout(){this._blockResetTimeout&&clearTimeout(this._blockResetTimeout)}_resetCurrentBlock(){this._currentBlock=null}}M8.BaseBlockTracker=Nze;function She(r){return Number.parseInt(r,16)}var Ihe={},Rhe={},qo={};class The extends TypeError{constructor(e,t){let n;const{message:i,explanation:s,...o}=e,{path:a}=e,l=a.length===0?i:`At path: ${a.join(".")} -- ${i}`;super(s??l),s!=null&&(this.cause=l),Object.assign(this,o),this.name=this.constructor.name,this.failures=()=>n??(n=[e,...t()])}}function Pze(r){return tu(r)&&typeof r[Symbol.iterator]=="function"}function tu(r){return typeof r=="object"&&r!=null}function khe(r){if(Object.prototype.toString.call(r)!=="[object Object]")return!1;const e=Object.getPrototypeOf(r);return e===null||e===Object.prototype}function Zs(r){return typeof r=="symbol"?r.toString():typeof r=="string"?JSON.stringify(r):`${r}`}function Oze(r){const{done:e,value:t}=r.next();return e?void 0:t}function Dze(r,e,t,n){if(r===!0)return;r===!1?r={}:typeof r=="string"&&(r={message:r});const{path:i,branch:s}=e,{type:o}=t,{refinement:a,message:l=`Expected a value of type \`${o}\`${a?` with refinement \`${a}\``:""}, but received: \`${Zs(n)}\``}=r;return{value:n,type:o,refinement:a,key:i[i.length-1],path:i,branch:s,...r,message:l}}function*xL(r,e,t,n){Pze(r)||(r=[r]);for(const i of r){const s=Dze(i,e,t,n);s&&(yield s)}}function*_L(r,e,t={}){const{path:n=[],branch:i=[r],coerce:s=!1,mask:o=!1}=t,a={path:n,branch:i};if(s&&(r=e.coercer(r,a),o&&e.type!=="type"&&tu(e.schema)&&tu(r)&&!Array.isArray(r)))for(const u in r)e.schema[u]===void 0&&delete r[u];let l="valid";for(const u of e.validator(r,a))u.explanation=t.message,l="not_valid",yield[u,void 0];for(let[u,h,p]of e.entries(r,a)){const g=_L(h,p,{path:u===void 0?n:[...n,u],branch:u===void 0?i:[...i,h],coerce:s,mask:o,message:t.message});for(const w of g)w[0]?(l=w[0].refinement!=null?"not_refined":"not_valid",yield[w[0],void 0]):s&&(h=w[1],u===void 0?r=h:r instanceof Map?r.set(u,h):r instanceof Set?r.add(h):tu(r)&&(h!==void 0||u in r)&&(r[u]=h))}if(l!=="not_valid")for(const u of e.refiner(r,a))u.explanation=t.message,l="not_refined",yield[u,void 0];l==="valid"&&(yield[void 0,r])}class Es{constructor(e){const{type:t,schema:n,validator:i,refiner:s,coercer:o=l=>l,entries:a=function*(){}}=e;this.type=t,this.schema=n,this.entries=a,this.coercer=o,i?this.validator=(l,u)=>{const h=i(l,u);return xL(h,u,this,l)}:this.validator=()=>[],s?this.refiner=(l,u)=>{const h=s(l,u);return xL(h,u,this,l)}:this.refiner=()=>[]}assert(e,t){return Mhe(e,this,t)}create(e,t){return Nhe(e,this,t)}is(e){return EL(e,this)}mask(e,t){return Phe(e,this,t)}validate(e,t={}){return jy(e,this,t)}}function Mhe(r,e,t){const n=jy(r,e,{message:t});if(n[0])throw n[0]}function Nhe(r,e,t){const n=jy(r,e,{coerce:!0,message:t});if(n[0])throw n[0];return n[1]}function Phe(r,e,t){const n=jy(r,e,{coerce:!0,mask:!0,message:t});if(n[0])throw n[0];return n[1]}function EL(r,e){return!jy(r,e)[0]}function jy(r,e,t={}){const n=_L(r,e,t),i=Oze(n);return i[0]?[new The(i[0],function*(){for(const o of n)o[0]&&(yield o[0])}),void 0]:[void 0,i[1]]}function $ze(...r){const e=r[0].type==="type",t=r.map(i=>i.schema),n=Object.assign({},...t);return e?O8(n):P8(n)}function wc(r,e){return new Es({type:r,schema:null,validator:e})}function Bze(r,e){return new Es({...r,refiner:(t,n)=>t===void 0||r.refiner(t,n),validator(t,n){return t===void 0?!0:(e(t,n),r.validator(t,n))}})}function Lze(r){return new Es({type:"dynamic",schema:null,*entries(e,t){yield*r(e,t).entries(e,t)},validator(e,t){return r(e,t).validator(e,t)},coercer(e,t){return r(e,t).coercer(e,t)},refiner(e,t){return r(e,t).refiner(e,t)}})}function Uze(r){let e;return new Es({type:"lazy",schema:null,*entries(t,n){e??(e=r()),yield*e.entries(t,n)},validator(t,n){return e??(e=r()),e.validator(t,n)},coercer(t,n){return e??(e=r()),e.coercer(t,n)},refiner(t,n){return e??(e=r()),e.refiner(t,n)}})}function Fze(r,e){const{schema:t}=r,n={...t};for(const i of e)delete n[i];switch(r.type){case"type":return O8(n);default:return P8(n)}}function jze(r){const e=r instanceof Es,t=e?{...r.schema}:{...r};for(const n in t)t[n]=Ohe(t[n]);return e&&r.type==="type"?O8(t):P8(t)}function zze(r,e){const{schema:t}=r,n={};for(const i of e)n[i]=t[i];switch(r.type){case"type":return O8(n);default:return P8(n)}}function Hze(r,e){return console.warn("superstruct@0.11 - The `struct` helper has been renamed to `define`."),wc(r,e)}function qze(){return wc("any",()=>!0)}function Wze(r){return new Es({type:"array",schema:r,*entries(e){if(r&&Array.isArray(e))for(const[t,n]of e.entries())yield[t,n,r]},coercer(e){return Array.isArray(e)?e.slice():e},validator(e){return Array.isArray(e)||`Expected an array value, but received: ${Zs(e)}`}})}function Vze(){return wc("bigint",r=>typeof r=="bigint")}function Gze(){return wc("boolean",r=>typeof r=="boolean")}function Kze(){return wc("date",r=>r instanceof Date&&!isNaN(r.getTime())||`Expected a valid \`Date\` object, but received: ${Zs(r)}`)}function Zze(r){const e={},t=r.map(n=>Zs(n)).join();for(const n of r)e[n]=n;return new Es({type:"enums",schema:e,validator(n){return r.includes(n)||`Expected one of \`${t}\`, but received: ${Zs(n)}`}})}function Jze(){return wc("func",r=>typeof r=="function"||`Expected a function, but received: ${Zs(r)}`)}function Yze(r){return wc("instance",e=>e instanceof r||`Expected a \`${r.name}\` instance, but received: ${Zs(e)}`)}function Qze(){return wc("integer",r=>typeof r=="number"&&!isNaN(r)&&Number.isInteger(r)||`Expected an integer, but received: ${Zs(r)}`)}function Xze(r){return new Es({type:"intersection",schema:null,*entries(e,t){for(const n of r)yield*n.entries(e,t)},*validator(e,t){for(const n of r)yield*n.validator(e,t)},*refiner(e,t){for(const n of r)yield*n.refiner(e,t)}})}function eHe(r){const e=Zs(r),t=typeof r;return new Es({type:"literal",schema:t==="string"||t==="number"||t==="boolean"?r:null,validator(n){return n===r||`Expected the literal \`${e}\`, but received: ${Zs(n)}`}})}function tHe(r,e){return new Es({type:"map",schema:null,*entries(t){if(r&&e&&t instanceof Map)for(const[n,i]of t.entries())yield[n,n,r],yield[n,i,e]},coercer(t){return t instanceof Map?new Map(t):t},validator(t){return t instanceof Map||`Expected a \`Map\` object, but received: ${Zs(t)}`}})}function AL(){return wc("never",()=>!1)}function rHe(r){return new Es({...r,validator:(e,t)=>e===null||r.validator(e,t),refiner:(e,t)=>e===null||r.refiner(e,t)})}function nHe(){return wc("number",r=>typeof r=="number"&&!isNaN(r)||`Expected a number, but received: ${Zs(r)}`)}function P8(r){const e=r?Object.keys(r):[],t=AL();return new Es({type:"object",schema:r||null,*entries(n){if(r&&tu(n)){const i=new Set(Object.keys(n));for(const s of e)i.delete(s),yield[s,n[s],r[s]];for(const s of i)yield[s,n[s],t]}},validator(n){return tu(n)||`Expected an object, but received: ${Zs(n)}`},coercer(n){return tu(n)?{...n}:n}})}function Ohe(r){return new Es({...r,validator:(e,t)=>e===void 0||r.validator(e,t),refiner:(e,t)=>e===void 0||r.refiner(e,t)})}function iHe(r,e){return new Es({type:"record",schema:null,*entries(t){if(tu(t))for(const n in t){const i=t[n];yield[n,n,r],yield[n,i,e]}},validator(t){return tu(t)||`Expected an object, but received: ${Zs(t)}`}})}function sHe(){return wc("regexp",r=>r instanceof RegExp)}function oHe(r){return new Es({type:"set",schema:null,*entries(e){if(r&&e instanceof Set)for(const t of e)yield[t,t,r]},coercer(e){return e instanceof Set?new Set(e):e},validator(e){return e instanceof Set||`Expected a \`Set\` object, but received: ${Zs(e)}`}})}function Dhe(){return wc("string",r=>typeof r=="string"||`Expected a string, but received: ${Zs(r)}`)}function aHe(r){const e=AL();return new Es({type:"tuple",schema:null,*entries(t){if(Array.isArray(t)){const n=Math.max(r.length,t.length);for(let i=0;it.type).join(" | ");return new Es({type:"union",schema:null,coercer(t){for(const n of r){const[i,s]=n.validate(t,{coerce:!0});if(!i)return s}return t},validator(t,n){const i=[];for(const s of r){const[...o]=_L(t,s,n),[a]=o;if(a[0])for(const[l]of o)l&&i.push(l);else return[]}return[`Expected the value to satisfy a union of \`${e}\`, but received: ${Zs(t)}`,...i]}})}function $he(){return wc("unknown",()=>!0)}function CL(r,e,t){return new Es({...r,coercer:(n,i)=>EL(n,e)?r.coercer(t(n,i),i):r.coercer(n,i)})}function lHe(r,e,t={}){return CL(r,$he(),n=>{const i=typeof e=="function"?e():e;if(n===void 0)return i;if(!t.strict&&khe(n)&&khe(i)){const s={...n};let o=!1;for(const a in i)s[a]===void 0&&(s[a]=i[a],o=!0);if(o)return s}return n})}function uHe(r){return CL(r,Dhe(),e=>e.trim())}function hHe(r){return t2(r,"empty",e=>{const t=Bhe(e);return t===0||`Expected an empty ${r.type} but received one with a size of \`${t}\``})}function Bhe(r){return r instanceof Map||r instanceof Set?r.size:r.length}function fHe(r,e,t={}){const{exclusive:n}=t;return t2(r,"max",i=>n?in?i>e:i>=e||`Expected a ${r.type} greater than ${n?"":"or equal to "}${e} but received \`${i}\``)}function pHe(r){return t2(r,"nonempty",e=>Bhe(e)>0||`Expected a nonempty ${r.type} but received an empty one`)}function gHe(r,e){return t2(r,"pattern",t=>e.test(t)||`Expected a ${r.type} matching \`/${e.source}/\` but received "${t}"`)}function mHe(r,e,t=e){const n=`Expected a ${r.type}`,i=e===t?`of \`${e}\``:`between \`${e}\` and \`${t}\``;return t2(r,"size",s=>{if(typeof s=="number"||s instanceof Date)return e<=s&&s<=t||`${n} ${i} but received \`${s}\``;if(s instanceof Map||s instanceof Set){const{size:o}=s;return e<=o&&o<=t||`${n} with a size ${i} but received one with a size of \`${o}\``}else{const{length:o}=s;return e<=o&&o<=t||`${n} with a length ${i} but received one with a length of \`${o}\``}})}function t2(r,e,t){return new Es({...r,*refiner(n,i){yield*r.refiner(n,i);const s=t(n,i),o=xL(s,i,r,n);for(const a of o)yield{...a,refinement:e}}})}const r2=sd(Object.freeze(Object.defineProperty({__proto__:null,Struct:Es,StructError:The,any:qze,array:Wze,assert:Mhe,assign:$ze,bigint:Vze,boolean:Gze,coerce:CL,create:Nhe,date:Kze,defaulted:lHe,define:wc,deprecated:Bze,dynamic:Lze,empty:hHe,enums:Zze,func:Jze,instance:Yze,integer:Qze,intersection:Xze,is:EL,lazy:Uze,literal:eHe,map:tHe,mask:Phe,max:fHe,min:dHe,never:AL,nonempty:pHe,nullable:rHe,number:nHe,object:P8,omit:Fze,optional:Ohe,partial:jze,pattern:gHe,pick:zze,record:iHe,refine:t2,regexp:sHe,set:oHe,size:mHe,string:Dhe,struct:Hze,trimmed:uHe,tuple:aHe,type:O8,union:cHe,unknown:$he,validate:jy},Symbol.toStringTag,{value:"Module"})));Object.defineProperty(qo,"__esModule",{value:!0}),qo.assertExhaustive=qo.assertStruct=qo.assert=qo.AssertionError=void 0;const bHe=r2;function wHe(r){return typeof r=="object"&&r!==null&&"message"in r}function vHe(r){var e,t;return typeof((t=(e=r==null?void 0:r.prototype)===null||e===void 0?void 0:e.constructor)===null||t===void 0?void 0:t.name)=="string"}function yHe(r){const e=wHe(r)?r.message:String(r);return e.endsWith(".")?e.slice(0,-1):e}function Lhe(r,e){return vHe(r)?new r({message:e}):r({message:e})}class SL extends Error{constructor(e){super(e.message),this.code="ERR_ASSERTION"}}qo.AssertionError=SL;function xHe(r,e="Assertion failed.",t=SL){if(!r)throw e instanceof Error?e:Lhe(t,e)}qo.assert=xHe;function _He(r,e,t="Assertion failed",n=SL){try{(0,bHe.assert)(r,e)}catch(i){throw Lhe(n,`${t}: ${yHe(i)}.`)}}qo.assertStruct=_He;function EHe(r){throw new Error("Invalid branch reached. Should be detected during compilation.")}qo.assertExhaustive=EHe;var D8={};Object.defineProperty(D8,"__esModule",{value:!0}),D8.base64=void 0;const AHe=r2,CHe=qo,SHe=(r,e={})=>{var t,n;const i=(t=e.paddingRequired)!==null&&t!==void 0?t:!1,s=(n=e.characterSet)!==null&&n!==void 0?n:"base64";let o;s==="base64"?o=String.raw`[A-Za-z0-9+\/]`:((0,CHe.assert)(s==="base64url"),o=String.raw`[-_A-Za-z0-9]`);let a;return i?a=new RegExp(`^(?:${o}{4})*(?:${o}{3}=|${o}{2}==)?$`,"u"):a=new RegExp(`^(?:${o}{4})*(?:${o}{2,3}|${o}{3}=|${o}{2}==)?$`,"u"),(0,AHe.pattern)(r,a)};D8.base64=SHe;var In={},$8={};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.remove0x=r.add0x=r.assertIsStrictHexString=r.assertIsHexString=r.isStrictHexString=r.isHexString=r.StrictHexStruct=r.HexStruct=void 0;const e=r2,t=qo;r.HexStruct=(0,e.pattern)((0,e.string)(),/^(?:0x)?[0-9a-f]+$/iu),r.StrictHexStruct=(0,e.pattern)((0,e.string)(),/^0x[0-9a-f]+$/iu);function n(u){return(0,e.is)(u,r.HexStruct)}r.isHexString=n;function i(u){return(0,e.is)(u,r.StrictHexStruct)}r.isStrictHexString=i;function s(u){(0,t.assert)(n(u),"Value must be a hexadecimal string.")}r.assertIsHexString=s;function o(u){(0,t.assert)(i(u),'Value must be a hexadecimal string, starting with "0x".')}r.assertIsStrictHexString=o;function a(u){return u.startsWith("0x")?u:u.startsWith("0X")?`0x${u.substring(2)}`:`0x${u}`}r.add0x=a;function l(u){return u.startsWith("0x")||u.startsWith("0X")?u.substring(2):u}r.remove0x=l})($8),Object.defineProperty(In,"__esModule",{value:!0}),In.createDataView=In.concatBytes=In.valueToBytes=In.stringToBytes=In.numberToBytes=In.signedBigIntToBytes=In.bigIntToBytes=In.hexToBytes=In.bytesToString=In.bytesToNumber=In.bytesToSignedBigInt=In.bytesToBigInt=In.bytesToHex=In.assertIsBytes=In.isBytes=void 0;const Zc=qo,IL=$8,Uhe=48,Fhe=58,jhe=87;function IHe(){const r=[];return()=>{if(r.length===0)for(let e=0;e<256;e++)r.push(e.toString(16).padStart(2,"0"));return r}}const RHe=IHe();function RL(r){return r instanceof Uint8Array}In.isBytes=RL;function zy(r){(0,Zc.assert)(RL(r),"Value must be a Uint8Array.")}In.assertIsBytes=zy;function zhe(r){if(zy(r),r.length===0)return"0x";const e=RHe(),t=new Array(r.length);for(let n=0;n=BigInt(0),"Value must be a non-negative bigint.");const e=r.toString(16);return yI(e)}In.bigIntToBytes=qhe;function NHe(r,e){(0,Zc.assert)(e>0);const t=r>>BigInt(31);return!((~r&t)+(r&~t)>>BigInt(e*8+-1))}function PHe(r,e){(0,Zc.assert)(typeof r=="bigint","Value must be a bigint."),(0,Zc.assert)(typeof e=="number","Byte length must be a number."),(0,Zc.assert)(e>0,"Byte length must be greater than 0."),(0,Zc.assert)(NHe(r,e),"Byte length is too small to represent the given value.");let t=r;const n=new Uint8Array(e);for(let i=0;i>=BigInt(8);return n.reverse()}In.signedBigIntToBytes=PHe;function Whe(r){(0,Zc.assert)(typeof r=="number","Value must be a number."),(0,Zc.assert)(r>=0,"Value must be a non-negative number."),(0,Zc.assert)(Number.isSafeInteger(r),"Value is not a safe integer. Use `bigIntToBytes` instead.");const e=r.toString(16);return yI(e)}In.numberToBytes=Whe;function Vhe(r){return(0,Zc.assert)(typeof r=="string","Value must be a string."),new TextEncoder().encode(r)}In.stringToBytes=Vhe;function Ghe(r){if(typeof r=="bigint")return qhe(r);if(typeof r=="number")return Whe(r);if(typeof r=="string")return r.startsWith("0x")?yI(r):Vhe(r);if(RL(r))return r;throw new TypeError(`Unsupported value type: "${typeof r}".`)}In.valueToBytes=Ghe;function OHe(r){const e=new Array(r.length);let t=0;for(let i=0;ie.call(t,n,i,this))}get(e){return La(this,Xu,"f").get(e)}has(e){return La(this,Xu,"f").has(e)}keys(){return La(this,Xu,"f").keys()}values(){return La(this,Xu,"f").values()}toString(){return`FrozenMap(${this.size}) {${this.size>0?` ${[...this.entries()].map(([e,t])=>`${String(e)} => ${String(t)}`).join(", ")} `:""}}`}}Hy.FrozenMap=TL;class kL{constructor(e){Af.set(this,void 0),Yhe(this,Af,new Set(e),"f"),Object.freeze(this)}get size(){return La(this,Af,"f").size}[(Af=new WeakMap,Symbol.iterator)](){return La(this,Af,"f")[Symbol.iterator]()}entries(){return La(this,Af,"f").entries()}forEach(e,t){return La(this,Af,"f").forEach((n,i,s)=>e.call(t,n,i,this))}has(e){return La(this,Af,"f").has(e)}keys(){return La(this,Af,"f").keys()}values(){return La(this,Af,"f").values()}toString(){return`FrozenSet(${this.size}) {${this.size>0?` ${[...this.values()].map(e=>String(e)).join(", ")} `:""}}`}}Hy.FrozenSet=kL,Object.freeze(TL),Object.freeze(TL.prototype),Object.freeze(kL),Object.freeze(kL.prototype);var Qhe={};Object.defineProperty(Qhe,"__esModule",{value:!0});var Xhe={};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.getJsonRpcIdValidator=r.assertIsJsonRpcError=r.isJsonRpcError=r.assertIsJsonRpcFailure=r.isJsonRpcFailure=r.assertIsJsonRpcSuccess=r.isJsonRpcSuccess=r.assertIsJsonRpcResponse=r.isJsonRpcResponse=r.assertIsPendingJsonRpcResponse=r.isPendingJsonRpcResponse=r.JsonRpcResponseStruct=r.JsonRpcFailureStruct=r.JsonRpcSuccessStruct=r.PendingJsonRpcResponseStruct=r.assertIsJsonRpcRequest=r.isJsonRpcRequest=r.assertIsJsonRpcNotification=r.isJsonRpcNotification=r.JsonRpcNotificationStruct=r.JsonRpcRequestStruct=r.JsonRpcParamsStruct=r.JsonRpcErrorStruct=r.JsonRpcIdStruct=r.JsonRpcVersionStruct=r.jsonrpc2=r.getJsonSize=r.isValidJson=r.JsonStruct=r.UnsafeJsonStruct=void 0;const e=r2,t=qo,n=()=>(0,e.define)("finite number",j=>(0,e.is)(j,(0,e.number)())&&Number.isFinite(j));r.UnsafeJsonStruct=(0,e.union)([(0,e.literal)(null),(0,e.boolean)(),n(),(0,e.string)(),(0,e.array)((0,e.lazy)(()=>r.UnsafeJsonStruct)),(0,e.record)((0,e.string)(),(0,e.lazy)(()=>r.UnsafeJsonStruct))]),r.JsonStruct=(0,e.define)("Json",(j,G)=>{function D($,V){const W=[...V.validator($,G)];return W.length>0?W:!0}try{const $=D(j,r.UnsafeJsonStruct);return $!==!0?$:D(JSON.parse(JSON.stringify(j)),r.UnsafeJsonStruct)}catch($){return $ instanceof RangeError?"Circular reference detected":!1}});function i(j){return(0,e.is)(j,r.JsonStruct)}r.isValidJson=i;function s(j){(0,t.assertStruct)(j,r.JsonStruct,"Invalid JSON value");const G=JSON.stringify(j);return new TextEncoder().encode(G).byteLength}r.getJsonSize=s,r.jsonrpc2="2.0",r.JsonRpcVersionStruct=(0,e.literal)(r.jsonrpc2),r.JsonRpcIdStruct=(0,e.nullable)((0,e.union)([(0,e.number)(),(0,e.string)()])),r.JsonRpcErrorStruct=(0,e.object)({code:(0,e.integer)(),message:(0,e.string)(),data:(0,e.optional)(r.JsonStruct),stack:(0,e.optional)((0,e.string)())}),r.JsonRpcParamsStruct=(0,e.optional)((0,e.union)([(0,e.record)((0,e.string)(),r.JsonStruct),(0,e.array)(r.JsonStruct)])),r.JsonRpcRequestStruct=(0,e.object)({id:r.JsonRpcIdStruct,jsonrpc:r.JsonRpcVersionStruct,method:(0,e.string)(),params:r.JsonRpcParamsStruct}),r.JsonRpcNotificationStruct=(0,e.omit)(r.JsonRpcRequestStruct,["id"]);function o(j){return(0,e.is)(j,r.JsonRpcNotificationStruct)}r.isJsonRpcNotification=o;function a(j,G){(0,t.assertStruct)(j,r.JsonRpcNotificationStruct,"Invalid JSON-RPC notification",G)}r.assertIsJsonRpcNotification=a;function l(j){return(0,e.is)(j,r.JsonRpcRequestStruct)}r.isJsonRpcRequest=l;function u(j,G){(0,t.assertStruct)(j,r.JsonRpcRequestStruct,"Invalid JSON-RPC request",G)}r.assertIsJsonRpcRequest=u,r.PendingJsonRpcResponseStruct=(0,e.object)({id:r.JsonRpcIdStruct,jsonrpc:r.JsonRpcVersionStruct,result:(0,e.optional)((0,e.unknown)()),error:(0,e.optional)(r.JsonRpcErrorStruct)}),r.JsonRpcSuccessStruct=(0,e.object)({id:r.JsonRpcIdStruct,jsonrpc:r.JsonRpcVersionStruct,result:r.JsonStruct}),r.JsonRpcFailureStruct=(0,e.object)({id:r.JsonRpcIdStruct,jsonrpc:r.JsonRpcVersionStruct,error:r.JsonRpcErrorStruct}),r.JsonRpcResponseStruct=(0,e.union)([r.JsonRpcSuccessStruct,r.JsonRpcFailureStruct]);function h(j){return(0,e.is)(j,r.PendingJsonRpcResponseStruct)}r.isPendingJsonRpcResponse=h;function p(j,G){(0,t.assertStruct)(j,r.PendingJsonRpcResponseStruct,"Invalid pending JSON-RPC response",G)}r.assertIsPendingJsonRpcResponse=p;function g(j){return(0,e.is)(j,r.JsonRpcResponseStruct)}r.isJsonRpcResponse=g;function w(j,G){(0,t.assertStruct)(j,r.JsonRpcResponseStruct,"Invalid JSON-RPC response",G)}r.assertIsJsonRpcResponse=w;function y(j){return(0,e.is)(j,r.JsonRpcSuccessStruct)}r.isJsonRpcSuccess=y;function C(j,G){(0,t.assertStruct)(j,r.JsonRpcSuccessStruct,"Invalid JSON-RPC success response",G)}r.assertIsJsonRpcSuccess=C;function R(j){return(0,e.is)(j,r.JsonRpcFailureStruct)}r.isJsonRpcFailure=R;function k(j,G){(0,t.assertStruct)(j,r.JsonRpcFailureStruct,"Invalid JSON-RPC failure response",G)}r.assertIsJsonRpcFailure=k;function M(j){return(0,e.is)(j,r.JsonRpcErrorStruct)}r.isJsonRpcError=M;function O(j,G){(0,t.assertStruct)(j,r.JsonRpcErrorStruct,"Invalid JSON-RPC error",G)}r.assertIsJsonRpcError=O;function B(j){const{permitEmptyString:G,permitFractions:D,permitNull:$}=Object.assign({permitEmptyString:!0,permitFractions:!1,permitNull:!0},j);return te=>!!(typeof te=="number"&&(D||Number.isInteger(te))||typeof te=="string"&&(G||te.length>0)||$&&te===null)}r.getJsonRpcIdValidator=B})(Xhe);var efe={};Object.defineProperty(efe,"__esModule",{value:!0});var qy={},ML={exports:{}},NL,tfe;function VHe(){if(tfe)return NL;tfe=1;var r=1e3,e=r*60,t=e*60,n=t*24,i=n*7,s=n*365.25;NL=function(h,p){p=p||{};var g=typeof h;if(g==="string"&&h.length>0)return o(h);if(g==="number"&&isFinite(h))return p.long?l(h):a(h);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(h))};function o(h){if(h=String(h),!(h.length>100)){var p=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(h);if(p){var g=parseFloat(p[1]),w=(p[2]||"ms").toLowerCase();switch(w){case"years":case"year":case"yrs":case"yr":case"y":return g*s;case"weeks":case"week":case"w":return g*i;case"days":case"day":case"d":return g*n;case"hours":case"hour":case"hrs":case"hr":case"h":return g*t;case"minutes":case"minute":case"mins":case"min":case"m":return g*e;case"seconds":case"second":case"secs":case"sec":case"s":return g*r;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return g;default:return}}}}function a(h){var p=Math.abs(h);return p>=n?Math.round(h/n)+"d":p>=t?Math.round(h/t)+"h":p>=e?Math.round(h/e)+"m":p>=r?Math.round(h/r)+"s":h+"ms"}function l(h){var p=Math.abs(h);return p>=n?u(h,p,n,"day"):p>=t?u(h,p,t,"hour"):p>=e?u(h,p,e,"minute"):p>=r?u(h,p,r,"second"):h+" ms"}function u(h,p,g,w){var y=p>=g*1.5;return Math.round(h/g)+" "+w+(y?"s":"")}return NL}function GHe(r){t.debug=t,t.default=t,t.coerce=l,t.disable=s,t.enable=i,t.enabled=o,t.humanize=VHe(),t.destroy=u,Object.keys(r).forEach(h=>{t[h]=r[h]}),t.names=[],t.skips=[],t.formatters={};function e(h){let p=0;for(let g=0;g{if(G==="%%")return"%";B++;const $=t.formatters[D];if(typeof $=="function"){const V=R[B];G=$.call(k,V),R.splice(B,1),B--}return G}),t.formatArgs.call(k,R),(k.log||t.log).apply(k,R)}return C.namespace=h,C.useColors=t.useColors(),C.color=t.selectColor(h),C.extend=n,C.destroy=t.destroy,Object.defineProperty(C,"enabled",{enumerable:!0,configurable:!1,get:()=>g!==null?g:(w!==t.namespaces&&(w=t.namespaces,y=t.enabled(h)),y),set:R=>{g=R}}),typeof t.init=="function"&&t.init(C),C}function n(h,p){const g=t(this.namespace+(typeof p>"u"?":":p)+h);return g.log=this.log,g}function i(h){t.save(h),t.namespaces=h,t.names=[],t.skips=[];let p;const g=(typeof h=="string"?h:"").split(/[\s,]+/),w=g.length;for(p=0;p"-"+p)].join(",");return t.enable(""),h}function o(h){if(h[h.length-1]==="*")return!0;let p,g;for(p=0,g=t.skips.length;p{let l=!1;return()=>{l||(l=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),e.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function t(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function n(l){if(l[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+l[0]+(this.useColors?"%c ":" ")+"+"+r.exports.humanize(this.diff),!this.useColors)return;const u="color: "+this.color;l.splice(1,0,u,"color: inherit");let h=0,p=0;l[0].replace(/%[a-zA-Z%]/g,g=>{g!=="%%"&&(h++,g==="%c"&&(p=h))}),l.splice(p,0,u)}e.log=console.debug||console.log||(()=>{});function i(l){try{l?e.storage.setItem("debug",l):e.storage.removeItem("debug")}catch{}}function s(){let l;try{l=e.storage.getItem("debug")}catch{}return!l&&typeof yt<"u"&&"env"in yt&&(l=yt.env.DEBUG),l}function o(){try{return localStorage}catch{}}r.exports=KHe(e);const{formatters:a}=r.exports;a.j=function(l){try{return JSON.stringify(l)}catch(u){return"[UnexpectedJSONParseError]: "+u.message}}})(ML,ML.exports);var ZHe=ML.exports,JHe=ct&&ct.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(qy,"__esModule",{value:!0}),qy.createModuleLogger=qy.createProjectLogger=void 0;const YHe=(0,JHe(ZHe).default)("metamask");function QHe(r){return YHe.extend(r)}qy.createProjectLogger=QHe;function XHe(r,e){return r.extend(e)}qy.createModuleLogger=XHe;var rfe={};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.calculateNumberSize=r.calculateStringSize=r.isASCII=r.isPlainObject=r.ESCAPE_CHARACTERS_REGEXP=r.JsonSize=r.hasProperty=r.isObject=r.isNullOrUndefined=r.isNonEmptyArray=void 0;function e(u){return Array.isArray(u)&&u.length>0}r.isNonEmptyArray=e;function t(u){return u==null}r.isNullOrUndefined=t;function n(u){return!!u&&typeof u=="object"&&!Array.isArray(u)}r.isObject=n;const i=(u,h)=>Object.hasOwnProperty.call(u,h);r.hasProperty=i,function(u){u[u.Null=4]="Null",u[u.Comma=1]="Comma",u[u.Wrapper=1]="Wrapper",u[u.True=4]="True",u[u.False=5]="False",u[u.Quote=1]="Quote",u[u.Colon=1]="Colon",u[u.Date=24]="Date"}(r.JsonSize||(r.JsonSize={})),r.ESCAPE_CHARACTERS_REGEXP=/"|\\|\n|\r|\t/gu;function s(u){if(typeof u!="object"||u===null)return!1;try{let h=u;for(;Object.getPrototypeOf(h)!==null;)h=Object.getPrototypeOf(h);return Object.getPrototypeOf(u)===h}catch{return!1}}r.isPlainObject=s;function o(u){return u.charCodeAt(0)<=127}r.isASCII=o;function a(u){var h;return u.split("").reduce((g,w)=>o(w)?g+1:g+2,0)+((h=u.match(r.ESCAPE_CHARACTERS_REGEXP))!==null&&h!==void 0?h:[]).length}r.calculateStringSize=a;function l(u){return u.toString().length}r.calculateNumberSize=l})(rfe);var Cf={};Object.defineProperty(Cf,"__esModule",{value:!0}),Cf.hexToBigInt=Cf.hexToNumber=Cf.bigIntToHex=Cf.numberToHex=void 0;const Wy=qo,B8=$8,eqe=r=>((0,Wy.assert)(typeof r=="number","Value must be a number."),(0,Wy.assert)(r>=0,"Value must be a non-negative number."),(0,Wy.assert)(Number.isSafeInteger(r),"Value is not a safe integer. Use `bigIntToHex` instead."),(0,B8.add0x)(r.toString(16)));Cf.numberToHex=eqe;const tqe=r=>((0,Wy.assert)(typeof r=="bigint","Value must be a bigint."),(0,Wy.assert)(r>=0,"Value must be a non-negative bigint."),(0,B8.add0x)(r.toString(16)));Cf.bigIntToHex=tqe;const rqe=r=>{(0,B8.assertIsHexString)(r);const e=parseInt(r,16);return(0,Wy.assert)(Number.isSafeInteger(e),"Value is not a safe integer. Use `hexToBigInt` instead."),e};Cf.hexToNumber=rqe;const nqe=r=>((0,B8.assertIsHexString)(r),BigInt((0,B8.add0x)(r)));Cf.hexToBigInt=nqe;var nfe={};Object.defineProperty(nfe,"__esModule",{value:!0});var ife={};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.timeSince=r.inMilliseconds=r.Duration=void 0,function(s){s[s.Millisecond=1]="Millisecond",s[s.Second=1e3]="Second",s[s.Minute=6e4]="Minute",s[s.Hour=36e5]="Hour",s[s.Day=864e5]="Day",s[s.Week=6048e5]="Week",s[s.Year=31536e6]="Year"}(r.Duration||(r.Duration={}));const e=s=>Number.isInteger(s)&&s>=0,t=(s,o)=>{if(!e(s))throw new Error(`"${o}" must be a non-negative integer. Received: "${s}".`)};function n(s,o){return t(s,"count"),s*o}r.inMilliseconds=n;function i(s){return t(s,"timestamp"),Date.now()-s}r.timeSince=i})(ife);var sfe={};Object.defineProperty(sfe,"__esModule",{value:!0});var ofe={},PL={exports:{}};const iqe="2.0.0",afe=256,sqe=Number.MAX_SAFE_INTEGER||9007199254740991,oqe=16,aqe=afe-6;var EI={MAX_LENGTH:afe,MAX_SAFE_COMPONENT_LENGTH:oqe,MAX_SAFE_BUILD_LENGTH:aqe,MAX_SAFE_INTEGER:sqe,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:iqe,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},AI=typeof yt=="object"&&yt.env&&yt.env.NODE_DEBUG&&/\bsemver\b/i.test(yt.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{};(function(r,e){const{MAX_SAFE_COMPONENT_LENGTH:t,MAX_SAFE_BUILD_LENGTH:n,MAX_LENGTH:i}=EI,s=AI;e=r.exports={};const o=e.re=[],a=e.safeRe=[],l=e.src=[],u=e.t={};let h=0;const p="[a-zA-Z0-9-]",g=[["\\s",1],["\\d",i],[p,n]],w=C=>{for(const[R,k]of g)C=C.split(`${R}*`).join(`${R}{0,${k}}`).split(`${R}+`).join(`${R}{1,${k}}`);return C},y=(C,R,k)=>{const M=w(R),O=h++;s(C,O,R),u[C]=O,l[O]=R,o[O]=new RegExp(R,k?"g":void 0),a[O]=new RegExp(M,k?"g":void 0)};y("NUMERICIDENTIFIER","0|[1-9]\\d*"),y("NUMERICIDENTIFIERLOOSE","\\d+"),y("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${p}*`),y("MAINVERSION",`(${l[u.NUMERICIDENTIFIER]})\\.(${l[u.NUMERICIDENTIFIER]})\\.(${l[u.NUMERICIDENTIFIER]})`),y("MAINVERSIONLOOSE",`(${l[u.NUMERICIDENTIFIERLOOSE]})\\.(${l[u.NUMERICIDENTIFIERLOOSE]})\\.(${l[u.NUMERICIDENTIFIERLOOSE]})`),y("PRERELEASEIDENTIFIER",`(?:${l[u.NUMERICIDENTIFIER]}|${l[u.NONNUMERICIDENTIFIER]})`),y("PRERELEASEIDENTIFIERLOOSE",`(?:${l[u.NUMERICIDENTIFIERLOOSE]}|${l[u.NONNUMERICIDENTIFIER]})`),y("PRERELEASE",`(?:-(${l[u.PRERELEASEIDENTIFIER]}(?:\\.${l[u.PRERELEASEIDENTIFIER]})*))`),y("PRERELEASELOOSE",`(?:-?(${l[u.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${l[u.PRERELEASEIDENTIFIERLOOSE]})*))`),y("BUILDIDENTIFIER",`${p}+`),y("BUILD",`(?:\\+(${l[u.BUILDIDENTIFIER]}(?:\\.${l[u.BUILDIDENTIFIER]})*))`),y("FULLPLAIN",`v?${l[u.MAINVERSION]}${l[u.PRERELEASE]}?${l[u.BUILD]}?`),y("FULL",`^${l[u.FULLPLAIN]}$`),y("LOOSEPLAIN",`[v=\\s]*${l[u.MAINVERSIONLOOSE]}${l[u.PRERELEASELOOSE]}?${l[u.BUILD]}?`),y("LOOSE",`^${l[u.LOOSEPLAIN]}$`),y("GTLT","((?:<|>)?=?)"),y("XRANGEIDENTIFIERLOOSE",`${l[u.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),y("XRANGEIDENTIFIER",`${l[u.NUMERICIDENTIFIER]}|x|X|\\*`),y("XRANGEPLAIN",`[v=\\s]*(${l[u.XRANGEIDENTIFIER]})(?:\\.(${l[u.XRANGEIDENTIFIER]})(?:\\.(${l[u.XRANGEIDENTIFIER]})(?:${l[u.PRERELEASE]})?${l[u.BUILD]}?)?)?`),y("XRANGEPLAINLOOSE",`[v=\\s]*(${l[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[u.XRANGEIDENTIFIERLOOSE]})(?:${l[u.PRERELEASELOOSE]})?${l[u.BUILD]}?)?)?`),y("XRANGE",`^${l[u.GTLT]}\\s*${l[u.XRANGEPLAIN]}$`),y("XRANGELOOSE",`^${l[u.GTLT]}\\s*${l[u.XRANGEPLAINLOOSE]}$`),y("COERCEPLAIN",`(^|[^\\d])(\\d{1,${t}})(?:\\.(\\d{1,${t}}))?(?:\\.(\\d{1,${t}}))?`),y("COERCE",`${l[u.COERCEPLAIN]}(?:$|[^\\d])`),y("COERCEFULL",l[u.COERCEPLAIN]+`(?:${l[u.PRERELEASE]})?(?:${l[u.BUILD]})?(?:$|[^\\d])`),y("COERCERTL",l[u.COERCE],!0),y("COERCERTLFULL",l[u.COERCEFULL],!0),y("LONETILDE","(?:~>?)"),y("TILDETRIM",`(\\s*)${l[u.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",y("TILDE",`^${l[u.LONETILDE]}${l[u.XRANGEPLAIN]}$`),y("TILDELOOSE",`^${l[u.LONETILDE]}${l[u.XRANGEPLAINLOOSE]}$`),y("LONECARET","(?:\\^)"),y("CARETTRIM",`(\\s*)${l[u.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",y("CARET",`^${l[u.LONECARET]}${l[u.XRANGEPLAIN]}$`),y("CARETLOOSE",`^${l[u.LONECARET]}${l[u.XRANGEPLAINLOOSE]}$`),y("COMPARATORLOOSE",`^${l[u.GTLT]}\\s*(${l[u.LOOSEPLAIN]})$|^$`),y("COMPARATOR",`^${l[u.GTLT]}\\s*(${l[u.FULLPLAIN]})$|^$`),y("COMPARATORTRIM",`(\\s*)${l[u.GTLT]}\\s*(${l[u.LOOSEPLAIN]}|${l[u.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",y("HYPHENRANGE",`^\\s*(${l[u.XRANGEPLAIN]})\\s+-\\s+(${l[u.XRANGEPLAIN]})\\s*$`),y("HYPHENRANGELOOSE",`^\\s*(${l[u.XRANGEPLAINLOOSE]})\\s+-\\s+(${l[u.XRANGEPLAINLOOSE]})\\s*$`),y("STAR","(<|>)?=?\\s*\\*"),y("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),y("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")})(PL,PL.exports);var L8=PL.exports;const cqe=Object.freeze({loose:!0}),lqe=Object.freeze({});var OL=r=>r?typeof r!="object"?cqe:r:lqe;const cfe=/^[0-9]+$/,lfe=(r,e)=>{const t=cfe.test(r),n=cfe.test(e);return t&&n&&(r=+r,e=+e),r===e?0:t&&!n?-1:n&&!t?1:rlfe(e,r)};const CI=AI,{MAX_LENGTH:hfe,MAX_SAFE_INTEGER:SI}=EI,{safeRe:ffe,t:dfe}=L8,uqe=OL,{compareIdentifiers:Vy}=ufe;var Ua=class ed{constructor(e,t){if(t=uqe(t),e instanceof ed){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>hfe)throw new TypeError(`version is longer than ${hfe} characters`);CI("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const n=e.trim().match(t.loose?ffe[dfe.LOOSE]:ffe[dfe.FULL]);if(!n)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>SI||this.major<0)throw new TypeError("Invalid major version");if(this.minor>SI||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>SI||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(i=>{if(/^[0-9]+$/.test(i)){const s=+i;if(s>=0&&s=0;)typeof this.prerelease[s]=="number"&&(this.prerelease[s]++,s=-2);if(s===-1){if(t===this.prerelease.join(".")&&n===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(i)}}if(t){let s=[t,i];n===!1&&(s=[t]),Vy(this.prerelease[0],t)===0?isNaN(this.prerelease[1])&&(this.prerelease=s):this.prerelease=s}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};const pfe=Ua;var Gy=(r,e,t=!1)=>{if(r instanceof pfe)return r;try{return new pfe(r,e)}catch(n){if(!t)return null;throw n}};const hqe=Gy;var fqe=(r,e)=>{const t=hqe(r,e);return t?t.version:null};const dqe=Gy;var pqe=(r,e)=>{const t=dqe(r.trim().replace(/^[=v]+/,""),e);return t?t.version:null};const gfe=Ua;var gqe=(r,e,t,n,i)=>{typeof t=="string"&&(i=n,n=t,t=void 0);try{return new gfe(r instanceof gfe?r.version:r,t).inc(e,n,i).version}catch{return null}};const mfe=Gy;var mqe=(r,e)=>{const t=mfe(r,null,!0),n=mfe(e,null,!0),i=t.compare(n);if(i===0)return null;const s=i>0,o=s?t:n,a=s?n:t,l=!!o.prerelease.length;if(!!a.prerelease.length&&!l)return!a.patch&&!a.minor?"major":o.patch?"patch":o.minor?"minor":"major";const h=l?"pre":"";return t.major!==n.major?h+"major":t.minor!==n.minor?h+"minor":t.patch!==n.patch?h+"patch":"prerelease"};const bqe=Ua;var wqe=(r,e)=>new bqe(r,e).major;const vqe=Ua;var yqe=(r,e)=>new vqe(r,e).minor;const xqe=Ua;var _qe=(r,e)=>new xqe(r,e).patch;const Eqe=Gy;var Aqe=(r,e)=>{const t=Eqe(r,e);return t&&t.prerelease.length?t.prerelease:null};const bfe=Ua;var eh=(r,e,t)=>new bfe(r,t).compare(new bfe(e,t));const Cqe=eh;var Sqe=(r,e,t)=>Cqe(e,r,t);const Iqe=eh;var Rqe=(r,e)=>Iqe(r,e,!0);const wfe=Ua;var DL=(r,e,t)=>{const n=new wfe(r,t),i=new wfe(e,t);return n.compare(i)||n.compareBuild(i)};const Tqe=DL;var kqe=(r,e)=>r.sort((t,n)=>Tqe(t,n,e));const Mqe=DL;var Nqe=(r,e)=>r.sort((t,n)=>Mqe(n,t,e));const Pqe=eh;var II=(r,e,t)=>Pqe(r,e,t)>0;const Oqe=eh;var $L=(r,e,t)=>Oqe(r,e,t)<0;const Dqe=eh;var vfe=(r,e,t)=>Dqe(r,e,t)===0;const $qe=eh;var yfe=(r,e,t)=>$qe(r,e,t)!==0;const Bqe=eh;var BL=(r,e,t)=>Bqe(r,e,t)>=0;const Lqe=eh;var LL=(r,e,t)=>Lqe(r,e,t)<=0;const Uqe=vfe,Fqe=yfe,jqe=II,zqe=BL,Hqe=$L,qqe=LL;var xfe=(r,e,t,n)=>{switch(e){case"===":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r===t;case"!==":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r!==t;case"":case"=":case"==":return Uqe(r,t,n);case"!=":return Fqe(r,t,n);case">":return jqe(r,t,n);case">=":return zqe(r,t,n);case"<":return Hqe(r,t,n);case"<=":return qqe(r,t,n);default:throw new TypeError(`Invalid operator: ${e}`)}};const Wqe=Ua,Vqe=Gy,{safeRe:RI,t:TI}=L8;var Gqe=(r,e)=>{if(r instanceof Wqe)return r;if(typeof r=="number"&&(r=String(r)),typeof r!="string")return null;e=e||{};let t=null;if(!e.rtl)t=r.match(e.includePrerelease?RI[TI.COERCEFULL]:RI[TI.COERCE]);else{const l=e.includePrerelease?RI[TI.COERCERTLFULL]:RI[TI.COERCERTL];let u;for(;(u=l.exec(r))&&(!t||t.index+t[0].length!==r.length);)(!t||u.index+u[0].length!==t.index+t[0].length)&&(t=u),l.lastIndex=u.index+u[1].length+u[2].length;l.lastIndex=-1}if(t===null)return null;const n=t[2],i=t[3]||"0",s=t[4]||"0",o=e.includePrerelease&&t[5]?`-${t[5]}`:"",a=e.includePrerelease&&t[6]?`+${t[6]}`:"";return Vqe(`${n}.${i}.${s}${o}${a}`,e)},UL,_fe;function Kqe(){return _fe||(_fe=1,UL=function(r){r.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}),UL}var Zqe=Bn;Bn.Node=n2,Bn.create=Bn;function Bn(r){var e=this;if(e instanceof Bn||(e=new Bn),e.tail=null,e.head=null,e.length=0,r&&typeof r.forEach=="function")r.forEach(function(i){e.push(i)});else if(arguments.length>0)for(var t=0,n=arguments.length;t1)t=e;else if(this.head)n=this.head.next,t=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var i=0;n!==null;i++)t=r(t,n.value,i),n=n.next;return t},Bn.prototype.reduceReverse=function(r,e){var t,n=this.tail;if(arguments.length>1)t=e;else if(this.tail)n=this.tail.prev,t=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var i=this.length-1;n!==null;i--)t=r(t,n.value,i),n=n.prev;return t},Bn.prototype.toArray=function(){for(var r=new Array(this.length),e=0,t=this.head;t!==null;e++)r[e]=t.value,t=t.next;return r},Bn.prototype.toArrayReverse=function(){for(var r=new Array(this.length),e=0,t=this.tail;t!==null;e++)r[e]=t.value,t=t.prev;return r},Bn.prototype.slice=function(r,e){e=e||this.length,e<0&&(e+=this.length),r=r||0,r<0&&(r+=this.length);var t=new Bn;if(ethis.length&&(e=this.length);for(var n=0,i=this.head;i!==null&&nthis.length&&(e=this.length);for(var n=this.length,i=this.tail;i!==null&&n>e;n--)i=i.prev;for(;i!==null&&n>r;n--,i=i.prev)t.push(i.value);return t},Bn.prototype.splice=function(r,e,...t){r>this.length&&(r=this.length-1),r<0&&(r=this.length+r);for(var n=0,i=this.head;i!==null&&n1;class eWe{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");this[i2]=e.max||1/0;const t=e.length||FL;if(this[Ky]=typeof t!="function"?FL:t,this[U8]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[s2]=e.maxAge||0,this[n0]=e.dispose,this[Efe]=e.noDisposeOnSet||!1,this[Afe]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[i2]=e||1/0,F8(this)}get max(){return this[i2]}set allowStale(e){this[U8]=!!e}get allowStale(){return this[U8]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[s2]=e,F8(this)}get maxAge(){return this[s2]}set lengthCalculator(e){typeof e!="function"&&(e=FL),e!==this[Ky]&&(this[Ky]=e,this[r0]=0,this[So].forEach(t=>{t.length=this[Ky](t.value,t.key),this[r0]+=t.length})),F8(this)}get lengthCalculator(){return this[Ky]}get length(){return this[r0]}get itemCount(){return this[So].length}rforEach(e,t){t=t||this;for(let n=this[So].tail;n!==null;){const i=n.prev;Cfe(this,e,n,t),n=i}}forEach(e,t){t=t||this;for(let n=this[So].head;n!==null;){const i=n.next;Cfe(this,e,n,t),n=i}}keys(){return this[So].toArray().map(e=>e.key)}values(){return this[So].toArray().map(e=>e.value)}reset(){this[n0]&&this[So]&&this[So].length&&this[So].forEach(e=>this[n0](e.key,e.value)),this[th]=new Map,this[So]=new Xqe,this[r0]=0}dump(){return this[So].map(e=>kI(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[So]}set(e,t,n){if(n=n||this[s2],n&&typeof n!="number")throw new TypeError("maxAge must be a number");const i=n?Date.now():0,s=this[Ky](t,e);if(this[th].has(e)){if(s>this[i2])return Zy(this,this[th].get(e)),!1;const l=this[th].get(e).value;return this[n0]&&(this[Efe]||this[n0](e,l.value)),l.now=i,l.maxAge=n,l.value=t,this[r0]+=s-l.length,l.length=s,this.get(e),F8(this),!0}const o=new tWe(e,t,s,i,n);return o.length>this[i2]?(this[n0]&&this[n0](e,t),!1):(this[r0]+=o.length,this[So].unshift(o),this[th].set(e,this[So].head),F8(this),!0)}has(e){if(!this[th].has(e))return!1;const t=this[th].get(e).value;return!kI(this,t)}get(e){return jL(this,e,!0)}peek(e){return jL(this,e,!1)}pop(){const e=this[So].tail;return e?(Zy(this,e),e.value):null}del(e){Zy(this,this[th].get(e))}load(e){this.reset();const t=Date.now();for(let n=e.length-1;n>=0;n--){const i=e[n],s=i.e||0;if(s===0)this.set(i.k,i.v);else{const o=s-t;o>0&&this.set(i.k,i.v,o)}}}prune(){this[th].forEach((e,t)=>jL(this,t,!1))}}const jL=(r,e,t)=>{const n=r[th].get(e);if(n){const i=n.value;if(kI(r,i)){if(Zy(r,n),!r[U8])return}else t&&(r[Afe]&&(n.value.now=Date.now()),r[So].unshiftNode(n));return i.value}},kI=(r,e)=>{if(!e||!e.maxAge&&!r[s2])return!1;const t=Date.now()-e.now;return e.maxAge?t>e.maxAge:r[s2]&&t>r[s2]},F8=r=>{if(r[r0]>r[i2])for(let e=r[So].tail;r[r0]>r[i2]&&e!==null;){const t=e.prev;Zy(r,e),e=t}},Zy=(r,e)=>{if(e){const t=e.value;r[n0]&&r[n0](t.key,t.value),r[r0]-=t.length,r[th].delete(t.key),r[So].removeNode(e)}};class tWe{constructor(e,t,n,i,s){this.key=e,this.value=t,this.length=n,this.now=i,this.maxAge=s||0}}const Cfe=(r,e,t,n)=>{let i=t.value;kI(r,i)&&(Zy(r,t),r[U8]||(i=void 0)),i&&e.call(n,i.value,i.key,r)};var rWe=eWe,zL,Sfe;function rh(){if(Sfe)return zL;Sfe=1;class r{constructor(d,m){if(m=n(m),d instanceof r)return d.loose===!!m.loose&&d.includePrerelease===!!m.includePrerelease?d:new r(d.raw,m);if(d instanceof i)return this.raw=d.value,this.set=[[d]],this.format(),this;if(this.options=m,this.loose=!!m.loose,this.includePrerelease=!!m.includePrerelease,this.raw=d.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map(x=>this.parseRange(x.trim())).filter(x=>x.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){const x=this.set[0];if(this.set=this.set.filter(A=>!y(A[0])),this.set.length===0)this.set=[x];else if(this.set.length>1){for(const A of this.set)if(A.length===1&&C(A[0])){this.set=[A];break}}}this.format()}format(){return this.range=this.set.map(d=>d.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(d){const x=((this.options.includePrerelease&&g)|(this.options.loose&&w))+":"+d,A=t.get(x);if(A)return A;const I=this.options.loose,T=I?a[l.HYPHENRANGELOOSE]:a[l.HYPHENRANGE];d=d.replace(T,W(this.options.includePrerelease)),s("hyphen replace",d),d=d.replace(a[l.COMPARATORTRIM],u),s("comparator trim",d),d=d.replace(a[l.TILDETRIM],h),s("tilde trim",d),d=d.replace(a[l.CARETTRIM],p),s("caret trim",d);let S=d.split(" ").map(ie=>k(ie,this.options)).join(" ").split(/\s+/).map(ie=>te(ie,this.options));I&&(S=S.filter(ie=>(s("loose invalid filter",ie,this.options),!!ie.match(a[l.COMPARATORLOOSE])))),s("range list",S);const E=new Map,_=S.map(ie=>new i(ie,this.options));for(const ie of _){if(y(ie))return[ie];E.set(ie.value,ie)}E.size>1&&E.has("")&&E.delete("");const U=[...E.values()];return t.set(x,U),U}intersects(d,m){if(!(d instanceof r))throw new TypeError("a Range is required");return this.set.some(x=>R(x,m)&&d.set.some(A=>R(A,m)&&x.every(I=>A.every(T=>I.intersects(T,m)))))}test(d){if(!d)return!1;if(typeof d=="string")try{d=new o(d,this.options)}catch{return!1}for(let m=0;mb.value==="<0.0.0-0",C=b=>b.value==="",R=(b,d)=>{let m=!0;const x=b.slice();let A=x.pop();for(;m&&x.length;)m=x.every(I=>A.intersects(I,d)),A=x.pop();return m},k=(b,d)=>(s("comp",b,d),b=j(b,d),s("caret",b),b=O(b,d),s("tildes",b),b=D(b,d),s("xrange",b),b=V(b,d),s("stars",b),b),M=b=>!b||b.toLowerCase()==="x"||b==="*",O=(b,d)=>b.trim().split(/\s+/).map(m=>B(m,d)).join(" "),B=(b,d)=>{const m=d.loose?a[l.TILDELOOSE]:a[l.TILDE];return b.replace(m,(x,A,I,T,S)=>{s("tilde",b,x,A,I,T,S);let E;return M(A)?E="":M(I)?E=`>=${A}.0.0 <${+A+1}.0.0-0`:M(T)?E=`>=${A}.${I}.0 <${A}.${+I+1}.0-0`:S?(s("replaceTilde pr",S),E=`>=${A}.${I}.${T}-${S} <${A}.${+I+1}.0-0`):E=`>=${A}.${I}.${T} <${A}.${+I+1}.0-0`,s("tilde return",E),E})},j=(b,d)=>b.trim().split(/\s+/).map(m=>G(m,d)).join(" "),G=(b,d)=>{s("caret",b,d);const m=d.loose?a[l.CARETLOOSE]:a[l.CARET],x=d.includePrerelease?"-0":"";return b.replace(m,(A,I,T,S,E)=>{s("caret",b,A,I,T,S,E);let _;return M(I)?_="":M(T)?_=`>=${I}.0.0${x} <${+I+1}.0.0-0`:M(S)?I==="0"?_=`>=${I}.${T}.0${x} <${I}.${+T+1}.0-0`:_=`>=${I}.${T}.0${x} <${+I+1}.0.0-0`:E?(s("replaceCaret pr",E),I==="0"?T==="0"?_=`>=${I}.${T}.${S}-${E} <${I}.${T}.${+S+1}-0`:_=`>=${I}.${T}.${S}-${E} <${I}.${+T+1}.0-0`:_=`>=${I}.${T}.${S}-${E} <${+I+1}.0.0-0`):(s("no pr"),I==="0"?T==="0"?_=`>=${I}.${T}.${S}${x} <${I}.${T}.${+S+1}-0`:_=`>=${I}.${T}.${S}${x} <${I}.${+T+1}.0-0`:_=`>=${I}.${T}.${S} <${+I+1}.0.0-0`),s("caret return",_),_})},D=(b,d)=>(s("replaceXRanges",b,d),b.split(/\s+/).map(m=>$(m,d)).join(" ")),$=(b,d)=>{b=b.trim();const m=d.loose?a[l.XRANGELOOSE]:a[l.XRANGE];return b.replace(m,(x,A,I,T,S,E)=>{s("xRange",b,x,A,I,T,S,E);const _=M(I),U=_||M(T),ie=U||M(S),q=ie;return A==="="&&q&&(A=""),E=d.includePrerelease?"-0":"",_?A===">"||A==="<"?x="<0.0.0-0":x="*":A&&q?(U&&(T=0),S=0,A===">"?(A=">=",U?(I=+I+1,T=0,S=0):(T=+T+1,S=0)):A==="<="&&(A="<",U?I=+I+1:T=+T+1),A==="<"&&(E="-0"),x=`${A+I}.${T}.${S}${E}`):U?x=`>=${I}.0.0${E} <${+I+1}.0.0-0`:ie&&(x=`>=${I}.${T}.0${E} <${I}.${+T+1}.0-0`),s("xRange return",x),x})},V=(b,d)=>(s("replaceStars",b,d),b.trim().replace(a[l.STAR],"")),te=(b,d)=>(s("replaceGTE0",b,d),b.trim().replace(a[d.includePrerelease?l.GTE0PRE:l.GTE0],"")),W=b=>(d,m,x,A,I,T,S,E,_,U,ie,q,Y)=>(M(x)?m="":M(A)?m=`>=${x}.0.0${b?"-0":""}`:M(I)?m=`>=${x}.${A}.0${b?"-0":""}`:T?m=`>=${m}`:m=`>=${m}${b?"-0":""}`,M(_)?E="":M(U)?E=`<${+_+1}.0.0-0`:M(ie)?E=`<${_}.${+U+1}.0-0`:q?E=`<=${_}.${U}.${ie}-${q}`:b?E=`<${_}.${U}.${+ie+1}-0`:E=`<=${E}`,`${m} ${E}`.trim()),P=(b,d,m)=>{for(let x=0;x0){const A=b[x].semver;if(A.major===d.major&&A.minor===d.minor&&A.patch===d.patch)return!0}return!1}return!0};return zL}var HL,Ife;function MI(){if(Ife)return HL;Ife=1;const r=Symbol("SemVer ANY");class e{static get ANY(){return r}constructor(h,p){if(p=t(p),h instanceof e){if(h.loose===!!p.loose)return h;h=h.value}h=h.trim().split(/\s+/).join(" "),o("comparator",h,p),this.options=p,this.loose=!!p.loose,this.parse(h),this.semver===r?this.value="":this.value=this.operator+this.semver.version,o("comp",this)}parse(h){const p=this.options.loose?n[i.COMPARATORLOOSE]:n[i.COMPARATOR],g=h.match(p);if(!g)throw new TypeError(`Invalid comparator: ${h}`);this.operator=g[1]!==void 0?g[1]:"",this.operator==="="&&(this.operator=""),g[2]?this.semver=new a(g[2],this.options.loose):this.semver=r}toString(){return this.value}test(h){if(o("Comparator.test",h,this.options.loose),this.semver===r||h===r)return!0;if(typeof h=="string")try{h=new a(h,this.options)}catch{return!1}return s(h,this.operator,this.semver,this.options)}intersects(h,p){if(!(h instanceof e))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new l(h.value,p).test(this.value):h.operator===""?h.value===""?!0:new l(this.value,p).test(h.semver):(p=t(p),p.includePrerelease&&(this.value==="<0.0.0-0"||h.value==="<0.0.0-0")||!p.includePrerelease&&(this.value.startsWith("<0.0.0")||h.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&h.operator.startsWith(">")||this.operator.startsWith("<")&&h.operator.startsWith("<")||this.semver.version===h.semver.version&&this.operator.includes("=")&&h.operator.includes("=")||s(this.semver,"<",h.semver,p)&&this.operator.startsWith(">")&&h.operator.startsWith("<")||s(this.semver,">",h.semver,p)&&this.operator.startsWith("<")&&h.operator.startsWith(">")))}}HL=e;const t=OL,{safeRe:n,t:i}=L8,s=xfe,o=AI,a=Ua,l=rh();return HL}const nWe=rh();var NI=(r,e,t)=>{try{e=new nWe(e,t)}catch{return!1}return e.test(r)};const iWe=rh();var sWe=(r,e)=>new iWe(r,e).set.map(t=>t.map(n=>n.value).join(" ").trim().split(" "));const oWe=Ua,aWe=rh();var cWe=(r,e,t)=>{let n=null,i=null,s=null;try{s=new aWe(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!n||i.compare(o)===-1)&&(n=o,i=new oWe(n,t))}),n};const lWe=Ua,uWe=rh();var hWe=(r,e,t)=>{let n=null,i=null,s=null;try{s=new uWe(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!n||i.compare(o)===1)&&(n=o,i=new lWe(n,t))}),n};const qL=Ua,fWe=rh(),Rfe=II;var dWe=(r,e)=>{r=new fWe(r,e);let t=new qL("0.0.0");if(r.test(t)||(t=new qL("0.0.0-0"),r.test(t)))return t;t=null;for(let n=0;n{const a=new qL(o.semver.version);switch(o.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!s||Rfe(a,s))&&(s=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!t||Rfe(t,s))&&(t=s)}return t&&r.test(t)?t:null};const pWe=rh();var gWe=(r,e)=>{try{return new pWe(r,e).range||"*"}catch{return null}};const mWe=Ua,Tfe=MI(),{ANY:bWe}=Tfe,wWe=rh(),vWe=NI,kfe=II,Mfe=$L,yWe=LL,xWe=BL;var WL=(r,e,t,n)=>{r=new mWe(r,n),e=new wWe(e,n);let i,s,o,a,l;switch(t){case">":i=kfe,s=yWe,o=Mfe,a=">",l=">=";break;case"<":i=Mfe,s=xWe,o=kfe,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(vWe(r,e,n))return!1;for(let u=0;u{w.semver===bWe&&(w=new Tfe(">=0.0.0")),p=p||w,g=g||w,i(w.semver,p.semver,n)?p=w:o(w.semver,g.semver,n)&&(g=w)}),p.operator===a||p.operator===l||(!g.operator||g.operator===a)&&s(r,g.semver))return!1;if(g.operator===l&&o(r,g.semver))return!1}return!0};const _We=WL;var EWe=(r,e,t)=>_We(r,e,">",t);const AWe=WL;var CWe=(r,e,t)=>AWe(r,e,"<",t);const Nfe=rh();var SWe=(r,e,t)=>(r=new Nfe(r,t),e=new Nfe(e,t),r.intersects(e,t));const IWe=NI,RWe=eh;var TWe=(r,e,t)=>{const n=[];let i=null,s=null;const o=r.sort((h,p)=>RWe(h,p,t));for(const h of o)IWe(h,e,t)?(s=h,i||(i=h)):(s&&n.push([i,s]),s=null,i=null);i&&n.push([i,null]);const a=[];for(const[h,p]of n)h===p?a.push(h):!p&&h===o[0]?a.push("*"):p?h===o[0]?a.push(`<=${p}`):a.push(`${h} - ${p}`):a.push(`>=${h}`);const l=a.join(" || "),u=typeof e.raw=="string"?e.raw:String(e);return l.length{if(r===e)return!0;r=new Pfe(r,t),e=new Pfe(e,t);let n=!1;e:for(const i of r.set){for(const s of e.set){const o=NWe(i,s,t);if(n=n||o!==null,o)continue e}if(n)return!1}return!0},MWe=[new VL(">=0.0.0-0")],Ofe=[new VL(">=0.0.0")],NWe=(r,e,t)=>{if(r===e)return!0;if(r.length===1&&r[0].semver===GL){if(e.length===1&&e[0].semver===GL)return!0;t.includePrerelease?r=MWe:r=Ofe}if(e.length===1&&e[0].semver===GL){if(t.includePrerelease)return!0;e=Ofe}const n=new Set;let i,s;for(const w of r)w.operator===">"||w.operator===">="?i=Dfe(i,w,t):w.operator==="<"||w.operator==="<="?s=$fe(s,w,t):n.add(w.semver);if(n.size>1)return null;let o;if(i&&s){if(o=KL(i.semver,s.semver,t),o>0)return null;if(o===0&&(i.operator!==">="||s.operator!=="<="))return null}for(const w of n){if(i&&!j8(w,String(i),t)||s&&!j8(w,String(s),t))return null;for(const y of e)if(!j8(w,String(y),t))return!1;return!0}let a,l,u,h,p=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1,g=i&&!t.includePrerelease&&i.semver.prerelease.length?i.semver:!1;p&&p.prerelease.length===1&&s.operator==="<"&&p.prerelease[0]===0&&(p=!1);for(const w of e){if(h=h||w.operator===">"||w.operator===">=",u=u||w.operator==="<"||w.operator==="<=",i){if(g&&w.semver.prerelease&&w.semver.prerelease.length&&w.semver.major===g.major&&w.semver.minor===g.minor&&w.semver.patch===g.patch&&(g=!1),w.operator===">"||w.operator===">="){if(a=Dfe(i,w,t),a===w&&a!==i)return!1}else if(i.operator===">="&&!j8(i.semver,String(w),t))return!1}if(s){if(p&&w.semver.prerelease&&w.semver.prerelease.length&&w.semver.major===p.major&&w.semver.minor===p.minor&&w.semver.patch===p.patch&&(p=!1),w.operator==="<"||w.operator==="<="){if(l=$fe(s,w,t),l===w&&l!==s)return!1}else if(s.operator==="<="&&!j8(s.semver,String(w),t))return!1}if(!w.operator&&(s||i)&&o!==0)return!1}return!(i&&u&&!s&&o!==0||s&&h&&!i&&o!==0||g||p)},Dfe=(r,e,t)=>{if(!r)return e;const n=KL(r.semver,e.semver,t);return n>0?r:n<0||e.operator===">"&&r.operator===">="?e:r},$fe=(r,e,t)=>{if(!r)return e;const n=KL(r.semver,e.semver,t);return n<0?r:n>0||e.operator==="<"&&r.operator==="<="?e:r};var PWe=kWe;const ZL=L8,Bfe=EI,OWe=Ua,Lfe=ufe,DWe=Gy,$We=fqe,BWe=pqe,LWe=gqe,UWe=mqe,FWe=wqe,jWe=yqe,zWe=_qe,HWe=Aqe,qWe=eh,WWe=Sqe,VWe=Rqe,GWe=DL,KWe=kqe,ZWe=Nqe,JWe=II,YWe=$L,QWe=vfe,XWe=yfe,eVe=BL,tVe=LL,rVe=xfe,nVe=Gqe,iVe=MI(),sVe=rh();var oVe={parse:DWe,valid:$We,clean:BWe,inc:LWe,diff:UWe,major:FWe,minor:jWe,patch:zWe,prerelease:HWe,compare:qWe,rcompare:WWe,compareLoose:VWe,compareBuild:GWe,sort:KWe,rsort:ZWe,gt:JWe,lt:YWe,eq:QWe,neq:XWe,gte:eVe,lte:tVe,cmp:rVe,coerce:nVe,Comparator:iVe,Range:sVe,satisfies:NI,toComparators:sWe,maxSatisfying:cWe,minSatisfying:hWe,minVersion:dWe,validRange:gWe,outside:WL,gtr:EWe,ltr:CWe,intersects:SWe,simplifyRange:TWe,subset:PWe,SemVer:OWe,re:ZL.re,src:ZL.src,tokens:ZL.t,SEMVER_SPEC_VERSION:Bfe.SEMVER_SPEC_VERSION,RELEASE_TYPES:Bfe.RELEASE_TYPES,compareIdentifiers:Lfe.compareIdentifiers,rcompareIdentifiers:Lfe.rcompareIdentifiers};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.satisfiesVersionRange=r.gtRange=r.gtVersion=r.assertIsSemVerRange=r.assertIsSemVerVersion=r.isValidSemVerRange=r.isValidSemVerVersion=r.VersionRangeStruct=r.VersionStruct=void 0;const e=oVe,t=r2,n=qo;r.VersionStruct=(0,t.refine)((0,t.string)(),"Version",p=>(0,e.valid)(p)===null?`Expected SemVer version, got "${p}"`:!0),r.VersionRangeStruct=(0,t.refine)((0,t.string)(),"Version range",p=>(0,e.validRange)(p)===null?`Expected SemVer range, got "${p}"`:!0);function i(p){return(0,t.is)(p,r.VersionStruct)}r.isValidSemVerVersion=i;function s(p){return(0,t.is)(p,r.VersionRangeStruct)}r.isValidSemVerRange=s;function o(p){(0,n.assertStruct)(p,r.VersionStruct)}r.assertIsSemVerVersion=o;function a(p){(0,n.assertStruct)(p,r.VersionRangeStruct)}r.assertIsSemVerRange=a;function l(p,g){return(0,e.gt)(p,g)}r.gtVersion=l;function u(p,g){return(0,e.gtr)(p,g)}r.gtRange=u;function h(p,g){return(0,e.satisfies)(p,g,{includePrerelease:!0})}r.satisfiesVersionRange=h})(ofe),function(r){var e=ct&&ct.__createBinding||(Object.create?function(n,i,s,o){o===void 0&&(o=s);var a=Object.getOwnPropertyDescriptor(i,s);(!a||("get"in a?!i.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return i[s]}}),Object.defineProperty(n,o,a)}:function(n,i,s,o){o===void 0&&(o=s),n[o]=i[s]}),t=ct&&ct.__exportStar||function(n,i){for(var s in n)s!=="default"&&!Object.prototype.hasOwnProperty.call(i,s)&&e(i,n,s)};Object.defineProperty(r,"__esModule",{value:!0}),t(qo,r),t(D8,r),t(In,r),t(xI,r),t(Ef,r),t(Hy,r),t(Qhe,r),t($8,r),t(Xhe,r),t(efe,r),t(qy,r),t(rfe,r),t(Cf,r),t(nfe,r),t(ife,r),t(sfe,r),t(ofe,r)}(Rhe),function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.createModuleLogger=r.projectLogger=void 0;const e=Rhe;Object.defineProperty(r,"createModuleLogger",{enumerable:!0,get:function(){return e.createModuleLogger}}),r.projectLogger=(0,e.createProjectLogger)("eth-block-tracker")}(Ihe);var Ufe=ct&&ct.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(vI,"__esModule",{value:!0}),vI.PollingBlockTracker=void 0;const aVe=Ufe(yL),cVe=Ufe(Aze),lVe=M8,Ffe=Ihe,jfe=(0,Ffe.createModuleLogger)(Ffe.projectLogger,"polling-block-tracker"),uVe=(0,aVe.default)(),hVe=1e3;class fVe extends lVe.BaseBlockTracker{constructor(e={}){var t;if(!e.provider)throw new Error("PollingBlockTracker - no provider specified.");super(Object.assign(Object.assign({},e),{blockResetDuration:(t=e.blockResetDuration)!==null&&t!==void 0?t:e.pollingInterval})),this._provider=e.provider,this._pollingInterval=e.pollingInterval||20*hVe,this._retryTimeout=e.retryTimeout||this._pollingInterval/10,this._keepEventLoopActive=e.keepEventLoopActive===void 0?!0:e.keepEventLoopActive,this._setSkipCacheFlag=e.setSkipCacheFlag||!1}async checkForLatestBlock(){return await this._updateLatestBlock(),await this.getLatestBlock()}async _start(){this._synchronize()}async _end(){}async _synchronize(){for(var e;this._isRunning;)try{await this._updateLatestBlock();const t=zfe(this._pollingInterval,!this._keepEventLoopActive);this.emit("_waitingForNextIteration"),await t}catch(t){const n=new Error(`PollingBlockTracker - encountered an error while attempting to update latest block: -${(e=t.stack)!==null&&e!==void 0?e:t}`);try{this.emit("error",n)}catch{console.error(n)}const i=zfe(this._retryTimeout,!this._keepEventLoopActive);this.emit("_waitingForNextIteration"),await i}}async _updateLatestBlock(){const e=await this._fetchLatestBlock();this._newPotentialLatest(e)}async _fetchLatestBlock(){const e={jsonrpc:"2.0",id:uVe(),method:"eth_blockNumber",params:[]};this._setSkipCacheFlag&&(e.skipCache=!0),jfe("Making request",e);const t=await(0,cVe.default)(n=>this._provider.sendAsync(e,n))();if(jfe("Got response",t),t.error)throw new Error(`PollingBlockTracker - encountered error fetching block: -${t.error.message}`);return t.result}}vI.PollingBlockTracker=fVe;function zfe(r,e){return new Promise(t=>{const n=setTimeout(t,r);n.unref&&e&&n.unref()})}var PI={},dVe=ct&&ct.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(PI,"__esModule",{value:!0}),PI.SubscribeBlockTracker=void 0;const pVe=dVe(yL),gVe=M8,mVe=(0,pVe.default)();class bVe extends gVe.BaseBlockTracker{constructor(e={}){if(!e.provider)throw new Error("SubscribeBlockTracker - no provider specified.");super(e),this._provider=e.provider,this._subscriptionId=null}async checkForLatestBlock(){return await this.getLatestBlock()}async _start(){if(this._subscriptionId===void 0||this._subscriptionId===null)try{const e=await this._call("eth_blockNumber");this._subscriptionId=await this._call("eth_subscribe","newHeads"),this._provider.on("data",this._handleSubData.bind(this)),this._newPotentialLatest(e)}catch(e){this.emit("error",e)}}async _end(){if(this._subscriptionId!==null&&this._subscriptionId!==void 0)try{await this._call("eth_unsubscribe",this._subscriptionId),this._subscriptionId=null}catch(e){this.emit("error",e)}}_call(e,...t){return new Promise((n,i)=>{this._provider.sendAsync({id:mVe(),method:e,params:t,jsonrpc:"2.0"},(s,o)=>{s?i(s):n(o.result)})})}_handleSubData(e,t){var n;t.method==="eth_subscription"&&((n=t.params)===null||n===void 0?void 0:n.subscription)===this._subscriptionId&&this._newPotentialLatest(t.params.result.number)}}PI.SubscribeBlockTracker=bVe,function(r){var e=ct&&ct.__createBinding||(Object.create?function(n,i,s,o){o===void 0&&(o=s),Object.defineProperty(n,o,{enumerable:!0,get:function(){return i[s]}})}:function(n,i,s,o){o===void 0&&(o=s),n[o]=i[s]}),t=ct&&ct.__exportStar||function(n,i){for(var s in n)s!=="default"&&!Object.prototype.hasOwnProperty.call(i,s)&&e(i,n,s)};Object.defineProperty(r,"__esModule",{value:!0}),t(vI,r),t(PI,r)}(_he);var JL={},OI={},z8={};Object.defineProperty(z8,"__esModule",{value:!0}),z8.getUniqueId=void 0;const Hfe=4294967295;let YL=Math.floor(Math.random()*Hfe);function wVe(){return YL=(YL+1)%Hfe,YL}z8.getUniqueId=wVe,Object.defineProperty(OI,"__esModule",{value:!0}),OI.createIdRemapMiddleware=void 0;const vVe=z8;function yVe(){return(r,e,t,n)=>{const i=r.id,s=vVe.getUniqueId();r.id=s,e.id=s,t(o=>{r.id=i,e.id=i,o()})}}OI.createIdRemapMiddleware=yVe;var DI={};Object.defineProperty(DI,"__esModule",{value:!0}),DI.createAsyncMiddleware=void 0;function xVe(r){return async(e,t,n,i)=>{let s;const o=new Promise(h=>{s=h});let a=null,l=!1;const u=async()=>{l=!0,n(h=>{a=h,s()}),await o};try{await r(e,t,u),l?(await o,a(null)):i(null)}catch(h){a?a(h):i(h)}}}DI.createAsyncMiddleware=xVe;var $I={};Object.defineProperty($I,"__esModule",{value:!0}),$I.createScaffoldMiddleware=void 0;function _Ve(r){return(e,t,n,i)=>{const s=r[e.method];return s===void 0?n():typeof s=="function"?s(e,t,n,i):(t.result=s,i())}}$I.createScaffoldMiddleware=_Ve;var H8={},QL={};Object.defineProperty(QL,"__esModule",{value:!0});const EVe=fi;function qfe(r,e,t){try{Reflect.apply(r,e,t)}catch(n){setTimeout(()=>{throw n})}}function AVe(r){const e=r.length,t=new Array(e);for(let n=0;n0&&([o]=t),o instanceof Error)throw o;const a=new Error(`Unhandled error.${o?` (${o.message})`:""}`);throw a.context=o,a}const s=i[e];if(s===void 0)return!1;if(typeof s=="function")qfe(s,this,t);else{const o=s.length,a=AVe(s);for(let l=0;l"u"&&(n=Gfe()),XL(r,"",0,[],void 0,0,n);var i;try{a2.length===0?i=JSON.stringify(r,e,t):i=JSON.stringify(r,Zfe(e),t)}catch{return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;o2.length!==0;){var s=o2.pop();s.length===4?Object.defineProperty(s[0],s[1],s[3]):s[0][s[1]]=s[2]}}return i}function Jy(r,e,t,n){var i=Object.getOwnPropertyDescriptor(n,t);i.get!==void 0?i.configurable?(Object.defineProperty(n,t,{value:r}),o2.push([n,t,e,i])):a2.push([e,t,r]):(n[t]=r,o2.push([n,t,e]))}function XL(r,e,t,n,i,s,o){s+=1;var a;if(typeof r=="object"&&r!==null){for(a=0;ao.depthLimit){Jy(BI,r,e,i);return}if(typeof o.edgesLimit<"u"&&t+1>o.edgesLimit){Jy(BI,r,e,i);return}if(n.push(r),Array.isArray(r))for(a=0;ae?1:0}function Kfe(r,e,t,n){typeof n>"u"&&(n=Gfe());var i=eU(r,"",0,[],void 0,0,n)||r,s;try{a2.length===0?s=JSON.stringify(i,e,t):s=JSON.stringify(i,Zfe(e),t)}catch{return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;o2.length!==0;){var o=o2.pop();o.length===4?Object.defineProperty(o[0],o[1],o[3]):o[0][o[1]]=o[2]}}return s}function eU(r,e,t,n,i,s,o){s+=1;var a;if(typeof r=="object"&&r!==null){for(a=0;ao.depthLimit){Jy(BI,r,e,i);return}if(typeof o.edgesLimit<"u"&&t+1>o.edgesLimit){Jy(BI,r,e,i);return}if(n.push(r),Array.isArray(r))for(a=0;a0)for(var n=0;n=1e3&&r<=4999}function MVe(r,e){if(e!=="[Circular]")return e}var tU={},A1={};Object.defineProperty(A1,"__esModule",{value:!0}),A1.errorValues=A1.errorCodes=void 0,A1.errorCodes={rpc:{invalidInput:-32e3,resourceNotFound:-32001,resourceUnavailable:-32002,transactionRejected:-32003,methodNotSupported:-32004,limitExceeded:-32005,parse:-32700,invalidRequest:-32600,methodNotFound:-32601,invalidParams:-32602,internal:-32603},provider:{userRejectedRequest:4001,unauthorized:4100,unsupportedMethod:4200,disconnected:4900,chainDisconnected:4901}},A1.errorValues={"-32700":{standard:"JSON RPC 2.0",message:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."},"-32600":{standard:"JSON RPC 2.0",message:"The JSON sent is not a valid Request object."},"-32601":{standard:"JSON RPC 2.0",message:"The method does not exist / is not available."},"-32602":{standard:"JSON RPC 2.0",message:"Invalid method parameter(s)."},"-32603":{standard:"JSON RPC 2.0",message:"Internal JSON-RPC error."},"-32000":{standard:"EIP-1474",message:"Invalid input."},"-32001":{standard:"EIP-1474",message:"Resource not found."},"-32002":{standard:"EIP-1474",message:"Resource unavailable."},"-32003":{standard:"EIP-1474",message:"Transaction rejected."},"-32004":{standard:"EIP-1474",message:"Method not supported."},"-32005":{standard:"EIP-1474",message:"Request limit exceeded."},4001:{standard:"EIP-1193",message:"User rejected the request."},4100:{standard:"EIP-1193",message:"The requested account and/or method has not been authorized by the user."},4200:{standard:"EIP-1193",message:"The requested method is not supported by this Ethereum provider."},4900:{standard:"EIP-1193",message:"The provider is disconnected from all chains."},4901:{standard:"EIP-1193",message:"The provider is disconnected from the specified chain."}},function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.serializeError=r.isValidCode=r.getMessageFromCode=r.JSON_RPC_SERVER_ERROR_MESSAGE=void 0;const e=A1,t=E1,n=e.errorCodes.rpc.internal,i="Unspecified error message. This is a bug, please report it.",s={code:n,message:o(n)};r.JSON_RPC_SERVER_ERROR_MESSAGE="Unspecified server error.";function o(g,w=i){if(Number.isInteger(g)){const y=g.toString();if(p(e.errorValues,y))return e.errorValues[y].message;if(u(g))return r.JSON_RPC_SERVER_ERROR_MESSAGE}return w}r.getMessageFromCode=o;function a(g){if(!Number.isInteger(g))return!1;const w=g.toString();return!!(e.errorValues[w]||u(g))}r.isValidCode=a;function l(g,{fallbackError:w=s,shouldIncludeStack:y=!1}={}){var C,R;if(!w||!Number.isInteger(w.code)||typeof w.message!="string")throw new Error("Must provide fallback error with integer number code and string message.");if(g instanceof t.EthereumRpcError)return g.serialize();const k={};if(g&&typeof g=="object"&&!Array.isArray(g)&&p(g,"code")&&a(g.code)){const O=g;k.code=O.code,O.message&&typeof O.message=="string"?(k.message=O.message,p(O,"data")&&(k.data=O.data)):(k.message=o(k.code),k.data={originalError:h(g)})}else{k.code=w.code;const O=(C=g)===null||C===void 0?void 0:C.message;k.message=O&&typeof O=="string"?O:w.message,k.data={originalError:h(g)}}const M=(R=g)===null||R===void 0?void 0:R.stack;return y&&g&&M&&typeof M=="string"&&(k.stack=M),k}r.serializeError=l;function u(g){return g>=-32099&&g<=-32e3}function h(g){return g&&typeof g=="object"&&!Array.isArray(g)?Object.assign({},g):g}function p(g,w){return Object.prototype.hasOwnProperty.call(g,w)}}(tU);var LI={};Object.defineProperty(LI,"__esModule",{value:!0}),LI.ethErrors=void 0;const rU=E1,Yfe=tU,ba=A1;LI.ethErrors={rpc:{parse:r=>ru(ba.errorCodes.rpc.parse,r),invalidRequest:r=>ru(ba.errorCodes.rpc.invalidRequest,r),invalidParams:r=>ru(ba.errorCodes.rpc.invalidParams,r),methodNotFound:r=>ru(ba.errorCodes.rpc.methodNotFound,r),internal:r=>ru(ba.errorCodes.rpc.internal,r),server:r=>{if(!r||typeof r!="object"||Array.isArray(r))throw new Error("Ethereum RPC Server errors must provide single object argument.");const{code:e}=r;if(!Number.isInteger(e)||e>-32005||e<-32099)throw new Error('"code" must be an integer such that: -32099 <= code <= -32005');return ru(e,r)},invalidInput:r=>ru(ba.errorCodes.rpc.invalidInput,r),resourceNotFound:r=>ru(ba.errorCodes.rpc.resourceNotFound,r),resourceUnavailable:r=>ru(ba.errorCodes.rpc.resourceUnavailable,r),transactionRejected:r=>ru(ba.errorCodes.rpc.transactionRejected,r),methodNotSupported:r=>ru(ba.errorCodes.rpc.methodNotSupported,r),limitExceeded:r=>ru(ba.errorCodes.rpc.limitExceeded,r)},provider:{userRejectedRequest:r=>W8(ba.errorCodes.provider.userRejectedRequest,r),unauthorized:r=>W8(ba.errorCodes.provider.unauthorized,r),unsupportedMethod:r=>W8(ba.errorCodes.provider.unsupportedMethod,r),disconnected:r=>W8(ba.errorCodes.provider.disconnected,r),chainDisconnected:r=>W8(ba.errorCodes.provider.chainDisconnected,r),custom:r=>{if(!r||typeof r!="object"||Array.isArray(r))throw new Error("Ethereum Provider custom errors must provide single object argument.");const{code:e,message:t,data:n}=r;if(!t||typeof t!="string")throw new Error('"message" must be a nonempty string');return new rU.EthereumProviderError(e,t,n)}}};function ru(r,e){const[t,n]=Qfe(e);return new rU.EthereumRpcError(r,t||Yfe.getMessageFromCode(r),n)}function W8(r,e){const[t,n]=Qfe(e);return new rU.EthereumProviderError(r,t||Yfe.getMessageFromCode(r),n)}function Qfe(r){if(r){if(typeof r=="string")return[r];if(typeof r=="object"&&!Array.isArray(r)){const{message:e,data:t}=r;if(e&&typeof e!="string")throw new Error("Must specify string message.");return[e||void 0,t]}}return[]}(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.getMessageFromCode=r.serializeError=r.EthereumProviderError=r.EthereumRpcError=r.ethErrors=r.errorCodes=void 0;const e=E1;Object.defineProperty(r,"EthereumRpcError",{enumerable:!0,get:function(){return e.EthereumRpcError}}),Object.defineProperty(r,"EthereumProviderError",{enumerable:!0,get:function(){return e.EthereumProviderError}});const t=tU;Object.defineProperty(r,"serializeError",{enumerable:!0,get:function(){return t.serializeError}}),Object.defineProperty(r,"getMessageFromCode",{enumerable:!0,get:function(){return t.getMessageFromCode}});const n=LI;Object.defineProperty(r,"ethErrors",{enumerable:!0,get:function(){return n.ethErrors}});const i=A1;Object.defineProperty(r,"errorCodes",{enumerable:!0,get:function(){return i.errorCodes}})})(Wfe);var NVe=ct&&ct.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(H8,"__esModule",{value:!0}),H8.JsonRpcEngine=void 0;const PVe=NVe(QL),nu=Wfe;class i0 extends PVe.default{constructor(){super(),this._middleware=[]}push(e){this._middleware.push(e)}handle(e,t){if(t&&typeof t!="function")throw new Error('"callback" must be a function if provided.');return Array.isArray(e)?t?this._handleBatch(e,t):this._handleBatch(e):t?this._handle(e,t):this._promiseHandle(e)}asMiddleware(){return async(e,t,n,i)=>{try{const[s,o,a]=await i0._runAllMiddleware(e,t,this._middleware);return o?(await i0._runReturnHandlers(a),i(s)):n(async l=>{try{await i0._runReturnHandlers(a)}catch(u){return l(u)}return l()})}catch(s){return i(s)}}}async _handleBatch(e,t){try{const n=await Promise.all(e.map(this._promiseHandle.bind(this)));return t?t(null,n):n}catch(n){if(t)return t(n);throw n}}_promiseHandle(e){return new Promise(t=>{this._handle(e,(n,i)=>{t(i)})})}async _handle(e,t){if(!e||Array.isArray(e)||typeof e!="object"){const o=new nu.EthereumRpcError(nu.errorCodes.rpc.invalidRequest,`Requests must be plain objects. Received: ${typeof e}`,{request:e});return t(o,{id:void 0,jsonrpc:"2.0",error:o})}if(typeof e.method!="string"){const o=new nu.EthereumRpcError(nu.errorCodes.rpc.invalidRequest,`Must specify a string method. Received: ${typeof e.method}`,{request:e});return t(o,{id:e.id,jsonrpc:"2.0",error:o})}const n=Object.assign({},e),i={id:n.id,jsonrpc:n.jsonrpc};let s=null;try{await this._processRequest(n,i)}catch(o){s=o}return s&&(delete i.result,i.error||(i.error=nu.serializeError(s))),t(s,i)}async _processRequest(e,t){const[n,i,s]=await i0._runAllMiddleware(e,t,this._middleware);if(i0._checkForCompletion(e,t,i),await i0._runReturnHandlers(s),n)throw n}static async _runAllMiddleware(e,t,n){const i=[];let s=null,o=!1;for(const a of n)if([s,o]=await i0._runMiddleware(e,t,a,i),o)break;return[s,o,i.reverse()]}static _runMiddleware(e,t,n,i){return new Promise(s=>{const o=l=>{const u=l||t.error;u&&(t.error=nu.serializeError(u)),s([u,!0])},a=l=>{t.error?o(t.error):(l&&(typeof l!="function"&&o(new nu.EthereumRpcError(nu.errorCodes.rpc.internal,`JsonRpcEngine: "next" return handlers must be functions. Received "${typeof l}" for request: -${nU(e)}`,{request:e})),i.push(l)),s([null,!1]))};try{n(e,t,a,o)}catch(l){o(l)}})}static async _runReturnHandlers(e){for(const t of e)await new Promise((n,i)=>{t(s=>s?i(s):n())})}static _checkForCompletion(e,t,n){if(!("result"in t)&&!("error"in t))throw new nu.EthereumRpcError(nu.errorCodes.rpc.internal,`JsonRpcEngine: Response has no error or result for request: -${nU(e)}`,{request:e});if(!n)throw new nu.EthereumRpcError(nu.errorCodes.rpc.internal,`JsonRpcEngine: Nothing ended request: -${nU(e)}`,{request:e})}}H8.JsonRpcEngine=i0;function nU(r){return JSON.stringify(r,null,2)}var UI={};Object.defineProperty(UI,"__esModule",{value:!0}),UI.mergeMiddleware=void 0;const OVe=H8;function DVe(r){const e=new OVe.JsonRpcEngine;return r.forEach(t=>e.push(t)),e.asMiddleware()}UI.mergeMiddleware=DVe,function(r){var e=ct&&ct.__createBinding||(Object.create?function(n,i,s,o){o===void 0&&(o=s),Object.defineProperty(n,o,{enumerable:!0,get:function(){return i[s]}})}:function(n,i,s,o){o===void 0&&(o=s),n[o]=i[s]}),t=ct&&ct.__exportStar||function(n,i){for(var s in n)s!=="default"&&!Object.prototype.hasOwnProperty.call(i,s)&&e(i,n,s)};Object.defineProperty(r,"__esModule",{value:!0}),t(OI,r),t(DI,r),t($I,r),t(z8,r),t(H8,r),t(UI,r)}(JL);var Xfe={},iU={},sU=function(r,e){return sU=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])},sU(r,e)};function $Ve(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");sU(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var oU=function(){return oU=Object.assign||function(e){for(var t,n=1,i=arguments.length;n=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s}function UVe(r,e){return function(t,n){e(t,n,r)}}function FVe(r,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(r,e)}function jVe(r,e,t,n){function i(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function a(h){try{u(n.next(h))}catch(p){o(p)}}function l(h){try{u(n.throw(h))}catch(p){o(p)}}function u(h){h.done?s(h.value):i(h.value).then(a,l)}u((n=n.apply(r,e||[])).next())})}function zVe(r,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},n,i,s,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(u){return function(h){return l([u,h])}}function l(u){if(n)throw new TypeError("Generator is already executing.");for(;t;)try{if(n=1,i&&(s=u[0]&2?i.return:u[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,u[1])).done)return s;switch(i=0,s&&(u=[u[0]&2,s.value]),u[0]){case 0:case 1:s=u;break;case 4:return t.label++,{value:u[1],done:!1};case 5:t.label++,i=u[1],u=[0];continue;case 7:u=t.ops.pop(),t.trys.pop();continue;default:if(s=t.trys,!(s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){t=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function ede(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var n=t.call(r),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(t=n.return)&&t.call(n)}finally{if(o)throw o.error}}return s}function qVe(){for(var r=[],e=0;e1||a(g,w)})})}function a(g,w){try{l(n[g](w))}catch(y){p(s[0][3],y)}}function l(g){g.value instanceof V8?Promise.resolve(g.value.v).then(u,h):p(s[0][2],g)}function u(g){a("next",g)}function h(g){a("throw",g)}function p(g,w){g(w),s.shift(),s.length&&a(s[0][0],s[0][1])}}function KVe(r){var e,t;return e={},n("next"),n("throw",function(i){throw i}),n("return"),e[Symbol.iterator]=function(){return this},e;function n(i,s){e[i]=r[i]?function(o){return(t=!t)?{value:V8(r[i](o)),done:i==="return"}:s?s(o):o}:s}}function ZVe(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=r[Symbol.asyncIterator],t;return e?e.call(r):(r=typeof cU=="function"?cU(r):r[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(s){t[s]=r[s]&&function(o){return new Promise(function(a,l){o=r[s](o),i(a,l,o.done,o.value)})}}function i(s,o,a,l){Promise.resolve(l).then(function(u){s({value:u,done:a})},o)}}function JVe(r,e){return Object.defineProperty?Object.defineProperty(r,"raw",{value:e}):r.raw=e,r}var YVe=Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e};function QVe(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&aU(e,r,t);return YVe(e,r),e}function XVe(r){return r&&r.__esModule?r:{default:r}}function eGe(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)}function tGe(r,e,t,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!i:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,t):i?i.value=t:e.set(r,t),t}function rGe(r,e){if(e===null||typeof e!="object"&&typeof e!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof r=="function"?e===r:r.has(e)}const lU=sd(Object.freeze(Object.defineProperty({__proto__:null,get __assign(){return oU},__asyncDelegator:KVe,__asyncGenerator:GVe,__asyncValues:ZVe,__await:V8,__awaiter:jVe,__classPrivateFieldGet:eGe,__classPrivateFieldIn:rGe,__classPrivateFieldSet:tGe,__createBinding:aU,__decorate:LVe,__exportStar:HVe,__extends:$Ve,__generator:zVe,__importDefault:XVe,__importStar:QVe,__makeTemplateObject:JVe,__metadata:FVe,__param:UVe,__read:ede,__rest:BVe,__spread:qVe,__spreadArray:VVe,__spreadArrays:WVe,__values:cU},Symbol.toStringTag,{value:"Module"})));var FI={};Object.defineProperty(FI,"__esModule",{value:!0});var tde=lU,nGe=function(){function r(e){if(this._maxConcurrency=e,this._queue=[],e<=0)throw new Error("semaphore must be initialized to a positive value");this._value=e}return r.prototype.acquire=function(){var e=this,t=this.isLocked(),n=new Promise(function(i){return e._queue.push(i)});return t||this._dispatch(),n},r.prototype.runExclusive=function(e){return tde.__awaiter(this,void 0,void 0,function(){var t,n,i;return tde.__generator(this,function(s){switch(s.label){case 0:return[4,this.acquire()];case 1:t=s.sent(),n=t[0],i=t[1],s.label=2;case 2:return s.trys.push([2,,4,5]),[4,e(n)];case 3:return[2,s.sent()];case 4:return i(),[7];case 5:return[2]}})})},r.prototype.isLocked=function(){return this._value<=0},r.prototype.release=function(){if(this._maxConcurrency>1)throw new Error("this method is unavailabel on semaphores with concurrency > 1; use the scoped release returned by acquire instead");if(this._currentReleaser){var e=this._currentReleaser;this._currentReleaser=void 0,e()}},r.prototype._dispatch=function(){var e=this,t=this._queue.shift();if(t){var n=!1;this._currentReleaser=function(){n||(n=!0,e._value++,e._dispatch())},t([this._value--,this._currentReleaser])}},r}();FI.default=nGe,Object.defineProperty(iU,"__esModule",{value:!0});var rde=lU,iGe=FI,sGe=function(){function r(){this._semaphore=new iGe.default(1)}return r.prototype.acquire=function(){return rde.__awaiter(this,void 0,void 0,function(){var e,t;return rde.__generator(this,function(n){switch(n.label){case 0:return[4,this._semaphore.acquire()];case 1:return e=n.sent(),t=e[1],[2,t]}})})},r.prototype.runExclusive=function(e){return this._semaphore.runExclusive(function(){return e()})},r.prototype.isLocked=function(){return this._semaphore.isLocked()},r.prototype.release=function(){this._semaphore.release()},r}();iU.default=sGe;var jI={};Object.defineProperty(jI,"__esModule",{value:!0}),jI.withTimeout=void 0;var zI=lU;function oGe(r,e,t){var n=this;return t===void 0&&(t=new Error("timeout")),{acquire:function(){return new Promise(function(i,s){return zI.__awaiter(n,void 0,void 0,function(){var o,a,l;return zI.__generator(this,function(u){switch(u.label){case 0:return o=!1,setTimeout(function(){o=!0,s(t)},e),[4,r.acquire()];case 1:return a=u.sent(),o?(l=Array.isArray(a)?a[1]:a,l()):i(a),[2]}})})})},runExclusive:function(i){return zI.__awaiter(this,void 0,void 0,function(){var s,o;return zI.__generator(this,function(a){switch(a.label){case 0:s=function(){},a.label=1;case 1:return a.trys.push([1,,7,8]),[4,this.acquire()];case 2:return o=a.sent(),Array.isArray(o)?(s=o[1],[4,i(o[0])]):[3,4];case 3:return[2,a.sent()];case 4:return s=o,[4,i()];case 5:return[2,a.sent()];case 6:return[3,8];case 7:return s(),[7];case 8:return[2]}})})},release:function(){r.release()},isLocked:function(){return r.isLocked()}}}jI.withTimeout=oGe,function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.withTimeout=r.Semaphore=r.Mutex=void 0;var e=iU;Object.defineProperty(r,"Mutex",{enumerable:!0,get:function(){return e.default}});var t=FI;Object.defineProperty(r,"Semaphore",{enumerable:!0,get:function(){return t.default}});var n=jI;Object.defineProperty(r,"withTimeout",{enumerable:!0,get:function(){return n.withTimeout}})}(Xfe);var aGe=lGe,cGe=Object.prototype.hasOwnProperty;function lGe(){for(var r={},e=0;efunction(...i){const s=e.promiseModule;return new s((o,a)=>{e.multiArgs?i.push((...u)=>{e.errorFirst?u[0]?a(u):(u.shift(),o(u)):o(u)}):e.errorFirst?i.push((u,h)=>{u?a(u):o(h)}):i.push(o),Reflect.apply(r,this===t?n:this,i)})},ide=new WeakMap;var pGe=(r,e)=>{e={exclude:[/.+(?:Sync|Stream)$/],errorFirst:!0,promiseModule:Promise,...e};const t=typeof r;if(!(r!==null&&(t==="object"||t==="function")))throw new TypeError(`Expected \`input\` to be a \`Function\` or \`Object\`, got \`${r===null?"null":t}\``);const n=(o,a)=>{let l=ide.get(o);if(l||(l={},ide.set(o,l)),a in l)return l[a];const u=y=>typeof y=="string"||typeof a=="symbol"?a===y:y.test(a),h=Reflect.getOwnPropertyDescriptor(o,a),p=h===void 0||h.writable||h.configurable,w=(e.include?e.include.some(u):!e.exclude.some(u))&&p;return l[a]=w,w},i=new WeakMap,s=new Proxy(r,{apply(o,a,l){const u=i.get(o);if(u)return Reflect.apply(u,a,l);const h=e.excludeMain?o:nde(o,e,s,o);return i.set(o,h),Reflect.apply(h,a,l)},get(o,a){const l=o[a];if(!n(o,a)||l===Function.prototype[a])return l;const u=i.get(l);if(u)return u;if(typeof l=="function"){const h=nde(l,e,s,o);return i.set(l,h),h}return l}});return s};const gGe=N8.default;var uU=class extends gGe{constructor(){super(),this.updates=[]}async initialize(){}async update(){throw new Error("BaseFilter - no update method specified")}addResults(e){this.updates=this.updates.concat(e),e.forEach(t=>this.emit("update",t))}addInitialResults(e){}getChangesAndClear(){const e=this.updates;return this.updates=[],e}};const mGe=uU;var bGe=class extends mGe{constructor(){super(),this.allResults=[]}async update(){throw new Error("BaseFilterWithHistory - no update method specified")}addResults(e){this.allResults=this.allResults.concat(e),super.addResults(e)}addInitialResults(e){this.allResults=this.allResults.concat(e),super.addInitialResults(e)}getAllResults(){return this.allResults}},K8={minBlockRef:wGe,maxBlockRef:vGe,sortBlockRefs:hU,bnToHex:yGe,blockRefIsNumber:xGe,hexToInt:HI,incrementHexInt:_Ge,intToHex:sde,unsafeRandomBytes:EGe};function wGe(...r){return hU(r)[0]}function vGe(...r){const e=hU(r);return e[e.length-1]}function hU(r){return r.sort((e,t)=>e==="latest"||t==="earliest"?1:t==="latest"||e==="earliest"?-1:HI(e)-HI(t))}function yGe(r){return"0x"+r.toString(16)}function xGe(r){return r&&!["earliest","latest","pending"].includes(r)}function HI(r){return r==null?r:Number.parseInt(r,16)}function _Ge(r){if(r==null)return r;const e=HI(r);return sde(e+1)}function sde(r){if(r==null)return r;let e=r.toString(16);return e.length%2&&(e="0"+e),"0x"+e}function EGe(r){let e="0x";for(let t=0;tn.toLowerCase()))}async initialize({currentBlock:e}){let t=this.params.fromBlock;["latest","pending"].includes(t)&&(t=e),t==="earliest"&&(t="0x0"),this.params.fromBlock=t;const n=RGe(this.params.toBlock,e),i=Object.assign({},this.params,{toBlock:n}),s=await this._fetchLogs(i);this.addInitialResults(s)}async update({oldBlock:e,newBlock:t}){const n=t;let i;e?i=IGe(e):i=t;const s=Object.assign({},this.params,{fromBlock:i,toBlock:n}),a=(await this._fetchLogs(s)).filter(l=>this.matchLog(l));this.addResults(a)}async _fetchLogs(e){return await CGe(n=>this.ethQuery.getLogs(e,n))()}matchLog(e){if(qI(this.params.fromBlock)>=qI(e.blockNumber)||TGe(this.params.toBlock)&&qI(this.params.toBlock)<=qI(e.blockNumber))return!1;const t=e.address&&e.address.toLowerCase();return this.params.address&&t&&!this.params.address.includes(t)?!1:this.params.topics.every((i,s)=>{let o=e.topics[s];if(!o)return!1;o=o.toLowerCase();let a=Array.isArray(i)?i:[i];return a.includes(null)?!0:(a=a.map(h=>h.toLowerCase()),a.includes(o))})}},fU=MGe;async function MGe({provider:r,fromBlock:e,toBlock:t}){e||(e=t);const n=ade(e),s=ade(t)-n+1,o=Array(s).fill().map((l,u)=>n+u).map(NGe);let a=await Promise.all(o.map(l=>OGe(r,"eth_getBlockByNumber",[l,!1])));return a=a.filter(l=>l!==null),a}function ade(r){return r==null?r:Number.parseInt(r,16)}function NGe(r){return r==null?r:"0x"+r.toString(16)}function PGe(r,e){return new Promise((t,n)=>{r.sendAsync(e,(i,s)=>{i?n(i):s.error?n(s.error):s.result?t(s.result):n(new Error("Result was empty"))})})}async function OGe(r,e,t){for(let n=0;n<3;n++)try{return await PGe(r,{id:1,jsonrpc:"2.0",method:e,params:t})}catch(i){console.error(`provider.sendAsync failed: ${i.stack||i.message||i}`)}return null}const DGe=uU,$Ge=fU,{incrementHexInt:BGe}=K8;var LGe=class extends DGe{constructor({provider:e,params:t}){super(),this.type="block",this.provider=e}async update({oldBlock:e,newBlock:t}){const n=t,i=BGe(e),o=(await $Ge({provider:this.provider,fromBlock:i,toBlock:n})).map(a=>a.hash);this.addResults(o)}};const UGe=uU,FGe=fU,{incrementHexInt:jGe}=K8;var zGe=class extends UGe{constructor({provider:e}){super(),this.type="tx",this.provider=e}async update({oldBlock:e}){const t=e,n=jGe(e),i=await FGe({provider:this.provider,fromBlock:n,toBlock:t}),s=[];for(const o of i)s.push(...o.transactions);this.addResults(s)}};const HGe=Xfe.Mutex,{createAsyncMiddleware:qGe,createScaffoldMiddleware:WGe}=JL,VGe=kGe,GGe=LGe,KGe=zGe,{intToHex:cde,hexToInt:dU}=K8;var ZGe=JGe;function JGe({blockTracker:r,provider:e}){let t=0,n={};const i=new HGe,s=YGe({mutex:i}),o=WGe({eth_newFilter:s(pU(l)),eth_newBlockFilter:s(pU(u)),eth_newPendingTransactionFilter:s(pU(h)),eth_uninstallFilter:s(WI(w)),eth_getFilterChanges:s(WI(p)),eth_getFilterLogs:s(WI(g))}),a=async({oldBlock:M,newBlock:O})=>{if(n.length===0)return;const B=await i.acquire();try{await Promise.all(Yy(n).map(async j=>{try{await j.update({oldBlock:M,newBlock:O})}catch(G){console.error(G)}}))}catch(j){console.error(j)}B()};return o.newLogFilter=l,o.newBlockFilter=u,o.newPendingTransactionFilter=h,o.uninstallFilter=w,o.getFilterChanges=p,o.getFilterLogs=g,o.destroy=()=>{R()},o;async function l(M){const O=new VGe({provider:e,params:M});return await y(O),O}async function u(){const M=new GGe({provider:e});return await y(M),M}async function h(){const M=new KGe({provider:e});return await y(M),M}async function p(M){const O=dU(M),B=n[O];if(!B)throw new Error(`No filter for index "${O}"`);return B.getChangesAndClear()}async function g(M){const O=dU(M),B=n[O];if(!B)throw new Error(`No filter for index "${O}"`);let j=[];return B.type==="log"&&(j=B.getAllResults()),j}async function w(M){const O=dU(M),j=!!n[O];return j&&await C(O),j}async function y(M){const O=Yy(n).length,B=await r.getLatestBlock();await M.initialize({currentBlock:B}),t++,n[t]=M,M.id=t,M.idHex=cde(t);const j=Yy(n).length;return k({prevFilterCount:O,newFilterCount:j}),t}async function C(M){const O=Yy(n).length;delete n[M];const B=Yy(n).length;k({prevFilterCount:O,newFilterCount:B})}async function R(){const M=Yy(n).length;n={},k({prevFilterCount:M,newFilterCount:0})}function k({prevFilterCount:M,newFilterCount:O}){if(M===0&&O>0){r.on("sync",a);return}if(M>0&&O===0){r.removeListener("sync",a);return}}}function pU(r){return WI(async(...e)=>{const t=await r(...e);return cde(t.id)})}function WI(r){return qGe(async(e,t)=>{const n=await r.apply(null,e.params);t.result=n})}function YGe({mutex:r}){return e=>async(t,n,i,s)=>{(await r.acquire())(),e(t,n,i,s)}}function Yy(r,e){const t=[];for(let n in r)t.push(r[n]);return t}const QGe=N8.default,{createAsyncMiddleware:lde,createScaffoldMiddleware:XGe}=JL,eKe=ZGe,{unsafeRandomBytes:tKe,incrementHexInt:rKe}=K8,nKe=fU;var iKe=sKe;function sKe({blockTracker:r,provider:e}){const t={},n=eKe({blockTracker:r,provider:e});let i=!1;const s=new QGe,o=XGe({eth_subscribe:lde(a),eth_unsubscribe:lde(l)});return o.destroy=h,{events:s,middleware:o};async function a(p,g){if(i)throw new Error("SubscriptionManager - attempting to use after destroying");const w=p.params[0],y=tKe(16);let C;switch(w){case"newHeads":C=R({subId:y});break;case"logs":const M=p.params[1],O=await n.newLogFilter(M);C=k({subId:y,filter:O});break;default:throw new Error(`SubscriptionManager - unsupported subscription type "${w}"`)}t[y]=C,g.result=y;return;function R({subId:M}){const O={type:w,destroy:async()=>{r.removeListener("sync",O.update)},update:async({oldBlock:B,newBlock:j})=>{const G=j,D=rKe(B);(await nKe({provider:e,fromBlock:D,toBlock:G})).map(oKe).filter(te=>te!==null).forEach(te=>{u(M,te)})}};return r.on("sync",O.update),O}function k({subId:M,filter:O}){return O.on("update",j=>u(M,j)),{type:w,destroy:async()=>await n.uninstallFilter(O.idHex)}}}async function l(p,g){if(i)throw new Error("SubscriptionManager - attempting to use after destroying");const w=p.params[0],y=t[w];if(!y){g.result=!1;return}delete t[w],await y.destroy(),g.result=!0}function u(p,g){s.emit("notification",{jsonrpc:"2.0",method:"eth_subscription",params:{subscription:p,result:g}})}function h(){s.removeAllListeners();for(const p in t)t[p].destroy(),delete t[p];i=!0}}function oKe(r){return r==null?null:{hash:r.hash,parentHash:r.parentHash,sha3Uncles:r.sha3Uncles,miner:r.miner,stateRoot:r.stateRoot,transactionsRoot:r.transactionsRoot,receiptsRoot:r.receiptsRoot,logsBloom:r.logsBloom,difficulty:r.difficulty,number:r.number,gasLimit:r.gasLimit,gasUsed:r.gasUsed,nonce:r.nonce,mixHash:r.mixHash,timestamp:r.timestamp,extraData:r.extraData}}Object.defineProperty(wI,"__esModule",{value:!0}),wI.SubscriptionManager=void 0;const aKe=_he,cKe=iKe,ude=()=>{};class lKe{constructor(e){const t=new aKe.PollingBlockTracker({provider:e,pollingInterval:15e3,setSkipCacheFlag:!0}),{events:n,middleware:i}=cKe({blockTracker:t,provider:e});this.events=n,this.subscriptionMiddleware=i}async handleRequest(e){const t={};return await this.subscriptionMiddleware(e,t,ude,ude),t}destroy(){this.subscriptionMiddleware.destroy()}}wI.SubscriptionManager=lKe;var hde=ct&&ct.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Ay,"__esModule",{value:!0}),Ay.CoinbaseWalletProvider=void 0;const uKe=hde(MS),hKe=Rwe,Rn=l8,rn=mr,fKe=d8,fde=Xl,VI=Sy,Jc=_y,gU=hde(vze),Z8=Cy,dKe=Uy,pKe=wI,dde="DefaultChainId",pde="DefaultJsonRpcUrl";class gKe extends hKe.EventEmitter{constructor(e){var t,n;super(),this._filterPolyfill=new dKe.FilterPolyfill(this),this._subscriptionManager=new pKe.SubscriptionManager(this),this._relay=null,this._addresses=[],this.hasMadeFirstChainChangedEmission=!1,this.setProviderInfo=this.setProviderInfo.bind(this),this.updateProviderInfo=this.updateProviderInfo.bind(this),this.getChainId=this.getChainId.bind(this),this.setAppInfo=this.setAppInfo.bind(this),this.enable=this.enable.bind(this),this.close=this.close.bind(this),this.send=this.send.bind(this),this.sendAsync=this.sendAsync.bind(this),this.request=this.request.bind(this),this._setAddresses=this._setAddresses.bind(this),this.scanQRCode=this.scanQRCode.bind(this),this.genericRequest=this.genericRequest.bind(this),this._chainIdFromOpts=e.chainId,this._jsonRpcUrlFromOpts=e.jsonRpcUrl,this._overrideIsMetaMask=e.overrideIsMetaMask,this._relayProvider=e.relayProvider,this._storage=e.storage,this._relayEventManager=e.relayEventManager,this.diagnostic=e.diagnosticLogger,this.reloadOnDisconnect=!0,this.isCoinbaseWallet=(t=e.overrideIsCoinbaseWallet)!==null&&t!==void 0?t:!0,this.isCoinbaseBrowser=(n=e.overrideIsCoinbaseBrowser)!==null&&n!==void 0?n:!1,this.qrUrl=e.qrUrl;const i=this.getChainId(),s=(0,rn.prepend0x)(i.toString(16));this.emit("connect",{chainIdStr:s});const o=this._storage.getItem(fde.LOCAL_STORAGE_ADDRESSES_KEY);if(o){const a=o.split(" ");a[0]!==""&&(this._addresses=a.map(l=>(0,rn.ensureAddressString)(l)),this.emit("accountsChanged",a))}this._subscriptionManager.events.on("notification",a=>{this.emit("message",{type:a.method,data:a.params})}),this._isAuthorized()&&this.initializeRelay(),window.addEventListener("message",a=>{var l;if(!(a.origin!==location.origin||a.source!==window)&&a.data.type==="walletLinkMessage"&&a.data.data.action==="dappChainSwitched"){const u=a.data.data.chainId,h=(l=a.data.data.jsonRpcUrl)!==null&&l!==void 0?l:this.jsonRpcUrl;this.updateProviderInfo(h,Number(u))}})}get selectedAddress(){return this._addresses[0]||void 0}get networkVersion(){return this.getChainId().toString(10)}get chainId(){return(0,rn.prepend0x)(this.getChainId().toString(16))}get isWalletLink(){return!0}get isMetaMask(){return this._overrideIsMetaMask}get host(){return this.jsonRpcUrl}get connected(){return!0}isConnected(){return!0}get jsonRpcUrl(){var e;return(e=this._storage.getItem(pde))!==null&&e!==void 0?e:this._jsonRpcUrlFromOpts}set jsonRpcUrl(e){this._storage.setItem(pde,e)}disableReloadOnDisconnect(){this.reloadOnDisconnect=!1}setProviderInfo(e,t){this.isCoinbaseBrowser||(this._chainIdFromOpts=t,this._jsonRpcUrlFromOpts=e),this.updateProviderInfo(this.jsonRpcUrl,this.getChainId())}updateProviderInfo(e,t){this.jsonRpcUrl=e;const n=this.getChainId();this._storage.setItem(dde,t.toString(10)),((0,rn.ensureIntNumber)(t)!==n||!this.hasMadeFirstChainChangedEmission)&&(this.emit("chainChanged",this.getChainId()),this.hasMadeFirstChainChangedEmission=!0)}async watchAsset(e,t,n,i,s,o){const l=await(await this.initializeRelay()).watchAsset(e,t,n,i,s,o==null?void 0:o.toString()).promise;return(0,Jc.isErrorResponse)(l)?!1:!!l.result}async addEthereumChain(e,t,n,i,s,o){var a,l;if((0,rn.ensureIntNumber)(e)===this.getChainId())return!1;const u=await this.initializeRelay(),h=u.inlineAddEthereumChain(e.toString());!this._isAuthorized()&&!h&&await u.requestEthereumAccounts().promise;const p=await u.addEthereumChain(e.toString(),t,s,n,i,o).promise;return(0,Jc.isErrorResponse)(p)?!1:(((a=p.result)===null||a===void 0?void 0:a.isApproved)===!0&&this.updateProviderInfo(t[0],e),((l=p.result)===null||l===void 0?void 0:l.isApproved)===!0)}async switchEthereumChain(e){const n=await(await this.initializeRelay()).switchEthereumChain(e.toString(10),this.selectedAddress||void 0).promise;if((0,Jc.isErrorResponse)(n)){if(!n.errorCode)return;throw n.errorCode===Rn.standardErrorCodes.provider.unsupportedChain?Rn.standardErrors.provider.unsupportedChain():Rn.standardErrors.provider.custom({message:n.errorMessage,code:n.errorCode})}const i=n.result;i.isApproved&&i.rpcUrl.length>0&&this.updateProviderInfo(i.rpcUrl,e)}setAppInfo(e,t){this.initializeRelay().then(n=>n.setAppInfo(e,t))}async enable(){var e;return(e=this.diagnostic)===null||e===void 0||e.log(Z8.EVENTS.ETH_ACCOUNTS_STATE,{method:"provider::enable",addresses_length:this._addresses.length,sessionIdHash:this._relay?VI.Session.hash(this._relay.session.id):void 0}),this._isAuthorized()?[...this._addresses]:await this.send("eth_requestAccounts")}async close(){(await this.initializeRelay()).resetAndReload()}send(e,t){try{const n=this._send(e,t);if(n instanceof Promise)return n.catch(i=>{throw(0,Rn.serializeError)(i,e)})}catch(n){throw(0,Rn.serializeError)(n,e)}}_send(e,t){if(typeof e=="string"){const i=e,s=Array.isArray(t)?t:t!==void 0?[t]:[],o={jsonrpc:"2.0",id:0,method:i,params:s};return this._sendRequestAsync(o).then(a=>a.result)}if(typeof t=="function"){const i=e,s=t;return this._sendAsync(i,s)}if(Array.isArray(e))return e.map(s=>this._sendRequest(s));const n=e;return this._sendRequest(n)}async sendAsync(e,t){try{return this._sendAsync(e,t).catch(n=>{throw(0,Rn.serializeError)(n,e)})}catch(n){return Promise.reject((0,Rn.serializeError)(n,e))}}async _sendAsync(e,t){if(typeof t!="function")throw new Error("callback is required");if(Array.isArray(e)){const i=t;this._sendMultipleRequestsAsync(e).then(s=>i(null,s)).catch(s=>i(s,null));return}const n=t;return this._sendRequestAsync(e).then(i=>n(null,i)).catch(i=>n(i,null))}async request(e){try{return this._request(e).catch(t=>{throw(0,Rn.serializeError)(t,e.method)})}catch(t){return Promise.reject((0,Rn.serializeError)(t,e.method))}}async _request(e){if(!e||typeof e!="object"||Array.isArray(e))throw Rn.standardErrors.rpc.invalidRequest({message:"Expected a single, non-array, object argument.",data:e});const{method:t,params:n}=e;if(typeof t!="string"||t.length===0)throw Rn.standardErrors.rpc.invalidRequest({message:"'args.method' must be a non-empty string.",data:e});if(n!==void 0&&!Array.isArray(n)&&(typeof n!="object"||n===null))throw Rn.standardErrors.rpc.invalidRequest({message:"'args.params' must be an object or array if provided.",data:e});const i=n===void 0?[]:n,s=this._relayEventManager.makeRequestId();return(await this._sendRequestAsync({method:t,params:i,jsonrpc:"2.0",id:s})).result}async scanQRCode(e){const n=await(await this.initializeRelay()).scanQRCode((0,rn.ensureRegExpString)(e)).promise;if((0,Jc.isErrorResponse)(n))throw(0,Rn.serializeError)(n.errorMessage,"scanQRCode");if(typeof n.result!="string")throw(0,Rn.serializeError)("result was not a string","scanQRCode");return n.result}async genericRequest(e,t){const i=await(await this.initializeRelay()).genericRequest(e,t).promise;if((0,Jc.isErrorResponse)(i))throw(0,Rn.serializeError)(i.errorMessage,"generic");if(typeof i.result!="string")throw(0,Rn.serializeError)("result was not a string","generic");return i.result}async connectAndSignIn(e){var t;(t=this.diagnostic)===null||t===void 0||t.log(Z8.EVENTS.ETH_ACCOUNTS_STATE,{method:"provider::connectAndSignIn",sessionIdHash:this._relay?VI.Session.hash(this._relay.session.id):void 0});let n;try{const s=await this.initializeRelay();if(!(s instanceof fKe.MobileRelay))throw new Error("connectAndSignIn is only supported on mobile");if(n=await s.connectAndSignIn(e).promise,(0,Jc.isErrorResponse)(n))throw new Error(n.errorMessage)}catch(s){throw typeof s.message=="string"&&s.message.match(/(denied|rejected)/i)?Rn.standardErrors.provider.userRejectedRequest("User denied account authorization"):s}if(!n.result)throw new Error("accounts received is empty");const{accounts:i}=n.result;return this._setAddresses(i),this.isCoinbaseBrowser||await this.switchEthereumChain(this.getChainId()),n.result}async selectProvider(e){const n=await(await this.initializeRelay()).selectProvider(e).promise;if((0,Jc.isErrorResponse)(n))throw(0,Rn.serializeError)(n.errorMessage,"selectProvider");if(typeof n.result!="string")throw(0,Rn.serializeError)("result was not a string","selectProvider");return n.result}supportsSubscriptions(){return!1}subscribe(){throw new Error("Subscriptions are not supported")}unsubscribe(){throw new Error("Subscriptions are not supported")}disconnect(){return!0}_sendRequest(e){const t={jsonrpc:"2.0",id:e.id},{method:n}=e;if(t.result=this._handleSynchronousMethods(e),t.result===void 0)throw new Error(`Coinbase Wallet does not support calling ${n} synchronously without a callback. Please provide a callback parameter to call ${n} asynchronously.`);return t}_setAddresses(e,t){if(!Array.isArray(e))throw new Error("addresses is not an array");const n=e.map(i=>(0,rn.ensureAddressString)(i));JSON.stringify(n)!==JSON.stringify(this._addresses)&&(this._addresses=n,this.emit("accountsChanged",this._addresses),this._storage.setItem(fde.LOCAL_STORAGE_ADDRESSES_KEY,n.join(" ")))}_sendRequestAsync(e){return new Promise((t,n)=>{try{const i=this._handleSynchronousMethods(e);if(i!==void 0)return t({jsonrpc:"2.0",id:e.id,result:i});const s=this._handleAsynchronousFilterMethods(e);if(s!==void 0){s.then(a=>t(Object.assign(Object.assign({},a),{id:e.id}))).catch(a=>n(a));return}const o=this._handleSubscriptionMethods(e);if(o!==void 0){o.then(a=>t({jsonrpc:"2.0",id:e.id,result:a.result})).catch(a=>n(a));return}}catch(i){return n(i)}this._handleAsynchronousMethods(e).then(i=>i&&t(Object.assign(Object.assign({},i),{id:e.id}))).catch(i=>n(i))})}_sendMultipleRequestsAsync(e){return Promise.all(e.map(t=>this._sendRequestAsync(t)))}_handleSynchronousMethods(e){const{method:t}=e,n=e.params||[];switch(t){case"eth_accounts":return this._eth_accounts();case"eth_coinbase":return this._eth_coinbase();case"eth_uninstallFilter":return this._eth_uninstallFilter(n);case"net_version":return this._net_version();case"eth_chainId":return this._eth_chainId();default:return}}async _handleAsynchronousMethods(e){const{method:t}=e,n=e.params||[];switch(t){case"eth_requestAccounts":return this._eth_requestAccounts();case"eth_sign":return this._eth_sign(n);case"eth_ecRecover":return this._eth_ecRecover(n);case"personal_sign":return this._personal_sign(n);case"personal_ecRecover":return this._personal_ecRecover(n);case"eth_signTransaction":return this._eth_signTransaction(n);case"eth_sendRawTransaction":return this._eth_sendRawTransaction(n);case"eth_sendTransaction":return this._eth_sendTransaction(n);case"eth_signTypedData_v1":return this._eth_signTypedData_v1(n);case"eth_signTypedData_v2":return this._throwUnsupportedMethodError();case"eth_signTypedData_v3":return this._eth_signTypedData_v3(n);case"eth_signTypedData_v4":case"eth_signTypedData":return this._eth_signTypedData_v4(n);case"cbWallet_arbitrary":return this._cbwallet_arbitrary(n);case"wallet_addEthereumChain":return this._wallet_addEthereumChain(n);case"wallet_switchEthereumChain":return this._wallet_switchEthereumChain(n);case"wallet_watchAsset":return this._wallet_watchAsset(n)}return(await this.initializeRelay()).makeEthereumJSONRPCRequest(e,this.jsonRpcUrl).catch(s=>{var o;throw(s.code===Rn.standardErrorCodes.rpc.methodNotFound||s.code===Rn.standardErrorCodes.rpc.methodNotSupported)&&((o=this.diagnostic)===null||o===void 0||o.log(Z8.EVENTS.METHOD_NOT_IMPLEMENTED,{method:e.method,sessionIdHash:this._relay?VI.Session.hash(this._relay.session.id):void 0})),s})}_handleAsynchronousFilterMethods(e){const{method:t}=e,n=e.params||[];switch(t){case"eth_newFilter":return this._eth_newFilter(n);case"eth_newBlockFilter":return this._eth_newBlockFilter();case"eth_newPendingTransactionFilter":return this._eth_newPendingTransactionFilter();case"eth_getFilterChanges":return this._eth_getFilterChanges(n);case"eth_getFilterLogs":return this._eth_getFilterLogs(n)}}_handleSubscriptionMethods(e){switch(e.method){case"eth_subscribe":case"eth_unsubscribe":return this._subscriptionManager.handleRequest(e)}}_isKnownAddress(e){try{const t=(0,rn.ensureAddressString)(e);return this._addresses.map(i=>(0,rn.ensureAddressString)(i)).includes(t)}catch{}return!1}_ensureKnownAddress(e){var t;if(!this._isKnownAddress(e))throw(t=this.diagnostic)===null||t===void 0||t.log(Z8.EVENTS.UNKNOWN_ADDRESS_ENCOUNTERED),new Error("Unknown Ethereum address")}_prepareTransactionParams(e){const t=e.from?(0,rn.ensureAddressString)(e.from):this.selectedAddress;if(!t)throw new Error("Ethereum address is unavailable");this._ensureKnownAddress(t);const n=e.to?(0,rn.ensureAddressString)(e.to):null,i=e.value!=null?(0,rn.ensureBN)(e.value):new uKe.default(0),s=e.data?(0,rn.ensureBuffer)(e.data):$t.alloc(0),o=e.nonce!=null?(0,rn.ensureIntNumber)(e.nonce):null,a=e.gasPrice!=null?(0,rn.ensureBN)(e.gasPrice):null,l=e.maxFeePerGas!=null?(0,rn.ensureBN)(e.maxFeePerGas):null,u=e.maxPriorityFeePerGas!=null?(0,rn.ensureBN)(e.maxPriorityFeePerGas):null,h=e.gas!=null?(0,rn.ensureBN)(e.gas):null,p=e.chainId?(0,rn.ensureIntNumber)(e.chainId):this.getChainId();return{fromAddress:t,toAddress:n,weiValue:i,data:s,nonce:o,gasPriceInWei:a,maxFeePerGas:l,maxPriorityFeePerGas:u,gasLimit:h,chainId:p}}_isAuthorized(){return this._addresses.length>0}_requireAuthorization(){if(!this._isAuthorized())throw Rn.standardErrors.provider.unauthorized({})}_throwUnsupportedMethodError(){throw Rn.standardErrors.provider.unsupportedMethod({})}async _signEthereumMessage(e,t,n,i){this._ensureKnownAddress(t);try{const o=await(await this.initializeRelay()).signEthereumMessage(e,t,n,i).promise;if((0,Jc.isErrorResponse)(o))throw new Error(o.errorMessage);return{jsonrpc:"2.0",id:0,result:o.result}}catch(s){throw typeof s.message=="string"&&s.message.match(/(denied|rejected)/i)?Rn.standardErrors.provider.userRejectedRequest("User denied message signature"):s}}async _ethereumAddressFromSignedMessage(e,t,n){const s=await(await this.initializeRelay()).ethereumAddressFromSignedMessage(e,t,n).promise;if((0,Jc.isErrorResponse)(s))throw new Error(s.errorMessage);return{jsonrpc:"2.0",id:0,result:s.result}}_eth_accounts(){return[...this._addresses]}_eth_coinbase(){return this.selectedAddress||null}_net_version(){return this.getChainId().toString(10)}_eth_chainId(){return(0,rn.hexStringFromIntNumber)(this.getChainId())}getChainId(){const e=this._storage.getItem(dde);if(!e)return(0,rn.ensureIntNumber)(this._chainIdFromOpts);const t=parseInt(e,10);return(0,rn.ensureIntNumber)(t)}async _eth_requestAccounts(){var e;if((e=this.diagnostic)===null||e===void 0||e.log(Z8.EVENTS.ETH_ACCOUNTS_STATE,{method:"provider::_eth_requestAccounts",addresses_length:this._addresses.length,sessionIdHash:this._relay?VI.Session.hash(this._relay.session.id):void 0}),this._isAuthorized())return Promise.resolve({jsonrpc:"2.0",id:0,result:this._addresses});let t;try{if(t=await(await this.initializeRelay()).requestEthereumAccounts().promise,(0,Jc.isErrorResponse)(t))throw new Error(t.errorMessage)}catch(n){throw typeof n.message=="string"&&n.message.match(/(denied|rejected)/i)?Rn.standardErrors.provider.userRejectedRequest("User denied account authorization"):n}if(!t.result)throw new Error("accounts received is empty");return this._setAddresses(t.result),this.isCoinbaseBrowser||await this.switchEthereumChain(this.getChainId()),{jsonrpc:"2.0",id:0,result:this._addresses}}_eth_sign(e){this._requireAuthorization();const t=(0,rn.ensureAddressString)(e[0]),n=(0,rn.ensureBuffer)(e[1]);return this._signEthereumMessage(n,t,!1)}_eth_ecRecover(e){const t=(0,rn.ensureBuffer)(e[0]),n=(0,rn.ensureBuffer)(e[1]);return this._ethereumAddressFromSignedMessage(t,n,!1)}_personal_sign(e){this._requireAuthorization();const t=(0,rn.ensureBuffer)(e[0]),n=(0,rn.ensureAddressString)(e[1]);return this._signEthereumMessage(t,n,!0)}_personal_ecRecover(e){const t=(0,rn.ensureBuffer)(e[0]),n=(0,rn.ensureBuffer)(e[1]);return this._ethereumAddressFromSignedMessage(t,n,!0)}async _eth_signTransaction(e){this._requireAuthorization();const t=this._prepareTransactionParams(e[0]||{});try{const i=await(await this.initializeRelay()).signEthereumTransaction(t).promise;if((0,Jc.isErrorResponse)(i))throw new Error(i.errorMessage);return{jsonrpc:"2.0",id:0,result:i.result}}catch(n){throw typeof n.message=="string"&&n.message.match(/(denied|rejected)/i)?Rn.standardErrors.provider.userRejectedRequest("User denied transaction signature"):n}}async _eth_sendRawTransaction(e){const t=(0,rn.ensureBuffer)(e[0]),i=await(await this.initializeRelay()).submitEthereumTransaction(t,this.getChainId()).promise;if((0,Jc.isErrorResponse)(i))throw new Error(i.errorMessage);return{jsonrpc:"2.0",id:0,result:i.result}}async _eth_sendTransaction(e){this._requireAuthorization();const t=this._prepareTransactionParams(e[0]||{});try{const i=await(await this.initializeRelay()).signAndSubmitEthereumTransaction(t).promise;if((0,Jc.isErrorResponse)(i))throw new Error(i.errorMessage);return{jsonrpc:"2.0",id:0,result:i.result}}catch(n){throw typeof n.message=="string"&&n.message.match(/(denied|rejected)/i)?Rn.standardErrors.provider.userRejectedRequest("User denied transaction signature"):n}}async _eth_signTypedData_v1(e){this._requireAuthorization();const t=(0,rn.ensureParsedJSONObject)(e[0]),n=(0,rn.ensureAddressString)(e[1]);this._ensureKnownAddress(n);const i=gU.default.hashForSignTypedDataLegacy({data:t}),s=JSON.stringify(t,null,2);return this._signEthereumMessage(i,n,!1,s)}async _eth_signTypedData_v3(e){this._requireAuthorization();const t=(0,rn.ensureAddressString)(e[0]),n=(0,rn.ensureParsedJSONObject)(e[1]);this._ensureKnownAddress(t);const i=gU.default.hashForSignTypedData_v3({data:n}),s=JSON.stringify(n,null,2);return this._signEthereumMessage(i,t,!1,s)}async _eth_signTypedData_v4(e){this._requireAuthorization();const t=(0,rn.ensureAddressString)(e[0]),n=(0,rn.ensureParsedJSONObject)(e[1]);this._ensureKnownAddress(t);const i=gU.default.hashForSignTypedData_v4({data:n}),s=JSON.stringify(n,null,2);return this._signEthereumMessage(i,t,!1,s)}async _cbwallet_arbitrary(e){const t=e[0],n=e[1];if(typeof n!="string")throw new Error("parameter must be a string");if(typeof t!="object"||t===null)throw new Error("parameter must be an object");return{jsonrpc:"2.0",id:0,result:await this.genericRequest(t,n)}}async _wallet_addEthereumChain(e){var t,n,i,s;const o=e[0];if(((t=o.rpcUrls)===null||t===void 0?void 0:t.length)===0)return{jsonrpc:"2.0",id:0,error:{code:2,message:"please pass in at least 1 rpcUrl"}};if(!o.chainName||o.chainName.trim()==="")throw Rn.standardErrors.rpc.invalidParams("chainName is a required field");if(!o.nativeCurrency)throw Rn.standardErrors.rpc.invalidParams("nativeCurrency is a required field");const a=parseInt(o.chainId,16);return await this.addEthereumChain(a,(n=o.rpcUrls)!==null&&n!==void 0?n:[],(i=o.blockExplorerUrls)!==null&&i!==void 0?i:[],o.chainName,(s=o.iconUrls)!==null&&s!==void 0?s:[],o.nativeCurrency)?{jsonrpc:"2.0",id:0,result:null}:{jsonrpc:"2.0",id:0,error:{code:2,message:"unable to add ethereum chain"}}}async _wallet_switchEthereumChain(e){const t=e[0];return await this.switchEthereumChain(parseInt(t.chainId,16)),{jsonrpc:"2.0",id:0,result:null}}async _wallet_watchAsset(e){const t=Array.isArray(e)?e[0]:e;if(!t.type)throw Rn.standardErrors.rpc.invalidParams("Type is required");if((t==null?void 0:t.type)!=="ERC20")throw Rn.standardErrors.rpc.invalidParams(`Asset of type '${t.type}' is not supported`);if(!(t!=null&&t.options))throw Rn.standardErrors.rpc.invalidParams("Options are required");if(!(t!=null&&t.options.address))throw Rn.standardErrors.rpc.invalidParams("Address is required");const n=this.getChainId(),{address:i,symbol:s,image:o,decimals:a}=t.options;return{jsonrpc:"2.0",id:0,result:await this.watchAsset(t.type,i,s,a,o,n)}}_eth_uninstallFilter(e){const t=(0,rn.ensureHexString)(e[0]);return this._filterPolyfill.uninstallFilter(t)}async _eth_newFilter(e){const t=e[0];return{jsonrpc:"2.0",id:0,result:await this._filterPolyfill.newFilter(t)}}async _eth_newBlockFilter(){return{jsonrpc:"2.0",id:0,result:await this._filterPolyfill.newBlockFilter()}}async _eth_newPendingTransactionFilter(){return{jsonrpc:"2.0",id:0,result:await this._filterPolyfill.newPendingTransactionFilter()}}_eth_getFilterChanges(e){const t=(0,rn.ensureHexString)(e[0]);return this._filterPolyfill.getFilterChanges(t)}_eth_getFilterLogs(e){const t=(0,rn.ensureHexString)(e[0]);return this._filterPolyfill.getFilterLogs(t)}initializeRelay(){return this._relay?Promise.resolve(this._relay):this._relayProvider().then(e=>(e.setAccountsCallback((t,n)=>this._setAddresses(t,n)),e.setChainCallback((t,n)=>{this.updateProviderInfo(n,parseInt(t,10))}),e.setDappDefaultChainCallback(this._chainIdFromOpts),this._relay=e,e))}}Ay.CoinbaseWalletProvider=gKe;var GI={};Object.defineProperty(GI,"__esModule",{value:!0}),GI.RelayEventManager=void 0;const mKe=mr;class bKe{constructor(){this._nextRequestId=0,this.callbacks=new Map}makeRequestId(){this._nextRequestId=(this._nextRequestId+1)%2147483647;const e=this._nextRequestId,t=(0,mKe.prepend0x)(e.toString(16));return this.callbacks.get(t)&&this.callbacks.delete(t),e}}GI.RelayEventManager=bKe,Object.defineProperty(c8,"__esModule",{value:!0}),c8.CoinbaseWalletSDK=void 0;const wKe=TS,vKe=kS,gde=mr,yKe=$S,xKe=Ay,_Ke=d8,EKe=R8,AKe=GI,CKe=v8,SKe=p8,mde=Ey;class KI{constructor(e){var t,n,i;this._appName="",this._appLogoUrl=null,this._relay=null,this._relayEventManager=null;const s=e.linkAPIUrl||vKe.LINK_API_URL;typeof e.overrideIsMetaMask>"u"?this._overrideIsMetaMask=!1:this._overrideIsMetaMask=e.overrideIsMetaMask,this._overrideIsCoinbaseWallet=(t=e.overrideIsCoinbaseWallet)!==null&&t!==void 0?t:!0,this._overrideIsCoinbaseBrowser=(n=e.overrideIsCoinbaseBrowser)!==null&&n!==void 0?n:!1,this._diagnosticLogger=e.diagnosticLogger,this._reloadOnDisconnect=(i=e.reloadOnDisconnect)!==null&&i!==void 0?i:!0;const o=new URL(s),a=`${o.protocol}//${o.host}`;if(this._storage=new yKe.ScopedLocalStorage(`-walletlink:${a}`),this._storage.setItem("version",KI.VERSION),this.walletExtension||this.coinbaseBrowser)return;this._relayEventManager=new AKe.RelayEventManager;const l=(0,gde.isMobileWeb)(),u=e.uiConstructor||(p=>l?new EKe.MobileRelayUI(p):new CKe.WalletLinkRelayUI(p)),h={linkAPIUrl:s,version:mde.LIB_VERSION,darkMode:!!e.darkMode,uiConstructor:u,storage:this._storage,relayEventManager:this._relayEventManager,diagnosticLogger:this._diagnosticLogger,reloadOnDisconnect:this._reloadOnDisconnect,enableMobileWalletLink:e.enableMobileWalletLink};this._relay=l?new _Ke.MobileRelay(h):new SKe.WalletLinkRelay(h),this.setAppInfo(e.appName,e.appLogoUrl),!e.headlessMode&&this._relay.attachUI()}makeWeb3Provider(e="",t=1){const n=this.walletExtension;if(n)return this.isCipherProvider(n)||n.setProviderInfo(e,t),this._reloadOnDisconnect===!1&&typeof n.disableReloadOnDisconnect=="function"&&n.disableReloadOnDisconnect(),n;const i=this.coinbaseBrowser;if(i)return i;const s=this._relay;if(!s||!this._relayEventManager||!this._storage)throw new Error("Relay not initialized, should never happen");return e||s.setConnectDisabled(!0),new xKe.CoinbaseWalletProvider({relayProvider:()=>Promise.resolve(s),relayEventManager:this._relayEventManager,storage:this._storage,jsonRpcUrl:e,chainId:t,qrUrl:this.getQrUrl(),diagnosticLogger:this._diagnosticLogger,overrideIsMetaMask:this._overrideIsMetaMask,overrideIsCoinbaseWallet:this._overrideIsCoinbaseWallet,overrideIsCoinbaseBrowser:this._overrideIsCoinbaseBrowser})}setAppInfo(e,t){var n;this._appName=e||"DApp",this._appLogoUrl=t||(0,gde.getFavicon)();const i=this.walletExtension;i?this.isCipherProvider(i)||i.setAppInfo(this._appName,this._appLogoUrl):(n=this._relay)===null||n===void 0||n.setAppInfo(this._appName,this._appLogoUrl)}disconnect(){var e;const t=this===null||this===void 0?void 0:this.walletExtension;t?t.close():(e=this._relay)===null||e===void 0||e.resetAndReload()}getQrUrl(){var e,t;return(t=(e=this._relay)===null||e===void 0?void 0:e.getQRCodeUrl())!==null&&t!==void 0?t:null}getCoinbaseWalletLogo(e,t=240){return(0,wKe.walletLogo)(e,t)}get walletExtension(){var e;return(e=window.coinbaseWalletExtension)!==null&&e!==void 0?e:window.walletLinkExtension}get coinbaseBrowser(){var e,t;try{const n=(e=window.ethereum)!==null&&e!==void 0?e:(t=window.top)===null||t===void 0?void 0:t.ethereum;return n&&"isCoinbaseBrowser"in n&&n.isCoinbaseBrowser?n:void 0}catch{return}}isCipherProvider(e){return typeof e.isCipher=="boolean"&&e.isCipher}}c8.CoinbaseWalletSDK=KI,KI.VERSION=mde.LIB_VERSION,function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.CoinbaseWalletProvider=r.CoinbaseWalletSDK=void 0;const e=c8,t=Ay;var n=c8;Object.defineProperty(r,"CoinbaseWalletSDK",{enumerable:!0,get:function(){return n.CoinbaseWalletSDK}});var i=Ay;Object.defineProperty(r,"CoinbaseWalletProvider",{enumerable:!0,get:function(){return i.CoinbaseWalletProvider}}),r.default=e.CoinbaseWalletSDK,typeof window<"u"&&(window.CoinbaseWalletSDK=e.CoinbaseWalletSDK,window.CoinbaseWalletProvider=t.CoinbaseWalletProvider,window.WalletLink=e.CoinbaseWalletSDK,window.WalletLinkProvider=t.CoinbaseWalletProvider)}(ule);function IKe(r){const{enableEIP6963:e=!0,enableInjected:t=!0,enableCoinbase:n=!0,enableEmail:i=!1,metadata:s,rpcUrl:o,defaultChainId:a}=r;let l,u;const h={metadata:s};function p(){if(l)return l;if(!(typeof window>"u")&&window.ethereum)return l=window.ethereum,l}function g(){return u||(typeof window>"u"?void 0:(u=new ule.CoinbaseWalletSDK({appName:s.name,appLogoUrl:s.icons[0],darkMode:!1,enableMobileWalletLink:!0}).makeWeb3Provider(o,a),u))}return t&&(h.injected=p()),n&&o&&a&&(h.coinbase=g()),e&&(h.EIP6963=!0),i&&(h.email=!0),h}function RKe(r){return new xLe({...r,_sdkVersion:`html-ethers-${Jt.VERSION}`})}let Us,bde;const TKe=VM.getAll().map(r=>({chainId:r.id,name:r.name??r.nativeCurrency.symbol,currency:r.nativeCurrency.symbol,explorerUrl:r.explorerUrl,rpcUrl:r.rpcUrl})).filter(r=>r);let mU,bU=!1,wU,wde;const kKe=r=>{if(Us!==void 0)return Us;const e=IKe({metadata:r.metadata,enableEIP6963:r.enableEIP6963,enableInjected:r.enableInjected,enableCoinbase:r.enableCoinbase});return Us=RKe({chains:TKe,ethersConfig:e,projectId:r.projectId,themeMode:r.themeMode,customWallets:r.customWallets,allowUnsupportedChain:!0,themeVariables:{"--w3m-z-index":999999999999}}),r.events!==void 0&&r.events.forEach(t=>{Us==null||Us.subscribeEvents(n=>{t(n,Us)})}),Us.subscribeEvents(async t=>{t.data.event==="SELECT_WALLET"&&(bU=!0),t.data.event==="MODAL_CLOSE"&&(bU?bU=!1:wU(new Error(kr.CLOSED_WALLETCONNECT_MODAL)))}),Us.subscribeProvider(async({provider:t,chainId:n})=>{t!==void 0&&(mU.chainId!==n&&await(Us==null?void 0:Us.switchNetwork(mU.chainId).catch(()=>{wU(new Error(kr.WALLET_CONNECT_REJECTED))})),wde(bde=t))}),Us},MKe={modal:Us,id:"web3modal",name:"Web3Modal",icon:Up.web3modal,provider:bde,platforms:[No.UNIVERSAL],isDetected:()=>!0,isConnected:()=>Us===void 0?!1:Us.getIsConnected(),disconnect:async()=>{Object.keys(localStorage).filter(r=>r.startsWith("wc@2")||r.startsWith("@w3m")||r.startsWith("W3M")||r.startsWith("-walletlink")).forEach(r=>{localStorage.removeItem(r)}),(Us==null?void 0:Us.disconnect)!==void 0&&await Us.disconnect()},connect:async(r,e)=>{const t=e;if(r===void 0)throw new Error(kr.PROVIDER_IS_REQUIRED);if(t===void 0)throw new Error(kr.CONFIG_IS_REQUIRED);if(t.projectId===void 0)throw new Error(kr.PROJECT_ID_IS_REQUIRED);if(t.metadata===void 0)throw new Error(kr.METADATA_IS_REQUIRED);const n=r.network;return mU={chainId:n.id,name:n.name??n.nativeCurrency.symbol,currency:n.nativeCurrency.symbol,explorerUrl:n.explorerUrl,rpcUrl:n.rpcUrl},await new Promise((i,s)=>{try{const o=kKe(t);wU=async a=>{await o.disconnect(),s(a)},wde=i,o.open({view:"Connect"})}catch(o){s(o)}})}},NKe={id:"okxwallet",name:"OkxWallet",icon:Up.okxWallet,provider:window==null?void 0:window.okxwallet,downloadLink:"https://www.okx.com/download",platforms:[No.BROWSER,No.MOBILE],createDeepLink:r=>`okx://wallet/dapp/details?dappUrl=${r}`,isDetected:()=>!!(window!=null&&window.okxwallet),isConnected:async()=>{var r;return!!(await((r=window==null?void 0:window.okxwallet)==null?void 0:r.request({method:"eth_accounts"}))).length},connect:async r=>await new Promise((e,t)=>{const n=window==null?void 0:window.okxwallet;try{n==null||n.request({method:"eth_requestAccounts"}).then(()=>{wv(n,r).then(()=>{e(n)}).catch(i=>{t(i)})}).catch(i=>{t(i)})}catch(i){t(i)}})},PKe={id:"xdefiwallet",name:"XdefiWallet",icon:Up.xdefiWallet,provider:(mge=window==null?void 0:window.xfi)==null?void 0:mge.ethereum,downloadLink:"https://www.xdefi.io/",platforms:[No.BROWSER],isDetected:()=>{var r;return!!((r=window==null?void 0:window.xfi)!=null&&r.ethereum)},isConnected:async()=>{var r,e;return!!(await((e=(r=window==null?void 0:window.xfi)==null?void 0:r.ethereum)==null?void 0:e.request({method:"eth_accounts"}))).length},connect:async r=>await new Promise((e,t)=>{var i;const n=(i=window==null?void 0:window.xfi)==null?void 0:i.ethereum;try{n==null||n.request({method:"eth_requestAccounts"}).then(()=>{wv(n,r).then(()=>{e(n)}).catch(s=>{t(s)})}).catch(s=>{t(s)})}catch(s){t(s)}})},OKe={id:"trustwallet",name:"TrustWallet",icon:Up.trustWallet,provider:(bge=window==null?void 0:window.ethereum)!=null&&bge.isTrust?window.ethereum:window.trustwallet,downloadLink:"https://trustwallet.com/download",platforms:[No.BROWSER,No.MOBILE],isDetected:()=>{var r;return!!(((r=window==null?void 0:window.ethereum)==null?void 0:r.isTrust)??(window==null?void 0:window.trustwallet))},isConnected:async()=>{var e;const r=(e=window==null?void 0:window.ethereum)!=null&&e.isTrust?window.ethereum:window.trustwallet;return!!(await(r==null?void 0:r.request({method:"eth_accounts"}))).length},connect:async r=>await new Promise((e,t)=>{var n;try{const i=(n=window==null?void 0:window.ethereum)!=null&&n.isTrust?window.ethereum:window.trustwallet;i==null||i.request({method:"eth_requestAccounts"}).then(()=>{var s;if(((s=window==null?void 0:window.ethereum)==null?void 0:s.isTrust)!==void 0&&(r==null?void 0:r.isTestnet())===!0){e(i);return}wv(i,r).then(()=>{e(i)}).catch(o=>{t(o)})}).catch(s=>{t(s)})}catch(i){t(i)}})},DKe={id:"bitgetwallet",name:"BitgetWallet",icon:Up.bitgetWallet,provider:(wge=window==null?void 0:window.bitkeep)==null?void 0:wge.ethereum,downloadLink:"https://web3.bitget.com/en/wallet-download?type=3",platforms:[No.BROWSER,No.MOBILE],createDeepLink:r=>`https://bkcode.vip?action=dapp&url=${r}`,isDetected:()=>{var r;return!!((r=window==null?void 0:window.bitkeep)!=null&&r.ethereum)},isConnected:async()=>{var r,e;return!!(await((e=(r=window==null?void 0:window.bitkeep)==null?void 0:r.ethereum)==null?void 0:e.request({method:"eth_accounts"}))).length},connect:async r=>await new Promise((e,t)=>{var i;const n=(i=window==null?void 0:window.bitkeep)==null?void 0:i.ethereum;try{n==null||n.request({method:"eth_requestAccounts"}).then(()=>{wv(n,r).then(()=>{e(n)}).catch(s=>{t(s)})}).catch(s=>{t(s)})}catch(s){t(s)}})},$Ke=":";function ZI(r){const[e,t]=r.split($Ke);return{namespace:e,reference:t}}function vde(r,e=[]){const t=[];return Object.keys(r).forEach(n=>{if(e.length&&!e.includes(n))return;const i=r[n];t.push(...i.accounts)}),t}function yde(r,e){return r.includes(":")?[r]:e.chains||[]}var BKe=Object.defineProperty,xde=Object.getOwnPropertySymbols,LKe=Object.prototype.hasOwnProperty,UKe=Object.prototype.propertyIsEnumerable,_de=(r,e,t)=>e in r?BKe(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ede=(r,e)=>{for(var t in e||(e={}))LKe.call(e,t)&&_de(r,t,e[t]);if(xde)for(var t of xde(e))UKe.call(e,t)&&_de(r,t,e[t]);return r};const FKe="ReactNative",Yc={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"},jKe="js";function J8(){return typeof yt<"u"&&typeof yt.versions<"u"&&typeof yt.versions.node<"u"}function Qy(){return!z6()&&!!H6()&&navigator.product===FKe}function Xy(){return!J8()&&!!H6()&&!!z6()}function Y8(){return Qy()?Yc.reactNative:J8()?Yc.node:Xy()?Yc.browser:Yc.unknown}function zKe(){var r;try{return Qy()&&typeof dr<"u"&&typeof(dr==null?void 0:dr.Application)<"u"?(r=dr.Application)==null?void 0:r.applicationId:void 0}catch{return}}function HKe(r,e){let t=zd.parse(r);return t=Ede(Ede({},t),e),r=zd.stringify(t),r}function qKe(){return F$()||{name:"",description:"",url:"",icons:[""]}}function WKe(){if(Y8()===Yc.reactNative&&typeof dr<"u"&&typeof(dr==null?void 0:dr.Platform)<"u"){const{OS:t,Version:n}=dr.Platform;return[t,n].join("-")}const r=Poe();if(r===null)return"unknown";const e=r.os?r.os.replace(" ","").toLowerCase():"unknown";return r.type==="browser"?[e,r.name,r.version].join("-"):[e,r.version].join("-")}function VKe(){var r;const e=Y8();return e===Yc.browser?[e,((r=L$())==null?void 0:r.host)||"unknown"].join(":"):e}function GKe(r,e,t){const n=WKe(),i=VKe();return[[r,e].join("-"),[jKe,t].join("-"),n,i].join("/")}function KKe({protocol:r,version:e,relayUrl:t,sdkVersion:n,auth:i,projectId:s,useOnCloseEvent:o,bundleId:a}){const l=t.split("?"),u=GKe(r,e,n),h={auth:i,ua:u,projectId:s,useOnCloseEvent:o||void 0,origin:a||void 0},p=HKe(l[1]||"",h);return l[0]+"?"+p}function c2(r,e){return r.filter(t=>e.includes(t)).length===r.length}function Ade(r){return Object.fromEntries(r.entries())}function Cde(r){return new Map(Object.entries(r))}function l2(r=Ye.FIVE_MINUTES,e){const t=Ye.toMiliseconds(r||Ye.FIVE_MINUTES);let n,i,s;return{resolve:o=>{s&&n&&(clearTimeout(s),n(o))},reject:o=>{s&&i&&(clearTimeout(s),i(o))},done:()=>new Promise((o,a)=>{s=setTimeout(()=>{a(new Error(e))},t),n=o,i=a})}}function Q8(r,e,t){return new Promise(async(n,i)=>{const s=setTimeout(()=>i(new Error(t)),e);try{const o=await r;n(o)}catch(o){i(o)}clearTimeout(s)})}function Sde(r,e){if(typeof e=="string"&&e.startsWith(`${r}:`))return e;if(r.toLowerCase()==="topic"){if(typeof e!="string")throw new Error('Value must be "string" for expirer target type: topic');return`topic:${e}`}else if(r.toLowerCase()==="id"){if(typeof e!="number")throw new Error('Value must be "number" for expirer target type: id');return`id:${e}`}throw new Error(`Unknown expirer target type: ${r}`)}function ZKe(r){return Sde("topic",r)}function JKe(r){return Sde("id",r)}function Ide(r){const[e,t]=r.split(":"),n={id:void 0,topic:void 0};if(e==="topic"&&typeof t=="string")n.topic=t;else if(e==="id"&&Number.isInteger(Number(t)))n.id=Number(t);else throw new Error(`Invalid target, expected id:number or topic:string, got ${e}:${t}`);return n}function wa(r,e){return Ye.fromMiliseconds((e||Date.now())+Ye.toMiliseconds(r))}function C1(r){return Date.now()>=Ye.toMiliseconds(r)}function un(r,e){return`${r}${e?`:${e}`:""}`}function JI(r=[],e=[]){return[...new Set([...r,...e])]}async function YKe({id:r,topic:e,wcDeepLink:t}){try{if(!t)return;const n=typeof t=="string"?JSON.parse(t):t;let i=n==null?void 0:n.href;if(typeof i!="string")return;i.endsWith("/")&&(i=i.slice(0,-1));const s=`${i}/wc?requestId=${r}&sessionTopic=${e}`,o=Y8();o===Yc.browser?s.startsWith("https://")||s.startsWith("http://")?window.open(s,"_blank","noreferrer noopener"):window.open(s,"_self","noreferrer noopener"):o===Yc.reactNative&&typeof(dr==null?void 0:dr.Linking)<"u"&&await dr.Linking.openURL(s)}catch(n){console.error(n)}}async function QKe(r,e){try{return await r.getItem(e)||(Xy()?localStorage.getItem(e):void 0)}catch(t){console.error(t)}}var Rde=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof dr<"u"?dr:typeof self<"u"?self:{};function XKe(r){var e=r.default;if(typeof e=="function"){var t=function(){return e.apply(this,arguments)};t.prototype=e.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(r).forEach(function(n){var i=Object.getOwnPropertyDescriptor(r,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:function(){return r[n]}})}),t}var Tde={exports:{}};/** +`)+Te+`return __p +}`;var jt=d_(function(){return fr(ee,Qe+"return "+Te).apply(t,ne)});if(jt.source=Te,cw(jt))throw jt;return jt}function QV(c){return wr(c).toLowerCase()}function XV(c){return wr(c).toUpperCase()}function eG(c,f,v){if(c=wr(c),c&&(v||f===t))return _7(c);if(!c||!(f=Si(f)))return c;var P=as(c),j=as(f),ee=E7(P,j),ne=A7(P,j)+1;return ia(P,ee,ne).join("")}function tG(c,f,v){if(c=wr(c),c&&(v||f===t))return c.slice(0,S7(c)+1);if(!c||!(f=Si(f)))return c;var P=as(c),j=A7(P,as(f))+1;return ia(P,0,j).join("")}function rG(c,f,v){if(c=wr(c),c&&(v||f===t))return c.replace(gt,"");if(!c||!(f=Si(f)))return c;var P=as(c),j=E7(P,as(f));return ia(P,j).join("")}function nG(c,f){var v=Q,P=F;if(Or(f)){var j="separator"in f?f.separator:j;v="length"in f?Ot(f.length):v,P="omission"in f?Si(f.omission):P}c=wr(c);var ee=c.length;if(ul(c)){var ne=as(c);ee=ne.length}if(v>=ee)return c;var ae=v-hl(P);if(ae<1)return P;var fe=ne?ia(ne,0,ae).join(""):c.slice(0,ae);if(j===t)return fe+P;if(ne&&(ae+=fe.length-ae),lw(j)){if(c.slice(ae).search(j)){var Ae,Ce=fe;for(j.global||(j=Cb(j.source,wr(Tt.exec(j))+"g")),j.lastIndex=0;Ae=j.exec(Ce);)var Te=Ae.index;fe=fe.slice(0,Te===t?ae:Te)}}else if(c.indexOf(Si(j),ae)!=ae){var $e=fe.lastIndexOf(j);$e>-1&&(fe=fe.slice(0,$e))}return fe+P}function iG(c){return c=wr(c),c&&Lt.test(c)?c.replace(st,Pj):c}var sG=wl(function(c,f,v){return c+(v?" ":"")+f.toUpperCase()}),fw=p9("toUpperCase");function f_(c,f,v){return c=wr(c),f=v?t:f,f===t?Tj(c)?$j(c):vj(c):c.match(f)||[]}var d_=Zt(function(c,f){try{return Fn(c,t,f)}catch(v){return cw(v)?v:new kt(v)}}),oG=no(function(c,f){return Li(f,function(v){v=Os(v),to(c,v,ow(c[v],c))}),c});function aG(c){var f=c==null?0:c.length,v=ut();return c=f?Pr(c,function(P){if(typeof P[1]!="function")throw new Ui(o);return[v(P[0]),P[1]]}):[],Zt(function(P){for(var j=-1;++jI)return[];var v=E,P=Mn(c,E);f=ut(f),c-=E;for(var j=_b(P,f);++v0||f<0)?new Xt(v):(c<0?v=v.takeRight(-c):c&&(v=v.drop(c)),f!==t&&(f=Ot(f),v=f<0?v.dropRight(-f):v.take(f-c)),v)},Xt.prototype.takeRightWhile=function(c){return this.reverse().takeWhile(c).reverse()},Xt.prototype.toArray=function(){return this.take(E)},Ns(Xt.prototype,function(c,f){var v=/^(?:filter|find|map|reject)|While$/.test(f),P=/^(?:head|last)$/.test(f),j=Z[P?"take"+(f=="last"?"Right":""):f],ee=P||/^find/.test(f);j&&(Z.prototype[f]=function(){var ne=this.__wrapped__,ae=P?[1]:arguments,fe=ne instanceof Xt,Ae=ae[0],Ce=fe||Mt(ne),Te=function(Qt){var rr=j.apply(Z,Qo([Qt],ae));return P&&$e?rr[0]:rr};Ce&&v&&typeof Ae=="function"&&Ae.length!=1&&(fe=Ce=!1);var $e=this.__chain__,Qe=!!this.__actions__.length,mt=ee&&!$e,jt=fe&&!Qe;if(!ee&&Ce){ne=jt?ne:new Xt(this);var bt=c.apply(ne,ae);return bt.__actions__.push({func:lp,args:[Te],thisArg:t}),new Fi(bt,$e)}return mt&&jt?c.apply(this,ae):(bt=this.thru(Te),mt?P?bt.value()[0]:bt.value():bt)})}),Li(["pop","push","shift","sort","splice","unshift"],function(c){var f=D0[c],v=/^(?:push|sort|unshift)$/.test(c)?"tap":"thru",P=/^(?:pop|shift)$/.test(c);Z.prototype[c]=function(){var j=arguments;if(P&&!this.__chain__){var ee=this.value();return f.apply(Mt(ee)?ee:[],j)}return this[v](function(ne){return f.apply(Mt(ne)?ne:[],j)})}}),Ns(Xt.prototype,function(c,f){var v=Z[f];if(v){var P=v.name+"";vr.call(gl,P)||(gl[P]=[]),gl[P].push({name:f,func:v})}}),gl[rp(t,k).name]=[{name:"wrapper",func:t}],Xt.prototype.clone=iz,Xt.prototype.reverse=sz,Xt.prototype.value=oz,Z.prototype.at=Dq,Z.prototype.chain=$q,Z.prototype.commit=Bq,Z.prototype.next=Lq,Z.prototype.plant=Fq,Z.prototype.reverse=jq,Z.prototype.toJSON=Z.prototype.valueOf=Z.prototype.value=zq,Z.prototype.first=Z.prototype.head,vh&&(Z.prototype[vh]=Uq),Z},fl=Bj();si?((si.exports=fl)._=fl,Vn._=fl):Sr._=fl}).call(i8)})(xB,xB.exports);var yBe=Object.defineProperty,xBe=Object.defineProperties,_Be=Object.getOwnPropertyDescriptors,Vce=Object.getOwnPropertySymbols,EBe=Object.prototype.hasOwnProperty,ABe=Object.prototype.propertyIsEnumerable,Gce=(r,e,t)=>e in r?yBe(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,MS=(r,e)=>{for(var t in e||(e={}))EBe.call(e,t)&&Gce(r,t,e[t]);if(Vce)for(var t of Vce(e))ABe.call(e,t)&&Gce(r,t,e[t]);return r},CBe=(r,e)=>xBe(r,_Be(e));function g1(r,e,t){var n;const i=aMe(r);return((n=e.rpcMap)==null?void 0:n[i.reference])||`${vBe}?chainId=${i.namespace}:${i.reference}&projectId=${t}`}function Lm(r){return r.includes(":")?r.split(":")[1]:r}function Kce(r){return r.map(e=>`${e.split(":")[0]}:${e.split(":")[1]}`)}function SBe(r,e){const t=Object.keys(e.namespaces).filter(i=>i.includes(r));if(!t.length)return[];const n=[];return t.forEach(i=>{const s=e.namespaces[i].accounts;n.push(...s)}),n}function Zce(r={},e={}){const t=Jce(r),n=Jce(e);return xB.exports.merge(t,n)}function Jce(r){var e,t,n,i;const s={};if(!W6(r))return s;for(const[o,a]of Object.entries(r)){const l=J$(o)?[o]:a.chains,u=a.methods||[],h=a.events||[],p=a.rpcMap||{},g=q6(o);s[g]=CBe(MS(MS({},s[g]),a),{chains:K$(l,(e=s[g])==null?void 0:e.chains),methods:K$(u,(t=s[g])==null?void 0:t.methods),events:K$(h,(n=s[g])==null?void 0:n.events),rpcMap:MS(MS({},p),(i=s[g])==null?void 0:i.rpcMap)})}return s}function IBe(r){return r.includes(":")?r.split(":")[2]:r}function TBe(r){const e={};for(const[t,n]of Object.entries(r)){const i=n.methods||[],s=n.events||[],o=n.accounts||[],a=J$(t)?[t]:n.chains?n.chains:Kce(n.accounts);e[t]={chains:a,methods:i,events:s,accounts:o}}return e}function _B(r){return typeof r=="number"?r:r.includes("0x")?parseInt(r,16):(r=r.includes(":")?r.split(":")[1]:r,isNaN(Number(r))?r:Number(r))}const Yce={},Ki=r=>Yce[r],EB=(r,e)=>{Yce[r]=e};let RBe=class{constructor(e){this.name="polkadot",this.namespace=e.namespace,this.events=Ki("events"),this.client=Ki("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;const e=this.namespace.chains[0];if(!e)throw new 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(Zd.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getAccounts(){const e=this.namespace.accounts;return e?e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2])||[]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var n;const i=Lm(t);e[i]=this.createHttpProvider(i,(n=this.namespace.rpcMap)==null?void 0:n[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){const n=t||g1(e,this.namespace,this.client.core.projectId);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new _o(new ma(n,Ki("disableProviderPing")))}},kBe=class{constructor(e){this.name="eip155",this.namespace=e.namespace,this.events=Ki("events"),this.client=Ki("client"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(e){switch(e.request.method){case"eth_requestAccounts":return this.getAccounts();case"eth_accounts":return this.getAccounts();case"wallet_switchEthereumChain":return await this.handleSwitchChain(e);case"eth_chainId":return parseInt(this.getDefaultChain())}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(Zd.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}createHttpProvider(e,t){const n=t||g1(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new _o(new ma(n,Ki("disableProviderPing")))}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var n;const i=parseInt(Lm(t));e[i]=this.createHttpProvider(i,(n=this.namespace.rpcMap)==null?void 0:n[t])}),e}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}getHttpProvider(){const e=this.chainId,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}async handleSwitchChain(e){var t,n;let i=e.request.params?(t=e.request.params[0])==null?void 0:t.chainId:"0x0";i=i.startsWith("0x")?i:`0x${i}`;const s=parseInt(i,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:i}]},chainId:(n=this.namespace.chains)==null?void 0:n[0]}),this.setDefaultChain(`${s}`);else throw new 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}`)}},MBe=class{constructor(e){this.name="solana",this.namespace=e.namespace,this.events=Ki("events"),this.client=Ki("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(Zd.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var n;const i=Lm(t);e[i]=this.createHttpProvider(i,(n=this.namespace.rpcMap)==null?void 0:n[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){const n=t||g1(e,this.namespace,this.client.core.projectId);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new _o(new ma(n,Ki("disableProviderPing")))}},NBe=class{constructor(e){this.name="cosmos",this.namespace=e.namespace,this.events=Ki("events"),this.client=Ki("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;const e=this.namespace.chains[0];if(!e)throw new 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(Zd.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var n;const i=Lm(t);e[i]=this.createHttpProvider(i,(n=this.namespace.rpcMap)==null?void 0:n[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){const n=t||g1(e,this.namespace,this.client.core.projectId);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new _o(new ma(n,Ki("disableProviderPing")))}},PBe=class{constructor(e){this.name="cip34",this.namespace=e.namespace,this.events=Ki("events"),this.client=Ki("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;const e=this.namespace.chains[0];if(!e)throw new 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(Zd.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{const n=this.getCardanoRPCUrl(t),i=Lm(t);e[i]=this.createHttpProvider(i,n)}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}getCardanoRPCUrl(e){const t=this.namespace.rpcMap;if(t)return t[e]}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){const n=t||this.getCardanoRPCUrl(e);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new _o(new ma(n,Ki("disableProviderPing")))}},OBe=class{constructor(e){this.name="elrond",this.namespace=e.namespace,this.events=Ki("events"),this.client=Ki("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(Zd.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var n;const i=Lm(t);e[i]=this.createHttpProvider(i,(n=this.namespace.rpcMap)==null?void 0:n[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){const n=t||g1(e,this.namespace,this.client.core.projectId);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new _o(new ma(n,Ki("disableProviderPing")))}},DBe=class{constructor(e){this.name="multiversx",this.namespace=e.namespace,this.events=Ki("events"),this.client=Ki("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(Zd.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var n;const i=Lm(t);e[i]=this.createHttpProvider(i,(n=this.namespace.rpcMap)==null?void 0:n[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){const n=t||g1(e,this.namespace,this.client.core.projectId);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new _o(new ma(n,Ki("disableProviderPing")))}},$Be=class{constructor(e){this.name="near",this.namespace=e.namespace,this.events=Ki("events"),this.client=Ki("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;const e=this.namespace.chains[0];if(!e)throw new 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]){const n=t||g1(`${this.name}:${e}`,this.namespace);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,n)}this.events.emit(Zd.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2])||[]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var n;e[t]=this.createHttpProvider(t,(n=this.namespace.rpcMap)==null?void 0:n[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){const n=t||g1(e,this.namespace);return typeof n>"u"?void 0:new _o(new ma(n,Ki("disableProviderPing")))}};var BBe=Object.defineProperty,LBe=Object.defineProperties,UBe=Object.getOwnPropertyDescriptors,Qce=Object.getOwnPropertySymbols,FBe=Object.prototype.hasOwnProperty,jBe=Object.prototype.propertyIsEnumerable,Xce=(r,e,t)=>e in r?BBe(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,NS=(r,e)=>{for(var t in e||(e={}))FBe.call(e,t)&&Xce(r,t,e[t]);if(Qce)for(var t of Qce(e))jBe.call(e,t)&&Xce(r,t,e[t]);return r},AB=(r,e)=>LBe(r,UBe(e));let ele=class{constructor(e){this.events=new pn,this.rpcProviders={},this.shouldAbortPairingAttempt=!1,this.maxPairingAttempts=10,this.disableProviderPing=!1,this.providerOpts=e,this.logger=typeof(e==null?void 0:e.logger)<"u"&&typeof(e==null?void 0:e.logger)!="string"?e.logger:mc(h1({level:(e==null?void 0:e.logger)||qce})),this.disableProviderPing=(e==null?void 0:e.disableProviderPing)||!1}static async init(e){const t=new ele(e);return await t.initialize(),t}async request(e,t,n){const[i,s]=this.validateChain(t);if(!this.session)throw new Error("Please call connect() before request()");return await this.getProvider(i).request({request:NS({},e),chainId:`${i}:${s}`,topic:this.session.topic,expiry:n})}sendAsync(e,t,n,i){const s=new Date().getTime();this.request(e,n,i).then(o=>t(null,d1(s,o))).catch(o=>t(o,void 0))}async enable(){if(!this.client)throw new Error("Sign Client not initialized");return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties}),await this.requestAccounts()}async disconnect(){var e;if(!this.session)throw new Error("Please call connect() before enable()");await this.client.disconnect({topic:(e=this.session)==null?void 0:e.topic,reason:Gi("USER_DISCONNECTED")}),await this.cleanup()}async connect(e){if(!this.client)throw new Error("Sign Client not initialized");if(this.setNamespaces(e),await this.cleanupPendingPairings(),!e.skipPairing)return await this.pair(e.pairingTopic)}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){this.shouldAbortPairingAttempt=!1;let t=0;do{if(this.shouldAbortPairingAttempt)throw new Error("Pairing aborted");if(t>=this.maxPairingAttempts)throw new Error("Max auto pairing attempts reached");const{uri:n,approval:i}=await this.client.connect({pairingTopic:e,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties});n&&(this.uri=n,this.events.emit("display_uri",n)),await i().then(s=>{this.session=s;const o=TBe(s.namespaces);this.namespaces=Zce(this.namespaces,o),this.persist("namespaces",this.namespaces)}).catch(s=>{if(s.message!==Bce)throw s;t++})}while(!this.session);return this.onConnect(),this.session}setDefaultChain(e,t){try{if(!this.session)return;const[n,i]=this.validateChain(e);this.getProvider(n).setDefaultChain(i,t)}catch(n){if(!/Please call connect/.test(n.message))throw n}}async cleanupPendingPairings(e={}){this.logger.info("Cleaning up inactive pairings...");const t=this.client.pairing.getAll();if(pf(t)){for(const n of t)e.deletePairings?this.client.core.expirer.set(n.topic,0):await this.client.core.relayer.subscriber.unsubscribe(n.topic);this.logger.info(`Inactive pairings cleared: ${t.length}`)}}abortPairingAttempt(){this.shouldAbortPairingAttempt=!0}async checkStorage(){if(this.namespaces=await this.getFromStore("namespaces"),this.optionalNamespaces=await this.getFromStore("optionalNamespaces")||{},this.client.session.length){const 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 Fce.init({logger:this.providerOpts.logger||qce,relayUrl:this.providerOpts.relayUrl||mBe,projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name}),this.logger.trace("SignClient Initialized")}createProviders(){if(!this.client)throw new Error("Sign Client not initialized");if(!this.session)throw new Error("Session not initialized. Please call connect() before enable()");const e=[...new Set(Object.keys(this.session.namespaces).map(t=>q6(t)))];EB("client",this.client),EB("events",this.events),EB("disableProviderPing",this.disableProviderPing),e.forEach(t=>{if(!this.session)return;const n=SBe(t,this.session),i=Kce(n),s=Zce(this.namespaces,this.optionalNamespaces),o=AB(NS({},s[t]),{accounts:n,chains:i});switch(t){case"eip155":this.rpcProviders[t]=new kBe({namespace:o});break;case"solana":this.rpcProviders[t]=new MBe({namespace:o});break;case"cosmos":this.rpcProviders[t]=new NBe({namespace:o});break;case"polkadot":this.rpcProviders[t]=new RBe({namespace:o});break;case"cip34":this.rpcProviders[t]=new PBe({namespace:o});break;case"elrond":this.rpcProviders[t]=new OBe({namespace:o});break;case"multiversx":this.rpcProviders[t]=new DBe({namespace:o});break;case"near":this.rpcProviders[t]=new $Be({namespace:o});break}})}registerEventListeners(){if(typeof this.client>"u")throw new Error("Sign Client is not initialized");this.client.on("session_ping",e=>{this.events.emit("session_ping",e)}),this.client.on("session_event",e=>{const{params:t}=e,{event:n}=t;if(n.name==="accountsChanged"){const i=n.data;i&&pf(i)&&this.events.emit("accountsChanged",i.map(IBe))}else if(n.name==="chainChanged"){const i=t.chainId,s=t.event.data,o=q6(i),a=_B(i)!==_B(s)?`${o}:${_B(s)}`:i;this.onChainChanged(a)}else this.events.emit(n.name,n.data);this.events.emit("session_event",e)}),this.client.on("session_update",({topic:e,params:t})=>{var n;const{namespaces:i}=t,s=(n=this.client)==null?void 0:n.session.get(e);this.session=AB(NS({},s),{namespaces:i}),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",AB(NS({},Gi("USER_DISCONNECTED")),{data:e.topic}))}),this.on(Zd.DEFAULT_CHAIN_CHANGED,e=>{this.onChainChanged(e,!0)})}getProvider(e){if(!this.rpcProviders[e])throw new Error(`Provider not found: ${e}`);return this.rpcProviders[e]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(e=>{var t;this.getProvider(e).updateNamespace((t=this.session)==null?void 0:t.namespaces[e])})}setNamespaces(e){const{namespaces:t,optionalNamespaces:n,sessionProperties:i}=e;t&&Object.keys(t).length&&(this.namespaces=t),n&&Object.keys(n).length&&(this.optionalNamespaces=n),this.sessionProperties=i,this.persist("namespaces",t),this.persist("optionalNamespaces",n)}validateChain(e){const[t,n]=(e==null?void 0:e.split(":"))||["",""];if(!this.namespaces||!Object.keys(this.namespaces).length)return[t,n];if(t&&!Object.keys(this.namespaces||{}).map(o=>q6(o)).includes(t))throw new Error(`Namespace '${t}' is not configured. Please call connect() first with namespace config.`);if(t&&n)return[t,n];const i=q6(Object.keys(this.namespaces)[0]),s=this.rpcProviders[i].getDefaultChain();return[i,s]}async requestAccounts(){const[e]=this.validateChain();return await this.getProvider(e).requestAccounts()}onChainChanged(e,t=!1){if(!this.namespaces)return;const[n,i]=this.validateChain(e);i&&(t||this.getProvider(n).setDefaultChain(i),this.namespaces[n]?this.namespaces[n].defaultChain=i:this.namespaces[`${n}:${i}`]?this.namespaces[`${n}:${i}`].defaultChain=i:this.namespaces[`${n}:${i}`]={defaultChain:i},this.persist("namespaces",this.namespaces),this.events.emit("chainChanged",i))}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(`${Wce}/${e}`,t)}async getFromStore(e){return await this.client.core.storage.getItem(`${Wce}/${e}`)}};const zBe=ele,HBe="wc",qBe="ethereum_provider",WBe=`${HBe}@2:${qBe}:`,VBe="https://rpc.walletconnect.com/v1/",CB=["eth_sendTransaction","personal_sign"],GBe=["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"],SB=["chainChanged","accountsChanged"],KBe=["chainChanged","accountsChanged","message","disconnect","connect"];var ZBe=Object.defineProperty,JBe=Object.defineProperties,YBe=Object.getOwnPropertyDescriptors,tle=Object.getOwnPropertySymbols,QBe=Object.prototype.hasOwnProperty,XBe=Object.prototype.propertyIsEnumerable,rle=(r,e,t)=>e in r?ZBe(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,s8=(r,e)=>{for(var t in e||(e={}))QBe.call(e,t)&&rle(r,t,e[t]);if(tle)for(var t of tle(e))XBe.call(e,t)&&rle(r,t,e[t]);return r},nle=(r,e)=>JBe(r,YBe(e));function PS(r){return Number(r[0].split(":")[1])}function IB(r){return`0x${r.toString(16)}`}function eLe(r){const{chains:e,optionalChains:t,methods:n,optionalMethods:i,events:s,optionalEvents:o,rpcMap:a}=r;if(!pf(e))throw new Error("Invalid chains");const l={chains:e,methods:n||CB,events:s||SB,rpcMap:s8({},e.length?{[PS(e)]:a[PS(e)]}:{})},u=s==null?void 0:s.filter(w=>!SB.includes(w)),h=n==null?void 0:n.filter(w=>!CB.includes(w));if(!t&&!o&&!i&&!(u!=null&&u.length)&&!(h!=null&&h.length))return{required:e.length?l:void 0};const p=(u==null?void 0:u.length)&&(h==null?void 0:h.length)||!t,g={chains:[...new Set(p?l.chains.concat(t||[]):t)],methods:[...new Set(l.methods.concat(i!=null&&i.length?i:GBe))],events:[...new Set(l.events.concat(o!=null&&o.length?o:KBe))],rpcMap:a};return{required:e.length?l:void 0,optional:t.length?g:void 0}}let ile=class{constructor(){this.events=new pn.EventEmitter,this.namespace="eip155",this.accounts=[],this.chainId=1,this.STORAGE_KEY=WBe,this.on=(e,t)=>(this.events.on(e,t),this),this.once=(e,t)=>(this.events.once(e,t),this),this.removeListener=(e,t)=>(this.events.removeListener(e,t),this),this.off=(e,t)=>(this.events.off(e,t),this),this.parseAccount=e=>this.isCompatibleChainId(e)?this.parseAccountId(e).address:e,this.signer={},this.rpc={}}static async init(e){const t=new ile;return await t.initialize(e),t}async request(e,t){return await this.signer.request(e,this.formatChainId(this.chainId),t)}sendAsync(e,t,n){this.signer.sendAsync(e,t,this.formatChainId(this.chainId),n)}get connected(){return this.signer.client?this.signer.client.core.relayer.connected:!1}get connecting(){return this.signer.client?this.signer.client.core.relayer.connecting:!1}async enable(){return this.session||await this.connect(),await this.request({method:"eth_requestAccounts"})}async connect(e){if(!this.signer.client)throw new Error("Provider not initialized. Call init() first");this.loadConnectOpts(e);const{required:t,optional:n}=eLe(this.rpc);try{const i=await new Promise(async(o,a)=>{var l;this.rpc.showQrModal&&((l=this.modal)==null||l.subscribeModal(u=>{!u.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),a(new Error("Connection request reset. Please try again.")))})),await this.signer.connect(nle(s8({namespaces:s8({},t&&{[this.namespace]:t})},n&&{optionalNamespaces:{[this.namespace]:n}}),{pairingTopic:e==null?void 0:e.pairingTopic})).then(u=>{o(u)}).catch(u=>{a(new Error(u.message))})});if(!i)return;const s=cMe(i.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:s),this.setAccounts(s),this.events.emit("connect",{chainId:IB(this.chainId)})}catch(i){throw this.signer.logger.error(i),i}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=>{const{params:t}=e,{event:n}=t;n.name==="accountsChanged"?(this.accounts=this.parseAccounts(n.data),this.events.emit("accountsChanged",this.accounts)):n.name==="chainChanged"?this.setChainId(this.formatChainId(n.data)):this.events.emit(n.name,n.data),this.events.emit("session_event",e)}),this.signer.on("chainChanged",e=>{const t=parseInt(e);this.chainId=t,this.events.emit("chainChanged",IB(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",nle(s8({},Gi("USER_DISCONNECTED")),{data:e.topic,name:"USER_DISCONNECTED"}))}),this.signer.on("display_uri",e=>{var t,n;this.rpc.showQrModal&&((t=this.modal)==null||t.closeModal(),(n=this.modal)==null||n.openModal({uri:e})),this.events.emit("display_uri",e)})}switchEthereumChain(e){this.request({method:"wallet_switchEthereumChain",params:[{chainId:e.toString(16)}]})}isCompatibleChainId(e){return typeof e=="string"?e.startsWith(`${this.namespace}:`):!1}formatChainId(e){return`${this.namespace}:${e}`}parseChainId(e){return Number(e.split(":")[1])}setChainIds(e){const t=e.filter(n=>this.isCompatibleChainId(n)).map(n=>this.parseChainId(n));t.length&&(this.chainId=t[0],this.events.emit("chainChanged",IB(this.chainId)),this.persist())}setChainId(e){if(this.isCompatibleChainId(e)){const t=this.parseChainId(e);this.chainId=t,this.switchEthereumChain(t)}}parseAccountId(e){const[t,n,i]=e.split(":");return{chainId:`${t}:${n}`,address:i}}setAccounts(e){this.accounts=e.filter(t=>this.parseChainId(this.parseAccountId(t).chainId)===this.chainId).map(t=>this.parseAccountId(t).address),this.events.emit("accountsChanged",this.accounts)}getRpcConfig(e){var t,n;const i=(t=e==null?void 0:e.chains)!=null?t:[],s=(n=e==null?void 0:e.optionalChains)!=null?n:[],o=i.concat(s);if(!o.length)throw new Error("No chains specified in either `chains` or `optionalChains`");const a=i.length?(e==null?void 0:e.methods)||CB:[],l=i.length?(e==null?void 0:e.events)||SB:[],u=(e==null?void 0:e.optionalMethods)||[],h=(e==null?void 0:e.optionalEvents)||[],p=(e==null?void 0:e.rpcMap)||this.buildRpcMap(o,e.projectId),g=(e==null?void 0:e.qrModalOptions)||void 0;return{chains:i==null?void 0:i.map(w=>this.formatChainId(w)),optionalChains:s.map(w=>this.formatChainId(w)),methods:a,events:l,optionalMethods:u,optionalEvents:h,rpcMap:p,showQrModal:!!(e!=null&&e.showQrModal),qrModalOptions:g,projectId:e.projectId,metadata:e.metadata}}buildRpcMap(e,t){const n={};return e.forEach(i=>{n[i]=this.getRpcUrl(i,t)}),n}async initialize(e){if(this.rpc=this.getRpcConfig(e),this.chainId=this.rpc.chains.length?PS(this.rpc.chains):PS(this.rpc.optionalChains),this.signer=await zBe.init({projectId:this.rpc.projectId,metadata:this.rpc.metadata,disableProviderPing:e.disableProviderPing,relayUrl:e.relayUrl,storageOptions:e.storageOptions}),this.registerEventListeners(),await this.loadPersistedSession(),this.rpc.showQrModal){let t;try{const{WalletConnectModal:n}=await Promise.resolve().then(()=>c1e);t=n}catch{throw new Error("To use QR modal, please install @walletconnect/modal package")}if(t)try{this.modal=new t(s8({projectId:this.rpc.projectId},this.rpc.qrModalOptions))}catch(n){throw this.signer.logger.error(n),new Error("Could not generate WalletConnectModal Instance")}}}loadConnectOpts(e){if(!e)return;const{chains:t,optionalChains:n,rpcMap:i}=e;t&&pf(t)&&(this.rpc.chains=t.map(s=>this.formatChainId(s)),t.forEach(s=>{this.rpc.rpcMap[s]=(i==null?void 0:i[s])||this.getRpcUrl(s)})),n&&pf(n)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=n==null?void 0:n.map(s=>this.formatChainId(s)),n.forEach(s=>{this.rpc.rpcMap[s]=(i==null?void 0:i[s])||this.getRpcUrl(s)}))}getRpcUrl(e,t){var n;return((n=this.rpc.rpcMap)==null?void 0:n[e])||`${VBe}?chainId=eip155:${e}&projectId=${t||this.rpc.projectId}`}async loadPersistedSession(){if(!this.session)return;const 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==null?void 0:t.accounts),this.setAccounts(t==null?void 0:t.accounts)}reset(){this.chainId=1,this.accounts=[]}persist(){this.session&&this.signer.client.core.storage.setItem(`${this.STORAGE_KEY}/chainId`,this.chainId)}parseAccounts(e){return typeof e=="string"||e instanceof String?[this.parseAccount(e)]:e.map(t=>this.parseAccount(t))}};const En={WALLET_ID:"@w3m/wallet_id",ERROR_CODE_UNRECOGNIZED_CHAIN_ID:4902,ERROR_CODE_DEFAULT:5e3},Eo={getCaipDefaultChain(r){if(r)return{id:`${Jt.EIP155}:${r.chainId}`,name:r.name,imageId:fa.EIP155NetworkImageIds[r.chainId]}},hexStringToNumber(r){const e=r.startsWith("0x")?r.slice(2):r;return parseInt(e,16)},numberToHexString(r){return`0x${r.toString(16)}`},async getUserInfo(r){const[e,t]=await Promise.all([Eo.getAddress(r),Eo.getChainId(r)]);return{chainId:t,address:e}},async getChainId(r){const e=await r.request({method:"eth_chainId"});return Number(e)},async getAddress(r){const[e]=await r.request({method:"eth_accounts"});return e},async addEthereumChain(r,e){await r.request({method:"wallet_addEthereumChain",params:[{chainId:Eo.numberToHexString(e.chainId),rpcUrls:[e.rpcUrl],chainName:e.name,nativeCurrency:{name:e.currency,decimals:18,symbol:e.currency},blockExplorerUrls:[e.explorerUrl],iconUrls:[fa.EIP155NetworkImageIds[e.chainId]]}]})}},Ao=vi({provider:void 0,providerType:void 0,address:void 0,chainId:void 0,isConnected:!1}),Et={state:Ao,subscribeKey(r,e){return Ra(Ao,r,e)},subscribe(r){return hs(Ao,()=>r(Ao))},setProvider(r){r&&(Ao.provider=Lp(r))},setProviderType(r){Ao.providerType=r},setAddress(r){Ao.address=r},setPreferredAccountType(r){Ao.preferredAccountType=r},setChainId(r){Ao.chainId=r},setIsConnected(r){Ao.isConnected=r},setError(r){Ao.error=r},reset(){Ao.provider=void 0,Ao.address=void 0,Ao.chainId=void 0,Ao.providerType=void 0,Ao.isConnected=!1,Ao.error=void 0,Ao.preferredAccountType=void 0}};let tLe=class extends WSe{constructor(e){const{ethersConfig:t,siweConfig:n,chains:i,defaultChain:s,tokens:o,chainImages:a,_sdkVersion:l,...u}=e;if(!t)throw new Error("web3modal:constructor - ethersConfig is undefined");if(!u.projectId)throw new Error("web3modal:constructor - projectId is undefined");const h={switchCaipNetwork:async g=>{const w=vv.caipNetworkIdToNumber(g==null?void 0:g.id);if(w)try{Et.setError(void 0),await this.switchNetwork(w)}catch(y){throw Et.setError(y),new Error("networkControllerClient:switchCaipNetwork - unable to switch chain")}},getApprovedCaipNetworksData:async()=>new Promise(async g=>{var y,C,T,k;const w=localStorage.getItem(En.WALLET_ID);if(w!=null&&w.includes(Jt.WALLET_CONNECT_CONNECTOR_ID)){const N=await this.getWalletConnectProvider();if(!N)throw new Error("networkControllerClient:getApprovedCaipNetworks - connector is undefined");const O=(C=(y=N.signer)==null?void 0:y.session)==null?void 0:C.namespaces,B=(T=O==null?void 0:O[Jt.EIP155])==null?void 0:T.methods,z=(k=O==null?void 0:O[Jt.EIP155])==null?void 0:k.chains,G={supportsAllNetworks:(B==null?void 0:B.includes(Jt.ADD_CHAIN_METHOD))??!1,approvedCaipNetworkIds:z};g(G)}else g({approvedCaipNetworkIds:void 0,supportsAllNetworks:!0})})},p={connectWalletConnect:async g=>{const w=await this.getWalletConnectProvider();if(!w)throw new Error("connectionControllerClient:getWalletConnectUri - provider is undefined");w.on("display_uri",y=>{g(y)}),await w.connect(),await this.setWalletConnectProvider()},connectExternal:async({id:g,info:w,provider:y})=>{if(g===Jt.INJECTED_CONNECTOR_ID){const C=t.injected;if(!C)throw new Error("connectionControllerClient:connectInjected - provider is undefined");try{Et.setError(void 0),await C.request({method:"eth_requestAccounts"}),this.setInjectedProvider(t)}catch(T){Et.setError(T)}}else if(g===Jt.EIP6963_CONNECTOR_ID&&w&&y)try{Et.setError(void 0),await y.request({method:"eth_requestAccounts"}),this.setEIP6963Provider(y,w.name)}catch(C){Et.setError(C)}else if(g===Jt.COINBASE_CONNECTOR_ID){const C=t.coinbase;if(!C)throw new Error("connectionControllerClient:connectCoinbase - connector is undefined");try{Et.setError(void 0),await C.request({method:"eth_requestAccounts"}),this.setCoinbaseProvider(t)}catch(T){Et.setError(T)}}else g===Jt.EMAIL_CONNECTOR_ID&&this.setEmailProvider()},checkInstalled(g){return g?t.injected&&!(window!=null&&window.ethereum)?!1:g.some(w=>{var y;return Boolean((y=window.ethereum)==null?void 0:y[String(w)])}):Boolean(window.ethereum)},disconnect:async()=>{var y;const g=Et.state.provider,w=Et.state.providerType;localStorage.removeItem(En.WALLET_ID),Et.reset(),w===Jt.WALLET_CONNECT_CONNECTOR_ID?await g.disconnect():w!==Jt.EMAIL_CONNECTOR_ID?g==null||g.emit("disconnect"):await((y=this.emailProvider)==null?void 0:y.disconnect())},signMessage:async g=>{const w=Et.state.provider;if(!w)throw new Error("connectionControllerClient:signMessage - provider is undefined");return await w.request({method:"personal_sign",params:[g,this.getAddress()]})},parseUnits:(g,w)=>AE(g,w),formatUnits:(g,w)=>EE(g,w),async estimateGas(g){const w=Et.state.chainId,y=Et.state.provider,C=Et.state.address;if(!y)throw new Error("connectionControllerClient:sendTransaction - provider is undefined");if(!C)throw new Error("connectionControllerClient:sendTransaction - address is undefined");const T={from:g.address,to:g.to,data:g.data,type:0},k=new wA(y,w);return await new Pg(k,C).estimateGas(T)},sendTransaction:async g=>{const w=Et.state.chainId,y=Et.state.provider,C=Et.state.address;if(!y)throw new Error("connectionControllerClient:sendTransaction - provider is undefined");if(!C)throw new Error("connectionControllerClient:sendTransaction - address is undefined");const T={to:g.to,value:g.value,gasLimit:g.gas,gasPrice:g.gasPrice,data:g.data,type:0},k=new wA(y,w),B=await(await new Pg(k,C).sendTransaction(T)).wait();return(B==null?void 0:B.hash)||null}};super({networkControllerClient:h,connectionControllerClient:p,siweControllerClient:n,defaultChain:Eo.getCaipDefaultChain(s),tokens:ICe.getCaipTokens(o),_sdkVersion:l??`html-ethers-${Jt.VERSION}`,...u}),this.hasSyncedConnectedAccount=!1,this.EIP6963Providers=[],this.options=void 0,this.options=e,this.metadata=t.metadata,this.projectId=u.projectId,this.chains=i,this.createProvider(),Et.subscribeKey("address",()=>{this.syncAccount()}),Et.subscribeKey("chainId",()=>{this.syncNetwork(a)}),this.syncRequestedNetworks(i,a),this.syncConnectors(t),t.EIP6963&&typeof window<"u"&&(this.listenConnectors(t.EIP6963),this.checkActive6963Provider()),t.email&&this.syncEmailConnector(u.projectId),t.injected&&this.checkActiveInjectedProvider(t),t.coinbase&&this.checkActiveCoinbaseProvider(t)}getState(){const e=super.getState();return{...e,selectedNetworkId:vv.caipNetworkIdToNumber(e.selectedNetworkId)}}subscribeState(e){return super.subscribeState(t=>e({...t,selectedNetworkId:vv.caipNetworkIdToNumber(t.selectedNetworkId)}))}setAddress(e){const t=e?zr(e):void 0;Et.setAddress(t)}getAddress(){const{address:e}=Et.state;return e?zr(e):void 0}getError(){return Et.state.error}getChainId(){return Et.state.chainId}getIsConnected(){return Et.state.isConnected}getWalletProvider(){return Et.state.provider}getWalletProviderType(){return Et.state.providerType}subscribeProvider(e){return Et.subscribe(e)}async disconnect(){const{provider:e,providerType:t}=Et.state;if(localStorage.removeItem(En.WALLET_ID),Et.reset(),t==="injected"||t==="eip6963")e==null||e.emit("disconnect");else{const n=e;if(n)try{Et.setError(void 0),await n.disconnect()}catch(i){Et.setError(i)}}}createProvider(){return!this.walletConnectProviderInitPromise&&typeof window<"u"&&(this.walletConnectProviderInitPromise=this.initWalletConnectProvider()),this.walletConnectProviderInitPromise}async initWalletConnectProvider(){const e={projectId:this.projectId,showQrModal:!1,rpcMap:this.chains?this.chains.reduce((t,n)=>(t[n.chainId]=n.rpcUrl,t),{}):{},optionalChains:[...this.chains.map(t=>t.chainId)],metadata:{name:this.metadata?this.metadata.name:"",description:this.metadata?this.metadata.description:"",url:this.metadata?this.metadata.url:"",icons:this.metadata?this.metadata.icons:[""]}};this.walletConnectProvider=await ile.init(e),await this.checkActiveWalletConnectProvider()}async getWalletConnectProvider(){if(!this.walletConnectProvider)try{Et.setError(void 0),await this.createProvider()}catch(e){Et.setError(e)}return this.walletConnectProvider}syncRequestedNetworks(e,t){const n=e==null?void 0:e.map(i=>({id:`${Jt.EIP155}:${i.chainId}`,name:i.name,imageId:fa.EIP155NetworkImageIds[i.chainId],imageUrl:t==null?void 0:t[i.chainId]}));this.setRequestedCaipNetworks(n??[])}async checkActiveWalletConnectProvider(){const e=await this.getWalletConnectProvider(),t=localStorage.getItem(En.WALLET_ID);e&&t===Jt.WALLET_CONNECT_CONNECTOR_ID&&await this.setWalletConnectProvider()}checkActiveInjectedProvider(e){const t=e.injected,n=localStorage.getItem(En.WALLET_ID);t&&n===Jt.INJECTED_CONNECTOR_ID&&(this.setInjectedProvider(e),this.watchInjected(e))}checkActiveCoinbaseProvider(e){var i;const t=e.coinbase,n=localStorage.getItem(En.WALLET_ID);t&&n===Jt.COINBASE_CONNECTOR_ID&&(t._addresses&&((i=t._addresses)==null?void 0:i.length)>0?(this.setCoinbaseProvider(e),this.watchCoinbase(e)):(localStorage.removeItem(En.WALLET_ID),Et.reset()))}checkActive6963Provider(){const e=window==null?void 0:window.localStorage.getItem(En.WALLET_ID);if(e){const t=this.EIP6963Providers.find(n=>n.info.name===e);t&&this.setEIP6963Provider(t.provider,t.info.name)}}async setWalletConnectProvider(){var t;window==null||window.localStorage.setItem(En.WALLET_ID,Jt.WALLET_CONNECT_CONNECTOR_ID);const e=await this.getWalletConnectProvider();e&&(Et.setChainId(e.chainId),Et.setProviderType("walletConnect"),Et.setProvider(e),Et.setIsConnected(!0),this.setAddress((t=e.accounts)==null?void 0:t[0]),this.watchWalletConnect())}async setInjectedProvider(e){window==null||window.localStorage.setItem(En.WALLET_ID,Jt.INJECTED_CONNECTOR_ID);const t=e.injected;if(t){const{address:n,chainId:i}=await Eo.getUserInfo(t);n&&i&&(Et.setChainId(i),Et.setProviderType("injected"),Et.setProvider(e.injected),Et.setIsConnected(!0),this.setAddress(n),this.watchCoinbase(e))}}async setEIP6963Provider(e,t){if(window==null||window.localStorage.setItem(En.WALLET_ID,t),e){const{address:n,chainId:i}=await Eo.getUserInfo(e);n&&i&&(Et.setChainId(i),Et.setProviderType("eip6963"),Et.setProvider(e),Et.setIsConnected(!0),this.setAddress(n),this.watchEIP6963(e))}}async setCoinbaseProvider(e){window==null||window.localStorage.setItem(En.WALLET_ID,Jt.COINBASE_CONNECTOR_ID);const t=e.coinbase;if(t){const{address:n,chainId:i}=await Eo.getUserInfo(t);n&&i&&(Et.setChainId(i),Et.setProviderType("coinbaseWallet"),Et.setProvider(e.coinbase),Et.setIsConnected(!0),this.setAddress(n),this.watchCoinbase(e))}}async setEmailProvider(){if(window==null||window.localStorage.setItem(En.WALLET_ID,Jt.EMAIL_CONNECTOR_ID),this.emailProvider){const{address:e,chainId:t,smartAccountDeployed:n,preferredAccountType:i}=await this.emailProvider.connect({chainId:this.getChainId()}),{smartAccountEnabledNetworks:s}=await this.emailProvider.getSmartAccountEnabledNetworks();this.setSmartAccountEnabledNetworks(s),e&&t&&(Et.setChainId(t),Et.setProviderType(Jt.EMAIL_CONNECTOR_ID),Et.setProvider(this.emailProvider),Et.setIsConnected(!0),Et.setAddress(e),Et.setPreferredAccountType(i),this.setSmartAccountDeployed(Boolean(n)),this.watchEmail(),this.watchModal()),super.setLoading(!1)}}async watchWalletConnect(){const e=await this.getWalletConnectProvider();function t(){localStorage.removeItem(En.WALLET_ID),Et.reset(),e==null||e.removeListener("disconnect",t),e==null||e.removeListener("accountsChanged",i),e==null||e.removeListener("chainChanged",n)}function n(s){if(s){const o=Eo.hexStringToNumber(s);Et.setChainId(o)}}const i=async s=>{s.length>0&&await this.setWalletConnectProvider()};e&&(e.on("disconnect",t),e.on("accountsChanged",i),e.on("chainChanged",n))}watchInjected(e){const t=e.injected;function n(){localStorage.removeItem(En.WALLET_ID),Et.reset(),t==null||t.removeListener("disconnect",n),t==null||t.removeListener("accountsChanged",i),t==null||t.removeListener("chainChanged",s)}function i(o){const a=o==null?void 0:o[0];a?Et.setAddress(zr(a)):(localStorage.removeItem(En.WALLET_ID),Et.reset())}function s(o){if(o){const a=typeof o=="string"?Eo.hexStringToNumber(o):Number(o);Et.setChainId(a)}}t&&(t.on("disconnect",n),t.on("accountsChanged",i),t.on("chainChanged",s))}watchEIP6963(e){function t(){localStorage.removeItem(En.WALLET_ID),Et.reset(),e.removeListener("disconnect",t),e.removeListener("accountsChanged",n),e.removeListener("chainChanged",i)}function n(s){const o=s==null?void 0:s[0];o?Et.setAddress(zr(o)):(localStorage.removeItem(En.WALLET_ID),Et.reset())}function i(s){if(s){const o=typeof s=="string"?Eo.hexStringToNumber(s):Number(s);Et.setChainId(o)}}e&&(e.on("disconnect",t),e.on("accountsChanged",n),e.on("chainChanged",i))}watchCoinbase(e){const t=e.coinbase,n=localStorage.getItem(En.WALLET_ID);function i(){localStorage.removeItem(En.WALLET_ID),Et.reset(),t==null||t.removeListener("disconnect",i),t==null||t.removeListener("accountsChanged",s),t==null||t.removeListener("chainChanged",o)}function s(a){const l=a==null?void 0:a[0];l?Et.setAddress(zr(l)):(localStorage.removeItem(En.WALLET_ID),Et.reset())}function o(a){if(a&&n===Jt.COINBASE_CONNECTOR_ID){const l=Number(a);Et.setChainId(l)}}t&&(t.on("disconnect",i),t.on("accountsChanged",s),t.on("chainChanged",o))}watchEmail(){this.emailProvider&&(this.emailProvider.onRpcRequest(e=>{if(go.checkIfRequestExists(e))go.checkIfRequestIsAllowed(e)||(super.isOpen()?super.isTransactionStackEmpty()||super.redirect("ApproveTransaction"):super.open({view:"ApproveTransaction"}));else{super.open();const t=go.getRequestMethod(e);console.error(Oa.RPC_METHOD_NOT_ALLOWED_MESSAGE,{method:t}),setTimeout(()=>{this.showErrorMessage(Oa.RPC_METHOD_NOT_ALLOWED_UI_MESSAGE)},300)}}),this.emailProvider.onRpcResponse(e=>{switch(go.getResponseType(e)){case Pt.RPC_RESPONSE_TYPE_ERROR:{super.isOpen()&&(super.isTransactionStackEmpty()?super.close():super.popTransactionStack(!0));break}case Pt.RPC_RESPONSE_TYPE_TX:{super.isTransactionStackEmpty()?super.close():super.popTransactionStack();break}}}),this.emailProvider.onNotConnected(()=>{this.setIsConnected(!1),super.setLoading(!1)}),this.emailProvider.onIsConnected(({preferredAccountType:e})=>{this.setIsConnected(!0),super.setLoading(!1),Et.setPreferredAccountType(e)}),this.emailProvider.onSetPreferredAccount(({address:e,type:t})=>{var i;if(!e)return;const n=vv.caipNetworkIdToNumber((i=this.getCaipNetwork())==null?void 0:i.id);Et.setAddress(e),Et.setChainId(n),Et.setIsConnected(!0),Et.setPreferredAccountType(t),this.syncAccount()}))}watchModal(){this.emailProvider&&this.subscribeState(e=>{var t;e.open||(t=this.emailProvider)==null||t.rejectRpcRequest()})}async syncAccount(){const e=Et.state.address,t=Et.state.chainId,n=Et.state.isConnected,i=Et.state.preferredAccountType;if(this.resetAccount(),n&&e&&t){const s=`${Jt.EIP155}:${t}:${e}`;this.setIsConnected(n),this.setPreferredAccountType(i),this.setCaipAddress(s),this.syncConnectedWalletInfo(),await Promise.all([this.syncProfile(e),this.syncBalance(e),this.getApprovedCaipNetworksData()]),this.hasSyncedConnectedAccount=!0}else!n&&this.hasSyncedConnectedAccount&&(this.resetWcConnection(),this.resetNetwork())}async syncNetwork(e){const t=Et.state.address,n=Et.state.chainId,i=Et.state.isConnected;if(this.chains){const s=this.chains.find(o=>o.chainId===n);if(s){const o=`${Jt.EIP155}:${s.chainId}`;if(this.setCaipNetwork({id:o,name:s.name,imageId:fa.EIP155NetworkImageIds[s.chainId],imageUrl:e==null?void 0:e[s.chainId]}),i&&t){const a=`${Jt.EIP155}:${n}:${t}`;if(this.setCaipAddress(a),s.explorerUrl){const l=`${s.explorerUrl}/address/${t}`;this.setAddressExplorerUrl(l)}else this.setAddressExplorerUrl(void 0);this.hasSyncedConnectedAccount&&(await this.syncProfile(t),await this.syncBalance(t))}}else i&&this.setCaipNetwork({id:`${Jt.EIP155}:${n}`})}}async syncProfile(e){const t=Et.state.chainId;try{const{name:n,avatar:i}=await this.fetchIdentity({address:e});this.setProfileName(n),this.setProfileImage(i)}catch{if(t===1){const n=new Pp("mainnet"),i=await n.lookupAddress(e),s=await n.getAvatar(e);i&&this.setProfileName(i),s&&this.setProfileImage(s)}else this.setProfileName(null),this.setProfileImage(null)}}async syncBalance(e){const t=Et.state.chainId;if(t&&this.chains){const n=this.chains.find(i=>i.chainId===t);if(n){const i=new $l(n.rpcUrl,{chainId:t,name:n.name});if(i){const s=await i.getBalance(e),o=fk(s);this.setBalance(o,n.currency)}}}}syncConnectedWalletInfo(){var n;const e=window==null?void 0:window.localStorage.getItem(En.WALLET_ID),t=Et.state.providerType;if(t===Jt.EIP6963_CONNECTOR_ID){if(e){const i=this.EIP6963Providers.find(s=>s.info.name===e);i&&this.setConnectedWalletInfo({...i.info})}}else if(t===Jt.WALLET_CONNECT_CONNECTOR_ID){const i=Et.state.provider;i.session&&this.setConnectedWalletInfo({...i.session.peer.metadata,name:i.session.peer.metadata.name,icon:(n=i.session.peer.metadata.icons)==null?void 0:n[0]})}else e&&this.setConnectedWalletInfo({name:e})}async switchNetwork(e){var i,s,o,a,l,u,h,p;const t=Et.state.provider,n=Et.state.providerType;if(this.chains){const g=this.chains.find(w=>w.chainId===e);if(n===Jt.WALLET_CONNECT_CONNECTOR_ID&&g){const w=t;if(w)try{await w.request({method:"wallet_switchEthereumChain",params:[{chainId:Eo.numberToHexString(g.chainId)}]}),Et.setChainId(e)}catch(y){if(y.code===En.ERROR_CODE_UNRECOGNIZED_CHAIN_ID||y.code===En.ERROR_CODE_DEFAULT||((s=(i=y==null?void 0:y.data)==null?void 0:i.originalError)==null?void 0:s.code)===En.ERROR_CODE_UNRECOGNIZED_CHAIN_ID)await Eo.addEthereumChain(w,g);else throw new Error("Chain is not supported")}}else if(n===Jt.INJECTED_CONNECTOR_ID&&g){const w=t;if(w)try{await w.request({method:"wallet_switchEthereumChain",params:[{chainId:Eo.numberToHexString(g.chainId)}]}),Et.setChainId(g.chainId)}catch(y){if(y.code===En.ERROR_CODE_UNRECOGNIZED_CHAIN_ID||y.code===En.ERROR_CODE_DEFAULT||((a=(o=y==null?void 0:y.data)==null?void 0:o.originalError)==null?void 0:a.code)===En.ERROR_CODE_UNRECOGNIZED_CHAIN_ID)await Eo.addEthereumChain(w,g);else throw new Error("Chain is not supported")}}else if(n===Jt.EIP6963_CONNECTOR_ID&&g){const w=t;if(w)try{await w.request({method:"wallet_switchEthereumChain",params:[{chainId:Eo.numberToHexString(g.chainId)}]}),Et.setChainId(g.chainId)}catch(y){if(y.code===En.ERROR_CODE_UNRECOGNIZED_CHAIN_ID||y.code===En.ERROR_CODE_DEFAULT||((u=(l=y==null?void 0:y.data)==null?void 0:l.originalError)==null?void 0:u.code)===En.ERROR_CODE_UNRECOGNIZED_CHAIN_ID)await Eo.addEthereumChain(w,g);else throw new Error("Chain is not supported")}}else if(n===Jt.COINBASE_CONNECTOR_ID&&g){const w=t;if(w)try{await w.request({method:"wallet_switchEthereumChain",params:[{chainId:Eo.numberToHexString(g.chainId)}]}),Et.setChainId(g.chainId)}catch(y){(y.code===En.ERROR_CODE_UNRECOGNIZED_CHAIN_ID||y.code===En.ERROR_CODE_DEFAULT||((p=(h=y==null?void 0:y.data)==null?void 0:h.originalError)==null?void 0:p.code)===En.ERROR_CODE_UNRECOGNIZED_CHAIN_ID)&&await Eo.addEthereumChain(w,g)}}else if(n===Jt.EMAIL_CONNECTOR_ID&&this.emailProvider&&g!=null&&g.chainId)try{await this.emailProvider.switchNetwork(g==null?void 0:g.chainId),Et.setChainId(g.chainId);const{address:w,preferredAccountType:y}=await this.emailProvider.connect({chainId:g==null?void 0:g.chainId});Et.setAddress(w),Et.setPreferredAccountType(y),await this.syncAccount()}catch{throw new Error("Switching chain failed")}}}syncConnectors(e){var i,s,o,a,l,u;const t=[],n=fa.ConnectorTypesMap[Jt.WALLET_CONNECT_CONNECTOR_ID];if(t.push({id:Jt.WALLET_CONNECT_CONNECTOR_ID,explorerId:fa.ConnectorExplorerIds[Jt.WALLET_CONNECT_CONNECTOR_ID],imageId:fa.ConnectorImageIds[Jt.WALLET_CONNECT_CONNECTOR_ID],imageUrl:(s=(i=this.options)==null?void 0:i.connectorImages)==null?void 0:s[Jt.WALLET_CONNECT_CONNECTOR_ID],name:fa.ConnectorNamesMap[Jt.WALLET_CONNECT_CONNECTOR_ID],type:n}),e.injected){const h=fa.ConnectorTypesMap[Jt.INJECTED_CONNECTOR_ID];t.push({id:Jt.INJECTED_CONNECTOR_ID,explorerId:fa.ConnectorExplorerIds[Jt.INJECTED_CONNECTOR_ID],imageId:fa.ConnectorImageIds[Jt.INJECTED_CONNECTOR_ID],imageUrl:(a=(o=this.options)==null?void 0:o.connectorImages)==null?void 0:a[Jt.INJECTED_CONNECTOR_ID],name:fa.ConnectorNamesMap[Jt.INJECTED_CONNECTOR_ID],type:h})}e.coinbase&&t.push({id:Jt.COINBASE_CONNECTOR_ID,explorerId:fa.ConnectorExplorerIds[Jt.COINBASE_CONNECTOR_ID],imageId:fa.ConnectorImageIds[Jt.COINBASE_CONNECTOR_ID],imageUrl:(u=(l=this.options)==null?void 0:l.connectorImages)==null?void 0:u[Jt.COINBASE_CONNECTOR_ID],name:fa.ConnectorNamesMap[Jt.COINBASE_CONNECTOR_ID],type:"EXTERNAL"}),this.setConnectors(t)}async syncEmailConnector(e){if(typeof window<"u"){this.emailProvider=new ECe(e),this.addConnector({id:Jt.EMAIL_CONNECTOR_ID,type:"EMAIL",name:"Email",provider:this.emailProvider}),super.setLoading(!0);const t=this.emailProvider.getLoginEmailUsed();super.setLoading(t);const{isConnected:n}=await this.emailProvider.isConnected();n?await this.setEmailProvider():super.setLoading(!1)}}eip6963EventHandler(e){var t,n;if(e.detail){const{info:i,provider:s}=e.detail;if(!this.getConnectors().find(l=>l.name===i.name)){const l=fa.ConnectorTypesMap[Jt.EIP6963_CONNECTOR_ID];{this.addConnector({id:Jt.EIP6963_CONNECTOR_ID,type:l,imageUrl:i.icon??((n=(t=this.options)==null?void 0:t.connectorImages)==null?void 0:n[Jt.EIP6963_CONNECTOR_ID]),name:i.name,provider:s,info:i});const u={provider:s,info:i};this.EIP6963Providers.push(u)}}}}listenConnectors(e){if(typeof window<"u"&&e){const t=this.eip6963EventHandler.bind(this);window.addEventListener(Jt.EIP6963_ANNOUNCE_EVENT,t),window.dispatchEvent(new Event(Jt.EIP6963_REQUEST_EVENT))}}};var sle={},o8={},OS={};Object.defineProperty(OS,"__esModule",{value:!0}),OS.walletLogo=void 0;const rLe=(r,e)=>{let t;switch(r){case"standard":return t=e,`data:image/svg+xml,%3Csvg width='${e}' height='${t}' viewBox='0 0 1024 1024' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Crect width='1024' height='1024' fill='%230052FF'/%3E %3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M152 512C152 710.823 313.177 872 512 872C710.823 872 872 710.823 872 512C872 313.177 710.823 152 512 152C313.177 152 152 313.177 152 512ZM420 396C406.745 396 396 406.745 396 420V604C396 617.255 406.745 628 420 628H604C617.255 628 628 617.255 628 604V420C628 406.745 617.255 396 604 396H420Z' fill='white'/%3E %3C/svg%3E `;case"circle":return t=e,`data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='${e}' height='${t}' viewBox='0 0 999.81 999.81'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%230052fe;%7D.cls-2%7Bfill:%23fefefe;%7D.cls-3%7Bfill:%230152fe;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M655-115.9h56c.83,1.59,2.36.88,3.56,1a478,478,0,0,1,75.06,10.42C891.4-81.76,978.33-32.58,1049.19,44q116.7,126,131.94,297.61c.38,4.14-.34,8.53,1.78,12.45v59c-1.58.84-.91,2.35-1,3.56a482.05,482.05,0,0,1-10.38,74.05c-24,106.72-76.64,196.76-158.83,268.93s-178.18,112.82-287.2,122.6c-4.83.43-9.86-.25-14.51,1.77H654c-1-1.68-2.69-.91-4.06-1a496.89,496.89,0,0,1-105.9-18.59c-93.54-27.42-172.78-77.59-236.91-150.94Q199.34,590.1,184.87,426.58c-.47-5.19.25-10.56-1.77-15.59V355c1.68-1,.91-2.7,1-4.06a498.12,498.12,0,0,1,18.58-105.9c26-88.75,72.64-164.9,140.6-227.57q126-116.27,297.21-131.61C645.32-114.57,650.35-113.88,655-115.9Zm377.92,500c0-192.44-156.31-349.49-347.56-350.15-194.13-.68-350.94,155.13-352.29,347.42-1.37,194.55,155.51,352.1,348.56,352.47C876.15,734.23,1032.93,577.84,1032.93,384.11Z' transform='translate(-183.1 115.9)'/%3E%3Cpath class='cls-2' d='M1032.93,384.11c0,193.73-156.78,350.12-351.29,349.74-193-.37-349.93-157.92-348.56-352.47C334.43,189.09,491.24,33.28,685.37,34,876.62,34.62,1032.94,191.67,1032.93,384.11ZM683,496.81q43.74,0,87.48,0c15.55,0,25.32-9.72,25.33-25.21q0-87.48,0-175c0-15.83-9.68-25.46-25.59-25.46H595.77c-15.88,0-25.57,9.64-25.58,25.46q0,87.23,0,174.45c0,16.18,9.59,25.7,25.84,25.71Z' transform='translate(-183.1 115.9)'/%3E%3Cpath class='cls-3' d='M683,496.81H596c-16.25,0-25.84-9.53-25.84-25.71q0-87.23,0-174.45c0-15.82,9.7-25.46,25.58-25.46H770.22c15.91,0,25.59,9.63,25.59,25.46q0,87.47,0,175c0,15.49-9.78,25.2-25.33,25.21Q726.74,496.84,683,496.81Z' transform='translate(-183.1 115.9)'/%3E%3C/svg%3E`;case"text":return t=(.1*e).toFixed(2),`data:image/svg+xml,%3Csvg width='${e}' height='${t}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 528.15 53.64'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%230052ff;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3ECoinbase_Wordmark_SubBrands_ALL%3C/title%3E%3Cpath class='cls-1' d='M164.45,15a15,15,0,0,0-11.74,5.4V0h-8.64V52.92h8.5V48a15,15,0,0,0,11.88,5.62c10.37,0,18.21-8.21,18.21-19.3S174.67,15,164.45,15Zm-1.3,30.67c-6.19,0-10.73-4.83-10.73-11.31S157,23,163.22,23s10.66,4.82,10.66,11.37S169.34,45.65,163.15,45.65Zm83.31-14.91-6.34-.93c-3-.43-5.18-1.44-5.18-3.82,0-2.59,2.8-3.89,6.62-3.89,4.18,0,6.84,1.8,7.42,4.76h8.35c-.94-7.49-6.7-11.88-15.55-11.88-9.15,0-15.2,4.68-15.2,11.3,0,6.34,4,10,12,11.16l6.33.94c3.1.43,4.83,1.65,4.83,4,0,2.95-3,4.17-7.2,4.17-5.12,0-8-2.09-8.43-5.25h-8.49c.79,7.27,6.48,12.38,16.84,12.38,9.44,0,15.7-4.32,15.7-11.74C258.12,35.28,253.58,31.82,246.46,30.74Zm-27.65-2.3c0-8.06-4.9-13.46-15.27-13.46-9.79,0-15.26,5-16.34,12.6h8.57c.43-3,2.73-5.4,7.63-5.4,4.39,0,6.55,1.94,6.55,4.32,0,3.09-4,3.88-8.85,4.39-6.63.72-14.84,3-14.84,11.66,0,6.7,5,11,12.89,11,6.19,0,10.08-2.59,12-6.7.28,3.67,3,6.05,6.84,6.05h5v-7.7h-4.25Zm-8.5,9.36c0,5-4.32,8.64-9.57,8.64-3.24,0-6-1.37-6-4.25,0-3.67,4.39-4.68,8.42-5.11s6-1.22,7.13-2.88ZM281.09,15c-11.09,0-19.23,8.35-19.23,19.36,0,11.6,8.72,19.3,19.37,19.3,9,0,16.06-5.33,17.86-12.89h-9c-1.3,3.31-4.47,5.19-8.71,5.19-5.55,0-9.72-3.46-10.66-9.51H299.3V33.12C299.3,22.46,291.53,15,281.09,15Zm-9.87,15.26c1.37-5.18,5.26-7.7,9.72-7.7,4.9,0,8.64,2.8,9.51,7.7ZM19.3,23a9.84,9.84,0,0,1,9.5,7h9.14c-1.65-8.93-9-15-18.57-15A19,19,0,0,0,0,34.34c0,11.09,8.28,19.3,19.37,19.3,9.36,0,16.85-6,18.5-15H28.8a9.75,9.75,0,0,1-9.43,7.06c-6.27,0-10.66-4.83-10.66-11.31S13,23,19.3,23Zm41.11-8A19,19,0,0,0,41,34.34c0,11.09,8.28,19.3,19.37,19.3A19,19,0,0,0,79.92,34.27C79.92,23.33,71.64,15,60.41,15Zm.07,30.67c-6.19,0-10.73-4.83-10.73-11.31S54.22,23,60.41,23s10.8,4.89,10.8,11.37S66.67,45.65,60.48,45.65ZM123.41,15c-5.62,0-9.29,2.3-11.45,5.54V15.7h-8.57V52.92H112V32.69C112,27,115.63,23,121,23c5,0,8.06,3.53,8.06,8.64V52.92h8.64V31C137.66,21.6,132.84,15,123.41,15ZM92,.36a5.36,5.36,0,0,0-5.55,5.47,5.55,5.55,0,0,0,11.09,0A5.35,5.35,0,0,0,92,.36Zm-9.72,23h5.4V52.92h8.64V15.7h-14Zm298.17-7.7L366.2,52.92H372L375.29,44H392l3.33,8.88h6L386.87,15.7ZM377,39.23l6.45-17.56h.1l6.56,17.56ZM362.66,15.7l-7.88,29h-.11l-8.14-29H341l-8,28.93h-.1l-8-28.87H319L329.82,53h5.45l8.19-29.24h.11L352,53h5.66L368.1,15.7Zm135.25,0v4.86h12.32V52.92h5.6V20.56h12.32V15.7ZM467.82,52.92h25.54V48.06H473.43v-12h18.35V31.35H473.43V20.56h19.93V15.7H467.82ZM443,15.7h-5.6V52.92h24.32V48.06H443Zm-30.45,0h-5.61V52.92h24.32V48.06H412.52Z'/%3E%3C/svg%3E`;case"textWithLogo":return t=(.25*e).toFixed(2),`data:image/svg+xml,%3Csvg width='${e}' height='${t}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 308.44 77.61'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%230052ff;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M142.94,20.2l-7.88,29H135l-8.15-29h-5.55l-8,28.93h-.11l-8-28.87H99.27l10.84,37.27h5.44l8.2-29.24h.1l8.41,29.24h5.66L148.39,20.2Zm17.82,0L146.48,57.42h5.82l3.28-8.88h16.65l3.34,8.88h6L167.16,20.2Zm-3.44,23.52,6.45-17.55h.11l6.56,17.55ZM278.2,20.2v4.86h12.32V57.42h5.6V25.06h12.32V20.2ZM248.11,57.42h25.54V52.55H253.71V40.61h18.35V35.85H253.71V25.06h19.94V20.2H248.11ZM223.26,20.2h-5.61V57.42H242V52.55H223.26Zm-30.46,0h-5.6V57.42h24.32V52.55H192.8Zm-154,38A19.41,19.41,0,1,1,57.92,35.57H77.47a38.81,38.81,0,1,0,0,6.47H57.92A19.39,19.39,0,0,1,38.81,58.21Z'/%3E%3C/svg%3E`;case"textLight":return t=(.1*e).toFixed(2),`data:image/svg+xml,%3Csvg width='${e}' height='${t}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 528.15 53.64'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fefefe;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3ECoinbase_Wordmark_SubBrands_ALL%3C/title%3E%3Cpath class='cls-1' d='M164.45,15a15,15,0,0,0-11.74,5.4V0h-8.64V52.92h8.5V48a15,15,0,0,0,11.88,5.62c10.37,0,18.21-8.21,18.21-19.3S174.67,15,164.45,15Zm-1.3,30.67c-6.19,0-10.73-4.83-10.73-11.31S157,23,163.22,23s10.66,4.82,10.66,11.37S169.34,45.65,163.15,45.65Zm83.31-14.91-6.34-.93c-3-.43-5.18-1.44-5.18-3.82,0-2.59,2.8-3.89,6.62-3.89,4.18,0,6.84,1.8,7.42,4.76h8.35c-.94-7.49-6.7-11.88-15.55-11.88-9.15,0-15.2,4.68-15.2,11.3,0,6.34,4,10,12,11.16l6.33.94c3.1.43,4.83,1.65,4.83,4,0,2.95-3,4.17-7.2,4.17-5.12,0-8-2.09-8.43-5.25h-8.49c.79,7.27,6.48,12.38,16.84,12.38,9.44,0,15.7-4.32,15.7-11.74C258.12,35.28,253.58,31.82,246.46,30.74Zm-27.65-2.3c0-8.06-4.9-13.46-15.27-13.46-9.79,0-15.26,5-16.34,12.6h8.57c.43-3,2.73-5.4,7.63-5.4,4.39,0,6.55,1.94,6.55,4.32,0,3.09-4,3.88-8.85,4.39-6.63.72-14.84,3-14.84,11.66,0,6.7,5,11,12.89,11,6.19,0,10.08-2.59,12-6.7.28,3.67,3,6.05,6.84,6.05h5v-7.7h-4.25Zm-8.5,9.36c0,5-4.32,8.64-9.57,8.64-3.24,0-6-1.37-6-4.25,0-3.67,4.39-4.68,8.42-5.11s6-1.22,7.13-2.88ZM281.09,15c-11.09,0-19.23,8.35-19.23,19.36,0,11.6,8.72,19.3,19.37,19.3,9,0,16.06-5.33,17.86-12.89h-9c-1.3,3.31-4.47,5.19-8.71,5.19-5.55,0-9.72-3.46-10.66-9.51H299.3V33.12C299.3,22.46,291.53,15,281.09,15Zm-9.87,15.26c1.37-5.18,5.26-7.7,9.72-7.7,4.9,0,8.64,2.8,9.51,7.7ZM19.3,23a9.84,9.84,0,0,1,9.5,7h9.14c-1.65-8.93-9-15-18.57-15A19,19,0,0,0,0,34.34c0,11.09,8.28,19.3,19.37,19.3,9.36,0,16.85-6,18.5-15H28.8a9.75,9.75,0,0,1-9.43,7.06c-6.27,0-10.66-4.83-10.66-11.31S13,23,19.3,23Zm41.11-8A19,19,0,0,0,41,34.34c0,11.09,8.28,19.3,19.37,19.3A19,19,0,0,0,79.92,34.27C79.92,23.33,71.64,15,60.41,15Zm.07,30.67c-6.19,0-10.73-4.83-10.73-11.31S54.22,23,60.41,23s10.8,4.89,10.8,11.37S66.67,45.65,60.48,45.65ZM123.41,15c-5.62,0-9.29,2.3-11.45,5.54V15.7h-8.57V52.92H112V32.69C112,27,115.63,23,121,23c5,0,8.06,3.53,8.06,8.64V52.92h8.64V31C137.66,21.6,132.84,15,123.41,15ZM92,.36a5.36,5.36,0,0,0-5.55,5.47,5.55,5.55,0,0,0,11.09,0A5.35,5.35,0,0,0,92,.36Zm-9.72,23h5.4V52.92h8.64V15.7h-14Zm298.17-7.7L366.2,52.92H372L375.29,44H392l3.33,8.88h6L386.87,15.7ZM377,39.23l6.45-17.56h.1l6.56,17.56ZM362.66,15.7l-7.88,29h-.11l-8.14-29H341l-8,28.93h-.1l-8-28.87H319L329.82,53h5.45l8.19-29.24h.11L352,53h5.66L368.1,15.7Zm135.25,0v4.86h12.32V52.92h5.6V20.56h12.32V15.7ZM467.82,52.92h25.54V48.06H473.43v-12h18.35V31.35H473.43V20.56h19.93V15.7H467.82ZM443,15.7h-5.6V52.92h24.32V48.06H443Zm-30.45,0h-5.61V52.92h24.32V48.06H412.52Z'/%3E%3C/svg%3E`;case"textWithLogoLight":return t=(.25*e).toFixed(2),`data:image/svg+xml,%3Csvg width='${e}' height='${t}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 308.44 77.61'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fefefe;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M142.94,20.2l-7.88,29H135l-8.15-29h-5.55l-8,28.93h-.11l-8-28.87H99.27l10.84,37.27h5.44l8.2-29.24h.1l8.41,29.24h5.66L148.39,20.2Zm17.82,0L146.48,57.42h5.82l3.28-8.88h16.65l3.34,8.88h6L167.16,20.2Zm-3.44,23.52,6.45-17.55h.11l6.56,17.55ZM278.2,20.2v4.86h12.32V57.42h5.6V25.06h12.32V20.2ZM248.11,57.42h25.54V52.55H253.71V40.61h18.35V35.85H253.71V25.06h19.94V20.2H248.11ZM223.26,20.2h-5.61V57.42H242V52.55H223.26Zm-30.46,0h-5.6V57.42h24.32V52.55H192.8Zm-154,38A19.41,19.41,0,1,1,57.92,35.57H77.47a38.81,38.81,0,1,0,0,6.47H57.92A19.39,19.39,0,0,1,38.81,58.21Z'/%3E%3C/svg%3E`;default:return t=e,`data:image/svg+xml,%3Csvg width='${e}' height='${t}' viewBox='0 0 1024 1024' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Crect width='1024' height='1024' fill='%230052FF'/%3E %3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M152 512C152 710.823 313.177 872 512 872C710.823 872 872 710.823 872 512C872 313.177 710.823 152 512 152C313.177 152 152 313.177 152 512ZM420 396C406.745 396 396 406.745 396 420V604C396 617.255 406.745 628 420 628H604C617.255 628 628 617.255 628 604V420C628 406.745 617.255 396 604 396H420Z' fill='white'/%3E %3C/svg%3E `}};OS.walletLogo=rLe;var DS={};Object.defineProperty(DS,"__esModule",{value:!0}),DS.LINK_API_URL=void 0,DS.LINK_API_URL="https://www.walletlink.org";var mr={},wy={},nLe={get exports(){return wy},set exports(r){wy=r}};(function(r){(function(e,t){function n(b,d){if(!b)throw new Error(d||"Assertion failed")}function i(b,d){b.super_=d;var m=function(){};m.prototype=d.prototype,b.prototype=new m,b.prototype.constructor=b}function s(b,d,m){if(s.isBN(b))return b;this.negative=0,this.words=null,this.length=0,this.red=null,b!==null&&((d==="le"||d==="be")&&(m=d,d=10),this._init(b||0,d||10,m||"be"))}typeof e=="object"?e.exports=s:t.BN=s,s.BN=s,s.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=qc.Buffer}catch{}s.isBN=function(d){return d instanceof s?!0:d!==null&&typeof d=="object"&&d.constructor.wordSize===s.wordSize&&Array.isArray(d.words)},s.max=function(d,m){return d.cmp(m)>0?d:m},s.min=function(d,m){return d.cmp(m)<0?d:m},s.prototype._init=function(d,m,x){if(typeof d=="number")return this._initNumber(d,m,x);if(typeof d=="object")return this._initArray(d,m,x);m==="hex"&&(m=16),n(m===(m|0)&&m>=2&&m<=36),d=d.toString().replace(/\s+/g,"");var A=0;d[0]==="-"&&(A++,this.negative=1),A=0;A-=3)R=d[A]|d[A-1]<<8|d[A-2]<<16,this.words[I]|=R<>>26-S&67108863,S+=24,S>=26&&(S-=26,I++);else if(x==="le")for(A=0,I=0;A>>26-S&67108863,S+=24,S>=26&&(S-=26,I++);return this._strip()};function a(b,d){var m=b.charCodeAt(d);if(m>=48&&m<=57)return m-48;if(m>=65&&m<=70)return m-55;if(m>=97&&m<=102)return m-87;n(!1,"Invalid character in "+b)}function l(b,d,m){var x=a(b,m);return m-1>=d&&(x|=a(b,m-1)<<4),x}s.prototype._parseHex=function(d,m,x){this.length=Math.ceil((d.length-m)/6),this.words=new Array(this.length);for(var A=0;A=m;A-=2)S=l(d,m,A)<=18?(I-=18,R+=1,this.words[R]|=S>>>26):I+=8;else{var E=d.length-m;for(A=E%2===0?m+1:m;A=18?(I-=18,R+=1,this.words[R]|=S>>>26):I+=8}this._strip()};function u(b,d,m,x){for(var A=0,I=0,R=Math.min(b.length,m),S=d;S=49?I=E-49+10:E>=17?I=E-17+10:I=E,n(E>=0&&I1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},s.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{s.prototype[Symbol.for("nodejs.util.inspect.custom")]=p}catch{s.prototype.inspect=p}else s.prototype.inspect=p;function p(){return(this.red?""}var g=["","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"],w=[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],y=[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,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];s.prototype.toString=function(d,m){d=d||10,m=m|0||1;var x;if(d===16||d==="hex"){x="";for(var A=0,I=0,R=0;R>>24-A&16777215,A+=2,A>=26&&(A-=26,R--),I!==0||R!==this.length-1?x=g[6-E.length]+E+x:x=E+x}for(I!==0&&(x=I.toString(16)+x);x.length%m!==0;)x="0"+x;return this.negative!==0&&(x="-"+x),x}if(d===(d|0)&&d>=2&&d<=36){var _=w[d],L=y[d];x="";var ie=this.clone();for(ie.negative=0;!ie.isZero();){var q=ie.modrn(L).toString(d);ie=ie.idivn(L),ie.isZero()?x=q+x:x=g[_-q.length]+q+x}for(this.isZero()&&(x="0"+x);x.length%m!==0;)x="0"+x;return this.negative!==0&&(x="-"+x),x}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var d=this.words[0];return this.length===2?d+=this.words[1]*67108864:this.length===3&&this.words[2]===1?d+=4503599627370496+this.words[1]*67108864:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-d:d},s.prototype.toJSON=function(){return this.toString(16,2)},o&&(s.prototype.toBuffer=function(d,m){return this.toArrayLike(o,d,m)}),s.prototype.toArray=function(d,m){return this.toArrayLike(Array,d,m)};var C=function(d,m){return d.allocUnsafe?d.allocUnsafe(m):new d(m)};s.prototype.toArrayLike=function(d,m,x){this._strip();var A=this.byteLength(),I=x||Math.max(1,A);n(A<=I,"byte array longer than desired length"),n(I>0,"Requested array length <= 0");var R=C(d,I),S=m==="le"?"LE":"BE";return this["_toArrayLike"+S](R,A),R},s.prototype._toArrayLikeLE=function(d,m){for(var x=0,A=0,I=0,R=0;I>8&255),x>16&255),R===6?(x>24&255),A=0,R=0):(A=S>>>24,R+=2)}if(x=0&&(d[x--]=S>>8&255),x>=0&&(d[x--]=S>>16&255),R===6?(x>=0&&(d[x--]=S>>24&255),A=0,R=0):(A=S>>>24,R+=2)}if(x>=0)for(d[x--]=A;x>=0;)d[x--]=0},Math.clz32?s.prototype._countBits=function(d){return 32-Math.clz32(d)}:s.prototype._countBits=function(d){var m=d,x=0;return m>=4096&&(x+=13,m>>>=13),m>=64&&(x+=7,m>>>=7),m>=8&&(x+=4,m>>>=4),m>=2&&(x+=2,m>>>=2),x+m},s.prototype._zeroBits=function(d){if(d===0)return 26;var m=d,x=0;return m&8191||(x+=13,m>>>=13),m&127||(x+=7,m>>>=7),m&15||(x+=4,m>>>=4),m&3||(x+=2,m>>>=2),m&1||x++,x},s.prototype.bitLength=function(){var d=this.words[this.length-1],m=this._countBits(d);return(this.length-1)*26+m};function T(b){for(var d=new Array(b.bitLength()),m=0;m>>A&1}return d}s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var d=0,m=0;md.length?this.clone().ior(d):d.clone().ior(this)},s.prototype.uor=function(d){return this.length>d.length?this.clone().iuor(d):d.clone().iuor(this)},s.prototype.iuand=function(d){var m;this.length>d.length?m=d:m=this;for(var x=0;xd.length?this.clone().iand(d):d.clone().iand(this)},s.prototype.uand=function(d){return this.length>d.length?this.clone().iuand(d):d.clone().iuand(this)},s.prototype.iuxor=function(d){var m,x;this.length>d.length?(m=this,x=d):(m=d,x=this);for(var A=0;Ad.length?this.clone().ixor(d):d.clone().ixor(this)},s.prototype.uxor=function(d){return this.length>d.length?this.clone().iuxor(d):d.clone().iuxor(this)},s.prototype.inotn=function(d){n(typeof d=="number"&&d>=0);var m=Math.ceil(d/26)|0,x=d%26;this._expand(m),x>0&&m--;for(var A=0;A0&&(this.words[A]=~this.words[A]&67108863>>26-x),this._strip()},s.prototype.notn=function(d){return this.clone().inotn(d)},s.prototype.setn=function(d,m){n(typeof d=="number"&&d>=0);var x=d/26|0,A=d%26;return this._expand(x+1),m?this.words[x]=this.words[x]|1<d.length?(x=this,A=d):(x=d,A=this);for(var I=0,R=0;R>>26;for(;I!==0&&R>>26;if(this.length=x.length,I!==0)this.words[this.length]=I,this.length++;else if(x!==this)for(;Rd.length?this.clone().iadd(d):d.clone().iadd(this)},s.prototype.isub=function(d){if(d.negative!==0){d.negative=0;var m=this.iadd(d);return d.negative=1,m._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(d),this.negative=1,this._normSign();var x=this.cmp(d);if(x===0)return this.negative=0,this.length=1,this.words[0]=0,this;var A,I;x>0?(A=this,I=d):(A=d,I=this);for(var R=0,S=0;S>26,this.words[S]=m&67108863;for(;R!==0&&S>26,this.words[S]=m&67108863;if(R===0&&S>>26,ie=E&67108863,q=Math.min(_,d.length-1),Y=Math.max(0,_-b.length+1);Y<=q;Y++){var K=_-Y|0;A=b.words[K]|0,I=d.words[Y]|0,R=A*I+ie,L+=R/67108864|0,ie=R&67108863}m.words[_]=ie|0,E=L|0}return E!==0?m.words[_]=E|0:m.length--,m._strip()}var N=function(d,m,x){var A=d.words,I=m.words,R=x.words,S=0,E,_,L,ie=A[0]|0,q=ie&8191,Y=ie>>>13,K=A[1]|0,te=K&8191,re=K>>>13,H=A[2]|0,U=H&8191,W=H>>>13,le=A[3]|0,de=le&8191,Se=le>>>13,Me=A[4]|0,ke=Me&8191,Ke=Me>>>13,Re=A[5]|0,je=Re&8191,De=Re>>>13,Je=A[6]|0,ze=Je&8191,qe=Je>>>13,Ve=A[7]|0,He=Ve&8191,Be=Ve>>>13,Ge=A[8]|0,Xe=Ge&8191,se=Ge>>>13,J=A[9]|0,X=J&8191,ue=J>>>13,we=I[0]|0,ye=we&8191,Ie=we>>>13,it=I[1]|0,ot=it&8191,tt=it>>>13,It=I[2]|0,st=It&8191,Nt=It>>>13,Lt=I[3]|0,ht=Lt&8191,wt=Lt>>>13,Ut=I[4]|0,ft=Ut&8191,dt=Ut>>>13,Vt=I[5]|0,xt=Vt&8191,pt=Vt>>>13,Gt=I[6]|0,gt=Gt&8191,vt=Gt>>>13,Ft=I[7]|0,lt=Ft&8191,_t=Ft>>>13,Kt=I[8]|0,Ht=Kt&8191,qt=Kt>>>13,br=I[9]|0,Tt=br&8191,ur=br>>>13;x.negative=d.negative^m.negative,x.length=19,E=Math.imul(q,ye),_=Math.imul(q,Ie),_=_+Math.imul(Y,ye)|0,L=Math.imul(Y,Ie);var Xn=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(Xn>>>26)|0,Xn&=67108863,E=Math.imul(te,ye),_=Math.imul(te,Ie),_=_+Math.imul(re,ye)|0,L=Math.imul(re,Ie),E=E+Math.imul(q,ot)|0,_=_+Math.imul(q,tt)|0,_=_+Math.imul(Y,ot)|0,L=L+Math.imul(Y,tt)|0;var ei=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(ei>>>26)|0,ei&=67108863,E=Math.imul(U,ye),_=Math.imul(U,Ie),_=_+Math.imul(W,ye)|0,L=Math.imul(W,Ie),E=E+Math.imul(te,ot)|0,_=_+Math.imul(te,tt)|0,_=_+Math.imul(re,ot)|0,L=L+Math.imul(re,tt)|0,E=E+Math.imul(q,st)|0,_=_+Math.imul(q,Nt)|0,_=_+Math.imul(Y,st)|0,L=L+Math.imul(Y,Nt)|0;var ti=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(ti>>>26)|0,ti&=67108863,E=Math.imul(de,ye),_=Math.imul(de,Ie),_=_+Math.imul(Se,ye)|0,L=Math.imul(Se,Ie),E=E+Math.imul(U,ot)|0,_=_+Math.imul(U,tt)|0,_=_+Math.imul(W,ot)|0,L=L+Math.imul(W,tt)|0,E=E+Math.imul(te,st)|0,_=_+Math.imul(te,Nt)|0,_=_+Math.imul(re,st)|0,L=L+Math.imul(re,Nt)|0,E=E+Math.imul(q,ht)|0,_=_+Math.imul(q,wt)|0,_=_+Math.imul(Y,ht)|0,L=L+Math.imul(Y,wt)|0;var ri=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(ri>>>26)|0,ri&=67108863,E=Math.imul(ke,ye),_=Math.imul(ke,Ie),_=_+Math.imul(Ke,ye)|0,L=Math.imul(Ke,Ie),E=E+Math.imul(de,ot)|0,_=_+Math.imul(de,tt)|0,_=_+Math.imul(Se,ot)|0,L=L+Math.imul(Se,tt)|0,E=E+Math.imul(U,st)|0,_=_+Math.imul(U,Nt)|0,_=_+Math.imul(W,st)|0,L=L+Math.imul(W,Nt)|0,E=E+Math.imul(te,ht)|0,_=_+Math.imul(te,wt)|0,_=_+Math.imul(re,ht)|0,L=L+Math.imul(re,wt)|0,E=E+Math.imul(q,ft)|0,_=_+Math.imul(q,dt)|0,_=_+Math.imul(Y,ft)|0,L=L+Math.imul(Y,dt)|0;var bn=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(bn>>>26)|0,bn&=67108863,E=Math.imul(je,ye),_=Math.imul(je,Ie),_=_+Math.imul(De,ye)|0,L=Math.imul(De,Ie),E=E+Math.imul(ke,ot)|0,_=_+Math.imul(ke,tt)|0,_=_+Math.imul(Ke,ot)|0,L=L+Math.imul(Ke,tt)|0,E=E+Math.imul(de,st)|0,_=_+Math.imul(de,Nt)|0,_=_+Math.imul(Se,st)|0,L=L+Math.imul(Se,Nt)|0,E=E+Math.imul(U,ht)|0,_=_+Math.imul(U,wt)|0,_=_+Math.imul(W,ht)|0,L=L+Math.imul(W,wt)|0,E=E+Math.imul(te,ft)|0,_=_+Math.imul(te,dt)|0,_=_+Math.imul(re,ft)|0,L=L+Math.imul(re,dt)|0,E=E+Math.imul(q,xt)|0,_=_+Math.imul(q,pt)|0,_=_+Math.imul(Y,xt)|0,L=L+Math.imul(Y,pt)|0;var qn=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(qn>>>26)|0,qn&=67108863,E=Math.imul(ze,ye),_=Math.imul(ze,Ie),_=_+Math.imul(qe,ye)|0,L=Math.imul(qe,Ie),E=E+Math.imul(je,ot)|0,_=_+Math.imul(je,tt)|0,_=_+Math.imul(De,ot)|0,L=L+Math.imul(De,tt)|0,E=E+Math.imul(ke,st)|0,_=_+Math.imul(ke,Nt)|0,_=_+Math.imul(Ke,st)|0,L=L+Math.imul(Ke,Nt)|0,E=E+Math.imul(de,ht)|0,_=_+Math.imul(de,wt)|0,_=_+Math.imul(Se,ht)|0,L=L+Math.imul(Se,wt)|0,E=E+Math.imul(U,ft)|0,_=_+Math.imul(U,dt)|0,_=_+Math.imul(W,ft)|0,L=L+Math.imul(W,dt)|0,E=E+Math.imul(te,xt)|0,_=_+Math.imul(te,pt)|0,_=_+Math.imul(re,xt)|0,L=L+Math.imul(re,pt)|0,E=E+Math.imul(q,gt)|0,_=_+Math.imul(q,vt)|0,_=_+Math.imul(Y,gt)|0,L=L+Math.imul(Y,vt)|0;var Di=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(Di>>>26)|0,Di&=67108863,E=Math.imul(He,ye),_=Math.imul(He,Ie),_=_+Math.imul(Be,ye)|0,L=Math.imul(Be,Ie),E=E+Math.imul(ze,ot)|0,_=_+Math.imul(ze,tt)|0,_=_+Math.imul(qe,ot)|0,L=L+Math.imul(qe,tt)|0,E=E+Math.imul(je,st)|0,_=_+Math.imul(je,Nt)|0,_=_+Math.imul(De,st)|0,L=L+Math.imul(De,Nt)|0,E=E+Math.imul(ke,ht)|0,_=_+Math.imul(ke,wt)|0,_=_+Math.imul(Ke,ht)|0,L=L+Math.imul(Ke,wt)|0,E=E+Math.imul(de,ft)|0,_=_+Math.imul(de,dt)|0,_=_+Math.imul(Se,ft)|0,L=L+Math.imul(Se,dt)|0,E=E+Math.imul(U,xt)|0,_=_+Math.imul(U,pt)|0,_=_+Math.imul(W,xt)|0,L=L+Math.imul(W,pt)|0,E=E+Math.imul(te,gt)|0,_=_+Math.imul(te,vt)|0,_=_+Math.imul(re,gt)|0,L=L+Math.imul(re,vt)|0,E=E+Math.imul(q,lt)|0,_=_+Math.imul(q,_t)|0,_=_+Math.imul(Y,lt)|0,L=L+Math.imul(Y,_t)|0;var Wn=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(Wn>>>26)|0,Wn&=67108863,E=Math.imul(Xe,ye),_=Math.imul(Xe,Ie),_=_+Math.imul(se,ye)|0,L=Math.imul(se,Ie),E=E+Math.imul(He,ot)|0,_=_+Math.imul(He,tt)|0,_=_+Math.imul(Be,ot)|0,L=L+Math.imul(Be,tt)|0,E=E+Math.imul(ze,st)|0,_=_+Math.imul(ze,Nt)|0,_=_+Math.imul(qe,st)|0,L=L+Math.imul(qe,Nt)|0,E=E+Math.imul(je,ht)|0,_=_+Math.imul(je,wt)|0,_=_+Math.imul(De,ht)|0,L=L+Math.imul(De,wt)|0,E=E+Math.imul(ke,ft)|0,_=_+Math.imul(ke,dt)|0,_=_+Math.imul(Ke,ft)|0,L=L+Math.imul(Ke,dt)|0,E=E+Math.imul(de,xt)|0,_=_+Math.imul(de,pt)|0,_=_+Math.imul(Se,xt)|0,L=L+Math.imul(Se,pt)|0,E=E+Math.imul(U,gt)|0,_=_+Math.imul(U,vt)|0,_=_+Math.imul(W,gt)|0,L=L+Math.imul(W,vt)|0,E=E+Math.imul(te,lt)|0,_=_+Math.imul(te,_t)|0,_=_+Math.imul(re,lt)|0,L=L+Math.imul(re,_t)|0,E=E+Math.imul(q,Ht)|0,_=_+Math.imul(q,qt)|0,_=_+Math.imul(Y,Ht)|0,L=L+Math.imul(Y,qt)|0;var $i=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+($i>>>26)|0,$i&=67108863,E=Math.imul(X,ye),_=Math.imul(X,Ie),_=_+Math.imul(ue,ye)|0,L=Math.imul(ue,Ie),E=E+Math.imul(Xe,ot)|0,_=_+Math.imul(Xe,tt)|0,_=_+Math.imul(se,ot)|0,L=L+Math.imul(se,tt)|0,E=E+Math.imul(He,st)|0,_=_+Math.imul(He,Nt)|0,_=_+Math.imul(Be,st)|0,L=L+Math.imul(Be,Nt)|0,E=E+Math.imul(ze,ht)|0,_=_+Math.imul(ze,wt)|0,_=_+Math.imul(qe,ht)|0,L=L+Math.imul(qe,wt)|0,E=E+Math.imul(je,ft)|0,_=_+Math.imul(je,dt)|0,_=_+Math.imul(De,ft)|0,L=L+Math.imul(De,dt)|0,E=E+Math.imul(ke,xt)|0,_=_+Math.imul(ke,pt)|0,_=_+Math.imul(Ke,xt)|0,L=L+Math.imul(Ke,pt)|0,E=E+Math.imul(de,gt)|0,_=_+Math.imul(de,vt)|0,_=_+Math.imul(Se,gt)|0,L=L+Math.imul(Se,vt)|0,E=E+Math.imul(U,lt)|0,_=_+Math.imul(U,_t)|0,_=_+Math.imul(W,lt)|0,L=L+Math.imul(W,_t)|0,E=E+Math.imul(te,Ht)|0,_=_+Math.imul(te,qt)|0,_=_+Math.imul(re,Ht)|0,L=L+Math.imul(re,qt)|0,E=E+Math.imul(q,Tt)|0,_=_+Math.imul(q,ur)|0,_=_+Math.imul(Y,Tt)|0,L=L+Math.imul(Y,ur)|0;var Bi=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(Bi>>>26)|0,Bi&=67108863,E=Math.imul(X,ot),_=Math.imul(X,tt),_=_+Math.imul(ue,ot)|0,L=Math.imul(ue,tt),E=E+Math.imul(Xe,st)|0,_=_+Math.imul(Xe,Nt)|0,_=_+Math.imul(se,st)|0,L=L+Math.imul(se,Nt)|0,E=E+Math.imul(He,ht)|0,_=_+Math.imul(He,wt)|0,_=_+Math.imul(Be,ht)|0,L=L+Math.imul(Be,wt)|0,E=E+Math.imul(ze,ft)|0,_=_+Math.imul(ze,dt)|0,_=_+Math.imul(qe,ft)|0,L=L+Math.imul(qe,dt)|0,E=E+Math.imul(je,xt)|0,_=_+Math.imul(je,pt)|0,_=_+Math.imul(De,xt)|0,L=L+Math.imul(De,pt)|0,E=E+Math.imul(ke,gt)|0,_=_+Math.imul(ke,vt)|0,_=_+Math.imul(Ke,gt)|0,L=L+Math.imul(Ke,vt)|0,E=E+Math.imul(de,lt)|0,_=_+Math.imul(de,_t)|0,_=_+Math.imul(Se,lt)|0,L=L+Math.imul(Se,_t)|0,E=E+Math.imul(U,Ht)|0,_=_+Math.imul(U,qt)|0,_=_+Math.imul(W,Ht)|0,L=L+Math.imul(W,qt)|0,E=E+Math.imul(te,Tt)|0,_=_+Math.imul(te,ur)|0,_=_+Math.imul(re,Tt)|0,L=L+Math.imul(re,ur)|0;var bi=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(bi>>>26)|0,bi&=67108863,E=Math.imul(X,st),_=Math.imul(X,Nt),_=_+Math.imul(ue,st)|0,L=Math.imul(ue,Nt),E=E+Math.imul(Xe,ht)|0,_=_+Math.imul(Xe,wt)|0,_=_+Math.imul(se,ht)|0,L=L+Math.imul(se,wt)|0,E=E+Math.imul(He,ft)|0,_=_+Math.imul(He,dt)|0,_=_+Math.imul(Be,ft)|0,L=L+Math.imul(Be,dt)|0,E=E+Math.imul(ze,xt)|0,_=_+Math.imul(ze,pt)|0,_=_+Math.imul(qe,xt)|0,L=L+Math.imul(qe,pt)|0,E=E+Math.imul(je,gt)|0,_=_+Math.imul(je,vt)|0,_=_+Math.imul(De,gt)|0,L=L+Math.imul(De,vt)|0,E=E+Math.imul(ke,lt)|0,_=_+Math.imul(ke,_t)|0,_=_+Math.imul(Ke,lt)|0,L=L+Math.imul(Ke,_t)|0,E=E+Math.imul(de,Ht)|0,_=_+Math.imul(de,qt)|0,_=_+Math.imul(Se,Ht)|0,L=L+Math.imul(Se,qt)|0,E=E+Math.imul(U,Tt)|0,_=_+Math.imul(U,ur)|0,_=_+Math.imul(W,Tt)|0,L=L+Math.imul(W,ur)|0;var Ei=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(Ei>>>26)|0,Ei&=67108863,E=Math.imul(X,ht),_=Math.imul(X,wt),_=_+Math.imul(ue,ht)|0,L=Math.imul(ue,wt),E=E+Math.imul(Xe,ft)|0,_=_+Math.imul(Xe,dt)|0,_=_+Math.imul(se,ft)|0,L=L+Math.imul(se,dt)|0,E=E+Math.imul(He,xt)|0,_=_+Math.imul(He,pt)|0,_=_+Math.imul(Be,xt)|0,L=L+Math.imul(Be,pt)|0,E=E+Math.imul(ze,gt)|0,_=_+Math.imul(ze,vt)|0,_=_+Math.imul(qe,gt)|0,L=L+Math.imul(qe,vt)|0,E=E+Math.imul(je,lt)|0,_=_+Math.imul(je,_t)|0,_=_+Math.imul(De,lt)|0,L=L+Math.imul(De,_t)|0,E=E+Math.imul(ke,Ht)|0,_=_+Math.imul(ke,qt)|0,_=_+Math.imul(Ke,Ht)|0,L=L+Math.imul(Ke,qt)|0,E=E+Math.imul(de,Tt)|0,_=_+Math.imul(de,ur)|0,_=_+Math.imul(Se,Tt)|0,L=L+Math.imul(Se,ur)|0;var Ai=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(Ai>>>26)|0,Ai&=67108863,E=Math.imul(X,ft),_=Math.imul(X,dt),_=_+Math.imul(ue,ft)|0,L=Math.imul(ue,dt),E=E+Math.imul(Xe,xt)|0,_=_+Math.imul(Xe,pt)|0,_=_+Math.imul(se,xt)|0,L=L+Math.imul(se,pt)|0,E=E+Math.imul(He,gt)|0,_=_+Math.imul(He,vt)|0,_=_+Math.imul(Be,gt)|0,L=L+Math.imul(Be,vt)|0,E=E+Math.imul(ze,lt)|0,_=_+Math.imul(ze,_t)|0,_=_+Math.imul(qe,lt)|0,L=L+Math.imul(qe,_t)|0,E=E+Math.imul(je,Ht)|0,_=_+Math.imul(je,qt)|0,_=_+Math.imul(De,Ht)|0,L=L+Math.imul(De,qt)|0,E=E+Math.imul(ke,Tt)|0,_=_+Math.imul(ke,ur)|0,_=_+Math.imul(Ke,Tt)|0,L=L+Math.imul(Ke,ur)|0;var Cn=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(Cn>>>26)|0,Cn&=67108863,E=Math.imul(X,xt),_=Math.imul(X,pt),_=_+Math.imul(ue,xt)|0,L=Math.imul(ue,pt),E=E+Math.imul(Xe,gt)|0,_=_+Math.imul(Xe,vt)|0,_=_+Math.imul(se,gt)|0,L=L+Math.imul(se,vt)|0,E=E+Math.imul(He,lt)|0,_=_+Math.imul(He,_t)|0,_=_+Math.imul(Be,lt)|0,L=L+Math.imul(Be,_t)|0,E=E+Math.imul(ze,Ht)|0,_=_+Math.imul(ze,qt)|0,_=_+Math.imul(qe,Ht)|0,L=L+Math.imul(qe,qt)|0,E=E+Math.imul(je,Tt)|0,_=_+Math.imul(je,ur)|0,_=_+Math.imul(De,Tt)|0,L=L+Math.imul(De,ur)|0;var Rs=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(Rs>>>26)|0,Rs&=67108863,E=Math.imul(X,gt),_=Math.imul(X,vt),_=_+Math.imul(ue,gt)|0,L=Math.imul(ue,vt),E=E+Math.imul(Xe,lt)|0,_=_+Math.imul(Xe,_t)|0,_=_+Math.imul(se,lt)|0,L=L+Math.imul(se,_t)|0,E=E+Math.imul(He,Ht)|0,_=_+Math.imul(He,qt)|0,_=_+Math.imul(Be,Ht)|0,L=L+Math.imul(Be,qt)|0,E=E+Math.imul(ze,Tt)|0,_=_+Math.imul(ze,ur)|0,_=_+Math.imul(qe,Tt)|0,L=L+Math.imul(qe,ur)|0;var ks=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(ks>>>26)|0,ks&=67108863,E=Math.imul(X,lt),_=Math.imul(X,_t),_=_+Math.imul(ue,lt)|0,L=Math.imul(ue,_t),E=E+Math.imul(Xe,Ht)|0,_=_+Math.imul(Xe,qt)|0,_=_+Math.imul(se,Ht)|0,L=L+Math.imul(se,qt)|0,E=E+Math.imul(He,Tt)|0,_=_+Math.imul(He,ur)|0,_=_+Math.imul(Be,Tt)|0,L=L+Math.imul(Be,ur)|0;var Ms=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(Ms>>>26)|0,Ms&=67108863,E=Math.imul(X,Ht),_=Math.imul(X,qt),_=_+Math.imul(ue,Ht)|0,L=Math.imul(ue,qt),E=E+Math.imul(Xe,Tt)|0,_=_+Math.imul(Xe,ur)|0,_=_+Math.imul(se,Tt)|0,L=L+Math.imul(se,ur)|0;var Zo=(S+E|0)+((_&8191)<<13)|0;S=(L+(_>>>13)|0)+(Zo>>>26)|0,Zo&=67108863,E=Math.imul(X,Tt),_=Math.imul(X,ur),_=_+Math.imul(ue,Tt)|0,L=Math.imul(ue,ur);var Ka=(S+E|0)+((_&8191)<<13)|0;return S=(L+(_>>>13)|0)+(Ka>>>26)|0,Ka&=67108863,R[0]=Xn,R[1]=ei,R[2]=ti,R[3]=ri,R[4]=bn,R[5]=qn,R[6]=Di,R[7]=Wn,R[8]=$i,R[9]=Bi,R[10]=bi,R[11]=Ei,R[12]=Ai,R[13]=Cn,R[14]=Rs,R[15]=ks,R[16]=Ms,R[17]=Zo,R[18]=Ka,S!==0&&(R[19]=S,x.length++),x};Math.imul||(N=k);function O(b,d,m){m.negative=d.negative^b.negative,m.length=b.length+d.length;for(var x=0,A=0,I=0;I>>26)|0,A+=R>>>26,R&=67108863}m.words[I]=S,x=R,R=A}return x!==0?m.words[I]=x:m.length--,m._strip()}function B(b,d,m){return O(b,d,m)}s.prototype.mulTo=function(d,m){var x,A=this.length+d.length;return this.length===10&&d.length===10?x=N(this,d,m):A<63?x=k(this,d,m):A<1024?x=O(this,d,m):x=B(this,d,m),x},s.prototype.mul=function(d){var m=new s(null);return m.words=new Array(this.length+d.length),this.mulTo(d,m)},s.prototype.mulf=function(d){var m=new s(null);return m.words=new Array(this.length+d.length),B(this,d,m)},s.prototype.imul=function(d){return this.clone().mulTo(d,this)},s.prototype.imuln=function(d){var m=d<0;m&&(d=-d),n(typeof d=="number"),n(d<67108864);for(var x=0,A=0;A>=26,x+=I/67108864|0,x+=R>>>26,this.words[A]=R&67108863}return x!==0&&(this.words[A]=x,this.length++),m?this.ineg():this},s.prototype.muln=function(d){return this.clone().imuln(d)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(d){var m=T(d);if(m.length===0)return new s(1);for(var x=this,A=0;A=0);var m=d%26,x=(d-m)/26,A=67108863>>>26-m<<26-m,I;if(m!==0){var R=0;for(I=0;I>>26-m}R&&(this.words[I]=R,this.length++)}if(x!==0){for(I=this.length-1;I>=0;I--)this.words[I+x]=this.words[I];for(I=0;I=0);var A;m?A=(m-m%26)/26:A=0;var I=d%26,R=Math.min((d-I)/26,this.length),S=67108863^67108863>>>I<R)for(this.length-=R,_=0;_=0&&(L!==0||_>=A);_--){var ie=this.words[_]|0;this.words[_]=L<<26-I|ie>>>I,L=ie&S}return E&&L!==0&&(E.words[E.length++]=L),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},s.prototype.ishrn=function(d,m,x){return n(this.negative===0),this.iushrn(d,m,x)},s.prototype.shln=function(d){return this.clone().ishln(d)},s.prototype.ushln=function(d){return this.clone().iushln(d)},s.prototype.shrn=function(d){return this.clone().ishrn(d)},s.prototype.ushrn=function(d){return this.clone().iushrn(d)},s.prototype.testn=function(d){n(typeof d=="number"&&d>=0);var m=d%26,x=(d-m)/26,A=1<=0);var m=d%26,x=(d-m)/26;if(n(this.negative===0,"imaskn works only with positive numbers"),this.length<=x)return this;if(m!==0&&x++,this.length=Math.min(x,this.length),m!==0){var A=67108863^67108863>>>m<=67108864;m++)this.words[m]-=67108864,m===this.length-1?this.words[m+1]=1:this.words[m+1]++;return this.length=Math.max(this.length,m+1),this},s.prototype.isubn=function(d){if(n(typeof d=="number"),n(d<67108864),d<0)return this.iaddn(-d);if(this.negative!==0)return this.negative=0,this.iaddn(d),this.negative=1,this;if(this.words[0]-=d,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var m=0;m>26)-(E/67108864|0),this.words[I+x]=R&67108863}for(;I>26,this.words[I+x]=R&67108863;if(S===0)return this._strip();for(n(S===-1),S=0,I=0;I>26,this.words[I]=R&67108863;return this.negative=1,this._strip()},s.prototype._wordDiv=function(d,m){var x=this.length-d.length,A=this.clone(),I=d,R=I.words[I.length-1]|0,S=this._countBits(R);x=26-S,x!==0&&(I=I.ushln(x),A.iushln(x),R=I.words[I.length-1]|0);var E=A.length-I.length,_;if(m!=="mod"){_=new s(null),_.length=E+1,_.words=new Array(_.length);for(var L=0;L<_.length;L++)_.words[L]=0}var ie=A.clone()._ishlnsubmul(I,1,E);ie.negative===0&&(A=ie,_&&(_.words[E]=1));for(var q=E-1;q>=0;q--){var Y=(A.words[I.length+q]|0)*67108864+(A.words[I.length+q-1]|0);for(Y=Math.min(Y/R|0,67108863),A._ishlnsubmul(I,Y,q);A.negative!==0;)Y--,A.negative=0,A._ishlnsubmul(I,1,q),A.isZero()||(A.negative^=1);_&&(_.words[q]=Y)}return _&&_._strip(),A._strip(),m!=="div"&&x!==0&&A.iushrn(x),{div:_||null,mod:A}},s.prototype.divmod=function(d,m,x){if(n(!d.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var A,I,R;return this.negative!==0&&d.negative===0?(R=this.neg().divmod(d,m),m!=="mod"&&(A=R.div.neg()),m!=="div"&&(I=R.mod.neg(),x&&I.negative!==0&&I.iadd(d)),{div:A,mod:I}):this.negative===0&&d.negative!==0?(R=this.divmod(d.neg(),m),m!=="mod"&&(A=R.div.neg()),{div:A,mod:R.mod}):this.negative&d.negative?(R=this.neg().divmod(d.neg(),m),m!=="div"&&(I=R.mod.neg(),x&&I.negative!==0&&I.isub(d)),{div:R.div,mod:I}):d.length>this.length||this.cmp(d)<0?{div:new s(0),mod:this}:d.length===1?m==="div"?{div:this.divn(d.words[0]),mod:null}:m==="mod"?{div:null,mod:new s(this.modrn(d.words[0]))}:{div:this.divn(d.words[0]),mod:new s(this.modrn(d.words[0]))}:this._wordDiv(d,m)},s.prototype.div=function(d){return this.divmod(d,"div",!1).div},s.prototype.mod=function(d){return this.divmod(d,"mod",!1).mod},s.prototype.umod=function(d){return this.divmod(d,"mod",!0).mod},s.prototype.divRound=function(d){var m=this.divmod(d);if(m.mod.isZero())return m.div;var x=m.div.negative!==0?m.mod.isub(d):m.mod,A=d.ushrn(1),I=d.andln(1),R=x.cmp(A);return R<0||I===1&&R===0?m.div:m.div.negative!==0?m.div.isubn(1):m.div.iaddn(1)},s.prototype.modrn=function(d){var m=d<0;m&&(d=-d),n(d<=67108863);for(var x=(1<<26)%d,A=0,I=this.length-1;I>=0;I--)A=(x*A+(this.words[I]|0))%d;return m?-A:A},s.prototype.modn=function(d){return this.modrn(d)},s.prototype.idivn=function(d){var m=d<0;m&&(d=-d),n(d<=67108863);for(var x=0,A=this.length-1;A>=0;A--){var I=(this.words[A]|0)+x*67108864;this.words[A]=I/d|0,x=I%d}return this._strip(),m?this.ineg():this},s.prototype.divn=function(d){return this.clone().idivn(d)},s.prototype.egcd=function(d){n(d.negative===0),n(!d.isZero());var m=this,x=d.clone();m.negative!==0?m=m.umod(d):m=m.clone();for(var A=new s(1),I=new s(0),R=new s(0),S=new s(1),E=0;m.isEven()&&x.isEven();)m.iushrn(1),x.iushrn(1),++E;for(var _=x.clone(),L=m.clone();!m.isZero();){for(var ie=0,q=1;!(m.words[0]&q)&&ie<26;++ie,q<<=1);if(ie>0)for(m.iushrn(ie);ie-- >0;)(A.isOdd()||I.isOdd())&&(A.iadd(_),I.isub(L)),A.iushrn(1),I.iushrn(1);for(var Y=0,K=1;!(x.words[0]&K)&&Y<26;++Y,K<<=1);if(Y>0)for(x.iushrn(Y);Y-- >0;)(R.isOdd()||S.isOdd())&&(R.iadd(_),S.isub(L)),R.iushrn(1),S.iushrn(1);m.cmp(x)>=0?(m.isub(x),A.isub(R),I.isub(S)):(x.isub(m),R.isub(A),S.isub(I))}return{a:R,b:S,gcd:x.iushln(E)}},s.prototype._invmp=function(d){n(d.negative===0),n(!d.isZero());var m=this,x=d.clone();m.negative!==0?m=m.umod(d):m=m.clone();for(var A=new s(1),I=new s(0),R=x.clone();m.cmpn(1)>0&&x.cmpn(1)>0;){for(var S=0,E=1;!(m.words[0]&E)&&S<26;++S,E<<=1);if(S>0)for(m.iushrn(S);S-- >0;)A.isOdd()&&A.iadd(R),A.iushrn(1);for(var _=0,L=1;!(x.words[0]&L)&&_<26;++_,L<<=1);if(_>0)for(x.iushrn(_);_-- >0;)I.isOdd()&&I.iadd(R),I.iushrn(1);m.cmp(x)>=0?(m.isub(x),A.isub(I)):(x.isub(m),I.isub(A))}var ie;return m.cmpn(1)===0?ie=A:ie=I,ie.cmpn(0)<0&&ie.iadd(d),ie},s.prototype.gcd=function(d){if(this.isZero())return d.abs();if(d.isZero())return this.abs();var m=this.clone(),x=d.clone();m.negative=0,x.negative=0;for(var A=0;m.isEven()&&x.isEven();A++)m.iushrn(1),x.iushrn(1);do{for(;m.isEven();)m.iushrn(1);for(;x.isEven();)x.iushrn(1);var I=m.cmp(x);if(I<0){var R=m;m=x,x=R}else if(I===0||x.cmpn(1)===0)break;m.isub(x)}while(!0);return x.iushln(A)},s.prototype.invm=function(d){return this.egcd(d).a.umod(d)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(d){return this.words[0]&d},s.prototype.bincn=function(d){n(typeof d=="number");var m=d%26,x=(d-m)/26,A=1<>>26,S&=67108863,this.words[R]=S}return I!==0&&(this.words[R]=I,this.length++),this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(d){var m=d<0;if(this.negative!==0&&!m)return-1;if(this.negative===0&&m)return 1;this._strip();var x;if(this.length>1)x=1;else{m&&(d=-d),n(d<=67108863,"Number is too big");var A=this.words[0]|0;x=A===d?0:Ad.length)return 1;if(this.length=0;x--){var A=this.words[x]|0,I=d.words[x]|0;if(A!==I){AI&&(m=1);break}}return m},s.prototype.gtn=function(d){return this.cmpn(d)===1},s.prototype.gt=function(d){return this.cmp(d)===1},s.prototype.gten=function(d){return this.cmpn(d)>=0},s.prototype.gte=function(d){return this.cmp(d)>=0},s.prototype.ltn=function(d){return this.cmpn(d)===-1},s.prototype.lt=function(d){return this.cmp(d)===-1},s.prototype.lten=function(d){return this.cmpn(d)<=0},s.prototype.lte=function(d){return this.cmp(d)<=0},s.prototype.eqn=function(d){return this.cmpn(d)===0},s.prototype.eq=function(d){return this.cmp(d)===0},s.red=function(d){return new F(d)},s.prototype.toRed=function(d){return n(!this.red,"Already a number in reduction context"),n(this.negative===0,"red works only with positives"),d.convertTo(this)._forceRed(d)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(d){return this.red=d,this},s.prototype.forceRed=function(d){return n(!this.red,"Already a number in reduction context"),this._forceRed(d)},s.prototype.redAdd=function(d){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,d)},s.prototype.redIAdd=function(d){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,d)},s.prototype.redSub=function(d){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,d)},s.prototype.redISub=function(d){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,d)},s.prototype.redShl=function(d){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,d)},s.prototype.redMul=function(d){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,d),this.red.mul(this,d)},s.prototype.redIMul=function(d){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,d),this.red.imul(this,d)},s.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(d){return n(this.red&&!d.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,d)};var z={k256:null,p224:null,p192:null,p25519:null};function G(b,d){this.name=b,this.p=new s(d,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}G.prototype._tmp=function(){var d=new s(null);return d.words=new Array(Math.ceil(this.n/13)),d},G.prototype.ireduce=function(d){var m=d,x;do this.split(m,this.tmp),m=this.imulK(m),m=m.iadd(this.tmp),x=m.bitLength();while(x>this.n);var A=x0?m.isub(this.p):m.strip!==void 0?m.strip():m._strip(),m},G.prototype.split=function(d,m){d.iushrn(this.n,0,m)},G.prototype.imulK=function(d){return d.imul(this.k)};function $(){G.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i($,G),$.prototype.split=function(d,m){for(var x=4194303,A=Math.min(d.length,9),I=0;I>>22,R=S}R>>>=22,d.words[I-10]=R,R===0&&d.length>10?d.length-=10:d.length-=9},$.prototype.imulK=function(d){d.words[d.length]=0,d.words[d.length+1]=0,d.length+=2;for(var m=0,x=0;x>>=26,d.words[x]=I,m=A}return m!==0&&(d.words[d.length++]=m),d},s._prime=function(d){if(z[d])return z[d];var m;if(d==="k256")m=new $;else if(d==="p224")m=new D;else if(d==="p192")m=new V;else if(d==="p25519")m=new Q;else throw new Error("Unknown prime "+d);return z[d]=m,m};function F(b){if(typeof b=="string"){var d=s._prime(b);this.m=d.p,this.prime=d}else n(b.gtn(1),"modulus must be greater than 1"),this.m=b,this.prime=null}F.prototype._verify1=function(d){n(d.negative===0,"red works only with positives"),n(d.red,"red works only with red numbers")},F.prototype._verify2=function(d,m){n((d.negative|m.negative)===0,"red works only with positives"),n(d.red&&d.red===m.red,"red works only with red numbers")},F.prototype.imod=function(d){return this.prime?this.prime.ireduce(d)._forceRed(this):(h(d,d.umod(this.m)._forceRed(this)),d)},F.prototype.neg=function(d){return d.isZero()?d.clone():this.m.sub(d)._forceRed(this)},F.prototype.add=function(d,m){this._verify2(d,m);var x=d.add(m);return x.cmp(this.m)>=0&&x.isub(this.m),x._forceRed(this)},F.prototype.iadd=function(d,m){this._verify2(d,m);var x=d.iadd(m);return x.cmp(this.m)>=0&&x.isub(this.m),x},F.prototype.sub=function(d,m){this._verify2(d,m);var x=d.sub(m);return x.cmpn(0)<0&&x.iadd(this.m),x._forceRed(this)},F.prototype.isub=function(d,m){this._verify2(d,m);var x=d.isub(m);return x.cmpn(0)<0&&x.iadd(this.m),x},F.prototype.shl=function(d,m){return this._verify1(d),this.imod(d.ushln(m))},F.prototype.imul=function(d,m){return this._verify2(d,m),this.imod(d.imul(m))},F.prototype.mul=function(d,m){return this._verify2(d,m),this.imod(d.mul(m))},F.prototype.isqr=function(d){return this.imul(d,d.clone())},F.prototype.sqr=function(d){return this.mul(d,d)},F.prototype.sqrt=function(d){if(d.isZero())return d.clone();var m=this.m.andln(3);if(n(m%2===1),m===3){var x=this.m.add(new s(1)).iushrn(2);return this.pow(d,x)}for(var A=this.m.subn(1),I=0;!A.isZero()&&A.andln(1)===0;)I++,A.iushrn(1);n(!A.isZero());var R=new s(1).toRed(this),S=R.redNeg(),E=this.m.subn(1).iushrn(1),_=this.m.bitLength();for(_=new s(2*_*_).toRed(this);this.pow(_,E).cmp(S)!==0;)_.redIAdd(S);for(var L=this.pow(_,A),ie=this.pow(d,A.addn(1).iushrn(1)),q=this.pow(d,A),Y=I;q.cmp(R)!==0;){for(var K=q,te=0;K.cmp(R)!==0;te++)K=K.redSqr();n(te=0;I--){for(var L=m.words[I],ie=_-1;ie>=0;ie--){var q=L>>ie&1;if(R!==A[0]&&(R=this.sqr(R)),q===0&&S===0){E=0;continue}S<<=1,S|=q,E++,!(E!==x&&(I!==0||ie!==0))&&(R=this.mul(R,A[S]),E=0,S=0)}_=26}return R},F.prototype.convertTo=function(d){var m=d.umod(this.m);return m===d?m.clone():m},F.prototype.convertFrom=function(d){var m=d.clone();return m.red=null,m},s.mont=function(d){return new M(d)};function M(b){F.call(this,b),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new s(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)}i(M,F),M.prototype.convertTo=function(d){return this.imod(d.ushln(this.shift))},M.prototype.convertFrom=function(d){var m=this.imod(d.mul(this.rinv));return m.red=null,m},M.prototype.imul=function(d,m){if(d.isZero()||m.isZero())return d.words[0]=0,d.length=1,d;var x=d.imul(m),A=x.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),I=x.isub(A).iushrn(this.shift),R=I;return I.cmp(this.m)>=0?R=I.isub(this.m):I.cmpn(0)<0&&(R=I.iadd(this.m)),R._forceRed(this)},M.prototype.mul=function(d,m){if(d.isZero()||m.isZero())return new s(0)._forceRed(this);var x=d.mul(m),A=x.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),I=x.isub(A).iushrn(this.shift),R=I;return I.cmp(this.m)>=0?R=I.isub(this.m):I.cmpn(0)<0&&(R=I.iadd(this.m)),R._forceRed(this)},M.prototype.invm=function(d){var m=this.imod(d._invmp(this.m).mul(this.r2));return m._forceRed(this)}})(r,ct)})(nLe);var a8={},Jd={};Object.defineProperty(Jd,"__esModule",{value:!0}),Jd.errorValues=Jd.standardErrorCodes=void 0,Jd.standardErrorCodes={rpc:{invalidInput:-32e3,resourceNotFound:-32001,resourceUnavailable:-32002,transactionRejected:-32003,methodNotSupported:-32004,limitExceeded:-32005,parse:-32700,invalidRequest:-32600,methodNotFound:-32601,invalidParams:-32602,internal:-32603},provider:{userRejectedRequest:4001,unauthorized:4100,unsupportedMethod:4200,disconnected:4900,chainDisconnected:4901,unsupportedChain:4902}},Jd.errorValues={"-32700":{standard:"JSON RPC 2.0",message:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."},"-32600":{standard:"JSON RPC 2.0",message:"The JSON sent is not a valid Request object."},"-32601":{standard:"JSON RPC 2.0",message:"The method does not exist / is not available."},"-32602":{standard:"JSON RPC 2.0",message:"Invalid method parameter(s)."},"-32603":{standard:"JSON RPC 2.0",message:"Internal JSON-RPC error."},"-32000":{standard:"EIP-1474",message:"Invalid input."},"-32001":{standard:"EIP-1474",message:"Resource not found."},"-32002":{standard:"EIP-1474",message:"Resource unavailable."},"-32003":{standard:"EIP-1474",message:"Transaction rejected."},"-32004":{standard:"EIP-1474",message:"Method not supported."},"-32005":{standard:"EIP-1474",message:"Request limit exceeded."},4001:{standard:"EIP-1193",message:"User rejected the request."},4100:{standard:"EIP-1193",message:"The requested account and/or method has not been authorized by the user."},4200:{standard:"EIP-1193",message:"The requested method is not supported by this Ethereum provider."},4900:{standard:"EIP-1193",message:"The provider is disconnected from all chains."},4901:{standard:"EIP-1193",message:"The provider is disconnected from the specified chain."},4902:{standard:"EIP-3085",message:"Unrecognized chain ID."}};var $S={},BS={};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.serialize=r.getErrorCode=r.isValidCode=r.getMessageFromCode=r.JSON_RPC_SERVER_ERROR_MESSAGE=void 0;const e=Jd,t="Unspecified error message.";r.JSON_RPC_SERVER_ERROR_MESSAGE="Unspecified server error.";function n(g,w=t){if(g&&Number.isInteger(g)){const y=g.toString();if(h(e.errorValues,y))return e.errorValues[y].message;if(l(g))return r.JSON_RPC_SERVER_ERROR_MESSAGE}return w}r.getMessageFromCode=n;function i(g){if(!Number.isInteger(g))return!1;const w=g.toString();return!!(e.errorValues[w]||l(g))}r.isValidCode=i;function s(g){var w;if(typeof g=="number")return g;if(o(g))return(w=g.code)!==null&&w!==void 0?w:g.errorCode}r.getErrorCode=s;function o(g){return typeof g=="object"&&g!==null&&(typeof g.code=="number"||typeof g.errorCode=="number")}function a(g,{shouldIncludeStack:w=!1}={}){const y={};if(g&&typeof g=="object"&&!Array.isArray(g)&&h(g,"code")&&i(g.code)){const C=g;y.code=C.code,C.message&&typeof C.message=="string"?(y.message=C.message,h(C,"data")&&(y.data=C.data)):(y.message=n(y.code),y.data={originalError:u(g)})}else y.code=e.standardErrorCodes.rpc.internal,y.message=p(g,"message")?g.message:t,y.data={originalError:u(g)};return w&&(y.stack=p(g,"stack")?g.stack:void 0),y}r.serialize=a;function l(g){return g>=-32099&&g<=-32e3}function u(g){return g&&typeof g=="object"&&!Array.isArray(g)?Object.assign({},g):g}function h(g,w){return Object.prototype.hasOwnProperty.call(g,w)}function p(g,w){return typeof g=="object"&&g!==null&&w in g&&typeof g[w]=="string"}})(BS),Object.defineProperty($S,"__esModule",{value:!0}),$S.standardErrors=void 0;const Ho=Jd,ole=BS;$S.standardErrors={rpc:{parse:r=>Xl(Ho.standardErrorCodes.rpc.parse,r),invalidRequest:r=>Xl(Ho.standardErrorCodes.rpc.invalidRequest,r),invalidParams:r=>Xl(Ho.standardErrorCodes.rpc.invalidParams,r),methodNotFound:r=>Xl(Ho.standardErrorCodes.rpc.methodNotFound,r),internal:r=>Xl(Ho.standardErrorCodes.rpc.internal,r),server:r=>{if(!r||typeof r!="object"||Array.isArray(r))throw new Error("Ethereum RPC Server errors must provide single object argument.");const{code:e}=r;if(!Number.isInteger(e)||e>-32005||e<-32099)throw new Error('"code" must be an integer such that: -32099 <= code <= -32005');return Xl(e,r)},invalidInput:r=>Xl(Ho.standardErrorCodes.rpc.invalidInput,r),resourceNotFound:r=>Xl(Ho.standardErrorCodes.rpc.resourceNotFound,r),resourceUnavailable:r=>Xl(Ho.standardErrorCodes.rpc.resourceUnavailable,r),transactionRejected:r=>Xl(Ho.standardErrorCodes.rpc.transactionRejected,r),methodNotSupported:r=>Xl(Ho.standardErrorCodes.rpc.methodNotSupported,r),limitExceeded:r=>Xl(Ho.standardErrorCodes.rpc.limitExceeded,r)},provider:{userRejectedRequest:r=>vy(Ho.standardErrorCodes.provider.userRejectedRequest,r),unauthorized:r=>vy(Ho.standardErrorCodes.provider.unauthorized,r),unsupportedMethod:r=>vy(Ho.standardErrorCodes.provider.unsupportedMethod,r),disconnected:r=>vy(Ho.standardErrorCodes.provider.disconnected,r),chainDisconnected:r=>vy(Ho.standardErrorCodes.provider.chainDisconnected,r),unsupportedChain:r=>vy(Ho.standardErrorCodes.provider.unsupportedChain,r),custom:r=>{if(!r||typeof r!="object"||Array.isArray(r))throw new Error("Ethereum Provider custom errors must provide single object argument.");const{code:e,message:t,data:n}=r;if(!t||typeof t!="string")throw new Error('"message" must be a nonempty string');return new lle(e,t,n)}}};function Xl(r,e){const[t,n]=ale(e);return new cle(r,t||(0,ole.getMessageFromCode)(r),n)}function vy(r,e){const[t,n]=ale(e);return new lle(r,t||(0,ole.getMessageFromCode)(r),n)}function ale(r){if(r){if(typeof r=="string")return[r];if(typeof r=="object"&&!Array.isArray(r)){const{message:e,data:t}=r;if(e&&typeof e!="string")throw new Error("Must specify string message.");return[e||void 0,t]}}return[]}let cle=class extends Error{constructor(e,t,n){if(!Number.isInteger(e))throw new Error('"code" must be an integer.');if(!t||typeof t!="string")throw new Error('"message" must be a nonempty string.');super(t),this.code=e,n!==void 0&&(this.data=n)}},lle=class extends cle{constructor(e,t,n){if(!iLe(e))throw new Error('"code" must be an integer such that: 1000 <= code <= 4999');super(e,t,n)}};function iLe(r){return Number.isInteger(r)&&r>=1e3&&r<=4999}var LS={},yy={};Object.defineProperty(yy,"__esModule",{value:!0}),yy.isErrorResponse=void 0;function sLe(r){return r.errorMessage!==void 0}yy.isErrorResponse=sLe;var xy={};Object.defineProperty(xy,"__esModule",{value:!0}),xy.LIB_VERSION=void 0,xy.LIB_VERSION="3.9.1",Object.defineProperty(LS,"__esModule",{value:!0}),LS.serializeError=void 0;const oLe=yy,aLe=xy,cLe=Jd,lLe=BS;function uLe(r,e){const t=(0,lLe.serialize)(hLe(r),{shouldIncludeStack:!0}),n=new URL("https://docs.cloud.coinbase.com/wallet-sdk/docs/errors");n.searchParams.set("version",aLe.LIB_VERSION),n.searchParams.set("code",t.code.toString());const i=fLe(t.data,e);return i&&n.searchParams.set("method",i),n.searchParams.set("message",t.message),Object.assign(Object.assign({},t),{docUrl:n.href})}LS.serializeError=uLe;function hLe(r){return typeof r=="string"?{message:r,code:cLe.standardErrorCodes.rpc.internal}:(0,oLe.isErrorResponse)(r)?Object.assign(Object.assign({},r),{message:r.errorMessage,code:r.errorCode,data:{method:r.method}}):r}function fLe(r,e){const t=r==null?void 0:r.method;if(t)return t;if(e!==void 0){if(typeof e=="string")return e;if(Array.isArray(e)){if(e.length>0)return e[0].method}else return e.method}}(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.standardErrors=r.standardErrorCodes=r.serializeError=r.getMessageFromCode=r.getErrorCode=void 0;const e=Jd;Object.defineProperty(r,"standardErrorCodes",{enumerable:!0,get:function(){return e.standardErrorCodes}});const t=$S;Object.defineProperty(r,"standardErrors",{enumerable:!0,get:function(){return t.standardErrors}});const n=LS;Object.defineProperty(r,"serializeError",{enumerable:!0,get:function(){return n.serializeError}});const i=BS;Object.defineProperty(r,"getErrorCode",{enumerable:!0,get:function(){return i.getErrorCode}}),Object.defineProperty(r,"getMessageFromCode",{enumerable:!0,get:function(){return i.getMessageFromCode}})})(a8);var Js={};Object.defineProperty(Js,"__esModule",{value:!0}),Js.ProviderType=Js.RegExpString=Js.IntNumber=Js.BigIntString=Js.AddressString=Js.HexString=Js.OpaqueType=void 0;function c8(){return r=>r}Js.OpaqueType=c8,Js.HexString=c8(),Js.AddressString=c8(),Js.BigIntString=c8();function dLe(r){return Math.floor(r)}Js.IntNumber=dLe,Js.RegExpString=c8();var ule;(function(r){r.CoinbaseWallet="CoinbaseWallet",r.MetaMask="MetaMask",r.Unselected=""})(ule||(Js.ProviderType=ule={}));var pLe=ct&&ct.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(mr,"__esModule",{value:!0}),mr.isMobileWeb=mr.getLocation=mr.isInIFrame=mr.createQrUrl=mr.getFavicon=mr.range=mr.isBigNumber=mr.ensureParsedJSONObject=mr.ensureBN=mr.ensureRegExpString=mr.ensureIntNumber=mr.ensureBuffer=mr.ensureAddressString=mr.ensureEvenLengthHexString=mr.ensureHexString=mr.isHexString=mr.prepend0x=mr.strip0x=mr.has0xPrefix=mr.hexStringFromIntNumber=mr.intNumberFromHexString=mr.bigIntStringFromBN=mr.hexStringFromBuffer=mr.hexStringToUint8Array=mr.uint8ArrayToHex=mr.randomBytesHex=void 0;const m1=pLe(wy),Um=a8,eu=Js,hle=/^[0-9]*$/,fle=/^[a-f0-9]*$/;function gLe(r){return dle(crypto.getRandomValues(new Uint8Array(r)))}mr.randomBytesHex=gLe;function dle(r){return[...r].map(e=>e.toString(16).padStart(2,"0")).join("")}mr.uint8ArrayToHex=dle;function mLe(r){return new Uint8Array(r.match(/.{1,2}/g).map(e=>parseInt(e,16)))}mr.hexStringToUint8Array=mLe;function bLe(r,e=!1){const t=r.toString("hex");return(0,eu.HexString)(e?`0x${t}`:t)}mr.hexStringFromBuffer=bLe;function wLe(r){return(0,eu.BigIntString)(r.toString(10))}mr.bigIntStringFromBN=wLe;function vLe(r){return(0,eu.IntNumber)(new m1.default(u8(r,!1),16).toNumber())}mr.intNumberFromHexString=vLe;function yLe(r){return(0,eu.HexString)(`0x${new m1.default(r).toString(16)}`)}mr.hexStringFromIntNumber=yLe;function TB(r){return r.startsWith("0x")||r.startsWith("0X")}mr.has0xPrefix=TB;function US(r){return TB(r)?r.slice(2):r}mr.strip0x=US;function ple(r){return TB(r)?`0x${r.slice(2)}`:`0x${r}`}mr.prepend0x=ple;function l8(r){if(typeof r!="string")return!1;const e=US(r).toLowerCase();return fle.test(e)}mr.isHexString=l8;function gle(r,e=!1){if(typeof r=="string"){const t=US(r).toLowerCase();if(fle.test(t))return(0,eu.HexString)(e?`0x${t}`:t)}throw Um.standardErrors.rpc.invalidParams(`"${String(r)}" is not a hexadecimal string`)}mr.ensureHexString=gle;function u8(r,e=!1){let t=gle(r,!1);return t.length%2===1&&(t=(0,eu.HexString)(`0${t}`)),e?(0,eu.HexString)(`0x${t}`):t}mr.ensureEvenLengthHexString=u8;function xLe(r){if(typeof r=="string"){const e=US(r).toLowerCase();if(l8(e)&&e.length===40)return(0,eu.AddressString)(ple(e))}throw Um.standardErrors.rpc.invalidParams(`Invalid Ethereum address: ${String(r)}`)}mr.ensureAddressString=xLe;function _Le(r){if(Dt.isBuffer(r))return r;if(typeof r=="string"){if(l8(r)){const e=u8(r,!1);return Dt.from(e,"hex")}return Dt.from(r,"utf8")}throw Um.standardErrors.rpc.invalidParams(`Not binary data: ${String(r)}`)}mr.ensureBuffer=_Le;function mle(r){if(typeof r=="number"&&Number.isInteger(r))return(0,eu.IntNumber)(r);if(typeof r=="string"){if(hle.test(r))return(0,eu.IntNumber)(Number(r));if(l8(r))return(0,eu.IntNumber)(new m1.default(u8(r,!1),16).toNumber())}throw Um.standardErrors.rpc.invalidParams(`Not an integer: ${String(r)}`)}mr.ensureIntNumber=mle;function ELe(r){if(r instanceof RegExp)return(0,eu.RegExpString)(r.toString());throw Um.standardErrors.rpc.invalidParams(`Not a RegExp: ${String(r)}`)}mr.ensureRegExpString=ELe;function ALe(r){if(r!==null&&(m1.default.isBN(r)||ble(r)))return new m1.default(r.toString(10),10);if(typeof r=="number")return new m1.default(mle(r));if(typeof r=="string"){if(hle.test(r))return new m1.default(r,10);if(l8(r))return new m1.default(u8(r,!1),16)}throw Um.standardErrors.rpc.invalidParams(`Not an integer: ${String(r)}`)}mr.ensureBN=ALe;function CLe(r){if(typeof r=="string")return JSON.parse(r);if(typeof r=="object")return r;throw Um.standardErrors.rpc.invalidParams(`Not a JSON string or an object: ${String(r)}`)}mr.ensureParsedJSONObject=CLe;function ble(r){if(r==null||typeof r.constructor!="function")return!1;const{constructor:e}=r;return typeof e.config=="function"&&typeof e.EUCLID=="number"}mr.isBigNumber=ble;function SLe(r,e){return Array.from({length:e-r},(t,n)=>r+n)}mr.range=SLe;function ILe(){const r=document.querySelector('link[sizes="192x192"]')||document.querySelector('link[sizes="180x180"]')||document.querySelector('link[rel="icon"]')||document.querySelector('link[rel="shortcut icon"]'),{protocol:e,host:t}=document.location,n=r?r.getAttribute("href"):null;return!n||n.startsWith("javascript:")||n.startsWith("vbscript:")?null:n.startsWith("http://")||n.startsWith("https://")||n.startsWith("data:")?n:n.startsWith("//")?e+n:`${e}//${t}${n}`}mr.getFavicon=ILe;function TLe(r,e,t,n,i,s){const o=n?"parent-id":"id",a=new URLSearchParams({[o]:r,secret:e,server:t,v:i,chainId:s.toString()}).toString();return`${t}/#/link?${a}`}mr.createQrUrl=TLe;function wle(){try{return window.frameElement!==null}catch{return!1}}mr.isInIFrame=wle;function RLe(){try{return wle()&&window.top?window.top.location:window.location}catch{return window.location}}mr.getLocation=RLe;function kLe(){var r;return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test((r=window==null?void 0:window.navigator)===null||r===void 0?void 0:r.userAgent)}mr.isMobileWeb=kLe;var FS={};Object.defineProperty(FS,"__esModule",{value:!0}),FS.ScopedLocalStorage=void 0;class MLe{constructor(e){this.scope=e}setItem(e,t){localStorage.setItem(this.scopedKey(e),t)}getItem(e){return localStorage.getItem(this.scopedKey(e))}removeItem(e){localStorage.removeItem(this.scopedKey(e))}clear(){const e=this.scopedKey(""),t=[];for(let n=0;nlocalStorage.removeItem(n))}scopedKey(e){return`${this.scope}:${e}`}}FS.ScopedLocalStorage=MLe;var _y={};const NLe=ad(ywe);var h8={},f8={},Ey={};Object.defineProperty(Ey,"__esModule",{value:!0}),Ey.EVENTS=void 0,Ey.EVENTS={STARTED_CONNECTING:"walletlink_sdk.started.connecting",CONNECTED_STATE_CHANGE:"walletlink_sdk.connected",DISCONNECTED:"walletlink_sdk.disconnected",METADATA_DESTROYED:"walletlink_sdk_metadata_destroyed",LINKED:"walletlink_sdk.linked",FAILURE:"walletlink_sdk.generic_failure",SESSION_CONFIG_RECEIVED:"walletlink_sdk.session_config_event_received",ETH_ACCOUNTS_STATE:"walletlink_sdk.eth_accounts_state",SESSION_STATE_CHANGE:"walletlink_sdk.session_state_change",UNLINKED_ERROR_STATE:"walletlink_sdk.unlinked_error_state",SKIPPED_CLEARING_SESSION:"walletlink_sdk.skipped_clearing_session",GENERAL_ERROR:"walletlink_sdk.general_error",WEB3_REQUEST:"walletlink_sdk.web3.request",WEB3_REQUEST_PUBLISHED:"walletlink_sdk.web3.request_published",WEB3_RESPONSE:"walletlink_sdk.web3.response",METHOD_NOT_IMPLEMENTED:"walletlink_sdk.method_not_implemented",UNKNOWN_ADDRESS_ENCOUNTERED:"walletlink_sdk.unknown_address_encountered"};var tu={};Object.defineProperty(tu,"__esModule",{value:!0}),tu.RelayAbstract=tu.APP_VERSION_KEY=tu.LOCAL_STORAGE_ADDRESSES_KEY=tu.WALLET_USER_NAME_KEY=void 0;const vle=a8;tu.WALLET_USER_NAME_KEY="walletUsername",tu.LOCAL_STORAGE_ADDRESSES_KEY="Addresses",tu.APP_VERSION_KEY="AppVersion";class PLe{async makeEthereumJSONRPCRequest(e,t){if(!t)throw new Error("Error: No jsonRpcUrl provided");return window.fetch(t,{method:"POST",body:JSON.stringify(e),mode:"cors",headers:{"Content-Type":"application/json"}}).then(n=>n.json()).then(n=>{if(!n)throw vle.standardErrors.rpc.parse({});const i=n,{error:s}=i;if(s)throw(0,vle.serializeError)(s,e.method);return i})}}tu.RelayAbstract=PLe;var Ay={},RB={},OLe={get exports(){return RB},set exports(r){RB=r}},Zc={},yle={get exports(){return Zc},set exports(r){Zc=r}};typeof Object.create=="function"?yle.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:yle.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}};var wf={},DLe={get exports(){return wf},set exports(r){wf=r}};/*! safe-buffer. MIT License. Feross Aboukhadijeh */(function(r,e){var t=qc,n=t.Buffer;function i(o,a){for(var l in o)a[l]=o[l]}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?r.exports=t:(i(t,e),e.Buffer=s);function s(o,a,l){return n(o,a,l)}s.prototype=Object.create(n.prototype),i(n,s),s.from=function(o,a,l){if(typeof o=="number")throw new TypeError("Argument must not be a number");return n(o,a,l)},s.alloc=function(o,a,l){if(typeof o!="number")throw new TypeError("Argument must be a number");var u=n(o);return a!==void 0?typeof l=="string"?u.fill(a,l):u.fill(a):u.fill(0),u},s.allocUnsafe=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return n(o)},s.allocUnsafeSlow=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return t.SlowBuffer(o)}})(DLe,wf);var xle=wf.Buffer;function jS(r,e){this._block=xle.alloc(r),this._finalSize=e,this._blockSize=r,this._len=0}jS.prototype.update=function(r,e){typeof r=="string"&&(e=e||"utf8",r=xle.from(r,e));for(var t=this._block,n=this._blockSize,i=r.length,s=this._len,o=0;o=this._finalSize&&(this._update(this._block),this._block.fill(0));var t=this._len*8;if(t<=4294967295)this._block.writeUInt32BE(t,this._blockSize-4);else{var n=(t&4294967295)>>>0,i=(t-n)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var s=this._hash();return r?s.toString(r):s},jS.prototype._update=function(){throw new Error("_update must be implemented by subclass")};var Cy=jS,$Le=Zc,_le=Cy,BLe=wf.Buffer,LLe=[1518500249,1859775393,-1894007588,-899497514],ULe=new Array(80);function d8(){this.init(),this._w=ULe,_le.call(this,64,56)}$Le(d8,_le),d8.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function FLe(r){return r<<5|r>>>27}function jLe(r){return r<<30|r>>>2}function zLe(r,e,t,n){return r===0?e&t|~e&n:r===2?e&t|e&n|t&n:e^t^n}d8.prototype._update=function(r){for(var e=this._w,t=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,a=0;a<16;++a)e[a]=r.readInt32BE(a*4);for(;a<80;++a)e[a]=e[a-3]^e[a-8]^e[a-14]^e[a-16];for(var l=0;l<80;++l){var u=~~(l/20),h=FLe(t)+zLe(u,n,i,s)+o+e[l]+LLe[u]|0;o=s,s=i,i=jLe(n),n=t,t=h}this._a=t+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=o+this._e|0},d8.prototype._hash=function(){var r=BLe.allocUnsafe(20);return r.writeInt32BE(this._a|0,0),r.writeInt32BE(this._b|0,4),r.writeInt32BE(this._c|0,8),r.writeInt32BE(this._d|0,12),r.writeInt32BE(this._e|0,16),r};var HLe=d8,qLe=Zc,Ele=Cy,WLe=wf.Buffer,VLe=[1518500249,1859775393,-1894007588,-899497514],GLe=new Array(80);function p8(){this.init(),this._w=GLe,Ele.call(this,64,56)}qLe(p8,Ele),p8.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function KLe(r){return r<<1|r>>>31}function ZLe(r){return r<<5|r>>>27}function JLe(r){return r<<30|r>>>2}function YLe(r,e,t,n){return r===0?e&t|~e&n:r===2?e&t|e&n|t&n:e^t^n}p8.prototype._update=function(r){for(var e=this._w,t=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,a=0;a<16;++a)e[a]=r.readInt32BE(a*4);for(;a<80;++a)e[a]=KLe(e[a-3]^e[a-8]^e[a-14]^e[a-16]);for(var l=0;l<80;++l){var u=~~(l/20),h=ZLe(t)+YLe(u,n,i,s)+o+e[l]+VLe[u]|0;o=s,s=i,i=JLe(n),n=t,t=h}this._a=t+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=o+this._e|0},p8.prototype._hash=function(){var r=WLe.allocUnsafe(20);return r.writeInt32BE(this._a|0,0),r.writeInt32BE(this._b|0,4),r.writeInt32BE(this._c|0,8),r.writeInt32BE(this._d|0,12),r.writeInt32BE(this._e|0,16),r};var QLe=p8,XLe=Zc,Ale=Cy,eUe=wf.Buffer,tUe=[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,2756734187,3204031479,3329325298],rUe=new Array(64);function g8(){this.init(),this._w=rUe,Ale.call(this,64,56)}XLe(g8,Ale),g8.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this};function nUe(r,e,t){return t^r&(e^t)}function iUe(r,e,t){return r&e|t&(r|e)}function sUe(r){return(r>>>2|r<<30)^(r>>>13|r<<19)^(r>>>22|r<<10)}function oUe(r){return(r>>>6|r<<26)^(r>>>11|r<<21)^(r>>>25|r<<7)}function aUe(r){return(r>>>7|r<<25)^(r>>>18|r<<14)^r>>>3}function cUe(r){return(r>>>17|r<<15)^(r>>>19|r<<13)^r>>>10}g8.prototype._update=function(r){for(var e=this._w,t=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,a=this._f|0,l=this._g|0,u=this._h|0,h=0;h<16;++h)e[h]=r.readInt32BE(h*4);for(;h<64;++h)e[h]=cUe(e[h-2])+e[h-7]+aUe(e[h-15])+e[h-16]|0;for(var p=0;p<64;++p){var g=u+oUe(o)+nUe(o,a,l)+tUe[p]+e[p]|0,w=sUe(t)+iUe(t,n,i)|0;u=l,l=a,a=o,o=s+g|0,s=i,i=n,n=t,t=g+w|0}this._a=t+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=o+this._e|0,this._f=a+this._f|0,this._g=l+this._g|0,this._h=u+this._h|0},g8.prototype._hash=function(){var r=eUe.allocUnsafe(32);return r.writeInt32BE(this._a,0),r.writeInt32BE(this._b,4),r.writeInt32BE(this._c,8),r.writeInt32BE(this._d,12),r.writeInt32BE(this._e,16),r.writeInt32BE(this._f,20),r.writeInt32BE(this._g,24),r.writeInt32BE(this._h,28),r};var Cle=g8,lUe=Zc,uUe=Cle,hUe=Cy,fUe=wf.Buffer,dUe=new Array(64);function zS(){this.init(),this._w=dUe,hUe.call(this,64,56)}lUe(zS,uUe),zS.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},zS.prototype._hash=function(){var r=fUe.allocUnsafe(28);return r.writeInt32BE(this._a,0),r.writeInt32BE(this._b,4),r.writeInt32BE(this._c,8),r.writeInt32BE(this._d,12),r.writeInt32BE(this._e,16),r.writeInt32BE(this._f,20),r.writeInt32BE(this._g,24),r};var pUe=zS,gUe=Zc,Sle=Cy,mUe=wf.Buffer,Ile=[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,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],bUe=new Array(160);function m8(){this.init(),this._w=bUe,Sle.call(this,128,112)}gUe(m8,Sle),m8.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this};function Tle(r,e,t){return t^r&(e^t)}function Rle(r,e,t){return r&e|t&(r|e)}function kle(r,e){return(r>>>28|e<<4)^(e>>>2|r<<30)^(e>>>7|r<<25)}function Mle(r,e){return(r>>>14|e<<18)^(r>>>18|e<<14)^(e>>>9|r<<23)}function wUe(r,e){return(r>>>1|e<<31)^(r>>>8|e<<24)^r>>>7}function vUe(r,e){return(r>>>1|e<<31)^(r>>>8|e<<24)^(r>>>7|e<<25)}function yUe(r,e){return(r>>>19|e<<13)^(e>>>29|r<<3)^r>>>6}function xUe(r,e){return(r>>>19|e<<13)^(e>>>29|r<<3)^(r>>>6|e<<26)}function Co(r,e){return r>>>0>>0?1:0}m8.prototype._update=function(r){for(var e=this._w,t=this._ah|0,n=this._bh|0,i=this._ch|0,s=this._dh|0,o=this._eh|0,a=this._fh|0,l=this._gh|0,u=this._hh|0,h=this._al|0,p=this._bl|0,g=this._cl|0,w=this._dl|0,y=this._el|0,C=this._fl|0,T=this._gl|0,k=this._hl|0,N=0;N<32;N+=2)e[N]=r.readInt32BE(N*4),e[N+1]=r.readInt32BE(N*4+4);for(;N<160;N+=2){var O=e[N-30],B=e[N-15*2+1],z=wUe(O,B),G=vUe(B,O);O=e[N-2*2],B=e[N-2*2+1];var $=yUe(O,B),D=xUe(B,O),V=e[N-7*2],Q=e[N-7*2+1],F=e[N-16*2],M=e[N-16*2+1],b=G+Q|0,d=z+V+Co(b,G)|0;b=b+D|0,d=d+$+Co(b,D)|0,b=b+M|0,d=d+F+Co(b,M)|0,e[N]=d,e[N+1]=b}for(var m=0;m<160;m+=2){d=e[m],b=e[m+1];var x=Rle(t,n,i),A=Rle(h,p,g),I=kle(t,h),R=kle(h,t),S=Mle(o,y),E=Mle(y,o),_=Ile[m],L=Ile[m+1],ie=Tle(o,a,l),q=Tle(y,C,T),Y=k+E|0,K=u+S+Co(Y,k)|0;Y=Y+q|0,K=K+ie+Co(Y,q)|0,Y=Y+L|0,K=K+_+Co(Y,L)|0,Y=Y+b|0,K=K+d+Co(Y,b)|0;var te=R+A|0,re=I+x+Co(te,R)|0;u=l,k=T,l=a,T=C,a=o,C=y,y=w+Y|0,o=s+K+Co(y,w)|0,s=i,w=g,i=n,g=p,n=t,p=h,h=Y+te|0,t=K+re+Co(h,Y)|0}this._al=this._al+h|0,this._bl=this._bl+p|0,this._cl=this._cl+g|0,this._dl=this._dl+w|0,this._el=this._el+y|0,this._fl=this._fl+C|0,this._gl=this._gl+T|0,this._hl=this._hl+k|0,this._ah=this._ah+t+Co(this._al,h)|0,this._bh=this._bh+n+Co(this._bl,p)|0,this._ch=this._ch+i+Co(this._cl,g)|0,this._dh=this._dh+s+Co(this._dl,w)|0,this._eh=this._eh+o+Co(this._el,y)|0,this._fh=this._fh+a+Co(this._fl,C)|0,this._gh=this._gh+l+Co(this._gl,T)|0,this._hh=this._hh+u+Co(this._hl,k)|0},m8.prototype._hash=function(){var r=mUe.allocUnsafe(64);function e(t,n,i){r.writeInt32BE(t,i),r.writeInt32BE(n,i+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),e(this._gh,this._gl,48),e(this._hh,this._hl,56),r};var Nle=m8,_Ue=Zc,EUe=Nle,AUe=Cy,CUe=wf.Buffer,SUe=new Array(160);function HS(){this.init(),this._w=SUe,AUe.call(this,128,112)}_Ue(HS,EUe),HS.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},HS.prototype._hash=function(){var r=CUe.allocUnsafe(48);function e(t,n,i){r.writeInt32BE(t,i),r.writeInt32BE(n,i+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),r};var IUe=HS,Fm=OLe.exports=function(e){e=e.toLowerCase();var t=Fm[e];if(!t)throw new Error(e+" is not supported (we accept pull requests)");return new t};Fm.sha=HLe,Fm.sha1=QLe,Fm.sha224=pUe,Fm.sha256=Cle,Fm.sha384=IUe,Fm.sha512=Nle,Object.defineProperty(Ay,"__esModule",{value:!0}),Ay.Session=void 0;const Ple=RB,Ole=mr,Dle="session:id",$le="session:secret",Ble="session:linked";class kB{constructor(e,t,n,i){this._storage=e,this._id=t||(0,Ole.randomBytesHex)(16),this._secret=n||(0,Ole.randomBytesHex)(32),this._key=new Ple.sha256().update(`${this._id}, ${this._secret} WalletLink`).digest("hex"),this._linked=!!i}static load(e){const t=e.getItem(Dle),n=e.getItem(Ble),i=e.getItem($le);return t&&i?new kB(e,t,i,n==="1"):null}static hash(e){return new Ple.sha256().update(e).digest("hex")}get id(){return this._id}get secret(){return this._secret}get key(){return this._key}get linked(){return this._linked}set linked(e){this._linked=e,this.persistLinked()}save(){return this._storage.setItem(Dle,this._id),this._storage.setItem($le,this._secret),this.persistLinked(),this}persistLinked(){this._storage.setItem(Ble,this._linked?"1":"0")}}Ay.Session=kB;var qS={},WS={};Object.defineProperty(WS,"__esModule",{value:!0}),WS.Cipher=void 0;const VS=mr;class TUe{constructor(e){this.secret=e}async encrypt(e){const t=this.secret;if(t.length!==64)throw Error("secret must be 256 bits");const n=crypto.getRandomValues(new Uint8Array(12)),i=await crypto.subtle.importKey("raw",(0,VS.hexStringToUint8Array)(t),{name:"aes-gcm"},!1,["encrypt","decrypt"]),s=new TextEncoder,o=await window.crypto.subtle.encrypt({name:"AES-GCM",iv:n},i,s.encode(e)),a=16,l=o.slice(o.byteLength-a),u=o.slice(0,o.byteLength-a),h=new Uint8Array(l),p=new Uint8Array(u),g=new Uint8Array([...n,...h,...p]);return(0,VS.uint8ArrayToHex)(g)}async decrypt(e){const t=this.secret;if(t.length!==64)throw Error("secret must be 256 bits");return new Promise((n,i)=>{(async function(){const s=await crypto.subtle.importKey("raw",(0,VS.hexStringToUint8Array)(t),{name:"aes-gcm"},!1,["encrypt","decrypt"]),o=(0,VS.hexStringToUint8Array)(e),a=o.slice(0,12),l=o.slice(12,28),u=o.slice(28),h=new Uint8Array([...u,...l]),p={name:"AES-GCM",iv:new Uint8Array(a)};try{const g=await window.crypto.subtle.decrypt(p,s,h),w=new TextDecoder;n(w.decode(g))}catch(g){i(g)}})()})}}WS.Cipher=TUe;var GS={};Object.defineProperty(GS,"__esModule",{value:!0}),GS.WalletLinkHTTP=void 0;class RUe{constructor(e,t,n){this.linkAPIUrl=e,this.sessionId=t;const i=`${t}:${n}`;this.auth=`Basic ${btoa(i)}`}async markUnseenEventsAsSeen(e){return Promise.all(e.map(t=>fetch(`${this.linkAPIUrl}/events/${t.eventId}/seen`,{method:"POST",headers:{Authorization:this.auth}}))).catch(t=>console.error("Unabled to mark event as failed:",t))}async fetchUnseenEvents(){var e;const t=await fetch(`${this.linkAPIUrl}/events?unseen=true`,{headers:{Authorization:this.auth}});if(t.ok){const{events:n,error:i}=await t.json();if(i)throw new Error(`Check unseen events failed: ${i}`);const s=(e=n==null?void 0:n.filter(o=>o.event==="Web3Response").map(o=>({type:"Event",sessionId:this.sessionId,eventId:o.id,event:o.event,data:o.data})))!==null&&e!==void 0?e:[];return this.markUnseenEventsAsSeen(s),s}throw new Error(`Check unseen events failed: ${t.status}`)}}GS.WalletLinkHTTP=RUe;var Sy={};Object.defineProperty(Sy,"__esModule",{value:!0}),Sy.WalletLinkWebSocket=Sy.ConnectionState=void 0;var Iy;(function(r){r[r.DISCONNECTED=0]="DISCONNECTED",r[r.CONNECTING=1]="CONNECTING",r[r.CONNECTED=2]="CONNECTED"})(Iy||(Sy.ConnectionState=Iy={}));class kUe{setConnectionStateListener(e){this.connectionStateListener=e}setIncomingDataListener(e){this.incomingDataListener=e}constructor(e,t=WebSocket){this.WebSocketClass=t,this.webSocket=null,this.pendingData=[],this.url=e.replace(/^http/,"ws")}async connect(){if(this.webSocket)throw new Error("webSocket object is not null");return new Promise((e,t)=>{var n;let i;try{this.webSocket=i=new this.WebSocketClass(this.url)}catch(s){t(s);return}(n=this.connectionStateListener)===null||n===void 0||n.call(this,Iy.CONNECTING),i.onclose=s=>{var o;this.clearWebSocket(),t(new Error(`websocket error ${s.code}: ${s.reason}`)),(o=this.connectionStateListener)===null||o===void 0||o.call(this,Iy.DISCONNECTED)},i.onopen=s=>{var o;e(),(o=this.connectionStateListener)===null||o===void 0||o.call(this,Iy.CONNECTED),this.pendingData.length>0&&([...this.pendingData].forEach(l=>this.sendData(l)),this.pendingData=[])},i.onmessage=s=>{var o,a;if(s.data==="h")(o=this.incomingDataListener)===null||o===void 0||o.call(this,{type:"Heartbeat"});else try{const l=JSON.parse(s.data);(a=this.incomingDataListener)===null||a===void 0||a.call(this,l)}catch{}}})}disconnect(){var e;const{webSocket:t}=this;if(t){this.clearWebSocket(),(e=this.connectionStateListener)===null||e===void 0||e.call(this,Iy.DISCONNECTED),this.connectionStateListener=void 0,this.incomingDataListener=void 0;try{t.close()}catch{}}}sendData(e){const{webSocket:t}=this;if(!t){this.pendingData.push(e),this.connect();return}t.send(e)}clearWebSocket(){const{webSocket:e}=this;e&&(this.webSocket=null,e.onclose=null,e.onerror=null,e.onmessage=null,e.onopen=null)}}Sy.WalletLinkWebSocket=kUe,Object.defineProperty(qS,"__esModule",{value:!0}),qS.WalletLinkConnection=void 0;const Ty=Js,MUe=WS,vf=Ey,Lle=tu,Ry=Ay,NUe=GS,KS=Sy,Ule=1e4,PUe=6e4;class OUe{constructor({session:e,linkAPIUrl:t,listener:n,diagnostic:i,WebSocketClass:s=WebSocket}){this.destroyed=!1,this.lastHeartbeatResponse=0,this.nextReqId=(0,Ty.IntNumber)(1),this._connected=!1,this._linked=!1,this.shouldFetchUnseenEventsOnConnect=!1,this.requestResolutions=new Map,this.handleSessionMetadataUpdated=a=>{if(!a)return;new Map([["__destroyed",this.handleDestroyed],["EthereumAddress",this.handleAccountUpdated],["WalletUsername",this.handleWalletUsernameUpdated],["AppVersion",this.handleAppVersionUpdated],["ChainId",u=>a.JsonRpcUrl&&this.handleChainUpdated(u,a.JsonRpcUrl)]]).forEach((u,h)=>{const p=a[h];p!==void 0&&u(p)})},this.handleDestroyed=a=>{var l,u;a==="1"&&((l=this.listener)===null||l===void 0||l.resetAndReload(),(u=this.diagnostic)===null||u===void 0||u.log(vf.EVENTS.METADATA_DESTROYED,{alreadyDestroyed:this.isDestroyed,sessionIdHash:Ry.Session.hash(this.session.id)}))},this.handleAccountUpdated=async a=>{var l,u;try{const h=await this.cipher.decrypt(a);(l=this.listener)===null||l===void 0||l.accountUpdated(h)}catch{(u=this.diagnostic)===null||u===void 0||u.log(vf.EVENTS.GENERAL_ERROR,{message:"Had error decrypting",value:"selectedAddress"})}},this.handleMetadataUpdated=async(a,l)=>{var u,h;try{const p=await this.cipher.decrypt(l);(u=this.listener)===null||u===void 0||u.metadataUpdated(a,p)}catch{(h=this.diagnostic)===null||h===void 0||h.log(vf.EVENTS.GENERAL_ERROR,{message:"Had error decrypting",value:a})}},this.handleWalletUsernameUpdated=async a=>{this.handleMetadataUpdated(Lle.WALLET_USER_NAME_KEY,a)},this.handleAppVersionUpdated=async a=>{this.handleMetadataUpdated(Lle.APP_VERSION_KEY,a)},this.handleChainUpdated=async(a,l)=>{var u,h;try{const p=await this.cipher.decrypt(a),g=await this.cipher.decrypt(l);(u=this.listener)===null||u===void 0||u.chainUpdated(p,g)}catch{(h=this.diagnostic)===null||h===void 0||h.log(vf.EVENTS.GENERAL_ERROR,{message:"Had error decrypting",value:"chainId|jsonRpcUrl"})}},this.session=e,this.cipher=new MUe.Cipher(e.secret),this.diagnostic=i,this.listener=n;const o=new KS.WalletLinkWebSocket(`${t}/rpc`,s);o.setConnectionStateListener(async a=>{var l;(l=this.diagnostic)===null||l===void 0||l.log(vf.EVENTS.CONNECTED_STATE_CHANGE,{state:a,sessionIdHash:Ry.Session.hash(e.id)});let u=!1;switch(a){case KS.ConnectionState.DISCONNECTED:if(!this.destroyed){const h=async()=>{await new Promise(p=>setTimeout(p,5e3)),this.destroyed||o.connect().catch(()=>{h()})};h()}break;case KS.ConnectionState.CONNECTED:try{await this.authenticate(),this.sendIsLinked(),this.sendGetSessionConfig(),u=!0}catch{}this.updateLastHeartbeat(),setInterval(()=>{this.heartbeat()},Ule),this.shouldFetchUnseenEventsOnConnect&&this.fetchUnseenEventsAPI();break;case KS.ConnectionState.CONNECTING:break}this.connected!==u&&(this.connected=u)}),o.setIncomingDataListener(a=>{var l,u,h;switch(a.type){case"Heartbeat":this.updateLastHeartbeat();return;case"IsLinkedOK":case"Linked":{const p=a.type==="IsLinkedOK"?a.linked:void 0;(l=this.diagnostic)===null||l===void 0||l.log(vf.EVENTS.LINKED,{sessionIdHash:Ry.Session.hash(e.id),linked:p,type:a.type,onlineGuests:a.onlineGuests}),this.linked=p||a.onlineGuests>0;break}case"GetSessionConfigOK":case"SessionConfigUpdated":{(u=this.diagnostic)===null||u===void 0||u.log(vf.EVENTS.SESSION_CONFIG_RECEIVED,{sessionIdHash:Ry.Session.hash(e.id),metadata_keys:a&&a.metadata?Object.keys(a.metadata):void 0}),this.handleSessionMetadataUpdated(a.metadata);break}case"Event":{this.handleIncomingEvent(a);break}}a.id!==void 0&&((h=this.requestResolutions.get(a.id))===null||h===void 0||h(a))}),this.ws=o,this.http=new NUe.WalletLinkHTTP(t,e.id,e.key)}connect(){var e;if(this.destroyed)throw new Error("instance is destroyed");(e=this.diagnostic)===null||e===void 0||e.log(vf.EVENTS.STARTED_CONNECTING,{sessionIdHash:Ry.Session.hash(this.session.id)}),this.ws.connect()}destroy(){var e;this.destroyed=!0,this.ws.disconnect(),(e=this.diagnostic)===null||e===void 0||e.log(vf.EVENTS.DISCONNECTED,{sessionIdHash:Ry.Session.hash(this.session.id)}),this.listener=void 0}get isDestroyed(){return this.destroyed}get connected(){return this._connected}set connected(e){var t,n;this._connected=e,e&&((t=this.onceConnected)===null||t===void 0||t.call(this)),(n=this.listener)===null||n===void 0||n.connectedUpdated(e)}setOnceConnected(e){return new Promise(t=>{this.connected?e().then(t):this.onceConnected=()=>{e().then(t),this.onceConnected=void 0}})}get linked(){return this._linked}set linked(e){var t,n;this._linked=e,e&&((t=this.onceLinked)===null||t===void 0||t.call(this)),(n=this.listener)===null||n===void 0||n.linkedUpdated(e)}setOnceLinked(e){return new Promise(t=>{this.linked?e().then(t):this.onceLinked=()=>{e().then(t),this.onceLinked=void 0}})}async handleIncomingEvent(e){var t,n;if(!(e.type!=="Event"||e.event!=="Web3Response"))try{const i=await this.cipher.decrypt(e.data),s=JSON.parse(i);if(s.type!=="WEB3_RESPONSE")return;(t=this.listener)===null||t===void 0||t.handleWeb3ResponseMessage(s)}catch{(n=this.diagnostic)===null||n===void 0||n.log(vf.EVENTS.GENERAL_ERROR,{message:"Had error decrypting",value:"incomingEvent"})}}async checkUnseenEvents(){if(!this.connected){this.shouldFetchUnseenEventsOnConnect=!0;return}await new Promise(e=>setTimeout(e,250));try{await this.fetchUnseenEventsAPI()}catch(e){console.error("Unable to check for unseen events",e)}}async fetchUnseenEventsAPI(){this.shouldFetchUnseenEventsOnConnect=!1,(await this.http.fetchUnseenEvents()).forEach(t=>this.handleIncomingEvent(t))}async setSessionMetadata(e,t){const n={type:"SetSessionConfig",id:(0,Ty.IntNumber)(this.nextReqId++),sessionId:this.session.id,metadata:{[e]:t}};return this.setOnceConnected(async()=>{const i=await this.makeRequest(n);if(i.type==="Fail")throw new Error(i.error||"failed to set session metadata")})}async publishEvent(e,t,n=!1){const i=await this.cipher.encrypt(JSON.stringify(Object.assign(Object.assign({},t),{origin:location.origin,relaySource:window.coinbaseWalletExtension?"injected_sdk":"sdk"}))),s={type:"PublishEvent",id:(0,Ty.IntNumber)(this.nextReqId++),sessionId:this.session.id,event:e,data:i,callWebhook:n};return this.setOnceLinked(async()=>{const o=await this.makeRequest(s);if(o.type==="Fail")throw new Error(o.error||"failed to publish event");return o.eventId})}sendData(e){this.ws.sendData(JSON.stringify(e))}updateLastHeartbeat(){this.lastHeartbeatResponse=Date.now()}heartbeat(){if(Date.now()-this.lastHeartbeatResponse>Ule*2){this.ws.disconnect();return}try{this.ws.sendData("h")}catch{}}async makeRequest(e,t=PUe){const n=e.id;this.sendData(e);let i;return Promise.race([new Promise((s,o)=>{i=window.setTimeout(()=>{o(new Error(`request ${n} timed out`))},t)}),new Promise(s=>{this.requestResolutions.set(n,o=>{clearTimeout(i),s(o),this.requestResolutions.delete(n)})})])}async authenticate(){const e={type:"HostSession",id:(0,Ty.IntNumber)(this.nextReqId++),sessionId:this.session.id,sessionKey:this.session.key},t=await this.makeRequest(e);if(t.type==="Fail")throw new Error(t.error||"failed to authentcate")}sendIsLinked(){const e={type:"IsLinked",id:(0,Ty.IntNumber)(this.nextReqId++),sessionId:this.session.id};this.sendData(e)}sendGetSessionConfig(){const e={type:"GetSessionConfig",id:(0,Ty.IntNumber)(this.nextReqId++),sessionId:this.session.id};this.sendData(e)}}qS.WalletLinkConnection=OUe;var b8={},w8={},MB={};Object.defineProperty(MB,"__esModule",{value:!0}),MB.default=(()=>'@namespace svg "http://www.w3.org/2000/svg";.-cbwsdk-css-reset,.-cbwsdk-css-reset *{animation:none;animation-delay:0;animation-direction:normal;animation-duration:0;animation-fill-mode:none;animation-iteration-count:1;animation-name:none;animation-play-state:running;animation-timing-function:ease;backface-visibility:visible;background:0;background-attachment:scroll;background-clip:border-box;background-color:rgba(0,0,0,0);background-image:none;background-origin:padding-box;background-position:0 0;background-position-x:0;background-position-y:0;background-repeat:repeat;background-size:auto auto;border:0;border-style:none;border-width:medium;border-color:inherit;border-bottom:0;border-bottom-color:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-style:none;border-bottom-width:medium;border-collapse:separate;border-image:none;border-left:0;border-left-color:inherit;border-left-style:none;border-left-width:medium;border-radius:0;border-right:0;border-right-color:inherit;border-right-style:none;border-right-width:medium;border-spacing:0;border-top:0;border-top-color:inherit;border-top-left-radius:0;border-top-right-radius:0;border-top-style:none;border-top-width:medium;box-shadow:none;box-sizing:border-box;caption-side:top;clear:none;clip:auto;color:inherit;columns:auto;column-count:auto;column-fill:balance;column-gap:normal;column-rule:medium none currentColor;column-rule-color:currentColor;column-rule-style:none;column-rule-width:none;column-span:1;column-width:auto;counter-increment:none;counter-reset:none;direction:ltr;empty-cells:show;float:none;font:normal;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;height:auto;hyphens:none;letter-spacing:normal;line-height:normal;list-style:none;list-style-image:none;list-style-position:outside;list-style-type:disc;margin:0;margin-bottom:0;margin-left:0;margin-right:0;margin-top:0;opacity:1;orphans:0;outline:0;outline-color:invert;outline-style:none;outline-width:medium;overflow:visible;overflow-x:visible;overflow-y:visible;padding:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;page-break-after:auto;page-break-before:auto;page-break-inside:auto;perspective:none;perspective-origin:50% 50%;pointer-events:auto;position:static;quotes:"\\201C" "\\201D" "\\2018" "\\2019";tab-size:8;table-layout:auto;text-align:inherit;text-align-last:auto;text-decoration:none;text-decoration-color:inherit;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-shadow:none;text-transform:none;transform:none;transform-style:flat;transition:none;transition-delay:0s;transition-duration:0s;transition-property:none;transition-timing-function:ease;unicode-bidi:normal;vertical-align:baseline;visibility:visible;white-space:normal;widows:0;word-spacing:normal;z-index:auto}.-cbwsdk-css-reset strong{font-weight:bold}.-cbwsdk-css-reset *{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;line-height:1}.-cbwsdk-css-reset [class*=container]{margin:0;padding:0}.-cbwsdk-css-reset style{display:none}')();var DUe=ct&&ct.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(w8,"__esModule",{value:!0}),w8.injectCssReset=void 0;const $Ue=DUe(MB);function BUe(){const r=document.createElement("style");r.type="text/css",r.appendChild(document.createTextNode($Ue.default)),document.documentElement.appendChild(r)}w8.injectCssReset=BUe;var ZS={},v8,Zi,Fle,jle,jm,zle,Hle,NB,PB,OB,DB,qle,y8={},Wle=[],LUe=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,JS=Array.isArray;function Yd(r,e){for(var t in e)r[t]=e[t];return r}function Vle(r){var e=r.parentNode;e&&e.removeChild(r)}function $B(r,e,t){var n,i,s,o={};for(s in e)s=="key"?n=e[s]:s=="ref"?i=e[s]:o[s]=e[s];if(arguments.length>2&&(o.children=arguments.length>3?v8.call(arguments,2):t),typeof r=="function"&&r.defaultProps!=null)for(s in r.defaultProps)o[s]===void 0&&(o[s]=r.defaultProps[s]);return x8(r,o,n,i,null)}function x8(r,e,t,n,i){var s={type:r,props:e,key:t,ref:n,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:i??++Fle,__i:-1,__u:0};return i==null&&Zi.vnode!=null&&Zi.vnode(s),s}function UUe(){return{current:null}}function _8(r){return r.children}function E8(r,e){this.props=r,this.context=e}function zm(r,e){if(e==null)return r.__?zm(r.__,r.__i+1):null;for(var t;ee&&jm.sort(NB));YS.__r=0}function Kle(r,e,t,n,i,s,o,a,l,u,h){var p,g,w,y,C,T=n&&n.__k||Wle,k=e.length;for(t.__d=l,FUe(t,e,T),l=t.__d,p=0;p0?x8(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):i)!=null?(i.__=r,i.__b=r.__b+1,a=jUe(i,t,o,h),i.__i=a,s=null,a!==-1&&(h--,(s=t[a])&&(s.__u|=131072)),s==null||s.__v===null?(a==-1&&p--,typeof i.type!="function"&&(i.__u|=65536)):a!==o&&(a===o+1?p++:a>o?h>l-o?p+=a-o:p--:a(l!=null&&!(131072&l.__u)?1:0))for(;o>=0||a=0){if((l=e[o])&&!(131072&l.__u)&&i==l.key&&s===l.type)return o;o--}if(a2&&(a.children=arguments.length>3?v8.call(arguments,2):t),x8(r.type,a,n||r.key,i||r.ref,null)}function WUe(r,e){var t={__c:e="__cC"+qle++,__:r,Consumer:function(n,i){return n.children(i)},Provider:function(n){var i,s;return this.getChildContext||(i=[],(s={})[e]=this,this.getChildContext=function(){return s},this.shouldComponentUpdate=function(o){this.props.value!==o.value&&i.some(function(a){a.__e=!0,BB(a)})},this.sub=function(o){i.push(o);var a=o.componentWillUnmount;o.componentWillUnmount=function(){i.splice(i.indexOf(o),1),a&&a.call(o)}}),n.children}};return t.Provider.__=t.Consumer.contextType=t}v8=Wle.slice,Zi={__e:function(r,e,t,n){for(var i,s,o;e=e.__;)if((i=e.__c)&&!i.__)try{if((s=i.constructor)&&s.getDerivedStateFromError!=null&&(i.setState(s.getDerivedStateFromError(r)),o=i.__d),i.componentDidCatch!=null&&(i.componentDidCatch(r,n||{}),o=i.__d),o)return i.__E=i}catch(a){r=a}throw r}},Fle=0,jle=function(r){return r!=null&&r.constructor==null},E8.prototype.setState=function(r,e){var t;t=this.__s!=null&&this.__s!==this.state?this.__s:this.__s=Yd({},this.state),typeof r=="function"&&(r=r(Yd({},t),this.props)),r&&Yd(t,r),r!=null&&this.__v&&(e&&this._sb.push(e),BB(this))},E8.prototype.forceUpdate=function(r){this.__v&&(this.__e=!0,r&&this.__h.push(r),BB(this))},E8.prototype.render=_8,jm=[],Hle=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,NB=function(r,e){return r.__v.__b-e.__v.__b},YS.__r=0,PB=0,OB=Qle(!1),DB=Qle(!0),qle=0;const bc=ad(Object.freeze(Object.defineProperty({__proto__:null,Component:E8,Fragment:_8,cloneElement:qUe,createContext:WUe,createElement:$B,createRef:UUe,h:$B,hydrate:tue,get isValidElement(){return jle},get options(){return Zi},render:eue,toChildArray:Jle},Symbol.toStringTag,{value:"Module"})));var XS={};function rue(r){var e,t,n="";if(typeof r=="string"||typeof r=="number")n+=r;else if(typeof r=="object")if(Array.isArray(r))for(e=0;e=t.__.length&&t.__.push({__V:eI}),t.__[r]}function fue(r){return ky=1,due(mue,r)}function due(r,e,t){var n=Hm(Qd++,2);if(n.t=r,!n.__c&&(n.__=[t?t(e):mue(void 0,e),function(a){var l=n.__N?n.__N[0]:n.__[0],u=n.t(l,a);l!==u&&(n.__N=[u,n.__[1]],n.__c.setState({}))}],n.__c=_i,!_i.u)){var i=function(a,l,u){if(!n.__c.__H)return!0;var h=n.__c.__H.__.filter(function(g){return!!g.__c});if(h.every(function(g){return!g.__N}))return!s||s.call(this,a,l,u);var p=!1;return h.forEach(function(g){if(g.__N){var w=g.__[0];g.__=g.__N,g.__N=void 0,w!==g.__[0]&&(p=!0)}}),!(!p&&n.__c.props===a)&&(!s||s.call(this,a,l,u))};_i.u=!0;var s=_i.shouldComponentUpdate,o=_i.componentWillUpdate;_i.componentWillUpdate=function(a,l,u){if(this.__e){var h=s;s=void 0,i(a,l,u),s=h}o&&o.call(this,a,l,u)},_i.shouldComponentUpdate=i}return n.__N||n.__}function VUe(r,e){var t=Hm(Qd++,3);!rs.__s&&qB(t.__H,e)&&(t.__=r,t.i=e,_i.__H.__h.push(t))}function pue(r,e){var t=Hm(Qd++,4);!rs.__s&&qB(t.__H,e)&&(t.__=r,t.i=e,_i.__h.push(t))}function GUe(r){return ky=5,zB(function(){return{current:r}},[])}function KUe(r,e,t){ky=6,pue(function(){return typeof r=="function"?(r(e()),function(){return r(null)}):r?(r.current=e(),function(){return r.current=null}):void 0},t==null?t:t.concat(r))}function zB(r,e){var t=Hm(Qd++,7);return qB(t.__H,e)?(t.__V=r(),t.i=e,t.__h=r,t.__V):t.__}function ZUe(r,e){return ky=8,zB(function(){return r},e)}function JUe(r){var e=_i.context[r.__c],t=Hm(Qd++,9);return t.c=r,e?(t.__==null&&(t.__=!0,e.sub(_i)),e.props.value):r.__}function YUe(r,e){rs.useDebugValue&&rs.useDebugValue(e?e(r):r)}function QUe(r){var e=Hm(Qd++,10),t=fue();return e.__=r,_i.componentDidCatch||(_i.componentDidCatch=function(n,i){e.__&&e.__(n,i),t[1](n)}),[t[0],function(){t[1](void 0)}]}function XUe(){var r=Hm(Qd++,11);if(!r.__){for(var e=_i.__v;e!==null&&!e.__m&&e.__!==null;)e=e.__;var t=e.__m||(e.__m=[0,0]);r.__="P"+t[0]+"-"+t[1]++}return r.__}function eFe(){for(var r;r=sue.shift();)if(r.__P&&r.__H)try{r.__H.__h.forEach(tI),r.__H.__h.forEach(HB),r.__H.__h=[]}catch(e){r.__H.__h=[],rs.__e(e,r.__v)}}rs.__b=function(r){_i=null,oue&&oue(r)},rs.__=function(r,e){r&&e.__k&&e.__k.__m&&(r.__m=e.__k.__m),hue&&hue(r,e)},rs.__r=function(r){aue&&aue(r),Qd=0;var e=(_i=r.__c).__H;e&&(jB===_i?(e.__h=[],_i.__h=[],e.__.forEach(function(t){t.__N&&(t.__=t.__N),t.__V=eI,t.__N=t.i=void 0})):(e.__h.forEach(tI),e.__h.forEach(HB),e.__h=[],Qd=0)),jB=_i},rs.diffed=function(r){cue&&cue(r);var e=r.__c;e&&e.__H&&(e.__H.__h.length&&(sue.push(e)!==1&&iue===rs.requestAnimationFrame||((iue=rs.requestAnimationFrame)||tFe)(eFe)),e.__H.__.forEach(function(t){t.i&&(t.__H=t.i),t.__V!==eI&&(t.__=t.__V),t.i=void 0,t.__V=eI})),jB=_i=null},rs.__c=function(r,e){e.some(function(t){try{t.__h.forEach(tI),t.__h=t.__h.filter(function(n){return!n.__||HB(n)})}catch(n){e.some(function(i){i.__h&&(i.__h=[])}),e=[],rs.__e(n,t.__v)}}),lue&&lue(r,e)},rs.unmount=function(r){uue&&uue(r);var e,t=r.__c;t&&t.__H&&(t.__H.__.forEach(function(n){try{tI(n)}catch(i){e=i}}),t.__H=void 0,e&&rs.__e(e,t.__v))};var gue=typeof requestAnimationFrame=="function";function tFe(r){var e,t=function(){clearTimeout(n),gue&&cancelAnimationFrame(e),setTimeout(r)},n=setTimeout(t,100);gue&&(e=requestAnimationFrame(t))}function tI(r){var e=_i,t=r.__c;typeof t=="function"&&(r.__c=void 0,t()),_i=e}function HB(r){var e=_i;r.__c=r.__(),_i=e}function qB(r,e){return!r||r.length!==e.length||e.some(function(t,n){return t!==r[n]})}function mue(r,e){return typeof e=="function"?e(r):e}const rI=ad(Object.freeze(Object.defineProperty({__proto__:null,useCallback:ZUe,useContext:JUe,useDebugValue:YUe,useEffect:VUe,useErrorBoundary:QUe,useId:XUe,useImperativeHandle:KUe,useLayoutEffect:pue,useMemo:zB,useReducer:due,useRef:GUe,useState:fue},Symbol.toStringTag,{value:"Module"})));var My={},nI={};Object.defineProperty(nI,"__esModule",{value:!0}),nI.CloseIcon=void 0;const bue=bc;function rFe(r){return(0,bue.h)("svg",Object.assign({width:"40",height:"40",viewBox:"0 0 40 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r),(0,bue.h)("path",{d:"M13.7677 13L12.3535 14.4142L18.3535 20.4142L12.3535 26.4142L13.7677 27.8284L19.7677 21.8284L25.7677 27.8284L27.1819 26.4142L21.1819 20.4142L27.1819 14.4142L25.7677 13L19.7677 19L13.7677 13Z"}))}nI.CloseIcon=rFe;var iI={};Object.defineProperty(iI,"__esModule",{value:!0}),iI.CoinbaseWalletRound=void 0;const sI=bc;function nFe(r){return(0,sI.h)("svg",Object.assign({width:"28",height:"28",viewBox:"0 0 28 28",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r),(0,sI.h)("circle",{cx:"14",cy:"14",r:"14",fill:"#0052FF"}),(0,sI.h)("path",{d:"M23.8521 14.0003C23.8521 19.455 19.455 23.8521 14.0003 23.8521C8.54559 23.8521 4.14844 19.455 4.14844 14.0003C4.14844 8.54559 8.54559 4.14844 14.0003 4.14844C19.455 4.14844 23.8521 8.54559 23.8521 14.0003Z",fill:"white"}),(0,sI.h)("path",{d:"M11.1855 12.5042C11.1855 12.0477 11.1855 11.7942 11.2835 11.642C11.3814 11.4899 11.4793 11.3377 11.6261 11.287C11.8219 11.1855 12.0178 11.1855 12.5073 11.1855H15.4934C15.983 11.1855 16.1788 11.1855 16.3746 11.287C16.5215 11.3884 16.6683 11.4899 16.7173 11.642C16.8152 11.8449 16.8152 12.0477 16.8152 12.5042V15.4965C16.8152 15.953 16.8152 16.2066 16.7173 16.3587C16.6194 16.5109 16.5215 16.663 16.3746 16.7137C16.1788 16.8152 15.983 16.8152 15.4934 16.8152H12.5073C12.0178 16.8152 11.8219 16.8152 11.6261 16.7137C11.4793 16.6123 11.3324 16.5109 11.2835 16.3587C11.1855 16.1558 11.1855 15.953 11.1855 15.4965V12.5042Z",fill:"#0052FF"}))}iI.CoinbaseWalletRound=nFe;var oI={};Object.defineProperty(oI,"__esModule",{value:!0}),oI.QRCodeIcon=void 0;const C8=bc;function iFe(r){return(0,C8.h)("svg",Object.assign({width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},r),(0,C8.h)("path",{d:"M3 3V8.99939L5 8.99996V5H9V3H3Z"}),(0,C8.h)("path",{d:"M15 21L21 21V15.0006L19 15V19L15 19V21Z"}),(0,C8.h)("path",{d:"M21 9H19V5H15.0006L15 3H21V9Z"}),(0,C8.h)("path",{d:"M3 15V21H8.99939L8.99996 19H5L5 15H3Z"}))}oI.QRCodeIcon=iFe;var aI={};function wue(r){this.mode=Jc.MODE_8BIT_BYTE,this.data=r,this.parsedData=[];for(var e=0,t=this.data.length;e65536?(n[0]=240|(i&1835008)>>>18,n[1]=128|(i&258048)>>>12,n[2]=128|(i&4032)>>>6,n[3]=128|i&63):i>2048?(n[0]=224|(i&61440)>>>12,n[1]=128|(i&4032)>>>6,n[2]=128|i&63):i>128?(n[0]=192|(i&1984)>>>6,n[1]=128|i&63):n[0]=i,this.parsedData.push(n)}this.parsedData=Array.prototype.concat.apply([],this.parsedData),this.parsedData.length!=this.data.length&&(this.parsedData.unshift(191),this.parsedData.unshift(187),this.parsedData.unshift(239))}wue.prototype={getLength:function(r){return this.parsedData.length},write:function(r){for(var e=0,t=this.parsedData.length;e=7&&this.setupTypeNumber(r),this.dataCache==null&&(this.dataCache=yf.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,e)},setupPositionProbePattern:function(r,e){for(var t=-1;t<=7;t++)if(!(r+t<=-1||this.moduleCount<=r+t))for(var n=-1;n<=7;n++)e+n<=-1||this.moduleCount<=e+n||(0<=t&&t<=6&&(n==0||n==6)||0<=n&&n<=6&&(t==0||t==6)||2<=t&&t<=4&&2<=n&&n<=4?this.modules[r+t][e+n]=!0:this.modules[r+t][e+n]=!1)},getBestMaskPattern:function(){for(var r=0,e=0,t=0;t<8;t++){this.makeImpl(!0,t);var n=ns.getLostPoint(this);(t==0||r>n)&&(r=n,e=t)}return e},createMovieClip:function(r,e,t){var n=r.createEmptyMovieClip(e,t),i=1;this.make();for(var s=0;s>t&1)==1;this.modules[Math.floor(t/3)][t%3+this.moduleCount-8-3]=n}for(var t=0;t<18;t++){var n=!r&&(e>>t&1)==1;this.modules[t%3+this.moduleCount-8-3][Math.floor(t/3)]=n}},setupTypeInfo:function(r,e){for(var t=this.errorCorrectLevel<<3|e,n=ns.getBCHTypeInfo(t),i=0;i<15;i++){var s=!r&&(n>>i&1)==1;i<6?this.modules[i][8]=s:i<8?this.modules[i+1][8]=s:this.modules[this.moduleCount-15+i][8]=s}for(var i=0;i<15;i++){var s=!r&&(n>>i&1)==1;i<8?this.modules[8][this.moduleCount-i-1]=s:i<9?this.modules[8][15-i-1+1]=s:this.modules[8][15-i-1]=s}this.modules[this.moduleCount-8][8]=!r},mapData:function(r,e){for(var t=-1,n=this.moduleCount-1,i=7,s=0,o=this.moduleCount-1;o>0;o-=2)for(o==6&&o--;;){for(var a=0;a<2;a++)if(this.modules[n][o-a]==null){var l=!1;s>>i&1)==1);var u=ns.getMask(e,n,o-a);u&&(l=!l),this.modules[n][o-a]=l,i--,i==-1&&(s++,i=7)}if(n+=t,n<0||this.moduleCount<=n){n-=t,t=-t;break}}}},yf.PAD0=236,yf.PAD1=17,yf.createData=function(r,e,t){for(var n=xf.getRSBlocks(r,e),i=new vue,s=0;sa*8)throw new Error("code length overflow. ("+i.getLengthInBits()+">"+a*8+")");for(i.getLengthInBits()+4<=a*8&&i.put(0,4);i.getLengthInBits()%8!=0;)i.putBit(!1);for(;!(i.getLengthInBits()>=a*8||(i.put(yf.PAD0,8),i.getLengthInBits()>=a*8));)i.put(yf.PAD1,8);return yf.createBytes(i,n)},yf.createBytes=function(r,e){for(var t=0,n=0,i=0,s=new Array(e.length),o=new Array(e.length),a=0;a=0?w.get(y):0}}for(var C=0,h=0;h=0;)e^=ns.G15<=0;)e^=ns.G18<>>=1;return e},getPatternPosition:function(r){return ns.PATTERN_POSITION_TABLE[r-1]},getMask:function(r,e,t){switch(r){case w1.PATTERN000:return(e+t)%2==0;case w1.PATTERN001:return e%2==0;case w1.PATTERN010:return t%3==0;case w1.PATTERN011:return(e+t)%3==0;case w1.PATTERN100:return(Math.floor(e/2)+Math.floor(t/3))%2==0;case w1.PATTERN101:return e*t%2+e*t%3==0;case w1.PATTERN110:return(e*t%2+e*t%3)%2==0;case w1.PATTERN111:return(e*t%3+(e+t)%2)%2==0;default:throw new Error("bad maskPattern:"+r)}},getErrorCorrectPolynomial:function(r){for(var e=new Ny([1],0),t=0;t5&&(t+=3+s-5)}for(var n=0;n=256;)r-=255;return So.EXP_TABLE[r]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)},qo=0;qo<8;qo++)So.EXP_TABLE[qo]=1<>>7-r%8&1)==1},put:function(r,e){for(var t=0;t>>e-t-1&1)==1)},getLengthInBits:function(){return this.length},putBit:function(r){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),r&&(this.buffer[e]|=128>>>this.length%8),this.length++}};var WB=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]];function yue(r){if(this.options={padding:4,width:256,height:256,typeNumber:4,color:"#000000",background:"#ffffff",ecl:"M",image:{svg:"",width:0,height:0}},typeof r=="string"&&(r={content:r}),r)for(var e in r)this.options[e]=r[e];if(typeof this.options.content!="string")throw new Error("Expected 'content' as string!");if(this.options.content.length===0)throw new Error("Expected 'content' to be non-empty!");if(!(this.options.padding>=0))throw new Error("Expected 'padding' value to be non-negative!");if(!(this.options.width>0)||!(this.options.height>0))throw new Error("Expected 'width' or 'height' value to be higher than zero!");function t(l){switch(l){case"L":return b1.L;case"M":return b1.M;case"Q":return b1.Q;case"H":return b1.H;default:throw new Error("Unknwon error correction level: "+l)}}function n(l,u){for(var h=i(l),p=1,g=0,w=0,y=WB.length;w<=y;w++){var C=WB[w];if(!C)throw new Error("Content too long: expected "+g+" but got "+h);switch(u){case"L":g=C[0];break;case"M":g=C[1];break;case"Q":g=C[2];break;case"H":g=C[3];break;default:throw new Error("Unknwon error correction level: "+u)}if(h<=g)break;p++}if(p>WB.length)throw new Error("Content too long");return p}function i(l){var u=encodeURI(l).toString().replace(/\%[0-9a-fA-F]{2}/g,"a");return u.length+(u.length!=l?3:0)}var s=this.options.content,o=n(s,this.options.ecl),a=t(this.options.ecl);this.qrcode=new yf(o,a),this.qrcode.addData(s),this.qrcode.make()}yue.prototype.svg=function(r){var e=this.options||{},t=this.qrcode.modules;typeof r>"u"&&(r={container:e.container||"svg"});for(var n=typeof e.pretty<"u"?!!e.pretty:!0,i=n?" ":"",s=n?`\r +`:"",o=e.width,a=e.height,l=t.length,u=o/(l+2*e.padding),h=a/(l+2*e.padding),p=typeof e.join<"u"?!!e.join:!1,g=typeof e.swap<"u"?!!e.swap:!1,w=typeof e.xmlDeclaration<"u"?!!e.xmlDeclaration:!0,y=typeof e.predefined<"u"?!!e.predefined:!1,C=y?i+''+s:"",T=i+''+s,k="",N="",O=0;O'+s:k+=i+''+s}}p&&(k=i+'');let F="";if(this.options.image!==void 0&&this.options.image.svg){const b=o*this.options.image.width/100,d=a*this.options.image.height/100,m=o/2-b/2,x=a/2-d/2;F+=``,F+=this.options.image.svg+s,F+=""}var M="";switch(r.container){case"svg":w&&(M+=''+s),M+=''+s,M+=C+T+k,M+=F,M+="";break;case"svg-viewbox":w&&(M+=''+s),M+=''+s,M+=C+T+k,M+=F,M+="";break;case"g":M+=''+s,M+=C+T+k,M+=F,M+="";break;default:M+=(C+T+k+F).replace(/^\s+/,"");break}return M};var sFe=yue,oFe=ct&&ct.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(aI,"__esModule",{value:!0}),aI.QRCode=void 0;const aFe=bc,xue=rI,cFe=oFe(sFe),lFe=r=>{const[e,t]=(0,xue.useState)("");return(0,xue.useEffect)(()=>{var n,i;const s=new cFe.default({content:r.content,background:r.bgColor||"#ffffff",color:r.fgColor||"#000000",container:"svg",ecl:"M",width:(n=r.width)!==null&&n!==void 0?n:256,height:(i=r.height)!==null&&i!==void 0?i:256,padding:0,image:r.image}),o=Dt.from(s.svg(),"utf8").toString("base64");t(`data:image/svg+xml;base64,${o}`)},[r.bgColor,r.content,r.fgColor,r.height,r.image,r.width]),e?(0,aFe.h)("img",{src:e,alt:"QR Code"}):null};aI.QRCode=lFe;var cI={},VB={};Object.defineProperty(VB,"__esModule",{value:!0}),VB.default=(()=>".-cbwsdk-css-reset .-cbwsdk-spinner{display:inline-block}.-cbwsdk-css-reset .-cbwsdk-spinner svg{display:inline-block;animation:2s linear infinite -cbwsdk-spinner-svg}.-cbwsdk-css-reset .-cbwsdk-spinner svg circle{animation:1.9s ease-in-out infinite both -cbwsdk-spinner-circle;display:block;fill:rgba(0,0,0,0);stroke-dasharray:283;stroke-dashoffset:280;stroke-linecap:round;stroke-width:10px;transform-origin:50% 50%}@keyframes -cbwsdk-spinner-svg{0%{transform:rotateZ(0deg)}100%{transform:rotateZ(360deg)}}@keyframes -cbwsdk-spinner-circle{0%,25%{stroke-dashoffset:280;transform:rotate(0)}50%,75%{stroke-dashoffset:75;transform:rotate(45deg)}100%{stroke-dashoffset:280;transform:rotate(360deg)}}")();var uFe=ct&&ct.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(cI,"__esModule",{value:!0}),cI.Spinner=void 0;const lI=bc,hFe=uFe(VB),fFe=r=>{var e;const t=(e=r.size)!==null&&e!==void 0?e:64,n=r.color||"#000";return(0,lI.h)("div",{class:"-cbwsdk-spinner"},(0,lI.h)("style",null,hFe.default),(0,lI.h)("svg",{viewBox:"0 0 100 100",xmlns:"http://www.w3.org/2000/svg",style:{width:t,height:t}},(0,lI.h)("circle",{style:{cx:50,cy:50,r:45,stroke:n}})))};cI.Spinner=fFe;var GB={};Object.defineProperty(GB,"__esModule",{value:!0}),GB.default=(()=>".-cbwsdk-css-reset .-cbwsdk-connect-content{height:430px;width:700px;border-radius:12px;padding:30px}.-cbwsdk-css-reset .-cbwsdk-connect-content.light{background:#fff}.-cbwsdk-css-reset .-cbwsdk-connect-content.dark{background:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-connect-content-header{display:flex;align-items:center;justify-content:space-between;margin:0 0 30px}.-cbwsdk-css-reset .-cbwsdk-connect-content-heading{font-style:normal;font-weight:500;font-size:28px;line-height:36px;margin:0}.-cbwsdk-css-reset .-cbwsdk-connect-content-heading.light{color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-connect-content-heading.dark{color:#fff}.-cbwsdk-css-reset .-cbwsdk-connect-content-layout{display:flex;flex-direction:row}.-cbwsdk-css-reset .-cbwsdk-connect-content-column-left{margin-right:30px;display:flex;flex-direction:column;justify-content:space-between}.-cbwsdk-css-reset .-cbwsdk-connect-content-column-right{flex:25%;margin-right:34px}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-wrapper{width:220px;height:220px;border-radius:12px;display:flex;justify-content:center;align-items:center;background:#fff}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting{position:absolute;top:0;bottom:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting.light{background-color:rgba(255,255,255,.95)}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting.light>p{color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting.dark{background-color:rgba(10,11,13,.9)}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting.dark>p{color:#fff}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting>p{font-size:12px;font-weight:bold;margin-top:16px}.-cbwsdk-css-reset .-cbwsdk-connect-content-update-app{border-radius:8px;font-size:14px;line-height:20px;padding:12px;width:339px}.-cbwsdk-css-reset .-cbwsdk-connect-content-update-app.light{background:#eef0f3;color:#5b636e}.-cbwsdk-css-reset .-cbwsdk-connect-content-update-app.dark{background:#1e2025;color:#8a919e}.-cbwsdk-css-reset .-cbwsdk-cancel-button{-webkit-appearance:none;border:none;background:none;cursor:pointer;padding:0;margin:0}.-cbwsdk-css-reset .-cbwsdk-cancel-button-x{position:relative;display:block;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-wallet-steps{padding:0 0 0 16px;margin:0;width:100%;list-style:decimal}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-item{list-style-type:decimal;display:list-item;font-style:normal;font-weight:400;font-size:16px;line-height:24px;margin-top:20px}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-item.light{color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-item.dark{color:#fff}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-item-wrapper{display:flex;align-items:center}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-pad-left{margin-left:6px}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-icon{display:flex;border-radius:50%;height:24px;width:24px}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-icon svg{margin:auto;display:block}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-icon.light{background:#0052ff}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-icon.dark{background:#588af5}.-cbwsdk-css-reset .-cbwsdk-connect-item{align-items:center;display:flex;flex-direction:row;padding:16px 24px;gap:12px;cursor:pointer;border-radius:100px;font-weight:600}.-cbwsdk-css-reset .-cbwsdk-connect-item.light{background:#f5f8ff;color:#0052ff}.-cbwsdk-css-reset .-cbwsdk-connect-item.dark{background:#001033;color:#588af5}.-cbwsdk-css-reset .-cbwsdk-connect-item-copy-wrapper{margin:0 4px 0 8px}.-cbwsdk-css-reset .-cbwsdk-connect-item-title{margin:0 0 0;font-size:16px;line-height:24px;font-weight:500}.-cbwsdk-css-reset .-cbwsdk-connect-item-description{font-weight:400;font-size:14px;line-height:20px;margin:0}")();var _ue=ct&&ct.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(My,"__esModule",{value:!0}),My.CoinbaseWalletSteps=My.ConnectContent=void 0;const qm=_ue(A8),Tn=bc,dFe=mr,pFe=xy,gFe=nI,mFe=iI,bFe=oI,wFe=aI,vFe=cI,yFe=_ue(GB),KB={title:"Coinbase Wallet app",description:"Connect with your self-custody wallet",steps:Eue},xFe=r=>r==="light"?"#FFFFFF":"#0A0B0D";function _Fe(r){const{theme:e}=r,t=(0,dFe.createQrUrl)(r.sessionId,r.sessionSecret,r.linkAPIUrl,r.isParentConnection,r.version,r.chainId),n=KB.steps;return(0,Tn.h)("div",{"data-testid":"connect-content",className:(0,qm.default)("-cbwsdk-connect-content",e)},(0,Tn.h)("style",null,yFe.default),(0,Tn.h)("div",{className:"-cbwsdk-connect-content-header"},(0,Tn.h)("h2",{className:(0,qm.default)("-cbwsdk-connect-content-heading",e)},"Scan to connect with our mobile app"),r.onCancel&&(0,Tn.h)("button",{type:"button",className:"-cbwsdk-cancel-button",onClick:r.onCancel},(0,Tn.h)(gFe.CloseIcon,{fill:e==="light"?"#0A0B0D":"#FFFFFF"}))),(0,Tn.h)("div",{className:"-cbwsdk-connect-content-layout"},(0,Tn.h)("div",{className:"-cbwsdk-connect-content-column-left"},(0,Tn.h)(EFe,{title:KB.title,description:KB.description,theme:e})),(0,Tn.h)("div",{className:"-cbwsdk-connect-content-column-right"},(0,Tn.h)("div",{className:"-cbwsdk-connect-content-qr-wrapper"},(0,Tn.h)(wFe.QRCode,{content:t,width:200,height:200,fgColor:"#000",bgColor:"transparent"}),(0,Tn.h)("input",{type:"hidden",name:"cbw-cbwsdk-version",value:pFe.LIB_VERSION}),(0,Tn.h)("input",{type:"hidden",value:t})),(0,Tn.h)(n,{theme:e}),!r.isConnected&&(0,Tn.h)("div",{"data-testid":"connecting-spinner",className:(0,qm.default)("-cbwsdk-connect-content-qr-connecting",e)},(0,Tn.h)(vFe.Spinner,{size:36,color:e==="dark"?"#FFF":"#000"}),(0,Tn.h)("p",null,"Connecting...")))))}My.ConnectContent=_Fe;function EFe({title:r,description:e,theme:t}){return(0,Tn.h)("div",{className:(0,qm.default)("-cbwsdk-connect-item",t)},(0,Tn.h)("div",null,(0,Tn.h)(mFe.CoinbaseWalletRound,null)),(0,Tn.h)("div",{className:"-cbwsdk-connect-item-copy-wrapper"},(0,Tn.h)("h3",{className:"-cbwsdk-connect-item-title"},r),(0,Tn.h)("p",{className:"-cbwsdk-connect-item-description"},e)))}function Eue({theme:r}){return(0,Tn.h)("ol",{className:"-cbwsdk-wallet-steps"},(0,Tn.h)("li",{className:(0,qm.default)("-cbwsdk-wallet-steps-item",r)},(0,Tn.h)("div",{className:"-cbwsdk-wallet-steps-item-wrapper"},"Open Coinbase Wallet app")),(0,Tn.h)("li",{className:(0,qm.default)("-cbwsdk-wallet-steps-item",r)},(0,Tn.h)("div",{className:"-cbwsdk-wallet-steps-item-wrapper"},(0,Tn.h)("span",null,"Tap ",(0,Tn.h)("strong",null,"Scan")," "),(0,Tn.h)("span",{className:(0,qm.default)("-cbwsdk-wallet-steps-pad-left","-cbwsdk-wallet-steps-icon",r)},(0,Tn.h)(bFe.QRCodeIcon,{fill:xFe(r)})))))}My.CoinbaseWalletSteps=Eue;var uI={},hI={};Object.defineProperty(hI,"__esModule",{value:!0}),hI.ArrowLeftIcon=void 0;const Aue=bc;function AFe(r){return(0,Aue.h)("svg",Object.assign({width:"16",height:"16",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},r),(0,Aue.h)("path",{d:"M8.60675 0.155884L7.37816 1.28209L12.7723 7.16662H0V8.83328H12.6548L6.82149 14.6666L8 15.8451L15.8201 8.02501L8.60675 0.155884Z"}))}hI.ArrowLeftIcon=AFe;var fI={};Object.defineProperty(fI,"__esModule",{value:!0}),fI.LaptopIcon=void 0;const ZB=bc;function CFe(r){return(0,ZB.h)("svg",Object.assign({width:"14",height:"14",viewBox:"0 0 14 14",xmlns:"http://www.w3.org/2000/svg"},r),(0,ZB.h)("path",{d:"M1.8001 2.2002H12.2001V9.40019H1.8001V2.2002ZM3.4001 3.8002V7.80019H10.6001V3.8002H3.4001Z"}),(0,ZB.h)("path",{d:"M13.4001 10.2002H0.600098C0.600098 11.0838 1.31644 11.8002 2.2001 11.8002H11.8001C12.6838 11.8002 13.4001 11.0838 13.4001 10.2002Z"}))}fI.LaptopIcon=CFe;var dI={};Object.defineProperty(dI,"__esModule",{value:!0}),dI.SafeIcon=void 0;const Cue=bc;function SFe(r){return(0,Cue.h)("svg",Object.assign({width:"14",height:"14",viewBox:"0 0 14 14",xmlns:"http://www.w3.org/2000/svg"},r),(0,Cue.h)("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M0.600098 0.600098V11.8001H13.4001V0.600098H0.600098ZM7.0001 9.2001C5.3441 9.2001 4.0001 7.8561 4.0001 6.2001C4.0001 4.5441 5.3441 3.2001 7.0001 3.2001C8.6561 3.2001 10.0001 4.5441 10.0001 6.2001C10.0001 7.8561 8.6561 9.2001 7.0001 9.2001ZM0.600098 12.6001H3.8001V13.4001H0.600098V12.6001ZM10.2001 12.6001H13.4001V13.4001H10.2001V12.6001ZM8.8001 6.2001C8.8001 7.19421 7.99421 8.0001 7.0001 8.0001C6.00598 8.0001 5.2001 7.19421 5.2001 6.2001C5.2001 5.20598 6.00598 4.4001 7.0001 4.4001C7.99421 4.4001 8.8001 5.20598 8.8001 6.2001Z"}))}dI.SafeIcon=SFe;var JB={};Object.defineProperty(JB,"__esModule",{value:!0}),JB.default=(()=>".-cbwsdk-css-reset .-cbwsdk-try-extension{display:flex;margin-top:12px;height:202px;width:700px;border-radius:12px;padding:30px}.-cbwsdk-css-reset .-cbwsdk-try-extension.light{background:#fff}.-cbwsdk-css-reset .-cbwsdk-try-extension.dark{background:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-try-extension-column-half{flex:50%}.-cbwsdk-css-reset .-cbwsdk-try-extension-heading{font-style:normal;font-weight:500;font-size:25px;line-height:32px;margin:0;max-width:204px}.-cbwsdk-css-reset .-cbwsdk-try-extension-heading.light{color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-try-extension-heading.dark{color:#fff}.-cbwsdk-css-reset .-cbwsdk-try-extension-cta{appearance:none;border:none;background:none;color:#0052ff;cursor:pointer;padding:0;text-decoration:none;display:block;font-weight:600;font-size:16px;line-height:24px}.-cbwsdk-css-reset .-cbwsdk-try-extension-cta.light{color:#0052ff}.-cbwsdk-css-reset .-cbwsdk-try-extension-cta.dark{color:#588af5}.-cbwsdk-css-reset .-cbwsdk-try-extension-cta-wrapper{display:flex;align-items:center;margin-top:12px}.-cbwsdk-css-reset .-cbwsdk-try-extension-cta-icon{display:block;margin-left:4px;height:14px}.-cbwsdk-css-reset .-cbwsdk-try-extension-list{display:flex;flex-direction:column;justify-content:center;align-items:center;margin:0;padding:0;list-style:none;height:100%}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item{display:flex;align-items:center;flex-flow:nowrap;margin-top:24px}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item:first-of-type{margin-top:0}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-icon-wrapper{display:block}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-icon{display:flex;height:32px;width:32px;border-radius:50%}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-icon svg{margin:auto;display:block}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-icon.light{background:#eef0f3}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-icon.dark{background:#1e2025}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-copy{display:block;font-weight:400;font-size:14px;line-height:20px;padding-left:12px}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-copy.light{color:#5b636e}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-copy.dark{color:#8a919e}")();var Sue=ct&&ct.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(uI,"__esModule",{value:!0}),uI.TryExtensionContent=void 0;const Wm=Sue(A8),Fs=bc,YB=rI,IFe=hI,TFe=fI,RFe=dI,kFe=Sue(JB);function MFe({theme:r}){const[e,t]=(0,YB.useState)(!1),n=(0,YB.useCallback)(()=>{window.open("https://api.wallet.coinbase.com/rpc/v2/desktop/chrome","_blank")},[]),i=(0,YB.useCallback)(()=>{e?window.location.reload():(n(),t(!0))},[n,e]);return(0,Fs.h)("div",{class:(0,Wm.default)("-cbwsdk-try-extension",r)},(0,Fs.h)("style",null,kFe.default),(0,Fs.h)("div",{class:"-cbwsdk-try-extension-column-half"},(0,Fs.h)("h3",{class:(0,Wm.default)("-cbwsdk-try-extension-heading",r)},"Or try the Coinbase Wallet browser extension"),(0,Fs.h)("div",{class:"-cbwsdk-try-extension-cta-wrapper"},(0,Fs.h)("button",{class:(0,Wm.default)("-cbwsdk-try-extension-cta",r),onClick:i},e?"Refresh":"Install"),(0,Fs.h)("div",null,!e&&(0,Fs.h)(IFe.ArrowLeftIcon,{class:"-cbwsdk-try-extension-cta-icon",fill:r==="light"?"#0052FF":"#588AF5"})))),(0,Fs.h)("div",{class:"-cbwsdk-try-extension-column-half"},(0,Fs.h)("ul",{class:"-cbwsdk-try-extension-list"},(0,Fs.h)("li",{class:"-cbwsdk-try-extension-list-item"},(0,Fs.h)("div",{class:"-cbwsdk-try-extension-list-item-icon-wrapper"},(0,Fs.h)("span",{class:(0,Wm.default)("-cbwsdk-try-extension-list-item-icon",r)},(0,Fs.h)(TFe.LaptopIcon,{fill:r==="light"?"#0A0B0D":"#FFFFFF"}))),(0,Fs.h)("div",{class:(0,Wm.default)("-cbwsdk-try-extension-list-item-copy",r)},"Connect with dapps with just one click on your desktop browser")),(0,Fs.h)("li",{class:"-cbwsdk-try-extension-list-item"},(0,Fs.h)("div",{class:"-cbwsdk-try-extension-list-item-icon-wrapper"},(0,Fs.h)("span",{class:(0,Wm.default)("-cbwsdk-try-extension-list-item-icon",r)},(0,Fs.h)(RFe.SafeIcon,{fill:r==="light"?"#0A0B0D":"#FFFFFF"}))),(0,Fs.h)("div",{class:(0,Wm.default)("-cbwsdk-try-extension-list-item-copy",r)},"Add an additional layer of security by using a supported Ledger hardware wallet")))))}uI.TryExtensionContent=MFe;var QB={};Object.defineProperty(QB,"__esModule",{value:!0}),QB.default=(()=>".-cbwsdk-css-reset .-cbwsdk-connect-dialog{z-index:2147483647;position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-backdrop{z-index:2147483647;position:fixed;top:0;left:0;right:0;bottom:0;transition:opacity .25s}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-backdrop.light{background-color:rgba(0,0,0,.5)}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-backdrop.dark{background-color:rgba(50,53,61,.4)}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-backdrop-hidden{opacity:0}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-box{display:flex;position:relative;flex-direction:column;transform:scale(1);transition:opacity .25s,transform .25s}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-box-hidden{opacity:0;transform:scale(0.85)}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-container{display:block}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-container-hidden{display:none}")();var Iue=ct&&ct.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(XS,"__esModule",{value:!0}),XS.ConnectDialog=void 0;const XB=Iue(A8),Vm=bc,eL=rI,NFe=My,PFe=uI,OFe=Iue(QB),DFe=r=>{const{isOpen:e,darkMode:t}=r,[n,i]=(0,eL.useState)(!e),[s,o]=(0,eL.useState)(!e);(0,eL.useEffect)(()=>{const l=[window.setTimeout(()=>{o(!e)},10)];return e?i(!1):l.push(window.setTimeout(()=>{i(!0)},360)),()=>{l.forEach(window.clearTimeout)}},[e]);const a=t?"dark":"light";return(0,Vm.h)("div",{class:(0,XB.default)("-cbwsdk-connect-dialog-container",n&&"-cbwsdk-connect-dialog-container-hidden")},(0,Vm.h)("style",null,OFe.default),(0,Vm.h)("div",{class:(0,XB.default)("-cbwsdk-connect-dialog-backdrop",a,s&&"-cbwsdk-connect-dialog-backdrop-hidden")}),(0,Vm.h)("div",{class:"-cbwsdk-connect-dialog"},(0,Vm.h)("div",{class:(0,XB.default)("-cbwsdk-connect-dialog-box",s&&"-cbwsdk-connect-dialog-box-hidden")},r.connectDisabled?null:(0,Vm.h)(NFe.ConnectContent,{theme:a,version:r.version,sessionId:r.sessionId,sessionSecret:r.sessionSecret,linkAPIUrl:r.linkAPIUrl,isConnected:r.isConnected,isParentConnection:r.isParentConnection,chainId:r.chainId,onCancel:r.onCancel}),(0,Vm.h)(PFe.TryExtensionContent,{theme:a}))))};XS.ConnectDialog=DFe,Object.defineProperty(ZS,"__esModule",{value:!0}),ZS.LinkFlow=void 0;const tL=bc,$Fe=XS;class BFe{constructor(e){this.connected=!1,this.chainId=1,this.isOpen=!1,this.onCancel=null,this.root=null,this.connectDisabled=!1,this.darkMode=e.darkMode,this.version=e.version,this.sessionId=e.sessionId,this.sessionSecret=e.sessionSecret,this.linkAPIUrl=e.linkAPIUrl,this.isParentConnection=e.isParentConnection}attach(e){this.root=document.createElement("div"),this.root.className="-cbwsdk-link-flow-root",e.appendChild(this.root),this.render()}setConnected(e){this.connected!==e&&(this.connected=e,this.render())}setChainId(e){this.chainId!==e&&(this.chainId=e,this.render())}detach(){var e;this.root&&((0,tL.render)(null,this.root),(e=this.root.parentElement)===null||e===void 0||e.removeChild(this.root))}setConnectDisabled(e){this.connectDisabled=e}open(e){this.isOpen=!0,this.onCancel=e.onCancel,this.render()}close(){this.isOpen=!1,this.onCancel=null,this.render()}render(){this.root&&(0,tL.render)((0,tL.h)($Fe.ConnectDialog,{darkMode:this.darkMode,version:this.version,sessionId:this.sessionId,sessionSecret:this.sessionSecret,linkAPIUrl:this.linkAPIUrl,isOpen:this.isOpen,isConnected:this.connected,isParentConnection:this.isParentConnection,chainId:this.chainId,onCancel:this.onCancel,connectDisabled:this.connectDisabled}),this.root)}}ZS.LinkFlow=BFe;var rL={},nL={};Object.defineProperty(nL,"__esModule",{value:!0}),nL.default=(()=>".-cbwsdk-css-reset .-gear-container{margin-left:16px !important;margin-right:9px !important;display:flex;align-items:center;justify-content:center;width:24px;height:24px;transition:opacity .25s}.-cbwsdk-css-reset .-gear-container *{user-select:none}.-cbwsdk-css-reset .-gear-container svg{opacity:0;position:absolute}.-cbwsdk-css-reset .-gear-icon{height:12px;width:12px;z-index:10000}.-cbwsdk-css-reset .-cbwsdk-snackbar{align-items:flex-end;display:flex;flex-direction:column;position:fixed;right:0;top:0;z-index:2147483647}.-cbwsdk-css-reset .-cbwsdk-snackbar *{user-select:none}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance{display:flex;flex-direction:column;margin:8px 16px 0 16px;overflow:visible;text-align:left;transform:translateX(0);transition:opacity .25s,transform .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header:hover .-gear-container svg{opacity:1}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header{display:flex;align-items:center;background:#fff;overflow:hidden;border:1px solid #e7ebee;box-sizing:border-box;border-radius:8px;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header-cblogo{margin:8px 8px 8px 8px}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header *{cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header-message{color:#000;font-size:13px;line-height:1.5;user-select:none}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu{background:#fff;transition:opacity .25s ease-in-out,transform .25s linear,visibility 0s;visibility:hidden;border:1px solid #e7ebee;box-sizing:border-box;border-radius:8px;opacity:0;flex-direction:column;padding-left:8px;padding-right:8px}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:last-child{margin-bottom:8px !important}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:hover{background:#f5f7f8;border-radius:6px;transition:background .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:hover span{color:#050f19;transition:color .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:hover svg path{fill:#000;transition:fill .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item{visibility:inherit;height:35px;margin-top:8px;margin-bottom:0;display:flex;flex-direction:row;align-items:center;padding:8px;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item *{visibility:inherit;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover{background:rgba(223,95,103,.2);transition:background .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover *{cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover svg path{fill:#df5f67;transition:fill .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover span{color:#df5f67;transition:color .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-info{color:#aaa;font-size:13px;margin:0 8px 0 32px;position:absolute}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-hidden{opacity:0;text-align:left;transform:translateX(25%);transition:opacity .5s linear}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-expanded .-cbwsdk-snackbar-instance-menu{opacity:1;display:flex;transform:translateY(8px);visibility:visible}")(),function(r){var e=ct&&ct.__importDefault||function(p){return p&&p.__esModule?p:{default:p}};Object.defineProperty(r,"__esModule",{value:!0}),r.SnackbarInstance=r.SnackbarContainer=r.Snackbar=void 0;const t=e(A8),n=bc,i=rI,s=e(nL),o="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEuNDkyIDEwLjQxOWE4LjkzIDguOTMgMCAwMTguOTMtOC45M2gxMS4xNjNhOC45MyA4LjkzIDAgMDE4LjkzIDguOTN2MTEuMTYzYTguOTMgOC45MyAwIDAxLTguOTMgOC45M0gxMC40MjJhOC45MyA4LjkzIDAgMDEtOC45My04LjkzVjEwLjQxOXoiIGZpbGw9IiMxNjUyRjAiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEwLjQxOSAwSDIxLjU4QzI3LjMzNSAwIDMyIDQuNjY1IDMyIDEwLjQxOVYyMS41OEMzMiAyNy4zMzUgMjcuMzM1IDMyIDIxLjU4MSAzMkgxMC40MkM0LjY2NSAzMiAwIDI3LjMzNSAwIDIxLjU4MVYxMC40MkMwIDQuNjY1IDQuNjY1IDAgMTAuNDE5IDB6bTAgMS40ODhhOC45MyA4LjkzIDAgMDAtOC45MyA4LjkzdjExLjE2M2E4LjkzIDguOTMgMCAwMDguOTMgOC45M0gyMS41OGE4LjkzIDguOTMgMCAwMDguOTMtOC45M1YxMC40MmE4LjkzIDguOTMgMCAwMC04LjkzLTguOTNIMTAuNDJ6IiBmaWxsPSIjZmZmIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS45OTggMjYuMDQ5Yy01LjU0OSAwLTEwLjA0Ny00LjQ5OC0xMC4wNDctMTAuMDQ3IDAtNS41NDggNC40OTgtMTAuMDQ2IDEwLjA0Ny0xMC4wNDYgNS41NDggMCAxMC4wNDYgNC40OTggMTAuMDQ2IDEwLjA0NiAwIDUuNTQ5LTQuNDk4IDEwLjA0Ny0xMC4wNDYgMTAuMDQ3eiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0xMi43NjIgMTQuMjU0YzAtLjgyMi42NjctMS40ODkgMS40ODktMS40ODloMy40OTdjLjgyMiAwIDEuNDg4LjY2NiAxLjQ4OCAxLjQ4OXYzLjQ5N2MwIC44MjItLjY2NiAxLjQ4OC0xLjQ4OCAxLjQ4OGgtMy40OTdhMS40ODggMS40ODggMCAwMS0xLjQ4OS0xLjQ4OHYtMy40OTh6IiBmaWxsPSIjMTY1MkYwIi8+PC9zdmc+",a="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEyIDYuNzV2LTEuNWwtMS43Mi0uNTdjLS4wOC0uMjctLjE5LS41Mi0uMzItLjc3bC44MS0xLjYyLTEuMDYtMS4wNi0xLjYyLjgxYy0uMjQtLjEzLS41LS4yNC0uNzctLjMyTDYuNzUgMGgtMS41bC0uNTcgMS43MmMtLjI3LjA4LS41My4xOS0uNzcuMzJsLTEuNjItLjgxLTEuMDYgMS4wNi44MSAxLjYyYy0uMTMuMjQtLjI0LjUtLjMyLjc3TDAgNS4yNXYxLjVsMS43Mi41N2MuMDguMjcuMTkuNTMuMzIuNzdsLS44MSAxLjYyIDEuMDYgMS4wNiAxLjYyLS44MWMuMjQuMTMuNS4yMy43Ny4zMkw1LjI1IDEyaDEuNWwuNTctMS43MmMuMjctLjA4LjUyLS4xOS43Ny0uMzJsMS42Mi44MSAxLjA2LTEuMDYtLjgxLTEuNjJjLjEzLS4yNC4yMy0uNS4zMi0uNzdMMTIgNi43NXpNNiA4LjVhMi41IDIuNSAwIDAxMC01IDIuNSAyLjUgMCAwMTAgNXoiIGZpbGw9IiMwNTBGMTkiLz48L3N2Zz4=";class l{constructor(g){this.items=new Map,this.nextItemKey=0,this.root=null,this.darkMode=g.darkMode}attach(g){this.root=document.createElement("div"),this.root.className="-cbwsdk-snackbar-root",g.appendChild(this.root),this.render()}presentItem(g){const w=this.nextItemKey++;return this.items.set(w,g),this.render(),()=>{this.items.delete(w),this.render()}}clear(){this.items.clear(),this.render()}render(){this.root&&(0,n.render)((0,n.h)("div",null,(0,n.h)(r.SnackbarContainer,{darkMode:this.darkMode},Array.from(this.items.entries()).map(([g,w])=>(0,n.h)(r.SnackbarInstance,Object.assign({},w,{key:g}))))),this.root)}}r.Snackbar=l;const u=p=>(0,n.h)("div",{class:(0,t.default)("-cbwsdk-snackbar-container")},(0,n.h)("style",null,s.default),(0,n.h)("div",{class:"-cbwsdk-snackbar"},p.children));r.SnackbarContainer=u;const h=({autoExpand:p,message:g,menuItems:w})=>{const[y,C]=(0,i.useState)(!0),[T,k]=(0,i.useState)(p??!1);(0,i.useEffect)(()=>{const O=[window.setTimeout(()=>{C(!1)},1),window.setTimeout(()=>{k(!0)},1e4)];return()=>{O.forEach(window.clearTimeout)}});const N=()=>{k(!T)};return(0,n.h)("div",{class:(0,t.default)("-cbwsdk-snackbar-instance",y&&"-cbwsdk-snackbar-instance-hidden",T&&"-cbwsdk-snackbar-instance-expanded")},(0,n.h)("div",{class:"-cbwsdk-snackbar-instance-header",onClick:N},(0,n.h)("img",{src:o,class:"-cbwsdk-snackbar-instance-header-cblogo"})," ",(0,n.h)("div",{class:"-cbwsdk-snackbar-instance-header-message"},g),(0,n.h)("div",{class:"-gear-container"},!T&&(0,n.h)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},(0,n.h)("circle",{cx:"12",cy:"12",r:"12",fill:"#F5F7F8"})),(0,n.h)("img",{src:a,class:"-gear-icon",title:"Expand"}))),w&&w.length>0&&(0,n.h)("div",{class:"-cbwsdk-snackbar-instance-menu"},w.map((O,B)=>(0,n.h)("div",{class:(0,t.default)("-cbwsdk-snackbar-instance-menu-item",O.isRed&&"-cbwsdk-snackbar-instance-menu-item-is-red"),onClick:O.onClick,key:B},(0,n.h)("svg",{width:O.svgWidth,height:O.svgHeight,viewBox:"0 0 10 11",fill:"none",xmlns:"http://www.w3.org/2000/svg"},(0,n.h)("path",{"fill-rule":O.defaultFillRule,"clip-rule":O.defaultClipRule,d:O.path,fill:"#AAAAAA"})),(0,n.h)("span",{class:(0,t.default)("-cbwsdk-snackbar-instance-menu-item-info",O.isRed&&"-cbwsdk-snackbar-instance-menu-item-info-is-red")},O.info)))))};r.SnackbarInstance=h}(rL),Object.defineProperty(b8,"__esModule",{value:!0}),b8.WalletLinkRelayUI=void 0;const LFe=w8,UFe=ZS,FFe=rL;class jFe{constructor(e){this.standalone=null,this.attached=!1,this.snackbar=new FFe.Snackbar({darkMode:e.darkMode}),this.linkFlow=new UFe.LinkFlow({darkMode:e.darkMode,version:e.version,sessionId:e.session.id,sessionSecret:e.session.secret,linkAPIUrl:e.linkAPIUrl,isParentConnection:!1})}attach(){if(this.attached)throw new Error("Coinbase Wallet SDK UI is already attached");const e=document.documentElement,t=document.createElement("div");t.className="-cbwsdk-css-reset",e.appendChild(t),this.linkFlow.attach(t),this.snackbar.attach(t),this.attached=!0,(0,LFe.injectCssReset)()}setConnected(e){this.linkFlow.setConnected(e)}setChainId(e){this.linkFlow.setChainId(e)}setConnectDisabled(e){this.linkFlow.setConnectDisabled(e)}addEthereumChain(){}watchAsset(){}switchEthereumChain(){}requestEthereumAccounts(e){this.linkFlow.open({onCancel:e.onCancel})}hideRequestEthereumAccounts(){this.linkFlow.close()}signEthereumMessage(){}signEthereumTransaction(){}submitEthereumTransaction(){}ethereumAddressFromSignedMessage(){}showConnecting(e){let t;return e.isUnlinkedErrorState?t={autoExpand:!0,message:"Connection lost",menuItems:[{isRed:!1,info:"Reset connection",svgWidth:"10",svgHeight:"11",path:"M5.00008 0.96875C6.73133 0.96875 8.23758 1.94375 9.00008 3.375L10.0001 2.375V5.5H9.53133H7.96883H6.87508L7.80633 4.56875C7.41258 3.3875 6.31258 2.53125 5.00008 2.53125C3.76258 2.53125 2.70633 3.2875 2.25633 4.36875L0.812576 3.76875C1.50008 2.125 3.11258 0.96875 5.00008 0.96875ZM2.19375 6.43125C2.5875 7.6125 3.6875 8.46875 5 8.46875C6.2375 8.46875 7.29375 7.7125 7.74375 6.63125L9.1875 7.23125C8.5 8.875 6.8875 10.0312 5 10.0312C3.26875 10.0312 1.7625 9.05625 1 7.625L0 8.625V5.5H0.46875H2.03125H3.125L2.19375 6.43125Z",defaultFillRule:"evenodd",defaultClipRule:"evenodd",onClick:e.onResetConnection}]}:t={message:"Confirm on phone",menuItems:[{isRed:!0,info:"Cancel transaction",svgWidth:"11",svgHeight:"11",path:"M10.3711 1.52346L9.21775 0.370117L5.37109 4.21022L1.52444 0.370117L0.371094 1.52346L4.2112 5.37012L0.371094 9.21677L1.52444 10.3701L5.37109 6.53001L9.21775 10.3701L10.3711 9.21677L6.53099 5.37012L10.3711 1.52346Z",defaultFillRule:"inherit",defaultClipRule:"inherit",onClick:e.onCancel},{isRed:!1,info:"Reset connection",svgWidth:"10",svgHeight:"11",path:"M5.00008 0.96875C6.73133 0.96875 8.23758 1.94375 9.00008 3.375L10.0001 2.375V5.5H9.53133H7.96883H6.87508L7.80633 4.56875C7.41258 3.3875 6.31258 2.53125 5.00008 2.53125C3.76258 2.53125 2.70633 3.2875 2.25633 4.36875L0.812576 3.76875C1.50008 2.125 3.11258 0.96875 5.00008 0.96875ZM2.19375 6.43125C2.5875 7.6125 3.6875 8.46875 5 8.46875C6.2375 8.46875 7.29375 7.7125 7.74375 6.63125L9.1875 7.23125C8.5 8.875 6.8875 10.0312 5 10.0312C3.26875 10.0312 1.7625 9.05625 1 7.625L0 8.625V5.5H0.46875H2.03125H3.125L2.19375 6.43125Z",defaultFillRule:"evenodd",defaultClipRule:"evenodd",onClick:e.onResetConnection}]},this.snackbar.presentItem(t)}reloadUI(){document.location.reload()}inlineAccountsResponse(){return!1}inlineAddEthereumChain(){return!1}inlineWatchAsset(){return!1}inlineSwitchEthereumChain(){return!1}setStandalone(e){this.standalone=e}isStandalone(){var e;return(e=this.standalone)!==null&&e!==void 0?e:!1}}b8.WalletLinkRelayUI=jFe,Object.defineProperty(f8,"__esModule",{value:!0}),f8.WalletLinkRelay=void 0;const Py=a8,zFe=Js,is=mr,Gm=Ey,Tue=tu,v1=Ay,HFe=qS,Km=yy,qFe=b8;class Xd extends Tue.RelayAbstract{constructor(e){var t;super(),this.accountsCallback=null,this.chainCallbackParams={chainId:"",jsonRpcUrl:""},this.chainCallback=null,this.dappDefaultChain=1,this.appName="",this.appLogoUrl=null,this.linkedUpdated=o=>{var a;this.isLinked=o;const l=this.storage.getItem(Tue.LOCAL_STORAGE_ADDRESSES_KEY);if(o&&(this.session.linked=o),this.isUnlinkedErrorState=!1,l){const u=l.split(" "),h=this.storage.getItem("IsStandaloneSigning")==="true";if(u[0]!==""&&!o&&this.session.linked&&!h){this.isUnlinkedErrorState=!0;const p=this.getSessionIdHash();(a=this.diagnostic)===null||a===void 0||a.log(Gm.EVENTS.UNLINKED_ERROR_STATE,{sessionIdHash:p})}}},this.metadataUpdated=(o,a)=>{this.storage.setItem(o,a)},this.chainUpdated=(o,a)=>{this.chainCallbackParams.chainId===o&&this.chainCallbackParams.jsonRpcUrl===a||(this.chainCallbackParams={chainId:o,jsonRpcUrl:a},this.chainCallback&&this.chainCallback(o,a))},this.accountUpdated=o=>{this.accountsCallback&&this.accountsCallback([o]),Xd.accountRequestCallbackIds.size>0&&(Array.from(Xd.accountRequestCallbackIds.values()).forEach(a=>{const l={type:"WEB3_RESPONSE",id:a,response:{method:"requestEthereumAccounts",result:[o]}};this.invokeCallback(Object.assign(Object.assign({},l),{id:a}))}),Xd.accountRequestCallbackIds.clear())},this.connectedUpdated=o=>{this.ui.setConnected(o)},this.resetAndReload=this.resetAndReload.bind(this),this.linkAPIUrl=e.linkAPIUrl,this.storage=e.storage,this.options=e;const{session:n,ui:i,connection:s}=this.subscribe();this._session=n,this.connection=s,this.relayEventManager=e.relayEventManager,this.diagnostic=e.diagnosticLogger,this._reloadOnDisconnect=(t=e.reloadOnDisconnect)!==null&&t!==void 0?t:!0,this.ui=i}subscribe(){const e=v1.Session.load(this.storage)||new v1.Session(this.storage).save(),{linkAPIUrl:t,diagnostic:n}=this,i=new HFe.WalletLinkConnection({session:e,linkAPIUrl:t,diagnostic:n,listener:this}),{version:s,darkMode:o}=this.options,a=this.options.uiConstructor({linkAPIUrl:t,version:s,darkMode:o,session:e});return i.connect(),{session:e,ui:a,connection:i}}attachUI(){this.ui.attach()}resetAndReload(){Promise.race([this.connection.setSessionMetadata("__destroyed","1"),new Promise(e=>setTimeout(()=>e(null),1e3))]).then(()=>{var e,t;const n=this.ui.isStandalone();(e=this.diagnostic)===null||e===void 0||e.log(Gm.EVENTS.SESSION_STATE_CHANGE,{method:"relay::resetAndReload",sessionMetadataChange:"__destroyed, 1",sessionIdHash:this.getSessionIdHash()}),this.connection.destroy();const i=v1.Session.load(this.storage);if((i==null?void 0:i.id)===this._session.id?this.storage.clear():i&&((t=this.diagnostic)===null||t===void 0||t.log(Gm.EVENTS.SKIPPED_CLEARING_SESSION,{sessionIdHash:this.getSessionIdHash(),storedSessionIdHash:v1.Session.hash(i.id)})),this._reloadOnDisconnect){this.ui.reloadUI();return}this.accountsCallback&&this.accountsCallback([],!0);const{session:s,ui:o,connection:a}=this.subscribe();this._session=s,this.connection=a,this.ui=o,n&&this.ui.setStandalone&&this.ui.setStandalone(!0),this.attachUI()}).catch(e=>{var t;(t=this.diagnostic)===null||t===void 0||t.log(Gm.EVENTS.FAILURE,{method:"relay::resetAndReload",message:`failed to reset and reload with ${e}`,sessionIdHash:this.getSessionIdHash()})})}setAppInfo(e,t){this.appName=e,this.appLogoUrl=t}getStorageItem(e){return this.storage.getItem(e)}get session(){return this._session}setStorageItem(e,t){this.storage.setItem(e,t)}signEthereumMessage(e,t,n,i){return this.sendRequest({method:"signEthereumMessage",params:{message:(0,is.hexStringFromBuffer)(e,!0),address:t,addPrefix:n,typedDataJson:i||null}})}ethereumAddressFromSignedMessage(e,t,n){return this.sendRequest({method:"ethereumAddressFromSignedMessage",params:{message:(0,is.hexStringFromBuffer)(e,!0),signature:(0,is.hexStringFromBuffer)(t,!0),addPrefix:n}})}signEthereumTransaction(e){return this.sendRequest({method:"signEthereumTransaction",params:{fromAddress:e.fromAddress,toAddress:e.toAddress,weiValue:(0,is.bigIntStringFromBN)(e.weiValue),data:(0,is.hexStringFromBuffer)(e.data,!0),nonce:e.nonce,gasPriceInWei:e.gasPriceInWei?(0,is.bigIntStringFromBN)(e.gasPriceInWei):null,maxFeePerGas:e.gasPriceInWei?(0,is.bigIntStringFromBN)(e.gasPriceInWei):null,maxPriorityFeePerGas:e.gasPriceInWei?(0,is.bigIntStringFromBN)(e.gasPriceInWei):null,gasLimit:e.gasLimit?(0,is.bigIntStringFromBN)(e.gasLimit):null,chainId:e.chainId,shouldSubmit:!1}})}signAndSubmitEthereumTransaction(e){return this.sendRequest({method:"signEthereumTransaction",params:{fromAddress:e.fromAddress,toAddress:e.toAddress,weiValue:(0,is.bigIntStringFromBN)(e.weiValue),data:(0,is.hexStringFromBuffer)(e.data,!0),nonce:e.nonce,gasPriceInWei:e.gasPriceInWei?(0,is.bigIntStringFromBN)(e.gasPriceInWei):null,maxFeePerGas:e.maxFeePerGas?(0,is.bigIntStringFromBN)(e.maxFeePerGas):null,maxPriorityFeePerGas:e.maxPriorityFeePerGas?(0,is.bigIntStringFromBN)(e.maxPriorityFeePerGas):null,gasLimit:e.gasLimit?(0,is.bigIntStringFromBN)(e.gasLimit):null,chainId:e.chainId,shouldSubmit:!0}})}submitEthereumTransaction(e,t){return this.sendRequest({method:"submitEthereumTransaction",params:{signedTransaction:(0,is.hexStringFromBuffer)(e,!0),chainId:t}})}scanQRCode(e){return this.sendRequest({method:"scanQRCode",params:{regExp:e}})}getQRCodeUrl(){return(0,is.createQrUrl)(this._session.id,this._session.secret,this.linkAPIUrl,!1,this.options.version,this.dappDefaultChain)}genericRequest(e,t){return this.sendRequest({method:"generic",params:{action:t,data:e}})}sendGenericMessage(e){return this.sendRequest(e)}sendRequest(e){let t=null;const n=(0,is.randomBytesHex)(8),i=o=>{this.publishWeb3RequestCanceledEvent(n),this.handleErrorResponse(n,e.method,o),t==null||t()};return{promise:new Promise((o,a)=>{this.ui.isStandalone()||(t=this.ui.showConnecting({isUnlinkedErrorState:this.isUnlinkedErrorState,onCancel:i,onResetConnection:this.resetAndReload})),this.relayEventManager.callbacks.set(n,l=>{if(t==null||t(),(0,Km.isErrorResponse)(l))return a(new Error(l.errorMessage));o(l)}),this.ui.isStandalone()?this.sendRequestStandalone(n,e):this.publishWeb3RequestEvent(n,e)}),cancel:i}}setConnectDisabled(e){this.ui.setConnectDisabled(e)}setAccountsCallback(e){this.accountsCallback=e}setChainCallback(e){this.chainCallback=e}setDappDefaultChainCallback(e){this.dappDefaultChain=e,this.ui instanceof qFe.WalletLinkRelayUI&&this.ui.setChainId(e)}publishWeb3RequestEvent(e,t){var n;const i={type:"WEB3_REQUEST",id:e,request:t},s=v1.Session.load(this.storage);(n=this.diagnostic)===null||n===void 0||n.log(Gm.EVENTS.WEB3_REQUEST,{eventId:i.id,method:`relay::${t.method}`,sessionIdHash:this.getSessionIdHash(),storedSessionIdHash:s?v1.Session.hash(s.id):"",isSessionMismatched:((s==null?void 0:s.id)!==this._session.id).toString()}),this.publishEvent("Web3Request",i,!0).then(o=>{var a;(a=this.diagnostic)===null||a===void 0||a.log(Gm.EVENTS.WEB3_REQUEST_PUBLISHED,{eventId:i.id,method:`relay::${t.method}`,sessionIdHash:this.getSessionIdHash(),storedSessionIdHash:s?v1.Session.hash(s.id):"",isSessionMismatched:((s==null?void 0:s.id)!==this._session.id).toString()})}).catch(o=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:i.id,response:{method:t.method,errorMessage:o.message}})})}publishWeb3RequestCanceledEvent(e){const t={type:"WEB3_REQUEST_CANCELED",id:e};this.publishEvent("Web3RequestCanceled",t,!1).then()}publishEvent(e,t,n){return this.connection.publishEvent(e,t,n)}handleWeb3ResponseMessage(e){var t;const{response:n}=e;if((t=this.diagnostic)===null||t===void 0||t.log(Gm.EVENTS.WEB3_RESPONSE,{eventId:e.id,method:`relay::${n.method}`,sessionIdHash:this.getSessionIdHash()}),n.method==="requestEthereumAccounts"){Xd.accountRequestCallbackIds.forEach(i=>this.invokeCallback(Object.assign(Object.assign({},e),{id:i}))),Xd.accountRequestCallbackIds.clear();return}this.invokeCallback(e)}handleErrorResponse(e,t,n,i){var s;const o=(s=n==null?void 0:n.message)!==null&&s!==void 0?s:(0,Py.getMessageFromCode)(i);this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:e,response:{method:t,errorMessage:o,errorCode:i}})}invokeCallback(e){const t=this.relayEventManager.callbacks.get(e.id);t&&(t(e.response),this.relayEventManager.callbacks.delete(e.id))}requestEthereumAccounts(){const e={method:"requestEthereumAccounts",params:{appName:this.appName,appLogoUrl:this.appLogoUrl||null}},t=(0,is.randomBytesHex)(8),n=s=>{this.publishWeb3RequestCanceledEvent(t),this.handleErrorResponse(t,e.method,s)};return{promise:new Promise((s,o)=>{if(this.relayEventManager.callbacks.set(t,a=>{if(this.ui.hideRequestEthereumAccounts(),(0,Km.isErrorResponse)(a))return o(new Error(a.errorMessage));s(a)}),this.ui.inlineAccountsResponse()){const a=l=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:t,response:{method:"requestEthereumAccounts",result:l}})};this.ui.requestEthereumAccounts({onCancel:n,onAccounts:a})}else{const a=Py.standardErrors.provider.userRejectedRequest("User denied account authorization");this.ui.requestEthereumAccounts({onCancel:()=>n(a)})}Xd.accountRequestCallbackIds.add(t),!this.ui.inlineAccountsResponse()&&!this.ui.isStandalone()&&this.publishWeb3RequestEvent(t,e)}),cancel:n}}selectProvider(e){const t={method:"selectProvider",params:{providerOptions:e}},n=(0,is.randomBytesHex)(8),i=o=>{this.publishWeb3RequestCanceledEvent(n),this.handleErrorResponse(n,t.method,o)},s=new Promise((o,a)=>{this.relayEventManager.callbacks.set(n,h=>{if((0,Km.isErrorResponse)(h))return a(new Error(h.errorMessage));o(h)});const l=h=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:n,response:{method:"selectProvider",result:zFe.ProviderType.Unselected}})},u=h=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:n,response:{method:"selectProvider",result:h}})};this.ui.selectProvider&&this.ui.selectProvider({onApprove:u,onCancel:l,providerOptions:e})});return{cancel:i,promise:s}}watchAsset(e,t,n,i,s,o){const a={method:"watchAsset",params:{type:e,options:{address:t,symbol:n,decimals:i,image:s},chainId:o}};let l=null;const u=(0,is.randomBytesHex)(8),h=g=>{this.publishWeb3RequestCanceledEvent(u),this.handleErrorResponse(u,a.method,g),l==null||l()};this.ui.inlineWatchAsset()||(l=this.ui.showConnecting({isUnlinkedErrorState:this.isUnlinkedErrorState,onCancel:h,onResetConnection:this.resetAndReload}));const p=new Promise((g,w)=>{this.relayEventManager.callbacks.set(u,T=>{if(l==null||l(),(0,Km.isErrorResponse)(T))return w(new Error(T.errorMessage));g(T)});const y=T=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:u,response:{method:"watchAsset",result:!1}})},C=()=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:u,response:{method:"watchAsset",result:!0}})};this.ui.inlineWatchAsset()&&this.ui.watchAsset({onApprove:C,onCancel:y,type:e,address:t,symbol:n,decimals:i,image:s,chainId:o}),!this.ui.inlineWatchAsset()&&!this.ui.isStandalone()&&this.publishWeb3RequestEvent(u,a)});return{cancel:h,promise:p}}addEthereumChain(e,t,n,i,s,o){const a={method:"addEthereumChain",params:{chainId:e,rpcUrls:t,blockExplorerUrls:i,chainName:s,iconUrls:n,nativeCurrency:o}};let l=null;const u=(0,is.randomBytesHex)(8),h=g=>{this.publishWeb3RequestCanceledEvent(u),this.handleErrorResponse(u,a.method,g),l==null||l()};return this.ui.inlineAddEthereumChain(e)||(l=this.ui.showConnecting({isUnlinkedErrorState:this.isUnlinkedErrorState,onCancel:h,onResetConnection:this.resetAndReload})),{promise:new Promise((g,w)=>{this.relayEventManager.callbacks.set(u,T=>{if(l==null||l(),(0,Km.isErrorResponse)(T))return w(new Error(T.errorMessage));g(T)});const y=T=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:u,response:{method:"addEthereumChain",result:{isApproved:!1,rpcUrl:""}}})},C=T=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:u,response:{method:"addEthereumChain",result:{isApproved:!0,rpcUrl:T}}})};this.ui.inlineAddEthereumChain(e)&&this.ui.addEthereumChain({onCancel:y,onApprove:C,chainId:a.params.chainId,rpcUrls:a.params.rpcUrls,blockExplorerUrls:a.params.blockExplorerUrls,chainName:a.params.chainName,iconUrls:a.params.iconUrls,nativeCurrency:a.params.nativeCurrency}),!this.ui.inlineAddEthereumChain(e)&&!this.ui.isStandalone()&&this.publishWeb3RequestEvent(u,a)}),cancel:h}}switchEthereumChain(e,t){const n={method:"switchEthereumChain",params:Object.assign({chainId:e},{address:t})},i=(0,is.randomBytesHex)(8),s=a=>{this.publishWeb3RequestCanceledEvent(i),this.handleErrorResponse(i,n.method,a)};return{promise:new Promise((a,l)=>{this.relayEventManager.callbacks.set(i,p=>{if((0,Km.isErrorResponse)(p)&&p.errorCode)return l(Py.standardErrors.provider.custom({code:p.errorCode,message:"Unrecognized chain ID. Try adding the chain using addEthereumChain first."}));if((0,Km.isErrorResponse)(p))return l(new Error(p.errorMessage));a(p)});const u=p=>{var g;if(p){const w=(g=(0,Py.getErrorCode)(p))!==null&&g!==void 0?g:Py.standardErrorCodes.provider.unsupportedChain;this.handleErrorResponse(i,"switchEthereumChain",p instanceof Error?p:Py.standardErrors.provider.unsupportedChain(e),w)}else this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:i,response:{method:"switchEthereumChain",result:{isApproved:!1,rpcUrl:""}}})},h=p=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:i,response:{method:"switchEthereumChain",result:{isApproved:!0,rpcUrl:p}}})};this.ui.switchEthereumChain({onCancel:u,onApprove:h,chainId:n.params.chainId,address:n.params.address}),!this.ui.inlineSwitchEthereumChain()&&!this.ui.isStandalone()&&this.publishWeb3RequestEvent(i,n)}),cancel:s}}inlineAddEthereumChain(e){return this.ui.inlineAddEthereumChain(e)}getSessionIdHash(){return v1.Session.hash(this._session.id)}sendRequestStandalone(e,t){const n=s=>{this.handleErrorResponse(e,t.method,s)},i=s=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:e,response:s})};switch(t.method){case"signEthereumMessage":this.ui.signEthereumMessage({request:t,onSuccess:i,onCancel:n});break;case"signEthereumTransaction":this.ui.signEthereumTransaction({request:t,onSuccess:i,onCancel:n});break;case"submitEthereumTransaction":this.ui.submitEthereumTransaction({request:t,onSuccess:i,onCancel:n});break;case"ethereumAddressFromSignedMessage":this.ui.ethereumAddressFromSignedMessage({request:t,onSuccess:i});break;default:n();break}}}f8.WalletLinkRelay=Xd,Xd.accountRequestCallbackIds=new Set;var S8={},pI={},Rue={};(function(r){var e=ct&&ct.__createBinding||(Object.create?function(n,i,s,o){o===void 0&&(o=s);var a=Object.getOwnPropertyDescriptor(i,s);(!a||("get"in a?!i.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return i[s]}}),Object.defineProperty(n,o,a)}:function(n,i,s,o){o===void 0&&(o=s),n[o]=i[s]}),t=ct&&ct.__exportStar||function(n,i){for(var s in n)s!=="default"&&!Object.prototype.hasOwnProperty.call(i,s)&&e(i,n,s)};Object.defineProperty(r,"__esModule",{value:!0}),t(rL,r)})(Rue);var iL={};Object.defineProperty(iL,"__esModule",{value:!0}),iL.default=(()=>".-cbwsdk-css-reset .-cbwsdk-redirect-dialog-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;transition:opacity .25s;background-color:rgba(10,11,13,.5)}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-backdrop-hidden{opacity:0}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box{display:block;position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);padding:20px;border-radius:8px;background-color:#fff;color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box p{display:block;font-weight:400;font-size:14px;line-height:20px;padding-bottom:12px;color:#5b636e}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box button{appearance:none;border:none;background:none;color:#0052ff;padding:0;text-decoration:none;display:block;font-weight:600;font-size:16px;line-height:24px}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.dark{background-color:#0a0b0d;color:#fff}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.dark button{color:#0052ff}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.light{background-color:#fff;color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.light button{color:#0052ff}")();var kue=ct&&ct.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(pI,"__esModule",{value:!0}),pI.RedirectDialog=void 0;const WFe=kue(A8),_f=bc,VFe=w8,GFe=Rue,KFe=kue(iL);class ZFe{constructor(){this.root=null}attach(){const e=document.documentElement;this.root=document.createElement("div"),this.root.className="-cbwsdk-css-reset",e.appendChild(this.root),(0,VFe.injectCssReset)()}present(e){this.render(e)}clear(){this.render(null)}render(e){this.root&&((0,_f.render)(null,this.root),e&&(0,_f.render)((0,_f.h)(JFe,Object.assign({},e,{onDismiss:()=>{this.clear()}})),this.root))}}pI.RedirectDialog=ZFe;const JFe=({title:r,buttonText:e,darkMode:t,onButtonClick:n,onDismiss:i})=>{const s=t?"dark":"light";return(0,_f.h)(GFe.SnackbarContainer,{darkMode:t},(0,_f.h)("div",{class:"-cbwsdk-redirect-dialog"},(0,_f.h)("style",null,KFe.default),(0,_f.h)("div",{class:"-cbwsdk-redirect-dialog-backdrop",onClick:i}),(0,_f.h)("div",{class:(0,WFe.default)("-cbwsdk-redirect-dialog-box",s)},(0,_f.h)("p",null,r),(0,_f.h)("button",{onClick:n},e))))};Object.defineProperty(S8,"__esModule",{value:!0}),S8.MobileRelayUI=void 0;const YFe=pI;class QFe{constructor(e){this.attached=!1,this.darkMode=!1,this.openedWindow=null,this.redirectDialog=new YFe.RedirectDialog,this.darkMode=e.darkMode}attach(){if(this.attached)throw new Error("Coinbase Wallet SDK UI is already attached");this.redirectDialog.attach(),this.attached=!0}setConnected(e){}closeOpenedWindow(){var e;(e=this.openedWindow)===null||e===void 0||e.close(),this.openedWindow=null}redirectToCoinbaseWallet(e){const t=new URL("https://go.cb-w.com/walletlink");t.searchParams.append("redirect_url",window.location.href),e&&t.searchParams.append("wl_url",e),this.openedWindow=window.open(t.href,"cbw-opener"),this.openedWindow&&setTimeout(()=>this.closeOpenedWindow(),5e3)}openCoinbaseWalletDeeplink(e){this.redirectDialog.present({title:"Redirecting to Coinbase Wallet...",buttonText:"Open",darkMode:this.darkMode,onButtonClick:()=>{this.redirectToCoinbaseWallet(e)}}),setTimeout(()=>{this.redirectToCoinbaseWallet(e)},99)}showConnecting(e){return()=>{this.closeOpenedWindow(),this.redirectDialog.clear()}}hideRequestEthereumAccounts(){this.closeOpenedWindow(),this.redirectDialog.clear()}requestEthereumAccounts(){}addEthereumChain(){}watchAsset(){}selectProvider(){}switchEthereumChain(){}signEthereumMessage(){}signEthereumTransaction(){}submitEthereumTransaction(){}ethereumAddressFromSignedMessage(){}reloadUI(){}setStandalone(){}setConnectDisabled(){}inlineAccountsResponse(){return!1}inlineAddEthereumChain(){return!1}inlineWatchAsset(){return!1}inlineSwitchEthereumChain(){return!1}isStandalone(){return!1}}S8.MobileRelayUI=QFe,Object.defineProperty(h8,"__esModule",{value:!0}),h8.MobileRelay=void 0;const XFe=mr,eje=f8,Mue=S8;class tje extends eje.WalletLinkRelay{constructor(e){var t;super(e),this._enableMobileWalletLink=(t=e.enableMobileWalletLink)!==null&&t!==void 0?t:!1}requestEthereumAccounts(){return this._enableMobileWalletLink?super.requestEthereumAccounts():{promise:new Promise(()=>{const e=(0,XFe.getLocation)();e.href=`https://go.cb-w.com/dapp?cb_url=${encodeURIComponent(e.href)}`}),cancel:()=>{}}}publishWeb3RequestEvent(e,t){if(super.publishWeb3RequestEvent(e,t),!(this._enableMobileWalletLink&&this.ui instanceof Mue.MobileRelayUI))return;let n=!1;switch(t.method){case"requestEthereumAccounts":case"connectAndSignIn":n=!0,this.ui.openCoinbaseWalletDeeplink(this.getQRCodeUrl());break;case"switchEthereumChain":return;default:n=!0,this.ui.openCoinbaseWalletDeeplink();break}n&&window.addEventListener("blur",()=>{window.addEventListener("focus",()=>{this.connection.checkUnseenEvents()},{once:!0})},{once:!0})}handleWeb3ResponseMessage(e){super.handleWeb3ResponseMessage(e),this._enableMobileWalletLink&&this.ui instanceof Mue.MobileRelayUI&&this.ui.closeOpenedWindow()}connectAndSignIn(e){if(!this._enableMobileWalletLink)throw new Error("connectAndSignIn is supported only when enableMobileWalletLink is on");return this.sendRequest({method:"connectAndSignIn",params:{appName:this.appName,appLogoUrl:this.appLogoUrl,domain:window.location.hostname,aud:window.location.href,version:"1",type:"eip4361",nonce:e.nonce,iat:new Date().toISOString(),chainId:`eip155:${this.dappDefaultChain}`,statement:e.statement,resources:e.resources}})}}h8.MobileRelay=tje;var I8={},rje={get exports(){return I8},set exports(r){I8=r}},Nue=pn.EventEmitter,sL,Pue;function nje(){if(Pue)return sL;Pue=1;function r(y,C){var T=Object.keys(y);if(Object.getOwnPropertySymbols){var k=Object.getOwnPropertySymbols(y);C&&(k=k.filter(function(N){return Object.getOwnPropertyDescriptor(y,N).enumerable})),T.push.apply(T,k)}return T}function e(y){for(var C=1;C0?this.tail.next=k:this.head=k,this.tail=k,++this.length}},{key:"unshift",value:function(T){var k={data:T,next:this.head};this.length===0&&(this.tail=k),this.head=k,++this.length}},{key:"shift",value:function(){if(this.length!==0){var T=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,T}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(T){if(this.length===0)return"";for(var k=this.head,N=""+k.data;k=k.next;)N+=T+k.data;return N}},{key:"concat",value:function(T){if(this.length===0)return u.alloc(0);for(var k=u.allocUnsafe(T>>>0),N=this.head,O=0;N;)w(N.data,k,O),O+=N.data.length,N=N.next;return k}},{key:"consume",value:function(T,k){var N;return TB.length?B.length:T;if(z===B.length?O+=B:O+=B.slice(0,T),T-=z,T===0){z===B.length?(++N,k.next?this.head=k.next:this.head=this.tail=null):(this.head=k,k.data=B.slice(z));break}++N}return this.length-=N,O}},{key:"_getBuffer",value:function(T){var k=u.allocUnsafe(T),N=this.head,O=1;for(N.data.copy(k),T-=N.data.length;N=N.next;){var B=N.data,z=T>B.length?B.length:T;if(B.copy(k,k.length-T,0,z),T-=z,T===0){z===B.length?(++O,N.next?this.head=N.next:this.head=this.tail=null):(this.head=N,N.data=B.slice(z));break}++O}return this.length-=O,k}},{key:g,value:function(T,k){return p(this,e(e({},k),{},{depth:0,customInspect:!1}))}}]),y}(),sL}function ije(r,e){var t=this,n=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return n||i?(e?e(r):r&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,yt.nextTick(oL,this,r)):yt.nextTick(oL,this,r)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(r||null,function(s){!e&&s?t._writableState?t._writableState.errorEmitted?yt.nextTick(gI,t):(t._writableState.errorEmitted=!0,yt.nextTick(Oue,t,s)):yt.nextTick(Oue,t,s):e?(yt.nextTick(gI,t),e(s)):yt.nextTick(gI,t)}),this)}function Oue(r,e){oL(r,e),gI(r)}function gI(r){r._writableState&&!r._writableState.emitClose||r._readableState&&!r._readableState.emitClose||r.emit("close")}function sje(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function oL(r,e){r.emit("error",e)}function oje(r,e){var t=r._readableState,n=r._writableState;t&&t.autoDestroy||n&&n.autoDestroy?r.destroy(e):r.emit("error",e)}var Due={destroy:ije,undestroy:sje,errorOrDestroy:oje},Zm={};function aje(r,e){r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.__proto__=e}var $ue={};function ru(r,e,t){t||(t=Error);function n(s,o,a){return typeof e=="string"?e:e(s,o,a)}var i=function(s){aje(o,s);function o(a,l,u){return s.call(this,n(a,l,u))||this}return o}(t);i.prototype.name=t.name,i.prototype.code=r,$ue[r]=i}function Bue(r,e){if(Array.isArray(r)){var t=r.length;return r=r.map(function(n){return String(n)}),t>2?"one of ".concat(e," ").concat(r.slice(0,t-1).join(", "),", or ")+r[t-1]:t===2?"one of ".concat(e," ").concat(r[0]," or ").concat(r[1]):"of ".concat(e," ").concat(r[0])}else return"of ".concat(e," ").concat(String(r))}function cje(r,e,t){return r.substr(!t||t<0?0:+t,e.length)===e}function lje(r,e,t){return(t===void 0||t>r.length)&&(t=r.length),r.substring(t-e.length,t)===e}function uje(r,e,t){return typeof t!="number"&&(t=0),t+e.length>r.length?!1:r.indexOf(e,t)!==-1}ru("ERR_INVALID_OPT_VALUE",function(r,e){return'The value "'+e+'" is invalid for option "'+r+'"'},TypeError),ru("ERR_INVALID_ARG_TYPE",function(r,e,t){var n;typeof e=="string"&&cje(e,"not ")?(n="must not be",e=e.replace(/^not /,"")):n="must be";var i;if(lje(r," argument"))i="The ".concat(r," ").concat(n," ").concat(Bue(e,"type"));else{var s=uje(r,".")?"property":"argument";i='The "'.concat(r,'" ').concat(s," ").concat(n," ").concat(Bue(e,"type"))}return i+=". Received type ".concat(typeof t),i},TypeError),ru("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),ru("ERR_METHOD_NOT_IMPLEMENTED",function(r){return"The "+r+" method is not implemented"}),ru("ERR_STREAM_PREMATURE_CLOSE","Premature close"),ru("ERR_STREAM_DESTROYED",function(r){return"Cannot call "+r+" after a stream was destroyed"}),ru("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),ru("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),ru("ERR_STREAM_WRITE_AFTER_END","write after end"),ru("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),ru("ERR_UNKNOWN_ENCODING",function(r){return"Unknown encoding: "+r},TypeError),ru("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),Zm.codes=$ue;var hje=Zm.codes.ERR_INVALID_OPT_VALUE;function fje(r,e,t){return r.highWaterMark!=null?r.highWaterMark:e?r[t]:null}function dje(r,e,t,n){var i=fje(e,n,t);if(i!=null){if(!(isFinite(i)&&Math.floor(i)===i)||i<0){var s=n?t:"highWaterMark";throw new hje(s,i)}return Math.floor(i)}return r.objectMode?16:16*1024}var Lue={getHighWaterMark:dje},pje=gje;function gje(r,e){if(aL("noDeprecation"))return r;var t=!1;function n(){if(!t){if(aL("throwDeprecation"))throw new Error(e);aL("traceDeprecation")?console.trace(e):console.warn(e),t=!0}return r.apply(this,arguments)}return n}function aL(r){try{if(!ct.localStorage)return!1}catch{return!1}var e=ct.localStorage[r];return e==null?!1:String(e).toLowerCase()==="true"}var cL,Uue;function Fue(){if(Uue)return cL;Uue=1,cL=D;function r(Y){var K=this;this.next=null,this.entry=null,this.finish=function(){q(K,Y)}}var e;D.WritableState=G;var t={deprecate:pje},n=Nue,i=qc.Buffer,s=(typeof ct<"u"?ct:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function o(Y){return i.from(Y)}function a(Y){return i.isBuffer(Y)||Y instanceof s}var l=Due,u=Lue,h=u.getHighWaterMark,p=Zm.codes,g=p.ERR_INVALID_ARG_TYPE,w=p.ERR_METHOD_NOT_IMPLEMENTED,y=p.ERR_MULTIPLE_CALLBACK,C=p.ERR_STREAM_CANNOT_PIPE,T=p.ERR_STREAM_DESTROYED,k=p.ERR_STREAM_NULL_VALUES,N=p.ERR_STREAM_WRITE_AFTER_END,O=p.ERR_UNKNOWN_ENCODING,B=l.errorOrDestroy;Zc(D,n);function z(){}function G(Y,K,te){e=e||Oy(),Y=Y||{},typeof te!="boolean"&&(te=K instanceof e),this.objectMode=!!Y.objectMode,te&&(this.objectMode=this.objectMode||!!Y.writableObjectMode),this.highWaterMark=h(this,Y,"writableHighWaterMark",te),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var re=Y.decodeStrings===!1;this.decodeStrings=!re,this.defaultEncoding=Y.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(H){x(K,H)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=Y.emitClose!==!1,this.autoDestroy=!!Y.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new r(this)}G.prototype.getBuffer=function(){for(var K=this.bufferedRequest,te=[];K;)te.push(K),K=K.next;return te},function(){try{Object.defineProperty(G.prototype,"buffer",{get:t.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}();var $;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?($=Function.prototype[Symbol.hasInstance],Object.defineProperty(D,Symbol.hasInstance,{value:function(K){return $.call(this,K)?!0:this!==D?!1:K&&K._writableState instanceof G}})):$=function(K){return K instanceof this};function D(Y){e=e||Oy();var K=this instanceof e;if(!K&&!$.call(D,this))return new D(Y);this._writableState=new G(Y,this,K),this.writable=!0,Y&&(typeof Y.write=="function"&&(this._write=Y.write),typeof Y.writev=="function"&&(this._writev=Y.writev),typeof Y.destroy=="function"&&(this._destroy=Y.destroy),typeof Y.final=="function"&&(this._final=Y.final)),n.call(this)}D.prototype.pipe=function(){B(this,new C)};function V(Y,K){var te=new N;B(Y,te),yt.nextTick(K,te)}function Q(Y,K,te,re){var H;return te===null?H=new k:typeof te!="string"&&!K.objectMode&&(H=new g("chunk",["string","Buffer"],te)),H?(B(Y,H),yt.nextTick(re,H),!1):!0}D.prototype.write=function(Y,K,te){var re=this._writableState,H=!1,U=!re.objectMode&&a(Y);return U&&!i.isBuffer(Y)&&(Y=o(Y)),typeof K=="function"&&(te=K,K=null),U?K="buffer":K||(K=re.defaultEncoding),typeof te!="function"&&(te=z),re.ending?V(this,te):(U||Q(this,re,Y,te))&&(re.pendingcb++,H=M(this,re,U,Y,K,te)),H},D.prototype.cork=function(){this._writableState.corked++},D.prototype.uncork=function(){var Y=this._writableState;Y.corked&&(Y.corked--,!Y.writing&&!Y.corked&&!Y.bufferProcessing&&Y.bufferedRequest&&R(this,Y))},D.prototype.setDefaultEncoding=function(K){if(typeof K=="string"&&(K=K.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((K+"").toLowerCase())>-1))throw new O(K);return this._writableState.defaultEncoding=K,this},Object.defineProperty(D.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function F(Y,K,te){return!Y.objectMode&&Y.decodeStrings!==!1&&typeof K=="string"&&(K=i.from(K,te)),K}Object.defineProperty(D.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function M(Y,K,te,re,H,U){if(!te){var W=F(K,re,H);re!==W&&(te=!0,H="buffer",re=W)}var le=K.objectMode?1:re.length;K.length+=le;var de=K.length0)if(typeof W!="string"&&!Me.objectMode&&Object.getPrototypeOf(W)!==n.prototype&&(W=s(W)),de)Me.endEmitted?z(U,new k):F(U,Me,W,!0);else if(Me.ended)z(U,new C);else{if(Me.destroyed)return!1;Me.reading=!1,Me.decoder&&!le?(W=Me.decoder.write(W),Me.objectMode||W.length!==0?F(U,Me,W,!1):R(U,Me)):F(U,Me,W,!1)}else de||(Me.reading=!1,R(U,Me))}return!Me.ended&&(Me.length=b?U=b:(U--,U|=U>>>1,U|=U>>>2,U|=U>>>4,U|=U>>>8,U|=U>>>16,U++),U}function m(U,W){return U<=0||W.length===0&&W.ended?0:W.objectMode?1:U!==U?W.flowing&&W.length?W.buffer.head.data.length:W.length:(U>W.highWaterMark&&(W.highWaterMark=d(U)),U<=W.length?U:W.ended?W.length:(W.needReadable=!0,0))}V.prototype.read=function(U){l("read",U),U=parseInt(U,10);var W=this._readableState,le=U;if(U!==0&&(W.emittedReadable=!1),U===0&&W.needReadable&&((W.highWaterMark!==0?W.length>=W.highWaterMark:W.length>0)||W.ended))return l("read: emitReadable",W.length,W.ended),W.length===0&&W.ended?te(this):A(this),null;if(U=m(U,W),U===0&&W.ended)return W.length===0&&te(this),null;var de=W.needReadable;l("need readable",de),(W.length===0||W.length-U0?Se=K(U,W):Se=null,Se===null?(W.needReadable=W.length<=W.highWaterMark,U=0):(W.length-=U,W.awaitDrain=0),W.length===0&&(W.ended||(W.needReadable=!0),le!==U&&W.ended&&te(this)),Se!==null&&this.emit("data",Se),Se};function x(U,W){if(l("onEofChunk"),!W.ended){if(W.decoder){var le=W.decoder.end();le&&le.length&&(W.buffer.push(le),W.length+=W.objectMode?1:le.length)}W.ended=!0,W.sync?A(U):(W.needReadable=!1,W.emittedReadable||(W.emittedReadable=!0,I(U)))}}function A(U){var W=U._readableState;l("emitReadable",W.needReadable,W.emittedReadable),W.needReadable=!1,W.emittedReadable||(l("emitReadable",W.flowing),W.emittedReadable=!0,yt.nextTick(I,U))}function I(U){var W=U._readableState;l("emitReadable_",W.destroyed,W.length,W.ended),!W.destroyed&&(W.length||W.ended)&&(U.emit("readable"),W.emittedReadable=!1),W.needReadable=!W.flowing&&!W.ended&&W.length<=W.highWaterMark,Y(U)}function R(U,W){W.readingMore||(W.readingMore=!0,yt.nextTick(S,U,W))}function S(U,W){for(;!W.reading&&!W.ended&&(W.length1&&H(de.pipes,U)!==-1)&&!je&&(l("false write response, pause",de.awaitDrain),de.awaitDrain++),le.pause())}function ze(Be){l("onerror",Be),He(),U.removeListener("error",ze),e(U,"error")===0&&z(U,Be)}$(U,"error",ze);function qe(){U.removeListener("finish",Ve),He()}U.once("close",qe);function Ve(){l("onfinish"),U.removeListener("close",qe),He()}U.once("finish",Ve);function He(){l("unpipe"),le.unpipe(U)}return U.emit("pipe",le),de.flowing||(l("pipe resume"),le.resume()),U};function E(U){return function(){var le=U._readableState;l("pipeOnDrain",le.awaitDrain),le.awaitDrain&&le.awaitDrain--,le.awaitDrain===0&&e(U,"data")&&(le.flowing=!0,Y(U))}}V.prototype.unpipe=function(U){var W=this._readableState,le={hasUnpiped:!1};if(W.pipesCount===0)return this;if(W.pipesCount===1)return U&&U!==W.pipes?this:(U||(U=W.pipes),W.pipes=null,W.pipesCount=0,W.flowing=!1,U&&U.emit("unpipe",this,le),this);if(!U){var de=W.pipes,Se=W.pipesCount;W.pipes=null,W.pipesCount=0,W.flowing=!1;for(var Me=0;Me0,de.flowing!==!1&&this.resume()):U==="readable"&&!de.endEmitted&&!de.readableListening&&(de.readableListening=de.needReadable=!0,de.flowing=!1,de.emittedReadable=!1,l("on readable",de.length,de.reading),de.length?A(this):de.reading||yt.nextTick(L,this)),le},V.prototype.addListener=V.prototype.on,V.prototype.removeListener=function(U,W){var le=t.prototype.removeListener.call(this,U,W);return U==="readable"&&yt.nextTick(_,this),le},V.prototype.removeAllListeners=function(U){var W=t.prototype.removeAllListeners.apply(this,arguments);return(U==="readable"||U===void 0)&&yt.nextTick(_,this),W};function _(U){var W=U._readableState;W.readableListening=U.listenerCount("readable")>0,W.resumeScheduled&&!W.paused?W.flowing=!0:U.listenerCount("data")>0&&U.resume()}function L(U){l("readable nexttick read 0"),U.read(0)}V.prototype.resume=function(){var U=this._readableState;return U.flowing||(l("resume"),U.flowing=!U.readableListening,ie(this,U)),U.paused=!1,this};function ie(U,W){W.resumeScheduled||(W.resumeScheduled=!0,yt.nextTick(q,U,W))}function q(U,W){l("resume",W.reading),W.reading||U.read(0),W.resumeScheduled=!1,U.emit("resume"),Y(U),W.flowing&&!W.reading&&U.read(0)}V.prototype.pause=function(){return l("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(l("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function Y(U){var W=U._readableState;for(l("flow",W.flowing);W.flowing&&U.read()!==null;);}V.prototype.wrap=function(U){var W=this,le=this._readableState,de=!1;U.on("end",function(){if(l("wrapped end"),le.decoder&&!le.ended){var ke=le.decoder.end();ke&&ke.length&&W.push(ke)}W.push(null)}),U.on("data",function(ke){if(l("wrapped data"),le.decoder&&(ke=le.decoder.write(ke)),!(le.objectMode&&ke==null)&&!(!le.objectMode&&(!ke||!ke.length))){var Ke=W.push(ke);Ke||(de=!0,U.pause())}});for(var Se in U)this[Se]===void 0&&typeof U[Se]=="function"&&(this[Se]=function(Ke){return function(){return U[Ke].apply(U,arguments)}}(Se));for(var Me=0;Me=W.length?(W.decoder?le=W.buffer.join(""):W.buffer.length===1?le=W.buffer.first():le=W.buffer.concat(W.length),W.buffer.clear()):le=W.buffer.consume(U,W.decoder),le}function te(U){var W=U._readableState;l("endReadable",W.endEmitted),W.endEmitted||(W.ended=!0,yt.nextTick(re,W,U))}function re(U,W){if(l("endReadableNT",U.endEmitted,U.length),!U.endEmitted&&U.length===0&&(U.endEmitted=!0,W.readable=!1,W.emit("end"),U.autoDestroy)){var le=W._writableState;(!le||le.autoDestroy&&le.finished)&&W.destroy()}}typeof Symbol=="function"&&(V.from=function(U,W){return B===void 0&&(B=yje()),B(V,U,W)});function H(U,W){for(var le=0,de=U.length;le0;return Nje(o,l,u,function(h){i||(i=h),h&&s.forEach(Xue),!l&&(s.forEach(Xue),n(i))})});return e.reduce(Pje)}var $je=Dje;(function(r,e){e=r.exports=Gue(),e.Stream=e,e.Readable=e,e.Writable=Fue(),e.Duplex=Oy(),e.Transform=Kue,e.PassThrough=Ije,e.finished=uL,e.pipeline=$je})(rje,I8);const{Transform:Bje}=I8;var Lje=r=>class Sge extends Bje{constructor(t,n,i,s,o){super(o),this._rate=t,this._capacity=n,this._delimitedSuffix=i,this._hashBitLength=s,this._options=o,this._state=new r,this._state.initialize(t,n),this._finalized=!1}_transform(t,n,i){let s=null;try{this.update(t,n)}catch(o){s=o}i(s)}_flush(t){let n=null;try{this.push(this.digest())}catch(i){n=i}t(n)}update(t,n){if(!Dt.isBuffer(t)&&typeof t!="string")throw new TypeError("Data must be a string or a buffer");if(this._finalized)throw new Error("Digest already called");return Dt.isBuffer(t)||(t=Dt.from(t,n)),this._state.absorb(t),this}digest(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0,this._delimitedSuffix&&this._state.absorbLastFewBits(this._delimitedSuffix);let n=this._state.squeeze(this._hashBitLength/8);return t!==void 0&&(n=n.toString(t)),this._resetState(),n}_resetState(){return this._state.initialize(this._rate,this._capacity),this}_clone(){const t=new Sge(this._rate,this._capacity,this._delimitedSuffix,this._hashBitLength,this._options);return this._state.copy(t._state),t._finalized=this._finalized,t}};const{Transform:Uje}=I8;var Fje=r=>class Ige extends Uje{constructor(t,n,i,s){super(s),this._rate=t,this._capacity=n,this._delimitedSuffix=i,this._options=s,this._state=new r,this._state.initialize(t,n),this._finalized=!1}_transform(t,n,i){let s=null;try{this.update(t,n)}catch(o){s=o}i(s)}_flush(){}_read(t){this.push(this.squeeze(t))}update(t,n){if(!Dt.isBuffer(t)&&typeof t!="string")throw new TypeError("Data must be a string or a buffer");if(this._finalized)throw new Error("Squeeze already called");return Dt.isBuffer(t)||(t=Dt.from(t,n)),this._state.absorb(t),this}squeeze(t,n){this._finalized||(this._finalized=!0,this._state.absorbLastFewBits(this._delimitedSuffix));let i=this._state.squeeze(t);return n!==void 0&&(i=i.toString(n)),i}_resetState(){return this._state.initialize(this._rate,this._capacity),this}_clone(){const t=new Ige(this._rate,this._capacity,this._delimitedSuffix,this._options);return this._state.copy(t._state),t._finalized=this._finalized,t}};const jje=Lje,zje=Fje;var Hje=function(r){const e=jje(r),t=zje(r);return function(n,i){switch(typeof n=="string"?n.toLowerCase():n){case"keccak224":return new e(1152,448,null,224,i);case"keccak256":return new e(1088,512,null,256,i);case"keccak384":return new e(832,768,null,384,i);case"keccak512":return new e(576,1024,null,512,i);case"sha3-224":return new e(1152,448,6,224,i);case"sha3-256":return new e(1088,512,6,256,i);case"sha3-384":return new e(832,768,6,384,i);case"sha3-512":return new e(576,1024,6,512,i);case"shake128":return new t(1344,256,31,i);case"shake256":return new t(1088,512,31,i);default:throw new Error("Invald algorithm: "+n)}}},ehe={};const the=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648];ehe.p1600=function(r){for(let e=0;e<24;++e){const t=r[0]^r[10]^r[20]^r[30]^r[40],n=r[1]^r[11]^r[21]^r[31]^r[41],i=r[2]^r[12]^r[22]^r[32]^r[42],s=r[3]^r[13]^r[23]^r[33]^r[43],o=r[4]^r[14]^r[24]^r[34]^r[44],a=r[5]^r[15]^r[25]^r[35]^r[45],l=r[6]^r[16]^r[26]^r[36]^r[46],u=r[7]^r[17]^r[27]^r[37]^r[47],h=r[8]^r[18]^r[28]^r[38]^r[48],p=r[9]^r[19]^r[29]^r[39]^r[49];let g=h^(i<<1|s>>>31),w=p^(s<<1|i>>>31);const y=r[0]^g,C=r[1]^w,T=r[10]^g,k=r[11]^w,N=r[20]^g,O=r[21]^w,B=r[30]^g,z=r[31]^w,G=r[40]^g,$=r[41]^w;g=t^(o<<1|a>>>31),w=n^(a<<1|o>>>31);const D=r[2]^g,V=r[3]^w,Q=r[12]^g,F=r[13]^w,M=r[22]^g,b=r[23]^w,d=r[32]^g,m=r[33]^w,x=r[42]^g,A=r[43]^w;g=i^(l<<1|u>>>31),w=s^(u<<1|l>>>31);const I=r[4]^g,R=r[5]^w,S=r[14]^g,E=r[15]^w,_=r[24]^g,L=r[25]^w,ie=r[34]^g,q=r[35]^w,Y=r[44]^g,K=r[45]^w;g=o^(h<<1|p>>>31),w=a^(p<<1|h>>>31);const te=r[6]^g,re=r[7]^w,H=r[16]^g,U=r[17]^w,W=r[26]^g,le=r[27]^w,de=r[36]^g,Se=r[37]^w,Me=r[46]^g,ke=r[47]^w;g=l^(t<<1|n>>>31),w=u^(n<<1|t>>>31);const Ke=r[8]^g,Re=r[9]^w,je=r[18]^g,De=r[19]^w,Je=r[28]^g,ze=r[29]^w,qe=r[38]^g,Ve=r[39]^w,He=r[48]^g,Be=r[49]^w,Ge=y,Xe=C,se=k<<4|T>>>28,J=T<<4|k>>>28,X=N<<3|O>>>29,ue=O<<3|N>>>29,we=z<<9|B>>>23,ye=B<<9|z>>>23,Ie=G<<18|$>>>14,it=$<<18|G>>>14,ot=D<<1|V>>>31,tt=V<<1|D>>>31,It=F<<12|Q>>>20,st=Q<<12|F>>>20,Nt=M<<10|b>>>22,Lt=b<<10|M>>>22,ht=m<<13|d>>>19,wt=d<<13|m>>>19,Ut=x<<2|A>>>30,ft=A<<2|x>>>30,dt=R<<30|I>>>2,Vt=I<<30|R>>>2,xt=S<<6|E>>>26,pt=E<<6|S>>>26,Gt=L<<11|_>>>21,gt=_<<11|L>>>21,vt=ie<<15|q>>>17,Ft=q<<15|ie>>>17,lt=K<<29|Y>>>3,_t=Y<<29|K>>>3,Kt=te<<28|re>>>4,Ht=re<<28|te>>>4,qt=U<<23|H>>>9,br=H<<23|U>>>9,Tt=W<<25|le>>>7,ur=le<<25|W>>>7,Xn=de<<21|Se>>>11,ei=Se<<21|de>>>11,ti=ke<<24|Me>>>8,ri=Me<<24|ke>>>8,bn=Ke<<27|Re>>>5,qn=Re<<27|Ke>>>5,Di=je<<20|De>>>12,Wn=De<<20|je>>>12,$i=ze<<7|Je>>>25,Bi=Je<<7|ze>>>25,bi=qe<<8|Ve>>>24,Ei=Ve<<8|qe>>>24,Ai=He<<14|Be>>>18,Cn=Be<<14|He>>>18;r[0]=Ge^~It&Gt,r[1]=Xe^~st>,r[10]=Kt^~Di&X,r[11]=Ht^~Wn&ue,r[20]=ot^~xt&Tt,r[21]=tt^~pt&ur,r[30]=bn^~se&Nt,r[31]=qn^~J&Lt,r[40]=dt^~qt&$i,r[41]=Vt^~br&Bi,r[2]=It^~Gt&Xn,r[3]=st^~gt&ei,r[12]=Di^~X&ht,r[13]=Wn^~ue&wt,r[22]=xt^~Tt&bi,r[23]=pt^~ur&Ei,r[32]=se^~Nt&vt,r[33]=J^~Lt&Ft,r[42]=qt^~$i&we,r[43]=br^~Bi&ye,r[4]=Gt^~Xn&Ai,r[5]=gt^~ei&Cn,r[14]=X^~ht<,r[15]=ue^~wt&_t,r[24]=Tt^~bi&Ie,r[25]=ur^~Ei&it,r[34]=Nt^~vt&ti,r[35]=Lt^~Ft&ri,r[44]=$i^~we&Ut,r[45]=Bi^~ye&ft,r[6]=Xn^~Ai&Ge,r[7]=ei^~Cn&Xe,r[16]=ht^~lt&Kt,r[17]=wt^~_t&Ht,r[26]=bi^~Ie&ot,r[27]=Ei^~it&tt,r[36]=vt^~ti&bn,r[37]=Ft^~ri&qn,r[46]=we^~Ut&dt,r[47]=ye^~ft&Vt,r[8]=Ai^~Ge&It,r[9]=Cn^~Xe&st,r[18]=lt^~Kt&Di,r[19]=_t^~Ht&Wn,r[28]=Ie^~ot&xt,r[29]=it^~tt&pt,r[38]=ti^~bn&se,r[39]=ri^~qn&J,r[48]=Ut^~dt&qt,r[49]=ft^~Vt&br,r[0]^=the[e*2],r[1]^=the[e*2+1]}};const wI=ehe;function Dy(){this.state=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.blockSize=null,this.count=0,this.squeezing=!1}Dy.prototype.initialize=function(r,e){for(let t=0;t<50;++t)this.state[t]=0;this.blockSize=r/8,this.count=0,this.squeezing=!1},Dy.prototype.absorb=function(r){for(let e=0;e>>8*(this.count%4)&255,this.count+=1,this.count===this.blockSize&&(wI.p1600(this.state),this.count=0);return e},Dy.prototype.copy=function(r){for(let e=0;e<50;++e)r.state[e]=this.state[e];r.blockSize=this.blockSize,r.count=this.count,r.squeezing=this.squeezing};var qje=Dy,Wje=Hje(qje);const Vje=Wje,Gje=wy;function rhe(r){return Dt.allocUnsafe(r).fill(0)}function nhe(r,e,t){const n=rhe(e);return r=vI(r),t?r.length"u")throw new Error("Not an array?");if(t=lhe(r),t!=="dynamic"&&t!==0&&e.length>t)throw new Error("Elements exceed array size: "+t);i=[],r=r.slice(0,r.lastIndexOf("[")),typeof e=="string"&&(e=JSON.parse(e));for(s in e)i.push(Ef(r,e[s]));if(t==="dynamic"){var o=Ef("uint256",e.length);i.unshift(o)}return Dt.concat(i)}else{if(r==="bytes")return e=new Dt(e),i=Dt.concat([Ef("uint256",e.length),e]),e.length%32!==0&&(i=Dt.concat([i,Jm.zeros(32-e.length%32)])),i;if(r.startsWith("bytes")){if(t=$y(r),t<1||t>32)throw new Error("Invalid bytes width: "+t);return Jm.setLengthRight(e,32)}else if(r.startsWith("uint")){if(t=$y(r),t%8||t<8||t>256)throw new Error("Invalid uint width: "+t);if(n=Qm(e),n.bitLength()>t)throw new Error("Supplied uint exceeds width: "+t+" vs "+n.bitLength());if(n<0)throw new Error("Supplied uint is negative");return n.toArrayLike(Dt,"be",32)}else if(r.startsWith("int")){if(t=$y(r),t%8||t<8||t>256)throw new Error("Invalid int width: "+t);if(n=Qm(e),n.bitLength()>t)throw new Error("Supplied int exceeds width: "+t+" vs "+n.bitLength());return n.toTwos(256).toArrayLike(Dt,"be",32)}else if(r.startsWith("ufixed")){if(t=che(r),n=Qm(e),n<0)throw new Error("Supplied ufixed is negative");return Ef("uint256",n.mul(new Ym(2).pow(new Ym(t[1]))))}else if(r.startsWith("fixed"))return t=che(r),Ef("int256",Qm(e).mul(new Ym(2).pow(new Ym(t[1]))))}throw new Error("Unsupported or invalid type: "+r)}function Qje(r){return r==="string"||r==="bytes"||lhe(r)==="dynamic"}function Xje(r){return r.lastIndexOf("]")===r.length-1}function eze(r,e){var t=[],n=[],i=32*r.length;for(var s in r){var o=ahe(r[s]),a=e[s],l=Ef(o,a);Qje(o)?(t.push(Ef("uint256",i)),n.push(l),i+=l.length):t.push(l)}return Dt.concat(t.concat(n))}function uhe(r,e){if(r.length!==e.length)throw new Error("Number of types are not matching the values");for(var t,n,i=[],s=0;s32)throw new Error("Invalid bytes width: "+t);i.push(Jm.setLengthRight(a,t))}else if(o.startsWith("uint")){if(t=$y(o),t%8||t<8||t>256)throw new Error("Invalid uint width: "+t);if(n=Qm(a),n.bitLength()>t)throw new Error("Supplied uint exceeds width: "+t+" vs "+n.bitLength());i.push(n.toArrayLike(Dt,"be",t/8))}else if(o.startsWith("int")){if(t=$y(o),t%8||t<8||t>256)throw new Error("Invalid int width: "+t);if(n=Qm(a),n.bitLength()>t)throw new Error("Supplied int exceeds width: "+t+" vs "+n.bitLength());i.push(n.toTwos(t).toArrayLike(Dt,"be",t/8))}else throw new Error("Unsupported or invalid type: "+o)}return Dt.concat(i)}function tze(r,e){return Jm.keccak(uhe(r,e))}var rze={rawEncode:eze,solidityPack:uhe,soliditySHA3:tze};const eh=ohe,R8=rze,hhe={type:"object",properties:{types:{type:"object",additionalProperties:{type:"array",items:{type:"object",properties:{name:{type:"string"},type:{type:"string"}},required:["name","type"]}}},primaryType:{type:"string"},domain:{type:"object"},message:{type:"object"}},required:["types","primaryType","domain","message"]},gL={encodeData(r,e,t,n=!0){const i=["bytes32"],s=[this.hashType(r,t)];if(n){const o=(a,l,u)=>{if(t[l]!==void 0)return["bytes32",u==null?"0x0000000000000000000000000000000000000000000000000000000000000000":eh.keccak(this.encodeData(l,u,t,n))];if(u===void 0)throw new Error(`missing value for field ${a} of type ${l}`);if(l==="bytes")return["bytes32",eh.keccak(u)];if(l==="string")return typeof u=="string"&&(u=Dt.from(u,"utf8")),["bytes32",eh.keccak(u)];if(l.lastIndexOf("]")===l.length-1){const h=l.slice(0,l.lastIndexOf("[")),p=u.map(g=>o(a,h,g));return["bytes32",eh.keccak(R8.rawEncode(p.map(([g])=>g),p.map(([,g])=>g)))]}return[l,u]};for(const a of t[r]){const[l,u]=o(a.name,a.type,e[a.name]);i.push(l),s.push(u)}}else for(const o of t[r]){let a=e[o.name];if(a!==void 0)if(o.type==="bytes")i.push("bytes32"),a=eh.keccak(a),s.push(a);else if(o.type==="string")i.push("bytes32"),typeof a=="string"&&(a=Dt.from(a,"utf8")),a=eh.keccak(a),s.push(a);else if(t[o.type]!==void 0)i.push("bytes32"),a=eh.keccak(this.encodeData(o.type,a,t,n)),s.push(a);else{if(o.type.lastIndexOf("]")===o.type.length-1)throw new Error("Arrays currently unimplemented in encodeData");i.push(o.type),s.push(a)}}return R8.rawEncode(i,s)},encodeType(r,e){let t="",n=this.findTypeDependencies(r,e).filter(i=>i!==r);n=[r].concat(n.sort());for(const i of n){if(!e[i])throw new Error("No type definition specified: "+i);t+=i+"("+e[i].map(({name:o,type:a})=>a+" "+o).join(",")+")"}return t},findTypeDependencies(r,e,t=[]){if(r=r.match(/^\w*/)[0],t.includes(r)||e[r]===void 0)return t;t.push(r);for(const n of e[r])for(const i of this.findTypeDependencies(n.type,e,t))!t.includes(i)&&t.push(i);return t},hashStruct(r,e,t,n=!0){return eh.keccak(this.encodeData(r,e,t,n))},hashType(r,e){return eh.keccak(this.encodeType(r,e))},sanitizeData(r){const e={};for(const t in hhe.properties)r[t]&&(e[t]=r[t]);return e.types&&(e.types=Object.assign({EIP712Domain:[]},e.types)),e},hash(r,e=!0){const t=this.sanitizeData(r),n=[Dt.from("1901","hex")];return n.push(this.hashStruct("EIP712Domain",t.domain,t.types,e)),t.primaryType!=="EIP712Domain"&&n.push(this.hashStruct(t.primaryType,t.message,t.types,e)),eh.keccak(Dt.concat(n))}};var nze={TYPED_MESSAGE_SCHEMA:hhe,TypedDataUtils:gL,hashForSignTypedDataLegacy:function(r){return ize(r.data)},hashForSignTypedData_v3:function(r){return gL.hash(r.data,!1)},hashForSignTypedData_v4:function(r){return gL.hash(r.data)}};function ize(r){const e=new Error("Expect argument to be non-empty array");if(typeof r!="object"||!r.length)throw e;const t=r.map(function(s){return s.type==="bytes"?eh.toBuffer(s.value):s.value}),n=r.map(function(s){return s.type}),i=r.map(function(s){if(!s.name)throw e;return s.type+" "+s.name});return R8.soliditySHA3(["bytes32","bytes32"],[R8.soliditySHA3(new Array(r.length).fill("string"),i),R8.soliditySHA3(n,t)])}var By={};Object.defineProperty(By,"__esModule",{value:!0}),By.filterFromParam=By.FilterPolyfill=void 0;const Ly=Js,La=mr,sze=5*60*1e3,Xm={jsonrpc:"2.0",id:0};class oze{constructor(e){this.logFilters=new Map,this.blockFilters=new Set,this.pendingTransactionFilters=new Set,this.cursors=new Map,this.timeouts=new Map,this.nextFilterId=(0,Ly.IntNumber)(1),this.REQUEST_THROTTLE_INTERVAL=1e3,this.lastFetchTimestamp=new Date(0),this.resolvers=[],this.provider=e}async newFilter(e){const t=fhe(e),n=this.makeFilterId(),i=await this.setInitialCursorPosition(n,t.fromBlock);return console.info(`Installing new log filter(${n}):`,t,"initial cursor position:",i),this.logFilters.set(n,t),this.setFilterTimeout(n),(0,La.hexStringFromIntNumber)(n)}async newBlockFilter(){const e=this.makeFilterId(),t=await this.setInitialCursorPosition(e,"latest");return console.info(`Installing new block filter (${e}) with initial cursor position:`,t),this.blockFilters.add(e),this.setFilterTimeout(e),(0,La.hexStringFromIntNumber)(e)}async newPendingTransactionFilter(){const e=this.makeFilterId(),t=await this.setInitialCursorPosition(e,"latest");return console.info(`Installing new block filter (${e}) with initial cursor position:`,t),this.pendingTransactionFilters.add(e),this.setFilterTimeout(e),(0,La.hexStringFromIntNumber)(e)}uninstallFilter(e){const t=(0,La.intNumberFromHexString)(e);return console.info(`Uninstalling filter (${t})`),this.deleteFilter(t),!0}getFilterChanges(e){const t=(0,La.intNumberFromHexString)(e);return this.timeouts.has(t)&&this.setFilterTimeout(t),this.logFilters.has(t)?this.getLogFilterChanges(t):this.blockFilters.has(t)?this.getBlockFilterChanges(t):this.pendingTransactionFilters.has(t)?this.getPendingTransactionFilterChanges(t):Promise.resolve(yI())}async getFilterLogs(e){const t=(0,La.intNumberFromHexString)(e),n=this.logFilters.get(t);return n?this.sendAsyncPromise(Object.assign(Object.assign({},Xm),{method:"eth_getLogs",params:[dhe(n)]})):yI()}makeFilterId(){return(0,Ly.IntNumber)(++this.nextFilterId)}sendAsyncPromise(e){return new Promise((t,n)=>{this.provider.sendAsync(e,(i,s)=>{if(i)return n(i);if(Array.isArray(s)||s==null)return n(new Error(`unexpected response received: ${JSON.stringify(s)}`));t(s)})})}deleteFilter(e){console.info(`Deleting filter (${e})`),this.logFilters.delete(e),this.blockFilters.delete(e),this.pendingTransactionFilters.delete(e),this.cursors.delete(e),this.timeouts.delete(e)}async getLogFilterChanges(e){const t=this.logFilters.get(e),n=this.cursors.get(e);if(!n||!t)return yI();const i=await this.getCurrentBlockHeight(),s=t.toBlock==="latest"?i:t.toBlock;if(n>i||n>Number(t.toBlock))return xI();console.info(`Fetching logs from ${n} to ${s} for filter ${e}`);const o=await this.sendAsyncPromise(Object.assign(Object.assign({},Xm),{method:"eth_getLogs",params:[dhe(Object.assign(Object.assign({},t),{fromBlock:n,toBlock:s}))]}));if(Array.isArray(o.result)){const a=o.result.map(u=>(0,La.intNumberFromHexString)(u.blockNumber||"0x0")),l=Math.max(...a);if(l&&l>n){const u=(0,Ly.IntNumber)(l+1);console.info(`Moving cursor position for filter (${e}) from ${n} to ${u}`),this.cursors.set(e,u)}}return o}async getBlockFilterChanges(e){const t=this.cursors.get(e);if(!t)return yI();const n=await this.getCurrentBlockHeight();if(t>n)return xI();console.info(`Fetching blocks from ${t} to ${n} for filter (${e})`);const i=(await Promise.all((0,La.range)(t,n+1).map(o=>this.getBlockHashByNumber((0,Ly.IntNumber)(o))))).filter(o=>!!o),s=(0,Ly.IntNumber)(t+i.length);return console.info(`Moving cursor position for filter (${e}) from ${t} to ${s}`),this.cursors.set(e,s),Object.assign(Object.assign({},Xm),{result:i})}async getPendingTransactionFilterChanges(e){return Promise.resolve(xI())}async setInitialCursorPosition(e,t){const n=await this.getCurrentBlockHeight(),i=typeof t=="number"&&t>n?t:n;return this.cursors.set(e,i),i}setFilterTimeout(e){const t=this.timeouts.get(e);t&&window.clearTimeout(t);const n=window.setTimeout(()=>{console.info(`Filter (${e}) timed out`),this.deleteFilter(e)},sze);this.timeouts.set(e,n)}async getCurrentBlockHeight(){const e=new Date;if(e.getTime()-this.lastFetchTimestamp.getTime()>this.REQUEST_THROTTLE_INTERVAL){this.lastFetchTimestamp=e;const t=await this._getCurrentBlockHeight();this.currentBlockHeight=t,this.resolvers.forEach(n=>n(t)),this.resolvers=[]}return this.currentBlockHeight?this.currentBlockHeight:new Promise(t=>this.resolvers.push(t))}async _getCurrentBlockHeight(){const{result:e}=await this.sendAsyncPromise(Object.assign(Object.assign({},Xm),{method:"eth_blockNumber",params:[]}));return(0,La.intNumberFromHexString)((0,La.ensureHexString)(e))}async getBlockHashByNumber(e){const t=await this.sendAsyncPromise(Object.assign(Object.assign({},Xm),{method:"eth_getBlockByNumber",params:[(0,La.hexStringFromIntNumber)(e),!1]}));return t.result&&typeof t.result.hash=="string"?(0,La.ensureHexString)(t.result.hash):null}}By.FilterPolyfill=oze;function fhe(r){return{fromBlock:phe(r.fromBlock),toBlock:phe(r.toBlock),addresses:r.address===void 0?null:Array.isArray(r.address)?r.address:[r.address],topics:r.topics||[]}}By.filterFromParam=fhe;function dhe(r){const e={fromBlock:ghe(r.fromBlock),toBlock:ghe(r.toBlock),topics:r.topics};return r.addresses!==null&&(e.address=r.addresses),e}function phe(r){if(r===void 0||r==="latest"||r==="pending")return"latest";if(r==="earliest")return(0,Ly.IntNumber)(0);if((0,La.isHexString)(r))return(0,La.intNumberFromHexString)(r);throw new Error(`Invalid block option: ${String(r)}`)}function ghe(r){return r==="latest"?r:(0,La.hexStringFromIntNumber)(r)}function yI(){return Object.assign(Object.assign({},Xm),{error:{code:-32e3,message:"filter not found"}})}function xI(){return Object.assign(Object.assign({},Xm),{result:[]})}var _I={},mhe={},EI={},mL=aze;function aze(r){r=r||{};var e=r.max||Number.MAX_SAFE_INTEGER,t=typeof r.start<"u"?r.start:Math.floor(Math.random()*e);return function(){return t=t%e,t++}}const bhe=(r,e)=>function(){const t=e.promiseModule,n=new Array(arguments.length);for(let i=0;i{e.errorFirst?n.push(function(o,a){if(e.multiArgs){const l=new Array(arguments.length-1);for(let u=1;u{e=Object.assign({exclude:[/.+(Sync|Stream)$/],errorFirst:!0,promiseModule:Promise},e);const t=i=>{const s=o=>typeof o=="string"?i===o:o.test(i);return e.include?e.include.some(s):!e.exclude.some(s)};let n;typeof r=="function"?n=function(){return e.excludeMain?r.apply(this,arguments):bhe(r,e).apply(this,arguments)}:n=Object.create(Object.getPrototypeOf(r));for(const i in r){const s=r[i];n[i]=typeof s=="function"&&t(i)?bhe(s,e):s}return n},k8={},M8={};Object.defineProperty(M8,"__esModule",{value:!0});const lze=pn;function whe(r,e,t){try{Reflect.apply(r,e,t)}catch(n){setTimeout(()=>{throw n})}}function uze(r){const e=r.length,t=new Array(e);for(let n=0;n0&&([o]=t),o instanceof Error)throw o;const a=new Error(`Unhandled error.${o?` (${o.message})`:""}`);throw a.context=o,a}const s=i[e];if(s===void 0)return!1;if(typeof s=="function")whe(s,this,t);else{const o=s.length,a=uze(s);for(let l=0;lr+e,vhe=["sync","latest"];class mze extends dze.default{constructor(e){super(),this._blockResetDuration=e.blockResetDuration||20*pze,this._usePastBlocks=e.usePastBlocks||!1,this._currentBlock=null,this._isRunning=!1,this._onNewListener=this._onNewListener.bind(this),this._onRemoveListener=this._onRemoveListener.bind(this),this._resetCurrentBlock=this._resetCurrentBlock.bind(this),this._setupInternalEvents()}async destroy(){this._cancelBlockResetTimeout(),await this._maybeEnd(),super.removeAllListeners()}isRunning(){return this._isRunning}getCurrentBlock(){return this._currentBlock}async getLatestBlock(){return this._currentBlock?this._currentBlock:await new Promise(t=>this.once("latest",t))}removeAllListeners(e){return e?super.removeAllListeners(e):super.removeAllListeners(),this._setupInternalEvents(),this._onRemoveListener(),this}_setupInternalEvents(){this.removeListener("newListener",this._onNewListener),this.removeListener("removeListener",this._onRemoveListener),this.on("newListener",this._onNewListener),this.on("removeListener",this._onRemoveListener)}_onNewListener(e){vhe.includes(e)&&this._maybeStart()}_onRemoveListener(){this._getBlockTrackerEventCount()>0||this._maybeEnd()}async _maybeStart(){this._isRunning||(this._isRunning=!0,this._cancelBlockResetTimeout(),await this._start(),this.emit("_started"))}async _maybeEnd(){this._isRunning&&(this._isRunning=!1,this._setupBlockResetTimeout(),await this._end(),this.emit("_ended"))}_getBlockTrackerEventCount(){return vhe.map(e=>this.listenerCount(e)).reduce(gze)}_shouldUseNewBlock(e){const t=this._currentBlock;if(!t)return!0;const n=yhe(e),i=yhe(t);return this._usePastBlocks&&ni}_newPotentialLatest(e){this._shouldUseNewBlock(e)&&this._setCurrentBlock(e)}_setCurrentBlock(e){const t=this._currentBlock;this._currentBlock=e,this.emit("latest",e),this.emit("sync",{oldBlock:t,newBlock:e})}_setupBlockResetTimeout(){this._cancelBlockResetTimeout(),this._blockResetTimeout=setTimeout(this._resetCurrentBlock,this._blockResetDuration),this._blockResetTimeout.unref&&this._blockResetTimeout.unref()}_cancelBlockResetTimeout(){this._blockResetTimeout&&clearTimeout(this._blockResetTimeout)}_resetCurrentBlock(){this._currentBlock=null}}k8.BaseBlockTracker=mze;function yhe(r){return Number.parseInt(r,16)}var xhe={},_he={},Wo={};class Ehe extends TypeError{constructor(e,t){let n;const{message:i,explanation:s,...o}=e,{path:a}=e,l=a.length===0?i:`At path: ${a.join(".")} -- ${i}`;super(s??l),s!=null&&(this.cause=l),Object.assign(this,o),this.name=this.constructor.name,this.failures=()=>n??(n=[e,...t()])}}function bze(r){return nu(r)&&typeof r[Symbol.iterator]=="function"}function nu(r){return typeof r=="object"&&r!=null}function Ahe(r){if(Object.prototype.toString.call(r)!=="[object Object]")return!1;const e=Object.getPrototypeOf(r);return e===null||e===Object.prototype}function Ys(r){return typeof r=="symbol"?r.toString():typeof r=="string"?JSON.stringify(r):`${r}`}function wze(r){const{done:e,value:t}=r.next();return e?void 0:t}function vze(r,e,t,n){if(r===!0)return;r===!1?r={}:typeof r=="string"&&(r={message:r});const{path:i,branch:s}=e,{type:o}=t,{refinement:a,message:l=`Expected a value of type \`${o}\`${a?` with refinement \`${a}\``:""}, but received: \`${Ys(n)}\``}=r;return{value:n,type:o,refinement:a,key:i[i.length-1],path:i,branch:s,...r,message:l}}function*bL(r,e,t,n){bze(r)||(r=[r]);for(const i of r){const s=vze(i,e,t,n);s&&(yield s)}}function*wL(r,e,t={}){const{path:n=[],branch:i=[r],coerce:s=!1,mask:o=!1}=t,a={path:n,branch:i};if(s&&(r=e.coercer(r,a),o&&e.type!=="type"&&nu(e.schema)&&nu(r)&&!Array.isArray(r)))for(const u in r)e.schema[u]===void 0&&delete r[u];let l="valid";for(const u of e.validator(r,a))u.explanation=t.message,l="not_valid",yield[u,void 0];for(let[u,h,p]of e.entries(r,a)){const g=wL(h,p,{path:u===void 0?n:[...n,u],branch:u===void 0?i:[...i,h],coerce:s,mask:o,message:t.message});for(const w of g)w[0]?(l=w[0].refinement!=null?"not_refined":"not_valid",yield[w[0],void 0]):s&&(h=w[1],u===void 0?r=h:r instanceof Map?r.set(u,h):r instanceof Set?r.add(h):nu(r)&&(h!==void 0||u in r)&&(r[u]=h))}if(l!=="not_valid")for(const u of e.refiner(r,a))u.explanation=t.message,l="not_refined",yield[u,void 0];l==="valid"&&(yield[void 0,r])}class Cs{constructor(e){const{type:t,schema:n,validator:i,refiner:s,coercer:o=l=>l,entries:a=function*(){}}=e;this.type=t,this.schema=n,this.entries=a,this.coercer=o,i?this.validator=(l,u)=>{const h=i(l,u);return bL(h,u,this,l)}:this.validator=()=>[],s?this.refiner=(l,u)=>{const h=s(l,u);return bL(h,u,this,l)}:this.refiner=()=>[]}assert(e,t){return Che(e,this,t)}create(e,t){return She(e,this,t)}is(e){return vL(e,this)}mask(e,t){return Ihe(e,this,t)}validate(e,t={}){return Uy(e,this,t)}}function Che(r,e,t){const n=Uy(r,e,{message:t});if(n[0])throw n[0]}function She(r,e,t){const n=Uy(r,e,{coerce:!0,message:t});if(n[0])throw n[0];return n[1]}function Ihe(r,e,t){const n=Uy(r,e,{coerce:!0,mask:!0,message:t});if(n[0])throw n[0];return n[1]}function vL(r,e){return!Uy(r,e)[0]}function Uy(r,e,t={}){const n=wL(r,e,t),i=wze(n);return i[0]?[new Ehe(i[0],function*(){for(const o of n)o[0]&&(yield o[0])}),void 0]:[void 0,i[1]]}function yze(...r){const e=r[0].type==="type",t=r.map(i=>i.schema),n=Object.assign({},...t);return e?P8(n):N8(n)}function wc(r,e){return new Cs({type:r,schema:null,validator:e})}function xze(r,e){return new Cs({...r,refiner:(t,n)=>t===void 0||r.refiner(t,n),validator(t,n){return t===void 0?!0:(e(t,n),r.validator(t,n))}})}function _ze(r){return new Cs({type:"dynamic",schema:null,*entries(e,t){yield*r(e,t).entries(e,t)},validator(e,t){return r(e,t).validator(e,t)},coercer(e,t){return r(e,t).coercer(e,t)},refiner(e,t){return r(e,t).refiner(e,t)}})}function Eze(r){let e;return new Cs({type:"lazy",schema:null,*entries(t,n){e??(e=r()),yield*e.entries(t,n)},validator(t,n){return e??(e=r()),e.validator(t,n)},coercer(t,n){return e??(e=r()),e.coercer(t,n)},refiner(t,n){return e??(e=r()),e.refiner(t,n)}})}function Aze(r,e){const{schema:t}=r,n={...t};for(const i of e)delete n[i];switch(r.type){case"type":return P8(n);default:return N8(n)}}function Cze(r){const e=r instanceof Cs,t=e?{...r.schema}:{...r};for(const n in t)t[n]=The(t[n]);return e&&r.type==="type"?P8(t):N8(t)}function Sze(r,e){const{schema:t}=r,n={};for(const i of e)n[i]=t[i];switch(r.type){case"type":return P8(n);default:return N8(n)}}function Ize(r,e){return console.warn("superstruct@0.11 - The `struct` helper has been renamed to `define`."),wc(r,e)}function Tze(){return wc("any",()=>!0)}function Rze(r){return new Cs({type:"array",schema:r,*entries(e){if(r&&Array.isArray(e))for(const[t,n]of e.entries())yield[t,n,r]},coercer(e){return Array.isArray(e)?e.slice():e},validator(e){return Array.isArray(e)||`Expected an array value, but received: ${Ys(e)}`}})}function kze(){return wc("bigint",r=>typeof r=="bigint")}function Mze(){return wc("boolean",r=>typeof r=="boolean")}function Nze(){return wc("date",r=>r instanceof Date&&!isNaN(r.getTime())||`Expected a valid \`Date\` object, but received: ${Ys(r)}`)}function Pze(r){const e={},t=r.map(n=>Ys(n)).join();for(const n of r)e[n]=n;return new Cs({type:"enums",schema:e,validator(n){return r.includes(n)||`Expected one of \`${t}\`, but received: ${Ys(n)}`}})}function Oze(){return wc("func",r=>typeof r=="function"||`Expected a function, but received: ${Ys(r)}`)}function Dze(r){return wc("instance",e=>e instanceof r||`Expected a \`${r.name}\` instance, but received: ${Ys(e)}`)}function $ze(){return wc("integer",r=>typeof r=="number"&&!isNaN(r)&&Number.isInteger(r)||`Expected an integer, but received: ${Ys(r)}`)}function Bze(r){return new Cs({type:"intersection",schema:null,*entries(e,t){for(const n of r)yield*n.entries(e,t)},*validator(e,t){for(const n of r)yield*n.validator(e,t)},*refiner(e,t){for(const n of r)yield*n.refiner(e,t)}})}function Lze(r){const e=Ys(r),t=typeof r;return new Cs({type:"literal",schema:t==="string"||t==="number"||t==="boolean"?r:null,validator(n){return n===r||`Expected the literal \`${e}\`, but received: ${Ys(n)}`}})}function Uze(r,e){return new Cs({type:"map",schema:null,*entries(t){if(r&&e&&t instanceof Map)for(const[n,i]of t.entries())yield[n,n,r],yield[n,i,e]},coercer(t){return t instanceof Map?new Map(t):t},validator(t){return t instanceof Map||`Expected a \`Map\` object, but received: ${Ys(t)}`}})}function yL(){return wc("never",()=>!1)}function Fze(r){return new Cs({...r,validator:(e,t)=>e===null||r.validator(e,t),refiner:(e,t)=>e===null||r.refiner(e,t)})}function jze(){return wc("number",r=>typeof r=="number"&&!isNaN(r)||`Expected a number, but received: ${Ys(r)}`)}function N8(r){const e=r?Object.keys(r):[],t=yL();return new Cs({type:"object",schema:r||null,*entries(n){if(r&&nu(n)){const i=new Set(Object.keys(n));for(const s of e)i.delete(s),yield[s,n[s],r[s]];for(const s of i)yield[s,n[s],t]}},validator(n){return nu(n)||`Expected an object, but received: ${Ys(n)}`},coercer(n){return nu(n)?{...n}:n}})}function The(r){return new Cs({...r,validator:(e,t)=>e===void 0||r.validator(e,t),refiner:(e,t)=>e===void 0||r.refiner(e,t)})}function zze(r,e){return new Cs({type:"record",schema:null,*entries(t){if(nu(t))for(const n in t){const i=t[n];yield[n,n,r],yield[n,i,e]}},validator(t){return nu(t)||`Expected an object, but received: ${Ys(t)}`}})}function Hze(){return wc("regexp",r=>r instanceof RegExp)}function qze(r){return new Cs({type:"set",schema:null,*entries(e){if(r&&e instanceof Set)for(const t of e)yield[t,t,r]},coercer(e){return e instanceof Set?new Set(e):e},validator(e){return e instanceof Set||`Expected a \`Set\` object, but received: ${Ys(e)}`}})}function Rhe(){return wc("string",r=>typeof r=="string"||`Expected a string, but received: ${Ys(r)}`)}function Wze(r){const e=yL();return new Cs({type:"tuple",schema:null,*entries(t){if(Array.isArray(t)){const n=Math.max(r.length,t.length);for(let i=0;it.type).join(" | ");return new Cs({type:"union",schema:null,coercer(t){for(const n of r){const[i,s]=n.validate(t,{coerce:!0});if(!i)return s}return t},validator(t,n){const i=[];for(const s of r){const[...o]=wL(t,s,n),[a]=o;if(a[0])for(const[l]of o)l&&i.push(l);else return[]}return[`Expected the value to satisfy a union of \`${e}\`, but received: ${Ys(t)}`,...i]}})}function khe(){return wc("unknown",()=>!0)}function xL(r,e,t){return new Cs({...r,coercer:(n,i)=>vL(n,e)?r.coercer(t(n,i),i):r.coercer(n,i)})}function Gze(r,e,t={}){return xL(r,khe(),n=>{const i=typeof e=="function"?e():e;if(n===void 0)return i;if(!t.strict&&Ahe(n)&&Ahe(i)){const s={...n};let o=!1;for(const a in i)s[a]===void 0&&(s[a]=i[a],o=!0);if(o)return s}return n})}function Kze(r){return xL(r,Rhe(),e=>e.trim())}function Zze(r){return e2(r,"empty",e=>{const t=Mhe(e);return t===0||`Expected an empty ${r.type} but received one with a size of \`${t}\``})}function Mhe(r){return r instanceof Map||r instanceof Set?r.size:r.length}function Jze(r,e,t={}){const{exclusive:n}=t;return e2(r,"max",i=>n?in?i>e:i>=e||`Expected a ${r.type} greater than ${n?"":"or equal to "}${e} but received \`${i}\``)}function Qze(r){return e2(r,"nonempty",e=>Mhe(e)>0||`Expected a nonempty ${r.type} but received an empty one`)}function Xze(r,e){return e2(r,"pattern",t=>e.test(t)||`Expected a ${r.type} matching \`/${e.source}/\` but received "${t}"`)}function eHe(r,e,t=e){const n=`Expected a ${r.type}`,i=e===t?`of \`${e}\``:`between \`${e}\` and \`${t}\``;return e2(r,"size",s=>{if(typeof s=="number"||s instanceof Date)return e<=s&&s<=t||`${n} ${i} but received \`${s}\``;if(s instanceof Map||s instanceof Set){const{size:o}=s;return e<=o&&o<=t||`${n} with a size ${i} but received one with a size of \`${o}\``}else{const{length:o}=s;return e<=o&&o<=t||`${n} with a length ${i} but received one with a length of \`${o}\``}})}function e2(r,e,t){return new Cs({...r,*refiner(n,i){yield*r.refiner(n,i);const s=t(n,i),o=bL(s,i,r,n);for(const a of o)yield{...a,refinement:e}}})}const t2=ad(Object.freeze(Object.defineProperty({__proto__:null,Struct:Cs,StructError:Ehe,any:Tze,array:Rze,assert:Che,assign:yze,bigint:kze,boolean:Mze,coerce:xL,create:She,date:Nze,defaulted:Gze,define:wc,deprecated:xze,dynamic:_ze,empty:Zze,enums:Pze,func:Oze,instance:Dze,integer:$ze,intersection:Bze,is:vL,lazy:Eze,literal:Lze,map:Uze,mask:Ihe,max:Jze,min:Yze,never:yL,nonempty:Qze,nullable:Fze,number:jze,object:N8,omit:Aze,optional:The,partial:Cze,pattern:Xze,pick:Sze,record:zze,refine:e2,regexp:Hze,set:qze,size:eHe,string:Rhe,struct:Ize,trimmed:Kze,tuple:Wze,type:P8,union:Vze,unknown:khe,validate:Uy},Symbol.toStringTag,{value:"Module"})));Object.defineProperty(Wo,"__esModule",{value:!0}),Wo.assertExhaustive=Wo.assertStruct=Wo.assert=Wo.AssertionError=void 0;const tHe=t2;function rHe(r){return typeof r=="object"&&r!==null&&"message"in r}function nHe(r){var e,t;return Boolean(typeof((t=(e=r==null?void 0:r.prototype)===null||e===void 0?void 0:e.constructor)===null||t===void 0?void 0:t.name)=="string")}function iHe(r){const e=rHe(r)?r.message:String(r);return e.endsWith(".")?e.slice(0,-1):e}function Nhe(r,e){return nHe(r)?new r({message:e}):r({message:e})}class _L extends Error{constructor(e){super(e.message),this.code="ERR_ASSERTION"}}Wo.AssertionError=_L;function sHe(r,e="Assertion failed.",t=_L){if(!r)throw e instanceof Error?e:Nhe(t,e)}Wo.assert=sHe;function oHe(r,e,t="Assertion failed",n=_L){try{(0,tHe.assert)(r,e)}catch(i){throw Nhe(n,`${t}: ${iHe(i)}.`)}}Wo.assertStruct=oHe;function aHe(r){throw new Error("Invalid branch reached. Should be detected during compilation.")}Wo.assertExhaustive=aHe;var O8={};Object.defineProperty(O8,"__esModule",{value:!0}),O8.base64=void 0;const cHe=t2,lHe=Wo,uHe=(r,e={})=>{var t,n;const i=(t=e.paddingRequired)!==null&&t!==void 0?t:!1,s=(n=e.characterSet)!==null&&n!==void 0?n:"base64";let o;s==="base64"?o=String.raw`[A-Za-z0-9+\/]`:((0,lHe.assert)(s==="base64url"),o=String.raw`[-_A-Za-z0-9]`);let a;return i?a=new RegExp(`^(?:${o}{4})*(?:${o}{3}=|${o}{2}==)?$`,"u"):a=new RegExp(`^(?:${o}{4})*(?:${o}{2,3}|${o}{3}=|${o}{2}==)?$`,"u"),(0,cHe.pattern)(r,a)};O8.base64=uHe;var Rn={},D8={};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.remove0x=r.add0x=r.assertIsStrictHexString=r.assertIsHexString=r.isStrictHexString=r.isHexString=r.StrictHexStruct=r.HexStruct=void 0;const e=t2,t=Wo;r.HexStruct=(0,e.pattern)((0,e.string)(),/^(?:0x)?[0-9a-f]+$/iu),r.StrictHexStruct=(0,e.pattern)((0,e.string)(),/^0x[0-9a-f]+$/iu);function n(u){return(0,e.is)(u,r.HexStruct)}r.isHexString=n;function i(u){return(0,e.is)(u,r.StrictHexStruct)}r.isStrictHexString=i;function s(u){(0,t.assert)(n(u),"Value must be a hexadecimal string.")}r.assertIsHexString=s;function o(u){(0,t.assert)(i(u),'Value must be a hexadecimal string, starting with "0x".')}r.assertIsStrictHexString=o;function a(u){return u.startsWith("0x")?u:u.startsWith("0X")?`0x${u.substring(2)}`:`0x${u}`}r.add0x=a;function l(u){return u.startsWith("0x")||u.startsWith("0X")?u.substring(2):u}r.remove0x=l})(D8),Object.defineProperty(Rn,"__esModule",{value:!0}),Rn.createDataView=Rn.concatBytes=Rn.valueToBytes=Rn.stringToBytes=Rn.numberToBytes=Rn.signedBigIntToBytes=Rn.bigIntToBytes=Rn.hexToBytes=Rn.bytesToString=Rn.bytesToNumber=Rn.bytesToSignedBigInt=Rn.bytesToBigInt=Rn.bytesToHex=Rn.assertIsBytes=Rn.isBytes=void 0;const Yc=Wo,EL=D8,Phe=48,Ohe=58,Dhe=87;function hHe(){const r=[];return()=>{if(r.length===0)for(let e=0;e<256;e++)r.push(e.toString(16).padStart(2,"0"));return r}}const fHe=hHe();function AL(r){return r instanceof Uint8Array}Rn.isBytes=AL;function Fy(r){(0,Yc.assert)(AL(r),"Value must be a Uint8Array.")}Rn.assertIsBytes=Fy;function $he(r){if(Fy(r),r.length===0)return"0x";const e=fHe(),t=new Array(r.length);for(let n=0;n=BigInt(0),"Value must be a non-negative bigint.");const e=r.toString(16);return AI(e)}Rn.bigIntToBytes=Lhe;function mHe(r,e){(0,Yc.assert)(e>0);const t=r>>BigInt(31);return!((~r&t)+(r&~t)>>BigInt(e*8+-1))}function bHe(r,e){(0,Yc.assert)(typeof r=="bigint","Value must be a bigint."),(0,Yc.assert)(typeof e=="number","Byte length must be a number."),(0,Yc.assert)(e>0,"Byte length must be greater than 0."),(0,Yc.assert)(mHe(r,e),"Byte length is too small to represent the given value.");let t=r;const n=new Uint8Array(e);for(let i=0;i>=BigInt(8);return n.reverse()}Rn.signedBigIntToBytes=bHe;function Uhe(r){(0,Yc.assert)(typeof r=="number","Value must be a number."),(0,Yc.assert)(r>=0,"Value must be a non-negative number."),(0,Yc.assert)(Number.isSafeInteger(r),"Value is not a safe integer. Use `bigIntToBytes` instead.");const e=r.toString(16);return AI(e)}Rn.numberToBytes=Uhe;function Fhe(r){return(0,Yc.assert)(typeof r=="string","Value must be a string."),new TextEncoder().encode(r)}Rn.stringToBytes=Fhe;function jhe(r){if(typeof r=="bigint")return Lhe(r);if(typeof r=="number")return Uhe(r);if(typeof r=="string")return r.startsWith("0x")?AI(r):Fhe(r);if(AL(r))return r;throw new TypeError(`Unsupported value type: "${typeof r}".`)}Rn.valueToBytes=jhe;function wHe(r){const e=new Array(r.length);let t=0;for(let i=0;ie.call(t,n,i,this))}get(e){return Ua(this,th,"f").get(e)}has(e){return Ua(this,th,"f").has(e)}keys(){return Ua(this,th,"f").keys()}values(){return Ua(this,th,"f").values()}toString(){return`FrozenMap(${this.size}) {${this.size>0?` ${[...this.entries()].map(([e,t])=>`${String(e)} => ${String(t)}`).join(", ")} `:""}}`}}jy.FrozenMap=CL;class SL{constructor(e){Cf.set(this,void 0),Whe(this,Cf,new Set(e),"f"),Object.freeze(this)}get size(){return Ua(this,Cf,"f").size}[(Cf=new WeakMap,Symbol.iterator)](){return Ua(this,Cf,"f")[Symbol.iterator]()}entries(){return Ua(this,Cf,"f").entries()}forEach(e,t){return Ua(this,Cf,"f").forEach((n,i,s)=>e.call(t,n,i,this))}has(e){return Ua(this,Cf,"f").has(e)}keys(){return Ua(this,Cf,"f").keys()}values(){return Ua(this,Cf,"f").values()}toString(){return`FrozenSet(${this.size}) {${this.size>0?` ${[...this.values()].map(e=>String(e)).join(", ")} `:""}}`}}jy.FrozenSet=SL,Object.freeze(CL),Object.freeze(CL.prototype),Object.freeze(SL),Object.freeze(SL.prototype);var Vhe={};Object.defineProperty(Vhe,"__esModule",{value:!0});var Ghe={};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.getJsonRpcIdValidator=r.assertIsJsonRpcError=r.isJsonRpcError=r.assertIsJsonRpcFailure=r.isJsonRpcFailure=r.assertIsJsonRpcSuccess=r.isJsonRpcSuccess=r.assertIsJsonRpcResponse=r.isJsonRpcResponse=r.assertIsPendingJsonRpcResponse=r.isPendingJsonRpcResponse=r.JsonRpcResponseStruct=r.JsonRpcFailureStruct=r.JsonRpcSuccessStruct=r.PendingJsonRpcResponseStruct=r.assertIsJsonRpcRequest=r.isJsonRpcRequest=r.assertIsJsonRpcNotification=r.isJsonRpcNotification=r.JsonRpcNotificationStruct=r.JsonRpcRequestStruct=r.JsonRpcParamsStruct=r.JsonRpcErrorStruct=r.JsonRpcIdStruct=r.JsonRpcVersionStruct=r.jsonrpc2=r.getJsonSize=r.isValidJson=r.JsonStruct=r.UnsafeJsonStruct=void 0;const e=t2,t=Wo,n=()=>(0,e.define)("finite number",z=>(0,e.is)(z,(0,e.number)())&&Number.isFinite(z));r.UnsafeJsonStruct=(0,e.union)([(0,e.literal)(null),(0,e.boolean)(),n(),(0,e.string)(),(0,e.array)((0,e.lazy)(()=>r.UnsafeJsonStruct)),(0,e.record)((0,e.string)(),(0,e.lazy)(()=>r.UnsafeJsonStruct))]),r.JsonStruct=(0,e.define)("Json",(z,G)=>{function $(D,V){const F=[...V.validator(D,G)];return F.length>0?F:!0}try{const D=$(z,r.UnsafeJsonStruct);return D!==!0?D:$(JSON.parse(JSON.stringify(z)),r.UnsafeJsonStruct)}catch(D){return D instanceof RangeError?"Circular reference detected":!1}});function i(z){return(0,e.is)(z,r.JsonStruct)}r.isValidJson=i;function s(z){(0,t.assertStruct)(z,r.JsonStruct,"Invalid JSON value");const G=JSON.stringify(z);return new TextEncoder().encode(G).byteLength}r.getJsonSize=s,r.jsonrpc2="2.0",r.JsonRpcVersionStruct=(0,e.literal)(r.jsonrpc2),r.JsonRpcIdStruct=(0,e.nullable)((0,e.union)([(0,e.number)(),(0,e.string)()])),r.JsonRpcErrorStruct=(0,e.object)({code:(0,e.integer)(),message:(0,e.string)(),data:(0,e.optional)(r.JsonStruct),stack:(0,e.optional)((0,e.string)())}),r.JsonRpcParamsStruct=(0,e.optional)((0,e.union)([(0,e.record)((0,e.string)(),r.JsonStruct),(0,e.array)(r.JsonStruct)])),r.JsonRpcRequestStruct=(0,e.object)({id:r.JsonRpcIdStruct,jsonrpc:r.JsonRpcVersionStruct,method:(0,e.string)(),params:r.JsonRpcParamsStruct}),r.JsonRpcNotificationStruct=(0,e.omit)(r.JsonRpcRequestStruct,["id"]);function o(z){return(0,e.is)(z,r.JsonRpcNotificationStruct)}r.isJsonRpcNotification=o;function a(z,G){(0,t.assertStruct)(z,r.JsonRpcNotificationStruct,"Invalid JSON-RPC notification",G)}r.assertIsJsonRpcNotification=a;function l(z){return(0,e.is)(z,r.JsonRpcRequestStruct)}r.isJsonRpcRequest=l;function u(z,G){(0,t.assertStruct)(z,r.JsonRpcRequestStruct,"Invalid JSON-RPC request",G)}r.assertIsJsonRpcRequest=u,r.PendingJsonRpcResponseStruct=(0,e.object)({id:r.JsonRpcIdStruct,jsonrpc:r.JsonRpcVersionStruct,result:(0,e.optional)((0,e.unknown)()),error:(0,e.optional)(r.JsonRpcErrorStruct)}),r.JsonRpcSuccessStruct=(0,e.object)({id:r.JsonRpcIdStruct,jsonrpc:r.JsonRpcVersionStruct,result:r.JsonStruct}),r.JsonRpcFailureStruct=(0,e.object)({id:r.JsonRpcIdStruct,jsonrpc:r.JsonRpcVersionStruct,error:r.JsonRpcErrorStruct}),r.JsonRpcResponseStruct=(0,e.union)([r.JsonRpcSuccessStruct,r.JsonRpcFailureStruct]);function h(z){return(0,e.is)(z,r.PendingJsonRpcResponseStruct)}r.isPendingJsonRpcResponse=h;function p(z,G){(0,t.assertStruct)(z,r.PendingJsonRpcResponseStruct,"Invalid pending JSON-RPC response",G)}r.assertIsPendingJsonRpcResponse=p;function g(z){return(0,e.is)(z,r.JsonRpcResponseStruct)}r.isJsonRpcResponse=g;function w(z,G){(0,t.assertStruct)(z,r.JsonRpcResponseStruct,"Invalid JSON-RPC response",G)}r.assertIsJsonRpcResponse=w;function y(z){return(0,e.is)(z,r.JsonRpcSuccessStruct)}r.isJsonRpcSuccess=y;function C(z,G){(0,t.assertStruct)(z,r.JsonRpcSuccessStruct,"Invalid JSON-RPC success response",G)}r.assertIsJsonRpcSuccess=C;function T(z){return(0,e.is)(z,r.JsonRpcFailureStruct)}r.isJsonRpcFailure=T;function k(z,G){(0,t.assertStruct)(z,r.JsonRpcFailureStruct,"Invalid JSON-RPC failure response",G)}r.assertIsJsonRpcFailure=k;function N(z){return(0,e.is)(z,r.JsonRpcErrorStruct)}r.isJsonRpcError=N;function O(z,G){(0,t.assertStruct)(z,r.JsonRpcErrorStruct,"Invalid JSON-RPC error",G)}r.assertIsJsonRpcError=O;function B(z){const{permitEmptyString:G,permitFractions:$,permitNull:D}=Object.assign({permitEmptyString:!0,permitFractions:!1,permitNull:!0},z);return Q=>Boolean(typeof Q=="number"&&($||Number.isInteger(Q))||typeof Q=="string"&&(G||Q.length>0)||D&&Q===null)}r.getJsonRpcIdValidator=B})(Ghe);var Khe={};Object.defineProperty(Khe,"__esModule",{value:!0});var zy={},II={},kHe={get exports(){return II},set exports(r){II=r}},IL,Zhe;function MHe(){if(Zhe)return IL;Zhe=1;var r=1e3,e=r*60,t=e*60,n=t*24,i=n*7,s=n*365.25;IL=function(h,p){p=p||{};var g=typeof h;if(g==="string"&&h.length>0)return o(h);if(g==="number"&&isFinite(h))return p.long?l(h):a(h);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(h))};function o(h){if(h=String(h),!(h.length>100)){var p=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(h);if(p){var g=parseFloat(p[1]),w=(p[2]||"ms").toLowerCase();switch(w){case"years":case"year":case"yrs":case"yr":case"y":return g*s;case"weeks":case"week":case"w":return g*i;case"days":case"day":case"d":return g*n;case"hours":case"hour":case"hrs":case"hr":case"h":return g*t;case"minutes":case"minute":case"mins":case"min":case"m":return g*e;case"seconds":case"second":case"secs":case"sec":case"s":return g*r;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return g;default:return}}}}function a(h){var p=Math.abs(h);return p>=n?Math.round(h/n)+"d":p>=t?Math.round(h/t)+"h":p>=e?Math.round(h/e)+"m":p>=r?Math.round(h/r)+"s":h+"ms"}function l(h){var p=Math.abs(h);return p>=n?u(h,p,n,"day"):p>=t?u(h,p,t,"hour"):p>=e?u(h,p,e,"minute"):p>=r?u(h,p,r,"second"):h+" ms"}function u(h,p,g,w){var y=p>=g*1.5;return Math.round(h/g)+" "+w+(y?"s":"")}return IL}function NHe(r){t.debug=t,t.default=t,t.coerce=l,t.disable=s,t.enable=i,t.enabled=o,t.humanize=MHe(),t.destroy=u,Object.keys(r).forEach(h=>{t[h]=r[h]}),t.names=[],t.skips=[],t.formatters={};function e(h){let p=0;for(let g=0;g{if(G==="%%")return"%";B++;const D=t.formatters[$];if(typeof D=="function"){const V=T[B];G=D.call(k,V),T.splice(B,1),B--}return G}),t.formatArgs.call(k,T),(k.log||t.log).apply(k,T)}return C.namespace=h,C.useColors=t.useColors(),C.color=t.selectColor(h),C.extend=n,C.destroy=t.destroy,Object.defineProperty(C,"enabled",{enumerable:!0,configurable:!1,get:()=>g!==null?g:(w!==t.namespaces&&(w=t.namespaces,y=t.enabled(h)),y),set:T=>{g=T}}),typeof t.init=="function"&&t.init(C),C}function n(h,p){const g=t(this.namespace+(typeof p>"u"?":":p)+h);return g.log=this.log,g}function i(h){t.save(h),t.namespaces=h,t.names=[],t.skips=[];let p;const g=(typeof h=="string"?h:"").split(/[\s,]+/),w=g.length;for(p=0;p"-"+p)].join(",");return t.enable(""),h}function o(h){if(h[h.length-1]==="*")return!0;let p,g;for(p=0,g=t.skips.length;p{let l=!1;return()=>{l||(l=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),e.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function t(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function n(l){if(l[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+l[0]+(this.useColors?"%c ":" ")+"+"+r.exports.humanize(this.diff),!this.useColors)return;const u="color: "+this.color;l.splice(1,0,u,"color: inherit");let h=0,p=0;l[0].replace(/%[a-zA-Z%]/g,g=>{g!=="%%"&&(h++,g==="%c"&&(p=h))}),l.splice(p,0,u)}e.log=console.debug||console.log||(()=>{});function i(l){try{l?e.storage.setItem("debug",l):e.storage.removeItem("debug")}catch{}}function s(){let l;try{l=e.storage.getItem("debug")}catch{}return!l&&typeof yt<"u"&&"env"in yt&&(l=yt.env.DEBUG),l}function o(){try{return localStorage}catch{}}r.exports=PHe(e);const{formatters:a}=r.exports;a.j=function(l){try{return JSON.stringify(l)}catch(u){return"[UnexpectedJSONParseError]: "+u.message}}})(kHe,II);var OHe=ct&&ct.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(zy,"__esModule",{value:!0}),zy.createModuleLogger=zy.createProjectLogger=void 0;const DHe=(0,OHe(II).default)("metamask");function $He(r){return DHe.extend(r)}zy.createProjectLogger=$He;function BHe(r,e){return r.extend(e)}zy.createModuleLogger=BHe;var Jhe={};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.calculateNumberSize=r.calculateStringSize=r.isASCII=r.isPlainObject=r.ESCAPE_CHARACTERS_REGEXP=r.JsonSize=r.hasProperty=r.isObject=r.isNullOrUndefined=r.isNonEmptyArray=void 0;function e(u){return Array.isArray(u)&&u.length>0}r.isNonEmptyArray=e;function t(u){return u==null}r.isNullOrUndefined=t;function n(u){return Boolean(u)&&typeof u=="object"&&!Array.isArray(u)}r.isObject=n;const i=(u,h)=>Object.hasOwnProperty.call(u,h);r.hasProperty=i,function(u){u[u.Null=4]="Null",u[u.Comma=1]="Comma",u[u.Wrapper=1]="Wrapper",u[u.True=4]="True",u[u.False=5]="False",u[u.Quote=1]="Quote",u[u.Colon=1]="Colon",u[u.Date=24]="Date"}(r.JsonSize||(r.JsonSize={})),r.ESCAPE_CHARACTERS_REGEXP=/"|\\|\n|\r|\t/gu;function s(u){if(typeof u!="object"||u===null)return!1;try{let h=u;for(;Object.getPrototypeOf(h)!==null;)h=Object.getPrototypeOf(h);return Object.getPrototypeOf(u)===h}catch{return!1}}r.isPlainObject=s;function o(u){return u.charCodeAt(0)<=127}r.isASCII=o;function a(u){var h;return u.split("").reduce((g,w)=>o(w)?g+1:g+2,0)+((h=u.match(r.ESCAPE_CHARACTERS_REGEXP))!==null&&h!==void 0?h:[]).length}r.calculateStringSize=a;function l(u){return u.toString().length}r.calculateNumberSize=l})(Jhe);var Sf={};Object.defineProperty(Sf,"__esModule",{value:!0}),Sf.hexToBigInt=Sf.hexToNumber=Sf.bigIntToHex=Sf.numberToHex=void 0;const Hy=Wo,$8=D8,LHe=r=>((0,Hy.assert)(typeof r=="number","Value must be a number."),(0,Hy.assert)(r>=0,"Value must be a non-negative number."),(0,Hy.assert)(Number.isSafeInteger(r),"Value is not a safe integer. Use `bigIntToHex` instead."),(0,$8.add0x)(r.toString(16)));Sf.numberToHex=LHe;const UHe=r=>((0,Hy.assert)(typeof r=="bigint","Value must be a bigint."),(0,Hy.assert)(r>=0,"Value must be a non-negative bigint."),(0,$8.add0x)(r.toString(16)));Sf.bigIntToHex=UHe;const FHe=r=>{(0,$8.assertIsHexString)(r);const e=parseInt(r,16);return(0,Hy.assert)(Number.isSafeInteger(e),"Value is not a safe integer. Use `hexToBigInt` instead."),e};Sf.hexToNumber=FHe;const jHe=r=>((0,$8.assertIsHexString)(r),BigInt((0,$8.add0x)(r)));Sf.hexToBigInt=jHe;var Yhe={};Object.defineProperty(Yhe,"__esModule",{value:!0});var Qhe={};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.timeSince=r.inMilliseconds=r.Duration=void 0,function(s){s[s.Millisecond=1]="Millisecond",s[s.Second=1e3]="Second",s[s.Minute=6e4]="Minute",s[s.Hour=36e5]="Hour",s[s.Day=864e5]="Day",s[s.Week=6048e5]="Week",s[s.Year=31536e6]="Year"}(r.Duration||(r.Duration={}));const e=s=>Number.isInteger(s)&&s>=0,t=(s,o)=>{if(!e(s))throw new Error(`"${o}" must be a non-negative integer. Received: "${s}".`)};function n(s,o){return t(s,"count"),s*o}r.inMilliseconds=n;function i(s){return t(s,"timestamp"),Date.now()-s}r.timeSince=i})(Qhe);var Xhe={};Object.defineProperty(Xhe,"__esModule",{value:!0});var efe={},y1={},zHe={get exports(){return y1},set exports(r){y1=r}};const HHe="2.0.0",tfe=256,qHe=Number.MAX_SAFE_INTEGER||9007199254740991,WHe=16,VHe=tfe-6;var TI={MAX_LENGTH:tfe,MAX_SAFE_COMPONENT_LENGTH:WHe,MAX_SAFE_BUILD_LENGTH:VHe,MAX_SAFE_INTEGER:qHe,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:HHe,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},RI=typeof yt=="object"&&yt.env&&yt.env.NODE_DEBUG&&/\bsemver\b/i.test(yt.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{};(function(r,e){const{MAX_SAFE_COMPONENT_LENGTH:t,MAX_SAFE_BUILD_LENGTH:n,MAX_LENGTH:i}=TI,s=RI;e=r.exports={};const o=e.re=[],a=e.safeRe=[],l=e.src=[],u=e.t={};let h=0;const p="[a-zA-Z0-9-]",g=[["\\s",1],["\\d",i],[p,n]],w=C=>{for(const[T,k]of g)C=C.split(`${T}*`).join(`${T}{0,${k}}`).split(`${T}+`).join(`${T}{1,${k}}`);return C},y=(C,T,k)=>{const N=w(T),O=h++;s(C,O,T),u[C]=O,l[O]=T,o[O]=new RegExp(T,k?"g":void 0),a[O]=new RegExp(N,k?"g":void 0)};y("NUMERICIDENTIFIER","0|[1-9]\\d*"),y("NUMERICIDENTIFIERLOOSE","\\d+"),y("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${p}*`),y("MAINVERSION",`(${l[u.NUMERICIDENTIFIER]})\\.(${l[u.NUMERICIDENTIFIER]})\\.(${l[u.NUMERICIDENTIFIER]})`),y("MAINVERSIONLOOSE",`(${l[u.NUMERICIDENTIFIERLOOSE]})\\.(${l[u.NUMERICIDENTIFIERLOOSE]})\\.(${l[u.NUMERICIDENTIFIERLOOSE]})`),y("PRERELEASEIDENTIFIER",`(?:${l[u.NUMERICIDENTIFIER]}|${l[u.NONNUMERICIDENTIFIER]})`),y("PRERELEASEIDENTIFIERLOOSE",`(?:${l[u.NUMERICIDENTIFIERLOOSE]}|${l[u.NONNUMERICIDENTIFIER]})`),y("PRERELEASE",`(?:-(${l[u.PRERELEASEIDENTIFIER]}(?:\\.${l[u.PRERELEASEIDENTIFIER]})*))`),y("PRERELEASELOOSE",`(?:-?(${l[u.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${l[u.PRERELEASEIDENTIFIERLOOSE]})*))`),y("BUILDIDENTIFIER",`${p}+`),y("BUILD",`(?:\\+(${l[u.BUILDIDENTIFIER]}(?:\\.${l[u.BUILDIDENTIFIER]})*))`),y("FULLPLAIN",`v?${l[u.MAINVERSION]}${l[u.PRERELEASE]}?${l[u.BUILD]}?`),y("FULL",`^${l[u.FULLPLAIN]}$`),y("LOOSEPLAIN",`[v=\\s]*${l[u.MAINVERSIONLOOSE]}${l[u.PRERELEASELOOSE]}?${l[u.BUILD]}?`),y("LOOSE",`^${l[u.LOOSEPLAIN]}$`),y("GTLT","((?:<|>)?=?)"),y("XRANGEIDENTIFIERLOOSE",`${l[u.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),y("XRANGEIDENTIFIER",`${l[u.NUMERICIDENTIFIER]}|x|X|\\*`),y("XRANGEPLAIN",`[v=\\s]*(${l[u.XRANGEIDENTIFIER]})(?:\\.(${l[u.XRANGEIDENTIFIER]})(?:\\.(${l[u.XRANGEIDENTIFIER]})(?:${l[u.PRERELEASE]})?${l[u.BUILD]}?)?)?`),y("XRANGEPLAINLOOSE",`[v=\\s]*(${l[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[u.XRANGEIDENTIFIERLOOSE]})(?:${l[u.PRERELEASELOOSE]})?${l[u.BUILD]}?)?)?`),y("XRANGE",`^${l[u.GTLT]}\\s*${l[u.XRANGEPLAIN]}$`),y("XRANGELOOSE",`^${l[u.GTLT]}\\s*${l[u.XRANGEPLAINLOOSE]}$`),y("COERCEPLAIN",`(^|[^\\d])(\\d{1,${t}})(?:\\.(\\d{1,${t}}))?(?:\\.(\\d{1,${t}}))?`),y("COERCE",`${l[u.COERCEPLAIN]}(?:$|[^\\d])`),y("COERCEFULL",l[u.COERCEPLAIN]+`(?:${l[u.PRERELEASE]})?(?:${l[u.BUILD]})?(?:$|[^\\d])`),y("COERCERTL",l[u.COERCE],!0),y("COERCERTLFULL",l[u.COERCEFULL],!0),y("LONETILDE","(?:~>?)"),y("TILDETRIM",`(\\s*)${l[u.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",y("TILDE",`^${l[u.LONETILDE]}${l[u.XRANGEPLAIN]}$`),y("TILDELOOSE",`^${l[u.LONETILDE]}${l[u.XRANGEPLAINLOOSE]}$`),y("LONECARET","(?:\\^)"),y("CARETTRIM",`(\\s*)${l[u.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",y("CARET",`^${l[u.LONECARET]}${l[u.XRANGEPLAIN]}$`),y("CARETLOOSE",`^${l[u.LONECARET]}${l[u.XRANGEPLAINLOOSE]}$`),y("COMPARATORLOOSE",`^${l[u.GTLT]}\\s*(${l[u.LOOSEPLAIN]})$|^$`),y("COMPARATOR",`^${l[u.GTLT]}\\s*(${l[u.FULLPLAIN]})$|^$`),y("COMPARATORTRIM",`(\\s*)${l[u.GTLT]}\\s*(${l[u.LOOSEPLAIN]}|${l[u.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",y("HYPHENRANGE",`^\\s*(${l[u.XRANGEPLAIN]})\\s+-\\s+(${l[u.XRANGEPLAIN]})\\s*$`),y("HYPHENRANGELOOSE",`^\\s*(${l[u.XRANGEPLAINLOOSE]})\\s+-\\s+(${l[u.XRANGEPLAINLOOSE]})\\s*$`),y("STAR","(<|>)?=?\\s*\\*"),y("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),y("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")})(zHe,y1);const GHe=Object.freeze({loose:!0}),KHe=Object.freeze({});var TL=r=>r?typeof r!="object"?GHe:r:KHe;const rfe=/^[0-9]+$/,nfe=(r,e)=>{const t=rfe.test(r),n=rfe.test(e);return t&&n&&(r=+r,e=+e),r===e?0:t&&!n?-1:n&&!t?1:rnfe(e,r)};const kI=RI,{MAX_LENGTH:sfe,MAX_SAFE_INTEGER:MI}=TI,{safeRe:ofe,t:afe}=y1,ZHe=TL,{compareIdentifiers:qy}=ife;let If=class{constructor(e,t){if(t=ZHe(t),e instanceof If){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>sfe)throw new TypeError(`version is longer than ${sfe} characters`);kI("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const n=e.trim().match(t.loose?ofe[afe.LOOSE]:ofe[afe.FULL]);if(!n)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>MI||this.major<0)throw new TypeError("Invalid major version");if(this.minor>MI||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>MI||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(i=>{if(/^[0-9]+$/.test(i)){const s=+i;if(s>=0&&s=0;)typeof this.prerelease[s]=="number"&&(this.prerelease[s]++,s=-2);if(s===-1){if(t===this.prerelease.join(".")&&n===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(i)}}if(t){let s=[t,i];n===!1&&(s=[t]),qy(this.prerelease[0],t)===0?isNaN(this.prerelease[1])&&(this.prerelease=s):this.prerelease=s}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};var Fa=If;const cfe=Fa;var Wy=(r,e,t=!1)=>{if(r instanceof cfe)return r;try{return new cfe(r,e)}catch(n){if(!t)return null;throw n}};const JHe=Wy;var YHe=(r,e)=>{const t=JHe(r,e);return t?t.version:null};const QHe=Wy;var XHe=(r,e)=>{const t=QHe(r.trim().replace(/^[=v]+/,""),e);return t?t.version:null};const lfe=Fa;var eqe=(r,e,t,n,i)=>{typeof t=="string"&&(i=n,n=t,t=void 0);try{return new lfe(r instanceof lfe?r.version:r,t).inc(e,n,i).version}catch{return null}};const ufe=Wy;var tqe=(r,e)=>{const t=ufe(r,null,!0),n=ufe(e,null,!0),i=t.compare(n);if(i===0)return null;const s=i>0,o=s?t:n,a=s?n:t,l=!!o.prerelease.length;if(!!a.prerelease.length&&!l)return!a.patch&&!a.minor?"major":o.patch?"patch":o.minor?"minor":"major";const h=l?"pre":"";return t.major!==n.major?h+"major":t.minor!==n.minor?h+"minor":t.patch!==n.patch?h+"patch":"prerelease"};const rqe=Fa;var nqe=(r,e)=>new rqe(r,e).major;const iqe=Fa;var sqe=(r,e)=>new iqe(r,e).minor;const oqe=Fa;var aqe=(r,e)=>new oqe(r,e).patch;const cqe=Wy;var lqe=(r,e)=>{const t=cqe(r,e);return t&&t.prerelease.length?t.prerelease:null};const hfe=Fa;var rh=(r,e,t)=>new hfe(r,t).compare(new hfe(e,t));const uqe=rh;var hqe=(r,e,t)=>uqe(e,r,t);const fqe=rh;var dqe=(r,e)=>fqe(r,e,!0);const ffe=Fa;var RL=(r,e,t)=>{const n=new ffe(r,t),i=new ffe(e,t);return n.compare(i)||n.compareBuild(i)};const pqe=RL;var gqe=(r,e)=>r.sort((t,n)=>pqe(t,n,e));const mqe=RL;var bqe=(r,e)=>r.sort((t,n)=>mqe(n,t,e));const wqe=rh;var NI=(r,e,t)=>wqe(r,e,t)>0;const vqe=rh;var kL=(r,e,t)=>vqe(r,e,t)<0;const yqe=rh;var dfe=(r,e,t)=>yqe(r,e,t)===0;const xqe=rh;var pfe=(r,e,t)=>xqe(r,e,t)!==0;const _qe=rh;var ML=(r,e,t)=>_qe(r,e,t)>=0;const Eqe=rh;var NL=(r,e,t)=>Eqe(r,e,t)<=0;const Aqe=dfe,Cqe=pfe,Sqe=NI,Iqe=ML,Tqe=kL,Rqe=NL;var gfe=(r,e,t,n)=>{switch(e){case"===":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r===t;case"!==":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r!==t;case"":case"=":case"==":return Aqe(r,t,n);case"!=":return Cqe(r,t,n);case">":return Sqe(r,t,n);case">=":return Iqe(r,t,n);case"<":return Tqe(r,t,n);case"<=":return Rqe(r,t,n);default:throw new TypeError(`Invalid operator: ${e}`)}};const kqe=Fa,Mqe=Wy,{safeRe:PI,t:OI}=y1;var Nqe=(r,e)=>{if(r instanceof kqe)return r;if(typeof r=="number"&&(r=String(r)),typeof r!="string")return null;e=e||{};let t=null;if(!e.rtl)t=r.match(e.includePrerelease?PI[OI.COERCEFULL]:PI[OI.COERCE]);else{const l=e.includePrerelease?PI[OI.COERCERTLFULL]:PI[OI.COERCERTL];let u;for(;(u=l.exec(r))&&(!t||t.index+t[0].length!==r.length);)(!t||u.index+u[0].length!==t.index+t[0].length)&&(t=u),l.lastIndex=u.index+u[1].length+u[2].length;l.lastIndex=-1}if(t===null)return null;const n=t[2],i=t[3]||"0",s=t[4]||"0",o=e.includePrerelease&&t[5]?`-${t[5]}`:"",a=e.includePrerelease&&t[6]?`+${t[6]}`:"";return Mqe(`${n}.${i}.${s}${o}${a}`,e)},PL,mfe;function Pqe(){return mfe||(mfe=1,PL=function(r){r.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}),PL}var Oqe=Un;Un.Node=r2,Un.create=Un;function Un(r){var e=this;if(e instanceof Un||(e=new Un),e.tail=null,e.head=null,e.length=0,r&&typeof r.forEach=="function")r.forEach(function(i){e.push(i)});else if(arguments.length>0)for(var t=0,n=arguments.length;t1)t=e;else if(this.head)n=this.head.next,t=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var i=0;n!==null;i++)t=r(t,n.value,i),n=n.next;return t},Un.prototype.reduceReverse=function(r,e){var t,n=this.tail;if(arguments.length>1)t=e;else if(this.tail)n=this.tail.prev,t=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var i=this.length-1;n!==null;i--)t=r(t,n.value,i),n=n.prev;return t},Un.prototype.toArray=function(){for(var r=new Array(this.length),e=0,t=this.head;t!==null;e++)r[e]=t.value,t=t.next;return r},Un.prototype.toArrayReverse=function(){for(var r=new Array(this.length),e=0,t=this.tail;t!==null;e++)r[e]=t.value,t=t.prev;return r},Un.prototype.slice=function(r,e){e=e||this.length,e<0&&(e+=this.length),r=r||0,r<0&&(r+=this.length);var t=new Un;if(ethis.length&&(e=this.length);for(var n=0,i=this.head;i!==null&&nthis.length&&(e=this.length);for(var n=this.length,i=this.tail;i!==null&&n>e;n--)i=i.prev;for(;i!==null&&n>r;n--,i=i.prev)t.push(i.value);return t},Un.prototype.splice=function(r,e,...t){r>this.length&&(r=this.length-1),r<0&&(r=this.length+r);for(var n=0,i=this.head;i!==null&&n1;class Uqe{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");this[n2]=e.max||1/0;const t=e.length||OL;if(this[Vy]=typeof t!="function"?OL:t,this[B8]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[i2]=e.maxAge||0,this[r0]=e.dispose,this[bfe]=e.noDisposeOnSet||!1,this[wfe]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[n2]=e||1/0,L8(this)}get max(){return this[n2]}set allowStale(e){this[B8]=!!e}get allowStale(){return this[B8]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[i2]=e,L8(this)}get maxAge(){return this[i2]}set lengthCalculator(e){typeof e!="function"&&(e=OL),e!==this[Vy]&&(this[Vy]=e,this[t0]=0,this[Io].forEach(t=>{t.length=this[Vy](t.value,t.key),this[t0]+=t.length})),L8(this)}get lengthCalculator(){return this[Vy]}get length(){return this[t0]}get itemCount(){return this[Io].length}rforEach(e,t){t=t||this;for(let n=this[Io].tail;n!==null;){const i=n.prev;vfe(this,e,n,t),n=i}}forEach(e,t){t=t||this;for(let n=this[Io].head;n!==null;){const i=n.next;vfe(this,e,n,t),n=i}}keys(){return this[Io].toArray().map(e=>e.key)}values(){return this[Io].toArray().map(e=>e.value)}reset(){this[r0]&&this[Io]&&this[Io].length&&this[Io].forEach(e=>this[r0](e.key,e.value)),this[nh]=new Map,this[Io]=new Lqe,this[t0]=0}dump(){return this[Io].map(e=>DI(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[Io]}set(e,t,n){if(n=n||this[i2],n&&typeof n!="number")throw new TypeError("maxAge must be a number");const i=n?Date.now():0,s=this[Vy](t,e);if(this[nh].has(e)){if(s>this[n2])return Gy(this,this[nh].get(e)),!1;const l=this[nh].get(e).value;return this[r0]&&(this[bfe]||this[r0](e,l.value)),l.now=i,l.maxAge=n,l.value=t,this[t0]+=s-l.length,l.length=s,this.get(e),L8(this),!0}const o=new Fqe(e,t,s,i,n);return o.length>this[n2]?(this[r0]&&this[r0](e,t),!1):(this[t0]+=o.length,this[Io].unshift(o),this[nh].set(e,this[Io].head),L8(this),!0)}has(e){if(!this[nh].has(e))return!1;const t=this[nh].get(e).value;return!DI(this,t)}get(e){return DL(this,e,!0)}peek(e){return DL(this,e,!1)}pop(){const e=this[Io].tail;return e?(Gy(this,e),e.value):null}del(e){Gy(this,this[nh].get(e))}load(e){this.reset();const t=Date.now();for(let n=e.length-1;n>=0;n--){const i=e[n],s=i.e||0;if(s===0)this.set(i.k,i.v);else{const o=s-t;o>0&&this.set(i.k,i.v,o)}}}prune(){this[nh].forEach((e,t)=>DL(this,t,!1))}}const DL=(r,e,t)=>{const n=r[nh].get(e);if(n){const i=n.value;if(DI(r,i)){if(Gy(r,n),!r[B8])return}else t&&(r[wfe]&&(n.value.now=Date.now()),r[Io].unshiftNode(n));return i.value}},DI=(r,e)=>{if(!e||!e.maxAge&&!r[i2])return!1;const t=Date.now()-e.now;return e.maxAge?t>e.maxAge:r[i2]&&t>r[i2]},L8=r=>{if(r[t0]>r[n2])for(let e=r[Io].tail;r[t0]>r[n2]&&e!==null;){const t=e.prev;Gy(r,e),e=t}},Gy=(r,e)=>{if(e){const t=e.value;r[r0]&&r[r0](t.key,t.value),r[t0]-=t.length,r[nh].delete(t.key),r[Io].removeNode(e)}};class Fqe{constructor(e,t,n,i,s){this.key=e,this.value=t,this.length=n,this.now=i,this.maxAge=s||0}}const vfe=(r,e,t,n)=>{let i=t.value;DI(r,i)&&(Gy(r,t),r[B8]||(i=void 0)),i&&e.call(n,i.value,i.key,r)};var jqe=Uqe,$L,yfe;function ih(){if(yfe)return $L;yfe=1;class r{constructor(d,m){if(m=n(m),d instanceof r)return d.loose===!!m.loose&&d.includePrerelease===!!m.includePrerelease?d:new r(d.raw,m);if(d instanceof i)return this.raw=d.value,this.set=[[d]],this.format(),this;if(this.options=m,this.loose=!!m.loose,this.includePrerelease=!!m.includePrerelease,this.raw=d.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map(x=>this.parseRange(x.trim())).filter(x=>x.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){const x=this.set[0];if(this.set=this.set.filter(A=>!y(A[0])),this.set.length===0)this.set=[x];else if(this.set.length>1){for(const A of this.set)if(A.length===1&&C(A[0])){this.set=[A];break}}}this.format()}format(){return this.range=this.set.map(d=>d.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(d){const x=((this.options.includePrerelease&&g)|(this.options.loose&&w))+":"+d,A=t.get(x);if(A)return A;const I=this.options.loose,R=I?a[l.HYPHENRANGELOOSE]:a[l.HYPHENRANGE];d=d.replace(R,F(this.options.includePrerelease)),s("hyphen replace",d),d=d.replace(a[l.COMPARATORTRIM],u),s("comparator trim",d),d=d.replace(a[l.TILDETRIM],h),s("tilde trim",d),d=d.replace(a[l.CARETTRIM],p),s("caret trim",d);let S=d.split(" ").map(ie=>k(ie,this.options)).join(" ").split(/\s+/).map(ie=>Q(ie,this.options));I&&(S=S.filter(ie=>(s("loose invalid filter",ie,this.options),!!ie.match(a[l.COMPARATORLOOSE])))),s("range list",S);const E=new Map,_=S.map(ie=>new i(ie,this.options));for(const ie of _){if(y(ie))return[ie];E.set(ie.value,ie)}E.size>1&&E.has("")&&E.delete("");const L=[...E.values()];return t.set(x,L),L}intersects(d,m){if(!(d instanceof r))throw new TypeError("a Range is required");return this.set.some(x=>T(x,m)&&d.set.some(A=>T(A,m)&&x.every(I=>A.every(R=>I.intersects(R,m)))))}test(d){if(!d)return!1;if(typeof d=="string")try{d=new o(d,this.options)}catch{return!1}for(let m=0;mb.value==="<0.0.0-0",C=b=>b.value==="",T=(b,d)=>{let m=!0;const x=b.slice();let A=x.pop();for(;m&&x.length;)m=x.every(I=>A.intersects(I,d)),A=x.pop();return m},k=(b,d)=>(s("comp",b,d),b=z(b,d),s("caret",b),b=O(b,d),s("tildes",b),b=$(b,d),s("xrange",b),b=V(b,d),s("stars",b),b),N=b=>!b||b.toLowerCase()==="x"||b==="*",O=(b,d)=>b.trim().split(/\s+/).map(m=>B(m,d)).join(" "),B=(b,d)=>{const m=d.loose?a[l.TILDELOOSE]:a[l.TILDE];return b.replace(m,(x,A,I,R,S)=>{s("tilde",b,x,A,I,R,S);let E;return N(A)?E="":N(I)?E=`>=${A}.0.0 <${+A+1}.0.0-0`:N(R)?E=`>=${A}.${I}.0 <${A}.${+I+1}.0-0`:S?(s("replaceTilde pr",S),E=`>=${A}.${I}.${R}-${S} <${A}.${+I+1}.0-0`):E=`>=${A}.${I}.${R} <${A}.${+I+1}.0-0`,s("tilde return",E),E})},z=(b,d)=>b.trim().split(/\s+/).map(m=>G(m,d)).join(" "),G=(b,d)=>{s("caret",b,d);const m=d.loose?a[l.CARETLOOSE]:a[l.CARET],x=d.includePrerelease?"-0":"";return b.replace(m,(A,I,R,S,E)=>{s("caret",b,A,I,R,S,E);let _;return N(I)?_="":N(R)?_=`>=${I}.0.0${x} <${+I+1}.0.0-0`:N(S)?I==="0"?_=`>=${I}.${R}.0${x} <${I}.${+R+1}.0-0`:_=`>=${I}.${R}.0${x} <${+I+1}.0.0-0`:E?(s("replaceCaret pr",E),I==="0"?R==="0"?_=`>=${I}.${R}.${S}-${E} <${I}.${R}.${+S+1}-0`:_=`>=${I}.${R}.${S}-${E} <${I}.${+R+1}.0-0`:_=`>=${I}.${R}.${S}-${E} <${+I+1}.0.0-0`):(s("no pr"),I==="0"?R==="0"?_=`>=${I}.${R}.${S}${x} <${I}.${R}.${+S+1}-0`:_=`>=${I}.${R}.${S}${x} <${I}.${+R+1}.0-0`:_=`>=${I}.${R}.${S} <${+I+1}.0.0-0`),s("caret return",_),_})},$=(b,d)=>(s("replaceXRanges",b,d),b.split(/\s+/).map(m=>D(m,d)).join(" ")),D=(b,d)=>{b=b.trim();const m=d.loose?a[l.XRANGELOOSE]:a[l.XRANGE];return b.replace(m,(x,A,I,R,S,E)=>{s("xRange",b,x,A,I,R,S,E);const _=N(I),L=_||N(R),ie=L||N(S),q=ie;return A==="="&&q&&(A=""),E=d.includePrerelease?"-0":"",_?A===">"||A==="<"?x="<0.0.0-0":x="*":A&&q?(L&&(R=0),S=0,A===">"?(A=">=",L?(I=+I+1,R=0,S=0):(R=+R+1,S=0)):A==="<="&&(A="<",L?I=+I+1:R=+R+1),A==="<"&&(E="-0"),x=`${A+I}.${R}.${S}${E}`):L?x=`>=${I}.0.0${E} <${+I+1}.0.0-0`:ie&&(x=`>=${I}.${R}.0${E} <${I}.${+R+1}.0-0`),s("xRange return",x),x})},V=(b,d)=>(s("replaceStars",b,d),b.trim().replace(a[l.STAR],"")),Q=(b,d)=>(s("replaceGTE0",b,d),b.trim().replace(a[d.includePrerelease?l.GTE0PRE:l.GTE0],"")),F=b=>(d,m,x,A,I,R,S,E,_,L,ie,q,Y)=>(N(x)?m="":N(A)?m=`>=${x}.0.0${b?"-0":""}`:N(I)?m=`>=${x}.${A}.0${b?"-0":""}`:R?m=`>=${m}`:m=`>=${m}${b?"-0":""}`,N(_)?E="":N(L)?E=`<${+_+1}.0.0-0`:N(ie)?E=`<${_}.${+L+1}.0-0`:q?E=`<=${_}.${L}.${ie}-${q}`:b?E=`<${_}.${L}.${+ie+1}-0`:E=`<=${E}`,`${m} ${E}`.trim()),M=(b,d,m)=>{for(let x=0;x0){const A=b[x].semver;if(A.major===d.major&&A.minor===d.minor&&A.patch===d.patch)return!0}return!1}return!0};return $L}var BL,xfe;function $I(){if(xfe)return BL;xfe=1;const r=Symbol("SemVer ANY");class e{static get ANY(){return r}constructor(h,p){if(p=t(p),h instanceof e){if(h.loose===!!p.loose)return h;h=h.value}h=h.trim().split(/\s+/).join(" "),o("comparator",h,p),this.options=p,this.loose=!!p.loose,this.parse(h),this.semver===r?this.value="":this.value=this.operator+this.semver.version,o("comp",this)}parse(h){const p=this.options.loose?n[i.COMPARATORLOOSE]:n[i.COMPARATOR],g=h.match(p);if(!g)throw new TypeError(`Invalid comparator: ${h}`);this.operator=g[1]!==void 0?g[1]:"",this.operator==="="&&(this.operator=""),g[2]?this.semver=new a(g[2],this.options.loose):this.semver=r}toString(){return this.value}test(h){if(o("Comparator.test",h,this.options.loose),this.semver===r||h===r)return!0;if(typeof h=="string")try{h=new a(h,this.options)}catch{return!1}return s(h,this.operator,this.semver,this.options)}intersects(h,p){if(!(h instanceof e))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new l(h.value,p).test(this.value):h.operator===""?h.value===""?!0:new l(this.value,p).test(h.semver):(p=t(p),p.includePrerelease&&(this.value==="<0.0.0-0"||h.value==="<0.0.0-0")||!p.includePrerelease&&(this.value.startsWith("<0.0.0")||h.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&h.operator.startsWith(">")||this.operator.startsWith("<")&&h.operator.startsWith("<")||this.semver.version===h.semver.version&&this.operator.includes("=")&&h.operator.includes("=")||s(this.semver,"<",h.semver,p)&&this.operator.startsWith(">")&&h.operator.startsWith("<")||s(this.semver,">",h.semver,p)&&this.operator.startsWith("<")&&h.operator.startsWith(">")))}}BL=e;const t=TL,{safeRe:n,t:i}=y1,s=gfe,o=RI,a=Fa,l=ih();return BL}const zqe=ih();var BI=(r,e,t)=>{try{e=new zqe(e,t)}catch{return!1}return e.test(r)};const Hqe=ih();var qqe=(r,e)=>new Hqe(r,e).set.map(t=>t.map(n=>n.value).join(" ").trim().split(" "));const Wqe=Fa,Vqe=ih();var Gqe=(r,e,t)=>{let n=null,i=null,s=null;try{s=new Vqe(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!n||i.compare(o)===-1)&&(n=o,i=new Wqe(n,t))}),n};const Kqe=Fa,Zqe=ih();var Jqe=(r,e,t)=>{let n=null,i=null,s=null;try{s=new Zqe(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!n||i.compare(o)===1)&&(n=o,i=new Kqe(n,t))}),n};const LL=Fa,Yqe=ih(),_fe=NI;var Qqe=(r,e)=>{r=new Yqe(r,e);let t=new LL("0.0.0");if(r.test(t)||(t=new LL("0.0.0-0"),r.test(t)))return t;t=null;for(let n=0;n{const a=new LL(o.semver.version);switch(o.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!s||_fe(a,s))&&(s=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!t||_fe(t,s))&&(t=s)}return t&&r.test(t)?t:null};const Xqe=ih();var eWe=(r,e)=>{try{return new Xqe(r,e).range||"*"}catch{return null}};const tWe=Fa,Efe=$I(),{ANY:rWe}=Efe,nWe=ih(),iWe=BI,Afe=NI,Cfe=kL,sWe=NL,oWe=ML;var UL=(r,e,t,n)=>{r=new tWe(r,n),e=new nWe(e,n);let i,s,o,a,l;switch(t){case">":i=Afe,s=sWe,o=Cfe,a=">",l=">=";break;case"<":i=Cfe,s=oWe,o=Afe,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(iWe(r,e,n))return!1;for(let u=0;u{w.semver===rWe&&(w=new Efe(">=0.0.0")),p=p||w,g=g||w,i(w.semver,p.semver,n)?p=w:o(w.semver,g.semver,n)&&(g=w)}),p.operator===a||p.operator===l||(!g.operator||g.operator===a)&&s(r,g.semver))return!1;if(g.operator===l&&o(r,g.semver))return!1}return!0};const aWe=UL;var cWe=(r,e,t)=>aWe(r,e,">",t);const lWe=UL;var uWe=(r,e,t)=>lWe(r,e,"<",t);const Sfe=ih();var hWe=(r,e,t)=>(r=new Sfe(r,t),e=new Sfe(e,t),r.intersects(e,t));const fWe=BI,dWe=rh;var pWe=(r,e,t)=>{const n=[];let i=null,s=null;const o=r.sort((h,p)=>dWe(h,p,t));for(const h of o)fWe(h,e,t)?(s=h,i||(i=h)):(s&&n.push([i,s]),s=null,i=null);i&&n.push([i,null]);const a=[];for(const[h,p]of n)h===p?a.push(h):!p&&h===o[0]?a.push("*"):p?h===o[0]?a.push(`<=${p}`):a.push(`${h} - ${p}`):a.push(`>=${h}`);const l=a.join(" || "),u=typeof e.raw=="string"?e.raw:String(e);return l.length{if(r===e)return!0;r=new Ife(r,t),e=new Ife(e,t);let n=!1;e:for(const i of r.set){for(const s of e.set){const o=bWe(i,s,t);if(n=n||o!==null,o)continue e}if(n)return!1}return!0},mWe=[new FL(">=0.0.0-0")],Tfe=[new FL(">=0.0.0")],bWe=(r,e,t)=>{if(r===e)return!0;if(r.length===1&&r[0].semver===jL){if(e.length===1&&e[0].semver===jL)return!0;t.includePrerelease?r=mWe:r=Tfe}if(e.length===1&&e[0].semver===jL){if(t.includePrerelease)return!0;e=Tfe}const n=new Set;let i,s;for(const w of r)w.operator===">"||w.operator===">="?i=Rfe(i,w,t):w.operator==="<"||w.operator==="<="?s=kfe(s,w,t):n.add(w.semver);if(n.size>1)return null;let o;if(i&&s){if(o=zL(i.semver,s.semver,t),o>0)return null;if(o===0&&(i.operator!==">="||s.operator!=="<="))return null}for(const w of n){if(i&&!U8(w,String(i),t)||s&&!U8(w,String(s),t))return null;for(const y of e)if(!U8(w,String(y),t))return!1;return!0}let a,l,u,h,p=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1,g=i&&!t.includePrerelease&&i.semver.prerelease.length?i.semver:!1;p&&p.prerelease.length===1&&s.operator==="<"&&p.prerelease[0]===0&&(p=!1);for(const w of e){if(h=h||w.operator===">"||w.operator===">=",u=u||w.operator==="<"||w.operator==="<=",i){if(g&&w.semver.prerelease&&w.semver.prerelease.length&&w.semver.major===g.major&&w.semver.minor===g.minor&&w.semver.patch===g.patch&&(g=!1),w.operator===">"||w.operator===">="){if(a=Rfe(i,w,t),a===w&&a!==i)return!1}else if(i.operator===">="&&!U8(i.semver,String(w),t))return!1}if(s){if(p&&w.semver.prerelease&&w.semver.prerelease.length&&w.semver.major===p.major&&w.semver.minor===p.minor&&w.semver.patch===p.patch&&(p=!1),w.operator==="<"||w.operator==="<="){if(l=kfe(s,w,t),l===w&&l!==s)return!1}else if(s.operator==="<="&&!U8(s.semver,String(w),t))return!1}if(!w.operator&&(s||i)&&o!==0)return!1}return!(i&&u&&!s&&o!==0||s&&h&&!i&&o!==0||g||p)},Rfe=(r,e,t)=>{if(!r)return e;const n=zL(r.semver,e.semver,t);return n>0?r:n<0||e.operator===">"&&r.operator===">="?e:r},kfe=(r,e,t)=>{if(!r)return e;const n=zL(r.semver,e.semver,t);return n<0?r:n>0||e.operator==="<"&&r.operator==="<="?e:r};var wWe=gWe;const HL=y1,Mfe=TI,vWe=Fa,Nfe=ife,yWe=Wy,xWe=YHe,_We=XHe,EWe=eqe,AWe=tqe,CWe=nqe,SWe=sqe,IWe=aqe,TWe=lqe,RWe=rh,kWe=hqe,MWe=dqe,NWe=RL,PWe=gqe,OWe=bqe,DWe=NI,$We=kL,BWe=dfe,LWe=pfe,UWe=ML,FWe=NL,jWe=gfe,zWe=Nqe,HWe=$I(),qWe=ih();var WWe={parse:yWe,valid:xWe,clean:_We,inc:EWe,diff:AWe,major:CWe,minor:SWe,patch:IWe,prerelease:TWe,compare:RWe,rcompare:kWe,compareLoose:MWe,compareBuild:NWe,sort:PWe,rsort:OWe,gt:DWe,lt:$We,eq:BWe,neq:LWe,gte:UWe,lte:FWe,cmp:jWe,coerce:zWe,Comparator:HWe,Range:qWe,satisfies:BI,toComparators:qqe,maxSatisfying:Gqe,minSatisfying:Jqe,minVersion:Qqe,validRange:eWe,outside:UL,gtr:cWe,ltr:uWe,intersects:hWe,simplifyRange:pWe,subset:wWe,SemVer:vWe,re:HL.re,src:HL.src,tokens:HL.t,SEMVER_SPEC_VERSION:Mfe.SEMVER_SPEC_VERSION,RELEASE_TYPES:Mfe.RELEASE_TYPES,compareIdentifiers:Nfe.compareIdentifiers,rcompareIdentifiers:Nfe.rcompareIdentifiers};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.satisfiesVersionRange=r.gtRange=r.gtVersion=r.assertIsSemVerRange=r.assertIsSemVerVersion=r.isValidSemVerRange=r.isValidSemVerVersion=r.VersionRangeStruct=r.VersionStruct=void 0;const e=WWe,t=t2,n=Wo;r.VersionStruct=(0,t.refine)((0,t.string)(),"Version",p=>(0,e.valid)(p)===null?`Expected SemVer version, got "${p}"`:!0),r.VersionRangeStruct=(0,t.refine)((0,t.string)(),"Version range",p=>(0,e.validRange)(p)===null?`Expected SemVer range, got "${p}"`:!0);function i(p){return(0,t.is)(p,r.VersionStruct)}r.isValidSemVerVersion=i;function s(p){return(0,t.is)(p,r.VersionRangeStruct)}r.isValidSemVerRange=s;function o(p){(0,n.assertStruct)(p,r.VersionStruct)}r.assertIsSemVerVersion=o;function a(p){(0,n.assertStruct)(p,r.VersionRangeStruct)}r.assertIsSemVerRange=a;function l(p,g){return(0,e.gt)(p,g)}r.gtVersion=l;function u(p,g){return(0,e.gtr)(p,g)}r.gtRange=u;function h(p,g){return(0,e.satisfies)(p,g,{includePrerelease:!0})}r.satisfiesVersionRange=h})(efe),function(r){var e=ct&&ct.__createBinding||(Object.create?function(n,i,s,o){o===void 0&&(o=s);var a=Object.getOwnPropertyDescriptor(i,s);(!a||("get"in a?!i.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return i[s]}}),Object.defineProperty(n,o,a)}:function(n,i,s,o){o===void 0&&(o=s),n[o]=i[s]}),t=ct&&ct.__exportStar||function(n,i){for(var s in n)s!=="default"&&!Object.prototype.hasOwnProperty.call(i,s)&&e(i,n,s)};Object.defineProperty(r,"__esModule",{value:!0}),t(Wo,r),t(O8,r),t(Rn,r),t(CI,r),t(Af,r),t(jy,r),t(Vhe,r),t(D8,r),t(Ghe,r),t(Khe,r),t(zy,r),t(Jhe,r),t(Sf,r),t(Yhe,r),t(Qhe,r),t(Xhe,r),t(efe,r)}(_he),function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.createModuleLogger=r.projectLogger=void 0;const e=_he;Object.defineProperty(r,"createModuleLogger",{enumerable:!0,get:function(){return e.createModuleLogger}}),r.projectLogger=(0,e.createProjectLogger)("eth-block-tracker")}(xhe);var Pfe=ct&&ct.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(EI,"__esModule",{value:!0}),EI.PollingBlockTracker=void 0;const VWe=Pfe(mL),GWe=Pfe(cze),KWe=k8,Ofe=xhe,Dfe=(0,Ofe.createModuleLogger)(Ofe.projectLogger,"polling-block-tracker"),ZWe=(0,VWe.default)(),JWe=1e3;class YWe extends KWe.BaseBlockTracker{constructor(e={}){var t;if(!e.provider)throw new Error("PollingBlockTracker - no provider specified.");super(Object.assign(Object.assign({},e),{blockResetDuration:(t=e.blockResetDuration)!==null&&t!==void 0?t:e.pollingInterval})),this._provider=e.provider,this._pollingInterval=e.pollingInterval||20*JWe,this._retryTimeout=e.retryTimeout||this._pollingInterval/10,this._keepEventLoopActive=e.keepEventLoopActive===void 0?!0:e.keepEventLoopActive,this._setSkipCacheFlag=e.setSkipCacheFlag||!1}async checkForLatestBlock(){return await this._updateLatestBlock(),await this.getLatestBlock()}async _start(){this._synchronize()}async _end(){}async _synchronize(){for(var e;this._isRunning;)try{await this._updateLatestBlock();const t=$fe(this._pollingInterval,!this._keepEventLoopActive);this.emit("_waitingForNextIteration"),await t}catch(t){const n=new Error(`PollingBlockTracker - encountered an error while attempting to update latest block: +${(e=t.stack)!==null&&e!==void 0?e:t}`);try{this.emit("error",n)}catch{console.error(n)}const i=$fe(this._retryTimeout,!this._keepEventLoopActive);this.emit("_waitingForNextIteration"),await i}}async _updateLatestBlock(){const e=await this._fetchLatestBlock();this._newPotentialLatest(e)}async _fetchLatestBlock(){const e={jsonrpc:"2.0",id:ZWe(),method:"eth_blockNumber",params:[]};this._setSkipCacheFlag&&(e.skipCache=!0),Dfe("Making request",e);const t=await(0,GWe.default)(n=>this._provider.sendAsync(e,n))();if(Dfe("Got response",t),t.error)throw new Error(`PollingBlockTracker - encountered error fetching block: +${t.error.message}`);return t.result}}EI.PollingBlockTracker=YWe;function $fe(r,e){return new Promise(t=>{const n=setTimeout(t,r);n.unref&&e&&n.unref()})}var LI={},QWe=ct&&ct.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(LI,"__esModule",{value:!0}),LI.SubscribeBlockTracker=void 0;const XWe=QWe(mL),eVe=k8,tVe=(0,XWe.default)();class rVe extends eVe.BaseBlockTracker{constructor(e={}){if(!e.provider)throw new Error("SubscribeBlockTracker - no provider specified.");super(e),this._provider=e.provider,this._subscriptionId=null}async checkForLatestBlock(){return await this.getLatestBlock()}async _start(){if(this._subscriptionId===void 0||this._subscriptionId===null)try{const e=await this._call("eth_blockNumber");this._subscriptionId=await this._call("eth_subscribe","newHeads"),this._provider.on("data",this._handleSubData.bind(this)),this._newPotentialLatest(e)}catch(e){this.emit("error",e)}}async _end(){if(this._subscriptionId!==null&&this._subscriptionId!==void 0)try{await this._call("eth_unsubscribe",this._subscriptionId),this._subscriptionId=null}catch(e){this.emit("error",e)}}_call(e,...t){return new Promise((n,i)=>{this._provider.sendAsync({id:tVe(),method:e,params:t,jsonrpc:"2.0"},(s,o)=>{s?i(s):n(o.result)})})}_handleSubData(e,t){var n;t.method==="eth_subscription"&&((n=t.params)===null||n===void 0?void 0:n.subscription)===this._subscriptionId&&this._newPotentialLatest(t.params.result.number)}}LI.SubscribeBlockTracker=rVe,function(r){var e=ct&&ct.__createBinding||(Object.create?function(n,i,s,o){o===void 0&&(o=s),Object.defineProperty(n,o,{enumerable:!0,get:function(){return i[s]}})}:function(n,i,s,o){o===void 0&&(o=s),n[o]=i[s]}),t=ct&&ct.__exportStar||function(n,i){for(var s in n)s!=="default"&&!Object.prototype.hasOwnProperty.call(i,s)&&e(i,n,s)};Object.defineProperty(r,"__esModule",{value:!0}),t(EI,r),t(LI,r)}(mhe);var qL={},UI={},F8={};Object.defineProperty(F8,"__esModule",{value:!0}),F8.getUniqueId=void 0;const Bfe=4294967295;let WL=Math.floor(Math.random()*Bfe);function nVe(){return WL=(WL+1)%Bfe,WL}F8.getUniqueId=nVe,Object.defineProperty(UI,"__esModule",{value:!0}),UI.createIdRemapMiddleware=void 0;const iVe=F8;function sVe(){return(r,e,t,n)=>{const i=r.id,s=iVe.getUniqueId();r.id=s,e.id=s,t(o=>{r.id=i,e.id=i,o()})}}UI.createIdRemapMiddleware=sVe;var FI={};Object.defineProperty(FI,"__esModule",{value:!0}),FI.createAsyncMiddleware=void 0;function oVe(r){return async(e,t,n,i)=>{let s;const o=new Promise(h=>{s=h});let a=null,l=!1;const u=async()=>{l=!0,n(h=>{a=h,s()}),await o};try{await r(e,t,u),l?(await o,a(null)):i(null)}catch(h){a?a(h):i(h)}}}FI.createAsyncMiddleware=oVe;var jI={};Object.defineProperty(jI,"__esModule",{value:!0}),jI.createScaffoldMiddleware=void 0;function aVe(r){return(e,t,n,i)=>{const s=r[e.method];return s===void 0?n():typeof s=="function"?s(e,t,n,i):(t.result=s,i())}}jI.createScaffoldMiddleware=aVe;var j8={},VL={};Object.defineProperty(VL,"__esModule",{value:!0});const cVe=pn;function Lfe(r,e,t){try{Reflect.apply(r,e,t)}catch(n){setTimeout(()=>{throw n})}}function lVe(r){const e=r.length,t=new Array(e);for(let n=0;n0&&([o]=t),o instanceof Error)throw o;const a=new Error(`Unhandled error.${o?` (${o.message})`:""}`);throw a.context=o,a}const s=i[e];if(s===void 0)return!1;if(typeof s=="function")Lfe(s,this,t);else{const o=s.length,a=lVe(s);for(let l=0;l"u"&&(n=jfe()),GL(r,"",0,[],void 0,0,n);var i;try{o2.length===0?i=JSON.stringify(r,e,t):i=JSON.stringify(r,Hfe(e),t)}catch{return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;s2.length!==0;){var s=s2.pop();s.length===4?Object.defineProperty(s[0],s[1],s[3]):s[0][s[1]]=s[2]}}return i}function Ky(r,e,t,n){var i=Object.getOwnPropertyDescriptor(n,t);i.get!==void 0?i.configurable?(Object.defineProperty(n,t,{value:r}),s2.push([n,t,e,i])):o2.push([e,t,r]):(n[t]=r,s2.push([n,t,e]))}function GL(r,e,t,n,i,s,o){s+=1;var a;if(typeof r=="object"&&r!==null){for(a=0;ao.depthLimit){Ky(zI,r,e,i);return}if(typeof o.edgesLimit<"u"&&t+1>o.edgesLimit){Ky(zI,r,e,i);return}if(n.push(r),Array.isArray(r))for(a=0;ae?1:0}function zfe(r,e,t,n){typeof n>"u"&&(n=jfe());var i=KL(r,"",0,[],void 0,0,n)||r,s;try{o2.length===0?s=JSON.stringify(i,e,t):s=JSON.stringify(i,Hfe(e),t)}catch{return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;s2.length!==0;){var o=s2.pop();o.length===4?Object.defineProperty(o[0],o[1],o[3]):o[0][o[1]]=o[2]}}return s}function KL(r,e,t,n,i,s,o){s+=1;var a;if(typeof r=="object"&&r!==null){for(a=0;ao.depthLimit){Ky(zI,r,e,i);return}if(typeof o.edgesLimit<"u"&&t+1>o.edgesLimit){Ky(zI,r,e,i);return}if(n.push(r),Array.isArray(r))for(a=0;a0)for(var n=0;n=1e3&&r<=4999}function mVe(r,e){if(e!=="[Circular]")return e}var ZL={},_1={};Object.defineProperty(_1,"__esModule",{value:!0}),_1.errorValues=_1.errorCodes=void 0,_1.errorCodes={rpc:{invalidInput:-32e3,resourceNotFound:-32001,resourceUnavailable:-32002,transactionRejected:-32003,methodNotSupported:-32004,limitExceeded:-32005,parse:-32700,invalidRequest:-32600,methodNotFound:-32601,invalidParams:-32602,internal:-32603},provider:{userRejectedRequest:4001,unauthorized:4100,unsupportedMethod:4200,disconnected:4900,chainDisconnected:4901}},_1.errorValues={"-32700":{standard:"JSON RPC 2.0",message:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."},"-32600":{standard:"JSON RPC 2.0",message:"The JSON sent is not a valid Request object."},"-32601":{standard:"JSON RPC 2.0",message:"The method does not exist / is not available."},"-32602":{standard:"JSON RPC 2.0",message:"Invalid method parameter(s)."},"-32603":{standard:"JSON RPC 2.0",message:"Internal JSON-RPC error."},"-32000":{standard:"EIP-1474",message:"Invalid input."},"-32001":{standard:"EIP-1474",message:"Resource not found."},"-32002":{standard:"EIP-1474",message:"Resource unavailable."},"-32003":{standard:"EIP-1474",message:"Transaction rejected."},"-32004":{standard:"EIP-1474",message:"Method not supported."},"-32005":{standard:"EIP-1474",message:"Request limit exceeded."},4001:{standard:"EIP-1193",message:"User rejected the request."},4100:{standard:"EIP-1193",message:"The requested account and/or method has not been authorized by the user."},4200:{standard:"EIP-1193",message:"The requested method is not supported by this Ethereum provider."},4900:{standard:"EIP-1193",message:"The provider is disconnected from all chains."},4901:{standard:"EIP-1193",message:"The provider is disconnected from the specified chain."}},function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.serializeError=r.isValidCode=r.getMessageFromCode=r.JSON_RPC_SERVER_ERROR_MESSAGE=void 0;const e=_1,t=x1,n=e.errorCodes.rpc.internal,i="Unspecified error message. This is a bug, please report it.",s={code:n,message:o(n)};r.JSON_RPC_SERVER_ERROR_MESSAGE="Unspecified server error.";function o(g,w=i){if(Number.isInteger(g)){const y=g.toString();if(p(e.errorValues,y))return e.errorValues[y].message;if(u(g))return r.JSON_RPC_SERVER_ERROR_MESSAGE}return w}r.getMessageFromCode=o;function a(g){if(!Number.isInteger(g))return!1;const w=g.toString();return!!(e.errorValues[w]||u(g))}r.isValidCode=a;function l(g,{fallbackError:w=s,shouldIncludeStack:y=!1}={}){var C,T;if(!w||!Number.isInteger(w.code)||typeof w.message!="string")throw new Error("Must provide fallback error with integer number code and string message.");if(g instanceof t.EthereumRpcError)return g.serialize();const k={};if(g&&typeof g=="object"&&!Array.isArray(g)&&p(g,"code")&&a(g.code)){const O=g;k.code=O.code,O.message&&typeof O.message=="string"?(k.message=O.message,p(O,"data")&&(k.data=O.data)):(k.message=o(k.code),k.data={originalError:h(g)})}else{k.code=w.code;const O=(C=g)===null||C===void 0?void 0:C.message;k.message=O&&typeof O=="string"?O:w.message,k.data={originalError:h(g)}}const N=(T=g)===null||T===void 0?void 0:T.stack;return y&&g&&N&&typeof N=="string"&&(k.stack=N),k}r.serializeError=l;function u(g){return g>=-32099&&g<=-32e3}function h(g){return g&&typeof g=="object"&&!Array.isArray(g)?Object.assign({},g):g}function p(g,w){return Object.prototype.hasOwnProperty.call(g,w)}}(ZL);var HI={};Object.defineProperty(HI,"__esModule",{value:!0}),HI.ethErrors=void 0;const JL=x1,Wfe=ZL,ba=_1;HI.ethErrors={rpc:{parse:r=>iu(ba.errorCodes.rpc.parse,r),invalidRequest:r=>iu(ba.errorCodes.rpc.invalidRequest,r),invalidParams:r=>iu(ba.errorCodes.rpc.invalidParams,r),methodNotFound:r=>iu(ba.errorCodes.rpc.methodNotFound,r),internal:r=>iu(ba.errorCodes.rpc.internal,r),server:r=>{if(!r||typeof r!="object"||Array.isArray(r))throw new Error("Ethereum RPC Server errors must provide single object argument.");const{code:e}=r;if(!Number.isInteger(e)||e>-32005||e<-32099)throw new Error('"code" must be an integer such that: -32099 <= code <= -32005');return iu(e,r)},invalidInput:r=>iu(ba.errorCodes.rpc.invalidInput,r),resourceNotFound:r=>iu(ba.errorCodes.rpc.resourceNotFound,r),resourceUnavailable:r=>iu(ba.errorCodes.rpc.resourceUnavailable,r),transactionRejected:r=>iu(ba.errorCodes.rpc.transactionRejected,r),methodNotSupported:r=>iu(ba.errorCodes.rpc.methodNotSupported,r),limitExceeded:r=>iu(ba.errorCodes.rpc.limitExceeded,r)},provider:{userRejectedRequest:r=>H8(ba.errorCodes.provider.userRejectedRequest,r),unauthorized:r=>H8(ba.errorCodes.provider.unauthorized,r),unsupportedMethod:r=>H8(ba.errorCodes.provider.unsupportedMethod,r),disconnected:r=>H8(ba.errorCodes.provider.disconnected,r),chainDisconnected:r=>H8(ba.errorCodes.provider.chainDisconnected,r),custom:r=>{if(!r||typeof r!="object"||Array.isArray(r))throw new Error("Ethereum Provider custom errors must provide single object argument.");const{code:e,message:t,data:n}=r;if(!t||typeof t!="string")throw new Error('"message" must be a nonempty string');return new JL.EthereumProviderError(e,t,n)}}};function iu(r,e){const[t,n]=Vfe(e);return new JL.EthereumRpcError(r,t||Wfe.getMessageFromCode(r),n)}function H8(r,e){const[t,n]=Vfe(e);return new JL.EthereumProviderError(r,t||Wfe.getMessageFromCode(r),n)}function Vfe(r){if(r){if(typeof r=="string")return[r];if(typeof r=="object"&&!Array.isArray(r)){const{message:e,data:t}=r;if(e&&typeof e!="string")throw new Error("Must specify string message.");return[e||void 0,t]}}return[]}(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.getMessageFromCode=r.serializeError=r.EthereumProviderError=r.EthereumRpcError=r.ethErrors=r.errorCodes=void 0;const e=x1;Object.defineProperty(r,"EthereumRpcError",{enumerable:!0,get:function(){return e.EthereumRpcError}}),Object.defineProperty(r,"EthereumProviderError",{enumerable:!0,get:function(){return e.EthereumProviderError}});const t=ZL;Object.defineProperty(r,"serializeError",{enumerable:!0,get:function(){return t.serializeError}}),Object.defineProperty(r,"getMessageFromCode",{enumerable:!0,get:function(){return t.getMessageFromCode}});const n=HI;Object.defineProperty(r,"ethErrors",{enumerable:!0,get:function(){return n.ethErrors}});const i=_1;Object.defineProperty(r,"errorCodes",{enumerable:!0,get:function(){return i.errorCodes}})})(Ufe);var bVe=ct&&ct.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(j8,"__esModule",{value:!0}),j8.JsonRpcEngine=void 0;const wVe=bVe(VL),su=Ufe;class n0 extends wVe.default{constructor(){super(),this._middleware=[]}push(e){this._middleware.push(e)}handle(e,t){if(t&&typeof t!="function")throw new Error('"callback" must be a function if provided.');return Array.isArray(e)?t?this._handleBatch(e,t):this._handleBatch(e):t?this._handle(e,t):this._promiseHandle(e)}asMiddleware(){return async(e,t,n,i)=>{try{const[s,o,a]=await n0._runAllMiddleware(e,t,this._middleware);return o?(await n0._runReturnHandlers(a),i(s)):n(async l=>{try{await n0._runReturnHandlers(a)}catch(u){return l(u)}return l()})}catch(s){return i(s)}}}async _handleBatch(e,t){try{const n=await Promise.all(e.map(this._promiseHandle.bind(this)));return t?t(null,n):n}catch(n){if(t)return t(n);throw n}}_promiseHandle(e){return new Promise(t=>{this._handle(e,(n,i)=>{t(i)})})}async _handle(e,t){if(!e||Array.isArray(e)||typeof e!="object"){const o=new su.EthereumRpcError(su.errorCodes.rpc.invalidRequest,`Requests must be plain objects. Received: ${typeof e}`,{request:e});return t(o,{id:void 0,jsonrpc:"2.0",error:o})}if(typeof e.method!="string"){const o=new su.EthereumRpcError(su.errorCodes.rpc.invalidRequest,`Must specify a string method. Received: ${typeof e.method}`,{request:e});return t(o,{id:e.id,jsonrpc:"2.0",error:o})}const n=Object.assign({},e),i={id:n.id,jsonrpc:n.jsonrpc};let s=null;try{await this._processRequest(n,i)}catch(o){s=o}return s&&(delete i.result,i.error||(i.error=su.serializeError(s))),t(s,i)}async _processRequest(e,t){const[n,i,s]=await n0._runAllMiddleware(e,t,this._middleware);if(n0._checkForCompletion(e,t,i),await n0._runReturnHandlers(s),n)throw n}static async _runAllMiddleware(e,t,n){const i=[];let s=null,o=!1;for(const a of n)if([s,o]=await n0._runMiddleware(e,t,a,i),o)break;return[s,o,i.reverse()]}static _runMiddleware(e,t,n,i){return new Promise(s=>{const o=l=>{const u=l||t.error;u&&(t.error=su.serializeError(u)),s([u,!0])},a=l=>{t.error?o(t.error):(l&&(typeof l!="function"&&o(new su.EthereumRpcError(su.errorCodes.rpc.internal,`JsonRpcEngine: "next" return handlers must be functions. Received "${typeof l}" for request: +${YL(e)}`,{request:e})),i.push(l)),s([null,!1]))};try{n(e,t,a,o)}catch(l){o(l)}})}static async _runReturnHandlers(e){for(const t of e)await new Promise((n,i)=>{t(s=>s?i(s):n())})}static _checkForCompletion(e,t,n){if(!("result"in t)&&!("error"in t))throw new su.EthereumRpcError(su.errorCodes.rpc.internal,`JsonRpcEngine: Response has no error or result for request: +${YL(e)}`,{request:e});if(!n)throw new su.EthereumRpcError(su.errorCodes.rpc.internal,`JsonRpcEngine: Nothing ended request: +${YL(e)}`,{request:e})}}j8.JsonRpcEngine=n0;function YL(r){return JSON.stringify(r,null,2)}var qI={};Object.defineProperty(qI,"__esModule",{value:!0}),qI.mergeMiddleware=void 0;const vVe=j8;function yVe(r){const e=new vVe.JsonRpcEngine;return r.forEach(t=>e.push(t)),e.asMiddleware()}qI.mergeMiddleware=yVe,function(r){var e=ct&&ct.__createBinding||(Object.create?function(n,i,s,o){o===void 0&&(o=s),Object.defineProperty(n,o,{enumerable:!0,get:function(){return i[s]}})}:function(n,i,s,o){o===void 0&&(o=s),n[o]=i[s]}),t=ct&&ct.__exportStar||function(n,i){for(var s in n)s!=="default"&&!Object.prototype.hasOwnProperty.call(i,s)&&e(i,n,s)};Object.defineProperty(r,"__esModule",{value:!0}),t(UI,r),t(FI,r),t(jI,r),t(F8,r),t(j8,r),t(qI,r)}(qL);var Gfe={},QL={},XL=function(r,e){return XL=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])},XL(r,e)};function xVe(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");XL(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var eU=function(){return eU=Object.assign||function(e){for(var t,n=1,i=arguments.length;n=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s}function AVe(r,e){return function(t,n){e(t,n,r)}}function CVe(r,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(r,e)}function SVe(r,e,t,n){function i(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function a(h){try{u(n.next(h))}catch(p){o(p)}}function l(h){try{u(n.throw(h))}catch(p){o(p)}}function u(h){h.done?s(h.value):i(h.value).then(a,l)}u((n=n.apply(r,e||[])).next())})}function IVe(r,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},n,i,s,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(u){return function(h){return l([u,h])}}function l(u){if(n)throw new TypeError("Generator is already executing.");for(;t;)try{if(n=1,i&&(s=u[0]&2?i.return:u[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,u[1])).done)return s;switch(i=0,s&&(u=[u[0]&2,s.value]),u[0]){case 0:case 1:s=u;break;case 4:return t.label++,{value:u[1],done:!1};case 5:t.label++,i=u[1],u=[0];continue;case 7:u=t.ops.pop(),t.trys.pop();continue;default:if(s=t.trys,!(s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){t=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Kfe(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var n=t.call(r),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(t=n.return)&&t.call(n)}finally{if(o)throw o.error}}return s}function RVe(){for(var r=[],e=0;e1||a(g,w)})})}function a(g,w){try{l(n[g](w))}catch(y){p(s[0][3],y)}}function l(g){g.value instanceof q8?Promise.resolve(g.value.v).then(u,h):p(s[0][2],g)}function u(g){a("next",g)}function h(g){a("throw",g)}function p(g,w){g(w),s.shift(),s.length&&a(s[0][0],s[0][1])}}function PVe(r){var e,t;return e={},n("next"),n("throw",function(i){throw i}),n("return"),e[Symbol.iterator]=function(){return this},e;function n(i,s){e[i]=r[i]?function(o){return(t=!t)?{value:q8(r[i](o)),done:i==="return"}:s?s(o):o}:s}}function OVe(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=r[Symbol.asyncIterator],t;return e?e.call(r):(r=typeof rU=="function"?rU(r):r[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(s){t[s]=r[s]&&function(o){return new Promise(function(a,l){o=r[s](o),i(a,l,o.done,o.value)})}}function i(s,o,a,l){Promise.resolve(l).then(function(u){s({value:u,done:a})},o)}}function DVe(r,e){return Object.defineProperty?Object.defineProperty(r,"raw",{value:e}):r.raw=e,r}var $Ve=Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e};function BVe(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&tU(e,r,t);return $Ve(e,r),e}function LVe(r){return r&&r.__esModule?r:{default:r}}function UVe(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)}function FVe(r,e,t,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!i:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,t):i?i.value=t:e.set(r,t),t}function jVe(r,e){if(e===null||typeof e!="object"&&typeof e!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof r=="function"?e===r:r.has(e)}const nU=ad(Object.freeze(Object.defineProperty({__proto__:null,get __assign(){return eU},__asyncDelegator:PVe,__asyncGenerator:NVe,__asyncValues:OVe,__await:q8,__awaiter:SVe,__classPrivateFieldGet:UVe,__classPrivateFieldIn:jVe,__classPrivateFieldSet:FVe,__createBinding:tU,__decorate:EVe,__exportStar:TVe,__extends:xVe,__generator:IVe,__importDefault:LVe,__importStar:BVe,__makeTemplateObject:DVe,__metadata:CVe,__param:AVe,__read:Kfe,__rest:_Ve,__spread:RVe,__spreadArray:MVe,__spreadArrays:kVe,__values:rU},Symbol.toStringTag,{value:"Module"})));var WI={};Object.defineProperty(WI,"__esModule",{value:!0});var Zfe=nU,zVe=function(){function r(e){if(this._maxConcurrency=e,this._queue=[],e<=0)throw new Error("semaphore must be initialized to a positive value");this._value=e}return r.prototype.acquire=function(){var e=this,t=this.isLocked(),n=new Promise(function(i){return e._queue.push(i)});return t||this._dispatch(),n},r.prototype.runExclusive=function(e){return Zfe.__awaiter(this,void 0,void 0,function(){var t,n,i;return Zfe.__generator(this,function(s){switch(s.label){case 0:return[4,this.acquire()];case 1:t=s.sent(),n=t[0],i=t[1],s.label=2;case 2:return s.trys.push([2,,4,5]),[4,e(n)];case 3:return[2,s.sent()];case 4:return i(),[7];case 5:return[2]}})})},r.prototype.isLocked=function(){return this._value<=0},r.prototype.release=function(){if(this._maxConcurrency>1)throw new Error("this method is unavailabel on semaphores with concurrency > 1; use the scoped release returned by acquire instead");if(this._currentReleaser){var e=this._currentReleaser;this._currentReleaser=void 0,e()}},r.prototype._dispatch=function(){var e=this,t=this._queue.shift();if(t){var n=!1;this._currentReleaser=function(){n||(n=!0,e._value++,e._dispatch())},t([this._value--,this._currentReleaser])}},r}();WI.default=zVe,Object.defineProperty(QL,"__esModule",{value:!0});var Jfe=nU,HVe=WI,qVe=function(){function r(){this._semaphore=new HVe.default(1)}return r.prototype.acquire=function(){return Jfe.__awaiter(this,void 0,void 0,function(){var e,t;return Jfe.__generator(this,function(n){switch(n.label){case 0:return[4,this._semaphore.acquire()];case 1:return e=n.sent(),t=e[1],[2,t]}})})},r.prototype.runExclusive=function(e){return this._semaphore.runExclusive(function(){return e()})},r.prototype.isLocked=function(){return this._semaphore.isLocked()},r.prototype.release=function(){this._semaphore.release()},r}();QL.default=qVe;var VI={};Object.defineProperty(VI,"__esModule",{value:!0}),VI.withTimeout=void 0;var GI=nU;function WVe(r,e,t){var n=this;return t===void 0&&(t=new Error("timeout")),{acquire:function(){return new Promise(function(i,s){return GI.__awaiter(n,void 0,void 0,function(){var o,a,l;return GI.__generator(this,function(u){switch(u.label){case 0:return o=!1,setTimeout(function(){o=!0,s(t)},e),[4,r.acquire()];case 1:return a=u.sent(),o?(l=Array.isArray(a)?a[1]:a,l()):i(a),[2]}})})})},runExclusive:function(i){return GI.__awaiter(this,void 0,void 0,function(){var s,o;return GI.__generator(this,function(a){switch(a.label){case 0:s=function(){},a.label=1;case 1:return a.trys.push([1,,7,8]),[4,this.acquire()];case 2:return o=a.sent(),Array.isArray(o)?(s=o[1],[4,i(o[0])]):[3,4];case 3:return[2,a.sent()];case 4:return s=o,[4,i()];case 5:return[2,a.sent()];case 6:return[3,8];case 7:return s(),[7];case 8:return[2]}})})},release:function(){r.release()},isLocked:function(){return r.isLocked()}}}VI.withTimeout=WVe,function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.withTimeout=r.Semaphore=r.Mutex=void 0;var e=QL;Object.defineProperty(r,"Mutex",{enumerable:!0,get:function(){return e.default}});var t=WI;Object.defineProperty(r,"Semaphore",{enumerable:!0,get:function(){return t.default}});var n=VI;Object.defineProperty(r,"withTimeout",{enumerable:!0,get:function(){return n.withTimeout}})}(Gfe);var VVe=KVe,GVe=Object.prototype.hasOwnProperty;function KVe(){for(var r={},e=0;efunction(...i){const s=e.promiseModule;return new s((o,a)=>{e.multiArgs?i.push((...u)=>{e.errorFirst?u[0]?a(u):(u.shift(),o(u)):o(u)}):e.errorFirst?i.push((u,h)=>{u?a(u):o(h)}):i.push(o),Reflect.apply(r,this===t?n:this,i)})},Qfe=new WeakMap;var XVe=(r,e)=>{e={exclude:[/.+(?:Sync|Stream)$/],errorFirst:!0,promiseModule:Promise,...e};const t=typeof r;if(!(r!==null&&(t==="object"||t==="function")))throw new TypeError(`Expected \`input\` to be a \`Function\` or \`Object\`, got \`${r===null?"null":t}\``);const n=(o,a)=>{let l=Qfe.get(o);if(l||(l={},Qfe.set(o,l)),a in l)return l[a];const u=y=>typeof y=="string"||typeof a=="symbol"?a===y:y.test(a),h=Reflect.getOwnPropertyDescriptor(o,a),p=h===void 0||h.writable||h.configurable,w=(e.include?e.include.some(u):!e.exclude.some(u))&&p;return l[a]=w,w},i=new WeakMap,s=new Proxy(r,{apply(o,a,l){const u=i.get(o);if(u)return Reflect.apply(u,a,l);const h=e.excludeMain?o:Yfe(o,e,s,o);return i.set(o,h),Reflect.apply(h,a,l)},get(o,a){const l=o[a];if(!n(o,a)||l===Function.prototype[a])return l;const u=i.get(l);if(u)return u;if(typeof l=="function"){const h=Yfe(l,e,s,o);return i.set(l,h),h}return l}});return s};const eGe=M8.default;var iU=class extends eGe{constructor(){super(),this.updates=[]}async initialize(){}async update(){throw new Error("BaseFilter - no update method specified")}addResults(e){this.updates=this.updates.concat(e),e.forEach(t=>this.emit("update",t))}addInitialResults(e){}getChangesAndClear(){const e=this.updates;return this.updates=[],e}};const tGe=iU;var rGe=class extends tGe{constructor(){super(),this.allResults=[]}async update(){throw new Error("BaseFilterWithHistory - no update method specified")}addResults(e){this.allResults=this.allResults.concat(e),super.addResults(e)}addInitialResults(e){this.allResults=this.allResults.concat(e),super.addInitialResults(e)}getAllResults(){return this.allResults}},V8={minBlockRef:nGe,maxBlockRef:iGe,sortBlockRefs:sU,bnToHex:sGe,blockRefIsNumber:oGe,hexToInt:KI,incrementHexInt:aGe,intToHex:Xfe,unsafeRandomBytes:cGe};function nGe(...r){return sU(r)[0]}function iGe(...r){const e=sU(r);return e[e.length-1]}function sU(r){return r.sort((e,t)=>e==="latest"||t==="earliest"?1:t==="latest"||e==="earliest"?-1:KI(e)-KI(t))}function sGe(r){return"0x"+r.toString(16)}function oGe(r){return r&&!["earliest","latest","pending"].includes(r)}function KI(r){return r==null?r:Number.parseInt(r,16)}function aGe(r){if(r==null)return r;const e=KI(r);return Xfe(e+1)}function Xfe(r){if(r==null)return r;let e=r.toString(16);return e.length%2&&(e="0"+e),"0x"+e}function cGe(r){let e="0x";for(let t=0;tn.toLowerCase()))}async initialize({currentBlock:e}){let t=this.params.fromBlock;["latest","pending"].includes(t)&&(t=e),t==="earliest"&&(t="0x0"),this.params.fromBlock=t;const n=dGe(this.params.toBlock,e),i=Object.assign({},this.params,{toBlock:n}),s=await this._fetchLogs(i);this.addInitialResults(s)}async update({oldBlock:e,newBlock:t}){const n=t;let i;e?i=fGe(e):i=t;const s=Object.assign({},this.params,{fromBlock:i,toBlock:n}),a=(await this._fetchLogs(s)).filter(l=>this.matchLog(l));this.addResults(a)}async _fetchLogs(e){return await uGe(n=>this.ethQuery.getLogs(e,n))()}matchLog(e){if(ZI(this.params.fromBlock)>=ZI(e.blockNumber)||pGe(this.params.toBlock)&&ZI(this.params.toBlock)<=ZI(e.blockNumber))return!1;const t=e.address&&e.address.toLowerCase();return this.params.address&&t&&!this.params.address.includes(t)?!1:this.params.topics.every((i,s)=>{let o=e.topics[s];if(!o)return!1;o=o.toLowerCase();let a=Array.isArray(i)?i:[i];return a.includes(null)?!0:(a=a.map(h=>h.toLowerCase()),a.includes(o))})}},oU=mGe;async function mGe({provider:r,fromBlock:e,toBlock:t}){e||(e=t);const n=tde(e),s=tde(t)-n+1,o=Array(s).fill().map((l,u)=>n+u).map(bGe);let a=await Promise.all(o.map(l=>vGe(r,"eth_getBlockByNumber",[l,!1])));return a=a.filter(l=>l!==null),a}function tde(r){return r==null?r:Number.parseInt(r,16)}function bGe(r){return r==null?r:"0x"+r.toString(16)}function wGe(r,e){return new Promise((t,n)=>{r.sendAsync(e,(i,s)=>{i?n(i):s.error?n(s.error):s.result?t(s.result):n(new Error("Result was empty"))})})}async function vGe(r,e,t){for(let n=0;n<3;n++)try{return await wGe(r,{id:1,jsonrpc:"2.0",method:e,params:t})}catch(i){console.error(`provider.sendAsync failed: ${i.stack||i.message||i}`)}return null}const yGe=iU,xGe=oU,{incrementHexInt:_Ge}=V8;var EGe=class extends yGe{constructor({provider:e,params:t}){super(),this.type="block",this.provider=e}async update({oldBlock:e,newBlock:t}){const n=t,i=_Ge(e),o=(await xGe({provider:this.provider,fromBlock:i,toBlock:n})).map(a=>a.hash);this.addResults(o)}};const AGe=iU,CGe=oU,{incrementHexInt:SGe}=V8;var IGe=class extends AGe{constructor({provider:e}){super(),this.type="tx",this.provider=e}async update({oldBlock:e}){const t=e,n=SGe(e),i=await CGe({provider:this.provider,fromBlock:n,toBlock:t}),s=[];for(const o of i)s.push(...o.transactions);this.addResults(s)}};const TGe=Gfe.Mutex,{createAsyncMiddleware:RGe,createScaffoldMiddleware:kGe}=qL,MGe=gGe,NGe=EGe,PGe=IGe,{intToHex:rde,hexToInt:aU}=V8;var OGe=DGe;function DGe({blockTracker:r,provider:e}){let t=0,n={};const i=new TGe,s=$Ge({mutex:i}),o=kGe({eth_newFilter:s(cU(l)),eth_newBlockFilter:s(cU(u)),eth_newPendingTransactionFilter:s(cU(h)),eth_uninstallFilter:s(JI(w)),eth_getFilterChanges:s(JI(p)),eth_getFilterLogs:s(JI(g))}),a=async({oldBlock:N,newBlock:O})=>{if(n.length===0)return;const B=await i.acquire();try{await Promise.all(Zy(n).map(async z=>{try{await z.update({oldBlock:N,newBlock:O})}catch(G){console.error(G)}}))}catch(z){console.error(z)}B()};return o.newLogFilter=l,o.newBlockFilter=u,o.newPendingTransactionFilter=h,o.uninstallFilter=w,o.getFilterChanges=p,o.getFilterLogs=g,o.destroy=()=>{T()},o;async function l(N){const O=new MGe({provider:e,params:N});return await y(O),O}async function u(){const N=new NGe({provider:e});return await y(N),N}async function h(){const N=new PGe({provider:e});return await y(N),N}async function p(N){const O=aU(N),B=n[O];if(!B)throw new Error(`No filter for index "${O}"`);return B.getChangesAndClear()}async function g(N){const O=aU(N),B=n[O];if(!B)throw new Error(`No filter for index "${O}"`);let z=[];return B.type==="log"&&(z=B.getAllResults()),z}async function w(N){const O=aU(N),B=n[O],z=Boolean(B);return z&&await C(O),z}async function y(N){const O=Zy(n).length,B=await r.getLatestBlock();await N.initialize({currentBlock:B}),t++,n[t]=N,N.id=t,N.idHex=rde(t);const z=Zy(n).length;return k({prevFilterCount:O,newFilterCount:z}),t}async function C(N){const O=Zy(n).length;delete n[N];const B=Zy(n).length;k({prevFilterCount:O,newFilterCount:B})}async function T(){const N=Zy(n).length;n={},k({prevFilterCount:N,newFilterCount:0})}function k({prevFilterCount:N,newFilterCount:O}){if(N===0&&O>0){r.on("sync",a);return}if(N>0&&O===0){r.removeListener("sync",a);return}}}function cU(r){return JI(async(...e)=>{const t=await r(...e);return rde(t.id)})}function JI(r){return RGe(async(e,t)=>{const n=await r.apply(null,e.params);t.result=n})}function $Ge({mutex:r}){return e=>async(t,n,i,s)=>{(await r.acquire())(),e(t,n,i,s)}}function Zy(r,e){const t=[];for(let n in r)t.push(r[n]);return t}const BGe=M8.default,{createAsyncMiddleware:nde,createScaffoldMiddleware:LGe}=qL,UGe=OGe,{unsafeRandomBytes:FGe,incrementHexInt:jGe}=V8,zGe=oU;var HGe=qGe;function qGe({blockTracker:r,provider:e}){const t={},n=UGe({blockTracker:r,provider:e});let i=!1;const s=new BGe,o=LGe({eth_subscribe:nde(a),eth_unsubscribe:nde(l)});return o.destroy=h,{events:s,middleware:o};async function a(p,g){if(i)throw new Error("SubscriptionManager - attempting to use after destroying");const w=p.params[0],y=FGe(16);let C;switch(w){case"newHeads":C=T({subId:y});break;case"logs":const N=p.params[1],O=await n.newLogFilter(N);C=k({subId:y,filter:O});break;default:throw new Error(`SubscriptionManager - unsupported subscription type "${w}"`)}t[y]=C,g.result=y;return;function T({subId:N}){const O={type:w,destroy:async()=>{r.removeListener("sync",O.update)},update:async({oldBlock:B,newBlock:z})=>{const G=z,$=jGe(B);(await zGe({provider:e,fromBlock:$,toBlock:G})).map(WGe).filter(Q=>Q!==null).forEach(Q=>{u(N,Q)})}};return r.on("sync",O.update),O}function k({subId:N,filter:O}){return O.on("update",z=>u(N,z)),{type:w,destroy:async()=>await n.uninstallFilter(O.idHex)}}}async function l(p,g){if(i)throw new Error("SubscriptionManager - attempting to use after destroying");const w=p.params[0],y=t[w];if(!y){g.result=!1;return}delete t[w],await y.destroy(),g.result=!0}function u(p,g){s.emit("notification",{jsonrpc:"2.0",method:"eth_subscription",params:{subscription:p,result:g}})}function h(){s.removeAllListeners();for(const p in t)t[p].destroy(),delete t[p];i=!0}}function WGe(r){return r==null?null:{hash:r.hash,parentHash:r.parentHash,sha3Uncles:r.sha3Uncles,miner:r.miner,stateRoot:r.stateRoot,transactionsRoot:r.transactionsRoot,receiptsRoot:r.receiptsRoot,logsBloom:r.logsBloom,difficulty:r.difficulty,number:r.number,gasLimit:r.gasLimit,gasUsed:r.gasUsed,nonce:r.nonce,mixHash:r.mixHash,timestamp:r.timestamp,extraData:r.extraData}}Object.defineProperty(_I,"__esModule",{value:!0}),_I.SubscriptionManager=void 0;const VGe=mhe,GGe=HGe,ide=()=>{};class KGe{constructor(e){const t=new VGe.PollingBlockTracker({provider:e,pollingInterval:15e3,setSkipCacheFlag:!0}),{events:n,middleware:i}=GGe({blockTracker:t,provider:e});this.events=n,this.subscriptionMiddleware=i}async handleRequest(e){const t={};return await this.subscriptionMiddleware(e,t,ide,ide),t}destroy(){this.subscriptionMiddleware.destroy()}}_I.SubscriptionManager=KGe;var sde=ct&&ct.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(_y,"__esModule",{value:!0}),_y.CoinbaseWalletProvider=void 0;const ZGe=sde(wy),JGe=NLe,kn=a8,rn=mr,YGe=h8,ode=tu,YI=Ay,Qc=yy,lU=sde(nze),G8=Ey,QGe=By,XGe=_I,ade="DefaultChainId",cde="DefaultJsonRpcUrl";class eKe extends JGe.EventEmitter{constructor(e){var t,n;super(),this._filterPolyfill=new QGe.FilterPolyfill(this),this._subscriptionManager=new XGe.SubscriptionManager(this),this._relay=null,this._addresses=[],this.hasMadeFirstChainChangedEmission=!1,this.setProviderInfo=this.setProviderInfo.bind(this),this.updateProviderInfo=this.updateProviderInfo.bind(this),this.getChainId=this.getChainId.bind(this),this.setAppInfo=this.setAppInfo.bind(this),this.enable=this.enable.bind(this),this.close=this.close.bind(this),this.send=this.send.bind(this),this.sendAsync=this.sendAsync.bind(this),this.request=this.request.bind(this),this._setAddresses=this._setAddresses.bind(this),this.scanQRCode=this.scanQRCode.bind(this),this.genericRequest=this.genericRequest.bind(this),this._chainIdFromOpts=e.chainId,this._jsonRpcUrlFromOpts=e.jsonRpcUrl,this._overrideIsMetaMask=e.overrideIsMetaMask,this._relayProvider=e.relayProvider,this._storage=e.storage,this._relayEventManager=e.relayEventManager,this.diagnostic=e.diagnosticLogger,this.reloadOnDisconnect=!0,this.isCoinbaseWallet=(t=e.overrideIsCoinbaseWallet)!==null&&t!==void 0?t:!0,this.isCoinbaseBrowser=(n=e.overrideIsCoinbaseBrowser)!==null&&n!==void 0?n:!1,this.qrUrl=e.qrUrl;const i=this.getChainId(),s=(0,rn.prepend0x)(i.toString(16));this.emit("connect",{chainIdStr:s});const o=this._storage.getItem(ode.LOCAL_STORAGE_ADDRESSES_KEY);if(o){const a=o.split(" ");a[0]!==""&&(this._addresses=a.map(l=>(0,rn.ensureAddressString)(l)),this.emit("accountsChanged",a))}this._subscriptionManager.events.on("notification",a=>{this.emit("message",{type:a.method,data:a.params})}),this._isAuthorized()&&this.initializeRelay(),window.addEventListener("message",a=>{var l;if(!(a.origin!==location.origin||a.source!==window)&&a.data.type==="walletLinkMessage"&&a.data.data.action==="dappChainSwitched"){const u=a.data.data.chainId,h=(l=a.data.data.jsonRpcUrl)!==null&&l!==void 0?l:this.jsonRpcUrl;this.updateProviderInfo(h,Number(u))}})}get selectedAddress(){return this._addresses[0]||void 0}get networkVersion(){return this.getChainId().toString(10)}get chainId(){return(0,rn.prepend0x)(this.getChainId().toString(16))}get isWalletLink(){return!0}get isMetaMask(){return this._overrideIsMetaMask}get host(){return this.jsonRpcUrl}get connected(){return!0}isConnected(){return!0}get jsonRpcUrl(){var e;return(e=this._storage.getItem(cde))!==null&&e!==void 0?e:this._jsonRpcUrlFromOpts}set jsonRpcUrl(e){this._storage.setItem(cde,e)}disableReloadOnDisconnect(){this.reloadOnDisconnect=!1}setProviderInfo(e,t){this.isCoinbaseBrowser||(this._chainIdFromOpts=t,this._jsonRpcUrlFromOpts=e),this.updateProviderInfo(this.jsonRpcUrl,this.getChainId())}updateProviderInfo(e,t){this.jsonRpcUrl=e;const n=this.getChainId();this._storage.setItem(ade,t.toString(10)),((0,rn.ensureIntNumber)(t)!==n||!this.hasMadeFirstChainChangedEmission)&&(this.emit("chainChanged",this.getChainId()),this.hasMadeFirstChainChangedEmission=!0)}async watchAsset(e,t,n,i,s,o){const l=await(await this.initializeRelay()).watchAsset(e,t,n,i,s,o==null?void 0:o.toString()).promise;return(0,Qc.isErrorResponse)(l)?!1:!!l.result}async addEthereumChain(e,t,n,i,s,o){var a,l;if((0,rn.ensureIntNumber)(e)===this.getChainId())return!1;const u=await this.initializeRelay(),h=u.inlineAddEthereumChain(e.toString());!this._isAuthorized()&&!h&&await u.requestEthereumAccounts().promise;const p=await u.addEthereumChain(e.toString(),t,s,n,i,o).promise;return(0,Qc.isErrorResponse)(p)?!1:(((a=p.result)===null||a===void 0?void 0:a.isApproved)===!0&&this.updateProviderInfo(t[0],e),((l=p.result)===null||l===void 0?void 0:l.isApproved)===!0)}async switchEthereumChain(e){const n=await(await this.initializeRelay()).switchEthereumChain(e.toString(10),this.selectedAddress||void 0).promise;if((0,Qc.isErrorResponse)(n)){if(!n.errorCode)return;throw n.errorCode===kn.standardErrorCodes.provider.unsupportedChain?kn.standardErrors.provider.unsupportedChain():kn.standardErrors.provider.custom({message:n.errorMessage,code:n.errorCode})}const i=n.result;i.isApproved&&i.rpcUrl.length>0&&this.updateProviderInfo(i.rpcUrl,e)}setAppInfo(e,t){this.initializeRelay().then(n=>n.setAppInfo(e,t))}async enable(){var e;return(e=this.diagnostic)===null||e===void 0||e.log(G8.EVENTS.ETH_ACCOUNTS_STATE,{method:"provider::enable",addresses_length:this._addresses.length,sessionIdHash:this._relay?YI.Session.hash(this._relay.session.id):void 0}),this._isAuthorized()?[...this._addresses]:await this.send("eth_requestAccounts")}async close(){(await this.initializeRelay()).resetAndReload()}send(e,t){try{const n=this._send(e,t);if(n instanceof Promise)return n.catch(i=>{throw(0,kn.serializeError)(i,e)})}catch(n){throw(0,kn.serializeError)(n,e)}}_send(e,t){if(typeof e=="string"){const i=e,s=Array.isArray(t)?t:t!==void 0?[t]:[],o={jsonrpc:"2.0",id:0,method:i,params:s};return this._sendRequestAsync(o).then(a=>a.result)}if(typeof t=="function"){const i=e,s=t;return this._sendAsync(i,s)}if(Array.isArray(e))return e.map(s=>this._sendRequest(s));const n=e;return this._sendRequest(n)}async sendAsync(e,t){try{return this._sendAsync(e,t).catch(n=>{throw(0,kn.serializeError)(n,e)})}catch(n){return Promise.reject((0,kn.serializeError)(n,e))}}async _sendAsync(e,t){if(typeof t!="function")throw new Error("callback is required");if(Array.isArray(e)){const i=t;this._sendMultipleRequestsAsync(e).then(s=>i(null,s)).catch(s=>i(s,null));return}const n=t;return this._sendRequestAsync(e).then(i=>n(null,i)).catch(i=>n(i,null))}async request(e){try{return this._request(e).catch(t=>{throw(0,kn.serializeError)(t,e.method)})}catch(t){return Promise.reject((0,kn.serializeError)(t,e.method))}}async _request(e){if(!e||typeof e!="object"||Array.isArray(e))throw kn.standardErrors.rpc.invalidRequest({message:"Expected a single, non-array, object argument.",data:e});const{method:t,params:n}=e;if(typeof t!="string"||t.length===0)throw kn.standardErrors.rpc.invalidRequest({message:"'args.method' must be a non-empty string.",data:e});if(n!==void 0&&!Array.isArray(n)&&(typeof n!="object"||n===null))throw kn.standardErrors.rpc.invalidRequest({message:"'args.params' must be an object or array if provided.",data:e});const i=n===void 0?[]:n,s=this._relayEventManager.makeRequestId();return(await this._sendRequestAsync({method:t,params:i,jsonrpc:"2.0",id:s})).result}async scanQRCode(e){const n=await(await this.initializeRelay()).scanQRCode((0,rn.ensureRegExpString)(e)).promise;if((0,Qc.isErrorResponse)(n))throw(0,kn.serializeError)(n.errorMessage,"scanQRCode");if(typeof n.result!="string")throw(0,kn.serializeError)("result was not a string","scanQRCode");return n.result}async genericRequest(e,t){const i=await(await this.initializeRelay()).genericRequest(e,t).promise;if((0,Qc.isErrorResponse)(i))throw(0,kn.serializeError)(i.errorMessage,"generic");if(typeof i.result!="string")throw(0,kn.serializeError)("result was not a string","generic");return i.result}async connectAndSignIn(e){var t;(t=this.diagnostic)===null||t===void 0||t.log(G8.EVENTS.ETH_ACCOUNTS_STATE,{method:"provider::connectAndSignIn",sessionIdHash:this._relay?YI.Session.hash(this._relay.session.id):void 0});let n;try{const s=await this.initializeRelay();if(!(s instanceof YGe.MobileRelay))throw new Error("connectAndSignIn is only supported on mobile");if(n=await s.connectAndSignIn(e).promise,(0,Qc.isErrorResponse)(n))throw new Error(n.errorMessage)}catch(s){throw typeof s.message=="string"&&s.message.match(/(denied|rejected)/i)?kn.standardErrors.provider.userRejectedRequest("User denied account authorization"):s}if(!n.result)throw new Error("accounts received is empty");const{accounts:i}=n.result;return this._setAddresses(i),this.isCoinbaseBrowser||await this.switchEthereumChain(this.getChainId()),n.result}async selectProvider(e){const n=await(await this.initializeRelay()).selectProvider(e).promise;if((0,Qc.isErrorResponse)(n))throw(0,kn.serializeError)(n.errorMessage,"selectProvider");if(typeof n.result!="string")throw(0,kn.serializeError)("result was not a string","selectProvider");return n.result}supportsSubscriptions(){return!1}subscribe(){throw new Error("Subscriptions are not supported")}unsubscribe(){throw new Error("Subscriptions are not supported")}disconnect(){return!0}_sendRequest(e){const t={jsonrpc:"2.0",id:e.id},{method:n}=e;if(t.result=this._handleSynchronousMethods(e),t.result===void 0)throw new Error(`Coinbase Wallet does not support calling ${n} synchronously without a callback. Please provide a callback parameter to call ${n} asynchronously.`);return t}_setAddresses(e,t){if(!Array.isArray(e))throw new Error("addresses is not an array");const n=e.map(i=>(0,rn.ensureAddressString)(i));JSON.stringify(n)!==JSON.stringify(this._addresses)&&(this._addresses=n,this.emit("accountsChanged",this._addresses),this._storage.setItem(ode.LOCAL_STORAGE_ADDRESSES_KEY,n.join(" ")))}_sendRequestAsync(e){return new Promise((t,n)=>{try{const i=this._handleSynchronousMethods(e);if(i!==void 0)return t({jsonrpc:"2.0",id:e.id,result:i});const s=this._handleAsynchronousFilterMethods(e);if(s!==void 0){s.then(a=>t(Object.assign(Object.assign({},a),{id:e.id}))).catch(a=>n(a));return}const o=this._handleSubscriptionMethods(e);if(o!==void 0){o.then(a=>t({jsonrpc:"2.0",id:e.id,result:a.result})).catch(a=>n(a));return}}catch(i){return n(i)}this._handleAsynchronousMethods(e).then(i=>i&&t(Object.assign(Object.assign({},i),{id:e.id}))).catch(i=>n(i))})}_sendMultipleRequestsAsync(e){return Promise.all(e.map(t=>this._sendRequestAsync(t)))}_handleSynchronousMethods(e){const{method:t}=e,n=e.params||[];switch(t){case"eth_accounts":return this._eth_accounts();case"eth_coinbase":return this._eth_coinbase();case"eth_uninstallFilter":return this._eth_uninstallFilter(n);case"net_version":return this._net_version();case"eth_chainId":return this._eth_chainId();default:return}}async _handleAsynchronousMethods(e){const{method:t}=e,n=e.params||[];switch(t){case"eth_requestAccounts":return this._eth_requestAccounts();case"eth_sign":return this._eth_sign(n);case"eth_ecRecover":return this._eth_ecRecover(n);case"personal_sign":return this._personal_sign(n);case"personal_ecRecover":return this._personal_ecRecover(n);case"eth_signTransaction":return this._eth_signTransaction(n);case"eth_sendRawTransaction":return this._eth_sendRawTransaction(n);case"eth_sendTransaction":return this._eth_sendTransaction(n);case"eth_signTypedData_v1":return this._eth_signTypedData_v1(n);case"eth_signTypedData_v2":return this._throwUnsupportedMethodError();case"eth_signTypedData_v3":return this._eth_signTypedData_v3(n);case"eth_signTypedData_v4":case"eth_signTypedData":return this._eth_signTypedData_v4(n);case"cbWallet_arbitrary":return this._cbwallet_arbitrary(n);case"wallet_addEthereumChain":return this._wallet_addEthereumChain(n);case"wallet_switchEthereumChain":return this._wallet_switchEthereumChain(n);case"wallet_watchAsset":return this._wallet_watchAsset(n)}return(await this.initializeRelay()).makeEthereumJSONRPCRequest(e,this.jsonRpcUrl).catch(s=>{var o;throw(s.code===kn.standardErrorCodes.rpc.methodNotFound||s.code===kn.standardErrorCodes.rpc.methodNotSupported)&&((o=this.diagnostic)===null||o===void 0||o.log(G8.EVENTS.METHOD_NOT_IMPLEMENTED,{method:e.method,sessionIdHash:this._relay?YI.Session.hash(this._relay.session.id):void 0})),s})}_handleAsynchronousFilterMethods(e){const{method:t}=e,n=e.params||[];switch(t){case"eth_newFilter":return this._eth_newFilter(n);case"eth_newBlockFilter":return this._eth_newBlockFilter();case"eth_newPendingTransactionFilter":return this._eth_newPendingTransactionFilter();case"eth_getFilterChanges":return this._eth_getFilterChanges(n);case"eth_getFilterLogs":return this._eth_getFilterLogs(n)}}_handleSubscriptionMethods(e){switch(e.method){case"eth_subscribe":case"eth_unsubscribe":return this._subscriptionManager.handleRequest(e)}}_isKnownAddress(e){try{const t=(0,rn.ensureAddressString)(e);return this._addresses.map(i=>(0,rn.ensureAddressString)(i)).includes(t)}catch{}return!1}_ensureKnownAddress(e){var t;if(!this._isKnownAddress(e))throw(t=this.diagnostic)===null||t===void 0||t.log(G8.EVENTS.UNKNOWN_ADDRESS_ENCOUNTERED),new Error("Unknown Ethereum address")}_prepareTransactionParams(e){const t=e.from?(0,rn.ensureAddressString)(e.from):this.selectedAddress;if(!t)throw new Error("Ethereum address is unavailable");this._ensureKnownAddress(t);const n=e.to?(0,rn.ensureAddressString)(e.to):null,i=e.value!=null?(0,rn.ensureBN)(e.value):new ZGe.default(0),s=e.data?(0,rn.ensureBuffer)(e.data):Dt.alloc(0),o=e.nonce!=null?(0,rn.ensureIntNumber)(e.nonce):null,a=e.gasPrice!=null?(0,rn.ensureBN)(e.gasPrice):null,l=e.maxFeePerGas!=null?(0,rn.ensureBN)(e.maxFeePerGas):null,u=e.maxPriorityFeePerGas!=null?(0,rn.ensureBN)(e.maxPriorityFeePerGas):null,h=e.gas!=null?(0,rn.ensureBN)(e.gas):null,p=e.chainId?(0,rn.ensureIntNumber)(e.chainId):this.getChainId();return{fromAddress:t,toAddress:n,weiValue:i,data:s,nonce:o,gasPriceInWei:a,maxFeePerGas:l,maxPriorityFeePerGas:u,gasLimit:h,chainId:p}}_isAuthorized(){return this._addresses.length>0}_requireAuthorization(){if(!this._isAuthorized())throw kn.standardErrors.provider.unauthorized({})}_throwUnsupportedMethodError(){throw kn.standardErrors.provider.unsupportedMethod({})}async _signEthereumMessage(e,t,n,i){this._ensureKnownAddress(t);try{const o=await(await this.initializeRelay()).signEthereumMessage(e,t,n,i).promise;if((0,Qc.isErrorResponse)(o))throw new Error(o.errorMessage);return{jsonrpc:"2.0",id:0,result:o.result}}catch(s){throw typeof s.message=="string"&&s.message.match(/(denied|rejected)/i)?kn.standardErrors.provider.userRejectedRequest("User denied message signature"):s}}async _ethereumAddressFromSignedMessage(e,t,n){const s=await(await this.initializeRelay()).ethereumAddressFromSignedMessage(e,t,n).promise;if((0,Qc.isErrorResponse)(s))throw new Error(s.errorMessage);return{jsonrpc:"2.0",id:0,result:s.result}}_eth_accounts(){return[...this._addresses]}_eth_coinbase(){return this.selectedAddress||null}_net_version(){return this.getChainId().toString(10)}_eth_chainId(){return(0,rn.hexStringFromIntNumber)(this.getChainId())}getChainId(){const e=this._storage.getItem(ade);if(!e)return(0,rn.ensureIntNumber)(this._chainIdFromOpts);const t=parseInt(e,10);return(0,rn.ensureIntNumber)(t)}async _eth_requestAccounts(){var e;if((e=this.diagnostic)===null||e===void 0||e.log(G8.EVENTS.ETH_ACCOUNTS_STATE,{method:"provider::_eth_requestAccounts",addresses_length:this._addresses.length,sessionIdHash:this._relay?YI.Session.hash(this._relay.session.id):void 0}),this._isAuthorized())return Promise.resolve({jsonrpc:"2.0",id:0,result:this._addresses});let t;try{if(t=await(await this.initializeRelay()).requestEthereumAccounts().promise,(0,Qc.isErrorResponse)(t))throw new Error(t.errorMessage)}catch(n){throw typeof n.message=="string"&&n.message.match(/(denied|rejected)/i)?kn.standardErrors.provider.userRejectedRequest("User denied account authorization"):n}if(!t.result)throw new Error("accounts received is empty");return this._setAddresses(t.result),this.isCoinbaseBrowser||await this.switchEthereumChain(this.getChainId()),{jsonrpc:"2.0",id:0,result:this._addresses}}_eth_sign(e){this._requireAuthorization();const t=(0,rn.ensureAddressString)(e[0]),n=(0,rn.ensureBuffer)(e[1]);return this._signEthereumMessage(n,t,!1)}_eth_ecRecover(e){const t=(0,rn.ensureBuffer)(e[0]),n=(0,rn.ensureBuffer)(e[1]);return this._ethereumAddressFromSignedMessage(t,n,!1)}_personal_sign(e){this._requireAuthorization();const t=(0,rn.ensureBuffer)(e[0]),n=(0,rn.ensureAddressString)(e[1]);return this._signEthereumMessage(t,n,!0)}_personal_ecRecover(e){const t=(0,rn.ensureBuffer)(e[0]),n=(0,rn.ensureBuffer)(e[1]);return this._ethereumAddressFromSignedMessage(t,n,!0)}async _eth_signTransaction(e){this._requireAuthorization();const t=this._prepareTransactionParams(e[0]||{});try{const i=await(await this.initializeRelay()).signEthereumTransaction(t).promise;if((0,Qc.isErrorResponse)(i))throw new Error(i.errorMessage);return{jsonrpc:"2.0",id:0,result:i.result}}catch(n){throw typeof n.message=="string"&&n.message.match(/(denied|rejected)/i)?kn.standardErrors.provider.userRejectedRequest("User denied transaction signature"):n}}async _eth_sendRawTransaction(e){const t=(0,rn.ensureBuffer)(e[0]),i=await(await this.initializeRelay()).submitEthereumTransaction(t,this.getChainId()).promise;if((0,Qc.isErrorResponse)(i))throw new Error(i.errorMessage);return{jsonrpc:"2.0",id:0,result:i.result}}async _eth_sendTransaction(e){this._requireAuthorization();const t=this._prepareTransactionParams(e[0]||{});try{const i=await(await this.initializeRelay()).signAndSubmitEthereumTransaction(t).promise;if((0,Qc.isErrorResponse)(i))throw new Error(i.errorMessage);return{jsonrpc:"2.0",id:0,result:i.result}}catch(n){throw typeof n.message=="string"&&n.message.match(/(denied|rejected)/i)?kn.standardErrors.provider.userRejectedRequest("User denied transaction signature"):n}}async _eth_signTypedData_v1(e){this._requireAuthorization();const t=(0,rn.ensureParsedJSONObject)(e[0]),n=(0,rn.ensureAddressString)(e[1]);this._ensureKnownAddress(n);const i=lU.default.hashForSignTypedDataLegacy({data:t}),s=JSON.stringify(t,null,2);return this._signEthereumMessage(i,n,!1,s)}async _eth_signTypedData_v3(e){this._requireAuthorization();const t=(0,rn.ensureAddressString)(e[0]),n=(0,rn.ensureParsedJSONObject)(e[1]);this._ensureKnownAddress(t);const i=lU.default.hashForSignTypedData_v3({data:n}),s=JSON.stringify(n,null,2);return this._signEthereumMessage(i,t,!1,s)}async _eth_signTypedData_v4(e){this._requireAuthorization();const t=(0,rn.ensureAddressString)(e[0]),n=(0,rn.ensureParsedJSONObject)(e[1]);this._ensureKnownAddress(t);const i=lU.default.hashForSignTypedData_v4({data:n}),s=JSON.stringify(n,null,2);return this._signEthereumMessage(i,t,!1,s)}async _cbwallet_arbitrary(e){const t=e[0],n=e[1];if(typeof n!="string")throw new Error("parameter must be a string");if(typeof t!="object"||t===null)throw new Error("parameter must be an object");return{jsonrpc:"2.0",id:0,result:await this.genericRequest(t,n)}}async _wallet_addEthereumChain(e){var t,n,i,s;const o=e[0];if(((t=o.rpcUrls)===null||t===void 0?void 0:t.length)===0)return{jsonrpc:"2.0",id:0,error:{code:2,message:"please pass in at least 1 rpcUrl"}};if(!o.chainName||o.chainName.trim()==="")throw kn.standardErrors.rpc.invalidParams("chainName is a required field");if(!o.nativeCurrency)throw kn.standardErrors.rpc.invalidParams("nativeCurrency is a required field");const a=parseInt(o.chainId,16);return await this.addEthereumChain(a,(n=o.rpcUrls)!==null&&n!==void 0?n:[],(i=o.blockExplorerUrls)!==null&&i!==void 0?i:[],o.chainName,(s=o.iconUrls)!==null&&s!==void 0?s:[],o.nativeCurrency)?{jsonrpc:"2.0",id:0,result:null}:{jsonrpc:"2.0",id:0,error:{code:2,message:"unable to add ethereum chain"}}}async _wallet_switchEthereumChain(e){const t=e[0];return await this.switchEthereumChain(parseInt(t.chainId,16)),{jsonrpc:"2.0",id:0,result:null}}async _wallet_watchAsset(e){const t=Array.isArray(e)?e[0]:e;if(!t.type)throw kn.standardErrors.rpc.invalidParams("Type is required");if((t==null?void 0:t.type)!=="ERC20")throw kn.standardErrors.rpc.invalidParams(`Asset of type '${t.type}' is not supported`);if(!(t!=null&&t.options))throw kn.standardErrors.rpc.invalidParams("Options are required");if(!(t!=null&&t.options.address))throw kn.standardErrors.rpc.invalidParams("Address is required");const n=this.getChainId(),{address:i,symbol:s,image:o,decimals:a}=t.options;return{jsonrpc:"2.0",id:0,result:await this.watchAsset(t.type,i,s,a,o,n)}}_eth_uninstallFilter(e){const t=(0,rn.ensureHexString)(e[0]);return this._filterPolyfill.uninstallFilter(t)}async _eth_newFilter(e){const t=e[0];return{jsonrpc:"2.0",id:0,result:await this._filterPolyfill.newFilter(t)}}async _eth_newBlockFilter(){return{jsonrpc:"2.0",id:0,result:await this._filterPolyfill.newBlockFilter()}}async _eth_newPendingTransactionFilter(){return{jsonrpc:"2.0",id:0,result:await this._filterPolyfill.newPendingTransactionFilter()}}_eth_getFilterChanges(e){const t=(0,rn.ensureHexString)(e[0]);return this._filterPolyfill.getFilterChanges(t)}_eth_getFilterLogs(e){const t=(0,rn.ensureHexString)(e[0]);return this._filterPolyfill.getFilterLogs(t)}initializeRelay(){return this._relay?Promise.resolve(this._relay):this._relayProvider().then(e=>(e.setAccountsCallback((t,n)=>this._setAddresses(t,n)),e.setChainCallback((t,n)=>{this.updateProviderInfo(n,parseInt(t,10))}),e.setDappDefaultChainCallback(this._chainIdFromOpts),this._relay=e,e))}}_y.CoinbaseWalletProvider=eKe;var QI={};Object.defineProperty(QI,"__esModule",{value:!0}),QI.RelayEventManager=void 0;const tKe=mr;class rKe{constructor(){this._nextRequestId=0,this.callbacks=new Map}makeRequestId(){this._nextRequestId=(this._nextRequestId+1)%2147483647;const e=this._nextRequestId,t=(0,tKe.prepend0x)(e.toString(16));return this.callbacks.get(t)&&this.callbacks.delete(t),e}}QI.RelayEventManager=rKe,Object.defineProperty(o8,"__esModule",{value:!0}),o8.CoinbaseWalletSDK=void 0;const nKe=OS,iKe=DS,lde=mr,sKe=FS,oKe=_y,aKe=h8,cKe=S8,lKe=QI,uKe=b8,hKe=f8,ude=xy;class XI{constructor(e){var t,n,i;this._appName="",this._appLogoUrl=null,this._relay=null,this._relayEventManager=null;const s=e.linkAPIUrl||iKe.LINK_API_URL;typeof e.overrideIsMetaMask>"u"?this._overrideIsMetaMask=!1:this._overrideIsMetaMask=e.overrideIsMetaMask,this._overrideIsCoinbaseWallet=(t=e.overrideIsCoinbaseWallet)!==null&&t!==void 0?t:!0,this._overrideIsCoinbaseBrowser=(n=e.overrideIsCoinbaseBrowser)!==null&&n!==void 0?n:!1,this._diagnosticLogger=e.diagnosticLogger,this._reloadOnDisconnect=(i=e.reloadOnDisconnect)!==null&&i!==void 0?i:!0;const o=new URL(s),a=`${o.protocol}//${o.host}`;if(this._storage=new sKe.ScopedLocalStorage(`-walletlink:${a}`),this._storage.setItem("version",XI.VERSION),this.walletExtension||this.coinbaseBrowser)return;this._relayEventManager=new lKe.RelayEventManager;const l=(0,lde.isMobileWeb)(),u=e.uiConstructor||(p=>l?new cKe.MobileRelayUI(p):new uKe.WalletLinkRelayUI(p)),h={linkAPIUrl:s,version:ude.LIB_VERSION,darkMode:!!e.darkMode,uiConstructor:u,storage:this._storage,relayEventManager:this._relayEventManager,diagnosticLogger:this._diagnosticLogger,reloadOnDisconnect:this._reloadOnDisconnect,enableMobileWalletLink:e.enableMobileWalletLink};this._relay=l?new aKe.MobileRelay(h):new hKe.WalletLinkRelay(h),this.setAppInfo(e.appName,e.appLogoUrl),!e.headlessMode&&this._relay.attachUI()}makeWeb3Provider(e="",t=1){const n=this.walletExtension;if(n)return this.isCipherProvider(n)||n.setProviderInfo(e,t),this._reloadOnDisconnect===!1&&typeof n.disableReloadOnDisconnect=="function"&&n.disableReloadOnDisconnect(),n;const i=this.coinbaseBrowser;if(i)return i;const s=this._relay;if(!s||!this._relayEventManager||!this._storage)throw new Error("Relay not initialized, should never happen");return e||s.setConnectDisabled(!0),new oKe.CoinbaseWalletProvider({relayProvider:()=>Promise.resolve(s),relayEventManager:this._relayEventManager,storage:this._storage,jsonRpcUrl:e,chainId:t,qrUrl:this.getQrUrl(),diagnosticLogger:this._diagnosticLogger,overrideIsMetaMask:this._overrideIsMetaMask,overrideIsCoinbaseWallet:this._overrideIsCoinbaseWallet,overrideIsCoinbaseBrowser:this._overrideIsCoinbaseBrowser})}setAppInfo(e,t){var n;this._appName=e||"DApp",this._appLogoUrl=t||(0,lde.getFavicon)();const i=this.walletExtension;i?this.isCipherProvider(i)||i.setAppInfo(this._appName,this._appLogoUrl):(n=this._relay)===null||n===void 0||n.setAppInfo(this._appName,this._appLogoUrl)}disconnect(){var e;const t=this===null||this===void 0?void 0:this.walletExtension;t?t.close():(e=this._relay)===null||e===void 0||e.resetAndReload()}getQrUrl(){var e,t;return(t=(e=this._relay)===null||e===void 0?void 0:e.getQRCodeUrl())!==null&&t!==void 0?t:null}getCoinbaseWalletLogo(e,t=240){return(0,nKe.walletLogo)(e,t)}get walletExtension(){var e;return(e=window.coinbaseWalletExtension)!==null&&e!==void 0?e:window.walletLinkExtension}get coinbaseBrowser(){var e,t;try{const n=(e=window.ethereum)!==null&&e!==void 0?e:(t=window.top)===null||t===void 0?void 0:t.ethereum;return n&&"isCoinbaseBrowser"in n&&n.isCoinbaseBrowser?n:void 0}catch{return}}isCipherProvider(e){return typeof e.isCipher=="boolean"&&e.isCipher}}o8.CoinbaseWalletSDK=XI,XI.VERSION=ude.LIB_VERSION,function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.CoinbaseWalletProvider=r.CoinbaseWalletSDK=void 0;const e=o8,t=_y;var n=o8;Object.defineProperty(r,"CoinbaseWalletSDK",{enumerable:!0,get:function(){return n.CoinbaseWalletSDK}});var i=_y;Object.defineProperty(r,"CoinbaseWalletProvider",{enumerable:!0,get:function(){return i.CoinbaseWalletProvider}}),r.default=e.CoinbaseWalletSDK,typeof window<"u"&&(window.CoinbaseWalletSDK=e.CoinbaseWalletSDK,window.CoinbaseWalletProvider=t.CoinbaseWalletProvider,window.WalletLink=e.CoinbaseWalletSDK,window.WalletLinkProvider=t.CoinbaseWalletProvider)}(sle);function fKe(r){const{enableEIP6963:e=!0,enableInjected:t=!0,enableCoinbase:n=!0,enableEmail:i=!1,metadata:s,rpcUrl:o,defaultChainId:a}=r;let l,u;const h={metadata:s};function p(){if(l)return l;if(!(typeof window>"u")&&window.ethereum)return l=window.ethereum,l}function g(){return u||(typeof window>"u"?void 0:(u=new sle.CoinbaseWalletSDK({appName:s.name,appLogoUrl:s.icons[0],darkMode:!1,enableMobileWalletLink:!0}).makeWeb3Provider(o,a),u))}return t&&(h.injected=p()),n&&o&&a&&(h.coinbase=g()),e&&(h.EIP6963=!0),i&&(h.email=!0),h}function dKe(r){return new tLe({...r,_sdkVersion:`html-ethers-${Jt.VERSION}`})}let js,hde;const pKe=NA.getAll().map(r=>({chainId:r.id,name:r.name??r.nativeCurrency.symbol,currency:r.nativeCurrency.symbol,explorerUrl:r.explorerUrl,rpcUrl:r.rpcUrl})).filter(r=>r);let uU,hU=!1,fU,fde;const gKe=r=>{if(js!==void 0)return js;const e=fKe({metadata:r.metadata,enableEIP6963:r.enableEIP6963,enableInjected:r.enableInjected,enableCoinbase:r.enableCoinbase});return js=dKe({chains:pKe,ethersConfig:e,projectId:r.projectId,themeMode:r.themeMode,customWallets:r.customWallets,allowUnsupportedChain:!0,themeVariables:{"--w3m-z-index":999999999999}}),r.events!==void 0&&r.events.forEach(t=>{js==null||js.subscribeEvents(n=>{t(n,js)})}),js.subscribeEvents(async t=>{t.data.event==="SELECT_WALLET"&&(hU=!0),t.data.event==="MODAL_CLOSE"&&(hU?hU=!1:fU(new Error(kr.CLOSED_WALLETCONNECT_MODAL)))}),js.subscribeProvider(async({provider:t,chainId:n})=>{t!==void 0&&(uU.chainId!==n&&await(js==null?void 0:js.switchNetwork(uU.chainId).catch(()=>{fU(new Error(kr.WALLET_CONNECT_REJECTED))})),fde(hde=t))}),js},mKe={modal:js,id:"web3modal",name:"Web3Modal",icon:$p.web3modal,provider:hde,platforms:[Po.UNIVERSAL],isDetected:()=>!0,isConnected:()=>js===void 0?!1:js.getIsConnected(),disconnect:async()=>{Object.keys(localStorage).filter(r=>r.startsWith("wc@2")||r.startsWith("@w3m")||r.startsWith("W3M")||r.startsWith("-walletlink")).forEach(r=>{localStorage.removeItem(r)}),(js==null?void 0:js.disconnect)!==void 0&&await js.disconnect()},connect:async(r,e)=>{const t=e;if(r===void 0)throw new Error(kr.PROVIDER_IS_REQUIRED);if(t===void 0)throw new Error(kr.CONFIG_IS_REQUIRED);if(t.projectId===void 0)throw new Error(kr.PROJECT_ID_IS_REQUIRED);if(t.metadata===void 0)throw new Error(kr.METADATA_IS_REQUIRED);const n=r.network;return uU={chainId:n.id,name:n.name??n.nativeCurrency.symbol,currency:n.nativeCurrency.symbol,explorerUrl:n.explorerUrl,rpcUrl:n.rpcUrl},await new Promise((i,s)=>{try{const o=gKe(t);fU=async a=>{await o.disconnect(),s(a)},fde=i,o.open({view:"Connect"})}catch(o){s(o)}})}},bKe={id:"okxwallet",name:"OkxWallet",icon:$p.okxWallet,provider:window==null?void 0:window.okxwallet,downloadLink:"https://www.okx.com/download",platforms:[Po.BROWSER,Po.MOBILE],createDeepLink:r=>`okx://wallet/dapp/details?dappUrl=${r}`,isDetected:()=>Boolean(window==null?void 0:window.okxwallet),isConnected:async()=>{var r;return Boolean((await((r=window==null?void 0:window.okxwallet)==null?void 0:r.request({method:"eth_accounts"}))).length)},connect:async r=>await new Promise((e,t)=>{const n=window==null?void 0:window.okxwallet;try{n==null||n.request({method:"eth_requestAccounts"}).then(()=>{gv(n,r).then(()=>{e(n)}).catch(i=>{t(i)})}).catch(i=>{t(i)})}catch(i){t(i)}})},wKe={id:"xdefiwallet",name:"XdefiWallet",icon:$p.xdefiWallet,provider:(mge=window==null?void 0:window.xfi)==null?void 0:mge.ethereum,downloadLink:"https://www.xdefi.io/",platforms:[Po.BROWSER],isDetected:()=>{var r;return Boolean((r=window==null?void 0:window.xfi)==null?void 0:r.ethereum)},isConnected:async()=>{var r,e;return Boolean((await((e=(r=window==null?void 0:window.xfi)==null?void 0:r.ethereum)==null?void 0:e.request({method:"eth_accounts"}))).length)},connect:async r=>await new Promise((e,t)=>{var i;const n=(i=window==null?void 0:window.xfi)==null?void 0:i.ethereum;try{n==null||n.request({method:"eth_requestAccounts"}).then(()=>{gv(n,r).then(()=>{e(n)}).catch(s=>{t(s)})}).catch(s=>{t(s)})}catch(s){t(s)}})},vKe={id:"trustwallet",name:"TrustWallet",icon:$p.trustWallet,provider:(bge=window==null?void 0:window.ethereum)!=null&&bge.isTrust?window.ethereum:window.trustwallet,downloadLink:"https://trustwallet.com/download",platforms:[Po.BROWSER,Po.MOBILE],isDetected:()=>{var r;return Boolean(((r=window==null?void 0:window.ethereum)==null?void 0:r.isTrust)??(window==null?void 0:window.trustwallet))},isConnected:async()=>{var e;const r=(e=window==null?void 0:window.ethereum)!=null&&e.isTrust?window.ethereum:window.trustwallet;return Boolean((await(r==null?void 0:r.request({method:"eth_accounts"}))).length)},connect:async r=>await new Promise((e,t)=>{var n;try{const i=(n=window==null?void 0:window.ethereum)!=null&&n.isTrust?window.ethereum:window.trustwallet;i==null||i.request({method:"eth_requestAccounts"}).then(()=>{var s;if(((s=window==null?void 0:window.ethereum)==null?void 0:s.isTrust)!==void 0&&(r==null?void 0:r.isTestnet())===!0){e(i);return}gv(i,r).then(()=>{e(i)}).catch(o=>{t(o)})}).catch(s=>{t(s)})}catch(i){t(i)}})},yKe={id:"bitgetwallet",name:"BitgetWallet",icon:$p.bitgetWallet,provider:(wge=window==null?void 0:window.bitkeep)==null?void 0:wge.ethereum,downloadLink:"https://web3.bitget.com/en/wallet-download?type=3",platforms:[Po.BROWSER,Po.MOBILE],createDeepLink:r=>`https://bkcode.vip?action=dapp&url=${r}`,isDetected:()=>{var r;return Boolean((r=window==null?void 0:window.bitkeep)==null?void 0:r.ethereum)},isConnected:async()=>{var r,e;return Boolean((await((e=(r=window==null?void 0:window.bitkeep)==null?void 0:r.ethereum)==null?void 0:e.request({method:"eth_accounts"}))).length)},connect:async r=>await new Promise((e,t)=>{var i;const n=(i=window==null?void 0:window.bitkeep)==null?void 0:i.ethereum;try{n==null||n.request({method:"eth_requestAccounts"}).then(()=>{gv(n,r).then(()=>{e(n)}).catch(s=>{t(s)})}).catch(s=>{t(s)})}catch(s){t(s)}})},xKe=":";function eT(r){const[e,t]=r.split(xKe);return{namespace:e,reference:t}}function dde(r,e=[]){const t=[];return Object.keys(r).forEach(n=>{if(e.length&&!e.includes(n))return;const i=r[n];t.push(...i.accounts)}),t}function pde(r,e){return r.includes(":")?[r]:e.chains||[]}var _Ke=Object.defineProperty,gde=Object.getOwnPropertySymbols,EKe=Object.prototype.hasOwnProperty,AKe=Object.prototype.propertyIsEnumerable,mde=(r,e,t)=>e in r?_Ke(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,bde=(r,e)=>{for(var t in e||(e={}))EKe.call(e,t)&&mde(r,t,e[t]);if(gde)for(var t of gde(e))AKe.call(e,t)&&mde(r,t,e[t]);return r};const CKe="ReactNative",Xc={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"},SKe="js";function K8(){return typeof yt<"u"&&typeof yt.versions<"u"&&typeof yt.versions.node<"u"}function Jy(){return!U6()&&!!F6()&&navigator.product===CKe}function Yy(){return!K8()&&!!F6()&&!!U6()}function Z8(){return Jy()?Xc.reactNative:K8()?Xc.node:Yy()?Xc.browser:Xc.unknown}function IKe(){var r;try{return Jy()&&typeof dr<"u"&&typeof(dr==null?void 0:dr.Application)<"u"?(r=dr.Application)==null?void 0:r.applicationId:void 0}catch{return}}function TKe(r,e){let t=zd.parse(r);return t=bde(bde({},t),e),r=zd.stringify(t),r}function RKe(){return F$()||{name:"",description:"",url:"",icons:[""]}}function kKe(){if(Z8()===Xc.reactNative&&typeof dr<"u"&&typeof(dr==null?void 0:dr.Platform)<"u"){const{OS:t,Version:n}=dr.Platform;return[t,n].join("-")}const r=Soe();if(r===null)return"unknown";const e=r.os?r.os.replace(" ","").toLowerCase():"unknown";return r.type==="browser"?[e,r.name,r.version].join("-"):[e,r.version].join("-")}function MKe(){var r;const e=Z8();return e===Xc.browser?[e,((r=L$())==null?void 0:r.host)||"unknown"].join(":"):e}function NKe(r,e,t){const n=kKe(),i=MKe();return[[r,e].join("-"),[SKe,t].join("-"),n,i].join("/")}function PKe({protocol:r,version:e,relayUrl:t,sdkVersion:n,auth:i,projectId:s,useOnCloseEvent:o,bundleId:a}){const l=t.split("?"),u=NKe(r,e,n),h={auth:i,ua:u,projectId:s,useOnCloseEvent:o||void 0,origin:a||void 0},p=TKe(l[1]||"",h);return l[0]+"?"+p}function a2(r,e){return r.filter(t=>e.includes(t)).length===r.length}function wde(r){return Object.fromEntries(r.entries())}function vde(r){return new Map(Object.entries(r))}function c2(r=Ye.FIVE_MINUTES,e){const t=Ye.toMiliseconds(r||Ye.FIVE_MINUTES);let n,i,s;return{resolve:o=>{s&&n&&(clearTimeout(s),n(o))},reject:o=>{s&&i&&(clearTimeout(s),i(o))},done:()=>new Promise((o,a)=>{s=setTimeout(()=>{a(new Error(e))},t),n=o,i=a})}}function J8(r,e,t){return new Promise(async(n,i)=>{const s=setTimeout(()=>i(new Error(t)),e);try{const o=await r;n(o)}catch(o){i(o)}clearTimeout(s)})}function yde(r,e){if(typeof e=="string"&&e.startsWith(`${r}:`))return e;if(r.toLowerCase()==="topic"){if(typeof e!="string")throw new Error('Value must be "string" for expirer target type: topic');return`topic:${e}`}else if(r.toLowerCase()==="id"){if(typeof e!="number")throw new Error('Value must be "number" for expirer target type: id');return`id:${e}`}throw new Error(`Unknown expirer target type: ${r}`)}function OKe(r){return yde("topic",r)}function DKe(r){return yde("id",r)}function xde(r){const[e,t]=r.split(":"),n={id:void 0,topic:void 0};if(e==="topic"&&typeof t=="string")n.topic=t;else if(e==="id"&&Number.isInteger(Number(t)))n.id=Number(t);else throw new Error(`Invalid target, expected id:number or topic:string, got ${e}:${t}`);return n}function wa(r,e){return Ye.fromMiliseconds((e||Date.now())+Ye.toMiliseconds(r))}function E1(r){return Date.now()>=Ye.toMiliseconds(r)}function hn(r,e){return`${r}${e?`:${e}`:""}`}function tT(r=[],e=[]){return[...new Set([...r,...e])]}async function $Ke({id:r,topic:e,wcDeepLink:t}){try{if(!t)return;const n=typeof t=="string"?JSON.parse(t):t;let i=n==null?void 0:n.href;if(typeof i!="string")return;i.endsWith("/")&&(i=i.slice(0,-1));const s=`${i}/wc?requestId=${r}&sessionTopic=${e}`,o=Z8();o===Xc.browser?s.startsWith("https://")||s.startsWith("http://")?window.open(s,"_blank","noreferrer noopener"):window.open(s,"_self","noreferrer noopener"):o===Xc.reactNative&&typeof(dr==null?void 0:dr.Linking)<"u"&&await dr.Linking.openURL(s)}catch(n){console.error(n)}}async function BKe(r,e){try{return await r.getItem(e)||(Yy()?localStorage.getItem(e):void 0)}catch(t){console.error(t)}}var _de=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof dr<"u"?dr:typeof self<"u"?self:{};function LKe(r){var e=r.default;if(typeof e=="function"){var t=function(){return e.apply(this,arguments)};t.prototype=e.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(r).forEach(function(n){var i=Object.getOwnPropertyDescriptor(r,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:function(){return r[n]}})}),t}var Ede={exports:{}};/** * [js-sha3]{@link https://github.com/emn178/js-sha3} * * @version 0.8.0 * @author Chen, Yi-Cyuan [emn178@gmail.com] * @copyright Chen, Yi-Cyuan 2015-2018 * @license MIT -*/(function(r){(function(){var e="input is invalid type",t="finalize already called",n=typeof window=="object",i=n?window:{};i.JS_SHA3_NO_WINDOW&&(n=!1);var s=!n&&typeof self=="object",o=!i.JS_SHA3_NO_NODE_JS&&typeof yt=="object"&&yt.versions&&yt.versions.node;o?i=Rde:s&&(i=self);var a=!i.JS_SHA3_NO_COMMON_JS&&!0&&r.exports,l=!i.JS_SHA3_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",u="0123456789abcdef".split(""),h=[31,7936,2031616,520093696],p=[4,1024,262144,67108864],g=[1,256,65536,16777216],w=[6,1536,393216,100663296],y=[0,8,16,24],C=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],R=[224,256,384,512],k=[128,256],M=["hex","buffer","arrayBuffer","array","digest"],O={128:168,256:136};(i.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(q){return Object.prototype.toString.call(q)==="[object Array]"}),l&&(i.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(q){return typeof q=="object"&&q.buffer&&q.buffer.constructor===ArrayBuffer});for(var B=function(q,Y,K){return function(ee){return new _(q,Y,q).update(ee)[K]()}},j=function(q,Y,K){return function(ee,re){return new _(q,Y,re).update(ee)[K]()}},G=function(q,Y,K){return function(ee,re,z,L){return d["cshake"+q].update(ee,re,z,L)[K]()}},D=function(q,Y,K){return function(ee,re,z,L){return d["kmac"+q].update(ee,re,z,L)[K]()}},$=function(q,Y,K,ee){for(var re=0;re>5,this.byteCount=this.blockCount<<2,this.outputBlocks=K>>5,this.extraBytes=(K&31)>>3;for(var ee=0;ee<50;++ee)this.s[ee]=0}_.prototype.update=function(q){if(this.finalized)throw new Error(t);var Y,K=typeof q;if(K!=="string"){if(K==="object"){if(q===null)throw new Error(e);if(l&&q.constructor===ArrayBuffer)q=new Uint8Array(q);else if(!Array.isArray(q)&&(!l||!ArrayBuffer.isView(q)))throw new Error(e)}else throw new Error(e);Y=!0}for(var ee=this.blocks,re=this.byteCount,z=q.length,L=this.blockCount,H=0,le=this.s,de,Se;H>2]|=q[H]<>2]|=Se<>2]|=(192|Se>>6)<>2]|=(128|Se&63)<=57344?(ee[de>>2]|=(224|Se>>12)<>2]|=(128|Se>>6&63)<>2]|=(128|Se&63)<>2]|=(240|Se>>18)<>2]|=(128|Se>>12&63)<>2]|=(128|Se>>6&63)<>2]|=(128|Se&63)<=re){for(this.start=de-re,this.block=ee[L],de=0;de>8,K=q&255;K>0;)re.unshift(K),q=q>>8,K=q&255,++ee;return Y?re.push(ee):re.unshift(ee),this.update(re),re.length},_.prototype.encodeString=function(q){var Y,K=typeof q;if(K!=="string"){if(K==="object"){if(q===null)throw new Error(e);if(l&&q.constructor===ArrayBuffer)q=new Uint8Array(q);else if(!Array.isArray(q)&&(!l||!ArrayBuffer.isView(q)))throw new Error(e)}else throw new Error(e);Y=!0}var ee=0,re=q.length;if(Y)ee=re;else for(var z=0;z=57344?ee+=3:(L=65536+((L&1023)<<10|q.charCodeAt(++z)&1023),ee+=4)}return ee+=this.encode(ee*8),this.update(q),ee},_.prototype.bytepad=function(q,Y){for(var K=this.encode(Y),ee=0;ee>2]|=this.padding[Y&3],this.lastByteIndex===this.byteCount)for(q[0]=q[K],Y=1;Y>4&15]+u[H&15]+u[H>>12&15]+u[H>>8&15]+u[H>>20&15]+u[H>>16&15]+u[H>>28&15]+u[H>>24&15];z%q===0&&(ie(Y),re=0)}return ee&&(H=Y[re],L+=u[H>>4&15]+u[H&15],ee>1&&(L+=u[H>>12&15]+u[H>>8&15]),ee>2&&(L+=u[H>>20&15]+u[H>>16&15])),L},_.prototype.arrayBuffer=function(){this.finalize();var q=this.blockCount,Y=this.s,K=this.outputBlocks,ee=this.extraBytes,re=0,z=0,L=this.outputBits>>3,H;ee?H=new ArrayBuffer(K+1<<2):H=new ArrayBuffer(L);for(var le=new Uint32Array(H);z>8&255,L[H+2]=le>>16&255,L[H+3]=le>>24&255;z%q===0&&ie(Y)}return ee&&(H=z<<2,le=Y[re],L[H]=le&255,ee>1&&(L[H+1]=le>>8&255),ee>2&&(L[H+2]=le>>16&255)),L};function U(q,Y,K){_.call(this,q,Y,K)}U.prototype=new _,U.prototype.finalize=function(){return this.encode(this.outputBits,!0),_.prototype.finalize.call(this)};var ie=function(q){var Y,K,ee,re,z,L,H,le,de,Se,Me,ke,Ke,Te,je,De,Je,ze,qe,Ve,He,Be,Ge,Xe,se,J,Q,ue,we,ye,Ie,it,ot,tt,It,st,Nt,Lt,ht,wt,Ut,ft,dt,Vt,xt,pt,Gt,gt,vt,Ft,lt,_t,Kt,zt,Ht,br,Rt,ur,Yn,Qn,Xn,ei,gn;for(ee=0;ee<48;ee+=2)re=q[0]^q[10]^q[20]^q[30]^q[40],z=q[1]^q[11]^q[21]^q[31]^q[41],L=q[2]^q[12]^q[22]^q[32]^q[42],H=q[3]^q[13]^q[23]^q[33]^q[43],le=q[4]^q[14]^q[24]^q[34]^q[44],de=q[5]^q[15]^q[25]^q[35]^q[45],Se=q[6]^q[16]^q[26]^q[36]^q[46],Me=q[7]^q[17]^q[27]^q[37]^q[47],ke=q[8]^q[18]^q[28]^q[38]^q[48],Ke=q[9]^q[19]^q[29]^q[39]^q[49],Y=ke^(L<<1|H>>>31),K=Ke^(H<<1|L>>>31),q[0]^=Y,q[1]^=K,q[10]^=Y,q[11]^=K,q[20]^=Y,q[21]^=K,q[30]^=Y,q[31]^=K,q[40]^=Y,q[41]^=K,Y=re^(le<<1|de>>>31),K=z^(de<<1|le>>>31),q[2]^=Y,q[3]^=K,q[12]^=Y,q[13]^=K,q[22]^=Y,q[23]^=K,q[32]^=Y,q[33]^=K,q[42]^=Y,q[43]^=K,Y=L^(Se<<1|Me>>>31),K=H^(Me<<1|Se>>>31),q[4]^=Y,q[5]^=K,q[14]^=Y,q[15]^=K,q[24]^=Y,q[25]^=K,q[34]^=Y,q[35]^=K,q[44]^=Y,q[45]^=K,Y=le^(ke<<1|Ke>>>31),K=de^(Ke<<1|ke>>>31),q[6]^=Y,q[7]^=K,q[16]^=Y,q[17]^=K,q[26]^=Y,q[27]^=K,q[36]^=Y,q[37]^=K,q[46]^=Y,q[47]^=K,Y=Se^(re<<1|z>>>31),K=Me^(z<<1|re>>>31),q[8]^=Y,q[9]^=K,q[18]^=Y,q[19]^=K,q[28]^=Y,q[29]^=K,q[38]^=Y,q[39]^=K,q[48]^=Y,q[49]^=K,Te=q[0],je=q[1],pt=q[11]<<4|q[10]>>>28,Gt=q[10]<<4|q[11]>>>28,ue=q[20]<<3|q[21]>>>29,we=q[21]<<3|q[20]>>>29,Qn=q[31]<<9|q[30]>>>23,Xn=q[30]<<9|q[31]>>>23,ft=q[40]<<18|q[41]>>>14,dt=q[41]<<18|q[40]>>>14,tt=q[2]<<1|q[3]>>>31,It=q[3]<<1|q[2]>>>31,De=q[13]<<12|q[12]>>>20,Je=q[12]<<12|q[13]>>>20,gt=q[22]<<10|q[23]>>>22,vt=q[23]<<10|q[22]>>>22,ye=q[33]<<13|q[32]>>>19,Ie=q[32]<<13|q[33]>>>19,ei=q[42]<<2|q[43]>>>30,gn=q[43]<<2|q[42]>>>30,zt=q[5]<<30|q[4]>>>2,Ht=q[4]<<30|q[5]>>>2,st=q[14]<<6|q[15]>>>26,Nt=q[15]<<6|q[14]>>>26,ze=q[25]<<11|q[24]>>>21,qe=q[24]<<11|q[25]>>>21,Ft=q[34]<<15|q[35]>>>17,lt=q[35]<<15|q[34]>>>17,it=q[45]<<29|q[44]>>>3,ot=q[44]<<29|q[45]>>>3,Xe=q[6]<<28|q[7]>>>4,se=q[7]<<28|q[6]>>>4,br=q[17]<<23|q[16]>>>9,Rt=q[16]<<23|q[17]>>>9,Lt=q[26]<<25|q[27]>>>7,ht=q[27]<<25|q[26]>>>7,Ve=q[36]<<21|q[37]>>>11,He=q[37]<<21|q[36]>>>11,_t=q[47]<<24|q[46]>>>8,Kt=q[46]<<24|q[47]>>>8,Vt=q[8]<<27|q[9]>>>5,xt=q[9]<<27|q[8]>>>5,J=q[18]<<20|q[19]>>>12,Q=q[19]<<20|q[18]>>>12,ur=q[29]<<7|q[28]>>>25,Yn=q[28]<<7|q[29]>>>25,wt=q[38]<<8|q[39]>>>24,Ut=q[39]<<8|q[38]>>>24,Be=q[48]<<14|q[49]>>>18,Ge=q[49]<<14|q[48]>>>18,q[0]=Te^~De&ze,q[1]=je^~Je&qe,q[10]=Xe^~J&ue,q[11]=se^~Q&we,q[20]=tt^~st&Lt,q[21]=It^~Nt&ht,q[30]=Vt^~pt>,q[31]=xt^~Gt&vt,q[40]=zt^~br&ur,q[41]=Ht^~Rt&Yn,q[2]=De^~ze&Ve,q[3]=Je^~qe&He,q[12]=J^~ue&ye,q[13]=Q^~we&Ie,q[22]=st^~Lt&wt,q[23]=Nt^~ht&Ut,q[32]=pt^~gt&Ft,q[33]=Gt^~vt<,q[42]=br^~ur&Qn,q[43]=Rt^~Yn&Xn,q[4]=ze^~Ve&Be,q[5]=qe^~He&Ge,q[14]=ue^~ye&it,q[15]=we^~Ie&ot,q[24]=Lt^~wt&ft,q[25]=ht^~Ut&dt,q[34]=gt^~Ft&_t,q[35]=vt^~lt&Kt,q[44]=ur^~Qn&ei,q[45]=Yn^~Xn&gn,q[6]=Ve^~Be&Te,q[7]=He^~Ge&je,q[16]=ye^~it&Xe,q[17]=Ie^~ot&se,q[26]=wt^~ft&tt,q[27]=Ut^~dt&It,q[36]=Ft^~_t&Vt,q[37]=lt^~Kt&xt,q[46]=Qn^~ei&zt,q[47]=Xn^~gn&Ht,q[8]=Be^~Te&De,q[9]=Ge^~je&Je,q[18]=it^~Xe&J,q[19]=ot^~se&Q,q[28]=ft^~tt&st,q[29]=dt^~It&Nt,q[38]=_t^~Vt&pt,q[39]=Kt^~xt&Gt,q[48]=ei^~zt&br,q[49]=gn^~Ht&Rt,q[0]^=C[ee],q[1]^=C[ee+1]};if(a)r.exports=d;else for(x=0;x{try{if("test".normalize(e)!=="test")throw new Error("bad normalize")}catch{r.push(e)}}),r.length)throw new Error("missing "+r.join(", "));if("é".normalize("NFD")!=="é")throw new Error("broken implementation")}catch(r){return r.message}return null}const Pde=rZe();var yU;(function(r){r.DEBUG="DEBUG",r.INFO="INFO",r.WARNING="WARNING",r.ERROR="ERROR",r.OFF="OFF"})(yU||(yU={}));var nh;(function(r){r.UNKNOWN_ERROR="UNKNOWN_ERROR",r.NOT_IMPLEMENTED="NOT_IMPLEMENTED",r.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",r.NETWORK_ERROR="NETWORK_ERROR",r.SERVER_ERROR="SERVER_ERROR",r.TIMEOUT="TIMEOUT",r.BUFFER_OVERRUN="BUFFER_OVERRUN",r.NUMERIC_FAULT="NUMERIC_FAULT",r.MISSING_NEW="MISSING_NEW",r.INVALID_ARGUMENT="INVALID_ARGUMENT",r.MISSING_ARGUMENT="MISSING_ARGUMENT",r.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",r.CALL_EXCEPTION="CALL_EXCEPTION",r.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",r.NONCE_EXPIRED="NONCE_EXPIRED",r.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",r.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",r.TRANSACTION_REPLACED="TRANSACTION_REPLACED",r.ACTION_REJECTED="ACTION_REJECTED"})(nh||(nh={}));const Ode="0123456789abcdef";let Wo=class oo{constructor(e){Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}_log(e,t){const n=e.toLowerCase();YI[n]==null&&this.throwArgumentError("invalid log level name","logLevel",e),!(Nde>YI[n])&&console.log.apply(console,t)}debug(...e){this._log(oo.levels.DEBUG,e)}info(...e){this._log(oo.levels.INFO,e)}warn(...e){this._log(oo.levels.WARNING,e)}makeError(e,t,n){if(Mde)return this.makeError("censored error",t,{});t||(t=oo.errors.UNKNOWN_ERROR),n||(n={});const i=[];Object.keys(n).forEach(l=>{const u=n[l];try{if(u instanceof Uint8Array){let h="";for(let p=0;p>4],h+=Ode[u[p]&15];i.push(l+"=Uint8Array(0x"+h+")")}else i.push(l+"="+JSON.stringify(u))}catch{i.push(l+"="+JSON.stringify(n[l].toString()))}}),i.push(`code=${t}`),i.push(`version=${this.version}`);const s=e;let o="";switch(t){case nh.NUMERIC_FAULT:{o="NUMERIC_FAULT";const l=e;switch(l){case"overflow":case"underflow":case"division-by-zero":o+="-"+l;break;case"negative-power":case"negative-width":o+="-unsupported";break;case"unbound-bitwise-result":o+="-unbound-result";break}break}case nh.CALL_EXCEPTION:case nh.INSUFFICIENT_FUNDS:case nh.MISSING_NEW:case nh.NONCE_EXPIRED:case nh.REPLACEMENT_UNDERPRICED:case nh.TRANSACTION_REPLACED:case nh.UNPREDICTABLE_GAS_LIMIT:o=t;break}o&&(e+=" [ See: https://links.ethers.org/v5-errors-"+o+" ]"),i.length&&(e+=" ("+i.join(", ")+")");const a=new Error(e);return a.reason=s,a.code=t,Object.keys(n).forEach(function(l){a[l]=n[l]}),a}throwError(e,t,n){throw this.makeError(e,t,n)}throwArgumentError(e,t,n){return this.throwError(e,oo.errors.INVALID_ARGUMENT,{argument:t,value:n})}assert(e,t,n,i){e||this.throwError(t,n,i)}assertArgument(e,t,n,i){e||this.throwArgumentError(t,n,i)}checkNormalize(e){Pde&&this.throwError("platform missing String.prototype.normalize",oo.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:Pde})}checkSafeUint53(e,t){typeof e=="number"&&(t==null&&(t="value not safe"),(e<0||e>=9007199254740991)&&this.throwError(t,oo.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:e}),e%1&&this.throwError(t,oo.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:e}))}checkArgumentCount(e,t,n){n?n=": "+n:n="",et&&this.throwError("too many arguments"+n,oo.errors.UNEXPECTED_ARGUMENT,{count:e,expectedCount:t})}checkNew(e,t){(e===Object||e==null)&&this.throwError("missing new",oo.errors.MISSING_NEW,{name:t.name})}checkAbstract(e,t){e===t?this.throwError("cannot instantiate abstract class "+JSON.stringify(t.name)+" directly; use a sub-class",oo.errors.UNSUPPORTED_OPERATION,{name:e.name,operation:"new"}):(e===Object||e==null)&&this.throwError("missing new",oo.errors.MISSING_NEW,{name:t.name})}static globalLogger(){return vU||(vU=new oo(tZe)),vU}static setCensorship(e,t){if(!e&&t&&this.globalLogger().throwError("cannot permanently disable censorship",oo.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),kde){if(!e)return;this.globalLogger().throwError("error censorship permanent",oo.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}Mde=!!e,kde=!!t}static setLogLevel(e){const t=YI[e.toLowerCase()];if(t==null){oo.globalLogger().warn("invalid log level - "+e);return}Nde=t}static from(e){return new oo(e)}};Wo.errors=nh,Wo.levels=yU;const nZe="bytes/5.7.0",As=new Wo(nZe);function Dde(r){return!!r.toHexString}function e3(r){return r.slice||(r.slice=function(){const e=Array.prototype.slice.call(arguments);return e3(new Uint8Array(Array.prototype.slice.apply(r,e)))}),r}function iZe(r){return Qc(r)&&!(r.length%2)||t3(r)}function $de(r){return typeof r=="number"&&r==r&&r%1===0}function t3(r){if(r==null)return!1;if(r.constructor===Uint8Array)return!0;if(typeof r=="string"||!$de(r.length)||r.length<0)return!1;for(let e=0;e=256)return!1}return!0}function us(r,e){if(e||(e={}),typeof r=="number"){As.checkSafeUint53(r,"invalid arrayify value");const t=[];for(;r;)t.unshift(r&255),r=parseInt(String(r/256));return t.length===0&&t.push(0),e3(new Uint8Array(t))}if(e.allowMissingPrefix&&typeof r=="string"&&r.substring(0,2)!=="0x"&&(r="0x"+r),Dde(r)&&(r=r.toHexString()),Qc(r)){let t=r.substring(2);t.length%2&&(e.hexPad==="left"?t="0"+t:e.hexPad==="right"?t+="0":As.throwArgumentError("hex data is odd-length","value",r));const n=[];for(let i=0;ius(i)),t=e.reduce((i,s)=>i+s.length,0),n=new Uint8Array(t);return e.reduce((i,s)=>(n.set(s,i),i+s.length),0),e3(n)}function oZe(r,e){r=us(r),r.length>e&&As.throwArgumentError("value out of range","value",arguments[0]);const t=new Uint8Array(e);return t.set(r,e-r.length),e3(t)}function Qc(r,e){return!(typeof r!="string"||!r.match(/^0x[0-9A-Fa-f]*$/)||e&&r.length!==2+2*e)}const xU="0123456789abcdef";function Fa(r,e){if(e||(e={}),typeof r=="number"){As.checkSafeUint53(r,"invalid hexlify value");let t="";for(;r;)t=xU[r&15]+t,r=Math.floor(r/16);return t.length?(t.length%2&&(t="0"+t),"0x"+t):"0x00"}if(typeof r=="bigint")return r=r.toString(16),r.length%2?"0x0"+r:"0x"+r;if(e.allowMissingPrefix&&typeof r=="string"&&r.substring(0,2)!=="0x"&&(r="0x"+r),Dde(r))return r.toHexString();if(Qc(r))return r.length%2&&(e.hexPad==="left"?r="0x0"+r.substring(2):e.hexPad==="right"?r+="0":As.throwArgumentError("hex data is odd-length","value",r)),r.toLowerCase();if(t3(r)){let t="0x";for(let n=0;n>4]+xU[i&15]}return t}return As.throwArgumentError("invalid hexlify value","value",r)}function aZe(r){if(typeof r!="string")r=Fa(r);else if(!Qc(r)||r.length%2)return null;return(r.length-2)/2}function Bde(r,e,t){return typeof r!="string"?r=Fa(r):(!Qc(r)||r.length%2)&&As.throwArgumentError("invalid hexData","value",r),e=2+2*e,t!=null?"0x"+r.substring(e,2+2*t):"0x"+r.substring(e)}function Sf(r,e){for(typeof r!="string"?r=Fa(r):Qc(r)||As.throwArgumentError("invalid hex string","value",r),r.length>2*e+2&&As.throwArgumentError("value out of range","value",arguments[1]);r.length<2*e+2;)r="0x0"+r.substring(2);return r}function Lde(r){const e={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(iZe(r)){let t=us(r);t.length===64?(e.v=27+(t[32]>>7),t[32]&=127,e.r=Fa(t.slice(0,32)),e.s=Fa(t.slice(32,64))):t.length===65?(e.r=Fa(t.slice(0,32)),e.s=Fa(t.slice(32,64)),e.v=t[64]):As.throwArgumentError("invalid signature string","signature",r),e.v<27&&(e.v===0||e.v===1?e.v+=27:As.throwArgumentError("signature invalid v byte","signature",r)),e.recoveryParam=1-e.v%2,e.recoveryParam&&(t[32]|=128),e._vs=Fa(t.slice(32,64))}else{if(e.r=r.r,e.s=r.s,e.v=r.v,e.recoveryParam=r.recoveryParam,e._vs=r._vs,e._vs!=null){const i=oZe(us(e._vs),32);e._vs=Fa(i);const s=i[0]>=128?1:0;e.recoveryParam==null?e.recoveryParam=s:e.recoveryParam!==s&&As.throwArgumentError("signature recoveryParam mismatch _vs","signature",r),i[0]&=127;const o=Fa(i);e.s==null?e.s=o:e.s!==o&&As.throwArgumentError("signature v mismatch _vs","signature",r)}if(e.recoveryParam==null)e.v==null?As.throwArgumentError("signature missing v and recoveryParam","signature",r):e.v===0||e.v===1?e.recoveryParam=e.v:e.recoveryParam=1-e.v%2;else if(e.v==null)e.v=27+e.recoveryParam;else{const i=e.v===0||e.v===1?e.v:1-e.v%2;e.recoveryParam!==i&&As.throwArgumentError("signature recoveryParam mismatch v","signature",r)}e.r==null||!Qc(e.r)?As.throwArgumentError("signature missing or invalid r","signature",r):e.r=Sf(e.r,32),e.s==null||!Qc(e.s)?As.throwArgumentError("signature missing or invalid s","signature",r):e.s=Sf(e.s,32);const t=us(e.s);t[0]>=128&&As.throwArgumentError("signature s out of range","signature",r),e.recoveryParam&&(t[0]|=128);const n=Fa(t);e._vs&&(Qc(e._vs)||As.throwArgumentError("signature invalid _vs","signature",r),e._vs=Sf(e._vs,32)),e._vs==null?e._vs=n:e._vs!==n&&As.throwArgumentError("signature _vs mismatch v and s","signature",r)}return e.yParityAndS=e._vs,e.compact=e.r+e.yParityAndS.substring(2),e}function _U(r){return"0x"+eZe.keccak_256(us(r))}var Ude={exports:{}},cZe={},lZe=Object.freeze({__proto__:null,default:cZe}),uZe=XKe(lZe);(function(r){(function(e,t){function n(b,d){if(!b)throw new Error(d||"Assertion failed")}function i(b,d){b.super_=d;var m=function(){};m.prototype=d.prototype,b.prototype=new m,b.prototype.constructor=b}function s(b,d,m){if(s.isBN(b))return b;this.negative=0,this.words=null,this.length=0,this.red=null,b!==null&&((d==="le"||d==="be")&&(m=d,d=10),this._init(b||0,d||10,m||"be"))}typeof e=="object"?e.exports=s:t.BN=s,s.BN=s,s.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=uZe.Buffer}catch{}s.isBN=function(b){return b instanceof s?!0:b!==null&&typeof b=="object"&&b.constructor.wordSize===s.wordSize&&Array.isArray(b.words)},s.max=function(b,d){return b.cmp(d)>0?b:d},s.min=function(b,d){return b.cmp(d)<0?b:d},s.prototype._init=function(b,d,m){if(typeof b=="number")return this._initNumber(b,d,m);if(typeof b=="object")return this._initArray(b,d,m);d==="hex"&&(d=16),n(d===(d|0)&&d>=2&&d<=36),b=b.toString().replace(/\s+/g,"");var x=0;b[0]==="-"&&(x++,this.negative=1),x=0;x-=3)I=b[x]|b[x-1]<<8|b[x-2]<<16,this.words[A]|=I<>>26-T&67108863,T+=24,T>=26&&(T-=26,A++);else if(m==="le")for(x=0,A=0;x>>26-T&67108863,T+=24,T>=26&&(T-=26,A++);return this._strip()};function a(b,d){var m=b.charCodeAt(d);if(m>=48&&m<=57)return m-48;if(m>=65&&m<=70)return m-55;if(m>=97&&m<=102)return m-87;n(!1,"Invalid character in "+b)}function l(b,d,m){var x=a(b,m);return m-1>=d&&(x|=a(b,m-1)<<4),x}s.prototype._parseHex=function(b,d,m){this.length=Math.ceil((b.length-d)/6),this.words=new Array(this.length);for(var x=0;x=d;x-=2)T=l(b,d,x)<=18?(A-=18,I+=1,this.words[I]|=T>>>26):A+=8;else{var S=b.length-d;for(x=S%2===0?d+1:d;x=18?(A-=18,I+=1,this.words[I]|=T>>>26):A+=8}this._strip()};function u(b,d,m,x){for(var A=0,I=0,T=Math.min(b.length,m),S=d;S=49?I=E-49+10:E>=17?I=E-17+10:I=E,n(E>=0&&I1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},s.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{s.prototype[Symbol.for("nodejs.util.inspect.custom")]=p}catch{s.prototype.inspect=p}else s.prototype.inspect=p;function p(){return(this.red?""}var g=["","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"],w=[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],y=[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,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];s.prototype.toString=function(b,d){b=b||10,d=d|0||1;var m;if(b===16||b==="hex"){m="";for(var x=0,A=0,I=0;I>>24-x&16777215,x+=2,x>=26&&(x-=26,I--),A!==0||I!==this.length-1?m=g[6-S.length]+S+m:m=S+m}for(A!==0&&(m=A.toString(16)+m);m.length%d!==0;)m="0"+m;return this.negative!==0&&(m="-"+m),m}if(b===(b|0)&&b>=2&&b<=36){var E=w[b],_=y[b];m="";var U=this.clone();for(U.negative=0;!U.isZero();){var ie=U.modrn(_).toString(b);U=U.idivn(_),U.isZero()?m=ie+m:m=g[E-ie.length]+ie+m}for(this.isZero()&&(m="0"+m);m.length%d!==0;)m="0"+m;return this.negative!==0&&(m="-"+m),m}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var b=this.words[0];return this.length===2?b+=this.words[1]*67108864:this.length===3&&this.words[2]===1?b+=4503599627370496+this.words[1]*67108864:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-b:b},s.prototype.toJSON=function(){return this.toString(16,2)},o&&(s.prototype.toBuffer=function(b,d){return this.toArrayLike(o,b,d)}),s.prototype.toArray=function(b,d){return this.toArrayLike(Array,b,d)};var C=function(b,d){return b.allocUnsafe?b.allocUnsafe(d):new b(d)};s.prototype.toArrayLike=function(b,d,m){this._strip();var x=this.byteLength(),A=m||Math.max(1,x);n(x<=A,"byte array longer than desired length"),n(A>0,"Requested array length <= 0");var I=C(b,A),T=d==="le"?"LE":"BE";return this["_toArrayLike"+T](I,x),I},s.prototype._toArrayLikeLE=function(b,d){for(var m=0,x=0,A=0,I=0;A>8&255),m>16&255),I===6?(m>24&255),x=0,I=0):(x=T>>>24,I+=2)}if(m=0&&(b[m--]=T>>8&255),m>=0&&(b[m--]=T>>16&255),I===6?(m>=0&&(b[m--]=T>>24&255),x=0,I=0):(x=T>>>24,I+=2)}if(m>=0)for(b[m--]=x;m>=0;)b[m--]=0},Math.clz32?s.prototype._countBits=function(b){return 32-Math.clz32(b)}:s.prototype._countBits=function(b){var d=b,m=0;return d>=4096&&(m+=13,d>>>=13),d>=64&&(m+=7,d>>>=7),d>=8&&(m+=4,d>>>=4),d>=2&&(m+=2,d>>>=2),m+d},s.prototype._zeroBits=function(b){if(b===0)return 26;var d=b,m=0;return d&8191||(m+=13,d>>>=13),d&127||(m+=7,d>>>=7),d&15||(m+=4,d>>>=4),d&3||(m+=2,d>>>=2),d&1||m++,m},s.prototype.bitLength=function(){var b=this.words[this.length-1],d=this._countBits(b);return(this.length-1)*26+d};function R(b){for(var d=new Array(b.bitLength()),m=0;m>>A&1}return d}s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var b=0,d=0;db.length?this.clone().ior(b):b.clone().ior(this)},s.prototype.uor=function(b){return this.length>b.length?this.clone().iuor(b):b.clone().iuor(this)},s.prototype.iuand=function(b){var d;this.length>b.length?d=b:d=this;for(var m=0;mb.length?this.clone().iand(b):b.clone().iand(this)},s.prototype.uand=function(b){return this.length>b.length?this.clone().iuand(b):b.clone().iuand(this)},s.prototype.iuxor=function(b){var d,m;this.length>b.length?(d=this,m=b):(d=b,m=this);for(var x=0;xb.length?this.clone().ixor(b):b.clone().ixor(this)},s.prototype.uxor=function(b){return this.length>b.length?this.clone().iuxor(b):b.clone().iuxor(this)},s.prototype.inotn=function(b){n(typeof b=="number"&&b>=0);var d=Math.ceil(b/26)|0,m=b%26;this._expand(d),m>0&&d--;for(var x=0;x0&&(this.words[x]=~this.words[x]&67108863>>26-m),this._strip()},s.prototype.notn=function(b){return this.clone().inotn(b)},s.prototype.setn=function(b,d){n(typeof b=="number"&&b>=0);var m=b/26|0,x=b%26;return this._expand(m+1),d?this.words[m]=this.words[m]|1<b.length?(m=this,x=b):(m=b,x=this);for(var A=0,I=0;I>>26;for(;A!==0&&I>>26;if(this.length=m.length,A!==0)this.words[this.length]=A,this.length++;else if(m!==this)for(;Ib.length?this.clone().iadd(b):b.clone().iadd(this)},s.prototype.isub=function(b){if(b.negative!==0){b.negative=0;var d=this.iadd(b);return b.negative=1,d._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(b),this.negative=1,this._normSign();var m=this.cmp(b);if(m===0)return this.negative=0,this.length=1,this.words[0]=0,this;var x,A;m>0?(x=this,A=b):(x=b,A=this);for(var I=0,T=0;T>26,this.words[T]=d&67108863;for(;I!==0&&T>26,this.words[T]=d&67108863;if(I===0&&T>>26,ie=E&67108863,q=Math.min(_,d.length-1),Y=Math.max(0,_-b.length+1);Y<=q;Y++){var K=_-Y|0;A=b.words[K]|0,I=d.words[Y]|0,T=A*I+ie,U+=T/67108864|0,ie=T&67108863}m.words[_]=ie|0,E=U|0}return E!==0?m.words[_]=E|0:m.length--,m._strip()}var M=function(b,d,m){var x=b.words,A=d.words,I=m.words,T=0,S,E,_,U=x[0]|0,ie=U&8191,q=U>>>13,Y=x[1]|0,K=Y&8191,ee=Y>>>13,re=x[2]|0,z=re&8191,L=re>>>13,H=x[3]|0,le=H&8191,de=H>>>13,Se=x[4]|0,Me=Se&8191,ke=Se>>>13,Ke=x[5]|0,Te=Ke&8191,je=Ke>>>13,De=x[6]|0,Je=De&8191,ze=De>>>13,qe=x[7]|0,Ve=qe&8191,He=qe>>>13,Be=x[8]|0,Ge=Be&8191,Xe=Be>>>13,se=x[9]|0,J=se&8191,Q=se>>>13,ue=A[0]|0,we=ue&8191,ye=ue>>>13,Ie=A[1]|0,it=Ie&8191,ot=Ie>>>13,tt=A[2]|0,It=tt&8191,st=tt>>>13,Nt=A[3]|0,Lt=Nt&8191,ht=Nt>>>13,wt=A[4]|0,Ut=wt&8191,ft=wt>>>13,dt=A[5]|0,Vt=dt&8191,xt=dt>>>13,pt=A[6]|0,Gt=pt&8191,gt=pt>>>13,vt=A[7]|0,Ft=vt&8191,lt=vt>>>13,_t=A[8]|0,Kt=_t&8191,zt=_t>>>13,Ht=A[9]|0,br=Ht&8191,Rt=Ht>>>13;m.negative=b.negative^d.negative,m.length=19,S=Math.imul(ie,we),E=Math.imul(ie,ye),E=E+Math.imul(q,we)|0,_=Math.imul(q,ye);var ur=(T+S|0)+((E&8191)<<13)|0;T=(_+(E>>>13)|0)+(ur>>>26)|0,ur&=67108863,S=Math.imul(K,we),E=Math.imul(K,ye),E=E+Math.imul(ee,we)|0,_=Math.imul(ee,ye),S=S+Math.imul(ie,it)|0,E=E+Math.imul(ie,ot)|0,E=E+Math.imul(q,it)|0,_=_+Math.imul(q,ot)|0;var Yn=(T+S|0)+((E&8191)<<13)|0;T=(_+(E>>>13)|0)+(Yn>>>26)|0,Yn&=67108863,S=Math.imul(z,we),E=Math.imul(z,ye),E=E+Math.imul(L,we)|0,_=Math.imul(L,ye),S=S+Math.imul(K,it)|0,E=E+Math.imul(K,ot)|0,E=E+Math.imul(ee,it)|0,_=_+Math.imul(ee,ot)|0,S=S+Math.imul(ie,It)|0,E=E+Math.imul(ie,st)|0,E=E+Math.imul(q,It)|0,_=_+Math.imul(q,st)|0;var Qn=(T+S|0)+((E&8191)<<13)|0;T=(_+(E>>>13)|0)+(Qn>>>26)|0,Qn&=67108863,S=Math.imul(le,we),E=Math.imul(le,ye),E=E+Math.imul(de,we)|0,_=Math.imul(de,ye),S=S+Math.imul(z,it)|0,E=E+Math.imul(z,ot)|0,E=E+Math.imul(L,it)|0,_=_+Math.imul(L,ot)|0,S=S+Math.imul(K,It)|0,E=E+Math.imul(K,st)|0,E=E+Math.imul(ee,It)|0,_=_+Math.imul(ee,st)|0,S=S+Math.imul(ie,Lt)|0,E=E+Math.imul(ie,ht)|0,E=E+Math.imul(q,Lt)|0,_=_+Math.imul(q,ht)|0;var Xn=(T+S|0)+((E&8191)<<13)|0;T=(_+(E>>>13)|0)+(Xn>>>26)|0,Xn&=67108863,S=Math.imul(Me,we),E=Math.imul(Me,ye),E=E+Math.imul(ke,we)|0,_=Math.imul(ke,ye),S=S+Math.imul(le,it)|0,E=E+Math.imul(le,ot)|0,E=E+Math.imul(de,it)|0,_=_+Math.imul(de,ot)|0,S=S+Math.imul(z,It)|0,E=E+Math.imul(z,st)|0,E=E+Math.imul(L,It)|0,_=_+Math.imul(L,st)|0,S=S+Math.imul(K,Lt)|0,E=E+Math.imul(K,ht)|0,E=E+Math.imul(ee,Lt)|0,_=_+Math.imul(ee,ht)|0,S=S+Math.imul(ie,Ut)|0,E=E+Math.imul(ie,ft)|0,E=E+Math.imul(q,Ut)|0,_=_+Math.imul(q,ft)|0;var ei=(T+S|0)+((E&8191)<<13)|0;T=(_+(E>>>13)|0)+(ei>>>26)|0,ei&=67108863,S=Math.imul(Te,we),E=Math.imul(Te,ye),E=E+Math.imul(je,we)|0,_=Math.imul(je,ye),S=S+Math.imul(Me,it)|0,E=E+Math.imul(Me,ot)|0,E=E+Math.imul(ke,it)|0,_=_+Math.imul(ke,ot)|0,S=S+Math.imul(le,It)|0,E=E+Math.imul(le,st)|0,E=E+Math.imul(de,It)|0,_=_+Math.imul(de,st)|0,S=S+Math.imul(z,Lt)|0,E=E+Math.imul(z,ht)|0,E=E+Math.imul(L,Lt)|0,_=_+Math.imul(L,ht)|0,S=S+Math.imul(K,Ut)|0,E=E+Math.imul(K,ft)|0,E=E+Math.imul(ee,Ut)|0,_=_+Math.imul(ee,ft)|0,S=S+Math.imul(ie,Vt)|0,E=E+Math.imul(ie,xt)|0,E=E+Math.imul(q,Vt)|0,_=_+Math.imul(q,xt)|0;var gn=(T+S|0)+((E&8191)<<13)|0;T=(_+(E>>>13)|0)+(gn>>>26)|0,gn&=67108863,S=Math.imul(Je,we),E=Math.imul(Je,ye),E=E+Math.imul(ze,we)|0,_=Math.imul(ze,ye),S=S+Math.imul(Te,it)|0,E=E+Math.imul(Te,ot)|0,E=E+Math.imul(je,it)|0,_=_+Math.imul(je,ot)|0,S=S+Math.imul(Me,It)|0,E=E+Math.imul(Me,st)|0,E=E+Math.imul(ke,It)|0,_=_+Math.imul(ke,st)|0,S=S+Math.imul(le,Lt)|0,E=E+Math.imul(le,ht)|0,E=E+Math.imul(de,Lt)|0,_=_+Math.imul(de,ht)|0,S=S+Math.imul(z,Ut)|0,E=E+Math.imul(z,ft)|0,E=E+Math.imul(L,Ut)|0,_=_+Math.imul(L,ft)|0,S=S+Math.imul(K,Vt)|0,E=E+Math.imul(K,xt)|0,E=E+Math.imul(ee,Vt)|0,_=_+Math.imul(ee,xt)|0,S=S+Math.imul(ie,Gt)|0,E=E+Math.imul(ie,gt)|0,E=E+Math.imul(q,Gt)|0,_=_+Math.imul(q,gt)|0;var zn=(T+S|0)+((E&8191)<<13)|0;T=(_+(E>>>13)|0)+(zn>>>26)|0,zn&=67108863,S=Math.imul(Ve,we),E=Math.imul(Ve,ye),E=E+Math.imul(He,we)|0,_=Math.imul(He,ye),S=S+Math.imul(Je,it)|0,E=E+Math.imul(Je,ot)|0,E=E+Math.imul(ze,it)|0,_=_+Math.imul(ze,ot)|0,S=S+Math.imul(Te,It)|0,E=E+Math.imul(Te,st)|0,E=E+Math.imul(je,It)|0,_=_+Math.imul(je,st)|0,S=S+Math.imul(Me,Lt)|0,E=E+Math.imul(Me,ht)|0,E=E+Math.imul(ke,Lt)|0,_=_+Math.imul(ke,ht)|0,S=S+Math.imul(le,Ut)|0,E=E+Math.imul(le,ft)|0,E=E+Math.imul(de,Ut)|0,_=_+Math.imul(de,ft)|0,S=S+Math.imul(z,Vt)|0,E=E+Math.imul(z,xt)|0,E=E+Math.imul(L,Vt)|0,_=_+Math.imul(L,xt)|0,S=S+Math.imul(K,Gt)|0,E=E+Math.imul(K,gt)|0,E=E+Math.imul(ee,Gt)|0,_=_+Math.imul(ee,gt)|0,S=S+Math.imul(ie,Ft)|0,E=E+Math.imul(ie,lt)|0,E=E+Math.imul(q,Ft)|0,_=_+Math.imul(q,lt)|0;var Pi=(T+S|0)+((E&8191)<<13)|0;T=(_+(E>>>13)|0)+(Pi>>>26)|0,Pi&=67108863,S=Math.imul(Ge,we),E=Math.imul(Ge,ye),E=E+Math.imul(Xe,we)|0,_=Math.imul(Xe,ye),S=S+Math.imul(Ve,it)|0,E=E+Math.imul(Ve,ot)|0,E=E+Math.imul(He,it)|0,_=_+Math.imul(He,ot)|0,S=S+Math.imul(Je,It)|0,E=E+Math.imul(Je,st)|0,E=E+Math.imul(ze,It)|0,_=_+Math.imul(ze,st)|0,S=S+Math.imul(Te,Lt)|0,E=E+Math.imul(Te,ht)|0,E=E+Math.imul(je,Lt)|0,_=_+Math.imul(je,ht)|0,S=S+Math.imul(Me,Ut)|0,E=E+Math.imul(Me,ft)|0,E=E+Math.imul(ke,Ut)|0,_=_+Math.imul(ke,ft)|0,S=S+Math.imul(le,Vt)|0,E=E+Math.imul(le,xt)|0,E=E+Math.imul(de,Vt)|0,_=_+Math.imul(de,xt)|0,S=S+Math.imul(z,Gt)|0,E=E+Math.imul(z,gt)|0,E=E+Math.imul(L,Gt)|0,_=_+Math.imul(L,gt)|0,S=S+Math.imul(K,Ft)|0,E=E+Math.imul(K,lt)|0,E=E+Math.imul(ee,Ft)|0,_=_+Math.imul(ee,lt)|0,S=S+Math.imul(ie,Kt)|0,E=E+Math.imul(ie,zt)|0,E=E+Math.imul(q,Kt)|0,_=_+Math.imul(q,zt)|0;var Hn=(T+S|0)+((E&8191)<<13)|0;T=(_+(E>>>13)|0)+(Hn>>>26)|0,Hn&=67108863,S=Math.imul(J,we),E=Math.imul(J,ye),E=E+Math.imul(Q,we)|0,_=Math.imul(Q,ye),S=S+Math.imul(Ge,it)|0,E=E+Math.imul(Ge,ot)|0,E=E+Math.imul(Xe,it)|0,_=_+Math.imul(Xe,ot)|0,S=S+Math.imul(Ve,It)|0,E=E+Math.imul(Ve,st)|0,E=E+Math.imul(He,It)|0,_=_+Math.imul(He,st)|0,S=S+Math.imul(Je,Lt)|0,E=E+Math.imul(Je,ht)|0,E=E+Math.imul(ze,Lt)|0,_=_+Math.imul(ze,ht)|0,S=S+Math.imul(Te,Ut)|0,E=E+Math.imul(Te,ft)|0,E=E+Math.imul(je,Ut)|0,_=_+Math.imul(je,ft)|0,S=S+Math.imul(Me,Vt)|0,E=E+Math.imul(Me,xt)|0,E=E+Math.imul(ke,Vt)|0,_=_+Math.imul(ke,xt)|0,S=S+Math.imul(le,Gt)|0,E=E+Math.imul(le,gt)|0,E=E+Math.imul(de,Gt)|0,_=_+Math.imul(de,gt)|0,S=S+Math.imul(z,Ft)|0,E=E+Math.imul(z,lt)|0,E=E+Math.imul(L,Ft)|0,_=_+Math.imul(L,lt)|0,S=S+Math.imul(K,Kt)|0,E=E+Math.imul(K,zt)|0,E=E+Math.imul(ee,Kt)|0,_=_+Math.imul(ee,zt)|0,S=S+Math.imul(ie,br)|0,E=E+Math.imul(ie,Rt)|0,E=E+Math.imul(q,br)|0,_=_+Math.imul(q,Rt)|0;var Oi=(T+S|0)+((E&8191)<<13)|0;T=(_+(E>>>13)|0)+(Oi>>>26)|0,Oi&=67108863,S=Math.imul(J,it),E=Math.imul(J,ot),E=E+Math.imul(Q,it)|0,_=Math.imul(Q,ot),S=S+Math.imul(Ge,It)|0,E=E+Math.imul(Ge,st)|0,E=E+Math.imul(Xe,It)|0,_=_+Math.imul(Xe,st)|0,S=S+Math.imul(Ve,Lt)|0,E=E+Math.imul(Ve,ht)|0,E=E+Math.imul(He,Lt)|0,_=_+Math.imul(He,ht)|0,S=S+Math.imul(Je,Ut)|0,E=E+Math.imul(Je,ft)|0,E=E+Math.imul(ze,Ut)|0,_=_+Math.imul(ze,ft)|0,S=S+Math.imul(Te,Vt)|0,E=E+Math.imul(Te,xt)|0,E=E+Math.imul(je,Vt)|0,_=_+Math.imul(je,xt)|0,S=S+Math.imul(Me,Gt)|0,E=E+Math.imul(Me,gt)|0,E=E+Math.imul(ke,Gt)|0,_=_+Math.imul(ke,gt)|0,S=S+Math.imul(le,Ft)|0,E=E+Math.imul(le,lt)|0,E=E+Math.imul(de,Ft)|0,_=_+Math.imul(de,lt)|0,S=S+Math.imul(z,Kt)|0,E=E+Math.imul(z,zt)|0,E=E+Math.imul(L,Kt)|0,_=_+Math.imul(L,zt)|0,S=S+Math.imul(K,br)|0,E=E+Math.imul(K,Rt)|0,E=E+Math.imul(ee,br)|0,_=_+Math.imul(ee,Rt)|0;var Di=(T+S|0)+((E&8191)<<13)|0;T=(_+(E>>>13)|0)+(Di>>>26)|0,Di&=67108863,S=Math.imul(J,It),E=Math.imul(J,st),E=E+Math.imul(Q,It)|0,_=Math.imul(Q,st),S=S+Math.imul(Ge,Lt)|0,E=E+Math.imul(Ge,ht)|0,E=E+Math.imul(Xe,Lt)|0,_=_+Math.imul(Xe,ht)|0,S=S+Math.imul(Ve,Ut)|0,E=E+Math.imul(Ve,ft)|0,E=E+Math.imul(He,Ut)|0,_=_+Math.imul(He,ft)|0,S=S+Math.imul(Je,Vt)|0,E=E+Math.imul(Je,xt)|0,E=E+Math.imul(ze,Vt)|0,_=_+Math.imul(ze,xt)|0,S=S+Math.imul(Te,Gt)|0,E=E+Math.imul(Te,gt)|0,E=E+Math.imul(je,Gt)|0,_=_+Math.imul(je,gt)|0,S=S+Math.imul(Me,Ft)|0,E=E+Math.imul(Me,lt)|0,E=E+Math.imul(ke,Ft)|0,_=_+Math.imul(ke,lt)|0,S=S+Math.imul(le,Kt)|0,E=E+Math.imul(le,zt)|0,E=E+Math.imul(de,Kt)|0,_=_+Math.imul(de,zt)|0,S=S+Math.imul(z,br)|0,E=E+Math.imul(z,Rt)|0,E=E+Math.imul(L,br)|0,_=_+Math.imul(L,Rt)|0;var mi=(T+S|0)+((E&8191)<<13)|0;T=(_+(E>>>13)|0)+(mi>>>26)|0,mi&=67108863,S=Math.imul(J,Lt),E=Math.imul(J,ht),E=E+Math.imul(Q,Lt)|0,_=Math.imul(Q,ht),S=S+Math.imul(Ge,Ut)|0,E=E+Math.imul(Ge,ft)|0,E=E+Math.imul(Xe,Ut)|0,_=_+Math.imul(Xe,ft)|0,S=S+Math.imul(Ve,Vt)|0,E=E+Math.imul(Ve,xt)|0,E=E+Math.imul(He,Vt)|0,_=_+Math.imul(He,xt)|0,S=S+Math.imul(Je,Gt)|0,E=E+Math.imul(Je,gt)|0,E=E+Math.imul(ze,Gt)|0,_=_+Math.imul(ze,gt)|0,S=S+Math.imul(Te,Ft)|0,E=E+Math.imul(Te,lt)|0,E=E+Math.imul(je,Ft)|0,_=_+Math.imul(je,lt)|0,S=S+Math.imul(Me,Kt)|0,E=E+Math.imul(Me,zt)|0,E=E+Math.imul(ke,Kt)|0,_=_+Math.imul(ke,zt)|0,S=S+Math.imul(le,br)|0,E=E+Math.imul(le,Rt)|0,E=E+Math.imul(de,br)|0,_=_+Math.imul(de,Rt)|0;var _i=(T+S|0)+((E&8191)<<13)|0;T=(_+(E>>>13)|0)+(_i>>>26)|0,_i&=67108863,S=Math.imul(J,Ut),E=Math.imul(J,ft),E=E+Math.imul(Q,Ut)|0,_=Math.imul(Q,ft),S=S+Math.imul(Ge,Vt)|0,E=E+Math.imul(Ge,xt)|0,E=E+Math.imul(Xe,Vt)|0,_=_+Math.imul(Xe,xt)|0,S=S+Math.imul(Ve,Gt)|0,E=E+Math.imul(Ve,gt)|0,E=E+Math.imul(He,Gt)|0,_=_+Math.imul(He,gt)|0,S=S+Math.imul(Je,Ft)|0,E=E+Math.imul(Je,lt)|0,E=E+Math.imul(ze,Ft)|0,_=_+Math.imul(ze,lt)|0,S=S+Math.imul(Te,Kt)|0,E=E+Math.imul(Te,zt)|0,E=E+Math.imul(je,Kt)|0,_=_+Math.imul(je,zt)|0,S=S+Math.imul(Me,br)|0,E=E+Math.imul(Me,Rt)|0,E=E+Math.imul(ke,br)|0,_=_+Math.imul(ke,Rt)|0;var Ei=(T+S|0)+((E&8191)<<13)|0;T=(_+(E>>>13)|0)+(Ei>>>26)|0,Ei&=67108863,S=Math.imul(J,Vt),E=Math.imul(J,xt),E=E+Math.imul(Q,Vt)|0,_=Math.imul(Q,xt),S=S+Math.imul(Ge,Gt)|0,E=E+Math.imul(Ge,gt)|0,E=E+Math.imul(Xe,Gt)|0,_=_+Math.imul(Xe,gt)|0,S=S+Math.imul(Ve,Ft)|0,E=E+Math.imul(Ve,lt)|0,E=E+Math.imul(He,Ft)|0,_=_+Math.imul(He,lt)|0,S=S+Math.imul(Je,Kt)|0,E=E+Math.imul(Je,zt)|0,E=E+Math.imul(ze,Kt)|0,_=_+Math.imul(ze,zt)|0,S=S+Math.imul(Te,br)|0,E=E+Math.imul(Te,Rt)|0,E=E+Math.imul(je,br)|0,_=_+Math.imul(je,Rt)|0;var En=(T+S|0)+((E&8191)<<13)|0;T=(_+(E>>>13)|0)+(En>>>26)|0,En&=67108863,S=Math.imul(J,Gt),E=Math.imul(J,gt),E=E+Math.imul(Q,Gt)|0,_=Math.imul(Q,gt),S=S+Math.imul(Ge,Ft)|0,E=E+Math.imul(Ge,lt)|0,E=E+Math.imul(Xe,Ft)|0,_=_+Math.imul(Xe,lt)|0,S=S+Math.imul(Ve,Kt)|0,E=E+Math.imul(Ve,zt)|0,E=E+Math.imul(He,Kt)|0,_=_+Math.imul(He,zt)|0,S=S+Math.imul(Je,br)|0,E=E+Math.imul(Je,Rt)|0,E=E+Math.imul(ze,br)|0,_=_+Math.imul(ze,Rt)|0;var Is=(T+S|0)+((E&8191)<<13)|0;T=(_+(E>>>13)|0)+(Is>>>26)|0,Is&=67108863,S=Math.imul(J,Ft),E=Math.imul(J,lt),E=E+Math.imul(Q,Ft)|0,_=Math.imul(Q,lt),S=S+Math.imul(Ge,Kt)|0,E=E+Math.imul(Ge,zt)|0,E=E+Math.imul(Xe,Kt)|0,_=_+Math.imul(Xe,zt)|0,S=S+Math.imul(Ve,br)|0,E=E+Math.imul(Ve,Rt)|0,E=E+Math.imul(He,br)|0,_=_+Math.imul(He,Rt)|0;var Rs=(T+S|0)+((E&8191)<<13)|0;T=(_+(E>>>13)|0)+(Rs>>>26)|0,Rs&=67108863,S=Math.imul(J,Kt),E=Math.imul(J,zt),E=E+Math.imul(Q,Kt)|0,_=Math.imul(Q,zt),S=S+Math.imul(Ge,br)|0,E=E+Math.imul(Ge,Rt)|0,E=E+Math.imul(Xe,br)|0,_=_+Math.imul(Xe,Rt)|0;var Ts=(T+S|0)+((E&8191)<<13)|0;T=(_+(E>>>13)|0)+(Ts>>>26)|0,Ts&=67108863,S=Math.imul(J,br),E=Math.imul(J,Rt),E=E+Math.imul(Q,br)|0,_=Math.imul(Q,Rt);var Zo=(T+S|0)+((E&8191)<<13)|0;return T=(_+(E>>>13)|0)+(Zo>>>26)|0,Zo&=67108863,I[0]=ur,I[1]=Yn,I[2]=Qn,I[3]=Xn,I[4]=ei,I[5]=gn,I[6]=zn,I[7]=Pi,I[8]=Hn,I[9]=Oi,I[10]=Di,I[11]=mi,I[12]=_i,I[13]=Ei,I[14]=En,I[15]=Is,I[16]=Rs,I[17]=Ts,I[18]=Zo,T!==0&&(I[19]=T,m.length++),m};Math.imul||(M=k);function O(b,d,m){m.negative=d.negative^b.negative,m.length=b.length+d.length;for(var x=0,A=0,I=0;I>>26)|0,A+=T>>>26,T&=67108863}m.words[I]=S,x=T,T=A}return x!==0?m.words[I]=x:m.length--,m._strip()}function B(b,d,m){return O(b,d,m)}s.prototype.mulTo=function(b,d){var m,x=this.length+b.length;return this.length===10&&b.length===10?m=M(this,b,d):x<63?m=k(this,b,d):x<1024?m=O(this,b,d):m=B(this,b,d),m},s.prototype.mul=function(b){var d=new s(null);return d.words=new Array(this.length+b.length),this.mulTo(b,d)},s.prototype.mulf=function(b){var d=new s(null);return d.words=new Array(this.length+b.length),B(this,b,d)},s.prototype.imul=function(b){return this.clone().mulTo(b,this)},s.prototype.imuln=function(b){var d=b<0;d&&(b=-b),n(typeof b=="number"),n(b<67108864);for(var m=0,x=0;x>=26,m+=A/67108864|0,m+=I>>>26,this.words[x]=I&67108863}return m!==0&&(this.words[x]=m,this.length++),d?this.ineg():this},s.prototype.muln=function(b){return this.clone().imuln(b)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(b){var d=R(b);if(d.length===0)return new s(1);for(var m=this,x=0;x=0);var d=b%26,m=(b-d)/26,x=67108863>>>26-d<<26-d,A;if(d!==0){var I=0;for(A=0;A>>26-d}I&&(this.words[A]=I,this.length++)}if(m!==0){for(A=this.length-1;A>=0;A--)this.words[A+m]=this.words[A];for(A=0;A=0);var x;d?x=(d-d%26)/26:x=0;var A=b%26,I=Math.min((b-A)/26,this.length),T=67108863^67108863>>>A<I)for(this.length-=I,E=0;E=0&&(_!==0||E>=x);E--){var U=this.words[E]|0;this.words[E]=_<<26-A|U>>>A,_=U&T}return S&&_!==0&&(S.words[S.length++]=_),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},s.prototype.ishrn=function(b,d,m){return n(this.negative===0),this.iushrn(b,d,m)},s.prototype.shln=function(b){return this.clone().ishln(b)},s.prototype.ushln=function(b){return this.clone().iushln(b)},s.prototype.shrn=function(b){return this.clone().ishrn(b)},s.prototype.ushrn=function(b){return this.clone().iushrn(b)},s.prototype.testn=function(b){n(typeof b=="number"&&b>=0);var d=b%26,m=(b-d)/26,x=1<=0);var d=b%26,m=(b-d)/26;if(n(this.negative===0,"imaskn works only with positive numbers"),this.length<=m)return this;if(d!==0&&m++,this.length=Math.min(m,this.length),d!==0){var x=67108863^67108863>>>d<=67108864;d++)this.words[d]-=67108864,d===this.length-1?this.words[d+1]=1:this.words[d+1]++;return this.length=Math.max(this.length,d+1),this},s.prototype.isubn=function(b){if(n(typeof b=="number"),n(b<67108864),b<0)return this.iaddn(-b);if(this.negative!==0)return this.negative=0,this.iaddn(b),this.negative=1,this;if(this.words[0]-=b,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var d=0;d>26)-(S/67108864|0),this.words[A+m]=I&67108863}for(;A>26,this.words[A+m]=I&67108863;if(T===0)return this._strip();for(n(T===-1),T=0,A=0;A>26,this.words[A]=I&67108863;return this.negative=1,this._strip()},s.prototype._wordDiv=function(b,d){var m=this.length-b.length,x=this.clone(),A=b,I=A.words[A.length-1]|0,T=this._countBits(I);m=26-T,m!==0&&(A=A.ushln(m),x.iushln(m),I=A.words[A.length-1]|0);var S=x.length-A.length,E;if(d!=="mod"){E=new s(null),E.length=S+1,E.words=new Array(E.length);for(var _=0;_=0;ie--){var q=(x.words[A.length+ie]|0)*67108864+(x.words[A.length+ie-1]|0);for(q=Math.min(q/I|0,67108863),x._ishlnsubmul(A,q,ie);x.negative!==0;)q--,x.negative=0,x._ishlnsubmul(A,1,ie),x.isZero()||(x.negative^=1);E&&(E.words[ie]=q)}return E&&E._strip(),x._strip(),d!=="div"&&m!==0&&x.iushrn(m),{div:E||null,mod:x}},s.prototype.divmod=function(b,d,m){if(n(!b.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var x,A,I;return this.negative!==0&&b.negative===0?(I=this.neg().divmod(b,d),d!=="mod"&&(x=I.div.neg()),d!=="div"&&(A=I.mod.neg(),m&&A.negative!==0&&A.iadd(b)),{div:x,mod:A}):this.negative===0&&b.negative!==0?(I=this.divmod(b.neg(),d),d!=="mod"&&(x=I.div.neg()),{div:x,mod:I.mod}):this.negative&b.negative?(I=this.neg().divmod(b.neg(),d),d!=="div"&&(A=I.mod.neg(),m&&A.negative!==0&&A.isub(b)),{div:I.div,mod:A}):b.length>this.length||this.cmp(b)<0?{div:new s(0),mod:this}:b.length===1?d==="div"?{div:this.divn(b.words[0]),mod:null}:d==="mod"?{div:null,mod:new s(this.modrn(b.words[0]))}:{div:this.divn(b.words[0]),mod:new s(this.modrn(b.words[0]))}:this._wordDiv(b,d)},s.prototype.div=function(b){return this.divmod(b,"div",!1).div},s.prototype.mod=function(b){return this.divmod(b,"mod",!1).mod},s.prototype.umod=function(b){return this.divmod(b,"mod",!0).mod},s.prototype.divRound=function(b){var d=this.divmod(b);if(d.mod.isZero())return d.div;var m=d.div.negative!==0?d.mod.isub(b):d.mod,x=b.ushrn(1),A=b.andln(1),I=m.cmp(x);return I<0||A===1&&I===0?d.div:d.div.negative!==0?d.div.isubn(1):d.div.iaddn(1)},s.prototype.modrn=function(b){var d=b<0;d&&(b=-b),n(b<=67108863);for(var m=(1<<26)%b,x=0,A=this.length-1;A>=0;A--)x=(m*x+(this.words[A]|0))%b;return d?-x:x},s.prototype.modn=function(b){return this.modrn(b)},s.prototype.idivn=function(b){var d=b<0;d&&(b=-b),n(b<=67108863);for(var m=0,x=this.length-1;x>=0;x--){var A=(this.words[x]|0)+m*67108864;this.words[x]=A/b|0,m=A%b}return this._strip(),d?this.ineg():this},s.prototype.divn=function(b){return this.clone().idivn(b)},s.prototype.egcd=function(b){n(b.negative===0),n(!b.isZero());var d=this,m=b.clone();d.negative!==0?d=d.umod(b):d=d.clone();for(var x=new s(1),A=new s(0),I=new s(0),T=new s(1),S=0;d.isEven()&&m.isEven();)d.iushrn(1),m.iushrn(1),++S;for(var E=m.clone(),_=d.clone();!d.isZero();){for(var U=0,ie=1;!(d.words[0]&ie)&&U<26;++U,ie<<=1);if(U>0)for(d.iushrn(U);U-- >0;)(x.isOdd()||A.isOdd())&&(x.iadd(E),A.isub(_)),x.iushrn(1),A.iushrn(1);for(var q=0,Y=1;!(m.words[0]&Y)&&q<26;++q,Y<<=1);if(q>0)for(m.iushrn(q);q-- >0;)(I.isOdd()||T.isOdd())&&(I.iadd(E),T.isub(_)),I.iushrn(1),T.iushrn(1);d.cmp(m)>=0?(d.isub(m),x.isub(I),A.isub(T)):(m.isub(d),I.isub(x),T.isub(A))}return{a:I,b:T,gcd:m.iushln(S)}},s.prototype._invmp=function(b){n(b.negative===0),n(!b.isZero());var d=this,m=b.clone();d.negative!==0?d=d.umod(b):d=d.clone();for(var x=new s(1),A=new s(0),I=m.clone();d.cmpn(1)>0&&m.cmpn(1)>0;){for(var T=0,S=1;!(d.words[0]&S)&&T<26;++T,S<<=1);if(T>0)for(d.iushrn(T);T-- >0;)x.isOdd()&&x.iadd(I),x.iushrn(1);for(var E=0,_=1;!(m.words[0]&_)&&E<26;++E,_<<=1);if(E>0)for(m.iushrn(E);E-- >0;)A.isOdd()&&A.iadd(I),A.iushrn(1);d.cmp(m)>=0?(d.isub(m),x.isub(A)):(m.isub(d),A.isub(x))}var U;return d.cmpn(1)===0?U=x:U=A,U.cmpn(0)<0&&U.iadd(b),U},s.prototype.gcd=function(b){if(this.isZero())return b.abs();if(b.isZero())return this.abs();var d=this.clone(),m=b.clone();d.negative=0,m.negative=0;for(var x=0;d.isEven()&&m.isEven();x++)d.iushrn(1),m.iushrn(1);do{for(;d.isEven();)d.iushrn(1);for(;m.isEven();)m.iushrn(1);var A=d.cmp(m);if(A<0){var I=d;d=m,m=I}else if(A===0||m.cmpn(1)===0)break;d.isub(m)}while(!0);return m.iushln(x)},s.prototype.invm=function(b){return this.egcd(b).a.umod(b)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(b){return this.words[0]&b},s.prototype.bincn=function(b){n(typeof b=="number");var d=b%26,m=(b-d)/26,x=1<>>26,T&=67108863,this.words[I]=T}return A!==0&&(this.words[I]=A,this.length++),this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(b){var d=b<0;if(this.negative!==0&&!d)return-1;if(this.negative===0&&d)return 1;this._strip();var m;if(this.length>1)m=1;else{d&&(b=-b),n(b<=67108863,"Number is too big");var x=this.words[0]|0;m=x===b?0:xb.length)return 1;if(this.length=0;m--){var x=this.words[m]|0,A=b.words[m]|0;if(x!==A){xA&&(d=1);break}}return d},s.prototype.gtn=function(b){return this.cmpn(b)===1},s.prototype.gt=function(b){return this.cmp(b)===1},s.prototype.gten=function(b){return this.cmpn(b)>=0},s.prototype.gte=function(b){return this.cmp(b)>=0},s.prototype.ltn=function(b){return this.cmpn(b)===-1},s.prototype.lt=function(b){return this.cmp(b)===-1},s.prototype.lten=function(b){return this.cmpn(b)<=0},s.prototype.lte=function(b){return this.cmp(b)<=0},s.prototype.eqn=function(b){return this.cmpn(b)===0},s.prototype.eq=function(b){return this.cmp(b)===0},s.red=function(b){return new W(b)},s.prototype.toRed=function(b){return n(!this.red,"Already a number in reduction context"),n(this.negative===0,"red works only with positives"),b.convertTo(this)._forceRed(b)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(b){return this.red=b,this},s.prototype.forceRed=function(b){return n(!this.red,"Already a number in reduction context"),this._forceRed(b)},s.prototype.redAdd=function(b){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,b)},s.prototype.redIAdd=function(b){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,b)},s.prototype.redSub=function(b){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,b)},s.prototype.redISub=function(b){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,b)},s.prototype.redShl=function(b){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,b)},s.prototype.redMul=function(b){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,b),this.red.mul(this,b)},s.prototype.redIMul=function(b){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,b),this.red.imul(this,b)},s.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(b){return n(this.red&&!b.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,b)};var j={k256:null,p224:null,p192:null,p25519:null};function G(b,d){this.name=b,this.p=new s(d,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}G.prototype._tmp=function(){var b=new s(null);return b.words=new Array(Math.ceil(this.n/13)),b},G.prototype.ireduce=function(b){var d=b,m;do this.split(d,this.tmp),d=this.imulK(d),d=d.iadd(this.tmp),m=d.bitLength();while(m>this.n);var x=m0?d.isub(this.p):d.strip!==void 0?d.strip():d._strip(),d},G.prototype.split=function(b,d){b.iushrn(this.n,0,d)},G.prototype.imulK=function(b){return b.imul(this.k)};function D(){G.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(D,G),D.prototype.split=function(b,d){for(var m=4194303,x=Math.min(b.length,9),A=0;A>>22,I=T}I>>>=22,b.words[A-10]=I,I===0&&b.length>10?b.length-=10:b.length-=9},D.prototype.imulK=function(b){b.words[b.length]=0,b.words[b.length+1]=0,b.length+=2;for(var d=0,m=0;m>>=26,b.words[m]=A,d=x}return d!==0&&(b.words[b.length++]=d),b},s._prime=function(b){if(j[b])return j[b];var d;if(b==="k256")d=new D;else if(b==="p224")d=new $;else if(b==="p192")d=new V;else if(b==="p25519")d=new te;else throw new Error("Unknown prime "+b);return j[b]=d,d};function W(b){if(typeof b=="string"){var d=s._prime(b);this.m=d.p,this.prime=d}else n(b.gtn(1),"modulus must be greater than 1"),this.m=b,this.prime=null}W.prototype._verify1=function(b){n(b.negative===0,"red works only with positives"),n(b.red,"red works only with red numbers")},W.prototype._verify2=function(b,d){n((b.negative|d.negative)===0,"red works only with positives"),n(b.red&&b.red===d.red,"red works only with red numbers")},W.prototype.imod=function(b){return this.prime?this.prime.ireduce(b)._forceRed(this):(h(b,b.umod(this.m)._forceRed(this)),b)},W.prototype.neg=function(b){return b.isZero()?b.clone():this.m.sub(b)._forceRed(this)},W.prototype.add=function(b,d){this._verify2(b,d);var m=b.add(d);return m.cmp(this.m)>=0&&m.isub(this.m),m._forceRed(this)},W.prototype.iadd=function(b,d){this._verify2(b,d);var m=b.iadd(d);return m.cmp(this.m)>=0&&m.isub(this.m),m},W.prototype.sub=function(b,d){this._verify2(b,d);var m=b.sub(d);return m.cmpn(0)<0&&m.iadd(this.m),m._forceRed(this)},W.prototype.isub=function(b,d){this._verify2(b,d);var m=b.isub(d);return m.cmpn(0)<0&&m.iadd(this.m),m},W.prototype.shl=function(b,d){return this._verify1(b),this.imod(b.ushln(d))},W.prototype.imul=function(b,d){return this._verify2(b,d),this.imod(b.imul(d))},W.prototype.mul=function(b,d){return this._verify2(b,d),this.imod(b.mul(d))},W.prototype.isqr=function(b){return this.imul(b,b.clone())},W.prototype.sqr=function(b){return this.mul(b,b)},W.prototype.sqrt=function(b){if(b.isZero())return b.clone();var d=this.m.andln(3);if(n(d%2===1),d===3){var m=this.m.add(new s(1)).iushrn(2);return this.pow(b,m)}for(var x=this.m.subn(1),A=0;!x.isZero()&&x.andln(1)===0;)A++,x.iushrn(1);n(!x.isZero());var I=new s(1).toRed(this),T=I.redNeg(),S=this.m.subn(1).iushrn(1),E=this.m.bitLength();for(E=new s(2*E*E).toRed(this);this.pow(E,S).cmp(T)!==0;)E.redIAdd(T);for(var _=this.pow(E,x),U=this.pow(b,x.addn(1).iushrn(1)),ie=this.pow(b,x),q=A;ie.cmp(I)!==0;){for(var Y=ie,K=0;Y.cmp(I)!==0;K++)Y=Y.redSqr();n(K=0;A--){for(var _=d.words[A],U=E-1;U>=0;U--){var ie=_>>U&1;if(I!==x[0]&&(I=this.sqr(I)),ie===0&&T===0){S=0;continue}T<<=1,T|=ie,S++,!(S!==m&&(A!==0||U!==0))&&(I=this.mul(I,x[T]),S=0,T=0)}E=26}return I},W.prototype.convertTo=function(b){var d=b.umod(this.m);return d===b?d.clone():d},W.prototype.convertFrom=function(b){var d=b.clone();return d.red=null,d},s.mont=function(b){return new P(b)};function P(b){W.call(this,b),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new s(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)}i(P,W),P.prototype.convertTo=function(b){return this.imod(b.ushln(this.shift))},P.prototype.convertFrom=function(b){var d=this.imod(b.mul(this.rinv));return d.red=null,d},P.prototype.imul=function(b,d){if(b.isZero()||d.isZero())return b.words[0]=0,b.length=1,b;var m=b.imul(d),x=m.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),A=m.isub(x).iushrn(this.shift),I=A;return A.cmp(this.m)>=0?I=A.isub(this.m):A.cmpn(0)<0&&(I=A.iadd(this.m)),I._forceRed(this)},P.prototype.mul=function(b,d){if(b.isZero()||d.isZero())return new s(0)._forceRed(this);var m=b.mul(d),x=m.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),A=m.isub(x).iushrn(this.shift),I=A;return A.cmp(this.m)>=0?I=A.isub(this.m):A.cmpn(0)<0&&(I=A.iadd(this.m)),I._forceRed(this)},P.prototype.invm=function(b){var d=this.imod(b._invmp(this.m).mul(this.r2));return d._forceRed(this)}})(r,Rde)})(Ude);var Hr=Ude.exports;const Fde="bignumber/5.7.0";var QI=Hr.BN;const s0=new Wo(Fde),EU={},jde=9007199254740991;function hZe(r){return r!=null&&(ja.isBigNumber(r)||typeof r=="number"&&r%1===0||typeof r=="string"&&!!r.match(/^-?[0-9]+$/)||Qc(r)||typeof r=="bigint"||t3(r))}let zde=!1,ja=class Ph{constructor(e,t){e!==EU&&s0.throwError("cannot call constructor directly; use BigNumber.from",Wo.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=t,this._isBigNumber=!0,Object.freeze(this)}fromTwos(e){return vc(dn(this).fromTwos(e))}toTwos(e){return vc(dn(this).toTwos(e))}abs(){return this._hex[0]==="-"?Ph.from(this._hex.substring(1)):this}add(e){return vc(dn(this).add(dn(e)))}sub(e){return vc(dn(this).sub(dn(e)))}div(e){return Ph.from(e).isZero()&&iu("division-by-zero","div"),vc(dn(this).div(dn(e)))}mul(e){return vc(dn(this).mul(dn(e)))}mod(e){const t=dn(e);return t.isNeg()&&iu("division-by-zero","mod"),vc(dn(this).umod(t))}pow(e){const t=dn(e);return t.isNeg()&&iu("negative-power","pow"),vc(dn(this).pow(t))}and(e){const t=dn(e);return(this.isNegative()||t.isNeg())&&iu("unbound-bitwise-result","and"),vc(dn(this).and(t))}or(e){const t=dn(e);return(this.isNegative()||t.isNeg())&&iu("unbound-bitwise-result","or"),vc(dn(this).or(t))}xor(e){const t=dn(e);return(this.isNegative()||t.isNeg())&&iu("unbound-bitwise-result","xor"),vc(dn(this).xor(t))}mask(e){return(this.isNegative()||e<0)&&iu("negative-width","mask"),vc(dn(this).maskn(e))}shl(e){return(this.isNegative()||e<0)&&iu("negative-width","shl"),vc(dn(this).shln(e))}shr(e){return(this.isNegative()||e<0)&&iu("negative-width","shr"),vc(dn(this).shrn(e))}eq(e){return dn(this).eq(dn(e))}lt(e){return dn(this).lt(dn(e))}lte(e){return dn(this).lte(dn(e))}gt(e){return dn(this).gt(dn(e))}gte(e){return dn(this).gte(dn(e))}isNegative(){return this._hex[0]==="-"}isZero(){return dn(this).isZero()}toNumber(){try{return dn(this).toNumber()}catch{iu("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch{}return s0.throwError("this platform does not support BigInt",Wo.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(arguments[0]===10?zde||(zde=!0,s0.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):arguments[0]===16?s0.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",Wo.errors.UNEXPECTED_ARGUMENT,{}):s0.throwError("BigNumber.toString does not accept parameters",Wo.errors.UNEXPECTED_ARGUMENT,{})),dn(this).toString(10)}toHexString(){return this._hex}toJSON(e){return{type:"BigNumber",hex:this.toHexString()}}static from(e){if(e instanceof Ph)return e;if(typeof e=="string")return e.match(/^-?0x[0-9a-f]+$/i)?new Ph(EU,X8(e)):e.match(/^-?[0-9]+$/)?new Ph(EU,X8(new QI(e))):s0.throwArgumentError("invalid BigNumber string","value",e);if(typeof e=="number")return e%1&&iu("underflow","BigNumber.from",e),(e>=jde||e<=-jde)&&iu("overflow","BigNumber.from",e),Ph.from(String(e));const t=e;if(typeof t=="bigint")return Ph.from(t.toString());if(t3(t))return Ph.from(Fa(t));if(t)if(t.toHexString){const n=t.toHexString();if(typeof n=="string")return Ph.from(n)}else{let n=t._hex;if(n==null&&t.type==="BigNumber"&&(n=t.hex),typeof n=="string"&&(Qc(n)||n[0]==="-"&&Qc(n.substring(1))))return Ph.from(n)}return s0.throwArgumentError("invalid BigNumber value","value",e)}static isBigNumber(e){return!!(e&&e._isBigNumber)}};function X8(r){if(typeof r!="string")return X8(r.toString(16));if(r[0]==="-")return r=r.substring(1),r[0]==="-"&&s0.throwArgumentError("invalid hex","value",r),r=X8(r),r==="0x00"?r:"-"+r;if(r.substring(0,2)!=="0x"&&(r="0x"+r),r==="0x")return"0x00";for(r.length%2&&(r="0x0"+r.substring(2));r.length>4&&r.substring(0,4)==="0x00";)r="0x"+r.substring(4);return r}function vc(r){return ja.from(X8(r))}function dn(r){const e=ja.from(r).toHexString();return e[0]==="-"?new QI("-"+e.substring(3),16):new QI(e.substring(2),16)}function iu(r,e,t){const n={fault:r,operation:e};return t!=null&&(n.value=t),s0.throwError(r,Wo.errors.NUMERIC_FAULT,n)}function fZe(r){return new QI(r,36).toString(16)}const za=new Wo(Fde),ex={},Hde=ja.from(0),qde=ja.from(-1);function Wde(r,e,t,n){const i={fault:e,operation:t};return n!==void 0&&(i.value=n),za.throwError(r,Wo.errors.NUMERIC_FAULT,i)}let tx="0";for(;tx.length<256;)tx+=tx;function AU(r){if(typeof r!="number")try{r=ja.from(r).toNumber()}catch{}return typeof r=="number"&&r>=0&&r<=256&&!(r%1)?"1"+tx.substring(0,r):za.throwArgumentError("invalid decimal size","decimals",r)}function CU(r,e){e==null&&(e=0);const t=AU(e);r=ja.from(r);const n=r.lt(Hde);n&&(r=r.mul(qde));let i=r.mod(t).toString();for(;i.length2&&za.throwArgumentError("too many decimal points","value",r);let s=i[0],o=i[1];for(s||(s="0"),o||(o="0");o[o.length-1]==="0";)o=o.substring(0,o.length-1);for(o.length>t.length-1&&Wde("fractional component exceeds decimals","underflow","parseFixed"),o===""&&(o="0");o.lengthe[o]==null?l:(typeof e[o]!==a&&za.throwArgumentError("invalid fixed format ("+o+" not "+a+")","format."+o,e[o]),e[o]);t=s("signed","boolean",t),n=s("width","number",n),i=s("decimals","number",i)}return n%8&&za.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",n),i>80&&za.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",i),new gK(ex,t,n,i)}},Vde=class ic{constructor(e,t,n,i){e!==ex&&za.throwError("cannot use FixedNumber constructor; use FixedNumber.from",Wo.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.format=i,this._hex=t,this._value=n,this._isFixedNumber=!0,Object.freeze(this)}_checkFormat(e){this.format.name!==e.format.name&&za.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",e)}addUnsafe(e){this._checkFormat(e);const t=o0(this._value,this.format.decimals),n=o0(e._value,e.format.decimals);return ic.fromValue(t.add(n),this.format.decimals,this.format)}subUnsafe(e){this._checkFormat(e);const t=o0(this._value,this.format.decimals),n=o0(e._value,e.format.decimals);return ic.fromValue(t.sub(n),this.format.decimals,this.format)}mulUnsafe(e){this._checkFormat(e);const t=o0(this._value,this.format.decimals),n=o0(e._value,e.format.decimals);return ic.fromValue(t.mul(n).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(e){this._checkFormat(e);const t=o0(this._value,this.format.decimals),n=o0(e._value,e.format.decimals);return ic.fromValue(t.mul(this.format._multiplier).div(n),this.format.decimals,this.format)}floor(){const e=this.toString().split(".");e.length===1&&e.push("0");let t=ic.from(e[0],this.format);const n=!e[1].match(/^(0*)$/);return this.isNegative()&&n&&(t=t.subUnsafe(Gde.toFormat(t.format))),t}ceiling(){const e=this.toString().split(".");e.length===1&&e.push("0");let t=ic.from(e[0],this.format);const n=!e[1].match(/^(0*)$/);return!this.isNegative()&&n&&(t=t.addUnsafe(Gde.toFormat(t.format))),t}round(e){e==null&&(e=0);const t=this.toString().split(".");if(t.length===1&&t.push("0"),(e<0||e>80||e%1)&&za.throwArgumentError("invalid decimal count","decimals",e),t[1].length<=e)return this;const n=ic.from("1"+tx.substring(0,e),this.format),i=dZe.toFormat(this.format);return this.mulUnsafe(n).addUnsafe(i).floor().divUnsafe(n)}isZero(){return this._value==="0.0"||this._value==="0"}isNegative(){return this._value[0]==="-"}toString(){return this._value}toHexString(e){if(e==null)return this._hex;e%8&&za.throwArgumentError("invalid byte width","width",e);const t=ja.from(this._hex).fromTwos(this.format.width).toTwos(e).toHexString();return Sf(t,e/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(e){return ic.fromString(this._value,e)}static fromValue(e,t,n){return n==null&&t!=null&&!hZe(t)&&(n=t,t=null),t==null&&(t=0),n==null&&(n="fixed"),ic.fromString(CU(e,t),SU.from(n))}static fromString(e,t){t==null&&(t="fixed");const n=SU.from(t),i=o0(e,n.decimals);!n.signed&&i.lt(Hde)&&Wde("unsigned value cannot be negative","overflow","value",e);let s=null;n.signed?s=i.toTwos(n.width).toHexString():(s=i.toHexString(),s=Sf(s,n.width/8));const o=CU(i,n.decimals);return new ic(ex,s,o,n)}static fromBytes(e,t){t==null&&(t="fixed");const n=SU.from(t);if(us(e).length>n.width/8)throw new Error("overflow");let i=ja.from(e);n.signed&&(i=i.fromTwos(n.width));const s=i.toTwos((n.signed?0:1)+n.width).toHexString(),o=CU(i,n.decimals);return new ic(ex,s,o,n)}static from(e,t){if(typeof e=="string")return ic.fromString(e,t);if(t3(e))return ic.fromBytes(e,t);try{return ic.fromValue(e,0,t)}catch(n){if(n.code!==Wo.errors.INVALID_ARGUMENT)throw n}return za.throwArgumentError("invalid FixedNumber value","value",e)}static isFixedNumber(e){return!!(e&&e._isFixedNumber)}};const Gde=Vde.from(1),dZe=Vde.from("0.5"),pZe="strings/5.7.0",gZe=new Wo(pZe);var XI;(function(r){r.current="",r.NFC="NFC",r.NFD="NFD",r.NFKC="NFKC",r.NFKD="NFKD"})(XI||(XI={}));var Kde;(function(r){r.UNEXPECTED_CONTINUE="unexpected continuation byte",r.BAD_PREFIX="bad codepoint prefix",r.OVERRUN="string overrun",r.MISSING_CONTINUE="missing continuation byte",r.OUT_OF_RANGE="out of UTF-8 range",r.UTF16_SURROGATE="UTF-16 surrogate",r.OVERLONG="overlong representation"})(Kde||(Kde={}));function IU(r,e=XI.current){e!=XI.current&&(gZe.checkNormalize(),r=r.normalize(e));let t=[];for(let n=0;n>6|192),t.push(i&63|128);else if((i&64512)==55296){n++;const s=r.charCodeAt(n);if(n>=r.length||(s&64512)!==56320)throw new Error("invalid utf-8 string");const o=65536+((i&1023)<<10)+(s&1023);t.push(o>>18|240),t.push(o>>12&63|128),t.push(o>>6&63|128),t.push(o&63|128)}else t.push(i>>12|224),t.push(i>>6&63|128),t.push(i&63|128)}return us(t)}function mZe(r){if(r.length%4!==0)throw new Error("bad data");let e=[];for(let t=0;t{let s=i.split(":");t+=parseInt(s[0],16),n[t]=e(s[1])}),n}function Zde(r){let e=0;return r.split(",").map(t=>{let n=t.split("-");n.length===1?n[1]="0":n[1]===""&&(n[1]="1");let i=e+parseInt(n[0],16);return e=parseInt(n[1],16),{l:i,h:e}})}Zde("221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d"),"ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map(r=>parseInt(r,16)),RU("b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3"),RU("179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7"),RU("df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D",mZe),Zde("80-20,2a0-,39c,32,f71,18e,7f2-f,19-7,30-4,7-5,f81-b,5,a800-20ff,4d1-1f,110,fa-6,d174-7,2e84-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,2,1f-5f,ff7f-20001");function bZe(r){r=atob(r);const e=[];for(let t=0;t0&&Array.isArray(a)?i(a,o-1):t.push(a)})};return i(r,e),t}function wZe(r){const e={};for(let t=0;t>--l&1}const p=31,g=Math.pow(2,p),w=g>>>1,y=w>>1,C=g-1;let R=0;for(let j=0;j1;){let te=G+D>>>1;j>>1|h(),$=$<<1^w,V=(V^w)<<1|w|1;M=$,O=1+V-$}let B=n-4;return k.map(j=>{switch(j-B){case 3:return B+65792+(r[a++]<<16|r[a++]<<8|r[a++]);case 2:return B+256+(r[a++]<<8|r[a++]);case 1:return B+r[a++];default:return j-1}})}function yZe(r){let e=0;return()=>r[e++]}function xZe(r){return yZe(vZe(r))}function _Ze(r){return r&1?~r>>1:r>>1}function EZe(r,e){let t=Array(r);for(let n=0;ne[o]):t}function CZe(r){let e=[];for(;;){let t=r();if(t==0)break;e.push(IZe(t,r))}for(;;){let t=r()-1;if(t<0)break;e.push(RZe(t,r))}return wZe(Jde(e))}function SZe(r){let e=[];for(;;){let t=r();if(t==0)break;e.push(t)}return e}function Qde(r,e,t){let n=Array(r).fill(void 0).map(()=>[]);for(let i=0;in[o].push(s));return n}function IZe(r,e){let t=1+e(),n=e(),i=SZe(e),s=Qde(i.length,1+r,e);return Jde(s.map((o,a)=>{const l=o[0],u=o.slice(1);return Array(i[a]).fill(void 0).map((h,p)=>{let g=p*n;return[l+p*t,u.map(w=>w+g)]})}))}function RZe(r,e){let t=1+e();return Qde(t,1+r,e).map(n=>[n[0],n.slice(1)])}function TZe(r){let e=eR(r).sort((n,i)=>n-i);return t();function t(){let n=[];for(;;){let u=eR(r,e);if(u.length==0)break;n.push({set:new Set(u),node:t()})}n.sort((u,h)=>h.set.size-u.set.size);let i=r(),s=i%3;i=i/3|0;let o=!!(i&1);i>>=1;let a=i==1,l=i==2;return{branches:n,valid:s,fe0f:o,save:a,check:l}}}function kZe(){return xZe(bZe("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"))}const tR=kZe();new Set(eR(tR)),new Set(eR(tR)),CZe(tR),TZe(tR),new Uint8Array(32).fill(0);const MZe=`Ethereum Signed Message: -`;function Xde(r){return typeof r=="string"&&(r=IU(r)),_U(sZe([IU(MZe),IU(String(r.length)),r]))}const NZe="address/5.7.0",rx=new Wo(NZe);function e0e(r){Qc(r,20)||rx.throwArgumentError("invalid address","address",r),r=r.toLowerCase();const e=r.substring(2).split(""),t=new Uint8Array(40);for(let i=0;i<40;i++)t[i]=e[i].charCodeAt(0);const n=us(_U(t));for(let i=0;i<40;i+=2)n[i>>1]>>4>=8&&(e[i]=e[i].toUpperCase()),(n[i>>1]&15)>=8&&(e[i+1]=e[i+1].toUpperCase());return"0x"+e.join("")}const PZe=9007199254740991;function OZe(r){return Math.log10?Math.log10(r):Math.log(r)/Math.LN10}const TU={};for(let r=0;r<10;r++)TU[String(r)]=String(r);for(let r=0;r<26;r++)TU[String.fromCharCode(65+r)]=String(10+r);const t0e=Math.floor(OZe(PZe));function DZe(r){r=r.toUpperCase(),r=r.substring(4)+r.substring(0,2)+"00";let e=r.split("").map(n=>TU[n]).join("");for(;e.length>=t0e;){let n=e.substring(0,t0e);e=parseInt(n,10)%97+e.substring(n.length)}let t=String(98-parseInt(e,10)%97);for(;t.length<2;)t="0"+t;return t}function $Ze(r){let e=null;if(typeof r!="string"&&rx.throwArgumentError("invalid address","address",r),r.match(/^(0x)?[0-9a-fA-F]{40}$/))r.substring(0,2)!=="0x"&&(r="0x"+r),e=e0e(r),r.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&e!==r&&rx.throwArgumentError("bad address checksum","address",r);else if(r.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(r.substring(2,4)!==DZe(r)&&rx.throwArgumentError("bad icap checksum","address",r),e=fZe(r.substring(4));e.length<40;)e="0"+e;e=e0e("0x"+e)}else rx.throwArgumentError("invalid address","address",r);return e}function nx(r,e,t){Object.defineProperty(r,e,{enumerable:!0,value:t,writable:!1})}new Uint8Array(32).fill(0),ja.from(-1);const BZe=ja.from(0),LZe=ja.from(1);ja.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Sf(LZe.toHexString(),32),Sf(BZe.toHexString(),32);var If={},pn={},ix=r0e;function r0e(r,e){if(!r)throw new Error(e||"Assertion failed")}r0e.equal=function(r,e,t){if(r!=e)throw new Error(t||"Assertion failed: "+r+" != "+e)};var kU={exports:{}};typeof Object.create=="function"?kU.exports=function(r,e){e&&(r.super_=e,r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}))}:kU.exports=function(r,e){if(e){r.super_=e;var t=function(){};t.prototype=e.prototype,r.prototype=new t,r.prototype.constructor=r}};var UZe=ix,FZe=kU.exports;pn.inherits=FZe;function jZe(r,e){return(r.charCodeAt(e)&64512)!==55296||e<0||e+1>=r.length?!1:(r.charCodeAt(e+1)&64512)===56320}function zZe(r,e){if(Array.isArray(r))return r.slice();if(!r)return[];var t=[];if(typeof r=="string")if(e){if(e==="hex")for(r=r.replace(/[^a-z0-9]+/ig,""),r.length%2!==0&&(r="0"+r),i=0;i>6|192,t[n++]=s&63|128):jZe(r,i)?(s=65536+((s&1023)<<10)+(r.charCodeAt(++i)&1023),t[n++]=s>>18|240,t[n++]=s>>12&63|128,t[n++]=s>>6&63|128,t[n++]=s&63|128):(t[n++]=s>>12|224,t[n++]=s>>6&63|128,t[n++]=s&63|128)}else for(i=0;i>>24|r>>>8&65280|r<<8&16711680|(r&255)<<24;return e>>>0}pn.htonl=n0e;function qZe(r,e){for(var t="",n=0;n>>0}return s}pn.join32=WZe;function VZe(r,e){for(var t=new Array(r.length*4),n=0,i=0;n>>24,t[i+1]=s>>>16&255,t[i+2]=s>>>8&255,t[i+3]=s&255):(t[i+3]=s>>>24,t[i+2]=s>>>16&255,t[i+1]=s>>>8&255,t[i]=s&255)}return t}pn.split32=VZe;function GZe(r,e){return r>>>e|r<<32-e}pn.rotr32=GZe;function KZe(r,e){return r<>>32-e}pn.rotl32=KZe;function ZZe(r,e){return r+e>>>0}pn.sum32=ZZe;function JZe(r,e,t){return r+e+t>>>0}pn.sum32_3=JZe;function YZe(r,e,t,n){return r+e+t+n>>>0}pn.sum32_4=YZe;function QZe(r,e,t,n,i){return r+e+t+n+i>>>0}pn.sum32_5=QZe;function XZe(r,e,t,n){var i=r[e],s=r[e+1],o=n+s>>>0,a=(o>>0,r[e+1]=o}pn.sum64=XZe;function eJe(r,e,t,n){var i=e+n>>>0,s=(i>>0}pn.sum64_hi=eJe;function tJe(r,e,t,n){var i=e+n;return i>>>0}pn.sum64_lo=tJe;function rJe(r,e,t,n,i,s,o,a){var l=0,u=e;u=u+n>>>0,l+=u>>0,l+=u>>0,l+=u>>0}pn.sum64_4_hi=rJe;function nJe(r,e,t,n,i,s,o,a){var l=e+n+s+a;return l>>>0}pn.sum64_4_lo=nJe;function iJe(r,e,t,n,i,s,o,a,l,u){var h=0,p=e;p=p+n>>>0,h+=p>>0,h+=p>>0,h+=p>>0,h+=p>>0}pn.sum64_5_hi=iJe;function sJe(r,e,t,n,i,s,o,a,l,u){var h=e+n+s+a+u;return h>>>0}pn.sum64_5_lo=sJe;function oJe(r,e,t){var n=e<<32-t|r>>>t;return n>>>0}pn.rotr64_hi=oJe;function aJe(r,e,t){var n=r<<32-t|e>>>t;return n>>>0}pn.rotr64_lo=aJe;function cJe(r,e,t){return r>>>t}pn.shr64_hi=cJe;function lJe(r,e,t){var n=r<<32-t|e>>>t;return n>>>0}pn.shr64_lo=lJe;var r3={},o0e=pn,uJe=ix;function rR(){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}r3.BlockHash=rR,rR.prototype.update=function(r,e){if(r=o0e.toArray(r,e),this.pending?this.pending=this.pending.concat(r):this.pending=r,this.pendingTotal+=r.length,this.pending.length>=this._delta8){r=this.pending;var t=r.length%this._delta8;this.pending=r.slice(r.length-t,r.length),this.pending.length===0&&(this.pending=null),r=o0e.join32(r,0,r.length-t,this.endian);for(var n=0;n>>24&255,n[i++]=r>>>16&255,n[i++]=r>>>8&255,n[i++]=r&255}else for(n[i++]=r&255,n[i++]=r>>>8&255,n[i++]=r>>>16&255,n[i++]=r>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,s=8;s>>3}Rf.g0_256=gJe;function mJe(r){return Tf(r,17)^Tf(r,19)^r>>>10}Rf.g1_256=mJe;var i3=pn,bJe=r3,wJe=Rf,MU=i3.rotl32,sx=i3.sum32,vJe=i3.sum32_5,yJe=wJe.ft_1,u0e=bJe.BlockHash,xJe=[1518500249,1859775393,2400959708,3395469782];function kf(){if(!(this instanceof kf))return new kf;u0e.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}i3.inherits(kf,u0e);var _Je=kf;kf.blockSize=512,kf.outSize=160,kf.hmacStrength=80,kf.padLength=64,kf.prototype._update=function(r,e){for(var t=this.W,n=0;n<16;n++)t[n]=r[e+n];for(;nthis.blockSize&&(r=new this.Hash().update(r).digest()),lYe(r.length<=this.blockSize);for(var e=r.length;e>8,g=h&255;p?l.push(p,g):l.push(g)}return l}t.toArray=n;function i(o){return o.length===1?"0"+o:o}t.zero2=i;function s(o){for(var a="",l=0;l(g>>1)-1?C=(g>>1)-R:C=R,w.isubn(C)):C=0,p[y]=C,w.iushrn(1)}return p}t.getNAF=n;function i(l,u){var h=[[],[]];l=l.clone(),u=u.clone();for(var p=0,g=0,w;l.cmpn(-p)>0||u.cmpn(-g)>0;){var y=l.andln(3)+p&3,C=u.andln(3)+g&3;y===3&&(y=-1),C===3&&(C=-1);var R;y&1?(w=l.andln(7)+p&7,(w===3||w===5)&&C===2?R=-y:R=y):R=0,h[0].push(R);var k;C&1?(w=u.andln(7)+g&7,(w===3||w===5)&&y===2?k=-C:k=C):k=0,h[1].push(k),2*p===R+1&&(p=1-p),2*g===k+1&&(g=1-g),l.iushrn(1),u.iushrn(1)}return h}t.getJSF=i;function s(l,u,h){var p="_"+u;l.prototype[u]=function(){return this[p]!==void 0?this[p]:this[p]=h.call(this)}}t.cachedProperty=s;function o(l){return typeof l=="string"?t.toArray(l,"hex"):l}t.parseBytes=o;function a(l){return new Hr(l,"hex","le")}t.intFromLE=a}),iR=Xc.getNAF,fYe=Xc.getJSF,sR=Xc.assert;function I1(r,e){this.type=r,this.p=new Hr(e.p,16),this.red=e.prime?Hr.red(e.prime):Hr.mont(this.p),this.zero=new Hr(0).toRed(this.red),this.one=new Hr(1).toRed(this.red),this.two=new Hr(2).toRed(this.red),this.n=e.n&&new Hr(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var t=this.n&&this.p.div(this.n);!t||t.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var h2=I1;I1.prototype.point=function(){throw new Error("Not implemented")},I1.prototype.validate=function(){throw new Error("Not implemented")},I1.prototype._fixedNafMul=function(r,e){sR(r.precomputed);var t=r._getDoubles(),n=iR(e,1,this._bitLength),i=(1<=o;l--)a=(a<<1)+n[l];s.push(a)}for(var u=this.jpoint(null,null,null),h=this.jpoint(null,null,null),p=i;p>0;p--){for(o=0;o=0;a--){for(var l=0;a>=0&&s[a]===0;a--)l++;if(a>=0&&l++,o=o.dblp(l),a<0)break;var u=s[a];sR(u!==0),r.type==="affine"?u>0?o=o.mixedAdd(i[u-1>>1]):o=o.mixedAdd(i[-u-1>>1].neg()):u>0?o=o.add(i[u-1>>1]):o=o.add(i[-u-1>>1].neg())}return r.type==="affine"?o.toP():o},I1.prototype._wnafMulAdd=function(r,e,t,n,i){var s=this._wnafT1,o=this._wnafT2,a=this._wnafT3,l=0,u,h,p;for(u=0;u=1;u-=2){var w=u-1,y=u;if(s[w]!==1||s[y]!==1){a[w]=iR(t[w],s[w],this._bitLength),a[y]=iR(t[y],s[y],this._bitLength),l=Math.max(a[w].length,l),l=Math.max(a[y].length,l);continue}var C=[e[w],null,null,e[y]];e[w].y.cmp(e[y].y)===0?(C[1]=e[w].add(e[y]),C[2]=e[w].toJ().mixedAdd(e[y].neg())):e[w].y.cmp(e[y].y.redNeg())===0?(C[1]=e[w].toJ().mixedAdd(e[y]),C[2]=e[w].add(e[y].neg())):(C[1]=e[w].toJ().mixedAdd(e[y]),C[2]=e[w].toJ().mixedAdd(e[y].neg()));var R=[-3,-1,-5,-7,0,7,5,1,3],k=fYe(t[w],t[y]);for(l=Math.max(k[0].length,l),a[w]=new Array(l),a[y]=new Array(l),h=0;h=0;u--){for(var G=0;u>=0;){var D=!0;for(h=0;h=0&&G++,B=B.dblp(G),u<0)break;for(h=0;h0?p=o[h][$-1>>1]:$<0&&(p=o[h][-$-1>>1].neg()),p.type==="affine"?B=B.mixedAdd(p):B=B.add(p))}}for(u=0;u=Math.ceil((r.bitLength()+1)/e.step):!1},su.prototype._getDoubles=function(r,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var t=[this],n=this,i=0;i=0&&(g=l,w=u),h.negative&&(h=h.neg(),p=p.neg()),g.negative&&(g=g.neg(),w=w.neg()),[{a:h,b:p},{a:g,b:w}]},ou.prototype._endoSplit=function(r){var e=this.endo.basis,t=e[0],n=e[1],i=n.b.mul(r).divRound(this.n),s=t.b.neg().mul(r).divRound(this.n),o=i.mul(t.a),a=s.mul(n.a),l=i.mul(t.b),u=s.mul(n.b),h=r.sub(o).sub(a),p=l.add(u).neg();return{k1:h,k2:p}},ou.prototype.pointFromX=function(r,e){r=new Hr(r,16),r.red||(r=r.toRed(this.red));var t=r.redSqr().redMul(r).redIAdd(r.redMul(this.a)).redIAdd(this.b),n=t.redSqrt();if(n.redSqr().redSub(t).cmp(this.zero)!==0)throw new Error("invalid point");var i=n.fromRed().isOdd();return(e&&!i||!e&&i)&&(n=n.redNeg()),this.point(r,n)},ou.prototype.validate=function(r){if(r.inf)return!0;var e=r.x,t=r.y,n=this.a.redMul(e),i=e.redSqr().redMul(e).redIAdd(n).redIAdd(this.b);return t.redSqr().redISub(i).cmpn(0)===0},ou.prototype._endoWnafMulAdd=function(r,e,t){for(var n=this._endoWnafT1,i=this._endoWnafT2,s=0;s":""},Io.prototype.isInfinity=function(){return this.inf},Io.prototype.add=function(r){if(this.inf)return r;if(r.inf)return this;if(this.eq(r))return this.dbl();if(this.neg().eq(r))return this.curve.point(null,null);if(this.x.cmp(r.x)===0)return this.curve.point(null,null);var e=this.y.redSub(r.y);e.cmpn(0)!==0&&(e=e.redMul(this.x.redSub(r.x).redInvm()));var t=e.redSqr().redISub(this.x).redISub(r.x),n=e.redMul(this.x.redSub(t)).redISub(this.y);return this.curve.point(t,n)},Io.prototype.dbl=function(){if(this.inf)return this;var r=this.y.redAdd(this.y);if(r.cmpn(0)===0)return this.curve.point(null,null);var e=this.curve.a,t=this.x.redSqr(),n=r.redInvm(),i=t.redAdd(t).redIAdd(t).redIAdd(e).redMul(n),s=i.redSqr().redISub(this.x.redAdd(this.x)),o=i.redMul(this.x.redSub(s)).redISub(this.y);return this.curve.point(s,o)},Io.prototype.getX=function(){return this.x.fromRed()},Io.prototype.getY=function(){return this.y.fromRed()},Io.prototype.mul=function(r){return r=new Hr(r,16),this.isInfinity()?this:this._hasDoubles(r)?this.curve._fixedNafMul(this,r):this.curve.endo?this.curve._endoWnafMulAdd([this],[r]):this.curve._wnafMul(this,r)},Io.prototype.mulAdd=function(r,e,t){var n=[this,e],i=[r,t];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},Io.prototype.jmulAdd=function(r,e,t){var n=[this,e],i=[r,t];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},Io.prototype.eq=function(r){return this===r||this.inf===r.inf&&(this.inf||this.x.cmp(r.x)===0&&this.y.cmp(r.y)===0)},Io.prototype.neg=function(r){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(r&&this.precomputed){var t=this.precomputed,n=function(i){return i.neg()};e.precomputed={naf:t.naf&&{wnd:t.naf.wnd,points:t.naf.points.map(n)},doubles:t.doubles&&{step:t.doubles.step,points:t.doubles.points.map(n)}}}return e},Io.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var r=this.curve.jpoint(this.x,this.y,this.curve.one);return r};function Vo(r,e,t,n){h2.BasePoint.call(this,r,"jacobian"),e===null&&t===null&&n===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new Hr(0)):(this.x=new Hr(e,16),this.y=new Hr(t,16),this.z=new Hr(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.zOne=this.z===this.curve.one}BU(Vo,h2.BasePoint),ou.prototype.jpoint=function(r,e,t){return new Vo(this,r,e,t)},Vo.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var r=this.z.redInvm(),e=r.redSqr(),t=this.x.redMul(e),n=this.y.redMul(e).redMul(r);return this.curve.point(t,n)},Vo.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},Vo.prototype.add=function(r){if(this.isInfinity())return r;if(r.isInfinity())return this;var e=r.z.redSqr(),t=this.z.redSqr(),n=this.x.redMul(e),i=r.x.redMul(t),s=this.y.redMul(e.redMul(r.z)),o=r.y.redMul(t.redMul(this.z)),a=n.redSub(i),l=s.redSub(o);if(a.cmpn(0)===0)return l.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var u=a.redSqr(),h=u.redMul(a),p=n.redMul(u),g=l.redSqr().redIAdd(h).redISub(p).redISub(p),w=l.redMul(p.redISub(g)).redISub(s.redMul(h)),y=this.z.redMul(r.z).redMul(a);return this.curve.jpoint(g,w,y)},Vo.prototype.mixedAdd=function(r){if(this.isInfinity())return r.toJ();if(r.isInfinity())return this;var e=this.z.redSqr(),t=this.x,n=r.x.redMul(e),i=this.y,s=r.y.redMul(e).redMul(this.z),o=t.redSub(n),a=i.redSub(s);if(o.cmpn(0)===0)return a.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var l=o.redSqr(),u=l.redMul(o),h=t.redMul(l),p=a.redSqr().redIAdd(u).redISub(h).redISub(h),g=a.redMul(h.redISub(p)).redISub(i.redMul(u)),w=this.z.redMul(o);return this.curve.jpoint(p,g,w)},Vo.prototype.dblp=function(r){if(r===0)return this;if(this.isInfinity())return this;if(!r)return this.dbl();var e;if(this.curve.zeroA||this.curve.threeA){var t=this;for(e=0;e=0)return!1;if(t.redIAdd(i),this.x.cmp(t)===0)return!0}},Vo.prototype.inspect=function(){return this.isInfinity()?"":""},Vo.prototype.isInfinity=function(){return this.z.cmpn(0)===0};var oR=c3(function(r,e){var t=e;t.base=h2,t.short=pYe,t.mont=null,t.edwards=null}),aR=c3(function(r,e){var t=e,n=Xc.assert;function i(a){a.type==="short"?this.curve=new oR.short(a):a.type==="edwards"?this.curve=new oR.edwards(a):this.curve=new oR.mont(a),this.g=this.curve.g,this.n=this.curve.n,this.hash=a.hash,n(this.g.validate(),"Invalid curve"),n(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}t.PresetCurve=i;function s(a,l){Object.defineProperty(t,a,{configurable:!0,enumerable:!0,get:function(){var u=new i(l);return Object.defineProperty(t,a,{configurable:!0,enumerable:!0,value:u}),u}})}s("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:If.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),s("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:If.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),s("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:If.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),s("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:If.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"]}),s("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:If.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"]}),s("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:If.sha256,gRed:!1,g:["9"]}),s("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:If.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var o;try{o=null.crash()}catch{o=void 0}s("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:If.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",o]})});function R1(r){if(!(this instanceof R1))return new R1(r);this.hash=r.hash,this.predResist=!!r.predResist,this.outLen=this.hash.outSize,this.minEntropy=r.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=oh.toArray(r.entropy,r.entropyEnc||"hex"),t=oh.toArray(r.nonce,r.nonceEnc||"hex"),n=oh.toArray(r.pers,r.persEnc||"hex");$U(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,t,n)}var C0e=R1;R1.prototype._init=function(r,e,t){var n=r.concat(e).concat(t);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(r.concat(t||[])),this._reseed=1},R1.prototype.generate=function(r,e,t,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof e!="string"&&(n=t,t=e,e=null),t&&(t=oh.toArray(t,n||"hex"),this._update(t));for(var i=[];i.length"};var gYe=Xc.assert;function cR(r,e){if(r instanceof cR)return r;this._importDER(r,e)||(gYe(r.r&&r.s,"Signature without r or s"),this.r=new Hr(r.r,16),this.s=new Hr(r.s,16),r.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=r.recoveryParam)}var lR=cR;function mYe(){this.place=0}function FU(r,e){var t=r[e.place++];if(!(t&128))return t;var n=t&15;if(n===0||n>4)return!1;for(var i=0,s=0,o=e.place;s>>=0;return i<=127?!1:(e.place=o,i)}function S0e(r){for(var e=0,t=r.length-1;!r[e]&&!(r[e+1]&128)&&e>>3);for(r.push(t|128);--t;)r.push(e>>>(t<<3)&255);r.push(e)}cR.prototype.toDER=function(r){var e=this.r.toArray(),t=this.s.toArray();for(e[0]&128&&(e=[0].concat(e)),t[0]&128&&(t=[0].concat(t)),e=S0e(e),t=S0e(t);!t[0]&&!(t[1]&128);)t=t.slice(1);var n=[2];jU(n,e.length),n=n.concat(e),n.push(2),jU(n,t.length);var i=n.concat(t),s=[48];return jU(s,i.length),s=s.concat(i),Xc.encode(s,r)};var bYe=function(){throw new Error("unsupported")},I0e=Xc.assert;function au(r){if(!(this instanceof au))return new au(r);typeof r=="string"&&(I0e(Object.prototype.hasOwnProperty.call(aR,r),"Unknown curve "+r),r=aR[r]),r instanceof aR.PresetCurve&&(r={curve:r}),this.curve=r.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=r.curve.g,this.g.precompute(r.curve.n.bitLength()+1),this.hash=r.hash||r.curve.hash}var wYe=au;au.prototype.keyPair=function(r){return new UU(this,r)},au.prototype.keyFromPrivate=function(r,e){return UU.fromPrivate(this,r,e)},au.prototype.keyFromPublic=function(r,e){return UU.fromPublic(this,r,e)},au.prototype.genKeyPair=function(r){r||(r={});for(var e=new C0e({hash:this.hash,pers:r.pers,persEnc:r.persEnc||"utf8",entropy:r.entropy||bYe(this.hash.hmacStrength),entropyEnc:r.entropy&&r.entropyEnc||"utf8",nonce:this.n.toArray()}),t=this.n.byteLength(),n=this.n.sub(new Hr(2));;){var i=new Hr(e.generate(t));if(!(i.cmp(n)>0))return i.iaddn(1),this.keyFromPrivate(i)}},au.prototype._truncateToN=function(r,e){var t=r.byteLength()*8-this.n.bitLength();return t>0&&(r=r.ushrn(t)),!e&&r.cmp(this.n)>=0?r.sub(this.n):r},au.prototype.sign=function(r,e,t,n){typeof t=="object"&&(n=t,t=null),n||(n={}),e=this.keyFromPrivate(e,t),r=this._truncateToN(new Hr(r,16));for(var i=this.n.byteLength(),s=e.getPrivate().toArray("be",i),o=r.toArray("be",i),a=new C0e({hash:this.hash,entropy:s,nonce:o,pers:n.pers,persEnc:n.persEnc||"utf8"}),l=this.n.sub(new Hr(1)),u=0;;u++){var h=n.k?n.k(u):new Hr(a.generate(this.n.byteLength()));if(h=this._truncateToN(h,!0),!(h.cmpn(1)<=0||h.cmp(l)>=0)){var p=this.g.mul(h);if(!p.isInfinity()){var g=p.getX(),w=g.umod(this.n);if(w.cmpn(0)!==0){var y=h.invm(this.n).mul(w.mul(e.getPrivate()).iadd(r));if(y=y.umod(this.n),y.cmpn(0)!==0){var C=(p.getY().isOdd()?1:0)|(g.cmp(w)!==0?2:0);return n.canonical&&y.cmp(this.nh)>0&&(y=this.n.sub(y),C^=1),new lR({r:w,s:y,recoveryParam:C})}}}}}},au.prototype.verify=function(r,e,t,n){r=this._truncateToN(new Hr(r,16)),t=this.keyFromPublic(t,n),e=new lR(e,"hex");var i=e.r,s=e.s;if(i.cmpn(1)<0||i.cmp(this.n)>=0||s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;var o=s.invm(this.n),a=o.mul(r).umod(this.n),l=o.mul(i).umod(this.n),u;return this.curve._maxwellTrick?(u=this.g.jmulAdd(a,t.getPublic(),l),u.isInfinity()?!1:u.eqXToP(i)):(u=this.g.mulAdd(a,t.getPublic(),l),u.isInfinity()?!1:u.getX().umod(this.n).cmp(i)===0)},au.prototype.recoverPubKey=function(r,e,t,n){I0e((3&t)===t,"The recovery param is more than two bits"),e=new lR(e,n);var i=this.n,s=new Hr(r),o=e.r,a=e.s,l=t&1,u=t>>1;if(o.cmp(this.curve.p.umod(this.curve.n))>=0&&u)throw new Error("Unable to find sencond key candinate");u?o=this.curve.pointFromX(o.add(this.curve.n),l):o=this.curve.pointFromX(o,l);var h=e.r.invm(i),p=i.sub(s).mul(h).umod(i),g=a.mul(h).umod(i);return this.g.mulAdd(p,o,g)},au.prototype.getKeyRecoveryParam=function(r,e,t,n){if(e=new lR(e,n),e.recoveryParam!==null)return e.recoveryParam;for(var i=0;i<4;i++){var s;try{s=this.recoverPubKey(r,e,i)}catch{continue}if(s.eq(t))return i}throw new Error("Unable to find valid recovery factor")};var vYe=c3(function(r,e){var t=e;t.version="6.5.4",t.utils=Xc,t.rand=function(){throw new Error("unsupported")},t.curve=oR,t.curves=aR,t.ec=wYe,t.eddsa=null}),yYe=vYe.ec;const xYe="signing-key/5.7.0",zU=new Wo(xYe);let HU=null;function Df(){return HU||(HU=new yYe("secp256k1")),HU}class _Ye{constructor(e){nx(this,"curve","secp256k1"),nx(this,"privateKey",Fa(e)),aZe(this.privateKey)!==32&&zU.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");const t=Df().keyFromPrivate(us(this.privateKey));nx(this,"publicKey","0x"+t.getPublic(!1,"hex")),nx(this,"compressedPublicKey","0x"+t.getPublic(!0,"hex")),nx(this,"_isSigningKey",!0)}_addPoint(e){const t=Df().keyFromPublic(us(this.publicKey)),n=Df().keyFromPublic(us(e));return"0x"+t.pub.add(n.pub).encodeCompressed("hex")}signDigest(e){const t=Df().keyFromPrivate(us(this.privateKey)),n=us(e);n.length!==32&&zU.throwArgumentError("bad digest length","digest",e);const i=t.sign(n,{canonical:!0});return Lde({recoveryParam:i.recoveryParam,r:Sf("0x"+i.r.toString(16),32),s:Sf("0x"+i.s.toString(16),32)})}computeSharedSecret(e){const t=Df().keyFromPrivate(us(this.privateKey)),n=Df().keyFromPublic(us(R0e(e)));return Sf("0x"+t.derive(n.getPublic()).toString(16),32)}static isSigningKey(e){return!!(e&&e._isSigningKey)}}function EYe(r,e){const t=Lde(e),n={r:us(t.r),s:us(t.s)};return"0x"+Df().recoverPubKey(us(r),n,t.recoveryParam).encode("hex",!1)}function R0e(r,e){const t=us(r);if(t.length===32){const n=new _Ye(t);return e?"0x"+Df().keyFromPrivate(t).getPublic(!0,"hex"):n.publicKey}else{if(t.length===33)return e?Fa(t):"0x"+Df().keyFromPublic(t).getPublic(!1,"hex");if(t.length===65)return e?"0x"+Df().keyFromPublic(t).getPublic(!0,"hex"):Fa(t)}return zU.throwArgumentError("invalid public or private key","key","[REDACTED]")}var T0e;(function(r){r[r.legacy=0]="legacy",r[r.eip2930=1]="eip2930",r[r.eip1559=2]="eip1559"})(T0e||(T0e={}));function AYe(r){const e=R0e(r);return $Ze(Bde(_U(Bde(e,1)),12))}function CYe(r,e){return AYe(EYe(us(r),e))}const SYe="https://rpc.walletconnect.com/v1";async function IYe(r,e,t,n,i,s){switch(t.t){case"eip191":return RYe(r,e,t.s);case"eip1271":return await TYe(r,e,t.s,n,i,s);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${t.t}`)}}function RYe(r,e,t){return CYe(Xde(e),t).toLowerCase()===r.toLowerCase()}async function TYe(r,e,t,n,i,s){try{const o="0x1626ba7e",a="0000000000000000000000000000000000000000000000000000000000000040",l="0000000000000000000000000000000000000000000000000000000000000041",u=t.substring(2),h=Xde(e).substring(2),p=o+h+a+l+u,g=await fetch(`${s||SYe}/?chainId=${n}&projectId=${i}`,{method:"POST",body:JSON.stringify({id:kYe(),jsonrpc:"2.0",method:"eth_call",params:[{to:r,data:p},"latest"]})}),{result:w}=await g.json();return w?w.slice(0,o.length).toLowerCase()===o.toLowerCase():!1}catch(o){return console.error("isValidEip1271Signature: ",o),!1}}function kYe(){return Date.now()+Math.floor(Math.random()*1e3)}var MYe=Object.defineProperty,NYe=Object.defineProperties,PYe=Object.getOwnPropertyDescriptors,k0e=Object.getOwnPropertySymbols,OYe=Object.prototype.hasOwnProperty,DYe=Object.prototype.propertyIsEnumerable,M0e=(r,e,t)=>e in r?MYe(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,$Ye=(r,e)=>{for(var t in e||(e={}))OYe.call(e,t)&&M0e(r,t,e[t]);if(k0e)for(var t of k0e(e))DYe.call(e,t)&&M0e(r,t,e[t]);return r},BYe=(r,e)=>NYe(r,PYe(e));const LYe="did:pkh:",qU=r=>r==null?void 0:r.split(":"),N0e=r=>{const e=r&&qU(r);if(e)return r.includes(LYe)?e[3]:e[1]},P0e=r=>{const e=r&&qU(r);if(e)return e[2]+":"+e[3]},uR=r=>{const e=r&&qU(r);if(e)return e.pop()};async function O0e(r){const{cacao:e,projectId:t}=r,{s:n,p:i}=e,s=D0e(i,i.iss),o=uR(i.iss);return await IYe(o,s,n,N0e(i.iss),t)}const D0e=(r,e)=>{const t=`${r.domain} wants you to sign in with your Ethereum account:`,n=uR(e);if(!r.aud&&!r.uri)throw new Error("Either `aud` or `uri` is required to construct the message");let i=r.statement||void 0;const s=`URI: ${r.aud||r.uri}`,o=`Version: ${r.version}`,a=`Chain ID: ${N0e(e)}`,l=`Nonce: ${r.nonce}`,u=`Issued At: ${r.iat}`,h=r.resources?`Resources:${r.resources.map(g=>` -- ${g}`).join("")}`:void 0,p=hR(r.resources);if(p){const g=ax(p);i=GYe(i,g)}return[t,n,"",i,"",s,o,a,l,u,h].filter(g=>g!=null).join(` -`)};function UYe(r){return $t.from(JSON.stringify(r)).toString("base64")}function FYe(r){return JSON.parse($t.from(r,"base64").toString("utf-8"))}function f2(r){if(!r)throw new Error("No recap provided, value is undefined");if(!r.att)throw new Error("No `att` property found");const e=Object.keys(r.att);if(!(e!=null&&e.length))throw new Error("No resources found in `att` property");e.forEach(t=>{const n=r.att[t];if(Array.isArray(n))throw new Error(`Resource must be an object: ${t}`);if(typeof n!="object")throw new Error(`Resource must be an object: ${t}`);if(!Object.keys(n).length)throw new Error(`Resource object is empty: ${t}`);Object.keys(n).forEach(i=>{const s=n[i];if(!Array.isArray(s))throw new Error(`Ability limits ${i} must be an array of objects, found: ${s}`);if(!s.length)throw new Error(`Value of ${i} is empty array, must be an array with objects`);s.forEach(o=>{if(typeof o!="object")throw new Error(`Ability limits (${i}) must be an array of objects, found: ${o}`)})})})}function jYe(r,e,t,n={}){return t==null||t.sort((i,s)=>i.localeCompare(s)),{att:{[r]:zYe(e,t,n)}}}function zYe(r,e,t={}){e=e==null?void 0:e.sort((i,s)=>i.localeCompare(s));const n=e.map(i=>({[`${r}/${i}`]:[t]}));return Object.assign({},...n)}function $0e(r){return f2(r),`urn:recap:${UYe(r).replace(/=/g,"")}`}function ax(r){const e=FYe(r.replace("urn:recap:",""));return f2(e),e}function HYe(r,e,t){const n=jYe(r,e,t);return $0e(n)}function qYe(r){return r&&r.includes("urn:recap:")}function WYe(r,e){const t=ax(r),n=ax(e),i=VYe(t,n);return $0e(i)}function VYe(r,e){f2(r),f2(e);const t=Object.keys(r.att).concat(Object.keys(e.att)).sort((i,s)=>i.localeCompare(s)),n={att:{}};return t.forEach(i=>{var s,o;Object.keys(((s=r.att)==null?void 0:s[i])||{}).concat(Object.keys(((o=e.att)==null?void 0:o[i])||{})).sort((a,l)=>a.localeCompare(l)).forEach(a=>{var l,u;n.att[i]=BYe($Ye({},n.att[i]),{[a]:((l=r.att[i])==null?void 0:l[a])||((u=e.att[i])==null?void 0:u[a])})})}),n}function GYe(r="",e){f2(e);const t="I further authorize the stated URI to perform the following actions on my behalf: ";if(r.includes(t))return r;const n=[];let i=0;Object.keys(e.att).forEach(a=>{const l=Object.keys(e.att[a]).map(p=>({ability:p.split("/")[0],action:p.split("/")[1]}));l.sort((p,g)=>p.action.localeCompare(g.action));const u={};l.forEach(p=>{u[p.ability]||(u[p.ability]=[]),u[p.ability].push(p.action)});const h=Object.keys(u).map(p=>(i++,`(${i}) '${p}': '${u[p].join("', '")}' for '${a}'.`));n.push(h.join(", ").replace(".,","."))});const s=n.join(" "),o=`${t}${s}`;return`${r?r+" ":""}${o}`}function B0e(r){var e;const t=ax(r);f2(t);const n=(e=t.att)==null?void 0:e.eip155;return n?Object.keys(n).map(i=>i.split("/")[1]):[]}function L0e(r){const e=ax(r);f2(e);const t=[];return Object.values(e.att).forEach(n=>{Object.values(n).forEach(i=>{var s;(s=i==null?void 0:i[0])!=null&&s.chains&&t.push(i[0].chains)})}),[...new Set(t.flat())]}function hR(r){if(!r)return;const e=r==null?void 0:r[r.length-1];return qYe(e)?e:void 0}const U0e="base10",Ha="base16",WU="base64pad",VU="utf8",F0e=0,T1=1,KYe=0,j0e=1,GU=12,KU=32;function ZYe(){const r=$6.generateKeyPair();return{privateKey:vi(r.secretKey,Ha),publicKey:vi(r.publicKey,Ha)}}function ZU(){const r=h1.randomBytes(KU);return vi(r,Ha)}function JYe(r,e){const t=$6.sharedKey(Ni(r,Ha),Ni(e,Ha),!0),n=new wre(Tm.SHA256,t).expand(KU);return vi(n,Ha)}function fR(r){const e=Tm.hash(Ni(r,Ha));return vi(e,Ha)}function d2(r){const e=Tm.hash(Ni(r,VU));return vi(e,Ha)}function YYe(r){return Ni(`${r}`,U0e)}function cx(r){return Number(vi(r,U0e))}function QYe(r){const e=YYe(typeof r.type<"u"?r.type:F0e);if(cx(e)===T1&&typeof r.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");const t=typeof r.senderPublicKey<"u"?Ni(r.senderPublicKey,Ha):void 0,n=typeof r.iv<"u"?Ni(r.iv,Ha):h1.randomBytes(GU),i=new I6.ChaCha20Poly1305(Ni(r.symKey,Ha)).seal(n,Ni(r.message,VU));return eQe({type:e,sealed:i,iv:n,senderPublicKey:t})}function XYe(r){const e=new I6.ChaCha20Poly1305(Ni(r.symKey,Ha)),{sealed:t,iv:n}=dR(r.encoded),i=e.open(n,t);if(i===null)throw new Error("Failed to decrypt");return vi(i,VU)}function eQe(r){if(cx(r.type)===T1){if(typeof r.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");return vi(B6([r.type,r.senderPublicKey,r.iv,r.sealed]),WU)}return vi(B6([r.type,r.iv,r.sealed]),WU)}function dR(r){const e=Ni(r,WU),t=e.slice(KYe,j0e),n=j0e;if(cx(t)===T1){const a=n+KU,l=a+GU,u=e.slice(n,a),h=e.slice(a,l),p=e.slice(l);return{type:t,sealed:p,iv:h,senderPublicKey:u}}const i=n+GU,s=e.slice(n,i),o=e.slice(i);return{type:t,sealed:o,iv:s}}function tQe(r,e){const t=dR(r);return z0e({type:cx(t.type),senderPublicKey:typeof t.senderPublicKey<"u"?vi(t.senderPublicKey,Ha):void 0,receiverPublicKey:e==null?void 0:e.receiverPublicKey})}function z0e(r){const e=(r==null?void 0:r.type)||F0e;if(e===T1){if(typeof(r==null?void 0:r.senderPublicKey)>"u")throw new Error("missing sender public key");if(typeof(r==null?void 0:r.receiverPublicKey)>"u")throw new Error("missing receiver public key")}return{type:e,senderPublicKey:r==null?void 0:r.senderPublicKey,receiverPublicKey:r==null?void 0:r.receiverPublicKey}}function H0e(r){return r.type===T1&&typeof r.senderPublicKey=="string"&&typeof r.receiverPublicKey=="string"}const rQe="irn";function JU(r){return(r==null?void 0:r.relay)||{protocol:rQe}}function pR(r){const e=Joe[r];if(typeof e>"u")throw new Error(`Relay Protocol not supported: ${r}`);return e}var nQe=Object.defineProperty,iQe=Object.defineProperties,sQe=Object.getOwnPropertyDescriptors,q0e=Object.getOwnPropertySymbols,oQe=Object.prototype.hasOwnProperty,aQe=Object.prototype.propertyIsEnumerable,W0e=(r,e,t)=>e in r?nQe(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,V0e=(r,e)=>{for(var t in e||(e={}))oQe.call(e,t)&&W0e(r,t,e[t]);if(q0e)for(var t of q0e(e))aQe.call(e,t)&&W0e(r,t,e[t]);return r},cQe=(r,e)=>iQe(r,sQe(e));function lQe(r,e="-"){const t={},n="relay"+e;return Object.keys(r).forEach(i=>{if(i.startsWith(n)){const s=i.replace(n,""),o=r[i];t[s]=o}}),t}function G0e(r){r=r.includes("wc://")?r.replace("wc://",""):r,r=r.includes("wc:")?r.replace("wc:",""):r;const e=r.indexOf(":"),t=r.indexOf("?")!==-1?r.indexOf("?"):void 0,n=r.substring(0,e),i=r.substring(e+1,t).split("@"),s=typeof t<"u"?r.substring(t):"",o=zd.parse(s),a=typeof o.methods=="string"?o.methods.split(","):void 0;return{protocol:n,topic:uQe(i[0]),version:parseInt(i[1],10),symKey:o.symKey,relay:lQe(o),methods:a,expiryTimestamp:o.expiryTimestamp?parseInt(o.expiryTimestamp,10):void 0}}function uQe(r){return r.startsWith("//")?r.substring(2):r}function hQe(r,e="-"){const t="relay",n={};return Object.keys(r).forEach(i=>{const s=t+e+i;r[i]&&(n[s]=r[i])}),n}function fQe(r){return`${r.protocol}:${r.topic}@${r.version}?`+zd.stringify(V0e(cQe(V0e({symKey:r.symKey},hQe(r.relay)),{expiryTimestamp:r.expiryTimestamp}),r.methods?{methods:r.methods.join(",")}:{}))}function l3(r){const e=[];return r.forEach(t=>{const[n,i]=t.split(":");e.push(`${n}:${i}`)}),e}function dQe(r){const e=[];return Object.values(r).forEach(t=>{e.push(...l3(t.accounts))}),e}function pQe(r,e){const t=[];return Object.values(r).forEach(n=>{l3(n.accounts).includes(e)&&t.push(...n.methods)}),t}function gQe(r,e){const t=[];return Object.values(r).forEach(n=>{l3(n.accounts).includes(e)&&t.push(...n.events)}),t}function YU(r){return r.includes(":")}function lx(r){return YU(r)?r.split(":")[0]:r}function mQe(r){const e={};return r==null||r.forEach(t=>{const[n,i]=t.split(":");e[n]||(e[n]={accounts:[],chains:[],events:[]}),e[n].accounts.push(t),e[n].chains.push(`${n}:${i}`)}),e}function K0e(r,e){e=e.map(n=>n.replace("did:pkh:",""));const t=mQe(e);for(const[n,i]of Object.entries(t))i.methods?i.methods=JI(i.methods,r):i.methods=r,i.events=["chainChanged","accountsChanged"];return t}const bQe={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}},wQe={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 Bt(r,e){const{message:t,code:n}=wQe[r];return{message:e?`${t} ${e}`:t,code:n}}function ti(r,e){const{message:t,code:n}=bQe[r];return{message:e?`${t} ${e}`:t,code:n}}function $f(r,e){return Array.isArray(r)?typeof e<"u"&&r.length?r.every(e):!0:!1}function ux(r){return Object.getPrototypeOf(r)===Object.prototype&&Object.keys(r).length}function qa(r){return typeof r>"u"}function Cs(r,e){return e&&qa(r)?!0:typeof r=="string"&&!!r.trim().length}function QU(r,e){return e&&qa(r)?!0:typeof r=="number"&&!isNaN(r)}function vQe(r,e){const{requiredNamespaces:t}=e,n=Object.keys(r.namespaces),i=Object.keys(t);let s=!0;return c2(i,n)?(n.forEach(o=>{const{accounts:a,methods:l,events:u}=r.namespaces[o],h=l3(a),p=t[o];(!c2(yde(o,p),h)||!c2(p.methods,l)||!c2(p.events,u))&&(s=!1)}),s):!1}function gR(r){return Cs(r,!1)&&r.includes(":")?r.split(":").length===2:!1}function yQe(r){if(Cs(r,!1)&&r.includes(":")){const e=r.split(":");if(e.length===3){const t=e[0]+":"+e[1];return!!e[2]&&gR(t)}}return!1}function xQe(r){if(Cs(r,!1))try{return typeof new URL(r)<"u"}catch{return!1}return!1}function _Qe(r){var e;return(e=r==null?void 0:r.proposer)==null?void 0:e.publicKey}function EQe(r){return r==null?void 0:r.topic}function AQe(r,e){let t=null;return Cs(r==null?void 0:r.publicKey,!1)||(t=Bt("MISSING_OR_INVALID",`${e} controller public key should be a string`)),t}function Z0e(r){let e=!0;return $f(r)?r.length&&(e=r.every(t=>Cs(t,!1))):e=!1,e}function CQe(r,e,t){let n=null;return $f(e)&&e.length?e.forEach(i=>{n||gR(i)||(n=ti("UNSUPPORTED_CHAINS",`${t}, chain ${i} should be a string and conform to "namespace:chainId" format`))}):gR(r)||(n=ti("UNSUPPORTED_CHAINS",`${t}, 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"] }`)),n}function SQe(r,e,t){let n=null;return Object.entries(r).forEach(([i,s])=>{if(n)return;const o=CQe(i,yde(i,s),`${e} ${t}`);o&&(n=o)}),n}function IQe(r,e){let t=null;return $f(r)?r.forEach(n=>{t||yQe(n)||(t=ti("UNSUPPORTED_ACCOUNTS",`${e}, account ${n} should be a string and conform to "namespace:chainId:address" format`))}):t=ti("UNSUPPORTED_ACCOUNTS",`${e}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),t}function RQe(r,e){let t=null;return Object.values(r).forEach(n=>{if(t)return;const i=IQe(n==null?void 0:n.accounts,`${e} namespace`);i&&(t=i)}),t}function TQe(r,e){let t=null;return Z0e(r==null?void 0:r.methods)?Z0e(r==null?void 0:r.events)||(t=ti("UNSUPPORTED_EVENTS",`${e}, events should be an array of strings or empty array for no events`)):t=ti("UNSUPPORTED_METHODS",`${e}, methods should be an array of strings or empty array for no methods`),t}function J0e(r,e){let t=null;return Object.values(r).forEach(n=>{if(t)return;const i=TQe(n,`${e}, namespace`);i&&(t=i)}),t}function kQe(r,e,t){let n=null;if(r&&ux(r)){const i=J0e(r,e);i&&(n=i);const s=SQe(r,e,t);s&&(n=s)}else n=Bt("MISSING_OR_INVALID",`${e}, ${t} should be an object with data`);return n}function XU(r,e){let t=null;if(r&&ux(r)){const n=J0e(r,e);n&&(t=n);const i=RQe(r,e);i&&(t=i)}else t=Bt("MISSING_OR_INVALID",`${e}, namespaces should be an object with data`);return t}function Y0e(r){return Cs(r.protocol,!0)}function MQe(r,e){let t=!1;return e&&!r?t=!0:r&&$f(r)&&r.length&&r.forEach(n=>{t=Y0e(n)}),t}function NQe(r){return typeof r=="number"}function xc(r){return typeof r<"u"&&typeof r!==null}function PQe(r){return!(!r||typeof r!="object"||!r.code||!QU(r.code,!1)||!r.message||!Cs(r.message,!1))}function OQe(r){return!(qa(r)||!Cs(r.method,!1))}function DQe(r){return!(qa(r)||qa(r.result)&&qa(r.error)||!QU(r.id,!1)||!Cs(r.jsonrpc,!1))}function $Qe(r){return!(qa(r)||!Cs(r.name,!1))}function Q0e(r,e){return!(!gR(e)||!dQe(r).includes(e))}function BQe(r,e,t){return Cs(t,!1)?pQe(r,e).includes(t):!1}function LQe(r,e,t){return Cs(t,!1)?gQe(r,e).includes(t):!1}function X0e(r,e,t){let n=null;const i=UQe(r),s=FQe(e),o=Object.keys(i),a=Object.keys(s),l=epe(Object.keys(r)),u=epe(Object.keys(e)),h=l.filter(p=>!u.includes(p));return h.length&&(n=Bt("NON_CONFORMING_NAMESPACES",`${t} namespaces keys don't satisfy requiredNamespaces. +*/(function(r){(function(){var e="input is invalid type",t="finalize already called",n=typeof window=="object",i=n?window:{};i.JS_SHA3_NO_WINDOW&&(n=!1);var s=!n&&typeof self=="object",o=!i.JS_SHA3_NO_NODE_JS&&typeof yt=="object"&&yt.versions&&yt.versions.node;o?i=_de:s&&(i=self);var a=!i.JS_SHA3_NO_COMMON_JS&&!0&&r.exports,l=!i.JS_SHA3_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",u="0123456789abcdef".split(""),h=[31,7936,2031616,520093696],p=[4,1024,262144,67108864],g=[1,256,65536,16777216],w=[6,1536,393216,100663296],y=[0,8,16,24],C=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],T=[224,256,384,512],k=[128,256],N=["hex","buffer","arrayBuffer","array","digest"],O={128:168,256:136};(i.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(q){return Object.prototype.toString.call(q)==="[object Array]"}),l&&(i.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(q){return typeof q=="object"&&q.buffer&&q.buffer.constructor===ArrayBuffer});for(var B=function(q,Y,K){return function(te){return new _(q,Y,q).update(te)[K]()}},z=function(q,Y,K){return function(te,re){return new _(q,Y,re).update(te)[K]()}},G=function(q,Y,K){return function(te,re,H,U){return d["cshake"+q].update(te,re,H,U)[K]()}},$=function(q,Y,K){return function(te,re,H,U){return d["kmac"+q].update(te,re,H,U)[K]()}},D=function(q,Y,K,te){for(var re=0;re>5,this.byteCount=this.blockCount<<2,this.outputBlocks=K>>5,this.extraBytes=(K&31)>>3;for(var te=0;te<50;++te)this.s[te]=0}_.prototype.update=function(q){if(this.finalized)throw new Error(t);var Y,K=typeof q;if(K!=="string"){if(K==="object"){if(q===null)throw new Error(e);if(l&&q.constructor===ArrayBuffer)q=new Uint8Array(q);else if(!Array.isArray(q)&&(!l||!ArrayBuffer.isView(q)))throw new Error(e)}else throw new Error(e);Y=!0}for(var te=this.blocks,re=this.byteCount,H=q.length,U=this.blockCount,W=0,le=this.s,de,Se;W>2]|=q[W]<>2]|=Se<>2]|=(192|Se>>6)<>2]|=(128|Se&63)<=57344?(te[de>>2]|=(224|Se>>12)<>2]|=(128|Se>>6&63)<>2]|=(128|Se&63)<>2]|=(240|Se>>18)<>2]|=(128|Se>>12&63)<>2]|=(128|Se>>6&63)<>2]|=(128|Se&63)<=re){for(this.start=de-re,this.block=te[U],de=0;de>8,K=q&255;K>0;)re.unshift(K),q=q>>8,K=q&255,++te;return Y?re.push(te):re.unshift(te),this.update(re),re.length},_.prototype.encodeString=function(q){var Y,K=typeof q;if(K!=="string"){if(K==="object"){if(q===null)throw new Error(e);if(l&&q.constructor===ArrayBuffer)q=new Uint8Array(q);else if(!Array.isArray(q)&&(!l||!ArrayBuffer.isView(q)))throw new Error(e)}else throw new Error(e);Y=!0}var te=0,re=q.length;if(Y)te=re;else for(var H=0;H=57344?te+=3:(U=65536+((U&1023)<<10|q.charCodeAt(++H)&1023),te+=4)}return te+=this.encode(te*8),this.update(q),te},_.prototype.bytepad=function(q,Y){for(var K=this.encode(Y),te=0;te>2]|=this.padding[Y&3],this.lastByteIndex===this.byteCount)for(q[0]=q[K],Y=1;Y>4&15]+u[W&15]+u[W>>12&15]+u[W>>8&15]+u[W>>20&15]+u[W>>16&15]+u[W>>28&15]+u[W>>24&15];H%q===0&&(ie(Y),re=0)}return te&&(W=Y[re],U+=u[W>>4&15]+u[W&15],te>1&&(U+=u[W>>12&15]+u[W>>8&15]),te>2&&(U+=u[W>>20&15]+u[W>>16&15])),U},_.prototype.arrayBuffer=function(){this.finalize();var q=this.blockCount,Y=this.s,K=this.outputBlocks,te=this.extraBytes,re=0,H=0,U=this.outputBits>>3,W;te?W=new ArrayBuffer(K+1<<2):W=new ArrayBuffer(U);for(var le=new Uint32Array(W);H>8&255,U[W+2]=le>>16&255,U[W+3]=le>>24&255;H%q===0&&ie(Y)}return te&&(W=H<<2,le=Y[re],U[W]=le&255,te>1&&(U[W+1]=le>>8&255),te>2&&(U[W+2]=le>>16&255)),U};function L(q,Y,K){_.call(this,q,Y,K)}L.prototype=new _,L.prototype.finalize=function(){return this.encode(this.outputBits,!0),_.prototype.finalize.call(this)};var ie=function(q){var Y,K,te,re,H,U,W,le,de,Se,Me,ke,Ke,Re,je,De,Je,ze,qe,Ve,He,Be,Ge,Xe,se,J,X,ue,we,ye,Ie,it,ot,tt,It,st,Nt,Lt,ht,wt,Ut,ft,dt,Vt,xt,pt,Gt,gt,vt,Ft,lt,_t,Kt,Ht,qt,br,Tt,ur,Xn,ei,ti,ri,bn;for(te=0;te<48;te+=2)re=q[0]^q[10]^q[20]^q[30]^q[40],H=q[1]^q[11]^q[21]^q[31]^q[41],U=q[2]^q[12]^q[22]^q[32]^q[42],W=q[3]^q[13]^q[23]^q[33]^q[43],le=q[4]^q[14]^q[24]^q[34]^q[44],de=q[5]^q[15]^q[25]^q[35]^q[45],Se=q[6]^q[16]^q[26]^q[36]^q[46],Me=q[7]^q[17]^q[27]^q[37]^q[47],ke=q[8]^q[18]^q[28]^q[38]^q[48],Ke=q[9]^q[19]^q[29]^q[39]^q[49],Y=ke^(U<<1|W>>>31),K=Ke^(W<<1|U>>>31),q[0]^=Y,q[1]^=K,q[10]^=Y,q[11]^=K,q[20]^=Y,q[21]^=K,q[30]^=Y,q[31]^=K,q[40]^=Y,q[41]^=K,Y=re^(le<<1|de>>>31),K=H^(de<<1|le>>>31),q[2]^=Y,q[3]^=K,q[12]^=Y,q[13]^=K,q[22]^=Y,q[23]^=K,q[32]^=Y,q[33]^=K,q[42]^=Y,q[43]^=K,Y=U^(Se<<1|Me>>>31),K=W^(Me<<1|Se>>>31),q[4]^=Y,q[5]^=K,q[14]^=Y,q[15]^=K,q[24]^=Y,q[25]^=K,q[34]^=Y,q[35]^=K,q[44]^=Y,q[45]^=K,Y=le^(ke<<1|Ke>>>31),K=de^(Ke<<1|ke>>>31),q[6]^=Y,q[7]^=K,q[16]^=Y,q[17]^=K,q[26]^=Y,q[27]^=K,q[36]^=Y,q[37]^=K,q[46]^=Y,q[47]^=K,Y=Se^(re<<1|H>>>31),K=Me^(H<<1|re>>>31),q[8]^=Y,q[9]^=K,q[18]^=Y,q[19]^=K,q[28]^=Y,q[29]^=K,q[38]^=Y,q[39]^=K,q[48]^=Y,q[49]^=K,Re=q[0],je=q[1],pt=q[11]<<4|q[10]>>>28,Gt=q[10]<<4|q[11]>>>28,ue=q[20]<<3|q[21]>>>29,we=q[21]<<3|q[20]>>>29,ei=q[31]<<9|q[30]>>>23,ti=q[30]<<9|q[31]>>>23,ft=q[40]<<18|q[41]>>>14,dt=q[41]<<18|q[40]>>>14,tt=q[2]<<1|q[3]>>>31,It=q[3]<<1|q[2]>>>31,De=q[13]<<12|q[12]>>>20,Je=q[12]<<12|q[13]>>>20,gt=q[22]<<10|q[23]>>>22,vt=q[23]<<10|q[22]>>>22,ye=q[33]<<13|q[32]>>>19,Ie=q[32]<<13|q[33]>>>19,ri=q[42]<<2|q[43]>>>30,bn=q[43]<<2|q[42]>>>30,Ht=q[5]<<30|q[4]>>>2,qt=q[4]<<30|q[5]>>>2,st=q[14]<<6|q[15]>>>26,Nt=q[15]<<6|q[14]>>>26,ze=q[25]<<11|q[24]>>>21,qe=q[24]<<11|q[25]>>>21,Ft=q[34]<<15|q[35]>>>17,lt=q[35]<<15|q[34]>>>17,it=q[45]<<29|q[44]>>>3,ot=q[44]<<29|q[45]>>>3,Xe=q[6]<<28|q[7]>>>4,se=q[7]<<28|q[6]>>>4,br=q[17]<<23|q[16]>>>9,Tt=q[16]<<23|q[17]>>>9,Lt=q[26]<<25|q[27]>>>7,ht=q[27]<<25|q[26]>>>7,Ve=q[36]<<21|q[37]>>>11,He=q[37]<<21|q[36]>>>11,_t=q[47]<<24|q[46]>>>8,Kt=q[46]<<24|q[47]>>>8,Vt=q[8]<<27|q[9]>>>5,xt=q[9]<<27|q[8]>>>5,J=q[18]<<20|q[19]>>>12,X=q[19]<<20|q[18]>>>12,ur=q[29]<<7|q[28]>>>25,Xn=q[28]<<7|q[29]>>>25,wt=q[38]<<8|q[39]>>>24,Ut=q[39]<<8|q[38]>>>24,Be=q[48]<<14|q[49]>>>18,Ge=q[49]<<14|q[48]>>>18,q[0]=Re^~De&ze,q[1]=je^~Je&qe,q[10]=Xe^~J&ue,q[11]=se^~X&we,q[20]=tt^~st&Lt,q[21]=It^~Nt&ht,q[30]=Vt^~pt>,q[31]=xt^~Gt&vt,q[40]=Ht^~br&ur,q[41]=qt^~Tt&Xn,q[2]=De^~ze&Ve,q[3]=Je^~qe&He,q[12]=J^~ue&ye,q[13]=X^~we&Ie,q[22]=st^~Lt&wt,q[23]=Nt^~ht&Ut,q[32]=pt^~gt&Ft,q[33]=Gt^~vt<,q[42]=br^~ur&ei,q[43]=Tt^~Xn&ti,q[4]=ze^~Ve&Be,q[5]=qe^~He&Ge,q[14]=ue^~ye&it,q[15]=we^~Ie&ot,q[24]=Lt^~wt&ft,q[25]=ht^~Ut&dt,q[34]=gt^~Ft&_t,q[35]=vt^~lt&Kt,q[44]=ur^~ei&ri,q[45]=Xn^~ti&bn,q[6]=Ve^~Be&Re,q[7]=He^~Ge&je,q[16]=ye^~it&Xe,q[17]=Ie^~ot&se,q[26]=wt^~ft&tt,q[27]=Ut^~dt&It,q[36]=Ft^~_t&Vt,q[37]=lt^~Kt&xt,q[46]=ei^~ri&Ht,q[47]=ti^~bn&qt,q[8]=Be^~Re&De,q[9]=Ge^~je&Je,q[18]=it^~Xe&J,q[19]=ot^~se&X,q[28]=ft^~tt&st,q[29]=dt^~It&Nt,q[38]=_t^~Vt&pt,q[39]=Kt^~xt&Gt,q[48]=ri^~Ht&br,q[49]=bn^~qt&Tt,q[0]^=C[te],q[1]^=C[te+1]};if(a)r.exports=d;else for(x=0;x{try{if("test".normalize(e)!=="test")throw new Error("bad normalize")}catch{r.push(e)}}),r.length)throw new Error("missing "+r.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(r){return r.message}return null}const Ide=jKe();var pU;(function(r){r.DEBUG="DEBUG",r.INFO="INFO",r.WARNING="WARNING",r.ERROR="ERROR",r.OFF="OFF"})(pU||(pU={}));var sh;(function(r){r.UNKNOWN_ERROR="UNKNOWN_ERROR",r.NOT_IMPLEMENTED="NOT_IMPLEMENTED",r.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",r.NETWORK_ERROR="NETWORK_ERROR",r.SERVER_ERROR="SERVER_ERROR",r.TIMEOUT="TIMEOUT",r.BUFFER_OVERRUN="BUFFER_OVERRUN",r.NUMERIC_FAULT="NUMERIC_FAULT",r.MISSING_NEW="MISSING_NEW",r.INVALID_ARGUMENT="INVALID_ARGUMENT",r.MISSING_ARGUMENT="MISSING_ARGUMENT",r.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",r.CALL_EXCEPTION="CALL_EXCEPTION",r.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",r.NONCE_EXPIRED="NONCE_EXPIRED",r.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",r.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",r.TRANSACTION_REPLACED="TRANSACTION_REPLACED",r.ACTION_REJECTED="ACTION_REJECTED"})(sh||(sh={}));const Tde="0123456789abcdef";let nn=class{constructor(e){Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}_log(e,t){const n=e.toLowerCase();rT[n]==null&&this.throwArgumentError("invalid log level name","logLevel",e),!(Sde>rT[n])&&console.log.apply(console,t)}debug(...e){this._log(nn.levels.DEBUG,e)}info(...e){this._log(nn.levels.INFO,e)}warn(...e){this._log(nn.levels.WARNING,e)}makeError(e,t,n){if(Cde)return this.makeError("censored error",t,{});t||(t=nn.errors.UNKNOWN_ERROR),n||(n={});const i=[];Object.keys(n).forEach(l=>{const u=n[l];try{if(u instanceof Uint8Array){let h="";for(let p=0;p>4],h+=Tde[u[p]&15];i.push(l+"=Uint8Array(0x"+h+")")}else i.push(l+"="+JSON.stringify(u))}catch{i.push(l+"="+JSON.stringify(n[l].toString()))}}),i.push(`code=${t}`),i.push(`version=${this.version}`);const s=e;let o="";switch(t){case sh.NUMERIC_FAULT:{o="NUMERIC_FAULT";const l=e;switch(l){case"overflow":case"underflow":case"division-by-zero":o+="-"+l;break;case"negative-power":case"negative-width":o+="-unsupported";break;case"unbound-bitwise-result":o+="-unbound-result";break}break}case sh.CALL_EXCEPTION:case sh.INSUFFICIENT_FUNDS:case sh.MISSING_NEW:case sh.NONCE_EXPIRED:case sh.REPLACEMENT_UNDERPRICED:case sh.TRANSACTION_REPLACED:case sh.UNPREDICTABLE_GAS_LIMIT:o=t;break}o&&(e+=" [ See: https://links.ethers.org/v5-errors-"+o+" ]"),i.length&&(e+=" ("+i.join(", ")+")");const a=new Error(e);return a.reason=s,a.code=t,Object.keys(n).forEach(function(l){a[l]=n[l]}),a}throwError(e,t,n){throw this.makeError(e,t,n)}throwArgumentError(e,t,n){return this.throwError(e,nn.errors.INVALID_ARGUMENT,{argument:t,value:n})}assert(e,t,n,i){e||this.throwError(t,n,i)}assertArgument(e,t,n,i){e||this.throwArgumentError(t,n,i)}checkNormalize(e){Ide&&this.throwError("platform missing String.prototype.normalize",nn.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:Ide})}checkSafeUint53(e,t){typeof e=="number"&&(t==null&&(t="value not safe"),(e<0||e>=9007199254740991)&&this.throwError(t,nn.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:e}),e%1&&this.throwError(t,nn.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:e}))}checkArgumentCount(e,t,n){n?n=": "+n:n="",et&&this.throwError("too many arguments"+n,nn.errors.UNEXPECTED_ARGUMENT,{count:e,expectedCount:t})}checkNew(e,t){(e===Object||e==null)&&this.throwError("missing new",nn.errors.MISSING_NEW,{name:t.name})}checkAbstract(e,t){e===t?this.throwError("cannot instantiate abstract class "+JSON.stringify(t.name)+" directly; use a sub-class",nn.errors.UNSUPPORTED_OPERATION,{name:e.name,operation:"new"}):(e===Object||e==null)&&this.throwError("missing new",nn.errors.MISSING_NEW,{name:t.name})}static globalLogger(){return dU||(dU=new nn(FKe)),dU}static setCensorship(e,t){if(!e&&t&&this.globalLogger().throwError("cannot permanently disable censorship",nn.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),Ade){if(!e)return;this.globalLogger().throwError("error censorship permanent",nn.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}Cde=!!e,Ade=!!t}static setLogLevel(e){const t=rT[e.toLowerCase()];if(t==null){nn.globalLogger().warn("invalid log level - "+e);return}Sde=t}static from(e){return new nn(e)}};nn.errors=sh,nn.levels=pU;const zKe="bytes/5.7.0",Ss=new nn(zKe);function Rde(r){return!!r.toHexString}function Qy(r){return r.slice||(r.slice=function(){const e=Array.prototype.slice.call(arguments);return Qy(new Uint8Array(Array.prototype.slice.apply(r,e)))}),r}function HKe(r){return el(r)&&!(r.length%2)||Xy(r)}function kde(r){return typeof r=="number"&&r==r&&r%1===0}function Xy(r){if(r==null)return!1;if(r.constructor===Uint8Array)return!0;if(typeof r=="string"||!kde(r.length)||r.length<0)return!1;for(let e=0;e=256)return!1}return!0}function fs(r,e){if(e||(e={}),typeof r=="number"){Ss.checkSafeUint53(r,"invalid arrayify value");const t=[];for(;r;)t.unshift(r&255),r=parseInt(String(r/256));return t.length===0&&t.push(0),Qy(new Uint8Array(t))}if(e.allowMissingPrefix&&typeof r=="string"&&r.substring(0,2)!=="0x"&&(r="0x"+r),Rde(r)&&(r=r.toHexString()),el(r)){let t=r.substring(2);t.length%2&&(e.hexPad==="left"?t="0"+t:e.hexPad==="right"?t+="0":Ss.throwArgumentError("hex data is odd-length","value",r));const n=[];for(let i=0;ifs(i)),t=e.reduce((i,s)=>i+s.length,0),n=new Uint8Array(t);return e.reduce((i,s)=>(n.set(s,i),i+s.length),0),Qy(n)}function WKe(r,e){r=fs(r),r.length>e&&Ss.throwArgumentError("value out of range","value",arguments[0]);const t=new Uint8Array(e);return t.set(r,e-r.length),Qy(t)}function el(r,e){return!(typeof r!="string"||!r.match(/^0x[0-9A-Fa-f]*$/)||e&&r.length!==2+2*e)}const gU="0123456789abcdef";function ja(r,e){if(e||(e={}),typeof r=="number"){Ss.checkSafeUint53(r,"invalid hexlify value");let t="";for(;r;)t=gU[r&15]+t,r=Math.floor(r/16);return t.length?(t.length%2&&(t="0"+t),"0x"+t):"0x00"}if(typeof r=="bigint")return r=r.toString(16),r.length%2?"0x0"+r:"0x"+r;if(e.allowMissingPrefix&&typeof r=="string"&&r.substring(0,2)!=="0x"&&(r="0x"+r),Rde(r))return r.toHexString();if(el(r))return r.length%2&&(e.hexPad==="left"?r="0x0"+r.substring(2):e.hexPad==="right"?r+="0":Ss.throwArgumentError("hex data is odd-length","value",r)),r.toLowerCase();if(Xy(r)){let t="0x";for(let n=0;n>4]+gU[i&15]}return t}return Ss.throwArgumentError("invalid hexlify value","value",r)}function VKe(r){if(typeof r!="string")r=ja(r);else if(!el(r)||r.length%2)return null;return(r.length-2)/2}function Mde(r,e,t){return typeof r!="string"?r=ja(r):(!el(r)||r.length%2)&&Ss.throwArgumentError("invalid hexData","value",r),e=2+2*e,t!=null?"0x"+r.substring(e,2+2*t):"0x"+r.substring(e)}function Tf(r,e){for(typeof r!="string"?r=ja(r):el(r)||Ss.throwArgumentError("invalid hex string","value",r),r.length>2*e+2&&Ss.throwArgumentError("value out of range","value",arguments[1]);r.length<2*e+2;)r="0x0"+r.substring(2);return r}function Nde(r){const e={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(HKe(r)){let t=fs(r);t.length===64?(e.v=27+(t[32]>>7),t[32]&=127,e.r=ja(t.slice(0,32)),e.s=ja(t.slice(32,64))):t.length===65?(e.r=ja(t.slice(0,32)),e.s=ja(t.slice(32,64)),e.v=t[64]):Ss.throwArgumentError("invalid signature string","signature",r),e.v<27&&(e.v===0||e.v===1?e.v+=27:Ss.throwArgumentError("signature invalid v byte","signature",r)),e.recoveryParam=1-e.v%2,e.recoveryParam&&(t[32]|=128),e._vs=ja(t.slice(32,64))}else{if(e.r=r.r,e.s=r.s,e.v=r.v,e.recoveryParam=r.recoveryParam,e._vs=r._vs,e._vs!=null){const i=WKe(fs(e._vs),32);e._vs=ja(i);const s=i[0]>=128?1:0;e.recoveryParam==null?e.recoveryParam=s:e.recoveryParam!==s&&Ss.throwArgumentError("signature recoveryParam mismatch _vs","signature",r),i[0]&=127;const o=ja(i);e.s==null?e.s=o:e.s!==o&&Ss.throwArgumentError("signature v mismatch _vs","signature",r)}if(e.recoveryParam==null)e.v==null?Ss.throwArgumentError("signature missing v and recoveryParam","signature",r):e.v===0||e.v===1?e.recoveryParam=e.v:e.recoveryParam=1-e.v%2;else if(e.v==null)e.v=27+e.recoveryParam;else{const i=e.v===0||e.v===1?e.v:1-e.v%2;e.recoveryParam!==i&&Ss.throwArgumentError("signature recoveryParam mismatch v","signature",r)}e.r==null||!el(e.r)?Ss.throwArgumentError("signature missing or invalid r","signature",r):e.r=Tf(e.r,32),e.s==null||!el(e.s)?Ss.throwArgumentError("signature missing or invalid s","signature",r):e.s=Tf(e.s,32);const t=fs(e.s);t[0]>=128&&Ss.throwArgumentError("signature s out of range","signature",r),e.recoveryParam&&(t[0]|=128);const n=ja(t);e._vs&&(el(e._vs)||Ss.throwArgumentError("signature invalid _vs","signature",r),e._vs=Tf(e._vs,32)),e._vs==null?e._vs=n:e._vs!==n&&Ss.throwArgumentError("signature _vs mismatch v and s","signature",r)}return e.yParityAndS=e._vs,e.compact=e.r+e.yParityAndS.substring(2),e}function mU(r){return"0x"+UKe.keccak_256(fs(r))}var Pde={exports:{}},GKe={},KKe=Object.freeze({__proto__:null,default:GKe}),ZKe=LKe(KKe);(function(r){(function(e,t){function n(b,d){if(!b)throw new Error(d||"Assertion failed")}function i(b,d){b.super_=d;var m=function(){};m.prototype=d.prototype,b.prototype=new m,b.prototype.constructor=b}function s(b,d,m){if(s.isBN(b))return b;this.negative=0,this.words=null,this.length=0,this.red=null,b!==null&&((d==="le"||d==="be")&&(m=d,d=10),this._init(b||0,d||10,m||"be"))}typeof e=="object"?e.exports=s:t.BN=s,s.BN=s,s.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=ZKe.Buffer}catch{}s.isBN=function(b){return b instanceof s?!0:b!==null&&typeof b=="object"&&b.constructor.wordSize===s.wordSize&&Array.isArray(b.words)},s.max=function(b,d){return b.cmp(d)>0?b:d},s.min=function(b,d){return b.cmp(d)<0?b:d},s.prototype._init=function(b,d,m){if(typeof b=="number")return this._initNumber(b,d,m);if(typeof b=="object")return this._initArray(b,d,m);d==="hex"&&(d=16),n(d===(d|0)&&d>=2&&d<=36),b=b.toString().replace(/\s+/g,"");var x=0;b[0]==="-"&&(x++,this.negative=1),x=0;x-=3)I=b[x]|b[x-1]<<8|b[x-2]<<16,this.words[A]|=I<>>26-R&67108863,R+=24,R>=26&&(R-=26,A++);else if(m==="le")for(x=0,A=0;x>>26-R&67108863,R+=24,R>=26&&(R-=26,A++);return this._strip()};function a(b,d){var m=b.charCodeAt(d);if(m>=48&&m<=57)return m-48;if(m>=65&&m<=70)return m-55;if(m>=97&&m<=102)return m-87;n(!1,"Invalid character in "+b)}function l(b,d,m){var x=a(b,m);return m-1>=d&&(x|=a(b,m-1)<<4),x}s.prototype._parseHex=function(b,d,m){this.length=Math.ceil((b.length-d)/6),this.words=new Array(this.length);for(var x=0;x=d;x-=2)R=l(b,d,x)<=18?(A-=18,I+=1,this.words[I]|=R>>>26):A+=8;else{var S=b.length-d;for(x=S%2===0?d+1:d;x=18?(A-=18,I+=1,this.words[I]|=R>>>26):A+=8}this._strip()};function u(b,d,m,x){for(var A=0,I=0,R=Math.min(b.length,m),S=d;S=49?I=E-49+10:E>=17?I=E-17+10:I=E,n(E>=0&&I1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},s.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{s.prototype[Symbol.for("nodejs.util.inspect.custom")]=p}catch{s.prototype.inspect=p}else s.prototype.inspect=p;function p(){return(this.red?""}var g=["","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"],w=[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],y=[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,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];s.prototype.toString=function(b,d){b=b||10,d=d|0||1;var m;if(b===16||b==="hex"){m="";for(var x=0,A=0,I=0;I>>24-x&16777215,x+=2,x>=26&&(x-=26,I--),A!==0||I!==this.length-1?m=g[6-S.length]+S+m:m=S+m}for(A!==0&&(m=A.toString(16)+m);m.length%d!==0;)m="0"+m;return this.negative!==0&&(m="-"+m),m}if(b===(b|0)&&b>=2&&b<=36){var E=w[b],_=y[b];m="";var L=this.clone();for(L.negative=0;!L.isZero();){var ie=L.modrn(_).toString(b);L=L.idivn(_),L.isZero()?m=ie+m:m=g[E-ie.length]+ie+m}for(this.isZero()&&(m="0"+m);m.length%d!==0;)m="0"+m;return this.negative!==0&&(m="-"+m),m}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var b=this.words[0];return this.length===2?b+=this.words[1]*67108864:this.length===3&&this.words[2]===1?b+=4503599627370496+this.words[1]*67108864:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-b:b},s.prototype.toJSON=function(){return this.toString(16,2)},o&&(s.prototype.toBuffer=function(b,d){return this.toArrayLike(o,b,d)}),s.prototype.toArray=function(b,d){return this.toArrayLike(Array,b,d)};var C=function(b,d){return b.allocUnsafe?b.allocUnsafe(d):new b(d)};s.prototype.toArrayLike=function(b,d,m){this._strip();var x=this.byteLength(),A=m||Math.max(1,x);n(x<=A,"byte array longer than desired length"),n(A>0,"Requested array length <= 0");var I=C(b,A),R=d==="le"?"LE":"BE";return this["_toArrayLike"+R](I,x),I},s.prototype._toArrayLikeLE=function(b,d){for(var m=0,x=0,A=0,I=0;A>8&255),m>16&255),I===6?(m>24&255),x=0,I=0):(x=R>>>24,I+=2)}if(m=0&&(b[m--]=R>>8&255),m>=0&&(b[m--]=R>>16&255),I===6?(m>=0&&(b[m--]=R>>24&255),x=0,I=0):(x=R>>>24,I+=2)}if(m>=0)for(b[m--]=x;m>=0;)b[m--]=0},Math.clz32?s.prototype._countBits=function(b){return 32-Math.clz32(b)}:s.prototype._countBits=function(b){var d=b,m=0;return d>=4096&&(m+=13,d>>>=13),d>=64&&(m+=7,d>>>=7),d>=8&&(m+=4,d>>>=4),d>=2&&(m+=2,d>>>=2),m+d},s.prototype._zeroBits=function(b){if(b===0)return 26;var d=b,m=0;return d&8191||(m+=13,d>>>=13),d&127||(m+=7,d>>>=7),d&15||(m+=4,d>>>=4),d&3||(m+=2,d>>>=2),d&1||m++,m},s.prototype.bitLength=function(){var b=this.words[this.length-1],d=this._countBits(b);return(this.length-1)*26+d};function T(b){for(var d=new Array(b.bitLength()),m=0;m>>A&1}return d}s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var b=0,d=0;db.length?this.clone().ior(b):b.clone().ior(this)},s.prototype.uor=function(b){return this.length>b.length?this.clone().iuor(b):b.clone().iuor(this)},s.prototype.iuand=function(b){var d;this.length>b.length?d=b:d=this;for(var m=0;mb.length?this.clone().iand(b):b.clone().iand(this)},s.prototype.uand=function(b){return this.length>b.length?this.clone().iuand(b):b.clone().iuand(this)},s.prototype.iuxor=function(b){var d,m;this.length>b.length?(d=this,m=b):(d=b,m=this);for(var x=0;xb.length?this.clone().ixor(b):b.clone().ixor(this)},s.prototype.uxor=function(b){return this.length>b.length?this.clone().iuxor(b):b.clone().iuxor(this)},s.prototype.inotn=function(b){n(typeof b=="number"&&b>=0);var d=Math.ceil(b/26)|0,m=b%26;this._expand(d),m>0&&d--;for(var x=0;x0&&(this.words[x]=~this.words[x]&67108863>>26-m),this._strip()},s.prototype.notn=function(b){return this.clone().inotn(b)},s.prototype.setn=function(b,d){n(typeof b=="number"&&b>=0);var m=b/26|0,x=b%26;return this._expand(m+1),d?this.words[m]=this.words[m]|1<b.length?(m=this,x=b):(m=b,x=this);for(var A=0,I=0;I>>26;for(;A!==0&&I>>26;if(this.length=m.length,A!==0)this.words[this.length]=A,this.length++;else if(m!==this)for(;Ib.length?this.clone().iadd(b):b.clone().iadd(this)},s.prototype.isub=function(b){if(b.negative!==0){b.negative=0;var d=this.iadd(b);return b.negative=1,d._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(b),this.negative=1,this._normSign();var m=this.cmp(b);if(m===0)return this.negative=0,this.length=1,this.words[0]=0,this;var x,A;m>0?(x=this,A=b):(x=b,A=this);for(var I=0,R=0;R>26,this.words[R]=d&67108863;for(;I!==0&&R>26,this.words[R]=d&67108863;if(I===0&&R>>26,ie=E&67108863,q=Math.min(_,d.length-1),Y=Math.max(0,_-b.length+1);Y<=q;Y++){var K=_-Y|0;A=b.words[K]|0,I=d.words[Y]|0,R=A*I+ie,L+=R/67108864|0,ie=R&67108863}m.words[_]=ie|0,E=L|0}return E!==0?m.words[_]=E|0:m.length--,m._strip()}var N=function(b,d,m){var x=b.words,A=d.words,I=m.words,R=0,S,E,_,L=x[0]|0,ie=L&8191,q=L>>>13,Y=x[1]|0,K=Y&8191,te=Y>>>13,re=x[2]|0,H=re&8191,U=re>>>13,W=x[3]|0,le=W&8191,de=W>>>13,Se=x[4]|0,Me=Se&8191,ke=Se>>>13,Ke=x[5]|0,Re=Ke&8191,je=Ke>>>13,De=x[6]|0,Je=De&8191,ze=De>>>13,qe=x[7]|0,Ve=qe&8191,He=qe>>>13,Be=x[8]|0,Ge=Be&8191,Xe=Be>>>13,se=x[9]|0,J=se&8191,X=se>>>13,ue=A[0]|0,we=ue&8191,ye=ue>>>13,Ie=A[1]|0,it=Ie&8191,ot=Ie>>>13,tt=A[2]|0,It=tt&8191,st=tt>>>13,Nt=A[3]|0,Lt=Nt&8191,ht=Nt>>>13,wt=A[4]|0,Ut=wt&8191,ft=wt>>>13,dt=A[5]|0,Vt=dt&8191,xt=dt>>>13,pt=A[6]|0,Gt=pt&8191,gt=pt>>>13,vt=A[7]|0,Ft=vt&8191,lt=vt>>>13,_t=A[8]|0,Kt=_t&8191,Ht=_t>>>13,qt=A[9]|0,br=qt&8191,Tt=qt>>>13;m.negative=b.negative^d.negative,m.length=19,S=Math.imul(ie,we),E=Math.imul(ie,ye),E=E+Math.imul(q,we)|0,_=Math.imul(q,ye);var ur=(R+S|0)+((E&8191)<<13)|0;R=(_+(E>>>13)|0)+(ur>>>26)|0,ur&=67108863,S=Math.imul(K,we),E=Math.imul(K,ye),E=E+Math.imul(te,we)|0,_=Math.imul(te,ye),S=S+Math.imul(ie,it)|0,E=E+Math.imul(ie,ot)|0,E=E+Math.imul(q,it)|0,_=_+Math.imul(q,ot)|0;var Xn=(R+S|0)+((E&8191)<<13)|0;R=(_+(E>>>13)|0)+(Xn>>>26)|0,Xn&=67108863,S=Math.imul(H,we),E=Math.imul(H,ye),E=E+Math.imul(U,we)|0,_=Math.imul(U,ye),S=S+Math.imul(K,it)|0,E=E+Math.imul(K,ot)|0,E=E+Math.imul(te,it)|0,_=_+Math.imul(te,ot)|0,S=S+Math.imul(ie,It)|0,E=E+Math.imul(ie,st)|0,E=E+Math.imul(q,It)|0,_=_+Math.imul(q,st)|0;var ei=(R+S|0)+((E&8191)<<13)|0;R=(_+(E>>>13)|0)+(ei>>>26)|0,ei&=67108863,S=Math.imul(le,we),E=Math.imul(le,ye),E=E+Math.imul(de,we)|0,_=Math.imul(de,ye),S=S+Math.imul(H,it)|0,E=E+Math.imul(H,ot)|0,E=E+Math.imul(U,it)|0,_=_+Math.imul(U,ot)|0,S=S+Math.imul(K,It)|0,E=E+Math.imul(K,st)|0,E=E+Math.imul(te,It)|0,_=_+Math.imul(te,st)|0,S=S+Math.imul(ie,Lt)|0,E=E+Math.imul(ie,ht)|0,E=E+Math.imul(q,Lt)|0,_=_+Math.imul(q,ht)|0;var ti=(R+S|0)+((E&8191)<<13)|0;R=(_+(E>>>13)|0)+(ti>>>26)|0,ti&=67108863,S=Math.imul(Me,we),E=Math.imul(Me,ye),E=E+Math.imul(ke,we)|0,_=Math.imul(ke,ye),S=S+Math.imul(le,it)|0,E=E+Math.imul(le,ot)|0,E=E+Math.imul(de,it)|0,_=_+Math.imul(de,ot)|0,S=S+Math.imul(H,It)|0,E=E+Math.imul(H,st)|0,E=E+Math.imul(U,It)|0,_=_+Math.imul(U,st)|0,S=S+Math.imul(K,Lt)|0,E=E+Math.imul(K,ht)|0,E=E+Math.imul(te,Lt)|0,_=_+Math.imul(te,ht)|0,S=S+Math.imul(ie,Ut)|0,E=E+Math.imul(ie,ft)|0,E=E+Math.imul(q,Ut)|0,_=_+Math.imul(q,ft)|0;var ri=(R+S|0)+((E&8191)<<13)|0;R=(_+(E>>>13)|0)+(ri>>>26)|0,ri&=67108863,S=Math.imul(Re,we),E=Math.imul(Re,ye),E=E+Math.imul(je,we)|0,_=Math.imul(je,ye),S=S+Math.imul(Me,it)|0,E=E+Math.imul(Me,ot)|0,E=E+Math.imul(ke,it)|0,_=_+Math.imul(ke,ot)|0,S=S+Math.imul(le,It)|0,E=E+Math.imul(le,st)|0,E=E+Math.imul(de,It)|0,_=_+Math.imul(de,st)|0,S=S+Math.imul(H,Lt)|0,E=E+Math.imul(H,ht)|0,E=E+Math.imul(U,Lt)|0,_=_+Math.imul(U,ht)|0,S=S+Math.imul(K,Ut)|0,E=E+Math.imul(K,ft)|0,E=E+Math.imul(te,Ut)|0,_=_+Math.imul(te,ft)|0,S=S+Math.imul(ie,Vt)|0,E=E+Math.imul(ie,xt)|0,E=E+Math.imul(q,Vt)|0,_=_+Math.imul(q,xt)|0;var bn=(R+S|0)+((E&8191)<<13)|0;R=(_+(E>>>13)|0)+(bn>>>26)|0,bn&=67108863,S=Math.imul(Je,we),E=Math.imul(Je,ye),E=E+Math.imul(ze,we)|0,_=Math.imul(ze,ye),S=S+Math.imul(Re,it)|0,E=E+Math.imul(Re,ot)|0,E=E+Math.imul(je,it)|0,_=_+Math.imul(je,ot)|0,S=S+Math.imul(Me,It)|0,E=E+Math.imul(Me,st)|0,E=E+Math.imul(ke,It)|0,_=_+Math.imul(ke,st)|0,S=S+Math.imul(le,Lt)|0,E=E+Math.imul(le,ht)|0,E=E+Math.imul(de,Lt)|0,_=_+Math.imul(de,ht)|0,S=S+Math.imul(H,Ut)|0,E=E+Math.imul(H,ft)|0,E=E+Math.imul(U,Ut)|0,_=_+Math.imul(U,ft)|0,S=S+Math.imul(K,Vt)|0,E=E+Math.imul(K,xt)|0,E=E+Math.imul(te,Vt)|0,_=_+Math.imul(te,xt)|0,S=S+Math.imul(ie,Gt)|0,E=E+Math.imul(ie,gt)|0,E=E+Math.imul(q,Gt)|0,_=_+Math.imul(q,gt)|0;var qn=(R+S|0)+((E&8191)<<13)|0;R=(_+(E>>>13)|0)+(qn>>>26)|0,qn&=67108863,S=Math.imul(Ve,we),E=Math.imul(Ve,ye),E=E+Math.imul(He,we)|0,_=Math.imul(He,ye),S=S+Math.imul(Je,it)|0,E=E+Math.imul(Je,ot)|0,E=E+Math.imul(ze,it)|0,_=_+Math.imul(ze,ot)|0,S=S+Math.imul(Re,It)|0,E=E+Math.imul(Re,st)|0,E=E+Math.imul(je,It)|0,_=_+Math.imul(je,st)|0,S=S+Math.imul(Me,Lt)|0,E=E+Math.imul(Me,ht)|0,E=E+Math.imul(ke,Lt)|0,_=_+Math.imul(ke,ht)|0,S=S+Math.imul(le,Ut)|0,E=E+Math.imul(le,ft)|0,E=E+Math.imul(de,Ut)|0,_=_+Math.imul(de,ft)|0,S=S+Math.imul(H,Vt)|0,E=E+Math.imul(H,xt)|0,E=E+Math.imul(U,Vt)|0,_=_+Math.imul(U,xt)|0,S=S+Math.imul(K,Gt)|0,E=E+Math.imul(K,gt)|0,E=E+Math.imul(te,Gt)|0,_=_+Math.imul(te,gt)|0,S=S+Math.imul(ie,Ft)|0,E=E+Math.imul(ie,lt)|0,E=E+Math.imul(q,Ft)|0,_=_+Math.imul(q,lt)|0;var Di=(R+S|0)+((E&8191)<<13)|0;R=(_+(E>>>13)|0)+(Di>>>26)|0,Di&=67108863,S=Math.imul(Ge,we),E=Math.imul(Ge,ye),E=E+Math.imul(Xe,we)|0,_=Math.imul(Xe,ye),S=S+Math.imul(Ve,it)|0,E=E+Math.imul(Ve,ot)|0,E=E+Math.imul(He,it)|0,_=_+Math.imul(He,ot)|0,S=S+Math.imul(Je,It)|0,E=E+Math.imul(Je,st)|0,E=E+Math.imul(ze,It)|0,_=_+Math.imul(ze,st)|0,S=S+Math.imul(Re,Lt)|0,E=E+Math.imul(Re,ht)|0,E=E+Math.imul(je,Lt)|0,_=_+Math.imul(je,ht)|0,S=S+Math.imul(Me,Ut)|0,E=E+Math.imul(Me,ft)|0,E=E+Math.imul(ke,Ut)|0,_=_+Math.imul(ke,ft)|0,S=S+Math.imul(le,Vt)|0,E=E+Math.imul(le,xt)|0,E=E+Math.imul(de,Vt)|0,_=_+Math.imul(de,xt)|0,S=S+Math.imul(H,Gt)|0,E=E+Math.imul(H,gt)|0,E=E+Math.imul(U,Gt)|0,_=_+Math.imul(U,gt)|0,S=S+Math.imul(K,Ft)|0,E=E+Math.imul(K,lt)|0,E=E+Math.imul(te,Ft)|0,_=_+Math.imul(te,lt)|0,S=S+Math.imul(ie,Kt)|0,E=E+Math.imul(ie,Ht)|0,E=E+Math.imul(q,Kt)|0,_=_+Math.imul(q,Ht)|0;var Wn=(R+S|0)+((E&8191)<<13)|0;R=(_+(E>>>13)|0)+(Wn>>>26)|0,Wn&=67108863,S=Math.imul(J,we),E=Math.imul(J,ye),E=E+Math.imul(X,we)|0,_=Math.imul(X,ye),S=S+Math.imul(Ge,it)|0,E=E+Math.imul(Ge,ot)|0,E=E+Math.imul(Xe,it)|0,_=_+Math.imul(Xe,ot)|0,S=S+Math.imul(Ve,It)|0,E=E+Math.imul(Ve,st)|0,E=E+Math.imul(He,It)|0,_=_+Math.imul(He,st)|0,S=S+Math.imul(Je,Lt)|0,E=E+Math.imul(Je,ht)|0,E=E+Math.imul(ze,Lt)|0,_=_+Math.imul(ze,ht)|0,S=S+Math.imul(Re,Ut)|0,E=E+Math.imul(Re,ft)|0,E=E+Math.imul(je,Ut)|0,_=_+Math.imul(je,ft)|0,S=S+Math.imul(Me,Vt)|0,E=E+Math.imul(Me,xt)|0,E=E+Math.imul(ke,Vt)|0,_=_+Math.imul(ke,xt)|0,S=S+Math.imul(le,Gt)|0,E=E+Math.imul(le,gt)|0,E=E+Math.imul(de,Gt)|0,_=_+Math.imul(de,gt)|0,S=S+Math.imul(H,Ft)|0,E=E+Math.imul(H,lt)|0,E=E+Math.imul(U,Ft)|0,_=_+Math.imul(U,lt)|0,S=S+Math.imul(K,Kt)|0,E=E+Math.imul(K,Ht)|0,E=E+Math.imul(te,Kt)|0,_=_+Math.imul(te,Ht)|0,S=S+Math.imul(ie,br)|0,E=E+Math.imul(ie,Tt)|0,E=E+Math.imul(q,br)|0,_=_+Math.imul(q,Tt)|0;var $i=(R+S|0)+((E&8191)<<13)|0;R=(_+(E>>>13)|0)+($i>>>26)|0,$i&=67108863,S=Math.imul(J,it),E=Math.imul(J,ot),E=E+Math.imul(X,it)|0,_=Math.imul(X,ot),S=S+Math.imul(Ge,It)|0,E=E+Math.imul(Ge,st)|0,E=E+Math.imul(Xe,It)|0,_=_+Math.imul(Xe,st)|0,S=S+Math.imul(Ve,Lt)|0,E=E+Math.imul(Ve,ht)|0,E=E+Math.imul(He,Lt)|0,_=_+Math.imul(He,ht)|0,S=S+Math.imul(Je,Ut)|0,E=E+Math.imul(Je,ft)|0,E=E+Math.imul(ze,Ut)|0,_=_+Math.imul(ze,ft)|0,S=S+Math.imul(Re,Vt)|0,E=E+Math.imul(Re,xt)|0,E=E+Math.imul(je,Vt)|0,_=_+Math.imul(je,xt)|0,S=S+Math.imul(Me,Gt)|0,E=E+Math.imul(Me,gt)|0,E=E+Math.imul(ke,Gt)|0,_=_+Math.imul(ke,gt)|0,S=S+Math.imul(le,Ft)|0,E=E+Math.imul(le,lt)|0,E=E+Math.imul(de,Ft)|0,_=_+Math.imul(de,lt)|0,S=S+Math.imul(H,Kt)|0,E=E+Math.imul(H,Ht)|0,E=E+Math.imul(U,Kt)|0,_=_+Math.imul(U,Ht)|0,S=S+Math.imul(K,br)|0,E=E+Math.imul(K,Tt)|0,E=E+Math.imul(te,br)|0,_=_+Math.imul(te,Tt)|0;var Bi=(R+S|0)+((E&8191)<<13)|0;R=(_+(E>>>13)|0)+(Bi>>>26)|0,Bi&=67108863,S=Math.imul(J,It),E=Math.imul(J,st),E=E+Math.imul(X,It)|0,_=Math.imul(X,st),S=S+Math.imul(Ge,Lt)|0,E=E+Math.imul(Ge,ht)|0,E=E+Math.imul(Xe,Lt)|0,_=_+Math.imul(Xe,ht)|0,S=S+Math.imul(Ve,Ut)|0,E=E+Math.imul(Ve,ft)|0,E=E+Math.imul(He,Ut)|0,_=_+Math.imul(He,ft)|0,S=S+Math.imul(Je,Vt)|0,E=E+Math.imul(Je,xt)|0,E=E+Math.imul(ze,Vt)|0,_=_+Math.imul(ze,xt)|0,S=S+Math.imul(Re,Gt)|0,E=E+Math.imul(Re,gt)|0,E=E+Math.imul(je,Gt)|0,_=_+Math.imul(je,gt)|0,S=S+Math.imul(Me,Ft)|0,E=E+Math.imul(Me,lt)|0,E=E+Math.imul(ke,Ft)|0,_=_+Math.imul(ke,lt)|0,S=S+Math.imul(le,Kt)|0,E=E+Math.imul(le,Ht)|0,E=E+Math.imul(de,Kt)|0,_=_+Math.imul(de,Ht)|0,S=S+Math.imul(H,br)|0,E=E+Math.imul(H,Tt)|0,E=E+Math.imul(U,br)|0,_=_+Math.imul(U,Tt)|0;var bi=(R+S|0)+((E&8191)<<13)|0;R=(_+(E>>>13)|0)+(bi>>>26)|0,bi&=67108863,S=Math.imul(J,Lt),E=Math.imul(J,ht),E=E+Math.imul(X,Lt)|0,_=Math.imul(X,ht),S=S+Math.imul(Ge,Ut)|0,E=E+Math.imul(Ge,ft)|0,E=E+Math.imul(Xe,Ut)|0,_=_+Math.imul(Xe,ft)|0,S=S+Math.imul(Ve,Vt)|0,E=E+Math.imul(Ve,xt)|0,E=E+Math.imul(He,Vt)|0,_=_+Math.imul(He,xt)|0,S=S+Math.imul(Je,Gt)|0,E=E+Math.imul(Je,gt)|0,E=E+Math.imul(ze,Gt)|0,_=_+Math.imul(ze,gt)|0,S=S+Math.imul(Re,Ft)|0,E=E+Math.imul(Re,lt)|0,E=E+Math.imul(je,Ft)|0,_=_+Math.imul(je,lt)|0,S=S+Math.imul(Me,Kt)|0,E=E+Math.imul(Me,Ht)|0,E=E+Math.imul(ke,Kt)|0,_=_+Math.imul(ke,Ht)|0,S=S+Math.imul(le,br)|0,E=E+Math.imul(le,Tt)|0,E=E+Math.imul(de,br)|0,_=_+Math.imul(de,Tt)|0;var Ei=(R+S|0)+((E&8191)<<13)|0;R=(_+(E>>>13)|0)+(Ei>>>26)|0,Ei&=67108863,S=Math.imul(J,Ut),E=Math.imul(J,ft),E=E+Math.imul(X,Ut)|0,_=Math.imul(X,ft),S=S+Math.imul(Ge,Vt)|0,E=E+Math.imul(Ge,xt)|0,E=E+Math.imul(Xe,Vt)|0,_=_+Math.imul(Xe,xt)|0,S=S+Math.imul(Ve,Gt)|0,E=E+Math.imul(Ve,gt)|0,E=E+Math.imul(He,Gt)|0,_=_+Math.imul(He,gt)|0,S=S+Math.imul(Je,Ft)|0,E=E+Math.imul(Je,lt)|0,E=E+Math.imul(ze,Ft)|0,_=_+Math.imul(ze,lt)|0,S=S+Math.imul(Re,Kt)|0,E=E+Math.imul(Re,Ht)|0,E=E+Math.imul(je,Kt)|0,_=_+Math.imul(je,Ht)|0,S=S+Math.imul(Me,br)|0,E=E+Math.imul(Me,Tt)|0,E=E+Math.imul(ke,br)|0,_=_+Math.imul(ke,Tt)|0;var Ai=(R+S|0)+((E&8191)<<13)|0;R=(_+(E>>>13)|0)+(Ai>>>26)|0,Ai&=67108863,S=Math.imul(J,Vt),E=Math.imul(J,xt),E=E+Math.imul(X,Vt)|0,_=Math.imul(X,xt),S=S+Math.imul(Ge,Gt)|0,E=E+Math.imul(Ge,gt)|0,E=E+Math.imul(Xe,Gt)|0,_=_+Math.imul(Xe,gt)|0,S=S+Math.imul(Ve,Ft)|0,E=E+Math.imul(Ve,lt)|0,E=E+Math.imul(He,Ft)|0,_=_+Math.imul(He,lt)|0,S=S+Math.imul(Je,Kt)|0,E=E+Math.imul(Je,Ht)|0,E=E+Math.imul(ze,Kt)|0,_=_+Math.imul(ze,Ht)|0,S=S+Math.imul(Re,br)|0,E=E+Math.imul(Re,Tt)|0,E=E+Math.imul(je,br)|0,_=_+Math.imul(je,Tt)|0;var Cn=(R+S|0)+((E&8191)<<13)|0;R=(_+(E>>>13)|0)+(Cn>>>26)|0,Cn&=67108863,S=Math.imul(J,Gt),E=Math.imul(J,gt),E=E+Math.imul(X,Gt)|0,_=Math.imul(X,gt),S=S+Math.imul(Ge,Ft)|0,E=E+Math.imul(Ge,lt)|0,E=E+Math.imul(Xe,Ft)|0,_=_+Math.imul(Xe,lt)|0,S=S+Math.imul(Ve,Kt)|0,E=E+Math.imul(Ve,Ht)|0,E=E+Math.imul(He,Kt)|0,_=_+Math.imul(He,Ht)|0,S=S+Math.imul(Je,br)|0,E=E+Math.imul(Je,Tt)|0,E=E+Math.imul(ze,br)|0,_=_+Math.imul(ze,Tt)|0;var Rs=(R+S|0)+((E&8191)<<13)|0;R=(_+(E>>>13)|0)+(Rs>>>26)|0,Rs&=67108863,S=Math.imul(J,Ft),E=Math.imul(J,lt),E=E+Math.imul(X,Ft)|0,_=Math.imul(X,lt),S=S+Math.imul(Ge,Kt)|0,E=E+Math.imul(Ge,Ht)|0,E=E+Math.imul(Xe,Kt)|0,_=_+Math.imul(Xe,Ht)|0,S=S+Math.imul(Ve,br)|0,E=E+Math.imul(Ve,Tt)|0,E=E+Math.imul(He,br)|0,_=_+Math.imul(He,Tt)|0;var ks=(R+S|0)+((E&8191)<<13)|0;R=(_+(E>>>13)|0)+(ks>>>26)|0,ks&=67108863,S=Math.imul(J,Kt),E=Math.imul(J,Ht),E=E+Math.imul(X,Kt)|0,_=Math.imul(X,Ht),S=S+Math.imul(Ge,br)|0,E=E+Math.imul(Ge,Tt)|0,E=E+Math.imul(Xe,br)|0,_=_+Math.imul(Xe,Tt)|0;var Ms=(R+S|0)+((E&8191)<<13)|0;R=(_+(E>>>13)|0)+(Ms>>>26)|0,Ms&=67108863,S=Math.imul(J,br),E=Math.imul(J,Tt),E=E+Math.imul(X,br)|0,_=Math.imul(X,Tt);var Zo=(R+S|0)+((E&8191)<<13)|0;return R=(_+(E>>>13)|0)+(Zo>>>26)|0,Zo&=67108863,I[0]=ur,I[1]=Xn,I[2]=ei,I[3]=ti,I[4]=ri,I[5]=bn,I[6]=qn,I[7]=Di,I[8]=Wn,I[9]=$i,I[10]=Bi,I[11]=bi,I[12]=Ei,I[13]=Ai,I[14]=Cn,I[15]=Rs,I[16]=ks,I[17]=Ms,I[18]=Zo,R!==0&&(I[19]=R,m.length++),m};Math.imul||(N=k);function O(b,d,m){m.negative=d.negative^b.negative,m.length=b.length+d.length;for(var x=0,A=0,I=0;I>>26)|0,A+=R>>>26,R&=67108863}m.words[I]=S,x=R,R=A}return x!==0?m.words[I]=x:m.length--,m._strip()}function B(b,d,m){return O(b,d,m)}s.prototype.mulTo=function(b,d){var m,x=this.length+b.length;return this.length===10&&b.length===10?m=N(this,b,d):x<63?m=k(this,b,d):x<1024?m=O(this,b,d):m=B(this,b,d),m},s.prototype.mul=function(b){var d=new s(null);return d.words=new Array(this.length+b.length),this.mulTo(b,d)},s.prototype.mulf=function(b){var d=new s(null);return d.words=new Array(this.length+b.length),B(this,b,d)},s.prototype.imul=function(b){return this.clone().mulTo(b,this)},s.prototype.imuln=function(b){var d=b<0;d&&(b=-b),n(typeof b=="number"),n(b<67108864);for(var m=0,x=0;x>=26,m+=A/67108864|0,m+=I>>>26,this.words[x]=I&67108863}return m!==0&&(this.words[x]=m,this.length++),d?this.ineg():this},s.prototype.muln=function(b){return this.clone().imuln(b)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(b){var d=T(b);if(d.length===0)return new s(1);for(var m=this,x=0;x=0);var d=b%26,m=(b-d)/26,x=67108863>>>26-d<<26-d,A;if(d!==0){var I=0;for(A=0;A>>26-d}I&&(this.words[A]=I,this.length++)}if(m!==0){for(A=this.length-1;A>=0;A--)this.words[A+m]=this.words[A];for(A=0;A=0);var x;d?x=(d-d%26)/26:x=0;var A=b%26,I=Math.min((b-A)/26,this.length),R=67108863^67108863>>>A<I)for(this.length-=I,E=0;E=0&&(_!==0||E>=x);E--){var L=this.words[E]|0;this.words[E]=_<<26-A|L>>>A,_=L&R}return S&&_!==0&&(S.words[S.length++]=_),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},s.prototype.ishrn=function(b,d,m){return n(this.negative===0),this.iushrn(b,d,m)},s.prototype.shln=function(b){return this.clone().ishln(b)},s.prototype.ushln=function(b){return this.clone().iushln(b)},s.prototype.shrn=function(b){return this.clone().ishrn(b)},s.prototype.ushrn=function(b){return this.clone().iushrn(b)},s.prototype.testn=function(b){n(typeof b=="number"&&b>=0);var d=b%26,m=(b-d)/26,x=1<=0);var d=b%26,m=(b-d)/26;if(n(this.negative===0,"imaskn works only with positive numbers"),this.length<=m)return this;if(d!==0&&m++,this.length=Math.min(m,this.length),d!==0){var x=67108863^67108863>>>d<=67108864;d++)this.words[d]-=67108864,d===this.length-1?this.words[d+1]=1:this.words[d+1]++;return this.length=Math.max(this.length,d+1),this},s.prototype.isubn=function(b){if(n(typeof b=="number"),n(b<67108864),b<0)return this.iaddn(-b);if(this.negative!==0)return this.negative=0,this.iaddn(b),this.negative=1,this;if(this.words[0]-=b,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var d=0;d>26)-(S/67108864|0),this.words[A+m]=I&67108863}for(;A>26,this.words[A+m]=I&67108863;if(R===0)return this._strip();for(n(R===-1),R=0,A=0;A>26,this.words[A]=I&67108863;return this.negative=1,this._strip()},s.prototype._wordDiv=function(b,d){var m=this.length-b.length,x=this.clone(),A=b,I=A.words[A.length-1]|0,R=this._countBits(I);m=26-R,m!==0&&(A=A.ushln(m),x.iushln(m),I=A.words[A.length-1]|0);var S=x.length-A.length,E;if(d!=="mod"){E=new s(null),E.length=S+1,E.words=new Array(E.length);for(var _=0;_=0;ie--){var q=(x.words[A.length+ie]|0)*67108864+(x.words[A.length+ie-1]|0);for(q=Math.min(q/I|0,67108863),x._ishlnsubmul(A,q,ie);x.negative!==0;)q--,x.negative=0,x._ishlnsubmul(A,1,ie),x.isZero()||(x.negative^=1);E&&(E.words[ie]=q)}return E&&E._strip(),x._strip(),d!=="div"&&m!==0&&x.iushrn(m),{div:E||null,mod:x}},s.prototype.divmod=function(b,d,m){if(n(!b.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var x,A,I;return this.negative!==0&&b.negative===0?(I=this.neg().divmod(b,d),d!=="mod"&&(x=I.div.neg()),d!=="div"&&(A=I.mod.neg(),m&&A.negative!==0&&A.iadd(b)),{div:x,mod:A}):this.negative===0&&b.negative!==0?(I=this.divmod(b.neg(),d),d!=="mod"&&(x=I.div.neg()),{div:x,mod:I.mod}):this.negative&b.negative?(I=this.neg().divmod(b.neg(),d),d!=="div"&&(A=I.mod.neg(),m&&A.negative!==0&&A.isub(b)),{div:I.div,mod:A}):b.length>this.length||this.cmp(b)<0?{div:new s(0),mod:this}:b.length===1?d==="div"?{div:this.divn(b.words[0]),mod:null}:d==="mod"?{div:null,mod:new s(this.modrn(b.words[0]))}:{div:this.divn(b.words[0]),mod:new s(this.modrn(b.words[0]))}:this._wordDiv(b,d)},s.prototype.div=function(b){return this.divmod(b,"div",!1).div},s.prototype.mod=function(b){return this.divmod(b,"mod",!1).mod},s.prototype.umod=function(b){return this.divmod(b,"mod",!0).mod},s.prototype.divRound=function(b){var d=this.divmod(b);if(d.mod.isZero())return d.div;var m=d.div.negative!==0?d.mod.isub(b):d.mod,x=b.ushrn(1),A=b.andln(1),I=m.cmp(x);return I<0||A===1&&I===0?d.div:d.div.negative!==0?d.div.isubn(1):d.div.iaddn(1)},s.prototype.modrn=function(b){var d=b<0;d&&(b=-b),n(b<=67108863);for(var m=(1<<26)%b,x=0,A=this.length-1;A>=0;A--)x=(m*x+(this.words[A]|0))%b;return d?-x:x},s.prototype.modn=function(b){return this.modrn(b)},s.prototype.idivn=function(b){var d=b<0;d&&(b=-b),n(b<=67108863);for(var m=0,x=this.length-1;x>=0;x--){var A=(this.words[x]|0)+m*67108864;this.words[x]=A/b|0,m=A%b}return this._strip(),d?this.ineg():this},s.prototype.divn=function(b){return this.clone().idivn(b)},s.prototype.egcd=function(b){n(b.negative===0),n(!b.isZero());var d=this,m=b.clone();d.negative!==0?d=d.umod(b):d=d.clone();for(var x=new s(1),A=new s(0),I=new s(0),R=new s(1),S=0;d.isEven()&&m.isEven();)d.iushrn(1),m.iushrn(1),++S;for(var E=m.clone(),_=d.clone();!d.isZero();){for(var L=0,ie=1;!(d.words[0]&ie)&&L<26;++L,ie<<=1);if(L>0)for(d.iushrn(L);L-- >0;)(x.isOdd()||A.isOdd())&&(x.iadd(E),A.isub(_)),x.iushrn(1),A.iushrn(1);for(var q=0,Y=1;!(m.words[0]&Y)&&q<26;++q,Y<<=1);if(q>0)for(m.iushrn(q);q-- >0;)(I.isOdd()||R.isOdd())&&(I.iadd(E),R.isub(_)),I.iushrn(1),R.iushrn(1);d.cmp(m)>=0?(d.isub(m),x.isub(I),A.isub(R)):(m.isub(d),I.isub(x),R.isub(A))}return{a:I,b:R,gcd:m.iushln(S)}},s.prototype._invmp=function(b){n(b.negative===0),n(!b.isZero());var d=this,m=b.clone();d.negative!==0?d=d.umod(b):d=d.clone();for(var x=new s(1),A=new s(0),I=m.clone();d.cmpn(1)>0&&m.cmpn(1)>0;){for(var R=0,S=1;!(d.words[0]&S)&&R<26;++R,S<<=1);if(R>0)for(d.iushrn(R);R-- >0;)x.isOdd()&&x.iadd(I),x.iushrn(1);for(var E=0,_=1;!(m.words[0]&_)&&E<26;++E,_<<=1);if(E>0)for(m.iushrn(E);E-- >0;)A.isOdd()&&A.iadd(I),A.iushrn(1);d.cmp(m)>=0?(d.isub(m),x.isub(A)):(m.isub(d),A.isub(x))}var L;return d.cmpn(1)===0?L=x:L=A,L.cmpn(0)<0&&L.iadd(b),L},s.prototype.gcd=function(b){if(this.isZero())return b.abs();if(b.isZero())return this.abs();var d=this.clone(),m=b.clone();d.negative=0,m.negative=0;for(var x=0;d.isEven()&&m.isEven();x++)d.iushrn(1),m.iushrn(1);do{for(;d.isEven();)d.iushrn(1);for(;m.isEven();)m.iushrn(1);var A=d.cmp(m);if(A<0){var I=d;d=m,m=I}else if(A===0||m.cmpn(1)===0)break;d.isub(m)}while(!0);return m.iushln(x)},s.prototype.invm=function(b){return this.egcd(b).a.umod(b)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(b){return this.words[0]&b},s.prototype.bincn=function(b){n(typeof b=="number");var d=b%26,m=(b-d)/26,x=1<>>26,R&=67108863,this.words[I]=R}return A!==0&&(this.words[I]=A,this.length++),this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(b){var d=b<0;if(this.negative!==0&&!d)return-1;if(this.negative===0&&d)return 1;this._strip();var m;if(this.length>1)m=1;else{d&&(b=-b),n(b<=67108863,"Number is too big");var x=this.words[0]|0;m=x===b?0:xb.length)return 1;if(this.length=0;m--){var x=this.words[m]|0,A=b.words[m]|0;if(x!==A){xA&&(d=1);break}}return d},s.prototype.gtn=function(b){return this.cmpn(b)===1},s.prototype.gt=function(b){return this.cmp(b)===1},s.prototype.gten=function(b){return this.cmpn(b)>=0},s.prototype.gte=function(b){return this.cmp(b)>=0},s.prototype.ltn=function(b){return this.cmpn(b)===-1},s.prototype.lt=function(b){return this.cmp(b)===-1},s.prototype.lten=function(b){return this.cmpn(b)<=0},s.prototype.lte=function(b){return this.cmp(b)<=0},s.prototype.eqn=function(b){return this.cmpn(b)===0},s.prototype.eq=function(b){return this.cmp(b)===0},s.red=function(b){return new F(b)},s.prototype.toRed=function(b){return n(!this.red,"Already a number in reduction context"),n(this.negative===0,"red works only with positives"),b.convertTo(this)._forceRed(b)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(b){return this.red=b,this},s.prototype.forceRed=function(b){return n(!this.red,"Already a number in reduction context"),this._forceRed(b)},s.prototype.redAdd=function(b){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,b)},s.prototype.redIAdd=function(b){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,b)},s.prototype.redSub=function(b){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,b)},s.prototype.redISub=function(b){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,b)},s.prototype.redShl=function(b){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,b)},s.prototype.redMul=function(b){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,b),this.red.mul(this,b)},s.prototype.redIMul=function(b){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,b),this.red.imul(this,b)},s.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(b){return n(this.red&&!b.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,b)};var z={k256:null,p224:null,p192:null,p25519:null};function G(b,d){this.name=b,this.p=new s(d,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}G.prototype._tmp=function(){var b=new s(null);return b.words=new Array(Math.ceil(this.n/13)),b},G.prototype.ireduce=function(b){var d=b,m;do this.split(d,this.tmp),d=this.imulK(d),d=d.iadd(this.tmp),m=d.bitLength();while(m>this.n);var x=m0?d.isub(this.p):d.strip!==void 0?d.strip():d._strip(),d},G.prototype.split=function(b,d){b.iushrn(this.n,0,d)},G.prototype.imulK=function(b){return b.imul(this.k)};function $(){G.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i($,G),$.prototype.split=function(b,d){for(var m=4194303,x=Math.min(b.length,9),A=0;A>>22,I=R}I>>>=22,b.words[A-10]=I,I===0&&b.length>10?b.length-=10:b.length-=9},$.prototype.imulK=function(b){b.words[b.length]=0,b.words[b.length+1]=0,b.length+=2;for(var d=0,m=0;m>>=26,b.words[m]=A,d=x}return d!==0&&(b.words[b.length++]=d),b},s._prime=function(b){if(z[b])return z[b];var d;if(b==="k256")d=new $;else if(b==="p224")d=new D;else if(b==="p192")d=new V;else if(b==="p25519")d=new Q;else throw new Error("Unknown prime "+b);return z[b]=d,d};function F(b){if(typeof b=="string"){var d=s._prime(b);this.m=d.p,this.prime=d}else n(b.gtn(1),"modulus must be greater than 1"),this.m=b,this.prime=null}F.prototype._verify1=function(b){n(b.negative===0,"red works only with positives"),n(b.red,"red works only with red numbers")},F.prototype._verify2=function(b,d){n((b.negative|d.negative)===0,"red works only with positives"),n(b.red&&b.red===d.red,"red works only with red numbers")},F.prototype.imod=function(b){return this.prime?this.prime.ireduce(b)._forceRed(this):(h(b,b.umod(this.m)._forceRed(this)),b)},F.prototype.neg=function(b){return b.isZero()?b.clone():this.m.sub(b)._forceRed(this)},F.prototype.add=function(b,d){this._verify2(b,d);var m=b.add(d);return m.cmp(this.m)>=0&&m.isub(this.m),m._forceRed(this)},F.prototype.iadd=function(b,d){this._verify2(b,d);var m=b.iadd(d);return m.cmp(this.m)>=0&&m.isub(this.m),m},F.prototype.sub=function(b,d){this._verify2(b,d);var m=b.sub(d);return m.cmpn(0)<0&&m.iadd(this.m),m._forceRed(this)},F.prototype.isub=function(b,d){this._verify2(b,d);var m=b.isub(d);return m.cmpn(0)<0&&m.iadd(this.m),m},F.prototype.shl=function(b,d){return this._verify1(b),this.imod(b.ushln(d))},F.prototype.imul=function(b,d){return this._verify2(b,d),this.imod(b.imul(d))},F.prototype.mul=function(b,d){return this._verify2(b,d),this.imod(b.mul(d))},F.prototype.isqr=function(b){return this.imul(b,b.clone())},F.prototype.sqr=function(b){return this.mul(b,b)},F.prototype.sqrt=function(b){if(b.isZero())return b.clone();var d=this.m.andln(3);if(n(d%2===1),d===3){var m=this.m.add(new s(1)).iushrn(2);return this.pow(b,m)}for(var x=this.m.subn(1),A=0;!x.isZero()&&x.andln(1)===0;)A++,x.iushrn(1);n(!x.isZero());var I=new s(1).toRed(this),R=I.redNeg(),S=this.m.subn(1).iushrn(1),E=this.m.bitLength();for(E=new s(2*E*E).toRed(this);this.pow(E,S).cmp(R)!==0;)E.redIAdd(R);for(var _=this.pow(E,x),L=this.pow(b,x.addn(1).iushrn(1)),ie=this.pow(b,x),q=A;ie.cmp(I)!==0;){for(var Y=ie,K=0;Y.cmp(I)!==0;K++)Y=Y.redSqr();n(K=0;A--){for(var _=d.words[A],L=E-1;L>=0;L--){var ie=_>>L&1;if(I!==x[0]&&(I=this.sqr(I)),ie===0&&R===0){S=0;continue}R<<=1,R|=ie,S++,!(S!==m&&(A!==0||L!==0))&&(I=this.mul(I,x[R]),S=0,R=0)}E=26}return I},F.prototype.convertTo=function(b){var d=b.umod(this.m);return d===b?d.clone():d},F.prototype.convertFrom=function(b){var d=b.clone();return d.red=null,d},s.mont=function(b){return new M(b)};function M(b){F.call(this,b),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new s(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)}i(M,F),M.prototype.convertTo=function(b){return this.imod(b.ushln(this.shift))},M.prototype.convertFrom=function(b){var d=this.imod(b.mul(this.rinv));return d.red=null,d},M.prototype.imul=function(b,d){if(b.isZero()||d.isZero())return b.words[0]=0,b.length=1,b;var m=b.imul(d),x=m.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),A=m.isub(x).iushrn(this.shift),I=A;return A.cmp(this.m)>=0?I=A.isub(this.m):A.cmpn(0)<0&&(I=A.iadd(this.m)),I._forceRed(this)},M.prototype.mul=function(b,d){if(b.isZero()||d.isZero())return new s(0)._forceRed(this);var m=b.mul(d),x=m.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),A=m.isub(x).iushrn(this.shift),I=A;return A.cmp(this.m)>=0?I=A.isub(this.m):A.cmpn(0)<0&&(I=A.iadd(this.m)),I._forceRed(this)},M.prototype.invm=function(b){var d=this.imod(b._invmp(this.m).mul(this.r2));return d._forceRed(this)}})(r,_de)})(Pde);var Hr=Pde.exports;const Ode="bignumber/5.7.0";var nT=Hr.BN;const i0=new nn(Ode),bU={},Dde=9007199254740991;function JKe(r){return r!=null&&(Oi.isBigNumber(r)||typeof r=="number"&&r%1===0||typeof r=="string"&&!!r.match(/^-?[0-9]+$/)||el(r)||typeof r=="bigint"||Xy(r))}let $de=!1,Oi=class{constructor(e,t){e!==bU&&i0.throwError("cannot call constructor directly; use BigNumber.from",nn.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=t,this._isBigNumber=!0,Object.freeze(this)}fromTwos(e){return vc(gn(this).fromTwos(e))}toTwos(e){return vc(gn(this).toTwos(e))}abs(){return this._hex[0]==="-"?Oi.from(this._hex.substring(1)):this}add(e){return vc(gn(this).add(gn(e)))}sub(e){return vc(gn(this).sub(gn(e)))}div(e){return Oi.from(e).isZero()&&ou("division-by-zero","div"),vc(gn(this).div(gn(e)))}mul(e){return vc(gn(this).mul(gn(e)))}mod(e){const t=gn(e);return t.isNeg()&&ou("division-by-zero","mod"),vc(gn(this).umod(t))}pow(e){const t=gn(e);return t.isNeg()&&ou("negative-power","pow"),vc(gn(this).pow(t))}and(e){const t=gn(e);return(this.isNegative()||t.isNeg())&&ou("unbound-bitwise-result","and"),vc(gn(this).and(t))}or(e){const t=gn(e);return(this.isNegative()||t.isNeg())&&ou("unbound-bitwise-result","or"),vc(gn(this).or(t))}xor(e){const t=gn(e);return(this.isNegative()||t.isNeg())&&ou("unbound-bitwise-result","xor"),vc(gn(this).xor(t))}mask(e){return(this.isNegative()||e<0)&&ou("negative-width","mask"),vc(gn(this).maskn(e))}shl(e){return(this.isNegative()||e<0)&&ou("negative-width","shl"),vc(gn(this).shln(e))}shr(e){return(this.isNegative()||e<0)&&ou("negative-width","shr"),vc(gn(this).shrn(e))}eq(e){return gn(this).eq(gn(e))}lt(e){return gn(this).lt(gn(e))}lte(e){return gn(this).lte(gn(e))}gt(e){return gn(this).gt(gn(e))}gte(e){return gn(this).gte(gn(e))}isNegative(){return this._hex[0]==="-"}isZero(){return gn(this).isZero()}toNumber(){try{return gn(this).toNumber()}catch{ou("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch{}return i0.throwError("this platform does not support BigInt",nn.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(arguments[0]===10?$de||($de=!0,i0.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):arguments[0]===16?i0.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",nn.errors.UNEXPECTED_ARGUMENT,{}):i0.throwError("BigNumber.toString does not accept parameters",nn.errors.UNEXPECTED_ARGUMENT,{})),gn(this).toString(10)}toHexString(){return this._hex}toJSON(e){return{type:"BigNumber",hex:this.toHexString()}}static from(e){if(e instanceof Oi)return e;if(typeof e=="string")return e.match(/^-?0x[0-9a-f]+$/i)?new Oi(bU,Y8(e)):e.match(/^-?[0-9]+$/)?new Oi(bU,Y8(new nT(e))):i0.throwArgumentError("invalid BigNumber string","value",e);if(typeof e=="number")return e%1&&ou("underflow","BigNumber.from",e),(e>=Dde||e<=-Dde)&&ou("overflow","BigNumber.from",e),Oi.from(String(e));const t=e;if(typeof t=="bigint")return Oi.from(t.toString());if(Xy(t))return Oi.from(ja(t));if(t)if(t.toHexString){const n=t.toHexString();if(typeof n=="string")return Oi.from(n)}else{let n=t._hex;if(n==null&&t.type==="BigNumber"&&(n=t.hex),typeof n=="string"&&(el(n)||n[0]==="-"&&el(n.substring(1))))return Oi.from(n)}return i0.throwArgumentError("invalid BigNumber value","value",e)}static isBigNumber(e){return!!(e&&e._isBigNumber)}};function Y8(r){if(typeof r!="string")return Y8(r.toString(16));if(r[0]==="-")return r=r.substring(1),r[0]==="-"&&i0.throwArgumentError("invalid hex","value",r),r=Y8(r),r==="0x00"?r:"-"+r;if(r.substring(0,2)!=="0x"&&(r="0x"+r),r==="0x")return"0x00";for(r.length%2&&(r="0x0"+r.substring(2));r.length>4&&r.substring(0,4)==="0x00";)r="0x"+r.substring(4);return r}function vc(r){return Oi.from(Y8(r))}function gn(r){const e=Oi.from(r).toHexString();return e[0]==="-"?new nT("-"+e.substring(3),16):new nT(e.substring(2),16)}function ou(r,e,t){const n={fault:r,operation:e};return t!=null&&(n.value=t),i0.throwError(r,nn.errors.NUMERIC_FAULT,n)}function YKe(r){return new nT(r,36).toString(16)}const za=new nn(Ode),Q8={},Bde=Oi.from(0),Lde=Oi.from(-1);function Ude(r,e,t,n){const i={fault:e,operation:t};return n!==void 0&&(i.value=n),za.throwError(r,nn.errors.NUMERIC_FAULT,i)}let X8="0";for(;X8.length<256;)X8+=X8;function wU(r){if(typeof r!="number")try{r=Oi.from(r).toNumber()}catch{}return typeof r=="number"&&r>=0&&r<=256&&!(r%1)?"1"+X8.substring(0,r):za.throwArgumentError("invalid decimal size","decimals",r)}function vU(r,e){e==null&&(e=0);const t=wU(e);r=Oi.from(r);const n=r.lt(Bde);n&&(r=r.mul(Lde));let i=r.mod(t).toString();for(;i.length2&&za.throwArgumentError("too many decimal points","value",r);let s=i[0],o=i[1];for(s||(s="0"),o||(o="0");o[o.length-1]==="0";)o=o.substring(0,o.length-1);for(o.length>t.length-1&&Ude("fractional component exceeds decimals","underflow","parseFixed"),o===""&&(o="0");o.lengthe[o]==null?l:(typeof e[o]!==a&&za.throwArgumentError("invalid fixed format ("+o+" not "+a+")","format."+o,e[o]),e[o]);t=s("signed","boolean",t),n=s("width","number",n),i=s("decimals","number",i)}return n%8&&za.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",n),i>80&&za.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",i),new ex(Q8,t,n,i)}},va=class{constructor(e,t,n,i){e!==Q8&&za.throwError("cannot use FixedNumber constructor; use FixedNumber.from",nn.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.format=i,this._hex=t,this._value=n,this._isFixedNumber=!0,Object.freeze(this)}_checkFormat(e){this.format.name!==e.format.name&&za.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",e)}addUnsafe(e){this._checkFormat(e);const t=s0(this._value,this.format.decimals),n=s0(e._value,e.format.decimals);return va.fromValue(t.add(n),this.format.decimals,this.format)}subUnsafe(e){this._checkFormat(e);const t=s0(this._value,this.format.decimals),n=s0(e._value,e.format.decimals);return va.fromValue(t.sub(n),this.format.decimals,this.format)}mulUnsafe(e){this._checkFormat(e);const t=s0(this._value,this.format.decimals),n=s0(e._value,e.format.decimals);return va.fromValue(t.mul(n).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(e){this._checkFormat(e);const t=s0(this._value,this.format.decimals),n=s0(e._value,e.format.decimals);return va.fromValue(t.mul(this.format._multiplier).div(n),this.format.decimals,this.format)}floor(){const e=this.toString().split(".");e.length===1&&e.push("0");let t=va.from(e[0],this.format);const n=!e[1].match(/^(0*)$/);return this.isNegative()&&n&&(t=t.subUnsafe(Fde.toFormat(t.format))),t}ceiling(){const e=this.toString().split(".");e.length===1&&e.push("0");let t=va.from(e[0],this.format);const n=!e[1].match(/^(0*)$/);return!this.isNegative()&&n&&(t=t.addUnsafe(Fde.toFormat(t.format))),t}round(e){e==null&&(e=0);const t=this.toString().split(".");if(t.length===1&&t.push("0"),(e<0||e>80||e%1)&&za.throwArgumentError("invalid decimal count","decimals",e),t[1].length<=e)return this;const n=va.from("1"+X8.substring(0,e),this.format),i=QKe.toFormat(this.format);return this.mulUnsafe(n).addUnsafe(i).floor().divUnsafe(n)}isZero(){return this._value==="0.0"||this._value==="0"}isNegative(){return this._value[0]==="-"}toString(){return this._value}toHexString(e){if(e==null)return this._hex;e%8&&za.throwArgumentError("invalid byte width","width",e);const t=Oi.from(this._hex).fromTwos(this.format.width).toTwos(e).toHexString();return Tf(t,e/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(e){return va.fromString(this._value,e)}static fromValue(e,t,n){return n==null&&t!=null&&!JKe(t)&&(n=t,t=null),t==null&&(t=0),n==null&&(n="fixed"),va.fromString(vU(e,t),ex.from(n))}static fromString(e,t){t==null&&(t="fixed");const n=ex.from(t),i=s0(e,n.decimals);!n.signed&&i.lt(Bde)&&Ude("unsigned value cannot be negative","overflow","value",e);let s=null;n.signed?s=i.toTwos(n.width).toHexString():(s=i.toHexString(),s=Tf(s,n.width/8));const o=vU(i,n.decimals);return new va(Q8,s,o,n)}static fromBytes(e,t){t==null&&(t="fixed");const n=ex.from(t);if(fs(e).length>n.width/8)throw new Error("overflow");let i=Oi.from(e);n.signed&&(i=i.fromTwos(n.width));const s=i.toTwos((n.signed?0:1)+n.width).toHexString(),o=vU(i,n.decimals);return new va(Q8,s,o,n)}static from(e,t){if(typeof e=="string")return va.fromString(e,t);if(Xy(e))return va.fromBytes(e,t);try{return va.fromValue(e,0,t)}catch(n){if(n.code!==nn.errors.INVALID_ARGUMENT)throw n}return za.throwArgumentError("invalid FixedNumber value","value",e)}static isFixedNumber(e){return!!(e&&e._isFixedNumber)}};const Fde=va.from(1),QKe=va.from("0.5"),XKe="strings/5.7.0",eZe=new nn(XKe);var iT;(function(r){r.current="",r.NFC="NFC",r.NFD="NFD",r.NFKC="NFKC",r.NFKD="NFKD"})(iT||(iT={}));var jde;(function(r){r.UNEXPECTED_CONTINUE="unexpected continuation byte",r.BAD_PREFIX="bad codepoint prefix",r.OVERRUN="string overrun",r.MISSING_CONTINUE="missing continuation byte",r.OUT_OF_RANGE="out of UTF-8 range",r.UTF16_SURROGATE="UTF-16 surrogate",r.OVERLONG="overlong representation"})(jde||(jde={}));function yU(r,e=iT.current){e!=iT.current&&(eZe.checkNormalize(),r=r.normalize(e));let t=[];for(let n=0;n>6|192),t.push(i&63|128);else if((i&64512)==55296){n++;const s=r.charCodeAt(n);if(n>=r.length||(s&64512)!==56320)throw new Error("invalid utf-8 string");const o=65536+((i&1023)<<10)+(s&1023);t.push(o>>18|240),t.push(o>>12&63|128),t.push(o>>6&63|128),t.push(o&63|128)}else t.push(i>>12|224),t.push(i>>6&63|128),t.push(i&63|128)}return fs(t)}function tZe(r){if(r.length%4!==0)throw new Error("bad data");let e=[];for(let t=0;t{let s=i.split(":");t+=parseInt(s[0],16),n[t]=e(s[1])}),n}function zde(r){let e=0;return r.split(",").map(t=>{let n=t.split("-");n.length===1?n[1]="0":n[1]===""&&(n[1]="1");let i=e+parseInt(n[0],16);return e=parseInt(n[1],16),{l:i,h:e}})}zde("221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d"),"ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map(r=>parseInt(r,16)),xU("b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3"),xU("179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7"),xU("df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D",tZe),zde("80-20,2a0-,39c,32,f71,18e,7f2-f,19-7,30-4,7-5,f81-b,5,a800-20ff,4d1-1f,110,fa-6,d174-7,2e84-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,2,1f-5f,ff7f-20001");const Hde="hash/5.7.0";function rZe(r){r=atob(r);const e=[];for(let t=0;t0&&Array.isArray(a)?i(a,o-1):t.push(a)})};return i(r,e),t}function nZe(r){const e={};for(let t=0;t>--l&1}const p=31,g=Math.pow(2,p),w=g>>>1,y=w>>1,C=g-1;let T=0;for(let z=0;z1;){let Q=G+$>>>1;z>>1|h(),D=D<<1^w,V=(V^w)<<1|w|1;N=D,O=1+V-D}let B=n-4;return k.map(z=>{switch(z-B){case 3:return B+65792+(r[a++]<<16|r[a++]<<8|r[a++]);case 2:return B+256+(r[a++]<<8|r[a++]);case 1:return B+r[a++];default:return z-1}})}function sZe(r){let e=0;return()=>r[e++]}function oZe(r){return sZe(iZe(r))}function aZe(r){return r&1?~r>>1:r>>1}function cZe(r,e){let t=Array(r);for(let n=0;ne[o]):t}function uZe(r){let e=[];for(;;){let t=r();if(t==0)break;e.push(fZe(t,r))}for(;;){let t=r()-1;if(t<0)break;e.push(dZe(t,r))}return nZe(qde(e))}function hZe(r){let e=[];for(;;){let t=r();if(t==0)break;e.push(t)}return e}function Vde(r,e,t){let n=Array(r).fill(void 0).map(()=>[]);for(let i=0;in[o].push(s));return n}function fZe(r,e){let t=1+e(),n=e(),i=hZe(e),s=Vde(i.length,1+r,e);return qde(s.map((o,a)=>{const l=o[0],u=o.slice(1);return Array(i[a]).fill(void 0).map((h,p)=>{let g=p*n;return[l+p*t,u.map(w=>w+g)]})}))}function dZe(r,e){let t=1+e();return Vde(t,1+r,e).map(n=>[n[0],n.slice(1)])}function pZe(r){let e=sT(r).sort((n,i)=>n-i);return t();function t(){let n=[];for(;;){let u=sT(r,e);if(u.length==0)break;n.push({set:new Set(u),node:t()})}n.sort((u,h)=>h.set.size-u.set.size);let i=r(),s=i%3;i=i/3|0;let o=!!(i&1);i>>=1;let a=i==1,l=i==2;return{branches:n,valid:s,fe0f:o,save:a,check:l}}}function gZe(){return oZe(rZe("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"))}const oT=gZe();new Set(sT(oT)),new Set(sT(oT)),uZe(oT),pZe(oT),new nn(Hde),new Uint8Array(32).fill(0);const mZe=`Ethereum Signed Message: +`;function Gde(r){return typeof r=="string"&&(r=yU(r)),mU(qKe([yU(mZe),yU(String(r.length)),r]))}const bZe="rlp/5.7.0";new nn(bZe);const wZe="address/5.7.0",tx=new nn(wZe);function Kde(r){el(r,20)||tx.throwArgumentError("invalid address","address",r),r=r.toLowerCase();const e=r.substring(2).split(""),t=new Uint8Array(40);for(let i=0;i<40;i++)t[i]=e[i].charCodeAt(0);const n=fs(mU(t));for(let i=0;i<40;i+=2)n[i>>1]>>4>=8&&(e[i]=e[i].toUpperCase()),(n[i>>1]&15)>=8&&(e[i+1]=e[i+1].toUpperCase());return"0x"+e.join("")}const vZe=9007199254740991;function yZe(r){return Math.log10?Math.log10(r):Math.log(r)/Math.LN10}const _U={};for(let r=0;r<10;r++)_U[String(r)]=String(r);for(let r=0;r<26;r++)_U[String.fromCharCode(65+r)]=String(10+r);const Zde=Math.floor(yZe(vZe));function xZe(r){r=r.toUpperCase(),r=r.substring(4)+r.substring(0,2)+"00";let e=r.split("").map(n=>_U[n]).join("");for(;e.length>=Zde;){let n=e.substring(0,Zde);e=parseInt(n,10)%97+e.substring(n.length)}let t=String(98-parseInt(e,10)%97);for(;t.length<2;)t="0"+t;return t}function _Ze(r){let e=null;if(typeof r!="string"&&tx.throwArgumentError("invalid address","address",r),r.match(/^(0x)?[0-9a-fA-F]{40}$/))r.substring(0,2)!=="0x"&&(r="0x"+r),e=Kde(r),r.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&e!==r&&tx.throwArgumentError("bad address checksum","address",r);else if(r.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(r.substring(2,4)!==xZe(r)&&tx.throwArgumentError("bad icap checksum","address",r),e=YKe(r.substring(4));e.length<40;)e="0"+e;e=Kde("0x"+e)}else tx.throwArgumentError("invalid address","address",r);return e}const EZe="properties/5.7.0";new nn(EZe);function rx(r,e,t){Object.defineProperty(r,e,{enumerable:!0,value:t,writable:!1})}new nn(Hde),new Uint8Array(32).fill(0),Oi.from(-1);const AZe=Oi.from(0),CZe=Oi.from(1);Oi.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Tf(CZe.toHexString(),32),Tf(AZe.toHexString(),32);var Rf={},mn={},nx=Jde;function Jde(r,e){if(!r)throw new Error(e||"Assertion failed")}Jde.equal=function(r,e,t){if(r!=e)throw new Error(t||"Assertion failed: "+r+" != "+e)};var EU={exports:{}};typeof Object.create=="function"?EU.exports=function(r,e){e&&(r.super_=e,r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}))}:EU.exports=function(r,e){if(e){r.super_=e;var t=function(){};t.prototype=e.prototype,r.prototype=new t,r.prototype.constructor=r}};var SZe=nx,IZe=EU.exports;mn.inherits=IZe;function TZe(r,e){return(r.charCodeAt(e)&64512)!==55296||e<0||e+1>=r.length?!1:(r.charCodeAt(e+1)&64512)===56320}function RZe(r,e){if(Array.isArray(r))return r.slice();if(!r)return[];var t=[];if(typeof r=="string")if(e){if(e==="hex")for(r=r.replace(/[^a-z0-9]+/ig,""),r.length%2!==0&&(r="0"+r),i=0;i>6|192,t[n++]=s&63|128):TZe(r,i)?(s=65536+((s&1023)<<10)+(r.charCodeAt(++i)&1023),t[n++]=s>>18|240,t[n++]=s>>12&63|128,t[n++]=s>>6&63|128,t[n++]=s&63|128):(t[n++]=s>>12|224,t[n++]=s>>6&63|128,t[n++]=s&63|128)}else for(i=0;i>>24|r>>>8&65280|r<<8&16711680|(r&255)<<24;return e>>>0}mn.htonl=Yde;function MZe(r,e){for(var t="",n=0;n>>0}return s}mn.join32=NZe;function PZe(r,e){for(var t=new Array(r.length*4),n=0,i=0;n>>24,t[i+1]=s>>>16&255,t[i+2]=s>>>8&255,t[i+3]=s&255):(t[i+3]=s>>>24,t[i+2]=s>>>16&255,t[i+1]=s>>>8&255,t[i]=s&255)}return t}mn.split32=PZe;function OZe(r,e){return r>>>e|r<<32-e}mn.rotr32=OZe;function DZe(r,e){return r<>>32-e}mn.rotl32=DZe;function $Ze(r,e){return r+e>>>0}mn.sum32=$Ze;function BZe(r,e,t){return r+e+t>>>0}mn.sum32_3=BZe;function LZe(r,e,t,n){return r+e+t+n>>>0}mn.sum32_4=LZe;function UZe(r,e,t,n,i){return r+e+t+n+i>>>0}mn.sum32_5=UZe;function FZe(r,e,t,n){var i=r[e],s=r[e+1],o=n+s>>>0,a=(o>>0,r[e+1]=o}mn.sum64=FZe;function jZe(r,e,t,n){var i=e+n>>>0,s=(i>>0}mn.sum64_hi=jZe;function zZe(r,e,t,n){var i=e+n;return i>>>0}mn.sum64_lo=zZe;function HZe(r,e,t,n,i,s,o,a){var l=0,u=e;u=u+n>>>0,l+=u>>0,l+=u>>0,l+=u>>0}mn.sum64_4_hi=HZe;function qZe(r,e,t,n,i,s,o,a){var l=e+n+s+a;return l>>>0}mn.sum64_4_lo=qZe;function WZe(r,e,t,n,i,s,o,a,l,u){var h=0,p=e;p=p+n>>>0,h+=p>>0,h+=p>>0,h+=p>>0,h+=p>>0}mn.sum64_5_hi=WZe;function VZe(r,e,t,n,i,s,o,a,l,u){var h=e+n+s+a+u;return h>>>0}mn.sum64_5_lo=VZe;function GZe(r,e,t){var n=e<<32-t|r>>>t;return n>>>0}mn.rotr64_hi=GZe;function KZe(r,e,t){var n=r<<32-t|e>>>t;return n>>>0}mn.rotr64_lo=KZe;function ZZe(r,e,t){return r>>>t}mn.shr64_hi=ZZe;function JZe(r,e,t){var n=r<<32-t|e>>>t;return n>>>0}mn.shr64_lo=JZe;var e3={},e0e=mn,YZe=nx;function aT(){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}e3.BlockHash=aT,aT.prototype.update=function(r,e){if(r=e0e.toArray(r,e),this.pending?this.pending=this.pending.concat(r):this.pending=r,this.pendingTotal+=r.length,this.pending.length>=this._delta8){r=this.pending;var t=r.length%this._delta8;this.pending=r.slice(r.length-t,r.length),this.pending.length===0&&(this.pending=null),r=e0e.join32(r,0,r.length-t,this.endian);for(var n=0;n>>24&255,n[i++]=r>>>16&255,n[i++]=r>>>8&255,n[i++]=r&255}else for(n[i++]=r&255,n[i++]=r>>>8&255,n[i++]=r>>>16&255,n[i++]=r>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,s=8;s>>3}kf.g0_256=rJe;function nJe(r){return Mf(r,17)^Mf(r,19)^r>>>10}kf.g1_256=nJe;var r3=mn,iJe=e3,sJe=kf,AU=r3.rotl32,ix=r3.sum32,oJe=r3.sum32_5,aJe=sJe.ft_1,i0e=iJe.BlockHash,cJe=[1518500249,1859775393,2400959708,3395469782];function Nf(){if(!(this instanceof Nf))return new Nf;i0e.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}r3.inherits(Nf,i0e);var lJe=Nf;Nf.blockSize=512,Nf.outSize=160,Nf.hmacStrength=80,Nf.padLength=64,Nf.prototype._update=function(r,e){for(var t=this.W,n=0;n<16;n++)t[n]=r[e+n];for(;nthis.blockSize&&(r=new this.Hash().update(r).digest()),JJe(r.length<=this.blockSize);for(var e=r.length;e>8,g=h&255;p?l.push(p,g):l.push(g)}return l}t.toArray=n;function i(o){return o.length===1?"0"+o:o}t.zero2=i;function s(o){for(var a="",l=0;l(g>>1)-1?C=(g>>1)-T:C=T,w.isubn(C)):C=0,p[y]=C,w.iushrn(1)}return p}t.getNAF=n;function i(l,u){var h=[[],[]];l=l.clone(),u=u.clone();for(var p=0,g=0,w;l.cmpn(-p)>0||u.cmpn(-g)>0;){var y=l.andln(3)+p&3,C=u.andln(3)+g&3;y===3&&(y=-1),C===3&&(C=-1);var T;y&1?(w=l.andln(7)+p&7,(w===3||w===5)&&C===2?T=-y:T=y):T=0,h[0].push(T);var k;C&1?(w=u.andln(7)+g&7,(w===3||w===5)&&y===2?k=-C:k=C):k=0,h[1].push(k),2*p===T+1&&(p=1-p),2*g===k+1&&(g=1-g),l.iushrn(1),u.iushrn(1)}return h}t.getJSF=i;function s(l,u,h){var p="_"+u;l.prototype[u]=function(){return this[p]!==void 0?this[p]:this[p]=h.call(this)}}t.cachedProperty=s;function o(l){return typeof l=="string"?t.toArray(l,"hex"):l}t.parseBytes=o;function a(l){return new Hr(l,"hex","le")}t.intFromLE=a}),lT=tl.getNAF,XJe=tl.getJSF,uT=tl.assert;function C1(r,e){this.type=r,this.p=new Hr(e.p,16),this.red=e.prime?Hr.red(e.prime):Hr.mont(this.p),this.zero=new Hr(0).toRed(this.red),this.one=new Hr(1).toRed(this.red),this.two=new Hr(2).toRed(this.red),this.n=e.n&&new Hr(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var t=this.n&&this.p.div(this.n);!t||t.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var u2=C1;C1.prototype.point=function(){throw new Error("Not implemented")},C1.prototype.validate=function(){throw new Error("Not implemented")},C1.prototype._fixedNafMul=function(r,e){uT(r.precomputed);var t=r._getDoubles(),n=lT(e,1,this._bitLength),i=(1<=o;l--)a=(a<<1)+n[l];s.push(a)}for(var u=this.jpoint(null,null,null),h=this.jpoint(null,null,null),p=i;p>0;p--){for(o=0;o=0;a--){for(var l=0;a>=0&&s[a]===0;a--)l++;if(a>=0&&l++,o=o.dblp(l),a<0)break;var u=s[a];uT(u!==0),r.type==="affine"?u>0?o=o.mixedAdd(i[u-1>>1]):o=o.mixedAdd(i[-u-1>>1].neg()):u>0?o=o.add(i[u-1>>1]):o=o.add(i[-u-1>>1].neg())}return r.type==="affine"?o.toP():o},C1.prototype._wnafMulAdd=function(r,e,t,n,i){var s=this._wnafT1,o=this._wnafT2,a=this._wnafT3,l=0,u,h,p;for(u=0;u=1;u-=2){var w=u-1,y=u;if(s[w]!==1||s[y]!==1){a[w]=lT(t[w],s[w],this._bitLength),a[y]=lT(t[y],s[y],this._bitLength),l=Math.max(a[w].length,l),l=Math.max(a[y].length,l);continue}var C=[e[w],null,null,e[y]];e[w].y.cmp(e[y].y)===0?(C[1]=e[w].add(e[y]),C[2]=e[w].toJ().mixedAdd(e[y].neg())):e[w].y.cmp(e[y].y.redNeg())===0?(C[1]=e[w].toJ().mixedAdd(e[y]),C[2]=e[w].add(e[y].neg())):(C[1]=e[w].toJ().mixedAdd(e[y]),C[2]=e[w].toJ().mixedAdd(e[y].neg()));var T=[-3,-1,-5,-7,0,7,5,1,3],k=XJe(t[w],t[y]);for(l=Math.max(k[0].length,l),a[w]=new Array(l),a[y]=new Array(l),h=0;h=0;u--){for(var G=0;u>=0;){var $=!0;for(h=0;h=0&&G++,B=B.dblp(G),u<0)break;for(h=0;h0?p=o[h][D-1>>1]:D<0&&(p=o[h][-D-1>>1].neg()),p.type==="affine"?B=B.mixedAdd(p):B=B.add(p))}}for(u=0;u=Math.ceil((r.bitLength()+1)/e.step):!1},au.prototype._getDoubles=function(r,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var t=[this],n=this,i=0;i=0&&(g=l,w=u),h.negative&&(h=h.neg(),p=p.neg()),g.negative&&(g=g.neg(),w=w.neg()),[{a:h,b:p},{a:g,b:w}]},cu.prototype._endoSplit=function(r){var e=this.endo.basis,t=e[0],n=e[1],i=n.b.mul(r).divRound(this.n),s=t.b.neg().mul(r).divRound(this.n),o=i.mul(t.a),a=s.mul(n.a),l=i.mul(t.b),u=s.mul(n.b),h=r.sub(o).sub(a),p=l.add(u).neg();return{k1:h,k2:p}},cu.prototype.pointFromX=function(r,e){r=new Hr(r,16),r.red||(r=r.toRed(this.red));var t=r.redSqr().redMul(r).redIAdd(r.redMul(this.a)).redIAdd(this.b),n=t.redSqrt();if(n.redSqr().redSub(t).cmp(this.zero)!==0)throw new Error("invalid point");var i=n.fromRed().isOdd();return(e&&!i||!e&&i)&&(n=n.redNeg()),this.point(r,n)},cu.prototype.validate=function(r){if(r.inf)return!0;var e=r.x,t=r.y,n=this.a.redMul(e),i=e.redSqr().redMul(e).redIAdd(n).redIAdd(this.b);return t.redSqr().redISub(i).cmpn(0)===0},cu.prototype._endoWnafMulAdd=function(r,e,t){for(var n=this._endoWnafT1,i=this._endoWnafT2,s=0;s":""},To.prototype.isInfinity=function(){return this.inf},To.prototype.add=function(r){if(this.inf)return r;if(r.inf)return this;if(this.eq(r))return this.dbl();if(this.neg().eq(r))return this.curve.point(null,null);if(this.x.cmp(r.x)===0)return this.curve.point(null,null);var e=this.y.redSub(r.y);e.cmpn(0)!==0&&(e=e.redMul(this.x.redSub(r.x).redInvm()));var t=e.redSqr().redISub(this.x).redISub(r.x),n=e.redMul(this.x.redSub(t)).redISub(this.y);return this.curve.point(t,n)},To.prototype.dbl=function(){if(this.inf)return this;var r=this.y.redAdd(this.y);if(r.cmpn(0)===0)return this.curve.point(null,null);var e=this.curve.a,t=this.x.redSqr(),n=r.redInvm(),i=t.redAdd(t).redIAdd(t).redIAdd(e).redMul(n),s=i.redSqr().redISub(this.x.redAdd(this.x)),o=i.redMul(this.x.redSub(s)).redISub(this.y);return this.curve.point(s,o)},To.prototype.getX=function(){return this.x.fromRed()},To.prototype.getY=function(){return this.y.fromRed()},To.prototype.mul=function(r){return r=new Hr(r,16),this.isInfinity()?this:this._hasDoubles(r)?this.curve._fixedNafMul(this,r):this.curve.endo?this.curve._endoWnafMulAdd([this],[r]):this.curve._wnafMul(this,r)},To.prototype.mulAdd=function(r,e,t){var n=[this,e],i=[r,t];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},To.prototype.jmulAdd=function(r,e,t){var n=[this,e],i=[r,t];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},To.prototype.eq=function(r){return this===r||this.inf===r.inf&&(this.inf||this.x.cmp(r.x)===0&&this.y.cmp(r.y)===0)},To.prototype.neg=function(r){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(r&&this.precomputed){var t=this.precomputed,n=function(i){return i.neg()};e.precomputed={naf:t.naf&&{wnd:t.naf.wnd,points:t.naf.points.map(n)},doubles:t.doubles&&{step:t.doubles.step,points:t.doubles.points.map(n)}}}return e},To.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var r=this.curve.jpoint(this.x,this.y,this.curve.one);return r};function Vo(r,e,t,n){u2.BasePoint.call(this,r,"jacobian"),e===null&&t===null&&n===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new Hr(0)):(this.x=new Hr(e,16),this.y=new Hr(t,16),this.z=new Hr(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.zOne=this.z===this.curve.one}kU(Vo,u2.BasePoint),cu.prototype.jpoint=function(r,e,t){return new Vo(this,r,e,t)},Vo.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var r=this.z.redInvm(),e=r.redSqr(),t=this.x.redMul(e),n=this.y.redMul(e).redMul(r);return this.curve.point(t,n)},Vo.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},Vo.prototype.add=function(r){if(this.isInfinity())return r;if(r.isInfinity())return this;var e=r.z.redSqr(),t=this.z.redSqr(),n=this.x.redMul(e),i=r.x.redMul(t),s=this.y.redMul(e.redMul(r.z)),o=r.y.redMul(t.redMul(this.z)),a=n.redSub(i),l=s.redSub(o);if(a.cmpn(0)===0)return l.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var u=a.redSqr(),h=u.redMul(a),p=n.redMul(u),g=l.redSqr().redIAdd(h).redISub(p).redISub(p),w=l.redMul(p.redISub(g)).redISub(s.redMul(h)),y=this.z.redMul(r.z).redMul(a);return this.curve.jpoint(g,w,y)},Vo.prototype.mixedAdd=function(r){if(this.isInfinity())return r.toJ();if(r.isInfinity())return this;var e=this.z.redSqr(),t=this.x,n=r.x.redMul(e),i=this.y,s=r.y.redMul(e).redMul(this.z),o=t.redSub(n),a=i.redSub(s);if(o.cmpn(0)===0)return a.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var l=o.redSqr(),u=l.redMul(o),h=t.redMul(l),p=a.redSqr().redIAdd(u).redISub(h).redISub(h),g=a.redMul(h.redISub(p)).redISub(i.redMul(u)),w=this.z.redMul(o);return this.curve.jpoint(p,g,w)},Vo.prototype.dblp=function(r){if(r===0)return this;if(this.isInfinity())return this;if(!r)return this.dbl();var e;if(this.curve.zeroA||this.curve.threeA){var t=this;for(e=0;e=0)return!1;if(t.redIAdd(i),this.x.cmp(t)===0)return!0}},Vo.prototype.inspect=function(){return this.isInfinity()?"":""},Vo.prototype.isInfinity=function(){return this.z.cmpn(0)===0};var hT=o3(function(r,e){var t=e;t.base=u2,t.short=tYe,t.mont=null,t.edwards=null}),fT=o3(function(r,e){var t=e,n=tl.assert;function i(a){a.type==="short"?this.curve=new hT.short(a):a.type==="edwards"?this.curve=new hT.edwards(a):this.curve=new hT.mont(a),this.g=this.curve.g,this.n=this.curve.n,this.hash=a.hash,n(this.g.validate(),"Invalid curve"),n(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}t.PresetCurve=i;function s(a,l){Object.defineProperty(t,a,{configurable:!0,enumerable:!0,get:function(){var u=new i(l);return Object.defineProperty(t,a,{configurable:!0,enumerable:!0,value:u}),u}})}s("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:Rf.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),s("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:Rf.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),s("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:Rf.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),s("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:Rf.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"]}),s("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:Rf.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"]}),s("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:Rf.sha256,gRed:!1,g:["9"]}),s("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:Rf.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var o;try{o=null.crash()}catch{o=void 0}s("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:Rf.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",o]})});function S1(r){if(!(this instanceof S1))return new S1(r);this.hash=r.hash,this.predResist=!!r.predResist,this.outLen=this.hash.outSize,this.minEntropy=r.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=ch.toArray(r.entropy,r.entropyEnc||"hex"),t=ch.toArray(r.nonce,r.nonceEnc||"hex"),n=ch.toArray(r.pers,r.persEnc||"hex");RU(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,t,n)}var v0e=S1;S1.prototype._init=function(r,e,t){var n=r.concat(e).concat(t);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(r.concat(t||[])),this._reseed=1},S1.prototype.generate=function(r,e,t,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof e!="string"&&(n=t,t=e,e=null),t&&(t=ch.toArray(t,n||"hex"),this._update(t));for(var i=[];i.length"};var rYe=tl.assert;function dT(r,e){if(r instanceof dT)return r;this._importDER(r,e)||(rYe(r.r&&r.s,"Signature without r or s"),this.r=new Hr(r.r,16),this.s=new Hr(r.s,16),r.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=r.recoveryParam)}var pT=dT;function nYe(){this.place=0}function PU(r,e){var t=r[e.place++];if(!(t&128))return t;var n=t&15;if(n===0||n>4)return!1;for(var i=0,s=0,o=e.place;s>>=0;return i<=127?!1:(e.place=o,i)}function y0e(r){for(var e=0,t=r.length-1;!r[e]&&!(r[e+1]&128)&&e>>3);for(r.push(t|128);--t;)r.push(e>>>(t<<3)&255);r.push(e)}dT.prototype.toDER=function(r){var e=this.r.toArray(),t=this.s.toArray();for(e[0]&128&&(e=[0].concat(e)),t[0]&128&&(t=[0].concat(t)),e=y0e(e),t=y0e(t);!t[0]&&!(t[1]&128);)t=t.slice(1);var n=[2];OU(n,e.length),n=n.concat(e),n.push(2),OU(n,t.length);var i=n.concat(t),s=[48];return OU(s,i.length),s=s.concat(i),tl.encode(s,r)};var iYe=function(){throw new Error("unsupported")},x0e=tl.assert;function lu(r){if(!(this instanceof lu))return new lu(r);typeof r=="string"&&(x0e(Object.prototype.hasOwnProperty.call(fT,r),"Unknown curve "+r),r=fT[r]),r instanceof fT.PresetCurve&&(r={curve:r}),this.curve=r.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=r.curve.g,this.g.precompute(r.curve.n.bitLength()+1),this.hash=r.hash||r.curve.hash}var sYe=lu;lu.prototype.keyPair=function(r){return new NU(this,r)},lu.prototype.keyFromPrivate=function(r,e){return NU.fromPrivate(this,r,e)},lu.prototype.keyFromPublic=function(r,e){return NU.fromPublic(this,r,e)},lu.prototype.genKeyPair=function(r){r||(r={});for(var e=new v0e({hash:this.hash,pers:r.pers,persEnc:r.persEnc||"utf8",entropy:r.entropy||iYe(this.hash.hmacStrength),entropyEnc:r.entropy&&r.entropyEnc||"utf8",nonce:this.n.toArray()}),t=this.n.byteLength(),n=this.n.sub(new Hr(2));;){var i=new Hr(e.generate(t));if(!(i.cmp(n)>0))return i.iaddn(1),this.keyFromPrivate(i)}},lu.prototype._truncateToN=function(r,e){var t=r.byteLength()*8-this.n.bitLength();return t>0&&(r=r.ushrn(t)),!e&&r.cmp(this.n)>=0?r.sub(this.n):r},lu.prototype.sign=function(r,e,t,n){typeof t=="object"&&(n=t,t=null),n||(n={}),e=this.keyFromPrivate(e,t),r=this._truncateToN(new Hr(r,16));for(var i=this.n.byteLength(),s=e.getPrivate().toArray("be",i),o=r.toArray("be",i),a=new v0e({hash:this.hash,entropy:s,nonce:o,pers:n.pers,persEnc:n.persEnc||"utf8"}),l=this.n.sub(new Hr(1)),u=0;;u++){var h=n.k?n.k(u):new Hr(a.generate(this.n.byteLength()));if(h=this._truncateToN(h,!0),!(h.cmpn(1)<=0||h.cmp(l)>=0)){var p=this.g.mul(h);if(!p.isInfinity()){var g=p.getX(),w=g.umod(this.n);if(w.cmpn(0)!==0){var y=h.invm(this.n).mul(w.mul(e.getPrivate()).iadd(r));if(y=y.umod(this.n),y.cmpn(0)!==0){var C=(p.getY().isOdd()?1:0)|(g.cmp(w)!==0?2:0);return n.canonical&&y.cmp(this.nh)>0&&(y=this.n.sub(y),C^=1),new pT({r:w,s:y,recoveryParam:C})}}}}}},lu.prototype.verify=function(r,e,t,n){r=this._truncateToN(new Hr(r,16)),t=this.keyFromPublic(t,n),e=new pT(e,"hex");var i=e.r,s=e.s;if(i.cmpn(1)<0||i.cmp(this.n)>=0||s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;var o=s.invm(this.n),a=o.mul(r).umod(this.n),l=o.mul(i).umod(this.n),u;return this.curve._maxwellTrick?(u=this.g.jmulAdd(a,t.getPublic(),l),u.isInfinity()?!1:u.eqXToP(i)):(u=this.g.mulAdd(a,t.getPublic(),l),u.isInfinity()?!1:u.getX().umod(this.n).cmp(i)===0)},lu.prototype.recoverPubKey=function(r,e,t,n){x0e((3&t)===t,"The recovery param is more than two bits"),e=new pT(e,n);var i=this.n,s=new Hr(r),o=e.r,a=e.s,l=t&1,u=t>>1;if(o.cmp(this.curve.p.umod(this.curve.n))>=0&&u)throw new Error("Unable to find sencond key candinate");u?o=this.curve.pointFromX(o.add(this.curve.n),l):o=this.curve.pointFromX(o,l);var h=e.r.invm(i),p=i.sub(s).mul(h).umod(i),g=a.mul(h).umod(i);return this.g.mulAdd(p,o,g)},lu.prototype.getKeyRecoveryParam=function(r,e,t,n){if(e=new pT(e,n),e.recoveryParam!==null)return e.recoveryParam;for(var i=0;i<4;i++){var s;try{s=this.recoverPubKey(r,e,i)}catch{continue}if(s.eq(t))return i}throw new Error("Unable to find valid recovery factor")};var oYe=o3(function(r,e){var t=e;t.version="6.5.4",t.utils=tl,t.rand=function(){throw new Error("unsupported")},t.curve=hT,t.curves=fT,t.ec=sYe,t.eddsa=null}),aYe=oYe.ec;const cYe="signing-key/5.7.0",DU=new nn(cYe);let $U=null;function Bf(){return $U||($U=new aYe("secp256k1")),$U}class lYe{constructor(e){rx(this,"curve","secp256k1"),rx(this,"privateKey",ja(e)),VKe(this.privateKey)!==32&&DU.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");const t=Bf().keyFromPrivate(fs(this.privateKey));rx(this,"publicKey","0x"+t.getPublic(!1,"hex")),rx(this,"compressedPublicKey","0x"+t.getPublic(!0,"hex")),rx(this,"_isSigningKey",!0)}_addPoint(e){const t=Bf().keyFromPublic(fs(this.publicKey)),n=Bf().keyFromPublic(fs(e));return"0x"+t.pub.add(n.pub).encodeCompressed("hex")}signDigest(e){const t=Bf().keyFromPrivate(fs(this.privateKey)),n=fs(e);n.length!==32&&DU.throwArgumentError("bad digest length","digest",e);const i=t.sign(n,{canonical:!0});return Nde({recoveryParam:i.recoveryParam,r:Tf("0x"+i.r.toString(16),32),s:Tf("0x"+i.s.toString(16),32)})}computeSharedSecret(e){const t=Bf().keyFromPrivate(fs(this.privateKey)),n=Bf().keyFromPublic(fs(_0e(e)));return Tf("0x"+t.derive(n.getPublic()).toString(16),32)}static isSigningKey(e){return!!(e&&e._isSigningKey)}}function uYe(r,e){const t=Nde(e),n={r:fs(t.r),s:fs(t.s)};return"0x"+Bf().recoverPubKey(fs(r),n,t.recoveryParam).encode("hex",!1)}function _0e(r,e){const t=fs(r);if(t.length===32){const n=new lYe(t);return e?"0x"+Bf().keyFromPrivate(t).getPublic(!0,"hex"):n.publicKey}else{if(t.length===33)return e?ja(t):"0x"+Bf().keyFromPublic(t).getPublic(!1,"hex");if(t.length===65)return e?"0x"+Bf().keyFromPublic(t).getPublic(!0,"hex"):ja(t)}return DU.throwArgumentError("invalid public or private key","key","[REDACTED]")}const hYe="transactions/5.7.0";new nn(hYe);var E0e;(function(r){r[r.legacy=0]="legacy",r[r.eip2930=1]="eip2930",r[r.eip1559=2]="eip1559"})(E0e||(E0e={}));function fYe(r){const e=_0e(r);return _Ze(Mde(mU(Mde(e,1)),12))}function dYe(r,e){return fYe(uYe(fs(r),e))}const pYe="https://rpc.walletconnect.com/v1";async function gYe(r,e,t,n,i,s){switch(t.t){case"eip191":return mYe(r,e,t.s);case"eip1271":return await bYe(r,e,t.s,n,i,s);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${t.t}`)}}function mYe(r,e,t){return dYe(Gde(e),t).toLowerCase()===r.toLowerCase()}async function bYe(r,e,t,n,i,s){try{const o="0x1626ba7e",a="0000000000000000000000000000000000000000000000000000000000000040",l="0000000000000000000000000000000000000000000000000000000000000041",u=t.substring(2),h=Gde(e).substring(2),p=o+h+a+l+u,g=await fetch(`${s||pYe}/?chainId=${n}&projectId=${i}`,{method:"POST",body:JSON.stringify({id:wYe(),jsonrpc:"2.0",method:"eth_call",params:[{to:r,data:p},"latest"]})}),{result:w}=await g.json();return w?w.slice(0,o.length).toLowerCase()===o.toLowerCase():!1}catch(o){return console.error("isValidEip1271Signature: ",o),!1}}function wYe(){return Date.now()+Math.floor(Math.random()*1e3)}var vYe=Object.defineProperty,yYe=Object.defineProperties,xYe=Object.getOwnPropertyDescriptors,A0e=Object.getOwnPropertySymbols,_Ye=Object.prototype.hasOwnProperty,EYe=Object.prototype.propertyIsEnumerable,C0e=(r,e,t)=>e in r?vYe(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,AYe=(r,e)=>{for(var t in e||(e={}))_Ye.call(e,t)&&C0e(r,t,e[t]);if(A0e)for(var t of A0e(e))EYe.call(e,t)&&C0e(r,t,e[t]);return r},CYe=(r,e)=>yYe(r,xYe(e));const SYe="did:pkh:",BU=r=>r==null?void 0:r.split(":"),S0e=r=>{const e=r&&BU(r);if(e)return r.includes(SYe)?e[3]:e[1]},I0e=r=>{const e=r&&BU(r);if(e)return e[2]+":"+e[3]},gT=r=>{const e=r&&BU(r);if(e)return e.pop()};async function T0e(r){const{cacao:e,projectId:t}=r,{s:n,p:i}=e,s=R0e(i,i.iss),o=gT(i.iss);return await gYe(o,s,n,S0e(i.iss),t)}const R0e=(r,e)=>{const t=`${r.domain} wants you to sign in with your Ethereum account:`,n=gT(e);if(!r.aud&&!r.uri)throw new Error("Either `aud` or `uri` is required to construct the message");let i=r.statement||void 0;const s=`URI: ${r.aud||r.uri}`,o=`Version: ${r.version}`,a=`Chain ID: ${S0e(e)}`,l=`Nonce: ${r.nonce}`,u=`Issued At: ${r.iat}`,h=r.resources?`Resources:${r.resources.map(g=>` +- ${g}`).join("")}`:void 0,p=mT(r.resources);if(p){const g=ox(p);i=DYe(i,g)}return[t,n,"",i,"",s,o,a,l,u,h].filter(g=>g!=null).join(` +`)};function IYe(r){return Dt.from(JSON.stringify(r)).toString("base64")}function TYe(r){return JSON.parse(Dt.from(r,"base64").toString("utf-8"))}function h2(r){if(!r)throw new Error("No recap provided, value is undefined");if(!r.att)throw new Error("No `att` property found");const e=Object.keys(r.att);if(!(e!=null&&e.length))throw new Error("No resources found in `att` property");e.forEach(t=>{const n=r.att[t];if(Array.isArray(n))throw new Error(`Resource must be an object: ${t}`);if(typeof n!="object")throw new Error(`Resource must be an object: ${t}`);if(!Object.keys(n).length)throw new Error(`Resource object is empty: ${t}`);Object.keys(n).forEach(i=>{const s=n[i];if(!Array.isArray(s))throw new Error(`Ability limits ${i} must be an array of objects, found: ${s}`);if(!s.length)throw new Error(`Value of ${i} is empty array, must be an array with objects`);s.forEach(o=>{if(typeof o!="object")throw new Error(`Ability limits (${i}) must be an array of objects, found: ${o}`)})})})}function RYe(r,e,t,n={}){return t==null||t.sort((i,s)=>i.localeCompare(s)),{att:{[r]:kYe(e,t,n)}}}function kYe(r,e,t={}){e=e==null?void 0:e.sort((i,s)=>i.localeCompare(s));const n=e.map(i=>({[`${r}/${i}`]:[t]}));return Object.assign({},...n)}function k0e(r){return h2(r),`urn:recap:${IYe(r).replace(/=/g,"")}`}function ox(r){const e=TYe(r.replace("urn:recap:",""));return h2(e),e}function MYe(r,e,t){const n=RYe(r,e,t);return k0e(n)}function NYe(r){return r&&r.includes("urn:recap:")}function PYe(r,e){const t=ox(r),n=ox(e),i=OYe(t,n);return k0e(i)}function OYe(r,e){h2(r),h2(e);const t=Object.keys(r.att).concat(Object.keys(e.att)).sort((i,s)=>i.localeCompare(s)),n={att:{}};return t.forEach(i=>{var s,o;Object.keys(((s=r.att)==null?void 0:s[i])||{}).concat(Object.keys(((o=e.att)==null?void 0:o[i])||{})).sort((a,l)=>a.localeCompare(l)).forEach(a=>{var l,u;n.att[i]=CYe(AYe({},n.att[i]),{[a]:((l=r.att[i])==null?void 0:l[a])||((u=e.att[i])==null?void 0:u[a])})})}),n}function DYe(r="",e){h2(e);const t="I further authorize the stated URI to perform the following actions on my behalf: ";if(r.includes(t))return r;const n=[];let i=0;Object.keys(e.att).forEach(a=>{const l=Object.keys(e.att[a]).map(p=>({ability:p.split("/")[0],action:p.split("/")[1]}));l.sort((p,g)=>p.action.localeCompare(g.action));const u={};l.forEach(p=>{u[p.ability]||(u[p.ability]=[]),u[p.ability].push(p.action)});const h=Object.keys(u).map(p=>(i++,`(${i}) '${p}': '${u[p].join("', '")}' for '${a}'.`));n.push(h.join(", ").replace(".,","."))});const s=n.join(" "),o=`${t}${s}`;return`${r?r+" ":""}${o}`}function M0e(r){var e;const t=ox(r);h2(t);const n=(e=t.att)==null?void 0:e.eip155;return n?Object.keys(n).map(i=>i.split("/")[1]):[]}function N0e(r){const e=ox(r);h2(e);const t=[];return Object.values(e.att).forEach(n=>{Object.values(n).forEach(i=>{var s;(s=i==null?void 0:i[0])!=null&&s.chains&&t.push(i[0].chains)})}),[...new Set(t.flat())]}function mT(r){if(!r)return;const e=r==null?void 0:r[r.length-1];return NYe(e)?e:void 0}const P0e="base10",Ha="base16",LU="base64pad",UU="utf8",O0e=0,I1=1,$Ye=0,D0e=1,FU=12,jU=32;function BYe(){const r=O6.generateKeyPair();return{privateKey:yi(r.secretKey,Ha),publicKey:yi(r.publicKey,Ha)}}function zU(){const r=c1.randomBytes(jU);return yi(r,Ha)}function LYe(r,e){const t=O6.sharedKey(Pi(r,Ha),Pi(e,Ha),!0),n=new lre(Rm.SHA256,t).expand(jU);return yi(n,Ha)}function bT(r){const e=Rm.hash(Pi(r,Ha));return yi(e,Ha)}function f2(r){const e=Rm.hash(Pi(r,UU));return yi(e,Ha)}function UYe(r){return Pi(`${r}`,P0e)}function ax(r){return Number(yi(r,P0e))}function FYe(r){const e=UYe(typeof r.type<"u"?r.type:O0e);if(ax(e)===I1&&typeof r.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");const t=typeof r.senderPublicKey<"u"?Pi(r.senderPublicKey,Ha):void 0,n=typeof r.iv<"u"?Pi(r.iv,Ha):c1.randomBytes(FU),i=new E6.ChaCha20Poly1305(Pi(r.symKey,Ha)).seal(n,Pi(r.message,UU));return zYe({type:e,sealed:i,iv:n,senderPublicKey:t})}function jYe(r){const e=new E6.ChaCha20Poly1305(Pi(r.symKey,Ha)),{sealed:t,iv:n}=wT(r.encoded),i=e.open(n,t);if(i===null)throw new Error("Failed to decrypt");return yi(i,UU)}function zYe(r){if(ax(r.type)===I1){if(typeof r.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");return yi(D6([r.type,r.senderPublicKey,r.iv,r.sealed]),LU)}return yi(D6([r.type,r.iv,r.sealed]),LU)}function wT(r){const e=Pi(r,LU),t=e.slice($Ye,D0e),n=D0e;if(ax(t)===I1){const a=n+jU,l=a+FU,u=e.slice(n,a),h=e.slice(a,l),p=e.slice(l);return{type:t,sealed:p,iv:h,senderPublicKey:u}}const i=n+FU,s=e.slice(n,i),o=e.slice(i);return{type:t,sealed:o,iv:s}}function HYe(r,e){const t=wT(r);return $0e({type:ax(t.type),senderPublicKey:typeof t.senderPublicKey<"u"?yi(t.senderPublicKey,Ha):void 0,receiverPublicKey:e==null?void 0:e.receiverPublicKey})}function $0e(r){const e=(r==null?void 0:r.type)||O0e;if(e===I1){if(typeof(r==null?void 0:r.senderPublicKey)>"u")throw new Error("missing sender public key");if(typeof(r==null?void 0:r.receiverPublicKey)>"u")throw new Error("missing receiver public key")}return{type:e,senderPublicKey:r==null?void 0:r.senderPublicKey,receiverPublicKey:r==null?void 0:r.receiverPublicKey}}function B0e(r){return r.type===I1&&typeof r.senderPublicKey=="string"&&typeof r.receiverPublicKey=="string"}const qYe="irn";function HU(r){return(r==null?void 0:r.relay)||{protocol:qYe}}function vT(r){const e=zoe[r];if(typeof e>"u")throw new Error(`Relay Protocol not supported: ${r}`);return e}var WYe=Object.defineProperty,VYe=Object.defineProperties,GYe=Object.getOwnPropertyDescriptors,L0e=Object.getOwnPropertySymbols,KYe=Object.prototype.hasOwnProperty,ZYe=Object.prototype.propertyIsEnumerable,U0e=(r,e,t)=>e in r?WYe(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,F0e=(r,e)=>{for(var t in e||(e={}))KYe.call(e,t)&&U0e(r,t,e[t]);if(L0e)for(var t of L0e(e))ZYe.call(e,t)&&U0e(r,t,e[t]);return r},JYe=(r,e)=>VYe(r,GYe(e));function YYe(r,e="-"){const t={},n="relay"+e;return Object.keys(r).forEach(i=>{if(i.startsWith(n)){const s=i.replace(n,""),o=r[i];t[s]=o}}),t}function j0e(r){r=r.includes("wc://")?r.replace("wc://",""):r,r=r.includes("wc:")?r.replace("wc:",""):r;const e=r.indexOf(":"),t=r.indexOf("?")!==-1?r.indexOf("?"):void 0,n=r.substring(0,e),i=r.substring(e+1,t).split("@"),s=typeof t<"u"?r.substring(t):"",o=zd.parse(s),a=typeof o.methods=="string"?o.methods.split(","):void 0;return{protocol:n,topic:QYe(i[0]),version:parseInt(i[1],10),symKey:o.symKey,relay:YYe(o),methods:a,expiryTimestamp:o.expiryTimestamp?parseInt(o.expiryTimestamp,10):void 0}}function QYe(r){return r.startsWith("//")?r.substring(2):r}function XYe(r,e="-"){const t="relay",n={};return Object.keys(r).forEach(i=>{const s=t+e+i;r[i]&&(n[s]=r[i])}),n}function eQe(r){return`${r.protocol}:${r.topic}@${r.version}?`+zd.stringify(F0e(JYe(F0e({symKey:r.symKey},XYe(r.relay)),{expiryTimestamp:r.expiryTimestamp}),r.methods?{methods:r.methods.join(",")}:{}))}function a3(r){const e=[];return r.forEach(t=>{const[n,i]=t.split(":");e.push(`${n}:${i}`)}),e}function tQe(r){const e=[];return Object.values(r).forEach(t=>{e.push(...a3(t.accounts))}),e}function rQe(r,e){const t=[];return Object.values(r).forEach(n=>{a3(n.accounts).includes(e)&&t.push(...n.methods)}),t}function nQe(r,e){const t=[];return Object.values(r).forEach(n=>{a3(n.accounts).includes(e)&&t.push(...n.events)}),t}function qU(r){return r.includes(":")}function cx(r){return qU(r)?r.split(":")[0]:r}function iQe(r){const e={};return r==null||r.forEach(t=>{const[n,i]=t.split(":");e[n]||(e[n]={accounts:[],chains:[],events:[]}),e[n].accounts.push(t),e[n].chains.push(`${n}:${i}`)}),e}function z0e(r,e){e=e.map(n=>n.replace("did:pkh:",""));const t=iQe(e);for(const[n,i]of Object.entries(t))i.methods?i.methods=tT(i.methods,r):i.methods=r,i.events=["chainChanged","accountsChanged"];return t}const sQe={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}},oQe={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 Bt(r,e){const{message:t,code:n}=oQe[r];return{message:e?`${t} ${e}`:t,code:n}}function ni(r,e){const{message:t,code:n}=sQe[r];return{message:e?`${t} ${e}`:t,code:n}}function Lf(r,e){return Array.isArray(r)?typeof e<"u"&&r.length?r.every(e):!0:!1}function lx(r){return Object.getPrototypeOf(r)===Object.prototype&&Object.keys(r).length}function qa(r){return typeof r>"u"}function Is(r,e){return e&&qa(r)?!0:typeof r=="string"&&!!r.trim().length}function WU(r,e){return e&&qa(r)?!0:typeof r=="number"&&!isNaN(r)}function aQe(r,e){const{requiredNamespaces:t}=e,n=Object.keys(r.namespaces),i=Object.keys(t);let s=!0;return a2(i,n)?(n.forEach(o=>{const{accounts:a,methods:l,events:u}=r.namespaces[o],h=a3(a),p=t[o];(!a2(pde(o,p),h)||!a2(p.methods,l)||!a2(p.events,u))&&(s=!1)}),s):!1}function yT(r){return Is(r,!1)&&r.includes(":")?r.split(":").length===2:!1}function cQe(r){if(Is(r,!1)&&r.includes(":")){const e=r.split(":");if(e.length===3){const t=e[0]+":"+e[1];return!!e[2]&&yT(t)}}return!1}function lQe(r){if(Is(r,!1))try{return typeof new URL(r)<"u"}catch{return!1}return!1}function uQe(r){var e;return(e=r==null?void 0:r.proposer)==null?void 0:e.publicKey}function hQe(r){return r==null?void 0:r.topic}function fQe(r,e){let t=null;return Is(r==null?void 0:r.publicKey,!1)||(t=Bt("MISSING_OR_INVALID",`${e} controller public key should be a string`)),t}function H0e(r){let e=!0;return Lf(r)?r.length&&(e=r.every(t=>Is(t,!1))):e=!1,e}function dQe(r,e,t){let n=null;return Lf(e)&&e.length?e.forEach(i=>{n||yT(i)||(n=ni("UNSUPPORTED_CHAINS",`${t}, chain ${i} should be a string and conform to "namespace:chainId" format`))}):yT(r)||(n=ni("UNSUPPORTED_CHAINS",`${t}, 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"] }`)),n}function pQe(r,e,t){let n=null;return Object.entries(r).forEach(([i,s])=>{if(n)return;const o=dQe(i,pde(i,s),`${e} ${t}`);o&&(n=o)}),n}function gQe(r,e){let t=null;return Lf(r)?r.forEach(n=>{t||cQe(n)||(t=ni("UNSUPPORTED_ACCOUNTS",`${e}, account ${n} should be a string and conform to "namespace:chainId:address" format`))}):t=ni("UNSUPPORTED_ACCOUNTS",`${e}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),t}function mQe(r,e){let t=null;return Object.values(r).forEach(n=>{if(t)return;const i=gQe(n==null?void 0:n.accounts,`${e} namespace`);i&&(t=i)}),t}function bQe(r,e){let t=null;return H0e(r==null?void 0:r.methods)?H0e(r==null?void 0:r.events)||(t=ni("UNSUPPORTED_EVENTS",`${e}, events should be an array of strings or empty array for no events`)):t=ni("UNSUPPORTED_METHODS",`${e}, methods should be an array of strings or empty array for no methods`),t}function q0e(r,e){let t=null;return Object.values(r).forEach(n=>{if(t)return;const i=bQe(n,`${e}, namespace`);i&&(t=i)}),t}function wQe(r,e,t){let n=null;if(r&&lx(r)){const i=q0e(r,e);i&&(n=i);const s=pQe(r,e,t);s&&(n=s)}else n=Bt("MISSING_OR_INVALID",`${e}, ${t} should be an object with data`);return n}function VU(r,e){let t=null;if(r&&lx(r)){const n=q0e(r,e);n&&(t=n);const i=mQe(r,e);i&&(t=i)}else t=Bt("MISSING_OR_INVALID",`${e}, namespaces should be an object with data`);return t}function W0e(r){return Is(r.protocol,!0)}function vQe(r,e){let t=!1;return e&&!r?t=!0:r&&Lf(r)&&r.length&&r.forEach(n=>{t=W0e(n)}),t}function yQe(r){return typeof r=="number"}function xc(r){return typeof r<"u"&&typeof r!==null}function xQe(r){return!(!r||typeof r!="object"||!r.code||!WU(r.code,!1)||!r.message||!Is(r.message,!1))}function _Qe(r){return!(qa(r)||!Is(r.method,!1))}function EQe(r){return!(qa(r)||qa(r.result)&&qa(r.error)||!WU(r.id,!1)||!Is(r.jsonrpc,!1))}function AQe(r){return!(qa(r)||!Is(r.name,!1))}function V0e(r,e){return!(!yT(e)||!tQe(r).includes(e))}function CQe(r,e,t){return Is(t,!1)?rQe(r,e).includes(t):!1}function SQe(r,e,t){return Is(t,!1)?nQe(r,e).includes(t):!1}function G0e(r,e,t){let n=null;const i=IQe(r),s=TQe(e),o=Object.keys(i),a=Object.keys(s),l=K0e(Object.keys(r)),u=K0e(Object.keys(e)),h=l.filter(p=>!u.includes(p));return h.length&&(n=Bt("NON_CONFORMING_NAMESPACES",`${t} namespaces keys don't satisfy requiredNamespaces. Required: ${h.toString()} - Received: ${Object.keys(e).toString()}`)),c2(o,a)||(n=Bt("NON_CONFORMING_NAMESPACES",`${t} namespaces chains don't satisfy required namespaces. + Received: ${Object.keys(e).toString()}`)),a2(o,a)||(n=Bt("NON_CONFORMING_NAMESPACES",`${t} namespaces chains don't satisfy required namespaces. Required: ${o.toString()} - Approved: ${a.toString()}`)),Object.keys(e).forEach(p=>{if(!p.includes(":")||n)return;const g=l3(e[p].accounts);g.includes(p)||(n=Bt("NON_CONFORMING_NAMESPACES",`${t} namespaces accounts don't satisfy namespace accounts for ${p} + Approved: ${a.toString()}`)),Object.keys(e).forEach(p=>{if(!p.includes(":")||n)return;const g=a3(e[p].accounts);g.includes(p)||(n=Bt("NON_CONFORMING_NAMESPACES",`${t} namespaces accounts don't satisfy namespace accounts for ${p} Required: ${p} - Approved: ${g.toString()}`))}),o.forEach(p=>{n||(c2(i[p].methods,s[p].methods)?c2(i[p].events,s[p].events)||(n=Bt("NON_CONFORMING_NAMESPACES",`${t} namespaces events don't satisfy namespace events for ${p}`)):n=Bt("NON_CONFORMING_NAMESPACES",`${t} namespaces methods don't satisfy namespace methods for ${p}`))}),n}function UQe(r){const e={};return Object.keys(r).forEach(t=>{var n;t.includes(":")?e[t]=r[t]:(n=r[t].chains)==null||n.forEach(i=>{e[i]={methods:r[t].methods,events:r[t].events}})}),e}function epe(r){return[...new Set(r.map(e=>e.includes(":")?e.split(":")[0]:e))]}function FQe(r){const e={};return Object.keys(r).forEach(t=>{if(t.includes(":"))e[t]=r[t];else{const n=l3(r[t].accounts);n==null||n.forEach(i=>{e[i]={accounts:r[t].accounts.filter(s=>s.includes(`${i}:`)),methods:r[t].methods,events:r[t].events}})}}),e}function jQe(r,e){return QU(r,!1)&&r<=e.max&&r>=e.min}function tpe(){const r=Y8();return new Promise(e=>{switch(r){case Yc.browser:e(zQe());break;case Yc.reactNative:e(HQe());break;case Yc.node:e(qQe());break;default:e(!0)}})}function zQe(){return Xy()&&(navigator==null?void 0:navigator.onLine)}async function HQe(){if(Qy()&&typeof dr<"u"&&dr!=null&&dr.NetInfo){const r=await(dr==null?void 0:dr.NetInfo.fetch());return r==null?void 0:r.isConnected}return!0}function qQe(){return!0}function WQe(r){switch(Y8()){case Yc.browser:VQe(r);break;case Yc.reactNative:GQe(r);break}}function VQe(r){!Qy()&&Xy()&&(window.addEventListener("online",()=>r(!0)),window.addEventListener("offline",()=>r(!1)))}function GQe(r){Qy()&&typeof dr<"u"&&dr!=null&&dr.NetInfo&&(dr==null||dr.NetInfo.addEventListener(e=>r(e==null?void 0:e.isConnected)))}const eF={};class hx{static get(e){return eF[e]}static set(e,t){eF[e]=t}static delete(e){delete eF[e]}}let KQe=class extends Gc{constructor(e){super(),this.opts=e,this.protocol="wc",this.version=2}},ZQe=class extends Gc{constructor(e,t){super(),this.core=e,this.logger=t,this.records=new Map}},JQe=class{constructor(e,t){this.logger=e,this.core=t}},YQe=class extends Gc{constructor(e,t){super(),this.relayer=e,this.logger=t}},QQe=class extends Gc{constructor(e){super()}},XQe=class{constructor(e,t,n,i){this.core=e,this.logger=t,this.name=n}},eXe=class extends Gc{constructor(e,t){super(),this.relayer=e,this.logger=t}},tXe=class extends Gc{constructor(e,t){super(),this.core=e,this.logger=t}},rXe=class{constructor(e,t){this.projectId=e,this.logger=t}},nXe=class{constructor(e,t){this.projectId=e,this.logger=t}},iXe=class{constructor(e){this.opts=e,this.protocol="wc",this.version=2}},sXe=class{constructor(e){this.client=e}};function oXe(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n>>0,B=new Uint8Array(O);k!==M;){for(var j=y[k],G=0,D=O-1;(j!==0||G>>0,B[D]=j%a>>>0,j=j/a>>>0;if(j!==0)throw new Error("Non-zero carry");R=G,k++}for(var $=O-R;$!==O&&B[$]===0;)$++;for(var V=l.repeat(C);$>>0,O=new Uint8Array(M);y[C];){var B=t[y.charCodeAt(C)];if(B===255)return;for(var j=0,G=M-1;(B!==0||j>>0,O[G]=B%256>>>0,B=B/256>>>0;if(B!==0)throw new Error("Non-zero carry");k=j,C++}if(y[C]!==" "){for(var D=M-k;D!==M&&O[D]===0;)D++;for(var $=new Uint8Array(R+(M-D)),V=R;D!==M;)$[V++]=O[D++];return $}}}function w(y){var C=g(y);if(C)return C;throw new Error(`Non-${e} character`)}return{encode:p,decodeUnsafe:g,decode:w}}var aXe=oXe,cXe=aXe;const rpe=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")},lXe=r=>new TextEncoder().encode(r),uXe=r=>new TextDecoder().decode(r);let hXe=class{constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},fXe=class{constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){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))}else throw Error("Can only multibase decode strings")}or(e){return npe(this,e)}},dXe=class{constructor(e){this.decoders=e}or(e){return npe(this,e)}decode(e){const t=e[0],n=this.decoders[t];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};const npe=(r,e)=>new dXe({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});let pXe=class{constructor(e,t,n,i){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=i,this.encoder=new hXe(e,t,n),this.decoder=new fXe(e,t,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};const mR=({name:r,prefix:e,encode:t,decode:n})=>new pXe(r,e,t,n),fx=({prefix:r,name:e,alphabet:t})=>{const{encode:n,decode:i}=cXe(t,e);return mR({prefix:r,name:e,encode:n,decode:s=>rpe(i(s))})},gXe=(r,e,t,n)=>{const i={};for(let h=0;h=8&&(a-=8,o[u++]=255&l>>a)}if(a>=t||255&l<<8-a)throw new SyntaxError("Unexpected end of data");return o},mXe=(r,e,t)=>{const n=e[e.length-1]==="=",i=(1<t;)o-=t,s+=e[i&a>>o];if(o&&(s+=e[i&a<mR({prefix:e,name:r,encode(i){return mXe(i,n,t)},decode(i){return gXe(i,n,t,r)}}),bXe=mR({prefix:"\0",name:"identity",encode:r=>uXe(r),decode:r=>lXe(r)});var wXe=Object.freeze({__proto__:null,identity:bXe});const vXe=Go({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var yXe=Object.freeze({__proto__:null,base2:vXe});const xXe=Go({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var _Xe=Object.freeze({__proto__:null,base8:xXe});const EXe=fx({prefix:"9",name:"base10",alphabet:"0123456789"});var AXe=Object.freeze({__proto__:null,base10:EXe});const CXe=Go({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),SXe=Go({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var IXe=Object.freeze({__proto__:null,base16:CXe,base16upper:SXe});const RXe=Go({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),TXe=Go({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),kXe=Go({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),MXe=Go({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),NXe=Go({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),PXe=Go({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),OXe=Go({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),DXe=Go({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),$Xe=Go({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var BXe=Object.freeze({__proto__:null,base32:RXe,base32upper:TXe,base32pad:kXe,base32padupper:MXe,base32hex:NXe,base32hexupper:PXe,base32hexpad:OXe,base32hexpadupper:DXe,base32z:$Xe});const LXe=fx({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),UXe=fx({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var FXe=Object.freeze({__proto__:null,base36:LXe,base36upper:UXe});const jXe=fx({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),zXe=fx({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var HXe=Object.freeze({__proto__:null,base58btc:jXe,base58flickr:zXe});const qXe=Go({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),WXe=Go({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),VXe=Go({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),GXe=Go({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var KXe=Object.freeze({__proto__:null,base64:qXe,base64pad:WXe,base64url:VXe,base64urlpad:GXe});const ipe=Array.from("🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂"),ZXe=ipe.reduce((r,e,t)=>(r[t]=e,r),[]),JXe=ipe.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function YXe(r){return r.reduce((e,t)=>(e+=ZXe[t],e),"")}function QXe(r){const e=[];for(const t of r){const n=JXe[t.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(n)}return new Uint8Array(e)}const XXe=mR({prefix:"🚀",name:"base256emoji",encode:YXe,decode:QXe});var eet=Object.freeze({__proto__:null,base256emoji:XXe}),tet=ope,spe=128,ret=127,net=~ret,iet=Math.pow(2,31);function ope(r,e,t){e=e||[],t=t||0;for(var n=t;r>=iet;)e[t++]=r&255|spe,r/=128;for(;r&net;)e[t++]=r&255|spe,r>>>=7;return e[t]=r|0,ope.bytes=t-n+1,e}var set=tF,oet=128,ape=127;function tF(r,n){var t=0,n=n||0,i=0,s=n,o,a=r.length;do{if(s>=a)throw tF.bytes=0,new RangeError("Could not decode varint");o=r[s++],t+=i<28?(o&ape)<=oet);return tF.bytes=s-n,t}var aet=Math.pow(2,7),cet=Math.pow(2,14),uet=Math.pow(2,21),het=Math.pow(2,28),fet=Math.pow(2,35),det=Math.pow(2,42),pet=Math.pow(2,49),get=Math.pow(2,56),met=Math.pow(2,63),bet=function(r){return r(cpe.encode(r,e,t),e),upe=r=>cpe.encodingLength(r),rF=(r,e)=>{const t=e.byteLength,n=upe(r),i=n+upe(t),s=new Uint8Array(i+t);return lpe(r,s,0),lpe(t,s,n),s.set(e,i),new vet(r,t,e,s)};let vet=class{constructor(e,t,n,i){this.code=e,this.size=t,this.digest=n,this.bytes=i}};const hpe=({name:r,code:e,encode:t})=>new yet(r,e,t);let yet=class{constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?rF(this.code,t):t.then(n=>rF(this.code,n))}else throw Error("Unknown type, must be binary type")}};const fpe=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),xet=hpe({name:"sha2-256",code:18,encode:fpe("SHA-256")}),_et=hpe({name:"sha2-512",code:19,encode:fpe("SHA-512")});var Eet=Object.freeze({__proto__:null,sha256:xet,sha512:_et});const dpe=0,Aet="identity",ppe=rpe;var Cet=Object.freeze({__proto__:null,identity:{code:dpe,name:Aet,encode:ppe,digest:r=>rF(dpe,ppe(r))}});new TextEncoder,new TextDecoder;const gpe={...wXe,...yXe,..._Xe,...AXe,...IXe,...BXe,...FXe,...HXe,...KXe,...eet};({...Eet,...Cet});function mpe(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function Iet(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?mpe(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function bpe(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}const wpe=bpe("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),nF=bpe("ascii","a",r=>{let e="a";for(let t=0;t{r=r.substring(1);const e=Iet(r.length);for(let t=0;t{if(!this.initialized){const n=await this.getKeyChain();typeof n<"u"&&(this.keychain=n),this.initialized=!0}},this.has=n=>(this.isInitialized(),this.keychain.has(n)),this.set=async(n,i)=>{this.isInitialized(),this.keychain.set(n,i),await this.persist()},this.get=n=>{this.isInitialized();const i=this.keychain.get(n);if(typeof i>"u"){const{message:s}=Bt("NO_MATCHING_KEY",`${this.name}: ${n}`);throw new Error(s)}return i},this.del=async n=>{this.isInitialized(),this.keychain.delete(n),await this.persist()},this.core=e,this.logger=pi(t,this.name)}get context(){return yi(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,Ade(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Cde(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=Bt("NOT_INITIALIZED",this.name);throw new Error(e)}}},ctt=class{constructor(e,t,n){this.core=e,this.logger=t,this.name=Pet,this.initialized=!1,this.init=async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)},this.hasKeys=i=>(this.isInitialized(),this.keychain.has(i)),this.getClientId=async()=>{this.isInitialized();const i=await this.getClientSeed(),s=xS(i);return lB(s.publicKey)},this.generateKeyPair=()=>{this.isInitialized();const i=ZYe();return this.setPrivateKey(i.publicKey,i.privateKey)},this.signJWT=async i=>{this.isInitialized();const s=await this.getClientSeed(),o=xS(s),a=ZU();return await Wae(a,i,Oet,o)},this.generateSharedKey=(i,s,o)=>{this.isInitialized();const a=this.getPrivateKey(i),l=JYe(a,s);return this.setSymKey(l,o)},this.setSymKey=async(i,s)=>{this.isInitialized();const o=s||fR(i);return await this.keychain.set(o,i),o},this.deleteKeyPair=async i=>{this.isInitialized(),await this.keychain.del(i)},this.deleteSymKey=async i=>{this.isInitialized(),await this.keychain.del(i)},this.encode=async(i,s,o)=>{this.isInitialized();const a=z0e(o),l=gf(s);if(H0e(a)){const g=a.senderPublicKey,w=a.receiverPublicKey;i=await this.generateSharedKey(g,w)}const u=this.getSymKey(i),{type:h,senderPublicKey:p}=a;return QYe({type:h,symKey:u,message:l,senderPublicKey:p})},this.decode=async(i,s,o)=>{this.isInitialized();const a=tQe(s,o);if(H0e(a)){const l=a.receiverPublicKey,u=a.senderPublicKey;i=await this.generateSharedKey(l,u)}try{const l=this.getSymKey(i),u=XYe({symKey:l,encoded:s});return dy(u)}catch(l){this.logger.error(`Failed to decode message from topic: '${i}', clientId: '${await this.getClientId()}'`),this.logger.error(l)}},this.getPayloadType=i=>{const s=dR(i);return cx(s.type)},this.getPayloadSenderPublicKey=i=>{const s=dR(i);return s.senderPublicKey?vi(s.senderPublicKey,Ha):void 0},this.core=e,this.logger=pi(t,this.name),this.keychain=n||new att(this.core,this.logger)}get context(){return yi(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(ype)}catch{e=ZU(),await this.keychain.set(ype,e)}return Tet(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=Bt("NOT_INITIALIZED",this.name);throw new Error(e)}}},ltt=class extends JQe{constructor(e,t){super(e,t),this.logger=e,this.core=t,this.messages=new Map,this.name=Bet,this.version=Let,this.initialized=!1,this.storagePrefix=k1,this.init=async()=>{if(!this.initialized){this.logger.trace("Initialized");try{const n=await this.getRelayerMessages();typeof n<"u"&&(this.messages=n),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",size:this.messages.size})}catch(n){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(n)}finally{this.initialized=!0}}},this.set=async(n,i)=>{this.isInitialized();const s=d2(i);let o=this.messages.get(n);return typeof o>"u"&&(o={}),typeof o[s]<"u"||(o[s]=i,this.messages.set(n,o),await this.persist()),s},this.get=n=>{this.isInitialized();let i=this.messages.get(n);return typeof i>"u"&&(i={}),i},this.has=(n,i)=>{this.isInitialized();const s=this.get(n),o=d2(i);return typeof s[o]<"u"},this.del=async n=>{this.isInitialized(),this.messages.delete(n),await this.persist()},this.logger=pi(e,this.name),this.core=t}get context(){return yi(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,Ade(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Cde(e):void 0}async persist(){await this.setRelayerMessages(this.messages)}isInitialized(){if(!this.initialized){const{message:e}=Bt("NOT_INITIALIZED",this.name);throw new Error(e)}}};class utt extends YQe{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.events=new fi.EventEmitter,this.name=Fet,this.queue=new Map,this.publishTimeout=Ye.toMiliseconds(Ye.ONE_MINUTE),this.failedPublishTimeout=Ye.toMiliseconds(Ye.ONE_SECOND),this.needsTransportRestart=!1,this.publish=async(n,i,s)=>{var o;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:n,message:i,opts:s}});const a=(s==null?void 0:s.ttl)||Uet,l=JU(s),u=(s==null?void 0:s.prompt)||!1,h=(s==null?void 0:s.tag)||0,p=(s==null?void 0:s.id)||g1().toString(),g={topic:n,message:i,opts:{ttl:a,relay:l,prompt:u,tag:h,id:p}},w=`Failed to publish payload, please try again. id:${p} tag:${h}`,y=Date.now();let C,R=1;try{for(;C===void 0;){if(Date.now()-y>this.publishTimeout)throw new Error(w);this.logger.trace({id:p,attempts:R},`publisher.publish - attempt ${R}`),C=await await Q8(this.rpcPublish(n,i,a,l,u,h,p).catch(k=>this.logger.warn(k)),this.publishTimeout,w),R++,C||await new Promise(k=>setTimeout(k,this.failedPublishTimeout))}this.relayer.events.emit(el.publish,g),this.logger.debug("Successfully Published Payload"),this.logger.trace({type:"method",method:"publish",params:{id:p,topic:n,message:i,opts:s}})}catch(k){if(this.logger.debug("Failed to Publish Payload"),this.logger.error(k),(o=s==null?void 0:s.internal)!=null&&o.throwOnFailedPublish)throw k;this.queue.set(p,g)}},this.on=(n,i)=>{this.events.on(n,i)},this.once=(n,i)=>{this.events.once(n,i)},this.off=(n,i)=>{this.events.off(n,i)},this.removeListener=(n,i)=>{this.events.removeListener(n,i)},this.relayer=e,this.logger=pi(t,this.name),this.registerEventListeners()}get context(){return yi(this.logger)}rpcPublish(e,t,n,i,s,o,a){var l,u,h,p;const g={method:pR(i.protocol).publish,params:{topic:e,message:t,ttl:n,prompt:s,tag:o},id:a};return qa((l=g.params)==null?void 0:l.prompt)&&((u=g.params)==null||delete u.prompt),qa((h=g.params)==null?void 0:h.tag)&&((p=g.params)==null||delete p.tag),this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:g}),this.relayer.request(g)}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async e=>{const{topic:t,message:n,opts:i}=e;await this.publish(t,n,i)})}registerEventListeners(){this.relayer.core.heartbeat.on(Ku.HEARTBEAT_EVENTS.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(el.connection_stalled);return}this.checkQueue()}),this.relayer.on(el.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}class htt{constructor(){this.map=new Map,this.set=(e,t)=>{const n=this.get(e);this.exists(e,t)||this.map.set(e,[...n,t])},this.get=e=>this.map.get(e)||[],this.exists=(e,t)=>this.get(e).includes(t),this.delete=(e,t)=>{if(typeof t>"u"){this.map.delete(e);return}if(!this.map.has(e))return;const n=this.get(e);if(!this.exists(e,t))return;const i=n.filter(s=>s!==t);if(!i.length){this.map.delete(e);return}this.map.set(e,i)},this.clear=()=>{this.map.clear()}}get topics(){return Array.from(this.map.keys())}}var ftt=Object.defineProperty,dtt=Object.defineProperties,ptt=Object.getOwnPropertyDescriptors,Ape=Object.getOwnPropertySymbols,gtt=Object.prototype.hasOwnProperty,mtt=Object.prototype.propertyIsEnumerable,Cpe=(r,e,t)=>e in r?ftt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,px=(r,e)=>{for(var t in e||(e={}))gtt.call(e,t)&&Cpe(r,t,e[t]);if(Ape)for(var t of Ape(e))mtt.call(e,t)&&Cpe(r,t,e[t]);return r},aF=(r,e)=>dtt(r,ptt(e));let btt=class extends eXe{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.subscriptions=new Map,this.topicMap=new htt,this.events=new fi.EventEmitter,this.name=Zet,this.version=Jet,this.pending=new Map,this.cached=[],this.initialized=!1,this.pendingSubscriptionWatchLabel="pending_sub_watch_label",this.pollingInterval=20,this.storagePrefix=k1,this.subscribeTimeout=Ye.toMiliseconds(Ye.ONE_MINUTE),this.restartInProgress=!1,this.batchSubscribeTopicsLimit=500,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),this.registerEventListeners(),this.clientId=await this.relayer.core.crypto.getClientId())},this.subscribe=async(n,i)=>{await this.restartToComplete(),this.isInitialized(),this.logger.debug("Subscribing Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:n,opts:i}});try{const s=JU(i),o={topic:n,relay:s};this.pending.set(n,o);const a=await this.rpcSubscribe(n,s);return typeof a=="string"&&(this.onSubscribe(a,o),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:n,opts:i}})),a}catch(s){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(s),s}},this.unsubscribe=async(n,i)=>{await this.restartToComplete(),this.isInitialized(),typeof(i==null?void 0:i.id)<"u"?await this.unsubscribeById(n,i.id,i):await this.unsubscribeByTopic(n,i)},this.isSubscribed=async n=>{if(this.topics.includes(n))return!0;const i=`${this.pendingSubscriptionWatchLabel}_${n}`;return await new Promise((s,o)=>{const a=new Ye.Watch;a.start(i);const l=setInterval(()=>{!this.pending.has(n)&&this.topics.includes(n)&&(clearInterval(l),a.stop(i),s(!0)),a.elapsed(i)>=Yet&&(clearInterval(l),a.stop(i),o(new Error("Subscription resolution timeout")))},this.pollingInterval)}).catch(()=>!1)},this.on=(n,i)=>{this.events.on(n,i)},this.once=(n,i)=>{this.events.once(n,i)},this.off=(n,i)=>{this.events.off(n,i)},this.removeListener=(n,i)=>{this.events.removeListener(n,i)},this.start=async()=>{await this.onConnect()},this.stop=async()=>{await this.onDisconnect()},this.restart=async()=>{this.restartInProgress=!0,await this.restore(),await this.reset(),this.restartInProgress=!1},this.relayer=e,this.logger=pi(t,this.name),this.clientId=""}get context(){return yi(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.relayer.core.customStoragePrefix+"//"+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}hasSubscription(e,t){let n=!1;try{n=this.getSubscription(e).topic===t}catch{}return n}onEnable(){this.cached=[],this.initialized=!0}onDisable(){this.cached=this.values,this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){const n=this.topicMap.get(e);await Promise.all(n.map(async i=>await this.unsubscribeById(e,i,t)))}async unsubscribeById(e,t,n){this.logger.debug("Unsubscribing Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:n}});try{const i=JU(n);await this.rpcUnsubscribe(e,t,i);const s=ti("USER_DISCONNECTED",`${this.name}, ${e}`);await this.onUnsubscribe(e,t,s),this.logger.debug("Successfully Unsubscribed Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:n}})}catch(i){throw this.logger.debug("Failed to Unsubscribe Topic"),this.logger.error(i),i}}async rpcSubscribe(e,t){const n={method:pR(t.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:n});try{return await await Q8(this.relayer.request(n).catch(i=>this.logger.warn(i)),this.subscribeTimeout)?d2(e+this.clientId):null}catch{this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(el.connection_stalled)}return null}async rpcBatchSubscribe(e){if(!e.length)return;const t=e[0].relay,n={method:pR(t.protocol).batchSubscribe,params:{topics:e.map(i=>i.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:n});try{return await await Q8(this.relayer.request(n).catch(i=>this.logger.warn(i)),this.subscribeTimeout)}catch{this.relayer.events.emit(el.connection_stalled)}}rpcUnsubscribe(e,t,n){const i={method:pR(n.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i}),this.relayer.request(i)}onSubscribe(e,t){this.setSubscription(e,aF(px({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(t=>{this.setSubscription(t.id,px({},t)),this.pending.delete(t.topic)})}async onUnsubscribe(e,t,n){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,n),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,px({},t)),this.topicMap.set(t.topic,e),this.events.emit(Bf.created,t)}getSubscription(e){this.logger.debug("Getting subscription"),this.logger.trace({type:"method",method:"getSubscription",id:e});const t=this.subscriptions.get(e);if(!t){const{message:n}=Bt("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(n)}return t}deleteSubscription(e,t){this.logger.debug("Deleting subscription"),this.logger.trace({type:"method",method:"deleteSubscription",id:e,reason:t});const n=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(n.topic,e),this.events.emit(Bf.deleted,aF(px({},n),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(Bf.sync)}async reset(){if(this.cached.length){const e=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let t=0;t"u"||!e.length)return;if(this.subscriptions.size){const{message:t}=Bt("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(t)}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){if(!e.length)return;const t=await this.rpcBatchSubscribe(e);$f(t)&&this.onBatchSubscribe(t.map((n,i)=>aF(px({},e[i]),{id:n})))}async onConnect(){await this.restart(),this.onEnable()}onDisconnect(){this.onDisable()}async checkPending(){if(!this.initialized||!this.relayer.connected)return;const e=[];this.pending.forEach(t=>{e.push(t)}),await this.batchSubscribe(e)}registerEventListeners(){this.relayer.core.heartbeat.on(Ku.HEARTBEAT_EVENTS.pulse,async()=>{await this.checkPending()}),this.events.on(Bf.created,async e=>{const t=Bf.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()}),this.events.on(Bf.deleted,async e=>{const t=Bf.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=Bt("NOT_INITIALIZED",this.name);throw new Error(e)}}async restartToComplete(){this.restartInProgress&&await new Promise(e=>{const t=setInterval(()=>{this.restartInProgress||(clearInterval(t),e())},this.pollingInterval)})}};var wtt=Object.defineProperty,Spe=Object.getOwnPropertySymbols,vtt=Object.prototype.hasOwnProperty,ytt=Object.prototype.propertyIsEnumerable,Ipe=(r,e,t)=>e in r?wtt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,xtt=(r,e)=>{for(var t in e||(e={}))vtt.call(e,t)&&Ipe(r,t,e[t]);if(Spe)for(var t of Spe(e))ytt.call(e,t)&&Ipe(r,t,e[t]);return r};let _tt=class extends QQe{constructor(e){super(e),this.protocol="wc",this.version=2,this.events=new fi.EventEmitter,this.name=zet,this.transportExplicitlyClosed=!1,this.initialized=!1,this.connectionAttemptInProgress=!1,this.connectionStatusPollingInterval=20,this.staleConnectionErrors=["socket hang up","socket stalled","interrupted"],this.hasExperiencedNetworkDisruption=!1,this.requestsInFlight=new Map,this.heartBeatTimeout=Ye.toMiliseconds(Ye.THIRTY_SECONDS+Ye.ONE_SECOND),this.request=async t=>{var n,i;this.logger.debug("Publishing Request Payload");const s=t.id||g1().toString();await this.toEstablishConnection();try{const o=this.provider.request(t);this.requestsInFlight.set(s,{promise:o,request:t}),this.logger.trace({id:s,method:t.method,topic:(n=t.params)==null?void 0:n.topic},"relayer.request - attempt to publish...");const a=await new Promise(async(l,u)=>{const h=()=>{u(new Error(`relayer.request - publish interrupted, id: ${s}`))};this.provider.on(cu.disconnect,h);const p=await o;this.provider.off(cu.disconnect,h),l(p)});return this.logger.trace({id:s,method:t.method,topic:(i=t.params)==null?void 0:i.topic},"relayer.request - published"),a}catch(o){throw this.logger.debug(`Failed to Publish Request: ${s}`),o}finally{this.requestsInFlight.delete(s)}},this.resetPingTimeout=()=>{if(J8())try{clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var t,n,i;(i=(n=(t=this.provider)==null?void 0:t.connection)==null?void 0:n.socket)==null||i.terminate()},this.heartBeatTimeout)}catch(t){this.logger.warn(t)}},this.onPayloadHandler=t=>{this.onProviderPayload(t),this.resetPingTimeout()},this.onConnectHandler=()=>{this.startPingTimeout(),this.events.emit(el.connect)},this.onDisconnectHandler=()=>{this.onProviderDisconnect()},this.onProviderErrorHandler=t=>{this.logger.error(t),this.events.emit(el.error,t),this.logger.info("Fatal socket error received, closing transport"),this.transportClose()},this.registerProviderListeners=()=>{this.provider.on(cu.payload,this.onPayloadHandler),this.provider.on(cu.connect,this.onConnectHandler),this.provider.on(cu.disconnect,this.onDisconnectHandler),this.provider.on(cu.error,this.onProviderErrorHandler)},this.core=e.core,this.logger=typeof e.logger<"u"&&typeof e.logger!="string"?pi(e.logger,this.name):Hd(p1({level:e.logger||jet})),this.messages=new ltt(this.logger,e.core),this.subscriber=new btt(this,this.logger),this.publisher=new utt(this,this.logger),this.relayUrl=(e==null?void 0:e.relayUrl)||_pe,this.projectId=e.projectId,this.bundleId=zKe(),this.provider={}}async init(){this.logger.trace("Initialized"),this.registerEventListeners(),await this.createProvider(),await Promise.all([this.messages.init(),this.subscriber.init()]);try{await this.transportOpen()}catch{this.logger.warn(`Connection via ${this.relayUrl} failed, attempting to connect via failover domain ${Epe}...`),await this.restartTransport(Epe)}this.initialized=!0,setTimeout(async()=>{this.subscriber.topics.length===0&&this.subscriber.pending.size===0&&(this.logger.info("No topics subscribed to after init, closing transport"),await this.transportClose(),this.transportExplicitlyClosed=!1)},Vet)}get context(){return yi(this.logger)}get connected(){var e,t,n;return((n=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:n.readyState)===1}get connecting(){var e,t,n;return((n=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:n.readyState)===0}async publish(e,t,n){this.isInitialized(),await this.publisher.publish(e,t,n),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now()})}async subscribe(e,t){var n;this.isInitialized();let i=((n=this.subscriber.topicMap.get(e))==null?void 0:n[0])||"",s;const o=a=>{a.topic===e&&(this.subscriber.off(Bf.created,o),s())};return await Promise.all([new Promise(a=>{s=a,this.subscriber.on(Bf.created,o)}),new Promise(async a=>{i=await this.subscriber.subscribe(e,t)||i,a()})]),i}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(){if(!this.hasExperiencedNetworkDisruption&&this.connected&&this.requestsInFlight.size>0)try{await Promise.all(Array.from(this.requestsInFlight.values()).map(e=>e.promise))}catch(e){this.logger.warn(e)}this.hasExperiencedNetworkDisruption||this.connected?await Q8(this.provider.disconnect(),2e3,"provider.disconnect()").catch(()=>this.onProviderDisconnect()):this.onProviderDisconnect()}async transportClose(){this.transportExplicitlyClosed=!0,await this.transportDisconnect()}async transportOpen(e){await this.confirmOnlineStateOrThrow(),e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportDisconnect(),await this.createProvider()),this.connectionAttemptInProgress=!0,this.transportExplicitlyClosed=!1;try{await new Promise(async(t,n)=>{const i=()=>{this.provider.off(cu.disconnect,i),n(new Error("Connection interrupted while trying to subscribe"))};this.provider.on(cu.disconnect,i),await Q8(this.provider.connect(),Ye.toMiliseconds(Ye.ONE_MINUTE),`Socket stalled when trying to connect to ${this.relayUrl}`).catch(s=>{n(s)}),await this.subscriber.start(),this.hasExperiencedNetworkDisruption=!1,t()})}catch(t){this.logger.error(t);const n=t;if(!this.isConnectionStalled(n.message))throw t}finally{this.connectionAttemptInProgress=!1}}async restartTransport(e){this.connectionAttemptInProgress||(this.relayUrl=e||this.relayUrl,await this.confirmOnlineStateOrThrow(),await this.transportClose(),await this.createProvider(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await tpe())throw new Error("No internet connection detected. Please restart your network and try again.")}startPingTimeout(){var e,t,n,i,s;if(J8())try{(t=(e=this.provider)==null?void 0:e.connection)!=null&&t.socket&&((s=(i=(n=this.provider)==null?void 0:n.connection)==null?void 0:i.socket)==null||s.once("ping",()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(o){this.logger.warn(o)}}isConnectionStalled(e){return this.staleConnectionErrors.some(t=>e.includes(t))}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new xo(new sce(KKe({sdkVersion:Wet,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId}))),this.registerProviderListeners()}async recordMessageEvent(e){const{topic:t,message:n}=e;await this.messages.set(t,n)}async shouldIgnoreMessageEvent(e){const{topic:t,message:n}=e;if(!n||n.length===0)return this.logger.debug(`Ignoring invalid/empty message: ${n}`),!0;if(!await this.subscriber.isSubscribed(t))return this.logger.debug(`Ignoring message for non-subscribed topic ${t}`),!0;const i=this.messages.has(t,n);return i&&this.logger.debug(`Ignoring duplicate message: ${n}`),i}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),wy(e)){if(!e.method.endsWith(Het))return;const t=e.params,{topic:n,message:i,publishedAt:s}=t.data,o={topic:n,message:i,publishedAt:s};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(xtt({type:"event",event:t.id},o)),this.events.emit(t.id,o),await this.acknowledgePayload(e),await this.onMessageEvent(o)}else Bm(e)&&this.events.emit(el.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(this.events.emit(el.message,e),await this.recordMessageEvent(e))}async acknowledgePayload(e){const t=m1(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(cu.payload,this.onPayloadHandler),this.provider.off(cu.connect,this.onConnectHandler),this.provider.off(cu.disconnect,this.onDisconnectHandler),this.provider.off(cu.error,this.onProviderErrorHandler)}async registerEventListeners(){let e=await tpe();WQe(async t=>{e!==t&&(e=t,t?await this.restartTransport().catch(n=>this.logger.error(n)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))})}async onProviderDisconnect(){await this.subscriber.stop(),this.events.emit(el.disconnect),this.connectionAttemptInProgress=!1,!this.transportExplicitlyClosed&&setTimeout(async()=>{await this.transportOpen().catch(e=>this.logger.error(e))},Ye.toMiliseconds(qet))}isInitialized(){if(!this.initialized){const{message:e}=Bt("NOT_INITIALIZED",this.name);throw new Error(e)}}async toEstablishConnection(){await this.confirmOnlineStateOrThrow(),!this.connected&&(this.connectionAttemptInProgress&&await new Promise(e=>{const t=setInterval(()=>{this.connected&&(clearInterval(t),e())},this.connectionStatusPollingInterval)}),await this.transportOpen())}};var Ett=Object.defineProperty,Rpe=Object.getOwnPropertySymbols,Att=Object.prototype.hasOwnProperty,Ctt=Object.prototype.propertyIsEnumerable,Tpe=(r,e,t)=>e in r?Ett(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,kpe=(r,e)=>{for(var t in e||(e={}))Att.call(e,t)&&Tpe(r,t,e[t]);if(Rpe)for(var t of Rpe(e))Ctt.call(e,t)&&Tpe(r,t,e[t]);return r};let p2=class extends XQe{constructor(e,t,n,i=k1,s=void 0){super(e,t,n,i),this.core=e,this.logger=t,this.name=n,this.map=new Map,this.version=Get,this.cached=[],this.initialized=!1,this.storagePrefix=k1,this.recentlyDeleted=[],this.recentlyDeletedLimit=200,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(o=>{this.getKey&&o!==null&&!qa(o)?this.map.set(this.getKey(o),o):_Qe(o)?this.map.set(o.id,o):EQe(o)&&this.map.set(o.topic,o)}),this.cached=[],this.initialized=!0)},this.set=async(o,a)=>{this.isInitialized(),this.map.has(o)?await this.update(o,a):(this.logger.debug("Setting value"),this.logger.trace({type:"method",method:"set",key:o,value:a}),this.map.set(o,a),await this.persist())},this.get=o=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:o}),this.getData(o)),this.getAll=o=>(this.isInitialized(),o?this.values.filter(a=>Object.keys(o).every(l=>oce(a[l],o[l]))):this.values),this.update=async(o,a)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:o,update:a});const l=kpe(kpe({},this.getData(o)),a);this.map.set(o,l),await this.persist()},this.delete=async(o,a)=>{this.isInitialized(),this.map.has(o)&&(this.logger.debug("Deleting value"),this.logger.trace({type:"method",method:"delete",key:o,reason:a}),this.map.delete(o),this.addToRecentlyDeleted(o),await this.persist())},this.logger=pi(t,this.name),this.storagePrefix=i,this.getKey=s}get context(){return yi(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){const t=this.map.get(e);if(!t){if(this.recentlyDeleted.includes(e)){const{message:i}=Bt("MISSING_OR_INVALID",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}const{message:n}=Bt("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(n),new Error(n)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{const e=await this.getDataStore();if(typeof e>"u"||!e.length)return;if(this.map.size){const{message:t}=Bt("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}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){const{message:e}=Bt("NOT_INITIALIZED",this.name);throw new Error(e)}}},Stt=class{constructor(e,t){this.core=e,this.logger=t,this.name=Qet,this.version=Xet,this.events=new ty,this.initialized=!1,this.storagePrefix=k1,this.ignoredPayloadTypes=[T1],this.registeredMethods=[],this.init=async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace("Initialized"))},this.register=({methods:n})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...n])]},this.create=async n=>{this.isInitialized();const i=ZU(),s=await this.core.crypto.setSymKey(i),o=wa(Ye.FIVE_MINUTES),a={protocol:xpe},l={topic:s,expiry:o,relay:a,active:!1},u=fQe({protocol:this.core.protocol,version:this.core.version,topic:s,symKey:i,relay:a,expiryTimestamp:o,methods:n==null?void 0:n.methods});return await this.pairings.set(s,l),await this.core.relayer.subscribe(s),this.core.expirer.set(s,o),{topic:s,uri:u}},this.pair=async n=>{this.isInitialized(),this.isValidPair(n);const{topic:i,symKey:s,relay:o,expiryTimestamp:a,methods:l}=G0e(n.uri);let u;if(this.pairings.keys.includes(i)&&(u=this.pairings.get(i),u.active))throw new Error(`Pairing already exists: ${i}. Please try again with a new connection URI.`);const h=a||wa(Ye.FIVE_MINUTES),p={topic:i,relay:o,expiry:h,active:!1,methods:l};return await this.pairings.set(i,p),this.core.expirer.set(i,h),n.activatePairing&&await this.activate({topic:i}),this.events.emit(u3.create,p),this.core.crypto.keychain.has(i)||await this.core.crypto.setSymKey(s,i),await this.core.relayer.subscribe(i,{relay:o}),p},this.activate=async({topic:n})=>{this.isInitialized();const i=wa(Ye.THIRTY_DAYS);await this.pairings.update(n,{active:!0,expiry:i}),this.core.expirer.set(n,i)},this.ping=async n=>{this.isInitialized(),await this.isValidPing(n);const{topic:i}=n;if(this.pairings.keys.includes(i)){const s=await this.sendRequest(i,"wc_pairingPing",{}),{done:o,resolve:a,reject:l}=l2();this.events.once(un("pairing_ping",s),({error:u})=>{u?l(u):a()}),await o()}},this.updateExpiry=async({topic:n,expiry:i})=>{this.isInitialized(),await this.pairings.update(n,{expiry:i})},this.updateMetadata=async({topic:n,metadata:i})=>{this.isInitialized(),await this.pairings.update(n,{peerMetadata:i})},this.getPairings=()=>(this.isInitialized(),this.pairings.values),this.disconnect=async n=>{this.isInitialized(),await this.isValidDisconnect(n);const{topic:i}=n;this.pairings.keys.includes(i)&&(await this.sendRequest(i,"wc_pairingDelete",ti("USER_DISCONNECTED")),await this.deletePairing(i))},this.sendRequest=async(n,i,s)=>{const o=Zu(i,s),a=await this.core.crypto.encode(n,o),l=dx[i].req;return this.core.history.set(n,o),this.core.relayer.publish(n,a,l),o.id},this.sendResult=async(n,i,s)=>{const o=m1(n,s),a=await this.core.crypto.encode(i,o),l=await this.core.history.get(i,n),u=dx[l.request.method].res;await this.core.relayer.publish(i,a,u),await this.core.history.resolve(o)},this.sendError=async(n,i,s)=>{const o=by(n,s),a=await this.core.crypto.encode(i,o),l=await this.core.history.get(i,n),u=dx[l.request.method]?dx[l.request.method].res:dx.unregistered_method.res;await this.core.relayer.publish(i,a,u),await this.core.history.resolve(o)},this.deletePairing=async(n,i)=>{await this.core.relayer.unsubscribe(n),await Promise.all([this.pairings.delete(n,ti("USER_DISCONNECTED")),this.core.crypto.deleteSymKey(n),i?Promise.resolve():this.core.expirer.del(n)])},this.cleanup=async()=>{const n=this.pairings.getAll().filter(i=>C1(i.expiry));await Promise.all(n.map(i=>this.deletePairing(i.topic)))},this.onRelayEventRequest=n=>{const{topic:i,payload:s}=n;switch(s.method){case"wc_pairingPing":return this.onPairingPingRequest(i,s);case"wc_pairingDelete":return this.onPairingDeleteRequest(i,s);default:return this.onUnknownRpcMethodRequest(i,s)}},this.onRelayEventResponse=async n=>{const{topic:i,payload:s}=n,o=(await this.core.history.get(i,s.id)).request.method;switch(o){case"wc_pairingPing":return this.onPairingPingResponse(i,s);default:return this.onUnknownRpcMethodResponse(o)}},this.onPairingPingRequest=async(n,i)=>{const{id:s}=i;try{this.isValidPing({topic:n}),await this.sendResult(s,n,!0),this.events.emit(u3.ping,{id:s,topic:n})}catch(o){await this.sendError(s,n,o),this.logger.error(o)}},this.onPairingPingResponse=(n,i)=>{const{id:s}=i;setTimeout(()=>{yo(i)?this.events.emit(un("pairing_ping",s),{}):_s(i)&&this.events.emit(un("pairing_ping",s),{error:i.error})},500)},this.onPairingDeleteRequest=async(n,i)=>{const{id:s}=i;try{this.isValidDisconnect({topic:n}),await this.deletePairing(n),this.events.emit(u3.delete,{id:s,topic:n})}catch(o){await this.sendError(s,n,o),this.logger.error(o)}},this.onUnknownRpcMethodRequest=async(n,i)=>{const{id:s,method:o}=i;try{if(this.registeredMethods.includes(o))return;const a=ti("WC_METHOD_UNSUPPORTED",o);await this.sendError(s,n,a),this.logger.error(a)}catch(a){await this.sendError(s,n,a),this.logger.error(a)}},this.onUnknownRpcMethodResponse=n=>{this.registeredMethods.includes(n)||this.logger.error(ti("WC_METHOD_UNSUPPORTED",n))},this.isValidPair=n=>{var i;if(!xc(n)){const{message:o}=Bt("MISSING_OR_INVALID",`pair() params: ${n}`);throw new Error(o)}if(!xQe(n.uri)){const{message:o}=Bt("MISSING_OR_INVALID",`pair() uri: ${n.uri}`);throw new Error(o)}const s=G0e(n.uri);if(!((i=s==null?void 0:s.relay)!=null&&i.protocol)){const{message:o}=Bt("MISSING_OR_INVALID","pair() uri#relay-protocol");throw new Error(o)}if(!(s!=null&&s.symKey)){const{message:o}=Bt("MISSING_OR_INVALID","pair() uri#symKey");throw new Error(o)}if(s!=null&&s.expiryTimestamp&&Ye.toMiliseconds(s==null?void 0:s.expiryTimestamp){if(!xc(n)){const{message:s}=Bt("MISSING_OR_INVALID",`ping() params: ${n}`);throw new Error(s)}const{topic:i}=n;await this.isValidPairingTopic(i)},this.isValidDisconnect=async n=>{if(!xc(n)){const{message:s}=Bt("MISSING_OR_INVALID",`disconnect() params: ${n}`);throw new Error(s)}const{topic:i}=n;await this.isValidPairingTopic(i)},this.isValidPairingTopic=async n=>{if(!Cs(n,!1)){const{message:i}=Bt("MISSING_OR_INVALID",`pairing topic should be a string: ${n}`);throw new Error(i)}if(!this.pairings.keys.includes(n)){const{message:i}=Bt("NO_MATCHING_KEY",`pairing topic doesn't exist: ${n}`);throw new Error(i)}if(C1(this.pairings.get(n).expiry)){await this.deletePairing(n);const{message:i}=Bt("EXPIRED",`pairing topic: ${n}`);throw new Error(i)}},this.core=e,this.logger=pi(t,this.name),this.pairings=new p2(this.core,this.logger,this.name,this.storagePrefix)}get context(){return yi(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=Bt("NOT_INITIALIZED",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(el.message,async e=>{const{topic:t,message:n}=e;if(!this.pairings.keys.includes(t)||this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(n)))return;const i=await this.core.crypto.decode(t,n);try{wy(i)?(this.core.history.set(t,i),this.onRelayEventRequest({topic:t,payload:i})):Bm(i)&&(await this.core.history.resolve(i),await this.onRelayEventResponse({topic:t,payload:i}),this.core.history.delete(t,i.id))}catch(s){this.logger.error(s)}})}registerExpirerEvents(){this.core.expirer.on(lu.expired,async e=>{const{topic:t}=Ide(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(u3.expire,{topic:t}))})}},Itt=class extends ZQe{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.records=new Map,this.events=new fi.EventEmitter,this.name=ett,this.version=ttt,this.cached=[],this.initialized=!1,this.storagePrefix=k1,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(n=>this.records.set(n.id,n)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.set=(n,i,s)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:n,request:i,chainId:s}),this.records.has(i.id))return;const o={id:i.id,topic:n,request:{method:i.method,params:i.params||null},chainId:s,expiry:wa(Ye.THIRTY_DAYS)};this.records.set(o.id,o),this.persist(),this.events.emit(ah.created,o)},this.resolve=async n=>{if(this.isInitialized(),this.logger.debug("Updating JSON-RPC response history record"),this.logger.trace({type:"method",method:"update",response:n}),!this.records.has(n.id))return;const i=await this.getRecord(n.id);typeof i.response>"u"&&(i.response=_s(n)?{error:n.error}:{result:n.result},this.records.set(i.id,i),this.persist(),this.events.emit(ah.updated,i))},this.get=async(n,i)=>(this.isInitialized(),this.logger.debug("Getting record"),this.logger.trace({type:"method",method:"get",topic:n,id:i}),await this.getRecord(i)),this.delete=(n,i)=>{this.isInitialized(),this.logger.debug("Deleting record"),this.logger.trace({type:"method",method:"delete",id:i}),this.values.forEach(s=>{if(s.topic===n){if(typeof i<"u"&&s.id!==i)return;this.records.delete(s.id),this.events.emit(ah.deleted,s)}}),this.persist()},this.exists=async(n,i)=>(this.isInitialized(),this.records.has(i)?(await this.getRecord(i)).topic===n:!1),this.on=(n,i)=>{this.events.on(n,i)},this.once=(n,i)=>{this.events.once(n,i)},this.off=(n,i)=>{this.events.off(n,i)},this.removeListener=(n,i)=>{this.events.removeListener(n,i)},this.logger=pi(t,this.name)}get context(){return yi(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){const e=[];return this.values.forEach(t=>{if(typeof t.response<"u")return;const n={topic:t.topic,request:Zu(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(n)}),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();const t=this.records.get(e);if(!t){const{message:n}=Bt("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(n)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(ah.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){const{message:t}=Bt("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}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(ah.created,e=>{const t=ah.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(ah.updated,e=>{const t=ah.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(ah.deleted,e=>{const t=ah.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.core.heartbeat.on(Ku.HEARTBEAT_EVENTS.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{Ye.toMiliseconds(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(ah.deleted,t,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=Bt("NOT_INITIALIZED",this.name);throw new Error(e)}}},Rtt=class extends tXe{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.expirations=new Map,this.events=new fi.EventEmitter,this.name=rtt,this.version=ntt,this.cached=[],this.initialized=!1,this.storagePrefix=k1,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(n=>this.expirations.set(n.target,n)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.has=n=>{try{const i=this.formatTarget(n);return typeof this.getExpiration(i)<"u"}catch{return!1}},this.set=(n,i)=>{this.isInitialized();const s=this.formatTarget(n),o={target:s,expiry:i};this.expirations.set(s,o),this.checkExpiry(s,o),this.events.emit(lu.created,{target:s,expiration:o})},this.get=n=>{this.isInitialized();const i=this.formatTarget(n);return this.getExpiration(i)},this.del=n=>{if(this.isInitialized(),this.has(n)){const i=this.formatTarget(n),s=this.getExpiration(i);this.expirations.delete(i),this.events.emit(lu.deleted,{target:i,expiration:s})}},this.on=(n,i)=>{this.events.on(n,i)},this.once=(n,i)=>{this.events.once(n,i)},this.off=(n,i)=>{this.events.off(n,i)},this.removeListener=(n,i)=>{this.events.removeListener(n,i)},this.logger=pi(t,this.name)}get context(){return yi(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(typeof e=="string")return ZKe(e);if(typeof e=="number")return JKe(e);const{message:t}=Bt("UNKNOWN_TYPE",`Target type: ${typeof e}`);throw new 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(lu.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){const{message:t}=Bt("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}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){const t=this.expirations.get(e);if(!t){const{message:n}=Bt("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.warn(n),new Error(n)}return t}checkExpiry(e,t){const{expiry:n}=t;Ye.toMiliseconds(n)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(lu.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(Ku.HEARTBEAT_EVENTS.pulse,()=>this.checkExpirations()),this.events.on(lu.created,e=>{const t=lu.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(lu.expired,e=>{const t=lu.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(lu.deleted,e=>{const t=lu.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=Bt("NOT_INITIALIZED",this.name);throw new Error(e)}}},Ttt=class extends rXe{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,this.name=sF,this.initialized=!1,this.queue=[],this.verifyDisabled=!1,this.init=async n=>{if(this.verifyDisabled||Qy()||!Xy())return;const i=this.getVerifyUrl(n==null?void 0:n.verifyUrl);this.verifyUrl!==i&&this.removeIframe(),this.verifyUrl=i;try{await this.createIframe()}catch(s){this.logger.info(`Verify iframe failed to load: ${this.verifyUrl}`),this.logger.info(s)}if(!this.initialized){this.removeIframe(),this.verifyUrl=oF;try{await this.createIframe()}catch(s){this.logger.info(`Verify iframe failed to load: ${this.verifyUrl}`),this.logger.info(s),this.verifyDisabled=!0}}},this.register=async n=>{this.initialized?this.sendPost(n.attestationId):(this.addToQueue(n.attestationId),await this.init())},this.resolve=async n=>{if(this.isDevEnv)return"";const i=this.getVerifyUrl(n==null?void 0:n.verifyUrl);let s;try{s=await this.fetchAttestation(n.attestationId,i)}catch(o){this.logger.info(`failed to resolve attestation: ${n.attestationId} from url: ${i}`),this.logger.info(o),s=await this.fetchAttestation(n.attestationId,oF)}return s},this.fetchAttestation=async(n,i)=>{this.logger.info(`resolving attestation: ${n} from url: ${i}`);const s=this.startAbortTimer(Ye.ONE_SECOND*2),o=await fetch(`${i}/attestation/${n}`,{signal:this.abortController.signal});return clearTimeout(s),o.status===200?await o.json():void 0},this.addToQueue=n=>{this.queue.push(n)},this.processQueue=()=>{this.queue.length!==0&&(this.queue.forEach(n=>this.sendPost(n)),this.queue=[])},this.sendPost=n=>{var i;try{if(!this.iframe)return;(i=this.iframe.contentWindow)==null||i.postMessage(n,"*"),this.logger.info(`postMessage sent: ${n} ${this.verifyUrl}`)}catch{}},this.createIframe=async()=>{let n;const i=s=>{s.data==="verify_ready"&&(this.onInit(),window.removeEventListener("message",i),n())};await Promise.race([new Promise(s=>{const o=document.getElementById(sF);if(o)return this.iframe=o,this.onInit(),s();window.addEventListener("message",i);const a=document.createElement("iframe");a.id=sF,a.src=`${this.verifyUrl}/${this.projectId}`,a.style.display="none",document.body.append(a),this.iframe=a,n=s}),new Promise((s,o)=>setTimeout(()=>{window.removeEventListener("message",i),o("verify iframe load timeout")},Ye.toMiliseconds(Ye.FIVE_SECONDS)))])},this.onInit=()=>{this.initialized=!0,this.processQueue()},this.removeIframe=()=>{this.iframe&&(this.iframe.remove(),this.iframe=void 0,this.initialized=!1)},this.getVerifyUrl=n=>{let i=n||h3;return itt.includes(i)||(this.logger.info(`verify url: ${i}, not included in trusted list, assigning default: ${h3}`),i=h3),i},this.logger=pi(t,this.name),this.verifyUrl=h3,this.abortController=new AbortController,this.isDevEnv=J8()&&yt.env.IS_VITEST}get context(){return yi(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),Ye.toMiliseconds(e))}},ktt=class extends nXe{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,this.context=stt,this.registerDeviceToken=async n=>{const{clientId:i,token:s,notificationType:o,enableEncrypted:a=!1}=n,l=`${ott}/${this.projectId}/clients`;await cce(l,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:i,type:o,token:s,always_raw:a})})},this.logger=pi(t,this.context)}};var Mtt=Object.defineProperty,Mpe=Object.getOwnPropertySymbols,Ntt=Object.prototype.hasOwnProperty,Ptt=Object.prototype.propertyIsEnumerable,Npe=(r,e,t)=>e in r?Mtt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ppe=(r,e)=>{for(var t in e||(e={}))Ntt.call(e,t)&&Npe(r,t,e[t]);if(Mpe)for(var t of Mpe(e))Ptt.call(e,t)&&Npe(r,t,e[t]);return r};const Ott=class $ge extends KQe{constructor(e){var t;super(e),this.protocol=vpe,this.version=ket,this.name=iF,this.events=new fi.EventEmitter,this.initialized=!1,this.on=(o,a)=>this.events.on(o,a),this.once=(o,a)=>this.events.once(o,a),this.off=(o,a)=>this.events.off(o,a),this.removeListener=(o,a)=>this.events.removeListener(o,a),this.projectId=e==null?void 0:e.projectId,this.relayUrl=(e==null?void 0:e.relayUrl)||_pe,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:"";const n=p1({level:typeof(e==null?void 0:e.logger)=="string"&&e.logger?e.logger:Met.logger}),{logger:i,chunkLoggerController:s}=YPe({opts:n,maxSizeInBytes:e==null?void 0:e.maxLogBlobSizeInBytes,loggerOverride:e==null?void 0:e.logger});this.logChunkController=s,(t=this.logChunkController)!=null&&t.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var o,a;(o=this.logChunkController)!=null&&o.downloadLogsBlobInBrowser&&((a=this.logChunkController)==null||a.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=pi(i,this.name),this.heartbeat=new Ku.HeartBeat,this.crypto=new ctt(this,this.logger,e==null?void 0:e.keychain),this.history=new Itt(this,this.logger),this.expirer=new Rtt(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new Sae(Ppe(Ppe({},Net),e==null?void 0:e.storageOptions)),this.relayer=new _tt({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new Stt(this,this.logger),this.verify=new Ttt(this.projectId||"",this.logger),this.echoClient=new ktt(this.projectId||"",this.logger)}static async init(e){const t=new $ge(e);await t.initialize();const n=await t.crypto.getClientId();return await t.storage.setItem(Ket,n),t}get context(){return yi(this.logger)}async start(){this.initialized||await this.initialize()}async getLogsBlob(){var e;return(e=this.logChunkController)==null?void 0:e.logsToBlob({clientId:await this.crypto.getClientId()})}async initialize(){this.logger.trace("Initialized");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.initialized=!0,this.logger.info("Core Initialization Success")}catch(e){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,e),this.logger.error(e.message),e}}},Ope="wc",Dpe=2,$pe="client",cF=`${Ope}@${Dpe}:${$pe}:`,lF={name:$pe,logger:"error",controller:!1,relayUrl:"wss://relay.walletconnect.com"},Bpe="WALLETCONNECT_DEEPLINK_CHOICE",Dtt="proposal",Lpe="Proposal expired",$tt="session",f3=Ye.SEVEN_DAYS,Btt="engine",uu={wc_sessionPropose:{req:{ttl:Ye.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:Ye.FIVE_MINUTES,prompt:!1,tag:1101}},wc_sessionSettle:{req:{ttl:Ye.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:Ye.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:Ye.ONE_DAY,prompt:!1,tag:1104},res:{ttl:Ye.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:Ye.ONE_DAY,prompt:!1,tag:1106},res:{ttl:Ye.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:Ye.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:Ye.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:Ye.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:Ye.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:Ye.ONE_DAY,prompt:!1,tag:1112},res:{ttl:Ye.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:Ye.ONE_DAY,prompt:!1,tag:1114},res:{ttl:Ye.ONE_DAY,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:Ye.ONE_HOUR,prompt:!0,tag:1116},res:{ttl:Ye.ONE_HOUR,prompt:!1,tag:1117}}},uF={min:Ye.FIVE_MINUTES,max:Ye.SEVEN_DAYS},l0={idle:"IDLE",active:"ACTIVE"},Ltt="request",Utt=["wc_sessionPropose","wc_sessionRequest","wc_authRequest"],Ftt="wc",jtt="auth",ztt="authKeys",Htt="pairingTopics",qtt="requests",bR=`${Ftt}@${1.5}:${jtt}:`,wR=`${bR}:PUB_KEY`;var Wtt=Object.defineProperty,Vtt=Object.defineProperties,Gtt=Object.getOwnPropertyDescriptors,Upe=Object.getOwnPropertySymbols,Ktt=Object.prototype.hasOwnProperty,Ztt=Object.prototype.propertyIsEnumerable,Fpe=(r,e,t)=>e in r?Wtt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ro=(r,e)=>{for(var t in e||(e={}))Ktt.call(e,t)&&Fpe(r,t,e[t]);if(Upe)for(var t of Upe(e))Ztt.call(e,t)&&Fpe(r,t,e[t]);return r},d3=(r,e)=>Vtt(r,Gtt(e));let Jtt=class extends sXe{constructor(e){super(e),this.name=Btt,this.events=new ty,this.initialized=!1,this.requestQueue={state:l0.idle,queue:[]},this.sessionRequestQueue={state:l0.idle,queue:[]},this.requestQueueDelay=Ye.ONE_SECOND,this.expectedPairingMethodMap=new Map,this.recentlyDeletedMap=new Map,this.recentlyDeletedLimit=200,this.init=async()=>{this.initialized||(await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.registerPairingEvents(),this.client.core.pairing.register({methods:Object.keys(uu)}),this.initialized=!0,setTimeout(()=>{this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},Ye.toMiliseconds(this.requestQueueDelay)))},this.connect=async t=>{await this.isInitialized();const n=d3(Ro({},t),{requiredNamespaces:t.requiredNamespaces||{},optionalNamespaces:t.optionalNamespaces||{}});await this.isValidConnect(n);const{pairingTopic:i,requiredNamespaces:s,optionalNamespaces:o,sessionProperties:a,relays:l}=n;let u=i,h,p=!1;try{u&&(p=this.client.core.pairing.pairings.get(u).active)}catch(B){throw this.client.logger.error(`connect() -> pairing.get(${u}) failed`),B}if(!u||!p){const{topic:B,uri:j}=await this.client.core.pairing.create();u=B,h=j}if(!u){const{message:B}=Bt("NO_MATCHING_KEY",`connect() pairing topic: ${u}`);throw new Error(B)}const g=await this.client.core.crypto.generateKeyPair(),w=uu.wc_sessionPropose.req.ttl||Ye.FIVE_MINUTES,y=wa(w),C=Ro({requiredNamespaces:s,optionalNamespaces:o,relays:l??[{protocol:xpe}],proposer:{publicKey:g,metadata:this.client.metadata},expiryTimestamp:y},a&&{sessionProperties:a}),{reject:R,resolve:k,done:M}=l2(w,Lpe);this.events.once(un("session_connect"),async({error:B,session:j})=>{if(B)R(B);else if(j){j.self.publicKey=g;const G=d3(Ro({},j),{requiredNamespaces:C.requiredNamespaces,optionalNamespaces:C.optionalNamespaces});await this.client.session.set(j.topic,G),await this.setExpiry(j.topic,j.expiry),u&&await this.client.core.pairing.updateMetadata({topic:u,metadata:j.peer.metadata}),k(G)}});const O=await this.sendRequest({topic:u,method:"wc_sessionPropose",params:C,throwOnFailedPublish:!0});return await this.setProposal(O,Ro({id:O},C)),{uri:h,approval:M}},this.pair=async t=>{await this.isInitialized();try{return await this.client.core.pairing.pair(t)}catch(n){throw this.client.logger.error("pair() failed"),n}},this.approve=async t=>{await this.isInitialized();try{await this.isValidApprove(t)}catch(M){throw this.client.logger.error("approve() -> isValidApprove() failed"),M}const{id:n,relayProtocol:i,namespaces:s,sessionProperties:o,sessionConfig:a}=t;let l;try{l=this.client.proposal.get(n)}catch(M){throw this.client.logger.error(`approve() -> proposal.get(${n}) failed`),M}let{pairingTopic:u,proposer:h,requiredNamespaces:p,optionalNamespaces:g}=l;u=u||"";const w=await this.client.core.crypto.generateKeyPair(),y=h.publicKey,C=await this.client.core.crypto.generateSharedKey(w,y),R=Ro(Ro({relay:{protocol:i??"irn"},namespaces:s,pairingTopic:u,controller:{publicKey:w,metadata:this.client.metadata},expiry:wa(f3)},o&&{sessionProperties:o}),a&&{sessionConfig:a});await this.client.core.relayer.subscribe(C);const k=d3(Ro({},R),{topic:C,requiredNamespaces:p,optionalNamespaces:g,pairingTopic:u,acknowledged:!1,self:R.controller,peer:{publicKey:h.publicKey,metadata:h.metadata},controller:w});await this.client.session.set(C,k);try{await this.sendResult({id:n,topic:u,result:{relay:{protocol:i??"irn"},responderPublicKey:w},throwOnFailedPublish:!0}),await this.sendRequest({topic:C,method:"wc_sessionSettle",params:R,throwOnFailedPublish:!0})}catch(M){throw this.client.logger.error(M),this.client.session.delete(C,ti("USER_DISCONNECTED")),await this.client.core.relayer.unsubscribe(C),M}return await this.client.core.pairing.updateMetadata({topic:u,metadata:h.metadata}),await this.client.proposal.delete(n,ti("USER_DISCONNECTED")),await this.client.core.pairing.activate({topic:u}),await this.setExpiry(C,wa(f3)),{topic:C,acknowledged:()=>new Promise(M=>setTimeout(()=>M(this.client.session.get(C)),500))}},this.reject=async t=>{await this.isInitialized();try{await this.isValidReject(t)}catch(o){throw this.client.logger.error("reject() -> isValidReject() failed"),o}const{id:n,reason:i}=t;let s;try{s=this.client.proposal.get(n).pairingTopic}catch(o){throw this.client.logger.error(`reject() -> proposal.get(${n}) failed`),o}s&&(await this.sendError({id:n,topic:s,error:i}),await this.client.proposal.delete(n,ti("USER_DISCONNECTED")))},this.update=async t=>{await this.isInitialized();try{await this.isValidUpdate(t)}catch(p){throw this.client.logger.error("update() -> isValidUpdate() failed"),p}const{topic:n,namespaces:i}=t,{done:s,resolve:o,reject:a}=l2(),l=Vd(),u=g1().toString(),h=this.client.session.get(n).namespaces;return this.events.once(un("session_update",l),({error:p})=>{p?a(p):o()}),await this.client.session.update(n,{namespaces:i}),this.sendRequest({topic:n,method:"wc_sessionUpdate",params:{namespaces:i},throwOnFailedPublish:!0,clientRpcId:l,relayRpcId:u}).catch(p=>{this.client.logger.error(p),this.client.session.update(n,{namespaces:h}),a(p)}),{acknowledged:s}},this.extend=async t=>{await this.isInitialized();try{await this.isValidExtend(t)}catch(l){throw this.client.logger.error("extend() -> isValidExtend() failed"),l}const{topic:n}=t,i=Vd(),{done:s,resolve:o,reject:a}=l2();return this.events.once(un("session_extend",i),({error:l})=>{l?a(l):o()}),await this.setExpiry(n,wa(f3)),this.sendRequest({topic:n,method:"wc_sessionExtend",params:{},clientRpcId:i,throwOnFailedPublish:!0}).catch(l=>{a(l)}),{acknowledged:s}},this.request=async t=>{await this.isInitialized();try{await this.isValidRequest(t)}catch(w){throw this.client.logger.error("request() -> isValidRequest() failed"),w}const{chainId:n,request:i,topic:s,expiry:o=uu.wc_sessionRequest.req.ttl}=t,a=this.client.session.get(s),l=Vd(),u=g1().toString(),{done:h,resolve:p,reject:g}=l2(o,"Request expired. Please try again.");return this.events.once(un("session_request",l),({error:w,result:y})=>{w?g(w):p(y)}),await Promise.all([new Promise(async w=>{await this.sendRequest({clientRpcId:l,relayRpcId:u,topic:s,method:"wc_sessionRequest",params:{request:d3(Ro({},i),{expiryTimestamp:wa(o)}),chainId:n},expiry:o,throwOnFailedPublish:!0}).catch(y=>g(y)),this.client.events.emit("session_request_sent",{topic:s,request:i,chainId:n,id:l}),w()}),new Promise(async w=>{var y;if(!((y=a.sessionConfig)!=null&&y.disableDeepLink)){const C=await QKe(this.client.core.storage,Bpe);YKe({id:l,topic:s,wcDeepLink:C})}w()}),h()]).then(w=>w[2])},this.respond=async t=>{await this.isInitialized(),await this.isValidRespond(t);const{topic:n,response:i}=t,{id:s}=i;yo(i)?await this.sendResult({id:s,topic:n,result:i.result,throwOnFailedPublish:!0}):_s(i)&&await this.sendError({id:s,topic:n,error:i.error}),this.cleanupAfterResponse(t)},this.ping=async t=>{await this.isInitialized();try{await this.isValidPing(t)}catch(i){throw this.client.logger.error("ping() -> isValidPing() failed"),i}const{topic:n}=t;if(this.client.session.keys.includes(n)){const i=Vd(),s=g1().toString(),{done:o,resolve:a,reject:l}=l2();this.events.once(un("session_ping",i),({error:u})=>{u?l(u):a()}),await Promise.all([this.sendRequest({topic:n,method:"wc_sessionPing",params:{},throwOnFailedPublish:!0,clientRpcId:i,relayRpcId:s}),o()])}else this.client.core.pairing.pairings.keys.includes(n)&&await this.client.core.pairing.ping({topic:n})},this.emit=async t=>{await this.isInitialized(),await this.isValidEmit(t);const{topic:n,event:i,chainId:s}=t,o=g1().toString();await this.sendRequest({topic:n,method:"wc_sessionEvent",params:{event:i,chainId:s},throwOnFailedPublish:!0,relayRpcId:o})},this.disconnect=async t=>{await this.isInitialized(),await this.isValidDisconnect(t);const{topic:n}=t;if(this.client.session.keys.includes(n))await this.sendRequest({topic:n,method:"wc_sessionDelete",params:ti("USER_DISCONNECTED"),throwOnFailedPublish:!0}),await this.deleteSession({topic:n,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(n))await this.client.core.pairing.disconnect({topic:n});else{const{message:i}=Bt("MISMATCHED_TOPIC",`Session or pairing topic not found: ${n}`);throw new Error(i)}},this.find=t=>(this.isInitialized(),this.client.session.getAll().filter(n=>vQe(n,t))),this.getPendingSessionRequests=()=>this.client.pendingRequest.getAll(),this.authenticate=async t=>{this.isInitialized(),this.isValidAuthenticate(t);const{chains:n,statement:i="",uri:s,domain:o,nonce:a,type:l,exp:u,nbf:h,methods:p=[]}=t,g=[...t.resources||[]],{topic:w,uri:y}=await this.client.core.pairing.create({methods:["wc_sessionAuthenticate"]});this.client.logger.info({message:"Generated new pairing",pairing:{topic:w,uri:y}});const C=await this.client.core.crypto.generateKeyPair(),R=fR(C);if(await Promise.all([this.client.auth.authKeys.set(wR,{responseTopic:R,publicKey:C}),this.client.auth.pairingTopics.set(R,{topic:R,pairingTopic:w})]),await this.client.core.relayer.subscribe(R),this.client.logger.info(`sending request to new pairing topic: ${w}`),p.length>0){const{namespace:P}=ZI(n[0]);let b=HYe(P,"request",p);hR(g)&&(b=WYe(b,g.pop())),g.push(b)}const k=wa(uu.wc_sessionPropose.req.ttl),M={authPayload:{type:l??"caip122",chains:n,statement:i,aud:s,domain:o,version:"1",nonce:a,iat:new Date().toISOString(),exp:u,nbf:h,resources:g},requester:{publicKey:C,metadata:this.client.metadata},expiryTimestamp:k},O={eip155:{chains:n,methods:[...new Set(["personal_sign",...p])],events:["chainChanged","accountsChanged"]}},B={requiredNamespaces:{},optionalNamespaces:O,relays:[{protocol:"irn"}],proposer:{publicKey:C,metadata:this.client.metadata},expiryTimestamp:k},{done:j,resolve:G,reject:D}=l2(uu.wc_sessionAuthenticate.req.ttl,"Request expired"),$=async({error:P,session:b})=>{if(this.events.off(un("session_request",te),V),P)D(P);else if(b){b.self.publicKey=C,await this.client.session.set(b.topic,b),await this.setExpiry(b.topic,b.expiry),w&&await this.client.core.pairing.updateMetadata({topic:w,metadata:b.peer.metadata});const d=this.client.session.get(b.topic);G({session:d})}},V=async P=>{if(P.error){const T=ti("WC_METHOD_UNSUPPORTED","wc_sessionAuthenticate");return P.error.code===T.code?void 0:(this.events.off(un("session_connect"),$),D(P.error.message))}this.events.off(un("session_connect"),$);const{cacaos:b,responder:d}=P.result,m=[],x=[];for(const T of b){await O0e({cacao:T,projectId:this.client.core.projectId})||(this.client.logger.error(T,"Signature verification failed"),D(ti("SESSION_SETTLEMENT_FAILED","Signature verification failed")));const{p:S}=T,E=hR(S.resources),_=[P0e(S.iss)],U=uR(S.iss);if(E){const ie=B0e(E),q=L0e(E);m.push(...ie),_.push(...q)}for(const ie of _)x.push(`${ie}:${U}`)}const A=await this.client.core.crypto.generateSharedKey(C,d.publicKey);let I;m.length>0&&(I={topic:A,acknowledged:!0,self:{publicKey:C,metadata:this.client.metadata},peer:d,controller:d.publicKey,expiry:wa(f3),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:w,namespaces:K0e([...new Set(m)],[...new Set(x)])},await this.client.core.relayer.subscribe(A),await this.client.session.set(A,I),I=this.client.session.get(A)),G({auths:b,session:I})},te=Vd(),W=Vd();this.events.once(un("session_connect"),$),this.events.once(un("session_request",te),V);try{await Promise.all([this.sendRequest({topic:w,method:"wc_sessionAuthenticate",params:M,expiry:t.expiry,throwOnFailedPublish:!0,clientRpcId:te}),this.sendRequest({topic:w,method:"wc_sessionPropose",params:B,expiry:uu.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:W})])}catch(P){throw this.events.off(un("session_connect"),$),this.events.off(un("session_request",te),V),P}return await this.setProposal(W,Ro({id:W},B)),await this.client.auth.requests.set(te,{authPayload:M.authPayload,requester:M.requester,expiryTimestamp:k,id:te,pairingTopic:w,verifyContext:{}}),{uri:y,response:j}},this.approveSessionAuthenticate=async t=>{this.isInitialized();const{id:n,auths:i}=t,s=this.getPendingAuthRequest(n);if(!s)throw new Error(`Could not find pending auth request with id ${n}`);const o=s.requester.publicKey,a=await this.client.core.crypto.generateKeyPair(),l=fR(o),u={type:T1,receiverPublicKey:o,senderPublicKey:a},h=[],p=[];for(const y of i){if(!await O0e({cacao:y,projectId:this.client.core.projectId})){const O=ti("SESSION_SETTLEMENT_FAILED","Signature verification failed");throw await this.sendError({id:n,topic:l,error:O,encodeOpts:u}),new Error(O.message)}const{p:C}=y,R=hR(C.resources),k=[P0e(C.iss)],M=uR(C.iss);if(R){const O=B0e(R),B=L0e(R);h.push(...O),k.push(...B)}for(const O of k)p.push(`${O}:${M}`)}const g=await this.client.core.crypto.generateSharedKey(a,o);let w;return(h==null?void 0:h.length)>0&&(w={topic:g,acknowledged:!0,self:{publicKey:a,metadata:this.client.metadata},peer:{publicKey:o,metadata:s.requester.metadata},controller:o,expiry:wa(f3),authentication:i,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:"",namespaces:K0e([...new Set(h)],[...new Set(p)])},await this.client.core.relayer.subscribe(g),await this.client.session.set(g,w)),await this.sendResult({topic:l,id:n,result:{cacaos:i,responder:{publicKey:a,metadata:this.client.metadata}},encodeOpts:u,throwOnFailedPublish:!0}),await this.client.auth.requests.delete(n,{message:"fullfilled",code:0}),await this.client.core.pairing.activate({topic:s.pairingTopic}),{session:w}},this.rejectSessionAuthenticate=async t=>{await this.isInitialized();const{id:n,reason:i}=t,s=this.getPendingAuthRequest(n);if(!s)throw new Error(`Could not find pending auth request with id ${n}`);const o=s.requester.publicKey,a=await this.client.core.crypto.generateKeyPair(),l=fR(o),u={type:T1,receiverPublicKey:o,senderPublicKey:a};await this.sendError({id:n,topic:l,error:i,encodeOpts:u}),await this.client.auth.requests.delete(n,{message:"rejected",code:0}),await this.client.proposal.delete(n,ti("USER_DISCONNECTED"))},this.formatAuthMessage=t=>{this.isInitialized();const{request:n,iss:i}=t;return D0e(n,i)},this.cleanupDuplicatePairings=async t=>{if(t.pairingTopic)try{const n=this.client.core.pairing.pairings.get(t.pairingTopic),i=this.client.core.pairing.pairings.getAll().filter(s=>{var o,a;return((o=s.peerMetadata)==null?void 0:o.url)&&((a=s.peerMetadata)==null?void 0:a.url)===t.peer.metadata.url&&s.topic&&s.topic!==n.topic});if(i.length===0)return;this.client.logger.info(`Cleaning up ${i.length} duplicate pairing(s)`),await Promise.all(i.map(s=>this.client.core.pairing.disconnect({topic:s.topic}))),this.client.logger.info("Duplicate pairings clean up finished")}catch(n){this.client.logger.error(n)}},this.deleteSession=async t=>{const{topic:n,expirerHasDeleted:i=!1,emitEvent:s=!0,id:o=0}=t,{self:a}=this.client.session.get(n);await this.client.core.relayer.unsubscribe(n),await this.client.session.delete(n,ti("USER_DISCONNECTED")),this.addToRecentlyDeleted(n,"session"),this.client.core.crypto.keychain.has(a.publicKey)&&await this.client.core.crypto.deleteKeyPair(a.publicKey),this.client.core.crypto.keychain.has(n)&&await this.client.core.crypto.deleteSymKey(n),i||this.client.core.expirer.del(n),this.client.core.storage.removeItem(Bpe).catch(l=>this.client.logger.warn(l)),this.getPendingSessionRequests().forEach(l=>{l.topic===n&&this.deletePendingSessionRequest(l.id,ti("USER_DISCONNECTED"))}),s&&this.client.events.emit("session_delete",{id:o,topic:n})},this.deleteProposal=async(t,n)=>{await Promise.all([this.client.proposal.delete(t,ti("USER_DISCONNECTED")),n?Promise.resolve():this.client.core.expirer.del(t)]),this.addToRecentlyDeleted(t,"proposal")},this.deletePendingSessionRequest=async(t,n,i=!1)=>{await Promise.all([this.client.pendingRequest.delete(t,n),i?Promise.resolve():this.client.core.expirer.del(t)]),this.addToRecentlyDeleted(t,"request"),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(s=>s.id!==t),i&&(this.sessionRequestQueue.state=l0.idle,this.client.events.emit("session_request_expire",{id:t}))},this.setExpiry=async(t,n)=>{this.client.session.keys.includes(t)&&await this.client.session.update(t,{expiry:n}),this.client.core.expirer.set(t,n)},this.setProposal=async(t,n)=>{await this.client.proposal.set(t,n),this.client.core.expirer.set(t,wa(uu.wc_sessionPropose.req.ttl))},this.setPendingSessionRequest=async t=>{const{id:n,topic:i,params:s,verifyContext:o}=t,a=s.request.expiryTimestamp||wa(uu.wc_sessionRequest.req.ttl);await this.client.pendingRequest.set(n,{id:n,topic:i,params:s,verifyContext:o}),a&&this.client.core.expirer.set(n,a)},this.sendRequest=async t=>{const{topic:n,method:i,params:s,expiry:o,relayRpcId:a,clientRpcId:l,throwOnFailedPublish:u}=t,h=Zu(i,s,l);if(Xy()&&Utt.includes(i)){const w=d2(JSON.stringify(h));this.client.core.verify.register({attestationId:w})}let p;try{p=await this.client.core.crypto.encode(n,h)}catch(w){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${n} failed`),w}const g=uu[i].req;return o&&(g.ttl=o),a&&(g.id=a),this.client.core.history.set(n,h),u?(g.internal=d3(Ro({},g.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(n,p,g)):this.client.core.relayer.publish(n,p,g).catch(w=>this.client.logger.error(w)),h.id},this.sendResult=async t=>{const{id:n,topic:i,result:s,throwOnFailedPublish:o,encodeOpts:a}=t,l=m1(n,s);let u;try{u=await this.client.core.crypto.encode(i,l,a)}catch(g){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${i} failed`),g}let h;try{h=await this.client.core.history.get(i,n)}catch(g){throw this.client.logger.error(`sendResult() -> history.get(${i}, ${n}) failed`),g}const p=uu[h.request.method].res;o?(p.internal=d3(Ro({},p.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(i,u,p)):this.client.core.relayer.publish(i,u,p).catch(g=>this.client.logger.error(g)),await this.client.core.history.resolve(l)},this.sendError=async t=>{const{id:n,topic:i,error:s,encodeOpts:o}=t,a=by(n,s);let l;try{l=await this.client.core.crypto.encode(i,a,o)}catch(p){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${i} failed`),p}let u;try{u=await this.client.core.history.get(i,n)}catch(p){throw this.client.logger.error(`sendError() -> history.get(${i}, ${n}) failed`),p}const h=uu[u.request.method].res;this.client.core.relayer.publish(i,l,h),await this.client.core.history.resolve(a)},this.cleanup=async()=>{const t=[],n=[];this.client.session.getAll().forEach(i=>{let s=!1;C1(i.expiry)&&(s=!0),this.client.core.crypto.keychain.has(i.topic)||(s=!0),s&&t.push(i.topic)}),this.client.proposal.getAll().forEach(i=>{C1(i.expiryTimestamp)&&n.push(i.id)}),await Promise.all([...t.map(i=>this.deleteSession({topic:i})),...n.map(i=>this.deleteProposal(i))])},this.onRelayEventRequest=async t=>{this.requestQueue.queue.push(t),await this.processRequestsQueue()},this.processRequestsQueue=async()=>{if(this.requestQueue.state===l0.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=l0.active;const t=this.requestQueue.queue.shift();if(t)try{this.processRequest(t),await new Promise(n=>setTimeout(n,300))}catch(n){this.client.logger.warn(n)}}this.requestQueue.state=l0.idle},this.processRequest=t=>{const{topic:n,payload:i}=t,s=i.method;if(!this.shouldIgnorePairingRequest({topic:n,requestMethod:s}))switch(s){case"wc_sessionPropose":return this.onSessionProposeRequest(n,i);case"wc_sessionSettle":return this.onSessionSettleRequest(n,i);case"wc_sessionUpdate":return this.onSessionUpdateRequest(n,i);case"wc_sessionExtend":return this.onSessionExtendRequest(n,i);case"wc_sessionPing":return this.onSessionPingRequest(n,i);case"wc_sessionDelete":return this.onSessionDeleteRequest(n,i);case"wc_sessionRequest":return this.onSessionRequest(n,i);case"wc_sessionEvent":return this.onSessionEventRequest(n,i);case"wc_sessionAuthenticate":return this.onSessionAuthenticateRequest(n,i);default:return this.client.logger.info(`Unsupported request method ${s}`)}},this.onRelayEventResponse=async t=>{const{topic:n,payload:i}=t,s=(await this.client.core.history.get(n,i.id)).request.method;switch(s){case"wc_sessionPropose":return this.onSessionProposeResponse(n,i);case"wc_sessionSettle":return this.onSessionSettleResponse(n,i);case"wc_sessionUpdate":return this.onSessionUpdateResponse(n,i);case"wc_sessionExtend":return this.onSessionExtendResponse(n,i);case"wc_sessionPing":return this.onSessionPingResponse(n,i);case"wc_sessionRequest":return this.onSessionRequestResponse(n,i);case"wc_sessionAuthenticate":return this.onSessionAuthenticateResponse(n,i);default:return this.client.logger.info(`Unsupported response method ${s}`)}},this.onRelayEventUnknownPayload=t=>{const{topic:n}=t,{message:i}=Bt("MISSING_OR_INVALID",`Decoded payload on topic ${n} is not identifiable as a JSON-RPC request or a response.`);throw new Error(i)},this.shouldIgnorePairingRequest=t=>{const{topic:n,requestMethod:i}=t,s=this.expectedPairingMethodMap.get(n);return!s||s.includes(i)?!1:!!(s.includes("wc_sessionAuthenticate")&&this.client.events.listenerCount("session_authenticate")>0)},this.onSessionProposeRequest=async(t,n)=>{const{params:i,id:s}=n;try{this.isValidConnect(Ro({},n.params));const o=i.expiryTimestamp||wa(uu.wc_sessionPropose.req.ttl),a=Ro({id:s,pairingTopic:t,expiryTimestamp:o},i);await this.setProposal(s,a);const l=d2(JSON.stringify(n)),u=await this.getVerifyContext(l,a.proposer.metadata);this.client.events.emit("session_proposal",{id:s,params:a,verifyContext:u})}catch(o){await this.sendError({id:s,topic:t,error:o}),this.client.logger.error(o)}},this.onSessionProposeResponse=async(t,n)=>{const{id:i}=n;if(yo(n)){const{result:s}=n;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:s});const o=this.client.proposal.get(i);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:o});const a=o.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:a});const l=s.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:l});const u=await this.client.core.crypto.generateSharedKey(a,l);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",sessionTopic:u});const h=await this.client.core.relayer.subscribe(u);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:h}),await this.client.core.pairing.activate({topic:t})}else if(_s(n)){await this.client.proposal.delete(i,ti("USER_DISCONNECTED"));const s=un("session_connect");if(this.events.listenerCount(s)===0)throw new Error(`emitting ${s} without any listeners, 954`);this.events.emit(un("session_connect"),{error:n.error})}},this.onSessionSettleRequest=async(t,n)=>{const{id:i,params:s}=n;try{this.isValidSessionSettleRequest(s);const{relay:o,controller:a,expiry:l,namespaces:u,sessionProperties:h,pairingTopic:p,sessionConfig:g}=n.params,w=Ro(Ro({topic:t,relay:o,expiry:l,namespaces:u,acknowledged:!0,pairingTopic:p,requiredNamespaces:{},optionalNamespaces:{},controller:a.publicKey,self:{publicKey:"",metadata:this.client.metadata},peer:{publicKey:a.publicKey,metadata:a.metadata}},h&&{sessionProperties:h}),g&&{sessionConfig:g});await this.sendResult({id:n.id,topic:t,result:!0,throwOnFailedPublish:!0});const y=un("session_connect");if(this.events.listenerCount(y)===0)throw new Error(`emitting ${y} without any listeners 997`);this.events.emit(un("session_connect"),{session:w}),this.cleanupDuplicatePairings(w)}catch(o){await this.sendError({id:i,topic:t,error:o}),this.client.logger.error(o)}},this.onSessionSettleResponse=async(t,n)=>{const{id:i}=n;yo(n)?(await this.client.session.update(t,{acknowledged:!0}),this.events.emit(un("session_approve",i),{})):_s(n)&&(await this.client.session.delete(t,ti("USER_DISCONNECTED")),this.events.emit(un("session_approve",i),{error:n.error}))},this.onSessionUpdateRequest=async(t,n)=>{const{params:i,id:s}=n;try{const o=`${t}_session_update`,a=hx.get(o);if(a&&this.isRequestOutOfSync(a,s)){this.client.logger.info(`Discarding out of sync request - ${s}`),this.sendError({id:s,topic:t,error:ti("INVALID_UPDATE_REQUEST")});return}this.isValidUpdate(Ro({topic:t},i));try{hx.set(o,s),await this.client.session.update(t,{namespaces:i.namespaces}),await this.sendResult({id:s,topic:t,result:!0,throwOnFailedPublish:!0})}catch(l){throw hx.delete(o),l}this.client.events.emit("session_update",{id:s,topic:t,params:i})}catch(o){await this.sendError({id:s,topic:t,error:o}),this.client.logger.error(o)}},this.isRequestOutOfSync=(t,n)=>parseInt(n.toString().slice(0,-3))<=parseInt(t.toString().slice(0,-3)),this.onSessionUpdateResponse=(t,n)=>{const{id:i}=n,s=un("session_update",i);if(this.events.listenerCount(s)===0)throw new Error(`emitting ${s} without any listeners`);yo(n)?this.events.emit(un("session_update",i),{}):_s(n)&&this.events.emit(un("session_update",i),{error:n.error})},this.onSessionExtendRequest=async(t,n)=>{const{id:i}=n;try{this.isValidExtend({topic:t}),await this.setExpiry(t,wa(f3)),await this.sendResult({id:i,topic:t,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_extend",{id:i,topic:t})}catch(s){await this.sendError({id:i,topic:t,error:s}),this.client.logger.error(s)}},this.onSessionExtendResponse=(t,n)=>{const{id:i}=n,s=un("session_extend",i);if(this.events.listenerCount(s)===0)throw new Error(`emitting ${s} without any listeners`);yo(n)?this.events.emit(un("session_extend",i),{}):_s(n)&&this.events.emit(un("session_extend",i),{error:n.error})},this.onSessionPingRequest=async(t,n)=>{const{id:i}=n;try{this.isValidPing({topic:t}),await this.sendResult({id:i,topic:t,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_ping",{id:i,topic:t})}catch(s){await this.sendError({id:i,topic:t,error:s}),this.client.logger.error(s)}},this.onSessionPingResponse=(t,n)=>{const{id:i}=n,s=un("session_ping",i);if(this.events.listenerCount(s)===0)throw new Error(`emitting ${s} without any listeners`);setTimeout(()=>{yo(n)?this.events.emit(un("session_ping",i),{}):_s(n)&&this.events.emit(un("session_ping",i),{error:n.error})},500)},this.onSessionDeleteRequest=async(t,n)=>{const{id:i}=n;try{this.isValidDisconnect({topic:t,reason:n.params}),await Promise.all([new Promise(s=>{this.client.core.relayer.once(el.publish,async()=>{s(await this.deleteSession({topic:t,id:i}))})}),this.sendResult({id:i,topic:t,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:t,error:ti("USER_DISCONNECTED")})])}catch(s){this.client.logger.error(s)}},this.onSessionRequest=async(t,n)=>{const{id:i,params:s}=n;try{await this.isValidRequest(Ro({topic:t},s));const o=d2(JSON.stringify(Zu("wc_sessionRequest",s,i))),a=this.client.session.get(t),l=await this.getVerifyContext(o,a.peer.metadata),u={id:i,topic:t,params:s,verifyContext:l};await this.setPendingSessionRequest(u),this.addSessionRequestToSessionRequestQueue(u),this.processSessionRequestQueue()}catch(o){await this.sendError({id:i,topic:t,error:o}),this.client.logger.error(o)}},this.onSessionRequestResponse=(t,n)=>{const{id:i}=n,s=un("session_request",i);if(this.events.listenerCount(s)===0)throw new Error(`emitting ${s} without any listeners`);yo(n)?this.events.emit(un("session_request",i),{result:n.result}):_s(n)&&this.events.emit(un("session_request",i),{error:n.error})},this.onSessionEventRequest=async(t,n)=>{const{id:i,params:s}=n;try{const o=`${t}_session_event_${s.event.name}`,a=hx.get(o);if(a&&this.isRequestOutOfSync(a,i)){this.client.logger.info(`Discarding out of sync request - ${i}`);return}this.isValidEmit(Ro({topic:t},s)),this.client.events.emit("session_event",{id:i,topic:t,params:s}),hx.set(o,i)}catch(o){await this.sendError({id:i,topic:t,error:o}),this.client.logger.error(o)}},this.onSessionAuthenticateResponse=(t,n)=>{const{id:i}=n;this.client.logger.trace({type:"method",method:"onSessionAuthenticateResponse",topic:t,payload:n}),yo(n)?this.events.emit(un("session_request",i),{result:n.result}):_s(n)&&this.events.emit(un("session_request",i),{error:n.error})},this.onSessionAuthenticateRequest=async(t,n)=>{const{requester:i,authPayload:s,expiryTimestamp:o}=n.params,a=d2(JSON.stringify(n)),l=await this.getVerifyContext(a,this.client.metadata),u={requester:i,pairingTopic:t,id:n.id,authPayload:s,verifyContext:l,expiryTimestamp:o};await this.client.auth.requests.set(n.id,u),this.client.events.emit("session_authenticate",{topic:t,params:n.params,id:n.id})},this.addSessionRequestToSessionRequestQueue=t=>{this.sessionRequestQueue.queue.push(t)},this.cleanupAfterResponse=t=>{this.deletePendingSessionRequest(t.response.id,{message:"fulfilled",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=l0.idle,this.processSessionRequestQueue()},Ye.toMiliseconds(this.requestQueueDelay))},this.cleanupPendingSentRequestsForTopic=({topic:t,error:n})=>{const i=this.client.core.history.pending;i.length>0&&i.filter(s=>s.topic===t&&s.request.method==="wc_sessionRequest").forEach(s=>{const o=s.request.id,a=un("session_request",o);if(this.events.listenerCount(a)===0)throw new Error(`emitting ${a} without any listeners`);this.events.emit(un("session_request",s.request.id),{error:n})})},this.processSessionRequestQueue=()=>{if(this.sessionRequestQueue.state===l0.active){this.client.logger.info("session request queue is already active.");return}const t=this.sessionRequestQueue.queue[0];if(!t){this.client.logger.info("session request queue is empty.");return}try{this.sessionRequestQueue.state=l0.active,this.client.events.emit("session_request",t)}catch(n){this.client.logger.error(n)}},this.onPairingCreated=t=>{if(t.methods&&this.expectedPairingMethodMap.set(t.topic,t.methods),t.active)return;const n=this.client.proposal.getAll().find(i=>i.pairingTopic===t.topic);n&&this.onSessionProposeRequest(t.topic,Zu("wc_sessionPropose",{requiredNamespaces:n.requiredNamespaces,optionalNamespaces:n.optionalNamespaces,relays:n.relays,proposer:n.proposer,sessionProperties:n.sessionProperties},n.id))},this.isValidConnect=async t=>{if(!xc(t)){const{message:l}=Bt("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(t)}`);throw new Error(l)}const{pairingTopic:n,requiredNamespaces:i,optionalNamespaces:s,sessionProperties:o,relays:a}=t;if(qa(n)||await this.isValidPairingTopic(n),!MQe(a,!0)){const{message:l}=Bt("MISSING_OR_INVALID",`connect() relays: ${a}`);throw new Error(l)}!qa(i)&&ux(i)!==0&&this.validateNamespaces(i,"requiredNamespaces"),!qa(s)&&ux(s)!==0&&this.validateNamespaces(s,"optionalNamespaces"),qa(o)||this.validateSessionProps(o,"sessionProperties")},this.validateNamespaces=(t,n)=>{const i=kQe(t,"connect()",n);if(i)throw new Error(i.message)},this.isValidApprove=async t=>{if(!xc(t))throw new Error(Bt("MISSING_OR_INVALID",`approve() params: ${t}`).message);const{id:n,namespaces:i,relayProtocol:s,sessionProperties:o}=t;this.checkRecentlyDeleted(n),await this.isValidProposalId(n);const a=this.client.proposal.get(n),l=XU(i,"approve()");if(l)throw new Error(l.message);const u=X0e(a.requiredNamespaces,i,"approve()");if(u)throw new Error(u.message);if(!Cs(s,!0)){const{message:h}=Bt("MISSING_OR_INVALID",`approve() relayProtocol: ${s}`);throw new Error(h)}qa(o)||this.validateSessionProps(o,"sessionProperties")},this.isValidReject=async t=>{if(!xc(t)){const{message:s}=Bt("MISSING_OR_INVALID",`reject() params: ${t}`);throw new Error(s)}const{id:n,reason:i}=t;if(this.checkRecentlyDeleted(n),await this.isValidProposalId(n),!PQe(i)){const{message:s}=Bt("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(i)}`);throw new Error(s)}},this.isValidSessionSettleRequest=t=>{if(!xc(t)){const{message:u}=Bt("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${t}`);throw new Error(u)}const{relay:n,controller:i,namespaces:s,expiry:o}=t;if(!Y0e(n)){const{message:u}=Bt("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw new Error(u)}const a=AQe(i,"onSessionSettleRequest()");if(a)throw new Error(a.message);const l=XU(s,"onSessionSettleRequest()");if(l)throw new Error(l.message);if(C1(o)){const{message:u}=Bt("EXPIRED","onSessionSettleRequest()");throw new Error(u)}},this.isValidUpdate=async t=>{if(!xc(t)){const{message:l}=Bt("MISSING_OR_INVALID",`update() params: ${t}`);throw new Error(l)}const{topic:n,namespaces:i}=t;this.checkRecentlyDeleted(n),await this.isValidSessionTopic(n);const s=this.client.session.get(n),o=XU(i,"update()");if(o)throw new Error(o.message);const a=X0e(s.requiredNamespaces,i,"update()");if(a)throw new Error(a.message)},this.isValidExtend=async t=>{if(!xc(t)){const{message:i}=Bt("MISSING_OR_INVALID",`extend() params: ${t}`);throw new Error(i)}const{topic:n}=t;this.checkRecentlyDeleted(n),await this.isValidSessionTopic(n)},this.isValidRequest=async t=>{if(!xc(t)){const{message:l}=Bt("MISSING_OR_INVALID",`request() params: ${t}`);throw new Error(l)}const{topic:n,request:i,chainId:s,expiry:o}=t;this.checkRecentlyDeleted(n),await this.isValidSessionTopic(n);const{namespaces:a}=this.client.session.get(n);if(!Q0e(a,s)){const{message:l}=Bt("MISSING_OR_INVALID",`request() chainId: ${s}`);throw new Error(l)}if(!OQe(i)){const{message:l}=Bt("MISSING_OR_INVALID",`request() ${JSON.stringify(i)}`);throw new Error(l)}if(!BQe(a,s,i.method)){const{message:l}=Bt("MISSING_OR_INVALID",`request() method: ${i.method}`);throw new Error(l)}if(o&&!jQe(o,uF)){const{message:l}=Bt("MISSING_OR_INVALID",`request() expiry: ${o}. Expiry must be a number (in seconds) between ${uF.min} and ${uF.max}`);throw new Error(l)}},this.isValidRespond=async t=>{var n;if(!xc(t)){const{message:o}=Bt("MISSING_OR_INVALID",`respond() params: ${t}`);throw new Error(o)}const{topic:i,response:s}=t;try{await this.isValidSessionTopic(i)}catch(o){throw(n=t==null?void 0:t.response)!=null&&n.id&&this.cleanupAfterResponse(t),o}if(!DQe(s)){const{message:o}=Bt("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(s)}`);throw new Error(o)}},this.isValidPing=async t=>{if(!xc(t)){const{message:i}=Bt("MISSING_OR_INVALID",`ping() params: ${t}`);throw new Error(i)}const{topic:n}=t;await this.isValidSessionOrPairingTopic(n)},this.isValidEmit=async t=>{if(!xc(t)){const{message:a}=Bt("MISSING_OR_INVALID",`emit() params: ${t}`);throw new Error(a)}const{topic:n,event:i,chainId:s}=t;await this.isValidSessionTopic(n);const{namespaces:o}=this.client.session.get(n);if(!Q0e(o,s)){const{message:a}=Bt("MISSING_OR_INVALID",`emit() chainId: ${s}`);throw new Error(a)}if(!$Qe(i)){const{message:a}=Bt("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(i)}`);throw new Error(a)}if(!LQe(o,s,i.name)){const{message:a}=Bt("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(i)}`);throw new Error(a)}},this.isValidDisconnect=async t=>{if(!xc(t)){const{message:i}=Bt("MISSING_OR_INVALID",`disconnect() params: ${t}`);throw new Error(i)}const{topic:n}=t;await this.isValidSessionOrPairingTopic(n)},this.isValidAuthenticate=t=>{const{chains:n,uri:i,domain:s,nonce:o}=t;if(!Array.isArray(n)||n.length===0)throw new Error("chains is required and must be a non-empty array");if(!Cs(i,!1))throw new Error("uri is required parameter");if(!Cs(s,!1))throw new Error("domain is required parameter");if(!Cs(o,!1))throw new Error("nonce is required parameter");if([...new Set(n.map(l=>ZI(l).namespace))].length>1)throw new Error("Multi-namespace requests are not supported. Please request single namespace only.");const{namespace:a}=ZI(n[0]);if(a!=="eip155")throw new Error("Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.")},this.getVerifyContext=async(t,n)=>{const i={verified:{verifyUrl:n.verifyUrl||h3,validation:"UNKNOWN",origin:n.url||""}};try{const s=await this.client.core.verify.resolve({attestationId:t,verifyUrl:n.verifyUrl});s&&(i.verified.origin=s.origin,i.verified.isScam=s.isScam,i.verified.validation=s.origin===new URL(n.url).origin?"VALID":"INVALID")}catch(s){this.client.logger.info(s)}return this.client.logger.info(`Verify context: ${JSON.stringify(i)}`),i},this.validateSessionProps=(t,n)=>{Object.values(t).forEach(i=>{if(!Cs(i,!1)){const{message:s}=Bt("MISSING_OR_INVALID",`${n} must be in Record format. Received: ${JSON.stringify(i)}`);throw new Error(s)}})},this.getPendingAuthRequest=t=>{const n=this.client.auth.requests.get(t);return typeof n=="object"?n:void 0},this.addToRecentlyDeleted=(t,n)=>{if(this.recentlyDeletedMap.set(t,n),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let i=0;const s=this.recentlyDeletedLimit/2;for(const o of this.recentlyDeletedMap.keys()){if(i++>=s)break;this.recentlyDeletedMap.delete(o)}}},this.checkRecentlyDeleted=t=>{const n=this.recentlyDeletedMap.get(t);if(n){const{message:i}=Bt("MISSING_OR_INVALID",`Record was recently deleted - ${n}: ${t}`);throw new Error(i)}}}async isInitialized(){if(!this.initialized){const{message:e}=Bt("NOT_INITIALIZED",this.name);throw new Error(e)}await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(el.message,async e=>{const{topic:t,message:n}=e,{publicKey:i}=this.client.auth.authKeys.keys.includes(wR)?this.client.auth.authKeys.get(wR):{responseTopic:void 0,publicKey:void 0},s=await this.client.core.crypto.decode(t,n,{receiverPublicKey:i});try{wy(s)?(this.client.core.history.set(t,s),this.onRelayEventRequest({topic:t,payload:s})):Bm(s)?(await this.client.core.history.resolve(s),await this.onRelayEventResponse({topic:t,payload:s}),this.client.core.history.delete(t,s.id)):this.onRelayEventUnknownPayload({topic:t,payload:s})}catch(o){this.client.logger.error(o)}})}registerExpirerEvents(){this.client.core.expirer.on(lu.expired,async e=>{const{topic:t,id:n}=Ide(e.target);if(n&&this.client.pendingRequest.keys.includes(n))return await this.deletePendingSessionRequest(n,Bt("EXPIRED"),!0);t?this.client.session.keys.includes(t)&&(await this.deleteSession({topic:t,expirerHasDeleted:!0}),this.client.events.emit("session_expire",{topic:t})):n&&(await this.deleteProposal(n,!0),this.client.events.emit("proposal_expire",{id:n}))})}registerPairingEvents(){this.client.core.pairing.events.on(u3.create,e=>this.onPairingCreated(e)),this.client.core.pairing.events.on(u3.delete,e=>{this.addToRecentlyDeleted(e.topic,"pairing")})}isValidPairingTopic(e){if(!Cs(e,!1)){const{message:t}=Bt("MISSING_OR_INVALID",`pairing topic should be a string: ${e}`);throw new Error(t)}if(!this.client.core.pairing.pairings.keys.includes(e)){const{message:t}=Bt("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw new Error(t)}if(C1(this.client.core.pairing.pairings.get(e).expiry)){const{message:t}=Bt("EXPIRED",`pairing topic: ${e}`);throw new Error(t)}}async isValidSessionTopic(e){if(!Cs(e,!1)){const{message:t}=Bt("MISSING_OR_INVALID",`session topic should be a string: ${e}`);throw new Error(t)}if(this.checkRecentlyDeleted(e),!this.client.session.keys.includes(e)){const{message:t}=Bt("NO_MATCHING_KEY",`session topic doesn't exist: ${e}`);throw new Error(t)}if(C1(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});const{message:t}=Bt("EXPIRED",`session topic: ${e}`);throw new Error(t)}if(!this.client.core.crypto.keychain.has(e)){const{message:t}=Bt("MISSING_OR_INVALID",`session topic does not exist in keychain: ${e}`);throw await this.deleteSession({topic:e}),new 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(Cs(e,!1)){const{message:t}=Bt("NO_MATCHING_KEY",`session or pairing topic doesn't exist: ${e}`);throw new Error(t)}else{const{message:t}=Bt("MISSING_OR_INVALID",`session or pairing topic should be a string: ${e}`);throw new Error(t)}}async isValidProposalId(e){if(!NQe(e)){const{message:t}=Bt("MISSING_OR_INVALID",`proposal id should be a number: ${e}`);throw new Error(t)}if(!this.client.proposal.keys.includes(e)){const{message:t}=Bt("NO_MATCHING_KEY",`proposal id doesn't exist: ${e}`);throw new Error(t)}if(C1(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);const{message:t}=Bt("EXPIRED",`proposal id: ${e}`);throw new Error(t)}}},Ytt=class extends p2{constructor(e,t){super(e,t,Dtt,cF),this.core=e,this.logger=t}},Qtt=class extends p2{constructor(e,t){super(e,t,$tt,cF),this.core=e,this.logger=t}};class Xtt extends p2{constructor(e,t){super(e,t,Ltt,cF,n=>n.id),this.core=e,this.logger=t}}class ert extends p2{constructor(e,t){super(e,t,ztt,bR,()=>wR),this.core=e,this.logger=t}}class trt extends p2{constructor(e,t){super(e,t,Htt,bR),this.core=e,this.logger=t}}class rrt extends p2{constructor(e,t){super(e,t,qtt,bR,n=>n.id),this.core=e,this.logger=t}}class nrt{constructor(e,t){this.core=e,this.logger=t,this.authKeys=new ert(this.core,this.logger),this.pairingTopics=new trt(this.core,this.logger),this.requests=new rrt(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}let irt=class Bge extends iXe{constructor(e){super(e),this.protocol=Ope,this.version=Dpe,this.name=lF.name,this.events=new fi.EventEmitter,this.on=(n,i)=>this.events.on(n,i),this.once=(n,i)=>this.events.once(n,i),this.off=(n,i)=>this.events.off(n,i),this.removeListener=(n,i)=>this.events.removeListener(n,i),this.removeAllListeners=n=>this.events.removeAllListeners(n),this.connect=async n=>{try{return await this.engine.connect(n)}catch(i){throw this.logger.error(i.message),i}},this.pair=async n=>{try{return await this.engine.pair(n)}catch(i){throw this.logger.error(i.message),i}},this.approve=async n=>{try{return await this.engine.approve(n)}catch(i){throw this.logger.error(i.message),i}},this.reject=async n=>{try{return await this.engine.reject(n)}catch(i){throw this.logger.error(i.message),i}},this.update=async n=>{try{return await this.engine.update(n)}catch(i){throw this.logger.error(i.message),i}},this.extend=async n=>{try{return await this.engine.extend(n)}catch(i){throw this.logger.error(i.message),i}},this.request=async n=>{try{return await this.engine.request(n)}catch(i){throw this.logger.error(i.message),i}},this.respond=async n=>{try{return await this.engine.respond(n)}catch(i){throw this.logger.error(i.message),i}},this.ping=async n=>{try{return await this.engine.ping(n)}catch(i){throw this.logger.error(i.message),i}},this.emit=async n=>{try{return await this.engine.emit(n)}catch(i){throw this.logger.error(i.message),i}},this.disconnect=async n=>{try{return await this.engine.disconnect(n)}catch(i){throw this.logger.error(i.message),i}},this.find=n=>{try{return this.engine.find(n)}catch(i){throw this.logger.error(i.message),i}},this.getPendingSessionRequests=()=>{try{return this.engine.getPendingSessionRequests()}catch(n){throw this.logger.error(n.message),n}},this.authenticate=async n=>{try{return await this.engine.authenticate(n)}catch(i){throw this.logger.error(i.message),i}},this.formatAuthMessage=n=>{try{return this.engine.formatAuthMessage(n)}catch(i){throw this.logger.error(i.message),i}},this.approveSessionAuthenticate=async n=>{try{return await this.engine.approveSessionAuthenticate(n)}catch(i){throw this.logger.error(i.message),i}},this.rejectSessionAuthenticate=async n=>{try{return await this.engine.rejectSessionAuthenticate(n)}catch(i){throw this.logger.error(i.message),i}},this.name=(e==null?void 0:e.name)||lF.name,this.metadata=(e==null?void 0:e.metadata)||qKe();const t=typeof(e==null?void 0:e.logger)<"u"&&typeof(e==null?void 0:e.logger)!="string"?e.logger:Hd(p1({level:(e==null?void 0:e.logger)||lF.logger}));this.core=(e==null?void 0:e.core)||new Ott(e),this.logger=pi(t,this.name),this.session=new Qtt(this.core,this.logger),this.proposal=new Ytt(this.core,this.logger),this.pendingRequest=new Xtt(this.core,this.logger),this.engine=new Jtt(this),this.auth=new nrt(this.core,this.logger)}static async init(e){const t=new Bge(e);return await t.initialize(),t}get context(){return yi(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace("Initialized");try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.engine.init(),await this.auth.init(),this.core.verify.init({verifyUrl:this.metadata.verifyUrl}),this.logger.info("SignClient Initialization Success")}catch(e){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(e.message),e}}};const jpe="error",srt="wss://relay.walletconnect.com",ort="wc",art="universal_provider",zpe=`${ort}@2:${art}:`,crt="https://rpc.walletconnect.com/v1/",u0={DEFAULT_CHAIN_CHANGED:"default_chain_changed"};var gx=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof dr<"u"?dr:typeof self<"u"?self:{},hF={exports:{}};/** + Approved: ${g.toString()}`))}),o.forEach(p=>{n||(a2(i[p].methods,s[p].methods)?a2(i[p].events,s[p].events)||(n=Bt("NON_CONFORMING_NAMESPACES",`${t} namespaces events don't satisfy namespace events for ${p}`)):n=Bt("NON_CONFORMING_NAMESPACES",`${t} namespaces methods don't satisfy namespace methods for ${p}`))}),n}function IQe(r){const e={};return Object.keys(r).forEach(t=>{var n;t.includes(":")?e[t]=r[t]:(n=r[t].chains)==null||n.forEach(i=>{e[i]={methods:r[t].methods,events:r[t].events}})}),e}function K0e(r){return[...new Set(r.map(e=>e.includes(":")?e.split(":")[0]:e))]}function TQe(r){const e={};return Object.keys(r).forEach(t=>{if(t.includes(":"))e[t]=r[t];else{const n=a3(r[t].accounts);n==null||n.forEach(i=>{e[i]={accounts:r[t].accounts.filter(s=>s.includes(`${i}:`)),methods:r[t].methods,events:r[t].events}})}}),e}function RQe(r,e){return WU(r,!1)&&r<=e.max&&r>=e.min}function Z0e(){const r=Z8();return new Promise(e=>{switch(r){case Xc.browser:e(kQe());break;case Xc.reactNative:e(MQe());break;case Xc.node:e(NQe());break;default:e(!0)}})}function kQe(){return Yy()&&(navigator==null?void 0:navigator.onLine)}async function MQe(){if(Jy()&&typeof dr<"u"&&dr!=null&&dr.NetInfo){const r=await(dr==null?void 0:dr.NetInfo.fetch());return r==null?void 0:r.isConnected}return!0}function NQe(){return!0}function PQe(r){switch(Z8()){case Xc.browser:OQe(r);break;case Xc.reactNative:DQe(r);break}}function OQe(r){!Jy()&&Yy()&&(window.addEventListener("online",()=>r(!0)),window.addEventListener("offline",()=>r(!1)))}function DQe(r){Jy()&&typeof dr<"u"&&dr!=null&&dr.NetInfo&&(dr==null||dr.NetInfo.addEventListener(e=>r(e==null?void 0:e.isConnected)))}const GU={};class ux{static get(e){return GU[e]}static set(e,t){GU[e]=t}static delete(e){delete GU[e]}}let $Qe=class extends Kc{constructor(e){super(),this.opts=e,this.protocol="wc",this.version=2}},BQe=class extends Kc{constructor(e,t){super(),this.core=e,this.logger=t,this.records=new Map}},LQe=class{constructor(e,t){this.logger=e,this.core=t}},UQe=class extends Kc{constructor(e,t){super(),this.relayer=e,this.logger=t}},FQe=class extends Kc{constructor(e){super()}},jQe=class{constructor(e,t,n,i){this.core=e,this.logger=t,this.name=n}},zQe=class extends Kc{constructor(e,t){super(),this.relayer=e,this.logger=t}},HQe=class extends Kc{constructor(e,t){super(),this.core=e,this.logger=t}},qQe=class{constructor(e,t){this.projectId=e,this.logger=t}},WQe=class{constructor(e,t){this.projectId=e,this.logger=t}},VQe=class{constructor(e){this.opts=e,this.protocol="wc",this.version=2}},GQe=class{constructor(e){this.client=e}};function KQe(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n>>0,B=new Uint8Array(O);k!==N;){for(var z=y[k],G=0,$=O-1;(z!==0||G>>0,B[$]=z%a>>>0,z=z/a>>>0;if(z!==0)throw new Error("Non-zero carry");T=G,k++}for(var D=O-T;D!==O&&B[D]===0;)D++;for(var V=l.repeat(C);D>>0,O=new Uint8Array(N);y[C];){var B=t[y.charCodeAt(C)];if(B===255)return;for(var z=0,G=N-1;(B!==0||z>>0,O[G]=B%256>>>0,B=B/256>>>0;if(B!==0)throw new Error("Non-zero carry");k=z,C++}if(y[C]!==" "){for(var $=N-k;$!==N&&O[$]===0;)$++;for(var D=new Uint8Array(T+(N-$)),V=T;$!==N;)D[V++]=O[$++];return D}}}function w(y){var C=g(y);if(C)return C;throw new Error(`Non-${e} character`)}return{encode:p,decodeUnsafe:g,decode:w}}var ZQe=KQe,JQe=ZQe;const J0e=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")},YQe=r=>new TextEncoder().encode(r),QQe=r=>new TextDecoder().decode(r);let XQe=class{constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},eXe=class{constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){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))}else throw Error("Can only multibase decode strings")}or(e){return Y0e(this,e)}},tXe=class{constructor(e){this.decoders=e}or(e){return Y0e(this,e)}decode(e){const t=e[0],n=this.decoders[t];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};const Y0e=(r,e)=>new tXe({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});let rXe=class{constructor(e,t,n,i){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=i,this.encoder=new XQe(e,t,n),this.decoder=new eXe(e,t,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};const xT=({name:r,prefix:e,encode:t,decode:n})=>new rXe(r,e,t,n),hx=({prefix:r,name:e,alphabet:t})=>{const{encode:n,decode:i}=JQe(t,e);return xT({prefix:r,name:e,encode:n,decode:s=>J0e(i(s))})},nXe=(r,e,t,n)=>{const i={};for(let h=0;h=8&&(a-=8,o[u++]=255&l>>a)}if(a>=t||255&l<<8-a)throw new SyntaxError("Unexpected end of data");return o},iXe=(r,e,t)=>{const n=e[e.length-1]==="=",i=(1<t;)o-=t,s+=e[i&a>>o];if(o&&(s+=e[i&a<xT({prefix:e,name:r,encode(i){return iXe(i,n,t)},decode(i){return nXe(i,n,t,r)}}),sXe=xT({prefix:"\0",name:"identity",encode:r=>QQe(r),decode:r=>YQe(r)});var oXe=Object.freeze({__proto__:null,identity:sXe});const aXe=Go({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var cXe=Object.freeze({__proto__:null,base2:aXe});const lXe=Go({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var uXe=Object.freeze({__proto__:null,base8:lXe});const hXe=hx({prefix:"9",name:"base10",alphabet:"0123456789"});var fXe=Object.freeze({__proto__:null,base10:hXe});const dXe=Go({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),pXe=Go({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var gXe=Object.freeze({__proto__:null,base16:dXe,base16upper:pXe});const mXe=Go({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),bXe=Go({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),wXe=Go({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),vXe=Go({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),yXe=Go({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),xXe=Go({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),_Xe=Go({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),EXe=Go({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),AXe=Go({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var CXe=Object.freeze({__proto__:null,base32:mXe,base32upper:bXe,base32pad:wXe,base32padupper:vXe,base32hex:yXe,base32hexupper:xXe,base32hexpad:_Xe,base32hexpadupper:EXe,base32z:AXe});const SXe=hx({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),IXe=hx({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var TXe=Object.freeze({__proto__:null,base36:SXe,base36upper:IXe});const RXe=hx({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),kXe=hx({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var MXe=Object.freeze({__proto__:null,base58btc:RXe,base58flickr:kXe});const NXe=Go({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),PXe=Go({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),OXe=Go({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),DXe=Go({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var $Xe=Object.freeze({__proto__:null,base64:NXe,base64pad:PXe,base64url:OXe,base64urlpad:DXe});const Q0e=Array.from("🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂"),BXe=Q0e.reduce((r,e,t)=>(r[t]=e,r),[]),LXe=Q0e.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function UXe(r){return r.reduce((e,t)=>(e+=BXe[t],e),"")}function FXe(r){const e=[];for(const t of r){const n=LXe[t.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(n)}return new Uint8Array(e)}const jXe=xT({prefix:"🚀",name:"base256emoji",encode:UXe,decode:FXe});var zXe=Object.freeze({__proto__:null,base256emoji:jXe}),HXe=epe,X0e=128,qXe=127,WXe=~qXe,VXe=Math.pow(2,31);function epe(r,e,t){e=e||[],t=t||0;for(var n=t;r>=VXe;)e[t++]=r&255|X0e,r/=128;for(;r&WXe;)e[t++]=r&255|X0e,r>>>=7;return e[t]=r|0,epe.bytes=t-n+1,e}var GXe=KU,KXe=128,tpe=127;function KU(r,n){var t=0,n=n||0,i=0,s=n,o,a=r.length;do{if(s>=a)throw KU.bytes=0,new RangeError("Could not decode varint");o=r[s++],t+=i<28?(o&tpe)<=KXe);return KU.bytes=s-n,t}var ZXe=Math.pow(2,7),JXe=Math.pow(2,14),YXe=Math.pow(2,21),QXe=Math.pow(2,28),XXe=Math.pow(2,35),eet=Math.pow(2,42),tet=Math.pow(2,49),ret=Math.pow(2,56),net=Math.pow(2,63),iet=function(r){return r(rpe.encode(r,e,t),e),ipe=r=>rpe.encodingLength(r),ZU=(r,e)=>{const t=e.byteLength,n=ipe(r),i=n+ipe(t),s=new Uint8Array(i+t);return npe(r,s,0),npe(t,s,n),s.set(e,i),new oet(r,t,e,s)};let oet=class{constructor(e,t,n,i){this.code=e,this.size=t,this.digest=n,this.bytes=i}};const spe=({name:r,code:e,encode:t})=>new aet(r,e,t);let aet=class{constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?ZU(this.code,t):t.then(n=>ZU(this.code,n))}else throw Error("Unknown type, must be binary type")}};const ope=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),cet=spe({name:"sha2-256",code:18,encode:ope("SHA-256")}),uet=spe({name:"sha2-512",code:19,encode:ope("SHA-512")});var het=Object.freeze({__proto__:null,sha256:cet,sha512:uet});const ape=0,fet="identity",cpe=J0e;var det=Object.freeze({__proto__:null,identity:{code:ape,name:fet,encode:cpe,digest:r=>ZU(ape,cpe(r))}});new TextEncoder,new TextDecoder;const lpe={...oXe,...cXe,...uXe,...fXe,...gXe,...CXe,...TXe,...MXe,...$Xe,...zXe};({...het,...det});function upe(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function pet(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?upe(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function hpe(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}const fpe=hpe("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),JU=hpe("ascii","a",r=>{let e="a";for(let t=0;t{r=r.substring(1);const e=pet(r.length);for(let t=0;t{if(!this.initialized){const n=await this.getKeyChain();typeof n<"u"&&(this.keychain=n),this.initialized=!0}},this.has=n=>(this.isInitialized(),this.keychain.has(n)),this.set=async(n,i)=>{this.isInitialized(),this.keychain.set(n,i),await this.persist()},this.get=n=>{this.isInitialized();const i=this.keychain.get(n);if(typeof i>"u"){const{message:s}=Bt("NO_MATCHING_KEY",`${this.name}: ${n}`);throw new Error(s)}return i},this.del=async n=>{this.isInitialized(),this.keychain.delete(n),await this.persist()},this.core=e,this.logger=gi(t,this.name)}get context(){return xi(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,wde(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?vde(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=Bt("NOT_INITIALIZED",this.name);throw new Error(e)}}},Jet=class{constructor(e,t,n){this.core=e,this.logger=t,this.name=yet,this.initialized=!1,this.init=async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)},this.hasKeys=i=>(this.isInitialized(),this.keychain.has(i)),this.getClientId=async()=>{this.isInitialized();const i=await this.getClientSeed(),s=SS(i);return lB(s.publicKey)},this.generateKeyPair=()=>{this.isInitialized();const i=BYe();return this.setPrivateKey(i.publicKey,i.privateKey)},this.signJWT=async i=>{this.isInitialized();const s=await this.getClientSeed(),o=SS(s),a=zU();return await Bae(a,i,xet,o)},this.generateSharedKey=(i,s,o)=>{this.isInitialized();const a=this.getPrivateKey(i),l=LYe(a,s);return this.setSymKey(l,o)},this.setSymKey=async(i,s)=>{this.isInitialized();const o=s||bT(i);return await this.keychain.set(o,i),o},this.deleteKeyPair=async i=>{this.isInitialized(),await this.keychain.del(i)},this.deleteSymKey=async i=>{this.isInitialized(),await this.keychain.del(i)},this.encode=async(i,s,o)=>{this.isInitialized();const a=$0e(o),l=gf(s);if(B0e(a)){const g=a.senderPublicKey,w=a.receiverPublicKey;i=await this.generateSharedKey(g,w)}const u=this.getSymKey(i),{type:h,senderPublicKey:p}=a;return FYe({type:h,symKey:u,message:l,senderPublicKey:p})},this.decode=async(i,s,o)=>{this.isInitialized();const a=HYe(s,o);if(B0e(a)){const l=a.receiverPublicKey,u=a.senderPublicKey;i=await this.generateSharedKey(l,u)}try{const l=this.getSymKey(i),u=jYe({symKey:l,encoded:s});return hy(u)}catch(l){this.logger.error(`Failed to decode message from topic: '${i}', clientId: '${await this.getClientId()}'`),this.logger.error(l)}},this.getPayloadType=i=>{const s=wT(i);return ax(s.type)},this.getPayloadSenderPublicKey=i=>{const s=wT(i);return s.senderPublicKey?yi(s.senderPublicKey,Ha):void 0},this.core=e,this.logger=gi(t,this.name),this.keychain=n||new Zet(this.core,this.logger)}get context(){return xi(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(ppe)}catch{e=zU(),await this.keychain.set(ppe,e)}return met(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=Bt("NOT_INITIALIZED",this.name);throw new Error(e)}}},Yet=class extends LQe{constructor(e,t){super(e,t),this.logger=e,this.core=t,this.messages=new Map,this.name=Aet,this.version=Cet,this.initialized=!1,this.storagePrefix=T1,this.init=async()=>{if(!this.initialized){this.logger.trace("Initialized");try{const n=await this.getRelayerMessages();typeof n<"u"&&(this.messages=n),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",size:this.messages.size})}catch(n){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(n)}finally{this.initialized=!0}}},this.set=async(n,i)=>{this.isInitialized();const s=f2(i);let o=this.messages.get(n);return typeof o>"u"&&(o={}),typeof o[s]<"u"||(o[s]=i,this.messages.set(n,o),await this.persist()),s},this.get=n=>{this.isInitialized();let i=this.messages.get(n);return typeof i>"u"&&(i={}),i},this.has=(n,i)=>{this.isInitialized();const s=this.get(n),o=f2(i);return typeof s[o]<"u"},this.del=async n=>{this.isInitialized(),this.messages.delete(n),await this.persist()},this.logger=gi(e,this.name),this.core=t}get context(){return xi(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,wde(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?vde(e):void 0}async persist(){await this.setRelayerMessages(this.messages)}isInitialized(){if(!this.initialized){const{message:e}=Bt("NOT_INITIALIZED",this.name);throw new Error(e)}}};class Qet extends UQe{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.events=new pn.EventEmitter,this.name=Tet,this.queue=new Map,this.publishTimeout=Ye.toMiliseconds(Ye.ONE_MINUTE),this.failedPublishTimeout=Ye.toMiliseconds(Ye.ONE_SECOND),this.needsTransportRestart=!1,this.publish=async(n,i,s)=>{var o;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:n,message:i,opts:s}});const a=(s==null?void 0:s.ttl)||Iet,l=HU(s),u=(s==null?void 0:s.prompt)||!1,h=(s==null?void 0:s.tag)||0,p=(s==null?void 0:s.id)||f1().toString(),g={topic:n,message:i,opts:{ttl:a,relay:l,prompt:u,tag:h,id:p}},w=`Failed to publish payload, please try again. id:${p} tag:${h}`,y=Date.now();let C,T=1;try{for(;C===void 0;){if(Date.now()-y>this.publishTimeout)throw new Error(w);this.logger.trace({id:p,attempts:T},`publisher.publish - attempt ${T}`),C=await await J8(this.rpcPublish(n,i,a,l,u,h,p).catch(k=>this.logger.warn(k)),this.publishTimeout,w),T++,C||await new Promise(k=>setTimeout(k,this.failedPublishTimeout))}this.relayer.events.emit(rl.publish,g),this.logger.debug("Successfully Published Payload"),this.logger.trace({type:"method",method:"publish",params:{id:p,topic:n,message:i,opts:s}})}catch(k){if(this.logger.debug("Failed to Publish Payload"),this.logger.error(k),(o=s==null?void 0:s.internal)!=null&&o.throwOnFailedPublish)throw k;this.queue.set(p,g)}},this.on=(n,i)=>{this.events.on(n,i)},this.once=(n,i)=>{this.events.once(n,i)},this.off=(n,i)=>{this.events.off(n,i)},this.removeListener=(n,i)=>{this.events.removeListener(n,i)},this.relayer=e,this.logger=gi(t,this.name),this.registerEventListeners()}get context(){return xi(this.logger)}rpcPublish(e,t,n,i,s,o,a){var l,u,h,p;const g={method:vT(i.protocol).publish,params:{topic:e,message:t,ttl:n,prompt:s,tag:o},id:a};return qa((l=g.params)==null?void 0:l.prompt)&&((u=g.params)==null||delete u.prompt),qa((h=g.params)==null?void 0:h.tag)&&((p=g.params)==null||delete p.tag),this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:g}),this.relayer.request(g)}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async e=>{const{topic:t,message:n,opts:i}=e;await this.publish(t,n,i)})}registerEventListeners(){this.relayer.core.heartbeat.on(Yu.HEARTBEAT_EVENTS.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(rl.connection_stalled);return}this.checkQueue()}),this.relayer.on(rl.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}class Xet{constructor(){this.map=new Map,this.set=(e,t)=>{const n=this.get(e);this.exists(e,t)||this.map.set(e,[...n,t])},this.get=e=>this.map.get(e)||[],this.exists=(e,t)=>this.get(e).includes(t),this.delete=(e,t)=>{if(typeof t>"u"){this.map.delete(e);return}if(!this.map.has(e))return;const n=this.get(e);if(!this.exists(e,t))return;const i=n.filter(s=>s!==t);if(!i.length){this.map.delete(e);return}this.map.set(e,i)},this.clear=()=>{this.map.clear()}}get topics(){return Array.from(this.map.keys())}}var ett=Object.defineProperty,ttt=Object.defineProperties,rtt=Object.getOwnPropertyDescriptors,wpe=Object.getOwnPropertySymbols,ntt=Object.prototype.hasOwnProperty,itt=Object.prototype.propertyIsEnumerable,vpe=(r,e,t)=>e in r?ett(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,dx=(r,e)=>{for(var t in e||(e={}))ntt.call(e,t)&&vpe(r,t,e[t]);if(wpe)for(var t of wpe(e))itt.call(e,t)&&vpe(r,t,e[t]);return r},eF=(r,e)=>ttt(r,rtt(e));let stt=class extends zQe{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.subscriptions=new Map,this.topicMap=new Xet,this.events=new pn.EventEmitter,this.name=Bet,this.version=Let,this.pending=new Map,this.cached=[],this.initialized=!1,this.pendingSubscriptionWatchLabel="pending_sub_watch_label",this.pollingInterval=20,this.storagePrefix=T1,this.subscribeTimeout=Ye.toMiliseconds(Ye.ONE_MINUTE),this.restartInProgress=!1,this.batchSubscribeTopicsLimit=500,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),this.registerEventListeners(),this.clientId=await this.relayer.core.crypto.getClientId())},this.subscribe=async(n,i)=>{await this.restartToComplete(),this.isInitialized(),this.logger.debug("Subscribing Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:n,opts:i}});try{const s=HU(i),o={topic:n,relay:s};this.pending.set(n,o);const a=await this.rpcSubscribe(n,s);return typeof a=="string"&&(this.onSubscribe(a,o),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:n,opts:i}})),a}catch(s){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(s),s}},this.unsubscribe=async(n,i)=>{await this.restartToComplete(),this.isInitialized(),typeof(i==null?void 0:i.id)<"u"?await this.unsubscribeById(n,i.id,i):await this.unsubscribeByTopic(n,i)},this.isSubscribed=async n=>{if(this.topics.includes(n))return!0;const i=`${this.pendingSubscriptionWatchLabel}_${n}`;return await new Promise((s,o)=>{const a=new Ye.Watch;a.start(i);const l=setInterval(()=>{!this.pending.has(n)&&this.topics.includes(n)&&(clearInterval(l),a.stop(i),s(!0)),a.elapsed(i)>=Uet&&(clearInterval(l),a.stop(i),o(new Error("Subscription resolution timeout")))},this.pollingInterval)}).catch(()=>!1)},this.on=(n,i)=>{this.events.on(n,i)},this.once=(n,i)=>{this.events.once(n,i)},this.off=(n,i)=>{this.events.off(n,i)},this.removeListener=(n,i)=>{this.events.removeListener(n,i)},this.start=async()=>{await this.onConnect()},this.stop=async()=>{await this.onDisconnect()},this.restart=async()=>{this.restartInProgress=!0,await this.restore(),await this.reset(),this.restartInProgress=!1},this.relayer=e,this.logger=gi(t,this.name),this.clientId=""}get context(){return xi(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.relayer.core.customStoragePrefix+"//"+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}hasSubscription(e,t){let n=!1;try{n=this.getSubscription(e).topic===t}catch{}return n}onEnable(){this.cached=[],this.initialized=!0}onDisable(){this.cached=this.values,this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){const n=this.topicMap.get(e);await Promise.all(n.map(async i=>await this.unsubscribeById(e,i,t)))}async unsubscribeById(e,t,n){this.logger.debug("Unsubscribing Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:n}});try{const i=HU(n);await this.rpcUnsubscribe(e,t,i);const s=ni("USER_DISCONNECTED",`${this.name}, ${e}`);await this.onUnsubscribe(e,t,s),this.logger.debug("Successfully Unsubscribed Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:n}})}catch(i){throw this.logger.debug("Failed to Unsubscribe Topic"),this.logger.error(i),i}}async rpcSubscribe(e,t){const n={method:vT(t.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:n});try{return await await J8(this.relayer.request(n).catch(i=>this.logger.warn(i)),this.subscribeTimeout)?f2(e+this.clientId):null}catch{this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(rl.connection_stalled)}return null}async rpcBatchSubscribe(e){if(!e.length)return;const t=e[0].relay,n={method:vT(t.protocol).batchSubscribe,params:{topics:e.map(i=>i.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:n});try{return await await J8(this.relayer.request(n).catch(i=>this.logger.warn(i)),this.subscribeTimeout)}catch{this.relayer.events.emit(rl.connection_stalled)}}rpcUnsubscribe(e,t,n){const i={method:vT(n.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i}),this.relayer.request(i)}onSubscribe(e,t){this.setSubscription(e,eF(dx({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(t=>{this.setSubscription(t.id,dx({},t)),this.pending.delete(t.topic)})}async onUnsubscribe(e,t,n){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,n),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,dx({},t)),this.topicMap.set(t.topic,e),this.events.emit(Uf.created,t)}getSubscription(e){this.logger.debug("Getting subscription"),this.logger.trace({type:"method",method:"getSubscription",id:e});const t=this.subscriptions.get(e);if(!t){const{message:n}=Bt("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(n)}return t}deleteSubscription(e,t){this.logger.debug("Deleting subscription"),this.logger.trace({type:"method",method:"deleteSubscription",id:e,reason:t});const n=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(n.topic,e),this.events.emit(Uf.deleted,eF(dx({},n),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(Uf.sync)}async reset(){if(this.cached.length){const e=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let t=0;t"u"||!e.length)return;if(this.subscriptions.size){const{message:t}=Bt("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(t)}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){if(!e.length)return;const t=await this.rpcBatchSubscribe(e);Lf(t)&&this.onBatchSubscribe(t.map((n,i)=>eF(dx({},e[i]),{id:n})))}async onConnect(){await this.restart(),this.onEnable()}onDisconnect(){this.onDisable()}async checkPending(){if(!this.initialized||!this.relayer.connected)return;const e=[];this.pending.forEach(t=>{e.push(t)}),await this.batchSubscribe(e)}registerEventListeners(){this.relayer.core.heartbeat.on(Yu.HEARTBEAT_EVENTS.pulse,async()=>{await this.checkPending()}),this.events.on(Uf.created,async e=>{const t=Uf.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()}),this.events.on(Uf.deleted,async e=>{const t=Uf.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=Bt("NOT_INITIALIZED",this.name);throw new Error(e)}}async restartToComplete(){this.restartInProgress&&await new Promise(e=>{const t=setInterval(()=>{this.restartInProgress||(clearInterval(t),e())},this.pollingInterval)})}};var ott=Object.defineProperty,ype=Object.getOwnPropertySymbols,att=Object.prototype.hasOwnProperty,ctt=Object.prototype.propertyIsEnumerable,xpe=(r,e,t)=>e in r?ott(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ltt=(r,e)=>{for(var t in e||(e={}))att.call(e,t)&&xpe(r,t,e[t]);if(ype)for(var t of ype(e))ctt.call(e,t)&&xpe(r,t,e[t]);return r};let utt=class extends FQe{constructor(e){super(e),this.protocol="wc",this.version=2,this.events=new pn.EventEmitter,this.name=ket,this.transportExplicitlyClosed=!1,this.initialized=!1,this.connectionAttemptInProgress=!1,this.connectionStatusPollingInterval=20,this.staleConnectionErrors=["socket hang up","socket stalled","interrupted"],this.hasExperiencedNetworkDisruption=!1,this.requestsInFlight=new Map,this.heartBeatTimeout=Ye.toMiliseconds(Ye.THIRTY_SECONDS+Ye.ONE_SECOND),this.request=async t=>{var n,i;this.logger.debug("Publishing Request Payload");const s=t.id||f1().toString();await this.toEstablishConnection();try{const o=this.provider.request(t);this.requestsInFlight.set(s,{promise:o,request:t}),this.logger.trace({id:s,method:t.method,topic:(n=t.params)==null?void 0:n.topic},"relayer.request - attempt to publish...");const a=await new Promise(async(l,u)=>{const h=()=>{u(new Error(`relayer.request - publish interrupted, id: ${s}`))};this.provider.on(uu.disconnect,h);const p=await o;this.provider.off(uu.disconnect,h),l(p)});return this.logger.trace({id:s,method:t.method,topic:(i=t.params)==null?void 0:i.topic},"relayer.request - published"),a}catch(o){throw this.logger.debug(`Failed to Publish Request: ${s}`),o}finally{this.requestsInFlight.delete(s)}},this.resetPingTimeout=()=>{if(K8())try{clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var t,n,i;(i=(n=(t=this.provider)==null?void 0:t.connection)==null?void 0:n.socket)==null||i.terminate()},this.heartBeatTimeout)}catch(t){this.logger.warn(t)}},this.onPayloadHandler=t=>{this.onProviderPayload(t),this.resetPingTimeout()},this.onConnectHandler=()=>{this.startPingTimeout(),this.events.emit(rl.connect)},this.onDisconnectHandler=()=>{this.onProviderDisconnect()},this.onProviderErrorHandler=t=>{this.logger.error(t),this.events.emit(rl.error,t),this.logger.info("Fatal socket error received, closing transport"),this.transportClose()},this.registerProviderListeners=()=>{this.provider.on(uu.payload,this.onPayloadHandler),this.provider.on(uu.connect,this.onConnectHandler),this.provider.on(uu.disconnect,this.onDisconnectHandler),this.provider.on(uu.error,this.onProviderErrorHandler)},this.core=e.core,this.logger=typeof e.logger<"u"&&typeof e.logger!="string"?gi(e.logger,this.name):mc(h1({level:e.logger||Ret})),this.messages=new Yet(this.logger,e.core),this.subscriber=new stt(this,this.logger),this.publisher=new Qet(this,this.logger),this.relayUrl=(e==null?void 0:e.relayUrl)||mpe,this.projectId=e.projectId,this.bundleId=IKe(),this.provider={}}async init(){this.logger.trace("Initialized"),this.registerEventListeners(),await this.createProvider(),await Promise.all([this.messages.init(),this.subscriber.init()]);try{await this.transportOpen()}catch{this.logger.warn(`Connection via ${this.relayUrl} failed, attempting to connect via failover domain ${bpe}...`),await this.restartTransport(bpe)}this.initialized=!0,setTimeout(async()=>{this.subscriber.topics.length===0&&this.subscriber.pending.size===0&&(this.logger.info("No topics subscribed to after init, closing transport"),await this.transportClose(),this.transportExplicitlyClosed=!1)},Oet)}get context(){return xi(this.logger)}get connected(){var e,t,n;return((n=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:n.readyState)===1}get connecting(){var e,t,n;return((n=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:n.readyState)===0}async publish(e,t,n){this.isInitialized(),await this.publisher.publish(e,t,n),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now()})}async subscribe(e,t){var n;this.isInitialized();let i=((n=this.subscriber.topicMap.get(e))==null?void 0:n[0])||"",s;const o=a=>{a.topic===e&&(this.subscriber.off(Uf.created,o),s())};return await Promise.all([new Promise(a=>{s=a,this.subscriber.on(Uf.created,o)}),new Promise(async a=>{i=await this.subscriber.subscribe(e,t)||i,a()})]),i}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(){if(!this.hasExperiencedNetworkDisruption&&this.connected&&this.requestsInFlight.size>0)try{await Promise.all(Array.from(this.requestsInFlight.values()).map(e=>e.promise))}catch(e){this.logger.warn(e)}this.hasExperiencedNetworkDisruption||this.connected?await J8(this.provider.disconnect(),2e3,"provider.disconnect()").catch(()=>this.onProviderDisconnect()):this.onProviderDisconnect()}async transportClose(){this.transportExplicitlyClosed=!0,await this.transportDisconnect()}async transportOpen(e){await this.confirmOnlineStateOrThrow(),e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportDisconnect(),await this.createProvider()),this.connectionAttemptInProgress=!0,this.transportExplicitlyClosed=!1;try{await new Promise(async(t,n)=>{const i=()=>{this.provider.off(uu.disconnect,i),n(new Error("Connection interrupted while trying to subscribe"))};this.provider.on(uu.disconnect,i),await J8(this.provider.connect(),Ye.toMiliseconds(Ye.ONE_MINUTE),`Socket stalled when trying to connect to ${this.relayUrl}`).catch(s=>{n(s)}),await this.subscriber.start(),this.hasExperiencedNetworkDisruption=!1,t()})}catch(t){this.logger.error(t);const n=t;if(!this.isConnectionStalled(n.message))throw t}finally{this.connectionAttemptInProgress=!1}}async restartTransport(e){this.connectionAttemptInProgress||(this.relayUrl=e||this.relayUrl,await this.confirmOnlineStateOrThrow(),await this.transportClose(),await this.createProvider(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await Z0e())throw new Error("No internet connection detected. Please restart your network and try again.")}startPingTimeout(){var e,t,n,i,s;if(K8())try{(t=(e=this.provider)==null?void 0:e.connection)!=null&&t.socket&&((s=(i=(n=this.provider)==null?void 0:n.connection)==null?void 0:i.socket)==null||s.once("ping",()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(o){this.logger.warn(o)}}isConnectionStalled(e){return this.staleConnectionErrors.some(t=>e.includes(t))}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new _o(new Yae(PKe({sdkVersion:Pet,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId}))),this.registerProviderListeners()}async recordMessageEvent(e){const{topic:t,message:n}=e;await this.messages.set(t,n)}async shouldIgnoreMessageEvent(e){const{topic:t,message:n}=e;if(!n||n.length===0)return this.logger.debug(`Ignoring invalid/empty message: ${n}`),!0;if(!await this.subscriber.isSubscribed(t))return this.logger.debug(`Ignoring message for non-subscribed topic ${t}`),!0;const i=this.messages.has(t,n);return i&&this.logger.debug(`Ignoring duplicate message: ${n}`),i}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),gy(e)){if(!e.method.endsWith(Met))return;const t=e.params,{topic:n,message:i,publishedAt:s}=t.data,o={topic:n,message:i,publishedAt:s};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(ltt({type:"event",event:t.id},o)),this.events.emit(t.id,o),await this.acknowledgePayload(e),await this.onMessageEvent(o)}else Bm(e)&&this.events.emit(rl.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(this.events.emit(rl.message,e),await this.recordMessageEvent(e))}async acknowledgePayload(e){const t=d1(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(uu.payload,this.onPayloadHandler),this.provider.off(uu.connect,this.onConnectHandler),this.provider.off(uu.disconnect,this.onDisconnectHandler),this.provider.off(uu.error,this.onProviderErrorHandler)}async registerEventListeners(){let e=await Z0e();PQe(async t=>{e!==t&&(e=t,t?await this.restartTransport().catch(n=>this.logger.error(n)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))})}async onProviderDisconnect(){await this.subscriber.stop(),this.events.emit(rl.disconnect),this.connectionAttemptInProgress=!1,!this.transportExplicitlyClosed&&setTimeout(async()=>{await this.transportOpen().catch(e=>this.logger.error(e))},Ye.toMiliseconds(Net))}isInitialized(){if(!this.initialized){const{message:e}=Bt("NOT_INITIALIZED",this.name);throw new Error(e)}}async toEstablishConnection(){await this.confirmOnlineStateOrThrow(),!this.connected&&(this.connectionAttemptInProgress&&await new Promise(e=>{const t=setInterval(()=>{this.connected&&(clearInterval(t),e())},this.connectionStatusPollingInterval)}),await this.transportOpen())}};var htt=Object.defineProperty,_pe=Object.getOwnPropertySymbols,ftt=Object.prototype.hasOwnProperty,dtt=Object.prototype.propertyIsEnumerable,Epe=(r,e,t)=>e in r?htt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ape=(r,e)=>{for(var t in e||(e={}))ftt.call(e,t)&&Epe(r,t,e[t]);if(_pe)for(var t of _pe(e))dtt.call(e,t)&&Epe(r,t,e[t]);return r};let d2=class extends jQe{constructor(e,t,n,i=T1,s=void 0){super(e,t,n,i),this.core=e,this.logger=t,this.name=n,this.map=new Map,this.version=Det,this.cached=[],this.initialized=!1,this.storagePrefix=T1,this.recentlyDeleted=[],this.recentlyDeletedLimit=200,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(o=>{this.getKey&&o!==null&&!qa(o)?this.map.set(this.getKey(o),o):uQe(o)?this.map.set(o.id,o):hQe(o)&&this.map.set(o.topic,o)}),this.cached=[],this.initialized=!0)},this.set=async(o,a)=>{this.isInitialized(),this.map.has(o)?await this.update(o,a):(this.logger.debug("Setting value"),this.logger.trace({type:"method",method:"set",key:o,value:a}),this.map.set(o,a),await this.persist())},this.get=o=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:o}),this.getData(o)),this.getAll=o=>(this.isInitialized(),o?this.values.filter(a=>Object.keys(o).every(l=>X6(a[l],o[l]))):this.values),this.update=async(o,a)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:o,update:a});const l=Ape(Ape({},this.getData(o)),a);this.map.set(o,l),await this.persist()},this.delete=async(o,a)=>{this.isInitialized(),this.map.has(o)&&(this.logger.debug("Deleting value"),this.logger.trace({type:"method",method:"delete",key:o,reason:a}),this.map.delete(o),this.addToRecentlyDeleted(o),await this.persist())},this.logger=gi(t,this.name),this.storagePrefix=i,this.getKey=s}get context(){return xi(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){const t=this.map.get(e);if(!t){if(this.recentlyDeleted.includes(e)){const{message:i}=Bt("MISSING_OR_INVALID",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}const{message:n}=Bt("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(n),new Error(n)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{const e=await this.getDataStore();if(typeof e>"u"||!e.length)return;if(this.map.size){const{message:t}=Bt("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}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){const{message:e}=Bt("NOT_INITIALIZED",this.name);throw new Error(e)}}},ptt=class{constructor(e,t){this.core=e,this.logger=t,this.name=Fet,this.version=jet,this.events=new pn,this.initialized=!1,this.storagePrefix=T1,this.ignoredPayloadTypes=[I1],this.registeredMethods=[],this.init=async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace("Initialized"))},this.register=({methods:n})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...n])]},this.create=async n=>{this.isInitialized();const i=zU(),s=await this.core.crypto.setSymKey(i),o=wa(Ye.FIVE_MINUTES),a={protocol:gpe},l={topic:s,expiry:o,relay:a,active:!1},u=eQe({protocol:this.core.protocol,version:this.core.version,topic:s,symKey:i,relay:a,expiryTimestamp:o,methods:n==null?void 0:n.methods});return await this.pairings.set(s,l),await this.core.relayer.subscribe(s),this.core.expirer.set(s,o),{topic:s,uri:u}},this.pair=async n=>{this.isInitialized(),this.isValidPair(n);const{topic:i,symKey:s,relay:o,expiryTimestamp:a,methods:l}=j0e(n.uri);let u;if(this.pairings.keys.includes(i)&&(u=this.pairings.get(i),u.active))throw new Error(`Pairing already exists: ${i}. Please try again with a new connection URI.`);const h=a||wa(Ye.FIVE_MINUTES),p={topic:i,relay:o,expiry:h,active:!1,methods:l};return await this.pairings.set(i,p),this.core.expirer.set(i,h),n.activatePairing&&await this.activate({topic:i}),this.events.emit(c3.create,p),this.core.crypto.keychain.has(i)||await this.core.crypto.setSymKey(s,i),await this.core.relayer.subscribe(i,{relay:o}),p},this.activate=async({topic:n})=>{this.isInitialized();const i=wa(Ye.THIRTY_DAYS);await this.pairings.update(n,{active:!0,expiry:i}),this.core.expirer.set(n,i)},this.ping=async n=>{this.isInitialized(),await this.isValidPing(n);const{topic:i}=n;if(this.pairings.keys.includes(i)){const s=await this.sendRequest(i,"wc_pairingPing",{}),{done:o,resolve:a,reject:l}=c2();this.events.once(hn("pairing_ping",s),({error:u})=>{u?l(u):a()}),await o()}},this.updateExpiry=async({topic:n,expiry:i})=>{this.isInitialized(),await this.pairings.update(n,{expiry:i})},this.updateMetadata=async({topic:n,metadata:i})=>{this.isInitialized(),await this.pairings.update(n,{peerMetadata:i})},this.getPairings=()=>(this.isInitialized(),this.pairings.values),this.disconnect=async n=>{this.isInitialized(),await this.isValidDisconnect(n);const{topic:i}=n;this.pairings.keys.includes(i)&&(await this.sendRequest(i,"wc_pairingDelete",ni("USER_DISCONNECTED")),await this.deletePairing(i))},this.sendRequest=async(n,i,s)=>{const o=Qu(i,s),a=await this.core.crypto.encode(n,o),l=fx[i].req;return this.core.history.set(n,o),this.core.relayer.publish(n,a,l),o.id},this.sendResult=async(n,i,s)=>{const o=d1(n,s),a=await this.core.crypto.encode(i,o),l=await this.core.history.get(i,n),u=fx[l.request.method].res;await this.core.relayer.publish(i,a,u),await this.core.history.resolve(o)},this.sendError=async(n,i,s)=>{const o=py(n,s),a=await this.core.crypto.encode(i,o),l=await this.core.history.get(i,n),u=fx[l.request.method]?fx[l.request.method].res:fx.unregistered_method.res;await this.core.relayer.publish(i,a,u),await this.core.history.resolve(o)},this.deletePairing=async(n,i)=>{await this.core.relayer.unsubscribe(n),await Promise.all([this.pairings.delete(n,ni("USER_DISCONNECTED")),this.core.crypto.deleteSymKey(n),i?Promise.resolve():this.core.expirer.del(n)])},this.cleanup=async()=>{const n=this.pairings.getAll().filter(i=>E1(i.expiry));await Promise.all(n.map(i=>this.deletePairing(i.topic)))},this.onRelayEventRequest=n=>{const{topic:i,payload:s}=n;switch(s.method){case"wc_pairingPing":return this.onPairingPingRequest(i,s);case"wc_pairingDelete":return this.onPairingDeleteRequest(i,s);default:return this.onUnknownRpcMethodRequest(i,s)}},this.onRelayEventResponse=async n=>{const{topic:i,payload:s}=n,o=(await this.core.history.get(i,s.id)).request.method;switch(o){case"wc_pairingPing":return this.onPairingPingResponse(i,s);default:return this.onUnknownRpcMethodResponse(o)}},this.onPairingPingRequest=async(n,i)=>{const{id:s}=i;try{this.isValidPing({topic:n}),await this.sendResult(s,n,!0),this.events.emit(c3.ping,{id:s,topic:n})}catch(o){await this.sendError(s,n,o),this.logger.error(o)}},this.onPairingPingResponse=(n,i)=>{const{id:s}=i;setTimeout(()=>{xo(i)?this.events.emit(hn("pairing_ping",s),{}):As(i)&&this.events.emit(hn("pairing_ping",s),{error:i.error})},500)},this.onPairingDeleteRequest=async(n,i)=>{const{id:s}=i;try{this.isValidDisconnect({topic:n}),await this.deletePairing(n),this.events.emit(c3.delete,{id:s,topic:n})}catch(o){await this.sendError(s,n,o),this.logger.error(o)}},this.onUnknownRpcMethodRequest=async(n,i)=>{const{id:s,method:o}=i;try{if(this.registeredMethods.includes(o))return;const a=ni("WC_METHOD_UNSUPPORTED",o);await this.sendError(s,n,a),this.logger.error(a)}catch(a){await this.sendError(s,n,a),this.logger.error(a)}},this.onUnknownRpcMethodResponse=n=>{this.registeredMethods.includes(n)||this.logger.error(ni("WC_METHOD_UNSUPPORTED",n))},this.isValidPair=n=>{var i;if(!xc(n)){const{message:o}=Bt("MISSING_OR_INVALID",`pair() params: ${n}`);throw new Error(o)}if(!lQe(n.uri)){const{message:o}=Bt("MISSING_OR_INVALID",`pair() uri: ${n.uri}`);throw new Error(o)}const s=j0e(n.uri);if(!((i=s==null?void 0:s.relay)!=null&&i.protocol)){const{message:o}=Bt("MISSING_OR_INVALID","pair() uri#relay-protocol");throw new Error(o)}if(!(s!=null&&s.symKey)){const{message:o}=Bt("MISSING_OR_INVALID","pair() uri#symKey");throw new Error(o)}if(s!=null&&s.expiryTimestamp&&Ye.toMiliseconds(s==null?void 0:s.expiryTimestamp){if(!xc(n)){const{message:s}=Bt("MISSING_OR_INVALID",`ping() params: ${n}`);throw new Error(s)}const{topic:i}=n;await this.isValidPairingTopic(i)},this.isValidDisconnect=async n=>{if(!xc(n)){const{message:s}=Bt("MISSING_OR_INVALID",`disconnect() params: ${n}`);throw new Error(s)}const{topic:i}=n;await this.isValidPairingTopic(i)},this.isValidPairingTopic=async n=>{if(!Is(n,!1)){const{message:i}=Bt("MISSING_OR_INVALID",`pairing topic should be a string: ${n}`);throw new Error(i)}if(!this.pairings.keys.includes(n)){const{message:i}=Bt("NO_MATCHING_KEY",`pairing topic doesn't exist: ${n}`);throw new Error(i)}if(E1(this.pairings.get(n).expiry)){await this.deletePairing(n);const{message:i}=Bt("EXPIRED",`pairing topic: ${n}`);throw new Error(i)}},this.core=e,this.logger=gi(t,this.name),this.pairings=new d2(this.core,this.logger,this.name,this.storagePrefix)}get context(){return xi(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=Bt("NOT_INITIALIZED",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(rl.message,async e=>{const{topic:t,message:n}=e;if(!this.pairings.keys.includes(t)||this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(n)))return;const i=await this.core.crypto.decode(t,n);try{gy(i)?(this.core.history.set(t,i),this.onRelayEventRequest({topic:t,payload:i})):Bm(i)&&(await this.core.history.resolve(i),await this.onRelayEventResponse({topic:t,payload:i}),this.core.history.delete(t,i.id))}catch(s){this.logger.error(s)}})}registerExpirerEvents(){this.core.expirer.on(hu.expired,async e=>{const{topic:t}=xde(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(c3.expire,{topic:t}))})}},gtt=class extends BQe{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.records=new Map,this.events=new pn.EventEmitter,this.name=zet,this.version=Het,this.cached=[],this.initialized=!1,this.storagePrefix=T1,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(n=>this.records.set(n.id,n)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.set=(n,i,s)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:n,request:i,chainId:s}),this.records.has(i.id))return;const o={id:i.id,topic:n,request:{method:i.method,params:i.params||null},chainId:s,expiry:wa(Ye.THIRTY_DAYS)};this.records.set(o.id,o),this.persist(),this.events.emit(lh.created,o)},this.resolve=async n=>{if(this.isInitialized(),this.logger.debug("Updating JSON-RPC response history record"),this.logger.trace({type:"method",method:"update",response:n}),!this.records.has(n.id))return;const i=await this.getRecord(n.id);typeof i.response>"u"&&(i.response=As(n)?{error:n.error}:{result:n.result},this.records.set(i.id,i),this.persist(),this.events.emit(lh.updated,i))},this.get=async(n,i)=>(this.isInitialized(),this.logger.debug("Getting record"),this.logger.trace({type:"method",method:"get",topic:n,id:i}),await this.getRecord(i)),this.delete=(n,i)=>{this.isInitialized(),this.logger.debug("Deleting record"),this.logger.trace({type:"method",method:"delete",id:i}),this.values.forEach(s=>{if(s.topic===n){if(typeof i<"u"&&s.id!==i)return;this.records.delete(s.id),this.events.emit(lh.deleted,s)}}),this.persist()},this.exists=async(n,i)=>(this.isInitialized(),this.records.has(i)?(await this.getRecord(i)).topic===n:!1),this.on=(n,i)=>{this.events.on(n,i)},this.once=(n,i)=>{this.events.once(n,i)},this.off=(n,i)=>{this.events.off(n,i)},this.removeListener=(n,i)=>{this.events.removeListener(n,i)},this.logger=gi(t,this.name)}get context(){return xi(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){const e=[];return this.values.forEach(t=>{if(typeof t.response<"u")return;const n={topic:t.topic,request:Qu(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(n)}),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();const t=this.records.get(e);if(!t){const{message:n}=Bt("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(n)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(lh.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){const{message:t}=Bt("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}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(lh.created,e=>{const t=lh.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(lh.updated,e=>{const t=lh.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(lh.deleted,e=>{const t=lh.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.core.heartbeat.on(Yu.HEARTBEAT_EVENTS.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{Ye.toMiliseconds(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(lh.deleted,t,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=Bt("NOT_INITIALIZED",this.name);throw new Error(e)}}},mtt=class extends HQe{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.expirations=new Map,this.events=new pn.EventEmitter,this.name=qet,this.version=Wet,this.cached=[],this.initialized=!1,this.storagePrefix=T1,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(n=>this.expirations.set(n.target,n)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.has=n=>{try{const i=this.formatTarget(n);return typeof this.getExpiration(i)<"u"}catch{return!1}},this.set=(n,i)=>{this.isInitialized();const s=this.formatTarget(n),o={target:s,expiry:i};this.expirations.set(s,o),this.checkExpiry(s,o),this.events.emit(hu.created,{target:s,expiration:o})},this.get=n=>{this.isInitialized();const i=this.formatTarget(n);return this.getExpiration(i)},this.del=n=>{if(this.isInitialized(),this.has(n)){const i=this.formatTarget(n),s=this.getExpiration(i);this.expirations.delete(i),this.events.emit(hu.deleted,{target:i,expiration:s})}},this.on=(n,i)=>{this.events.on(n,i)},this.once=(n,i)=>{this.events.once(n,i)},this.off=(n,i)=>{this.events.off(n,i)},this.removeListener=(n,i)=>{this.events.removeListener(n,i)},this.logger=gi(t,this.name)}get context(){return xi(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(typeof e=="string")return OKe(e);if(typeof e=="number")return DKe(e);const{message:t}=Bt("UNKNOWN_TYPE",`Target type: ${typeof e}`);throw new 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(hu.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){const{message:t}=Bt("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}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){const t=this.expirations.get(e);if(!t){const{message:n}=Bt("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.warn(n),new Error(n)}return t}checkExpiry(e,t){const{expiry:n}=t;Ye.toMiliseconds(n)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(hu.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(Yu.HEARTBEAT_EVENTS.pulse,()=>this.checkExpirations()),this.events.on(hu.created,e=>{const t=hu.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(hu.expired,e=>{const t=hu.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(hu.deleted,e=>{const t=hu.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=Bt("NOT_INITIALIZED",this.name);throw new Error(e)}}},btt=class extends qQe{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,this.name=QU,this.initialized=!1,this.queue=[],this.verifyDisabled=!1,this.init=async n=>{if(this.verifyDisabled||Jy()||!Yy())return;const i=this.getVerifyUrl(n==null?void 0:n.verifyUrl);this.verifyUrl!==i&&this.removeIframe(),this.verifyUrl=i;try{await this.createIframe()}catch(s){this.logger.info(`Verify iframe failed to load: ${this.verifyUrl}`),this.logger.info(s)}if(!this.initialized){this.removeIframe(),this.verifyUrl=XU;try{await this.createIframe()}catch(s){this.logger.info(`Verify iframe failed to load: ${this.verifyUrl}`),this.logger.info(s),this.verifyDisabled=!0}}},this.register=async n=>{this.initialized?this.sendPost(n.attestationId):(this.addToQueue(n.attestationId),await this.init())},this.resolve=async n=>{if(this.isDevEnv)return"";const i=this.getVerifyUrl(n==null?void 0:n.verifyUrl);let s;try{s=await this.fetchAttestation(n.attestationId,i)}catch(o){this.logger.info(`failed to resolve attestation: ${n.attestationId} from url: ${i}`),this.logger.info(o),s=await this.fetchAttestation(n.attestationId,XU)}return s},this.fetchAttestation=async(n,i)=>{this.logger.info(`resolving attestation: ${n} from url: ${i}`);const s=this.startAbortTimer(Ye.ONE_SECOND*2),o=await fetch(`${i}/attestation/${n}`,{signal:this.abortController.signal});return clearTimeout(s),o.status===200?await o.json():void 0},this.addToQueue=n=>{this.queue.push(n)},this.processQueue=()=>{this.queue.length!==0&&(this.queue.forEach(n=>this.sendPost(n)),this.queue=[])},this.sendPost=n=>{var i;try{if(!this.iframe)return;(i=this.iframe.contentWindow)==null||i.postMessage(n,"*"),this.logger.info(`postMessage sent: ${n} ${this.verifyUrl}`)}catch{}},this.createIframe=async()=>{let n;const i=s=>{s.data==="verify_ready"&&(this.onInit(),window.removeEventListener("message",i),n())};await Promise.race([new Promise(s=>{const o=document.getElementById(QU);if(o)return this.iframe=o,this.onInit(),s();window.addEventListener("message",i);const a=document.createElement("iframe");a.id=QU,a.src=`${this.verifyUrl}/${this.projectId}`,a.style.display="none",document.body.append(a),this.iframe=a,n=s}),new Promise((s,o)=>setTimeout(()=>{window.removeEventListener("message",i),o("verify iframe load timeout")},Ye.toMiliseconds(Ye.FIVE_SECONDS)))])},this.onInit=()=>{this.initialized=!0,this.processQueue()},this.removeIframe=()=>{this.iframe&&(this.iframe.remove(),this.iframe=void 0,this.initialized=!1)},this.getVerifyUrl=n=>{let i=n||l3;return Vet.includes(i)||(this.logger.info(`verify url: ${i}, not included in trusted list, assigning default: ${l3}`),i=l3),i},this.logger=gi(t,this.name),this.verifyUrl=l3,this.abortController=new AbortController,this.isDevEnv=K8()&&yt.env.IS_VITEST}get context(){return xi(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),Ye.toMiliseconds(e))}},wtt=class extends WQe{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,this.context=Get,this.registerDeviceToken=async n=>{const{clientId:i,token:s,notificationType:o,enableEncrypted:a=!1}=n,l=`${Ket}/${this.projectId}/clients`;await Xae(l,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:i,type:o,token:s,always_raw:a})})},this.logger=gi(t,this.context)}};var vtt=Object.defineProperty,Cpe=Object.getOwnPropertySymbols,ytt=Object.prototype.hasOwnProperty,xtt=Object.prototype.propertyIsEnumerable,Spe=(r,e,t)=>e in r?vtt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ipe=(r,e)=>{for(var t in e||(e={}))ytt.call(e,t)&&Spe(r,t,e[t]);if(Cpe)for(var t of Cpe(e))xtt.call(e,t)&&Spe(r,t,e[t]);return r};let Tpe=class extends $Qe{constructor(e){var t;super(e),this.protocol=dpe,this.version=bet,this.name=YU,this.events=new pn.EventEmitter,this.initialized=!1,this.on=(o,a)=>this.events.on(o,a),this.once=(o,a)=>this.events.once(o,a),this.off=(o,a)=>this.events.off(o,a),this.removeListener=(o,a)=>this.events.removeListener(o,a),this.projectId=e==null?void 0:e.projectId,this.relayUrl=(e==null?void 0:e.relayUrl)||mpe,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:"";const n=h1({level:typeof(e==null?void 0:e.logger)=="string"&&e.logger?e.logger:wet.logger}),{logger:i,chunkLoggerController:s}=OPe({opts:n,maxSizeInBytes:e==null?void 0:e.maxLogBlobSizeInBytes,loggerOverride:e==null?void 0:e.logger});this.logChunkController=s,(t=this.logChunkController)!=null&&t.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var o,a;(o=this.logChunkController)!=null&&o.downloadLogsBlobInBrowser&&((a=this.logChunkController)==null||a.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=gi(i,this.name),this.heartbeat=new Yu.HeartBeat,this.crypto=new Jet(this,this.logger,e==null?void 0:e.keychain),this.history=new gtt(this,this.logger),this.expirer=new mtt(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new wae(Ipe(Ipe({},vet),e==null?void 0:e.storageOptions)),this.relayer=new utt({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new ptt(this,this.logger),this.verify=new btt(this.projectId||"",this.logger),this.echoClient=new wtt(this.projectId||"",this.logger)}static async init(e){const t=new Tpe(e);await t.initialize();const n=await t.crypto.getClientId();return await t.storage.setItem($et,n),t}get context(){return xi(this.logger)}async start(){this.initialized||await this.initialize()}async getLogsBlob(){var e;return(e=this.logChunkController)==null?void 0:e.logsToBlob({clientId:await this.crypto.getClientId()})}async initialize(){this.logger.trace("Initialized");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.initialized=!0,this.logger.info("Core Initialization Success")}catch(e){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,e),this.logger.error(e.message),e}}};const _tt=Tpe,Rpe="wc",kpe=2,Mpe="client",tF=`${Rpe}@${kpe}:${Mpe}:`,rF={name:Mpe,logger:"error",controller:!1,relayUrl:"wss://relay.walletconnect.com"},Npe="WALLETCONNECT_DEEPLINK_CHOICE",Ett="proposal",Ppe="Proposal expired",Att="session",u3=Ye.SEVEN_DAYS,Ctt="engine",fu={wc_sessionPropose:{req:{ttl:Ye.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:Ye.FIVE_MINUTES,prompt:!1,tag:1101}},wc_sessionSettle:{req:{ttl:Ye.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:Ye.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:Ye.ONE_DAY,prompt:!1,tag:1104},res:{ttl:Ye.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:Ye.ONE_DAY,prompt:!1,tag:1106},res:{ttl:Ye.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:Ye.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:Ye.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:Ye.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:Ye.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:Ye.ONE_DAY,prompt:!1,tag:1112},res:{ttl:Ye.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:Ye.ONE_DAY,prompt:!1,tag:1114},res:{ttl:Ye.ONE_DAY,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:Ye.ONE_HOUR,prompt:!0,tag:1116},res:{ttl:Ye.ONE_HOUR,prompt:!1,tag:1117}}},nF={min:Ye.FIVE_MINUTES,max:Ye.SEVEN_DAYS},c0={idle:"IDLE",active:"ACTIVE"},Stt="request",Itt=["wc_sessionPropose","wc_sessionRequest","wc_authRequest"],Ttt="wc",Rtt="auth",ktt="authKeys",Mtt="pairingTopics",Ntt="requests",_T=`${Ttt}@${1.5}:${Rtt}:`,ET=`${_T}:PUB_KEY`;var Ptt=Object.defineProperty,Ott=Object.defineProperties,Dtt=Object.getOwnPropertyDescriptors,Ope=Object.getOwnPropertySymbols,$tt=Object.prototype.hasOwnProperty,Btt=Object.prototype.propertyIsEnumerable,Dpe=(r,e,t)=>e in r?Ptt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ro=(r,e)=>{for(var t in e||(e={}))$tt.call(e,t)&&Dpe(r,t,e[t]);if(Ope)for(var t of Ope(e))Btt.call(e,t)&&Dpe(r,t,e[t]);return r},h3=(r,e)=>Ott(r,Dtt(e));let Ltt=class extends GQe{constructor(e){super(e),this.name=Ctt,this.events=new pn,this.initialized=!1,this.requestQueue={state:c0.idle,queue:[]},this.sessionRequestQueue={state:c0.idle,queue:[]},this.requestQueueDelay=Ye.ONE_SECOND,this.expectedPairingMethodMap=new Map,this.recentlyDeletedMap=new Map,this.recentlyDeletedLimit=200,this.init=async()=>{this.initialized||(await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.registerPairingEvents(),this.client.core.pairing.register({methods:Object.keys(fu)}),this.initialized=!0,setTimeout(()=>{this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},Ye.toMiliseconds(this.requestQueueDelay)))},this.connect=async t=>{await this.isInitialized();const n=h3(Ro({},t),{requiredNamespaces:t.requiredNamespaces||{},optionalNamespaces:t.optionalNamespaces||{}});await this.isValidConnect(n);const{pairingTopic:i,requiredNamespaces:s,optionalNamespaces:o,sessionProperties:a,relays:l}=n;let u=i,h,p=!1;try{u&&(p=this.client.core.pairing.pairings.get(u).active)}catch(B){throw this.client.logger.error(`connect() -> pairing.get(${u}) failed`),B}if(!u||!p){const{topic:B,uri:z}=await this.client.core.pairing.create();u=B,h=z}if(!u){const{message:B}=Bt("NO_MATCHING_KEY",`connect() pairing topic: ${u}`);throw new Error(B)}const g=await this.client.core.crypto.generateKeyPair(),w=fu.wc_sessionPropose.req.ttl||Ye.FIVE_MINUTES,y=wa(w),C=Ro({requiredNamespaces:s,optionalNamespaces:o,relays:l??[{protocol:gpe}],proposer:{publicKey:g,metadata:this.client.metadata},expiryTimestamp:y},a&&{sessionProperties:a}),{reject:T,resolve:k,done:N}=c2(w,Ppe);this.events.once(hn("session_connect"),async({error:B,session:z})=>{if(B)T(B);else if(z){z.self.publicKey=g;const G=h3(Ro({},z),{requiredNamespaces:C.requiredNamespaces,optionalNamespaces:C.optionalNamespaces});await this.client.session.set(z.topic,G),await this.setExpiry(z.topic,z.expiry),u&&await this.client.core.pairing.updateMetadata({topic:u,metadata:z.peer.metadata}),k(G)}});const O=await this.sendRequest({topic:u,method:"wc_sessionPropose",params:C,throwOnFailedPublish:!0});return await this.setProposal(O,Ro({id:O},C)),{uri:h,approval:N}},this.pair=async t=>{await this.isInitialized();try{return await this.client.core.pairing.pair(t)}catch(n){throw this.client.logger.error("pair() failed"),n}},this.approve=async t=>{await this.isInitialized();try{await this.isValidApprove(t)}catch(N){throw this.client.logger.error("approve() -> isValidApprove() failed"),N}const{id:n,relayProtocol:i,namespaces:s,sessionProperties:o,sessionConfig:a}=t;let l;try{l=this.client.proposal.get(n)}catch(N){throw this.client.logger.error(`approve() -> proposal.get(${n}) failed`),N}let{pairingTopic:u,proposer:h,requiredNamespaces:p,optionalNamespaces:g}=l;u=u||"";const w=await this.client.core.crypto.generateKeyPair(),y=h.publicKey,C=await this.client.core.crypto.generateSharedKey(w,y),T=Ro(Ro({relay:{protocol:i??"irn"},namespaces:s,pairingTopic:u,controller:{publicKey:w,metadata:this.client.metadata},expiry:wa(u3)},o&&{sessionProperties:o}),a&&{sessionConfig:a});await this.client.core.relayer.subscribe(C);const k=h3(Ro({},T),{topic:C,requiredNamespaces:p,optionalNamespaces:g,pairingTopic:u,acknowledged:!1,self:T.controller,peer:{publicKey:h.publicKey,metadata:h.metadata},controller:w});await this.client.session.set(C,k);try{await this.sendResult({id:n,topic:u,result:{relay:{protocol:i??"irn"},responderPublicKey:w},throwOnFailedPublish:!0}),await this.sendRequest({topic:C,method:"wc_sessionSettle",params:T,throwOnFailedPublish:!0})}catch(N){throw this.client.logger.error(N),this.client.session.delete(C,ni("USER_DISCONNECTED")),await this.client.core.relayer.unsubscribe(C),N}return await this.client.core.pairing.updateMetadata({topic:u,metadata:h.metadata}),await this.client.proposal.delete(n,ni("USER_DISCONNECTED")),await this.client.core.pairing.activate({topic:u}),await this.setExpiry(C,wa(u3)),{topic:C,acknowledged:()=>new Promise(N=>setTimeout(()=>N(this.client.session.get(C)),500))}},this.reject=async t=>{await this.isInitialized();try{await this.isValidReject(t)}catch(o){throw this.client.logger.error("reject() -> isValidReject() failed"),o}const{id:n,reason:i}=t;let s;try{s=this.client.proposal.get(n).pairingTopic}catch(o){throw this.client.logger.error(`reject() -> proposal.get(${n}) failed`),o}s&&(await this.sendError({id:n,topic:s,error:i}),await this.client.proposal.delete(n,ni("USER_DISCONNECTED")))},this.update=async t=>{await this.isInitialized();try{await this.isValidUpdate(t)}catch(p){throw this.client.logger.error("update() -> isValidUpdate() failed"),p}const{topic:n,namespaces:i}=t,{done:s,resolve:o,reject:a}=c2(),l=Wd(),u=f1().toString(),h=this.client.session.get(n).namespaces;return this.events.once(hn("session_update",l),({error:p})=>{p?a(p):o()}),await this.client.session.update(n,{namespaces:i}),this.sendRequest({topic:n,method:"wc_sessionUpdate",params:{namespaces:i},throwOnFailedPublish:!0,clientRpcId:l,relayRpcId:u}).catch(p=>{this.client.logger.error(p),this.client.session.update(n,{namespaces:h}),a(p)}),{acknowledged:s}},this.extend=async t=>{await this.isInitialized();try{await this.isValidExtend(t)}catch(l){throw this.client.logger.error("extend() -> isValidExtend() failed"),l}const{topic:n}=t,i=Wd(),{done:s,resolve:o,reject:a}=c2();return this.events.once(hn("session_extend",i),({error:l})=>{l?a(l):o()}),await this.setExpiry(n,wa(u3)),this.sendRequest({topic:n,method:"wc_sessionExtend",params:{},clientRpcId:i,throwOnFailedPublish:!0}).catch(l=>{a(l)}),{acknowledged:s}},this.request=async t=>{await this.isInitialized();try{await this.isValidRequest(t)}catch(w){throw this.client.logger.error("request() -> isValidRequest() failed"),w}const{chainId:n,request:i,topic:s,expiry:o=fu.wc_sessionRequest.req.ttl}=t,a=this.client.session.get(s),l=Wd(),u=f1().toString(),{done:h,resolve:p,reject:g}=c2(o,"Request expired. Please try again.");return this.events.once(hn("session_request",l),({error:w,result:y})=>{w?g(w):p(y)}),await Promise.all([new Promise(async w=>{await this.sendRequest({clientRpcId:l,relayRpcId:u,topic:s,method:"wc_sessionRequest",params:{request:h3(Ro({},i),{expiryTimestamp:wa(o)}),chainId:n},expiry:o,throwOnFailedPublish:!0}).catch(y=>g(y)),this.client.events.emit("session_request_sent",{topic:s,request:i,chainId:n,id:l}),w()}),new Promise(async w=>{var y;if(!((y=a.sessionConfig)!=null&&y.disableDeepLink)){const C=await BKe(this.client.core.storage,Npe);$Ke({id:l,topic:s,wcDeepLink:C})}w()}),h()]).then(w=>w[2])},this.respond=async t=>{await this.isInitialized(),await this.isValidRespond(t);const{topic:n,response:i}=t,{id:s}=i;xo(i)?await this.sendResult({id:s,topic:n,result:i.result,throwOnFailedPublish:!0}):As(i)&&await this.sendError({id:s,topic:n,error:i.error}),this.cleanupAfterResponse(t)},this.ping=async t=>{await this.isInitialized();try{await this.isValidPing(t)}catch(i){throw this.client.logger.error("ping() -> isValidPing() failed"),i}const{topic:n}=t;if(this.client.session.keys.includes(n)){const i=Wd(),s=f1().toString(),{done:o,resolve:a,reject:l}=c2();this.events.once(hn("session_ping",i),({error:u})=>{u?l(u):a()}),await Promise.all([this.sendRequest({topic:n,method:"wc_sessionPing",params:{},throwOnFailedPublish:!0,clientRpcId:i,relayRpcId:s}),o()])}else this.client.core.pairing.pairings.keys.includes(n)&&await this.client.core.pairing.ping({topic:n})},this.emit=async t=>{await this.isInitialized(),await this.isValidEmit(t);const{topic:n,event:i,chainId:s}=t,o=f1().toString();await this.sendRequest({topic:n,method:"wc_sessionEvent",params:{event:i,chainId:s},throwOnFailedPublish:!0,relayRpcId:o})},this.disconnect=async t=>{await this.isInitialized(),await this.isValidDisconnect(t);const{topic:n}=t;if(this.client.session.keys.includes(n))await this.sendRequest({topic:n,method:"wc_sessionDelete",params:ni("USER_DISCONNECTED"),throwOnFailedPublish:!0}),await this.deleteSession({topic:n,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(n))await this.client.core.pairing.disconnect({topic:n});else{const{message:i}=Bt("MISMATCHED_TOPIC",`Session or pairing topic not found: ${n}`);throw new Error(i)}},this.find=t=>(this.isInitialized(),this.client.session.getAll().filter(n=>aQe(n,t))),this.getPendingSessionRequests=()=>this.client.pendingRequest.getAll(),this.authenticate=async t=>{this.isInitialized(),this.isValidAuthenticate(t);const{chains:n,statement:i="",uri:s,domain:o,nonce:a,type:l,exp:u,nbf:h,methods:p=[]}=t,g=[...t.resources||[]],{topic:w,uri:y}=await this.client.core.pairing.create({methods:["wc_sessionAuthenticate"]});this.client.logger.info({message:"Generated new pairing",pairing:{topic:w,uri:y}});const C=await this.client.core.crypto.generateKeyPair(),T=bT(C);if(await Promise.all([this.client.auth.authKeys.set(ET,{responseTopic:T,publicKey:C}),this.client.auth.pairingTopics.set(T,{topic:T,pairingTopic:w})]),await this.client.core.relayer.subscribe(T),this.client.logger.info(`sending request to new pairing topic: ${w}`),p.length>0){const{namespace:M}=eT(n[0]);let b=MYe(M,"request",p);mT(g)&&(b=PYe(b,g.pop())),g.push(b)}const k=wa(fu.wc_sessionPropose.req.ttl),N={authPayload:{type:l??"caip122",chains:n,statement:i,aud:s,domain:o,version:"1",nonce:a,iat:new Date().toISOString(),exp:u,nbf:h,resources:g},requester:{publicKey:C,metadata:this.client.metadata},expiryTimestamp:k},O={eip155:{chains:n,methods:[...new Set(["personal_sign",...p])],events:["chainChanged","accountsChanged"]}},B={requiredNamespaces:{},optionalNamespaces:O,relays:[{protocol:"irn"}],proposer:{publicKey:C,metadata:this.client.metadata},expiryTimestamp:k},{done:z,resolve:G,reject:$}=c2(fu.wc_sessionAuthenticate.req.ttl,"Request expired"),D=async({error:M,session:b})=>{if(this.events.off(hn("session_request",Q),V),M)$(M);else if(b){b.self.publicKey=C,await this.client.session.set(b.topic,b),await this.setExpiry(b.topic,b.expiry),w&&await this.client.core.pairing.updateMetadata({topic:w,metadata:b.peer.metadata});const d=this.client.session.get(b.topic);G({session:d})}},V=async M=>{if(M.error){const R=ni("WC_METHOD_UNSUPPORTED","wc_sessionAuthenticate");return M.error.code===R.code?void 0:(this.events.off(hn("session_connect"),D),$(M.error.message))}this.events.off(hn("session_connect"),D);const{cacaos:b,responder:d}=M.result,m=[],x=[];for(const R of b){await T0e({cacao:R,projectId:this.client.core.projectId})||(this.client.logger.error(R,"Signature verification failed"),$(ni("SESSION_SETTLEMENT_FAILED","Signature verification failed")));const{p:S}=R,E=mT(S.resources),_=[I0e(S.iss)],L=gT(S.iss);if(E){const ie=M0e(E),q=N0e(E);m.push(...ie),_.push(...q)}for(const ie of _)x.push(`${ie}:${L}`)}const A=await this.client.core.crypto.generateSharedKey(C,d.publicKey);let I;m.length>0&&(I={topic:A,acknowledged:!0,self:{publicKey:C,metadata:this.client.metadata},peer:d,controller:d.publicKey,expiry:wa(u3),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:w,namespaces:z0e([...new Set(m)],[...new Set(x)])},await this.client.core.relayer.subscribe(A),await this.client.session.set(A,I),I=this.client.session.get(A)),G({auths:b,session:I})},Q=Wd(),F=Wd();this.events.once(hn("session_connect"),D),this.events.once(hn("session_request",Q),V);try{await Promise.all([this.sendRequest({topic:w,method:"wc_sessionAuthenticate",params:N,expiry:t.expiry,throwOnFailedPublish:!0,clientRpcId:Q}),this.sendRequest({topic:w,method:"wc_sessionPropose",params:B,expiry:fu.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:F})])}catch(M){throw this.events.off(hn("session_connect"),D),this.events.off(hn("session_request",Q),V),M}return await this.setProposal(F,Ro({id:F},B)),await this.client.auth.requests.set(Q,{authPayload:N.authPayload,requester:N.requester,expiryTimestamp:k,id:Q,pairingTopic:w,verifyContext:{}}),{uri:y,response:z}},this.approveSessionAuthenticate=async t=>{this.isInitialized();const{id:n,auths:i}=t,s=this.getPendingAuthRequest(n);if(!s)throw new Error(`Could not find pending auth request with id ${n}`);const o=s.requester.publicKey,a=await this.client.core.crypto.generateKeyPair(),l=bT(o),u={type:I1,receiverPublicKey:o,senderPublicKey:a},h=[],p=[];for(const y of i){if(!await T0e({cacao:y,projectId:this.client.core.projectId})){const O=ni("SESSION_SETTLEMENT_FAILED","Signature verification failed");throw await this.sendError({id:n,topic:l,error:O,encodeOpts:u}),new Error(O.message)}const{p:C}=y,T=mT(C.resources),k=[I0e(C.iss)],N=gT(C.iss);if(T){const O=M0e(T),B=N0e(T);h.push(...O),k.push(...B)}for(const O of k)p.push(`${O}:${N}`)}const g=await this.client.core.crypto.generateSharedKey(a,o);let w;return(h==null?void 0:h.length)>0&&(w={topic:g,acknowledged:!0,self:{publicKey:a,metadata:this.client.metadata},peer:{publicKey:o,metadata:s.requester.metadata},controller:o,expiry:wa(u3),authentication:i,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:"",namespaces:z0e([...new Set(h)],[...new Set(p)])},await this.client.core.relayer.subscribe(g),await this.client.session.set(g,w)),await this.sendResult({topic:l,id:n,result:{cacaos:i,responder:{publicKey:a,metadata:this.client.metadata}},encodeOpts:u,throwOnFailedPublish:!0}),await this.client.auth.requests.delete(n,{message:"fullfilled",code:0}),await this.client.core.pairing.activate({topic:s.pairingTopic}),{session:w}},this.rejectSessionAuthenticate=async t=>{await this.isInitialized();const{id:n,reason:i}=t,s=this.getPendingAuthRequest(n);if(!s)throw new Error(`Could not find pending auth request with id ${n}`);const o=s.requester.publicKey,a=await this.client.core.crypto.generateKeyPair(),l=bT(o),u={type:I1,receiverPublicKey:o,senderPublicKey:a};await this.sendError({id:n,topic:l,error:i,encodeOpts:u}),await this.client.auth.requests.delete(n,{message:"rejected",code:0}),await this.client.proposal.delete(n,ni("USER_DISCONNECTED"))},this.formatAuthMessage=t=>{this.isInitialized();const{request:n,iss:i}=t;return R0e(n,i)},this.cleanupDuplicatePairings=async t=>{if(t.pairingTopic)try{const n=this.client.core.pairing.pairings.get(t.pairingTopic),i=this.client.core.pairing.pairings.getAll().filter(s=>{var o,a;return((o=s.peerMetadata)==null?void 0:o.url)&&((a=s.peerMetadata)==null?void 0:a.url)===t.peer.metadata.url&&s.topic&&s.topic!==n.topic});if(i.length===0)return;this.client.logger.info(`Cleaning up ${i.length} duplicate pairing(s)`),await Promise.all(i.map(s=>this.client.core.pairing.disconnect({topic:s.topic}))),this.client.logger.info("Duplicate pairings clean up finished")}catch(n){this.client.logger.error(n)}},this.deleteSession=async t=>{const{topic:n,expirerHasDeleted:i=!1,emitEvent:s=!0,id:o=0}=t,{self:a}=this.client.session.get(n);await this.client.core.relayer.unsubscribe(n),await this.client.session.delete(n,ni("USER_DISCONNECTED")),this.addToRecentlyDeleted(n,"session"),this.client.core.crypto.keychain.has(a.publicKey)&&await this.client.core.crypto.deleteKeyPair(a.publicKey),this.client.core.crypto.keychain.has(n)&&await this.client.core.crypto.deleteSymKey(n),i||this.client.core.expirer.del(n),this.client.core.storage.removeItem(Npe).catch(l=>this.client.logger.warn(l)),this.getPendingSessionRequests().forEach(l=>{l.topic===n&&this.deletePendingSessionRequest(l.id,ni("USER_DISCONNECTED"))}),s&&this.client.events.emit("session_delete",{id:o,topic:n})},this.deleteProposal=async(t,n)=>{await Promise.all([this.client.proposal.delete(t,ni("USER_DISCONNECTED")),n?Promise.resolve():this.client.core.expirer.del(t)]),this.addToRecentlyDeleted(t,"proposal")},this.deletePendingSessionRequest=async(t,n,i=!1)=>{await Promise.all([this.client.pendingRequest.delete(t,n),i?Promise.resolve():this.client.core.expirer.del(t)]),this.addToRecentlyDeleted(t,"request"),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(s=>s.id!==t),i&&(this.sessionRequestQueue.state=c0.idle,this.client.events.emit("session_request_expire",{id:t}))},this.setExpiry=async(t,n)=>{this.client.session.keys.includes(t)&&await this.client.session.update(t,{expiry:n}),this.client.core.expirer.set(t,n)},this.setProposal=async(t,n)=>{await this.client.proposal.set(t,n),this.client.core.expirer.set(t,wa(fu.wc_sessionPropose.req.ttl))},this.setPendingSessionRequest=async t=>{const{id:n,topic:i,params:s,verifyContext:o}=t,a=s.request.expiryTimestamp||wa(fu.wc_sessionRequest.req.ttl);await this.client.pendingRequest.set(n,{id:n,topic:i,params:s,verifyContext:o}),a&&this.client.core.expirer.set(n,a)},this.sendRequest=async t=>{const{topic:n,method:i,params:s,expiry:o,relayRpcId:a,clientRpcId:l,throwOnFailedPublish:u}=t,h=Qu(i,s,l);if(Yy()&&Itt.includes(i)){const w=f2(JSON.stringify(h));this.client.core.verify.register({attestationId:w})}let p;try{p=await this.client.core.crypto.encode(n,h)}catch(w){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${n} failed`),w}const g=fu[i].req;return o&&(g.ttl=o),a&&(g.id=a),this.client.core.history.set(n,h),u?(g.internal=h3(Ro({},g.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(n,p,g)):this.client.core.relayer.publish(n,p,g).catch(w=>this.client.logger.error(w)),h.id},this.sendResult=async t=>{const{id:n,topic:i,result:s,throwOnFailedPublish:o,encodeOpts:a}=t,l=d1(n,s);let u;try{u=await this.client.core.crypto.encode(i,l,a)}catch(g){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${i} failed`),g}let h;try{h=await this.client.core.history.get(i,n)}catch(g){throw this.client.logger.error(`sendResult() -> history.get(${i}, ${n}) failed`),g}const p=fu[h.request.method].res;o?(p.internal=h3(Ro({},p.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(i,u,p)):this.client.core.relayer.publish(i,u,p).catch(g=>this.client.logger.error(g)),await this.client.core.history.resolve(l)},this.sendError=async t=>{const{id:n,topic:i,error:s,encodeOpts:o}=t,a=py(n,s);let l;try{l=await this.client.core.crypto.encode(i,a,o)}catch(p){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${i} failed`),p}let u;try{u=await this.client.core.history.get(i,n)}catch(p){throw this.client.logger.error(`sendError() -> history.get(${i}, ${n}) failed`),p}const h=fu[u.request.method].res;this.client.core.relayer.publish(i,l,h),await this.client.core.history.resolve(a)},this.cleanup=async()=>{const t=[],n=[];this.client.session.getAll().forEach(i=>{let s=!1;E1(i.expiry)&&(s=!0),this.client.core.crypto.keychain.has(i.topic)||(s=!0),s&&t.push(i.topic)}),this.client.proposal.getAll().forEach(i=>{E1(i.expiryTimestamp)&&n.push(i.id)}),await Promise.all([...t.map(i=>this.deleteSession({topic:i})),...n.map(i=>this.deleteProposal(i))])},this.onRelayEventRequest=async t=>{this.requestQueue.queue.push(t),await this.processRequestsQueue()},this.processRequestsQueue=async()=>{if(this.requestQueue.state===c0.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=c0.active;const t=this.requestQueue.queue.shift();if(t)try{this.processRequest(t),await new Promise(n=>setTimeout(n,300))}catch(n){this.client.logger.warn(n)}}this.requestQueue.state=c0.idle},this.processRequest=t=>{const{topic:n,payload:i}=t,s=i.method;if(!this.shouldIgnorePairingRequest({topic:n,requestMethod:s}))switch(s){case"wc_sessionPropose":return this.onSessionProposeRequest(n,i);case"wc_sessionSettle":return this.onSessionSettleRequest(n,i);case"wc_sessionUpdate":return this.onSessionUpdateRequest(n,i);case"wc_sessionExtend":return this.onSessionExtendRequest(n,i);case"wc_sessionPing":return this.onSessionPingRequest(n,i);case"wc_sessionDelete":return this.onSessionDeleteRequest(n,i);case"wc_sessionRequest":return this.onSessionRequest(n,i);case"wc_sessionEvent":return this.onSessionEventRequest(n,i);case"wc_sessionAuthenticate":return this.onSessionAuthenticateRequest(n,i);default:return this.client.logger.info(`Unsupported request method ${s}`)}},this.onRelayEventResponse=async t=>{const{topic:n,payload:i}=t,s=(await this.client.core.history.get(n,i.id)).request.method;switch(s){case"wc_sessionPropose":return this.onSessionProposeResponse(n,i);case"wc_sessionSettle":return this.onSessionSettleResponse(n,i);case"wc_sessionUpdate":return this.onSessionUpdateResponse(n,i);case"wc_sessionExtend":return this.onSessionExtendResponse(n,i);case"wc_sessionPing":return this.onSessionPingResponse(n,i);case"wc_sessionRequest":return this.onSessionRequestResponse(n,i);case"wc_sessionAuthenticate":return this.onSessionAuthenticateResponse(n,i);default:return this.client.logger.info(`Unsupported response method ${s}`)}},this.onRelayEventUnknownPayload=t=>{const{topic:n}=t,{message:i}=Bt("MISSING_OR_INVALID",`Decoded payload on topic ${n} is not identifiable as a JSON-RPC request or a response.`);throw new Error(i)},this.shouldIgnorePairingRequest=t=>{const{topic:n,requestMethod:i}=t,s=this.expectedPairingMethodMap.get(n);return!s||s.includes(i)?!1:!!(s.includes("wc_sessionAuthenticate")&&this.client.events.listenerCount("session_authenticate")>0)},this.onSessionProposeRequest=async(t,n)=>{const{params:i,id:s}=n;try{this.isValidConnect(Ro({},n.params));const o=i.expiryTimestamp||wa(fu.wc_sessionPropose.req.ttl),a=Ro({id:s,pairingTopic:t,expiryTimestamp:o},i);await this.setProposal(s,a);const l=f2(JSON.stringify(n)),u=await this.getVerifyContext(l,a.proposer.metadata);this.client.events.emit("session_proposal",{id:s,params:a,verifyContext:u})}catch(o){await this.sendError({id:s,topic:t,error:o}),this.client.logger.error(o)}},this.onSessionProposeResponse=async(t,n)=>{const{id:i}=n;if(xo(n)){const{result:s}=n;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:s});const o=this.client.proposal.get(i);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:o});const a=o.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:a});const l=s.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:l});const u=await this.client.core.crypto.generateSharedKey(a,l);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",sessionTopic:u});const h=await this.client.core.relayer.subscribe(u);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:h}),await this.client.core.pairing.activate({topic:t})}else if(As(n)){await this.client.proposal.delete(i,ni("USER_DISCONNECTED"));const s=hn("session_connect");if(this.events.listenerCount(s)===0)throw new Error(`emitting ${s} without any listeners, 954`);this.events.emit(hn("session_connect"),{error:n.error})}},this.onSessionSettleRequest=async(t,n)=>{const{id:i,params:s}=n;try{this.isValidSessionSettleRequest(s);const{relay:o,controller:a,expiry:l,namespaces:u,sessionProperties:h,pairingTopic:p,sessionConfig:g}=n.params,w=Ro(Ro({topic:t,relay:o,expiry:l,namespaces:u,acknowledged:!0,pairingTopic:p,requiredNamespaces:{},optionalNamespaces:{},controller:a.publicKey,self:{publicKey:"",metadata:this.client.metadata},peer:{publicKey:a.publicKey,metadata:a.metadata}},h&&{sessionProperties:h}),g&&{sessionConfig:g});await this.sendResult({id:n.id,topic:t,result:!0,throwOnFailedPublish:!0});const y=hn("session_connect");if(this.events.listenerCount(y)===0)throw new Error(`emitting ${y} without any listeners 997`);this.events.emit(hn("session_connect"),{session:w}),this.cleanupDuplicatePairings(w)}catch(o){await this.sendError({id:i,topic:t,error:o}),this.client.logger.error(o)}},this.onSessionSettleResponse=async(t,n)=>{const{id:i}=n;xo(n)?(await this.client.session.update(t,{acknowledged:!0}),this.events.emit(hn("session_approve",i),{})):As(n)&&(await this.client.session.delete(t,ni("USER_DISCONNECTED")),this.events.emit(hn("session_approve",i),{error:n.error}))},this.onSessionUpdateRequest=async(t,n)=>{const{params:i,id:s}=n;try{const o=`${t}_session_update`,a=ux.get(o);if(a&&this.isRequestOutOfSync(a,s)){this.client.logger.info(`Discarding out of sync request - ${s}`),this.sendError({id:s,topic:t,error:ni("INVALID_UPDATE_REQUEST")});return}this.isValidUpdate(Ro({topic:t},i));try{ux.set(o,s),await this.client.session.update(t,{namespaces:i.namespaces}),await this.sendResult({id:s,topic:t,result:!0,throwOnFailedPublish:!0})}catch(l){throw ux.delete(o),l}this.client.events.emit("session_update",{id:s,topic:t,params:i})}catch(o){await this.sendError({id:s,topic:t,error:o}),this.client.logger.error(o)}},this.isRequestOutOfSync=(t,n)=>parseInt(n.toString().slice(0,-3))<=parseInt(t.toString().slice(0,-3)),this.onSessionUpdateResponse=(t,n)=>{const{id:i}=n,s=hn("session_update",i);if(this.events.listenerCount(s)===0)throw new Error(`emitting ${s} without any listeners`);xo(n)?this.events.emit(hn("session_update",i),{}):As(n)&&this.events.emit(hn("session_update",i),{error:n.error})},this.onSessionExtendRequest=async(t,n)=>{const{id:i}=n;try{this.isValidExtend({topic:t}),await this.setExpiry(t,wa(u3)),await this.sendResult({id:i,topic:t,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_extend",{id:i,topic:t})}catch(s){await this.sendError({id:i,topic:t,error:s}),this.client.logger.error(s)}},this.onSessionExtendResponse=(t,n)=>{const{id:i}=n,s=hn("session_extend",i);if(this.events.listenerCount(s)===0)throw new Error(`emitting ${s} without any listeners`);xo(n)?this.events.emit(hn("session_extend",i),{}):As(n)&&this.events.emit(hn("session_extend",i),{error:n.error})},this.onSessionPingRequest=async(t,n)=>{const{id:i}=n;try{this.isValidPing({topic:t}),await this.sendResult({id:i,topic:t,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_ping",{id:i,topic:t})}catch(s){await this.sendError({id:i,topic:t,error:s}),this.client.logger.error(s)}},this.onSessionPingResponse=(t,n)=>{const{id:i}=n,s=hn("session_ping",i);if(this.events.listenerCount(s)===0)throw new Error(`emitting ${s} without any listeners`);setTimeout(()=>{xo(n)?this.events.emit(hn("session_ping",i),{}):As(n)&&this.events.emit(hn("session_ping",i),{error:n.error})},500)},this.onSessionDeleteRequest=async(t,n)=>{const{id:i}=n;try{this.isValidDisconnect({topic:t,reason:n.params}),await Promise.all([new Promise(s=>{this.client.core.relayer.once(rl.publish,async()=>{s(await this.deleteSession({topic:t,id:i}))})}),this.sendResult({id:i,topic:t,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:t,error:ni("USER_DISCONNECTED")})])}catch(s){this.client.logger.error(s)}},this.onSessionRequest=async(t,n)=>{const{id:i,params:s}=n;try{await this.isValidRequest(Ro({topic:t},s));const o=f2(JSON.stringify(Qu("wc_sessionRequest",s,i))),a=this.client.session.get(t),l=await this.getVerifyContext(o,a.peer.metadata),u={id:i,topic:t,params:s,verifyContext:l};await this.setPendingSessionRequest(u),this.addSessionRequestToSessionRequestQueue(u),this.processSessionRequestQueue()}catch(o){await this.sendError({id:i,topic:t,error:o}),this.client.logger.error(o)}},this.onSessionRequestResponse=(t,n)=>{const{id:i}=n,s=hn("session_request",i);if(this.events.listenerCount(s)===0)throw new Error(`emitting ${s} without any listeners`);xo(n)?this.events.emit(hn("session_request",i),{result:n.result}):As(n)&&this.events.emit(hn("session_request",i),{error:n.error})},this.onSessionEventRequest=async(t,n)=>{const{id:i,params:s}=n;try{const o=`${t}_session_event_${s.event.name}`,a=ux.get(o);if(a&&this.isRequestOutOfSync(a,i)){this.client.logger.info(`Discarding out of sync request - ${i}`);return}this.isValidEmit(Ro({topic:t},s)),this.client.events.emit("session_event",{id:i,topic:t,params:s}),ux.set(o,i)}catch(o){await this.sendError({id:i,topic:t,error:o}),this.client.logger.error(o)}},this.onSessionAuthenticateResponse=(t,n)=>{const{id:i}=n;this.client.logger.trace({type:"method",method:"onSessionAuthenticateResponse",topic:t,payload:n}),xo(n)?this.events.emit(hn("session_request",i),{result:n.result}):As(n)&&this.events.emit(hn("session_request",i),{error:n.error})},this.onSessionAuthenticateRequest=async(t,n)=>{const{requester:i,authPayload:s,expiryTimestamp:o}=n.params,a=f2(JSON.stringify(n)),l=await this.getVerifyContext(a,this.client.metadata),u={requester:i,pairingTopic:t,id:n.id,authPayload:s,verifyContext:l,expiryTimestamp:o};await this.client.auth.requests.set(n.id,u),this.client.events.emit("session_authenticate",{topic:t,params:n.params,id:n.id})},this.addSessionRequestToSessionRequestQueue=t=>{this.sessionRequestQueue.queue.push(t)},this.cleanupAfterResponse=t=>{this.deletePendingSessionRequest(t.response.id,{message:"fulfilled",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=c0.idle,this.processSessionRequestQueue()},Ye.toMiliseconds(this.requestQueueDelay))},this.cleanupPendingSentRequestsForTopic=({topic:t,error:n})=>{const i=this.client.core.history.pending;i.length>0&&i.filter(s=>s.topic===t&&s.request.method==="wc_sessionRequest").forEach(s=>{const o=s.request.id,a=hn("session_request",o);if(this.events.listenerCount(a)===0)throw new Error(`emitting ${a} without any listeners`);this.events.emit(hn("session_request",s.request.id),{error:n})})},this.processSessionRequestQueue=()=>{if(this.sessionRequestQueue.state===c0.active){this.client.logger.info("session request queue is already active.");return}const t=this.sessionRequestQueue.queue[0];if(!t){this.client.logger.info("session request queue is empty.");return}try{this.sessionRequestQueue.state=c0.active,this.client.events.emit("session_request",t)}catch(n){this.client.logger.error(n)}},this.onPairingCreated=t=>{if(t.methods&&this.expectedPairingMethodMap.set(t.topic,t.methods),t.active)return;const n=this.client.proposal.getAll().find(i=>i.pairingTopic===t.topic);n&&this.onSessionProposeRequest(t.topic,Qu("wc_sessionPropose",{requiredNamespaces:n.requiredNamespaces,optionalNamespaces:n.optionalNamespaces,relays:n.relays,proposer:n.proposer,sessionProperties:n.sessionProperties},n.id))},this.isValidConnect=async t=>{if(!xc(t)){const{message:l}=Bt("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(t)}`);throw new Error(l)}const{pairingTopic:n,requiredNamespaces:i,optionalNamespaces:s,sessionProperties:o,relays:a}=t;if(qa(n)||await this.isValidPairingTopic(n),!vQe(a,!0)){const{message:l}=Bt("MISSING_OR_INVALID",`connect() relays: ${a}`);throw new Error(l)}!qa(i)&&lx(i)!==0&&this.validateNamespaces(i,"requiredNamespaces"),!qa(s)&&lx(s)!==0&&this.validateNamespaces(s,"optionalNamespaces"),qa(o)||this.validateSessionProps(o,"sessionProperties")},this.validateNamespaces=(t,n)=>{const i=wQe(t,"connect()",n);if(i)throw new Error(i.message)},this.isValidApprove=async t=>{if(!xc(t))throw new Error(Bt("MISSING_OR_INVALID",`approve() params: ${t}`).message);const{id:n,namespaces:i,relayProtocol:s,sessionProperties:o}=t;this.checkRecentlyDeleted(n),await this.isValidProposalId(n);const a=this.client.proposal.get(n),l=VU(i,"approve()");if(l)throw new Error(l.message);const u=G0e(a.requiredNamespaces,i,"approve()");if(u)throw new Error(u.message);if(!Is(s,!0)){const{message:h}=Bt("MISSING_OR_INVALID",`approve() relayProtocol: ${s}`);throw new Error(h)}qa(o)||this.validateSessionProps(o,"sessionProperties")},this.isValidReject=async t=>{if(!xc(t)){const{message:s}=Bt("MISSING_OR_INVALID",`reject() params: ${t}`);throw new Error(s)}const{id:n,reason:i}=t;if(this.checkRecentlyDeleted(n),await this.isValidProposalId(n),!xQe(i)){const{message:s}=Bt("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(i)}`);throw new Error(s)}},this.isValidSessionSettleRequest=t=>{if(!xc(t)){const{message:u}=Bt("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${t}`);throw new Error(u)}const{relay:n,controller:i,namespaces:s,expiry:o}=t;if(!W0e(n)){const{message:u}=Bt("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw new Error(u)}const a=fQe(i,"onSessionSettleRequest()");if(a)throw new Error(a.message);const l=VU(s,"onSessionSettleRequest()");if(l)throw new Error(l.message);if(E1(o)){const{message:u}=Bt("EXPIRED","onSessionSettleRequest()");throw new Error(u)}},this.isValidUpdate=async t=>{if(!xc(t)){const{message:l}=Bt("MISSING_OR_INVALID",`update() params: ${t}`);throw new Error(l)}const{topic:n,namespaces:i}=t;this.checkRecentlyDeleted(n),await this.isValidSessionTopic(n);const s=this.client.session.get(n),o=VU(i,"update()");if(o)throw new Error(o.message);const a=G0e(s.requiredNamespaces,i,"update()");if(a)throw new Error(a.message)},this.isValidExtend=async t=>{if(!xc(t)){const{message:i}=Bt("MISSING_OR_INVALID",`extend() params: ${t}`);throw new Error(i)}const{topic:n}=t;this.checkRecentlyDeleted(n),await this.isValidSessionTopic(n)},this.isValidRequest=async t=>{if(!xc(t)){const{message:l}=Bt("MISSING_OR_INVALID",`request() params: ${t}`);throw new Error(l)}const{topic:n,request:i,chainId:s,expiry:o}=t;this.checkRecentlyDeleted(n),await this.isValidSessionTopic(n);const{namespaces:a}=this.client.session.get(n);if(!V0e(a,s)){const{message:l}=Bt("MISSING_OR_INVALID",`request() chainId: ${s}`);throw new Error(l)}if(!_Qe(i)){const{message:l}=Bt("MISSING_OR_INVALID",`request() ${JSON.stringify(i)}`);throw new Error(l)}if(!CQe(a,s,i.method)){const{message:l}=Bt("MISSING_OR_INVALID",`request() method: ${i.method}`);throw new Error(l)}if(o&&!RQe(o,nF)){const{message:l}=Bt("MISSING_OR_INVALID",`request() expiry: ${o}. Expiry must be a number (in seconds) between ${nF.min} and ${nF.max}`);throw new Error(l)}},this.isValidRespond=async t=>{var n;if(!xc(t)){const{message:o}=Bt("MISSING_OR_INVALID",`respond() params: ${t}`);throw new Error(o)}const{topic:i,response:s}=t;try{await this.isValidSessionTopic(i)}catch(o){throw(n=t==null?void 0:t.response)!=null&&n.id&&this.cleanupAfterResponse(t),o}if(!EQe(s)){const{message:o}=Bt("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(s)}`);throw new Error(o)}},this.isValidPing=async t=>{if(!xc(t)){const{message:i}=Bt("MISSING_OR_INVALID",`ping() params: ${t}`);throw new Error(i)}const{topic:n}=t;await this.isValidSessionOrPairingTopic(n)},this.isValidEmit=async t=>{if(!xc(t)){const{message:a}=Bt("MISSING_OR_INVALID",`emit() params: ${t}`);throw new Error(a)}const{topic:n,event:i,chainId:s}=t;await this.isValidSessionTopic(n);const{namespaces:o}=this.client.session.get(n);if(!V0e(o,s)){const{message:a}=Bt("MISSING_OR_INVALID",`emit() chainId: ${s}`);throw new Error(a)}if(!AQe(i)){const{message:a}=Bt("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(i)}`);throw new Error(a)}if(!SQe(o,s,i.name)){const{message:a}=Bt("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(i)}`);throw new Error(a)}},this.isValidDisconnect=async t=>{if(!xc(t)){const{message:i}=Bt("MISSING_OR_INVALID",`disconnect() params: ${t}`);throw new Error(i)}const{topic:n}=t;await this.isValidSessionOrPairingTopic(n)},this.isValidAuthenticate=t=>{const{chains:n,uri:i,domain:s,nonce:o}=t;if(!Array.isArray(n)||n.length===0)throw new Error("chains is required and must be a non-empty array");if(!Is(i,!1))throw new Error("uri is required parameter");if(!Is(s,!1))throw new Error("domain is required parameter");if(!Is(o,!1))throw new Error("nonce is required parameter");if([...new Set(n.map(l=>eT(l).namespace))].length>1)throw new Error("Multi-namespace requests are not supported. Please request single namespace only.");const{namespace:a}=eT(n[0]);if(a!=="eip155")throw new Error("Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.")},this.getVerifyContext=async(t,n)=>{const i={verified:{verifyUrl:n.verifyUrl||l3,validation:"UNKNOWN",origin:n.url||""}};try{const s=await this.client.core.verify.resolve({attestationId:t,verifyUrl:n.verifyUrl});s&&(i.verified.origin=s.origin,i.verified.isScam=s.isScam,i.verified.validation=s.origin===new URL(n.url).origin?"VALID":"INVALID")}catch(s){this.client.logger.info(s)}return this.client.logger.info(`Verify context: ${JSON.stringify(i)}`),i},this.validateSessionProps=(t,n)=>{Object.values(t).forEach(i=>{if(!Is(i,!1)){const{message:s}=Bt("MISSING_OR_INVALID",`${n} must be in Record format. Received: ${JSON.stringify(i)}`);throw new Error(s)}})},this.getPendingAuthRequest=t=>{const n=this.client.auth.requests.get(t);return typeof n=="object"?n:void 0},this.addToRecentlyDeleted=(t,n)=>{if(this.recentlyDeletedMap.set(t,n),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let i=0;const s=this.recentlyDeletedLimit/2;for(const o of this.recentlyDeletedMap.keys()){if(i++>=s)break;this.recentlyDeletedMap.delete(o)}}},this.checkRecentlyDeleted=t=>{const n=this.recentlyDeletedMap.get(t);if(n){const{message:i}=Bt("MISSING_OR_INVALID",`Record was recently deleted - ${n}: ${t}`);throw new Error(i)}}}async isInitialized(){if(!this.initialized){const{message:e}=Bt("NOT_INITIALIZED",this.name);throw new Error(e)}await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(rl.message,async e=>{const{topic:t,message:n}=e,{publicKey:i}=this.client.auth.authKeys.keys.includes(ET)?this.client.auth.authKeys.get(ET):{responseTopic:void 0,publicKey:void 0},s=await this.client.core.crypto.decode(t,n,{receiverPublicKey:i});try{gy(s)?(this.client.core.history.set(t,s),this.onRelayEventRequest({topic:t,payload:s})):Bm(s)?(await this.client.core.history.resolve(s),await this.onRelayEventResponse({topic:t,payload:s}),this.client.core.history.delete(t,s.id)):this.onRelayEventUnknownPayload({topic:t,payload:s})}catch(o){this.client.logger.error(o)}})}registerExpirerEvents(){this.client.core.expirer.on(hu.expired,async e=>{const{topic:t,id:n}=xde(e.target);if(n&&this.client.pendingRequest.keys.includes(n))return await this.deletePendingSessionRequest(n,Bt("EXPIRED"),!0);t?this.client.session.keys.includes(t)&&(await this.deleteSession({topic:t,expirerHasDeleted:!0}),this.client.events.emit("session_expire",{topic:t})):n&&(await this.deleteProposal(n,!0),this.client.events.emit("proposal_expire",{id:n}))})}registerPairingEvents(){this.client.core.pairing.events.on(c3.create,e=>this.onPairingCreated(e)),this.client.core.pairing.events.on(c3.delete,e=>{this.addToRecentlyDeleted(e.topic,"pairing")})}isValidPairingTopic(e){if(!Is(e,!1)){const{message:t}=Bt("MISSING_OR_INVALID",`pairing topic should be a string: ${e}`);throw new Error(t)}if(!this.client.core.pairing.pairings.keys.includes(e)){const{message:t}=Bt("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw new Error(t)}if(E1(this.client.core.pairing.pairings.get(e).expiry)){const{message:t}=Bt("EXPIRED",`pairing topic: ${e}`);throw new Error(t)}}async isValidSessionTopic(e){if(!Is(e,!1)){const{message:t}=Bt("MISSING_OR_INVALID",`session topic should be a string: ${e}`);throw new Error(t)}if(this.checkRecentlyDeleted(e),!this.client.session.keys.includes(e)){const{message:t}=Bt("NO_MATCHING_KEY",`session topic doesn't exist: ${e}`);throw new Error(t)}if(E1(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});const{message:t}=Bt("EXPIRED",`session topic: ${e}`);throw new Error(t)}if(!this.client.core.crypto.keychain.has(e)){const{message:t}=Bt("MISSING_OR_INVALID",`session topic does not exist in keychain: ${e}`);throw await this.deleteSession({topic:e}),new 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(Is(e,!1)){const{message:t}=Bt("NO_MATCHING_KEY",`session or pairing topic doesn't exist: ${e}`);throw new Error(t)}else{const{message:t}=Bt("MISSING_OR_INVALID",`session or pairing topic should be a string: ${e}`);throw new Error(t)}}async isValidProposalId(e){if(!yQe(e)){const{message:t}=Bt("MISSING_OR_INVALID",`proposal id should be a number: ${e}`);throw new Error(t)}if(!this.client.proposal.keys.includes(e)){const{message:t}=Bt("NO_MATCHING_KEY",`proposal id doesn't exist: ${e}`);throw new Error(t)}if(E1(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);const{message:t}=Bt("EXPIRED",`proposal id: ${e}`);throw new Error(t)}}},Utt=class extends d2{constructor(e,t){super(e,t,Ett,tF),this.core=e,this.logger=t}},Ftt=class extends d2{constructor(e,t){super(e,t,Att,tF),this.core=e,this.logger=t}};class jtt extends d2{constructor(e,t){super(e,t,Stt,tF,n=>n.id),this.core=e,this.logger=t}}class ztt extends d2{constructor(e,t){super(e,t,ktt,_T,()=>ET),this.core=e,this.logger=t}}class Htt extends d2{constructor(e,t){super(e,t,Mtt,_T),this.core=e,this.logger=t}}class qtt extends d2{constructor(e,t){super(e,t,Ntt,_T,n=>n.id),this.core=e,this.logger=t}}class Wtt{constructor(e,t){this.core=e,this.logger=t,this.authKeys=new ztt(this.core,this.logger),this.pairingTopics=new Htt(this.core,this.logger),this.requests=new qtt(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}let $pe=class extends VQe{constructor(e){super(e),this.protocol=Rpe,this.version=kpe,this.name=rF.name,this.events=new pn.EventEmitter,this.on=(n,i)=>this.events.on(n,i),this.once=(n,i)=>this.events.once(n,i),this.off=(n,i)=>this.events.off(n,i),this.removeListener=(n,i)=>this.events.removeListener(n,i),this.removeAllListeners=n=>this.events.removeAllListeners(n),this.connect=async n=>{try{return await this.engine.connect(n)}catch(i){throw this.logger.error(i.message),i}},this.pair=async n=>{try{return await this.engine.pair(n)}catch(i){throw this.logger.error(i.message),i}},this.approve=async n=>{try{return await this.engine.approve(n)}catch(i){throw this.logger.error(i.message),i}},this.reject=async n=>{try{return await this.engine.reject(n)}catch(i){throw this.logger.error(i.message),i}},this.update=async n=>{try{return await this.engine.update(n)}catch(i){throw this.logger.error(i.message),i}},this.extend=async n=>{try{return await this.engine.extend(n)}catch(i){throw this.logger.error(i.message),i}},this.request=async n=>{try{return await this.engine.request(n)}catch(i){throw this.logger.error(i.message),i}},this.respond=async n=>{try{return await this.engine.respond(n)}catch(i){throw this.logger.error(i.message),i}},this.ping=async n=>{try{return await this.engine.ping(n)}catch(i){throw this.logger.error(i.message),i}},this.emit=async n=>{try{return await this.engine.emit(n)}catch(i){throw this.logger.error(i.message),i}},this.disconnect=async n=>{try{return await this.engine.disconnect(n)}catch(i){throw this.logger.error(i.message),i}},this.find=n=>{try{return this.engine.find(n)}catch(i){throw this.logger.error(i.message),i}},this.getPendingSessionRequests=()=>{try{return this.engine.getPendingSessionRequests()}catch(n){throw this.logger.error(n.message),n}},this.authenticate=async n=>{try{return await this.engine.authenticate(n)}catch(i){throw this.logger.error(i.message),i}},this.formatAuthMessage=n=>{try{return this.engine.formatAuthMessage(n)}catch(i){throw this.logger.error(i.message),i}},this.approveSessionAuthenticate=async n=>{try{return await this.engine.approveSessionAuthenticate(n)}catch(i){throw this.logger.error(i.message),i}},this.rejectSessionAuthenticate=async n=>{try{return await this.engine.rejectSessionAuthenticate(n)}catch(i){throw this.logger.error(i.message),i}},this.name=(e==null?void 0:e.name)||rF.name,this.metadata=(e==null?void 0:e.metadata)||RKe();const t=typeof(e==null?void 0:e.logger)<"u"&&typeof(e==null?void 0:e.logger)!="string"?e.logger:mc(h1({level:(e==null?void 0:e.logger)||rF.logger}));this.core=(e==null?void 0:e.core)||new _tt(e),this.logger=gi(t,this.name),this.session=new Ftt(this.core,this.logger),this.proposal=new Utt(this.core,this.logger),this.pendingRequest=new jtt(this.core,this.logger),this.engine=new Ltt(this),this.auth=new Wtt(this.core,this.logger)}static async init(e){const t=new $pe(e);return await t.initialize(),t}get context(){return xi(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace("Initialized");try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.engine.init(),await this.auth.init(),this.core.verify.init({verifyUrl:this.metadata.verifyUrl}),this.logger.info("SignClient Initialization Success")}catch(e){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(e.message),e}}};const Bpe="error",Vtt="wss://relay.walletconnect.com",Gtt="wc",Ktt="universal_provider",Lpe=`${Gtt}@2:${Ktt}:`,Ztt="https://rpc.walletconnect.com/v1/",l0={DEFAULT_CHAIN_CHANGED:"default_chain_changed"};var px=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof dr<"u"?dr:typeof self<"u"?self:{},iF={exports:{}};/** * @license * Lodash * Copyright OpenJS Foundation and other contributors * Released under MIT license * Based on Underscore.js 1.8.3 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors -*/(function(r,e){(function(){var t,n="4.17.21",i=200,s="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",o="Expected a function",a="Invalid `variable` option passed into `_.template`",l="__lodash_hash_undefined__",u=500,h="__lodash_placeholder__",p=1,g=2,w=4,y=1,C=2,R=1,k=2,M=4,O=8,B=16,j=32,G=64,D=128,$=256,V=512,te=30,W="...",P=800,b=16,d=1,m=2,x=3,A=1/0,I=9007199254740991,T=17976931348623157e292,S=NaN,E=4294967295,_=E-1,U=E>>>1,ie=[["ary",D],["bind",R],["bindKey",k],["curry",O],["curryRight",B],["flip",V],["partial",j],["partialRight",G],["rearg",$]],q="[object Arguments]",Y="[object Array]",K="[object AsyncFunction]",ee="[object Boolean]",re="[object Date]",z="[object DOMException]",L="[object Error]",H="[object Function]",le="[object GeneratorFunction]",de="[object Map]",Se="[object Number]",Me="[object Null]",ke="[object Object]",Ke="[object Promise]",Te="[object Proxy]",je="[object RegExp]",De="[object Set]",Je="[object String]",ze="[object Symbol]",qe="[object Undefined]",Ve="[object WeakMap]",He="[object WeakSet]",Be="[object ArrayBuffer]",Ge="[object DataView]",Xe="[object Float32Array]",se="[object Float64Array]",J="[object Int8Array]",Q="[object Int16Array]",ue="[object Int32Array]",we="[object Uint8Array]",ye="[object Uint8ClampedArray]",Ie="[object Uint16Array]",it="[object Uint32Array]",ot=/\b__p \+= '';/g,tt=/\b(__p \+=) '' \+/g,It=/(__e\(.*?\)|\b__t\)) \+\n'';/g,st=/&(?:amp|lt|gt|quot|#39);/g,Nt=/[&<>"']/g,Lt=RegExp(st.source),ht=RegExp(Nt.source),wt=/<%-([\s\S]+?)%>/g,Ut=/<%([\s\S]+?)%>/g,ft=/<%=([\s\S]+?)%>/g,dt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Vt=/^\w*$/,xt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,pt=/[\\^$.*+?()[\]{}|]/g,Gt=RegExp(pt.source),gt=/^\s+/,vt=/\s/,Ft=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,lt=/\{\n\/\* \[wrapped with (.+)\] \*/,_t=/,? & /,Kt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,zt=/[()=,{}\[\]\/\s]/,Ht=/\\(\\)?/g,br=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Rt=/\w*$/,ur=/^[-+]0x[0-9a-f]+$/i,Yn=/^0b[01]+$/i,Qn=/^\[object .+?Constructor\]$/,Xn=/^0o[0-7]+$/i,ei=/^(?:0|[1-9]\d*)$/,gn=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,zn=/($^)/,Pi=/['\n\r\u2028\u2029\\]/g,Hn="\\ud800-\\udfff",Oi="\\u0300-\\u036f",Di="\\ufe20-\\ufe2f",mi="\\u20d0-\\u20ff",_i=Oi+Di+mi,Ei="\\u2700-\\u27bf",En="a-z\\xdf-\\xf6\\xf8-\\xff",Is="\\xac\\xb1\\xd7\\xf7",Rs="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Ts="\\u2000-\\u206f",Zo=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ka="A-Z\\xc0-\\xd6\\xd8-\\xde",ib="\\ufe0e\\ufe0f",Zf=Is+Rs+Ts+Zo,N0="['’]",P0="["+Hn+"]",ag="["+Zf+"]",vu="["+_i+"]",sb="\\d+",h7="["+Ei+"]",ob="["+En+"]",ab="[^"+Hn+Zf+sb+Ei+En+Ka+"]",Jf="\\ud83c[\\udffb-\\udfff]",f7="(?:"+vu+"|"+Jf+")",cb="[^"+Hn+"]",Yf="(?:\\ud83c[\\udde6-\\uddff]){2}",yu="[\\ud800-\\udbff][\\udc00-\\udfff]",Fs="["+Ka+"]",lb="\\u200d",ub="(?:"+ob+"|"+ab+")",xu="(?:"+Fs+"|"+ab+")",hb="(?:"+N0+"(?:d|ll|m|re|s|t|ve))?",fb="(?:"+N0+"(?:D|LL|M|RE|S|T|VE))?",db=f7+"?",pb="["+ib+"]?",d7="(?:"+lb+"(?:"+[cb,Yf,yu].join("|")+")"+pb+db+")*",bh="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",C5="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",gb=pb+db+d7,cg="(?:"+[h7,Yf,yu].join("|")+")"+gb,p7="(?:"+[cb+vu+"?",vu,Yf,yu,P0].join("|")+")",mb=RegExp(N0,"g"),g7=RegExp(vu,"g"),Qf=RegExp(Jf+"(?="+Jf+")|"+p7+gb,"g"),S5=RegExp([Fs+"?"+ob+"+"+hb+"(?="+[ag,Fs,"$"].join("|")+")",xu+"+"+fb+"(?="+[ag,Fs+ub,"$"].join("|")+")",Fs+"?"+ub+"+"+hb,Fs+"+"+fb,C5,bh,sb,cg].join("|"),"g"),I5=RegExp("["+lb+Hn+_i+ib+"]"),O0=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,R5=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],m7=-1,Cr={};Cr[Xe]=Cr[se]=Cr[J]=Cr[Q]=Cr[ue]=Cr[we]=Cr[ye]=Cr[Ie]=Cr[it]=!0,Cr[q]=Cr[Y]=Cr[Be]=Cr[ee]=Cr[Ge]=Cr[re]=Cr[L]=Cr[H]=Cr[de]=Cr[Se]=Cr[ke]=Cr[je]=Cr[De]=Cr[Je]=Cr[Ve]=!1;var _r={};_r[q]=_r[Y]=_r[Be]=_r[Ge]=_r[ee]=_r[re]=_r[Xe]=_r[se]=_r[J]=_r[Q]=_r[ue]=_r[de]=_r[Se]=_r[ke]=_r[je]=_r[De]=_r[Je]=_r[ze]=_r[we]=_r[ye]=_r[Ie]=_r[it]=!0,_r[L]=_r[H]=_r[Ve]=!1;var ve={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Pe={"&":"&","<":"<",">":">",'"':""","'":"'"},at={"&":"&","<":"<",">":">",""":'"',"'":"'"},nr={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ri=parseFloat,$r=parseInt,bi=typeof gx=="object"&&gx&&gx.Object===Object&&gx,fs=typeof self=="object"&&self&&self.Object===Object&&self,Sr=bi||fs||Function("return this")(),qn=e&&!e.nodeType&&e,ni=qn&&!0&&r&&!r.nodeType&&r,Jo=ni&&ni.exports===qn,Zi=Jo&&bi.process,ln=function(){try{var he=ni&&ni.require&&ni.require("util").types;return he||Zi&&Zi.binding&&Zi.binding("util")}catch{}}(),Mo=ln&&ln.isArrayBuffer,Rc=ln&&ln.isDate,Za=ln&&ln.isMap,ol=ln&&ln.isRegExp,lg=ln&&ln.isSet,Xf=ln&&ln.isTypedArray;function Ln(he,_e,be){switch(be.length){case 0:return he.call(_e);case 1:return he.call(_e,be[0]);case 2:return he.call(_e,be[0],be[1]);case 3:return he.call(_e,be[0],be[1],be[2])}return he.apply(_e,be)}function yj(he,_e,be,We){for(var kt=-1,fr=he==null?0:he.length;++kt-1}function bb(he,_e,be){for(var We=-1,kt=he==null?0:he.length;++We-1;);return be}function A7(he,_e){for(var be=he.length;be--&&al(_e,he[be],0)>-1;);return be}function Tj(he,_e){for(var be=he.length,We=0;be--;)he[be]===_e&&++We;return We}var kj=xb(ve),Mj=xb(Pe);function Nj(he){return"\\"+nr[he]}function Pj(he,_e){return he==null?t:he[_e]}function cl(he){return I5.test(he)}function Oj(he){return O0.test(he)}function Dj(he){for(var _e,be=[];!(_e=he.next()).done;)be.push(_e.value);return be}function Cb(he){var _e=-1,be=Array(he.size);return he.forEach(function(We,kt){be[++_e]=[kt,We]}),be}function C7(he,_e){return function(be){return he(_e(be))}}function Xo(he,_e){for(var be=-1,We=he.length,kt=0,fr=[];++be-1}function _z(c,f){var v=this.__data__,N=Q0(v,c);return N<0?(++this.size,v.push([c,f])):v[N][1]=f,this}Ys.prototype.clear=wz,Ys.prototype.delete=vz,Ys.prototype.get=yz,Ys.prototype.has=xz,Ys.prototype.set=_z;function Qs(c){var f=-1,v=c==null?0:c.length;for(this.clear();++f=f?c:f)),c}function Ui(c,f,v,N,F,X){var ne,ae=f&p,fe=f&g,Ae=f&w;if(v&&(ne=F?v(c,N,F,X):v(c)),ne!==t)return ne;if(!Or(c))return c;var Ce=Mt(c);if(Ce){if(ne=SH(c),!ae)return ii(c,ne)}else{var Re=kn(c),$e=Re==H||Re==le;if(sa(c))return a9(c,ae);if(Re==ke||Re==q||$e&&!F){if(ne=fe||$e?{}:S9(c),!ae)return fe?gH(c,Lz(ne,c)):pH(c,B7(ne,c))}else{if(!_r[Re])return F?c:{};ne=IH(c,Re,ae)}}X||(X=new os);var Qe=X.get(c);if(Qe)return Qe;X.set(c,ne),t_(c)?c.forEach(function(bt){ne.add(Ui(bt,f,v,bt,c,X))}):X9(c)&&c.forEach(function(bt,Qt){ne.set(Qt,Ui(bt,f,v,Qt,c,X))});var mt=Ae?fe?Yb:Jb:fe?oi:hn,jt=Ce?t:mt(c);return $i(jt||c,function(bt,Qt){jt&&(Qt=bt,bt=c[Qt]),Ah(ne,Qt,Ui(bt,f,v,Qt,c,X))}),ne}function Uz(c){var f=hn(c);return function(v){return L7(v,c,f)}}function L7(c,f,v){var N=v.length;if(c==null)return!N;for(c=Er(c);N--;){var F=v[N],X=f[F],ne=c[F];if(ne===t&&!(F in c)||!X(ne))return!1}return!0}function U7(c,f,v){if(typeof c!="function")throw new Bi(o);return Mh(function(){c.apply(t,v)},f)}function Ch(c,f,v,N){var F=-1,X=D0,ne=!0,ae=c.length,fe=[],Ae=f.length;if(!ae)return fe;v&&(f=Pr(f,Ai(v))),N?(X=bb,ne=!1):f.length>=i&&(X=wh,ne=!1,f=new Qa(f));e:for(;++FF?0:F+v),N=N===t||N>F?F:Ot(N),N<0&&(N+=F),N=v>N?0:n_(N);v0&&v(ae)?f>1?vn(ae,f-1,v,N,F):Qo(F,ae):N||(F[F.length]=ae)}return F}var Nb=d9(),z7=d9(!0);function ks(c,f){return c&&Nb(c,f,hn)}function Pb(c,f){return c&&z7(c,f,hn)}function ep(c,f){return Yo(f,function(v){return no(c[v])})}function ec(c,f){f=na(f,c);for(var v=0,N=f.length;c!=null&&vf}function zz(c,f){return c!=null&&vr.call(c,f)}function Hz(c,f){return c!=null&&f in Er(c)}function qz(c,f,v){return c>=Tn(f,v)&&c=120&&Ce.length>=120)?new Qa(ne&&Ce):t}Ce=c[0];var Re=-1,$e=ae[0];e:for(;++Re-1;)ae!==c&&W0.call(ae,fe,1),W0.call(c,fe,1);return c}function X7(c,f){for(var v=c?f.length:0,N=v-1;v--;){var F=f[v];if(v==N||F!==X){var X=F;ro(F)?W0.call(c,F,1):Hb(c,F)}}return c}function Fb(c,f){return c+K0(P7()*(f-c+1))}function nH(c,f,v,N){for(var F=-1,X=on(G0((f-c)/(v||1)),0),ne=be(X);X--;)ne[N?X:++F]=c,c+=v;return ne}function jb(c,f){var v="";if(!c||f<1||f>I)return v;do f%2&&(v+=c),f=K0(f/2),f&&(c+=c);while(f);return v}function Zt(c,f){return iw(T9(c,f,ai),c+"")}function iH(c){return $7(vl(c))}function sH(c,f){var v=vl(c);return hp(v,Xa(f,0,v.length))}function Rh(c,f,v,N){if(!Or(c))return c;f=na(f,c);for(var F=-1,X=f.length,ne=X-1,ae=c;ae!=null&&++FF?0:F+f),v=v>F?F:v,v<0&&(v+=F),F=f>v?0:v-f>>>0,f>>>=0;for(var X=be(F);++N>>1,ne=c[X];ne!==null&&!Si(ne)&&(v?ne<=f:ne=i){var Ae=f?null:vH(c);if(Ae)return B0(Ae);ne=!1,F=wh,fe=new Qa}else fe=f?[]:ae;e:for(;++N=N?c:Fi(c,f,v)}var o9=Jj||function(c){return Sr.clearTimeout(c)};function a9(c,f){if(f)return c.slice();var v=c.length,N=R7?R7(v):new c.constructor(v);return c.copy(N),N}function Gb(c){var f=new c.constructor(c.byteLength);return new H0(f).set(new H0(c)),f}function uH(c,f){var v=f?Gb(c.buffer):c.buffer;return new c.constructor(v,c.byteOffset,c.byteLength)}function hH(c){var f=new c.constructor(c.source,Rt.exec(c));return f.lastIndex=c.lastIndex,f}function fH(c){return Eh?Er(Eh.call(c)):{}}function c9(c,f){var v=f?Gb(c.buffer):c.buffer;return new c.constructor(v,c.byteOffset,c.length)}function l9(c,f){if(c!==f){var v=c!==t,N=c===null,F=c===c,X=Si(c),ne=f!==t,ae=f===null,fe=f===f,Ae=Si(f);if(!ae&&!Ae&&!X&&c>f||X&&ne&&fe&&!ae&&!Ae||N&&ne&&fe||!v&&fe||!F)return 1;if(!N&&!X&&!Ae&&c=ae)return fe;var Ae=v[N];return fe*(Ae=="desc"?-1:1)}}return c.index-f.index}function u9(c,f,v,N){for(var F=-1,X=c.length,ne=v.length,ae=-1,fe=f.length,Ae=on(X-ne,0),Ce=be(fe+Ae),Re=!N;++ae1?v[F-1]:t,ne=F>2?v[2]:t;for(X=c.length>3&&typeof X=="function"?(F--,X):t,ne&&Vn(v[0],v[1],ne)&&(X=F<3?t:X,F=1),f=Er(f);++N-1?F[X?f[ne]:ne]:t}}function m9(c){return to(function(f){var v=f.length,N=v,F=Li.prototype.thru;for(c&&f.reverse();N--;){var X=f[N];if(typeof X!="function")throw new Bi(o);if(F&&!ne&&lp(X)=="wrapper")var ne=new Li([],!0)}for(N=ne?N:v;++N1&&rr.reverse(),Ce&&feae))return!1;var Ae=X.get(c),Ce=X.get(f);if(Ae&&Ce)return Ae==f&&Ce==c;var Re=-1,$e=!0,Qe=v&C?new Qa:t;for(X.set(c,f),X.set(f,c);++Re1?"& ":"")+f[N],f=f.join(v>2?", ":" "),c.replace(Ft,`{ +*/(function(r,e){(function(){var t,n="4.17.21",i=200,s="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",o="Expected a function",a="Invalid `variable` option passed into `_.template`",l="__lodash_hash_undefined__",u=500,h="__lodash_placeholder__",p=1,g=2,w=4,y=1,C=2,T=1,k=2,N=4,O=8,B=16,z=32,G=64,$=128,D=256,V=512,Q=30,F="...",M=800,b=16,d=1,m=2,x=3,A=1/0,I=9007199254740991,R=17976931348623157e292,S=0/0,E=4294967295,_=E-1,L=E>>>1,ie=[["ary",$],["bind",T],["bindKey",k],["curry",O],["curryRight",B],["flip",V],["partial",z],["partialRight",G],["rearg",D]],q="[object Arguments]",Y="[object Array]",K="[object AsyncFunction]",te="[object Boolean]",re="[object Date]",H="[object DOMException]",U="[object Error]",W="[object Function]",le="[object GeneratorFunction]",de="[object Map]",Se="[object Number]",Me="[object Null]",ke="[object Object]",Ke="[object Promise]",Re="[object Proxy]",je="[object RegExp]",De="[object Set]",Je="[object String]",ze="[object Symbol]",qe="[object Undefined]",Ve="[object WeakMap]",He="[object WeakSet]",Be="[object ArrayBuffer]",Ge="[object DataView]",Xe="[object Float32Array]",se="[object Float64Array]",J="[object Int8Array]",X="[object Int16Array]",ue="[object Int32Array]",we="[object Uint8Array]",ye="[object Uint8ClampedArray]",Ie="[object Uint16Array]",it="[object Uint32Array]",ot=/\b__p \+= '';/g,tt=/\b(__p \+=) '' \+/g,It=/(__e\(.*?\)|\b__t\)) \+\n'';/g,st=/&(?:amp|lt|gt|quot|#39);/g,Nt=/[&<>"']/g,Lt=RegExp(st.source),ht=RegExp(Nt.source),wt=/<%-([\s\S]+?)%>/g,Ut=/<%([\s\S]+?)%>/g,ft=/<%=([\s\S]+?)%>/g,dt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Vt=/^\w*$/,xt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,pt=/[\\^$.*+?()[\]{}|]/g,Gt=RegExp(pt.source),gt=/^\s+/,vt=/\s/,Ft=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,lt=/\{\n\/\* \[wrapped with (.+)\] \*/,_t=/,? & /,Kt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Ht=/[()=,{}\[\]\/\s]/,qt=/\\(\\)?/g,br=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Tt=/\w*$/,ur=/^[-+]0x[0-9a-f]+$/i,Xn=/^0b[01]+$/i,ei=/^\[object .+?Constructor\]$/,ti=/^0o[0-7]+$/i,ri=/^(?:0|[1-9]\d*)$/,bn=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,qn=/($^)/,Di=/['\n\r\u2028\u2029\\]/g,Wn="\\ud800-\\udfff",$i="\\u0300-\\u036f",Bi="\\ufe20-\\ufe2f",bi="\\u20d0-\\u20ff",Ei=$i+Bi+bi,Ai="\\u2700-\\u27bf",Cn="a-z\\xdf-\\xf6\\xf8-\\xff",Rs="\\xac\\xb1\\xd7\\xf7",ks="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Ms="\\u2000-\\u206f",Zo=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ka="A-Z\\xc0-\\xd6\\xd8-\\xde",nb="\\ufe0e\\ufe0f",Qf=Rs+ks+Ms+Zo,R0="['’]",k0="["+Wn+"]",og="["+Qf+"]",xu="["+Ei+"]",ib="\\d+",h7="["+Ai+"]",sb="["+Cn+"]",ob="[^"+Wn+Qf+ib+Ai+Cn+Ka+"]",Xf="\\ud83c[\\udffb-\\udfff]",f7="(?:"+xu+"|"+Xf+")",ab="[^"+Wn+"]",ed="(?:\\ud83c[\\udde6-\\uddff]){2}",_u="[\\ud800-\\udbff][\\udc00-\\udfff]",zs="["+Ka+"]",cb="\\u200d",lb="(?:"+sb+"|"+ob+")",Eu="(?:"+zs+"|"+ob+")",ub="(?:"+R0+"(?:d|ll|m|re|s|t|ve))?",hb="(?:"+R0+"(?:D|LL|M|RE|S|T|VE))?",fb=f7+"?",db="["+nb+"]?",d7="(?:"+cb+"(?:"+[ab,ed,_u].join("|")+")"+db+fb+")*",bh="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",_5="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",pb=db+fb+d7,ag="(?:"+[h7,ed,_u].join("|")+")"+pb,p7="(?:"+[ab+xu+"?",xu,ed,_u,k0].join("|")+")",gb=RegExp(R0,"g"),g7=RegExp(xu,"g"),td=RegExp(Xf+"(?="+Xf+")|"+p7+pb,"g"),E5=RegExp([zs+"?"+sb+"+"+ub+"(?="+[og,zs,"$"].join("|")+")",Eu+"+"+hb+"(?="+[og,zs+lb,"$"].join("|")+")",zs+"?"+lb+"+"+ub,zs+"+"+hb,_5,bh,ib,ag].join("|"),"g"),A5=RegExp("["+cb+Wn+Ei+nb+"]"),M0=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,C5=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],m7=-1,Cr={};Cr[Xe]=Cr[se]=Cr[J]=Cr[X]=Cr[ue]=Cr[we]=Cr[ye]=Cr[Ie]=Cr[it]=!0,Cr[q]=Cr[Y]=Cr[Be]=Cr[te]=Cr[Ge]=Cr[re]=Cr[U]=Cr[W]=Cr[de]=Cr[Se]=Cr[ke]=Cr[je]=Cr[De]=Cr[Je]=Cr[Ve]=!1;var _r={};_r[q]=_r[Y]=_r[Be]=_r[Ge]=_r[te]=_r[re]=_r[Xe]=_r[se]=_r[J]=_r[X]=_r[ue]=_r[de]=_r[Se]=_r[ke]=_r[je]=_r[De]=_r[Je]=_r[ze]=_r[we]=_r[ye]=_r[Ie]=_r[it]=!0,_r[U]=_r[W]=_r[Ve]=!1;var ve={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Pe={"&":"&","<":"<",">":">",'"':""","'":"'"},at={"&":"&","<":"<",">":">",""":'"',"'":"'"},nr={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ii=parseFloat,$r=parseInt,wi=typeof px=="object"&&px&&px.Object===Object&&px,ps=typeof self=="object"&&self&&self.Object===Object&&self,Sr=wi||ps||Function("return this")(),Vn=e&&!e.nodeType&&e,si=Vn&&!0&&r&&!r.nodeType&&r,Jo=si&&si.exports===Vn,Yi=Jo&&wi.process,un=function(){try{var he=si&&si.require&&si.require("util").types;return he||Yi&&Yi.binding&&Yi.binding("util")}catch{}}(),No=un&&un.isArrayBuffer,Tc=un&&un.isDate,Za=un&&un.isMap,cl=un&&un.isRegExp,cg=un&&un.isSet,rd=un&&un.isTypedArray;function Fn(he,_e,be){switch(be.length){case 0:return he.call(_e);case 1:return he.call(_e,be[0]);case 2:return he.call(_e,be[0],be[1]);case 3:return he.call(_e,be[0],be[1],be[2])}return he.apply(_e,be)}function pj(he,_e,be,We){for(var kt=-1,fr=he==null?0:he.length;++kt-1}function mb(he,_e,be){for(var We=-1,kt=he==null?0:he.length;++We-1;);return be}function A7(he,_e){for(var be=he.length;be--&&ll(_e,he[be],0)>-1;);return be}function Ej(he,_e){for(var be=he.length,We=0;be--;)he[be]===_e&&++We;return We}var Aj=yb(ve),Cj=yb(Pe);function Sj(he){return"\\"+nr[he]}function Ij(he,_e){return he==null?t:he[_e]}function ul(he){return A5.test(he)}function Tj(he){return M0.test(he)}function Rj(he){for(var _e,be=[];!(_e=he.next()).done;)be.push(_e.value);return be}function Ab(he){var _e=-1,be=Array(he.size);return he.forEach(function(We,kt){be[++_e]=[kt,We]}),be}function C7(he,_e){return function(be){return he(_e(be))}}function Xo(he,_e){for(var be=-1,We=he.length,kt=0,fr=[];++be-1}function mz(c,f){var v=this.__data__,P=Z0(v,c);return P<0?(++this.size,v.push([c,f])):v[P][1]=f,this}Xs.prototype.clear=fz,Xs.prototype.delete=dz,Xs.prototype.get=pz,Xs.prototype.has=gz,Xs.prototype.set=mz;function eo(c){var f=-1,v=c==null?0:c.length;for(this.clear();++f=f?c:f)),c}function ji(c,f,v,P,j,ee){var ne,ae=f&p,fe=f&g,Ae=f&w;if(v&&(ne=j?v(c,P,j,ee):v(c)),ne!==t)return ne;if(!Or(c))return c;var Ce=Mt(c);if(Ce){if(ne=yH(c),!ae)return oi(c,ne)}else{var Te=Nn(c),$e=Te==W||Te==le;if(sa(c))return a9(c,ae);if(Te==ke||Te==q||$e&&!j){if(ne=fe||$e?{}:S9(c),!ae)return fe?lH(c,Nz(ne,c)):cH(c,B7(ne,c))}else{if(!_r[Te])return j?c:{};ne=xH(c,Te,ae)}}ee||(ee=new cs);var Qe=ee.get(c);if(Qe)return Qe;ee.set(c,ne),t_(c)?c.forEach(function(bt){ne.add(ji(bt,f,v,bt,c,ee))}):X9(c)&&c.forEach(function(bt,Qt){ne.set(Qt,ji(bt,f,v,Qt,c,ee))});var mt=Ae?fe?Jb:Zb:fe?ci:fn,jt=Ce?t:mt(c);return Li(jt||c,function(bt,Qt){jt&&(Qt=bt,bt=c[Qt]),Ah(ne,Qt,ji(bt,f,v,Qt,c,ee))}),ne}function Pz(c){var f=fn(c);return function(v){return L7(v,c,f)}}function L7(c,f,v){var P=v.length;if(c==null)return!P;for(c=Er(c);P--;){var j=v[P],ee=f[j],ne=c[j];if(ne===t&&!(j in c)||!ee(ne))return!1}return!0}function U7(c,f,v){if(typeof c!="function")throw new Ui(o);return Mh(function(){c.apply(t,v)},f)}function Ch(c,f,v,P){var j=-1,ee=N0,ne=!0,ae=c.length,fe=[],Ae=f.length;if(!ae)return fe;v&&(f=Pr(f,Ci(v))),P?(ee=mb,ne=!1):f.length>=i&&(ee=wh,ne=!1,f=new Qa(f));e:for(;++jj?0:j+v),P=P===t||P>j?j:Ot(P),P<0&&(P+=j),P=v>P?0:n_(P);v0&&v(ae)?f>1?xn(ae,f-1,v,P,j):Qo(j,ae):P||(j[j.length]=ae)}return j}var Mb=d9(),z7=d9(!0);function Ns(c,f){return c&&Mb(c,f,fn)}function Nb(c,f){return c&&z7(c,f,fn)}function Y0(c,f){return Yo(f,function(v){return so(c[v])})}function ec(c,f){f=na(f,c);for(var v=0,P=f.length;c!=null&&vf}function $z(c,f){return c!=null&&vr.call(c,f)}function Bz(c,f){return c!=null&&f in Er(c)}function Lz(c,f,v){return c>=Mn(f,v)&&c=120&&Ce.length>=120)?new Qa(ne&&Ce):t}Ce=c[0];var Te=-1,$e=ae[0];e:for(;++Te-1;)ae!==c&&z0.call(ae,fe,1),z0.call(c,fe,1);return c}function X7(c,f){for(var v=c?f.length:0,P=v-1;v--;){var j=f[v];if(v==P||j!==ee){var ee=j;io(j)?z0.call(c,j,1):zb(c,j)}}return c}function Ub(c,f){return c+W0(P7()*(f-c+1))}function Yz(c,f,v,P){for(var j=-1,ee=an(q0((f-c)/(v||1)),0),ne=be(ee);ee--;)ne[P?ee:++j]=c,c+=v;return ne}function Fb(c,f){var v="";if(!c||f<1||f>I)return v;do f%2&&(v+=c),f=W0(f/2),f&&(c+=c);while(f);return v}function Zt(c,f){return nw(R9(c,f,li),c+"")}function Qz(c){return $7(xl(c))}function Xz(c,f){var v=xl(c);return cp(v,Xa(f,0,v.length))}function Th(c,f,v,P){if(!Or(c))return c;f=na(f,c);for(var j=-1,ee=f.length,ne=ee-1,ae=c;ae!=null&&++jj?0:j+f),v=v>j?j:v,v<0&&(v+=j),j=f>v?0:v-f>>>0,f>>>=0;for(var ee=be(j);++P>>1,ne=c[ee];ne!==null&&!Ii(ne)&&(v?ne<=f:ne=i){var Ae=f?null:dH(c);if(Ae)return O0(Ae);ne=!1,j=wh,fe=new Qa}else fe=f?[]:ae;e:for(;++P=P?c:zi(c,f,v)}var o9=qj||function(c){return Sr.clearTimeout(c)};function a9(c,f){if(f)return c.slice();var v=c.length,P=T7?T7(v):new c.constructor(v);return c.copy(P),P}function Vb(c){var f=new c.constructor(c.byteLength);return new F0(f).set(new F0(c)),f}function iH(c,f){var v=f?Vb(c.buffer):c.buffer;return new c.constructor(v,c.byteOffset,c.byteLength)}function sH(c){var f=new c.constructor(c.source,Tt.exec(c));return f.lastIndex=c.lastIndex,f}function oH(c){return Eh?Er(Eh.call(c)):{}}function c9(c,f){var v=f?Vb(c.buffer):c.buffer;return new c.constructor(v,c.byteOffset,c.length)}function l9(c,f){if(c!==f){var v=c!==t,P=c===null,j=c===c,ee=Ii(c),ne=f!==t,ae=f===null,fe=f===f,Ae=Ii(f);if(!ae&&!Ae&&!ee&&c>f||ee&&ne&&fe&&!ae&&!Ae||P&&ne&&fe||!v&&fe||!j)return 1;if(!P&&!ee&&!Ae&&c=ae)return fe;var Ae=v[P];return fe*(Ae=="desc"?-1:1)}}return c.index-f.index}function u9(c,f,v,P){for(var j=-1,ee=c.length,ne=v.length,ae=-1,fe=f.length,Ae=an(ee-ne,0),Ce=be(fe+Ae),Te=!P;++ae1?v[j-1]:t,ne=j>2?v[2]:t;for(ee=c.length>3&&typeof ee=="function"?(j--,ee):t,ne&&Kn(v[0],v[1],ne)&&(ee=j<3?t:ee,j=1),f=Er(f);++P-1?j[ee?f[ne]:ne]:t}}function m9(c){return no(function(f){var v=f.length,P=v,j=Fi.prototype.thru;for(c&&f.reverse();P--;){var ee=f[P];if(typeof ee!="function")throw new Ui(o);if(j&&!ne&&op(ee)=="wrapper")var ne=new Fi([],!0)}for(P=ne?P:v;++P1&&rr.reverse(),Ce&&feae))return!1;var Ae=ee.get(c),Ce=ee.get(f);if(Ae&&Ce)return Ae==f&&Ce==c;var Te=-1,$e=!0,Qe=v&C?new Qa:t;for(ee.set(c,f),ee.set(f,c);++Te1?"& ":"")+f[P],f=f.join(v>2?", ":" "),c.replace(Ft,`{ /* [wrapped with `+f+`] */ -`)}function TH(c){return Mt(c)||nc(c)||!!(M7&&c&&c[M7])}function ro(c,f){var v=typeof c;return f=f??I,!!f&&(v=="number"||v!="symbol"&&ei.test(c))&&c>-1&&c%1==0&&c0){if(++f>=P)return arguments[0]}else f=0;return c.apply(t,arguments)}}function hp(c,f){var v=-1,N=c.length,F=N-1;for(f=f===t?N:f;++v1?c[f-1]:t;return v=typeof v=="function"?(c.pop(),v):t,j9(c,v)});function z9(c){var f=Z(c);return f.__chain__=!0,f}function Fq(c,f){return f(c),c}function fp(c,f){return f(c)}var jq=to(function(c){var f=c.length,v=f?c[0]:0,N=this.__wrapped__,F=function(X){return Mb(X,c)};return f>1||this.__actions__.length||!(N instanceof Xt)||!ro(v)?this.thru(F):(N=N.slice(v,+v+(f?1:0)),N.__actions__.push({func:fp,args:[F],thisArg:t}),new Li(N,this.__chain__).thru(function(X){return f&&!X.length&&X.push(t),X}))});function zq(){return z9(this)}function Hq(){return new Li(this.value(),this.__chain__)}function qq(){this.__values__===t&&(this.__values__=r_(this.value()));var c=this.__index__>=this.__values__.length,f=c?t:this.__values__[this.__index__++];return{done:c,value:f}}function Wq(){return this}function Vq(c){for(var f,v=this;v instanceof Y0;){var N=D9(v);N.__index__=0,N.__values__=t,f?F.__wrapped__=N:f=N;var F=N;v=v.__wrapped__}return F.__wrapped__=c,f}function Gq(){var c=this.__wrapped__;if(c instanceof Xt){var f=c;return this.__actions__.length&&(f=new Xt(this)),f=f.reverse(),f.__actions__.push({func:fp,args:[sw],thisArg:t}),new Li(f,this.__chain__)}return this.thru(sw)}function Kq(){return i9(this.__wrapped__,this.__actions__)}var Zq=ip(function(c,f,v){vr.call(c,v)?++c[v]:Xs(c,v,1)});function Jq(c,f,v){var N=Mt(c)?b7:Fz;return v&&Vn(c,f,v)&&(f=t),N(c,ut(f,3))}function Yq(c,f){var v=Mt(c)?Yo:j7;return v(c,ut(f,3))}var Qq=g9($9),Xq=g9(B9);function eW(c,f){return vn(dp(c,f),1)}function tW(c,f){return vn(dp(c,f),A)}function rW(c,f,v){return v=v===t?1:Ot(v),vn(dp(c,f),v)}function H9(c,f){var v=Mt(c)?$i:ta;return v(c,ut(f,3))}function q9(c,f){var v=Mt(c)?xj:F7;return v(c,ut(f,3))}var nW=ip(function(c,f,v){vr.call(c,v)?c[v].push(f):Xs(c,v,[f])});function iW(c,f,v,N){c=si(c)?c:vl(c),v=v&&!N?Ot(v):0;var F=c.length;return v<0&&(v=on(F+v,0)),wp(c)?v<=F&&c.indexOf(f,v)>-1:!!F&&al(c,f,v)>-1}var sW=Zt(function(c,f,v){var N=-1,F=typeof f=="function",X=si(c)?be(c.length):[];return ta(c,function(ne){X[++N]=F?Ln(f,ne,v):Sh(ne,f,v)}),X}),oW=ip(function(c,f,v){Xs(c,v,f)});function dp(c,f){var v=Mt(c)?Pr:G7;return v(c,ut(f,3))}function aW(c,f,v,N){return c==null?[]:(Mt(f)||(f=f==null?[]:[f]),v=N?t:v,Mt(v)||(v=v==null?[]:[v]),Y7(c,f,v))}var cW=ip(function(c,f,v){c[v?0:1].push(f)},function(){return[[],[]]});function lW(c,f,v){var N=Mt(c)?wb:x7,F=arguments.length<3;return N(c,ut(f,4),v,F,ta)}function uW(c,f,v){var N=Mt(c)?_j:x7,F=arguments.length<3;return N(c,ut(f,4),v,F,F7)}function hW(c,f){var v=Mt(c)?Yo:j7;return v(c,mp(ut(f,3)))}function fW(c){var f=Mt(c)?$7:iH;return f(c)}function dW(c,f,v){(v?Vn(c,f,v):f===t)?f=1:f=Ot(f);var N=Mt(c)?Dz:sH;return N(c,f)}function pW(c){var f=Mt(c)?$z:aH;return f(c)}function gW(c){if(c==null)return 0;if(si(c))return wp(c)?ll(c):c.length;var f=kn(c);return f==de||f==De?c.size:Bb(c).length}function mW(c,f,v){var N=Mt(c)?vb:cH;return v&&Vn(c,f,v)&&(f=t),N(c,ut(f,3))}var bW=Zt(function(c,f){if(c==null)return[];var v=f.length;return v>1&&Vn(c,f[0],f[1])?f=[]:v>2&&Vn(f[0],f[1],f[2])&&(f=[f[0]]),Y7(c,vn(f,1),[])}),pp=Yj||function(){return Sr.Date.now()};function wW(c,f){if(typeof f!="function")throw new Bi(o);return c=Ot(c),function(){if(--c<1)return f.apply(this,arguments)}}function W9(c,f,v){return f=v?t:f,f=c&&f==null?c.length:f,eo(c,D,t,t,t,t,f)}function V9(c,f){var v;if(typeof f!="function")throw new Bi(o);return c=Ot(c),function(){return--c>0&&(v=f.apply(this,arguments)),c<=1&&(f=t),v}}var aw=Zt(function(c,f,v){var N=R;if(v.length){var F=Xo(v,bl(aw));N|=j}return eo(c,N,f,v,F)}),G9=Zt(function(c,f,v){var N=R|k;if(v.length){var F=Xo(v,bl(G9));N|=j}return eo(f,N,c,v,F)});function K9(c,f,v){f=v?t:f;var N=eo(c,O,t,t,t,t,t,f);return N.placeholder=K9.placeholder,N}function Z9(c,f,v){f=v?t:f;var N=eo(c,B,t,t,t,t,t,f);return N.placeholder=Z9.placeholder,N}function J9(c,f,v){var N,F,X,ne,ae,fe,Ae=0,Ce=!1,Re=!1,$e=!0;if(typeof c!="function")throw new Bi(o);f=zi(f)||0,Or(v)&&(Ce=!!v.leading,Re="maxWait"in v,X=Re?on(zi(v.maxWait)||0,f):X,$e="trailing"in v?!!v.trailing:$e);function Qe(Wr){var cs=N,so=F;return N=F=t,Ae=Wr,ne=c.apply(so,cs),ne}function mt(Wr){return Ae=Wr,ae=Mh(Qt,f),Ce?Qe(Wr):ne}function jt(Wr){var cs=Wr-fe,so=Wr-Ae,g_=f-cs;return Re?Tn(g_,X-so):g_}function bt(Wr){var cs=Wr-fe,so=Wr-Ae;return fe===t||cs>=f||cs<0||Re&&so>=X}function Qt(){var Wr=pp();if(bt(Wr))return rr(Wr);ae=Mh(Qt,jt(Wr))}function rr(Wr){return ae=t,$e&&N?Qe(Wr):(N=F=t,ne)}function Ii(){ae!==t&&o9(ae),Ae=0,N=fe=F=ae=t}function Gn(){return ae===t?ne:rr(pp())}function Ri(){var Wr=pp(),cs=bt(Wr);if(N=arguments,F=this,fe=Wr,cs){if(ae===t)return mt(fe);if(Re)return o9(ae),ae=Mh(Qt,f),Qe(fe)}return ae===t&&(ae=Mh(Qt,f)),ne}return Ri.cancel=Ii,Ri.flush=Gn,Ri}var vW=Zt(function(c,f){return U7(c,1,f)}),yW=Zt(function(c,f,v){return U7(c,zi(f)||0,v)});function xW(c){return eo(c,V)}function gp(c,f){if(typeof c!="function"||f!=null&&typeof f!="function")throw new Bi(o);var v=function(){var N=arguments,F=f?f.apply(this,N):N[0],X=v.cache;if(X.has(F))return X.get(F);var ne=c.apply(this,N);return v.cache=X.set(F,ne)||X,ne};return v.cache=new(gp.Cache||Qs),v}gp.Cache=Qs;function mp(c){if(typeof c!="function")throw new Bi(o);return function(){var f=arguments;switch(f.length){case 0:return!c.call(this);case 1:return!c.call(this,f[0]);case 2:return!c.call(this,f[0],f[1]);case 3:return!c.call(this,f[0],f[1],f[2])}return!c.apply(this,f)}}function _W(c){return V9(2,c)}var EW=lH(function(c,f){f=f.length==1&&Mt(f[0])?Pr(f[0],Ai(ut())):Pr(vn(f,1),Ai(ut()));var v=f.length;return Zt(function(N){for(var F=-1,X=Tn(N.length,v);++F=f}),nc=q7(function(){return arguments}())?q7:function(c){return Br(c)&&vr.call(c,"callee")&&!k7.call(c,"callee")},Mt=be.isArray,LW=Mo?Ai(Mo):Vz;function si(c){return c!=null&&bp(c.length)&&!no(c)}function qr(c){return Br(c)&&si(c)}function UW(c){return c===!0||c===!1||Br(c)&&Wn(c)==ee}var sa=Xj||vw,FW=Rc?Ai(Rc):Gz;function jW(c){return Br(c)&&c.nodeType===1&&!Nh(c)}function zW(c){if(c==null)return!0;if(si(c)&&(Mt(c)||typeof c=="string"||typeof c.splice=="function"||sa(c)||wl(c)||nc(c)))return!c.length;var f=kn(c);if(f==de||f==De)return!c.size;if(kh(c))return!Bb(c).length;for(var v in c)if(vr.call(c,v))return!1;return!0}function HW(c,f){return Ih(c,f)}function qW(c,f,v){v=typeof v=="function"?v:t;var N=v?v(c,f):t;return N===t?Ih(c,f,t,v):!!N}function lw(c){if(!Br(c))return!1;var f=Wn(c);return f==L||f==z||typeof c.message=="string"&&typeof c.name=="string"&&!Nh(c)}function WW(c){return typeof c=="number"&&N7(c)}function no(c){if(!Or(c))return!1;var f=Wn(c);return f==H||f==le||f==K||f==Te}function Q9(c){return typeof c=="number"&&c==Ot(c)}function bp(c){return typeof c=="number"&&c>-1&&c%1==0&&c<=I}function Or(c){var f=typeof c;return c!=null&&(f=="object"||f=="function")}function Br(c){return c!=null&&typeof c=="object"}var X9=Za?Ai(Za):Zz;function VW(c,f){return c===f||$b(c,f,Xb(f))}function GW(c,f,v){return v=typeof v=="function"?v:t,$b(c,f,Xb(f),v)}function KW(c){return e_(c)&&c!=+c}function ZW(c){if(NH(c))throw new kt(s);return W7(c)}function JW(c){return c===null}function YW(c){return c==null}function e_(c){return typeof c=="number"||Br(c)&&Wn(c)==Se}function Nh(c){if(!Br(c)||Wn(c)!=ke)return!1;var f=q0(c);if(f===null)return!0;var v=vr.call(f,"constructor")&&f.constructor;return typeof v=="function"&&v instanceof v&&F0.call(v)==Gj}var uw=ol?Ai(ol):Jz;function QW(c){return Q9(c)&&c>=-I&&c<=I}var t_=lg?Ai(lg):Yz;function wp(c){return typeof c=="string"||!Mt(c)&&Br(c)&&Wn(c)==Je}function Si(c){return typeof c=="symbol"||Br(c)&&Wn(c)==ze}var wl=Xf?Ai(Xf):Qz;function XW(c){return c===t}function eV(c){return Br(c)&&kn(c)==Ve}function tV(c){return Br(c)&&Wn(c)==He}var rV=cp(Lb),nV=cp(function(c,f){return c<=f});function r_(c){if(!c)return[];if(si(c))return wp(c)?ss(c):ii(c);if(vh&&c[vh])return Dj(c[vh]());var f=kn(c),v=f==de?Cb:f==De?B0:vl;return v(c)}function io(c){if(!c)return c===0?c:0;if(c=zi(c),c===A||c===-A){var f=c<0?-1:1;return f*T}return c===c?c:0}function Ot(c){var f=io(c),v=f%1;return f===f?v?f-v:f:0}function n_(c){return c?Xa(Ot(c),0,E):0}function zi(c){if(typeof c=="number")return c;if(Si(c))return S;if(Or(c)){var f=typeof c.valueOf=="function"?c.valueOf():c;c=Or(f)?f+"":f}if(typeof c!="string")return c===0?c:+c;c=_7(c);var v=Yn.test(c);return v||Xn.test(c)?$r(c.slice(2),v?2:8):ur.test(c)?S:+c}function i_(c){return Ms(c,oi(c))}function iV(c){return c?Xa(Ot(c),-I,I):c===0?c:0}function wr(c){return c==null?"":Ci(c)}var sV=gl(function(c,f){if(kh(f)||si(f)){Ms(f,hn(f),c);return}for(var v in f)vr.call(f,v)&&Ah(c,v,f[v])}),s_=gl(function(c,f){Ms(f,oi(f),c)}),vp=gl(function(c,f,v,N){Ms(f,oi(f),c,N)}),oV=gl(function(c,f,v,N){Ms(f,hn(f),c,N)}),aV=to(Mb);function cV(c,f){var v=pl(c);return f==null?v:B7(v,f)}var lV=Zt(function(c,f){c=Er(c);var v=-1,N=f.length,F=N>2?f[2]:t;for(F&&Vn(f[0],f[1],F)&&(N=1);++v1),X}),Ms(c,Yb(c),v),N&&(v=Ui(v,p|g|w,yH));for(var F=f.length;F--;)Hb(v,f[F]);return v});function IV(c,f){return a_(c,mp(ut(f)))}var RV=to(function(c,f){return c==null?{}:tH(c,f)});function a_(c,f){if(c==null)return{};var v=Pr(Yb(c),function(N){return[N]});return f=ut(f),Q7(c,v,function(N,F){return f(N,F[0])})}function TV(c,f,v){f=na(f,c);var N=-1,F=f.length;for(F||(F=1,c=t);++Nf){var N=c;c=f,f=N}if(v||c%1||f%1){var F=P7();return Tn(c+F*(f-c+ri("1e-"+((F+"").length-1))),f)}return Fb(c,f)}var FV=ml(function(c,f,v){return f=f.toLowerCase(),c+(v?u_(f):f)});function u_(c){return dw(wr(c).toLowerCase())}function h_(c){return c=wr(c),c&&c.replace(gn,kj).replace(g7,"")}function jV(c,f,v){c=wr(c),f=Ci(f);var N=c.length;v=v===t?N:Xa(Ot(v),0,N);var F=v;return v-=f.length,v>=0&&c.slice(v,F)==f}function zV(c){return c=wr(c),c&&ht.test(c)?c.replace(Nt,Mj):c}function HV(c){return c=wr(c),c&&Gt.test(c)?c.replace(pt,"\\$&"):c}var qV=ml(function(c,f,v){return c+(v?"-":"")+f.toLowerCase()}),WV=ml(function(c,f,v){return c+(v?" ":"")+f.toLowerCase()}),VV=p9("toLowerCase");function GV(c,f,v){c=wr(c),f=Ot(f);var N=f?ll(c):0;if(!f||N>=f)return c;var F=(f-N)/2;return ap(K0(F),v)+c+ap(G0(F),v)}function KV(c,f,v){c=wr(c),f=Ot(f);var N=f?ll(c):0;return f&&N>>0,v?(c=wr(c),c&&(typeof f=="string"||f!=null&&!uw(f))&&(f=Ci(f),!f&&cl(c))?ia(ss(c),0,v):c.split(f,v)):[]}var tG=ml(function(c,f,v){return c+(v?" ":"")+dw(f)});function rG(c,f,v){return c=wr(c),v=v==null?0:Xa(Ot(v),0,c.length),f=Ci(f),c.slice(v,v+f.length)==f}function nG(c,f,v){var N=Z.templateSettings;v&&Vn(c,f,v)&&(f=t),c=wr(c),f=vp({},f,N,x9);var F=vp({},f.imports,N.imports,x9),X=hn(F),ne=Ab(F,X),ae,fe,Ae=0,Ce=f.interpolate||zn,Re="__p += '",$e=Sb((f.escape||zn).source+"|"+Ce.source+"|"+(Ce===ft?br:zn).source+"|"+(f.evaluate||zn).source+"|$","g"),Qe="//# sourceURL="+(vr.call(f,"sourceURL")?(f.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++m7+"]")+` -`;c.replace($e,function(bt,Qt,rr,Ii,Gn,Ri){return rr||(rr=Ii),Re+=c.slice(Ae,Ri).replace(Pi,Nj),Qt&&(ae=!0,Re+=`' + +`)}function EH(c){return Mt(c)||nc(c)||!!(M7&&c&&c[M7])}function io(c,f){var v=typeof c;return f=f??I,!!f&&(v=="number"||v!="symbol"&&ri.test(c))&&c>-1&&c%1==0&&c0){if(++f>=M)return arguments[0]}else f=0;return c.apply(t,arguments)}}function cp(c,f){var v=-1,P=c.length,j=P-1;for(f=f===t?P:f;++v1?c[f-1]:t;return v=typeof v=="function"?(c.pop(),v):t,j9(c,v)});function z9(c){var f=Z(c);return f.__chain__=!0,f}function Oq(c,f){return f(c),c}function lp(c,f){return f(c)}var Dq=no(function(c){var f=c.length,v=f?c[0]:0,P=this.__wrapped__,j=function(ee){return kb(ee,c)};return f>1||this.__actions__.length||!(P instanceof Xt)||!io(v)?this.thru(j):(P=P.slice(v,+v+(f?1:0)),P.__actions__.push({func:lp,args:[j],thisArg:t}),new Fi(P,this.__chain__).thru(function(ee){return f&&!ee.length&&ee.push(t),ee}))});function $q(){return z9(this)}function Bq(){return new Fi(this.value(),this.__chain__)}function Lq(){this.__values__===t&&(this.__values__=r_(this.value()));var c=this.__index__>=this.__values__.length,f=c?t:this.__values__[this.__index__++];return{done:c,value:f}}function Uq(){return this}function Fq(c){for(var f,v=this;v instanceof K0;){var P=D9(v);P.__index__=0,P.__values__=t,f?j.__wrapped__=P:f=P;var j=P;v=v.__wrapped__}return j.__wrapped__=c,f}function jq(){var c=this.__wrapped__;if(c instanceof Xt){var f=c;return this.__actions__.length&&(f=new Xt(this)),f=f.reverse(),f.__actions__.push({func:lp,args:[iw],thisArg:t}),new Fi(f,this.__chain__)}return this.thru(iw)}function zq(){return i9(this.__wrapped__,this.__actions__)}var Hq=tp(function(c,f,v){vr.call(c,v)?++c[v]:to(c,v,1)});function qq(c,f,v){var P=Mt(c)?b7:Oz;return v&&Kn(c,f,v)&&(f=t),P(c,ut(f,3))}function Wq(c,f){var v=Mt(c)?Yo:j7;return v(c,ut(f,3))}var Vq=g9($9),Gq=g9(B9);function Kq(c,f){return xn(up(c,f),1)}function Zq(c,f){return xn(up(c,f),A)}function Jq(c,f,v){return v=v===t?1:Ot(v),xn(up(c,f),v)}function H9(c,f){var v=Mt(c)?Li:ta;return v(c,ut(f,3))}function q9(c,f){var v=Mt(c)?gj:F7;return v(c,ut(f,3))}var Yq=tp(function(c,f,v){vr.call(c,v)?c[v].push(f):to(c,v,[f])});function Qq(c,f,v,P){c=ai(c)?c:xl(c),v=v&&!P?Ot(v):0;var j=c.length;return v<0&&(v=an(j+v,0)),gp(c)?v<=j&&c.indexOf(f,v)>-1:!!j&&ll(c,f,v)>-1}var Xq=Zt(function(c,f,v){var P=-1,j=typeof f=="function",ee=ai(c)?be(c.length):[];return ta(c,function(ne){ee[++P]=j?Fn(f,ne,v):Sh(ne,f,v)}),ee}),eW=tp(function(c,f,v){to(c,v,f)});function up(c,f){var v=Mt(c)?Pr:G7;return v(c,ut(f,3))}function tW(c,f,v,P){return c==null?[]:(Mt(f)||(f=f==null?[]:[f]),v=P?t:v,Mt(v)||(v=v==null?[]:[v]),Y7(c,f,v))}var rW=tp(function(c,f,v){c[v?0:1].push(f)},function(){return[[],[]]});function nW(c,f,v){var P=Mt(c)?bb:x7,j=arguments.length<3;return P(c,ut(f,4),v,j,ta)}function iW(c,f,v){var P=Mt(c)?mj:x7,j=arguments.length<3;return P(c,ut(f,4),v,j,F7)}function sW(c,f){var v=Mt(c)?Yo:j7;return v(c,dp(ut(f,3)))}function oW(c){var f=Mt(c)?$7:Qz;return f(c)}function aW(c,f,v){(v?Kn(c,f,v):f===t)?f=1:f=Ot(f);var P=Mt(c)?Rz:Xz;return P(c,f)}function cW(c){var f=Mt(c)?kz:tH;return f(c)}function lW(c){if(c==null)return 0;if(ai(c))return gp(c)?hl(c):c.length;var f=Nn(c);return f==de||f==De?c.size:$b(c).length}function uW(c,f,v){var P=Mt(c)?wb:rH;return v&&Kn(c,f,v)&&(f=t),P(c,ut(f,3))}var hW=Zt(function(c,f){if(c==null)return[];var v=f.length;return v>1&&Kn(c,f[0],f[1])?f=[]:v>2&&Kn(f[0],f[1],f[2])&&(f=[f[0]]),Y7(c,xn(f,1),[])}),hp=Wj||function(){return Sr.Date.now()};function fW(c,f){if(typeof f!="function")throw new Ui(o);return c=Ot(c),function(){if(--c<1)return f.apply(this,arguments)}}function W9(c,f,v){return f=v?t:f,f=c&&f==null?c.length:f,ro(c,$,t,t,t,t,f)}function V9(c,f){var v;if(typeof f!="function")throw new Ui(o);return c=Ot(c),function(){return--c>0&&(v=f.apply(this,arguments)),c<=1&&(f=t),v}}var ow=Zt(function(c,f,v){var P=T;if(v.length){var j=Xo(v,vl(ow));P|=z}return ro(c,P,f,v,j)}),G9=Zt(function(c,f,v){var P=T|k;if(v.length){var j=Xo(v,vl(G9));P|=z}return ro(f,P,c,v,j)});function K9(c,f,v){f=v?t:f;var P=ro(c,O,t,t,t,t,t,f);return P.placeholder=K9.placeholder,P}function Z9(c,f,v){f=v?t:f;var P=ro(c,B,t,t,t,t,t,f);return P.placeholder=Z9.placeholder,P}function J9(c,f,v){var P,j,ee,ne,ae,fe,Ae=0,Ce=!1,Te=!1,$e=!0;if(typeof c!="function")throw new Ui(o);f=qi(f)||0,Or(v)&&(Ce=!!v.leading,Te="maxWait"in v,ee=Te?an(qi(v.maxWait)||0,f):ee,$e="trailing"in v?!!v.trailing:$e);function Qe(Wr){var us=P,ao=j;return P=j=t,Ae=Wr,ne=c.apply(ao,us),ne}function mt(Wr){return Ae=Wr,ae=Mh(Qt,f),Ce?Qe(Wr):ne}function jt(Wr){var us=Wr-fe,ao=Wr-Ae,g_=f-us;return Te?Mn(g_,ee-ao):g_}function bt(Wr){var us=Wr-fe,ao=Wr-Ae;return fe===t||us>=f||us<0||Te&&ao>=ee}function Qt(){var Wr=hp();if(bt(Wr))return rr(Wr);ae=Mh(Qt,jt(Wr))}function rr(Wr){return ae=t,$e&&P?Qe(Wr):(P=j=t,ne)}function Ti(){ae!==t&&o9(ae),Ae=0,P=fe=j=ae=t}function Zn(){return ae===t?ne:rr(hp())}function Ri(){var Wr=hp(),us=bt(Wr);if(P=arguments,j=this,fe=Wr,us){if(ae===t)return mt(fe);if(Te)return o9(ae),ae=Mh(Qt,f),Qe(fe)}return ae===t&&(ae=Mh(Qt,f)),ne}return Ri.cancel=Ti,Ri.flush=Zn,Ri}var dW=Zt(function(c,f){return U7(c,1,f)}),pW=Zt(function(c,f,v){return U7(c,qi(f)||0,v)});function gW(c){return ro(c,V)}function fp(c,f){if(typeof c!="function"||f!=null&&typeof f!="function")throw new Ui(o);var v=function(){var P=arguments,j=f?f.apply(this,P):P[0],ee=v.cache;if(ee.has(j))return ee.get(j);var ne=c.apply(this,P);return v.cache=ee.set(j,ne)||ee,ne};return v.cache=new(fp.Cache||eo),v}fp.Cache=eo;function dp(c){if(typeof c!="function")throw new Ui(o);return function(){var f=arguments;switch(f.length){case 0:return!c.call(this);case 1:return!c.call(this,f[0]);case 2:return!c.call(this,f[0],f[1]);case 3:return!c.call(this,f[0],f[1],f[2])}return!c.apply(this,f)}}function mW(c){return V9(2,c)}var bW=nH(function(c,f){f=f.length==1&&Mt(f[0])?Pr(f[0],Ci(ut())):Pr(xn(f,1),Ci(ut()));var v=f.length;return Zt(function(P){for(var j=-1,ee=Mn(P.length,v);++j=f}),nc=q7(function(){return arguments}())?q7:function(c){return Br(c)&&vr.call(c,"callee")&&!k7.call(c,"callee")},Mt=be.isArray,NW=No?Ci(No):Fz;function ai(c){return c!=null&&pp(c.length)&&!so(c)}function qr(c){return Br(c)&&ai(c)}function PW(c){return c===!0||c===!1||Br(c)&&Gn(c)==te}var sa=Gj||ww,OW=Tc?Ci(Tc):jz;function DW(c){return Br(c)&&c.nodeType===1&&!Nh(c)}function $W(c){if(c==null)return!0;if(ai(c)&&(Mt(c)||typeof c=="string"||typeof c.splice=="function"||sa(c)||yl(c)||nc(c)))return!c.length;var f=Nn(c);if(f==de||f==De)return!c.size;if(kh(c))return!$b(c).length;for(var v in c)if(vr.call(c,v))return!1;return!0}function BW(c,f){return Ih(c,f)}function LW(c,f,v){v=typeof v=="function"?v:t;var P=v?v(c,f):t;return P===t?Ih(c,f,t,v):!!P}function cw(c){if(!Br(c))return!1;var f=Gn(c);return f==U||f==H||typeof c.message=="string"&&typeof c.name=="string"&&!Nh(c)}function UW(c){return typeof c=="number"&&N7(c)}function so(c){if(!Or(c))return!1;var f=Gn(c);return f==W||f==le||f==K||f==Re}function Q9(c){return typeof c=="number"&&c==Ot(c)}function pp(c){return typeof c=="number"&&c>-1&&c%1==0&&c<=I}function Or(c){var f=typeof c;return c!=null&&(f=="object"||f=="function")}function Br(c){return c!=null&&typeof c=="object"}var X9=Za?Ci(Za):Hz;function FW(c,f){return c===f||Db(c,f,Qb(f))}function jW(c,f,v){return v=typeof v=="function"?v:t,Db(c,f,Qb(f),v)}function zW(c){return e_(c)&&c!=+c}function HW(c){if(SH(c))throw new kt(s);return W7(c)}function qW(c){return c===null}function WW(c){return c==null}function e_(c){return typeof c=="number"||Br(c)&&Gn(c)==Se}function Nh(c){if(!Br(c)||Gn(c)!=ke)return!1;var f=j0(c);if(f===null)return!0;var v=vr.call(f,"constructor")&&f.constructor;return typeof v=="function"&&v instanceof v&&B0.call(v)==jj}var lw=cl?Ci(cl):qz;function VW(c){return Q9(c)&&c>=-I&&c<=I}var t_=cg?Ci(cg):Wz;function gp(c){return typeof c=="string"||!Mt(c)&&Br(c)&&Gn(c)==Je}function Ii(c){return typeof c=="symbol"||Br(c)&&Gn(c)==ze}var yl=rd?Ci(rd):Vz;function GW(c){return c===t}function KW(c){return Br(c)&&Nn(c)==Ve}function ZW(c){return Br(c)&&Gn(c)==He}var JW=sp(Bb),YW=sp(function(c,f){return c<=f});function r_(c){if(!c)return[];if(ai(c))return gp(c)?as(c):oi(c);if(vh&&c[vh])return Rj(c[vh]());var f=Nn(c),v=f==de?Ab:f==De?O0:xl;return v(c)}function oo(c){if(!c)return c===0?c:0;if(c=qi(c),c===A||c===-A){var f=c<0?-1:1;return f*R}return c===c?c:0}function Ot(c){var f=oo(c),v=f%1;return f===f?v?f-v:f:0}function n_(c){return c?Xa(Ot(c),0,E):0}function qi(c){if(typeof c=="number")return c;if(Ii(c))return S;if(Or(c)){var f=typeof c.valueOf=="function"?c.valueOf():c;c=Or(f)?f+"":f}if(typeof c!="string")return c===0?c:+c;c=_7(c);var v=Xn.test(c);return v||ti.test(c)?$r(c.slice(2),v?2:8):ur.test(c)?S:+c}function i_(c){return Ps(c,ci(c))}function QW(c){return c?Xa(Ot(c),-I,I):c===0?c:0}function wr(c){return c==null?"":Si(c)}var XW=bl(function(c,f){if(kh(f)||ai(f)){Ps(f,fn(f),c);return}for(var v in f)vr.call(f,v)&&Ah(c,v,f[v])}),s_=bl(function(c,f){Ps(f,ci(f),c)}),mp=bl(function(c,f,v,P){Ps(f,ci(f),c,P)}),eV=bl(function(c,f,v,P){Ps(f,fn(f),c,P)}),tV=no(kb);function rV(c,f){var v=ml(c);return f==null?v:B7(v,f)}var nV=Zt(function(c,f){c=Er(c);var v=-1,P=f.length,j=P>2?f[2]:t;for(j&&Kn(f[0],f[1],j)&&(P=1);++v1),ee}),Ps(c,Jb(c),v),P&&(v=ji(v,p|g|w,pH));for(var j=f.length;j--;)zb(v,f[j]);return v});function xV(c,f){return a_(c,dp(ut(f)))}var _V=no(function(c,f){return c==null?{}:Zz(c,f)});function a_(c,f){if(c==null)return{};var v=Pr(Jb(c),function(P){return[P]});return f=ut(f),Q7(c,v,function(P,j){return f(P,j[0])})}function EV(c,f,v){f=na(f,c);var P=-1,j=f.length;for(j||(j=1,c=t);++Pf){var P=c;c=f,f=P}if(v||c%1||f%1){var j=P7();return Mn(c+j*(f-c+ii("1e-"+((j+"").length-1))),f)}return Ub(c,f)}var OV=wl(function(c,f,v){return f=f.toLowerCase(),c+(v?u_(f):f)});function u_(c){return fw(wr(c).toLowerCase())}function h_(c){return c=wr(c),c&&c.replace(bn,Aj).replace(g7,"")}function DV(c,f,v){c=wr(c),f=Si(f);var P=c.length;v=v===t?P:Xa(Ot(v),0,P);var j=v;return v-=f.length,v>=0&&c.slice(v,j)==f}function $V(c){return c=wr(c),c&&ht.test(c)?c.replace(Nt,Cj):c}function BV(c){return c=wr(c),c&&Gt.test(c)?c.replace(pt,"\\$&"):c}var LV=wl(function(c,f,v){return c+(v?"-":"")+f.toLowerCase()}),UV=wl(function(c,f,v){return c+(v?" ":"")+f.toLowerCase()}),FV=p9("toLowerCase");function jV(c,f,v){c=wr(c),f=Ot(f);var P=f?hl(c):0;if(!f||P>=f)return c;var j=(f-P)/2;return ip(W0(j),v)+c+ip(q0(j),v)}function zV(c,f,v){c=wr(c),f=Ot(f);var P=f?hl(c):0;return f&&P>>0,v?(c=wr(c),c&&(typeof f=="string"||f!=null&&!lw(f))&&(f=Si(f),!f&&ul(c))?ia(as(c),0,v):c.split(f,v)):[]}var ZV=wl(function(c,f,v){return c+(v?" ":"")+fw(f)});function JV(c,f,v){return c=wr(c),v=v==null?0:Xa(Ot(v),0,c.length),f=Si(f),c.slice(v,v+f.length)==f}function YV(c,f,v){var P=Z.templateSettings;v&&Kn(c,f,v)&&(f=t),c=wr(c),f=mp({},f,P,x9);var j=mp({},f.imports,P.imports,x9),ee=fn(j),ne=Eb(j,ee),ae,fe,Ae=0,Ce=f.interpolate||qn,Te="__p += '",$e=Cb((f.escape||qn).source+"|"+Ce.source+"|"+(Ce===ft?br:qn).source+"|"+(f.evaluate||qn).source+"|$","g"),Qe="//# sourceURL="+(vr.call(f,"sourceURL")?(f.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++m7+"]")+` +`;c.replace($e,function(bt,Qt,rr,Ti,Zn,Ri){return rr||(rr=Ti),Te+=c.slice(Ae,Ri).replace(Di,Sj),Qt&&(ae=!0,Te+=`' + __e(`+Qt+`) + -'`),Gn&&(fe=!0,Re+=`'; -`+Gn+`; -__p += '`),rr&&(Re+=`' + +'`),Zn&&(fe=!0,Te+=`'; +`+Zn+`; +__p += '`),rr&&(Te+=`' + ((__t = (`+rr+`)) == null ? '' : __t) + -'`),Ae=Ri+bt.length,bt}),Re+=`'; -`;var mt=vr.call(f,"variable")&&f.variable;if(!mt)Re=`with (obj) { -`+Re+` +'`),Ae=Ri+bt.length,bt}),Te+=`'; +`;var mt=vr.call(f,"variable")&&f.variable;if(!mt)Te=`with (obj) { +`+Te+` } -`;else if(zt.test(mt))throw new kt(a);Re=(fe?Re.replace(ot,""):Re).replace(tt,"$1").replace(It,"$1;"),Re="function("+(mt||"obj")+`) { +`;else if(Ht.test(mt))throw new kt(a);Te=(fe?Te.replace(ot,""):Te).replace(tt,"$1").replace(It,"$1;"),Te="function("+(mt||"obj")+`) { `+(mt?"":`obj || (obj = {}); `)+"var __t, __p = ''"+(ae?", __e = _.escape":"")+(fe?`, __j = Array.prototype.join; function print() { __p += __j.call(arguments, '') } `:`; -`)+Re+`return __p -}`;var jt=d_(function(){return fr(X,Qe+"return "+Re).apply(t,ne)});if(jt.source=Re,lw(jt))throw jt;return jt}function iG(c){return wr(c).toLowerCase()}function sG(c){return wr(c).toUpperCase()}function oG(c,f,v){if(c=wr(c),c&&(v||f===t))return _7(c);if(!c||!(f=Ci(f)))return c;var N=ss(c),F=ss(f),X=E7(N,F),ne=A7(N,F)+1;return ia(N,X,ne).join("")}function aG(c,f,v){if(c=wr(c),c&&(v||f===t))return c.slice(0,S7(c)+1);if(!c||!(f=Ci(f)))return c;var N=ss(c),F=A7(N,ss(f))+1;return ia(N,0,F).join("")}function cG(c,f,v){if(c=wr(c),c&&(v||f===t))return c.replace(gt,"");if(!c||!(f=Ci(f)))return c;var N=ss(c),F=E7(N,ss(f));return ia(N,F).join("")}function lG(c,f){var v=te,N=W;if(Or(f)){var F="separator"in f?f.separator:F;v="length"in f?Ot(f.length):v,N="omission"in f?Ci(f.omission):N}c=wr(c);var X=c.length;if(cl(c)){var ne=ss(c);X=ne.length}if(v>=X)return c;var ae=v-ll(N);if(ae<1)return N;var fe=ne?ia(ne,0,ae).join(""):c.slice(0,ae);if(F===t)return fe+N;if(ne&&(ae+=fe.length-ae),uw(F)){if(c.slice(ae).search(F)){var Ae,Ce=fe;for(F.global||(F=Sb(F.source,wr(Rt.exec(F))+"g")),F.lastIndex=0;Ae=F.exec(Ce);)var Re=Ae.index;fe=fe.slice(0,Re===t?ae:Re)}}else if(c.indexOf(Ci(F),ae)!=ae){var $e=fe.lastIndexOf(F);$e>-1&&(fe=fe.slice(0,$e))}return fe+N}function uG(c){return c=wr(c),c&&Lt.test(c)?c.replace(st,Uj):c}var hG=ml(function(c,f,v){return c+(v?" ":"")+f.toUpperCase()}),dw=p9("toUpperCase");function f_(c,f,v){return c=wr(c),f=v?t:f,f===t?Oj(c)?zj(c):Cj(c):c.match(f)||[]}var d_=Zt(function(c,f){try{return Ln(c,t,f)}catch(v){return lw(v)?v:new kt(v)}}),fG=to(function(c,f){return $i(f,function(v){v=Ns(v),Xs(c,v,aw(c[v],c))}),c});function dG(c){var f=c==null?0:c.length,v=ut();return c=f?Pr(c,function(N){if(typeof N[1]!="function")throw new Bi(o);return[v(N[0]),N[1]]}):[],Zt(function(N){for(var F=-1;++FI)return[];var v=E,N=Tn(c,E);f=ut(f),c-=E;for(var F=Eb(N,f);++v0||f<0)?new Xt(v):(c<0?v=v.takeRight(-c):c&&(v=v.drop(c)),f!==t&&(f=Ot(f),v=f<0?v.dropRight(-f):v.take(f-c)),v)},Xt.prototype.takeRightWhile=function(c){return this.reverse().takeWhile(c).reverse()},Xt.prototype.toArray=function(){return this.take(E)},ks(Xt.prototype,function(c,f){var v=/^(?:filter|find|map|reject)|While$/.test(f),N=/^(?:head|last)$/.test(f),F=Z[N?"take"+(f=="last"?"Right":""):f],X=N||/^find/.test(f);F&&(Z.prototype[f]=function(){var ne=this.__wrapped__,ae=N?[1]:arguments,fe=ne instanceof Xt,Ae=ae[0],Ce=fe||Mt(ne),Re=function(Qt){var rr=F.apply(Z,Qo([Qt],ae));return N&&$e?rr[0]:rr};Ce&&v&&typeof Ae=="function"&&Ae.length!=1&&(fe=Ce=!1);var $e=this.__chain__,Qe=!!this.__actions__.length,mt=X&&!$e,jt=fe&&!Qe;if(!X&&Ce){ne=jt?ne:new Xt(this);var bt=c.apply(ne,ae);return bt.__actions__.push({func:fp,args:[Re],thisArg:t}),new Li(bt,$e)}return mt&&jt?c.apply(this,ae):(bt=this.thru(Re),mt?N?bt.value()[0]:bt.value():bt)})}),$i(["pop","push","shift","sort","splice","unshift"],function(c){var f=L0[c],v=/^(?:push|sort|unshift)$/.test(c)?"tap":"thru",N=/^(?:pop|shift)$/.test(c);Z.prototype[c]=function(){var F=arguments;if(N&&!this.__chain__){var X=this.value();return f.apply(Mt(X)?X:[],F)}return this[v](function(ne){return f.apply(Mt(ne)?ne:[],F)})}}),ks(Xt.prototype,function(c,f){var v=Z[f];if(v){var N=v.name+"";vr.call(dl,N)||(dl[N]=[]),dl[N].push({name:f,func:v})}}),dl[sp(t,k).name]=[{name:"wrapper",func:t}],Xt.prototype.clone=uz,Xt.prototype.reverse=hz,Xt.prototype.value=fz,Z.prototype.at=jq,Z.prototype.chain=zq,Z.prototype.commit=Hq,Z.prototype.next=qq,Z.prototype.plant=Vq,Z.prototype.reverse=Gq,Z.prototype.toJSON=Z.prototype.valueOf=Z.prototype.value=Kq,Z.prototype.first=Z.prototype.head,vh&&(Z.prototype[vh]=Wq),Z},ul=Hj();ni?((ni.exports=ul)._=ul,qn._=ul):Sr._=ul}).call(gx)})(hF,hF.exports);var lrt=Object.defineProperty,urt=Object.defineProperties,hrt=Object.getOwnPropertyDescriptors,Hpe=Object.getOwnPropertySymbols,frt=Object.prototype.hasOwnProperty,drt=Object.prototype.propertyIsEnumerable,qpe=(r,e,t)=>e in r?lrt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,vR=(r,e)=>{for(var t in e||(e={}))frt.call(e,t)&&qpe(r,t,e[t]);if(Hpe)for(var t of Hpe(e))drt.call(e,t)&&qpe(r,t,e[t]);return r},prt=(r,e)=>urt(r,hrt(e));function M1(r,e,t){var n;const i=ZI(r);return((n=e.rpcMap)==null?void 0:n[i.reference])||`${crt}?chainId=${i.namespace}:${i.reference}&projectId=${t}`}function g2(r){return r.includes(":")?r.split(":")[1]:r}function Wpe(r){return r.map(e=>`${e.split(":")[0]}:${e.split(":")[1]}`)}function grt(r,e){const t=Object.keys(e.namespaces).filter(i=>i.includes(r));if(!t.length)return[];const n=[];return t.forEach(i=>{const s=e.namespaces[i].accounts;n.push(...s)}),n}function fF(r={},e={}){const t=Vpe(r),n=Vpe(e);return hF.exports.merge(t,n)}function Vpe(r){var e,t,n,i;const s={};if(!ux(r))return s;for(const[o,a]of Object.entries(r)){const l=YU(o)?[o]:a.chains,u=a.methods||[],h=a.events||[],p=a.rpcMap||{},g=lx(o);s[g]=prt(vR(vR({},s[g]),a),{chains:JI(l,(e=s[g])==null?void 0:e.chains),methods:JI(u,(t=s[g])==null?void 0:t.methods),events:JI(h,(n=s[g])==null?void 0:n.events),rpcMap:vR(vR({},p),(i=s[g])==null?void 0:i.rpcMap)})}return s}function mrt(r){return r.includes(":")?r.split(":")[2]:r}function Gpe(r){const e={};for(const[t,n]of Object.entries(r)){const i=n.methods||[],s=n.events||[],o=n.accounts||[],a=YU(t)?[t]:n.chains?n.chains:Wpe(n.accounts);e[t]={chains:a,methods:i,events:s,accounts:o}}return e}function dF(r){return typeof r=="number"?r:r.includes("0x")?parseInt(r,16):(r=r.includes(":")?r.split(":")[1]:r,isNaN(Number(r))?r:Number(r))}const Kpe={},Ki=r=>Kpe[r],pF=(r,e)=>{Kpe[r]=e};class brt{constructor(e){this.name="polkadot",this.namespace=e.namespace,this.events=Ki("events"),this.client=Ki("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;const e=this.namespace.chains[0];if(!e)throw new 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(u0.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getAccounts(){const e=this.namespace.accounts;return e?e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2])||[]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var n;const i=g2(t);e[i]=this.createHttpProvider(i,(n=this.namespace.rpcMap)==null?void 0:n[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){const n=t||M1(e,this.namespace,this.client.core.projectId);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new xo(new ma(n,Ki("disableProviderPing")))}}class wrt{constructor(e){this.name="eip155",this.namespace=e.namespace,this.events=Ki("events"),this.client=Ki("client"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(e){switch(e.request.method){case"eth_requestAccounts":return this.getAccounts();case"eth_accounts":return this.getAccounts();case"wallet_switchEthereumChain":return await this.handleSwitchChain(e);case"eth_chainId":return parseInt(this.getDefaultChain())}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(u0.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}createHttpProvider(e,t){const n=t||M1(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new xo(new ma(n,Ki("disableProviderPing")))}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var n;const i=parseInt(g2(t));e[i]=this.createHttpProvider(i,(n=this.namespace.rpcMap)==null?void 0:n[t])}),e}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}getHttpProvider(){const e=this.chainId,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}async handleSwitchChain(e){var t,n;let i=e.request.params?(t=e.request.params[0])==null?void 0:t.chainId:"0x0";i=i.startsWith("0x")?i:`0x${i}`;const s=parseInt(i,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:i}]},chainId:(n=this.namespace.chains)==null?void 0:n[0]}),this.setDefaultChain(`${s}`);else throw new 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}`)}}class vrt{constructor(e){this.name="solana",this.namespace=e.namespace,this.events=Ki("events"),this.client=Ki("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(u0.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var n;const i=g2(t);e[i]=this.createHttpProvider(i,(n=this.namespace.rpcMap)==null?void 0:n[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){const n=t||M1(e,this.namespace,this.client.core.projectId);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new xo(new ma(n,Ki("disableProviderPing")))}}class yrt{constructor(e){this.name="cosmos",this.namespace=e.namespace,this.events=Ki("events"),this.client=Ki("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;const e=this.namespace.chains[0];if(!e)throw new 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(u0.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var n;const i=g2(t);e[i]=this.createHttpProvider(i,(n=this.namespace.rpcMap)==null?void 0:n[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){const n=t||M1(e,this.namespace,this.client.core.projectId);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new xo(new ma(n,Ki("disableProviderPing")))}}class xrt{constructor(e){this.name="cip34",this.namespace=e.namespace,this.events=Ki("events"),this.client=Ki("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;const e=this.namespace.chains[0];if(!e)throw new 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(u0.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{const n=this.getCardanoRPCUrl(t),i=g2(t);e[i]=this.createHttpProvider(i,n)}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}getCardanoRPCUrl(e){const t=this.namespace.rpcMap;if(t)return t[e]}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){const n=t||this.getCardanoRPCUrl(e);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new xo(new ma(n,Ki("disableProviderPing")))}}class _rt{constructor(e){this.name="elrond",this.namespace=e.namespace,this.events=Ki("events"),this.client=Ki("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(u0.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var n;const i=g2(t);e[i]=this.createHttpProvider(i,(n=this.namespace.rpcMap)==null?void 0:n[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){const n=t||M1(e,this.namespace,this.client.core.projectId);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new xo(new ma(n,Ki("disableProviderPing")))}}class Ert{constructor(e){this.name="multiversx",this.namespace=e.namespace,this.events=Ki("events"),this.client=Ki("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(u0.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var n;const i=g2(t);e[i]=this.createHttpProvider(i,(n=this.namespace.rpcMap)==null?void 0:n[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){const n=t||M1(e,this.namespace,this.client.core.projectId);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new xo(new ma(n,Ki("disableProviderPing")))}}class Art{constructor(e){this.name="near",this.namespace=e.namespace,this.events=Ki("events"),this.client=Ki("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;const e=this.namespace.chains[0];if(!e)throw new 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]){const n=t||M1(`${this.name}:${e}`,this.namespace);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,n)}this.events.emit(u0.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2])||[]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var n;e[t]=this.createHttpProvider(t,(n=this.namespace.rpcMap)==null?void 0:n[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){const n=t||M1(e,this.namespace);return typeof n>"u"?void 0:new xo(new ma(n,Ki("disableProviderPing")))}}var Crt=Object.defineProperty,Srt=Object.defineProperties,Irt=Object.getOwnPropertyDescriptors,Zpe=Object.getOwnPropertySymbols,Rrt=Object.prototype.hasOwnProperty,Trt=Object.prototype.propertyIsEnumerable,Jpe=(r,e,t)=>e in r?Crt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,yR=(r,e)=>{for(var t in e||(e={}))Rrt.call(e,t)&&Jpe(r,t,e[t]);if(Zpe)for(var t of Zpe(e))Trt.call(e,t)&&Jpe(r,t,e[t]);return r},gF=(r,e)=>Srt(r,Irt(e));const krt=class Lge{constructor(e){this.events=new ty,this.rpcProviders={},this.shouldAbortPairingAttempt=!1,this.maxPairingAttempts=10,this.disableProviderPing=!1,this.providerOpts=e,this.logger=typeof(e==null?void 0:e.logger)<"u"&&typeof(e==null?void 0:e.logger)!="string"?e.logger:Hd(p1({level:(e==null?void 0:e.logger)||jpe})),this.disableProviderPing=(e==null?void 0:e.disableProviderPing)||!1}static async init(e){const t=new Lge(e);return await t.initialize(),t}async request(e,t,n){const[i,s]=this.validateChain(t);if(!this.session)throw new Error("Please call connect() before request()");return await this.getProvider(i).request({request:yR({},e),chainId:`${i}:${s}`,topic:this.session.topic,expiry:n})}sendAsync(e,t,n,i){const s=new Date().getTime();this.request(e,n,i).then(o=>t(null,m1(s,o))).catch(o=>t(o,void 0))}async enable(){if(!this.client)throw new Error("Sign Client not initialized");return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties}),await this.requestAccounts()}async disconnect(){var e;if(!this.session)throw new Error("Please call connect() before enable()");await this.client.disconnect({topic:(e=this.session)==null?void 0:e.topic,reason:ti("USER_DISCONNECTED")}),await this.cleanup()}async connect(e){if(!this.client)throw new Error("Sign Client not initialized");if(this.setNamespaces(e),await this.cleanupPendingPairings(),!e.skipPairing)return await this.pair(e.pairingTopic)}async authenticate(e){if(!this.client)throw new Error("Sign Client not initialized");this.setNamespaces(e),await this.cleanupPendingPairings();const{uri:t,response:n}=await this.client.authenticate(e);t&&(this.uri=t,this.events.emit("display_uri",t));const i=await n();if(this.session=i.session,this.session){const s=Gpe(this.session.namespaces);this.namespaces=fF(this.namespaces,s),this.persist("namespaces",this.namespaces),this.onConnect()}return i}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){this.shouldAbortPairingAttempt=!1;let t=0;do{if(this.shouldAbortPairingAttempt)throw new Error("Pairing aborted");if(t>=this.maxPairingAttempts)throw new Error("Max auto pairing attempts reached");const{uri:n,approval:i}=await this.client.connect({pairingTopic:e,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties});n&&(this.uri=n,this.events.emit("display_uri",n)),await i().then(s=>{this.session=s;const o=Gpe(s.namespaces);this.namespaces=fF(this.namespaces,o),this.persist("namespaces",this.namespaces)}).catch(s=>{if(s.message!==Lpe)throw s;t++})}while(!this.session);return this.onConnect(),this.session}setDefaultChain(e,t){try{if(!this.session)return;const[n,i]=this.validateChain(e);this.getProvider(n).setDefaultChain(i,t)}catch(n){if(!/Please call connect/.test(n.message))throw n}}async cleanupPendingPairings(e={}){this.logger.info("Cleaning up inactive pairings...");const t=this.client.pairing.getAll();if($f(t)){for(const n of t)e.deletePairings?this.client.core.expirer.set(n.topic,0):await this.client.core.relayer.subscriber.unsubscribe(n.topic);this.logger.info(`Inactive pairings cleared: ${t.length}`)}}abortPairingAttempt(){this.shouldAbortPairingAttempt=!0}async checkStorage(){if(this.namespaces=await this.getFromStore("namespaces"),this.optionalNamespaces=await this.getFromStore("optionalNamespaces")||{},this.client.session.length){const 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 irt.init({logger:this.providerOpts.logger||jpe,relayUrl:this.providerOpts.relayUrl||srt,projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name}),this.logger.trace("SignClient Initialized")}createProviders(){if(!this.client)throw new Error("Sign Client not initialized");if(!this.session)throw new Error("Session not initialized. Please call connect() before enable()");const e=[...new Set(Object.keys(this.session.namespaces).map(t=>lx(t)))];pF("client",this.client),pF("events",this.events),pF("disableProviderPing",this.disableProviderPing),e.forEach(t=>{if(!this.session)return;const n=grt(t,this.session),i=Wpe(n),s=fF(this.namespaces,this.optionalNamespaces),o=gF(yR({},s[t]),{accounts:n,chains:i});switch(t){case"eip155":this.rpcProviders[t]=new wrt({namespace:o});break;case"solana":this.rpcProviders[t]=new vrt({namespace:o});break;case"cosmos":this.rpcProviders[t]=new yrt({namespace:o});break;case"polkadot":this.rpcProviders[t]=new brt({namespace:o});break;case"cip34":this.rpcProviders[t]=new xrt({namespace:o});break;case"elrond":this.rpcProviders[t]=new _rt({namespace:o});break;case"multiversx":this.rpcProviders[t]=new Ert({namespace:o});break;case"near":this.rpcProviders[t]=new Art({namespace:o});break}})}registerEventListeners(){if(typeof this.client>"u")throw new Error("Sign Client is not initialized");this.client.on("session_ping",e=>{this.events.emit("session_ping",e)}),this.client.on("session_event",e=>{const{params:t}=e,{event:n}=t;if(n.name==="accountsChanged"){const i=n.data;i&&$f(i)&&this.events.emit("accountsChanged",i.map(mrt))}else if(n.name==="chainChanged"){const i=t.chainId,s=t.event.data,o=lx(i),a=dF(i)!==dF(s)?`${o}:${dF(s)}`:i;this.onChainChanged(a)}else this.events.emit(n.name,n.data);this.events.emit("session_event",e)}),this.client.on("session_update",({topic:e,params:t})=>{var n;const{namespaces:i}=t,s=(n=this.client)==null?void 0:n.session.get(e);this.session=gF(yR({},s),{namespaces:i}),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",gF(yR({},ti("USER_DISCONNECTED")),{data:e.topic}))}),this.on(u0.DEFAULT_CHAIN_CHANGED,e=>{this.onChainChanged(e,!0)})}getProvider(e){if(!this.rpcProviders[e])throw new Error(`Provider not found: ${e}`);return this.rpcProviders[e]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(e=>{var t;this.getProvider(e).updateNamespace((t=this.session)==null?void 0:t.namespaces[e])})}setNamespaces(e){const{namespaces:t,optionalNamespaces:n,sessionProperties:i}=e;t&&Object.keys(t).length&&(this.namespaces=t),n&&Object.keys(n).length&&(this.optionalNamespaces=n),this.sessionProperties=i,this.persist("namespaces",t),this.persist("optionalNamespaces",n)}validateChain(e){const[t,n]=(e==null?void 0:e.split(":"))||["",""];if(!this.namespaces||!Object.keys(this.namespaces).length)return[t,n];if(t&&!Object.keys(this.namespaces||{}).map(o=>lx(o)).includes(t))throw new Error(`Namespace '${t}' is not configured. Please call connect() first with namespace config.`);if(t&&n)return[t,n];const i=lx(Object.keys(this.namespaces)[0]),s=this.rpcProviders[i].getDefaultChain();return[i,s]}async requestAccounts(){const[e]=this.validateChain();return await this.getProvider(e).requestAccounts()}onChainChanged(e,t=!1){if(!this.namespaces)return;const[n,i]=this.validateChain(e);i&&(t||this.getProvider(n).setDefaultChain(i),this.namespaces[n]?this.namespaces[n].defaultChain=i:this.namespaces[`${n}:${i}`]?this.namespaces[`${n}:${i}`].defaultChain=i:this.namespaces[`${n}:${i}`]={defaultChain:i},this.persist("namespaces",this.namespaces),this.events.emit("chainChanged",i))}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(`${zpe}/${e}`,t)}async getFromStore(e){return await this.client.core.storage.getItem(`${zpe}/${e}`)}},Mrt="wc",Nrt="ethereum_provider",Prt=`${Mrt}@2:${Nrt}:`,Ort="https://rpc.walletconnect.com/v1/",mF=["eth_sendTransaction","personal_sign"],Drt=["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"],bF=["chainChanged","accountsChanged"],$rt=["chainChanged","accountsChanged","message","disconnect","connect"];var Brt=Object.defineProperty,Lrt=Object.defineProperties,Urt=Object.getOwnPropertyDescriptors,Ype=Object.getOwnPropertySymbols,Frt=Object.prototype.hasOwnProperty,jrt=Object.prototype.propertyIsEnumerable,Qpe=(r,e,t)=>e in r?Brt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,p3=(r,e)=>{for(var t in e||(e={}))Frt.call(e,t)&&Qpe(r,t,e[t]);if(Ype)for(var t of Ype(e))jrt.call(e,t)&&Qpe(r,t,e[t]);return r},wF=(r,e)=>Lrt(r,Urt(e));function xR(r){return Number(r[0].split(":")[1])}function _R(r){return`0x${r.toString(16)}`}function zrt(r){const{chains:e,optionalChains:t,methods:n,optionalMethods:i,events:s,optionalEvents:o,rpcMap:a}=r;if(!$f(e))throw new Error("Invalid chains");const l={chains:e,methods:n||mF,events:s||bF,rpcMap:p3({},e.length?{[xR(e)]:a[xR(e)]}:{})},u=s==null?void 0:s.filter(w=>!bF.includes(w)),h=n==null?void 0:n.filter(w=>!mF.includes(w));if(!t&&!o&&!i&&!(u!=null&&u.length)&&!(h!=null&&h.length))return{required:e.length?l:void 0};const p=(u==null?void 0:u.length)&&(h==null?void 0:h.length)||!t,g={chains:[...new Set(p?l.chains.concat(t||[]):t)],methods:[...new Set(l.methods.concat(i!=null&&i.length?i:Drt))],events:[...new Set(l.events.concat(o!=null&&o.length?o:$rt))],rpcMap:a};return{required:e.length?l:void 0,optional:t.length?g:void 0}}const Hrt=class Uge{constructor(){this.events=new fi.EventEmitter,this.namespace="eip155",this.accounts=[],this.chainId=1,this.STORAGE_KEY=Prt,this.on=(e,t)=>(this.events.on(e,t),this),this.once=(e,t)=>(this.events.once(e,t),this),this.removeListener=(e,t)=>(this.events.removeListener(e,t),this),this.off=(e,t)=>(this.events.off(e,t),this),this.parseAccount=e=>this.isCompatibleChainId(e)?this.parseAccountId(e).address:e,this.signer={},this.rpc={}}static async init(e){const t=new Uge;return await t.initialize(e),t}async request(e,t){return await this.signer.request(e,this.formatChainId(this.chainId),t)}sendAsync(e,t,n){this.signer.sendAsync(e,t,this.formatChainId(this.chainId),n)}get connected(){return this.signer.client?this.signer.client.core.relayer.connected:!1}get connecting(){return this.signer.client?this.signer.client.core.relayer.connecting:!1}async enable(){return this.session||await this.connect(),await this.request({method:"eth_requestAccounts"})}async connect(e){if(!this.signer.client)throw new Error("Provider not initialized. Call init() first");this.loadConnectOpts(e);const{required:t,optional:n}=zrt(this.rpc);try{const i=await new Promise(async(o,a)=>{var l;this.rpc.showQrModal&&((l=this.modal)==null||l.subscribeModal(u=>{!u.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),a(new Error("Connection request reset. Please try again.")))})),await this.signer.connect(wF(p3({namespaces:p3({},t&&{[this.namespace]:t})},n&&{optionalNamespaces:{[this.namespace]:n}}),{pairingTopic:e==null?void 0:e.pairingTopic})).then(u=>{o(u)}).catch(u=>{a(new Error(u.message))})});if(!i)return;const s=vde(i.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:s),this.setAccounts(s),this.events.emit("connect",{chainId:_R(this.chainId)})}catch(i){throw this.signer.logger.error(i),i}finally{this.modal&&this.modal.closeModal()}}async authenticate(e){if(!this.signer.client)throw new Error("Provider not initialized. Call init() first");this.loadConnectOpts({chains:e==null?void 0:e.chains});try{const t=await new Promise(async(i,s)=>{var o;this.rpc.showQrModal&&((o=this.modal)==null||o.subscribeModal(a=>{!a.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),s(new Error("Connection request reset. Please try again.")))})),await this.signer.authenticate(wF(p3({},e),{chains:this.rpc.chains})).then(a=>{i(a)}).catch(a=>{s(new Error(a.message))})}),n=t.session;if(n){const i=vde(n.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:i),this.setAccounts(i),this.events.emit("connect",{chainId:_R(this.chainId)})}return t}catch(t){throw this.signer.logger.error(t),t}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=>{const{params:t}=e,{event:n}=t;n.name==="accountsChanged"?(this.accounts=this.parseAccounts(n.data),this.events.emit("accountsChanged",this.accounts)):n.name==="chainChanged"?this.setChainId(this.formatChainId(n.data)):this.events.emit(n.name,n.data),this.events.emit("session_event",e)}),this.signer.on("chainChanged",e=>{const t=parseInt(e);this.chainId=t,this.events.emit("chainChanged",_R(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",wF(p3({},ti("USER_DISCONNECTED")),{data:e.topic,name:"USER_DISCONNECTED"}))}),this.signer.on("display_uri",e=>{var t,n;this.rpc.showQrModal&&((t=this.modal)==null||t.closeModal(),(n=this.modal)==null||n.openModal({uri:e})),this.events.emit("display_uri",e)})}switchEthereumChain(e){this.request({method:"wallet_switchEthereumChain",params:[{chainId:e.toString(16)}]})}isCompatibleChainId(e){return typeof e=="string"?e.startsWith(`${this.namespace}:`):!1}formatChainId(e){return`${this.namespace}:${e}`}parseChainId(e){return Number(e.split(":")[1])}setChainIds(e){const t=e.filter(n=>this.isCompatibleChainId(n)).map(n=>this.parseChainId(n));t.length&&(this.chainId=t[0],this.events.emit("chainChanged",_R(this.chainId)),this.persist())}setChainId(e){if(this.isCompatibleChainId(e)){const t=this.parseChainId(e);this.chainId=t,this.switchEthereumChain(t)}}parseAccountId(e){const[t,n,i]=e.split(":");return{chainId:`${t}:${n}`,address:i}}setAccounts(e){this.accounts=e.filter(t=>this.parseChainId(this.parseAccountId(t).chainId)===this.chainId).map(t=>this.parseAccountId(t).address),this.events.emit("accountsChanged",this.accounts)}getRpcConfig(e){var t,n;const i=(t=e==null?void 0:e.chains)!=null?t:[],s=(n=e==null?void 0:e.optionalChains)!=null?n:[],o=i.concat(s);if(!o.length)throw new Error("No chains specified in either `chains` or `optionalChains`");const a=i.length?(e==null?void 0:e.methods)||mF:[],l=i.length?(e==null?void 0:e.events)||bF:[],u=(e==null?void 0:e.optionalMethods)||[],h=(e==null?void 0:e.optionalEvents)||[],p=(e==null?void 0:e.rpcMap)||this.buildRpcMap(o,e.projectId),g=(e==null?void 0:e.qrModalOptions)||void 0;return{chains:i==null?void 0:i.map(w=>this.formatChainId(w)),optionalChains:s.map(w=>this.formatChainId(w)),methods:a,events:l,optionalMethods:u,optionalEvents:h,rpcMap:p,showQrModal:!!(e!=null&&e.showQrModal),qrModalOptions:g,projectId:e.projectId,metadata:e.metadata}}buildRpcMap(e,t){const n={};return e.forEach(i=>{n[i]=this.getRpcUrl(i,t)}),n}async initialize(e){if(this.rpc=this.getRpcConfig(e),this.chainId=this.rpc.chains.length?xR(this.rpc.chains):xR(this.rpc.optionalChains),this.signer=await krt.init({projectId:this.rpc.projectId,metadata:this.rpc.metadata,disableProviderPing:e.disableProviderPing,relayUrl:e.relayUrl,storageOptions:e.storageOptions}),this.registerEventListeners(),await this.loadPersistedSession(),this.rpc.showQrModal){let t;try{const{WalletConnectModal:n}=await Promise.resolve().then(()=>l1e);t=n}catch{throw new Error("To use QR modal, please install @walletconnect/modal package")}if(t)try{this.modal=new t(p3({projectId:this.rpc.projectId},this.rpc.qrModalOptions))}catch(n){throw this.signer.logger.error(n),new Error("Could not generate WalletConnectModal Instance")}}}loadConnectOpts(e){if(!e)return;const{chains:t,optionalChains:n,rpcMap:i}=e;t&&$f(t)&&(this.rpc.chains=t.map(s=>this.formatChainId(s)),t.forEach(s=>{this.rpc.rpcMap[s]=(i==null?void 0:i[s])||this.getRpcUrl(s)})),n&&$f(n)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=n==null?void 0:n.map(s=>this.formatChainId(s)),n.forEach(s=>{this.rpc.rpcMap[s]=(i==null?void 0:i[s])||this.getRpcUrl(s)}))}getRpcUrl(e,t){var n;return((n=this.rpc.rpcMap)==null?void 0:n[e])||`${Ort}?chainId=eip155:${e}&projectId=${t||this.rpc.projectId}`}async loadPersistedSession(){if(this.session)try{const 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==null?void 0:t.accounts),this.setAccounts(t==null?void 0:t.accounts)}catch(e){this.signer.logger.error("Failed to load persisted session, clearing state..."),this.signer.logger.error(e),await this.disconnect().catch(t=>this.signer.logger.warn(t))}}reset(){this.chainId=1,this.accounts=[]}persist(){this.session&&this.signer.client.core.storage.setItem(`${this.STORAGE_KEY}/chainId`,this.chainId)}parseAccounts(e){return typeof e=="string"||e instanceof String?[this.parseAccount(e)]:e.map(t=>this.parseAccount(t))}};let vF=!1,Xpe;const qrt={id:"walletconnect",name:"WalletConnect",icon:Up.walletConnect,provider:Xpe,platforms:[No.UNIVERSAL],isDetected:()=>!0,isConnected:()=>vF,disconnect:()=>{vF=!1,indexedDB.deleteDatabase("WALLET_CONNECT_V2_INDEXED_DB")},connect:async(r,e)=>{if(r===void 0)throw new Error(kr.PROVIDER_IS_REQUIRED);if(e===void 0)throw new Error(kr.CONFIG_IS_REQUIRED);if(e.projectId===void 0)throw new Error(kr.PROJECT_ID_IS_REQUIRED);const t={},n=r.network;t[n.id]=n.rpcUrl;const i=await Hrt.init({projectId:e.projectId,relayUrl:"wss://relay.walletconnect.com",optionalChains:[n.id],rpcMap:t,chains:[n.id],showQrModal:!0,qrModalOptions:{themeMode:e.themeMode,themeVariables:{"--wcm-z-index":"999999999999"},explorerExcludedWalletIds:"ALL",explorerRecommendedWalletIds:["c57ca95b47569778a828d19178114f4db188b89b763c899ba0be274e97267d96","4622a2b2d6af1c9844944291e5e7351a6aa24cd7b23099efac1b2fd875da31a0","1ae92b26df02f0abca6304df07debccd18262fdf5fe82daa81593582dac9a369","0b415a746fb9ee99cce155c2ceca0c6f6061b1dbca2d722b3ba16381d0562150","971e689d0a5be527bac79629b4ee9b925e82208e5168b733496a09c0faed0709","c03dfee351b6fcc421b4494ea33b9d4b92a984f87aa76d1663bb28705e95034a","ecc4036f814562b41a5268adc86270fba1365471402006302e70169465b7ac18","ef333840daf915aafdc4a004525502d6d49d77bd9c65e0642dbaefb3c2893bef","bc949c5d968ae81310268bf9193f9c9fb7bb4e1283e1284af8f2bd4992535fd6","74f8092562bd79675e276d8b2062a83601a4106d30202f2d509195e30e19673d","afbd95522f4041c71dd4f1a065f971fd32372865b416f95a0b1db759ae33f2a7","20459438007b75f4f4acb98bf29aa3b800550309646d375da5fd4aac6c2a2c66","8837dd9413b1d9b585ee937d27a816590248386d9dbf59f5cd3422dbbb65683e","c286eebc742a537cd1d6818363e9dc53b21759a1e8e5d9b263d0c03ec7703576","38f5d18bd8522c244bdd70cb4a68e0e718865155811c043f052fb9f1c51de662","85db431492aa2e8672e93f4ea7acf10c88b97b867b0d373107af63dc4880f041"]}});return await new Promise((s,o)=>{i.enable().then(()=>{vF=!0,s(Xpe=i)}).catch(a=>{o(a)})})}},Wrt=Object.freeze(Object.defineProperty({__proto__:null,BitgetWallet:DKe,MetaMask:mxe,OkxWallet:NKe,Phantom:gxe,TrustWallet:OKe,WalletConnect:qrt,Web3Modal:MKe,XdefiWallet:PKe},Symbol.toStringTag,{value:"Module"})),Vrt={"app.phantom":"phantom","io.metamask":"metamask","com.bitget.web3":"bitgetwallet","com.okex.wallet":"okxwallet","com.trustwallet.app":"trustwallet","io.xdefi":"xdefiwallet"},yF={},Grt={Wallet:F4e,switcher:wv,registerAdapter:r=>{if(Vrt[r.id]!==void 0){console.warn(`Adapter is not registered, because it is already registered default: ${r.id}`);return}if(Object.values(yF).find(e=>e.id===r.id)!==void 0)throw new Error(`Adapter with id ${r.id} already exists`);yF[r.id]=r},toEIP6963ProviderDetail:r=>{if(r.provider===void 0)throw new Error("Cannot convert adapter without provider to EIP6963ProviderDetail");return{info:{uuid:r.id,name:r.name,icon:r.icon},provider:r.provider}},fromEIP6963ProviderDetail:r=>({name:r.info.name,icon:r.info.icon,provider:r.provider,id:r.info.rdns??r.info.uuid,platforms:[No.BROWSER,No.MOBILE],isDetected:()=>!0,isConnected:async()=>!!(await r.provider.request({method:"eth_accounts"})).length,connect:async()=>await new Promise((e,t)=>{try{r.provider.request({method:"eth_requestAccounts"}).then(()=>{e(r.provider)}).catch(n=>{t(n)})}catch(n){t(n)}})}),adapters:Object.assign(yF,Wrt)},hu=wi({status:"uninitialized"}),mx={state:hu,subscribeKey(r,e){return Ra(hu,r,e)},subscribe(r){return ls(hu,()=>r(hu))},_getClient(){if(!hu._client)throw new Error("SIWEController client not set");return hu._client},async getNonce(r){const t=await this._getClient().getNonce(r);return this.setNonce(t),t},async getSession(){const e=await this._getClient().getSession();return e&&(this.setSession(e),this.setStatus("success")),e},createMessage(r){const t=this._getClient().createMessage(r);return this.setMessage(t),t},async verifyMessage(r){return await this._getClient().verifyMessage(r)},async signIn(){return await this._getClient().signIn()},async signOut(){var e;const r=this._getClient();await r.signOut(),this.setStatus("ready"),(e=r.onSignOut)==null||e.call(r)},onSignIn(r){var t;const e=this._getClient();(t=e.onSignIn)==null||t.call(e,r)},onSignOut(){var e;const r=this._getClient();(e=r.onSignOut)==null||e.call(r)},setSIWEClient(r){hu._client=jp(r),hu.status="ready",hr.setIsSiweEnabled(r.options.enabled)},setNonce(r){hu.nonce=r},setStatus(r){hu.status=r},setMessage(r){hu.message=r},setSession(r){hu.session=r}},Krt=Ze` +`)+Te+`return __p +}`;var jt=d_(function(){return fr(ee,Qe+"return "+Te).apply(t,ne)});if(jt.source=Te,cw(jt))throw jt;return jt}function QV(c){return wr(c).toLowerCase()}function XV(c){return wr(c).toUpperCase()}function eG(c,f,v){if(c=wr(c),c&&(v||f===t))return _7(c);if(!c||!(f=Si(f)))return c;var P=as(c),j=as(f),ee=E7(P,j),ne=A7(P,j)+1;return ia(P,ee,ne).join("")}function tG(c,f,v){if(c=wr(c),c&&(v||f===t))return c.slice(0,S7(c)+1);if(!c||!(f=Si(f)))return c;var P=as(c),j=A7(P,as(f))+1;return ia(P,0,j).join("")}function rG(c,f,v){if(c=wr(c),c&&(v||f===t))return c.replace(gt,"");if(!c||!(f=Si(f)))return c;var P=as(c),j=E7(P,as(f));return ia(P,j).join("")}function nG(c,f){var v=Q,P=F;if(Or(f)){var j="separator"in f?f.separator:j;v="length"in f?Ot(f.length):v,P="omission"in f?Si(f.omission):P}c=wr(c);var ee=c.length;if(ul(c)){var ne=as(c);ee=ne.length}if(v>=ee)return c;var ae=v-hl(P);if(ae<1)return P;var fe=ne?ia(ne,0,ae).join(""):c.slice(0,ae);if(j===t)return fe+P;if(ne&&(ae+=fe.length-ae),lw(j)){if(c.slice(ae).search(j)){var Ae,Ce=fe;for(j.global||(j=Cb(j.source,wr(Tt.exec(j))+"g")),j.lastIndex=0;Ae=j.exec(Ce);)var Te=Ae.index;fe=fe.slice(0,Te===t?ae:Te)}}else if(c.indexOf(Si(j),ae)!=ae){var $e=fe.lastIndexOf(j);$e>-1&&(fe=fe.slice(0,$e))}return fe+P}function iG(c){return c=wr(c),c&&Lt.test(c)?c.replace(st,Pj):c}var sG=wl(function(c,f,v){return c+(v?" ":"")+f.toUpperCase()}),fw=p9("toUpperCase");function f_(c,f,v){return c=wr(c),f=v?t:f,f===t?Tj(c)?$j(c):vj(c):c.match(f)||[]}var d_=Zt(function(c,f){try{return Fn(c,t,f)}catch(v){return cw(v)?v:new kt(v)}}),oG=no(function(c,f){return Li(f,function(v){v=Os(v),to(c,v,ow(c[v],c))}),c});function aG(c){var f=c==null?0:c.length,v=ut();return c=f?Pr(c,function(P){if(typeof P[1]!="function")throw new Ui(o);return[v(P[0]),P[1]]}):[],Zt(function(P){for(var j=-1;++jI)return[];var v=E,P=Mn(c,E);f=ut(f),c-=E;for(var j=_b(P,f);++v0||f<0)?new Xt(v):(c<0?v=v.takeRight(-c):c&&(v=v.drop(c)),f!==t&&(f=Ot(f),v=f<0?v.dropRight(-f):v.take(f-c)),v)},Xt.prototype.takeRightWhile=function(c){return this.reverse().takeWhile(c).reverse()},Xt.prototype.toArray=function(){return this.take(E)},Ns(Xt.prototype,function(c,f){var v=/^(?:filter|find|map|reject)|While$/.test(f),P=/^(?:head|last)$/.test(f),j=Z[P?"take"+(f=="last"?"Right":""):f],ee=P||/^find/.test(f);j&&(Z.prototype[f]=function(){var ne=this.__wrapped__,ae=P?[1]:arguments,fe=ne instanceof Xt,Ae=ae[0],Ce=fe||Mt(ne),Te=function(Qt){var rr=j.apply(Z,Qo([Qt],ae));return P&&$e?rr[0]:rr};Ce&&v&&typeof Ae=="function"&&Ae.length!=1&&(fe=Ce=!1);var $e=this.__chain__,Qe=!!this.__actions__.length,mt=ee&&!$e,jt=fe&&!Qe;if(!ee&&Ce){ne=jt?ne:new Xt(this);var bt=c.apply(ne,ae);return bt.__actions__.push({func:lp,args:[Te],thisArg:t}),new Fi(bt,$e)}return mt&&jt?c.apply(this,ae):(bt=this.thru(Te),mt?P?bt.value()[0]:bt.value():bt)})}),Li(["pop","push","shift","sort","splice","unshift"],function(c){var f=D0[c],v=/^(?:push|sort|unshift)$/.test(c)?"tap":"thru",P=/^(?:pop|shift)$/.test(c);Z.prototype[c]=function(){var j=arguments;if(P&&!this.__chain__){var ee=this.value();return f.apply(Mt(ee)?ee:[],j)}return this[v](function(ne){return f.apply(Mt(ne)?ne:[],j)})}}),Ns(Xt.prototype,function(c,f){var v=Z[f];if(v){var P=v.name+"";vr.call(gl,P)||(gl[P]=[]),gl[P].push({name:f,func:v})}}),gl[rp(t,k).name]=[{name:"wrapper",func:t}],Xt.prototype.clone=iz,Xt.prototype.reverse=sz,Xt.prototype.value=oz,Z.prototype.at=Dq,Z.prototype.chain=$q,Z.prototype.commit=Bq,Z.prototype.next=Lq,Z.prototype.plant=Fq,Z.prototype.reverse=jq,Z.prototype.toJSON=Z.prototype.valueOf=Z.prototype.value=zq,Z.prototype.first=Z.prototype.head,vh&&(Z.prototype[vh]=Uq),Z},fl=Bj();si?((si.exports=fl)._=fl,Vn._=fl):Sr._=fl}).call(px)})(iF,iF.exports);var Jtt=Object.defineProperty,Ytt=Object.defineProperties,Qtt=Object.getOwnPropertyDescriptors,Upe=Object.getOwnPropertySymbols,Xtt=Object.prototype.hasOwnProperty,ert=Object.prototype.propertyIsEnumerable,Fpe=(r,e,t)=>e in r?Jtt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,AT=(r,e)=>{for(var t in e||(e={}))Xtt.call(e,t)&&Fpe(r,t,e[t]);if(Upe)for(var t of Upe(e))ert.call(e,t)&&Fpe(r,t,e[t]);return r},trt=(r,e)=>Ytt(r,Qtt(e));function R1(r,e,t){var n;const i=eT(r);return((n=e.rpcMap)==null?void 0:n[i.reference])||`${Ztt}?chainId=${i.namespace}:${i.reference}&projectId=${t}`}function p2(r){return r.includes(":")?r.split(":")[1]:r}function jpe(r){return r.map(e=>`${e.split(":")[0]}:${e.split(":")[1]}`)}function rrt(r,e){const t=Object.keys(e.namespaces).filter(i=>i.includes(r));if(!t.length)return[];const n=[];return t.forEach(i=>{const s=e.namespaces[i].accounts;n.push(...s)}),n}function sF(r={},e={}){const t=zpe(r),n=zpe(e);return iF.exports.merge(t,n)}function zpe(r){var e,t,n,i;const s={};if(!lx(r))return s;for(const[o,a]of Object.entries(r)){const l=qU(o)?[o]:a.chains,u=a.methods||[],h=a.events||[],p=a.rpcMap||{},g=cx(o);s[g]=trt(AT(AT({},s[g]),a),{chains:tT(l,(e=s[g])==null?void 0:e.chains),methods:tT(u,(t=s[g])==null?void 0:t.methods),events:tT(h,(n=s[g])==null?void 0:n.events),rpcMap:AT(AT({},p),(i=s[g])==null?void 0:i.rpcMap)})}return s}function nrt(r){return r.includes(":")?r.split(":")[2]:r}function Hpe(r){const e={};for(const[t,n]of Object.entries(r)){const i=n.methods||[],s=n.events||[],o=n.accounts||[],a=qU(t)?[t]:n.chains?n.chains:jpe(n.accounts);e[t]={chains:a,methods:i,events:s,accounts:o}}return e}function oF(r){return typeof r=="number"?r:r.includes("0x")?parseInt(r,16):(r=r.includes(":")?r.split(":")[1]:r,isNaN(Number(r))?r:Number(r))}const qpe={},Ji=r=>qpe[r],aF=(r,e)=>{qpe[r]=e};class irt{constructor(e){this.name="polkadot",this.namespace=e.namespace,this.events=Ji("events"),this.client=Ji("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;const e=this.namespace.chains[0];if(!e)throw new 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(l0.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getAccounts(){const e=this.namespace.accounts;return e?e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2])||[]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var n;const i=p2(t);e[i]=this.createHttpProvider(i,(n=this.namespace.rpcMap)==null?void 0:n[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){const n=t||R1(e,this.namespace,this.client.core.projectId);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new _o(new ma(n,Ji("disableProviderPing")))}}class srt{constructor(e){this.name="eip155",this.namespace=e.namespace,this.events=Ji("events"),this.client=Ji("client"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(e){switch(e.request.method){case"eth_requestAccounts":return this.getAccounts();case"eth_accounts":return this.getAccounts();case"wallet_switchEthereumChain":return await this.handleSwitchChain(e);case"eth_chainId":return parseInt(this.getDefaultChain())}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(l0.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}createHttpProvider(e,t){const n=t||R1(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new _o(new ma(n,Ji("disableProviderPing")))}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var n;const i=parseInt(p2(t));e[i]=this.createHttpProvider(i,(n=this.namespace.rpcMap)==null?void 0:n[t])}),e}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}getHttpProvider(){const e=this.chainId,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}async handleSwitchChain(e){var t,n;let i=e.request.params?(t=e.request.params[0])==null?void 0:t.chainId:"0x0";i=i.startsWith("0x")?i:`0x${i}`;const s=parseInt(i,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:i}]},chainId:(n=this.namespace.chains)==null?void 0:n[0]}),this.setDefaultChain(`${s}`);else throw new 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}`)}}class ort{constructor(e){this.name="solana",this.namespace=e.namespace,this.events=Ji("events"),this.client=Ji("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(l0.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var n;const i=p2(t);e[i]=this.createHttpProvider(i,(n=this.namespace.rpcMap)==null?void 0:n[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){const n=t||R1(e,this.namespace,this.client.core.projectId);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new _o(new ma(n,Ji("disableProviderPing")))}}class art{constructor(e){this.name="cosmos",this.namespace=e.namespace,this.events=Ji("events"),this.client=Ji("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;const e=this.namespace.chains[0];if(!e)throw new 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(l0.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var n;const i=p2(t);e[i]=this.createHttpProvider(i,(n=this.namespace.rpcMap)==null?void 0:n[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){const n=t||R1(e,this.namespace,this.client.core.projectId);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new _o(new ma(n,Ji("disableProviderPing")))}}class crt{constructor(e){this.name="cip34",this.namespace=e.namespace,this.events=Ji("events"),this.client=Ji("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;const e=this.namespace.chains[0];if(!e)throw new 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(l0.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{const n=this.getCardanoRPCUrl(t),i=p2(t);e[i]=this.createHttpProvider(i,n)}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}getCardanoRPCUrl(e){const t=this.namespace.rpcMap;if(t)return t[e]}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){const n=t||this.getCardanoRPCUrl(e);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new _o(new ma(n,Ji("disableProviderPing")))}}class lrt{constructor(e){this.name="elrond",this.namespace=e.namespace,this.events=Ji("events"),this.client=Ji("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(l0.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var n;const i=p2(t);e[i]=this.createHttpProvider(i,(n=this.namespace.rpcMap)==null?void 0:n[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){const n=t||R1(e,this.namespace,this.client.core.projectId);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new _o(new ma(n,Ji("disableProviderPing")))}}class urt{constructor(e){this.name="multiversx",this.namespace=e.namespace,this.events=Ji("events"),this.client=Ji("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(l0.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var n;const i=p2(t);e[i]=this.createHttpProvider(i,(n=this.namespace.rpcMap)==null?void 0:n[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){const n=t||R1(e,this.namespace,this.client.core.projectId);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new _o(new ma(n,Ji("disableProviderPing")))}}class hrt{constructor(e){this.name="near",this.namespace=e.namespace,this.events=Ji("events"),this.client=Ji("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;const e=this.namespace.chains[0];if(!e)throw new 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]){const n=t||R1(`${this.name}:${e}`,this.namespace);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,n)}this.events.emit(l0.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2])||[]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var n;e[t]=this.createHttpProvider(t,(n=this.namespace.rpcMap)==null?void 0:n[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){const n=t||R1(e,this.namespace);return typeof n>"u"?void 0:new _o(new ma(n,Ji("disableProviderPing")))}}var frt=Object.defineProperty,drt=Object.defineProperties,prt=Object.getOwnPropertyDescriptors,Wpe=Object.getOwnPropertySymbols,grt=Object.prototype.hasOwnProperty,mrt=Object.prototype.propertyIsEnumerable,Vpe=(r,e,t)=>e in r?frt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,CT=(r,e)=>{for(var t in e||(e={}))grt.call(e,t)&&Vpe(r,t,e[t]);if(Wpe)for(var t of Wpe(e))mrt.call(e,t)&&Vpe(r,t,e[t]);return r},cF=(r,e)=>drt(r,prt(e));let Gpe=class{constructor(e){this.events=new pn,this.rpcProviders={},this.shouldAbortPairingAttempt=!1,this.maxPairingAttempts=10,this.disableProviderPing=!1,this.providerOpts=e,this.logger=typeof(e==null?void 0:e.logger)<"u"&&typeof(e==null?void 0:e.logger)!="string"?e.logger:mc(h1({level:(e==null?void 0:e.logger)||Bpe})),this.disableProviderPing=(e==null?void 0:e.disableProviderPing)||!1}static async init(e){const t=new Gpe(e);return await t.initialize(),t}async request(e,t,n){const[i,s]=this.validateChain(t);if(!this.session)throw new Error("Please call connect() before request()");return await this.getProvider(i).request({request:CT({},e),chainId:`${i}:${s}`,topic:this.session.topic,expiry:n})}sendAsync(e,t,n,i){const s=new Date().getTime();this.request(e,n,i).then(o=>t(null,d1(s,o))).catch(o=>t(o,void 0))}async enable(){if(!this.client)throw new Error("Sign Client not initialized");return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties}),await this.requestAccounts()}async disconnect(){var e;if(!this.session)throw new Error("Please call connect() before enable()");await this.client.disconnect({topic:(e=this.session)==null?void 0:e.topic,reason:ni("USER_DISCONNECTED")}),await this.cleanup()}async connect(e){if(!this.client)throw new Error("Sign Client not initialized");if(this.setNamespaces(e),await this.cleanupPendingPairings(),!e.skipPairing)return await this.pair(e.pairingTopic)}async authenticate(e){if(!this.client)throw new Error("Sign Client not initialized");this.setNamespaces(e),await this.cleanupPendingPairings();const{uri:t,response:n}=await this.client.authenticate(e);t&&(this.uri=t,this.events.emit("display_uri",t));const i=await n();if(this.session=i.session,this.session){const s=Hpe(this.session.namespaces);this.namespaces=sF(this.namespaces,s),this.persist("namespaces",this.namespaces),this.onConnect()}return i}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){this.shouldAbortPairingAttempt=!1;let t=0;do{if(this.shouldAbortPairingAttempt)throw new Error("Pairing aborted");if(t>=this.maxPairingAttempts)throw new Error("Max auto pairing attempts reached");const{uri:n,approval:i}=await this.client.connect({pairingTopic:e,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties});n&&(this.uri=n,this.events.emit("display_uri",n)),await i().then(s=>{this.session=s;const o=Hpe(s.namespaces);this.namespaces=sF(this.namespaces,o),this.persist("namespaces",this.namespaces)}).catch(s=>{if(s.message!==Ppe)throw s;t++})}while(!this.session);return this.onConnect(),this.session}setDefaultChain(e,t){try{if(!this.session)return;const[n,i]=this.validateChain(e);this.getProvider(n).setDefaultChain(i,t)}catch(n){if(!/Please call connect/.test(n.message))throw n}}async cleanupPendingPairings(e={}){this.logger.info("Cleaning up inactive pairings...");const t=this.client.pairing.getAll();if(Lf(t)){for(const n of t)e.deletePairings?this.client.core.expirer.set(n.topic,0):await this.client.core.relayer.subscriber.unsubscribe(n.topic);this.logger.info(`Inactive pairings cleared: ${t.length}`)}}abortPairingAttempt(){this.shouldAbortPairingAttempt=!0}async checkStorage(){if(this.namespaces=await this.getFromStore("namespaces"),this.optionalNamespaces=await this.getFromStore("optionalNamespaces")||{},this.client.session.length){const 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 $pe.init({logger:this.providerOpts.logger||Bpe,relayUrl:this.providerOpts.relayUrl||Vtt,projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name}),this.logger.trace("SignClient Initialized")}createProviders(){if(!this.client)throw new Error("Sign Client not initialized");if(!this.session)throw new Error("Session not initialized. Please call connect() before enable()");const e=[...new Set(Object.keys(this.session.namespaces).map(t=>cx(t)))];aF("client",this.client),aF("events",this.events),aF("disableProviderPing",this.disableProviderPing),e.forEach(t=>{if(!this.session)return;const n=rrt(t,this.session),i=jpe(n),s=sF(this.namespaces,this.optionalNamespaces),o=cF(CT({},s[t]),{accounts:n,chains:i});switch(t){case"eip155":this.rpcProviders[t]=new srt({namespace:o});break;case"solana":this.rpcProviders[t]=new ort({namespace:o});break;case"cosmos":this.rpcProviders[t]=new art({namespace:o});break;case"polkadot":this.rpcProviders[t]=new irt({namespace:o});break;case"cip34":this.rpcProviders[t]=new crt({namespace:o});break;case"elrond":this.rpcProviders[t]=new lrt({namespace:o});break;case"multiversx":this.rpcProviders[t]=new urt({namespace:o});break;case"near":this.rpcProviders[t]=new hrt({namespace:o});break}})}registerEventListeners(){if(typeof this.client>"u")throw new Error("Sign Client is not initialized");this.client.on("session_ping",e=>{this.events.emit("session_ping",e)}),this.client.on("session_event",e=>{const{params:t}=e,{event:n}=t;if(n.name==="accountsChanged"){const i=n.data;i&&Lf(i)&&this.events.emit("accountsChanged",i.map(nrt))}else if(n.name==="chainChanged"){const i=t.chainId,s=t.event.data,o=cx(i),a=oF(i)!==oF(s)?`${o}:${oF(s)}`:i;this.onChainChanged(a)}else this.events.emit(n.name,n.data);this.events.emit("session_event",e)}),this.client.on("session_update",({topic:e,params:t})=>{var n;const{namespaces:i}=t,s=(n=this.client)==null?void 0:n.session.get(e);this.session=cF(CT({},s),{namespaces:i}),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",cF(CT({},ni("USER_DISCONNECTED")),{data:e.topic}))}),this.on(l0.DEFAULT_CHAIN_CHANGED,e=>{this.onChainChanged(e,!0)})}getProvider(e){if(!this.rpcProviders[e])throw new Error(`Provider not found: ${e}`);return this.rpcProviders[e]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(e=>{var t;this.getProvider(e).updateNamespace((t=this.session)==null?void 0:t.namespaces[e])})}setNamespaces(e){const{namespaces:t,optionalNamespaces:n,sessionProperties:i}=e;t&&Object.keys(t).length&&(this.namespaces=t),n&&Object.keys(n).length&&(this.optionalNamespaces=n),this.sessionProperties=i,this.persist("namespaces",t),this.persist("optionalNamespaces",n)}validateChain(e){const[t,n]=(e==null?void 0:e.split(":"))||["",""];if(!this.namespaces||!Object.keys(this.namespaces).length)return[t,n];if(t&&!Object.keys(this.namespaces||{}).map(o=>cx(o)).includes(t))throw new Error(`Namespace '${t}' is not configured. Please call connect() first with namespace config.`);if(t&&n)return[t,n];const i=cx(Object.keys(this.namespaces)[0]),s=this.rpcProviders[i].getDefaultChain();return[i,s]}async requestAccounts(){const[e]=this.validateChain();return await this.getProvider(e).requestAccounts()}onChainChanged(e,t=!1){if(!this.namespaces)return;const[n,i]=this.validateChain(e);i&&(t||this.getProvider(n).setDefaultChain(i),this.namespaces[n]?this.namespaces[n].defaultChain=i:this.namespaces[`${n}:${i}`]?this.namespaces[`${n}:${i}`].defaultChain=i:this.namespaces[`${n}:${i}`]={defaultChain:i},this.persist("namespaces",this.namespaces),this.events.emit("chainChanged",i))}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(`${Lpe}/${e}`,t)}async getFromStore(e){return await this.client.core.storage.getItem(`${Lpe}/${e}`)}};const brt=Gpe,wrt="wc",vrt="ethereum_provider",yrt=`${wrt}@2:${vrt}:`,xrt="https://rpc.walletconnect.com/v1/",lF=["eth_sendTransaction","personal_sign"],_rt=["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"],uF=["chainChanged","accountsChanged"],Ert=["chainChanged","accountsChanged","message","disconnect","connect"];var Art=Object.defineProperty,Crt=Object.defineProperties,Srt=Object.getOwnPropertyDescriptors,Kpe=Object.getOwnPropertySymbols,Irt=Object.prototype.hasOwnProperty,Trt=Object.prototype.propertyIsEnumerable,Zpe=(r,e,t)=>e in r?Art(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,f3=(r,e)=>{for(var t in e||(e={}))Irt.call(e,t)&&Zpe(r,t,e[t]);if(Kpe)for(var t of Kpe(e))Trt.call(e,t)&&Zpe(r,t,e[t]);return r},hF=(r,e)=>Crt(r,Srt(e));function ST(r){return Number(r[0].split(":")[1])}function IT(r){return`0x${r.toString(16)}`}function Rrt(r){const{chains:e,optionalChains:t,methods:n,optionalMethods:i,events:s,optionalEvents:o,rpcMap:a}=r;if(!Lf(e))throw new Error("Invalid chains");const l={chains:e,methods:n||lF,events:s||uF,rpcMap:f3({},e.length?{[ST(e)]:a[ST(e)]}:{})},u=s==null?void 0:s.filter(w=>!uF.includes(w)),h=n==null?void 0:n.filter(w=>!lF.includes(w));if(!t&&!o&&!i&&!(u!=null&&u.length)&&!(h!=null&&h.length))return{required:e.length?l:void 0};const p=(u==null?void 0:u.length)&&(h==null?void 0:h.length)||!t,g={chains:[...new Set(p?l.chains.concat(t||[]):t)],methods:[...new Set(l.methods.concat(i!=null&&i.length?i:_rt))],events:[...new Set(l.events.concat(o!=null&&o.length?o:Ert))],rpcMap:a};return{required:e.length?l:void 0,optional:t.length?g:void 0}}let Jpe=class{constructor(){this.events=new pn.EventEmitter,this.namespace="eip155",this.accounts=[],this.chainId=1,this.STORAGE_KEY=yrt,this.on=(e,t)=>(this.events.on(e,t),this),this.once=(e,t)=>(this.events.once(e,t),this),this.removeListener=(e,t)=>(this.events.removeListener(e,t),this),this.off=(e,t)=>(this.events.off(e,t),this),this.parseAccount=e=>this.isCompatibleChainId(e)?this.parseAccountId(e).address:e,this.signer={},this.rpc={}}static async init(e){const t=new Jpe;return await t.initialize(e),t}async request(e,t){return await this.signer.request(e,this.formatChainId(this.chainId),t)}sendAsync(e,t,n){this.signer.sendAsync(e,t,this.formatChainId(this.chainId),n)}get connected(){return this.signer.client?this.signer.client.core.relayer.connected:!1}get connecting(){return this.signer.client?this.signer.client.core.relayer.connecting:!1}async enable(){return this.session||await this.connect(),await this.request({method:"eth_requestAccounts"})}async connect(e){if(!this.signer.client)throw new Error("Provider not initialized. Call init() first");this.loadConnectOpts(e);const{required:t,optional:n}=Rrt(this.rpc);try{const i=await new Promise(async(o,a)=>{var l;this.rpc.showQrModal&&((l=this.modal)==null||l.subscribeModal(u=>{!u.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),a(new Error("Connection request reset. Please try again.")))})),await this.signer.connect(hF(f3({namespaces:f3({},t&&{[this.namespace]:t})},n&&{optionalNamespaces:{[this.namespace]:n}}),{pairingTopic:e==null?void 0:e.pairingTopic})).then(u=>{o(u)}).catch(u=>{a(new Error(u.message))})});if(!i)return;const s=dde(i.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:s),this.setAccounts(s),this.events.emit("connect",{chainId:IT(this.chainId)})}catch(i){throw this.signer.logger.error(i),i}finally{this.modal&&this.modal.closeModal()}}async authenticate(e){if(!this.signer.client)throw new Error("Provider not initialized. Call init() first");this.loadConnectOpts({chains:e==null?void 0:e.chains});try{const t=await new Promise(async(i,s)=>{var o;this.rpc.showQrModal&&((o=this.modal)==null||o.subscribeModal(a=>{!a.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),s(new Error("Connection request reset. Please try again.")))})),await this.signer.authenticate(hF(f3({},e),{chains:this.rpc.chains})).then(a=>{i(a)}).catch(a=>{s(new Error(a.message))})}),n=t.session;if(n){const i=dde(n.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:i),this.setAccounts(i),this.events.emit("connect",{chainId:IT(this.chainId)})}return t}catch(t){throw this.signer.logger.error(t),t}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=>{const{params:t}=e,{event:n}=t;n.name==="accountsChanged"?(this.accounts=this.parseAccounts(n.data),this.events.emit("accountsChanged",this.accounts)):n.name==="chainChanged"?this.setChainId(this.formatChainId(n.data)):this.events.emit(n.name,n.data),this.events.emit("session_event",e)}),this.signer.on("chainChanged",e=>{const t=parseInt(e);this.chainId=t,this.events.emit("chainChanged",IT(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",hF(f3({},ni("USER_DISCONNECTED")),{data:e.topic,name:"USER_DISCONNECTED"}))}),this.signer.on("display_uri",e=>{var t,n;this.rpc.showQrModal&&((t=this.modal)==null||t.closeModal(),(n=this.modal)==null||n.openModal({uri:e})),this.events.emit("display_uri",e)})}switchEthereumChain(e){this.request({method:"wallet_switchEthereumChain",params:[{chainId:e.toString(16)}]})}isCompatibleChainId(e){return typeof e=="string"?e.startsWith(`${this.namespace}:`):!1}formatChainId(e){return`${this.namespace}:${e}`}parseChainId(e){return Number(e.split(":")[1])}setChainIds(e){const t=e.filter(n=>this.isCompatibleChainId(n)).map(n=>this.parseChainId(n));t.length&&(this.chainId=t[0],this.events.emit("chainChanged",IT(this.chainId)),this.persist())}setChainId(e){if(this.isCompatibleChainId(e)){const t=this.parseChainId(e);this.chainId=t,this.switchEthereumChain(t)}}parseAccountId(e){const[t,n,i]=e.split(":");return{chainId:`${t}:${n}`,address:i}}setAccounts(e){this.accounts=e.filter(t=>this.parseChainId(this.parseAccountId(t).chainId)===this.chainId).map(t=>this.parseAccountId(t).address),this.events.emit("accountsChanged",this.accounts)}getRpcConfig(e){var t,n;const i=(t=e==null?void 0:e.chains)!=null?t:[],s=(n=e==null?void 0:e.optionalChains)!=null?n:[],o=i.concat(s);if(!o.length)throw new Error("No chains specified in either `chains` or `optionalChains`");const a=i.length?(e==null?void 0:e.methods)||lF:[],l=i.length?(e==null?void 0:e.events)||uF:[],u=(e==null?void 0:e.optionalMethods)||[],h=(e==null?void 0:e.optionalEvents)||[],p=(e==null?void 0:e.rpcMap)||this.buildRpcMap(o,e.projectId),g=(e==null?void 0:e.qrModalOptions)||void 0;return{chains:i==null?void 0:i.map(w=>this.formatChainId(w)),optionalChains:s.map(w=>this.formatChainId(w)),methods:a,events:l,optionalMethods:u,optionalEvents:h,rpcMap:p,showQrModal:!!(e!=null&&e.showQrModal),qrModalOptions:g,projectId:e.projectId,metadata:e.metadata}}buildRpcMap(e,t){const n={};return e.forEach(i=>{n[i]=this.getRpcUrl(i,t)}),n}async initialize(e){if(this.rpc=this.getRpcConfig(e),this.chainId=this.rpc.chains.length?ST(this.rpc.chains):ST(this.rpc.optionalChains),this.signer=await brt.init({projectId:this.rpc.projectId,metadata:this.rpc.metadata,disableProviderPing:e.disableProviderPing,relayUrl:e.relayUrl,storageOptions:e.storageOptions}),this.registerEventListeners(),await this.loadPersistedSession(),this.rpc.showQrModal){let t;try{const{WalletConnectModal:n}=await Promise.resolve().then(()=>c1e);t=n}catch{throw new Error("To use QR modal, please install @walletconnect/modal package")}if(t)try{this.modal=new t(f3({projectId:this.rpc.projectId},this.rpc.qrModalOptions))}catch(n){throw this.signer.logger.error(n),new Error("Could not generate WalletConnectModal Instance")}}}loadConnectOpts(e){if(!e)return;const{chains:t,optionalChains:n,rpcMap:i}=e;t&&Lf(t)&&(this.rpc.chains=t.map(s=>this.formatChainId(s)),t.forEach(s=>{this.rpc.rpcMap[s]=(i==null?void 0:i[s])||this.getRpcUrl(s)})),n&&Lf(n)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=n==null?void 0:n.map(s=>this.formatChainId(s)),n.forEach(s=>{this.rpc.rpcMap[s]=(i==null?void 0:i[s])||this.getRpcUrl(s)}))}getRpcUrl(e,t){var n;return((n=this.rpc.rpcMap)==null?void 0:n[e])||`${xrt}?chainId=eip155:${e}&projectId=${t||this.rpc.projectId}`}async loadPersistedSession(){if(this.session)try{const 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==null?void 0:t.accounts),this.setAccounts(t==null?void 0:t.accounts)}catch(e){this.signer.logger.error("Failed to load persisted session, clearing state..."),this.signer.logger.error(e),await this.disconnect().catch(t=>this.signer.logger.warn(t))}}reset(){this.chainId=1,this.accounts=[]}persist(){this.session&&this.signer.client.core.storage.setItem(`${this.STORAGE_KEY}/chainId`,this.chainId)}parseAccounts(e){return typeof e=="string"||e instanceof String?[this.parseAccount(e)]:e.map(t=>this.parseAccount(t))}};const krt=Jpe;let fF=!1,Ype,TT;const Mrt=async(r,e)=>{if(TT!==void 0)return TT;const t=NA.getAll().map(i=>i.id).filter(i=>i!==e.id),n=[e.id,...t];return TT=await krt.init({chains:n,projectId:r.projectId,relayUrl:"wss://relay.walletconnect.com",optionalChains:n,showQrModal:!0,qrModalOptions:{themeMode:r.themeMode,themeVariables:{"--wcm-z-index":"999999999999"},explorerExcludedWalletIds:"ALL",explorerRecommendedWalletIds:["c57ca95b47569778a828d19178114f4db188b89b763c899ba0be274e97267d96","4622a2b2d6af1c9844944291e5e7351a6aa24cd7b23099efac1b2fd875da31a0","1ae92b26df02f0abca6304df07debccd18262fdf5fe82daa81593582dac9a369","0b415a746fb9ee99cce155c2ceca0c6f6061b1dbca2d722b3ba16381d0562150","971e689d0a5be527bac79629b4ee9b925e82208e5168b733496a09c0faed0709","c03dfee351b6fcc421b4494ea33b9d4b92a984f87aa76d1663bb28705e95034a","ecc4036f814562b41a5268adc86270fba1365471402006302e70169465b7ac18","ef333840daf915aafdc4a004525502d6d49d77bd9c65e0642dbaefb3c2893bef","bc949c5d968ae81310268bf9193f9c9fb7bb4e1283e1284af8f2bd4992535fd6","74f8092562bd79675e276d8b2062a83601a4106d30202f2d509195e30e19673d","afbd95522f4041c71dd4f1a065f971fd32372865b416f95a0b1db759ae33f2a7","20459438007b75f4f4acb98bf29aa3b800550309646d375da5fd4aac6c2a2c66","8837dd9413b1d9b585ee937d27a816590248386d9dbf59f5cd3422dbbb65683e","c286eebc742a537cd1d6818363e9dc53b21759a1e8e5d9b263d0c03ec7703576","38f5d18bd8522c244bdd70cb4a68e0e718865155811c043f052fb9f1c51de662","85db431492aa2e8672e93f4ea7acf10c88b97b867b0d373107af63dc4880f041"]}}),TT},Nrt={id:"walletconnect",name:"WalletConnect",icon:$p.walletConnect,provider:Ype,platforms:[Po.UNIVERSAL],isDetected:()=>!0,isConnected:()=>fF,disconnect:()=>{fF=!1,Object.keys(localStorage).filter(r=>r.startsWith("wc@2")||r.startsWith("@w3m")||r.startsWith("W3M")||r.startsWith("-walletlink")).forEach(r=>{localStorage.removeItem(r)}),indexedDB.deleteDatabase("WALLET_CONNECT_V2_INDEXED_DB")},connect:async(r,e)=>{if(r===void 0)throw new Error(kr.PROVIDER_IS_REQUIRED);if(e===void 0)throw new Error(kr.CONFIG_IS_REQUIRED);if(e.projectId===void 0)throw new Error(kr.PROJECT_ID_IS_REQUIRED);const t={},n=r.network;t[n.id]=n.rpcUrl;const i=await Mrt(e,n);return await new Promise((s,o)=>{i.connect({rpcMap:t,chains:[n.id],optionalChains:[n.id]}).then(()=>{fF=!0,s(Ype=i)}).catch(a=>{o(a)})})}},Prt=Object.freeze(Object.defineProperty({__proto__:null,BitgetWallet:yKe,MetaMask:axe,OkxWallet:bKe,Phantom:oxe,TrustWallet:vKe,WalletConnect:Nrt,Web3Modal:mKe,XdefiWallet:wKe},Symbol.toStringTag,{value:"Module"})),Ort={"app.phantom":"phantom","io.metamask":"metamask","com.bitget.web3":"bitgetwallet","com.okex.wallet":"okxwallet","com.trustwallet.app":"trustwallet","io.xdefi":"xdefiwallet"},dF={},Drt={Wallet:M4e,switcher:gv,registerAdapter:r=>{if(Ort[r.id]!==void 0){console.warn(`Adapter is not registered, because it is already registered default: ${r.id}`);return}if(Object.values(dF).find(e=>e.id===r.id)!==void 0)throw new Error(`Adapter with id ${r.id} already exists`);dF[r.id]=r},toEIP6963ProviderDetail:r=>{if(r.provider===void 0)throw new Error("Cannot convert adapter without provider to EIP6963ProviderDetail");return{info:{uuid:r.id,name:r.name,icon:r.icon},provider:r.provider}},fromEIP6963ProviderDetail:r=>({name:r.info.name,icon:r.info.icon,provider:r.provider,id:r.info.rdns??r.info.uuid,platforms:[Po.BROWSER,Po.MOBILE],isDetected:()=>!0,isConnected:async()=>Boolean((await r.provider.request({method:"eth_accounts"})).length),connect:async()=>await new Promise((e,t)=>{try{r.provider.request({method:"eth_requestAccounts"}).then(()=>{e(r.provider)}).catch(n=>{t(n)})}catch(n){t(n)}})}),adapters:Object.assign(dF,Prt)},Qpe={FIVE_MINUTES_IN_MS:3e5};class $rt{constructor(e){const{enabled:t=!0,nonceRefetchIntervalMs:n=Qpe.FIVE_MINUTES_IN_MS,sessionRefetchIntervalMs:i=Qpe.FIVE_MINUTES_IN_MS,signOutOnAccountChange:s=!0,signOutOnDisconnect:o=!0,signOutOnNetworkChange:a=!0,...l}=e;this.options={enabled:t,nonceRefetchIntervalMs:n,sessionRefetchIntervalMs:i,signOutOnDisconnect:o,signOutOnAccountChange:s,signOutOnNetworkChange:a},this.methods=l}async getNonce(e){const t=await this.methods.getNonce(e);if(!t)throw new Error("siweControllerClient:getNonce - nonce is undefined");return t}createMessage(e){const t=this.methods.createMessage(e);if(!t)throw new Error("siweControllerClient:createMessage - message is undefined");return t}async verifyMessage(e){return await this.methods.verifyMessage(e)}async getSession(){const e=await this.methods.getSession();if(!e)throw new Error("siweControllerClient:getSession - session is undefined");return e}async signIn(){var l;const{address:e}=zt.state,t=await this.methods.getNonce(e);if(!e)throw new Error("An address is required to create a SIWE message.");const n=vv.caipNetworkIdToNumber((l=lr.state.caipNetwork)==null?void 0:l.id);if(!n)throw new Error("A chainId is required to create a SIWE message.");const i=this.methods.createMessage({address:e,nonce:t,chainId:n}),s=await Ur.signMessage(i);if(!await this.methods.verifyMessage({message:i,signature:s}))throw new Error("Error verifying SIWE signature");const a=await this.methods.getSession();if(!a)throw new Error("Error verifying SIWE signature");return this.methods.onSignIn&&this.methods.onSignIn(a),$A.navigateAfterNetworkSwitch(),a}async signOut(){return this.methods.signOut()}}const du=vi({status:"uninitialized"}),gx={state:du,subscribeKey(r,e){return Ra(du,r,e)},subscribe(r){return hs(du,()=>r(du))},_getClient(){if(!du._client)throw new Error("SIWEController client not set");return du._client},async getNonce(r){const t=await this._getClient().getNonce(r);return this.setNonce(t),t},async getSession(){const e=await this._getClient().getSession();return e&&(this.setSession(e),this.setStatus("success")),e},createMessage(r){const t=this._getClient().createMessage(r);return this.setMessage(t),t},async verifyMessage(r){return await this._getClient().verifyMessage(r)},async signIn(){return await this._getClient().signIn()},async signOut(){var e;const r=this._getClient();await r.signOut(),this.setStatus("ready"),(e=r.onSignOut)==null||e.call(r)},onSignIn(r){var t;const e=this._getClient();(t=e.onSignIn)==null||t.call(e,r)},onSignOut(){var e;const r=this._getClient();(e=r.onSignOut)==null||e.call(r)},setSIWEClient(r){du._client=Lp(r),du.status="ready",hr.setIsSiweEnabled(r.options.enabled)},setNonce(r){du.nonce=r},setStatus(r){du.status=r},setMessage(r){du.message=r},setSession(r){du.session=r}},Brt=Ze` :host { display: flex; justify-content: center; @@ -9323,13 +9323,13 @@ function print() { __p += __j.call(arguments, '') } wui-visual-thumbnail:nth-child(1) { z-index: 1; } -`;var Zrt=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let ER=class extends Fe{constructor(){var e;super(...arguments),this.dappImageUrl=(e=hr.state.metadata)==null?void 0:e.icons,this.walletImageUrl=vs.getConnectedWalletImageUrl()}firstUpdated(){var t;const e=(t=this.shadowRoot)==null?void 0:t.querySelectorAll("wui-visual-thumbnail");e!=null&&e[0]&&this.createAnimation(e[0],"translate(18px)"),e!=null&&e[1]&&this.createAnimation(e[1],"translate(-18px)")}render(){var e;return ce` +`;var Lrt=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let RT=class extends Fe{constructor(){var e;super(...arguments),this.dappImageUrl=(e=hr.state.metadata)==null?void 0:e.icons,this.walletImageUrl=xs.getConnectedWalletImageUrl()}firstUpdated(){var t;const e=(t=this.shadowRoot)==null?void 0:t.querySelectorAll("wui-visual-thumbnail");e!=null&&e[0]&&this.createAnimation(e[0],"translate(18px)"),e!=null&&e[1]&&this.createAnimation(e[1],"translate(-18px)")}render(){var e;return ce` - `}createAnimation(e,t){e.animate([{transform:"translateX(0px)"},{transform:t}],{duration:1600,easing:"cubic-bezier(0.56, 0, 0.48, 1)",direction:"alternate",iterations:1/0})}};ER.styles=Krt,ER=Zrt([Le("w3m-connecting-siwe")],ER);var e1e=function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let AR=class extends Fe{constructor(){var e;super(...arguments),this.dappName=(e=hr.state.metadata)==null?void 0:e.name,this.isSigning=!1}render(){return ce` + `}createAnimation(e,t){e.animate([{transform:"translateX(0px)"},{transform:t}],{duration:1600,easing:"cubic-bezier(0.56, 0, 0.48, 1)",direction:"alternate",iterations:1/0})}};RT.styles=Brt,RT=Lrt([Le("w3m-connecting-siwe")],RT);var Xpe=globalThis&&globalThis.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};let kT=class extends Fe{constructor(){var e;super(...arguments),this.dappName=(e=hr.state.metadata)==null?void 0:e.name,this.isSigning=!1}render(){return ce` @@ -9373,33 +9373,33 @@ function print() { __p += __j.call(arguments, '') } ${this.isSigning?"Signing...":"Sign"} - `}async onSign(){this.isSigning=!0,yr.sendEvent({event:"CLICK_SIGN_SIWE_MESSAGE",type:"track"});try{mx.setStatus("loading");const e=await mx.signIn();return mx.setStatus("success"),yr.sendEvent({event:"SIWE_AUTH_SUCCESS",type:"track"}),e}catch{return fn.showError("Signature declined"),mx.setStatus("error"),yr.sendEvent({event:"SIWE_AUTH_ERROR",type:"track"})}finally{this.isSigning=!1}}async onCancel(){const{isConnected:e}=qt.state;e?(await zr.disconnect(),Zr.close()):et.push("Connect"),yr.sendEvent({event:"CLICK_CANCEL_SIWE",type:"track"})}};e1e([Oe()],AR.prototype,"isSigning",void 0),AR=e1e([Le("w3m-connecting-siwe-view")],AR);const CR=Object.freeze(Object.defineProperty({__proto__:null,SIWEController:mx,get W3mConnectingSiwe(){return ER},get W3mConnectingSiweView(){return AR}},Symbol.toStringTag,{value:"Module"})),To=wi({history:["ConnectWallet"],view:"ConnectWallet",data:void 0}),is={state:To,subscribe(r){return ls(To,()=>r(To))},push(r,e){r!==To.view&&(To.view=r,e&&(To.data=e),To.history.push(r))},reset(r){To.view=r,To.history=[r]},replace(r){To.history.length>1&&(To.history[To.history.length-1]=r,To.view=r)},goBack(){if(To.history.length>1){To.history.pop();const[r]=To.history.slice(-1);To.view=r}},setData(r){To.data=r}},xr={WALLETCONNECT_DEEPLINK_CHOICE:"WALLETCONNECT_DEEPLINK_CHOICE",WCM_VERSION:"WCM_VERSION",RECOMMENDED_WALLET_AMOUNT:9,isMobile(){return typeof window<"u"?!!(window.matchMedia("(pointer:coarse)").matches||/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)):!1},isAndroid(){return xr.isMobile()&&navigator.userAgent.toLowerCase().includes("android")},isIos(){const r=navigator.userAgent.toLowerCase();return xr.isMobile()&&(r.includes("iphone")||r.includes("ipad"))},isHttpUrl(r){return r.startsWith("http://")||r.startsWith("https://")},isArray(r){return Array.isArray(r)&&r.length>0},formatNativeUrl(r,e,t){if(xr.isHttpUrl(r))return this.formatUniversalUrl(r,e,t);let n=r;n.includes("://")||(n=r.replaceAll("/","").replaceAll(":",""),n=`${n}://`),n.endsWith("/")||(n=`${n}/`),this.setWalletConnectDeepLink(n,t);const i=encodeURIComponent(e);return`${n}wc?uri=${i}`},formatUniversalUrl(r,e,t){if(!xr.isHttpUrl(r))return this.formatNativeUrl(r,e,t);let n=r;n.endsWith("/")||(n=`${n}/`),this.setWalletConnectDeepLink(n,t);const i=encodeURIComponent(e);return`${n}wc?uri=${i}`},async wait(r){return new Promise(e=>{setTimeout(e,r)})},openHref(r,e){window.open(r,e,"noreferrer noopener")},setWalletConnectDeepLink(r,e){try{localStorage.setItem(xr.WALLETCONNECT_DEEPLINK_CHOICE,JSON.stringify({href:r,name:e}))}catch{console.info("Unable to set WalletConnect deep link")}},setWalletConnectAndroidDeepLink(r){try{const[e]=r.split("?");localStorage.setItem(xr.WALLETCONNECT_DEEPLINK_CHOICE,JSON.stringify({href:e,name:"Android"}))}catch{console.info("Unable to set WalletConnect android deep link")}},removeWalletConnectDeepLink(){try{localStorage.removeItem(xr.WALLETCONNECT_DEEPLINK_CHOICE)}catch{console.info("Unable to remove WalletConnect deep link")}},setModalVersionInStorage(){try{typeof localStorage<"u"&&localStorage.setItem(xr.WCM_VERSION,"2.6.2")}catch{console.info("Unable to set Web3Modal version in storage")}},getWalletRouterData(){var r;const e=(r=is.state.data)==null?void 0:r.Wallet;if(!e)throw new Error('Missing "Wallet" view data');return e}},Jrt=typeof location<"u"&&(location.hostname.includes("localhost")||location.protocol.includes("https")),ya=wi({enabled:Jrt,userSessionId:"",events:[],connectedWalletId:void 0}),t1e={state:ya,subscribe(r){return ls(ya.events,()=>r(JM(ya.events[ya.events.length-1])))},initialize(){ya.enabled&&typeof(crypto==null?void 0:crypto.randomUUID)<"u"&&(ya.userSessionId=crypto.randomUUID())},setConnectedWalletId(r){ya.connectedWalletId=r},click(r){if(ya.enabled){const e={type:"CLICK",name:r.name,userSessionId:ya.userSessionId,timestamp:Date.now(),data:r};ya.events.push(e)}},track(r){if(ya.enabled){const e={type:"TRACK",name:r.name,userSessionId:ya.userSessionId,timestamp:Date.now(),data:r};ya.events.push(e)}},view(r){if(ya.enabled){const e={type:"VIEW",name:r.name,userSessionId:ya.userSessionId,timestamp:Date.now(),data:r};ya.events.push(e)}}},Lf=wi({chains:void 0,walletConnectUri:void 0,isAuth:!1,isCustomDesktop:!1,isCustomMobile:!1,isDataLoaded:!1,isUiLoaded:!1}),Ss={state:Lf,subscribe(r){return ls(Lf,()=>r(Lf))},setChains(r){Lf.chains=r},setWalletConnectUri(r){Lf.walletConnectUri=r},setIsCustomDesktop(r){Lf.isCustomDesktop=r},setIsCustomMobile(r){Lf.isCustomMobile=r},setIsDataLoaded(r){Lf.isDataLoaded=r},setIsUiLoaded(r){Lf.isUiLoaded=r},setIsAuth(r){Lf.isAuth=r}},SR=wi({projectId:"",mobileWallets:void 0,desktopWallets:void 0,walletImages:void 0,chains:void 0,enableAuthMode:!1,enableExplorer:!0,explorerExcludedWalletIds:void 0,explorerRecommendedWalletIds:void 0,termsOfServiceUrl:void 0,privacyPolicyUrl:void 0}),tl={state:SR,subscribe(r){return ls(SR,()=>r(SR))},setConfig(r){var e,t;t1e.initialize(),Ss.setChains(r.chains),Ss.setIsAuth(!!r.enableAuthMode),Ss.setIsCustomMobile(!!((e=r.mobileWallets)!=null&&e.length)),Ss.setIsCustomDesktop(!!((t=r.desktopWallets)!=null&&t.length)),xr.setModalVersionInStorage(),Object.assign(SR,r)}};var Yrt=Object.defineProperty,r1e=Object.getOwnPropertySymbols,Qrt=Object.prototype.hasOwnProperty,Xrt=Object.prototype.propertyIsEnumerable,n1e=(r,e,t)=>e in r?Yrt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ent=(r,e)=>{for(var t in e||(e={}))Qrt.call(e,t)&&n1e(r,t,e[t]);if(r1e)for(var t of r1e(e))Xrt.call(e,t)&&n1e(r,t,e[t]);return r};const xF="https://explorer-api.walletconnect.com",_F="wcm",EF="js-2.6.2";async function IR(r,e){const t=ent({sdkType:_F,sdkVersion:EF},e),n=new URL(r,xF);return n.searchParams.append("projectId",tl.state.projectId),Object.entries(t).forEach(([i,s])=>{s&&n.searchParams.append(i,String(s))}),(await fetch(n)).json()}const m2={async getDesktopListings(r){return IR("/w3m/v1/getDesktopListings",r)},async getMobileListings(r){return IR("/w3m/v1/getMobileListings",r)},async getInjectedListings(r){return IR("/w3m/v1/getInjectedListings",r)},async getAllListings(r){return IR("/w3m/v1/getAllListings",r)},getWalletImageUrl(r){return`${xF}/w3m/v1/getWalletImage/${r}?projectId=${tl.state.projectId}&sdkType=${_F}&sdkVersion=${EF}`},getAssetImageUrl(r){return`${xF}/w3m/v1/getAssetImage/${r}?projectId=${tl.state.projectId}&sdkType=${_F}&sdkVersion=${EF}`}};var tnt=Object.defineProperty,i1e=Object.getOwnPropertySymbols,rnt=Object.prototype.hasOwnProperty,nnt=Object.prototype.propertyIsEnumerable,s1e=(r,e,t)=>e in r?tnt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,int=(r,e)=>{for(var t in e||(e={}))rnt.call(e,t)&&s1e(r,t,e[t]);if(i1e)for(var t of i1e(e))nnt.call(e,t)&&s1e(r,t,e[t]);return r};const o1e=xr.isMobile(),Uf=wi({wallets:{listings:[],total:0,page:1},search:{listings:[],total:0,page:1},recomendedWallets:[]}),_c={state:Uf,async getRecomendedWallets(){const{explorerRecommendedWalletIds:r,explorerExcludedWalletIds:e}=tl.state;if(r==="NONE"||e==="ALL"&&!r)return Uf.recomendedWallets;if(xr.isArray(r)){const t={recommendedIds:r.join(",")},{listings:n}=await m2.getAllListings(t),i=Object.values(n);i.sort((s,o)=>{const a=r.indexOf(s.id),l=r.indexOf(o.id);return a-l}),Uf.recomendedWallets=i}else{const{chains:t,isAuth:n}=Ss.state,i=t==null?void 0:t.join(","),s=xr.isArray(e),o={page:1,sdks:n?"auth_v1":void 0,entries:xr.RECOMMENDED_WALLET_AMOUNT,chains:i,version:2,excludedIds:s?e.join(","):void 0},{listings:a}=o1e?await m2.getMobileListings(o):await m2.getDesktopListings(o);Uf.recomendedWallets=Object.values(a)}return Uf.recomendedWallets},async getWallets(r){const e=int({},r),{explorerRecommendedWalletIds:t,explorerExcludedWalletIds:n}=tl.state,{recomendedWallets:i}=Uf;if(n==="ALL")return Uf.wallets;i.length?e.excludedIds=i.map(p=>p.id).join(","):xr.isArray(t)&&(e.excludedIds=t.join(",")),xr.isArray(n)&&(e.excludedIds=[e.excludedIds,n].filter(Boolean).join(",")),Ss.state.isAuth&&(e.sdks="auth_v1");const{page:s,search:o}=r,{listings:a,total:l}=o1e?await m2.getMobileListings(e):await m2.getDesktopListings(e),u=Object.values(a),h=o?"search":"wallets";return Uf[h]={listings:[...Uf[h].listings,...u],total:l,page:s??1},{listings:u,total:l}},getWalletImageUrl(r){return m2.getWalletImageUrl(r)},getAssetImageUrl(r){return m2.getAssetImageUrl(r)},resetSearch(){Uf.search={listings:[],total:0,page:1}}},g3=wi({open:!1}),b2={state:g3,subscribe(r){return ls(g3,()=>r(g3))},async open(r){return new Promise(e=>{const{isUiLoaded:t,isDataLoaded:n}=Ss.state;if(xr.removeWalletConnectDeepLink(),Ss.setWalletConnectUri(r==null?void 0:r.uri),Ss.setChains(r==null?void 0:r.chains),is.reset("ConnectWallet"),t&&n)g3.open=!0,e();else{const i=setInterval(()=>{const s=Ss.state;s.isUiLoaded&&s.isDataLoaded&&(clearInterval(i),g3.open=!0,e())},200)}})},close(){g3.open=!1}};var snt=Object.defineProperty,a1e=Object.getOwnPropertySymbols,ont=Object.prototype.hasOwnProperty,ant=Object.prototype.propertyIsEnumerable,c1e=(r,e,t)=>e in r?snt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,cnt=(r,e)=>{for(var t in e||(e={}))ont.call(e,t)&&c1e(r,t,e[t]);if(a1e)for(var t of a1e(e))ant.call(e,t)&&c1e(r,t,e[t]);return r};function lnt(){return typeof matchMedia<"u"&&matchMedia("(prefers-color-scheme: dark)").matches}const bx=wi({themeMode:lnt()?"dark":"light"}),N1={state:bx,subscribe(r){return ls(bx,()=>r(bx))},setThemeConfig(r){const{themeMode:e,themeVariables:t}=r;e&&(bx.themeMode=e),t&&(bx.themeVariables=cnt({},t))}},w2=wi({open:!1,message:"",variant:"success"}),P1={state:w2,subscribe(r){return ls(w2,()=>r(w2))},openToast(r,e){w2.open=!0,w2.message=r,w2.variant=e},closeToast(){w2.open=!1}},l1e=Object.freeze(Object.defineProperty({__proto__:null,WalletConnectModal:class{constructor(e){this.openModal=b2.open,this.closeModal=b2.close,this.subscribeModal=b2.subscribe,this.setTheme=N1.setThemeConfig,N1.setThemeConfig(e),tl.setConfig(e),this.initUi()}async initUi(){if(typeof window<"u"){await Promise.resolve().then(()=>Sot);const e=document.createElement("wcm-modal");document.body.insertAdjacentElement("beforeend",e),Ss.setIsUiLoaded(!0)}}}},Symbol.toStringTag,{value:"Module"}));/** + `}async onSign(){this.isSigning=!0,yr.sendEvent({event:"CLICK_SIGN_SIWE_MESSAGE",type:"track"});try{gx.setStatus("loading");const e=await gx.signIn();return gx.setStatus("success"),yr.sendEvent({event:"SIWE_AUTH_SUCCESS",type:"track"}),e}catch{return dn.showError("Signature declined"),gx.setStatus("error"),yr.sendEvent({event:"SIWE_AUTH_ERROR",type:"track"})}finally{this.isSigning=!1}}async onCancel(){const{isConnected:e}=zt.state;e?(await Ur.disconnect(),Zr.close()):et.push("Connect"),yr.sendEvent({event:"CLICK_CANCEL_SIWE",type:"track"})}};Xpe([Oe()],kT.prototype,"isSigning",void 0),kT=Xpe([Le("w3m-connecting-siwe-view")],kT);function Urt(r){return new $rt(r)}const MT=Object.freeze(Object.defineProperty({__proto__:null,SIWEController:gx,get W3mConnectingSiwe(){return RT},get W3mConnectingSiweView(){return kT},createSIWEConfig:Urt},Symbol.toStringTag,{value:"Module"})),ko=vi({history:["ConnectWallet"],view:"ConnectWallet",data:void 0}),os={state:ko,subscribe(r){return hs(ko,()=>r(ko))},push(r,e){r!==ko.view&&(ko.view=r,e&&(ko.data=e),ko.history.push(r))},reset(r){ko.view=r,ko.history=[r]},replace(r){ko.history.length>1&&(ko.history[ko.history.length-1]=r,ko.view=r)},goBack(){if(ko.history.length>1){ko.history.pop();const[r]=ko.history.slice(-1);ko.view=r}},setData(r){ko.data=r}},xr={WALLETCONNECT_DEEPLINK_CHOICE:"WALLETCONNECT_DEEPLINK_CHOICE",WCM_VERSION:"WCM_VERSION",RECOMMENDED_WALLET_AMOUNT:9,isMobile(){return typeof window<"u"?Boolean(window.matchMedia("(pointer:coarse)").matches||/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)):!1},isAndroid(){return xr.isMobile()&&navigator.userAgent.toLowerCase().includes("android")},isIos(){const r=navigator.userAgent.toLowerCase();return xr.isMobile()&&(r.includes("iphone")||r.includes("ipad"))},isHttpUrl(r){return r.startsWith("http://")||r.startsWith("https://")},isArray(r){return Array.isArray(r)&&r.length>0},formatNativeUrl(r,e,t){if(xr.isHttpUrl(r))return this.formatUniversalUrl(r,e,t);let n=r;n.includes("://")||(n=r.replaceAll("/","").replaceAll(":",""),n=`${n}://`),n.endsWith("/")||(n=`${n}/`),this.setWalletConnectDeepLink(n,t);const i=encodeURIComponent(e);return`${n}wc?uri=${i}`},formatUniversalUrl(r,e,t){if(!xr.isHttpUrl(r))return this.formatNativeUrl(r,e,t);let n=r;n.endsWith("/")||(n=`${n}/`),this.setWalletConnectDeepLink(n,t);const i=encodeURIComponent(e);return`${n}wc?uri=${i}`},async wait(r){return new Promise(e=>{setTimeout(e,r)})},openHref(r,e){window.open(r,e,"noreferrer noopener")},setWalletConnectDeepLink(r,e){try{localStorage.setItem(xr.WALLETCONNECT_DEEPLINK_CHOICE,JSON.stringify({href:r,name:e}))}catch{console.info("Unable to set WalletConnect deep link")}},setWalletConnectAndroidDeepLink(r){try{const[e]=r.split("?");localStorage.setItem(xr.WALLETCONNECT_DEEPLINK_CHOICE,JSON.stringify({href:e,name:"Android"}))}catch{console.info("Unable to set WalletConnect android deep link")}},removeWalletConnectDeepLink(){try{localStorage.removeItem(xr.WALLETCONNECT_DEEPLINK_CHOICE)}catch{console.info("Unable to remove WalletConnect deep link")}},setModalVersionInStorage(){try{typeof localStorage<"u"&&localStorage.setItem(xr.WCM_VERSION,"2.6.2")}catch{console.info("Unable to set Web3Modal version in storage")}},getWalletRouterData(){var r;const e=(r=os.state.data)==null?void 0:r.Wallet;if(!e)throw new Error('Missing "Wallet" view data');return e}},Frt=typeof location<"u"&&(location.hostname.includes("localhost")||location.protocol.includes("https")),xa=vi({enabled:Frt,userSessionId:"",events:[],connectedWalletId:void 0}),e1e={state:xa,subscribe(r){return hs(xa.events,()=>r(rN(xa.events[xa.events.length-1])))},initialize(){xa.enabled&&typeof(crypto==null?void 0:crypto.randomUUID)<"u"&&(xa.userSessionId=crypto.randomUUID())},setConnectedWalletId(r){xa.connectedWalletId=r},click(r){if(xa.enabled){const e={type:"CLICK",name:r.name,userSessionId:xa.userSessionId,timestamp:Date.now(),data:r};xa.events.push(e)}},track(r){if(xa.enabled){const e={type:"TRACK",name:r.name,userSessionId:xa.userSessionId,timestamp:Date.now(),data:r};xa.events.push(e)}},view(r){if(xa.enabled){const e={type:"VIEW",name:r.name,userSessionId:xa.userSessionId,timestamp:Date.now(),data:r};xa.events.push(e)}}},Ff=vi({chains:void 0,walletConnectUri:void 0,isAuth:!1,isCustomDesktop:!1,isCustomMobile:!1,isDataLoaded:!1,isUiLoaded:!1}),Ts={state:Ff,subscribe(r){return hs(Ff,()=>r(Ff))},setChains(r){Ff.chains=r},setWalletConnectUri(r){Ff.walletConnectUri=r},setIsCustomDesktop(r){Ff.isCustomDesktop=r},setIsCustomMobile(r){Ff.isCustomMobile=r},setIsDataLoaded(r){Ff.isDataLoaded=r},setIsUiLoaded(r){Ff.isUiLoaded=r},setIsAuth(r){Ff.isAuth=r}},NT=vi({projectId:"",mobileWallets:void 0,desktopWallets:void 0,walletImages:void 0,chains:void 0,enableAuthMode:!1,enableExplorer:!0,explorerExcludedWalletIds:void 0,explorerRecommendedWalletIds:void 0,termsOfServiceUrl:void 0,privacyPolicyUrl:void 0}),nl={state:NT,subscribe(r){return hs(NT,()=>r(NT))},setConfig(r){var e,t;e1e.initialize(),Ts.setChains(r.chains),Ts.setIsAuth(Boolean(r.enableAuthMode)),Ts.setIsCustomMobile(Boolean((e=r.mobileWallets)==null?void 0:e.length)),Ts.setIsCustomDesktop(Boolean((t=r.desktopWallets)==null?void 0:t.length)),xr.setModalVersionInStorage(),Object.assign(NT,r)}};var jrt=Object.defineProperty,t1e=Object.getOwnPropertySymbols,zrt=Object.prototype.hasOwnProperty,Hrt=Object.prototype.propertyIsEnumerable,r1e=(r,e,t)=>e in r?jrt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,qrt=(r,e)=>{for(var t in e||(e={}))zrt.call(e,t)&&r1e(r,t,e[t]);if(t1e)for(var t of t1e(e))Hrt.call(e,t)&&r1e(r,t,e[t]);return r};const pF="https://explorer-api.walletconnect.com",gF="wcm",mF="js-2.6.2";async function PT(r,e){const t=qrt({sdkType:gF,sdkVersion:mF},e),n=new URL(r,pF);return n.searchParams.append("projectId",nl.state.projectId),Object.entries(t).forEach(([i,s])=>{s&&n.searchParams.append(i,String(s))}),(await fetch(n)).json()}const g2={async getDesktopListings(r){return PT("/w3m/v1/getDesktopListings",r)},async getMobileListings(r){return PT("/w3m/v1/getMobileListings",r)},async getInjectedListings(r){return PT("/w3m/v1/getInjectedListings",r)},async getAllListings(r){return PT("/w3m/v1/getAllListings",r)},getWalletImageUrl(r){return`${pF}/w3m/v1/getWalletImage/${r}?projectId=${nl.state.projectId}&sdkType=${gF}&sdkVersion=${mF}`},getAssetImageUrl(r){return`${pF}/w3m/v1/getAssetImage/${r}?projectId=${nl.state.projectId}&sdkType=${gF}&sdkVersion=${mF}`}};var Wrt=Object.defineProperty,n1e=Object.getOwnPropertySymbols,Vrt=Object.prototype.hasOwnProperty,Grt=Object.prototype.propertyIsEnumerable,i1e=(r,e,t)=>e in r?Wrt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Krt=(r,e)=>{for(var t in e||(e={}))Vrt.call(e,t)&&i1e(r,t,e[t]);if(n1e)for(var t of n1e(e))Grt.call(e,t)&&i1e(r,t,e[t]);return r};const s1e=xr.isMobile(),jf=vi({wallets:{listings:[],total:0,page:1},search:{listings:[],total:0,page:1},recomendedWallets:[]}),_c={state:jf,async getRecomendedWallets(){const{explorerRecommendedWalletIds:r,explorerExcludedWalletIds:e}=nl.state;if(r==="NONE"||e==="ALL"&&!r)return jf.recomendedWallets;if(xr.isArray(r)){const t={recommendedIds:r.join(",")},{listings:n}=await g2.getAllListings(t),i=Object.values(n);i.sort((s,o)=>{const a=r.indexOf(s.id),l=r.indexOf(o.id);return a-l}),jf.recomendedWallets=i}else{const{chains:t,isAuth:n}=Ts.state,i=t==null?void 0:t.join(","),s=xr.isArray(e),o={page:1,sdks:n?"auth_v1":void 0,entries:xr.RECOMMENDED_WALLET_AMOUNT,chains:i,version:2,excludedIds:s?e.join(","):void 0},{listings:a}=s1e?await g2.getMobileListings(o):await g2.getDesktopListings(o);jf.recomendedWallets=Object.values(a)}return jf.recomendedWallets},async getWallets(r){const e=Krt({},r),{explorerRecommendedWalletIds:t,explorerExcludedWalletIds:n}=nl.state,{recomendedWallets:i}=jf;if(n==="ALL")return jf.wallets;i.length?e.excludedIds=i.map(p=>p.id).join(","):xr.isArray(t)&&(e.excludedIds=t.join(",")),xr.isArray(n)&&(e.excludedIds=[e.excludedIds,n].filter(Boolean).join(",")),Ts.state.isAuth&&(e.sdks="auth_v1");const{page:s,search:o}=r,{listings:a,total:l}=s1e?await g2.getMobileListings(e):await g2.getDesktopListings(e),u=Object.values(a),h=o?"search":"wallets";return jf[h]={listings:[...jf[h].listings,...u],total:l,page:s??1},{listings:u,total:l}},getWalletImageUrl(r){return g2.getWalletImageUrl(r)},getAssetImageUrl(r){return g2.getAssetImageUrl(r)},resetSearch(){jf.search={listings:[],total:0,page:1}}},d3=vi({open:!1}),m2={state:d3,subscribe(r){return hs(d3,()=>r(d3))},async open(r){return new Promise(e=>{const{isUiLoaded:t,isDataLoaded:n}=Ts.state;if(xr.removeWalletConnectDeepLink(),Ts.setWalletConnectUri(r==null?void 0:r.uri),Ts.setChains(r==null?void 0:r.chains),os.reset("ConnectWallet"),t&&n)d3.open=!0,e();else{const i=setInterval(()=>{const s=Ts.state;s.isUiLoaded&&s.isDataLoaded&&(clearInterval(i),d3.open=!0,e())},200)}})},close(){d3.open=!1}};var Zrt=Object.defineProperty,o1e=Object.getOwnPropertySymbols,Jrt=Object.prototype.hasOwnProperty,Yrt=Object.prototype.propertyIsEnumerable,a1e=(r,e,t)=>e in r?Zrt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Qrt=(r,e)=>{for(var t in e||(e={}))Jrt.call(e,t)&&a1e(r,t,e[t]);if(o1e)for(var t of o1e(e))Yrt.call(e,t)&&a1e(r,t,e[t]);return r};function Xrt(){return typeof matchMedia<"u"&&matchMedia("(prefers-color-scheme: dark)").matches}const mx=vi({themeMode:Xrt()?"dark":"light"}),k1={state:mx,subscribe(r){return hs(mx,()=>r(mx))},setThemeConfig(r){const{themeMode:e,themeVariables:t}=r;e&&(mx.themeMode=e),t&&(mx.themeVariables=Qrt({},t))}},b2=vi({open:!1,message:"",variant:"success"}),M1={state:b2,subscribe(r){return hs(b2,()=>r(b2))},openToast(r,e){b2.open=!0,b2.message=r,b2.variant=e},closeToast(){b2.open=!1}},c1e=Object.freeze(Object.defineProperty({__proto__:null,WalletConnectModal:class{constructor(e){this.openModal=m2.open,this.closeModal=m2.close,this.subscribeModal=m2.subscribe,this.setTheme=k1.setThemeConfig,k1.setThemeConfig(e),nl.setConfig(e),this.initUi()}async initUi(){if(typeof window<"u"){await Promise.resolve().then(()=>mot);const e=document.createElement("wcm-modal");document.body.insertAdjacentElement("beforeend",e),Ts.setIsUiLoaded(!0)}}}},Symbol.toStringTag,{value:"Module"}));/** * @license * Copyright 2019 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */const RR=window,AF=RR.ShadowRoot&&(RR.ShadyCSS===void 0||RR.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,CF=Symbol(),u1e=new WeakMap;let h1e=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==CF)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(AF&&e===void 0){const n=t!==void 0&&t.length===1;n&&(e=u1e.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&u1e.set(t,e))}return e}toString(){return this.cssText}};const unt=r=>new h1e(typeof r=="string"?r:r+"",void 0,CF),jn=(r,...e)=>{const t=r.length===1?r[0]:e.reduce((n,i,s)=>n+(o=>{if(o._$cssResult$===!0)return o.cssText;if(typeof o=="number")return o;throw Error("Value passed to 'css' function must be a 'css' function result: "+o+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+r[s+1],r[0]);return new h1e(t,r,CF)},hnt=(r,e)=>{AF?r.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet):e.forEach(t=>{const n=document.createElement("style"),i=RR.litNonce;i!==void 0&&n.setAttribute("nonce",i),n.textContent=t.cssText,r.appendChild(n)})},f1e=AF?r=>r:r=>r instanceof CSSStyleSheet?(e=>{let t="";for(const n of e.cssRules)t+=n.cssText;return unt(t)})(r):r;/** + */const OT=window,bF=OT.ShadowRoot&&(OT.ShadyCSS===void 0||OT.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,wF=Symbol(),l1e=new WeakMap;let u1e=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==wF)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(bF&&e===void 0){const n=t!==void 0&&t.length===1;n&&(e=l1e.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&l1e.set(t,e))}return e}toString(){return this.cssText}};const ent=r=>new u1e(typeof r=="string"?r:r+"",void 0,wF),Hn=(r,...e)=>{const t=r.length===1?r[0]:e.reduce((n,i,s)=>n+(o=>{if(o._$cssResult$===!0)return o.cssText;if(typeof o=="number")return o;throw Error("Value passed to 'css' function must be a 'css' function result: "+o+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+r[s+1],r[0]);return new u1e(t,r,wF)},tnt=(r,e)=>{bF?r.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet):e.forEach(t=>{const n=document.createElement("style"),i=OT.litNonce;i!==void 0&&n.setAttribute("nonce",i),n.textContent=t.cssText,r.appendChild(n)})},h1e=bF?r=>r:r=>r instanceof CSSStyleSheet?(e=>{let t="";for(const n of e.cssRules)t+=n.cssText;return ent(t)})(r):r;/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */var SF;const TR=window,d1e=TR.trustedTypes,fnt=d1e?d1e.emptyScript:"",p1e=TR.reactiveElementPolyfillSupport,IF={toAttribute(r,e){switch(e){case Boolean:r=r?fnt:null;break;case Object:case Array:r=r==null?r:JSON.stringify(r)}return r},fromAttribute(r,e){let t=r;switch(e){case Boolean:t=r!==null;break;case Number:t=r===null?null:Number(r);break;case Object:case Array:try{t=JSON.parse(r)}catch{t=null}}return t}},g1e=(r,e)=>e!==r&&(e==e||r==r),RF={attribute:!0,type:String,converter:IF,reflect:!1,hasChanged:g1e},TF="finalized";let m3=class extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(e){var t;this.finalize(),((t=this.h)!==null&&t!==void 0?t:this.h=[]).push(e)}static get observedAttributes(){this.finalize();const e=[];return this.elementProperties.forEach((t,n)=>{const i=this._$Ep(n,t);i!==void 0&&(this._$Ev.set(i,n),e.push(i))}),e}static createProperty(e,t=RF){if(t.state&&(t.attribute=!1),this.finalize(),this.elementProperties.set(e,t),!t.noAccessor&&!this.prototype.hasOwnProperty(e)){const n=typeof e=="symbol"?Symbol():"__"+e,i=this.getPropertyDescriptor(e,n,t);i!==void 0&&Object.defineProperty(this.prototype,e,i)}}static getPropertyDescriptor(e,t,n){return{get(){return this[t]},set(i){const s=this[e];this[t]=i,this.requestUpdate(e,s,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)||RF}static finalize(){if(this.hasOwnProperty(TF))return!1;this[TF]=!0;const e=Object.getPrototypeOf(this);if(e.finalize(),e.h!==void 0&&(this.h=[...e.h]),this.elementProperties=new Map(e.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const t=this.properties,n=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const i of n)this.createProperty(i,t[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const n=new Set(e.flat(1/0).reverse());for(const i of n)t.unshift(f1e(i))}else e!==void 0&&t.push(f1e(e));return t}static _$Ep(e,t){const n=t.attribute;return n===!1?void 0:typeof n=="string"?n:typeof e=="string"?e.toLowerCase():void 0}_$Eu(){var e;this._$E_=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$Eg(),this.requestUpdate(),(e=this.constructor.h)===null||e===void 0||e.forEach(t=>t(this))}addController(e){var t,n;((t=this._$ES)!==null&&t!==void 0?t:this._$ES=[]).push(e),this.renderRoot!==void 0&&this.isConnected&&((n=e.hostConnected)===null||n===void 0||n.call(e))}removeController(e){var t;(t=this._$ES)===null||t===void 0||t.splice(this._$ES.indexOf(e)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach((e,t)=>{this.hasOwnProperty(t)&&(this._$Ei.set(t,this[t]),delete this[t])})}createRenderRoot(){var e;const t=(e=this.shadowRoot)!==null&&e!==void 0?e:this.attachShadow(this.constructor.shadowRootOptions);return hnt(t,this.constructor.elementStyles),t}connectedCallback(){var e;this.renderRoot===void 0&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(e=this._$ES)===null||e===void 0||e.forEach(t=>{var n;return(n=t.hostConnected)===null||n===void 0?void 0:n.call(t)})}enableUpdating(e){}disconnectedCallback(){var e;(e=this._$ES)===null||e===void 0||e.forEach(t=>{var n;return(n=t.hostDisconnected)===null||n===void 0?void 0:n.call(t)})}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$EO(e,t,n=RF){var i;const s=this.constructor._$Ep(e,n);if(s!==void 0&&n.reflect===!0){const o=(((i=n.converter)===null||i===void 0?void 0:i.toAttribute)!==void 0?n.converter:IF).toAttribute(t,n.type);this._$El=e,o==null?this.removeAttribute(s):this.setAttribute(s,o),this._$El=null}}_$AK(e,t){var n;const i=this.constructor,s=i._$Ev.get(e);if(s!==void 0&&this._$El!==s){const o=i.getPropertyOptions(s),a=typeof o.converter=="function"?{fromAttribute:o.converter}:((n=o.converter)===null||n===void 0?void 0:n.fromAttribute)!==void 0?o.converter:IF;this._$El=s,this[s]=a.fromAttribute(t,o.type),this._$El=null}}requestUpdate(e,t,n){let i=!0;e!==void 0&&(((n=n||this.constructor.getPropertyOptions(e)).hasChanged||g1e)(this[e],t)?(this._$AL.has(e)||this._$AL.set(e,t),n.reflect===!0&&this._$El!==e&&(this._$EC===void 0&&(this._$EC=new Map),this._$EC.set(e,n))):i=!1),!this.isUpdatePending&&i&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(t){Promise.reject(t)}const e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var e;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach((i,s)=>this[s]=i),this._$Ei=void 0);let t=!1;const n=this._$AL;try{t=this.shouldUpdate(n),t?(this.willUpdate(n),(e=this._$ES)===null||e===void 0||e.forEach(i=>{var s;return(s=i.hostUpdate)===null||s===void 0?void 0:s.call(i)}),this.update(n)):this._$Ek()}catch(i){throw t=!1,this._$Ek(),i}t&&this._$AE(n)}willUpdate(e){}_$AE(e){var t;(t=this._$ES)===null||t===void 0||t.forEach(n=>{var i;return(i=n.hostUpdated)===null||i===void 0?void 0:i.call(n)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(e){return!0}update(e){this._$EC!==void 0&&(this._$EC.forEach((t,n)=>this._$EO(n,this[n],t)),this._$EC=void 0),this._$Ek()}updated(e){}firstUpdated(e){}};m3[TF]=!0,m3.elementProperties=new Map,m3.elementStyles=[],m3.shadowRootOptions={mode:"open"},p1e==null||p1e({ReactiveElement:m3}),((SF=TR.reactiveElementVersions)!==null&&SF!==void 0?SF:TR.reactiveElementVersions=[]).push("1.6.3");/** + */var vF;const DT=window,f1e=DT.trustedTypes,rnt=f1e?f1e.emptyScript:"",d1e=DT.reactiveElementPolyfillSupport,yF={toAttribute(r,e){switch(e){case Boolean:r=r?rnt:null;break;case Object:case Array:r=r==null?r:JSON.stringify(r)}return r},fromAttribute(r,e){let t=r;switch(e){case Boolean:t=r!==null;break;case Number:t=r===null?null:Number(r);break;case Object:case Array:try{t=JSON.parse(r)}catch{t=null}}return t}},p1e=(r,e)=>e!==r&&(e==e||r==r),xF={attribute:!0,type:String,converter:yF,reflect:!1,hasChanged:p1e},_F="finalized";let p3=class extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(e){var t;this.finalize(),((t=this.h)!==null&&t!==void 0?t:this.h=[]).push(e)}static get observedAttributes(){this.finalize();const e=[];return this.elementProperties.forEach((t,n)=>{const i=this._$Ep(n,t);i!==void 0&&(this._$Ev.set(i,n),e.push(i))}),e}static createProperty(e,t=xF){if(t.state&&(t.attribute=!1),this.finalize(),this.elementProperties.set(e,t),!t.noAccessor&&!this.prototype.hasOwnProperty(e)){const n=typeof e=="symbol"?Symbol():"__"+e,i=this.getPropertyDescriptor(e,n,t);i!==void 0&&Object.defineProperty(this.prototype,e,i)}}static getPropertyDescriptor(e,t,n){return{get(){return this[t]},set(i){const s=this[e];this[t]=i,this.requestUpdate(e,s,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)||xF}static finalize(){if(this.hasOwnProperty(_F))return!1;this[_F]=!0;const e=Object.getPrototypeOf(this);if(e.finalize(),e.h!==void 0&&(this.h=[...e.h]),this.elementProperties=new Map(e.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const t=this.properties,n=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const i of n)this.createProperty(i,t[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const n=new Set(e.flat(1/0).reverse());for(const i of n)t.unshift(h1e(i))}else e!==void 0&&t.push(h1e(e));return t}static _$Ep(e,t){const n=t.attribute;return n===!1?void 0:typeof n=="string"?n:typeof e=="string"?e.toLowerCase():void 0}_$Eu(){var e;this._$E_=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$Eg(),this.requestUpdate(),(e=this.constructor.h)===null||e===void 0||e.forEach(t=>t(this))}addController(e){var t,n;((t=this._$ES)!==null&&t!==void 0?t:this._$ES=[]).push(e),this.renderRoot!==void 0&&this.isConnected&&((n=e.hostConnected)===null||n===void 0||n.call(e))}removeController(e){var t;(t=this._$ES)===null||t===void 0||t.splice(this._$ES.indexOf(e)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach((e,t)=>{this.hasOwnProperty(t)&&(this._$Ei.set(t,this[t]),delete this[t])})}createRenderRoot(){var e;const t=(e=this.shadowRoot)!==null&&e!==void 0?e:this.attachShadow(this.constructor.shadowRootOptions);return tnt(t,this.constructor.elementStyles),t}connectedCallback(){var e;this.renderRoot===void 0&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(e=this._$ES)===null||e===void 0||e.forEach(t=>{var n;return(n=t.hostConnected)===null||n===void 0?void 0:n.call(t)})}enableUpdating(e){}disconnectedCallback(){var e;(e=this._$ES)===null||e===void 0||e.forEach(t=>{var n;return(n=t.hostDisconnected)===null||n===void 0?void 0:n.call(t)})}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$EO(e,t,n=xF){var i;const s=this.constructor._$Ep(e,n);if(s!==void 0&&n.reflect===!0){const o=(((i=n.converter)===null||i===void 0?void 0:i.toAttribute)!==void 0?n.converter:yF).toAttribute(t,n.type);this._$El=e,o==null?this.removeAttribute(s):this.setAttribute(s,o),this._$El=null}}_$AK(e,t){var n;const i=this.constructor,s=i._$Ev.get(e);if(s!==void 0&&this._$El!==s){const o=i.getPropertyOptions(s),a=typeof o.converter=="function"?{fromAttribute:o.converter}:((n=o.converter)===null||n===void 0?void 0:n.fromAttribute)!==void 0?o.converter:yF;this._$El=s,this[s]=a.fromAttribute(t,o.type),this._$El=null}}requestUpdate(e,t,n){let i=!0;e!==void 0&&(((n=n||this.constructor.getPropertyOptions(e)).hasChanged||p1e)(this[e],t)?(this._$AL.has(e)||this._$AL.set(e,t),n.reflect===!0&&this._$El!==e&&(this._$EC===void 0&&(this._$EC=new Map),this._$EC.set(e,n))):i=!1),!this.isUpdatePending&&i&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(t){Promise.reject(t)}const e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var e;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach((i,s)=>this[s]=i),this._$Ei=void 0);let t=!1;const n=this._$AL;try{t=this.shouldUpdate(n),t?(this.willUpdate(n),(e=this._$ES)===null||e===void 0||e.forEach(i=>{var s;return(s=i.hostUpdate)===null||s===void 0?void 0:s.call(i)}),this.update(n)):this._$Ek()}catch(i){throw t=!1,this._$Ek(),i}t&&this._$AE(n)}willUpdate(e){}_$AE(e){var t;(t=this._$ES)===null||t===void 0||t.forEach(n=>{var i;return(i=n.hostUpdated)===null||i===void 0?void 0:i.call(n)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(e){return!0}update(e){this._$EC!==void 0&&(this._$EC.forEach((t,n)=>this._$EO(n,this[n],t)),this._$EC=void 0),this._$Ek()}updated(e){}firstUpdated(e){}};p3[_F]=!0,p3.elementProperties=new Map,p3.elementStyles=[],p3.shadowRootOptions={mode:"open"},d1e==null||d1e({ReactiveElement:p3}),((vF=DT.reactiveElementVersions)!==null&&vF!==void 0?vF:DT.reactiveElementVersions=[]).push("1.6.3");/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */var kF;const kR=window,b3=kR.trustedTypes,m1e=b3?b3.createPolicy("lit-html",{createHTML:r=>r}):void 0,MF="$lit$",O1=`lit$${(Math.random()+"").slice(9)}$`,b1e="?"+O1,dnt=`<${b1e}>`,v2=document,wx=()=>v2.createComment(""),vx=r=>r===null||typeof r!="object"&&typeof r!="function",w1e=Array.isArray,pnt=r=>w1e(r)||typeof(r==null?void 0:r[Symbol.iterator])=="function",NF=`[ -\f\r]`,yx=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,v1e=/-->/g,y1e=/>/g,y2=RegExp(`>|${NF}(?:([^\\s"'>=/]+)(${NF}*=${NF}*(?:[^ -\f\r"'\`<>=]|("|')|))|$)`,"g"),x1e=/'/g,_1e=/"/g,E1e=/^(?:script|style|textarea|title)$/i,A1e=r=>(e,...t)=>({_$litType$:r,strings:e,values:t}),Yt=A1e(1),hs=A1e(2),x2=Symbol.for("lit-noChange"),Js=Symbol.for("lit-nothing"),C1e=new WeakMap,_2=v2.createTreeWalker(v2,129,null,!1);function S1e(r,e){if(!Array.isArray(r)||!r.hasOwnProperty("raw"))throw Error("invalid template strings array");return m1e!==void 0?m1e.createHTML(e):e}const gnt=(r,e)=>{const t=r.length-1,n=[];let i,s=e===2?"":"",o=yx;for(let a=0;a"?(o=i??yx,p=-1):h[1]===void 0?p=-2:(p=o.lastIndex-h[2].length,u=h[1],o=h[3]===void 0?y2:h[3]==='"'?_1e:x1e):o===_1e||o===x1e?o=y2:o===v1e||o===y1e?o=yx:(o=y2,i=void 0);const w=o===y2&&r[a+1].startsWith("/>")?" ":"";s+=o===yx?l+dnt:p>=0?(n.push(u),l.slice(0,p)+MF+l.slice(p)+O1+w):l+O1+(p===-2?(n.push(void 0),a):w)}return[S1e(r,s+(r[t]||"")+(e===2?"":"")),n]};class xx{constructor({strings:e,_$litType$:t},n){let i;this.parts=[];let s=0,o=0;const a=e.length-1,l=this.parts,[u,h]=gnt(e,t);if(this.el=xx.createElement(u,n),_2.currentNode=this.el.content,t===2){const p=this.el.content,g=p.firstChild;g.remove(),p.append(...g.childNodes)}for(;(i=_2.nextNode())!==null&&l.length0){i.textContent=b3?b3.emptyScript:"";for(let w=0;w2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=Js}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(e,t=this,n,i){const s=this.strings;let o=!1;if(s===void 0)e=w3(this,e,t,0),o=!vx(e)||e!==this._$AH&&e!==x2,o&&(this._$AH=e);else{const a=e;let l,u;for(e=s[0],l=0;l{var n,i;const s=(n=t==null?void 0:t.renderBefore)!==null&&n!==void 0?n:e;let o=s._$litPart$;if(o===void 0){const a=(i=t==null?void 0:t.renderBefore)!==null&&i!==void 0?i:null;s._$litPart$=o=new _x(e.insertBefore(wx(),a),a,void 0,t??{})}return o._$AI(r),o};/** + */var EF;const $T=window,g3=$T.trustedTypes,g1e=g3?g3.createPolicy("lit-html",{createHTML:r=>r}):void 0,AF="$lit$",N1=`lit$${(Math.random()+"").slice(9)}$`,m1e="?"+N1,nnt=`<${m1e}>`,w2=document,bx=()=>w2.createComment(""),wx=r=>r===null||typeof r!="object"&&typeof r!="function",b1e=Array.isArray,int=r=>b1e(r)||typeof(r==null?void 0:r[Symbol.iterator])=="function",CF=`[ +\f\r]`,vx=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,w1e=/-->/g,v1e=/>/g,v2=RegExp(`>|${CF}(?:([^\\s"'>=/]+)(${CF}*=${CF}*(?:[^ +\f\r"'\`<>=]|("|')|))|$)`,"g"),y1e=/'/g,x1e=/"/g,_1e=/^(?:script|style|textarea|title)$/i,E1e=r=>(e,...t)=>({_$litType$:r,strings:e,values:t}),Yt=E1e(1),ds=E1e(2),y2=Symbol.for("lit-noChange"),Qs=Symbol.for("lit-nothing"),A1e=new WeakMap,x2=w2.createTreeWalker(w2,129,null,!1);function C1e(r,e){if(!Array.isArray(r)||!r.hasOwnProperty("raw"))throw Error("invalid template strings array");return g1e!==void 0?g1e.createHTML(e):e}const snt=(r,e)=>{const t=r.length-1,n=[];let i,s=e===2?"":"",o=vx;for(let a=0;a"?(o=i??vx,p=-1):h[1]===void 0?p=-2:(p=o.lastIndex-h[2].length,u=h[1],o=h[3]===void 0?v2:h[3]==='"'?x1e:y1e):o===x1e||o===y1e?o=v2:o===w1e||o===v1e?o=vx:(o=v2,i=void 0);const w=o===v2&&r[a+1].startsWith("/>")?" ":"";s+=o===vx?l+nnt:p>=0?(n.push(u),l.slice(0,p)+AF+l.slice(p)+N1+w):l+N1+(p===-2?(n.push(void 0),a):w)}return[C1e(r,s+(r[t]||"")+(e===2?"":"")),n]};class yx{constructor({strings:e,_$litType$:t},n){let i;this.parts=[];let s=0,o=0;const a=e.length-1,l=this.parts,[u,h]=snt(e,t);if(this.el=yx.createElement(u,n),x2.currentNode=this.el.content,t===2){const p=this.el.content,g=p.firstChild;g.remove(),p.append(...g.childNodes)}for(;(i=x2.nextNode())!==null&&l.length0){i.textContent=g3?g3.emptyScript:"";for(let w=0;w2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=Qs}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(e,t=this,n,i){const s=this.strings;let o=!1;if(s===void 0)e=m3(this,e,t,0),o=!wx(e)||e!==this._$AH&&e!==y2,o&&(this._$AH=e);else{const a=e;let l,u;for(e=s[0],l=0;l{var n,i;const s=(n=t==null?void 0:t.renderBefore)!==null&&n!==void 0?n:e;let o=s._$litPart$;if(o===void 0){const a=(i=t==null?void 0:t.renderBefore)!==null&&i!==void 0?i:null;s._$litPart$=o=new xx(e.insertBefore(bx(),a),a,void 0,t??{})}return o._$AI(r),o};/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */var PF,OF;class cn extends m3{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var e,t;const n=super.createRenderRoot();return(e=(t=this.renderOptions).renderBefore)!==null&&e!==void 0||(t.renderBefore=n.firstChild),n}update(e){const t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=_nt(t,this.renderRoot,this.renderOptions)}connectedCallback(){var e;super.connectedCallback(),(e=this._$Do)===null||e===void 0||e.setConnected(!0)}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this._$Do)===null||e===void 0||e.setConnected(!1)}render(){return x2}}cn.finalized=!0,cn._$litElement$=!0,(PF=globalThis.litElementHydrateSupport)===null||PF===void 0||PF.call(globalThis,{LitElement:cn});const R1e=globalThis.litElementPolyfillSupport;R1e==null||R1e({LitElement:cn}),((OF=globalThis.litElementVersions)!==null&&OF!==void 0?OF:globalThis.litElementVersions=[]).push("3.3.3");/** + */var SF,IF;class ln extends p3{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var e,t;const n=super.createRenderRoot();return(e=(t=this.renderOptions).renderBefore)!==null&&e!==void 0||(t.renderBefore=n.firstChild),n}update(e){const t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=fnt(t,this.renderRoot,this.renderOptions)}connectedCallback(){var e;super.connectedCallback(),(e=this._$Do)===null||e===void 0||e.setConnected(!0)}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this._$Do)===null||e===void 0||e.setConnected(!1)}render(){return y2}}ln.finalized=!0,ln._$litElement$=!0,(SF=globalThis.litElementHydrateSupport)===null||SF===void 0||SF.call(globalThis,{LitElement:ln});const I1e=globalThis.litElementPolyfillSupport;I1e==null||I1e({LitElement:ln}),((IF=globalThis.litElementVersions)!==null&&IF!==void 0?IF:globalThis.litElementVersions=[]).push("3.3.3");/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */const _n=r=>e=>typeof e=="function"?((t,n)=>(customElements.define(t,n),n))(r,e):((t,n)=>{const{kind:i,elements:s}=n;return{kind:i,elements:s,finisher(o){customElements.define(t,o)}}})(r,e);/** + */const An=r=>e=>typeof e=="function"?((t,n)=>(customElements.define(t,n),n))(r,e):((t,n)=>{const{kind:i,elements:s}=n;return{kind:i,elements:s,finisher(o){customElements.define(t,o)}}})(r,e);/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */const Ent=(r,e)=>e.kind==="method"&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(t){t.createProperty(e.key,r)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){typeof e.initializer=="function"&&(this[e.key]=e.initializer.call(this))},finisher(t){t.createProperty(e.key,r)}},Ant=(r,e,t)=>{e.constructor.createProperty(t,r)};function Yr(r){return(e,t)=>t!==void 0?Ant(r,e,t):Ent(r,e)}/** + */const dnt=(r,e)=>e.kind==="method"&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(t){t.createProperty(e.key,r)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){typeof e.initializer=="function"&&(this[e.key]=e.initializer.call(this))},finisher(t){t.createProperty(e.key,r)}},pnt=(r,e,t)=>{e.constructor.createProperty(t,r)};function Yr(r){return(e,t)=>t!==void 0?pnt(r,e,t):dnt(r,e)}/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause @@ -9407,17 +9407,17 @@ function print() { __p += __j.call(arguments, '') } * @license * Copyright 2021 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */var DF;((DF=window.HTMLSlotElement)===null||DF===void 0?void 0:DF.prototype.assignedElements)!=null;/** + */var TF;((TF=window.HTMLSlotElement)===null||TF===void 0?void 0:TF.prototype.assignedElements)!=null;/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */const Cnt={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},Snt=r=>(...e)=>({_$litDirective$:r,values:e});class Int{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}}/** + */const gnt={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},mnt=r=>(...e)=>({_$litDirective$:r,values:e});class bnt{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}}/** * @license * Copyright 2018 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */const h0=Snt(class extends Int{constructor(r){var e;if(super(r),r.type!==Cnt.ATTRIBUTE||r.name!=="class"||((e=r.strings)===null||e===void 0?void 0:e.length)>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(r){return" "+Object.keys(r).filter(e=>r[e]).join(" ")+" "}update(r,[e]){var t,n;if(this.it===void 0){this.it=new Set,r.strings!==void 0&&(this.nt=new Set(r.strings.join(" ").split(/\s/).filter(s=>s!=="")));for(const s in e)e[s]&&!(!((t=this.nt)===null||t===void 0)&&t.has(s))&&this.it.add(s);return this.render(e)}const i=r.element.classList;this.it.forEach(s=>{s in e||(i.remove(s),this.it.delete(s))});for(const s in e){const o=!!e[s];o===this.it.has(s)||!((n=this.nt)===null||n===void 0)&&n.has(s)||(o?(i.add(s),this.it.add(s)):(i.remove(s),this.it.delete(s)))}return x2}});function Rnt(r,e){r.indexOf(e)===-1&&r.push(e)}const T1e=(r,e,t)=>Math.min(Math.max(t,r),e),fu={duration:.3,delay:0,endDelay:0,repeat:0,easing:"ease"},NR=r=>typeof r=="number",v3=r=>Array.isArray(r)&&!NR(r[0]),Tnt=(r,e,t)=>{const n=e-r;return((t-r)%n+n)%n+r};function knt(r,e){return v3(r)?r[Tnt(0,r.length,e)]:r}const k1e=(r,e,t)=>-t*r+t*e+r,M1e=()=>{},D1=r=>r,$F=(r,e,t)=>e-r===0?1:(t-r)/(e-r);function N1e(r,e){const t=r[r.length-1];for(let n=1;n<=e;n++){const i=$F(0,e,n);r.push(k1e(t,1,i))}}function Mnt(r){const e=[0];return N1e(e,r-1),e}function Nnt(r,e=Mnt(r.length),t=D1){const n=r.length,i=n-e.length;return i>0&&N1e(e,i),s=>{let o=0;for(;oArray.isArray(r)&&NR(r[0]),BF=r=>typeof r=="object"&&!!r.createAnimation,y3=r=>typeof r=="function",Pnt=r=>typeof r=="string",Ex={ms:r=>r*1e3,s:r=>r/1e3},O1e=(r,e,t)=>(((1-3*t+3*e)*r+(3*t-6*e))*r+3*e)*r,Ont=1e-7,Dnt=12;function $nt(r,e,t,n,i){let s,o,a=0;do o=e+(t-e)/2,s=O1e(o,n,i)-r,s>0?t=o:e=o;while(Math.abs(s)>Ont&&++a$nt(s,0,1,r,t);return s=>s===0||s===1?s:O1e(i(s),e,n)}const Bnt=(r,e="end")=>t=>{t=e==="end"?Math.min(t,.999):Math.max(t,.001);const n=t*r,i=e==="end"?Math.floor(n):Math.ceil(n);return T1e(0,1,i/r)},D1e={ease:Ax(.25,.1,.25,1),"ease-in":Ax(.42,0,1,1),"ease-in-out":Ax(.42,0,.58,1),"ease-out":Ax(0,0,.58,1)},Lnt=/\((.*?)\)/;function $1e(r){if(y3(r))return r;if(P1e(r))return Ax(...r);if(D1e[r])return D1e[r];if(r.startsWith("steps")){const e=Lnt.exec(r);if(e){const t=e[1].split(",");return Bnt(parseFloat(t[0]),t[1].trim())}}return D1}class B1e{constructor(e,t=[0,1],{easing:n,duration:i=fu.duration,delay:s=fu.delay,endDelay:o=fu.endDelay,repeat:a=fu.repeat,offset:l,direction:u="normal",autoplay:h=!0}={}){if(this.startTime=null,this.rate=1,this.t=0,this.cancelTimestamp=null,this.easing=D1,this.duration=0,this.totalDuration=0,this.repeat=0,this.playState="idle",this.finished=new Promise((g,w)=>{this.resolve=g,this.reject=w}),n=n||fu.easing,BF(n)){const g=n.createAnimation(t);n=g.easing,t=g.keyframes||t,i=g.duration||i}this.repeat=a,this.easing=v3(n)?D1:$1e(n),this.updateDuration(i);const p=Nnt(t,l,v3(n)?n.map($1e):D1);this.tick=g=>{var w;s=s;let y=0;this.pauseTime!==void 0?y=this.pauseTime:y=(g-this.startTime)*this.rate,this.t=y,y/=1e3,y=Math.max(y-s,0),this.playState==="finished"&&this.pauseTime===void 0&&(y=this.totalDuration);const C=y/this.duration;let R=Math.floor(C),k=C%1;!k&&C>=1&&(k=1),k===1&&R--;const M=R%2;(u==="reverse"||u==="alternate"&&M||u==="alternate-reverse"&&!M)&&(k=1-k);const O=y>=this.totalDuration?1:Math.min(k,1),B=p(this.easing(O));e(B),this.pauseTime===void 0&&(this.playState==="finished"||y>=this.totalDuration+o)?(this.playState="finished",(w=this.resolve)===null||w===void 0||w.call(this,B)):this.playState!=="idle"&&(this.frameRequestId=requestAnimationFrame(this.tick))},h&&this.play()}play(){const e=performance.now();this.playState="running",this.pauseTime!==void 0?this.startTime=e-this.pauseTime:this.startTime||(this.startTime=e),this.cancelTimestamp=this.startTime,this.pauseTime=void 0,this.frameRequestId=requestAnimationFrame(this.tick)}pause(){this.playState="paused",this.pauseTime=this.t}finish(){this.playState="finished",this.tick(0)}stop(){var e;this.playState="idle",this.frameRequestId!==void 0&&cancelAnimationFrame(this.frameRequestId),(e=this.reject)===null||e===void 0||e.call(this,!1)}cancel(){this.stop(),this.tick(this.cancelTimestamp)}reverse(){this.rate*=-1}commitStyles(){}updateDuration(e){this.duration=e,this.totalDuration=e*(this.repeat+1)}get currentTime(){return this.t}set currentTime(e){this.pauseTime!==void 0||this.rate===0?this.pauseTime=e:this.startTime=performance.now()-e/this.rate}get playbackRate(){return this.rate}set playbackRate(e){this.rate=e}}var LF=function(){};yt.env.NODE_ENV!=="production"&&(LF=function(r,e){if(!r)throw new Error(e)});class Unt{setAnimation(e){this.animation=e,e==null||e.finished.then(()=>this.clearAnimation()).catch(()=>{})}clearAnimation(){this.animation=this.generator=void 0}}const UF=new WeakMap;function L1e(r){return UF.has(r)||UF.set(r,{transforms:[],values:new Map}),UF.get(r)}function Fnt(r,e){return r.has(e)||r.set(e,new Unt),r.get(e)}const jnt=["","X","Y","Z"],znt=["translate","scale","rotate","skew"],PR={x:"translateX",y:"translateY",z:"translateZ"},U1e={syntax:"",initialValue:"0deg",toDefaultUnit:r=>r+"deg"},Hnt={translate:{syntax:"",initialValue:"0px",toDefaultUnit:r=>r+"px"},rotate:U1e,scale:{syntax:"",initialValue:1,toDefaultUnit:D1},skew:U1e},Cx=new Map,FF=r=>`--motion-${r}`,OR=["x","y","z"];znt.forEach(r=>{jnt.forEach(e=>{OR.push(r+e),Cx.set(FF(r+e),Hnt[r])})});const qnt=(r,e)=>OR.indexOf(r)-OR.indexOf(e),Wnt=new Set(OR),F1e=r=>Wnt.has(r),Vnt=(r,e)=>{PR[e]&&(e=PR[e]);const{transforms:t}=L1e(r);Rnt(t,e),r.style.transform=Gnt(t)},Gnt=r=>r.sort(qnt).reduce(Knt,"").trim(),Knt=(r,e)=>`${r} ${e}(var(${FF(e)}))`,jF=r=>r.startsWith("--"),j1e=new Set;function Znt(r){if(!j1e.has(r)){j1e.add(r);try{const{syntax:e,initialValue:t}=Cx.has(r)?Cx.get(r):{};CSS.registerProperty({name:r,inherits:!1,syntax:e,initialValue:t})}catch{}}}const zF=(r,e)=>document.createElement("div").animate(r,e),z1e={cssRegisterProperty:()=>typeof CSS<"u"&&Object.hasOwnProperty.call(CSS,"registerProperty"),waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate"),partialKeyframes:()=>{try{zF({opacity:[1]})}catch{return!1}return!0},finished:()=>!!zF({opacity:[0,1]},{duration:.001}).finished,linearEasing:()=>{try{zF({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0}},HF={},x3={};for(const r in z1e)x3[r]=()=>(HF[r]===void 0&&(HF[r]=z1e[r]()),HF[r]);const Jnt=.015,Ynt=(r,e)=>{let t="";const n=Math.round(e/Jnt);for(let i=0;iy3(r)?x3.linearEasing()?`linear(${Ynt(r,e)})`:fu.easing:P1e(r)?Qnt(r):r,Qnt=([r,e,t,n])=>`cubic-bezier(${r}, ${e}, ${t}, ${n})`;function Xnt(r,e){for(let t=0;tArray.isArray(r)?r:[r];function qF(r){return PR[r]&&(r=PR[r]),F1e(r)?FF(r):r}const DR={get:(r,e)=>{e=qF(e);let t=jF(e)?r.style.getPropertyValue(e):getComputedStyle(r)[e];if(!t&&t!==0){const n=Cx.get(e);n&&(t=n.initialValue)}return t},set:(r,e,t)=>{e=qF(e),jF(e)?r.style.setProperty(e,t):r.style[e]=t}};function q1e(r,e=!0){if(!(!r||r.playState==="finished"))try{r.stop?r.stop():(e&&r.commitStyles(),r.cancel())}catch{}}function tit(r,e){var t;let n=(e==null?void 0:e.toDefaultUnit)||D1;const i=r[r.length-1];if(Pnt(i)){const s=((t=i.match(/(-?[\d.]+)([a-z%]*)/))===null||t===void 0?void 0:t[2])||"";s&&(n=o=>o+s)}return n}function rit(){return window.__MOTION_DEV_TOOLS_RECORD}function nit(r,e,t,n={},i){const s=rit(),o=n.record!==!1&&s;let a,{duration:l=fu.duration,delay:u=fu.delay,endDelay:h=fu.endDelay,repeat:p=fu.repeat,easing:g=fu.easing,persist:w=!1,direction:y,offset:C,allowWebkitAcceleration:R=!1,autoplay:k=!0}=n;const M=L1e(r),O=F1e(e);let B=x3.waapi();O&&Vnt(r,e);const j=qF(e),G=Fnt(M.values,j),D=Cx.get(j);return q1e(G.animation,!(BF(g)&&G.generator)&&n.record!==!1),()=>{const $=()=>{var W,P;return(P=(W=DR.get(r,j))!==null&&W!==void 0?W:D==null?void 0:D.initialValue)!==null&&P!==void 0?P:0};let V=Xnt(eit(t),$);const te=tit(V,D);if(BF(g)){const W=g.createAnimation(V,e!=="opacity",$,j,G);g=W.easing,V=W.keyframes||V,l=W.duration||l}if(jF(j)&&(x3.cssRegisterProperty()?Znt(j):B=!1),O&&!x3.linearEasing()&&(y3(g)||v3(g)&&g.some(y3))&&(B=!1),B){D&&(V=V.map(b=>NR(b)?D.toDefaultUnit(b):b)),V.length===1&&(!x3.partialKeyframes()||o)&&V.unshift($());const W={delay:Ex.ms(u),duration:Ex.ms(l),endDelay:Ex.ms(h),easing:v3(g)?void 0:H1e(g,l),direction:y,iterations:p+1,fill:"both"};a=r.animate({[j]:V,offset:C,easing:v3(g)?g.map(b=>H1e(b,l)):void 0},W),a.finished||(a.finished=new Promise((b,d)=>{a.onfinish=b,a.oncancel=d}));const P=V[V.length-1];a.finished.then(()=>{w||(DR.set(r,j,P),a.cancel())}).catch(M1e),R||(a.playbackRate=1.000001)}else if(i&&O)V=V.map(W=>typeof W=="string"?parseFloat(W):W),V.length===1&&V.unshift(parseFloat($())),a=new i(W=>{DR.set(r,j,te?te(W):W)},V,Object.assign(Object.assign({},n),{duration:l,easing:g}));else{const W=V[V.length-1];DR.set(r,j,D&&NR(W)?D.toDefaultUnit(W):W)}return o&&s(r,e,V,{duration:l,delay:u,easing:g,repeat:p,offset:C},"motion-one"),G.setAnimation(a),a&&!k&&a.pause(),a}}const iit=(r,e)=>r[e]?Object.assign(Object.assign({},r),r[e]):Object.assign({},r);function sit(r,e){var t;return typeof r=="string"?e?((t=e[r])!==null&&t!==void 0||(e[r]=document.querySelectorAll(r)),r=e[r]):r=document.querySelectorAll(r):r instanceof Element&&(r=[r]),Array.from(r||[])}const oit=r=>r(),W1e=(r,e,t=fu.duration)=>new Proxy({animations:r.map(oit).filter(Boolean),duration:t,options:e},cit),ait=r=>r.animations[0],cit={get:(r,e)=>{const t=ait(r);switch(e){case"duration":return r.duration;case"currentTime":return Ex.s((t==null?void 0:t[e])||0);case"playbackRate":case"playState":return t==null?void 0:t[e];case"finished":return r.finished||(r.finished=Promise.all(r.animations.map(lit)).catch(M1e)),r.finished;case"stop":return()=>{r.animations.forEach(n=>q1e(n))};case"forEachNative":return n=>{r.animations.forEach(i=>n(i,r))};default:return typeof(t==null?void 0:t[e])>"u"?void 0:()=>r.animations.forEach(n=>n[e]())}},set:(r,e,t)=>{switch(e){case"currentTime":t=Ex.ms(t);case"playbackRate":for(let n=0;nr.finished;function uit(r,e,t){return y3(r)?r(e,t):r}function hit(r){return function(t,n,i={}){t=sit(t);const s=t.length;LF(!!s,"No valid element provided."),LF(!!n,"No keyframes defined.");const o=[];for(let a=0;a{const t=new B1e(r,[0,1],e);return t.finished.catch(()=>{}),t}],e,e.duration)}function E2(r,e,t){return(y3(r)?dit:fit)(r,e,t)}/** + */const u0=mnt(class extends bnt{constructor(r){var e;if(super(r),r.type!==gnt.ATTRIBUTE||r.name!=="class"||((e=r.strings)===null||e===void 0?void 0:e.length)>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(r){return" "+Object.keys(r).filter(e=>r[e]).join(" ")+" "}update(r,[e]){var t,n;if(this.it===void 0){this.it=new Set,r.strings!==void 0&&(this.nt=new Set(r.strings.join(" ").split(/\s/).filter(s=>s!=="")));for(const s in e)e[s]&&!(!((t=this.nt)===null||t===void 0)&&t.has(s))&&this.it.add(s);return this.render(e)}const i=r.element.classList;this.it.forEach(s=>{s in e||(i.remove(s),this.it.delete(s))});for(const s in e){const o=!!e[s];o===this.it.has(s)||!((n=this.nt)===null||n===void 0)&&n.has(s)||(o?(i.add(s),this.it.add(s)):(i.remove(s),this.it.delete(s)))}return y2}});function wnt(r,e){r.indexOf(e)===-1&&r.push(e)}const T1e=(r,e,t)=>Math.min(Math.max(t,r),e),pu={duration:.3,delay:0,endDelay:0,repeat:0,easing:"ease"},LT=r=>typeof r=="number",b3=r=>Array.isArray(r)&&!LT(r[0]),vnt=(r,e,t)=>{const n=e-r;return((t-r)%n+n)%n+r};function ynt(r,e){return b3(r)?r[vnt(0,r.length,e)]:r}const R1e=(r,e,t)=>-t*r+t*e+r,k1e=()=>{},P1=r=>r,RF=(r,e,t)=>e-r===0?1:(t-r)/(e-r);function M1e(r,e){const t=r[r.length-1];for(let n=1;n<=e;n++){const i=RF(0,e,n);r.push(R1e(t,1,i))}}function xnt(r){const e=[0];return M1e(e,r-1),e}function _nt(r,e=xnt(r.length),t=P1){const n=r.length,i=n-e.length;return i>0&&M1e(e,i),s=>{let o=0;for(;oArray.isArray(r)&<(r[0]),kF=r=>typeof r=="object"&&Boolean(r.createAnimation),w3=r=>typeof r=="function",Ent=r=>typeof r=="string",_x={ms:r=>r*1e3,s:r=>r/1e3},P1e=(r,e,t)=>(((1-3*t+3*e)*r+(3*t-6*e))*r+3*e)*r,Ant=1e-7,Cnt=12;function Snt(r,e,t,n,i){let s,o,a=0;do o=e+(t-e)/2,s=P1e(o,n,i)-r,s>0?t=o:e=o;while(Math.abs(s)>Ant&&++aSnt(s,0,1,r,t);return s=>s===0||s===1?s:P1e(i(s),e,n)}const Int=(r,e="end")=>t=>{t=e==="end"?Math.min(t,.999):Math.max(t,.001);const n=t*r,i=e==="end"?Math.floor(n):Math.ceil(n);return T1e(0,1,i/r)},O1e={ease:Ex(.25,.1,.25,1),"ease-in":Ex(.42,0,1,1),"ease-in-out":Ex(.42,0,.58,1),"ease-out":Ex(0,0,.58,1)},Tnt=/\((.*?)\)/;function D1e(r){if(w3(r))return r;if(N1e(r))return Ex(...r);if(O1e[r])return O1e[r];if(r.startsWith("steps")){const e=Tnt.exec(r);if(e){const t=e[1].split(",");return Int(parseFloat(t[0]),t[1].trim())}}return P1}class $1e{constructor(e,t=[0,1],{easing:n,duration:i=pu.duration,delay:s=pu.delay,endDelay:o=pu.endDelay,repeat:a=pu.repeat,offset:l,direction:u="normal",autoplay:h=!0}={}){if(this.startTime=null,this.rate=1,this.t=0,this.cancelTimestamp=null,this.easing=P1,this.duration=0,this.totalDuration=0,this.repeat=0,this.playState="idle",this.finished=new Promise((g,w)=>{this.resolve=g,this.reject=w}),n=n||pu.easing,kF(n)){const g=n.createAnimation(t);n=g.easing,t=g.keyframes||t,i=g.duration||i}this.repeat=a,this.easing=b3(n)?P1:D1e(n),this.updateDuration(i);const p=_nt(t,l,b3(n)?n.map(D1e):P1);this.tick=g=>{var w;s=s;let y=0;this.pauseTime!==void 0?y=this.pauseTime:y=(g-this.startTime)*this.rate,this.t=y,y/=1e3,y=Math.max(y-s,0),this.playState==="finished"&&this.pauseTime===void 0&&(y=this.totalDuration);const C=y/this.duration;let T=Math.floor(C),k=C%1;!k&&C>=1&&(k=1),k===1&&T--;const N=T%2;(u==="reverse"||u==="alternate"&&N||u==="alternate-reverse"&&!N)&&(k=1-k);const O=y>=this.totalDuration?1:Math.min(k,1),B=p(this.easing(O));e(B),this.pauseTime===void 0&&(this.playState==="finished"||y>=this.totalDuration+o)?(this.playState="finished",(w=this.resolve)===null||w===void 0||w.call(this,B)):this.playState!=="idle"&&(this.frameRequestId=requestAnimationFrame(this.tick))},h&&this.play()}play(){const e=performance.now();this.playState="running",this.pauseTime!==void 0?this.startTime=e-this.pauseTime:this.startTime||(this.startTime=e),this.cancelTimestamp=this.startTime,this.pauseTime=void 0,this.frameRequestId=requestAnimationFrame(this.tick)}pause(){this.playState="paused",this.pauseTime=this.t}finish(){this.playState="finished",this.tick(0)}stop(){var e;this.playState="idle",this.frameRequestId!==void 0&&cancelAnimationFrame(this.frameRequestId),(e=this.reject)===null||e===void 0||e.call(this,!1)}cancel(){this.stop(),this.tick(this.cancelTimestamp)}reverse(){this.rate*=-1}commitStyles(){}updateDuration(e){this.duration=e,this.totalDuration=e*(this.repeat+1)}get currentTime(){return this.t}set currentTime(e){this.pauseTime!==void 0||this.rate===0?this.pauseTime=e:this.startTime=performance.now()-e/this.rate}get playbackRate(){return this.rate}set playbackRate(e){this.rate=e}}var MF=function(){};yt.env.NODE_ENV!=="production"&&(MF=function(r,e){if(!r)throw new Error(e)});class Rnt{setAnimation(e){this.animation=e,e==null||e.finished.then(()=>this.clearAnimation()).catch(()=>{})}clearAnimation(){this.animation=this.generator=void 0}}const NF=new WeakMap;function B1e(r){return NF.has(r)||NF.set(r,{transforms:[],values:new Map}),NF.get(r)}function knt(r,e){return r.has(e)||r.set(e,new Rnt),r.get(e)}const Mnt=["","X","Y","Z"],Nnt=["translate","scale","rotate","skew"],UT={x:"translateX",y:"translateY",z:"translateZ"},L1e={syntax:"",initialValue:"0deg",toDefaultUnit:r=>r+"deg"},Pnt={translate:{syntax:"",initialValue:"0px",toDefaultUnit:r=>r+"px"},rotate:L1e,scale:{syntax:"",initialValue:1,toDefaultUnit:P1},skew:L1e},Ax=new Map,PF=r=>`--motion-${r}`,FT=["x","y","z"];Nnt.forEach(r=>{Mnt.forEach(e=>{FT.push(r+e),Ax.set(PF(r+e),Pnt[r])})});const Ont=(r,e)=>FT.indexOf(r)-FT.indexOf(e),Dnt=new Set(FT),U1e=r=>Dnt.has(r),$nt=(r,e)=>{UT[e]&&(e=UT[e]);const{transforms:t}=B1e(r);wnt(t,e),r.style.transform=Bnt(t)},Bnt=r=>r.sort(Ont).reduce(Lnt,"").trim(),Lnt=(r,e)=>`${r} ${e}(var(${PF(e)}))`,OF=r=>r.startsWith("--"),F1e=new Set;function Unt(r){if(!F1e.has(r)){F1e.add(r);try{const{syntax:e,initialValue:t}=Ax.has(r)?Ax.get(r):{};CSS.registerProperty({name:r,inherits:!1,syntax:e,initialValue:t})}catch{}}}const DF=(r,e)=>document.createElement("div").animate(r,e),j1e={cssRegisterProperty:()=>typeof CSS<"u"&&Object.hasOwnProperty.call(CSS,"registerProperty"),waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate"),partialKeyframes:()=>{try{DF({opacity:[1]})}catch{return!1}return!0},finished:()=>Boolean(DF({opacity:[0,1]},{duration:.001}).finished),linearEasing:()=>{try{DF({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0}},$F={},v3={};for(const r in j1e)v3[r]=()=>($F[r]===void 0&&($F[r]=j1e[r]()),$F[r]);const Fnt=.015,jnt=(r,e)=>{let t="";const n=Math.round(e/Fnt);for(let i=0;iw3(r)?v3.linearEasing()?`linear(${jnt(r,e)})`:pu.easing:N1e(r)?znt(r):r,znt=([r,e,t,n])=>`cubic-bezier(${r}, ${e}, ${t}, ${n})`;function Hnt(r,e){for(let t=0;tArray.isArray(r)?r:[r];function BF(r){return UT[r]&&(r=UT[r]),U1e(r)?PF(r):r}const jT={get:(r,e)=>{e=BF(e);let t=OF(e)?r.style.getPropertyValue(e):getComputedStyle(r)[e];if(!t&&t!==0){const n=Ax.get(e);n&&(t=n.initialValue)}return t},set:(r,e,t)=>{e=BF(e),OF(e)?r.style.setProperty(e,t):r.style[e]=t}};function H1e(r,e=!0){if(!(!r||r.playState==="finished"))try{r.stop?r.stop():(e&&r.commitStyles(),r.cancel())}catch{}}function Wnt(r,e){var t;let n=(e==null?void 0:e.toDefaultUnit)||P1;const i=r[r.length-1];if(Ent(i)){const s=((t=i.match(/(-?[\d.]+)([a-z%]*)/))===null||t===void 0?void 0:t[2])||"";s&&(n=o=>o+s)}return n}function Vnt(){return window.__MOTION_DEV_TOOLS_RECORD}function Gnt(r,e,t,n={},i){const s=Vnt(),o=n.record!==!1&&s;let a,{duration:l=pu.duration,delay:u=pu.delay,endDelay:h=pu.endDelay,repeat:p=pu.repeat,easing:g=pu.easing,persist:w=!1,direction:y,offset:C,allowWebkitAcceleration:T=!1,autoplay:k=!0}=n;const N=B1e(r),O=U1e(e);let B=v3.waapi();O&&$nt(r,e);const z=BF(e),G=knt(N.values,z),$=Ax.get(z);return H1e(G.animation,!(kF(g)&&G.generator)&&n.record!==!1),()=>{const D=()=>{var F,M;return(M=(F=jT.get(r,z))!==null&&F!==void 0?F:$==null?void 0:$.initialValue)!==null&&M!==void 0?M:0};let V=Hnt(qnt(t),D);const Q=Wnt(V,$);if(kF(g)){const F=g.createAnimation(V,e!=="opacity",D,z,G);g=F.easing,V=F.keyframes||V,l=F.duration||l}if(OF(z)&&(v3.cssRegisterProperty()?Unt(z):B=!1),O&&!v3.linearEasing()&&(w3(g)||b3(g)&&g.some(w3))&&(B=!1),B){$&&(V=V.map(b=>LT(b)?$.toDefaultUnit(b):b)),V.length===1&&(!v3.partialKeyframes()||o)&&V.unshift(D());const F={delay:_x.ms(u),duration:_x.ms(l),endDelay:_x.ms(h),easing:b3(g)?void 0:z1e(g,l),direction:y,iterations:p+1,fill:"both"};a=r.animate({[z]:V,offset:C,easing:b3(g)?g.map(b=>z1e(b,l)):void 0},F),a.finished||(a.finished=new Promise((b,d)=>{a.onfinish=b,a.oncancel=d}));const M=V[V.length-1];a.finished.then(()=>{w||(jT.set(r,z,M),a.cancel())}).catch(k1e),T||(a.playbackRate=1.000001)}else if(i&&O)V=V.map(F=>typeof F=="string"?parseFloat(F):F),V.length===1&&V.unshift(parseFloat(D())),a=new i(F=>{jT.set(r,z,Q?Q(F):F)},V,Object.assign(Object.assign({},n),{duration:l,easing:g}));else{const F=V[V.length-1];jT.set(r,z,$&<(F)?$.toDefaultUnit(F):F)}return o&&s(r,e,V,{duration:l,delay:u,easing:g,repeat:p,offset:C},"motion-one"),G.setAnimation(a),a&&!k&&a.pause(),a}}const Knt=(r,e)=>r[e]?Object.assign(Object.assign({},r),r[e]):Object.assign({},r);function Znt(r,e){var t;return typeof r=="string"?e?((t=e[r])!==null&&t!==void 0||(e[r]=document.querySelectorAll(r)),r=e[r]):r=document.querySelectorAll(r):r instanceof Element&&(r=[r]),Array.from(r||[])}const Jnt=r=>r(),q1e=(r,e,t=pu.duration)=>new Proxy({animations:r.map(Jnt).filter(Boolean),duration:t,options:e},Qnt),Ynt=r=>r.animations[0],Qnt={get:(r,e)=>{const t=Ynt(r);switch(e){case"duration":return r.duration;case"currentTime":return _x.s((t==null?void 0:t[e])||0);case"playbackRate":case"playState":return t==null?void 0:t[e];case"finished":return r.finished||(r.finished=Promise.all(r.animations.map(Xnt)).catch(k1e)),r.finished;case"stop":return()=>{r.animations.forEach(n=>H1e(n))};case"forEachNative":return n=>{r.animations.forEach(i=>n(i,r))};default:return typeof(t==null?void 0:t[e])>"u"?void 0:()=>r.animations.forEach(n=>n[e]())}},set:(r,e,t)=>{switch(e){case"currentTime":t=_x.ms(t);case"playbackRate":for(let n=0;nr.finished;function eit(r,e,t){return w3(r)?r(e,t):r}function tit(r){return function(t,n,i={}){t=Znt(t);const s=t.length;MF(Boolean(s),"No valid element provided."),MF(Boolean(n),"No keyframes defined.");const o=[];for(let a=0;a{const t=new $1e(r,[0,1],e);return t.finished.catch(()=>{}),t}],e,e.duration)}function _2(r,e,t){return(w3(r)?nit:rit)(r,e,t)}/** * @license * Copyright 2018 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */const Wa=r=>r??Js;var pit=Object.defineProperty,V1e=Object.getOwnPropertySymbols,git=Object.prototype.hasOwnProperty,mit=Object.prototype.propertyIsEnumerable,G1e=(r,e,t)=>e in r?pit(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,WF=(r,e)=>{for(var t in e||(e={}))git.call(e,t)&&G1e(r,t,e[t]);if(V1e)for(var t of V1e(e))mit.call(e,t)&&G1e(r,t,e[t]);return r};function bit(){var r;const e=(r=N1.state.themeMode)!=null?r:"dark",t={light:{foreground:{1:"rgb(20,20,20)",2:"rgb(121,134,134)",3:"rgb(158,169,169)"},background:{1:"rgb(255,255,255)",2:"rgb(241,243,243)",3:"rgb(228,231,231)"},overlay:"rgba(0,0,0,0.1)"},dark:{foreground:{1:"rgb(228,231,231)",2:"rgb(148,158,158)",3:"rgb(110,119,119)"},background:{1:"rgb(20,20,20)",2:"rgb(39,42,42)",3:"rgb(59,64,64)"},overlay:"rgba(255,255,255,0.1)"}}[e];return{"--wcm-color-fg-1":t.foreground[1],"--wcm-color-fg-2":t.foreground[2],"--wcm-color-fg-3":t.foreground[3],"--wcm-color-bg-1":t.background[1],"--wcm-color-bg-2":t.background[2],"--wcm-color-bg-3":t.background[3],"--wcm-color-overlay":t.overlay}}function K1e(){return{"--wcm-accent-color":"#3396FF","--wcm-accent-fill-color":"#FFFFFF","--wcm-z-index":"89","--wcm-background-color":"#3396FF","--wcm-background-border-radius":"8px","--wcm-container-border-radius":"30px","--wcm-wallet-icon-border-radius":"15px","--wcm-wallet-icon-large-border-radius":"30px","--wcm-wallet-icon-small-border-radius":"7px","--wcm-input-border-radius":"28px","--wcm-button-border-radius":"10px","--wcm-notification-border-radius":"36px","--wcm-secondary-button-border-radius":"28px","--wcm-icon-button-border-radius":"50%","--wcm-button-hover-highlight-border-radius":"10px","--wcm-text-big-bold-size":"20px","--wcm-text-big-bold-weight":"600","--wcm-text-big-bold-line-height":"24px","--wcm-text-big-bold-letter-spacing":"-0.03em","--wcm-text-big-bold-text-transform":"none","--wcm-text-xsmall-bold-size":"10px","--wcm-text-xsmall-bold-weight":"700","--wcm-text-xsmall-bold-line-height":"12px","--wcm-text-xsmall-bold-letter-spacing":"0.02em","--wcm-text-xsmall-bold-text-transform":"uppercase","--wcm-text-xsmall-regular-size":"12px","--wcm-text-xsmall-regular-weight":"600","--wcm-text-xsmall-regular-line-height":"14px","--wcm-text-xsmall-regular-letter-spacing":"-0.03em","--wcm-text-xsmall-regular-text-transform":"none","--wcm-text-small-thin-size":"14px","--wcm-text-small-thin-weight":"500","--wcm-text-small-thin-line-height":"16px","--wcm-text-small-thin-letter-spacing":"-0.03em","--wcm-text-small-thin-text-transform":"none","--wcm-text-small-regular-size":"14px","--wcm-text-small-regular-weight":"600","--wcm-text-small-regular-line-height":"16px","--wcm-text-small-regular-letter-spacing":"-0.03em","--wcm-text-small-regular-text-transform":"none","--wcm-text-medium-regular-size":"16px","--wcm-text-medium-regular-weight":"600","--wcm-text-medium-regular-line-height":"20px","--wcm-text-medium-regular-letter-spacing":"-0.03em","--wcm-text-medium-regular-text-transform":"none","--wcm-font-family":"-apple-system, system-ui, BlinkMacSystemFont, 'Segoe UI', Roboto, Ubuntu, 'Helvetica Neue', sans-serif","--wcm-font-feature-settings":"'tnum' on, 'lnum' on, 'case' on","--wcm-success-color":"rgb(38,181,98)","--wcm-error-color":"rgb(242, 90, 103)","--wcm-overlay-background-color":"rgba(0, 0, 0, 0.3)","--wcm-overlay-backdrop-filter":"none"}}const wn={getPreset(r){return K1e()[r]},setTheme(){const r=document.querySelector(":root"),{themeVariables:e}=N1.state;if(r){const t=WF(WF(WF({},bit()),K1e()),e);Object.entries(t).forEach(([n,i])=>r.style.setProperty(n,i))}},globalCss:jn`*,::after,::before{margin:0;padding:0;box-sizing:border-box;font-style:normal;text-rendering:optimizeSpeed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;backface-visibility:hidden}button{cursor:pointer;display:flex;justify-content:center;align-items:center;position:relative;border:none;background-color:transparent;transition:all .2s ease}@media (hover:hover) and (pointer:fine){button:active{transition:all .1s ease;transform:scale(.93)}}button::after{content:'';position:absolute;top:0;bottom:0;left:0;right:0;transition:background-color,.2s ease}button:disabled{cursor:not-allowed}button svg,button wcm-text{position:relative;z-index:1}input{border:none;outline:0;appearance:none}img{display:block}::selection{color:var(--wcm-accent-fill-color);background:var(--wcm-accent-color)}`},wit=jn`button{border-radius:var(--wcm-secondary-button-border-radius);height:28px;padding:0 10px;background-color:var(--wcm-accent-color)}button path{fill:var(--wcm-accent-fill-color)}button::after{border-radius:inherit;border:1px solid var(--wcm-color-overlay)}button:disabled::after{background-color:transparent}.wcm-icon-left svg{margin-right:5px}.wcm-icon-right svg{margin-left:5px}button:active::after{background-color:var(--wcm-color-overlay)}.wcm-ghost,.wcm-ghost:active::after,.wcm-outline{background-color:transparent}.wcm-ghost:active{opacity:.5}@media(hover:hover){button:hover::after{background-color:var(--wcm-color-overlay)}.wcm-ghost:hover::after{background-color:transparent}.wcm-ghost:hover{opacity:.5}}button:disabled{background-color:var(--wcm-color-bg-3);pointer-events:none}.wcm-ghost::after{border-color:transparent}.wcm-ghost path{fill:var(--wcm-color-fg-2)}.wcm-outline path{fill:var(--wcm-accent-color)}.wcm-outline:disabled{background-color:transparent;opacity:.5}`;var vit=Object.defineProperty,yit=Object.getOwnPropertyDescriptor,_3=(r,e,t,n)=>{for(var i=n>1?void 0:n?yit(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&vit(e,t,i),i};let $1=class extends cn{constructor(){super(...arguments),this.disabled=!1,this.iconLeft=void 0,this.iconRight=void 0,this.onClick=()=>null,this.variant="default"}render(){const r={"wcm-icon-left":this.iconLeft!==void 0,"wcm-icon-right":this.iconRight!==void 0,"wcm-ghost":this.variant==="ghost","wcm-outline":this.variant==="outline"};let e="inverse";return this.variant==="ghost"&&(e="secondary"),this.variant==="outline"&&(e="accent"),Yt``}};$1.styles=[wn.globalCss,wit],_3([Yr({type:Boolean})],$1.prototype,"disabled",2),_3([Yr()],$1.prototype,"iconLeft",2),_3([Yr()],$1.prototype,"iconRight",2),_3([Yr()],$1.prototype,"onClick",2),_3([Yr()],$1.prototype,"variant",2),$1=_3([_n("wcm-button")],$1);const xit=jn`:host{display:inline-block}button{padding:0 15px 1px;height:40px;border-radius:var(--wcm-button-border-radius);color:var(--wcm-accent-fill-color);background-color:var(--wcm-accent-color)}button::after{content:'';top:0;bottom:0;left:0;right:0;position:absolute;background-color:transparent;border-radius:inherit;transition:background-color .2s ease;border:1px solid var(--wcm-color-overlay)}button:active::after{background-color:var(--wcm-color-overlay)}button:disabled{padding-bottom:0;background-color:var(--wcm-color-bg-3);color:var(--wcm-color-fg-3)}.wcm-secondary{color:var(--wcm-accent-color);background-color:transparent}.wcm-secondary::after{display:none}@media(hover:hover){button:hover::after{background-color:var(--wcm-color-overlay)}}`;var _it=Object.defineProperty,Eit=Object.getOwnPropertyDescriptor,VF=(r,e,t,n)=>{for(var i=n>1?void 0:n?Eit(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&_it(e,t,i),i};let Sx=class extends cn{constructor(){super(...arguments),this.disabled=!1,this.variant="primary"}render(){const r={"wcm-secondary":this.variant==="secondary"};return Yt``}};Sx.styles=[wn.globalCss,xit],VF([Yr({type:Boolean})],Sx.prototype,"disabled",2),VF([Yr()],Sx.prototype,"variant",2),Sx=VF([_n("wcm-button-big")],Sx);const Ait=jn`:host{background-color:var(--wcm-color-bg-2);border-top:1px solid var(--wcm-color-bg-3)}div{padding:10px 20px;display:inherit;flex-direction:inherit;align-items:inherit;width:inherit;justify-content:inherit}`;var Cit=Object.defineProperty,Sit=Object.getOwnPropertyDescriptor,Iit=(r,e,t,n)=>{for(var i=n>1?void 0:n?Sit(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Cit(e,t,i),i};let GF=class extends cn{render(){return Yt`
`}};GF.styles=[wn.globalCss,Ait],GF=Iit([_n("wcm-info-footer")],GF);const Jn={CROSS_ICON:hs``,WALLET_CONNECT_LOGO:hs``,WALLET_CONNECT_ICON:hs``,WALLET_CONNECT_ICON_COLORED:hs``,BACK_ICON:hs``,COPY_ICON:hs``,RETRY_ICON:hs``,DESKTOP_ICON:hs``,MOBILE_ICON:hs``,ARROW_DOWN_ICON:hs``,ARROW_UP_RIGHT_ICON:hs``,ARROW_RIGHT_ICON:hs``,QRCODE_ICON:hs``,SCAN_ICON:hs``,CHECKMARK_ICON:hs``,SEARCH_ICON:hs``,WALLET_PLACEHOLDER:hs``,GLOBE_ICON:hs``},Rit=jn`.wcm-toolbar-placeholder{top:0;bottom:0;left:0;right:0;width:100%;position:absolute;display:block;pointer-events:none;height:100px;border-radius:calc(var(--wcm-background-border-radius) * .9);background-color:var(--wcm-background-color);background-position:center;background-size:cover}.wcm-toolbar{height:38px;display:flex;position:relative;margin:5px 15px 5px 5px;justify-content:space-between;align-items:center}.wcm-toolbar img,.wcm-toolbar svg{height:28px;object-position:left center;object-fit:contain}#wcm-wc-logo path{fill:var(--wcm-accent-fill-color)}button{width:28px;height:28px;border-radius:var(--wcm-icon-button-border-radius);border:0;display:flex;justify-content:center;align-items:center;cursor:pointer;background-color:var(--wcm-color-bg-1);box-shadow:0 0 0 1px var(--wcm-color-overlay)}button:active{background-color:var(--wcm-color-bg-2)}button svg{display:block;object-position:center}button path{fill:var(--wcm-color-fg-1)}.wcm-toolbar div{display:flex}@media(hover:hover){button:hover{background-color:var(--wcm-color-bg-2)}}`;var Tit=Object.defineProperty,kit=Object.getOwnPropertyDescriptor,Mit=(r,e,t,n)=>{for(var i=n>1?void 0:n?kit(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Tit(e,t,i),i};let KF=class extends cn{render(){return Yt`
${Jn.WALLET_CONNECT_LOGO}
`}};KF.styles=[wn.globalCss,Rit],KF=Mit([_n("wcm-modal-backcard")],KF);const Nit=jn`main{padding:20px;padding-top:0;width:100%}`;var Pit=Object.defineProperty,Oit=Object.getOwnPropertyDescriptor,Dit=(r,e,t,n)=>{for(var i=n>1?void 0:n?Oit(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Pit(e,t,i),i};let ZF=class extends cn{render(){return Yt`
`}};ZF.styles=[wn.globalCss,Nit],ZF=Dit([_n("wcm-modal-content")],ZF);const $it=jn`footer{padding:10px;display:flex;flex-direction:column;align-items:inherit;justify-content:inherit;border-top:1px solid var(--wcm-color-bg-2)}`;var Bit=Object.defineProperty,Lit=Object.getOwnPropertyDescriptor,Uit=(r,e,t,n)=>{for(var i=n>1?void 0:n?Lit(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Bit(e,t,i),i};let JF=class extends cn{render(){return Yt`
`}};JF.styles=[wn.globalCss,$it],JF=Uit([_n("wcm-modal-footer")],JF);const Fit=jn`header{display:flex;justify-content:center;align-items:center;padding:20px;position:relative}.wcm-border{border-bottom:1px solid var(--wcm-color-bg-2);margin-bottom:20px}header button{padding:15px 20px}header button:active{opacity:.5}@media(hover:hover){header button:hover{opacity:.5}}.wcm-back-btn{position:absolute;left:0}.wcm-action-btn{position:absolute;right:0}path{fill:var(--wcm-accent-color)}`;var jit=Object.defineProperty,zit=Object.getOwnPropertyDescriptor,Ix=(r,e,t,n)=>{for(var i=n>1?void 0:n?zit(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&jit(e,t,i),i};let A2=class extends cn{constructor(){super(...arguments),this.title="",this.onAction=void 0,this.actionIcon=void 0,this.border=!1}backBtnTemplate(){return Yt``}actionBtnTemplate(){return Yt``}render(){const r={"wcm-border":this.border},e=is.state.history.length>1,t=this.title?Yt`${this.title}`:Yt``;return Yt`
${e?this.backBtnTemplate():null} ${t} ${this.onAction?this.actionBtnTemplate():null}
`}};A2.styles=[wn.globalCss,Fit],Ix([Yr()],A2.prototype,"title",2),Ix([Yr()],A2.prototype,"onAction",2),Ix([Yr()],A2.prototype,"actionIcon",2),Ix([Yr({type:Boolean})],A2.prototype,"border",2),A2=Ix([_n("wcm-modal-header")],A2);const Ur={MOBILE_BREAKPOINT:600,WCM_RECENT_WALLET_DATA:"WCM_RECENT_WALLET_DATA",EXPLORER_WALLET_URL:"https://explorer.walletconnect.com/?type=wallet",getShadowRootElement(r,e){const t=r.renderRoot.querySelector(e);if(!t)throw new Error(`${e} not found`);return t},getWalletIcon({id:r,image_id:e}){const{walletImages:t}=tl.state;return t!=null&&t[r]?t[r]:e?_c.getWalletImageUrl(e):""},getWalletName(r,e=!1){return e&&r.length>8?`${r.substring(0,8)}..`:r},isMobileAnimation(){return window.innerWidth<=Ur.MOBILE_BREAKPOINT},async preloadImage(r){const e=new Promise((t,n)=>{const i=new Image;i.onload=t,i.onerror=n,i.crossOrigin="anonymous",i.src=r});return Promise.race([e,xr.wait(3e3)])},getErrorMessage(r){return r instanceof Error?r.message:"Unknown Error"},debounce(r,e=500){let t;return(...n)=>{function i(){r(...n)}t&&clearTimeout(t),t=setTimeout(i,e)}},handleMobileLinking(r){const{walletConnectUri:e}=Ss.state,{mobile:t,name:n}=r,i=t==null?void 0:t.native,s=t==null?void 0:t.universal;Ur.setRecentWallet(r);function o(a){let l="";i?l=xr.formatUniversalUrl(i,a,n):s&&(l=xr.formatNativeUrl(s,a,n)),xr.openHref(l,"_self")}e&&o(e)},handleAndroidLinking(){const{walletConnectUri:r}=Ss.state;r&&(xr.setWalletConnectAndroidDeepLink(r),xr.openHref(r,"_self"))},async handleUriCopy(){const{walletConnectUri:r}=Ss.state;if(r)try{await navigator.clipboard.writeText(r),P1.openToast("Link copied","success")}catch{P1.openToast("Failed to copy","error")}},getCustomImageUrls(){const{walletImages:r}=tl.state,e=Object.values(r??{});return Object.values(e)},truncate(r,e=8){return r.length<=e?r:`${r.substring(0,4)}...${r.substring(r.length-4)}`},setRecentWallet(r){try{localStorage.setItem(Ur.WCM_RECENT_WALLET_DATA,JSON.stringify(r))}catch{console.info("Unable to set recent wallet")}},getRecentWallet(){try{const r=localStorage.getItem(Ur.WCM_RECENT_WALLET_DATA);return r?JSON.parse(r):void 0}catch{console.info("Unable to get recent wallet")}},caseSafeIncludes(r,e){return r.toUpperCase().includes(e.toUpperCase())},openWalletExplorerUrl(){xr.openHref(Ur.EXPLORER_WALLET_URL,"_blank")},getCachedRouterWalletPlatforms(){const{desktop:r,mobile:e}=xr.getWalletRouterData(),t=!!(r!=null&&r.native),n=!!(r!=null&&r.universal),i=!!(e!=null&&e.native)||!!(e!=null&&e.universal);return{isDesktop:t,isMobile:i,isWeb:n}},goToConnectingView(r){is.setData({Wallet:r});const e=xr.isMobile(),{isDesktop:t,isWeb:n,isMobile:i}=Ur.getCachedRouterWalletPlatforms();e?i?is.push("MobileConnecting"):n?is.push("WebConnecting"):is.push("InstallWallet"):t?is.push("DesktopConnecting"):n?is.push("WebConnecting"):i?is.push("MobileQrcodeConnecting"):is.push("InstallWallet")}},Hit=jn`.wcm-router{overflow:hidden;will-change:transform}.wcm-content{display:flex;flex-direction:column}`;var qit=Object.defineProperty,Wit=Object.getOwnPropertyDescriptor,YF=(r,e,t,n)=>{for(var i=n>1?void 0:n?Wit(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&qit(e,t,i),i};let Rx=class extends cn{constructor(){super(),this.view=is.state.view,this.prevView=is.state.view,this.unsubscribe=void 0,this.oldHeight="0px",this.resizeObserver=void 0,this.unsubscribe=is.subscribe(r=>{this.view!==r.view&&this.onChangeRoute()})}firstUpdated(){this.resizeObserver=new ResizeObserver(([r])=>{const e=`${r.contentRect.height}px`;this.oldHeight!=="0px"&&E2(this.routerEl,{height:[this.oldHeight,e]},{duration:.2}),this.oldHeight=e}),this.resizeObserver.observe(this.contentEl)}disconnectedCallback(){var r,e;(r=this.unsubscribe)==null||r.call(this),(e=this.resizeObserver)==null||e.disconnect()}get routerEl(){return Ur.getShadowRootElement(this,".wcm-router")}get contentEl(){return Ur.getShadowRootElement(this,".wcm-content")}viewTemplate(){switch(this.view){case"ConnectWallet":return Yt``;case"DesktopConnecting":return Yt``;case"MobileConnecting":return Yt``;case"WebConnecting":return Yt``;case"MobileQrcodeConnecting":return Yt``;case"WalletExplorer":return Yt``;case"Qrcode":return Yt``;case"InstallWallet":return Yt``;default:return Yt`
Not Found
`}}async onChangeRoute(){await E2(this.routerEl,{opacity:[1,0],scale:[1,1.02]},{duration:.15,delay:.1}).finished,this.view=is.state.view,E2(this.routerEl,{opacity:[0,1],scale:[.99,1]},{duration:.37,delay:.05})}render(){return Yt`
${this.viewTemplate()}
`}};Rx.styles=[wn.globalCss,Hit],YF([Ec()],Rx.prototype,"view",2),YF([Ec()],Rx.prototype,"prevView",2),Rx=YF([_n("wcm-modal-router")],Rx);const Vit=jn`div{height:36px;width:max-content;display:flex;justify-content:center;align-items:center;padding:9px 15px 11px;position:absolute;top:12px;box-shadow:0 6px 14px -6px rgba(10,16,31,.3),0 10px 32px -4px rgba(10,16,31,.15);z-index:2;left:50%;transform:translateX(-50%);pointer-events:none;backdrop-filter:blur(20px) saturate(1.8);-webkit-backdrop-filter:blur(20px) saturate(1.8);border-radius:var(--wcm-notification-border-radius);border:1px solid var(--wcm-color-overlay);background-color:var(--wcm-color-overlay)}svg{margin-right:5px}@-moz-document url-prefix(){div{background-color:var(--wcm-color-bg-3)}}.wcm-success path{fill:var(--wcm-accent-color)}.wcm-error path{fill:var(--wcm-error-color)}`;var Git=Object.defineProperty,Kit=Object.getOwnPropertyDescriptor,Z1e=(r,e,t,n)=>{for(var i=n>1?void 0:n?Kit(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Git(e,t,i),i};let $R=class extends cn{constructor(){super(),this.open=!1,this.unsubscribe=void 0,this.timeout=void 0,this.unsubscribe=P1.subscribe(r=>{r.open?(this.open=!0,this.timeout=setTimeout(()=>P1.closeToast(),2200)):(this.open=!1,clearTimeout(this.timeout))})}disconnectedCallback(){var r;(r=this.unsubscribe)==null||r.call(this),clearTimeout(this.timeout),P1.closeToast()}render(){const{message:r,variant:e}=P1.state,t={"wcm-success":e==="success","wcm-error":e==="error"};return this.open?Yt`
${e==="success"?Jn.CHECKMARK_ICON:null} ${e==="error"?Jn.CROSS_ICON:null}${r}
`:null}};$R.styles=[wn.globalCss,Vit],Z1e([Ec()],$R.prototype,"open",2),$R=Z1e([_n("wcm-modal-toast")],$R);const Zit=.1,J1e=2.5,f0=7;function QF(r,e,t){return r===e?!1:(r-e<0?e-r:r-e)<=t+Zit}function Jit(r,e){const t=Array.prototype.slice.call(Nv.create(r,{errorCorrectionLevel:e}).modules.data,0),n=Math.sqrt(t.length);return t.reduce((i,s,o)=>(o%n===0?i.push([s]):i[i.length-1].push(s))&&i,[])}const Yit={generate(r,e,t){const n="#141414",i="#ffffff",s=[],o=Jit(r,"Q"),a=e/o.length,l=[{x:0,y:0},{x:1,y:0},{x:0,y:1}];l.forEach(({x:y,y:C})=>{const R=(o.length-f0)*a*y,k=(o.length-f0)*a*C,M=.45;for(let O=0;O`)}});const u=Math.floor((t+25)/a),h=o.length/2-u/2,p=o.length/2+u/2-1,g=[];o.forEach((y,C)=>{y.forEach((R,k)=>{if(o[C][k]&&!(Co.length-(f0+1)&&ko.length-(f0+1))&&!(C>h&&Ch&&k{w[y]?w[y].push(C):w[y]=[C]}),Object.entries(w).map(([y,C])=>{const R=C.filter(k=>C.every(M=>!QF(k,M,a)));return[Number(y),R]}).forEach(([y,C])=>{C.forEach(R=>{s.push(hs``)})}),Object.entries(w).filter(([y,C])=>C.length>1).map(([y,C])=>{const R=C.filter(k=>C.some(M=>QF(k,M,a)));return[Number(y),R]}).map(([y,C])=>{C.sort((k,M)=>kO.some(B=>QF(k,B,a)));M?M.push(k):R.push([k])}return[y,R.map(k=>[k[0],k[k.length-1]])]}).forEach(([y,C])=>{C.forEach(([R,k])=>{s.push(hs``)})}),s}},Qit=jn`@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}div{position:relative;user-select:none;display:block;overflow:hidden;aspect-ratio:1/1;animation:fadeIn ease .2s}.wcm-dark{background-color:#fff;border-radius:var(--wcm-container-border-radius);padding:18px;box-shadow:0 2px 5px #000}svg:first-child,wcm-wallet-image{position:absolute;top:50%;left:50%;transform:translateY(-50%) translateX(-50%)}wcm-wallet-image{transform:translateY(-50%) translateX(-50%)}wcm-wallet-image{width:25%;height:25%;border-radius:var(--wcm-wallet-icon-border-radius)}svg:first-child{transform:translateY(-50%) translateX(-50%) scale(.9)}svg:first-child path:first-child{fill:var(--wcm-accent-color)}svg:first-child path:last-child{stroke:var(--wcm-color-overlay)}`;var Xit=Object.defineProperty,est=Object.getOwnPropertyDescriptor,E3=(r,e,t,n)=>{for(var i=n>1?void 0:n?est(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Xit(e,t,i),i};let d0=class extends cn{constructor(){super(...arguments),this.uri="",this.size=0,this.imageId=void 0,this.walletId=void 0,this.imageUrl=void 0}svgTemplate(){const r=N1.state.themeMode==="light"?this.size:this.size-36;return hs`${Yit.generate(this.uri,r,r/4)}`}render(){const r={"wcm-dark":N1.state.themeMode==="dark"};return Yt`
${this.walletId||this.imageUrl?Yt``:Jn.WALLET_CONNECT_ICON_COLORED} ${this.svgTemplate()}
`}};d0.styles=[wn.globalCss,Qit],E3([Yr()],d0.prototype,"uri",2),E3([Yr({type:Number})],d0.prototype,"size",2),E3([Yr()],d0.prototype,"imageId",2),E3([Yr()],d0.prototype,"walletId",2),E3([Yr()],d0.prototype,"imageUrl",2),d0=E3([_n("wcm-qrcode")],d0);const tst=jn`:host{position:relative;height:28px;width:80%}input{width:100%;height:100%;line-height:28px!important;border-radius:var(--wcm-input-border-radius);font-style:normal;font-family:-apple-system,system-ui,BlinkMacSystemFont,'Segoe UI',Roboto,Ubuntu,'Helvetica Neue',sans-serif;font-feature-settings:'case' on;font-weight:500;font-size:16px;letter-spacing:-.03em;padding:0 10px 0 34px;transition:.2s all ease;color:var(--wcm-color-fg-1);background-color:var(--wcm-color-bg-3);box-shadow:inset 0 0 0 1px var(--wcm-color-overlay);caret-color:var(--wcm-accent-color)}input::placeholder{color:var(--wcm-color-fg-2)}svg{left:10px;top:4px;pointer-events:none;position:absolute;width:20px;height:20px}input:focus-within{box-shadow:inset 0 0 0 1px var(--wcm-accent-color)}path{fill:var(--wcm-color-fg-2)}`;var rst=Object.defineProperty,nst=Object.getOwnPropertyDescriptor,Y1e=(r,e,t,n)=>{for(var i=n>1?void 0:n?nst(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&rst(e,t,i),i};let BR=class extends cn{constructor(){super(...arguments),this.onChange=()=>null}render(){return Yt` ${Jn.SEARCH_ICON}`}};BR.styles=[wn.globalCss,tst],Y1e([Yr()],BR.prototype,"onChange",2),BR=Y1e([_n("wcm-search-input")],BR);const ist=jn`@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}svg{animation:rotate 2s linear infinite;display:flex;justify-content:center;align-items:center}svg circle{stroke-linecap:round;animation:dash 1.5s ease infinite;stroke:var(--wcm-accent-color)}`;var sst=Object.defineProperty,ost=Object.getOwnPropertyDescriptor,ast=(r,e,t,n)=>{for(var i=n>1?void 0:n?ost(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&sst(e,t,i),i};let XF=class extends cn{render(){return Yt``}};XF.styles=[wn.globalCss,ist],XF=ast([_n("wcm-spinner")],XF);const cst=jn`span{font-style:normal;font-family:var(--wcm-font-family);font-feature-settings:var(--wcm-font-feature-settings)}.wcm-xsmall-bold{font-family:var(--wcm-text-xsmall-bold-font-family);font-weight:var(--wcm-text-xsmall-bold-weight);font-size:var(--wcm-text-xsmall-bold-size);line-height:var(--wcm-text-xsmall-bold-line-height);letter-spacing:var(--wcm-text-xsmall-bold-letter-spacing);text-transform:var(--wcm-text-xsmall-bold-text-transform)}.wcm-xsmall-regular{font-family:var(--wcm-text-xsmall-regular-font-family);font-weight:var(--wcm-text-xsmall-regular-weight);font-size:var(--wcm-text-xsmall-regular-size);line-height:var(--wcm-text-xsmall-regular-line-height);letter-spacing:var(--wcm-text-xsmall-regular-letter-spacing);text-transform:var(--wcm-text-xsmall-regular-text-transform)}.wcm-small-thin{font-family:var(--wcm-text-small-thin-font-family);font-weight:var(--wcm-text-small-thin-weight);font-size:var(--wcm-text-small-thin-size);line-height:var(--wcm-text-small-thin-line-height);letter-spacing:var(--wcm-text-small-thin-letter-spacing);text-transform:var(--wcm-text-small-thin-text-transform)}.wcm-small-regular{font-family:var(--wcm-text-small-regular-font-family);font-weight:var(--wcm-text-small-regular-weight);font-size:var(--wcm-text-small-regular-size);line-height:var(--wcm-text-small-regular-line-height);letter-spacing:var(--wcm-text-small-regular-letter-spacing);text-transform:var(--wcm-text-small-regular-text-transform)}.wcm-medium-regular{font-family:var(--wcm-text-medium-regular-font-family);font-weight:var(--wcm-text-medium-regular-weight);font-size:var(--wcm-text-medium-regular-size);line-height:var(--wcm-text-medium-regular-line-height);letter-spacing:var(--wcm-text-medium-regular-letter-spacing);text-transform:var(--wcm-text-medium-regular-text-transform)}.wcm-big-bold{font-family:var(--wcm-text-big-bold-font-family);font-weight:var(--wcm-text-big-bold-weight);font-size:var(--wcm-text-big-bold-size);line-height:var(--wcm-text-big-bold-line-height);letter-spacing:var(--wcm-text-big-bold-letter-spacing);text-transform:var(--wcm-text-big-bold-text-transform)}:host(*){color:var(--wcm-color-fg-1)}.wcm-color-primary{color:var(--wcm-color-fg-1)}.wcm-color-secondary{color:var(--wcm-color-fg-2)}.wcm-color-tertiary{color:var(--wcm-color-fg-3)}.wcm-color-inverse{color:var(--wcm-accent-fill-color)}.wcm-color-accnt{color:var(--wcm-accent-color)}.wcm-color-error{color:var(--wcm-error-color)}`;var lst=Object.defineProperty,ust=Object.getOwnPropertyDescriptor,ej=(r,e,t,n)=>{for(var i=n>1?void 0:n?ust(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&lst(e,t,i),i};let Tx=class extends cn{constructor(){super(...arguments),this.variant="medium-regular",this.color="primary"}render(){const r={"wcm-big-bold":this.variant==="big-bold","wcm-medium-regular":this.variant==="medium-regular","wcm-small-regular":this.variant==="small-regular","wcm-small-thin":this.variant==="small-thin","wcm-xsmall-regular":this.variant==="xsmall-regular","wcm-xsmall-bold":this.variant==="xsmall-bold","wcm-color-primary":this.color==="primary","wcm-color-secondary":this.color==="secondary","wcm-color-tertiary":this.color==="tertiary","wcm-color-inverse":this.color==="inverse","wcm-color-accnt":this.color==="accent","wcm-color-error":this.color==="error"};return Yt``}};Tx.styles=[wn.globalCss,cst],ej([Yr()],Tx.prototype,"variant",2),ej([Yr()],Tx.prototype,"color",2),Tx=ej([_n("wcm-text")],Tx);const hst=jn`button{width:100%;height:100%;border-radius:var(--wcm-button-hover-highlight-border-radius);display:flex;align-items:flex-start}button:active{background-color:var(--wcm-color-overlay)}@media(hover:hover){button:hover{background-color:var(--wcm-color-overlay)}}button>div{width:80px;padding:5px 0;display:flex;flex-direction:column;align-items:center}wcm-text{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}wcm-wallet-image{height:60px;width:60px;transition:all .2s ease;border-radius:var(--wcm-wallet-icon-border-radius);margin-bottom:5px}.wcm-sublabel{margin-top:2px}`;var fst=Object.defineProperty,dst=Object.getOwnPropertyDescriptor,B1=(r,e,t,n)=>{for(var i=n>1?void 0:n?dst(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&fst(e,t,i),i};let Ff=class extends cn{constructor(){super(...arguments),this.onClick=()=>null,this.name="",this.walletId="",this.label=void 0,this.imageId=void 0,this.installed=!1,this.recent=!1}sublabelTemplate(){return this.recent?Yt`RECENT`:this.installed?Yt`INSTALLED`:null}handleClick(){t1e.click({name:"WALLET_BUTTON",walletId:this.walletId}),this.onClick()}render(){var r;return Yt``}};Ff.styles=[wn.globalCss,hst],B1([Yr()],Ff.prototype,"onClick",2),B1([Yr()],Ff.prototype,"name",2),B1([Yr()],Ff.prototype,"walletId",2),B1([Yr()],Ff.prototype,"label",2),B1([Yr()],Ff.prototype,"imageId",2),B1([Yr({type:Boolean})],Ff.prototype,"installed",2),B1([Yr({type:Boolean})],Ff.prototype,"recent",2),Ff=B1([_n("wcm-wallet-button")],Ff);const pst=jn`:host{display:block}div{overflow:hidden;position:relative;border-radius:inherit;width:100%;height:100%;background-color:var(--wcm-color-overlay)}svg{position:relative;width:100%;height:100%}div::after{content:'';position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid var(--wcm-color-overlay)}div img{width:100%;height:100%;object-fit:cover;object-position:center}#wallet-placeholder-fill{fill:var(--wcm-color-bg-3)}#wallet-placeholder-dash{stroke:var(--wcm-color-overlay)}`;var gst=Object.defineProperty,mst=Object.getOwnPropertyDescriptor,LR=(r,e,t,n)=>{for(var i=n>1?void 0:n?mst(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&gst(e,t,i),i};let A3=class extends cn{constructor(){super(...arguments),this.walletId="",this.imageId=void 0,this.imageUrl=void 0}render(){var r;const e=(r=this.imageUrl)!=null&&r.length?this.imageUrl:Ur.getWalletIcon({id:this.walletId,image_id:this.imageId});return Yt`${e.length?Yt`
${this.id}
`:Jn.WALLET_PLACEHOLDER}`}};A3.styles=[wn.globalCss,pst],LR([Yr()],A3.prototype,"walletId",2),LR([Yr()],A3.prototype,"imageId",2),LR([Yr()],A3.prototype,"imageUrl",2),A3=LR([_n("wcm-wallet-image")],A3);var bst=Object.defineProperty,wst=Object.getOwnPropertyDescriptor,Q1e=(r,e,t,n)=>{for(var i=n>1?void 0:n?wst(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&bst(e,t,i),i};let tj=class extends cn{constructor(){super(),this.preload=!0,this.preloadData()}async loadImages(r){try{r!=null&&r.length&&await Promise.all(r.map(async e=>Ur.preloadImage(e)))}catch{console.info("Unsuccessful attempt at preloading some images",r)}}async preloadListings(){if(tl.state.enableExplorer){await _c.getRecomendedWallets(),Ss.setIsDataLoaded(!0);const{recomendedWallets:r}=_c.state,e=r.map(t=>Ur.getWalletIcon(t));await this.loadImages(e)}else Ss.setIsDataLoaded(!0)}async preloadCustomImages(){const r=Ur.getCustomImageUrls();await this.loadImages(r)}async preloadData(){try{this.preload&&(this.preload=!1,await Promise.all([this.preloadListings(),this.preloadCustomImages()]))}catch(r){console.error(r),P1.openToast("Failed preloading","error")}}};Q1e([Ec()],tj.prototype,"preload",2),tj=Q1e([_n("wcm-explorer-context")],tj);var vst=Object.defineProperty,yst=Object.getOwnPropertyDescriptor,xst=(r,e,t,n)=>{for(var i=n>1?void 0:n?yst(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&vst(e,t,i),i};let X1e=class extends cn{constructor(){super(),this.unsubscribeTheme=void 0,wn.setTheme(),this.unsubscribeTheme=N1.subscribe(wn.setTheme)}disconnectedCallback(){var r;(r=this.unsubscribeTheme)==null||r.call(this)}};X1e=xst([_n("wcm-theme-context")],X1e);const _st=jn`@keyframes scroll{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(calc(-70px * 9),0,0)}}.wcm-slider{position:relative;overflow-x:hidden;padding:10px 0;margin:0 -20px;width:calc(100% + 40px)}.wcm-track{display:flex;width:calc(70px * 18);animation:scroll 20s linear infinite;opacity:.7}.wcm-track svg{margin:0 5px}wcm-wallet-image{width:60px;height:60px;margin:0 5px;border-radius:var(--wcm-wallet-icon-border-radius)}.wcm-grid{display:grid;grid-template-columns:repeat(4,80px);justify-content:space-between}.wcm-title{display:flex;align-items:center;margin-bottom:10px}.wcm-title svg{margin-right:6px}.wcm-title path{fill:var(--wcm-accent-color)}wcm-modal-footer .wcm-title{padding:0 10px}wcm-button-big{position:absolute;top:50%;left:50%;transform:translateY(-50%) translateX(-50%);filter:drop-shadow(0 0 17px var(--wcm-color-bg-1))}wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-info-footer wcm-text{text-align:center;margin-bottom:15px}#wallet-placeholder-fill{fill:var(--wcm-color-bg-3)}#wallet-placeholder-dash{stroke:var(--wcm-color-overlay)}`;var Est=Object.defineProperty,Ast=Object.getOwnPropertyDescriptor,Cst=(r,e,t,n)=>{for(var i=n>1?void 0:n?Ast(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Est(e,t,i),i};let rj=class extends cn{onGoToQrcode(){is.push("Qrcode")}render(){const{recomendedWallets:r}=_c.state,e=[...r,...r],t=xr.RECOMMENDED_WALLET_AMOUNT*2;return Yt`
${Jn.MOBILE_ICON}WalletConnect
${[...Array(t)].map((n,i)=>{const s=e[i%e.length];return s?Yt``:Jn.WALLET_PLACEHOLDER})}
Select Wallet
Choose WalletConnect to see supported apps on your device`}};rj.styles=[wn.globalCss,_st],rj=Cst([_n("wcm-android-wallet-selection")],rj);const Sst=jn`@keyframes loading{to{stroke-dashoffset:0}}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(1px,0,0)}30%,50%,70%{transform:translate3d(-2px,0,0)}40%,60%{transform:translate3d(2px,0,0)}}:host{display:flex;flex-direction:column;align-items:center}div{position:relative;width:110px;height:110px;display:flex;justify-content:center;align-items:center;margin:40px 0 20px 0;transform:translate3d(0,0,0)}svg{position:absolute;width:110px;height:110px;fill:none;stroke:transparent;stroke-linecap:round;stroke-width:2px;top:0;left:0}use{stroke:var(--wcm-accent-color);animation:loading 1s linear infinite}wcm-wallet-image{border-radius:var(--wcm-wallet-icon-large-border-radius);width:90px;height:90px}wcm-text{margin-bottom:40px}.wcm-error svg{stroke:var(--wcm-error-color)}.wcm-error use{display:none}.wcm-error{animation:shake .4s cubic-bezier(.36,.07,.19,.97) both}.wcm-stale svg,.wcm-stale use{display:none}`;var Ist=Object.defineProperty,Rst=Object.getOwnPropertyDescriptor,C3=(r,e,t,n)=>{for(var i=n>1?void 0:n?Rst(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Ist(e,t,i),i};let L1=class extends cn{constructor(){super(...arguments),this.walletId=void 0,this.imageId=void 0,this.isError=!1,this.isStale=!1,this.label=""}svgLoaderTemplate(){var r,e;const t=(e=(r=N1.state.themeVariables)==null?void 0:r["--wcm-wallet-icon-large-border-radius"])!=null?e:wn.getPreset("--wcm-wallet-icon-large-border-radius");let n=0;t.includes("%")?n=88/100*parseInt(t,10):n=parseInt(t,10),n*=1.17;const i=317-n*1.57,s=425-n*1.8;return Yt``}render(){const r={"wcm-error":this.isError,"wcm-stale":this.isStale};return Yt`
${this.svgLoaderTemplate()}
${this.isError?"Connection declined":this.label}`}};L1.styles=[wn.globalCss,Sst],C3([Yr()],L1.prototype,"walletId",2),C3([Yr()],L1.prototype,"imageId",2),C3([Yr({type:Boolean})],L1.prototype,"isError",2),C3([Yr({type:Boolean})],L1.prototype,"isStale",2),C3([Yr()],L1.prototype,"label",2),L1=C3([_n("wcm-connector-waiting")],L1);const S3={manualWallets(){var r,e;const{mobileWallets:t,desktopWallets:n}=tl.state,i=(r=S3.recentWallet())==null?void 0:r.id,s=xr.isMobile()?t:n,o=s==null?void 0:s.filter(a=>i!==a.id);return(e=xr.isMobile()?o==null?void 0:o.map(({id:a,name:l,links:u})=>({id:a,name:l,mobile:u,links:u})):o==null?void 0:o.map(({id:a,name:l,links:u})=>({id:a,name:l,desktop:u,links:u})))!=null?e:[]},recentWallet(){return Ur.getRecentWallet()},recomendedWallets(r=!1){var e;const t=r||(e=S3.recentWallet())==null?void 0:e.id,{recomendedWallets:n}=_c.state;return n.filter(i=>t!==i.id)}},U1={onConnecting(r){Ur.goToConnectingView(r)},manualWalletsTemplate(){return S3.manualWallets().map(r=>Yt``)},recomendedWalletsTemplate(r=!1){return S3.recomendedWallets(r).map(e=>Yt``)},recentWalletTemplate(){const r=S3.recentWallet();if(r)return Yt``}},Tst=jn`.wcm-grid{display:grid;grid-template-columns:repeat(4,80px);justify-content:space-between}.wcm-desktop-title,.wcm-mobile-title{display:flex;align-items:center}.wcm-mobile-title{justify-content:space-between;margin-bottom:20px;margin-top:-10px}.wcm-desktop-title{margin-bottom:10px;padding:0 10px}.wcm-subtitle{display:flex;align-items:center}.wcm-subtitle:last-child path{fill:var(--wcm-color-fg-3)}.wcm-desktop-title svg,.wcm-mobile-title svg{margin-right:6px}.wcm-desktop-title path,.wcm-mobile-title path{fill:var(--wcm-accent-color)}`;var kst=Object.defineProperty,Mst=Object.getOwnPropertyDescriptor,Nst=(r,e,t,n)=>{for(var i=n>1?void 0:n?Mst(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&kst(e,t,i),i};let nj=class extends cn{render(){const{explorerExcludedWalletIds:r,enableExplorer:e}=tl.state,t=r!=="ALL"&&e,n=U1.manualWalletsTemplate(),i=U1.recomendedWalletsTemplate();let s=[U1.recentWalletTemplate(),...n,...i];s=s.filter(Boolean);const o=s.length>4||t;let a=[];o?a=s.slice(0,3):a=s;const l=!!a.length;return Yt`
${Jn.MOBILE_ICON}Mobile
${Jn.SCAN_ICON}Scan with your wallet
${l?Yt`
${Jn.DESKTOP_ICON}Desktop
${a} ${o?Yt``:null}
`:null}`}};nj.styles=[wn.globalCss,Tst],nj=Nst([_n("wcm-desktop-wallet-selection")],nj);const Pst=jn`div{background-color:var(--wcm-color-bg-2);padding:10px 20px 15px 20px;border-top:1px solid var(--wcm-color-bg-3);text-align:center}a{color:var(--wcm-accent-color);text-decoration:none;transition:opacity .2s ease-in-out;display:inline}a:active{opacity:.8}@media(hover:hover){a:hover{opacity:.8}}`;var Ost=Object.defineProperty,Dst=Object.getOwnPropertyDescriptor,$st=(r,e,t,n)=>{for(var i=n>1?void 0:n?Dst(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Ost(e,t,i),i};let ij=class extends cn{render(){const{termsOfServiceUrl:r,privacyPolicyUrl:e}=tl.state;return r??e?Yt`
By connecting your wallet to this app, you agree to the app's ${r?Yt`Terms of Service`:null} ${r&&e?"and":null} ${e?Yt`Privacy Policy`:null}
`:null}};ij.styles=[wn.globalCss,Pst],ij=$st([_n("wcm-legal-notice")],ij);const Bst=jn`div{display:grid;grid-template-columns:repeat(4,80px);margin:0 -10px;justify-content:space-between;row-gap:10px}`;var Lst=Object.defineProperty,Ust=Object.getOwnPropertyDescriptor,Fst=(r,e,t,n)=>{for(var i=n>1?void 0:n?Ust(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Lst(e,t,i),i};let sj=class extends cn{onQrcode(){is.push("Qrcode")}render(){const{explorerExcludedWalletIds:r,enableExplorer:e}=tl.state,t=r!=="ALL"&&e,n=U1.manualWalletsTemplate(),i=U1.recomendedWalletsTemplate();let s=[U1.recentWalletTemplate(),...n,...i];s=s.filter(Boolean);const o=s.length>8||t;let a=[];o?a=s.slice(0,7):a=s;const l=!!a.length;return Yt`${l?Yt`
${a} ${o?Yt``:null}
`:null}`}};sj.styles=[wn.globalCss,Bst],sj=Fst([_n("wcm-mobile-wallet-selection")],sj);const jst=jn`:host{all:initial}.wcm-overlay{top:0;bottom:0;left:0;right:0;position:fixed;z-index:var(--wcm-z-index);overflow:hidden;display:flex;justify-content:center;align-items:center;opacity:0;pointer-events:none;background-color:var(--wcm-overlay-background-color);backdrop-filter:var(--wcm-overlay-backdrop-filter)}@media(max-height:720px) and (orientation:landscape){.wcm-overlay{overflow:scroll;align-items:flex-start;padding:20px 0}}.wcm-active{pointer-events:auto}.wcm-container{position:relative;max-width:360px;width:100%;outline:0;border-radius:var(--wcm-background-border-radius) var(--wcm-background-border-radius) var(--wcm-container-border-radius) var(--wcm-container-border-radius);border:1px solid var(--wcm-color-overlay);overflow:hidden}.wcm-card{width:100%;position:relative;border-radius:var(--wcm-container-border-radius);overflow:hidden;box-shadow:0 6px 14px -6px rgba(10,16,31,.12),0 10px 32px -4px rgba(10,16,31,.1),0 0 0 1px var(--wcm-color-overlay);background-color:var(--wcm-color-bg-1);color:var(--wcm-color-fg-1)}@media(max-width:600px){.wcm-container{max-width:440px;border-radius:var(--wcm-background-border-radius) var(--wcm-background-border-radius) 0 0}.wcm-card{border-radius:var(--wcm-container-border-radius) var(--wcm-container-border-radius) 0 0}.wcm-overlay{align-items:flex-end}}@media(max-width:440px){.wcm-container{border:0}}`;var zst=Object.defineProperty,Hst=Object.getOwnPropertyDescriptor,oj=(r,e,t,n)=>{for(var i=n>1?void 0:n?Hst(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&zst(e,t,i),i};let I3=class extends cn{constructor(){super(),this.open=!1,this.active=!1,this.unsubscribeModal=void 0,this.abortController=void 0,this.unsubscribeModal=b2.subscribe(r=>{r.open?this.onOpenModalEvent():this.onCloseModalEvent()})}disconnectedCallback(){var r;(r=this.unsubscribeModal)==null||r.call(this)}get overlayEl(){return Ur.getShadowRootElement(this,".wcm-overlay")}get containerEl(){return Ur.getShadowRootElement(this,".wcm-container")}toggleBodyScroll(r){if(document.querySelector("body"))if(r){const e=document.getElementById("wcm-styles");e==null||e.remove()}else document.head.insertAdjacentHTML("beforeend",'')}onCloseModal(r){r.target===r.currentTarget&&b2.close()}onOpenModalEvent(){this.toggleBodyScroll(!1),this.addKeyboardEvents(),this.open=!0,setTimeout(async()=>{const r=Ur.isMobileAnimation()?{y:["50vh","0vh"]}:{scale:[.98,1]},e=.1,t=.2;await Promise.all([E2(this.overlayEl,{opacity:[0,1]},{delay:e,duration:t}).finished,E2(this.containerEl,r,{delay:e,duration:t}).finished]),this.active=!0},0)}async onCloseModalEvent(){this.toggleBodyScroll(!0),this.removeKeyboardEvents();const r=Ur.isMobileAnimation()?{y:["0vh","50vh"]}:{scale:[1,.98]},e=.2;await Promise.all([E2(this.overlayEl,{opacity:[1,0]},{duration:e}).finished,E2(this.containerEl,r,{duration:e}).finished]),this.containerEl.removeAttribute("style"),this.active=!1,this.open=!1}addKeyboardEvents(){this.abortController=new AbortController,window.addEventListener("keydown",r=>{var e;r.key==="Escape"?b2.close():r.key==="Tab"&&((e=r.target)!=null&&e.tagName.includes("wcm-")||this.containerEl.focus())},this.abortController),this.containerEl.focus()}removeKeyboardEvents(){var r;(r=this.abortController)==null||r.abort(),this.abortController=void 0}render(){const r={"wcm-overlay":!0,"wcm-active":this.active};return Yt`
${this.open?Yt`
`:null}
`}};I3.styles=[wn.globalCss,jst],oj([Ec()],I3.prototype,"open",2),oj([Ec()],I3.prototype,"active",2),I3=oj([_n("wcm-modal")],I3);const qst=jn`div{display:flex;margin-top:15px}slot{display:inline-block;margin:0 5px}wcm-button{margin:0 5px}`;var Wst=Object.defineProperty,Vst=Object.getOwnPropertyDescriptor,kx=(r,e,t,n)=>{for(var i=n>1?void 0:n?Vst(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Wst(e,t,i),i};let C2=class extends cn{constructor(){super(...arguments),this.isMobile=!1,this.isDesktop=!1,this.isWeb=!1,this.isRetry=!1}onMobile(){xr.isMobile()?is.replace("MobileConnecting"):is.replace("MobileQrcodeConnecting")}onDesktop(){is.replace("DesktopConnecting")}onWeb(){is.replace("WebConnecting")}render(){return Yt`
${this.isRetry?Yt``:null} ${this.isMobile?Yt`Mobile`:null} ${this.isDesktop?Yt`Desktop`:null} ${this.isWeb?Yt`Web`:null}
`}};C2.styles=[wn.globalCss,qst],kx([Yr({type:Boolean})],C2.prototype,"isMobile",2),kx([Yr({type:Boolean})],C2.prototype,"isDesktop",2),kx([Yr({type:Boolean})],C2.prototype,"isWeb",2),kx([Yr({type:Boolean})],C2.prototype,"isRetry",2),C2=kx([_n("wcm-platform-selection")],C2);const Gst=jn`button{display:flex;flex-direction:column;padding:5px 10px;border-radius:var(--wcm-button-hover-highlight-border-radius);height:100%;justify-content:flex-start}.wcm-icons{width:60px;height:60px;display:flex;flex-wrap:wrap;padding:7px;border-radius:var(--wcm-wallet-icon-border-radius);justify-content:space-between;align-items:center;margin-bottom:5px;background-color:var(--wcm-color-bg-2);box-shadow:inset 0 0 0 1px var(--wcm-color-overlay)}button:active{background-color:var(--wcm-color-overlay)}@media(hover:hover){button:hover{background-color:var(--wcm-color-overlay)}}.wcm-icons img{width:21px;height:21px;object-fit:cover;object-position:center;border-radius:calc(var(--wcm-wallet-icon-border-radius)/ 2);border:1px solid var(--wcm-color-overlay)}.wcm-icons svg{width:21px;height:21px}.wcm-icons img:nth-child(1),.wcm-icons img:nth-child(2),.wcm-icons svg:nth-child(1),.wcm-icons svg:nth-child(2){margin-bottom:4px}wcm-text{width:100%;text-align:center}#wallet-placeholder-fill{fill:var(--wcm-color-bg-3)}#wallet-placeholder-dash{stroke:var(--wcm-color-overlay)}`;var Kst=Object.defineProperty,Zst=Object.getOwnPropertyDescriptor,Jst=(r,e,t,n)=>{for(var i=n>1?void 0:n?Zst(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Kst(e,t,i),i};let aj=class extends cn{onClick(){is.push("WalletExplorer")}render(){const{recomendedWallets:r}=_c.state,e=S3.manualWallets(),t=[...r,...e].reverse().slice(0,4);return Yt``}};aj.styles=[wn.globalCss,Gst],aj=Jst([_n("wcm-view-all-wallets-button")],aj);const Yst=jn`.wcm-qr-container{width:100%;display:flex;justify-content:center;align-items:center;aspect-ratio:1/1}`;var Qst=Object.defineProperty,Xst=Object.getOwnPropertyDescriptor,UR=(r,e,t,n)=>{for(var i=n>1?void 0:n?Xst(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Qst(e,t,i),i};let R3=class extends cn{constructor(){super(),this.walletId="",this.imageId="",this.uri="",setTimeout(()=>{const{walletConnectUri:r}=Ss.state;this.uri=r},0)}get overlayEl(){return Ur.getShadowRootElement(this,".wcm-qr-container")}render(){return Yt`
${this.uri?Yt``:Yt``}
`}};R3.styles=[wn.globalCss,Yst],UR([Yr()],R3.prototype,"walletId",2),UR([Yr()],R3.prototype,"imageId",2),UR([Ec()],R3.prototype,"uri",2),R3=UR([_n("wcm-walletconnect-qr")],R3);var eot=Object.defineProperty,tot=Object.getOwnPropertyDescriptor,rot=(r,e,t,n)=>{for(var i=n>1?void 0:n?tot(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&eot(e,t,i),i};let cj=class extends cn{viewTemplate(){return xr.isAndroid()?Yt``:xr.isMobile()?Yt``:Yt``}render(){return Yt`${this.viewTemplate()}`}};cj.styles=[wn.globalCss],cj=rot([_n("wcm-connect-wallet-view")],cj);const not=jn`wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-text{text-align:center}`;var iot=Object.defineProperty,sot=Object.getOwnPropertyDescriptor,ege=(r,e,t,n)=>{for(var i=n>1?void 0:n?sot(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&iot(e,t,i),i};let FR=class extends cn{constructor(){super(),this.isError=!1,this.openDesktopApp()}onFormatAndRedirect(r){const{desktop:e,name:t}=xr.getWalletRouterData(),n=e==null?void 0:e.native;if(n){const i=xr.formatNativeUrl(n,r,t);xr.openHref(i,"_self")}}openDesktopApp(){const{walletConnectUri:r}=Ss.state,e=xr.getWalletRouterData();Ur.setRecentWallet(e),r&&this.onFormatAndRedirect(r)}render(){const{name:r,id:e,image_id:t}=xr.getWalletRouterData(),{isMobile:n,isWeb:i}=Ur.getCachedRouterWalletPlatforms();return Yt`${`Connection can continue loading if ${r} is not installed on your device`}Retry`}};FR.styles=[wn.globalCss,not],ege([Ec()],FR.prototype,"isError",2),FR=ege([_n("wcm-desktop-connecting-view")],FR);const oot=jn`wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-text{text-align:center}wcm-button{margin-top:15px}`;var aot=Object.defineProperty,cot=Object.getOwnPropertyDescriptor,lot=(r,e,t,n)=>{for(var i=n>1?void 0:n?cot(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&aot(e,t,i),i};let lj=class extends cn{onInstall(r){r&&xr.openHref(r,"_blank")}render(){const{name:r,id:e,image_id:t,homepage:n}=xr.getWalletRouterData();return Yt`${`Download ${r} to continue. If multiple browser extensions are installed, disable non ${r} ones and try again`}Download`}};lj.styles=[wn.globalCss,oot],lj=lot([_n("wcm-install-wallet-view")],lj);const uot=jn`wcm-wallet-image{border-radius:var(--wcm-wallet-icon-large-border-radius);width:96px;height:96px;margin-bottom:20px}wcm-info-footer{display:flex;width:100%}.wcm-app-store{justify-content:space-between}.wcm-app-store wcm-wallet-image{margin-right:10px;margin-bottom:0;width:28px;height:28px;border-radius:var(--wcm-wallet-icon-small-border-radius)}.wcm-app-store div{display:flex;align-items:center}.wcm-app-store wcm-button{margin-right:-10px}.wcm-note{flex-direction:column;align-items:center;padding:5px 0}.wcm-note wcm-text{text-align:center}wcm-platform-selection{margin-top:-15px}.wcm-note wcm-text{margin-top:15px}.wcm-note wcm-text span{color:var(--wcm-accent-color)}`;var hot=Object.defineProperty,fot=Object.getOwnPropertyDescriptor,tge=(r,e,t,n)=>{for(var i=n>1?void 0:n?fot(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&hot(e,t,i),i};let jR=class extends cn{constructor(){super(),this.isError=!1,this.openMobileApp()}onFormatAndRedirect(r,e=!1){const{mobile:t,name:n}=xr.getWalletRouterData(),i=t==null?void 0:t.native,s=t==null?void 0:t.universal;if(i&&!e){const o=xr.formatNativeUrl(i,r,n);xr.openHref(o,"_self")}else if(s){const o=xr.formatUniversalUrl(s,r,n);xr.openHref(o,"_self")}}openMobileApp(r=!1){const{walletConnectUri:e}=Ss.state,t=xr.getWalletRouterData();Ur.setRecentWallet(t),e&&this.onFormatAndRedirect(e,r)}onGoToAppStore(r){r&&xr.openHref(r,"_blank")}render(){const{name:r,id:e,image_id:t,app:n,mobile:i}=xr.getWalletRouterData(),{isWeb:s}=Ur.getCachedRouterWalletPlatforms(),o=n==null?void 0:n.ios,a=i==null?void 0:i.universal;return Yt`Retry${a?Yt`Still doesn't work? Try this alternate link`:null}
${`Get ${r}`}
App Store
`}};jR.styles=[wn.globalCss,uot],tge([Ec()],jR.prototype,"isError",2),jR=tge([_n("wcm-mobile-connecting-view")],jR);const dot=jn`wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-text{text-align:center}`;var pot=Object.defineProperty,got=Object.getOwnPropertyDescriptor,mot=(r,e,t,n)=>{for(var i=n>1?void 0:n?got(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&pot(e,t,i),i};let uj=class extends cn{render(){const{name:r,id:e,image_id:t}=xr.getWalletRouterData(),{isDesktop:n,isWeb:i}=Ur.getCachedRouterWalletPlatforms();return Yt`${`Scan this QR Code with your phone's camera or inside ${r} app`}`}};uj.styles=[wn.globalCss,dot],uj=mot([_n("wcm-mobile-qr-connecting-view")],uj);var bot=Object.defineProperty,wot=Object.getOwnPropertyDescriptor,vot=(r,e,t,n)=>{for(var i=n>1?void 0:n?wot(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&bot(e,t,i),i};let hj=class extends cn{render(){return Yt``}};hj.styles=[wn.globalCss],hj=vot([_n("wcm-qrcode-view")],hj);const yot=jn`wcm-modal-content{height:clamp(200px,60vh,600px);display:block;overflow:scroll;scrollbar-width:none;position:relative;margin-top:1px}.wcm-grid{display:grid;grid-template-columns:repeat(4,80px);justify-content:space-between;margin:-15px -10px;padding-top:20px}wcm-modal-content::after,wcm-modal-content::before{content:'';position:fixed;pointer-events:none;z-index:1;width:100%;height:20px;opacity:1}wcm-modal-content::before{box-shadow:0 -1px 0 0 var(--wcm-color-bg-1);background:linear-gradient(var(--wcm-color-bg-1),rgba(255,255,255,0))}wcm-modal-content::after{box-shadow:0 1px 0 0 var(--wcm-color-bg-1);background:linear-gradient(rgba(255,255,255,0),var(--wcm-color-bg-1));top:calc(100% - 20px)}wcm-modal-content::-webkit-scrollbar{display:none}.wcm-placeholder-block{display:flex;justify-content:center;align-items:center;height:100px;overflow:hidden}.wcm-empty,.wcm-loading{display:flex}.wcm-loading .wcm-placeholder-block{height:100%}.wcm-end-reached .wcm-placeholder-block{height:0;opacity:0}.wcm-empty .wcm-placeholder-block{opacity:1;height:100%}wcm-wallet-button{margin:calc((100% - 60px)/ 3) 0}`;var xot=Object.defineProperty,_ot=Object.getOwnPropertyDescriptor,Mx=(r,e,t,n)=>{for(var i=n>1?void 0:n?_ot(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&xot(e,t,i),i};const fj=40;let S2=class extends cn{constructor(){super(...arguments),this.loading=!_c.state.wallets.listings.length,this.firstFetch=!_c.state.wallets.listings.length,this.search="",this.endReached=!1,this.intersectionObserver=void 0,this.searchDebounce=Ur.debounce(r=>{r.length>=1?(this.firstFetch=!0,this.endReached=!1,this.search=r,_c.resetSearch(),this.fetchWallets()):this.search&&(this.search="",this.endReached=this.isLastPage(),_c.resetSearch())})}firstUpdated(){this.createPaginationObserver()}disconnectedCallback(){var r;(r=this.intersectionObserver)==null||r.disconnect()}get placeholderEl(){return Ur.getShadowRootElement(this,".wcm-placeholder-block")}createPaginationObserver(){this.intersectionObserver=new IntersectionObserver(([r])=>{r.isIntersecting&&!(this.search&&this.firstFetch)&&this.fetchWallets()}),this.intersectionObserver.observe(this.placeholderEl)}isLastPage(){const{wallets:r,search:e}=_c.state,{listings:t,total:n}=this.search?e:r;return n<=fj||t.length>=n}async fetchWallets(){var r;const{wallets:e,search:t}=_c.state,{listings:n,total:i,page:s}=this.search?t:e;if(!this.endReached&&(this.firstFetch||i>fj&&n.lengthUr.getWalletIcon(u));await Promise.all([...l.map(async u=>Ur.preloadImage(u)),xr.wait(300)]),this.endReached=this.isLastPage()}catch(o){console.error(o),P1.openToast(Ur.getErrorMessage(o),"error")}finally{this.loading=!1,this.firstFetch=!1}}onConnect(r){xr.isAndroid()?Ur.handleMobileLinking(r):Ur.goToConnectingView(r)}onSearchChange(r){const{value:e}=r.target;this.searchDebounce(e)}render(){const{wallets:r,search:e}=_c.state,{listings:t}=this.search?e:r,n=this.loading&&!t.length,i=this.search.length>=3;let s=U1.manualWalletsTemplate(),o=U1.recomendedWalletsTemplate(!0);i&&(s=s.filter(({values:u})=>Ur.caseSafeIncludes(u[0],this.search)),o=o.filter(({values:u})=>Ur.caseSafeIncludes(u[0],this.search)));const a=!this.loading&&!t.length&&!o.length,l={"wcm-loading":n,"wcm-end-reached":this.endReached||!this.loading,"wcm-empty":a};return Yt`
${n?null:s} ${n?null:o} ${n?null:t.map(u=>Yt`${u?Yt``:null}`)}
${a?Yt`No results found`:null} ${!a&&this.loading?Yt``:null}
`}};S2.styles=[wn.globalCss,yot],Mx([Ec()],S2.prototype,"loading",2),Mx([Ec()],S2.prototype,"firstFetch",2),Mx([Ec()],S2.prototype,"search",2),Mx([Ec()],S2.prototype,"endReached",2),S2=Mx([_n("wcm-wallet-explorer-view")],S2);const Eot=jn`wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-text{text-align:center}`;var Aot=Object.defineProperty,Cot=Object.getOwnPropertyDescriptor,rge=(r,e,t,n)=>{for(var i=n>1?void 0:n?Cot(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Aot(e,t,i),i};let zR=class extends cn{constructor(){super(),this.isError=!1,this.openWebWallet()}onFormatAndRedirect(r){const{desktop:e,name:t}=xr.getWalletRouterData(),n=e==null?void 0:e.universal;if(n){const i=xr.formatUniversalUrl(n,r,t);xr.openHref(i,"_blank")}}openWebWallet(){const{walletConnectUri:r}=Ss.state,e=xr.getWalletRouterData();Ur.setRecentWallet(e),r&&this.onFormatAndRedirect(r)}render(){const{name:r,id:e,image_id:t}=xr.getWalletRouterData(),{isMobile:n,isDesktop:i}=Ur.getCachedRouterWalletPlatforms(),s=xr.isMobile();return Yt`${`${r} web app has opened in a new tab. Go there, accept the connection, and come back`}Retry`}};zR.styles=[wn.globalCss,Eot],rge([Ec()],zR.prototype,"isError",2),zR=rge([_n("wcm-web-connecting-view")],zR);const Sot=Object.freeze(Object.defineProperty({__proto__:null,get WcmModal(){return I3},get WcmQrCode(){return d0}},Symbol.toStringTag,{value:"Module"}));Kr.Provider=Id,Kr.assets=wxe,Kr.browser=Grt,Kr.ethers=L4e,Kr.models=yxe,Kr.networks=VM,Kr.services=_xe,Kr.types=Fge,Kr.utils=Bwe,Object.defineProperty(Kr,Symbol.toStringTag,{value:"Module"})}); + */const Wa=r=>r??Qs;var iit=Object.defineProperty,W1e=Object.getOwnPropertySymbols,sit=Object.prototype.hasOwnProperty,oit=Object.prototype.propertyIsEnumerable,V1e=(r,e,t)=>e in r?iit(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,LF=(r,e)=>{for(var t in e||(e={}))sit.call(e,t)&&V1e(r,t,e[t]);if(W1e)for(var t of W1e(e))oit.call(e,t)&&V1e(r,t,e[t]);return r};function ait(){var r;const e=(r=k1.state.themeMode)!=null?r:"dark",t={light:{foreground:{1:"rgb(20,20,20)",2:"rgb(121,134,134)",3:"rgb(158,169,169)"},background:{1:"rgb(255,255,255)",2:"rgb(241,243,243)",3:"rgb(228,231,231)"},overlay:"rgba(0,0,0,0.1)"},dark:{foreground:{1:"rgb(228,231,231)",2:"rgb(148,158,158)",3:"rgb(110,119,119)"},background:{1:"rgb(20,20,20)",2:"rgb(39,42,42)",3:"rgb(59,64,64)"},overlay:"rgba(255,255,255,0.1)"}}[e];return{"--wcm-color-fg-1":t.foreground[1],"--wcm-color-fg-2":t.foreground[2],"--wcm-color-fg-3":t.foreground[3],"--wcm-color-bg-1":t.background[1],"--wcm-color-bg-2":t.background[2],"--wcm-color-bg-3":t.background[3],"--wcm-color-overlay":t.overlay}}function G1e(){return{"--wcm-accent-color":"#3396FF","--wcm-accent-fill-color":"#FFFFFF","--wcm-z-index":"89","--wcm-background-color":"#3396FF","--wcm-background-border-radius":"8px","--wcm-container-border-radius":"30px","--wcm-wallet-icon-border-radius":"15px","--wcm-wallet-icon-large-border-radius":"30px","--wcm-wallet-icon-small-border-radius":"7px","--wcm-input-border-radius":"28px","--wcm-button-border-radius":"10px","--wcm-notification-border-radius":"36px","--wcm-secondary-button-border-radius":"28px","--wcm-icon-button-border-radius":"50%","--wcm-button-hover-highlight-border-radius":"10px","--wcm-text-big-bold-size":"20px","--wcm-text-big-bold-weight":"600","--wcm-text-big-bold-line-height":"24px","--wcm-text-big-bold-letter-spacing":"-0.03em","--wcm-text-big-bold-text-transform":"none","--wcm-text-xsmall-bold-size":"10px","--wcm-text-xsmall-bold-weight":"700","--wcm-text-xsmall-bold-line-height":"12px","--wcm-text-xsmall-bold-letter-spacing":"0.02em","--wcm-text-xsmall-bold-text-transform":"uppercase","--wcm-text-xsmall-regular-size":"12px","--wcm-text-xsmall-regular-weight":"600","--wcm-text-xsmall-regular-line-height":"14px","--wcm-text-xsmall-regular-letter-spacing":"-0.03em","--wcm-text-xsmall-regular-text-transform":"none","--wcm-text-small-thin-size":"14px","--wcm-text-small-thin-weight":"500","--wcm-text-small-thin-line-height":"16px","--wcm-text-small-thin-letter-spacing":"-0.03em","--wcm-text-small-thin-text-transform":"none","--wcm-text-small-regular-size":"14px","--wcm-text-small-regular-weight":"600","--wcm-text-small-regular-line-height":"16px","--wcm-text-small-regular-letter-spacing":"-0.03em","--wcm-text-small-regular-text-transform":"none","--wcm-text-medium-regular-size":"16px","--wcm-text-medium-regular-weight":"600","--wcm-text-medium-regular-line-height":"20px","--wcm-text-medium-regular-letter-spacing":"-0.03em","--wcm-text-medium-regular-text-transform":"none","--wcm-font-family":"-apple-system, system-ui, BlinkMacSystemFont, 'Segoe UI', Roboto, Ubuntu, 'Helvetica Neue', sans-serif","--wcm-font-feature-settings":"'tnum' on, 'lnum' on, 'case' on","--wcm-success-color":"rgb(38,181,98)","--wcm-error-color":"rgb(242, 90, 103)","--wcm-overlay-background-color":"rgba(0, 0, 0, 0.3)","--wcm-overlay-backdrop-filter":"none"}}const yn={getPreset(r){return G1e()[r]},setTheme(){const r=document.querySelector(":root"),{themeVariables:e}=k1.state;if(r){const t=LF(LF(LF({},ait()),G1e()),e);Object.entries(t).forEach(([n,i])=>r.style.setProperty(n,i))}},globalCss:Hn`*,::after,::before{margin:0;padding:0;box-sizing:border-box;font-style:normal;text-rendering:optimizeSpeed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;backface-visibility:hidden}button{cursor:pointer;display:flex;justify-content:center;align-items:center;position:relative;border:none;background-color:transparent;transition:all .2s ease}@media (hover:hover) and (pointer:fine){button:active{transition:all .1s ease;transform:scale(.93)}}button::after{content:'';position:absolute;top:0;bottom:0;left:0;right:0;transition:background-color,.2s ease}button:disabled{cursor:not-allowed}button svg,button wcm-text{position:relative;z-index:1}input{border:none;outline:0;appearance:none}img{display:block}::selection{color:var(--wcm-accent-fill-color);background:var(--wcm-accent-color)}`},cit=Hn`button{border-radius:var(--wcm-secondary-button-border-radius);height:28px;padding:0 10px;background-color:var(--wcm-accent-color)}button path{fill:var(--wcm-accent-fill-color)}button::after{border-radius:inherit;border:1px solid var(--wcm-color-overlay)}button:disabled::after{background-color:transparent}.wcm-icon-left svg{margin-right:5px}.wcm-icon-right svg{margin-left:5px}button:active::after{background-color:var(--wcm-color-overlay)}.wcm-ghost,.wcm-ghost:active::after,.wcm-outline{background-color:transparent}.wcm-ghost:active{opacity:.5}@media(hover:hover){button:hover::after{background-color:var(--wcm-color-overlay)}.wcm-ghost:hover::after{background-color:transparent}.wcm-ghost:hover{opacity:.5}}button:disabled{background-color:var(--wcm-color-bg-3);pointer-events:none}.wcm-ghost::after{border-color:transparent}.wcm-ghost path{fill:var(--wcm-color-fg-2)}.wcm-outline path{fill:var(--wcm-accent-color)}.wcm-outline:disabled{background-color:transparent;opacity:.5}`;var lit=Object.defineProperty,uit=Object.getOwnPropertyDescriptor,y3=(r,e,t,n)=>{for(var i=n>1?void 0:n?uit(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&lit(e,t,i),i};let O1=class extends ln{constructor(){super(...arguments),this.disabled=!1,this.iconLeft=void 0,this.iconRight=void 0,this.onClick=()=>null,this.variant="default"}render(){const r={"wcm-icon-left":this.iconLeft!==void 0,"wcm-icon-right":this.iconRight!==void 0,"wcm-ghost":this.variant==="ghost","wcm-outline":this.variant==="outline"};let e="inverse";return this.variant==="ghost"&&(e="secondary"),this.variant==="outline"&&(e="accent"),Yt``}};O1.styles=[yn.globalCss,cit],y3([Yr({type:Boolean})],O1.prototype,"disabled",2),y3([Yr()],O1.prototype,"iconLeft",2),y3([Yr()],O1.prototype,"iconRight",2),y3([Yr()],O1.prototype,"onClick",2),y3([Yr()],O1.prototype,"variant",2),O1=y3([An("wcm-button")],O1);const hit=Hn`:host{display:inline-block}button{padding:0 15px 1px;height:40px;border-radius:var(--wcm-button-border-radius);color:var(--wcm-accent-fill-color);background-color:var(--wcm-accent-color)}button::after{content:'';top:0;bottom:0;left:0;right:0;position:absolute;background-color:transparent;border-radius:inherit;transition:background-color .2s ease;border:1px solid var(--wcm-color-overlay)}button:active::after{background-color:var(--wcm-color-overlay)}button:disabled{padding-bottom:0;background-color:var(--wcm-color-bg-3);color:var(--wcm-color-fg-3)}.wcm-secondary{color:var(--wcm-accent-color);background-color:transparent}.wcm-secondary::after{display:none}@media(hover:hover){button:hover::after{background-color:var(--wcm-color-overlay)}}`;var fit=Object.defineProperty,dit=Object.getOwnPropertyDescriptor,UF=(r,e,t,n)=>{for(var i=n>1?void 0:n?dit(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&fit(e,t,i),i};let Cx=class extends ln{constructor(){super(...arguments),this.disabled=!1,this.variant="primary"}render(){const r={"wcm-secondary":this.variant==="secondary"};return Yt``}};Cx.styles=[yn.globalCss,hit],UF([Yr({type:Boolean})],Cx.prototype,"disabled",2),UF([Yr()],Cx.prototype,"variant",2),Cx=UF([An("wcm-button-big")],Cx);const pit=Hn`:host{background-color:var(--wcm-color-bg-2);border-top:1px solid var(--wcm-color-bg-3)}div{padding:10px 20px;display:inherit;flex-direction:inherit;align-items:inherit;width:inherit;justify-content:inherit}`;var git=Object.defineProperty,mit=Object.getOwnPropertyDescriptor,bit=(r,e,t,n)=>{for(var i=n>1?void 0:n?mit(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&git(e,t,i),i};let FF=class extends ln{render(){return Yt`
`}};FF.styles=[yn.globalCss,pit],FF=bit([An("wcm-info-footer")],FF);const Qn={CROSS_ICON:ds``,WALLET_CONNECT_LOGO:ds``,WALLET_CONNECT_ICON:ds``,WALLET_CONNECT_ICON_COLORED:ds``,BACK_ICON:ds``,COPY_ICON:ds``,RETRY_ICON:ds``,DESKTOP_ICON:ds``,MOBILE_ICON:ds``,ARROW_DOWN_ICON:ds``,ARROW_UP_RIGHT_ICON:ds``,ARROW_RIGHT_ICON:ds``,QRCODE_ICON:ds``,SCAN_ICON:ds``,CHECKMARK_ICON:ds``,SEARCH_ICON:ds``,WALLET_PLACEHOLDER:ds``,GLOBE_ICON:ds``},wit=Hn`.wcm-toolbar-placeholder{top:0;bottom:0;left:0;right:0;width:100%;position:absolute;display:block;pointer-events:none;height:100px;border-radius:calc(var(--wcm-background-border-radius) * .9);background-color:var(--wcm-background-color);background-position:center;background-size:cover}.wcm-toolbar{height:38px;display:flex;position:relative;margin:5px 15px 5px 5px;justify-content:space-between;align-items:center}.wcm-toolbar img,.wcm-toolbar svg{height:28px;object-position:left center;object-fit:contain}#wcm-wc-logo path{fill:var(--wcm-accent-fill-color)}button{width:28px;height:28px;border-radius:var(--wcm-icon-button-border-radius);border:0;display:flex;justify-content:center;align-items:center;cursor:pointer;background-color:var(--wcm-color-bg-1);box-shadow:0 0 0 1px var(--wcm-color-overlay)}button:active{background-color:var(--wcm-color-bg-2)}button svg{display:block;object-position:center}button path{fill:var(--wcm-color-fg-1)}.wcm-toolbar div{display:flex}@media(hover:hover){button:hover{background-color:var(--wcm-color-bg-2)}}`;var vit=Object.defineProperty,yit=Object.getOwnPropertyDescriptor,xit=(r,e,t,n)=>{for(var i=n>1?void 0:n?yit(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&vit(e,t,i),i};let jF=class extends ln{render(){return Yt`
${Qn.WALLET_CONNECT_LOGO}
`}};jF.styles=[yn.globalCss,wit],jF=xit([An("wcm-modal-backcard")],jF);const _it=Hn`main{padding:20px;padding-top:0;width:100%}`;var Eit=Object.defineProperty,Ait=Object.getOwnPropertyDescriptor,Cit=(r,e,t,n)=>{for(var i=n>1?void 0:n?Ait(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Eit(e,t,i),i};let zF=class extends ln{render(){return Yt`
`}};zF.styles=[yn.globalCss,_it],zF=Cit([An("wcm-modal-content")],zF);const Sit=Hn`footer{padding:10px;display:flex;flex-direction:column;align-items:inherit;justify-content:inherit;border-top:1px solid var(--wcm-color-bg-2)}`;var Iit=Object.defineProperty,Tit=Object.getOwnPropertyDescriptor,Rit=(r,e,t,n)=>{for(var i=n>1?void 0:n?Tit(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Iit(e,t,i),i};let HF=class extends ln{render(){return Yt`
`}};HF.styles=[yn.globalCss,Sit],HF=Rit([An("wcm-modal-footer")],HF);const kit=Hn`header{display:flex;justify-content:center;align-items:center;padding:20px;position:relative}.wcm-border{border-bottom:1px solid var(--wcm-color-bg-2);margin-bottom:20px}header button{padding:15px 20px}header button:active{opacity:.5}@media(hover:hover){header button:hover{opacity:.5}}.wcm-back-btn{position:absolute;left:0}.wcm-action-btn{position:absolute;right:0}path{fill:var(--wcm-accent-color)}`;var Mit=Object.defineProperty,Nit=Object.getOwnPropertyDescriptor,Sx=(r,e,t,n)=>{for(var i=n>1?void 0:n?Nit(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Mit(e,t,i),i};let E2=class extends ln{constructor(){super(...arguments),this.title="",this.onAction=void 0,this.actionIcon=void 0,this.border=!1}backBtnTemplate(){return Yt``}actionBtnTemplate(){return Yt``}render(){const r={"wcm-border":this.border},e=os.state.history.length>1,t=this.title?Yt`${this.title}`:Yt``;return Yt`
${e?this.backBtnTemplate():null} ${t} ${this.onAction?this.actionBtnTemplate():null}
`}};E2.styles=[yn.globalCss,kit],Sx([Yr()],E2.prototype,"title",2),Sx([Yr()],E2.prototype,"onAction",2),Sx([Yr()],E2.prototype,"actionIcon",2),Sx([Yr({type:Boolean})],E2.prototype,"border",2),E2=Sx([An("wcm-modal-header")],E2);const Fr={MOBILE_BREAKPOINT:600,WCM_RECENT_WALLET_DATA:"WCM_RECENT_WALLET_DATA",EXPLORER_WALLET_URL:"https://explorer.walletconnect.com/?type=wallet",getShadowRootElement(r,e){const t=r.renderRoot.querySelector(e);if(!t)throw new Error(`${e} not found`);return t},getWalletIcon({id:r,image_id:e}){const{walletImages:t}=nl.state;return t!=null&&t[r]?t[r]:e?_c.getWalletImageUrl(e):""},getWalletName(r,e=!1){return e&&r.length>8?`${r.substring(0,8)}..`:r},isMobileAnimation(){return window.innerWidth<=Fr.MOBILE_BREAKPOINT},async preloadImage(r){const e=new Promise((t,n)=>{const i=new Image;i.onload=t,i.onerror=n,i.crossOrigin="anonymous",i.src=r});return Promise.race([e,xr.wait(3e3)])},getErrorMessage(r){return r instanceof Error?r.message:"Unknown Error"},debounce(r,e=500){let t;return(...n)=>{function i(){r(...n)}t&&clearTimeout(t),t=setTimeout(i,e)}},handleMobileLinking(r){const{walletConnectUri:e}=Ts.state,{mobile:t,name:n}=r,i=t==null?void 0:t.native,s=t==null?void 0:t.universal;Fr.setRecentWallet(r);function o(a){let l="";i?l=xr.formatUniversalUrl(i,a,n):s&&(l=xr.formatNativeUrl(s,a,n)),xr.openHref(l,"_self")}e&&o(e)},handleAndroidLinking(){const{walletConnectUri:r}=Ts.state;r&&(xr.setWalletConnectAndroidDeepLink(r),xr.openHref(r,"_self"))},async handleUriCopy(){const{walletConnectUri:r}=Ts.state;if(r)try{await navigator.clipboard.writeText(r),M1.openToast("Link copied","success")}catch{M1.openToast("Failed to copy","error")}},getCustomImageUrls(){const{walletImages:r}=nl.state,e=Object.values(r??{});return Object.values(e)},truncate(r,e=8){return r.length<=e?r:`${r.substring(0,4)}...${r.substring(r.length-4)}`},setRecentWallet(r){try{localStorage.setItem(Fr.WCM_RECENT_WALLET_DATA,JSON.stringify(r))}catch{console.info("Unable to set recent wallet")}},getRecentWallet(){try{const r=localStorage.getItem(Fr.WCM_RECENT_WALLET_DATA);return r?JSON.parse(r):void 0}catch{console.info("Unable to get recent wallet")}},caseSafeIncludes(r,e){return r.toUpperCase().includes(e.toUpperCase())},openWalletExplorerUrl(){xr.openHref(Fr.EXPLORER_WALLET_URL,"_blank")},getCachedRouterWalletPlatforms(){const{desktop:r,mobile:e}=xr.getWalletRouterData(),t=Boolean(r==null?void 0:r.native),n=Boolean(r==null?void 0:r.universal),i=Boolean(e==null?void 0:e.native)||Boolean(e==null?void 0:e.universal);return{isDesktop:t,isMobile:i,isWeb:n}},goToConnectingView(r){os.setData({Wallet:r});const e=xr.isMobile(),{isDesktop:t,isWeb:n,isMobile:i}=Fr.getCachedRouterWalletPlatforms();e?i?os.push("MobileConnecting"):n?os.push("WebConnecting"):os.push("InstallWallet"):t?os.push("DesktopConnecting"):n?os.push("WebConnecting"):i?os.push("MobileQrcodeConnecting"):os.push("InstallWallet")}},Pit=Hn`.wcm-router{overflow:hidden;will-change:transform}.wcm-content{display:flex;flex-direction:column}`;var Oit=Object.defineProperty,Dit=Object.getOwnPropertyDescriptor,qF=(r,e,t,n)=>{for(var i=n>1?void 0:n?Dit(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Oit(e,t,i),i};let Ix=class extends ln{constructor(){super(),this.view=os.state.view,this.prevView=os.state.view,this.unsubscribe=void 0,this.oldHeight="0px",this.resizeObserver=void 0,this.unsubscribe=os.subscribe(r=>{this.view!==r.view&&this.onChangeRoute()})}firstUpdated(){this.resizeObserver=new ResizeObserver(([r])=>{const e=`${r.contentRect.height}px`;this.oldHeight!=="0px"&&_2(this.routerEl,{height:[this.oldHeight,e]},{duration:.2}),this.oldHeight=e}),this.resizeObserver.observe(this.contentEl)}disconnectedCallback(){var r,e;(r=this.unsubscribe)==null||r.call(this),(e=this.resizeObserver)==null||e.disconnect()}get routerEl(){return Fr.getShadowRootElement(this,".wcm-router")}get contentEl(){return Fr.getShadowRootElement(this,".wcm-content")}viewTemplate(){switch(this.view){case"ConnectWallet":return Yt``;case"DesktopConnecting":return Yt``;case"MobileConnecting":return Yt``;case"WebConnecting":return Yt``;case"MobileQrcodeConnecting":return Yt``;case"WalletExplorer":return Yt``;case"Qrcode":return Yt``;case"InstallWallet":return Yt``;default:return Yt`
Not Found
`}}async onChangeRoute(){await _2(this.routerEl,{opacity:[1,0],scale:[1,1.02]},{duration:.15,delay:.1}).finished,this.view=os.state.view,_2(this.routerEl,{opacity:[0,1],scale:[.99,1]},{duration:.37,delay:.05})}render(){return Yt`
${this.viewTemplate()}
`}};Ix.styles=[yn.globalCss,Pit],qF([Ec()],Ix.prototype,"view",2),qF([Ec()],Ix.prototype,"prevView",2),Ix=qF([An("wcm-modal-router")],Ix);const $it=Hn`div{height:36px;width:max-content;display:flex;justify-content:center;align-items:center;padding:9px 15px 11px;position:absolute;top:12px;box-shadow:0 6px 14px -6px rgba(10,16,31,.3),0 10px 32px -4px rgba(10,16,31,.15);z-index:2;left:50%;transform:translateX(-50%);pointer-events:none;backdrop-filter:blur(20px) saturate(1.8);-webkit-backdrop-filter:blur(20px) saturate(1.8);border-radius:var(--wcm-notification-border-radius);border:1px solid var(--wcm-color-overlay);background-color:var(--wcm-color-overlay)}svg{margin-right:5px}@-moz-document url-prefix(){div{background-color:var(--wcm-color-bg-3)}}.wcm-success path{fill:var(--wcm-accent-color)}.wcm-error path{fill:var(--wcm-error-color)}`;var Bit=Object.defineProperty,Lit=Object.getOwnPropertyDescriptor,K1e=(r,e,t,n)=>{for(var i=n>1?void 0:n?Lit(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Bit(e,t,i),i};let zT=class extends ln{constructor(){super(),this.open=!1,this.unsubscribe=void 0,this.timeout=void 0,this.unsubscribe=M1.subscribe(r=>{r.open?(this.open=!0,this.timeout=setTimeout(()=>M1.closeToast(),2200)):(this.open=!1,clearTimeout(this.timeout))})}disconnectedCallback(){var r;(r=this.unsubscribe)==null||r.call(this),clearTimeout(this.timeout),M1.closeToast()}render(){const{message:r,variant:e}=M1.state,t={"wcm-success":e==="success","wcm-error":e==="error"};return this.open?Yt`
${e==="success"?Qn.CHECKMARK_ICON:null} ${e==="error"?Qn.CROSS_ICON:null}${r}
`:null}};zT.styles=[yn.globalCss,$it],K1e([Ec()],zT.prototype,"open",2),zT=K1e([An("wcm-modal-toast")],zT);const Uit=.1,Z1e=2.5,h0=7;function WF(r,e,t){return r===e?!1:(r-e<0?e-r:r-e)<=t+Uit}function Fit(r,e){const t=Array.prototype.slice.call(kv.create(r,{errorCorrectionLevel:e}).modules.data,0),n=Math.sqrt(t.length);return t.reduce((i,s,o)=>(o%n===0?i.push([s]):i[i.length-1].push(s))&&i,[])}const jit={generate(r,e,t){const n="#141414",i="#ffffff",s=[],o=Fit(r,"Q"),a=e/o.length,l=[{x:0,y:0},{x:1,y:0},{x:0,y:1}];l.forEach(({x:y,y:C})=>{const T=(o.length-h0)*a*y,k=(o.length-h0)*a*C,N=.45;for(let O=0;O`)}});const u=Math.floor((t+25)/a),h=o.length/2-u/2,p=o.length/2+u/2-1,g=[];o.forEach((y,C)=>{y.forEach((T,k)=>{if(o[C][k]&&!(Co.length-(h0+1)&&ko.length-(h0+1))&&!(C>h&&Ch&&k{w[y]?w[y].push(C):w[y]=[C]}),Object.entries(w).map(([y,C])=>{const T=C.filter(k=>C.every(N=>!WF(k,N,a)));return[Number(y),T]}).forEach(([y,C])=>{C.forEach(T=>{s.push(ds``)})}),Object.entries(w).filter(([y,C])=>C.length>1).map(([y,C])=>{const T=C.filter(k=>C.some(N=>WF(k,N,a)));return[Number(y),T]}).map(([y,C])=>{C.sort((k,N)=>kO.some(B=>WF(k,B,a)));N?N.push(k):T.push([k])}return[y,T.map(k=>[k[0],k[k.length-1]])]}).forEach(([y,C])=>{C.forEach(([T,k])=>{s.push(ds``)})}),s}},zit=Hn`@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}div{position:relative;user-select:none;display:block;overflow:hidden;aspect-ratio:1/1;animation:fadeIn ease .2s}.wcm-dark{background-color:#fff;border-radius:var(--wcm-container-border-radius);padding:18px;box-shadow:0 2px 5px #000}svg:first-child,wcm-wallet-image{position:absolute;top:50%;left:50%;transform:translateY(-50%) translateX(-50%)}wcm-wallet-image{transform:translateY(-50%) translateX(-50%)}wcm-wallet-image{width:25%;height:25%;border-radius:var(--wcm-wallet-icon-border-radius)}svg:first-child{transform:translateY(-50%) translateX(-50%) scale(.9)}svg:first-child path:first-child{fill:var(--wcm-accent-color)}svg:first-child path:last-child{stroke:var(--wcm-color-overlay)}`;var Hit=Object.defineProperty,qit=Object.getOwnPropertyDescriptor,x3=(r,e,t,n)=>{for(var i=n>1?void 0:n?qit(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Hit(e,t,i),i};let f0=class extends ln{constructor(){super(...arguments),this.uri="",this.size=0,this.imageId=void 0,this.walletId=void 0,this.imageUrl=void 0}svgTemplate(){const r=k1.state.themeMode==="light"?this.size:this.size-36;return ds`${jit.generate(this.uri,r,r/4)}`}render(){const r={"wcm-dark":k1.state.themeMode==="dark"};return Yt`
${this.walletId||this.imageUrl?Yt``:Qn.WALLET_CONNECT_ICON_COLORED} ${this.svgTemplate()}
`}};f0.styles=[yn.globalCss,zit],x3([Yr()],f0.prototype,"uri",2),x3([Yr({type:Number})],f0.prototype,"size",2),x3([Yr()],f0.prototype,"imageId",2),x3([Yr()],f0.prototype,"walletId",2),x3([Yr()],f0.prototype,"imageUrl",2),f0=x3([An("wcm-qrcode")],f0);const Wit=Hn`:host{position:relative;height:28px;width:80%}input{width:100%;height:100%;line-height:28px!important;border-radius:var(--wcm-input-border-radius);font-style:normal;font-family:-apple-system,system-ui,BlinkMacSystemFont,'Segoe UI',Roboto,Ubuntu,'Helvetica Neue',sans-serif;font-feature-settings:'case' on;font-weight:500;font-size:16px;letter-spacing:-.03em;padding:0 10px 0 34px;transition:.2s all ease;color:var(--wcm-color-fg-1);background-color:var(--wcm-color-bg-3);box-shadow:inset 0 0 0 1px var(--wcm-color-overlay);caret-color:var(--wcm-accent-color)}input::placeholder{color:var(--wcm-color-fg-2)}svg{left:10px;top:4px;pointer-events:none;position:absolute;width:20px;height:20px}input:focus-within{box-shadow:inset 0 0 0 1px var(--wcm-accent-color)}path{fill:var(--wcm-color-fg-2)}`;var Vit=Object.defineProperty,Git=Object.getOwnPropertyDescriptor,J1e=(r,e,t,n)=>{for(var i=n>1?void 0:n?Git(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Vit(e,t,i),i};let HT=class extends ln{constructor(){super(...arguments),this.onChange=()=>null}render(){return Yt` ${Qn.SEARCH_ICON}`}};HT.styles=[yn.globalCss,Wit],J1e([Yr()],HT.prototype,"onChange",2),HT=J1e([An("wcm-search-input")],HT);const Kit=Hn`@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}svg{animation:rotate 2s linear infinite;display:flex;justify-content:center;align-items:center}svg circle{stroke-linecap:round;animation:dash 1.5s ease infinite;stroke:var(--wcm-accent-color)}`;var Zit=Object.defineProperty,Jit=Object.getOwnPropertyDescriptor,Yit=(r,e,t,n)=>{for(var i=n>1?void 0:n?Jit(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Zit(e,t,i),i};let VF=class extends ln{render(){return Yt``}};VF.styles=[yn.globalCss,Kit],VF=Yit([An("wcm-spinner")],VF);const Qit=Hn`span{font-style:normal;font-family:var(--wcm-font-family);font-feature-settings:var(--wcm-font-feature-settings)}.wcm-xsmall-bold{font-family:var(--wcm-text-xsmall-bold-font-family);font-weight:var(--wcm-text-xsmall-bold-weight);font-size:var(--wcm-text-xsmall-bold-size);line-height:var(--wcm-text-xsmall-bold-line-height);letter-spacing:var(--wcm-text-xsmall-bold-letter-spacing);text-transform:var(--wcm-text-xsmall-bold-text-transform)}.wcm-xsmall-regular{font-family:var(--wcm-text-xsmall-regular-font-family);font-weight:var(--wcm-text-xsmall-regular-weight);font-size:var(--wcm-text-xsmall-regular-size);line-height:var(--wcm-text-xsmall-regular-line-height);letter-spacing:var(--wcm-text-xsmall-regular-letter-spacing);text-transform:var(--wcm-text-xsmall-regular-text-transform)}.wcm-small-thin{font-family:var(--wcm-text-small-thin-font-family);font-weight:var(--wcm-text-small-thin-weight);font-size:var(--wcm-text-small-thin-size);line-height:var(--wcm-text-small-thin-line-height);letter-spacing:var(--wcm-text-small-thin-letter-spacing);text-transform:var(--wcm-text-small-thin-text-transform)}.wcm-small-regular{font-family:var(--wcm-text-small-regular-font-family);font-weight:var(--wcm-text-small-regular-weight);font-size:var(--wcm-text-small-regular-size);line-height:var(--wcm-text-small-regular-line-height);letter-spacing:var(--wcm-text-small-regular-letter-spacing);text-transform:var(--wcm-text-small-regular-text-transform)}.wcm-medium-regular{font-family:var(--wcm-text-medium-regular-font-family);font-weight:var(--wcm-text-medium-regular-weight);font-size:var(--wcm-text-medium-regular-size);line-height:var(--wcm-text-medium-regular-line-height);letter-spacing:var(--wcm-text-medium-regular-letter-spacing);text-transform:var(--wcm-text-medium-regular-text-transform)}.wcm-big-bold{font-family:var(--wcm-text-big-bold-font-family);font-weight:var(--wcm-text-big-bold-weight);font-size:var(--wcm-text-big-bold-size);line-height:var(--wcm-text-big-bold-line-height);letter-spacing:var(--wcm-text-big-bold-letter-spacing);text-transform:var(--wcm-text-big-bold-text-transform)}:host(*){color:var(--wcm-color-fg-1)}.wcm-color-primary{color:var(--wcm-color-fg-1)}.wcm-color-secondary{color:var(--wcm-color-fg-2)}.wcm-color-tertiary{color:var(--wcm-color-fg-3)}.wcm-color-inverse{color:var(--wcm-accent-fill-color)}.wcm-color-accnt{color:var(--wcm-accent-color)}.wcm-color-error{color:var(--wcm-error-color)}`;var Xit=Object.defineProperty,est=Object.getOwnPropertyDescriptor,GF=(r,e,t,n)=>{for(var i=n>1?void 0:n?est(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Xit(e,t,i),i};let Tx=class extends ln{constructor(){super(...arguments),this.variant="medium-regular",this.color="primary"}render(){const r={"wcm-big-bold":this.variant==="big-bold","wcm-medium-regular":this.variant==="medium-regular","wcm-small-regular":this.variant==="small-regular","wcm-small-thin":this.variant==="small-thin","wcm-xsmall-regular":this.variant==="xsmall-regular","wcm-xsmall-bold":this.variant==="xsmall-bold","wcm-color-primary":this.color==="primary","wcm-color-secondary":this.color==="secondary","wcm-color-tertiary":this.color==="tertiary","wcm-color-inverse":this.color==="inverse","wcm-color-accnt":this.color==="accent","wcm-color-error":this.color==="error"};return Yt``}};Tx.styles=[yn.globalCss,Qit],GF([Yr()],Tx.prototype,"variant",2),GF([Yr()],Tx.prototype,"color",2),Tx=GF([An("wcm-text")],Tx);const tst=Hn`button{width:100%;height:100%;border-radius:var(--wcm-button-hover-highlight-border-radius);display:flex;align-items:flex-start}button:active{background-color:var(--wcm-color-overlay)}@media(hover:hover){button:hover{background-color:var(--wcm-color-overlay)}}button>div{width:80px;padding:5px 0;display:flex;flex-direction:column;align-items:center}wcm-text{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}wcm-wallet-image{height:60px;width:60px;transition:all .2s ease;border-radius:var(--wcm-wallet-icon-border-radius);margin-bottom:5px}.wcm-sublabel{margin-top:2px}`;var rst=Object.defineProperty,nst=Object.getOwnPropertyDescriptor,D1=(r,e,t,n)=>{for(var i=n>1?void 0:n?nst(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&rst(e,t,i),i};let zf=class extends ln{constructor(){super(...arguments),this.onClick=()=>null,this.name="",this.walletId="",this.label=void 0,this.imageId=void 0,this.installed=!1,this.recent=!1}sublabelTemplate(){return this.recent?Yt`RECENT`:this.installed?Yt`INSTALLED`:null}handleClick(){e1e.click({name:"WALLET_BUTTON",walletId:this.walletId}),this.onClick()}render(){var r;return Yt``}};zf.styles=[yn.globalCss,tst],D1([Yr()],zf.prototype,"onClick",2),D1([Yr()],zf.prototype,"name",2),D1([Yr()],zf.prototype,"walletId",2),D1([Yr()],zf.prototype,"label",2),D1([Yr()],zf.prototype,"imageId",2),D1([Yr({type:Boolean})],zf.prototype,"installed",2),D1([Yr({type:Boolean})],zf.prototype,"recent",2),zf=D1([An("wcm-wallet-button")],zf);const ist=Hn`:host{display:block}div{overflow:hidden;position:relative;border-radius:inherit;width:100%;height:100%;background-color:var(--wcm-color-overlay)}svg{position:relative;width:100%;height:100%}div::after{content:'';position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid var(--wcm-color-overlay)}div img{width:100%;height:100%;object-fit:cover;object-position:center}#wallet-placeholder-fill{fill:var(--wcm-color-bg-3)}#wallet-placeholder-dash{stroke:var(--wcm-color-overlay)}`;var sst=Object.defineProperty,ost=Object.getOwnPropertyDescriptor,qT=(r,e,t,n)=>{for(var i=n>1?void 0:n?ost(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&sst(e,t,i),i};let _3=class extends ln{constructor(){super(...arguments),this.walletId="",this.imageId=void 0,this.imageUrl=void 0}render(){var r;const e=(r=this.imageUrl)!=null&&r.length?this.imageUrl:Fr.getWalletIcon({id:this.walletId,image_id:this.imageId});return Yt`${e.length?Yt`
${this.id}
`:Qn.WALLET_PLACEHOLDER}`}};_3.styles=[yn.globalCss,ist],qT([Yr()],_3.prototype,"walletId",2),qT([Yr()],_3.prototype,"imageId",2),qT([Yr()],_3.prototype,"imageUrl",2),_3=qT([An("wcm-wallet-image")],_3);var ast=Object.defineProperty,cst=Object.getOwnPropertyDescriptor,Y1e=(r,e,t,n)=>{for(var i=n>1?void 0:n?cst(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&ast(e,t,i),i};let KF=class extends ln{constructor(){super(),this.preload=!0,this.preloadData()}async loadImages(r){try{r!=null&&r.length&&await Promise.all(r.map(async e=>Fr.preloadImage(e)))}catch{console.info("Unsuccessful attempt at preloading some images",r)}}async preloadListings(){if(nl.state.enableExplorer){await _c.getRecomendedWallets(),Ts.setIsDataLoaded(!0);const{recomendedWallets:r}=_c.state,e=r.map(t=>Fr.getWalletIcon(t));await this.loadImages(e)}else Ts.setIsDataLoaded(!0)}async preloadCustomImages(){const r=Fr.getCustomImageUrls();await this.loadImages(r)}async preloadData(){try{this.preload&&(this.preload=!1,await Promise.all([this.preloadListings(),this.preloadCustomImages()]))}catch(r){console.error(r),M1.openToast("Failed preloading","error")}}};Y1e([Ec()],KF.prototype,"preload",2),KF=Y1e([An("wcm-explorer-context")],KF);var lst=Object.defineProperty,ust=Object.getOwnPropertyDescriptor,hst=(r,e,t,n)=>{for(var i=n>1?void 0:n?ust(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&lst(e,t,i),i};let Q1e=class extends ln{constructor(){super(),this.unsubscribeTheme=void 0,yn.setTheme(),this.unsubscribeTheme=k1.subscribe(yn.setTheme)}disconnectedCallback(){var r;(r=this.unsubscribeTheme)==null||r.call(this)}};Q1e=hst([An("wcm-theme-context")],Q1e);const fst=Hn`@keyframes scroll{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(calc(-70px * 9),0,0)}}.wcm-slider{position:relative;overflow-x:hidden;padding:10px 0;margin:0 -20px;width:calc(100% + 40px)}.wcm-track{display:flex;width:calc(70px * 18);animation:scroll 20s linear infinite;opacity:.7}.wcm-track svg{margin:0 5px}wcm-wallet-image{width:60px;height:60px;margin:0 5px;border-radius:var(--wcm-wallet-icon-border-radius)}.wcm-grid{display:grid;grid-template-columns:repeat(4,80px);justify-content:space-between}.wcm-title{display:flex;align-items:center;margin-bottom:10px}.wcm-title svg{margin-right:6px}.wcm-title path{fill:var(--wcm-accent-color)}wcm-modal-footer .wcm-title{padding:0 10px}wcm-button-big{position:absolute;top:50%;left:50%;transform:translateY(-50%) translateX(-50%);filter:drop-shadow(0 0 17px var(--wcm-color-bg-1))}wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-info-footer wcm-text{text-align:center;margin-bottom:15px}#wallet-placeholder-fill{fill:var(--wcm-color-bg-3)}#wallet-placeholder-dash{stroke:var(--wcm-color-overlay)}`;var dst=Object.defineProperty,pst=Object.getOwnPropertyDescriptor,gst=(r,e,t,n)=>{for(var i=n>1?void 0:n?pst(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&dst(e,t,i),i};let ZF=class extends ln{onGoToQrcode(){os.push("Qrcode")}render(){const{recomendedWallets:r}=_c.state,e=[...r,...r],t=xr.RECOMMENDED_WALLET_AMOUNT*2;return Yt`
${Qn.MOBILE_ICON}WalletConnect
${[...Array(t)].map((n,i)=>{const s=e[i%e.length];return s?Yt``:Qn.WALLET_PLACEHOLDER})}
Select Wallet
Choose WalletConnect to see supported apps on your device`}};ZF.styles=[yn.globalCss,fst],ZF=gst([An("wcm-android-wallet-selection")],ZF);const mst=Hn`@keyframes loading{to{stroke-dashoffset:0}}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(1px,0,0)}30%,50%,70%{transform:translate3d(-2px,0,0)}40%,60%{transform:translate3d(2px,0,0)}}:host{display:flex;flex-direction:column;align-items:center}div{position:relative;width:110px;height:110px;display:flex;justify-content:center;align-items:center;margin:40px 0 20px 0;transform:translate3d(0,0,0)}svg{position:absolute;width:110px;height:110px;fill:none;stroke:transparent;stroke-linecap:round;stroke-width:2px;top:0;left:0}use{stroke:var(--wcm-accent-color);animation:loading 1s linear infinite}wcm-wallet-image{border-radius:var(--wcm-wallet-icon-large-border-radius);width:90px;height:90px}wcm-text{margin-bottom:40px}.wcm-error svg{stroke:var(--wcm-error-color)}.wcm-error use{display:none}.wcm-error{animation:shake .4s cubic-bezier(.36,.07,.19,.97) both}.wcm-stale svg,.wcm-stale use{display:none}`;var bst=Object.defineProperty,wst=Object.getOwnPropertyDescriptor,E3=(r,e,t,n)=>{for(var i=n>1?void 0:n?wst(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&bst(e,t,i),i};let $1=class extends ln{constructor(){super(...arguments),this.walletId=void 0,this.imageId=void 0,this.isError=!1,this.isStale=!1,this.label=""}svgLoaderTemplate(){var r,e;const t=(e=(r=k1.state.themeVariables)==null?void 0:r["--wcm-wallet-icon-large-border-radius"])!=null?e:yn.getPreset("--wcm-wallet-icon-large-border-radius");let n=0;t.includes("%")?n=88/100*parseInt(t,10):n=parseInt(t,10),n*=1.17;const i=317-n*1.57,s=425-n*1.8;return Yt``}render(){const r={"wcm-error":this.isError,"wcm-stale":this.isStale};return Yt`
${this.svgLoaderTemplate()}
${this.isError?"Connection declined":this.label}`}};$1.styles=[yn.globalCss,mst],E3([Yr()],$1.prototype,"walletId",2),E3([Yr()],$1.prototype,"imageId",2),E3([Yr({type:Boolean})],$1.prototype,"isError",2),E3([Yr({type:Boolean})],$1.prototype,"isStale",2),E3([Yr()],$1.prototype,"label",2),$1=E3([An("wcm-connector-waiting")],$1);const A3={manualWallets(){var r,e;const{mobileWallets:t,desktopWallets:n}=nl.state,i=(r=A3.recentWallet())==null?void 0:r.id,s=xr.isMobile()?t:n,o=s==null?void 0:s.filter(a=>i!==a.id);return(e=xr.isMobile()?o==null?void 0:o.map(({id:a,name:l,links:u})=>({id:a,name:l,mobile:u,links:u})):o==null?void 0:o.map(({id:a,name:l,links:u})=>({id:a,name:l,desktop:u,links:u})))!=null?e:[]},recentWallet(){return Fr.getRecentWallet()},recomendedWallets(r=!1){var e;const t=r||(e=A3.recentWallet())==null?void 0:e.id,{recomendedWallets:n}=_c.state;return n.filter(i=>t!==i.id)}},B1={onConnecting(r){Fr.goToConnectingView(r)},manualWalletsTemplate(){return A3.manualWallets().map(r=>Yt``)},recomendedWalletsTemplate(r=!1){return A3.recomendedWallets(r).map(e=>Yt``)},recentWalletTemplate(){const r=A3.recentWallet();if(r)return Yt``}},vst=Hn`.wcm-grid{display:grid;grid-template-columns:repeat(4,80px);justify-content:space-between}.wcm-desktop-title,.wcm-mobile-title{display:flex;align-items:center}.wcm-mobile-title{justify-content:space-between;margin-bottom:20px;margin-top:-10px}.wcm-desktop-title{margin-bottom:10px;padding:0 10px}.wcm-subtitle{display:flex;align-items:center}.wcm-subtitle:last-child path{fill:var(--wcm-color-fg-3)}.wcm-desktop-title svg,.wcm-mobile-title svg{margin-right:6px}.wcm-desktop-title path,.wcm-mobile-title path{fill:var(--wcm-accent-color)}`;var yst=Object.defineProperty,xst=Object.getOwnPropertyDescriptor,_st=(r,e,t,n)=>{for(var i=n>1?void 0:n?xst(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&yst(e,t,i),i};let JF=class extends ln{render(){const{explorerExcludedWalletIds:r,enableExplorer:e}=nl.state,t=r!=="ALL"&&e,n=B1.manualWalletsTemplate(),i=B1.recomendedWalletsTemplate();let s=[B1.recentWalletTemplate(),...n,...i];s=s.filter(Boolean);const o=s.length>4||t;let a=[];o?a=s.slice(0,3):a=s;const l=Boolean(a.length);return Yt`
${Qn.MOBILE_ICON}Mobile
${Qn.SCAN_ICON}Scan with your wallet
${l?Yt`
${Qn.DESKTOP_ICON}Desktop
${a} ${o?Yt``:null}
`:null}`}};JF.styles=[yn.globalCss,vst],JF=_st([An("wcm-desktop-wallet-selection")],JF);const Est=Hn`div{background-color:var(--wcm-color-bg-2);padding:10px 20px 15px 20px;border-top:1px solid var(--wcm-color-bg-3);text-align:center}a{color:var(--wcm-accent-color);text-decoration:none;transition:opacity .2s ease-in-out;display:inline}a:active{opacity:.8}@media(hover:hover){a:hover{opacity:.8}}`;var Ast=Object.defineProperty,Cst=Object.getOwnPropertyDescriptor,Sst=(r,e,t,n)=>{for(var i=n>1?void 0:n?Cst(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Ast(e,t,i),i};let YF=class extends ln{render(){const{termsOfServiceUrl:r,privacyPolicyUrl:e}=nl.state;return r??e?Yt`
By connecting your wallet to this app, you agree to the app's ${r?Yt`Terms of Service`:null} ${r&&e?"and":null} ${e?Yt`Privacy Policy`:null}
`:null}};YF.styles=[yn.globalCss,Est],YF=Sst([An("wcm-legal-notice")],YF);const Ist=Hn`div{display:grid;grid-template-columns:repeat(4,80px);margin:0 -10px;justify-content:space-between;row-gap:10px}`;var Tst=Object.defineProperty,Rst=Object.getOwnPropertyDescriptor,kst=(r,e,t,n)=>{for(var i=n>1?void 0:n?Rst(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Tst(e,t,i),i};let QF=class extends ln{onQrcode(){os.push("Qrcode")}render(){const{explorerExcludedWalletIds:r,enableExplorer:e}=nl.state,t=r!=="ALL"&&e,n=B1.manualWalletsTemplate(),i=B1.recomendedWalletsTemplate();let s=[B1.recentWalletTemplate(),...n,...i];s=s.filter(Boolean);const o=s.length>8||t;let a=[];o?a=s.slice(0,7):a=s;const l=Boolean(a.length);return Yt`${l?Yt`
${a} ${o?Yt``:null}
`:null}`}};QF.styles=[yn.globalCss,Ist],QF=kst([An("wcm-mobile-wallet-selection")],QF);const Mst=Hn`:host{all:initial}.wcm-overlay{top:0;bottom:0;left:0;right:0;position:fixed;z-index:var(--wcm-z-index);overflow:hidden;display:flex;justify-content:center;align-items:center;opacity:0;pointer-events:none;background-color:var(--wcm-overlay-background-color);backdrop-filter:var(--wcm-overlay-backdrop-filter)}@media(max-height:720px) and (orientation:landscape){.wcm-overlay{overflow:scroll;align-items:flex-start;padding:20px 0}}.wcm-active{pointer-events:auto}.wcm-container{position:relative;max-width:360px;width:100%;outline:0;border-radius:var(--wcm-background-border-radius) var(--wcm-background-border-radius) var(--wcm-container-border-radius) var(--wcm-container-border-radius);border:1px solid var(--wcm-color-overlay);overflow:hidden}.wcm-card{width:100%;position:relative;border-radius:var(--wcm-container-border-radius);overflow:hidden;box-shadow:0 6px 14px -6px rgba(10,16,31,.12),0 10px 32px -4px rgba(10,16,31,.1),0 0 0 1px var(--wcm-color-overlay);background-color:var(--wcm-color-bg-1);color:var(--wcm-color-fg-1)}@media(max-width:600px){.wcm-container{max-width:440px;border-radius:var(--wcm-background-border-radius) var(--wcm-background-border-radius) 0 0}.wcm-card{border-radius:var(--wcm-container-border-radius) var(--wcm-container-border-radius) 0 0}.wcm-overlay{align-items:flex-end}}@media(max-width:440px){.wcm-container{border:0}}`;var Nst=Object.defineProperty,Pst=Object.getOwnPropertyDescriptor,XF=(r,e,t,n)=>{for(var i=n>1?void 0:n?Pst(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Nst(e,t,i),i};let C3=class extends ln{constructor(){super(),this.open=!1,this.active=!1,this.unsubscribeModal=void 0,this.abortController=void 0,this.unsubscribeModal=m2.subscribe(r=>{r.open?this.onOpenModalEvent():this.onCloseModalEvent()})}disconnectedCallback(){var r;(r=this.unsubscribeModal)==null||r.call(this)}get overlayEl(){return Fr.getShadowRootElement(this,".wcm-overlay")}get containerEl(){return Fr.getShadowRootElement(this,".wcm-container")}toggleBodyScroll(r){if(document.querySelector("body"))if(r){const e=document.getElementById("wcm-styles");e==null||e.remove()}else document.head.insertAdjacentHTML("beforeend",'')}onCloseModal(r){r.target===r.currentTarget&&m2.close()}onOpenModalEvent(){this.toggleBodyScroll(!1),this.addKeyboardEvents(),this.open=!0,setTimeout(async()=>{const r=Fr.isMobileAnimation()?{y:["50vh","0vh"]}:{scale:[.98,1]},e=.1,t=.2;await Promise.all([_2(this.overlayEl,{opacity:[0,1]},{delay:e,duration:t}).finished,_2(this.containerEl,r,{delay:e,duration:t}).finished]),this.active=!0},0)}async onCloseModalEvent(){this.toggleBodyScroll(!0),this.removeKeyboardEvents();const r=Fr.isMobileAnimation()?{y:["0vh","50vh"]}:{scale:[1,.98]},e=.2;await Promise.all([_2(this.overlayEl,{opacity:[1,0]},{duration:e}).finished,_2(this.containerEl,r,{duration:e}).finished]),this.containerEl.removeAttribute("style"),this.active=!1,this.open=!1}addKeyboardEvents(){this.abortController=new AbortController,window.addEventListener("keydown",r=>{var e;r.key==="Escape"?m2.close():r.key==="Tab"&&((e=r.target)!=null&&e.tagName.includes("wcm-")||this.containerEl.focus())},this.abortController),this.containerEl.focus()}removeKeyboardEvents(){var r;(r=this.abortController)==null||r.abort(),this.abortController=void 0}render(){const r={"wcm-overlay":!0,"wcm-active":this.active};return Yt`
${this.open?Yt`
`:null}
`}};C3.styles=[yn.globalCss,Mst],XF([Ec()],C3.prototype,"open",2),XF([Ec()],C3.prototype,"active",2),C3=XF([An("wcm-modal")],C3);const Ost=Hn`div{display:flex;margin-top:15px}slot{display:inline-block;margin:0 5px}wcm-button{margin:0 5px}`;var Dst=Object.defineProperty,$st=Object.getOwnPropertyDescriptor,Rx=(r,e,t,n)=>{for(var i=n>1?void 0:n?$st(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Dst(e,t,i),i};let A2=class extends ln{constructor(){super(...arguments),this.isMobile=!1,this.isDesktop=!1,this.isWeb=!1,this.isRetry=!1}onMobile(){xr.isMobile()?os.replace("MobileConnecting"):os.replace("MobileQrcodeConnecting")}onDesktop(){os.replace("DesktopConnecting")}onWeb(){os.replace("WebConnecting")}render(){return Yt`
${this.isRetry?Yt``:null} ${this.isMobile?Yt`Mobile`:null} ${this.isDesktop?Yt`Desktop`:null} ${this.isWeb?Yt`Web`:null}
`}};A2.styles=[yn.globalCss,Ost],Rx([Yr({type:Boolean})],A2.prototype,"isMobile",2),Rx([Yr({type:Boolean})],A2.prototype,"isDesktop",2),Rx([Yr({type:Boolean})],A2.prototype,"isWeb",2),Rx([Yr({type:Boolean})],A2.prototype,"isRetry",2),A2=Rx([An("wcm-platform-selection")],A2);const Bst=Hn`button{display:flex;flex-direction:column;padding:5px 10px;border-radius:var(--wcm-button-hover-highlight-border-radius);height:100%;justify-content:flex-start}.wcm-icons{width:60px;height:60px;display:flex;flex-wrap:wrap;padding:7px;border-radius:var(--wcm-wallet-icon-border-radius);justify-content:space-between;align-items:center;margin-bottom:5px;background-color:var(--wcm-color-bg-2);box-shadow:inset 0 0 0 1px var(--wcm-color-overlay)}button:active{background-color:var(--wcm-color-overlay)}@media(hover:hover){button:hover{background-color:var(--wcm-color-overlay)}}.wcm-icons img{width:21px;height:21px;object-fit:cover;object-position:center;border-radius:calc(var(--wcm-wallet-icon-border-radius)/ 2);border:1px solid var(--wcm-color-overlay)}.wcm-icons svg{width:21px;height:21px}.wcm-icons img:nth-child(1),.wcm-icons img:nth-child(2),.wcm-icons svg:nth-child(1),.wcm-icons svg:nth-child(2){margin-bottom:4px}wcm-text{width:100%;text-align:center}#wallet-placeholder-fill{fill:var(--wcm-color-bg-3)}#wallet-placeholder-dash{stroke:var(--wcm-color-overlay)}`;var Lst=Object.defineProperty,Ust=Object.getOwnPropertyDescriptor,Fst=(r,e,t,n)=>{for(var i=n>1?void 0:n?Ust(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Lst(e,t,i),i};let ej=class extends ln{onClick(){os.push("WalletExplorer")}render(){const{recomendedWallets:r}=_c.state,e=A3.manualWallets(),t=[...r,...e].reverse().slice(0,4);return Yt``}};ej.styles=[yn.globalCss,Bst],ej=Fst([An("wcm-view-all-wallets-button")],ej);const jst=Hn`.wcm-qr-container{width:100%;display:flex;justify-content:center;align-items:center;aspect-ratio:1/1}`;var zst=Object.defineProperty,Hst=Object.getOwnPropertyDescriptor,WT=(r,e,t,n)=>{for(var i=n>1?void 0:n?Hst(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&zst(e,t,i),i};let S3=class extends ln{constructor(){super(),this.walletId="",this.imageId="",this.uri="",setTimeout(()=>{const{walletConnectUri:r}=Ts.state;this.uri=r},0)}get overlayEl(){return Fr.getShadowRootElement(this,".wcm-qr-container")}render(){return Yt`
${this.uri?Yt``:Yt``}
`}};S3.styles=[yn.globalCss,jst],WT([Yr()],S3.prototype,"walletId",2),WT([Yr()],S3.prototype,"imageId",2),WT([Ec()],S3.prototype,"uri",2),S3=WT([An("wcm-walletconnect-qr")],S3);var qst=Object.defineProperty,Wst=Object.getOwnPropertyDescriptor,Vst=(r,e,t,n)=>{for(var i=n>1?void 0:n?Wst(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&qst(e,t,i),i};let tj=class extends ln{viewTemplate(){return xr.isAndroid()?Yt``:xr.isMobile()?Yt``:Yt``}render(){return Yt`${this.viewTemplate()}`}};tj.styles=[yn.globalCss],tj=Vst([An("wcm-connect-wallet-view")],tj);const Gst=Hn`wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-text{text-align:center}`;var Kst=Object.defineProperty,Zst=Object.getOwnPropertyDescriptor,X1e=(r,e,t,n)=>{for(var i=n>1?void 0:n?Zst(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Kst(e,t,i),i};let VT=class extends ln{constructor(){super(),this.isError=!1,this.openDesktopApp()}onFormatAndRedirect(r){const{desktop:e,name:t}=xr.getWalletRouterData(),n=e==null?void 0:e.native;if(n){const i=xr.formatNativeUrl(n,r,t);xr.openHref(i,"_self")}}openDesktopApp(){const{walletConnectUri:r}=Ts.state,e=xr.getWalletRouterData();Fr.setRecentWallet(e),r&&this.onFormatAndRedirect(r)}render(){const{name:r,id:e,image_id:t}=xr.getWalletRouterData(),{isMobile:n,isWeb:i}=Fr.getCachedRouterWalletPlatforms();return Yt`${`Connection can continue loading if ${r} is not installed on your device`}Retry`}};VT.styles=[yn.globalCss,Gst],X1e([Ec()],VT.prototype,"isError",2),VT=X1e([An("wcm-desktop-connecting-view")],VT);const Jst=Hn`wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-text{text-align:center}wcm-button{margin-top:15px}`;var Yst=Object.defineProperty,Qst=Object.getOwnPropertyDescriptor,Xst=(r,e,t,n)=>{for(var i=n>1?void 0:n?Qst(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&Yst(e,t,i),i};let rj=class extends ln{onInstall(r){r&&xr.openHref(r,"_blank")}render(){const{name:r,id:e,image_id:t,homepage:n}=xr.getWalletRouterData();return Yt`${`Download ${r} to continue. If multiple browser extensions are installed, disable non ${r} ones and try again`}Download`}};rj.styles=[yn.globalCss,Jst],rj=Xst([An("wcm-install-wallet-view")],rj);const eot=Hn`wcm-wallet-image{border-radius:var(--wcm-wallet-icon-large-border-radius);width:96px;height:96px;margin-bottom:20px}wcm-info-footer{display:flex;width:100%}.wcm-app-store{justify-content:space-between}.wcm-app-store wcm-wallet-image{margin-right:10px;margin-bottom:0;width:28px;height:28px;border-radius:var(--wcm-wallet-icon-small-border-radius)}.wcm-app-store div{display:flex;align-items:center}.wcm-app-store wcm-button{margin-right:-10px}.wcm-note{flex-direction:column;align-items:center;padding:5px 0}.wcm-note wcm-text{text-align:center}wcm-platform-selection{margin-top:-15px}.wcm-note wcm-text{margin-top:15px}.wcm-note wcm-text span{color:var(--wcm-accent-color)}`;var tot=Object.defineProperty,rot=Object.getOwnPropertyDescriptor,ege=(r,e,t,n)=>{for(var i=n>1?void 0:n?rot(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&tot(e,t,i),i};let GT=class extends ln{constructor(){super(),this.isError=!1,this.openMobileApp()}onFormatAndRedirect(r,e=!1){const{mobile:t,name:n}=xr.getWalletRouterData(),i=t==null?void 0:t.native,s=t==null?void 0:t.universal;if(i&&!e){const o=xr.formatNativeUrl(i,r,n);xr.openHref(o,"_self")}else if(s){const o=xr.formatUniversalUrl(s,r,n);xr.openHref(o,"_self")}}openMobileApp(r=!1){const{walletConnectUri:e}=Ts.state,t=xr.getWalletRouterData();Fr.setRecentWallet(t),e&&this.onFormatAndRedirect(e,r)}onGoToAppStore(r){r&&xr.openHref(r,"_blank")}render(){const{name:r,id:e,image_id:t,app:n,mobile:i}=xr.getWalletRouterData(),{isWeb:s}=Fr.getCachedRouterWalletPlatforms(),o=n==null?void 0:n.ios,a=i==null?void 0:i.universal;return Yt`Retry${a?Yt`Still doesn't work? Try this alternate link`:null}
${`Get ${r}`}
App Store
`}};GT.styles=[yn.globalCss,eot],ege([Ec()],GT.prototype,"isError",2),GT=ege([An("wcm-mobile-connecting-view")],GT);const not=Hn`wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-text{text-align:center}`;var iot=Object.defineProperty,sot=Object.getOwnPropertyDescriptor,oot=(r,e,t,n)=>{for(var i=n>1?void 0:n?sot(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&iot(e,t,i),i};let nj=class extends ln{render(){const{name:r,id:e,image_id:t}=xr.getWalletRouterData(),{isDesktop:n,isWeb:i}=Fr.getCachedRouterWalletPlatforms();return Yt`${`Scan this QR Code with your phone's camera or inside ${r} app`}`}};nj.styles=[yn.globalCss,not],nj=oot([An("wcm-mobile-qr-connecting-view")],nj);var aot=Object.defineProperty,cot=Object.getOwnPropertyDescriptor,lot=(r,e,t,n)=>{for(var i=n>1?void 0:n?cot(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&aot(e,t,i),i};let ij=class extends ln{render(){return Yt``}};ij.styles=[yn.globalCss],ij=lot([An("wcm-qrcode-view")],ij);const uot=Hn`wcm-modal-content{height:clamp(200px,60vh,600px);display:block;overflow:scroll;scrollbar-width:none;position:relative;margin-top:1px}.wcm-grid{display:grid;grid-template-columns:repeat(4,80px);justify-content:space-between;margin:-15px -10px;padding-top:20px}wcm-modal-content::after,wcm-modal-content::before{content:'';position:fixed;pointer-events:none;z-index:1;width:100%;height:20px;opacity:1}wcm-modal-content::before{box-shadow:0 -1px 0 0 var(--wcm-color-bg-1);background:linear-gradient(var(--wcm-color-bg-1),rgba(255,255,255,0))}wcm-modal-content::after{box-shadow:0 1px 0 0 var(--wcm-color-bg-1);background:linear-gradient(rgba(255,255,255,0),var(--wcm-color-bg-1));top:calc(100% - 20px)}wcm-modal-content::-webkit-scrollbar{display:none}.wcm-placeholder-block{display:flex;justify-content:center;align-items:center;height:100px;overflow:hidden}.wcm-empty,.wcm-loading{display:flex}.wcm-loading .wcm-placeholder-block{height:100%}.wcm-end-reached .wcm-placeholder-block{height:0;opacity:0}.wcm-empty .wcm-placeholder-block{opacity:1;height:100%}wcm-wallet-button{margin:calc((100% - 60px)/ 3) 0}`;var hot=Object.defineProperty,fot=Object.getOwnPropertyDescriptor,kx=(r,e,t,n)=>{for(var i=n>1?void 0:n?fot(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&hot(e,t,i),i};const sj=40;let C2=class extends ln{constructor(){super(...arguments),this.loading=!_c.state.wallets.listings.length,this.firstFetch=!_c.state.wallets.listings.length,this.search="",this.endReached=!1,this.intersectionObserver=void 0,this.searchDebounce=Fr.debounce(r=>{r.length>=1?(this.firstFetch=!0,this.endReached=!1,this.search=r,_c.resetSearch(),this.fetchWallets()):this.search&&(this.search="",this.endReached=this.isLastPage(),_c.resetSearch())})}firstUpdated(){this.createPaginationObserver()}disconnectedCallback(){var r;(r=this.intersectionObserver)==null||r.disconnect()}get placeholderEl(){return Fr.getShadowRootElement(this,".wcm-placeholder-block")}createPaginationObserver(){this.intersectionObserver=new IntersectionObserver(([r])=>{r.isIntersecting&&!(this.search&&this.firstFetch)&&this.fetchWallets()}),this.intersectionObserver.observe(this.placeholderEl)}isLastPage(){const{wallets:r,search:e}=_c.state,{listings:t,total:n}=this.search?e:r;return n<=sj||t.length>=n}async fetchWallets(){var r;const{wallets:e,search:t}=_c.state,{listings:n,total:i,page:s}=this.search?t:e;if(!this.endReached&&(this.firstFetch||i>sj&&n.lengthFr.getWalletIcon(u));await Promise.all([...l.map(async u=>Fr.preloadImage(u)),xr.wait(300)]),this.endReached=this.isLastPage()}catch(o){console.error(o),M1.openToast(Fr.getErrorMessage(o),"error")}finally{this.loading=!1,this.firstFetch=!1}}onConnect(r){xr.isAndroid()?Fr.handleMobileLinking(r):Fr.goToConnectingView(r)}onSearchChange(r){const{value:e}=r.target;this.searchDebounce(e)}render(){const{wallets:r,search:e}=_c.state,{listings:t}=this.search?e:r,n=this.loading&&!t.length,i=this.search.length>=3;let s=B1.manualWalletsTemplate(),o=B1.recomendedWalletsTemplate(!0);i&&(s=s.filter(({values:u})=>Fr.caseSafeIncludes(u[0],this.search)),o=o.filter(({values:u})=>Fr.caseSafeIncludes(u[0],this.search)));const a=!this.loading&&!t.length&&!o.length,l={"wcm-loading":n,"wcm-end-reached":this.endReached||!this.loading,"wcm-empty":a};return Yt`
${n?null:s} ${n?null:o} ${n?null:t.map(u=>Yt`${u?Yt``:null}`)}
${a?Yt`No results found`:null} ${!a&&this.loading?Yt``:null}
`}};C2.styles=[yn.globalCss,uot],kx([Ec()],C2.prototype,"loading",2),kx([Ec()],C2.prototype,"firstFetch",2),kx([Ec()],C2.prototype,"search",2),kx([Ec()],C2.prototype,"endReached",2),C2=kx([An("wcm-wallet-explorer-view")],C2);const dot=Hn`wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-text{text-align:center}`;var pot=Object.defineProperty,got=Object.getOwnPropertyDescriptor,tge=(r,e,t,n)=>{for(var i=n>1?void 0:n?got(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&pot(e,t,i),i};let KT=class extends ln{constructor(){super(),this.isError=!1,this.openWebWallet()}onFormatAndRedirect(r){const{desktop:e,name:t}=xr.getWalletRouterData(),n=e==null?void 0:e.universal;if(n){const i=xr.formatUniversalUrl(n,r,t);xr.openHref(i,"_blank")}}openWebWallet(){const{walletConnectUri:r}=Ts.state,e=xr.getWalletRouterData();Fr.setRecentWallet(e),r&&this.onFormatAndRedirect(r)}render(){const{name:r,id:e,image_id:t}=xr.getWalletRouterData(),{isMobile:n,isDesktop:i}=Fr.getCachedRouterWalletPlatforms(),s=xr.isMobile();return Yt`${`${r} web app has opened in a new tab. Go there, accept the connection, and come back`}Retry`}};KT.styles=[yn.globalCss,dot],tge([Ec()],KT.prototype,"isError",2),KT=tge([An("wcm-web-connecting-view")],KT);const mot=Object.freeze(Object.defineProperty({__proto__:null,get WcmModal(){return C3},get WcmQrCode(){return f0}},Symbol.toStringTag,{value:"Module"}));Kr.Provider=Vh,Kr.assets=lxe,Kr.browser=Drt,Kr.ethers=R4e,Kr.models=hxe,Kr.networks=NA,Kr.services=dxe,Kr.types=Tge,Kr.utils=Rwe,Object.defineProperty(Kr,Symbol.toStringTag,{value:"Module"})}); //# sourceMappingURL=evm-chains-provider.js.map diff --git a/assets/js/evm-chains-provider.js.map b/assets/js/evm-chains-provider.js.map index 687ab9f..01c1de6 100644 --- a/assets/js/evm-chains-provider.js.map +++ b/assets/js/evm-chains-provider.js.map @@ -1 +1 @@ -{"version":3,"file":"index.umd.js","sources":["../node_modules/.pnpm/@multiplechain+types@0.1.68/node_modules/@multiplechain/types/src/enums.ts","../node_modules/.pnpm/@multiplechain+types@0.1.68/node_modules/@multiplechain/types/src/services/TransactionListenerInterface.ts","../../../../node_modules/.pnpm/vite-plugin-node-polyfills@0.21.0_vite@5.1.4/node_modules/vite-plugin-node-polyfills/shims/global/dist/index.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/bind.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/utils.js","../../../../node_modules/.pnpm/vite-plugin-node-polyfills@0.21.0_vite@5.1.4/node_modules/vite-plugin-node-polyfills/shims/buffer/dist/index.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/core/AxiosError.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/null.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/toFormData.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/buildURL.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/core/InterceptorManager.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/defaults/transitional.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/platform/browser/index.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/platform/common/utils.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/platform/index.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/defaults/index.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/core/transformData.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/cancel/isCancel.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/cancel/CanceledError.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/core/settle.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/cookies.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/combineURLs.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/core/buildFullPath.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/speedometer.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/adapters/xhr.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/adapters/adapters.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/core/dispatchRequest.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/core/mergeConfig.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/env/data.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/validator.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/core/Axios.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/cancel/CancelToken.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/spread.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/axios.js","../node_modules/.pnpm/@noble+hashes@1.3.3/node_modules/@noble/hashes/esm/_assert.js","../node_modules/.pnpm/@noble+hashes@1.3.3/node_modules/@noble/hashes/esm/_u64.js","../node_modules/.pnpm/@noble+hashes@1.3.3/node_modules/@noble/hashes/esm/utils.js","../node_modules/.pnpm/@noble+hashes@1.3.3/node_modules/@noble/hashes/esm/sha3.js","../node_modules/.pnpm/ethereum-cryptography@2.1.3/node_modules/ethereum-cryptography/esm/utils.js","../node_modules/.pnpm/ethereum-cryptography@2.1.3/node_modules/ethereum-cryptography/esm/keccak.js","../node_modules/.pnpm/web3-errors@1.1.4/node_modules/web3-errors/lib/esm/error_codes.js","../node_modules/.pnpm/web3-errors@1.1.4/node_modules/web3-errors/lib/esm/web3_error_base.js","../node_modules/.pnpm/web3-errors@1.1.4/node_modules/web3-errors/lib/esm/errors/utils_errors.js","../node_modules/.pnpm/web3-errors@1.1.4/node_modules/web3-errors/lib/esm/errors/rpc_error_messages.js","../node_modules/.pnpm/web3-errors@1.1.4/node_modules/web3-errors/lib/esm/errors/rpc_errors.js","../node_modules/.pnpm/web3-errors@1.1.4/node_modules/web3-errors/lib/esm/errors/schema_errors.js","../node_modules/.pnpm/zod@3.22.4/node_modules/zod/lib/index.mjs","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/errors.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/constants.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/validation/abi.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/validation/string.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/utils.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/validation/bytes.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/validation/address.js","../node_modules/.pnpm/web3-types@1.5.0/node_modules/web3-types/lib/esm/data_format_types.js","../node_modules/.pnpm/web3-types@1.5.0/node_modules/web3-types/lib/esm/eth_types.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/validation/numbers.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/validation/block.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/validation/bloom.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/validation/boolean.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/validation/object.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/validation/topic.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/validation/filter.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/formats.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/validator.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/web3_validator.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/default_validator.js","../node_modules/.pnpm/web3-utils@4.2.2/node_modules/web3-utils/lib/esm/uint8array.js","../node_modules/.pnpm/web3-utils@4.2.2/node_modules/web3-utils/lib/esm/converters.js","../node_modules/.pnpm/eventemitter3@5.0.1/node_modules/eventemitter3/index.js","../node_modules/.pnpm/bignumber.js@9.1.2/node_modules/bignumber.js/bignumber.mjs","../node_modules/.pnpm/ws@8.16.0/node_modules/ws/browser.js","../node_modules/.pnpm/@multiplechain+utils@0.1.21/node_modules/@multiplechain/utils/src/index.ts","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/_version.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/properties.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/errors.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/data.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/maths.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/base58.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/base64-browser.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/events.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/utf8.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/geturl-browser.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/fetch.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/fixednumber.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/rlp-decode.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/rlp-encode.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/units.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/uuid.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/coders/abstract-coder.js","../node_modules/.pnpm/@noble+hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.js","../node_modules/.pnpm/@noble+hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.js","../node_modules/.pnpm/@noble+hashes@1.3.2/node_modules/@noble/hashes/esm/utils.js","../node_modules/.pnpm/@noble+hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.js","../node_modules/.pnpm/@noble+hashes@1.3.2/node_modules/@noble/hashes/esm/pbkdf2.js","../node_modules/.pnpm/@noble+hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.js","../node_modules/.pnpm/@noble+hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.js","../node_modules/.pnpm/@noble+hashes@1.3.2/node_modules/@noble/hashes/esm/_u64.js","../node_modules/.pnpm/@noble+hashes@1.3.2/node_modules/@noble/hashes/esm/sha512.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/crypto/crypto-browser.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/crypto/hmac.js","../node_modules/.pnpm/@noble+hashes@1.3.2/node_modules/@noble/hashes/esm/sha3.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/crypto/keccak.js","../node_modules/.pnpm/@noble+hashes@1.3.2/node_modules/@noble/hashes/esm/ripemd160.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/crypto/ripemd160.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/crypto/pbkdf2.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/crypto/random.js","../node_modules/.pnpm/@noble+hashes@1.3.2/node_modules/@noble/hashes/esm/scrypt.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/crypto/scrypt.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/crypto/sha2.js","../node_modules/.pnpm/@noble+curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.js","../node_modules/.pnpm/@noble+curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.js","../node_modules/.pnpm/@noble+curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.js","../node_modules/.pnpm/@noble+curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.js","../node_modules/.pnpm/@noble+curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.js","../node_modules/.pnpm/@noble+curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/constants/addresses.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/constants/hashes.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/constants/numbers.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/constants/strings.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/crypto/signature.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/crypto/signing-key.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/crypto/index.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/address/address.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/address/contract-address.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/address/checks.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/typed.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/coders/address.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/coders/anonymous.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/coders/array.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/coders/boolean.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/coders/bytes.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/coders/fixed-bytes.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/coders/null.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/coders/number.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/coders/string.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/coders/tuple.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/hash/id.js","../node_modules/.pnpm/@adraffy+ens-normalize@1.10.1/node_modules/@adraffy/ens-normalize/dist/index.mjs","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/hash/namehash.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/transaction/accesslist.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/transaction/address.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/transaction/transaction.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/hash/message.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/hash/solidity.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/hash/typed-data.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/fragments.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/abi-coder.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/bytes32.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/interface.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/provider.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/contract/wrappers.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/contract/contract.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/contract/factory.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/ens-resolver.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/format.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/plugins-network.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/network.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/subscriber-polling.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/abstract-provider.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/abstract-signer.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/community.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/subscriber-filterid.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/provider-jsonrpc.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/provider-ankr.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/provider-alchemy.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/provider-cloudflare.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/provider-etherscan.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/ws-browser.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/provider-socket.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/provider-websocket.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/provider-infura.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/provider-quicknode.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/provider-fallback.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/default-provider.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/signer-noncemanager.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/provider-browser.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/provider-pocket.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/provider-ipcsocket-browser.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wallet/base-wallet.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wordlists/decode-owl.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wordlists/wordlist.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wordlists/wordlist-owl.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wordlists/lang-en.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wallet/mnemonic.js","../node_modules/.pnpm/aes-js@4.0.0-beta.5/node_modules/aes-js/lib.esm/aes.js","../node_modules/.pnpm/aes-js@4.0.0-beta.5/node_modules/aes-js/lib.esm/mode.js","../node_modules/.pnpm/aes-js@4.0.0-beta.5/node_modules/aes-js/lib.esm/mode-cbc.js","../node_modules/.pnpm/aes-js@4.0.0-beta.5/node_modules/aes-js/lib.esm/mode-ctr.js","../node_modules/.pnpm/aes-js@4.0.0-beta.5/node_modules/aes-js/lib.esm/padding.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wallet/utils.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wallet/json-keystore.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wallet/hdwallet.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wallet/json-crowdsale.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wallet/wallet.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wordlists/bit-reader.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wordlists/decode-owla.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wordlists/wordlist-owla.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wordlists/wordlists-browser.js","../src/services/Ethers.ts","../src/services/Provider.ts","../src/browser/Wallet.ts","../node_modules/.pnpm/@wagmi+chains@1.8.0/node_modules/@wagmi/chains/dist/index.mjs","../src/services/Networks.ts","../src/browser/adapters/switcher.ts","../src/browser/adapters/icons.ts","../src/browser/adapters/Phantom.ts","../src/browser/adapters/MetaMask.ts","../src/assets/Contract.ts","../src/services/TransactionSigner.ts","../src/assets/NFT.ts","../src/assets/Coin.ts","../src/assets/Token.ts","../src/models/Transaction.ts","../src/models/ContractTransaction.ts","../src/models/NftTransaction.ts","../src/models/CoinTransaction.ts","../src/models/TokenTransaction.ts","../src/services/TransactionListener.ts","../node_modules/.pnpm/proxy-compare@2.5.1/node_modules/proxy-compare/dist/index.modern.js","../node_modules/.pnpm/valtio@1.11.2_react@18.2.0/node_modules/valtio/esm/vanilla.mjs","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/utils/ConstantsUtil.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/utils/CoreHelperUtil.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/utils/FetchUtil.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/OptionsController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/BlockchainApiController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/SnackController.js","../../../../node_modules/.pnpm/vite-plugin-node-polyfills@0.21.0_vite@5.1.4/node_modules/vite-plugin-node-polyfills/shims/process/dist/index.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/utils/StorageUtil.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/EventsController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/TransactionsController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/ConnectionController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/PublicStateController.js","../node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/dayjs.min.js","../node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/plugin/updateLocale.js","../node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/plugin/relativeTime.js","../node_modules/.pnpm/@web3modal+common@4.1.11/node_modules/@web3modal/common/dist/esm/src/utils/DateUtil.js","../node_modules/.pnpm/@web3modal+common@4.1.11/node_modules/@web3modal/common/dist/esm/src/utils/NetworkUtil.js","../node_modules/.pnpm/@web3modal+common@4.1.11/node_modules/@web3modal/common/dist/esm/src/utils/NumberUtil.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/NetworkController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/utils/ConvertApiUtil.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/RouterController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/ConvertController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/AccountController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/AssetController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/ThemeController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/ConnectorController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/ApiController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/ModalController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/OnRampController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/SendController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/utils/AssetUtil.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/utils/RouterUtil.js","../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/css-tag.js","../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/reactive-element.js","../node_modules/.pnpm/lit-html@3.1.3/node_modules/lit-html/lit-html.js","../node_modules/.pnpm/lit-element@4.0.5/node_modules/lit-element/lit-element.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/convert-input-mask-bottom.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/convert-input-mask-top.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/utils/ThemeUtil.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/utils/WebComponentsUtil.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-card/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-card/index.js","../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/decorators/property.js","../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/decorators/state.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-icon/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/all-wallets.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/arrow-bottom-circle.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/app-store.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/apple.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/arrow-bottom.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/arrow-left.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/arrow-right.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/arrow-top.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/browser.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/checkmark.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/chevron-bottom.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/chevron-left.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/chevron-right.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/chevron-top.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/chrome-store.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/clock.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/close.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/coinPlaceholder.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/compass.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/copy.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/add.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/cursor.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/desktop.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/disconnect.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/discord.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/etherscan.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/extension.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/external-link.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/facebook.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/filters.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/github.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/google.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/help-circle.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/info-circle.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/mail.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/mobile.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/network-placeholder.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/nftPlaceholder.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/off.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/play-store.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/qr-code.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/refresh.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/search.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/send.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/swapHorizontal.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/swapHorizontalBold.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/swapHorizontalMedium.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/swapHorizontalRoundedBold.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/swapVertical.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/telegram.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/twitch.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/twitter.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/twitterIcon.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/verify.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/verify-filled.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/wallet-placeholder.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/wallet.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/walletconnect.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/warning-circle.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/recycle-horizontal.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/bank.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/card.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/plus.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/cursor-transparent.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/checkmark-bold.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-icon/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-image/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-image/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-loading-hexagon/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-loading-hexagon/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-loading-spinner/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-loading-spinner/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-loading-thumbnail/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-loading-thumbnail/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-shimmer/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-shimmer/index.js","../node_modules/.pnpm/lit-html@3.1.3/node_modules/lit-html/directive.js","../node_modules/.pnpm/lit-html@3.1.3/node_modules/lit-html/directives/class-map.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-text/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-text/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/browser.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/dao.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/defi.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/defiAlt.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/eth.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/layers.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/lock.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/login.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/network.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/nft.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/noun.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/profile.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/system.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/coinbase.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/moonpay.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/stripe.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/paypal.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/onramp-card.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/google.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/pencil.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/lightbulb.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-visual/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-visual/index.js","../node_modules/.pnpm/lit-html@3.1.3/node_modules/lit-html/directives/if-defined.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/utils/UiHelperUtil.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/layout/wui-flex/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/layout/wui-flex/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-avatar/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-avatar/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-icon-box/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-icon-box/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-account-button/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-account-button/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-wallet-image/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-wallet-image/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-all-wallets-image/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-all-wallets-image/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-button/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-button/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/networkMd.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-card-select-loader/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-card-select-loader/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/networkSm.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/networkLg.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-network-image/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-network-image/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-card-select/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-card-select/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-chip/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-chip/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-connect-button/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-connect-button/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-cta-button/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-cta-button/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-details-group/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-details-group/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-details-group-item/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-details-group-item/index.js","../node_modules/.pnpm/lit-html@3.1.3/node_modules/lit-html/directive-helpers.js","../node_modules/.pnpm/lit-html@3.1.3/node_modules/lit-html/async-directive.js","../node_modules/.pnpm/lit-html@3.1.3/node_modules/lit-html/directives/ref.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-input-text/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-input-text/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-email-input/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-email-input/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-icon-link/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-icon-link/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-input-element/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-input-element/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-input-numeric/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-input-numeric/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-link/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-link/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-item/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-item/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/utils/TypeUtil.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-transaction-visual/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-transaction-visual/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-transaction-list-item/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-transaction-list-item/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-transaction-list-item-loader/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-transaction-list-item-loader/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-tag/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-tag/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-wallet/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-wallet/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-logo/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-logo/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-logo-select/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-logo-select/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-network-button/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-network-button/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-otp/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-otp/index.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/can-promise.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/utils.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/error-correction-level.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/bit-buffer.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/bit-matrix.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/alignment-pattern.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/finder-pattern.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/mask-pattern.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/error-correction-code.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/galois-field.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/polynomial.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/reed-solomon-encoder.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/version-check.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/regex.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/mode.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/version.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/format-info.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/numeric-data.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/alphanumeric-data.js","../node_modules/.pnpm/encode-utf8@1.0.3/node_modules/encode-utf8/index.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/byte-data.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/kanji-data.js","../node_modules/.pnpm/dijkstrajs@1.0.3/node_modules/dijkstrajs/dijkstra.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/segments.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/qrcode.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/renderer/utils.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/renderer/canvas.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/renderer/svg-tag.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/browser.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/utils/QrCode.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-qr-code/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-qr-code/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-search-bar/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-search-bar/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-snackbar/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-snackbar/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-tabs/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-tabs/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-token-button/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-token-button/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-tooltip/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-tooltip/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-tooltip-select/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-tooltip-select/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-token-list-item/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-token-list-item/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-visual-thumbnail/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-visual-thumbnail/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-notice-card/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-notice-card/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-accordion/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-accordion/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-content/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-content/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-network/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-network/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-wallet-transaction/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-wallet-transaction/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-onramp-activity-item/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-onramp-activity-item/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-onramp-provider-item/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-onramp-provider-item/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-promo/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-promo/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-balance/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-balance/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-profile-button/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-profile-button/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-chip-button/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-chip-button/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-compatible-network/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-compatible-network/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-banner/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-banner/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-token/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-token/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-description/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-description/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-input-amount/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/utils/ConstantsUtil.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-input-amount/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-preview-item/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-preview-item/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/layout/wui-grid/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/layout/wui-grid/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/layout/wui-separator/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/layout/wui-separator/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/utils/MathUtil.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/utils/TransactionUtil.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/modal/w3m-account-button/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/modal/w3m-button/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/modal/w3m-button/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/modal/w3m-connect-button/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/modal/w3m-modal/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/modal/w3m-modal/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/modal/w3m-network-button/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/modal/w3m-network-button/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/modal/w3m-router/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/modal/w3m-router/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/modal/w3m-onramp-widget/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/modal/w3m-onramp-widget/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-account-settings-view/styles.js","../node_modules/.pnpm/@web3modal+polyfills@4.1.11/node_modules/@web3modal/polyfills/dist/esm/index.js","../node_modules/.pnpm/@web3modal+wallet@4.1.11/node_modules/@web3modal/wallet/dist/esm/src/W3mFrameConstants.js","../node_modules/.pnpm/@web3modal+wallet@4.1.11/node_modules/@web3modal/wallet/dist/esm/src/W3mFrameSchema.js","../node_modules/.pnpm/@web3modal+wallet@4.1.11/node_modules/@web3modal/wallet/dist/esm/src/W3mFrameStorage.js","../node_modules/.pnpm/@web3modal+wallet@4.1.11/node_modules/@web3modal/wallet/dist/esm/src/RegexUtil.js","../node_modules/.pnpm/@web3modal+wallet@4.1.11/node_modules/@web3modal/wallet/dist/esm/src/W3mFrameHelpers.js","../node_modules/.pnpm/@web3modal+wallet@4.1.11/node_modules/@web3modal/wallet/dist/esm/src/W3mFrame.js","../node_modules/.pnpm/@web3modal+wallet@4.1.11/node_modules/@web3modal/wallet/dist/esm/src/W3mFrameProvider.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-account-settings-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-account-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-all-wallets-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-buy-in-progress-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-buy-in-progress-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-connect-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold-utils@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold-utils/dist/esm/src/ConstantsUtil.js","../node_modules/.pnpm/@web3modal+scaffold-utils@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold-utils/dist/esm/src/PresetsUtil.js","../node_modules/.pnpm/@web3modal+scaffold-utils@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold-utils/dist/esm/src/HelpersUtil.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-connect-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/utils/w3m-connecting-widget/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/utils/w3m-connecting-widget/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-connecting-external-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-connecting-wc-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-downloads-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-get-wallet-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-network-switch-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-network-switch-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-networks-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-networks-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-onramp-activity-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-onramp-activity-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-onramp-fiat-select-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-onramp-fiat-select-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-onramp-providers-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-onramp-tokens-select-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-onramp-tokens-select-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-convert-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-convert-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-convert-preview-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-convert-preview-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-convert-select-token-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-convert-select-token-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-transactions-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-transactions-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-what-is-a-network-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-what-is-a-wallet-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-what-is-a-buy-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/utils/w3m-email-otp-widget/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/utils/w3m-email-otp-widget/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-email-verify-otp-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-email-verify-device-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-email-verify-device-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-approve-transaction-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-approve-transaction-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-upgrade-wallet-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-upgrade-to-smart-account-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-update-email-wallet-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-update-email-wallet-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-update-email-primary-otp-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-update-email-secondary-otp-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-unsupported-chain-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-unsupported-chain-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-wallet-receive-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-wallet-receive-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-wallet-compatible-networks-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-wallet-compatible-networks-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-wallet-send-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-wallet-send-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-wallet-send-select-token-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-wallet-send-select-token-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-wallet-send-preview-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-wallet-send-preview-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-all-wallets-list/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/utils/markWalletsAsInstalled.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-all-wallets-list/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-all-wallets-search/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-all-wallets-search/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-connecting-header/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-connecting-wc-browser/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-connecting-wc-desktop/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-connecting-wc-mobile/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-connecting-wc-qrcode/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-connecting-wc-qrcode/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-connecting-wc-unsupported/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-connecting-wc-web/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-convert-details/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-convert-details/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-convert-input/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-convert-input/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-header/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-header/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-help-widget/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-swap-input/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-swap-input/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-legal-footer/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-legal-footer/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-mobile-download-links/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-mobile-download-links/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-onramp-providers-footer/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-onramp-providers-footer/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-snackbar/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-snackbar/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-email-login-widget/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-email-login-widget/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-account-default-widget/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-account-default-widget/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-account-wallet-features-widget/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/utils/ConstantsUtil.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-account-wallet-features-widget/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-account-activity-widget/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-account-activity-widget/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-account-nfts-widget/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-account-nfts-widget/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-account-tokens-widget/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-account-tokens-widget/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-activity-list/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-activity-list/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-input-token/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-input-token/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-input-address/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-input-address/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-wallet-send-details/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-wallet-send-details/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/client.js","../../../../node_modules/.pnpm/events@3.3.0/node_modules/events/events.js","../node_modules/.pnpm/@stablelib+int@1.0.1/node_modules/@stablelib/int/lib/int.js","../node_modules/.pnpm/@stablelib+binary@1.0.1/node_modules/@stablelib/binary/lib/binary.js","../node_modules/.pnpm/@stablelib+wipe@1.0.1/node_modules/@stablelib/wipe/lib/wipe.js","../node_modules/.pnpm/@stablelib+chacha@1.0.1/node_modules/@stablelib/chacha/lib/chacha.js","../node_modules/.pnpm/@stablelib+constant-time@1.0.1/node_modules/@stablelib/constant-time/lib/constant-time.js","../node_modules/.pnpm/@stablelib+poly1305@1.0.1/node_modules/@stablelib/poly1305/lib/poly1305.js","../node_modules/.pnpm/@stablelib+chacha20poly1305@1.0.1/node_modules/@stablelib/chacha20poly1305/lib/chacha20poly1305.js","../node_modules/.pnpm/@stablelib+hash@1.0.1/node_modules/@stablelib/hash/lib/hash.js","../node_modules/.pnpm/@stablelib+hmac@1.0.1/node_modules/@stablelib/hmac/lib/hmac.js","../node_modules/.pnpm/@stablelib+hkdf@1.0.1/node_modules/@stablelib/hkdf/lib/hkdf.js","../node_modules/.pnpm/@stablelib+random@1.0.2/node_modules/@stablelib/random/lib/source/browser.js","../../../../node_modules/.pnpm/safe-buffer@5.2.1/node_modules/safe-buffer/index.js","../../../../node_modules/.pnpm/randombytes@2.1.0/node_modules/randombytes/browser.js","../../../../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits_browser.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/stream-browser.js","../../../../node_modules/.pnpm/has-symbols@1.0.3/node_modules/has-symbols/shams.js","../../../../node_modules/.pnpm/has-tostringtag@1.0.2/node_modules/has-tostringtag/shams.js","../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js","../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js","../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js","../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js","../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js","../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js","../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js","../../../../node_modules/.pnpm/has-symbols@1.0.3/node_modules/has-symbols/index.js","../../../../node_modules/.pnpm/has-proto@1.0.3/node_modules/has-proto/index.js","../../../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js","../../../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js","../../../../node_modules/.pnpm/hasown@2.0.1/node_modules/hasown/index.js","../../../../node_modules/.pnpm/get-intrinsic@1.2.4/node_modules/get-intrinsic/index.js","../../../../node_modules/.pnpm/es-define-property@1.0.0/node_modules/es-define-property/index.js","../../../../node_modules/.pnpm/gopd@1.0.1/node_modules/gopd/index.js","../../../../node_modules/.pnpm/define-data-property@1.1.4/node_modules/define-data-property/index.js","../../../../node_modules/.pnpm/has-property-descriptors@1.0.2/node_modules/has-property-descriptors/index.js","../../../../node_modules/.pnpm/set-function-length@1.2.1/node_modules/set-function-length/index.js","../../../../node_modules/.pnpm/call-bind@1.0.7/node_modules/call-bind/index.js","../../../../node_modules/.pnpm/call-bind@1.0.7/node_modules/call-bind/callBound.js","../../../../node_modules/.pnpm/is-arguments@1.1.1/node_modules/is-arguments/index.js","../../../../node_modules/.pnpm/is-generator-function@1.0.10/node_modules/is-generator-function/index.js","../../../../node_modules/.pnpm/is-callable@1.2.7/node_modules/is-callable/index.js","../../../../node_modules/.pnpm/for-each@0.3.3/node_modules/for-each/index.js","../../../../node_modules/.pnpm/possible-typed-array-names@1.0.0/node_modules/possible-typed-array-names/index.js","../../../../node_modules/.pnpm/available-typed-arrays@1.0.7/node_modules/available-typed-arrays/index.js","../../../../node_modules/.pnpm/which-typed-array@1.1.14/node_modules/which-typed-array/index.js","../../../../node_modules/.pnpm/is-typed-array@1.1.13/node_modules/is-typed-array/index.js","../../../../node_modules/.pnpm/util@0.12.5/node_modules/util/support/types.js","../../../../node_modules/.pnpm/util@0.12.5/node_modules/util/support/isBufferBrowser.js","../../../../node_modules/.pnpm/util@0.12.5/node_modules/util/util.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/buffer_list.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/destroy.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/errors-browser.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/state.js","../../../../node_modules/.pnpm/util-deprecate@1.0.2/node_modules/util-deprecate/browser.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_duplex.js","../../../../node_modules/.pnpm/string_decoder@1.3.0/node_modules/string_decoder/lib/string_decoder.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/end-of-stream.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/async_iterator.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/from-browser.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_readable.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_passthrough.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/pipeline.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/readable-browser.js","../../../../node_modules/.pnpm/hash-base@3.1.0/node_modules/hash-base/index.js","../../../../node_modules/.pnpm/md5.js@1.3.5/node_modules/md5.js/index.js","../../../../node_modules/.pnpm/ripemd160@2.0.2/node_modules/ripemd160/index.js","../../../../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/hash.js","../../../../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha.js","../../../../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha1.js","../../../../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha256.js","../../../../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha224.js","../../../../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha512.js","../../../../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha384.js","../../../../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/index.js","../../../../node_modules/.pnpm/stream-browserify@3.0.0/node_modules/stream-browserify/index.js","../../../../node_modules/.pnpm/cipher-base@1.0.4/node_modules/cipher-base/index.js","../../../../node_modules/.pnpm/create-hash@1.2.0/node_modules/create-hash/browser.js","../../../../node_modules/.pnpm/create-hmac@1.1.7/node_modules/create-hmac/legacy.js","../../../../node_modules/.pnpm/create-hash@1.2.0/node_modules/create-hash/md5.js","../../../../node_modules/.pnpm/create-hmac@1.1.7/node_modules/create-hmac/browser.js","../../../../node_modules/.pnpm/browserify-sign@4.2.2/node_modules/browserify-sign/algos.js","../../../../node_modules/.pnpm/pbkdf2@3.1.2/node_modules/pbkdf2/lib/precondition.js","../../../../node_modules/.pnpm/pbkdf2@3.1.2/node_modules/pbkdf2/lib/default-encoding.js","../../../../node_modules/.pnpm/pbkdf2@3.1.2/node_modules/pbkdf2/lib/to-buffer.js","../../../../node_modules/.pnpm/pbkdf2@3.1.2/node_modules/pbkdf2/lib/sync-browser.js","../../../../node_modules/.pnpm/pbkdf2@3.1.2/node_modules/pbkdf2/lib/async.js","../../../../node_modules/.pnpm/pbkdf2@3.1.2/node_modules/pbkdf2/browser.js","../../../../node_modules/.pnpm/des.js@1.1.0/node_modules/des.js/lib/des/utils.js","../../../../node_modules/.pnpm/minimalistic-assert@1.0.1/node_modules/minimalistic-assert/index.js","../../../../node_modules/.pnpm/des.js@1.1.0/node_modules/des.js/lib/des/cipher.js","../../../../node_modules/.pnpm/des.js@1.1.0/node_modules/des.js/lib/des/des.js","../../../../node_modules/.pnpm/des.js@1.1.0/node_modules/des.js/lib/des/cbc.js","../../../../node_modules/.pnpm/des.js@1.1.0/node_modules/des.js/lib/des/ede.js","../../../../node_modules/.pnpm/des.js@1.1.0/node_modules/des.js/lib/des.js","../../../../node_modules/.pnpm/browserify-des@1.0.2/node_modules/browserify-des/index.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/modes/ecb.js","../../../../node_modules/.pnpm/buffer-xor@1.0.3/node_modules/buffer-xor/index.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/modes/cbc.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/modes/cfb.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/modes/cfb8.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/modes/cfb1.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/modes/ofb.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/incr32.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/modes/ctr.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/modes/index.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/aes.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/ghash.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/authCipher.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/streamCipher.js","../../../../node_modules/.pnpm/evp_bytestokey@1.0.3/node_modules/evp_bytestokey/index.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/encrypter.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/decrypter.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/browser.js","../../../../node_modules/.pnpm/browserify-des@1.0.2/node_modules/browserify-des/modes.js","../../../../node_modules/.pnpm/browserify-cipher@1.0.1/node_modules/browserify-cipher/browser.js","../../../../node_modules/.pnpm/bn.js@4.12.0/node_modules/bn.js/lib/bn.js","../../../../node_modules/.pnpm/brorand@1.1.0/node_modules/brorand/index.js","../../../../node_modules/.pnpm/miller-rabin@4.0.1/node_modules/miller-rabin/lib/mr.js","../../../../node_modules/.pnpm/diffie-hellman@5.0.3/node_modules/diffie-hellman/lib/generatePrime.js","../../../../node_modules/.pnpm/diffie-hellman@5.0.3/node_modules/diffie-hellman/lib/dh.js","../../../../node_modules/.pnpm/diffie-hellman@5.0.3/node_modules/diffie-hellman/browser.js","../../../../node_modules/.pnpm/bn.js@5.2.1/node_modules/bn.js/lib/bn.js","../../../../node_modules/.pnpm/browserify-rsa@4.1.0/node_modules/browserify-rsa/index.js","../../../../node_modules/.pnpm/minimalistic-crypto-utils@1.0.1/node_modules/minimalistic-crypto-utils/lib/utils.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic/utils.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic/curve/base.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic/curve/short.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic/curve/mont.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic/curve/edwards.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic/curve/index.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/utils.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/common.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/sha/common.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/sha/1.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/sha/256.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/sha/224.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/sha/512.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/sha/384.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/sha.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/ripemd.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/hmac.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic/curves.js","../../../../node_modules/.pnpm/hmac-drbg@1.0.1/node_modules/hmac-drbg/lib/hmac-drbg.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic/ec/key.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic/ec/signature.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic/ec/index.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic/eddsa/key.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic/eddsa/signature.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic/eddsa/index.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic.js","../../../../node_modules/.pnpm/safer-buffer@2.1.2/node_modules/safer-buffer/safer.js","../../../../node_modules/.pnpm/asn1.js@5.4.1/node_modules/asn1.js/lib/asn1/base/reporter.js","../../../../node_modules/.pnpm/asn1.js@5.4.1/node_modules/asn1.js/lib/asn1/base/buffer.js","../../../../node_modules/.pnpm/asn1.js@5.4.1/node_modules/asn1.js/lib/asn1/base/node.js","../../../../node_modules/.pnpm/asn1.js@5.4.1/node_modules/asn1.js/lib/asn1/constants/der.js","../../../../node_modules/.pnpm/asn1.js@5.4.1/node_modules/asn1.js/lib/asn1/encoders/der.js","../../../../node_modules/.pnpm/asn1.js@5.4.1/node_modules/asn1.js/lib/asn1/encoders/pem.js","../../../../node_modules/.pnpm/asn1.js@5.4.1/node_modules/asn1.js/lib/asn1/encoders/index.js","../../../../node_modules/.pnpm/asn1.js@5.4.1/node_modules/asn1.js/lib/asn1/decoders/der.js","../../../../node_modules/.pnpm/asn1.js@5.4.1/node_modules/asn1.js/lib/asn1/decoders/pem.js","../../../../node_modules/.pnpm/asn1.js@5.4.1/node_modules/asn1.js/lib/asn1/decoders/index.js","../../../../node_modules/.pnpm/asn1.js@5.4.1/node_modules/asn1.js/lib/asn1/api.js","../../../../node_modules/.pnpm/asn1.js@5.4.1/node_modules/asn1.js/lib/asn1/base/index.js","../../../../node_modules/.pnpm/asn1.js@5.4.1/node_modules/asn1.js/lib/asn1/constants/index.js","../../../../node_modules/.pnpm/asn1.js@5.4.1/node_modules/asn1.js/lib/asn1.js","../../../../node_modules/.pnpm/parse-asn1@5.1.6/node_modules/parse-asn1/certificate.js","../../../../node_modules/.pnpm/parse-asn1@5.1.6/node_modules/parse-asn1/asn1.js","../../../../node_modules/.pnpm/parse-asn1@5.1.6/node_modules/parse-asn1/fixProc.js","../../../../node_modules/.pnpm/parse-asn1@5.1.6/node_modules/parse-asn1/index.js","../../../../node_modules/.pnpm/browserify-sign@4.2.2/node_modules/browserify-sign/browser/sign.js","../../../../node_modules/.pnpm/browserify-sign@4.2.2/node_modules/browserify-sign/browser/verify.js","../../../../node_modules/.pnpm/browserify-sign@4.2.2/node_modules/browserify-sign/browser/index.js","../../../../node_modules/.pnpm/create-ecdh@4.0.4/node_modules/create-ecdh/browser.js","../../../../node_modules/.pnpm/public-encrypt@4.0.3/node_modules/public-encrypt/mgf.js","../../../../node_modules/.pnpm/public-encrypt@4.0.3/node_modules/public-encrypt/xor.js","../../../../node_modules/.pnpm/public-encrypt@4.0.3/node_modules/public-encrypt/withPublic.js","../../../../node_modules/.pnpm/public-encrypt@4.0.3/node_modules/public-encrypt/publicEncrypt.js","../../../../node_modules/.pnpm/public-encrypt@4.0.3/node_modules/public-encrypt/privateDecrypt.js","../../../../node_modules/.pnpm/public-encrypt@4.0.3/node_modules/public-encrypt/browser.js","../../../../node_modules/.pnpm/randomfill@1.0.4/node_modules/randomfill/browser.js","../../../../node_modules/.pnpm/crypto-browserify@3.12.0/node_modules/crypto-browserify/index.js","../node_modules/.pnpm/@stablelib+random@1.0.2/node_modules/@stablelib/random/lib/source/node.js","../node_modules/.pnpm/@stablelib+random@1.0.2/node_modules/@stablelib/random/lib/source/system.js","../node_modules/.pnpm/@stablelib+random@1.0.2/node_modules/@stablelib/random/lib/random.js","../node_modules/.pnpm/@stablelib+sha256@1.0.1/node_modules/@stablelib/sha256/lib/sha256.js","../node_modules/.pnpm/@stablelib+x25519@1.0.3/node_modules/@stablelib/x25519/lib/x25519.js","../node_modules/.pnpm/uint8arrays@3.1.1/node_modules/uint8arrays/esm/src/util/as-uint8array.js","../node_modules/.pnpm/uint8arrays@3.1.1/node_modules/uint8arrays/esm/src/alloc.js","../node_modules/.pnpm/uint8arrays@3.1.1/node_modules/uint8arrays/esm/src/concat.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/vendor/base-x.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/src/bytes.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/src/bases/base.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/src/bases/identity.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/src/bases/base2.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/src/bases/base8.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/src/bases/base10.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/src/bases/base16.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/src/bases/base32.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/src/bases/base36.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/src/bases/base58.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/src/bases/base64.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/src/bases/base256emoji.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/src/codecs/json.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/src/basics.js","../node_modules/.pnpm/uint8arrays@3.1.1/node_modules/uint8arrays/esm/src/util/bases.js","../node_modules/.pnpm/uint8arrays@3.1.1/node_modules/uint8arrays/esm/src/from-string.js","../node_modules/.pnpm/uint8arrays@3.1.1/node_modules/uint8arrays/esm/src/to-string.js","../node_modules/.pnpm/detect-browser@5.3.0/node_modules/detect-browser/es/index.js","../node_modules/.pnpm/tslib@1.14.1/node_modules/tslib/tslib.es6.js","../node_modules/.pnpm/@walletconnect+time@1.0.2/node_modules/@walletconnect/time/dist/cjs/utils/delay.js","../node_modules/.pnpm/@walletconnect+time@1.0.2/node_modules/@walletconnect/time/dist/cjs/constants/misc.js","../node_modules/.pnpm/@walletconnect+time@1.0.2/node_modules/@walletconnect/time/dist/cjs/constants/time.js","../node_modules/.pnpm/@walletconnect+time@1.0.2/node_modules/@walletconnect/time/dist/cjs/constants/index.js","../node_modules/.pnpm/@walletconnect+time@1.0.2/node_modules/@walletconnect/time/dist/cjs/utils/convert.js","../node_modules/.pnpm/@walletconnect+time@1.0.2/node_modules/@walletconnect/time/dist/cjs/utils/index.js","../node_modules/.pnpm/@walletconnect+time@1.0.2/node_modules/@walletconnect/time/dist/cjs/watch.js","../node_modules/.pnpm/@walletconnect+time@1.0.2/node_modules/@walletconnect/time/dist/cjs/types/watch.js","../node_modules/.pnpm/@walletconnect+time@1.0.2/node_modules/@walletconnect/time/dist/cjs/types/index.js","../node_modules/.pnpm/@walletconnect+time@1.0.2/node_modules/@walletconnect/time/dist/cjs/index.js","../node_modules/.pnpm/@walletconnect+window-getters@1.0.1/node_modules/@walletconnect/window-getters/dist/cjs/index.js","../node_modules/.pnpm/@walletconnect+window-metadata@1.0.1/node_modules/@walletconnect/window-metadata/dist/cjs/index.js","../node_modules/.pnpm/strict-uri-encode@2.0.0/node_modules/strict-uri-encode/index.js","../node_modules/.pnpm/decode-uri-component@0.2.2/node_modules/decode-uri-component/index.js","../node_modules/.pnpm/split-on-first@1.1.0/node_modules/split-on-first/index.js","../node_modules/.pnpm/filter-obj@1.1.0/node_modules/filter-obj/index.js","../node_modules/.pnpm/query-string@7.1.3/node_modules/query-string/index.js","../node_modules/.pnpm/@walletconnect+relay-api@1.0.10/node_modules/@walletconnect/relay-api/dist/index.es.js","../node_modules/.pnpm/@walletconnect+utils@2.11.1/node_modules/@walletconnect/utils/dist/index.es.js","../node_modules/.pnpm/destr@2.0.3/node_modules/destr/dist/index.mjs","../node_modules/.pnpm/unstorage@1.10.2_idb-keyval@6.2.1/node_modules/unstorage/dist/shared/unstorage.8581f561.mjs","../node_modules/.pnpm/unstorage@1.10.2_idb-keyval@6.2.1/node_modules/unstorage/dist/index.mjs","../node_modules/.pnpm/idb-keyval@6.2.1/node_modules/idb-keyval/dist/index.js","../node_modules/.pnpm/@walletconnect+safe-json@1.0.2/node_modules/@walletconnect/safe-json/dist/esm/index.js","../node_modules/.pnpm/@walletconnect+keyvaluestorage@1.1.1/node_modules/@walletconnect/keyvaluestorage/dist/index.es.js","../node_modules/.pnpm/@walletconnect+events@1.0.1/node_modules/@walletconnect/events/dist/esm/events.js","../node_modules/.pnpm/@walletconnect+heartbeat@1.2.1/node_modules/@walletconnect/heartbeat/dist/cjs/types/heartbeat.js","../node_modules/.pnpm/@walletconnect+heartbeat@1.2.1/node_modules/@walletconnect/heartbeat/dist/cjs/types/index.js","../node_modules/.pnpm/@walletconnect+heartbeat@1.2.1/node_modules/@walletconnect/heartbeat/dist/cjs/constants/heartbeat.js","../node_modules/.pnpm/@walletconnect+heartbeat@1.2.1/node_modules/@walletconnect/heartbeat/dist/cjs/constants/index.js","../node_modules/.pnpm/@walletconnect+heartbeat@1.2.1/node_modules/@walletconnect/heartbeat/dist/cjs/heartbeat.js","../node_modules/.pnpm/@walletconnect+heartbeat@1.2.1/node_modules/@walletconnect/heartbeat/dist/cjs/index.js","../node_modules/.pnpm/quick-format-unescaped@4.0.4/node_modules/quick-format-unescaped/index.js","../node_modules/.pnpm/pino@7.11.0/node_modules/pino/browser.js","../node_modules/.pnpm/@walletconnect+logger@2.1.2/node_modules/@walletconnect/logger/dist/index.es.js","../node_modules/.pnpm/@walletconnect+types@2.11.1/node_modules/@walletconnect/types/dist/index.es.js","../node_modules/.pnpm/@stablelib+sha512@1.0.1/node_modules/@stablelib/sha512/lib/sha512.js","../node_modules/.pnpm/@stablelib+ed25519@1.0.3/node_modules/@stablelib/ed25519/lib/ed25519.js","../node_modules/.pnpm/@walletconnect+relay-auth@1.0.4/node_modules/@walletconnect/relay-auth/dist/esm/constants.js","../node_modules/.pnpm/@walletconnect+relay-auth@1.0.4/node_modules/@walletconnect/relay-auth/dist/esm/utils.js","../node_modules/.pnpm/@walletconnect+relay-auth@1.0.4/node_modules/@walletconnect/relay-auth/dist/esm/api.js","../node_modules/.pnpm/@walletconnect+jsonrpc-utils@1.0.8/node_modules/@walletconnect/jsonrpc-utils/dist/esm/constants.js","../node_modules/.pnpm/@walletconnect+jsonrpc-utils@1.0.8/node_modules/@walletconnect/jsonrpc-utils/dist/esm/error.js","../node_modules/.pnpm/@walletconnect+environment@1.0.1/node_modules/@walletconnect/environment/dist/cjs/crypto.js","../node_modules/.pnpm/@walletconnect+environment@1.0.1/node_modules/@walletconnect/environment/dist/cjs/env.js","../node_modules/.pnpm/@walletconnect+environment@1.0.1/node_modules/@walletconnect/environment/dist/cjs/index.js","../node_modules/.pnpm/@walletconnect+jsonrpc-utils@1.0.8/node_modules/@walletconnect/jsonrpc-utils/dist/esm/format.js","../node_modules/.pnpm/@walletconnect+jsonrpc-types@1.0.3/node_modules/@walletconnect/jsonrpc-types/dist/esm/misc.js","../node_modules/.pnpm/@walletconnect+jsonrpc-types@1.0.3/node_modules/@walletconnect/jsonrpc-types/dist/esm/provider.js","../node_modules/.pnpm/@walletconnect+jsonrpc-utils@1.0.8/node_modules/@walletconnect/jsonrpc-utils/dist/esm/url.js","../node_modules/.pnpm/@walletconnect+jsonrpc-utils@1.0.8/node_modules/@walletconnect/jsonrpc-utils/dist/esm/validators.js","../node_modules/.pnpm/@walletconnect+jsonrpc-provider@1.0.13/node_modules/@walletconnect/jsonrpc-provider/dist/esm/provider.js","../node_modules/.pnpm/@walletconnect+jsonrpc-ws-connection@1.0.14/node_modules/@walletconnect/jsonrpc-ws-connection/dist/index.es.js","../node_modules/.pnpm/lodash.isequal@4.5.0/node_modules/lodash.isequal/index.js","../node_modules/.pnpm/unfetch@4.2.0/node_modules/unfetch/dist/unfetch.module.js","../node_modules/.pnpm/isomorphic-unfetch@3.1.0/node_modules/isomorphic-unfetch/browser.js","../node_modules/.pnpm/@walletconnect+core@2.11.1/node_modules/@walletconnect/core/dist/index.es.js","../node_modules/.pnpm/@walletconnect+sign-client@2.11.1/node_modules/@walletconnect/sign-client/dist/index.es.js","../node_modules/.pnpm/cross-fetch@3.1.8/node_modules/cross-fetch/dist/browser-ponyfill.js","../node_modules/.pnpm/@walletconnect+jsonrpc-http-connection@1.0.7/node_modules/@walletconnect/jsonrpc-http-connection/dist/esm/http.js","../node_modules/.pnpm/@walletconnect+universal-provider@2.11.1/node_modules/@walletconnect/universal-provider/dist/index.es.js","../node_modules/.pnpm/@walletconnect+ethereum-provider@2.11.1_react@18.2.0/node_modules/@walletconnect/ethereum-provider/dist/index.es.js","../node_modules/.pnpm/@web3modal+scaffold-utils@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold-utils/dist/esm/src/EthersConstantsUtil.js","../node_modules/.pnpm/@web3modal+scaffold-utils@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold-utils/dist/esm/src/EthersHelpersUtil.js","../node_modules/.pnpm/@web3modal+scaffold-utils@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold-utils/dist/esm/src/EthersStoreUtil.js","../node_modules/.pnpm/@web3modal+ethers@4.1.11_ethers@6.11.1_react@18.2.0/node_modules/@web3modal/ethers/dist/esm/src/client.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/assets/wallet-logo.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/core/constants.js","../node_modules/.pnpm/bn.js@5.2.1/node_modules/bn.js/lib/bn.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/core/error/constants.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/core/error/utils.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/core/error/errors.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/type/Web3Response.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/version.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/core/error/serialize.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/core/error/index.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/core/type.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/core/util.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/lib/ScopedLocalStorage.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/provider/DiagnosticLogger.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/RelayAbstract.js","../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits_browser.js","../node_modules/.pnpm/safe-buffer@5.2.1/node_modules/safe-buffer/index.js","../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/hash.js","../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha.js","../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha1.js","../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha256.js","../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha224.js","../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha512.js","../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha384.js","../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/index.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/Session.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/lib/Cipher.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/connection/WalletLinkHTTP.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/connection/WalletLinkWebSocket.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/connection/WalletLinkConnection.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/lib/cssReset-css.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/lib/cssReset.js","../node_modules/.pnpm/preact@10.20.2/node_modules/preact/dist/preact.module.js","../node_modules/.pnpm/clsx@1.2.1/node_modules/clsx/dist/clsx.m.js","../node_modules/.pnpm/preact@10.20.2/node_modules/preact/hooks/dist/hooks.module.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/icons/CloseIcon.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/icons/CoinbaseWalletRound.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/icons/QRCodeIcon.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/vendor-js/qrcode-svg/index.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/QRCode.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/Spinner/Spinner-css.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/Spinner/Spinner.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/ConnectContent/ConnectContent-css.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/ConnectContent/ConnectContent.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/icons/ArrowLeftIcon.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/icons/LaptopIcon.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/icons/SafeIcon.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/TryExtensionContent/TryExtensionContent-css.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/TryExtensionContent/TryExtensionContent.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/ConnectDialog/ConnectDialog-css.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/ConnectDialog/ConnectDialog.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/LinkFlow/LinkFlow.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/Snackbar/Snackbar-css.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/Snackbar/Snackbar.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/WalletLinkRelayUI.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/WalletLinkRelay.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/Snackbar/index.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/RedirectDialog/RedirectDialog-css.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/RedirectDialog/RedirectDialog.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/mobile/MobileRelayUI.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/mobile/MobileRelay.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/stream-browser.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/buffer_list.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/destroy.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/errors-browser.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/state.js","../node_modules/.pnpm/util-deprecate@1.0.2/node_modules/util-deprecate/browser.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_duplex.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/end-of-stream.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/async_iterator.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/from-browser.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_readable.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_passthrough.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/pipeline.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/readable-browser.js","../node_modules/.pnpm/keccak@3.0.4/node_modules/keccak/lib/api/keccak.js","../node_modules/.pnpm/keccak@3.0.4/node_modules/keccak/lib/api/shake.js","../node_modules/.pnpm/keccak@3.0.4/node_modules/keccak/lib/api/index.js","../node_modules/.pnpm/keccak@3.0.4/node_modules/keccak/lib/keccak-state-unroll.js","../node_modules/.pnpm/keccak@3.0.4/node_modules/keccak/lib/keccak.js","../node_modules/.pnpm/keccak@3.0.4/node_modules/keccak/js.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/vendor-js/eth-eip712-util/util.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/vendor-js/eth-eip712-util/abi.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/vendor-js/eth-eip712-util/index.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/provider/FilterPolyfill.js","../node_modules/.pnpm/json-rpc-random-id@1.0.1/node_modules/json-rpc-random-id/index.js","../node_modules/.pnpm/pify@3.0.0/node_modules/pify/index.js","../node_modules/.pnpm/@metamask+safe-event-emitter@3.1.1/node_modules/@metamask/safe-event-emitter/dist/cjs/index.js","../node_modules/.pnpm/eth-block-tracker@7.1.0/node_modules/eth-block-tracker/dist/BaseBlockTracker.js","../node_modules/.pnpm/superstruct@1.0.4/node_modules/superstruct/dist/index.mjs","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/assert.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/base64.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/hex.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/bytes.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/checksum.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/coercers.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/collections.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/encryption-types.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/json.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/keyring.js","../node_modules/.pnpm/ms@2.1.2/node_modules/ms/index.js","../node_modules/.pnpm/debug@4.3.4/node_modules/debug/src/common.js","../node_modules/.pnpm/debug@4.3.4/node_modules/debug/src/browser.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/logging.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/misc.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/number.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/opaque.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/time.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/transaction-types.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/internal/constants.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/internal/debug.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/internal/re.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/internal/parse-options.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/internal/identifiers.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/classes/semver.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/parse.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/valid.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/clean.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/inc.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/diff.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/major.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/minor.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/patch.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/prerelease.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/compare.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/rcompare.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/compare-loose.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/compare-build.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/sort.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/rsort.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/gt.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/lt.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/eq.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/neq.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/gte.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/lte.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/cmp.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/coerce.js","../node_modules/.pnpm/yallist@4.0.0/node_modules/yallist/iterator.js","../node_modules/.pnpm/yallist@4.0.0/node_modules/yallist/yallist.js","../node_modules/.pnpm/lru-cache@6.0.0/node_modules/lru-cache/index.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/classes/range.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/classes/comparator.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/satisfies.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/to-comparators.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/max-satisfying.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/min-satisfying.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/min-version.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/valid.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/outside.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/gtr.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/ltr.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/intersects.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/simplify.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/subset.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/index.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/versions.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/index.js","../node_modules/.pnpm/eth-block-tracker@7.1.0/node_modules/eth-block-tracker/dist/logging-utils.js","../node_modules/.pnpm/eth-block-tracker@7.1.0/node_modules/eth-block-tracker/dist/PollingBlockTracker.js","../node_modules/.pnpm/eth-block-tracker@7.1.0/node_modules/eth-block-tracker/dist/SubscribeBlockTracker.js","../node_modules/.pnpm/eth-block-tracker@7.1.0/node_modules/eth-block-tracker/dist/index.js","../node_modules/.pnpm/json-rpc-engine@6.1.0/node_modules/json-rpc-engine/dist/getUniqueId.js","../node_modules/.pnpm/json-rpc-engine@6.1.0/node_modules/json-rpc-engine/dist/idRemapMiddleware.js","../node_modules/.pnpm/json-rpc-engine@6.1.0/node_modules/json-rpc-engine/dist/createAsyncMiddleware.js","../node_modules/.pnpm/json-rpc-engine@6.1.0/node_modules/json-rpc-engine/dist/createScaffoldMiddleware.js","../node_modules/.pnpm/@metamask+safe-event-emitter@2.0.0/node_modules/@metamask/safe-event-emitter/index.js","../node_modules/.pnpm/fast-safe-stringify@2.1.1/node_modules/fast-safe-stringify/index.js","../node_modules/.pnpm/eth-rpc-errors@4.0.3/node_modules/eth-rpc-errors/dist/classes.js","../node_modules/.pnpm/eth-rpc-errors@4.0.3/node_modules/eth-rpc-errors/dist/error-constants.js","../node_modules/.pnpm/eth-rpc-errors@4.0.3/node_modules/eth-rpc-errors/dist/utils.js","../node_modules/.pnpm/eth-rpc-errors@4.0.3/node_modules/eth-rpc-errors/dist/errors.js","../node_modules/.pnpm/eth-rpc-errors@4.0.3/node_modules/eth-rpc-errors/dist/index.js","../node_modules/.pnpm/json-rpc-engine@6.1.0/node_modules/json-rpc-engine/dist/JsonRpcEngine.js","../node_modules/.pnpm/json-rpc-engine@6.1.0/node_modules/json-rpc-engine/dist/mergeMiddleware.js","../node_modules/.pnpm/json-rpc-engine@6.1.0/node_modules/json-rpc-engine/dist/index.js","../node_modules/.pnpm/tslib@2.4.0/node_modules/tslib/tslib.es6.js","../node_modules/.pnpm/async-mutex@0.2.6/node_modules/async-mutex/lib/Semaphore.js","../node_modules/.pnpm/async-mutex@0.2.6/node_modules/async-mutex/lib/Mutex.js","../node_modules/.pnpm/async-mutex@0.2.6/node_modules/async-mutex/lib/withTimeout.js","../node_modules/.pnpm/async-mutex@0.2.6/node_modules/async-mutex/lib/index.js","../node_modules/.pnpm/xtend@4.0.2/node_modules/xtend/immutable.js","../node_modules/.pnpm/eth-query@2.1.2/node_modules/eth-query/index.js","../node_modules/.pnpm/pify@5.0.0/node_modules/pify/index.js","../node_modules/.pnpm/eth-json-rpc-filters@6.0.1/node_modules/eth-json-rpc-filters/base-filter.js","../node_modules/.pnpm/eth-json-rpc-filters@6.0.1/node_modules/eth-json-rpc-filters/base-filter-history.js","../node_modules/.pnpm/eth-json-rpc-filters@6.0.1/node_modules/eth-json-rpc-filters/hexUtils.js","../node_modules/.pnpm/eth-json-rpc-filters@6.0.1/node_modules/eth-json-rpc-filters/log-filter.js","../node_modules/.pnpm/eth-json-rpc-filters@6.0.1/node_modules/eth-json-rpc-filters/getBlocksForRange.js","../node_modules/.pnpm/eth-json-rpc-filters@6.0.1/node_modules/eth-json-rpc-filters/block-filter.js","../node_modules/.pnpm/eth-json-rpc-filters@6.0.1/node_modules/eth-json-rpc-filters/tx-filter.js","../node_modules/.pnpm/eth-json-rpc-filters@6.0.1/node_modules/eth-json-rpc-filters/index.js","../node_modules/.pnpm/eth-json-rpc-filters@6.0.1/node_modules/eth-json-rpc-filters/subscriptionManager.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/provider/SubscriptionManager.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/provider/CoinbaseWalletProvider.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/RelayEventManager.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/CoinbaseWalletSDK.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/index.js","../node_modules/.pnpm/@web3modal+ethers@4.1.11_ethers@6.11.1_react@18.2.0/node_modules/@web3modal/ethers/dist/esm/src/utils/defaultConfig.js","../node_modules/.pnpm/@web3modal+ethers@4.1.11_ethers@6.11.1_react@18.2.0/node_modules/@web3modal/ethers/dist/esm/exports/index.js","../src/browser/adapters/Web3Modal.ts","../src/browser/adapters/OkxWallet.ts","../src/browser/adapters/XdefiWallet.ts","../src/browser/adapters/TrustWallet.ts","../src/browser/adapters/BitgetWallet.ts","../node_modules/.pnpm/@walletconnect+utils@2.12.2/node_modules/@walletconnect/utils/dist/index.es.js","../node_modules/.pnpm/@walletconnect+types@2.12.2/node_modules/@walletconnect/types/dist/index.es.js","../node_modules/.pnpm/@walletconnect+core@2.12.2/node_modules/@walletconnect/core/dist/index.es.js","../node_modules/.pnpm/@walletconnect+sign-client@2.12.2/node_modules/@walletconnect/sign-client/dist/index.es.js","../node_modules/.pnpm/@walletconnect+universal-provider@2.12.2/node_modules/@walletconnect/universal-provider/dist/index.es.js","../node_modules/.pnpm/@walletconnect+ethereum-provider@2.12.2_react@18.2.0/node_modules/@walletconnect/ethereum-provider/dist/index.es.js","../src/browser/adapters/WalletConnect.ts","../src/browser/index.ts","../node_modules/.pnpm/@web3modal+siwe@4.1.11_react@18.2.0/node_modules/@web3modal/siwe/dist/esm/core/controller/SIWEController.js","../node_modules/.pnpm/@web3modal+siwe@4.1.11_react@18.2.0/node_modules/@web3modal/siwe/dist/esm/scaffold/partials/w3m-connecting-siwe/styles.js","../node_modules/.pnpm/@web3modal+siwe@4.1.11_react@18.2.0/node_modules/@web3modal/siwe/dist/esm/scaffold/partials/w3m-connecting-siwe/index.js","../node_modules/.pnpm/@web3modal+siwe@4.1.11_react@18.2.0/node_modules/@web3modal/siwe/dist/esm/scaffold/views/w3m-connecting-siwe-view/index.js","../node_modules/.pnpm/@walletconnect+modal-core@2.6.2_react@18.2.0/node_modules/@walletconnect/modal-core/dist/index.js","../node_modules/.pnpm/@walletconnect+modal@2.6.2_react@18.2.0/node_modules/@walletconnect/modal/dist/index.js","../node_modules/.pnpm/@lit+reactive-element@1.6.3/node_modules/@lit/reactive-element/css-tag.js","../node_modules/.pnpm/@lit+reactive-element@1.6.3/node_modules/@lit/reactive-element/reactive-element.js","../node_modules/.pnpm/lit-html@2.8.0/node_modules/lit-html/lit-html.js","../node_modules/.pnpm/lit-element@3.3.3/node_modules/lit-element/lit-element.js","../node_modules/.pnpm/@lit+reactive-element@1.6.3/node_modules/@lit/reactive-element/decorators/custom-element.js","../node_modules/.pnpm/@lit+reactive-element@1.6.3/node_modules/@lit/reactive-element/decorators/property.js","../node_modules/.pnpm/@lit+reactive-element@1.6.3/node_modules/@lit/reactive-element/decorators/state.js","../node_modules/.pnpm/@lit+reactive-element@1.6.3/node_modules/@lit/reactive-element/decorators/query-assigned-elements.js","../node_modules/.pnpm/lit-html@2.8.0/node_modules/lit-html/directive.js","../node_modules/.pnpm/lit-html@2.8.0/node_modules/lit-html/directives/class-map.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/array.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/clamp.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/defaults.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/is-number.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/is-easing-list.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/wrap.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/easing.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/mix.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/noop.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/progress.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/offset.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/interpolate.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/is-cubic-bezier.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/is-easing-generator.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/is-function.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/is-string.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/time.es.js","../node_modules/.pnpm/@motionone+easing@10.17.0/node_modules/@motionone/easing/dist/cubic-bezier.es.js","../node_modules/.pnpm/@motionone+easing@10.17.0/node_modules/@motionone/easing/dist/steps.es.js","../node_modules/.pnpm/@motionone+animation@10.17.0/node_modules/@motionone/animation/dist/utils/easing.es.js","../node_modules/.pnpm/@motionone+animation@10.17.0/node_modules/@motionone/animation/dist/Animation.es.js","../node_modules/.pnpm/hey-listen@1.0.8/node_modules/hey-listen/dist/hey-listen.es.js","../node_modules/.pnpm/@motionone+types@10.17.0/node_modules/@motionone/types/dist/MotionValue.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/data.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/utils/transforms.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/utils/css-var.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/utils/feature-detection.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/utils/easing.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/utils/keyframes.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/utils/get-style-name.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/style.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/utils/stop-animation.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/utils/get-unit.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/animate-style.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/utils/options.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/utils/resolve-elements.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/utils/controls.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/utils/stagger.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/create-animate.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/index.es.js","../node_modules/.pnpm/motion@10.16.2/node_modules/motion/dist/animate.es.js","../node_modules/.pnpm/lit-html@2.8.0/node_modules/lit-html/directives/if-defined.js","../node_modules/.pnpm/@walletconnect+modal-ui@2.6.2_react@18.2.0/node_modules/@walletconnect/modal-ui/dist/index.js"],"sourcesContent":["/**\n * Asset transactions (COIN, TOKEN, NFT) has two directions\n */\nexport enum AssetDirectionEnum {\n INCOMING = 'INCOMING',\n OUTGOING = 'OUTGOING'\n}\n\n/**\n * There are six types of transactions at the moment.\n * COIN, TOKEN, and NFT transactions are called ASSET transactions\n */\nexport enum TransactionTypeEnum {\n GENERAL = 'GENERAL',\n CONTRACT = 'CONTRACT',\n COIN = 'COIN',\n TOKEN = 'TOKEN',\n NFT = 'NFT'\n}\n\n/**\n * There are 3 available transaction statuses:\n * FAILED --> When a transaction is failed\n * PENDING --> When a transaction has not been concluded\n * CONFIRMED --> When a transaction is confirmed\n */\nexport enum TransactionStatusEnum {\n FAILED = 'FAILED',\n PENDING = 'PENDING',\n CONFIRMED = 'CONFIRMED'\n}\n\nexport enum ErrorTypeEnum {\n RPC_TIMEOUT = 'RPC_TIMEOUT',\n RPC_REQUEST_ERROR = 'RPC_REQUEST_ERROR',\n RPC_ACCESS_DENIED = 'RPC_ACCESS_DENIED',\n WS_URL_NOT_DEFINED = 'WS_URL_NOT_DEFINED',\n WS_CONNECTION_FAILED = 'WS_CONNECTION_FAILED',\n UNACCEPTED_CHAIN = 'UNACCEPTED_CHAIN',\n UNAUTHORIZED_ADDRESS = 'UNAUTHORIZED_ADDRESS',\n INSUFFICIENT_BALANCE = 'INSUFFICIENT_BALANCE',\n INVALID_AMOUNT = 'INVALID_AMOUNT',\n INVALID_ADDRESS = 'INVALID_ADDRESS',\n INVALID_PRIVATE_KEY = 'INVALID_PRIVATE_KEY',\n INVALID_PUBLIC_KEY = 'INVALID_PUBLIC_KEY',\n INVALID_TRANSACTION_ID = 'INVALID_TRANSACTION_ID',\n PROVIDER_IS_REQUIRED = 'PROVIDER_IS_REQUIRED',\n PROVIDER_IS_NOT_INITIALIZED = 'PROVIDER_IS_NOT_INITIALIZED',\n PROVIDER_IS_ALREADY_INITIALIZED = 'PROVIDER_IS_ALREADY_INITIALIZED',\n WALLET_ALREADY_PROCESSING = 'WALLET_ALREADY_PROCESSING',\n WALLET_CONNECT_REJECTED = 'WALLET_CONNECT_REJECTED',\n WALLET_REQUEST_REJECTED = 'WALLET_REQUEST_REJECTED',\n WALLET_CONNECTION_FAILED = 'WALLET_CONNECTION_FAILED',\n WALLET_CONNECTION_TIMEOUT = 'WALLET_CONNECTION_TIMEOUT',\n TRANSACTION_CREATION_FAILED = 'TRANSACTION_CREATION_FAILED',\n TRANSACTION_NOT_FOUND = 'TRANSACTION_NOT_FOUND',\n CLOSED_WALLETCONNECT_MODAL = 'CLOSED_WALLETCONNECT_MODAL',\n PROJECT_ID_IS_REQUIRED = 'PROJECT_ID_IS_REQUIRED',\n METADATA_IS_REQUIRED = 'METADATA_IS_REQUIRED',\n CONFIG_IS_REQUIRED = 'CONFIG_IS_REQUIRED'\n}\n\nexport enum WalletPlatformEnum {\n BROWSER = 'BROWSER',\n MOBILE = 'MOBILE',\n DESKTOP = 'DESKTOP',\n UNIVERSAL = 'UNIVERSAL'\n}\n","import type {\n NftId,\n ContractAddress,\n TransactionId,\n TransferAmount,\n WalletAddress\n} from '../defines'\nimport { TransactionTypeEnum } from '../enums'\n\n/**\n * Filter types for each transaction type in TransactionListenerInterface\n */\nexport interface TransactionListenerFilterInterface {\n signer?: WalletAddress\n}\n\nexport interface ContractTransactionListenerFilterInterface\n extends TransactionListenerFilterInterface {\n address?: ContractAddress\n}\n\nexport interface AssetTransactionListenerFilterInterface\n extends TransactionListenerFilterInterface {\n sender?: WalletAddress\n receiver?: WalletAddress\n}\n\nexport interface CoinTransactionListenerFilterInterface\n extends AssetTransactionListenerFilterInterface {\n amount?: TransferAmount\n}\n\nexport interface TokenTransactionListenerFilterInterface\n extends AssetTransactionListenerFilterInterface,\n ContractTransactionListenerFilterInterface {\n amount?: TransferAmount\n}\n\nexport interface NftTransactionListenerFilterInterface\n extends AssetTransactionListenerFilterInterface,\n ContractTransactionListenerFilterInterface {\n nftId?: NftId\n}\n/**\n * Filter types for each transaction type in TransactionListenerInterface\n */\n\n/**\n * 'DynamicTransactionListenerFilterInterface' connects transaction types to their corresponding filter interfaces\n * Every type of transaction has its own unique filter values.\n * A sender's wallet address is a common value.\n */\nexport type DynamicTransactionListenerFilterType =\n T extends TransactionTypeEnum.GENERAL\n ? TransactionListenerFilterInterface\n : T extends TransactionTypeEnum.CONTRACT\n ? ContractTransactionListenerFilterInterface\n : T extends TransactionTypeEnum.COIN\n ? CoinTransactionListenerFilterInterface\n : T extends TransactionTypeEnum.TOKEN\n ? TokenTransactionListenerFilterInterface\n : T extends TransactionTypeEnum.NFT\n ? NftTransactionListenerFilterInterface\n : never\n\n/**\n * 'TransactionListenerProcessIndex' is an object that connects transaction types to their corresponding process methods.\n * Example: this[TransactionListenerProcessIndex[type]]()\n */\nexport const TransactionListenerProcessIndex = {\n [TransactionTypeEnum.GENERAL]: 'generalProcess',\n [TransactionTypeEnum.CONTRACT]: 'contractProcess',\n [TransactionTypeEnum.COIN]: 'coinProcess',\n [TransactionTypeEnum.TOKEN]: 'tokenProcess',\n [TransactionTypeEnum.NFT]: 'nftProcess'\n}\n\n/**\n * 'DynamicTransactionType' connects transaction types to their corresponding transaction interfaces\n * Every type of transaction has its own unique transaction interface.\n */\nexport type DynamicTransactionType<\n T extends TransactionTypeEnum,\n Transaction,\n ContractTransaction,\n CoinTransaction,\n TokenTransaction,\n NftTransaction\n> = T extends TransactionTypeEnum.GENERAL\n ? Transaction\n : T extends TransactionTypeEnum.CONTRACT\n ? ContractTransaction\n : T extends TransactionTypeEnum.COIN\n ? CoinTransaction\n : T extends TransactionTypeEnum.TOKEN\n ? TokenTransaction\n : T extends TransactionTypeEnum.NFT\n ? NftTransaction\n : never\n\nexport interface TransactionListenerInterface<\n T extends TransactionTypeEnum,\n Transaction,\n CallBackType\n> {\n /**\n * The 'type' property is a generic type that is used to define the type of transaction listener.\n */\n type: T\n\n /**\n * 'status' is a boolean that shows the status of the listener.\n * If 'status' is true, the listener is active.\n * If 'status' is false, the listener is inactive.\n */\n status: boolean\n\n /**\n * 'callback' is an array of callback functions that are triggered when a transaction is detected.\n */\n callbacks: CallBackType[]\n\n /**\n * Triggered transactions are stored in the 'triggeredTransactions' array.\n */\n triggeredTransactions: TransactionId[]\n\n /**\n * 'filter' is an object that has values depending on transaction listener type.\n * E.g. no matter which type of transaction is listening, 'filter' has to have a 'signer' value\n */\n filter?: DynamicTransactionListenerFilterType | Record\n\n /**\n * If the listener is active, the 'stop' method deactivates the listener.\n * @returns {void}\n */\n stop: () => void\n\n /**\n * If the listener is inactive, the 'start' method activates the listener.\n * @returns {void}\n */\n start: () => void\n\n /**\n * The 'getStatus' method returns the status of the listener.\n * @returns {boolean}\n */\n getStatus: () => boolean\n\n /**\n * The 'on' method adds a callback function to the 'callbacks' array and starts the listener.\n * @param {CallBackType} callback - a function that is triggered when a transaction is detected.\n * @return {Promise}\n */\n on: (callback: CallBackType) => Promise\n\n /**\n * The 'trigger' method is triggered when a transaction is detected.\n * @param {Transaction} transaction - a transaction that is detected.\n * @return {void}\n */\n trigger: (transaction: Transaction) => void\n\n /**\n * listener methods for each transaction type\n */\n generalProcess: () => void\n\n contractProcess: () => void\n\n coinProcess: () => void\n\n tokenProcess: () => void\n\n nftProcess: () => void\n}\n","const global = globalThis || void 0 || self;\n\nexport { global as default, global };\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","var buffer = {};\n\nvar base64Js = {};\n\nbase64Js.byteLength = byteLength;\nbase64Js.toByteArray = toByteArray;\nbase64Js.fromByteArray = fromByteArray;\n\nvar lookup = [];\nvar revLookup = [];\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62;\nrevLookup['_'.charCodeAt(0)] = 63;\n\nfunction getLens (b64) {\n var len = b64.length;\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=');\n if (validLen === -1) validLen = len;\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4);\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n\n var curByte = 0;\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen;\n\n var i;\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)];\n arr[curByte++] = (tmp >> 16) & 0xFF;\n arr[curByte++] = (tmp >> 8) & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4);\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2);\n arr[curByte++] = (tmp >> 8) & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp;\n var output = [];\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF);\n output.push(tripletToBase64(tmp));\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp;\n var len = uint8.length;\n var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes\n var parts = [];\n var maxChunkLength = 16383; // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)));\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1];\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n );\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n );\n }\n\n return parts.join('')\n}\n\nvar ieee754 = {};\n\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\n\nieee754.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = (nBytes * 8) - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? (nBytes - 1) : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n\n i += d;\n\n e = s & ((1 << (-nBits)) - 1);\n s >>= (-nBits);\n nBits += eLen;\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1);\n e >>= (-nBits);\n nBits += mLen;\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n};\n\nieee754.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = (nBytes * 8) - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0);\n var i = isLE ? 0 : (nBytes - 1);\n var d = isLE ? 1 : -1;\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0;\n\n value = Math.abs(value);\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m;\n eLen += mLen;\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128;\n};\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n(function (exports) {\n\n\tconst base64 = base64Js;\n\tconst ieee754$1 = ieee754;\n\tconst customInspectSymbol =\n\t (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n\t ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n\t : null;\n\n\texports.Buffer = Buffer;\n\texports.SlowBuffer = SlowBuffer;\n\texports.INSPECT_MAX_BYTES = 50;\n\n\tconst K_MAX_LENGTH = 0x7fffffff;\n\texports.kMaxLength = K_MAX_LENGTH;\n\tconst { Uint8Array: GlobalUint8Array, ArrayBuffer: GlobalArrayBuffer, SharedArrayBuffer: GlobalSharedArrayBuffer } = globalThis;\n\n\t/**\n\t * If `Buffer.TYPED_ARRAY_SUPPORT`:\n\t * === true Use Uint8Array implementation (fastest)\n\t * === false Print warning and recommend using `buffer` v4.x which has an Object\n\t * implementation (most compatible, even IE6)\n\t *\n\t * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n\t * Opera 11.6+, iOS 4.2+.\n\t *\n\t * We report that the browser does not support typed arrays if the are not subclassable\n\t * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n\t * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n\t * for __proto__ and has a buggy typed array implementation.\n\t */\n\tBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n\n\tif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n\t typeof console.error === 'function') {\n\t console.error(\n\t 'This browser lacks typed array (Uint8Array) support which is required by ' +\n\t '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n\t );\n\t}\n\n\tfunction typedArraySupport () {\n\t // Can typed array instances can be augmented?\n\t try {\n\t const arr = new GlobalUint8Array(1);\n\t const proto = { foo: function () { return 42 } };\n\t Object.setPrototypeOf(proto, GlobalUint8Array.prototype);\n\t Object.setPrototypeOf(arr, proto);\n\t return arr.foo() === 42\n\t } catch (e) {\n\t return false\n\t }\n\t}\n\n\tObject.defineProperty(Buffer.prototype, 'parent', {\n\t enumerable: true,\n\t get: function () {\n\t if (!Buffer.isBuffer(this)) return undefined\n\t return this.buffer\n\t }\n\t});\n\n\tObject.defineProperty(Buffer.prototype, 'offset', {\n\t enumerable: true,\n\t get: function () {\n\t if (!Buffer.isBuffer(this)) return undefined\n\t return this.byteOffset\n\t }\n\t});\n\n\tfunction createBuffer (length) {\n\t if (length > K_MAX_LENGTH) {\n\t throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n\t }\n\t // Return an augmented `Uint8Array` instance\n\t const buf = new GlobalUint8Array(length);\n\t Object.setPrototypeOf(buf, Buffer.prototype);\n\t return buf\n\t}\n\n\t/**\n\t * The Buffer constructor returns instances of `Uint8Array` that have their\n\t * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n\t * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n\t * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n\t * returns a single octet.\n\t *\n\t * The `Uint8Array` prototype remains unmodified.\n\t */\n\n\tfunction Buffer (arg, encodingOrOffset, length) {\n\t // Common case.\n\t if (typeof arg === 'number') {\n\t if (typeof encodingOrOffset === 'string') {\n\t throw new TypeError(\n\t 'The \"string\" argument must be of type string. Received type number'\n\t )\n\t }\n\t return allocUnsafe(arg)\n\t }\n\t return from(arg, encodingOrOffset, length)\n\t}\n\n\tBuffer.poolSize = 8192; // not used by this implementation\n\n\tfunction from (value, encodingOrOffset, length) {\n\t if (typeof value === 'string') {\n\t return fromString(value, encodingOrOffset)\n\t }\n\n\t if (GlobalArrayBuffer.isView(value)) {\n\t return fromArrayView(value)\n\t }\n\n\t if (value == null) {\n\t throw new TypeError(\n\t 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t 'or Array-like Object. Received type ' + (typeof value)\n\t )\n\t }\n\n\t if (isInstance(value, GlobalArrayBuffer) ||\n\t (value && isInstance(value.buffer, GlobalArrayBuffer))) {\n\t return fromArrayBuffer(value, encodingOrOffset, length)\n\t }\n\n\t if (typeof GlobalSharedArrayBuffer !== 'undefined' &&\n\t (isInstance(value, GlobalSharedArrayBuffer) ||\n\t (value && isInstance(value.buffer, GlobalSharedArrayBuffer)))) {\n\t return fromArrayBuffer(value, encodingOrOffset, length)\n\t }\n\n\t if (typeof value === 'number') {\n\t throw new TypeError(\n\t 'The \"value\" argument must not be of type number. Received type number'\n\t )\n\t }\n\n\t const valueOf = value.valueOf && value.valueOf();\n\t if (valueOf != null && valueOf !== value) {\n\t return Buffer.from(valueOf, encodingOrOffset, length)\n\t }\n\n\t const b = fromObject(value);\n\t if (b) return b\n\n\t if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n\t typeof value[Symbol.toPrimitive] === 'function') {\n\t return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n\t }\n\n\t throw new TypeError(\n\t 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t 'or Array-like Object. Received type ' + (typeof value)\n\t )\n\t}\n\n\t/**\n\t * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n\t * if value is a number.\n\t * Buffer.from(str[, encoding])\n\t * Buffer.from(array)\n\t * Buffer.from(buffer)\n\t * Buffer.from(arrayBuffer[, byteOffset[, length]])\n\t **/\n\tBuffer.from = function (value, encodingOrOffset, length) {\n\t return from(value, encodingOrOffset, length)\n\t};\n\n\t// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n\t// https://github.com/feross/buffer/pull/148\n\tObject.setPrototypeOf(Buffer.prototype, GlobalUint8Array.prototype);\n\tObject.setPrototypeOf(Buffer, GlobalUint8Array);\n\n\tfunction assertSize (size) {\n\t if (typeof size !== 'number') {\n\t throw new TypeError('\"size\" argument must be of type number')\n\t } else if (size < 0) {\n\t throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n\t }\n\t}\n\n\tfunction alloc (size, fill, encoding) {\n\t assertSize(size);\n\t if (size <= 0) {\n\t return createBuffer(size)\n\t }\n\t if (fill !== undefined) {\n\t // Only pay attention to encoding if it's a string. This\n\t // prevents accidentally sending in a number that would\n\t // be interpreted as a start offset.\n\t return typeof encoding === 'string'\n\t ? createBuffer(size).fill(fill, encoding)\n\t : createBuffer(size).fill(fill)\n\t }\n\t return createBuffer(size)\n\t}\n\n\t/**\n\t * Creates a new filled Buffer instance.\n\t * alloc(size[, fill[, encoding]])\n\t **/\n\tBuffer.alloc = function (size, fill, encoding) {\n\t return alloc(size, fill, encoding)\n\t};\n\n\tfunction allocUnsafe (size) {\n\t assertSize(size);\n\t return createBuffer(size < 0 ? 0 : checked(size) | 0)\n\t}\n\n\t/**\n\t * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n\t * */\n\tBuffer.allocUnsafe = function (size) {\n\t return allocUnsafe(size)\n\t};\n\t/**\n\t * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n\t */\n\tBuffer.allocUnsafeSlow = function (size) {\n\t return allocUnsafe(size)\n\t};\n\n\tfunction fromString (string, encoding) {\n\t if (typeof encoding !== 'string' || encoding === '') {\n\t encoding = 'utf8';\n\t }\n\n\t if (!Buffer.isEncoding(encoding)) {\n\t throw new TypeError('Unknown encoding: ' + encoding)\n\t }\n\n\t const length = byteLength(string, encoding) | 0;\n\t let buf = createBuffer(length);\n\n\t const actual = buf.write(string, encoding);\n\n\t if (actual !== length) {\n\t // Writing a hex string, for example, that contains invalid characters will\n\t // cause everything after the first invalid character to be ignored. (e.g.\n\t // 'abxxcd' will be treated as 'ab')\n\t buf = buf.slice(0, actual);\n\t }\n\n\t return buf\n\t}\n\n\tfunction fromArrayLike (array) {\n\t const length = array.length < 0 ? 0 : checked(array.length) | 0;\n\t const buf = createBuffer(length);\n\t for (let i = 0; i < length; i += 1) {\n\t buf[i] = array[i] & 255;\n\t }\n\t return buf\n\t}\n\n\tfunction fromArrayView (arrayView) {\n\t if (isInstance(arrayView, GlobalUint8Array)) {\n\t const copy = new GlobalUint8Array(arrayView);\n\t return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n\t }\n\t return fromArrayLike(arrayView)\n\t}\n\n\tfunction fromArrayBuffer (array, byteOffset, length) {\n\t if (byteOffset < 0 || array.byteLength < byteOffset) {\n\t throw new RangeError('\"offset\" is outside of buffer bounds')\n\t }\n\n\t if (array.byteLength < byteOffset + (length || 0)) {\n\t throw new RangeError('\"length\" is outside of buffer bounds')\n\t }\n\n\t let buf;\n\t if (byteOffset === undefined && length === undefined) {\n\t buf = new GlobalUint8Array(array);\n\t } else if (length === undefined) {\n\t buf = new GlobalUint8Array(array, byteOffset);\n\t } else {\n\t buf = new GlobalUint8Array(array, byteOffset, length);\n\t }\n\n\t // Return an augmented `Uint8Array` instance\n\t Object.setPrototypeOf(buf, Buffer.prototype);\n\n\t return buf\n\t}\n\n\tfunction fromObject (obj) {\n\t if (Buffer.isBuffer(obj)) {\n\t const len = checked(obj.length) | 0;\n\t const buf = createBuffer(len);\n\n\t if (buf.length === 0) {\n\t return buf\n\t }\n\n\t obj.copy(buf, 0, 0, len);\n\t return buf\n\t }\n\n\t if (obj.length !== undefined) {\n\t if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n\t return createBuffer(0)\n\t }\n\t return fromArrayLike(obj)\n\t }\n\n\t if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n\t return fromArrayLike(obj.data)\n\t }\n\t}\n\n\tfunction checked (length) {\n\t // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n\t // length is NaN (which is otherwise coerced to zero.)\n\t if (length >= K_MAX_LENGTH) {\n\t throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n\t 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n\t }\n\t return length | 0\n\t}\n\n\tfunction SlowBuffer (length) {\n\t if (+length != length) { // eslint-disable-line eqeqeq\n\t length = 0;\n\t }\n\t return Buffer.alloc(+length)\n\t}\n\n\tBuffer.isBuffer = function isBuffer (b) {\n\t return b != null && b._isBuffer === true &&\n\t b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n\t};\n\n\tBuffer.compare = function compare (a, b) {\n\t if (isInstance(a, GlobalUint8Array)) a = Buffer.from(a, a.offset, a.byteLength);\n\t if (isInstance(b, GlobalUint8Array)) b = Buffer.from(b, b.offset, b.byteLength);\n\t if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n\t throw new TypeError(\n\t 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n\t )\n\t }\n\n\t if (a === b) return 0\n\n\t let x = a.length;\n\t let y = b.length;\n\n\t for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n\t if (a[i] !== b[i]) {\n\t x = a[i];\n\t y = b[i];\n\t break\n\t }\n\t }\n\n\t if (x < y) return -1\n\t if (y < x) return 1\n\t return 0\n\t};\n\n\tBuffer.isEncoding = function isEncoding (encoding) {\n\t switch (String(encoding).toLowerCase()) {\n\t case 'hex':\n\t case 'utf8':\n\t case 'utf-8':\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t case 'base64':\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return true\n\t default:\n\t return false\n\t }\n\t};\n\n\tBuffer.concat = function concat (list, length) {\n\t if (!Array.isArray(list)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t }\n\n\t if (list.length === 0) {\n\t return Buffer.alloc(0)\n\t }\n\n\t let i;\n\t if (length === undefined) {\n\t length = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t length += list[i].length;\n\t }\n\t }\n\n\t const buffer = Buffer.allocUnsafe(length);\n\t let pos = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t let buf = list[i];\n\t if (isInstance(buf, GlobalUint8Array)) {\n\t if (pos + buf.length > buffer.length) {\n\t if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf);\n\t buf.copy(buffer, pos);\n\t } else {\n\t GlobalUint8Array.prototype.set.call(\n\t buffer,\n\t buf,\n\t pos\n\t );\n\t }\n\t } else if (!Buffer.isBuffer(buf)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t } else {\n\t buf.copy(buffer, pos);\n\t }\n\t pos += buf.length;\n\t }\n\t return buffer\n\t};\n\n\tfunction byteLength (string, encoding) {\n\t if (Buffer.isBuffer(string)) {\n\t return string.length\n\t }\n\t if (GlobalArrayBuffer.isView(string) || isInstance(string, GlobalArrayBuffer)) {\n\t return string.byteLength\n\t }\n\t if (typeof string !== 'string') {\n\t throw new TypeError(\n\t 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n\t 'Received type ' + typeof string\n\t )\n\t }\n\n\t const len = string.length;\n\t const mustMatch = (arguments.length > 2 && arguments[2] === true);\n\t if (!mustMatch && len === 0) return 0\n\n\t // Use a for loop to avoid recursion\n\t let loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t return len\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8ToBytes(string).length\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return len * 2\n\t case 'hex':\n\t return len >>> 1\n\t case 'base64':\n\t return base64ToBytes(string).length\n\t default:\n\t if (loweredCase) {\n\t return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n\t }\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\tBuffer.byteLength = byteLength;\n\n\tfunction slowToString (encoding, start, end) {\n\t let loweredCase = false;\n\n\t // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n\t // property of a typed array.\n\n\t // This behaves neither like String nor Uint8Array in that we set start/end\n\t // to their upper/lower bounds if the value passed is out of range.\n\t // undefined is handled specially as per ECMA-262 6th Edition,\n\t // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n\t if (start === undefined || start < 0) {\n\t start = 0;\n\t }\n\t // Return early if start > this.length. Done here to prevent potential uint32\n\t // coercion fail below.\n\t if (start > this.length) {\n\t return ''\n\t }\n\n\t if (end === undefined || end > this.length) {\n\t end = this.length;\n\t }\n\n\t if (end <= 0) {\n\t return ''\n\t }\n\n\t // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n\t end >>>= 0;\n\t start >>>= 0;\n\n\t if (end <= start) {\n\t return ''\n\t }\n\n\t if (!encoding) encoding = 'utf8';\n\n\t while (true) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexSlice(this, start, end)\n\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Slice(this, start, end)\n\n\t case 'ascii':\n\t return asciiSlice(this, start, end)\n\n\t case 'latin1':\n\t case 'binary':\n\t return latin1Slice(this, start, end)\n\n\t case 'base64':\n\t return base64Slice(this, start, end)\n\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return utf16leSlice(this, start, end)\n\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t encoding = (encoding + '').toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\n\t// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n\t// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n\t// reliably in a browserify context because there could be multiple different\n\t// copies of the 'buffer' package in use. This method works even for Buffer\n\t// instances that were created from another copy of the `buffer` package.\n\t// See: https://github.com/feross/buffer/issues/154\n\tBuffer.prototype._isBuffer = true;\n\n\tfunction swap (b, n, m) {\n\t const i = b[n];\n\t b[n] = b[m];\n\t b[m] = i;\n\t}\n\n\tBuffer.prototype.swap16 = function swap16 () {\n\t const len = this.length;\n\t if (len % 2 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 16-bits')\n\t }\n\t for (let i = 0; i < len; i += 2) {\n\t swap(this, i, i + 1);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.swap32 = function swap32 () {\n\t const len = this.length;\n\t if (len % 4 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 32-bits')\n\t }\n\t for (let i = 0; i < len; i += 4) {\n\t swap(this, i, i + 3);\n\t swap(this, i + 1, i + 2);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.swap64 = function swap64 () {\n\t const len = this.length;\n\t if (len % 8 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 64-bits')\n\t }\n\t for (let i = 0; i < len; i += 8) {\n\t swap(this, i, i + 7);\n\t swap(this, i + 1, i + 6);\n\t swap(this, i + 2, i + 5);\n\t swap(this, i + 3, i + 4);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.toString = function toString () {\n\t const length = this.length;\n\t if (length === 0) return ''\n\t if (arguments.length === 0) return utf8Slice(this, 0, length)\n\t return slowToString.apply(this, arguments)\n\t};\n\n\tBuffer.prototype.toLocaleString = Buffer.prototype.toString;\n\n\tBuffer.prototype.equals = function equals (b) {\n\t if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n\t if (this === b) return true\n\t return Buffer.compare(this, b) === 0\n\t};\n\n\tBuffer.prototype.inspect = function inspect () {\n\t let str = '';\n\t const max = exports.INSPECT_MAX_BYTES;\n\t str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim();\n\t if (this.length > max) str += ' ... ';\n\t return ''\n\t};\n\tif (customInspectSymbol) {\n\t Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect;\n\t}\n\n\tBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n\t if (isInstance(target, GlobalUint8Array)) {\n\t target = Buffer.from(target, target.offset, target.byteLength);\n\t }\n\t if (!Buffer.isBuffer(target)) {\n\t throw new TypeError(\n\t 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n\t 'Received type ' + (typeof target)\n\t )\n\t }\n\n\t if (start === undefined) {\n\t start = 0;\n\t }\n\t if (end === undefined) {\n\t end = target ? target.length : 0;\n\t }\n\t if (thisStart === undefined) {\n\t thisStart = 0;\n\t }\n\t if (thisEnd === undefined) {\n\t thisEnd = this.length;\n\t }\n\n\t if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n\t throw new RangeError('out of range index')\n\t }\n\n\t if (thisStart >= thisEnd && start >= end) {\n\t return 0\n\t }\n\t if (thisStart >= thisEnd) {\n\t return -1\n\t }\n\t if (start >= end) {\n\t return 1\n\t }\n\n\t start >>>= 0;\n\t end >>>= 0;\n\t thisStart >>>= 0;\n\t thisEnd >>>= 0;\n\n\t if (this === target) return 0\n\n\t let x = thisEnd - thisStart;\n\t let y = end - start;\n\t const len = Math.min(x, y);\n\n\t const thisCopy = this.slice(thisStart, thisEnd);\n\t const targetCopy = target.slice(start, end);\n\n\t for (let i = 0; i < len; ++i) {\n\t if (thisCopy[i] !== targetCopy[i]) {\n\t x = thisCopy[i];\n\t y = targetCopy[i];\n\t break\n\t }\n\t }\n\n\t if (x < y) return -1\n\t if (y < x) return 1\n\t return 0\n\t};\n\n\t// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n\t// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n\t//\n\t// Arguments:\n\t// - buffer - a Buffer to search\n\t// - val - a string, Buffer, or number\n\t// - byteOffset - an index into `buffer`; will be clamped to an int32\n\t// - encoding - an optional encoding, relevant is val is a string\n\t// - dir - true for indexOf, false for lastIndexOf\n\tfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n\t // Empty buffer means no match\n\t if (buffer.length === 0) return -1\n\n\t // Normalize byteOffset\n\t if (typeof byteOffset === 'string') {\n\t encoding = byteOffset;\n\t byteOffset = 0;\n\t } else if (byteOffset > 0x7fffffff) {\n\t byteOffset = 0x7fffffff;\n\t } else if (byteOffset < -0x80000000) {\n\t byteOffset = -0x80000000;\n\t }\n\t byteOffset = +byteOffset; // Coerce to Number.\n\t if (numberIsNaN(byteOffset)) {\n\t // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n\t byteOffset = dir ? 0 : (buffer.length - 1);\n\t }\n\n\t // Normalize byteOffset: negative offsets start from the end of the buffer\n\t if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n\t if (byteOffset >= buffer.length) {\n\t if (dir) return -1\n\t else byteOffset = buffer.length - 1;\n\t } else if (byteOffset < 0) {\n\t if (dir) byteOffset = 0;\n\t else return -1\n\t }\n\n\t // Normalize val\n\t if (typeof val === 'string') {\n\t val = Buffer.from(val, encoding);\n\t }\n\n\t // Finally, search either indexOf (if dir is true) or lastIndexOf\n\t if (Buffer.isBuffer(val)) {\n\t // Special case: looking for empty string/buffer always fails\n\t if (val.length === 0) {\n\t return -1\n\t }\n\t return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n\t } else if (typeof val === 'number') {\n\t val = val & 0xFF; // Search for a byte value [0-255]\n\t if (typeof GlobalUint8Array.prototype.indexOf === 'function') {\n\t if (dir) {\n\t return GlobalUint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n\t } else {\n\t return GlobalUint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n\t }\n\t }\n\t return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n\t }\n\n\t throw new TypeError('val must be string, number or Buffer')\n\t}\n\n\tfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n\t let indexSize = 1;\n\t let arrLength = arr.length;\n\t let valLength = val.length;\n\n\t if (encoding !== undefined) {\n\t encoding = String(encoding).toLowerCase();\n\t if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n\t encoding === 'utf16le' || encoding === 'utf-16le') {\n\t if (arr.length < 2 || val.length < 2) {\n\t return -1\n\t }\n\t indexSize = 2;\n\t arrLength /= 2;\n\t valLength /= 2;\n\t byteOffset /= 2;\n\t }\n\t }\n\n\t function read (buf, i) {\n\t if (indexSize === 1) {\n\t return buf[i]\n\t } else {\n\t return buf.readUInt16BE(i * indexSize)\n\t }\n\t }\n\n\t let i;\n\t if (dir) {\n\t let foundIndex = -1;\n\t for (i = byteOffset; i < arrLength; i++) {\n\t if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n\t if (foundIndex === -1) foundIndex = i;\n\t if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n\t } else {\n\t if (foundIndex !== -1) i -= i - foundIndex;\n\t foundIndex = -1;\n\t }\n\t }\n\t } else {\n\t if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n\t for (i = byteOffset; i >= 0; i--) {\n\t let found = true;\n\t for (let j = 0; j < valLength; j++) {\n\t if (read(arr, i + j) !== read(val, j)) {\n\t found = false;\n\t break\n\t }\n\t }\n\t if (found) return i\n\t }\n\t }\n\n\t return -1\n\t}\n\n\tBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n\t return this.indexOf(val, byteOffset, encoding) !== -1\n\t};\n\n\tBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n\t};\n\n\tBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n\t};\n\n\tfunction hexWrite (buf, string, offset, length) {\n\t offset = Number(offset) || 0;\n\t const remaining = buf.length - offset;\n\t if (!length) {\n\t length = remaining;\n\t } else {\n\t length = Number(length);\n\t if (length > remaining) {\n\t length = remaining;\n\t }\n\t }\n\n\t const strLen = string.length;\n\n\t if (length > strLen / 2) {\n\t length = strLen / 2;\n\t }\n\t let i;\n\t for (i = 0; i < length; ++i) {\n\t const parsed = parseInt(string.substr(i * 2, 2), 16);\n\t if (numberIsNaN(parsed)) return i\n\t buf[offset + i] = parsed;\n\t }\n\t return i\n\t}\n\n\tfunction utf8Write (buf, string, offset, length) {\n\t return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tfunction asciiWrite (buf, string, offset, length) {\n\t return blitBuffer(asciiToBytes(string), buf, offset, length)\n\t}\n\n\tfunction base64Write (buf, string, offset, length) {\n\t return blitBuffer(base64ToBytes(string), buf, offset, length)\n\t}\n\n\tfunction ucs2Write (buf, string, offset, length) {\n\t return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tBuffer.prototype.write = function write (string, offset, length, encoding) {\n\t // Buffer#write(string)\n\t if (offset === undefined) {\n\t encoding = 'utf8';\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, encoding)\n\t } else if (length === undefined && typeof offset === 'string') {\n\t encoding = offset;\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, offset[, length][, encoding])\n\t } else if (isFinite(offset)) {\n\t offset = offset >>> 0;\n\t if (isFinite(length)) {\n\t length = length >>> 0;\n\t if (encoding === undefined) encoding = 'utf8';\n\t } else {\n\t encoding = length;\n\t length = undefined;\n\t }\n\t } else {\n\t throw new Error(\n\t 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n\t )\n\t }\n\n\t const remaining = this.length - offset;\n\t if (length === undefined || length > remaining) length = remaining;\n\n\t if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n\t throw new RangeError('Attempt to write outside buffer bounds')\n\t }\n\n\t if (!encoding) encoding = 'utf8';\n\n\t let loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexWrite(this, string, offset, length)\n\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Write(this, string, offset, length)\n\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t return asciiWrite(this, string, offset, length)\n\n\t case 'base64':\n\t // Warning: maxLength not taken into account in base64Write\n\t return base64Write(this, string, offset, length)\n\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return ucs2Write(this, string, offset, length)\n\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t};\n\n\tBuffer.prototype.toJSON = function toJSON () {\n\t return {\n\t type: 'Buffer',\n\t data: Array.prototype.slice.call(this._arr || this, 0)\n\t }\n\t};\n\n\tfunction base64Slice (buf, start, end) {\n\t if (start === 0 && end === buf.length) {\n\t return base64.fromByteArray(buf)\n\t } else {\n\t return base64.fromByteArray(buf.slice(start, end))\n\t }\n\t}\n\n\tfunction utf8Slice (buf, start, end) {\n\t end = Math.min(buf.length, end);\n\t const res = [];\n\n\t let i = start;\n\t while (i < end) {\n\t const firstByte = buf[i];\n\t let codePoint = null;\n\t let bytesPerSequence = (firstByte > 0xEF)\n\t ? 4\n\t : (firstByte > 0xDF)\n\t ? 3\n\t : (firstByte > 0xBF)\n\t ? 2\n\t : 1;\n\n\t if (i + bytesPerSequence <= end) {\n\t let secondByte, thirdByte, fourthByte, tempCodePoint;\n\n\t switch (bytesPerSequence) {\n\t case 1:\n\t if (firstByte < 0x80) {\n\t codePoint = firstByte;\n\t }\n\t break\n\t case 2:\n\t secondByte = buf[i + 1];\n\t if ((secondByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F);\n\t if (tempCodePoint > 0x7F) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break\n\t case 3:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F);\n\t if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break\n\t case 4:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t fourthByte = buf[i + 3];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F);\n\t if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t }\n\t }\n\n\t if (codePoint === null) {\n\t // we did not generate a valid codePoint so insert a\n\t // replacement char (U+FFFD) and advance only 1 byte\n\t codePoint = 0xFFFD;\n\t bytesPerSequence = 1;\n\t } else if (codePoint > 0xFFFF) {\n\t // encode to utf16 (surrogate pair dance)\n\t codePoint -= 0x10000;\n\t res.push(codePoint >>> 10 & 0x3FF | 0xD800);\n\t codePoint = 0xDC00 | codePoint & 0x3FF;\n\t }\n\n\t res.push(codePoint);\n\t i += bytesPerSequence;\n\t }\n\n\t return decodeCodePointsArray(res)\n\t}\n\n\t// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n\t// the lowest limit is Chrome, with 0x10000 args.\n\t// We go 1 magnitude less, for safety\n\tconst MAX_ARGUMENTS_LENGTH = 0x1000;\n\n\tfunction decodeCodePointsArray (codePoints) {\n\t const len = codePoints.length;\n\t if (len <= MAX_ARGUMENTS_LENGTH) {\n\t return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n\t }\n\n\t // Decode in chunks to avoid \"call stack size exceeded\".\n\t let res = '';\n\t let i = 0;\n\t while (i < len) {\n\t res += String.fromCharCode.apply(\n\t String,\n\t codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n\t );\n\t }\n\t return res\n\t}\n\n\tfunction asciiSlice (buf, start, end) {\n\t let ret = '';\n\t end = Math.min(buf.length, end);\n\n\t for (let i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i] & 0x7F);\n\t }\n\t return ret\n\t}\n\n\tfunction latin1Slice (buf, start, end) {\n\t let ret = '';\n\t end = Math.min(buf.length, end);\n\n\t for (let i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i]);\n\t }\n\t return ret\n\t}\n\n\tfunction hexSlice (buf, start, end) {\n\t const len = buf.length;\n\n\t if (!start || start < 0) start = 0;\n\t if (!end || end < 0 || end > len) end = len;\n\n\t let out = '';\n\t for (let i = start; i < end; ++i) {\n\t out += hexSliceLookupTable[buf[i]];\n\t }\n\t return out\n\t}\n\n\tfunction utf16leSlice (buf, start, end) {\n\t const bytes = buf.slice(start, end);\n\t let res = '';\n\t // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n\t for (let i = 0; i < bytes.length - 1; i += 2) {\n\t res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256));\n\t }\n\t return res\n\t}\n\n\tBuffer.prototype.slice = function slice (start, end) {\n\t const len = this.length;\n\t start = ~~start;\n\t end = end === undefined ? len : ~~end;\n\n\t if (start < 0) {\n\t start += len;\n\t if (start < 0) start = 0;\n\t } else if (start > len) {\n\t start = len;\n\t }\n\n\t if (end < 0) {\n\t end += len;\n\t if (end < 0) end = 0;\n\t } else if (end > len) {\n\t end = len;\n\t }\n\n\t if (end < start) end = start;\n\n\t const newBuf = this.subarray(start, end);\n\t // Return an augmented `Uint8Array` instance\n\t Object.setPrototypeOf(newBuf, Buffer.prototype);\n\n\t return newBuf\n\t};\n\n\t/*\n\t * Need to make sure that buffer isn't trying to write out of bounds.\n\t */\n\tfunction checkOffset (offset, ext, length) {\n\t if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n\t if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n\t}\n\n\tBuffer.prototype.readUintLE =\n\tBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let val = this[offset];\n\t let mul = 1;\n\t let i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\n\t return val\n\t};\n\n\tBuffer.prototype.readUintBE =\n\tBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t checkOffset(offset, byteLength, this.length);\n\t }\n\n\t let val = this[offset + --byteLength];\n\t let mul = 1;\n\t while (byteLength > 0 && (mul *= 0x100)) {\n\t val += this[offset + --byteLength] * mul;\n\t }\n\n\t return val\n\t};\n\n\tBuffer.prototype.readUint8 =\n\tBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t return this[offset]\n\t};\n\n\tBuffer.prototype.readUint16LE =\n\tBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return this[offset] | (this[offset + 1] << 8)\n\t};\n\n\tBuffer.prototype.readUint16BE =\n\tBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return (this[offset] << 8) | this[offset + 1]\n\t};\n\n\tBuffer.prototype.readUint32LE =\n\tBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return ((this[offset]) |\n\t (this[offset + 1] << 8) |\n\t (this[offset + 2] << 16)) +\n\t (this[offset + 3] * 0x1000000)\n\t};\n\n\tBuffer.prototype.readUint32BE =\n\tBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset] * 0x1000000) +\n\t ((this[offset + 1] << 16) |\n\t (this[offset + 2] << 8) |\n\t this[offset + 3])\n\t};\n\n\tBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const lo = first +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 24;\n\n\t const hi = this[++offset] +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t last * 2 ** 24;\n\n\t return BigInt(lo) + (BigInt(hi) << BigInt(32))\n\t});\n\n\tBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const hi = first * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset];\n\n\t const lo = this[++offset] * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t last;\n\n\t return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n\t});\n\n\tBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let val = this[offset];\n\t let mul = 1;\n\t let i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\t mul *= 0x80;\n\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t return val\n\t};\n\n\tBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let i = byteLength;\n\t let mul = 1;\n\t let val = this[offset + --i];\n\t while (i > 0 && (mul *= 0x100)) {\n\t val += this[offset + --i] * mul;\n\t }\n\t mul *= 0x80;\n\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t return val\n\t};\n\n\tBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t if (!(this[offset] & 0x80)) return (this[offset])\n\t return ((0xff - this[offset] + 1) * -1)\n\t};\n\n\tBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t const val = this[offset] | (this[offset + 1] << 8);\n\t return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t const val = this[offset + 1] | (this[offset] << 8);\n\t return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset]) |\n\t (this[offset + 1] << 8) |\n\t (this[offset + 2] << 16) |\n\t (this[offset + 3] << 24)\n\t};\n\n\tBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset] << 24) |\n\t (this[offset + 1] << 16) |\n\t (this[offset + 2] << 8) |\n\t (this[offset + 3])\n\t};\n\n\tBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const val = this[offset + 4] +\n\t this[offset + 5] * 2 ** 8 +\n\t this[offset + 6] * 2 ** 16 +\n\t (last << 24); // Overflow\n\n\t return (BigInt(val) << BigInt(32)) +\n\t BigInt(first +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 24)\n\t});\n\n\tBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const val = (first << 24) + // Overflow\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset];\n\n\t return (BigInt(val) << BigInt(32)) +\n\t BigInt(this[++offset] * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t last)\n\t});\n\n\tBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754$1.read(this, offset, true, 23, 4)\n\t};\n\n\tBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754$1.read(this, offset, false, 23, 4)\n\t};\n\n\tBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754$1.read(this, offset, true, 52, 8)\n\t};\n\n\tBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754$1.read(this, offset, false, 52, 8)\n\t};\n\n\tfunction checkInt (buf, value, offset, ext, max, min) {\n\t if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n\t if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t}\n\n\tBuffer.prototype.writeUintLE =\n\tBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\n\t let mul = 1;\n\t let i = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t this[offset + i] = (value / mul) & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUintBE =\n\tBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\n\t let i = byteLength - 1;\n\t let mul = 1;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t this[offset + i] = (value / mul) & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUint8 =\n\tBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);\n\t this[offset] = (value & 0xff);\n\t return offset + 1\n\t};\n\n\tBuffer.prototype.writeUint16LE =\n\tBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeUint16BE =\n\tBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t this[offset] = (value >>> 8);\n\t this[offset + 1] = (value & 0xff);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeUint32LE =\n\tBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t this[offset + 3] = (value >>> 24);\n\t this[offset + 2] = (value >>> 16);\n\t this[offset + 1] = (value >>> 8);\n\t this[offset] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeUint32BE =\n\tBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t this[offset] = (value >>> 24);\n\t this[offset + 1] = (value >>> 16);\n\t this[offset + 2] = (value >>> 8);\n\t this[offset + 3] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n\t checkIntBI(value, min, max, buf, offset, 7);\n\n\t let lo = Number(value & BigInt(0xffffffff));\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t let hi = Number(value >> BigInt(32) & BigInt(0xffffffff));\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t return offset\n\t}\n\n\tfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n\t checkIntBI(value, min, max, buf, offset, 7);\n\n\t let lo = Number(value & BigInt(0xffffffff));\n\t buf[offset + 7] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 6] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 5] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 4] = lo;\n\t let hi = Number(value >> BigInt(32) & BigInt(0xffffffff));\n\t buf[offset + 3] = hi;\n\t hi = hi >> 8;\n\t buf[offset + 2] = hi;\n\t hi = hi >> 8;\n\t buf[offset + 1] = hi;\n\t hi = hi >> 8;\n\t buf[offset] = hi;\n\t return offset + 8\n\t}\n\n\tBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n\t return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n\t return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t const limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\n\t let i = 0;\n\t let mul = 1;\n\t let sub = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t const limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\n\t let i = byteLength - 1;\n\t let mul = 1;\n\t let sub = 0;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);\n\t if (value < 0) value = 0xff + value + 1;\n\t this[offset] = (value & 0xff);\n\t return offset + 1\n\t};\n\n\tBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t this[offset] = (value >>> 8);\n\t this[offset + 1] = (value & 0xff);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t this[offset + 2] = (value >>> 16);\n\t this[offset + 3] = (value >>> 24);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t if (value < 0) value = 0xffffffff + value + 1;\n\t this[offset] = (value >>> 24);\n\t this[offset + 1] = (value >>> 16);\n\t this[offset + 2] = (value >>> 8);\n\t this[offset + 3] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n\t return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n\t return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n\t});\n\n\tfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t if (offset < 0) throw new RangeError('Index out of range')\n\t}\n\n\tfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 4);\n\t }\n\t ieee754$1.write(buf, value, offset, littleEndian, 23, 4);\n\t return offset + 4\n\t}\n\n\tBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n\t return writeFloat(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n\t return writeFloat(this, value, offset, false, noAssert)\n\t};\n\n\tfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 8);\n\t }\n\t ieee754$1.write(buf, value, offset, littleEndian, 52, 8);\n\t return offset + 8\n\t}\n\n\tBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n\t return writeDouble(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n\t return writeDouble(this, value, offset, false, noAssert)\n\t};\n\n\t// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n\tBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n\t if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n\t if (!start) start = 0;\n\t if (!end && end !== 0) end = this.length;\n\t if (targetStart >= target.length) targetStart = target.length;\n\t if (!targetStart) targetStart = 0;\n\t if (end > 0 && end < start) end = start;\n\n\t // Copy 0 bytes; we're done\n\t if (end === start) return 0\n\t if (target.length === 0 || this.length === 0) return 0\n\n\t // Fatal error conditions\n\t if (targetStart < 0) {\n\t throw new RangeError('targetStart out of bounds')\n\t }\n\t if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n\t if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n\t // Are we oob?\n\t if (end > this.length) end = this.length;\n\t if (target.length - targetStart < end - start) {\n\t end = target.length - targetStart + start;\n\t }\n\n\t const len = end - start;\n\n\t if (this === target && typeof GlobalUint8Array.prototype.copyWithin === 'function') {\n\t // Use built-in when available, missing from IE11\n\t this.copyWithin(targetStart, start, end);\n\t } else {\n\t GlobalUint8Array.prototype.set.call(\n\t target,\n\t this.subarray(start, end),\n\t targetStart\n\t );\n\t }\n\n\t return len\n\t};\n\n\t// Usage:\n\t// buffer.fill(number[, offset[, end]])\n\t// buffer.fill(buffer[, offset[, end]])\n\t// buffer.fill(string[, offset[, end]][, encoding])\n\tBuffer.prototype.fill = function fill (val, start, end, encoding) {\n\t // Handle string cases:\n\t if (typeof val === 'string') {\n\t if (typeof start === 'string') {\n\t encoding = start;\n\t start = 0;\n\t end = this.length;\n\t } else if (typeof end === 'string') {\n\t encoding = end;\n\t end = this.length;\n\t }\n\t if (encoding !== undefined && typeof encoding !== 'string') {\n\t throw new TypeError('encoding must be a string')\n\t }\n\t if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n\t throw new TypeError('Unknown encoding: ' + encoding)\n\t }\n\t if (val.length === 1) {\n\t const code = val.charCodeAt(0);\n\t if ((encoding === 'utf8' && code < 128) ||\n\t encoding === 'latin1') {\n\t // Fast path: If `val` fits into a single byte, use that numeric value.\n\t val = code;\n\t }\n\t }\n\t } else if (typeof val === 'number') {\n\t val = val & 255;\n\t } else if (typeof val === 'boolean') {\n\t val = Number(val);\n\t }\n\n\t // Invalid ranges are not set to a default, so can range check early.\n\t if (start < 0 || this.length < start || this.length < end) {\n\t throw new RangeError('Out of range index')\n\t }\n\n\t if (end <= start) {\n\t return this\n\t }\n\n\t start = start >>> 0;\n\t end = end === undefined ? this.length : end >>> 0;\n\n\t if (!val) val = 0;\n\n\t let i;\n\t if (typeof val === 'number') {\n\t for (i = start; i < end; ++i) {\n\t this[i] = val;\n\t }\n\t } else {\n\t const bytes = Buffer.isBuffer(val)\n\t ? val\n\t : Buffer.from(val, encoding);\n\t const len = bytes.length;\n\t if (len === 0) {\n\t throw new TypeError('The value \"' + val +\n\t '\" is invalid for argument \"value\"')\n\t }\n\t for (i = 0; i < end - start; ++i) {\n\t this[i + start] = bytes[i % len];\n\t }\n\t }\n\n\t return this\n\t};\n\n\t// CUSTOM ERRORS\n\t// =============\n\n\t// Simplified versions from Node, changed for Buffer-only usage\n\tconst errors = {};\n\tfunction E (sym, getMessage, Base) {\n\t errors[sym] = class NodeError extends Base {\n\t constructor () {\n\t super();\n\n\t Object.defineProperty(this, 'message', {\n\t value: getMessage.apply(this, arguments),\n\t writable: true,\n\t configurable: true\n\t });\n\n\t // Add the error code to the name to include it in the stack trace.\n\t this.name = `${this.name} [${sym}]`;\n\t // Access the stack to generate the error message including the error code\n\t // from the name.\n\t this.stack; // eslint-disable-line no-unused-expressions\n\t // Reset the name to the actual name.\n\t delete this.name;\n\t }\n\n\t get code () {\n\t return sym\n\t }\n\n\t set code (value) {\n\t Object.defineProperty(this, 'code', {\n\t configurable: true,\n\t enumerable: true,\n\t value,\n\t writable: true\n\t });\n\t }\n\n\t toString () {\n\t return `${this.name} [${sym}]: ${this.message}`\n\t }\n\t };\n\t}\n\n\tE('ERR_BUFFER_OUT_OF_BOUNDS',\n\t function (name) {\n\t if (name) {\n\t return `${name} is outside of buffer bounds`\n\t }\n\n\t return 'Attempt to access memory outside buffer bounds'\n\t }, RangeError);\n\tE('ERR_INVALID_ARG_TYPE',\n\t function (name, actual) {\n\t return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n\t }, TypeError);\n\tE('ERR_OUT_OF_RANGE',\n\t function (str, range, input) {\n\t let msg = `The value of \"${str}\" is out of range.`;\n\t let received = input;\n\t if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n\t received = addNumericalSeparator(String(input));\n\t } else if (typeof input === 'bigint') {\n\t received = String(input);\n\t if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n\t received = addNumericalSeparator(received);\n\t }\n\t received += 'n';\n\t }\n\t msg += ` It must be ${range}. Received ${received}`;\n\t return msg\n\t }, RangeError);\n\n\tfunction addNumericalSeparator (val) {\n\t let res = '';\n\t let i = val.length;\n\t const start = val[0] === '-' ? 1 : 0;\n\t for (; i >= start + 4; i -= 3) {\n\t res = `_${val.slice(i - 3, i)}${res}`;\n\t }\n\t return `${val.slice(0, i)}${res}`\n\t}\n\n\t// CHECK FUNCTIONS\n\t// ===============\n\n\tfunction checkBounds (buf, offset, byteLength) {\n\t validateNumber(offset, 'offset');\n\t if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n\t boundsError(offset, buf.length - (byteLength + 1));\n\t }\n\t}\n\n\tfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n\t if (value > max || value < min) {\n\t const n = typeof min === 'bigint' ? 'n' : '';\n\t let range;\n\t if (byteLength > 3) {\n\t if (min === 0 || min === BigInt(0)) {\n\t range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`;\n\t } else {\n\t range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n\t `${(byteLength + 1) * 8 - 1}${n}`;\n\t }\n\t } else {\n\t range = `>= ${min}${n} and <= ${max}${n}`;\n\t }\n\t throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n\t }\n\t checkBounds(buf, offset, byteLength);\n\t}\n\n\tfunction validateNumber (value, name) {\n\t if (typeof value !== 'number') {\n\t throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n\t }\n\t}\n\n\tfunction boundsError (value, length, type) {\n\t if (Math.floor(value) !== value) {\n\t validateNumber(value, type);\n\t throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n\t }\n\n\t if (length < 0) {\n\t throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n\t }\n\n\t throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n\t `>= ${type ? 1 : 0} and <= ${length}`,\n\t value)\n\t}\n\n\t// HELPER FUNCTIONS\n\t// ================\n\n\tconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n\n\tfunction base64clean (str) {\n\t // Node takes equal signs as end of the Base64 encoding\n\t str = str.split('=')[0];\n\t // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n\t str = str.trim().replace(INVALID_BASE64_RE, '');\n\t // Node converts strings with length < 2 to ''\n\t if (str.length < 2) return ''\n\t // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n\t while (str.length % 4 !== 0) {\n\t str = str + '=';\n\t }\n\t return str\n\t}\n\n\tfunction utf8ToBytes (string, units) {\n\t units = units || Infinity;\n\t let codePoint;\n\t const length = string.length;\n\t let leadSurrogate = null;\n\t const bytes = [];\n\n\t for (let i = 0; i < length; ++i) {\n\t codePoint = string.charCodeAt(i);\n\n\t // is surrogate component\n\t if (codePoint > 0xD7FF && codePoint < 0xE000) {\n\t // last char was a lead\n\t if (!leadSurrogate) {\n\t // no lead yet\n\t if (codePoint > 0xDBFF) {\n\t // unexpected trail\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t } else if (i + 1 === length) {\n\t // unpaired lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t }\n\n\t // valid lead\n\t leadSurrogate = codePoint;\n\n\t continue\n\t }\n\n\t // 2 leads in a row\n\t if (codePoint < 0xDC00) {\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t leadSurrogate = codePoint;\n\t continue\n\t }\n\n\t // valid surrogate pair\n\t codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n\t } else if (leadSurrogate) {\n\t // valid bmp char, but last char was a lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t }\n\n\t leadSurrogate = null;\n\n\t // encode utf8\n\t if (codePoint < 0x80) {\n\t if ((units -= 1) < 0) break\n\t bytes.push(codePoint);\n\t } else if (codePoint < 0x800) {\n\t if ((units -= 2) < 0) break\n\t bytes.push(\n\t codePoint >> 0x6 | 0xC0,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x10000) {\n\t if ((units -= 3) < 0) break\n\t bytes.push(\n\t codePoint >> 0xC | 0xE0,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x110000) {\n\t if ((units -= 4) < 0) break\n\t bytes.push(\n\t codePoint >> 0x12 | 0xF0,\n\t codePoint >> 0xC & 0x3F | 0x80,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else {\n\t throw new Error('Invalid code point')\n\t }\n\t }\n\n\t return bytes\n\t}\n\n\tfunction asciiToBytes (str) {\n\t const byteArray = [];\n\t for (let i = 0; i < str.length; ++i) {\n\t // Node's code seems to be doing this and not & 0x7F..\n\t byteArray.push(str.charCodeAt(i) & 0xFF);\n\t }\n\t return byteArray\n\t}\n\n\tfunction utf16leToBytes (str, units) {\n\t let c, hi, lo;\n\t const byteArray = [];\n\t for (let i = 0; i < str.length; ++i) {\n\t if ((units -= 2) < 0) break\n\n\t c = str.charCodeAt(i);\n\t hi = c >> 8;\n\t lo = c % 256;\n\t byteArray.push(lo);\n\t byteArray.push(hi);\n\t }\n\n\t return byteArray\n\t}\n\n\tfunction base64ToBytes (str) {\n\t return base64.toByteArray(base64clean(str))\n\t}\n\n\tfunction blitBuffer (src, dst, offset, length) {\n\t let i;\n\t for (i = 0; i < length; ++i) {\n\t if ((i + offset >= dst.length) || (i >= src.length)) break\n\t dst[i + offset] = src[i];\n\t }\n\t return i\n\t}\n\n\t// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n\t// the `instanceof` check but they should be treated as of that type.\n\t// See: https://github.com/feross/buffer/issues/166\n\tfunction isInstance (obj, type) {\n\t return obj instanceof type ||\n\t (obj != null && obj.constructor != null && obj.constructor.name != null &&\n\t obj.constructor.name === type.name)\n\t}\n\tfunction numberIsNaN (obj) {\n\t // For IE11 support\n\t return obj !== obj // eslint-disable-line no-self-compare\n\t}\n\n\t// Create lookup table for `toString('hex')`\n\t// See: https://github.com/feross/buffer/issues/219\n\tconst hexSliceLookupTable = (function () {\n\t const alphabet = '0123456789abcdef';\n\t const table = new Array(256);\n\t for (let i = 0; i < 16; ++i) {\n\t const i16 = i * 16;\n\t for (let j = 0; j < 16; ++j) {\n\t table[i16 + j] = alphabet[i] + alphabet[j];\n\t }\n\t }\n\t return table\n\t})();\n\n\t// Return not function with Error if BigInt not supported\n\tfunction defineBigIntMethod (fn) {\n\t return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n\t}\n\n\tfunction BufferBigIntNotDefined () {\n\t throw new Error('BigInt not supported')\n\t} \n} (buffer));\n\nconst Buffer = buffer.Buffer;\n\nconst Blob = buffer.Blob;\nconst BlobOptions = buffer.BlobOptions;\nconst Buffer$1 = buffer.Buffer;\nconst File = buffer.File;\nconst FileOptions = buffer.FileOptions;\nconst INSPECT_MAX_BYTES = buffer.INSPECT_MAX_BYTES;\nconst SlowBuffer = buffer.SlowBuffer;\nconst TranscodeEncoding = buffer.TranscodeEncoding;\nconst atob = buffer.atob;\nconst btoa = buffer.btoa;\nconst constants = buffer.constants;\nconst isAscii = buffer.isAscii;\nconst isUtf8 = buffer.isUtf8;\nconst kMaxLength = buffer.kMaxLength;\nconst kStringMaxLength = buffer.kStringMaxLength;\nconst resolveObjectURL = buffer.resolveObjectURL;\nconst transcode = buffer.transcode;\nexport { Blob, BlobOptions, Buffer$1 as Buffer, File, FileOptions, INSPECT_MAX_BYTES, SlowBuffer, TranscodeEncoding, atob, btoa, constants, Buffer as default, isAscii, isUtf8, kMaxLength, kStringMaxLength, resolveObjectURL, transcode };\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n let {responseType, withXSRFToken} = config;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let contentType;\n\n if (utils.isFormData(requestData)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else if ((contentType = requestHeaders.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n requestHeaders.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if(platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(config));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(fullPath))) {\n // Add xsrf header\n const xsrfValue = config.xsrfHeaderName && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.6.8\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","function number(n) {\n if (!Number.isSafeInteger(n) || n < 0)\n throw new Error(`Wrong positive integer: ${n}`);\n}\nfunction bool(b) {\n if (typeof b !== 'boolean')\n throw new Error(`Expected boolean, not ${b}`);\n}\n// copied from utils\nfunction isBytes(a) {\n return (a instanceof Uint8Array ||\n (a != null && typeof a === 'object' && a.constructor.name === 'Uint8Array'));\n}\nfunction bytes(b, ...lengths) {\n if (!isBytes(b))\n throw new Error('Expected Uint8Array');\n if (lengths.length > 0 && !lengths.includes(b.length))\n throw new Error(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`);\n}\nfunction hash(hash) {\n if (typeof hash !== 'function' || typeof hash.create !== 'function')\n throw new Error('Hash should be wrapped by utils.wrapConstructor');\n number(hash.outputLen);\n number(hash.blockLen);\n}\nfunction exists(instance, checkFinished = true) {\n if (instance.destroyed)\n throw new Error('Hash instance has been destroyed');\n if (checkFinished && instance.finished)\n throw new Error('Hash#digest() has already been called');\n}\nfunction output(out, instance) {\n bytes(out);\n const min = instance.outputLen;\n if (out.length < min) {\n throw new Error(`digestInto() expects output buffer of length at least ${min}`);\n }\n}\nexport { number, bool, bytes, hash, exists, output };\nconst assert = { number, bool, bytes, hash, exists, output };\nexport default assert;\n//# sourceMappingURL=_assert.js.map","const U32_MASK64 = /* @__PURE__ */ BigInt(2 ** 32 - 1);\nconst _32n = /* @__PURE__ */ BigInt(32);\n// We are not using BigUint64Array, because they are extremely slow as per 2022\nfunction fromBig(n, le = false) {\n if (le)\n return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };\n return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };\n}\nfunction split(lst, le = false) {\n let Ah = new Uint32Array(lst.length);\n let Al = new Uint32Array(lst.length);\n for (let i = 0; i < lst.length; i++) {\n const { h, l } = fromBig(lst[i], le);\n [Ah[i], Al[i]] = [h, l];\n }\n return [Ah, Al];\n}\nconst toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);\n// for Shift in [0, 32)\nconst shrSH = (h, _l, s) => h >>> s;\nconst shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in [1, 32)\nconst rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s));\nconst rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32));\nconst rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s));\n// Right rotate for shift===32 (just swaps l&h)\nconst rotr32H = (_h, l) => l;\nconst rotr32L = (h, _l) => h;\n// Left rotate for Shift in [1, 32)\nconst rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s));\nconst rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s));\n// Left rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s));\nconst rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s));\n// JS uses 32-bit signed integers for bitwise operations which means we cannot\n// simple take carry out of low bit sum by shift, we need to use division.\nfunction add(Ah, Al, Bh, Bl) {\n const l = (Al >>> 0) + (Bl >>> 0);\n return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };\n}\n// Addition with more than 2 elements\nconst add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);\nconst add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;\nconst add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);\nconst add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;\nconst add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);\nconst add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;\n// prettier-ignore\nexport { fromBig, split, toBig, shrSH, shrSL, rotrSH, rotrSL, rotrBH, rotrBL, rotr32H, rotr32L, rotlSH, rotlSL, rotlBH, rotlBL, add, add3L, add3H, add4L, add4H, add5H, add5L, };\n// prettier-ignore\nconst u64 = {\n fromBig, split, toBig,\n shrSH, shrSL,\n rotrSH, rotrSL, rotrBH, rotrBL,\n rotr32H, rotr32L,\n rotlSH, rotlSL, rotlBH, rotlBL,\n add, add3L, add3H, add4L, add4H, add5H, add5L,\n};\nexport default u64;\n//# sourceMappingURL=_u64.js.map","/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n// We use WebCrypto aka globalThis.crypto, which exists in browsers and node.js 16+.\n// node.js versions earlier than v19 don't declare it in global scope.\n// For node.js, package.json#exports field mapping rewrites import\n// from `crypto` to `cryptoNode`, which imports native module.\n// Makes the utils un-importable in browsers without a bundler.\n// Once node.js 18 is deprecated (2025-04-30), we can just drop the import.\nimport { crypto } from '@noble/hashes/crypto';\n// Cast array to different type\nexport const u8 = (arr) => new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);\nexport const u32 = (arr) => new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));\nfunction isBytes(a) {\n return (a instanceof Uint8Array ||\n (a != null && typeof a === 'object' && a.constructor.name === 'Uint8Array'));\n}\n// Cast array to view\nexport const createView = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\n// The rotate right (circular right shift) operation for uint32\nexport const rotr = (word, shift) => (word << (32 - shift)) | (word >>> shift);\n// big-endian hardware is rare. Just in case someone still decides to run hashes:\n// early-throw an error because we don't support BE yet.\n// Other libraries would silently corrupt the data instead of throwing an error,\n// when they don't support it.\nexport const isLE = new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44;\nif (!isLE)\n throw new Error('Non little-endian hardware is not supported');\n// Array where index 0xf0 (240) is mapped to string 'f0'\nconst hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, '0'));\n/**\n * @example bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])) // 'cafe0123'\n */\nexport function bytesToHex(bytes) {\n if (!isBytes(bytes))\n throw new Error('Uint8Array expected');\n // pre-caching improves the speed 6x\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n hex += hexes[bytes[i]];\n }\n return hex;\n}\n// We use optimized technique to convert hex string to byte array\nconst asciis = { _0: 48, _9: 57, _A: 65, _F: 70, _a: 97, _f: 102 };\nfunction asciiToBase16(char) {\n if (char >= asciis._0 && char <= asciis._9)\n return char - asciis._0;\n if (char >= asciis._A && char <= asciis._F)\n return char - (asciis._A - 10);\n if (char >= asciis._a && char <= asciis._f)\n return char - (asciis._a - 10);\n return;\n}\n/**\n * @example hexToBytes('cafe0123') // Uint8Array.from([0xca, 0xfe, 0x01, 0x23])\n */\nexport function hexToBytes(hex) {\n if (typeof hex !== 'string')\n throw new Error('hex string expected, got ' + typeof hex);\n const hl = hex.length;\n const al = hl / 2;\n if (hl % 2)\n throw new Error('padded hex string expected, got unpadded hex of length ' + hl);\n const array = new Uint8Array(al);\n for (let ai = 0, hi = 0; ai < al; ai++, hi += 2) {\n const n1 = asciiToBase16(hex.charCodeAt(hi));\n const n2 = asciiToBase16(hex.charCodeAt(hi + 1));\n if (n1 === undefined || n2 === undefined) {\n const char = hex[hi] + hex[hi + 1];\n throw new Error('hex string expected, got non-hex character \"' + char + '\" at index ' + hi);\n }\n array[ai] = n1 * 16 + n2;\n }\n return array;\n}\n// There is no setImmediate in browser and setTimeout is slow.\n// call of async fn will return Promise, which will be fullfiled only on\n// next scheduler queue processing step and this is exactly what we need.\nexport const nextTick = async () => { };\n// Returns control to thread each 'tick' ms to avoid blocking\nexport async function asyncLoop(iters, tick, cb) {\n let ts = Date.now();\n for (let i = 0; i < iters; i++) {\n cb(i);\n // Date.now() is not monotonic, so in case if clock goes backwards we return return control too\n const diff = Date.now() - ts;\n if (diff >= 0 && diff < tick)\n continue;\n await nextTick();\n ts += diff;\n }\n}\n/**\n * @example utf8ToBytes('abc') // new Uint8Array([97, 98, 99])\n */\nexport function utf8ToBytes(str) {\n if (typeof str !== 'string')\n throw new Error(`utf8ToBytes expected string, got ${typeof str}`);\n return new Uint8Array(new TextEncoder().encode(str)); // https://bugzil.la/1681809\n}\n/**\n * Normalizes (non-hex) string or Uint8Array to Uint8Array.\n * Warning: when Uint8Array is passed, it would NOT get copied.\n * Keep in mind for future mutable operations.\n */\nexport function toBytes(data) {\n if (typeof data === 'string')\n data = utf8ToBytes(data);\n if (!isBytes(data))\n throw new Error(`expected Uint8Array, got ${typeof data}`);\n return data;\n}\n/**\n * Copies several Uint8Arrays into one.\n */\nexport function concatBytes(...arrays) {\n let sum = 0;\n for (let i = 0; i < arrays.length; i++) {\n const a = arrays[i];\n if (!isBytes(a))\n throw new Error('Uint8Array expected');\n sum += a.length;\n }\n const res = new Uint8Array(sum);\n for (let i = 0, pad = 0; i < arrays.length; i++) {\n const a = arrays[i];\n res.set(a, pad);\n pad += a.length;\n }\n return res;\n}\n// For runtime check if class implements interface\nexport class Hash {\n // Safe version that clones internal state\n clone() {\n return this._cloneInto();\n }\n}\nconst toStr = {}.toString;\nexport function checkOpts(defaults, opts) {\n if (opts !== undefined && toStr.call(opts) !== '[object Object]')\n throw new Error('Options should be object or undefined');\n const merged = Object.assign(defaults, opts);\n return merged;\n}\nexport function wrapConstructor(hashCons) {\n const hashC = (msg) => hashCons().update(toBytes(msg)).digest();\n const tmp = hashCons();\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = () => hashCons();\n return hashC;\n}\nexport function wrapConstructorWithOpts(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\nexport function wrapXOFConstructorWithOpts(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\n/**\n * Secure PRNG. Uses `crypto.getRandomValues`, which defers to OS.\n */\nexport function randomBytes(bytesLength = 32) {\n if (crypto && typeof crypto.getRandomValues === 'function') {\n return crypto.getRandomValues(new Uint8Array(bytesLength));\n }\n throw new Error('crypto.getRandomValues must be defined');\n}\n//# sourceMappingURL=utils.js.map","import { bytes, exists, number, output } from './_assert.js';\nimport { rotlBH, rotlBL, rotlSH, rotlSL, split } from './_u64.js';\nimport { Hash, u32, toBytes, wrapConstructor, wrapXOFConstructorWithOpts, } from './utils.js';\n// SHA3 (keccak) is based on a new design: basically, the internal state is bigger than output size.\n// It's called a sponge function.\n// Various per round constants calculations\nconst [SHA3_PI, SHA3_ROTL, _SHA3_IOTA] = [[], [], []];\nconst _0n = /* @__PURE__ */ BigInt(0);\nconst _1n = /* @__PURE__ */ BigInt(1);\nconst _2n = /* @__PURE__ */ BigInt(2);\nconst _7n = /* @__PURE__ */ BigInt(7);\nconst _256n = /* @__PURE__ */ BigInt(256);\nconst _0x71n = /* @__PURE__ */ BigInt(0x71);\nfor (let round = 0, R = _1n, x = 1, y = 0; round < 24; round++) {\n // Pi\n [x, y] = [y, (2 * x + 3 * y) % 5];\n SHA3_PI.push(2 * (5 * y + x));\n // Rotational\n SHA3_ROTL.push((((round + 1) * (round + 2)) / 2) % 64);\n // Iota\n let t = _0n;\n for (let j = 0; j < 7; j++) {\n R = ((R << _1n) ^ ((R >> _7n) * _0x71n)) % _256n;\n if (R & _2n)\n t ^= _1n << ((_1n << /* @__PURE__ */ BigInt(j)) - _1n);\n }\n _SHA3_IOTA.push(t);\n}\nconst [SHA3_IOTA_H, SHA3_IOTA_L] = /* @__PURE__ */ split(_SHA3_IOTA, true);\n// Left rotation (without 0, 32, 64)\nconst rotlH = (h, l, s) => (s > 32 ? rotlBH(h, l, s) : rotlSH(h, l, s));\nconst rotlL = (h, l, s) => (s > 32 ? rotlBL(h, l, s) : rotlSL(h, l, s));\n// Same as keccakf1600, but allows to skip some rounds\nexport function keccakP(s, rounds = 24) {\n const B = new Uint32Array(5 * 2);\n // NOTE: all indices are x2 since we store state as u32 instead of u64 (bigints to slow in js)\n for (let round = 24 - rounds; round < 24; round++) {\n // Theta θ\n for (let x = 0; x < 10; x++)\n B[x] = s[x] ^ s[x + 10] ^ s[x + 20] ^ s[x + 30] ^ s[x + 40];\n for (let x = 0; x < 10; x += 2) {\n const idx1 = (x + 8) % 10;\n const idx0 = (x + 2) % 10;\n const B0 = B[idx0];\n const B1 = B[idx0 + 1];\n const Th = rotlH(B0, B1, 1) ^ B[idx1];\n const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1];\n for (let y = 0; y < 50; y += 10) {\n s[x + y] ^= Th;\n s[x + y + 1] ^= Tl;\n }\n }\n // Rho (ρ) and Pi (π)\n let curH = s[2];\n let curL = s[3];\n for (let t = 0; t < 24; t++) {\n const shift = SHA3_ROTL[t];\n const Th = rotlH(curH, curL, shift);\n const Tl = rotlL(curH, curL, shift);\n const PI = SHA3_PI[t];\n curH = s[PI];\n curL = s[PI + 1];\n s[PI] = Th;\n s[PI + 1] = Tl;\n }\n // Chi (χ)\n for (let y = 0; y < 50; y += 10) {\n for (let x = 0; x < 10; x++)\n B[x] = s[y + x];\n for (let x = 0; x < 10; x++)\n s[y + x] ^= ~B[(x + 2) % 10] & B[(x + 4) % 10];\n }\n // Iota (ι)\n s[0] ^= SHA3_IOTA_H[round];\n s[1] ^= SHA3_IOTA_L[round];\n }\n B.fill(0);\n}\nexport class Keccak extends Hash {\n // NOTE: we accept arguments in bytes instead of bits here.\n constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) {\n super();\n this.blockLen = blockLen;\n this.suffix = suffix;\n this.outputLen = outputLen;\n this.enableXOF = enableXOF;\n this.rounds = rounds;\n this.pos = 0;\n this.posOut = 0;\n this.finished = false;\n this.destroyed = false;\n // Can be passed from user as dkLen\n number(outputLen);\n // 1600 = 5x5 matrix of 64bit. 1600 bits === 200 bytes\n if (0 >= this.blockLen || this.blockLen >= 200)\n throw new Error('Sha3 supports only keccak-f1600 function');\n this.state = new Uint8Array(200);\n this.state32 = u32(this.state);\n }\n keccak() {\n keccakP(this.state32, this.rounds);\n this.posOut = 0;\n this.pos = 0;\n }\n update(data) {\n exists(this);\n const { blockLen, state } = this;\n data = toBytes(data);\n const len = data.length;\n for (let pos = 0; pos < len;) {\n const take = Math.min(blockLen - this.pos, len - pos);\n for (let i = 0; i < take; i++)\n state[this.pos++] ^= data[pos++];\n if (this.pos === blockLen)\n this.keccak();\n }\n return this;\n }\n finish() {\n if (this.finished)\n return;\n this.finished = true;\n const { state, suffix, pos, blockLen } = this;\n // Do the padding\n state[pos] ^= suffix;\n if ((suffix & 0x80) !== 0 && pos === blockLen - 1)\n this.keccak();\n state[blockLen - 1] ^= 0x80;\n this.keccak();\n }\n writeInto(out) {\n exists(this, false);\n bytes(out);\n this.finish();\n const bufferOut = this.state;\n const { blockLen } = this;\n for (let pos = 0, len = out.length; pos < len;) {\n if (this.posOut >= blockLen)\n this.keccak();\n const take = Math.min(blockLen - this.posOut, len - pos);\n out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos);\n this.posOut += take;\n pos += take;\n }\n return out;\n }\n xofInto(out) {\n // Sha3/Keccak usage with XOF is probably mistake, only SHAKE instances can do XOF\n if (!this.enableXOF)\n throw new Error('XOF is not possible for this instance');\n return this.writeInto(out);\n }\n xof(bytes) {\n number(bytes);\n return this.xofInto(new Uint8Array(bytes));\n }\n digestInto(out) {\n output(out, this);\n if (this.finished)\n throw new Error('digest() was already called');\n this.writeInto(out);\n this.destroy();\n return out;\n }\n digest() {\n return this.digestInto(new Uint8Array(this.outputLen));\n }\n destroy() {\n this.destroyed = true;\n this.state.fill(0);\n }\n _cloneInto(to) {\n const { blockLen, suffix, outputLen, rounds, enableXOF } = this;\n to || (to = new Keccak(blockLen, suffix, outputLen, enableXOF, rounds));\n to.state32.set(this.state32);\n to.pos = this.pos;\n to.posOut = this.posOut;\n to.finished = this.finished;\n to.rounds = rounds;\n // Suffix can change in cSHAKE\n to.suffix = suffix;\n to.outputLen = outputLen;\n to.enableXOF = enableXOF;\n to.destroyed = this.destroyed;\n return to;\n }\n}\nconst gen = (suffix, blockLen, outputLen) => wrapConstructor(() => new Keccak(blockLen, suffix, outputLen));\nexport const sha3_224 = /* @__PURE__ */ gen(0x06, 144, 224 / 8);\n/**\n * SHA3-256 hash function\n * @param message - that would be hashed\n */\nexport const sha3_256 = /* @__PURE__ */ gen(0x06, 136, 256 / 8);\nexport const sha3_384 = /* @__PURE__ */ gen(0x06, 104, 384 / 8);\nexport const sha3_512 = /* @__PURE__ */ gen(0x06, 72, 512 / 8);\nexport const keccak_224 = /* @__PURE__ */ gen(0x01, 144, 224 / 8);\n/**\n * keccak-256 hash function. Different from SHA3-256.\n * @param message - that would be hashed\n */\nexport const keccak_256 = /* @__PURE__ */ gen(0x01, 136, 256 / 8);\nexport const keccak_384 = /* @__PURE__ */ gen(0x01, 104, 384 / 8);\nexport const keccak_512 = /* @__PURE__ */ gen(0x01, 72, 512 / 8);\nconst genShake = (suffix, blockLen, outputLen) => wrapXOFConstructorWithOpts((opts = {}) => new Keccak(blockLen, suffix, opts.dkLen === undefined ? outputLen : opts.dkLen, true));\nexport const shake128 = /* @__PURE__ */ genShake(0x1f, 168, 128 / 8);\nexport const shake256 = /* @__PURE__ */ genShake(0x1f, 136, 256 / 8);\n//# sourceMappingURL=sha3.js.map","import assert from \"@noble/hashes/_assert\";\nimport { hexToBytes as _hexToBytes } from \"@noble/hashes/utils\";\nconst assertBool = assert.bool;\nconst assertBytes = assert.bytes;\nexport { assertBool, assertBytes };\nexport { bytesToHex, bytesToHex as toHex, concatBytes, createView, utf8ToBytes } from \"@noble/hashes/utils\";\n// buf.toString('utf8') -> bytesToUtf8(buf)\nexport function bytesToUtf8(data) {\n if (!(data instanceof Uint8Array)) {\n throw new TypeError(`bytesToUtf8 expected Uint8Array, got ${typeof data}`);\n }\n return new TextDecoder().decode(data);\n}\nexport function hexToBytes(data) {\n const sliced = data.startsWith(\"0x\") ? data.substring(2) : data;\n return _hexToBytes(sliced);\n}\n// buf.equals(buf2) -> equalsBytes(buf, buf2)\nexport function equalsBytes(a, b) {\n if (a.length !== b.length) {\n return false;\n }\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n}\n// Internal utils\nexport function wrapHash(hash) {\n return (msg) => {\n assert.bytes(msg);\n return hash(msg);\n };\n}\n// TODO(v3): switch away from node crypto, remove this unnecessary variable.\nexport const crypto = (() => {\n const webCrypto = typeof globalThis === \"object\" && \"crypto\" in globalThis ? globalThis.crypto : undefined;\n const nodeRequire = typeof module !== \"undefined\" &&\n typeof module.require === \"function\" &&\n module.require.bind(module);\n return {\n node: nodeRequire && !webCrypto ? nodeRequire(\"crypto\") : undefined,\n web: webCrypto\n };\n})();\n","import { keccak_224, keccak_256, keccak_384, keccak_512 } from \"@noble/hashes/sha3\";\nimport { wrapHash } from \"./utils.js\";\nexport const keccak224 = wrapHash(keccak_224);\nexport const keccak256 = (() => {\n const k = wrapHash(keccak_256);\n k.create = keccak_256.create;\n return k;\n})();\nexport const keccak384 = wrapHash(keccak_384);\nexport const keccak512 = wrapHash(keccak_512);\n","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\n// Response error\nexport const ERR_RESPONSE = 100;\nexport const ERR_INVALID_RESPONSE = 101;\n// Generic errors\nexport const ERR_PARAM = 200;\nexport const ERR_FORMATTERS = 201;\nexport const ERR_METHOD_NOT_IMPLEMENTED = 202;\nexport const ERR_OPERATION_TIMEOUT = 203;\nexport const ERR_OPERATION_ABORT = 204;\nexport const ERR_ABI_ENCODING = 205;\nexport const ERR_EXISTING_PLUGIN_NAMESPACE = 206;\nexport const ERR_INVALID_METHOD_PARAMS = 207;\n// Contract error codes\nexport const ERR_CONTRACT = 300;\nexport const ERR_CONTRACT_RESOLVER_MISSING = 301;\nexport const ERR_CONTRACT_ABI_MISSING = 302;\nexport const ERR_CONTRACT_REQUIRED_CALLBACK = 303;\nexport const ERR_CONTRACT_EVENT_NOT_EXISTS = 304;\nexport const ERR_CONTRACT_RESERVED_EVENT = 305;\nexport const ERR_CONTRACT_MISSING_DEPLOY_DATA = 306;\nexport const ERR_CONTRACT_MISSING_ADDRESS = 307;\nexport const ERR_CONTRACT_MISSING_FROM_ADDRESS = 308;\nexport const ERR_CONTRACT_INSTANTIATION = 309;\nexport const ERR_CONTRACT_EXECUTION_REVERTED = 310;\nexport const ERR_CONTRACT_TX_DATA_AND_INPUT = 311;\n// Transaction error codes\nexport const ERR_TX = 400;\nexport const ERR_TX_REVERT_INSTRUCTION = 401;\nexport const ERR_TX_REVERT_TRANSACTION = 402;\nexport const ERR_TX_NO_CONTRACT_ADDRESS = 403;\nexport const ERR_TX_CONTRACT_NOT_STORED = 404;\nexport const ERR_TX_REVERT_WITHOUT_REASON = 405;\nexport const ERR_TX_OUT_OF_GAS = 406;\nexport const ERR_RAW_TX_UNDEFINED = 407;\nexport const ERR_TX_INVALID_SENDER = 408;\nexport const ERR_TX_INVALID_CALL = 409;\nexport const ERR_TX_MISSING_CUSTOM_CHAIN = 410;\nexport const ERR_TX_MISSING_CUSTOM_CHAIN_ID = 411;\nexport const ERR_TX_CHAIN_ID_MISMATCH = 412;\nexport const ERR_TX_INVALID_CHAIN_INFO = 413;\nexport const ERR_TX_MISSING_CHAIN_INFO = 414;\nexport const ERR_TX_MISSING_GAS = 415;\nexport const ERR_TX_INVALID_LEGACY_GAS = 416;\nexport const ERR_TX_INVALID_FEE_MARKET_GAS = 417;\nexport const ERR_TX_INVALID_FEE_MARKET_GAS_PRICE = 418;\nexport const ERR_TX_INVALID_LEGACY_FEE_MARKET = 419;\nexport const ERR_TX_INVALID_OBJECT = 420;\nexport const ERR_TX_INVALID_NONCE_OR_CHAIN_ID = 421;\nexport const ERR_TX_UNABLE_TO_POPULATE_NONCE = 422;\nexport const ERR_TX_UNSUPPORTED_EIP_1559 = 423;\nexport const ERR_TX_UNSUPPORTED_TYPE = 424;\nexport const ERR_TX_DATA_AND_INPUT = 425;\nexport const ERR_TX_POLLING_TIMEOUT = 426;\nexport const ERR_TX_RECEIPT_MISSING_OR_BLOCKHASH_NULL = 427;\nexport const ERR_TX_RECEIPT_MISSING_BLOCK_NUMBER = 428;\nexport const ERR_TX_LOCAL_WALLET_NOT_AVAILABLE = 429;\nexport const ERR_TX_NOT_FOUND = 430;\nexport const ERR_TX_SEND_TIMEOUT = 431;\nexport const ERR_TX_BLOCK_TIMEOUT = 432;\nexport const ERR_TX_SIGNING = 433;\nexport const ERR_TX_GAS_MISMATCH = 434;\nexport const ERR_TX_CHAIN_MISMATCH = 435;\nexport const ERR_TX_HARDFORK_MISMATCH = 436;\nexport const ERR_TX_INVALID_RECEIVER = 437;\nexport const ERR_TX_REVERT_TRANSACTION_CUSTOM_ERROR = 438;\nexport const ERR_TX_INVALID_PROPERTIES_FOR_TYPE = 439;\nexport const ERR_TX_MISSING_GAS_INNER_ERROR = 440;\nexport const ERR_TX_GAS_MISMATCH_INNER_ERROR = 441;\n// Connection error codes\nexport const ERR_CONN = 500;\nexport const ERR_CONN_INVALID = 501;\nexport const ERR_CONN_TIMEOUT = 502;\nexport const ERR_CONN_NOT_OPEN = 503;\nexport const ERR_CONN_CLOSE = 504;\nexport const ERR_CONN_MAX_ATTEMPTS = 505;\nexport const ERR_CONN_PENDING_REQUESTS = 506;\nexport const ERR_REQ_ALREADY_SENT = 507;\n// Provider error codes\nexport const ERR_PROVIDER = 600;\nexport const ERR_INVALID_PROVIDER = 601;\nexport const ERR_INVALID_CLIENT = 602;\nexport const ERR_SUBSCRIPTION = 603;\nexport const ERR_WS_PROVIDER = 604;\n// Account error codes\nexport const ERR_PRIVATE_KEY_LENGTH = 701;\nexport const ERR_INVALID_PRIVATE_KEY = 702;\nexport const ERR_UNSUPPORTED_KDF = 703;\nexport const ERR_KEY_DERIVATION_FAIL = 704;\nexport const ERR_KEY_VERSION_UNSUPPORTED = 705;\nexport const ERR_INVALID_PASSWORD = 706;\nexport const ERR_IV_LENGTH = 707;\nexport const ERR_INVALID_KEYSTORE = 708;\nexport const ERR_PBKDF2_ITERATIONS = 709;\n// Signature error codes\nexport const ERR_SIGNATURE_FAILED = 801;\nexport const ERR_INVALID_SIGNATURE = 802;\nexport const GENESIS_BLOCK_NUMBER = '0x0';\n// RPC error codes (EIP-1193)\n// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1193.md#provider-errors\nexport const JSONRPC_ERR_REJECTED_REQUEST = 4001;\nexport const JSONRPC_ERR_UNAUTHORIZED = 4100;\nexport const JSONRPC_ERR_UNSUPPORTED_METHOD = 4200;\nexport const JSONRPC_ERR_DISCONNECTED = 4900;\nexport const JSONRPC_ERR_CHAIN_DISCONNECTED = 4901;\n// ENS error codes\nexport const ERR_ENS_CHECK_INTERFACE_SUPPORT = 901;\nexport const ERR_ENS_UNSUPPORTED_NETWORK = 902;\nexport const ERR_ENS_NETWORK_NOT_SYNCED = 903;\n// Utils error codes\nexport const ERR_INVALID_STRING = 1001;\nexport const ERR_INVALID_BYTES = 1002;\nexport const ERR_INVALID_NUMBER = 1003;\nexport const ERR_INVALID_UNIT = 1004;\nexport const ERR_INVALID_ADDRESS = 1005;\nexport const ERR_INVALID_HEX = 1006;\nexport const ERR_INVALID_TYPE = 1007;\nexport const ERR_INVALID_BOOLEAN = 1008;\nexport const ERR_INVALID_UNSIGNED_INTEGER = 1009;\nexport const ERR_INVALID_SIZE = 1010;\nexport const ERR_INVALID_LARGE_VALUE = 1011;\nexport const ERR_INVALID_BLOCK = 1012;\nexport const ERR_INVALID_TYPE_ABI = 1013;\nexport const ERR_INVALID_NIBBLE_WIDTH = 1014;\n// Validation error codes\nexport const ERR_VALIDATION = 1100;\n// Core error codes\nexport const ERR_CORE_HARDFORK_MISMATCH = 1101;\nexport const ERR_CORE_CHAIN_MISMATCH = 1102;\n// Schema error codes\nexport const ERR_SCHEMA_FORMAT = 1200;\n// RPC error codes (EIP-1474)\n// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1474.md\nexport const ERR_RPC_INVALID_JSON = -32700;\nexport const ERR_RPC_INVALID_REQUEST = -32600;\nexport const ERR_RPC_INVALID_METHOD = -32601;\nexport const ERR_RPC_INVALID_PARAMS = -32602;\nexport const ERR_RPC_INTERNAL_ERROR = -32603;\nexport const ERR_RPC_INVALID_INPUT = -32000;\nexport const ERR_RPC_MISSING_RESOURCE = -32001;\nexport const ERR_RPC_UNAVAILABLE_RESOURCE = -32002;\nexport const ERR_RPC_TRANSACTION_REJECTED = -32003;\nexport const ERR_RPC_UNSUPPORTED_METHOD = -32004;\nexport const ERR_RPC_LIMIT_EXCEEDED = -32005;\nexport const ERR_RPC_NOT_SUPPORTED = -32006;\n//# sourceMappingURL=error_codes.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nexport class BaseWeb3Error extends Error {\n constructor(msg, innerError) {\n super(msg);\n this.innerError = innerError;\n this.name = this.constructor.name;\n if (typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(new.target.constructor);\n }\n else {\n this.stack = new Error().stack;\n }\n }\n static convertToString(value, unquotValue = false) {\n // Using \"null\" value intentionally for validation\n // eslint-disable-next-line no-null/no-null\n if (value === null || value === undefined)\n return 'undefined';\n const result = JSON.stringify(value, (_, v) => (typeof v === 'bigint' ? v.toString() : v));\n return unquotValue && ['bigint', 'string'].includes(typeof value)\n ? result.replace(/['\\\\\"]+/g, '')\n : result;\n }\n toJSON() {\n return {\n name: this.name,\n code: this.code,\n message: this.message,\n innerError: this.innerError,\n };\n }\n}\nexport class InvalidValueError extends BaseWeb3Error {\n constructor(value, msg) {\n super(`Invalid value given \"${BaseWeb3Error.convertToString(value, true)}\". Error: ${msg}.`);\n this.name = this.constructor.name;\n }\n}\n//# sourceMappingURL=web3_error_base.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\n/* eslint-disable max-classes-per-file */\nimport { ERR_INVALID_BYTES, ERR_INVALID_NUMBER, ERR_INVALID_ADDRESS, ERR_INVALID_BLOCK, ERR_INVALID_BOOLEAN, ERR_INVALID_HEX, ERR_INVALID_LARGE_VALUE, ERR_INVALID_NIBBLE_WIDTH, ERR_INVALID_SIZE, ERR_INVALID_STRING, ERR_INVALID_TYPE, ERR_INVALID_TYPE_ABI, ERR_INVALID_UNIT, ERR_INVALID_UNSIGNED_INTEGER, } from '../error_codes.js';\nimport { InvalidValueError } from '../web3_error_base.js';\nexport class InvalidBytesError extends InvalidValueError {\n constructor(value) {\n super(value, 'can not parse as byte data');\n this.code = ERR_INVALID_BYTES;\n }\n}\nexport class InvalidNumberError extends InvalidValueError {\n constructor(value) {\n super(value, 'can not parse as number data');\n this.code = ERR_INVALID_NUMBER;\n }\n}\nexport class InvalidAddressError extends InvalidValueError {\n constructor(value) {\n super(value, 'invalid ethereum address');\n this.code = ERR_INVALID_ADDRESS;\n }\n}\nexport class InvalidStringError extends InvalidValueError {\n constructor(value) {\n super(value, 'not a valid string');\n this.code = ERR_INVALID_STRING;\n }\n}\nexport class InvalidUnitError extends InvalidValueError {\n constructor(value) {\n super(value, 'invalid unit');\n this.code = ERR_INVALID_UNIT;\n }\n}\nexport class HexProcessingError extends InvalidValueError {\n constructor(value) {\n super(value, 'can not be converted to hex');\n this.code = ERR_INVALID_HEX;\n }\n}\nexport class NibbleWidthError extends InvalidValueError {\n constructor(value) {\n super(value, 'value greater than the nibble width');\n this.code = ERR_INVALID_NIBBLE_WIDTH;\n }\n}\nexport class InvalidTypeError extends InvalidValueError {\n constructor(value) {\n super(value, 'invalid type, type not supported');\n this.code = ERR_INVALID_TYPE;\n }\n}\nexport class InvalidBooleanError extends InvalidValueError {\n constructor(value) {\n super(value, 'not a valid boolean.');\n this.code = ERR_INVALID_BOOLEAN;\n }\n}\nexport class InvalidUnsignedIntegerError extends InvalidValueError {\n constructor(value) {\n super(value, 'not a valid unsigned integer.');\n this.code = ERR_INVALID_UNSIGNED_INTEGER;\n }\n}\nexport class InvalidSizeError extends InvalidValueError {\n constructor(value) {\n super(value, 'invalid size given.');\n this.code = ERR_INVALID_SIZE;\n }\n}\nexport class InvalidLargeValueError extends InvalidValueError {\n constructor(value) {\n super(value, 'value is larger than size.');\n this.code = ERR_INVALID_LARGE_VALUE;\n }\n}\nexport class InvalidBlockError extends InvalidValueError {\n constructor(value) {\n super(value, 'invalid string given');\n this.code = ERR_INVALID_BLOCK;\n }\n}\nexport class InvalidTypeAbiInputError extends InvalidValueError {\n constructor(value) {\n super(value, 'components found but type is not tuple');\n this.code = ERR_INVALID_TYPE_ABI;\n }\n}\n//# sourceMappingURL=utils_errors.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { ERR_RPC_INTERNAL_ERROR, ERR_RPC_INVALID_INPUT, ERR_RPC_INVALID_JSON, ERR_RPC_INVALID_METHOD, ERR_RPC_INVALID_PARAMS, ERR_RPC_INVALID_REQUEST, ERR_RPC_LIMIT_EXCEEDED, ERR_RPC_MISSING_RESOURCE, ERR_RPC_NOT_SUPPORTED, ERR_RPC_TRANSACTION_REJECTED, ERR_RPC_UNAVAILABLE_RESOURCE, ERR_RPC_UNSUPPORTED_METHOD, JSONRPC_ERR_CHAIN_DISCONNECTED, JSONRPC_ERR_DISCONNECTED, JSONRPC_ERR_REJECTED_REQUEST, JSONRPC_ERR_UNAUTHORIZED, JSONRPC_ERR_UNSUPPORTED_METHOD, } from '../error_codes.js';\n/**\n * A template string for a generic Rpc Error. The `*code*` will be replaced with the code number.\n * Note: consider in next version that a spelling mistake could be corrected for `occured` and the value could be:\n * \t`An Rpc error has occurred with a code of *code*`\n */\nexport const genericRpcErrorMessageTemplate = 'An Rpc error has occured with a code of *code*';\n/* eslint-disable @typescript-eslint/naming-convention */\nexport const RpcErrorMessages = {\n // EIP-1474 & JSON RPC 2.0\n // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1474.md\n [ERR_RPC_INVALID_JSON]: {\n message: 'Parse error',\n description: 'Invalid JSON',\n },\n [ERR_RPC_INVALID_REQUEST]: {\n message: 'Invalid request',\n description: 'JSON is not a valid request object\t',\n },\n [ERR_RPC_INVALID_METHOD]: {\n message: 'Method not found',\n description: 'Method does not exist\t',\n },\n [ERR_RPC_INVALID_PARAMS]: {\n message: 'Invalid params',\n description: 'Invalid method parameters',\n },\n [ERR_RPC_INTERNAL_ERROR]: {\n message: 'Internal error',\n description: 'Internal JSON-RPC error',\n },\n [ERR_RPC_INVALID_INPUT]: {\n message: 'Invalid input',\n description: 'Missing or invalid parameters',\n },\n [ERR_RPC_MISSING_RESOURCE]: {\n message: 'Resource not found',\n description: 'Requested resource not found',\n },\n [ERR_RPC_UNAVAILABLE_RESOURCE]: {\n message: 'Resource unavailable',\n description: 'Requested resource not available',\n },\n [ERR_RPC_TRANSACTION_REJECTED]: {\n message: 'Transaction rejected',\n description: 'Transaction creation failed',\n },\n [ERR_RPC_UNSUPPORTED_METHOD]: {\n message: 'Method not supported',\n description: 'Method is not implemented',\n },\n [ERR_RPC_LIMIT_EXCEEDED]: {\n message: 'Limit exceeded',\n description: 'Request exceeds defined limit',\n },\n [ERR_RPC_NOT_SUPPORTED]: {\n message: 'JSON-RPC version not supported',\n description: 'Version of JSON-RPC protocol is not supported',\n },\n // EIP-1193\n // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1193.md#provider-errors\n [JSONRPC_ERR_REJECTED_REQUEST]: {\n name: 'User Rejected Request',\n message: 'The user rejected the request.',\n },\n [JSONRPC_ERR_UNAUTHORIZED]: {\n name: 'Unauthorized',\n message: 'The requested method and/or account has not been authorized by the user.',\n },\n [JSONRPC_ERR_UNSUPPORTED_METHOD]: {\n name: 'Unsupported Method',\n message: 'The Provider does not support the requested method.',\n },\n [JSONRPC_ERR_DISCONNECTED]: {\n name: 'Disconnected',\n message: 'The Provider is disconnected from all chains.',\n },\n [JSONRPC_ERR_CHAIN_DISCONNECTED]: {\n name: 'Chain Disconnected',\n message: 'The Provider is not connected to the requested chain.',\n },\n // EIP-1193 - CloseEvent\n // https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent/code\n '0-999': {\n name: '',\n message: 'Not used.',\n },\n 1000: {\n name: 'Normal Closure',\n message: 'The connection successfully completed the purpose for which it was created.',\n },\n 1001: {\n name: 'Going Away',\n message: 'The endpoint is going away, either because of a server failure or because the browser is navigating away from the page that opened the connection.',\n },\n 1002: {\n name: 'Protocol error',\n message: 'The endpoint is terminating the connection due to a protocol error.',\n },\n 1003: {\n name: 'Unsupported Data',\n message: 'The connection is being terminated because the endpoint received data of a type it cannot accept. (For example, a text-only endpoint received binary data.)',\n },\n 1004: {\n name: 'Reserved',\n message: 'Reserved. A meaning might be defined in the future.',\n },\n 1005: {\n name: 'No Status Rcvd',\n message: 'Reserved. Indicates that no status code was provided even though one was expected.',\n },\n 1006: {\n name: 'Abnormal Closure',\n message: 'Reserved. Indicates that a connection was closed abnormally (that is, with no close frame being sent) when a status code is expected.',\n },\n 1007: {\n name: 'Invalid frame payload data',\n message: 'The endpoint is terminating the connection because a message was received that contained inconsistent data (e.g., non-UTF-8 data within a text message).',\n },\n 1008: {\n name: 'Policy Violation',\n message: 'The endpoint is terminating the connection because it received a message that violates its policy. This is a generic status code, used when codes 1003 and 1009 are not suitable.',\n },\n 1009: {\n name: 'Message Too Big',\n message: 'The endpoint is terminating the connection because a data frame was received that is too large.',\n },\n 1010: {\n name: 'Mandatory Ext.',\n message: \"The client is terminating the connection because it expected the server to negotiate one or more extension, but the server didn't.\",\n },\n 1011: {\n name: 'Internal Error',\n message: 'The server is terminating the connection because it encountered an unexpected condition that prevented it from fulfilling the request.',\n },\n 1012: {\n name: 'Service Restart',\n message: 'The server is terminating the connection because it is restarting.',\n },\n 1013: {\n name: 'Try Again Later',\n message: 'The server is terminating the connection due to a temporary condition, e.g. it is overloaded and is casting off some of its clients.',\n },\n 1014: {\n name: 'Bad Gateway',\n message: 'The server was acting as a gateway or proxy and received an invalid response from the upstream server. This is similar to 502 HTTP Status Code.',\n },\n 1015: {\n name: 'TLS handshake',\n message: \"Reserved. Indicates that the connection was closed due to a failure to perform a TLS handshake (e.g., the server certificate can't be verified).\",\n },\n '1016-2999': {\n name: '',\n message: 'For definition by future revisions of the WebSocket Protocol specification, and for definition by extension specifications.',\n },\n '3000-3999': {\n name: '',\n message: 'For use by libraries, frameworks, and applications. These status codes are registered directly with IANA. The interpretation of these codes is undefined by the WebSocket protocol.',\n },\n '4000-4999': {\n name: '',\n message: \"For private use, and thus can't be registered. Such codes can be used by prior agreements between WebSocket applications. The interpretation of these codes is undefined by the WebSocket protocol.\",\n },\n};\n//# sourceMappingURL=rpc_error_messages.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { BaseWeb3Error } from '../web3_error_base.js';\nimport { ERR_RPC_INTERNAL_ERROR, ERR_RPC_INVALID_INPUT, ERR_RPC_INVALID_JSON, ERR_RPC_INVALID_METHOD, ERR_RPC_INVALID_PARAMS, ERR_RPC_INVALID_REQUEST, ERR_RPC_LIMIT_EXCEEDED, ERR_RPC_MISSING_RESOURCE, ERR_RPC_NOT_SUPPORTED, ERR_RPC_TRANSACTION_REJECTED, ERR_RPC_UNAVAILABLE_RESOURCE, ERR_RPC_UNSUPPORTED_METHOD, } from '../error_codes.js';\nimport { RpcErrorMessages, genericRpcErrorMessageTemplate } from './rpc_error_messages.js';\nexport class RpcError extends BaseWeb3Error {\n constructor(rpcError, message) {\n super(message !== null && message !== void 0 ? message : genericRpcErrorMessageTemplate.replace('*code*', rpcError.error.code.toString()));\n this.code = rpcError.error.code;\n this.id = rpcError.id;\n this.jsonrpc = rpcError.jsonrpc;\n this.jsonRpcError = rpcError.error;\n }\n toJSON() {\n return Object.assign(Object.assign({}, super.toJSON()), { error: this.jsonRpcError, id: this.id, jsonRpc: this.jsonrpc });\n }\n}\nexport class EIP1193ProviderRpcError extends BaseWeb3Error {\n constructor(code, data) {\n var _a, _b, _c, _d;\n if (!code) {\n // this case should ideally not happen\n super();\n }\n else if ((_a = RpcErrorMessages[code]) === null || _a === void 0 ? void 0 : _a.message) {\n super(RpcErrorMessages[code].message);\n }\n else {\n // Retrieve the status code object for the given code from the table, by searching through the appropriate range\n const statusCodeRange = Object.keys(RpcErrorMessages).find(statusCode => typeof statusCode === 'string' &&\n code >= parseInt(statusCode.split('-')[0], 10) &&\n code <= parseInt(statusCode.split('-')[1], 10));\n super((_c = (_b = RpcErrorMessages[statusCodeRange !== null && statusCodeRange !== void 0 ? statusCodeRange : '']) === null || _b === void 0 ? void 0 : _b.message) !== null && _c !== void 0 ? _c : genericRpcErrorMessageTemplate.replace('*code*', (_d = code === null || code === void 0 ? void 0 : code.toString()) !== null && _d !== void 0 ? _d : '\"\"'));\n }\n this.code = code;\n this.data = data;\n }\n}\nexport class ParseError extends RpcError {\n constructor(rpcError) {\n super(rpcError, RpcErrorMessages[ERR_RPC_INVALID_JSON].message);\n this.code = ERR_RPC_INVALID_JSON;\n }\n}\nexport class InvalidRequestError extends RpcError {\n constructor(rpcError) {\n super(rpcError, RpcErrorMessages[ERR_RPC_INVALID_REQUEST].message);\n this.code = ERR_RPC_INVALID_REQUEST;\n }\n}\nexport class MethodNotFoundError extends RpcError {\n constructor(rpcError) {\n super(rpcError, RpcErrorMessages[ERR_RPC_INVALID_METHOD].message);\n this.code = ERR_RPC_INVALID_METHOD;\n }\n}\nexport class InvalidParamsError extends RpcError {\n constructor(rpcError) {\n super(rpcError, RpcErrorMessages[ERR_RPC_INVALID_PARAMS].message);\n this.code = ERR_RPC_INVALID_PARAMS;\n }\n}\nexport class InternalError extends RpcError {\n constructor(rpcError) {\n super(rpcError, RpcErrorMessages[ERR_RPC_INTERNAL_ERROR].message);\n this.code = ERR_RPC_INTERNAL_ERROR;\n }\n}\nexport class InvalidInputError extends RpcError {\n constructor(rpcError) {\n super(rpcError, RpcErrorMessages[ERR_RPC_INVALID_INPUT].message);\n this.code = ERR_RPC_INVALID_INPUT;\n }\n}\nexport class MethodNotSupported extends RpcError {\n constructor(rpcError) {\n super(rpcError, RpcErrorMessages[ERR_RPC_UNSUPPORTED_METHOD].message);\n this.code = ERR_RPC_UNSUPPORTED_METHOD;\n }\n}\nexport class ResourceUnavailableError extends RpcError {\n constructor(rpcError) {\n super(rpcError, RpcErrorMessages[ERR_RPC_UNAVAILABLE_RESOURCE].message);\n this.code = ERR_RPC_UNAVAILABLE_RESOURCE;\n }\n}\nexport class ResourcesNotFoundError extends RpcError {\n constructor(rpcError) {\n super(rpcError, RpcErrorMessages[ERR_RPC_MISSING_RESOURCE].message);\n this.code = ERR_RPC_MISSING_RESOURCE;\n }\n}\nexport class VersionNotSupportedError extends RpcError {\n constructor(rpcError) {\n super(rpcError, RpcErrorMessages[ERR_RPC_NOT_SUPPORTED].message);\n this.code = ERR_RPC_NOT_SUPPORTED;\n }\n}\nexport class TransactionRejectedError extends RpcError {\n constructor(rpcError) {\n super(rpcError, RpcErrorMessages[ERR_RPC_TRANSACTION_REJECTED].message);\n this.code = ERR_RPC_TRANSACTION_REJECTED;\n }\n}\nexport class LimitExceededError extends RpcError {\n constructor(rpcError) {\n super(rpcError, RpcErrorMessages[ERR_RPC_LIMIT_EXCEEDED].message);\n this.code = ERR_RPC_LIMIT_EXCEEDED;\n }\n}\nexport const rpcErrorsMap = new Map();\nrpcErrorsMap.set(ERR_RPC_INVALID_JSON, { error: ParseError });\nrpcErrorsMap.set(ERR_RPC_INVALID_REQUEST, {\n error: InvalidRequestError,\n});\nrpcErrorsMap.set(ERR_RPC_INVALID_METHOD, {\n error: MethodNotFoundError,\n});\nrpcErrorsMap.set(ERR_RPC_INVALID_PARAMS, { error: InvalidParamsError });\nrpcErrorsMap.set(ERR_RPC_INTERNAL_ERROR, { error: InternalError });\nrpcErrorsMap.set(ERR_RPC_INVALID_INPUT, { error: InvalidInputError });\nrpcErrorsMap.set(ERR_RPC_UNSUPPORTED_METHOD, {\n error: MethodNotSupported,\n});\nrpcErrorsMap.set(ERR_RPC_UNAVAILABLE_RESOURCE, {\n error: ResourceUnavailableError,\n});\nrpcErrorsMap.set(ERR_RPC_TRANSACTION_REJECTED, {\n error: TransactionRejectedError,\n});\nrpcErrorsMap.set(ERR_RPC_MISSING_RESOURCE, {\n error: ResourcesNotFoundError,\n});\nrpcErrorsMap.set(ERR_RPC_NOT_SUPPORTED, {\n error: VersionNotSupportedError,\n});\nrpcErrorsMap.set(ERR_RPC_LIMIT_EXCEEDED, { error: LimitExceededError });\n//# sourceMappingURL=rpc_errors.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { ERR_SCHEMA_FORMAT } from '../error_codes.js';\nimport { BaseWeb3Error } from '../web3_error_base.js';\nexport class SchemaFormatError extends BaseWeb3Error {\n constructor(type) {\n super(`Format for the type ${type} is unsupported`);\n this.type = type;\n this.code = ERR_SCHEMA_FORMAT;\n }\n toJSON() {\n return Object.assign(Object.assign({}, super.toJSON()), { type: this.type });\n }\n}\n//# sourceMappingURL=schema_errors.js.map","var util;\n(function (util) {\n util.assertEqual = (val) => val;\n function assertIs(_arg) { }\n util.assertIs = assertIs;\n function assertNever(_x) {\n throw new Error();\n }\n util.assertNever = assertNever;\n util.arrayToEnum = (items) => {\n const obj = {};\n for (const item of items) {\n obj[item] = item;\n }\n return obj;\n };\n util.getValidEnumValues = (obj) => {\n const validKeys = util.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== \"number\");\n const filtered = {};\n for (const k of validKeys) {\n filtered[k] = obj[k];\n }\n return util.objectValues(filtered);\n };\n util.objectValues = (obj) => {\n return util.objectKeys(obj).map(function (e) {\n return obj[e];\n });\n };\n util.objectKeys = typeof Object.keys === \"function\" // eslint-disable-line ban/ban\n ? (obj) => Object.keys(obj) // eslint-disable-line ban/ban\n : (object) => {\n const keys = [];\n for (const key in object) {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n keys.push(key);\n }\n }\n return keys;\n };\n util.find = (arr, checker) => {\n for (const item of arr) {\n if (checker(item))\n return item;\n }\n return undefined;\n };\n util.isInteger = typeof Number.isInteger === \"function\"\n ? (val) => Number.isInteger(val) // eslint-disable-line ban/ban\n : (val) => typeof val === \"number\" && isFinite(val) && Math.floor(val) === val;\n function joinValues(array, separator = \" | \") {\n return array\n .map((val) => (typeof val === \"string\" ? `'${val}'` : val))\n .join(separator);\n }\n util.joinValues = joinValues;\n util.jsonStringifyReplacer = (_, value) => {\n if (typeof value === \"bigint\") {\n return value.toString();\n }\n return value;\n };\n})(util || (util = {}));\nvar objectUtil;\n(function (objectUtil) {\n objectUtil.mergeShapes = (first, second) => {\n return {\n ...first,\n ...second, // second overwrites first\n };\n };\n})(objectUtil || (objectUtil = {}));\nconst ZodParsedType = util.arrayToEnum([\n \"string\",\n \"nan\",\n \"number\",\n \"integer\",\n \"float\",\n \"boolean\",\n \"date\",\n \"bigint\",\n \"symbol\",\n \"function\",\n \"undefined\",\n \"null\",\n \"array\",\n \"object\",\n \"unknown\",\n \"promise\",\n \"void\",\n \"never\",\n \"map\",\n \"set\",\n]);\nconst getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return ZodParsedType.undefined;\n case \"string\":\n return ZodParsedType.string;\n case \"number\":\n return isNaN(data) ? ZodParsedType.nan : ZodParsedType.number;\n case \"boolean\":\n return ZodParsedType.boolean;\n case \"function\":\n return ZodParsedType.function;\n case \"bigint\":\n return ZodParsedType.bigint;\n case \"symbol\":\n return ZodParsedType.symbol;\n case \"object\":\n if (Array.isArray(data)) {\n return ZodParsedType.array;\n }\n if (data === null) {\n return ZodParsedType.null;\n }\n if (data.then &&\n typeof data.then === \"function\" &&\n data.catch &&\n typeof data.catch === \"function\") {\n return ZodParsedType.promise;\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return ZodParsedType.map;\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return ZodParsedType.set;\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return ZodParsedType.date;\n }\n return ZodParsedType.object;\n default:\n return ZodParsedType.unknown;\n }\n};\n\nconst ZodIssueCode = util.arrayToEnum([\n \"invalid_type\",\n \"invalid_literal\",\n \"custom\",\n \"invalid_union\",\n \"invalid_union_discriminator\",\n \"invalid_enum_value\",\n \"unrecognized_keys\",\n \"invalid_arguments\",\n \"invalid_return_type\",\n \"invalid_date\",\n \"invalid_string\",\n \"too_small\",\n \"too_big\",\n \"invalid_intersection_types\",\n \"not_multiple_of\",\n \"not_finite\",\n]);\nconst quotelessJson = (obj) => {\n const json = JSON.stringify(obj, null, 2);\n return json.replace(/\"([^\"]+)\":/g, \"$1:\");\n};\nclass ZodError extends Error {\n constructor(issues) {\n super();\n this.issues = [];\n this.addIssue = (sub) => {\n this.issues = [...this.issues, sub];\n };\n this.addIssues = (subs = []) => {\n this.issues = [...this.issues, ...subs];\n };\n const actualProto = new.target.prototype;\n if (Object.setPrototypeOf) {\n // eslint-disable-next-line ban/ban\n Object.setPrototypeOf(this, actualProto);\n }\n else {\n this.__proto__ = actualProto;\n }\n this.name = \"ZodError\";\n this.issues = issues;\n }\n get errors() {\n return this.issues;\n }\n format(_mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const fieldErrors = { _errors: [] };\n const processError = (error) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\") {\n issue.unionErrors.map(processError);\n }\n else if (issue.code === \"invalid_return_type\") {\n processError(issue.returnTypeError);\n }\n else if (issue.code === \"invalid_arguments\") {\n processError(issue.argumentsError);\n }\n else if (issue.path.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < issue.path.length) {\n const el = issue.path[i];\n const terminal = i === issue.path.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || { _errors: [] };\n // if (typeof el === \"string\") {\n // curr[el] = curr[el] || { _errors: [] };\n // } else if (typeof el === \"number\") {\n // const errorArray: any = [];\n // errorArray._errors = [];\n // curr[el] = curr[el] || errorArray;\n // }\n }\n else {\n curr[el] = curr[el] || { _errors: [] };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n };\n processError(this);\n return fieldErrors;\n }\n toString() {\n return this.message;\n }\n get message() {\n return JSON.stringify(this.issues, util.jsonStringifyReplacer, 2);\n }\n get isEmpty() {\n return this.issues.length === 0;\n }\n flatten(mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of this.issues) {\n if (sub.path.length > 0) {\n fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];\n fieldErrors[sub.path[0]].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n }\n get formErrors() {\n return this.flatten();\n }\n}\nZodError.create = (issues) => {\n const error = new ZodError(issues);\n return error;\n};\n\nconst errorMap = (issue, _ctx) => {\n let message;\n switch (issue.code) {\n case ZodIssueCode.invalid_type:\n if (issue.received === ZodParsedType.undefined) {\n message = \"Required\";\n }\n else {\n message = `Expected ${issue.expected}, received ${issue.received}`;\n }\n break;\n case ZodIssueCode.invalid_literal:\n message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util.jsonStringifyReplacer)}`;\n break;\n case ZodIssueCode.unrecognized_keys:\n message = `Unrecognized key(s) in object: ${util.joinValues(issue.keys, \", \")}`;\n break;\n case ZodIssueCode.invalid_union:\n message = `Invalid input`;\n break;\n case ZodIssueCode.invalid_union_discriminator:\n message = `Invalid discriminator value. Expected ${util.joinValues(issue.options)}`;\n break;\n case ZodIssueCode.invalid_enum_value:\n message = `Invalid enum value. Expected ${util.joinValues(issue.options)}, received '${issue.received}'`;\n break;\n case ZodIssueCode.invalid_arguments:\n message = `Invalid function arguments`;\n break;\n case ZodIssueCode.invalid_return_type:\n message = `Invalid function return type`;\n break;\n case ZodIssueCode.invalid_date:\n message = `Invalid date`;\n break;\n case ZodIssueCode.invalid_string:\n if (typeof issue.validation === \"object\") {\n if (\"includes\" in issue.validation) {\n message = `Invalid input: must include \"${issue.validation.includes}\"`;\n if (typeof issue.validation.position === \"number\") {\n message = `${message} at one or more positions greater than or equal to ${issue.validation.position}`;\n }\n }\n else if (\"startsWith\" in issue.validation) {\n message = `Invalid input: must start with \"${issue.validation.startsWith}\"`;\n }\n else if (\"endsWith\" in issue.validation) {\n message = `Invalid input: must end with \"${issue.validation.endsWith}\"`;\n }\n else {\n util.assertNever(issue.validation);\n }\n }\n else if (issue.validation !== \"regex\") {\n message = `Invalid ${issue.validation}`;\n }\n else {\n message = \"Invalid\";\n }\n break;\n case ZodIssueCode.too_small:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact\n ? `exactly equal to `\n : issue.inclusive\n ? `greater than or equal to `\n : `greater than `}${issue.minimum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact\n ? `exactly equal to `\n : issue.inclusive\n ? `greater than or equal to `\n : `greater than `}${new Date(Number(issue.minimum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodIssueCode.too_big:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `less than or equal to`\n : `less than`} ${issue.maximum}`;\n else if (issue.type === \"bigint\")\n message = `BigInt must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `less than or equal to`\n : `less than`} ${issue.maximum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `smaller than or equal to`\n : `smaller than`} ${new Date(Number(issue.maximum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodIssueCode.custom:\n message = `Invalid input`;\n break;\n case ZodIssueCode.invalid_intersection_types:\n message = `Intersection results could not be merged`;\n break;\n case ZodIssueCode.not_multiple_of:\n message = `Number must be a multiple of ${issue.multipleOf}`;\n break;\n case ZodIssueCode.not_finite:\n message = \"Number must be finite\";\n break;\n default:\n message = _ctx.defaultError;\n util.assertNever(issue);\n }\n return { message };\n};\n\nlet overrideErrorMap = errorMap;\nfunction setErrorMap(map) {\n overrideErrorMap = map;\n}\nfunction getErrorMap() {\n return overrideErrorMap;\n}\n\nconst makeIssue = (params) => {\n const { data, path, errorMaps, issueData } = params;\n const fullPath = [...path, ...(issueData.path || [])];\n const fullIssue = {\n ...issueData,\n path: fullPath,\n };\n let errorMessage = \"\";\n const maps = errorMaps\n .filter((m) => !!m)\n .slice()\n .reverse();\n for (const map of maps) {\n errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message;\n }\n return {\n ...issueData,\n path: fullPath,\n message: issueData.message || errorMessage,\n };\n};\nconst EMPTY_PATH = [];\nfunction addIssueToContext(ctx, issueData) {\n const issue = makeIssue({\n issueData: issueData,\n data: ctx.data,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n getErrorMap(),\n errorMap, // then global default map\n ].filter((x) => !!x),\n });\n ctx.common.issues.push(issue);\n}\nclass ParseStatus {\n constructor() {\n this.value = \"valid\";\n }\n dirty() {\n if (this.value === \"valid\")\n this.value = \"dirty\";\n }\n abort() {\n if (this.value !== \"aborted\")\n this.value = \"aborted\";\n }\n static mergeArray(status, results) {\n const arrayValue = [];\n for (const s of results) {\n if (s.status === \"aborted\")\n return INVALID;\n if (s.status === \"dirty\")\n status.dirty();\n arrayValue.push(s.value);\n }\n return { status: status.value, value: arrayValue };\n }\n static async mergeObjectAsync(status, pairs) {\n const syncPairs = [];\n for (const pair of pairs) {\n syncPairs.push({\n key: await pair.key,\n value: await pair.value,\n });\n }\n return ParseStatus.mergeObjectSync(status, syncPairs);\n }\n static mergeObjectSync(status, pairs) {\n const finalObject = {};\n for (const pair of pairs) {\n const { key, value } = pair;\n if (key.status === \"aborted\")\n return INVALID;\n if (value.status === \"aborted\")\n return INVALID;\n if (key.status === \"dirty\")\n status.dirty();\n if (value.status === \"dirty\")\n status.dirty();\n if (key.value !== \"__proto__\" &&\n (typeof value.value !== \"undefined\" || pair.alwaysSet)) {\n finalObject[key.value] = value.value;\n }\n }\n return { status: status.value, value: finalObject };\n }\n}\nconst INVALID = Object.freeze({\n status: \"aborted\",\n});\nconst DIRTY = (value) => ({ status: \"dirty\", value });\nconst OK = (value) => ({ status: \"valid\", value });\nconst isAborted = (x) => x.status === \"aborted\";\nconst isDirty = (x) => x.status === \"dirty\";\nconst isValid = (x) => x.status === \"valid\";\nconst isAsync = (x) => typeof Promise !== \"undefined\" && x instanceof Promise;\n\nvar errorUtil;\n(function (errorUtil) {\n errorUtil.errToObj = (message) => typeof message === \"string\" ? { message } : message || {};\n errorUtil.toString = (message) => typeof message === \"string\" ? message : message === null || message === void 0 ? void 0 : message.message;\n})(errorUtil || (errorUtil = {}));\n\nclass ParseInputLazyPath {\n constructor(parent, value, path, key) {\n this._cachedPath = [];\n this.parent = parent;\n this.data = value;\n this._path = path;\n this._key = key;\n }\n get path() {\n if (!this._cachedPath.length) {\n if (this._key instanceof Array) {\n this._cachedPath.push(...this._path, ...this._key);\n }\n else {\n this._cachedPath.push(...this._path, this._key);\n }\n }\n return this._cachedPath;\n }\n}\nconst handleResult = (ctx, result) => {\n if (isValid(result)) {\n return { success: true, data: result.value };\n }\n else {\n if (!ctx.common.issues.length) {\n throw new Error(\"Validation failed but no issues detected.\");\n }\n return {\n success: false,\n get error() {\n if (this._error)\n return this._error;\n const error = new ZodError(ctx.common.issues);\n this._error = error;\n return this._error;\n },\n };\n }\n};\nfunction processCreateParams(params) {\n if (!params)\n return {};\n const { errorMap, invalid_type_error, required_error, description } = params;\n if (errorMap && (invalid_type_error || required_error)) {\n throw new Error(`Can't use \"invalid_type_error\" or \"required_error\" in conjunction with custom error map.`);\n }\n if (errorMap)\n return { errorMap: errorMap, description };\n const customMap = (iss, ctx) => {\n if (iss.code !== \"invalid_type\")\n return { message: ctx.defaultError };\n if (typeof ctx.data === \"undefined\") {\n return { message: required_error !== null && required_error !== void 0 ? required_error : ctx.defaultError };\n }\n return { message: invalid_type_error !== null && invalid_type_error !== void 0 ? invalid_type_error : ctx.defaultError };\n };\n return { errorMap: customMap, description };\n}\nclass ZodType {\n constructor(def) {\n /** Alias of safeParseAsync */\n this.spa = this.safeParseAsync;\n this._def = def;\n this.parse = this.parse.bind(this);\n this.safeParse = this.safeParse.bind(this);\n this.parseAsync = this.parseAsync.bind(this);\n this.safeParseAsync = this.safeParseAsync.bind(this);\n this.spa = this.spa.bind(this);\n this.refine = this.refine.bind(this);\n this.refinement = this.refinement.bind(this);\n this.superRefine = this.superRefine.bind(this);\n this.optional = this.optional.bind(this);\n this.nullable = this.nullable.bind(this);\n this.nullish = this.nullish.bind(this);\n this.array = this.array.bind(this);\n this.promise = this.promise.bind(this);\n this.or = this.or.bind(this);\n this.and = this.and.bind(this);\n this.transform = this.transform.bind(this);\n this.brand = this.brand.bind(this);\n this.default = this.default.bind(this);\n this.catch = this.catch.bind(this);\n this.describe = this.describe.bind(this);\n this.pipe = this.pipe.bind(this);\n this.readonly = this.readonly.bind(this);\n this.isNullable = this.isNullable.bind(this);\n this.isOptional = this.isOptional.bind(this);\n }\n get description() {\n return this._def.description;\n }\n _getType(input) {\n return getParsedType(input.data);\n }\n _getOrReturnCtx(input, ctx) {\n return (ctx || {\n common: input.parent.common,\n data: input.data,\n parsedType: getParsedType(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n });\n }\n _processInputParams(input) {\n return {\n status: new ParseStatus(),\n ctx: {\n common: input.parent.common,\n data: input.data,\n parsedType: getParsedType(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n },\n };\n }\n _parseSync(input) {\n const result = this._parse(input);\n if (isAsync(result)) {\n throw new Error(\"Synchronous parse encountered promise.\");\n }\n return result;\n }\n _parseAsync(input) {\n const result = this._parse(input);\n return Promise.resolve(result);\n }\n parse(data, params) {\n const result = this.safeParse(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n safeParse(data, params) {\n var _a;\n const ctx = {\n common: {\n issues: [],\n async: (_a = params === null || params === void 0 ? void 0 : params.async) !== null && _a !== void 0 ? _a : false,\n contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,\n },\n path: (params === null || params === void 0 ? void 0 : params.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const result = this._parseSync({ data, path: ctx.path, parent: ctx });\n return handleResult(ctx, result);\n }\n async parseAsync(data, params) {\n const result = await this.safeParseAsync(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n async safeParseAsync(data, params) {\n const ctx = {\n common: {\n issues: [],\n contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,\n async: true,\n },\n path: (params === null || params === void 0 ? void 0 : params.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx });\n const result = await (isAsync(maybeAsyncResult)\n ? maybeAsyncResult\n : Promise.resolve(maybeAsyncResult));\n return handleResult(ctx, result);\n }\n refine(check, message) {\n const getIssueProperties = (val) => {\n if (typeof message === \"string\" || typeof message === \"undefined\") {\n return { message };\n }\n else if (typeof message === \"function\") {\n return message(val);\n }\n else {\n return message;\n }\n };\n return this._refinement((val, ctx) => {\n const result = check(val);\n const setError = () => ctx.addIssue({\n code: ZodIssueCode.custom,\n ...getIssueProperties(val),\n });\n if (typeof Promise !== \"undefined\" && result instanceof Promise) {\n return result.then((data) => {\n if (!data) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n if (!result) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n refinement(check, refinementData) {\n return this._refinement((val, ctx) => {\n if (!check(val)) {\n ctx.addIssue(typeof refinementData === \"function\"\n ? refinementData(val, ctx)\n : refinementData);\n return false;\n }\n else {\n return true;\n }\n });\n }\n _refinement(refinement) {\n return new ZodEffects({\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"refinement\", refinement },\n });\n }\n superRefine(refinement) {\n return this._refinement(refinement);\n }\n optional() {\n return ZodOptional.create(this, this._def);\n }\n nullable() {\n return ZodNullable.create(this, this._def);\n }\n nullish() {\n return this.nullable().optional();\n }\n array() {\n return ZodArray.create(this, this._def);\n }\n promise() {\n return ZodPromise.create(this, this._def);\n }\n or(option) {\n return ZodUnion.create([this, option], this._def);\n }\n and(incoming) {\n return ZodIntersection.create(this, incoming, this._def);\n }\n transform(transform) {\n return new ZodEffects({\n ...processCreateParams(this._def),\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"transform\", transform },\n });\n }\n default(def) {\n const defaultValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodDefault({\n ...processCreateParams(this._def),\n innerType: this,\n defaultValue: defaultValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n });\n }\n brand() {\n return new ZodBranded({\n typeName: ZodFirstPartyTypeKind.ZodBranded,\n type: this,\n ...processCreateParams(this._def),\n });\n }\n catch(def) {\n const catchValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodCatch({\n ...processCreateParams(this._def),\n innerType: this,\n catchValue: catchValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n });\n }\n describe(description) {\n const This = this.constructor;\n return new This({\n ...this._def,\n description,\n });\n }\n pipe(target) {\n return ZodPipeline.create(this, target);\n }\n readonly() {\n return ZodReadonly.create(this);\n }\n isOptional() {\n return this.safeParse(undefined).success;\n }\n isNullable() {\n return this.safeParse(null).success;\n }\n}\nconst cuidRegex = /^c[^\\s-]{8,}$/i;\nconst cuid2Regex = /^[a-z][a-z0-9]*$/;\nconst ulidRegex = /^[0-9A-HJKMNP-TV-Z]{26}$/;\n// const uuidRegex =\n// /^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i;\nconst uuidRegex = /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/i;\n// from https://stackoverflow.com/a/46181/1550155\n// old version: too slow, didn't support unicode\n// const emailRegex = /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i;\n//old email regex\n// const emailRegex = /^(([^<>()[\\].,;:\\s@\"]+(\\.[^<>()[\\].,;:\\s@\"]+)*)|(\".+\"))@((?!-)([^<>()[\\].,;:\\s@\"]+\\.)+[^<>()[\\].,;:\\s@\"]{1,})[^-<>()[\\].,;:\\s@\"]$/i;\n// eslint-disable-next-line\n// const emailRegex =\n// /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\])|(\\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\\.[A-Za-z]{2,})+))$/;\n// const emailRegex =\n// /^[a-zA-Z0-9\\.\\!\\#\\$\\%\\&\\'\\*\\+\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~\\-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n// const emailRegex =\n// /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])$/i;\nconst emailRegex = /^(?!\\.)(?!.*\\.\\.)([A-Z0-9_+-\\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\\-]*\\.)+[A-Z]{2,}$/i;\n// const emailRegex =\n// /^[a-z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-z0-9-]+(?:\\.[a-z0-9\\-]+)*$/i;\n// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression\nconst _emojiRegex = `^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$`;\nlet emojiRegex;\nconst ipv4Regex = /^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/;\nconst ipv6Regex = /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/;\n// Adapted from https://stackoverflow.com/a/3143231\nconst datetimeRegex = (args) => {\n if (args.precision) {\n if (args.offset) {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}\\\\.\\\\d{${args.precision}}(([+-]\\\\d{2}(:?\\\\d{2})?)|Z)$`);\n }\n else {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}\\\\.\\\\d{${args.precision}}Z$`);\n }\n }\n else if (args.precision === 0) {\n if (args.offset) {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(([+-]\\\\d{2}(:?\\\\d{2})?)|Z)$`);\n }\n else {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}Z$`);\n }\n }\n else {\n if (args.offset) {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?(([+-]\\\\d{2}(:?\\\\d{2})?)|Z)$`);\n }\n else {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?Z$`);\n }\n }\n};\nfunction isValidIP(ip, version) {\n if ((version === \"v4\" || !version) && ipv4Regex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6Regex.test(ip)) {\n return true;\n }\n return false;\n}\nclass ZodString extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = String(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.string) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.string,\n received: ctx.parsedType,\n }\n //\n );\n return INVALID;\n }\n const status = new ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.length < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.length > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"length\") {\n const tooBig = input.data.length > check.value;\n const tooSmall = input.data.length < check.value;\n if (tooBig || tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n if (tooBig) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n else if (tooSmall) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n status.dirty();\n }\n }\n else if (check.kind === \"email\") {\n if (!emailRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"email\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"emoji\") {\n if (!emojiRegex) {\n emojiRegex = new RegExp(_emojiRegex, \"u\");\n }\n if (!emojiRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"emoji\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"uuid\") {\n if (!uuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"uuid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid\") {\n if (!cuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cuid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid2\") {\n if (!cuid2Regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cuid2\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ulid\") {\n if (!ulidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"ulid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"url\") {\n try {\n new URL(input.data);\n }\n catch (_a) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"url\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"regex\") {\n check.regex.lastIndex = 0;\n const testResult = check.regex.test(input.data);\n if (!testResult) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"regex\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"trim\") {\n input.data = input.data.trim();\n }\n else if (check.kind === \"includes\") {\n if (!input.data.includes(check.value, check.position)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { includes: check.value, position: check.position },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"toLowerCase\") {\n input.data = input.data.toLowerCase();\n }\n else if (check.kind === \"toUpperCase\") {\n input.data = input.data.toUpperCase();\n }\n else if (check.kind === \"startsWith\") {\n if (!input.data.startsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { startsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"endsWith\") {\n if (!input.data.endsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { endsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"datetime\") {\n const regex = datetimeRegex(check);\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: \"datetime\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ip\") {\n if (!isValidIP(input.data, check.version)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"ip\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _regex(regex, validation, message) {\n return this.refinement((data) => regex.test(data), {\n validation,\n code: ZodIssueCode.invalid_string,\n ...errorUtil.errToObj(message),\n });\n }\n _addCheck(check) {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n email(message) {\n return this._addCheck({ kind: \"email\", ...errorUtil.errToObj(message) });\n }\n url(message) {\n return this._addCheck({ kind: \"url\", ...errorUtil.errToObj(message) });\n }\n emoji(message) {\n return this._addCheck({ kind: \"emoji\", ...errorUtil.errToObj(message) });\n }\n uuid(message) {\n return this._addCheck({ kind: \"uuid\", ...errorUtil.errToObj(message) });\n }\n cuid(message) {\n return this._addCheck({ kind: \"cuid\", ...errorUtil.errToObj(message) });\n }\n cuid2(message) {\n return this._addCheck({ kind: \"cuid2\", ...errorUtil.errToObj(message) });\n }\n ulid(message) {\n return this._addCheck({ kind: \"ulid\", ...errorUtil.errToObj(message) });\n }\n ip(options) {\n return this._addCheck({ kind: \"ip\", ...errorUtil.errToObj(options) });\n }\n datetime(options) {\n var _a;\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"datetime\",\n precision: null,\n offset: false,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"datetime\",\n precision: typeof (options === null || options === void 0 ? void 0 : options.precision) === \"undefined\" ? null : options === null || options === void 0 ? void 0 : options.precision,\n offset: (_a = options === null || options === void 0 ? void 0 : options.offset) !== null && _a !== void 0 ? _a : false,\n ...errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),\n });\n }\n regex(regex, message) {\n return this._addCheck({\n kind: \"regex\",\n regex: regex,\n ...errorUtil.errToObj(message),\n });\n }\n includes(value, options) {\n return this._addCheck({\n kind: \"includes\",\n value: value,\n position: options === null || options === void 0 ? void 0 : options.position,\n ...errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),\n });\n }\n startsWith(value, message) {\n return this._addCheck({\n kind: \"startsWith\",\n value: value,\n ...errorUtil.errToObj(message),\n });\n }\n endsWith(value, message) {\n return this._addCheck({\n kind: \"endsWith\",\n value: value,\n ...errorUtil.errToObj(message),\n });\n }\n min(minLength, message) {\n return this._addCheck({\n kind: \"min\",\n value: minLength,\n ...errorUtil.errToObj(message),\n });\n }\n max(maxLength, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxLength,\n ...errorUtil.errToObj(message),\n });\n }\n length(len, message) {\n return this._addCheck({\n kind: \"length\",\n value: len,\n ...errorUtil.errToObj(message),\n });\n }\n /**\n * @deprecated Use z.string().min(1) instead.\n * @see {@link ZodString.min}\n */\n nonempty(message) {\n return this.min(1, errorUtil.errToObj(message));\n }\n trim() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"trim\" }],\n });\n }\n toLowerCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toLowerCase\" }],\n });\n }\n toUpperCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toUpperCase\" }],\n });\n }\n get isDatetime() {\n return !!this._def.checks.find((ch) => ch.kind === \"datetime\");\n }\n get isEmail() {\n return !!this._def.checks.find((ch) => ch.kind === \"email\");\n }\n get isURL() {\n return !!this._def.checks.find((ch) => ch.kind === \"url\");\n }\n get isEmoji() {\n return !!this._def.checks.find((ch) => ch.kind === \"emoji\");\n }\n get isUUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"uuid\");\n }\n get isCUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid\");\n }\n get isCUID2() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid2\");\n }\n get isULID() {\n return !!this._def.checks.find((ch) => ch.kind === \"ulid\");\n }\n get isIP() {\n return !!this._def.checks.find((ch) => ch.kind === \"ip\");\n }\n get minLength() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxLength() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nZodString.create = (params) => {\n var _a;\n return new ZodString({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodString,\n coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false,\n ...processCreateParams(params),\n });\n};\n// https://stackoverflow.com/questions/3966484/why-does-modulus-operator-return-fractional-number-in-javascript/31711034#31711034\nfunction floatSafeRemainder(val, step) {\n const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n const stepDecCount = (step.toString().split(\".\")[1] || \"\").length;\n const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n const valInt = parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / Math.pow(10, decCount);\n}\nclass ZodNumber extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n this.step = this.multipleOf;\n }\n _parse(input) {\n if (this._def.coerce) {\n input.data = Number(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.number) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.number,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n let ctx = undefined;\n const status = new ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"int\") {\n if (!util.isInteger(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: \"integer\",\n received: \"float\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"min\") {\n const tooSmall = check.inclusive\n ? input.data < check.value\n : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive\n ? input.data > check.value\n : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (floatSafeRemainder(input.data, check.value) !== 0) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"finite\") {\n if (!Number.isFinite(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_finite,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodNumber({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodNumber({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n int(message) {\n return this._addCheck({\n kind: \"int\",\n message: errorUtil.toString(message),\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value: value,\n message: errorUtil.toString(message),\n });\n }\n finite(message) {\n return this._addCheck({\n kind: \"finite\",\n message: errorUtil.toString(message),\n });\n }\n safe(message) {\n return this._addCheck({\n kind: \"min\",\n inclusive: true,\n value: Number.MIN_SAFE_INTEGER,\n message: errorUtil.toString(message),\n })._addCheck({\n kind: \"max\",\n inclusive: true,\n value: Number.MAX_SAFE_INTEGER,\n message: errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n get isInt() {\n return !!this._def.checks.find((ch) => ch.kind === \"int\" ||\n (ch.kind === \"multipleOf\" && util.isInteger(ch.value)));\n }\n get isFinite() {\n let max = null, min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"finite\" ||\n ch.kind === \"int\" ||\n ch.kind === \"multipleOf\") {\n return true;\n }\n else if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n else if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return Number.isFinite(min) && Number.isFinite(max);\n }\n}\nZodNumber.create = (params) => {\n return new ZodNumber({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodNumber,\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n ...processCreateParams(params),\n });\n};\nclass ZodBigInt extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n }\n _parse(input) {\n if (this._def.coerce) {\n input.data = BigInt(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.bigint) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.bigint,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n let ctx = undefined;\n const status = new ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n const tooSmall = check.inclusive\n ? input.data < check.value\n : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n type: \"bigint\",\n minimum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive\n ? input.data > check.value\n : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n type: \"bigint\",\n maximum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (input.data % check.value !== BigInt(0)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodBigInt({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodBigInt({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value,\n message: errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nZodBigInt.create = (params) => {\n var _a;\n return new ZodBigInt({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodBigInt,\n coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false,\n ...processCreateParams(params),\n });\n};\nclass ZodBoolean extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = Boolean(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.boolean) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.boolean,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodBoolean.create = (params) => {\n return new ZodBoolean({\n typeName: ZodFirstPartyTypeKind.ZodBoolean,\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n ...processCreateParams(params),\n });\n};\nclass ZodDate extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = new Date(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.date) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.date,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (isNaN(input.data.getTime())) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_date,\n });\n return INVALID;\n }\n const status = new ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.getTime() < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n message: check.message,\n inclusive: true,\n exact: false,\n minimum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.getTime() > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n message: check.message,\n inclusive: true,\n exact: false,\n maximum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return {\n status: status.value,\n value: new Date(input.data.getTime()),\n };\n }\n _addCheck(check) {\n return new ZodDate({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n min(minDate, message) {\n return this._addCheck({\n kind: \"min\",\n value: minDate.getTime(),\n message: errorUtil.toString(message),\n });\n }\n max(maxDate, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxDate.getTime(),\n message: errorUtil.toString(message),\n });\n }\n get minDate() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min != null ? new Date(min) : null;\n }\n get maxDate() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max != null ? new Date(max) : null;\n }\n}\nZodDate.create = (params) => {\n return new ZodDate({\n checks: [],\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n typeName: ZodFirstPartyTypeKind.ZodDate,\n ...processCreateParams(params),\n });\n};\nclass ZodSymbol extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.symbol) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.symbol,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodSymbol.create = (params) => {\n return new ZodSymbol({\n typeName: ZodFirstPartyTypeKind.ZodSymbol,\n ...processCreateParams(params),\n });\n};\nclass ZodUndefined extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.undefined,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodUndefined.create = (params) => {\n return new ZodUndefined({\n typeName: ZodFirstPartyTypeKind.ZodUndefined,\n ...processCreateParams(params),\n });\n};\nclass ZodNull extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.null) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.null,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodNull.create = (params) => {\n return new ZodNull({\n typeName: ZodFirstPartyTypeKind.ZodNull,\n ...processCreateParams(params),\n });\n};\nclass ZodAny extends ZodType {\n constructor() {\n super(...arguments);\n // to prevent instances of other classes from extending ZodAny. this causes issues with catchall in ZodObject.\n this._any = true;\n }\n _parse(input) {\n return OK(input.data);\n }\n}\nZodAny.create = (params) => {\n return new ZodAny({\n typeName: ZodFirstPartyTypeKind.ZodAny,\n ...processCreateParams(params),\n });\n};\nclass ZodUnknown extends ZodType {\n constructor() {\n super(...arguments);\n // required\n this._unknown = true;\n }\n _parse(input) {\n return OK(input.data);\n }\n}\nZodUnknown.create = (params) => {\n return new ZodUnknown({\n typeName: ZodFirstPartyTypeKind.ZodUnknown,\n ...processCreateParams(params),\n });\n};\nclass ZodNever extends ZodType {\n _parse(input) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.never,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n}\nZodNever.create = (params) => {\n return new ZodNever({\n typeName: ZodFirstPartyTypeKind.ZodNever,\n ...processCreateParams(params),\n });\n};\nclass ZodVoid extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.void,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodVoid.create = (params) => {\n return new ZodVoid({\n typeName: ZodFirstPartyTypeKind.ZodVoid,\n ...processCreateParams(params),\n });\n};\nclass ZodArray extends ZodType {\n _parse(input) {\n const { ctx, status } = this._processInputParams(input);\n const def = this._def;\n if (ctx.parsedType !== ZodParsedType.array) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.array,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (def.exactLength !== null) {\n const tooBig = ctx.data.length > def.exactLength.value;\n const tooSmall = ctx.data.length < def.exactLength.value;\n if (tooBig || tooSmall) {\n addIssueToContext(ctx, {\n code: tooBig ? ZodIssueCode.too_big : ZodIssueCode.too_small,\n minimum: (tooSmall ? def.exactLength.value : undefined),\n maximum: (tooBig ? def.exactLength.value : undefined),\n type: \"array\",\n inclusive: true,\n exact: true,\n message: def.exactLength.message,\n });\n status.dirty();\n }\n }\n if (def.minLength !== null) {\n if (ctx.data.length < def.minLength.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: def.minLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.minLength.message,\n });\n status.dirty();\n }\n }\n if (def.maxLength !== null) {\n if (ctx.data.length > def.maxLength.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: def.maxLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.maxLength.message,\n });\n status.dirty();\n }\n }\n if (ctx.common.async) {\n return Promise.all([...ctx.data].map((item, i) => {\n return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n })).then((result) => {\n return ParseStatus.mergeArray(status, result);\n });\n }\n const result = [...ctx.data].map((item, i) => {\n return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n });\n return ParseStatus.mergeArray(status, result);\n }\n get element() {\n return this._def.type;\n }\n min(minLength, message) {\n return new ZodArray({\n ...this._def,\n minLength: { value: minLength, message: errorUtil.toString(message) },\n });\n }\n max(maxLength, message) {\n return new ZodArray({\n ...this._def,\n maxLength: { value: maxLength, message: errorUtil.toString(message) },\n });\n }\n length(len, message) {\n return new ZodArray({\n ...this._def,\n exactLength: { value: len, message: errorUtil.toString(message) },\n });\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nZodArray.create = (schema, params) => {\n return new ZodArray({\n type: schema,\n minLength: null,\n maxLength: null,\n exactLength: null,\n typeName: ZodFirstPartyTypeKind.ZodArray,\n ...processCreateParams(params),\n });\n};\nfunction deepPartialify(schema) {\n if (schema instanceof ZodObject) {\n const newShape = {};\n for (const key in schema.shape) {\n const fieldSchema = schema.shape[key];\n newShape[key] = ZodOptional.create(deepPartialify(fieldSchema));\n }\n return new ZodObject({\n ...schema._def,\n shape: () => newShape,\n });\n }\n else if (schema instanceof ZodArray) {\n return new ZodArray({\n ...schema._def,\n type: deepPartialify(schema.element),\n });\n }\n else if (schema instanceof ZodOptional) {\n return ZodOptional.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodNullable) {\n return ZodNullable.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodTuple) {\n return ZodTuple.create(schema.items.map((item) => deepPartialify(item)));\n }\n else {\n return schema;\n }\n}\nclass ZodObject extends ZodType {\n constructor() {\n super(...arguments);\n this._cached = null;\n /**\n * @deprecated In most cases, this is no longer needed - unknown properties are now silently stripped.\n * If you want to pass through unknown properties, use `.passthrough()` instead.\n */\n this.nonstrict = this.passthrough;\n // extend<\n // Augmentation extends ZodRawShape,\n // NewOutput extends util.flatten<{\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // }>,\n // NewInput extends util.flatten<{\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }>\n // >(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape,\n // UnknownKeys,\n // Catchall,\n // NewOutput,\n // NewInput\n // > {\n // return new ZodObject({\n // ...this._def,\n // shape: () => ({\n // ...this._def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // }\n /**\n * @deprecated Use `.extend` instead\n * */\n this.augment = this.extend;\n }\n _getCached() {\n if (this._cached !== null)\n return this._cached;\n const shape = this._def.shape();\n const keys = util.objectKeys(shape);\n return (this._cached = { shape, keys });\n }\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.object) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const { status, ctx } = this._processInputParams(input);\n const { shape, keys: shapeKeys } = this._getCached();\n const extraKeys = [];\n if (!(this._def.catchall instanceof ZodNever &&\n this._def.unknownKeys === \"strip\")) {\n for (const key in ctx.data) {\n if (!shapeKeys.includes(key)) {\n extraKeys.push(key);\n }\n }\n }\n const pairs = [];\n for (const key of shapeKeys) {\n const keyValidator = shape[key];\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: keyValidator._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)),\n alwaysSet: key in ctx.data,\n });\n }\n if (this._def.catchall instanceof ZodNever) {\n const unknownKeys = this._def.unknownKeys;\n if (unknownKeys === \"passthrough\") {\n for (const key of extraKeys) {\n pairs.push({\n key: { status: \"valid\", value: key },\n value: { status: \"valid\", value: ctx.data[key] },\n });\n }\n }\n else if (unknownKeys === \"strict\") {\n if (extraKeys.length > 0) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.unrecognized_keys,\n keys: extraKeys,\n });\n status.dirty();\n }\n }\n else if (unknownKeys === \"strip\") ;\n else {\n throw new Error(`Internal ZodObject error: invalid unknownKeys value.`);\n }\n }\n else {\n // run catchall validation\n const catchall = this._def.catchall;\n for (const key of extraKeys) {\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: catchall._parse(new ParseInputLazyPath(ctx, value, ctx.path, key) //, ctx.child(key), value, getParsedType(value)\n ),\n alwaysSet: key in ctx.data,\n });\n }\n }\n if (ctx.common.async) {\n return Promise.resolve()\n .then(async () => {\n const syncPairs = [];\n for (const pair of pairs) {\n const key = await pair.key;\n syncPairs.push({\n key,\n value: await pair.value,\n alwaysSet: pair.alwaysSet,\n });\n }\n return syncPairs;\n })\n .then((syncPairs) => {\n return ParseStatus.mergeObjectSync(status, syncPairs);\n });\n }\n else {\n return ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get shape() {\n return this._def.shape();\n }\n strict(message) {\n errorUtil.errToObj;\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strict\",\n ...(message !== undefined\n ? {\n errorMap: (issue, ctx) => {\n var _a, _b, _c, _d;\n const defaultError = (_c = (_b = (_a = this._def).errorMap) === null || _b === void 0 ? void 0 : _b.call(_a, issue, ctx).message) !== null && _c !== void 0 ? _c : ctx.defaultError;\n if (issue.code === \"unrecognized_keys\")\n return {\n message: (_d = errorUtil.errToObj(message).message) !== null && _d !== void 0 ? _d : defaultError,\n };\n return {\n message: defaultError,\n };\n },\n }\n : {}),\n });\n }\n strip() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strip\",\n });\n }\n passthrough() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"passthrough\",\n });\n }\n // const AugmentFactory =\n // (def: Def) =>\n // (\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape, Augmentation>,\n // Def[\"unknownKeys\"],\n // Def[\"catchall\"]\n // > => {\n // return new ZodObject({\n // ...def,\n // shape: () => ({\n // ...def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // };\n extend(augmentation) {\n return new ZodObject({\n ...this._def,\n shape: () => ({\n ...this._def.shape(),\n ...augmentation,\n }),\n });\n }\n /**\n * Prior to zod@1.0.12 there was a bug in the\n * inferred type of merged objects. Please\n * upgrade if you are experiencing issues.\n */\n merge(merging) {\n const merged = new ZodObject({\n unknownKeys: merging._def.unknownKeys,\n catchall: merging._def.catchall,\n shape: () => ({\n ...this._def.shape(),\n ...merging._def.shape(),\n }),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n });\n return merged;\n }\n // merge<\n // Incoming extends AnyZodObject,\n // Augmentation extends Incoming[\"shape\"],\n // NewOutput extends {\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // },\n // NewInput extends {\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }\n // >(\n // merging: Incoming\n // ): ZodObject<\n // extendShape>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"],\n // NewOutput,\n // NewInput\n // > {\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n setKey(key, schema) {\n return this.augment({ [key]: schema });\n }\n // merge(\n // merging: Incoming\n // ): //ZodObject = (merging) => {\n // ZodObject<\n // extendShape>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"]\n // > {\n // // const mergedShape = objectUtil.mergeShapes(\n // // this._def.shape(),\n // // merging._def.shape()\n // // );\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n catchall(index) {\n return new ZodObject({\n ...this._def,\n catchall: index,\n });\n }\n pick(mask) {\n const shape = {};\n util.objectKeys(mask).forEach((key) => {\n if (mask[key] && this.shape[key]) {\n shape[key] = this.shape[key];\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n omit(mask) {\n const shape = {};\n util.objectKeys(this.shape).forEach((key) => {\n if (!mask[key]) {\n shape[key] = this.shape[key];\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n /**\n * @deprecated\n */\n deepPartial() {\n return deepPartialify(this);\n }\n partial(mask) {\n const newShape = {};\n util.objectKeys(this.shape).forEach((key) => {\n const fieldSchema = this.shape[key];\n if (mask && !mask[key]) {\n newShape[key] = fieldSchema;\n }\n else {\n newShape[key] = fieldSchema.optional();\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n required(mask) {\n const newShape = {};\n util.objectKeys(this.shape).forEach((key) => {\n if (mask && !mask[key]) {\n newShape[key] = this.shape[key];\n }\n else {\n const fieldSchema = this.shape[key];\n let newField = fieldSchema;\n while (newField instanceof ZodOptional) {\n newField = newField._def.innerType;\n }\n newShape[key] = newField;\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n keyof() {\n return createZodEnum(util.objectKeys(this.shape));\n }\n}\nZodObject.create = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.strictCreate = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strict\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.lazycreate = (shape, params) => {\n return new ZodObject({\n shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nclass ZodUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const options = this._def.options;\n function handleResults(results) {\n // return first issue-free validation if it exists\n for (const result of results) {\n if (result.result.status === \"valid\") {\n return result.result;\n }\n }\n for (const result of results) {\n if (result.result.status === \"dirty\") {\n // add issues from dirty option\n ctx.common.issues.push(...result.ctx.common.issues);\n return result.result;\n }\n }\n // return invalid\n const unionErrors = results.map((result) => new ZodError(result.ctx.common.issues));\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union,\n unionErrors,\n });\n return INVALID;\n }\n if (ctx.common.async) {\n return Promise.all(options.map(async (option) => {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n return {\n result: await option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n }),\n ctx: childCtx,\n };\n })).then(handleResults);\n }\n else {\n let dirty = undefined;\n const issues = [];\n for (const option of options) {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n const result = option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n });\n if (result.status === \"valid\") {\n return result;\n }\n else if (result.status === \"dirty\" && !dirty) {\n dirty = { result, ctx: childCtx };\n }\n if (childCtx.common.issues.length) {\n issues.push(childCtx.common.issues);\n }\n }\n if (dirty) {\n ctx.common.issues.push(...dirty.ctx.common.issues);\n return dirty.result;\n }\n const unionErrors = issues.map((issues) => new ZodError(issues));\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union,\n unionErrors,\n });\n return INVALID;\n }\n }\n get options() {\n return this._def.options;\n }\n}\nZodUnion.create = (types, params) => {\n return new ZodUnion({\n options: types,\n typeName: ZodFirstPartyTypeKind.ZodUnion,\n ...processCreateParams(params),\n });\n};\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\n////////// //////////\n////////// ZodDiscriminatedUnion //////////\n////////// //////////\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\nconst getDiscriminator = (type) => {\n if (type instanceof ZodLazy) {\n return getDiscriminator(type.schema);\n }\n else if (type instanceof ZodEffects) {\n return getDiscriminator(type.innerType());\n }\n else if (type instanceof ZodLiteral) {\n return [type.value];\n }\n else if (type instanceof ZodEnum) {\n return type.options;\n }\n else if (type instanceof ZodNativeEnum) {\n // eslint-disable-next-line ban/ban\n return Object.keys(type.enum);\n }\n else if (type instanceof ZodDefault) {\n return getDiscriminator(type._def.innerType);\n }\n else if (type instanceof ZodUndefined) {\n return [undefined];\n }\n else if (type instanceof ZodNull) {\n return [null];\n }\n else {\n return null;\n }\n};\nclass ZodDiscriminatedUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.object) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const discriminator = this.discriminator;\n const discriminatorValue = ctx.data[discriminator];\n const option = this.optionsMap.get(discriminatorValue);\n if (!option) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union_discriminator,\n options: Array.from(this.optionsMap.keys()),\n path: [discriminator],\n });\n return INVALID;\n }\n if (ctx.common.async) {\n return option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n else {\n return option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n get discriminator() {\n return this._def.discriminator;\n }\n get options() {\n return this._def.options;\n }\n get optionsMap() {\n return this._def.optionsMap;\n }\n /**\n * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor.\n * However, it only allows a union of objects, all of which need to share a discriminator property. This property must\n * have a different value for each object in the union.\n * @param discriminator the name of the discriminator property\n * @param types an array of object schemas\n * @param params\n */\n static create(discriminator, options, params) {\n // Get all the valid discriminator values\n const optionsMap = new Map();\n // try {\n for (const type of options) {\n const discriminatorValues = getDiscriminator(type.shape[discriminator]);\n if (!discriminatorValues) {\n throw new Error(`A discriminator value for key \\`${discriminator}\\` could not be extracted from all schema options`);\n }\n for (const value of discriminatorValues) {\n if (optionsMap.has(value)) {\n throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`);\n }\n optionsMap.set(value, type);\n }\n }\n return new ZodDiscriminatedUnion({\n typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion,\n discriminator,\n options,\n optionsMap,\n ...processCreateParams(params),\n });\n }\n}\nfunction mergeValues(a, b) {\n const aType = getParsedType(a);\n const bType = getParsedType(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n else if (aType === ZodParsedType.object && bType === ZodParsedType.object) {\n const bKeys = util.objectKeys(b);\n const sharedKeys = util\n .objectKeys(a)\n .filter((key) => bKeys.indexOf(key) !== -1);\n const newObj = { ...a, ...b };\n for (const key of sharedKeys) {\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newObj[key] = sharedValue.data;\n }\n return { valid: true, data: newObj };\n }\n else if (aType === ZodParsedType.array && bType === ZodParsedType.array) {\n if (a.length !== b.length) {\n return { valid: false };\n }\n const newArray = [];\n for (let index = 0; index < a.length; index++) {\n const itemA = a[index];\n const itemB = b[index];\n const sharedValue = mergeValues(itemA, itemB);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newArray.push(sharedValue.data);\n }\n return { valid: true, data: newArray };\n }\n else if (aType === ZodParsedType.date &&\n bType === ZodParsedType.date &&\n +a === +b) {\n return { valid: true, data: a };\n }\n else {\n return { valid: false };\n }\n}\nclass ZodIntersection extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const handleParsed = (parsedLeft, parsedRight) => {\n if (isAborted(parsedLeft) || isAborted(parsedRight)) {\n return INVALID;\n }\n const merged = mergeValues(parsedLeft.value, parsedRight.value);\n if (!merged.valid) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_intersection_types,\n });\n return INVALID;\n }\n if (isDirty(parsedLeft) || isDirty(parsedRight)) {\n status.dirty();\n }\n return { status: status.value, value: merged.data };\n };\n if (ctx.common.async) {\n return Promise.all([\n this._def.left._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n this._def.right._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n ]).then(([left, right]) => handleParsed(left, right));\n }\n else {\n return handleParsed(this._def.left._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }), this._def.right._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }));\n }\n }\n}\nZodIntersection.create = (left, right, params) => {\n return new ZodIntersection({\n left: left,\n right: right,\n typeName: ZodFirstPartyTypeKind.ZodIntersection,\n ...processCreateParams(params),\n });\n};\nclass ZodTuple extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.array) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.array,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (ctx.data.length < this._def.items.length) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n return INVALID;\n }\n const rest = this._def.rest;\n if (!rest && ctx.data.length > this._def.items.length) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n status.dirty();\n }\n const items = [...ctx.data]\n .map((item, itemIndex) => {\n const schema = this._def.items[itemIndex] || this._def.rest;\n if (!schema)\n return null;\n return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex));\n })\n .filter((x) => !!x); // filter nulls\n if (ctx.common.async) {\n return Promise.all(items).then((results) => {\n return ParseStatus.mergeArray(status, results);\n });\n }\n else {\n return ParseStatus.mergeArray(status, items);\n }\n }\n get items() {\n return this._def.items;\n }\n rest(rest) {\n return new ZodTuple({\n ...this._def,\n rest,\n });\n }\n}\nZodTuple.create = (schemas, params) => {\n if (!Array.isArray(schemas)) {\n throw new Error(\"You must pass an array of schemas to z.tuple([ ... ])\");\n }\n return new ZodTuple({\n items: schemas,\n typeName: ZodFirstPartyTypeKind.ZodTuple,\n rest: null,\n ...processCreateParams(params),\n });\n};\nclass ZodRecord extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.object) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const pairs = [];\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n for (const key in ctx.data) {\n pairs.push({\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)),\n value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)),\n });\n }\n if (ctx.common.async) {\n return ParseStatus.mergeObjectAsync(status, pairs);\n }\n else {\n return ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get element() {\n return this._def.valueType;\n }\n static create(first, second, third) {\n if (second instanceof ZodType) {\n return new ZodRecord({\n keyType: first,\n valueType: second,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(third),\n });\n }\n return new ZodRecord({\n keyType: ZodString.create(),\n valueType: first,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(second),\n });\n }\n}\nclass ZodMap extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.map) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.map,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n const pairs = [...ctx.data.entries()].map(([key, value], index) => {\n return {\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, [index, \"key\"])),\n value: valueType._parse(new ParseInputLazyPath(ctx, value, ctx.path, [index, \"value\"])),\n };\n });\n if (ctx.common.async) {\n const finalMap = new Map();\n return Promise.resolve().then(async () => {\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n });\n }\n else {\n const finalMap = new Map();\n for (const pair of pairs) {\n const key = pair.key;\n const value = pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n }\n }\n}\nZodMap.create = (keyType, valueType, params) => {\n return new ZodMap({\n valueType,\n keyType,\n typeName: ZodFirstPartyTypeKind.ZodMap,\n ...processCreateParams(params),\n });\n};\nclass ZodSet extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.set) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.set,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const def = this._def;\n if (def.minSize !== null) {\n if (ctx.data.size < def.minSize.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: def.minSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.minSize.message,\n });\n status.dirty();\n }\n }\n if (def.maxSize !== null) {\n if (ctx.data.size > def.maxSize.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: def.maxSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.maxSize.message,\n });\n status.dirty();\n }\n }\n const valueType = this._def.valueType;\n function finalizeSet(elements) {\n const parsedSet = new Set();\n for (const element of elements) {\n if (element.status === \"aborted\")\n return INVALID;\n if (element.status === \"dirty\")\n status.dirty();\n parsedSet.add(element.value);\n }\n return { status: status.value, value: parsedSet };\n }\n const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath(ctx, item, ctx.path, i)));\n if (ctx.common.async) {\n return Promise.all(elements).then((elements) => finalizeSet(elements));\n }\n else {\n return finalizeSet(elements);\n }\n }\n min(minSize, message) {\n return new ZodSet({\n ...this._def,\n minSize: { value: minSize, message: errorUtil.toString(message) },\n });\n }\n max(maxSize, message) {\n return new ZodSet({\n ...this._def,\n maxSize: { value: maxSize, message: errorUtil.toString(message) },\n });\n }\n size(size, message) {\n return this.min(size, message).max(size, message);\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nZodSet.create = (valueType, params) => {\n return new ZodSet({\n valueType,\n minSize: null,\n maxSize: null,\n typeName: ZodFirstPartyTypeKind.ZodSet,\n ...processCreateParams(params),\n });\n};\nclass ZodFunction extends ZodType {\n constructor() {\n super(...arguments);\n this.validate = this.implement;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.function) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.function,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n function makeArgsIssue(args, error) {\n return makeIssue({\n data: args,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n getErrorMap(),\n errorMap,\n ].filter((x) => !!x),\n issueData: {\n code: ZodIssueCode.invalid_arguments,\n argumentsError: error,\n },\n });\n }\n function makeReturnsIssue(returns, error) {\n return makeIssue({\n data: returns,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n getErrorMap(),\n errorMap,\n ].filter((x) => !!x),\n issueData: {\n code: ZodIssueCode.invalid_return_type,\n returnTypeError: error,\n },\n });\n }\n const params = { errorMap: ctx.common.contextualErrorMap };\n const fn = ctx.data;\n if (this._def.returns instanceof ZodPromise) {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return OK(async function (...args) {\n const error = new ZodError([]);\n const parsedArgs = await me._def.args\n .parseAsync(args, params)\n .catch((e) => {\n error.addIssue(makeArgsIssue(args, e));\n throw error;\n });\n const result = await Reflect.apply(fn, this, parsedArgs);\n const parsedReturns = await me._def.returns._def.type\n .parseAsync(result, params)\n .catch((e) => {\n error.addIssue(makeReturnsIssue(result, e));\n throw error;\n });\n return parsedReturns;\n });\n }\n else {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return OK(function (...args) {\n const parsedArgs = me._def.args.safeParse(args, params);\n if (!parsedArgs.success) {\n throw new ZodError([makeArgsIssue(args, parsedArgs.error)]);\n }\n const result = Reflect.apply(fn, this, parsedArgs.data);\n const parsedReturns = me._def.returns.safeParse(result, params);\n if (!parsedReturns.success) {\n throw new ZodError([makeReturnsIssue(result, parsedReturns.error)]);\n }\n return parsedReturns.data;\n });\n }\n }\n parameters() {\n return this._def.args;\n }\n returnType() {\n return this._def.returns;\n }\n args(...items) {\n return new ZodFunction({\n ...this._def,\n args: ZodTuple.create(items).rest(ZodUnknown.create()),\n });\n }\n returns(returnType) {\n return new ZodFunction({\n ...this._def,\n returns: returnType,\n });\n }\n implement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n strictImplement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n static create(args, returns, params) {\n return new ZodFunction({\n args: (args\n ? args\n : ZodTuple.create([]).rest(ZodUnknown.create())),\n returns: returns || ZodUnknown.create(),\n typeName: ZodFirstPartyTypeKind.ZodFunction,\n ...processCreateParams(params),\n });\n }\n}\nclass ZodLazy extends ZodType {\n get schema() {\n return this._def.getter();\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const lazySchema = this._def.getter();\n return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx });\n }\n}\nZodLazy.create = (getter, params) => {\n return new ZodLazy({\n getter: getter,\n typeName: ZodFirstPartyTypeKind.ZodLazy,\n ...processCreateParams(params),\n });\n};\nclass ZodLiteral extends ZodType {\n _parse(input) {\n if (input.data !== this._def.value) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_literal,\n expected: this._def.value,\n });\n return INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n get value() {\n return this._def.value;\n }\n}\nZodLiteral.create = (value, params) => {\n return new ZodLiteral({\n value: value,\n typeName: ZodFirstPartyTypeKind.ZodLiteral,\n ...processCreateParams(params),\n });\n};\nfunction createZodEnum(values, params) {\n return new ZodEnum({\n values,\n typeName: ZodFirstPartyTypeKind.ZodEnum,\n ...processCreateParams(params),\n });\n}\nclass ZodEnum extends ZodType {\n _parse(input) {\n if (typeof input.data !== \"string\") {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n addIssueToContext(ctx, {\n expected: util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodIssueCode.invalid_type,\n });\n return INVALID;\n }\n if (this._def.values.indexOf(input.data) === -1) {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n get options() {\n return this._def.values;\n }\n get enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Values() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n extract(values) {\n return ZodEnum.create(values);\n }\n exclude(values) {\n return ZodEnum.create(this.options.filter((opt) => !values.includes(opt)));\n }\n}\nZodEnum.create = createZodEnum;\nclass ZodNativeEnum extends ZodType {\n _parse(input) {\n const nativeEnumValues = util.getValidEnumValues(this._def.values);\n const ctx = this._getOrReturnCtx(input);\n if (ctx.parsedType !== ZodParsedType.string &&\n ctx.parsedType !== ZodParsedType.number) {\n const expectedValues = util.objectValues(nativeEnumValues);\n addIssueToContext(ctx, {\n expected: util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodIssueCode.invalid_type,\n });\n return INVALID;\n }\n if (nativeEnumValues.indexOf(input.data) === -1) {\n const expectedValues = util.objectValues(nativeEnumValues);\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n get enum() {\n return this._def.values;\n }\n}\nZodNativeEnum.create = (values, params) => {\n return new ZodNativeEnum({\n values: values,\n typeName: ZodFirstPartyTypeKind.ZodNativeEnum,\n ...processCreateParams(params),\n });\n};\nclass ZodPromise extends ZodType {\n unwrap() {\n return this._def.type;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.promise &&\n ctx.common.async === false) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.promise,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const promisified = ctx.parsedType === ZodParsedType.promise\n ? ctx.data\n : Promise.resolve(ctx.data);\n return OK(promisified.then((data) => {\n return this._def.type.parseAsync(data, {\n path: ctx.path,\n errorMap: ctx.common.contextualErrorMap,\n });\n }));\n }\n}\nZodPromise.create = (schema, params) => {\n return new ZodPromise({\n type: schema,\n typeName: ZodFirstPartyTypeKind.ZodPromise,\n ...processCreateParams(params),\n });\n};\nclass ZodEffects extends ZodType {\n innerType() {\n return this._def.schema;\n }\n sourceType() {\n return this._def.schema._def.typeName === ZodFirstPartyTypeKind.ZodEffects\n ? this._def.schema.sourceType()\n : this._def.schema;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const effect = this._def.effect || null;\n const checkCtx = {\n addIssue: (arg) => {\n addIssueToContext(ctx, arg);\n if (arg.fatal) {\n status.abort();\n }\n else {\n status.dirty();\n }\n },\n get path() {\n return ctx.path;\n },\n };\n checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx);\n if (effect.type === \"preprocess\") {\n const processed = effect.transform(ctx.data, checkCtx);\n if (ctx.common.issues.length) {\n return {\n status: \"dirty\",\n value: ctx.data,\n };\n }\n if (ctx.common.async) {\n return Promise.resolve(processed).then((processed) => {\n return this._def.schema._parseAsync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n });\n }\n else {\n return this._def.schema._parseSync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n if (effect.type === \"refinement\") {\n const executeRefinement = (acc\n // effect: RefinementEffect\n ) => {\n const result = effect.refinement(acc, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(result);\n }\n if (result instanceof Promise) {\n throw new Error(\"Async refinement encountered during synchronous parse operation. Use .parseAsync instead.\");\n }\n return acc;\n };\n if (ctx.common.async === false) {\n const inner = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inner.status === \"aborted\")\n return INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n // return value is ignored\n executeRefinement(inner.value);\n return { status: status.value, value: inner.value };\n }\n else {\n return this._def.schema\n ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n .then((inner) => {\n if (inner.status === \"aborted\")\n return INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n return executeRefinement(inner.value).then(() => {\n return { status: status.value, value: inner.value };\n });\n });\n }\n }\n if (effect.type === \"transform\") {\n if (ctx.common.async === false) {\n const base = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (!isValid(base))\n return base;\n const result = effect.transform(base.value, checkCtx);\n if (result instanceof Promise) {\n throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);\n }\n return { status: status.value, value: result };\n }\n else {\n return this._def.schema\n ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n .then((base) => {\n if (!isValid(base))\n return base;\n return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({ status: status.value, value: result }));\n });\n }\n }\n util.assertNever(effect);\n }\n}\nZodEffects.create = (schema, effect, params) => {\n return new ZodEffects({\n schema,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect,\n ...processCreateParams(params),\n });\n};\nZodEffects.createWithPreprocess = (preprocess, schema, params) => {\n return new ZodEffects({\n schema,\n effect: { type: \"preprocess\", transform: preprocess },\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n ...processCreateParams(params),\n });\n};\nclass ZodOptional extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === ZodParsedType.undefined) {\n return OK(undefined);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodOptional.create = (type, params) => {\n return new ZodOptional({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodOptional,\n ...processCreateParams(params),\n });\n};\nclass ZodNullable extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === ZodParsedType.null) {\n return OK(null);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodNullable.create = (type, params) => {\n return new ZodNullable({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodNullable,\n ...processCreateParams(params),\n });\n};\nclass ZodDefault extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n let data = ctx.data;\n if (ctx.parsedType === ZodParsedType.undefined) {\n data = this._def.defaultValue();\n }\n return this._def.innerType._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n removeDefault() {\n return this._def.innerType;\n }\n}\nZodDefault.create = (type, params) => {\n return new ZodDefault({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n defaultValue: typeof params.default === \"function\"\n ? params.default\n : () => params.default,\n ...processCreateParams(params),\n });\n};\nclass ZodCatch extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n // newCtx is used to not collect issues from inner types in ctx\n const newCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n };\n const result = this._def.innerType._parse({\n data: newCtx.data,\n path: newCtx.path,\n parent: {\n ...newCtx,\n },\n });\n if (isAsync(result)) {\n return result.then((result) => {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n });\n }\n else {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n }\n }\n removeCatch() {\n return this._def.innerType;\n }\n}\nZodCatch.create = (type, params) => {\n return new ZodCatch({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n catchValue: typeof params.catch === \"function\" ? params.catch : () => params.catch,\n ...processCreateParams(params),\n });\n};\nclass ZodNaN extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.nan) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.nan,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n}\nZodNaN.create = (params) => {\n return new ZodNaN({\n typeName: ZodFirstPartyTypeKind.ZodNaN,\n ...processCreateParams(params),\n });\n};\nconst BRAND = Symbol(\"zod_brand\");\nclass ZodBranded extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const data = ctx.data;\n return this._def.type._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n unwrap() {\n return this._def.type;\n }\n}\nclass ZodPipeline extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.common.async) {\n const handleAsync = async () => {\n const inResult = await this._def.in._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return DIRTY(inResult.value);\n }\n else {\n return this._def.out._parseAsync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n };\n return handleAsync();\n }\n else {\n const inResult = this._def.in._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return {\n status: \"dirty\",\n value: inResult.value,\n };\n }\n else {\n return this._def.out._parseSync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n }\n static create(a, b) {\n return new ZodPipeline({\n in: a,\n out: b,\n typeName: ZodFirstPartyTypeKind.ZodPipeline,\n });\n }\n}\nclass ZodReadonly extends ZodType {\n _parse(input) {\n const result = this._def.innerType._parse(input);\n if (isValid(result)) {\n result.value = Object.freeze(result.value);\n }\n return result;\n }\n}\nZodReadonly.create = (type, params) => {\n return new ZodReadonly({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodReadonly,\n ...processCreateParams(params),\n });\n};\nconst custom = (check, params = {}, \n/**\n * @deprecated\n *\n * Pass `fatal` into the params object instead:\n *\n * ```ts\n * z.string().custom((val) => val.length > 5, { fatal: false })\n * ```\n *\n */\nfatal) => {\n if (check)\n return ZodAny.create().superRefine((data, ctx) => {\n var _a, _b;\n if (!check(data)) {\n const p = typeof params === \"function\"\n ? params(data)\n : typeof params === \"string\"\n ? { message: params }\n : params;\n const _fatal = (_b = (_a = p.fatal) !== null && _a !== void 0 ? _a : fatal) !== null && _b !== void 0 ? _b : true;\n const p2 = typeof p === \"string\" ? { message: p } : p;\n ctx.addIssue({ code: \"custom\", ...p2, fatal: _fatal });\n }\n });\n return ZodAny.create();\n};\nconst late = {\n object: ZodObject.lazycreate,\n};\nvar ZodFirstPartyTypeKind;\n(function (ZodFirstPartyTypeKind) {\n ZodFirstPartyTypeKind[\"ZodString\"] = \"ZodString\";\n ZodFirstPartyTypeKind[\"ZodNumber\"] = \"ZodNumber\";\n ZodFirstPartyTypeKind[\"ZodNaN\"] = \"ZodNaN\";\n ZodFirstPartyTypeKind[\"ZodBigInt\"] = \"ZodBigInt\";\n ZodFirstPartyTypeKind[\"ZodBoolean\"] = \"ZodBoolean\";\n ZodFirstPartyTypeKind[\"ZodDate\"] = \"ZodDate\";\n ZodFirstPartyTypeKind[\"ZodSymbol\"] = \"ZodSymbol\";\n ZodFirstPartyTypeKind[\"ZodUndefined\"] = \"ZodUndefined\";\n ZodFirstPartyTypeKind[\"ZodNull\"] = \"ZodNull\";\n ZodFirstPartyTypeKind[\"ZodAny\"] = \"ZodAny\";\n ZodFirstPartyTypeKind[\"ZodUnknown\"] = \"ZodUnknown\";\n ZodFirstPartyTypeKind[\"ZodNever\"] = \"ZodNever\";\n ZodFirstPartyTypeKind[\"ZodVoid\"] = \"ZodVoid\";\n ZodFirstPartyTypeKind[\"ZodArray\"] = \"ZodArray\";\n ZodFirstPartyTypeKind[\"ZodObject\"] = \"ZodObject\";\n ZodFirstPartyTypeKind[\"ZodUnion\"] = \"ZodUnion\";\n ZodFirstPartyTypeKind[\"ZodDiscriminatedUnion\"] = \"ZodDiscriminatedUnion\";\n ZodFirstPartyTypeKind[\"ZodIntersection\"] = \"ZodIntersection\";\n ZodFirstPartyTypeKind[\"ZodTuple\"] = \"ZodTuple\";\n ZodFirstPartyTypeKind[\"ZodRecord\"] = \"ZodRecord\";\n ZodFirstPartyTypeKind[\"ZodMap\"] = \"ZodMap\";\n ZodFirstPartyTypeKind[\"ZodSet\"] = \"ZodSet\";\n ZodFirstPartyTypeKind[\"ZodFunction\"] = \"ZodFunction\";\n ZodFirstPartyTypeKind[\"ZodLazy\"] = \"ZodLazy\";\n ZodFirstPartyTypeKind[\"ZodLiteral\"] = \"ZodLiteral\";\n ZodFirstPartyTypeKind[\"ZodEnum\"] = \"ZodEnum\";\n ZodFirstPartyTypeKind[\"ZodEffects\"] = \"ZodEffects\";\n ZodFirstPartyTypeKind[\"ZodNativeEnum\"] = \"ZodNativeEnum\";\n ZodFirstPartyTypeKind[\"ZodOptional\"] = \"ZodOptional\";\n ZodFirstPartyTypeKind[\"ZodNullable\"] = \"ZodNullable\";\n ZodFirstPartyTypeKind[\"ZodDefault\"] = \"ZodDefault\";\n ZodFirstPartyTypeKind[\"ZodCatch\"] = \"ZodCatch\";\n ZodFirstPartyTypeKind[\"ZodPromise\"] = \"ZodPromise\";\n ZodFirstPartyTypeKind[\"ZodBranded\"] = \"ZodBranded\";\n ZodFirstPartyTypeKind[\"ZodPipeline\"] = \"ZodPipeline\";\n ZodFirstPartyTypeKind[\"ZodReadonly\"] = \"ZodReadonly\";\n})(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));\nconst instanceOfType = (\n// const instanceOfType = any>(\ncls, params = {\n message: `Input not instance of ${cls.name}`,\n}) => custom((data) => data instanceof cls, params);\nconst stringType = ZodString.create;\nconst numberType = ZodNumber.create;\nconst nanType = ZodNaN.create;\nconst bigIntType = ZodBigInt.create;\nconst booleanType = ZodBoolean.create;\nconst dateType = ZodDate.create;\nconst symbolType = ZodSymbol.create;\nconst undefinedType = ZodUndefined.create;\nconst nullType = ZodNull.create;\nconst anyType = ZodAny.create;\nconst unknownType = ZodUnknown.create;\nconst neverType = ZodNever.create;\nconst voidType = ZodVoid.create;\nconst arrayType = ZodArray.create;\nconst objectType = ZodObject.create;\nconst strictObjectType = ZodObject.strictCreate;\nconst unionType = ZodUnion.create;\nconst discriminatedUnionType = ZodDiscriminatedUnion.create;\nconst intersectionType = ZodIntersection.create;\nconst tupleType = ZodTuple.create;\nconst recordType = ZodRecord.create;\nconst mapType = ZodMap.create;\nconst setType = ZodSet.create;\nconst functionType = ZodFunction.create;\nconst lazyType = ZodLazy.create;\nconst literalType = ZodLiteral.create;\nconst enumType = ZodEnum.create;\nconst nativeEnumType = ZodNativeEnum.create;\nconst promiseType = ZodPromise.create;\nconst effectsType = ZodEffects.create;\nconst optionalType = ZodOptional.create;\nconst nullableType = ZodNullable.create;\nconst preprocessType = ZodEffects.createWithPreprocess;\nconst pipelineType = ZodPipeline.create;\nconst ostring = () => stringType().optional();\nconst onumber = () => numberType().optional();\nconst oboolean = () => booleanType().optional();\nconst coerce = {\n string: ((arg) => ZodString.create({ ...arg, coerce: true })),\n number: ((arg) => ZodNumber.create({ ...arg, coerce: true })),\n boolean: ((arg) => ZodBoolean.create({\n ...arg,\n coerce: true,\n })),\n bigint: ((arg) => ZodBigInt.create({ ...arg, coerce: true })),\n date: ((arg) => ZodDate.create({ ...arg, coerce: true })),\n};\nconst NEVER = INVALID;\n\nvar z = /*#__PURE__*/Object.freeze({\n __proto__: null,\n defaultErrorMap: errorMap,\n setErrorMap: setErrorMap,\n getErrorMap: getErrorMap,\n makeIssue: makeIssue,\n EMPTY_PATH: EMPTY_PATH,\n addIssueToContext: addIssueToContext,\n ParseStatus: ParseStatus,\n INVALID: INVALID,\n DIRTY: DIRTY,\n OK: OK,\n isAborted: isAborted,\n isDirty: isDirty,\n isValid: isValid,\n isAsync: isAsync,\n get util () { return util; },\n get objectUtil () { return objectUtil; },\n ZodParsedType: ZodParsedType,\n getParsedType: getParsedType,\n ZodType: ZodType,\n ZodString: ZodString,\n ZodNumber: ZodNumber,\n ZodBigInt: ZodBigInt,\n ZodBoolean: ZodBoolean,\n ZodDate: ZodDate,\n ZodSymbol: ZodSymbol,\n ZodUndefined: ZodUndefined,\n ZodNull: ZodNull,\n ZodAny: ZodAny,\n ZodUnknown: ZodUnknown,\n ZodNever: ZodNever,\n ZodVoid: ZodVoid,\n ZodArray: ZodArray,\n ZodObject: ZodObject,\n ZodUnion: ZodUnion,\n ZodDiscriminatedUnion: ZodDiscriminatedUnion,\n ZodIntersection: ZodIntersection,\n ZodTuple: ZodTuple,\n ZodRecord: ZodRecord,\n ZodMap: ZodMap,\n ZodSet: ZodSet,\n ZodFunction: ZodFunction,\n ZodLazy: ZodLazy,\n ZodLiteral: ZodLiteral,\n ZodEnum: ZodEnum,\n ZodNativeEnum: ZodNativeEnum,\n ZodPromise: ZodPromise,\n ZodEffects: ZodEffects,\n ZodTransformer: ZodEffects,\n ZodOptional: ZodOptional,\n ZodNullable: ZodNullable,\n ZodDefault: ZodDefault,\n ZodCatch: ZodCatch,\n ZodNaN: ZodNaN,\n BRAND: BRAND,\n ZodBranded: ZodBranded,\n ZodPipeline: ZodPipeline,\n ZodReadonly: ZodReadonly,\n custom: custom,\n Schema: ZodType,\n ZodSchema: ZodType,\n late: late,\n get ZodFirstPartyTypeKind () { return ZodFirstPartyTypeKind; },\n coerce: coerce,\n any: anyType,\n array: arrayType,\n bigint: bigIntType,\n boolean: booleanType,\n date: dateType,\n discriminatedUnion: discriminatedUnionType,\n effect: effectsType,\n 'enum': enumType,\n 'function': functionType,\n 'instanceof': instanceOfType,\n intersection: intersectionType,\n lazy: lazyType,\n literal: literalType,\n map: mapType,\n nan: nanType,\n nativeEnum: nativeEnumType,\n never: neverType,\n 'null': nullType,\n nullable: nullableType,\n number: numberType,\n object: objectType,\n oboolean: oboolean,\n onumber: onumber,\n optional: optionalType,\n ostring: ostring,\n pipeline: pipelineType,\n preprocess: preprocessType,\n promise: promiseType,\n record: recordType,\n set: setType,\n strictObject: strictObjectType,\n string: stringType,\n symbol: symbolType,\n transformer: effectsType,\n tuple: tupleType,\n 'undefined': undefinedType,\n union: unionType,\n unknown: unknownType,\n 'void': voidType,\n NEVER: NEVER,\n ZodIssueCode: ZodIssueCode,\n quotelessJson: quotelessJson,\n ZodError: ZodError\n});\n\nexport { BRAND, DIRTY, EMPTY_PATH, INVALID, NEVER, OK, ParseStatus, ZodType as Schema, ZodAny, ZodArray, ZodBigInt, ZodBoolean, ZodBranded, ZodCatch, ZodDate, ZodDefault, ZodDiscriminatedUnion, ZodEffects, ZodEnum, ZodError, ZodFirstPartyTypeKind, ZodFunction, ZodIntersection, ZodIssueCode, ZodLazy, ZodLiteral, ZodMap, ZodNaN, ZodNativeEnum, ZodNever, ZodNull, ZodNullable, ZodNumber, ZodObject, ZodOptional, ZodParsedType, ZodPipeline, ZodPromise, ZodReadonly, ZodRecord, ZodType as ZodSchema, ZodSet, ZodString, ZodSymbol, ZodEffects as ZodTransformer, ZodTuple, ZodType, ZodUndefined, ZodUnion, ZodUnknown, ZodVoid, addIssueToContext, anyType as any, arrayType as array, bigIntType as bigint, booleanType as boolean, coerce, custom, dateType as date, z as default, errorMap as defaultErrorMap, discriminatedUnionType as discriminatedUnion, effectsType as effect, enumType as enum, functionType as function, getErrorMap, getParsedType, instanceOfType as instanceof, intersectionType as intersection, isAborted, isAsync, isDirty, isValid, late, lazyType as lazy, literalType as literal, makeIssue, mapType as map, nanType as nan, nativeEnumType as nativeEnum, neverType as never, nullType as null, nullableType as nullable, numberType as number, objectType as object, objectUtil, oboolean, onumber, optionalType as optional, ostring, pipelineType as pipeline, preprocessType as preprocess, promiseType as promise, quotelessJson, recordType as record, setType as set, setErrorMap, strictObjectType as strictObject, stringType as string, symbolType as symbol, effectsType as transformer, tupleType as tuple, undefinedType as undefined, unionType as union, unknownType as unknown, util, voidType as void, z };\n","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { BaseWeb3Error, ERR_VALIDATION } from 'web3-errors';\nconst errorFormatter = (error) => {\n if (error.message) {\n return error.message;\n }\n return 'unspecified error';\n};\nexport class Web3ValidatorError extends BaseWeb3Error {\n constructor(errors) {\n super();\n this.code = ERR_VALIDATION;\n this.errors = errors;\n super.message = `Web3 validator found ${errors.length} error[s]:\\n${this._compileErrors().join('\\n')}`;\n }\n _compileErrors() {\n return this.errors.map(errorFormatter);\n }\n}\n//# sourceMappingURL=errors.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nexport const VALID_ETH_BASE_TYPES = ['bool', 'int', 'uint', 'bytes', 'string', 'address', 'tuple'];\n//# sourceMappingURL=constants.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nexport const isAbiParameterSchema = (schema) => typeof schema === 'object' && 'type' in schema && 'name' in schema;\n//# sourceMappingURL=abi.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\n/**\n * checks input if typeof data is valid string input\n */\nexport const isString = (value) => typeof value === 'string';\nexport const isHexStrict = (hex) => typeof hex === 'string' && /^((-)?0x[0-9a-f]+|(0x))$/i.test(hex);\n/**\n * Is the string a hex string.\n *\n * @param value\n * @param length\n * @returns output the string is a hex string\n */\nexport function isHexString(value, length) {\n if (typeof value !== 'string' || !value.match(/^0x[0-9A-Fa-f]*$/))\n return false;\n if (typeof length !== 'undefined' && length > 0 && value.length !== 2 + 2 * length)\n return false;\n return true;\n}\nexport const isHex = (hex) => typeof hex === 'number' ||\n typeof hex === 'bigint' ||\n (typeof hex === 'string' && /^((-0x|0x|-)?[0-9a-f]+|(0x))$/i.test(hex));\nexport const isHexString8Bytes = (value, prefixed = true) => prefixed ? isHexStrict(value) && value.length === 18 : isHex(value) && value.length === 16;\nexport const isHexString32Bytes = (value, prefixed = true) => prefixed ? isHexStrict(value) && value.length === 66 : isHex(value) && value.length === 64;\n/**\n * Returns a `Boolean` on whether or not the a `String` starts with '0x'\n * @param str the string input value\n * @return a boolean if it is or is not hex prefixed\n * @throws if the str input is not a string\n */\nexport function isHexPrefixed(str) {\n if (typeof str !== 'string') {\n throw new Error(`[isHexPrefixed] input must be type 'string', received type ${typeof str}`);\n }\n return str.startsWith('0x');\n}\n/**\n * Checks provided Uint8Array for leading zeroes and throws if found.\n *\n * Examples:\n *\n * Valid values: 0x1, 0x, 0x01, 0x1234\n * Invalid values: 0x0, 0x00, 0x001, 0x0001\n *\n * Note: This method is useful for validating that RLP encoded integers comply with the rule that all\n * integer values encoded to RLP must be in the most compact form and contain no leading zero bytes\n * @param values An object containing string keys and Uint8Array values\n * @throws if any provided value is found to have leading zero bytes\n */\nexport const validateNoLeadingZeroes = function (values) {\n for (const [k, v] of Object.entries(values)) {\n if (v !== undefined && v.length > 0 && v[0] === 0) {\n throw new Error(`${k} cannot have leading zeroes, received: ${v.toString()}`);\n }\n }\n};\n//# sourceMappingURL=string.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { InvalidBytesError, InvalidNumberError } from 'web3-errors';\nimport { VALID_ETH_BASE_TYPES } from './constants.js';\nimport { isAbiParameterSchema } from './validation/abi.js';\nimport { isHexStrict } from './validation/string.js';\nimport { Web3ValidatorError } from './errors.js';\nconst extraTypes = ['hex', 'number', 'blockNumber', 'blockNumberOrTag', 'filter', 'bloom'];\nexport const parseBaseType = (type) => {\n // Remove all empty spaces to avoid any parsing issue.\n let strippedType = type.replace(/ /, '');\n let baseTypeSize;\n let isArray = false;\n let arraySizes = [];\n if (type.includes('[')) {\n // Extract the array type\n strippedType = strippedType.slice(0, strippedType.indexOf('['));\n // Extract array indexes\n arraySizes = [...type.matchAll(/(?:\\[(\\d*)\\])/g)]\n .map(match => parseInt(match[1], 10))\n .map(size => (Number.isNaN(size) ? -1 : size));\n isArray = arraySizes.length > 0;\n }\n if (VALID_ETH_BASE_TYPES.includes(strippedType)) {\n return { baseType: strippedType, isArray, baseTypeSize, arraySizes };\n }\n if (strippedType.startsWith('int')) {\n baseTypeSize = parseInt(strippedType.substring(3), 10);\n strippedType = 'int';\n }\n else if (strippedType.startsWith('uint')) {\n baseTypeSize = parseInt(type.substring(4), 10);\n strippedType = 'uint';\n }\n else if (strippedType.startsWith('bytes')) {\n baseTypeSize = parseInt(strippedType.substring(5), 10);\n strippedType = 'bytes';\n }\n else {\n return { baseType: undefined, isArray: false, baseTypeSize: undefined, arraySizes };\n }\n return { baseType: strippedType, isArray, baseTypeSize, arraySizes };\n};\nconst convertEthType = (type, parentSchema = {}) => {\n const typePropertyPresent = Object.keys(parentSchema).includes('type');\n if (typePropertyPresent) {\n throw new Web3ValidatorError([\n {\n keyword: 'eth',\n message: 'Either \"eth\" or \"type\" can be presented in schema',\n params: { eth: type },\n instancePath: '',\n schemaPath: '',\n },\n ]);\n }\n const { baseType, baseTypeSize } = parseBaseType(type);\n if (!baseType && !extraTypes.includes(type)) {\n throw new Web3ValidatorError([\n {\n keyword: 'eth',\n message: `Eth data type \"${type}\" is not valid`,\n params: { eth: type },\n instancePath: '',\n schemaPath: '',\n },\n ]);\n }\n if (baseType) {\n if (baseType === 'tuple') {\n throw new Error('\"tuple\" type is not implemented directly.');\n }\n return { format: `${baseType}${baseTypeSize !== null && baseTypeSize !== void 0 ? baseTypeSize : ''}`, required: true };\n }\n if (type) {\n return { format: type, required: true };\n }\n return {};\n};\nexport const abiSchemaToJsonSchema = (abis, level = '/0') => {\n const schema = {\n type: 'array',\n items: [],\n maxItems: abis.length,\n minItems: abis.length,\n };\n for (const [index, abi] of abis.entries()) {\n // eslint-disable-next-line no-nested-ternary\n let abiType;\n let abiName;\n let abiComponents = [];\n // If it's a complete Abi Parameter\n // e.g. {name: 'a', type: 'uint'}\n if (isAbiParameterSchema(abi)) {\n abiType = abi.type;\n abiName = abi.name;\n abiComponents = abi.components;\n // If its short form string value e.g. ['uint']\n }\n else if (typeof abi === 'string') {\n abiType = abi;\n abiName = `${level}/${index}`;\n // If it's provided in short form of tuple e.g. [['uint', 'string']]\n }\n else if (Array.isArray(abi)) {\n // If its custom tuple e.g. ['tuple[2]', ['uint', 'string']]\n if (abi[0] &&\n typeof abi[0] === 'string' &&\n abi[0].startsWith('tuple') &&\n !Array.isArray(abi[0]) &&\n abi[1] &&\n Array.isArray(abi[1])) {\n // eslint-disable-next-line prefer-destructuring\n abiType = abi[0];\n abiName = `${level}/${index}`;\n abiComponents = abi[1];\n }\n else {\n abiType = 'tuple';\n abiName = `${level}/${index}`;\n abiComponents = abi;\n }\n }\n const { baseType, isArray, arraySizes } = parseBaseType(abiType);\n let childSchema;\n let lastSchema = schema;\n for (let i = arraySizes.length - 1; i > 0; i -= 1) {\n childSchema = {\n type: 'array',\n $id: abiName,\n items: [],\n maxItems: arraySizes[i],\n minItems: arraySizes[i],\n };\n if (arraySizes[i] < 0) {\n delete childSchema.maxItems;\n delete childSchema.minItems;\n }\n // lastSchema.items is a Schema, concat with 'childSchema'\n if (!Array.isArray(lastSchema.items)) {\n lastSchema.items = [lastSchema.items, childSchema];\n } // lastSchema.items is an empty Scheme array, set it to 'childSchema'\n else if (lastSchema.items.length === 0) {\n lastSchema.items = [childSchema];\n } // lastSchema.items is a non-empty Scheme array, append 'childSchema'\n else {\n lastSchema.items.push(childSchema);\n }\n lastSchema = childSchema;\n }\n if (baseType === 'tuple' && !isArray) {\n const nestedTuple = abiSchemaToJsonSchema(abiComponents, abiName);\n nestedTuple.$id = abiName;\n lastSchema.items.push(nestedTuple);\n }\n else if (baseType === 'tuple' && isArray) {\n const arraySize = arraySizes[0];\n const item = Object.assign({ type: 'array', $id: abiName, items: abiSchemaToJsonSchema(abiComponents, abiName) }, (arraySize >= 0 && { minItems: arraySize, maxItems: arraySize }));\n lastSchema.items.push(item);\n }\n else if (isArray) {\n const arraySize = arraySizes[0];\n const item = Object.assign({ type: 'array', $id: abiName, items: convertEthType(abiType) }, (arraySize >= 0 && { minItems: arraySize, maxItems: arraySize }));\n lastSchema.items.push(item);\n }\n else if (Array.isArray(lastSchema.items)) {\n // Array of non-tuple items\n lastSchema.items.push(Object.assign({ $id: abiName }, convertEthType(abiType)));\n }\n else {\n // Nested object\n lastSchema.items.push(Object.assign({ $id: abiName }, convertEthType(abiType)));\n }\n lastSchema = schema;\n }\n return schema;\n};\nexport const ethAbiToJsonSchema = (abis) => abiSchemaToJsonSchema(abis);\nexport const fetchArrayElement = (data, level) => {\n if (level === 1) {\n return data;\n }\n return fetchArrayElement(data[0], level - 1);\n};\nexport const transformJsonDataToAbiFormat = (abis, data, transformedData) => {\n const newData = [];\n for (const [index, abi] of abis.entries()) {\n // eslint-disable-next-line no-nested-ternary\n let abiType;\n let abiName;\n let abiComponents = [];\n // If it's a complete Abi Parameter\n // e.g. {name: 'a', type: 'uint'}\n if (isAbiParameterSchema(abi)) {\n abiType = abi.type;\n abiName = abi.name;\n abiComponents = abi.components;\n // If its short form string value e.g. ['uint']\n }\n else if (typeof abi === 'string') {\n abiType = abi;\n // If it's provided in short form of tuple e.g. [['uint', 'string']]\n }\n else if (Array.isArray(abi)) {\n // If its custom tuple e.g. ['tuple[2]', ['uint', 'string']]\n if (abi[1] && Array.isArray(abi[1])) {\n abiType = abi[0];\n abiComponents = abi[1];\n }\n else {\n abiType = 'tuple';\n abiComponents = abi;\n }\n }\n const { baseType, isArray, arraySizes } = parseBaseType(abiType);\n const dataItem = Array.isArray(data)\n ? data[index]\n : data[abiName];\n if (baseType === 'tuple' && !isArray) {\n newData.push(transformJsonDataToAbiFormat(abiComponents, dataItem, transformedData));\n }\n else if (baseType === 'tuple' && isArray) {\n const tupleData = [];\n for (const tupleItem of dataItem) {\n // Nested array\n if (arraySizes.length > 1) {\n const nestedItems = fetchArrayElement(tupleItem, arraySizes.length - 1);\n const nestedData = [];\n for (const nestedItem of nestedItems) {\n nestedData.push(transformJsonDataToAbiFormat(abiComponents, nestedItem, transformedData));\n }\n tupleData.push(nestedData);\n }\n else {\n tupleData.push(transformJsonDataToAbiFormat(abiComponents, tupleItem, transformedData));\n }\n }\n newData.push(tupleData);\n }\n else {\n newData.push(dataItem);\n }\n }\n // Have to reassign before pushing to transformedData\n // eslint-disable-next-line no-param-reassign\n transformedData = transformedData !== null && transformedData !== void 0 ? transformedData : [];\n transformedData.push(...newData);\n return transformedData;\n};\n/**\n * Code points to int\n */\nexport const codePointToInt = (codePoint) => {\n if (codePoint >= 48 && codePoint <= 57) {\n /* ['0'..'9'] -> [0..9] */\n return codePoint - 48;\n }\n if (codePoint >= 65 && codePoint <= 70) {\n /* ['A'..'F'] -> [10..15] */\n return codePoint - 55;\n }\n if (codePoint >= 97 && codePoint <= 102) {\n /* ['a'..'f'] -> [10..15] */\n return codePoint - 87;\n }\n throw new Error(`Invalid code point: ${codePoint}`);\n};\n/**\n * Converts value to it's number representation\n */\nexport const hexToNumber = (value) => {\n if (!isHexStrict(value)) {\n throw new Error('Invalid hex string');\n }\n const [negative, hexValue] = value.startsWith('-') ? [true, value.slice(1)] : [false, value];\n const num = BigInt(hexValue);\n if (num > Number.MAX_SAFE_INTEGER) {\n return negative ? -num : num;\n }\n if (num < Number.MIN_SAFE_INTEGER) {\n return num;\n }\n return negative ? -1 * Number(num) : Number(num);\n};\n/**\n * Converts value to it's hex representation\n */\nexport const numberToHex = (value) => {\n if ((typeof value === 'number' || typeof value === 'bigint') && value < 0) {\n return `-0x${value.toString(16).slice(1)}`;\n }\n if ((typeof value === 'number' || typeof value === 'bigint') && value >= 0) {\n return `0x${value.toString(16)}`;\n }\n if (typeof value === 'string' && isHexStrict(value)) {\n const [negative, hex] = value.startsWith('-') ? [true, value.slice(1)] : [false, value];\n const hexValue = hex.split(/^(-)?0(x|X)/).slice(-1)[0];\n return `${negative ? '-' : ''}0x${hexValue.replace(/^0+/, '').toLowerCase()}`;\n }\n if (typeof value === 'string' && !isHexStrict(value)) {\n return numberToHex(BigInt(value));\n }\n throw new InvalidNumberError(value);\n};\n/**\n * Adds a padding on the left of a string, if value is a integer or bigInt will be converted to a hex string.\n */\nexport const padLeft = (value, characterAmount, sign = '0') => {\n if (typeof value === 'string' && !isHexStrict(value)) {\n return value.padStart(characterAmount, sign);\n }\n const hex = typeof value === 'string' && isHexStrict(value) ? value : numberToHex(value);\n const [prefix, hexValue] = hex.startsWith('-') ? ['-0x', hex.slice(3)] : ['0x', hex.slice(2)];\n return `${prefix}${hexValue.padStart(characterAmount, sign)}`;\n};\nexport function uint8ArrayToHexString(uint8Array) {\n let hexString = '0x';\n for (const e of uint8Array) {\n const hex = e.toString(16);\n hexString += hex.length === 1 ? `0${hex}` : hex;\n }\n return hexString;\n}\n// for optimized technique for hex to bytes conversion\nconst charCodeMap = {\n zero: 48,\n nine: 57,\n A: 65,\n F: 70,\n a: 97,\n f: 102,\n};\nfunction charCodeToBase16(char) {\n if (char >= charCodeMap.zero && char <= charCodeMap.nine)\n return char - charCodeMap.zero;\n if (char >= charCodeMap.A && char <= charCodeMap.F)\n return char - (charCodeMap.A - 10);\n if (char >= charCodeMap.a && char <= charCodeMap.f)\n return char - (charCodeMap.a - 10);\n return undefined;\n}\nexport function hexToUint8Array(hex) {\n let offset = 0;\n if (hex.startsWith('0') && (hex[1] === 'x' || hex[1] === 'X')) {\n offset = 2;\n }\n if (hex.length % 2 !== 0) {\n throw new InvalidBytesError(`hex string has odd length: ${hex}`);\n }\n const length = (hex.length - offset) / 2;\n const bytes = new Uint8Array(length);\n for (let index = 0, j = offset; index < length; index += 1) {\n // eslint-disable-next-line no-plusplus\n const nibbleLeft = charCodeToBase16(hex.charCodeAt(j++));\n // eslint-disable-next-line no-plusplus\n const nibbleRight = charCodeToBase16(hex.charCodeAt(j++));\n if (nibbleLeft === undefined || nibbleRight === undefined) {\n throw new InvalidBytesError(`Invalid byte sequence (\"${hex[j - 2]}${hex[j - 1]}\" in \"${hex}\").`);\n }\n bytes[index] = nibbleLeft * 16 + nibbleRight;\n }\n return bytes;\n}\n// @TODO: Remove this function and its usages once all sub dependencies uses version 1.3.3 or above of @noble/hashes\nexport function ensureIfUint8Array(data) {\n var _a;\n if (!(data instanceof Uint8Array) &&\n ((_a = data === null || data === void 0 ? void 0 : data.constructor) === null || _a === void 0 ? void 0 : _a.name) === 'Uint8Array') {\n return Uint8Array.from(data);\n }\n return data;\n}\n//# sourceMappingURL=utils.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { hexToUint8Array, parseBaseType } from '../utils.js';\nimport { isHexStrict } from './string.js';\n/**\n * checks input if typeof data is valid Uint8Array input\n */\nexport const isUint8Array = (data) => { var _a; return data instanceof Uint8Array || ((_a = data === null || data === void 0 ? void 0 : data.constructor) === null || _a === void 0 ? void 0 : _a.name) === 'Uint8Array'; };\nexport const isBytes = (value, options = {\n abiType: 'bytes',\n}) => {\n if (typeof value !== 'string' && !Array.isArray(value) && !isUint8Array(value)) {\n return false;\n }\n // isHexStrict also accepts - prefix which can not exists in bytes\n if (typeof value === 'string' && isHexStrict(value) && value.startsWith('-')) {\n return false;\n }\n if (typeof value === 'string' && !isHexStrict(value)) {\n return false;\n }\n let valueToCheck;\n if (typeof value === 'string') {\n if (value.length % 2 !== 0) {\n // odd length hex\n return false;\n }\n valueToCheck = hexToUint8Array(value);\n }\n else if (Array.isArray(value)) {\n if (value.some(d => d < 0 || d > 255 || !Number.isInteger(d))) {\n return false;\n }\n valueToCheck = new Uint8Array(value);\n }\n else {\n valueToCheck = value;\n }\n if (options === null || options === void 0 ? void 0 : options.abiType) {\n const { baseTypeSize } = parseBaseType(options.abiType);\n return baseTypeSize ? valueToCheck.length === baseTypeSize : true;\n }\n if (options === null || options === void 0 ? void 0 : options.size) {\n return valueToCheck.length === (options === null || options === void 0 ? void 0 : options.size);\n }\n return true;\n};\n//# sourceMappingURL=bytes.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { keccak256 } from 'ethereum-cryptography/keccak.js';\nimport { utf8ToBytes } from 'ethereum-cryptography/utils.js';\nimport { ensureIfUint8Array, uint8ArrayToHexString } from '../utils.js';\nimport { isHexStrict } from './string.js';\nimport { isUint8Array } from './bytes.js';\n/**\n * Checks the checksum of a given address. Will also return false on non-checksum addresses.\n */\nexport const checkAddressCheckSum = (data) => {\n if (!/^(0x)?[0-9a-f]{40}$/i.test(data))\n return false;\n const address = data.slice(2);\n const updatedData = utf8ToBytes(address.toLowerCase());\n const addressHash = uint8ArrayToHexString(keccak256(ensureIfUint8Array(updatedData))).slice(2);\n for (let i = 0; i < 40; i += 1) {\n // the nth letter should be uppercase if the nth digit of casemap is 1\n if ((parseInt(addressHash[i], 16) > 7 && address[i].toUpperCase() !== address[i]) ||\n (parseInt(addressHash[i], 16) <= 7 && address[i].toLowerCase() !== address[i])) {\n return false;\n }\n }\n return true;\n};\n/**\n * Checks if a given string is a valid Ethereum address. It will also check the checksum, if the address has upper and lowercase letters.\n */\nexport const isAddress = (value, checkChecksum = true) => {\n if (typeof value !== 'string' && !isUint8Array(value)) {\n return false;\n }\n let valueToCheck;\n if (isUint8Array(value)) {\n valueToCheck = uint8ArrayToHexString(value);\n }\n else if (typeof value === 'string' && !isHexStrict(value)) {\n valueToCheck = value.toLowerCase().startsWith('0x') ? value : `0x${value}`;\n }\n else {\n valueToCheck = value;\n }\n // check if it has the basic requirements of an address\n if (!/^(0x)?[0-9a-f]{40}$/i.test(valueToCheck)) {\n return false;\n }\n // If it's ALL lowercase or ALL upppercase\n if (/^(0x|0X)?[0-9a-f]{40}$/.test(valueToCheck) ||\n /^(0x|0X)?[0-9A-F]{40}$/.test(valueToCheck)) {\n return true;\n // Otherwise check each case\n }\n return checkChecksum ? checkAddressCheckSum(valueToCheck) : true;\n};\n//# sourceMappingURL=address.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nexport var FMT_NUMBER;\n(function (FMT_NUMBER) {\n FMT_NUMBER[\"NUMBER\"] = \"NUMBER_NUMBER\";\n FMT_NUMBER[\"HEX\"] = \"NUMBER_HEX\";\n FMT_NUMBER[\"STR\"] = \"NUMBER_STR\";\n FMT_NUMBER[\"BIGINT\"] = \"NUMBER_BIGINT\";\n})(FMT_NUMBER || (FMT_NUMBER = {}));\nexport var FMT_BYTES;\n(function (FMT_BYTES) {\n FMT_BYTES[\"HEX\"] = \"BYTES_HEX\";\n FMT_BYTES[\"UINT8ARRAY\"] = \"BYTES_UINT8ARRAY\";\n})(FMT_BYTES || (FMT_BYTES = {}));\nexport const DEFAULT_RETURN_FORMAT = { number: FMT_NUMBER.BIGINT, bytes: FMT_BYTES.HEX };\nexport const ETH_DATA_FORMAT = { number: FMT_NUMBER.HEX, bytes: FMT_BYTES.HEX };\n//# sourceMappingURL=data_format_types.js.map","export var BlockTags;\n(function (BlockTags) {\n BlockTags[\"EARLIEST\"] = \"earliest\";\n BlockTags[\"LATEST\"] = \"latest\";\n BlockTags[\"PENDING\"] = \"pending\";\n BlockTags[\"SAFE\"] = \"safe\";\n BlockTags[\"FINALIZED\"] = \"finalized\";\n})(BlockTags || (BlockTags = {}));\n// This list of hardforks is expected to be in order\n// keep this in mind when making changes to it\nexport var HardforksOrdered;\n(function (HardforksOrdered) {\n HardforksOrdered[\"chainstart\"] = \"chainstart\";\n HardforksOrdered[\"frontier\"] = \"frontier\";\n HardforksOrdered[\"homestead\"] = \"homestead\";\n HardforksOrdered[\"dao\"] = \"dao\";\n HardforksOrdered[\"tangerineWhistle\"] = \"tangerineWhistle\";\n HardforksOrdered[\"spuriousDragon\"] = \"spuriousDragon\";\n HardforksOrdered[\"byzantium\"] = \"byzantium\";\n HardforksOrdered[\"constantinople\"] = \"constantinople\";\n HardforksOrdered[\"petersburg\"] = \"petersburg\";\n HardforksOrdered[\"istanbul\"] = \"istanbul\";\n HardforksOrdered[\"muirGlacier\"] = \"muirGlacier\";\n HardforksOrdered[\"berlin\"] = \"berlin\";\n HardforksOrdered[\"london\"] = \"london\";\n HardforksOrdered[\"altair\"] = \"altair\";\n HardforksOrdered[\"arrowGlacier\"] = \"arrowGlacier\";\n HardforksOrdered[\"grayGlacier\"] = \"grayGlacier\";\n HardforksOrdered[\"bellatrix\"] = \"bellatrix\";\n HardforksOrdered[\"merge\"] = \"merge\";\n HardforksOrdered[\"capella\"] = \"capella\";\n HardforksOrdered[\"shanghai\"] = \"shanghai\";\n})(HardforksOrdered || (HardforksOrdered = {}));\n//# sourceMappingURL=eth_types.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { parseBaseType, hexToNumber } from '../utils.js';\nimport { isHexStrict } from './string.js';\n/**\n * Checks if a given value is a valid big int\n */\nexport const isBigInt = (value) => typeof value === 'bigint';\n// Note: this could be simplified using ** operator, but babel does not handle it well\n// \tyou can find more at: https://github.com/babel/babel/issues/13109 and https://github.com/web3/web3.js/issues/6187\n/** @internal */\nexport const bigintPower = (base, expo) => {\n let res = base;\n for (let index = 1; index < expo; index += 1) {\n res *= base;\n }\n return res;\n};\nexport const isUInt = (value, options = {\n abiType: 'uint',\n}) => {\n if (!['number', 'string', 'bigint'].includes(typeof value) ||\n (typeof value === 'string' && value.length === 0)) {\n return false;\n }\n let size;\n if (options === null || options === void 0 ? void 0 : options.abiType) {\n const { baseTypeSize } = parseBaseType(options.abiType);\n if (baseTypeSize) {\n size = baseTypeSize;\n }\n }\n else if (options.bitSize) {\n size = options.bitSize;\n }\n const maxSize = bigintPower(BigInt(2), BigInt(size !== null && size !== void 0 ? size : 256)) - BigInt(1);\n try {\n const valueToCheck = typeof value === 'string' && isHexStrict(value)\n ? BigInt(hexToNumber(value))\n : BigInt(value);\n return valueToCheck >= 0 && valueToCheck <= maxSize;\n }\n catch (error) {\n // Some invalid number value given which can not be converted via BigInt\n return false;\n }\n};\nexport const isInt = (value, options = {\n abiType: 'int',\n}) => {\n if (!['number', 'string', 'bigint'].includes(typeof value)) {\n return false;\n }\n if (typeof value === 'number' && value > Number.MAX_SAFE_INTEGER) {\n return false;\n }\n let size;\n if (options === null || options === void 0 ? void 0 : options.abiType) {\n const { baseTypeSize, baseType } = parseBaseType(options.abiType);\n if (baseType !== 'int') {\n return false;\n }\n if (baseTypeSize) {\n size = baseTypeSize;\n }\n }\n else if (options.bitSize) {\n size = options.bitSize;\n }\n const maxSize = bigintPower(BigInt(2), BigInt((size !== null && size !== void 0 ? size : 256) - 1));\n const minSize = BigInt(-1) * bigintPower(BigInt(2), BigInt((size !== null && size !== void 0 ? size : 256) - 1));\n try {\n const valueToCheck = typeof value === 'string' && isHexStrict(value)\n ? BigInt(hexToNumber(value))\n : BigInt(value);\n return valueToCheck >= minSize && valueToCheck <= maxSize;\n }\n catch (error) {\n // Some invalid number value given which can not be converted via BigInt\n return false;\n }\n};\nexport const isNumber = (value) => {\n if (isInt(value)) {\n return true;\n }\n // It would be a decimal number\n if (typeof value === 'string' &&\n /[0-9.]/.test(value) &&\n value.indexOf('.') === value.lastIndexOf('.')) {\n return true;\n }\n if (typeof value === 'number') {\n return true;\n }\n return false;\n};\n//# sourceMappingURL=numbers.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { BlockTags } from 'web3-types';\nimport { isUInt } from './numbers.js';\nexport const isBlockNumber = (value) => isUInt(value);\n/**\n * Returns true if the given blockNumber is 'latest', 'pending', 'earliest, 'safe' or 'finalized'\n */\nexport const isBlockTag = (value) => Object.values(BlockTags).includes(value);\n/**\n * Returns true if given value is valid hex string and not negative, or is a valid BlockTag\n */\nexport const isBlockNumberOrTag = (value) => isBlockTag(value) || isBlockNumber(value);\n//# sourceMappingURL=block.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { keccak256 } from 'ethereum-cryptography/keccak.js';\nimport { codePointToInt, hexToUint8Array, padLeft, uint8ArrayToHexString } from '../utils.js';\nimport { isAddress } from './address.js';\nimport { isHexStrict } from './string.js';\n/**\n * Returns true if the bloom is a valid bloom\n * https://github.com/joshstevens19/ethereum-bloom-filters/blob/fbeb47b70b46243c3963fe1c2988d7461ef17236/src/index.ts#L7\n */\nexport const isBloom = (bloom) => {\n if (typeof bloom !== 'string') {\n return false;\n }\n if (!/^(0x)?[0-9a-f]{512}$/i.test(bloom)) {\n return false;\n }\n if (/^(0x)?[0-9a-f]{512}$/.test(bloom) || /^(0x)?[0-9A-F]{512}$/.test(bloom)) {\n return true;\n }\n return false;\n};\n/**\n * Returns true if the value is part of the given bloom\n * note: false positives are possible.\n */\nexport const isInBloom = (bloom, value) => {\n if (typeof value === 'string' && !isHexStrict(value)) {\n return false;\n }\n if (!isBloom(bloom)) {\n return false;\n }\n const uint8Array = typeof value === 'string' ? hexToUint8Array(value) : value;\n const hash = uint8ArrayToHexString(keccak256(uint8Array)).slice(2);\n for (let i = 0; i < 12; i += 4) {\n // calculate bit position in bloom filter that must be active\n const bitpos = \n // eslint-disable-next-line no-bitwise\n ((parseInt(hash.slice(i, i + 2), 16) << 8) + parseInt(hash.slice(i + 2, i + 4), 16)) &\n 2047;\n // test if bitpos in bloom is active\n const code = codePointToInt(bloom.charCodeAt(bloom.length - 1 - Math.floor(bitpos / 4)));\n // eslint-disable-next-line no-bitwise\n const offset = 1 << bitpos % 4;\n // eslint-disable-next-line no-bitwise\n if ((code & offset) !== offset) {\n return false;\n }\n }\n return true;\n};\n/**\n * Returns true if the ethereum users address is part of the given bloom note: false positives are possible.\n */\nexport const isUserEthereumAddressInBloom = (bloom, ethereumAddress) => {\n if (!isBloom(bloom)) {\n return false;\n }\n if (!isAddress(ethereumAddress)) {\n return false;\n }\n // you have to pad the ethereum address to 32 bytes\n // else the bloom filter does not work\n // this is only if your matching the USERS\n // ethereum address. Contract address do not need this\n // hence why we have 2 methods\n // (0x is not in the 2nd parameter of padleft so 64 chars is fine)\n const address = padLeft(ethereumAddress, 64);\n return isInBloom(bloom, address);\n};\n/**\n * Returns true if the contract address is part of the given bloom.\n * note: false positives are possible.\n */\nexport const isContractAddressInBloom = (bloom, contractAddress) => {\n if (!isBloom(bloom)) {\n return false;\n }\n if (!isAddress(contractAddress)) {\n return false;\n }\n return isInBloom(bloom, contractAddress);\n};\n//# sourceMappingURL=bloom.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { isHexStrict } from './string.js';\nexport const isBoolean = (value) => {\n if (!['number', 'string', 'boolean'].includes(typeof value)) {\n return false;\n }\n if (typeof value === 'boolean') {\n return true;\n }\n if (typeof value === 'string' && !isHexStrict(value)) {\n return value === '1' || value === '0';\n }\n if (typeof value === 'string' && isHexStrict(value)) {\n return value === '0x1' || value === '0x0';\n }\n // type === number\n return value === 1 || value === 0;\n};\n//# sourceMappingURL=boolean.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { TypedArray } from 'web3-types';\n// Explicitly check for the\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const isNullish = (item) => \n// Using \"null\" value intentionally for validation\n// eslint-disable-next-line no-null/no-null\nitem === undefined || item === null;\nexport const isObject = (item) => typeof item === 'object' &&\n !isNullish(item) &&\n !Array.isArray(item) &&\n !(item instanceof TypedArray);\n//# sourceMappingURL=object.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { isBloom, isInBloom } from './bloom.js';\n/**\n * Checks if its a valid topic\n */\nexport const isTopic = (topic) => {\n if (typeof topic !== 'string') {\n return false;\n }\n if (!/^(0x)?[0-9a-f]{64}$/i.test(topic)) {\n return false;\n }\n if (/^(0x)?[0-9a-f]{64}$/.test(topic) || /^(0x)?[0-9A-F]{64}$/.test(topic)) {\n return true;\n }\n return false;\n};\n/**\n * Returns true if the topic is part of the given bloom.\n * note: false positives are possible.\n */\nexport const isTopicInBloom = (bloom, topic) => {\n if (!isBloom(bloom)) {\n return false;\n }\n if (!isTopic(topic)) {\n return false;\n }\n return isInBloom(bloom, topic);\n};\n//# sourceMappingURL=topic.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { isAddress } from './address.js';\nimport { isBlockNumberOrTag } from './block.js';\nimport { isNullish } from './object.js';\nimport { isTopic } from './topic.js';\n/**\n * First we check if all properties in the provided value are expected,\n * then because all Filter properties are optional, we check if the expected properties\n * are defined. If defined and they're not the expected type, we immediately return false,\n * otherwise we return true after all checks pass.\n */\nexport const isFilterObject = (value) => {\n const expectedFilterProperties = [\n 'fromBlock',\n 'toBlock',\n 'address',\n 'topics',\n 'blockHash',\n ];\n if (isNullish(value) || typeof value !== 'object')\n return false;\n if (!Object.keys(value).every(property => expectedFilterProperties.includes(property)))\n return false;\n if ((!isNullish(value.fromBlock) && !isBlockNumberOrTag(value.fromBlock)) ||\n (!isNullish(value.toBlock) && !isBlockNumberOrTag(value.toBlock)))\n return false;\n if (!isNullish(value.address)) {\n if (Array.isArray(value.address)) {\n if (!value.address.every(address => isAddress(address)))\n return false;\n }\n else if (!isAddress(value.address))\n return false;\n }\n if (!isNullish(value.topics)) {\n if (!value.topics.every(topic => {\n if (isNullish(topic))\n return true;\n if (Array.isArray(topic)) {\n return topic.every(nestedTopic => isTopic(nestedTopic));\n }\n if (isTopic(topic))\n return true;\n return false;\n }))\n return false;\n }\n return true;\n};\n//# sourceMappingURL=filter.js.map","import { isAddress } from './validation/address.js';\nimport { isBlockNumber, isBlockNumberOrTag, isBlockTag } from './validation/block.js';\nimport { isBloom } from './validation/bloom.js';\nimport { isBoolean } from './validation/boolean.js';\nimport { isBytes } from './validation/bytes.js';\nimport { isFilterObject } from './validation/filter.js';\nimport { isHexStrict, isString } from './validation/string.js';\nimport { isNumber, isInt, isUInt } from './validation/numbers.js';\nconst formats = {\n address: (data) => isAddress(data),\n bloom: (data) => isBloom(data),\n blockNumber: (data) => isBlockNumber(data),\n blockTag: (data) => isBlockTag(data),\n blockNumberOrTag: (data) => isBlockNumberOrTag(data),\n bool: (data) => isBoolean(data),\n bytes: (data) => isBytes(data),\n filter: (data) => isFilterObject(data),\n hex: (data) => isHexStrict(data),\n uint: (data) => isUInt(data),\n int: (data) => isInt(data),\n number: (data) => isNumber(data),\n string: (data) => isString(data),\n};\n// generate formats for all numbers types\nfor (let bitSize = 8; bitSize <= 256; bitSize += 8) {\n formats[`int${bitSize}`] = data => isInt(data, { bitSize });\n formats[`uint${bitSize}`] = data => isUInt(data, { bitSize });\n}\n// generate bytes\nfor (let size = 1; size <= 32; size += 1) {\n formats[`bytes${size}`] = data => isBytes(data, { size });\n}\nformats.bytes256 = formats.bytes;\nexport default formats;\n//# sourceMappingURL=formats.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { SchemaFormatError } from 'web3-errors';\nimport { z, ZodIssueCode } from 'zod';\nimport { Web3ValidatorError } from './errors.js';\nimport formats from './formats.js';\nconst convertToZod = (schema) => {\n if ((!(schema === null || schema === void 0 ? void 0 : schema.type) || (schema === null || schema === void 0 ? void 0 : schema.type) === 'object') && (schema === null || schema === void 0 ? void 0 : schema.properties)) {\n const obj = {};\n for (const name of Object.keys(schema.properties)) {\n const zItem = convertToZod(schema.properties[name]);\n if (zItem) {\n obj[name] = zItem;\n }\n }\n if (Array.isArray(schema.required)) {\n return z\n .object(obj)\n .partial()\n .required(schema.required.reduce((acc, v) => (Object.assign(Object.assign({}, acc), { [v]: true })), {}));\n }\n return z.object(obj).partial();\n }\n if ((schema === null || schema === void 0 ? void 0 : schema.type) === 'array' && (schema === null || schema === void 0 ? void 0 : schema.items)) {\n if (Array.isArray(schema.items) && schema.items.length > 1\n && schema.maxItems !== undefined\n && new Set(schema.items.map((item) => item.$id)).size === schema.items.length) {\n const arr = [];\n for (const item of schema.items) {\n const zItem = convertToZod(item);\n if (zItem) {\n arr.push(zItem);\n }\n }\n return z.tuple(arr);\n }\n const nextSchema = Array.isArray(schema.items) ? schema.items[0] : schema.items;\n let zodArraySchema = z.array(convertToZod(nextSchema));\n zodArraySchema = schema.minItems !== undefined ? zodArraySchema.min(schema.minItems) : zodArraySchema;\n zodArraySchema = schema.maxItems !== undefined ? zodArraySchema.max(schema.maxItems) : zodArraySchema;\n return zodArraySchema;\n }\n if (schema.oneOf && Array.isArray(schema.oneOf)) {\n return z.union(schema.oneOf.map(oneOfSchema => convertToZod(oneOfSchema)));\n }\n if (schema === null || schema === void 0 ? void 0 : schema.format) {\n if (!formats[schema.format]) {\n throw new SchemaFormatError(schema.format);\n }\n return z.any().refine(formats[schema.format], (value) => ({\n params: { value, format: schema.format },\n }));\n }\n if ((schema === null || schema === void 0 ? void 0 : schema.type) &&\n (schema === null || schema === void 0 ? void 0 : schema.type) !== 'object' &&\n typeof z[String(schema.type)] === 'function') {\n return z[String(schema.type)]();\n }\n return z.object({ data: z.any() }).partial();\n};\nexport class Validator {\n // eslint-disable-next-line no-useless-constructor, @typescript-eslint/no-empty-function\n static factory() {\n if (!Validator.validatorInstance) {\n Validator.validatorInstance = new Validator();\n }\n return Validator.validatorInstance;\n }\n validate(schema, data, options) {\n var _a, _b;\n const zod = convertToZod(schema);\n const result = zod.safeParse(data);\n if (!result.success) {\n const errors = this.convertErrors((_b = (_a = result.error) === null || _a === void 0 ? void 0 : _a.issues) !== null && _b !== void 0 ? _b : []);\n if (errors) {\n if (options === null || options === void 0 ? void 0 : options.silent) {\n return errors;\n }\n throw new Web3ValidatorError(errors);\n }\n }\n return undefined;\n }\n // eslint-disable-next-line class-methods-use-this\n convertErrors(errors) {\n if (errors && Array.isArray(errors) && errors.length > 0) {\n return errors.map((error) => {\n var _a;\n let message;\n let keyword;\n let params;\n let schemaPath;\n schemaPath = error.path.join('/');\n const field = String(error.path[error.path.length - 1]);\n const instancePath = error.path.join('/');\n if (error.code === ZodIssueCode.too_big) {\n keyword = 'maxItems';\n schemaPath = `${instancePath}/maxItems`;\n params = { limit: error.maximum };\n message = `must NOT have more than ${error.maximum} items`;\n }\n else if (error.code === ZodIssueCode.too_small) {\n keyword = 'minItems';\n schemaPath = `${instancePath}/minItems`;\n params = { limit: error.minimum };\n message = `must NOT have fewer than ${error.minimum} items`;\n }\n else if (error.code === ZodIssueCode.custom) {\n const { value, format } = ((_a = error.params) !== null && _a !== void 0 ? _a : {});\n if (typeof value === 'undefined') {\n message = `value at \"/${schemaPath}\" is required`;\n }\n else {\n message = `value \"${\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n typeof value === 'object' ? JSON.stringify(value) : value}\" at \"/${schemaPath}\" must pass \"${format}\" validation`;\n }\n params = { value };\n }\n return {\n keyword: keyword !== null && keyword !== void 0 ? keyword : field,\n instancePath: instancePath ? `/${instancePath}` : '',\n schemaPath: schemaPath ? `#${schemaPath}` : '#',\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n params: params !== null && params !== void 0 ? params : { value: error.message },\n message: message !== null && message !== void 0 ? message : error.message,\n };\n });\n }\n return undefined;\n }\n}\n//# sourceMappingURL=validator.js.map","import { Validator } from './validator.js';\nimport { ethAbiToJsonSchema } from './utils.js';\nimport { Web3ValidatorError } from './errors.js';\nexport class Web3Validator {\n constructor() {\n this._validator = Validator.factory();\n }\n validateJSONSchema(schema, data, options) {\n return this._validator.validate(schema, data, options);\n }\n validate(schema, data, options = { silent: false }) {\n var _a, _b;\n const jsonSchema = ethAbiToJsonSchema(schema);\n if (Array.isArray(jsonSchema.items) &&\n ((_a = jsonSchema.items) === null || _a === void 0 ? void 0 : _a.length) === 0 &&\n data.length === 0) {\n return undefined;\n }\n if (Array.isArray(jsonSchema.items) &&\n ((_b = jsonSchema.items) === null || _b === void 0 ? void 0 : _b.length) === 0 &&\n data.length !== 0) {\n throw new Web3ValidatorError([\n {\n instancePath: '/0',\n schemaPath: '/',\n keyword: 'required',\n message: 'empty schema against data can not be validated',\n params: data,\n },\n ]);\n }\n return this._validator.validate(jsonSchema, data, options);\n }\n}\n//# sourceMappingURL=web3_validator.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { Web3Validator } from './web3_validator.js';\nexport const validator = new Web3Validator();\n//# sourceMappingURL=default_validator.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nexport function isUint8Array(data) {\n var _a;\n return (data instanceof Uint8Array ||\n ((_a = data === null || data === void 0 ? void 0 : data.constructor) === null || _a === void 0 ? void 0 : _a.name) === 'Uint8Array');\n}\nexport function uint8ArrayConcat(...parts) {\n const length = parts.reduce((prev, part) => {\n const agg = prev + part.length;\n return agg;\n }, 0);\n const result = new Uint8Array(length);\n let offset = 0;\n for (const part of parts) {\n result.set(part, offset);\n offset += part.length;\n }\n return result;\n}\n/**\n * Returns true if the two passed Uint8Arrays have the same content\n */\nexport function uint8ArrayEquals(a, b) {\n if (a === b) {\n return true;\n }\n if (a.byteLength !== b.byteLength) {\n return false;\n }\n for (let i = 0; i < a.byteLength; i += 1) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n}\n//# sourceMappingURL=uint8array.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\n/**\n * @module Utils\n */\nimport { keccak256 } from 'ethereum-cryptography/keccak.js';\nimport { bytesToUtf8, utf8ToBytes as ecUtf8ToBytes } from 'ethereum-cryptography/utils.js';\nimport { isAddress, isHex, isHexStrict, isInt, isUInt, isNullish, utils, utils as validatorUtils, validator, } from 'web3-validator';\nimport { HexProcessingError, InvalidAddressError, InvalidBooleanError, InvalidBytesError, InvalidNumberError, InvalidUnitError, } from 'web3-errors';\nimport { isUint8Array } from './uint8array.js';\n// Ref: https://ethdocs.org/en/latest/ether.html\n// Note: this could be simplified using ** operator, but babel does not handle it well (https://github.com/babel/babel/issues/13109)\n/** @internal */\nexport const ethUnitMap = {\n noether: BigInt(0),\n wei: BigInt(1),\n kwei: BigInt(1000),\n Kwei: BigInt(1000),\n babbage: BigInt(1000),\n femtoether: BigInt(1000),\n mwei: BigInt(1000000),\n Mwei: BigInt(1000000),\n lovelace: BigInt(1000000),\n picoether: BigInt(1000000),\n gwei: BigInt(1000000000),\n Gwei: BigInt(1000000000),\n shannon: BigInt(1000000000),\n nanoether: BigInt(1000000000),\n nano: BigInt(1000000000),\n szabo: BigInt(1000000000000),\n microether: BigInt(1000000000000),\n micro: BigInt(1000000000000),\n finney: BigInt(1000000000000000),\n milliether: BigInt(1000000000000000),\n milli: BigInt(1000000000000000),\n ether: BigInt('1000000000000000000'),\n kether: BigInt('1000000000000000000000'),\n grand: BigInt('1000000000000000000000'),\n mether: BigInt('1000000000000000000000000'),\n gether: BigInt('1000000000000000000000000000'),\n tether: BigInt('1000000000000000000000000000000'),\n};\n/**\n * Convert a value from bytes to Uint8Array\n * @param data - Data to be converted\n * @returns - The Uint8Array representation of the input data\n *\n * @example\n * ```ts\n * console.log(web3.utils.bytesToUint8Array(\"0xab\")));\n * > Uint8Array(1) [ 171 ]\n * ```\n */\nexport const bytesToUint8Array = (data) => {\n validator.validate(['bytes'], [data]);\n if (isUint8Array(data)) {\n return data;\n }\n if (Array.isArray(data)) {\n return new Uint8Array(data);\n }\n if (typeof data === 'string') {\n return validatorUtils.hexToUint8Array(data);\n }\n throw new InvalidBytesError(data);\n};\n/**\n * @internal\n */\nconst { uint8ArrayToHexString } = validatorUtils;\n/**\n * Convert a byte array to a hex string\n * @param bytes - Byte array to be converted\n * @returns - The hex string representation of the input byte array\n *\n * @example\n * ```ts\n * console.log(web3.utils.bytesToHex(new Uint8Array([72, 12])));\n * > \"0x480c\"\n *\n */\nexport const bytesToHex = (bytes) => uint8ArrayToHexString(bytesToUint8Array(bytes));\n/**\n * Convert a hex string to a byte array\n * @param hex - Hex string to be converted\n * @returns - The byte array representation of the input hex string\n *\n * @example\n * ```ts\n * console.log(web3.utils.hexToBytes('0x74657374'));\n * > Uint8Array(4) [ 116, 101, 115, 116 ]\n * ```\n */\nexport const hexToBytes = (bytes) => {\n if (typeof bytes === 'string' && bytes.slice(0, 2).toLowerCase() !== '0x') {\n return bytesToUint8Array(`0x${bytes}`);\n }\n return bytesToUint8Array(bytes);\n};\n/**\n * Converts value to it's number representation\n * @param value - Hex string to be converted\n * @returns - The number representation of the input value\n *\n * @example\n * ```ts\n * conoslle.log(web3.utils.hexToNumber('0xa'));\n * > 10\n * ```\n */\nexport const hexToNumber = (value) => {\n validator.validate(['hex'], [value]);\n // To avoid duplicate code and circular dependency we will\n // use `hexToNumber` implementation from `web3-validator`\n return validatorUtils.hexToNumber(value);\n};\n/**\n * Converts value to it's number representation @alias `hexToNumber`\n */\nexport const toDecimal = hexToNumber;\n/**\n * Converts value to it's hex representation\n * @param value - Value to be converted\n * @param hexstrict - Add padding to converted value if odd, to make it hexstrict\n * @returns - The hex representation of the input value\n *\n * @example\n * ```ts\n * console.log(web3.utils.numberToHex(10));\n * > \"0xa\"\n * ```\n */\nexport const numberToHex = (value, hexstrict) => {\n if (typeof value !== 'bigint')\n validator.validate(['int'], [value]);\n // To avoid duplicate code and circular dependency we will\n // use `numberToHex` implementation from `web3-validator`\n let updatedValue = validatorUtils.numberToHex(value);\n if (hexstrict) {\n if (!updatedValue.startsWith('-') && updatedValue.length % 2 === 1) {\n // To avoid duplicate a circular dependency we will not be using the padLeft method\n updatedValue = '0x0'.concat(updatedValue.slice(2));\n }\n else if (updatedValue.length % 2 === 0 && updatedValue.startsWith('-'))\n updatedValue = '-0x0'.concat(updatedValue.slice(3));\n }\n return updatedValue;\n};\n/**\n * Converts value to it's hex representation @alias `numberToHex`\n *\n */\nexport const fromDecimal = numberToHex;\n/**\n * Converts value to it's decimal representation in string\n * @param value - Hex string to be converted\n * @returns - The decimal representation of the input value\n *\n * @example\n * ```ts\n * console.log(web3.utils.hexToNumberString('0xa'));\n * > \"10\"\n * ```\n */\nexport const hexToNumberString = (data) => hexToNumber(data).toString();\n/**\n * Should be called to get hex representation (prefixed by 0x) of utf8 string\n * @param str - Utf8 string to be converted\n * @returns - The hex representation of the input string\n *\n * @example\n * ```ts\n * console.log(utf8ToHex('web3.js'));\n * > \"0x776562332e6a73\"\n * ```\n *\n */\nexport const utf8ToHex = (str) => {\n validator.validate(['string'], [str]);\n // To be compatible with 1.x trim null character\n // eslint-disable-next-line no-control-regex\n let strWithoutNullCharacter = str.replace(/^(?:\\u0000)/, '');\n // eslint-disable-next-line no-control-regex\n strWithoutNullCharacter = strWithoutNullCharacter.replace(/(?:\\u0000)$/, '');\n return bytesToHex(new TextEncoder().encode(strWithoutNullCharacter));\n};\n/**\n * @alias utf8ToHex\n */\nexport const fromUtf8 = utf8ToHex;\n/**\n * @alias utf8ToHex\n */\nexport const stringToHex = utf8ToHex;\n/**\n * Should be called to get utf8 from it's hex representation\n * @param str - Hex string to be converted\n * @returns - Utf8 string\n *\n * @example\n * ```ts\n * console.log(web3.utils.hexToUtf8('0x48656c6c6f20576f726c64'));\n * > Hello World\n * ```\n */\nexport const hexToUtf8 = (str) => bytesToUtf8(hexToBytes(str));\n/**\n * @alias hexToUtf8\n */\nexport const toUtf8 = (input) => {\n if (typeof input === 'string') {\n return hexToUtf8(input);\n }\n validator.validate(['bytes'], [input]);\n return bytesToUtf8(input);\n};\nexport const utf8ToBytes = ecUtf8ToBytes;\n/**\n * @alias hexToUtf8\n */\nexport const hexToString = hexToUtf8;\n/**\n * Should be called to get hex representation (prefixed by 0x) of ascii string\n * @param str - String to be converted to hex\n * @returns - Hex string\n *\n * @example\n * ```ts\n * console.log(web3.utils.asciiToHex('Hello World'));\n * > 0x48656c6c6f20576f726c64\n * ```\n */\nexport const asciiToHex = (str) => {\n validator.validate(['string'], [str]);\n let hexString = '';\n for (let i = 0; i < str.length; i += 1) {\n const hexCharCode = str.charCodeAt(i).toString(16);\n // might need a leading 0\n hexString += hexCharCode.length % 2 !== 0 ? `0${hexCharCode}` : hexCharCode;\n }\n return `0x${hexString}`;\n};\n/**\n * @alias asciiToHex\n */\nexport const fromAscii = asciiToHex;\n/**\n * Should be called to get ascii from it's hex representation\n * @param str - Hex string to be converted to ascii\n * @returns - Ascii string\n *\n * @example\n * ```ts\n * console.log(web3.utils.hexToAscii('0x48656c6c6f20576f726c64'));\n * > Hello World\n * ```\n */\nexport const hexToAscii = (str) => {\n const decoder = new TextDecoder('ascii');\n return decoder.decode(hexToBytes(str));\n};\n/**\n * @alias hexToAscii\n */\nexport const toAscii = hexToAscii;\n/**\n * Auto converts any given value into it's hex representation.\n * @param value - Value to be converted to hex\n * @param returnType - If true, it will return the type of the value\n *\n * @example\n * ```ts\n * console.log(web3.utils.toHex(10));\n * > 0xa\n *\n * console.log(web3.utils.toHex('0x123', true));\n * > bytes\n *```\n */\nexport const toHex = (value, returnType) => {\n if (typeof value === 'string' && isAddress(value)) {\n return returnType ? 'address' : `0x${value.toLowerCase().replace(/^0x/i, '')}`;\n }\n if (typeof value === 'boolean') {\n // eslint-disable-next-line no-nested-ternary\n return returnType ? 'bool' : value ? '0x01' : '0x00';\n }\n if (typeof value === 'number') {\n // eslint-disable-next-line no-nested-ternary\n return returnType ? (value < 0 ? 'int256' : 'uint256') : numberToHex(value);\n }\n if (typeof value === 'bigint') {\n return returnType ? 'bigint' : numberToHex(value);\n }\n if (typeof value === 'object' && !!value) {\n return returnType ? 'string' : utf8ToHex(JSON.stringify(value));\n }\n if (typeof value === 'string') {\n if (value.startsWith('-0x') || value.startsWith('-0X')) {\n return returnType ? 'int256' : numberToHex(value);\n }\n if (isHexStrict(value)) {\n return returnType ? 'bytes' : value;\n }\n if (isHex(value) && !isInt(value) && !isUInt(value)) {\n return returnType ? 'bytes' : `0x${value}`;\n }\n if (isHex(value) && !isInt(value) && isUInt(value)) {\n return returnType ? 'uint' : numberToHex(value);\n }\n if (!Number.isFinite(value)) {\n return returnType ? 'string' : utf8ToHex(value);\n }\n }\n throw new HexProcessingError(value);\n};\n/**\n * Converts any given value into it's number representation, if possible, else into it's bigint representation.\n * @param value - The value to convert\n * @returns - Returns the value in number or bigint representation\n *\n * @example\n * ```ts\n * console.log(web3.utils.toNumber(1));\n * > 1\n * console.log(web3.utils.toNumber(Number.MAX_SAFE_INTEGER));\n * > 9007199254740991\n *\n * console.log(web3.utils.toNumber(BigInt(Number.MAX_SAFE_INTEGER)));\n * > 9007199254740991\n *\n * console.log(web3.utils.toNumber(BigInt(Number.MAX_SAFE_INTEGER) + BigInt(1)));\n * > 9007199254740992n\n *\n * ```\n */\nexport const toNumber = (value) => {\n if (typeof value === 'number') {\n if (value > 1e+20) {\n // JavaScript converts numbers >= 10^21 to scientific notation when coerced to strings,\n // leading to potential parsing errors and incorrect representations.\n // For instance, String(10000000000000000000000) yields '1e+22'.\n // Using BigInt prevents this\n return BigInt(value);\n }\n return value;\n }\n if (typeof value === 'bigint') {\n return value >= Number.MIN_SAFE_INTEGER && value <= Number.MAX_SAFE_INTEGER\n ? Number(value)\n : value;\n }\n if (typeof value === 'string' && isHexStrict(value)) {\n return hexToNumber(value);\n }\n try {\n return toNumber(BigInt(value));\n }\n catch (_a) {\n throw new InvalidNumberError(value);\n }\n};\n/**\n * Auto converts any given value into it's bigint representation\n *\n * @param value - The value to convert\n * @returns - Returns the value in bigint representation\n\n * @example\n * ```ts\n * console.log(web3.utils.toBigInt(1));\n * > 1n\n * ```\n */\nexport const toBigInt = (value) => {\n if (typeof value === 'number') {\n return BigInt(value);\n }\n if (typeof value === 'bigint') {\n return value;\n }\n // isHex passes for dec, too\n if (typeof value === 'string' && isHex(value)) {\n if (value.startsWith('-')) {\n return -BigInt(value.substring(1));\n }\n return BigInt(value);\n }\n throw new InvalidNumberError(value);\n};\n/**\n * Takes a number of wei and converts it to any other ether unit.\n * @param number - The value in wei\n * @param unit - The unit to convert to\n * @returns - Returns the converted value in the given unit\n *\n * @example\n * ```ts\n * console.log(web3.utils.fromWei(\"1\", \"ether\"));\n * > 0.000000000000000001\n *\n * console.log(web3.utils.fromWei(\"1\", \"shannon\"));\n * > 0.000000001\n * ```\n */\nexport const fromWei = (number, unit) => {\n const denomination = ethUnitMap[unit];\n if (!denomination) {\n throw new InvalidUnitError(unit);\n }\n // value in wei would always be integer\n // 13456789, 1234\n const value = String(toNumber(number));\n // count number of zeros in denomination\n // 1000000 -> 6\n const numberOfZerosInDenomination = denomination.toString().length - 1;\n if (numberOfZerosInDenomination <= 0) {\n return value.toString();\n }\n // pad the value with required zeros\n // 13456789 -> 13456789, 1234 -> 001234\n const zeroPaddedValue = value.padStart(numberOfZerosInDenomination, '0');\n // get the integer part of value by counting number of zeros from start\n // 13456789 -> '13'\n // 001234 -> ''\n const integer = zeroPaddedValue.slice(0, -numberOfZerosInDenomination);\n // get the fraction part of value by counting number of zeros backward\n // 13456789 -> '456789'\n // 001234 -> '001234'\n const fraction = zeroPaddedValue.slice(-numberOfZerosInDenomination).replace(/\\.?0+$/, '');\n if (integer === '') {\n return `0.${fraction}`;\n }\n if (fraction === '') {\n return integer;\n }\n return `${integer}.${fraction}`;\n};\n/**\n * Takes a number of a unit and converts it to wei.\n *\n * @param number - The number to convert.\n * @param unit - {@link EtherUnits} The unit of the number passed.\n * @returns The number converted to wei.\n *\n * @example\n * ```ts\n * console.log(web3.utils.toWei(\"0.001\", \"ether\"));\n * > 1000000000000000 //(wei)\n * ```\n */\n// todo in 1.x unit defaults to 'ether'\nexport const toWei = (number, unit) => {\n validator.validate(['number'], [number]);\n const denomination = ethUnitMap[unit];\n if (!denomination) {\n throw new InvalidUnitError(unit);\n }\n // if value is decimal e.g. 24.56 extract `integer` and `fraction` part\n // to avoid `fraction` to be null use `concat` with empty string\n const [integer, fraction] = String(typeof number === 'string' && !isHexStrict(number) ? number : toNumber(number))\n .split('.')\n .concat('');\n // join the value removing `.` from\n // 24.56 -> 2456\n const value = BigInt(`${integer}${fraction}`);\n // multiply value with denomination\n // 2456 * 1000000 -> 2456000000\n const updatedValue = value * denomination;\n // count number of zeros in denomination\n const numberOfZerosInDenomination = denomination.toString().length - 1;\n // check which either `fraction` or `denomination` have lower number of zeros\n const decimals = Math.min(fraction.length, numberOfZerosInDenomination);\n if (decimals === 0) {\n return updatedValue.toString();\n }\n // Add zeros to make length equal to required decimal points\n // If string is larger than decimal points required then remove last zeros\n return updatedValue.toString().padStart(decimals, '0').slice(0, -decimals);\n};\n/**\n * Will convert an upper or lowercase Ethereum address to a checksum address.\n * @param address - An address string\n * @returns\tThe checksum address\n * @example\n * ```ts\n * web3.utils.toChecksumAddress('0xc1912fee45d61c87cc5ea59dae31190fffff232d');\n * > \"0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d\"\n * ```\n */\nexport const toChecksumAddress = (address) => {\n if (!isAddress(address, false)) {\n throw new InvalidAddressError(address);\n }\n const lowerCaseAddress = address.toLowerCase().replace(/^0x/i, '');\n // calling `Uint8Array.from` because `noble-hashes` checks with `instanceof Uint8Array` that fails in some edge cases:\n // \thttps://github.com/paulmillr/noble-hashes/issues/25#issuecomment-1750106284\n const hash = utils.uint8ArrayToHexString(keccak256(validatorUtils.ensureIfUint8Array(utf8ToBytes(lowerCaseAddress))));\n if (isNullish(hash) ||\n hash === '0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470')\n return ''; // // EIP-1052 if hash is equal to c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470, keccak was given empty data\n let checksumAddress = '0x';\n const addressHash = hash.replace(/^0x/i, '');\n for (let i = 0; i < lowerCaseAddress.length; i += 1) {\n // If ith character is 8 to f then make it uppercase\n if (parseInt(addressHash[i], 16) > 7) {\n checksumAddress += lowerCaseAddress[i].toUpperCase();\n }\n else {\n checksumAddress += lowerCaseAddress[i];\n }\n }\n return checksumAddress;\n};\nexport const toBool = (value) => {\n if (typeof value === 'boolean') {\n return value;\n }\n if (typeof value === 'number' && (value === 0 || value === 1)) {\n return Boolean(value);\n }\n if (typeof value === 'bigint' && (value === BigInt(0) || value === BigInt(1))) {\n return Boolean(value);\n }\n if (typeof value === 'string' &&\n !isHexStrict(value) &&\n (value === '1' || value === '0' || value === 'false' || value === 'true')) {\n if (value === 'true') {\n return true;\n }\n if (value === 'false') {\n return false;\n }\n return Boolean(Number(value));\n }\n if (typeof value === 'string' && isHexStrict(value) && (value === '0x1' || value === '0x0')) {\n return Boolean(toNumber(value));\n }\n throw new InvalidBooleanError(value);\n};\n//# sourceMappingURL=converters.js.map","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","/*\r\n * bignumber.js v9.1.2\r\n * A JavaScript library for arbitrary-precision arithmetic.\r\n * https://github.com/MikeMcl/bignumber.js\r\n * Copyright (c) 2022 Michael Mclaughlin \r\n * MIT Licensed.\r\n *\r\n * BigNumber.prototype methods | BigNumber methods\r\n * |\r\n * absoluteValue abs | clone\r\n * comparedTo | config set\r\n * decimalPlaces dp | DECIMAL_PLACES\r\n * dividedBy div | ROUNDING_MODE\r\n * dividedToIntegerBy idiv | EXPONENTIAL_AT\r\n * exponentiatedBy pow | RANGE\r\n * integerValue | CRYPTO\r\n * isEqualTo eq | MODULO_MODE\r\n * isFinite | POW_PRECISION\r\n * isGreaterThan gt | FORMAT\r\n * isGreaterThanOrEqualTo gte | ALPHABET\r\n * isInteger | isBigNumber\r\n * isLessThan lt | maximum max\r\n * isLessThanOrEqualTo lte | minimum min\r\n * isNaN | random\r\n * isNegative | sum\r\n * isPositive |\r\n * isZero |\r\n * minus |\r\n * modulo mod |\r\n * multipliedBy times |\r\n * negated |\r\n * plus |\r\n * precision sd |\r\n * shiftedBy |\r\n * squareRoot sqrt |\r\n * toExponential |\r\n * toFixed |\r\n * toFormat |\r\n * toFraction |\r\n * toJSON |\r\n * toNumber |\r\n * toPrecision |\r\n * toString |\r\n * valueOf |\r\n *\r\n */\r\n\r\n\r\nvar\r\n isNumeric = /^-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?$/i,\r\n mathceil = Math.ceil,\r\n mathfloor = Math.floor,\r\n\r\n bignumberError = '[BigNumber Error] ',\r\n tooManyDigits = bignumberError + 'Number primitive has more than 15 significant digits: ',\r\n\r\n BASE = 1e14,\r\n LOG_BASE = 14,\r\n MAX_SAFE_INTEGER = 0x1fffffffffffff, // 2^53 - 1\r\n // MAX_INT32 = 0x7fffffff, // 2^31 - 1\r\n POWS_TEN = [1, 10, 100, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13],\r\n SQRT_BASE = 1e7,\r\n\r\n // EDITABLE\r\n // The limit on the value of DECIMAL_PLACES, TO_EXP_NEG, TO_EXP_POS, MIN_EXP, MAX_EXP, and\r\n // the arguments to toExponential, toFixed, toFormat, and toPrecision.\r\n MAX = 1E9; // 0 to MAX_INT32\r\n\r\n\r\n/*\r\n * Create and return a BigNumber constructor.\r\n */\r\nfunction clone(configObject) {\r\n var div, convertBase, parseNumeric,\r\n P = BigNumber.prototype = { constructor: BigNumber, toString: null, valueOf: null },\r\n ONE = new BigNumber(1),\r\n\r\n\r\n //----------------------------- EDITABLE CONFIG DEFAULTS -------------------------------\r\n\r\n\r\n // The default values below must be integers within the inclusive ranges stated.\r\n // The values can also be changed at run-time using BigNumber.set.\r\n\r\n // The maximum number of decimal places for operations involving division.\r\n DECIMAL_PLACES = 20, // 0 to MAX\r\n\r\n // The rounding mode used when rounding to the above decimal places, and when using\r\n // toExponential, toFixed, toFormat and toPrecision, and round (default value).\r\n // UP 0 Away from zero.\r\n // DOWN 1 Towards zero.\r\n // CEIL 2 Towards +Infinity.\r\n // FLOOR 3 Towards -Infinity.\r\n // HALF_UP 4 Towards nearest neighbour. If equidistant, up.\r\n // HALF_DOWN 5 Towards nearest neighbour. If equidistant, down.\r\n // HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour.\r\n // HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity.\r\n // HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.\r\n ROUNDING_MODE = 4, // 0 to 8\r\n\r\n // EXPONENTIAL_AT : [TO_EXP_NEG , TO_EXP_POS]\r\n\r\n // The exponent value at and beneath which toString returns exponential notation.\r\n // Number type: -7\r\n TO_EXP_NEG = -7, // 0 to -MAX\r\n\r\n // The exponent value at and above which toString returns exponential notation.\r\n // Number type: 21\r\n TO_EXP_POS = 21, // 0 to MAX\r\n\r\n // RANGE : [MIN_EXP, MAX_EXP]\r\n\r\n // The minimum exponent value, beneath which underflow to zero occurs.\r\n // Number type: -324 (5e-324)\r\n MIN_EXP = -1e7, // -1 to -MAX\r\n\r\n // The maximum exponent value, above which overflow to Infinity occurs.\r\n // Number type: 308 (1.7976931348623157e+308)\r\n // For MAX_EXP > 1e7, e.g. new BigNumber('1e100000000').plus(1) may be slow.\r\n MAX_EXP = 1e7, // 1 to MAX\r\n\r\n // Whether to use cryptographically-secure random number generation, if available.\r\n CRYPTO = false, // true or false\r\n\r\n // The modulo mode used when calculating the modulus: a mod n.\r\n // The quotient (q = a / n) is calculated according to the corresponding rounding mode.\r\n // The remainder (r) is calculated as: r = a - n * q.\r\n //\r\n // UP 0 The remainder is positive if the dividend is negative, else is negative.\r\n // DOWN 1 The remainder has the same sign as the dividend.\r\n // This modulo mode is commonly known as 'truncated division' and is\r\n // equivalent to (a % n) in JavaScript.\r\n // FLOOR 3 The remainder has the same sign as the divisor (Python %).\r\n // HALF_EVEN 6 This modulo mode implements the IEEE 754 remainder function.\r\n // EUCLID 9 Euclidian division. q = sign(n) * floor(a / abs(n)).\r\n // The remainder is always positive.\r\n //\r\n // The truncated division, floored division, Euclidian division and IEEE 754 remainder\r\n // modes are commonly used for the modulus operation.\r\n // Although the other rounding modes can also be used, they may not give useful results.\r\n MODULO_MODE = 1, // 0 to 9\r\n\r\n // The maximum number of significant digits of the result of the exponentiatedBy operation.\r\n // If POW_PRECISION is 0, there will be unlimited significant digits.\r\n POW_PRECISION = 0, // 0 to MAX\r\n\r\n // The format specification used by the BigNumber.prototype.toFormat method.\r\n FORMAT = {\r\n prefix: '',\r\n groupSize: 3,\r\n secondaryGroupSize: 0,\r\n groupSeparator: ',',\r\n decimalSeparator: '.',\r\n fractionGroupSize: 0,\r\n fractionGroupSeparator: '\\xA0', // non-breaking space\r\n suffix: ''\r\n },\r\n\r\n // The alphabet used for base conversion. It must be at least 2 characters long, with no '+',\r\n // '-', '.', whitespace, or repeated character.\r\n // '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_'\r\n ALPHABET = '0123456789abcdefghijklmnopqrstuvwxyz',\r\n alphabetHasNormalDecimalDigits = true;\r\n\r\n\r\n //------------------------------------------------------------------------------------------\r\n\r\n\r\n // CONSTRUCTOR\r\n\r\n\r\n /*\r\n * The BigNumber constructor and exported function.\r\n * Create and return a new instance of a BigNumber object.\r\n *\r\n * v {number|string|BigNumber} A numeric value.\r\n * [b] {number} The base of v. Integer, 2 to ALPHABET.length inclusive.\r\n */\r\n function BigNumber(v, b) {\r\n var alphabet, c, caseChanged, e, i, isNum, len, str,\r\n x = this;\r\n\r\n // Enable constructor call without `new`.\r\n if (!(x instanceof BigNumber)) return new BigNumber(v, b);\r\n\r\n if (b == null) {\r\n\r\n if (v && v._isBigNumber === true) {\r\n x.s = v.s;\r\n\r\n if (!v.c || v.e > MAX_EXP) {\r\n x.c = x.e = null;\r\n } else if (v.e < MIN_EXP) {\r\n x.c = [x.e = 0];\r\n } else {\r\n x.e = v.e;\r\n x.c = v.c.slice();\r\n }\r\n\r\n return;\r\n }\r\n\r\n if ((isNum = typeof v == 'number') && v * 0 == 0) {\r\n\r\n // Use `1 / n` to handle minus zero also.\r\n x.s = 1 / v < 0 ? (v = -v, -1) : 1;\r\n\r\n // Fast path for integers, where n < 2147483648 (2**31).\r\n if (v === ~~v) {\r\n for (e = 0, i = v; i >= 10; i /= 10, e++);\r\n\r\n if (e > MAX_EXP) {\r\n x.c = x.e = null;\r\n } else {\r\n x.e = e;\r\n x.c = [v];\r\n }\r\n\r\n return;\r\n }\r\n\r\n str = String(v);\r\n } else {\r\n\r\n if (!isNumeric.test(str = String(v))) return parseNumeric(x, str, isNum);\r\n\r\n x.s = str.charCodeAt(0) == 45 ? (str = str.slice(1), -1) : 1;\r\n }\r\n\r\n // Decimal point?\r\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n\r\n // Exponential form?\r\n if ((i = str.search(/e/i)) > 0) {\r\n\r\n // Determine exponent.\r\n if (e < 0) e = i;\r\n e += +str.slice(i + 1);\r\n str = str.substring(0, i);\r\n } else if (e < 0) {\r\n\r\n // Integer.\r\n e = str.length;\r\n }\r\n\r\n } else {\r\n\r\n // '[BigNumber Error] Base {not a primitive number|not an integer|out of range}: {b}'\r\n intCheck(b, 2, ALPHABET.length, 'Base');\r\n\r\n // Allow exponential notation to be used with base 10 argument, while\r\n // also rounding to DECIMAL_PLACES as with other bases.\r\n if (b == 10 && alphabetHasNormalDecimalDigits) {\r\n x = new BigNumber(v);\r\n return round(x, DECIMAL_PLACES + x.e + 1, ROUNDING_MODE);\r\n }\r\n\r\n str = String(v);\r\n\r\n if (isNum = typeof v == 'number') {\r\n\r\n // Avoid potential interpretation of Infinity and NaN as base 44+ values.\r\n if (v * 0 != 0) return parseNumeric(x, str, isNum, b);\r\n\r\n x.s = 1 / v < 0 ? (str = str.slice(1), -1) : 1;\r\n\r\n // '[BigNumber Error] Number primitive has more than 15 significant digits: {n}'\r\n if (BigNumber.DEBUG && str.replace(/^0\\.0*|\\./, '').length > 15) {\r\n throw Error\r\n (tooManyDigits + v);\r\n }\r\n } else {\r\n x.s = str.charCodeAt(0) === 45 ? (str = str.slice(1), -1) : 1;\r\n }\r\n\r\n alphabet = ALPHABET.slice(0, b);\r\n e = i = 0;\r\n\r\n // Check that str is a valid base b number.\r\n // Don't use RegExp, so alphabet can contain special characters.\r\n for (len = str.length; i < len; i++) {\r\n if (alphabet.indexOf(c = str.charAt(i)) < 0) {\r\n if (c == '.') {\r\n\r\n // If '.' is not the first character and it has not be found before.\r\n if (i > e) {\r\n e = len;\r\n continue;\r\n }\r\n } else if (!caseChanged) {\r\n\r\n // Allow e.g. hexadecimal 'FF' as well as 'ff'.\r\n if (str == str.toUpperCase() && (str = str.toLowerCase()) ||\r\n str == str.toLowerCase() && (str = str.toUpperCase())) {\r\n caseChanged = true;\r\n i = -1;\r\n e = 0;\r\n continue;\r\n }\r\n }\r\n\r\n return parseNumeric(x, String(v), isNum, b);\r\n }\r\n }\r\n\r\n // Prevent later check for length on converted number.\r\n isNum = false;\r\n str = convertBase(str, b, 10, x.s);\r\n\r\n // Decimal point?\r\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n else e = str.length;\r\n }\r\n\r\n // Determine leading zeros.\r\n for (i = 0; str.charCodeAt(i) === 48; i++);\r\n\r\n // Determine trailing zeros.\r\n for (len = str.length; str.charCodeAt(--len) === 48;);\r\n\r\n if (str = str.slice(i, ++len)) {\r\n len -= i;\r\n\r\n // '[BigNumber Error] Number primitive has more than 15 significant digits: {n}'\r\n if (isNum && BigNumber.DEBUG &&\r\n len > 15 && (v > MAX_SAFE_INTEGER || v !== mathfloor(v))) {\r\n throw Error\r\n (tooManyDigits + (x.s * v));\r\n }\r\n\r\n // Overflow?\r\n if ((e = e - i - 1) > MAX_EXP) {\r\n\r\n // Infinity.\r\n x.c = x.e = null;\r\n\r\n // Underflow?\r\n } else if (e < MIN_EXP) {\r\n\r\n // Zero.\r\n x.c = [x.e = 0];\r\n } else {\r\n x.e = e;\r\n x.c = [];\r\n\r\n // Transform base\r\n\r\n // e is the base 10 exponent.\r\n // i is where to slice str to get the first element of the coefficient array.\r\n i = (e + 1) % LOG_BASE;\r\n if (e < 0) i += LOG_BASE; // i < 1\r\n\r\n if (i < len) {\r\n if (i) x.c.push(+str.slice(0, i));\r\n\r\n for (len -= LOG_BASE; i < len;) {\r\n x.c.push(+str.slice(i, i += LOG_BASE));\r\n }\r\n\r\n i = LOG_BASE - (str = str.slice(i)).length;\r\n } else {\r\n i -= len;\r\n }\r\n\r\n for (; i--; str += '0');\r\n x.c.push(+str);\r\n }\r\n } else {\r\n\r\n // Zero.\r\n x.c = [x.e = 0];\r\n }\r\n }\r\n\r\n\r\n // CONSTRUCTOR PROPERTIES\r\n\r\n\r\n BigNumber.clone = clone;\r\n\r\n BigNumber.ROUND_UP = 0;\r\n BigNumber.ROUND_DOWN = 1;\r\n BigNumber.ROUND_CEIL = 2;\r\n BigNumber.ROUND_FLOOR = 3;\r\n BigNumber.ROUND_HALF_UP = 4;\r\n BigNumber.ROUND_HALF_DOWN = 5;\r\n BigNumber.ROUND_HALF_EVEN = 6;\r\n BigNumber.ROUND_HALF_CEIL = 7;\r\n BigNumber.ROUND_HALF_FLOOR = 8;\r\n BigNumber.EUCLID = 9;\r\n\r\n\r\n /*\r\n * Configure infrequently-changing library-wide settings.\r\n *\r\n * Accept an object with the following optional properties (if the value of a property is\r\n * a number, it must be an integer within the inclusive range stated):\r\n *\r\n * DECIMAL_PLACES {number} 0 to MAX\r\n * ROUNDING_MODE {number} 0 to 8\r\n * EXPONENTIAL_AT {number|number[]} -MAX to MAX or [-MAX to 0, 0 to MAX]\r\n * RANGE {number|number[]} -MAX to MAX (not zero) or [-MAX to -1, 1 to MAX]\r\n * CRYPTO {boolean} true or false\r\n * MODULO_MODE {number} 0 to 9\r\n * POW_PRECISION {number} 0 to MAX\r\n * ALPHABET {string} A string of two or more unique characters which does\r\n * not contain '.'.\r\n * FORMAT {object} An object with some of the following properties:\r\n * prefix {string}\r\n * groupSize {number}\r\n * secondaryGroupSize {number}\r\n * groupSeparator {string}\r\n * decimalSeparator {string}\r\n * fractionGroupSize {number}\r\n * fractionGroupSeparator {string}\r\n * suffix {string}\r\n *\r\n * (The values assigned to the above FORMAT object properties are not checked for validity.)\r\n *\r\n * E.g.\r\n * BigNumber.config({ DECIMAL_PLACES : 20, ROUNDING_MODE : 4 })\r\n *\r\n * Ignore properties/parameters set to null or undefined, except for ALPHABET.\r\n *\r\n * Return an object with the properties current values.\r\n */\r\n BigNumber.config = BigNumber.set = function (obj) {\r\n var p, v;\r\n\r\n if (obj != null) {\r\n\r\n if (typeof obj == 'object') {\r\n\r\n // DECIMAL_PLACES {number} Integer, 0 to MAX inclusive.\r\n // '[BigNumber Error] DECIMAL_PLACES {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'DECIMAL_PLACES')) {\r\n v = obj[p];\r\n intCheck(v, 0, MAX, p);\r\n DECIMAL_PLACES = v;\r\n }\r\n\r\n // ROUNDING_MODE {number} Integer, 0 to 8 inclusive.\r\n // '[BigNumber Error] ROUNDING_MODE {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'ROUNDING_MODE')) {\r\n v = obj[p];\r\n intCheck(v, 0, 8, p);\r\n ROUNDING_MODE = v;\r\n }\r\n\r\n // EXPONENTIAL_AT {number|number[]}\r\n // Integer, -MAX to MAX inclusive or\r\n // [integer -MAX to 0 inclusive, 0 to MAX inclusive].\r\n // '[BigNumber Error] EXPONENTIAL_AT {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'EXPONENTIAL_AT')) {\r\n v = obj[p];\r\n if (v && v.pop) {\r\n intCheck(v[0], -MAX, 0, p);\r\n intCheck(v[1], 0, MAX, p);\r\n TO_EXP_NEG = v[0];\r\n TO_EXP_POS = v[1];\r\n } else {\r\n intCheck(v, -MAX, MAX, p);\r\n TO_EXP_NEG = -(TO_EXP_POS = v < 0 ? -v : v);\r\n }\r\n }\r\n\r\n // RANGE {number|number[]} Non-zero integer, -MAX to MAX inclusive or\r\n // [integer -MAX to -1 inclusive, integer 1 to MAX inclusive].\r\n // '[BigNumber Error] RANGE {not a primitive number|not an integer|out of range|cannot be zero}: {v}'\r\n if (obj.hasOwnProperty(p = 'RANGE')) {\r\n v = obj[p];\r\n if (v && v.pop) {\r\n intCheck(v[0], -MAX, -1, p);\r\n intCheck(v[1], 1, MAX, p);\r\n MIN_EXP = v[0];\r\n MAX_EXP = v[1];\r\n } else {\r\n intCheck(v, -MAX, MAX, p);\r\n if (v) {\r\n MIN_EXP = -(MAX_EXP = v < 0 ? -v : v);\r\n } else {\r\n throw Error\r\n (bignumberError + p + ' cannot be zero: ' + v);\r\n }\r\n }\r\n }\r\n\r\n // CRYPTO {boolean} true or false.\r\n // '[BigNumber Error] CRYPTO not true or false: {v}'\r\n // '[BigNumber Error] crypto unavailable'\r\n if (obj.hasOwnProperty(p = 'CRYPTO')) {\r\n v = obj[p];\r\n if (v === !!v) {\r\n if (v) {\r\n if (typeof crypto != 'undefined' && crypto &&\r\n (crypto.getRandomValues || crypto.randomBytes)) {\r\n CRYPTO = v;\r\n } else {\r\n CRYPTO = !v;\r\n throw Error\r\n (bignumberError + 'crypto unavailable');\r\n }\r\n } else {\r\n CRYPTO = v;\r\n }\r\n } else {\r\n throw Error\r\n (bignumberError + p + ' not true or false: ' + v);\r\n }\r\n }\r\n\r\n // MODULO_MODE {number} Integer, 0 to 9 inclusive.\r\n // '[BigNumber Error] MODULO_MODE {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'MODULO_MODE')) {\r\n v = obj[p];\r\n intCheck(v, 0, 9, p);\r\n MODULO_MODE = v;\r\n }\r\n\r\n // POW_PRECISION {number} Integer, 0 to MAX inclusive.\r\n // '[BigNumber Error] POW_PRECISION {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'POW_PRECISION')) {\r\n v = obj[p];\r\n intCheck(v, 0, MAX, p);\r\n POW_PRECISION = v;\r\n }\r\n\r\n // FORMAT {object}\r\n // '[BigNumber Error] FORMAT not an object: {v}'\r\n if (obj.hasOwnProperty(p = 'FORMAT')) {\r\n v = obj[p];\r\n if (typeof v == 'object') FORMAT = v;\r\n else throw Error\r\n (bignumberError + p + ' not an object: ' + v);\r\n }\r\n\r\n // ALPHABET {string}\r\n // '[BigNumber Error] ALPHABET invalid: {v}'\r\n if (obj.hasOwnProperty(p = 'ALPHABET')) {\r\n v = obj[p];\r\n\r\n // Disallow if less than two characters,\r\n // or if it contains '+', '-', '.', whitespace, or a repeated character.\r\n if (typeof v == 'string' && !/^.?$|[+\\-.\\s]|(.).*\\1/.test(v)) {\r\n alphabetHasNormalDecimalDigits = v.slice(0, 10) == '0123456789';\r\n ALPHABET = v;\r\n } else {\r\n throw Error\r\n (bignumberError + p + ' invalid: ' + v);\r\n }\r\n }\r\n\r\n } else {\r\n\r\n // '[BigNumber Error] Object expected: {v}'\r\n throw Error\r\n (bignumberError + 'Object expected: ' + obj);\r\n }\r\n }\r\n\r\n return {\r\n DECIMAL_PLACES: DECIMAL_PLACES,\r\n ROUNDING_MODE: ROUNDING_MODE,\r\n EXPONENTIAL_AT: [TO_EXP_NEG, TO_EXP_POS],\r\n RANGE: [MIN_EXP, MAX_EXP],\r\n CRYPTO: CRYPTO,\r\n MODULO_MODE: MODULO_MODE,\r\n POW_PRECISION: POW_PRECISION,\r\n FORMAT: FORMAT,\r\n ALPHABET: ALPHABET\r\n };\r\n };\r\n\r\n\r\n /*\r\n * Return true if v is a BigNumber instance, otherwise return false.\r\n *\r\n * If BigNumber.DEBUG is true, throw if a BigNumber instance is not well-formed.\r\n *\r\n * v {any}\r\n *\r\n * '[BigNumber Error] Invalid BigNumber: {v}'\r\n */\r\n BigNumber.isBigNumber = function (v) {\r\n if (!v || v._isBigNumber !== true) return false;\r\n if (!BigNumber.DEBUG) return true;\r\n\r\n var i, n,\r\n c = v.c,\r\n e = v.e,\r\n s = v.s;\r\n\r\n out: if ({}.toString.call(c) == '[object Array]') {\r\n\r\n if ((s === 1 || s === -1) && e >= -MAX && e <= MAX && e === mathfloor(e)) {\r\n\r\n // If the first element is zero, the BigNumber value must be zero.\r\n if (c[0] === 0) {\r\n if (e === 0 && c.length === 1) return true;\r\n break out;\r\n }\r\n\r\n // Calculate number of digits that c[0] should have, based on the exponent.\r\n i = (e + 1) % LOG_BASE;\r\n if (i < 1) i += LOG_BASE;\r\n\r\n // Calculate number of digits of c[0].\r\n //if (Math.ceil(Math.log(c[0] + 1) / Math.LN10) == i) {\r\n if (String(c[0]).length == i) {\r\n\r\n for (i = 0; i < c.length; i++) {\r\n n = c[i];\r\n if (n < 0 || n >= BASE || n !== mathfloor(n)) break out;\r\n }\r\n\r\n // Last element cannot be zero, unless it is the only element.\r\n if (n !== 0) return true;\r\n }\r\n }\r\n\r\n // Infinity/NaN\r\n } else if (c === null && e === null && (s === null || s === 1 || s === -1)) {\r\n return true;\r\n }\r\n\r\n throw Error\r\n (bignumberError + 'Invalid BigNumber: ' + v);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the maximum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\r\n BigNumber.maximum = BigNumber.max = function () {\r\n return maxOrMin(arguments, -1);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the minimum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\r\n BigNumber.minimum = BigNumber.min = function () {\r\n return maxOrMin(arguments, 1);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber with a random value equal to or greater than 0 and less than 1,\r\n * and with dp, or DECIMAL_PLACES if dp is omitted, decimal places (or less if trailing\r\n * zeros are produced).\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp}'\r\n * '[BigNumber Error] crypto unavailable'\r\n */\r\n BigNumber.random = (function () {\r\n var pow2_53 = 0x20000000000000;\r\n\r\n // Return a 53 bit integer n, where 0 <= n < 9007199254740992.\r\n // Check if Math.random() produces more than 32 bits of randomness.\r\n // If it does, assume at least 53 bits are produced, otherwise assume at least 30 bits.\r\n // 0x40000000 is 2^30, 0x800000 is 2^23, 0x1fffff is 2^21 - 1.\r\n var random53bitInt = (Math.random() * pow2_53) & 0x1fffff\r\n ? function () { return mathfloor(Math.random() * pow2_53); }\r\n : function () { return ((Math.random() * 0x40000000 | 0) * 0x800000) +\r\n (Math.random() * 0x800000 | 0); };\r\n\r\n return function (dp) {\r\n var a, b, e, k, v,\r\n i = 0,\r\n c = [],\r\n rand = new BigNumber(ONE);\r\n\r\n if (dp == null) dp = DECIMAL_PLACES;\r\n else intCheck(dp, 0, MAX);\r\n\r\n k = mathceil(dp / LOG_BASE);\r\n\r\n if (CRYPTO) {\r\n\r\n // Browsers supporting crypto.getRandomValues.\r\n if (crypto.getRandomValues) {\r\n\r\n a = crypto.getRandomValues(new Uint32Array(k *= 2));\r\n\r\n for (; i < k;) {\r\n\r\n // 53 bits:\r\n // ((Math.pow(2, 32) - 1) * Math.pow(2, 21)).toString(2)\r\n // 11111 11111111 11111111 11111111 11100000 00000000 00000000\r\n // ((Math.pow(2, 32) - 1) >>> 11).toString(2)\r\n // 11111 11111111 11111111\r\n // 0x20000 is 2^21.\r\n v = a[i] * 0x20000 + (a[i + 1] >>> 11);\r\n\r\n // Rejection sampling:\r\n // 0 <= v < 9007199254740992\r\n // Probability that v >= 9e15, is\r\n // 7199254740992 / 9007199254740992 ~= 0.0008, i.e. 1 in 1251\r\n if (v >= 9e15) {\r\n b = crypto.getRandomValues(new Uint32Array(2));\r\n a[i] = b[0];\r\n a[i + 1] = b[1];\r\n } else {\r\n\r\n // 0 <= v <= 8999999999999999\r\n // 0 <= (v % 1e14) <= 99999999999999\r\n c.push(v % 1e14);\r\n i += 2;\r\n }\r\n }\r\n i = k / 2;\r\n\r\n // Node.js supporting crypto.randomBytes.\r\n } else if (crypto.randomBytes) {\r\n\r\n // buffer\r\n a = crypto.randomBytes(k *= 7);\r\n\r\n for (; i < k;) {\r\n\r\n // 0x1000000000000 is 2^48, 0x10000000000 is 2^40\r\n // 0x100000000 is 2^32, 0x1000000 is 2^24\r\n // 11111 11111111 11111111 11111111 11111111 11111111 11111111\r\n // 0 <= v < 9007199254740992\r\n v = ((a[i] & 31) * 0x1000000000000) + (a[i + 1] * 0x10000000000) +\r\n (a[i + 2] * 0x100000000) + (a[i + 3] * 0x1000000) +\r\n (a[i + 4] << 16) + (a[i + 5] << 8) + a[i + 6];\r\n\r\n if (v >= 9e15) {\r\n crypto.randomBytes(7).copy(a, i);\r\n } else {\r\n\r\n // 0 <= (v % 1e14) <= 99999999999999\r\n c.push(v % 1e14);\r\n i += 7;\r\n }\r\n }\r\n i = k / 7;\r\n } else {\r\n CRYPTO = false;\r\n throw Error\r\n (bignumberError + 'crypto unavailable');\r\n }\r\n }\r\n\r\n // Use Math.random.\r\n if (!CRYPTO) {\r\n\r\n for (; i < k;) {\r\n v = random53bitInt();\r\n if (v < 9e15) c[i++] = v % 1e14;\r\n }\r\n }\r\n\r\n k = c[--i];\r\n dp %= LOG_BASE;\r\n\r\n // Convert trailing digits to zeros according to dp.\r\n if (k && dp) {\r\n v = POWS_TEN[LOG_BASE - dp];\r\n c[i] = mathfloor(k / v) * v;\r\n }\r\n\r\n // Remove trailing elements which are zero.\r\n for (; c[i] === 0; c.pop(), i--);\r\n\r\n // Zero?\r\n if (i < 0) {\r\n c = [e = 0];\r\n } else {\r\n\r\n // Remove leading elements which are zero and adjust exponent accordingly.\r\n for (e = -1 ; c[0] === 0; c.splice(0, 1), e -= LOG_BASE);\r\n\r\n // Count the digits of the first element of c to determine leading zeros, and...\r\n for (i = 1, v = c[0]; v >= 10; v /= 10, i++);\r\n\r\n // adjust the exponent accordingly.\r\n if (i < LOG_BASE) e -= LOG_BASE - i;\r\n }\r\n\r\n rand.e = e;\r\n rand.c = c;\r\n return rand;\r\n };\r\n })();\r\n\r\n\r\n /*\r\n * Return a BigNumber whose value is the sum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\r\n BigNumber.sum = function () {\r\n var i = 1,\r\n args = arguments,\r\n sum = new BigNumber(args[0]);\r\n for (; i < args.length;) sum = sum.plus(args[i++]);\r\n return sum;\r\n };\r\n\r\n\r\n // PRIVATE FUNCTIONS\r\n\r\n\r\n // Called by BigNumber and BigNumber.prototype.toString.\r\n convertBase = (function () {\r\n var decimal = '0123456789';\r\n\r\n /*\r\n * Convert string of baseIn to an array of numbers of baseOut.\r\n * Eg. toBaseOut('255', 10, 16) returns [15, 15].\r\n * Eg. toBaseOut('ff', 16, 10) returns [2, 5, 5].\r\n */\r\n function toBaseOut(str, baseIn, baseOut, alphabet) {\r\n var j,\r\n arr = [0],\r\n arrL,\r\n i = 0,\r\n len = str.length;\r\n\r\n for (; i < len;) {\r\n for (arrL = arr.length; arrL--; arr[arrL] *= baseIn);\r\n\r\n arr[0] += alphabet.indexOf(str.charAt(i++));\r\n\r\n for (j = 0; j < arr.length; j++) {\r\n\r\n if (arr[j] > baseOut - 1) {\r\n if (arr[j + 1] == null) arr[j + 1] = 0;\r\n arr[j + 1] += arr[j] / baseOut | 0;\r\n arr[j] %= baseOut;\r\n }\r\n }\r\n }\r\n\r\n return arr.reverse();\r\n }\r\n\r\n // Convert a numeric string of baseIn to a numeric string of baseOut.\r\n // If the caller is toString, we are converting from base 10 to baseOut.\r\n // If the caller is BigNumber, we are converting from baseIn to base 10.\r\n return function (str, baseIn, baseOut, sign, callerIsToString) {\r\n var alphabet, d, e, k, r, x, xc, y,\r\n i = str.indexOf('.'),\r\n dp = DECIMAL_PLACES,\r\n rm = ROUNDING_MODE;\r\n\r\n // Non-integer.\r\n if (i >= 0) {\r\n k = POW_PRECISION;\r\n\r\n // Unlimited precision.\r\n POW_PRECISION = 0;\r\n str = str.replace('.', '');\r\n y = new BigNumber(baseIn);\r\n x = y.pow(str.length - i);\r\n POW_PRECISION = k;\r\n\r\n // Convert str as if an integer, then restore the fraction part by dividing the\r\n // result by its base raised to a power.\r\n\r\n y.c = toBaseOut(toFixedPoint(coeffToString(x.c), x.e, '0'),\r\n 10, baseOut, decimal);\r\n y.e = y.c.length;\r\n }\r\n\r\n // Convert the number as integer.\r\n\r\n xc = toBaseOut(str, baseIn, baseOut, callerIsToString\r\n ? (alphabet = ALPHABET, decimal)\r\n : (alphabet = decimal, ALPHABET));\r\n\r\n // xc now represents str as an integer and converted to baseOut. e is the exponent.\r\n e = k = xc.length;\r\n\r\n // Remove trailing zeros.\r\n for (; xc[--k] == 0; xc.pop());\r\n\r\n // Zero?\r\n if (!xc[0]) return alphabet.charAt(0);\r\n\r\n // Does str represent an integer? If so, no need for the division.\r\n if (i < 0) {\r\n --e;\r\n } else {\r\n x.c = xc;\r\n x.e = e;\r\n\r\n // The sign is needed for correct rounding.\r\n x.s = sign;\r\n x = div(x, y, dp, rm, baseOut);\r\n xc = x.c;\r\n r = x.r;\r\n e = x.e;\r\n }\r\n\r\n // xc now represents str converted to baseOut.\r\n\r\n // THe index of the rounding digit.\r\n d = e + dp + 1;\r\n\r\n // The rounding digit: the digit to the right of the digit that may be rounded up.\r\n i = xc[d];\r\n\r\n // Look at the rounding digits and mode to determine whether to round up.\r\n\r\n k = baseOut / 2;\r\n r = r || d < 0 || xc[d + 1] != null;\r\n\r\n r = rm < 4 ? (i != null || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n : i > k || i == k &&(rm == 4 || r || rm == 6 && xc[d - 1] & 1 ||\r\n rm == (x.s < 0 ? 8 : 7));\r\n\r\n // If the index of the rounding digit is not greater than zero, or xc represents\r\n // zero, then the result of the base conversion is zero or, if rounding up, a value\r\n // such as 0.00001.\r\n if (d < 1 || !xc[0]) {\r\n\r\n // 1^-dp or 0\r\n str = r ? toFixedPoint(alphabet.charAt(1), -dp, alphabet.charAt(0)) : alphabet.charAt(0);\r\n } else {\r\n\r\n // Truncate xc to the required number of decimal places.\r\n xc.length = d;\r\n\r\n // Round up?\r\n if (r) {\r\n\r\n // Rounding up may mean the previous digit has to be rounded up and so on.\r\n for (--baseOut; ++xc[--d] > baseOut;) {\r\n xc[d] = 0;\r\n\r\n if (!d) {\r\n ++e;\r\n xc = [1].concat(xc);\r\n }\r\n }\r\n }\r\n\r\n // Determine trailing zeros.\r\n for (k = xc.length; !xc[--k];);\r\n\r\n // E.g. [4, 11, 15] becomes 4bf.\r\n for (i = 0, str = ''; i <= k; str += alphabet.charAt(xc[i++]));\r\n\r\n // Add leading zeros, decimal point and trailing zeros as required.\r\n str = toFixedPoint(str, e, alphabet.charAt(0));\r\n }\r\n\r\n // The caller will add the sign.\r\n return str;\r\n };\r\n })();\r\n\r\n\r\n // Perform division in the specified base. Called by div and convertBase.\r\n div = (function () {\r\n\r\n // Assume non-zero x and k.\r\n function multiply(x, k, base) {\r\n var m, temp, xlo, xhi,\r\n carry = 0,\r\n i = x.length,\r\n klo = k % SQRT_BASE,\r\n khi = k / SQRT_BASE | 0;\r\n\r\n for (x = x.slice(); i--;) {\r\n xlo = x[i] % SQRT_BASE;\r\n xhi = x[i] / SQRT_BASE | 0;\r\n m = khi * xlo + xhi * klo;\r\n temp = klo * xlo + ((m % SQRT_BASE) * SQRT_BASE) + carry;\r\n carry = (temp / base | 0) + (m / SQRT_BASE | 0) + khi * xhi;\r\n x[i] = temp % base;\r\n }\r\n\r\n if (carry) x = [carry].concat(x);\r\n\r\n return x;\r\n }\r\n\r\n function compare(a, b, aL, bL) {\r\n var i, cmp;\r\n\r\n if (aL != bL) {\r\n cmp = aL > bL ? 1 : -1;\r\n } else {\r\n\r\n for (i = cmp = 0; i < aL; i++) {\r\n\r\n if (a[i] != b[i]) {\r\n cmp = a[i] > b[i] ? 1 : -1;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return cmp;\r\n }\r\n\r\n function subtract(a, b, aL, base) {\r\n var i = 0;\r\n\r\n // Subtract b from a.\r\n for (; aL--;) {\r\n a[aL] -= i;\r\n i = a[aL] < b[aL] ? 1 : 0;\r\n a[aL] = i * base + a[aL] - b[aL];\r\n }\r\n\r\n // Remove leading zeros.\r\n for (; !a[0] && a.length > 1; a.splice(0, 1));\r\n }\r\n\r\n // x: dividend, y: divisor.\r\n return function (x, y, dp, rm, base) {\r\n var cmp, e, i, more, n, prod, prodL, q, qc, rem, remL, rem0, xi, xL, yc0,\r\n yL, yz,\r\n s = x.s == y.s ? 1 : -1,\r\n xc = x.c,\r\n yc = y.c;\r\n\r\n // Either NaN, Infinity or 0?\r\n if (!xc || !xc[0] || !yc || !yc[0]) {\r\n\r\n return new BigNumber(\r\n\r\n // Return NaN if either NaN, or both Infinity or 0.\r\n !x.s || !y.s || (xc ? yc && xc[0] == yc[0] : !yc) ? NaN :\r\n\r\n // Return ±0 if x is ±0 or y is ±Infinity, or return ±Infinity as y is ±0.\r\n xc && xc[0] == 0 || !yc ? s * 0 : s / 0\r\n );\r\n }\r\n\r\n q = new BigNumber(s);\r\n qc = q.c = [];\r\n e = x.e - y.e;\r\n s = dp + e + 1;\r\n\r\n if (!base) {\r\n base = BASE;\r\n e = bitFloor(x.e / LOG_BASE) - bitFloor(y.e / LOG_BASE);\r\n s = s / LOG_BASE | 0;\r\n }\r\n\r\n // Result exponent may be one less then the current value of e.\r\n // The coefficients of the BigNumbers from convertBase may have trailing zeros.\r\n for (i = 0; yc[i] == (xc[i] || 0); i++);\r\n\r\n if (yc[i] > (xc[i] || 0)) e--;\r\n\r\n if (s < 0) {\r\n qc.push(1);\r\n more = true;\r\n } else {\r\n xL = xc.length;\r\n yL = yc.length;\r\n i = 0;\r\n s += 2;\r\n\r\n // Normalise xc and yc so highest order digit of yc is >= base / 2.\r\n\r\n n = mathfloor(base / (yc[0] + 1));\r\n\r\n // Not necessary, but to handle odd bases where yc[0] == (base / 2) - 1.\r\n // if (n > 1 || n++ == 1 && yc[0] < base / 2) {\r\n if (n > 1) {\r\n yc = multiply(yc, n, base);\r\n xc = multiply(xc, n, base);\r\n yL = yc.length;\r\n xL = xc.length;\r\n }\r\n\r\n xi = yL;\r\n rem = xc.slice(0, yL);\r\n remL = rem.length;\r\n\r\n // Add zeros to make remainder as long as divisor.\r\n for (; remL < yL; rem[remL++] = 0);\r\n yz = yc.slice();\r\n yz = [0].concat(yz);\r\n yc0 = yc[0];\r\n if (yc[1] >= base / 2) yc0++;\r\n // Not necessary, but to prevent trial digit n > base, when using base 3.\r\n // else if (base == 3 && yc0 == 1) yc0 = 1 + 1e-15;\r\n\r\n do {\r\n n = 0;\r\n\r\n // Compare divisor and remainder.\r\n cmp = compare(yc, rem, yL, remL);\r\n\r\n // If divisor < remainder.\r\n if (cmp < 0) {\r\n\r\n // Calculate trial digit, n.\r\n\r\n rem0 = rem[0];\r\n if (yL != remL) rem0 = rem0 * base + (rem[1] || 0);\r\n\r\n // n is how many times the divisor goes into the current remainder.\r\n n = mathfloor(rem0 / yc0);\r\n\r\n // Algorithm:\r\n // product = divisor multiplied by trial digit (n).\r\n // Compare product and remainder.\r\n // If product is greater than remainder:\r\n // Subtract divisor from product, decrement trial digit.\r\n // Subtract product from remainder.\r\n // If product was less than remainder at the last compare:\r\n // Compare new remainder and divisor.\r\n // If remainder is greater than divisor:\r\n // Subtract divisor from remainder, increment trial digit.\r\n\r\n if (n > 1) {\r\n\r\n // n may be > base only when base is 3.\r\n if (n >= base) n = base - 1;\r\n\r\n // product = divisor * trial digit.\r\n prod = multiply(yc, n, base);\r\n prodL = prod.length;\r\n remL = rem.length;\r\n\r\n // Compare product and remainder.\r\n // If product > remainder then trial digit n too high.\r\n // n is 1 too high about 5% of the time, and is not known to have\r\n // ever been more than 1 too high.\r\n while (compare(prod, rem, prodL, remL) == 1) {\r\n n--;\r\n\r\n // Subtract divisor from product.\r\n subtract(prod, yL < prodL ? yz : yc, prodL, base);\r\n prodL = prod.length;\r\n cmp = 1;\r\n }\r\n } else {\r\n\r\n // n is 0 or 1, cmp is -1.\r\n // If n is 0, there is no need to compare yc and rem again below,\r\n // so change cmp to 1 to avoid it.\r\n // If n is 1, leave cmp as -1, so yc and rem are compared again.\r\n if (n == 0) {\r\n\r\n // divisor < remainder, so n must be at least 1.\r\n cmp = n = 1;\r\n }\r\n\r\n // product = divisor\r\n prod = yc.slice();\r\n prodL = prod.length;\r\n }\r\n\r\n if (prodL < remL) prod = [0].concat(prod);\r\n\r\n // Subtract product from remainder.\r\n subtract(rem, prod, remL, base);\r\n remL = rem.length;\r\n\r\n // If product was < remainder.\r\n if (cmp == -1) {\r\n\r\n // Compare divisor and new remainder.\r\n // If divisor < new remainder, subtract divisor from remainder.\r\n // Trial digit n too low.\r\n // n is 1 too low about 5% of the time, and very rarely 2 too low.\r\n while (compare(yc, rem, yL, remL) < 1) {\r\n n++;\r\n\r\n // Subtract divisor from remainder.\r\n subtract(rem, yL < remL ? yz : yc, remL, base);\r\n remL = rem.length;\r\n }\r\n }\r\n } else if (cmp === 0) {\r\n n++;\r\n rem = [0];\r\n } // else cmp === 1 and n will be 0\r\n\r\n // Add the next digit, n, to the result array.\r\n qc[i++] = n;\r\n\r\n // Update the remainder.\r\n if (rem[0]) {\r\n rem[remL++] = xc[xi] || 0;\r\n } else {\r\n rem = [xc[xi]];\r\n remL = 1;\r\n }\r\n } while ((xi++ < xL || rem[0] != null) && s--);\r\n\r\n more = rem[0] != null;\r\n\r\n // Leading zero?\r\n if (!qc[0]) qc.splice(0, 1);\r\n }\r\n\r\n if (base == BASE) {\r\n\r\n // To calculate q.e, first get the number of digits of qc[0].\r\n for (i = 1, s = qc[0]; s >= 10; s /= 10, i++);\r\n\r\n round(q, dp + (q.e = i + e * LOG_BASE - 1) + 1, rm, more);\r\n\r\n // Caller is convertBase.\r\n } else {\r\n q.e = e;\r\n q.r = +more;\r\n }\r\n\r\n return q;\r\n };\r\n })();\r\n\r\n\r\n /*\r\n * Return a string representing the value of BigNumber n in fixed-point or exponential\r\n * notation rounded to the specified decimal places or significant digits.\r\n *\r\n * n: a BigNumber.\r\n * i: the index of the last digit required (i.e. the digit that may be rounded up).\r\n * rm: the rounding mode.\r\n * id: 1 (toExponential) or 2 (toPrecision).\r\n */\r\n function format(n, i, rm, id) {\r\n var c0, e, ne, len, str;\r\n\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n\r\n if (!n.c) return n.toString();\r\n\r\n c0 = n.c[0];\r\n ne = n.e;\r\n\r\n if (i == null) {\r\n str = coeffToString(n.c);\r\n str = id == 1 || id == 2 && (ne <= TO_EXP_NEG || ne >= TO_EXP_POS)\r\n ? toExponential(str, ne)\r\n : toFixedPoint(str, ne, '0');\r\n } else {\r\n n = round(new BigNumber(n), i, rm);\r\n\r\n // n.e may have changed if the value was rounded up.\r\n e = n.e;\r\n\r\n str = coeffToString(n.c);\r\n len = str.length;\r\n\r\n // toPrecision returns exponential notation if the number of significant digits\r\n // specified is less than the number of digits necessary to represent the integer\r\n // part of the value in fixed-point notation.\r\n\r\n // Exponential notation.\r\n if (id == 1 || id == 2 && (i <= e || e <= TO_EXP_NEG)) {\r\n\r\n // Append zeros?\r\n for (; len < i; str += '0', len++);\r\n str = toExponential(str, e);\r\n\r\n // Fixed-point notation.\r\n } else {\r\n i -= ne;\r\n str = toFixedPoint(str, e, '0');\r\n\r\n // Append zeros?\r\n if (e + 1 > len) {\r\n if (--i > 0) for (str += '.'; i--; str += '0');\r\n } else {\r\n i += e - len;\r\n if (i > 0) {\r\n if (e + 1 == len) str += '.';\r\n for (; i--; str += '0');\r\n }\r\n }\r\n }\r\n }\r\n\r\n return n.s < 0 && c0 ? '-' + str : str;\r\n }\r\n\r\n\r\n // Handle BigNumber.max and BigNumber.min.\r\n // If any number is NaN, return NaN.\r\n function maxOrMin(args, n) {\r\n var k, y,\r\n i = 1,\r\n x = new BigNumber(args[0]);\r\n\r\n for (; i < args.length; i++) {\r\n y = new BigNumber(args[i]);\r\n if (!y.s || (k = compare(x, y)) === n || k === 0 && x.s === n) {\r\n x = y;\r\n }\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * Strip trailing zeros, calculate base 10 exponent and check against MIN_EXP and MAX_EXP.\r\n * Called by minus, plus and times.\r\n */\r\n function normalise(n, c, e) {\r\n var i = 1,\r\n j = c.length;\r\n\r\n // Remove trailing zeros.\r\n for (; !c[--j]; c.pop());\r\n\r\n // Calculate the base 10 exponent. First get the number of digits of c[0].\r\n for (j = c[0]; j >= 10; j /= 10, i++);\r\n\r\n // Overflow?\r\n if ((e = i + e * LOG_BASE - 1) > MAX_EXP) {\r\n\r\n // Infinity.\r\n n.c = n.e = null;\r\n\r\n // Underflow?\r\n } else if (e < MIN_EXP) {\r\n\r\n // Zero.\r\n n.c = [n.e = 0];\r\n } else {\r\n n.e = e;\r\n n.c = c;\r\n }\r\n\r\n return n;\r\n }\r\n\r\n\r\n // Handle values that fail the validity test in BigNumber.\r\n parseNumeric = (function () {\r\n var basePrefix = /^(-?)0([xbo])(?=\\w[\\w.]*$)/i,\r\n dotAfter = /^([^.]+)\\.$/,\r\n dotBefore = /^\\.([^.]+)$/,\r\n isInfinityOrNaN = /^-?(Infinity|NaN)$/,\r\n whitespaceOrPlus = /^\\s*\\+(?=[\\w.])|^\\s+|\\s+$/g;\r\n\r\n return function (x, str, isNum, b) {\r\n var base,\r\n s = isNum ? str : str.replace(whitespaceOrPlus, '');\r\n\r\n // No exception on ±Infinity or NaN.\r\n if (isInfinityOrNaN.test(s)) {\r\n x.s = isNaN(s) ? null : s < 0 ? -1 : 1;\r\n } else {\r\n if (!isNum) {\r\n\r\n // basePrefix = /^(-?)0([xbo])(?=\\w[\\w.]*$)/i\r\n s = s.replace(basePrefix, function (m, p1, p2) {\r\n base = (p2 = p2.toLowerCase()) == 'x' ? 16 : p2 == 'b' ? 2 : 8;\r\n return !b || b == base ? p1 : m;\r\n });\r\n\r\n if (b) {\r\n base = b;\r\n\r\n // E.g. '1.' to '1', '.1' to '0.1'\r\n s = s.replace(dotAfter, '$1').replace(dotBefore, '0.$1');\r\n }\r\n\r\n if (str != s) return new BigNumber(s, base);\r\n }\r\n\r\n // '[BigNumber Error] Not a number: {n}'\r\n // '[BigNumber Error] Not a base {b} number: {n}'\r\n if (BigNumber.DEBUG) {\r\n throw Error\r\n (bignumberError + 'Not a' + (b ? ' base ' + b : '') + ' number: ' + str);\r\n }\r\n\r\n // NaN\r\n x.s = null;\r\n }\r\n\r\n x.c = x.e = null;\r\n }\r\n })();\r\n\r\n\r\n /*\r\n * Round x to sd significant digits using rounding mode rm. Check for over/under-flow.\r\n * If r is truthy, it is known that there are more digits after the rounding digit.\r\n */\r\n function round(x, sd, rm, r) {\r\n var d, i, j, k, n, ni, rd,\r\n xc = x.c,\r\n pows10 = POWS_TEN;\r\n\r\n // if x is not Infinity or NaN...\r\n if (xc) {\r\n\r\n // rd is the rounding digit, i.e. the digit after the digit that may be rounded up.\r\n // n is a base 1e14 number, the value of the element of array x.c containing rd.\r\n // ni is the index of n within x.c.\r\n // d is the number of digits of n.\r\n // i is the index of rd within n including leading zeros.\r\n // j is the actual index of rd within n (if < 0, rd is a leading zero).\r\n out: {\r\n\r\n // Get the number of digits of the first element of xc.\r\n for (d = 1, k = xc[0]; k >= 10; k /= 10, d++);\r\n i = sd - d;\r\n\r\n // If the rounding digit is in the first element of xc...\r\n if (i < 0) {\r\n i += LOG_BASE;\r\n j = sd;\r\n n = xc[ni = 0];\r\n\r\n // Get the rounding digit at index j of n.\r\n rd = mathfloor(n / pows10[d - j - 1] % 10);\r\n } else {\r\n ni = mathceil((i + 1) / LOG_BASE);\r\n\r\n if (ni >= xc.length) {\r\n\r\n if (r) {\r\n\r\n // Needed by sqrt.\r\n for (; xc.length <= ni; xc.push(0));\r\n n = rd = 0;\r\n d = 1;\r\n i %= LOG_BASE;\r\n j = i - LOG_BASE + 1;\r\n } else {\r\n break out;\r\n }\r\n } else {\r\n n = k = xc[ni];\r\n\r\n // Get the number of digits of n.\r\n for (d = 1; k >= 10; k /= 10, d++);\r\n\r\n // Get the index of rd within n.\r\n i %= LOG_BASE;\r\n\r\n // Get the index of rd within n, adjusted for leading zeros.\r\n // The number of leading zeros of n is given by LOG_BASE - d.\r\n j = i - LOG_BASE + d;\r\n\r\n // Get the rounding digit at index j of n.\r\n rd = j < 0 ? 0 : mathfloor(n / pows10[d - j - 1] % 10);\r\n }\r\n }\r\n\r\n r = r || sd < 0 ||\r\n\r\n // Are there any non-zero digits after the rounding digit?\r\n // The expression n % pows10[d - j - 1] returns all digits of n to the right\r\n // of the digit at j, e.g. if n is 908714 and j is 2, the expression gives 714.\r\n xc[ni + 1] != null || (j < 0 ? n : n % pows10[d - j - 1]);\r\n\r\n r = rm < 4\r\n ? (rd || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n : rd > 5 || rd == 5 && (rm == 4 || r || rm == 6 &&\r\n\r\n // Check whether the digit to the left of the rounding digit is odd.\r\n ((i > 0 ? j > 0 ? n / pows10[d - j] : 0 : xc[ni - 1]) % 10) & 1 ||\r\n rm == (x.s < 0 ? 8 : 7));\r\n\r\n if (sd < 1 || !xc[0]) {\r\n xc.length = 0;\r\n\r\n if (r) {\r\n\r\n // Convert sd to decimal places.\r\n sd -= x.e + 1;\r\n\r\n // 1, 0.1, 0.01, 0.001, 0.0001 etc.\r\n xc[0] = pows10[(LOG_BASE - sd % LOG_BASE) % LOG_BASE];\r\n x.e = -sd || 0;\r\n } else {\r\n\r\n // Zero.\r\n xc[0] = x.e = 0;\r\n }\r\n\r\n return x;\r\n }\r\n\r\n // Remove excess digits.\r\n if (i == 0) {\r\n xc.length = ni;\r\n k = 1;\r\n ni--;\r\n } else {\r\n xc.length = ni + 1;\r\n k = pows10[LOG_BASE - i];\r\n\r\n // E.g. 56700 becomes 56000 if 7 is the rounding digit.\r\n // j > 0 means i > number of leading zeros of n.\r\n xc[ni] = j > 0 ? mathfloor(n / pows10[d - j] % pows10[j]) * k : 0;\r\n }\r\n\r\n // Round up?\r\n if (r) {\r\n\r\n for (; ;) {\r\n\r\n // If the digit to be rounded up is in the first element of xc...\r\n if (ni == 0) {\r\n\r\n // i will be the length of xc[0] before k is added.\r\n for (i = 1, j = xc[0]; j >= 10; j /= 10, i++);\r\n j = xc[0] += k;\r\n for (k = 1; j >= 10; j /= 10, k++);\r\n\r\n // if i != k the length has increased.\r\n if (i != k) {\r\n x.e++;\r\n if (xc[0] == BASE) xc[0] = 1;\r\n }\r\n\r\n break;\r\n } else {\r\n xc[ni] += k;\r\n if (xc[ni] != BASE) break;\r\n xc[ni--] = 0;\r\n k = 1;\r\n }\r\n }\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (i = xc.length; xc[--i] === 0; xc.pop());\r\n }\r\n\r\n // Overflow? Infinity.\r\n if (x.e > MAX_EXP) {\r\n x.c = x.e = null;\r\n\r\n // Underflow? Zero.\r\n } else if (x.e < MIN_EXP) {\r\n x.c = [x.e = 0];\r\n }\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n function valueOf(n) {\r\n var str,\r\n e = n.e;\r\n\r\n if (e === null) return n.toString();\r\n\r\n str = coeffToString(n.c);\r\n\r\n str = e <= TO_EXP_NEG || e >= TO_EXP_POS\r\n ? toExponential(str, e)\r\n : toFixedPoint(str, e, '0');\r\n\r\n return n.s < 0 ? '-' + str : str;\r\n }\r\n\r\n\r\n // PROTOTYPE/INSTANCE METHODS\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the absolute value of this BigNumber.\r\n */\r\n P.absoluteValue = P.abs = function () {\r\n var x = new BigNumber(this);\r\n if (x.s < 0) x.s = 1;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * Return\r\n * 1 if the value of this BigNumber is greater than the value of BigNumber(y, b),\r\n * -1 if the value of this BigNumber is less than the value of BigNumber(y, b),\r\n * 0 if they have the same value,\r\n * or null if the value of either is NaN.\r\n */\r\n P.comparedTo = function (y, b) {\r\n return compare(this, new BigNumber(y, b));\r\n };\r\n\r\n\r\n /*\r\n * If dp is undefined or null or true or false, return the number of decimal places of the\r\n * value of this BigNumber, or null if the value of this BigNumber is ±Infinity or NaN.\r\n *\r\n * Otherwise, if dp is a number, return a new BigNumber whose value is the value of this\r\n * BigNumber rounded to a maximum of dp decimal places using rounding mode rm, or\r\n * ROUNDING_MODE if rm is omitted.\r\n *\r\n * [dp] {number} Decimal places: integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\r\n P.decimalPlaces = P.dp = function (dp, rm) {\r\n var c, n, v,\r\n x = this;\r\n\r\n if (dp != null) {\r\n intCheck(dp, 0, MAX);\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n\r\n return round(new BigNumber(x), dp + x.e + 1, rm);\r\n }\r\n\r\n if (!(c = x.c)) return null;\r\n n = ((v = c.length - 1) - bitFloor(this.e / LOG_BASE)) * LOG_BASE;\r\n\r\n // Subtract the number of trailing zeros of the last number.\r\n if (v = c[v]) for (; v % 10 == 0; v /= 10, n--);\r\n if (n < 0) n = 0;\r\n\r\n return n;\r\n };\r\n\r\n\r\n /*\r\n * n / 0 = I\r\n * n / N = N\r\n * n / I = 0\r\n * 0 / n = 0\r\n * 0 / 0 = N\r\n * 0 / N = N\r\n * 0 / I = 0\r\n * N / n = N\r\n * N / 0 = N\r\n * N / N = N\r\n * N / I = N\r\n * I / n = I\r\n * I / 0 = I\r\n * I / N = N\r\n * I / I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber divided by the value of\r\n * BigNumber(y, b), rounded according to DECIMAL_PLACES and ROUNDING_MODE.\r\n */\r\n P.dividedBy = P.div = function (y, b) {\r\n return div(this, new BigNumber(y, b), DECIMAL_PLACES, ROUNDING_MODE);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the integer part of dividing the value of this\r\n * BigNumber by the value of BigNumber(y, b).\r\n */\r\n P.dividedToIntegerBy = P.idiv = function (y, b) {\r\n return div(this, new BigNumber(y, b), 0, 1);\r\n };\r\n\r\n\r\n /*\r\n * Return a BigNumber whose value is the value of this BigNumber exponentiated by n.\r\n *\r\n * If m is present, return the result modulo m.\r\n * If n is negative round according to DECIMAL_PLACES and ROUNDING_MODE.\r\n * If POW_PRECISION is non-zero and m is not present, round to POW_PRECISION using ROUNDING_MODE.\r\n *\r\n * The modular power operation works efficiently when x, n, and m are integers, otherwise it\r\n * is equivalent to calculating x.exponentiatedBy(n).modulo(m) with a POW_PRECISION of 0.\r\n *\r\n * n {number|string|BigNumber} The exponent. An integer.\r\n * [m] {number|string|BigNumber} The modulus.\r\n *\r\n * '[BigNumber Error] Exponent not an integer: {n}'\r\n */\r\n P.exponentiatedBy = P.pow = function (n, m) {\r\n var half, isModExp, i, k, more, nIsBig, nIsNeg, nIsOdd, y,\r\n x = this;\r\n\r\n n = new BigNumber(n);\r\n\r\n // Allow NaN and ±Infinity, but not other non-integers.\r\n if (n.c && !n.isInteger()) {\r\n throw Error\r\n (bignumberError + 'Exponent not an integer: ' + valueOf(n));\r\n }\r\n\r\n if (m != null) m = new BigNumber(m);\r\n\r\n // Exponent of MAX_SAFE_INTEGER is 15.\r\n nIsBig = n.e > 14;\r\n\r\n // If x is NaN, ±Infinity, ±0 or ±1, or n is ±Infinity, NaN or ±0.\r\n if (!x.c || !x.c[0] || x.c[0] == 1 && !x.e && x.c.length == 1 || !n.c || !n.c[0]) {\r\n\r\n // The sign of the result of pow when x is negative depends on the evenness of n.\r\n // If +n overflows to ±Infinity, the evenness of n would be not be known.\r\n y = new BigNumber(Math.pow(+valueOf(x), nIsBig ? n.s * (2 - isOdd(n)) : +valueOf(n)));\r\n return m ? y.mod(m) : y;\r\n }\r\n\r\n nIsNeg = n.s < 0;\r\n\r\n if (m) {\r\n\r\n // x % m returns NaN if abs(m) is zero, or m is NaN.\r\n if (m.c ? !m.c[0] : !m.s) return new BigNumber(NaN);\r\n\r\n isModExp = !nIsNeg && x.isInteger() && m.isInteger();\r\n\r\n if (isModExp) x = x.mod(m);\r\n\r\n // Overflow to ±Infinity: >=2**1e10 or >=1.0000024**1e15.\r\n // Underflow to ±0: <=0.79**1e10 or <=0.9999975**1e15.\r\n } else if (n.e > 9 && (x.e > 0 || x.e < -1 || (x.e == 0\r\n // [1, 240000000]\r\n ? x.c[0] > 1 || nIsBig && x.c[1] >= 24e7\r\n // [80000000000000] [99999750000000]\r\n : x.c[0] < 8e13 || nIsBig && x.c[0] <= 9999975e7))) {\r\n\r\n // If x is negative and n is odd, k = -0, else k = 0.\r\n k = x.s < 0 && isOdd(n) ? -0 : 0;\r\n\r\n // If x >= 1, k = ±Infinity.\r\n if (x.e > -1) k = 1 / k;\r\n\r\n // If n is negative return ±0, else return ±Infinity.\r\n return new BigNumber(nIsNeg ? 1 / k : k);\r\n\r\n } else if (POW_PRECISION) {\r\n\r\n // Truncating each coefficient array to a length of k after each multiplication\r\n // equates to truncating significant digits to POW_PRECISION + [28, 41],\r\n // i.e. there will be a minimum of 28 guard digits retained.\r\n k = mathceil(POW_PRECISION / LOG_BASE + 2);\r\n }\r\n\r\n if (nIsBig) {\r\n half = new BigNumber(0.5);\r\n if (nIsNeg) n.s = 1;\r\n nIsOdd = isOdd(n);\r\n } else {\r\n i = Math.abs(+valueOf(n));\r\n nIsOdd = i % 2;\r\n }\r\n\r\n y = new BigNumber(ONE);\r\n\r\n // Performs 54 loop iterations for n of 9007199254740991.\r\n for (; ;) {\r\n\r\n if (nIsOdd) {\r\n y = y.times(x);\r\n if (!y.c) break;\r\n\r\n if (k) {\r\n if (y.c.length > k) y.c.length = k;\r\n } else if (isModExp) {\r\n y = y.mod(m); //y = y.minus(div(y, m, 0, MODULO_MODE).times(m));\r\n }\r\n }\r\n\r\n if (i) {\r\n i = mathfloor(i / 2);\r\n if (i === 0) break;\r\n nIsOdd = i % 2;\r\n } else {\r\n n = n.times(half);\r\n round(n, n.e + 1, 1);\r\n\r\n if (n.e > 14) {\r\n nIsOdd = isOdd(n);\r\n } else {\r\n i = +valueOf(n);\r\n if (i === 0) break;\r\n nIsOdd = i % 2;\r\n }\r\n }\r\n\r\n x = x.times(x);\r\n\r\n if (k) {\r\n if (x.c && x.c.length > k) x.c.length = k;\r\n } else if (isModExp) {\r\n x = x.mod(m); //x = x.minus(div(x, m, 0, MODULO_MODE).times(m));\r\n }\r\n }\r\n\r\n if (isModExp) return y;\r\n if (nIsNeg) y = ONE.div(y);\r\n\r\n return m ? y.mod(m) : k ? round(y, POW_PRECISION, ROUNDING_MODE, more) : y;\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber rounded to an integer\r\n * using rounding mode rm, or ROUNDING_MODE if rm is omitted.\r\n *\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {rm}'\r\n */\r\n P.integerValue = function (rm) {\r\n var n = new BigNumber(this);\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n return round(n, n.e + 1, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is equal to the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\r\n P.isEqualTo = P.eq = function (y, b) {\r\n return compare(this, new BigNumber(y, b)) === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is a finite number, otherwise return false.\r\n */\r\n P.isFinite = function () {\r\n return !!this.c;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is greater than the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\r\n P.isGreaterThan = P.gt = function (y, b) {\r\n return compare(this, new BigNumber(y, b)) > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is greater than or equal to the value of\r\n * BigNumber(y, b), otherwise return false.\r\n */\r\n P.isGreaterThanOrEqualTo = P.gte = function (y, b) {\r\n return (b = compare(this, new BigNumber(y, b))) === 1 || b === 0;\r\n\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is an integer, otherwise return false.\r\n */\r\n P.isInteger = function () {\r\n return !!this.c && bitFloor(this.e / LOG_BASE) > this.c.length - 2;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is less than the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\r\n P.isLessThan = P.lt = function (y, b) {\r\n return compare(this, new BigNumber(y, b)) < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is less than or equal to the value of\r\n * BigNumber(y, b), otherwise return false.\r\n */\r\n P.isLessThanOrEqualTo = P.lte = function (y, b) {\r\n return (b = compare(this, new BigNumber(y, b))) === -1 || b === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is NaN, otherwise return false.\r\n */\r\n P.isNaN = function () {\r\n return !this.s;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is negative, otherwise return false.\r\n */\r\n P.isNegative = function () {\r\n return this.s < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is positive, otherwise return false.\r\n */\r\n P.isPositive = function () {\r\n return this.s > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is 0 or -0, otherwise return false.\r\n */\r\n P.isZero = function () {\r\n return !!this.c && this.c[0] == 0;\r\n };\r\n\r\n\r\n /*\r\n * n - 0 = n\r\n * n - N = N\r\n * n - I = -I\r\n * 0 - n = -n\r\n * 0 - 0 = 0\r\n * 0 - N = N\r\n * 0 - I = -I\r\n * N - n = N\r\n * N - 0 = N\r\n * N - N = N\r\n * N - I = N\r\n * I - n = I\r\n * I - 0 = I\r\n * I - N = N\r\n * I - I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber minus the value of\r\n * BigNumber(y, b).\r\n */\r\n P.minus = function (y, b) {\r\n var i, j, t, xLTy,\r\n x = this,\r\n a = x.s;\r\n\r\n y = new BigNumber(y, b);\r\n b = y.s;\r\n\r\n // Either NaN?\r\n if (!a || !b) return new BigNumber(NaN);\r\n\r\n // Signs differ?\r\n if (a != b) {\r\n y.s = -b;\r\n return x.plus(y);\r\n }\r\n\r\n var xe = x.e / LOG_BASE,\r\n ye = y.e / LOG_BASE,\r\n xc = x.c,\r\n yc = y.c;\r\n\r\n if (!xe || !ye) {\r\n\r\n // Either Infinity?\r\n if (!xc || !yc) return xc ? (y.s = -b, y) : new BigNumber(yc ? x : NaN);\r\n\r\n // Either zero?\r\n if (!xc[0] || !yc[0]) {\r\n\r\n // Return y if y is non-zero, x if x is non-zero, or zero if both are zero.\r\n return yc[0] ? (y.s = -b, y) : new BigNumber(xc[0] ? x :\r\n\r\n // IEEE 754 (2008) 6.3: n - n = -0 when rounding to -Infinity\r\n ROUNDING_MODE == 3 ? -0 : 0);\r\n }\r\n }\r\n\r\n xe = bitFloor(xe);\r\n ye = bitFloor(ye);\r\n xc = xc.slice();\r\n\r\n // Determine which is the bigger number.\r\n if (a = xe - ye) {\r\n\r\n if (xLTy = a < 0) {\r\n a = -a;\r\n t = xc;\r\n } else {\r\n ye = xe;\r\n t = yc;\r\n }\r\n\r\n t.reverse();\r\n\r\n // Prepend zeros to equalise exponents.\r\n for (b = a; b--; t.push(0));\r\n t.reverse();\r\n } else {\r\n\r\n // Exponents equal. Check digit by digit.\r\n j = (xLTy = (a = xc.length) < (b = yc.length)) ? a : b;\r\n\r\n for (a = b = 0; b < j; b++) {\r\n\r\n if (xc[b] != yc[b]) {\r\n xLTy = xc[b] < yc[b];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // x < y? Point xc to the array of the bigger number.\r\n if (xLTy) {\r\n t = xc;\r\n xc = yc;\r\n yc = t;\r\n y.s = -y.s;\r\n }\r\n\r\n b = (j = yc.length) - (i = xc.length);\r\n\r\n // Append zeros to xc if shorter.\r\n // No need to add zeros to yc if shorter as subtract only needs to start at yc.length.\r\n if (b > 0) for (; b--; xc[i++] = 0);\r\n b = BASE - 1;\r\n\r\n // Subtract yc from xc.\r\n for (; j > a;) {\r\n\r\n if (xc[--j] < yc[j]) {\r\n for (i = j; i && !xc[--i]; xc[i] = b);\r\n --xc[i];\r\n xc[j] += BASE;\r\n }\r\n\r\n xc[j] -= yc[j];\r\n }\r\n\r\n // Remove leading zeros and adjust exponent accordingly.\r\n for (; xc[0] == 0; xc.splice(0, 1), --ye);\r\n\r\n // Zero?\r\n if (!xc[0]) {\r\n\r\n // Following IEEE 754 (2008) 6.3,\r\n // n - n = +0 but n - n = -0 when rounding towards -Infinity.\r\n y.s = ROUNDING_MODE == 3 ? -1 : 1;\r\n y.c = [y.e = 0];\r\n return y;\r\n }\r\n\r\n // No need to check for Infinity as +x - +y != Infinity && -x - -y != Infinity\r\n // for finite x and y.\r\n return normalise(y, xc, ye);\r\n };\r\n\r\n\r\n /*\r\n * n % 0 = N\r\n * n % N = N\r\n * n % I = n\r\n * 0 % n = 0\r\n * -0 % n = -0\r\n * 0 % 0 = N\r\n * 0 % N = N\r\n * 0 % I = 0\r\n * N % n = N\r\n * N % 0 = N\r\n * N % N = N\r\n * N % I = N\r\n * I % n = N\r\n * I % 0 = N\r\n * I % N = N\r\n * I % I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber modulo the value of\r\n * BigNumber(y, b). The result depends on the value of MODULO_MODE.\r\n */\r\n P.modulo = P.mod = function (y, b) {\r\n var q, s,\r\n x = this;\r\n\r\n y = new BigNumber(y, b);\r\n\r\n // Return NaN if x is Infinity or NaN, or y is NaN or zero.\r\n if (!x.c || !y.s || y.c && !y.c[0]) {\r\n return new BigNumber(NaN);\r\n\r\n // Return x if y is Infinity or x is zero.\r\n } else if (!y.c || x.c && !x.c[0]) {\r\n return new BigNumber(x);\r\n }\r\n\r\n if (MODULO_MODE == 9) {\r\n\r\n // Euclidian division: q = sign(y) * floor(x / abs(y))\r\n // r = x - qy where 0 <= r < abs(y)\r\n s = y.s;\r\n y.s = 1;\r\n q = div(x, y, 0, 3);\r\n y.s = s;\r\n q.s *= s;\r\n } else {\r\n q = div(x, y, 0, MODULO_MODE);\r\n }\r\n\r\n y = x.minus(q.times(y));\r\n\r\n // To match JavaScript %, ensure sign of zero is sign of dividend.\r\n if (!y.c[0] && MODULO_MODE == 1) y.s = x.s;\r\n\r\n return y;\r\n };\r\n\r\n\r\n /*\r\n * n * 0 = 0\r\n * n * N = N\r\n * n * I = I\r\n * 0 * n = 0\r\n * 0 * 0 = 0\r\n * 0 * N = N\r\n * 0 * I = N\r\n * N * n = N\r\n * N * 0 = N\r\n * N * N = N\r\n * N * I = N\r\n * I * n = I\r\n * I * 0 = N\r\n * I * N = N\r\n * I * I = I\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber multiplied by the value\r\n * of BigNumber(y, b).\r\n */\r\n P.multipliedBy = P.times = function (y, b) {\r\n var c, e, i, j, k, m, xcL, xlo, xhi, ycL, ylo, yhi, zc,\r\n base, sqrtBase,\r\n x = this,\r\n xc = x.c,\r\n yc = (y = new BigNumber(y, b)).c;\r\n\r\n // Either NaN, ±Infinity or ±0?\r\n if (!xc || !yc || !xc[0] || !yc[0]) {\r\n\r\n // Return NaN if either is NaN, or one is 0 and the other is Infinity.\r\n if (!x.s || !y.s || xc && !xc[0] && !yc || yc && !yc[0] && !xc) {\r\n y.c = y.e = y.s = null;\r\n } else {\r\n y.s *= x.s;\r\n\r\n // Return ±Infinity if either is ±Infinity.\r\n if (!xc || !yc) {\r\n y.c = y.e = null;\r\n\r\n // Return ±0 if either is ±0.\r\n } else {\r\n y.c = [0];\r\n y.e = 0;\r\n }\r\n }\r\n\r\n return y;\r\n }\r\n\r\n e = bitFloor(x.e / LOG_BASE) + bitFloor(y.e / LOG_BASE);\r\n y.s *= x.s;\r\n xcL = xc.length;\r\n ycL = yc.length;\r\n\r\n // Ensure xc points to longer array and xcL to its length.\r\n if (xcL < ycL) {\r\n zc = xc;\r\n xc = yc;\r\n yc = zc;\r\n i = xcL;\r\n xcL = ycL;\r\n ycL = i;\r\n }\r\n\r\n // Initialise the result array with zeros.\r\n for (i = xcL + ycL, zc = []; i--; zc.push(0));\r\n\r\n base = BASE;\r\n sqrtBase = SQRT_BASE;\r\n\r\n for (i = ycL; --i >= 0;) {\r\n c = 0;\r\n ylo = yc[i] % sqrtBase;\r\n yhi = yc[i] / sqrtBase | 0;\r\n\r\n for (k = xcL, j = i + k; j > i;) {\r\n xlo = xc[--k] % sqrtBase;\r\n xhi = xc[k] / sqrtBase | 0;\r\n m = yhi * xlo + xhi * ylo;\r\n xlo = ylo * xlo + ((m % sqrtBase) * sqrtBase) + zc[j] + c;\r\n c = (xlo / base | 0) + (m / sqrtBase | 0) + yhi * xhi;\r\n zc[j--] = xlo % base;\r\n }\r\n\r\n zc[j] = c;\r\n }\r\n\r\n if (c) {\r\n ++e;\r\n } else {\r\n zc.splice(0, 1);\r\n }\r\n\r\n return normalise(y, zc, e);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber negated,\r\n * i.e. multiplied by -1.\r\n */\r\n P.negated = function () {\r\n var x = new BigNumber(this);\r\n x.s = -x.s || null;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * n + 0 = n\r\n * n + N = N\r\n * n + I = I\r\n * 0 + n = n\r\n * 0 + 0 = 0\r\n * 0 + N = N\r\n * 0 + I = I\r\n * N + n = N\r\n * N + 0 = N\r\n * N + N = N\r\n * N + I = N\r\n * I + n = I\r\n * I + 0 = I\r\n * I + N = N\r\n * I + I = I\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber plus the value of\r\n * BigNumber(y, b).\r\n */\r\n P.plus = function (y, b) {\r\n var t,\r\n x = this,\r\n a = x.s;\r\n\r\n y = new BigNumber(y, b);\r\n b = y.s;\r\n\r\n // Either NaN?\r\n if (!a || !b) return new BigNumber(NaN);\r\n\r\n // Signs differ?\r\n if (a != b) {\r\n y.s = -b;\r\n return x.minus(y);\r\n }\r\n\r\n var xe = x.e / LOG_BASE,\r\n ye = y.e / LOG_BASE,\r\n xc = x.c,\r\n yc = y.c;\r\n\r\n if (!xe || !ye) {\r\n\r\n // Return ±Infinity if either ±Infinity.\r\n if (!xc || !yc) return new BigNumber(a / 0);\r\n\r\n // Either zero?\r\n // Return y if y is non-zero, x if x is non-zero, or zero if both are zero.\r\n if (!xc[0] || !yc[0]) return yc[0] ? y : new BigNumber(xc[0] ? x : a * 0);\r\n }\r\n\r\n xe = bitFloor(xe);\r\n ye = bitFloor(ye);\r\n xc = xc.slice();\r\n\r\n // Prepend zeros to equalise exponents. Faster to use reverse then do unshifts.\r\n if (a = xe - ye) {\r\n if (a > 0) {\r\n ye = xe;\r\n t = yc;\r\n } else {\r\n a = -a;\r\n t = xc;\r\n }\r\n\r\n t.reverse();\r\n for (; a--; t.push(0));\r\n t.reverse();\r\n }\r\n\r\n a = xc.length;\r\n b = yc.length;\r\n\r\n // Point xc to the longer array, and b to the shorter length.\r\n if (a - b < 0) {\r\n t = yc;\r\n yc = xc;\r\n xc = t;\r\n b = a;\r\n }\r\n\r\n // Only start adding at yc.length - 1 as the further digits of xc can be ignored.\r\n for (a = 0; b;) {\r\n a = (xc[--b] = xc[b] + yc[b] + a) / BASE | 0;\r\n xc[b] = BASE === xc[b] ? 0 : xc[b] % BASE;\r\n }\r\n\r\n if (a) {\r\n xc = [a].concat(xc);\r\n ++ye;\r\n }\r\n\r\n // No need to check for zero, as +x + +y != 0 && -x + -y != 0\r\n // ye = MAX_EXP + 1 possible\r\n return normalise(y, xc, ye);\r\n };\r\n\r\n\r\n /*\r\n * If sd is undefined or null or true or false, return the number of significant digits of\r\n * the value of this BigNumber, or null if the value of this BigNumber is ±Infinity or NaN.\r\n * If sd is true include integer-part trailing zeros in the count.\r\n *\r\n * Otherwise, if sd is a number, return a new BigNumber whose value is the value of this\r\n * BigNumber rounded to a maximum of sd significant digits using rounding mode rm, or\r\n * ROUNDING_MODE if rm is omitted.\r\n *\r\n * sd {number|boolean} number: significant digits: integer, 1 to MAX inclusive.\r\n * boolean: whether to count integer-part trailing zeros: true or false.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {sd|rm}'\r\n */\r\n P.precision = P.sd = function (sd, rm) {\r\n var c, n, v,\r\n x = this;\r\n\r\n if (sd != null && sd !== !!sd) {\r\n intCheck(sd, 1, MAX);\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n\r\n return round(new BigNumber(x), sd, rm);\r\n }\r\n\r\n if (!(c = x.c)) return null;\r\n v = c.length - 1;\r\n n = v * LOG_BASE + 1;\r\n\r\n if (v = c[v]) {\r\n\r\n // Subtract the number of trailing zeros of the last element.\r\n for (; v % 10 == 0; v /= 10, n--);\r\n\r\n // Add the number of digits of the first element.\r\n for (v = c[0]; v >= 10; v /= 10, n++);\r\n }\r\n\r\n if (sd && x.e + 1 > n) n = x.e + 1;\r\n\r\n return n;\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber shifted by k places\r\n * (powers of 10). Shift to the right if n > 0, and to the left if n < 0.\r\n *\r\n * k {number} Integer, -MAX_SAFE_INTEGER to MAX_SAFE_INTEGER inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {k}'\r\n */\r\n P.shiftedBy = function (k) {\r\n intCheck(k, -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER);\r\n return this.times('1e' + k);\r\n };\r\n\r\n\r\n /*\r\n * sqrt(-n) = N\r\n * sqrt(N) = N\r\n * sqrt(-I) = N\r\n * sqrt(I) = I\r\n * sqrt(0) = 0\r\n * sqrt(-0) = -0\r\n *\r\n * Return a new BigNumber whose value is the square root of the value of this BigNumber,\r\n * rounded according to DECIMAL_PLACES and ROUNDING_MODE.\r\n */\r\n P.squareRoot = P.sqrt = function () {\r\n var m, n, r, rep, t,\r\n x = this,\r\n c = x.c,\r\n s = x.s,\r\n e = x.e,\r\n dp = DECIMAL_PLACES + 4,\r\n half = new BigNumber('0.5');\r\n\r\n // Negative/NaN/Infinity/zero?\r\n if (s !== 1 || !c || !c[0]) {\r\n return new BigNumber(!s || s < 0 && (!c || c[0]) ? NaN : c ? x : 1 / 0);\r\n }\r\n\r\n // Initial estimate.\r\n s = Math.sqrt(+valueOf(x));\r\n\r\n // Math.sqrt underflow/overflow?\r\n // Pass x to Math.sqrt as integer, then adjust the exponent of the result.\r\n if (s == 0 || s == 1 / 0) {\r\n n = coeffToString(c);\r\n if ((n.length + e) % 2 == 0) n += '0';\r\n s = Math.sqrt(+n);\r\n e = bitFloor((e + 1) / 2) - (e < 0 || e % 2);\r\n\r\n if (s == 1 / 0) {\r\n n = '5e' + e;\r\n } else {\r\n n = s.toExponential();\r\n n = n.slice(0, n.indexOf('e') + 1) + e;\r\n }\r\n\r\n r = new BigNumber(n);\r\n } else {\r\n r = new BigNumber(s + '');\r\n }\r\n\r\n // Check for zero.\r\n // r could be zero if MIN_EXP is changed after the this value was created.\r\n // This would cause a division by zero (x/t) and hence Infinity below, which would cause\r\n // coeffToString to throw.\r\n if (r.c[0]) {\r\n e = r.e;\r\n s = e + dp;\r\n if (s < 3) s = 0;\r\n\r\n // Newton-Raphson iteration.\r\n for (; ;) {\r\n t = r;\r\n r = half.times(t.plus(div(x, t, dp, 1)));\r\n\r\n if (coeffToString(t.c).slice(0, s) === (n = coeffToString(r.c)).slice(0, s)) {\r\n\r\n // The exponent of r may here be one less than the final result exponent,\r\n // e.g 0.0009999 (e-4) --> 0.001 (e-3), so adjust s so the rounding digits\r\n // are indexed correctly.\r\n if (r.e < e) --s;\r\n n = n.slice(s - 3, s + 1);\r\n\r\n // The 4th rounding digit may be in error by -1 so if the 4 rounding digits\r\n // are 9999 or 4999 (i.e. approaching a rounding boundary) continue the\r\n // iteration.\r\n if (n == '9999' || !rep && n == '4999') {\r\n\r\n // On the first iteration only, check to see if rounding up gives the\r\n // exact result as the nines may infinitely repeat.\r\n if (!rep) {\r\n round(t, t.e + DECIMAL_PLACES + 2, 0);\r\n\r\n if (t.times(t).eq(x)) {\r\n r = t;\r\n break;\r\n }\r\n }\r\n\r\n dp += 4;\r\n s += 4;\r\n rep = 1;\r\n } else {\r\n\r\n // If rounding digits are null, 0{0,4} or 50{0,3}, check for exact\r\n // result. If not, then there are further digits and m will be truthy.\r\n if (!+n || !+n.slice(1) && n.charAt(0) == '5') {\r\n\r\n // Truncate to the first rounding digit.\r\n round(r, r.e + DECIMAL_PLACES + 2, 1);\r\n m = !r.times(r).eq(x);\r\n }\r\n\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return round(r, r.e + DECIMAL_PLACES + 1, ROUNDING_MODE, m);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in exponential notation and\r\n * rounded using ROUNDING_MODE to dp fixed decimal places.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\r\n P.toExponential = function (dp, rm) {\r\n if (dp != null) {\r\n intCheck(dp, 0, MAX);\r\n dp++;\r\n }\r\n return format(this, dp, rm, 1);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in fixed-point notation rounding\r\n * to dp fixed decimal places using rounding mode rm, or ROUNDING_MODE if rm is omitted.\r\n *\r\n * Note: as with JavaScript's number type, (-0).toFixed(0) is '0',\r\n * but e.g. (-0.00001).toFixed(0) is '-0'.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\r\n P.toFixed = function (dp, rm) {\r\n if (dp != null) {\r\n intCheck(dp, 0, MAX);\r\n dp = dp + this.e + 1;\r\n }\r\n return format(this, dp, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in fixed-point notation rounded\r\n * using rm or ROUNDING_MODE to dp decimal places, and formatted according to the properties\r\n * of the format or FORMAT object (see BigNumber.set).\r\n *\r\n * The formatting object may contain some or all of the properties shown below.\r\n *\r\n * FORMAT = {\r\n * prefix: '',\r\n * groupSize: 3,\r\n * secondaryGroupSize: 0,\r\n * groupSeparator: ',',\r\n * decimalSeparator: '.',\r\n * fractionGroupSize: 0,\r\n * fractionGroupSeparator: '\\xA0', // non-breaking space\r\n * suffix: ''\r\n * };\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n * [format] {object} Formatting options. See FORMAT pbject above.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n * '[BigNumber Error] Argument not an object: {format}'\r\n */\r\n P.toFormat = function (dp, rm, format) {\r\n var str,\r\n x = this;\r\n\r\n if (format == null) {\r\n if (dp != null && rm && typeof rm == 'object') {\r\n format = rm;\r\n rm = null;\r\n } else if (dp && typeof dp == 'object') {\r\n format = dp;\r\n dp = rm = null;\r\n } else {\r\n format = FORMAT;\r\n }\r\n } else if (typeof format != 'object') {\r\n throw Error\r\n (bignumberError + 'Argument not an object: ' + format);\r\n }\r\n\r\n str = x.toFixed(dp, rm);\r\n\r\n if (x.c) {\r\n var i,\r\n arr = str.split('.'),\r\n g1 = +format.groupSize,\r\n g2 = +format.secondaryGroupSize,\r\n groupSeparator = format.groupSeparator || '',\r\n intPart = arr[0],\r\n fractionPart = arr[1],\r\n isNeg = x.s < 0,\r\n intDigits = isNeg ? intPart.slice(1) : intPart,\r\n len = intDigits.length;\r\n\r\n if (g2) {\r\n i = g1;\r\n g1 = g2;\r\n g2 = i;\r\n len -= i;\r\n }\r\n\r\n if (g1 > 0 && len > 0) {\r\n i = len % g1 || g1;\r\n intPart = intDigits.substr(0, i);\r\n for (; i < len; i += g1) intPart += groupSeparator + intDigits.substr(i, g1);\r\n if (g2 > 0) intPart += groupSeparator + intDigits.slice(i);\r\n if (isNeg) intPart = '-' + intPart;\r\n }\r\n\r\n str = fractionPart\r\n ? intPart + (format.decimalSeparator || '') + ((g2 = +format.fractionGroupSize)\r\n ? fractionPart.replace(new RegExp('\\\\d{' + g2 + '}\\\\B', 'g'),\r\n '$&' + (format.fractionGroupSeparator || ''))\r\n : fractionPart)\r\n : intPart;\r\n }\r\n\r\n return (format.prefix || '') + str + (format.suffix || '');\r\n };\r\n\r\n\r\n /*\r\n * Return an array of two BigNumbers representing the value of this BigNumber as a simple\r\n * fraction with an integer numerator and an integer denominator.\r\n * The denominator will be a positive non-zero value less than or equal to the specified\r\n * maximum denominator. If a maximum denominator is not specified, the denominator will be\r\n * the lowest value necessary to represent the number exactly.\r\n *\r\n * [md] {number|string|BigNumber} Integer >= 1, or Infinity. The maximum denominator.\r\n *\r\n * '[BigNumber Error] Argument {not an integer|out of range} : {md}'\r\n */\r\n P.toFraction = function (md) {\r\n var d, d0, d1, d2, e, exp, n, n0, n1, q, r, s,\r\n x = this,\r\n xc = x.c;\r\n\r\n if (md != null) {\r\n n = new BigNumber(md);\r\n\r\n // Throw if md is less than one or is not an integer, unless it is Infinity.\r\n if (!n.isInteger() && (n.c || n.s !== 1) || n.lt(ONE)) {\r\n throw Error\r\n (bignumberError + 'Argument ' +\r\n (n.isInteger() ? 'out of range: ' : 'not an integer: ') + valueOf(n));\r\n }\r\n }\r\n\r\n if (!xc) return new BigNumber(x);\r\n\r\n d = new BigNumber(ONE);\r\n n1 = d0 = new BigNumber(ONE);\r\n d1 = n0 = new BigNumber(ONE);\r\n s = coeffToString(xc);\r\n\r\n // Determine initial denominator.\r\n // d is a power of 10 and the minimum max denominator that specifies the value exactly.\r\n e = d.e = s.length - x.e - 1;\r\n d.c[0] = POWS_TEN[(exp = e % LOG_BASE) < 0 ? LOG_BASE + exp : exp];\r\n md = !md || n.comparedTo(d) > 0 ? (e > 0 ? d : n1) : n;\r\n\r\n exp = MAX_EXP;\r\n MAX_EXP = 1 / 0;\r\n n = new BigNumber(s);\r\n\r\n // n0 = d1 = 0\r\n n0.c[0] = 0;\r\n\r\n for (; ;) {\r\n q = div(n, d, 0, 1);\r\n d2 = d0.plus(q.times(d1));\r\n if (d2.comparedTo(md) == 1) break;\r\n d0 = d1;\r\n d1 = d2;\r\n n1 = n0.plus(q.times(d2 = n1));\r\n n0 = d2;\r\n d = n.minus(q.times(d2 = d));\r\n n = d2;\r\n }\r\n\r\n d2 = div(md.minus(d0), d1, 0, 1);\r\n n0 = n0.plus(d2.times(n1));\r\n d0 = d0.plus(d2.times(d1));\r\n n0.s = n1.s = x.s;\r\n e = e * 2;\r\n\r\n // Determine which fraction is closer to x, n0/d0 or n1/d1\r\n r = div(n1, d1, e, ROUNDING_MODE).minus(x).abs().comparedTo(\r\n div(n0, d0, e, ROUNDING_MODE).minus(x).abs()) < 1 ? [n1, d1] : [n0, d0];\r\n\r\n MAX_EXP = exp;\r\n\r\n return r;\r\n };\r\n\r\n\r\n /*\r\n * Return the value of this BigNumber converted to a number primitive.\r\n */\r\n P.toNumber = function () {\r\n return +valueOf(this);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber rounded to sd significant digits\r\n * using rounding mode rm or ROUNDING_MODE. If sd is less than the number of digits\r\n * necessary to represent the integer part of the value in fixed-point notation, then use\r\n * exponential notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {sd|rm}'\r\n */\r\n P.toPrecision = function (sd, rm) {\r\n if (sd != null) intCheck(sd, 1, MAX);\r\n return format(this, sd, rm, 2);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in base b, or base 10 if b is\r\n * omitted. If a base is specified, including base 10, round according to DECIMAL_PLACES and\r\n * ROUNDING_MODE. If a base is not specified, and this BigNumber has a positive exponent\r\n * that is equal to or greater than TO_EXP_POS, or a negative exponent equal to or less than\r\n * TO_EXP_NEG, return exponential notation.\r\n *\r\n * [b] {number} Integer, 2 to ALPHABET.length inclusive.\r\n *\r\n * '[BigNumber Error] Base {not a primitive number|not an integer|out of range}: {b}'\r\n */\r\n P.toString = function (b) {\r\n var str,\r\n n = this,\r\n s = n.s,\r\n e = n.e;\r\n\r\n // Infinity or NaN?\r\n if (e === null) {\r\n if (s) {\r\n str = 'Infinity';\r\n if (s < 0) str = '-' + str;\r\n } else {\r\n str = 'NaN';\r\n }\r\n } else {\r\n if (b == null) {\r\n str = e <= TO_EXP_NEG || e >= TO_EXP_POS\r\n ? toExponential(coeffToString(n.c), e)\r\n : toFixedPoint(coeffToString(n.c), e, '0');\r\n } else if (b === 10 && alphabetHasNormalDecimalDigits) {\r\n n = round(new BigNumber(n), DECIMAL_PLACES + e + 1, ROUNDING_MODE);\r\n str = toFixedPoint(coeffToString(n.c), n.e, '0');\r\n } else {\r\n intCheck(b, 2, ALPHABET.length, 'Base');\r\n str = convertBase(toFixedPoint(coeffToString(n.c), e, '0'), 10, b, s, true);\r\n }\r\n\r\n if (s < 0 && n.c[0]) str = '-' + str;\r\n }\r\n\r\n return str;\r\n };\r\n\r\n\r\n /*\r\n * Return as toString, but do not accept a base argument, and include the minus sign for\r\n * negative zero.\r\n */\r\n P.valueOf = P.toJSON = function () {\r\n return valueOf(this);\r\n };\r\n\r\n\r\n P._isBigNumber = true;\r\n\r\n P[Symbol.toStringTag] = 'BigNumber';\r\n\r\n // Node.js v10.12.0+\r\n P[Symbol.for('nodejs.util.inspect.custom')] = P.valueOf;\r\n\r\n if (configObject != null) BigNumber.set(configObject);\r\n\r\n return BigNumber;\r\n}\r\n\r\n\r\n// PRIVATE HELPER FUNCTIONS\r\n\r\n// These functions don't need access to variables,\r\n// e.g. DECIMAL_PLACES, in the scope of the `clone` function above.\r\n\r\n\r\nfunction bitFloor(n) {\r\n var i = n | 0;\r\n return n > 0 || n === i ? i : i - 1;\r\n}\r\n\r\n\r\n// Return a coefficient array as a string of base 10 digits.\r\nfunction coeffToString(a) {\r\n var s, z,\r\n i = 1,\r\n j = a.length,\r\n r = a[0] + '';\r\n\r\n for (; i < j;) {\r\n s = a[i++] + '';\r\n z = LOG_BASE - s.length;\r\n for (; z--; s = '0' + s);\r\n r += s;\r\n }\r\n\r\n // Determine trailing zeros.\r\n for (j = r.length; r.charCodeAt(--j) === 48;);\r\n\r\n return r.slice(0, j + 1 || 1);\r\n}\r\n\r\n\r\n// Compare the value of BigNumbers x and y.\r\nfunction compare(x, y) {\r\n var a, b,\r\n xc = x.c,\r\n yc = y.c,\r\n i = x.s,\r\n j = y.s,\r\n k = x.e,\r\n l = y.e;\r\n\r\n // Either NaN?\r\n if (!i || !j) return null;\r\n\r\n a = xc && !xc[0];\r\n b = yc && !yc[0];\r\n\r\n // Either zero?\r\n if (a || b) return a ? b ? 0 : -j : i;\r\n\r\n // Signs differ?\r\n if (i != j) return i;\r\n\r\n a = i < 0;\r\n b = k == l;\r\n\r\n // Either Infinity?\r\n if (!xc || !yc) return b ? 0 : !xc ^ a ? 1 : -1;\r\n\r\n // Compare exponents.\r\n if (!b) return k > l ^ a ? 1 : -1;\r\n\r\n j = (k = xc.length) < (l = yc.length) ? k : l;\r\n\r\n // Compare digit by digit.\r\n for (i = 0; i < j; i++) if (xc[i] != yc[i]) return xc[i] > yc[i] ^ a ? 1 : -1;\r\n\r\n // Compare lengths.\r\n return k == l ? 0 : k > l ^ a ? 1 : -1;\r\n}\r\n\r\n\r\n/*\r\n * Check that n is a primitive number, an integer, and in range, otherwise throw.\r\n */\r\nfunction intCheck(n, min, max, name) {\r\n if (n < min || n > max || n !== mathfloor(n)) {\r\n throw Error\r\n (bignumberError + (name || 'Argument') + (typeof n == 'number'\r\n ? n < min || n > max ? ' out of range: ' : ' not an integer: '\r\n : ' not a primitive number: ') + String(n));\r\n }\r\n}\r\n\r\n\r\n// Assumes finite n.\r\nfunction isOdd(n) {\r\n var k = n.c.length - 1;\r\n return bitFloor(n.e / LOG_BASE) == k && n.c[k] % 2 != 0;\r\n}\r\n\r\n\r\nfunction toExponential(str, e) {\r\n return (str.length > 1 ? str.charAt(0) + '.' + str.slice(1) : str) +\r\n (e < 0 ? 'e' : 'e+') + e;\r\n}\r\n\r\n\r\nfunction toFixedPoint(str, e, z) {\r\n var len, zs;\r\n\r\n // Negative exponent?\r\n if (e < 0) {\r\n\r\n // Prepend zeros.\r\n for (zs = z + '.'; ++e; zs += z);\r\n str = zs + str;\r\n\r\n // Positive exponent\r\n } else {\r\n len = str.length;\r\n\r\n // Append zeros.\r\n if (++e > len) {\r\n for (zs = z, e -= len; --e; zs += z);\r\n str += zs;\r\n } else if (e < len) {\r\n str = str.slice(0, e) + '.' + str.slice(e);\r\n }\r\n }\r\n\r\n return str;\r\n}\r\n\r\n\r\n// EXPORT\r\n\r\n\r\nexport var BigNumber = clone();\r\n\r\nexport default BigNumber;\r\n","'use strict';\n\nmodule.exports = function () {\n throw new Error(\n 'ws does not work in the browser. Browser clients must use the native ' +\n 'WebSocket object'\n );\n};\n","import { toHex } from 'web3-utils'\nimport BigNumber from 'bignumber.js'\nimport { WebSocket as NodeWebSocket, type ErrorEvent } from 'ws'\n\nconst BASE58_ALPHABET: string = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'\n\n/**\n * Converts the decimal to hexadecimal\n */\nexport const numberToHex = (value: number | string | BigNumber, decimals: number): string => {\n const length = '1' + '0'.repeat(decimals)\n const newValue = new BigNumber(value.toString(10), 10)\n return toHex(newValue.times(length).toString(16))\n}\n\n/**\n * Converts the hexadecimal to decimal\n */\nexport const hexToNumber = (value: string, decimals: number): number => {\n const length = '1' + '0'.repeat(decimals)\n const newValue = new BigNumber(value.toString(), 10)\n return parseFloat(newValue.dividedBy(length).toString())\n}\n\n/**\n * Converts the given data to Base58 string. Given data may be string or an Uint8Array\n * If the given data is a string, it'll be converted to Uint8Array inside of the method\n */\nexport const base58Encode = (input: Uint8Array | string): string => {\n // Convert input to bytes if it's a string\n if (typeof input === 'string') input = new Uint8Array(Buffer.from(input))\n\n const base58Array: string[] = []\n\n // Convert the byte array to a BigInt\n let value = BigInt('0x' + Buffer.from(input).toString('hex'))\n\n // Base58 encoding\n while (value > BigInt(0)) {\n const remainder = Number(value % BigInt(58))\n base58Array.unshift(BASE58_ALPHABET[remainder])\n value = value / BigInt(58)\n }\n\n // Add '1' characters for leading zero bytes\n for (let i = 0; i < input.length; i++) {\n if (input[i] !== 0) break\n base58Array.unshift(BASE58_ALPHABET[0])\n }\n\n return base58Array.join('')\n}\n\n/**\n * Converts the given string to Base58 as an Uint8Array\n */\nexport const base58Decode = (input: string): Uint8Array => {\n let value = BigInt(0)\n\n for (let i = 0; i < input.length; i++)\n value = value * BigInt(58) + BigInt(BASE58_ALPHABET.indexOf(input[i]))\n\n const valueHex: string = value.toString(16)\n\n // Make the string's length even\n const hexString = valueHex.length % 2 === 0 ? valueHex : '0' + valueHex\n\n return new Uint8Array(Buffer.from(hexString, 'hex'))\n}\n\n/**\n * Converts the given buffer to a string\n */\nexport const bufferToString = (input: Buffer): string => {\n return Buffer.from(input).toString('utf8')\n}\n\n/**\n * Converts the given string to a buffer\n */\nexport const stringToBuffer = (input: string): Buffer => {\n return Buffer.from(input, 'utf8')\n}\n\n/**\n * Checks if given value is numeric\n */\nexport const isNumeric = (value: string | number): boolean => {\n return !isNaN(Number(value))\n}\n\n/**\n * Sleeps the given milliseconds\n * @param {number} ms\n * @returns Promise\n */\nexport const sleep = async (ms: number): Promise => {\n await new Promise((resolve) => setTimeout(resolve, ms))\n}\n\n/**\n * Checks if the given objects are equal\n * @param {object} o1\n * @param {object} o2\n * @returns boolean\n */\nexport const objectsEqual = (o1: object, o2: object): boolean => {\n return JSON.stringify(o1) === JSON.stringify(o2)\n}\n\n/**\n * Converts the given number to a readable string\n * @param {number} num\n * @returns string\n */\nexport const toReadableString = (num: number): string => {\n const [coefficient, exponent] = num\n .toExponential()\n .split('e')\n .map((item) => parseFloat(item))\n\n let result = (coefficient * Math.pow(10, exponent)).toString()\n\n result = parseFloat(result).toString()\n\n return result\n}\n\n/**\n * checks if the given url is a valid websocket url\n * @param {string} url\n * @returns {Promise}\n */\nexport const checkWebSocket = async (url: string): Promise => {\n return await new Promise((resolve, reject) => {\n let socket: WebSocket | NodeWebSocket\n\n if (typeof window !== 'undefined') {\n socket = new WebSocket(url)\n } else {\n socket = new NodeWebSocket(url)\n }\n\n socket.onopen = () => {\n resolve(true)\n socket.close()\n }\n\n socket.onerror = (error: ErrorEvent) => {\n reject(new Error(error.message))\n socket.close()\n }\n })\n}\n\nexport const math = {\n add: (a: number, b: number, decimals: number = 18): number => {\n return parseFloat(new BigNumber(a).plus(new BigNumber(b)).toFixed(decimals))\n },\n sub: (a: number, b: number, decimals: number = 18): number => {\n return parseFloat(new BigNumber(a).minus(new BigNumber(b)).toFixed(decimals))\n },\n mul: (a: number, b: number, decimals: number = 18): number => {\n return parseFloat(new BigNumber(a).times(new BigNumber(b)).toFixed(decimals))\n },\n div: (a: number, b: number, decimals: number = 18): number => {\n return parseFloat(new BigNumber(a).div(new BigNumber(b)).toFixed(decimals))\n },\n pow: (a: number, b: number, decimals: number = 18): number => {\n return parseFloat(new BigNumber(a).pow(b).toFixed(decimals))\n },\n sqrt: (a: number, decimals: number = 18): number => {\n return parseFloat(new BigNumber(a).sqrt().toFixed(decimals))\n },\n abs: (a: number, decimals: number = 18): number => {\n return parseFloat(new BigNumber(a).absoluteValue().toFixed(decimals))\n },\n ceil: (a: number, decimals: number = 18): number => {\n return parseFloat(new BigNumber(a).integerValue(BigNumber.ROUND_CEIL).toFixed(decimals))\n },\n floor: (a: number, decimals: number = 18): number => {\n return parseFloat(new BigNumber(a).integerValue(BigNumber.ROUND_FLOOR).toFixed(decimals))\n },\n round: (a: number, decimals: number = 18): number => {\n return parseFloat(new BigNumber(a).integerValue(BigNumber.ROUND_HALF_UP).toFixed(decimals))\n }\n}\n\ndeclare global {\n interface Window {\n opera?: any\n WebViewJavascriptBridge?: any\n webkit?: any\n }\n interface Navigator {\n standalone?: any\n }\n}\n\nexport const isMobile = (): boolean => {\n if (typeof window === 'undefined') {\n return false\n }\n /* eslint-disable */\n return (function (a) {\n return /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(\n a\n ) ||\n /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\\\-(n|u)|c55\\/|capi|ccwa|cdm\\\\-|cell|chtm|cldc|cmd\\\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\\\-|_)|g1 u|g560|gene|gf\\\\-5|g\\\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\\\-(m|p|t)|hei\\\\-|hi(pt|ta)|hp( i|ip)|hs\\\\-c|ht(c(\\\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\\\-(20|go|ma)|i230|iac( |\\\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\\\-[a-w])|libw|lynx|m1\\\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\\\-2|po(ck|rt|se)|prox|psio|pt\\\\-g|qa\\\\-a|qc(07|12|21|32|60|\\\\-[2-7]|i\\\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\\\-|oo|p\\\\-)|sdk\\/|se(c(\\\\-|0|1)|47|mc|nd|ri)|sgh\\\\-|shar|sie(\\\\-|m)|sk\\\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\\\-|v\\\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\\\-|tdg\\\\-|tel(i|m)|tim\\\\-|t\\\\-mo|to(pl|sh)|ts(70|m\\\\-|m3|m5)|tx\\\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\\\-|your|zeto|zte\\\\-/i.test(\n a.substr(0, 4)\n )\n ? true\n : false\n })(navigator.userAgent || navigator.vendor || window.opera)\n /* eslint-enable */\n}\n\nexport const isWebview = (): boolean => {\n if (typeof window === 'undefined') {\n return false\n }\n\n const navigator = window.navigator\n\n /* eslint-disable */\n if (window.WebViewJavascriptBridge) {\n return true\n }\n\n if (window.webkit && window.webkit.messageHandlers) {\n return true\n }\n\n if (navigator.userAgent.match(/WebView/i)) {\n return true\n }\n\n const standalone = navigator.standalone\n const userAgent = navigator.userAgent.toLowerCase()\n const safari = /safari/.test(userAgent)\n const ios = /iphone|ipod|ipad/.test(userAgent)\n\n return ios ? !standalone && !safari : userAgent.includes('wv')\n /* eslint-enable */\n}\n\nexport { toHex }\n","/* Do NOT modify this file; see /src.ts/_admin/update-version.ts */\n/**\n * The current version of Ethers.\n */\nexport const version = \"6.11.1\";\n//# sourceMappingURL=_version.js.map","/**\n * Property helper functions.\n *\n * @_subsection api/utils:Properties [about-properties]\n */\nfunction checkType(value, type, name) {\n const types = type.split(\"|\").map(t => t.trim());\n for (let i = 0; i < types.length; i++) {\n switch (type) {\n case \"any\":\n return;\n case \"bigint\":\n case \"boolean\":\n case \"number\":\n case \"string\":\n if (typeof (value) === type) {\n return;\n }\n }\n }\n const error = new Error(`invalid value for type ${type}`);\n error.code = \"INVALID_ARGUMENT\";\n error.argument = `value.${name}`;\n error.value = value;\n throw error;\n}\n/**\n * Resolves to a new object that is a copy of %%value%%, but with all\n * values resolved.\n */\nexport async function resolveProperties(value) {\n const keys = Object.keys(value);\n const results = await Promise.all(keys.map((k) => Promise.resolve(value[k])));\n return results.reduce((accum, v, index) => {\n accum[keys[index]] = v;\n return accum;\n }, {});\n}\n/**\n * Assigns the %%values%% to %%target%% as read-only values.\n *\n * It %%types%% is specified, the values are checked.\n */\nexport function defineProperties(target, values, types) {\n for (let key in values) {\n let value = values[key];\n const type = (types ? types[key] : null);\n if (type) {\n checkType(value, type, key);\n }\n Object.defineProperty(target, key, { enumerable: true, value, writable: false });\n }\n}\n//# sourceMappingURL=properties.js.map","/**\n * All errors in ethers include properties to ensure they are both\n * human-readable (i.e. ``.message``) and machine-readable (i.e. ``.code``).\n *\n * The [[isError]] function can be used to check the error ``code`` and\n * provide a type guard for the properties present on that error interface.\n *\n * @_section: api/utils/errors:Errors [about-errors]\n */\nimport { version } from \"../_version.js\";\nimport { defineProperties } from \"./properties.js\";\nfunction stringify(value) {\n if (value == null) {\n return \"null\";\n }\n if (Array.isArray(value)) {\n return \"[ \" + (value.map(stringify)).join(\", \") + \" ]\";\n }\n if (value instanceof Uint8Array) {\n const HEX = \"0123456789abcdef\";\n let result = \"0x\";\n for (let i = 0; i < value.length; i++) {\n result += HEX[value[i] >> 4];\n result += HEX[value[i] & 0xf];\n }\n return result;\n }\n if (typeof (value) === \"object\" && typeof (value.toJSON) === \"function\") {\n return stringify(value.toJSON());\n }\n switch (typeof (value)) {\n case \"boolean\":\n case \"symbol\":\n return value.toString();\n case \"bigint\":\n return BigInt(value).toString();\n case \"number\":\n return (value).toString();\n case \"string\":\n return JSON.stringify(value);\n case \"object\": {\n const keys = Object.keys(value);\n keys.sort();\n return \"{ \" + keys.map((k) => `${stringify(k)}: ${stringify(value[k])}`).join(\", \") + \" }\";\n }\n }\n return `[ COULD NOT SERIALIZE ]`;\n}\n/**\n * Returns true if the %%error%% matches an error thrown by ethers\n * that matches the error %%code%%.\n *\n * In TypeScript environments, this can be used to check that %%error%%\n * matches an EthersError type, which means the expected properties will\n * be set.\n *\n * @See [ErrorCodes](api:ErrorCode)\n * @example\n * try {\n * // code....\n * } catch (e) {\n * if (isError(e, \"CALL_EXCEPTION\")) {\n * // The Type Guard has validated this object\n * console.log(e.data);\n * }\n * }\n */\nexport function isError(error, code) {\n return (error && error.code === code);\n}\n/**\n * Returns true if %%error%% is a [[CallExceptionError].\n */\nexport function isCallException(error) {\n return isError(error, \"CALL_EXCEPTION\");\n}\n/**\n * Returns a new Error configured to the format ethers emits errors, with\n * the %%message%%, [[api:ErrorCode]] %%code%% and additional properties\n * for the corresponding EthersError.\n *\n * Each error in ethers includes the version of ethers, a\n * machine-readable [[ErrorCode]], and depending on %%code%%, additional\n * required properties. The error message will also include the %%message%%,\n * ethers version, %%code%% and all additional properties, serialized.\n */\nexport function makeError(message, code, info) {\n let shortMessage = message;\n {\n const details = [];\n if (info) {\n if (\"message\" in info || \"code\" in info || \"name\" in info) {\n throw new Error(`value will overwrite populated values: ${stringify(info)}`);\n }\n for (const key in info) {\n if (key === \"shortMessage\") {\n continue;\n }\n const value = (info[key]);\n // try {\n details.push(key + \"=\" + stringify(value));\n // } catch (error: any) {\n // console.log(\"MMM\", error.message);\n // details.push(key + \"=[could not serialize object]\");\n // }\n }\n }\n details.push(`code=${code}`);\n details.push(`version=${version}`);\n if (details.length) {\n message += \" (\" + details.join(\", \") + \")\";\n }\n }\n let error;\n switch (code) {\n case \"INVALID_ARGUMENT\":\n error = new TypeError(message);\n break;\n case \"NUMERIC_FAULT\":\n case \"BUFFER_OVERRUN\":\n error = new RangeError(message);\n break;\n default:\n error = new Error(message);\n }\n defineProperties(error, { code });\n if (info) {\n Object.assign(error, info);\n }\n if (error.shortMessage == null) {\n defineProperties(error, { shortMessage });\n }\n return error;\n}\n/**\n * Throws an EthersError with %%message%%, %%code%% and additional error\n * %%info%% when %%check%% is falsish..\n *\n * @see [[api:makeError]]\n */\nexport function assert(check, message, code, info) {\n if (!check) {\n throw makeError(message, code, info);\n }\n}\n/**\n * A simple helper to simply ensuring provided arguments match expected\n * constraints, throwing if not.\n *\n * In TypeScript environments, the %%check%% has been asserted true, so\n * any further code does not need additional compile-time checks.\n */\nexport function assertArgument(check, message, name, value) {\n assert(check, message, \"INVALID_ARGUMENT\", { argument: name, value: value });\n}\nexport function assertArgumentCount(count, expectedCount, message) {\n if (message == null) {\n message = \"\";\n }\n if (message) {\n message = \": \" + message;\n }\n assert(count >= expectedCount, \"missing arguemnt\" + message, \"MISSING_ARGUMENT\", {\n count: count,\n expectedCount: expectedCount\n });\n assert(count <= expectedCount, \"too many arguments\" + message, \"UNEXPECTED_ARGUMENT\", {\n count: count,\n expectedCount: expectedCount\n });\n}\nconst _normalizeForms = [\"NFD\", \"NFC\", \"NFKD\", \"NFKC\"].reduce((accum, form) => {\n try {\n // General test for normalize\n /* c8 ignore start */\n if (\"test\".normalize(form) !== \"test\") {\n throw new Error(\"bad\");\n }\n ;\n /* c8 ignore stop */\n if (form === \"NFD\") {\n const check = String.fromCharCode(0xe9).normalize(\"NFD\");\n const expected = String.fromCharCode(0x65, 0x0301);\n /* c8 ignore start */\n if (check !== expected) {\n throw new Error(\"broken\");\n }\n /* c8 ignore stop */\n }\n accum.push(form);\n }\n catch (error) { }\n return accum;\n}, []);\n/**\n * Throws if the normalization %%form%% is not supported.\n */\nexport function assertNormalize(form) {\n assert(_normalizeForms.indexOf(form) >= 0, \"platform missing String.prototype.normalize\", \"UNSUPPORTED_OPERATION\", {\n operation: \"String.prototype.normalize\", info: { form }\n });\n}\n/**\n * Many classes use file-scoped values to guard the constructor,\n * making it effectively private. This facilitates that pattern\n * by ensuring the %%givenGaurd%% matches the file-scoped %%guard%%,\n * throwing if not, indicating the %%className%% if provided.\n */\nexport function assertPrivate(givenGuard, guard, className) {\n if (className == null) {\n className = \"\";\n }\n if (givenGuard !== guard) {\n let method = className, operation = \"new\";\n if (className) {\n method += \".\";\n operation += \" \" + className;\n }\n assert(false, `private constructor; use ${method}from* methods`, \"UNSUPPORTED_OPERATION\", {\n operation\n });\n }\n}\n//# sourceMappingURL=errors.js.map","/**\n * Some data helpers.\n *\n *\n * @_subsection api/utils:Data Helpers [about-data]\n */\nimport { assert, assertArgument } from \"./errors.js\";\nfunction _getBytes(value, name, copy) {\n if (value instanceof Uint8Array) {\n if (copy) {\n return new Uint8Array(value);\n }\n return value;\n }\n if (typeof (value) === \"string\" && value.match(/^0x([0-9a-f][0-9a-f])*$/i)) {\n const result = new Uint8Array((value.length - 2) / 2);\n let offset = 2;\n for (let i = 0; i < result.length; i++) {\n result[i] = parseInt(value.substring(offset, offset + 2), 16);\n offset += 2;\n }\n return result;\n }\n assertArgument(false, \"invalid BytesLike value\", name || \"value\", value);\n}\n/**\n * Get a typed Uint8Array for %%value%%. If already a Uint8Array\n * the original %%value%% is returned; if a copy is required use\n * [[getBytesCopy]].\n *\n * @see: getBytesCopy\n */\nexport function getBytes(value, name) {\n return _getBytes(value, name, false);\n}\n/**\n * Get a typed Uint8Array for %%value%%, creating a copy if necessary\n * to prevent any modifications of the returned value from being\n * reflected elsewhere.\n *\n * @see: getBytes\n */\nexport function getBytesCopy(value, name) {\n return _getBytes(value, name, true);\n}\n/**\n * Returns true if %%value%% is a valid [[HexString]].\n *\n * If %%length%% is ``true`` or a //number//, it also checks that\n * %%value%% is a valid [[DataHexString]] of %%length%% (if a //number//)\n * bytes of data (e.g. ``0x1234`` is 2 bytes).\n */\nexport function isHexString(value, length) {\n if (typeof (value) !== \"string\" || !value.match(/^0x[0-9A-Fa-f]*$/)) {\n return false;\n }\n if (typeof (length) === \"number\" && value.length !== 2 + 2 * length) {\n return false;\n }\n if (length === true && (value.length % 2) !== 0) {\n return false;\n }\n return true;\n}\n/**\n * Returns true if %%value%% is a valid representation of arbitrary\n * data (i.e. a valid [[DataHexString]] or a Uint8Array).\n */\nexport function isBytesLike(value) {\n return (isHexString(value, true) || (value instanceof Uint8Array));\n}\nconst HexCharacters = \"0123456789abcdef\";\n/**\n * Returns a [[DataHexString]] representation of %%data%%.\n */\nexport function hexlify(data) {\n const bytes = getBytes(data);\n let result = \"0x\";\n for (let i = 0; i < bytes.length; i++) {\n const v = bytes[i];\n result += HexCharacters[(v & 0xf0) >> 4] + HexCharacters[v & 0x0f];\n }\n return result;\n}\n/**\n * Returns a [[DataHexString]] by concatenating all values\n * within %%data%%.\n */\nexport function concat(datas) {\n return \"0x\" + datas.map((d) => hexlify(d).substring(2)).join(\"\");\n}\n/**\n * Returns the length of %%data%%, in bytes.\n */\nexport function dataLength(data) {\n if (isHexString(data, true)) {\n return (data.length - 2) / 2;\n }\n return getBytes(data).length;\n}\n/**\n * Returns a [[DataHexString]] by slicing %%data%% from the %%start%%\n * offset to the %%end%% offset.\n *\n * By default %%start%% is 0 and %%end%% is the length of %%data%%.\n */\nexport function dataSlice(data, start, end) {\n const bytes = getBytes(data);\n if (end != null && end > bytes.length) {\n assert(false, \"cannot slice beyond data bounds\", \"BUFFER_OVERRUN\", {\n buffer: bytes, length: bytes.length, offset: end\n });\n }\n return hexlify(bytes.slice((start == null) ? 0 : start, (end == null) ? bytes.length : end));\n}\n/**\n * Return the [[DataHexString]] result by stripping all **leading**\n ** zero bytes from %%data%%.\n */\nexport function stripZerosLeft(data) {\n let bytes = hexlify(data).substring(2);\n while (bytes.startsWith(\"00\")) {\n bytes = bytes.substring(2);\n }\n return \"0x\" + bytes;\n}\nfunction zeroPad(data, length, left) {\n const bytes = getBytes(data);\n assert(length >= bytes.length, \"padding exceeds data length\", \"BUFFER_OVERRUN\", {\n buffer: new Uint8Array(bytes),\n length: length,\n offset: length + 1\n });\n const result = new Uint8Array(length);\n result.fill(0);\n if (left) {\n result.set(bytes, length - bytes.length);\n }\n else {\n result.set(bytes, 0);\n }\n return hexlify(result);\n}\n/**\n * Return the [[DataHexString]] of %%data%% padded on the **left**\n * to %%length%% bytes.\n *\n * If %%data%% already exceeds %%length%%, a [[BufferOverrunError]] is\n * thrown.\n *\n * This pads data the same as **values** are in Solidity\n * (e.g. ``uint128``).\n */\nexport function zeroPadValue(data, length) {\n return zeroPad(data, length, true);\n}\n/**\n * Return the [[DataHexString]] of %%data%% padded on the **right**\n * to %%length%% bytes.\n *\n * If %%data%% already exceeds %%length%%, a [[BufferOverrunError]] is\n * thrown.\n *\n * This pads data the same as **bytes** are in Solidity\n * (e.g. ``bytes16``).\n */\nexport function zeroPadBytes(data, length) {\n return zeroPad(data, length, false);\n}\n//# sourceMappingURL=data.js.map","/**\n * Some mathematic operations.\n *\n * @_subsection: api/utils:Math Helpers [about-maths]\n */\nimport { hexlify, isBytesLike } from \"./data.js\";\nimport { assert, assertArgument } from \"./errors.js\";\nconst BN_0 = BigInt(0);\nconst BN_1 = BigInt(1);\n//const BN_Max256 = (BN_1 << BigInt(256)) - BN_1;\n// IEEE 754 support 53-bits of mantissa\nconst maxValue = 0x1fffffffffffff;\n/**\n * Convert %%value%% from a twos-compliment representation of %%width%%\n * bits to its value.\n *\n * If the highest bit is ``1``, the result will be negative.\n */\nexport function fromTwos(_value, _width) {\n const value = getUint(_value, \"value\");\n const width = BigInt(getNumber(_width, \"width\"));\n assert((value >> width) === BN_0, \"overflow\", \"NUMERIC_FAULT\", {\n operation: \"fromTwos\", fault: \"overflow\", value: _value\n });\n // Top bit set; treat as a negative value\n if (value >> (width - BN_1)) {\n const mask = (BN_1 << width) - BN_1;\n return -(((~value) & mask) + BN_1);\n }\n return value;\n}\n/**\n * Convert %%value%% to a twos-compliment representation of\n * %%width%% bits.\n *\n * The result will always be positive.\n */\nexport function toTwos(_value, _width) {\n let value = getBigInt(_value, \"value\");\n const width = BigInt(getNumber(_width, \"width\"));\n const limit = (BN_1 << (width - BN_1));\n if (value < BN_0) {\n value = -value;\n assert(value <= limit, \"too low\", \"NUMERIC_FAULT\", {\n operation: \"toTwos\", fault: \"overflow\", value: _value\n });\n const mask = (BN_1 << width) - BN_1;\n return ((~value) & mask) + BN_1;\n }\n else {\n assert(value < limit, \"too high\", \"NUMERIC_FAULT\", {\n operation: \"toTwos\", fault: \"overflow\", value: _value\n });\n }\n return value;\n}\n/**\n * Mask %%value%% with a bitmask of %%bits%% ones.\n */\nexport function mask(_value, _bits) {\n const value = getUint(_value, \"value\");\n const bits = BigInt(getNumber(_bits, \"bits\"));\n return value & ((BN_1 << bits) - BN_1);\n}\n/**\n * Gets a BigInt from %%value%%. If it is an invalid value for\n * a BigInt, then an ArgumentError will be thrown for %%name%%.\n */\nexport function getBigInt(value, name) {\n switch (typeof (value)) {\n case \"bigint\": return value;\n case \"number\":\n assertArgument(Number.isInteger(value), \"underflow\", name || \"value\", value);\n assertArgument(value >= -maxValue && value <= maxValue, \"overflow\", name || \"value\", value);\n return BigInt(value);\n case \"string\":\n try {\n if (value === \"\") {\n throw new Error(\"empty string\");\n }\n if (value[0] === \"-\" && value[1] !== \"-\") {\n return -BigInt(value.substring(1));\n }\n return BigInt(value);\n }\n catch (e) {\n assertArgument(false, `invalid BigNumberish string: ${e.message}`, name || \"value\", value);\n }\n }\n assertArgument(false, \"invalid BigNumberish value\", name || \"value\", value);\n}\n/**\n * Returns %%value%% as a bigint, validating it is valid as a bigint\n * value and that it is positive.\n */\nexport function getUint(value, name) {\n const result = getBigInt(value, name);\n assert(result >= BN_0, \"unsigned value cannot be negative\", \"NUMERIC_FAULT\", {\n fault: \"overflow\", operation: \"getUint\", value\n });\n return result;\n}\nconst Nibbles = \"0123456789abcdef\";\n/*\n * Converts %%value%% to a BigInt. If %%value%% is a Uint8Array, it\n * is treated as Big Endian data.\n */\nexport function toBigInt(value) {\n if (value instanceof Uint8Array) {\n let result = \"0x0\";\n for (const v of value) {\n result += Nibbles[v >> 4];\n result += Nibbles[v & 0x0f];\n }\n return BigInt(result);\n }\n return getBigInt(value);\n}\n/**\n * Gets a //number// from %%value%%. If it is an invalid value for\n * a //number//, then an ArgumentError will be thrown for %%name%%.\n */\nexport function getNumber(value, name) {\n switch (typeof (value)) {\n case \"bigint\":\n assertArgument(value >= -maxValue && value <= maxValue, \"overflow\", name || \"value\", value);\n return Number(value);\n case \"number\":\n assertArgument(Number.isInteger(value), \"underflow\", name || \"value\", value);\n assertArgument(value >= -maxValue && value <= maxValue, \"overflow\", name || \"value\", value);\n return value;\n case \"string\":\n try {\n if (value === \"\") {\n throw new Error(\"empty string\");\n }\n return getNumber(BigInt(value), name);\n }\n catch (e) {\n assertArgument(false, `invalid numeric string: ${e.message}`, name || \"value\", value);\n }\n }\n assertArgument(false, \"invalid numeric value\", name || \"value\", value);\n}\n/**\n * Converts %%value%% to a number. If %%value%% is a Uint8Array, it\n * is treated as Big Endian data. Throws if the value is not safe.\n */\nexport function toNumber(value) {\n return getNumber(toBigInt(value));\n}\n/**\n * Converts %%value%% to a Big Endian hexstring, optionally padded to\n * %%width%% bytes.\n */\nexport function toBeHex(_value, _width) {\n const value = getUint(_value, \"value\");\n let result = value.toString(16);\n if (_width == null) {\n // Ensure the value is of even length\n if (result.length % 2) {\n result = \"0\" + result;\n }\n }\n else {\n const width = getNumber(_width, \"width\");\n assert(width * 2 >= result.length, `value exceeds width (${width} bytes)`, \"NUMERIC_FAULT\", {\n operation: \"toBeHex\",\n fault: \"overflow\",\n value: _value\n });\n // Pad the value to the required width\n while (result.length < (width * 2)) {\n result = \"0\" + result;\n }\n }\n return \"0x\" + result;\n}\n/**\n * Converts %%value%% to a Big Endian Uint8Array.\n */\nexport function toBeArray(_value) {\n const value = getUint(_value, \"value\");\n if (value === BN_0) {\n return new Uint8Array([]);\n }\n let hex = value.toString(16);\n if (hex.length % 2) {\n hex = \"0\" + hex;\n }\n const result = new Uint8Array(hex.length / 2);\n for (let i = 0; i < result.length; i++) {\n const offset = i * 2;\n result[i] = parseInt(hex.substring(offset, offset + 2), 16);\n }\n return result;\n}\n/**\n * Returns a [[HexString]] for %%value%% safe to use as a //Quantity//.\n *\n * A //Quantity// does not have and leading 0 values unless the value is\n * the literal value `0x0`. This is most commonly used for JSSON-RPC\n * numeric values.\n */\nexport function toQuantity(value) {\n let result = hexlify(isBytesLike(value) ? value : toBeArray(value)).substring(2);\n while (result.startsWith(\"0\")) {\n result = result.substring(1);\n }\n if (result === \"\") {\n result = \"0\";\n }\n return \"0x\" + result;\n}\n//# sourceMappingURL=maths.js.map","/**\n * The [Base58 Encoding](link-base58) scheme allows a **numeric** value\n * to be encoded as a compact string using a radix of 58 using only\n * alpha-numeric characters. Confusingly similar characters are omitted\n * (i.e. ``\"l0O\"``).\n *\n * Note that Base58 encodes a **numeric** value, not arbitrary bytes,\n * since any zero-bytes on the left would get removed. To mitigate this\n * issue most schemes that use Base58 choose specific high-order values\n * to ensure non-zero prefixes.\n *\n * @_subsection: api/utils:Base58 Encoding [about-base58]\n */\nimport { getBytes } from \"./data.js\";\nimport { assertArgument } from \"./errors.js\";\nimport { toBigInt } from \"./maths.js\";\nconst Alphabet = \"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\";\nlet Lookup = null;\nfunction getAlpha(letter) {\n if (Lookup == null) {\n Lookup = {};\n for (let i = 0; i < Alphabet.length; i++) {\n Lookup[Alphabet[i]] = BigInt(i);\n }\n }\n const result = Lookup[letter];\n assertArgument(result != null, `invalid base58 value`, \"letter\", letter);\n return result;\n}\nconst BN_0 = BigInt(0);\nconst BN_58 = BigInt(58);\n/**\n * Encode %%value%% as a Base58-encoded string.\n */\nexport function encodeBase58(_value) {\n const bytes = getBytes(_value);\n let value = toBigInt(bytes);\n let result = \"\";\n while (value) {\n result = Alphabet[Number(value % BN_58)] + result;\n value /= BN_58;\n }\n // Account for leading padding zeros\n for (let i = 0; i < bytes.length; i++) {\n if (bytes[i]) {\n break;\n }\n result = Alphabet[0] + result;\n }\n return result;\n}\n/**\n * Decode the Base58-encoded %%value%%.\n */\nexport function decodeBase58(value) {\n let result = BN_0;\n for (let i = 0; i < value.length; i++) {\n result *= BN_58;\n result += getAlpha(value[i]);\n }\n return result;\n}\n//# sourceMappingURL=base58.js.map","// utils/base64-browser\nimport { getBytes } from \"./data.js\";\nexport function decodeBase64(textData) {\n textData = atob(textData);\n const data = new Uint8Array(textData.length);\n for (let i = 0; i < textData.length; i++) {\n data[i] = textData.charCodeAt(i);\n }\n return getBytes(data);\n}\nexport function encodeBase64(_data) {\n const data = getBytes(_data);\n let textData = \"\";\n for (let i = 0; i < data.length; i++) {\n textData += String.fromCharCode(data[i]);\n }\n return btoa(textData);\n}\n//# sourceMappingURL=base64-browser.js.map","/**\n * Events allow for applications to use the observer pattern, which\n * allows subscribing and publishing events, outside the normal\n * execution paths.\n *\n * @_section api/utils/events:Events [about-events]\n */\nimport { defineProperties } from \"./properties.js\";\n/**\n * When an [[EventEmitterable]] triggers a [[Listener]], the\n * callback always ahas one additional argument passed, which is\n * an **EventPayload**.\n */\nexport class EventPayload {\n /**\n * The event filter.\n */\n filter;\n /**\n * The **EventEmitterable**.\n */\n emitter;\n #listener;\n /**\n * Create a new **EventPayload** for %%emitter%% with\n * the %%listener%% and for %%filter%%.\n */\n constructor(emitter, listener, filter) {\n this.#listener = listener;\n defineProperties(this, { emitter, filter });\n }\n /**\n * Unregister the triggered listener for future events.\n */\n async removeListener() {\n if (this.#listener == null) {\n return;\n }\n await this.emitter.off(this.filter, this.#listener);\n }\n}\n//# sourceMappingURL=events.js.map","/**\n * Using strings in Ethereum (or any security-basd system) requires\n * additional care. These utilities attempt to mitigate some of the\n * safety issues as well as provide the ability to recover and analyse\n * strings.\n *\n * @_subsection api/utils:Strings and UTF-8 [about-strings]\n */\nimport { getBytes } from \"./data.js\";\nimport { assertArgument, assertNormalize } from \"./errors.js\";\nfunction errorFunc(reason, offset, bytes, output, badCodepoint) {\n assertArgument(false, `invalid codepoint at offset ${offset}; ${reason}`, \"bytes\", bytes);\n}\nfunction ignoreFunc(reason, offset, bytes, output, badCodepoint) {\n // If there is an invalid prefix (including stray continuation), skip any additional continuation bytes\n if (reason === \"BAD_PREFIX\" || reason === \"UNEXPECTED_CONTINUE\") {\n let i = 0;\n for (let o = offset + 1; o < bytes.length; o++) {\n if (bytes[o] >> 6 !== 0x02) {\n break;\n }\n i++;\n }\n return i;\n }\n // This byte runs us past the end of the string, so just jump to the end\n // (but the first byte was read already read and therefore skipped)\n if (reason === \"OVERRUN\") {\n return bytes.length - offset - 1;\n }\n // Nothing to skip\n return 0;\n}\nfunction replaceFunc(reason, offset, bytes, output, badCodepoint) {\n // Overlong representations are otherwise \"valid\" code points; just non-deistingtished\n if (reason === \"OVERLONG\") {\n assertArgument(typeof (badCodepoint) === \"number\", \"invalid bad code point for replacement\", \"badCodepoint\", badCodepoint);\n output.push(badCodepoint);\n return 0;\n }\n // Put the replacement character into the output\n output.push(0xfffd);\n // Otherwise, process as if ignoring errors\n return ignoreFunc(reason, offset, bytes, output, badCodepoint);\n}\n/**\n * A handful of popular, built-in UTF-8 error handling strategies.\n *\n * **``\"error\"``** - throws on ANY illegal UTF-8 sequence or\n * non-canonical (overlong) codepoints (this is the default)\n *\n * **``\"ignore\"``** - silently drops any illegal UTF-8 sequence\n * and accepts non-canonical (overlong) codepoints\n *\n * **``\"replace\"``** - replace any illegal UTF-8 sequence with the\n * UTF-8 replacement character (i.e. ``\"\\\\ufffd\"``) and accepts\n * non-canonical (overlong) codepoints\n *\n * @returns: Record<\"error\" | \"ignore\" | \"replace\", Utf8ErrorFunc>\n */\nexport const Utf8ErrorFuncs = Object.freeze({\n error: errorFunc,\n ignore: ignoreFunc,\n replace: replaceFunc\n});\n// http://stackoverflow.com/questions/13356493/decode-utf-8-with-javascript#13691499\nfunction getUtf8CodePoints(_bytes, onError) {\n if (onError == null) {\n onError = Utf8ErrorFuncs.error;\n }\n const bytes = getBytes(_bytes, \"bytes\");\n const result = [];\n let i = 0;\n // Invalid bytes are ignored\n while (i < bytes.length) {\n const c = bytes[i++];\n // 0xxx xxxx\n if (c >> 7 === 0) {\n result.push(c);\n continue;\n }\n // Multibyte; how many bytes left for this character?\n let extraLength = null;\n let overlongMask = null;\n // 110x xxxx 10xx xxxx\n if ((c & 0xe0) === 0xc0) {\n extraLength = 1;\n overlongMask = 0x7f;\n // 1110 xxxx 10xx xxxx 10xx xxxx\n }\n else if ((c & 0xf0) === 0xe0) {\n extraLength = 2;\n overlongMask = 0x7ff;\n // 1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx\n }\n else if ((c & 0xf8) === 0xf0) {\n extraLength = 3;\n overlongMask = 0xffff;\n }\n else {\n if ((c & 0xc0) === 0x80) {\n i += onError(\"UNEXPECTED_CONTINUE\", i - 1, bytes, result);\n }\n else {\n i += onError(\"BAD_PREFIX\", i - 1, bytes, result);\n }\n continue;\n }\n // Do we have enough bytes in our data?\n if (i - 1 + extraLength >= bytes.length) {\n i += onError(\"OVERRUN\", i - 1, bytes, result);\n continue;\n }\n // Remove the length prefix from the char\n let res = c & ((1 << (8 - extraLength - 1)) - 1);\n for (let j = 0; j < extraLength; j++) {\n let nextChar = bytes[i];\n // Invalid continuation byte\n if ((nextChar & 0xc0) != 0x80) {\n i += onError(\"MISSING_CONTINUE\", i, bytes, result);\n res = null;\n break;\n }\n ;\n res = (res << 6) | (nextChar & 0x3f);\n i++;\n }\n // See above loop for invalid continuation byte\n if (res === null) {\n continue;\n }\n // Maximum code point\n if (res > 0x10ffff) {\n i += onError(\"OUT_OF_RANGE\", i - 1 - extraLength, bytes, result, res);\n continue;\n }\n // Reserved for UTF-16 surrogate halves\n if (res >= 0xd800 && res <= 0xdfff) {\n i += onError(\"UTF16_SURROGATE\", i - 1 - extraLength, bytes, result, res);\n continue;\n }\n // Check for overlong sequences (more bytes than needed)\n if (res <= overlongMask) {\n i += onError(\"OVERLONG\", i - 1 - extraLength, bytes, result, res);\n continue;\n }\n result.push(res);\n }\n return result;\n}\n// http://stackoverflow.com/questions/18729405/how-to-convert-utf8-string-to-byte-array\n/**\n * Returns the UTF-8 byte representation of %%str%%.\n *\n * If %%form%% is specified, the string is normalized.\n */\nexport function toUtf8Bytes(str, form) {\n assertArgument(typeof (str) === \"string\", \"invalid string value\", \"str\", str);\n if (form != null) {\n assertNormalize(form);\n str = str.normalize(form);\n }\n let result = [];\n for (let i = 0; i < str.length; i++) {\n const c = str.charCodeAt(i);\n if (c < 0x80) {\n result.push(c);\n }\n else if (c < 0x800) {\n result.push((c >> 6) | 0xc0);\n result.push((c & 0x3f) | 0x80);\n }\n else if ((c & 0xfc00) == 0xd800) {\n i++;\n const c2 = str.charCodeAt(i);\n assertArgument(i < str.length && ((c2 & 0xfc00) === 0xdc00), \"invalid surrogate pair\", \"str\", str);\n // Surrogate Pair\n const pair = 0x10000 + ((c & 0x03ff) << 10) + (c2 & 0x03ff);\n result.push((pair >> 18) | 0xf0);\n result.push(((pair >> 12) & 0x3f) | 0x80);\n result.push(((pair >> 6) & 0x3f) | 0x80);\n result.push((pair & 0x3f) | 0x80);\n }\n else {\n result.push((c >> 12) | 0xe0);\n result.push(((c >> 6) & 0x3f) | 0x80);\n result.push((c & 0x3f) | 0x80);\n }\n }\n return new Uint8Array(result);\n}\n;\n//export \nfunction _toUtf8String(codePoints) {\n return codePoints.map((codePoint) => {\n if (codePoint <= 0xffff) {\n return String.fromCharCode(codePoint);\n }\n codePoint -= 0x10000;\n return String.fromCharCode((((codePoint >> 10) & 0x3ff) + 0xd800), ((codePoint & 0x3ff) + 0xdc00));\n }).join(\"\");\n}\n/**\n * Returns the string represented by the UTF-8 data %%bytes%%.\n *\n * When %%onError%% function is specified, it is called on UTF-8\n * errors allowing recovery using the [[Utf8ErrorFunc]] API.\n * (default: [error](Utf8ErrorFuncs))\n */\nexport function toUtf8String(bytes, onError) {\n return _toUtf8String(getUtf8CodePoints(bytes, onError));\n}\n/**\n * Returns the UTF-8 code-points for %%str%%.\n *\n * If %%form%% is specified, the string is normalized.\n */\nexport function toUtf8CodePoints(str, form) {\n return getUtf8CodePoints(toUtf8Bytes(str, form));\n}\n//# sourceMappingURL=utf8.js.map","import { assert } from \"./errors.js\";\n// @TODO: timeout is completely ignored; start a Promise.any with a reject?\nexport function createGetUrl(options) {\n async function getUrl(req, _signal) {\n const protocol = req.url.split(\":\")[0].toLowerCase();\n assert(protocol === \"http\" || protocol === \"https\", `unsupported protocol ${protocol}`, \"UNSUPPORTED_OPERATION\", {\n info: { protocol },\n operation: \"request\"\n });\n assert(protocol === \"https\" || !req.credentials || req.allowInsecureAuthentication, \"insecure authorized connections unsupported\", \"UNSUPPORTED_OPERATION\", {\n operation: \"request\"\n });\n let signal = undefined;\n if (_signal) {\n const controller = new AbortController();\n signal = controller.signal;\n _signal.addListener(() => { controller.abort(); });\n }\n const init = {\n method: req.method,\n headers: new Headers(Array.from(req)),\n body: req.body || undefined,\n signal\n };\n const resp = await fetch(req.url, init);\n const headers = {};\n resp.headers.forEach((value, key) => {\n headers[key.toLowerCase()] = value;\n });\n const respBody = await resp.arrayBuffer();\n const body = (respBody == null) ? null : new Uint8Array(respBody);\n return {\n statusCode: resp.status,\n statusMessage: resp.statusText,\n headers, body\n };\n }\n return getUrl;\n}\n// @TODO: remove in v7; provided for backwards compat\nconst defaultGetUrl = createGetUrl({});\nexport async function getUrl(req, _signal) {\n return defaultGetUrl(req, _signal);\n}\n//# sourceMappingURL=geturl-browser.js.map","/**\n * Fetching content from the web is environment-specific, so Ethers\n * provides an abstraction that each environment can implement to provide\n * this service.\n *\n * On [Node.js](link-node), the ``http`` and ``https`` libs are used to\n * create a request object, register event listeners and process data\n * and populate the [[FetchResponse]].\n *\n * In a browser, the [DOM fetch](link-js-fetch) is used, and the resulting\n * ``Promise`` is waited on to retrieve the payload.\n *\n * The [[FetchRequest]] is responsible for handling many common situations,\n * such as redirects, server throttling, authentication, etc.\n *\n * It also handles common gateways, such as IPFS and data URIs.\n *\n * @_section api/utils/fetching:Fetching Web Content [about-fetch]\n */\nimport { decodeBase64, encodeBase64 } from \"./base64.js\";\nimport { hexlify } from \"./data.js\";\nimport { assert, assertArgument } from \"./errors.js\";\nimport { defineProperties } from \"./properties.js\";\nimport { toUtf8Bytes, toUtf8String } from \"./utf8.js\";\nimport { createGetUrl } from \"./geturl.js\";\nconst MAX_ATTEMPTS = 12;\nconst SLOT_INTERVAL = 250;\n// The global FetchGetUrlFunc implementation.\nlet defaultGetUrlFunc = createGetUrl();\nconst reData = new RegExp(\"^data:([^;:]*)?(;base64)?,(.*)$\", \"i\");\nconst reIpfs = new RegExp(\"^ipfs:/\\/(ipfs/)?(.*)$\", \"i\");\n// If locked, new Gateways cannot be added\nlet locked = false;\n// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs\nasync function dataGatewayFunc(url, signal) {\n try {\n const match = url.match(reData);\n if (!match) {\n throw new Error(\"invalid data\");\n }\n return new FetchResponse(200, \"OK\", {\n \"content-type\": (match[1] || \"text/plain\"),\n }, (match[2] ? decodeBase64(match[3]) : unpercent(match[3])));\n }\n catch (error) {\n return new FetchResponse(599, \"BAD REQUEST (invalid data: URI)\", {}, null, new FetchRequest(url));\n }\n}\n/**\n * Returns a [[FetchGatewayFunc]] for fetching content from a standard\n * IPFS gateway hosted at %%baseUrl%%.\n */\nfunction getIpfsGatewayFunc(baseUrl) {\n async function gatewayIpfs(url, signal) {\n try {\n const match = url.match(reIpfs);\n if (!match) {\n throw new Error(\"invalid link\");\n }\n return new FetchRequest(`${baseUrl}${match[2]}`);\n }\n catch (error) {\n return new FetchResponse(599, \"BAD REQUEST (invalid IPFS URI)\", {}, null, new FetchRequest(url));\n }\n }\n return gatewayIpfs;\n}\nconst Gateways = {\n \"data\": dataGatewayFunc,\n \"ipfs\": getIpfsGatewayFunc(\"https:/\\/gateway.ipfs.io/ipfs/\")\n};\nconst fetchSignals = new WeakMap();\n/**\n * @_ignore\n */\nexport class FetchCancelSignal {\n #listeners;\n #cancelled;\n constructor(request) {\n this.#listeners = [];\n this.#cancelled = false;\n fetchSignals.set(request, () => {\n if (this.#cancelled) {\n return;\n }\n this.#cancelled = true;\n for (const listener of this.#listeners) {\n setTimeout(() => { listener(); }, 0);\n }\n this.#listeners = [];\n });\n }\n addListener(listener) {\n assert(!this.#cancelled, \"singal already cancelled\", \"UNSUPPORTED_OPERATION\", {\n operation: \"fetchCancelSignal.addCancelListener\"\n });\n this.#listeners.push(listener);\n }\n get cancelled() { return this.#cancelled; }\n checkSignal() {\n assert(!this.cancelled, \"cancelled\", \"CANCELLED\", {});\n }\n}\n// Check the signal, throwing if it is cancelled\nfunction checkSignal(signal) {\n if (signal == null) {\n throw new Error(\"missing signal; should not happen\");\n }\n signal.checkSignal();\n return signal;\n}\n/**\n * Represents a request for a resource using a URI.\n *\n * By default, the supported schemes are ``HTTP``, ``HTTPS``, ``data:``,\n * and ``IPFS:``.\n *\n * Additional schemes can be added globally using [[registerGateway]].\n *\n * @example:\n * req = new FetchRequest(\"https://www.ricmoo.com\")\n * resp = await req.send()\n * resp.body.length\n * //_result:\n */\nexport class FetchRequest {\n #allowInsecure;\n #gzip;\n #headers;\n #method;\n #timeout;\n #url;\n #body;\n #bodyType;\n #creds;\n // Hooks\n #preflight;\n #process;\n #retry;\n #signal;\n #throttle;\n #getUrlFunc;\n /**\n * The fetch URL to request.\n */\n get url() { return this.#url; }\n set url(url) {\n this.#url = String(url);\n }\n /**\n * The fetch body, if any, to send as the request body. //(default: null)//\n *\n * When setting a body, the intrinsic ``Content-Type`` is automatically\n * set and will be used if **not overridden** by setting a custom\n * header.\n *\n * If %%body%% is null, the body is cleared (along with the\n * intrinsic ``Content-Type``).\n *\n * If %%body%% is a string, the intrinsic ``Content-Type`` is set to\n * ``text/plain``.\n *\n * If %%body%% is a Uint8Array, the intrinsic ``Content-Type`` is set to\n * ``application/octet-stream``.\n *\n * If %%body%% is any other object, the intrinsic ``Content-Type`` is\n * set to ``application/json``.\n */\n get body() {\n if (this.#body == null) {\n return null;\n }\n return new Uint8Array(this.#body);\n }\n set body(body) {\n if (body == null) {\n this.#body = undefined;\n this.#bodyType = undefined;\n }\n else if (typeof (body) === \"string\") {\n this.#body = toUtf8Bytes(body);\n this.#bodyType = \"text/plain\";\n }\n else if (body instanceof Uint8Array) {\n this.#body = body;\n this.#bodyType = \"application/octet-stream\";\n }\n else if (typeof (body) === \"object\") {\n this.#body = toUtf8Bytes(JSON.stringify(body));\n this.#bodyType = \"application/json\";\n }\n else {\n throw new Error(\"invalid body\");\n }\n }\n /**\n * Returns true if the request has a body.\n */\n hasBody() {\n return (this.#body != null);\n }\n /**\n * The HTTP method to use when requesting the URI. If no method\n * has been explicitly set, then ``GET`` is used if the body is\n * null and ``POST`` otherwise.\n */\n get method() {\n if (this.#method) {\n return this.#method;\n }\n if (this.hasBody()) {\n return \"POST\";\n }\n return \"GET\";\n }\n set method(method) {\n if (method == null) {\n method = \"\";\n }\n this.#method = String(method).toUpperCase();\n }\n /**\n * The headers that will be used when requesting the URI. All\n * keys are lower-case.\n *\n * This object is a copy, so any changes will **NOT** be reflected\n * in the ``FetchRequest``.\n *\n * To set a header entry, use the ``setHeader`` method.\n */\n get headers() {\n const headers = Object.assign({}, this.#headers);\n if (this.#creds) {\n headers[\"authorization\"] = `Basic ${encodeBase64(toUtf8Bytes(this.#creds))}`;\n }\n ;\n if (this.allowGzip) {\n headers[\"accept-encoding\"] = \"gzip\";\n }\n if (headers[\"content-type\"] == null && this.#bodyType) {\n headers[\"content-type\"] = this.#bodyType;\n }\n if (this.body) {\n headers[\"content-length\"] = String(this.body.length);\n }\n return headers;\n }\n /**\n * Get the header for %%key%%, ignoring case.\n */\n getHeader(key) {\n return this.headers[key.toLowerCase()];\n }\n /**\n * Set the header for %%key%% to %%value%%. All values are coerced\n * to a string.\n */\n setHeader(key, value) {\n this.#headers[String(key).toLowerCase()] = String(value);\n }\n /**\n * Clear all headers, resetting all intrinsic headers.\n */\n clearHeaders() {\n this.#headers = {};\n }\n [Symbol.iterator]() {\n const headers = this.headers;\n const keys = Object.keys(headers);\n let index = 0;\n return {\n next: () => {\n if (index < keys.length) {\n const key = keys[index++];\n return {\n value: [key, headers[key]], done: false\n };\n }\n return { value: undefined, done: true };\n }\n };\n }\n /**\n * The value that will be sent for the ``Authorization`` header.\n *\n * To set the credentials, use the ``setCredentials`` method.\n */\n get credentials() {\n return this.#creds || null;\n }\n /**\n * Sets an ``Authorization`` for %%username%% with %%password%%.\n */\n setCredentials(username, password) {\n assertArgument(!username.match(/:/), \"invalid basic authentication username\", \"username\", \"[REDACTED]\");\n this.#creds = `${username}:${password}`;\n }\n /**\n * Enable and request gzip-encoded responses. The response will\n * automatically be decompressed. //(default: true)//\n */\n get allowGzip() {\n return this.#gzip;\n }\n set allowGzip(value) {\n this.#gzip = !!value;\n }\n /**\n * Allow ``Authentication`` credentials to be sent over insecure\n * channels. //(default: false)//\n */\n get allowInsecureAuthentication() {\n return !!this.#allowInsecure;\n }\n set allowInsecureAuthentication(value) {\n this.#allowInsecure = !!value;\n }\n /**\n * The timeout (in milliseconds) to wait for a complete response.\n * //(default: 5 minutes)//\n */\n get timeout() { return this.#timeout; }\n set timeout(timeout) {\n assertArgument(timeout >= 0, \"timeout must be non-zero\", \"timeout\", timeout);\n this.#timeout = timeout;\n }\n /**\n * This function is called prior to each request, for example\n * during a redirection or retry in case of server throttling.\n *\n * This offers an opportunity to populate headers or update\n * content before sending a request.\n */\n get preflightFunc() {\n return this.#preflight || null;\n }\n set preflightFunc(preflight) {\n this.#preflight = preflight;\n }\n /**\n * This function is called after each response, offering an\n * opportunity to provide client-level throttling or updating\n * response data.\n *\n * Any error thrown in this causes the ``send()`` to throw.\n *\n * To schedule a retry attempt (assuming the maximum retry limit\n * has not been reached), use [[response.throwThrottleError]].\n */\n get processFunc() {\n return this.#process || null;\n }\n set processFunc(process) {\n this.#process = process;\n }\n /**\n * This function is called on each retry attempt.\n */\n get retryFunc() {\n return this.#retry || null;\n }\n set retryFunc(retry) {\n this.#retry = retry;\n }\n /**\n * This function is called to fetch content from HTTP and\n * HTTPS URLs and is platform specific (e.g. nodejs vs\n * browsers).\n *\n * This is by default the currently registered global getUrl\n * function, which can be changed using [[registerGetUrl]].\n * If this has been set, setting is to ``null`` will cause\n * this FetchRequest (and any future clones) to revert back to\n * using the currently registered global getUrl function.\n *\n * Setting this is generally not necessary, but may be useful\n * for developers that wish to intercept requests or to\n * configurege a proxy or other agent.\n */\n get getUrlFunc() {\n return this.#getUrlFunc || defaultGetUrlFunc;\n }\n set getUrlFunc(value) {\n this.#getUrlFunc = value;\n }\n /**\n * Create a new FetchRequest instance with default values.\n *\n * Once created, each property may be set before issuing a\n * ``.send()`` to make the request.\n */\n constructor(url) {\n this.#url = String(url);\n this.#allowInsecure = false;\n this.#gzip = true;\n this.#headers = {};\n this.#method = \"\";\n this.#timeout = 300000;\n this.#throttle = {\n slotInterval: SLOT_INTERVAL,\n maxAttempts: MAX_ATTEMPTS\n };\n this.#getUrlFunc = null;\n }\n toString() {\n return ``;\n }\n /**\n * Update the throttle parameters used to determine maximum\n * attempts and exponential-backoff properties.\n */\n setThrottleParams(params) {\n if (params.slotInterval != null) {\n this.#throttle.slotInterval = params.slotInterval;\n }\n if (params.maxAttempts != null) {\n this.#throttle.maxAttempts = params.maxAttempts;\n }\n }\n async #send(attempt, expires, delay, _request, _response) {\n if (attempt >= this.#throttle.maxAttempts) {\n return _response.makeServerError(\"exceeded maximum retry limit\");\n }\n assert(getTime() <= expires, \"timeout\", \"TIMEOUT\", {\n operation: \"request.send\", reason: \"timeout\", request: _request\n });\n if (delay > 0) {\n await wait(delay);\n }\n let req = this.clone();\n const scheme = (req.url.split(\":\")[0] || \"\").toLowerCase();\n // Process any Gateways\n if (scheme in Gateways) {\n const result = await Gateways[scheme](req.url, checkSignal(_request.#signal));\n if (result instanceof FetchResponse) {\n let response = result;\n if (this.processFunc) {\n checkSignal(_request.#signal);\n try {\n response = await this.processFunc(req, response);\n }\n catch (error) {\n // Something went wrong during processing; throw a 5xx server error\n if (error.throttle == null || typeof (error.stall) !== \"number\") {\n response.makeServerError(\"error in post-processing function\", error).assertOk();\n }\n // Ignore throttling\n }\n }\n return response;\n }\n req = result;\n }\n // We have a preflight function; update the request\n if (this.preflightFunc) {\n req = await this.preflightFunc(req);\n }\n const resp = await this.getUrlFunc(req, checkSignal(_request.#signal));\n let response = new FetchResponse(resp.statusCode, resp.statusMessage, resp.headers, resp.body, _request);\n if (response.statusCode === 301 || response.statusCode === 302) {\n // Redirect\n try {\n const location = response.headers.location || \"\";\n return req.redirect(location).#send(attempt + 1, expires, 0, _request, response);\n }\n catch (error) { }\n // Things won't get any better on another attempt; abort\n return response;\n }\n else if (response.statusCode === 429) {\n // Throttle\n if (this.retryFunc == null || (await this.retryFunc(req, response, attempt))) {\n const retryAfter = response.headers[\"retry-after\"];\n let delay = this.#throttle.slotInterval * Math.trunc(Math.random() * Math.pow(2, attempt));\n if (typeof (retryAfter) === \"string\" && retryAfter.match(/^[1-9][0-9]*$/)) {\n delay = parseInt(retryAfter);\n }\n return req.clone().#send(attempt + 1, expires, delay, _request, response);\n }\n }\n if (this.processFunc) {\n checkSignal(_request.#signal);\n try {\n response = await this.processFunc(req, response);\n }\n catch (error) {\n // Something went wrong during processing; throw a 5xx server error\n if (error.throttle == null || typeof (error.stall) !== \"number\") {\n response.makeServerError(\"error in post-processing function\", error).assertOk();\n }\n // Throttle\n let delay = this.#throttle.slotInterval * Math.trunc(Math.random() * Math.pow(2, attempt));\n ;\n if (error.stall >= 0) {\n delay = error.stall;\n }\n return req.clone().#send(attempt + 1, expires, delay, _request, response);\n }\n }\n return response;\n }\n /**\n * Resolves to the response by sending the request.\n */\n send() {\n assert(this.#signal == null, \"request already sent\", \"UNSUPPORTED_OPERATION\", { operation: \"fetchRequest.send\" });\n this.#signal = new FetchCancelSignal(this);\n return this.#send(0, getTime() + this.timeout, 0, this, new FetchResponse(0, \"\", {}, null, this));\n }\n /**\n * Cancels the inflight response, causing a ``CANCELLED``\n * error to be rejected from the [[send]].\n */\n cancel() {\n assert(this.#signal != null, \"request has not been sent\", \"UNSUPPORTED_OPERATION\", { operation: \"fetchRequest.cancel\" });\n const signal = fetchSignals.get(this);\n if (!signal) {\n throw new Error(\"missing signal; should not happen\");\n }\n signal();\n }\n /**\n * Returns a new [[FetchRequest]] that represents the redirection\n * to %%location%%.\n */\n redirect(location) {\n // Redirection; for now we only support absolute locations\n const current = this.url.split(\":\")[0].toLowerCase();\n const target = location.split(\":\")[0].toLowerCase();\n // Don't allow redirecting:\n // - non-GET requests\n // - downgrading the security (e.g. https => http)\n // - to non-HTTP (or non-HTTPS) protocols [this could be relaxed?]\n assert(this.method === \"GET\" && (current !== \"https\" || target !== \"http\") && location.match(/^https?:/), `unsupported redirect`, \"UNSUPPORTED_OPERATION\", {\n operation: `redirect(${this.method} ${JSON.stringify(this.url)} => ${JSON.stringify(location)})`\n });\n // Create a copy of this request, with a new URL\n const req = new FetchRequest(location);\n req.method = \"GET\";\n req.allowGzip = this.allowGzip;\n req.timeout = this.timeout;\n req.#headers = Object.assign({}, this.#headers);\n if (this.#body) {\n req.#body = new Uint8Array(this.#body);\n }\n req.#bodyType = this.#bodyType;\n // Do not forward credentials unless on the same domain; only absolute\n //req.allowInsecure = false;\n // paths are currently supported; may want a way to specify to forward?\n //setStore(req.#props, \"creds\", getStore(this.#pros, \"creds\"));\n return req;\n }\n /**\n * Create a new copy of this request.\n */\n clone() {\n const clone = new FetchRequest(this.url);\n // Preserve \"default method\" (i.e. null)\n clone.#method = this.#method;\n // Preserve \"default body\" with type, copying the Uint8Array is present\n if (this.#body) {\n clone.#body = this.#body;\n }\n clone.#bodyType = this.#bodyType;\n // Preserve \"default headers\"\n clone.#headers = Object.assign({}, this.#headers);\n // Credentials is readonly, so we copy internally\n clone.#creds = this.#creds;\n if (this.allowGzip) {\n clone.allowGzip = true;\n }\n clone.timeout = this.timeout;\n if (this.allowInsecureAuthentication) {\n clone.allowInsecureAuthentication = true;\n }\n clone.#preflight = this.#preflight;\n clone.#process = this.#process;\n clone.#retry = this.#retry;\n clone.#getUrlFunc = this.#getUrlFunc;\n return clone;\n }\n /**\n * Locks all static configuration for gateways and FetchGetUrlFunc\n * registration.\n */\n static lockConfig() {\n locked = true;\n }\n /**\n * Get the current Gateway function for %%scheme%%.\n */\n static getGateway(scheme) {\n return Gateways[scheme.toLowerCase()] || null;\n }\n /**\n * Use the %%func%% when fetching URIs using %%scheme%%.\n *\n * This method affects all requests globally.\n *\n * If [[lockConfig]] has been called, no change is made and this\n * throws.\n */\n static registerGateway(scheme, func) {\n scheme = scheme.toLowerCase();\n if (scheme === \"http\" || scheme === \"https\") {\n throw new Error(`cannot intercept ${scheme}; use registerGetUrl`);\n }\n if (locked) {\n throw new Error(\"gateways locked\");\n }\n Gateways[scheme] = func;\n }\n /**\n * Use %%getUrl%% when fetching URIs over HTTP and HTTPS requests.\n *\n * This method affects all requests globally.\n *\n * If [[lockConfig]] has been called, no change is made and this\n * throws.\n */\n static registerGetUrl(getUrl) {\n if (locked) {\n throw new Error(\"gateways locked\");\n }\n defaultGetUrlFunc = getUrl;\n }\n /**\n * Creates a getUrl function that fetches content from HTTP and\n * HTTPS URLs.\n *\n * The available %%options%% are dependent on the platform\n * implementation of the default getUrl function.\n *\n * This is not generally something that is needed, but is useful\n * when trying to customize simple behaviour when fetching HTTP\n * content.\n */\n static createGetUrlFunc(options) {\n return createGetUrl(options);\n }\n /**\n * Creates a function that can \"fetch\" data URIs.\n *\n * Note that this is automatically done internally to support\n * data URIs, so it is not necessary to register it.\n *\n * This is not generally something that is needed, but may\n * be useful in a wrapper to perfom custom data URI functionality.\n */\n static createDataGateway() {\n return dataGatewayFunc;\n }\n /**\n * Creates a function that will fetch IPFS (unvalidated) from\n * a custom gateway baseUrl.\n *\n * The default IPFS gateway used internally is\n * ``\"https:/\\/gateway.ipfs.io/ipfs/\"``.\n */\n static createIpfsGatewayFunc(baseUrl) {\n return getIpfsGatewayFunc(baseUrl);\n }\n}\n;\n/**\n * The response for a FetchRequest.\n */\nexport class FetchResponse {\n #statusCode;\n #statusMessage;\n #headers;\n #body;\n #request;\n #error;\n toString() {\n return ``;\n }\n /**\n * The response status code.\n */\n get statusCode() { return this.#statusCode; }\n /**\n * The response status message.\n */\n get statusMessage() { return this.#statusMessage; }\n /**\n * The response headers. All keys are lower-case.\n */\n get headers() { return Object.assign({}, this.#headers); }\n /**\n * The response body, or ``null`` if there was no body.\n */\n get body() {\n return (this.#body == null) ? null : new Uint8Array(this.#body);\n }\n /**\n * The response body as a UTF-8 encoded string, or the empty\n * string (i.e. ``\"\"``) if there was no body.\n *\n * An error is thrown if the body is invalid UTF-8 data.\n */\n get bodyText() {\n try {\n return (this.#body == null) ? \"\" : toUtf8String(this.#body);\n }\n catch (error) {\n assert(false, \"response body is not valid UTF-8 data\", \"UNSUPPORTED_OPERATION\", {\n operation: \"bodyText\", info: { response: this }\n });\n }\n }\n /**\n * The response body, decoded as JSON.\n *\n * An error is thrown if the body is invalid JSON-encoded data\n * or if there was no body.\n */\n get bodyJson() {\n try {\n return JSON.parse(this.bodyText);\n }\n catch (error) {\n assert(false, \"response body is not valid JSON\", \"UNSUPPORTED_OPERATION\", {\n operation: \"bodyJson\", info: { response: this }\n });\n }\n }\n [Symbol.iterator]() {\n const headers = this.headers;\n const keys = Object.keys(headers);\n let index = 0;\n return {\n next: () => {\n if (index < keys.length) {\n const key = keys[index++];\n return {\n value: [key, headers[key]], done: false\n };\n }\n return { value: undefined, done: true };\n }\n };\n }\n constructor(statusCode, statusMessage, headers, body, request) {\n this.#statusCode = statusCode;\n this.#statusMessage = statusMessage;\n this.#headers = Object.keys(headers).reduce((accum, k) => {\n accum[k.toLowerCase()] = String(headers[k]);\n return accum;\n }, {});\n this.#body = ((body == null) ? null : new Uint8Array(body));\n this.#request = (request || null);\n this.#error = { message: \"\" };\n }\n /**\n * Return a Response with matching headers and body, but with\n * an error status code (i.e. 599) and %%message%% with an\n * optional %%error%%.\n */\n makeServerError(message, error) {\n let statusMessage;\n if (!message) {\n message = `${this.statusCode} ${this.statusMessage}`;\n statusMessage = `CLIENT ESCALATED SERVER ERROR (${message})`;\n }\n else {\n statusMessage = `CLIENT ESCALATED SERVER ERROR (${this.statusCode} ${this.statusMessage}; ${message})`;\n }\n const response = new FetchResponse(599, statusMessage, this.headers, this.body, this.#request || undefined);\n response.#error = { message, error };\n return response;\n }\n /**\n * If called within a [request.processFunc](FetchRequest-processFunc)\n * call, causes the request to retry as if throttled for %%stall%%\n * milliseconds.\n */\n throwThrottleError(message, stall) {\n if (stall == null) {\n stall = -1;\n }\n else {\n assertArgument(Number.isInteger(stall) && stall >= 0, \"invalid stall timeout\", \"stall\", stall);\n }\n const error = new Error(message || \"throttling requests\");\n defineProperties(error, { stall, throttle: true });\n throw error;\n }\n /**\n * Get the header value for %%key%%, ignoring case.\n */\n getHeader(key) {\n return this.headers[key.toLowerCase()];\n }\n /**\n * Returns true if the response has a body.\n */\n hasBody() {\n return (this.#body != null);\n }\n /**\n * The request made for this response.\n */\n get request() { return this.#request; }\n /**\n * Returns true if this response was a success statusCode.\n */\n ok() {\n return (this.#error.message === \"\" && this.statusCode >= 200 && this.statusCode < 300);\n }\n /**\n * Throws a ``SERVER_ERROR`` if this response is not ok.\n */\n assertOk() {\n if (this.ok()) {\n return;\n }\n let { message, error } = this.#error;\n if (message === \"\") {\n message = `server response ${this.statusCode} ${this.statusMessage}`;\n }\n let requestUrl = null;\n if (this.request) {\n requestUrl = this.request.url;\n }\n let responseBody = null;\n try {\n if (this.#body) {\n responseBody = toUtf8String(this.#body);\n }\n }\n catch (e) { }\n assert(false, message, \"SERVER_ERROR\", {\n request: (this.request || \"unknown request\"), response: this, error,\n info: {\n requestUrl, responseBody,\n responseStatus: `${this.statusCode} ${this.statusMessage}`\n }\n });\n }\n}\nfunction getTime() { return (new Date()).getTime(); }\nfunction unpercent(value) {\n return toUtf8Bytes(value.replace(/%([0-9a-f][0-9a-f])/gi, (all, code) => {\n return String.fromCharCode(parseInt(code, 16));\n }));\n}\nfunction wait(delay) {\n return new Promise((resolve) => setTimeout(resolve, delay));\n}\n//# sourceMappingURL=fetch.js.map","/**\n * The **FixedNumber** class permits using values with decimal places,\n * using fixed-pont math.\n *\n * Fixed-point math is still based on integers under-the-hood, but uses an\n * internal offset to store fractional components below, and each operation\n * corrects for this after each operation.\n *\n * @_section: api/utils/fixed-point-math:Fixed-Point Maths [about-fixed-point-math]\n */\nimport { getBytes } from \"./data.js\";\nimport { assert, assertArgument, assertPrivate } from \"./errors.js\";\nimport { getBigInt, getNumber, fromTwos, mask, toBigInt } from \"./maths.js\";\nimport { defineProperties } from \"./properties.js\";\nconst BN_N1 = BigInt(-1);\nconst BN_0 = BigInt(0);\nconst BN_1 = BigInt(1);\nconst BN_5 = BigInt(5);\nconst _guard = {};\n// Constant to pull zeros from for multipliers\nlet Zeros = \"0000\";\nwhile (Zeros.length < 80) {\n Zeros += Zeros;\n}\n// Returns a string \"1\" followed by decimal \"0\"s\nfunction getTens(decimals) {\n let result = Zeros;\n while (result.length < decimals) {\n result += result;\n }\n return BigInt(\"1\" + result.substring(0, decimals));\n}\nfunction checkValue(val, format, safeOp) {\n const width = BigInt(format.width);\n if (format.signed) {\n const limit = (BN_1 << (width - BN_1));\n assert(safeOp == null || (val >= -limit && val < limit), \"overflow\", \"NUMERIC_FAULT\", {\n operation: safeOp, fault: \"overflow\", value: val\n });\n if (val > BN_0) {\n val = fromTwos(mask(val, width), width);\n }\n else {\n val = -fromTwos(mask(-val, width), width);\n }\n }\n else {\n const limit = (BN_1 << width);\n assert(safeOp == null || (val >= 0 && val < limit), \"overflow\", \"NUMERIC_FAULT\", {\n operation: safeOp, fault: \"overflow\", value: val\n });\n val = (((val % limit) + limit) % limit) & (limit - BN_1);\n }\n return val;\n}\nfunction getFormat(value) {\n if (typeof (value) === \"number\") {\n value = `fixed128x${value}`;\n }\n let signed = true;\n let width = 128;\n let decimals = 18;\n if (typeof (value) === \"string\") {\n // Parse the format string\n if (value === \"fixed\") {\n // defaults...\n }\n else if (value === \"ufixed\") {\n signed = false;\n }\n else {\n const match = value.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);\n assertArgument(match, \"invalid fixed format\", \"format\", value);\n signed = (match[1] !== \"u\");\n width = parseInt(match[2]);\n decimals = parseInt(match[3]);\n }\n }\n else if (value) {\n // Extract the values from the object\n const v = value;\n const check = (key, type, defaultValue) => {\n if (v[key] == null) {\n return defaultValue;\n }\n assertArgument(typeof (v[key]) === type, \"invalid fixed format (\" + key + \" not \" + type + \")\", \"format.\" + key, v[key]);\n return v[key];\n };\n signed = check(\"signed\", \"boolean\", signed);\n width = check(\"width\", \"number\", width);\n decimals = check(\"decimals\", \"number\", decimals);\n }\n assertArgument((width % 8) === 0, \"invalid FixedNumber width (not byte aligned)\", \"format.width\", width);\n assertArgument(decimals <= 80, \"invalid FixedNumber decimals (too large)\", \"format.decimals\", decimals);\n const name = (signed ? \"\" : \"u\") + \"fixed\" + String(width) + \"x\" + String(decimals);\n return { signed, width, decimals, name };\n}\nfunction toString(val, decimals) {\n let negative = \"\";\n if (val < BN_0) {\n negative = \"-\";\n val *= BN_N1;\n }\n let str = val.toString();\n // No decimal point for whole values\n if (decimals === 0) {\n return (negative + str);\n }\n // Pad out to the whole component (including a whole digit)\n while (str.length <= decimals) {\n str = Zeros + str;\n }\n // Insert the decimal point\n const index = str.length - decimals;\n str = str.substring(0, index) + \".\" + str.substring(index);\n // Trim the whole component (leaving at least one 0)\n while (str[0] === \"0\" && str[1] !== \".\") {\n str = str.substring(1);\n }\n // Trim the decimal component (leaving at least one 0)\n while (str[str.length - 1] === \"0\" && str[str.length - 2] !== \".\") {\n str = str.substring(0, str.length - 1);\n }\n return (negative + str);\n}\n/**\n * A FixedNumber represents a value over its [[FixedFormat]]\n * arithmetic field.\n *\n * A FixedNumber can be used to perform math, losslessly, on\n * values which have decmial places.\n *\n * A FixedNumber has a fixed bit-width to store values in, and stores all\n * values internally by multiplying the value by 10 raised to the power of\n * %%decimals%%.\n *\n * If operations are performed that cause a value to grow too high (close to\n * positive infinity) or too low (close to negative infinity), the value\n * is said to //overflow//.\n *\n * For example, an 8-bit signed value, with 0 decimals may only be within\n * the range ``-128`` to ``127``; so ``-128 - 1`` will overflow and become\n * ``127``. Likewise, ``127 + 1`` will overflow and become ``-127``.\n *\n * Many operation have a normal and //unsafe// variant. The normal variant\n * will throw a [[NumericFaultError]] on any overflow, while the //unsafe//\n * variant will silently allow overflow, corrupting its value value.\n *\n * If operations are performed that cause a value to become too small\n * (close to zero), the value loses precison and is said to //underflow//.\n *\n * For example, an value with 1 decimal place may store a number as small\n * as ``0.1``, but the value of ``0.1 / 2`` is ``0.05``, which cannot fit\n * into 1 decimal place, so underflow occurs which means precision is lost\n * and the value becomes ``0``.\n *\n * Some operations have a normal and //signalling// variant. The normal\n * variant will silently ignore underflow, while the //signalling// variant\n * will thow a [[NumericFaultError]] on underflow.\n */\nexport class FixedNumber {\n /**\n * The specific fixed-point arithmetic field for this value.\n */\n format;\n #format;\n // The actual value (accounting for decimals)\n #val;\n // A base-10 value to multiple values by to maintain the magnitude\n #tens;\n /**\n * This is a property so console.log shows a human-meaningful value.\n *\n * @private\n */\n _value;\n // Use this when changing this file to get some typing info,\n // but then switch to any to mask the internal type\n //constructor(guard: any, value: bigint, format: _FixedFormat) {\n /**\n * @private\n */\n constructor(guard, value, format) {\n assertPrivate(guard, _guard, \"FixedNumber\");\n this.#val = value;\n this.#format = format;\n const _value = toString(value, format.decimals);\n defineProperties(this, { format: format.name, _value });\n this.#tens = getTens(format.decimals);\n }\n /**\n * If true, negative values are permitted, otherwise only\n * positive values and zero are allowed.\n */\n get signed() { return this.#format.signed; }\n /**\n * The number of bits available to store the value.\n */\n get width() { return this.#format.width; }\n /**\n * The number of decimal places in the fixed-point arithment field.\n */\n get decimals() { return this.#format.decimals; }\n /**\n * The value as an integer, based on the smallest unit the\n * [[decimals]] allow.\n */\n get value() { return this.#val; }\n #checkFormat(other) {\n assertArgument(this.format === other.format, \"incompatible format; use fixedNumber.toFormat\", \"other\", other);\n }\n #checkValue(val, safeOp) {\n /*\n const width = BigInt(this.width);\n if (this.signed) {\n const limit = (BN_1 << (width - BN_1));\n assert(safeOp == null || (val >= -limit && val < limit), \"overflow\", \"NUMERIC_FAULT\", {\n operation: safeOp, fault: \"overflow\", value: val\n });\n \n if (val > BN_0) {\n val = fromTwos(mask(val, width), width);\n } else {\n val = -fromTwos(mask(-val, width), width);\n }\n \n } else {\n const masked = mask(val, width);\n assert(safeOp == null || (val >= 0 && val === masked), \"overflow\", \"NUMERIC_FAULT\", {\n operation: safeOp, fault: \"overflow\", value: val\n });\n val = masked;\n }\n */\n val = checkValue(val, this.#format, safeOp);\n return new FixedNumber(_guard, val, this.#format);\n }\n #add(o, safeOp) {\n this.#checkFormat(o);\n return this.#checkValue(this.#val + o.#val, safeOp);\n }\n /**\n * Returns a new [[FixedNumber]] with the result of %%this%% added\n * to %%other%%, ignoring overflow.\n */\n addUnsafe(other) { return this.#add(other); }\n /**\n * Returns a new [[FixedNumber]] with the result of %%this%% added\n * to %%other%%. A [[NumericFaultError]] is thrown if overflow\n * occurs.\n */\n add(other) { return this.#add(other, \"add\"); }\n #sub(o, safeOp) {\n this.#checkFormat(o);\n return this.#checkValue(this.#val - o.#val, safeOp);\n }\n /**\n * Returns a new [[FixedNumber]] with the result of %%other%% subtracted\n * from %%this%%, ignoring overflow.\n */\n subUnsafe(other) { return this.#sub(other); }\n /**\n * Returns a new [[FixedNumber]] with the result of %%other%% subtracted\n * from %%this%%. A [[NumericFaultError]] is thrown if overflow\n * occurs.\n */\n sub(other) { return this.#sub(other, \"sub\"); }\n #mul(o, safeOp) {\n this.#checkFormat(o);\n return this.#checkValue((this.#val * o.#val) / this.#tens, safeOp);\n }\n /**\n * Returns a new [[FixedNumber]] with the result of %%this%% multiplied\n * by %%other%%, ignoring overflow and underflow (precision loss).\n */\n mulUnsafe(other) { return this.#mul(other); }\n /**\n * Returns a new [[FixedNumber]] with the result of %%this%% multiplied\n * by %%other%%. A [[NumericFaultError]] is thrown if overflow\n * occurs.\n */\n mul(other) { return this.#mul(other, \"mul\"); }\n /**\n * Returns a new [[FixedNumber]] with the result of %%this%% multiplied\n * by %%other%%. A [[NumericFaultError]] is thrown if overflow\n * occurs or if underflow (precision loss) occurs.\n */\n mulSignal(other) {\n this.#checkFormat(other);\n const value = this.#val * other.#val;\n assert((value % this.#tens) === BN_0, \"precision lost during signalling mul\", \"NUMERIC_FAULT\", {\n operation: \"mulSignal\", fault: \"underflow\", value: this\n });\n return this.#checkValue(value / this.#tens, \"mulSignal\");\n }\n #div(o, safeOp) {\n assert(o.#val !== BN_0, \"division by zero\", \"NUMERIC_FAULT\", {\n operation: \"div\", fault: \"divide-by-zero\", value: this\n });\n this.#checkFormat(o);\n return this.#checkValue((this.#val * this.#tens) / o.#val, safeOp);\n }\n /**\n * Returns a new [[FixedNumber]] with the result of %%this%% divided\n * by %%other%%, ignoring underflow (precision loss). A\n * [[NumericFaultError]] is thrown if overflow occurs.\n */\n divUnsafe(other) { return this.#div(other); }\n /**\n * Returns a new [[FixedNumber]] with the result of %%this%% divided\n * by %%other%%, ignoring underflow (precision loss). A\n * [[NumericFaultError]] is thrown if overflow occurs.\n */\n div(other) { return this.#div(other, \"div\"); }\n /**\n * Returns a new [[FixedNumber]] with the result of %%this%% divided\n * by %%other%%. A [[NumericFaultError]] is thrown if underflow\n * (precision loss) occurs.\n */\n divSignal(other) {\n assert(other.#val !== BN_0, \"division by zero\", \"NUMERIC_FAULT\", {\n operation: \"div\", fault: \"divide-by-zero\", value: this\n });\n this.#checkFormat(other);\n const value = (this.#val * this.#tens);\n assert((value % other.#val) === BN_0, \"precision lost during signalling div\", \"NUMERIC_FAULT\", {\n operation: \"divSignal\", fault: \"underflow\", value: this\n });\n return this.#checkValue(value / other.#val, \"divSignal\");\n }\n /**\n * Returns a comparison result between %%this%% and %%other%%.\n *\n * This is suitable for use in sorting, where ``-1`` implies %%this%%\n * is smaller, ``1`` implies %%this%% is larger and ``0`` implies\n * both are equal.\n */\n cmp(other) {\n let a = this.value, b = other.value;\n // Coerce a and b to the same magnitude\n const delta = this.decimals - other.decimals;\n if (delta > 0) {\n b *= getTens(delta);\n }\n else if (delta < 0) {\n a *= getTens(-delta);\n }\n // Comnpare\n if (a < b) {\n return -1;\n }\n if (a > b) {\n return 1;\n }\n return 0;\n }\n /**\n * Returns true if %%other%% is equal to %%this%%.\n */\n eq(other) { return this.cmp(other) === 0; }\n /**\n * Returns true if %%other%% is less than to %%this%%.\n */\n lt(other) { return this.cmp(other) < 0; }\n /**\n * Returns true if %%other%% is less than or equal to %%this%%.\n */\n lte(other) { return this.cmp(other) <= 0; }\n /**\n * Returns true if %%other%% is greater than to %%this%%.\n */\n gt(other) { return this.cmp(other) > 0; }\n /**\n * Returns true if %%other%% is greater than or equal to %%this%%.\n */\n gte(other) { return this.cmp(other) >= 0; }\n /**\n * Returns a new [[FixedNumber]] which is the largest **integer**\n * that is less than or equal to %%this%%.\n *\n * The decimal component of the result will always be ``0``.\n */\n floor() {\n let val = this.#val;\n if (this.#val < BN_0) {\n val -= this.#tens - BN_1;\n }\n val = (this.#val / this.#tens) * this.#tens;\n return this.#checkValue(val, \"floor\");\n }\n /**\n * Returns a new [[FixedNumber]] which is the smallest **integer**\n * that is greater than or equal to %%this%%.\n *\n * The decimal component of the result will always be ``0``.\n */\n ceiling() {\n let val = this.#val;\n if (this.#val > BN_0) {\n val += this.#tens - BN_1;\n }\n val = (this.#val / this.#tens) * this.#tens;\n return this.#checkValue(val, \"ceiling\");\n }\n /**\n * Returns a new [[FixedNumber]] with the decimal component\n * rounded up on ties at %%decimals%% places.\n */\n round(decimals) {\n if (decimals == null) {\n decimals = 0;\n }\n // Not enough precision to not already be rounded\n if (decimals >= this.decimals) {\n return this;\n }\n const delta = this.decimals - decimals;\n const bump = BN_5 * getTens(delta - 1);\n let value = this.value + bump;\n const tens = getTens(delta);\n value = (value / tens) * tens;\n checkValue(value, this.#format, \"round\");\n return new FixedNumber(_guard, value, this.#format);\n }\n /**\n * Returns true if %%this%% is equal to ``0``.\n */\n isZero() { return (this.#val === BN_0); }\n /**\n * Returns true if %%this%% is less than ``0``.\n */\n isNegative() { return (this.#val < BN_0); }\n /**\n * Returns the string representation of %%this%%.\n */\n toString() { return this._value; }\n /**\n * Returns a float approximation.\n *\n * Due to IEEE 754 precission (or lack thereof), this function\n * can only return an approximation and most values will contain\n * rounding errors.\n */\n toUnsafeFloat() { return parseFloat(this.toString()); }\n /**\n * Return a new [[FixedNumber]] with the same value but has had\n * its field set to %%format%%.\n *\n * This will throw if the value cannot fit into %%format%%.\n */\n toFormat(format) {\n return FixedNumber.fromString(this.toString(), format);\n }\n /**\n * Creates a new [[FixedNumber]] for %%value%% divided by\n * %%decimal%% places with %%format%%.\n *\n * This will throw a [[NumericFaultError]] if %%value%% (once adjusted\n * for %%decimals%%) cannot fit in %%format%%, either due to overflow\n * or underflow (precision loss).\n */\n static fromValue(_value, _decimals, _format) {\n const decimals = (_decimals == null) ? 0 : getNumber(_decimals);\n const format = getFormat(_format);\n let value = getBigInt(_value, \"value\");\n const delta = decimals - format.decimals;\n if (delta > 0) {\n const tens = getTens(delta);\n assert((value % tens) === BN_0, \"value loses precision for format\", \"NUMERIC_FAULT\", {\n operation: \"fromValue\", fault: \"underflow\", value: _value\n });\n value /= tens;\n }\n else if (delta < 0) {\n value *= getTens(-delta);\n }\n checkValue(value, format, \"fromValue\");\n return new FixedNumber(_guard, value, format);\n }\n /**\n * Creates a new [[FixedNumber]] for %%value%% with %%format%%.\n *\n * This will throw a [[NumericFaultError]] if %%value%% cannot fit\n * in %%format%%, either due to overflow or underflow (precision loss).\n */\n static fromString(_value, _format) {\n const match = _value.match(/^(-?)([0-9]*)\\.?([0-9]*)$/);\n assertArgument(match && (match[2].length + match[3].length) > 0, \"invalid FixedNumber string value\", \"value\", _value);\n const format = getFormat(_format);\n let whole = (match[2] || \"0\"), decimal = (match[3] || \"\");\n // Pad out the decimals\n while (decimal.length < format.decimals) {\n decimal += Zeros;\n }\n // Check precision is safe\n assert(decimal.substring(format.decimals).match(/^0*$/), \"too many decimals for format\", \"NUMERIC_FAULT\", {\n operation: \"fromString\", fault: \"underflow\", value: _value\n });\n // Remove extra padding\n decimal = decimal.substring(0, format.decimals);\n const value = BigInt(match[1] + whole + decimal);\n checkValue(value, format, \"fromString\");\n return new FixedNumber(_guard, value, format);\n }\n /**\n * Creates a new [[FixedNumber]] with the big-endian representation\n * %%value%% with %%format%%.\n *\n * This will throw a [[NumericFaultError]] if %%value%% cannot fit\n * in %%format%% due to overflow.\n */\n static fromBytes(_value, _format) {\n let value = toBigInt(getBytes(_value, \"value\"));\n const format = getFormat(_format);\n if (format.signed) {\n value = fromTwos(value, format.width);\n }\n checkValue(value, format, \"fromBytes\");\n return new FixedNumber(_guard, value, format);\n }\n}\n//const f1 = FixedNumber.fromString(\"12.56\", \"fixed16x2\");\n//const f2 = FixedNumber.fromString(\"0.3\", \"fixed16x2\");\n//console.log(f1.divSignal(f2));\n//const BUMP = FixedNumber.from(\"0.5\");\n//# sourceMappingURL=fixednumber.js.map","//See: https://github.com/ethereum/wiki/wiki/RLP\nimport { hexlify } from \"./data.js\";\nimport { assert, assertArgument } from \"./errors.js\";\nimport { getBytes } from \"./data.js\";\nfunction hexlifyByte(value) {\n let result = value.toString(16);\n while (result.length < 2) {\n result = \"0\" + result;\n }\n return \"0x\" + result;\n}\nfunction unarrayifyInteger(data, offset, length) {\n let result = 0;\n for (let i = 0; i < length; i++) {\n result = (result * 256) + data[offset + i];\n }\n return result;\n}\nfunction _decodeChildren(data, offset, childOffset, length) {\n const result = [];\n while (childOffset < offset + 1 + length) {\n const decoded = _decode(data, childOffset);\n result.push(decoded.result);\n childOffset += decoded.consumed;\n assert(childOffset <= offset + 1 + length, \"child data too short\", \"BUFFER_OVERRUN\", {\n buffer: data, length, offset\n });\n }\n return { consumed: (1 + length), result: result };\n}\n// returns { consumed: number, result: Object }\nfunction _decode(data, offset) {\n assert(data.length !== 0, \"data too short\", \"BUFFER_OVERRUN\", {\n buffer: data, length: 0, offset: 1\n });\n const checkOffset = (offset) => {\n assert(offset <= data.length, \"data short segment too short\", \"BUFFER_OVERRUN\", {\n buffer: data, length: data.length, offset\n });\n };\n // Array with extra length prefix\n if (data[offset] >= 0xf8) {\n const lengthLength = data[offset] - 0xf7;\n checkOffset(offset + 1 + lengthLength);\n const length = unarrayifyInteger(data, offset + 1, lengthLength);\n checkOffset(offset + 1 + lengthLength + length);\n return _decodeChildren(data, offset, offset + 1 + lengthLength, lengthLength + length);\n }\n else if (data[offset] >= 0xc0) {\n const length = data[offset] - 0xc0;\n checkOffset(offset + 1 + length);\n return _decodeChildren(data, offset, offset + 1, length);\n }\n else if (data[offset] >= 0xb8) {\n const lengthLength = data[offset] - 0xb7;\n checkOffset(offset + 1 + lengthLength);\n const length = unarrayifyInteger(data, offset + 1, lengthLength);\n checkOffset(offset + 1 + lengthLength + length);\n const result = hexlify(data.slice(offset + 1 + lengthLength, offset + 1 + lengthLength + length));\n return { consumed: (1 + lengthLength + length), result: result };\n }\n else if (data[offset] >= 0x80) {\n const length = data[offset] - 0x80;\n checkOffset(offset + 1 + length);\n const result = hexlify(data.slice(offset + 1, offset + 1 + length));\n return { consumed: (1 + length), result: result };\n }\n return { consumed: 1, result: hexlifyByte(data[offset]) };\n}\n/**\n * Decodes %%data%% into the structured data it represents.\n */\nexport function decodeRlp(_data) {\n const data = getBytes(_data, \"data\");\n const decoded = _decode(data, 0);\n assertArgument(decoded.consumed === data.length, \"unexpected junk after rlp payload\", \"data\", _data);\n return decoded.result;\n}\n//# sourceMappingURL=rlp-decode.js.map","//See: https://github.com/ethereum/wiki/wiki/RLP\nimport { getBytes } from \"./data.js\";\nfunction arrayifyInteger(value) {\n const result = [];\n while (value) {\n result.unshift(value & 0xff);\n value >>= 8;\n }\n return result;\n}\nfunction _encode(object) {\n if (Array.isArray(object)) {\n let payload = [];\n object.forEach(function (child) {\n payload = payload.concat(_encode(child));\n });\n if (payload.length <= 55) {\n payload.unshift(0xc0 + payload.length);\n return payload;\n }\n const length = arrayifyInteger(payload.length);\n length.unshift(0xf7 + length.length);\n return length.concat(payload);\n }\n const data = Array.prototype.slice.call(getBytes(object, \"object\"));\n if (data.length === 1 && data[0] <= 0x7f) {\n return data;\n }\n else if (data.length <= 55) {\n data.unshift(0x80 + data.length);\n return data;\n }\n const length = arrayifyInteger(data.length);\n length.unshift(0xb7 + length.length);\n return length.concat(data);\n}\nconst nibbles = \"0123456789abcdef\";\n/**\n * Encodes %%object%% as an RLP-encoded [[DataHexString]].\n */\nexport function encodeRlp(object) {\n let result = \"0x\";\n for (const v of _encode(object)) {\n result += nibbles[v >> 4];\n result += nibbles[v & 0xf];\n }\n return result;\n}\n//# sourceMappingURL=rlp-encode.js.map","/**\n * Most interactions with Ethereum requires integer values, which use\n * the smallest magnitude unit.\n *\n * For example, imagine dealing with dollars and cents. Since dollars\n * are divisible, non-integer values are possible, such as ``$10.77``.\n * By using the smallest indivisible unit (i.e. cents), the value can\n * be kept as the integer ``1077``.\n *\n * When receiving decimal input from the user (as a decimal string),\n * the value should be converted to an integer and when showing a user\n * a value, the integer value should be converted to a decimal string.\n *\n * This creates a clear distinction, between values to be used by code\n * (integers) and values used for display logic to users (decimals).\n *\n * The native unit in Ethereum, //ether// is divisible to 18 decimal places,\n * where each individual unit is called a //wei//.\n *\n * @_subsection api/utils:Unit Conversion [about-units]\n */\nimport { assertArgument } from \"./errors.js\";\nimport { FixedNumber } from \"./fixednumber.js\";\nimport { getNumber } from \"./maths.js\";\nconst names = [\n \"wei\",\n \"kwei\",\n \"mwei\",\n \"gwei\",\n \"szabo\",\n \"finney\",\n \"ether\",\n];\n/**\n * Converts %%value%% into a //decimal string//, assuming %%unit%% decimal\n * places. The %%unit%% may be the number of decimal places or the name of\n * a unit (e.g. ``\"gwei\"`` for 9 decimal places).\n *\n */\nexport function formatUnits(value, unit) {\n let decimals = 18;\n if (typeof (unit) === \"string\") {\n const index = names.indexOf(unit);\n assertArgument(index >= 0, \"invalid unit\", \"unit\", unit);\n decimals = 3 * index;\n }\n else if (unit != null) {\n decimals = getNumber(unit, \"unit\");\n }\n return FixedNumber.fromValue(value, decimals, { decimals, width: 512 }).toString();\n}\n/**\n * Converts the //decimal string// %%value%% to a BigInt, assuming\n * %%unit%% decimal places. The %%unit%% may the number of decimal places\n * or the name of a unit (e.g. ``\"gwei\"`` for 9 decimal places).\n */\nexport function parseUnits(value, unit) {\n assertArgument(typeof (value) === \"string\", \"value must be a string\", \"value\", value);\n let decimals = 18;\n if (typeof (unit) === \"string\") {\n const index = names.indexOf(unit);\n assertArgument(index >= 0, \"invalid unit\", \"unit\", unit);\n decimals = 3 * index;\n }\n else if (unit != null) {\n decimals = getNumber(unit, \"unit\");\n }\n return FixedNumber.fromString(value, { decimals, width: 512 }).value;\n}\n/**\n * Converts %%value%% into a //decimal string// using 18 decimal places.\n */\nexport function formatEther(wei) {\n return formatUnits(wei, 18);\n}\n/**\n * Converts the //decimal string// %%ether%% to a BigInt, using 18\n * decimal places.\n */\nexport function parseEther(ether) {\n return parseUnits(ether, 18);\n}\n//# sourceMappingURL=units.js.map","/**\n * Explain UUID and link to RFC here.\n *\n * @_subsection: api/utils:UUID [about-uuid]\n */\nimport { getBytes, hexlify } from \"./data.js\";\n/**\n * Returns the version 4 [[link-uuid]] for the %%randomBytes%%.\n *\n * @see: https://www.ietf.org/rfc/rfc4122.txt (Section 4.4)\n */\nexport function uuidV4(randomBytes) {\n const bytes = getBytes(randomBytes, \"randomBytes\");\n // Section: 4.1.3:\n // - time_hi_and_version[12:16] = 0b0100\n bytes[6] = (bytes[6] & 0x0f) | 0x40;\n // Section 4.4\n // - clock_seq_hi_and_reserved[6] = 0b0\n // - clock_seq_hi_and_reserved[7] = 0b1\n bytes[8] = (bytes[8] & 0x3f) | 0x80;\n const value = hexlify(bytes);\n return [\n value.substring(2, 10),\n value.substring(10, 14),\n value.substring(14, 18),\n value.substring(18, 22),\n value.substring(22, 34),\n ].join(\"-\");\n}\n//# sourceMappingURL=uuid.js.map","import { defineProperties, concat, getBytesCopy, getNumber, hexlify, toBeArray, toBigInt, toNumber, assert, assertArgument } from \"../../utils/index.js\";\n/**\n * @_ignore:\n */\nexport const WordSize = 32;\nconst Padding = new Uint8Array(WordSize);\n// Properties used to immediate pass through to the underlying object\n// - `then` is used to detect if an object is a Promise for await\nconst passProperties = [\"then\"];\nconst _guard = {};\nfunction throwError(name, error) {\n const wrapped = new Error(`deferred error during ABI decoding triggered accessing ${name}`);\n wrapped.error = error;\n throw wrapped;\n}\n/**\n * A [[Result]] is a sub-class of Array, which allows accessing any\n * of its values either positionally by its index or, if keys are\n * provided by its name.\n *\n * @_docloc: api/abi\n */\nexport class Result extends Array {\n #names;\n /**\n * @private\n */\n constructor(...args) {\n // To properly sub-class Array so the other built-in\n // functions work, the constructor has to behave fairly\n // well. So, in the event we are created via fromItems()\n // we build the read-only Result object we want, but on\n // any other input, we use the default constructor\n // constructor(guard: any, items: Array, keys?: Array);\n const guard = args[0];\n let items = args[1];\n let names = (args[2] || []).slice();\n let wrap = true;\n if (guard !== _guard) {\n items = args;\n names = [];\n wrap = false;\n }\n // Can't just pass in ...items since an array of length 1\n // is a special case in the super.\n super(items.length);\n items.forEach((item, index) => { this[index] = item; });\n // Find all unique keys\n const nameCounts = names.reduce((accum, name) => {\n if (typeof (name) === \"string\") {\n accum.set(name, (accum.get(name) || 0) + 1);\n }\n return accum;\n }, (new Map()));\n // Remove any key thats not unique\n this.#names = Object.freeze(items.map((item, index) => {\n const name = names[index];\n if (name != null && nameCounts.get(name) === 1) {\n return name;\n }\n return null;\n }));\n if (!wrap) {\n return;\n }\n // A wrapped Result is immutable\n Object.freeze(this);\n // Proxy indices and names so we can trap deferred errors\n return new Proxy(this, {\n get: (target, prop, receiver) => {\n if (typeof (prop) === \"string\") {\n // Index accessor\n if (prop.match(/^[0-9]+$/)) {\n const index = getNumber(prop, \"%index\");\n if (index < 0 || index >= this.length) {\n throw new RangeError(\"out of result range\");\n }\n const item = target[index];\n if (item instanceof Error) {\n throwError(`index ${index}`, item);\n }\n return item;\n }\n // Pass important checks (like `then` for Promise) through\n if (passProperties.indexOf(prop) >= 0) {\n return Reflect.get(target, prop, receiver);\n }\n const value = target[prop];\n if (value instanceof Function) {\n // Make sure functions work with private variables\n // See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy#no_private_property_forwarding\n return function (...args) {\n return value.apply((this === receiver) ? target : this, args);\n };\n }\n else if (!(prop in target)) {\n // Possible name accessor\n return target.getValue.apply((this === receiver) ? target : this, [prop]);\n }\n }\n return Reflect.get(target, prop, receiver);\n }\n });\n }\n /**\n * Returns the Result as a normal Array.\n *\n * This will throw if there are any outstanding deferred\n * errors.\n */\n toArray() {\n const result = [];\n this.forEach((item, index) => {\n if (item instanceof Error) {\n throwError(`index ${index}`, item);\n }\n result.push(item);\n });\n return result;\n }\n /**\n * Returns the Result as an Object with each name-value pair.\n *\n * This will throw if any value is unnamed, or if there are\n * any outstanding deferred errors.\n */\n toObject() {\n return this.#names.reduce((accum, name, index) => {\n assert(name != null, \"value at index ${ index } unnamed\", \"UNSUPPORTED_OPERATION\", {\n operation: \"toObject()\"\n });\n // Add values for names that don't conflict\n if (!(name in accum)) {\n accum[name] = this.getValue(name);\n }\n return accum;\n }, {});\n }\n /**\n * @_ignore\n */\n slice(start, end) {\n if (start == null) {\n start = 0;\n }\n if (start < 0) {\n start += this.length;\n if (start < 0) {\n start = 0;\n }\n }\n if (end == null) {\n end = this.length;\n }\n if (end < 0) {\n end += this.length;\n if (end < 0) {\n end = 0;\n }\n }\n if (end > this.length) {\n end = this.length;\n }\n const result = [], names = [];\n for (let i = start; i < end; i++) {\n result.push(this[i]);\n names.push(this.#names[i]);\n }\n return new Result(_guard, result, names);\n }\n /**\n * @_ignore\n */\n filter(callback, thisArg) {\n const result = [], names = [];\n for (let i = 0; i < this.length; i++) {\n const item = this[i];\n if (item instanceof Error) {\n throwError(`index ${i}`, item);\n }\n if (callback.call(thisArg, item, i, this)) {\n result.push(item);\n names.push(this.#names[i]);\n }\n }\n return new Result(_guard, result, names);\n }\n /**\n * @_ignore\n */\n map(callback, thisArg) {\n const result = [];\n for (let i = 0; i < this.length; i++) {\n const item = this[i];\n if (item instanceof Error) {\n throwError(`index ${i}`, item);\n }\n result.push(callback.call(thisArg, item, i, this));\n }\n return result;\n }\n /**\n * Returns the value for %%name%%.\n *\n * Since it is possible to have a key whose name conflicts with\n * a method on a [[Result]] or its superclass Array, or any\n * JavaScript keyword, this ensures all named values are still\n * accessible by name.\n */\n getValue(name) {\n const index = this.#names.indexOf(name);\n if (index === -1) {\n return undefined;\n }\n const value = this[index];\n if (value instanceof Error) {\n throwError(`property ${JSON.stringify(name)}`, value.error);\n }\n return value;\n }\n /**\n * Creates a new [[Result]] for %%items%% with each entry\n * also accessible by its corresponding name in %%keys%%.\n */\n static fromItems(items, keys) {\n return new Result(_guard, items, keys);\n }\n}\n/**\n * Returns all errors found in a [[Result]].\n *\n * Since certain errors encountered when creating a [[Result]] do\n * not impact the ability to continue parsing data, they are\n * deferred until they are actually accessed. Hence a faulty string\n * in an Event that is never used does not impact the program flow.\n *\n * However, sometimes it may be useful to access, identify or\n * validate correctness of a [[Result]].\n *\n * @_docloc api/abi\n */\nexport function checkResultErrors(result) {\n // Find the first error (if any)\n const errors = [];\n const checkErrors = function (path, object) {\n if (!Array.isArray(object)) {\n return;\n }\n for (let key in object) {\n const childPath = path.slice();\n childPath.push(key);\n try {\n checkErrors(childPath, object[key]);\n }\n catch (error) {\n errors.push({ path: childPath, error: error });\n }\n }\n };\n checkErrors([], result);\n return errors;\n}\nfunction getValue(value) {\n let bytes = toBeArray(value);\n assert(bytes.length <= WordSize, \"value out-of-bounds\", \"BUFFER_OVERRUN\", { buffer: bytes, length: WordSize, offset: bytes.length });\n if (bytes.length !== WordSize) {\n bytes = getBytesCopy(concat([Padding.slice(bytes.length % WordSize), bytes]));\n }\n return bytes;\n}\n/**\n * @_ignore\n */\nexport class Coder {\n // The coder name:\n // - address, uint256, tuple, array, etc.\n name;\n // The fully expanded type, including composite types:\n // - address, uint256, tuple(address,bytes), uint256[3][4][], etc.\n type;\n // The localName bound in the signature, in this example it is \"baz\":\n // - tuple(address foo, uint bar) baz\n localName;\n // Whether this type is dynamic:\n // - Dynamic: bytes, string, address[], tuple(boolean[]), etc.\n // - Not Dynamic: address, uint256, boolean[3], tuple(address, uint8)\n dynamic;\n constructor(name, type, localName, dynamic) {\n defineProperties(this, { name, type, localName, dynamic }, {\n name: \"string\", type: \"string\", localName: \"string\", dynamic: \"boolean\"\n });\n }\n _throwError(message, value) {\n assertArgument(false, message, this.localName, value);\n }\n}\n/**\n * @_ignore\n */\nexport class Writer {\n // An array of WordSize lengthed objects to concatenation\n #data;\n #dataLength;\n constructor() {\n this.#data = [];\n this.#dataLength = 0;\n }\n get data() {\n return concat(this.#data);\n }\n get length() { return this.#dataLength; }\n #writeData(data) {\n this.#data.push(data);\n this.#dataLength += data.length;\n return data.length;\n }\n appendWriter(writer) {\n return this.#writeData(getBytesCopy(writer.data));\n }\n // Arrayish item; pad on the right to *nearest* WordSize\n writeBytes(value) {\n let bytes = getBytesCopy(value);\n const paddingOffset = bytes.length % WordSize;\n if (paddingOffset) {\n bytes = getBytesCopy(concat([bytes, Padding.slice(paddingOffset)]));\n }\n return this.#writeData(bytes);\n }\n // Numeric item; pad on the left *to* WordSize\n writeValue(value) {\n return this.#writeData(getValue(value));\n }\n // Inserts a numeric place-holder, returning a callback that can\n // be used to asjust the value later\n writeUpdatableValue() {\n const offset = this.#data.length;\n this.#data.push(Padding);\n this.#dataLength += WordSize;\n return (value) => {\n this.#data[offset] = getValue(value);\n };\n }\n}\n/**\n * @_ignore\n */\nexport class Reader {\n // Allows incomplete unpadded data to be read; otherwise an error\n // is raised if attempting to overrun the buffer. This is required\n // to deal with an old Solidity bug, in which event data for\n // external (not public thoguh) was tightly packed.\n allowLoose;\n #data;\n #offset;\n #bytesRead;\n #parent;\n #maxInflation;\n constructor(data, allowLoose, maxInflation) {\n defineProperties(this, { allowLoose: !!allowLoose });\n this.#data = getBytesCopy(data);\n this.#bytesRead = 0;\n this.#parent = null;\n this.#maxInflation = (maxInflation != null) ? maxInflation : 1024;\n this.#offset = 0;\n }\n get data() { return hexlify(this.#data); }\n get dataLength() { return this.#data.length; }\n get consumed() { return this.#offset; }\n get bytes() { return new Uint8Array(this.#data); }\n #incrementBytesRead(count) {\n if (this.#parent) {\n return this.#parent.#incrementBytesRead(count);\n }\n this.#bytesRead += count;\n // Check for excessive inflation (see: #4537)\n assert(this.#maxInflation < 1 || this.#bytesRead <= this.#maxInflation * this.dataLength, `compressed ABI data exceeds inflation ratio of ${this.#maxInflation} ( see: https:/\\/github.com/ethers-io/ethers.js/issues/4537 )`, \"BUFFER_OVERRUN\", {\n buffer: getBytesCopy(this.#data), offset: this.#offset,\n length: count, info: {\n bytesRead: this.#bytesRead,\n dataLength: this.dataLength\n }\n });\n }\n #peekBytes(offset, length, loose) {\n let alignedLength = Math.ceil(length / WordSize) * WordSize;\n if (this.#offset + alignedLength > this.#data.length) {\n if (this.allowLoose && loose && this.#offset + length <= this.#data.length) {\n alignedLength = length;\n }\n else {\n assert(false, \"data out-of-bounds\", \"BUFFER_OVERRUN\", {\n buffer: getBytesCopy(this.#data),\n length: this.#data.length,\n offset: this.#offset + alignedLength\n });\n }\n }\n return this.#data.slice(this.#offset, this.#offset + alignedLength);\n }\n // Create a sub-reader with the same underlying data, but offset\n subReader(offset) {\n const reader = new Reader(this.#data.slice(this.#offset + offset), this.allowLoose, this.#maxInflation);\n reader.#parent = this;\n return reader;\n }\n // Read bytes\n readBytes(length, loose) {\n let bytes = this.#peekBytes(0, length, !!loose);\n this.#incrementBytesRead(length);\n this.#offset += bytes.length;\n // @TODO: Make sure the length..end bytes are all 0?\n return bytes.slice(0, length);\n }\n // Read a numeric values\n readValue() {\n return toBigInt(this.readBytes(WordSize));\n }\n readIndex() {\n return toNumber(this.readBytes(WordSize));\n }\n}\n//# sourceMappingURL=abstract-coder.js.map","function number(n) {\n if (!Number.isSafeInteger(n) || n < 0)\n throw new Error(`Wrong positive integer: ${n}`);\n}\nfunction bool(b) {\n if (typeof b !== 'boolean')\n throw new Error(`Expected boolean, not ${b}`);\n}\nfunction bytes(b, ...lengths) {\n if (!(b instanceof Uint8Array))\n throw new Error('Expected Uint8Array');\n if (lengths.length > 0 && !lengths.includes(b.length))\n throw new Error(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`);\n}\nfunction hash(hash) {\n if (typeof hash !== 'function' || typeof hash.create !== 'function')\n throw new Error('Hash should be wrapped by utils.wrapConstructor');\n number(hash.outputLen);\n number(hash.blockLen);\n}\nfunction exists(instance, checkFinished = true) {\n if (instance.destroyed)\n throw new Error('Hash instance has been destroyed');\n if (checkFinished && instance.finished)\n throw new Error('Hash#digest() has already been called');\n}\nfunction output(out, instance) {\n bytes(out);\n const min = instance.outputLen;\n if (out.length < min) {\n throw new Error(`digestInto() expects output buffer of length at least ${min}`);\n }\n}\nexport { number, bool, bytes, hash, exists, output };\nconst assert = { number, bool, bytes, hash, exists, output };\nexport default assert;\n//# sourceMappingURL=_assert.js.map","export const crypto = typeof globalThis === 'object' && 'crypto' in globalThis ? globalThis.crypto : undefined;\n//# sourceMappingURL=crypto.js.map","/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n// We use WebCrypto aka globalThis.crypto, which exists in browsers and node.js 16+.\n// node.js versions earlier than v19 don't declare it in global scope.\n// For node.js, package.json#exports field mapping rewrites import\n// from `crypto` to `cryptoNode`, which imports native module.\n// Makes the utils un-importable in browsers without a bundler.\n// Once node.js 18 is deprecated, we can just drop the import.\nimport { crypto } from '@noble/hashes/crypto';\nconst u8a = (a) => a instanceof Uint8Array;\n// Cast array to different type\nexport const u8 = (arr) => new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);\nexport const u32 = (arr) => new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));\n// Cast array to view\nexport const createView = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\n// The rotate right (circular right shift) operation for uint32\nexport const rotr = (word, shift) => (word << (32 - shift)) | (word >>> shift);\n// big-endian hardware is rare. Just in case someone still decides to run hashes:\n// early-throw an error because we don't support BE yet.\nexport const isLE = new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44;\nif (!isLE)\n throw new Error('Non little-endian hardware is not supported');\nconst hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, '0'));\n/**\n * @example bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])) // 'cafe0123'\n */\nexport function bytesToHex(bytes) {\n if (!u8a(bytes))\n throw new Error('Uint8Array expected');\n // pre-caching improves the speed 6x\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n hex += hexes[bytes[i]];\n }\n return hex;\n}\n/**\n * @example hexToBytes('cafe0123') // Uint8Array.from([0xca, 0xfe, 0x01, 0x23])\n */\nexport function hexToBytes(hex) {\n if (typeof hex !== 'string')\n throw new Error('hex string expected, got ' + typeof hex);\n const len = hex.length;\n if (len % 2)\n throw new Error('padded hex string expected, got unpadded hex of length ' + len);\n const array = new Uint8Array(len / 2);\n for (let i = 0; i < array.length; i++) {\n const j = i * 2;\n const hexByte = hex.slice(j, j + 2);\n const byte = Number.parseInt(hexByte, 16);\n if (Number.isNaN(byte) || byte < 0)\n throw new Error('Invalid byte sequence');\n array[i] = byte;\n }\n return array;\n}\n// There is no setImmediate in browser and setTimeout is slow.\n// call of async fn will return Promise, which will be fullfiled only on\n// next scheduler queue processing step and this is exactly what we need.\nexport const nextTick = async () => { };\n// Returns control to thread each 'tick' ms to avoid blocking\nexport async function asyncLoop(iters, tick, cb) {\n let ts = Date.now();\n for (let i = 0; i < iters; i++) {\n cb(i);\n // Date.now() is not monotonic, so in case if clock goes backwards we return return control too\n const diff = Date.now() - ts;\n if (diff >= 0 && diff < tick)\n continue;\n await nextTick();\n ts += diff;\n }\n}\n/**\n * @example utf8ToBytes('abc') // new Uint8Array([97, 98, 99])\n */\nexport function utf8ToBytes(str) {\n if (typeof str !== 'string')\n throw new Error(`utf8ToBytes expected string, got ${typeof str}`);\n return new Uint8Array(new TextEncoder().encode(str)); // https://bugzil.la/1681809\n}\n/**\n * Normalizes (non-hex) string or Uint8Array to Uint8Array.\n * Warning: when Uint8Array is passed, it would NOT get copied.\n * Keep in mind for future mutable operations.\n */\nexport function toBytes(data) {\n if (typeof data === 'string')\n data = utf8ToBytes(data);\n if (!u8a(data))\n throw new Error(`expected Uint8Array, got ${typeof data}`);\n return data;\n}\n/**\n * Copies several Uint8Arrays into one.\n */\nexport function concatBytes(...arrays) {\n const r = new Uint8Array(arrays.reduce((sum, a) => sum + a.length, 0));\n let pad = 0; // walk through each item, ensure they have proper type\n arrays.forEach((a) => {\n if (!u8a(a))\n throw new Error('Uint8Array expected');\n r.set(a, pad);\n pad += a.length;\n });\n return r;\n}\n// For runtime check if class implements interface\nexport class Hash {\n // Safe version that clones internal state\n clone() {\n return this._cloneInto();\n }\n}\nconst toStr = {}.toString;\nexport function checkOpts(defaults, opts) {\n if (opts !== undefined && toStr.call(opts) !== '[object Object]')\n throw new Error('Options should be object or undefined');\n const merged = Object.assign(defaults, opts);\n return merged;\n}\nexport function wrapConstructor(hashCons) {\n const hashC = (msg) => hashCons().update(toBytes(msg)).digest();\n const tmp = hashCons();\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = () => hashCons();\n return hashC;\n}\nexport function wrapConstructorWithOpts(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\nexport function wrapXOFConstructorWithOpts(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\n/**\n * Secure PRNG. Uses `crypto.getRandomValues`, which defers to OS.\n */\nexport function randomBytes(bytesLength = 32) {\n if (crypto && typeof crypto.getRandomValues === 'function') {\n return crypto.getRandomValues(new Uint8Array(bytesLength));\n }\n throw new Error('crypto.getRandomValues must be defined');\n}\n//# sourceMappingURL=utils.js.map","import { hash as assertHash, bytes as assertBytes, exists as assertExists } from './_assert.js';\nimport { Hash, toBytes } from './utils.js';\n// HMAC (RFC 2104)\nexport class HMAC extends Hash {\n constructor(hash, _key) {\n super();\n this.finished = false;\n this.destroyed = false;\n assertHash(hash);\n const key = toBytes(_key);\n this.iHash = hash.create();\n if (typeof this.iHash.update !== 'function')\n throw new Error('Expected instance of class which extends utils.Hash');\n this.blockLen = this.iHash.blockLen;\n this.outputLen = this.iHash.outputLen;\n const blockLen = this.blockLen;\n const pad = new Uint8Array(blockLen);\n // blockLen can be bigger than outputLen\n pad.set(key.length > blockLen ? hash.create().update(key).digest() : key);\n for (let i = 0; i < pad.length; i++)\n pad[i] ^= 0x36;\n this.iHash.update(pad);\n // By doing update (processing of first block) of outer hash here we can re-use it between multiple calls via clone\n this.oHash = hash.create();\n // Undo internal XOR && apply outer XOR\n for (let i = 0; i < pad.length; i++)\n pad[i] ^= 0x36 ^ 0x5c;\n this.oHash.update(pad);\n pad.fill(0);\n }\n update(buf) {\n assertExists(this);\n this.iHash.update(buf);\n return this;\n }\n digestInto(out) {\n assertExists(this);\n assertBytes(out, this.outputLen);\n this.finished = true;\n this.iHash.digestInto(out);\n this.oHash.update(out);\n this.oHash.digestInto(out);\n this.destroy();\n }\n digest() {\n const out = new Uint8Array(this.oHash.outputLen);\n this.digestInto(out);\n return out;\n }\n _cloneInto(to) {\n // Create new instance without calling constructor since key already in state and we don't know it.\n to || (to = Object.create(Object.getPrototypeOf(this), {}));\n const { oHash, iHash, finished, destroyed, blockLen, outputLen } = this;\n to = to;\n to.finished = finished;\n to.destroyed = destroyed;\n to.blockLen = blockLen;\n to.outputLen = outputLen;\n to.oHash = oHash._cloneInto(to.oHash);\n to.iHash = iHash._cloneInto(to.iHash);\n return to;\n }\n destroy() {\n this.destroyed = true;\n this.oHash.destroy();\n this.iHash.destroy();\n }\n}\n/**\n * HMAC: RFC2104 message authentication code.\n * @param hash - function that would be used e.g. sha256\n * @param key - message key\n * @param message - message data\n */\nexport const hmac = (hash, key, message) => new HMAC(hash, key).update(message).digest();\nhmac.create = (hash, key) => new HMAC(hash, key);\n//# sourceMappingURL=hmac.js.map","import { hash as assertHash, number as assertNumber } from './_assert.js';\nimport { hmac } from './hmac.js';\nimport { createView, toBytes, checkOpts, asyncLoop } from './utils.js';\n// Common prologue and epilogue for sync/async functions\nfunction pbkdf2Init(hash, _password, _salt, _opts) {\n assertHash(hash);\n const opts = checkOpts({ dkLen: 32, asyncTick: 10 }, _opts);\n const { c, dkLen, asyncTick } = opts;\n assertNumber(c);\n assertNumber(dkLen);\n assertNumber(asyncTick);\n if (c < 1)\n throw new Error('PBKDF2: iterations (c) should be >= 1');\n const password = toBytes(_password);\n const salt = toBytes(_salt);\n // DK = PBKDF2(PRF, Password, Salt, c, dkLen);\n const DK = new Uint8Array(dkLen);\n // U1 = PRF(Password, Salt + INT_32_BE(i))\n const PRF = hmac.create(hash, password);\n const PRFSalt = PRF._cloneInto().update(salt);\n return { c, dkLen, asyncTick, DK, PRF, PRFSalt };\n}\nfunction pbkdf2Output(PRF, PRFSalt, DK, prfW, u) {\n PRF.destroy();\n PRFSalt.destroy();\n if (prfW)\n prfW.destroy();\n u.fill(0);\n return DK;\n}\n/**\n * PBKDF2-HMAC: RFC 2898 key derivation function\n * @param hash - hash function that would be used e.g. sha256\n * @param password - password from which a derived key is generated\n * @param salt - cryptographic salt\n * @param opts - {c, dkLen} where c is work factor and dkLen is output message size\n */\nexport function pbkdf2(hash, password, salt, opts) {\n const { c, dkLen, DK, PRF, PRFSalt } = pbkdf2Init(hash, password, salt, opts);\n let prfW; // Working copy\n const arr = new Uint8Array(4);\n const view = createView(arr);\n const u = new Uint8Array(PRF.outputLen);\n // DK = T1 + T2 + ⋯ + Tdklen/hlen\n for (let ti = 1, pos = 0; pos < dkLen; ti++, pos += PRF.outputLen) {\n // Ti = F(Password, Salt, c, i)\n const Ti = DK.subarray(pos, pos + PRF.outputLen);\n view.setInt32(0, ti, false);\n // F(Password, Salt, c, i) = U1 ^ U2 ^ ⋯ ^ Uc\n // U1 = PRF(Password, Salt + INT_32_BE(i))\n (prfW = PRFSalt._cloneInto(prfW)).update(arr).digestInto(u);\n Ti.set(u.subarray(0, Ti.length));\n for (let ui = 1; ui < c; ui++) {\n // Uc = PRF(Password, Uc−1)\n PRF._cloneInto(prfW).update(u).digestInto(u);\n for (let i = 0; i < Ti.length; i++)\n Ti[i] ^= u[i];\n }\n }\n return pbkdf2Output(PRF, PRFSalt, DK, prfW, u);\n}\nexport async function pbkdf2Async(hash, password, salt, opts) {\n const { c, dkLen, asyncTick, DK, PRF, PRFSalt } = pbkdf2Init(hash, password, salt, opts);\n let prfW; // Working copy\n const arr = new Uint8Array(4);\n const view = createView(arr);\n const u = new Uint8Array(PRF.outputLen);\n // DK = T1 + T2 + ⋯ + Tdklen/hlen\n for (let ti = 1, pos = 0; pos < dkLen; ti++, pos += PRF.outputLen) {\n // Ti = F(Password, Salt, c, i)\n const Ti = DK.subarray(pos, pos + PRF.outputLen);\n view.setInt32(0, ti, false);\n // F(Password, Salt, c, i) = U1 ^ U2 ^ ⋯ ^ Uc\n // U1 = PRF(Password, Salt + INT_32_BE(i))\n (prfW = PRFSalt._cloneInto(prfW)).update(arr).digestInto(u);\n Ti.set(u.subarray(0, Ti.length));\n await asyncLoop(c - 1, asyncTick, () => {\n // Uc = PRF(Password, Uc−1)\n PRF._cloneInto(prfW).update(u).digestInto(u);\n for (let i = 0; i < Ti.length; i++)\n Ti[i] ^= u[i];\n });\n }\n return pbkdf2Output(PRF, PRFSalt, DK, prfW, u);\n}\n//# sourceMappingURL=pbkdf2.js.map","import { exists, output } from './_assert.js';\nimport { Hash, createView, toBytes } from './utils.js';\n// Polyfill for Safari 14\nfunction setBigUint64(view, byteOffset, value, isLE) {\n if (typeof view.setBigUint64 === 'function')\n return view.setBigUint64(byteOffset, value, isLE);\n const _32n = BigInt(32);\n const _u32_max = BigInt(0xffffffff);\n const wh = Number((value >> _32n) & _u32_max);\n const wl = Number(value & _u32_max);\n const h = isLE ? 4 : 0;\n const l = isLE ? 0 : 4;\n view.setUint32(byteOffset + h, wh, isLE);\n view.setUint32(byteOffset + l, wl, isLE);\n}\n// Base SHA2 class (RFC 6234)\nexport class SHA2 extends Hash {\n constructor(blockLen, outputLen, padOffset, isLE) {\n super();\n this.blockLen = blockLen;\n this.outputLen = outputLen;\n this.padOffset = padOffset;\n this.isLE = isLE;\n this.finished = false;\n this.length = 0;\n this.pos = 0;\n this.destroyed = false;\n this.buffer = new Uint8Array(blockLen);\n this.view = createView(this.buffer);\n }\n update(data) {\n exists(this);\n const { view, buffer, blockLen } = this;\n data = toBytes(data);\n const len = data.length;\n for (let pos = 0; pos < len;) {\n const take = Math.min(blockLen - this.pos, len - pos);\n // Fast path: we have at least one block in input, cast it to view and process\n if (take === blockLen) {\n const dataView = createView(data);\n for (; blockLen <= len - pos; pos += blockLen)\n this.process(dataView, pos);\n continue;\n }\n buffer.set(data.subarray(pos, pos + take), this.pos);\n this.pos += take;\n pos += take;\n if (this.pos === blockLen) {\n this.process(view, 0);\n this.pos = 0;\n }\n }\n this.length += data.length;\n this.roundClean();\n return this;\n }\n digestInto(out) {\n exists(this);\n output(out, this);\n this.finished = true;\n // Padding\n // We can avoid allocation of buffer for padding completely if it\n // was previously not allocated here. But it won't change performance.\n const { buffer, view, blockLen, isLE } = this;\n let { pos } = this;\n // append the bit '1' to the message\n buffer[pos++] = 0b10000000;\n this.buffer.subarray(pos).fill(0);\n // we have less than padOffset left in buffer, so we cannot put length in current block, need process it and pad again\n if (this.padOffset > blockLen - pos) {\n this.process(view, 0);\n pos = 0;\n }\n // Pad until full block byte with zeros\n for (let i = pos; i < blockLen; i++)\n buffer[i] = 0;\n // Note: sha512 requires length to be 128bit integer, but length in JS will overflow before that\n // You need to write around 2 exabytes (u64_max / 8 / (1024**6)) for this to happen.\n // So we just write lowest 64 bits of that value.\n setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE);\n this.process(view, 0);\n const oview = createView(out);\n const len = this.outputLen;\n // NOTE: we do division by 4 later, which should be fused in single op with modulo by JIT\n if (len % 4)\n throw new Error('_sha2: outputLen should be aligned to 32bit');\n const outLen = len / 4;\n const state = this.get();\n if (outLen > state.length)\n throw new Error('_sha2: outputLen bigger than state');\n for (let i = 0; i < outLen; i++)\n oview.setUint32(4 * i, state[i], isLE);\n }\n digest() {\n const { buffer, outputLen } = this;\n this.digestInto(buffer);\n const res = buffer.slice(0, outputLen);\n this.destroy();\n return res;\n }\n _cloneInto(to) {\n to || (to = new this.constructor());\n to.set(...this.get());\n const { blockLen, buffer, length, finished, destroyed, pos } = this;\n to.length = length;\n to.pos = pos;\n to.finished = finished;\n to.destroyed = destroyed;\n if (length % blockLen)\n to.buffer.set(buffer);\n return to;\n }\n}\n//# sourceMappingURL=_sha2.js.map","import { SHA2 } from './_sha2.js';\nimport { rotr, wrapConstructor } from './utils.js';\n// SHA2-256 need to try 2^128 hashes to execute birthday attack.\n// BTC network is doing 2^67 hashes/sec as per early 2023.\n// Choice: a ? b : c\nconst Chi = (a, b, c) => (a & b) ^ (~a & c);\n// Majority function, true if any two inpust is true\nconst Maj = (a, b, c) => (a & b) ^ (a & c) ^ (b & c);\n// Round constants:\n// first 32 bits of the fractional parts of the cube roots of the first 64 primes 2..311)\n// prettier-ignore\nconst SHA256_K = /* @__PURE__ */ new Uint32Array([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n]);\n// Initial state (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):\n// prettier-ignore\nconst IV = /* @__PURE__ */ new Uint32Array([\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n]);\n// Temporary buffer, not used to store anything between runs\n// Named this way because it matches specification.\nconst SHA256_W = /* @__PURE__ */ new Uint32Array(64);\nclass SHA256 extends SHA2 {\n constructor() {\n super(64, 32, 8, false);\n // We cannot use array here since array allows indexing by variable\n // which means optimizer/compiler cannot use registers.\n this.A = IV[0] | 0;\n this.B = IV[1] | 0;\n this.C = IV[2] | 0;\n this.D = IV[3] | 0;\n this.E = IV[4] | 0;\n this.F = IV[5] | 0;\n this.G = IV[6] | 0;\n this.H = IV[7] | 0;\n }\n get() {\n const { A, B, C, D, E, F, G, H } = this;\n return [A, B, C, D, E, F, G, H];\n }\n // prettier-ignore\n set(A, B, C, D, E, F, G, H) {\n this.A = A | 0;\n this.B = B | 0;\n this.C = C | 0;\n this.D = D | 0;\n this.E = E | 0;\n this.F = F | 0;\n this.G = G | 0;\n this.H = H | 0;\n }\n process(view, offset) {\n // Extend the first 16 words into the remaining 48 words w[16..63] of the message schedule array\n for (let i = 0; i < 16; i++, offset += 4)\n SHA256_W[i] = view.getUint32(offset, false);\n for (let i = 16; i < 64; i++) {\n const W15 = SHA256_W[i - 15];\n const W2 = SHA256_W[i - 2];\n const s0 = rotr(W15, 7) ^ rotr(W15, 18) ^ (W15 >>> 3);\n const s1 = rotr(W2, 17) ^ rotr(W2, 19) ^ (W2 >>> 10);\n SHA256_W[i] = (s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16]) | 0;\n }\n // Compression function main loop, 64 rounds\n let { A, B, C, D, E, F, G, H } = this;\n for (let i = 0; i < 64; i++) {\n const sigma1 = rotr(E, 6) ^ rotr(E, 11) ^ rotr(E, 25);\n const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;\n const sigma0 = rotr(A, 2) ^ rotr(A, 13) ^ rotr(A, 22);\n const T2 = (sigma0 + Maj(A, B, C)) | 0;\n H = G;\n G = F;\n F = E;\n E = (D + T1) | 0;\n D = C;\n C = B;\n B = A;\n A = (T1 + T2) | 0;\n }\n // Add the compressed chunk to the current hash value\n A = (A + this.A) | 0;\n B = (B + this.B) | 0;\n C = (C + this.C) | 0;\n D = (D + this.D) | 0;\n E = (E + this.E) | 0;\n F = (F + this.F) | 0;\n G = (G + this.G) | 0;\n H = (H + this.H) | 0;\n this.set(A, B, C, D, E, F, G, H);\n }\n roundClean() {\n SHA256_W.fill(0);\n }\n destroy() {\n this.set(0, 0, 0, 0, 0, 0, 0, 0);\n this.buffer.fill(0);\n }\n}\n// Constants from https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf\nclass SHA224 extends SHA256 {\n constructor() {\n super();\n this.A = 0xc1059ed8 | 0;\n this.B = 0x367cd507 | 0;\n this.C = 0x3070dd17 | 0;\n this.D = 0xf70e5939 | 0;\n this.E = 0xffc00b31 | 0;\n this.F = 0x68581511 | 0;\n this.G = 0x64f98fa7 | 0;\n this.H = 0xbefa4fa4 | 0;\n this.outputLen = 28;\n }\n}\n/**\n * SHA2-256 hash function\n * @param message - data that would be hashed\n */\nexport const sha256 = /* @__PURE__ */ wrapConstructor(() => new SHA256());\nexport const sha224 = /* @__PURE__ */ wrapConstructor(() => new SHA224());\n//# sourceMappingURL=sha256.js.map","const U32_MASK64 = /* @__PURE__ */ BigInt(2 ** 32 - 1);\nconst _32n = /* @__PURE__ */ BigInt(32);\n// We are not using BigUint64Array, because they are extremely slow as per 2022\nfunction fromBig(n, le = false) {\n if (le)\n return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };\n return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };\n}\nfunction split(lst, le = false) {\n let Ah = new Uint32Array(lst.length);\n let Al = new Uint32Array(lst.length);\n for (let i = 0; i < lst.length; i++) {\n const { h, l } = fromBig(lst[i], le);\n [Ah[i], Al[i]] = [h, l];\n }\n return [Ah, Al];\n}\nconst toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);\n// for Shift in [0, 32)\nconst shrSH = (h, _l, s) => h >>> s;\nconst shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in [1, 32)\nconst rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s));\nconst rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32));\nconst rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s));\n// Right rotate for shift===32 (just swaps l&h)\nconst rotr32H = (_h, l) => l;\nconst rotr32L = (h, _l) => h;\n// Left rotate for Shift in [1, 32)\nconst rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s));\nconst rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s));\n// Left rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s));\nconst rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s));\n// JS uses 32-bit signed integers for bitwise operations which means we cannot\n// simple take carry out of low bit sum by shift, we need to use division.\nfunction add(Ah, Al, Bh, Bl) {\n const l = (Al >>> 0) + (Bl >>> 0);\n return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };\n}\n// Addition with more than 2 elements\nconst add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);\nconst add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;\nconst add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);\nconst add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;\nconst add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);\nconst add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;\n// prettier-ignore\nexport { fromBig, split, toBig, shrSH, shrSL, rotrSH, rotrSL, rotrBH, rotrBL, rotr32H, rotr32L, rotlSH, rotlSL, rotlBH, rotlBL, add, add3L, add3H, add4L, add4H, add5H, add5L, };\n// prettier-ignore\nconst u64 = {\n fromBig, split, toBig,\n shrSH, shrSL,\n rotrSH, rotrSL, rotrBH, rotrBL,\n rotr32H, rotr32L,\n rotlSH, rotlSL, rotlBH, rotlBL,\n add, add3L, add3H, add4L, add4H, add5H, add5L,\n};\nexport default u64;\n//# sourceMappingURL=_u64.js.map","import { SHA2 } from './_sha2.js';\nimport u64 from './_u64.js';\nimport { wrapConstructor } from './utils.js';\n// Round contants (first 32 bits of the fractional parts of the cube roots of the first 80 primes 2..409):\n// prettier-ignore\nconst [SHA512_Kh, SHA512_Kl] = /* @__PURE__ */ (() => u64.split([\n '0x428a2f98d728ae22', '0x7137449123ef65cd', '0xb5c0fbcfec4d3b2f', '0xe9b5dba58189dbbc',\n '0x3956c25bf348b538', '0x59f111f1b605d019', '0x923f82a4af194f9b', '0xab1c5ed5da6d8118',\n '0xd807aa98a3030242', '0x12835b0145706fbe', '0x243185be4ee4b28c', '0x550c7dc3d5ffb4e2',\n '0x72be5d74f27b896f', '0x80deb1fe3b1696b1', '0x9bdc06a725c71235', '0xc19bf174cf692694',\n '0xe49b69c19ef14ad2', '0xefbe4786384f25e3', '0x0fc19dc68b8cd5b5', '0x240ca1cc77ac9c65',\n '0x2de92c6f592b0275', '0x4a7484aa6ea6e483', '0x5cb0a9dcbd41fbd4', '0x76f988da831153b5',\n '0x983e5152ee66dfab', '0xa831c66d2db43210', '0xb00327c898fb213f', '0xbf597fc7beef0ee4',\n '0xc6e00bf33da88fc2', '0xd5a79147930aa725', '0x06ca6351e003826f', '0x142929670a0e6e70',\n '0x27b70a8546d22ffc', '0x2e1b21385c26c926', '0x4d2c6dfc5ac42aed', '0x53380d139d95b3df',\n '0x650a73548baf63de', '0x766a0abb3c77b2a8', '0x81c2c92e47edaee6', '0x92722c851482353b',\n '0xa2bfe8a14cf10364', '0xa81a664bbc423001', '0xc24b8b70d0f89791', '0xc76c51a30654be30',\n '0xd192e819d6ef5218', '0xd69906245565a910', '0xf40e35855771202a', '0x106aa07032bbd1b8',\n '0x19a4c116b8d2d0c8', '0x1e376c085141ab53', '0x2748774cdf8eeb99', '0x34b0bcb5e19b48a8',\n '0x391c0cb3c5c95a63', '0x4ed8aa4ae3418acb', '0x5b9cca4f7763e373', '0x682e6ff3d6b2b8a3',\n '0x748f82ee5defb2fc', '0x78a5636f43172f60', '0x84c87814a1f0ab72', '0x8cc702081a6439ec',\n '0x90befffa23631e28', '0xa4506cebde82bde9', '0xbef9a3f7b2c67915', '0xc67178f2e372532b',\n '0xca273eceea26619c', '0xd186b8c721c0c207', '0xeada7dd6cde0eb1e', '0xf57d4f7fee6ed178',\n '0x06f067aa72176fba', '0x0a637dc5a2c898a6', '0x113f9804bef90dae', '0x1b710b35131c471b',\n '0x28db77f523047d84', '0x32caab7b40c72493', '0x3c9ebe0a15c9bebc', '0x431d67c49c100d4c',\n '0x4cc5d4becb3e42b6', '0x597f299cfc657e2a', '0x5fcb6fab3ad6faec', '0x6c44198c4a475817'\n].map(n => BigInt(n))))();\n// Temporary buffer, not used to store anything between runs\nconst SHA512_W_H = /* @__PURE__ */ new Uint32Array(80);\nconst SHA512_W_L = /* @__PURE__ */ new Uint32Array(80);\nexport class SHA512 extends SHA2 {\n constructor() {\n super(128, 64, 16, false);\n // We cannot use array here since array allows indexing by variable which means optimizer/compiler cannot use registers.\n // Also looks cleaner and easier to verify with spec.\n // Initial state (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):\n // h -- high 32 bits, l -- low 32 bits\n this.Ah = 0x6a09e667 | 0;\n this.Al = 0xf3bcc908 | 0;\n this.Bh = 0xbb67ae85 | 0;\n this.Bl = 0x84caa73b | 0;\n this.Ch = 0x3c6ef372 | 0;\n this.Cl = 0xfe94f82b | 0;\n this.Dh = 0xa54ff53a | 0;\n this.Dl = 0x5f1d36f1 | 0;\n this.Eh = 0x510e527f | 0;\n this.El = 0xade682d1 | 0;\n this.Fh = 0x9b05688c | 0;\n this.Fl = 0x2b3e6c1f | 0;\n this.Gh = 0x1f83d9ab | 0;\n this.Gl = 0xfb41bd6b | 0;\n this.Hh = 0x5be0cd19 | 0;\n this.Hl = 0x137e2179 | 0;\n }\n // prettier-ignore\n get() {\n const { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this;\n return [Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl];\n }\n // prettier-ignore\n set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl) {\n this.Ah = Ah | 0;\n this.Al = Al | 0;\n this.Bh = Bh | 0;\n this.Bl = Bl | 0;\n this.Ch = Ch | 0;\n this.Cl = Cl | 0;\n this.Dh = Dh | 0;\n this.Dl = Dl | 0;\n this.Eh = Eh | 0;\n this.El = El | 0;\n this.Fh = Fh | 0;\n this.Fl = Fl | 0;\n this.Gh = Gh | 0;\n this.Gl = Gl | 0;\n this.Hh = Hh | 0;\n this.Hl = Hl | 0;\n }\n process(view, offset) {\n // Extend the first 16 words into the remaining 64 words w[16..79] of the message schedule array\n for (let i = 0; i < 16; i++, offset += 4) {\n SHA512_W_H[i] = view.getUint32(offset);\n SHA512_W_L[i] = view.getUint32((offset += 4));\n }\n for (let i = 16; i < 80; i++) {\n // s0 := (w[i-15] rightrotate 1) xor (w[i-15] rightrotate 8) xor (w[i-15] rightshift 7)\n const W15h = SHA512_W_H[i - 15] | 0;\n const W15l = SHA512_W_L[i - 15] | 0;\n const s0h = u64.rotrSH(W15h, W15l, 1) ^ u64.rotrSH(W15h, W15l, 8) ^ u64.shrSH(W15h, W15l, 7);\n const s0l = u64.rotrSL(W15h, W15l, 1) ^ u64.rotrSL(W15h, W15l, 8) ^ u64.shrSL(W15h, W15l, 7);\n // s1 := (w[i-2] rightrotate 19) xor (w[i-2] rightrotate 61) xor (w[i-2] rightshift 6)\n const W2h = SHA512_W_H[i - 2] | 0;\n const W2l = SHA512_W_L[i - 2] | 0;\n const s1h = u64.rotrSH(W2h, W2l, 19) ^ u64.rotrBH(W2h, W2l, 61) ^ u64.shrSH(W2h, W2l, 6);\n const s1l = u64.rotrSL(W2h, W2l, 19) ^ u64.rotrBL(W2h, W2l, 61) ^ u64.shrSL(W2h, W2l, 6);\n // SHA256_W[i] = s0 + s1 + SHA256_W[i - 7] + SHA256_W[i - 16];\n const SUMl = u64.add4L(s0l, s1l, SHA512_W_L[i - 7], SHA512_W_L[i - 16]);\n const SUMh = u64.add4H(SUMl, s0h, s1h, SHA512_W_H[i - 7], SHA512_W_H[i - 16]);\n SHA512_W_H[i] = SUMh | 0;\n SHA512_W_L[i] = SUMl | 0;\n }\n let { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this;\n // Compression function main loop, 80 rounds\n for (let i = 0; i < 80; i++) {\n // S1 := (e rightrotate 14) xor (e rightrotate 18) xor (e rightrotate 41)\n const sigma1h = u64.rotrSH(Eh, El, 14) ^ u64.rotrSH(Eh, El, 18) ^ u64.rotrBH(Eh, El, 41);\n const sigma1l = u64.rotrSL(Eh, El, 14) ^ u64.rotrSL(Eh, El, 18) ^ u64.rotrBL(Eh, El, 41);\n //const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;\n const CHIh = (Eh & Fh) ^ (~Eh & Gh);\n const CHIl = (El & Fl) ^ (~El & Gl);\n // T1 = H + sigma1 + Chi(E, F, G) + SHA512_K[i] + SHA512_W[i]\n // prettier-ignore\n const T1ll = u64.add5L(Hl, sigma1l, CHIl, SHA512_Kl[i], SHA512_W_L[i]);\n const T1h = u64.add5H(T1ll, Hh, sigma1h, CHIh, SHA512_Kh[i], SHA512_W_H[i]);\n const T1l = T1ll | 0;\n // S0 := (a rightrotate 28) xor (a rightrotate 34) xor (a rightrotate 39)\n const sigma0h = u64.rotrSH(Ah, Al, 28) ^ u64.rotrBH(Ah, Al, 34) ^ u64.rotrBH(Ah, Al, 39);\n const sigma0l = u64.rotrSL(Ah, Al, 28) ^ u64.rotrBL(Ah, Al, 34) ^ u64.rotrBL(Ah, Al, 39);\n const MAJh = (Ah & Bh) ^ (Ah & Ch) ^ (Bh & Ch);\n const MAJl = (Al & Bl) ^ (Al & Cl) ^ (Bl & Cl);\n Hh = Gh | 0;\n Hl = Gl | 0;\n Gh = Fh | 0;\n Gl = Fl | 0;\n Fh = Eh | 0;\n Fl = El | 0;\n ({ h: Eh, l: El } = u64.add(Dh | 0, Dl | 0, T1h | 0, T1l | 0));\n Dh = Ch | 0;\n Dl = Cl | 0;\n Ch = Bh | 0;\n Cl = Bl | 0;\n Bh = Ah | 0;\n Bl = Al | 0;\n const All = u64.add3L(T1l, sigma0l, MAJl);\n Ah = u64.add3H(All, T1h, sigma0h, MAJh);\n Al = All | 0;\n }\n // Add the compressed chunk to the current hash value\n ({ h: Ah, l: Al } = u64.add(this.Ah | 0, this.Al | 0, Ah | 0, Al | 0));\n ({ h: Bh, l: Bl } = u64.add(this.Bh | 0, this.Bl | 0, Bh | 0, Bl | 0));\n ({ h: Ch, l: Cl } = u64.add(this.Ch | 0, this.Cl | 0, Ch | 0, Cl | 0));\n ({ h: Dh, l: Dl } = u64.add(this.Dh | 0, this.Dl | 0, Dh | 0, Dl | 0));\n ({ h: Eh, l: El } = u64.add(this.Eh | 0, this.El | 0, Eh | 0, El | 0));\n ({ h: Fh, l: Fl } = u64.add(this.Fh | 0, this.Fl | 0, Fh | 0, Fl | 0));\n ({ h: Gh, l: Gl } = u64.add(this.Gh | 0, this.Gl | 0, Gh | 0, Gl | 0));\n ({ h: Hh, l: Hl } = u64.add(this.Hh | 0, this.Hl | 0, Hh | 0, Hl | 0));\n this.set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl);\n }\n roundClean() {\n SHA512_W_H.fill(0);\n SHA512_W_L.fill(0);\n }\n destroy() {\n this.buffer.fill(0);\n this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);\n }\n}\nclass SHA512_224 extends SHA512 {\n constructor() {\n super();\n // h -- high 32 bits, l -- low 32 bits\n this.Ah = 0x8c3d37c8 | 0;\n this.Al = 0x19544da2 | 0;\n this.Bh = 0x73e19966 | 0;\n this.Bl = 0x89dcd4d6 | 0;\n this.Ch = 0x1dfab7ae | 0;\n this.Cl = 0x32ff9c82 | 0;\n this.Dh = 0x679dd514 | 0;\n this.Dl = 0x582f9fcf | 0;\n this.Eh = 0x0f6d2b69 | 0;\n this.El = 0x7bd44da8 | 0;\n this.Fh = 0x77e36f73 | 0;\n this.Fl = 0x04c48942 | 0;\n this.Gh = 0x3f9d85a8 | 0;\n this.Gl = 0x6a1d36c8 | 0;\n this.Hh = 0x1112e6ad | 0;\n this.Hl = 0x91d692a1 | 0;\n this.outputLen = 28;\n }\n}\nclass SHA512_256 extends SHA512 {\n constructor() {\n super();\n // h -- high 32 bits, l -- low 32 bits\n this.Ah = 0x22312194 | 0;\n this.Al = 0xfc2bf72c | 0;\n this.Bh = 0x9f555fa3 | 0;\n this.Bl = 0xc84c64c2 | 0;\n this.Ch = 0x2393b86b | 0;\n this.Cl = 0x6f53b151 | 0;\n this.Dh = 0x96387719 | 0;\n this.Dl = 0x5940eabd | 0;\n this.Eh = 0x96283ee2 | 0;\n this.El = 0xa88effe3 | 0;\n this.Fh = 0xbe5e1e25 | 0;\n this.Fl = 0x53863992 | 0;\n this.Gh = 0x2b0199fc | 0;\n this.Gl = 0x2c85b8aa | 0;\n this.Hh = 0x0eb72ddc | 0;\n this.Hl = 0x81c52ca2 | 0;\n this.outputLen = 32;\n }\n}\nclass SHA384 extends SHA512 {\n constructor() {\n super();\n // h -- high 32 bits, l -- low 32 bits\n this.Ah = 0xcbbb9d5d | 0;\n this.Al = 0xc1059ed8 | 0;\n this.Bh = 0x629a292a | 0;\n this.Bl = 0x367cd507 | 0;\n this.Ch = 0x9159015a | 0;\n this.Cl = 0x3070dd17 | 0;\n this.Dh = 0x152fecd8 | 0;\n this.Dl = 0xf70e5939 | 0;\n this.Eh = 0x67332667 | 0;\n this.El = 0xffc00b31 | 0;\n this.Fh = 0x8eb44a87 | 0;\n this.Fl = 0x68581511 | 0;\n this.Gh = 0xdb0c2e0d | 0;\n this.Gl = 0x64f98fa7 | 0;\n this.Hh = 0x47b5481d | 0;\n this.Hl = 0xbefa4fa4 | 0;\n this.outputLen = 48;\n }\n}\nexport const sha512 = /* @__PURE__ */ wrapConstructor(() => new SHA512());\nexport const sha512_224 = /* @__PURE__ */ wrapConstructor(() => new SHA512_224());\nexport const sha512_256 = /* @__PURE__ */ wrapConstructor(() => new SHA512_256());\nexport const sha384 = /* @__PURE__ */ wrapConstructor(() => new SHA384());\n//# sourceMappingURL=sha512.js.map","/* Browser Crypto Shims */\nimport { hmac } from \"@noble/hashes/hmac\";\nimport { pbkdf2 } from \"@noble/hashes/pbkdf2\";\nimport { sha256 } from \"@noble/hashes/sha256\";\nimport { sha512 } from \"@noble/hashes/sha512\";\nimport { assert, assertArgument } from \"../utils/index.js\";\nfunction getGlobal() {\n if (typeof self !== 'undefined') {\n return self;\n }\n if (typeof window !== 'undefined') {\n return window;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n throw new Error('unable to locate global object');\n}\n;\nconst anyGlobal = getGlobal();\nconst crypto = anyGlobal.crypto || anyGlobal.msCrypto;\nexport function createHash(algo) {\n switch (algo) {\n case \"sha256\": return sha256.create();\n case \"sha512\": return sha512.create();\n }\n assertArgument(false, \"invalid hashing algorithm name\", \"algorithm\", algo);\n}\nexport function createHmac(_algo, key) {\n const algo = ({ sha256, sha512 }[_algo]);\n assertArgument(algo != null, \"invalid hmac algorithm\", \"algorithm\", _algo);\n return hmac.create(algo, key);\n}\nexport function pbkdf2Sync(password, salt, iterations, keylen, _algo) {\n const algo = ({ sha256, sha512 }[_algo]);\n assertArgument(algo != null, \"invalid pbkdf2 algorithm\", \"algorithm\", _algo);\n return pbkdf2(algo, password, salt, { c: iterations, dkLen: keylen });\n}\nexport function randomBytes(length) {\n assert(crypto != null, \"platform does not support secure random numbers\", \"UNSUPPORTED_OPERATION\", {\n operation: \"randomBytes\"\n });\n assertArgument(Number.isInteger(length) && length > 0 && length <= 1024, \"invalid length\", \"length\", length);\n const result = new Uint8Array(length);\n crypto.getRandomValues(result);\n return result;\n}\n//# sourceMappingURL=crypto-browser.js.map","/**\n * An **HMAC** enables verification that a given key was used\n * to authenticate a payload.\n *\n * See: [[link-wiki-hmac]]\n *\n * @_subsection: api/crypto:HMAC [about-hmac]\n */\nimport { createHmac } from \"./crypto.js\";\nimport { getBytes, hexlify } from \"../utils/index.js\";\nlet locked = false;\nconst _computeHmac = function (algorithm, key, data) {\n return createHmac(algorithm, key).update(data).digest();\n};\nlet __computeHmac = _computeHmac;\n/**\n * Return the HMAC for %%data%% using the %%key%% key with the underlying\n * %%algo%% used for compression.\n *\n * @example:\n * key = id(\"some-secret\")\n *\n * // Compute the HMAC\n * computeHmac(\"sha256\", key, \"0x1337\")\n * //_result:\n *\n * // To compute the HMAC of UTF-8 data, the data must be\n * // converted to UTF-8 bytes\n * computeHmac(\"sha256\", key, toUtf8Bytes(\"Hello World\"))\n * //_result:\n *\n */\nexport function computeHmac(algorithm, _key, _data) {\n const key = getBytes(_key, \"key\");\n const data = getBytes(_data, \"data\");\n return hexlify(__computeHmac(algorithm, key, data));\n}\ncomputeHmac._ = _computeHmac;\ncomputeHmac.lock = function () { locked = true; };\ncomputeHmac.register = function (func) {\n if (locked) {\n throw new Error(\"computeHmac is locked\");\n }\n __computeHmac = func;\n};\nObject.freeze(computeHmac);\n//# sourceMappingURL=hmac.js.map","import { bytes, exists, number, output } from './_assert.js';\nimport { rotlBH, rotlBL, rotlSH, rotlSL, split } from './_u64.js';\nimport { Hash, u32, toBytes, wrapConstructor, wrapXOFConstructorWithOpts, } from './utils.js';\n// SHA3 (keccak) is based on a new design: basically, the internal state is bigger than output size.\n// It's called a sponge function.\n// Various per round constants calculations\nconst [SHA3_PI, SHA3_ROTL, _SHA3_IOTA] = [[], [], []];\nconst _0n = /* @__PURE__ */ BigInt(0);\nconst _1n = /* @__PURE__ */ BigInt(1);\nconst _2n = /* @__PURE__ */ BigInt(2);\nconst _7n = /* @__PURE__ */ BigInt(7);\nconst _256n = /* @__PURE__ */ BigInt(256);\nconst _0x71n = /* @__PURE__ */ BigInt(0x71);\nfor (let round = 0, R = _1n, x = 1, y = 0; round < 24; round++) {\n // Pi\n [x, y] = [y, (2 * x + 3 * y) % 5];\n SHA3_PI.push(2 * (5 * y + x));\n // Rotational\n SHA3_ROTL.push((((round + 1) * (round + 2)) / 2) % 64);\n // Iota\n let t = _0n;\n for (let j = 0; j < 7; j++) {\n R = ((R << _1n) ^ ((R >> _7n) * _0x71n)) % _256n;\n if (R & _2n)\n t ^= _1n << ((_1n << /* @__PURE__ */ BigInt(j)) - _1n);\n }\n _SHA3_IOTA.push(t);\n}\nconst [SHA3_IOTA_H, SHA3_IOTA_L] = /* @__PURE__ */ split(_SHA3_IOTA, true);\n// Left rotation (without 0, 32, 64)\nconst rotlH = (h, l, s) => (s > 32 ? rotlBH(h, l, s) : rotlSH(h, l, s));\nconst rotlL = (h, l, s) => (s > 32 ? rotlBL(h, l, s) : rotlSL(h, l, s));\n// Same as keccakf1600, but allows to skip some rounds\nexport function keccakP(s, rounds = 24) {\n const B = new Uint32Array(5 * 2);\n // NOTE: all indices are x2 since we store state as u32 instead of u64 (bigints to slow in js)\n for (let round = 24 - rounds; round < 24; round++) {\n // Theta θ\n for (let x = 0; x < 10; x++)\n B[x] = s[x] ^ s[x + 10] ^ s[x + 20] ^ s[x + 30] ^ s[x + 40];\n for (let x = 0; x < 10; x += 2) {\n const idx1 = (x + 8) % 10;\n const idx0 = (x + 2) % 10;\n const B0 = B[idx0];\n const B1 = B[idx0 + 1];\n const Th = rotlH(B0, B1, 1) ^ B[idx1];\n const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1];\n for (let y = 0; y < 50; y += 10) {\n s[x + y] ^= Th;\n s[x + y + 1] ^= Tl;\n }\n }\n // Rho (ρ) and Pi (π)\n let curH = s[2];\n let curL = s[3];\n for (let t = 0; t < 24; t++) {\n const shift = SHA3_ROTL[t];\n const Th = rotlH(curH, curL, shift);\n const Tl = rotlL(curH, curL, shift);\n const PI = SHA3_PI[t];\n curH = s[PI];\n curL = s[PI + 1];\n s[PI] = Th;\n s[PI + 1] = Tl;\n }\n // Chi (χ)\n for (let y = 0; y < 50; y += 10) {\n for (let x = 0; x < 10; x++)\n B[x] = s[y + x];\n for (let x = 0; x < 10; x++)\n s[y + x] ^= ~B[(x + 2) % 10] & B[(x + 4) % 10];\n }\n // Iota (ι)\n s[0] ^= SHA3_IOTA_H[round];\n s[1] ^= SHA3_IOTA_L[round];\n }\n B.fill(0);\n}\nexport class Keccak extends Hash {\n // NOTE: we accept arguments in bytes instead of bits here.\n constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) {\n super();\n this.blockLen = blockLen;\n this.suffix = suffix;\n this.outputLen = outputLen;\n this.enableXOF = enableXOF;\n this.rounds = rounds;\n this.pos = 0;\n this.posOut = 0;\n this.finished = false;\n this.destroyed = false;\n // Can be passed from user as dkLen\n number(outputLen);\n // 1600 = 5x5 matrix of 64bit. 1600 bits === 200 bytes\n if (0 >= this.blockLen || this.blockLen >= 200)\n throw new Error('Sha3 supports only keccak-f1600 function');\n this.state = new Uint8Array(200);\n this.state32 = u32(this.state);\n }\n keccak() {\n keccakP(this.state32, this.rounds);\n this.posOut = 0;\n this.pos = 0;\n }\n update(data) {\n exists(this);\n const { blockLen, state } = this;\n data = toBytes(data);\n const len = data.length;\n for (let pos = 0; pos < len;) {\n const take = Math.min(blockLen - this.pos, len - pos);\n for (let i = 0; i < take; i++)\n state[this.pos++] ^= data[pos++];\n if (this.pos === blockLen)\n this.keccak();\n }\n return this;\n }\n finish() {\n if (this.finished)\n return;\n this.finished = true;\n const { state, suffix, pos, blockLen } = this;\n // Do the padding\n state[pos] ^= suffix;\n if ((suffix & 0x80) !== 0 && pos === blockLen - 1)\n this.keccak();\n state[blockLen - 1] ^= 0x80;\n this.keccak();\n }\n writeInto(out) {\n exists(this, false);\n bytes(out);\n this.finish();\n const bufferOut = this.state;\n const { blockLen } = this;\n for (let pos = 0, len = out.length; pos < len;) {\n if (this.posOut >= blockLen)\n this.keccak();\n const take = Math.min(blockLen - this.posOut, len - pos);\n out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos);\n this.posOut += take;\n pos += take;\n }\n return out;\n }\n xofInto(out) {\n // Sha3/Keccak usage with XOF is probably mistake, only SHAKE instances can do XOF\n if (!this.enableXOF)\n throw new Error('XOF is not possible for this instance');\n return this.writeInto(out);\n }\n xof(bytes) {\n number(bytes);\n return this.xofInto(new Uint8Array(bytes));\n }\n digestInto(out) {\n output(out, this);\n if (this.finished)\n throw new Error('digest() was already called');\n this.writeInto(out);\n this.destroy();\n return out;\n }\n digest() {\n return this.digestInto(new Uint8Array(this.outputLen));\n }\n destroy() {\n this.destroyed = true;\n this.state.fill(0);\n }\n _cloneInto(to) {\n const { blockLen, suffix, outputLen, rounds, enableXOF } = this;\n to || (to = new Keccak(blockLen, suffix, outputLen, enableXOF, rounds));\n to.state32.set(this.state32);\n to.pos = this.pos;\n to.posOut = this.posOut;\n to.finished = this.finished;\n to.rounds = rounds;\n // Suffix can change in cSHAKE\n to.suffix = suffix;\n to.outputLen = outputLen;\n to.enableXOF = enableXOF;\n to.destroyed = this.destroyed;\n return to;\n }\n}\nconst gen = (suffix, blockLen, outputLen) => wrapConstructor(() => new Keccak(blockLen, suffix, outputLen));\nexport const sha3_224 = /* @__PURE__ */ gen(0x06, 144, 224 / 8);\n/**\n * SHA3-256 hash function\n * @param message - that would be hashed\n */\nexport const sha3_256 = /* @__PURE__ */ gen(0x06, 136, 256 / 8);\nexport const sha3_384 = /* @__PURE__ */ gen(0x06, 104, 384 / 8);\nexport const sha3_512 = /* @__PURE__ */ gen(0x06, 72, 512 / 8);\nexport const keccak_224 = /* @__PURE__ */ gen(0x01, 144, 224 / 8);\n/**\n * keccak-256 hash function. Different from SHA3-256.\n * @param message - that would be hashed\n */\nexport const keccak_256 = /* @__PURE__ */ gen(0x01, 136, 256 / 8);\nexport const keccak_384 = /* @__PURE__ */ gen(0x01, 104, 384 / 8);\nexport const keccak_512 = /* @__PURE__ */ gen(0x01, 72, 512 / 8);\nconst genShake = (suffix, blockLen, outputLen) => wrapXOFConstructorWithOpts((opts = {}) => new Keccak(blockLen, suffix, opts.dkLen === undefined ? outputLen : opts.dkLen, true));\nexport const shake128 = /* @__PURE__ */ genShake(0x1f, 168, 128 / 8);\nexport const shake256 = /* @__PURE__ */ genShake(0x1f, 136, 256 / 8);\n//# sourceMappingURL=sha3.js.map","/**\n * Cryptographic hashing functions\n *\n * @_subsection: api/crypto:Hash Functions [about-crypto-hashing]\n */\nimport { keccak_256 } from \"@noble/hashes/sha3\";\nimport { getBytes, hexlify } from \"../utils/index.js\";\nlet locked = false;\nconst _keccak256 = function (data) {\n return keccak_256(data);\n};\nlet __keccak256 = _keccak256;\n/**\n * Compute the cryptographic KECCAK256 hash of %%data%%.\n *\n * The %%data%% **must** be a data representation, to compute the\n * hash of UTF-8 data use the [[id]] function.\n *\n * @returns DataHexstring\n * @example:\n * keccak256(\"0x\")\n * //_result:\n *\n * keccak256(\"0x1337\")\n * //_result:\n *\n * keccak256(new Uint8Array([ 0x13, 0x37 ]))\n * //_result:\n *\n * // Strings are assumed to be DataHexString, otherwise it will\n * // throw. To hash UTF-8 data, see the note above.\n * keccak256(\"Hello World\")\n * //_error:\n */\nexport function keccak256(_data) {\n const data = getBytes(_data, \"data\");\n return hexlify(__keccak256(data));\n}\nkeccak256._ = _keccak256;\nkeccak256.lock = function () { locked = true; };\nkeccak256.register = function (func) {\n if (locked) {\n throw new TypeError(\"keccak256 is locked\");\n }\n __keccak256 = func;\n};\nObject.freeze(keccak256);\n//# sourceMappingURL=keccak.js.map","import { SHA2 } from './_sha2.js';\nimport { wrapConstructor } from './utils.js';\n// https://homes.esat.kuleuven.be/~bosselae/ripemd160.html\n// https://homes.esat.kuleuven.be/~bosselae/ripemd160/pdf/AB-9601/AB-9601.pdf\nconst Rho = /* @__PURE__ */ new Uint8Array([7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8]);\nconst Id = /* @__PURE__ */ Uint8Array.from({ length: 16 }, (_, i) => i);\nconst Pi = /* @__PURE__ */ Id.map((i) => (9 * i + 5) % 16);\nlet idxL = [Id];\nlet idxR = [Pi];\nfor (let i = 0; i < 4; i++)\n for (let j of [idxL, idxR])\n j.push(j[i].map((k) => Rho[k]));\nconst shifts = /* @__PURE__ */ [\n [11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8],\n [12, 13, 11, 15, 6, 9, 9, 7, 12, 15, 11, 13, 7, 8, 7, 7],\n [13, 15, 14, 11, 7, 7, 6, 8, 13, 14, 13, 12, 5, 5, 6, 9],\n [14, 11, 12, 14, 8, 6, 5, 5, 15, 12, 15, 14, 9, 9, 8, 6],\n [15, 12, 13, 13, 9, 5, 8, 6, 14, 11, 12, 11, 8, 6, 5, 5],\n].map((i) => new Uint8Array(i));\nconst shiftsL = /* @__PURE__ */ idxL.map((idx, i) => idx.map((j) => shifts[i][j]));\nconst shiftsR = /* @__PURE__ */ idxR.map((idx, i) => idx.map((j) => shifts[i][j]));\nconst Kl = /* @__PURE__ */ new Uint32Array([\n 0x00000000, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e,\n]);\nconst Kr = /* @__PURE__ */ new Uint32Array([\n 0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0x00000000,\n]);\n// The rotate left (circular left shift) operation for uint32\nconst rotl = (word, shift) => (word << shift) | (word >>> (32 - shift));\n// It's called f() in spec.\nfunction f(group, x, y, z) {\n if (group === 0)\n return x ^ y ^ z;\n else if (group === 1)\n return (x & y) | (~x & z);\n else if (group === 2)\n return (x | ~y) ^ z;\n else if (group === 3)\n return (x & z) | (y & ~z);\n else\n return x ^ (y | ~z);\n}\n// Temporary buffer, not used to store anything between runs\nconst BUF = /* @__PURE__ */ new Uint32Array(16);\nexport class RIPEMD160 extends SHA2 {\n constructor() {\n super(64, 20, 8, true);\n this.h0 = 0x67452301 | 0;\n this.h1 = 0xefcdab89 | 0;\n this.h2 = 0x98badcfe | 0;\n this.h3 = 0x10325476 | 0;\n this.h4 = 0xc3d2e1f0 | 0;\n }\n get() {\n const { h0, h1, h2, h3, h4 } = this;\n return [h0, h1, h2, h3, h4];\n }\n set(h0, h1, h2, h3, h4) {\n this.h0 = h0 | 0;\n this.h1 = h1 | 0;\n this.h2 = h2 | 0;\n this.h3 = h3 | 0;\n this.h4 = h4 | 0;\n }\n process(view, offset) {\n for (let i = 0; i < 16; i++, offset += 4)\n BUF[i] = view.getUint32(offset, true);\n // prettier-ignore\n let al = this.h0 | 0, ar = al, bl = this.h1 | 0, br = bl, cl = this.h2 | 0, cr = cl, dl = this.h3 | 0, dr = dl, el = this.h4 | 0, er = el;\n // Instead of iterating 0 to 80, we split it into 5 groups\n // And use the groups in constants, functions, etc. Much simpler\n for (let group = 0; group < 5; group++) {\n const rGroup = 4 - group;\n const hbl = Kl[group], hbr = Kr[group]; // prettier-ignore\n const rl = idxL[group], rr = idxR[group]; // prettier-ignore\n const sl = shiftsL[group], sr = shiftsR[group]; // prettier-ignore\n for (let i = 0; i < 16; i++) {\n const tl = (rotl(al + f(group, bl, cl, dl) + BUF[rl[i]] + hbl, sl[i]) + el) | 0;\n al = el, el = dl, dl = rotl(cl, 10) | 0, cl = bl, bl = tl; // prettier-ignore\n }\n // 2 loops are 10% faster\n for (let i = 0; i < 16; i++) {\n const tr = (rotl(ar + f(rGroup, br, cr, dr) + BUF[rr[i]] + hbr, sr[i]) + er) | 0;\n ar = er, er = dr, dr = rotl(cr, 10) | 0, cr = br, br = tr; // prettier-ignore\n }\n }\n // Add the compressed chunk to the current hash value\n this.set((this.h1 + cl + dr) | 0, (this.h2 + dl + er) | 0, (this.h3 + el + ar) | 0, (this.h4 + al + br) | 0, (this.h0 + bl + cr) | 0);\n }\n roundClean() {\n BUF.fill(0);\n }\n destroy() {\n this.destroyed = true;\n this.buffer.fill(0);\n this.set(0, 0, 0, 0, 0);\n }\n}\n/**\n * RIPEMD-160 - a hash function from 1990s.\n * @param message - msg that would be hashed\n */\nexport const ripemd160 = /* @__PURE__ */ wrapConstructor(() => new RIPEMD160());\n//# sourceMappingURL=ripemd160.js.map","import { ripemd160 as noble_ripemd160 } from \"@noble/hashes/ripemd160\";\nimport { getBytes, hexlify } from \"../utils/index.js\";\nlet locked = false;\nconst _ripemd160 = function (data) {\n return noble_ripemd160(data);\n};\nlet __ripemd160 = _ripemd160;\n/**\n * Compute the cryptographic RIPEMD-160 hash of %%data%%.\n *\n * @_docloc: api/crypto:Hash Functions\n * @returns DataHexstring\n *\n * @example:\n * ripemd160(\"0x\")\n * //_result:\n *\n * ripemd160(\"0x1337\")\n * //_result:\n *\n * ripemd160(new Uint8Array([ 0x13, 0x37 ]))\n * //_result:\n *\n */\nexport function ripemd160(_data) {\n const data = getBytes(_data, \"data\");\n return hexlify(__ripemd160(data));\n}\nripemd160._ = _ripemd160;\nripemd160.lock = function () { locked = true; };\nripemd160.register = function (func) {\n if (locked) {\n throw new TypeError(\"ripemd160 is locked\");\n }\n __ripemd160 = func;\n};\nObject.freeze(ripemd160);\n//# sourceMappingURL=ripemd160.js.map","/**\n * A **Password-Based Key-Derivation Function** is designed to create\n * a sequence of bytes suitible as a **key** from a human-rememberable\n * password.\n *\n * @_subsection: api/crypto:Passwords [about-pbkdf]\n */\nimport { pbkdf2Sync } from \"./crypto.js\";\nimport { getBytes, hexlify } from \"../utils/index.js\";\nlet locked = false;\nconst _pbkdf2 = function (password, salt, iterations, keylen, algo) {\n return pbkdf2Sync(password, salt, iterations, keylen, algo);\n};\nlet __pbkdf2 = _pbkdf2;\n/**\n * Return the [[link-pbkdf2]] for %%keylen%% bytes for %%password%% using\n * the %%salt%% and using %%iterations%% of %%algo%%.\n *\n * This PBKDF is outdated and should not be used in new projects, but is\n * required to decrypt older files.\n *\n * @example:\n * // The password must be converted to bytes, and it is generally\n * // best practices to ensure the string has been normalized. Many\n * // formats explicitly indicate the normalization form to use.\n * password = \"hello\"\n * passwordBytes = toUtf8Bytes(password, \"NFKC\")\n *\n * salt = id(\"some-salt\")\n *\n * // Compute the PBKDF2\n * pbkdf2(passwordBytes, salt, 1024, 16, \"sha256\")\n * //_result:\n */\nexport function pbkdf2(_password, _salt, iterations, keylen, algo) {\n const password = getBytes(_password, \"password\");\n const salt = getBytes(_salt, \"salt\");\n return hexlify(__pbkdf2(password, salt, iterations, keylen, algo));\n}\npbkdf2._ = _pbkdf2;\npbkdf2.lock = function () { locked = true; };\npbkdf2.register = function (func) {\n if (locked) {\n throw new Error(\"pbkdf2 is locked\");\n }\n __pbkdf2 = func;\n};\nObject.freeze(pbkdf2);\n//# sourceMappingURL=pbkdf2.js.map","/**\n * A **Cryptographically Secure Random Value** is one that has been\n * generated with additional care take to prevent side-channels\n * from allowing others to detect it and prevent others from through\n * coincidence generate the same values.\n *\n * @_subsection: api/crypto:Random Values [about-crypto-random]\n */\nimport { randomBytes as crypto_random } from \"./crypto.js\";\nlet locked = false;\nconst _randomBytes = function (length) {\n return new Uint8Array(crypto_random(length));\n};\nlet __randomBytes = _randomBytes;\n/**\n * Return %%length%% bytes of cryptographically secure random data.\n *\n * @example:\n * randomBytes(8)\n * //_result:\n */\nexport function randomBytes(length) {\n return __randomBytes(length);\n}\nrandomBytes._ = _randomBytes;\nrandomBytes.lock = function () { locked = true; };\nrandomBytes.register = function (func) {\n if (locked) {\n throw new Error(\"randomBytes is locked\");\n }\n __randomBytes = func;\n};\nObject.freeze(randomBytes);\n//# sourceMappingURL=random.js.map","import { number as assertNumber } from './_assert.js';\nimport { sha256 } from './sha256.js';\nimport { pbkdf2 } from './pbkdf2.js';\nimport { asyncLoop, checkOpts, u32 } from './utils.js';\n// RFC 7914 Scrypt KDF\n// Left rotate for uint32\nconst rotl = (a, b) => (a << b) | (a >>> (32 - b));\n// The main Scrypt loop: uses Salsa extensively.\n// Six versions of the function were tried, this is the fastest one.\n// prettier-ignore\nfunction XorAndSalsa(prev, pi, input, ii, out, oi) {\n // Based on https://cr.yp.to/salsa20.html\n // Xor blocks\n let y00 = prev[pi++] ^ input[ii++], y01 = prev[pi++] ^ input[ii++];\n let y02 = prev[pi++] ^ input[ii++], y03 = prev[pi++] ^ input[ii++];\n let y04 = prev[pi++] ^ input[ii++], y05 = prev[pi++] ^ input[ii++];\n let y06 = prev[pi++] ^ input[ii++], y07 = prev[pi++] ^ input[ii++];\n let y08 = prev[pi++] ^ input[ii++], y09 = prev[pi++] ^ input[ii++];\n let y10 = prev[pi++] ^ input[ii++], y11 = prev[pi++] ^ input[ii++];\n let y12 = prev[pi++] ^ input[ii++], y13 = prev[pi++] ^ input[ii++];\n let y14 = prev[pi++] ^ input[ii++], y15 = prev[pi++] ^ input[ii++];\n // Save state to temporary variables (salsa)\n let x00 = y00, x01 = y01, x02 = y02, x03 = y03, x04 = y04, x05 = y05, x06 = y06, x07 = y07, x08 = y08, x09 = y09, x10 = y10, x11 = y11, x12 = y12, x13 = y13, x14 = y14, x15 = y15;\n // Main loop (salsa)\n for (let i = 0; i < 8; i += 2) {\n x04 ^= rotl(x00 + x12 | 0, 7);\n x08 ^= rotl(x04 + x00 | 0, 9);\n x12 ^= rotl(x08 + x04 | 0, 13);\n x00 ^= rotl(x12 + x08 | 0, 18);\n x09 ^= rotl(x05 + x01 | 0, 7);\n x13 ^= rotl(x09 + x05 | 0, 9);\n x01 ^= rotl(x13 + x09 | 0, 13);\n x05 ^= rotl(x01 + x13 | 0, 18);\n x14 ^= rotl(x10 + x06 | 0, 7);\n x02 ^= rotl(x14 + x10 | 0, 9);\n x06 ^= rotl(x02 + x14 | 0, 13);\n x10 ^= rotl(x06 + x02 | 0, 18);\n x03 ^= rotl(x15 + x11 | 0, 7);\n x07 ^= rotl(x03 + x15 | 0, 9);\n x11 ^= rotl(x07 + x03 | 0, 13);\n x15 ^= rotl(x11 + x07 | 0, 18);\n x01 ^= rotl(x00 + x03 | 0, 7);\n x02 ^= rotl(x01 + x00 | 0, 9);\n x03 ^= rotl(x02 + x01 | 0, 13);\n x00 ^= rotl(x03 + x02 | 0, 18);\n x06 ^= rotl(x05 + x04 | 0, 7);\n x07 ^= rotl(x06 + x05 | 0, 9);\n x04 ^= rotl(x07 + x06 | 0, 13);\n x05 ^= rotl(x04 + x07 | 0, 18);\n x11 ^= rotl(x10 + x09 | 0, 7);\n x08 ^= rotl(x11 + x10 | 0, 9);\n x09 ^= rotl(x08 + x11 | 0, 13);\n x10 ^= rotl(x09 + x08 | 0, 18);\n x12 ^= rotl(x15 + x14 | 0, 7);\n x13 ^= rotl(x12 + x15 | 0, 9);\n x14 ^= rotl(x13 + x12 | 0, 13);\n x15 ^= rotl(x14 + x13 | 0, 18);\n }\n // Write output (salsa)\n out[oi++] = (y00 + x00) | 0;\n out[oi++] = (y01 + x01) | 0;\n out[oi++] = (y02 + x02) | 0;\n out[oi++] = (y03 + x03) | 0;\n out[oi++] = (y04 + x04) | 0;\n out[oi++] = (y05 + x05) | 0;\n out[oi++] = (y06 + x06) | 0;\n out[oi++] = (y07 + x07) | 0;\n out[oi++] = (y08 + x08) | 0;\n out[oi++] = (y09 + x09) | 0;\n out[oi++] = (y10 + x10) | 0;\n out[oi++] = (y11 + x11) | 0;\n out[oi++] = (y12 + x12) | 0;\n out[oi++] = (y13 + x13) | 0;\n out[oi++] = (y14 + x14) | 0;\n out[oi++] = (y15 + x15) | 0;\n}\nfunction BlockMix(input, ii, out, oi, r) {\n // The block B is r 128-byte chunks (which is equivalent of 2r 64-byte chunks)\n let head = oi + 0;\n let tail = oi + 16 * r;\n for (let i = 0; i < 16; i++)\n out[tail + i] = input[ii + (2 * r - 1) * 16 + i]; // X ← B[2r−1]\n for (let i = 0; i < r; i++, head += 16, ii += 16) {\n // We write odd & even Yi at same time. Even: 0bXXXXX0 Odd: 0bXXXXX1\n XorAndSalsa(out, tail, input, ii, out, head); // head[i] = Salsa(blockIn[2*i] ^ tail[i-1])\n if (i > 0)\n tail += 16; // First iteration overwrites tmp value in tail\n XorAndSalsa(out, head, input, (ii += 16), out, tail); // tail[i] = Salsa(blockIn[2*i+1] ^ head[i])\n }\n}\n// Common prologue and epilogue for sync/async functions\nfunction scryptInit(password, salt, _opts) {\n // Maxmem - 1GB+1KB by default\n const opts = checkOpts({\n dkLen: 32,\n asyncTick: 10,\n maxmem: 1024 ** 3 + 1024,\n }, _opts);\n const { N, r, p, dkLen, asyncTick, maxmem, onProgress } = opts;\n assertNumber(N);\n assertNumber(r);\n assertNumber(p);\n assertNumber(dkLen);\n assertNumber(asyncTick);\n assertNumber(maxmem);\n if (onProgress !== undefined && typeof onProgress !== 'function')\n throw new Error('progressCb should be function');\n const blockSize = 128 * r;\n const blockSize32 = blockSize / 4;\n if (N <= 1 || (N & (N - 1)) !== 0 || N >= 2 ** (blockSize / 8) || N > 2 ** 32) {\n // NOTE: we limit N to be less than 2**32 because of 32 bit variant of Integrify function\n // There is no JS engines that allows alocate more than 4GB per single Uint8Array for now, but can change in future.\n throw new Error('Scrypt: N must be larger than 1, a power of 2, less than 2^(128 * r / 8) and less than 2^32');\n }\n if (p < 0 || p > ((2 ** 32 - 1) * 32) / blockSize) {\n throw new Error('Scrypt: p must be a positive integer less than or equal to ((2^32 - 1) * 32) / (128 * r)');\n }\n if (dkLen < 0 || dkLen > (2 ** 32 - 1) * 32) {\n throw new Error('Scrypt: dkLen should be positive integer less than or equal to (2^32 - 1) * 32');\n }\n const memUsed = blockSize * (N + p);\n if (memUsed > maxmem) {\n throw new Error(`Scrypt: parameters too large, ${memUsed} (128 * r * (N + p)) > ${maxmem} (maxmem)`);\n }\n // [B0...Bp−1] ← PBKDF2HMAC-SHA256(Passphrase, Salt, 1, blockSize*ParallelizationFactor)\n // Since it has only one iteration there is no reason to use async variant\n const B = pbkdf2(sha256, password, salt, { c: 1, dkLen: blockSize * p });\n const B32 = u32(B);\n // Re-used between parallel iterations. Array(iterations) of B\n const V = u32(new Uint8Array(blockSize * N));\n const tmp = u32(new Uint8Array(blockSize));\n let blockMixCb = () => { };\n if (onProgress) {\n const totalBlockMix = 2 * N * p;\n // Invoke callback if progress changes from 10.01 to 10.02\n // Allows to draw smooth progress bar on up to 8K screen\n const callbackPer = Math.max(Math.floor(totalBlockMix / 10000), 1);\n let blockMixCnt = 0;\n blockMixCb = () => {\n blockMixCnt++;\n if (onProgress && (!(blockMixCnt % callbackPer) || blockMixCnt === totalBlockMix))\n onProgress(blockMixCnt / totalBlockMix);\n };\n }\n return { N, r, p, dkLen, blockSize32, V, B32, B, tmp, blockMixCb, asyncTick };\n}\nfunction scryptOutput(password, dkLen, B, V, tmp) {\n const res = pbkdf2(sha256, password, B, { c: 1, dkLen });\n B.fill(0);\n V.fill(0);\n tmp.fill(0);\n return res;\n}\n/**\n * Scrypt KDF from RFC 7914.\n * @param password - pass\n * @param salt - salt\n * @param opts - parameters\n * - `N` is cpu/mem work factor (power of 2 e.g. 2**18)\n * - `r` is block size (8 is common), fine-tunes sequential memory read size and performance\n * - `p` is parallelization factor (1 is common)\n * - `dkLen` is output key length in bytes e.g. 32.\n * - `asyncTick` - (default: 10) max time in ms for which async function can block execution\n * - `maxmem` - (default: `1024 ** 3 + 1024` aka 1GB+1KB). A limit that the app could use for scrypt\n * - `onProgress` - callback function that would be executed for progress report\n * @returns Derived key\n */\nexport function scrypt(password, salt, opts) {\n const { N, r, p, dkLen, blockSize32, V, B32, B, tmp, blockMixCb } = scryptInit(password, salt, opts);\n for (let pi = 0; pi < p; pi++) {\n const Pi = blockSize32 * pi;\n for (let i = 0; i < blockSize32; i++)\n V[i] = B32[Pi + i]; // V[0] = B[i]\n for (let i = 0, pos = 0; i < N - 1; i++) {\n BlockMix(V, pos, V, (pos += blockSize32), r); // V[i] = BlockMix(V[i-1]);\n blockMixCb();\n }\n BlockMix(V, (N - 1) * blockSize32, B32, Pi, r); // Process last element\n blockMixCb();\n for (let i = 0; i < N; i++) {\n // First u32 of the last 64-byte block (u32 is LE)\n const j = B32[Pi + blockSize32 - 16] % N; // j = Integrify(X) % iterations\n for (let k = 0; k < blockSize32; k++)\n tmp[k] = B32[Pi + k] ^ V[j * blockSize32 + k]; // tmp = B ^ V[j]\n BlockMix(tmp, 0, B32, Pi, r); // B = BlockMix(B ^ V[j])\n blockMixCb();\n }\n }\n return scryptOutput(password, dkLen, B, V, tmp);\n}\n/**\n * Scrypt KDF from RFC 7914.\n */\nexport async function scryptAsync(password, salt, opts) {\n const { N, r, p, dkLen, blockSize32, V, B32, B, tmp, blockMixCb, asyncTick } = scryptInit(password, salt, opts);\n for (let pi = 0; pi < p; pi++) {\n const Pi = blockSize32 * pi;\n for (let i = 0; i < blockSize32; i++)\n V[i] = B32[Pi + i]; // V[0] = B[i]\n let pos = 0;\n await asyncLoop(N - 1, asyncTick, () => {\n BlockMix(V, pos, V, (pos += blockSize32), r); // V[i] = BlockMix(V[i-1]);\n blockMixCb();\n });\n BlockMix(V, (N - 1) * blockSize32, B32, Pi, r); // Process last element\n blockMixCb();\n await asyncLoop(N, asyncTick, () => {\n // First u32 of the last 64-byte block (u32 is LE)\n const j = B32[Pi + blockSize32 - 16] % N; // j = Integrify(X) % iterations\n for (let k = 0; k < blockSize32; k++)\n tmp[k] = B32[Pi + k] ^ V[j * blockSize32 + k]; // tmp = B ^ V[j]\n BlockMix(tmp, 0, B32, Pi, r); // B = BlockMix(B ^ V[j])\n blockMixCb();\n });\n }\n return scryptOutput(password, dkLen, B, V, tmp);\n}\n//# sourceMappingURL=scrypt.js.map","import { scrypt as _nobleSync, scryptAsync as _nobleAsync } from \"@noble/hashes/scrypt\";\nimport { getBytes, hexlify as H } from \"../utils/index.js\";\nlet lockedSync = false, lockedAsync = false;\nconst _scryptAsync = async function (passwd, salt, N, r, p, dkLen, onProgress) {\n return await _nobleAsync(passwd, salt, { N, r, p, dkLen, onProgress });\n};\nconst _scryptSync = function (passwd, salt, N, r, p, dkLen) {\n return _nobleSync(passwd, salt, { N, r, p, dkLen });\n};\nlet __scryptAsync = _scryptAsync;\nlet __scryptSync = _scryptSync;\n/**\n * The [[link-wiki-scrypt]] uses a memory and cpu hard method of\n * derivation to increase the resource cost to brute-force a password\n * for a given key.\n *\n * This means this algorithm is intentionally slow, and can be tuned to\n * become slower. As computation and memory speed improve over time,\n * increasing the difficulty maintains the cost of an attacker.\n *\n * For example, if a target time of 5 seconds is used, a legitimate user\n * which knows their password requires only 5 seconds to unlock their\n * account. A 6 character password has 68 billion possibilities, which\n * would require an attacker to invest over 10,000 years of CPU time. This\n * is of course a crude example (as password generally aren't random),\n * but demonstrates to value of imposing large costs to decryption.\n *\n * For this reason, if building a UI which involved decrypting or\n * encrypting datsa using scrypt, it is recommended to use a\n * [[ProgressCallback]] (as event short periods can seem lik an eternity\n * if the UI freezes). Including the phrase //\"decrypting\"// in the UI\n * can also help, assuring the user their waiting is for a good reason.\n *\n * @_docloc: api/crypto:Passwords\n *\n * @example:\n * // The password must be converted to bytes, and it is generally\n * // best practices to ensure the string has been normalized. Many\n * // formats explicitly indicate the normalization form to use.\n * password = \"hello\"\n * passwordBytes = toUtf8Bytes(password, \"NFKC\")\n *\n * salt = id(\"some-salt\")\n *\n * // Compute the scrypt\n * scrypt(passwordBytes, salt, 1024, 8, 1, 16)\n * //_result:\n */\nexport async function scrypt(_passwd, _salt, N, r, p, dkLen, progress) {\n const passwd = getBytes(_passwd, \"passwd\");\n const salt = getBytes(_salt, \"salt\");\n return H(await __scryptAsync(passwd, salt, N, r, p, dkLen, progress));\n}\nscrypt._ = _scryptAsync;\nscrypt.lock = function () { lockedAsync = true; };\nscrypt.register = function (func) {\n if (lockedAsync) {\n throw new Error(\"scrypt is locked\");\n }\n __scryptAsync = func;\n};\nObject.freeze(scrypt);\n/**\n * Provides a synchronous variant of [[scrypt]].\n *\n * This will completely lock up and freeze the UI in a browser and will\n * prevent any event loop from progressing. For this reason, it is\n * preferred to use the [async variant](scrypt).\n *\n * @_docloc: api/crypto:Passwords\n *\n * @example:\n * // The password must be converted to bytes, and it is generally\n * // best practices to ensure the string has been normalized. Many\n * // formats explicitly indicate the normalization form to use.\n * password = \"hello\"\n * passwordBytes = toUtf8Bytes(password, \"NFKC\")\n *\n * salt = id(\"some-salt\")\n *\n * // Compute the scrypt\n * scryptSync(passwordBytes, salt, 1024, 8, 1, 16)\n * //_result:\n */\nexport function scryptSync(_passwd, _salt, N, r, p, dkLen) {\n const passwd = getBytes(_passwd, \"passwd\");\n const salt = getBytes(_salt, \"salt\");\n return H(__scryptSync(passwd, salt, N, r, p, dkLen));\n}\nscryptSync._ = _scryptSync;\nscryptSync.lock = function () { lockedSync = true; };\nscryptSync.register = function (func) {\n if (lockedSync) {\n throw new Error(\"scryptSync is locked\");\n }\n __scryptSync = func;\n};\nObject.freeze(scryptSync);\n//# sourceMappingURL=scrypt.js.map","import { createHash } from \"./crypto.js\";\nimport { getBytes, hexlify } from \"../utils/index.js\";\nconst _sha256 = function (data) {\n return createHash(\"sha256\").update(data).digest();\n};\nconst _sha512 = function (data) {\n return createHash(\"sha512\").update(data).digest();\n};\nlet __sha256 = _sha256;\nlet __sha512 = _sha512;\nlet locked256 = false, locked512 = false;\n/**\n * Compute the cryptographic SHA2-256 hash of %%data%%.\n *\n * @_docloc: api/crypto:Hash Functions\n * @returns DataHexstring\n *\n * @example:\n * sha256(\"0x\")\n * //_result:\n *\n * sha256(\"0x1337\")\n * //_result:\n *\n * sha256(new Uint8Array([ 0x13, 0x37 ]))\n * //_result:\n *\n */\nexport function sha256(_data) {\n const data = getBytes(_data, \"data\");\n return hexlify(__sha256(data));\n}\nsha256._ = _sha256;\nsha256.lock = function () { locked256 = true; };\nsha256.register = function (func) {\n if (locked256) {\n throw new Error(\"sha256 is locked\");\n }\n __sha256 = func;\n};\nObject.freeze(sha256);\n/**\n * Compute the cryptographic SHA2-512 hash of %%data%%.\n *\n * @_docloc: api/crypto:Hash Functions\n * @returns DataHexstring\n *\n * @example:\n * sha512(\"0x\")\n * //_result:\n *\n * sha512(\"0x1337\")\n * //_result:\n *\n * sha512(new Uint8Array([ 0x13, 0x37 ]))\n * //_result:\n */\nexport function sha512(_data) {\n const data = getBytes(_data, \"data\");\n return hexlify(__sha512(data));\n}\nsha512._ = _sha512;\nsha512.lock = function () { locked512 = true; };\nsha512.register = function (func) {\n if (locked512) {\n throw new Error(\"sha512 is locked\");\n }\n __sha512 = func;\n};\nObject.freeze(sha256);\n//# sourceMappingURL=sha2.js.map","/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n// 100 lines of code in the file are duplicated from noble-hashes (utils).\n// This is OK: `abstract` directory does not use noble-hashes.\n// User may opt-in into using different hashing library. This way, noble-hashes\n// won't be included into their bundle.\nconst _0n = BigInt(0);\nconst _1n = BigInt(1);\nconst _2n = BigInt(2);\nconst u8a = (a) => a instanceof Uint8Array;\nconst hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, '0'));\n/**\n * @example bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])) // 'cafe0123'\n */\nexport function bytesToHex(bytes) {\n if (!u8a(bytes))\n throw new Error('Uint8Array expected');\n // pre-caching improves the speed 6x\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n hex += hexes[bytes[i]];\n }\n return hex;\n}\nexport function numberToHexUnpadded(num) {\n const hex = num.toString(16);\n return hex.length & 1 ? `0${hex}` : hex;\n}\nexport function hexToNumber(hex) {\n if (typeof hex !== 'string')\n throw new Error('hex string expected, got ' + typeof hex);\n // Big Endian\n return BigInt(hex === '' ? '0' : `0x${hex}`);\n}\n/**\n * @example hexToBytes('cafe0123') // Uint8Array.from([0xca, 0xfe, 0x01, 0x23])\n */\nexport function hexToBytes(hex) {\n if (typeof hex !== 'string')\n throw new Error('hex string expected, got ' + typeof hex);\n const len = hex.length;\n if (len % 2)\n throw new Error('padded hex string expected, got unpadded hex of length ' + len);\n const array = new Uint8Array(len / 2);\n for (let i = 0; i < array.length; i++) {\n const j = i * 2;\n const hexByte = hex.slice(j, j + 2);\n const byte = Number.parseInt(hexByte, 16);\n if (Number.isNaN(byte) || byte < 0)\n throw new Error('Invalid byte sequence');\n array[i] = byte;\n }\n return array;\n}\n// BE: Big Endian, LE: Little Endian\nexport function bytesToNumberBE(bytes) {\n return hexToNumber(bytesToHex(bytes));\n}\nexport function bytesToNumberLE(bytes) {\n if (!u8a(bytes))\n throw new Error('Uint8Array expected');\n return hexToNumber(bytesToHex(Uint8Array.from(bytes).reverse()));\n}\nexport function numberToBytesBE(n, len) {\n return hexToBytes(n.toString(16).padStart(len * 2, '0'));\n}\nexport function numberToBytesLE(n, len) {\n return numberToBytesBE(n, len).reverse();\n}\n// Unpadded, rarely used\nexport function numberToVarBytesBE(n) {\n return hexToBytes(numberToHexUnpadded(n));\n}\n/**\n * Takes hex string or Uint8Array, converts to Uint8Array.\n * Validates output length.\n * Will throw error for other types.\n * @param title descriptive title for an error e.g. 'private key'\n * @param hex hex string or Uint8Array\n * @param expectedLength optional, will compare to result array's length\n * @returns\n */\nexport function ensureBytes(title, hex, expectedLength) {\n let res;\n if (typeof hex === 'string') {\n try {\n res = hexToBytes(hex);\n }\n catch (e) {\n throw new Error(`${title} must be valid hex string, got \"${hex}\". Cause: ${e}`);\n }\n }\n else if (u8a(hex)) {\n // Uint8Array.from() instead of hash.slice() because node.js Buffer\n // is instance of Uint8Array, and its slice() creates **mutable** copy\n res = Uint8Array.from(hex);\n }\n else {\n throw new Error(`${title} must be hex string or Uint8Array`);\n }\n const len = res.length;\n if (typeof expectedLength === 'number' && len !== expectedLength)\n throw new Error(`${title} expected ${expectedLength} bytes, got ${len}`);\n return res;\n}\n/**\n * Copies several Uint8Arrays into one.\n */\nexport function concatBytes(...arrays) {\n const r = new Uint8Array(arrays.reduce((sum, a) => sum + a.length, 0));\n let pad = 0; // walk through each item, ensure they have proper type\n arrays.forEach((a) => {\n if (!u8a(a))\n throw new Error('Uint8Array expected');\n r.set(a, pad);\n pad += a.length;\n });\n return r;\n}\nexport function equalBytes(b1, b2) {\n // We don't care about timing attacks here\n if (b1.length !== b2.length)\n return false;\n for (let i = 0; i < b1.length; i++)\n if (b1[i] !== b2[i])\n return false;\n return true;\n}\n/**\n * @example utf8ToBytes('abc') // new Uint8Array([97, 98, 99])\n */\nexport function utf8ToBytes(str) {\n if (typeof str !== 'string')\n throw new Error(`utf8ToBytes expected string, got ${typeof str}`);\n return new Uint8Array(new TextEncoder().encode(str)); // https://bugzil.la/1681809\n}\n// Bit operations\n/**\n * Calculates amount of bits in a bigint.\n * Same as `n.toString(2).length`\n */\nexport function bitLen(n) {\n let len;\n for (len = 0; n > _0n; n >>= _1n, len += 1)\n ;\n return len;\n}\n/**\n * Gets single bit at position.\n * NOTE: first bit position is 0 (same as arrays)\n * Same as `!!+Array.from(n.toString(2)).reverse()[pos]`\n */\nexport function bitGet(n, pos) {\n return (n >> BigInt(pos)) & _1n;\n}\n/**\n * Sets single bit at position.\n */\nexport const bitSet = (n, pos, value) => {\n return n | ((value ? _1n : _0n) << BigInt(pos));\n};\n/**\n * Calculate mask for N bits. Not using ** operator with bigints because of old engines.\n * Same as BigInt(`0b${Array(i).fill('1').join('')}`)\n */\nexport const bitMask = (n) => (_2n << BigInt(n - 1)) - _1n;\n// DRBG\nconst u8n = (data) => new Uint8Array(data); // creates Uint8Array\nconst u8fr = (arr) => Uint8Array.from(arr); // another shortcut\n/**\n * Minimal HMAC-DRBG from NIST 800-90 for RFC6979 sigs.\n * @returns function that will call DRBG until 2nd arg returns something meaningful\n * @example\n * const drbg = createHmacDRBG(32, 32, hmac);\n * drbg(seed, bytesToKey); // bytesToKey must return Key or undefined\n */\nexport function createHmacDrbg(hashLen, qByteLen, hmacFn) {\n if (typeof hashLen !== 'number' || hashLen < 2)\n throw new Error('hashLen must be a number');\n if (typeof qByteLen !== 'number' || qByteLen < 2)\n throw new Error('qByteLen must be a number');\n if (typeof hmacFn !== 'function')\n throw new Error('hmacFn must be a function');\n // Step B, Step C: set hashLen to 8*ceil(hlen/8)\n let v = u8n(hashLen); // Minimal non-full-spec HMAC-DRBG from NIST 800-90 for RFC6979 sigs.\n let k = u8n(hashLen); // Steps B and C of RFC6979 3.2: set hashLen, in our case always same\n let i = 0; // Iterations counter, will throw when over 1000\n const reset = () => {\n v.fill(1);\n k.fill(0);\n i = 0;\n };\n const h = (...b) => hmacFn(k, v, ...b); // hmac(k)(v, ...values)\n const reseed = (seed = u8n()) => {\n // HMAC-DRBG reseed() function. Steps D-G\n k = h(u8fr([0x00]), seed); // k = hmac(k || v || 0x00 || seed)\n v = h(); // v = hmac(k || v)\n if (seed.length === 0)\n return;\n k = h(u8fr([0x01]), seed); // k = hmac(k || v || 0x01 || seed)\n v = h(); // v = hmac(k || v)\n };\n const gen = () => {\n // HMAC-DRBG generate() function\n if (i++ >= 1000)\n throw new Error('drbg: tried 1000 values');\n let len = 0;\n const out = [];\n while (len < qByteLen) {\n v = h();\n const sl = v.slice();\n out.push(sl);\n len += v.length;\n }\n return concatBytes(...out);\n };\n const genUntil = (seed, pred) => {\n reset();\n reseed(seed); // Steps D-G\n let res = undefined; // Step H: grind until k is in [1..n-1]\n while (!(res = pred(gen())))\n reseed();\n reset();\n return res;\n };\n return genUntil;\n}\n// Validating curves and fields\nconst validatorFns = {\n bigint: (val) => typeof val === 'bigint',\n function: (val) => typeof val === 'function',\n boolean: (val) => typeof val === 'boolean',\n string: (val) => typeof val === 'string',\n stringOrUint8Array: (val) => typeof val === 'string' || val instanceof Uint8Array,\n isSafeInteger: (val) => Number.isSafeInteger(val),\n array: (val) => Array.isArray(val),\n field: (val, object) => object.Fp.isValid(val),\n hash: (val) => typeof val === 'function' && Number.isSafeInteger(val.outputLen),\n};\n// type Record = { [P in K]: T; }\nexport function validateObject(object, validators, optValidators = {}) {\n const checkField = (fieldName, type, isOptional) => {\n const checkVal = validatorFns[type];\n if (typeof checkVal !== 'function')\n throw new Error(`Invalid validator \"${type}\", expected function`);\n const val = object[fieldName];\n if (isOptional && val === undefined)\n return;\n if (!checkVal(val, object)) {\n throw new Error(`Invalid param ${String(fieldName)}=${val} (${typeof val}), expected ${type}`);\n }\n };\n for (const [fieldName, type] of Object.entries(validators))\n checkField(fieldName, type, false);\n for (const [fieldName, type] of Object.entries(optValidators))\n checkField(fieldName, type, true);\n return object;\n}\n// validate type tests\n// const o: { a: number; b: number; c: number } = { a: 1, b: 5, c: 6 };\n// const z0 = validateObject(o, { a: 'isSafeInteger' }, { c: 'bigint' }); // Ok!\n// // Should fail type-check\n// const z1 = validateObject(o, { a: 'tmp' }, { c: 'zz' });\n// const z2 = validateObject(o, { a: 'isSafeInteger' }, { c: 'zz' });\n// const z3 = validateObject(o, { test: 'boolean', z: 'bug' });\n// const z4 = validateObject(o, { a: 'boolean', z: 'bug' });\n//# sourceMappingURL=utils.js.map","/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n// Utilities for modular arithmetics and finite fields\nimport { bitMask, numberToBytesBE, numberToBytesLE, bytesToNumberBE, bytesToNumberLE, ensureBytes, validateObject, } from './utils.js';\n// prettier-ignore\nconst _0n = BigInt(0), _1n = BigInt(1), _2n = BigInt(2), _3n = BigInt(3);\n// prettier-ignore\nconst _4n = BigInt(4), _5n = BigInt(5), _8n = BigInt(8);\n// prettier-ignore\nconst _9n = BigInt(9), _16n = BigInt(16);\n// Calculates a modulo b\nexport function mod(a, b) {\n const result = a % b;\n return result >= _0n ? result : b + result;\n}\n/**\n * Efficiently raise num to power and do modular division.\n * Unsafe in some contexts: uses ladder, so can expose bigint bits.\n * @example\n * pow(2n, 6n, 11n) // 64n % 11n == 9n\n */\n// TODO: use field version && remove\nexport function pow(num, power, modulo) {\n if (modulo <= _0n || power < _0n)\n throw new Error('Expected power/modulo > 0');\n if (modulo === _1n)\n return _0n;\n let res = _1n;\n while (power > _0n) {\n if (power & _1n)\n res = (res * num) % modulo;\n num = (num * num) % modulo;\n power >>= _1n;\n }\n return res;\n}\n// Does x ^ (2 ^ power) mod p. pow2(30, 4) == 30 ^ (2 ^ 4)\nexport function pow2(x, power, modulo) {\n let res = x;\n while (power-- > _0n) {\n res *= res;\n res %= modulo;\n }\n return res;\n}\n// Inverses number over modulo\nexport function invert(number, modulo) {\n if (number === _0n || modulo <= _0n) {\n throw new Error(`invert: expected positive integers, got n=${number} mod=${modulo}`);\n }\n // Euclidean GCD https://brilliant.org/wiki/extended-euclidean-algorithm/\n // Fermat's little theorem \"CT-like\" version inv(n) = n^(m-2) mod m is 30x slower.\n let a = mod(number, modulo);\n let b = modulo;\n // prettier-ignore\n let x = _0n, y = _1n, u = _1n, v = _0n;\n while (a !== _0n) {\n // JIT applies optimization if those two lines follow each other\n const q = b / a;\n const r = b % a;\n const m = x - u * q;\n const n = y - v * q;\n // prettier-ignore\n b = a, a = r, x = u, y = v, u = m, v = n;\n }\n const gcd = b;\n if (gcd !== _1n)\n throw new Error('invert: does not exist');\n return mod(x, modulo);\n}\n/**\n * Tonelli-Shanks square root search algorithm.\n * 1. https://eprint.iacr.org/2012/685.pdf (page 12)\n * 2. Square Roots from 1; 24, 51, 10 to Dan Shanks\n * Will start an infinite loop if field order P is not prime.\n * @param P field order\n * @returns function that takes field Fp (created from P) and number n\n */\nexport function tonelliShanks(P) {\n // Legendre constant: used to calculate Legendre symbol (a | p),\n // which denotes the value of a^((p-1)/2) (mod p).\n // (a | p) ≡ 1 if a is a square (mod p)\n // (a | p) ≡ -1 if a is not a square (mod p)\n // (a | p) ≡ 0 if a ≡ 0 (mod p)\n const legendreC = (P - _1n) / _2n;\n let Q, S, Z;\n // Step 1: By factoring out powers of 2 from p - 1,\n // find q and s such that p - 1 = q*(2^s) with q odd\n for (Q = P - _1n, S = 0; Q % _2n === _0n; Q /= _2n, S++)\n ;\n // Step 2: Select a non-square z such that (z | p) ≡ -1 and set c ≡ zq\n for (Z = _2n; Z < P && pow(Z, legendreC, P) !== P - _1n; Z++)\n ;\n // Fast-path\n if (S === 1) {\n const p1div4 = (P + _1n) / _4n;\n return function tonelliFast(Fp, n) {\n const root = Fp.pow(n, p1div4);\n if (!Fp.eql(Fp.sqr(root), n))\n throw new Error('Cannot find square root');\n return root;\n };\n }\n // Slow-path\n const Q1div2 = (Q + _1n) / _2n;\n return function tonelliSlow(Fp, n) {\n // Step 0: Check that n is indeed a square: (n | p) should not be ≡ -1\n if (Fp.pow(n, legendreC) === Fp.neg(Fp.ONE))\n throw new Error('Cannot find square root');\n let r = S;\n // TODO: will fail at Fp2/etc\n let g = Fp.pow(Fp.mul(Fp.ONE, Z), Q); // will update both x and b\n let x = Fp.pow(n, Q1div2); // first guess at the square root\n let b = Fp.pow(n, Q); // first guess at the fudge factor\n while (!Fp.eql(b, Fp.ONE)) {\n if (Fp.eql(b, Fp.ZERO))\n return Fp.ZERO; // https://en.wikipedia.org/wiki/Tonelli%E2%80%93Shanks_algorithm (4. If t = 0, return r = 0)\n // Find m such b^(2^m)==1\n let m = 1;\n for (let t2 = Fp.sqr(b); m < r; m++) {\n if (Fp.eql(t2, Fp.ONE))\n break;\n t2 = Fp.sqr(t2); // t2 *= t2\n }\n // NOTE: r-m-1 can be bigger than 32, need to convert to bigint before shift, otherwise there will be overflow\n const ge = Fp.pow(g, _1n << BigInt(r - m - 1)); // ge = 2^(r-m-1)\n g = Fp.sqr(ge); // g = ge * ge\n x = Fp.mul(x, ge); // x *= ge\n b = Fp.mul(b, g); // b *= g\n r = m;\n }\n return x;\n };\n}\nexport function FpSqrt(P) {\n // NOTE: different algorithms can give different roots, it is up to user to decide which one they want.\n // For example there is FpSqrtOdd/FpSqrtEven to choice root based on oddness (used for hash-to-curve).\n // P ≡ 3 (mod 4)\n // √n = n^((P+1)/4)\n if (P % _4n === _3n) {\n // Not all roots possible!\n // const ORDER =\n // 0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaabn;\n // const NUM = 72057594037927816n;\n const p1div4 = (P + _1n) / _4n;\n return function sqrt3mod4(Fp, n) {\n const root = Fp.pow(n, p1div4);\n // Throw if root**2 != n\n if (!Fp.eql(Fp.sqr(root), n))\n throw new Error('Cannot find square root');\n return root;\n };\n }\n // Atkin algorithm for q ≡ 5 (mod 8), https://eprint.iacr.org/2012/685.pdf (page 10)\n if (P % _8n === _5n) {\n const c1 = (P - _5n) / _8n;\n return function sqrt5mod8(Fp, n) {\n const n2 = Fp.mul(n, _2n);\n const v = Fp.pow(n2, c1);\n const nv = Fp.mul(n, v);\n const i = Fp.mul(Fp.mul(nv, _2n), v);\n const root = Fp.mul(nv, Fp.sub(i, Fp.ONE));\n if (!Fp.eql(Fp.sqr(root), n))\n throw new Error('Cannot find square root');\n return root;\n };\n }\n // P ≡ 9 (mod 16)\n if (P % _16n === _9n) {\n // NOTE: tonelli is too slow for bls-Fp2 calculations even on start\n // Means we cannot use sqrt for constants at all!\n //\n // const c1 = Fp.sqrt(Fp.negate(Fp.ONE)); // 1. c1 = sqrt(-1) in F, i.e., (c1^2) == -1 in F\n // const c2 = Fp.sqrt(c1); // 2. c2 = sqrt(c1) in F, i.e., (c2^2) == c1 in F\n // const c3 = Fp.sqrt(Fp.negate(c1)); // 3. c3 = sqrt(-c1) in F, i.e., (c3^2) == -c1 in F\n // const c4 = (P + _7n) / _16n; // 4. c4 = (q + 7) / 16 # Integer arithmetic\n // sqrt = (x) => {\n // let tv1 = Fp.pow(x, c4); // 1. tv1 = x^c4\n // let tv2 = Fp.mul(c1, tv1); // 2. tv2 = c1 * tv1\n // const tv3 = Fp.mul(c2, tv1); // 3. tv3 = c2 * tv1\n // let tv4 = Fp.mul(c3, tv1); // 4. tv4 = c3 * tv1\n // const e1 = Fp.equals(Fp.square(tv2), x); // 5. e1 = (tv2^2) == x\n // const e2 = Fp.equals(Fp.square(tv3), x); // 6. e2 = (tv3^2) == x\n // tv1 = Fp.cmov(tv1, tv2, e1); // 7. tv1 = CMOV(tv1, tv2, e1) # Select tv2 if (tv2^2) == x\n // tv2 = Fp.cmov(tv4, tv3, e2); // 8. tv2 = CMOV(tv4, tv3, e2) # Select tv3 if (tv3^2) == x\n // const e3 = Fp.equals(Fp.square(tv2), x); // 9. e3 = (tv2^2) == x\n // return Fp.cmov(tv1, tv2, e3); // 10. z = CMOV(tv1, tv2, e3) # Select the sqrt from tv1 and tv2\n // }\n }\n // Other cases: Tonelli-Shanks algorithm\n return tonelliShanks(P);\n}\n// Little-endian check for first LE bit (last BE bit);\nexport const isNegativeLE = (num, modulo) => (mod(num, modulo) & _1n) === _1n;\n// prettier-ignore\nconst FIELD_FIELDS = [\n 'create', 'isValid', 'is0', 'neg', 'inv', 'sqrt', 'sqr',\n 'eql', 'add', 'sub', 'mul', 'pow', 'div',\n 'addN', 'subN', 'mulN', 'sqrN'\n];\nexport function validateField(field) {\n const initial = {\n ORDER: 'bigint',\n MASK: 'bigint',\n BYTES: 'isSafeInteger',\n BITS: 'isSafeInteger',\n };\n const opts = FIELD_FIELDS.reduce((map, val) => {\n map[val] = 'function';\n return map;\n }, initial);\n return validateObject(field, opts);\n}\n// Generic field functions\n/**\n * Same as `pow` but for Fp: non-constant-time.\n * Unsafe in some contexts: uses ladder, so can expose bigint bits.\n */\nexport function FpPow(f, num, power) {\n // Should have same speed as pow for bigints\n // TODO: benchmark!\n if (power < _0n)\n throw new Error('Expected power > 0');\n if (power === _0n)\n return f.ONE;\n if (power === _1n)\n return num;\n let p = f.ONE;\n let d = num;\n while (power > _0n) {\n if (power & _1n)\n p = f.mul(p, d);\n d = f.sqr(d);\n power >>= _1n;\n }\n return p;\n}\n/**\n * Efficiently invert an array of Field elements.\n * `inv(0)` will return `undefined` here: make sure to throw an error.\n */\nexport function FpInvertBatch(f, nums) {\n const tmp = new Array(nums.length);\n // Walk from first to last, multiply them by each other MOD p\n const lastMultiplied = nums.reduce((acc, num, i) => {\n if (f.is0(num))\n return acc;\n tmp[i] = acc;\n return f.mul(acc, num);\n }, f.ONE);\n // Invert last element\n const inverted = f.inv(lastMultiplied);\n // Walk from last to first, multiply them by inverted each other MOD p\n nums.reduceRight((acc, num, i) => {\n if (f.is0(num))\n return acc;\n tmp[i] = f.mul(acc, tmp[i]);\n return f.mul(acc, num);\n }, inverted);\n return tmp;\n}\nexport function FpDiv(f, lhs, rhs) {\n return f.mul(lhs, typeof rhs === 'bigint' ? invert(rhs, f.ORDER) : f.inv(rhs));\n}\n// This function returns True whenever the value x is a square in the field F.\nexport function FpIsSquare(f) {\n const legendreConst = (f.ORDER - _1n) / _2n; // Integer arithmetic\n return (x) => {\n const p = f.pow(x, legendreConst);\n return f.eql(p, f.ZERO) || f.eql(p, f.ONE);\n };\n}\n// CURVE.n lengths\nexport function nLength(n, nBitLength) {\n // Bit size, byte size of CURVE.n\n const _nBitLength = nBitLength !== undefined ? nBitLength : n.toString(2).length;\n const nByteLength = Math.ceil(_nBitLength / 8);\n return { nBitLength: _nBitLength, nByteLength };\n}\n/**\n * Initializes a finite field over prime. **Non-primes are not supported.**\n * Do not init in loop: slow. Very fragile: always run a benchmark on a change.\n * Major performance optimizations:\n * * a) denormalized operations like mulN instead of mul\n * * b) same object shape: never add or remove keys\n * * c) Object.freeze\n * @param ORDER prime positive bigint\n * @param bitLen how many bits the field consumes\n * @param isLE (def: false) if encoding / decoding should be in little-endian\n * @param redef optional faster redefinitions of sqrt and other methods\n */\nexport function Field(ORDER, bitLen, isLE = false, redef = {}) {\n if (ORDER <= _0n)\n throw new Error(`Expected Field ORDER > 0, got ${ORDER}`);\n const { nBitLength: BITS, nByteLength: BYTES } = nLength(ORDER, bitLen);\n if (BYTES > 2048)\n throw new Error('Field lengths over 2048 bytes are not supported');\n const sqrtP = FpSqrt(ORDER);\n const f = Object.freeze({\n ORDER,\n BITS,\n BYTES,\n MASK: bitMask(BITS),\n ZERO: _0n,\n ONE: _1n,\n create: (num) => mod(num, ORDER),\n isValid: (num) => {\n if (typeof num !== 'bigint')\n throw new Error(`Invalid field element: expected bigint, got ${typeof num}`);\n return _0n <= num && num < ORDER; // 0 is valid element, but it's not invertible\n },\n is0: (num) => num === _0n,\n isOdd: (num) => (num & _1n) === _1n,\n neg: (num) => mod(-num, ORDER),\n eql: (lhs, rhs) => lhs === rhs,\n sqr: (num) => mod(num * num, ORDER),\n add: (lhs, rhs) => mod(lhs + rhs, ORDER),\n sub: (lhs, rhs) => mod(lhs - rhs, ORDER),\n mul: (lhs, rhs) => mod(lhs * rhs, ORDER),\n pow: (num, power) => FpPow(f, num, power),\n div: (lhs, rhs) => mod(lhs * invert(rhs, ORDER), ORDER),\n // Same as above, but doesn't normalize\n sqrN: (num) => num * num,\n addN: (lhs, rhs) => lhs + rhs,\n subN: (lhs, rhs) => lhs - rhs,\n mulN: (lhs, rhs) => lhs * rhs,\n inv: (num) => invert(num, ORDER),\n sqrt: redef.sqrt || ((n) => sqrtP(f, n)),\n invertBatch: (lst) => FpInvertBatch(f, lst),\n // TODO: do we really need constant cmov?\n // We don't have const-time bigints anyway, so probably will be not very useful\n cmov: (a, b, c) => (c ? b : a),\n toBytes: (num) => (isLE ? numberToBytesLE(num, BYTES) : numberToBytesBE(num, BYTES)),\n fromBytes: (bytes) => {\n if (bytes.length !== BYTES)\n throw new Error(`Fp.fromBytes: expected ${BYTES}, got ${bytes.length}`);\n return isLE ? bytesToNumberLE(bytes) : bytesToNumberBE(bytes);\n },\n });\n return Object.freeze(f);\n}\nexport function FpSqrtOdd(Fp, elm) {\n if (!Fp.isOdd)\n throw new Error(`Field doesn't have isOdd`);\n const root = Fp.sqrt(elm);\n return Fp.isOdd(root) ? root : Fp.neg(root);\n}\nexport function FpSqrtEven(Fp, elm) {\n if (!Fp.isOdd)\n throw new Error(`Field doesn't have isOdd`);\n const root = Fp.sqrt(elm);\n return Fp.isOdd(root) ? Fp.neg(root) : root;\n}\n/**\n * \"Constant-time\" private key generation utility.\n * Same as mapKeyToField, but accepts less bytes (40 instead of 48 for 32-byte field).\n * Which makes it slightly more biased, less secure.\n * @deprecated use mapKeyToField instead\n */\nexport function hashToPrivateScalar(hash, groupOrder, isLE = false) {\n hash = ensureBytes('privateHash', hash);\n const hashLen = hash.length;\n const minLen = nLength(groupOrder).nByteLength + 8;\n if (minLen < 24 || hashLen < minLen || hashLen > 1024)\n throw new Error(`hashToPrivateScalar: expected ${minLen}-1024 bytes of input, got ${hashLen}`);\n const num = isLE ? bytesToNumberLE(hash) : bytesToNumberBE(hash);\n return mod(num, groupOrder - _1n) + _1n;\n}\n/**\n * Returns total number of bytes consumed by the field element.\n * For example, 32 bytes for usual 256-bit weierstrass curve.\n * @param fieldOrder number of field elements, usually CURVE.n\n * @returns byte length of field\n */\nexport function getFieldBytesLength(fieldOrder) {\n if (typeof fieldOrder !== 'bigint')\n throw new Error('field order must be bigint');\n const bitLength = fieldOrder.toString(2).length;\n return Math.ceil(bitLength / 8);\n}\n/**\n * Returns minimal amount of bytes that can be safely reduced\n * by field order.\n * Should be 2^-128 for 128-bit curve such as P256.\n * @param fieldOrder number of field elements, usually CURVE.n\n * @returns byte length of target hash\n */\nexport function getMinHashLength(fieldOrder) {\n const length = getFieldBytesLength(fieldOrder);\n return length + Math.ceil(length / 2);\n}\n/**\n * \"Constant-time\" private key generation utility.\n * Can take (n + n/2) or more bytes of uniform input e.g. from CSPRNG or KDF\n * and convert them into private scalar, with the modulo bias being negligible.\n * Needs at least 48 bytes of input for 32-byte private key.\n * https://research.kudelskisecurity.com/2020/07/28/the-definitive-guide-to-modulo-bias-and-how-to-avoid-it/\n * FIPS 186-5, A.2 https://csrc.nist.gov/publications/detail/fips/186/5/final\n * RFC 9380, https://www.rfc-editor.org/rfc/rfc9380#section-5\n * @param hash hash output from SHA3 or a similar function\n * @param groupOrder size of subgroup - (e.g. secp256k1.CURVE.n)\n * @param isLE interpret hash bytes as LE num\n * @returns valid private scalar\n */\nexport function mapHashToField(key, fieldOrder, isLE = false) {\n const len = key.length;\n const fieldLen = getFieldBytesLength(fieldOrder);\n const minLen = getMinHashLength(fieldOrder);\n // No small numbers: need to understand bias story. No huge numbers: easier to detect JS timings.\n if (len < 16 || len < minLen || len > 1024)\n throw new Error(`expected ${minLen}-1024 bytes of input, got ${len}`);\n const num = isLE ? bytesToNumberBE(key) : bytesToNumberLE(key);\n // `mod(x, 11)` can sometimes produce 0. `mod(x, 10) + 1` is the same, but no 0\n const reduced = mod(num, fieldOrder - _1n) + _1n;\n return isLE ? numberToBytesLE(reduced, fieldLen) : numberToBytesBE(reduced, fieldLen);\n}\n//# sourceMappingURL=modular.js.map","/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n// Abelian group utilities\nimport { validateField, nLength } from './modular.js';\nimport { validateObject } from './utils.js';\nconst _0n = BigInt(0);\nconst _1n = BigInt(1);\n// Elliptic curve multiplication of Point by scalar. Fragile.\n// Scalars should always be less than curve order: this should be checked inside of a curve itself.\n// Creates precomputation tables for fast multiplication:\n// - private scalar is split by fixed size windows of W bits\n// - every window point is collected from window's table & added to accumulator\n// - since windows are different, same point inside tables won't be accessed more than once per calc\n// - each multiplication is 'Math.ceil(CURVE_ORDER / 𝑊) + 1' point additions (fixed for any scalar)\n// - +1 window is neccessary for wNAF\n// - wNAF reduces table size: 2x less memory + 2x faster generation, but 10% slower multiplication\n// TODO: Research returning 2d JS array of windows, instead of a single window. This would allow\n// windows to be in different memory locations\nexport function wNAF(c, bits) {\n const constTimeNegate = (condition, item) => {\n const neg = item.negate();\n return condition ? neg : item;\n };\n const opts = (W) => {\n const windows = Math.ceil(bits / W) + 1; // +1, because\n const windowSize = 2 ** (W - 1); // -1 because we skip zero\n return { windows, windowSize };\n };\n return {\n constTimeNegate,\n // non-const time multiplication ladder\n unsafeLadder(elm, n) {\n let p = c.ZERO;\n let d = elm;\n while (n > _0n) {\n if (n & _1n)\n p = p.add(d);\n d = d.double();\n n >>= _1n;\n }\n return p;\n },\n /**\n * Creates a wNAF precomputation window. Used for caching.\n * Default window size is set by `utils.precompute()` and is equal to 8.\n * Number of precomputed points depends on the curve size:\n * 2^(𝑊−1) * (Math.ceil(𝑛 / 𝑊) + 1), where:\n * - 𝑊 is the window size\n * - 𝑛 is the bitlength of the curve order.\n * For a 256-bit curve and window size 8, the number of precomputed points is 128 * 33 = 4224.\n * @returns precomputed point tables flattened to a single array\n */\n precomputeWindow(elm, W) {\n const { windows, windowSize } = opts(W);\n const points = [];\n let p = elm;\n let base = p;\n for (let window = 0; window < windows; window++) {\n base = p;\n points.push(base);\n // =1, because we skip zero\n for (let i = 1; i < windowSize; i++) {\n base = base.add(p);\n points.push(base);\n }\n p = base.double();\n }\n return points;\n },\n /**\n * Implements ec multiplication using precomputed tables and w-ary non-adjacent form.\n * @param W window size\n * @param precomputes precomputed tables\n * @param n scalar (we don't check here, but should be less than curve order)\n * @returns real and fake (for const-time) points\n */\n wNAF(W, precomputes, n) {\n // TODO: maybe check that scalar is less than group order? wNAF behavious is undefined otherwise\n // But need to carefully remove other checks before wNAF. ORDER == bits here\n const { windows, windowSize } = opts(W);\n let p = c.ZERO;\n let f = c.BASE;\n const mask = BigInt(2 ** W - 1); // Create mask with W ones: 0b1111 for W=4 etc.\n const maxNumber = 2 ** W;\n const shiftBy = BigInt(W);\n for (let window = 0; window < windows; window++) {\n const offset = window * windowSize;\n // Extract W bits.\n let wbits = Number(n & mask);\n // Shift number by W bits.\n n >>= shiftBy;\n // If the bits are bigger than max size, we'll split those.\n // +224 => 256 - 32\n if (wbits > windowSize) {\n wbits -= maxNumber;\n n += _1n;\n }\n // This code was first written with assumption that 'f' and 'p' will never be infinity point:\n // since each addition is multiplied by 2 ** W, it cannot cancel each other. However,\n // there is negate now: it is possible that negated element from low value\n // would be the same as high element, which will create carry into next window.\n // It's not obvious how this can fail, but still worth investigating later.\n // Check if we're onto Zero point.\n // Add random point inside current window to f.\n const offset1 = offset;\n const offset2 = offset + Math.abs(wbits) - 1; // -1 because we skip zero\n const cond1 = window % 2 !== 0;\n const cond2 = wbits < 0;\n if (wbits === 0) {\n // The most important part for const-time getPublicKey\n f = f.add(constTimeNegate(cond1, precomputes[offset1]));\n }\n else {\n p = p.add(constTimeNegate(cond2, precomputes[offset2]));\n }\n }\n // JIT-compiler should not eliminate f here, since it will later be used in normalizeZ()\n // Even if the variable is still unused, there are some checks which will\n // throw an exception, so compiler needs to prove they won't happen, which is hard.\n // At this point there is a way to F be infinity-point even if p is not,\n // which makes it less const-time: around 1 bigint multiply.\n return { p, f };\n },\n wNAFCached(P, precomputesMap, n, transform) {\n // @ts-ignore\n const W = P._WINDOW_SIZE || 1;\n // Calculate precomputes on a first run, reuse them after\n let comp = precomputesMap.get(P);\n if (!comp) {\n comp = this.precomputeWindow(P, W);\n if (W !== 1) {\n precomputesMap.set(P, transform(comp));\n }\n }\n return this.wNAF(W, comp, n);\n },\n };\n}\nexport function validateBasic(curve) {\n validateField(curve.Fp);\n validateObject(curve, {\n n: 'bigint',\n h: 'bigint',\n Gx: 'field',\n Gy: 'field',\n }, {\n nBitLength: 'isSafeInteger',\n nByteLength: 'isSafeInteger',\n });\n // Set defaults\n return Object.freeze({\n ...nLength(curve.n, curve.nBitLength),\n ...curve,\n ...{ p: curve.Fp.ORDER },\n });\n}\n//# sourceMappingURL=curve.js.map","/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n// Short Weierstrass curve. The formula is: y² = x³ + ax + b\nimport * as mod from './modular.js';\nimport * as ut from './utils.js';\nimport { ensureBytes } from './utils.js';\nimport { wNAF, validateBasic } from './curve.js';\nfunction validatePointOpts(curve) {\n const opts = validateBasic(curve);\n ut.validateObject(opts, {\n a: 'field',\n b: 'field',\n }, {\n allowedPrivateKeyLengths: 'array',\n wrapPrivateKey: 'boolean',\n isTorsionFree: 'function',\n clearCofactor: 'function',\n allowInfinityPoint: 'boolean',\n fromBytes: 'function',\n toBytes: 'function',\n });\n const { endo, Fp, a } = opts;\n if (endo) {\n if (!Fp.eql(a, Fp.ZERO)) {\n throw new Error('Endomorphism can only be defined for Koblitz curves that have a=0');\n }\n if (typeof endo !== 'object' ||\n typeof endo.beta !== 'bigint' ||\n typeof endo.splitScalar !== 'function') {\n throw new Error('Expected endomorphism with beta: bigint and splitScalar: function');\n }\n }\n return Object.freeze({ ...opts });\n}\n// ASN.1 DER encoding utilities\nconst { bytesToNumberBE: b2n, hexToBytes: h2b } = ut;\nexport const DER = {\n // asn.1 DER encoding utils\n Err: class DERErr extends Error {\n constructor(m = '') {\n super(m);\n }\n },\n _parseInt(data) {\n const { Err: E } = DER;\n if (data.length < 2 || data[0] !== 0x02)\n throw new E('Invalid signature integer tag');\n const len = data[1];\n const res = data.subarray(2, len + 2);\n if (!len || res.length !== len)\n throw new E('Invalid signature integer: wrong length');\n // https://crypto.stackexchange.com/a/57734 Leftmost bit of first byte is 'negative' flag,\n // since we always use positive integers here. It must always be empty:\n // - add zero byte if exists\n // - if next byte doesn't have a flag, leading zero is not allowed (minimal encoding)\n if (res[0] & 0b10000000)\n throw new E('Invalid signature integer: negative');\n if (res[0] === 0x00 && !(res[1] & 0b10000000))\n throw new E('Invalid signature integer: unnecessary leading zero');\n return { d: b2n(res), l: data.subarray(len + 2) }; // d is data, l is left\n },\n toSig(hex) {\n // parse DER signature\n const { Err: E } = DER;\n const data = typeof hex === 'string' ? h2b(hex) : hex;\n if (!(data instanceof Uint8Array))\n throw new Error('ui8a expected');\n let l = data.length;\n if (l < 2 || data[0] != 0x30)\n throw new E('Invalid signature tag');\n if (data[1] !== l - 2)\n throw new E('Invalid signature: incorrect length');\n const { d: r, l: sBytes } = DER._parseInt(data.subarray(2));\n const { d: s, l: rBytesLeft } = DER._parseInt(sBytes);\n if (rBytesLeft.length)\n throw new E('Invalid signature: left bytes after parsing');\n return { r, s };\n },\n hexFromSig(sig) {\n // Add leading zero if first byte has negative bit enabled. More details in '_parseInt'\n const slice = (s) => (Number.parseInt(s[0], 16) & 0b1000 ? '00' + s : s);\n const h = (num) => {\n const hex = num.toString(16);\n return hex.length & 1 ? `0${hex}` : hex;\n };\n const s = slice(h(sig.s));\n const r = slice(h(sig.r));\n const shl = s.length / 2;\n const rhl = r.length / 2;\n const sl = h(shl);\n const rl = h(rhl);\n return `30${h(rhl + shl + 4)}02${rl}${r}02${sl}${s}`;\n },\n};\n// Be friendly to bad ECMAScript parsers by not using bigint literals\n// prettier-ignore\nconst _0n = BigInt(0), _1n = BigInt(1), _2n = BigInt(2), _3n = BigInt(3), _4n = BigInt(4);\nexport function weierstrassPoints(opts) {\n const CURVE = validatePointOpts(opts);\n const { Fp } = CURVE; // All curves has same field / group length as for now, but they can differ\n const toBytes = CURVE.toBytes ||\n ((_c, point, _isCompressed) => {\n const a = point.toAffine();\n return ut.concatBytes(Uint8Array.from([0x04]), Fp.toBytes(a.x), Fp.toBytes(a.y));\n });\n const fromBytes = CURVE.fromBytes ||\n ((bytes) => {\n // const head = bytes[0];\n const tail = bytes.subarray(1);\n // if (head !== 0x04) throw new Error('Only non-compressed encoding is supported');\n const x = Fp.fromBytes(tail.subarray(0, Fp.BYTES));\n const y = Fp.fromBytes(tail.subarray(Fp.BYTES, 2 * Fp.BYTES));\n return { x, y };\n });\n /**\n * y² = x³ + ax + b: Short weierstrass curve formula\n * @returns y²\n */\n function weierstrassEquation(x) {\n const { a, b } = CURVE;\n const x2 = Fp.sqr(x); // x * x\n const x3 = Fp.mul(x2, x); // x2 * x\n return Fp.add(Fp.add(x3, Fp.mul(x, a)), b); // x3 + a * x + b\n }\n // Validate whether the passed curve params are valid.\n // We check if curve equation works for generator point.\n // `assertValidity()` won't work: `isTorsionFree()` is not available at this point in bls12-381.\n // ProjectivePoint class has not been initialized yet.\n if (!Fp.eql(Fp.sqr(CURVE.Gy), weierstrassEquation(CURVE.Gx)))\n throw new Error('bad generator point: equation left != right');\n // Valid group elements reside in range 1..n-1\n function isWithinCurveOrder(num) {\n return typeof num === 'bigint' && _0n < num && num < CURVE.n;\n }\n function assertGE(num) {\n if (!isWithinCurveOrder(num))\n throw new Error('Expected valid bigint: 0 < bigint < curve.n');\n }\n // Validates if priv key is valid and converts it to bigint.\n // Supports options allowedPrivateKeyLengths and wrapPrivateKey.\n function normPrivateKeyToScalar(key) {\n const { allowedPrivateKeyLengths: lengths, nByteLength, wrapPrivateKey, n } = CURVE;\n if (lengths && typeof key !== 'bigint') {\n if (key instanceof Uint8Array)\n key = ut.bytesToHex(key);\n // Normalize to hex string, pad. E.g. P521 would norm 130-132 char hex to 132-char bytes\n if (typeof key !== 'string' || !lengths.includes(key.length))\n throw new Error('Invalid key');\n key = key.padStart(nByteLength * 2, '0');\n }\n let num;\n try {\n num =\n typeof key === 'bigint'\n ? key\n : ut.bytesToNumberBE(ensureBytes('private key', key, nByteLength));\n }\n catch (error) {\n throw new Error(`private key must be ${nByteLength} bytes, hex or bigint, not ${typeof key}`);\n }\n if (wrapPrivateKey)\n num = mod.mod(num, n); // disabled by default, enabled for BLS\n assertGE(num); // num in range [1..N-1]\n return num;\n }\n const pointPrecomputes = new Map();\n function assertPrjPoint(other) {\n if (!(other instanceof Point))\n throw new Error('ProjectivePoint expected');\n }\n /**\n * Projective Point works in 3d / projective (homogeneous) coordinates: (x, y, z) ∋ (x=x/z, y=y/z)\n * Default Point works in 2d / affine coordinates: (x, y)\n * We're doing calculations in projective, because its operations don't require costly inversion.\n */\n class Point {\n constructor(px, py, pz) {\n this.px = px;\n this.py = py;\n this.pz = pz;\n if (px == null || !Fp.isValid(px))\n throw new Error('x required');\n if (py == null || !Fp.isValid(py))\n throw new Error('y required');\n if (pz == null || !Fp.isValid(pz))\n throw new Error('z required');\n }\n // Does not validate if the point is on-curve.\n // Use fromHex instead, or call assertValidity() later.\n static fromAffine(p) {\n const { x, y } = p || {};\n if (!p || !Fp.isValid(x) || !Fp.isValid(y))\n throw new Error('invalid affine point');\n if (p instanceof Point)\n throw new Error('projective point not allowed');\n const is0 = (i) => Fp.eql(i, Fp.ZERO);\n // fromAffine(x:0, y:0) would produce (x:0, y:0, z:1), but we need (x:0, y:1, z:0)\n if (is0(x) && is0(y))\n return Point.ZERO;\n return new Point(x, y, Fp.ONE);\n }\n get x() {\n return this.toAffine().x;\n }\n get y() {\n return this.toAffine().y;\n }\n /**\n * Takes a bunch of Projective Points but executes only one\n * inversion on all of them. Inversion is very slow operation,\n * so this improves performance massively.\n * Optimization: converts a list of projective points to a list of identical points with Z=1.\n */\n static normalizeZ(points) {\n const toInv = Fp.invertBatch(points.map((p) => p.pz));\n return points.map((p, i) => p.toAffine(toInv[i])).map(Point.fromAffine);\n }\n /**\n * Converts hash string or Uint8Array to Point.\n * @param hex short/long ECDSA hex\n */\n static fromHex(hex) {\n const P = Point.fromAffine(fromBytes(ensureBytes('pointHex', hex)));\n P.assertValidity();\n return P;\n }\n // Multiplies generator point by privateKey.\n static fromPrivateKey(privateKey) {\n return Point.BASE.multiply(normPrivateKeyToScalar(privateKey));\n }\n // \"Private method\", don't use it directly\n _setWindowSize(windowSize) {\n this._WINDOW_SIZE = windowSize;\n pointPrecomputes.delete(this);\n }\n // A point on curve is valid if it conforms to equation.\n assertValidity() {\n if (this.is0()) {\n // (0, 1, 0) aka ZERO is invalid in most contexts.\n // In BLS, ZERO can be serialized, so we allow it.\n // (0, 0, 0) is wrong representation of ZERO and is always invalid.\n if (CURVE.allowInfinityPoint && !Fp.is0(this.py))\n return;\n throw new Error('bad point: ZERO');\n }\n // Some 3rd-party test vectors require different wording between here & `fromCompressedHex`\n const { x, y } = this.toAffine();\n // Check if x, y are valid field elements\n if (!Fp.isValid(x) || !Fp.isValid(y))\n throw new Error('bad point: x or y not FE');\n const left = Fp.sqr(y); // y²\n const right = weierstrassEquation(x); // x³ + ax + b\n if (!Fp.eql(left, right))\n throw new Error('bad point: equation left != right');\n if (!this.isTorsionFree())\n throw new Error('bad point: not in prime-order subgroup');\n }\n hasEvenY() {\n const { y } = this.toAffine();\n if (Fp.isOdd)\n return !Fp.isOdd(y);\n throw new Error(\"Field doesn't support isOdd\");\n }\n /**\n * Compare one point to another.\n */\n equals(other) {\n assertPrjPoint(other);\n const { px: X1, py: Y1, pz: Z1 } = this;\n const { px: X2, py: Y2, pz: Z2 } = other;\n const U1 = Fp.eql(Fp.mul(X1, Z2), Fp.mul(X2, Z1));\n const U2 = Fp.eql(Fp.mul(Y1, Z2), Fp.mul(Y2, Z1));\n return U1 && U2;\n }\n /**\n * Flips point to one corresponding to (x, -y) in Affine coordinates.\n */\n negate() {\n return new Point(this.px, Fp.neg(this.py), this.pz);\n }\n // Renes-Costello-Batina exception-free doubling formula.\n // There is 30% faster Jacobian formula, but it is not complete.\n // https://eprint.iacr.org/2015/1060, algorithm 3\n // Cost: 8M + 3S + 3*a + 2*b3 + 15add.\n double() {\n const { a, b } = CURVE;\n const b3 = Fp.mul(b, _3n);\n const { px: X1, py: Y1, pz: Z1 } = this;\n let X3 = Fp.ZERO, Y3 = Fp.ZERO, Z3 = Fp.ZERO; // prettier-ignore\n let t0 = Fp.mul(X1, X1); // step 1\n let t1 = Fp.mul(Y1, Y1);\n let t2 = Fp.mul(Z1, Z1);\n let t3 = Fp.mul(X1, Y1);\n t3 = Fp.add(t3, t3); // step 5\n Z3 = Fp.mul(X1, Z1);\n Z3 = Fp.add(Z3, Z3);\n X3 = Fp.mul(a, Z3);\n Y3 = Fp.mul(b3, t2);\n Y3 = Fp.add(X3, Y3); // step 10\n X3 = Fp.sub(t1, Y3);\n Y3 = Fp.add(t1, Y3);\n Y3 = Fp.mul(X3, Y3);\n X3 = Fp.mul(t3, X3);\n Z3 = Fp.mul(b3, Z3); // step 15\n t2 = Fp.mul(a, t2);\n t3 = Fp.sub(t0, t2);\n t3 = Fp.mul(a, t3);\n t3 = Fp.add(t3, Z3);\n Z3 = Fp.add(t0, t0); // step 20\n t0 = Fp.add(Z3, t0);\n t0 = Fp.add(t0, t2);\n t0 = Fp.mul(t0, t3);\n Y3 = Fp.add(Y3, t0);\n t2 = Fp.mul(Y1, Z1); // step 25\n t2 = Fp.add(t2, t2);\n t0 = Fp.mul(t2, t3);\n X3 = Fp.sub(X3, t0);\n Z3 = Fp.mul(t2, t1);\n Z3 = Fp.add(Z3, Z3); // step 30\n Z3 = Fp.add(Z3, Z3);\n return new Point(X3, Y3, Z3);\n }\n // Renes-Costello-Batina exception-free addition formula.\n // There is 30% faster Jacobian formula, but it is not complete.\n // https://eprint.iacr.org/2015/1060, algorithm 1\n // Cost: 12M + 0S + 3*a + 3*b3 + 23add.\n add(other) {\n assertPrjPoint(other);\n const { px: X1, py: Y1, pz: Z1 } = this;\n const { px: X2, py: Y2, pz: Z2 } = other;\n let X3 = Fp.ZERO, Y3 = Fp.ZERO, Z3 = Fp.ZERO; // prettier-ignore\n const a = CURVE.a;\n const b3 = Fp.mul(CURVE.b, _3n);\n let t0 = Fp.mul(X1, X2); // step 1\n let t1 = Fp.mul(Y1, Y2);\n let t2 = Fp.mul(Z1, Z2);\n let t3 = Fp.add(X1, Y1);\n let t4 = Fp.add(X2, Y2); // step 5\n t3 = Fp.mul(t3, t4);\n t4 = Fp.add(t0, t1);\n t3 = Fp.sub(t3, t4);\n t4 = Fp.add(X1, Z1);\n let t5 = Fp.add(X2, Z2); // step 10\n t4 = Fp.mul(t4, t5);\n t5 = Fp.add(t0, t2);\n t4 = Fp.sub(t4, t5);\n t5 = Fp.add(Y1, Z1);\n X3 = Fp.add(Y2, Z2); // step 15\n t5 = Fp.mul(t5, X3);\n X3 = Fp.add(t1, t2);\n t5 = Fp.sub(t5, X3);\n Z3 = Fp.mul(a, t4);\n X3 = Fp.mul(b3, t2); // step 20\n Z3 = Fp.add(X3, Z3);\n X3 = Fp.sub(t1, Z3);\n Z3 = Fp.add(t1, Z3);\n Y3 = Fp.mul(X3, Z3);\n t1 = Fp.add(t0, t0); // step 25\n t1 = Fp.add(t1, t0);\n t2 = Fp.mul(a, t2);\n t4 = Fp.mul(b3, t4);\n t1 = Fp.add(t1, t2);\n t2 = Fp.sub(t0, t2); // step 30\n t2 = Fp.mul(a, t2);\n t4 = Fp.add(t4, t2);\n t0 = Fp.mul(t1, t4);\n Y3 = Fp.add(Y3, t0);\n t0 = Fp.mul(t5, t4); // step 35\n X3 = Fp.mul(t3, X3);\n X3 = Fp.sub(X3, t0);\n t0 = Fp.mul(t3, t1);\n Z3 = Fp.mul(t5, Z3);\n Z3 = Fp.add(Z3, t0); // step 40\n return new Point(X3, Y3, Z3);\n }\n subtract(other) {\n return this.add(other.negate());\n }\n is0() {\n return this.equals(Point.ZERO);\n }\n wNAF(n) {\n return wnaf.wNAFCached(this, pointPrecomputes, n, (comp) => {\n const toInv = Fp.invertBatch(comp.map((p) => p.pz));\n return comp.map((p, i) => p.toAffine(toInv[i])).map(Point.fromAffine);\n });\n }\n /**\n * Non-constant-time multiplication. Uses double-and-add algorithm.\n * It's faster, but should only be used when you don't care about\n * an exposed private key e.g. sig verification, which works over *public* keys.\n */\n multiplyUnsafe(n) {\n const I = Point.ZERO;\n if (n === _0n)\n return I;\n assertGE(n); // Will throw on 0\n if (n === _1n)\n return this;\n const { endo } = CURVE;\n if (!endo)\n return wnaf.unsafeLadder(this, n);\n // Apply endomorphism\n let { k1neg, k1, k2neg, k2 } = endo.splitScalar(n);\n let k1p = I;\n let k2p = I;\n let d = this;\n while (k1 > _0n || k2 > _0n) {\n if (k1 & _1n)\n k1p = k1p.add(d);\n if (k2 & _1n)\n k2p = k2p.add(d);\n d = d.double();\n k1 >>= _1n;\n k2 >>= _1n;\n }\n if (k1neg)\n k1p = k1p.negate();\n if (k2neg)\n k2p = k2p.negate();\n k2p = new Point(Fp.mul(k2p.px, endo.beta), k2p.py, k2p.pz);\n return k1p.add(k2p);\n }\n /**\n * Constant time multiplication.\n * Uses wNAF method. Windowed method may be 10% faster,\n * but takes 2x longer to generate and consumes 2x memory.\n * Uses precomputes when available.\n * Uses endomorphism for Koblitz curves.\n * @param scalar by which the point would be multiplied\n * @returns New point\n */\n multiply(scalar) {\n assertGE(scalar);\n let n = scalar;\n let point, fake; // Fake point is used to const-time mult\n const { endo } = CURVE;\n if (endo) {\n const { k1neg, k1, k2neg, k2 } = endo.splitScalar(n);\n let { p: k1p, f: f1p } = this.wNAF(k1);\n let { p: k2p, f: f2p } = this.wNAF(k2);\n k1p = wnaf.constTimeNegate(k1neg, k1p);\n k2p = wnaf.constTimeNegate(k2neg, k2p);\n k2p = new Point(Fp.mul(k2p.px, endo.beta), k2p.py, k2p.pz);\n point = k1p.add(k2p);\n fake = f1p.add(f2p);\n }\n else {\n const { p, f } = this.wNAF(n);\n point = p;\n fake = f;\n }\n // Normalize `z` for both points, but return only real one\n return Point.normalizeZ([point, fake])[0];\n }\n /**\n * Efficiently calculate `aP + bQ`. Unsafe, can expose private key, if used incorrectly.\n * Not using Strauss-Shamir trick: precomputation tables are faster.\n * The trick could be useful if both P and Q are not G (not in our case).\n * @returns non-zero affine point\n */\n multiplyAndAddUnsafe(Q, a, b) {\n const G = Point.BASE; // No Strauss-Shamir trick: we have 10% faster G precomputes\n const mul = (P, a // Select faster multiply() method\n ) => (a === _0n || a === _1n || !P.equals(G) ? P.multiplyUnsafe(a) : P.multiply(a));\n const sum = mul(this, a).add(mul(Q, b));\n return sum.is0() ? undefined : sum;\n }\n // Converts Projective point to affine (x, y) coordinates.\n // Can accept precomputed Z^-1 - for example, from invertBatch.\n // (x, y, z) ∋ (x=x/z, y=y/z)\n toAffine(iz) {\n const { px: x, py: y, pz: z } = this;\n const is0 = this.is0();\n // If invZ was 0, we return zero point. However we still want to execute\n // all operations, so we replace invZ with a random number, 1.\n if (iz == null)\n iz = is0 ? Fp.ONE : Fp.inv(z);\n const ax = Fp.mul(x, iz);\n const ay = Fp.mul(y, iz);\n const zz = Fp.mul(z, iz);\n if (is0)\n return { x: Fp.ZERO, y: Fp.ZERO };\n if (!Fp.eql(zz, Fp.ONE))\n throw new Error('invZ was invalid');\n return { x: ax, y: ay };\n }\n isTorsionFree() {\n const { h: cofactor, isTorsionFree } = CURVE;\n if (cofactor === _1n)\n return true; // No subgroups, always torsion-free\n if (isTorsionFree)\n return isTorsionFree(Point, this);\n throw new Error('isTorsionFree() has not been declared for the elliptic curve');\n }\n clearCofactor() {\n const { h: cofactor, clearCofactor } = CURVE;\n if (cofactor === _1n)\n return this; // Fast-path\n if (clearCofactor)\n return clearCofactor(Point, this);\n return this.multiplyUnsafe(CURVE.h);\n }\n toRawBytes(isCompressed = true) {\n this.assertValidity();\n return toBytes(Point, this, isCompressed);\n }\n toHex(isCompressed = true) {\n return ut.bytesToHex(this.toRawBytes(isCompressed));\n }\n }\n Point.BASE = new Point(CURVE.Gx, CURVE.Gy, Fp.ONE);\n Point.ZERO = new Point(Fp.ZERO, Fp.ONE, Fp.ZERO);\n const _bits = CURVE.nBitLength;\n const wnaf = wNAF(Point, CURVE.endo ? Math.ceil(_bits / 2) : _bits);\n // Validate if generator point is on curve\n return {\n CURVE,\n ProjectivePoint: Point,\n normPrivateKeyToScalar,\n weierstrassEquation,\n isWithinCurveOrder,\n };\n}\nfunction validateOpts(curve) {\n const opts = validateBasic(curve);\n ut.validateObject(opts, {\n hash: 'hash',\n hmac: 'function',\n randomBytes: 'function',\n }, {\n bits2int: 'function',\n bits2int_modN: 'function',\n lowS: 'boolean',\n });\n return Object.freeze({ lowS: true, ...opts });\n}\nexport function weierstrass(curveDef) {\n const CURVE = validateOpts(curveDef);\n const { Fp, n: CURVE_ORDER } = CURVE;\n const compressedLen = Fp.BYTES + 1; // e.g. 33 for 32\n const uncompressedLen = 2 * Fp.BYTES + 1; // e.g. 65 for 32\n function isValidFieldElement(num) {\n return _0n < num && num < Fp.ORDER; // 0 is banned since it's not invertible FE\n }\n function modN(a) {\n return mod.mod(a, CURVE_ORDER);\n }\n function invN(a) {\n return mod.invert(a, CURVE_ORDER);\n }\n const { ProjectivePoint: Point, normPrivateKeyToScalar, weierstrassEquation, isWithinCurveOrder, } = weierstrassPoints({\n ...CURVE,\n toBytes(_c, point, isCompressed) {\n const a = point.toAffine();\n const x = Fp.toBytes(a.x);\n const cat = ut.concatBytes;\n if (isCompressed) {\n return cat(Uint8Array.from([point.hasEvenY() ? 0x02 : 0x03]), x);\n }\n else {\n return cat(Uint8Array.from([0x04]), x, Fp.toBytes(a.y));\n }\n },\n fromBytes(bytes) {\n const len = bytes.length;\n const head = bytes[0];\n const tail = bytes.subarray(1);\n // this.assertValidity() is done inside of fromHex\n if (len === compressedLen && (head === 0x02 || head === 0x03)) {\n const x = ut.bytesToNumberBE(tail);\n if (!isValidFieldElement(x))\n throw new Error('Point is not on curve');\n const y2 = weierstrassEquation(x); // y² = x³ + ax + b\n let y = Fp.sqrt(y2); // y = y² ^ (p+1)/4\n const isYOdd = (y & _1n) === _1n;\n // ECDSA\n const isHeadOdd = (head & 1) === 1;\n if (isHeadOdd !== isYOdd)\n y = Fp.neg(y);\n return { x, y };\n }\n else if (len === uncompressedLen && head === 0x04) {\n const x = Fp.fromBytes(tail.subarray(0, Fp.BYTES));\n const y = Fp.fromBytes(tail.subarray(Fp.BYTES, 2 * Fp.BYTES));\n return { x, y };\n }\n else {\n throw new Error(`Point of length ${len} was invalid. Expected ${compressedLen} compressed bytes or ${uncompressedLen} uncompressed bytes`);\n }\n },\n });\n const numToNByteStr = (num) => ut.bytesToHex(ut.numberToBytesBE(num, CURVE.nByteLength));\n function isBiggerThanHalfOrder(number) {\n const HALF = CURVE_ORDER >> _1n;\n return number > HALF;\n }\n function normalizeS(s) {\n return isBiggerThanHalfOrder(s) ? modN(-s) : s;\n }\n // slice bytes num\n const slcNum = (b, from, to) => ut.bytesToNumberBE(b.slice(from, to));\n /**\n * ECDSA signature with its (r, s) properties. Supports DER & compact representations.\n */\n class Signature {\n constructor(r, s, recovery) {\n this.r = r;\n this.s = s;\n this.recovery = recovery;\n this.assertValidity();\n }\n // pair (bytes of r, bytes of s)\n static fromCompact(hex) {\n const l = CURVE.nByteLength;\n hex = ensureBytes('compactSignature', hex, l * 2);\n return new Signature(slcNum(hex, 0, l), slcNum(hex, l, 2 * l));\n }\n // DER encoded ECDSA signature\n // https://bitcoin.stackexchange.com/questions/57644/what-are-the-parts-of-a-bitcoin-transaction-input-script\n static fromDER(hex) {\n const { r, s } = DER.toSig(ensureBytes('DER', hex));\n return new Signature(r, s);\n }\n assertValidity() {\n // can use assertGE here\n if (!isWithinCurveOrder(this.r))\n throw new Error('r must be 0 < r < CURVE.n');\n if (!isWithinCurveOrder(this.s))\n throw new Error('s must be 0 < s < CURVE.n');\n }\n addRecoveryBit(recovery) {\n return new Signature(this.r, this.s, recovery);\n }\n recoverPublicKey(msgHash) {\n const { r, s, recovery: rec } = this;\n const h = bits2int_modN(ensureBytes('msgHash', msgHash)); // Truncate hash\n if (rec == null || ![0, 1, 2, 3].includes(rec))\n throw new Error('recovery id invalid');\n const radj = rec === 2 || rec === 3 ? r + CURVE.n : r;\n if (radj >= Fp.ORDER)\n throw new Error('recovery id 2 or 3 invalid');\n const prefix = (rec & 1) === 0 ? '02' : '03';\n const R = Point.fromHex(prefix + numToNByteStr(radj));\n const ir = invN(radj); // r^-1\n const u1 = modN(-h * ir); // -hr^-1\n const u2 = modN(s * ir); // sr^-1\n const Q = Point.BASE.multiplyAndAddUnsafe(R, u1, u2); // (sr^-1)R-(hr^-1)G = -(hr^-1)G + (sr^-1)\n if (!Q)\n throw new Error('point at infinify'); // unsafe is fine: no priv data leaked\n Q.assertValidity();\n return Q;\n }\n // Signatures should be low-s, to prevent malleability.\n hasHighS() {\n return isBiggerThanHalfOrder(this.s);\n }\n normalizeS() {\n return this.hasHighS() ? new Signature(this.r, modN(-this.s), this.recovery) : this;\n }\n // DER-encoded\n toDERRawBytes() {\n return ut.hexToBytes(this.toDERHex());\n }\n toDERHex() {\n return DER.hexFromSig({ r: this.r, s: this.s });\n }\n // padded bytes of r, then padded bytes of s\n toCompactRawBytes() {\n return ut.hexToBytes(this.toCompactHex());\n }\n toCompactHex() {\n return numToNByteStr(this.r) + numToNByteStr(this.s);\n }\n }\n const utils = {\n isValidPrivateKey(privateKey) {\n try {\n normPrivateKeyToScalar(privateKey);\n return true;\n }\n catch (error) {\n return false;\n }\n },\n normPrivateKeyToScalar: normPrivateKeyToScalar,\n /**\n * Produces cryptographically secure private key from random of size\n * (groupLen + ceil(groupLen / 2)) with modulo bias being negligible.\n */\n randomPrivateKey: () => {\n const length = mod.getMinHashLength(CURVE.n);\n return mod.mapHashToField(CURVE.randomBytes(length), CURVE.n);\n },\n /**\n * Creates precompute table for an arbitrary EC point. Makes point \"cached\".\n * Allows to massively speed-up `point.multiply(scalar)`.\n * @returns cached point\n * @example\n * const fast = utils.precompute(8, ProjectivePoint.fromHex(someonesPubKey));\n * fast.multiply(privKey); // much faster ECDH now\n */\n precompute(windowSize = 8, point = Point.BASE) {\n point._setWindowSize(windowSize);\n point.multiply(BigInt(3)); // 3 is arbitrary, just need any number here\n return point;\n },\n };\n /**\n * Computes public key for a private key. Checks for validity of the private key.\n * @param privateKey private key\n * @param isCompressed whether to return compact (default), or full key\n * @returns Public key, full when isCompressed=false; short when isCompressed=true\n */\n function getPublicKey(privateKey, isCompressed = true) {\n return Point.fromPrivateKey(privateKey).toRawBytes(isCompressed);\n }\n /**\n * Quick and dirty check for item being public key. Does not validate hex, or being on-curve.\n */\n function isProbPub(item) {\n const arr = item instanceof Uint8Array;\n const str = typeof item === 'string';\n const len = (arr || str) && item.length;\n if (arr)\n return len === compressedLen || len === uncompressedLen;\n if (str)\n return len === 2 * compressedLen || len === 2 * uncompressedLen;\n if (item instanceof Point)\n return true;\n return false;\n }\n /**\n * ECDH (Elliptic Curve Diffie Hellman).\n * Computes shared public key from private key and public key.\n * Checks: 1) private key validity 2) shared key is on-curve.\n * Does NOT hash the result.\n * @param privateA private key\n * @param publicB different public key\n * @param isCompressed whether to return compact (default), or full key\n * @returns shared public key\n */\n function getSharedSecret(privateA, publicB, isCompressed = true) {\n if (isProbPub(privateA))\n throw new Error('first arg must be private key');\n if (!isProbPub(publicB))\n throw new Error('second arg must be public key');\n const b = Point.fromHex(publicB); // check for being on-curve\n return b.multiply(normPrivateKeyToScalar(privateA)).toRawBytes(isCompressed);\n }\n // RFC6979: ensure ECDSA msg is X bytes and < N. RFC suggests optional truncating via bits2octets.\n // FIPS 186-4 4.6 suggests the leftmost min(nBitLen, outLen) bits, which matches bits2int.\n // bits2int can produce res>N, we can do mod(res, N) since the bitLen is the same.\n // int2octets can't be used; pads small msgs with 0: unacceptatble for trunc as per RFC vectors\n const bits2int = CURVE.bits2int ||\n function (bytes) {\n // For curves with nBitLength % 8 !== 0: bits2octets(bits2octets(m)) !== bits2octets(m)\n // for some cases, since bytes.length * 8 is not actual bitLength.\n const num = ut.bytesToNumberBE(bytes); // check for == u8 done here\n const delta = bytes.length * 8 - CURVE.nBitLength; // truncate to nBitLength leftmost bits\n return delta > 0 ? num >> BigInt(delta) : num;\n };\n const bits2int_modN = CURVE.bits2int_modN ||\n function (bytes) {\n return modN(bits2int(bytes)); // can't use bytesToNumberBE here\n };\n // NOTE: pads output with zero as per spec\n const ORDER_MASK = ut.bitMask(CURVE.nBitLength);\n /**\n * Converts to bytes. Checks if num in `[0..ORDER_MASK-1]` e.g.: `[0..2^256-1]`.\n */\n function int2octets(num) {\n if (typeof num !== 'bigint')\n throw new Error('bigint expected');\n if (!(_0n <= num && num < ORDER_MASK))\n throw new Error(`bigint expected < 2^${CURVE.nBitLength}`);\n // works with order, can have different size than numToField!\n return ut.numberToBytesBE(num, CURVE.nByteLength);\n }\n // Steps A, D of RFC6979 3.2\n // Creates RFC6979 seed; converts msg/privKey to numbers.\n // Used only in sign, not in verify.\n // NOTE: we cannot assume here that msgHash has same amount of bytes as curve order, this will be wrong at least for P521.\n // Also it can be bigger for P224 + SHA256\n function prepSig(msgHash, privateKey, opts = defaultSigOpts) {\n if (['recovered', 'canonical'].some((k) => k in opts))\n throw new Error('sign() legacy options not supported');\n const { hash, randomBytes } = CURVE;\n let { lowS, prehash, extraEntropy: ent } = opts; // generates low-s sigs by default\n if (lowS == null)\n lowS = true; // RFC6979 3.2: we skip step A, because we already provide hash\n msgHash = ensureBytes('msgHash', msgHash);\n if (prehash)\n msgHash = ensureBytes('prehashed msgHash', hash(msgHash));\n // We can't later call bits2octets, since nested bits2int is broken for curves\n // with nBitLength % 8 !== 0. Because of that, we unwrap it here as int2octets call.\n // const bits2octets = (bits) => int2octets(bits2int_modN(bits))\n const h1int = bits2int_modN(msgHash);\n const d = normPrivateKeyToScalar(privateKey); // validate private key, convert to bigint\n const seedArgs = [int2octets(d), int2octets(h1int)];\n // extraEntropy. RFC6979 3.6: additional k' (optional).\n if (ent != null) {\n // K = HMAC_K(V || 0x00 || int2octets(x) || bits2octets(h1) || k')\n const e = ent === true ? randomBytes(Fp.BYTES) : ent; // generate random bytes OR pass as-is\n seedArgs.push(ensureBytes('extraEntropy', e)); // check for being bytes\n }\n const seed = ut.concatBytes(...seedArgs); // Step D of RFC6979 3.2\n const m = h1int; // NOTE: no need to call bits2int second time here, it is inside truncateHash!\n // Converts signature params into point w r/s, checks result for validity.\n function k2sig(kBytes) {\n // RFC 6979 Section 3.2, step 3: k = bits2int(T)\n const k = bits2int(kBytes); // Cannot use fields methods, since it is group element\n if (!isWithinCurveOrder(k))\n return; // Important: all mod() calls here must be done over N\n const ik = invN(k); // k^-1 mod n\n const q = Point.BASE.multiply(k).toAffine(); // q = Gk\n const r = modN(q.x); // r = q.x mod n\n if (r === _0n)\n return;\n // Can use scalar blinding b^-1(bm + bdr) where b ∈ [1,q−1] according to\n // https://tches.iacr.org/index.php/TCHES/article/view/7337/6509. We've decided against it:\n // a) dependency on CSPRNG b) 15% slowdown c) doesn't really help since bigints are not CT\n const s = modN(ik * modN(m + r * d)); // Not using blinding here\n if (s === _0n)\n return;\n let recovery = (q.x === r ? 0 : 2) | Number(q.y & _1n); // recovery bit (2 or 3, when q.x > n)\n let normS = s;\n if (lowS && isBiggerThanHalfOrder(s)) {\n normS = normalizeS(s); // if lowS was passed, ensure s is always\n recovery ^= 1; // // in the bottom half of N\n }\n return new Signature(r, normS, recovery); // use normS, not s\n }\n return { seed, k2sig };\n }\n const defaultSigOpts = { lowS: CURVE.lowS, prehash: false };\n const defaultVerOpts = { lowS: CURVE.lowS, prehash: false };\n /**\n * Signs message hash with a private key.\n * ```\n * sign(m, d, k) where\n * (x, y) = G × k\n * r = x mod n\n * s = (m + dr)/k mod n\n * ```\n * @param msgHash NOT message. msg needs to be hashed to `msgHash`, or use `prehash`.\n * @param privKey private key\n * @param opts lowS for non-malleable sigs. extraEntropy for mixing randomness into k. prehash will hash first arg.\n * @returns signature with recovery param\n */\n function sign(msgHash, privKey, opts = defaultSigOpts) {\n const { seed, k2sig } = prepSig(msgHash, privKey, opts); // Steps A, D of RFC6979 3.2.\n const C = CURVE;\n const drbg = ut.createHmacDrbg(C.hash.outputLen, C.nByteLength, C.hmac);\n return drbg(seed, k2sig); // Steps B, C, D, E, F, G\n }\n // Enable precomputes. Slows down first publicKey computation by 20ms.\n Point.BASE._setWindowSize(8);\n // utils.precompute(8, ProjectivePoint.BASE)\n /**\n * Verifies a signature against message hash and public key.\n * Rejects lowS signatures by default: to override,\n * specify option `{lowS: false}`. Implements section 4.1.4 from https://www.secg.org/sec1-v2.pdf:\n *\n * ```\n * verify(r, s, h, P) where\n * U1 = hs^-1 mod n\n * U2 = rs^-1 mod n\n * R = U1⋅G - U2⋅P\n * mod(R.x, n) == r\n * ```\n */\n function verify(signature, msgHash, publicKey, opts = defaultVerOpts) {\n const sg = signature;\n msgHash = ensureBytes('msgHash', msgHash);\n publicKey = ensureBytes('publicKey', publicKey);\n if ('strict' in opts)\n throw new Error('options.strict was renamed to lowS');\n const { lowS, prehash } = opts;\n let _sig = undefined;\n let P;\n try {\n if (typeof sg === 'string' || sg instanceof Uint8Array) {\n // Signature can be represented in 2 ways: compact (2*nByteLength) & DER (variable-length).\n // Since DER can also be 2*nByteLength bytes, we check for it first.\n try {\n _sig = Signature.fromDER(sg);\n }\n catch (derError) {\n if (!(derError instanceof DER.Err))\n throw derError;\n _sig = Signature.fromCompact(sg);\n }\n }\n else if (typeof sg === 'object' && typeof sg.r === 'bigint' && typeof sg.s === 'bigint') {\n const { r, s } = sg;\n _sig = new Signature(r, s);\n }\n else {\n throw new Error('PARSE');\n }\n P = Point.fromHex(publicKey);\n }\n catch (error) {\n if (error.message === 'PARSE')\n throw new Error(`signature must be Signature instance, Uint8Array or hex string`);\n return false;\n }\n if (lowS && _sig.hasHighS())\n return false;\n if (prehash)\n msgHash = CURVE.hash(msgHash);\n const { r, s } = _sig;\n const h = bits2int_modN(msgHash); // Cannot use fields methods, since it is group element\n const is = invN(s); // s^-1\n const u1 = modN(h * is); // u1 = hs^-1 mod n\n const u2 = modN(r * is); // u2 = rs^-1 mod n\n const R = Point.BASE.multiplyAndAddUnsafe(P, u1, u2)?.toAffine(); // R = u1⋅G + u2⋅P\n if (!R)\n return false;\n const v = modN(R.x);\n return v === r;\n }\n return {\n CURVE,\n getPublicKey,\n getSharedSecret,\n sign,\n verify,\n ProjectivePoint: Point,\n Signature,\n utils,\n };\n}\n/**\n * Implementation of the Shallue and van de Woestijne method for any weierstrass curve.\n * TODO: check if there is a way to merge this with uvRatio in Edwards; move to modular.\n * b = True and y = sqrt(u / v) if (u / v) is square in F, and\n * b = False and y = sqrt(Z * (u / v)) otherwise.\n * @param Fp\n * @param Z\n * @returns\n */\nexport function SWUFpSqrtRatio(Fp, Z) {\n // Generic implementation\n const q = Fp.ORDER;\n let l = _0n;\n for (let o = q - _1n; o % _2n === _0n; o /= _2n)\n l += _1n;\n const c1 = l; // 1. c1, the largest integer such that 2^c1 divides q - 1.\n // We need 2n ** c1 and 2n ** (c1-1). We can't use **; but we can use <<.\n // 2n ** c1 == 2n << (c1-1)\n const _2n_pow_c1_1 = _2n << (c1 - _1n - _1n);\n const _2n_pow_c1 = _2n_pow_c1_1 * _2n;\n const c2 = (q - _1n) / _2n_pow_c1; // 2. c2 = (q - 1) / (2^c1) # Integer arithmetic\n const c3 = (c2 - _1n) / _2n; // 3. c3 = (c2 - 1) / 2 # Integer arithmetic\n const c4 = _2n_pow_c1 - _1n; // 4. c4 = 2^c1 - 1 # Integer arithmetic\n const c5 = _2n_pow_c1_1; // 5. c5 = 2^(c1 - 1) # Integer arithmetic\n const c6 = Fp.pow(Z, c2); // 6. c6 = Z^c2\n const c7 = Fp.pow(Z, (c2 + _1n) / _2n); // 7. c7 = Z^((c2 + 1) / 2)\n let sqrtRatio = (u, v) => {\n let tv1 = c6; // 1. tv1 = c6\n let tv2 = Fp.pow(v, c4); // 2. tv2 = v^c4\n let tv3 = Fp.sqr(tv2); // 3. tv3 = tv2^2\n tv3 = Fp.mul(tv3, v); // 4. tv3 = tv3 * v\n let tv5 = Fp.mul(u, tv3); // 5. tv5 = u * tv3\n tv5 = Fp.pow(tv5, c3); // 6. tv5 = tv5^c3\n tv5 = Fp.mul(tv5, tv2); // 7. tv5 = tv5 * tv2\n tv2 = Fp.mul(tv5, v); // 8. tv2 = tv5 * v\n tv3 = Fp.mul(tv5, u); // 9. tv3 = tv5 * u\n let tv4 = Fp.mul(tv3, tv2); // 10. tv4 = tv3 * tv2\n tv5 = Fp.pow(tv4, c5); // 11. tv5 = tv4^c5\n let isQR = Fp.eql(tv5, Fp.ONE); // 12. isQR = tv5 == 1\n tv2 = Fp.mul(tv3, c7); // 13. tv2 = tv3 * c7\n tv5 = Fp.mul(tv4, tv1); // 14. tv5 = tv4 * tv1\n tv3 = Fp.cmov(tv2, tv3, isQR); // 15. tv3 = CMOV(tv2, tv3, isQR)\n tv4 = Fp.cmov(tv5, tv4, isQR); // 16. tv4 = CMOV(tv5, tv4, isQR)\n // 17. for i in (c1, c1 - 1, ..., 2):\n for (let i = c1; i > _1n; i--) {\n let tv5 = i - _2n; // 18. tv5 = i - 2\n tv5 = _2n << (tv5 - _1n); // 19. tv5 = 2^tv5\n let tvv5 = Fp.pow(tv4, tv5); // 20. tv5 = tv4^tv5\n const e1 = Fp.eql(tvv5, Fp.ONE); // 21. e1 = tv5 == 1\n tv2 = Fp.mul(tv3, tv1); // 22. tv2 = tv3 * tv1\n tv1 = Fp.mul(tv1, tv1); // 23. tv1 = tv1 * tv1\n tvv5 = Fp.mul(tv4, tv1); // 24. tv5 = tv4 * tv1\n tv3 = Fp.cmov(tv2, tv3, e1); // 25. tv3 = CMOV(tv2, tv3, e1)\n tv4 = Fp.cmov(tvv5, tv4, e1); // 26. tv4 = CMOV(tv5, tv4, e1)\n }\n return { isValid: isQR, value: tv3 };\n };\n if (Fp.ORDER % _4n === _3n) {\n // sqrt_ratio_3mod4(u, v)\n const c1 = (Fp.ORDER - _3n) / _4n; // 1. c1 = (q - 3) / 4 # Integer arithmetic\n const c2 = Fp.sqrt(Fp.neg(Z)); // 2. c2 = sqrt(-Z)\n sqrtRatio = (u, v) => {\n let tv1 = Fp.sqr(v); // 1. tv1 = v^2\n const tv2 = Fp.mul(u, v); // 2. tv2 = u * v\n tv1 = Fp.mul(tv1, tv2); // 3. tv1 = tv1 * tv2\n let y1 = Fp.pow(tv1, c1); // 4. y1 = tv1^c1\n y1 = Fp.mul(y1, tv2); // 5. y1 = y1 * tv2\n const y2 = Fp.mul(y1, c2); // 6. y2 = y1 * c2\n const tv3 = Fp.mul(Fp.sqr(y1), v); // 7. tv3 = y1^2; 8. tv3 = tv3 * v\n const isQR = Fp.eql(tv3, u); // 9. isQR = tv3 == u\n let y = Fp.cmov(y2, y1, isQR); // 10. y = CMOV(y2, y1, isQR)\n return { isValid: isQR, value: y }; // 11. return (isQR, y) isQR ? y : y*c2\n };\n }\n // No curves uses that\n // if (Fp.ORDER % _8n === _5n) // sqrt_ratio_5mod8\n return sqrtRatio;\n}\n/**\n * Simplified Shallue-van de Woestijne-Ulas Method\n * https://www.rfc-editor.org/rfc/rfc9380#section-6.6.2\n */\nexport function mapToCurveSimpleSWU(Fp, opts) {\n mod.validateField(Fp);\n if (!Fp.isValid(opts.A) || !Fp.isValid(opts.B) || !Fp.isValid(opts.Z))\n throw new Error('mapToCurveSimpleSWU: invalid opts');\n const sqrtRatio = SWUFpSqrtRatio(Fp, opts.Z);\n if (!Fp.isOdd)\n throw new Error('Fp.isOdd is not implemented!');\n // Input: u, an element of F.\n // Output: (x, y), a point on E.\n return (u) => {\n // prettier-ignore\n let tv1, tv2, tv3, tv4, tv5, tv6, x, y;\n tv1 = Fp.sqr(u); // 1. tv1 = u^2\n tv1 = Fp.mul(tv1, opts.Z); // 2. tv1 = Z * tv1\n tv2 = Fp.sqr(tv1); // 3. tv2 = tv1^2\n tv2 = Fp.add(tv2, tv1); // 4. tv2 = tv2 + tv1\n tv3 = Fp.add(tv2, Fp.ONE); // 5. tv3 = tv2 + 1\n tv3 = Fp.mul(tv3, opts.B); // 6. tv3 = B * tv3\n tv4 = Fp.cmov(opts.Z, Fp.neg(tv2), !Fp.eql(tv2, Fp.ZERO)); // 7. tv4 = CMOV(Z, -tv2, tv2 != 0)\n tv4 = Fp.mul(tv4, opts.A); // 8. tv4 = A * tv4\n tv2 = Fp.sqr(tv3); // 9. tv2 = tv3^2\n tv6 = Fp.sqr(tv4); // 10. tv6 = tv4^2\n tv5 = Fp.mul(tv6, opts.A); // 11. tv5 = A * tv6\n tv2 = Fp.add(tv2, tv5); // 12. tv2 = tv2 + tv5\n tv2 = Fp.mul(tv2, tv3); // 13. tv2 = tv2 * tv3\n tv6 = Fp.mul(tv6, tv4); // 14. tv6 = tv6 * tv4\n tv5 = Fp.mul(tv6, opts.B); // 15. tv5 = B * tv6\n tv2 = Fp.add(tv2, tv5); // 16. tv2 = tv2 + tv5\n x = Fp.mul(tv1, tv3); // 17. x = tv1 * tv3\n const { isValid, value } = sqrtRatio(tv2, tv6); // 18. (is_gx1_square, y1) = sqrt_ratio(tv2, tv6)\n y = Fp.mul(tv1, u); // 19. y = tv1 * u -> Z * u^3 * y1\n y = Fp.mul(y, value); // 20. y = y * y1\n x = Fp.cmov(x, tv3, isValid); // 21. x = CMOV(x, tv3, is_gx1_square)\n y = Fp.cmov(y, value, isValid); // 22. y = CMOV(y, y1, is_gx1_square)\n const e1 = Fp.isOdd(u) === Fp.isOdd(y); // 23. e1 = sgn0(u) == sgn0(y)\n y = Fp.cmov(Fp.neg(y), y, e1); // 24. y = CMOV(-y, y, e1)\n x = Fp.div(x, tv4); // 25. x = x / tv4\n return { x, y };\n };\n}\n//# sourceMappingURL=weierstrass.js.map","/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nimport { hmac } from '@noble/hashes/hmac';\nimport { concatBytes, randomBytes } from '@noble/hashes/utils';\nimport { weierstrass } from './abstract/weierstrass.js';\n// connects noble-curves to noble-hashes\nexport function getHash(hash) {\n return {\n hash,\n hmac: (key, ...msgs) => hmac(hash, key, concatBytes(...msgs)),\n randomBytes,\n };\n}\nexport function createCurve(curveDef, defHash) {\n const create = (hash) => weierstrass({ ...curveDef, ...getHash(hash) });\n return Object.freeze({ ...create(defHash), create });\n}\n//# sourceMappingURL=_shortw_utils.js.map","/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nimport { sha256 } from '@noble/hashes/sha256';\nimport { randomBytes } from '@noble/hashes/utils';\nimport { Field, mod, pow2 } from './abstract/modular.js';\nimport { mapToCurveSimpleSWU } from './abstract/weierstrass.js';\nimport { bytesToNumberBE, concatBytes, ensureBytes, numberToBytesBE } from './abstract/utils.js';\nimport { createHasher, isogenyMap } from './abstract/hash-to-curve.js';\nimport { createCurve } from './_shortw_utils.js';\nconst secp256k1P = BigInt('0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f');\nconst secp256k1N = BigInt('0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141');\nconst _1n = BigInt(1);\nconst _2n = BigInt(2);\nconst divNearest = (a, b) => (a + b / _2n) / b;\n/**\n * √n = n^((p+1)/4) for fields p = 3 mod 4. We unwrap the loop and multiply bit-by-bit.\n * (P+1n/4n).toString(2) would produce bits [223x 1, 0, 22x 1, 4x 0, 11, 00]\n */\nfunction sqrtMod(y) {\n const P = secp256k1P;\n // prettier-ignore\n const _3n = BigInt(3), _6n = BigInt(6), _11n = BigInt(11), _22n = BigInt(22);\n // prettier-ignore\n const _23n = BigInt(23), _44n = BigInt(44), _88n = BigInt(88);\n const b2 = (y * y * y) % P; // x^3, 11\n const b3 = (b2 * b2 * y) % P; // x^7\n const b6 = (pow2(b3, _3n, P) * b3) % P;\n const b9 = (pow2(b6, _3n, P) * b3) % P;\n const b11 = (pow2(b9, _2n, P) * b2) % P;\n const b22 = (pow2(b11, _11n, P) * b11) % P;\n const b44 = (pow2(b22, _22n, P) * b22) % P;\n const b88 = (pow2(b44, _44n, P) * b44) % P;\n const b176 = (pow2(b88, _88n, P) * b88) % P;\n const b220 = (pow2(b176, _44n, P) * b44) % P;\n const b223 = (pow2(b220, _3n, P) * b3) % P;\n const t1 = (pow2(b223, _23n, P) * b22) % P;\n const t2 = (pow2(t1, _6n, P) * b2) % P;\n const root = pow2(t2, _2n, P);\n if (!Fp.eql(Fp.sqr(root), y))\n throw new Error('Cannot find square root');\n return root;\n}\nconst Fp = Field(secp256k1P, undefined, undefined, { sqrt: sqrtMod });\nexport const secp256k1 = createCurve({\n a: BigInt(0),\n b: BigInt(7),\n Fp,\n n: secp256k1N,\n // Base point (x, y) aka generator point\n Gx: BigInt('55066263022277343669578718895168534326250603453777594175500187360389116729240'),\n Gy: BigInt('32670510020758816978083085130507043184471273380659243275938904335757337482424'),\n h: BigInt(1),\n lowS: true,\n /**\n * secp256k1 belongs to Koblitz curves: it has efficiently computable endomorphism.\n * Endomorphism uses 2x less RAM, speeds up precomputation by 2x and ECDH / key recovery by 20%.\n * For precomputed wNAF it trades off 1/2 init time & 1/3 ram for 20% perf hit.\n * Explanation: https://gist.github.com/paulmillr/eb670806793e84df628a7c434a873066\n */\n endo: {\n beta: BigInt('0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee'),\n splitScalar: (k) => {\n const n = secp256k1N;\n const a1 = BigInt('0x3086d221a7d46bcde86c90e49284eb15');\n const b1 = -_1n * BigInt('0xe4437ed6010e88286f547fa90abfe4c3');\n const a2 = BigInt('0x114ca50f7a8e2f3f657c1108d9d44cfd8');\n const b2 = a1;\n const POW_2_128 = BigInt('0x100000000000000000000000000000000'); // (2n**128n).toString(16)\n const c1 = divNearest(b2 * k, n);\n const c2 = divNearest(-b1 * k, n);\n let k1 = mod(k - c1 * a1 - c2 * a2, n);\n let k2 = mod(-c1 * b1 - c2 * b2, n);\n const k1neg = k1 > POW_2_128;\n const k2neg = k2 > POW_2_128;\n if (k1neg)\n k1 = n - k1;\n if (k2neg)\n k2 = n - k2;\n if (k1 > POW_2_128 || k2 > POW_2_128) {\n throw new Error('splitScalar: Endomorphism failed, k=' + k);\n }\n return { k1neg, k1, k2neg, k2 };\n },\n },\n}, sha256);\n// Schnorr signatures are superior to ECDSA from above. Below is Schnorr-specific BIP0340 code.\n// https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki\nconst _0n = BigInt(0);\nconst fe = (x) => typeof x === 'bigint' && _0n < x && x < secp256k1P;\nconst ge = (x) => typeof x === 'bigint' && _0n < x && x < secp256k1N;\n/** An object mapping tags to their tagged hash prefix of [SHA256(tag) | SHA256(tag)] */\nconst TAGGED_HASH_PREFIXES = {};\nfunction taggedHash(tag, ...messages) {\n let tagP = TAGGED_HASH_PREFIXES[tag];\n if (tagP === undefined) {\n const tagH = sha256(Uint8Array.from(tag, (c) => c.charCodeAt(0)));\n tagP = concatBytes(tagH, tagH);\n TAGGED_HASH_PREFIXES[tag] = tagP;\n }\n return sha256(concatBytes(tagP, ...messages));\n}\n// ECDSA compact points are 33-byte. Schnorr is 32: we strip first byte 0x02 or 0x03\nconst pointToBytes = (point) => point.toRawBytes(true).slice(1);\nconst numTo32b = (n) => numberToBytesBE(n, 32);\nconst modP = (x) => mod(x, secp256k1P);\nconst modN = (x) => mod(x, secp256k1N);\nconst Point = secp256k1.ProjectivePoint;\nconst GmulAdd = (Q, a, b) => Point.BASE.multiplyAndAddUnsafe(Q, a, b);\n// Calculate point, scalar and bytes\nfunction schnorrGetExtPubKey(priv) {\n let d_ = secp256k1.utils.normPrivateKeyToScalar(priv); // same method executed in fromPrivateKey\n let p = Point.fromPrivateKey(d_); // P = d'⋅G; 0 < d' < n check is done inside\n const scalar = p.hasEvenY() ? d_ : modN(-d_);\n return { scalar: scalar, bytes: pointToBytes(p) };\n}\n/**\n * lift_x from BIP340. Convert 32-byte x coordinate to elliptic curve point.\n * @returns valid point checked for being on-curve\n */\nfunction lift_x(x) {\n if (!fe(x))\n throw new Error('bad x: need 0 < x < p'); // Fail if x ≥ p.\n const xx = modP(x * x);\n const c = modP(xx * x + BigInt(7)); // Let c = x³ + 7 mod p.\n let y = sqrtMod(c); // Let y = c^(p+1)/4 mod p.\n if (y % _2n !== _0n)\n y = modP(-y); // Return the unique point P such that x(P) = x and\n const p = new Point(x, y, _1n); // y(P) = y if y mod 2 = 0 or y(P) = p-y otherwise.\n p.assertValidity();\n return p;\n}\n/**\n * Create tagged hash, convert it to bigint, reduce modulo-n.\n */\nfunction challenge(...args) {\n return modN(bytesToNumberBE(taggedHash('BIP0340/challenge', ...args)));\n}\n/**\n * Schnorr public key is just `x` coordinate of Point as per BIP340.\n */\nfunction schnorrGetPublicKey(privateKey) {\n return schnorrGetExtPubKey(privateKey).bytes; // d'=int(sk). Fail if d'=0 or d'≥n. Ret bytes(d'⋅G)\n}\n/**\n * Creates Schnorr signature as per BIP340. Verifies itself before returning anything.\n * auxRand is optional and is not the sole source of k generation: bad CSPRNG won't be dangerous.\n */\nfunction schnorrSign(message, privateKey, auxRand = randomBytes(32)) {\n const m = ensureBytes('message', message);\n const { bytes: px, scalar: d } = schnorrGetExtPubKey(privateKey); // checks for isWithinCurveOrder\n const a = ensureBytes('auxRand', auxRand, 32); // Auxiliary random data a: a 32-byte array\n const t = numTo32b(d ^ bytesToNumberBE(taggedHash('BIP0340/aux', a))); // Let t be the byte-wise xor of bytes(d) and hash/aux(a)\n const rand = taggedHash('BIP0340/nonce', t, px, m); // Let rand = hash/nonce(t || bytes(P) || m)\n const k_ = modN(bytesToNumberBE(rand)); // Let k' = int(rand) mod n\n if (k_ === _0n)\n throw new Error('sign failed: k is zero'); // Fail if k' = 0.\n const { bytes: rx, scalar: k } = schnorrGetExtPubKey(k_); // Let R = k'⋅G.\n const e = challenge(rx, px, m); // Let e = int(hash/challenge(bytes(R) || bytes(P) || m)) mod n.\n const sig = new Uint8Array(64); // Let sig = bytes(R) || bytes((k + ed) mod n).\n sig.set(rx, 0);\n sig.set(numTo32b(modN(k + e * d)), 32);\n // If Verify(bytes(P), m, sig) (see below) returns failure, abort\n if (!schnorrVerify(sig, m, px))\n throw new Error('sign: Invalid signature produced');\n return sig;\n}\n/**\n * Verifies Schnorr signature.\n * Will swallow errors & return false except for initial type validation of arguments.\n */\nfunction schnorrVerify(signature, message, publicKey) {\n const sig = ensureBytes('signature', signature, 64);\n const m = ensureBytes('message', message);\n const pub = ensureBytes('publicKey', publicKey, 32);\n try {\n const P = lift_x(bytesToNumberBE(pub)); // P = lift_x(int(pk)); fail if that fails\n const r = bytesToNumberBE(sig.subarray(0, 32)); // Let r = int(sig[0:32]); fail if r ≥ p.\n if (!fe(r))\n return false;\n const s = bytesToNumberBE(sig.subarray(32, 64)); // Let s = int(sig[32:64]); fail if s ≥ n.\n if (!ge(s))\n return false;\n const e = challenge(numTo32b(r), pointToBytes(P), m); // int(challenge(bytes(r)||bytes(P)||m))%n\n const R = GmulAdd(P, s, modN(-e)); // R = s⋅G - e⋅P\n if (!R || !R.hasEvenY() || R.toAffine().x !== r)\n return false; // -eP == (n-e)P\n return true; // Fail if is_infinite(R) / not has_even_y(R) / x(R) ≠ r.\n }\n catch (error) {\n return false;\n }\n}\nexport const schnorr = /* @__PURE__ */ (() => ({\n getPublicKey: schnorrGetPublicKey,\n sign: schnorrSign,\n verify: schnorrVerify,\n utils: {\n randomPrivateKey: secp256k1.utils.randomPrivateKey,\n lift_x,\n pointToBytes,\n numberToBytesBE,\n bytesToNumberBE,\n taggedHash,\n mod,\n },\n}))();\nconst isoMap = /* @__PURE__ */ (() => isogenyMap(Fp, [\n // xNum\n [\n '0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7',\n '0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581',\n '0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262',\n '0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c',\n ],\n // xDen\n [\n '0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b',\n '0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14',\n '0x0000000000000000000000000000000000000000000000000000000000000001', // LAST 1\n ],\n // yNum\n [\n '0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c',\n '0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3',\n '0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931',\n '0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84',\n ],\n // yDen\n [\n '0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b',\n '0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573',\n '0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f',\n '0x0000000000000000000000000000000000000000000000000000000000000001', // LAST 1\n ],\n].map((i) => i.map((j) => BigInt(j)))))();\nconst mapSWU = /* @__PURE__ */ (() => mapToCurveSimpleSWU(Fp, {\n A: BigInt('0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533'),\n B: BigInt('1771'),\n Z: Fp.create(BigInt('-11')),\n}))();\nconst htf = /* @__PURE__ */ (() => createHasher(secp256k1.ProjectivePoint, (scalars) => {\n const { x, y } = mapSWU(Fp.create(scalars[0]));\n return isoMap(x, y);\n}, {\n DST: 'secp256k1_XMD:SHA-256_SSWU_RO_',\n encodeDST: 'secp256k1_XMD:SHA-256_SSWU_NU_',\n p: Fp.ORDER,\n m: 1,\n k: 128,\n expand: 'xmd',\n hash: sha256,\n}))();\nexport const hashToCurve = /* @__PURE__ */ (() => htf.hashToCurve)();\nexport const encodeToCurve = /* @__PURE__ */ (() => htf.encodeToCurve)();\n//# sourceMappingURL=secp256k1.js.map","/**\n * A constant for the zero address.\n *\n * (**i.e.** ``\"0x0000000000000000000000000000000000000000\"``)\n */\nexport const ZeroAddress = \"0x0000000000000000000000000000000000000000\";\n//# sourceMappingURL=addresses.js.map","/**\n * A constant for the zero hash.\n *\n * (**i.e.** ``\"0x0000000000000000000000000000000000000000000000000000000000000000\"``)\n */\nexport const ZeroHash = \"0x0000000000000000000000000000000000000000000000000000000000000000\";\n//# sourceMappingURL=hashes.js.map","/**\n * A constant for the order N for the secp256k1 curve.\n *\n * (**i.e.** ``0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141n``)\n */\nexport const N = BigInt(\"0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141\");\n/**\n * A constant for the number of wei in a single ether.\n *\n * (**i.e.** ``1000000000000000000n``)\n */\nexport const WeiPerEther = BigInt(\"1000000000000000000\");\n/**\n * A constant for the maximum value for a ``uint256``.\n *\n * (**i.e.** ``0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn``)\n */\nexport const MaxUint256 = BigInt(\"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\");\n/**\n * A constant for the minimum value for an ``int256``.\n *\n * (**i.e.** ``-8000000000000000000000000000000000000000000000000000000000000000n``)\n */\nexport const MinInt256 = BigInt(\"0x8000000000000000000000000000000000000000000000000000000000000000\") * BigInt(-1);\n/**\n * A constant for the maximum value for an ``int256``.\n *\n * (**i.e.** ``0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn``)\n */\nexport const MaxInt256 = BigInt(\"0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\");\n//# sourceMappingURL=numbers.js.map","// NFKC (composed) // (decomposed)\n/**\n * A constant for the ether symbol (normalized using NFKC).\n *\n * (**i.e.** ``\"\\\\u039e\"``)\n */\nexport const EtherSymbol = \"\\u039e\"; // \"\\uD835\\uDF63\";\n/**\n * A constant for the [[link-eip-191]] personal message prefix.\n *\n * (**i.e.** ``\"\\\\x19Ethereum Signed Message:\\\\n\"``)\n */\nexport const MessagePrefix = \"\\x19Ethereum Signed Message:\\n\";\n//# sourceMappingURL=strings.js.map","import { ZeroHash } from \"../constants/index.js\";\nimport { concat, dataLength, getBigInt, getBytes, getNumber, hexlify, toBeArray, isHexString, zeroPadValue, assertArgument, assertPrivate } from \"../utils/index.js\";\n// Constants\nconst BN_0 = BigInt(0);\nconst BN_1 = BigInt(1);\nconst BN_2 = BigInt(2);\nconst BN_27 = BigInt(27);\nconst BN_28 = BigInt(28);\nconst BN_35 = BigInt(35);\nconst _guard = {};\nfunction toUint256(value) {\n return zeroPadValue(toBeArray(value), 32);\n}\n/**\n * A Signature @TODO\n *\n *\n * @_docloc: api/crypto:Signing\n */\nexport class Signature {\n #r;\n #s;\n #v;\n #networkV;\n /**\n * The ``r`` value for a signautre.\n *\n * This represents the ``x`` coordinate of a \"reference\" or\n * challenge point, from which the ``y`` can be computed.\n */\n get r() { return this.#r; }\n set r(value) {\n assertArgument(dataLength(value) === 32, \"invalid r\", \"value\", value);\n this.#r = hexlify(value);\n }\n /**\n * The ``s`` value for a signature.\n */\n get s() { return this.#s; }\n set s(_value) {\n assertArgument(dataLength(_value) === 32, \"invalid s\", \"value\", _value);\n const value = hexlify(_value);\n assertArgument(parseInt(value.substring(0, 3)) < 8, \"non-canonical s\", \"value\", value);\n this.#s = value;\n }\n /**\n * The ``v`` value for a signature.\n *\n * Since a given ``x`` value for ``r`` has two possible values for\n * its correspondin ``y``, the ``v`` indicates which of the two ``y``\n * values to use.\n *\n * It is normalized to the values ``27`` or ``28`` for legacy\n * purposes.\n */\n get v() { return this.#v; }\n set v(value) {\n const v = getNumber(value, \"value\");\n assertArgument(v === 27 || v === 28, \"invalid v\", \"v\", value);\n this.#v = v;\n }\n /**\n * The EIP-155 ``v`` for legacy transactions. For non-legacy\n * transactions, this value is ``null``.\n */\n get networkV() { return this.#networkV; }\n /**\n * The chain ID for EIP-155 legacy transactions. For non-legacy\n * transactions, this value is ``null``.\n */\n get legacyChainId() {\n const v = this.networkV;\n if (v == null) {\n return null;\n }\n return Signature.getChainId(v);\n }\n /**\n * The ``yParity`` for the signature.\n *\n * See ``v`` for more details on how this value is used.\n */\n get yParity() {\n return (this.v === 27) ? 0 : 1;\n }\n /**\n * The [[link-eip-2098]] compact representation of the ``yParity``\n * and ``s`` compacted into a single ``bytes32``.\n */\n get yParityAndS() {\n // The EIP-2098 compact representation\n const yParityAndS = getBytes(this.s);\n if (this.yParity) {\n yParityAndS[0] |= 0x80;\n }\n return hexlify(yParityAndS);\n }\n /**\n * The [[link-eip-2098]] compact representation.\n */\n get compactSerialized() {\n return concat([this.r, this.yParityAndS]);\n }\n /**\n * The serialized representation.\n */\n get serialized() {\n return concat([this.r, this.s, (this.yParity ? \"0x1c\" : \"0x1b\")]);\n }\n /**\n * @private\n */\n constructor(guard, r, s, v) {\n assertPrivate(guard, _guard, \"Signature\");\n this.#r = r;\n this.#s = s;\n this.#v = v;\n this.#networkV = null;\n }\n [Symbol.for('nodejs.util.inspect.custom')]() {\n return `Signature { r: \"${this.r}\", s: \"${this.s}\", yParity: ${this.yParity}, networkV: ${this.networkV} }`;\n }\n /**\n * Returns a new identical [[Signature]].\n */\n clone() {\n const clone = new Signature(_guard, this.r, this.s, this.v);\n if (this.networkV) {\n clone.#networkV = this.networkV;\n }\n return clone;\n }\n /**\n * Returns a representation that is compatible with ``JSON.stringify``.\n */\n toJSON() {\n const networkV = this.networkV;\n return {\n _type: \"signature\",\n networkV: ((networkV != null) ? networkV.toString() : null),\n r: this.r, s: this.s, v: this.v,\n };\n }\n /**\n * Compute the chain ID from the ``v`` in a legacy EIP-155 transactions.\n *\n * @example:\n * Signature.getChainId(45)\n * //_result:\n *\n * Signature.getChainId(46)\n * //_result:\n */\n static getChainId(v) {\n const bv = getBigInt(v, \"v\");\n // The v is not an EIP-155 v, so it is the unspecified chain ID\n if ((bv == BN_27) || (bv == BN_28)) {\n return BN_0;\n }\n // Bad value for an EIP-155 v\n assertArgument(bv >= BN_35, \"invalid EIP-155 v\", \"v\", v);\n return (bv - BN_35) / BN_2;\n }\n /**\n * Compute the ``v`` for a chain ID for a legacy EIP-155 transactions.\n *\n * Legacy transactions which use [[link-eip-155]] hijack the ``v``\n * property to include the chain ID.\n *\n * @example:\n * Signature.getChainIdV(5, 27)\n * //_result:\n *\n * Signature.getChainIdV(5, 28)\n * //_result:\n *\n */\n static getChainIdV(chainId, v) {\n return (getBigInt(chainId) * BN_2) + BigInt(35 + v - 27);\n }\n /**\n * Compute the normalized legacy transaction ``v`` from a ``yParirty``,\n * a legacy transaction ``v`` or a legacy [[link-eip-155]] transaction.\n *\n * @example:\n * // The values 0 and 1 imply v is actually yParity\n * Signature.getNormalizedV(0)\n * //_result:\n *\n * // Legacy non-EIP-1559 transaction (i.e. 27 or 28)\n * Signature.getNormalizedV(27)\n * //_result:\n *\n * // Legacy EIP-155 transaction (i.e. >= 35)\n * Signature.getNormalizedV(46)\n * //_result:\n *\n * // Invalid values throw\n * Signature.getNormalizedV(5)\n * //_error:\n */\n static getNormalizedV(v) {\n const bv = getBigInt(v);\n if (bv === BN_0 || bv === BN_27) {\n return 27;\n }\n if (bv === BN_1 || bv === BN_28) {\n return 28;\n }\n assertArgument(bv >= BN_35, \"invalid v\", \"v\", v);\n // Otherwise, EIP-155 v means odd is 27 and even is 28\n return (bv & BN_1) ? 27 : 28;\n }\n /**\n * Creates a new [[Signature]].\n *\n * If no %%sig%% is provided, a new [[Signature]] is created\n * with default values.\n *\n * If %%sig%% is a string, it is parsed.\n */\n static from(sig) {\n function assertError(check, message) {\n assertArgument(check, message, \"signature\", sig);\n }\n ;\n if (sig == null) {\n return new Signature(_guard, ZeroHash, ZeroHash, 27);\n }\n if (typeof (sig) === \"string\") {\n const bytes = getBytes(sig, \"signature\");\n if (bytes.length === 64) {\n const r = hexlify(bytes.slice(0, 32));\n const s = bytes.slice(32, 64);\n const v = (s[0] & 0x80) ? 28 : 27;\n s[0] &= 0x7f;\n return new Signature(_guard, r, hexlify(s), v);\n }\n if (bytes.length === 65) {\n const r = hexlify(bytes.slice(0, 32));\n const s = bytes.slice(32, 64);\n assertError((s[0] & 0x80) === 0, \"non-canonical s\");\n const v = Signature.getNormalizedV(bytes[64]);\n return new Signature(_guard, r, hexlify(s), v);\n }\n assertError(false, \"invalid raw signature length\");\n }\n if (sig instanceof Signature) {\n return sig.clone();\n }\n // Get r\n const _r = sig.r;\n assertError(_r != null, \"missing r\");\n const r = toUint256(_r);\n // Get s; by any means necessary (we check consistency below)\n const s = (function (s, yParityAndS) {\n if (s != null) {\n return toUint256(s);\n }\n if (yParityAndS != null) {\n assertError(isHexString(yParityAndS, 32), \"invalid yParityAndS\");\n const bytes = getBytes(yParityAndS);\n bytes[0] &= 0x7f;\n return hexlify(bytes);\n }\n assertError(false, \"missing s\");\n })(sig.s, sig.yParityAndS);\n assertError((getBytes(s)[0] & 0x80) == 0, \"non-canonical s\");\n // Get v; by any means necessary (we check consistency below)\n const { networkV, v } = (function (_v, yParityAndS, yParity) {\n if (_v != null) {\n const v = getBigInt(_v);\n return {\n networkV: ((v >= BN_35) ? v : undefined),\n v: Signature.getNormalizedV(v)\n };\n }\n if (yParityAndS != null) {\n assertError(isHexString(yParityAndS, 32), \"invalid yParityAndS\");\n return { v: ((getBytes(yParityAndS)[0] & 0x80) ? 28 : 27) };\n }\n if (yParity != null) {\n switch (getNumber(yParity, \"sig.yParity\")) {\n case 0: return { v: 27 };\n case 1: return { v: 28 };\n }\n assertError(false, \"invalid yParity\");\n }\n assertError(false, \"missing v\");\n })(sig.v, sig.yParityAndS, sig.yParity);\n const result = new Signature(_guard, r, s, v);\n if (networkV) {\n result.#networkV = networkV;\n }\n // If multiple of v, yParity, yParityAndS we given, check they match\n assertError(sig.yParity == null || getNumber(sig.yParity, \"sig.yParity\") === result.yParity, \"yParity mismatch\");\n assertError(sig.yParityAndS == null || sig.yParityAndS === result.yParityAndS, \"yParityAndS mismatch\");\n return result;\n }\n}\n//# sourceMappingURL=signature.js.map","/**\n * Add details about signing here.\n *\n * @_subsection: api/crypto:Signing [about-signing]\n */\nimport { secp256k1 } from \"@noble/curves/secp256k1\";\nimport { concat, dataLength, getBytes, getBytesCopy, hexlify, toBeHex, assertArgument } from \"../utils/index.js\";\nimport { Signature } from \"./signature.js\";\n/**\n * A **SigningKey** provides high-level access to the elliptic curve\n * cryptography (ECC) operations and key management.\n */\nexport class SigningKey {\n #privateKey;\n /**\n * Creates a new **SigningKey** for %%privateKey%%.\n */\n constructor(privateKey) {\n assertArgument(dataLength(privateKey) === 32, \"invalid private key\", \"privateKey\", \"[REDACTED]\");\n this.#privateKey = hexlify(privateKey);\n }\n /**\n * The private key.\n */\n get privateKey() { return this.#privateKey; }\n /**\n * The uncompressed public key.\n *\n * This will always begin with the prefix ``0x04`` and be 132\n * characters long (the ``0x`` prefix and 130 hexadecimal nibbles).\n */\n get publicKey() { return SigningKey.computePublicKey(this.#privateKey); }\n /**\n * The compressed public key.\n *\n * This will always begin with either the prefix ``0x02`` or ``0x03``\n * and be 68 characters long (the ``0x`` prefix and 33 hexadecimal\n * nibbles)\n */\n get compressedPublicKey() { return SigningKey.computePublicKey(this.#privateKey, true); }\n /**\n * Return the signature of the signed %%digest%%.\n */\n sign(digest) {\n assertArgument(dataLength(digest) === 32, \"invalid digest length\", \"digest\", digest);\n const sig = secp256k1.sign(getBytesCopy(digest), getBytesCopy(this.#privateKey), {\n lowS: true\n });\n return Signature.from({\n r: toBeHex(sig.r, 32),\n s: toBeHex(sig.s, 32),\n v: (sig.recovery ? 0x1c : 0x1b)\n });\n }\n /**\n * Returns the [[link-wiki-ecdh]] shared secret between this\n * private key and the %%other%% key.\n *\n * The %%other%% key may be any type of key, a raw public key,\n * a compressed/uncompressed pubic key or aprivate key.\n *\n * Best practice is usually to use a cryptographic hash on the\n * returned value before using it as a symetric secret.\n *\n * @example:\n * sign1 = new SigningKey(id(\"some-secret-1\"))\n * sign2 = new SigningKey(id(\"some-secret-2\"))\n *\n * // Notice that privA.computeSharedSecret(pubB)...\n * sign1.computeSharedSecret(sign2.publicKey)\n * //_result:\n *\n * // ...is equal to privB.computeSharedSecret(pubA).\n * sign2.computeSharedSecret(sign1.publicKey)\n * //_result:\n */\n computeSharedSecret(other) {\n const pubKey = SigningKey.computePublicKey(other);\n return hexlify(secp256k1.getSharedSecret(getBytesCopy(this.#privateKey), getBytes(pubKey), false));\n }\n /**\n * Compute the public key for %%key%%, optionally %%compressed%%.\n *\n * The %%key%% may be any type of key, a raw public key, a\n * compressed/uncompressed public key or private key.\n *\n * @example:\n * sign = new SigningKey(id(\"some-secret\"));\n *\n * // Compute the uncompressed public key for a private key\n * SigningKey.computePublicKey(sign.privateKey)\n * //_result:\n *\n * // Compute the compressed public key for a private key\n * SigningKey.computePublicKey(sign.privateKey, true)\n * //_result:\n *\n * // Compute the uncompressed public key\n * SigningKey.computePublicKey(sign.publicKey, false);\n * //_result:\n *\n * // Compute the Compressed a public key\n * SigningKey.computePublicKey(sign.publicKey, true);\n * //_result:\n */\n static computePublicKey(key, compressed) {\n let bytes = getBytes(key, \"key\");\n // private key\n if (bytes.length === 32) {\n const pubKey = secp256k1.getPublicKey(bytes, !!compressed);\n return hexlify(pubKey);\n }\n // raw public key; use uncompressed key with 0x04 prefix\n if (bytes.length === 64) {\n const pub = new Uint8Array(65);\n pub[0] = 0x04;\n pub.set(bytes, 1);\n bytes = pub;\n }\n const point = secp256k1.ProjectivePoint.fromHex(bytes);\n return hexlify(point.toRawBytes(compressed));\n }\n /**\n * Returns the public key for the private key which produced the\n * %%signature%% for the given %%digest%%.\n *\n * @example:\n * key = new SigningKey(id(\"some-secret\"))\n * digest = id(\"hello world\")\n * sig = key.sign(digest)\n *\n * // Notice the signer public key...\n * key.publicKey\n * //_result:\n *\n * // ...is equal to the recovered public key\n * SigningKey.recoverPublicKey(digest, sig)\n * //_result:\n *\n */\n static recoverPublicKey(digest, signature) {\n assertArgument(dataLength(digest) === 32, \"invalid digest length\", \"digest\", digest);\n const sig = Signature.from(signature);\n let secpSig = secp256k1.Signature.fromCompact(getBytesCopy(concat([sig.r, sig.s])));\n secpSig = secpSig.addRecoveryBit(sig.yParity);\n const pubKey = secpSig.recoverPublicKey(getBytesCopy(digest));\n assertArgument(pubKey != null, \"invalid signautre for digest\", \"signature\", signature);\n return \"0x\" + pubKey.toHex(false);\n }\n /**\n * Returns the point resulting from adding the ellipic curve points\n * %%p0%% and %%p1%%.\n *\n * This is not a common function most developers should require, but\n * can be useful for certain privacy-specific techniques.\n *\n * For example, it is used by [[HDNodeWallet]] to compute child\n * addresses from parent public keys and chain codes.\n */\n static addPoints(p0, p1, compressed) {\n const pub0 = secp256k1.ProjectivePoint.fromHex(SigningKey.computePublicKey(p0).substring(2));\n const pub1 = secp256k1.ProjectivePoint.fromHex(SigningKey.computePublicKey(p1).substring(2));\n return \"0x\" + pub0.add(pub1).toHex(!!compressed);\n }\n}\n//# sourceMappingURL=signing-key.js.map","/**\n * A fundamental building block of Ethereum is the underlying\n * cryptographic primitives.\n *\n * @_section: api/crypto:Cryptographic Functions [about-crypto]\n */\nnull;\n// We import all these so we can export lock()\nimport { computeHmac } from \"./hmac.js\";\nimport { keccak256 } from \"./keccak.js\";\nimport { ripemd160 } from \"./ripemd160.js\";\nimport { pbkdf2 } from \"./pbkdf2.js\";\nimport { randomBytes } from \"./random.js\";\nimport { scrypt, scryptSync } from \"./scrypt.js\";\nimport { sha256, sha512 } from \"./sha2.js\";\nexport { computeHmac, randomBytes, keccak256, ripemd160, sha256, sha512, pbkdf2, scrypt, scryptSync };\nexport { SigningKey } from \"./signing-key.js\";\nexport { Signature } from \"./signature.js\";\n/**\n * Once called, prevents any future change to the underlying cryptographic\n * primitives using the ``.register`` feature for hooks.\n */\nfunction lock() {\n computeHmac.lock();\n keccak256.lock();\n pbkdf2.lock();\n randomBytes.lock();\n ripemd160.lock();\n scrypt.lock();\n scryptSync.lock();\n sha256.lock();\n sha512.lock();\n randomBytes.lock();\n}\nexport { lock };\n//# sourceMappingURL=index.js.map","import { keccak256 } from \"../crypto/index.js\";\nimport { getBytes, assertArgument } from \"../utils/index.js\";\nconst BN_0 = BigInt(0);\nconst BN_36 = BigInt(36);\nfunction getChecksumAddress(address) {\n // if (!isHexString(address, 20)) {\n // logger.throwArgumentError(\"invalid address\", \"address\", address);\n // }\n address = address.toLowerCase();\n const chars = address.substring(2).split(\"\");\n const expanded = new Uint8Array(40);\n for (let i = 0; i < 40; i++) {\n expanded[i] = chars[i].charCodeAt(0);\n }\n const hashed = getBytes(keccak256(expanded));\n for (let i = 0; i < 40; i += 2) {\n if ((hashed[i >> 1] >> 4) >= 8) {\n chars[i] = chars[i].toUpperCase();\n }\n if ((hashed[i >> 1] & 0x0f) >= 8) {\n chars[i + 1] = chars[i + 1].toUpperCase();\n }\n }\n return \"0x\" + chars.join(\"\");\n}\n// See: https://en.wikipedia.org/wiki/International_Bank_Account_Number\n// Create lookup table\nconst ibanLookup = {};\nfor (let i = 0; i < 10; i++) {\n ibanLookup[String(i)] = String(i);\n}\nfor (let i = 0; i < 26; i++) {\n ibanLookup[String.fromCharCode(65 + i)] = String(10 + i);\n}\n// How many decimal digits can we process? (for 64-bit float, this is 15)\n// i.e. Math.floor(Math.log10(Number.MAX_SAFE_INTEGER));\nconst safeDigits = 15;\nfunction ibanChecksum(address) {\n address = address.toUpperCase();\n address = address.substring(4) + address.substring(0, 2) + \"00\";\n let expanded = address.split(\"\").map((c) => { return ibanLookup[c]; }).join(\"\");\n // Javascript can handle integers safely up to 15 (decimal) digits\n while (expanded.length >= safeDigits) {\n let block = expanded.substring(0, safeDigits);\n expanded = parseInt(block, 10) % 97 + expanded.substring(block.length);\n }\n let checksum = String(98 - (parseInt(expanded, 10) % 97));\n while (checksum.length < 2) {\n checksum = \"0\" + checksum;\n }\n return checksum;\n}\n;\nconst Base36 = (function () {\n ;\n const result = {};\n for (let i = 0; i < 36; i++) {\n const key = \"0123456789abcdefghijklmnopqrstuvwxyz\"[i];\n result[key] = BigInt(i);\n }\n return result;\n})();\nfunction fromBase36(value) {\n value = value.toLowerCase();\n let result = BN_0;\n for (let i = 0; i < value.length; i++) {\n result = result * BN_36 + Base36[value[i]];\n }\n return result;\n}\n/**\n * Returns a normalized and checksumed address for %%address%%.\n * This accepts non-checksum addresses, checksum addresses and\n * [[getIcapAddress]] formats.\n *\n * The checksum in Ethereum uses the capitalization (upper-case\n * vs lower-case) of the characters within an address to encode\n * its checksum, which offers, on average, a checksum of 15-bits.\n *\n * If %%address%% contains both upper-case and lower-case, it is\n * assumed to already be a checksum address and its checksum is\n * validated, and if the address fails its expected checksum an\n * error is thrown.\n *\n * If you wish the checksum of %%address%% to be ignore, it should\n * be converted to lower-case (i.e. ``.toLowercase()``) before\n * being passed in. This should be a very rare situation though,\n * that you wish to bypass the safegaurds in place to protect\n * against an address that has been incorrectly copied from another\n * source.\n *\n * @example:\n * // Adds the checksum (via upper-casing specific letters)\n * getAddress(\"0x8ba1f109551bd432803012645ac136ddd64dba72\")\n * //_result:\n *\n * // Converts ICAP address and adds checksum\n * getAddress(\"XE65GB6LDNXYOFTX0NSV3FUWKOWIXAMJK36\");\n * //_result:\n *\n * // Throws an error if an address contains mixed case,\n * // but the checksum fails\n * getAddress(\"0x8Ba1f109551bD432803012645Ac136ddd64DBA72\")\n * //_error:\n */\nexport function getAddress(address) {\n assertArgument(typeof (address) === \"string\", \"invalid address\", \"address\", address);\n if (address.match(/^(0x)?[0-9a-fA-F]{40}$/)) {\n // Missing the 0x prefix\n if (!address.startsWith(\"0x\")) {\n address = \"0x\" + address;\n }\n const result = getChecksumAddress(address);\n // It is a checksummed address with a bad checksum\n assertArgument(!address.match(/([A-F].*[a-f])|([a-f].*[A-F])/) || result === address, \"bad address checksum\", \"address\", address);\n return result;\n }\n // Maybe ICAP? (we only support direct mode)\n if (address.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)) {\n // It is an ICAP address with a bad checksum\n assertArgument(address.substring(2, 4) === ibanChecksum(address), \"bad icap checksum\", \"address\", address);\n let result = fromBase36(address.substring(4)).toString(16);\n while (result.length < 40) {\n result = \"0\" + result;\n }\n return getChecksumAddress(\"0x\" + result);\n }\n assertArgument(false, \"invalid address\", \"address\", address);\n}\n/**\n * The [ICAP Address format](link-icap) format is an early checksum\n * format which attempts to be compatible with the banking\n * industry [IBAN format](link-wiki-iban) for bank accounts.\n *\n * It is no longer common or a recommended format.\n *\n * @example:\n * getIcapAddress(\"0x8ba1f109551bd432803012645ac136ddd64dba72\");\n * //_result:\n *\n * getIcapAddress(\"XE65GB6LDNXYOFTX0NSV3FUWKOWIXAMJK36\");\n * //_result:\n *\n * // Throws an error if the ICAP checksum is wrong\n * getIcapAddress(\"XE65GB6LDNXYOFTX0NSV3FUWKOWIXAMJK37\");\n * //_error:\n */\nexport function getIcapAddress(address) {\n //let base36 = _base16To36(getAddress(address).substring(2)).toUpperCase();\n let base36 = BigInt(getAddress(address)).toString(36).toUpperCase();\n while (base36.length < 30) {\n base36 = \"0\" + base36;\n }\n return \"XE\" + ibanChecksum(\"XE00\" + base36) + base36;\n}\n//# sourceMappingURL=address.js.map","import { keccak256 } from \"../crypto/index.js\";\nimport { concat, dataSlice, getBigInt, getBytes, encodeRlp, assertArgument } from \"../utils/index.js\";\nimport { getAddress } from \"./address.js\";\n// http://ethereum.stackexchange.com/questions/760/how-is-the-address-of-an-ethereum-contract-computed\n/**\n * Returns the address that would result from a ``CREATE`` for %%tx%%.\n *\n * This can be used to compute the address a contract will be\n * deployed to by an EOA when sending a deployment transaction (i.e.\n * when the ``to`` address is ``null``).\n *\n * This can also be used to compute the address a contract will be\n * deployed to by a contract, by using the contract's address as the\n * ``to`` and the contract's nonce.\n *\n * @example\n * from = \"0x8ba1f109551bD432803012645Ac136ddd64DBA72\";\n * nonce = 5;\n *\n * getCreateAddress({ from, nonce });\n * //_result:\n */\nexport function getCreateAddress(tx) {\n const from = getAddress(tx.from);\n const nonce = getBigInt(tx.nonce, \"tx.nonce\");\n let nonceHex = nonce.toString(16);\n if (nonceHex === \"0\") {\n nonceHex = \"0x\";\n }\n else if (nonceHex.length % 2) {\n nonceHex = \"0x0\" + nonceHex;\n }\n else {\n nonceHex = \"0x\" + nonceHex;\n }\n return getAddress(dataSlice(keccak256(encodeRlp([from, nonceHex])), 12));\n}\n/**\n * Returns the address that would result from a ``CREATE2`` operation\n * with the given %%from%%, %%salt%% and %%initCodeHash%%.\n *\n * To compute the %%initCodeHash%% from a contract's init code, use\n * the [[keccak256]] function.\n *\n * For a quick overview and example of ``CREATE2``, see [[link-ricmoo-wisps]].\n *\n * @example\n * // The address of the contract\n * from = \"0x8ba1f109551bD432803012645Ac136ddd64DBA72\"\n *\n * // The salt\n * salt = id(\"HelloWorld\")\n *\n * // The hash of the initCode\n * initCode = \"0x6394198df16000526103ff60206004601c335afa6040516060f3\";\n * initCodeHash = keccak256(initCode)\n *\n * getCreate2Address(from, salt, initCodeHash)\n * //_result:\n */\nexport function getCreate2Address(_from, _salt, _initCodeHash) {\n const from = getAddress(_from);\n const salt = getBytes(_salt, \"salt\");\n const initCodeHash = getBytes(_initCodeHash, \"initCodeHash\");\n assertArgument(salt.length === 32, \"salt must be 32 bytes\", \"salt\", _salt);\n assertArgument(initCodeHash.length === 32, \"initCodeHash must be 32 bytes\", \"initCodeHash\", _initCodeHash);\n return getAddress(dataSlice(keccak256(concat([\"0xff\", from, salt, initCodeHash])), 12));\n}\n//# sourceMappingURL=contract-address.js.map","import { assert, assertArgument } from \"../utils/index.js\";\nimport { getAddress } from \"./address.js\";\n/**\n * Returns true if %%value%% is an object which implements the\n * [[Addressable]] interface.\n *\n * @example:\n * // Wallets and AbstractSigner sub-classes\n * isAddressable(Wallet.createRandom())\n * //_result:\n *\n * // Contracts\n * contract = new Contract(\"dai.tokens.ethers.eth\", [ ], provider)\n * isAddressable(contract)\n * //_result:\n */\nexport function isAddressable(value) {\n return (value && typeof (value.getAddress) === \"function\");\n}\n/**\n * Returns true if %%value%% is a valid address.\n *\n * @example:\n * // Valid address\n * isAddress(\"0x8ba1f109551bD432803012645Ac136ddd64DBA72\")\n * //_result:\n *\n * // Valid ICAP address\n * isAddress(\"XE65GB6LDNXYOFTX0NSV3FUWKOWIXAMJK36\")\n * //_result:\n *\n * // Invalid checksum\n * isAddress(\"0x8Ba1f109551bD432803012645Ac136ddd64DBa72\")\n * //_result:\n *\n * // Invalid ICAP checksum\n * isAddress(\"0x8Ba1f109551bD432803012645Ac136ddd64DBA72\")\n * //_result:\n *\n * // Not an address (an ENS name requires a provided and an\n * // asynchronous API to access)\n * isAddress(\"ricmoo.eth\")\n * //_result:\n */\nexport function isAddress(value) {\n try {\n getAddress(value);\n return true;\n }\n catch (error) { }\n return false;\n}\nasync function checkAddress(target, promise) {\n const result = await promise;\n if (result == null || result === \"0x0000000000000000000000000000000000000000\") {\n assert(typeof (target) !== \"string\", \"unconfigured name\", \"UNCONFIGURED_NAME\", { value: target });\n assertArgument(false, \"invalid AddressLike value; did not resolve to a value address\", \"target\", target);\n }\n return getAddress(result);\n}\n/**\n * Resolves to an address for the %%target%%, which may be any\n * supported address type, an [[Addressable]] or a Promise which\n * resolves to an address.\n *\n * If an ENS name is provided, but that name has not been correctly\n * configured a [[UnconfiguredNameError]] is thrown.\n *\n * @example:\n * addr = \"0x6B175474E89094C44Da98b954EedeAC495271d0F\"\n *\n * // Addresses are return synchronously\n * resolveAddress(addr, provider)\n * //_result:\n *\n * // Address promises are resolved asynchronously\n * resolveAddress(Promise.resolve(addr))\n * //_result:\n *\n * // ENS names are resolved asynchronously\n * resolveAddress(\"dai.tokens.ethers.eth\", provider)\n * //_result:\n *\n * // Addressable objects are resolved asynchronously\n * contract = new Contract(addr, [ ])\n * resolveAddress(contract, provider)\n * //_result:\n *\n * // Unconfigured ENS names reject\n * resolveAddress(\"nothing-here.ricmoo.eth\", provider)\n * //_error:\n *\n * // ENS names require a NameResolver object passed in\n * // (notice the provider was omitted)\n * resolveAddress(\"nothing-here.ricmoo.eth\")\n * //_error:\n */\nexport function resolveAddress(target, resolver) {\n if (typeof (target) === \"string\") {\n if (target.match(/^0x[0-9a-f]{40}$/i)) {\n return getAddress(target);\n }\n assert(resolver != null, \"ENS resolution requires a provider\", \"UNSUPPORTED_OPERATION\", { operation: \"resolveName\" });\n return checkAddress(target, resolver.resolveName(target));\n }\n else if (isAddressable(target)) {\n return checkAddress(target, target.getAddress());\n }\n else if (target && typeof (target.then) === \"function\") {\n return checkAddress(target, target);\n }\n assertArgument(false, \"unsupported addressable value\", \"target\", target);\n}\n//# sourceMappingURL=checks.js.map","/**\n * A Typed object allows a value to have its type explicitly\n * specified.\n *\n * For example, in Solidity, the value ``45`` could represent a\n * ``uint8`` or a ``uint256``. The value ``0x1234`` could represent\n * a ``bytes2`` or ``bytes``.\n *\n * Since JavaScript has no meaningful way to explicitly inform any\n * APIs which what the type is, this allows transparent interoperation\n * with Soldity.\n *\n * @_subsection: api/abi:Typed Values\n */\nimport { assertPrivate, defineProperties } from \"../utils/index.js\";\nconst _gaurd = {};\nfunction n(value, width) {\n let signed = false;\n if (width < 0) {\n signed = true;\n width *= -1;\n }\n // @TODO: Check range is valid for value\n return new Typed(_gaurd, `${signed ? \"\" : \"u\"}int${width}`, value, { signed, width });\n}\nfunction b(value, size) {\n // @TODO: Check range is valid for value\n return new Typed(_gaurd, `bytes${(size) ? size : \"\"}`, value, { size });\n}\nconst _typedSymbol = Symbol.for(\"_ethers_typed\");\n/**\n * The **Typed** class to wrap values providing explicit type information.\n */\nexport class Typed {\n /**\n * The type, as a Solidity-compatible type.\n */\n type;\n /**\n * The actual value.\n */\n value;\n #options;\n /**\n * @_ignore:\n */\n _typedSymbol;\n /**\n * @_ignore:\n */\n constructor(gaurd, type, value, options) {\n if (options == null) {\n options = null;\n }\n assertPrivate(_gaurd, gaurd, \"Typed\");\n defineProperties(this, { _typedSymbol, type, value });\n this.#options = options;\n // Check the value is valid\n this.format();\n }\n /**\n * Format the type as a Human-Readable type.\n */\n format() {\n if (this.type === \"array\") {\n throw new Error(\"\");\n }\n else if (this.type === \"dynamicArray\") {\n throw new Error(\"\");\n }\n else if (this.type === \"tuple\") {\n return `tuple(${this.value.map((v) => v.format()).join(\",\")})`;\n }\n return this.type;\n }\n /**\n * The default value returned by this type.\n */\n defaultValue() {\n return 0;\n }\n /**\n * The minimum value for numeric types.\n */\n minValue() {\n return 0;\n }\n /**\n * The maximum value for numeric types.\n */\n maxValue() {\n return 0;\n }\n /**\n * Returns ``true`` and provides a type guard is this is a [[TypedBigInt]].\n */\n isBigInt() {\n return !!(this.type.match(/^u?int[0-9]+$/));\n }\n /**\n * Returns ``true`` and provides a type guard is this is a [[TypedData]].\n */\n isData() {\n return this.type.startsWith(\"bytes\");\n }\n /**\n * Returns ``true`` and provides a type guard is this is a [[TypedString]].\n */\n isString() {\n return (this.type === \"string\");\n }\n /**\n * Returns the tuple name, if this is a tuple. Throws otherwise.\n */\n get tupleName() {\n if (this.type !== \"tuple\") {\n throw TypeError(\"not a tuple\");\n }\n return this.#options;\n }\n // Returns the length of this type as an array\n // - `null` indicates the length is unforced, it could be dynamic\n // - `-1` indicates the length is dynamic\n // - any other value indicates it is a static array and is its length\n /**\n * Returns the length of the array type or ``-1`` if it is dynamic.\n *\n * Throws if the type is not an array.\n */\n get arrayLength() {\n if (this.type !== \"array\") {\n throw TypeError(\"not an array\");\n }\n if (this.#options === true) {\n return -1;\n }\n if (this.#options === false) {\n return (this.value).length;\n }\n return null;\n }\n /**\n * Returns a new **Typed** of %%type%% with the %%value%%.\n */\n static from(type, value) {\n return new Typed(_gaurd, type, value);\n }\n /**\n * Return a new ``uint8`` type for %%v%%.\n */\n static uint8(v) { return n(v, 8); }\n /**\n * Return a new ``uint16`` type for %%v%%.\n */\n static uint16(v) { return n(v, 16); }\n /**\n * Return a new ``uint24`` type for %%v%%.\n */\n static uint24(v) { return n(v, 24); }\n /**\n * Return a new ``uint32`` type for %%v%%.\n */\n static uint32(v) { return n(v, 32); }\n /**\n * Return a new ``uint40`` type for %%v%%.\n */\n static uint40(v) { return n(v, 40); }\n /**\n * Return a new ``uint48`` type for %%v%%.\n */\n static uint48(v) { return n(v, 48); }\n /**\n * Return a new ``uint56`` type for %%v%%.\n */\n static uint56(v) { return n(v, 56); }\n /**\n * Return a new ``uint64`` type for %%v%%.\n */\n static uint64(v) { return n(v, 64); }\n /**\n * Return a new ``uint72`` type for %%v%%.\n */\n static uint72(v) { return n(v, 72); }\n /**\n * Return a new ``uint80`` type for %%v%%.\n */\n static uint80(v) { return n(v, 80); }\n /**\n * Return a new ``uint88`` type for %%v%%.\n */\n static uint88(v) { return n(v, 88); }\n /**\n * Return a new ``uint96`` type for %%v%%.\n */\n static uint96(v) { return n(v, 96); }\n /**\n * Return a new ``uint104`` type for %%v%%.\n */\n static uint104(v) { return n(v, 104); }\n /**\n * Return a new ``uint112`` type for %%v%%.\n */\n static uint112(v) { return n(v, 112); }\n /**\n * Return a new ``uint120`` type for %%v%%.\n */\n static uint120(v) { return n(v, 120); }\n /**\n * Return a new ``uint128`` type for %%v%%.\n */\n static uint128(v) { return n(v, 128); }\n /**\n * Return a new ``uint136`` type for %%v%%.\n */\n static uint136(v) { return n(v, 136); }\n /**\n * Return a new ``uint144`` type for %%v%%.\n */\n static uint144(v) { return n(v, 144); }\n /**\n * Return a new ``uint152`` type for %%v%%.\n */\n static uint152(v) { return n(v, 152); }\n /**\n * Return a new ``uint160`` type for %%v%%.\n */\n static uint160(v) { return n(v, 160); }\n /**\n * Return a new ``uint168`` type for %%v%%.\n */\n static uint168(v) { return n(v, 168); }\n /**\n * Return a new ``uint176`` type for %%v%%.\n */\n static uint176(v) { return n(v, 176); }\n /**\n * Return a new ``uint184`` type for %%v%%.\n */\n static uint184(v) { return n(v, 184); }\n /**\n * Return a new ``uint192`` type for %%v%%.\n */\n static uint192(v) { return n(v, 192); }\n /**\n * Return a new ``uint200`` type for %%v%%.\n */\n static uint200(v) { return n(v, 200); }\n /**\n * Return a new ``uint208`` type for %%v%%.\n */\n static uint208(v) { return n(v, 208); }\n /**\n * Return a new ``uint216`` type for %%v%%.\n */\n static uint216(v) { return n(v, 216); }\n /**\n * Return a new ``uint224`` type for %%v%%.\n */\n static uint224(v) { return n(v, 224); }\n /**\n * Return a new ``uint232`` type for %%v%%.\n */\n static uint232(v) { return n(v, 232); }\n /**\n * Return a new ``uint240`` type for %%v%%.\n */\n static uint240(v) { return n(v, 240); }\n /**\n * Return a new ``uint248`` type for %%v%%.\n */\n static uint248(v) { return n(v, 248); }\n /**\n * Return a new ``uint256`` type for %%v%%.\n */\n static uint256(v) { return n(v, 256); }\n /**\n * Return a new ``uint256`` type for %%v%%.\n */\n static uint(v) { return n(v, 256); }\n /**\n * Return a new ``int8`` type for %%v%%.\n */\n static int8(v) { return n(v, -8); }\n /**\n * Return a new ``int16`` type for %%v%%.\n */\n static int16(v) { return n(v, -16); }\n /**\n * Return a new ``int24`` type for %%v%%.\n */\n static int24(v) { return n(v, -24); }\n /**\n * Return a new ``int32`` type for %%v%%.\n */\n static int32(v) { return n(v, -32); }\n /**\n * Return a new ``int40`` type for %%v%%.\n */\n static int40(v) { return n(v, -40); }\n /**\n * Return a new ``int48`` type for %%v%%.\n */\n static int48(v) { return n(v, -48); }\n /**\n * Return a new ``int56`` type for %%v%%.\n */\n static int56(v) { return n(v, -56); }\n /**\n * Return a new ``int64`` type for %%v%%.\n */\n static int64(v) { return n(v, -64); }\n /**\n * Return a new ``int72`` type for %%v%%.\n */\n static int72(v) { return n(v, -72); }\n /**\n * Return a new ``int80`` type for %%v%%.\n */\n static int80(v) { return n(v, -80); }\n /**\n * Return a new ``int88`` type for %%v%%.\n */\n static int88(v) { return n(v, -88); }\n /**\n * Return a new ``int96`` type for %%v%%.\n */\n static int96(v) { return n(v, -96); }\n /**\n * Return a new ``int104`` type for %%v%%.\n */\n static int104(v) { return n(v, -104); }\n /**\n * Return a new ``int112`` type for %%v%%.\n */\n static int112(v) { return n(v, -112); }\n /**\n * Return a new ``int120`` type for %%v%%.\n */\n static int120(v) { return n(v, -120); }\n /**\n * Return a new ``int128`` type for %%v%%.\n */\n static int128(v) { return n(v, -128); }\n /**\n * Return a new ``int136`` type for %%v%%.\n */\n static int136(v) { return n(v, -136); }\n /**\n * Return a new ``int144`` type for %%v%%.\n */\n static int144(v) { return n(v, -144); }\n /**\n * Return a new ``int52`` type for %%v%%.\n */\n static int152(v) { return n(v, -152); }\n /**\n * Return a new ``int160`` type for %%v%%.\n */\n static int160(v) { return n(v, -160); }\n /**\n * Return a new ``int168`` type for %%v%%.\n */\n static int168(v) { return n(v, -168); }\n /**\n * Return a new ``int176`` type for %%v%%.\n */\n static int176(v) { return n(v, -176); }\n /**\n * Return a new ``int184`` type for %%v%%.\n */\n static int184(v) { return n(v, -184); }\n /**\n * Return a new ``int92`` type for %%v%%.\n */\n static int192(v) { return n(v, -192); }\n /**\n * Return a new ``int200`` type for %%v%%.\n */\n static int200(v) { return n(v, -200); }\n /**\n * Return a new ``int208`` type for %%v%%.\n */\n static int208(v) { return n(v, -208); }\n /**\n * Return a new ``int216`` type for %%v%%.\n */\n static int216(v) { return n(v, -216); }\n /**\n * Return a new ``int224`` type for %%v%%.\n */\n static int224(v) { return n(v, -224); }\n /**\n * Return a new ``int232`` type for %%v%%.\n */\n static int232(v) { return n(v, -232); }\n /**\n * Return a new ``int240`` type for %%v%%.\n */\n static int240(v) { return n(v, -240); }\n /**\n * Return a new ``int248`` type for %%v%%.\n */\n static int248(v) { return n(v, -248); }\n /**\n * Return a new ``int256`` type for %%v%%.\n */\n static int256(v) { return n(v, -256); }\n /**\n * Return a new ``int256`` type for %%v%%.\n */\n static int(v) { return n(v, -256); }\n /**\n * Return a new ``bytes1`` type for %%v%%.\n */\n static bytes1(v) { return b(v, 1); }\n /**\n * Return a new ``bytes2`` type for %%v%%.\n */\n static bytes2(v) { return b(v, 2); }\n /**\n * Return a new ``bytes3`` type for %%v%%.\n */\n static bytes3(v) { return b(v, 3); }\n /**\n * Return a new ``bytes4`` type for %%v%%.\n */\n static bytes4(v) { return b(v, 4); }\n /**\n * Return a new ``bytes5`` type for %%v%%.\n */\n static bytes5(v) { return b(v, 5); }\n /**\n * Return a new ``bytes6`` type for %%v%%.\n */\n static bytes6(v) { return b(v, 6); }\n /**\n * Return a new ``bytes7`` type for %%v%%.\n */\n static bytes7(v) { return b(v, 7); }\n /**\n * Return a new ``bytes8`` type for %%v%%.\n */\n static bytes8(v) { return b(v, 8); }\n /**\n * Return a new ``bytes9`` type for %%v%%.\n */\n static bytes9(v) { return b(v, 9); }\n /**\n * Return a new ``bytes10`` type for %%v%%.\n */\n static bytes10(v) { return b(v, 10); }\n /**\n * Return a new ``bytes11`` type for %%v%%.\n */\n static bytes11(v) { return b(v, 11); }\n /**\n * Return a new ``bytes12`` type for %%v%%.\n */\n static bytes12(v) { return b(v, 12); }\n /**\n * Return a new ``bytes13`` type for %%v%%.\n */\n static bytes13(v) { return b(v, 13); }\n /**\n * Return a new ``bytes14`` type for %%v%%.\n */\n static bytes14(v) { return b(v, 14); }\n /**\n * Return a new ``bytes15`` type for %%v%%.\n */\n static bytes15(v) { return b(v, 15); }\n /**\n * Return a new ``bytes16`` type for %%v%%.\n */\n static bytes16(v) { return b(v, 16); }\n /**\n * Return a new ``bytes17`` type for %%v%%.\n */\n static bytes17(v) { return b(v, 17); }\n /**\n * Return a new ``bytes18`` type for %%v%%.\n */\n static bytes18(v) { return b(v, 18); }\n /**\n * Return a new ``bytes19`` type for %%v%%.\n */\n static bytes19(v) { return b(v, 19); }\n /**\n * Return a new ``bytes20`` type for %%v%%.\n */\n static bytes20(v) { return b(v, 20); }\n /**\n * Return a new ``bytes21`` type for %%v%%.\n */\n static bytes21(v) { return b(v, 21); }\n /**\n * Return a new ``bytes22`` type for %%v%%.\n */\n static bytes22(v) { return b(v, 22); }\n /**\n * Return a new ``bytes23`` type for %%v%%.\n */\n static bytes23(v) { return b(v, 23); }\n /**\n * Return a new ``bytes24`` type for %%v%%.\n */\n static bytes24(v) { return b(v, 24); }\n /**\n * Return a new ``bytes25`` type for %%v%%.\n */\n static bytes25(v) { return b(v, 25); }\n /**\n * Return a new ``bytes26`` type for %%v%%.\n */\n static bytes26(v) { return b(v, 26); }\n /**\n * Return a new ``bytes27`` type for %%v%%.\n */\n static bytes27(v) { return b(v, 27); }\n /**\n * Return a new ``bytes28`` type for %%v%%.\n */\n static bytes28(v) { return b(v, 28); }\n /**\n * Return a new ``bytes29`` type for %%v%%.\n */\n static bytes29(v) { return b(v, 29); }\n /**\n * Return a new ``bytes30`` type for %%v%%.\n */\n static bytes30(v) { return b(v, 30); }\n /**\n * Return a new ``bytes31`` type for %%v%%.\n */\n static bytes31(v) { return b(v, 31); }\n /**\n * Return a new ``bytes32`` type for %%v%%.\n */\n static bytes32(v) { return b(v, 32); }\n /**\n * Return a new ``address`` type for %%v%%.\n */\n static address(v) { return new Typed(_gaurd, \"address\", v); }\n /**\n * Return a new ``bool`` type for %%v%%.\n */\n static bool(v) { return new Typed(_gaurd, \"bool\", !!v); }\n /**\n * Return a new ``bytes`` type for %%v%%.\n */\n static bytes(v) { return new Typed(_gaurd, \"bytes\", v); }\n /**\n * Return a new ``string`` type for %%v%%.\n */\n static string(v) { return new Typed(_gaurd, \"string\", v); }\n /**\n * Return a new ``array`` type for %%v%%, allowing %%dynamic%% length.\n */\n static array(v, dynamic) {\n throw new Error(\"not implemented yet\");\n return new Typed(_gaurd, \"array\", v, dynamic);\n }\n /**\n * Return a new ``tuple`` type for %%v%%, with the optional %%name%%.\n */\n static tuple(v, name) {\n throw new Error(\"not implemented yet\");\n return new Typed(_gaurd, \"tuple\", v, name);\n }\n /**\n * Return a new ``uint8`` type for %%v%%.\n */\n static overrides(v) {\n return new Typed(_gaurd, \"overrides\", Object.assign({}, v));\n }\n /**\n * Returns true only if %%value%% is a [[Typed]] instance.\n */\n static isTyped(value) {\n return (value\n && typeof (value) === \"object\"\n && \"_typedSymbol\" in value\n && value._typedSymbol === _typedSymbol);\n }\n /**\n * If the value is a [[Typed]] instance, validates the underlying value\n * and returns it, otherwise returns value directly.\n *\n * This is useful for functions that with to accept either a [[Typed]]\n * object or values.\n */\n static dereference(value, type) {\n if (Typed.isTyped(value)) {\n if (value.type !== type) {\n throw new Error(`invalid type: expecetd ${type}, got ${value.type}`);\n }\n return value.value;\n }\n return value;\n }\n}\n//# sourceMappingURL=typed.js.map","import { getAddress } from \"../../address/index.js\";\nimport { toBeHex } from \"../../utils/maths.js\";\nimport { Typed } from \"../typed.js\";\nimport { Coder } from \"./abstract-coder.js\";\n/**\n * @_ignore\n */\nexport class AddressCoder extends Coder {\n constructor(localName) {\n super(\"address\", \"address\", localName, false);\n }\n defaultValue() {\n return \"0x0000000000000000000000000000000000000000\";\n }\n encode(writer, _value) {\n let value = Typed.dereference(_value, \"string\");\n try {\n value = getAddress(value);\n }\n catch (error) {\n return this._throwError(error.message, _value);\n }\n return writer.writeValue(value);\n }\n decode(reader) {\n return getAddress(toBeHex(reader.readValue(), 20));\n }\n}\n//# sourceMappingURL=address.js.map","import { Coder } from \"./abstract-coder.js\";\n/**\n * Clones the functionality of an existing Coder, but without a localName\n *\n * @_ignore\n */\nexport class AnonymousCoder extends Coder {\n coder;\n constructor(coder) {\n super(coder.name, coder.type, \"_\", coder.dynamic);\n this.coder = coder;\n }\n defaultValue() {\n return this.coder.defaultValue();\n }\n encode(writer, value) {\n return this.coder.encode(writer, value);\n }\n decode(reader) {\n return this.coder.decode(reader);\n }\n}\n//# sourceMappingURL=anonymous.js.map","import { defineProperties, isError, assert, assertArgument, assertArgumentCount } from \"../../utils/index.js\";\nimport { Typed } from \"../typed.js\";\nimport { Coder, Result, WordSize, Writer } from \"./abstract-coder.js\";\nimport { AnonymousCoder } from \"./anonymous.js\";\n/**\n * @_ignore\n */\nexport function pack(writer, coders, values) {\n let arrayValues = [];\n if (Array.isArray(values)) {\n arrayValues = values;\n }\n else if (values && typeof (values) === \"object\") {\n let unique = {};\n arrayValues = coders.map((coder) => {\n const name = coder.localName;\n assert(name, \"cannot encode object for signature with missing names\", \"INVALID_ARGUMENT\", { argument: \"values\", info: { coder }, value: values });\n assert(!unique[name], \"cannot encode object for signature with duplicate names\", \"INVALID_ARGUMENT\", { argument: \"values\", info: { coder }, value: values });\n unique[name] = true;\n return values[name];\n });\n }\n else {\n assertArgument(false, \"invalid tuple value\", \"tuple\", values);\n }\n assertArgument(coders.length === arrayValues.length, \"types/value length mismatch\", \"tuple\", values);\n let staticWriter = new Writer();\n let dynamicWriter = new Writer();\n let updateFuncs = [];\n coders.forEach((coder, index) => {\n let value = arrayValues[index];\n if (coder.dynamic) {\n // Get current dynamic offset (for the future pointer)\n let dynamicOffset = dynamicWriter.length;\n // Encode the dynamic value into the dynamicWriter\n coder.encode(dynamicWriter, value);\n // Prepare to populate the correct offset once we are done\n let updateFunc = staticWriter.writeUpdatableValue();\n updateFuncs.push((baseOffset) => {\n updateFunc(baseOffset + dynamicOffset);\n });\n }\n else {\n coder.encode(staticWriter, value);\n }\n });\n // Backfill all the dynamic offsets, now that we know the static length\n updateFuncs.forEach((func) => { func(staticWriter.length); });\n let length = writer.appendWriter(staticWriter);\n length += writer.appendWriter(dynamicWriter);\n return length;\n}\n/**\n * @_ignore\n */\nexport function unpack(reader, coders) {\n let values = [];\n let keys = [];\n // A reader anchored to this base\n let baseReader = reader.subReader(0);\n coders.forEach((coder) => {\n let value = null;\n if (coder.dynamic) {\n let offset = reader.readIndex();\n let offsetReader = baseReader.subReader(offset);\n try {\n value = coder.decode(offsetReader);\n }\n catch (error) {\n // Cannot recover from this\n if (isError(error, \"BUFFER_OVERRUN\")) {\n throw error;\n }\n value = error;\n value.baseType = coder.name;\n value.name = coder.localName;\n value.type = coder.type;\n }\n }\n else {\n try {\n value = coder.decode(reader);\n }\n catch (error) {\n // Cannot recover from this\n if (isError(error, \"BUFFER_OVERRUN\")) {\n throw error;\n }\n value = error;\n value.baseType = coder.name;\n value.name = coder.localName;\n value.type = coder.type;\n }\n }\n if (value == undefined) {\n throw new Error(\"investigate\");\n }\n values.push(value);\n keys.push(coder.localName || null);\n });\n return Result.fromItems(values, keys);\n}\n/**\n * @_ignore\n */\nexport class ArrayCoder extends Coder {\n coder;\n length;\n constructor(coder, length, localName) {\n const type = (coder.type + \"[\" + (length >= 0 ? length : \"\") + \"]\");\n const dynamic = (length === -1 || coder.dynamic);\n super(\"array\", type, localName, dynamic);\n defineProperties(this, { coder, length });\n }\n defaultValue() {\n // Verifies the child coder is valid (even if the array is dynamic or 0-length)\n const defaultChild = this.coder.defaultValue();\n const result = [];\n for (let i = 0; i < this.length; i++) {\n result.push(defaultChild);\n }\n return result;\n }\n encode(writer, _value) {\n const value = Typed.dereference(_value, \"array\");\n if (!Array.isArray(value)) {\n this._throwError(\"expected array value\", value);\n }\n let count = this.length;\n if (count === -1) {\n count = value.length;\n writer.writeValue(value.length);\n }\n assertArgumentCount(value.length, count, \"coder array\" + (this.localName ? (\" \" + this.localName) : \"\"));\n let coders = [];\n for (let i = 0; i < value.length; i++) {\n coders.push(this.coder);\n }\n return pack(writer, coders, value);\n }\n decode(reader) {\n let count = this.length;\n if (count === -1) {\n count = reader.readIndex();\n // Check that there is *roughly* enough data to ensure\n // stray random data is not being read as a length. Each\n // slot requires at least 32 bytes for their value (or 32\n // bytes as a link to the data). This could use a much\n // tighter bound, but we are erroring on the side of safety.\n assert(count * WordSize <= reader.dataLength, \"insufficient data length\", \"BUFFER_OVERRUN\", { buffer: reader.bytes, offset: count * WordSize, length: reader.dataLength });\n }\n let coders = [];\n for (let i = 0; i < count; i++) {\n coders.push(new AnonymousCoder(this.coder));\n }\n return unpack(reader, coders);\n }\n}\n//# sourceMappingURL=array.js.map","import { Typed } from \"../typed.js\";\nimport { Coder } from \"./abstract-coder.js\";\n/**\n * @_ignore\n */\nexport class BooleanCoder extends Coder {\n constructor(localName) {\n super(\"bool\", \"bool\", localName, false);\n }\n defaultValue() {\n return false;\n }\n encode(writer, _value) {\n const value = Typed.dereference(_value, \"bool\");\n return writer.writeValue(value ? 1 : 0);\n }\n decode(reader) {\n return !!reader.readValue();\n }\n}\n//# sourceMappingURL=boolean.js.map","import { getBytesCopy, hexlify } from \"../../utils/index.js\";\nimport { Coder } from \"./abstract-coder.js\";\n/**\n * @_ignore\n */\nexport class DynamicBytesCoder extends Coder {\n constructor(type, localName) {\n super(type, type, localName, true);\n }\n defaultValue() {\n return \"0x\";\n }\n encode(writer, value) {\n value = getBytesCopy(value);\n let length = writer.writeValue(value.length);\n length += writer.writeBytes(value);\n return length;\n }\n decode(reader) {\n return reader.readBytes(reader.readIndex(), true);\n }\n}\n/**\n * @_ignore\n */\nexport class BytesCoder extends DynamicBytesCoder {\n constructor(localName) {\n super(\"bytes\", localName);\n }\n decode(reader) {\n return hexlify(super.decode(reader));\n }\n}\n//# sourceMappingURL=bytes.js.map","import { defineProperties, getBytesCopy, hexlify } from \"../../utils/index.js\";\nimport { Typed } from \"../typed.js\";\nimport { Coder } from \"./abstract-coder.js\";\n/**\n * @_ignore\n */\nexport class FixedBytesCoder extends Coder {\n size;\n constructor(size, localName) {\n let name = \"bytes\" + String(size);\n super(name, name, localName, false);\n defineProperties(this, { size }, { size: \"number\" });\n }\n defaultValue() {\n return (\"0x0000000000000000000000000000000000000000000000000000000000000000\").substring(0, 2 + this.size * 2);\n }\n encode(writer, _value) {\n let data = getBytesCopy(Typed.dereference(_value, this.type));\n if (data.length !== this.size) {\n this._throwError(\"incorrect data length\", _value);\n }\n return writer.writeBytes(data);\n }\n decode(reader) {\n return hexlify(reader.readBytes(this.size));\n }\n}\n//# sourceMappingURL=fixed-bytes.js.map","import { Coder } from \"./abstract-coder.js\";\nconst Empty = new Uint8Array([]);\n/**\n * @_ignore\n */\nexport class NullCoder extends Coder {\n constructor(localName) {\n super(\"null\", \"\", localName, false);\n }\n defaultValue() {\n return null;\n }\n encode(writer, value) {\n if (value != null) {\n this._throwError(\"not null\", value);\n }\n return writer.writeBytes(Empty);\n }\n decode(reader) {\n reader.readBytes(0);\n return null;\n }\n}\n//# sourceMappingURL=null.js.map","import { defineProperties, fromTwos, getBigInt, mask, toTwos } from \"../../utils/index.js\";\nimport { Typed } from \"../typed.js\";\nimport { Coder, WordSize } from \"./abstract-coder.js\";\nconst BN_0 = BigInt(0);\nconst BN_1 = BigInt(1);\nconst BN_MAX_UINT256 = BigInt(\"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\");\n/**\n * @_ignore\n */\nexport class NumberCoder extends Coder {\n size;\n signed;\n constructor(size, signed, localName) {\n const name = ((signed ? \"int\" : \"uint\") + (size * 8));\n super(name, name, localName, false);\n defineProperties(this, { size, signed }, { size: \"number\", signed: \"boolean\" });\n }\n defaultValue() {\n return 0;\n }\n encode(writer, _value) {\n let value = getBigInt(Typed.dereference(_value, this.type));\n // Check bounds are safe for encoding\n let maxUintValue = mask(BN_MAX_UINT256, WordSize * 8);\n if (this.signed) {\n let bounds = mask(maxUintValue, (this.size * 8) - 1);\n if (value > bounds || value < -(bounds + BN_1)) {\n this._throwError(\"value out-of-bounds\", _value);\n }\n value = toTwos(value, 8 * WordSize);\n }\n else if (value < BN_0 || value > mask(maxUintValue, this.size * 8)) {\n this._throwError(\"value out-of-bounds\", _value);\n }\n return writer.writeValue(value);\n }\n decode(reader) {\n let value = mask(reader.readValue(), this.size * 8);\n if (this.signed) {\n value = fromTwos(value, this.size * 8);\n }\n return value;\n }\n}\n//# sourceMappingURL=number.js.map","import { toUtf8Bytes, toUtf8String } from \"../../utils/utf8.js\";\nimport { Typed } from \"../typed.js\";\nimport { DynamicBytesCoder } from \"./bytes.js\";\n/**\n * @_ignore\n */\nexport class StringCoder extends DynamicBytesCoder {\n constructor(localName) {\n super(\"string\", localName);\n }\n defaultValue() {\n return \"\";\n }\n encode(writer, _value) {\n return super.encode(writer, toUtf8Bytes(Typed.dereference(_value, \"string\")));\n }\n decode(reader) {\n return toUtf8String(super.decode(reader));\n }\n}\n//# sourceMappingURL=string.js.map","import { defineProperties } from \"../../utils/properties.js\";\nimport { Typed } from \"../typed.js\";\nimport { Coder } from \"./abstract-coder.js\";\nimport { pack, unpack } from \"./array.js\";\n/**\n * @_ignore\n */\nexport class TupleCoder extends Coder {\n coders;\n constructor(coders, localName) {\n let dynamic = false;\n const types = [];\n coders.forEach((coder) => {\n if (coder.dynamic) {\n dynamic = true;\n }\n types.push(coder.type);\n });\n const type = (\"tuple(\" + types.join(\",\") + \")\");\n super(\"tuple\", type, localName, dynamic);\n defineProperties(this, { coders: Object.freeze(coders.slice()) });\n }\n defaultValue() {\n const values = [];\n this.coders.forEach((coder) => {\n values.push(coder.defaultValue());\n });\n // We only output named properties for uniquely named coders\n const uniqueNames = this.coders.reduce((accum, coder) => {\n const name = coder.localName;\n if (name) {\n if (!accum[name]) {\n accum[name] = 0;\n }\n accum[name]++;\n }\n return accum;\n }, {});\n // Add named values\n this.coders.forEach((coder, index) => {\n let name = coder.localName;\n if (!name || uniqueNames[name] !== 1) {\n return;\n }\n if (name === \"length\") {\n name = \"_length\";\n }\n if (values[name] != null) {\n return;\n }\n values[name] = values[index];\n });\n return Object.freeze(values);\n }\n encode(writer, _value) {\n const value = Typed.dereference(_value, \"tuple\");\n return pack(writer, this.coders, value);\n }\n decode(reader) {\n return unpack(reader, this.coders);\n }\n}\n//# sourceMappingURL=tuple.js.map","import { keccak256 } from \"../crypto/index.js\";\nimport { toUtf8Bytes } from \"../utils/index.js\";\n/**\n * A simple hashing function which operates on UTF-8 strings to\n * compute an 32-byte identifier.\n *\n * This simply computes the [UTF-8 bytes](toUtf8Bytes) and computes\n * the [[keccak256]].\n *\n * @example:\n * id(\"hello world\")\n * //_result:\n */\nexport function id(value) {\n return keccak256(toUtf8Bytes(value));\n}\n//# sourceMappingURL=id.js.map","// created 2023-09-25T01:01:55.148Z\n// compressed base64-encoded blob for include-ens data\n// source: https://github.com/adraffy/ens-normalize.js/blob/main/src/make.js\n// see: https://github.com/adraffy/ens-normalize.js#security\n// SHA-256: 0565ed049b9cf1614bb9e11ba7d8ac6a6fb96c893253d890f7e2b2884b9ded32\nvar COMPRESSED$1 = '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';\nconst FENCED = new Map([[8217,\"apostrophe\"],[8260,\"fraction slash\"],[12539,\"middle dot\"]]);\nconst NSM_MAX = 4;\n\nfunction decode_arithmetic(bytes) {\r\n\tlet pos = 0;\r\n\tfunction u16() { return (bytes[pos++] << 8) | bytes[pos++]; }\r\n\t\r\n\t// decode the frequency table\r\n\tlet symbol_count = u16();\r\n\tlet total = 1;\r\n\tlet acc = [0, 1]; // first symbol has frequency 1\r\n\tfor (let i = 1; i < symbol_count; i++) {\r\n\t\tacc.push(total += u16());\r\n\t}\r\n\r\n\t// skip the sized-payload that the last 3 symbols index into\r\n\tlet skip = u16();\r\n\tlet pos_payload = pos;\r\n\tpos += skip;\r\n\r\n\tlet read_width = 0;\r\n\tlet read_buffer = 0; \r\n\tfunction read_bit() {\r\n\t\tif (read_width == 0) {\r\n\t\t\t// this will read beyond end of buffer\r\n\t\t\t// but (undefined|0) => zero pad\r\n\t\t\tread_buffer = (read_buffer << 8) | bytes[pos++];\r\n\t\t\tread_width = 8;\r\n\t\t}\r\n\t\treturn (read_buffer >> --read_width) & 1;\r\n\t}\r\n\r\n\tconst N = 31;\r\n\tconst FULL = 2**N;\r\n\tconst HALF = FULL >>> 1;\r\n\tconst QRTR = HALF >> 1;\r\n\tconst MASK = FULL - 1;\r\n\r\n\t// fill register\r\n\tlet register = 0;\r\n\tfor (let i = 0; i < N; i++) register = (register << 1) | read_bit();\r\n\r\n\tlet symbols = [];\r\n\tlet low = 0;\r\n\tlet range = FULL; // treat like a float\r\n\twhile (true) {\r\n\t\tlet value = Math.floor((((register - low + 1) * total) - 1) / range);\r\n\t\tlet start = 0;\r\n\t\tlet end = symbol_count;\r\n\t\twhile (end - start > 1) { // binary search\r\n\t\t\tlet mid = (start + end) >>> 1;\r\n\t\t\tif (value < acc[mid]) {\r\n\t\t\t\tend = mid;\r\n\t\t\t} else {\r\n\t\t\t\tstart = mid;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (start == 0) break; // first symbol is end mark\r\n\t\tsymbols.push(start);\r\n\t\tlet a = low + Math.floor(range * acc[start] / total);\r\n\t\tlet b = low + Math.floor(range * acc[start+1] / total) - 1;\r\n\t\twhile (((a ^ b) & HALF) == 0) {\r\n\t\t\tregister = (register << 1) & MASK | read_bit();\r\n\t\t\ta = (a << 1) & MASK;\r\n\t\t\tb = (b << 1) & MASK | 1;\r\n\t\t}\r\n\t\twhile (a & ~b & QRTR) {\r\n\t\t\tregister = (register & HALF) | ((register << 1) & (MASK >>> 1)) | read_bit();\r\n\t\t\ta = (a << 1) ^ HALF;\r\n\t\t\tb = ((b ^ HALF) << 1) | HALF | 1;\r\n\t\t}\r\n\t\tlow = a;\r\n\t\trange = 1 + b - a;\r\n\t}\r\n\tlet offset = symbol_count - 4;\r\n\treturn symbols.map(x => { // index into payload\r\n\t\tswitch (x - offset) {\r\n\t\t\tcase 3: return offset + 0x10100 + ((bytes[pos_payload++] << 16) | (bytes[pos_payload++] << 8) | bytes[pos_payload++]);\r\n\t\t\tcase 2: return offset + 0x100 + ((bytes[pos_payload++] << 8) | bytes[pos_payload++]);\r\n\t\t\tcase 1: return offset + bytes[pos_payload++];\r\n\t\t\tdefault: return x - 1;\r\n\t\t}\r\n\t});\r\n}\t\r\n\r\n// returns an iterator which returns the next symbol\r\nfunction read_payload(v) {\r\n\tlet pos = 0;\r\n\treturn () => v[pos++];\r\n}\r\nfunction read_compressed_payload(s) {\r\n\treturn read_payload(decode_arithmetic(unsafe_atob(s)));\r\n}\r\n\r\n// unsafe in the sense:\r\n// expected well-formed Base64 w/o padding \r\n// 20220922: added for https://github.com/adraffy/ens-normalize.js/issues/4\r\nfunction unsafe_atob(s) {\r\n\tlet lookup = [];\r\n\t[...'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'].forEach((c, i) => lookup[c.charCodeAt(0)] = i);\r\n\tlet n = s.length;\r\n\tlet ret = new Uint8Array((6 * n) >> 3);\r\n\tfor (let i = 0, pos = 0, width = 0, carry = 0; i < n; i++) {\r\n\t\tcarry = (carry << 6) | lookup[s.charCodeAt(i)];\r\n\t\twidth += 6;\r\n\t\tif (width >= 8) {\r\n\t\t\tret[pos++] = (carry >> (width -= 8));\r\n\t\t}\r\n\t}\r\n\treturn ret;\r\n}\r\n\r\n// eg. [0,1,2,3...] => [0,-1,1,-2,...]\r\nfunction signed(i) { \r\n\treturn (i & 1) ? (~i >> 1) : (i >> 1);\r\n}\r\n\r\nfunction read_deltas(n, next) {\r\n\tlet v = Array(n);\r\n\tfor (let i = 0, x = 0; i < n; i++) v[i] = x += signed(next());\r\n\treturn v;\r\n}\r\n\r\n// [123][5] => [0 3] [1 1] [0 0]\r\nfunction read_sorted(next, prev = 0) {\r\n\tlet ret = [];\r\n\twhile (true) {\r\n\t\tlet x = next();\r\n\t\tlet n = next();\r\n\t\tif (!n) break;\r\n\t\tprev += x;\r\n\t\tfor (let i = 0; i < n; i++) {\r\n\t\t\tret.push(prev + i);\r\n\t\t}\r\n\t\tprev += n + 1;\r\n\t}\r\n\treturn ret;\r\n}\r\n\r\nfunction read_sorted_arrays(next) {\r\n\treturn read_array_while(() => { \r\n\t\tlet v = read_sorted(next);\r\n\t\tif (v.length) return v;\r\n\t});\r\n}\r\n\r\n// returns map of x => ys\r\nfunction read_mapped(next) {\r\n\tlet ret = [];\r\n\twhile (true) {\r\n\t\tlet w = next();\r\n\t\tif (w == 0) break;\r\n\t\tret.push(read_linear_table(w, next));\r\n\t}\r\n\twhile (true) {\r\n\t\tlet w = next() - 1;\r\n\t\tif (w < 0) break;\r\n\t\tret.push(read_replacement_table(w, next));\r\n\t}\r\n\treturn ret.flat();\r\n}\r\n\r\n// read until next is falsy\r\n// return array of read values\r\nfunction read_array_while(next) {\r\n\tlet v = [];\r\n\twhile (true) {\r\n\t\tlet x = next(v.length);\r\n\t\tif (!x) break;\r\n\t\tv.push(x);\r\n\t}\r\n\treturn v;\r\n}\r\n\r\n// read w columns of length n\r\n// return as n rows of length w\r\nfunction read_transposed(n, w, next) {\r\n\tlet m = Array(n).fill().map(() => []);\r\n\tfor (let i = 0; i < w; i++) {\r\n\t\tread_deltas(n, next).forEach((x, j) => m[j].push(x));\r\n\t}\r\n\treturn m;\r\n}\r\n \r\n// returns [[x, ys], [x+dx, ys+dy], [x+2*dx, ys+2*dy], ...]\r\n// where dx/dy = steps, n = run size, w = length of y\r\nfunction read_linear_table(w, next) {\r\n\tlet dx = 1 + next();\r\n\tlet dy = next();\r\n\tlet vN = read_array_while(next);\r\n\tlet m = read_transposed(vN.length, 1+w, next);\r\n\treturn m.flatMap((v, i) => {\r\n\t\tlet [x, ...ys] = v;\r\n\t\treturn Array(vN[i]).fill().map((_, j) => {\r\n\t\t\tlet j_dy = j * dy;\r\n\t\t\treturn [x + j * dx, ys.map(y => y + j_dy)];\r\n\t\t});\r\n\t});\r\n}\r\n\r\n// return [[x, ys...], ...]\r\n// where w = length of y\r\nfunction read_replacement_table(w, next) { \r\n\tlet n = 1 + next();\r\n\tlet m = read_transposed(n, 1+w, next);\r\n\treturn m.map(v => [v[0], v.slice(1)]);\r\n}\r\n\r\n\r\nfunction read_trie(next) {\r\n\tlet ret = [];\r\n\tlet sorted = read_sorted(next); \r\n\texpand(decode([]), []);\r\n\treturn ret; // not sorted\r\n\tfunction decode(Q) { // characters that lead into this node\r\n\t\tlet S = next(); // state: valid, save, check\r\n\t\tlet B = read_array_while(() => { // buckets leading to new nodes\r\n\t\t\tlet cps = read_sorted(next).map(i => sorted[i]);\r\n\t\t\tif (cps.length) return decode(cps);\r\n\t\t});\r\n\t\treturn {S, B, Q};\r\n\t}\r\n\tfunction expand({S, B}, cps, saved) {\r\n\t\tif (S & 4 && saved === cps[cps.length-1]) return;\r\n\t\tif (S & 2) saved = cps[cps.length-1];\r\n\t\tif (S & 1) ret.push(cps); \r\n\t\tfor (let br of B) {\r\n\t\t\tfor (let cp of br.Q) {\r\n\t\t\t\texpand(br, [...cps, cp], saved);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\n\nfunction hex_cp(cp) {\r\n\treturn cp.toString(16).toUpperCase().padStart(2, '0');\r\n}\r\n\r\nfunction quote_cp(cp) {\r\n\treturn `{${hex_cp(cp)}}`; // raffy convention: like \"\\u{X}\" w/o the \"\\u\"\r\n}\r\n\r\n/*\r\nexport function explode_cp(s) {\r\n\treturn [...s].map(c => c.codePointAt(0));\r\n}\r\n*/\r\nfunction explode_cp(s) { // this is about 2x faster\r\n\tlet cps = [];\r\n\tfor (let pos = 0, len = s.length; pos < len; ) {\r\n\t\tlet cp = s.codePointAt(pos);\r\n\t\tpos += cp < 0x10000 ? 1 : 2;\r\n\t\tcps.push(cp);\r\n\t}\r\n\treturn cps;\r\n}\r\n\r\nfunction str_from_cps(cps) {\r\n\tconst chunk = 4096;\r\n\tlet len = cps.length;\r\n\tif (len < chunk) return String.fromCodePoint(...cps);\r\n\tlet buf = [];\r\n\tfor (let i = 0; i < len; ) {\r\n\t\tbuf.push(String.fromCodePoint(...cps.slice(i, i += chunk)));\r\n\t}\r\n\treturn buf.join('');\r\n}\r\n\r\nfunction compare_arrays(a, b) {\r\n\tlet n = a.length;\r\n\tlet c = n - b.length;\r\n\tfor (let i = 0; c == 0 && i < n; i++) c = a[i] - b[i];\r\n\treturn c;\r\n}\n\n// created 2023-09-25T01:01:55.148Z\n// compressed base64-encoded blob for include-nf data\n// source: https://github.com/adraffy/ens-normalize.js/blob/main/src/make.js\n// see: https://github.com/adraffy/ens-normalize.js#security\n// SHA-256: a974b6f8541fc29d919bc85118af0a44015851fab5343f8679cb31be2bdb209e\nvar COMPRESSED = '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';\n\n// https://unicode.org/reports/tr15/\r\n// for reference implementation\r\n// see: /derive/nf.js\r\n\r\n\r\n// algorithmic hangul\r\n// https://www.unicode.org/versions/Unicode15.0.0/ch03.pdf (page 144)\r\nconst S0 = 0xAC00;\r\nconst L0 = 0x1100;\r\nconst V0 = 0x1161;\r\nconst T0 = 0x11A7;\r\nconst L_COUNT = 19;\r\nconst V_COUNT = 21;\r\nconst T_COUNT = 28;\r\nconst N_COUNT = V_COUNT * T_COUNT;\r\nconst S_COUNT = L_COUNT * N_COUNT;\r\nconst S1 = S0 + S_COUNT;\r\nconst L1 = L0 + L_COUNT;\r\nconst V1 = V0 + V_COUNT;\r\nconst T1 = T0 + T_COUNT;\r\n\r\nfunction unpack_cc(packed) {\r\n\treturn (packed >> 24) & 0xFF;\r\n}\r\nfunction unpack_cp(packed) {\r\n\treturn packed & 0xFFFFFF;\r\n}\r\n\r\nlet SHIFTED_RANK, EXCLUSIONS, DECOMP, RECOMP;\r\n\r\nfunction init$1() {\r\n\t//console.time('nf');\r\n\tlet r = read_compressed_payload(COMPRESSED);\r\n\tSHIFTED_RANK = new Map(read_sorted_arrays(r).flatMap((v, i) => v.map(x => [x, (i+1) << 24]))); // pre-shifted\r\n\tEXCLUSIONS = new Set(read_sorted(r));\r\n\tDECOMP = new Map();\r\n\tRECOMP = new Map();\r\n\tfor (let [cp, cps] of read_mapped(r)) {\r\n\t\tif (!EXCLUSIONS.has(cp) && cps.length == 2) {\r\n\t\t\tlet [a, b] = cps;\r\n\t\t\tlet bucket = RECOMP.get(a);\r\n\t\t\tif (!bucket) {\r\n\t\t\t\tbucket = new Map();\r\n\t\t\t\tRECOMP.set(a, bucket);\r\n\t\t\t}\r\n\t\t\tbucket.set(b, cp);\r\n\t\t}\r\n\t\tDECOMP.set(cp, cps.reverse()); // stored reversed\r\n\t}\r\n\t//console.timeEnd('nf');\r\n\t// 20230905: 11ms\r\n}\r\n\r\nfunction is_hangul(cp) {\r\n\treturn cp >= S0 && cp < S1;\r\n}\r\n\r\nfunction compose_pair(a, b) {\r\n\tif (a >= L0 && a < L1 && b >= V0 && b < V1) {\r\n\t\treturn S0 + (a - L0) * N_COUNT + (b - V0) * T_COUNT;\r\n\t} else if (is_hangul(a) && b > T0 && b < T1 && (a - S0) % T_COUNT == 0) {\r\n\t\treturn a + (b - T0);\r\n\t} else {\r\n\t\tlet recomp = RECOMP.get(a);\r\n\t\tif (recomp) {\r\n\t\t\trecomp = recomp.get(b);\r\n\t\t\tif (recomp) {\r\n\t\t\t\treturn recomp;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn -1;\r\n\t}\r\n}\r\n\r\nfunction decomposed(cps) {\r\n\tif (!SHIFTED_RANK) init$1();\r\n\tlet ret = [];\r\n\tlet buf = [];\r\n\tlet check_order = false;\r\n\tfunction add(cp) {\r\n\t\tlet cc = SHIFTED_RANK.get(cp);\r\n\t\tif (cc) {\r\n\t\t\tcheck_order = true;\r\n\t\t\tcp |= cc;\r\n\t\t}\r\n\t\tret.push(cp);\r\n\t}\r\n\tfor (let cp of cps) {\r\n\t\twhile (true) {\r\n\t\t\tif (cp < 0x80) {\r\n\t\t\t\tret.push(cp);\r\n\t\t\t} else if (is_hangul(cp)) {\r\n\t\t\t\tlet s_index = cp - S0;\r\n\t\t\t\tlet l_index = s_index / N_COUNT | 0;\r\n\t\t\t\tlet v_index = (s_index % N_COUNT) / T_COUNT | 0;\r\n\t\t\t\tlet t_index = s_index % T_COUNT;\r\n\t\t\t\tadd(L0 + l_index);\r\n\t\t\t\tadd(V0 + v_index);\r\n\t\t\t\tif (t_index > 0) add(T0 + t_index);\r\n\t\t\t} else {\r\n\t\t\t\tlet mapped = DECOMP.get(cp);\r\n\t\t\t\tif (mapped) {\r\n\t\t\t\t\tbuf.push(...mapped);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tadd(cp);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (!buf.length) break;\r\n\t\t\tcp = buf.pop();\r\n\t\t}\r\n\t}\r\n\tif (check_order && ret.length > 1) {\r\n\t\tlet prev_cc = unpack_cc(ret[0]);\r\n\t\tfor (let i = 1; i < ret.length; i++) {\r\n\t\t\tlet cc = unpack_cc(ret[i]);\r\n\t\t\tif (cc == 0 || prev_cc <= cc) {\r\n\t\t\t\tprev_cc = cc;\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tlet j = i-1;\r\n\t\t\twhile (true) {\r\n\t\t\t\tlet tmp = ret[j+1];\r\n\t\t\t\tret[j+1] = ret[j];\r\n\t\t\t\tret[j] = tmp;\r\n\t\t\t\tif (!j) break;\r\n\t\t\t\tprev_cc = unpack_cc(ret[--j]);\r\n\t\t\t\tif (prev_cc <= cc) break;\r\n\t\t\t}\r\n\t\t\tprev_cc = unpack_cc(ret[i]);\r\n\t\t}\r\n\t}\r\n\treturn ret;\r\n}\r\n\r\nfunction composed_from_decomposed(v) {\r\n\tlet ret = [];\r\n\tlet stack = [];\r\n\tlet prev_cp = -1;\r\n\tlet prev_cc = 0;\r\n\tfor (let packed of v) {\r\n\t\tlet cc = unpack_cc(packed);\r\n\t\tlet cp = unpack_cp(packed);\r\n\t\tif (prev_cp == -1) {\r\n\t\t\tif (cc == 0) {\r\n\t\t\t\tprev_cp = cp;\r\n\t\t\t} else {\r\n\t\t\t\tret.push(cp);\r\n\t\t\t}\r\n\t\t} else if (prev_cc > 0 && prev_cc >= cc) {\r\n\t\t\tif (cc == 0) {\r\n\t\t\t\tret.push(prev_cp, ...stack);\r\n\t\t\t\tstack.length = 0;\r\n\t\t\t\tprev_cp = cp;\r\n\t\t\t} else {\r\n\t\t\t\tstack.push(cp);\r\n\t\t\t}\r\n\t\t\tprev_cc = cc;\r\n\t\t} else {\r\n\t\t\tlet composed = compose_pair(prev_cp, cp);\r\n\t\t\tif (composed >= 0) {\r\n\t\t\t\tprev_cp = composed;\r\n\t\t\t} else if (prev_cc == 0 && cc == 0) {\r\n\t\t\t\tret.push(prev_cp);\r\n\t\t\t\tprev_cp = cp;\r\n\t\t\t} else {\r\n\t\t\t\tstack.push(cp);\r\n\t\t\t\tprev_cc = cc;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (prev_cp >= 0) {\r\n\t\tret.push(prev_cp, ...stack);\t\r\n\t}\r\n\treturn ret;\r\n}\r\n\r\n// note: cps can be iterable\r\nfunction nfd(cps) {\r\n\treturn decomposed(cps).map(unpack_cp);\r\n}\r\nfunction nfc(cps) {\r\n\treturn composed_from_decomposed(decomposed(cps));\r\n}\n\nconst HYPHEN = 0x2D;\r\nconst STOP = 0x2E;\r\nconst STOP_CH = '.';\r\nconst FE0F = 0xFE0F;\r\nconst UNIQUE_PH = 1;\r\n\r\n// 20230913: replace [...v] with Array_from(v) to avoid large spreads\r\nconst Array_from = x => Array.from(x); // Array.from.bind(Array);\r\n\r\nfunction group_has_cp(g, cp) {\r\n\t// 20230913: keep primary and secondary distinct instead of creating valid union\r\n\treturn g.P.has(cp) || g.Q.has(cp);\r\n}\r\n\r\nclass Emoji extends Array {\r\n\tget is_emoji() { return true; } // free tagging system\r\n}\r\n\r\nlet MAPPED, IGNORED, CM, NSM, ESCAPE, NFC_CHECK, GROUPS, WHOLE_VALID, WHOLE_MAP, VALID, EMOJI_LIST, EMOJI_ROOT;\r\n\r\nfunction init() {\r\n\tif (MAPPED) return;\r\n\t\r\n\tlet r = read_compressed_payload(COMPRESSED$1);\r\n\tconst read_sorted_array = () => read_sorted(r);\r\n\tconst read_sorted_set = () => new Set(read_sorted_array());\r\n\tconst set_add_many = (set, v) => v.forEach(x => set.add(x));\r\n\r\n\tMAPPED = new Map(read_mapped(r)); \r\n\tIGNORED = read_sorted_set(); // ignored characters are not valid, so just read raw codepoints\r\n\r\n\t/*\r\n\t// direct include from payload is smaller than the decompression code\r\n\tconst FENCED = new Map(read_array_while(() => {\r\n\t\tlet cp = r();\r\n\t\tif (cp) return [cp, read_str(r())];\r\n\t}));\r\n\t*/\r\n\t// 20230217: we still need all CM for proper error formatting\r\n\t// but norm only needs NSM subset that are potentially-valid\r\n\tCM = read_sorted_array();\r\n\tNSM = new Set(read_sorted_array().map(i => CM[i]));\r\n\tCM = new Set(CM);\r\n\t\r\n\tESCAPE = read_sorted_set(); // characters that should not be printed\r\n\tNFC_CHECK = read_sorted_set(); // only needed to illustrate ens_tokenize() transformations\r\n\r\n\tlet chunks = read_sorted_arrays(r);\r\n\tlet unrestricted = r();\r\n\t//const read_chunked = () => new Set(read_sorted_array().flatMap(i => chunks[i]).concat(read_sorted_array()));\r\n\tconst read_chunked = () => {\r\n\t\t// 20230921: build set in parts, 2x faster\r\n\t\tlet set = new Set();\r\n\t\tread_sorted_array().forEach(i => set_add_many(set, chunks[i]));\r\n\t\tset_add_many(set, read_sorted_array());\r\n\t\treturn set; \r\n\t};\r\n\tGROUPS = read_array_while(i => {\r\n\t\t// minifier property mangling seems unsafe\r\n\t\t// so these are manually renamed to single chars\r\n\t\tlet N = read_array_while(r).map(x => x+0x60);\r\n\t\tif (N.length) {\r\n\t\t\tlet R = i >= unrestricted; // unrestricted then restricted\r\n\t\t\tN[0] -= 32; // capitalize\r\n\t\t\tN = str_from_cps(N);\r\n\t\t\tif (R) N=`Restricted[${N}]`;\r\n\t\t\tlet P = read_chunked(); // primary\r\n\t\t\tlet Q = read_chunked(); // secondary\r\n\t\t\tlet M = !r(); // not-whitelisted, check for NSM\r\n\t\t\t// *** this code currently isn't needed ***\r\n\t\t\t/*\r\n\t\t\tlet V = [...P, ...Q].sort((a, b) => a-b); // derive: sorted valid\r\n\t\t\tlet M = r()-1; // number of combining mark\r\n\t\t\tif (M < 0) { // whitelisted\r\n\t\t\t\tM = new Map(read_array_while(() => {\r\n\t\t\t\t\tlet i = r();\r\n\t\t\t\t\tif (i) return [V[i-1], read_array_while(() => {\r\n\t\t\t\t\t\tlet v = read_array_while(r);\r\n\t\t\t\t\t\tif (v.length) return v.map(x => x-1);\r\n\t\t\t\t\t})];\r\n\t\t\t\t}));\r\n\t\t\t}*/\r\n\t\t\treturn {N, P, Q, M, R};\r\n\t\t}\r\n\t});\r\n\r\n\t// decode compressed wholes\r\n\tWHOLE_VALID = read_sorted_set();\r\n\tWHOLE_MAP = new Map();\r\n\tlet wholes = read_sorted_array().concat(Array_from(WHOLE_VALID)).sort((a, b) => a-b); // must be sorted\r\n\twholes.forEach((cp, i) => {\r\n\t\tlet d = r(); \r\n\t\tlet w = wholes[i] = d ? wholes[i-d] : {V: [], M: new Map()};\r\n\t\tw.V.push(cp); // add to member set\r\n\t\tif (!WHOLE_VALID.has(cp)) {\r\n\t\t\tWHOLE_MAP.set(cp, w); // register with whole map\r\n\t\t}\r\n\t});\r\n\r\n\t// compute confusable-extent complements\r\n\t// usage: WHOLE_MAP.get(cp).M.get(cp) = complement set\r\n\tfor (let {V, M} of new Set(WHOLE_MAP.values())) {\r\n\t\t// connect all groups that have each whole character\r\n\t\tlet recs = [];\r\n\t\tfor (let cp of V) {\r\n\t\t\tlet gs = GROUPS.filter(g => group_has_cp(g, cp));\r\n\t\t\tlet rec = recs.find(({G}) => gs.some(g => G.has(g)));\r\n\t\t\tif (!rec) {\r\n\t\t\t\trec = {G: new Set(), V: []};\r\n\t\t\t\trecs.push(rec);\r\n\t\t\t}\r\n\t\t\trec.V.push(cp);\r\n\t\t\tset_add_many(rec.G, gs);\r\n\t\t}\r\n\t\t// per character cache groups which are not a member of the extent\r\n\t\tlet union = recs.flatMap(x => Array_from(x.G)); // all of the groups used by this whole\r\n\t\tfor (let {G, V} of recs) {\r\n\t\t\tlet complement = new Set(union.filter(g => !G.has(g))); // groups not covered by the extent\r\n\t\t\tfor (let cp of V) {\r\n\t\t\t\tM.set(cp, complement); // this is the same reference\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// compute valid set\r\n\t// 20230924: VALID was union but can be re-used\r\n\tVALID = new Set(); // exists in 1+ groups\r\n\tlet multi = new Set(); // exists in 2+ groups\r\n\tconst add_to_union = cp => VALID.has(cp) ? multi.add(cp) : VALID.add(cp);\r\n\tfor (let g of GROUPS) {\r\n\t\tfor (let cp of g.P) add_to_union(cp);\r\n\t\tfor (let cp of g.Q) add_to_union(cp);\r\n\t}\r\n\t// dual purpose WHOLE_MAP: return placeholder if unique non-confusable\r\n\tfor (let cp of VALID) {\r\n\t\tif (!WHOLE_MAP.has(cp) && !multi.has(cp)) {\r\n\t\t\tWHOLE_MAP.set(cp, UNIQUE_PH);\r\n\t\t}\r\n\t}\r\n\t// add all decomposed parts\r\n\t// see derive: \"Valid is Closed (via Brute-force)\"\r\n\tset_add_many(VALID, nfd(VALID));\r\n\t\r\n\t// decode emoji\r\n\t// 20230719: emoji are now fully-expanded to avoid quirk logic \r\n\tEMOJI_LIST = read_trie(r).map(v => Emoji.from(v)).sort(compare_arrays);\r\n\tEMOJI_ROOT = new Map(); // this has approx 7K nodes (2+ per emoji)\r\n\tfor (let cps of EMOJI_LIST) {\r\n\t\t// 20230719: change to *slightly* stricter algorithm which disallows \r\n\t\t// insertion of misplaced FE0F in emoji sequences (matching ENSIP-15)\r\n\t\t// example: beautified [A B] (eg. flag emoji) \r\n\t\t// before: allow: [A FE0F B], error: [A FE0F FE0F B] \r\n\t\t// after: error: both\r\n\t\t// note: this code now matches ENSNormalize.{cs,java} logic\r\n\t\tlet prev = [EMOJI_ROOT];\r\n\t\tfor (let cp of cps) {\r\n\t\t\tlet next = prev.map(node => {\r\n\t\t\t\tlet child = node.get(cp);\r\n\t\t\t\tif (!child) {\r\n\t\t\t\t\t// should this be object? \r\n\t\t\t\t\t// (most have 1-2 items, few have many)\r\n\t\t\t\t\t// 20230719: no, v8 default map is 4?\r\n\t\t\t\t\tchild = new Map();\r\n\t\t\t\t\tnode.set(cp, child);\r\n\t\t\t\t}\r\n\t\t\t\treturn child;\r\n\t\t\t});\r\n\t\t\tif (cp === FE0F) {\r\n\t\t\t\tprev.push(...next); // less than 20 elements\r\n\t\t\t} else {\r\n\t\t\t\tprev = next;\r\n\t\t\t}\r\n\t\t}\r\n\t\tfor (let x of prev) {\r\n\t\t\tx.V = cps;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n// if escaped: {HEX}\r\n// else: \"x\" {HEX}\r\nfunction quoted_cp(cp) {\r\n\treturn (should_escape(cp) ? '' : `${bidi_qq(safe_str_from_cps([cp]))} `) + quote_cp(cp);\r\n}\r\n\r\n// 20230211: some messages can be mixed-directional and result in spillover\r\n// use 200E after a quoted string to force the remainder of a string from \r\n// acquring the direction of the quote\r\n// https://www.w3.org/International/questions/qa-bidi-unicode-controls#exceptions\r\nfunction bidi_qq(s) {\r\n\treturn `\"${s}\"\\u200E`; // strong LTR\r\n}\r\n\r\nfunction check_label_extension(cps) {\r\n\tif (cps.length >= 4 && cps[2] == HYPHEN && cps[3] == HYPHEN) {\r\n\t\tthrow new Error(`invalid label extension: \"${str_from_cps(cps.slice(0, 4))}\"`); // this can only be ascii so cant be bidi\r\n\t}\r\n}\r\nfunction check_leading_underscore(cps) {\r\n\tconst UNDERSCORE = 0x5F;\r\n\tfor (let i = cps.lastIndexOf(UNDERSCORE); i > 0; ) {\r\n\t\tif (cps[--i] !== UNDERSCORE) {\r\n\t\t\tthrow new Error('underscore allowed only at start');\r\n\t\t}\r\n\t}\r\n}\r\n// check that a fenced cp is not leading, trailing, or touching another fenced cp\r\nfunction check_fenced(cps) {\r\n\tlet cp = cps[0];\r\n\tlet prev = FENCED.get(cp);\r\n\tif (prev) throw error_placement(`leading ${prev}`);\r\n\tlet n = cps.length;\r\n\tlet last = -1; // prevents trailing from throwing\r\n\tfor (let i = 1; i < n; i++) {\r\n\t\tcp = cps[i];\r\n\t\tlet match = FENCED.get(cp);\r\n\t\tif (match) {\r\n\t\t\t// since cps[0] isn't fenced, cps[1] cannot throw\r\n\t\t\tif (last == i) throw error_placement(`${prev} + ${match}`);\r\n\t\t\tlast = i + 1;\r\n\t\t\tprev = match;\r\n\t\t}\r\n\t}\r\n\tif (last == n) throw error_placement(`trailing ${prev}`);\r\n}\r\n\r\n// create a safe to print string \r\n// invisibles are escaped\r\n// leading cm uses placeholder\r\n// if cps exceed max, middle truncate with ellipsis\r\n// quoter(cp) => string, eg. 3000 => \"{3000}\"\r\n// note: in html, you'd call this function then replace [<>&] with entities\r\nfunction safe_str_from_cps(cps, max = Infinity, quoter = quote_cp) {\r\n\t//if (Number.isInteger(cps)) cps = [cps];\r\n\t//if (!Array.isArray(cps)) throw new TypeError(`expected codepoints`);\r\n\tlet buf = [];\r\n\tif (is_combining_mark(cps[0])) buf.push('◌');\r\n\tif (cps.length > max) {\r\n\t\tmax >>= 1;\r\n\t\tcps = [...cps.slice(0, max), 0x2026, ...cps.slice(-max)];\r\n\t}\r\n\tlet prev = 0;\r\n\tlet n = cps.length;\r\n\tfor (let i = 0; i < n; i++) {\r\n\t\tlet cp = cps[i];\r\n\t\tif (should_escape(cp)) {\r\n\t\t\tbuf.push(str_from_cps(cps.slice(prev, i)));\r\n\t\t\tbuf.push(quoter(cp));\r\n\t\t\tprev = i + 1;\r\n\t\t}\r\n\t}\r\n\tbuf.push(str_from_cps(cps.slice(prev, n)));\r\n\treturn buf.join('');\r\n}\r\n\r\n// note: set(s) cannot be exposed because they can be modified\r\n// note: Object.freeze() doesn't work\r\nfunction is_combining_mark(cp) {\r\n\tinit();\r\n\treturn CM.has(cp);\r\n}\r\nfunction should_escape(cp) {\r\n\tinit();\r\n\treturn ESCAPE.has(cp);\r\n}\r\n\r\n// return all supported emoji as fully-qualified emoji \r\n// ordered by length then lexicographic \r\nfunction ens_emoji() {\r\n\tinit();\r\n\treturn EMOJI_LIST.map(x => x.slice()); // emoji are exposed so copy\r\n}\r\n\r\nfunction ens_normalize_fragment(frag, decompose) {\r\n\tinit();\r\n\tlet nf = decompose ? nfd : nfc;\r\n\treturn frag.split(STOP_CH).map(label => str_from_cps(tokens_from_str(explode_cp(label), nf, filter_fe0f).flat())).join(STOP_CH);\r\n}\r\n\r\nfunction ens_normalize(name) {\r\n\treturn flatten(split(name, nfc, filter_fe0f));\r\n}\r\n\r\nfunction ens_beautify(name) {\r\n\tlet labels = split(name, nfc, x => x); // emoji not exposed\r\n\tfor (let {type, output, error} of labels) {\r\n\t\tif (error) break; // flatten will throw\r\n\r\n\t\t// replace leading/trailing hyphen\r\n\t\t// 20230121: consider beautifing all or leading/trailing hyphen to unicode variant\r\n\t\t// not exactly the same in every font, but very similar: \"-\" vs \"‐\"\r\n\t\t/*\r\n\t\tconst UNICODE_HYPHEN = 0x2010;\r\n\t\t// maybe this should replace all for visual consistancy?\r\n\t\t// `node tools/reg-count.js regex ^-\\{2,\\}` => 592\r\n\t\t//for (let i = 0; i < output.length; i++) if (output[i] == 0x2D) output[i] = 0x2010;\r\n\t\tif (output[0] == HYPHEN) output[0] = UNICODE_HYPHEN;\r\n\t\tlet end = output.length-1;\r\n\t\tif (output[end] == HYPHEN) output[end] = UNICODE_HYPHEN;\r\n\t\t*/\r\n\t\t// 20230123: WHATWG URL uses \"CheckHyphens\" false\r\n\t\t// https://url.spec.whatwg.org/#idna\r\n\r\n\t\t// update ethereum symbol\r\n\t\t// ξ => Ξ if not greek\r\n\t\tif (type !== 'Greek') array_replace(output, 0x3BE, 0x39E);\r\n\r\n\t\t// 20221213: fixes bidi subdomain issue, but breaks invariant (200E is disallowed)\r\n\t\t// could be fixed with special case for: 2D (.) + 200E (LTR)\r\n\t\t// https://discuss.ens.domains/t/bidi-label-ordering-spoof/15824\r\n\t\t//output.splice(0, 0, 0x200E);\r\n\t}\r\n\treturn flatten(labels);\r\n}\r\n\r\nfunction array_replace(v, a, b) {\r\n\tlet prev = 0;\r\n\twhile (true) {\r\n\t\tlet next = v.indexOf(a, prev);\r\n\t\tif (next < 0) break;\r\n\t\tv[next] = b; \r\n\t\tprev = next + 1;\r\n\t}\r\n}\r\n\r\nfunction ens_split(name, preserve_emoji) {\r\n\treturn split(name, nfc, preserve_emoji ? x => x.slice() : filter_fe0f); // emoji are exposed so copy\r\n}\r\n\r\nfunction split(name, nf, ef) {\r\n\tif (!name) return []; // 20230719: empty name allowance\r\n\tinit();\r\n\tlet offset = 0;\r\n\t// https://unicode.org/reports/tr46/#Validity_Criteria\r\n\t// 4.) \"The label must not contain a U+002E ( . ) FULL STOP.\"\r\n\treturn name.split(STOP_CH).map(label => {\r\n\t\tlet input = explode_cp(label);\r\n\t\tlet info = {\r\n\t\t\tinput,\r\n\t\t\toffset, // codepoint, not substring!\r\n\t\t};\r\n\t\toffset += input.length + 1; // + stop\r\n\t\ttry {\r\n\t\t\t// 1.) \"The label must be in Unicode Normalization Form NFC\"\r\n\t\t\tlet tokens = info.tokens = tokens_from_str(input, nf, ef);\r\n\t\t\tlet token_count = tokens.length;\r\n\t\t\tlet type;\r\n\t\t\tif (!token_count) { // the label was effectively empty (could of had ignored characters)\r\n\t\t\t\t//norm = [];\r\n\t\t\t\t//type = 'None'; // use this instead of next match, \"ASCII\"\r\n\t\t\t\t// 20230120: change to strict\r\n\t\t\t\t// https://discuss.ens.domains/t/ens-name-normalization-2nd/14564/59\r\n\t\t\t\tthrow new Error(`empty label`);\r\n\t\t\t} \r\n\t\t\tlet norm = info.output = tokens.flat();\r\n\t\t\tcheck_leading_underscore(norm);\r\n\t\t\tlet emoji = info.emoji = token_count > 1 || tokens[0].is_emoji; // same as: tokens.some(x => x.is_emoji);\r\n\t\t\tif (!emoji && norm.every(cp => cp < 0x80)) { // special case for ascii\r\n\t\t\t\t// 20230123: matches matches WHATWG, see note 3.3\r\n\t\t\t\tcheck_label_extension(norm); // only needed for ascii\r\n\t\t\t\t// cant have fenced\r\n\t\t\t\t// cant have cm\r\n\t\t\t\t// cant have wholes\r\n\t\t\t\t// see derive: \"Fastpath ASCII\"\r\n\t\t\t\ttype = 'ASCII';\r\n\t\t\t} else {\r\n\t\t\t\tlet chars = tokens.flatMap(x => x.is_emoji ? [] : x); // all of the nfc tokens concat together\r\n\t\t\t\tif (!chars.length) { // theres no text, just emoji\r\n\t\t\t\t\ttype = 'Emoji';\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// 5.) \"The label must not begin with a combining mark, that is: General_Category=Mark.\"\r\n\t\t\t\t\tif (CM.has(norm[0])) throw error_placement('leading combining mark');\r\n\t\t\t\t\tfor (let i = 1; i < token_count; i++) { // we've already checked the first token\r\n\t\t\t\t\t\tlet cps = tokens[i];\r\n\t\t\t\t\t\tif (!cps.is_emoji && CM.has(cps[0])) { // every text token has emoji neighbors, eg. EtEEEtEt...\r\n\t\t\t\t\t\t\t// bidi_qq() not needed since emoji is LTR and cps is a CM\r\n\t\t\t\t\t\t\tthrow error_placement(`emoji + combining mark: \"${str_from_cps(tokens[i-1])} + ${safe_str_from_cps([cps[0]])}\"`); \r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcheck_fenced(norm);\r\n\t\t\t\t\tlet unique = Array_from(new Set(chars));\r\n\t\t\t\t\tlet [g] = determine_group(unique); // take the first match\r\n\t\t\t\t\t// see derive: \"Matching Groups have Same CM Style\"\r\n\t\t\t\t\t// alternative: could form a hybrid type: Latin/Japanese/...\t\r\n\t\t\t\t\tcheck_group(g, chars); // need text in order\r\n\t\t\t\t\tcheck_whole(g, unique); // only need unique text (order would be required for multiple-char confusables)\r\n\t\t\t\t\ttype = g.N;\r\n\t\t\t\t\t// 20230121: consider exposing restricted flag\r\n\t\t\t\t\t// it's simpler to just check for 'Restricted'\r\n\t\t\t\t\t// or even better: type.endsWith(']')\r\n\t\t\t\t\t//if (g.R) info.restricted = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tinfo.type = type;\r\n\t\t} catch (err) {\r\n\t\t\tinfo.error = err; // use full error object\r\n\t\t}\r\n\t\treturn info;\r\n\t});\r\n}\r\n\r\nfunction check_whole(group, unique) {\r\n\tlet maker;\r\n\tlet shared = [];\r\n\tfor (let cp of unique) {\r\n\t\tlet whole = WHOLE_MAP.get(cp);\r\n\t\tif (whole === UNIQUE_PH) return; // unique, non-confusable\r\n\t\tif (whole) {\r\n\t\t\tlet set = whole.M.get(cp); // groups which have a character that look-like this character\r\n\t\t\tmaker = maker ? maker.filter(g => set.has(g)) : Array_from(set);\r\n\t\t\tif (!maker.length) return; // confusable intersection is empty\r\n\t\t} else {\r\n\t\t\tshared.push(cp); \r\n\t\t}\r\n\t}\r\n\tif (maker) {\r\n\t\t// we have 1+ confusable\r\n\t\t// check if any of the remaining groups\r\n\t\t// contain the shared characters too\r\n\t\tfor (let g of maker) {\r\n\t\t\tif (shared.every(cp => group_has_cp(g, cp))) {\r\n\t\t\t\tthrow new Error(`whole-script confusable: ${group.N}/${g.N}`);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n// assumption: unique.size > 0\r\n// returns list of matching groups\r\nfunction determine_group(unique) {\r\n\tlet groups = GROUPS;\r\n\tfor (let cp of unique) {\r\n\t\t// note: we need to dodge CM that are whitelisted\r\n\t\t// but that code isn't currently necessary\r\n\t\tlet gs = groups.filter(g => group_has_cp(g, cp));\r\n\t\tif (!gs.length) {\r\n\t\t\tif (!GROUPS.some(g => group_has_cp(g, cp))) { \r\n\t\t\t\t// the character was composed of valid parts\r\n\t\t\t\t// but it's NFC form is invalid\r\n\t\t\t\t// 20230716: change to more exact statement, see: ENSNormalize.{cs,java}\r\n\t\t\t\t// note: this doesn't have to be a composition\r\n\t\t\t\t// 20230720: change to full check\r\n\t\t\t\tthrow error_disallowed(cp); // this should be rare\r\n\t\t\t} else {\r\n\t\t\t\t// there is no group that contains all these characters\r\n\t\t\t\t// throw using the highest priority group that matched\r\n\t\t\t\t// https://www.unicode.org/reports/tr39/#mixed_script_confusables\r\n\t\t\t\tthrow error_group_member(groups[0], cp);\r\n\t\t\t}\r\n\t\t}\r\n\t\tgroups = gs;\r\n\t\tif (gs.length == 1) break; // there is only one group left\r\n\t}\r\n\t// there are at least 1 group(s) with all of these characters\r\n\treturn groups;\r\n}\r\n\r\n// throw on first error\r\nfunction flatten(split) {\r\n\treturn split.map(({input, error, output}) => {\r\n\t\tif (error) {\r\n\t\t\t// don't print label again if just a single label\r\n\t\t\tlet msg = error.message;\r\n\t\t\t// bidi_qq() only necessary if msg is digits\r\n\t\t\tthrow new Error(split.length == 1 ? msg : `Invalid label ${bidi_qq(safe_str_from_cps(input, 63))}: ${msg}`); \r\n\t\t}\r\n\t\treturn str_from_cps(output);\r\n\t}).join(STOP_CH);\r\n}\r\n\r\nfunction error_disallowed(cp) {\r\n\t// TODO: add cp to error?\r\n\treturn new Error(`disallowed character: ${quoted_cp(cp)}`); \r\n}\r\nfunction error_group_member(g, cp) {\r\n\tlet quoted = quoted_cp(cp);\r\n\tlet gg = GROUPS.find(g => g.P.has(cp)); // only check primary\r\n\tif (gg) {\r\n\t\tquoted = `${gg.N} ${quoted}`;\r\n\t}\r\n\treturn new Error(`illegal mixture: ${g.N} + ${quoted}`);\r\n}\r\nfunction error_placement(where) {\r\n\treturn new Error(`illegal placement: ${where}`);\r\n}\r\n\r\n// assumption: cps.length > 0\r\n// assumption: cps[0] isn't a CM\r\n// assumption: the previous character isn't an emoji\r\nfunction check_group(g, cps) {\r\n\tfor (let cp of cps) {\r\n\t\tif (!group_has_cp(g, cp)) {\r\n\t\t\t// for whitelisted scripts, this will throw illegal mixture on invalid cm, eg. \"e{300}{300}\"\r\n\t\t\t// at the moment, it's unnecessary to introduce an extra error type\r\n\t\t\t// until there exists a whitelisted multi-character\r\n\t\t\t// eg. if (M < 0 && is_combining_mark(cp)) { ... }\r\n\t\t\t// there are 3 cases:\r\n\t\t\t// 1. illegal cm for wrong group => mixture error\r\n\t\t\t// 2. illegal cm for same group => cm error\r\n\t\t\t// requires set of whitelist cm per group: \r\n\t\t\t// eg. new Set([...g.P, ...g.Q].flatMap(nfc).filter(cp => CM.has(cp)))\r\n\t\t\t// 3. wrong group => mixture error\r\n\t\t\tthrow error_group_member(g, cp);\r\n\t\t}\r\n\t}\r\n\t//if (M >= 0) { // we have a known fixed cm count\r\n\tif (g.M) { // we need to check for NSM\r\n\t\tlet decomposed = nfd(cps);\r\n\t\tfor (let i = 1, e = decomposed.length; i < e; i++) { // see: assumption\r\n\t\t\t// 20230210: bugfix: using cps instead of decomposed h/t Carbon225\r\n\t\t\t/*\r\n\t\t\tif (CM.has(decomposed[i])) {\r\n\t\t\t\tlet j = i + 1;\r\n\t\t\t\twhile (j < e && CM.has(decomposed[j])) j++;\r\n\t\t\t\tif (j - i > M) {\r\n\t\t\t\t\tthrow new Error(`too many combining marks: ${g.N} ${bidi_qq(str_from_cps(decomposed.slice(i-1, j)))} (${j-i}/${M})`);\r\n\t\t\t\t}\r\n\t\t\t\ti = j;\r\n\t\t\t}\r\n\t\t\t*/\r\n\t\t\t// 20230217: switch to NSM counting\r\n\t\t\t// https://www.unicode.org/reports/tr39/#Optional_Detection\r\n\t\t\tif (NSM.has(decomposed[i])) {\r\n\t\t\t\tlet j = i + 1;\r\n\t\t\t\tfor (let cp; j < e && NSM.has(cp = decomposed[j]); j++) {\r\n\t\t\t\t\t// a. Forbid sequences of the same nonspacing mark.\r\n\t\t\t\t\tfor (let k = i; k < j; k++) { // O(n^2) but n < 100\r\n\t\t\t\t\t\tif (decomposed[k] == cp) {\r\n\t\t\t\t\t\t\tthrow new Error(`duplicate non-spacing marks: ${quoted_cp(cp)}`);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t// parse to end so we have full nsm count\r\n\t\t\t\t// b. Forbid sequences of more than 4 nonspacing marks (gc=Mn or gc=Me).\r\n\t\t\t\tif (j - i > NSM_MAX) {\r\n\t\t\t\t\t// note: this slice starts with a base char or spacing-mark cm\r\n\t\t\t\t\tthrow new Error(`excessive non-spacing marks: ${bidi_qq(safe_str_from_cps(decomposed.slice(i-1, j)))} (${j-i}/${NSM_MAX})`);\r\n\t\t\t\t}\r\n\t\t\t\ti = j;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t// *** this code currently isn't needed ***\r\n\t/*\r\n\tlet cm_whitelist = M instanceof Map;\r\n\tfor (let i = 0, e = cps.length; i < e; ) {\r\n\t\tlet cp = cps[i++];\r\n\t\tlet seqs = cm_whitelist && M.get(cp);\r\n\t\tif (seqs) { \r\n\t\t\t// list of codepoints that can follow\r\n\t\t\t// if this exists, this will always be 1+\r\n\t\t\tlet j = i;\r\n\t\t\twhile (j < e && CM.has(cps[j])) j++;\r\n\t\t\tlet cms = cps.slice(i, j);\r\n\t\t\tlet match = seqs.find(seq => !compare_arrays(seq, cms));\r\n\t\t\tif (!match) throw new Error(`disallowed combining mark sequence: \"${safe_str_from_cps([cp, ...cms])}\"`);\r\n\t\t\ti = j;\r\n\t\t} else if (!V.has(cp)) {\r\n\t\t\t// https://www.unicode.org/reports/tr39/#mixed_script_confusables\r\n\t\t\tlet quoted = quoted_cp(cp);\r\n\t\t\tfor (let cp of cps) {\r\n\t\t\t\tlet u = UNIQUE.get(cp);\r\n\t\t\t\tif (u && u !== g) {\r\n\t\t\t\t\t// if both scripts are restricted this error is confusing\r\n\t\t\t\t\t// because we don't differentiate RestrictedA from RestrictedB \r\n\t\t\t\t\tif (!u.R) quoted = `${quoted} is ${u.N}`;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthrow new Error(`disallowed ${g.N} character: ${quoted}`);\r\n\t\t\t//throw new Error(`disallowed character: ${quoted} (expected ${g.N})`);\r\n\t\t\t//throw new Error(`${g.N} does not allow: ${quoted}`);\r\n\t\t}\r\n\t}\r\n\tif (!cm_whitelist) {\r\n\t\tlet decomposed = nfd(cps);\r\n\t\tfor (let i = 1, e = decomposed.length; i < e; i++) { // we know it can't be cm leading\r\n\t\t\tif (CM.has(decomposed[i])) {\r\n\t\t\t\tlet j = i + 1;\r\n\t\t\t\twhile (j < e && CM.has(decomposed[j])) j++;\r\n\t\t\t\tif (j - i > M) {\r\n\t\t\t\t\tthrow new Error(`too many combining marks: \"${str_from_cps(decomposed.slice(i-1, j))}\" (${j-i}/${M})`);\r\n\t\t\t\t}\r\n\t\t\t\ti = j;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t*/\r\n}\r\n\r\n// given a list of codepoints\r\n// returns a list of lists, where emoji are a fully-qualified (as Array subclass)\r\n// eg. explode_cp(\"abc💩d\") => [[61, 62, 63], Emoji[1F4A9, FE0F], [64]]\r\n// 20230818: rename for 'process' name collision h/t Javarome\r\n// https://github.com/adraffy/ens-normalize.js/issues/23\r\nfunction tokens_from_str(input, nf, ef) {\r\n\tlet ret = [];\r\n\tlet chars = [];\r\n\tinput = input.slice().reverse(); // flip so we can pop\r\n\twhile (input.length) {\r\n\t\tlet emoji = consume_emoji_reversed(input);\r\n\t\tif (emoji) {\r\n\t\t\tif (chars.length) {\r\n\t\t\t\tret.push(nf(chars));\r\n\t\t\t\tchars = [];\r\n\t\t\t}\r\n\t\t\tret.push(ef(emoji));\r\n\t\t} else {\r\n\t\t\tlet cp = input.pop();\r\n\t\t\tif (VALID.has(cp)) {\r\n\t\t\t\tchars.push(cp);\r\n\t\t\t} else {\r\n\t\t\t\tlet cps = MAPPED.get(cp);\r\n\t\t\t\tif (cps) {\r\n\t\t\t\t\tchars.push(...cps); // less than 10 elements\r\n\t\t\t\t} else if (!IGNORED.has(cp)) {\r\n\t\t\t\t\t// 20230912: unicode 15.1 changed the order of processing such that\r\n\t\t\t\t\t// disallowed parts are only rejected after NFC\r\n\t\t\t\t\t// https://unicode.org/reports/tr46/#Validity_Criteria\r\n\t\t\t\t\t// this doesn't impact normalization as of today\r\n\t\t\t\t\t// technically, this error can be removed as the group logic will apply similar logic\r\n\t\t\t\t\t// however the error type might be less clear\r\n\t\t\t\t\tthrow error_disallowed(cp);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (chars.length) {\r\n\t\tret.push(nf(chars));\r\n\t}\r\n\treturn ret;\r\n}\r\n\r\nfunction filter_fe0f(cps) {\r\n\treturn cps.filter(cp => cp != FE0F);\r\n}\r\n\r\n// given array of codepoints\r\n// returns the longest valid emoji sequence (or undefined if no match)\r\n// *MUTATES* the supplied array\r\n// disallows interleaved ignored characters\r\n// fills (optional) eaten array with matched codepoints\r\nfunction consume_emoji_reversed(cps, eaten) {\r\n\tlet node = EMOJI_ROOT;\r\n\tlet emoji;\r\n\tlet pos = cps.length;\r\n\twhile (pos) {\r\n\t\tnode = node.get(cps[--pos]);\r\n\t\tif (!node) break;\r\n\t\tlet {V} = node;\r\n\t\tif (V) { // this is a valid emoji (so far)\r\n\t\t\temoji = V;\r\n\t\t\tif (eaten) eaten.push(...cps.slice(pos).reverse()); // (optional) copy input, used for ens_tokenize()\r\n\t\t\tcps.length = pos; // truncate\r\n\t\t}\r\n\t}\r\n\treturn emoji;\r\n}\r\n\r\n// ************************************************************\r\n// tokenizer \r\n\r\nconst TY_VALID = 'valid';\r\nconst TY_MAPPED = 'mapped';\r\nconst TY_IGNORED = 'ignored';\r\nconst TY_DISALLOWED = 'disallowed';\r\nconst TY_EMOJI = 'emoji';\r\nconst TY_NFC = 'nfc';\r\nconst TY_STOP = 'stop';\r\n\r\nfunction ens_tokenize(name, {\r\n\tnf = true, // collapse unnormalized runs into a single token\r\n} = {}) {\r\n\tinit();\r\n\tlet input = explode_cp(name).reverse();\r\n\tlet eaten = [];\r\n\tlet tokens = [];\r\n\twhile (input.length) {\r\n\t\tlet emoji = consume_emoji_reversed(input, eaten);\r\n\t\tif (emoji) {\r\n\t\t\ttokens.push({\r\n\t\t\t\ttype: TY_EMOJI,\r\n\t\t\t\temoji: emoji.slice(), // copy emoji\r\n\t\t\t\tinput: eaten,\r\n\t\t\t\tcps: filter_fe0f(emoji)\r\n\t\t\t});\r\n\t\t\teaten = []; // reset buffer\r\n\t\t} else {\r\n\t\t\tlet cp = input.pop();\r\n\t\t\tif (cp == STOP) {\r\n\t\t\t\ttokens.push({type: TY_STOP, cp});\r\n\t\t\t} else if (VALID.has(cp)) {\r\n\t\t\t\ttokens.push({type: TY_VALID, cps: [cp]});\r\n\t\t\t} else if (IGNORED.has(cp)) {\r\n\t\t\t\ttokens.push({type: TY_IGNORED, cp});\r\n\t\t\t} else {\r\n\t\t\t\tlet cps = MAPPED.get(cp);\r\n\t\t\t\tif (cps) {\r\n\t\t\t\t\ttokens.push({type: TY_MAPPED, cp, cps: cps.slice()});\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttokens.push({type: TY_DISALLOWED, cp});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (nf) {\r\n\t\tfor (let i = 0, start = -1; i < tokens.length; i++) {\r\n\t\t\tlet token = tokens[i];\r\n\t\t\tif (is_valid_or_mapped(token.type)) {\r\n\t\t\t\tif (requires_check(token.cps)) { // normalization might be needed\r\n\t\t\t\t\tlet end = i + 1;\r\n\t\t\t\t\tfor (let pos = end; pos < tokens.length; pos++) { // find adjacent text\r\n\t\t\t\t\t\tlet {type, cps} = tokens[pos];\r\n\t\t\t\t\t\tif (is_valid_or_mapped(type)) {\r\n\t\t\t\t\t\t\tif (!requires_check(cps)) break;\r\n\t\t\t\t\t\t\tend = pos + 1;\r\n\t\t\t\t\t\t} else if (type !== TY_IGNORED) { // || type !== TY_DISALLOWED) { \r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (start < 0) start = i;\r\n\t\t\t\t\tlet slice = tokens.slice(start, end);\r\n\t\t\t\t\tlet cps0 = slice.flatMap(x => is_valid_or_mapped(x.type) ? x.cps : []); // strip junk tokens\r\n\t\t\t\t\tlet cps = nfc(cps0);\r\n\t\t\t\t\tif (compare_arrays(cps, cps0)) { // bundle into an nfc token\r\n\t\t\t\t\t\ttokens.splice(start, end - start, {\r\n\t\t\t\t\t\t\ttype: TY_NFC, \r\n\t\t\t\t\t\t\tinput: cps0, // there are 3 states: tokens0 ==(process)=> input ==(nfc)=> tokens/cps\r\n\t\t\t\t\t\t\tcps, \r\n\t\t\t\t\t\t\ttokens0: collapse_valid_tokens(slice),\r\n\t\t\t\t\t\t\ttokens: ens_tokenize(str_from_cps(cps), {nf: false})\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\ti = start;\r\n\t\t\t\t\t} else { \r\n\t\t\t\t\t\ti = end - 1; // skip to end of slice\r\n\t\t\t\t\t}\r\n\t\t\t\t\tstart = -1; // reset\r\n\t\t\t\t} else {\r\n\t\t\t\t\tstart = i; // remember last\r\n\t\t\t\t}\r\n\t\t\t} else if (token.type !== TY_IGNORED) { // 20221024: is this correct?\r\n\t\t\t\tstart = -1; // reset\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn collapse_valid_tokens(tokens);\r\n}\r\n\r\nfunction is_valid_or_mapped(type) {\r\n\treturn type == TY_VALID || type == TY_MAPPED;\r\n}\r\n\r\nfunction requires_check(cps) {\r\n\treturn cps.some(cp => NFC_CHECK.has(cp));\r\n}\r\n\r\nfunction collapse_valid_tokens(tokens) {\r\n\tfor (let i = 0; i < tokens.length; i++) {\r\n\t\tif (tokens[i].type == TY_VALID) {\r\n\t\t\tlet j = i + 1;\r\n\t\t\twhile (j < tokens.length && tokens[j].type == TY_VALID) j++;\r\n\t\t\ttokens.splice(i, j - i, {type: TY_VALID, cps: tokens.slice(i, j).flatMap(x => x.cps)});\r\n\t\t}\r\n\t}\r\n\treturn tokens;\r\n}\n\nexport { ens_beautify, ens_emoji, ens_normalize, ens_normalize_fragment, ens_split, ens_tokenize, is_combining_mark, nfc, nfd, safe_str_from_cps, should_escape };\n","import { keccak256 } from \"../crypto/index.js\";\nimport { concat, hexlify, assertArgument, toUtf8Bytes } from \"../utils/index.js\";\nimport { ens_normalize } from \"@adraffy/ens-normalize\";\nconst Zeros = new Uint8Array(32);\nZeros.fill(0);\nfunction checkComponent(comp) {\n assertArgument(comp.length !== 0, \"invalid ENS name; empty component\", \"comp\", comp);\n return comp;\n}\nfunction ensNameSplit(name) {\n const bytes = toUtf8Bytes(ensNormalize(name));\n const comps = [];\n if (name.length === 0) {\n return comps;\n }\n let last = 0;\n for (let i = 0; i < bytes.length; i++) {\n const d = bytes[i];\n // A separator (i.e. \".\"); copy this component\n if (d === 0x2e) {\n comps.push(checkComponent(bytes.slice(last, i)));\n last = i + 1;\n }\n }\n // There was a stray separator at the end of the name\n assertArgument(last < bytes.length, \"invalid ENS name; empty component\", \"name\", name);\n comps.push(checkComponent(bytes.slice(last)));\n return comps;\n}\n/**\n * Returns the ENS %%name%% normalized.\n */\nexport function ensNormalize(name) {\n try {\n if (name.length === 0) {\n throw new Error(\"empty label\");\n }\n return ens_normalize(name);\n }\n catch (error) {\n assertArgument(false, `invalid ENS name (${error.message})`, \"name\", name);\n }\n}\n/**\n * Returns ``true`` if %%name%% is a valid ENS name.\n */\nexport function isValidName(name) {\n try {\n return (ensNameSplit(name).length !== 0);\n }\n catch (error) { }\n return false;\n}\n/**\n * Returns the [[link-namehash]] for %%name%%.\n */\nexport function namehash(name) {\n assertArgument(typeof (name) === \"string\", \"invalid ENS name; not a string\", \"name\", name);\n assertArgument(name.length, `invalid ENS name (empty label)`, \"name\", name);\n let result = Zeros;\n const comps = ensNameSplit(name);\n while (comps.length) {\n result = keccak256(concat([result, keccak256((comps.pop()))]));\n }\n return hexlify(result);\n}\n/**\n * Returns the DNS encoded %%name%%.\n *\n * This is used for various parts of ENS name resolution, such\n * as the wildcard resolution.\n */\nexport function dnsEncode(name, _maxLength) {\n const length = (_maxLength != null) ? _maxLength : 63;\n assertArgument(length <= 255, \"DNS encoded label cannot exceed 255\", \"length\", length);\n return hexlify(concat(ensNameSplit(name).map((comp) => {\n assertArgument(comp.length <= length, `label ${JSON.stringify(name)} exceeds ${length} bytes`, \"name\", name);\n const bytes = new Uint8Array(comp.length + 1);\n bytes.set(comp, 1);\n bytes[0] = bytes.length - 1;\n return bytes;\n }))) + \"00\";\n}\n//# sourceMappingURL=namehash.js.map","import { getAddress } from \"../address/index.js\";\nimport { assertArgument, isHexString } from \"../utils/index.js\";\nfunction accessSetify(addr, storageKeys) {\n return {\n address: getAddress(addr),\n storageKeys: storageKeys.map((storageKey, index) => {\n assertArgument(isHexString(storageKey, 32), \"invalid slot\", `storageKeys[${index}]`, storageKey);\n return storageKey.toLowerCase();\n })\n };\n}\n/**\n * Returns a [[AccessList]] from any ethers-supported access-list structure.\n */\nexport function accessListify(value) {\n if (Array.isArray(value)) {\n return value.map((set, index) => {\n if (Array.isArray(set)) {\n assertArgument(set.length === 2, \"invalid slot set\", `value[${index}]`, set);\n return accessSetify(set[0], set[1]);\n }\n assertArgument(set != null && typeof (set) === \"object\", \"invalid address-slot set\", \"value\", value);\n return accessSetify(set.address, set.storageKeys);\n });\n }\n assertArgument(value != null && typeof (value) === \"object\", \"invalid access list\", \"value\", value);\n const result = Object.keys(value).map((addr) => {\n const storageKeys = value[addr].reduce((accum, storageKey) => {\n accum[storageKey] = true;\n return accum;\n }, {});\n return accessSetify(addr, Object.keys(storageKeys).sort());\n });\n result.sort((a, b) => (a.address.localeCompare(b.address)));\n return result;\n}\n//# sourceMappingURL=accesslist.js.map","import { getAddress } from \"../address/index.js\";\nimport { keccak256, SigningKey } from \"../crypto/index.js\";\n/**\n * Returns the address for the %%key%%.\n *\n * The key may be any standard form of public key or a private key.\n */\nexport function computeAddress(key) {\n let pubkey;\n if (typeof (key) === \"string\") {\n pubkey = SigningKey.computePublicKey(key, false);\n }\n else {\n pubkey = key.publicKey;\n }\n return getAddress(keccak256(\"0x\" + pubkey.substring(4)).substring(26));\n}\n/**\n * Returns the recovered address for the private key that was\n * used to sign %%digest%% that resulted in %%signature%%.\n */\nexport function recoverAddress(digest, signature) {\n return computeAddress(SigningKey.recoverPublicKey(digest, signature));\n}\n//# sourceMappingURL=address.js.map","import { getAddress } from \"../address/index.js\";\nimport { ZeroAddress } from \"../constants/addresses.js\";\nimport { keccak256, Signature, SigningKey } from \"../crypto/index.js\";\nimport { concat, decodeRlp, encodeRlp, getBytes, getBigInt, getNumber, hexlify, assert, assertArgument, isHexString, toBeArray, zeroPadValue } from \"../utils/index.js\";\nimport { accessListify } from \"./accesslist.js\";\nimport { recoverAddress } from \"./address.js\";\nconst BN_0 = BigInt(0);\nconst BN_2 = BigInt(2);\nconst BN_27 = BigInt(27);\nconst BN_28 = BigInt(28);\nconst BN_35 = BigInt(35);\nconst BN_MAX_UINT = BigInt(\"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\");\nfunction handleAddress(value) {\n if (value === \"0x\") {\n return null;\n }\n return getAddress(value);\n}\nfunction handleAccessList(value, param) {\n try {\n return accessListify(value);\n }\n catch (error) {\n assertArgument(false, error.message, param, value);\n }\n}\nfunction handleNumber(_value, param) {\n if (_value === \"0x\") {\n return 0;\n }\n return getNumber(_value, param);\n}\nfunction handleUint(_value, param) {\n if (_value === \"0x\") {\n return BN_0;\n }\n const value = getBigInt(_value, param);\n assertArgument(value <= BN_MAX_UINT, \"value exceeds uint size\", param, value);\n return value;\n}\nfunction formatNumber(_value, name) {\n const value = getBigInt(_value, \"value\");\n const result = toBeArray(value);\n assertArgument(result.length <= 32, `value too large`, `tx.${name}`, value);\n return result;\n}\nfunction formatAccessList(value) {\n return accessListify(value).map((set) => [set.address, set.storageKeys]);\n}\nfunction formatHashes(value, param) {\n assertArgument(Array.isArray(value), `invalid ${param}`, \"value\", value);\n for (let i = 0; i < value.length; i++) {\n assertArgument(isHexString(value[i], 32), \"invalid ${ param } hash\", `value[${i}]`, value[i]);\n }\n return value;\n}\nfunction _parseLegacy(data) {\n const fields = decodeRlp(data);\n assertArgument(Array.isArray(fields) && (fields.length === 9 || fields.length === 6), \"invalid field count for legacy transaction\", \"data\", data);\n const tx = {\n type: 0,\n nonce: handleNumber(fields[0], \"nonce\"),\n gasPrice: handleUint(fields[1], \"gasPrice\"),\n gasLimit: handleUint(fields[2], \"gasLimit\"),\n to: handleAddress(fields[3]),\n value: handleUint(fields[4], \"value\"),\n data: hexlify(fields[5]),\n chainId: BN_0\n };\n // Legacy unsigned transaction\n if (fields.length === 6) {\n return tx;\n }\n const v = handleUint(fields[6], \"v\");\n const r = handleUint(fields[7], \"r\");\n const s = handleUint(fields[8], \"s\");\n if (r === BN_0 && s === BN_0) {\n // EIP-155 unsigned transaction\n tx.chainId = v;\n }\n else {\n // Compute the EIP-155 chain ID (or 0 for legacy)\n let chainId = (v - BN_35) / BN_2;\n if (chainId < BN_0) {\n chainId = BN_0;\n }\n tx.chainId = chainId;\n // Signed Legacy Transaction\n assertArgument(chainId !== BN_0 || (v === BN_27 || v === BN_28), \"non-canonical legacy v\", \"v\", fields[6]);\n tx.signature = Signature.from({\n r: zeroPadValue(fields[7], 32),\n s: zeroPadValue(fields[8], 32),\n v\n });\n tx.hash = keccak256(data);\n }\n return tx;\n}\nfunction _serializeLegacy(tx, sig) {\n const fields = [\n formatNumber(tx.nonce, \"nonce\"),\n formatNumber(tx.gasPrice || 0, \"gasPrice\"),\n formatNumber(tx.gasLimit, \"gasLimit\"),\n (tx.to || \"0x\"),\n formatNumber(tx.value, \"value\"),\n tx.data,\n ];\n let chainId = BN_0;\n if (tx.chainId != BN_0) {\n // A chainId was provided; if non-zero we'll use EIP-155\n chainId = getBigInt(tx.chainId, \"tx.chainId\");\n // We have a chainId in the tx and an EIP-155 v in the signature,\n // make sure they agree with each other\n assertArgument(!sig || sig.networkV == null || sig.legacyChainId === chainId, \"tx.chainId/sig.v mismatch\", \"sig\", sig);\n }\n else if (tx.signature) {\n // No explicit chainId, but EIP-155 have a derived implicit chainId\n const legacy = tx.signature.legacyChainId;\n if (legacy != null) {\n chainId = legacy;\n }\n }\n // Requesting an unsigned transaction\n if (!sig) {\n // We have an EIP-155 transaction (chainId was specified and non-zero)\n if (chainId !== BN_0) {\n fields.push(toBeArray(chainId));\n fields.push(\"0x\");\n fields.push(\"0x\");\n }\n return encodeRlp(fields);\n }\n // @TODO: We should probably check that tx.signature, chainId, and sig\n // match but that logic could break existing code, so schedule\n // this for the next major bump.\n // Compute the EIP-155 v\n let v = BigInt(27 + sig.yParity);\n if (chainId !== BN_0) {\n v = Signature.getChainIdV(chainId, sig.v);\n }\n else if (BigInt(sig.v) !== v) {\n assertArgument(false, \"tx.chainId/sig.v mismatch\", \"sig\", sig);\n }\n // Add the signature\n fields.push(toBeArray(v));\n fields.push(toBeArray(sig.r));\n fields.push(toBeArray(sig.s));\n return encodeRlp(fields);\n}\nfunction _parseEipSignature(tx, fields) {\n let yParity;\n try {\n yParity = handleNumber(fields[0], \"yParity\");\n if (yParity !== 0 && yParity !== 1) {\n throw new Error(\"bad yParity\");\n }\n }\n catch (error) {\n assertArgument(false, \"invalid yParity\", \"yParity\", fields[0]);\n }\n const r = zeroPadValue(fields[1], 32);\n const s = zeroPadValue(fields[2], 32);\n const signature = Signature.from({ r, s, yParity });\n tx.signature = signature;\n}\nfunction _parseEip1559(data) {\n const fields = decodeRlp(getBytes(data).slice(1));\n assertArgument(Array.isArray(fields) && (fields.length === 9 || fields.length === 12), \"invalid field count for transaction type: 2\", \"data\", hexlify(data));\n const tx = {\n type: 2,\n chainId: handleUint(fields[0], \"chainId\"),\n nonce: handleNumber(fields[1], \"nonce\"),\n maxPriorityFeePerGas: handleUint(fields[2], \"maxPriorityFeePerGas\"),\n maxFeePerGas: handleUint(fields[3], \"maxFeePerGas\"),\n gasPrice: null,\n gasLimit: handleUint(fields[4], \"gasLimit\"),\n to: handleAddress(fields[5]),\n value: handleUint(fields[6], \"value\"),\n data: hexlify(fields[7]),\n accessList: handleAccessList(fields[8], \"accessList\"),\n };\n // Unsigned EIP-1559 Transaction\n if (fields.length === 9) {\n return tx;\n }\n tx.hash = keccak256(data);\n _parseEipSignature(tx, fields.slice(9));\n return tx;\n}\nfunction _serializeEip1559(tx, sig) {\n const fields = [\n formatNumber(tx.chainId, \"chainId\"),\n formatNumber(tx.nonce, \"nonce\"),\n formatNumber(tx.maxPriorityFeePerGas || 0, \"maxPriorityFeePerGas\"),\n formatNumber(tx.maxFeePerGas || 0, \"maxFeePerGas\"),\n formatNumber(tx.gasLimit, \"gasLimit\"),\n (tx.to || \"0x\"),\n formatNumber(tx.value, \"value\"),\n tx.data,\n formatAccessList(tx.accessList || [])\n ];\n if (sig) {\n fields.push(formatNumber(sig.yParity, \"yParity\"));\n fields.push(toBeArray(sig.r));\n fields.push(toBeArray(sig.s));\n }\n return concat([\"0x02\", encodeRlp(fields)]);\n}\nfunction _parseEip2930(data) {\n const fields = decodeRlp(getBytes(data).slice(1));\n assertArgument(Array.isArray(fields) && (fields.length === 8 || fields.length === 11), \"invalid field count for transaction type: 1\", \"data\", hexlify(data));\n const tx = {\n type: 1,\n chainId: handleUint(fields[0], \"chainId\"),\n nonce: handleNumber(fields[1], \"nonce\"),\n gasPrice: handleUint(fields[2], \"gasPrice\"),\n gasLimit: handleUint(fields[3], \"gasLimit\"),\n to: handleAddress(fields[4]),\n value: handleUint(fields[5], \"value\"),\n data: hexlify(fields[6]),\n accessList: handleAccessList(fields[7], \"accessList\")\n };\n // Unsigned EIP-2930 Transaction\n if (fields.length === 8) {\n return tx;\n }\n tx.hash = keccak256(data);\n _parseEipSignature(tx, fields.slice(8));\n return tx;\n}\nfunction _serializeEip2930(tx, sig) {\n const fields = [\n formatNumber(tx.chainId, \"chainId\"),\n formatNumber(tx.nonce, \"nonce\"),\n formatNumber(tx.gasPrice || 0, \"gasPrice\"),\n formatNumber(tx.gasLimit, \"gasLimit\"),\n (tx.to || \"0x\"),\n formatNumber(tx.value, \"value\"),\n tx.data,\n formatAccessList(tx.accessList || [])\n ];\n if (sig) {\n fields.push(formatNumber(sig.yParity, \"recoveryParam\"));\n fields.push(toBeArray(sig.r));\n fields.push(toBeArray(sig.s));\n }\n return concat([\"0x01\", encodeRlp(fields)]);\n}\nfunction _parseEip4844(data) {\n const fields = decodeRlp(getBytes(data).slice(1));\n assertArgument(Array.isArray(fields) && (fields.length === 11 || fields.length === 14), \"invalid field count for transaction type: 3\", \"data\", hexlify(data));\n const tx = {\n type: 3,\n chainId: handleUint(fields[0], \"chainId\"),\n nonce: handleNumber(fields[1], \"nonce\"),\n maxPriorityFeePerGas: handleUint(fields[2], \"maxPriorityFeePerGas\"),\n maxFeePerGas: handleUint(fields[3], \"maxFeePerGas\"),\n gasPrice: null,\n gasLimit: handleUint(fields[4], \"gasLimit\"),\n to: handleAddress(fields[5]),\n value: handleUint(fields[6], \"value\"),\n data: hexlify(fields[7]),\n accessList: handleAccessList(fields[8], \"accessList\"),\n maxFeePerBlobGas: handleUint(fields[9], \"maxFeePerBlobGas\"),\n blobVersionedHashes: fields[10]\n };\n assertArgument(tx.to != null, \"invalid address for transaction type: 3\", \"data\", data);\n assertArgument(Array.isArray(tx.blobVersionedHashes), \"invalid blobVersionedHashes: must be an array\", \"data\", data);\n for (let i = 0; i < tx.blobVersionedHashes.length; i++) {\n assertArgument(isHexString(tx.blobVersionedHashes[i], 32), `invalid blobVersionedHash at index ${i}: must be length 32`, \"data\", data);\n }\n // Unsigned EIP-4844 Transaction\n if (fields.length === 11) {\n return tx;\n }\n tx.hash = keccak256(data);\n _parseEipSignature(tx, fields.slice(11));\n return tx;\n}\nfunction _serializeEip4844(tx, sig) {\n const fields = [\n formatNumber(tx.chainId, \"chainId\"),\n formatNumber(tx.nonce, \"nonce\"),\n formatNumber(tx.maxPriorityFeePerGas || 0, \"maxPriorityFeePerGas\"),\n formatNumber(tx.maxFeePerGas || 0, \"maxFeePerGas\"),\n formatNumber(tx.gasLimit, \"gasLimit\"),\n (tx.to || ZeroAddress),\n formatNumber(tx.value, \"value\"),\n tx.data,\n formatAccessList(tx.accessList || []),\n formatNumber(tx.maxFeePerBlobGas || 0, \"maxFeePerBlobGas\"),\n formatHashes(tx.blobVersionedHashes || [], \"blobVersionedHashes\")\n ];\n if (sig) {\n fields.push(formatNumber(sig.yParity, \"yParity\"));\n fields.push(toBeArray(sig.r));\n fields.push(toBeArray(sig.s));\n }\n return concat([\"0x03\", encodeRlp(fields)]);\n}\n/**\n * A **Transaction** describes an operation to be executed on\n * Ethereum by an Externally Owned Account (EOA). It includes\n * who (the [[to]] address), what (the [[data]]) and how much (the\n * [[value]] in ether) the operation should entail.\n *\n * @example:\n * tx = new Transaction()\n * //_result:\n *\n * tx.data = \"0x1234\";\n * //_result:\n */\nexport class Transaction {\n #type;\n #to;\n #data;\n #nonce;\n #gasLimit;\n #gasPrice;\n #maxPriorityFeePerGas;\n #maxFeePerGas;\n #value;\n #chainId;\n #sig;\n #accessList;\n #maxFeePerBlobGas;\n #blobVersionedHashes;\n /**\n * The transaction type.\n *\n * If null, the type will be automatically inferred based on\n * explicit properties.\n */\n get type() { return this.#type; }\n set type(value) {\n switch (value) {\n case null:\n this.#type = null;\n break;\n case 0:\n case \"legacy\":\n this.#type = 0;\n break;\n case 1:\n case \"berlin\":\n case \"eip-2930\":\n this.#type = 1;\n break;\n case 2:\n case \"london\":\n case \"eip-1559\":\n this.#type = 2;\n break;\n case 3:\n case \"cancun\":\n case \"eip-4844\":\n this.#type = 3;\n break;\n default:\n assertArgument(false, \"unsupported transaction type\", \"type\", value);\n }\n }\n /**\n * The name of the transaction type.\n */\n get typeName() {\n switch (this.type) {\n case 0: return \"legacy\";\n case 1: return \"eip-2930\";\n case 2: return \"eip-1559\";\n case 3: return \"eip-4844\";\n }\n return null;\n }\n /**\n * The ``to`` address for the transaction or ``null`` if the\n * transaction is an ``init`` transaction.\n */\n get to() {\n const value = this.#to;\n if (value == null && this.type === 3) {\n return ZeroAddress;\n }\n return value;\n }\n set to(value) {\n this.#to = (value == null) ? null : getAddress(value);\n }\n /**\n * The transaction nonce.\n */\n get nonce() { return this.#nonce; }\n set nonce(value) { this.#nonce = getNumber(value, \"value\"); }\n /**\n * The gas limit.\n */\n get gasLimit() { return this.#gasLimit; }\n set gasLimit(value) { this.#gasLimit = getBigInt(value); }\n /**\n * The gas price.\n *\n * On legacy networks this defines the fee that will be paid. On\n * EIP-1559 networks, this should be ``null``.\n */\n get gasPrice() {\n const value = this.#gasPrice;\n if (value == null && (this.type === 0 || this.type === 1)) {\n return BN_0;\n }\n return value;\n }\n set gasPrice(value) {\n this.#gasPrice = (value == null) ? null : getBigInt(value, \"gasPrice\");\n }\n /**\n * The maximum priority fee per unit of gas to pay. On legacy\n * networks this should be ``null``.\n */\n get maxPriorityFeePerGas() {\n const value = this.#maxPriorityFeePerGas;\n if (value == null) {\n if (this.type === 2 || this.type === 3) {\n return BN_0;\n }\n return null;\n }\n return value;\n }\n set maxPriorityFeePerGas(value) {\n this.#maxPriorityFeePerGas = (value == null) ? null : getBigInt(value, \"maxPriorityFeePerGas\");\n }\n /**\n * The maximum total fee per unit of gas to pay. On legacy\n * networks this should be ``null``.\n */\n get maxFeePerGas() {\n const value = this.#maxFeePerGas;\n if (value == null) {\n if (this.type === 2 || this.type === 3) {\n return BN_0;\n }\n return null;\n }\n return value;\n }\n set maxFeePerGas(value) {\n this.#maxFeePerGas = (value == null) ? null : getBigInt(value, \"maxFeePerGas\");\n }\n /**\n * The transaction data. For ``init`` transactions this is the\n * deployment code.\n */\n get data() { return this.#data; }\n set data(value) { this.#data = hexlify(value); }\n /**\n * The amount of ether (in wei) to send in this transactions.\n */\n get value() { return this.#value; }\n set value(value) {\n this.#value = getBigInt(value, \"value\");\n }\n /**\n * The chain ID this transaction is valid on.\n */\n get chainId() { return this.#chainId; }\n set chainId(value) { this.#chainId = getBigInt(value); }\n /**\n * If signed, the signature for this transaction.\n */\n get signature() { return this.#sig || null; }\n set signature(value) {\n this.#sig = (value == null) ? null : Signature.from(value);\n }\n /**\n * The access list.\n *\n * An access list permits discounted (but pre-paid) access to\n * bytecode and state variable access within contract execution.\n */\n get accessList() {\n const value = this.#accessList || null;\n if (value == null) {\n if (this.type === 1 || this.type === 2 || this.type === 3) {\n // @TODO: in v7, this should assign the value or become\n // a live object itself, otherwise mutation is inconsistent\n return [];\n }\n return null;\n }\n return value;\n }\n set accessList(value) {\n this.#accessList = (value == null) ? null : accessListify(value);\n }\n /**\n * The max fee per blob gas for Cancun transactions.\n */\n get maxFeePerBlobGas() {\n const value = this.#maxFeePerBlobGas;\n if (value == null && this.type === 3) {\n return BN_0;\n }\n return value;\n }\n set maxFeePerBlobGas(value) {\n this.#maxFeePerBlobGas = (value == null) ? null : getBigInt(value, \"maxFeePerBlobGas\");\n }\n /**\n * The BLOB versioned hashes for Cancun transactions.\n */\n get blobVersionedHashes() {\n // @TODO: Mutation is inconsistent; if unset, the returned value\n // cannot mutate the object, if set it can\n let value = this.#blobVersionedHashes;\n if (value == null && this.type === 3) {\n return [];\n }\n return value;\n }\n set blobVersionedHashes(value) {\n if (value != null) {\n assertArgument(Array.isArray(value), \"blobVersionedHashes must be an Array\", \"value\", value);\n value = value.slice();\n for (let i = 0; i < value.length; i++) {\n assertArgument(isHexString(value[i], 32), \"invalid blobVersionedHash\", `value[${i}]`, value[i]);\n }\n }\n this.#blobVersionedHashes = value;\n }\n /**\n * Creates a new Transaction with default values.\n */\n constructor() {\n this.#type = null;\n this.#to = null;\n this.#nonce = 0;\n this.#gasLimit = BN_0;\n this.#gasPrice = null;\n this.#maxPriorityFeePerGas = null;\n this.#maxFeePerGas = null;\n this.#data = \"0x\";\n this.#value = BN_0;\n this.#chainId = BN_0;\n this.#sig = null;\n this.#accessList = null;\n this.#maxFeePerBlobGas = null;\n this.#blobVersionedHashes = null;\n }\n /**\n * The transaction hash, if signed. Otherwise, ``null``.\n */\n get hash() {\n if (this.signature == null) {\n return null;\n }\n return keccak256(this.serialized);\n }\n /**\n * The pre-image hash of this transaction.\n *\n * This is the digest that a [[Signer]] must sign to authorize\n * this transaction.\n */\n get unsignedHash() {\n return keccak256(this.unsignedSerialized);\n }\n /**\n * The sending address, if signed. Otherwise, ``null``.\n */\n get from() {\n if (this.signature == null) {\n return null;\n }\n return recoverAddress(this.unsignedHash, this.signature);\n }\n /**\n * The public key of the sender, if signed. Otherwise, ``null``.\n */\n get fromPublicKey() {\n if (this.signature == null) {\n return null;\n }\n return SigningKey.recoverPublicKey(this.unsignedHash, this.signature);\n }\n /**\n * Returns true if signed.\n *\n * This provides a Type Guard that properties requiring a signed\n * transaction are non-null.\n */\n isSigned() {\n return this.signature != null;\n }\n /**\n * The serialized transaction.\n *\n * This throws if the transaction is unsigned. For the pre-image,\n * use [[unsignedSerialized]].\n */\n get serialized() {\n assert(this.signature != null, \"cannot serialize unsigned transaction; maybe you meant .unsignedSerialized\", \"UNSUPPORTED_OPERATION\", { operation: \".serialized\" });\n switch (this.inferType()) {\n case 0:\n return _serializeLegacy(this, this.signature);\n case 1:\n return _serializeEip2930(this, this.signature);\n case 2:\n return _serializeEip1559(this, this.signature);\n case 3:\n return _serializeEip4844(this, this.signature);\n }\n assert(false, \"unsupported transaction type\", \"UNSUPPORTED_OPERATION\", { operation: \".serialized\" });\n }\n /**\n * The transaction pre-image.\n *\n * The hash of this is the digest which needs to be signed to\n * authorize this transaction.\n */\n get unsignedSerialized() {\n switch (this.inferType()) {\n case 0:\n return _serializeLegacy(this);\n case 1:\n return _serializeEip2930(this);\n case 2:\n return _serializeEip1559(this);\n case 3:\n return _serializeEip4844(this);\n }\n assert(false, \"unsupported transaction type\", \"UNSUPPORTED_OPERATION\", { operation: \".unsignedSerialized\" });\n }\n /**\n * Return the most \"likely\" type; currently the highest\n * supported transaction type.\n */\n inferType() {\n const types = this.inferTypes();\n // Prefer London (EIP-1559) over Cancun (BLOb)\n if (types.indexOf(2) >= 0) {\n return 2;\n }\n // Return the highest inferred type\n return (types.pop());\n }\n /**\n * Validates the explicit properties and returns a list of compatible\n * transaction types.\n */\n inferTypes() {\n // Checks that there are no conflicting properties set\n const hasGasPrice = this.gasPrice != null;\n const hasFee = (this.maxFeePerGas != null || this.maxPriorityFeePerGas != null);\n const hasAccessList = (this.accessList != null);\n const hasBlob = (this.#maxFeePerBlobGas != null || this.#blobVersionedHashes);\n //if (hasGasPrice && hasFee) {\n // throw new Error(\"transaction cannot have gasPrice and maxFeePerGas\");\n //}\n if (this.maxFeePerGas != null && this.maxPriorityFeePerGas != null) {\n assert(this.maxFeePerGas >= this.maxPriorityFeePerGas, \"priorityFee cannot be more than maxFee\", \"BAD_DATA\", { value: this });\n }\n //if (this.type === 2 && hasGasPrice) {\n // throw new Error(\"eip-1559 transaction cannot have gasPrice\");\n //}\n assert(!hasFee || (this.type !== 0 && this.type !== 1), \"transaction type cannot have maxFeePerGas or maxPriorityFeePerGas\", \"BAD_DATA\", { value: this });\n assert(this.type !== 0 || !hasAccessList, \"legacy transaction cannot have accessList\", \"BAD_DATA\", { value: this });\n const types = [];\n // Explicit type\n if (this.type != null) {\n types.push(this.type);\n }\n else {\n if (hasFee) {\n types.push(2);\n }\n else if (hasGasPrice) {\n types.push(1);\n if (!hasAccessList) {\n types.push(0);\n }\n }\n else if (hasAccessList) {\n types.push(1);\n types.push(2);\n }\n else if (hasBlob && this.to) {\n types.push(3);\n }\n else {\n types.push(0);\n types.push(1);\n types.push(2);\n types.push(3);\n }\n }\n types.sort();\n return types;\n }\n /**\n * Returns true if this transaction is a legacy transaction (i.e.\n * ``type === 0``).\n *\n * This provides a Type Guard that the related properties are\n * non-null.\n */\n isLegacy() {\n return (this.type === 0);\n }\n /**\n * Returns true if this transaction is berlin hardform transaction (i.e.\n * ``type === 1``).\n *\n * This provides a Type Guard that the related properties are\n * non-null.\n */\n isBerlin() {\n return (this.type === 1);\n }\n /**\n * Returns true if this transaction is london hardform transaction (i.e.\n * ``type === 2``).\n *\n * This provides a Type Guard that the related properties are\n * non-null.\n */\n isLondon() {\n return (this.type === 2);\n }\n /**\n * Returns true if this transaction is an [[link-eip-4844]] BLOB\n * transaction.\n *\n * This provides a Type Guard that the related properties are\n * non-null.\n */\n isCancun() {\n return (this.type === 3);\n }\n /**\n * Create a copy of this transaciton.\n */\n clone() {\n return Transaction.from(this);\n }\n /**\n * Return a JSON-friendly object.\n */\n toJSON() {\n const s = (v) => {\n if (v == null) {\n return null;\n }\n return v.toString();\n };\n return {\n type: this.type,\n to: this.to,\n // from: this.from,\n data: this.data,\n nonce: this.nonce,\n gasLimit: s(this.gasLimit),\n gasPrice: s(this.gasPrice),\n maxPriorityFeePerGas: s(this.maxPriorityFeePerGas),\n maxFeePerGas: s(this.maxFeePerGas),\n value: s(this.value),\n chainId: s(this.chainId),\n sig: this.signature ? this.signature.toJSON() : null,\n accessList: this.accessList\n };\n }\n /**\n * Create a **Transaction** from a serialized transaction or a\n * Transaction-like object.\n */\n static from(tx) {\n if (tx == null) {\n return new Transaction();\n }\n if (typeof (tx) === \"string\") {\n const payload = getBytes(tx);\n if (payload[0] >= 0x7f) { // @TODO: > vs >= ??\n return Transaction.from(_parseLegacy(payload));\n }\n switch (payload[0]) {\n case 1: return Transaction.from(_parseEip2930(payload));\n case 2: return Transaction.from(_parseEip1559(payload));\n case 3: return Transaction.from(_parseEip4844(payload));\n }\n assert(false, \"unsupported transaction type\", \"UNSUPPORTED_OPERATION\", { operation: \"from\" });\n }\n const result = new Transaction();\n if (tx.type != null) {\n result.type = tx.type;\n }\n if (tx.to != null) {\n result.to = tx.to;\n }\n if (tx.nonce != null) {\n result.nonce = tx.nonce;\n }\n if (tx.gasLimit != null) {\n result.gasLimit = tx.gasLimit;\n }\n if (tx.gasPrice != null) {\n result.gasPrice = tx.gasPrice;\n }\n if (tx.maxPriorityFeePerGas != null) {\n result.maxPriorityFeePerGas = tx.maxPriorityFeePerGas;\n }\n if (tx.maxFeePerGas != null) {\n result.maxFeePerGas = tx.maxFeePerGas;\n }\n if (tx.maxFeePerBlobGas != null) {\n result.maxFeePerBlobGas = tx.maxFeePerBlobGas;\n }\n if (tx.data != null) {\n result.data = tx.data;\n }\n if (tx.value != null) {\n result.value = tx.value;\n }\n if (tx.chainId != null) {\n result.chainId = tx.chainId;\n }\n if (tx.signature != null) {\n result.signature = Signature.from(tx.signature);\n }\n if (tx.accessList != null) {\n result.accessList = tx.accessList;\n }\n if (tx.blobVersionedHashes != null) {\n result.blobVersionedHashes = tx.blobVersionedHashes;\n }\n if (tx.hash != null) {\n assertArgument(result.isSigned(), \"unsigned transaction cannot define hash\", \"tx\", tx);\n assertArgument(result.hash === tx.hash, \"hash mismatch\", \"tx\", tx);\n }\n if (tx.from != null) {\n assertArgument(result.isSigned(), \"unsigned transaction cannot define from\", \"tx\", tx);\n assertArgument(result.from.toLowerCase() === (tx.from || \"\").toLowerCase(), \"from mismatch\", \"tx\", tx);\n }\n return result;\n }\n}\n//# sourceMappingURL=transaction.js.map","import { keccak256 } from \"../crypto/index.js\";\nimport { MessagePrefix } from \"../constants/index.js\";\nimport { recoverAddress } from \"../transaction/index.js\";\nimport { concat, toUtf8Bytes } from \"../utils/index.js\";\n/**\n * Computes the [[link-eip-191]] personal-sign message digest to sign.\n *\n * This prefixes the message with [[MessagePrefix]] and the decimal length\n * of %%message%% and computes the [[keccak256]] digest.\n *\n * If %%message%% is a string, it is converted to its UTF-8 bytes\n * first. To compute the digest of a [[DataHexString]], it must be converted\n * to [bytes](getBytes).\n *\n * @example:\n * hashMessage(\"Hello World\")\n * //_result:\n *\n * // Hashes the SIX (6) string characters, i.e.\n * // [ \"0\", \"x\", \"4\", \"2\", \"4\", \"3\" ]\n * hashMessage(\"0x4243\")\n * //_result:\n *\n * // Hashes the TWO (2) bytes [ 0x42, 0x43 ]...\n * hashMessage(getBytes(\"0x4243\"))\n * //_result:\n *\n * // ...which is equal to using data\n * hashMessage(new Uint8Array([ 0x42, 0x43 ]))\n * //_result:\n *\n */\nexport function hashMessage(message) {\n if (typeof (message) === \"string\") {\n message = toUtf8Bytes(message);\n }\n return keccak256(concat([\n toUtf8Bytes(MessagePrefix),\n toUtf8Bytes(String(message.length)),\n message\n ]));\n}\n/**\n * Return the address of the private key that produced\n * the signature %%sig%% during signing for %%message%%.\n */\nexport function verifyMessage(message, sig) {\n const digest = hashMessage(message);\n return recoverAddress(digest, sig);\n}\n//# sourceMappingURL=message.js.map","import { getAddress } from \"../address/index.js\";\nimport { keccak256 as _keccak256, sha256 as _sha256 } from \"../crypto/index.js\";\nimport { concat, dataLength, getBytes, hexlify, toBeArray, toTwos, toUtf8Bytes, zeroPadBytes, zeroPadValue, assertArgument } from \"../utils/index.js\";\nconst regexBytes = new RegExp(\"^bytes([0-9]+)$\");\nconst regexNumber = new RegExp(\"^(u?int)([0-9]*)$\");\nconst regexArray = new RegExp(\"^(.*)\\\\[([0-9]*)\\\\]$\");\nfunction _pack(type, value, isArray) {\n switch (type) {\n case \"address\":\n if (isArray) {\n return getBytes(zeroPadValue(value, 32));\n }\n return getBytes(getAddress(value));\n case \"string\":\n return toUtf8Bytes(value);\n case \"bytes\":\n return getBytes(value);\n case \"bool\":\n value = (!!value ? \"0x01\" : \"0x00\");\n if (isArray) {\n return getBytes(zeroPadValue(value, 32));\n }\n return getBytes(value);\n }\n let match = type.match(regexNumber);\n if (match) {\n let signed = (match[1] === \"int\");\n let size = parseInt(match[2] || \"256\");\n assertArgument((!match[2] || match[2] === String(size)) && (size % 8 === 0) && size !== 0 && size <= 256, \"invalid number type\", \"type\", type);\n if (isArray) {\n size = 256;\n }\n if (signed) {\n value = toTwos(value, size);\n }\n return getBytes(zeroPadValue(toBeArray(value), size / 8));\n }\n match = type.match(regexBytes);\n if (match) {\n const size = parseInt(match[1]);\n assertArgument(String(size) === match[1] && size !== 0 && size <= 32, \"invalid bytes type\", \"type\", type);\n assertArgument(dataLength(value) === size, `invalid value for ${type}`, \"value\", value);\n if (isArray) {\n return getBytes(zeroPadBytes(value, 32));\n }\n return value;\n }\n match = type.match(regexArray);\n if (match && Array.isArray(value)) {\n const baseType = match[1];\n const count = parseInt(match[2] || String(value.length));\n assertArgument(count === value.length, `invalid array length for ${type}`, \"value\", value);\n const result = [];\n value.forEach(function (value) {\n result.push(_pack(baseType, value, true));\n });\n return getBytes(concat(result));\n }\n assertArgument(false, \"invalid type\", \"type\", type);\n}\n// @TODO: Array Enum\n/**\n * Computes the [[link-solc-packed]] representation of %%values%%\n * respectively to their %%types%%.\n *\n * @example:\n * addr = \"0x8ba1f109551bd432803012645ac136ddd64dba72\"\n * solidityPacked([ \"address\", \"uint\" ], [ addr, 45 ]);\n * //_result:\n */\nexport function solidityPacked(types, values) {\n assertArgument(types.length === values.length, \"wrong number of values; expected ${ types.length }\", \"values\", values);\n const tight = [];\n types.forEach(function (type, index) {\n tight.push(_pack(type, values[index]));\n });\n return hexlify(concat(tight));\n}\n/**\n * Computes the [[link-solc-packed]] [[keccak256]] hash of %%values%%\n * respectively to their %%types%%.\n *\n * @example:\n * addr = \"0x8ba1f109551bd432803012645ac136ddd64dba72\"\n * solidityPackedKeccak256([ \"address\", \"uint\" ], [ addr, 45 ]);\n * //_result:\n */\nexport function solidityPackedKeccak256(types, values) {\n return _keccak256(solidityPacked(types, values));\n}\n/**\n * Computes the [[link-solc-packed]] [[sha256]] hash of %%values%%\n * respectively to their %%types%%.\n *\n * @example:\n * addr = \"0x8ba1f109551bd432803012645ac136ddd64dba72\"\n * solidityPackedSha256([ \"address\", \"uint\" ], [ addr, 45 ]);\n * //_result:\n */\nexport function solidityPackedSha256(types, values) {\n return _sha256(solidityPacked(types, values));\n}\n//# sourceMappingURL=solidity.js.map","//import { TypedDataDomain, TypedDataField } from \"@ethersproject/providerabstract-signer\";\nimport { getAddress } from \"../address/index.js\";\nimport { keccak256 } from \"../crypto/index.js\";\nimport { recoverAddress } from \"../transaction/index.js\";\nimport { concat, defineProperties, getBigInt, getBytes, hexlify, isHexString, mask, toBeHex, toQuantity, toTwos, zeroPadValue, assertArgument } from \"../utils/index.js\";\nimport { id } from \"./id.js\";\nconst padding = new Uint8Array(32);\npadding.fill(0);\nconst BN__1 = BigInt(-1);\nconst BN_0 = BigInt(0);\nconst BN_1 = BigInt(1);\nconst BN_MAX_UINT256 = BigInt(\"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\");\n;\n;\nfunction hexPadRight(value) {\n const bytes = getBytes(value);\n const padOffset = bytes.length % 32;\n if (padOffset) {\n return concat([bytes, padding.slice(padOffset)]);\n }\n return hexlify(bytes);\n}\nconst hexTrue = toBeHex(BN_1, 32);\nconst hexFalse = toBeHex(BN_0, 32);\nconst domainFieldTypes = {\n name: \"string\",\n version: \"string\",\n chainId: \"uint256\",\n verifyingContract: \"address\",\n salt: \"bytes32\"\n};\nconst domainFieldNames = [\n \"name\", \"version\", \"chainId\", \"verifyingContract\", \"salt\"\n];\nfunction checkString(key) {\n return function (value) {\n assertArgument(typeof (value) === \"string\", `invalid domain value for ${JSON.stringify(key)}`, `domain.${key}`, value);\n return value;\n };\n}\nconst domainChecks = {\n name: checkString(\"name\"),\n version: checkString(\"version\"),\n chainId: function (_value) {\n const value = getBigInt(_value, \"domain.chainId\");\n assertArgument(value >= 0, \"invalid chain ID\", \"domain.chainId\", _value);\n if (Number.isSafeInteger(value)) {\n return Number(value);\n }\n return toQuantity(value);\n },\n verifyingContract: function (value) {\n try {\n return getAddress(value).toLowerCase();\n }\n catch (error) { }\n assertArgument(false, `invalid domain value \"verifyingContract\"`, \"domain.verifyingContract\", value);\n },\n salt: function (value) {\n const bytes = getBytes(value, \"domain.salt\");\n assertArgument(bytes.length === 32, `invalid domain value \"salt\"`, \"domain.salt\", value);\n return hexlify(bytes);\n }\n};\nfunction getBaseEncoder(type) {\n // intXX and uintXX\n {\n const match = type.match(/^(u?)int(\\d+)$/);\n if (match) {\n const signed = (match[1] === \"\");\n const width = parseInt(match[2]);\n assertArgument(width % 8 === 0 && width !== 0 && width <= 256 && match[2] === String(width), \"invalid numeric width\", \"type\", type);\n const boundsUpper = mask(BN_MAX_UINT256, signed ? (width - 1) : width);\n const boundsLower = signed ? ((boundsUpper + BN_1) * BN__1) : BN_0;\n return function (_value) {\n const value = getBigInt(_value, \"value\");\n assertArgument(value >= boundsLower && value <= boundsUpper, `value out-of-bounds for ${type}`, \"value\", value);\n return toBeHex(signed ? toTwos(value, 256) : value, 32);\n };\n }\n }\n // bytesXX\n {\n const match = type.match(/^bytes(\\d+)$/);\n if (match) {\n const width = parseInt(match[1]);\n assertArgument(width !== 0 && width <= 32 && match[1] === String(width), \"invalid bytes width\", \"type\", type);\n return function (value) {\n const bytes = getBytes(value);\n assertArgument(bytes.length === width, `invalid length for ${type}`, \"value\", value);\n return hexPadRight(value);\n };\n }\n }\n switch (type) {\n case \"address\": return function (value) {\n return zeroPadValue(getAddress(value), 32);\n };\n case \"bool\": return function (value) {\n return ((!value) ? hexFalse : hexTrue);\n };\n case \"bytes\": return function (value) {\n return keccak256(value);\n };\n case \"string\": return function (value) {\n return id(value);\n };\n }\n return null;\n}\nfunction encodeType(name, fields) {\n return `${name}(${fields.map(({ name, type }) => (type + \" \" + name)).join(\",\")})`;\n}\n// foo[][3] => { base: \"foo\", index: \"[][3]\", array: {\n// base: \"foo\", prefix: \"foo[]\", count: 3 } }\nfunction splitArray(type) {\n const match = type.match(/^([^\\x5b]*)((\\x5b\\d*\\x5d)*)(\\x5b(\\d*)\\x5d)$/);\n if (match) {\n return {\n base: match[1],\n index: (match[2] + match[4]),\n array: {\n base: match[1],\n prefix: (match[1] + match[2]),\n count: (match[5] ? parseInt(match[5]) : -1),\n }\n };\n }\n return { base: type };\n}\n/**\n * A **TypedDataEncode** prepares and encodes [[link-eip-712]] payloads\n * for signed typed data.\n *\n * This is useful for those that wish to compute various components of a\n * typed data hash, primary types, or sub-components, but generally the\n * higher level [[Signer-signTypedData]] is more useful.\n */\nexport class TypedDataEncoder {\n /**\n * The primary type for the structured [[types]].\n *\n * This is derived automatically from the [[types]], since no\n * recursion is possible, once the DAG for the types is consturcted\n * internally, the primary type must be the only remaining type with\n * no parent nodes.\n */\n primaryType;\n #types;\n /**\n * The types.\n */\n get types() {\n return JSON.parse(this.#types);\n }\n #fullTypes;\n #encoderCache;\n /**\n * Create a new **TypedDataEncoder** for %%types%%.\n *\n * This performs all necessary checking that types are valid and\n * do not violate the [[link-eip-712]] structural constraints as\n * well as computes the [[primaryType]].\n */\n constructor(_types) {\n this.#fullTypes = new Map();\n this.#encoderCache = new Map();\n // Link struct types to their direct child structs\n const links = new Map();\n // Link structs to structs which contain them as a child\n const parents = new Map();\n // Link all subtypes within a given struct\n const subtypes = new Map();\n const types = {};\n Object.keys(_types).forEach((type) => {\n types[type] = _types[type].map(({ name, type }) => {\n // Normalize the base type (unless name conflict)\n let { base, index } = splitArray(type);\n if (base === \"int\" && !_types[\"int\"]) {\n base = \"int256\";\n }\n if (base === \"uint\" && !_types[\"uint\"]) {\n base = \"uint256\";\n }\n return { name, type: (base + (index || \"\")) };\n });\n links.set(type, new Set());\n parents.set(type, []);\n subtypes.set(type, new Set());\n });\n this.#types = JSON.stringify(types);\n for (const name in types) {\n const uniqueNames = new Set();\n for (const field of types[name]) {\n // Check each field has a unique name\n assertArgument(!uniqueNames.has(field.name), `duplicate variable name ${JSON.stringify(field.name)} in ${JSON.stringify(name)}`, \"types\", _types);\n uniqueNames.add(field.name);\n // Get the base type (drop any array specifiers)\n const baseType = splitArray(field.type).base;\n assertArgument(baseType !== name, `circular type reference to ${JSON.stringify(baseType)}`, \"types\", _types);\n // Is this a base encoding type?\n const encoder = getBaseEncoder(baseType);\n if (encoder) {\n continue;\n }\n assertArgument(parents.has(baseType), `unknown type ${JSON.stringify(baseType)}`, \"types\", _types);\n // Add linkage\n parents.get(baseType).push(name);\n links.get(name).add(baseType);\n }\n }\n // Deduce the primary type\n const primaryTypes = Array.from(parents.keys()).filter((n) => (parents.get(n).length === 0));\n assertArgument(primaryTypes.length !== 0, \"missing primary type\", \"types\", _types);\n assertArgument(primaryTypes.length === 1, `ambiguous primary types or unused types: ${primaryTypes.map((t) => (JSON.stringify(t))).join(\", \")}`, \"types\", _types);\n defineProperties(this, { primaryType: primaryTypes[0] });\n // Check for circular type references\n function checkCircular(type, found) {\n assertArgument(!found.has(type), `circular type reference to ${JSON.stringify(type)}`, \"types\", _types);\n found.add(type);\n for (const child of links.get(type)) {\n if (!parents.has(child)) {\n continue;\n }\n // Recursively check children\n checkCircular(child, found);\n // Mark all ancestors as having this decendant\n for (const subtype of found) {\n subtypes.get(subtype).add(child);\n }\n }\n found.delete(type);\n }\n checkCircular(this.primaryType, new Set());\n // Compute each fully describe type\n for (const [name, set] of subtypes) {\n const st = Array.from(set);\n st.sort();\n this.#fullTypes.set(name, encodeType(name, types[name]) + st.map((t) => encodeType(t, types[t])).join(\"\"));\n }\n }\n /**\n * Returnthe encoder for the specific %%type%%.\n */\n getEncoder(type) {\n let encoder = this.#encoderCache.get(type);\n if (!encoder) {\n encoder = this.#getEncoder(type);\n this.#encoderCache.set(type, encoder);\n }\n return encoder;\n }\n #getEncoder(type) {\n // Basic encoder type (address, bool, uint256, etc)\n {\n const encoder = getBaseEncoder(type);\n if (encoder) {\n return encoder;\n }\n }\n // Array\n const array = splitArray(type).array;\n if (array) {\n const subtype = array.prefix;\n const subEncoder = this.getEncoder(subtype);\n return (value) => {\n assertArgument(array.count === -1 || array.count === value.length, `array length mismatch; expected length ${array.count}`, \"value\", value);\n let result = value.map(subEncoder);\n if (this.#fullTypes.has(subtype)) {\n result = result.map(keccak256);\n }\n return keccak256(concat(result));\n };\n }\n // Struct\n const fields = this.types[type];\n if (fields) {\n const encodedType = id(this.#fullTypes.get(type));\n return (value) => {\n const values = fields.map(({ name, type }) => {\n const result = this.getEncoder(type)(value[name]);\n if (this.#fullTypes.has(type)) {\n return keccak256(result);\n }\n return result;\n });\n values.unshift(encodedType);\n return concat(values);\n };\n }\n assertArgument(false, `unknown type: ${type}`, \"type\", type);\n }\n /**\n * Return the full type for %%name%%.\n */\n encodeType(name) {\n const result = this.#fullTypes.get(name);\n assertArgument(result, `unknown type: ${JSON.stringify(name)}`, \"name\", name);\n return result;\n }\n /**\n * Return the encoded %%value%% for the %%type%%.\n */\n encodeData(type, value) {\n return this.getEncoder(type)(value);\n }\n /**\n * Returns the hash of %%value%% for the type of %%name%%.\n */\n hashStruct(name, value) {\n return keccak256(this.encodeData(name, value));\n }\n /**\n * Return the fulled encoded %%value%% for the [[types]].\n */\n encode(value) {\n return this.encodeData(this.primaryType, value);\n }\n /**\n * Return the hash of the fully encoded %%value%% for the [[types]].\n */\n hash(value) {\n return this.hashStruct(this.primaryType, value);\n }\n /**\n * @_ignore:\n */\n _visit(type, value, callback) {\n // Basic encoder type (address, bool, uint256, etc)\n {\n const encoder = getBaseEncoder(type);\n if (encoder) {\n return callback(type, value);\n }\n }\n // Array\n const array = splitArray(type).array;\n if (array) {\n assertArgument(array.count === -1 || array.count === value.length, `array length mismatch; expected length ${array.count}`, \"value\", value);\n return value.map((v) => this._visit(array.prefix, v, callback));\n }\n // Struct\n const fields = this.types[type];\n if (fields) {\n return fields.reduce((accum, { name, type }) => {\n accum[name] = this._visit(type, value[name], callback);\n return accum;\n }, {});\n }\n assertArgument(false, `unknown type: ${type}`, \"type\", type);\n }\n /**\n * Call %%calback%% for each value in %%value%%, passing the type and\n * component within %%value%%.\n *\n * This is useful for replacing addresses or other transformation that\n * may be desired on each component, based on its type.\n */\n visit(value, callback) {\n return this._visit(this.primaryType, value, callback);\n }\n /**\n * Create a new **TypedDataEncoder** for %%types%%.\n */\n static from(types) {\n return new TypedDataEncoder(types);\n }\n /**\n * Return the primary type for %%types%%.\n */\n static getPrimaryType(types) {\n return TypedDataEncoder.from(types).primaryType;\n }\n /**\n * Return the hashed struct for %%value%% using %%types%% and %%name%%.\n */\n static hashStruct(name, types, value) {\n return TypedDataEncoder.from(types).hashStruct(name, value);\n }\n /**\n * Return the domain hash for %%domain%%.\n */\n static hashDomain(domain) {\n const domainFields = [];\n for (const name in domain) {\n if (domain[name] == null) {\n continue;\n }\n const type = domainFieldTypes[name];\n assertArgument(type, `invalid typed-data domain key: ${JSON.stringify(name)}`, \"domain\", domain);\n domainFields.push({ name, type });\n }\n domainFields.sort((a, b) => {\n return domainFieldNames.indexOf(a.name) - domainFieldNames.indexOf(b.name);\n });\n return TypedDataEncoder.hashStruct(\"EIP712Domain\", { EIP712Domain: domainFields }, domain);\n }\n /**\n * Return the fully encoded [[link-eip-712]] %%value%% for %%types%% with %%domain%%.\n */\n static encode(domain, types, value) {\n return concat([\n \"0x1901\",\n TypedDataEncoder.hashDomain(domain),\n TypedDataEncoder.from(types).hash(value)\n ]);\n }\n /**\n * Return the hash of the fully encoded [[link-eip-712]] %%value%% for %%types%% with %%domain%%.\n */\n static hash(domain, types, value) {\n return keccak256(TypedDataEncoder.encode(domain, types, value));\n }\n // Replaces all address types with ENS names with their looked up address\n /**\n * Resolves to the value from resolving all addresses in %%value%% for\n * %%types%% and the %%domain%%.\n */\n static async resolveNames(domain, types, value, resolveName) {\n // Make a copy to isolate it from the object passed in\n domain = Object.assign({}, domain);\n // Allow passing null to ignore value\n for (const key in domain) {\n if (domain[key] == null) {\n delete domain[key];\n }\n }\n // Look up all ENS names\n const ensCache = {};\n // Do we need to look up the domain's verifyingContract?\n if (domain.verifyingContract && !isHexString(domain.verifyingContract, 20)) {\n ensCache[domain.verifyingContract] = \"0x\";\n }\n // We are going to use the encoder to visit all the base values\n const encoder = TypedDataEncoder.from(types);\n // Get a list of all the addresses\n encoder.visit(value, (type, value) => {\n if (type === \"address\" && !isHexString(value, 20)) {\n ensCache[value] = \"0x\";\n }\n return value;\n });\n // Lookup each name\n for (const name in ensCache) {\n ensCache[name] = await resolveName(name);\n }\n // Replace the domain verifyingContract if needed\n if (domain.verifyingContract && ensCache[domain.verifyingContract]) {\n domain.verifyingContract = ensCache[domain.verifyingContract];\n }\n // Replace all ENS names with their address\n value = encoder.visit(value, (type, value) => {\n if (type === \"address\" && ensCache[value]) {\n return ensCache[value];\n }\n return value;\n });\n return { domain, value };\n }\n /**\n * Returns the JSON-encoded payload expected by nodes which implement\n * the JSON-RPC [[link-eip-712]] method.\n */\n static getPayload(domain, types, value) {\n // Validate the domain fields\n TypedDataEncoder.hashDomain(domain);\n // Derive the EIP712Domain Struct reference type\n const domainValues = {};\n const domainTypes = [];\n domainFieldNames.forEach((name) => {\n const value = domain[name];\n if (value == null) {\n return;\n }\n domainValues[name] = domainChecks[name](value);\n domainTypes.push({ name, type: domainFieldTypes[name] });\n });\n const encoder = TypedDataEncoder.from(types);\n // Get the normalized types\n types = encoder.types;\n const typesWithDomain = Object.assign({}, types);\n assertArgument(typesWithDomain.EIP712Domain == null, \"types must not contain EIP712Domain type\", \"types.EIP712Domain\", types);\n typesWithDomain.EIP712Domain = domainTypes;\n // Validate the data structures and types\n encoder.encode(value);\n return {\n types: typesWithDomain,\n domain: domainValues,\n primaryType: encoder.primaryType,\n message: encoder.visit(value, (type, value) => {\n // bytes\n if (type.match(/^bytes(\\d*)/)) {\n return hexlify(getBytes(value));\n }\n // uint or int\n if (type.match(/^u?int/)) {\n return getBigInt(value).toString();\n }\n switch (type) {\n case \"address\":\n return value.toLowerCase();\n case \"bool\":\n return !!value;\n case \"string\":\n assertArgument(typeof (value) === \"string\", \"invalid string\", \"value\", value);\n return value;\n }\n assertArgument(false, \"unsupported type\", \"type\", type);\n })\n };\n }\n}\n/**\n * Compute the address used to sign the typed data for the %%signature%%.\n */\nexport function verifyTypedData(domain, types, value, signature) {\n return recoverAddress(TypedDataEncoder.hash(domain, types, value), signature);\n}\n//# sourceMappingURL=typed-data.js.map","/**\n * A fragment is a single item from an ABI, which may represent any of:\n *\n * - [Functions](FunctionFragment)\n * - [Events](EventFragment)\n * - [Constructors](ConstructorFragment)\n * - Custom [Errors](ErrorFragment)\n * - [Fallback or Receive](FallbackFragment) functions\n *\n * @_subsection api/abi/abi-coder:Fragments [about-fragments]\n */\nimport { defineProperties, getBigInt, getNumber, assert, assertPrivate, assertArgument } from \"../utils/index.js\";\nimport { id } from \"../hash/index.js\";\n;\n// [ \"a\", \"b\" ] => { \"a\": 1, \"b\": 1 }\nfunction setify(items) {\n const result = new Set();\n items.forEach((k) => result.add(k));\n return Object.freeze(result);\n}\nconst _kwVisibDeploy = \"external public payable override\";\nconst KwVisibDeploy = setify(_kwVisibDeploy.split(\" \"));\n// Visibility Keywords\nconst _kwVisib = \"constant external internal payable private public pure view override\";\nconst KwVisib = setify(_kwVisib.split(\" \"));\nconst _kwTypes = \"constructor error event fallback function receive struct\";\nconst KwTypes = setify(_kwTypes.split(\" \"));\nconst _kwModifiers = \"calldata memory storage payable indexed\";\nconst KwModifiers = setify(_kwModifiers.split(\" \"));\nconst _kwOther = \"tuple returns\";\n// All Keywords\nconst _keywords = [_kwTypes, _kwModifiers, _kwOther, _kwVisib].join(\" \");\nconst Keywords = setify(_keywords.split(\" \"));\n// Single character tokens\nconst SimpleTokens = {\n \"(\": \"OPEN_PAREN\", \")\": \"CLOSE_PAREN\",\n \"[\": \"OPEN_BRACKET\", \"]\": \"CLOSE_BRACKET\",\n \",\": \"COMMA\", \"@\": \"AT\"\n};\n// Parser regexes to consume the next token\nconst regexWhitespacePrefix = new RegExp(\"^(\\\\s*)\");\nconst regexNumberPrefix = new RegExp(\"^([0-9]+)\");\nconst regexIdPrefix = new RegExp(\"^([a-zA-Z$_][a-zA-Z0-9$_]*)\");\n// Parser regexs to check validity\nconst regexId = new RegExp(\"^([a-zA-Z$_][a-zA-Z0-9$_]*)$\");\nconst regexType = new RegExp(\"^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$\");\nclass TokenString {\n #offset;\n #tokens;\n get offset() { return this.#offset; }\n get length() { return this.#tokens.length - this.#offset; }\n constructor(tokens) {\n this.#offset = 0;\n this.#tokens = tokens.slice();\n }\n clone() { return new TokenString(this.#tokens); }\n reset() { this.#offset = 0; }\n #subTokenString(from = 0, to = 0) {\n return new TokenString(this.#tokens.slice(from, to).map((t) => {\n return Object.freeze(Object.assign({}, t, {\n match: (t.match - from),\n linkBack: (t.linkBack - from),\n linkNext: (t.linkNext - from),\n }));\n }));\n }\n // Pops and returns the value of the next token, if it is a keyword in allowed; throws if out of tokens\n popKeyword(allowed) {\n const top = this.peek();\n if (top.type !== \"KEYWORD\" || !allowed.has(top.text)) {\n throw new Error(`expected keyword ${top.text}`);\n }\n return this.pop().text;\n }\n // Pops and returns the value of the next token if it is `type`; throws if out of tokens\n popType(type) {\n if (this.peek().type !== type) {\n const top = this.peek();\n throw new Error(`expected ${type}; got ${top.type} ${JSON.stringify(top.text)}`);\n }\n return this.pop().text;\n }\n // Pops and returns a \"(\" TOKENS \")\"\n popParen() {\n const top = this.peek();\n if (top.type !== \"OPEN_PAREN\") {\n throw new Error(\"bad start\");\n }\n const result = this.#subTokenString(this.#offset + 1, top.match + 1);\n this.#offset = top.match + 1;\n return result;\n }\n // Pops and returns the items within \"(\" ITEM1 \",\" ITEM2 \",\" ... \")\"\n popParams() {\n const top = this.peek();\n if (top.type !== \"OPEN_PAREN\") {\n throw new Error(\"bad start\");\n }\n const result = [];\n while (this.#offset < top.match - 1) {\n const link = this.peek().linkNext;\n result.push(this.#subTokenString(this.#offset + 1, link));\n this.#offset = link;\n }\n this.#offset = top.match + 1;\n return result;\n }\n // Returns the top Token, throwing if out of tokens\n peek() {\n if (this.#offset >= this.#tokens.length) {\n throw new Error(\"out-of-bounds\");\n }\n return this.#tokens[this.#offset];\n }\n // Returns the next value, if it is a keyword in `allowed`\n peekKeyword(allowed) {\n const top = this.peekType(\"KEYWORD\");\n return (top != null && allowed.has(top)) ? top : null;\n }\n // Returns the value of the next token if it is `type`\n peekType(type) {\n if (this.length === 0) {\n return null;\n }\n const top = this.peek();\n return (top.type === type) ? top.text : null;\n }\n // Returns the next token; throws if out of tokens\n pop() {\n const result = this.peek();\n this.#offset++;\n return result;\n }\n toString() {\n const tokens = [];\n for (let i = this.#offset; i < this.#tokens.length; i++) {\n const token = this.#tokens[i];\n tokens.push(`${token.type}:${token.text}`);\n }\n return ``;\n }\n}\nfunction lex(text) {\n const tokens = [];\n const throwError = (message) => {\n const token = (offset < text.length) ? JSON.stringify(text[offset]) : \"$EOI\";\n throw new Error(`invalid token ${token} at ${offset}: ${message}`);\n };\n let brackets = [];\n let commas = [];\n let offset = 0;\n while (offset < text.length) {\n // Strip off any leading whitespace\n let cur = text.substring(offset);\n let match = cur.match(regexWhitespacePrefix);\n if (match) {\n offset += match[1].length;\n cur = text.substring(offset);\n }\n const token = { depth: brackets.length, linkBack: -1, linkNext: -1, match: -1, type: \"\", text: \"\", offset, value: -1 };\n tokens.push(token);\n let type = (SimpleTokens[cur[0]] || \"\");\n if (type) {\n token.type = type;\n token.text = cur[0];\n offset++;\n if (type === \"OPEN_PAREN\") {\n brackets.push(tokens.length - 1);\n commas.push(tokens.length - 1);\n }\n else if (type == \"CLOSE_PAREN\") {\n if (brackets.length === 0) {\n throwError(\"no matching open bracket\");\n }\n token.match = brackets.pop();\n (tokens[token.match]).match = tokens.length - 1;\n token.depth--;\n token.linkBack = commas.pop();\n (tokens[token.linkBack]).linkNext = tokens.length - 1;\n }\n else if (type === \"COMMA\") {\n token.linkBack = commas.pop();\n (tokens[token.linkBack]).linkNext = tokens.length - 1;\n commas.push(tokens.length - 1);\n }\n else if (type === \"OPEN_BRACKET\") {\n token.type = \"BRACKET\";\n }\n else if (type === \"CLOSE_BRACKET\") {\n // Remove the CLOSE_BRACKET\n let suffix = tokens.pop().text;\n if (tokens.length > 0 && tokens[tokens.length - 1].type === \"NUMBER\") {\n const value = tokens.pop().text;\n suffix = value + suffix;\n (tokens[tokens.length - 1]).value = getNumber(value);\n }\n if (tokens.length === 0 || tokens[tokens.length - 1].type !== \"BRACKET\") {\n throw new Error(\"missing opening bracket\");\n }\n (tokens[tokens.length - 1]).text += suffix;\n }\n continue;\n }\n match = cur.match(regexIdPrefix);\n if (match) {\n token.text = match[1];\n offset += token.text.length;\n if (Keywords.has(token.text)) {\n token.type = \"KEYWORD\";\n continue;\n }\n if (token.text.match(regexType)) {\n token.type = \"TYPE\";\n continue;\n }\n token.type = \"ID\";\n continue;\n }\n match = cur.match(regexNumberPrefix);\n if (match) {\n token.text = match[1];\n token.type = \"NUMBER\";\n offset += token.text.length;\n continue;\n }\n throw new Error(`unexpected token ${JSON.stringify(cur[0])} at position ${offset}`);\n }\n return new TokenString(tokens.map((t) => Object.freeze(t)));\n}\n// Check only one of `allowed` is in `set`\nfunction allowSingle(set, allowed) {\n let included = [];\n for (const key in allowed.keys()) {\n if (set.has(key)) {\n included.push(key);\n }\n }\n if (included.length > 1) {\n throw new Error(`conflicting types: ${included.join(\", \")}`);\n }\n}\n// Functions to process a Solidity Signature TokenString from left-to-right for...\n// ...the name with an optional type, returning the name\nfunction consumeName(type, tokens) {\n if (tokens.peekKeyword(KwTypes)) {\n const keyword = tokens.pop().text;\n if (keyword !== type) {\n throw new Error(`expected ${type}, got ${keyword}`);\n }\n }\n return tokens.popType(\"ID\");\n}\n// ...all keywords matching allowed, returning the keywords\nfunction consumeKeywords(tokens, allowed) {\n const keywords = new Set();\n while (true) {\n const keyword = tokens.peekType(\"KEYWORD\");\n if (keyword == null || (allowed && !allowed.has(keyword))) {\n break;\n }\n tokens.pop();\n if (keywords.has(keyword)) {\n throw new Error(`duplicate keywords: ${JSON.stringify(keyword)}`);\n }\n keywords.add(keyword);\n }\n return Object.freeze(keywords);\n}\n// ...all visibility keywords, returning the coalesced mutability\nfunction consumeMutability(tokens) {\n let modifiers = consumeKeywords(tokens, KwVisib);\n // Detect conflicting modifiers\n allowSingle(modifiers, setify(\"constant payable nonpayable\".split(\" \")));\n allowSingle(modifiers, setify(\"pure view payable nonpayable\".split(\" \")));\n // Process mutability states\n if (modifiers.has(\"view\")) {\n return \"view\";\n }\n if (modifiers.has(\"pure\")) {\n return \"pure\";\n }\n if (modifiers.has(\"payable\")) {\n return \"payable\";\n }\n if (modifiers.has(\"nonpayable\")) {\n return \"nonpayable\";\n }\n // Process legacy `constant` last\n if (modifiers.has(\"constant\")) {\n return \"view\";\n }\n return \"nonpayable\";\n}\n// ...a parameter list, returning the ParamType list\nfunction consumeParams(tokens, allowIndexed) {\n return tokens.popParams().map((t) => ParamType.from(t, allowIndexed));\n}\n// ...a gas limit, returning a BigNumber or null if none\nfunction consumeGas(tokens) {\n if (tokens.peekType(\"AT\")) {\n tokens.pop();\n if (tokens.peekType(\"NUMBER\")) {\n return getBigInt(tokens.pop().text);\n }\n throw new Error(\"invalid gas\");\n }\n return null;\n}\nfunction consumeEoi(tokens) {\n if (tokens.length) {\n throw new Error(`unexpected tokens at offset ${tokens.offset}: ${tokens.toString()}`);\n }\n}\nconst regexArrayType = new RegExp(/^(.*)\\[([0-9]*)\\]$/);\nfunction verifyBasicType(type) {\n const match = type.match(regexType);\n assertArgument(match, \"invalid type\", \"type\", type);\n if (type === \"uint\") {\n return \"uint256\";\n }\n if (type === \"int\") {\n return \"int256\";\n }\n if (match[2]) {\n // bytesXX\n const length = parseInt(match[2]);\n assertArgument(length !== 0 && length <= 32, \"invalid bytes length\", \"type\", type);\n }\n else if (match[3]) {\n // intXX or uintXX\n const size = parseInt(match[3]);\n assertArgument(size !== 0 && size <= 256 && (size % 8) === 0, \"invalid numeric width\", \"type\", type);\n }\n return type;\n}\n// Make the Fragment constructors effectively private\nconst _guard = {};\nconst internal = Symbol.for(\"_ethers_internal\");\nconst ParamTypeInternal = \"_ParamTypeInternal\";\nconst ErrorFragmentInternal = \"_ErrorInternal\";\nconst EventFragmentInternal = \"_EventInternal\";\nconst ConstructorFragmentInternal = \"_ConstructorInternal\";\nconst FallbackFragmentInternal = \"_FallbackInternal\";\nconst FunctionFragmentInternal = \"_FunctionInternal\";\nconst StructFragmentInternal = \"_StructInternal\";\n/**\n * Each input and output of a [[Fragment]] is an Array of **ParamType**.\n */\nexport class ParamType {\n /**\n * The local name of the parameter (or ``\"\"`` if unbound)\n */\n name;\n /**\n * The fully qualified type (e.g. ``\"address\"``, ``\"tuple(address)\"``,\n * ``\"uint256[3][]\"``)\n */\n type;\n /**\n * The base type (e.g. ``\"address\"``, ``\"tuple\"``, ``\"array\"``)\n */\n baseType;\n /**\n * True if the parameters is indexed.\n *\n * For non-indexable types this is ``null``.\n */\n indexed;\n /**\n * The components for the tuple.\n *\n * For non-tuple types this is ``null``.\n */\n components;\n /**\n * The array length, or ``-1`` for dynamic-lengthed arrays.\n *\n * For non-array types this is ``null``.\n */\n arrayLength;\n /**\n * The type of each child in the array.\n *\n * For non-array types this is ``null``.\n */\n arrayChildren;\n /**\n * @private\n */\n constructor(guard, name, type, baseType, indexed, components, arrayLength, arrayChildren) {\n assertPrivate(guard, _guard, \"ParamType\");\n Object.defineProperty(this, internal, { value: ParamTypeInternal });\n if (components) {\n components = Object.freeze(components.slice());\n }\n if (baseType === \"array\") {\n if (arrayLength == null || arrayChildren == null) {\n throw new Error(\"\");\n }\n }\n else if (arrayLength != null || arrayChildren != null) {\n throw new Error(\"\");\n }\n if (baseType === \"tuple\") {\n if (components == null) {\n throw new Error(\"\");\n }\n }\n else if (components != null) {\n throw new Error(\"\");\n }\n defineProperties(this, {\n name, type, baseType, indexed, components, arrayLength, arrayChildren\n });\n }\n /**\n * Return a string representation of this type.\n *\n * For example,\n *\n * ``sighash\" => \"(uint256,address)\"``\n *\n * ``\"minimal\" => \"tuple(uint256,address) indexed\"``\n *\n * ``\"full\" => \"tuple(uint256 foo, address bar) indexed baz\"``\n */\n format(format) {\n if (format == null) {\n format = \"sighash\";\n }\n if (format === \"json\") {\n const name = this.name || \"\";\n if (this.isArray()) {\n const result = JSON.parse(this.arrayChildren.format(\"json\"));\n result.name = name;\n result.type += `[${(this.arrayLength < 0 ? \"\" : String(this.arrayLength))}]`;\n return JSON.stringify(result);\n }\n const result = {\n type: ((this.baseType === \"tuple\") ? \"tuple\" : this.type),\n name\n };\n if (typeof (this.indexed) === \"boolean\") {\n result.indexed = this.indexed;\n }\n if (this.isTuple()) {\n result.components = this.components.map((c) => JSON.parse(c.format(format)));\n }\n return JSON.stringify(result);\n }\n let result = \"\";\n // Array\n if (this.isArray()) {\n result += this.arrayChildren.format(format);\n result += `[${(this.arrayLength < 0 ? \"\" : String(this.arrayLength))}]`;\n }\n else {\n if (this.isTuple()) {\n result += \"(\" + this.components.map((comp) => comp.format(format)).join((format === \"full\") ? \", \" : \",\") + \")\";\n }\n else {\n result += this.type;\n }\n }\n if (format !== \"sighash\") {\n if (this.indexed === true) {\n result += \" indexed\";\n }\n if (format === \"full\" && this.name) {\n result += \" \" + this.name;\n }\n }\n return result;\n }\n /**\n * Returns true if %%this%% is an Array type.\n *\n * This provides a type gaurd ensuring that [[arrayChildren]]\n * and [[arrayLength]] are non-null.\n */\n isArray() {\n return (this.baseType === \"array\");\n }\n /**\n * Returns true if %%this%% is a Tuple type.\n *\n * This provides a type gaurd ensuring that [[components]]\n * is non-null.\n */\n isTuple() {\n return (this.baseType === \"tuple\");\n }\n /**\n * Returns true if %%this%% is an Indexable type.\n *\n * This provides a type gaurd ensuring that [[indexed]]\n * is non-null.\n */\n isIndexable() {\n return (this.indexed != null);\n }\n /**\n * Walks the **ParamType** with %%value%%, calling %%process%%\n * on each type, destructing the %%value%% recursively.\n */\n walk(value, process) {\n if (this.isArray()) {\n if (!Array.isArray(value)) {\n throw new Error(\"invalid array value\");\n }\n if (this.arrayLength !== -1 && value.length !== this.arrayLength) {\n throw new Error(\"array is wrong length\");\n }\n const _this = this;\n return value.map((v) => (_this.arrayChildren.walk(v, process)));\n }\n if (this.isTuple()) {\n if (!Array.isArray(value)) {\n throw new Error(\"invalid tuple value\");\n }\n if (value.length !== this.components.length) {\n throw new Error(\"array is wrong length\");\n }\n const _this = this;\n return value.map((v, i) => (_this.components[i].walk(v, process)));\n }\n return process(this.type, value);\n }\n #walkAsync(promises, value, process, setValue) {\n if (this.isArray()) {\n if (!Array.isArray(value)) {\n throw new Error(\"invalid array value\");\n }\n if (this.arrayLength !== -1 && value.length !== this.arrayLength) {\n throw new Error(\"array is wrong length\");\n }\n const childType = this.arrayChildren;\n const result = value.slice();\n result.forEach((value, index) => {\n childType.#walkAsync(promises, value, process, (value) => {\n result[index] = value;\n });\n });\n setValue(result);\n return;\n }\n if (this.isTuple()) {\n const components = this.components;\n // Convert the object into an array\n let result;\n if (Array.isArray(value)) {\n result = value.slice();\n }\n else {\n if (value == null || typeof (value) !== \"object\") {\n throw new Error(\"invalid tuple value\");\n }\n result = components.map((param) => {\n if (!param.name) {\n throw new Error(\"cannot use object value with unnamed components\");\n }\n if (!(param.name in value)) {\n throw new Error(`missing value for component ${param.name}`);\n }\n return value[param.name];\n });\n }\n if (result.length !== this.components.length) {\n throw new Error(\"array is wrong length\");\n }\n result.forEach((value, index) => {\n components[index].#walkAsync(promises, value, process, (value) => {\n result[index] = value;\n });\n });\n setValue(result);\n return;\n }\n const result = process(this.type, value);\n if (result.then) {\n promises.push((async function () { setValue(await result); })());\n }\n else {\n setValue(result);\n }\n }\n /**\n * Walks the **ParamType** with %%value%%, asynchronously calling\n * %%process%% on each type, destructing the %%value%% recursively.\n *\n * This can be used to resolve ENS naes by walking and resolving each\n * ``\"address\"`` type.\n */\n async walkAsync(value, process) {\n const promises = [];\n const result = [value];\n this.#walkAsync(promises, value, process, (value) => {\n result[0] = value;\n });\n if (promises.length) {\n await Promise.all(promises);\n }\n return result[0];\n }\n /**\n * Creates a new **ParamType** for %%obj%%.\n *\n * If %%allowIndexed%% then the ``indexed`` keyword is permitted,\n * otherwise the ``indexed`` keyword will throw an error.\n */\n static from(obj, allowIndexed) {\n if (ParamType.isParamType(obj)) {\n return obj;\n }\n if (typeof (obj) === \"string\") {\n try {\n return ParamType.from(lex(obj), allowIndexed);\n }\n catch (error) {\n assertArgument(false, \"invalid param type\", \"obj\", obj);\n }\n }\n else if (obj instanceof TokenString) {\n let type = \"\", baseType = \"\";\n let comps = null;\n if (consumeKeywords(obj, setify([\"tuple\"])).has(\"tuple\") || obj.peekType(\"OPEN_PAREN\")) {\n // Tuple\n baseType = \"tuple\";\n comps = obj.popParams().map((t) => ParamType.from(t));\n type = `tuple(${comps.map((c) => c.format()).join(\",\")})`;\n }\n else {\n // Normal\n type = verifyBasicType(obj.popType(\"TYPE\"));\n baseType = type;\n }\n // Check for Array\n let arrayChildren = null;\n let arrayLength = null;\n while (obj.length && obj.peekType(\"BRACKET\")) {\n const bracket = obj.pop(); //arrays[i];\n arrayChildren = new ParamType(_guard, \"\", type, baseType, null, comps, arrayLength, arrayChildren);\n arrayLength = bracket.value;\n type += bracket.text;\n baseType = \"array\";\n comps = null;\n }\n let indexed = null;\n const keywords = consumeKeywords(obj, KwModifiers);\n if (keywords.has(\"indexed\")) {\n if (!allowIndexed) {\n throw new Error(\"\");\n }\n indexed = true;\n }\n const name = (obj.peekType(\"ID\") ? obj.pop().text : \"\");\n if (obj.length) {\n throw new Error(\"leftover tokens\");\n }\n return new ParamType(_guard, name, type, baseType, indexed, comps, arrayLength, arrayChildren);\n }\n const name = obj.name;\n assertArgument(!name || (typeof (name) === \"string\" && name.match(regexId)), \"invalid name\", \"obj.name\", name);\n let indexed = obj.indexed;\n if (indexed != null) {\n assertArgument(allowIndexed, \"parameter cannot be indexed\", \"obj.indexed\", obj.indexed);\n indexed = !!indexed;\n }\n let type = obj.type;\n let arrayMatch = type.match(regexArrayType);\n if (arrayMatch) {\n const arrayLength = parseInt(arrayMatch[2] || \"-1\");\n const arrayChildren = ParamType.from({\n type: arrayMatch[1],\n components: obj.components\n });\n return new ParamType(_guard, name || \"\", type, \"array\", indexed, null, arrayLength, arrayChildren);\n }\n if (type === \"tuple\" || type.startsWith(\"tuple(\" /* fix: ) */) || type.startsWith(\"(\" /* fix: ) */)) {\n const comps = (obj.components != null) ? obj.components.map((c) => ParamType.from(c)) : null;\n const tuple = new ParamType(_guard, name || \"\", type, \"tuple\", indexed, comps, null, null);\n // @TODO: use lexer to validate and normalize type\n return tuple;\n }\n type = verifyBasicType(obj.type);\n return new ParamType(_guard, name || \"\", type, type, indexed, null, null, null);\n }\n /**\n * Returns true if %%value%% is a **ParamType**.\n */\n static isParamType(value) {\n return (value && value[internal] === ParamTypeInternal);\n }\n}\n/**\n * An abstract class to represent An individual fragment from a parse ABI.\n */\nexport class Fragment {\n /**\n * The type of the fragment.\n */\n type;\n /**\n * The inputs for the fragment.\n */\n inputs;\n /**\n * @private\n */\n constructor(guard, type, inputs) {\n assertPrivate(guard, _guard, \"Fragment\");\n inputs = Object.freeze(inputs.slice());\n defineProperties(this, { type, inputs });\n }\n /**\n * Creates a new **Fragment** for %%obj%%, wich can be any supported\n * ABI frgament type.\n */\n static from(obj) {\n if (typeof (obj) === \"string\") {\n // Try parsing JSON...\n try {\n Fragment.from(JSON.parse(obj));\n }\n catch (e) { }\n // ...otherwise, use the human-readable lexer\n return Fragment.from(lex(obj));\n }\n if (obj instanceof TokenString) {\n // Human-readable ABI (already lexed)\n const type = obj.peekKeyword(KwTypes);\n switch (type) {\n case \"constructor\": return ConstructorFragment.from(obj);\n case \"error\": return ErrorFragment.from(obj);\n case \"event\": return EventFragment.from(obj);\n case \"fallback\":\n case \"receive\":\n return FallbackFragment.from(obj);\n case \"function\": return FunctionFragment.from(obj);\n case \"struct\": return StructFragment.from(obj);\n }\n }\n else if (typeof (obj) === \"object\") {\n // JSON ABI\n switch (obj.type) {\n case \"constructor\": return ConstructorFragment.from(obj);\n case \"error\": return ErrorFragment.from(obj);\n case \"event\": return EventFragment.from(obj);\n case \"fallback\":\n case \"receive\":\n return FallbackFragment.from(obj);\n case \"function\": return FunctionFragment.from(obj);\n case \"struct\": return StructFragment.from(obj);\n }\n assert(false, `unsupported type: ${obj.type}`, \"UNSUPPORTED_OPERATION\", {\n operation: \"Fragment.from\"\n });\n }\n assertArgument(false, \"unsupported frgament object\", \"obj\", obj);\n }\n /**\n * Returns true if %%value%% is a [[ConstructorFragment]].\n */\n static isConstructor(value) {\n return ConstructorFragment.isFragment(value);\n }\n /**\n * Returns true if %%value%% is an [[ErrorFragment]].\n */\n static isError(value) {\n return ErrorFragment.isFragment(value);\n }\n /**\n * Returns true if %%value%% is an [[EventFragment]].\n */\n static isEvent(value) {\n return EventFragment.isFragment(value);\n }\n /**\n * Returns true if %%value%% is a [[FunctionFragment]].\n */\n static isFunction(value) {\n return FunctionFragment.isFragment(value);\n }\n /**\n * Returns true if %%value%% is a [[StructFragment]].\n */\n static isStruct(value) {\n return StructFragment.isFragment(value);\n }\n}\n/**\n * An abstract class to represent An individual fragment\n * which has a name from a parse ABI.\n */\nexport class NamedFragment extends Fragment {\n /**\n * The name of the fragment.\n */\n name;\n /**\n * @private\n */\n constructor(guard, type, name, inputs) {\n super(guard, type, inputs);\n assertArgument(typeof (name) === \"string\" && name.match(regexId), \"invalid identifier\", \"name\", name);\n inputs = Object.freeze(inputs.slice());\n defineProperties(this, { name });\n }\n}\nfunction joinParams(format, params) {\n return \"(\" + params.map((p) => p.format(format)).join((format === \"full\") ? \", \" : \",\") + \")\";\n}\n/**\n * A Fragment which represents a //Custom Error//.\n */\nexport class ErrorFragment extends NamedFragment {\n /**\n * @private\n */\n constructor(guard, name, inputs) {\n super(guard, \"error\", name, inputs);\n Object.defineProperty(this, internal, { value: ErrorFragmentInternal });\n }\n /**\n * The Custom Error selector.\n */\n get selector() {\n return id(this.format(\"sighash\")).substring(0, 10);\n }\n /**\n * Returns a string representation of this fragment as %%format%%.\n */\n format(format) {\n if (format == null) {\n format = \"sighash\";\n }\n if (format === \"json\") {\n return JSON.stringify({\n type: \"error\",\n name: this.name,\n inputs: this.inputs.map((input) => JSON.parse(input.format(format))),\n });\n }\n const result = [];\n if (format !== \"sighash\") {\n result.push(\"error\");\n }\n result.push(this.name + joinParams(format, this.inputs));\n return result.join(\" \");\n }\n /**\n * Returns a new **ErrorFragment** for %%obj%%.\n */\n static from(obj) {\n if (ErrorFragment.isFragment(obj)) {\n return obj;\n }\n if (typeof (obj) === \"string\") {\n return ErrorFragment.from(lex(obj));\n }\n else if (obj instanceof TokenString) {\n const name = consumeName(\"error\", obj);\n const inputs = consumeParams(obj);\n consumeEoi(obj);\n return new ErrorFragment(_guard, name, inputs);\n }\n return new ErrorFragment(_guard, obj.name, obj.inputs ? obj.inputs.map(ParamType.from) : []);\n }\n /**\n * Returns ``true`` and provides a type guard if %%value%% is an\n * **ErrorFragment**.\n */\n static isFragment(value) {\n return (value && value[internal] === ErrorFragmentInternal);\n }\n}\n/**\n * A Fragment which represents an Event.\n */\nexport class EventFragment extends NamedFragment {\n /**\n * Whether this event is anonymous.\n */\n anonymous;\n /**\n * @private\n */\n constructor(guard, name, inputs, anonymous) {\n super(guard, \"event\", name, inputs);\n Object.defineProperty(this, internal, { value: EventFragmentInternal });\n defineProperties(this, { anonymous });\n }\n /**\n * The Event topic hash.\n */\n get topicHash() {\n return id(this.format(\"sighash\"));\n }\n /**\n * Returns a string representation of this event as %%format%%.\n */\n format(format) {\n if (format == null) {\n format = \"sighash\";\n }\n if (format === \"json\") {\n return JSON.stringify({\n type: \"event\",\n anonymous: this.anonymous,\n name: this.name,\n inputs: this.inputs.map((i) => JSON.parse(i.format(format)))\n });\n }\n const result = [];\n if (format !== \"sighash\") {\n result.push(\"event\");\n }\n result.push(this.name + joinParams(format, this.inputs));\n if (format !== \"sighash\" && this.anonymous) {\n result.push(\"anonymous\");\n }\n return result.join(\" \");\n }\n /**\n * Return the topic hash for an event with %%name%% and %%params%%.\n */\n static getTopicHash(name, params) {\n params = (params || []).map((p) => ParamType.from(p));\n const fragment = new EventFragment(_guard, name, params, false);\n return fragment.topicHash;\n }\n /**\n * Returns a new **EventFragment** for %%obj%%.\n */\n static from(obj) {\n if (EventFragment.isFragment(obj)) {\n return obj;\n }\n if (typeof (obj) === \"string\") {\n try {\n return EventFragment.from(lex(obj));\n }\n catch (error) {\n assertArgument(false, \"invalid event fragment\", \"obj\", obj);\n }\n }\n else if (obj instanceof TokenString) {\n const name = consumeName(\"event\", obj);\n const inputs = consumeParams(obj, true);\n const anonymous = !!consumeKeywords(obj, setify([\"anonymous\"])).has(\"anonymous\");\n consumeEoi(obj);\n return new EventFragment(_guard, name, inputs, anonymous);\n }\n return new EventFragment(_guard, obj.name, obj.inputs ? obj.inputs.map((p) => ParamType.from(p, true)) : [], !!obj.anonymous);\n }\n /**\n * Returns ``true`` and provides a type guard if %%value%% is an\n * **EventFragment**.\n */\n static isFragment(value) {\n return (value && value[internal] === EventFragmentInternal);\n }\n}\n/**\n * A Fragment which represents a constructor.\n */\nexport class ConstructorFragment extends Fragment {\n /**\n * Whether the constructor can receive an endowment.\n */\n payable;\n /**\n * The recommended gas limit for deployment or ``null``.\n */\n gas;\n /**\n * @private\n */\n constructor(guard, type, inputs, payable, gas) {\n super(guard, type, inputs);\n Object.defineProperty(this, internal, { value: ConstructorFragmentInternal });\n defineProperties(this, { payable, gas });\n }\n /**\n * Returns a string representation of this constructor as %%format%%.\n */\n format(format) {\n assert(format != null && format !== \"sighash\", \"cannot format a constructor for sighash\", \"UNSUPPORTED_OPERATION\", { operation: \"format(sighash)\" });\n if (format === \"json\") {\n return JSON.stringify({\n type: \"constructor\",\n stateMutability: (this.payable ? \"payable\" : \"undefined\"),\n payable: this.payable,\n gas: ((this.gas != null) ? this.gas : undefined),\n inputs: this.inputs.map((i) => JSON.parse(i.format(format)))\n });\n }\n const result = [`constructor${joinParams(format, this.inputs)}`];\n if (this.payable) {\n result.push(\"payable\");\n }\n if (this.gas != null) {\n result.push(`@${this.gas.toString()}`);\n }\n return result.join(\" \");\n }\n /**\n * Returns a new **ConstructorFragment** for %%obj%%.\n */\n static from(obj) {\n if (ConstructorFragment.isFragment(obj)) {\n return obj;\n }\n if (typeof (obj) === \"string\") {\n try {\n return ConstructorFragment.from(lex(obj));\n }\n catch (error) {\n assertArgument(false, \"invalid constuctor fragment\", \"obj\", obj);\n }\n }\n else if (obj instanceof TokenString) {\n consumeKeywords(obj, setify([\"constructor\"]));\n const inputs = consumeParams(obj);\n const payable = !!consumeKeywords(obj, KwVisibDeploy).has(\"payable\");\n const gas = consumeGas(obj);\n consumeEoi(obj);\n return new ConstructorFragment(_guard, \"constructor\", inputs, payable, gas);\n }\n return new ConstructorFragment(_guard, \"constructor\", obj.inputs ? obj.inputs.map(ParamType.from) : [], !!obj.payable, (obj.gas != null) ? obj.gas : null);\n }\n /**\n * Returns ``true`` and provides a type guard if %%value%% is a\n * **ConstructorFragment**.\n */\n static isFragment(value) {\n return (value && value[internal] === ConstructorFragmentInternal);\n }\n}\n/**\n * A Fragment which represents a method.\n */\nexport class FallbackFragment extends Fragment {\n /**\n * If the function can be sent value during invocation.\n */\n payable;\n constructor(guard, inputs, payable) {\n super(guard, \"fallback\", inputs);\n Object.defineProperty(this, internal, { value: FallbackFragmentInternal });\n defineProperties(this, { payable });\n }\n /**\n * Returns a string representation of this fallback as %%format%%.\n */\n format(format) {\n const type = ((this.inputs.length === 0) ? \"receive\" : \"fallback\");\n if (format === \"json\") {\n const stateMutability = (this.payable ? \"payable\" : \"nonpayable\");\n return JSON.stringify({ type, stateMutability });\n }\n return `${type}()${this.payable ? \" payable\" : \"\"}`;\n }\n /**\n * Returns a new **FallbackFragment** for %%obj%%.\n */\n static from(obj) {\n if (FallbackFragment.isFragment(obj)) {\n return obj;\n }\n if (typeof (obj) === \"string\") {\n try {\n return FallbackFragment.from(lex(obj));\n }\n catch (error) {\n assertArgument(false, \"invalid fallback fragment\", \"obj\", obj);\n }\n }\n else if (obj instanceof TokenString) {\n const errorObj = obj.toString();\n const topIsValid = obj.peekKeyword(setify([\"fallback\", \"receive\"]));\n assertArgument(topIsValid, \"type must be fallback or receive\", \"obj\", errorObj);\n const type = obj.popKeyword(setify([\"fallback\", \"receive\"]));\n // receive()\n if (type === \"receive\") {\n const inputs = consumeParams(obj);\n assertArgument(inputs.length === 0, `receive cannot have arguments`, \"obj.inputs\", inputs);\n consumeKeywords(obj, setify([\"payable\"]));\n consumeEoi(obj);\n return new FallbackFragment(_guard, [], true);\n }\n // fallback() [payable]\n // fallback(bytes) [payable] returns (bytes)\n let inputs = consumeParams(obj);\n if (inputs.length) {\n assertArgument(inputs.length === 1 && inputs[0].type === \"bytes\", \"invalid fallback inputs\", \"obj.inputs\", inputs.map((i) => i.format(\"minimal\")).join(\", \"));\n }\n else {\n inputs = [ParamType.from(\"bytes\")];\n }\n const mutability = consumeMutability(obj);\n assertArgument(mutability === \"nonpayable\" || mutability === \"payable\", \"fallback cannot be constants\", \"obj.stateMutability\", mutability);\n if (consumeKeywords(obj, setify([\"returns\"])).has(\"returns\")) {\n const outputs = consumeParams(obj);\n assertArgument(outputs.length === 1 && outputs[0].type === \"bytes\", \"invalid fallback outputs\", \"obj.outputs\", outputs.map((i) => i.format(\"minimal\")).join(\", \"));\n }\n consumeEoi(obj);\n return new FallbackFragment(_guard, inputs, mutability === \"payable\");\n }\n if (obj.type === \"receive\") {\n return new FallbackFragment(_guard, [], true);\n }\n if (obj.type === \"fallback\") {\n const inputs = [ParamType.from(\"bytes\")];\n const payable = (obj.stateMutability === \"payable\");\n return new FallbackFragment(_guard, inputs, payable);\n }\n assertArgument(false, \"invalid fallback description\", \"obj\", obj);\n }\n /**\n * Returns ``true`` and provides a type guard if %%value%% is a\n * **FallbackFragment**.\n */\n static isFragment(value) {\n return (value && value[internal] === FallbackFragmentInternal);\n }\n}\n/**\n * A Fragment which represents a method.\n */\nexport class FunctionFragment extends NamedFragment {\n /**\n * If the function is constant (e.g. ``pure`` or ``view`` functions).\n */\n constant;\n /**\n * The returned types for the result of calling this function.\n */\n outputs;\n /**\n * The state mutability (e.g. ``payable``, ``nonpayable``, ``view``\n * or ``pure``)\n */\n stateMutability;\n /**\n * If the function can be sent value during invocation.\n */\n payable;\n /**\n * The recommended gas limit to send when calling this function.\n */\n gas;\n /**\n * @private\n */\n constructor(guard, name, stateMutability, inputs, outputs, gas) {\n super(guard, \"function\", name, inputs);\n Object.defineProperty(this, internal, { value: FunctionFragmentInternal });\n outputs = Object.freeze(outputs.slice());\n const constant = (stateMutability === \"view\" || stateMutability === \"pure\");\n const payable = (stateMutability === \"payable\");\n defineProperties(this, { constant, gas, outputs, payable, stateMutability });\n }\n /**\n * The Function selector.\n */\n get selector() {\n return id(this.format(\"sighash\")).substring(0, 10);\n }\n /**\n * Returns a string representation of this function as %%format%%.\n */\n format(format) {\n if (format == null) {\n format = \"sighash\";\n }\n if (format === \"json\") {\n return JSON.stringify({\n type: \"function\",\n name: this.name,\n constant: this.constant,\n stateMutability: ((this.stateMutability !== \"nonpayable\") ? this.stateMutability : undefined),\n payable: this.payable,\n gas: ((this.gas != null) ? this.gas : undefined),\n inputs: this.inputs.map((i) => JSON.parse(i.format(format))),\n outputs: this.outputs.map((o) => JSON.parse(o.format(format))),\n });\n }\n const result = [];\n if (format !== \"sighash\") {\n result.push(\"function\");\n }\n result.push(this.name + joinParams(format, this.inputs));\n if (format !== \"sighash\") {\n if (this.stateMutability !== \"nonpayable\") {\n result.push(this.stateMutability);\n }\n if (this.outputs && this.outputs.length) {\n result.push(\"returns\");\n result.push(joinParams(format, this.outputs));\n }\n if (this.gas != null) {\n result.push(`@${this.gas.toString()}`);\n }\n }\n return result.join(\" \");\n }\n /**\n * Return the selector for a function with %%name%% and %%params%%.\n */\n static getSelector(name, params) {\n params = (params || []).map((p) => ParamType.from(p));\n const fragment = new FunctionFragment(_guard, name, \"view\", params, [], null);\n return fragment.selector;\n }\n /**\n * Returns a new **FunctionFragment** for %%obj%%.\n */\n static from(obj) {\n if (FunctionFragment.isFragment(obj)) {\n return obj;\n }\n if (typeof (obj) === \"string\") {\n try {\n return FunctionFragment.from(lex(obj));\n }\n catch (error) {\n assertArgument(false, \"invalid function fragment\", \"obj\", obj);\n }\n }\n else if (obj instanceof TokenString) {\n const name = consumeName(\"function\", obj);\n const inputs = consumeParams(obj);\n const mutability = consumeMutability(obj);\n let outputs = [];\n if (consumeKeywords(obj, setify([\"returns\"])).has(\"returns\")) {\n outputs = consumeParams(obj);\n }\n const gas = consumeGas(obj);\n consumeEoi(obj);\n return new FunctionFragment(_guard, name, mutability, inputs, outputs, gas);\n }\n let stateMutability = obj.stateMutability;\n // Use legacy Solidity ABI logic if stateMutability is missing\n if (stateMutability == null) {\n stateMutability = \"payable\";\n if (typeof (obj.constant) === \"boolean\") {\n stateMutability = \"view\";\n if (!obj.constant) {\n stateMutability = \"payable\";\n if (typeof (obj.payable) === \"boolean\" && !obj.payable) {\n stateMutability = \"nonpayable\";\n }\n }\n }\n else if (typeof (obj.payable) === \"boolean\" && !obj.payable) {\n stateMutability = \"nonpayable\";\n }\n }\n // @TODO: verifyState for stateMutability (e.g. throw if\n // payable: false but stateMutability is \"nonpayable\")\n return new FunctionFragment(_guard, obj.name, stateMutability, obj.inputs ? obj.inputs.map(ParamType.from) : [], obj.outputs ? obj.outputs.map(ParamType.from) : [], (obj.gas != null) ? obj.gas : null);\n }\n /**\n * Returns ``true`` and provides a type guard if %%value%% is a\n * **FunctionFragment**.\n */\n static isFragment(value) {\n return (value && value[internal] === FunctionFragmentInternal);\n }\n}\n/**\n * A Fragment which represents a structure.\n */\nexport class StructFragment extends NamedFragment {\n /**\n * @private\n */\n constructor(guard, name, inputs) {\n super(guard, \"struct\", name, inputs);\n Object.defineProperty(this, internal, { value: StructFragmentInternal });\n }\n /**\n * Returns a string representation of this struct as %%format%%.\n */\n format() {\n throw new Error(\"@TODO\");\n }\n /**\n * Returns a new **StructFragment** for %%obj%%.\n */\n static from(obj) {\n if (typeof (obj) === \"string\") {\n try {\n return StructFragment.from(lex(obj));\n }\n catch (error) {\n assertArgument(false, \"invalid struct fragment\", \"obj\", obj);\n }\n }\n else if (obj instanceof TokenString) {\n const name = consumeName(\"struct\", obj);\n const inputs = consumeParams(obj);\n consumeEoi(obj);\n return new StructFragment(_guard, name, inputs);\n }\n return new StructFragment(_guard, obj.name, obj.inputs ? obj.inputs.map(ParamType.from) : []);\n }\n // @TODO: fix this return type\n /**\n * Returns ``true`` and provides a type guard if %%value%% is a\n * **StructFragment**.\n */\n static isFragment(value) {\n return (value && value[internal] === StructFragmentInternal);\n }\n}\n//# sourceMappingURL=fragments.js.map","/**\n * When sending values to or receiving values from a [[Contract]], the\n * data is generally encoded using the [ABI standard](link-solc-abi).\n *\n * The AbiCoder provides a utility to encode values to ABI data and\n * decode values from ABI data.\n *\n * Most of the time, developers should favour the [[Contract]] class,\n * which further abstracts a lot of the finer details of ABI data.\n *\n * @_section api/abi/abi-coder:ABI Encoding\n */\n// See: https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI\nimport { assertArgumentCount, assertArgument } from \"../utils/index.js\";\nimport { Reader, Writer } from \"./coders/abstract-coder.js\";\nimport { AddressCoder } from \"./coders/address.js\";\nimport { ArrayCoder } from \"./coders/array.js\";\nimport { BooleanCoder } from \"./coders/boolean.js\";\nimport { BytesCoder } from \"./coders/bytes.js\";\nimport { FixedBytesCoder } from \"./coders/fixed-bytes.js\";\nimport { NullCoder } from \"./coders/null.js\";\nimport { NumberCoder } from \"./coders/number.js\";\nimport { StringCoder } from \"./coders/string.js\";\nimport { TupleCoder } from \"./coders/tuple.js\";\nimport { ParamType } from \"./fragments.js\";\nimport { getAddress } from \"../address/index.js\";\nimport { getBytes, hexlify, makeError } from \"../utils/index.js\";\n// https://docs.soliditylang.org/en/v0.8.17/control-structures.html\nconst PanicReasons = new Map();\nPanicReasons.set(0x00, \"GENERIC_PANIC\");\nPanicReasons.set(0x01, \"ASSERT_FALSE\");\nPanicReasons.set(0x11, \"OVERFLOW\");\nPanicReasons.set(0x12, \"DIVIDE_BY_ZERO\");\nPanicReasons.set(0x21, \"ENUM_RANGE_ERROR\");\nPanicReasons.set(0x22, \"BAD_STORAGE_DATA\");\nPanicReasons.set(0x31, \"STACK_UNDERFLOW\");\nPanicReasons.set(0x32, \"ARRAY_RANGE_ERROR\");\nPanicReasons.set(0x41, \"OUT_OF_MEMORY\");\nPanicReasons.set(0x51, \"UNINITIALIZED_FUNCTION_CALL\");\nconst paramTypeBytes = new RegExp(/^bytes([0-9]*)$/);\nconst paramTypeNumber = new RegExp(/^(u?int)([0-9]*)$/);\nlet defaultCoder = null;\nlet defaultMaxInflation = 1024;\nfunction getBuiltinCallException(action, tx, data, abiCoder) {\n let message = \"missing revert data\";\n let reason = null;\n const invocation = null;\n let revert = null;\n if (data) {\n message = \"execution reverted\";\n const bytes = getBytes(data);\n data = hexlify(data);\n if (bytes.length === 0) {\n message += \" (no data present; likely require(false) occurred\";\n reason = \"require(false)\";\n }\n else if (bytes.length % 32 !== 4) {\n message += \" (could not decode reason; invalid data length)\";\n }\n else if (hexlify(bytes.slice(0, 4)) === \"0x08c379a0\") {\n // Error(string)\n try {\n reason = abiCoder.decode([\"string\"], bytes.slice(4))[0];\n revert = {\n signature: \"Error(string)\",\n name: \"Error\",\n args: [reason]\n };\n message += `: ${JSON.stringify(reason)}`;\n }\n catch (error) {\n message += \" (could not decode reason; invalid string data)\";\n }\n }\n else if (hexlify(bytes.slice(0, 4)) === \"0x4e487b71\") {\n // Panic(uint256)\n try {\n const code = Number(abiCoder.decode([\"uint256\"], bytes.slice(4))[0]);\n revert = {\n signature: \"Panic(uint256)\",\n name: \"Panic\",\n args: [code]\n };\n reason = `Panic due to ${PanicReasons.get(code) || \"UNKNOWN\"}(${code})`;\n message += `: ${reason}`;\n }\n catch (error) {\n message += \" (could not decode panic code)\";\n }\n }\n else {\n message += \" (unknown custom error)\";\n }\n }\n const transaction = {\n to: (tx.to ? getAddress(tx.to) : null),\n data: (tx.data || \"0x\")\n };\n if (tx.from) {\n transaction.from = getAddress(tx.from);\n }\n return makeError(message, \"CALL_EXCEPTION\", {\n action, data, reason, transaction, invocation, revert\n });\n}\n/**\n * The **AbiCoder** is a low-level class responsible for encoding JavaScript\n * values into binary data and decoding binary data into JavaScript values.\n */\nexport class AbiCoder {\n #getCoder(param) {\n if (param.isArray()) {\n return new ArrayCoder(this.#getCoder(param.arrayChildren), param.arrayLength, param.name);\n }\n if (param.isTuple()) {\n return new TupleCoder(param.components.map((c) => this.#getCoder(c)), param.name);\n }\n switch (param.baseType) {\n case \"address\":\n return new AddressCoder(param.name);\n case \"bool\":\n return new BooleanCoder(param.name);\n case \"string\":\n return new StringCoder(param.name);\n case \"bytes\":\n return new BytesCoder(param.name);\n case \"\":\n return new NullCoder(param.name);\n }\n // u?int[0-9]*\n let match = param.type.match(paramTypeNumber);\n if (match) {\n let size = parseInt(match[2] || \"256\");\n assertArgument(size !== 0 && size <= 256 && (size % 8) === 0, \"invalid \" + match[1] + \" bit length\", \"param\", param);\n return new NumberCoder(size / 8, (match[1] === \"int\"), param.name);\n }\n // bytes[0-9]+\n match = param.type.match(paramTypeBytes);\n if (match) {\n let size = parseInt(match[1]);\n assertArgument(size !== 0 && size <= 32, \"invalid bytes length\", \"param\", param);\n return new FixedBytesCoder(size, param.name);\n }\n assertArgument(false, \"invalid type\", \"type\", param.type);\n }\n /**\n * Get the default values for the given %%types%%.\n *\n * For example, a ``uint`` is by default ``0`` and ``bool``\n * is by default ``false``.\n */\n getDefaultValue(types) {\n const coders = types.map((type) => this.#getCoder(ParamType.from(type)));\n const coder = new TupleCoder(coders, \"_\");\n return coder.defaultValue();\n }\n /**\n * Encode the %%values%% as the %%types%% into ABI data.\n *\n * @returns DataHexstring\n */\n encode(types, values) {\n assertArgumentCount(values.length, types.length, \"types/values length mismatch\");\n const coders = types.map((type) => this.#getCoder(ParamType.from(type)));\n const coder = (new TupleCoder(coders, \"_\"));\n const writer = new Writer();\n coder.encode(writer, values);\n return writer.data;\n }\n /**\n * Decode the ABI %%data%% as the %%types%% into values.\n *\n * If %%loose%% decoding is enabled, then strict padding is\n * not enforced. Some older versions of Solidity incorrectly\n * padded event data emitted from ``external`` functions.\n */\n decode(types, data, loose) {\n const coders = types.map((type) => this.#getCoder(ParamType.from(type)));\n const coder = new TupleCoder(coders, \"_\");\n return coder.decode(new Reader(data, loose, defaultMaxInflation));\n }\n static _setDefaultMaxInflation(value) {\n assertArgument(typeof (value) === \"number\" && Number.isInteger(value), \"invalid defaultMaxInflation factor\", \"value\", value);\n defaultMaxInflation = value;\n }\n /**\n * Returns the shared singleton instance of a default [[AbiCoder]].\n *\n * On the first call, the instance is created internally.\n */\n static defaultAbiCoder() {\n if (defaultCoder == null) {\n defaultCoder = new AbiCoder();\n }\n return defaultCoder;\n }\n /**\n * Returns an ethers-compatible [[CallExceptionError]] Error for the given\n * result %%data%% for the [[CallExceptionAction]] %%action%% against\n * the Transaction %%tx%%.\n */\n static getBuiltinCallException(action, tx, data) {\n return getBuiltinCallException(action, tx, data, AbiCoder.defaultAbiCoder());\n }\n}\n//# sourceMappingURL=abi-coder.js.map","/**\n * About bytes32 strings...\n *\n * @_docloc: api/utils:Bytes32 Strings\n */\nimport { getBytes, toUtf8Bytes, toUtf8String, zeroPadBytes } from \"../utils/index.js\";\n/**\n * Encodes %%text%% as a Bytes32 string.\n */\nexport function encodeBytes32String(text) {\n // Get the bytes\n const bytes = toUtf8Bytes(text);\n // Check we have room for null-termination\n if (bytes.length > 31) {\n throw new Error(\"bytes32 string must be less than 32 bytes\");\n }\n // Zero-pad (implicitly null-terminates)\n return zeroPadBytes(bytes, 32);\n}\n/**\n * Encodes the Bytes32-encoded %%bytes%% into a string.\n */\nexport function decodeBytes32String(_bytes) {\n const data = getBytes(_bytes, \"bytes\");\n // Must be 32 bytes with a null-termination\n if (data.length !== 32) {\n throw new Error(\"invalid bytes32 - not 32 bytes long\");\n }\n if (data[31] !== 0) {\n throw new Error(\"invalid bytes32 string - no null terminator\");\n }\n // Find the null termination\n let length = 31;\n while (data[length - 1] === 0) {\n length--;\n }\n // Determine the string value\n return toUtf8String(data.slice(0, length));\n}\n//# sourceMappingURL=bytes32.js.map","/**\n * The Interface class is a low-level class that accepts an\n * ABI and provides all the necessary functionality to encode\n * and decode paramaters to and results from methods, events\n * and errors.\n *\n * It also provides several convenience methods to automatically\n * search and find matching transactions and events to parse them.\n *\n * @_subsection api/abi:Interfaces [interfaces]\n */\nimport { keccak256 } from \"../crypto/index.js\";\nimport { id } from \"../hash/index.js\";\nimport { concat, dataSlice, getBigInt, getBytes, getBytesCopy, hexlify, zeroPadBytes, zeroPadValue, isHexString, defineProperties, assertArgument, toBeHex, assert } from \"../utils/index.js\";\nimport { AbiCoder } from \"./abi-coder.js\";\nimport { checkResultErrors, Result } from \"./coders/abstract-coder.js\";\nimport { ConstructorFragment, ErrorFragment, EventFragment, Fragment, FunctionFragment, ParamType } from \"./fragments.js\";\nimport { Typed } from \"./typed.js\";\nexport { checkResultErrors, Result };\n/**\n * When using the [[Interface-parseLog]] to automatically match a Log to its event\n * for parsing, a **LogDescription** is returned.\n */\nexport class LogDescription {\n /**\n * The matching fragment for the ``topic0``.\n */\n fragment;\n /**\n * The name of the Event.\n */\n name;\n /**\n * The full Event signature.\n */\n signature;\n /**\n * The topic hash for the Event.\n */\n topic;\n /**\n * The arguments passed into the Event with ``emit``.\n */\n args;\n /**\n * @_ignore:\n */\n constructor(fragment, topic, args) {\n const name = fragment.name, signature = fragment.format();\n defineProperties(this, {\n fragment, name, signature, topic, args\n });\n }\n}\n/**\n * When using the [[Interface-parseTransaction]] to automatically match\n * a transaction data to its function for parsing,\n * a **TransactionDescription** is returned.\n */\nexport class TransactionDescription {\n /**\n * The matching fragment from the transaction ``data``.\n */\n fragment;\n /**\n * The name of the Function from the transaction ``data``.\n */\n name;\n /**\n * The arguments passed to the Function from the transaction ``data``.\n */\n args;\n /**\n * The full Function signature from the transaction ``data``.\n */\n signature;\n /**\n * The selector for the Function from the transaction ``data``.\n */\n selector;\n /**\n * The ``value`` (in wei) from the transaction.\n */\n value;\n /**\n * @_ignore:\n */\n constructor(fragment, selector, args, value) {\n const name = fragment.name, signature = fragment.format();\n defineProperties(this, {\n fragment, name, args, signature, selector, value\n });\n }\n}\n/**\n * When using the [[Interface-parseError]] to automatically match an\n * error for a call result for parsing, an **ErrorDescription** is returned.\n */\nexport class ErrorDescription {\n /**\n * The matching fragment.\n */\n fragment;\n /**\n * The name of the Error.\n */\n name;\n /**\n * The arguments passed to the Error with ``revert``.\n */\n args;\n /**\n * The full Error signature.\n */\n signature;\n /**\n * The selector for the Error.\n */\n selector;\n /**\n * @_ignore:\n */\n constructor(fragment, selector, args) {\n const name = fragment.name, signature = fragment.format();\n defineProperties(this, {\n fragment, name, args, signature, selector\n });\n }\n}\n/**\n * An **Indexed** is used as a value when a value that does not\n * fit within a topic (i.e. not a fixed-length, 32-byte type). It\n * is the ``keccak256`` of the value, and used for types such as\n * arrays, tuples, bytes and strings.\n */\nexport class Indexed {\n /**\n * The ``keccak256`` of the value logged.\n */\n hash;\n /**\n * @_ignore:\n */\n _isIndexed;\n /**\n * Returns ``true`` if %%value%% is an **Indexed**.\n *\n * This provides a Type Guard for property access.\n */\n static isIndexed(value) {\n return !!(value && value._isIndexed);\n }\n /**\n * @_ignore:\n */\n constructor(hash) {\n defineProperties(this, { hash, _isIndexed: true });\n }\n}\n// https://docs.soliditylang.org/en/v0.8.13/control-structures.html?highlight=panic#panic-via-assert-and-error-via-require\nconst PanicReasons = {\n \"0\": \"generic panic\",\n \"1\": \"assert(false)\",\n \"17\": \"arithmetic overflow\",\n \"18\": \"division or modulo by zero\",\n \"33\": \"enum overflow\",\n \"34\": \"invalid encoded storage byte array accessed\",\n \"49\": \"out-of-bounds array access; popping on an empty array\",\n \"50\": \"out-of-bounds access of an array or bytesN\",\n \"65\": \"out of memory\",\n \"81\": \"uninitialized function\",\n};\nconst BuiltinErrors = {\n \"0x08c379a0\": {\n signature: \"Error(string)\",\n name: \"Error\",\n inputs: [\"string\"],\n reason: (message) => {\n return `reverted with reason string ${JSON.stringify(message)}`;\n }\n },\n \"0x4e487b71\": {\n signature: \"Panic(uint256)\",\n name: \"Panic\",\n inputs: [\"uint256\"],\n reason: (code) => {\n let reason = \"unknown panic code\";\n if (code >= 0 && code <= 0xff && PanicReasons[code.toString()]) {\n reason = PanicReasons[code.toString()];\n }\n return `reverted with panic code 0x${code.toString(16)} (${reason})`;\n }\n }\n};\n/**\n * An Interface abstracts many of the low-level details for\n * encoding and decoding the data on the blockchain.\n *\n * An ABI provides information on how to encode data to send to\n * a Contract, how to decode the results and events and how to\n * interpret revert errors.\n *\n * The ABI can be specified by [any supported format](InterfaceAbi).\n */\nexport class Interface {\n /**\n * All the Contract ABI members (i.e. methods, events, errors, etc).\n */\n fragments;\n /**\n * The Contract constructor.\n */\n deploy;\n /**\n * The Fallback method, if any.\n */\n fallback;\n /**\n * If receiving ether is supported.\n */\n receive;\n #errors;\n #events;\n #functions;\n // #structs: Map;\n #abiCoder;\n /**\n * Create a new Interface for the %%fragments%%.\n */\n constructor(fragments) {\n let abi = [];\n if (typeof (fragments) === \"string\") {\n abi = JSON.parse(fragments);\n }\n else {\n abi = fragments;\n }\n this.#functions = new Map();\n this.#errors = new Map();\n this.#events = new Map();\n // this.#structs = new Map();\n const frags = [];\n for (const a of abi) {\n try {\n frags.push(Fragment.from(a));\n }\n catch (error) {\n console.log(`[Warning] Invalid Fragment ${JSON.stringify(a)}:`, error.message);\n }\n }\n defineProperties(this, {\n fragments: Object.freeze(frags)\n });\n let fallback = null;\n let receive = false;\n this.#abiCoder = this.getAbiCoder();\n // Add all fragments by their signature\n this.fragments.forEach((fragment, index) => {\n let bucket;\n switch (fragment.type) {\n case \"constructor\":\n if (this.deploy) {\n console.log(\"duplicate definition - constructor\");\n return;\n }\n //checkNames(fragment, \"input\", fragment.inputs);\n defineProperties(this, { deploy: fragment });\n return;\n case \"fallback\":\n if (fragment.inputs.length === 0) {\n receive = true;\n }\n else {\n assertArgument(!fallback || fragment.payable !== fallback.payable, \"conflicting fallback fragments\", `fragments[${index}]`, fragment);\n fallback = fragment;\n receive = fallback.payable;\n }\n return;\n case \"function\":\n //checkNames(fragment, \"input\", fragment.inputs);\n //checkNames(fragment, \"output\", (fragment).outputs);\n bucket = this.#functions;\n break;\n case \"event\":\n //checkNames(fragment, \"input\", fragment.inputs);\n bucket = this.#events;\n break;\n case \"error\":\n bucket = this.#errors;\n break;\n default:\n return;\n }\n // Two identical entries; ignore it\n const signature = fragment.format();\n if (bucket.has(signature)) {\n return;\n }\n bucket.set(signature, fragment);\n });\n // If we do not have a constructor add a default\n if (!this.deploy) {\n defineProperties(this, {\n deploy: ConstructorFragment.from(\"constructor()\")\n });\n }\n defineProperties(this, { fallback, receive });\n }\n /**\n * Returns the entire Human-Readable ABI, as an array of\n * signatures, optionally as %%minimal%% strings, which\n * removes parameter names and unneceesary spaces.\n */\n format(minimal) {\n const format = (minimal ? \"minimal\" : \"full\");\n const abi = this.fragments.map((f) => f.format(format));\n return abi;\n }\n /**\n * Return the JSON-encoded ABI. This is the format Solidiy\n * returns.\n */\n formatJson() {\n const abi = this.fragments.map((f) => f.format(\"json\"));\n // We need to re-bundle the JSON fragments a bit\n return JSON.stringify(abi.map((j) => JSON.parse(j)));\n }\n /**\n * The ABI coder that will be used to encode and decode binary\n * data.\n */\n getAbiCoder() {\n return AbiCoder.defaultAbiCoder();\n }\n // Find a function definition by any means necessary (unless it is ambiguous)\n #getFunction(key, values, forceUnique) {\n // Selector\n if (isHexString(key)) {\n const selector = key.toLowerCase();\n for (const fragment of this.#functions.values()) {\n if (selector === fragment.selector) {\n return fragment;\n }\n }\n return null;\n }\n // It is a bare name, look up the function (will return null if ambiguous)\n if (key.indexOf(\"(\") === -1) {\n const matching = [];\n for (const [name, fragment] of this.#functions) {\n if (name.split(\"(\" /* fix:) */)[0] === key) {\n matching.push(fragment);\n }\n }\n if (values) {\n const lastValue = (values.length > 0) ? values[values.length - 1] : null;\n let valueLength = values.length;\n let allowOptions = true;\n if (Typed.isTyped(lastValue) && lastValue.type === \"overrides\") {\n allowOptions = false;\n valueLength--;\n }\n // Remove all matches that don't have a compatible length. The args\n // may contain an overrides, so the match may have n or n - 1 parameters\n for (let i = matching.length - 1; i >= 0; i--) {\n const inputs = matching[i].inputs.length;\n if (inputs !== valueLength && (!allowOptions || inputs !== valueLength - 1)) {\n matching.splice(i, 1);\n }\n }\n // Remove all matches that don't match the Typed signature\n for (let i = matching.length - 1; i >= 0; i--) {\n const inputs = matching[i].inputs;\n for (let j = 0; j < values.length; j++) {\n // Not a typed value\n if (!Typed.isTyped(values[j])) {\n continue;\n }\n // We are past the inputs\n if (j >= inputs.length) {\n if (values[j].type === \"overrides\") {\n continue;\n }\n matching.splice(i, 1);\n break;\n }\n // Make sure the value type matches the input type\n if (values[j].type !== inputs[j].baseType) {\n matching.splice(i, 1);\n break;\n }\n }\n }\n }\n // We found a single matching signature with an overrides, but the\n // last value is something that cannot possibly be an options\n if (matching.length === 1 && values && values.length !== matching[0].inputs.length) {\n const lastArg = values[values.length - 1];\n if (lastArg == null || Array.isArray(lastArg) || typeof (lastArg) !== \"object\") {\n matching.splice(0, 1);\n }\n }\n if (matching.length === 0) {\n return null;\n }\n if (matching.length > 1 && forceUnique) {\n const matchStr = matching.map((m) => JSON.stringify(m.format())).join(\", \");\n assertArgument(false, `ambiguous function description (i.e. matches ${matchStr})`, \"key\", key);\n }\n return matching[0];\n }\n // Normalize the signature and lookup the function\n const result = this.#functions.get(FunctionFragment.from(key).format());\n if (result) {\n return result;\n }\n return null;\n }\n /**\n * Get the function name for %%key%%, which may be a function selector,\n * function name or function signature that belongs to the ABI.\n */\n getFunctionName(key) {\n const fragment = this.#getFunction(key, null, false);\n assertArgument(fragment, \"no matching function\", \"key\", key);\n return fragment.name;\n }\n /**\n * Returns true if %%key%% (a function selector, function name or\n * function signature) is present in the ABI.\n *\n * In the case of a function name, the name may be ambiguous, so\n * accessing the [[FunctionFragment]] may require refinement.\n */\n hasFunction(key) {\n return !!this.#getFunction(key, null, false);\n }\n /**\n * Get the [[FunctionFragment]] for %%key%%, which may be a function\n * selector, function name or function signature that belongs to the ABI.\n *\n * If %%values%% is provided, it will use the Typed API to handle\n * ambiguous cases where multiple functions match by name.\n *\n * If the %%key%% and %%values%% do not refine to a single function in\n * the ABI, this will throw.\n */\n getFunction(key, values) {\n return this.#getFunction(key, values || null, true);\n }\n /**\n * Iterate over all functions, calling %%callback%%, sorted by their name.\n */\n forEachFunction(callback) {\n const names = Array.from(this.#functions.keys());\n names.sort((a, b) => a.localeCompare(b));\n for (let i = 0; i < names.length; i++) {\n const name = names[i];\n callback((this.#functions.get(name)), i);\n }\n }\n // Find an event definition by any means necessary (unless it is ambiguous)\n #getEvent(key, values, forceUnique) {\n // EventTopic\n if (isHexString(key)) {\n const eventTopic = key.toLowerCase();\n for (const fragment of this.#events.values()) {\n if (eventTopic === fragment.topicHash) {\n return fragment;\n }\n }\n return null;\n }\n // It is a bare name, look up the function (will return null if ambiguous)\n if (key.indexOf(\"(\") === -1) {\n const matching = [];\n for (const [name, fragment] of this.#events) {\n if (name.split(\"(\" /* fix:) */)[0] === key) {\n matching.push(fragment);\n }\n }\n if (values) {\n // Remove all matches that don't have a compatible length.\n for (let i = matching.length - 1; i >= 0; i--) {\n if (matching[i].inputs.length < values.length) {\n matching.splice(i, 1);\n }\n }\n // Remove all matches that don't match the Typed signature\n for (let i = matching.length - 1; i >= 0; i--) {\n const inputs = matching[i].inputs;\n for (let j = 0; j < values.length; j++) {\n // Not a typed value\n if (!Typed.isTyped(values[j])) {\n continue;\n }\n // Make sure the value type matches the input type\n if (values[j].type !== inputs[j].baseType) {\n matching.splice(i, 1);\n break;\n }\n }\n }\n }\n if (matching.length === 0) {\n return null;\n }\n if (matching.length > 1 && forceUnique) {\n const matchStr = matching.map((m) => JSON.stringify(m.format())).join(\", \");\n assertArgument(false, `ambiguous event description (i.e. matches ${matchStr})`, \"key\", key);\n }\n return matching[0];\n }\n // Normalize the signature and lookup the function\n const result = this.#events.get(EventFragment.from(key).format());\n if (result) {\n return result;\n }\n return null;\n }\n /**\n * Get the event name for %%key%%, which may be a topic hash,\n * event name or event signature that belongs to the ABI.\n */\n getEventName(key) {\n const fragment = this.#getEvent(key, null, false);\n assertArgument(fragment, \"no matching event\", \"key\", key);\n return fragment.name;\n }\n /**\n * Returns true if %%key%% (an event topic hash, event name or\n * event signature) is present in the ABI.\n *\n * In the case of an event name, the name may be ambiguous, so\n * accessing the [[EventFragment]] may require refinement.\n */\n hasEvent(key) {\n return !!this.#getEvent(key, null, false);\n }\n /**\n * Get the [[EventFragment]] for %%key%%, which may be a topic hash,\n * event name or event signature that belongs to the ABI.\n *\n * If %%values%% is provided, it will use the Typed API to handle\n * ambiguous cases where multiple events match by name.\n *\n * If the %%key%% and %%values%% do not refine to a single event in\n * the ABI, this will throw.\n */\n getEvent(key, values) {\n return this.#getEvent(key, values || null, true);\n }\n /**\n * Iterate over all events, calling %%callback%%, sorted by their name.\n */\n forEachEvent(callback) {\n const names = Array.from(this.#events.keys());\n names.sort((a, b) => a.localeCompare(b));\n for (let i = 0; i < names.length; i++) {\n const name = names[i];\n callback((this.#events.get(name)), i);\n }\n }\n /**\n * Get the [[ErrorFragment]] for %%key%%, which may be an error\n * selector, error name or error signature that belongs to the ABI.\n *\n * If %%values%% is provided, it will use the Typed API to handle\n * ambiguous cases where multiple errors match by name.\n *\n * If the %%key%% and %%values%% do not refine to a single error in\n * the ABI, this will throw.\n */\n getError(key, values) {\n if (isHexString(key)) {\n const selector = key.toLowerCase();\n if (BuiltinErrors[selector]) {\n return ErrorFragment.from(BuiltinErrors[selector].signature);\n }\n for (const fragment of this.#errors.values()) {\n if (selector === fragment.selector) {\n return fragment;\n }\n }\n return null;\n }\n // It is a bare name, look up the function (will return null if ambiguous)\n if (key.indexOf(\"(\") === -1) {\n const matching = [];\n for (const [name, fragment] of this.#errors) {\n if (name.split(\"(\" /* fix:) */)[0] === key) {\n matching.push(fragment);\n }\n }\n if (matching.length === 0) {\n if (key === \"Error\") {\n return ErrorFragment.from(\"error Error(string)\");\n }\n if (key === \"Panic\") {\n return ErrorFragment.from(\"error Panic(uint256)\");\n }\n return null;\n }\n else if (matching.length > 1) {\n const matchStr = matching.map((m) => JSON.stringify(m.format())).join(\", \");\n assertArgument(false, `ambiguous error description (i.e. ${matchStr})`, \"name\", key);\n }\n return matching[0];\n }\n // Normalize the signature and lookup the function\n key = ErrorFragment.from(key).format();\n if (key === \"Error(string)\") {\n return ErrorFragment.from(\"error Error(string)\");\n }\n if (key === \"Panic(uint256)\") {\n return ErrorFragment.from(\"error Panic(uint256)\");\n }\n const result = this.#errors.get(key);\n if (result) {\n return result;\n }\n return null;\n }\n /**\n * Iterate over all errors, calling %%callback%%, sorted by their name.\n */\n forEachError(callback) {\n const names = Array.from(this.#errors.keys());\n names.sort((a, b) => a.localeCompare(b));\n for (let i = 0; i < names.length; i++) {\n const name = names[i];\n callback((this.#errors.get(name)), i);\n }\n }\n // Get the 4-byte selector used by Solidity to identify a function\n /*\ngetSelector(fragment: ErrorFragment | FunctionFragment): string {\n if (typeof(fragment) === \"string\") {\n const matches: Array = [ ];\n\n try { matches.push(this.getFunction(fragment)); } catch (error) { }\n try { matches.push(this.getError(fragment)); } catch (_) { }\n\n if (matches.length === 0) {\n logger.throwArgumentError(\"unknown fragment\", \"key\", fragment);\n } else if (matches.length > 1) {\n logger.throwArgumentError(\"ambiguous fragment matches function and error\", \"key\", fragment);\n }\n\n fragment = matches[0];\n }\n\n return dataSlice(id(fragment.format()), 0, 4);\n}\n */\n // Get the 32-byte topic hash used by Solidity to identify an event\n /*\n getEventTopic(fragment: EventFragment): string {\n //if (typeof(fragment) === \"string\") { fragment = this.getEvent(eventFragment); }\n return id(fragment.format());\n }\n */\n _decodeParams(params, data) {\n return this.#abiCoder.decode(params, data);\n }\n _encodeParams(params, values) {\n return this.#abiCoder.encode(params, values);\n }\n /**\n * Encodes a ``tx.data`` object for deploying the Contract with\n * the %%values%% as the constructor arguments.\n */\n encodeDeploy(values) {\n return this._encodeParams(this.deploy.inputs, values || []);\n }\n /**\n * Decodes the result %%data%% (e.g. from an ``eth_call``) for the\n * specified error (see [[getError]] for valid values for\n * %%key%%).\n *\n * Most developers should prefer the [[parseCallResult]] method instead,\n * which will automatically detect a ``CALL_EXCEPTION`` and throw the\n * corresponding error.\n */\n decodeErrorResult(fragment, data) {\n if (typeof (fragment) === \"string\") {\n const f = this.getError(fragment);\n assertArgument(f, \"unknown error\", \"fragment\", fragment);\n fragment = f;\n }\n assertArgument(dataSlice(data, 0, 4) === fragment.selector, `data signature does not match error ${fragment.name}.`, \"data\", data);\n return this._decodeParams(fragment.inputs, dataSlice(data, 4));\n }\n /**\n * Encodes the transaction revert data for a call result that\n * reverted from the the Contract with the sepcified %%error%%\n * (see [[getError]] for valid values for %%fragment%%) with the %%values%%.\n *\n * This is generally not used by most developers, unless trying to mock\n * a result from a Contract.\n */\n encodeErrorResult(fragment, values) {\n if (typeof (fragment) === \"string\") {\n const f = this.getError(fragment);\n assertArgument(f, \"unknown error\", \"fragment\", fragment);\n fragment = f;\n }\n return concat([\n fragment.selector,\n this._encodeParams(fragment.inputs, values || [])\n ]);\n }\n /**\n * Decodes the %%data%% from a transaction ``tx.data`` for\n * the function specified (see [[getFunction]] for valid values\n * for %%fragment%%).\n *\n * Most developers should prefer the [[parseTransaction]] method\n * instead, which will automatically detect the fragment.\n */\n decodeFunctionData(fragment, data) {\n if (typeof (fragment) === \"string\") {\n const f = this.getFunction(fragment);\n assertArgument(f, \"unknown function\", \"fragment\", fragment);\n fragment = f;\n }\n assertArgument(dataSlice(data, 0, 4) === fragment.selector, `data signature does not match function ${fragment.name}.`, \"data\", data);\n return this._decodeParams(fragment.inputs, dataSlice(data, 4));\n }\n /**\n * Encodes the ``tx.data`` for a transaction that calls the function\n * specified (see [[getFunction]] for valid values for %%fragment%%) with\n * the %%values%%.\n */\n encodeFunctionData(fragment, values) {\n if (typeof (fragment) === \"string\") {\n const f = this.getFunction(fragment);\n assertArgument(f, \"unknown function\", \"fragment\", fragment);\n fragment = f;\n }\n return concat([\n fragment.selector,\n this._encodeParams(fragment.inputs, values || [])\n ]);\n }\n /**\n * Decodes the result %%data%% (e.g. from an ``eth_call``) for the\n * specified function (see [[getFunction]] for valid values for\n * %%key%%).\n *\n * Most developers should prefer the [[parseCallResult]] method instead,\n * which will automatically detect a ``CALL_EXCEPTION`` and throw the\n * corresponding error.\n */\n decodeFunctionResult(fragment, data) {\n if (typeof (fragment) === \"string\") {\n const f = this.getFunction(fragment);\n assertArgument(f, \"unknown function\", \"fragment\", fragment);\n fragment = f;\n }\n let message = \"invalid length for result data\";\n const bytes = getBytesCopy(data);\n if ((bytes.length % 32) === 0) {\n try {\n return this.#abiCoder.decode(fragment.outputs, bytes);\n }\n catch (error) {\n message = \"could not decode result data\";\n }\n }\n // Call returned data with no error, but the data is junk\n assert(false, message, \"BAD_DATA\", {\n value: hexlify(bytes),\n info: { method: fragment.name, signature: fragment.format() }\n });\n }\n makeError(_data, tx) {\n const data = getBytes(_data, \"data\");\n const error = AbiCoder.getBuiltinCallException(\"call\", tx, data);\n // Not a built-in error; try finding a custom error\n const customPrefix = \"execution reverted (unknown custom error)\";\n if (error.message.startsWith(customPrefix)) {\n const selector = hexlify(data.slice(0, 4));\n const ef = this.getError(selector);\n if (ef) {\n try {\n const args = this.#abiCoder.decode(ef.inputs, data.slice(4));\n error.revert = {\n name: ef.name, signature: ef.format(), args\n };\n error.reason = error.revert.signature;\n error.message = `execution reverted: ${error.reason}`;\n }\n catch (e) {\n error.message = `execution reverted (coult not decode custom error)`;\n }\n }\n }\n // Add the invocation, if available\n const parsed = this.parseTransaction(tx);\n if (parsed) {\n error.invocation = {\n method: parsed.name,\n signature: parsed.signature,\n args: parsed.args\n };\n }\n return error;\n }\n /**\n * Encodes the result data (e.g. from an ``eth_call``) for the\n * specified function (see [[getFunction]] for valid values\n * for %%fragment%%) with %%values%%.\n *\n * This is generally not used by most developers, unless trying to mock\n * a result from a Contract.\n */\n encodeFunctionResult(fragment, values) {\n if (typeof (fragment) === \"string\") {\n const f = this.getFunction(fragment);\n assertArgument(f, \"unknown function\", \"fragment\", fragment);\n fragment = f;\n }\n return hexlify(this.#abiCoder.encode(fragment.outputs, values || []));\n }\n /*\n spelunk(inputs: Array, values: ReadonlyArray, processfunc: (type: string, value: any) => Promise): Promise> {\n const promises: Array> = [ ];\n const process = function(type: ParamType, value: any): any {\n if (type.baseType === \"array\") {\n return descend(type.child\n }\n if (type. === \"address\") {\n }\n };\n \n const descend = function (inputs: Array, values: ReadonlyArray) {\n if (inputs.length !== values.length) { throw new Error(\"length mismatch\"); }\n \n };\n \n const result: Array = [ ];\n values.forEach((value, index) => {\n if (value == null) {\n topics.push(null);\n } else if (param.baseType === \"array\" || param.baseType === \"tuple\") {\n logger.throwArgumentError(\"filtering with tuples or arrays not supported\", (\"contract.\" + param.name), value);\n } else if (Array.isArray(value)) {\n topics.push(value.map((value) => encodeTopic(param, value)));\n } else {\n topics.push(encodeTopic(param, value));\n }\n });\n }\n */\n // Create the filter for the event with search criteria (e.g. for eth_filterLog)\n encodeFilterTopics(fragment, values) {\n if (typeof (fragment) === \"string\") {\n const f = this.getEvent(fragment);\n assertArgument(f, \"unknown event\", \"eventFragment\", fragment);\n fragment = f;\n }\n assert(values.length <= fragment.inputs.length, `too many arguments for ${fragment.format()}`, \"UNEXPECTED_ARGUMENT\", { count: values.length, expectedCount: fragment.inputs.length });\n const topics = [];\n if (!fragment.anonymous) {\n topics.push(fragment.topicHash);\n }\n // @TODO: Use the coders for this; to properly support tuples, etc.\n const encodeTopic = (param, value) => {\n if (param.type === \"string\") {\n return id(value);\n }\n else if (param.type === \"bytes\") {\n return keccak256(hexlify(value));\n }\n if (param.type === \"bool\" && typeof (value) === \"boolean\") {\n value = (value ? \"0x01\" : \"0x00\");\n }\n else if (param.type.match(/^u?int/)) {\n value = toBeHex(value); // @TODO: Should this toTwos??\n }\n else if (param.type.match(/^bytes/)) {\n value = zeroPadBytes(value, 32);\n }\n else if (param.type === \"address\") {\n // Check addresses are valid\n this.#abiCoder.encode([\"address\"], [value]);\n }\n return zeroPadValue(hexlify(value), 32);\n };\n values.forEach((value, index) => {\n const param = fragment.inputs[index];\n if (!param.indexed) {\n assertArgument(value == null, \"cannot filter non-indexed parameters; must be null\", (\"contract.\" + param.name), value);\n return;\n }\n if (value == null) {\n topics.push(null);\n }\n else if (param.baseType === \"array\" || param.baseType === \"tuple\") {\n assertArgument(false, \"filtering with tuples or arrays not supported\", (\"contract.\" + param.name), value);\n }\n else if (Array.isArray(value)) {\n topics.push(value.map((value) => encodeTopic(param, value)));\n }\n else {\n topics.push(encodeTopic(param, value));\n }\n });\n // Trim off trailing nulls\n while (topics.length && topics[topics.length - 1] === null) {\n topics.pop();\n }\n return topics;\n }\n encodeEventLog(fragment, values) {\n if (typeof (fragment) === \"string\") {\n const f = this.getEvent(fragment);\n assertArgument(f, \"unknown event\", \"eventFragment\", fragment);\n fragment = f;\n }\n const topics = [];\n const dataTypes = [];\n const dataValues = [];\n if (!fragment.anonymous) {\n topics.push(fragment.topicHash);\n }\n assertArgument(values.length === fragment.inputs.length, \"event arguments/values mismatch\", \"values\", values);\n fragment.inputs.forEach((param, index) => {\n const value = values[index];\n if (param.indexed) {\n if (param.type === \"string\") {\n topics.push(id(value));\n }\n else if (param.type === \"bytes\") {\n topics.push(keccak256(value));\n }\n else if (param.baseType === \"tuple\" || param.baseType === \"array\") {\n // @TODO\n throw new Error(\"not implemented\");\n }\n else {\n topics.push(this.#abiCoder.encode([param.type], [value]));\n }\n }\n else {\n dataTypes.push(param);\n dataValues.push(value);\n }\n });\n return {\n data: this.#abiCoder.encode(dataTypes, dataValues),\n topics: topics\n };\n }\n // Decode a filter for the event and the search criteria\n decodeEventLog(fragment, data, topics) {\n if (typeof (fragment) === \"string\") {\n const f = this.getEvent(fragment);\n assertArgument(f, \"unknown event\", \"eventFragment\", fragment);\n fragment = f;\n }\n if (topics != null && !fragment.anonymous) {\n const eventTopic = fragment.topicHash;\n assertArgument(isHexString(topics[0], 32) && topics[0].toLowerCase() === eventTopic, \"fragment/topic mismatch\", \"topics[0]\", topics[0]);\n topics = topics.slice(1);\n }\n const indexed = [];\n const nonIndexed = [];\n const dynamic = [];\n fragment.inputs.forEach((param, index) => {\n if (param.indexed) {\n if (param.type === \"string\" || param.type === \"bytes\" || param.baseType === \"tuple\" || param.baseType === \"array\") {\n indexed.push(ParamType.from({ type: \"bytes32\", name: param.name }));\n dynamic.push(true);\n }\n else {\n indexed.push(param);\n dynamic.push(false);\n }\n }\n else {\n nonIndexed.push(param);\n dynamic.push(false);\n }\n });\n const resultIndexed = (topics != null) ? this.#abiCoder.decode(indexed, concat(topics)) : null;\n const resultNonIndexed = this.#abiCoder.decode(nonIndexed, data, true);\n //const result: (Array & { [ key: string ]: any }) = [ ];\n const values = [];\n const keys = [];\n let nonIndexedIndex = 0, indexedIndex = 0;\n fragment.inputs.forEach((param, index) => {\n let value = null;\n if (param.indexed) {\n if (resultIndexed == null) {\n value = new Indexed(null);\n }\n else if (dynamic[index]) {\n value = new Indexed(resultIndexed[indexedIndex++]);\n }\n else {\n try {\n value = resultIndexed[indexedIndex++];\n }\n catch (error) {\n value = error;\n }\n }\n }\n else {\n try {\n value = resultNonIndexed[nonIndexedIndex++];\n }\n catch (error) {\n value = error;\n }\n }\n values.push(value);\n keys.push(param.name || null);\n });\n return Result.fromItems(values, keys);\n }\n /**\n * Parses a transaction, finding the matching function and extracts\n * the parameter values along with other useful function details.\n *\n * If the matching function cannot be found, return null.\n */\n parseTransaction(tx) {\n const data = getBytes(tx.data, \"tx.data\");\n const value = getBigInt((tx.value != null) ? tx.value : 0, \"tx.value\");\n const fragment = this.getFunction(hexlify(data.slice(0, 4)));\n if (!fragment) {\n return null;\n }\n const args = this.#abiCoder.decode(fragment.inputs, data.slice(4));\n return new TransactionDescription(fragment, fragment.selector, args, value);\n }\n parseCallResult(data) {\n throw new Error(\"@TODO\");\n }\n /**\n * Parses a receipt log, finding the matching event and extracts\n * the parameter values along with other useful event details.\n *\n * If the matching event cannot be found, returns null.\n */\n parseLog(log) {\n const fragment = this.getEvent(log.topics[0]);\n if (!fragment || fragment.anonymous) {\n return null;\n }\n // @TODO: If anonymous, and the only method, and the input count matches, should we parse?\n // Probably not, because just because it is the only event in the ABI does\n // not mean we have the full ABI; maybe just a fragment?\n return new LogDescription(fragment, fragment.topicHash, this.decodeEventLog(fragment, log.data, log.topics));\n }\n /**\n * Parses a revert data, finding the matching error and extracts\n * the parameter values along with other useful error details.\n *\n * If the matching error cannot be found, returns null.\n */\n parseError(data) {\n const hexData = hexlify(data);\n const fragment = this.getError(dataSlice(hexData, 0, 4));\n if (!fragment) {\n return null;\n }\n const args = this.#abiCoder.decode(fragment.inputs, dataSlice(hexData, 4));\n return new ErrorDescription(fragment, fragment.selector, args);\n }\n /**\n * Creates a new [[Interface]] from the ABI %%value%%.\n *\n * The %%value%% may be provided as an existing [[Interface]] object,\n * a JSON-encoded ABI or any Human-Readable ABI format.\n */\n static from(value) {\n // Already an Interface, which is immutable\n if (value instanceof Interface) {\n return value;\n }\n // JSON\n if (typeof (value) === \"string\") {\n return new Interface(JSON.parse(value));\n }\n // Maybe an interface from an older version, or from a symlinked copy\n if (typeof (value.format) === \"function\") {\n return new Interface(value.format(\"json\"));\n }\n // Array of fragments\n return new Interface(value);\n }\n}\n//# sourceMappingURL=interface.js.map","//import { resolveAddress } from \"@ethersproject/address\";\nimport { defineProperties, getBigInt, getNumber, hexlify, resolveProperties, assert, assertArgument, isError, makeError } from \"../utils/index.js\";\nimport { accessListify } from \"../transaction/index.js\";\nconst BN_0 = BigInt(0);\n// -----------------------\nfunction getValue(value) {\n if (value == null) {\n return null;\n }\n return value;\n}\nfunction toJson(value) {\n if (value == null) {\n return null;\n }\n return value.toString();\n}\n// @TODO? implements Required\n/**\n * A **FeeData** wraps all the fee-related values associated with\n * the network.\n */\nexport class FeeData {\n /**\n * The gas price for legacy networks.\n */\n gasPrice;\n /**\n * The maximum fee to pay per gas.\n *\n * The base fee per gas is defined by the network and based on\n * congestion, increasing the cost during times of heavy load\n * and lowering when less busy.\n *\n * The actual fee per gas will be the base fee for the block\n * and the priority fee, up to the max fee per gas.\n *\n * This will be ``null`` on legacy networks (i.e. [pre-EIP-1559](link-eip-1559))\n */\n maxFeePerGas;\n /**\n * The additional amout to pay per gas to encourage a validator\n * to include the transaction.\n *\n * The purpose of this is to compensate the validator for the\n * adjusted risk for including a given transaction.\n *\n * This will be ``null`` on legacy networks (i.e. [pre-EIP-1559](link-eip-1559))\n */\n maxPriorityFeePerGas;\n /**\n * Creates a new FeeData for %%gasPrice%%, %%maxFeePerGas%% and\n * %%maxPriorityFeePerGas%%.\n */\n constructor(gasPrice, maxFeePerGas, maxPriorityFeePerGas) {\n defineProperties(this, {\n gasPrice: getValue(gasPrice),\n maxFeePerGas: getValue(maxFeePerGas),\n maxPriorityFeePerGas: getValue(maxPriorityFeePerGas)\n });\n }\n /**\n * Returns a JSON-friendly value.\n */\n toJSON() {\n const { gasPrice, maxFeePerGas, maxPriorityFeePerGas } = this;\n return {\n _type: \"FeeData\",\n gasPrice: toJson(gasPrice),\n maxFeePerGas: toJson(maxFeePerGas),\n maxPriorityFeePerGas: toJson(maxPriorityFeePerGas),\n };\n }\n}\n;\n/**\n * Returns a copy of %%req%% with all properties coerced to their strict\n * types.\n */\nexport function copyRequest(req) {\n const result = {};\n // These could be addresses, ENS names or Addressables\n if (req.to) {\n result.to = req.to;\n }\n if (req.from) {\n result.from = req.from;\n }\n if (req.data) {\n result.data = hexlify(req.data);\n }\n const bigIntKeys = \"chainId,gasLimit,gasPrice,maxFeePerGas,maxPriorityFeePerGas,value\".split(/,/);\n for (const key of bigIntKeys) {\n if (!(key in req) || req[key] == null) {\n continue;\n }\n result[key] = getBigInt(req[key], `request.${key}`);\n }\n const numberKeys = \"type,nonce\".split(/,/);\n for (const key of numberKeys) {\n if (!(key in req) || req[key] == null) {\n continue;\n }\n result[key] = getNumber(req[key], `request.${key}`);\n }\n if (req.accessList) {\n result.accessList = accessListify(req.accessList);\n }\n if (\"blockTag\" in req) {\n result.blockTag = req.blockTag;\n }\n if (\"enableCcipRead\" in req) {\n result.enableCcipRead = !!req.enableCcipRead;\n }\n if (\"customData\" in req) {\n result.customData = req.customData;\n }\n return result;\n}\n/**\n * A **Block** represents the data associated with a full block on\n * Ethereum.\n */\nexport class Block {\n /**\n * The provider connected to the block used to fetch additional details\n * if necessary.\n */\n provider;\n /**\n * The block number, sometimes called the block height. This is a\n * sequential number that is one higher than the parent block.\n */\n number;\n /**\n * The block hash.\n *\n * This hash includes all properties, so can be safely used to identify\n * an exact set of block properties.\n */\n hash;\n /**\n * The timestamp for this block, which is the number of seconds since\n * epoch that this block was included.\n */\n timestamp;\n /**\n * The block hash of the parent block.\n */\n parentHash;\n /**\n * The hash tree root of the parent beacon block for the given\n * execution block. See [[link-eip-4788]].\n */\n parentBeaconBlockRoot;\n /**\n * The nonce.\n *\n * On legacy networks, this is the random number inserted which\n * permitted the difficulty target to be reached.\n */\n nonce;\n /**\n * The difficulty target.\n *\n * On legacy networks, this is the proof-of-work target required\n * for a block to meet the protocol rules to be included.\n *\n * On modern networks, this is a random number arrived at using\n * randao. @TODO: Find links?\n */\n difficulty;\n /**\n * The total gas limit for this block.\n */\n gasLimit;\n /**\n * The total gas used in this block.\n */\n gasUsed;\n /**\n * The root hash for the global state after applying changes\n * in this block.\n */\n stateRoot;\n /**\n * The hash of the transaction receipts trie.\n */\n receiptsRoot;\n /**\n * The total amount of blob gas consumed by the transactions\n * within the block. See [[link-eip-4844]].\n */\n blobGasUsed;\n /**\n * The running total of blob gas consumed in excess of the\n * target, prior to the block. See [[link-eip-4844]].\n */\n excessBlobGas;\n /**\n * The miner coinbase address, wihch receives any subsidies for\n * including this block.\n */\n miner;\n /**\n * Any extra data the validator wished to include.\n */\n extraData;\n /**\n * The base fee per gas that all transactions in this block were\n * charged.\n *\n * This adjusts after each block, depending on how congested the network\n * is.\n */\n baseFeePerGas;\n #transactions;\n /**\n * Create a new **Block** object.\n *\n * This should generally not be necessary as the unless implementing a\n * low-level library.\n */\n constructor(block, provider) {\n this.#transactions = block.transactions.map((tx) => {\n if (typeof (tx) !== \"string\") {\n return new TransactionResponse(tx, provider);\n }\n return tx;\n });\n defineProperties(this, {\n provider,\n hash: getValue(block.hash),\n number: block.number,\n timestamp: block.timestamp,\n parentHash: block.parentHash,\n parentBeaconBlockRoot: block.parentBeaconBlockRoot,\n nonce: block.nonce,\n difficulty: block.difficulty,\n gasLimit: block.gasLimit,\n gasUsed: block.gasUsed,\n blobGasUsed: block.blobGasUsed,\n excessBlobGas: block.excessBlobGas,\n miner: block.miner,\n extraData: block.extraData,\n baseFeePerGas: getValue(block.baseFeePerGas),\n stateRoot: block.stateRoot,\n receiptsRoot: block.receiptsRoot,\n });\n }\n /**\n * Returns the list of transaction hashes, in the order\n * they were executed within the block.\n */\n get transactions() {\n return this.#transactions.map((tx) => {\n if (typeof (tx) === \"string\") {\n return tx;\n }\n return tx.hash;\n });\n }\n /**\n * Returns the complete transactions, in the order they\n * were executed within the block.\n *\n * This is only available for blocks which prefetched\n * transactions, by passing ``true`` to %%prefetchTxs%%\n * into [[Provider-getBlock]].\n */\n get prefetchedTransactions() {\n const txs = this.#transactions.slice();\n // Doesn't matter...\n if (txs.length === 0) {\n return [];\n }\n // Make sure we prefetched the transactions\n assert(typeof (txs[0]) === \"object\", \"transactions were not prefetched with block request\", \"UNSUPPORTED_OPERATION\", {\n operation: \"transactionResponses()\"\n });\n return txs;\n }\n /**\n * Returns a JSON-friendly value.\n */\n toJSON() {\n const { baseFeePerGas, difficulty, extraData, gasLimit, gasUsed, hash, miner, nonce, number, parentHash, parentBeaconBlockRoot, stateRoot, receiptsRoot, timestamp, transactions } = this;\n return {\n _type: \"Block\",\n baseFeePerGas: toJson(baseFeePerGas),\n difficulty: toJson(difficulty),\n extraData,\n gasLimit: toJson(gasLimit),\n gasUsed: toJson(gasUsed),\n blobGasUsed: toJson(this.blobGasUsed),\n excessBlobGas: toJson(this.excessBlobGas),\n hash, miner, nonce, number, parentHash, timestamp,\n parentBeaconBlockRoot, stateRoot, receiptsRoot,\n transactions,\n };\n }\n [Symbol.iterator]() {\n let index = 0;\n const txs = this.transactions;\n return {\n next: () => {\n if (index < this.length) {\n return {\n value: txs[index++], done: false\n };\n }\n return { value: undefined, done: true };\n }\n };\n }\n /**\n * The number of transactions in this block.\n */\n get length() { return this.#transactions.length; }\n /**\n * The [[link-js-date]] this block was included at.\n */\n get date() {\n if (this.timestamp == null) {\n return null;\n }\n return new Date(this.timestamp * 1000);\n }\n /**\n * Get the transaction at %%indexe%% within this block.\n */\n async getTransaction(indexOrHash) {\n // Find the internal value by its index or hash\n let tx = undefined;\n if (typeof (indexOrHash) === \"number\") {\n tx = this.#transactions[indexOrHash];\n }\n else {\n const hash = indexOrHash.toLowerCase();\n for (const v of this.#transactions) {\n if (typeof (v) === \"string\") {\n if (v !== hash) {\n continue;\n }\n tx = v;\n break;\n }\n else {\n if (v.hash === hash) {\n continue;\n }\n tx = v;\n break;\n }\n }\n }\n if (tx == null) {\n throw new Error(\"no such tx\");\n }\n if (typeof (tx) === \"string\") {\n return (await this.provider.getTransaction(tx));\n }\n else {\n return tx;\n }\n }\n /**\n * If a **Block** was fetched with a request to include the transactions\n * this will allow synchronous access to those transactions.\n *\n * If the transactions were not prefetched, this will throw.\n */\n getPrefetchedTransaction(indexOrHash) {\n const txs = this.prefetchedTransactions;\n if (typeof (indexOrHash) === \"number\") {\n return txs[indexOrHash];\n }\n indexOrHash = indexOrHash.toLowerCase();\n for (const tx of txs) {\n if (tx.hash === indexOrHash) {\n return tx;\n }\n }\n assertArgument(false, \"no matching transaction\", \"indexOrHash\", indexOrHash);\n }\n /**\n * Returns true if this block been mined. This provides a type guard\n * for all properties on a [[MinedBlock]].\n */\n isMined() { return !!this.hash; }\n /**\n * Returns true if this block is an [[link-eip-2930]] block.\n */\n isLondon() {\n return !!this.baseFeePerGas;\n }\n /**\n * @_ignore:\n */\n orphanedEvent() {\n if (!this.isMined()) {\n throw new Error(\"\");\n }\n return createOrphanedBlockFilter(this);\n }\n}\n//////////////////////\n// Log\n/**\n * A **Log** in Ethereum represents an event that has been included in a\n * transaction using the ``LOG*`` opcodes, which are most commonly used by\n * Solidity's emit for announcing events.\n */\nexport class Log {\n /**\n * The provider connected to the log used to fetch additional details\n * if necessary.\n */\n provider;\n /**\n * The transaction hash of the transaction this log occurred in. Use the\n * [[Log-getTransaction]] to get the [[TransactionResponse]].\n */\n transactionHash;\n /**\n * The block hash of the block this log occurred in. Use the\n * [[Log-getBlock]] to get the [[Block]].\n */\n blockHash;\n /**\n * The block number of the block this log occurred in. It is preferred\n * to use the [[Block-hash]] when fetching the related [[Block]],\n * since in the case of an orphaned block, the block at that height may\n * have changed.\n */\n blockNumber;\n /**\n * If the **Log** represents a block that was removed due to an orphaned\n * block, this will be true.\n *\n * This can only happen within an orphan event listener.\n */\n removed;\n /**\n * The address of the contract that emitted this log.\n */\n address;\n /**\n * The data included in this log when it was emitted.\n */\n data;\n /**\n * The indexed topics included in this log when it was emitted.\n *\n * All topics are included in the bloom filters, so they can be\n * efficiently filtered using the [[Provider-getLogs]] method.\n */\n topics;\n /**\n * The index within the block this log occurred at. This is generally\n * not useful to developers, but can be used with the various roots\n * to proof inclusion within a block.\n */\n index;\n /**\n * The index within the transaction of this log.\n */\n transactionIndex;\n /**\n * @_ignore:\n */\n constructor(log, provider) {\n this.provider = provider;\n const topics = Object.freeze(log.topics.slice());\n defineProperties(this, {\n transactionHash: log.transactionHash,\n blockHash: log.blockHash,\n blockNumber: log.blockNumber,\n removed: log.removed,\n address: log.address,\n data: log.data,\n topics,\n index: log.index,\n transactionIndex: log.transactionIndex,\n });\n }\n /**\n * Returns a JSON-compatible object.\n */\n toJSON() {\n const { address, blockHash, blockNumber, data, index, removed, topics, transactionHash, transactionIndex } = this;\n return {\n _type: \"log\",\n address, blockHash, blockNumber, data, index,\n removed, topics, transactionHash, transactionIndex\n };\n }\n /**\n * Returns the block that this log occurred in.\n */\n async getBlock() {\n const block = await this.provider.getBlock(this.blockHash);\n assert(!!block, \"failed to find transaction\", \"UNKNOWN_ERROR\", {});\n return block;\n }\n /**\n * Returns the transaction that this log occurred in.\n */\n async getTransaction() {\n const tx = await this.provider.getTransaction(this.transactionHash);\n assert(!!tx, \"failed to find transaction\", \"UNKNOWN_ERROR\", {});\n return tx;\n }\n /**\n * Returns the transaction receipt fot the transaction that this\n * log occurred in.\n */\n async getTransactionReceipt() {\n const receipt = await this.provider.getTransactionReceipt(this.transactionHash);\n assert(!!receipt, \"failed to find transaction receipt\", \"UNKNOWN_ERROR\", {});\n return receipt;\n }\n /**\n * @_ignore:\n */\n removedEvent() {\n return createRemovedLogFilter(this);\n }\n}\n//////////////////////\n// Transaction Receipt\n/*\nexport interface LegacyTransactionReceipt {\n byzantium: false;\n status: null;\n root: string;\n}\n\nexport interface ByzantiumTransactionReceipt {\n byzantium: true;\n status: number;\n root: null;\n}\n*/\n/**\n * A **TransactionReceipt** includes additional information about a\n * transaction that is only available after it has been mined.\n */\nexport class TransactionReceipt {\n /**\n * The provider connected to the log used to fetch additional details\n * if necessary.\n */\n provider;\n /**\n * The address the transaction was sent to.\n */\n to;\n /**\n * The sender of the transaction.\n */\n from;\n /**\n * The address of the contract if the transaction was directly\n * responsible for deploying one.\n *\n * This is non-null **only** if the ``to`` is empty and the ``data``\n * was successfully executed as initcode.\n */\n contractAddress;\n /**\n * The transaction hash.\n */\n hash;\n /**\n * The index of this transaction within the block transactions.\n */\n index;\n /**\n * The block hash of the [[Block]] this transaction was included in.\n */\n blockHash;\n /**\n * The block number of the [[Block]] this transaction was included in.\n */\n blockNumber;\n /**\n * The bloom filter bytes that represent all logs that occurred within\n * this transaction. This is generally not useful for most developers,\n * but can be used to validate the included logs.\n */\n logsBloom;\n /**\n * The actual amount of gas used by this transaction.\n *\n * When creating a transaction, the amount of gas that will be used can\n * only be approximated, but the sender must pay the gas fee for the\n * entire gas limit. After the transaction, the difference is refunded.\n */\n gasUsed;\n /**\n * The gas used for BLObs. See [[link-eip-4844]].\n */\n blobGasUsed;\n /**\n * The amount of gas used by all transactions within the block for this\n * and all transactions with a lower ``index``.\n *\n * This is generally not useful for developers but can be used to\n * validate certain aspects of execution.\n */\n cumulativeGasUsed;\n /**\n * The actual gas price used during execution.\n *\n * Due to the complexity of [[link-eip-1559]] this value can only\n * be caluclated after the transaction has been mined, snce the base\n * fee is protocol-enforced.\n */\n gasPrice;\n /**\n * The price paid per BLOB in gas. See [[link-eip-4844]].\n */\n blobGasPrice;\n /**\n * The [[link-eip-2718]] transaction type.\n */\n type;\n //readonly byzantium!: boolean;\n /**\n * The status of this transaction, indicating success (i.e. ``1``) or\n * a revert (i.e. ``0``).\n *\n * This is available in post-byzantium blocks, but some backends may\n * backfill this value.\n */\n status;\n /**\n * The root hash of this transaction.\n *\n * This is no present and was only included in pre-byzantium blocks, but\n * could be used to validate certain parts of the receipt.\n */\n root;\n #logs;\n /**\n * @_ignore:\n */\n constructor(tx, provider) {\n this.#logs = Object.freeze(tx.logs.map((log) => {\n return new Log(log, provider);\n }));\n let gasPrice = BN_0;\n if (tx.effectiveGasPrice != null) {\n gasPrice = tx.effectiveGasPrice;\n }\n else if (tx.gasPrice != null) {\n gasPrice = tx.gasPrice;\n }\n defineProperties(this, {\n provider,\n to: tx.to,\n from: tx.from,\n contractAddress: tx.contractAddress,\n hash: tx.hash,\n index: tx.index,\n blockHash: tx.blockHash,\n blockNumber: tx.blockNumber,\n logsBloom: tx.logsBloom,\n gasUsed: tx.gasUsed,\n cumulativeGasUsed: tx.cumulativeGasUsed,\n blobGasUsed: tx.blobGasUsed,\n gasPrice,\n blobGasPrice: tx.blobGasPrice,\n type: tx.type,\n //byzantium: tx.byzantium,\n status: tx.status,\n root: tx.root\n });\n }\n /**\n * The logs for this transaction.\n */\n get logs() { return this.#logs; }\n /**\n * Returns a JSON-compatible representation.\n */\n toJSON() {\n const { to, from, contractAddress, hash, index, blockHash, blockNumber, logsBloom, logs, //byzantium, \n status, root } = this;\n return {\n _type: \"TransactionReceipt\",\n blockHash, blockNumber,\n //byzantium, \n contractAddress,\n cumulativeGasUsed: toJson(this.cumulativeGasUsed),\n from,\n gasPrice: toJson(this.gasPrice),\n blobGasUsed: toJson(this.blobGasUsed),\n blobGasPrice: toJson(this.blobGasPrice),\n gasUsed: toJson(this.gasUsed),\n hash, index, logs, logsBloom, root, status, to\n };\n }\n /**\n * @_ignore:\n */\n get length() { return this.logs.length; }\n [Symbol.iterator]() {\n let index = 0;\n return {\n next: () => {\n if (index < this.length) {\n return { value: this.logs[index++], done: false };\n }\n return { value: undefined, done: true };\n }\n };\n }\n /**\n * The total fee for this transaction, in wei.\n */\n get fee() {\n return this.gasUsed * this.gasPrice;\n }\n /**\n * Resolves to the block this transaction occurred in.\n */\n async getBlock() {\n const block = await this.provider.getBlock(this.blockHash);\n if (block == null) {\n throw new Error(\"TODO\");\n }\n return block;\n }\n /**\n * Resolves to the transaction this transaction occurred in.\n */\n async getTransaction() {\n const tx = await this.provider.getTransaction(this.hash);\n if (tx == null) {\n throw new Error(\"TODO\");\n }\n return tx;\n }\n /**\n * Resolves to the return value of the execution of this transaction.\n *\n * Support for this feature is limited, as it requires an archive node\n * with the ``debug_`` or ``trace_`` API enabled.\n */\n async getResult() {\n return (await this.provider.getTransactionResult(this.hash));\n }\n /**\n * Resolves to the number of confirmations this transaction has.\n */\n async confirmations() {\n return (await this.provider.getBlockNumber()) - this.blockNumber + 1;\n }\n /**\n * @_ignore:\n */\n removedEvent() {\n return createRemovedTransactionFilter(this);\n }\n /**\n * @_ignore:\n */\n reorderedEvent(other) {\n assert(!other || other.isMined(), \"unmined 'other' transction cannot be orphaned\", \"UNSUPPORTED_OPERATION\", { operation: \"reorderedEvent(other)\" });\n return createReorderedTransactionFilter(this, other);\n }\n}\n/**\n * A **TransactionResponse** includes all properties about a transaction\n * that was sent to the network, which may or may not be included in a\n * block.\n *\n * The [[TransactionResponse-isMined]] can be used to check if the\n * transaction has been mined as well as type guard that the otherwise\n * possibly ``null`` properties are defined.\n */\nexport class TransactionResponse {\n /**\n * The provider this is connected to, which will influence how its\n * methods will resolve its async inspection methods.\n */\n provider;\n /**\n * The block number of the block that this transaction was included in.\n *\n * This is ``null`` for pending transactions.\n */\n blockNumber;\n /**\n * The blockHash of the block that this transaction was included in.\n *\n * This is ``null`` for pending transactions.\n */\n blockHash;\n /**\n * The index within the block that this transaction resides at.\n */\n index;\n /**\n * The transaction hash.\n */\n hash;\n /**\n * The [[link-eip-2718]] transaction envelope type. This is\n * ``0`` for legacy transactions types.\n */\n type;\n /**\n * The receiver of this transaction.\n *\n * If ``null``, then the transaction is an initcode transaction.\n * This means the result of executing the [[data]] will be deployed\n * as a new contract on chain (assuming it does not revert) and the\n * address may be computed using [[getCreateAddress]].\n */\n to;\n /**\n * The sender of this transaction. It is implicitly computed\n * from the transaction pre-image hash (as the digest) and the\n * [[signature]] using ecrecover.\n */\n from;\n /**\n * The nonce, which is used to prevent replay attacks and offer\n * a method to ensure transactions from a given sender are explicitly\n * ordered.\n *\n * When sending a transaction, this must be equal to the number of\n * transactions ever sent by [[from]].\n */\n nonce;\n /**\n * The maximum units of gas this transaction can consume. If execution\n * exceeds this, the entries transaction is reverted and the sender\n * is charged for the full amount, despite not state changes being made.\n */\n gasLimit;\n /**\n * The gas price can have various values, depending on the network.\n *\n * In modern networks, for transactions that are included this is\n * the //effective gas price// (the fee per gas that was actually\n * charged), while for transactions that have not been included yet\n * is the [[maxFeePerGas]].\n *\n * For legacy transactions, or transactions on legacy networks, this\n * is the fee that will be charged per unit of gas the transaction\n * consumes.\n */\n gasPrice;\n /**\n * The maximum priority fee (per unit of gas) to allow a\n * validator to charge the sender. This is inclusive of the\n * [[maxFeeFeePerGas]].\n */\n maxPriorityFeePerGas;\n /**\n * The maximum fee (per unit of gas) to allow this transaction\n * to charge the sender.\n */\n maxFeePerGas;\n /**\n * The [[link-eip-4844]] max fee per BLOb gas.\n */\n maxFeePerBlobGas;\n /**\n * The data.\n */\n data;\n /**\n * The value, in wei. Use [[formatEther]] to format this value\n * as ether.\n */\n value;\n /**\n * The chain ID.\n */\n chainId;\n /**\n * The signature.\n */\n signature;\n /**\n * The [[link-eip-2930]] access list for transaction types that\n * support it, otherwise ``null``.\n */\n accessList;\n /**\n * The [[link-eip-4844]] BLOb versioned hashes.\n */\n blobVersionedHashes;\n #startBlock;\n /**\n * @_ignore:\n */\n constructor(tx, provider) {\n this.provider = provider;\n this.blockNumber = (tx.blockNumber != null) ? tx.blockNumber : null;\n this.blockHash = (tx.blockHash != null) ? tx.blockHash : null;\n this.hash = tx.hash;\n this.index = tx.index;\n this.type = tx.type;\n this.from = tx.from;\n this.to = tx.to || null;\n this.gasLimit = tx.gasLimit;\n this.nonce = tx.nonce;\n this.data = tx.data;\n this.value = tx.value;\n this.gasPrice = tx.gasPrice;\n this.maxPriorityFeePerGas = (tx.maxPriorityFeePerGas != null) ? tx.maxPriorityFeePerGas : null;\n this.maxFeePerGas = (tx.maxFeePerGas != null) ? tx.maxFeePerGas : null;\n this.maxFeePerBlobGas = (tx.maxFeePerBlobGas != null) ? tx.maxFeePerBlobGas : null;\n this.chainId = tx.chainId;\n this.signature = tx.signature;\n this.accessList = (tx.accessList != null) ? tx.accessList : null;\n this.blobVersionedHashes = (tx.blobVersionedHashes != null) ? tx.blobVersionedHashes : null;\n this.#startBlock = -1;\n }\n /**\n * Returns a JSON-compatible representation of this transaction.\n */\n toJSON() {\n const { blockNumber, blockHash, index, hash, type, to, from, nonce, data, signature, accessList, blobVersionedHashes } = this;\n return {\n _type: \"TransactionResponse\",\n accessList, blockNumber, blockHash,\n blobVersionedHashes,\n chainId: toJson(this.chainId),\n data, from,\n gasLimit: toJson(this.gasLimit),\n gasPrice: toJson(this.gasPrice),\n hash,\n maxFeePerGas: toJson(this.maxFeePerGas),\n maxPriorityFeePerGas: toJson(this.maxPriorityFeePerGas),\n maxFeePerBlobGas: toJson(this.maxFeePerBlobGas),\n nonce, signature, to, index, type,\n value: toJson(this.value),\n };\n }\n /**\n * Resolves to the Block that this transaction was included in.\n *\n * This will return null if the transaction has not been included yet.\n */\n async getBlock() {\n let blockNumber = this.blockNumber;\n if (blockNumber == null) {\n const tx = await this.getTransaction();\n if (tx) {\n blockNumber = tx.blockNumber;\n }\n }\n if (blockNumber == null) {\n return null;\n }\n const block = this.provider.getBlock(blockNumber);\n if (block == null) {\n throw new Error(\"TODO\");\n }\n return block;\n }\n /**\n * Resolves to this transaction being re-requested from the\n * provider. This can be used if you have an unmined transaction\n * and wish to get an up-to-date populated instance.\n */\n async getTransaction() {\n return this.provider.getTransaction(this.hash);\n }\n /**\n * Resolve to the number of confirmations this transaction has.\n */\n async confirmations() {\n if (this.blockNumber == null) {\n const { tx, blockNumber } = await resolveProperties({\n tx: this.getTransaction(),\n blockNumber: this.provider.getBlockNumber()\n });\n // Not mined yet...\n if (tx == null || tx.blockNumber == null) {\n return 0;\n }\n return blockNumber - tx.blockNumber + 1;\n }\n const blockNumber = await this.provider.getBlockNumber();\n return blockNumber - this.blockNumber + 1;\n }\n /**\n * Resolves once this transaction has been mined and has\n * %%confirms%% blocks including it (default: ``1``) with an\n * optional %%timeout%%.\n *\n * This can resolve to ``null`` only if %%confirms%% is ``0``\n * and the transaction has not been mined, otherwise this will\n * wait until enough confirmations have completed.\n */\n async wait(_confirms, _timeout) {\n const confirms = (_confirms == null) ? 1 : _confirms;\n const timeout = (_timeout == null) ? 0 : _timeout;\n let startBlock = this.#startBlock;\n let nextScan = -1;\n let stopScanning = (startBlock === -1) ? true : false;\n const checkReplacement = async () => {\n // Get the current transaction count for this sender\n if (stopScanning) {\n return null;\n }\n const { blockNumber, nonce } = await resolveProperties({\n blockNumber: this.provider.getBlockNumber(),\n nonce: this.provider.getTransactionCount(this.from)\n });\n // No transaction or our nonce has not been mined yet; but we\n // can start scanning later when we do start\n if (nonce < this.nonce) {\n startBlock = blockNumber;\n return;\n }\n // We were mined; no replacement\n if (stopScanning) {\n return null;\n }\n const mined = await this.getTransaction();\n if (mined && mined.blockNumber != null) {\n return;\n }\n // We were replaced; start scanning for that transaction\n // Starting to scan; look back a few extra blocks for safety\n if (nextScan === -1) {\n nextScan = startBlock - 3;\n if (nextScan < this.#startBlock) {\n nextScan = this.#startBlock;\n }\n }\n while (nextScan <= blockNumber) {\n // Get the next block to scan\n if (stopScanning) {\n return null;\n }\n const block = await this.provider.getBlock(nextScan, true);\n // This should not happen; but we'll try again shortly\n if (block == null) {\n return;\n }\n // We were mined; no replacement\n for (const hash of block) {\n if (hash === this.hash) {\n return;\n }\n }\n // Search for the transaction that replaced us\n for (let i = 0; i < block.length; i++) {\n const tx = await block.getTransaction(i);\n if (tx.from === this.from && tx.nonce === this.nonce) {\n // Get the receipt\n if (stopScanning) {\n return null;\n }\n const receipt = await this.provider.getTransactionReceipt(tx.hash);\n // This should not happen; but we'll try again shortly\n if (receipt == null) {\n return;\n }\n // We will retry this on the next block (this case could be optimized)\n if ((blockNumber - receipt.blockNumber + 1) < confirms) {\n return;\n }\n // The reason we were replaced\n let reason = \"replaced\";\n if (tx.data === this.data && tx.to === this.to && tx.value === this.value) {\n reason = \"repriced\";\n }\n else if (tx.data === \"0x\" && tx.from === tx.to && tx.value === BN_0) {\n reason = \"cancelled\";\n }\n assert(false, \"transaction was replaced\", \"TRANSACTION_REPLACED\", {\n cancelled: (reason === \"replaced\" || reason === \"cancelled\"),\n reason,\n replacement: tx.replaceableTransaction(startBlock),\n hash: tx.hash,\n receipt\n });\n }\n }\n nextScan++;\n }\n return;\n };\n const checkReceipt = (receipt) => {\n if (receipt == null || receipt.status !== 0) {\n return receipt;\n }\n assert(false, \"transaction execution reverted\", \"CALL_EXCEPTION\", {\n action: \"sendTransaction\",\n data: null, reason: null, invocation: null, revert: null,\n transaction: {\n to: receipt.to,\n from: receipt.from,\n data: \"\" // @TODO: in v7, split out sendTransaction properties\n }, receipt\n });\n };\n const receipt = await this.provider.getTransactionReceipt(this.hash);\n if (confirms === 0) {\n return checkReceipt(receipt);\n }\n if (receipt) {\n if ((await receipt.confirmations()) >= confirms) {\n return checkReceipt(receipt);\n }\n }\n else {\n // Check for a replacement; throws if a replacement was found\n await checkReplacement();\n // Allow null only when the confirms is 0\n if (confirms === 0) {\n return null;\n }\n }\n const waiter = new Promise((resolve, reject) => {\n // List of things to cancel when we have a result (one way or the other)\n const cancellers = [];\n const cancel = () => { cancellers.forEach((c) => c()); };\n // On cancel, stop scanning for replacements\n cancellers.push(() => { stopScanning = true; });\n // Set up any timeout requested\n if (timeout > 0) {\n const timer = setTimeout(() => {\n cancel();\n reject(makeError(\"wait for transaction timeout\", \"TIMEOUT\"));\n }, timeout);\n cancellers.push(() => { clearTimeout(timer); });\n }\n const txListener = async (receipt) => {\n // Done; return it!\n if ((await receipt.confirmations()) >= confirms) {\n cancel();\n try {\n resolve(checkReceipt(receipt));\n }\n catch (error) {\n reject(error);\n }\n }\n };\n cancellers.push(() => { this.provider.off(this.hash, txListener); });\n this.provider.on(this.hash, txListener);\n // We support replacement detection; start checking\n if (startBlock >= 0) {\n const replaceListener = async () => {\n try {\n // Check for a replacement; this throws only if one is found\n await checkReplacement();\n }\n catch (error) {\n // We were replaced (with enough confirms); re-throw the error\n if (isError(error, \"TRANSACTION_REPLACED\")) {\n cancel();\n reject(error);\n return;\n }\n }\n // Rescheudle a check on the next block\n if (!stopScanning) {\n this.provider.once(\"block\", replaceListener);\n }\n };\n cancellers.push(() => { this.provider.off(\"block\", replaceListener); });\n this.provider.once(\"block\", replaceListener);\n }\n });\n return await waiter;\n }\n /**\n * Returns ``true`` if this transaction has been included.\n *\n * This is effective only as of the time the TransactionResponse\n * was instantiated. To get up-to-date information, use\n * [[getTransaction]].\n *\n * This provides a Type Guard that this transaction will have\n * non-null property values for properties that are null for\n * unmined transactions.\n */\n isMined() {\n return (this.blockHash != null);\n }\n /**\n * Returns true if the transaction is a legacy (i.e. ``type == 0``)\n * transaction.\n *\n * This provides a Type Guard that this transaction will have\n * the ``null``-ness for hardfork-specific properties set correctly.\n */\n isLegacy() {\n return (this.type === 0);\n }\n /**\n * Returns true if the transaction is a Berlin (i.e. ``type == 1``)\n * transaction. See [[link-eip-2070]].\n *\n * This provides a Type Guard that this transaction will have\n * the ``null``-ness for hardfork-specific properties set correctly.\n */\n isBerlin() {\n return (this.type === 1);\n }\n /**\n * Returns true if the transaction is a London (i.e. ``type == 2``)\n * transaction. See [[link-eip-1559]].\n *\n * This provides a Type Guard that this transaction will have\n * the ``null``-ness for hardfork-specific properties set correctly.\n */\n isLondon() {\n return (this.type === 2);\n }\n /**\n * Returns true if hte transaction is a Cancun (i.e. ``type == 3``)\n * transaction. See [[link-eip-4844]].\n */\n isCancun() {\n return (this.type === 3);\n }\n /**\n * Returns a filter which can be used to listen for orphan events\n * that evict this transaction.\n */\n removedEvent() {\n assert(this.isMined(), \"unmined transaction canot be orphaned\", \"UNSUPPORTED_OPERATION\", { operation: \"removeEvent()\" });\n return createRemovedTransactionFilter(this);\n }\n /**\n * Returns a filter which can be used to listen for orphan events\n * that re-order this event against %%other%%.\n */\n reorderedEvent(other) {\n assert(this.isMined(), \"unmined transaction canot be orphaned\", \"UNSUPPORTED_OPERATION\", { operation: \"removeEvent()\" });\n assert(!other || other.isMined(), \"unmined 'other' transaction canot be orphaned\", \"UNSUPPORTED_OPERATION\", { operation: \"removeEvent()\" });\n return createReorderedTransactionFilter(this, other);\n }\n /**\n * Returns a new TransactionResponse instance which has the ability to\n * detect (and throw an error) if the transaction is replaced, which\n * will begin scanning at %%startBlock%%.\n *\n * This should generally not be used by developers and is intended\n * primarily for internal use. Setting an incorrect %%startBlock%% can\n * have devastating performance consequences if used incorrectly.\n */\n replaceableTransaction(startBlock) {\n assertArgument(Number.isInteger(startBlock) && startBlock >= 0, \"invalid startBlock\", \"startBlock\", startBlock);\n const tx = new TransactionResponse(this, this.provider);\n tx.#startBlock = startBlock;\n return tx;\n }\n}\nfunction createOrphanedBlockFilter(block) {\n return { orphan: \"drop-block\", hash: block.hash, number: block.number };\n}\nfunction createReorderedTransactionFilter(tx, other) {\n return { orphan: \"reorder-transaction\", tx, other };\n}\nfunction createRemovedTransactionFilter(tx) {\n return { orphan: \"drop-transaction\", tx };\n}\nfunction createRemovedLogFilter(log) {\n return { orphan: \"drop-log\", log: {\n transactionHash: log.transactionHash,\n blockHash: log.blockHash,\n blockNumber: log.blockNumber,\n address: log.address,\n data: log.data,\n topics: Object.freeze(log.topics.slice()),\n index: log.index\n } };\n}\n//# sourceMappingURL=provider.js.map","// import from provider.ts instead of index.ts to prevent circular dep\n// from EtherscanProvider\nimport { Log, TransactionReceipt, TransactionResponse } from \"../providers/provider.js\";\nimport { defineProperties, EventPayload } from \"../utils/index.js\";\n/**\n * An **EventLog** contains additional properties parsed from the [[Log]].\n */\nexport class EventLog extends Log {\n /**\n * The Contract Interface.\n */\n interface;\n /**\n * The matching event.\n */\n fragment;\n /**\n * The parsed arguments passed to the event by ``emit``.\n */\n args;\n /**\n * @_ignore:\n */\n constructor(log, iface, fragment) {\n super(log, log.provider);\n const args = iface.decodeEventLog(fragment, log.data, log.topics);\n defineProperties(this, { args, fragment, interface: iface });\n }\n /**\n * The name of the event.\n */\n get eventName() { return this.fragment.name; }\n /**\n * The signature of the event.\n */\n get eventSignature() { return this.fragment.format(); }\n}\n/**\n * An **EventLog** contains additional properties parsed from the [[Log]].\n */\nexport class UndecodedEventLog extends Log {\n /**\n * The error encounted when trying to decode the log.\n */\n error;\n /**\n * @_ignore:\n */\n constructor(log, error) {\n super(log, log.provider);\n defineProperties(this, { error });\n }\n}\n/**\n * A **ContractTransactionReceipt** includes the parsed logs from a\n * [[TransactionReceipt]].\n */\nexport class ContractTransactionReceipt extends TransactionReceipt {\n #iface;\n /**\n * @_ignore:\n */\n constructor(iface, provider, tx) {\n super(tx, provider);\n this.#iface = iface;\n }\n /**\n * The parsed logs for any [[Log]] which has a matching event in the\n * Contract ABI.\n */\n get logs() {\n return super.logs.map((log) => {\n const fragment = log.topics.length ? this.#iface.getEvent(log.topics[0]) : null;\n if (fragment) {\n try {\n return new EventLog(log, this.#iface, fragment);\n }\n catch (error) {\n return new UndecodedEventLog(log, error);\n }\n }\n return log;\n });\n }\n}\n/**\n * A **ContractTransactionResponse** will return a\n * [[ContractTransactionReceipt]] when waited on.\n */\nexport class ContractTransactionResponse extends TransactionResponse {\n #iface;\n /**\n * @_ignore:\n */\n constructor(iface, provider, tx) {\n super(tx, provider);\n this.#iface = iface;\n }\n /**\n * Resolves once this transaction has been mined and has\n * %%confirms%% blocks including it (default: ``1``) with an\n * optional %%timeout%%.\n *\n * This can resolve to ``null`` only if %%confirms%% is ``0``\n * and the transaction has not been mined, otherwise this will\n * wait until enough confirmations have completed.\n */\n async wait(confirms, timeout) {\n const receipt = await super.wait(confirms, timeout);\n if (receipt == null) {\n return null;\n }\n return new ContractTransactionReceipt(this.#iface, this.provider, receipt);\n }\n}\n/**\n * A **ContractUnknownEventPayload** is included as the last parameter to\n * Contract Events when the event does not match any events in the ABI.\n */\nexport class ContractUnknownEventPayload extends EventPayload {\n /**\n * The log with no matching events.\n */\n log;\n /**\n * @_event:\n */\n constructor(contract, listener, filter, log) {\n super(contract, listener, filter);\n defineProperties(this, { log });\n }\n /**\n * Resolves to the block the event occured in.\n */\n async getBlock() {\n return await this.log.getBlock();\n }\n /**\n * Resolves to the transaction the event occured in.\n */\n async getTransaction() {\n return await this.log.getTransaction();\n }\n /**\n * Resolves to the transaction receipt the event occured in.\n */\n async getTransactionReceipt() {\n return await this.log.getTransactionReceipt();\n }\n}\n/**\n * A **ContractEventPayload** is included as the last parameter to\n * Contract Events when the event is known.\n */\nexport class ContractEventPayload extends ContractUnknownEventPayload {\n /**\n * @_ignore:\n */\n constructor(contract, listener, filter, fragment, _log) {\n super(contract, listener, filter, new EventLog(_log, contract.interface, fragment));\n const args = contract.interface.decodeEventLog(fragment, this.log.data, this.log.topics);\n defineProperties(this, { args, fragment });\n }\n /**\n * The event name.\n */\n get eventName() {\n return this.fragment.name;\n }\n /**\n * The event signature.\n */\n get eventSignature() {\n return this.fragment.format();\n }\n}\n//# sourceMappingURL=wrappers.js.map","import { Interface, Typed } from \"../abi/index.js\";\nimport { isAddressable, resolveAddress } from \"../address/index.js\";\n// import from provider.ts instead of index.ts to prevent circular dep\n// from EtherscanProvider\nimport { copyRequest, Log } from \"../providers/provider.js\";\nimport { defineProperties, getBigInt, isCallException, isHexString, resolveProperties, isError, makeError, assert, assertArgument } from \"../utils/index.js\";\nimport { ContractEventPayload, ContractUnknownEventPayload, ContractTransactionResponse, EventLog, UndecodedEventLog } from \"./wrappers.js\";\nconst BN_0 = BigInt(0);\nfunction canCall(value) {\n return (value && typeof (value.call) === \"function\");\n}\nfunction canEstimate(value) {\n return (value && typeof (value.estimateGas) === \"function\");\n}\nfunction canResolve(value) {\n return (value && typeof (value.resolveName) === \"function\");\n}\nfunction canSend(value) {\n return (value && typeof (value.sendTransaction) === \"function\");\n}\nfunction getResolver(value) {\n if (value != null) {\n if (canResolve(value)) {\n return value;\n }\n if (value.provider) {\n return value.provider;\n }\n }\n return undefined;\n}\nclass PreparedTopicFilter {\n #filter;\n fragment;\n constructor(contract, fragment, args) {\n defineProperties(this, { fragment });\n if (fragment.inputs.length < args.length) {\n throw new Error(\"too many arguments\");\n }\n // Recursively descend into args and resolve any addresses\n const runner = getRunner(contract.runner, \"resolveName\");\n const resolver = canResolve(runner) ? runner : null;\n this.#filter = (async function () {\n const resolvedArgs = await Promise.all(fragment.inputs.map((param, index) => {\n const arg = args[index];\n if (arg == null) {\n return null;\n }\n return param.walkAsync(args[index], (type, value) => {\n if (type === \"address\") {\n if (Array.isArray(value)) {\n return Promise.all(value.map((v) => resolveAddress(v, resolver)));\n }\n return resolveAddress(value, resolver);\n }\n return value;\n });\n }));\n return contract.interface.encodeFilterTopics(fragment, resolvedArgs);\n })();\n }\n getTopicFilter() {\n return this.#filter;\n }\n}\n// A = Arguments passed in as a tuple\n// R = The result type of the call (i.e. if only one return type,\n// the qualified type, otherwise Result)\n// D = The type the default call will return (i.e. R for view/pure,\n// TransactionResponse otherwise)\n//export interface ContractMethod = Array, R = any, D extends R | ContractTransactionResponse = ContractTransactionResponse> {\nfunction getRunner(value, feature) {\n if (value == null) {\n return null;\n }\n if (typeof (value[feature]) === \"function\") {\n return value;\n }\n if (value.provider && typeof (value.provider[feature]) === \"function\") {\n return value.provider;\n }\n return null;\n}\nfunction getProvider(value) {\n if (value == null) {\n return null;\n }\n return value.provider || null;\n}\n/**\n * @_ignore:\n */\nexport async function copyOverrides(arg, allowed) {\n // Make sure the overrides passed in are a valid overrides object\n const _overrides = Typed.dereference(arg, \"overrides\");\n assertArgument(typeof (_overrides) === \"object\", \"invalid overrides parameter\", \"overrides\", arg);\n // Create a shallow copy (we'll deep-ify anything needed during normalizing)\n const overrides = copyRequest(_overrides);\n assertArgument(overrides.to == null || (allowed || []).indexOf(\"to\") >= 0, \"cannot override to\", \"overrides.to\", overrides.to);\n assertArgument(overrides.data == null || (allowed || []).indexOf(\"data\") >= 0, \"cannot override data\", \"overrides.data\", overrides.data);\n // Resolve any from\n if (overrides.from) {\n overrides.from = overrides.from;\n }\n return overrides;\n}\n/**\n * @_ignore:\n */\nexport async function resolveArgs(_runner, inputs, args) {\n // Recursively descend into args and resolve any addresses\n const runner = getRunner(_runner, \"resolveName\");\n const resolver = canResolve(runner) ? runner : null;\n return await Promise.all(inputs.map((param, index) => {\n return param.walkAsync(args[index], (type, value) => {\n value = Typed.dereference(value, type);\n if (type === \"address\") {\n return resolveAddress(value, resolver);\n }\n return value;\n });\n }));\n}\nfunction buildWrappedFallback(contract) {\n const populateTransaction = async function (overrides) {\n // If an overrides was passed in, copy it and normalize the values\n const tx = (await copyOverrides(overrides, [\"data\"]));\n tx.to = await contract.getAddress();\n if (tx.from) {\n tx.from = await resolveAddress(tx.from, getResolver(contract.runner));\n }\n const iface = contract.interface;\n const noValue = (getBigInt((tx.value || BN_0), \"overrides.value\") === BN_0);\n const noData = ((tx.data || \"0x\") === \"0x\");\n if (iface.fallback && !iface.fallback.payable && iface.receive && !noData && !noValue) {\n assertArgument(false, \"cannot send data to receive or send value to non-payable fallback\", \"overrides\", overrides);\n }\n assertArgument(iface.fallback || noData, \"cannot send data to receive-only contract\", \"overrides.data\", tx.data);\n // Only allow payable contracts to set non-zero value\n const payable = iface.receive || (iface.fallback && iface.fallback.payable);\n assertArgument(payable || noValue, \"cannot send value to non-payable fallback\", \"overrides.value\", tx.value);\n // Only allow fallback contracts to set non-empty data\n assertArgument(iface.fallback || noData, \"cannot send data to receive-only contract\", \"overrides.data\", tx.data);\n return tx;\n };\n const staticCall = async function (overrides) {\n const runner = getRunner(contract.runner, \"call\");\n assert(canCall(runner), \"contract runner does not support calling\", \"UNSUPPORTED_OPERATION\", { operation: \"call\" });\n const tx = await populateTransaction(overrides);\n try {\n return await runner.call(tx);\n }\n catch (error) {\n if (isCallException(error) && error.data) {\n throw contract.interface.makeError(error.data, tx);\n }\n throw error;\n }\n };\n const send = async function (overrides) {\n const runner = contract.runner;\n assert(canSend(runner), \"contract runner does not support sending transactions\", \"UNSUPPORTED_OPERATION\", { operation: \"sendTransaction\" });\n const tx = await runner.sendTransaction(await populateTransaction(overrides));\n const provider = getProvider(contract.runner);\n // @TODO: the provider can be null; make a custom dummy provider that will throw a\n // meaningful error\n return new ContractTransactionResponse(contract.interface, provider, tx);\n };\n const estimateGas = async function (overrides) {\n const runner = getRunner(contract.runner, \"estimateGas\");\n assert(canEstimate(runner), \"contract runner does not support gas estimation\", \"UNSUPPORTED_OPERATION\", { operation: \"estimateGas\" });\n return await runner.estimateGas(await populateTransaction(overrides));\n };\n const method = async (overrides) => {\n return await send(overrides);\n };\n defineProperties(method, {\n _contract: contract,\n estimateGas,\n populateTransaction,\n send, staticCall\n });\n return method;\n}\nfunction buildWrappedMethod(contract, key) {\n const getFragment = function (...args) {\n const fragment = contract.interface.getFunction(key, args);\n assert(fragment, \"no matching fragment\", \"UNSUPPORTED_OPERATION\", {\n operation: \"fragment\",\n info: { key, args }\n });\n return fragment;\n };\n const populateTransaction = async function (...args) {\n const fragment = getFragment(...args);\n // If an overrides was passed in, copy it and normalize the values\n let overrides = {};\n if (fragment.inputs.length + 1 === args.length) {\n overrides = await copyOverrides(args.pop());\n if (overrides.from) {\n overrides.from = await resolveAddress(overrides.from, getResolver(contract.runner));\n }\n }\n if (fragment.inputs.length !== args.length) {\n throw new Error(\"internal error: fragment inputs doesn't match arguments; should not happen\");\n }\n const resolvedArgs = await resolveArgs(contract.runner, fragment.inputs, args);\n return Object.assign({}, overrides, await resolveProperties({\n to: contract.getAddress(),\n data: contract.interface.encodeFunctionData(fragment, resolvedArgs)\n }));\n };\n const staticCall = async function (...args) {\n const result = await staticCallResult(...args);\n if (result.length === 1) {\n return result[0];\n }\n return result;\n };\n const send = async function (...args) {\n const runner = contract.runner;\n assert(canSend(runner), \"contract runner does not support sending transactions\", \"UNSUPPORTED_OPERATION\", { operation: \"sendTransaction\" });\n const tx = await runner.sendTransaction(await populateTransaction(...args));\n const provider = getProvider(contract.runner);\n // @TODO: the provider can be null; make a custom dummy provider that will throw a\n // meaningful error\n return new ContractTransactionResponse(contract.interface, provider, tx);\n };\n const estimateGas = async function (...args) {\n const runner = getRunner(contract.runner, \"estimateGas\");\n assert(canEstimate(runner), \"contract runner does not support gas estimation\", \"UNSUPPORTED_OPERATION\", { operation: \"estimateGas\" });\n return await runner.estimateGas(await populateTransaction(...args));\n };\n const staticCallResult = async function (...args) {\n const runner = getRunner(contract.runner, \"call\");\n assert(canCall(runner), \"contract runner does not support calling\", \"UNSUPPORTED_OPERATION\", { operation: \"call\" });\n const tx = await populateTransaction(...args);\n let result = \"0x\";\n try {\n result = await runner.call(tx);\n }\n catch (error) {\n if (isCallException(error) && error.data) {\n throw contract.interface.makeError(error.data, tx);\n }\n throw error;\n }\n const fragment = getFragment(...args);\n return contract.interface.decodeFunctionResult(fragment, result);\n };\n const method = async (...args) => {\n const fragment = getFragment(...args);\n if (fragment.constant) {\n return await staticCall(...args);\n }\n return await send(...args);\n };\n defineProperties(method, {\n name: contract.interface.getFunctionName(key),\n _contract: contract, _key: key,\n getFragment,\n estimateGas,\n populateTransaction,\n send, staticCall, staticCallResult,\n });\n // Only works on non-ambiguous keys (refined fragment is always non-ambiguous)\n Object.defineProperty(method, \"fragment\", {\n configurable: false,\n enumerable: true,\n get: () => {\n const fragment = contract.interface.getFunction(key);\n assert(fragment, \"no matching fragment\", \"UNSUPPORTED_OPERATION\", {\n operation: \"fragment\",\n info: { key }\n });\n return fragment;\n }\n });\n return method;\n}\nfunction buildWrappedEvent(contract, key) {\n const getFragment = function (...args) {\n const fragment = contract.interface.getEvent(key, args);\n assert(fragment, \"no matching fragment\", \"UNSUPPORTED_OPERATION\", {\n operation: \"fragment\",\n info: { key, args }\n });\n return fragment;\n };\n const method = function (...args) {\n return new PreparedTopicFilter(contract, getFragment(...args), args);\n };\n defineProperties(method, {\n name: contract.interface.getEventName(key),\n _contract: contract, _key: key,\n getFragment\n });\n // Only works on non-ambiguous keys (refined fragment is always non-ambiguous)\n Object.defineProperty(method, \"fragment\", {\n configurable: false,\n enumerable: true,\n get: () => {\n const fragment = contract.interface.getEvent(key);\n assert(fragment, \"no matching fragment\", \"UNSUPPORTED_OPERATION\", {\n operation: \"fragment\",\n info: { key }\n });\n return fragment;\n }\n });\n return method;\n}\n// The combination of TypeScrype, Private Fields and Proxies makes\n// the world go boom; so we hide variables with some trickery keeping\n// a symbol attached to each BaseContract which its sub-class (even\n// via a Proxy) can reach and use to look up its internal values.\nconst internal = Symbol.for(\"_ethersInternal_contract\");\nconst internalValues = new WeakMap();\nfunction setInternal(contract, values) {\n internalValues.set(contract[internal], values);\n}\nfunction getInternal(contract) {\n return internalValues.get(contract[internal]);\n}\nfunction isDeferred(value) {\n return (value && typeof (value) === \"object\" && (\"getTopicFilter\" in value) &&\n (typeof (value.getTopicFilter) === \"function\") && value.fragment);\n}\nasync function getSubInfo(contract, event) {\n let topics;\n let fragment = null;\n // Convert named events to topicHash and get the fragment for\n // events which need deconstructing.\n if (Array.isArray(event)) {\n const topicHashify = function (name) {\n if (isHexString(name, 32)) {\n return name;\n }\n const fragment = contract.interface.getEvent(name);\n assertArgument(fragment, \"unknown fragment\", \"name\", name);\n return fragment.topicHash;\n };\n // Array of Topics and Names; e.g. `[ \"0x1234...89ab\", \"Transfer(address)\" ]`\n topics = event.map((e) => {\n if (e == null) {\n return null;\n }\n if (Array.isArray(e)) {\n return e.map(topicHashify);\n }\n return topicHashify(e);\n });\n }\n else if (event === \"*\") {\n topics = [null];\n }\n else if (typeof (event) === \"string\") {\n if (isHexString(event, 32)) {\n // Topic Hash\n topics = [event];\n }\n else {\n // Name or Signature; e.g. `\"Transfer\", `\"Transfer(address)\"`\n fragment = contract.interface.getEvent(event);\n assertArgument(fragment, \"unknown fragment\", \"event\", event);\n topics = [fragment.topicHash];\n }\n }\n else if (isDeferred(event)) {\n // Deferred Topic Filter; e.g. `contract.filter.Transfer(from)`\n topics = await event.getTopicFilter();\n }\n else if (\"fragment\" in event) {\n // ContractEvent; e.g. `contract.filter.Transfer`\n fragment = event.fragment;\n topics = [fragment.topicHash];\n }\n else {\n assertArgument(false, \"unknown event name\", \"event\", event);\n }\n // Normalize topics and sort TopicSets\n topics = topics.map((t) => {\n if (t == null) {\n return null;\n }\n if (Array.isArray(t)) {\n const items = Array.from(new Set(t.map((t) => t.toLowerCase())).values());\n if (items.length === 1) {\n return items[0];\n }\n items.sort();\n return items;\n }\n return t.toLowerCase();\n });\n const tag = topics.map((t) => {\n if (t == null) {\n return \"null\";\n }\n if (Array.isArray(t)) {\n return t.join(\"|\");\n }\n return t;\n }).join(\"&\");\n return { fragment, tag, topics };\n}\nasync function hasSub(contract, event) {\n const { subs } = getInternal(contract);\n return subs.get((await getSubInfo(contract, event)).tag) || null;\n}\nasync function getSub(contract, operation, event) {\n // Make sure our runner can actually subscribe to events\n const provider = getProvider(contract.runner);\n assert(provider, \"contract runner does not support subscribing\", \"UNSUPPORTED_OPERATION\", { operation });\n const { fragment, tag, topics } = await getSubInfo(contract, event);\n const { addr, subs } = getInternal(contract);\n let sub = subs.get(tag);\n if (!sub) {\n const address = (addr ? addr : contract);\n const filter = { address, topics };\n const listener = (log) => {\n let foundFragment = fragment;\n if (foundFragment == null) {\n try {\n foundFragment = contract.interface.getEvent(log.topics[0]);\n }\n catch (error) { }\n }\n // If fragment is null, we do not deconstruct the args to emit\n if (foundFragment) {\n const _foundFragment = foundFragment;\n const args = fragment ? contract.interface.decodeEventLog(fragment, log.data, log.topics) : [];\n emit(contract, event, args, (listener) => {\n return new ContractEventPayload(contract, listener, event, _foundFragment, log);\n });\n }\n else {\n emit(contract, event, [], (listener) => {\n return new ContractUnknownEventPayload(contract, listener, event, log);\n });\n }\n };\n let starting = [];\n const start = () => {\n if (starting.length) {\n return;\n }\n starting.push(provider.on(filter, listener));\n };\n const stop = async () => {\n if (starting.length == 0) {\n return;\n }\n let started = starting;\n starting = [];\n await Promise.all(started);\n provider.off(filter, listener);\n };\n sub = { tag, listeners: [], start, stop };\n subs.set(tag, sub);\n }\n return sub;\n}\n// We use this to ensure one emit resolves before firing the next to\n// ensure correct ordering (note this cannot throw and just adds the\n// notice to the event queu using setTimeout).\nlet lastEmit = Promise.resolve();\nasync function _emit(contract, event, args, payloadFunc) {\n await lastEmit;\n const sub = await hasSub(contract, event);\n if (!sub) {\n return false;\n }\n const count = sub.listeners.length;\n sub.listeners = sub.listeners.filter(({ listener, once }) => {\n const passArgs = Array.from(args);\n if (payloadFunc) {\n passArgs.push(payloadFunc(once ? null : listener));\n }\n try {\n listener.call(contract, ...passArgs);\n }\n catch (error) { }\n return !once;\n });\n if (sub.listeners.length === 0) {\n sub.stop();\n getInternal(contract).subs.delete(sub.tag);\n }\n return (count > 0);\n}\nasync function emit(contract, event, args, payloadFunc) {\n try {\n await lastEmit;\n }\n catch (error) { }\n const resultPromise = _emit(contract, event, args, payloadFunc);\n lastEmit = resultPromise;\n return await resultPromise;\n}\nconst passProperties = [\"then\"];\nexport class BaseContract {\n /**\n * The target to connect to.\n *\n * This can be an address, ENS name or any [[Addressable]], such as\n * another contract. To get the resovled address, use the ``getAddress``\n * method.\n */\n target;\n /**\n * The contract Interface.\n */\n interface;\n /**\n * The connected runner. This is generally a [[Provider]] or a\n * [[Signer]], which dictates what operations are supported.\n *\n * For example, a **Contract** connected to a [[Provider]] may\n * only execute read-only operations.\n */\n runner;\n /**\n * All the Events available on this contract.\n */\n filters;\n /**\n * @_ignore:\n */\n [internal];\n /**\n * The fallback or receive function if any.\n */\n fallback;\n /**\n * Creates a new contract connected to %%target%% with the %%abi%% and\n * optionally connected to a %%runner%% to perform operations on behalf\n * of.\n */\n constructor(target, abi, runner, _deployTx) {\n assertArgument(typeof (target) === \"string\" || isAddressable(target), \"invalid value for Contract target\", \"target\", target);\n if (runner == null) {\n runner = null;\n }\n const iface = Interface.from(abi);\n defineProperties(this, { target, runner, interface: iface });\n Object.defineProperty(this, internal, { value: {} });\n let addrPromise;\n let addr = null;\n let deployTx = null;\n if (_deployTx) {\n const provider = getProvider(runner);\n // @TODO: the provider can be null; make a custom dummy provider that will throw a\n // meaningful error\n deployTx = new ContractTransactionResponse(this.interface, provider, _deployTx);\n }\n let subs = new Map();\n // Resolve the target as the address\n if (typeof (target) === \"string\") {\n if (isHexString(target)) {\n addr = target;\n addrPromise = Promise.resolve(target);\n }\n else {\n const resolver = getRunner(runner, \"resolveName\");\n if (!canResolve(resolver)) {\n throw makeError(\"contract runner does not support name resolution\", \"UNSUPPORTED_OPERATION\", {\n operation: \"resolveName\"\n });\n }\n addrPromise = resolver.resolveName(target).then((addr) => {\n if (addr == null) {\n throw makeError(\"an ENS name used for a contract target must be correctly configured\", \"UNCONFIGURED_NAME\", {\n value: target\n });\n }\n getInternal(this).addr = addr;\n return addr;\n });\n }\n }\n else {\n addrPromise = target.getAddress().then((addr) => {\n if (addr == null) {\n throw new Error(\"TODO\");\n }\n getInternal(this).addr = addr;\n return addr;\n });\n }\n // Set our private values\n setInternal(this, { addrPromise, addr, deployTx, subs });\n // Add the event filters\n const filters = new Proxy({}, {\n get: (target, prop, receiver) => {\n // Pass important checks (like `then` for Promise) through\n if (typeof (prop) === \"symbol\" || passProperties.indexOf(prop) >= 0) {\n return Reflect.get(target, prop, receiver);\n }\n try {\n return this.getEvent(prop);\n }\n catch (error) {\n if (!isError(error, \"INVALID_ARGUMENT\") || error.argument !== \"key\") {\n throw error;\n }\n }\n return undefined;\n },\n has: (target, prop) => {\n // Pass important checks (like `then` for Promise) through\n if (passProperties.indexOf(prop) >= 0) {\n return Reflect.has(target, prop);\n }\n return Reflect.has(target, prop) || this.interface.hasEvent(String(prop));\n }\n });\n defineProperties(this, { filters });\n defineProperties(this, {\n fallback: ((iface.receive || iface.fallback) ? (buildWrappedFallback(this)) : null)\n });\n // Return a Proxy that will respond to functions\n return new Proxy(this, {\n get: (target, prop, receiver) => {\n if (typeof (prop) === \"symbol\" || prop in target || passProperties.indexOf(prop) >= 0) {\n return Reflect.get(target, prop, receiver);\n }\n // Undefined properties should return undefined\n try {\n return target.getFunction(prop);\n }\n catch (error) {\n if (!isError(error, \"INVALID_ARGUMENT\") || error.argument !== \"key\") {\n throw error;\n }\n }\n return undefined;\n },\n has: (target, prop) => {\n if (typeof (prop) === \"symbol\" || prop in target || passProperties.indexOf(prop) >= 0) {\n return Reflect.has(target, prop);\n }\n return target.interface.hasFunction(prop);\n }\n });\n }\n /**\n * Return a new Contract instance with the same target and ABI, but\n * a different %%runner%%.\n */\n connect(runner) {\n return new BaseContract(this.target, this.interface, runner);\n }\n /**\n * Return a new Contract instance with the same ABI and runner, but\n * a different %%target%%.\n */\n attach(target) {\n return new BaseContract(target, this.interface, this.runner);\n }\n /**\n * Return the resolved address of this Contract.\n */\n async getAddress() { return await getInternal(this).addrPromise; }\n /**\n * Return the deployed bytecode or null if no bytecode is found.\n */\n async getDeployedCode() {\n const provider = getProvider(this.runner);\n assert(provider, \"runner does not support .provider\", \"UNSUPPORTED_OPERATION\", { operation: \"getDeployedCode\" });\n const code = await provider.getCode(await this.getAddress());\n if (code === \"0x\") {\n return null;\n }\n return code;\n }\n /**\n * Resolve to this Contract once the bytecode has been deployed, or\n * resolve immediately if already deployed.\n */\n async waitForDeployment() {\n // We have the deployement transaction; just use that (throws if deployement fails)\n const deployTx = this.deploymentTransaction();\n if (deployTx) {\n await deployTx.wait();\n return this;\n }\n // Check for code\n const code = await this.getDeployedCode();\n if (code != null) {\n return this;\n }\n // Make sure we can subscribe to a provider event\n const provider = getProvider(this.runner);\n assert(provider != null, \"contract runner does not support .provider\", \"UNSUPPORTED_OPERATION\", { operation: \"waitForDeployment\" });\n return new Promise((resolve, reject) => {\n const checkCode = async () => {\n try {\n const code = await this.getDeployedCode();\n if (code != null) {\n return resolve(this);\n }\n provider.once(\"block\", checkCode);\n }\n catch (error) {\n reject(error);\n }\n };\n checkCode();\n });\n }\n /**\n * Return the transaction used to deploy this contract.\n *\n * This is only available if this instance was returned from a\n * [[ContractFactory]].\n */\n deploymentTransaction() {\n return getInternal(this).deployTx;\n }\n /**\n * Return the function for a given name. This is useful when a contract\n * method name conflicts with a JavaScript name such as ``prototype`` or\n * when using a Contract programatically.\n */\n getFunction(key) {\n if (typeof (key) !== \"string\") {\n key = key.format();\n }\n const func = buildWrappedMethod(this, key);\n return func;\n }\n /**\n * Return the event for a given name. This is useful when a contract\n * event name conflicts with a JavaScript name such as ``prototype`` or\n * when using a Contract programatically.\n */\n getEvent(key) {\n if (typeof (key) !== \"string\") {\n key = key.format();\n }\n return buildWrappedEvent(this, key);\n }\n /**\n * @_ignore:\n */\n async queryTransaction(hash) {\n throw new Error(\"@TODO\");\n }\n /*\n // @TODO: this is a non-backwards compatible change, but will be added\n // in v7 and in a potential SmartContract class in an upcoming\n // v6 release\n async getTransactionReceipt(hash: string): Promise {\n const provider = getProvider(this.runner);\n assert(provider, \"contract runner does not have a provider\",\n \"UNSUPPORTED_OPERATION\", { operation: \"queryTransaction\" });\n\n const receipt = await provider.getTransactionReceipt(hash);\n if (receipt == null) { return null; }\n\n return new ContractTransactionReceipt(this.interface, provider, receipt);\n }\n */\n /**\n * Provide historic access to event data for %%event%% in the range\n * %%fromBlock%% (default: ``0``) to %%toBlock%% (default: ``\"latest\"``)\n * inclusive.\n */\n async queryFilter(event, fromBlock, toBlock) {\n if (fromBlock == null) {\n fromBlock = 0;\n }\n if (toBlock == null) {\n toBlock = \"latest\";\n }\n const { addr, addrPromise } = getInternal(this);\n const address = (addr ? addr : (await addrPromise));\n const { fragment, topics } = await getSubInfo(this, event);\n const filter = { address, topics, fromBlock, toBlock };\n const provider = getProvider(this.runner);\n assert(provider, \"contract runner does not have a provider\", \"UNSUPPORTED_OPERATION\", { operation: \"queryFilter\" });\n return (await provider.getLogs(filter)).map((log) => {\n let foundFragment = fragment;\n if (foundFragment == null) {\n try {\n foundFragment = this.interface.getEvent(log.topics[0]);\n }\n catch (error) { }\n }\n if (foundFragment) {\n try {\n return new EventLog(log, this.interface, foundFragment);\n }\n catch (error) {\n return new UndecodedEventLog(log, error);\n }\n }\n return new Log(log, provider);\n });\n }\n /**\n * Add an event %%listener%% for the %%event%%.\n */\n async on(event, listener) {\n const sub = await getSub(this, \"on\", event);\n sub.listeners.push({ listener, once: false });\n sub.start();\n return this;\n }\n /**\n * Add an event %%listener%% for the %%event%%, but remove the listener\n * after it is fired once.\n */\n async once(event, listener) {\n const sub = await getSub(this, \"once\", event);\n sub.listeners.push({ listener, once: true });\n sub.start();\n return this;\n }\n /**\n * Emit an %%event%% calling all listeners with %%args%%.\n *\n * Resolves to ``true`` if any listeners were called.\n */\n async emit(event, ...args) {\n return await emit(this, event, args, null);\n }\n /**\n * Resolves to the number of listeners of %%event%% or the total number\n * of listeners if unspecified.\n */\n async listenerCount(event) {\n if (event) {\n const sub = await hasSub(this, event);\n if (!sub) {\n return 0;\n }\n return sub.listeners.length;\n }\n const { subs } = getInternal(this);\n let total = 0;\n for (const { listeners } of subs.values()) {\n total += listeners.length;\n }\n return total;\n }\n /**\n * Resolves to the listeners subscribed to %%event%% or all listeners\n * if unspecified.\n */\n async listeners(event) {\n if (event) {\n const sub = await hasSub(this, event);\n if (!sub) {\n return [];\n }\n return sub.listeners.map(({ listener }) => listener);\n }\n const { subs } = getInternal(this);\n let result = [];\n for (const { listeners } of subs.values()) {\n result = result.concat(listeners.map(({ listener }) => listener));\n }\n return result;\n }\n /**\n * Remove the %%listener%% from the listeners for %%event%% or remove\n * all listeners if unspecified.\n */\n async off(event, listener) {\n const sub = await hasSub(this, event);\n if (!sub) {\n return this;\n }\n if (listener) {\n const index = sub.listeners.map(({ listener }) => listener).indexOf(listener);\n if (index >= 0) {\n sub.listeners.splice(index, 1);\n }\n }\n if (listener == null || sub.listeners.length === 0) {\n sub.stop();\n getInternal(this).subs.delete(sub.tag);\n }\n return this;\n }\n /**\n * Remove all the listeners for %%event%% or remove all listeners if\n * unspecified.\n */\n async removeAllListeners(event) {\n if (event) {\n const sub = await hasSub(this, event);\n if (!sub) {\n return this;\n }\n sub.stop();\n getInternal(this).subs.delete(sub.tag);\n }\n else {\n const { subs } = getInternal(this);\n for (const { tag, stop } of subs.values()) {\n stop();\n subs.delete(tag);\n }\n }\n return this;\n }\n /**\n * Alias for [on].\n */\n async addListener(event, listener) {\n return await this.on(event, listener);\n }\n /**\n * Alias for [off].\n */\n async removeListener(event, listener) {\n return await this.off(event, listener);\n }\n /**\n * Create a new Class for the %%abi%%.\n */\n static buildClass(abi) {\n class CustomContract extends BaseContract {\n constructor(address, runner = null) {\n super(address, abi, runner);\n }\n }\n return CustomContract;\n }\n ;\n /**\n * Create a new BaseContract with a specified Interface.\n */\n static from(target, abi, runner) {\n if (runner == null) {\n runner = null;\n }\n const contract = new this(target, abi, runner);\n return contract;\n }\n}\nfunction _ContractBase() {\n return BaseContract;\n}\n/**\n * A [[BaseContract]] with no type guards on its methods or events.\n */\nexport class Contract extends _ContractBase() {\n}\n//# sourceMappingURL=contract.js.map","import { Interface } from \"../abi/index.js\";\nimport { getCreateAddress } from \"../address/index.js\";\nimport { concat, defineProperties, getBytes, hexlify, assert, assertArgument } from \"../utils/index.js\";\nimport { BaseContract, copyOverrides, resolveArgs } from \"./contract.js\";\n// A = Arguments to the constructor\n// I = Interface of deployed contracts\n/**\n * A **ContractFactory** is used to deploy a Contract to the blockchain.\n */\nexport class ContractFactory {\n /**\n * The Contract Interface.\n */\n interface;\n /**\n * The Contract deployment bytecode. Often called the initcode.\n */\n bytecode;\n /**\n * The ContractRunner to deploy the Contract as.\n */\n runner;\n /**\n * Create a new **ContractFactory** with %%abi%% and %%bytecode%%,\n * optionally connected to %%runner%%.\n *\n * The %%bytecode%% may be the ``bytecode`` property within the\n * standard Solidity JSON output.\n */\n constructor(abi, bytecode, runner) {\n const iface = Interface.from(abi);\n // Dereference Solidity bytecode objects and allow a missing `0x`-prefix\n if (bytecode instanceof Uint8Array) {\n bytecode = hexlify(getBytes(bytecode));\n }\n else {\n if (typeof (bytecode) === \"object\") {\n bytecode = bytecode.object;\n }\n if (!bytecode.startsWith(\"0x\")) {\n bytecode = \"0x\" + bytecode;\n }\n bytecode = hexlify(getBytes(bytecode));\n }\n defineProperties(this, {\n bytecode, interface: iface, runner: (runner || null)\n });\n }\n attach(target) {\n return new BaseContract(target, this.interface, this.runner);\n }\n /**\n * Resolves to the transaction to deploy the contract, passing %%args%%\n * into the constructor.\n */\n async getDeployTransaction(...args) {\n let overrides = {};\n const fragment = this.interface.deploy;\n if (fragment.inputs.length + 1 === args.length) {\n overrides = await copyOverrides(args.pop());\n }\n if (fragment.inputs.length !== args.length) {\n throw new Error(\"incorrect number of arguments to constructor\");\n }\n const resolvedArgs = await resolveArgs(this.runner, fragment.inputs, args);\n const data = concat([this.bytecode, this.interface.encodeDeploy(resolvedArgs)]);\n return Object.assign({}, overrides, { data });\n }\n /**\n * Resolves to the Contract deployed by passing %%args%% into the\n * constructor.\n *\n * This will resolve to the Contract before it has been deployed to the\n * network, so the [[BaseContract-waitForDeployment]] should be used before\n * sending any transactions to it.\n */\n async deploy(...args) {\n const tx = await this.getDeployTransaction(...args);\n assert(this.runner && typeof (this.runner.sendTransaction) === \"function\", \"factory runner does not support sending transactions\", \"UNSUPPORTED_OPERATION\", {\n operation: \"sendTransaction\"\n });\n const sentTx = await this.runner.sendTransaction(tx);\n const address = getCreateAddress(sentTx);\n return new BaseContract(address, this.interface, this.runner, sentTx);\n }\n /**\n * Return a new **ContractFactory** with the same ABI and bytecode,\n * but connected to %%runner%%.\n */\n connect(runner) {\n return new ContractFactory(this.interface, this.bytecode, runner);\n }\n /**\n * Create a new **ContractFactory** from the standard Solidity JSON output.\n */\n static fromSolidity(output, runner) {\n assertArgument(output != null, \"bad compiler output\", \"output\", output);\n if (typeof (output) === \"string\") {\n output = JSON.parse(output);\n }\n const abi = output.abi;\n let bytecode = \"\";\n if (output.bytecode) {\n bytecode = output.bytecode;\n }\n else if (output.evm && output.evm.bytecode) {\n bytecode = output.evm.bytecode;\n }\n return new this(abi, bytecode, runner);\n }\n}\n//# sourceMappingURL=factory.js.map","/**\n * ENS is a service which allows easy-to-remember names to map to\n * network addresses.\n *\n * @_section: api/providers/ens-resolver:ENS Resolver [about-ens-rsolver]\n */\nimport { getAddress } from \"../address/index.js\";\nimport { ZeroAddress } from \"../constants/index.js\";\nimport { Contract } from \"../contract/index.js\";\nimport { dnsEncode, namehash } from \"../hash/index.js\";\nimport { hexlify, isHexString, toBeHex, defineProperties, encodeBase58, assert, assertArgument, isError, FetchRequest } from \"../utils/index.js\";\n// @TODO: This should use the fetch-data:ipfs gateway\n// Trim off the ipfs:// prefix and return the default gateway URL\nfunction getIpfsLink(link) {\n if (link.match(/^ipfs:\\/\\/ipfs\\//i)) {\n link = link.substring(12);\n }\n else if (link.match(/^ipfs:\\/\\//i)) {\n link = link.substring(7);\n }\n else {\n assertArgument(false, \"unsupported IPFS format\", \"link\", link);\n }\n return `https:/\\/gateway.ipfs.io/ipfs/${link}`;\n}\n;\n;\n/**\n * A provider plugin super-class for processing multicoin address types.\n */\nexport class MulticoinProviderPlugin {\n /**\n * The name.\n */\n name;\n /**\n * Creates a new **MulticoinProviderPluing** for %%name%%.\n */\n constructor(name) {\n defineProperties(this, { name });\n }\n connect(proivder) {\n return this;\n }\n /**\n * Returns ``true`` if %%coinType%% is supported by this plugin.\n */\n supportsCoinType(coinType) {\n return false;\n }\n /**\n * Resovles to the encoded %%address%% for %%coinType%%.\n */\n async encodeAddress(coinType, address) {\n throw new Error(\"unsupported coin\");\n }\n /**\n * Resovles to the decoded %%data%% for %%coinType%%.\n */\n async decodeAddress(coinType, data) {\n throw new Error(\"unsupported coin\");\n }\n}\nconst BasicMulticoinPluginId = \"org.ethers.plugins.provider.BasicMulticoin\";\n/**\n * A **BasicMulticoinProviderPlugin** provides service for common\n * coin types, which do not require additional libraries to encode or\n * decode.\n */\nexport class BasicMulticoinProviderPlugin extends MulticoinProviderPlugin {\n /**\n * Creates a new **BasicMulticoinProviderPlugin**.\n */\n constructor() {\n super(BasicMulticoinPluginId);\n }\n}\nconst matcherIpfs = new RegExp(\"^(ipfs):/\\/(.*)$\", \"i\");\nconst matchers = [\n new RegExp(\"^(https):/\\/(.*)$\", \"i\"),\n new RegExp(\"^(data):(.*)$\", \"i\"),\n matcherIpfs,\n new RegExp(\"^eip155:[0-9]+/(erc[0-9]+):(.*)$\", \"i\"),\n];\n/**\n * A connected object to a resolved ENS name resolver, which can be\n * used to query additional details.\n */\nexport class EnsResolver {\n /**\n * The connected provider.\n */\n provider;\n /**\n * The address of the resolver.\n */\n address;\n /**\n * The name this resolver was resolved against.\n */\n name;\n // For EIP-2544 names, the ancestor that provided the resolver\n #supports2544;\n #resolver;\n constructor(provider, address, name) {\n defineProperties(this, { provider, address, name });\n this.#supports2544 = null;\n this.#resolver = new Contract(address, [\n \"function supportsInterface(bytes4) view returns (bool)\",\n \"function resolve(bytes, bytes) view returns (bytes)\",\n \"function addr(bytes32) view returns (address)\",\n \"function addr(bytes32, uint) view returns (bytes)\",\n \"function text(bytes32, string) view returns (string)\",\n \"function contenthash(bytes32) view returns (bytes)\",\n ], provider);\n }\n /**\n * Resolves to true if the resolver supports wildcard resolution.\n */\n async supportsWildcard() {\n if (this.#supports2544 == null) {\n this.#supports2544 = (async () => {\n try {\n return await this.#resolver.supportsInterface(\"0x9061b923\");\n }\n catch (error) {\n // Wildcard resolvers must understand supportsInterface\n // and return true.\n if (isError(error, \"CALL_EXCEPTION\")) {\n return false;\n }\n // Let future attempts try again...\n this.#supports2544 = null;\n throw error;\n }\n })();\n }\n return await this.#supports2544;\n }\n async #fetch(funcName, params) {\n params = (params || []).slice();\n const iface = this.#resolver.interface;\n // The first parameters is always the nodehash\n params.unshift(namehash(this.name));\n let fragment = null;\n if (await this.supportsWildcard()) {\n fragment = iface.getFunction(funcName);\n assert(fragment, \"missing fragment\", \"UNKNOWN_ERROR\", {\n info: { funcName }\n });\n params = [\n dnsEncode(this.name, 255),\n iface.encodeFunctionData(fragment, params)\n ];\n funcName = \"resolve(bytes,bytes)\";\n }\n params.push({\n enableCcipRead: true\n });\n try {\n const result = await this.#resolver[funcName](...params);\n if (fragment) {\n return iface.decodeFunctionResult(fragment, result)[0];\n }\n return result;\n }\n catch (error) {\n if (!isError(error, \"CALL_EXCEPTION\")) {\n throw error;\n }\n }\n return null;\n }\n /**\n * Resolves to the address for %%coinType%% or null if the\n * provided %%coinType%% has not been configured.\n */\n async getAddress(coinType) {\n if (coinType == null) {\n coinType = 60;\n }\n if (coinType === 60) {\n try {\n const result = await this.#fetch(\"addr(bytes32)\");\n // No address\n if (result == null || result === ZeroAddress) {\n return null;\n }\n return result;\n }\n catch (error) {\n if (isError(error, \"CALL_EXCEPTION\")) {\n return null;\n }\n throw error;\n }\n }\n // Try decoding its EVM canonical chain as an EVM chain address first\n if (coinType >= 0 && coinType < 0x80000000) {\n let ethCoinType = coinType + 0x80000000;\n const data = await this.#fetch(\"addr(bytes32,uint)\", [ethCoinType]);\n if (isHexString(data, 20)) {\n return getAddress(data);\n }\n }\n let coinPlugin = null;\n for (const plugin of this.provider.plugins) {\n if (!(plugin instanceof MulticoinProviderPlugin)) {\n continue;\n }\n if (plugin.supportsCoinType(coinType)) {\n coinPlugin = plugin;\n break;\n }\n }\n if (coinPlugin == null) {\n return null;\n }\n // keccak256(\"addr(bytes32,uint256\")\n const data = await this.#fetch(\"addr(bytes32,uint)\", [coinType]);\n // No address\n if (data == null || data === \"0x\") {\n return null;\n }\n // Compute the address\n const address = await coinPlugin.decodeAddress(coinType, data);\n if (address != null) {\n return address;\n }\n assert(false, `invalid coin data`, \"UNSUPPORTED_OPERATION\", {\n operation: `getAddress(${coinType})`,\n info: { coinType, data }\n });\n }\n /**\n * Resolves to the EIP-634 text record for %%key%%, or ``null``\n * if unconfigured.\n */\n async getText(key) {\n const data = await this.#fetch(\"text(bytes32,string)\", [key]);\n if (data == null || data === \"0x\") {\n return null;\n }\n return data;\n }\n /**\n * Rsolves to the content-hash or ``null`` if unconfigured.\n */\n async getContentHash() {\n // keccak256(\"contenthash()\")\n const data = await this.#fetch(\"contenthash(bytes32)\");\n // No contenthash\n if (data == null || data === \"0x\") {\n return null;\n }\n // IPFS (CID: 1, Type: 70=DAG-PB, 72=libp2p-key)\n const ipfs = data.match(/^0x(e3010170|e5010172)(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);\n if (ipfs) {\n const scheme = (ipfs[1] === \"e3010170\") ? \"ipfs\" : \"ipns\";\n const length = parseInt(ipfs[4], 16);\n if (ipfs[5].length === length * 2) {\n return `${scheme}:/\\/${encodeBase58(\"0x\" + ipfs[2])}`;\n }\n }\n // Swarm (CID: 1, Type: swarm-manifest; hash/length hard-coded to keccak256/32)\n const swarm = data.match(/^0xe40101fa011b20([0-9a-f]*)$/);\n if (swarm && swarm[1].length === 64) {\n return `bzz:/\\/${swarm[1]}`;\n }\n assert(false, `invalid or unsupported content hash data`, \"UNSUPPORTED_OPERATION\", {\n operation: \"getContentHash()\",\n info: { data }\n });\n }\n /**\n * Resolves to the avatar url or ``null`` if the avatar is either\n * unconfigured or incorrectly configured (e.g. references an NFT\n * not owned by the address).\n *\n * If diagnosing issues with configurations, the [[_getAvatar]]\n * method may be useful.\n */\n async getAvatar() {\n const avatar = await this._getAvatar();\n return avatar.url;\n }\n /**\n * When resolving an avatar, there are many steps involved, such\n * fetching metadata and possibly validating ownership of an\n * NFT.\n *\n * This method can be used to examine each step and the value it\n * was working from.\n */\n async _getAvatar() {\n const linkage = [{ type: \"name\", value: this.name }];\n try {\n // test data for ricmoo.eth\n //const avatar = \"eip155:1/erc721:0x265385c7f4132228A0d54EB1A9e7460b91c0cC68/29233\";\n const avatar = await this.getText(\"avatar\");\n if (avatar == null) {\n linkage.push({ type: \"!avatar\", value: \"\" });\n return { url: null, linkage };\n }\n linkage.push({ type: \"avatar\", value: avatar });\n for (let i = 0; i < matchers.length; i++) {\n const match = avatar.match(matchers[i]);\n if (match == null) {\n continue;\n }\n const scheme = match[1].toLowerCase();\n switch (scheme) {\n case \"https\":\n case \"data\":\n linkage.push({ type: \"url\", value: avatar });\n return { linkage, url: avatar };\n case \"ipfs\": {\n const url = getIpfsLink(avatar);\n linkage.push({ type: \"ipfs\", value: avatar });\n linkage.push({ type: \"url\", value: url });\n return { linkage, url };\n }\n case \"erc721\":\n case \"erc1155\": {\n // Depending on the ERC type, use tokenURI(uint256) or url(uint256)\n const selector = (scheme === \"erc721\") ? \"tokenURI(uint256)\" : \"uri(uint256)\";\n linkage.push({ type: scheme, value: avatar });\n // The owner of this name\n const owner = await this.getAddress();\n if (owner == null) {\n linkage.push({ type: \"!owner\", value: \"\" });\n return { url: null, linkage };\n }\n const comps = (match[2] || \"\").split(\"/\");\n if (comps.length !== 2) {\n linkage.push({ type: `!${scheme}caip`, value: (match[2] || \"\") });\n return { url: null, linkage };\n }\n const tokenId = comps[1];\n const contract = new Contract(comps[0], [\n // ERC-721\n \"function tokenURI(uint) view returns (string)\",\n \"function ownerOf(uint) view returns (address)\",\n // ERC-1155\n \"function uri(uint) view returns (string)\",\n \"function balanceOf(address, uint256) view returns (uint)\"\n ], this.provider);\n // Check that this account owns the token\n if (scheme === \"erc721\") {\n const tokenOwner = await contract.ownerOf(tokenId);\n if (owner !== tokenOwner) {\n linkage.push({ type: \"!owner\", value: tokenOwner });\n return { url: null, linkage };\n }\n linkage.push({ type: \"owner\", value: tokenOwner });\n }\n else if (scheme === \"erc1155\") {\n const balance = await contract.balanceOf(owner, tokenId);\n if (!balance) {\n linkage.push({ type: \"!balance\", value: \"0\" });\n return { url: null, linkage };\n }\n linkage.push({ type: \"balance\", value: balance.toString() });\n }\n // Call the token contract for the metadata URL\n let metadataUrl = await contract[selector](tokenId);\n if (metadataUrl == null || metadataUrl === \"0x\") {\n linkage.push({ type: \"!metadata-url\", value: \"\" });\n return { url: null, linkage };\n }\n linkage.push({ type: \"metadata-url-base\", value: metadataUrl });\n // ERC-1155 allows a generic {id} in the URL\n if (scheme === \"erc1155\") {\n metadataUrl = metadataUrl.replace(\"{id}\", toBeHex(tokenId, 32).substring(2));\n linkage.push({ type: \"metadata-url-expanded\", value: metadataUrl });\n }\n // Transform IPFS metadata links\n if (metadataUrl.match(/^ipfs:/i)) {\n metadataUrl = getIpfsLink(metadataUrl);\n }\n linkage.push({ type: \"metadata-url\", value: metadataUrl });\n // Get the token metadata\n let metadata = {};\n const response = await (new FetchRequest(metadataUrl)).send();\n response.assertOk();\n try {\n metadata = response.bodyJson;\n }\n catch (error) {\n try {\n linkage.push({ type: \"!metadata\", value: response.bodyText });\n }\n catch (error) {\n const bytes = response.body;\n if (bytes) {\n linkage.push({ type: \"!metadata\", value: hexlify(bytes) });\n }\n return { url: null, linkage };\n }\n return { url: null, linkage };\n }\n if (!metadata) {\n linkage.push({ type: \"!metadata\", value: \"\" });\n return { url: null, linkage };\n }\n linkage.push({ type: \"metadata\", value: JSON.stringify(metadata) });\n // Pull the image URL out\n let imageUrl = metadata.image;\n if (typeof (imageUrl) !== \"string\") {\n linkage.push({ type: \"!imageUrl\", value: \"\" });\n return { url: null, linkage };\n }\n if (imageUrl.match(/^(https:\\/\\/|data:)/i)) {\n // Allow\n }\n else {\n // Transform IPFS link to gateway\n const ipfs = imageUrl.match(matcherIpfs);\n if (ipfs == null) {\n linkage.push({ type: \"!imageUrl-ipfs\", value: imageUrl });\n return { url: null, linkage };\n }\n linkage.push({ type: \"imageUrl-ipfs\", value: imageUrl });\n imageUrl = getIpfsLink(imageUrl);\n }\n linkage.push({ type: \"url\", value: imageUrl });\n return { linkage, url: imageUrl };\n }\n }\n }\n }\n catch (error) { }\n return { linkage, url: null };\n }\n static async getEnsAddress(provider) {\n const network = await provider.getNetwork();\n const ensPlugin = network.getPlugin(\"org.ethers.plugins.network.Ens\");\n // No ENS...\n assert(ensPlugin, \"network does not support ENS\", \"UNSUPPORTED_OPERATION\", {\n operation: \"getEnsAddress\", info: { network }\n });\n return ensPlugin.address;\n }\n static async #getResolver(provider, name) {\n const ensAddr = await EnsResolver.getEnsAddress(provider);\n try {\n const contract = new Contract(ensAddr, [\n \"function resolver(bytes32) view returns (address)\"\n ], provider);\n const addr = await contract.resolver(namehash(name), {\n enableCcipRead: true\n });\n if (addr === ZeroAddress) {\n return null;\n }\n return addr;\n }\n catch (error) {\n // ENS registry cannot throw errors on resolver(bytes32),\n // so probably a link error\n throw error;\n }\n return null;\n }\n /**\n * Resolve to the ENS resolver for %%name%% using %%provider%% or\n * ``null`` if unconfigured.\n */\n static async fromName(provider, name) {\n let currentName = name;\n while (true) {\n if (currentName === \"\" || currentName === \".\") {\n return null;\n }\n // Optimization since the eth node cannot change and does\n // not have a wildcard resolver\n if (name !== \"eth\" && currentName === \"eth\") {\n return null;\n }\n // Check the current node for a resolver\n const addr = await EnsResolver.#getResolver(provider, currentName);\n // Found a resolver!\n if (addr != null) {\n const resolver = new EnsResolver(provider, addr, name);\n // Legacy resolver found, using EIP-2544 so it isn't safe to use\n if (currentName !== name && !(await resolver.supportsWildcard())) {\n return null;\n }\n return resolver;\n }\n // Get the parent node\n currentName = currentName.split(\".\").slice(1).join(\".\");\n }\n }\n}\n//# sourceMappingURL=ens-resolver.js.map","/**\n * @_ignore\n */\nimport { getAddress, getCreateAddress } from \"../address/index.js\";\nimport { Signature } from \"../crypto/index.js\";\nimport { accessListify } from \"../transaction/index.js\";\nimport { getBigInt, getNumber, hexlify, isHexString, zeroPadValue, assert, assertArgument } from \"../utils/index.js\";\nconst BN_0 = BigInt(0);\nexport function allowNull(format, nullValue) {\n return (function (value) {\n if (value == null) {\n return nullValue;\n }\n return format(value);\n });\n}\nexport function arrayOf(format, allowNull) {\n return ((array) => {\n if (allowNull && array == null) {\n return null;\n }\n if (!Array.isArray(array)) {\n throw new Error(\"not an array\");\n }\n return array.map((i) => format(i));\n });\n}\n// Requires an object which matches a fleet of other formatters\n// Any FormatFunc may return `undefined` to have the value omitted\n// from the result object. Calls preserve `this`.\nexport function object(format, altNames) {\n return ((value) => {\n const result = {};\n for (const key in format) {\n let srcKey = key;\n if (altNames && key in altNames && !(srcKey in value)) {\n for (const altKey of altNames[key]) {\n if (altKey in value) {\n srcKey = altKey;\n break;\n }\n }\n }\n try {\n const nv = format[key](value[srcKey]);\n if (nv !== undefined) {\n result[key] = nv;\n }\n }\n catch (error) {\n const message = (error instanceof Error) ? error.message : \"not-an-error\";\n assert(false, `invalid value for value.${key} (${message})`, \"BAD_DATA\", { value });\n }\n }\n return result;\n });\n}\nexport function formatBoolean(value) {\n switch (value) {\n case true:\n case \"true\":\n return true;\n case false:\n case \"false\":\n return false;\n }\n assertArgument(false, `invalid boolean; ${JSON.stringify(value)}`, \"value\", value);\n}\nexport function formatData(value) {\n assertArgument(isHexString(value, true), \"invalid data\", \"value\", value);\n return value;\n}\nexport function formatHash(value) {\n assertArgument(isHexString(value, 32), \"invalid hash\", \"value\", value);\n return value;\n}\nexport function formatUint256(value) {\n if (!isHexString(value)) {\n throw new Error(\"invalid uint256\");\n }\n return zeroPadValue(value, 32);\n}\nconst _formatLog = object({\n address: getAddress,\n blockHash: formatHash,\n blockNumber: getNumber,\n data: formatData,\n index: getNumber,\n removed: allowNull(formatBoolean, false),\n topics: arrayOf(formatHash),\n transactionHash: formatHash,\n transactionIndex: getNumber,\n}, {\n index: [\"logIndex\"]\n});\nexport function formatLog(value) {\n return _formatLog(value);\n}\nconst _formatBlock = object({\n hash: allowNull(formatHash),\n parentHash: formatHash,\n parentBeaconBlockRoot: allowNull(formatHash, null),\n number: getNumber,\n timestamp: getNumber,\n nonce: allowNull(formatData),\n difficulty: getBigInt,\n gasLimit: getBigInt,\n gasUsed: getBigInt,\n stateRoot: allowNull(formatHash, null),\n receiptsRoot: allowNull(formatHash, null),\n blobGasUsed: allowNull(getBigInt, null),\n excessBlobGas: allowNull(getBigInt, null),\n miner: allowNull(getAddress),\n extraData: formatData,\n baseFeePerGas: allowNull(getBigInt)\n});\nexport function formatBlock(value) {\n const result = _formatBlock(value);\n result.transactions = value.transactions.map((tx) => {\n if (typeof (tx) === \"string\") {\n return tx;\n }\n return formatTransactionResponse(tx);\n });\n return result;\n}\nconst _formatReceiptLog = object({\n transactionIndex: getNumber,\n blockNumber: getNumber,\n transactionHash: formatHash,\n address: getAddress,\n topics: arrayOf(formatHash),\n data: formatData,\n index: getNumber,\n blockHash: formatHash,\n}, {\n index: [\"logIndex\"]\n});\nexport function formatReceiptLog(value) {\n return _formatReceiptLog(value);\n}\nconst _formatTransactionReceipt = object({\n to: allowNull(getAddress, null),\n from: allowNull(getAddress, null),\n contractAddress: allowNull(getAddress, null),\n // should be allowNull(hash), but broken-EIP-658 support is handled in receipt\n index: getNumber,\n root: allowNull(hexlify),\n gasUsed: getBigInt,\n blobGasUsed: allowNull(getBigInt, null),\n logsBloom: allowNull(formatData),\n blockHash: formatHash,\n hash: formatHash,\n logs: arrayOf(formatReceiptLog),\n blockNumber: getNumber,\n //confirmations: allowNull(getNumber, null),\n cumulativeGasUsed: getBigInt,\n effectiveGasPrice: allowNull(getBigInt),\n blobGasPrice: allowNull(getBigInt, null),\n status: allowNull(getNumber),\n type: allowNull(getNumber, 0)\n}, {\n effectiveGasPrice: [\"gasPrice\"],\n hash: [\"transactionHash\"],\n index: [\"transactionIndex\"],\n});\nexport function formatTransactionReceipt(value) {\n return _formatTransactionReceipt(value);\n}\nexport function formatTransactionResponse(value) {\n // Some clients (TestRPC) do strange things like return 0x0 for the\n // 0 address; correct this to be a real address\n if (value.to && getBigInt(value.to) === BN_0) {\n value.to = \"0x0000000000000000000000000000000000000000\";\n }\n const result = object({\n hash: formatHash,\n // Some nodes do not return this, usually test nodes (like Ganache)\n index: allowNull(getNumber, undefined),\n type: (value) => {\n if (value === \"0x\" || value == null) {\n return 0;\n }\n return getNumber(value);\n },\n accessList: allowNull(accessListify, null),\n blobVersionedHashes: allowNull(arrayOf(formatHash, true), null),\n blockHash: allowNull(formatHash, null),\n blockNumber: allowNull(getNumber, null),\n transactionIndex: allowNull(getNumber, null),\n from: getAddress,\n // either (gasPrice) or (maxPriorityFeePerGas + maxFeePerGas) must be set\n gasPrice: allowNull(getBigInt),\n maxPriorityFeePerGas: allowNull(getBigInt),\n maxFeePerGas: allowNull(getBigInt),\n maxFeePerBlobGas: allowNull(getBigInt, null),\n gasLimit: getBigInt,\n to: allowNull(getAddress, null),\n value: getBigInt,\n nonce: getNumber,\n data: formatData,\n creates: allowNull(getAddress, null),\n chainId: allowNull(getBigInt, null)\n }, {\n data: [\"input\"],\n gasLimit: [\"gas\"],\n index: [\"transactionIndex\"]\n })(value);\n // If to and creates are empty, populate the creates from the value\n if (result.to == null && result.creates == null) {\n result.creates = getCreateAddress(result);\n }\n // @TODO: Check fee data\n // Add an access list to supported transaction types\n if ((value.type === 1 || value.type === 2) && value.accessList == null) {\n result.accessList = [];\n }\n // Compute the signature\n if (value.signature) {\n result.signature = Signature.from(value.signature);\n }\n else {\n result.signature = Signature.from(value);\n }\n // Some backends omit ChainId on legacy transactions, but we can compute it\n if (result.chainId == null) {\n const chainId = result.signature.legacyChainId;\n if (chainId != null) {\n result.chainId = chainId;\n }\n }\n // @TODO: check chainID\n /*\n if (value.chainId != null) {\n let chainId = value.chainId;\n\n if (isHexString(chainId)) {\n chainId = BigNumber.from(chainId).toNumber();\n }\n\n result.chainId = chainId;\n\n } else {\n let chainId = value.networkId;\n\n // geth-etc returns chainId\n if (chainId == null && result.v == null) {\n chainId = value.chainId;\n }\n\n if (isHexString(chainId)) {\n chainId = BigNumber.from(chainId).toNumber();\n }\n\n if (typeof(chainId) !== \"number\" && result.v != null) {\n chainId = (result.v - 35) / 2;\n if (chainId < 0) { chainId = 0; }\n chainId = parseInt(chainId);\n }\n\n if (typeof(chainId) !== \"number\") { chainId = 0; }\n\n result.chainId = chainId;\n }\n */\n // 0x0000... should actually be null\n if (result.blockHash && getBigInt(result.blockHash) === BN_0) {\n result.blockHash = null;\n }\n return result;\n}\n//# sourceMappingURL=format.js.map","import { defineProperties } from \"../utils/properties.js\";\nimport { assertArgument } from \"../utils/index.js\";\nconst EnsAddress = \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\";\n/**\n * A **NetworkPlugin** provides additional functionality on a [[Network]].\n */\nexport class NetworkPlugin {\n /**\n * The name of the plugin.\n *\n * It is recommended to use reverse-domain-notation, which permits\n * unique names with a known authority as well as hierarchal entries.\n */\n name;\n /**\n * Creates a new **NetworkPlugin**.\n */\n constructor(name) {\n defineProperties(this, { name });\n }\n /**\n * Creates a copy of this plugin.\n */\n clone() {\n return new NetworkPlugin(this.name);\n }\n}\n/**\n * A **GasCostPlugin** allows a network to provide alternative values when\n * computing the intrinsic gas required for a transaction.\n */\nexport class GasCostPlugin extends NetworkPlugin {\n /**\n * The block number to treat these values as valid from.\n *\n * This allows a hardfork to have updated values included as well as\n * mulutiple hardforks to be supported.\n */\n effectiveBlock;\n /**\n * The transactions base fee.\n */\n txBase;\n /**\n * The fee for creating a new account.\n */\n txCreate;\n /**\n * The fee per zero-byte in the data.\n */\n txDataZero;\n /**\n * The fee per non-zero-byte in the data.\n */\n txDataNonzero;\n /**\n * The fee per storage key in the [[link-eip-2930]] access list.\n */\n txAccessListStorageKey;\n /**\n * The fee per address in the [[link-eip-2930]] access list.\n */\n txAccessListAddress;\n /**\n * Creates a new GasCostPlugin from %%effectiveBlock%% until the\n * latest block or another GasCostPlugin supercedes that block number,\n * with the associated %%costs%%.\n */\n constructor(effectiveBlock, costs) {\n if (effectiveBlock == null) {\n effectiveBlock = 0;\n }\n super(`org.ethers.network.plugins.GasCost#${(effectiveBlock || 0)}`);\n const props = { effectiveBlock };\n function set(name, nullish) {\n let value = (costs || {})[name];\n if (value == null) {\n value = nullish;\n }\n assertArgument(typeof (value) === \"number\", `invalud value for ${name}`, \"costs\", costs);\n props[name] = value;\n }\n set(\"txBase\", 21000);\n set(\"txCreate\", 32000);\n set(\"txDataZero\", 4);\n set(\"txDataNonzero\", 16);\n set(\"txAccessListStorageKey\", 1900);\n set(\"txAccessListAddress\", 2400);\n defineProperties(this, props);\n }\n clone() {\n return new GasCostPlugin(this.effectiveBlock, this);\n }\n}\n/**\n * An **EnsPlugin** allows a [[Network]] to specify the ENS Registry\n * Contract address and the target network to use when using that\n * contract.\n *\n * Various testnets have their own instance of the contract to use, but\n * in general, the mainnet instance supports multi-chain addresses and\n * should be used.\n */\nexport class EnsPlugin extends NetworkPlugin {\n /**\n * The ENS Registrty Contract address.\n */\n address;\n /**\n * The chain ID that the ENS contract lives on.\n */\n targetNetwork;\n /**\n * Creates a new **EnsPlugin** connected to %%address%% on the\n * %%targetNetwork%%. The default ENS address and mainnet is used\n * if unspecified.\n */\n constructor(address, targetNetwork) {\n super(\"org.ethers.plugins.network.Ens\");\n defineProperties(this, {\n address: (address || EnsAddress),\n targetNetwork: ((targetNetwork == null) ? 1 : targetNetwork)\n });\n }\n clone() {\n return new EnsPlugin(this.address, this.targetNetwork);\n }\n}\n/**\n * A **FeeDataNetworkPlugin** allows a network to provide and alternate\n * means to specify its fee data.\n *\n * For example, a network which does not support [[link-eip-1559]] may\n * choose to use a Gas Station site to approximate the gas price.\n */\nexport class FeeDataNetworkPlugin extends NetworkPlugin {\n #feeDataFunc;\n /**\n * The fee data function provided to the constructor.\n */\n get feeDataFunc() {\n return this.#feeDataFunc;\n }\n /**\n * Creates a new **FeeDataNetworkPlugin**.\n */\n constructor(feeDataFunc) {\n super(\"org.ethers.plugins.network.FeeData\");\n this.#feeDataFunc = feeDataFunc;\n }\n /**\n * Resolves to the fee data.\n */\n async getFeeData(provider) {\n return await this.#feeDataFunc(provider);\n }\n clone() {\n return new FeeDataNetworkPlugin(this.#feeDataFunc);\n }\n}\nexport class FetchUrlFeeDataNetworkPlugin extends NetworkPlugin {\n #url;\n #processFunc;\n /**\n * The URL to initialize the FetchRequest with in %%processFunc%%.\n */\n get url() { return this.#url; }\n /**\n * The callback to use when computing the FeeData.\n */\n get processFunc() { return this.#processFunc; }\n /**\n * Creates a new **FetchUrlFeeDataNetworkPlugin** which will\n * be used when computing the fee data for the network.\n */\n constructor(url, processFunc) {\n super(\"org.ethers.plugins.network.FetchUrlFeeDataPlugin\");\n this.#url = url;\n this.#processFunc = processFunc;\n }\n // We are immutable, so we can serve as our own clone\n clone() { return this; }\n}\n/*\nexport class CustomBlockNetworkPlugin extends NetworkPlugin {\n readonly #blockFunc: (provider: Provider, block: BlockParams) => Block;\n readonly #blockWithTxsFunc: (provider: Provider, block: BlockParams) => Block;\n\n constructor(blockFunc: (provider: Provider, block: BlockParams) => Block, blockWithTxsFunc: (provider: Provider, block: BlockParams) => Block) {\n super(\"org.ethers.network-plugins.custom-block\");\n this.#blockFunc = blockFunc;\n this.#blockWithTxsFunc = blockWithTxsFunc;\n }\n\n async getBlock(provider: Provider, block: BlockParams): Promise> {\n return await this.#blockFunc(provider, block);\n }\n\n async getBlockions(provider: Provider, block: BlockParams): Promise> {\n return await this.#blockWithTxsFunc(provider, block);\n }\n\n clone(): CustomBlockNetworkPlugin {\n return new CustomBlockNetworkPlugin(this.#blockFunc, this.#blockWithTxsFunc);\n }\n}\n*/\n//# sourceMappingURL=plugins-network.js.map","/**\n * A **Network** encapsulates the various properties required to\n * interact with a specific chain.\n *\n * @_subsection: api/providers:Networks [networks]\n */\nimport { accessListify } from \"../transaction/index.js\";\nimport { getBigInt, assert, assertArgument } from \"../utils/index.js\";\nimport { EnsPlugin, FetchUrlFeeDataNetworkPlugin, GasCostPlugin } from \"./plugins-network.js\";\n/* * * *\n// Networks which operation against an L2 can use this plugin to\n// specify how to access L1, for the purpose of resolving ENS,\n// for example.\nexport class LayerOneConnectionPlugin extends NetworkPlugin {\n readonly provider!: Provider;\n// @TODO: Rename to ChainAccess and allow for connecting to any chain\n constructor(provider: Provider) {\n super(\"org.ethers.plugins.layer-one-connection\");\n defineProperties(this, { provider });\n }\n\n clone(): LayerOneConnectionPlugin {\n return new LayerOneConnectionPlugin(this.provider);\n }\n}\n*/\nconst Networks = new Map();\n/**\n * A **Network** provides access to a chain's properties and allows\n * for plug-ins to extend functionality.\n */\nexport class Network {\n #name;\n #chainId;\n #plugins;\n /**\n * Creates a new **Network** for %%name%% and %%chainId%%.\n */\n constructor(name, chainId) {\n this.#name = name;\n this.#chainId = getBigInt(chainId);\n this.#plugins = new Map();\n }\n /**\n * Returns a JSON-compatible representation of a Network.\n */\n toJSON() {\n return { name: this.name, chainId: String(this.chainId) };\n }\n /**\n * The network common name.\n *\n * This is the canonical name, as networks migh have multiple\n * names.\n */\n get name() { return this.#name; }\n set name(value) { this.#name = value; }\n /**\n * The network chain ID.\n */\n get chainId() { return this.#chainId; }\n set chainId(value) { this.#chainId = getBigInt(value, \"chainId\"); }\n /**\n * Returns true if %%other%% matches this network. Any chain ID\n * must match, and if no chain ID is present, the name must match.\n *\n * This method does not currently check for additional properties,\n * such as ENS address or plug-in compatibility.\n */\n matches(other) {\n if (other == null) {\n return false;\n }\n if (typeof (other) === \"string\") {\n try {\n return (this.chainId === getBigInt(other));\n }\n catch (error) { }\n return (this.name === other);\n }\n if (typeof (other) === \"number\" || typeof (other) === \"bigint\") {\n try {\n return (this.chainId === getBigInt(other));\n }\n catch (error) { }\n return false;\n }\n if (typeof (other) === \"object\") {\n if (other.chainId != null) {\n try {\n return (this.chainId === getBigInt(other.chainId));\n }\n catch (error) { }\n return false;\n }\n if (other.name != null) {\n return (this.name === other.name);\n }\n return false;\n }\n return false;\n }\n /**\n * Returns the list of plugins currently attached to this Network.\n */\n get plugins() {\n return Array.from(this.#plugins.values());\n }\n /**\n * Attach a new %%plugin%% to this Network. The network name\n * must be unique, excluding any fragment.\n */\n attachPlugin(plugin) {\n if (this.#plugins.get(plugin.name)) {\n throw new Error(`cannot replace existing plugin: ${plugin.name} `);\n }\n this.#plugins.set(plugin.name, plugin.clone());\n return this;\n }\n /**\n * Return the plugin, if any, matching %%name%% exactly. Plugins\n * with fragments will not be returned unless %%name%% includes\n * a fragment.\n */\n getPlugin(name) {\n return (this.#plugins.get(name)) || null;\n }\n /**\n * Gets a list of all plugins that match %%name%%, with otr without\n * a fragment.\n */\n getPlugins(basename) {\n return (this.plugins.filter((p) => (p.name.split(\"#\")[0] === basename)));\n }\n /**\n * Create a copy of this Network.\n */\n clone() {\n const clone = new Network(this.name, this.chainId);\n this.plugins.forEach((plugin) => {\n clone.attachPlugin(plugin.clone());\n });\n return clone;\n }\n /**\n * Compute the intrinsic gas required for a transaction.\n *\n * A GasCostPlugin can be attached to override the default\n * values.\n */\n computeIntrinsicGas(tx) {\n const costs = this.getPlugin(\"org.ethers.plugins.network.GasCost\") || (new GasCostPlugin());\n let gas = costs.txBase;\n if (tx.to == null) {\n gas += costs.txCreate;\n }\n if (tx.data) {\n for (let i = 2; i < tx.data.length; i += 2) {\n if (tx.data.substring(i, i + 2) === \"00\") {\n gas += costs.txDataZero;\n }\n else {\n gas += costs.txDataNonzero;\n }\n }\n }\n if (tx.accessList) {\n const accessList = accessListify(tx.accessList);\n for (const addr in accessList) {\n gas += costs.txAccessListAddress + costs.txAccessListStorageKey * accessList[addr].storageKeys.length;\n }\n }\n return gas;\n }\n /**\n * Returns a new Network for the %%network%% name or chainId.\n */\n static from(network) {\n injectCommonNetworks();\n // Default network\n if (network == null) {\n return Network.from(\"mainnet\");\n }\n // Canonical name or chain ID\n if (typeof (network) === \"number\") {\n network = BigInt(network);\n }\n if (typeof (network) === \"string\" || typeof (network) === \"bigint\") {\n const networkFunc = Networks.get(network);\n if (networkFunc) {\n return networkFunc();\n }\n if (typeof (network) === \"bigint\") {\n return new Network(\"unknown\", network);\n }\n assertArgument(false, \"unknown network\", \"network\", network);\n }\n // Clonable with network-like abilities\n if (typeof (network.clone) === \"function\") {\n const clone = network.clone();\n //if (typeof(network.name) !== \"string\" || typeof(network.chainId) !== \"number\") {\n //}\n return clone;\n }\n // Networkish\n if (typeof (network) === \"object\") {\n assertArgument(typeof (network.name) === \"string\" && typeof (network.chainId) === \"number\", \"invalid network object name or chainId\", \"network\", network);\n const custom = new Network((network.name), (network.chainId));\n if (network.ensAddress || network.ensNetwork != null) {\n custom.attachPlugin(new EnsPlugin(network.ensAddress, network.ensNetwork));\n }\n //if ((network).layerOneConnection) {\n // custom.attachPlugin(new LayerOneConnectionPlugin((network).layerOneConnection));\n //}\n return custom;\n }\n assertArgument(false, \"invalid network\", \"network\", network);\n }\n /**\n * Register %%nameOrChainId%% with a function which returns\n * an instance of a Network representing that chain.\n */\n static register(nameOrChainId, networkFunc) {\n if (typeof (nameOrChainId) === \"number\") {\n nameOrChainId = BigInt(nameOrChainId);\n }\n const existing = Networks.get(nameOrChainId);\n if (existing) {\n assertArgument(false, `conflicting network for ${JSON.stringify(existing.name)}`, \"nameOrChainId\", nameOrChainId);\n }\n Networks.set(nameOrChainId, networkFunc);\n }\n}\n// We don't want to bring in formatUnits because it is backed by\n// FixedNumber and we want to keep Networks tiny. The values\n// included by the Gas Stations are also IEEE 754 with lots of\n// rounding issues and exceed the strict checks formatUnits has.\nfunction parseUnits(_value, decimals) {\n const value = String(_value);\n if (!value.match(/^[0-9.]+$/)) {\n throw new Error(`invalid gwei value: ${_value}`);\n }\n // Break into [ whole, fraction ]\n const comps = value.split(\".\");\n if (comps.length === 1) {\n comps.push(\"\");\n }\n // More than 1 decimal point or too many fractional positions\n if (comps.length !== 2) {\n throw new Error(`invalid gwei value: ${_value}`);\n }\n // Pad the fraction to 9 decimalplaces\n while (comps[1].length < decimals) {\n comps[1] += \"0\";\n }\n // Too many decimals and some non-zero ending, take the ceiling\n if (comps[1].length > 9) {\n let frac = BigInt(comps[1].substring(0, 9));\n if (!comps[1].substring(9).match(/^0+$/)) {\n frac++;\n }\n comps[1] = frac.toString();\n }\n return BigInt(comps[0] + comps[1]);\n}\n// Used by Polygon to use a gas station for fee data\nfunction getGasStationPlugin(url) {\n return new FetchUrlFeeDataNetworkPlugin(url, async (fetchFeeData, provider, request) => {\n // Prevent Cloudflare from blocking our request in node.js\n request.setHeader(\"User-Agent\", \"ethers\");\n let response;\n try {\n const [_response, _feeData] = await Promise.all([\n request.send(), fetchFeeData()\n ]);\n response = _response;\n const payload = response.bodyJson.standard;\n const feeData = {\n gasPrice: _feeData.gasPrice,\n maxFeePerGas: parseUnits(payload.maxFee, 9),\n maxPriorityFeePerGas: parseUnits(payload.maxPriorityFee, 9),\n };\n return feeData;\n }\n catch (error) {\n assert(false, `error encountered with polygon gas station (${JSON.stringify(request.url)})`, \"SERVER_ERROR\", { request, response, error });\n }\n });\n}\n// See: https://chainlist.org\nlet injected = false;\nfunction injectCommonNetworks() {\n if (injected) {\n return;\n }\n injected = true;\n /// Register popular Ethereum networks\n function registerEth(name, chainId, options) {\n const func = function () {\n const network = new Network(name, chainId);\n // We use 0 to disable ENS\n if (options.ensNetwork != null) {\n network.attachPlugin(new EnsPlugin(null, options.ensNetwork));\n }\n network.attachPlugin(new GasCostPlugin());\n (options.plugins || []).forEach((plugin) => {\n network.attachPlugin(plugin);\n });\n return network;\n };\n // Register the network by name and chain ID\n Network.register(name, func);\n Network.register(chainId, func);\n if (options.altNames) {\n options.altNames.forEach((name) => {\n Network.register(name, func);\n });\n }\n }\n registerEth(\"mainnet\", 1, { ensNetwork: 1, altNames: [\"homestead\"] });\n registerEth(\"ropsten\", 3, { ensNetwork: 3 });\n registerEth(\"rinkeby\", 4, { ensNetwork: 4 });\n registerEth(\"goerli\", 5, { ensNetwork: 5 });\n registerEth(\"kovan\", 42, { ensNetwork: 42 });\n registerEth(\"sepolia\", 11155111, { ensNetwork: 11155111 });\n registerEth(\"holesky\", 17000, { ensNetwork: 17000 });\n registerEth(\"classic\", 61, {});\n registerEth(\"classicKotti\", 6, {});\n registerEth(\"arbitrum\", 42161, {\n ensNetwork: 1,\n });\n registerEth(\"arbitrum-goerli\", 421613, {});\n registerEth(\"arbitrum-sepolia\", 421614, {});\n registerEth(\"base\", 8453, { ensNetwork: 1 });\n registerEth(\"base-goerli\", 84531, {});\n registerEth(\"base-sepolia\", 84532, {});\n registerEth(\"bnb\", 56, { ensNetwork: 1 });\n registerEth(\"bnbt\", 97, {});\n registerEth(\"linea\", 59144, { ensNetwork: 1 });\n registerEth(\"linea-goerli\", 59140, {});\n registerEth(\"matic\", 137, {\n ensNetwork: 1,\n plugins: [\n getGasStationPlugin(\"https:/\\/gasstation.polygon.technology/v2\")\n ]\n });\n registerEth(\"matic-mumbai\", 80001, {\n altNames: [\"maticMumbai\", \"maticmum\"],\n plugins: [\n getGasStationPlugin(\"https:/\\/gasstation-testnet.polygon.technology/v2\")\n ]\n });\n registerEth(\"optimism\", 10, {\n ensNetwork: 1,\n plugins: []\n });\n registerEth(\"optimism-goerli\", 420, {});\n registerEth(\"optimism-sepolia\", 11155420, {});\n registerEth(\"xdai\", 100, { ensNetwork: 1 });\n}\n//# sourceMappingURL=network.js.map","import { assert, isHexString } from \"../utils/index.js\";\nfunction copy(obj) {\n return JSON.parse(JSON.stringify(obj));\n}\n/**\n * Return the polling subscriber for common events.\n *\n * @_docloc: api/providers/abstract-provider\n */\nexport function getPollingSubscriber(provider, event) {\n if (event === \"block\") {\n return new PollingBlockSubscriber(provider);\n }\n if (isHexString(event, 32)) {\n return new PollingTransactionSubscriber(provider, event);\n }\n assert(false, \"unsupported polling event\", \"UNSUPPORTED_OPERATION\", {\n operation: \"getPollingSubscriber\", info: { event }\n });\n}\n// @TODO: refactor this\n/**\n * A **PollingBlockSubscriber** polls at a regular interval for a change\n * in the block number.\n *\n * @_docloc: api/providers/abstract-provider\n */\nexport class PollingBlockSubscriber {\n #provider;\n #poller;\n #interval;\n // The most recent block we have scanned for events. The value -2\n // indicates we still need to fetch an initial block number\n #blockNumber;\n /**\n * Create a new **PollingBlockSubscriber** attached to %%provider%%.\n */\n constructor(provider) {\n this.#provider = provider;\n this.#poller = null;\n this.#interval = 4000;\n this.#blockNumber = -2;\n }\n /**\n * The polling interval.\n */\n get pollingInterval() { return this.#interval; }\n set pollingInterval(value) { this.#interval = value; }\n async #poll() {\n try {\n const blockNumber = await this.#provider.getBlockNumber();\n // Bootstrap poll to setup our initial block number\n if (this.#blockNumber === -2) {\n this.#blockNumber = blockNumber;\n return;\n }\n // @TODO: Put a cap on the maximum number of events per loop?\n if (blockNumber !== this.#blockNumber) {\n for (let b = this.#blockNumber + 1; b <= blockNumber; b++) {\n // We have been stopped\n if (this.#poller == null) {\n return;\n }\n await this.#provider.emit(\"block\", b);\n }\n this.#blockNumber = blockNumber;\n }\n }\n catch (error) {\n // @TODO: Minor bump, add an \"error\" event to let subscribers\n // know things went awry.\n //console.log(error);\n }\n // We have been stopped\n if (this.#poller == null) {\n return;\n }\n this.#poller = this.#provider._setTimeout(this.#poll.bind(this), this.#interval);\n }\n start() {\n if (this.#poller) {\n return;\n }\n this.#poller = this.#provider._setTimeout(this.#poll.bind(this), this.#interval);\n this.#poll();\n }\n stop() {\n if (!this.#poller) {\n return;\n }\n this.#provider._clearTimeout(this.#poller);\n this.#poller = null;\n }\n pause(dropWhilePaused) {\n this.stop();\n if (dropWhilePaused) {\n this.#blockNumber = -2;\n }\n }\n resume() {\n this.start();\n }\n}\n/**\n * An **OnBlockSubscriber** can be sub-classed, with a [[_poll]]\n * implmentation which will be called on every new block.\n *\n * @_docloc: api/providers/abstract-provider\n */\nexport class OnBlockSubscriber {\n #provider;\n #poll;\n #running;\n /**\n * Create a new **OnBlockSubscriber** attached to %%provider%%.\n */\n constructor(provider) {\n this.#provider = provider;\n this.#running = false;\n this.#poll = (blockNumber) => {\n this._poll(blockNumber, this.#provider);\n };\n }\n /**\n * Called on every new block.\n */\n async _poll(blockNumber, provider) {\n throw new Error(\"sub-classes must override this\");\n }\n start() {\n if (this.#running) {\n return;\n }\n this.#running = true;\n this.#poll(-2);\n this.#provider.on(\"block\", this.#poll);\n }\n stop() {\n if (!this.#running) {\n return;\n }\n this.#running = false;\n this.#provider.off(\"block\", this.#poll);\n }\n pause(dropWhilePaused) { this.stop(); }\n resume() { this.start(); }\n}\nexport class PollingBlockTagSubscriber extends OnBlockSubscriber {\n #tag;\n #lastBlock;\n constructor(provider, tag) {\n super(provider);\n this.#tag = tag;\n this.#lastBlock = -2;\n }\n pause(dropWhilePaused) {\n if (dropWhilePaused) {\n this.#lastBlock = -2;\n }\n super.pause(dropWhilePaused);\n }\n async _poll(blockNumber, provider) {\n const block = await provider.getBlock(this.#tag);\n if (block == null) {\n return;\n }\n if (this.#lastBlock === -2) {\n this.#lastBlock = block.number;\n }\n else if (block.number > this.#lastBlock) {\n provider.emit(this.#tag, block.number);\n this.#lastBlock = block.number;\n }\n }\n}\n/**\n * @_ignore:\n *\n * @_docloc: api/providers/abstract-provider\n */\nexport class PollingOrphanSubscriber extends OnBlockSubscriber {\n #filter;\n constructor(provider, filter) {\n super(provider);\n this.#filter = copy(filter);\n }\n async _poll(blockNumber, provider) {\n throw new Error(\"@TODO\");\n console.log(this.#filter);\n }\n}\n/**\n * A **PollingTransactionSubscriber** will poll for a given transaction\n * hash for its receipt.\n *\n * @_docloc: api/providers/abstract-provider\n */\nexport class PollingTransactionSubscriber extends OnBlockSubscriber {\n #hash;\n /**\n * Create a new **PollingTransactionSubscriber** attached to\n * %%provider%%, listening for %%hash%%.\n */\n constructor(provider, hash) {\n super(provider);\n this.#hash = hash;\n }\n async _poll(blockNumber, provider) {\n const tx = await provider.getTransactionReceipt(this.#hash);\n if (tx) {\n provider.emit(this.#hash, tx);\n }\n }\n}\n/**\n * A **PollingEventSubscriber** will poll for a given filter for its logs.\n *\n * @_docloc: api/providers/abstract-provider\n */\nexport class PollingEventSubscriber {\n #provider;\n #filter;\n #poller;\n #running;\n // The most recent block we have scanned for events. The value -2\n // indicates we still need to fetch an initial block number\n #blockNumber;\n /**\n * Create a new **PollingTransactionSubscriber** attached to\n * %%provider%%, listening for %%filter%%.\n */\n constructor(provider, filter) {\n this.#provider = provider;\n this.#filter = copy(filter);\n this.#poller = this.#poll.bind(this);\n this.#running = false;\n this.#blockNumber = -2;\n }\n async #poll(blockNumber) {\n // The initial block hasn't been determined yet\n if (this.#blockNumber === -2) {\n return;\n }\n const filter = copy(this.#filter);\n filter.fromBlock = this.#blockNumber + 1;\n filter.toBlock = blockNumber;\n const logs = await this.#provider.getLogs(filter);\n // No logs could just mean the node has not indexed them yet,\n // so we keep a sliding window of 60 blocks to keep scanning\n if (logs.length === 0) {\n if (this.#blockNumber < blockNumber - 60) {\n this.#blockNumber = blockNumber - 60;\n }\n return;\n }\n for (const log of logs) {\n this.#provider.emit(this.#filter, log);\n // Only advance the block number when logs were found to\n // account for networks (like BNB and Polygon) which may\n // sacrifice event consistency for block event speed\n this.#blockNumber = log.blockNumber;\n }\n }\n start() {\n if (this.#running) {\n return;\n }\n this.#running = true;\n if (this.#blockNumber === -2) {\n this.#provider.getBlockNumber().then((blockNumber) => {\n this.#blockNumber = blockNumber;\n });\n }\n this.#provider.on(\"block\", this.#poller);\n }\n stop() {\n if (!this.#running) {\n return;\n }\n this.#running = false;\n this.#provider.off(\"block\", this.#poller);\n }\n pause(dropWhilePaused) {\n this.stop();\n if (dropWhilePaused) {\n this.#blockNumber = -2;\n }\n }\n resume() {\n this.start();\n }\n}\n//# sourceMappingURL=subscriber-polling.js.map","/**\n * The available providers should suffice for most developers purposes,\n * but the [[AbstractProvider]] class has many features which enable\n * sub-classing it for specific purposes.\n *\n * @_section: api/providers/abstract-provider: Subclassing Provider [abstract-provider]\n */\n// @TODO\n// Event coalescence\n// When we register an event with an async value (e.g. address is a Signer\n// or ENS name), we need to add it immeidately for the Event API, but also\n// need time to resolve the address. Upon resolving the address, we need to\n// migrate the listener to the static event. We also need to maintain a map\n// of Signer/ENS name to address so we can sync respond to listenerCount.\nimport { getAddress, resolveAddress } from \"../address/index.js\";\nimport { ZeroAddress } from \"../constants/index.js\";\nimport { Contract } from \"../contract/index.js\";\nimport { namehash } from \"../hash/index.js\";\nimport { Transaction } from \"../transaction/index.js\";\nimport { concat, dataLength, dataSlice, hexlify, isHexString, getBigInt, getBytes, getNumber, isCallException, isError, makeError, assert, assertArgument, FetchRequest, toBeArray, toQuantity, defineProperties, EventPayload, resolveProperties, toUtf8String } from \"../utils/index.js\";\nimport { EnsResolver } from \"./ens-resolver.js\";\nimport { formatBlock, formatLog, formatTransactionReceipt, formatTransactionResponse } from \"./format.js\";\nimport { Network } from \"./network.js\";\nimport { copyRequest, Block, FeeData, Log, TransactionReceipt, TransactionResponse } from \"./provider.js\";\nimport { PollingBlockSubscriber, PollingBlockTagSubscriber, PollingEventSubscriber, PollingOrphanSubscriber, PollingTransactionSubscriber } from \"./subscriber-polling.js\";\n// Constants\nconst BN_2 = BigInt(2);\nconst MAX_CCIP_REDIRECTS = 10;\nfunction isPromise(value) {\n return (value && typeof (value.then) === \"function\");\n}\nfunction getTag(prefix, value) {\n return prefix + \":\" + JSON.stringify(value, (k, v) => {\n if (v == null) {\n return \"null\";\n }\n if (typeof (v) === \"bigint\") {\n return `bigint:${v.toString()}`;\n }\n if (typeof (v) === \"string\") {\n return v.toLowerCase();\n }\n // Sort object keys\n if (typeof (v) === \"object\" && !Array.isArray(v)) {\n const keys = Object.keys(v);\n keys.sort();\n return keys.reduce((accum, key) => {\n accum[key] = v[key];\n return accum;\n }, {});\n }\n return v;\n });\n}\n/**\n * An **UnmanagedSubscriber** is useful for events which do not require\n * any additional management, such as ``\"debug\"`` which only requires\n * emit in synchronous event loop triggered calls.\n */\nexport class UnmanagedSubscriber {\n /**\n * The name fof the event.\n */\n name;\n /**\n * Create a new UnmanagedSubscriber with %%name%%.\n */\n constructor(name) { defineProperties(this, { name }); }\n start() { }\n stop() { }\n pause(dropWhilePaused) { }\n resume() { }\n}\nfunction copy(value) {\n return JSON.parse(JSON.stringify(value));\n}\nfunction concisify(items) {\n items = Array.from((new Set(items)).values());\n items.sort();\n return items;\n}\nasync function getSubscription(_event, provider) {\n if (_event == null) {\n throw new Error(\"invalid event\");\n }\n // Normalize topic array info an EventFilter\n if (Array.isArray(_event)) {\n _event = { topics: _event };\n }\n if (typeof (_event) === \"string\") {\n switch (_event) {\n case \"block\":\n case \"debug\":\n case \"error\":\n case \"finalized\":\n case \"network\":\n case \"pending\":\n case \"safe\": {\n return { type: _event, tag: _event };\n }\n }\n }\n if (isHexString(_event, 32)) {\n const hash = _event.toLowerCase();\n return { type: \"transaction\", tag: getTag(\"tx\", { hash }), hash };\n }\n if (_event.orphan) {\n const event = _event;\n // @TODO: Should lowercase and whatnot things here instead of copy...\n return { type: \"orphan\", tag: getTag(\"orphan\", event), filter: copy(event) };\n }\n if ((_event.address || _event.topics)) {\n const event = _event;\n const filter = {\n topics: ((event.topics || []).map((t) => {\n if (t == null) {\n return null;\n }\n if (Array.isArray(t)) {\n return concisify(t.map((t) => t.toLowerCase()));\n }\n return t.toLowerCase();\n }))\n };\n if (event.address) {\n const addresses = [];\n const promises = [];\n const addAddress = (addr) => {\n if (isHexString(addr)) {\n addresses.push(addr);\n }\n else {\n promises.push((async () => {\n addresses.push(await resolveAddress(addr, provider));\n })());\n }\n };\n if (Array.isArray(event.address)) {\n event.address.forEach(addAddress);\n }\n else {\n addAddress(event.address);\n }\n if (promises.length) {\n await Promise.all(promises);\n }\n filter.address = concisify(addresses.map((a) => a.toLowerCase()));\n }\n return { filter, tag: getTag(\"event\", filter), type: \"event\" };\n }\n assertArgument(false, \"unknown ProviderEvent\", \"event\", _event);\n}\nfunction getTime() { return (new Date()).getTime(); }\nconst defaultOptions = {\n cacheTimeout: 250,\n pollingInterval: 4000\n};\n/**\n * An **AbstractProvider** provides a base class for other sub-classes to\n * implement the [[Provider]] API by normalizing input arguments and\n * formatting output results as well as tracking events for consistent\n * behaviour on an eventually-consistent network.\n */\nexport class AbstractProvider {\n #subs;\n #plugins;\n // null=unpaused, true=paused+dropWhilePaused, false=paused\n #pausedState;\n #destroyed;\n #networkPromise;\n #anyNetwork;\n #performCache;\n // The most recent block number if running an event or -1 if no \"block\" event\n #lastBlockNumber;\n #nextTimer;\n #timers;\n #disableCcipRead;\n #options;\n /**\n * Create a new **AbstractProvider** connected to %%network%%, or\n * use the various network detection capabilities to discover the\n * [[Network]] if necessary.\n */\n constructor(_network, options) {\n this.#options = Object.assign({}, defaultOptions, options || {});\n if (_network === \"any\") {\n this.#anyNetwork = true;\n this.#networkPromise = null;\n }\n else if (_network) {\n const network = Network.from(_network);\n this.#anyNetwork = false;\n this.#networkPromise = Promise.resolve(network);\n setTimeout(() => { this.emit(\"network\", network, null); }, 0);\n }\n else {\n this.#anyNetwork = false;\n this.#networkPromise = null;\n }\n this.#lastBlockNumber = -1;\n this.#performCache = new Map();\n this.#subs = new Map();\n this.#plugins = new Map();\n this.#pausedState = null;\n this.#destroyed = false;\n this.#nextTimer = 1;\n this.#timers = new Map();\n this.#disableCcipRead = false;\n }\n get pollingInterval() { return this.#options.pollingInterval; }\n /**\n * Returns ``this``, to allow an **AbstractProvider** to implement\n * the [[ContractRunner]] interface.\n */\n get provider() { return this; }\n /**\n * Returns all the registered plug-ins.\n */\n get plugins() {\n return Array.from(this.#plugins.values());\n }\n /**\n * Attach a new plug-in.\n */\n attachPlugin(plugin) {\n if (this.#plugins.get(plugin.name)) {\n throw new Error(`cannot replace existing plugin: ${plugin.name} `);\n }\n this.#plugins.set(plugin.name, plugin.connect(this));\n return this;\n }\n /**\n * Get a plugin by name.\n */\n getPlugin(name) {\n return (this.#plugins.get(name)) || null;\n }\n /**\n * Prevent any CCIP-read operation, regardless of whether requested\n * in a [[call]] using ``enableCcipRead``.\n */\n get disableCcipRead() { return this.#disableCcipRead; }\n set disableCcipRead(value) { this.#disableCcipRead = !!value; }\n // Shares multiple identical requests made during the same 250ms\n async #perform(req) {\n const timeout = this.#options.cacheTimeout;\n // Caching disabled\n if (timeout < 0) {\n return await this._perform(req);\n }\n // Create a tag\n const tag = getTag(req.method, req);\n let perform = this.#performCache.get(tag);\n if (!perform) {\n perform = this._perform(req);\n this.#performCache.set(tag, perform);\n setTimeout(() => {\n if (this.#performCache.get(tag) === perform) {\n this.#performCache.delete(tag);\n }\n }, timeout);\n }\n return await perform;\n }\n /**\n * Resolves to the data for executing the CCIP-read operations.\n */\n async ccipReadFetch(tx, calldata, urls) {\n if (this.disableCcipRead || urls.length === 0 || tx.to == null) {\n return null;\n }\n const sender = tx.to.toLowerCase();\n const data = calldata.toLowerCase();\n const errorMessages = [];\n for (let i = 0; i < urls.length; i++) {\n const url = urls[i];\n // URL expansion\n const href = url.replace(\"{sender}\", sender).replace(\"{data}\", data);\n // If no {data} is present, use POST; otherwise GET\n //const json: string | null = (url.indexOf(\"{data}\") >= 0) ? null: JSON.stringify({ data, sender });\n //const result = await fetchJson({ url: href, errorPassThrough: true }, json, (value, response) => {\n // value.status = response.statusCode;\n // return value;\n //});\n const request = new FetchRequest(href);\n if (url.indexOf(\"{data}\") === -1) {\n request.body = { data, sender };\n }\n this.emit(\"debug\", { action: \"sendCcipReadFetchRequest\", request, index: i, urls });\n let errorMessage = \"unknown error\";\n const resp = await request.send();\n try {\n const result = resp.bodyJson;\n if (result.data) {\n this.emit(\"debug\", { action: \"receiveCcipReadFetchResult\", request, result });\n return result.data;\n }\n if (result.message) {\n errorMessage = result.message;\n }\n this.emit(\"debug\", { action: \"receiveCcipReadFetchError\", request, result });\n }\n catch (error) { }\n // 4xx indicates the result is not present; stop\n assert(resp.statusCode < 400 || resp.statusCode >= 500, `response not found during CCIP fetch: ${errorMessage}`, \"OFFCHAIN_FAULT\", { reason: \"404_MISSING_RESOURCE\", transaction: tx, info: { url, errorMessage } });\n // 5xx indicates server issue; try the next url\n errorMessages.push(errorMessage);\n }\n assert(false, `error encountered during CCIP fetch: ${errorMessages.map((m) => JSON.stringify(m)).join(\", \")}`, \"OFFCHAIN_FAULT\", {\n reason: \"500_SERVER_ERROR\",\n transaction: tx, info: { urls, errorMessages }\n });\n }\n /**\n * Provides the opportunity for a sub-class to wrap a block before\n * returning it, to add additional properties or an alternate\n * sub-class of [[Block]].\n */\n _wrapBlock(value, network) {\n return new Block(formatBlock(value), this);\n }\n /**\n * Provides the opportunity for a sub-class to wrap a log before\n * returning it, to add additional properties or an alternate\n * sub-class of [[Log]].\n */\n _wrapLog(value, network) {\n return new Log(formatLog(value), this);\n }\n /**\n * Provides the opportunity for a sub-class to wrap a transaction\n * receipt before returning it, to add additional properties or an\n * alternate sub-class of [[TransactionReceipt]].\n */\n _wrapTransactionReceipt(value, network) {\n return new TransactionReceipt(formatTransactionReceipt(value), this);\n }\n /**\n * Provides the opportunity for a sub-class to wrap a transaction\n * response before returning it, to add additional properties or an\n * alternate sub-class of [[TransactionResponse]].\n */\n _wrapTransactionResponse(tx, network) {\n return new TransactionResponse(formatTransactionResponse(tx), this);\n }\n /**\n * Resolves to the Network, forcing a network detection using whatever\n * technique the sub-class requires.\n *\n * Sub-classes **must** override this.\n */\n _detectNetwork() {\n assert(false, \"sub-classes must implement this\", \"UNSUPPORTED_OPERATION\", {\n operation: \"_detectNetwork\"\n });\n }\n /**\n * Sub-classes should use this to perform all built-in operations. All\n * methods sanitizes and normalizes the values passed into this.\n *\n * Sub-classes **must** override this.\n */\n async _perform(req) {\n assert(false, `unsupported method: ${req.method}`, \"UNSUPPORTED_OPERATION\", {\n operation: req.method,\n info: req\n });\n }\n // State\n async getBlockNumber() {\n const blockNumber = getNumber(await this.#perform({ method: \"getBlockNumber\" }), \"%response\");\n if (this.#lastBlockNumber >= 0) {\n this.#lastBlockNumber = blockNumber;\n }\n return blockNumber;\n }\n /**\n * Returns or resolves to the address for %%address%%, resolving ENS\n * names and [[Addressable]] objects and returning if already an\n * address.\n */\n _getAddress(address) {\n return resolveAddress(address, this);\n }\n /**\n * Returns or resolves to a valid block tag for %%blockTag%%, resolving\n * negative values and returning if already a valid block tag.\n */\n _getBlockTag(blockTag) {\n if (blockTag == null) {\n return \"latest\";\n }\n switch (blockTag) {\n case \"earliest\":\n return \"0x0\";\n case \"finalized\":\n case \"latest\":\n case \"pending\":\n case \"safe\":\n return blockTag;\n }\n if (isHexString(blockTag)) {\n if (isHexString(blockTag, 32)) {\n return blockTag;\n }\n return toQuantity(blockTag);\n }\n if (typeof (blockTag) === \"bigint\") {\n blockTag = getNumber(blockTag, \"blockTag\");\n }\n if (typeof (blockTag) === \"number\") {\n if (blockTag >= 0) {\n return toQuantity(blockTag);\n }\n if (this.#lastBlockNumber >= 0) {\n return toQuantity(this.#lastBlockNumber + blockTag);\n }\n return this.getBlockNumber().then((b) => toQuantity(b + blockTag));\n }\n assertArgument(false, \"invalid blockTag\", \"blockTag\", blockTag);\n }\n /**\n * Returns or resolves to a filter for %%filter%%, resolving any ENS\n * names or [[Addressable]] object and returning if already a valid\n * filter.\n */\n _getFilter(filter) {\n // Create a canonical representation of the topics\n const topics = (filter.topics || []).map((t) => {\n if (t == null) {\n return null;\n }\n if (Array.isArray(t)) {\n return concisify(t.map((t) => t.toLowerCase()));\n }\n return t.toLowerCase();\n });\n const blockHash = (\"blockHash\" in filter) ? filter.blockHash : undefined;\n const resolve = (_address, fromBlock, toBlock) => {\n let address = undefined;\n switch (_address.length) {\n case 0: break;\n case 1:\n address = _address[0];\n break;\n default:\n _address.sort();\n address = _address;\n }\n if (blockHash) {\n if (fromBlock != null || toBlock != null) {\n throw new Error(\"invalid filter\");\n }\n }\n const filter = {};\n if (address) {\n filter.address = address;\n }\n if (topics.length) {\n filter.topics = topics;\n }\n if (fromBlock) {\n filter.fromBlock = fromBlock;\n }\n if (toBlock) {\n filter.toBlock = toBlock;\n }\n if (blockHash) {\n filter.blockHash = blockHash;\n }\n return filter;\n };\n // Addresses could be async (ENS names or Addressables)\n let address = [];\n if (filter.address) {\n if (Array.isArray(filter.address)) {\n for (const addr of filter.address) {\n address.push(this._getAddress(addr));\n }\n }\n else {\n address.push(this._getAddress(filter.address));\n }\n }\n let fromBlock = undefined;\n if (\"fromBlock\" in filter) {\n fromBlock = this._getBlockTag(filter.fromBlock);\n }\n let toBlock = undefined;\n if (\"toBlock\" in filter) {\n toBlock = this._getBlockTag(filter.toBlock);\n }\n if (address.filter((a) => (typeof (a) !== \"string\")).length ||\n (fromBlock != null && typeof (fromBlock) !== \"string\") ||\n (toBlock != null && typeof (toBlock) !== \"string\")) {\n return Promise.all([Promise.all(address), fromBlock, toBlock]).then((result) => {\n return resolve(result[0], result[1], result[2]);\n });\n }\n return resolve(address, fromBlock, toBlock);\n }\n /**\n * Returns or resovles to a transaction for %%request%%, resolving\n * any ENS names or [[Addressable]] and returning if already a valid\n * transaction.\n */\n _getTransactionRequest(_request) {\n const request = copyRequest(_request);\n const promises = [];\n [\"to\", \"from\"].forEach((key) => {\n if (request[key] == null) {\n return;\n }\n const addr = resolveAddress(request[key], this);\n if (isPromise(addr)) {\n promises.push((async function () { request[key] = await addr; })());\n }\n else {\n request[key] = addr;\n }\n });\n if (request.blockTag != null) {\n const blockTag = this._getBlockTag(request.blockTag);\n if (isPromise(blockTag)) {\n promises.push((async function () { request.blockTag = await blockTag; })());\n }\n else {\n request.blockTag = blockTag;\n }\n }\n if (promises.length) {\n return (async function () {\n await Promise.all(promises);\n return request;\n })();\n }\n return request;\n }\n async getNetwork() {\n // No explicit network was set and this is our first time\n if (this.#networkPromise == null) {\n // Detect the current network (shared with all calls)\n const detectNetwork = (async () => {\n try {\n const network = await this._detectNetwork();\n this.emit(\"network\", network, null);\n return network;\n }\n catch (error) {\n if (this.#networkPromise === detectNetwork) {\n this.#networkPromise = null;\n }\n throw error;\n }\n })();\n this.#networkPromise = detectNetwork;\n return (await detectNetwork).clone();\n }\n const networkPromise = this.#networkPromise;\n const [expected, actual] = await Promise.all([\n networkPromise,\n this._detectNetwork() // The actual connected network\n ]);\n if (expected.chainId !== actual.chainId) {\n if (this.#anyNetwork) {\n // The \"any\" network can change, so notify listeners\n this.emit(\"network\", actual, expected);\n // Update the network if something else hasn't already changed it\n if (this.#networkPromise === networkPromise) {\n this.#networkPromise = Promise.resolve(actual);\n }\n }\n else {\n // Otherwise, we do not allow changes to the underlying network\n assert(false, `network changed: ${expected.chainId} => ${actual.chainId} `, \"NETWORK_ERROR\", {\n event: \"changed\"\n });\n }\n }\n return expected.clone();\n }\n async getFeeData() {\n const network = await this.getNetwork();\n const getFeeDataFunc = async () => {\n const { _block, gasPrice, priorityFee } = await resolveProperties({\n _block: this.#getBlock(\"latest\", false),\n gasPrice: ((async () => {\n try {\n const value = await this.#perform({ method: \"getGasPrice\" });\n return getBigInt(value, \"%response\");\n }\n catch (error) { }\n return null;\n })()),\n priorityFee: ((async () => {\n try {\n const value = await this.#perform({ method: \"getPriorityFee\" });\n return getBigInt(value, \"%response\");\n }\n catch (error) { }\n return null;\n })())\n });\n let maxFeePerGas = null;\n let maxPriorityFeePerGas = null;\n // These are the recommended EIP-1559 heuristics for fee data\n const block = this._wrapBlock(_block, network);\n if (block && block.baseFeePerGas) {\n maxPriorityFeePerGas = (priorityFee != null) ? priorityFee : BigInt(\"1000000000\");\n maxFeePerGas = (block.baseFeePerGas * BN_2) + maxPriorityFeePerGas;\n }\n return new FeeData(gasPrice, maxFeePerGas, maxPriorityFeePerGas);\n };\n // Check for a FeeDataNetWorkPlugin\n const plugin = network.getPlugin(\"org.ethers.plugins.network.FetchUrlFeeDataPlugin\");\n if (plugin) {\n const req = new FetchRequest(plugin.url);\n const feeData = await plugin.processFunc(getFeeDataFunc, this, req);\n return new FeeData(feeData.gasPrice, feeData.maxFeePerGas, feeData.maxPriorityFeePerGas);\n }\n return await getFeeDataFunc();\n }\n async estimateGas(_tx) {\n let tx = this._getTransactionRequest(_tx);\n if (isPromise(tx)) {\n tx = await tx;\n }\n return getBigInt(await this.#perform({\n method: \"estimateGas\", transaction: tx\n }), \"%response\");\n }\n async #call(tx, blockTag, attempt) {\n assert(attempt < MAX_CCIP_REDIRECTS, \"CCIP read exceeded maximum redirections\", \"OFFCHAIN_FAULT\", {\n reason: \"TOO_MANY_REDIRECTS\",\n transaction: Object.assign({}, tx, { blockTag, enableCcipRead: true })\n });\n // This came in as a PerformActionTransaction, so to/from are safe; we can cast\n const transaction = copyRequest(tx);\n try {\n return hexlify(await this._perform({ method: \"call\", transaction, blockTag }));\n }\n catch (error) {\n // CCIP Read OffchainLookup\n if (!this.disableCcipRead && isCallException(error) && error.data && attempt >= 0 && blockTag === \"latest\" && transaction.to != null && dataSlice(error.data, 0, 4) === \"0x556f1830\") {\n const data = error.data;\n const txSender = await resolveAddress(transaction.to, this);\n // Parse the CCIP Read Arguments\n let ccipArgs;\n try {\n ccipArgs = parseOffchainLookup(dataSlice(error.data, 4));\n }\n catch (error) {\n assert(false, error.message, \"OFFCHAIN_FAULT\", {\n reason: \"BAD_DATA\", transaction, info: { data }\n });\n }\n // Check the sender of the OffchainLookup matches the transaction\n assert(ccipArgs.sender.toLowerCase() === txSender.toLowerCase(), \"CCIP Read sender mismatch\", \"CALL_EXCEPTION\", {\n action: \"call\",\n data,\n reason: \"OffchainLookup\",\n transaction: transaction,\n invocation: null,\n revert: {\n signature: \"OffchainLookup(address,string[],bytes,bytes4,bytes)\",\n name: \"OffchainLookup\",\n args: ccipArgs.errorArgs\n }\n });\n const ccipResult = await this.ccipReadFetch(transaction, ccipArgs.calldata, ccipArgs.urls);\n assert(ccipResult != null, \"CCIP Read failed to fetch data\", \"OFFCHAIN_FAULT\", {\n reason: \"FETCH_FAILED\", transaction, info: { data: error.data, errorArgs: ccipArgs.errorArgs }\n });\n const tx = {\n to: txSender,\n data: concat([ccipArgs.selector, encodeBytes([ccipResult, ccipArgs.extraData])])\n };\n this.emit(\"debug\", { action: \"sendCcipReadCall\", transaction: tx });\n try {\n const result = await this.#call(tx, blockTag, attempt + 1);\n this.emit(\"debug\", { action: \"receiveCcipReadCallResult\", transaction: Object.assign({}, tx), result });\n return result;\n }\n catch (error) {\n this.emit(\"debug\", { action: \"receiveCcipReadCallError\", transaction: Object.assign({}, tx), error });\n throw error;\n }\n }\n throw error;\n }\n }\n async #checkNetwork(promise) {\n const { value } = await resolveProperties({\n network: this.getNetwork(),\n value: promise\n });\n return value;\n }\n async call(_tx) {\n const { tx, blockTag } = await resolveProperties({\n tx: this._getTransactionRequest(_tx),\n blockTag: this._getBlockTag(_tx.blockTag)\n });\n return await this.#checkNetwork(this.#call(tx, blockTag, _tx.enableCcipRead ? 0 : -1));\n }\n // Account\n async #getAccountValue(request, _address, _blockTag) {\n let address = this._getAddress(_address);\n let blockTag = this._getBlockTag(_blockTag);\n if (typeof (address) !== \"string\" || typeof (blockTag) !== \"string\") {\n [address, blockTag] = await Promise.all([address, blockTag]);\n }\n return await this.#checkNetwork(this.#perform(Object.assign(request, { address, blockTag })));\n }\n async getBalance(address, blockTag) {\n return getBigInt(await this.#getAccountValue({ method: \"getBalance\" }, address, blockTag), \"%response\");\n }\n async getTransactionCount(address, blockTag) {\n return getNumber(await this.#getAccountValue({ method: \"getTransactionCount\" }, address, blockTag), \"%response\");\n }\n async getCode(address, blockTag) {\n return hexlify(await this.#getAccountValue({ method: \"getCode\" }, address, blockTag));\n }\n async getStorage(address, _position, blockTag) {\n const position = getBigInt(_position, \"position\");\n return hexlify(await this.#getAccountValue({ method: \"getStorage\", position }, address, blockTag));\n }\n // Write\n async broadcastTransaction(signedTx) {\n const { blockNumber, hash, network } = await resolveProperties({\n blockNumber: this.getBlockNumber(),\n hash: this._perform({\n method: \"broadcastTransaction\",\n signedTransaction: signedTx\n }),\n network: this.getNetwork()\n });\n const tx = Transaction.from(signedTx);\n if (tx.hash !== hash) {\n throw new Error(\"@TODO: the returned hash did not match\");\n }\n return this._wrapTransactionResponse(tx, network).replaceableTransaction(blockNumber);\n }\n async #getBlock(block, includeTransactions) {\n // @TODO: Add CustomBlockPlugin check\n if (isHexString(block, 32)) {\n return await this.#perform({\n method: \"getBlock\", blockHash: block, includeTransactions\n });\n }\n let blockTag = this._getBlockTag(block);\n if (typeof (blockTag) !== \"string\") {\n blockTag = await blockTag;\n }\n return await this.#perform({\n method: \"getBlock\", blockTag, includeTransactions\n });\n }\n // Queries\n async getBlock(block, prefetchTxs) {\n const { network, params } = await resolveProperties({\n network: this.getNetwork(),\n params: this.#getBlock(block, !!prefetchTxs)\n });\n if (params == null) {\n return null;\n }\n return this._wrapBlock(params, network);\n }\n async getTransaction(hash) {\n const { network, params } = await resolveProperties({\n network: this.getNetwork(),\n params: this.#perform({ method: \"getTransaction\", hash })\n });\n if (params == null) {\n return null;\n }\n return this._wrapTransactionResponse(params, network);\n }\n async getTransactionReceipt(hash) {\n const { network, params } = await resolveProperties({\n network: this.getNetwork(),\n params: this.#perform({ method: \"getTransactionReceipt\", hash })\n });\n if (params == null) {\n return null;\n }\n // Some backends did not backfill the effectiveGasPrice into old transactions\n // in the receipt, so we look it up manually and inject it.\n if (params.gasPrice == null && params.effectiveGasPrice == null) {\n const tx = await this.#perform({ method: \"getTransaction\", hash });\n if (tx == null) {\n throw new Error(\"report this; could not find tx or effectiveGasPrice\");\n }\n params.effectiveGasPrice = tx.gasPrice;\n }\n return this._wrapTransactionReceipt(params, network);\n }\n async getTransactionResult(hash) {\n const { result } = await resolveProperties({\n network: this.getNetwork(),\n result: this.#perform({ method: \"getTransactionResult\", hash })\n });\n if (result == null) {\n return null;\n }\n return hexlify(result);\n }\n // Bloom-filter Queries\n async getLogs(_filter) {\n let filter = this._getFilter(_filter);\n if (isPromise(filter)) {\n filter = await filter;\n }\n const { network, params } = await resolveProperties({\n network: this.getNetwork(),\n params: this.#perform({ method: \"getLogs\", filter })\n });\n return params.map((p) => this._wrapLog(p, network));\n }\n // ENS\n _getProvider(chainId) {\n assert(false, \"provider cannot connect to target network\", \"UNSUPPORTED_OPERATION\", {\n operation: \"_getProvider()\"\n });\n }\n async getResolver(name) {\n return await EnsResolver.fromName(this, name);\n }\n async getAvatar(name) {\n const resolver = await this.getResolver(name);\n if (resolver) {\n return await resolver.getAvatar();\n }\n return null;\n }\n async resolveName(name) {\n const resolver = await this.getResolver(name);\n if (resolver) {\n return await resolver.getAddress();\n }\n return null;\n }\n async lookupAddress(address) {\n address = getAddress(address);\n const node = namehash(address.substring(2).toLowerCase() + \".addr.reverse\");\n try {\n const ensAddr = await EnsResolver.getEnsAddress(this);\n const ensContract = new Contract(ensAddr, [\n \"function resolver(bytes32) view returns (address)\"\n ], this);\n const resolver = await ensContract.resolver(node);\n if (resolver == null || resolver === ZeroAddress) {\n return null;\n }\n const resolverContract = new Contract(resolver, [\n \"function name(bytes32) view returns (string)\"\n ], this);\n const name = await resolverContract.name(node);\n // Failed forward resolution\n const check = await this.resolveName(name);\n if (check !== address) {\n return null;\n }\n return name;\n }\n catch (error) {\n // No data was returned from the resolver\n if (isError(error, \"BAD_DATA\") && error.value === \"0x\") {\n return null;\n }\n // Something reerted\n if (isError(error, \"CALL_EXCEPTION\")) {\n return null;\n }\n throw error;\n }\n return null;\n }\n async waitForTransaction(hash, _confirms, timeout) {\n const confirms = (_confirms != null) ? _confirms : 1;\n if (confirms === 0) {\n return this.getTransactionReceipt(hash);\n }\n return new Promise(async (resolve, reject) => {\n let timer = null;\n const listener = (async (blockNumber) => {\n try {\n const receipt = await this.getTransactionReceipt(hash);\n if (receipt != null) {\n if (blockNumber - receipt.blockNumber + 1 >= confirms) {\n resolve(receipt);\n //this.off(\"block\", listener);\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n return;\n }\n }\n }\n catch (error) {\n console.log(\"EEE\", error);\n }\n this.once(\"block\", listener);\n });\n if (timeout != null) {\n timer = setTimeout(() => {\n if (timer == null) {\n return;\n }\n timer = null;\n this.off(\"block\", listener);\n reject(makeError(\"timeout\", \"TIMEOUT\", { reason: \"timeout\" }));\n }, timeout);\n }\n listener(await this.getBlockNumber());\n });\n }\n async waitForBlock(blockTag) {\n assert(false, \"not implemented yet\", \"NOT_IMPLEMENTED\", {\n operation: \"waitForBlock\"\n });\n }\n /**\n * Clear a timer created using the [[_setTimeout]] method.\n */\n _clearTimeout(timerId) {\n const timer = this.#timers.get(timerId);\n if (!timer) {\n return;\n }\n if (timer.timer) {\n clearTimeout(timer.timer);\n }\n this.#timers.delete(timerId);\n }\n /**\n * Create a timer that will execute %%func%% after at least %%timeout%%\n * (in ms). If %%timeout%% is unspecified, then %%func%% will execute\n * in the next event loop.\n *\n * [Pausing](AbstractProvider-paused) the provider will pause any\n * associated timers.\n */\n _setTimeout(_func, timeout) {\n if (timeout == null) {\n timeout = 0;\n }\n const timerId = this.#nextTimer++;\n const func = () => {\n this.#timers.delete(timerId);\n _func();\n };\n if (this.paused) {\n this.#timers.set(timerId, { timer: null, func, time: timeout });\n }\n else {\n const timer = setTimeout(func, timeout);\n this.#timers.set(timerId, { timer, func, time: getTime() });\n }\n return timerId;\n }\n /**\n * Perform %%func%% on each subscriber.\n */\n _forEachSubscriber(func) {\n for (const sub of this.#subs.values()) {\n func(sub.subscriber);\n }\n }\n /**\n * Sub-classes may override this to customize subscription\n * implementations.\n */\n _getSubscriber(sub) {\n switch (sub.type) {\n case \"debug\":\n case \"error\":\n case \"network\":\n return new UnmanagedSubscriber(sub.type);\n case \"block\": {\n const subscriber = new PollingBlockSubscriber(this);\n subscriber.pollingInterval = this.pollingInterval;\n return subscriber;\n }\n case \"safe\":\n case \"finalized\":\n return new PollingBlockTagSubscriber(this, sub.type);\n case \"event\":\n return new PollingEventSubscriber(this, sub.filter);\n case \"transaction\":\n return new PollingTransactionSubscriber(this, sub.hash);\n case \"orphan\":\n return new PollingOrphanSubscriber(this, sub.filter);\n }\n throw new Error(`unsupported event: ${sub.type}`);\n }\n /**\n * If a [[Subscriber]] fails and needs to replace itself, this\n * method may be used.\n *\n * For example, this is used for providers when using the\n * ``eth_getFilterChanges`` method, which can return null if state\n * filters are not supported by the backend, allowing the Subscriber\n * to swap in a [[PollingEventSubscriber]].\n */\n _recoverSubscriber(oldSub, newSub) {\n for (const sub of this.#subs.values()) {\n if (sub.subscriber === oldSub) {\n if (sub.started) {\n sub.subscriber.stop();\n }\n sub.subscriber = newSub;\n if (sub.started) {\n newSub.start();\n }\n if (this.#pausedState != null) {\n newSub.pause(this.#pausedState);\n }\n break;\n }\n }\n }\n async #hasSub(event, emitArgs) {\n let sub = await getSubscription(event, this);\n // This is a log that is removing an existing log; we actually want\n // to emit an orphan event for the removed log\n if (sub.type === \"event\" && emitArgs && emitArgs.length > 0 && emitArgs[0].removed === true) {\n sub = await getSubscription({ orphan: \"drop-log\", log: emitArgs[0] }, this);\n }\n return this.#subs.get(sub.tag) || null;\n }\n async #getSub(event) {\n const subscription = await getSubscription(event, this);\n // Prevent tampering with our tag in any subclass' _getSubscriber\n const tag = subscription.tag;\n let sub = this.#subs.get(tag);\n if (!sub) {\n const subscriber = this._getSubscriber(subscription);\n const addressableMap = new WeakMap();\n const nameMap = new Map();\n sub = { subscriber, tag, addressableMap, nameMap, started: false, listeners: [] };\n this.#subs.set(tag, sub);\n }\n return sub;\n }\n async on(event, listener) {\n const sub = await this.#getSub(event);\n sub.listeners.push({ listener, once: false });\n if (!sub.started) {\n sub.subscriber.start();\n sub.started = true;\n if (this.#pausedState != null) {\n sub.subscriber.pause(this.#pausedState);\n }\n }\n return this;\n }\n async once(event, listener) {\n const sub = await this.#getSub(event);\n sub.listeners.push({ listener, once: true });\n if (!sub.started) {\n sub.subscriber.start();\n sub.started = true;\n if (this.#pausedState != null) {\n sub.subscriber.pause(this.#pausedState);\n }\n }\n return this;\n }\n async emit(event, ...args) {\n const sub = await this.#hasSub(event, args);\n // If there is not subscription or if a recent emit removed\n // the last of them (which also deleted the sub) do nothing\n if (!sub || sub.listeners.length === 0) {\n return false;\n }\n ;\n const count = sub.listeners.length;\n sub.listeners = sub.listeners.filter(({ listener, once }) => {\n const payload = new EventPayload(this, (once ? null : listener), event);\n try {\n listener.call(this, ...args, payload);\n }\n catch (error) { }\n return !once;\n });\n if (sub.listeners.length === 0) {\n if (sub.started) {\n sub.subscriber.stop();\n }\n this.#subs.delete(sub.tag);\n }\n return (count > 0);\n }\n async listenerCount(event) {\n if (event) {\n const sub = await this.#hasSub(event);\n if (!sub) {\n return 0;\n }\n return sub.listeners.length;\n }\n let total = 0;\n for (const { listeners } of this.#subs.values()) {\n total += listeners.length;\n }\n return total;\n }\n async listeners(event) {\n if (event) {\n const sub = await this.#hasSub(event);\n if (!sub) {\n return [];\n }\n return sub.listeners.map(({ listener }) => listener);\n }\n let result = [];\n for (const { listeners } of this.#subs.values()) {\n result = result.concat(listeners.map(({ listener }) => listener));\n }\n return result;\n }\n async off(event, listener) {\n const sub = await this.#hasSub(event);\n if (!sub) {\n return this;\n }\n if (listener) {\n const index = sub.listeners.map(({ listener }) => listener).indexOf(listener);\n if (index >= 0) {\n sub.listeners.splice(index, 1);\n }\n }\n if (!listener || sub.listeners.length === 0) {\n if (sub.started) {\n sub.subscriber.stop();\n }\n this.#subs.delete(sub.tag);\n }\n return this;\n }\n async removeAllListeners(event) {\n if (event) {\n const { tag, started, subscriber } = await this.#getSub(event);\n if (started) {\n subscriber.stop();\n }\n this.#subs.delete(tag);\n }\n else {\n for (const [tag, { started, subscriber }] of this.#subs) {\n if (started) {\n subscriber.stop();\n }\n this.#subs.delete(tag);\n }\n }\n return this;\n }\n // Alias for \"on\"\n async addListener(event, listener) {\n return await this.on(event, listener);\n }\n // Alias for \"off\"\n async removeListener(event, listener) {\n return this.off(event, listener);\n }\n /**\n * If this provider has been destroyed using the [[destroy]] method.\n *\n * Once destroyed, all resources are reclaimed, internal event loops\n * and timers are cleaned up and no further requests may be sent to\n * the provider.\n */\n get destroyed() {\n return this.#destroyed;\n }\n /**\n * Sub-classes may use this to shutdown any sockets or release their\n * resources and reject any pending requests.\n *\n * Sub-classes **must** call ``super.destroy()``.\n */\n destroy() {\n // Stop all listeners\n this.removeAllListeners();\n // Shut down all tiemrs\n for (const timerId of this.#timers.keys()) {\n this._clearTimeout(timerId);\n }\n this.#destroyed = true;\n }\n /**\n * Whether the provider is currently paused.\n *\n * A paused provider will not emit any events, and generally should\n * not make any requests to the network, but that is up to sub-classes\n * to manage.\n *\n * Setting ``paused = true`` is identical to calling ``.pause(false)``,\n * which will buffer any events that occur while paused until the\n * provider is unpaused.\n */\n get paused() { return (this.#pausedState != null); }\n set paused(pause) {\n if (!!pause === this.paused) {\n return;\n }\n if (this.paused) {\n this.resume();\n }\n else {\n this.pause(false);\n }\n }\n /**\n * Pause the provider. If %%dropWhilePaused%%, any events that occur\n * while paused are dropped, otherwise all events will be emitted once\n * the provider is unpaused.\n */\n pause(dropWhilePaused) {\n this.#lastBlockNumber = -1;\n if (this.#pausedState != null) {\n if (this.#pausedState == !!dropWhilePaused) {\n return;\n }\n assert(false, \"cannot change pause type; resume first\", \"UNSUPPORTED_OPERATION\", {\n operation: \"pause\"\n });\n }\n this._forEachSubscriber((s) => s.pause(dropWhilePaused));\n this.#pausedState = !!dropWhilePaused;\n for (const timer of this.#timers.values()) {\n // Clear the timer\n if (timer.timer) {\n clearTimeout(timer.timer);\n }\n // Remaining time needed for when we become unpaused\n timer.time = getTime() - timer.time;\n }\n }\n /**\n * Resume the provider.\n */\n resume() {\n if (this.#pausedState == null) {\n return;\n }\n this._forEachSubscriber((s) => s.resume());\n this.#pausedState = null;\n for (const timer of this.#timers.values()) {\n // Remaining time when we were paused\n let timeout = timer.time;\n if (timeout < 0) {\n timeout = 0;\n }\n // Start time (in cause paused, so we con compute remaininf time)\n timer.time = getTime();\n // Start the timer\n setTimeout(timer.func, timeout);\n }\n }\n}\nfunction _parseString(result, start) {\n try {\n const bytes = _parseBytes(result, start);\n if (bytes) {\n return toUtf8String(bytes);\n }\n }\n catch (error) { }\n return null;\n}\nfunction _parseBytes(result, start) {\n if (result === \"0x\") {\n return null;\n }\n try {\n const offset = getNumber(dataSlice(result, start, start + 32));\n const length = getNumber(dataSlice(result, offset, offset + 32));\n return dataSlice(result, offset + 32, offset + 32 + length);\n }\n catch (error) { }\n return null;\n}\nfunction numPad(value) {\n const result = toBeArray(value);\n if (result.length > 32) {\n throw new Error(\"internal; should not happen\");\n }\n const padded = new Uint8Array(32);\n padded.set(result, 32 - result.length);\n return padded;\n}\nfunction bytesPad(value) {\n if ((value.length % 32) === 0) {\n return value;\n }\n const result = new Uint8Array(Math.ceil(value.length / 32) * 32);\n result.set(value);\n return result;\n}\nconst empty = new Uint8Array([]);\n// ABI Encodes a series of (bytes, bytes, ...)\nfunction encodeBytes(datas) {\n const result = [];\n let byteCount = 0;\n // Add place-holders for pointers as we add items\n for (let i = 0; i < datas.length; i++) {\n result.push(empty);\n byteCount += 32;\n }\n for (let i = 0; i < datas.length; i++) {\n const data = getBytes(datas[i]);\n // Update the bytes offset\n result[i] = numPad(byteCount);\n // The length and padded value of data\n result.push(numPad(data.length));\n result.push(bytesPad(data));\n byteCount += 32 + Math.ceil(data.length / 32) * 32;\n }\n return concat(result);\n}\nconst zeros = \"0x0000000000000000000000000000000000000000000000000000000000000000\";\nfunction parseOffchainLookup(data) {\n const result = {\n sender: \"\", urls: [], calldata: \"\", selector: \"\", extraData: \"\", errorArgs: []\n };\n assert(dataLength(data) >= 5 * 32, \"insufficient OffchainLookup data\", \"OFFCHAIN_FAULT\", {\n reason: \"insufficient OffchainLookup data\"\n });\n const sender = dataSlice(data, 0, 32);\n assert(dataSlice(sender, 0, 12) === dataSlice(zeros, 0, 12), \"corrupt OffchainLookup sender\", \"OFFCHAIN_FAULT\", {\n reason: \"corrupt OffchainLookup sender\"\n });\n result.sender = dataSlice(sender, 12);\n // Read the URLs from the response\n try {\n const urls = [];\n const urlsOffset = getNumber(dataSlice(data, 32, 64));\n const urlsLength = getNumber(dataSlice(data, urlsOffset, urlsOffset + 32));\n const urlsData = dataSlice(data, urlsOffset + 32);\n for (let u = 0; u < urlsLength; u++) {\n const url = _parseString(urlsData, u * 32);\n if (url == null) {\n throw new Error(\"abort\");\n }\n urls.push(url);\n }\n result.urls = urls;\n }\n catch (error) {\n assert(false, \"corrupt OffchainLookup urls\", \"OFFCHAIN_FAULT\", {\n reason: \"corrupt OffchainLookup urls\"\n });\n }\n // Get the CCIP calldata to forward\n try {\n const calldata = _parseBytes(data, 64);\n if (calldata == null) {\n throw new Error(\"abort\");\n }\n result.calldata = calldata;\n }\n catch (error) {\n assert(false, \"corrupt OffchainLookup calldata\", \"OFFCHAIN_FAULT\", {\n reason: \"corrupt OffchainLookup calldata\"\n });\n }\n // Get the callbackSelector (bytes4)\n assert(dataSlice(data, 100, 128) === dataSlice(zeros, 0, 28), \"corrupt OffchainLookup callbaackSelector\", \"OFFCHAIN_FAULT\", {\n reason: \"corrupt OffchainLookup callbaackSelector\"\n });\n result.selector = dataSlice(data, 96, 100);\n // Get the extra data to send back to the contract as context\n try {\n const extraData = _parseBytes(data, 128);\n if (extraData == null) {\n throw new Error(\"abort\");\n }\n result.extraData = extraData;\n }\n catch (error) {\n assert(false, \"corrupt OffchainLookup extraData\", \"OFFCHAIN_FAULT\", {\n reason: \"corrupt OffchainLookup extraData\"\n });\n }\n result.errorArgs = \"sender,urls,calldata,selector,extraData\".split(/,/).map((k) => result[k]);\n return result;\n}\n//# sourceMappingURL=abstract-provider.js.map","/**\n * Generally the [[Wallet]] and [[JsonRpcSigner]] and their sub-classes\n * are sufficent for most developers, but this is provided to\n * fascilitate more complex Signers.\n *\n * @_section: api/providers/abstract-signer: Subclassing Signer [abstract-signer]\n */\nimport { resolveAddress } from \"../address/index.js\";\nimport { Transaction } from \"../transaction/index.js\";\nimport { defineProperties, getBigInt, resolveProperties, assert, assertArgument } from \"../utils/index.js\";\nimport { copyRequest } from \"./provider.js\";\nfunction checkProvider(signer, operation) {\n if (signer.provider) {\n return signer.provider;\n }\n assert(false, \"missing provider\", \"UNSUPPORTED_OPERATION\", { operation });\n}\nasync function populate(signer, tx) {\n let pop = copyRequest(tx);\n if (pop.to != null) {\n pop.to = resolveAddress(pop.to, signer);\n }\n if (pop.from != null) {\n const from = pop.from;\n pop.from = Promise.all([\n signer.getAddress(),\n resolveAddress(from, signer)\n ]).then(([address, from]) => {\n assertArgument(address.toLowerCase() === from.toLowerCase(), \"transaction from mismatch\", \"tx.from\", from);\n return address;\n });\n }\n else {\n pop.from = signer.getAddress();\n }\n return await resolveProperties(pop);\n}\n/**\n * An **AbstractSigner** includes most of teh functionality required\n * to get a [[Signer]] working as expected, but requires a few\n * Signer-specific methods be overridden.\n *\n */\nexport class AbstractSigner {\n /**\n * The provider this signer is connected to.\n */\n provider;\n /**\n * Creates a new Signer connected to %%provider%%.\n */\n constructor(provider) {\n defineProperties(this, { provider: (provider || null) });\n }\n async getNonce(blockTag) {\n return checkProvider(this, \"getTransactionCount\").getTransactionCount(await this.getAddress(), blockTag);\n }\n async populateCall(tx) {\n const pop = await populate(this, tx);\n return pop;\n }\n async populateTransaction(tx) {\n const provider = checkProvider(this, \"populateTransaction\");\n const pop = await populate(this, tx);\n if (pop.nonce == null) {\n pop.nonce = await this.getNonce(\"pending\");\n }\n if (pop.gasLimit == null) {\n pop.gasLimit = await this.estimateGas(pop);\n }\n // Populate the chain ID\n const network = await (this.provider).getNetwork();\n if (pop.chainId != null) {\n const chainId = getBigInt(pop.chainId);\n assertArgument(chainId === network.chainId, \"transaction chainId mismatch\", \"tx.chainId\", tx.chainId);\n }\n else {\n pop.chainId = network.chainId;\n }\n // Do not allow mixing pre-eip-1559 and eip-1559 properties\n const hasEip1559 = (pop.maxFeePerGas != null || pop.maxPriorityFeePerGas != null);\n if (pop.gasPrice != null && (pop.type === 2 || hasEip1559)) {\n assertArgument(false, \"eip-1559 transaction do not support gasPrice\", \"tx\", tx);\n }\n else if ((pop.type === 0 || pop.type === 1) && hasEip1559) {\n assertArgument(false, \"pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas\", \"tx\", tx);\n }\n if ((pop.type === 2 || pop.type == null) && (pop.maxFeePerGas != null && pop.maxPriorityFeePerGas != null)) {\n // Fully-formed EIP-1559 transaction (skip getFeeData)\n pop.type = 2;\n }\n else if (pop.type === 0 || pop.type === 1) {\n // Explicit Legacy or EIP-2930 transaction\n // We need to get fee data to determine things\n const feeData = await provider.getFeeData();\n assert(feeData.gasPrice != null, \"network does not support gasPrice\", \"UNSUPPORTED_OPERATION\", {\n operation: \"getGasPrice\"\n });\n // Populate missing gasPrice\n if (pop.gasPrice == null) {\n pop.gasPrice = feeData.gasPrice;\n }\n }\n else {\n // We need to get fee data to determine things\n const feeData = await provider.getFeeData();\n if (pop.type == null) {\n // We need to auto-detect the intended type of this transaction...\n if (feeData.maxFeePerGas != null && feeData.maxPriorityFeePerGas != null) {\n // The network supports EIP-1559!\n // Upgrade transaction from null to eip-1559\n pop.type = 2;\n if (pop.gasPrice != null) {\n // Using legacy gasPrice property on an eip-1559 network,\n // so use gasPrice as both fee properties\n const gasPrice = pop.gasPrice;\n delete pop.gasPrice;\n pop.maxFeePerGas = gasPrice;\n pop.maxPriorityFeePerGas = gasPrice;\n }\n else {\n // Populate missing fee data\n if (pop.maxFeePerGas == null) {\n pop.maxFeePerGas = feeData.maxFeePerGas;\n }\n if (pop.maxPriorityFeePerGas == null) {\n pop.maxPriorityFeePerGas = feeData.maxPriorityFeePerGas;\n }\n }\n }\n else if (feeData.gasPrice != null) {\n // Network doesn't support EIP-1559...\n // ...but they are trying to use EIP-1559 properties\n assert(!hasEip1559, \"network does not support EIP-1559\", \"UNSUPPORTED_OPERATION\", {\n operation: \"populateTransaction\"\n });\n // Populate missing fee data\n if (pop.gasPrice == null) {\n pop.gasPrice = feeData.gasPrice;\n }\n // Explicitly set untyped transaction to legacy\n // @TODO: Maybe this shold allow type 1?\n pop.type = 0;\n }\n else {\n // getFeeData has failed us.\n assert(false, \"failed to get consistent fee data\", \"UNSUPPORTED_OPERATION\", {\n operation: \"signer.getFeeData\"\n });\n }\n }\n else if (pop.type === 2) {\n // Explicitly using EIP-1559\n // Populate missing fee data\n if (pop.maxFeePerGas == null) {\n pop.maxFeePerGas = feeData.maxFeePerGas;\n }\n if (pop.maxPriorityFeePerGas == null) {\n pop.maxPriorityFeePerGas = feeData.maxPriorityFeePerGas;\n }\n }\n }\n //@TOOD: Don't await all over the place; save them up for\n // the end for better batching\n return await resolveProperties(pop);\n }\n async estimateGas(tx) {\n return checkProvider(this, \"estimateGas\").estimateGas(await this.populateCall(tx));\n }\n async call(tx) {\n return checkProvider(this, \"call\").call(await this.populateCall(tx));\n }\n async resolveName(name) {\n const provider = checkProvider(this, \"resolveName\");\n return await provider.resolveName(name);\n }\n async sendTransaction(tx) {\n const provider = checkProvider(this, \"sendTransaction\");\n const pop = await this.populateTransaction(tx);\n delete pop.from;\n const txObj = Transaction.from(pop);\n return await provider.broadcastTransaction(await this.signTransaction(txObj));\n }\n}\n/**\n * A **VoidSigner** is a class deisgned to allow an address to be used\n * in any API which accepts a Signer, but for which there are no\n * credentials available to perform any actual signing.\n *\n * This for example allow impersonating an account for the purpose of\n * static calls or estimating gas, but does not allow sending transactions.\n */\nexport class VoidSigner extends AbstractSigner {\n /**\n * The signer address.\n */\n address;\n /**\n * Creates a new **VoidSigner** with %%address%% attached to\n * %%provider%%.\n */\n constructor(address, provider) {\n super(provider);\n defineProperties(this, { address });\n }\n async getAddress() { return this.address; }\n connect(provider) {\n return new VoidSigner(this.address, provider);\n }\n #throwUnsupported(suffix, operation) {\n assert(false, `VoidSigner cannot sign ${suffix}`, \"UNSUPPORTED_OPERATION\", { operation });\n }\n async signTransaction(tx) {\n this.#throwUnsupported(\"transactions\", \"signTransaction\");\n }\n async signMessage(message) {\n this.#throwUnsupported(\"messages\", \"signMessage\");\n }\n async signTypedData(domain, types, value) {\n this.#throwUnsupported(\"typed-data\", \"signTypedData\");\n }\n}\n//# sourceMappingURL=abstract-signer.js.map","/**\n * There are many awesome community services that provide Ethereum\n * nodes both for developers just starting out and for large-scale\n * communities.\n *\n * @_section: api/providers/thirdparty: Community Providers [thirdparty]\n */\n// Show the throttle message only once per service\nconst shown = new Set();\n/**\n * Displays a warning in tht console when the community resource is\n * being used too heavily by the app, recommending the developer\n * acquire their own credentials instead of using the community\n * credentials.\n *\n * The notification will only occur once per service.\n */\nexport function showThrottleMessage(service) {\n if (shown.has(service)) {\n return;\n }\n shown.add(service);\n console.log(\"========= NOTICE =========\");\n console.log(`Request-Rate Exceeded for ${service} (this message will not be repeated)`);\n console.log(\"\");\n console.log(\"The default API keys for each service are provided as a highly-throttled,\");\n console.log(\"community resource for low-traffic projects and early prototyping.\");\n console.log(\"\");\n console.log(\"While your application will continue to function, we highly recommended\");\n console.log(\"signing up for your own API keys to improve performance, increase your\");\n console.log(\"request rate/limit and enable other perks, such as metrics and advanced APIs.\");\n console.log(\"\");\n console.log(\"For more details: https:/\\/docs.ethers.org/api-keys/\");\n console.log(\"==========================\");\n}\n//# sourceMappingURL=community.js.map","import { isError } from \"../utils/index.js\";\nimport { PollingEventSubscriber } from \"./subscriber-polling.js\";\nfunction copy(obj) {\n return JSON.parse(JSON.stringify(obj));\n}\n/**\n * Some backends support subscribing to events using a Filter ID.\n *\n * When subscribing with this technique, the node issues a unique\n * //Filter ID//. At this point the node dedicates resources to\n * the filter, so that periodic calls to follow up on the //Filter ID//\n * will receive any events since the last call.\n *\n * @_docloc: api/providers/abstract-provider\n */\nexport class FilterIdSubscriber {\n #provider;\n #filterIdPromise;\n #poller;\n #running;\n #network;\n #hault;\n /**\n * Creates a new **FilterIdSubscriber** which will used [[_subscribe]]\n * and [[_emitResults]] to setup the subscription and provide the event\n * to the %%provider%%.\n */\n constructor(provider) {\n this.#provider = provider;\n this.#filterIdPromise = null;\n this.#poller = this.#poll.bind(this);\n this.#running = false;\n this.#network = null;\n this.#hault = false;\n }\n /**\n * Sub-classes **must** override this to begin the subscription.\n */\n _subscribe(provider) {\n throw new Error(\"subclasses must override this\");\n }\n /**\n * Sub-classes **must** override this handle the events.\n */\n _emitResults(provider, result) {\n throw new Error(\"subclasses must override this\");\n }\n /**\n * Sub-classes **must** override this handle recovery on errors.\n */\n _recover(provider) {\n throw new Error(\"subclasses must override this\");\n }\n async #poll(blockNumber) {\n try {\n // Subscribe if necessary\n if (this.#filterIdPromise == null) {\n this.#filterIdPromise = this._subscribe(this.#provider);\n }\n // Get the Filter ID\n let filterId = null;\n try {\n filterId = await this.#filterIdPromise;\n }\n catch (error) {\n if (!isError(error, \"UNSUPPORTED_OPERATION\") || error.operation !== \"eth_newFilter\") {\n throw error;\n }\n }\n // The backend does not support Filter ID; downgrade to\n // polling\n if (filterId == null) {\n this.#filterIdPromise = null;\n this.#provider._recoverSubscriber(this, this._recover(this.#provider));\n return;\n }\n const network = await this.#provider.getNetwork();\n if (!this.#network) {\n this.#network = network;\n }\n if (this.#network.chainId !== network.chainId) {\n throw new Error(\"chaid changed\");\n }\n if (this.#hault) {\n return;\n }\n const result = await this.#provider.send(\"eth_getFilterChanges\", [filterId]);\n await this._emitResults(this.#provider, result);\n }\n catch (error) {\n console.log(\"@TODO\", error);\n }\n this.#provider.once(\"block\", this.#poller);\n }\n #teardown() {\n const filterIdPromise = this.#filterIdPromise;\n if (filterIdPromise) {\n this.#filterIdPromise = null;\n filterIdPromise.then((filterId) => {\n this.#provider.send(\"eth_uninstallFilter\", [filterId]);\n });\n }\n }\n start() {\n if (this.#running) {\n return;\n }\n this.#running = true;\n this.#poll(-2);\n }\n stop() {\n if (!this.#running) {\n return;\n }\n this.#running = false;\n this.#hault = true;\n this.#teardown();\n this.#provider.off(\"block\", this.#poller);\n }\n pause(dropWhilePaused) {\n if (dropWhilePaused) {\n this.#teardown();\n }\n this.#provider.off(\"block\", this.#poller);\n }\n resume() { this.start(); }\n}\n/**\n * A **FilterIdSubscriber** for receiving contract events.\n *\n * @_docloc: api/providers/abstract-provider\n */\nexport class FilterIdEventSubscriber extends FilterIdSubscriber {\n #event;\n /**\n * Creates a new **FilterIdEventSubscriber** attached to %%provider%%\n * listening for %%filter%%.\n */\n constructor(provider, filter) {\n super(provider);\n this.#event = copy(filter);\n }\n _recover(provider) {\n return new PollingEventSubscriber(provider, this.#event);\n }\n async _subscribe(provider) {\n const filterId = await provider.send(\"eth_newFilter\", [this.#event]);\n return filterId;\n }\n async _emitResults(provider, results) {\n for (const result of results) {\n provider.emit(this.#event, provider._wrapLog(result, provider._network));\n }\n }\n}\n/**\n * A **FilterIdSubscriber** for receiving pending transactions events.\n *\n * @_docloc: api/providers/abstract-provider\n */\nexport class FilterIdPendingSubscriber extends FilterIdSubscriber {\n async _subscribe(provider) {\n return await provider.send(\"eth_newPendingTransactionFilter\", []);\n }\n async _emitResults(provider, results) {\n for (const result of results) {\n provider.emit(\"pending\", result);\n }\n }\n}\n//# sourceMappingURL=subscriber-filterid.js.map","/**\n * One of the most common ways to interact with the blockchain is\n * by a node running a JSON-RPC interface which can be connected to,\n * based on the transport, using:\n *\n * - HTTP or HTTPS - [[JsonRpcProvider]]\n * - WebSocket - [[WebSocketProvider]]\n * - IPC - [[IpcSocketProvider]]\n *\n * @_section: api/providers/jsonrpc:JSON-RPC Provider [about-jsonrpcProvider]\n */\n// @TODO:\n// - Add the batching API\n// https://playground.open-rpc.org/?schemaUrl=https://raw.githubusercontent.com/ethereum/eth1.0-apis/assembled-spec/openrpc.json&uiSchema%5BappBar%5D%5Bui:splitView%5D=true&uiSchema%5BappBar%5D%5Bui:input%5D=false&uiSchema%5BappBar%5D%5Bui:examplesDropdown%5D=false\nimport { AbiCoder } from \"../abi/index.js\";\nimport { getAddress, resolveAddress } from \"../address/index.js\";\nimport { TypedDataEncoder } from \"../hash/index.js\";\nimport { accessListify } from \"../transaction/index.js\";\nimport { defineProperties, getBigInt, hexlify, isHexString, toQuantity, toUtf8Bytes, isError, makeError, assert, assertArgument, FetchRequest, resolveProperties } from \"../utils/index.js\";\nimport { AbstractProvider, UnmanagedSubscriber } from \"./abstract-provider.js\";\nimport { AbstractSigner } from \"./abstract-signer.js\";\nimport { Network } from \"./network.js\";\nimport { FilterIdEventSubscriber, FilterIdPendingSubscriber } from \"./subscriber-filterid.js\";\nimport { PollingEventSubscriber } from \"./subscriber-polling.js\";\nconst Primitive = \"bigint,boolean,function,number,string,symbol\".split(/,/g);\n//const Methods = \"getAddress,then\".split(/,/g);\nfunction deepCopy(value) {\n if (value == null || Primitive.indexOf(typeof (value)) >= 0) {\n return value;\n }\n // Keep any Addressable\n if (typeof (value.getAddress) === \"function\") {\n return value;\n }\n if (Array.isArray(value)) {\n return (value.map(deepCopy));\n }\n if (typeof (value) === \"object\") {\n return Object.keys(value).reduce((accum, key) => {\n accum[key] = value[key];\n return accum;\n }, {});\n }\n throw new Error(`should not happen: ${value} (${typeof (value)})`);\n}\nfunction stall(duration) {\n return new Promise((resolve) => { setTimeout(resolve, duration); });\n}\nfunction getLowerCase(value) {\n if (value) {\n return value.toLowerCase();\n }\n return value;\n}\nfunction isPollable(value) {\n return (value && typeof (value.pollingInterval) === \"number\");\n}\nconst defaultOptions = {\n polling: false,\n staticNetwork: null,\n batchStallTime: 10,\n batchMaxSize: (1 << 20),\n batchMaxCount: 100,\n cacheTimeout: 250,\n pollingInterval: 4000\n};\n// @TODO: Unchecked Signers\nexport class JsonRpcSigner extends AbstractSigner {\n address;\n constructor(provider, address) {\n super(provider);\n address = getAddress(address);\n defineProperties(this, { address });\n }\n connect(provider) {\n assert(false, \"cannot reconnect JsonRpcSigner\", \"UNSUPPORTED_OPERATION\", {\n operation: \"signer.connect\"\n });\n }\n async getAddress() {\n return this.address;\n }\n // JSON-RPC will automatially fill in nonce, etc. so we just check from\n async populateTransaction(tx) {\n return await this.populateCall(tx);\n }\n // Returns just the hash of the transaction after sent, which is what\n // the bare JSON-RPC API does;\n async sendUncheckedTransaction(_tx) {\n const tx = deepCopy(_tx);\n const promises = [];\n // Make sure the from matches the sender\n if (tx.from) {\n const _from = tx.from;\n promises.push((async () => {\n const from = await resolveAddress(_from, this.provider);\n assertArgument(from != null && from.toLowerCase() === this.address.toLowerCase(), \"from address mismatch\", \"transaction\", _tx);\n tx.from = from;\n })());\n }\n else {\n tx.from = this.address;\n }\n // The JSON-RPC for eth_sendTransaction uses 90000 gas; if the user\n // wishes to use this, it is easy to specify explicitly, otherwise\n // we look it up for them.\n if (tx.gasLimit == null) {\n promises.push((async () => {\n tx.gasLimit = await this.provider.estimateGas({ ...tx, from: this.address });\n })());\n }\n // The address may be an ENS name or Addressable\n if (tx.to != null) {\n const _to = tx.to;\n promises.push((async () => {\n tx.to = await resolveAddress(_to, this.provider);\n })());\n }\n // Wait until all of our properties are filled in\n if (promises.length) {\n await Promise.all(promises);\n }\n const hexTx = this.provider.getRpcTransaction(tx);\n return this.provider.send(\"eth_sendTransaction\", [hexTx]);\n }\n async sendTransaction(tx) {\n // This cannot be mined any earlier than any recent block\n const blockNumber = await this.provider.getBlockNumber();\n // Send the transaction\n const hash = await this.sendUncheckedTransaction(tx);\n // Unfortunately, JSON-RPC only provides and opaque transaction hash\n // for a response, and we need the actual transaction, so we poll\n // for it; it should show up very quickly\n return await (new Promise((resolve, reject) => {\n const timeouts = [1000, 100];\n let invalids = 0;\n const checkTx = async () => {\n try {\n // Try getting the transaction\n const tx = await this.provider.getTransaction(hash);\n if (tx != null) {\n resolve(tx.replaceableTransaction(blockNumber));\n return;\n }\n }\n catch (error) {\n // If we were cancelled: stop polling.\n // If the data is bad: the node returns bad transactions\n // If the network changed: calling again will also fail\n // If unsupported: likely destroyed\n if (isError(error, \"CANCELLED\") || isError(error, \"BAD_DATA\") ||\n isError(error, \"NETWORK_ERROR\" || isError(error, \"UNSUPPORTED_OPERATION\"))) {\n if (error.info == null) {\n error.info = {};\n }\n error.info.sendTransactionHash = hash;\n reject(error);\n return;\n }\n // Stop-gap for misbehaving backends; see #4513\n if (isError(error, \"INVALID_ARGUMENT\")) {\n invalids++;\n if (error.info == null) {\n error.info = {};\n }\n error.info.sendTransactionHash = hash;\n if (invalids > 10) {\n reject(error);\n return;\n }\n }\n // Notify anyone that cares; but we will try again, since\n // it is likely an intermittent service error\n this.provider.emit(\"error\", makeError(\"failed to fetch transation after sending (will try again)\", \"UNKNOWN_ERROR\", { error }));\n }\n // Wait another 4 seconds\n this.provider._setTimeout(() => { checkTx(); }, timeouts.pop() || 4000);\n };\n checkTx();\n }));\n }\n async signTransaction(_tx) {\n const tx = deepCopy(_tx);\n // Make sure the from matches the sender\n if (tx.from) {\n const from = await resolveAddress(tx.from, this.provider);\n assertArgument(from != null && from.toLowerCase() === this.address.toLowerCase(), \"from address mismatch\", \"transaction\", _tx);\n tx.from = from;\n }\n else {\n tx.from = this.address;\n }\n const hexTx = this.provider.getRpcTransaction(tx);\n return await this.provider.send(\"eth_signTransaction\", [hexTx]);\n }\n async signMessage(_message) {\n const message = ((typeof (_message) === \"string\") ? toUtf8Bytes(_message) : _message);\n return await this.provider.send(\"personal_sign\", [\n hexlify(message), this.address.toLowerCase()\n ]);\n }\n async signTypedData(domain, types, _value) {\n const value = deepCopy(_value);\n // Populate any ENS names (in-place)\n const populated = await TypedDataEncoder.resolveNames(domain, types, value, async (value) => {\n const address = await resolveAddress(value);\n assertArgument(address != null, \"TypedData does not support null address\", \"value\", value);\n return address;\n });\n return await this.provider.send(\"eth_signTypedData_v4\", [\n this.address.toLowerCase(),\n JSON.stringify(TypedDataEncoder.getPayload(populated.domain, types, populated.value))\n ]);\n }\n async unlock(password) {\n return this.provider.send(\"personal_unlockAccount\", [\n this.address.toLowerCase(), password, null\n ]);\n }\n // https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_sign\n async _legacySignMessage(_message) {\n const message = ((typeof (_message) === \"string\") ? toUtf8Bytes(_message) : _message);\n return await this.provider.send(\"eth_sign\", [\n this.address.toLowerCase(), hexlify(message)\n ]);\n }\n}\n/**\n * The JsonRpcApiProvider is an abstract class and **MUST** be\n * sub-classed.\n *\n * It provides the base for all JSON-RPC-based Provider interaction.\n *\n * Sub-classing Notes:\n * - a sub-class MUST override _send\n * - a sub-class MUST call the `_start()` method once connected\n */\nexport class JsonRpcApiProvider extends AbstractProvider {\n #options;\n // The next ID to use for the JSON-RPC ID field\n #nextId;\n // Payloads are queued and triggered in batches using the drainTimer\n #payloads;\n #drainTimer;\n #notReady;\n #network;\n #pendingDetectNetwork;\n #scheduleDrain() {\n if (this.#drainTimer) {\n return;\n }\n // If we aren't using batching, no harm in sending it immediately\n const stallTime = (this._getOption(\"batchMaxCount\") === 1) ? 0 : this._getOption(\"batchStallTime\");\n this.#drainTimer = setTimeout(() => {\n this.#drainTimer = null;\n const payloads = this.#payloads;\n this.#payloads = [];\n while (payloads.length) {\n // Create payload batches that satisfy our batch constraints\n const batch = [(payloads.shift())];\n while (payloads.length) {\n if (batch.length === this.#options.batchMaxCount) {\n break;\n }\n batch.push((payloads.shift()));\n const bytes = JSON.stringify(batch.map((p) => p.payload));\n if (bytes.length > this.#options.batchMaxSize) {\n payloads.unshift((batch.pop()));\n break;\n }\n }\n // Process the result to each payload\n (async () => {\n const payload = ((batch.length === 1) ? batch[0].payload : batch.map((p) => p.payload));\n this.emit(\"debug\", { action: \"sendRpcPayload\", payload });\n try {\n const result = await this._send(payload);\n this.emit(\"debug\", { action: \"receiveRpcResult\", result });\n // Process results in batch order\n for (const { resolve, reject, payload } of batch) {\n if (this.destroyed) {\n reject(makeError(\"provider destroyed; cancelled request\", \"UNSUPPORTED_OPERATION\", { operation: payload.method }));\n continue;\n }\n // Find the matching result\n const resp = result.filter((r) => (r.id === payload.id))[0];\n // No result; the node failed us in unexpected ways\n if (resp == null) {\n const error = makeError(\"missing response for request\", \"BAD_DATA\", {\n value: result, info: { payload }\n });\n this.emit(\"error\", error);\n reject(error);\n continue;\n }\n // The response is an error\n if (\"error\" in resp) {\n reject(this.getRpcError(payload, resp));\n continue;\n }\n // All good; send the result\n resolve(resp.result);\n }\n }\n catch (error) {\n this.emit(\"debug\", { action: \"receiveRpcError\", error });\n for (const { reject } of batch) {\n // @TODO: augment the error with the payload\n reject(error);\n }\n }\n })();\n }\n }, stallTime);\n }\n constructor(network, options) {\n super(network, options);\n this.#nextId = 1;\n this.#options = Object.assign({}, defaultOptions, options || {});\n this.#payloads = [];\n this.#drainTimer = null;\n this.#network = null;\n this.#pendingDetectNetwork = null;\n {\n let resolve = null;\n const promise = new Promise((_resolve) => {\n resolve = _resolve;\n });\n this.#notReady = { promise, resolve };\n }\n const staticNetwork = this._getOption(\"staticNetwork\");\n if (typeof (staticNetwork) === \"boolean\") {\n assertArgument(!staticNetwork || network !== \"any\", \"staticNetwork cannot be used on special network 'any'\", \"options\", options);\n if (staticNetwork && network != null) {\n this.#network = Network.from(network);\n }\n }\n else if (staticNetwork) {\n // Make sure any static network is compatbile with the provided netwrok\n assertArgument(network == null || staticNetwork.matches(network), \"staticNetwork MUST match network object\", \"options\", options);\n this.#network = staticNetwork;\n }\n }\n /**\n * Returns the value associated with the option %%key%%.\n *\n * Sub-classes can use this to inquire about configuration options.\n */\n _getOption(key) {\n return this.#options[key];\n }\n /**\n * Gets the [[Network]] this provider has committed to. On each call, the network\n * is detected, and if it has changed, the call will reject.\n */\n get _network() {\n assert(this.#network, \"network is not available yet\", \"NETWORK_ERROR\");\n return this.#network;\n }\n /**\n * Resolves to the non-normalized value by performing %%req%%.\n *\n * Sub-classes may override this to modify behavior of actions,\n * and should generally call ``super._perform`` as a fallback.\n */\n async _perform(req) {\n // Legacy networks do not like the type field being passed along (which\n // is fair), so we delete type if it is 0 and a non-EIP-1559 network\n if (req.method === \"call\" || req.method === \"estimateGas\") {\n let tx = req.transaction;\n if (tx && tx.type != null && getBigInt(tx.type)) {\n // If there are no EIP-1559 properties, it might be non-EIP-a559\n if (tx.maxFeePerGas == null && tx.maxPriorityFeePerGas == null) {\n const feeData = await this.getFeeData();\n if (feeData.maxFeePerGas == null && feeData.maxPriorityFeePerGas == null) {\n // Network doesn't know about EIP-1559 (and hence type)\n req = Object.assign({}, req, {\n transaction: Object.assign({}, tx, { type: undefined })\n });\n }\n }\n }\n }\n const request = this.getRpcRequest(req);\n if (request != null) {\n return await this.send(request.method, request.args);\n }\n return super._perform(req);\n }\n /**\n * Sub-classes may override this; it detects the *actual* network that\n * we are **currently** connected to.\n *\n * Keep in mind that [[send]] may only be used once [[ready]], otherwise the\n * _send primitive must be used instead.\n */\n async _detectNetwork() {\n const network = this._getOption(\"staticNetwork\");\n if (network) {\n if (network === true) {\n if (this.#network) {\n return this.#network;\n }\n }\n else {\n return network;\n }\n }\n if (this.#pendingDetectNetwork) {\n return await this.#pendingDetectNetwork;\n }\n // If we are ready, use ``send``, which enabled requests to be batched\n if (this.ready) {\n this.#pendingDetectNetwork = (async () => {\n try {\n const result = Network.from(getBigInt(await this.send(\"eth_chainId\", [])));\n this.#pendingDetectNetwork = null;\n return result;\n }\n catch (error) {\n this.#pendingDetectNetwork = null;\n throw error;\n }\n })();\n return await this.#pendingDetectNetwork;\n }\n // We are not ready yet; use the primitive _send\n this.#pendingDetectNetwork = (async () => {\n const payload = {\n id: this.#nextId++, method: \"eth_chainId\", params: [], jsonrpc: \"2.0\"\n };\n this.emit(\"debug\", { action: \"sendRpcPayload\", payload });\n let result;\n try {\n result = (await this._send(payload))[0];\n this.#pendingDetectNetwork = null;\n }\n catch (error) {\n this.#pendingDetectNetwork = null;\n this.emit(\"debug\", { action: \"receiveRpcError\", error });\n throw error;\n }\n this.emit(\"debug\", { action: \"receiveRpcResult\", result });\n if (\"result\" in result) {\n return Network.from(getBigInt(result.result));\n }\n throw this.getRpcError(payload, result);\n })();\n return await this.#pendingDetectNetwork;\n }\n /**\n * Sub-classes **MUST** call this. Until [[_start]] has been called, no calls\n * will be passed to [[_send]] from [[send]]. If it is overridden, then\n * ``super._start()`` **MUST** be called.\n *\n * Calling it multiple times is safe and has no effect.\n */\n _start() {\n if (this.#notReady == null || this.#notReady.resolve == null) {\n return;\n }\n this.#notReady.resolve();\n this.#notReady = null;\n (async () => {\n // Bootstrap the network\n while (this.#network == null && !this.destroyed) {\n try {\n this.#network = await this._detectNetwork();\n }\n catch (error) {\n if (this.destroyed) {\n break;\n }\n console.log(\"JsonRpcProvider failed to detect network and cannot start up; retry in 1s (perhaps the URL is wrong or the node is not started)\");\n this.emit(\"error\", makeError(\"failed to bootstrap network detection\", \"NETWORK_ERROR\", { event: \"initial-network-discovery\", info: { error } }));\n await stall(1000);\n }\n }\n // Start dispatching requests\n this.#scheduleDrain();\n })();\n }\n /**\n * Resolves once the [[_start]] has been called. This can be used in\n * sub-classes to defer sending data until the connection has been\n * established.\n */\n async _waitUntilReady() {\n if (this.#notReady == null) {\n return;\n }\n return await this.#notReady.promise;\n }\n /**\n * Return a Subscriber that will manage the %%sub%%.\n *\n * Sub-classes may override this to modify the behavior of\n * subscription management.\n */\n _getSubscriber(sub) {\n // Pending Filters aren't availble via polling\n if (sub.type === \"pending\") {\n return new FilterIdPendingSubscriber(this);\n }\n if (sub.type === \"event\") {\n if (this._getOption(\"polling\")) {\n return new PollingEventSubscriber(this, sub.filter);\n }\n return new FilterIdEventSubscriber(this, sub.filter);\n }\n // Orphaned Logs are handled automatically, by the filter, since\n // logs with removed are emitted by it\n if (sub.type === \"orphan\" && sub.filter.orphan === \"drop-log\") {\n return new UnmanagedSubscriber(\"orphan\");\n }\n return super._getSubscriber(sub);\n }\n /**\n * Returns true only if the [[_start]] has been called.\n */\n get ready() { return this.#notReady == null; }\n /**\n * Returns %%tx%% as a normalized JSON-RPC transaction request,\n * which has all values hexlified and any numeric values converted\n * to Quantity values.\n */\n getRpcTransaction(tx) {\n const result = {};\n // JSON-RPC now requires numeric values to be \"quantity\" values\n [\"chainId\", \"gasLimit\", \"gasPrice\", \"type\", \"maxFeePerGas\", \"maxPriorityFeePerGas\", \"nonce\", \"value\"].forEach((key) => {\n if (tx[key] == null) {\n return;\n }\n let dstKey = key;\n if (key === \"gasLimit\") {\n dstKey = \"gas\";\n }\n result[dstKey] = toQuantity(getBigInt(tx[key], `tx.${key}`));\n });\n // Make sure addresses and data are lowercase\n [\"from\", \"to\", \"data\"].forEach((key) => {\n if (tx[key] == null) {\n return;\n }\n result[key] = hexlify(tx[key]);\n });\n // Normalize the access list object\n if (tx.accessList) {\n result[\"accessList\"] = accessListify(tx.accessList);\n }\n return result;\n }\n /**\n * Returns the request method and arguments required to perform\n * %%req%%.\n */\n getRpcRequest(req) {\n switch (req.method) {\n case \"chainId\":\n return { method: \"eth_chainId\", args: [] };\n case \"getBlockNumber\":\n return { method: \"eth_blockNumber\", args: [] };\n case \"getGasPrice\":\n return { method: \"eth_gasPrice\", args: [] };\n case \"getPriorityFee\":\n return { method: \"eth_maxPriorityFeePerGas\", args: [] };\n case \"getBalance\":\n return {\n method: \"eth_getBalance\",\n args: [getLowerCase(req.address), req.blockTag]\n };\n case \"getTransactionCount\":\n return {\n method: \"eth_getTransactionCount\",\n args: [getLowerCase(req.address), req.blockTag]\n };\n case \"getCode\":\n return {\n method: \"eth_getCode\",\n args: [getLowerCase(req.address), req.blockTag]\n };\n case \"getStorage\":\n return {\n method: \"eth_getStorageAt\",\n args: [\n getLowerCase(req.address),\n (\"0x\" + req.position.toString(16)),\n req.blockTag\n ]\n };\n case \"broadcastTransaction\":\n return {\n method: \"eth_sendRawTransaction\",\n args: [req.signedTransaction]\n };\n case \"getBlock\":\n if (\"blockTag\" in req) {\n return {\n method: \"eth_getBlockByNumber\",\n args: [req.blockTag, !!req.includeTransactions]\n };\n }\n else if (\"blockHash\" in req) {\n return {\n method: \"eth_getBlockByHash\",\n args: [req.blockHash, !!req.includeTransactions]\n };\n }\n break;\n case \"getTransaction\":\n return {\n method: \"eth_getTransactionByHash\",\n args: [req.hash]\n };\n case \"getTransactionReceipt\":\n return {\n method: \"eth_getTransactionReceipt\",\n args: [req.hash]\n };\n case \"call\":\n return {\n method: \"eth_call\",\n args: [this.getRpcTransaction(req.transaction), req.blockTag]\n };\n case \"estimateGas\": {\n return {\n method: \"eth_estimateGas\",\n args: [this.getRpcTransaction(req.transaction)]\n };\n }\n case \"getLogs\":\n if (req.filter && req.filter.address != null) {\n if (Array.isArray(req.filter.address)) {\n req.filter.address = req.filter.address.map(getLowerCase);\n }\n else {\n req.filter.address = getLowerCase(req.filter.address);\n }\n }\n return { method: \"eth_getLogs\", args: [req.filter] };\n }\n return null;\n }\n /**\n * Returns an ethers-style Error for the given JSON-RPC error\n * %%payload%%, coalescing the various strings and error shapes\n * that different nodes return, coercing them into a machine-readable\n * standardized error.\n */\n getRpcError(payload, _error) {\n const { method } = payload;\n const { error } = _error;\n if (method === \"eth_estimateGas\" && error.message) {\n const msg = error.message;\n if (!msg.match(/revert/i) && msg.match(/insufficient funds/i)) {\n return makeError(\"insufficient funds\", \"INSUFFICIENT_FUNDS\", {\n transaction: (payload.params[0]),\n info: { payload, error }\n });\n }\n }\n if (method === \"eth_call\" || method === \"eth_estimateGas\") {\n const result = spelunkData(error);\n const e = AbiCoder.getBuiltinCallException((method === \"eth_call\") ? \"call\" : \"estimateGas\", (payload.params[0]), (result ? result.data : null));\n e.info = { error, payload };\n return e;\n }\n // Only estimateGas and call can return arbitrary contract-defined text, so now we\n // we can process text safely.\n const message = JSON.stringify(spelunkMessage(error));\n if (typeof (error.message) === \"string\" && error.message.match(/user denied|ethers-user-denied/i)) {\n const actionMap = {\n eth_sign: \"signMessage\",\n personal_sign: \"signMessage\",\n eth_signTypedData_v4: \"signTypedData\",\n eth_signTransaction: \"signTransaction\",\n eth_sendTransaction: \"sendTransaction\",\n eth_requestAccounts: \"requestAccess\",\n wallet_requestAccounts: \"requestAccess\",\n };\n return makeError(`user rejected action`, \"ACTION_REJECTED\", {\n action: (actionMap[method] || \"unknown\"),\n reason: \"rejected\",\n info: { payload, error }\n });\n }\n if (method === \"eth_sendRawTransaction\" || method === \"eth_sendTransaction\") {\n const transaction = (payload.params[0]);\n if (message.match(/insufficient funds|base fee exceeds gas limit/i)) {\n return makeError(\"insufficient funds for intrinsic transaction cost\", \"INSUFFICIENT_FUNDS\", {\n transaction, info: { error }\n });\n }\n if (message.match(/nonce/i) && message.match(/too low/i)) {\n return makeError(\"nonce has already been used\", \"NONCE_EXPIRED\", { transaction, info: { error } });\n }\n // \"replacement transaction underpriced\"\n if (message.match(/replacement transaction/i) && message.match(/underpriced/i)) {\n return makeError(\"replacement fee too low\", \"REPLACEMENT_UNDERPRICED\", { transaction, info: { error } });\n }\n if (message.match(/only replay-protected/i)) {\n return makeError(\"legacy pre-eip-155 transactions not supported\", \"UNSUPPORTED_OPERATION\", {\n operation: method, info: { transaction, info: { error } }\n });\n }\n }\n let unsupported = !!message.match(/the method .* does not exist/i);\n if (!unsupported) {\n if (error && error.details && error.details.startsWith(\"Unauthorized method:\")) {\n unsupported = true;\n }\n }\n if (unsupported) {\n return makeError(\"unsupported operation\", \"UNSUPPORTED_OPERATION\", {\n operation: payload.method, info: { error, payload }\n });\n }\n return makeError(\"could not coalesce error\", \"UNKNOWN_ERROR\", { error, payload });\n }\n /**\n * Requests the %%method%% with %%params%% via the JSON-RPC protocol\n * over the underlying channel. This can be used to call methods\n * on the backend that do not have a high-level API within the Provider\n * API.\n *\n * This method queues requests according to the batch constraints\n * in the options, assigns the request a unique ID.\n *\n * **Do NOT override** this method in sub-classes; instead\n * override [[_send]] or force the options values in the\n * call to the constructor to modify this method's behavior.\n */\n send(method, params) {\n // @TODO: cache chainId?? purge on switch_networks\n // We have been destroyed; no operations are supported anymore\n if (this.destroyed) {\n return Promise.reject(makeError(\"provider destroyed; cancelled request\", \"UNSUPPORTED_OPERATION\", { operation: method }));\n }\n const id = this.#nextId++;\n const promise = new Promise((resolve, reject) => {\n this.#payloads.push({\n resolve, reject,\n payload: { method, params, id, jsonrpc: \"2.0\" }\n });\n });\n // If there is not a pending drainTimer, set one\n this.#scheduleDrain();\n return promise;\n }\n /**\n * Resolves to the [[Signer]] account for %%address%% managed by\n * the client.\n *\n * If the %%address%% is a number, it is used as an index in the\n * the accounts from [[listAccounts]].\n *\n * This can only be used on clients which manage accounts (such as\n * Geth with imported account or MetaMask).\n *\n * Throws if the account doesn't exist.\n */\n async getSigner(address) {\n if (address == null) {\n address = 0;\n }\n const accountsPromise = this.send(\"eth_accounts\", []);\n // Account index\n if (typeof (address) === \"number\") {\n const accounts = (await accountsPromise);\n if (address >= accounts.length) {\n throw new Error(\"no such account\");\n }\n return new JsonRpcSigner(this, accounts[address]);\n }\n const { accounts } = await resolveProperties({\n network: this.getNetwork(),\n accounts: accountsPromise\n });\n // Account address\n address = getAddress(address);\n for (const account of accounts) {\n if (getAddress(account) === address) {\n return new JsonRpcSigner(this, address);\n }\n }\n throw new Error(\"invalid account\");\n }\n async listAccounts() {\n const accounts = await this.send(\"eth_accounts\", []);\n return accounts.map((a) => new JsonRpcSigner(this, a));\n }\n destroy() {\n // Stop processing requests\n if (this.#drainTimer) {\n clearTimeout(this.#drainTimer);\n this.#drainTimer = null;\n }\n // Cancel all pending requests\n for (const { payload, reject } of this.#payloads) {\n reject(makeError(\"provider destroyed; cancelled request\", \"UNSUPPORTED_OPERATION\", { operation: payload.method }));\n }\n this.#payloads = [];\n // Parent clean-up\n super.destroy();\n }\n}\n// @TODO: remove this in v7, it is not exported because this functionality\n// is exposed in the JsonRpcApiProvider by setting polling to true. It should\n// be safe to remove regardless, because it isn't reachable, but just in case.\n/**\n * @_ignore:\n */\nexport class JsonRpcApiPollingProvider extends JsonRpcApiProvider {\n #pollingInterval;\n constructor(network, options) {\n super(network, options);\n this.#pollingInterval = 4000;\n }\n _getSubscriber(sub) {\n const subscriber = super._getSubscriber(sub);\n if (isPollable(subscriber)) {\n subscriber.pollingInterval = this.#pollingInterval;\n }\n return subscriber;\n }\n /**\n * The polling interval (default: 4000 ms)\n */\n get pollingInterval() { return this.#pollingInterval; }\n set pollingInterval(value) {\n if (!Number.isInteger(value) || value < 0) {\n throw new Error(\"invalid interval\");\n }\n this.#pollingInterval = value;\n this._forEachSubscriber((sub) => {\n if (isPollable(sub)) {\n sub.pollingInterval = this.#pollingInterval;\n }\n });\n }\n}\n/**\n * The JsonRpcProvider is one of the most common Providers,\n * which performs all operations over HTTP (or HTTPS) requests.\n *\n * Events are processed by polling the backend for the current block\n * number; when it advances, all block-base events are then checked\n * for updates.\n */\nexport class JsonRpcProvider extends JsonRpcApiPollingProvider {\n #connect;\n constructor(url, network, options) {\n if (url == null) {\n url = \"http:/\\/localhost:8545\";\n }\n super(network, options);\n if (typeof (url) === \"string\") {\n this.#connect = new FetchRequest(url);\n }\n else {\n this.#connect = url.clone();\n }\n }\n _getConnection() {\n return this.#connect.clone();\n }\n async send(method, params) {\n // All requests are over HTTP, so we can just start handling requests\n // We do this here rather than the constructor so that we don't send any\n // requests to the network (i.e. eth_chainId) until we absolutely have to.\n await this._start();\n return await super.send(method, params);\n }\n async _send(payload) {\n // Configure a POST connection for the requested method\n const request = this._getConnection();\n request.body = JSON.stringify(payload);\n request.setHeader(\"content-type\", \"application/json\");\n const response = await request.send();\n response.assertOk();\n let resp = response.bodyJson;\n if (!Array.isArray(resp)) {\n resp = [resp];\n }\n return resp;\n }\n}\nfunction spelunkData(value) {\n if (value == null) {\n return null;\n }\n // These *are* the droids we're looking for.\n if (typeof (value.message) === \"string\" && value.message.match(/revert/i) && isHexString(value.data)) {\n return { message: value.message, data: value.data };\n }\n // Spelunk further...\n if (typeof (value) === \"object\") {\n for (const key in value) {\n const result = spelunkData(value[key]);\n if (result) {\n return result;\n }\n }\n return null;\n }\n // Might be a JSON string we can further descend...\n if (typeof (value) === \"string\") {\n try {\n return spelunkData(JSON.parse(value));\n }\n catch (error) { }\n }\n return null;\n}\nfunction _spelunkMessage(value, result) {\n if (value == null) {\n return;\n }\n // These *are* the droids we're looking for.\n if (typeof (value.message) === \"string\") {\n result.push(value.message);\n }\n // Spelunk further...\n if (typeof (value) === \"object\") {\n for (const key in value) {\n _spelunkMessage(value[key], result);\n }\n }\n // Might be a JSON string we can further descend...\n if (typeof (value) === \"string\") {\n try {\n return _spelunkMessage(JSON.parse(value), result);\n }\n catch (error) { }\n }\n}\nfunction spelunkMessage(value) {\n const result = [];\n _spelunkMessage(value, result);\n return result;\n}\n//# sourceMappingURL=provider-jsonrpc.js.map","/**\n * [[link-ankr]] provides a third-party service for connecting to\n * various blockchains over JSON-RPC.\n *\n * **Supported Networks**\n *\n * - Ethereum Mainnet (``mainnet``)\n * - Goerli Testnet (``goerli``)\n * - Sepolia Testnet (``sepolia``)\n * - Arbitrum (``arbitrum``)\n * - Base (``base``)\n * - Base Goerlia Testnet (``base-goerli``)\n * - Base Sepolia Testnet (``base-sepolia``)\n * - BNB (``bnb``)\n * - BNB Testnet (``bnbt``)\n * - Optimism (``optimism``)\n * - Optimism Goerli Testnet (``optimism-goerli``)\n * - Optimism Sepolia Testnet (``optimism-sepolia``)\n * - Polygon (``matic``)\n * - Polygon Mumbai Testnet (``matic-mumbai``)\n *\n * @_subsection: api/providers/thirdparty:Ankr [providers-ankr]\n */\nimport { defineProperties, FetchRequest, assertArgument } from \"../utils/index.js\";\nimport { showThrottleMessage } from \"./community.js\";\nimport { Network } from \"./network.js\";\nimport { JsonRpcProvider } from \"./provider-jsonrpc.js\";\nconst defaultApiKey = \"9f7d929b018cdffb338517efa06f58359e86ff1ffd350bc889738523659e7972\";\nfunction getHost(name) {\n switch (name) {\n case \"mainnet\":\n return \"rpc.ankr.com/eth\";\n case \"goerli\":\n return \"rpc.ankr.com/eth_goerli\";\n case \"sepolia\":\n return \"rpc.ankr.com/eth_sepolia\";\n case \"arbitrum\":\n return \"rpc.ankr.com/arbitrum\";\n case \"base\":\n return \"rpc.ankr.com/base\";\n case \"base-goerli\":\n return \"rpc.ankr.com/base_goerli\";\n case \"base-sepolia\":\n return \"rpc.ankr.com/base_sepolia\";\n case \"bnb\":\n return \"rpc.ankr.com/bsc\";\n case \"bnbt\":\n return \"rpc.ankr.com/bsc_testnet_chapel\";\n case \"matic\":\n return \"rpc.ankr.com/polygon\";\n case \"matic-mumbai\":\n return \"rpc.ankr.com/polygon_mumbai\";\n case \"optimism\":\n return \"rpc.ankr.com/optimism\";\n case \"optimism-goerli\":\n return \"rpc.ankr.com/optimism_testnet\";\n case \"optimism-sepolia\":\n return \"rpc.ankr.com/optimism_sepolia\";\n }\n assertArgument(false, \"unsupported network\", \"network\", name);\n}\n/**\n * The **AnkrProvider** connects to the [[link-ankr]]\n * JSON-RPC end-points.\n *\n * By default, a highly-throttled API key is used, which is\n * appropriate for quick prototypes and simple scripts. To\n * gain access to an increased rate-limit, it is highly\n * recommended to [sign up here](link-ankr-signup).\n */\nexport class AnkrProvider extends JsonRpcProvider {\n /**\n * The API key for the Ankr connection.\n */\n apiKey;\n /**\n * Create a new **AnkrProvider**.\n *\n * By default connecting to ``mainnet`` with a highly throttled\n * API key.\n */\n constructor(_network, apiKey) {\n if (_network == null) {\n _network = \"mainnet\";\n }\n const network = Network.from(_network);\n if (apiKey == null) {\n apiKey = defaultApiKey;\n }\n // Ankr does not support filterId, so we force polling\n const options = { polling: true, staticNetwork: network };\n const request = AnkrProvider.getRequest(network, apiKey);\n super(request, network, options);\n defineProperties(this, { apiKey });\n }\n _getProvider(chainId) {\n try {\n return new AnkrProvider(chainId, this.apiKey);\n }\n catch (error) { }\n return super._getProvider(chainId);\n }\n /**\n * Returns a prepared request for connecting to %%network%% with\n * %%apiKey%%.\n */\n static getRequest(network, apiKey) {\n if (apiKey == null) {\n apiKey = defaultApiKey;\n }\n const request = new FetchRequest(`https:/\\/${getHost(network.name)}/${apiKey}`);\n request.allowGzip = true;\n if (apiKey === defaultApiKey) {\n request.retryFunc = async (request, response, attempt) => {\n showThrottleMessage(\"AnkrProvider\");\n return true;\n };\n }\n return request;\n }\n getRpcError(payload, error) {\n if (payload.method === \"eth_sendRawTransaction\") {\n if (error && error.error && error.error.message === \"INTERNAL_ERROR: could not replace existing tx\") {\n error.error.message = \"replacement transaction underpriced\";\n }\n }\n return super.getRpcError(payload, error);\n }\n isCommunityResource() {\n return (this.apiKey === defaultApiKey);\n }\n}\n//# sourceMappingURL=provider-ankr.js.map","/**\n * [[link-alchemy]] provides a third-party service for connecting to\n * various blockchains over JSON-RPC.\n *\n * **Supported Networks**\n *\n * - Ethereum Mainnet (``mainnet``)\n * - Goerli Testnet (``goerli``)\n * - Sepolia Testnet (``sepolia``)\n * - Arbitrum (``arbitrum``)\n * - Arbitrum Goerli Testnet (``arbitrum-goerli``)\n * - Arbitrum Sepolia Testnet (``arbitrum-sepolia``)\n * - Base (``base``)\n * - Base Goerlia Testnet (``base-goerli``)\n * - Base Sepolia Testnet (``base-sepolia``)\n * - Optimism (``optimism``)\n * - Optimism Goerli Testnet (``optimism-goerli``)\n * - Optimism Sepolia Testnet (``optimism-sepolia``)\n * - Polygon (``matic``)\n * - Polygon Mumbai Testnet (``matic-mumbai``)\n *\n * @_subsection: api/providers/thirdparty:Alchemy [providers-alchemy]\n */\nimport { defineProperties, resolveProperties, assert, assertArgument, FetchRequest } from \"../utils/index.js\";\nimport { showThrottleMessage } from \"./community.js\";\nimport { Network } from \"./network.js\";\nimport { JsonRpcProvider } from \"./provider-jsonrpc.js\";\nconst defaultApiKey = \"_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC\";\nfunction getHost(name) {\n switch (name) {\n case \"mainnet\":\n return \"eth-mainnet.alchemyapi.io\";\n case \"goerli\":\n return \"eth-goerli.g.alchemy.com\";\n case \"sepolia\":\n return \"eth-sepolia.g.alchemy.com\";\n case \"arbitrum\":\n return \"arb-mainnet.g.alchemy.com\";\n case \"arbitrum-goerli\":\n return \"arb-goerli.g.alchemy.com\";\n case \"arbitrum-sepolia\":\n return \"arb-sepolia.g.alchemy.com\";\n case \"base\":\n return \"base-mainnet.g.alchemy.com\";\n case \"base-goerli\":\n return \"base-goerli.g.alchemy.com\";\n case \"base-sepolia\":\n return \"base-sepolia.g.alchemy.com\";\n case \"matic\":\n return \"polygon-mainnet.g.alchemy.com\";\n case \"matic-mumbai\":\n return \"polygon-mumbai.g.alchemy.com\";\n case \"optimism\":\n return \"opt-mainnet.g.alchemy.com\";\n case \"optimism-goerli\":\n return \"opt-goerli.g.alchemy.com\";\n case \"optimism-sepolia\":\n return \"opt-sepolia.g.alchemy.com\";\n }\n assertArgument(false, \"unsupported network\", \"network\", name);\n}\n/**\n * The **AlchemyProvider** connects to the [[link-alchemy]]\n * JSON-RPC end-points.\n *\n * By default, a highly-throttled API key is used, which is\n * appropriate for quick prototypes and simple scripts. To\n * gain access to an increased rate-limit, it is highly\n * recommended to [sign up here](link-alchemy-signup).\n *\n * @_docloc: api/providers/thirdparty\n */\nexport class AlchemyProvider extends JsonRpcProvider {\n apiKey;\n constructor(_network, apiKey) {\n if (_network == null) {\n _network = \"mainnet\";\n }\n const network = Network.from(_network);\n if (apiKey == null) {\n apiKey = defaultApiKey;\n }\n const request = AlchemyProvider.getRequest(network, apiKey);\n super(request, network, { staticNetwork: network });\n defineProperties(this, { apiKey });\n }\n _getProvider(chainId) {\n try {\n return new AlchemyProvider(chainId, this.apiKey);\n }\n catch (error) { }\n return super._getProvider(chainId);\n }\n async _perform(req) {\n // https://docs.alchemy.com/reference/trace-transaction\n if (req.method === \"getTransactionResult\") {\n const { trace, tx } = await resolveProperties({\n trace: this.send(\"trace_transaction\", [req.hash]),\n tx: this.getTransaction(req.hash)\n });\n if (trace == null || tx == null) {\n return null;\n }\n let data;\n let error = false;\n try {\n data = trace[0].result.output;\n error = (trace[0].error === \"Reverted\");\n }\n catch (error) { }\n if (data) {\n assert(!error, \"an error occurred during transaction executions\", \"CALL_EXCEPTION\", {\n action: \"getTransactionResult\",\n data,\n reason: null,\n transaction: tx,\n invocation: null,\n revert: null // @TODO\n });\n return data;\n }\n assert(false, \"could not parse trace result\", \"BAD_DATA\", { value: trace });\n }\n return await super._perform(req);\n }\n isCommunityResource() {\n return (this.apiKey === defaultApiKey);\n }\n static getRequest(network, apiKey) {\n if (apiKey == null) {\n apiKey = defaultApiKey;\n }\n const request = new FetchRequest(`https:/\\/${getHost(network.name)}/v2/${apiKey}`);\n request.allowGzip = true;\n if (apiKey === defaultApiKey) {\n request.retryFunc = async (request, response, attempt) => {\n showThrottleMessage(\"alchemy\");\n return true;\n };\n }\n return request;\n }\n}\n//# sourceMappingURL=provider-alchemy.js.map","/**\n * About Cloudflare\n *\n * @_subsection: api/providers/thirdparty:Cloudflare [providers-cloudflare]\n */\nimport { assertArgument } from \"../utils/index.js\";\nimport { Network } from \"./network.js\";\nimport { JsonRpcProvider } from \"./provider-jsonrpc.js\";\n/**\n * About Cloudflare...\n */\nexport class CloudflareProvider extends JsonRpcProvider {\n constructor(_network) {\n if (_network == null) {\n _network = \"mainnet\";\n }\n const network = Network.from(_network);\n assertArgument(network.name === \"mainnet\", \"unsupported network\", \"network\", _network);\n super(\"https:/\\/cloudflare-eth.com/\", network, { staticNetwork: network });\n }\n}\n//# sourceMappingURL=provider-cloudflare.js.map","/**\n * [[link-etherscan]] provides a third-party service for connecting to\n * various blockchains over a combination of JSON-RPC and custom API\n * endpoints.\n *\n * **Supported Networks**\n *\n * - Ethereum Mainnet (``mainnet``)\n * - Goerli Testnet (``goerli``)\n * - Sepolia Testnet (``sepolia``)\n * - Sepolia Testnet (``holesky``)\n * - Arbitrum (``arbitrum``)\n * - Arbitrum Goerli Testnet (``arbitrum-goerli``)\n * - BNB Smart Chain Mainnet (``bnb``)\n * - BNB Smart Chain Testnet (``bnbt``)\n * - Optimism (``optimism``)\n * - Optimism Goerli Testnet (``optimism-goerli``)\n * - Polygon (``matic``)\n * - Polygon Mumbai Testnet (``matic-mumbai``)\n *\n * @_subsection api/providers/thirdparty:Etherscan [providers-etherscan]\n */\nimport { AbiCoder } from \"../abi/index.js\";\nimport { Contract } from \"../contract/index.js\";\nimport { accessListify, Transaction } from \"../transaction/index.js\";\nimport { defineProperties, hexlify, toQuantity, FetchRequest, assert, assertArgument, isError, \n// parseUnits,\ntoUtf8String } from \"../utils/index.js\";\nimport { AbstractProvider } from \"./abstract-provider.js\";\nimport { Network } from \"./network.js\";\nimport { NetworkPlugin } from \"./plugins-network.js\";\nimport { showThrottleMessage } from \"./community.js\";\nconst THROTTLE = 2000;\nfunction isPromise(value) {\n return (value && typeof (value.then) === \"function\");\n}\nconst EtherscanPluginId = \"org.ethers.plugins.provider.Etherscan\";\n/**\n * A Network can include an **EtherscanPlugin** to provide\n * a custom base URL.\n *\n * @_docloc: api/providers/thirdparty:Etherscan\n */\nexport class EtherscanPlugin extends NetworkPlugin {\n /**\n * The Etherscan API base URL.\n */\n baseUrl;\n /**\n * Creates a new **EtherscanProvider** which will use\n * %%baseUrl%%.\n */\n constructor(baseUrl) {\n super(EtherscanPluginId);\n defineProperties(this, { baseUrl });\n }\n clone() {\n return new EtherscanPlugin(this.baseUrl);\n }\n}\nconst skipKeys = [\"enableCcipRead\"];\nlet nextId = 1;\n/**\n * The **EtherscanBaseProvider** is the super-class of\n * [[EtherscanProvider]], which should generally be used instead.\n *\n * Since the **EtherscanProvider** includes additional code for\n * [[Contract]] access, in //rare cases// that contracts are not\n * used, this class can reduce code size.\n *\n * @_docloc: api/providers/thirdparty:Etherscan\n */\nexport class EtherscanProvider extends AbstractProvider {\n /**\n * The connected network.\n */\n network;\n /**\n * The API key or null if using the community provided bandwidth.\n */\n apiKey;\n #plugin;\n /**\n * Creates a new **EtherscanBaseProvider**.\n */\n constructor(_network, _apiKey) {\n const apiKey = (_apiKey != null) ? _apiKey : null;\n super();\n const network = Network.from(_network);\n this.#plugin = network.getPlugin(EtherscanPluginId);\n defineProperties(this, { apiKey, network });\n // Test that the network is supported by Etherscan\n this.getBaseUrl();\n }\n /**\n * Returns the base URL.\n *\n * If an [[EtherscanPlugin]] is configured on the\n * [[EtherscanBaseProvider_network]], returns the plugin's\n * baseUrl.\n */\n getBaseUrl() {\n if (this.#plugin) {\n return this.#plugin.baseUrl;\n }\n switch (this.network.name) {\n case \"mainnet\":\n return \"https:/\\/api.etherscan.io\";\n case \"goerli\":\n return \"https:/\\/api-goerli.etherscan.io\";\n case \"sepolia\":\n return \"https:/\\/api-sepolia.etherscan.io\";\n case \"holesky\":\n return \"https:/\\/api-holesky.etherscan.io\";\n case \"arbitrum\":\n return \"https:/\\/api.arbiscan.io\";\n case \"arbitrum-goerli\":\n return \"https:/\\/api-goerli.arbiscan.io\";\n case \"bnb\":\n return \"https:/\\/api.bscscan.com\";\n case \"bnbt\":\n return \"https:/\\/api-testnet.bscscan.com\";\n case \"matic\":\n return \"https:/\\/api.polygonscan.com\";\n case \"matic-mumbai\":\n return \"https:/\\/api-testnet.polygonscan.com\";\n case \"optimism\":\n return \"https:/\\/api-optimistic.etherscan.io\";\n case \"optimism-goerli\":\n return \"https:/\\/api-goerli-optimistic.etherscan.io\";\n default:\n }\n assertArgument(false, \"unsupported network\", \"network\", this.network);\n }\n /**\n * Returns the URL for the %%module%% and %%params%%.\n */\n getUrl(module, params) {\n const query = Object.keys(params).reduce((accum, key) => {\n const value = params[key];\n if (value != null) {\n accum += `&${key}=${value}`;\n }\n return accum;\n }, \"\");\n const apiKey = ((this.apiKey) ? `&apikey=${this.apiKey}` : \"\");\n return `${this.getBaseUrl()}/api?module=${module}${query}${apiKey}`;\n }\n /**\n * Returns the URL for using POST requests.\n */\n getPostUrl() {\n return `${this.getBaseUrl()}/api`;\n }\n /**\n * Returns the parameters for using POST requests.\n */\n getPostData(module, params) {\n params.module = module;\n params.apikey = this.apiKey;\n return params;\n }\n async detectNetwork() {\n return this.network;\n }\n /**\n * Resolves to the result of calling %%module%% with %%params%%.\n *\n * If %%post%%, the request is made as a POST request.\n */\n async fetch(module, params, post) {\n const id = nextId++;\n const url = (post ? this.getPostUrl() : this.getUrl(module, params));\n const payload = (post ? this.getPostData(module, params) : null);\n this.emit(\"debug\", { action: \"sendRequest\", id, url, payload: payload });\n const request = new FetchRequest(url);\n request.setThrottleParams({ slotInterval: 1000 });\n request.retryFunc = (req, resp, attempt) => {\n if (this.isCommunityResource()) {\n showThrottleMessage(\"Etherscan\");\n }\n return Promise.resolve(true);\n };\n request.processFunc = async (request, response) => {\n const result = response.hasBody() ? JSON.parse(toUtf8String(response.body)) : {};\n const throttle = ((typeof (result.result) === \"string\") ? result.result : \"\").toLowerCase().indexOf(\"rate limit\") >= 0;\n if (module === \"proxy\") {\n // This JSON response indicates we are being throttled\n if (result && result.status == 0 && result.message == \"NOTOK\" && throttle) {\n this.emit(\"debug\", { action: \"receiveError\", id, reason: \"proxy-NOTOK\", error: result });\n response.throwThrottleError(result.result, THROTTLE);\n }\n }\n else {\n if (throttle) {\n this.emit(\"debug\", { action: \"receiveError\", id, reason: \"null result\", error: result.result });\n response.throwThrottleError(result.result, THROTTLE);\n }\n }\n return response;\n };\n if (payload) {\n request.setHeader(\"content-type\", \"application/x-www-form-urlencoded; charset=UTF-8\");\n request.body = Object.keys(payload).map((k) => `${k}=${payload[k]}`).join(\"&\");\n }\n const response = await request.send();\n try {\n response.assertOk();\n }\n catch (error) {\n this.emit(\"debug\", { action: \"receiveError\", id, error, reason: \"assertOk\" });\n assert(false, \"response error\", \"SERVER_ERROR\", { request, response });\n }\n if (!response.hasBody()) {\n this.emit(\"debug\", { action: \"receiveError\", id, error: \"missing body\", reason: \"null body\" });\n assert(false, \"missing response\", \"SERVER_ERROR\", { request, response });\n }\n const result = JSON.parse(toUtf8String(response.body));\n if (module === \"proxy\") {\n if (result.jsonrpc != \"2.0\") {\n this.emit(\"debug\", { action: \"receiveError\", id, result, reason: \"invalid JSON-RPC\" });\n assert(false, \"invalid JSON-RPC response (missing jsonrpc='2.0')\", \"SERVER_ERROR\", { request, response, info: { result } });\n }\n if (result.error) {\n this.emit(\"debug\", { action: \"receiveError\", id, result, reason: \"JSON-RPC error\" });\n assert(false, \"error response\", \"SERVER_ERROR\", { request, response, info: { result } });\n }\n this.emit(\"debug\", { action: \"receiveRequest\", id, result });\n return result.result;\n }\n else {\n // getLogs, getHistory have weird success responses\n if (result.status == 0 && (result.message === \"No records found\" || result.message === \"No transactions found\")) {\n this.emit(\"debug\", { action: \"receiveRequest\", id, result });\n return result.result;\n }\n if (result.status != 1 || (typeof (result.message) === \"string\" && !result.message.match(/^OK/))) {\n this.emit(\"debug\", { action: \"receiveError\", id, result });\n assert(false, \"error response\", \"SERVER_ERROR\", { request, response, info: { result } });\n }\n this.emit(\"debug\", { action: \"receiveRequest\", id, result });\n return result.result;\n }\n }\n /**\n * Returns %%transaction%% normalized for the Etherscan API.\n */\n _getTransactionPostData(transaction) {\n const result = {};\n for (let key in transaction) {\n if (skipKeys.indexOf(key) >= 0) {\n continue;\n }\n if (transaction[key] == null) {\n continue;\n }\n let value = transaction[key];\n if (key === \"type\" && value === 0) {\n continue;\n }\n if (key === \"blockTag\" && value === \"latest\") {\n continue;\n }\n // Quantity-types require no leading zero, unless 0\n if ({ type: true, gasLimit: true, gasPrice: true, maxFeePerGs: true, maxPriorityFeePerGas: true, nonce: true, value: true }[key]) {\n value = toQuantity(value);\n }\n else if (key === \"accessList\") {\n value = \"[\" + accessListify(value).map((set) => {\n return `{address:\"${set.address}\",storageKeys:[\"${set.storageKeys.join('\",\"')}\"]}`;\n }).join(\",\") + \"]\";\n }\n else {\n value = hexlify(value);\n }\n result[key] = value;\n }\n return result;\n }\n /**\n * Throws the normalized Etherscan error.\n */\n _checkError(req, error, transaction) {\n // Pull any message out if, possible\n let message = \"\";\n if (isError(error, \"SERVER_ERROR\")) {\n // Check for an error emitted by a proxy call\n try {\n message = error.info.result.error.message;\n }\n catch (e) { }\n if (!message) {\n try {\n message = error.info.message;\n }\n catch (e) { }\n }\n }\n if (req.method === \"estimateGas\") {\n if (!message.match(/revert/i) && message.match(/insufficient funds/i)) {\n assert(false, \"insufficient funds\", \"INSUFFICIENT_FUNDS\", {\n transaction: req.transaction\n });\n }\n }\n if (req.method === \"call\" || req.method === \"estimateGas\") {\n if (message.match(/execution reverted/i)) {\n let data = \"\";\n try {\n data = error.info.result.error.data;\n }\n catch (error) { }\n const e = AbiCoder.getBuiltinCallException(req.method, req.transaction, data);\n e.info = { request: req, error };\n throw e;\n }\n }\n if (message) {\n if (req.method === \"broadcastTransaction\") {\n const transaction = Transaction.from(req.signedTransaction);\n if (message.match(/replacement/i) && message.match(/underpriced/i)) {\n assert(false, \"replacement fee too low\", \"REPLACEMENT_UNDERPRICED\", {\n transaction\n });\n }\n if (message.match(/insufficient funds/)) {\n assert(false, \"insufficient funds for intrinsic transaction cost\", \"INSUFFICIENT_FUNDS\", {\n transaction\n });\n }\n if (message.match(/same hash was already imported|transaction nonce is too low|nonce too low/)) {\n assert(false, \"nonce has already been used\", \"NONCE_EXPIRED\", {\n transaction\n });\n }\n }\n }\n // Something we could not process\n throw error;\n }\n async _detectNetwork() {\n return this.network;\n }\n async _perform(req) {\n switch (req.method) {\n case \"chainId\":\n return this.network.chainId;\n case \"getBlockNumber\":\n return this.fetch(\"proxy\", { action: \"eth_blockNumber\" });\n case \"getGasPrice\":\n return this.fetch(\"proxy\", { action: \"eth_gasPrice\" });\n case \"getPriorityFee\":\n // This is temporary until Etherscan completes support\n if (this.network.name === \"mainnet\") {\n return \"1000000000\";\n }\n else if (this.network.name === \"optimism\") {\n return \"1000000\";\n }\n else {\n throw new Error(\"fallback onto the AbstractProvider default\");\n }\n /* Working with Etherscan to get this added:\n try {\n const test = await this.fetch(\"proxy\", {\n action: \"eth_maxPriorityFeePerGas\"\n });\n console.log(test);\n return test;\n } catch (e) {\n console.log(\"DEBUG\", e);\n throw e;\n }\n */\n /* This might be safe; but due to rounding neither myself\n or Etherscan are necessarily comfortable with this. :)\n try {\n const result = await this.fetch(\"gastracker\", { action: \"gasoracle\" });\n console.log(result);\n const gasPrice = parseUnits(result.SafeGasPrice, \"gwei\");\n const baseFee = parseUnits(result.suggestBaseFee, \"gwei\");\n const priorityFee = gasPrice - baseFee;\n if (priorityFee < 0) { throw new Error(\"negative priority fee; defer to abstract provider default\"); }\n return priorityFee;\n } catch (error) {\n console.log(\"DEBUG\", error);\n throw error;\n }\n */\n case \"getBalance\":\n // Returns base-10 result\n return this.fetch(\"account\", {\n action: \"balance\",\n address: req.address,\n tag: req.blockTag\n });\n case \"getTransactionCount\":\n return this.fetch(\"proxy\", {\n action: \"eth_getTransactionCount\",\n address: req.address,\n tag: req.blockTag\n });\n case \"getCode\":\n return this.fetch(\"proxy\", {\n action: \"eth_getCode\",\n address: req.address,\n tag: req.blockTag\n });\n case \"getStorage\":\n return this.fetch(\"proxy\", {\n action: \"eth_getStorageAt\",\n address: req.address,\n position: req.position,\n tag: req.blockTag\n });\n case \"broadcastTransaction\":\n return this.fetch(\"proxy\", {\n action: \"eth_sendRawTransaction\",\n hex: req.signedTransaction\n }, true).catch((error) => {\n return this._checkError(req, error, req.signedTransaction);\n });\n case \"getBlock\":\n if (\"blockTag\" in req) {\n return this.fetch(\"proxy\", {\n action: \"eth_getBlockByNumber\",\n tag: req.blockTag,\n boolean: (req.includeTransactions ? \"true\" : \"false\")\n });\n }\n assert(false, \"getBlock by blockHash not supported by Etherscan\", \"UNSUPPORTED_OPERATION\", {\n operation: \"getBlock(blockHash)\"\n });\n case \"getTransaction\":\n return this.fetch(\"proxy\", {\n action: \"eth_getTransactionByHash\",\n txhash: req.hash\n });\n case \"getTransactionReceipt\":\n return this.fetch(\"proxy\", {\n action: \"eth_getTransactionReceipt\",\n txhash: req.hash\n });\n case \"call\": {\n if (req.blockTag !== \"latest\") {\n throw new Error(\"EtherscanProvider does not support blockTag for call\");\n }\n const postData = this._getTransactionPostData(req.transaction);\n postData.module = \"proxy\";\n postData.action = \"eth_call\";\n try {\n return await this.fetch(\"proxy\", postData, true);\n }\n catch (error) {\n return this._checkError(req, error, req.transaction);\n }\n }\n case \"estimateGas\": {\n const postData = this._getTransactionPostData(req.transaction);\n postData.module = \"proxy\";\n postData.action = \"eth_estimateGas\";\n try {\n return await this.fetch(\"proxy\", postData, true);\n }\n catch (error) {\n return this._checkError(req, error, req.transaction);\n }\n }\n /*\n case \"getLogs\": {\n // Needs to complain if more than one address is passed in\n const args: Record = { action: \"getLogs\" }\n \n if (params.filter.fromBlock) {\n args.fromBlock = checkLogTag(params.filter.fromBlock);\n }\n \n if (params.filter.toBlock) {\n args.toBlock = checkLogTag(params.filter.toBlock);\n }\n \n if (params.filter.address) {\n args.address = params.filter.address;\n }\n \n // @TODO: We can handle slightly more complicated logs using the logs API\n if (params.filter.topics && params.filter.topics.length > 0) {\n if (params.filter.topics.length > 1) {\n logger.throwError(\"unsupported topic count\", Logger.Errors.UNSUPPORTED_OPERATION, { topics: params.filter.topics });\n }\n if (params.filter.topics.length === 1) {\n const topic0 = params.filter.topics[0];\n if (typeof(topic0) !== \"string\" || topic0.length !== 66) {\n logger.throwError(\"unsupported topic format\", Logger.Errors.UNSUPPORTED_OPERATION, { topic0: topic0 });\n }\n args.topic0 = topic0;\n }\n }\n \n const logs: Array = await this.fetch(\"logs\", args);\n \n // Cache txHash => blockHash\n let blocks: { [tag: string]: string } = {};\n \n // Add any missing blockHash to the logs\n for (let i = 0; i < logs.length; i++) {\n const log = logs[i];\n if (log.blockHash != null) { continue; }\n if (blocks[log.blockNumber] == null) {\n const block = await this.getBlock(log.blockNumber);\n if (block) {\n blocks[log.blockNumber] = block.hash;\n }\n }\n \n log.blockHash = blocks[log.blockNumber];\n }\n \n return logs;\n }\n */\n default:\n break;\n }\n return super._perform(req);\n }\n async getNetwork() {\n return this.network;\n }\n /**\n * Resolves to the current price of ether.\n *\n * This returns ``0`` on any network other than ``mainnet``.\n */\n async getEtherPrice() {\n if (this.network.name !== \"mainnet\") {\n return 0.0;\n }\n return parseFloat((await this.fetch(\"stats\", { action: \"ethprice\" })).ethusd);\n }\n /**\n * Resolves to a [Contract]] for %%address%%, using the\n * Etherscan API to retreive the Contract ABI.\n */\n async getContract(_address) {\n let address = this._getAddress(_address);\n if (isPromise(address)) {\n address = await address;\n }\n try {\n const resp = await this.fetch(\"contract\", {\n action: \"getabi\", address\n });\n const abi = JSON.parse(resp);\n return new Contract(address, abi, this);\n }\n catch (error) {\n return null;\n }\n }\n isCommunityResource() {\n return (this.apiKey == null);\n }\n}\n//# sourceMappingURL=provider-etherscan.js.map","function getGlobal() {\n if (typeof self !== 'undefined') {\n return self;\n }\n if (typeof window !== 'undefined') {\n return window;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n throw new Error('unable to locate global object');\n}\n;\nconst _WebSocket = getGlobal().WebSocket;\nexport { _WebSocket as WebSocket };\n//# sourceMappingURL=ws-browser.js.map","/**\n * Generic long-lived socket provider.\n *\n * Sub-classing notes\n * - a sub-class MUST call the `_start()` method once connected\n * - a sub-class MUST override the `_write(string)` method\n * - a sub-class MUST call `_processMessage(string)` for each message\n *\n * @_subsection: api/providers/abstract-provider:Socket Providers [about-socketProvider]\n */\nimport { UnmanagedSubscriber } from \"./abstract-provider.js\";\nimport { assert, assertArgument, makeError } from \"../utils/index.js\";\nimport { JsonRpcApiProvider } from \"./provider-jsonrpc.js\";\n/**\n * A **SocketSubscriber** uses a socket transport to handle events and\n * should use [[_emit]] to manage the events.\n */\nexport class SocketSubscriber {\n #provider;\n #filter;\n /**\n * The filter.\n */\n get filter() { return JSON.parse(this.#filter); }\n #filterId;\n #paused;\n #emitPromise;\n /**\n * Creates a new **SocketSubscriber** attached to %%provider%% listening\n * to %%filter%%.\n */\n constructor(provider, filter) {\n this.#provider = provider;\n this.#filter = JSON.stringify(filter);\n this.#filterId = null;\n this.#paused = null;\n this.#emitPromise = null;\n }\n start() {\n this.#filterId = this.#provider.send(\"eth_subscribe\", this.filter).then((filterId) => {\n ;\n this.#provider._register(filterId, this);\n return filterId;\n });\n }\n stop() {\n (this.#filterId).then((filterId) => {\n this.#provider.send(\"eth_unsubscribe\", [filterId]);\n });\n this.#filterId = null;\n }\n // @TODO: pause should trap the current blockNumber, unsub, and on resume use getLogs\n // and resume\n pause(dropWhilePaused) {\n assert(dropWhilePaused, \"preserve logs while paused not supported by SocketSubscriber yet\", \"UNSUPPORTED_OPERATION\", { operation: \"pause(false)\" });\n this.#paused = !!dropWhilePaused;\n }\n resume() {\n this.#paused = null;\n }\n /**\n * @_ignore:\n */\n _handleMessage(message) {\n if (this.#filterId == null) {\n return;\n }\n if (this.#paused === null) {\n let emitPromise = this.#emitPromise;\n if (emitPromise == null) {\n emitPromise = this._emit(this.#provider, message);\n }\n else {\n emitPromise = emitPromise.then(async () => {\n await this._emit(this.#provider, message);\n });\n }\n this.#emitPromise = emitPromise.then(() => {\n if (this.#emitPromise === emitPromise) {\n this.#emitPromise = null;\n }\n });\n }\n }\n /**\n * Sub-classes **must** override this to emit the events on the\n * provider.\n */\n async _emit(provider, message) {\n throw new Error(\"sub-classes must implemente this; _emit\");\n }\n}\n/**\n * A **SocketBlockSubscriber** listens for ``newHeads`` events and emits\n * ``\"block\"`` events.\n */\nexport class SocketBlockSubscriber extends SocketSubscriber {\n /**\n * @_ignore:\n */\n constructor(provider) {\n super(provider, [\"newHeads\"]);\n }\n async _emit(provider, message) {\n provider.emit(\"block\", parseInt(message.number));\n }\n}\n/**\n * A **SocketPendingSubscriber** listens for pending transacitons and emits\n * ``\"pending\"`` events.\n */\nexport class SocketPendingSubscriber extends SocketSubscriber {\n /**\n * @_ignore:\n */\n constructor(provider) {\n super(provider, [\"newPendingTransactions\"]);\n }\n async _emit(provider, message) {\n provider.emit(\"pending\", message);\n }\n}\n/**\n * A **SocketEventSubscriber** listens for event logs.\n */\nexport class SocketEventSubscriber extends SocketSubscriber {\n #logFilter;\n /**\n * The filter.\n */\n get logFilter() { return JSON.parse(this.#logFilter); }\n /**\n * @_ignore:\n */\n constructor(provider, filter) {\n super(provider, [\"logs\", filter]);\n this.#logFilter = JSON.stringify(filter);\n }\n async _emit(provider, message) {\n provider.emit(this.logFilter, provider._wrapLog(message, provider._network));\n }\n}\n/**\n * A **SocketProvider** is backed by a long-lived connection over a\n * socket, which can subscribe and receive real-time messages over\n * its communication channel.\n */\nexport class SocketProvider extends JsonRpcApiProvider {\n #callbacks;\n // Maps each filterId to its subscriber\n #subs;\n // If any events come in before a subscriber has finished\n // registering, queue them\n #pending;\n /**\n * Creates a new **SocketProvider** connected to %%network%%.\n *\n * If unspecified, the network will be discovered.\n */\n constructor(network, _options) {\n // Copy the options\n const options = Object.assign({}, (_options != null) ? _options : {});\n // Support for batches is generally not supported for\n // connection-base providers; if this changes in the future\n // the _send should be updated to reflect this\n assertArgument(options.batchMaxCount == null || options.batchMaxCount === 1, \"sockets-based providers do not support batches\", \"options.batchMaxCount\", _options);\n options.batchMaxCount = 1;\n // Socket-based Providers (generally) cannot change their network,\n // since they have a long-lived connection; but let people override\n // this if they have just cause.\n if (options.staticNetwork == null) {\n options.staticNetwork = true;\n }\n super(network, options);\n this.#callbacks = new Map();\n this.#subs = new Map();\n this.#pending = new Map();\n }\n // This value is only valid after _start has been called\n /*\n get _network(): Network {\n if (this.#network == null) {\n throw new Error(\"this shouldn't happen\");\n }\n return this.#network.clone();\n }\n */\n _getSubscriber(sub) {\n switch (sub.type) {\n case \"close\":\n return new UnmanagedSubscriber(\"close\");\n case \"block\":\n return new SocketBlockSubscriber(this);\n case \"pending\":\n return new SocketPendingSubscriber(this);\n case \"event\":\n return new SocketEventSubscriber(this, sub.filter);\n case \"orphan\":\n // Handled auto-matically within AbstractProvider\n // when the log.removed = true\n if (sub.filter.orphan === \"drop-log\") {\n return new UnmanagedSubscriber(\"drop-log\");\n }\n }\n return super._getSubscriber(sub);\n }\n /**\n * Register a new subscriber. This is used internalled by Subscribers\n * and generally is unecessary unless extending capabilities.\n */\n _register(filterId, subscriber) {\n this.#subs.set(filterId, subscriber);\n const pending = this.#pending.get(filterId);\n if (pending) {\n for (const message of pending) {\n subscriber._handleMessage(message);\n }\n this.#pending.delete(filterId);\n }\n }\n async _send(payload) {\n // WebSocket provider doesn't accept batches\n assertArgument(!Array.isArray(payload), \"WebSocket does not support batch send\", \"payload\", payload);\n // @TODO: stringify payloads here and store to prevent mutations\n // Prepare a promise to respond to\n const promise = new Promise((resolve, reject) => {\n this.#callbacks.set(payload.id, { payload, resolve, reject });\n });\n // Wait until the socket is connected before writing to it\n await this._waitUntilReady();\n // Write the request to the socket\n await this._write(JSON.stringify(payload));\n return [await promise];\n }\n // Sub-classes must call this once they are connected\n /*\n async _start(): Promise {\n if (this.#ready) { return; }\n\n for (const { payload } of this.#callbacks.values()) {\n await this._write(JSON.stringify(payload));\n }\n\n this.#ready = (async function() {\n await super._start();\n })();\n }\n */\n /**\n * Sub-classes **must** call this with messages received over their\n * transport to be processed and dispatched.\n */\n async _processMessage(message) {\n const result = (JSON.parse(message));\n if (result && typeof (result) === \"object\" && \"id\" in result) {\n const callback = this.#callbacks.get(result.id);\n if (callback == null) {\n this.emit(\"error\", makeError(\"received result for unknown id\", \"UNKNOWN_ERROR\", {\n reasonCode: \"UNKNOWN_ID\",\n result\n }));\n return;\n }\n this.#callbacks.delete(result.id);\n callback.resolve(result);\n }\n else if (result && result.method === \"eth_subscription\") {\n const filterId = result.params.subscription;\n const subscriber = this.#subs.get(filterId);\n if (subscriber) {\n subscriber._handleMessage(result.params.result);\n }\n else {\n let pending = this.#pending.get(filterId);\n if (pending == null) {\n pending = [];\n this.#pending.set(filterId, pending);\n }\n pending.push(result.params.result);\n }\n }\n else {\n this.emit(\"error\", makeError(\"received unexpected message\", \"UNKNOWN_ERROR\", {\n reasonCode: \"UNEXPECTED_MESSAGE\",\n result\n }));\n return;\n }\n }\n /**\n * Sub-classes **must** override this to send %%message%% over their\n * transport.\n */\n async _write(message) {\n throw new Error(\"sub-classes must override this\");\n }\n}\n//# sourceMappingURL=provider-socket.js.map","import { WebSocket as _WebSocket } from \"./ws.js\"; /*-browser*/\nimport { SocketProvider } from \"./provider-socket.js\";\n/**\n * A JSON-RPC provider which is backed by a WebSocket.\n *\n * WebSockets are often preferred because they retain a live connection\n * to a server, which permits more instant access to events.\n *\n * However, this incurs higher server infrasturture costs, so additional\n * resources may be required to host your own WebSocket nodes and many\n * third-party services charge additional fees for WebSocket endpoints.\n */\nexport class WebSocketProvider extends SocketProvider {\n #connect;\n #websocket;\n get websocket() {\n if (this.#websocket == null) {\n throw new Error(\"websocket closed\");\n }\n return this.#websocket;\n }\n constructor(url, network, options) {\n super(network, options);\n if (typeof (url) === \"string\") {\n this.#connect = () => { return new _WebSocket(url); };\n this.#websocket = this.#connect();\n }\n else if (typeof (url) === \"function\") {\n this.#connect = url;\n this.#websocket = url();\n }\n else {\n this.#connect = null;\n this.#websocket = url;\n }\n this.websocket.onopen = async () => {\n try {\n await this._start();\n this.resume();\n }\n catch (error) {\n console.log(\"failed to start WebsocketProvider\", error);\n // @TODO: now what? Attempt reconnect?\n }\n };\n this.websocket.onmessage = (message) => {\n this._processMessage(message.data);\n };\n /*\n this.websocket.onclose = (event) => {\n // @TODO: What event.code should we reconnect on?\n const reconnect = false;\n if (reconnect) {\n this.pause(true);\n if (this.#connect) {\n this.#websocket = this.#connect();\n this.#websocket.onopen = ...\n // @TODO: this requires the super class to rebroadcast; move it there\n }\n this._reconnect();\n }\n };\n */\n }\n async _write(message) {\n this.websocket.send(message);\n }\n async destroy() {\n if (this.#websocket != null) {\n this.#websocket.close();\n this.#websocket = null;\n }\n super.destroy();\n }\n}\n//# sourceMappingURL=provider-websocket.js.map","/**\n * [[link-infura]] provides a third-party service for connecting to\n * various blockchains over JSON-RPC.\n *\n * **Supported Networks**\n *\n * - Ethereum Mainnet (``mainnet``)\n * - Goerli Testnet (``goerli``)\n * - Sepolia Testnet (``sepolia``)\n * - Arbitrum (``arbitrum``)\n * - Arbitrum Goerli Testnet (``arbitrum-goerli``)\n * - Arbitrum Sepolia Testnet (``arbitrum-sepolia``)\n * - Base (``base``)\n * - Base Goerlia Testnet (``base-goerli``)\n * - Base Sepolia Testnet (``base-sepolia``)\n * - BNB Smart Chain Mainnet (``bnb``)\n * - BNB Smart Chain Testnet (``bnbt``)\n * - Linea (``linea``)\n * - Linea Goerlia Testnet (``linea-goerli``)\n * - Optimism (``optimism``)\n * - Optimism Goerli Testnet (``optimism-goerli``)\n * - Optimism Sepolia Testnet (``optimism-sepolia``)\n * - Polygon (``matic``)\n * - Polygon Mumbai Testnet (``matic-mumbai``)\n *\n * @_subsection: api/providers/thirdparty:INFURA [providers-infura]\n */\nimport { defineProperties, FetchRequest, assert, assertArgument } from \"../utils/index.js\";\nimport { showThrottleMessage } from \"./community.js\";\nimport { Network } from \"./network.js\";\nimport { JsonRpcProvider } from \"./provider-jsonrpc.js\";\nimport { WebSocketProvider } from \"./provider-websocket.js\";\nconst defaultProjectId = \"84842078b09946638c03157f83405213\";\nfunction getHost(name) {\n switch (name) {\n case \"mainnet\":\n return \"mainnet.infura.io\";\n case \"goerli\":\n return \"goerli.infura.io\";\n case \"sepolia\":\n return \"sepolia.infura.io\";\n case \"arbitrum\":\n return \"arbitrum-mainnet.infura.io\";\n case \"arbitrum-goerli\":\n return \"arbitrum-goerli.infura.io\";\n case \"arbitrum-sepolia\":\n return \"arbitrum-sepolia.infura.io\";\n case \"base\":\n return \"base-mainnet.infura.io\";\n case \"base-goerlia\":\n return \"base-goerli.infura.io\";\n case \"base-sepolia\":\n return \"base-sepolia.infura.io\";\n case \"bnb\":\n return \"bnbsmartchain-mainnet.infura.io\";\n case \"bnbt\":\n return \"bnbsmartchain-testnet.infura.io\";\n case \"linea\":\n return \"linea-mainnet.infura.io\";\n case \"linea-goerli\":\n return \"linea-goerli.infura.io\";\n case \"matic\":\n return \"polygon-mainnet.infura.io\";\n case \"matic-mumbai\":\n return \"polygon-mumbai.infura.io\";\n case \"optimism\":\n return \"optimism-mainnet.infura.io\";\n case \"optimism-goerli\":\n return \"optimism-goerli.infura.io\";\n case \"optimism-sepolia\":\n return \"optimism-sepolia.infura.io\";\n }\n assertArgument(false, \"unsupported network\", \"network\", name);\n}\n/**\n * The **InfuraWebSocketProvider** connects to the [[link-infura]]\n * WebSocket end-points.\n *\n * By default, a highly-throttled API key is used, which is\n * appropriate for quick prototypes and simple scripts. To\n * gain access to an increased rate-limit, it is highly\n * recommended to [sign up here](link-infura-signup).\n */\nexport class InfuraWebSocketProvider extends WebSocketProvider {\n /**\n * The Project ID for the INFURA connection.\n */\n projectId;\n /**\n * The Project Secret.\n *\n * If null, no authenticated requests are made. This should not\n * be used outside of private contexts.\n */\n projectSecret;\n /**\n * Creates a new **InfuraWebSocketProvider**.\n */\n constructor(network, projectId) {\n const provider = new InfuraProvider(network, projectId);\n const req = provider._getConnection();\n assert(!req.credentials, \"INFURA WebSocket project secrets unsupported\", \"UNSUPPORTED_OPERATION\", { operation: \"InfuraProvider.getWebSocketProvider()\" });\n const url = req.url.replace(/^http/i, \"ws\").replace(\"/v3/\", \"/ws/v3/\");\n super(url, network);\n defineProperties(this, {\n projectId: provider.projectId,\n projectSecret: provider.projectSecret\n });\n }\n isCommunityResource() {\n return (this.projectId === defaultProjectId);\n }\n}\n/**\n * The **InfuraProvider** connects to the [[link-infura]]\n * JSON-RPC end-points.\n *\n * By default, a highly-throttled API key is used, which is\n * appropriate for quick prototypes and simple scripts. To\n * gain access to an increased rate-limit, it is highly\n * recommended to [sign up here](link-infura-signup).\n */\nexport class InfuraProvider extends JsonRpcProvider {\n /**\n * The Project ID for the INFURA connection.\n */\n projectId;\n /**\n * The Project Secret.\n *\n * If null, no authenticated requests are made. This should not\n * be used outside of private contexts.\n */\n projectSecret;\n /**\n * Creates a new **InfuraProvider**.\n */\n constructor(_network, projectId, projectSecret) {\n if (_network == null) {\n _network = \"mainnet\";\n }\n const network = Network.from(_network);\n if (projectId == null) {\n projectId = defaultProjectId;\n }\n if (projectSecret == null) {\n projectSecret = null;\n }\n const request = InfuraProvider.getRequest(network, projectId, projectSecret);\n super(request, network, { staticNetwork: network });\n defineProperties(this, { projectId, projectSecret });\n }\n _getProvider(chainId) {\n try {\n return new InfuraProvider(chainId, this.projectId, this.projectSecret);\n }\n catch (error) { }\n return super._getProvider(chainId);\n }\n isCommunityResource() {\n return (this.projectId === defaultProjectId);\n }\n /**\n * Creates a new **InfuraWebSocketProvider**.\n */\n static getWebSocketProvider(network, projectId) {\n return new InfuraWebSocketProvider(network, projectId);\n }\n /**\n * Returns a prepared request for connecting to %%network%%\n * with %%projectId%% and %%projectSecret%%.\n */\n static getRequest(network, projectId, projectSecret) {\n if (projectId == null) {\n projectId = defaultProjectId;\n }\n if (projectSecret == null) {\n projectSecret = null;\n }\n const request = new FetchRequest(`https:/\\/${getHost(network.name)}/v3/${projectId}`);\n request.allowGzip = true;\n if (projectSecret) {\n request.setCredentials(\"\", projectSecret);\n }\n if (projectId === defaultProjectId) {\n request.retryFunc = async (request, response, attempt) => {\n showThrottleMessage(\"InfuraProvider\");\n return true;\n };\n }\n return request;\n }\n}\n//# sourceMappingURL=provider-infura.js.map","/**\n * [[link-quicknode]] provides a third-party service for connecting to\n * various blockchains over JSON-RPC.\n *\n * **Supported Networks**\n *\n * - Ethereum Mainnet (``mainnet``)\n * - Goerli Testnet (``goerli``)\n * - Sepolia Testnet (``sepolia``)\n * - Holesky Testnet (``holesky``)\n * - Arbitrum (``arbitrum``)\n * - Arbitrum Goerli Testnet (``arbitrum-goerli``)\n * - Arbitrum Sepolia Testnet (``arbitrum-sepolia``)\n * - Base Mainnet (``base``);\n * - Base Goerli Testnet (``base-goerli``);\n * - Base Sepolia Testnet (``base-sepolia``);\n * - BNB Smart Chain Mainnet (``bnb``)\n * - BNB Smart Chain Testnet (``bnbt``)\n * - Optimism (``optimism``)\n * - Optimism Goerli Testnet (``optimism-goerli``)\n * - Optimism Sepolia Testnet (``optimism-sepolia``)\n * - Polygon (``matic``)\n * - Polygon Mumbai Testnet (``matic-mumbai``)\n *\n * @_subsection: api/providers/thirdparty:QuickNode [providers-quicknode]\n */\nimport { defineProperties, FetchRequest, assertArgument } from \"../utils/index.js\";\nimport { showThrottleMessage } from \"./community.js\";\nimport { Network } from \"./network.js\";\nimport { JsonRpcProvider } from \"./provider-jsonrpc.js\";\nconst defaultToken = \"919b412a057b5e9c9b6dce193c5a60242d6efadb\";\nfunction getHost(name) {\n switch (name) {\n case \"mainnet\":\n return \"ethers.quiknode.pro\";\n case \"goerli\":\n return \"ethers.ethereum-goerli.quiknode.pro\";\n case \"sepolia\":\n return \"ethers.ethereum-sepolia.quiknode.pro\";\n case \"holesky\":\n return \"ethers.ethereum-holesky.quiknode.pro\";\n case \"arbitrum\":\n return \"ethers.arbitrum-mainnet.quiknode.pro\";\n case \"arbitrum-goerli\":\n return \"ethers.arbitrum-goerli.quiknode.pro\";\n case \"arbitrum-sepolia\":\n return \"ethers.arbitrum-sepolia.quiknode.pro\";\n case \"base\":\n return \"ethers.base-mainnet.quiknode.pro\";\n case \"base-goerli\":\n return \"ethers.base-goerli.quiknode.pro\";\n case \"base-spolia\":\n return \"ethers.base-sepolia.quiknode.pro\";\n case \"bnb\":\n return \"ethers.bsc.quiknode.pro\";\n case \"bnbt\":\n return \"ethers.bsc-testnet.quiknode.pro\";\n case \"matic\":\n return \"ethers.matic.quiknode.pro\";\n case \"matic-mumbai\":\n return \"ethers.matic-testnet.quiknode.pro\";\n case \"optimism\":\n return \"ethers.optimism.quiknode.pro\";\n case \"optimism-goerli\":\n return \"ethers.optimism-goerli.quiknode.pro\";\n case \"optimism-sepolia\":\n return \"ethers.optimism-sepolia.quiknode.pro\";\n case \"xdai\":\n return \"ethers.xdai.quiknode.pro\";\n }\n assertArgument(false, \"unsupported network\", \"network\", name);\n}\n/*\n@TODO:\n These networks are not currently present in the Network\n default included networks. Research them and ensure they\n are EVM compatible and work with ethers\n\n http://ethers.matic-amoy.quiknode.pro\n\n http://ethers.avalanche-mainnet.quiknode.pro\n http://ethers.avalanche-testnet.quiknode.pro\n http://ethers.blast-sepolia.quiknode.pro\n http://ethers.celo-mainnet.quiknode.pro\n http://ethers.fantom.quiknode.pro\n http://ethers.imx-demo.quiknode.pro\n http://ethers.imx-mainnet.quiknode.pro\n http://ethers.imx-testnet.quiknode.pro\n http://ethers.near-mainnet.quiknode.pro\n http://ethers.near-testnet.quiknode.pro\n http://ethers.nova-mainnet.quiknode.pro\n http://ethers.scroll-mainnet.quiknode.pro\n http://ethers.scroll-testnet.quiknode.pro\n http://ethers.tron-mainnet.quiknode.pro\n http://ethers.zkevm-mainnet.quiknode.pro\n http://ethers.zkevm-testnet.quiknode.pro\n http://ethers.zksync-mainnet.quiknode.pro\n http://ethers.zksync-testnet.quiknode.pro\n*/\n/**\n * The **QuickNodeProvider** connects to the [[link-quicknode]]\n * JSON-RPC end-points.\n *\n * By default, a highly-throttled API token is used, which is\n * appropriate for quick prototypes and simple scripts. To\n * gain access to an increased rate-limit, it is highly\n * recommended to [sign up here](link-quicknode).\n */\nexport class QuickNodeProvider extends JsonRpcProvider {\n /**\n * The API token.\n */\n token;\n /**\n * Creates a new **QuickNodeProvider**.\n */\n constructor(_network, token) {\n if (_network == null) {\n _network = \"mainnet\";\n }\n const network = Network.from(_network);\n if (token == null) {\n token = defaultToken;\n }\n const request = QuickNodeProvider.getRequest(network, token);\n super(request, network, { staticNetwork: network });\n defineProperties(this, { token });\n }\n _getProvider(chainId) {\n try {\n return new QuickNodeProvider(chainId, this.token);\n }\n catch (error) { }\n return super._getProvider(chainId);\n }\n isCommunityResource() {\n return (this.token === defaultToken);\n }\n /**\n * Returns a new request prepared for %%network%% and the\n * %%token%%.\n */\n static getRequest(network, token) {\n if (token == null) {\n token = defaultToken;\n }\n const request = new FetchRequest(`https:/\\/${getHost(network.name)}/${token}`);\n request.allowGzip = true;\n //if (projectSecret) { request.setCredentials(\"\", projectSecret); }\n if (token === defaultToken) {\n request.retryFunc = async (request, response, attempt) => {\n showThrottleMessage(\"QuickNodeProvider\");\n return true;\n };\n }\n return request;\n }\n}\n//# sourceMappingURL=provider-quicknode.js.map","/**\n * A **FallbackProvider** provides resilience, security and performance\n * in a way that is customizable and configurable.\n *\n * @_section: api/providers/fallback-provider:Fallback Provider [about-fallback-provider]\n */\nimport { assert, assertArgument, getBigInt, getNumber, isError } from \"../utils/index.js\";\nimport { AbstractProvider } from \"./abstract-provider.js\";\nimport { Network } from \"./network.js\";\nconst BN_1 = BigInt(\"1\");\nconst BN_2 = BigInt(\"2\");\nfunction shuffle(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n const tmp = array[i];\n array[i] = array[j];\n array[j] = tmp;\n }\n}\nfunction stall(duration) {\n return new Promise((resolve) => { setTimeout(resolve, duration); });\n}\nfunction getTime() { return (new Date()).getTime(); }\nfunction stringify(value) {\n return JSON.stringify(value, (key, value) => {\n if (typeof (value) === \"bigint\") {\n return { type: \"bigint\", value: value.toString() };\n }\n return value;\n });\n}\n;\nconst defaultConfig = { stallTimeout: 400, priority: 1, weight: 1 };\nconst defaultState = {\n blockNumber: -2, requests: 0, lateResponses: 0, errorResponses: 0,\n outOfSync: -1, unsupportedEvents: 0, rollingDuration: 0, score: 0,\n _network: null, _updateNumber: null, _totalTime: 0,\n _lastFatalError: null, _lastFatalErrorTimestamp: 0\n};\nasync function waitForSync(config, blockNumber) {\n while (config.blockNumber < 0 || config.blockNumber < blockNumber) {\n if (!config._updateNumber) {\n config._updateNumber = (async () => {\n try {\n const blockNumber = await config.provider.getBlockNumber();\n if (blockNumber > config.blockNumber) {\n config.blockNumber = blockNumber;\n }\n }\n catch (error) {\n config.blockNumber = -2;\n config._lastFatalError = error;\n config._lastFatalErrorTimestamp = getTime();\n }\n config._updateNumber = null;\n })();\n }\n await config._updateNumber;\n config.outOfSync++;\n if (config._lastFatalError) {\n break;\n }\n }\n}\nfunction _normalize(value) {\n if (value == null) {\n return \"null\";\n }\n if (Array.isArray(value)) {\n return \"[\" + (value.map(_normalize)).join(\",\") + \"]\";\n }\n if (typeof (value) === \"object\" && typeof (value.toJSON) === \"function\") {\n return _normalize(value.toJSON());\n }\n switch (typeof (value)) {\n case \"boolean\":\n case \"symbol\":\n return value.toString();\n case \"bigint\":\n case \"number\":\n return BigInt(value).toString();\n case \"string\":\n return JSON.stringify(value);\n case \"object\": {\n const keys = Object.keys(value);\n keys.sort();\n return \"{\" + keys.map((k) => `${JSON.stringify(k)}:${_normalize(value[k])}`).join(\",\") + \"}\";\n }\n }\n console.log(\"Could not serialize\", value);\n throw new Error(\"Hmm...\");\n}\nfunction normalizeResult(value) {\n if (\"error\" in value) {\n const error = value.error;\n return { tag: _normalize(error), value: error };\n }\n const result = value.result;\n return { tag: _normalize(result), value: result };\n}\n// This strategy picks the highest weight result, as long as the weight is\n// equal to or greater than quorum\nfunction checkQuorum(quorum, results) {\n const tally = new Map();\n for (const { value, tag, weight } of results) {\n const t = tally.get(tag) || { value, weight: 0 };\n t.weight += weight;\n tally.set(tag, t);\n }\n let best = null;\n for (const r of tally.values()) {\n if (r.weight >= quorum && (!best || r.weight > best.weight)) {\n best = r;\n }\n }\n if (best) {\n return best.value;\n }\n return undefined;\n}\nfunction getMedian(quorum, results) {\n let resultWeight = 0;\n const errorMap = new Map();\n let bestError = null;\n const values = [];\n for (const { value, tag, weight } of results) {\n if (value instanceof Error) {\n const e = errorMap.get(tag) || { value, weight: 0 };\n e.weight += weight;\n errorMap.set(tag, e);\n if (bestError == null || e.weight > bestError.weight) {\n bestError = e;\n }\n }\n else {\n values.push(BigInt(value));\n resultWeight += weight;\n }\n }\n if (resultWeight < quorum) {\n // We have quorum for an error\n if (bestError && bestError.weight >= quorum) {\n return bestError.value;\n }\n // We do not have quorum for a result\n return undefined;\n }\n // Get the sorted values\n values.sort((a, b) => ((a < b) ? -1 : (b > a) ? 1 : 0));\n const mid = Math.floor(values.length / 2);\n // Odd-length; take the middle value\n if (values.length % 2) {\n return values[mid];\n }\n // Even length; take the ceiling of the mean of the center two values\n return (values[mid - 1] + values[mid] + BN_1) / BN_2;\n}\nfunction getAnyResult(quorum, results) {\n // If any value or error meets quorum, that is our preferred result\n const result = checkQuorum(quorum, results);\n if (result !== undefined) {\n return result;\n }\n // Otherwise, do we have any result?\n for (const r of results) {\n if (r.value) {\n return r.value;\n }\n }\n // Nope!\n return undefined;\n}\nfunction getFuzzyMode(quorum, results) {\n if (quorum === 1) {\n return getNumber(getMedian(quorum, results), \"%internal\");\n }\n const tally = new Map();\n const add = (result, weight) => {\n const t = tally.get(result) || { result, weight: 0 };\n t.weight += weight;\n tally.set(result, t);\n };\n for (const { weight, value } of results) {\n const r = getNumber(value);\n add(r - 1, weight);\n add(r, weight);\n add(r + 1, weight);\n }\n let bestWeight = 0;\n let bestResult = undefined;\n for (const { weight, result } of tally.values()) {\n // Use this result, if this result meets quorum and has either:\n // - a better weight\n // - or equal weight, but the result is larger\n if (weight >= quorum && (weight > bestWeight || (bestResult != null && weight === bestWeight && result > bestResult))) {\n bestWeight = weight;\n bestResult = result;\n }\n }\n return bestResult;\n}\n/**\n * A **FallbackProvider** manages several [[Providers]] providing\n * resilience by switching between slow or misbehaving nodes, security\n * by requiring multiple backends to aggree and performance by allowing\n * faster backends to respond earlier.\n *\n */\nexport class FallbackProvider extends AbstractProvider {\n /**\n * The number of backends that must agree on a value before it is\n * accpeted.\n */\n quorum;\n /**\n * @_ignore:\n */\n eventQuorum;\n /**\n * @_ignore:\n */\n eventWorkers;\n #configs;\n #height;\n #initialSyncPromise;\n /**\n * Creates a new **FallbackProvider** with %%providers%% connected to\n * %%network%%.\n *\n * If a [[Provider]] is included in %%providers%%, defaults are used\n * for the configuration.\n */\n constructor(providers, network, options) {\n super(network, options);\n this.#configs = providers.map((p) => {\n if (p instanceof AbstractProvider) {\n return Object.assign({ provider: p }, defaultConfig, defaultState);\n }\n else {\n return Object.assign({}, defaultConfig, p, defaultState);\n }\n });\n this.#height = -2;\n this.#initialSyncPromise = null;\n if (options && options.quorum != null) {\n this.quorum = options.quorum;\n }\n else {\n this.quorum = Math.ceil(this.#configs.reduce((accum, config) => {\n accum += config.weight;\n return accum;\n }, 0) / 2);\n }\n this.eventQuorum = 1;\n this.eventWorkers = 1;\n assertArgument(this.quorum <= this.#configs.reduce((a, c) => (a + c.weight), 0), \"quorum exceed provider wieght\", \"quorum\", this.quorum);\n }\n get providerConfigs() {\n return this.#configs.map((c) => {\n const result = Object.assign({}, c);\n for (const key in result) {\n if (key[0] === \"_\") {\n delete result[key];\n }\n }\n return result;\n });\n }\n async _detectNetwork() {\n return Network.from(getBigInt(await this._perform({ method: \"chainId\" })));\n }\n // @TODO: Add support to select providers to be the event subscriber\n //_getSubscriber(sub: Subscription): Subscriber {\n // throw new Error(\"@TODO\");\n //}\n /**\n * Transforms a %%req%% into the correct method call on %%provider%%.\n */\n async _translatePerform(provider, req) {\n switch (req.method) {\n case \"broadcastTransaction\":\n return await provider.broadcastTransaction(req.signedTransaction);\n case \"call\":\n return await provider.call(Object.assign({}, req.transaction, { blockTag: req.blockTag }));\n case \"chainId\":\n return (await provider.getNetwork()).chainId;\n case \"estimateGas\":\n return await provider.estimateGas(req.transaction);\n case \"getBalance\":\n return await provider.getBalance(req.address, req.blockTag);\n case \"getBlock\": {\n const block = (\"blockHash\" in req) ? req.blockHash : req.blockTag;\n return await provider.getBlock(block, req.includeTransactions);\n }\n case \"getBlockNumber\":\n return await provider.getBlockNumber();\n case \"getCode\":\n return await provider.getCode(req.address, req.blockTag);\n case \"getGasPrice\":\n return (await provider.getFeeData()).gasPrice;\n case \"getPriorityFee\":\n return (await provider.getFeeData()).maxPriorityFeePerGas;\n case \"getLogs\":\n return await provider.getLogs(req.filter);\n case \"getStorage\":\n return await provider.getStorage(req.address, req.position, req.blockTag);\n case \"getTransaction\":\n return await provider.getTransaction(req.hash);\n case \"getTransactionCount\":\n return await provider.getTransactionCount(req.address, req.blockTag);\n case \"getTransactionReceipt\":\n return await provider.getTransactionReceipt(req.hash);\n case \"getTransactionResult\":\n return await provider.getTransactionResult(req.hash);\n }\n }\n // Grab the next (random) config that is not already part of\n // the running set\n #getNextConfig(running) {\n // @TODO: Maybe do a check here to favour (heavily) providers that\n // do not require waitForSync and disfavour providers that\n // seem down-ish or are behaving slowly\n const configs = Array.from(running).map((r) => r.config);\n // Shuffle the states, sorted by priority\n const allConfigs = this.#configs.slice();\n shuffle(allConfigs);\n allConfigs.sort((a, b) => (a.priority - b.priority));\n for (const config of allConfigs) {\n if (config._lastFatalError) {\n continue;\n }\n if (configs.indexOf(config) === -1) {\n return config;\n }\n }\n return null;\n }\n // Adds a new runner (if available) to running.\n #addRunner(running, req) {\n const config = this.#getNextConfig(running);\n // No runners available\n if (config == null) {\n return null;\n }\n // Create a new runner\n const runner = {\n config, result: null, didBump: false,\n perform: null, staller: null\n };\n const now = getTime();\n // Start performing this operation\n runner.perform = (async () => {\n try {\n config.requests++;\n const result = await this._translatePerform(config.provider, req);\n runner.result = { result };\n }\n catch (error) {\n config.errorResponses++;\n runner.result = { error };\n }\n const dt = (getTime() - now);\n config._totalTime += dt;\n config.rollingDuration = 0.95 * config.rollingDuration + 0.05 * dt;\n runner.perform = null;\n })();\n // Start a staller; when this times out, it's time to force\n // kicking off another runner because we are taking too long\n runner.staller = (async () => {\n await stall(config.stallTimeout);\n runner.staller = null;\n })();\n running.add(runner);\n return runner;\n }\n // Initializes the blockNumber and network for each runner and\n // blocks until initialized\n async #initialSync() {\n let initialSync = this.#initialSyncPromise;\n if (!initialSync) {\n const promises = [];\n this.#configs.forEach((config) => {\n promises.push((async () => {\n await waitForSync(config, 0);\n if (!config._lastFatalError) {\n config._network = await config.provider.getNetwork();\n }\n })());\n });\n this.#initialSyncPromise = initialSync = (async () => {\n // Wait for all providers to have a block number and network\n await Promise.all(promises);\n // Check all the networks match\n let chainId = null;\n for (const config of this.#configs) {\n if (config._lastFatalError) {\n continue;\n }\n const network = (config._network);\n if (chainId == null) {\n chainId = network.chainId;\n }\n else if (network.chainId !== chainId) {\n assert(false, \"cannot mix providers on different networks\", \"UNSUPPORTED_OPERATION\", {\n operation: \"new FallbackProvider\"\n });\n }\n }\n })();\n }\n await initialSync;\n }\n async #checkQuorum(running, req) {\n // Get all the result objects\n const results = [];\n for (const runner of running) {\n if (runner.result != null) {\n const { tag, value } = normalizeResult(runner.result);\n results.push({ tag, value, weight: runner.config.weight });\n }\n }\n // Are there enough results to event meet quorum?\n if (results.reduce((a, r) => (a + r.weight), 0) < this.quorum) {\n return undefined;\n }\n switch (req.method) {\n case \"getBlockNumber\": {\n // We need to get the bootstrap block height\n if (this.#height === -2) {\n this.#height = Math.ceil(getNumber(getMedian(this.quorum, this.#configs.filter((c) => (!c._lastFatalError)).map((c) => ({\n value: c.blockNumber,\n tag: getNumber(c.blockNumber).toString(),\n weight: c.weight\n })))));\n }\n // Find the mode across all the providers, allowing for\n // a little drift between block heights\n const mode = getFuzzyMode(this.quorum, results);\n if (mode === undefined) {\n return undefined;\n }\n if (mode > this.#height) {\n this.#height = mode;\n }\n return this.#height;\n }\n case \"getGasPrice\":\n case \"getPriorityFee\":\n case \"estimateGas\":\n return getMedian(this.quorum, results);\n case \"getBlock\":\n // Pending blocks are in the mempool and already\n // quite untrustworthy; just grab anything\n if (\"blockTag\" in req && req.blockTag === \"pending\") {\n return getAnyResult(this.quorum, results);\n }\n return checkQuorum(this.quorum, results);\n case \"call\":\n case \"chainId\":\n case \"getBalance\":\n case \"getTransactionCount\":\n case \"getCode\":\n case \"getStorage\":\n case \"getTransaction\":\n case \"getTransactionReceipt\":\n case \"getLogs\":\n return checkQuorum(this.quorum, results);\n case \"broadcastTransaction\":\n return getAnyResult(this.quorum, results);\n }\n assert(false, \"unsupported method\", \"UNSUPPORTED_OPERATION\", {\n operation: `_perform(${stringify(req.method)})`\n });\n }\n async #waitForQuorum(running, req) {\n if (running.size === 0) {\n throw new Error(\"no runners?!\");\n }\n // Any promises that are interesting to watch for; an expired stall\n // or a successful perform\n const interesting = [];\n let newRunners = 0;\n for (const runner of running) {\n // No responses, yet; keep an eye on it\n if (runner.perform) {\n interesting.push(runner.perform);\n }\n // Still stalling...\n if (runner.staller) {\n interesting.push(runner.staller);\n continue;\n }\n // This runner has already triggered another runner\n if (runner.didBump) {\n continue;\n }\n // Got a response (result or error) or stalled; kick off another runner\n runner.didBump = true;\n newRunners++;\n }\n // Check if we have reached quorum on a result (or error)\n const value = await this.#checkQuorum(running, req);\n if (value !== undefined) {\n if (value instanceof Error) {\n throw value;\n }\n return value;\n }\n // Add any new runners, because a staller timed out or a result\n // or error response came in.\n for (let i = 0; i < newRunners; i++) {\n this.#addRunner(running, req);\n }\n // All providers have returned, and we have no result\n assert(interesting.length > 0, \"quorum not met\", \"SERVER_ERROR\", {\n request: \"%sub-requests\",\n info: { request: req, results: Array.from(running).map((r) => stringify(r.result)) }\n });\n // Wait for someone to either complete its perform or stall out\n await Promise.race(interesting);\n // This is recursive, but at worst case the depth is 2x the\n // number of providers (each has a perform and a staller)\n return await this.#waitForQuorum(running, req);\n }\n async _perform(req) {\n // Broadcasting a transaction is rare (ish) and already incurs\n // a cost on the user, so spamming is safe-ish. Just send it to\n // every backend.\n if (req.method === \"broadcastTransaction\") {\n // Once any broadcast provides a positive result, use it. No\n // need to wait for anyone else\n const results = this.#configs.map((c) => null);\n const broadcasts = this.#configs.map(async ({ provider, weight }, index) => {\n try {\n const result = await provider._perform(req);\n results[index] = Object.assign(normalizeResult({ result }), { weight });\n }\n catch (error) {\n results[index] = Object.assign(normalizeResult({ error }), { weight });\n }\n });\n // As each promise finishes...\n while (true) {\n // Check for a valid broadcast result\n const done = results.filter((r) => (r != null));\n for (const { value } of done) {\n if (!(value instanceof Error)) {\n return value;\n }\n }\n // Check for a legit broadcast error (one which we cannot\n // recover from; some nodes may return the following red\n // herring events:\n // - alredy seend (UNKNOWN_ERROR)\n // - NONCE_EXPIRED\n // - REPLACEMENT_UNDERPRICED\n const result = checkQuorum(this.quorum, results.filter((r) => (r != null)));\n if (isError(result, \"INSUFFICIENT_FUNDS\")) {\n throw result;\n }\n // Kick off the next provider (if any)\n const waiting = broadcasts.filter((b, i) => (results[i] == null));\n if (waiting.length === 0) {\n break;\n }\n await Promise.race(waiting);\n }\n // Use standard quorum results; any result was returned above,\n // so this will find any error that met quorum if any\n const result = getAnyResult(this.quorum, results);\n assert(result !== undefined, \"problem multi-broadcasting\", \"SERVER_ERROR\", {\n request: \"%sub-requests\",\n info: { request: req, results: results.map(stringify) }\n });\n if (result instanceof Error) {\n throw result;\n }\n return result;\n }\n await this.#initialSync();\n // Bootstrap enough runners to meet quorum\n const running = new Set();\n let inflightQuorum = 0;\n while (true) {\n const runner = this.#addRunner(running, req);\n if (runner == null) {\n break;\n }\n inflightQuorum += runner.config.weight;\n if (inflightQuorum >= this.quorum) {\n break;\n }\n }\n const result = await this.#waitForQuorum(running, req);\n // Track requests sent to a provider that are still\n // outstanding after quorum has been otherwise found\n for (const runner of running) {\n if (runner.perform && runner.result == null) {\n runner.config.lateResponses++;\n }\n }\n return result;\n }\n async destroy() {\n for (const { provider } of this.#configs) {\n provider.destroy();\n }\n super.destroy();\n }\n}\n//# sourceMappingURL=provider-fallback.js.map","import { assert } from \"../utils/index.js\";\nimport { AnkrProvider } from \"./provider-ankr.js\";\nimport { AlchemyProvider } from \"./provider-alchemy.js\";\nimport { CloudflareProvider } from \"./provider-cloudflare.js\";\nimport { EtherscanProvider } from \"./provider-etherscan.js\";\nimport { InfuraProvider } from \"./provider-infura.js\";\n//import { PocketProvider } from \"./provider-pocket.js\";\nimport { QuickNodeProvider } from \"./provider-quicknode.js\";\nimport { FallbackProvider } from \"./provider-fallback.js\";\nimport { JsonRpcProvider } from \"./provider-jsonrpc.js\";\nimport { Network } from \"./network.js\";\nimport { WebSocketProvider } from \"./provider-websocket.js\";\nfunction isWebSocketLike(value) {\n return (value && typeof (value.send) === \"function\" &&\n typeof (value.close) === \"function\");\n}\nconst Testnets = \"goerli kovan sepolia classicKotti optimism-goerli arbitrum-goerli matic-mumbai bnbt\".split(\" \");\n/**\n * Returns a default provider for %%network%%.\n *\n * If %%network%% is a [[WebSocketLike]] or string that begins with\n * ``\"ws:\"`` or ``\"wss:\"``, a [[WebSocketProvider]] is returned backed\n * by that WebSocket or URL.\n *\n * If %%network%% is a string that begins with ``\"HTTP:\"`` or ``\"HTTPS:\"``,\n * a [[JsonRpcProvider]] is returned connected to that URL.\n *\n * Otherwise, a default provider is created backed by well-known public\n * Web3 backends (such as [[link-infura]]) using community-provided API\n * keys.\n *\n * The %%options%% allows specifying custom API keys per backend (setting\n * an API key to ``\"-\"`` will omit that provider) and ``options.exclusive``\n * can be set to either a backend name or and array of backend names, which\n * will whitelist **only** those backends.\n *\n * Current backend strings supported are:\n * - ``\"alchemy\"``\n * - ``\"ankr\"``\n * - ``\"cloudflare\"``\n * - ``\"etherscan\"``\n * - ``\"infura\"``\n * - ``\"publicPolygon\"``\n * - ``\"quicknode\"``\n *\n * @example:\n * // Connect to a local Geth node\n * provider = getDefaultProvider(\"http://localhost:8545/\");\n *\n * // Connect to Ethereum mainnet with any current and future\n * // third-party services available\n * provider = getDefaultProvider(\"mainnet\");\n *\n * // Connect to Polygon, but only allow Etherscan and\n * // INFURA and use \"MY_API_KEY\" in calls to Etherscan.\n * provider = getDefaultProvider(\"matic\", {\n * etherscan: \"MY_API_KEY\",\n * exclusive: [ \"etherscan\", \"infura\" ]\n * });\n */\nexport function getDefaultProvider(network, options) {\n if (options == null) {\n options = {};\n }\n const allowService = (name) => {\n if (options[name] === \"-\") {\n return false;\n }\n if (typeof (options.exclusive) === \"string\") {\n return (name === options.exclusive);\n }\n if (Array.isArray(options.exclusive)) {\n return (options.exclusive.indexOf(name) !== -1);\n }\n return true;\n };\n if (typeof (network) === \"string\" && network.match(/^https?:/)) {\n return new JsonRpcProvider(network);\n }\n if (typeof (network) === \"string\" && network.match(/^wss?:/) || isWebSocketLike(network)) {\n return new WebSocketProvider(network);\n }\n // Get the network and name, if possible\n let staticNetwork = null;\n try {\n staticNetwork = Network.from(network);\n }\n catch (error) { }\n const providers = [];\n if (allowService(\"publicPolygon\") && staticNetwork) {\n if (staticNetwork.name === \"matic\") {\n providers.push(new JsonRpcProvider(\"https:/\\/polygon-rpc.com/\", staticNetwork, { staticNetwork }));\n }\n }\n if (allowService(\"alchemy\")) {\n try {\n providers.push(new AlchemyProvider(network, options.alchemy));\n }\n catch (error) { }\n }\n if (allowService(\"ankr\") && options.ankr != null) {\n try {\n providers.push(new AnkrProvider(network, options.ankr));\n }\n catch (error) { }\n }\n if (allowService(\"cloudflare\")) {\n try {\n providers.push(new CloudflareProvider(network));\n }\n catch (error) { }\n }\n if (allowService(\"etherscan\")) {\n try {\n providers.push(new EtherscanProvider(network, options.etherscan));\n }\n catch (error) { }\n }\n if (allowService(\"infura\")) {\n try {\n let projectId = options.infura;\n let projectSecret = undefined;\n if (typeof (projectId) === \"object\") {\n projectSecret = projectId.projectSecret;\n projectId = projectId.projectId;\n }\n providers.push(new InfuraProvider(network, projectId, projectSecret));\n }\n catch (error) { }\n }\n /*\n if (options.pocket !== \"-\") {\n try {\n let appId = options.pocket;\n let secretKey: undefined | string = undefined;\n let loadBalancer: undefined | boolean = undefined;\n if (typeof(appId) === \"object\") {\n loadBalancer = !!appId.loadBalancer;\n secretKey = appId.secretKey;\n appId = appId.appId;\n }\n providers.push(new PocketProvider(network, appId, secretKey, loadBalancer));\n } catch (error) { console.log(error); }\n }\n */\n if (allowService(\"quicknode\")) {\n try {\n let token = options.quicknode;\n providers.push(new QuickNodeProvider(network, token));\n }\n catch (error) { }\n }\n assert(providers.length, \"unsupported default network\", \"UNSUPPORTED_OPERATION\", {\n operation: \"getDefaultProvider\"\n });\n // No need for a FallbackProvider\n if (providers.length === 1) {\n return providers[0];\n }\n // We use the floor because public third-party providers can be unreliable,\n // so a low number of providers with a large quorum will fail too often\n let quorum = Math.floor(providers.length / 2);\n if (quorum > 2) {\n quorum = 2;\n }\n // Testnets don't need as strong a security gaurantee and speed is\n // more useful during testing\n if (staticNetwork && Testnets.indexOf(staticNetwork.name) !== -1) {\n quorum = 1;\n }\n // Provided override qorum takes priority\n if (options && options.quorum) {\n quorum = options.quorum;\n }\n return new FallbackProvider(providers, undefined, { quorum });\n}\n//# sourceMappingURL=default-provider.js.map","import { defineProperties } from \"../utils/index.js\";\nimport { AbstractSigner } from \"./abstract-signer.js\";\n/**\n * A **NonceManager** wraps another [[Signer]] and automatically manages\n * the nonce, ensuring serialized and sequential nonces are used during\n * transaction.\n */\nexport class NonceManager extends AbstractSigner {\n /**\n * The Signer being managed.\n */\n signer;\n #noncePromise;\n #delta;\n /**\n * Creates a new **NonceManager** to manage %%signer%%.\n */\n constructor(signer) {\n super(signer.provider);\n defineProperties(this, { signer });\n this.#noncePromise = null;\n this.#delta = 0;\n }\n async getAddress() {\n return this.signer.getAddress();\n }\n connect(provider) {\n return new NonceManager(this.signer.connect(provider));\n }\n async getNonce(blockTag) {\n if (blockTag === \"pending\") {\n if (this.#noncePromise == null) {\n this.#noncePromise = super.getNonce(\"pending\");\n }\n const delta = this.#delta;\n return (await this.#noncePromise) + delta;\n }\n return super.getNonce(blockTag);\n }\n /**\n * Manually increment the nonce. This may be useful when managng\n * offline transactions.\n */\n increment() {\n this.#delta++;\n }\n /**\n * Resets the nonce, causing the **NonceManager** to reload the current\n * nonce from the blockchain on the next transaction.\n */\n reset() {\n this.#delta = 0;\n this.#noncePromise = null;\n }\n async sendTransaction(tx) {\n const noncePromise = this.getNonce(\"pending\");\n this.increment();\n tx = await this.signer.populateTransaction(tx);\n tx.nonce = await noncePromise;\n // @TODO: Maybe handle interesting/recoverable errors?\n // Like don't increment if the tx was certainly not sent\n return await this.signer.sendTransaction(tx);\n }\n signTransaction(tx) {\n return this.signer.signTransaction(tx);\n }\n signMessage(message) {\n return this.signer.signMessage(message);\n }\n signTypedData(domain, types, value) {\n return this.signer.signTypedData(domain, types, value);\n }\n}\n//# sourceMappingURL=signer-noncemanager.js.map","import { assertArgument } from \"../utils/index.js\";\nimport { JsonRpcApiPollingProvider } from \"./provider-jsonrpc.js\";\n;\n/**\n * A **BrowserProvider** is intended to wrap an injected provider which\n * adheres to the [[link-eip-1193]] standard, which most (if not all)\n * currently do.\n */\nexport class BrowserProvider extends JsonRpcApiPollingProvider {\n #request;\n /**\n * Connnect to the %%ethereum%% provider, optionally forcing the\n * %%network%%.\n */\n constructor(ethereum, network) {\n assertArgument(ethereum && ethereum.request, \"invalid EIP-1193 provider\", \"ethereum\", ethereum);\n super(network, { batchMaxCount: 1 });\n this.#request = async (method, params) => {\n const payload = { method, params };\n this.emit(\"debug\", { action: \"sendEip1193Request\", payload });\n try {\n const result = await ethereum.request(payload);\n this.emit(\"debug\", { action: \"receiveEip1193Result\", result });\n return result;\n }\n catch (e) {\n const error = new Error(e.message);\n error.code = e.code;\n error.data = e.data;\n error.payload = payload;\n this.emit(\"debug\", { action: \"receiveEip1193Error\", error });\n throw error;\n }\n };\n }\n async send(method, params) {\n await this._start();\n return await super.send(method, params);\n }\n async _send(payload) {\n assertArgument(!Array.isArray(payload), \"EIP-1193 does not support batch request\", \"payload\", payload);\n try {\n const result = await this.#request(payload.method, payload.params || []);\n return [{ id: payload.id, result }];\n }\n catch (e) {\n return [{\n id: payload.id,\n error: { code: e.code, data: e.data, message: e.message }\n }];\n }\n }\n getRpcError(payload, error) {\n error = JSON.parse(JSON.stringify(error));\n // EIP-1193 gives us some machine-readable error codes, so rewrite\n // them into \n switch (error.error.code || -1) {\n case 4001:\n error.error.message = `ethers-user-denied: ${error.error.message}`;\n break;\n case 4200:\n error.error.message = `ethers-unsupported: ${error.error.message}`;\n break;\n }\n return super.getRpcError(payload, error);\n }\n /**\n * Resolves to ``true`` if the provider manages the %%address%%.\n */\n async hasSigner(address) {\n if (address == null) {\n address = 0;\n }\n const accounts = await this.send(\"eth_accounts\", []);\n if (typeof (address) === \"number\") {\n return (accounts.length > address);\n }\n address = address.toLowerCase();\n return accounts.filter((a) => (a.toLowerCase() === address)).length !== 0;\n }\n async getSigner(address) {\n if (address == null) {\n address = 0;\n }\n if (!(await this.hasSigner(address))) {\n try {\n //const resp = \n await this.#request(\"eth_requestAccounts\", []);\n //console.log(\"RESP\", resp);\n }\n catch (error) {\n const payload = error.payload;\n throw this.getRpcError(payload, { id: payload.id, error });\n }\n }\n return await super.getSigner(address);\n }\n}\n//# sourceMappingURL=provider-browser.js.map","/**\n * [[link-pocket]] provides a third-party service for connecting to\n * various blockchains over JSON-RPC.\n *\n * **Supported Networks**\n *\n * - Ethereum Mainnet (``mainnet``)\n * - Goerli Testnet (``goerli``)\n * - Polygon (``matic``)\n * - Arbitrum (``arbitrum``)\n *\n * @_subsection: api/providers/thirdparty:Pocket [providers-pocket]\n */\nimport { defineProperties, FetchRequest, assertArgument } from \"../utils/index.js\";\nimport { showThrottleMessage } from \"./community.js\";\nimport { Network } from \"./network.js\";\nimport { JsonRpcProvider } from \"./provider-jsonrpc.js\";\nconst defaultApplicationId = \"62e1ad51b37b8e00394bda3b\";\nfunction getHost(name) {\n switch (name) {\n case \"mainnet\":\n return \"eth-mainnet.gateway.pokt.network\";\n case \"goerli\":\n return \"eth-goerli.gateway.pokt.network\";\n case \"matic\":\n return \"poly-mainnet.gateway.pokt.network\";\n case \"matic-mumbai\":\n return \"polygon-mumbai-rpc.gateway.pokt.network\";\n }\n assertArgument(false, \"unsupported network\", \"network\", name);\n}\n/**\n * The **PocketProvider** connects to the [[link-pocket]]\n * JSON-RPC end-points.\n *\n * By default, a highly-throttled API key is used, which is\n * appropriate for quick prototypes and simple scripts. To\n * gain access to an increased rate-limit, it is highly\n * recommended to [sign up here](link-pocket-signup).\n */\nexport class PocketProvider extends JsonRpcProvider {\n /**\n * The Application ID for the Pocket connection.\n */\n applicationId;\n /**\n * The Application Secret for making authenticated requests\n * to the Pocket connection.\n */\n applicationSecret;\n /**\n * Create a new **PocketProvider**.\n *\n * By default connecting to ``mainnet`` with a highly throttled\n * API key.\n */\n constructor(_network, applicationId, applicationSecret) {\n if (_network == null) {\n _network = \"mainnet\";\n }\n const network = Network.from(_network);\n if (applicationId == null) {\n applicationId = defaultApplicationId;\n }\n if (applicationSecret == null) {\n applicationSecret = null;\n }\n const options = { staticNetwork: network };\n const request = PocketProvider.getRequest(network, applicationId, applicationSecret);\n super(request, network, options);\n defineProperties(this, { applicationId, applicationSecret });\n }\n _getProvider(chainId) {\n try {\n return new PocketProvider(chainId, this.applicationId, this.applicationSecret);\n }\n catch (error) { }\n return super._getProvider(chainId);\n }\n /**\n * Returns a prepared request for connecting to %%network%% with\n * %%applicationId%%.\n */\n static getRequest(network, applicationId, applicationSecret) {\n if (applicationId == null) {\n applicationId = defaultApplicationId;\n }\n const request = new FetchRequest(`https:/\\/${getHost(network.name)}/v1/lb/${applicationId}`);\n request.allowGzip = true;\n if (applicationSecret) {\n request.setCredentials(\"\", applicationSecret);\n }\n if (applicationId === defaultApplicationId) {\n request.retryFunc = async (request, response, attempt) => {\n showThrottleMessage(\"PocketProvider\");\n return true;\n };\n }\n return request;\n }\n isCommunityResource() {\n return (this.applicationId === defaultApplicationId);\n }\n}\n//# sourceMappingURL=provider-pocket.js.map","const IpcSocketProvider = undefined;\nexport { IpcSocketProvider };\n//# sourceMappingURL=provider-ipcsocket-browser.js.map","import { getAddress, resolveAddress } from \"../address/index.js\";\nimport { hashMessage, TypedDataEncoder } from \"../hash/index.js\";\nimport { AbstractSigner } from \"../providers/index.js\";\nimport { computeAddress, Transaction } from \"../transaction/index.js\";\nimport { defineProperties, resolveProperties, assert, assertArgument } from \"../utils/index.js\";\n/**\n * The **BaseWallet** is a stream-lined implementation of a\n * [[Signer]] that operates with a private key.\n *\n * It is preferred to use the [[Wallet]] class, as it offers\n * additional functionality and simplifies loading a variety\n * of JSON formats, Mnemonic Phrases, etc.\n *\n * This class may be of use for those attempting to implement\n * a minimal Signer.\n */\nexport class BaseWallet extends AbstractSigner {\n /**\n * The wallet address.\n */\n address;\n #signingKey;\n /**\n * Creates a new BaseWallet for %%privateKey%%, optionally\n * connected to %%provider%%.\n *\n * If %%provider%% is not specified, only offline methods can\n * be used.\n */\n constructor(privateKey, provider) {\n super(provider);\n assertArgument(privateKey && typeof (privateKey.sign) === \"function\", \"invalid private key\", \"privateKey\", \"[ REDACTED ]\");\n this.#signingKey = privateKey;\n const address = computeAddress(this.signingKey.publicKey);\n defineProperties(this, { address });\n }\n // Store private values behind getters to reduce visibility\n // in console.log\n /**\n * The [[SigningKey]] used for signing payloads.\n */\n get signingKey() { return this.#signingKey; }\n /**\n * The private key for this wallet.\n */\n get privateKey() { return this.signingKey.privateKey; }\n async getAddress() { return this.address; }\n connect(provider) {\n return new BaseWallet(this.#signingKey, provider);\n }\n async signTransaction(tx) {\n // Replace any Addressable or ENS name with an address\n const { to, from } = await resolveProperties({\n to: (tx.to ? resolveAddress(tx.to, this.provider) : undefined),\n from: (tx.from ? resolveAddress(tx.from, this.provider) : undefined)\n });\n if (to != null) {\n tx.to = to;\n }\n if (from != null) {\n tx.from = from;\n }\n if (tx.from != null) {\n assertArgument(getAddress((tx.from)) === this.address, \"transaction from address mismatch\", \"tx.from\", tx.from);\n delete tx.from;\n }\n // Build the transaction\n const btx = Transaction.from(tx);\n btx.signature = this.signingKey.sign(btx.unsignedHash);\n return btx.serialized;\n }\n async signMessage(message) {\n return this.signMessageSync(message);\n }\n // @TODO: Add a secialized signTx and signTyped sync that enforces\n // all parameters are known?\n /**\n * Returns the signature for %%message%% signed with this wallet.\n */\n signMessageSync(message) {\n return this.signingKey.sign(hashMessage(message)).serialized;\n }\n async signTypedData(domain, types, value) {\n // Populate any ENS names\n const populated = await TypedDataEncoder.resolveNames(domain, types, value, async (name) => {\n // @TODO: this should use resolveName; addresses don't\n // need a provider\n assert(this.provider != null, \"cannot resolve ENS names without a provider\", \"UNSUPPORTED_OPERATION\", {\n operation: \"resolveName\",\n info: { name }\n });\n const address = await this.provider.resolveName(name);\n assert(address != null, \"unconfigured ENS name\", \"UNCONFIGURED_NAME\", {\n value: name\n });\n return address;\n });\n return this.signingKey.sign(TypedDataEncoder.hash(populated.domain, types, populated.value)).serialized;\n }\n}\n//# sourceMappingURL=base-wallet.js.map","import { assertArgument } from \"../utils/index.js\";\nconst subsChrs = \" !#$%&'()*+,-./<=>?@[]^_`{|}~\";\nconst Word = /^[a-z]*$/i;\nfunction unfold(words, sep) {\n let initial = 97;\n return words.reduce((accum, word) => {\n if (word === sep) {\n initial++;\n }\n else if (word.match(Word)) {\n accum.push(String.fromCharCode(initial) + word);\n }\n else {\n initial = 97;\n accum.push(word);\n }\n return accum;\n }, []);\n}\n/**\n * @_ignore\n */\nexport function decode(data, subs) {\n // Replace all the substitutions with their expanded form\n for (let i = subsChrs.length - 1; i >= 0; i--) {\n data = data.split(subsChrs[i]).join(subs.substring(2 * i, 2 * i + 2));\n }\n // Get all tle clumps; each suffix, first-increment and second-increment\n const clumps = [];\n const leftover = data.replace(/(:|([0-9])|([A-Z][a-z]*))/g, (all, item, semi, word) => {\n if (semi) {\n for (let i = parseInt(semi); i >= 0; i--) {\n clumps.push(\";\");\n }\n }\n else {\n clumps.push(item.toLowerCase());\n }\n return \"\";\n });\n /* c8 ignore start */\n if (leftover) {\n throw new Error(`leftovers: ${JSON.stringify(leftover)}`);\n }\n /* c8 ignore stop */\n return unfold(unfold(clumps, \";\"), \":\");\n}\n/**\n * @_ignore\n */\nexport function decodeOwl(data) {\n assertArgument(data[0] === \"0\", \"unsupported auwl data\", \"data\", data);\n return decode(data.substring(1 + 2 * subsChrs.length), data.substring(1, 1 + 2 * subsChrs.length));\n}\n//# sourceMappingURL=decode-owl.js.map","import { defineProperties } from \"../utils/index.js\";\n/**\n * A Wordlist represents a collection of language-specific\n * words used to encode and devoce [[link-bip-39]] encoded data\n * by mapping words to 11-bit values and vice versa.\n */\nexport class Wordlist {\n locale;\n /**\n * Creates a new Wordlist instance.\n *\n * Sub-classes MUST call this if they provide their own constructor,\n * passing in the locale string of the language.\n *\n * Generally there is no need to create instances of a Wordlist,\n * since each language-specific Wordlist creates an instance and\n * there is no state kept internally, so they are safe to share.\n */\n constructor(locale) {\n defineProperties(this, { locale });\n }\n /**\n * Sub-classes may override this to provide a language-specific\n * method for spliting %%phrase%% into individual words.\n *\n * By default, %%phrase%% is split using any sequences of\n * white-space as defined by regular expressions (i.e. ``/\\s+/``).\n */\n split(phrase) {\n return phrase.toLowerCase().split(/\\s+/g);\n }\n /**\n * Sub-classes may override this to provider a language-specific\n * method for joining %%words%% into a phrase.\n *\n * By default, %%words%% are joined by a single space.\n */\n join(words) {\n return words.join(\" \");\n }\n}\n//# sourceMappingURL=wordlist.js.map","// Use the encode-latin.js script to create the necessary\n// data files to be consumed by this class\nimport { id } from \"../hash/index.js\";\nimport { assertArgument } from \"../utils/index.js\";\nimport { decodeOwl } from \"./decode-owl.js\";\nimport { Wordlist } from \"./wordlist.js\";\n/**\n * An OWL format Wordlist is an encoding method that exploits\n * the general locality of alphabetically sorted words to\n * achieve a simple but effective means of compression.\n *\n * This class is generally not useful to most developers as\n * it is used mainly internally to keep Wordlists for languages\n * based on ASCII-7 small.\n *\n * If necessary, there are tools within the ``generation/`` folder\n * to create the necessary data.\n */\nexport class WordlistOwl extends Wordlist {\n #data;\n #checksum;\n /**\n * Creates a new Wordlist for %%locale%% using the OWL %%data%%\n * and validated against the %%checksum%%.\n */\n constructor(locale, data, checksum) {\n super(locale);\n this.#data = data;\n this.#checksum = checksum;\n this.#words = null;\n }\n /**\n * The OWL-encoded data.\n */\n get _data() { return this.#data; }\n /**\n * Decode all the words for the wordlist.\n */\n _decodeWords() {\n return decodeOwl(this.#data);\n }\n #words;\n #loadWords() {\n if (this.#words == null) {\n const words = this._decodeWords();\n // Verify the computed list matches the official list\n const checksum = id(words.join(\"\\n\") + \"\\n\");\n /* c8 ignore start */\n if (checksum !== this.#checksum) {\n throw new Error(`BIP39 Wordlist for ${this.locale} FAILED`);\n }\n /* c8 ignore stop */\n this.#words = words;\n }\n return this.#words;\n }\n getWord(index) {\n const words = this.#loadWords();\n assertArgument(index >= 0 && index < words.length, `invalid word index: ${index}`, \"index\", index);\n return words[index];\n }\n getWordIndex(word) {\n return this.#loadWords().indexOf(word);\n }\n}\n//# sourceMappingURL=wordlist-owl.js.map","import { WordlistOwl } from \"./wordlist-owl.js\";\nconst words = \"0erleonalorenseinceregesticitStanvetearctssi#ch2Athck&tneLl0And#Il.yLeOutO=S|S%b/ra@SurdU'0Ce[Cid|CountCu'Hie=IdOu,-Qui*Ro[TT]T%T*[Tu$0AptDD-tD*[Ju,M.UltV<)Vi)0Rob-0FairF%dRaid0A(EEntRee0Ead0MRRp%tS!_rmBumCoholErtI&LLeyLowMo,O}PhaReadySoT Ways0A>urAz(gOngOuntU'd0Aly,Ch%Ci|G G!GryIm$K!Noun)Nu$O` Sw T&naTiqueXietyY1ArtOlogyPe?P!Pro=Ril1ChCt-EaEnaGueMMedM%MyOundR<+Re,Ri=RowTTefa@Ti,Tw%k0KPe@SaultSetSi,SumeThma0H!>OmTa{T&dT.udeTra@0Ct]D.Gu,NtTh%ToTumn0Era+OcadoOid0AkeA*AyEsomeFulKw?d0Is:ByChel%C#D+GL<)Lc#y~MbooN_{Ad!AftAmA}AshAt AwlAzyEamEd.EekEwI{etImeIspIt-OpO[Ou^OwdUci$UelUi'Umb!Un^UshYY,$2BeLtu*PPbo?dRiousRr|Rta(R=Sh]/omTe3C!:DMa+MpN)Ng R(gShUght WnY3AlBa>BrisCadeCemb CideCl(eC%a>C*a'ErF&'F(eFyG*eLayLiv M3AgramAlAm#dAryCeE'lEtFf G.$Gn.yLemmaNn NosaurRe@RtSag*eScov Sea'ShSmi[S%d Splay/<)V tVideV%)Zzy5Ct%Cum|G~Lph(Ma(Na>NkeyN%OrSeUb!Ve_ftAg#AmaA,-AwEamE[IftIllInkIpI=OpUmY2CkMbNeR(g/T^Ty1Arf1Nam-:G G!RlyRnR`Sily/Sy1HoOlogyOnomy0GeItUca>1F%t0G1GhtTh 2BowD E@r-EgSe0B?kBodyBra)Er+Ot]PloyPow Pty0Ab!A@DD![D%'EmyErgyF%)Ga+G(eH<)JoyLi,OughR-hRollSu*T Ti*TryVelope1Isode0U$Uip0AA'OdeOs]R%Upt0CapeSayS&)Ta>0Ern$H-s1Id&)IlOkeOl=1A@Amp!Ce[Ch<+C.eCludeCu'Ecu>Erci'Hau,Hib.I!I,ItOt-PM&'Mu}Pa@Po'Pro=Pul'0ChCludeComeC*a'DexD-a>Do%Du,ryFN Noc|PutQuirySSue0Em1Ory:CketGu?RZz3AlousAns~yWel9BInKeUr}yY5D+I)MpNg!Ni%Nk/:Ng?oo3EnEpT^upY3CkDD}yNdNgdomSsTT^&TeTt&Wi4EeIfeO{Ow:BBelB%Dd DyKeMpNgua+PtopR+T T(UghUndryVaWWnWsu.Y Zy3Ad AfArnA=Ctu*FtGG$G&dIsu*M#NdNg`NsOp?dSs#Tt Vel3ArB tyBr?yC&'FeFtGhtKeMbM.NkOnQuid/Tt!VeZ?d5AdAnB, C$CkG-NelyNgOpTt yUdUn+VeY$5CkyGga+Mb N?N^Xury3R-s:Ch(eDG-G}tIdIlInJ%KeMm$NNa+Nda>NgoNs]Nu$P!Rb!R^Rg(R(eRketRria+SkSs/ T^T i$ThTrixTt XimumZe3AdowAnAsu*AtCh<-D$DiaLodyLtMb M%yNt]NuRcyR+R.RryShSsa+T$Thod3Dd!DnightLk~]M-NdNimumN%Nu>Rac!Rr%S ySs/akeXXedXtu*5Bi!DelDifyMM|N.%NkeyN, N`OnR$ReRn(gSqu.oTh T]T%Unta(U'VeVie5ChFf(LeLtiplySc!SeumShroomS-/Tu$3Self/ yTh:I=MePk(Rrow/yT]Tu*3ArCkEdGati=G!@I` PhewR=/TTw%kUtr$V WsXt3CeGht5B!I'M(eeOd!Rm$R`SeTab!TeTh(gTi)VelW5C!?Mb R'T:K0EyJe@Li+Scu*S =Ta(Vious0CurEAyEa'Ed+U{UgUn+2EmEtIntL?LeLi)NdNyOlPul?Rt]S.]Ssib!/TatoTt yV tyWd W _@i)Ai'Ed-tEf Epa*Es|EttyEv|I)IdeIm?yIntI%.yIs#Iva>IzeOb!mO)[Odu)Of.OgramOje@Omo>OofOp tyOsp O>@OudOvide2Bl-Dd(g~LpL'Mpk(N^PilPpyR^a'R.yRpo'R'ShTZz!3Ramid:99Al.yAntumArt E,]I{ItIzO>:Bb.Cco#CeCkD?DioIlInI'~yMpN^NdomN+PidReTeTh V&WZ%3AdyAlAs#BelBuildC$lCei=CipeC%dCyc!Du)F!@F%mFu'G]G*tGul?Je@LaxLea'LiefLyMa(Memb M(dMo=Nd NewNtOp&PairPeatPla)P%tQui*ScueSemb!Si,Sour)Sp#'SultTi*T*atTurnUn]Ve$ViewW?d2Y`m0BBb#CeChDeD+F!GhtGidNgOtPp!SkTu$V$V 5AdA,BotBu,CketM<)OfOkieOmSeTa>UghUndU>Y$5Bb DeGLeNNwayR$:DDd!D}[FeIlLadLm#L#LtLu>MeMp!NdTisfyToshiU)Usa+VeY1A!AnA*Att E}HemeHoolI&)I[%sOrp]OutRapRe&RiptRub1AAr^As#AtC#dC*tCt]Cur.yEdEkGm|Le@~M(?Ni%N'Nt&)RiesRvi)Ss]Tt!TupV&_dowAftAllowA*EdEllEriffIeldIftI}IpIv O{OeOotOpOrtOuld O=RimpRugUff!Y0Bl(gCkDeE+GhtGnL|Lk~yLv Mil?Mp!N)NgR&/ Tua>XZe1A>Et^IIllInIrtUll0AbAmEepEnd I)IdeIghtImOgAyEakEelEmEpE*oI{IllIngO{Oma^O}OolOryO=Ra>gyReetRikeR#gRugg!Ud|UffUmb!Y!0Bje@Bm.BwayC)[ChDd&Ff G?G+,ItMm NNnyN'tP PplyP*meReRfa)R+Rpri'RroundR=ySpe@/a(1AllowAmpApArmE?EetIftImIngIt^Ord1MbolMptomRup/em:B!Ck!GIlL|LkNkPeR+tSk/eTtooXi3A^Am~NNGradeHoldOnP Set1BOng::Rd3Ar~ow9UUngU`:3BraRo9NeO\";\nconst checksum = \"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60\";\nlet wordlist = null;\n/**\n * The [[link-bip39-en]] for [mnemonic phrases](link-bip-39).\n *\n * @_docloc: api/wordlists\n */\nexport class LangEn extends WordlistOwl {\n /**\n * Creates a new instance of the English language Wordlist.\n *\n * This should be unnecessary most of the time as the exported\n * [[langEn]] should suffice.\n *\n * @_ignore:\n */\n constructor() { super(\"en\", words, checksum); }\n /**\n * Returns a singleton instance of a ``LangEn``, creating it\n * if this is the first time being called.\n */\n static wordlist() {\n if (wordlist == null) {\n wordlist = new LangEn();\n }\n return wordlist;\n }\n}\n//# sourceMappingURL=lang-en.js.map","import { pbkdf2, sha256 } from \"../crypto/index.js\";\nimport { defineProperties, getBytes, hexlify, assertNormalize, assertPrivate, assertArgument, toUtf8Bytes } from \"../utils/index.js\";\nimport { LangEn } from \"../wordlists/lang-en.js\";\n// Returns a byte with the MSB bits set\nfunction getUpperMask(bits) {\n return ((1 << bits) - 1) << (8 - bits) & 0xff;\n}\n// Returns a byte with the LSB bits set\nfunction getLowerMask(bits) {\n return ((1 << bits) - 1) & 0xff;\n}\nfunction mnemonicToEntropy(mnemonic, wordlist) {\n assertNormalize(\"NFKD\");\n if (wordlist == null) {\n wordlist = LangEn.wordlist();\n }\n const words = wordlist.split(mnemonic);\n assertArgument((words.length % 3) === 0 && words.length >= 12 && words.length <= 24, \"invalid mnemonic length\", \"mnemonic\", \"[ REDACTED ]\");\n const entropy = new Uint8Array(Math.ceil(11 * words.length / 8));\n let offset = 0;\n for (let i = 0; i < words.length; i++) {\n let index = wordlist.getWordIndex(words[i].normalize(\"NFKD\"));\n assertArgument(index >= 0, `invalid mnemonic word at index ${i}`, \"mnemonic\", \"[ REDACTED ]\");\n for (let bit = 0; bit < 11; bit++) {\n if (index & (1 << (10 - bit))) {\n entropy[offset >> 3] |= (1 << (7 - (offset % 8)));\n }\n offset++;\n }\n }\n const entropyBits = 32 * words.length / 3;\n const checksumBits = words.length / 3;\n const checksumMask = getUpperMask(checksumBits);\n const checksum = getBytes(sha256(entropy.slice(0, entropyBits / 8)))[0] & checksumMask;\n assertArgument(checksum === (entropy[entropy.length - 1] & checksumMask), \"invalid mnemonic checksum\", \"mnemonic\", \"[ REDACTED ]\");\n return hexlify(entropy.slice(0, entropyBits / 8));\n}\nfunction entropyToMnemonic(entropy, wordlist) {\n assertArgument((entropy.length % 4) === 0 && entropy.length >= 16 && entropy.length <= 32, \"invalid entropy size\", \"entropy\", \"[ REDACTED ]\");\n if (wordlist == null) {\n wordlist = LangEn.wordlist();\n }\n const indices = [0];\n let remainingBits = 11;\n for (let i = 0; i < entropy.length; i++) {\n // Consume the whole byte (with still more to go)\n if (remainingBits > 8) {\n indices[indices.length - 1] <<= 8;\n indices[indices.length - 1] |= entropy[i];\n remainingBits -= 8;\n // This byte will complete an 11-bit index\n }\n else {\n indices[indices.length - 1] <<= remainingBits;\n indices[indices.length - 1] |= entropy[i] >> (8 - remainingBits);\n // Start the next word\n indices.push(entropy[i] & getLowerMask(8 - remainingBits));\n remainingBits += 3;\n }\n }\n // Compute the checksum bits\n const checksumBits = entropy.length / 4;\n const checksum = parseInt(sha256(entropy).substring(2, 4), 16) & getUpperMask(checksumBits);\n // Shift the checksum into the word indices\n indices[indices.length - 1] <<= checksumBits;\n indices[indices.length - 1] |= (checksum >> (8 - checksumBits));\n return wordlist.join(indices.map((index) => wordlist.getWord(index)));\n}\nconst _guard = {};\n/**\n * A **Mnemonic** wraps all properties required to compute [[link-bip-39]]\n * seeds and convert between phrases and entropy.\n */\nexport class Mnemonic {\n /**\n * The mnemonic phrase of 12, 15, 18, 21 or 24 words.\n *\n * Use the [[wordlist]] ``split`` method to get the individual words.\n */\n phrase;\n /**\n * The password used for this mnemonic. If no password is used this\n * is the empty string (i.e. ``\"\"``) as per the specification.\n */\n password;\n /**\n * The wordlist for this mnemonic.\n */\n wordlist;\n /**\n * The underlying entropy which the mnemonic encodes.\n */\n entropy;\n /**\n * @private\n */\n constructor(guard, entropy, phrase, password, wordlist) {\n if (password == null) {\n password = \"\";\n }\n if (wordlist == null) {\n wordlist = LangEn.wordlist();\n }\n assertPrivate(guard, _guard, \"Mnemonic\");\n defineProperties(this, { phrase, password, wordlist, entropy });\n }\n /**\n * Returns the seed for the mnemonic.\n */\n computeSeed() {\n const salt = toUtf8Bytes(\"mnemonic\" + this.password, \"NFKD\");\n return pbkdf2(toUtf8Bytes(this.phrase, \"NFKD\"), salt, 2048, 64, \"sha512\");\n }\n /**\n * Creates a new Mnemonic for the %%phrase%%.\n *\n * The default %%password%% is the empty string and the default\n * wordlist is the [English wordlists](LangEn).\n */\n static fromPhrase(phrase, password, wordlist) {\n // Normalize the case and space; throws if invalid\n const entropy = mnemonicToEntropy(phrase, wordlist);\n phrase = entropyToMnemonic(getBytes(entropy), wordlist);\n return new Mnemonic(_guard, entropy, phrase, password, wordlist);\n }\n /**\n * Create a new **Mnemonic** from the %%entropy%%.\n *\n * The default %%password%% is the empty string and the default\n * wordlist is the [English wordlists](LangEn).\n */\n static fromEntropy(_entropy, password, wordlist) {\n const entropy = getBytes(_entropy, \"entropy\");\n const phrase = entropyToMnemonic(entropy, wordlist);\n return new Mnemonic(_guard, hexlify(entropy), phrase, password, wordlist);\n }\n /**\n * Returns the phrase for %%mnemonic%%.\n */\n static entropyToPhrase(_entropy, wordlist) {\n const entropy = getBytes(_entropy, \"entropy\");\n return entropyToMnemonic(entropy, wordlist);\n }\n /**\n * Returns the entropy for %%phrase%%.\n */\n static phraseToEntropy(phrase, wordlist) {\n return mnemonicToEntropy(phrase, wordlist);\n }\n /**\n * Returns true if %%phrase%% is a valid [[link-bip-39]] phrase.\n *\n * This checks all the provided words belong to the %%wordlist%%,\n * that the length is valid and the checksum is correct.\n */\n static isValidMnemonic(phrase, wordlist) {\n try {\n mnemonicToEntropy(phrase, wordlist);\n return true;\n }\n catch (error) { }\n return false;\n }\n}\n//# sourceMappingURL=mnemonic.js.map","/*! MIT License. Copyright 2015-2022 Richard Moore . See LICENSE.txt. */\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar _AES_key, _AES_Kd, _AES_Ke;\n// Number of rounds by keysize\nconst numberOfRounds = { 16: 10, 24: 12, 32: 14 };\n// Round constant words\nconst rcon = [0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91];\n// S-box and Inverse S-box (S is for Substitution)\nconst S = [0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16];\nconst Si = [0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25, 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d];\n// Transformations for encryption\nconst T1 = [0xc66363a5, 0xf87c7c84, 0xee777799, 0xf67b7b8d, 0xfff2f20d, 0xd66b6bbd, 0xde6f6fb1, 0x91c5c554, 0x60303050, 0x02010103, 0xce6767a9, 0x562b2b7d, 0xe7fefe19, 0xb5d7d762, 0x4dababe6, 0xec76769a, 0x8fcaca45, 0x1f82829d, 0x89c9c940, 0xfa7d7d87, 0xeffafa15, 0xb25959eb, 0x8e4747c9, 0xfbf0f00b, 0x41adadec, 0xb3d4d467, 0x5fa2a2fd, 0x45afafea, 0x239c9cbf, 0x53a4a4f7, 0xe4727296, 0x9bc0c05b, 0x75b7b7c2, 0xe1fdfd1c, 0x3d9393ae, 0x4c26266a, 0x6c36365a, 0x7e3f3f41, 0xf5f7f702, 0x83cccc4f, 0x6834345c, 0x51a5a5f4, 0xd1e5e534, 0xf9f1f108, 0xe2717193, 0xabd8d873, 0x62313153, 0x2a15153f, 0x0804040c, 0x95c7c752, 0x46232365, 0x9dc3c35e, 0x30181828, 0x379696a1, 0x0a05050f, 0x2f9a9ab5, 0x0e070709, 0x24121236, 0x1b80809b, 0xdfe2e23d, 0xcdebeb26, 0x4e272769, 0x7fb2b2cd, 0xea75759f, 0x1209091b, 0x1d83839e, 0x582c2c74, 0x341a1a2e, 0x361b1b2d, 0xdc6e6eb2, 0xb45a5aee, 0x5ba0a0fb, 0xa45252f6, 0x763b3b4d, 0xb7d6d661, 0x7db3b3ce, 0x5229297b, 0xdde3e33e, 0x5e2f2f71, 0x13848497, 0xa65353f5, 0xb9d1d168, 0x00000000, 0xc1eded2c, 0x40202060, 0xe3fcfc1f, 0x79b1b1c8, 0xb65b5bed, 0xd46a6abe, 0x8dcbcb46, 0x67bebed9, 0x7239394b, 0x944a4ade, 0x984c4cd4, 0xb05858e8, 0x85cfcf4a, 0xbbd0d06b, 0xc5efef2a, 0x4faaaae5, 0xedfbfb16, 0x864343c5, 0x9a4d4dd7, 0x66333355, 0x11858594, 0x8a4545cf, 0xe9f9f910, 0x04020206, 0xfe7f7f81, 0xa05050f0, 0x783c3c44, 0x259f9fba, 0x4ba8a8e3, 0xa25151f3, 0x5da3a3fe, 0x804040c0, 0x058f8f8a, 0x3f9292ad, 0x219d9dbc, 0x70383848, 0xf1f5f504, 0x63bcbcdf, 0x77b6b6c1, 0xafdada75, 0x42212163, 0x20101030, 0xe5ffff1a, 0xfdf3f30e, 0xbfd2d26d, 0x81cdcd4c, 0x180c0c14, 0x26131335, 0xc3ecec2f, 0xbe5f5fe1, 0x359797a2, 0x884444cc, 0x2e171739, 0x93c4c457, 0x55a7a7f2, 0xfc7e7e82, 0x7a3d3d47, 0xc86464ac, 0xba5d5de7, 0x3219192b, 0xe6737395, 0xc06060a0, 0x19818198, 0x9e4f4fd1, 0xa3dcdc7f, 0x44222266, 0x542a2a7e, 0x3b9090ab, 0x0b888883, 0x8c4646ca, 0xc7eeee29, 0x6bb8b8d3, 0x2814143c, 0xa7dede79, 0xbc5e5ee2, 0x160b0b1d, 0xaddbdb76, 0xdbe0e03b, 0x64323256, 0x743a3a4e, 0x140a0a1e, 0x924949db, 0x0c06060a, 0x4824246c, 0xb85c5ce4, 0x9fc2c25d, 0xbdd3d36e, 0x43acacef, 0xc46262a6, 0x399191a8, 0x319595a4, 0xd3e4e437, 0xf279798b, 0xd5e7e732, 0x8bc8c843, 0x6e373759, 0xda6d6db7, 0x018d8d8c, 0xb1d5d564, 0x9c4e4ed2, 0x49a9a9e0, 0xd86c6cb4, 0xac5656fa, 0xf3f4f407, 0xcfeaea25, 0xca6565af, 0xf47a7a8e, 0x47aeaee9, 0x10080818, 0x6fbabad5, 0xf0787888, 0x4a25256f, 0x5c2e2e72, 0x381c1c24, 0x57a6a6f1, 0x73b4b4c7, 0x97c6c651, 0xcbe8e823, 0xa1dddd7c, 0xe874749c, 0x3e1f1f21, 0x964b4bdd, 0x61bdbddc, 0x0d8b8b86, 0x0f8a8a85, 0xe0707090, 0x7c3e3e42, 0x71b5b5c4, 0xcc6666aa, 0x904848d8, 0x06030305, 0xf7f6f601, 0x1c0e0e12, 0xc26161a3, 0x6a35355f, 0xae5757f9, 0x69b9b9d0, 0x17868691, 0x99c1c158, 0x3a1d1d27, 0x279e9eb9, 0xd9e1e138, 0xebf8f813, 0x2b9898b3, 0x22111133, 0xd26969bb, 0xa9d9d970, 0x078e8e89, 0x339494a7, 0x2d9b9bb6, 0x3c1e1e22, 0x15878792, 0xc9e9e920, 0x87cece49, 0xaa5555ff, 0x50282878, 0xa5dfdf7a, 0x038c8c8f, 0x59a1a1f8, 0x09898980, 0x1a0d0d17, 0x65bfbfda, 0xd7e6e631, 0x844242c6, 0xd06868b8, 0x824141c3, 0x299999b0, 0x5a2d2d77, 0x1e0f0f11, 0x7bb0b0cb, 0xa85454fc, 0x6dbbbbd6, 0x2c16163a];\nconst T2 = [0xa5c66363, 0x84f87c7c, 0x99ee7777, 0x8df67b7b, 0x0dfff2f2, 0xbdd66b6b, 0xb1de6f6f, 0x5491c5c5, 0x50603030, 0x03020101, 0xa9ce6767, 0x7d562b2b, 0x19e7fefe, 0x62b5d7d7, 0xe64dabab, 0x9aec7676, 0x458fcaca, 0x9d1f8282, 0x4089c9c9, 0x87fa7d7d, 0x15effafa, 0xebb25959, 0xc98e4747, 0x0bfbf0f0, 0xec41adad, 0x67b3d4d4, 0xfd5fa2a2, 0xea45afaf, 0xbf239c9c, 0xf753a4a4, 0x96e47272, 0x5b9bc0c0, 0xc275b7b7, 0x1ce1fdfd, 0xae3d9393, 0x6a4c2626, 0x5a6c3636, 0x417e3f3f, 0x02f5f7f7, 0x4f83cccc, 0x5c683434, 0xf451a5a5, 0x34d1e5e5, 0x08f9f1f1, 0x93e27171, 0x73abd8d8, 0x53623131, 0x3f2a1515, 0x0c080404, 0x5295c7c7, 0x65462323, 0x5e9dc3c3, 0x28301818, 0xa1379696, 0x0f0a0505, 0xb52f9a9a, 0x090e0707, 0x36241212, 0x9b1b8080, 0x3ddfe2e2, 0x26cdebeb, 0x694e2727, 0xcd7fb2b2, 0x9fea7575, 0x1b120909, 0x9e1d8383, 0x74582c2c, 0x2e341a1a, 0x2d361b1b, 0xb2dc6e6e, 0xeeb45a5a, 0xfb5ba0a0, 0xf6a45252, 0x4d763b3b, 0x61b7d6d6, 0xce7db3b3, 0x7b522929, 0x3edde3e3, 0x715e2f2f, 0x97138484, 0xf5a65353, 0x68b9d1d1, 0x00000000, 0x2cc1eded, 0x60402020, 0x1fe3fcfc, 0xc879b1b1, 0xedb65b5b, 0xbed46a6a, 0x468dcbcb, 0xd967bebe, 0x4b723939, 0xde944a4a, 0xd4984c4c, 0xe8b05858, 0x4a85cfcf, 0x6bbbd0d0, 0x2ac5efef, 0xe54faaaa, 0x16edfbfb, 0xc5864343, 0xd79a4d4d, 0x55663333, 0x94118585, 0xcf8a4545, 0x10e9f9f9, 0x06040202, 0x81fe7f7f, 0xf0a05050, 0x44783c3c, 0xba259f9f, 0xe34ba8a8, 0xf3a25151, 0xfe5da3a3, 0xc0804040, 0x8a058f8f, 0xad3f9292, 0xbc219d9d, 0x48703838, 0x04f1f5f5, 0xdf63bcbc, 0xc177b6b6, 0x75afdada, 0x63422121, 0x30201010, 0x1ae5ffff, 0x0efdf3f3, 0x6dbfd2d2, 0x4c81cdcd, 0x14180c0c, 0x35261313, 0x2fc3ecec, 0xe1be5f5f, 0xa2359797, 0xcc884444, 0x392e1717, 0x5793c4c4, 0xf255a7a7, 0x82fc7e7e, 0x477a3d3d, 0xacc86464, 0xe7ba5d5d, 0x2b321919, 0x95e67373, 0xa0c06060, 0x98198181, 0xd19e4f4f, 0x7fa3dcdc, 0x66442222, 0x7e542a2a, 0xab3b9090, 0x830b8888, 0xca8c4646, 0x29c7eeee, 0xd36bb8b8, 0x3c281414, 0x79a7dede, 0xe2bc5e5e, 0x1d160b0b, 0x76addbdb, 0x3bdbe0e0, 0x56643232, 0x4e743a3a, 0x1e140a0a, 0xdb924949, 0x0a0c0606, 0x6c482424, 0xe4b85c5c, 0x5d9fc2c2, 0x6ebdd3d3, 0xef43acac, 0xa6c46262, 0xa8399191, 0xa4319595, 0x37d3e4e4, 0x8bf27979, 0x32d5e7e7, 0x438bc8c8, 0x596e3737, 0xb7da6d6d, 0x8c018d8d, 0x64b1d5d5, 0xd29c4e4e, 0xe049a9a9, 0xb4d86c6c, 0xfaac5656, 0x07f3f4f4, 0x25cfeaea, 0xafca6565, 0x8ef47a7a, 0xe947aeae, 0x18100808, 0xd56fbaba, 0x88f07878, 0x6f4a2525, 0x725c2e2e, 0x24381c1c, 0xf157a6a6, 0xc773b4b4, 0x5197c6c6, 0x23cbe8e8, 0x7ca1dddd, 0x9ce87474, 0x213e1f1f, 0xdd964b4b, 0xdc61bdbd, 0x860d8b8b, 0x850f8a8a, 0x90e07070, 0x427c3e3e, 0xc471b5b5, 0xaacc6666, 0xd8904848, 0x05060303, 0x01f7f6f6, 0x121c0e0e, 0xa3c26161, 0x5f6a3535, 0xf9ae5757, 0xd069b9b9, 0x91178686, 0x5899c1c1, 0x273a1d1d, 0xb9279e9e, 0x38d9e1e1, 0x13ebf8f8, 0xb32b9898, 0x33221111, 0xbbd26969, 0x70a9d9d9, 0x89078e8e, 0xa7339494, 0xb62d9b9b, 0x223c1e1e, 0x92158787, 0x20c9e9e9, 0x4987cece, 0xffaa5555, 0x78502828, 0x7aa5dfdf, 0x8f038c8c, 0xf859a1a1, 0x80098989, 0x171a0d0d, 0xda65bfbf, 0x31d7e6e6, 0xc6844242, 0xb8d06868, 0xc3824141, 0xb0299999, 0x775a2d2d, 0x111e0f0f, 0xcb7bb0b0, 0xfca85454, 0xd66dbbbb, 0x3a2c1616];\nconst T3 = [0x63a5c663, 0x7c84f87c, 0x7799ee77, 0x7b8df67b, 0xf20dfff2, 0x6bbdd66b, 0x6fb1de6f, 0xc55491c5, 0x30506030, 0x01030201, 0x67a9ce67, 0x2b7d562b, 0xfe19e7fe, 0xd762b5d7, 0xabe64dab, 0x769aec76, 0xca458fca, 0x829d1f82, 0xc94089c9, 0x7d87fa7d, 0xfa15effa, 0x59ebb259, 0x47c98e47, 0xf00bfbf0, 0xadec41ad, 0xd467b3d4, 0xa2fd5fa2, 0xafea45af, 0x9cbf239c, 0xa4f753a4, 0x7296e472, 0xc05b9bc0, 0xb7c275b7, 0xfd1ce1fd, 0x93ae3d93, 0x266a4c26, 0x365a6c36, 0x3f417e3f, 0xf702f5f7, 0xcc4f83cc, 0x345c6834, 0xa5f451a5, 0xe534d1e5, 0xf108f9f1, 0x7193e271, 0xd873abd8, 0x31536231, 0x153f2a15, 0x040c0804, 0xc75295c7, 0x23654623, 0xc35e9dc3, 0x18283018, 0x96a13796, 0x050f0a05, 0x9ab52f9a, 0x07090e07, 0x12362412, 0x809b1b80, 0xe23ddfe2, 0xeb26cdeb, 0x27694e27, 0xb2cd7fb2, 0x759fea75, 0x091b1209, 0x839e1d83, 0x2c74582c, 0x1a2e341a, 0x1b2d361b, 0x6eb2dc6e, 0x5aeeb45a, 0xa0fb5ba0, 0x52f6a452, 0x3b4d763b, 0xd661b7d6, 0xb3ce7db3, 0x297b5229, 0xe33edde3, 0x2f715e2f, 0x84971384, 0x53f5a653, 0xd168b9d1, 0x00000000, 0xed2cc1ed, 0x20604020, 0xfc1fe3fc, 0xb1c879b1, 0x5bedb65b, 0x6abed46a, 0xcb468dcb, 0xbed967be, 0x394b7239, 0x4ade944a, 0x4cd4984c, 0x58e8b058, 0xcf4a85cf, 0xd06bbbd0, 0xef2ac5ef, 0xaae54faa, 0xfb16edfb, 0x43c58643, 0x4dd79a4d, 0x33556633, 0x85941185, 0x45cf8a45, 0xf910e9f9, 0x02060402, 0x7f81fe7f, 0x50f0a050, 0x3c44783c, 0x9fba259f, 0xa8e34ba8, 0x51f3a251, 0xa3fe5da3, 0x40c08040, 0x8f8a058f, 0x92ad3f92, 0x9dbc219d, 0x38487038, 0xf504f1f5, 0xbcdf63bc, 0xb6c177b6, 0xda75afda, 0x21634221, 0x10302010, 0xff1ae5ff, 0xf30efdf3, 0xd26dbfd2, 0xcd4c81cd, 0x0c14180c, 0x13352613, 0xec2fc3ec, 0x5fe1be5f, 0x97a23597, 0x44cc8844, 0x17392e17, 0xc45793c4, 0xa7f255a7, 0x7e82fc7e, 0x3d477a3d, 0x64acc864, 0x5de7ba5d, 0x192b3219, 0x7395e673, 0x60a0c060, 0x81981981, 0x4fd19e4f, 0xdc7fa3dc, 0x22664422, 0x2a7e542a, 0x90ab3b90, 0x88830b88, 0x46ca8c46, 0xee29c7ee, 0xb8d36bb8, 0x143c2814, 0xde79a7de, 0x5ee2bc5e, 0x0b1d160b, 0xdb76addb, 0xe03bdbe0, 0x32566432, 0x3a4e743a, 0x0a1e140a, 0x49db9249, 0x060a0c06, 0x246c4824, 0x5ce4b85c, 0xc25d9fc2, 0xd36ebdd3, 0xacef43ac, 0x62a6c462, 0x91a83991, 0x95a43195, 0xe437d3e4, 0x798bf279, 0xe732d5e7, 0xc8438bc8, 0x37596e37, 0x6db7da6d, 0x8d8c018d, 0xd564b1d5, 0x4ed29c4e, 0xa9e049a9, 0x6cb4d86c, 0x56faac56, 0xf407f3f4, 0xea25cfea, 0x65afca65, 0x7a8ef47a, 0xaee947ae, 0x08181008, 0xbad56fba, 0x7888f078, 0x256f4a25, 0x2e725c2e, 0x1c24381c, 0xa6f157a6, 0xb4c773b4, 0xc65197c6, 0xe823cbe8, 0xdd7ca1dd, 0x749ce874, 0x1f213e1f, 0x4bdd964b, 0xbddc61bd, 0x8b860d8b, 0x8a850f8a, 0x7090e070, 0x3e427c3e, 0xb5c471b5, 0x66aacc66, 0x48d89048, 0x03050603, 0xf601f7f6, 0x0e121c0e, 0x61a3c261, 0x355f6a35, 0x57f9ae57, 0xb9d069b9, 0x86911786, 0xc15899c1, 0x1d273a1d, 0x9eb9279e, 0xe138d9e1, 0xf813ebf8, 0x98b32b98, 0x11332211, 0x69bbd269, 0xd970a9d9, 0x8e89078e, 0x94a73394, 0x9bb62d9b, 0x1e223c1e, 0x87921587, 0xe920c9e9, 0xce4987ce, 0x55ffaa55, 0x28785028, 0xdf7aa5df, 0x8c8f038c, 0xa1f859a1, 0x89800989, 0x0d171a0d, 0xbfda65bf, 0xe631d7e6, 0x42c68442, 0x68b8d068, 0x41c38241, 0x99b02999, 0x2d775a2d, 0x0f111e0f, 0xb0cb7bb0, 0x54fca854, 0xbbd66dbb, 0x163a2c16];\nconst T4 = [0x6363a5c6, 0x7c7c84f8, 0x777799ee, 0x7b7b8df6, 0xf2f20dff, 0x6b6bbdd6, 0x6f6fb1de, 0xc5c55491, 0x30305060, 0x01010302, 0x6767a9ce, 0x2b2b7d56, 0xfefe19e7, 0xd7d762b5, 0xababe64d, 0x76769aec, 0xcaca458f, 0x82829d1f, 0xc9c94089, 0x7d7d87fa, 0xfafa15ef, 0x5959ebb2, 0x4747c98e, 0xf0f00bfb, 0xadadec41, 0xd4d467b3, 0xa2a2fd5f, 0xafafea45, 0x9c9cbf23, 0xa4a4f753, 0x727296e4, 0xc0c05b9b, 0xb7b7c275, 0xfdfd1ce1, 0x9393ae3d, 0x26266a4c, 0x36365a6c, 0x3f3f417e, 0xf7f702f5, 0xcccc4f83, 0x34345c68, 0xa5a5f451, 0xe5e534d1, 0xf1f108f9, 0x717193e2, 0xd8d873ab, 0x31315362, 0x15153f2a, 0x04040c08, 0xc7c75295, 0x23236546, 0xc3c35e9d, 0x18182830, 0x9696a137, 0x05050f0a, 0x9a9ab52f, 0x0707090e, 0x12123624, 0x80809b1b, 0xe2e23ddf, 0xebeb26cd, 0x2727694e, 0xb2b2cd7f, 0x75759fea, 0x09091b12, 0x83839e1d, 0x2c2c7458, 0x1a1a2e34, 0x1b1b2d36, 0x6e6eb2dc, 0x5a5aeeb4, 0xa0a0fb5b, 0x5252f6a4, 0x3b3b4d76, 0xd6d661b7, 0xb3b3ce7d, 0x29297b52, 0xe3e33edd, 0x2f2f715e, 0x84849713, 0x5353f5a6, 0xd1d168b9, 0x00000000, 0xeded2cc1, 0x20206040, 0xfcfc1fe3, 0xb1b1c879, 0x5b5bedb6, 0x6a6abed4, 0xcbcb468d, 0xbebed967, 0x39394b72, 0x4a4ade94, 0x4c4cd498, 0x5858e8b0, 0xcfcf4a85, 0xd0d06bbb, 0xefef2ac5, 0xaaaae54f, 0xfbfb16ed, 0x4343c586, 0x4d4dd79a, 0x33335566, 0x85859411, 0x4545cf8a, 0xf9f910e9, 0x02020604, 0x7f7f81fe, 0x5050f0a0, 0x3c3c4478, 0x9f9fba25, 0xa8a8e34b, 0x5151f3a2, 0xa3a3fe5d, 0x4040c080, 0x8f8f8a05, 0x9292ad3f, 0x9d9dbc21, 0x38384870, 0xf5f504f1, 0xbcbcdf63, 0xb6b6c177, 0xdada75af, 0x21216342, 0x10103020, 0xffff1ae5, 0xf3f30efd, 0xd2d26dbf, 0xcdcd4c81, 0x0c0c1418, 0x13133526, 0xecec2fc3, 0x5f5fe1be, 0x9797a235, 0x4444cc88, 0x1717392e, 0xc4c45793, 0xa7a7f255, 0x7e7e82fc, 0x3d3d477a, 0x6464acc8, 0x5d5de7ba, 0x19192b32, 0x737395e6, 0x6060a0c0, 0x81819819, 0x4f4fd19e, 0xdcdc7fa3, 0x22226644, 0x2a2a7e54, 0x9090ab3b, 0x8888830b, 0x4646ca8c, 0xeeee29c7, 0xb8b8d36b, 0x14143c28, 0xdede79a7, 0x5e5ee2bc, 0x0b0b1d16, 0xdbdb76ad, 0xe0e03bdb, 0x32325664, 0x3a3a4e74, 0x0a0a1e14, 0x4949db92, 0x06060a0c, 0x24246c48, 0x5c5ce4b8, 0xc2c25d9f, 0xd3d36ebd, 0xacacef43, 0x6262a6c4, 0x9191a839, 0x9595a431, 0xe4e437d3, 0x79798bf2, 0xe7e732d5, 0xc8c8438b, 0x3737596e, 0x6d6db7da, 0x8d8d8c01, 0xd5d564b1, 0x4e4ed29c, 0xa9a9e049, 0x6c6cb4d8, 0x5656faac, 0xf4f407f3, 0xeaea25cf, 0x6565afca, 0x7a7a8ef4, 0xaeaee947, 0x08081810, 0xbabad56f, 0x787888f0, 0x25256f4a, 0x2e2e725c, 0x1c1c2438, 0xa6a6f157, 0xb4b4c773, 0xc6c65197, 0xe8e823cb, 0xdddd7ca1, 0x74749ce8, 0x1f1f213e, 0x4b4bdd96, 0xbdbddc61, 0x8b8b860d, 0x8a8a850f, 0x707090e0, 0x3e3e427c, 0xb5b5c471, 0x6666aacc, 0x4848d890, 0x03030506, 0xf6f601f7, 0x0e0e121c, 0x6161a3c2, 0x35355f6a, 0x5757f9ae, 0xb9b9d069, 0x86869117, 0xc1c15899, 0x1d1d273a, 0x9e9eb927, 0xe1e138d9, 0xf8f813eb, 0x9898b32b, 0x11113322, 0x6969bbd2, 0xd9d970a9, 0x8e8e8907, 0x9494a733, 0x9b9bb62d, 0x1e1e223c, 0x87879215, 0xe9e920c9, 0xcece4987, 0x5555ffaa, 0x28287850, 0xdfdf7aa5, 0x8c8c8f03, 0xa1a1f859, 0x89898009, 0x0d0d171a, 0xbfbfda65, 0xe6e631d7, 0x4242c684, 0x6868b8d0, 0x4141c382, 0x9999b029, 0x2d2d775a, 0x0f0f111e, 0xb0b0cb7b, 0x5454fca8, 0xbbbbd66d, 0x16163a2c];\n// Transformations for decryption\nconst T5 = [0x51f4a750, 0x7e416553, 0x1a17a4c3, 0x3a275e96, 0x3bab6bcb, 0x1f9d45f1, 0xacfa58ab, 0x4be30393, 0x2030fa55, 0xad766df6, 0x88cc7691, 0xf5024c25, 0x4fe5d7fc, 0xc52acbd7, 0x26354480, 0xb562a38f, 0xdeb15a49, 0x25ba1b67, 0x45ea0e98, 0x5dfec0e1, 0xc32f7502, 0x814cf012, 0x8d4697a3, 0x6bd3f9c6, 0x038f5fe7, 0x15929c95, 0xbf6d7aeb, 0x955259da, 0xd4be832d, 0x587421d3, 0x49e06929, 0x8ec9c844, 0x75c2896a, 0xf48e7978, 0x99583e6b, 0x27b971dd, 0xbee14fb6, 0xf088ad17, 0xc920ac66, 0x7dce3ab4, 0x63df4a18, 0xe51a3182, 0x97513360, 0x62537f45, 0xb16477e0, 0xbb6bae84, 0xfe81a01c, 0xf9082b94, 0x70486858, 0x8f45fd19, 0x94de6c87, 0x527bf8b7, 0xab73d323, 0x724b02e2, 0xe31f8f57, 0x6655ab2a, 0xb2eb2807, 0x2fb5c203, 0x86c57b9a, 0xd33708a5, 0x302887f2, 0x23bfa5b2, 0x02036aba, 0xed16825c, 0x8acf1c2b, 0xa779b492, 0xf307f2f0, 0x4e69e2a1, 0x65daf4cd, 0x0605bed5, 0xd134621f, 0xc4a6fe8a, 0x342e539d, 0xa2f355a0, 0x058ae132, 0xa4f6eb75, 0x0b83ec39, 0x4060efaa, 0x5e719f06, 0xbd6e1051, 0x3e218af9, 0x96dd063d, 0xdd3e05ae, 0x4de6bd46, 0x91548db5, 0x71c45d05, 0x0406d46f, 0x605015ff, 0x1998fb24, 0xd6bde997, 0x894043cc, 0x67d99e77, 0xb0e842bd, 0x07898b88, 0xe7195b38, 0x79c8eedb, 0xa17c0a47, 0x7c420fe9, 0xf8841ec9, 0x00000000, 0x09808683, 0x322bed48, 0x1e1170ac, 0x6c5a724e, 0xfd0efffb, 0x0f853856, 0x3daed51e, 0x362d3927, 0x0a0fd964, 0x685ca621, 0x9b5b54d1, 0x24362e3a, 0x0c0a67b1, 0x9357e70f, 0xb4ee96d2, 0x1b9b919e, 0x80c0c54f, 0x61dc20a2, 0x5a774b69, 0x1c121a16, 0xe293ba0a, 0xc0a02ae5, 0x3c22e043, 0x121b171d, 0x0e090d0b, 0xf28bc7ad, 0x2db6a8b9, 0x141ea9c8, 0x57f11985, 0xaf75074c, 0xee99ddbb, 0xa37f60fd, 0xf701269f, 0x5c72f5bc, 0x44663bc5, 0x5bfb7e34, 0x8b432976, 0xcb23c6dc, 0xb6edfc68, 0xb8e4f163, 0xd731dcca, 0x42638510, 0x13972240, 0x84c61120, 0x854a247d, 0xd2bb3df8, 0xaef93211, 0xc729a16d, 0x1d9e2f4b, 0xdcb230f3, 0x0d8652ec, 0x77c1e3d0, 0x2bb3166c, 0xa970b999, 0x119448fa, 0x47e96422, 0xa8fc8cc4, 0xa0f03f1a, 0x567d2cd8, 0x223390ef, 0x87494ec7, 0xd938d1c1, 0x8ccaa2fe, 0x98d40b36, 0xa6f581cf, 0xa57ade28, 0xdab78e26, 0x3fadbfa4, 0x2c3a9de4, 0x5078920d, 0x6a5fcc9b, 0x547e4662, 0xf68d13c2, 0x90d8b8e8, 0x2e39f75e, 0x82c3aff5, 0x9f5d80be, 0x69d0937c, 0x6fd52da9, 0xcf2512b3, 0xc8ac993b, 0x10187da7, 0xe89c636e, 0xdb3bbb7b, 0xcd267809, 0x6e5918f4, 0xec9ab701, 0x834f9aa8, 0xe6956e65, 0xaaffe67e, 0x21bccf08, 0xef15e8e6, 0xbae79bd9, 0x4a6f36ce, 0xea9f09d4, 0x29b07cd6, 0x31a4b2af, 0x2a3f2331, 0xc6a59430, 0x35a266c0, 0x744ebc37, 0xfc82caa6, 0xe090d0b0, 0x33a7d815, 0xf104984a, 0x41ecdaf7, 0x7fcd500e, 0x1791f62f, 0x764dd68d, 0x43efb04d, 0xccaa4d54, 0xe49604df, 0x9ed1b5e3, 0x4c6a881b, 0xc12c1fb8, 0x4665517f, 0x9d5eea04, 0x018c355d, 0xfa877473, 0xfb0b412e, 0xb3671d5a, 0x92dbd252, 0xe9105633, 0x6dd64713, 0x9ad7618c, 0x37a10c7a, 0x59f8148e, 0xeb133c89, 0xcea927ee, 0xb761c935, 0xe11ce5ed, 0x7a47b13c, 0x9cd2df59, 0x55f2733f, 0x1814ce79, 0x73c737bf, 0x53f7cdea, 0x5ffdaa5b, 0xdf3d6f14, 0x7844db86, 0xcaaff381, 0xb968c43e, 0x3824342c, 0xc2a3405f, 0x161dc372, 0xbce2250c, 0x283c498b, 0xff0d9541, 0x39a80171, 0x080cb3de, 0xd8b4e49c, 0x6456c190, 0x7bcb8461, 0xd532b670, 0x486c5c74, 0xd0b85742];\nconst T6 = [0x5051f4a7, 0x537e4165, 0xc31a17a4, 0x963a275e, 0xcb3bab6b, 0xf11f9d45, 0xabacfa58, 0x934be303, 0x552030fa, 0xf6ad766d, 0x9188cc76, 0x25f5024c, 0xfc4fe5d7, 0xd7c52acb, 0x80263544, 0x8fb562a3, 0x49deb15a, 0x6725ba1b, 0x9845ea0e, 0xe15dfec0, 0x02c32f75, 0x12814cf0, 0xa38d4697, 0xc66bd3f9, 0xe7038f5f, 0x9515929c, 0xebbf6d7a, 0xda955259, 0x2dd4be83, 0xd3587421, 0x2949e069, 0x448ec9c8, 0x6a75c289, 0x78f48e79, 0x6b99583e, 0xdd27b971, 0xb6bee14f, 0x17f088ad, 0x66c920ac, 0xb47dce3a, 0x1863df4a, 0x82e51a31, 0x60975133, 0x4562537f, 0xe0b16477, 0x84bb6bae, 0x1cfe81a0, 0x94f9082b, 0x58704868, 0x198f45fd, 0x8794de6c, 0xb7527bf8, 0x23ab73d3, 0xe2724b02, 0x57e31f8f, 0x2a6655ab, 0x07b2eb28, 0x032fb5c2, 0x9a86c57b, 0xa5d33708, 0xf2302887, 0xb223bfa5, 0xba02036a, 0x5ced1682, 0x2b8acf1c, 0x92a779b4, 0xf0f307f2, 0xa14e69e2, 0xcd65daf4, 0xd50605be, 0x1fd13462, 0x8ac4a6fe, 0x9d342e53, 0xa0a2f355, 0x32058ae1, 0x75a4f6eb, 0x390b83ec, 0xaa4060ef, 0x065e719f, 0x51bd6e10, 0xf93e218a, 0x3d96dd06, 0xaedd3e05, 0x464de6bd, 0xb591548d, 0x0571c45d, 0x6f0406d4, 0xff605015, 0x241998fb, 0x97d6bde9, 0xcc894043, 0x7767d99e, 0xbdb0e842, 0x8807898b, 0x38e7195b, 0xdb79c8ee, 0x47a17c0a, 0xe97c420f, 0xc9f8841e, 0x00000000, 0x83098086, 0x48322bed, 0xac1e1170, 0x4e6c5a72, 0xfbfd0eff, 0x560f8538, 0x1e3daed5, 0x27362d39, 0x640a0fd9, 0x21685ca6, 0xd19b5b54, 0x3a24362e, 0xb10c0a67, 0x0f9357e7, 0xd2b4ee96, 0x9e1b9b91, 0x4f80c0c5, 0xa261dc20, 0x695a774b, 0x161c121a, 0x0ae293ba, 0xe5c0a02a, 0x433c22e0, 0x1d121b17, 0x0b0e090d, 0xadf28bc7, 0xb92db6a8, 0xc8141ea9, 0x8557f119, 0x4caf7507, 0xbbee99dd, 0xfda37f60, 0x9ff70126, 0xbc5c72f5, 0xc544663b, 0x345bfb7e, 0x768b4329, 0xdccb23c6, 0x68b6edfc, 0x63b8e4f1, 0xcad731dc, 0x10426385, 0x40139722, 0x2084c611, 0x7d854a24, 0xf8d2bb3d, 0x11aef932, 0x6dc729a1, 0x4b1d9e2f, 0xf3dcb230, 0xec0d8652, 0xd077c1e3, 0x6c2bb316, 0x99a970b9, 0xfa119448, 0x2247e964, 0xc4a8fc8c, 0x1aa0f03f, 0xd8567d2c, 0xef223390, 0xc787494e, 0xc1d938d1, 0xfe8ccaa2, 0x3698d40b, 0xcfa6f581, 0x28a57ade, 0x26dab78e, 0xa43fadbf, 0xe42c3a9d, 0x0d507892, 0x9b6a5fcc, 0x62547e46, 0xc2f68d13, 0xe890d8b8, 0x5e2e39f7, 0xf582c3af, 0xbe9f5d80, 0x7c69d093, 0xa96fd52d, 0xb3cf2512, 0x3bc8ac99, 0xa710187d, 0x6ee89c63, 0x7bdb3bbb, 0x09cd2678, 0xf46e5918, 0x01ec9ab7, 0xa8834f9a, 0x65e6956e, 0x7eaaffe6, 0x0821bccf, 0xe6ef15e8, 0xd9bae79b, 0xce4a6f36, 0xd4ea9f09, 0xd629b07c, 0xaf31a4b2, 0x312a3f23, 0x30c6a594, 0xc035a266, 0x37744ebc, 0xa6fc82ca, 0xb0e090d0, 0x1533a7d8, 0x4af10498, 0xf741ecda, 0x0e7fcd50, 0x2f1791f6, 0x8d764dd6, 0x4d43efb0, 0x54ccaa4d, 0xdfe49604, 0xe39ed1b5, 0x1b4c6a88, 0xb8c12c1f, 0x7f466551, 0x049d5eea, 0x5d018c35, 0x73fa8774, 0x2efb0b41, 0x5ab3671d, 0x5292dbd2, 0x33e91056, 0x136dd647, 0x8c9ad761, 0x7a37a10c, 0x8e59f814, 0x89eb133c, 0xeecea927, 0x35b761c9, 0xede11ce5, 0x3c7a47b1, 0x599cd2df, 0x3f55f273, 0x791814ce, 0xbf73c737, 0xea53f7cd, 0x5b5ffdaa, 0x14df3d6f, 0x867844db, 0x81caaff3, 0x3eb968c4, 0x2c382434, 0x5fc2a340, 0x72161dc3, 0x0cbce225, 0x8b283c49, 0x41ff0d95, 0x7139a801, 0xde080cb3, 0x9cd8b4e4, 0x906456c1, 0x617bcb84, 0x70d532b6, 0x74486c5c, 0x42d0b857];\nconst T7 = [0xa75051f4, 0x65537e41, 0xa4c31a17, 0x5e963a27, 0x6bcb3bab, 0x45f11f9d, 0x58abacfa, 0x03934be3, 0xfa552030, 0x6df6ad76, 0x769188cc, 0x4c25f502, 0xd7fc4fe5, 0xcbd7c52a, 0x44802635, 0xa38fb562, 0x5a49deb1, 0x1b6725ba, 0x0e9845ea, 0xc0e15dfe, 0x7502c32f, 0xf012814c, 0x97a38d46, 0xf9c66bd3, 0x5fe7038f, 0x9c951592, 0x7aebbf6d, 0x59da9552, 0x832dd4be, 0x21d35874, 0x692949e0, 0xc8448ec9, 0x896a75c2, 0x7978f48e, 0x3e6b9958, 0x71dd27b9, 0x4fb6bee1, 0xad17f088, 0xac66c920, 0x3ab47dce, 0x4a1863df, 0x3182e51a, 0x33609751, 0x7f456253, 0x77e0b164, 0xae84bb6b, 0xa01cfe81, 0x2b94f908, 0x68587048, 0xfd198f45, 0x6c8794de, 0xf8b7527b, 0xd323ab73, 0x02e2724b, 0x8f57e31f, 0xab2a6655, 0x2807b2eb, 0xc2032fb5, 0x7b9a86c5, 0x08a5d337, 0x87f23028, 0xa5b223bf, 0x6aba0203, 0x825ced16, 0x1c2b8acf, 0xb492a779, 0xf2f0f307, 0xe2a14e69, 0xf4cd65da, 0xbed50605, 0x621fd134, 0xfe8ac4a6, 0x539d342e, 0x55a0a2f3, 0xe132058a, 0xeb75a4f6, 0xec390b83, 0xefaa4060, 0x9f065e71, 0x1051bd6e, 0x8af93e21, 0x063d96dd, 0x05aedd3e, 0xbd464de6, 0x8db59154, 0x5d0571c4, 0xd46f0406, 0x15ff6050, 0xfb241998, 0xe997d6bd, 0x43cc8940, 0x9e7767d9, 0x42bdb0e8, 0x8b880789, 0x5b38e719, 0xeedb79c8, 0x0a47a17c, 0x0fe97c42, 0x1ec9f884, 0x00000000, 0x86830980, 0xed48322b, 0x70ac1e11, 0x724e6c5a, 0xfffbfd0e, 0x38560f85, 0xd51e3dae, 0x3927362d, 0xd9640a0f, 0xa621685c, 0x54d19b5b, 0x2e3a2436, 0x67b10c0a, 0xe70f9357, 0x96d2b4ee, 0x919e1b9b, 0xc54f80c0, 0x20a261dc, 0x4b695a77, 0x1a161c12, 0xba0ae293, 0x2ae5c0a0, 0xe0433c22, 0x171d121b, 0x0d0b0e09, 0xc7adf28b, 0xa8b92db6, 0xa9c8141e, 0x198557f1, 0x074caf75, 0xddbbee99, 0x60fda37f, 0x269ff701, 0xf5bc5c72, 0x3bc54466, 0x7e345bfb, 0x29768b43, 0xc6dccb23, 0xfc68b6ed, 0xf163b8e4, 0xdccad731, 0x85104263, 0x22401397, 0x112084c6, 0x247d854a, 0x3df8d2bb, 0x3211aef9, 0xa16dc729, 0x2f4b1d9e, 0x30f3dcb2, 0x52ec0d86, 0xe3d077c1, 0x166c2bb3, 0xb999a970, 0x48fa1194, 0x642247e9, 0x8cc4a8fc, 0x3f1aa0f0, 0x2cd8567d, 0x90ef2233, 0x4ec78749, 0xd1c1d938, 0xa2fe8cca, 0x0b3698d4, 0x81cfa6f5, 0xde28a57a, 0x8e26dab7, 0xbfa43fad, 0x9de42c3a, 0x920d5078, 0xcc9b6a5f, 0x4662547e, 0x13c2f68d, 0xb8e890d8, 0xf75e2e39, 0xaff582c3, 0x80be9f5d, 0x937c69d0, 0x2da96fd5, 0x12b3cf25, 0x993bc8ac, 0x7da71018, 0x636ee89c, 0xbb7bdb3b, 0x7809cd26, 0x18f46e59, 0xb701ec9a, 0x9aa8834f, 0x6e65e695, 0xe67eaaff, 0xcf0821bc, 0xe8e6ef15, 0x9bd9bae7, 0x36ce4a6f, 0x09d4ea9f, 0x7cd629b0, 0xb2af31a4, 0x23312a3f, 0x9430c6a5, 0x66c035a2, 0xbc37744e, 0xcaa6fc82, 0xd0b0e090, 0xd81533a7, 0x984af104, 0xdaf741ec, 0x500e7fcd, 0xf62f1791, 0xd68d764d, 0xb04d43ef, 0x4d54ccaa, 0x04dfe496, 0xb5e39ed1, 0x881b4c6a, 0x1fb8c12c, 0x517f4665, 0xea049d5e, 0x355d018c, 0x7473fa87, 0x412efb0b, 0x1d5ab367, 0xd25292db, 0x5633e910, 0x47136dd6, 0x618c9ad7, 0x0c7a37a1, 0x148e59f8, 0x3c89eb13, 0x27eecea9, 0xc935b761, 0xe5ede11c, 0xb13c7a47, 0xdf599cd2, 0x733f55f2, 0xce791814, 0x37bf73c7, 0xcdea53f7, 0xaa5b5ffd, 0x6f14df3d, 0xdb867844, 0xf381caaf, 0xc43eb968, 0x342c3824, 0x405fc2a3, 0xc372161d, 0x250cbce2, 0x498b283c, 0x9541ff0d, 0x017139a8, 0xb3de080c, 0xe49cd8b4, 0xc1906456, 0x84617bcb, 0xb670d532, 0x5c74486c, 0x5742d0b8];\nconst T8 = [0xf4a75051, 0x4165537e, 0x17a4c31a, 0x275e963a, 0xab6bcb3b, 0x9d45f11f, 0xfa58abac, 0xe303934b, 0x30fa5520, 0x766df6ad, 0xcc769188, 0x024c25f5, 0xe5d7fc4f, 0x2acbd7c5, 0x35448026, 0x62a38fb5, 0xb15a49de, 0xba1b6725, 0xea0e9845, 0xfec0e15d, 0x2f7502c3, 0x4cf01281, 0x4697a38d, 0xd3f9c66b, 0x8f5fe703, 0x929c9515, 0x6d7aebbf, 0x5259da95, 0xbe832dd4, 0x7421d358, 0xe0692949, 0xc9c8448e, 0xc2896a75, 0x8e7978f4, 0x583e6b99, 0xb971dd27, 0xe14fb6be, 0x88ad17f0, 0x20ac66c9, 0xce3ab47d, 0xdf4a1863, 0x1a3182e5, 0x51336097, 0x537f4562, 0x6477e0b1, 0x6bae84bb, 0x81a01cfe, 0x082b94f9, 0x48685870, 0x45fd198f, 0xde6c8794, 0x7bf8b752, 0x73d323ab, 0x4b02e272, 0x1f8f57e3, 0x55ab2a66, 0xeb2807b2, 0xb5c2032f, 0xc57b9a86, 0x3708a5d3, 0x2887f230, 0xbfa5b223, 0x036aba02, 0x16825ced, 0xcf1c2b8a, 0x79b492a7, 0x07f2f0f3, 0x69e2a14e, 0xdaf4cd65, 0x05bed506, 0x34621fd1, 0xa6fe8ac4, 0x2e539d34, 0xf355a0a2, 0x8ae13205, 0xf6eb75a4, 0x83ec390b, 0x60efaa40, 0x719f065e, 0x6e1051bd, 0x218af93e, 0xdd063d96, 0x3e05aedd, 0xe6bd464d, 0x548db591, 0xc45d0571, 0x06d46f04, 0x5015ff60, 0x98fb2419, 0xbde997d6, 0x4043cc89, 0xd99e7767, 0xe842bdb0, 0x898b8807, 0x195b38e7, 0xc8eedb79, 0x7c0a47a1, 0x420fe97c, 0x841ec9f8, 0x00000000, 0x80868309, 0x2bed4832, 0x1170ac1e, 0x5a724e6c, 0x0efffbfd, 0x8538560f, 0xaed51e3d, 0x2d392736, 0x0fd9640a, 0x5ca62168, 0x5b54d19b, 0x362e3a24, 0x0a67b10c, 0x57e70f93, 0xee96d2b4, 0x9b919e1b, 0xc0c54f80, 0xdc20a261, 0x774b695a, 0x121a161c, 0x93ba0ae2, 0xa02ae5c0, 0x22e0433c, 0x1b171d12, 0x090d0b0e, 0x8bc7adf2, 0xb6a8b92d, 0x1ea9c814, 0xf1198557, 0x75074caf, 0x99ddbbee, 0x7f60fda3, 0x01269ff7, 0x72f5bc5c, 0x663bc544, 0xfb7e345b, 0x4329768b, 0x23c6dccb, 0xedfc68b6, 0xe4f163b8, 0x31dccad7, 0x63851042, 0x97224013, 0xc6112084, 0x4a247d85, 0xbb3df8d2, 0xf93211ae, 0x29a16dc7, 0x9e2f4b1d, 0xb230f3dc, 0x8652ec0d, 0xc1e3d077, 0xb3166c2b, 0x70b999a9, 0x9448fa11, 0xe9642247, 0xfc8cc4a8, 0xf03f1aa0, 0x7d2cd856, 0x3390ef22, 0x494ec787, 0x38d1c1d9, 0xcaa2fe8c, 0xd40b3698, 0xf581cfa6, 0x7ade28a5, 0xb78e26da, 0xadbfa43f, 0x3a9de42c, 0x78920d50, 0x5fcc9b6a, 0x7e466254, 0x8d13c2f6, 0xd8b8e890, 0x39f75e2e, 0xc3aff582, 0x5d80be9f, 0xd0937c69, 0xd52da96f, 0x2512b3cf, 0xac993bc8, 0x187da710, 0x9c636ee8, 0x3bbb7bdb, 0x267809cd, 0x5918f46e, 0x9ab701ec, 0x4f9aa883, 0x956e65e6, 0xffe67eaa, 0xbccf0821, 0x15e8e6ef, 0xe79bd9ba, 0x6f36ce4a, 0x9f09d4ea, 0xb07cd629, 0xa4b2af31, 0x3f23312a, 0xa59430c6, 0xa266c035, 0x4ebc3774, 0x82caa6fc, 0x90d0b0e0, 0xa7d81533, 0x04984af1, 0xecdaf741, 0xcd500e7f, 0x91f62f17, 0x4dd68d76, 0xefb04d43, 0xaa4d54cc, 0x9604dfe4, 0xd1b5e39e, 0x6a881b4c, 0x2c1fb8c1, 0x65517f46, 0x5eea049d, 0x8c355d01, 0x877473fa, 0x0b412efb, 0x671d5ab3, 0xdbd25292, 0x105633e9, 0xd647136d, 0xd7618c9a, 0xa10c7a37, 0xf8148e59, 0x133c89eb, 0xa927eece, 0x61c935b7, 0x1ce5ede1, 0x47b13c7a, 0xd2df599c, 0xf2733f55, 0x14ce7918, 0xc737bf73, 0xf7cdea53, 0xfdaa5b5f, 0x3d6f14df, 0x44db8678, 0xaff381ca, 0x68c43eb9, 0x24342c38, 0xa3405fc2, 0x1dc37216, 0xe2250cbc, 0x3c498b28, 0x0d9541ff, 0xa8017139, 0x0cb3de08, 0xb4e49cd8, 0x56c19064, 0xcb84617b, 0x32b670d5, 0x6c5c7448, 0xb85742d0];\n// Transformations for decryption key expansion\nconst U1 = [0x00000000, 0x0e090d0b, 0x1c121a16, 0x121b171d, 0x3824342c, 0x362d3927, 0x24362e3a, 0x2a3f2331, 0x70486858, 0x7e416553, 0x6c5a724e, 0x62537f45, 0x486c5c74, 0x4665517f, 0x547e4662, 0x5a774b69, 0xe090d0b0, 0xee99ddbb, 0xfc82caa6, 0xf28bc7ad, 0xd8b4e49c, 0xd6bde997, 0xc4a6fe8a, 0xcaaff381, 0x90d8b8e8, 0x9ed1b5e3, 0x8ccaa2fe, 0x82c3aff5, 0xa8fc8cc4, 0xa6f581cf, 0xb4ee96d2, 0xbae79bd9, 0xdb3bbb7b, 0xd532b670, 0xc729a16d, 0xc920ac66, 0xe31f8f57, 0xed16825c, 0xff0d9541, 0xf104984a, 0xab73d323, 0xa57ade28, 0xb761c935, 0xb968c43e, 0x9357e70f, 0x9d5eea04, 0x8f45fd19, 0x814cf012, 0x3bab6bcb, 0x35a266c0, 0x27b971dd, 0x29b07cd6, 0x038f5fe7, 0x0d8652ec, 0x1f9d45f1, 0x119448fa, 0x4be30393, 0x45ea0e98, 0x57f11985, 0x59f8148e, 0x73c737bf, 0x7dce3ab4, 0x6fd52da9, 0x61dc20a2, 0xad766df6, 0xa37f60fd, 0xb16477e0, 0xbf6d7aeb, 0x955259da, 0x9b5b54d1, 0x894043cc, 0x87494ec7, 0xdd3e05ae, 0xd33708a5, 0xc12c1fb8, 0xcf2512b3, 0xe51a3182, 0xeb133c89, 0xf9082b94, 0xf701269f, 0x4de6bd46, 0x43efb04d, 0x51f4a750, 0x5ffdaa5b, 0x75c2896a, 0x7bcb8461, 0x69d0937c, 0x67d99e77, 0x3daed51e, 0x33a7d815, 0x21bccf08, 0x2fb5c203, 0x058ae132, 0x0b83ec39, 0x1998fb24, 0x1791f62f, 0x764dd68d, 0x7844db86, 0x6a5fcc9b, 0x6456c190, 0x4e69e2a1, 0x4060efaa, 0x527bf8b7, 0x5c72f5bc, 0x0605bed5, 0x080cb3de, 0x1a17a4c3, 0x141ea9c8, 0x3e218af9, 0x302887f2, 0x223390ef, 0x2c3a9de4, 0x96dd063d, 0x98d40b36, 0x8acf1c2b, 0x84c61120, 0xaef93211, 0xa0f03f1a, 0xb2eb2807, 0xbce2250c, 0xe6956e65, 0xe89c636e, 0xfa877473, 0xf48e7978, 0xdeb15a49, 0xd0b85742, 0xc2a3405f, 0xccaa4d54, 0x41ecdaf7, 0x4fe5d7fc, 0x5dfec0e1, 0x53f7cdea, 0x79c8eedb, 0x77c1e3d0, 0x65daf4cd, 0x6bd3f9c6, 0x31a4b2af, 0x3fadbfa4, 0x2db6a8b9, 0x23bfa5b2, 0x09808683, 0x07898b88, 0x15929c95, 0x1b9b919e, 0xa17c0a47, 0xaf75074c, 0xbd6e1051, 0xb3671d5a, 0x99583e6b, 0x97513360, 0x854a247d, 0x8b432976, 0xd134621f, 0xdf3d6f14, 0xcd267809, 0xc32f7502, 0xe9105633, 0xe7195b38, 0xf5024c25, 0xfb0b412e, 0x9ad7618c, 0x94de6c87, 0x86c57b9a, 0x88cc7691, 0xa2f355a0, 0xacfa58ab, 0xbee14fb6, 0xb0e842bd, 0xea9f09d4, 0xe49604df, 0xf68d13c2, 0xf8841ec9, 0xd2bb3df8, 0xdcb230f3, 0xcea927ee, 0xc0a02ae5, 0x7a47b13c, 0x744ebc37, 0x6655ab2a, 0x685ca621, 0x42638510, 0x4c6a881b, 0x5e719f06, 0x5078920d, 0x0a0fd964, 0x0406d46f, 0x161dc372, 0x1814ce79, 0x322bed48, 0x3c22e043, 0x2e39f75e, 0x2030fa55, 0xec9ab701, 0xe293ba0a, 0xf088ad17, 0xfe81a01c, 0xd4be832d, 0xdab78e26, 0xc8ac993b, 0xc6a59430, 0x9cd2df59, 0x92dbd252, 0x80c0c54f, 0x8ec9c844, 0xa4f6eb75, 0xaaffe67e, 0xb8e4f163, 0xb6edfc68, 0x0c0a67b1, 0x02036aba, 0x10187da7, 0x1e1170ac, 0x342e539d, 0x3a275e96, 0x283c498b, 0x26354480, 0x7c420fe9, 0x724b02e2, 0x605015ff, 0x6e5918f4, 0x44663bc5, 0x4a6f36ce, 0x587421d3, 0x567d2cd8, 0x37a10c7a, 0x39a80171, 0x2bb3166c, 0x25ba1b67, 0x0f853856, 0x018c355d, 0x13972240, 0x1d9e2f4b, 0x47e96422, 0x49e06929, 0x5bfb7e34, 0x55f2733f, 0x7fcd500e, 0x71c45d05, 0x63df4a18, 0x6dd64713, 0xd731dcca, 0xd938d1c1, 0xcb23c6dc, 0xc52acbd7, 0xef15e8e6, 0xe11ce5ed, 0xf307f2f0, 0xfd0efffb, 0xa779b492, 0xa970b999, 0xbb6bae84, 0xb562a38f, 0x9f5d80be, 0x91548db5, 0x834f9aa8, 0x8d4697a3];\nconst U2 = [0x00000000, 0x0b0e090d, 0x161c121a, 0x1d121b17, 0x2c382434, 0x27362d39, 0x3a24362e, 0x312a3f23, 0x58704868, 0x537e4165, 0x4e6c5a72, 0x4562537f, 0x74486c5c, 0x7f466551, 0x62547e46, 0x695a774b, 0xb0e090d0, 0xbbee99dd, 0xa6fc82ca, 0xadf28bc7, 0x9cd8b4e4, 0x97d6bde9, 0x8ac4a6fe, 0x81caaff3, 0xe890d8b8, 0xe39ed1b5, 0xfe8ccaa2, 0xf582c3af, 0xc4a8fc8c, 0xcfa6f581, 0xd2b4ee96, 0xd9bae79b, 0x7bdb3bbb, 0x70d532b6, 0x6dc729a1, 0x66c920ac, 0x57e31f8f, 0x5ced1682, 0x41ff0d95, 0x4af10498, 0x23ab73d3, 0x28a57ade, 0x35b761c9, 0x3eb968c4, 0x0f9357e7, 0x049d5eea, 0x198f45fd, 0x12814cf0, 0xcb3bab6b, 0xc035a266, 0xdd27b971, 0xd629b07c, 0xe7038f5f, 0xec0d8652, 0xf11f9d45, 0xfa119448, 0x934be303, 0x9845ea0e, 0x8557f119, 0x8e59f814, 0xbf73c737, 0xb47dce3a, 0xa96fd52d, 0xa261dc20, 0xf6ad766d, 0xfda37f60, 0xe0b16477, 0xebbf6d7a, 0xda955259, 0xd19b5b54, 0xcc894043, 0xc787494e, 0xaedd3e05, 0xa5d33708, 0xb8c12c1f, 0xb3cf2512, 0x82e51a31, 0x89eb133c, 0x94f9082b, 0x9ff70126, 0x464de6bd, 0x4d43efb0, 0x5051f4a7, 0x5b5ffdaa, 0x6a75c289, 0x617bcb84, 0x7c69d093, 0x7767d99e, 0x1e3daed5, 0x1533a7d8, 0x0821bccf, 0x032fb5c2, 0x32058ae1, 0x390b83ec, 0x241998fb, 0x2f1791f6, 0x8d764dd6, 0x867844db, 0x9b6a5fcc, 0x906456c1, 0xa14e69e2, 0xaa4060ef, 0xb7527bf8, 0xbc5c72f5, 0xd50605be, 0xde080cb3, 0xc31a17a4, 0xc8141ea9, 0xf93e218a, 0xf2302887, 0xef223390, 0xe42c3a9d, 0x3d96dd06, 0x3698d40b, 0x2b8acf1c, 0x2084c611, 0x11aef932, 0x1aa0f03f, 0x07b2eb28, 0x0cbce225, 0x65e6956e, 0x6ee89c63, 0x73fa8774, 0x78f48e79, 0x49deb15a, 0x42d0b857, 0x5fc2a340, 0x54ccaa4d, 0xf741ecda, 0xfc4fe5d7, 0xe15dfec0, 0xea53f7cd, 0xdb79c8ee, 0xd077c1e3, 0xcd65daf4, 0xc66bd3f9, 0xaf31a4b2, 0xa43fadbf, 0xb92db6a8, 0xb223bfa5, 0x83098086, 0x8807898b, 0x9515929c, 0x9e1b9b91, 0x47a17c0a, 0x4caf7507, 0x51bd6e10, 0x5ab3671d, 0x6b99583e, 0x60975133, 0x7d854a24, 0x768b4329, 0x1fd13462, 0x14df3d6f, 0x09cd2678, 0x02c32f75, 0x33e91056, 0x38e7195b, 0x25f5024c, 0x2efb0b41, 0x8c9ad761, 0x8794de6c, 0x9a86c57b, 0x9188cc76, 0xa0a2f355, 0xabacfa58, 0xb6bee14f, 0xbdb0e842, 0xd4ea9f09, 0xdfe49604, 0xc2f68d13, 0xc9f8841e, 0xf8d2bb3d, 0xf3dcb230, 0xeecea927, 0xe5c0a02a, 0x3c7a47b1, 0x37744ebc, 0x2a6655ab, 0x21685ca6, 0x10426385, 0x1b4c6a88, 0x065e719f, 0x0d507892, 0x640a0fd9, 0x6f0406d4, 0x72161dc3, 0x791814ce, 0x48322bed, 0x433c22e0, 0x5e2e39f7, 0x552030fa, 0x01ec9ab7, 0x0ae293ba, 0x17f088ad, 0x1cfe81a0, 0x2dd4be83, 0x26dab78e, 0x3bc8ac99, 0x30c6a594, 0x599cd2df, 0x5292dbd2, 0x4f80c0c5, 0x448ec9c8, 0x75a4f6eb, 0x7eaaffe6, 0x63b8e4f1, 0x68b6edfc, 0xb10c0a67, 0xba02036a, 0xa710187d, 0xac1e1170, 0x9d342e53, 0x963a275e, 0x8b283c49, 0x80263544, 0xe97c420f, 0xe2724b02, 0xff605015, 0xf46e5918, 0xc544663b, 0xce4a6f36, 0xd3587421, 0xd8567d2c, 0x7a37a10c, 0x7139a801, 0x6c2bb316, 0x6725ba1b, 0x560f8538, 0x5d018c35, 0x40139722, 0x4b1d9e2f, 0x2247e964, 0x2949e069, 0x345bfb7e, 0x3f55f273, 0x0e7fcd50, 0x0571c45d, 0x1863df4a, 0x136dd647, 0xcad731dc, 0xc1d938d1, 0xdccb23c6, 0xd7c52acb, 0xe6ef15e8, 0xede11ce5, 0xf0f307f2, 0xfbfd0eff, 0x92a779b4, 0x99a970b9, 0x84bb6bae, 0x8fb562a3, 0xbe9f5d80, 0xb591548d, 0xa8834f9a, 0xa38d4697];\nconst U3 = [0x00000000, 0x0d0b0e09, 0x1a161c12, 0x171d121b, 0x342c3824, 0x3927362d, 0x2e3a2436, 0x23312a3f, 0x68587048, 0x65537e41, 0x724e6c5a, 0x7f456253, 0x5c74486c, 0x517f4665, 0x4662547e, 0x4b695a77, 0xd0b0e090, 0xddbbee99, 0xcaa6fc82, 0xc7adf28b, 0xe49cd8b4, 0xe997d6bd, 0xfe8ac4a6, 0xf381caaf, 0xb8e890d8, 0xb5e39ed1, 0xa2fe8cca, 0xaff582c3, 0x8cc4a8fc, 0x81cfa6f5, 0x96d2b4ee, 0x9bd9bae7, 0xbb7bdb3b, 0xb670d532, 0xa16dc729, 0xac66c920, 0x8f57e31f, 0x825ced16, 0x9541ff0d, 0x984af104, 0xd323ab73, 0xde28a57a, 0xc935b761, 0xc43eb968, 0xe70f9357, 0xea049d5e, 0xfd198f45, 0xf012814c, 0x6bcb3bab, 0x66c035a2, 0x71dd27b9, 0x7cd629b0, 0x5fe7038f, 0x52ec0d86, 0x45f11f9d, 0x48fa1194, 0x03934be3, 0x0e9845ea, 0x198557f1, 0x148e59f8, 0x37bf73c7, 0x3ab47dce, 0x2da96fd5, 0x20a261dc, 0x6df6ad76, 0x60fda37f, 0x77e0b164, 0x7aebbf6d, 0x59da9552, 0x54d19b5b, 0x43cc8940, 0x4ec78749, 0x05aedd3e, 0x08a5d337, 0x1fb8c12c, 0x12b3cf25, 0x3182e51a, 0x3c89eb13, 0x2b94f908, 0x269ff701, 0xbd464de6, 0xb04d43ef, 0xa75051f4, 0xaa5b5ffd, 0x896a75c2, 0x84617bcb, 0x937c69d0, 0x9e7767d9, 0xd51e3dae, 0xd81533a7, 0xcf0821bc, 0xc2032fb5, 0xe132058a, 0xec390b83, 0xfb241998, 0xf62f1791, 0xd68d764d, 0xdb867844, 0xcc9b6a5f, 0xc1906456, 0xe2a14e69, 0xefaa4060, 0xf8b7527b, 0xf5bc5c72, 0xbed50605, 0xb3de080c, 0xa4c31a17, 0xa9c8141e, 0x8af93e21, 0x87f23028, 0x90ef2233, 0x9de42c3a, 0x063d96dd, 0x0b3698d4, 0x1c2b8acf, 0x112084c6, 0x3211aef9, 0x3f1aa0f0, 0x2807b2eb, 0x250cbce2, 0x6e65e695, 0x636ee89c, 0x7473fa87, 0x7978f48e, 0x5a49deb1, 0x5742d0b8, 0x405fc2a3, 0x4d54ccaa, 0xdaf741ec, 0xd7fc4fe5, 0xc0e15dfe, 0xcdea53f7, 0xeedb79c8, 0xe3d077c1, 0xf4cd65da, 0xf9c66bd3, 0xb2af31a4, 0xbfa43fad, 0xa8b92db6, 0xa5b223bf, 0x86830980, 0x8b880789, 0x9c951592, 0x919e1b9b, 0x0a47a17c, 0x074caf75, 0x1051bd6e, 0x1d5ab367, 0x3e6b9958, 0x33609751, 0x247d854a, 0x29768b43, 0x621fd134, 0x6f14df3d, 0x7809cd26, 0x7502c32f, 0x5633e910, 0x5b38e719, 0x4c25f502, 0x412efb0b, 0x618c9ad7, 0x6c8794de, 0x7b9a86c5, 0x769188cc, 0x55a0a2f3, 0x58abacfa, 0x4fb6bee1, 0x42bdb0e8, 0x09d4ea9f, 0x04dfe496, 0x13c2f68d, 0x1ec9f884, 0x3df8d2bb, 0x30f3dcb2, 0x27eecea9, 0x2ae5c0a0, 0xb13c7a47, 0xbc37744e, 0xab2a6655, 0xa621685c, 0x85104263, 0x881b4c6a, 0x9f065e71, 0x920d5078, 0xd9640a0f, 0xd46f0406, 0xc372161d, 0xce791814, 0xed48322b, 0xe0433c22, 0xf75e2e39, 0xfa552030, 0xb701ec9a, 0xba0ae293, 0xad17f088, 0xa01cfe81, 0x832dd4be, 0x8e26dab7, 0x993bc8ac, 0x9430c6a5, 0xdf599cd2, 0xd25292db, 0xc54f80c0, 0xc8448ec9, 0xeb75a4f6, 0xe67eaaff, 0xf163b8e4, 0xfc68b6ed, 0x67b10c0a, 0x6aba0203, 0x7da71018, 0x70ac1e11, 0x539d342e, 0x5e963a27, 0x498b283c, 0x44802635, 0x0fe97c42, 0x02e2724b, 0x15ff6050, 0x18f46e59, 0x3bc54466, 0x36ce4a6f, 0x21d35874, 0x2cd8567d, 0x0c7a37a1, 0x017139a8, 0x166c2bb3, 0x1b6725ba, 0x38560f85, 0x355d018c, 0x22401397, 0x2f4b1d9e, 0x642247e9, 0x692949e0, 0x7e345bfb, 0x733f55f2, 0x500e7fcd, 0x5d0571c4, 0x4a1863df, 0x47136dd6, 0xdccad731, 0xd1c1d938, 0xc6dccb23, 0xcbd7c52a, 0xe8e6ef15, 0xe5ede11c, 0xf2f0f307, 0xfffbfd0e, 0xb492a779, 0xb999a970, 0xae84bb6b, 0xa38fb562, 0x80be9f5d, 0x8db59154, 0x9aa8834f, 0x97a38d46];\nconst U4 = [0x00000000, 0x090d0b0e, 0x121a161c, 0x1b171d12, 0x24342c38, 0x2d392736, 0x362e3a24, 0x3f23312a, 0x48685870, 0x4165537e, 0x5a724e6c, 0x537f4562, 0x6c5c7448, 0x65517f46, 0x7e466254, 0x774b695a, 0x90d0b0e0, 0x99ddbbee, 0x82caa6fc, 0x8bc7adf2, 0xb4e49cd8, 0xbde997d6, 0xa6fe8ac4, 0xaff381ca, 0xd8b8e890, 0xd1b5e39e, 0xcaa2fe8c, 0xc3aff582, 0xfc8cc4a8, 0xf581cfa6, 0xee96d2b4, 0xe79bd9ba, 0x3bbb7bdb, 0x32b670d5, 0x29a16dc7, 0x20ac66c9, 0x1f8f57e3, 0x16825ced, 0x0d9541ff, 0x04984af1, 0x73d323ab, 0x7ade28a5, 0x61c935b7, 0x68c43eb9, 0x57e70f93, 0x5eea049d, 0x45fd198f, 0x4cf01281, 0xab6bcb3b, 0xa266c035, 0xb971dd27, 0xb07cd629, 0x8f5fe703, 0x8652ec0d, 0x9d45f11f, 0x9448fa11, 0xe303934b, 0xea0e9845, 0xf1198557, 0xf8148e59, 0xc737bf73, 0xce3ab47d, 0xd52da96f, 0xdc20a261, 0x766df6ad, 0x7f60fda3, 0x6477e0b1, 0x6d7aebbf, 0x5259da95, 0x5b54d19b, 0x4043cc89, 0x494ec787, 0x3e05aedd, 0x3708a5d3, 0x2c1fb8c1, 0x2512b3cf, 0x1a3182e5, 0x133c89eb, 0x082b94f9, 0x01269ff7, 0xe6bd464d, 0xefb04d43, 0xf4a75051, 0xfdaa5b5f, 0xc2896a75, 0xcb84617b, 0xd0937c69, 0xd99e7767, 0xaed51e3d, 0xa7d81533, 0xbccf0821, 0xb5c2032f, 0x8ae13205, 0x83ec390b, 0x98fb2419, 0x91f62f17, 0x4dd68d76, 0x44db8678, 0x5fcc9b6a, 0x56c19064, 0x69e2a14e, 0x60efaa40, 0x7bf8b752, 0x72f5bc5c, 0x05bed506, 0x0cb3de08, 0x17a4c31a, 0x1ea9c814, 0x218af93e, 0x2887f230, 0x3390ef22, 0x3a9de42c, 0xdd063d96, 0xd40b3698, 0xcf1c2b8a, 0xc6112084, 0xf93211ae, 0xf03f1aa0, 0xeb2807b2, 0xe2250cbc, 0x956e65e6, 0x9c636ee8, 0x877473fa, 0x8e7978f4, 0xb15a49de, 0xb85742d0, 0xa3405fc2, 0xaa4d54cc, 0xecdaf741, 0xe5d7fc4f, 0xfec0e15d, 0xf7cdea53, 0xc8eedb79, 0xc1e3d077, 0xdaf4cd65, 0xd3f9c66b, 0xa4b2af31, 0xadbfa43f, 0xb6a8b92d, 0xbfa5b223, 0x80868309, 0x898b8807, 0x929c9515, 0x9b919e1b, 0x7c0a47a1, 0x75074caf, 0x6e1051bd, 0x671d5ab3, 0x583e6b99, 0x51336097, 0x4a247d85, 0x4329768b, 0x34621fd1, 0x3d6f14df, 0x267809cd, 0x2f7502c3, 0x105633e9, 0x195b38e7, 0x024c25f5, 0x0b412efb, 0xd7618c9a, 0xde6c8794, 0xc57b9a86, 0xcc769188, 0xf355a0a2, 0xfa58abac, 0xe14fb6be, 0xe842bdb0, 0x9f09d4ea, 0x9604dfe4, 0x8d13c2f6, 0x841ec9f8, 0xbb3df8d2, 0xb230f3dc, 0xa927eece, 0xa02ae5c0, 0x47b13c7a, 0x4ebc3774, 0x55ab2a66, 0x5ca62168, 0x63851042, 0x6a881b4c, 0x719f065e, 0x78920d50, 0x0fd9640a, 0x06d46f04, 0x1dc37216, 0x14ce7918, 0x2bed4832, 0x22e0433c, 0x39f75e2e, 0x30fa5520, 0x9ab701ec, 0x93ba0ae2, 0x88ad17f0, 0x81a01cfe, 0xbe832dd4, 0xb78e26da, 0xac993bc8, 0xa59430c6, 0xd2df599c, 0xdbd25292, 0xc0c54f80, 0xc9c8448e, 0xf6eb75a4, 0xffe67eaa, 0xe4f163b8, 0xedfc68b6, 0x0a67b10c, 0x036aba02, 0x187da710, 0x1170ac1e, 0x2e539d34, 0x275e963a, 0x3c498b28, 0x35448026, 0x420fe97c, 0x4b02e272, 0x5015ff60, 0x5918f46e, 0x663bc544, 0x6f36ce4a, 0x7421d358, 0x7d2cd856, 0xa10c7a37, 0xa8017139, 0xb3166c2b, 0xba1b6725, 0x8538560f, 0x8c355d01, 0x97224013, 0x9e2f4b1d, 0xe9642247, 0xe0692949, 0xfb7e345b, 0xf2733f55, 0xcd500e7f, 0xc45d0571, 0xdf4a1863, 0xd647136d, 0x31dccad7, 0x38d1c1d9, 0x23c6dccb, 0x2acbd7c5, 0x15e8e6ef, 0x1ce5ede1, 0x07f2f0f3, 0x0efffbfd, 0x79b492a7, 0x70b999a9, 0x6bae84bb, 0x62a38fb5, 0x5d80be9f, 0x548db591, 0x4f9aa883, 0x4697a38d];\nfunction convertToInt32(bytes) {\n const result = [];\n for (let i = 0; i < bytes.length; i += 4) {\n result.push((bytes[i] << 24) | (bytes[i + 1] << 16) | (bytes[i + 2] << 8) | bytes[i + 3]);\n }\n return result;\n}\nexport class AES {\n get key() { return __classPrivateFieldGet(this, _AES_key, \"f\").slice(); }\n constructor(key) {\n _AES_key.set(this, void 0);\n _AES_Kd.set(this, void 0);\n _AES_Ke.set(this, void 0);\n if (!(this instanceof AES)) {\n throw Error('AES must be instanitated with `new`');\n }\n __classPrivateFieldSet(this, _AES_key, new Uint8Array(key), \"f\");\n const rounds = numberOfRounds[this.key.length];\n if (rounds == null) {\n throw new TypeError('invalid key size (must be 16, 24 or 32 bytes)');\n }\n // encryption round keys\n __classPrivateFieldSet(this, _AES_Ke, [], \"f\");\n // decryption round keys\n __classPrivateFieldSet(this, _AES_Kd, [], \"f\");\n for (let i = 0; i <= rounds; i++) {\n __classPrivateFieldGet(this, _AES_Ke, \"f\").push([0, 0, 0, 0]);\n __classPrivateFieldGet(this, _AES_Kd, \"f\").push([0, 0, 0, 0]);\n }\n const roundKeyCount = (rounds + 1) * 4;\n const KC = this.key.length / 4;\n // convert the key into ints\n const tk = convertToInt32(this.key);\n // copy values into round key arrays\n let index;\n for (let i = 0; i < KC; i++) {\n index = i >> 2;\n __classPrivateFieldGet(this, _AES_Ke, \"f\")[index][i % 4] = tk[i];\n __classPrivateFieldGet(this, _AES_Kd, \"f\")[rounds - index][i % 4] = tk[i];\n }\n // key expansion (fips-197 section 5.2)\n let rconpointer = 0;\n let t = KC, tt;\n while (t < roundKeyCount) {\n tt = tk[KC - 1];\n tk[0] ^= ((S[(tt >> 16) & 0xFF] << 24) ^\n (S[(tt >> 8) & 0xFF] << 16) ^\n (S[tt & 0xFF] << 8) ^\n S[(tt >> 24) & 0xFF] ^\n (rcon[rconpointer] << 24));\n rconpointer += 1;\n // key expansion (for non-256 bit)\n if (KC != 8) {\n for (let i = 1; i < KC; i++) {\n tk[i] ^= tk[i - 1];\n }\n // key expansion for 256-bit keys is \"slightly different\" (fips-197)\n }\n else {\n for (let i = 1; i < (KC / 2); i++) {\n tk[i] ^= tk[i - 1];\n }\n tt = tk[(KC / 2) - 1];\n tk[KC / 2] ^= (S[tt & 0xFF] ^\n (S[(tt >> 8) & 0xFF] << 8) ^\n (S[(tt >> 16) & 0xFF] << 16) ^\n (S[(tt >> 24) & 0xFF] << 24));\n for (let i = (KC / 2) + 1; i < KC; i++) {\n tk[i] ^= tk[i - 1];\n }\n }\n // copy values into round key arrays\n let i = 0, r, c;\n while (i < KC && t < roundKeyCount) {\n r = t >> 2;\n c = t % 4;\n __classPrivateFieldGet(this, _AES_Ke, \"f\")[r][c] = tk[i];\n __classPrivateFieldGet(this, _AES_Kd, \"f\")[rounds - r][c] = tk[i++];\n t++;\n }\n }\n // inverse-cipher-ify the decryption round key (fips-197 section 5.3)\n for (let r = 1; r < rounds; r++) {\n for (let c = 0; c < 4; c++) {\n tt = __classPrivateFieldGet(this, _AES_Kd, \"f\")[r][c];\n __classPrivateFieldGet(this, _AES_Kd, \"f\")[r][c] = (U1[(tt >> 24) & 0xFF] ^\n U2[(tt >> 16) & 0xFF] ^\n U3[(tt >> 8) & 0xFF] ^\n U4[tt & 0xFF]);\n }\n }\n }\n encrypt(plaintext) {\n if (plaintext.length != 16) {\n throw new TypeError('invalid plaintext size (must be 16 bytes)');\n }\n const rounds = __classPrivateFieldGet(this, _AES_Ke, \"f\").length - 1;\n const a = [0, 0, 0, 0];\n // convert plaintext to (ints ^ key)\n let t = convertToInt32(plaintext);\n for (let i = 0; i < 4; i++) {\n t[i] ^= __classPrivateFieldGet(this, _AES_Ke, \"f\")[0][i];\n }\n // apply round transforms\n for (let r = 1; r < rounds; r++) {\n for (let i = 0; i < 4; i++) {\n a[i] = (T1[(t[i] >> 24) & 0xff] ^\n T2[(t[(i + 1) % 4] >> 16) & 0xff] ^\n T3[(t[(i + 2) % 4] >> 8) & 0xff] ^\n T4[t[(i + 3) % 4] & 0xff] ^\n __classPrivateFieldGet(this, _AES_Ke, \"f\")[r][i]);\n }\n t = a.slice();\n }\n // the last round is special\n const result = new Uint8Array(16);\n let tt = 0;\n for (let i = 0; i < 4; i++) {\n tt = __classPrivateFieldGet(this, _AES_Ke, \"f\")[rounds][i];\n result[4 * i] = (S[(t[i] >> 24) & 0xff] ^ (tt >> 24)) & 0xff;\n result[4 * i + 1] = (S[(t[(i + 1) % 4] >> 16) & 0xff] ^ (tt >> 16)) & 0xff;\n result[4 * i + 2] = (S[(t[(i + 2) % 4] >> 8) & 0xff] ^ (tt >> 8)) & 0xff;\n result[4 * i + 3] = (S[t[(i + 3) % 4] & 0xff] ^ tt) & 0xff;\n }\n return result;\n }\n decrypt(ciphertext) {\n if (ciphertext.length != 16) {\n throw new TypeError('invalid ciphertext size (must be 16 bytes)');\n }\n const rounds = __classPrivateFieldGet(this, _AES_Kd, \"f\").length - 1;\n const a = [0, 0, 0, 0];\n // convert plaintext to (ints ^ key)\n let t = convertToInt32(ciphertext);\n for (let i = 0; i < 4; i++) {\n t[i] ^= __classPrivateFieldGet(this, _AES_Kd, \"f\")[0][i];\n }\n // apply round transforms\n for (let r = 1; r < rounds; r++) {\n for (let i = 0; i < 4; i++) {\n a[i] = (T5[(t[i] >> 24) & 0xff] ^\n T6[(t[(i + 3) % 4] >> 16) & 0xff] ^\n T7[(t[(i + 2) % 4] >> 8) & 0xff] ^\n T8[t[(i + 1) % 4] & 0xff] ^\n __classPrivateFieldGet(this, _AES_Kd, \"f\")[r][i]);\n }\n t = a.slice();\n }\n // the last round is special\n const result = new Uint8Array(16);\n let tt = 0;\n for (let i = 0; i < 4; i++) {\n tt = __classPrivateFieldGet(this, _AES_Kd, \"f\")[rounds][i];\n result[4 * i] = (Si[(t[i] >> 24) & 0xff] ^ (tt >> 24)) & 0xff;\n result[4 * i + 1] = (Si[(t[(i + 3) % 4] >> 16) & 0xff] ^ (tt >> 16)) & 0xff;\n result[4 * i + 2] = (Si[(t[(i + 2) % 4] >> 8) & 0xff] ^ (tt >> 8)) & 0xff;\n result[4 * i + 3] = (Si[t[(i + 1) % 4] & 0xff] ^ tt) & 0xff;\n }\n return result;\n }\n}\n_AES_key = new WeakMap(), _AES_Kd = new WeakMap(), _AES_Ke = new WeakMap();\n//# sourceMappingURL=aes.js.map","import { AES } from \"./aes.js\";\nexport class ModeOfOperation {\n constructor(name, key, cls) {\n if (cls && !(this instanceof cls)) {\n throw new Error(`${name} must be instantiated with \"new\"`);\n }\n Object.defineProperties(this, {\n aes: { enumerable: true, value: new AES(key) },\n name: { enumerable: true, value: name }\n });\n }\n}\n//# sourceMappingURL=mode.js.map","// Cipher Block Chaining\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _CBC_iv, _CBC_lastBlock;\nimport { ModeOfOperation } from \"./mode.js\";\nexport class CBC extends ModeOfOperation {\n constructor(key, iv) {\n super(\"ECC\", key, CBC);\n _CBC_iv.set(this, void 0);\n _CBC_lastBlock.set(this, void 0);\n if (iv) {\n if (iv.length % 16) {\n throw new TypeError(\"invalid iv size (must be 16 bytes)\");\n }\n __classPrivateFieldSet(this, _CBC_iv, new Uint8Array(iv), \"f\");\n }\n else {\n __classPrivateFieldSet(this, _CBC_iv, new Uint8Array(16), \"f\");\n }\n __classPrivateFieldSet(this, _CBC_lastBlock, this.iv, \"f\");\n }\n get iv() { return new Uint8Array(__classPrivateFieldGet(this, _CBC_iv, \"f\")); }\n encrypt(plaintext) {\n if (plaintext.length % 16) {\n throw new TypeError(\"invalid plaintext size (must be multiple of 16 bytes)\");\n }\n const ciphertext = new Uint8Array(plaintext.length);\n for (let i = 0; i < plaintext.length; i += 16) {\n for (let j = 0; j < 16; j++) {\n __classPrivateFieldGet(this, _CBC_lastBlock, \"f\")[j] ^= plaintext[i + j];\n }\n __classPrivateFieldSet(this, _CBC_lastBlock, this.aes.encrypt(__classPrivateFieldGet(this, _CBC_lastBlock, \"f\")), \"f\");\n ciphertext.set(__classPrivateFieldGet(this, _CBC_lastBlock, \"f\"), i);\n }\n return ciphertext;\n }\n decrypt(ciphertext) {\n if (ciphertext.length % 16) {\n throw new TypeError(\"invalid ciphertext size (must be multiple of 16 bytes)\");\n }\n const plaintext = new Uint8Array(ciphertext.length);\n for (let i = 0; i < ciphertext.length; i += 16) {\n const block = this.aes.decrypt(ciphertext.subarray(i, i + 16));\n for (let j = 0; j < 16; j++) {\n plaintext[i + j] = block[j] ^ __classPrivateFieldGet(this, _CBC_lastBlock, \"f\")[j];\n __classPrivateFieldGet(this, _CBC_lastBlock, \"f\")[j] = ciphertext[i + j];\n }\n }\n return plaintext;\n }\n}\n_CBC_iv = new WeakMap(), _CBC_lastBlock = new WeakMap();\n//# sourceMappingURL=mode-cbc.js.map","// Counter Mode\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _CTR_remaining, _CTR_remainingIndex, _CTR_counter;\nimport { ModeOfOperation } from \"./mode.js\";\nexport class CTR extends ModeOfOperation {\n constructor(key, initialValue) {\n super(\"CTR\", key, CTR);\n // Remaining bytes for the one-time pad\n _CTR_remaining.set(this, void 0);\n _CTR_remainingIndex.set(this, void 0);\n // The current counter\n _CTR_counter.set(this, void 0);\n __classPrivateFieldSet(this, _CTR_counter, new Uint8Array(16), \"f\");\n __classPrivateFieldGet(this, _CTR_counter, \"f\").fill(0);\n __classPrivateFieldSet(this, _CTR_remaining, __classPrivateFieldGet(this, _CTR_counter, \"f\"), \"f\"); // This will be discarded immediately\n __classPrivateFieldSet(this, _CTR_remainingIndex, 16, \"f\");\n if (initialValue == null) {\n initialValue = 1;\n }\n if (typeof (initialValue) === \"number\") {\n this.setCounterValue(initialValue);\n }\n else {\n this.setCounterBytes(initialValue);\n }\n }\n get counter() { return new Uint8Array(__classPrivateFieldGet(this, _CTR_counter, \"f\")); }\n setCounterValue(value) {\n if (!Number.isInteger(value) || value < 0 || value > Number.MAX_SAFE_INTEGER) {\n throw new TypeError(\"invalid counter initial integer value\");\n }\n for (let index = 15; index >= 0; --index) {\n __classPrivateFieldGet(this, _CTR_counter, \"f\")[index] = value % 256;\n value = Math.floor(value / 256);\n }\n }\n setCounterBytes(value) {\n if (value.length !== 16) {\n throw new TypeError(\"invalid counter initial Uint8Array value length\");\n }\n __classPrivateFieldGet(this, _CTR_counter, \"f\").set(value);\n }\n increment() {\n for (let i = 15; i >= 0; i--) {\n if (__classPrivateFieldGet(this, _CTR_counter, \"f\")[i] === 255) {\n __classPrivateFieldGet(this, _CTR_counter, \"f\")[i] = 0;\n }\n else {\n __classPrivateFieldGet(this, _CTR_counter, \"f\")[i]++;\n break;\n }\n }\n }\n encrypt(plaintext) {\n var _a, _b;\n const crypttext = new Uint8Array(plaintext);\n for (let i = 0; i < crypttext.length; i++) {\n if (__classPrivateFieldGet(this, _CTR_remainingIndex, \"f\") === 16) {\n __classPrivateFieldSet(this, _CTR_remaining, this.aes.encrypt(__classPrivateFieldGet(this, _CTR_counter, \"f\")), \"f\");\n __classPrivateFieldSet(this, _CTR_remainingIndex, 0, \"f\");\n this.increment();\n }\n crypttext[i] ^= __classPrivateFieldGet(this, _CTR_remaining, \"f\")[__classPrivateFieldSet(this, _CTR_remainingIndex, (_b = __classPrivateFieldGet(this, _CTR_remainingIndex, \"f\"), _a = _b++, _b), \"f\"), _a];\n }\n return crypttext;\n }\n decrypt(ciphertext) {\n return this.encrypt(ciphertext);\n }\n}\n_CTR_remaining = new WeakMap(), _CTR_remainingIndex = new WeakMap(), _CTR_counter = new WeakMap();\n//# sourceMappingURL=mode-ctr.js.map","export function pkcs7Pad(data) {\n const padder = 16 - (data.length % 16);\n const result = new Uint8Array(data.length + padder);\n result.set(data);\n for (let i = data.length; i < result.length; i++) {\n result[i] = padder;\n }\n return result;\n}\nexport function pkcs7Strip(data) {\n if (data.length < 16) {\n throw new TypeError('PKCS#7 invalid length');\n }\n const padder = data[data.length - 1];\n if (padder > 16) {\n throw new TypeError('PKCS#7 padding byte out of range');\n }\n const length = data.length - padder;\n for (let i = 0; i < padder; i++) {\n if (data[length + i] !== padder) {\n throw new TypeError('PKCS#7 invalid padding byte');\n }\n }\n return new Uint8Array(data.subarray(0, length));\n}\n//# sourceMappingURL=padding.js.map","/**\n * @_ignore\n */\nimport { getBytesCopy, assertArgument, toUtf8Bytes } from \"../utils/index.js\";\nexport function looseArrayify(hexString) {\n if (typeof (hexString) === \"string\" && !hexString.startsWith(\"0x\")) {\n hexString = \"0x\" + hexString;\n }\n return getBytesCopy(hexString);\n}\nexport function zpad(value, length) {\n value = String(value);\n while (value.length < length) {\n value = '0' + value;\n }\n return value;\n}\nexport function getPassword(password) {\n if (typeof (password) === 'string') {\n return toUtf8Bytes(password, \"NFKC\");\n }\n return getBytesCopy(password);\n}\nexport function spelunk(object, _path) {\n const match = _path.match(/^([a-z0-9$_.-]*)(:([a-z]+))?(!)?$/i);\n assertArgument(match != null, \"invalid path\", \"path\", _path);\n const path = match[1];\n const type = match[3];\n const reqd = (match[4] === \"!\");\n let cur = object;\n for (const comp of path.toLowerCase().split('.')) {\n // Search for a child object with a case-insensitive matching key\n if (Array.isArray(cur)) {\n if (!comp.match(/^[0-9]+$/)) {\n break;\n }\n cur = cur[parseInt(comp)];\n }\n else if (typeof (cur) === \"object\") {\n let found = null;\n for (const key in cur) {\n if (key.toLowerCase() === comp) {\n found = cur[key];\n break;\n }\n }\n cur = found;\n }\n else {\n cur = null;\n }\n if (cur == null) {\n break;\n }\n }\n assertArgument(!reqd || cur != null, \"missing required value\", \"path\", path);\n if (type && cur != null) {\n if (type === \"int\") {\n if (typeof (cur) === \"string\" && cur.match(/^-?[0-9]+$/)) {\n return parseInt(cur);\n }\n else if (Number.isSafeInteger(cur)) {\n return cur;\n }\n }\n if (type === \"number\") {\n if (typeof (cur) === \"string\" && cur.match(/^-?[0-9.]*$/)) {\n return parseFloat(cur);\n }\n }\n if (type === \"data\") {\n if (typeof (cur) === \"string\") {\n return looseArrayify(cur);\n }\n }\n if (type === \"array\" && Array.isArray(cur)) {\n return cur;\n }\n if (type === typeof (cur)) {\n return cur;\n }\n assertArgument(false, `wrong type found for ${type} `, \"path\", path);\n }\n return cur;\n}\n/*\nexport function follow(object: any, path: string): null | string {\n let currentChild = object;\n\n for (const comp of path.toLowerCase().split('/')) {\n\n // Search for a child object with a case-insensitive matching key\n let matchingChild = null;\n for (const key in currentChild) {\n if (key.toLowerCase() === comp) {\n matchingChild = currentChild[key];\n break;\n }\n }\n\n if (matchingChild === null) { return null; }\n\n currentChild = matchingChild;\n }\n\n return currentChild;\n}\n\n// \"path/to/something:type!\"\nexport function followRequired(data: any, path: string): string {\n const value = follow(data, path);\n if (value != null) { return value; }\n return logger.throwArgumentError(\"invalid value\", `data:${ path }`,\n JSON.stringify(data));\n}\n*/\n// See: https://www.ietf.org/rfc/rfc4122.txt (Section 4.4)\n/*\nexport function uuidV4(randomBytes: BytesLike): string {\n const bytes = getBytes(randomBytes, \"randomBytes\");\n\n // Section: 4.1.3:\n // - time_hi_and_version[12:16] = 0b0100\n bytes[6] = (bytes[6] & 0x0f) | 0x40;\n\n // Section 4.4\n // - clock_seq_hi_and_reserved[6] = 0b0\n // - clock_seq_hi_and_reserved[7] = 0b1\n bytes[8] = (bytes[8] & 0x3f) | 0x80;\n\n const value = hexlify(bytes);\n\n return [\n value.substring(2, 10),\n value.substring(10, 14),\n value.substring(14, 18),\n value.substring(18, 22),\n value.substring(22, 34),\n ].join(\"-\");\n}\n*/\n//# sourceMappingURL=utils.js.map","/**\n * The JSON Wallet formats allow a simple way to store the private\n * keys needed in Ethereum along with related information and allows\n * for extensible forms of encryption.\n *\n * These utilities facilitate decrypting and encrypting the most common\n * JSON Wallet formats.\n *\n * @_subsection: api/wallet:JSON Wallets [json-wallets]\n */\nimport { CTR } from \"aes-js\";\nimport { getAddress } from \"../address/index.js\";\nimport { keccak256, pbkdf2, randomBytes, scrypt, scryptSync } from \"../crypto/index.js\";\nimport { computeAddress } from \"../transaction/index.js\";\nimport { concat, getBytes, hexlify, uuidV4, assert, assertArgument } from \"../utils/index.js\";\nimport { getPassword, spelunk, zpad } from \"./utils.js\";\nimport { version } from \"../_version.js\";\nconst defaultPath = \"m/44'/60'/0'/0/0\";\n/**\n * Returns true if %%json%% is a valid JSON Keystore Wallet.\n */\nexport function isKeystoreJson(json) {\n try {\n const data = JSON.parse(json);\n const version = ((data.version != null) ? parseInt(data.version) : 0);\n if (version === 3) {\n return true;\n }\n }\n catch (error) { }\n return false;\n}\nfunction decrypt(data, key, ciphertext) {\n const cipher = spelunk(data, \"crypto.cipher:string\");\n if (cipher === \"aes-128-ctr\") {\n const iv = spelunk(data, \"crypto.cipherparams.iv:data!\");\n const aesCtr = new CTR(key, iv);\n return hexlify(aesCtr.decrypt(ciphertext));\n }\n assert(false, \"unsupported cipher\", \"UNSUPPORTED_OPERATION\", {\n operation: \"decrypt\"\n });\n}\nfunction getAccount(data, _key) {\n const key = getBytes(_key);\n const ciphertext = spelunk(data, \"crypto.ciphertext:data!\");\n const computedMAC = hexlify(keccak256(concat([key.slice(16, 32), ciphertext]))).substring(2);\n assertArgument(computedMAC === spelunk(data, \"crypto.mac:string!\").toLowerCase(), \"incorrect password\", \"password\", \"[ REDACTED ]\");\n const privateKey = decrypt(data, key.slice(0, 16), ciphertext);\n const address = computeAddress(privateKey);\n if (data.address) {\n let check = data.address.toLowerCase();\n if (!check.startsWith(\"0x\")) {\n check = \"0x\" + check;\n }\n assertArgument(getAddress(check) === address, \"keystore address/privateKey mismatch\", \"address\", data.address);\n }\n const account = { address, privateKey };\n // Version 0.1 x-ethers metadata must contain an encrypted mnemonic phrase\n const version = spelunk(data, \"x-ethers.version:string\");\n if (version === \"0.1\") {\n const mnemonicKey = key.slice(32, 64);\n const mnemonicCiphertext = spelunk(data, \"x-ethers.mnemonicCiphertext:data!\");\n const mnemonicIv = spelunk(data, \"x-ethers.mnemonicCounter:data!\");\n const mnemonicAesCtr = new CTR(mnemonicKey, mnemonicIv);\n account.mnemonic = {\n path: (spelunk(data, \"x-ethers.path:string\") || defaultPath),\n locale: (spelunk(data, \"x-ethers.locale:string\") || \"en\"),\n entropy: hexlify(getBytes(mnemonicAesCtr.decrypt(mnemonicCiphertext)))\n };\n }\n return account;\n}\nfunction getDecryptKdfParams(data) {\n const kdf = spelunk(data, \"crypto.kdf:string\");\n if (kdf && typeof (kdf) === \"string\") {\n if (kdf.toLowerCase() === \"scrypt\") {\n const salt = spelunk(data, \"crypto.kdfparams.salt:data!\");\n const N = spelunk(data, \"crypto.kdfparams.n:int!\");\n const r = spelunk(data, \"crypto.kdfparams.r:int!\");\n const p = spelunk(data, \"crypto.kdfparams.p:int!\");\n // Make sure N is a power of 2\n assertArgument(N > 0 && (N & (N - 1)) === 0, \"invalid kdf.N\", \"kdf.N\", N);\n assertArgument(r > 0 && p > 0, \"invalid kdf\", \"kdf\", kdf);\n const dkLen = spelunk(data, \"crypto.kdfparams.dklen:int!\");\n assertArgument(dkLen === 32, \"invalid kdf.dklen\", \"kdf.dflen\", dkLen);\n return { name: \"scrypt\", salt, N, r, p, dkLen: 64 };\n }\n else if (kdf.toLowerCase() === \"pbkdf2\") {\n const salt = spelunk(data, \"crypto.kdfparams.salt:data!\");\n const prf = spelunk(data, \"crypto.kdfparams.prf:string!\");\n const algorithm = prf.split(\"-\").pop();\n assertArgument(algorithm === \"sha256\" || algorithm === \"sha512\", \"invalid kdf.pdf\", \"kdf.pdf\", prf);\n const count = spelunk(data, \"crypto.kdfparams.c:int!\");\n const dkLen = spelunk(data, \"crypto.kdfparams.dklen:int!\");\n assertArgument(dkLen === 32, \"invalid kdf.dklen\", \"kdf.dklen\", dkLen);\n return { name: \"pbkdf2\", salt, count, dkLen, algorithm };\n }\n }\n assertArgument(false, \"unsupported key-derivation function\", \"kdf\", kdf);\n}\n/**\n * Returns the account details for the JSON Keystore Wallet %%json%%\n * using %%password%%.\n *\n * It is preferred to use the [async version](decryptKeystoreJson)\n * instead, which allows a [[ProgressCallback]] to keep the user informed\n * as to the decryption status.\n *\n * This method will block the event loop (freezing all UI) until decryption\n * is complete, which can take quite some time, depending on the wallet\n * paramters and platform.\n */\nexport function decryptKeystoreJsonSync(json, _password) {\n const data = JSON.parse(json);\n const password = getPassword(_password);\n const params = getDecryptKdfParams(data);\n if (params.name === \"pbkdf2\") {\n const { salt, count, dkLen, algorithm } = params;\n const key = pbkdf2(password, salt, count, dkLen, algorithm);\n return getAccount(data, key);\n }\n assert(params.name === \"scrypt\", \"cannot be reached\", \"UNKNOWN_ERROR\", { params });\n const { salt, N, r, p, dkLen } = params;\n const key = scryptSync(password, salt, N, r, p, dkLen);\n return getAccount(data, key);\n}\nfunction stall(duration) {\n return new Promise((resolve) => { setTimeout(() => { resolve(); }, duration); });\n}\n/**\n * Resolves to the decrypted JSON Keystore Wallet %%json%% using the\n * %%password%%.\n *\n * If provided, %%progress%% will be called periodically during the\n * decrpytion to provide feedback, and if the function returns\n * ``false`` will halt decryption.\n *\n * The %%progressCallback%% will **always** receive ``0`` before\n * decryption begins and ``1`` when complete.\n */\nexport async function decryptKeystoreJson(json, _password, progress) {\n const data = JSON.parse(json);\n const password = getPassword(_password);\n const params = getDecryptKdfParams(data);\n if (params.name === \"pbkdf2\") {\n if (progress) {\n progress(0);\n await stall(0);\n }\n const { salt, count, dkLen, algorithm } = params;\n const key = pbkdf2(password, salt, count, dkLen, algorithm);\n if (progress) {\n progress(1);\n await stall(0);\n }\n return getAccount(data, key);\n }\n assert(params.name === \"scrypt\", \"cannot be reached\", \"UNKNOWN_ERROR\", { params });\n const { salt, N, r, p, dkLen } = params;\n const key = await scrypt(password, salt, N, r, p, dkLen, progress);\n return getAccount(data, key);\n}\nfunction getEncryptKdfParams(options) {\n // Check/generate the salt\n const salt = (options.salt != null) ? getBytes(options.salt, \"options.salt\") : randomBytes(32);\n // Override the scrypt password-based key derivation function parameters\n let N = (1 << 17), r = 8, p = 1;\n if (options.scrypt) {\n if (options.scrypt.N) {\n N = options.scrypt.N;\n }\n if (options.scrypt.r) {\n r = options.scrypt.r;\n }\n if (options.scrypt.p) {\n p = options.scrypt.p;\n }\n }\n assertArgument(typeof (N) === \"number\" && N > 0 && Number.isSafeInteger(N) && (BigInt(N) & BigInt(N - 1)) === BigInt(0), \"invalid scrypt N parameter\", \"options.N\", N);\n assertArgument(typeof (r) === \"number\" && r > 0 && Number.isSafeInteger(r), \"invalid scrypt r parameter\", \"options.r\", r);\n assertArgument(typeof (p) === \"number\" && p > 0 && Number.isSafeInteger(p), \"invalid scrypt p parameter\", \"options.p\", p);\n return { name: \"scrypt\", dkLen: 32, salt, N, r, p };\n}\nfunction _encryptKeystore(key, kdf, account, options) {\n const privateKey = getBytes(account.privateKey, \"privateKey\");\n // Override initialization vector\n const iv = (options.iv != null) ? getBytes(options.iv, \"options.iv\") : randomBytes(16);\n assertArgument(iv.length === 16, \"invalid options.iv length\", \"options.iv\", options.iv);\n // Override the uuid\n const uuidRandom = (options.uuid != null) ? getBytes(options.uuid, \"options.uuid\") : randomBytes(16);\n assertArgument(uuidRandom.length === 16, \"invalid options.uuid length\", \"options.uuid\", options.iv);\n // This will be used to encrypt the wallet (as per Web3 secret storage)\n // - 32 bytes As normal for the Web3 secret storage (derivedKey, macPrefix)\n // - 32 bytes AES key to encrypt mnemonic with (required here to be Ethers Wallet)\n const derivedKey = key.slice(0, 16);\n const macPrefix = key.slice(16, 32);\n // Encrypt the private key\n const aesCtr = new CTR(derivedKey, iv);\n const ciphertext = getBytes(aesCtr.encrypt(privateKey));\n // Compute the message authentication code, used to check the password\n const mac = keccak256(concat([macPrefix, ciphertext]));\n // See: https://github.com/ethereum/wiki/wiki/Web3-Secret-Storage-Definition\n const data = {\n address: account.address.substring(2).toLowerCase(),\n id: uuidV4(uuidRandom),\n version: 3,\n Crypto: {\n cipher: \"aes-128-ctr\",\n cipherparams: {\n iv: hexlify(iv).substring(2),\n },\n ciphertext: hexlify(ciphertext).substring(2),\n kdf: \"scrypt\",\n kdfparams: {\n salt: hexlify(kdf.salt).substring(2),\n n: kdf.N,\n dklen: 32,\n p: kdf.p,\n r: kdf.r\n },\n mac: mac.substring(2)\n }\n };\n // If we have a mnemonic, encrypt it into the JSON wallet\n if (account.mnemonic) {\n const client = (options.client != null) ? options.client : `ethers/${version}`;\n const path = account.mnemonic.path || defaultPath;\n const locale = account.mnemonic.locale || \"en\";\n const mnemonicKey = key.slice(32, 64);\n const entropy = getBytes(account.mnemonic.entropy, \"account.mnemonic.entropy\");\n const mnemonicIv = randomBytes(16);\n const mnemonicAesCtr = new CTR(mnemonicKey, mnemonicIv);\n const mnemonicCiphertext = getBytes(mnemonicAesCtr.encrypt(entropy));\n const now = new Date();\n const timestamp = (now.getUTCFullYear() + \"-\" +\n zpad(now.getUTCMonth() + 1, 2) + \"-\" +\n zpad(now.getUTCDate(), 2) + \"T\" +\n zpad(now.getUTCHours(), 2) + \"-\" +\n zpad(now.getUTCMinutes(), 2) + \"-\" +\n zpad(now.getUTCSeconds(), 2) + \".0Z\");\n const gethFilename = (\"UTC--\" + timestamp + \"--\" + data.address);\n data[\"x-ethers\"] = {\n client, gethFilename, path, locale,\n mnemonicCounter: hexlify(mnemonicIv).substring(2),\n mnemonicCiphertext: hexlify(mnemonicCiphertext).substring(2),\n version: \"0.1\"\n };\n }\n return JSON.stringify(data);\n}\n/**\n * Return the JSON Keystore Wallet for %%account%% encrypted with\n * %%password%%.\n *\n * The %%options%% can be used to tune the password-based key\n * derivation function parameters, explicitly set the random values\n * used. Any provided [[ProgressCallback]] is ignord.\n */\nexport function encryptKeystoreJsonSync(account, password, options) {\n if (options == null) {\n options = {};\n }\n const passwordBytes = getPassword(password);\n const kdf = getEncryptKdfParams(options);\n const key = scryptSync(passwordBytes, kdf.salt, kdf.N, kdf.r, kdf.p, 64);\n return _encryptKeystore(getBytes(key), kdf, account, options);\n}\n/**\n * Resolved to the JSON Keystore Wallet for %%account%% encrypted\n * with %%password%%.\n *\n * The %%options%% can be used to tune the password-based key\n * derivation function parameters, explicitly set the random values\n * used and provide a [[ProgressCallback]] to receive periodic updates\n * on the completion status..\n */\nexport async function encryptKeystoreJson(account, password, options) {\n if (options == null) {\n options = {};\n }\n const passwordBytes = getPassword(password);\n const kdf = getEncryptKdfParams(options);\n const key = await scrypt(passwordBytes, kdf.salt, kdf.N, kdf.r, kdf.p, 64, options.progressCallback);\n return _encryptKeystore(getBytes(key), kdf, account, options);\n}\n//# sourceMappingURL=json-keystore.js.map","/**\n * Explain HD Wallets..\n *\n * @_subsection: api/wallet:HD Wallets [hd-wallets]\n */\nimport { computeHmac, randomBytes, ripemd160, SigningKey, sha256 } from \"../crypto/index.js\";\nimport { VoidSigner } from \"../providers/index.js\";\nimport { computeAddress } from \"../transaction/index.js\";\nimport { concat, dataSlice, decodeBase58, defineProperties, encodeBase58, getBytes, hexlify, isBytesLike, getNumber, toBeArray, toBigInt, toBeHex, assertPrivate, assert, assertArgument } from \"../utils/index.js\";\nimport { LangEn } from \"../wordlists/lang-en.js\";\nimport { BaseWallet } from \"./base-wallet.js\";\nimport { Mnemonic } from \"./mnemonic.js\";\nimport { encryptKeystoreJson, encryptKeystoreJsonSync, } from \"./json-keystore.js\";\n/**\n * The default derivation path for Ethereum HD Nodes. (i.e. ``\"m/44'/60'/0'/0/0\"``)\n */\nexport const defaultPath = \"m/44'/60'/0'/0/0\";\n// \"Bitcoin seed\"\nconst MasterSecret = new Uint8Array([66, 105, 116, 99, 111, 105, 110, 32, 115, 101, 101, 100]);\nconst HardenedBit = 0x80000000;\nconst N = BigInt(\"0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141\");\nconst Nibbles = \"0123456789abcdef\";\nfunction zpad(value, length) {\n let result = \"\";\n while (value) {\n result = Nibbles[value % 16] + result;\n value = Math.trunc(value / 16);\n }\n while (result.length < length * 2) {\n result = \"0\" + result;\n }\n return \"0x\" + result;\n}\nfunction encodeBase58Check(_value) {\n const value = getBytes(_value);\n const check = dataSlice(sha256(sha256(value)), 0, 4);\n const bytes = concat([value, check]);\n return encodeBase58(bytes);\n}\nconst _guard = {};\nfunction ser_I(index, chainCode, publicKey, privateKey) {\n const data = new Uint8Array(37);\n if (index & HardenedBit) {\n assert(privateKey != null, \"cannot derive child of neutered node\", \"UNSUPPORTED_OPERATION\", {\n operation: \"deriveChild\"\n });\n // Data = 0x00 || ser_256(k_par)\n data.set(getBytes(privateKey), 1);\n }\n else {\n // Data = ser_p(point(k_par))\n data.set(getBytes(publicKey));\n }\n // Data += ser_32(i)\n for (let i = 24; i >= 0; i -= 8) {\n data[33 + (i >> 3)] = ((index >> (24 - i)) & 0xff);\n }\n const I = getBytes(computeHmac(\"sha512\", chainCode, data));\n return { IL: I.slice(0, 32), IR: I.slice(32) };\n}\nfunction derivePath(node, path) {\n const components = path.split(\"/\");\n assertArgument(components.length > 0, \"invalid path\", \"path\", path);\n if (components[0] === \"m\") {\n assertArgument(node.depth === 0, `cannot derive root path (i.e. path starting with \"m/\") for a node at non-zero depth ${node.depth}`, \"path\", path);\n components.shift();\n }\n let result = node;\n for (let i = 0; i < components.length; i++) {\n const component = components[i];\n if (component.match(/^[0-9]+'$/)) {\n const index = parseInt(component.substring(0, component.length - 1));\n assertArgument(index < HardenedBit, \"invalid path index\", `path[${i}]`, component);\n result = result.deriveChild(HardenedBit + index);\n }\n else if (component.match(/^[0-9]+$/)) {\n const index = parseInt(component);\n assertArgument(index < HardenedBit, \"invalid path index\", `path[${i}]`, component);\n result = result.deriveChild(index);\n }\n else {\n assertArgument(false, \"invalid path component\", `path[${i}]`, component);\n }\n }\n return result;\n}\n/**\n * An **HDNodeWallet** is a [[Signer]] backed by the private key derived\n * from an HD Node using the [[link-bip-32]] stantard.\n *\n * An HD Node forms a hierarchal structure with each HD Node having a\n * private key and the ability to derive child HD Nodes, defined by\n * a path indicating the index of each child.\n */\nexport class HDNodeWallet extends BaseWallet {\n /**\n * The compressed public key.\n */\n publicKey;\n /**\n * The fingerprint.\n *\n * A fingerprint allows quick qay to detect parent and child nodes,\n * but developers should be prepared to deal with collisions as it\n * is only 4 bytes.\n */\n fingerprint;\n /**\n * The parent fingerprint.\n */\n parentFingerprint;\n /**\n * The mnemonic used to create this HD Node, if available.\n *\n * Sources such as extended keys do not encode the mnemonic, in\n * which case this will be ``null``.\n */\n mnemonic;\n /**\n * The chaincode, which is effectively a public key used\n * to derive children.\n */\n chainCode;\n /**\n * The derivation path of this wallet.\n *\n * Since extended keys do not provider full path details, this\n * may be ``null``, if instantiated from a source that does not\n * enocde it.\n */\n path;\n /**\n * The child index of this wallet. Values over ``2 *\\* 31`` indicate\n * the node is hardened.\n */\n index;\n /**\n * The depth of this wallet, which is the number of components\n * in its path.\n */\n depth;\n /**\n * @private\n */\n constructor(guard, signingKey, parentFingerprint, chainCode, path, index, depth, mnemonic, provider) {\n super(signingKey, provider);\n assertPrivate(guard, _guard, \"HDNodeWallet\");\n defineProperties(this, { publicKey: signingKey.compressedPublicKey });\n const fingerprint = dataSlice(ripemd160(sha256(this.publicKey)), 0, 4);\n defineProperties(this, {\n parentFingerprint, fingerprint,\n chainCode, path, index, depth\n });\n defineProperties(this, { mnemonic });\n }\n connect(provider) {\n return new HDNodeWallet(_guard, this.signingKey, this.parentFingerprint, this.chainCode, this.path, this.index, this.depth, this.mnemonic, provider);\n }\n #account() {\n const account = { address: this.address, privateKey: this.privateKey };\n const m = this.mnemonic;\n if (this.path && m && m.wordlist.locale === \"en\" && m.password === \"\") {\n account.mnemonic = {\n path: this.path,\n locale: \"en\",\n entropy: m.entropy\n };\n }\n return account;\n }\n /**\n * Resolves to a [JSON Keystore Wallet](json-wallets) encrypted with\n * %%password%%.\n *\n * If %%progressCallback%% is specified, it will receive periodic\n * updates as the encryption process progreses.\n */\n async encrypt(password, progressCallback) {\n return await encryptKeystoreJson(this.#account(), password, { progressCallback });\n }\n /**\n * Returns a [JSON Keystore Wallet](json-wallets) encryped with\n * %%password%%.\n *\n * It is preferred to use the [async version](encrypt) instead,\n * which allows a [[ProgressCallback]] to keep the user informed.\n *\n * This method will block the event loop (freezing all UI) until\n * it is complete, which may be a non-trivial duration.\n */\n encryptSync(password) {\n return encryptKeystoreJsonSync(this.#account(), password);\n }\n /**\n * The extended key.\n *\n * This key will begin with the prefix ``xpriv`` and can be used to\n * reconstruct this HD Node to derive its children.\n */\n get extendedKey() {\n // We only support the mainnet values for now, but if anyone needs\n // testnet values, let me know. I believe current sentiment is that\n // we should always use mainnet, and use BIP-44 to derive the network\n // - Mainnet: public=0x0488B21E, private=0x0488ADE4\n // - Testnet: public=0x043587CF, private=0x04358394\n assert(this.depth < 256, \"Depth too deep\", \"UNSUPPORTED_OPERATION\", { operation: \"extendedKey\" });\n return encodeBase58Check(concat([\n \"0x0488ADE4\", zpad(this.depth, 1), this.parentFingerprint,\n zpad(this.index, 4), this.chainCode,\n concat([\"0x00\", this.privateKey])\n ]));\n }\n /**\n * Returns true if this wallet has a path, providing a Type Guard\n * that the path is non-null.\n */\n hasPath() { return (this.path != null); }\n /**\n * Returns a neutered HD Node, which removes the private details\n * of an HD Node.\n *\n * A neutered node has no private key, but can be used to derive\n * child addresses and other public data about the HD Node.\n */\n neuter() {\n return new HDNodeVoidWallet(_guard, this.address, this.publicKey, this.parentFingerprint, this.chainCode, this.path, this.index, this.depth, this.provider);\n }\n /**\n * Return the child for %%index%%.\n */\n deriveChild(_index) {\n const index = getNumber(_index, \"index\");\n assertArgument(index <= 0xffffffff, \"invalid index\", \"index\", index);\n // Base path\n let path = this.path;\n if (path) {\n path += \"/\" + (index & ~HardenedBit);\n if (index & HardenedBit) {\n path += \"'\";\n }\n }\n const { IR, IL } = ser_I(index, this.chainCode, this.publicKey, this.privateKey);\n const ki = new SigningKey(toBeHex((toBigInt(IL) + BigInt(this.privateKey)) % N, 32));\n return new HDNodeWallet(_guard, ki, this.fingerprint, hexlify(IR), path, index, this.depth + 1, this.mnemonic, this.provider);\n }\n /**\n * Return the HDNode for %%path%% from this node.\n */\n derivePath(path) {\n return derivePath(this, path);\n }\n static #fromSeed(_seed, mnemonic) {\n assertArgument(isBytesLike(_seed), \"invalid seed\", \"seed\", \"[REDACTED]\");\n const seed = getBytes(_seed, \"seed\");\n assertArgument(seed.length >= 16 && seed.length <= 64, \"invalid seed\", \"seed\", \"[REDACTED]\");\n const I = getBytes(computeHmac(\"sha512\", MasterSecret, seed));\n const signingKey = new SigningKey(hexlify(I.slice(0, 32)));\n return new HDNodeWallet(_guard, signingKey, \"0x00000000\", hexlify(I.slice(32)), \"m\", 0, 0, mnemonic, null);\n }\n /**\n * Creates a new HD Node from %%extendedKey%%.\n *\n * If the %%extendedKey%% will either have a prefix or ``xpub`` or\n * ``xpriv``, returning a neutered HD Node ([[HDNodeVoidWallet]])\n * or full HD Node ([[HDNodeWallet) respectively.\n */\n static fromExtendedKey(extendedKey) {\n const bytes = toBeArray(decodeBase58(extendedKey)); // @TODO: redact\n assertArgument(bytes.length === 82 || encodeBase58Check(bytes.slice(0, 78)) === extendedKey, \"invalid extended key\", \"extendedKey\", \"[ REDACTED ]\");\n const depth = bytes[4];\n const parentFingerprint = hexlify(bytes.slice(5, 9));\n const index = parseInt(hexlify(bytes.slice(9, 13)).substring(2), 16);\n const chainCode = hexlify(bytes.slice(13, 45));\n const key = bytes.slice(45, 78);\n switch (hexlify(bytes.slice(0, 4))) {\n // Public Key\n case \"0x0488b21e\":\n case \"0x043587cf\": {\n const publicKey = hexlify(key);\n return new HDNodeVoidWallet(_guard, computeAddress(publicKey), publicKey, parentFingerprint, chainCode, null, index, depth, null);\n }\n // Private Key\n case \"0x0488ade4\":\n case \"0x04358394 \":\n if (key[0] !== 0) {\n break;\n }\n return new HDNodeWallet(_guard, new SigningKey(key.slice(1)), parentFingerprint, chainCode, null, index, depth, null, null);\n }\n assertArgument(false, \"invalid extended key prefix\", \"extendedKey\", \"[ REDACTED ]\");\n }\n /**\n * Creates a new random HDNode.\n */\n static createRandom(password, path, wordlist) {\n if (password == null) {\n password = \"\";\n }\n if (path == null) {\n path = defaultPath;\n }\n if (wordlist == null) {\n wordlist = LangEn.wordlist();\n }\n const mnemonic = Mnemonic.fromEntropy(randomBytes(16), password, wordlist);\n return HDNodeWallet.#fromSeed(mnemonic.computeSeed(), mnemonic).derivePath(path);\n }\n /**\n * Create an HD Node from %%mnemonic%%.\n */\n static fromMnemonic(mnemonic, path) {\n if (!path) {\n path = defaultPath;\n }\n return HDNodeWallet.#fromSeed(mnemonic.computeSeed(), mnemonic).derivePath(path);\n }\n /**\n * Creates an HD Node from a mnemonic %%phrase%%.\n */\n static fromPhrase(phrase, password, path, wordlist) {\n if (password == null) {\n password = \"\";\n }\n if (path == null) {\n path = defaultPath;\n }\n if (wordlist == null) {\n wordlist = LangEn.wordlist();\n }\n const mnemonic = Mnemonic.fromPhrase(phrase, password, wordlist);\n return HDNodeWallet.#fromSeed(mnemonic.computeSeed(), mnemonic).derivePath(path);\n }\n /**\n * Creates an HD Node from a %%seed%%.\n */\n static fromSeed(seed) {\n return HDNodeWallet.#fromSeed(seed, null);\n }\n}\n/**\n * A **HDNodeVoidWallet** cannot sign, but provides access to\n * the children nodes of a [[link-bip-32]] HD wallet addresses.\n *\n * The can be created by using an extended ``xpub`` key to\n * [[HDNodeWallet_fromExtendedKey]] or by\n * [nuetering](HDNodeWallet-neuter) a [[HDNodeWallet]].\n */\nexport class HDNodeVoidWallet extends VoidSigner {\n /**\n * The compressed public key.\n */\n publicKey;\n /**\n * The fingerprint.\n *\n * A fingerprint allows quick qay to detect parent and child nodes,\n * but developers should be prepared to deal with collisions as it\n * is only 4 bytes.\n */\n fingerprint;\n /**\n * The parent node fingerprint.\n */\n parentFingerprint;\n /**\n * The chaincode, which is effectively a public key used\n * to derive children.\n */\n chainCode;\n /**\n * The derivation path of this wallet.\n *\n * Since extended keys do not provider full path details, this\n * may be ``null``, if instantiated from a source that does not\n * enocde it.\n */\n path;\n /**\n * The child index of this wallet. Values over ``2 *\\* 31`` indicate\n * the node is hardened.\n */\n index;\n /**\n * The depth of this wallet, which is the number of components\n * in its path.\n */\n depth;\n /**\n * @private\n */\n constructor(guard, address, publicKey, parentFingerprint, chainCode, path, index, depth, provider) {\n super(address, provider);\n assertPrivate(guard, _guard, \"HDNodeVoidWallet\");\n defineProperties(this, { publicKey });\n const fingerprint = dataSlice(ripemd160(sha256(publicKey)), 0, 4);\n defineProperties(this, {\n publicKey, fingerprint, parentFingerprint, chainCode, path, index, depth\n });\n }\n connect(provider) {\n return new HDNodeVoidWallet(_guard, this.address, this.publicKey, this.parentFingerprint, this.chainCode, this.path, this.index, this.depth, provider);\n }\n /**\n * The extended key.\n *\n * This key will begin with the prefix ``xpub`` and can be used to\n * reconstruct this neutered key to derive its children addresses.\n */\n get extendedKey() {\n // We only support the mainnet values for now, but if anyone needs\n // testnet values, let me know. I believe current sentiment is that\n // we should always use mainnet, and use BIP-44 to derive the network\n // - Mainnet: public=0x0488B21E, private=0x0488ADE4\n // - Testnet: public=0x043587CF, private=0x04358394\n assert(this.depth < 256, \"Depth too deep\", \"UNSUPPORTED_OPERATION\", { operation: \"extendedKey\" });\n return encodeBase58Check(concat([\n \"0x0488B21E\",\n zpad(this.depth, 1),\n this.parentFingerprint,\n zpad(this.index, 4),\n this.chainCode,\n this.publicKey,\n ]));\n }\n /**\n * Returns true if this wallet has a path, providing a Type Guard\n * that the path is non-null.\n */\n hasPath() { return (this.path != null); }\n /**\n * Return the child for %%index%%.\n */\n deriveChild(_index) {\n const index = getNumber(_index, \"index\");\n assertArgument(index <= 0xffffffff, \"invalid index\", \"index\", index);\n // Base path\n let path = this.path;\n if (path) {\n path += \"/\" + (index & ~HardenedBit);\n if (index & HardenedBit) {\n path += \"'\";\n }\n }\n const { IR, IL } = ser_I(index, this.chainCode, this.publicKey, null);\n const Ki = SigningKey.addPoints(IL, this.publicKey, true);\n const address = computeAddress(Ki);\n return new HDNodeVoidWallet(_guard, address, Ki, this.fingerprint, hexlify(IR), path, index, this.depth + 1, this.provider);\n }\n /**\n * Return the signer for %%path%% from this node.\n */\n derivePath(path) {\n return derivePath(this, path);\n }\n}\n/*\nexport class HDNodeWalletManager {\n #root: HDNodeWallet;\n\n constructor(phrase: string, password?: null | string, path?: null | string, locale?: null | Wordlist) {\n if (password == null) { password = \"\"; }\n if (path == null) { path = \"m/44'/60'/0'/0\"; }\n if (locale == null) { locale = LangEn.wordlist(); }\n this.#root = HDNodeWallet.fromPhrase(phrase, password, path, locale);\n }\n\n getSigner(index?: number): HDNodeWallet {\n return this.#root.deriveChild((index == null) ? 0: index);\n }\n}\n*/\n/**\n * Returns the [[link-bip-32]] path for the account at %%index%%.\n *\n * This is the pattern used by wallets like Ledger.\n *\n * There is also an [alternate pattern](getIndexedAccountPath) used by\n * some software.\n */\nexport function getAccountPath(_index) {\n const index = getNumber(_index, \"index\");\n assertArgument(index >= 0 && index < HardenedBit, \"invalid account index\", \"index\", index);\n return `m/44'/60'/${index}'/0/0`;\n}\n/**\n * Returns the path using an alternative pattern for deriving accounts,\n * at %%index%%.\n *\n * This derivation path uses the //index// component rather than the\n * //account// component to derive sequential accounts.\n *\n * This is the pattern used by wallets like MetaMask.\n */\nexport function getIndexedAccountPath(_index) {\n const index = getNumber(_index, \"index\");\n assertArgument(index >= 0 && index < HardenedBit, \"invalid account index\", \"index\", index);\n return `m/44'/60'/0'/0/${index}`;\n}\n//# sourceMappingURL=hdwallet.js.map","/**\n * @_subsection: api/wallet:JSON Wallets [json-wallets]\n */\nimport { CBC, pkcs7Strip } from \"aes-js\";\nimport { getAddress } from \"../address/index.js\";\nimport { pbkdf2 } from \"../crypto/index.js\";\nimport { id } from \"../hash/index.js\";\nimport { getBytes, assertArgument } from \"../utils/index.js\";\nimport { getPassword, looseArrayify, spelunk } from \"./utils.js\";\n/**\n * Returns true if %%json%% is a valid JSON Crowdsale wallet.\n */\nexport function isCrowdsaleJson(json) {\n try {\n const data = JSON.parse(json);\n if (data.encseed) {\n return true;\n }\n }\n catch (error) { }\n return false;\n}\n// See: https://github.com/ethereum/pyethsaletool\n/**\n * Before Ethereum launched, it was necessary to create a wallet\n * format for backers to use, which would be used to receive ether\n * as a reward for contributing to the project.\n *\n * The [[link-crowdsale]] format is now obsolete, but it is still\n * useful to support and the additional code is fairly trivial as\n * all the primitives required are used through core portions of\n * the library.\n */\nexport function decryptCrowdsaleJson(json, _password) {\n const data = JSON.parse(json);\n const password = getPassword(_password);\n // Ethereum Address\n const address = getAddress(spelunk(data, \"ethaddr:string!\"));\n // Encrypted Seed\n const encseed = looseArrayify(spelunk(data, \"encseed:string!\"));\n assertArgument(encseed && (encseed.length % 16) === 0, \"invalid encseed\", \"json\", json);\n const key = getBytes(pbkdf2(password, password, 2000, 32, \"sha256\")).slice(0, 16);\n const iv = encseed.slice(0, 16);\n const encryptedSeed = encseed.slice(16);\n // Decrypt the seed\n const aesCbc = new CBC(key, iv);\n const seed = pkcs7Strip(getBytes(aesCbc.decrypt(encryptedSeed)));\n // This wallet format is weird... Convert the binary encoded hex to a string.\n let seedHex = \"\";\n for (let i = 0; i < seed.length; i++) {\n seedHex += String.fromCharCode(seed[i]);\n }\n return { address, privateKey: id(seedHex) };\n}\n//# sourceMappingURL=json-crowdsale.js.map","import { SigningKey } from \"../crypto/index.js\";\nimport { assertArgument } from \"../utils/index.js\";\nimport { BaseWallet } from \"./base-wallet.js\";\nimport { HDNodeWallet } from \"./hdwallet.js\";\nimport { decryptCrowdsaleJson, isCrowdsaleJson } from \"./json-crowdsale.js\";\nimport { decryptKeystoreJson, decryptKeystoreJsonSync, encryptKeystoreJson, encryptKeystoreJsonSync, isKeystoreJson } from \"./json-keystore.js\";\nimport { Mnemonic } from \"./mnemonic.js\";\nfunction stall(duration) {\n return new Promise((resolve) => { setTimeout(() => { resolve(); }, duration); });\n}\n/**\n * A **Wallet** manages a single private key which is used to sign\n * transactions, messages and other common payloads.\n *\n * This class is generally the main entry point for developers\n * that wish to use a private key directly, as it can create\n * instances from a large variety of common sources, including\n * raw private key, [[link-bip-39]] mnemonics and encrypte JSON\n * wallets.\n */\nexport class Wallet extends BaseWallet {\n /**\n * Create a new wallet for the private %%key%%, optionally connected\n * to %%provider%%.\n */\n constructor(key, provider) {\n if (typeof (key) === \"string\" && !key.startsWith(\"0x\")) {\n key = \"0x\" + key;\n }\n let signingKey = (typeof (key) === \"string\") ? new SigningKey(key) : key;\n super(signingKey, provider);\n }\n connect(provider) {\n return new Wallet(this.signingKey, provider);\n }\n /**\n * Resolves to a [JSON Keystore Wallet](json-wallets) encrypted with\n * %%password%%.\n *\n * If %%progressCallback%% is specified, it will receive periodic\n * updates as the encryption process progreses.\n */\n async encrypt(password, progressCallback) {\n const account = { address: this.address, privateKey: this.privateKey };\n return await encryptKeystoreJson(account, password, { progressCallback });\n }\n /**\n * Returns a [JSON Keystore Wallet](json-wallets) encryped with\n * %%password%%.\n *\n * It is preferred to use the [async version](encrypt) instead,\n * which allows a [[ProgressCallback]] to keep the user informed.\n *\n * This method will block the event loop (freezing all UI) until\n * it is complete, which may be a non-trivial duration.\n */\n encryptSync(password) {\n const account = { address: this.address, privateKey: this.privateKey };\n return encryptKeystoreJsonSync(account, password);\n }\n static #fromAccount(account) {\n assertArgument(account, \"invalid JSON wallet\", \"json\", \"[ REDACTED ]\");\n if (\"mnemonic\" in account && account.mnemonic && account.mnemonic.locale === \"en\") {\n const mnemonic = Mnemonic.fromEntropy(account.mnemonic.entropy);\n const wallet = HDNodeWallet.fromMnemonic(mnemonic, account.mnemonic.path);\n if (wallet.address === account.address && wallet.privateKey === account.privateKey) {\n return wallet;\n }\n console.log(\"WARNING: JSON mismatch address/privateKey != mnemonic; fallback onto private key\");\n }\n const wallet = new Wallet(account.privateKey);\n assertArgument(wallet.address === account.address, \"address/privateKey mismatch\", \"json\", \"[ REDACTED ]\");\n return wallet;\n }\n /**\n * Creates (asynchronously) a **Wallet** by decrypting the %%json%%\n * with %%password%%.\n *\n * If %%progress%% is provided, it is called periodically during\n * decryption so that any UI can be updated.\n */\n static async fromEncryptedJson(json, password, progress) {\n let account = null;\n if (isKeystoreJson(json)) {\n account = await decryptKeystoreJson(json, password, progress);\n }\n else if (isCrowdsaleJson(json)) {\n if (progress) {\n progress(0);\n await stall(0);\n }\n account = decryptCrowdsaleJson(json, password);\n if (progress) {\n progress(1);\n await stall(0);\n }\n }\n return Wallet.#fromAccount(account);\n }\n /**\n * Creates a **Wallet** by decrypting the %%json%% with %%password%%.\n *\n * The [[fromEncryptedJson]] method is preferred, as this method\n * will lock up and freeze the UI during decryption, which may take\n * some time.\n */\n static fromEncryptedJsonSync(json, password) {\n let account = null;\n if (isKeystoreJson(json)) {\n account = decryptKeystoreJsonSync(json, password);\n }\n else if (isCrowdsaleJson(json)) {\n account = decryptCrowdsaleJson(json, password);\n }\n else {\n assertArgument(false, \"invalid JSON wallet\", \"json\", \"[ REDACTED ]\");\n }\n return Wallet.#fromAccount(account);\n }\n /**\n * Creates a new random [[HDNodeWallet]] using the available\n * [cryptographic random source](randomBytes).\n *\n * If there is no crytographic random source, this will throw.\n */\n static createRandom(provider) {\n const wallet = HDNodeWallet.createRandom();\n if (provider) {\n return wallet.connect(provider);\n }\n return wallet;\n }\n /**\n * Creates a [[HDNodeWallet]] for %%phrase%%.\n */\n static fromPhrase(phrase, provider) {\n const wallet = HDNodeWallet.fromPhrase(phrase);\n if (provider) {\n return wallet.connect(provider);\n }\n return wallet;\n }\n}\n//# sourceMappingURL=wallet.js.map","const Base64 = \")!@#$%^&*(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_\";\n/**\n * @_ignore\n */\nexport function decodeBits(width, data) {\n const maxValue = (1 << width) - 1;\n const result = [];\n let accum = 0, bits = 0, flood = 0;\n for (let i = 0; i < data.length; i++) {\n // Accumulate 6 bits of data\n accum = ((accum << 6) | Base64.indexOf(data[i]));\n bits += 6;\n // While we have enough for a word...\n while (bits >= width) {\n // ...read the word\n const value = (accum >> (bits - width));\n accum &= (1 << (bits - width)) - 1;\n bits -= width;\n // A value of 0 indicates we exceeded maxValue, it\n // floods over into the next value\n if (value === 0) {\n flood += maxValue;\n }\n else {\n result.push(value + flood);\n flood = 0;\n }\n }\n }\n return result;\n}\n//# sourceMappingURL=bit-reader.js.map","import { assertArgument } from \"../utils/index.js\";\nimport { decodeBits } from \"./bit-reader.js\";\nimport { decodeOwl } from \"./decode-owl.js\";\n/**\n * @_ignore\n */\nexport function decodeOwlA(data, accents) {\n let words = decodeOwl(data).join(\",\");\n // Inject the accents\n accents.split(/,/g).forEach((accent) => {\n const match = accent.match(/^([a-z]*)([0-9]+)([0-9])(.*)$/);\n assertArgument(match !== null, \"internal error parsing accents\", \"accents\", accents);\n let posOffset = 0;\n const positions = decodeBits(parseInt(match[3]), match[4]);\n const charCode = parseInt(match[2]);\n const regex = new RegExp(`([${match[1]}])`, \"g\");\n words = words.replace(regex, (all, letter) => {\n const rem = --positions[posOffset];\n if (rem === 0) {\n letter = String.fromCharCode(letter.charCodeAt(0), charCode);\n posOffset++;\n }\n return letter;\n });\n });\n return words.split(\",\");\n}\n//# sourceMappingURL=decode-owla.js.map","import { WordlistOwl } from \"./wordlist-owl.js\";\nimport { decodeOwlA } from \"./decode-owla.js\";\n/**\n * An OWL-A format Wordlist extends the OWL format to add an\n * overlay onto an OWL format Wordlist to support diacritic\n * marks.\n *\n * This class is generally not useful to most developers as\n * it is used mainly internally to keep Wordlists for languages\n * based on latin-1 small.\n *\n * If necessary, there are tools within the ``generation/`` folder\n * to create the necessary data.\n */\nexport class WordlistOwlA extends WordlistOwl {\n #accent;\n /**\n * Creates a new Wordlist for %%locale%% using the OWLA %%data%%\n * and %%accent%% data and validated against the %%checksum%%.\n */\n constructor(locale, data, accent, checksum) {\n super(locale, data, checksum);\n this.#accent = accent;\n }\n /**\n * The OWLA-encoded accent data.\n */\n get _accent() { return this.#accent; }\n /**\n * Decode all the words for the wordlist.\n */\n _decodeWords() {\n return decodeOwlA(this._data, this._accent);\n }\n}\n//# sourceMappingURL=wordlist-owla.js.map","import { LangEn } from \"./lang-en.js\";\nexport const wordlists = {\n en: LangEn.wordlist(),\n};\n//# sourceMappingURL=wordlists-browser.js.map","import type {\n Block,\n BlockTag,\n EthersError,\n InterfaceAbi,\n JsonRpcSigner,\n TransactionReceipt,\n TransactionResponse\n} from 'ethers'\nimport {\n ErrorTypeEnum,\n type BlockNumber,\n type ContractAddress,\n type PrivateKey,\n type TransactionId,\n type WalletAddress\n} from '@multiplechain/types'\nimport { sleep, checkWebSocket } from '@multiplechain/utils'\nimport type { EvmNetworkConfigInterface } from './Provider'\nimport type { TransactionData } from '../services/TransactionSigner'\nimport { Wallet, Contract, ContractFactory, JsonRpcProvider, WebSocketProvider } from 'ethers'\n\nexport type { EthersError } from 'ethers'\n\nexport class Ethers {\n /**\n * Network configuration of the provider\n */\n network: EvmNetworkConfigInterface\n\n /**\n * JSON RPC provider\n */\n jsonRpcProvider: JsonRpcProvider\n\n /**\n * WebSocket provider\n */\n webSocketProvider?: WebSocketProvider\n\n /**\n * @param network - Network configuration of the provider\n */\n constructor(network: EvmNetworkConfigInterface) {\n this.network = network\n this.jsonRpcProvider = new JsonRpcProvider(network.rpcUrl)\n }\n\n /**\n * @returns Ethers jsonRpc provider\n */\n public get jsonRpc(): JsonRpcProvider {\n return this.jsonRpcProvider\n }\n\n /**\n * @returns Ethers webSocket provider\n */\n public get webSocket(): WebSocketProvider | undefined {\n return this.webSocketProvider\n }\n\n /**\n * @returns Ethers webSocket provider\n */\n public async connectWebSocket(): Promise {\n return await new Promise((resolve, reject) => {\n if (this.network.wsUrl === undefined) {\n reject(new Error(ErrorTypeEnum.WS_URL_NOT_DEFINED))\n } else {\n const url = this.network.wsUrl\n checkWebSocket(url)\n .then((status: any) => {\n if (status instanceof Error) {\n reject(status)\n } else {\n resolve((this.webSocketProvider = new WebSocketProvider(url)))\n }\n })\n .catch(reject)\n }\n })\n }\n\n /**\n * @param address contract address\n * @param abi contract abi\n * @param signer signer of the contract\n * @returns contract instance\n */\n public contract(\n address: string,\n abi: InterfaceAbi,\n signer?: JsonRpcSigner | JsonRpcProvider\n ): Contract {\n return new Contract(address, abi, signer)\n }\n\n /**\n * @param privateKey private key of the wallet\n * @param provider provider of the blockchain network\n * @returns wallet instance\n */\n public wallet(privateKey: PrivateKey, provider?: JsonRpcProvider): Wallet {\n return new Wallet(privateKey, provider ?? this.jsonRpc)\n }\n\n /**\n * @param abi contract abi\n * @param bytecode contract bytecode\n * @param signer signer of the contract\n * @returns contract factory instance\n */\n public contractFactory(\n abi: InterfaceAbi,\n bytecode: string,\n signer?: JsonRpcSigner | JsonRpcProvider\n ): ContractFactory {\n return new ContractFactory(abi, bytecode, signer)\n }\n\n /**\n * @param address contract address\n * @returns contract bytecode\n */\n async getByteCode(address: ContractAddress): Promise {\n try {\n return await this.jsonRpc.getCode(address)\n } catch (error) {\n const e = error as EthersError\n if (e.code === 'UNCONFIGURED_NAME') {\n await sleep(1000)\n return await this.getByteCode(address)\n } else {\n throw error\n }\n }\n }\n\n /**\n * @param data transaction data\n * @returns transaction estimate gas\n */\n public async getEstimateGas(data: TransactionData): Promise {\n return Number(await this.jsonRpcProvider.estimateGas(data))\n }\n\n /**\n * @returns gas price\n */\n public async getGasPrice(): Promise {\n return (await this.jsonRpc.send('eth_gasPrice', [])).toString() as string\n }\n\n /**\n * @param address wallet address\n * @returns nonce of the wallet\n */\n public async getNonce(address: WalletAddress): Promise {\n return await this.jsonRpcProvider.getTransactionCount(address)\n }\n\n /**\n * @param block block number or block hash\n * @param prefetchTxs whether to prefetch transactions\n * @returns block information\n */\n public async getBlock(block: BlockTag | string, prefetchTxs?: boolean): Promise {\n return await this.jsonRpcProvider.getBlock(block, prefetchTxs)\n }\n\n /**\n * @returns block number\n */\n async getBlockNumber(): Promise {\n return await this.jsonRpcProvider.getBlockNumber()\n }\n\n /**\n * @param id transaction id\n * @returns transaction information\n */\n async getTransaction(id: TransactionId): Promise {\n return await this.jsonRpcProvider.getTransaction(id)\n }\n\n /**\n * @param id transaction id\n * @returns transaction receipt\n */\n async getTransactionReceipt(id: TransactionId): Promise {\n return await this.jsonRpcProvider.getTransactionReceipt(id)\n }\n\n /**\n * @param address wallet address\n * @param limit how many block to go back\n * @returns transactions\n */\n async getLastTransactions(\n address: WalletAddress,\n limit: number = 0\n ): Promise {\n const txPromises = []\n const blockPromises = []\n const transactions: TransactionResponse[] = []\n\n const block = await this.getBlock('pending')\n const blockNumber = block?.number ?? (await this.getBlockNumber())\n\n for (let i = blockNumber; i > blockNumber - limit; i--) {\n const block = await this.getBlock(i, true)\n if (block === null) {\n continue\n }\n blockPromises.push(block)\n }\n\n const blocks = await Promise.all(blockPromises)\n for (const block of blocks) {\n for (const txHash of block.transactions) {\n txPromises.push(this.getTransaction(txHash))\n }\n }\n\n const txs = await Promise.all(txPromises)\n for (const tx of txs) {\n if (\n tx?.from.toLowerCase() === address.toLowerCase() ||\n tx?.to?.toLowerCase() === address.toLowerCase()\n ) {\n transactions.push(tx)\n }\n }\n\n return transactions\n }\n\n /**\n * @param address wallet address\n * @param limit how many block to go back\n * @returns last transaction\n */\n async getLastTransaction(\n address: WalletAddress,\n limit: number = 0\n ): Promise {\n const block = await this.getBlock('pending')\n const blockNumber = block?.number ?? (await this.getBlockNumber())\n for (let i = blockNumber; i > blockNumber - limit; i--) {\n const block = await this.getBlock(i, true)\n if (block === null) {\n continue\n }\n for (const txId of block.transactions) {\n const tx = await this.getTransaction(txId)\n if (\n tx?.from.toLowerCase() === address.toLowerCase() ||\n tx?.to?.toLowerCase() === address.toLowerCase()\n ) {\n return tx\n }\n }\n }\n\n return null\n }\n\n /**\n * @param address wallet address\n * @returns balance of the wallet\n */\n async getBalance(address: WalletAddress): Promise {\n return await this.jsonRpcProvider.getBalance(address)\n }\n}\n","import axios from 'axios'\nimport { Ethers } from './Ethers'\nimport {\n ErrorTypeEnum,\n type NetworkConfigInterface,\n type ProviderInterface\n} from '@multiplechain/types'\n\nimport { checkWebSocket } from '@multiplechain/utils'\n\nexport interface EvmNetworkConfigInterface extends NetworkConfigInterface {\n id: number\n hexId?: string\n rpcUrl: string\n name?: string\n mainnetId?: number\n explorerUrl: string\n nativeCurrency: {\n name?: string\n symbol: string\n decimals: number\n }\n}\n\nexport class Provider implements ProviderInterface {\n /**\n * Network configuration of the provider\n */\n public network: EvmNetworkConfigInterface\n\n /**\n * Ethers service\n */\n public ethers: Ethers\n\n /**\n * Static instance of the provider\n */\n private static _instance: Provider\n\n /**\n * @param network - Network configuration of the provider\n */\n constructor(network: EvmNetworkConfigInterface) {\n this.update(network)\n }\n\n /**\n * Get the static instance of the provider\n * @returns Provider\n */\n static get instance(): Provider {\n if (Provider._instance === undefined) {\n throw new Error(ErrorTypeEnum.PROVIDER_IS_NOT_INITIALIZED)\n }\n return Provider._instance\n }\n\n /**\n * Initialize the static instance of the provider\n * @param network - Network configuration of the provider\n */\n static initialize(network: EvmNetworkConfigInterface): void {\n if (Provider._instance !== undefined) {\n throw new Error(ErrorTypeEnum.PROVIDER_IS_ALREADY_INITIALIZED)\n }\n Provider._instance = new Provider(network)\n }\n\n /**\n * Check RPC connection\n * @param url - RPC URL\n * @returns RPC connection status\n */\n async checkRpcConnection(url?: string): Promise {\n try {\n const response = await axios.post(url ?? this.network.rpcUrl, {\n jsonrpc: '2.0',\n method: 'eth_blockNumber',\n params: [],\n id: 1\n })\n\n if (response.status !== 200) {\n return new Error(response.statusText + ': ' + JSON.stringify(response.data))\n }\n\n return true\n } catch (error) {\n return error as any\n }\n }\n\n /**\n * Check WS connection\n * @param url - Websocket URL\n * @returns WS connection status\n */\n async checkWsConnection(url?: string): Promise {\n try {\n const result: any = await checkWebSocket(url ?? this.network.wsUrl ?? '')\n\n if (result instanceof Error) {\n return result\n }\n\n return true\n } catch (error) {\n return error as Error\n }\n }\n\n /**\n * Update network configuration of the provider\n * @param network - Network configuration of the provider\n */\n update(network: EvmNetworkConfigInterface): void {\n this.network = network\n Provider._instance = this\n this.ethers = new Ethers(network)\n }\n\n /**\n * Get the current network configuration is testnet or not\n * @returns Testnet status\n */\n isTestnet(): boolean {\n return this.network?.testnet ?? false\n }\n}\n","import {\n type WalletInterface,\n type WalletAdapterInterface,\n type WalletPlatformEnum,\n ErrorTypeEnum,\n type ConnectConfig,\n type UnknownConfig,\n type TransactionId,\n type SignedMessage,\n type WalletAddress\n} from '@multiplechain/types'\nimport { Provider } from '../services/Provider'\nimport type { EIP1193Provider } from './adapters/EIP6963'\nimport { toHex } from '@multiplechain/utils'\nimport type { TransactionSigner } from '../services/TransactionSigner'\n\nconst rejectMap = (error: any, reject: (a: any) => any): any => {\n console.error('MultipleChain EVM Wallet Error:', error)\n\n const errorMessage = String(error.message ?? '')\n if (\n errorMessage === 'Not supported chainId' ||\n errorMessage.includes('chain ID') ||\n errorMessage.includes('networkConfigurationId') ||\n errorMessage.includes('The Provider is not connected to the requested chain.')\n ) {\n return reject(new Error(ErrorTypeEnum.UNACCEPTED_CHAIN))\n } else if (\n error.code === 4001 ||\n error.error === 'Rejected by user' ||\n errorMessage === 'cancelled' ||\n errorMessage === 'User canceled' ||\n errorMessage === 'user reject this request' ||\n errorMessage === 'User rejected the transaction' ||\n errorMessage === 'An unexpected error occurred' ||\n errorMessage === 'User disapproved requested chains'\n ) {\n return reject(new Error(ErrorTypeEnum.WALLET_REQUEST_REJECTED))\n } else if (\n errorMessage.includes('User') ||\n errorMessage.includes('Rejected') ||\n errorMessage.includes('cancelled') ||\n errorMessage.includes('canceled') ||\n errorMessage.includes('rejected') ||\n errorMessage.includes('disapproved requested chains')\n ) {\n return reject(new Error(ErrorTypeEnum.WALLET_REQUEST_REJECTED))\n } else if (errorMessage.includes('Invalid RPC URL')) {\n return reject(new Error(ErrorTypeEnum.RPC_REQUEST_ERROR))\n } else if (\n error.code === -32000 ||\n errorMessage.includes('timeout') ||\n errorMessage.includes('request timed out')\n ) {\n return reject(new Error(ErrorTypeEnum.RPC_TIMEOUT))\n } else if (error.code === -32603 || error.code === -32602) {\n return reject(new Error(ErrorTypeEnum.TRANSACTION_CREATION_FAILED))\n } else if (error.code === -32601) {\n return reject(new Error(ErrorTypeEnum.RPC_REQUEST_ERROR))\n } else if (\n error.code === -32002 ||\n error.message === 'Already processing eth_requestAccounts. Please wait.'\n ) {\n return reject(new Error(ErrorTypeEnum.WALLET_ALREADY_PROCESSING))\n } else if (error.message === 'User closed modal') {\n return reject(new Error(ErrorTypeEnum.CLOSED_WALLETCONNECT_MODAL))\n } else if (error.message === 'transaction underpriced') {\n return reject(new Error(ErrorTypeEnum.TRANSACTION_CREATION_FAILED))\n }\n\n return reject(error)\n}\n\ntype WalletAdapter = WalletAdapterInterface & {\n provider?:\n | EIP1193Provider\n | { on: (eventName: string, callback: (...args: any[]) => void) => void }\n}\n\nexport interface RequestType {\n method: string\n params?: any[] | object\n}\n\nexport class Wallet implements WalletInterface {\n adapter: WalletAdapter\n\n walletProvider: EIP1193Provider\n\n networkProvider: Provider\n\n /**\n * @param adapter - Wallet adapter\n * @param provider - Blockchain network provider\n */\n constructor(adapter: WalletAdapter, provider?: Provider) {\n this.adapter = adapter\n this.networkProvider = provider ?? Provider.instance\n }\n\n /**\n * @param payload RequestType\n * @returns any\n */\n async request(payload: RequestType): Promise {\n const res = await this.walletProvider.request(payload)\n if (res?.error !== undefined) {\n const error = res.error as {\n code: number\n message: string\n }\n if (error.code === -32000) {\n throw new Error(ErrorTypeEnum.RPC_TIMEOUT)\n }\n throw new Error(error.message)\n }\n return res\n }\n\n /**\n * @returns Wallet ID\n */\n getId(): string {\n return this.adapter.id\n }\n\n /**\n * @returns Wallet name\n */\n getName(): string {\n return this.adapter.name\n }\n\n /**\n * @returns Wallet icon\n */\n getIcon(): string {\n return this.adapter.icon\n }\n\n /**\n * @returns Wallet platforms\n */\n getPlatforms(): WalletPlatformEnum[] {\n return this.adapter.platforms\n }\n\n /**\n * @returns Wallet download link\n */\n getDownloadLink(): string | undefined {\n return this.adapter.downloadLink\n }\n\n /**\n * @param url - Deep link URL\n * @param config - Deep link configuration\n * @returns Deep link\n */\n createDeepLink(url: string, config?: UnknownConfig): string | null {\n if (this.adapter.createDeepLink === undefined) {\n return null\n }\n\n return this.adapter.createDeepLink(url, config)\n }\n\n /**\n * @param config - Connection configuration\n * @returns WalletAddress\n */\n async connect(config?: ConnectConfig): Promise {\n return await new Promise((resolve, reject) => {\n this.adapter\n .connect(this.networkProvider, config)\n .then(async (provider) => {\n this.walletProvider = provider\n\n const chainId = await this.getChainId()\n\n if (this.networkProvider.network.id !== chainId) {\n reject(ErrorTypeEnum.UNACCEPTED_CHAIN)\n return\n }\n\n resolve(await this.getAddress())\n })\n .catch((error) => {\n const customReject = (error: any): void => {\n if (error.message === ErrorTypeEnum.WALLET_REQUEST_REJECTED) {\n reject(new Error(ErrorTypeEnum.WALLET_CONNECT_REJECTED))\n } else {\n reject(error)\n }\n }\n rejectMap(error, customReject)\n })\n })\n }\n\n /**\n * @returns boolean\n */\n async isDetected(): Promise {\n return await this.adapter.isDetected()\n }\n\n /**\n * @returns boolean\n */\n async isConnected(): Promise {\n return await this.adapter.isConnected()\n }\n\n /**\n * @returns number\n */\n async getChainId(): Promise {\n const chainId = await this.request({ method: 'eth_chainId' })\n return typeof chainId === 'number' ? chainId : parseInt(chainId as string, 16)\n }\n\n /**\n * @returns WalletAddress\n */\n async getAddress(): Promise {\n return (await this.walletProvider.request({ method: 'eth_accounts' }))[0]\n }\n\n /**\n * @param message - Message to sign\n * @returns SignedMessage\n */\n async signMessage(message: string): Promise {\n const address = await this.getAddress()\n return await new Promise((resolve, reject) => {\n this.walletProvider\n .request({\n method: 'personal_sign',\n params: [message, address]\n })\n .then((signature: string) => {\n resolve(signature)\n })\n .catch((error) => {\n rejectMap(error, reject)\n })\n })\n }\n\n /**\n * @param transactionSigner - Transaction signer\n * @returns TransactionId\n */\n async sendTransaction(transactionSigner: TransactionSigner): Promise {\n return await new Promise((resolve, reject) => {\n const data = transactionSigner.getRawData()\n data.gas = toHex(data.gasLimit as number)\n delete data.chainId\n delete data.nonce\n delete data.gasLimit\n delete data.gasPrice\n this.walletProvider\n .request({\n method: 'eth_sendTransaction',\n params: [data]\n })\n .then((txHash: string) => {\n resolve(txHash)\n })\n .catch((error) => {\n rejectMap(error, reject)\n })\n })\n }\n\n /**\n * @param eventName - Event name\n * @param callback - Event callback\n */\n on(eventName: string, callback: (...args: any[]) => void): void {\n if (this.adapter?.provider?.on !== undefined) {\n this.adapter.provider.on(eventName, callback)\n } else {\n this.walletProvider.on(eventName, callback)\n }\n }\n}\n","// src/arbitrum.ts\nvar arbitrum = {\n id: 42161,\n name: \"Arbitrum One\",\n network: \"arbitrum\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://arb-mainnet.g.alchemy.com/v2\"],\n webSocket: [\"wss://arb-mainnet.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://arbitrum-mainnet.infura.io/v3\"],\n webSocket: [\"wss://arbitrum-mainnet.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://arb1.arbitrum.io/rpc\"]\n },\n public: {\n http: [\"https://arb1.arbitrum.io/rpc\"]\n }\n },\n blockExplorers: {\n etherscan: { name: \"Arbiscan\", url: \"https://arbiscan.io\" },\n default: { name: \"Arbiscan\", url: \"https://arbiscan.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 7654707\n }\n }\n};\n\n// src/arbitrumGoerli.ts\nvar arbitrumGoerli = {\n id: 421613,\n name: \"Arbitrum Goerli\",\n network: \"arbitrum-goerli\",\n nativeCurrency: {\n name: \"Arbitrum Goerli Ether\",\n symbol: \"ETH\",\n decimals: 18\n },\n rpcUrls: {\n alchemy: {\n http: [\"https://arb-goerli.g.alchemy.com/v2\"],\n webSocket: [\"wss://arb-goerli.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://arbitrum-goerli.infura.io/v3\"],\n webSocket: [\"wss://arbitrum-goerli.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://goerli-rollup.arbitrum.io/rpc\"]\n },\n public: {\n http: [\"https://goerli-rollup.arbitrum.io/rpc\"]\n }\n },\n blockExplorers: {\n etherscan: { name: \"Arbiscan\", url: \"https://goerli.arbiscan.io/\" },\n default: { name: \"Arbiscan\", url: \"https://goerli.arbiscan.io/\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 88114\n }\n },\n testnet: true\n};\n\n// src/arbitrumNova.ts\nvar arbitrumNova = {\n id: 42170,\n name: \"Arbitrum Nova\",\n network: \"arbitrum-nova\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n blast: {\n http: [\"https://arbitrum-nova.public.blastapi.io\"],\n webSocket: [\"wss://arbitrum-nova.public.blastapi.io\"]\n },\n default: {\n http: [\"https://nova.arbitrum.io/rpc\"]\n },\n public: {\n http: [\"https://nova.arbitrum.io/rpc\"]\n }\n },\n blockExplorers: {\n etherscan: { name: \"Arbiscan\", url: \"https://nova.arbiscan.io\" },\n blockScout: {\n name: \"BlockScout\",\n url: \"https://nova-explorer.arbitrum.io/\"\n },\n default: { name: \"Arbiscan\", url: \"https://nova.arbiscan.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 1746963\n }\n }\n};\n\n// src/aurora.ts\nvar aurora = {\n id: 1313161554,\n name: \"Aurora\",\n network: \"aurora\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n infura: { http: [\"https://aurora-mainnet.infura.io/v3\"] },\n default: { http: [\"https://mainnet.aurora.dev\"] },\n public: { http: [\"https://mainnet.aurora.dev\"] }\n },\n blockExplorers: {\n etherscan: { name: \"Aurorascan\", url: \"https://aurorascan.dev\" },\n default: { name: \"Aurorascan\", url: \"https://aurorascan.dev\" }\n }\n};\n\n// src/auroraTestnet.ts\nvar auroraTestnet = {\n id: 1313161555,\n name: \"Aurora Testnet\",\n network: \"aurora-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n infura: { http: [\"https://aurora-testnet.infura.io/v3\"] },\n default: { http: [\"https://testnet.aurora.dev\"] },\n public: { http: [\"https://testnet.aurora.dev\"] }\n },\n blockExplorers: {\n etherscan: { name: \"Aurorascan\", url: \"https://testnet.aurorascan.dev\" },\n default: { name: \"Aurorascan\", url: \"https://testnet.aurorascan.dev\" }\n },\n testnet: true\n};\n\n// src/avalanche.ts\nvar avalanche = {\n id: 43114,\n name: \"Avalanche\",\n network: \"avalanche\",\n nativeCurrency: {\n decimals: 18,\n name: \"Avalanche\",\n symbol: \"AVAX\"\n },\n rpcUrls: {\n default: { http: [\"https://api.avax.network/ext/bc/C/rpc\"] },\n public: { http: [\"https://api.avax.network/ext/bc/C/rpc\"] }\n },\n blockExplorers: {\n etherscan: { name: \"SnowTrace\", url: \"https://snowtrace.io\" },\n default: { name: \"SnowTrace\", url: \"https://snowtrace.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 11907934\n }\n }\n};\n\n// src/avalancheFuji.ts\nvar avalancheFuji = {\n id: 43113,\n name: \"Avalanche Fuji\",\n network: \"avalanche-fuji\",\n nativeCurrency: {\n decimals: 18,\n name: \"Avalanche Fuji\",\n symbol: \"AVAX\"\n },\n rpcUrls: {\n default: { http: [\"https://api.avax-test.network/ext/bc/C/rpc\"] },\n public: { http: [\"https://api.avax-test.network/ext/bc/C/rpc\"] }\n },\n blockExplorers: {\n etherscan: { name: \"SnowTrace\", url: \"https://testnet.snowtrace.io\" },\n default: { name: \"SnowTrace\", url: \"https://testnet.snowtrace.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 7096959\n }\n },\n testnet: true\n};\n\n// src/base.ts\nvar base = {\n id: 8453,\n network: \"base\",\n name: \"Base\",\n nativeCurrency: { name: \"Base\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.base.org\"]\n },\n public: {\n http: [\"https://mainnet.base.org\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"Basescout\",\n url: \"https://base.blockscout.com\"\n },\n default: {\n name: \"Basescan\",\n url: \"https://basescan.org\"\n },\n etherscan: {\n name: \"Basescan\",\n url: \"https://basescan.org\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 5022\n }\n }\n};\n\n// src/baseGoerli.ts\nvar baseGoerli = {\n id: 84531,\n network: \"base-goerli\",\n name: \"Base Goerli\",\n nativeCurrency: { name: \"Base Goerli\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://goerli.base.org\"]\n },\n public: {\n http: [\"https://goerli.base.org\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Basescan\",\n url: \"https://goerli.basescan.org\"\n },\n default: {\n name: \"Basescan\",\n url: \"https://goerli.basescan.org\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 1376988\n }\n },\n testnet: true\n};\n\n// src/bearNetworkChainMainnet.ts\nvar bearNetworkChainMainnet = {\n id: 641230,\n name: \"Bear Network Chain Mainnet\",\n network: \"BearNetworkChainMainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"BearNetworkChain\",\n symbol: \"BRNKC\"\n },\n rpcUrls: {\n public: { http: [\"https://brnkc-mainnet.bearnetwork.net\"] },\n default: { http: [\"https://brnkc-mainnet.bearnetwork.net\"] }\n },\n blockExplorers: {\n default: { name: \"BrnkScan\", url: \"https://brnkscan.bearnetwork.net\" }\n }\n};\n\n// src/bearNetworkChainTestnet.ts\nvar bearNetworkChainTestnet = {\n id: 751230,\n name: \"Bear Network Chain Testnet\",\n network: \"BearNetworkChainTestnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"tBRNKC\",\n symbol: \"tBRNKC\"\n },\n rpcUrls: {\n public: { http: [\"https://brnkc-test.bearnetwork.net\"] },\n default: { http: [\"https://brnkc-test.bearnetwork.net\"] }\n },\n blockExplorers: {\n default: {\n name: \"BrnkTestScan\",\n url: \"https://brnktest-scan.bearnetwork.net\"\n }\n },\n testnet: true\n};\n\n// src/boba.ts\nvar boba = {\n id: 288,\n name: \"Boba Network\",\n network: \"boba\",\n nativeCurrency: {\n decimals: 18,\n name: \"Boba\",\n symbol: \"BOBA\"\n },\n rpcUrls: {\n default: { http: [\"https://mainnet.boba.network\"] },\n public: { http: [\"https://mainnet.boba.network\"] }\n },\n blockExplorers: {\n etherscan: { name: \"BOBAScan\", url: \"https://bobascan.com\" },\n default: { name: \"BOBAScan\", url: \"https://bobascan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 446859\n }\n }\n};\n\n// src/bronos.ts\nvar bronos = {\n id: 1039,\n name: \"Bronos\",\n network: \"bronos\",\n nativeCurrency: {\n decimals: 18,\n name: \"BRO\",\n symbol: \"BRO\"\n },\n rpcUrls: {\n default: { http: [\"https://evm.bronos.org\"] },\n public: { http: [\"https://evm.bronos.org\"] }\n },\n blockExplorers: {\n default: { name: \"BronoScan\", url: \"https://broscan.bronos.org\" }\n }\n};\n\n// src/bronosTestnet.ts\nvar bronosTestnet = {\n id: 1038,\n name: \"Bronos Testnet\",\n network: \"bronos-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Bronos Coin\",\n symbol: \"tBRO\"\n },\n rpcUrls: {\n default: { http: [\"https://evm-testnet.bronos.org\"] },\n public: { http: [\"https://evm-testnet.bronos.org\"] }\n },\n blockExplorers: {\n default: { name: \"BronoScan\", url: \"https://tbroscan.bronos.org\" }\n },\n testnet: true\n};\n\n// src/bsc.ts\nvar bsc = {\n id: 56,\n name: \"BNB Smart Chain\",\n network: \"bsc\",\n nativeCurrency: {\n decimals: 18,\n name: \"BNB\",\n symbol: \"BNB\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.ankr.com/bsc\"] },\n public: { http: [\"https://rpc.ankr.com/bsc\"] }\n },\n blockExplorers: {\n etherscan: { name: \"BscScan\", url: \"https://bscscan.com\" },\n default: { name: \"BscScan\", url: \"https://bscscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 15921452\n }\n }\n};\n\n// src/bscTestnet.ts\nvar bscTestnet = {\n id: 97,\n name: \"Binance Smart Chain Testnet\",\n network: \"bsc-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"BNB\",\n symbol: \"tBNB\"\n },\n rpcUrls: {\n default: { http: [\"https://data-seed-prebsc-1-s1.binance.org:8545\"] },\n public: { http: [\"https://data-seed-prebsc-1-s1.binance.org:8545\"] }\n },\n blockExplorers: {\n etherscan: { name: \"BscScan\", url: \"https://testnet.bscscan.com\" },\n default: { name: \"BscScan\", url: \"https://testnet.bscscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 17422483\n }\n },\n testnet: true\n};\n\n// src/bxn.ts\nvar bxn = {\n id: 4999,\n name: \"BlackFort Exchange Network\",\n network: \"bxn\",\n nativeCurrency: { name: \"BlackFort Token\", symbol: \"BXN\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.blackfort.network/rpc\"]\n },\n public: {\n http: [\"https://mainnet.blackfort.network/rpc\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://explorer.blackfort.network\"\n }\n }\n};\n\n// src/bxnTestnet.ts\nvar bxnTestnet = {\n id: 4777,\n name: \"BlackFort Exchange Network Testnet\",\n network: \"bxnTestnet\",\n nativeCurrency: {\n name: \"BlackFort Testnet Token\",\n symbol: \"TBXN\",\n decimals: 18\n },\n rpcUrls: {\n default: {\n http: [\"https://testnet.blackfort.network/rpc\"]\n },\n public: {\n http: [\"https://testnet.blackfort.network/rpc\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://testnet-explorer.blackfort.network\"\n }\n }\n};\n\n// src/canto.ts\nvar canto = {\n id: 7700,\n name: \"Canto\",\n network: \"canto\",\n nativeCurrency: {\n decimals: 18,\n name: \"Canto\",\n symbol: \"CANTO\"\n },\n rpcUrls: {\n default: { http: [\"https://canto.gravitychain.io\"] },\n public: { http: [\"https://canto.gravitychain.io\"] }\n },\n blockExplorers: {\n default: {\n name: \"Tuber.Build (Blockscout)\",\n url: \"https://tuber.build\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 2905789\n }\n }\n};\n\n// src/celo.ts\nvar celo = {\n id: 42220,\n name: \"Celo\",\n network: \"celo\",\n nativeCurrency: {\n decimals: 18,\n name: \"CELO\",\n symbol: \"CELO\"\n },\n rpcUrls: {\n default: { http: [\"https://forno.celo.org\"] },\n infura: {\n http: [\"https://celo-mainnet.infura.io/v3\"]\n },\n public: {\n http: [\"https://forno.celo.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Celo Explorer\",\n url: \"https://explorer.celo.org/mainnet\"\n },\n etherscan: { name: \"CeloScan\", url: \"https://celoscan.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 13112599\n }\n },\n testnet: false\n};\n\n// src/celoAlfajores.ts\nvar celoAlfajores = {\n id: 44787,\n name: \"Alfajores\",\n network: \"celo-alfajores\",\n nativeCurrency: {\n decimals: 18,\n name: \"CELO\",\n symbol: \"A-CELO\"\n },\n rpcUrls: {\n default: {\n http: [\"https://alfajores-forno.celo-testnet.org\"]\n },\n infura: {\n http: [\"https://celo-alfajores.infura.io/v3\"]\n },\n public: {\n http: [\"https://alfajores-forno.celo-testnet.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Celo Explorer\",\n url: \"https://explorer.celo.org/alfajores\"\n },\n etherscan: { name: \"CeloScan\", url: \"https://alfajores.celoscan.io/\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 14569001\n }\n },\n testnet: true\n};\n\n// src/celoCannoli.ts\nvar celoCannoli = {\n id: 17323,\n name: \"Cannoli\",\n network: \"celo-cannoli\",\n nativeCurrency: {\n decimals: 18,\n name: \"CELO\",\n symbol: \"C-CELO\"\n },\n rpcUrls: {\n default: {\n http: [\"https://forno.cannoli.celo-testnet.org\"]\n },\n public: {\n http: [\"https://forno.cannoli.celo-testnet.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Celo Explorer\",\n url: \"https://explorer.celo.org/cannoli\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0x5Acb0aa8BF4E8Ff0d882Ee187140713C12BF9718\",\n blockCreated: 87429\n }\n },\n testnet: true\n};\n\n// src/classic.ts\nvar classic = {\n id: 61,\n name: \"Ethereum Classic\",\n network: \"classic\",\n nativeCurrency: {\n decimals: 18,\n name: \"ETC\",\n symbol: \"ETC\"\n },\n rpcUrls: {\n default: { http: [\"https://etc.rivet.link\"] },\n public: { http: [\"https://etc.rivet.link\"] }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://blockscout.com/etc/mainnet\"\n }\n }\n};\n\n// src/confluxESpace.ts\nvar confluxESpace = {\n id: 1030,\n name: \"Conflux eSpace\",\n network: \"cfx-espace\",\n nativeCurrency: { name: \"Conflux\", symbol: \"CFX\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://evm.confluxrpc.org\"]\n },\n public: {\n http: [\"https://evm.confluxrpc.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"ConfluxScan\",\n url: \"https://evm.confluxscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xEFf0078910f638cd81996cc117bccD3eDf2B072F\",\n blockCreated: 68602935\n }\n }\n};\n\n// src/cronos.ts\nvar cronos = {\n id: 25,\n name: \"Cronos Mainnet\",\n network: \"cronos\",\n nativeCurrency: {\n decimals: 18,\n name: \"Cronos\",\n symbol: \"CRO\"\n },\n rpcUrls: {\n default: { http: [\"https://evm.cronos.org\"] },\n public: { http: [\"https://evm.cronos.org\"] }\n },\n blockExplorers: {\n default: { name: \"Cronoscan\", url: \"https://cronoscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 1963112\n }\n }\n};\n\n// src/cronosTestnet.ts\nvar cronosTestnet = {\n id: 338,\n name: \"Cronos Testnet\",\n network: \"cronos-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"CRO\",\n symbol: \"tCRO\"\n },\n rpcUrls: {\n default: { http: [\"https://evm-t3.cronos.org\"] },\n public: { http: [\"https://evm-t3.cronos.org\"] }\n },\n blockExplorers: {\n default: {\n name: \"Cronos Explorer\",\n url: \"https://cronos.org/explorer/testnet3\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 10191251\n }\n },\n testnet: true\n};\n\n// src/crossbell.ts\nvar crossbell = {\n id: 3737,\n network: \"crossbell\",\n name: \"Crossbell\",\n nativeCurrency: {\n decimals: 18,\n name: \"CSB\",\n symbol: \"CSB\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.crossbell.io\"]\n },\n public: {\n http: [\"https://rpc.crossbell.io\"]\n }\n },\n blockExplorers: {\n default: { name: \"CrossScan\", url: \"https://scan.crossbell.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xBB9759009cDaC82774EfC84D94cD9F7440f75Fcf\",\n blockCreated: 23499787\n }\n }\n};\n\n// src/dfk.ts\nvar dfk = {\n id: 53935,\n name: \"DFK Chain\",\n network: \"dfk\",\n nativeCurrency: {\n decimals: 18,\n name: \"Jewel\",\n symbol: \"JEWEL\"\n },\n rpcUrls: {\n default: {\n http: [\"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"]\n },\n public: {\n http: [\"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"DFKSubnetScan\",\n url: \"https://subnets.avax.network/defi-kingdoms\"\n },\n default: {\n name: \"DFKSubnetScan\",\n url: \"https://subnets.avax.network/defi-kingdoms\"\n }\n }\n};\n\n// src/dogechain.ts\nvar dogechain = {\n id: 2e3,\n name: \"Dogechain\",\n network: \"dogechain\",\n nativeCurrency: {\n decimals: 18,\n name: \"Dogechain\",\n symbol: \"DC\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.dogechain.dog\"] },\n public: { http: [\"https://rpc.dogechain.dog\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"DogeChainExplorer\",\n url: \"https://explorer.dogechain.dog\"\n },\n default: {\n name: \"DogeChainExplorer\",\n url: \"https://explorer.dogechain.dog\"\n }\n }\n};\n\n// src/edgeware.ts\nvar edgeware = {\n id: 2021,\n name: \"Edgeware EdgeEVM Mainnet\",\n network: \"edgeware\",\n nativeCurrency: {\n decimals: 18,\n name: \"Edgeware\",\n symbol: \"EDG\"\n },\n rpcUrls: {\n default: { http: [\"https://edgeware-evm.jelliedowl.net\"] },\n public: { http: [\"https://edgeware-evm.jelliedowl.net\"] }\n },\n blockExplorers: {\n etherscan: { name: \"Edgscan by Bharathcoorg\", url: \"https://edgscan.live\" },\n default: { name: \"Edgscan by Bharathcoorg\", url: \"https://edgscan.live\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 18117872\n }\n }\n};\n\n// src/edgewareTestnet.ts\nvar edgewareTestnet = {\n id: 2022,\n name: \"Beresheet BereEVM Testnet\",\n network: \"edgewareTestnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Testnet EDG\",\n symbol: \"tEDG\"\n },\n rpcUrls: {\n default: { http: [\"https://beresheet-evm.jelliedowl.net\"] },\n public: { http: [\"https://beresheet-evm.jelliedowl.net\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"Edgscan by Bharathcoorg\",\n url: \"https://testnet.edgscan.live\"\n },\n default: {\n name: \"Edgscan by Bharathcoorg\",\n url: \"https://testnet.edgscan.live\"\n }\n }\n};\n\n// src/emerald.ts\nvar emerald = {\n id: 42262,\n name: \"Oasis Emerald\",\n network: \"emerald\",\n nativeCurrency: {\n decimals: 18,\n name: \"Oasis ROSE\",\n symbol: \"ROSE\"\n },\n rpcUrls: {\n default: {\n http: [\"https://emerald.oasis.dev\"],\n webSocket: [\"wss://emerald.oasis.dev/ws\"]\n },\n public: {\n http: [\"https://emerald.oasis.dev\"],\n webSocket: [\"wss://emerald.oasis.dev/ws\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Oasis Explorer\",\n url: \"https://explorer.emerald.oasis.dev\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 1481392\n }\n }\n};\n\n// src/eos.ts\nvar eos = {\n id: 17777,\n name: \"EOS EVM\",\n network: \"eos\",\n nativeCurrency: {\n decimals: 18,\n name: \"EOS\",\n symbol: \"EOS\"\n },\n rpcUrls: {\n default: { http: [\"https://api.evm.eosnetwork.com\"] },\n public: { http: [\"https://api.evm.eosnetwork.com\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"EOS EVM Explorer\",\n url: \"https://explorer.evm.eosnetwork.com\"\n },\n default: {\n name: \"EOS EVM Explorer\",\n url: \"https://explorer.evm.eosnetwork.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 7943933\n }\n }\n};\n\n// src/eosTestnet.ts\nvar eosTestnet = {\n id: 15557,\n name: \"EOS EVM Testnet\",\n network: \"eos\",\n nativeCurrency: {\n decimals: 18,\n name: \"EOS\",\n symbol: \"EOS\"\n },\n rpcUrls: {\n default: { http: [\"https://api.testnet.evm.eosnetwork.com\"] },\n public: { http: [\"https://api.testnet.evm.eosnetwork.com\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"EOS EVM Testnet Explorer\",\n url: \"https://explorer.testnet.evm.eosnetwork.com\"\n },\n default: {\n name: \"EOS EVM Testnet Explorer\",\n url: \"https://explorer.testnet.evm.eosnetwork.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 9067940\n }\n },\n testnet: true\n};\n\n// src/evmos.ts\nvar evmos = {\n id: 9001,\n name: \"Evmos\",\n network: \"evmos\",\n nativeCurrency: {\n decimals: 18,\n name: \"Evmos\",\n symbol: \"EVMOS\"\n },\n rpcUrls: {\n default: { http: [\"https://eth.bd.evmos.org:8545\"] },\n public: { http: [\"https://eth.bd.evmos.org:8545\"] }\n },\n blockExplorers: {\n default: { name: \"Evmos Block Explorer\", url: \"https://escan.live\" }\n }\n};\n\n// src/evmosTestnet.ts\nvar evmosTestnet = {\n id: 9e3,\n name: \"Evmos Testnet\",\n network: \"evmos-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Evmos\",\n symbol: \"EVMOS\"\n },\n rpcUrls: {\n default: { http: [\"https://eth.bd.evmos.dev:8545\"] },\n public: { http: [\"https://eth.bd.evmos.dev:8545\"] }\n },\n blockExplorers: {\n default: {\n name: \"Evmos Testnet Block Explorer\",\n url: \"https://evm.evmos.dev/\"\n }\n }\n};\n\n// src/ekta.ts\nvar ekta = {\n id: 1994,\n name: \"Ekta\",\n network: \"ekta\",\n nativeCurrency: {\n decimals: 18,\n name: \"EKTA\",\n symbol: \"EKTA\"\n },\n rpcUrls: {\n public: { http: [\"https://main.ekta.io\"] },\n default: { http: [\"https://main.ekta.io\"] }\n },\n blockExplorers: {\n default: { name: \"Ektascan\", url: \"https://ektascan.io\" }\n }\n};\n\n// src/ektaTestnet.ts\nvar ektaTestnet = {\n id: 1004,\n name: \"Ekta Testnet\",\n network: \"ekta-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"EKTA\",\n symbol: \"EKTA\"\n },\n rpcUrls: {\n public: { http: [\"https://test.ekta.io:8545\"] },\n default: { http: [\"https://test.ekta.io:8545\"] }\n },\n blockExplorers: {\n default: { name: \"Test Ektascan\", url: \"https://test.ektascan.io\" }\n },\n testnet: true\n};\n\n// src/ewc.ts\nvar ewc = {\n id: 246,\n name: \"Energy Web Chain\",\n network: \"ewc\",\n nativeCurrency: { name: \"EWT\", symbol: \"EWT\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.energyweb.org\"]\n },\n public: {\n http: [\"https://rpc.energyweb.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Energy Web Chain Explorer\",\n url: \"https://explorer.energyweb.org\"\n }\n },\n contracts: {\n ensRegistry: {\n address: \"0x0A6d64413c07E10E890220BBE1c49170080C6Ca0\"\n }\n }\n};\n\n// src/fantom.ts\nvar fantom = {\n id: 250,\n name: \"Fantom\",\n network: \"fantom\",\n nativeCurrency: {\n decimals: 18,\n name: \"Fantom\",\n symbol: \"FTM\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.ankr.com/fantom\"] },\n public: { http: [\"https://rpc.ankr.com/fantom\"] }\n },\n blockExplorers: {\n etherscan: { name: \"FTMScan\", url: \"https://ftmscan.com\" },\n default: { name: \"FTMScan\", url: \"https://ftmscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 33001987\n }\n }\n};\n\n// src/fantomTestnet.ts\nvar fantomTestnet = {\n id: 4002,\n name: \"Fantom Testnet\",\n network: \"fantom-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Fantom\",\n symbol: \"FTM\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.testnet.fantom.network\"] },\n public: { http: [\"https://rpc.testnet.fantom.network\"] }\n },\n blockExplorers: {\n etherscan: { name: \"FTMScan\", url: \"https://testnet.ftmscan.com\" },\n default: { name: \"FTMScan\", url: \"https://testnet.ftmscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 8328688\n }\n }\n};\n\n// src/fibo.ts\nvar fibo = {\n id: 12306,\n name: \"Fibo Chain\",\n network: \"fibochain\",\n nativeCurrency: {\n decimals: 18,\n name: \"fibo\",\n symbol: \"FIBO\"\n },\n rpcUrls: {\n default: { http: [\"https://network.hzroc.art\"] },\n public: { http: [\"https://network.hzroc.art\"] }\n },\n blockExplorers: {\n default: { name: \"FiboScan\", url: \"https://scan.fibochain.org\" }\n }\n};\n\n// src/filecoin.ts\nvar filecoin = {\n id: 314,\n name: \"Filecoin Mainnet\",\n network: \"filecoin-mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"filecoin\",\n symbol: \"FIL\"\n },\n rpcUrls: {\n default: { http: [\"https://api.node.glif.io/rpc/v1\"] },\n public: { http: [\"https://api.node.glif.io/rpc/v1\"] }\n },\n blockExplorers: {\n default: { name: \"Filfox\", url: \"https://filfox.info/en\" },\n filscan: { name: \"Filscan\", url: \"https://filscan.io\" },\n filscout: { name: \"Filscout\", url: \"https://filscout.io/en\" },\n glif: { name: \"Glif\", url: \"https://explorer.glif.io\" }\n }\n};\n\n// src/filecoinCalibration.ts\nvar filecoinCalibration = {\n id: 314159,\n name: \"Filecoin Calibration\",\n network: \"filecoin-calibration\",\n nativeCurrency: {\n decimals: 18,\n name: \"testnet filecoin\",\n symbol: \"tFIL\"\n },\n rpcUrls: {\n default: { http: [\"https://api.calibration.node.glif.io/rpc/v1\"] },\n public: { http: [\"https://api.calibration.node.glif.io/rpc/v1\"] }\n },\n blockExplorers: {\n default: { name: \"Filscan\", url: \"https://calibration.filscan.io\" }\n }\n};\n\n// src/filecoinHyperspace.ts\nvar filecoinHyperspace = {\n id: 3141,\n name: \"Filecoin Hyperspace\",\n network: \"filecoin-hyperspace\",\n nativeCurrency: {\n decimals: 18,\n name: \"testnet filecoin\",\n symbol: \"tFIL\"\n },\n rpcUrls: {\n default: { http: [\"https://api.hyperspace.node.glif.io/rpc/v1\"] },\n public: { http: [\"https://api.hyperspace.node.glif.io/rpc/v1\"] }\n },\n blockExplorers: {\n default: { name: \"Filfox\", url: \"https://hyperspace.filfox.info/en\" },\n filscan: { name: \"Filscan\", url: \"https://hyperspace.filscan.io\" }\n }\n};\n\n// src/flare.ts\nvar flare = {\n id: 14,\n name: \"Flare Mainnet\",\n network: \"flare-mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"flare\",\n symbol: \"FLR\"\n },\n rpcUrls: {\n default: { http: [\"https://flare-api.flare.network/ext/C/rpc\"] },\n public: { http: [\"https://flare-api.flare.network/ext/C/rpc\"] }\n },\n blockExplorers: {\n default: {\n name: \"Flare Explorer\",\n url: \"https://flare-explorer.flare.network\"\n }\n }\n};\n\n// src/flareTestnet.ts\nvar flareTestnet = {\n id: 114,\n name: \"Coston2\",\n network: \"coston2\",\n nativeCurrency: {\n decimals: 18,\n name: \"coston2flare\",\n symbol: \"C2FLR\"\n },\n rpcUrls: {\n default: { http: [\"https://coston2-api.flare.network/ext/C/rpc\"] },\n public: { http: [\"https://coston2-api.flare.network/ext/C/rpc\"] }\n },\n blockExplorers: {\n default: {\n name: \"Coston2 Explorer\",\n url: \"https://coston2-explorer.flare.network\"\n }\n },\n testnet: true\n};\n\n// src/foundry.ts\nvar foundry = {\n id: 31337,\n name: \"Foundry\",\n network: \"foundry\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: {\n http: [\"http://127.0.0.1:8545\"],\n webSocket: [\"ws://127.0.0.1:8545\"]\n },\n public: {\n http: [\"http://127.0.0.1:8545\"],\n webSocket: [\"ws://127.0.0.1:8545\"]\n }\n }\n};\n\n// src/fuse.ts\nvar fuse = {\n id: 122,\n name: \"Fuse\",\n network: \"fuse\",\n nativeCurrency: { name: \"Fuse\", symbol: \"FUSE\", decimals: 18 },\n rpcUrls: {\n default: { http: [\"https://rpc.fuse.io\"] },\n public: { http: [\"https://fuse-mainnet.chainstacklabs.com\"] }\n },\n blockExplorers: {\n default: { name: \"Fuse Explorer\", url: \"https://explorer.fuse.io\" }\n }\n};\n\n// src/fuseSparknet.ts\nvar fuseSparknet = {\n id: 123,\n name: \"Fuse Sparknet\",\n network: \"fuse\",\n nativeCurrency: { name: \"Spark\", symbol: \"SPARK\", decimals: 18 },\n rpcUrls: {\n default: { http: [\"https://rpc.fusespark.io\"] },\n public: { http: [\"https://rpc.fusespark.io\"] }\n },\n blockExplorers: {\n default: {\n name: \"Sparkent Explorer\",\n url: \"https://explorer.fusespark.io\"\n }\n }\n};\n\n// src/iotex.ts\nvar iotex = {\n id: 4689,\n name: \"IoTeX\",\n network: \"iotex\",\n nativeCurrency: {\n decimals: 18,\n name: \"IoTeX\",\n symbol: \"IOTX\"\n },\n rpcUrls: {\n default: {\n http: [\"https://babel-api.mainnet.iotex.io\"],\n webSocket: [\"wss://babel-api.mainnet.iotex.io\"]\n },\n public: {\n http: [\"https://babel-api.mainnet.iotex.io\"],\n webSocket: [\"wss://babel-api.mainnet.iotex.io\"]\n }\n },\n blockExplorers: {\n default: { name: \"IoTeXScan\", url: \"https://iotexscan.io\" }\n }\n};\n\n// src/iotexTestnet.ts\nvar iotexTestnet = {\n id: 4690,\n name: \"IoTeX Testnet\",\n network: \"iotex-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"IoTeX\",\n symbol: \"IOTX\"\n },\n rpcUrls: {\n default: {\n http: [\"https://babel-api.testnet.iotex.io\"],\n webSocket: [\"wss://babel-api.testnet.iotex.io\"]\n },\n public: {\n http: [\"https://babel-api.testnet.iotex.io\"],\n webSocket: [\"wss://babel-api.testnet.iotex.io\"]\n }\n },\n blockExplorers: {\n default: { name: \"IoTeXScan\", url: \"https://testnet.iotexscan.io\" }\n }\n};\n\n// src/gobi.ts\nvar gobi = {\n id: 1663,\n name: \"Horizen Gobi Testnet\",\n network: \"gobi\",\n nativeCurrency: {\n decimals: 18,\n name: \"Test ZEN\",\n symbol: \"tZEN\"\n },\n rpcUrls: {\n public: { http: [\"https://gobi-testnet.horizenlabs.io/ethv1\"] },\n default: { http: [\"https://gobi-testnet.horizenlabs.io/ethv1\"] }\n },\n blockExplorers: {\n default: { name: \"Gobi Explorer\", url: \"https://gobi-explorer.horizen.io\" }\n },\n contracts: {},\n testnet: true\n};\n\n// src/goerli.ts\nvar goerli = {\n id: 5,\n network: \"goerli\",\n name: \"Goerli\",\n nativeCurrency: { name: \"Goerli Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://eth-goerli.g.alchemy.com/v2\"],\n webSocket: [\"wss://eth-goerli.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://goerli.infura.io/v3\"],\n webSocket: [\"wss://goerli.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://rpc.ankr.com/eth_goerli\"]\n },\n public: {\n http: [\"https://rpc.ankr.com/eth_goerli\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://goerli.etherscan.io\"\n },\n default: {\n name: \"Etherscan\",\n url: \"https://goerli.etherscan.io\"\n }\n },\n contracts: {\n ensRegistry: {\n address: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"\n },\n ensUniversalResolver: {\n address: \"0x56522D00C410a43BFfDF00a9A569489297385790\",\n blockCreated: 8765204\n },\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 6507670\n }\n },\n testnet: true\n};\n\n// src/gnosis.ts\nvar gnosis = {\n id: 100,\n name: \"Gnosis\",\n network: \"gnosis\",\n nativeCurrency: {\n decimals: 18,\n name: \"Gnosis\",\n symbol: \"xDAI\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.gnosischain.com\"] },\n public: { http: [\"https://rpc.gnosischain.com\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"Gnosisscan\",\n url: \"https://gnosisscan.io\"\n },\n default: {\n name: \"Gnosis Chain Explorer\",\n url: \"https://blockscout.com/xdai/mainnet\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 21022491\n }\n }\n};\n\n// src/gnosisChiado.ts\nvar gnosisChiado = {\n id: 10200,\n name: \"Gnosis Chiado\",\n network: \"chiado\",\n nativeCurrency: {\n decimals: 18,\n name: \"Gnosis\",\n symbol: \"xDAI\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.chiadochain.net\"] },\n public: { http: [\"https://rpc.chiadochain.net\"] }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://blockscout.chiadochain.net\"\n }\n }\n};\n\n// src/hardhat.ts\nvar hardhat = {\n id: 31337,\n name: \"Hardhat\",\n network: \"hardhat\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: { http: [\"http://127.0.0.1:8545\"] },\n public: { http: [\"http://127.0.0.1:8545\"] }\n }\n};\n\n// src/harmonyOne.ts\nvar harmonyOne = {\n id: 16666e5,\n name: \"Harmony One\",\n network: \"harmony\",\n nativeCurrency: {\n name: \"Harmony\",\n symbol: \"ONE\",\n decimals: 18\n },\n rpcUrls: {\n public: { http: [\"https://rpc.ankr.com/harmony\"] },\n default: { http: [\"https://rpc.ankr.com/harmony\"] }\n },\n blockExplorers: {\n default: { name: \"Harmony Explorer\", url: \"https://explorer.harmony.one\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 24185753\n }\n }\n};\n\n// src/haqqMainnet.ts\nvar haqqMainnet = {\n id: 11235,\n name: \"HAQQ Mainnet\",\n network: \"haqq-mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Islamic Coin\",\n symbol: \"ISLM\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.eth.haqq.network\"]\n },\n public: {\n http: [\"https://rpc.eth.haqq.network\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"HAQQ Explorer\",\n url: \"https://explorer.haqq.network\"\n }\n }\n};\n\n// src/haqqTestedge2.ts\nvar haqqTestedge2 = {\n id: 54211,\n name: \"HAQQ Testedge 2\",\n network: \"haqq-testedge-2\",\n nativeCurrency: {\n decimals: 18,\n name: \"Islamic Coin\",\n symbol: \"ISLMT\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.eth.testedge2.haqq.network\"]\n },\n public: {\n http: [\"https://rpc.eth.testedge2.haqq.network\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"HAQQ Explorer\",\n url: \"https://explorer.testedge2.haqq.network\"\n }\n }\n};\n\n// src/klaytn.ts\nvar klaytn = {\n id: 8217,\n name: \"Klaytn\",\n network: \"klaytn\",\n nativeCurrency: {\n decimals: 18,\n name: \"Klaytn\",\n symbol: \"KLAY\"\n },\n rpcUrls: {\n default: { http: [\"https://cypress.fautor.app/archive\"] },\n public: { http: [\"https://cypress.fautor.app/archive\"] }\n },\n blockExplorers: {\n etherscan: { name: \"KlaytnScope\", url: \"https://scope.klaytn.com\" },\n default: { name: \"KlaytnScope\", url: \"https://scope.klaytn.com\" }\n }\n};\n\n// src/linea.ts\nvar linea = {\n id: 59144,\n name: \"Linea Mainnet\",\n network: \"linea-mainnet\",\n nativeCurrency: { name: \"Linea Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n infura: {\n http: [\"https://linea-mainnet.infura.io/v3\"],\n webSocket: [\"wss://linea-mainnet.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://rpc.linea.build\"],\n webSocket: [\"wss://rpc.linea.build\"]\n },\n public: {\n http: [\"https://rpc.linea.build\"],\n webSocket: [\"wss://rpc.linea.build\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Etherscan\",\n url: \"https://lineascan.build\"\n },\n etherscan: {\n name: \"Etherscan\",\n url: \"https://lineascan.build\"\n },\n blockscout: {\n name: \"Blockscout\",\n url: \"https://explorer.linea.build\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 42\n }\n },\n testnet: false\n};\n\n// src/lineaTestnet.ts\nvar lineaTestnet = {\n id: 59140,\n name: \"Linea Goerli Testnet\",\n network: \"linea-testnet\",\n nativeCurrency: { name: \"Linea Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n infura: {\n http: [\"https://linea-goerli.infura.io/v3\"],\n webSocket: [\"wss://linea-goerli.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://rpc.goerli.linea.build\"],\n webSocket: [\"wss://rpc.goerli.linea.build\"]\n },\n public: {\n http: [\"https://rpc.goerli.linea.build\"],\n webSocket: [\"wss://rpc.goerli.linea.build\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Etherscan\",\n url: \"https://goerli.lineascan.build\"\n },\n etherscan: {\n name: \"Etherscan\",\n url: \"https://goerli.lineascan.build\"\n },\n blockscout: {\n name: \"Blockscout\",\n url: \"https://explorer.goerli.linea.build\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 498623\n }\n },\n testnet: true\n};\n\n// src/localhost.ts\nvar localhost = {\n id: 1337,\n name: \"Localhost\",\n network: \"localhost\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: { http: [\"http://127.0.0.1:8545\"] },\n public: { http: [\"http://127.0.0.1:8545\"] }\n }\n};\n\n// src/mainnet.ts\nvar mainnet = {\n id: 1,\n network: \"homestead\",\n name: \"Ethereum\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://eth-mainnet.g.alchemy.com/v2\"],\n webSocket: [\"wss://eth-mainnet.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://mainnet.infura.io/v3\"],\n webSocket: [\"wss://mainnet.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://cloudflare-eth.com\"]\n },\n public: {\n http: [\"https://cloudflare-eth.com\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://etherscan.io\"\n },\n default: {\n name: \"Etherscan\",\n url: \"https://etherscan.io\"\n }\n },\n contracts: {\n ensRegistry: {\n address: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"\n },\n ensUniversalResolver: {\n address: \"0xc0497E381f536Be9ce14B0dD3817cBcAe57d2F62\",\n blockCreated: 16966585\n },\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 14353601\n }\n }\n};\n\n// src/mantle.ts\nvar mantle = {\n id: 5e3,\n name: \"Mantle\",\n network: \"mantle\",\n nativeCurrency: {\n decimals: 18,\n name: \"MNT\",\n symbol: \"MNT\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.mantle.xyz\"] },\n public: { http: [\"https://rpc.mantle.xyz\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"Mantle Explorer\",\n url: \"https://explorer.mantle.xyz\"\n },\n default: {\n name: \"Mantle Explorer\",\n url: \"https://explorer.mantle.xyz\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 304717\n }\n }\n};\n\n// src/mantleTestnet.ts\nvar mantleTestnet = {\n id: 5001,\n name: \"Mantle Testnet\",\n network: \"mantle\",\n nativeCurrency: {\n decimals: 18,\n name: \"MNT\",\n symbol: \"MNT\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.testnet.mantle.xyz\"] },\n public: { http: [\"https://rpc.testnet.mantle.xyz\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"Mantle Testnet Explorer\",\n url: \"https://explorer.testnet.mantle.xyz\"\n },\n default: {\n name: \"Mantle Testnet Explorer\",\n url: \"https://explorer.testnet.mantle.xyz\"\n }\n },\n testnet: true\n};\n\n// src/metis.ts\nvar metis = {\n id: 1088,\n name: \"Metis\",\n network: \"andromeda\",\n nativeCurrency: {\n decimals: 18,\n name: \"Metis\",\n symbol: \"METIS\"\n },\n rpcUrls: {\n default: { http: [\"https://andromeda.metis.io/?owner=1088\"] },\n public: { http: [\"https://andromeda.metis.io/?owner=1088\"] }\n },\n blockExplorers: {\n default: {\n name: \"Andromeda Explorer\",\n url: \"https://andromeda-explorer.metis.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 2338552\n }\n }\n};\n\n// src/metisGoerli.ts\nvar metisGoerli = {\n id: 599,\n name: \"Metis Goerli\",\n network: \"metis-goerli\",\n nativeCurrency: {\n decimals: 18,\n name: \"Metis Goerli\",\n symbol: \"METIS\"\n },\n rpcUrls: {\n default: { http: [\"https://goerli.gateway.metisdevops.link\"] },\n public: { http: [\"https://goerli.gateway.metisdevops.link\"] }\n },\n blockExplorers: {\n default: {\n name: \"Metis Goerli Explorer\",\n url: \"https://goerli.explorer.metisdevops.link\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 1006207\n }\n }\n};\n\n// src/mev.ts\nvar mev = {\n id: 7518,\n network: \"MEVerse\",\n name: \"MEVerse Chain Mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"MEVerse\",\n symbol: \"MEV\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.meversemainnet.io\"]\n },\n public: {\n http: [\"https://rpc.meversemainnet.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Explorer\",\n url: \"https://www.meversescan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 86881340\n }\n }\n};\n\n// src/mevTestnet.ts\nvar mevTestnet = {\n id: 4759,\n network: \"MEVerse Testnet\",\n name: \"MEVerse Chain Testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"MEVerse\",\n symbol: \"MEV\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.meversetestnet.io\"]\n },\n public: {\n http: [\"https://rpc.meversetestnet.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Explorer\",\n url: \"https://testnet.meversescan.io/\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 64371115\n }\n },\n testnet: true\n};\n\n// src/modeTestnet.ts\nvar modeTestnet = {\n id: 919,\n name: \"Mode Testnet\",\n network: \"mode-testnet\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://sepolia.mode.network\"]\n },\n public: {\n http: [\"https://sepolia.mode.network\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://sepolia.explorer.mode.network\"\n }\n },\n testnet: true\n};\n\n// src/moonbaseAlpha.ts\nvar moonbaseAlpha = {\n id: 1287,\n name: \"Moonbase Alpha\",\n network: \"moonbase-alpha\",\n nativeCurrency: {\n decimals: 18,\n name: \"DEV\",\n symbol: \"DEV\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.api.moonbase.moonbeam.network\"],\n webSocket: [\"wss://wss.api.moonbase.moonbeam.network\"]\n },\n public: {\n http: [\"https://rpc.api.moonbase.moonbeam.network\"],\n webSocket: [\"wss://wss.api.moonbase.moonbeam.network\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Moonscan\",\n url: \"https://moonbase.moonscan.io\"\n },\n etherscan: {\n name: \"Moonscan\",\n url: \"https://moonbase.moonscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 1850686\n }\n },\n testnet: true\n};\n\n// src/moonbeam.ts\nvar moonbeam = {\n id: 1284,\n name: \"Moonbeam\",\n network: \"moonbeam\",\n nativeCurrency: {\n decimals: 18,\n name: \"GLMR\",\n symbol: \"GLMR\"\n },\n rpcUrls: {\n public: {\n http: [\"https://moonbeam.public.blastapi.io\"],\n webSocket: [\"wss://moonbeam.public.blastapi.io\"]\n },\n default: {\n http: [\"https://moonbeam.public.blastapi.io\"],\n webSocket: [\"wss://moonbeam.public.blastapi.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Moonscan\",\n url: \"https://moonscan.io\"\n },\n etherscan: {\n name: \"Moonscan\",\n url: \"https://moonscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 609002\n }\n },\n testnet: false\n};\n\n// src/moonriver.ts\nvar moonriver = {\n id: 1285,\n name: \"Moonriver\",\n network: \"moonriver\",\n nativeCurrency: {\n decimals: 18,\n name: \"MOVR\",\n symbol: \"MOVR\"\n },\n rpcUrls: {\n public: {\n http: [\"https://moonriver.public.blastapi.io\"],\n webSocket: [\"wss://moonriver.public.blastapi.io\"]\n },\n default: {\n http: [\"https://moonriver.public.blastapi.io\"],\n webSocket: [\"wss://moonriver.public.blastapi.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Moonscan\",\n url: \"https://moonriver.moonscan.io\"\n },\n etherscan: {\n name: \"Moonscan\",\n url: \"https://moonriver.moonscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 1597904\n }\n },\n testnet: false\n};\n\n// src/neonDevnet.ts\nvar neonDevnet = {\n id: 245022926,\n network: \"neonDevnet\",\n name: \"Neon EVM DevNet\",\n nativeCurrency: { name: \"NEON\", symbol: \"NEON\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://devnet.neonevm.org\"]\n },\n public: {\n http: [\"https://devnet.neonevm.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Neonscan\",\n url: \"https://neonscan.org\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 205206112\n }\n },\n testnet: true\n};\n\n// src/nexi.ts\nvar nexi = {\n id: 4242,\n name: \"Nexi\",\n network: \"nexi\",\n nativeCurrency: { name: \"Nexi\", symbol: \"NEXI\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.chain.nexi.technology\"]\n },\n public: {\n http: [\"https://rpc.chain.nexi.technology\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"NexiScan\",\n url: \"https://www.nexiscan.com\"\n },\n default: {\n name: \"NexiScan\",\n url: \"https://www.nexiscan.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0x0277A46Cc69A57eE3A6C8c158bA874832F718B8E\",\n blockCreated: 25770160\n }\n }\n};\n\n// src/nexilix.ts\nvar nexilix = {\n id: 240,\n name: \"Nexilix Smart Chain\",\n network: \"nexilix\",\n nativeCurrency: {\n decimals: 18,\n name: \"Nexilix\",\n symbol: \"NEXILIX\"\n },\n rpcUrls: {\n default: { http: [\"https://rpcurl.pos.nexilix.com\"] },\n public: { http: [\"https://rpcurl.pos.nexilix.com\"] }\n },\n blockExplorers: {\n etherscan: { name: \"NexilixScan\", url: \"https://scan.nexilix.com\" },\n default: { name: \"NexilixScan\", url: \"https://scan.nexilix.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0x58381c8e2BF9d0C2C4259cA14BdA9Afe02831244\",\n blockCreated: 74448\n }\n }\n};\n\n// src/oasys.ts\nvar oasys = {\n id: 248,\n name: \"Oasys\",\n network: \"oasys\",\n nativeCurrency: { name: \"Oasys\", symbol: \"OAS\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.mainnet.oasys.games\"]\n },\n public: {\n http: [\"https://rpc.mainnet.oasys.games\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"OasysScan\",\n url: \"https://scan.oasys.games\"\n }\n }\n};\n\n// src/okc.ts\nvar okc = {\n id: 66,\n name: \"OKC\",\n network: \"okc\",\n nativeCurrency: {\n decimals: 18,\n name: \"OKT\",\n symbol: \"OKT\"\n },\n rpcUrls: {\n default: { http: [\"https://exchainrpc.okex.org\"] },\n public: { http: [\"https://exchainrpc.okex.org\"] }\n },\n blockExplorers: {\n default: { name: \"oklink\", url: \"https://www.oklink.com/okc\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 10364792\n }\n }\n};\n\n// src/optimism.ts\nvar optimism = {\n id: 10,\n name: \"OP Mainnet\",\n network: \"optimism\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://opt-mainnet.g.alchemy.com/v2\"],\n webSocket: [\"wss://opt-mainnet.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://optimism-mainnet.infura.io/v3\"],\n webSocket: [\"wss://optimism-mainnet.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://mainnet.optimism.io\"]\n },\n public: {\n http: [\"https://mainnet.optimism.io\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://optimistic.etherscan.io\"\n },\n default: {\n name: \"Optimism Explorer\",\n url: \"https://explorer.optimism.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 4286263\n }\n }\n};\n\n// src/optimismGoerli.ts\nvar optimismGoerli = {\n id: 420,\n name: \"Optimism Goerli\",\n network: \"optimism-goerli\",\n nativeCurrency: { name: \"Goerli Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://opt-goerli.g.alchemy.com/v2\"],\n webSocket: [\"wss://opt-goerli.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://optimism-goerli.infura.io/v3\"],\n webSocket: [\"wss://optimism-goerli.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://goerli.optimism.io\"]\n },\n public: {\n http: [\"https://goerli.optimism.io\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://goerli-optimism.etherscan.io\"\n },\n default: {\n name: \"Etherscan\",\n url: \"https://goerli-optimism.etherscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 49461\n }\n },\n testnet: true\n};\n\n// src/polygon.ts\nvar polygon = {\n id: 137,\n name: \"Polygon\",\n network: \"matic\",\n nativeCurrency: { name: \"MATIC\", symbol: \"MATIC\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://polygon-mainnet.g.alchemy.com/v2\"],\n webSocket: [\"wss://polygon-mainnet.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://polygon-mainnet.infura.io/v3\"],\n webSocket: [\"wss://polygon-mainnet.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://polygon-rpc.com\"]\n },\n public: {\n http: [\"https://polygon-rpc.com\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"PolygonScan\",\n url: \"https://polygonscan.com\"\n },\n default: {\n name: \"PolygonScan\",\n url: \"https://polygonscan.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 25770160\n }\n }\n};\n\n// src/polygonMumbai.ts\nvar polygonMumbai = {\n id: 80001,\n name: \"Polygon Mumbai\",\n network: \"maticmum\",\n nativeCurrency: { name: \"MATIC\", symbol: \"MATIC\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://polygon-mumbai.g.alchemy.com/v2\"],\n webSocket: [\"wss://polygon-mumbai.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://polygon-mumbai.infura.io/v3\"],\n webSocket: [\"wss://polygon-mumbai.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://matic-mumbai.chainstacklabs.com\"]\n },\n public: {\n http: [\"https://matic-mumbai.chainstacklabs.com\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"PolygonScan\",\n url: \"https://mumbai.polygonscan.com\"\n },\n default: {\n name: \"PolygonScan\",\n url: \"https://mumbai.polygonscan.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 25770160\n }\n },\n testnet: true\n};\n\n// src/polygonZkEvmTestnet.ts\nvar polygonZkEvmTestnet = {\n id: 1442,\n name: \"Polygon zkEVM Testnet\",\n network: \"polygon-zkevm-testnet\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.public.zkevm-test.net\"]\n },\n public: {\n http: [\"https://rpc.public.zkevm-test.net\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"Blockscout\",\n url: \"https://explorer.public.zkevm-test.net\"\n },\n default: {\n name: \"PolygonScan\",\n url: \"https://testnet-zkevm.polygonscan.com\"\n }\n },\n testnet: true,\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 525686\n }\n }\n};\n\n// src/polygonZkEvm.ts\nvar polygonZkEvm = {\n id: 1101,\n name: \"Polygon zkEVM\",\n network: \"polygon-zkevm\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://zkevm-rpc.com\"]\n },\n public: {\n http: [\"https://zkevm-rpc.com\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"PolygonScan\",\n url: \"https://zkevm.polygonscan.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 57746\n }\n }\n};\n\n// src/pulsechain.ts\nvar pulsechain = {\n id: 369,\n network: \"pulsechain\",\n name: \"PulseChain\",\n nativeCurrency: { name: \"Pulse\", symbol: \"PLS\", decimals: 18 },\n testnet: false,\n rpcUrls: {\n default: {\n http: [\"https://rpc.pulsechain.com\"],\n webSocket: [\"wss://ws.pulsechain.com\"]\n },\n public: {\n http: [\"https://rpc.pulsechain.com\"],\n webSocket: [\"wss://ws.pulsechain.com\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"PulseScan\",\n url: \"https://scan.pulsechain.com\"\n }\n },\n contracts: {\n ensRegistry: {\n address: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"\n },\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 14353601\n }\n }\n};\n\n// src/pulsechainV4.ts\nvar pulsechainV4 = {\n id: 943,\n network: \"pulsechainV4\",\n name: \"PulseChain V4\",\n testnet: true,\n nativeCurrency: { name: \"V4 Pulse\", symbol: \"v4PLS\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.v4.testnet.pulsechain.com\"],\n webSocket: [\"wss://ws.v4.testnet.pulsechain.com\"]\n },\n public: {\n http: [\"https://rpc.v4.testnet.pulsechain.com\"],\n webSocket: [\"wss://ws.v4.testnet.pulsechain.com\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"PulseScan\",\n url: \"https://scan.v4.testnet.pulsechain.com\"\n }\n },\n contracts: {\n ensRegistry: {\n address: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"\n },\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 14353601\n }\n }\n};\n\n// src/qMainnet.ts\nvar qMainnet = {\n id: 35441,\n name: \"Q Mainnet\",\n network: \"q-mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Q\",\n symbol: \"Q\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.q.org\"] },\n public: { http: [\"https://rpc.q.org\"] }\n },\n blockExplorers: {\n default: {\n name: \"Q Mainnet Explorer\",\n url: \"https://explorer.q.org\"\n }\n }\n};\n\n// src/qTestnet.ts\nvar qTestnet = {\n id: 35443,\n name: \"Q Testnet\",\n network: \"q-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Q\",\n symbol: \"Q\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.qtestnet.org\"] },\n public: { http: [\"https://rpc.qtestnet.org\"] }\n },\n blockExplorers: {\n default: {\n name: \"Q Testnet Explorer\",\n url: \"https://explorer.qtestnet.org\"\n }\n },\n testnet: true\n};\n\n// src/rollux.ts\nvar rollux = {\n id: 570,\n name: \"Rollux Mainnet\",\n network: \"rollux\",\n nativeCurrency: {\n decimals: 18,\n name: \"Syscoin\",\n symbol: \"SYS\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.rollux.com\"],\n webSocket: [\"wss://rpc.rollux.com/wss\"]\n },\n public: { http: [\"https://rollux.public-rpc.com\"] }\n },\n blockExplorers: {\n default: { name: \"RolluxExplorer\", url: \"https://explorer.rollux.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 119222\n }\n }\n};\n\n// src/rolluxTestnet.ts\nvar rolluxTestnet = {\n id: 57e3,\n name: \"Rollux Testnet\",\n network: \"rollux-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Syscoin\",\n symbol: \"SYS\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc-tanenbaum.rollux.com/\"],\n webSocket: [\"wss://rpc-tanenbaum.rollux.com/wss\"]\n },\n public: { http: [\"https://rpc-tanenbaum.rollux.com/\"] }\n },\n blockExplorers: {\n default: {\n name: \"RolluxTestnetExplorer\",\n url: \"https://rollux.tanenbaum.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 1813675\n }\n }\n};\n\n// src/ronin.ts\nvar ronin = {\n id: 2020,\n name: \"Ronin\",\n network: \"ronin\",\n nativeCurrency: { name: \"RON\", symbol: \"RON\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://api.roninchain.com/rpc\"]\n },\n public: {\n http: [\"https://api.roninchain.com/rpc\"]\n }\n },\n blockExplorers: {\n default: { name: \"Ronin Explorer\", url: \"https://app.roninchain.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 26023535\n }\n }\n};\n\n// src/saigon.ts\nvar saigon = {\n id: 2021,\n name: \"Saigon Testnet\",\n network: \"saigon\",\n nativeCurrency: { name: \"RON\", symbol: \"RON\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://saigon-testnet.roninchain.com/rpc\"]\n },\n public: {\n http: [\"https://saigon-testnet.roninchain.com/rpc\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Saigon Explorer\",\n url: \"https://saigon-explorer.roninchain.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 18736871\n }\n },\n testnet: true\n};\n\n// src/scrollSepolia.ts\nvar scrollSepolia = {\n id: 534351,\n name: \"Scroll Sepolia\",\n network: \"scroll-sepolia\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://sepolia-rpc.scroll.io\"],\n webSocket: [\"wss://sepolia-rpc.scroll.io/ws\"]\n },\n public: {\n http: [\"https://sepolia-rpc.scroll.io\"],\n webSocket: [\"wss://sepolia-rpc.scroll.io/ws\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://sepolia-blockscout.scroll.io\"\n }\n },\n testnet: true\n};\n\n// src/scrollTestnet.ts\nvar scrollTestnet = {\n id: 534353,\n name: \"Scroll Testnet\",\n network: \"scroll-testnet\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://alpha-rpc.scroll.io/l2\"],\n webSocket: [\"wss://alpha-rpc.scroll.io/l2/ws\"]\n },\n public: {\n http: [\"https://alpha-rpc.scroll.io/l2\"],\n webSocket: [\"wss://alpha-rpc.scroll.io/l2/ws\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://blockscout.scroll.io\"\n }\n },\n testnet: true\n};\n\n// src/sapphire.ts\nvar sapphire = {\n id: 23294,\n name: \"Oasis Sapphire\",\n network: \"sapphire\",\n nativeCurrency: {\n decimals: 18,\n name: \"Oasis ROSE\",\n symbol: \"ROSE\"\n },\n rpcUrls: {\n default: {\n http: [\"https://sapphire.oasis.io\"],\n webSocket: [\"wss://sapphire.oasis.io/ws\"]\n },\n public: {\n http: [\"https://sapphire.oasis.io\"],\n webSocket: [\"wss://sapphire.oasis.io/ws\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Oasis Explorer\",\n url: \"https://explorer.oasis.io/mainnet/sapphire\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 734531\n }\n }\n};\n\n// src/sapphireTestnet.ts\nvar sapphireTestnet = {\n id: 23295,\n name: \"Oasis Sapphire Testnet\",\n network: \"sapphireTestnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Oasis TEST\",\n symbol: \"TEST\"\n },\n rpcUrls: {\n default: {\n http: [\"https://testnet.sapphire.oasis.dev\"],\n webSocket: [\"wss://testnet.sapphire.oasis.dev/ws\"]\n },\n public: {\n http: [\"https://testnet.sapphire.oasis.dev\"],\n webSocket: [\"wss://testnet.sapphire.oasis.dev/ws\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Oasis Explorer\",\n url: \"https://explorer.oasis.io/testnet/sapphire\"\n }\n }\n};\n\n// src/sepolia.ts\nvar sepolia = {\n id: 11155111,\n network: \"sepolia\",\n name: \"Sepolia\",\n nativeCurrency: { name: \"Sepolia Ether\", symbol: \"SEP\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://eth-sepolia.g.alchemy.com/v2\"],\n webSocket: [\"wss://eth-sepolia.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://sepolia.infura.io/v3\"],\n webSocket: [\"wss://sepolia.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://rpc.sepolia.org\"]\n },\n public: {\n http: [\"https://rpc.sepolia.org\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://sepolia.etherscan.io\"\n },\n default: {\n name: \"Etherscan\",\n url: \"https://sepolia.etherscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 6507670\n }\n },\n testnet: true\n};\n\n// src/skale/brawl.ts\nvar skaleBlockBrawlers = {\n id: 391845894,\n name: \"SKALE | Block Brawlers\",\n network: \"skale-brawl\",\n nativeCurrency: { name: \"BRAWL\", symbol: \"BRAWL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/frayed-decent-antares\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/frayed-decent-antares\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/frayed-decent-antares\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/frayed-decent-antares\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://frayed-decent-antares.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://frayed-decent-antares.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/calypso.ts\nvar skaleCalypso = {\n id: 1564830818,\n name: \"SKALE | Calypso NFT Hub\",\n network: \"skale-calypso\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/honorable-steel-rasalhague\"],\n webSocket: [\n \"wss://mainnet.skalenodes.com/v1/ws/honorable-steel-rasalhague\"\n ]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/honorable-steel-rasalhague\"],\n webSocket: [\n \"wss://mainnet.skalenodes.com/v1/ws/honorable-steel-rasalhague\"\n ]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://honorable-steel-rasalhague.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://honorable-steel-rasalhague.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 3107626\n }\n }\n};\n\n// src/skale/calypsoTestnet.ts\nvar skaleCalypsoTestnet = {\n id: 344106930,\n name: \"SKALE | Calypso NFT Hub Testnet\",\n network: \"skale-calypso-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-utter-unripe-menkar\"\n ],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-utter-unripe-menkar\"\n ]\n },\n public: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-utter-unripe-menkar\"\n ],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-utter-unripe-menkar\"\n ]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://staging-utter-unripe-menkar.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-utter-unripe-menkar.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 2131424\n }\n },\n testnet: true\n};\n\n// src/skale/chaosTestnet.ts\nvar skaleChaosTestnet = {\n id: 1351057110,\n name: \"SKALE | Chaos Testnet\",\n network: \"skale-chaos-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-fast-active-bellatrix\"\n ],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-fast-active-bellatrix\"\n ]\n },\n public: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-fast-active-bellatrix\"\n ],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-fast-active-bellatrix\"\n ]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://staging-fast-active-bellatrix.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-fast-active-bellatrix.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 1192202\n }\n },\n testnet: true\n};\n\n// src/skale/cryptoBlades.ts\nvar skaleCryptoBlades = {\n id: 1026062157,\n name: \"SKALE | CryptoBlades\",\n network: \"skale-cryptoblades\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/affectionate-immediate-pollux\"],\n webSocket: [\n \"wss://mainnet.skalenodes.com/v1/ws/affectionate-immediate-pollux\"\n ]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/affectionate-immediate-pollux\"],\n webSocket: [\n \"wss://mainnet.skalenodes.com/v1/ws/affectionate-immediate-pollux\"\n ]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://affectionate-immediate-pollux.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://affectionate-immediate-pollux.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/cryptoColosseum.ts\nvar skaleCryptoColosseum = {\n id: 2046399126,\n name: \"SKALE | Crypto Colosseum\",\n network: \"skale-crypto-coloseeum\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/haunting-devoted-deneb\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/haunting-devoted-deneb\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/haunting-devoted-deneb\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/haunting-devoted-deneb\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://haunting-devoted-deneb.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://haunting-devoted-deneb.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/europa.ts\nvar skaleEuropa = {\n id: 2046399126,\n name: \"SKALE | Europa Liquidity Hub\",\n network: \"skale-europa\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/elated-tan-skat\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/elated-tan-skat\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/elated-tan-skat\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/elated-tan-skat\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://elated-tan-skat.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://elated-tan-skat.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 3113495\n }\n }\n};\n\n// src/skale/europaTestnet.ts\nvar skaleEuropaTestnet = {\n id: 476158412,\n name: \"SKALE | Europa Liquidity Hub Testnet\",\n network: \"skale-europa-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://staging-v3.skalenodes.com/v1/staging-legal-crazy-castor\"],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-legal-crazy-castor\"\n ]\n },\n public: {\n http: [\"https://staging-v3.skalenodes.com/v1/staging-legal-crazy-castor\"],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-legal-crazy-castor\"\n ]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://staging-legal-crazy-castor.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-legal-crazy-castor.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 2071911\n }\n },\n testnet: true\n};\n\n// src/skale/exorde.ts\nvar skaleExorde = {\n id: 2139927552,\n name: \"SKALE | Exorde\",\n network: \"skale-exorde\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/light-vast-diphda\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/light-vast-diphda\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/light-vast-diphda\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/light-vast-diphda\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://light-vast-diphda.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://light-vast-diphda.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/humanProtocol.ts\nvar skaleHumanProtocol = {\n id: 1273227453,\n name: \"SKALE | Human Protocol\",\n network: \"skale-human-protocol\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/wan-red-ain\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/wan-red-ain\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/wan-red-ain\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/wan-red-ain\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://wan-red-ain.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://wan-red-ain.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/nebula.ts\nvar skaleNebula = {\n id: 1482601649,\n name: \"SKALE | Nebula Gaming Hub\",\n network: \"skale-nebula\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/green-giddy-denebola\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/green-giddy-denebola\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/green-giddy-denebola\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/green-giddy-denebola\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://green-giddy-denebola.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://green-giddy-denebola.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 2372986\n }\n }\n};\n\n// src/skale/nebulaTestnet.ts\nvar skaleNebulaTestnet = {\n id: 503129905,\n name: \"SKALE | Nebula Gaming Hub Testnet\",\n network: \"skale-nebula-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://staging-v3.skalenodes.com/v1/staging-faint-slimy-achird\"],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-faint-slimy-achird\"\n ]\n },\n public: {\n http: [\"https://staging-v3.skalenodes.com/v1/staging-faint-slimy-achird\"],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-faint-slimy-achird\"\n ]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://staging-faint-slimy-achird.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-faint-slimy-achird.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 2205882\n }\n },\n testnet: true\n};\n\n// src/skale/razor.ts\nvar skaleRazor = {\n id: 278611351,\n name: \"SKALE | Razor Network\",\n network: \"skale-razor\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/turbulent-unique-scheat\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/turbulent-unique-scheat\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/turbulent-unique-scheat\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/turbulent-unique-scheat\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://turbulent-unique-scheat.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://turbulent-unique-scheat.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/titan.ts\nvar skaleTitan = {\n id: 1350216234,\n name: \"SKALE | Titan Community Hub\",\n network: \"skale-titan\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/parallel-stormy-spica\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/parallel-stormy-spica\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/parallel-stormy-spica\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/parallel-stormy-spica\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://parallel-stormy-spica.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://parallel-stormy-spica.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 2076458\n }\n }\n};\n\n// src/skale/titanTestnet.ts\nvar skaleTitanTestnet = {\n id: 1517929550,\n name: \"SKALE | Titan Community Hub Testnet\",\n network: \"skale-titan-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-aware-chief-gianfar\"\n ],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-aware-chief-gianfar\"\n ]\n },\n public: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-aware-chief-gianfar\"\n ],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-aware-chief-gianfar\"\n ]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://staging-aware-chief-gianfar.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-aware-chief-gianfar.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 2085155\n }\n },\n testnet: true\n};\n\n// src/songbird.ts\nvar songbird = {\n id: 19,\n name: \"Songbird Mainnet\",\n network: \"songbird-mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"songbird\",\n symbol: \"SGB\"\n },\n rpcUrls: {\n default: { http: [\"https://songbird-api.flare.network/ext/C/rpc\"] },\n public: { http: [\"https://songbird-api.flare.network/ext/C/rpc\"] }\n },\n blockExplorers: {\n default: {\n name: \"Songbird Explorer\",\n url: \"https://songbird-explorer.flare.network\"\n }\n }\n};\n\n// src/songbirdTestnet.ts\nvar songbirdTestnet = {\n id: 16,\n name: \"Coston\",\n network: \"coston\",\n nativeCurrency: {\n decimals: 18,\n name: \"costonflare\",\n symbol: \"CFLR\"\n },\n rpcUrls: {\n default: { http: [\"https://coston-api.flare.network/ext/C/rpc\"] },\n public: { http: [\"https://coston-api.flare.network/ext/C/rpc\"] }\n },\n blockExplorers: {\n default: {\n name: \"Coston Explorer\",\n url: \"https://coston-explorer.flare.network\"\n }\n },\n testnet: true\n};\n\n// src/shardeumSphinx.ts\nvar shardeumSphinx = {\n id: 8082,\n name: \"Shardeum Sphinx\",\n network: \"shmSphinx\",\n nativeCurrency: { name: \"SHARDEUM\", symbol: \"SHM\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://sphinx.shardeum.org\"]\n },\n public: {\n http: [\"https://sphinx.shardeum.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Shardeum Explorer\",\n url: \"https://explorer-sphinx.shardeum.org\"\n }\n },\n testnet: true\n};\n\n// src/syscoin.ts\nvar syscoin = {\n id: 57,\n name: \"Syscoin Mainnet\",\n network: \"syscoin\",\n nativeCurrency: {\n decimals: 18,\n name: \"Syscoin\",\n symbol: \"SYS\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.syscoin.org\"],\n webSocket: [\"wss://rpc.syscoin.org/wss\"]\n },\n public: {\n http: [\"https://rpc.syscoin.org\"],\n webSocket: [\"wss://rpc.syscoin.org/wss\"]\n }\n },\n blockExplorers: {\n default: { name: \"SyscoinExplorer\", url: \"https://explorer.syscoin.org\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 287139\n }\n }\n};\n\n// src/syscoinTestnet.ts\nvar syscoinTestnet = {\n id: 5700,\n name: \"Syscoin Tanenbaum Testnet\",\n network: \"syscoin-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Syscoin\",\n symbol: \"SYS\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.tanenbaum.io\"],\n webSocket: [\"wss://rpc.tanenbaum.io/wss\"]\n },\n public: {\n http: [\"https://rpc.tanenbaum.io\"],\n webSocket: [\"wss://rpc.tanenbaum.io/wss\"]\n }\n },\n blockExplorers: {\n default: { name: \"SyscoinTestnetExplorer\", url: \"https://tanenbaum.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 271288\n }\n }\n};\n\n// src/taraxa.ts\nvar taraxa = {\n id: 841,\n name: \"Taraxa Mainnet\",\n network: \"taraxa\",\n nativeCurrency: { name: \"Tara\", symbol: \"TARA\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.mainnet.taraxa.io\"]\n },\n public: {\n http: [\"https://rpc.mainnet.taraxa.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Taraxa Explorer\",\n url: \"https://explorer.mainnet.taraxa.io\"\n }\n }\n};\n\n// src/taikoTestnetSepolia.ts\nvar taikoTestnetSepolia = {\n id: 167005,\n name: \"Taiko (Alpha-3 Testnet)\",\n network: \"taiko-sepolia\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.test.taiko.xyz\"]\n },\n public: {\n http: [\"https://rpc.test.taiko.xyz\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"blockscout\",\n url: \"https://explorer.test.taiko.xyz\"\n }\n }\n};\n\n// src/taraxaTestnet.ts\nvar taraxaTestnet = {\n id: 842,\n name: \"Taraxa Testnet\",\n network: \"taraxa-testnet\",\n nativeCurrency: { name: \"Tara\", symbol: \"TARA\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.testnet.taraxa.io\"]\n },\n public: {\n http: [\"https://rpc.testnet.taraxa.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Taraxa Explorer\",\n url: \"https://explorer.testnet.taraxa.io\"\n }\n },\n testnet: true\n};\n\n// src/telos.ts\nvar telos = {\n id: 40,\n name: \"Telos\",\n network: \"telos\",\n nativeCurrency: {\n decimals: 18,\n name: \"Telos\",\n symbol: \"TLOS\"\n },\n rpcUrls: {\n default: { http: [\"https://mainnet.telos.net/evm\"] },\n public: { http: [\"https://mainnet.telos.net/evm\"] }\n },\n blockExplorers: {\n default: {\n name: \"Teloscan\",\n url: \"https://www.teloscan.io/\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 246530709\n }\n }\n};\n\n// src/telosTestnet.ts\nvar telosTestnet = {\n id: 41,\n name: \"Telos\",\n network: \"telosTestnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Telos\",\n symbol: \"TLOS\"\n },\n rpcUrls: {\n default: { http: [\"https://testnet.telos.net/evm\"] },\n public: { http: [\"https://testnet.telos.net/evm\"] }\n },\n blockExplorers: {\n default: {\n name: \"Teloscan (testnet)\",\n url: \"https://testnet.teloscan.io/\"\n }\n },\n testnet: true\n};\n\n// src/thunderTestnet.ts\nvar thunderTestnet = {\n id: 997,\n name: \"5ireChain Thunder Testnet\",\n network: \"5ireChain\",\n nativeCurrency: { name: \"5ire Token\", symbol: \"5IRE\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc-testnet.5ire.network\"]\n },\n public: {\n http: [\"https://rpc-testnet.5ire.network\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"5ireChain Explorer\",\n url: \"https://explorer.5ire.network\"\n }\n },\n testnet: true\n};\n\n// src/volta.ts\nvar volta = {\n id: 73799,\n name: \"Volta Chain\",\n network: \"volta\",\n nativeCurrency: { name: \"VT\", symbol: \"VT\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://volta-rpc.energyweb.org\"]\n },\n public: {\n http: [\"https://volta-rpc.energyweb.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Volta Explorer\",\n url: \"https://volta-explorer.energyweb.org\"\n }\n },\n contracts: {\n ensRegistry: {\n address: \"0xd7CeF70Ba7efc2035256d828d5287e2D285CD1ac\"\n }\n }\n};\n\n// src/wanchain.ts\nvar wanchain = {\n id: 888,\n name: \"Wanchain\",\n network: \"wanchain\",\n nativeCurrency: { name: \"WANCHAIN\", symbol: \"WAN\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\n \"https://gwan-ssl.wandevs.org:56891\",\n \"https://gwan2-ssl.wandevs.org\"\n ]\n },\n public: {\n http: [\n \"https://gwan-ssl.wandevs.org:56891\",\n \"https://gwan2-ssl.wandevs.org\"\n ]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"WanScan\",\n url: \"https://wanscan.org\"\n },\n default: {\n name: \"WanScan\",\n url: \"https://wanscan.org\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcDF6A1566e78EB4594c86Fe73Fcdc82429e97fbB\",\n blockCreated: 25312390\n }\n }\n};\n\n// src/wanchainTestnet.ts\nvar wanchainTestnet = {\n id: 999,\n name: \"Wanchain Testnet\",\n network: \"wanchainTestnet\",\n nativeCurrency: { name: \"WANCHAIN\", symbol: \"WANt\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://gwan-ssl.wandevs.org:46891\"]\n },\n public: {\n http: [\"https://gwan-ssl.wandevs.org:46891\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"WanScanTest\",\n url: \"https://wanscan.org\"\n },\n default: {\n name: \"WanScanTest\",\n url: \"https://wanscan.org\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0x11c89bF4496c39FB80535Ffb4c92715839CC5324\",\n blockCreated: 24743448\n }\n },\n testnet: true\n};\n\n// src/xdc.ts\nvar xdc = {\n id: 50,\n name: \"XinFin Network\",\n network: \"xdc\",\n nativeCurrency: {\n decimals: 18,\n name: \"XDC\",\n symbol: \"XDC\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.xinfin.network\"] },\n public: { http: [\"https://rpc.xinfin.network\"] }\n },\n blockExplorers: {\n xinfin: { name: \"XinFin\", url: \"https://explorer.xinfin.network\" },\n default: { name: \"Blocksscan\", url: \"https://xdc.blocksscan.io\" }\n }\n};\n\n// src/xdcTestnet.ts\nvar xdcTestnet = {\n id: 51,\n name: \"Apothem Network\",\n network: \"xdc-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"TXDC\",\n symbol: \"TXDC\"\n },\n rpcUrls: {\n default: { http: [\"https://erpc.apothem.network\"] },\n public: { http: [\"https://erpc.apothem.network\"] }\n },\n blockExplorers: {\n xinfin: { name: \"XinFin\", url: \"https://explorer.apothem.network\" },\n default: { name: \"Blocksscan\", url: \"https://apothem.blocksscan.io\" }\n }\n};\n\n// src/zhejiang.ts\nvar zhejiang = {\n id: 1337803,\n network: \"zhejiang\",\n name: \"Zhejiang\",\n nativeCurrency: { name: \"Zhejiang Ether\", symbol: \"ZhejETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.zhejiang.ethpandaops.io\"]\n },\n public: {\n http: [\"https://rpc.zhejiang.ethpandaops.io\"]\n }\n },\n blockExplorers: {\n beaconchain: {\n name: \"Etherscan\",\n url: \"https://zhejiang.beaconcha.in\"\n },\n blockscout: {\n name: \"Blockscout\",\n url: \"https://blockscout.com/eth/zhejiang-testnet\"\n },\n default: {\n name: \"Beaconchain\",\n url: \"https://zhejiang.beaconcha.in\"\n }\n },\n testnet: true\n};\n\n// src/zkSync.ts\nvar zkSync = {\n id: 324,\n name: \"zkSync Era\",\n network: \"zksync-era\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.era.zksync.io\"],\n webSocket: [\"wss://mainnet.era.zksync.io/ws\"]\n },\n public: {\n http: [\"https://mainnet.era.zksync.io\"],\n webSocket: [\"wss://mainnet.era.zksync.io/ws\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"zkExplorer\",\n url: \"https://explorer.zksync.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xF9cda624FBC7e059355ce98a31693d299FACd963\"\n }\n }\n};\n\n// src/zkSyncTestnet.ts\nvar zkSyncTestnet = {\n id: 280,\n name: \"zkSync Era Testnet\",\n network: \"zksync-era-testnet\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://testnet.era.zksync.dev\"],\n webSocket: [\"wss://testnet.era.zksync.dev/ws\"]\n },\n public: {\n http: [\"https://testnet.era.zksync.dev\"],\n webSocket: [\"wss://testnet.era.zksync.dev/ws\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"zkExplorer\",\n url: \"https://goerli.explorer.zksync.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xF9cda624FBC7e059355ce98a31693d299FACd963\"\n }\n },\n testnet: true\n};\n\n// src/zetachainAthensTestnet.ts\nvar zetachainAthensTestnet = {\n id: 7001,\n name: \"ZetaChain Athens Testnet\",\n network: \"zetachain-athens-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Zeta\",\n symbol: \"aZETA\"\n },\n rpcUrls: {\n public: {\n http: [\"https://zetachain-athens-evm.blockpi.network/v1/rpc/public\"]\n },\n default: {\n http: [\"https://zetachain-athens-evm.blockpi.network/v1/rpc/public\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"ZetaScan\",\n url: \"https://athens3.explorer.zetachain.com\"\n }\n },\n testnet: true\n};\n\n// src/zora.ts\nvar zora = {\n id: 7777777,\n name: \"Zora\",\n network: \"zora\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.zora.energy\"],\n webSocket: [\"wss://rpc.zora.energy\"]\n },\n public: {\n http: [\"https://rpc.zora.energy\"],\n webSocket: [\"wss://rpc.zora.energy\"]\n }\n },\n blockExplorers: {\n default: { name: \"Explorer\", url: \"https://explorer.zora.energy\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 5882\n }\n }\n};\n\n// src/zoraTestnet.ts\nvar zoraTestnet = {\n id: 999,\n name: \"Zora Goerli Testnet\",\n network: \"zora-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Zora Goerli\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: {\n http: [\"https://testnet.rpc.zora.energy\"],\n webSocket: [\"wss://testnet.rpc.zora.energy\"]\n },\n public: {\n http: [\"https://testnet.rpc.zora.energy\"],\n webSocket: [\"wss://testnet.rpc.zora.energy\"]\n }\n },\n blockExplorers: {\n default: { name: \"Explorer\", url: \"https://testnet.explorer.zora.energy\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 189123\n }\n },\n testnet: true\n};\nexport {\n arbitrum,\n arbitrumGoerli,\n arbitrumNova,\n aurora,\n auroraTestnet,\n avalanche,\n avalancheFuji,\n base,\n baseGoerli,\n bearNetworkChainMainnet,\n bearNetworkChainTestnet,\n boba,\n bronos,\n bronosTestnet,\n bsc,\n bscTestnet,\n bxn,\n bxnTestnet,\n canto,\n celo,\n celoAlfajores,\n celoCannoli,\n classic,\n confluxESpace,\n cronos,\n cronosTestnet,\n crossbell,\n dfk,\n dogechain,\n edgeware,\n edgewareTestnet,\n ekta,\n ektaTestnet,\n emerald,\n eos,\n eosTestnet,\n evmos,\n evmosTestnet,\n ewc,\n fantom,\n fantomTestnet,\n fibo,\n filecoin,\n filecoinCalibration,\n filecoinHyperspace,\n flare,\n flareTestnet,\n foundry,\n fuse,\n fuseSparknet,\n gnosis,\n gnosisChiado,\n gobi,\n goerli,\n haqqMainnet,\n haqqTestedge2,\n hardhat,\n harmonyOne,\n iotex,\n iotexTestnet,\n klaytn,\n linea,\n lineaTestnet,\n localhost,\n mainnet,\n mantle,\n mantleTestnet,\n metis,\n metisGoerli,\n mev,\n mevTestnet,\n modeTestnet,\n moonbaseAlpha,\n moonbeam,\n moonriver,\n neonDevnet,\n nexi,\n nexilix,\n oasys,\n okc,\n optimism,\n optimismGoerli,\n polygon,\n polygonMumbai,\n polygonZkEvm,\n polygonZkEvmTestnet,\n pulsechain,\n pulsechainV4,\n qMainnet,\n qTestnet,\n rollux,\n rolluxTestnet,\n ronin,\n saigon,\n sapphire,\n sapphireTestnet,\n scrollSepolia,\n scrollTestnet,\n sepolia,\n shardeumSphinx,\n skaleBlockBrawlers,\n skaleCalypso,\n skaleCalypsoTestnet,\n skaleChaosTestnet,\n skaleCryptoBlades,\n skaleCryptoColosseum,\n skaleEuropa,\n skaleEuropaTestnet,\n skaleExorde,\n skaleHumanProtocol,\n skaleNebula,\n skaleNebulaTestnet,\n skaleRazor,\n skaleTitan,\n skaleTitanTestnet,\n songbird,\n songbirdTestnet,\n syscoin,\n syscoinTestnet,\n taikoTestnetSepolia,\n taraxa,\n taraxaTestnet,\n telos,\n telosTestnet,\n thunderTestnet,\n volta,\n wanchain,\n wanchainTestnet,\n xdc,\n xdcTestnet,\n zetachainAthensTestnet,\n zhejiang,\n zkSync,\n zkSyncTestnet,\n zora,\n zoraTestnet\n};\n","import * as wagmiChains from '@wagmi/chains'\nimport type { EvmNetworkConfigInterface } from './Provider'\n\nconst networks: Record = {}\n\nfor (const key of Object.keys(wagmiChains)) {\n const wagmiChain: wagmiChains.Chain = wagmiChains[key as keyof typeof wagmiChains]\n\n let backupRpcUrl = ''\n if (wagmiChain.rpcUrls?.infura !== undefined) {\n backupRpcUrl = wagmiChain.rpcUrls.infura.http[0]\n } else if (wagmiChain.rpcUrls?.alchemy !== undefined) {\n backupRpcUrl = wagmiChain.rpcUrls.alchemy.http[0]\n }\n\n const network: EvmNetworkConfigInterface = {\n id: wagmiChain.id,\n name: wagmiChain.name,\n testnet: wagmiChain.testnet ?? false,\n nativeCurrency: wagmiChain.nativeCurrency,\n hexId: '0x' + Number(wagmiChain.id).toString(16),\n explorerUrl: wagmiChain.blockExplorers?.default.url ?? '',\n rpcUrl: wagmiChain.rpcUrls?.default.http[0] ?? backupRpcUrl\n }\n\n if (wagmiChain.rpcUrls?.default.webSocket !== undefined) {\n network.wsUrl = wagmiChain.rpcUrls.default.webSocket[0]\n }\n\n if (wagmiChain.rpcUrls?.infura?.webSocket !== undefined && network.wsUrl === undefined) {\n network.wsUrl = wagmiChain.rpcUrls.infura.webSocket[0]\n }\n\n if (wagmiChain.rpcUrls?.alchemy?.webSocket !== undefined && network.wsUrl === undefined) {\n network.wsUrl = wagmiChain.rpcUrls.alchemy.webSocket[0]\n }\n\n if (network.wsUrl === undefined) {\n delete network.wsUrl\n }\n\n networks[key === 'mainnet' ? 'ethereum' : key] = network\n}\n\nconst findById = (id: number): EvmNetworkConfigInterface | undefined => {\n return Object.values(networks).find((network) => network.id === id)\n}\n\nconst findByKey = (key: string): EvmNetworkConfigInterface | undefined => {\n return networks[key]\n}\n\nconst findByName = (name: string): EvmNetworkConfigInterface | undefined => {\n return Object.values(networks).find((network) => network.name?.includes(name))\n}\n\nconst findByHexId = (hexId: string): EvmNetworkConfigInterface | undefined => {\n return Object.values(networks).find((network) => network.hexId === hexId)\n}\n\nconst findBySymbol = (symbol: string): EvmNetworkConfigInterface | undefined => {\n return Object.values(networks).find((network) => network.nativeCurrency.symbol === symbol)\n}\n\nconst getTestnets = (): EvmNetworkConfigInterface[] => {\n return Object.values(networks).filter((network) => network.testnet ?? false)\n}\n\nconst getMainnets = (): EvmNetworkConfigInterface[] => {\n return Object.values(networks).filter((network) => !(network.testnet ?? false))\n}\n\nconst getAll = (): EvmNetworkConfigInterface[] => {\n return Object.values(networks)\n}\n\nconst add = (key: string, network: EvmNetworkConfigInterface): void => {\n networks[key] = network\n}\n\nexport default {\n add,\n getAll,\n findById,\n findByKey,\n findByName,\n findByHexId,\n findBySymbol,\n getTestnets,\n getMainnets,\n ...networks\n}\n","import type { RequestType } from '../Wallet'\nimport networks from '../../services/Networks'\nimport type { EIP1193Provider } from './EIP6963'\nimport { ErrorTypeEnum } from '@multiplechain/types'\nimport type { EvmNetworkConfigInterface, Provider } from '../../services/Provider'\n\nexport const switcher = async (wallet: EIP1193Provider, provider?: Provider): Promise => {\n const network = provider?.network\n\n const request = async (params: RequestType): Promise => {\n const res = await wallet.request(params)\n if (res?.error !== undefined) {\n const error = res.error as {\n code: number\n message: string\n }\n if (error.code === -32000) {\n throw new Error(ErrorTypeEnum.RPC_TIMEOUT)\n }\n throw new Error(error.message)\n }\n\n return res\n }\n\n const addNetwork = async (network: EvmNetworkConfigInterface): Promise => {\n return await new Promise((resolve, reject) => {\n try {\n request({\n method: 'wallet_addEthereumChain',\n params: [\n {\n chainId: network.hexId,\n chainName: network.name,\n rpcUrls: [network.rpcUrl],\n nativeCurrency: network.nativeCurrency,\n blockExplorerUrls: [network.explorerUrl]\n }\n ]\n })\n .then(() => {\n resolve(true)\n })\n .catch((error) => {\n reject(error)\n })\n } catch (error) {\n reject(error)\n }\n })\n }\n\n const changeNetwork = async (_network: EvmNetworkConfigInterface): Promise => {\n return await new Promise((resolve, reject) => {\n const chainId = `0x${_network.id.toString(16)}`\n request({\n method: 'wallet_switchEthereumChain',\n params: [{ chainId }]\n })\n .then(() => {\n resolve(true)\n })\n .catch((error) => {\n if (\n error.code === 4902 ||\n String(error.message).includes('wallet_addEthereumChain')\n ) {\n const network = networks.findById(_network.id)\n if (network === undefined) {\n resolve(true)\n return\n }\n addNetwork(network)\n .then(() => {\n resolve(true)\n })\n .catch((error) => {\n reject(error)\n })\n } else {\n reject(error)\n }\n })\n })\n }\n\n const getChainId = async (): Promise => {\n return parseInt((await request({ method: 'eth_chainId' })) as string, 16)\n }\n\n const maybeSwitch = async (): Promise => {\n return await new Promise((resolve, reject) => {\n if (network === undefined) {\n resolve(true)\n return\n }\n try {\n const check = async (): Promise => {\n if ((await getChainId()) !== network.id) {\n changeNetwork(network)\n .then(() => {\n setTimeout(() => {\n resolve(true)\n }, 1000)\n })\n .catch((error) => {\n reject(error)\n })\n } else {\n resolve(true)\n }\n }\n void check()\n } catch (error) {\n reject(error)\n }\n })\n }\n\n return await maybeSwitch()\n}\n","export default {\n metaMask:\n 'data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2233%22%20viewBox%3D%220%200%2035%2033%22%20width%3D%2235%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%22.25%22%3E%3Cpath%20d%3D%22m32.9582%201-13.1341%209.7183%202.4424-5.72731z%22%20fill%3D%22%23e17726%22%20stroke%3D%22%23e17726%22%2F%3E%3Cg%20fill%3D%22%23e27625%22%20stroke%3D%22%23e27625%22%3E%3Cpath%20d%3D%22m2.66296%201%2013.01714%209.809-2.3254-5.81802z%22%2F%3E%3Cpath%20d%3D%22m28.2295%2023.5335-3.4947%205.3386%207.4829%202.0603%202.1436-7.2823z%22%2F%3E%3Cpath%20d%3D%22m1.27281%2023.6501%202.13055%207.2823%207.46994-2.0603-3.48166-5.3386z%22%2F%3E%3Cpath%20d%3D%22m10.4706%2014.5149-2.0786%203.1358%207.405.3369-.2469-7.969z%22%2F%3E%3Cpath%20d%3D%22m25.1505%2014.5149-5.1575-4.58704-.1688%208.05974%207.4049-.3369z%22%2F%3E%3Cpath%20d%3D%22m10.8733%2028.8721%204.4819-2.1639-3.8583-3.0062z%22%2F%3E%3Cpath%20d%3D%22m20.2659%2026.7082%204.4689%202.1639-.6105-5.1701z%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22m24.7348%2028.8721-4.469-2.1639.3638%202.9025-.039%201.231z%22%20fill%3D%22%23d5bfb2%22%20stroke%3D%22%23d5bfb2%22%2F%3E%3Cpath%20d%3D%22m10.8732%2028.8721%204.1572%201.9696-.026-1.231.3508-2.9025z%22%20fill%3D%22%23d5bfb2%22%20stroke%3D%22%23d5bfb2%22%2F%3E%3Cpath%20d%3D%22m15.1084%2021.7842-3.7155-1.0884%202.6243-1.2051z%22%20fill%3D%22%23233447%22%20stroke%3D%22%23233447%22%2F%3E%3Cpath%20d%3D%22m20.5126%2021.7842%201.0913-2.2935%202.6372%201.2051z%22%20fill%3D%22%23233447%22%20stroke%3D%22%23233447%22%2F%3E%3Cpath%20d%3D%22m10.8733%2028.8721.6495-5.3386-4.13117.1167z%22%20fill%3D%22%23cc6228%22%20stroke%3D%22%23cc6228%22%2F%3E%3Cpath%20d%3D%22m24.0982%2023.5335.6366%205.3386%203.4946-5.2219z%22%20fill%3D%22%23cc6228%22%20stroke%3D%22%23cc6228%22%2F%3E%3Cpath%20d%3D%22m27.2291%2017.6507-7.405.3369.6885%203.7966%201.0913-2.2935%202.6372%201.2051z%22%20fill%3D%22%23cc6228%22%20stroke%3D%22%23cc6228%22%2F%3E%3Cpath%20d%3D%22m11.3929%2020.6958%202.6242-1.2051%201.0913%202.2935.6885-3.7966-7.40495-.3369z%22%20fill%3D%22%23cc6228%22%20stroke%3D%22%23cc6228%22%2F%3E%3Cpath%20d%3D%22m8.392%2017.6507%203.1049%206.0513-.1039-3.0062z%22%20fill%3D%22%23e27525%22%20stroke%3D%22%23e27525%22%2F%3E%3Cpath%20d%3D%22m24.2412%2020.6958-.1169%203.0062%203.1049-6.0513z%22%20fill%3D%22%23e27525%22%20stroke%3D%22%23e27525%22%2F%3E%3Cpath%20d%3D%22m15.797%2017.9876-.6886%203.7967.8704%204.4833.1949-5.9087z%22%20fill%3D%22%23e27525%22%20stroke%3D%22%23e27525%22%2F%3E%3Cpath%20d%3D%22m19.8242%2017.9876-.3638%202.3584.1819%205.9216.8704-4.4833z%22%20fill%3D%22%23e27525%22%20stroke%3D%22%23e27525%22%2F%3E%3Cpath%20d%3D%22m20.5127%2021.7842-.8704%204.4834.6236.4406%203.8584-3.0062.1169-3.0062z%22%20fill%3D%22%23f5841f%22%20stroke%3D%22%23f5841f%22%2F%3E%3Cpath%20d%3D%22m11.3929%2020.6958.104%203.0062%203.8583%203.0062.6236-.4406-.8704-4.4834z%22%20fill%3D%22%23f5841f%22%20stroke%3D%22%23f5841f%22%2F%3E%3Cpath%20d%3D%22m20.5906%2030.8417.039-1.231-.3378-.2851h-4.9626l-.3248.2851.026%201.231-4.1572-1.9696%201.4551%201.1921%202.9489%202.0344h5.0536l2.962-2.0344%201.442-1.1921z%22%20fill%3D%22%23c0ac9d%22%20stroke%3D%22%23c0ac9d%22%2F%3E%3Cpath%20d%3D%22m20.2659%2026.7082-.6236-.4406h-3.6635l-.6236.4406-.3508%202.9025.3248-.2851h4.9626l.3378.2851z%22%20fill%3D%22%23161616%22%20stroke%3D%22%23161616%22%2F%3E%3Cpath%20d%3D%22m33.5168%2011.3532%201.1043-5.36447-1.6629-4.98873-12.6923%209.3944%204.8846%204.1205%206.8983%202.0085%201.52-1.7752-.6626-.4795%201.0523-.9588-.8054-.622%201.0523-.8034z%22%20fill%3D%22%23763e1a%22%20stroke%3D%22%23763e1a%22%2F%3E%3Cpath%20d%3D%22m1%205.98873%201.11724%205.36447-.71451.5313%201.06527.8034-.80545.622%201.05228.9588-.66255.4795%201.51997%201.7752%206.89835-2.0085%204.8846-4.1205-12.69233-9.3944z%22%20fill%3D%22%23763e1a%22%20stroke%3D%22%23763e1a%22%2F%3E%3Cpath%20d%3D%22m32.0489%2016.5234-6.8983-2.0085%202.0786%203.1358-3.1049%206.0513%204.1052-.0519h6.1318z%22%20fill%3D%22%23f5841f%22%20stroke%3D%22%23f5841f%22%2F%3E%3Cpath%20d%3D%22m10.4705%2014.5149-6.89828%202.0085-2.29944%207.1267h6.11883l4.10519.0519-3.10487-6.0513z%22%20fill%3D%22%23f5841f%22%20stroke%3D%22%23f5841f%22%2F%3E%3Cpath%20d%3D%22m19.8241%2017.9876.4417-7.5932%202.0007-5.4034h-8.9119l2.0006%205.4034.4417%207.5932.1689%202.3842.013%205.8958h3.6635l.013-5.8958z%22%20fill%3D%22%23f5841f%22%20stroke%3D%22%23f5841f%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E',\n walletConnect:\n 'data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGJhc2VQcm9maWxlPSJiYXNpYyIgaWQ9IkxheWVyXzEiCgkgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzODcuNiAyMzcuNiIKCSB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBhdGggaWQ9IldhbGxldENvbm5lY3RfMDAwMDAwNzM3MDMwNjM0MzgyMjA2NDI3MzAwMDAwMDI5MTc3MTc1NTIyMzY0NzI0OTZfIiBmaWxsPSIjM0I5OUZDIiBkPSJNNzkuNCw0Ni40CgljNjMuMi02MS45LDE2NS43LTYxLjksMjI4LjksMGw3LjYsNy40YzMuMiwzLjEsMy4yLDguMSwwLDExLjJsLTI2LDI1LjVjLTEuNiwxLjUtNC4xLDEuNS01LjcsMGwtMTAuNS0xMC4zCgljLTQ0LjEtNDMuMi0xMTUuNi00My4yLTE1OS43LDBsLTExLjIsMTFjLTEuNiwxLjUtNC4xLDEuNS01LjcsMEw3MSw2NS44Yy0zLjItMy4xLTMuMi04LjEsMC0xMS4yTDc5LjQsNDYuNHogTTM2Mi4xLDk5LjFsMjMuMiwyMi43CgljMy4yLDMuMSwzLjIsOC4xLDAsMTEuMkwyODAuOCwyMzUuM2MtMy4yLDMuMS04LjMsMy4xLTExLjQsMGMwLDAsMCwwLDAsMGwtNzQuMS03Mi42Yy0wLjgtMC44LTIuMS0wLjgtMi45LDBjMCwwLDAsMCwwLDAKCWwtNzQuMSw3Mi42Yy0zLjIsMy4xLTguMywzLjEtMTEuNCwwYzAsMCwwLDAsMCwwTDIuNCwxMzNjLTMuMi0zLjEtMy4yLTguMSwwLTExLjJsMjMuMi0yMi43YzMuMi0zLjEsOC4zLTMuMSwxMS40LDBsNzQuMSw3Mi42CgljMC44LDAuOCwyLjEsMC44LDIuOSwwYzAsMCwwLDAsMCwwbDc0LjEtNzIuNmMzLjItMy4xLDguMy0zLjEsMTEuNCwwYzAsMCwwLDAsMCwwbDc0LjEsNzIuNmMwLjgsMC44LDIuMSwwLjgsMi45LDBsNzQuMS03Mi42CglDMzUzLjgsOTYsMzU4LjksOTYsMzYyLjEsOTkuMXoiLz4KPC9zdmc+',\n web3modal:\n 'data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKIHdpZHRoPSI0MDAuMDAwMDAwcHQiIGhlaWdodD0iNDAwLjAwMDAwMHB0IiB2aWV3Qm94PSIwIDAgNDAwLjAwMDAwMCA0MDAuMDAwMDAwIgogcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCI+Cgo8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCw0MDAuMDAwMDAwKSBzY2FsZSgwLjEwMDAwMCwtMC4xMDAwMDApIgpmaWxsPSIjMDAwMDAwIiBzdHJva2U9Im5vbmUiPgo8cGF0aCBkPSJNMCAyMDAwIGwwIC0yMDAwIDIwMDAgMCAyMDAwIDAgMCAyMDAwIDAgMjAwMCAtMjAwMCAwIC0yMDAwIDAgMAotMjAwMHogbTIyNjQgNzM2IGMxMjQgLTMyIDI2MSAtOTggMzYzIC0xNzUgOTEgLTY5IDE3MyAtMTUzIDE3MyAtMTc4IDAgLTE3Ci0xODcgLTIwMiAtMjA1IC0yMDMgLTYgMCAtMzEgMjEgLTU1IDQ2IC0yMjcgMjM0IC01NjkgMjk5IC04NTcgMTY0IC03OSAtMzYKLTEzMSAtNzMgLTIxMyAtMTQ5IC0zNiAtMzMgLTcyIC02MCAtODAgLTYxIC0yMCAwIC0yMDAgMTgxIC0yMDAgMjAyIDAgMjQgNDkKNzggMTM2IDE0OCAxMzYgMTA5IDI4MSAxNzkgNDQxIDIxNSAxMDYgMjMgMTE5IDI0IDI2MyAyMCAxMDQgLTMgMTU4IC0xMCAyMzQKLTI5eiBtLTEyODQgLTYwMyBjMTQgLTkgMTMwIC0xMjAgMjU4IC0yNDYgbDIzMyAtMjMxIDU3IDU1IGMzMSAyOSAxNDUgMTQxCjI1MyAyNDYgMTEwIDEwOSAyMDMgMTkzIDIxMyAxOTMgMjAgMCAzOSAtMTggNTIyIC00OTAgMyAtMiA3OCA2OCAxNjcgMTU2IDI3MAoyNjYgMzQ0IDMzNCAzNjIgMzM0IDEwIDAgNTcgLTM5IDEwNiAtODcgNjcgLTY1IDg5IC05MyA4OSAtMTEzIDAgLTIxIC02NiAtOTAKLTM0MSAtMzYwIC0xODggLTE4NCAtMzUwIC0zMzkgLTM2MCAtMzQ0IC0xMSAtNSAtMjcgLTUgLTM4IDAgLTExIDUgLTEyOCAxMTYKLTI2MSAyNDcgLTEzMyAxMzEgLTI0NSAyMzYgLTI0OCAyMzIgLTEzNiAtMTM4IC00OTAgLTQ3MyAtNTA4IC00NzkgLTI4IC0xMQotMTYgLTIyIC00NTEgNDA2IC0yMDMgMTk5IC0yODMgMjg0IC0yODMgMzAwIDAgMjggMTcxIDE5OCAyMDAgMTk4IDMgMCAxNyAtNwozMCAtMTd6Ii8+CjwvZz4KPC9zdmc+Cg==',\n phantom:\n 'data:image/png;base64,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',\n trustWallet:\n 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTgiIGhlaWdodD0iNjUiIHZpZXdCb3g9IjAgMCA1OCA2NSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAgOS4zODk0OUwyOC44OTA3IDBWNjUuMDA0MkM4LjI1NDUgNTYuMzM2OSAwIDM5LjcyNDggMCAzMC4zMzUzVjkuMzg5NDlaIiBmaWxsPSIjMDUwMEZGIi8+CjxwYXRoIGQ9Ik01Ny43ODIyIDkuMzg5NDlMMjguODkxNSAwVjY1LjAwNDJDNDkuNTI3NyA1Ni4zMzY5IDU3Ljc4MjIgMzkuNzI0OCA1Ny43ODIyIDMwLjMzNTNWOS4zODk0OVoiIGZpbGw9InVybCgjcGFpbnQwX2xpbmVhcl8yMjAxXzY5NDIpIi8+CjxkZWZzPgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfMjIwMV82OTQyIiB4MT0iNTEuMzYxNSIgeTE9Ii00LjE1MjkzIiB4Mj0iMjkuNTM4NCIgeTI9IjY0LjUxNDciIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agb2Zmc2V0PSIwLjAyMTEyIiBzdG9wLWNvbG9yPSIjMDAwMEZGIi8+CjxzdG9wIG9mZnNldD0iMC4wNzYyNDIzIiBzdG9wLWNvbG9yPSIjMDA5NEZGIi8+CjxzdG9wIG9mZnNldD0iMC4xNjMwODkiIHN0b3AtY29sb3I9IiM0OEZGOTEiLz4KPHN0b3Agb2Zmc2V0PSIwLjQyMDA0OSIgc3RvcC1jb2xvcj0iIzAwOTRGRiIvPgo8c3RvcCBvZmZzZXQ9IjAuNjgyODg2IiBzdG9wLWNvbG9yPSIjMDAzOEZGIi8+CjxzdG9wIG9mZnNldD0iMC45MDI0NjUiIHN0b3AtY29sb3I9IiMwNTAwRkYiLz4KPC9saW5lYXJHcmFkaWVudD4KPC9kZWZzPgo8L3N2Zz4K',\n bitgetWallet:\n 'data:image/png;base64,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',\n okxWallet:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJDSURBVHgB7Zq9jtpAEMfHlhEgQLiioXEkoAGECwoKxMcTRHmC5E3IoyRPkPAEkI7unJYmTgEFTYwA8a3NTKScLnCHN6c9r1e3P2llWQy7M/s1Gv1twCP0ej37dDq9x+Zut1t3t9vZjDEHIiSRSPg4ZpDL5fxkMvn1cDh8m0wmfugfO53OoFQq/crn8wxfY9EymQyrVCqMfHvScZx1p9ls3pFxXBy/bKlUipGPrVbLuQqAfsCliq3zl0H84zwtjQrOw4Mt1W63P5LvBm2d+Xz+YzqdgkqUy+WgWCy+Mc/nc282m4FqLBYL+3g8fjDxenq72WxANZbLJeA13zDX67UDioL5ybXwafMYu64Ltn3bdDweQ5R97fd7GyhBQMipx4POeEDHIu2LfDdBIGGz+hJ9CQ1ABjoA2egAZPM6AgiCAEQhsi/C4jHyPA/6/f5NG3Ks2+3CYDC4aTccDrn6ojG54MnEvG00GoVmWLIRNZ7wTCwDHYBsdACy0QHIhiuRETxlICWpMMhGZHmqS8qH6JLyGegAZKMDkI0uKf8X4SWlaZo+Pp1bRrwlJU8ZKLIvUjKh0WiQ3sRUbNVq9c5Ebew7KEo2m/1p4jJ4qAmDaqDQBzj5XyiAT4VCQezJigAU+IDU+z8vJFnGWeC+bKQV/5VZ71FV6L7PA3gg3tXrdQ+DgLhC+75Wq3no69P3MC0NFQpx2lL04Ql9gHK1bRDjsSBIvScBnDTk1WrlGIZBorIDEYJj+rhdgnQ67VmWRe0zlplXl81vcyEt0rSoYDUAAAAASUVORK5CYII=',\n xdefiWallet:\n 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yMTkxXzQyOTApIj4KPHJlY3Qgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiIHJ4PSIxMDQiIGZpbGw9IiMzMzVERTUiLz4KPHBhdGggZD0iTTQ2My40MzggMjQxLjI0N0M0NjAuNzY1IDIwNS4xMzUgNDQ4LjU4IDE3MC4zMzggNDI4LjA4NyAxNDAuMjcxQzQwNy41OTkgMTEwLjIwOSAzNzkuNTA5IDg1LjkxODIgMzQ2LjU3OSA2OS43OTZDMzEzLjY1MyA1My42NzggMjc3LjAzMiA0Ni4yODA0IDI0MC4zMiA0OC4zMzYzQzIwMy42MDUgNTAuMzkyMSAxNjguMDY5IDYxLjgyNTUgMTM3LjIxMiA4MS41MjAxQzEwNi4zNTQgMTAxLjIxIDgxLjIzOTQgMTI4LjQ4IDY0LjMzODYgMTYwLjYzNkw2My41MzYgMTYyLjI1N0M1OC4xOTcxIDE3My4xMjYgNTQuNTg3OCAxODQuNzQ1IDUyLjg0MTEgMTk2LjY5N0M0Ny44NDU1IDIzMi4wMjEgNTUuNTkyIDI2My40NiA3NS44Mjc1IDI4Ny42NjdDOTcuOTU5OSAzMTQuMTM2IDEzMy45OTMgMzI5Ljg3OSAxNzcuMjE1IDMzMS45NDdDMjI5LjgzMiAzMzQuNTU1IDI4Mi4xNDggMzIwLjQzNCAzMTkuMjc1IDI5NC40NThMMzQxLjI4NyAzMDcuMzUzQzMyMC4yNTggMzI1LjI5MSAyNzEuNjM3IDM1Ny41OTQgMTkxLjExMiAzNjIuMDA5QzEwMC43MTkgMzY2LjkzIDYzLjA0MjUgMzM4LjAwMSA2Mi42OTA1IDMzNy43MDZMNTYuMzUxNyAzNDUuNDAzTDQ4IDM1NS4yNzNDNDkuNjAwOCAzNTYuNiA4NS43Mjg1IDM4NS4zMzUgMTcwLjU3NiAzODUuMzM1QzE3Ny41MiAzODUuMzM1IDE4NC44MTYgMzg1LjMzNSAxOTIuNDEyIDM4NC43NDZDMjg5Ljg3MyAzNzkuMzkxIDM0My40NzYgMzM3LjU3NSAzNjIuMjMxIDMxOS42MjlMMzgwLjY0MiAzMzAuNjM3QzM2OC4yNjEgMzQ2LjY1OCAzNTMuMDI1IDM2MC4zMzMgMzM1LjY3IDM3MC45ODJDMjc0LjUwNCA0MDkuODQ5IDE5Ni43MDggNDE0Ljg2NyAxNDIuMjQyIDQxMi4xNjJMMTQxLjA5NiA0MzQuODMxQzE1MC4yNDIgNDM1LjI3MyAxNTkuMDM1IDQzNS40NzEgMTY3LjU4IDQzNS40NzFDMzIxLjA0OCA0MzUuNDcxIDM4My4xMzIgMzY2LjcxOSA0MDAuNTM5IDM0Mi4wNjJMNDE0LjkyNSAzNTAuNDg3QzQwMS4xMzUgMzczLjYwMyAzODIuMzkzIDM5My41NjcgMzU5LjkzMSA0MDguOTM5QzMzMy4wMzQgNDI3LjM0NSAzMDEuNzM1IDQzOC41MzggMjY5LjExNCA0NDEuNDE1TDI3MS4xMTQgNDY0QzMwNy43MzkgNDYwLjc4NiAzNDIuODg4IDQ0OC4yMzYgMzczLjA4OSA0MjcuNTgxQzQwMy4yOSA0MDYuOTI2IDQyNy41MDggMzc4Ljg4MSA0NDMuMzQ5IDM0Ni4yMDdDNDU5LjE4NSAzMTMuNTI5IDQ2Ni4xMTYgMjc3LjM1OCA0NjMuNDM4IDI0MS4yNDdaTTM3NC44MSAyNDQuNzM5QzM2NC42MjYgMjQ0LjczOSAzNTYuMzY4IDIzNi42MTMgMzU2LjM2OCAyMjYuNTg2QzM1Ni4zNjggMjE2LjU2IDM2NC42MjEgMjA4LjQzMyAzNzQuODEgMjA4LjQzM0MzODQuOTkgMjA4LjQzMyAzOTMuMjQ3IDIxNi41NiAzOTMuMjQ3IDIyNi41ODZDMzkzLjI0NyAyMzYuNjEzIDM4NC45OTQgMjQ0LjczOSAzNzQuODEgMjQ0LjczOVoiIGZpbGw9IiNFQ0VDRUMiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMTkxXzQyOTAiPgo8cmVjdCB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K'\n}\n","import icons from './icons'\nimport type { EIP1193Provider } from './EIP6963'\nimport { WalletPlatformEnum } from '@multiplechain/types'\nimport type { Provider } from '../../services/Provider'\nimport type { WalletAdapterInterface } from '@multiplechain/types'\n\nconst Phantom: WalletAdapterInterface = {\n id: 'phantom',\n name: 'Phantom',\n icon: icons.phantom,\n provider: window?.phantom?.ethereum,\n downloadLink: 'https://phantom.app/',\n platforms: [WalletPlatformEnum.BROWSER, WalletPlatformEnum.MOBILE],\n isDetected: () => Boolean(window?.phantom?.ethereum),\n createDeepLink: (url: string): string => `https://phantom.app/ul/browse/${url}?ref=${url}`,\n isConnected: async () => {\n return Boolean(\n (await window?.phantom?.ethereum?.request({ method: 'eth_accounts' })).length\n )\n },\n connect: async (): Promise => {\n return await new Promise((resolve, reject) => {\n const phantom = window?.phantom?.ethereum\n try {\n phantom\n ?.request({ method: 'eth_requestAccounts' })\n .then(() => {\n resolve(phantom)\n })\n .catch((error: any) => {\n reject(error)\n })\n } catch (error) {\n reject(error)\n }\n })\n }\n}\n\nexport default Phantom\n","import icons from './icons'\nimport { switcher } from './switcher'\nimport type { WindowEthereum } from './types'\nimport type { EIP1193Provider } from './EIP6963'\nimport { WalletPlatformEnum } from '@multiplechain/types'\nimport type { Provider } from '../../services/Provider'\nimport type { WalletAdapterInterface } from '@multiplechain/types'\n\nconst MetaMask: WalletAdapterInterface = {\n id: 'metamask',\n name: 'MetaMask',\n icon: icons.metaMask,\n downloadLink: 'https://metamask.io/download/',\n provider: window.ethereum as unknown as WindowEthereum,\n platforms: [WalletPlatformEnum.BROWSER, WalletPlatformEnum.MOBILE],\n isDetected: () => Boolean((window?.ethereum as unknown as WindowEthereum)?.isMetaMask),\n createDeepLink: (url: string): string => `https://metamask.app.link/dapp/${url}`,\n isConnected: async () => {\n return Boolean(\n (\n await (window?.ethereum as unknown as WindowEthereum).request({\n method: 'eth_accounts'\n })\n ).length\n )\n },\n connect: async (provider?: Provider): Promise => {\n return await new Promise((resolve, reject) => {\n const metamaskProvider = window?.ethereum as unknown as WindowEthereum\n try {\n metamaskProvider\n ?.request({ method: 'eth_requestAccounts' })\n .then(() => {\n switcher(metamaskProvider, provider)\n .then(() => {\n resolve(metamaskProvider)\n })\n .catch((error: any) => {\n reject(error)\n })\n })\n .catch((error: any) => {\n reject(error)\n })\n } catch (error) {\n reject(error)\n }\n })\n }\n}\n\nexport default MetaMask\n","import { Provider } from '../services/Provider'\nimport type { Ethers } from '../services/Ethers'\nimport type { ContractAddress, ContractInterface, WalletAddress } from '@multiplechain/types'\nimport type { Contract as EthersContract, InterfaceAbi } from 'ethers'\nimport type { TransactionData } from '../services/TransactionSigner'\n\nexport class Contract implements ContractInterface {\n /**\n * Contract address\n */\n address: ContractAddress\n\n /**\n * Cached static methods\n */\n cachedMethods: Record = {}\n\n /**\n * Contract ABI\n */\n ABI: InterfaceAbi\n\n /**\n * Ethers contract\n */\n ethersContract: EthersContract\n\n /**\n * Blockchain network provider\n */\n provider: Provider\n\n /**\n * Ethers service\n */\n ethers: Ethers\n\n /**\n * @param address Contract address\n * @param provider Blockchain network provider\n * @param ABI Contract ABI\n */\n constructor(address: ContractAddress, provider?: Provider, ABI?: InterfaceAbi) {\n this.ABI = ABI ?? []\n this.address = address\n this.provider = provider ?? Provider.instance\n this.ethers = this.provider.ethers\n this.ethersContract = this.ethers.contract(address, this.ABI, this.ethers.jsonRpc)\n }\n\n /**\n * @returns Contract address\n */\n getAddress(): ContractAddress {\n return this.address\n }\n\n /**\n * @param method Method name\n * @param args Method parameters\n * @returns Method result\n */\n async callMethod(method: string, ...args: unknown[]): Promise {\n return this.ethersContract[method](...args) // eslint-disable-line\n }\n\n /**\n * @param method Method name\n * @param args Method parameters\n * @returns Method result\n */\n async callMethodWithCache(method: string, ...args: unknown[]): Promise {\n if (this.cachedMethods[method] !== undefined) {\n return this.cachedMethods[method]\n }\n\n return (this.cachedMethods[method] = await this.callMethod(method, ...args))\n }\n\n /**\n * @param method Method name\n * @param args Sender wallet address\n * @returns Encoded method data\n */\n async getMethodData(method: string, ...args: unknown[]): Promise {\n return this.ethersContract.interface.encodeFunctionData(method, args)\n }\n\n /**\n * @param method Method name\n * @param from Sender wallet address\n * @param args Method parameters\n * @returns Gas limit\n */\n async getMethodEstimateGas(\n method: string,\n from: WalletAddress,\n ...args: unknown[]\n ): Promise {\n return Number(await this.ethersContract[method].estimateGas(...args, { from })) // eslint-disable-line\n }\n\n /**\n * @param method Method name\n * @param from Sender wallet address\n * @param args Method parameters\n * @returns Transaction data\n */\n async createTransactionData(\n method: string,\n from: WalletAddress,\n ...args: unknown[]\n ): Promise {\n const [gasPrice, nonce, data, gasLimit] = await Promise.all([\n this.provider.ethers.getGasPrice(),\n this.provider.ethers.getNonce(from),\n this.getMethodData(method, ...args), // eslint-disable-line\n this.getMethodEstimateGas(method, from, ...args) // eslint-disable-line\n ])\n\n return {\n from,\n data,\n nonce,\n gasPrice,\n gasLimit,\n value: '0x0',\n to: this.getAddress(),\n chainId: this.provider.network.id\n }\n }\n}\n","import type { EthersError } from './Ethers'\nimport { Provider } from '../services/Provider'\nimport type { TransactionRequest, Wallet, BigNumberish } from 'ethers'\nimport {\n ErrorTypeEnum,\n type PrivateKey,\n type TransactionId,\n type TransactionSignerInterface\n} from '@multiplechain/types'\n\nexport interface TransactionData extends TransactionRequest {\n gas?: BigNumberish\n}\n\nexport class TransactionSigner implements TransactionSignerInterface {\n /**\n * Transaction data from the blockchain network\n */\n rawData: TransactionData\n\n /**\n * Signed transaction data\n */\n signedData: string\n\n /**\n * Wallet instance from ethers with the private key\n */\n wallet: Wallet\n\n /**\n * Blockchain network provider\n */\n provider: Provider\n\n /**\n * @param rawData Transaction data\n * @param provider Blockchain network provider\n */\n constructor(rawData: TransactionData, provider?: Provider) {\n this.rawData = rawData\n this.provider = provider ?? Provider.instance\n }\n\n /**\n * Sign the transaction\n * @param privateKey - Transaction data\n * @returns Signed transaction data\n */\n public async sign(privateKey: PrivateKey): Promise {\n try {\n this.wallet = this.provider.ethers.wallet(privateKey)\n this.signedData = await this.wallet.signTransaction(this.rawData)\n return this\n } catch (error) {\n const e = error as EthersError\n if (e?.shortMessage.includes('transaction from address mismatch')) {\n throw new Error(ErrorTypeEnum.INVALID_PRIVATE_KEY)\n }\n\n throw error\n }\n }\n\n /**\n * Send the transaction to the blockchain network\n * @returns Transaction data\n */\n async send(): Promise {\n return (await this.provider.ethers.jsonRpc.send('eth_sendRawTransaction', [\n this.signedData\n ])) as TransactionId\n }\n\n /**\n * Get the raw transaction data\n * @returns Transaction data\n */\n getRawData(): TransactionData {\n return this.rawData\n }\n\n /**\n * Get the signed transaction data\n * @returns Signed transaction data\n */\n getSignedData(): string {\n return this.signedData\n }\n}\n","import { Contract } from './Contract'\nimport type { InterfaceAbi } from 'ethers'\nimport ERC721 from '../../resources/ERC721.json'\nimport type { Provider } from '../services/Provider'\nimport { TransactionSigner } from '../services/TransactionSigner'\nimport {\n ErrorTypeEnum,\n type ContractAddress,\n type NftId,\n type NftInterface,\n type WalletAddress\n} from '@multiplechain/types'\n\nexport class NFT extends Contract implements NftInterface {\n /**\n * @param address Contract address\n * @param provider Blockchain network provider\n * @param ABI Contract ABI\n */\n constructor(address: ContractAddress, provider?: Provider, ABI?: InterfaceAbi) {\n super(address, provider, ABI ?? ERC721)\n }\n\n /**\n * @returns NFT name\n */\n async getName(): Promise {\n return (await this.callMethodWithCache('name')) as string\n }\n\n /**\n * @returns NFT symbol\n */\n async getSymbol(): Promise {\n return (await this.callMethodWithCache('symbol')) as string\n }\n\n /**\n * @param owner Wallet address\n * @returns Wallet balance as currency of NFT\n */\n async getBalance(owner: WalletAddress): Promise {\n return Number(await this.callMethod('balanceOf', owner))\n }\n\n /**\n * @param nftId NFT ID\n * @returns Wallet address of the owner of the NFT\n */\n async getOwner(nftId: NftId): Promise {\n return (await this.callMethod('ownerOf', nftId)) as WalletAddress\n }\n\n /**\n * @param nftId NFT ID\n * @returns URI of the NFT\n */\n async getTokenURI(nftId: NftId): Promise {\n return (await this.callMethodWithCache('tokenURI', nftId)) as string\n }\n\n /**\n * @param nftId ID of the NFT that will be transferred\n * @returns Wallet address of the approved spender\n */\n async getApproved(nftId: NftId): Promise {\n const address = (await this.callMethod('getApproved', nftId)) as WalletAddress\n return address === '0x0000000000000000000000000000000000000000' ? null : address\n }\n\n /**\n * @param sender Sender address\n * @param receiver Receiver address\n * @param nftId NFT ID\n * @returns Transaction signer\n */\n async transfer(\n sender: WalletAddress,\n receiver: WalletAddress,\n nftId: NftId\n ): Promise {\n return await this.transferFrom(sender, sender, receiver, nftId)\n }\n\n /**\n * @param spender Spender address\n * @param owner Owner address\n * @param receiver Receiver address\n * @param nftId NFT ID\n * @returns Transaction signer\n */\n async transferFrom(\n spender: WalletAddress,\n owner: WalletAddress,\n receiver: WalletAddress,\n nftId: NftId\n ): Promise {\n // Check if tokens exist\n const balance = await this.getBalance(owner)\n\n if (balance <= 0) {\n throw new Error(ErrorTypeEnum.INSUFFICIENT_BALANCE)\n }\n\n // Check ownership\n const originalOwner = await this.getOwner(nftId)\n if (originalOwner !== owner) {\n throw new Error(ErrorTypeEnum.UNAUTHORIZED_ADDRESS)\n }\n\n // check if spender different from owner\n if (spender !== owner) {\n const approved = await this.getApproved(nftId)\n if (approved !== spender) {\n throw new Error(ErrorTypeEnum.UNAUTHORIZED_ADDRESS)\n }\n }\n\n return new TransactionSigner(\n await this.createTransactionData('transferFrom', spender, owner, receiver, nftId)\n )\n }\n\n /**\n * Gives permission to the spender to spend owner's tokens\n * @param owner Address of owner of the tokens that will be used\n * @param spender Address of the spender that will use the tokens of owner\n * @param nftId ID of the NFT that will be transferred\n * @returns Transaction signer\n */\n async approve(\n owner: WalletAddress,\n spender: WalletAddress,\n nftId: NftId\n ): Promise {\n // Check if tokens exist\n const balance = await this.getBalance(owner)\n\n if (balance <= 0) {\n throw new Error(ErrorTypeEnum.INSUFFICIENT_BALANCE)\n }\n\n // Check ownership\n const originalOwner = await this.getOwner(nftId)\n if (originalOwner !== owner) {\n throw new Error(ErrorTypeEnum.UNAUTHORIZED_ADDRESS)\n }\n\n return new TransactionSigner(\n await this.createTransactionData('approve', owner, spender, nftId)\n )\n }\n}\n","import { Provider } from '../services/Provider'\nimport { hexToNumber, numberToHex } from '@multiplechain/utils'\nimport { TransactionSigner } from '../services/TransactionSigner'\nimport type { TransactionData } from '../services/TransactionSigner'\nimport {\n ErrorTypeEnum,\n type CoinInterface,\n type TransferAmount,\n type WalletAddress\n} from '@multiplechain/types'\n\nexport class Coin implements CoinInterface {\n /**\n * Blockchain network provider\n */\n provider: Provider\n\n /**\n * @param provider network provider\n */\n constructor(provider?: Provider) {\n this.provider = provider ?? Provider.instance\n }\n\n /**\n * @returns Coin name\n */\n getName(): string {\n return (\n this.provider.network.nativeCurrency.name ?? this.provider.network.nativeCurrency.symbol\n )\n }\n\n /**\n * @returns Coin symbol\n */\n getSymbol(): string {\n return this.provider.network.nativeCurrency.symbol\n }\n\n /**\n * @returns Decimal value of the coin\n */\n getDecimals(): number {\n return this.provider.network.nativeCurrency.decimals\n }\n\n /**\n * @param owner Wallet address\n * @returns Wallet balance as currency of COIN\n */\n async getBalance(owner: WalletAddress): Promise {\n const balance = await this.provider.ethers.getBalance(owner)\n return hexToNumber(balance.toString(), this.getDecimals())\n }\n\n /**\n * @param sender Sender wallet address\n * @param receiver Receiver wallet address\n * @param amount Amount of assets that will be transferred\n * @returns Transaction signer\n */\n async transfer(\n sender: WalletAddress,\n receiver: WalletAddress,\n amount: TransferAmount\n ): Promise {\n if (amount < 0) {\n throw new Error(ErrorTypeEnum.INVALID_AMOUNT)\n }\n\n if (amount > (await this.getBalance(sender))) {\n throw new Error(ErrorTypeEnum.INSUFFICIENT_BALANCE)\n }\n\n const hexAmount = numberToHex(amount, this.getDecimals())\n\n const txData: TransactionData = {\n data: '0x',\n to: receiver,\n from: sender,\n value: hexAmount,\n chainId: this.provider.network.id\n }\n\n const [gasPrice, nonce, gasLimit] = await Promise.all([\n this.provider.ethers.getGasPrice(),\n this.provider.ethers.getNonce(sender),\n this.provider.ethers.getEstimateGas(txData)\n ])\n\n txData.nonce = nonce\n txData.gasPrice = gasPrice\n txData.gasLimit = gasLimit\n\n return new TransactionSigner(txData)\n }\n}\n","import { Contract } from './Contract'\nimport type { InterfaceAbi } from 'ethers'\nimport ERC20 from '../../resources/ERC20.json'\nimport type { Provider } from '../services/Provider'\nimport { hexToNumber, numberToHex } from '@multiplechain/utils'\nimport { TransactionSigner } from '../services/TransactionSigner'\nimport {\n ErrorTypeEnum,\n type ContractAddress,\n type TokenInterface,\n type TransferAmount,\n type WalletAddress\n} from '@multiplechain/types'\n\nexport class Token extends Contract implements TokenInterface {\n /**\n * @param address Contract address\n * @param provider Blockchain network provider\n * @param ABI Contract ABI\n */\n constructor(address: ContractAddress, provider?: Provider, ABI?: InterfaceAbi) {\n super(address, provider, ABI ?? ERC20)\n }\n\n /**\n * @returns Token name\n */\n async getName(): Promise {\n return (await this.callMethodWithCache('name')) as string\n }\n\n /**\n * @returns Token symbol\n */\n async getSymbol(): Promise {\n return (await this.callMethodWithCache('symbol')) as string\n }\n\n /**\n * @returns Decimal value of the token\n */\n async getDecimals(): Promise {\n return Number(await this.callMethodWithCache('decimals'))\n }\n\n /**\n * @param owner Wallet address\n * @returns Wallet balance as currency of TOKEN\n */\n async getBalance(owner: WalletAddress): Promise {\n const [decimals, balance] = await Promise.all([\n this.getDecimals(),\n this.callMethod('balanceOf', owner)\n ])\n return hexToNumber(balance as string, decimals)\n }\n\n /**\n * @returns Total supply of the token\n */\n async getTotalSupply(): Promise {\n const [decimals, totalSupply] = await Promise.all([\n this.getDecimals(),\n this.callMethod('totalSupply')\n ])\n return hexToNumber(totalSupply as string, decimals)\n }\n\n /**\n * @param owner Address of owner of the tokens that is being used\n * @param spender Address of the spender that is using the tokens of owner\n * @returns Amount of tokens that the spender is allowed to spend\n */\n async getAllowance(owner: WalletAddress, spender: WalletAddress): Promise {\n const [decimals, allowance] = await Promise.all([\n this.getDecimals(),\n await this.callMethod('allowance', owner, spender)\n ])\n return hexToNumber(allowance as string, decimals)\n }\n\n /**\n * transfer() method is the main method for processing transfers for fungible assets (TOKEN, COIN)\n * @param sender Sender wallet address\n * @param receiver Receiver wallet address\n * @param amount Amount of assets that will be transferred\n * @returns Transaction signer\n */\n async transfer(\n sender: WalletAddress,\n receiver: WalletAddress,\n amount: TransferAmount\n ): Promise {\n if (amount <= 0) {\n throw new Error(ErrorTypeEnum.INVALID_AMOUNT)\n }\n\n const balance = await this.getBalance(sender)\n\n if (amount > balance) {\n throw new Error(ErrorTypeEnum.INSUFFICIENT_BALANCE)\n }\n\n const hexAmount = numberToHex(amount, await this.getDecimals())\n\n return new TransactionSigner(\n await this.createTransactionData('transfer', sender, receiver, hexAmount)\n )\n }\n\n /**\n * @param spender Address of the spender of transaction\n * @param owner Sender wallet address\n * @param receiver Receiver wallet address\n * @param amount Amount of tokens that will be transferred\n * @returns Transaction signer\n */\n async transferFrom(\n spender: WalletAddress,\n owner: WalletAddress,\n receiver: WalletAddress,\n amount: TransferAmount\n ): Promise {\n if (amount < 0) {\n throw new Error(ErrorTypeEnum.INVALID_AMOUNT)\n }\n\n const balance = await this.getBalance(owner)\n\n if (amount > balance) {\n throw new Error(ErrorTypeEnum.INSUFFICIENT_BALANCE)\n }\n\n const allowance = await this.getAllowance(owner, spender)\n\n if (allowance === 0) {\n throw new Error(ErrorTypeEnum.UNAUTHORIZED_ADDRESS)\n }\n\n if (amount > allowance) {\n throw new Error(ErrorTypeEnum.INVALID_AMOUNT)\n }\n\n const hexAmount = numberToHex(amount, await this.getDecimals())\n\n return new TransactionSigner(\n await this.createTransactionData('transferFrom', spender, owner, receiver, hexAmount)\n )\n }\n\n /**\n * Gives permission to the spender to spend owner's tokens\n * @param owner Address of owner of the tokens that will be used\n * @param spender Address of the spender that will use the tokens of owner\n * @param amount Amount of the tokens that will be used\n * @returns Transaction signer\n */\n async approve(\n owner: WalletAddress,\n spender: WalletAddress,\n amount: TransferAmount\n ): Promise {\n if (amount < 0) {\n throw new Error(ErrorTypeEnum.INVALID_AMOUNT)\n }\n\n const balance = await this.getBalance(owner)\n\n if (amount > balance) {\n throw new Error(ErrorTypeEnum.INSUFFICIENT_BALANCE)\n }\n\n const hexAmount = numberToHex(amount, await this.getDecimals())\n\n return new TransactionSigner(\n await this.createTransactionData('approve', owner, spender, hexAmount)\n )\n }\n}\n","import { Provider } from '../services/Provider'\nimport { ErrorTypeEnum, TransactionStatusEnum } from '@multiplechain/types'\nimport {\n TransactionTypeEnum,\n type BlockConfirmationCount,\n type BlockNumber,\n type BlockTimestamp,\n type TransactionFee,\n type TransactionId,\n type TransactionInterface,\n type WalletAddress\n} from '@multiplechain/types'\nimport type { TransactionReceipt, TransactionResponse } from 'ethers'\nimport type { Ethers } from '../services/Ethers'\nimport { hexToNumber } from '@multiplechain/utils'\nimport { NFT } from '../assets/NFT'\n\nconst selectors = {\n // ERC20\n [TransactionTypeEnum.TOKEN]: [\n '0xa9059cbb', // transfer(address,uint256)\n '0x095ea7b3', // approve(address,uint256)\n '0x23b872dd' // transferFrom(address,address,uint256)\n ],\n // ERC721, ERC1155\n [TransactionTypeEnum.NFT]: [\n // ERC721\n '0x23b872dd', // transferFrom(address,address,uint256)\n '0x095ea7b3', // approve(address,uint256)\n '0x42842e0e', // safeTransferFrom(address,address,uint256)\n '0xb88d4fde', // safeTransferFrom(address,address,uint256,bytes)\n // ERC1155\n '0xf242432a', // safeTransferFrom(address,address,uint256,uint256,bytes)\n '0x2eb2c2d6', // safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\n '0x29535c7e' // setApprovalForAll(address,bool)\n ]\n}\n\ninterface TransactionData {\n response: TransactionResponse\n receipt: TransactionReceipt | null\n}\n\nexport class Transaction implements TransactionInterface {\n /**\n * Each transaction has its own unique ID defined by the user\n */\n id: TransactionId\n\n /**\n * Blockchain network provider\n */\n provider: Provider\n\n /**\n * Ethers service\n */\n ethers: Ethers\n\n /**\n * Transaction data after completed\n */\n data: TransactionData\n\n /**\n * @param id Transaction id\n * @param provider Blockchain network provider\n */\n constructor(id: TransactionId, provider?: Provider) {\n this.id = id\n this.provider = provider ?? Provider.instance\n this.ethers = this.provider.ethers\n }\n\n /**\n * @returns Transaction data\n */\n async getData(): Promise {\n if (this.data?.response !== undefined && this.data?.receipt !== null) {\n return this.data\n }\n try {\n const response = await this.ethers.getTransaction(this.id)\n if (response === null) {\n return null\n }\n const receipt = await this.ethers.getTransactionReceipt(this.id)\n return (this.data = { response, receipt })\n } catch (error) {\n if (error instanceof Error && String(error.message).includes('timeout')) {\n throw new Error(ErrorTypeEnum.RPC_TIMEOUT)\n }\n throw new Error(ErrorTypeEnum.RPC_REQUEST_ERROR)\n }\n }\n\n /**\n * @param ms - Milliseconds to wait for the transaction to be confirmed. Default is 4000ms\n * @returns Status of the transaction\n */\n async wait(ms: number = 4000): Promise {\n return await new Promise((resolve, reject) => {\n const check = async (): Promise => {\n try {\n const status = await this.getStatus()\n if (status !== TransactionStatusEnum.PENDING) {\n resolve(status)\n return\n }\n setTimeout(check, ms)\n } catch (error) {\n reject(TransactionStatusEnum.FAILED)\n }\n }\n void check()\n })\n }\n\n /**\n * @returns Transaction id from the blockchain network\n */\n getId(): TransactionId {\n return this.id\n }\n\n /**\n * @returns Type of the transaction\n */\n async getType(): Promise {\n const txData = await this.getData()\n\n if (txData === null) {\n return TransactionTypeEnum.GENERAL\n }\n\n const contractBytecode = await this.provider.ethers.getByteCode(txData.response.to ?? '')\n\n if (contractBytecode === '0x' || txData.response.data === '0x') {\n return TransactionTypeEnum.COIN\n }\n\n const type = Object.entries(selectors).find(([_key, values]) => {\n return values.includes(txData.response.data.slice(0, 10))\n })\n\n if (type !== undefined) {\n const tryNft = new NFT(txData.response.to ?? '')\n try {\n await tryNft.getApproved(1)\n return TransactionTypeEnum.NFT\n } catch {\n return TransactionTypeEnum.TOKEN\n }\n }\n\n return TransactionTypeEnum.CONTRACT\n }\n\n /**\n * @returns URL of the transaction on the blockchain explorer\n */\n getUrl(): string {\n let explorerUrl = this.provider.network.explorerUrl\n explorerUrl += explorerUrl.endsWith('/') ? '' : '/'\n explorerUrl += 'tx/' + this.id\n return explorerUrl\n }\n\n /**\n * @returns Signer wallet address of the transaction\n */\n async getSigner(): Promise {\n const data = await this.getData()\n return data?.response.from ?? ''\n }\n\n /**\n * @returns Fee of the transaction\n */\n async getFee(): Promise {\n const data = await this.getData()\n if (data?.response?.gasPrice === undefined || data?.receipt?.gasUsed === undefined) {\n return 0\n }\n return hexToNumber(\n (data?.response.gasPrice * data?.receipt.gasUsed).toString(),\n this.provider.network.nativeCurrency.decimals\n )\n }\n\n /**\n * @returns Block number that transaction\n */\n async getBlockNumber(): Promise {\n const data = await this.getData()\n return data?.response.blockNumber ?? 0\n }\n\n /**\n * @returns Timestamp of the block that transaction\n */\n async getBlockTimestamp(): Promise {\n const blockNumber = await this.getBlockNumber()\n const block = await this.ethers.getBlock(blockNumber)\n return block?.timestamp ?? 0\n }\n\n /**\n * @returns Confirmation count of the block that transaction\n */\n async getBlockConfirmationCount(): Promise {\n const blockNumber = await this.getBlockNumber()\n const blockCount = await this.ethers.getBlockNumber()\n const confirmations = blockCount - blockNumber\n return confirmations < 0 ? 0 : confirmations\n }\n\n /**\n * @returns Status of the transaction\n */\n async getStatus(): Promise {\n const data = await this.getData()\n if (data?.response.blockNumber !== null && data?.receipt !== null) {\n if (data?.receipt.status === 1) {\n return TransactionStatusEnum.CONFIRMED\n } else {\n return TransactionStatusEnum.FAILED\n }\n }\n return TransactionStatusEnum.PENDING\n }\n}\n","import { Transaction } from './Transaction'\nimport type {\n ContractAddress,\n ContractTransactionInterface,\n TransactionId\n} from '@multiplechain/types'\nimport {\n Interface,\n type InterfaceAbi,\n type TransactionResponse,\n type TransactionDescription\n} from 'ethers'\nimport type { Provider } from '../services/Provider'\n\nexport class ContractTransaction extends Transaction implements ContractTransactionInterface {\n /**\n */\n ABI: InterfaceAbi\n\n /**\n * @param id Transaction id\n * @param provider Blockchain network provider\n * @param ABI Contract ABI\n */\n constructor(id: TransactionId, provider?: Provider, ABI?: InterfaceAbi) {\n super(id, provider)\n this.ABI = ABI ?? []\n }\n\n /**\n * @returns Contract address of the transaction\n */\n async getAddress(): Promise {\n const data = await this.getData()\n return data?.response.to ?? ''\n }\n\n /**\n * @param response Transaction response\n * @returns Decoded transaction data\n */\n async decodeData(response?: TransactionResponse): Promise {\n if (response === undefined) {\n const data = await this.getData()\n if (data === null) return null\n response = data.response\n }\n\n return new Interface(this.ABI).parseTransaction({\n data: response.data ?? '',\n value: response.value ?? 0\n })\n }\n}\n","import type { InterfaceAbi } from 'ethers'\nimport ERC721 from '../../resources/ERC721.json'\nimport type { Provider } from '../services/Provider'\nimport { ContractTransaction } from './ContractTransaction'\nimport type {\n NftId,\n NftTransactionInterface,\n TransactionId,\n WalletAddress\n} from '@multiplechain/types'\nimport { TransactionStatusEnum, AssetDirectionEnum } from '@multiplechain/types'\n\nexport class NftTransaction extends ContractTransaction implements NftTransactionInterface {\n /**\n * @param id Transaction id\n * @param provider Blockchain network provider\n * @param ABI Contract ABI\n */\n constructor(id: TransactionId, provider?: Provider, ABI?: InterfaceAbi) {\n super(id, provider, ABI ?? (ERC721 as InterfaceAbi))\n }\n\n /**\n * @returns Receiver wallet address\n */\n async getReceiver(): Promise {\n const decoded = await this.decodeData()\n\n if (decoded === null) {\n return ''\n }\n\n if (decoded.name === 'transferFrom') {\n return decoded.args[1]\n }\n\n return decoded.args[0]\n }\n\n /**\n * @returns Sender wallet address\n */\n async getSender(): Promise {\n const decoded = await this.decodeData()\n\n if (decoded === null) {\n return ''\n }\n\n if (decoded.name === 'transferFrom') {\n return decoded.args[0]\n }\n\n return await this.getSigner()\n }\n\n /**\n * @returns NFT ID\n */\n async getNftId(): Promise {\n return Number((await this.decodeData())?.args[2] ?? 0)\n }\n\n /**\n * @param direction - Direction of the transaction (nft)\n * @param address - Wallet address of the receiver or sender of the transaction, dependant on direction\n * @param nftId ID of the NFT that will be transferred\n * @returns Status of the transaction\n */\n async verifyTransfer(\n direction: AssetDirectionEnum,\n address: WalletAddress,\n nftId: NftId\n ): Promise {\n const status = await this.getStatus()\n\n if (status === TransactionStatusEnum.PENDING) {\n return TransactionStatusEnum.PENDING\n }\n\n if ((await this.getNftId()) !== nftId) {\n return TransactionStatusEnum.FAILED\n }\n\n if (direction === AssetDirectionEnum.INCOMING) {\n if ((await this.getReceiver()).toLowerCase() !== address.toLowerCase()) {\n return TransactionStatusEnum.FAILED\n }\n } else {\n if ((await this.getSender()).toLowerCase() !== address.toLowerCase()) {\n return TransactionStatusEnum.FAILED\n }\n }\n\n return TransactionStatusEnum.CONFIRMED\n }\n}\n","import { Transaction } from './Transaction'\nimport { hexToNumber } from '@multiplechain/utils'\nimport { TransactionStatusEnum, AssetDirectionEnum } from '@multiplechain/types'\nimport type { WalletAddress, CoinTransactionInterface, TransferAmount } from '@multiplechain/types'\n\nexport class CoinTransaction extends Transaction implements CoinTransactionInterface {\n /**\n * @returns Wallet address of the receiver of transaction\n */\n async getReceiver(): Promise {\n const data = await this.getData()\n return data?.response.to ?? ''\n }\n\n /**\n * @returns Wallet address of the sender of transaction\n */\n async getSender(): Promise {\n return await this.getSigner()\n }\n\n /**\n * @returns Amount of coin that will be transferred\n */\n async getAmount(): Promise {\n const data = await this.getData()\n const { decimals } = this.provider.network.nativeCurrency\n return hexToNumber((data?.response.value ?? 0).toString(), decimals)\n }\n\n /**\n * @param direction - Direction of the transaction (asset)\n * @param address - Wallet address of the receiver or sender of the transaction, dependant on direction\n * @param amount Amount of assets that will be transferred\n * @returns Status of the transaction\n */\n async verifyTransfer(\n direction: AssetDirectionEnum,\n address: WalletAddress,\n amount: TransferAmount\n ): Promise {\n const status = await this.getStatus()\n\n if (status === TransactionStatusEnum.PENDING) {\n return TransactionStatusEnum.PENDING\n }\n\n if ((await this.getAmount()) !== amount) {\n return TransactionStatusEnum.FAILED\n }\n\n if (direction === AssetDirectionEnum.INCOMING) {\n if ((await this.getReceiver()).toLowerCase() !== address.toLowerCase()) {\n return TransactionStatusEnum.FAILED\n }\n } else {\n if ((await this.getSender()).toLowerCase() !== address.toLowerCase()) {\n return TransactionStatusEnum.FAILED\n }\n }\n\n return TransactionStatusEnum.CONFIRMED\n }\n}\n","import { Token } from '../assets/Token'\nimport type { InterfaceAbi } from 'ethers'\nimport ERC20 from '../../resources/ERC20.json'\nimport { hexToNumber } from '@multiplechain/utils'\nimport type { Provider } from '../services/Provider'\nimport { ContractTransaction } from './ContractTransaction'\nimport { TransactionStatusEnum, AssetDirectionEnum } from '@multiplechain/types'\nimport type {\n TransactionId,\n TokenTransactionInterface,\n WalletAddress,\n TransferAmount\n} from '@multiplechain/types'\n\nexport class TokenTransaction extends ContractTransaction implements TokenTransactionInterface {\n /**\n * @param id Transaction id\n * @param provider Blockchain network provider\n * @param ABI Contract ABI\n */\n constructor(id: TransactionId, provider?: Provider, ABI?: InterfaceAbi) {\n super(id, provider, ABI ?? (ERC20 as InterfaceAbi))\n }\n\n /**\n * @returns Receiver wallet address\n */\n async getReceiver(): Promise {\n const decoded = await this.decodeData()\n\n if (decoded === null) {\n return ''\n }\n\n if (decoded.name === 'transferFrom') {\n return decoded.args[1]\n }\n\n return decoded.args[0]\n }\n\n /**\n * @returns Wallet address of the sender of transaction\n */\n async getSender(): Promise {\n const decoded = await this.decodeData()\n\n if (decoded === null) {\n return ''\n }\n\n if (decoded.name === 'transferFrom') {\n return decoded.args[0]\n }\n\n return await this.getSigner()\n }\n\n /**\n * @returns Amount of tokens that will be transferred\n */\n async getAmount(): Promise {\n const token = new Token(await this.getAddress())\n const decoded = await this.decodeData()\n if (decoded === null) {\n return 0\n }\n\n if (decoded.name === 'transferFrom') {\n return hexToNumber((decoded.args[2] as bigint).toString(), await token.getDecimals())\n }\n\n return hexToNumber((decoded.args[1] as bigint).toString(), await token.getDecimals())\n }\n\n /**\n * @param direction - Direction of the transaction (token)\n * @param address - Wallet address of the owner or spender of the transaction, dependant on direction\n * @param amount Amount of tokens that will be approved\n * @returns Status of the transaction\n */\n async verifyTransfer(\n direction: AssetDirectionEnum,\n address: WalletAddress,\n amount: TransferAmount\n ): Promise {\n const status = await this.getStatus()\n\n if (status === TransactionStatusEnum.PENDING) {\n return TransactionStatusEnum.PENDING\n }\n\n if ((await this.getAmount()) !== amount) {\n return TransactionStatusEnum.FAILED\n }\n\n if (direction === AssetDirectionEnum.INCOMING) {\n if ((await this.getReceiver()).toLowerCase() !== address.toLowerCase()) {\n return TransactionStatusEnum.FAILED\n }\n } else {\n if ((await this.getSender()).toLowerCase() !== address.toLowerCase()) {\n return TransactionStatusEnum.FAILED\n }\n }\n\n return TransactionStatusEnum.CONFIRMED\n }\n}\n","import type {\n TransactionTypeEnum,\n DynamicTransactionType,\n TransactionListenerInterface,\n DynamicTransactionListenerFilterType,\n TransactionId\n} from '@multiplechain/types'\n\nimport { Provider } from './Provider'\nimport type { Ethers } from './Ethers'\nimport { id, zeroPadValue } from 'ethers'\nimport { objectsEqual } from '@multiplechain/utils'\nimport { Transaction } from '../models/Transaction'\nimport { NftTransaction } from '../models/NftTransaction'\nimport { CoinTransaction } from '../models/CoinTransaction'\nimport { TokenTransaction } from '../models/TokenTransaction'\nimport { ErrorTypeEnum, TransactionListenerProcessIndex } from '@multiplechain/types'\nimport { ContractTransaction } from '../models/ContractTransaction'\nimport {\n type WebSocketProvider,\n type JsonRpcApiProvider,\n type EventFilter,\n type Log,\n type TransactionResponse\n} from 'ethers'\n\ntype TransactionListenerTriggerType = DynamicTransactionType<\n T,\n Transaction,\n ContractTransaction,\n CoinTransaction,\n TokenTransaction,\n NftTransaction\n>\n\ntype TransactionListenerCallbackType<\n T extends TransactionTypeEnum,\n Transaction = TransactionListenerTriggerType\n> = (transaction: Transaction) => void\n\nexport class TransactionListener<\n T extends TransactionTypeEnum,\n DTransaction extends TransactionListenerTriggerType,\n CallBackType extends TransactionListenerCallbackType\n> implements TransactionListenerInterface\n{\n /**\n * Transaction type\n */\n type: T\n\n /**\n * Provider\n */\n provider: Provider\n\n /**\n * Listener status\n */\n status: boolean = false\n\n /**\n * JSON-RPC provider\n */\n ethers: Ethers\n\n /**\n * JSON-RPC provider\n */\n jsonRpc: JsonRpcApiProvider\n\n /**\n * WebSocket provider\n */\n webSocket: WebSocketProvider\n\n /**\n * Transaction listener callback\n */\n callbacks: CallBackType[] = []\n\n /**\n * Dynamic stop method\n */\n dynamicStop: () => void = () => {}\n\n /**\n * Triggered transactions\n */\n triggeredTransactions: TransactionId[] = []\n\n /**\n * Transaction listener filter\n */\n filter?: DynamicTransactionListenerFilterType | Record\n\n /**\n * @param type - Transaction type\n * @param filter - Transaction listener filter\n * @param provider - Provider\n */\n constructor(type: T, filter?: DynamicTransactionListenerFilterType, provider?: Provider) {\n this.type = type\n this.filter = filter ?? {}\n this.provider = provider ?? Provider.instance\n this.ethers = this.provider.ethers\n this.jsonRpc = this.provider.ethers.jsonRpc\n }\n\n /**\n * Close the listener\n */\n stop(): void {\n if (this.status) {\n this.status = false\n this.dynamicStop()\n }\n }\n\n /**\n * Start the listener\n */\n start(): void {\n if (!this.status) {\n this.status = true\n // @ts-expect-error allow dynamic access\n this[TransactionListenerProcessIndex[this.type]]()\n }\n }\n\n /**\n * Get the listener status\n * @returns - Listener status\n */\n getStatus(): boolean {\n return this.status\n }\n\n /**\n * Listen to the transaction events\n * @param callback - Callback function\n * @returns - listener status\n */\n async on(callback: CallBackType): Promise {\n if (this.webSocket === undefined) {\n const socket = await this.provider.ethers.connectWebSocket()\n if (typeof socket === 'string') {\n throw new Error(ErrorTypeEnum.WS_CONNECTION_FAILED)\n } else {\n this.webSocket = socket\n }\n }\n\n this.start()\n this.callbacks.push(callback)\n\n return true\n }\n\n /**\n * Trigger the event when a transaction is detected\n * @param transaction - Transaction data\n */\n trigger(transaction: TransactionListenerTriggerType): void {\n if (!this.triggeredTransactions.includes(transaction.id)) {\n this.triggeredTransactions.push(transaction.id)\n this.callbacks.forEach((callback) => {\n callback(transaction as unknown as DTransaction)\n })\n }\n }\n\n /**\n * General transaction process\n */\n generalProcess(): void {\n const callback = async (transactionId: string): Promise => {\n if (this.filter?.signer !== undefined) {\n const transaction = await this.ethers.getTransaction(transactionId)\n if (transaction?.from.toLowerCase() !== this.filter.signer.toLowerCase()) {\n return\n }\n }\n\n this.trigger(new Transaction(transactionId))\n }\n\n void this.webSocket.on('pending', callback)\n this.dynamicStop = () => {\n void this.webSocket.off('pending', callback)\n }\n }\n\n /**\n * Contract transaction process\n */\n contractProcess(): void {\n const filter = this\n .filter as DynamicTransactionListenerFilterType\n\n let params: string | EventFilter\n if (filter.address === undefined) {\n params = 'pending'\n } else {\n params = {\n address: filter.address\n }\n }\n\n const checkSigner = (transaction: TransactionResponse | null): boolean => {\n if (transaction === null) {\n return false\n }\n\n interface ParamsType {\n signer?: string\n }\n\n const expectedParams: ParamsType = {}\n const receivedParams: ParamsType = {}\n\n if (filter.signer !== undefined) {\n expectedParams.signer = filter.signer.toLowerCase()\n receivedParams.signer = transaction.from.toLowerCase()\n }\n\n if (!objectsEqual(expectedParams, receivedParams)) {\n return false\n }\n\n return true\n }\n\n const callback = async (transactionIdOrLog: string | Log): Promise => {\n let transaction: TransactionResponse | null\n if (typeof transactionIdOrLog === 'string') {\n transaction = await this.ethers.getTransaction(transactionIdOrLog)\n\n if (!checkSigner(transaction)) {\n return\n }\n\n const contractBytecode = await this.ethers.getByteCode(transaction?.to ?? '')\n\n if (contractBytecode === '0x') {\n return\n }\n } else {\n transaction = await this.ethers.getTransaction(transactionIdOrLog.transactionHash)\n }\n\n if (!checkSigner(transaction)) {\n return\n }\n\n // @ts-expect-error already checking ing checkSigner\n this.trigger(new ContractTransaction(transaction.hash))\n }\n\n void this.webSocket.on(params, callback)\n this.dynamicStop = () => {\n void this.webSocket.off(params, callback)\n }\n }\n\n /**\n * Coin transaction process\n */\n coinProcess(): void {\n const filter = this.filter as DynamicTransactionListenerFilterType\n\n if (\n filter.signer !== undefined &&\n filter.sender !== undefined &&\n filter.signer !== filter.sender\n ) {\n throw new Error(\n 'Sender and signer must be the same in coin transactions. Or only one of them can be defined.'\n )\n }\n\n const callback = async (transactionId: string): Promise => {\n const tx = await this.ethers.getTransaction(transactionId)\n\n if (tx === null) {\n return\n }\n\n const sender = filter.sender ?? filter.signer\n\n interface ParamsType {\n sender?: string\n receiver?: string\n }\n\n const expectedParams: ParamsType = {}\n const receivedParams: ParamsType = {}\n\n if (sender !== undefined) {\n expectedParams.sender = sender.toLowerCase()\n receivedParams.sender = tx.from.toLowerCase()\n }\n\n if (filter.receiver !== undefined) {\n expectedParams.receiver = filter.receiver.toLowerCase()\n receivedParams.receiver = tx.to?.toLowerCase()\n }\n\n if (!objectsEqual(expectedParams, receivedParams)) {\n return\n }\n\n const contractBytecode = await this.ethers.getByteCode(tx?.to ?? '')\n\n if (contractBytecode !== '0x') {\n return\n }\n\n const transaction = new CoinTransaction(transactionId)\n\n if (filter.amount !== undefined) {\n await transaction.wait()\n const amount = await transaction.getAmount()\n if (amount !== filter.amount) {\n return\n }\n }\n\n this.trigger(transaction)\n }\n\n void this.webSocket.on('pending', callback)\n this.dynamicStop = () => {\n void this.webSocket.off('pending', callback)\n }\n }\n\n /**\n * Token transaction process\n */\n tokenProcess(): void {\n const filter = this\n .filter as DynamicTransactionListenerFilterType\n\n const params: EventFilter = {\n address: filter.address,\n topics: [\n id('Transfer(address,address,uint256)'),\n filter.sender !== undefined ? zeroPadValue(filter.sender, 32) : null,\n filter.receiver !== undefined ? zeroPadValue(filter.receiver, 32) : null\n ]\n }\n\n const callback = async (transactionLog: Log): Promise => {\n const transaction = new TokenTransaction(transactionLog.transactionHash)\n const data = await transaction.getData()\n\n if (data === null) {\n return\n }\n\n const decodedData = await transaction.decodeData(data.response)\n\n if (decodedData === null) {\n return\n }\n\n if (decodedData.name !== 'transfer' && decodedData.name !== 'transferFrom') {\n return\n }\n\n interface ParamsType {\n signer?: string\n }\n\n const expectedParams: ParamsType = {}\n const receivedParams: ParamsType = {}\n\n if (filter.signer !== undefined) {\n expectedParams.signer = filter.signer.toLowerCase()\n receivedParams.signer = data.response.from.toLowerCase()\n }\n\n if (!objectsEqual(expectedParams, receivedParams)) {\n return\n }\n\n if (filter.amount !== undefined) {\n await transaction.wait()\n const amount = await transaction.getAmount()\n if (amount !== filter.amount) {\n return\n }\n }\n\n this.trigger(transaction)\n }\n\n void this.webSocket.on(params, callback)\n this.dynamicStop = () => {\n void this.webSocket.off(params, callback)\n }\n }\n\n /**\n * NFT transaction process\n */\n nftProcess(): void {\n const filter = this.filter as DynamicTransactionListenerFilterType\n\n const params: EventFilter = {\n address: filter.address,\n topics: [\n id('Transfer(address,address,uint256)'),\n filter.sender !== undefined ? zeroPadValue(filter.sender, 32) : null,\n filter.receiver !== undefined ? zeroPadValue(filter.receiver, 32) : null,\n filter.nftId !== undefined\n ? zeroPadValue(`0x0${filter.nftId.toString(16)}`, 32)\n : null\n ]\n }\n\n const callback = async (transactionLog: Log): Promise => {\n const transaction = new NftTransaction(transactionLog.transactionHash)\n const data = await transaction.getData()\n\n if (data === null) {\n return\n }\n\n const decodedData = await transaction.decodeData(data.response)\n\n if (decodedData === null) {\n return\n }\n\n if (decodedData.name !== 'transferFrom') {\n return\n }\n\n interface ParamsType {\n signer?: string\n }\n\n const expectedParams: ParamsType = {}\n const receivedParams: ParamsType = {}\n\n if (filter.signer !== undefined) {\n expectedParams.signer = filter.signer.toLowerCase()\n receivedParams.signer = data.response.from.toLowerCase()\n }\n\n if (!objectsEqual(expectedParams, receivedParams)) {\n return\n }\n\n this.trigger(transaction)\n }\n\n void this.webSocket.on(params, callback)\n this.dynamicStop = () => {\n void this.webSocket.off(params, callback)\n }\n }\n}\n","const e=Symbol(),t=Symbol(),r=\"a\",n=\"w\";let o=(e,t)=>new Proxy(e,t);const s=Object.getPrototypeOf,c=new WeakMap,l=e=>e&&(c.has(e)?c.get(e):s(e)===Object.prototype||s(e)===Array.prototype),f=e=>\"object\"==typeof e&&null!==e,i=e=>{if(Array.isArray(e))return Array.from(e);const t=Object.getOwnPropertyDescriptors(e);return Object.values(t).forEach(e=>{e.configurable=!0}),Object.create(s(e),t)},u=e=>e[t]||e,a=(s,c,f,p)=>{if(!l(s))return s;let g=p&&p.get(s);if(!g){const e=u(s);g=(e=>Object.values(Object.getOwnPropertyDescriptors(e)).some(e=>!e.configurable&&!e.writable))(e)?[e,i(e)]:[e],null==p||p.set(s,g)}const[y,h]=g;let w=f&&f.get(y);return w&&w[1].f===!!h||(w=((o,s)=>{const c={f:s};let l=!1;const f=(e,t)=>{if(!l){let s=c[r].get(o);if(s||(s={},c[r].set(o,s)),e===n)s[n]=!0;else{let r=s[e];r||(r=new Set,s[e]=r),r.add(t)}}},i={get:(e,n)=>n===t?o:(f(\"k\",n),a(Reflect.get(e,n),c[r],c.c,c.t)),has:(t,n)=>n===e?(l=!0,c[r].delete(o),!0):(f(\"h\",n),Reflect.has(t,n)),getOwnPropertyDescriptor:(e,t)=>(f(\"o\",t),Reflect.getOwnPropertyDescriptor(e,t)),ownKeys:e=>(f(n),Reflect.ownKeys(e))};return s&&(i.set=i.deleteProperty=()=>!1),[i,c]})(y,!!h),w[1].p=o(h||y,w[0]),f&&f.set(y,w)),w[1][r]=c,w[1].c=f,w[1].t=p,w[1].p},p=(e,t,r,o)=>{if(Object.is(e,t))return!1;if(!f(e)||!f(t))return!0;const s=r.get(u(e));if(!s)return!0;if(o){const r=o.get(e);if(r&&r.n===t)return r.g;o.set(e,{n:t,g:!1})}let c=null;try{for(const r of s.h||[])if(c=Reflect.has(e,r)!==Reflect.has(t,r),c)return c;if(!0===s[n]){if(c=((e,t)=>{const r=Reflect.ownKeys(e),n=Reflect.ownKeys(t);return r.length!==n.length||r.some((e,t)=>e!==n[t])})(e,t),c)return c}else for(const r of s.o||[])if(c=!!Reflect.getOwnPropertyDescriptor(e,r)!=!!Reflect.getOwnPropertyDescriptor(t,r),c)return c;for(const n of s.k||[])if(c=p(e[n],t[n],r,o),c)return c;return null===c&&(c=!0),c}finally{o&&o.set(e,{n:t,g:c})}},g=t=>!!l(t)&&e in t,y=e=>l(e)&&e[t]||null,h=(e,t=!0)=>{c.set(e,t)},w=(e,t,r)=>{const o=[],s=new WeakSet,c=(e,l)=>{if(s.has(e))return;f(e)&&s.add(e);const i=f(e)&&t.get(u(e));if(i){var a,p;if(null==(a=i.h)||a.forEach(e=>{const t=`:has(${String(e)})`;o.push(l?[...l,t]:[t])}),!0===i[n]){const e=\":ownKeys\";o.push(l?[...l,e]:[e])}else{var g;null==(g=i.o)||g.forEach(e=>{const t=`:hasOwn(${String(e)})`;o.push(l?[...l,t]:[t])})}null==(p=i.k)||p.forEach(t=>{r&&!(\"value\"in(Object.getOwnPropertyDescriptor(e,t)||{}))||c(e[t],l?[...l,t]:[t])})}else l&&o.push(l)};return c(e),o},O=e=>{o=e};export{w as affectedToPathList,a as createProxy,y as getUntracked,p as isChanged,h as markToTrack,O as replaceNewProxy,g as trackMemo};\n//# sourceMappingURL=index.modern.mjs.map\n","import { markToTrack, getUntracked } from 'proxy-compare';\n\nconst isObject = (x) => typeof x === \"object\" && x !== null;\nconst proxyStateMap = /* @__PURE__ */ new WeakMap();\nconst refSet = /* @__PURE__ */ new WeakSet();\nconst buildProxyFunction = (objectIs = Object.is, newProxy = (target, handler) => new Proxy(target, handler), canProxy = (x) => isObject(x) && !refSet.has(x) && (Array.isArray(x) || !(Symbol.iterator in x)) && !(x instanceof WeakMap) && !(x instanceof WeakSet) && !(x instanceof Error) && !(x instanceof Number) && !(x instanceof Date) && !(x instanceof String) && !(x instanceof RegExp) && !(x instanceof ArrayBuffer), defaultHandlePromise = (promise) => {\n switch (promise.status) {\n case \"fulfilled\":\n return promise.value;\n case \"rejected\":\n throw promise.reason;\n default:\n throw promise;\n }\n}, snapCache = /* @__PURE__ */ new WeakMap(), createSnapshot = (target, version, handlePromise = defaultHandlePromise) => {\n const cache = snapCache.get(target);\n if ((cache == null ? void 0 : cache[0]) === version) {\n return cache[1];\n }\n const snap = Array.isArray(target) ? [] : Object.create(Object.getPrototypeOf(target));\n markToTrack(snap, true);\n snapCache.set(target, [version, snap]);\n Reflect.ownKeys(target).forEach((key) => {\n if (Object.getOwnPropertyDescriptor(snap, key)) {\n return;\n }\n const value = Reflect.get(target, key);\n const desc = {\n value,\n enumerable: true,\n // This is intentional to avoid copying with proxy-compare.\n // It's still non-writable, so it avoids assigning a value.\n configurable: true\n };\n if (refSet.has(value)) {\n markToTrack(value, false);\n } else if (value instanceof Promise) {\n delete desc.value;\n desc.get = () => handlePromise(value);\n } else if (proxyStateMap.has(value)) {\n const [target2, ensureVersion] = proxyStateMap.get(\n value\n );\n desc.value = createSnapshot(\n target2,\n ensureVersion(),\n handlePromise\n );\n }\n Object.defineProperty(snap, key, desc);\n });\n return Object.preventExtensions(snap);\n}, proxyCache = /* @__PURE__ */ new WeakMap(), versionHolder = [1, 1], proxyFunction = (initialObject) => {\n if (!isObject(initialObject)) {\n throw new Error(\"object required\");\n }\n const found = proxyCache.get(initialObject);\n if (found) {\n return found;\n }\n let version = versionHolder[0];\n const listeners = /* @__PURE__ */ new Set();\n const notifyUpdate = (op, nextVersion = ++versionHolder[0]) => {\n if (version !== nextVersion) {\n version = nextVersion;\n listeners.forEach((listener) => listener(op, nextVersion));\n }\n };\n let checkVersion = versionHolder[1];\n const ensureVersion = (nextCheckVersion = ++versionHolder[1]) => {\n if (checkVersion !== nextCheckVersion && !listeners.size) {\n checkVersion = nextCheckVersion;\n propProxyStates.forEach(([propProxyState]) => {\n const propVersion = propProxyState[1](nextCheckVersion);\n if (propVersion > version) {\n version = propVersion;\n }\n });\n }\n return version;\n };\n const createPropListener = (prop) => (op, nextVersion) => {\n const newOp = [...op];\n newOp[1] = [prop, ...newOp[1]];\n notifyUpdate(newOp, nextVersion);\n };\n const propProxyStates = /* @__PURE__ */ new Map();\n const addPropListener = (prop, propProxyState) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && propProxyStates.has(prop)) {\n throw new Error(\"prop listener already exists\");\n }\n if (listeners.size) {\n const remove = propProxyState[3](createPropListener(prop));\n propProxyStates.set(prop, [propProxyState, remove]);\n } else {\n propProxyStates.set(prop, [propProxyState]);\n }\n };\n const removePropListener = (prop) => {\n var _a;\n const entry = propProxyStates.get(prop);\n if (entry) {\n propProxyStates.delete(prop);\n (_a = entry[1]) == null ? void 0 : _a.call(entry);\n }\n };\n const addListener = (listener) => {\n listeners.add(listener);\n if (listeners.size === 1) {\n propProxyStates.forEach(([propProxyState, prevRemove], prop) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && prevRemove) {\n throw new Error(\"remove already exists\");\n }\n const remove = propProxyState[3](createPropListener(prop));\n propProxyStates.set(prop, [propProxyState, remove]);\n });\n }\n const removeListener = () => {\n listeners.delete(listener);\n if (listeners.size === 0) {\n propProxyStates.forEach(([propProxyState, remove], prop) => {\n if (remove) {\n remove();\n propProxyStates.set(prop, [propProxyState]);\n }\n });\n }\n };\n return removeListener;\n };\n const baseObject = Array.isArray(initialObject) ? [] : Object.create(Object.getPrototypeOf(initialObject));\n const handler = {\n deleteProperty(target, prop) {\n const prevValue = Reflect.get(target, prop);\n removePropListener(prop);\n const deleted = Reflect.deleteProperty(target, prop);\n if (deleted) {\n notifyUpdate([\"delete\", [prop], prevValue]);\n }\n return deleted;\n },\n set(target, prop, value, receiver) {\n const hasPrevValue = Reflect.has(target, prop);\n const prevValue = Reflect.get(target, prop, receiver);\n if (hasPrevValue && (objectIs(prevValue, value) || proxyCache.has(value) && objectIs(prevValue, proxyCache.get(value)))) {\n return true;\n }\n removePropListener(prop);\n if (isObject(value)) {\n value = getUntracked(value) || value;\n }\n let nextValue = value;\n if (value instanceof Promise) {\n value.then((v) => {\n value.status = \"fulfilled\";\n value.value = v;\n notifyUpdate([\"resolve\", [prop], v]);\n }).catch((e) => {\n value.status = \"rejected\";\n value.reason = e;\n notifyUpdate([\"reject\", [prop], e]);\n });\n } else {\n if (!proxyStateMap.has(value) && canProxy(value)) {\n nextValue = proxyFunction(value);\n }\n const childProxyState = !refSet.has(nextValue) && proxyStateMap.get(nextValue);\n if (childProxyState) {\n addPropListener(prop, childProxyState);\n }\n }\n Reflect.set(target, prop, nextValue, receiver);\n notifyUpdate([\"set\", [prop], value, prevValue]);\n return true;\n }\n };\n const proxyObject = newProxy(baseObject, handler);\n proxyCache.set(initialObject, proxyObject);\n const proxyState = [\n baseObject,\n ensureVersion,\n createSnapshot,\n addListener\n ];\n proxyStateMap.set(proxyObject, proxyState);\n Reflect.ownKeys(initialObject).forEach((key) => {\n const desc = Object.getOwnPropertyDescriptor(\n initialObject,\n key\n );\n if (\"value\" in desc) {\n proxyObject[key] = initialObject[key];\n delete desc.value;\n delete desc.writable;\n }\n Object.defineProperty(baseObject, key, desc);\n });\n return proxyObject;\n}) => [\n // public functions\n proxyFunction,\n // shared state\n proxyStateMap,\n refSet,\n // internal things\n objectIs,\n newProxy,\n canProxy,\n defaultHandlePromise,\n snapCache,\n createSnapshot,\n proxyCache,\n versionHolder\n];\nconst [defaultProxyFunction] = buildProxyFunction();\nfunction proxy(initialObject = {}) {\n return defaultProxyFunction(initialObject);\n}\nfunction getVersion(proxyObject) {\n const proxyState = proxyStateMap.get(proxyObject);\n return proxyState == null ? void 0 : proxyState[1]();\n}\nfunction subscribe(proxyObject, callback, notifyInSync) {\n const proxyState = proxyStateMap.get(proxyObject);\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && !proxyState) {\n console.warn(\"Please use proxy object\");\n }\n let promise;\n const ops = [];\n const addListener = proxyState[3];\n let isListenerActive = false;\n const listener = (op) => {\n ops.push(op);\n if (notifyInSync) {\n callback(ops.splice(0));\n return;\n }\n if (!promise) {\n promise = Promise.resolve().then(() => {\n promise = void 0;\n if (isListenerActive) {\n callback(ops.splice(0));\n }\n });\n }\n };\n const removeListener = addListener(listener);\n isListenerActive = true;\n return () => {\n isListenerActive = false;\n removeListener();\n };\n}\nfunction snapshot(proxyObject, handlePromise) {\n const proxyState = proxyStateMap.get(proxyObject);\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && !proxyState) {\n console.warn(\"Please use proxy object\");\n }\n const [target, ensureVersion, createSnapshot] = proxyState;\n return createSnapshot(target, ensureVersion(), handlePromise);\n}\nfunction ref(obj) {\n refSet.add(obj);\n return obj;\n}\nconst unstable_buildProxyFunction = buildProxyFunction;\n\nexport { getVersion, proxy, ref, snapshot, subscribe, unstable_buildProxyFunction };\n","const SECURE_SITE = 'https://secure.walletconnect.com';\nexport const ONRAMP_PROVIDERS = [\n {\n label: 'Coinbase',\n name: 'coinbase',\n feeRange: '1-2%',\n url: ''\n }\n];\nexport const ConstantsUtil = {\n FOUR_MINUTES_MS: 240000,\n TEN_SEC_MS: 10000,\n ONE_SEC_MS: 1000,\n SECURE_SITE,\n SECURE_SITE_DASHBOARD: `${SECURE_SITE}/dashboard`,\n SECURE_SITE_FAVICON: `${SECURE_SITE}/images/favicon.png`,\n RESTRICTED_TIMEZONES: [\n 'ASIA/SHANGHAI',\n 'ASIA/URUMQI',\n 'ASIA/CHONGQING',\n 'ASIA/HARBIN',\n 'ASIA/KASHGAR',\n 'ASIA/MACAU',\n 'ASIA/HONG_KONG',\n 'ASIA/MACAO',\n 'ASIA/BEIJING',\n 'ASIA/HARBIN'\n ],\n WC_COINBASE_PAY_SDK_CHAINS: [\n 'ethereum',\n 'arbitrum',\n 'polygon',\n 'avalanche-c-chain',\n 'optimism',\n 'celo',\n 'base'\n ],\n WC_COINBASE_PAY_SDK_FALLBACK_CHAIN: 'ethereum',\n WC_COINBASE_PAY_SDK_CHAIN_NAME_MAP: {\n Ethereum: 'ethereum',\n 'Arbitrum One': 'arbitrum',\n Polygon: 'polygon',\n Avalanche: 'avalanche-c-chain',\n 'OP Mainnet': 'optimism',\n Celo: 'celo',\n Base: 'base'\n },\n WC_COINBASE_ONRAMP_APP_ID: 'bf18c88d-495a-463b-b249-0b9d3656cf5e',\n SUGGESTED_TOKENS: [\n 'ETH',\n 'UNI',\n '1INCH',\n 'AAVE',\n 'SOL',\n 'ADA',\n 'AVAX',\n 'DOT',\n 'LINK',\n 'NITRO',\n 'GAIA',\n 'MILK',\n 'TRX',\n 'NEAR',\n 'GNO',\n 'WBTC',\n 'DAI',\n 'WETH',\n 'USDC',\n 'USDT',\n 'ARB',\n 'BAL',\n 'BICO',\n 'CRV',\n 'ENS',\n 'MATIC',\n 'OP'\n ],\n POPULAR_TOKENS: [\n 'ETH',\n 'UNI',\n '1INCH',\n 'AAVE',\n 'SOL',\n 'ADA',\n 'AVAX',\n 'DOT',\n 'LINK',\n 'NITRO',\n 'GAIA',\n 'MILK',\n 'TRX',\n 'NEAR',\n 'GNO',\n 'WBTC',\n 'DAI',\n 'WETH',\n 'USDC',\n 'USDT',\n 'ARB',\n 'BAL',\n 'BICO',\n 'CRV',\n 'ENS',\n 'MATIC',\n 'OP',\n 'DAI',\n 'CHAMP',\n 'WOLF',\n 'SALE',\n 'BAL',\n 'BUSD',\n 'MUST',\n 'BTCpx',\n 'ROUTE',\n 'HEX',\n 'WELT',\n 'amDAI',\n 'VSQ',\n 'VISION',\n 'AURUM',\n 'pSP',\n 'SNX',\n 'VC',\n 'LINK',\n 'CHP',\n 'amUSDT',\n 'SPHERE',\n 'FOX',\n 'GIDDY',\n 'GFC',\n 'OMEN',\n 'OX_OLD',\n 'DE',\n 'WNT'\n ],\n NATIVE_TOKEN_ADDRESS: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',\n CONVERT_SLIPPAGE_TOLERANCE: 1\n};\n//# sourceMappingURL=ConstantsUtil.js.map","import { ConstantsUtil } from './ConstantsUtil.js';\nexport const CoreHelperUtil = {\n isMobile() {\n if (typeof window !== 'undefined') {\n return Boolean(window.matchMedia('(pointer:coarse)').matches ||\n /Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent));\n }\n return false;\n },\n checkCaipNetwork(network, networkName = '') {\n return network?.id.toLocaleLowerCase().includes(networkName.toLowerCase());\n },\n isAndroid() {\n const ua = window.navigator.userAgent.toLowerCase();\n return CoreHelperUtil.isMobile() && ua.includes('android');\n },\n isIos() {\n const ua = window.navigator.userAgent.toLowerCase();\n return CoreHelperUtil.isMobile() && (ua.includes('iphone') || ua.includes('ipad'));\n },\n isClient() {\n return typeof window !== 'undefined';\n },\n isPairingExpired(expiry) {\n return expiry ? expiry - Date.now() <= ConstantsUtil.TEN_SEC_MS : true;\n },\n isAllowedRetry(lastRetry) {\n return Date.now() - lastRetry >= ConstantsUtil.ONE_SEC_MS;\n },\n copyToClopboard(text) {\n navigator.clipboard.writeText(text);\n },\n getPairingExpiry() {\n return Date.now() + ConstantsUtil.FOUR_MINUTES_MS;\n },\n getPlainAddress(caipAddress) {\n return caipAddress.split(':')[2];\n },\n async wait(milliseconds) {\n return new Promise(resolve => {\n setTimeout(resolve, milliseconds);\n });\n },\n debounce(func, timeout = 500) {\n let timer = undefined;\n return (...args) => {\n function next() {\n func(...args);\n }\n if (timer) {\n clearTimeout(timer);\n }\n timer = setTimeout(next, timeout);\n };\n },\n isHttpUrl(url) {\n return url.startsWith('http://') || url.startsWith('https://');\n },\n formatNativeUrl(appUrl, wcUri) {\n if (CoreHelperUtil.isHttpUrl(appUrl)) {\n return this.formatUniversalUrl(appUrl, wcUri);\n }\n let safeAppUrl = appUrl;\n if (!safeAppUrl.includes('://')) {\n safeAppUrl = appUrl.replaceAll('/', '').replaceAll(':', '');\n safeAppUrl = `${safeAppUrl}://`;\n }\n if (!safeAppUrl.endsWith('/')) {\n safeAppUrl = `${safeAppUrl}/`;\n }\n const encodedWcUrl = encodeURIComponent(wcUri);\n return {\n redirect: `${safeAppUrl}wc?uri=${encodedWcUrl}`,\n href: safeAppUrl\n };\n },\n formatUniversalUrl(appUrl, wcUri) {\n if (!CoreHelperUtil.isHttpUrl(appUrl)) {\n return this.formatNativeUrl(appUrl, wcUri);\n }\n let safeAppUrl = appUrl;\n if (!safeAppUrl.endsWith('/')) {\n safeAppUrl = `${safeAppUrl}/`;\n }\n const encodedWcUrl = encodeURIComponent(wcUri);\n return {\n redirect: `${safeAppUrl}wc?uri=${encodedWcUrl}`,\n href: safeAppUrl\n };\n },\n openHref(href, target, features) {\n window.open(href, target, features || 'noreferrer noopener');\n },\n async preloadImage(src) {\n const imagePromise = new Promise((resolve, reject) => {\n const image = new Image();\n image.onload = resolve;\n image.onerror = reject;\n image.crossOrigin = 'anonymous';\n image.src = src;\n });\n return Promise.race([imagePromise, CoreHelperUtil.wait(2000)]);\n },\n formatBalance(balance, symbol) {\n let formattedBalance = undefined;\n if (balance === '0') {\n formattedBalance = '0.000';\n }\n else if (typeof balance === 'string') {\n const number = Number(balance);\n if (number) {\n formattedBalance = number.toString().match(/^-?\\d+(?:\\.\\d{0,3})?/u)?.[0];\n }\n }\n return formattedBalance ? `${formattedBalance} ${symbol ?? ''}` : `0.000 ${symbol ?? ''}`;\n },\n formatBalance2(balance, symbol) {\n let formattedBalance = undefined;\n if (balance === '0') {\n formattedBalance = '0';\n }\n else if (typeof balance === 'string') {\n const number = Number(balance);\n if (number) {\n formattedBalance = number.toString().match(/^-?\\d+(?:\\.\\d{0,3})?/u)?.[0];\n }\n }\n return {\n value: formattedBalance ?? '0',\n rest: formattedBalance === '0' ? '000' : '',\n symbol\n };\n },\n isRestrictedRegion() {\n try {\n const { timeZone } = new Intl.DateTimeFormat().resolvedOptions();\n const capTimeZone = timeZone.toUpperCase();\n return ConstantsUtil.RESTRICTED_TIMEZONES.includes(capTimeZone);\n }\n catch {\n return false;\n }\n },\n getApiUrl() {\n return CoreHelperUtil.isRestrictedRegion()\n ? 'https://api.web3modal.org'\n : 'https://api.web3modal.com';\n },\n getBlockchainApiUrl() {\n return CoreHelperUtil.isRestrictedRegion()\n ? 'https://rpc.walletconnect.org'\n : 'https://rpc.walletconnect.com';\n },\n getAnalyticsUrl() {\n return CoreHelperUtil.isRestrictedRegion()\n ? 'https://pulse.walletconnect.org'\n : 'https://pulse.walletconnect.com';\n },\n getUUID() {\n if (crypto?.randomUUID) {\n return crypto.randomUUID();\n }\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/gu, c => {\n const r = (Math.random() * 16) | 0;\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n },\n parseError(error) {\n if (typeof error === 'string') {\n return error;\n }\n else if (typeof error?.issues?.[0]?.message === 'string') {\n return error.issues[0].message;\n }\n else if (error instanceof Error) {\n return error.message;\n }\n return 'Unknown error';\n },\n sortRequestedNetworks(approvedIds, requestedNetworks = []) {\n const approvedIndexMap = {};\n if (requestedNetworks && approvedIds) {\n approvedIds.forEach((id, index) => {\n approvedIndexMap[id] = index;\n });\n requestedNetworks.sort((a, b) => {\n const indexA = approvedIndexMap[a.id];\n const indexB = approvedIndexMap[b.id];\n if (indexA !== undefined && indexB !== undefined) {\n return indexA - indexB;\n }\n else if (indexA !== undefined) {\n return -1;\n }\n else if (indexB !== undefined) {\n return 1;\n }\n return 0;\n });\n }\n return requestedNetworks;\n },\n calculateBalance(array) {\n let sum = 0;\n for (const item of array) {\n sum += item.value ?? 0;\n }\n return sum;\n },\n formatTokenBalance(number) {\n const roundedNumber = number.toFixed(2);\n const [dollars, pennies] = roundedNumber.split('.');\n return { dollars, pennies };\n },\n isAddress(address) {\n if (!/^(?:0x)?[0-9a-f]{40}$/iu.test(address)) {\n return false;\n }\n else if (/^(?:0x)?[0-9a-f]{40}$/iu.test(address) || /^(?:0x)?[0-9A-F]{40}$/iu.test(address)) {\n return true;\n }\n return false;\n }\n};\n//# sourceMappingURL=CoreHelperUtil.js.map","export class FetchUtil {\n constructor({ baseUrl }) {\n this.baseUrl = baseUrl;\n }\n async get({ headers, signal, ...args }) {\n const url = this.createUrl(args);\n const response = await fetch(url, { method: 'GET', headers, signal, cache: 'no-cache' });\n return response.json();\n }\n async getBlob({ headers, signal, ...args }) {\n const url = this.createUrl(args);\n const response = await fetch(url, { method: 'GET', headers, signal });\n return response.blob();\n }\n async post({ body, headers, signal, ...args }) {\n const url = this.createUrl(args);\n const response = await fetch(url, {\n method: 'POST',\n headers,\n body: body ? JSON.stringify(body) : undefined,\n signal\n });\n return response.json();\n }\n async put({ body, headers, signal, ...args }) {\n const url = this.createUrl(args);\n const response = await fetch(url, {\n method: 'PUT',\n headers,\n body: body ? JSON.stringify(body) : undefined,\n signal\n });\n return response.json();\n }\n async delete({ body, headers, signal, ...args }) {\n const url = this.createUrl(args);\n const response = await fetch(url, {\n method: 'DELETE',\n headers,\n body: body ? JSON.stringify(body) : undefined,\n signal\n });\n return response.json();\n }\n createUrl({ path, params }) {\n const url = new URL(path, this.baseUrl);\n if (params) {\n Object.entries(params).forEach(([key, value]) => {\n if (value) {\n url.searchParams.append(key, value);\n }\n });\n }\n return url;\n }\n}\n//# sourceMappingURL=FetchUtil.js.map","import { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { proxy } from 'valtio/vanilla';\nconst state = proxy({\n projectId: '',\n sdkType: 'w3m',\n sdkVersion: 'html-wagmi-undefined'\n});\nexport const OptionsController = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n setProjectId(projectId) {\n state.projectId = projectId;\n },\n setAllWallets(allWallets) {\n state.allWallets = allWallets;\n },\n setIncludeWalletIds(includeWalletIds) {\n state.includeWalletIds = includeWalletIds;\n },\n setExcludeWalletIds(excludeWalletIds) {\n state.excludeWalletIds = excludeWalletIds;\n },\n setFeaturedWalletIds(featuredWalletIds) {\n state.featuredWalletIds = featuredWalletIds;\n },\n setTokens(tokens) {\n state.tokens = tokens;\n },\n setTermsConditionsUrl(termsConditionsUrl) {\n state.termsConditionsUrl = termsConditionsUrl;\n },\n setPrivacyPolicyUrl(privacyPolicyUrl) {\n state.privacyPolicyUrl = privacyPolicyUrl;\n },\n setCustomWallets(customWallets) {\n state.customWallets = customWallets;\n },\n setIsSiweEnabled(isSiweEnabled) {\n state.isSiweEnabled = isSiweEnabled;\n },\n setEnableAnalytics(enableAnalytics) {\n state.enableAnalytics = enableAnalytics;\n },\n setSdkVersion(sdkVersion) {\n state.sdkVersion = sdkVersion;\n },\n setMetadata(metadata) {\n state.metadata = metadata;\n },\n setOnrampEnabled(enableOnramp) {\n state.enableOnramp = enableOnramp;\n },\n setWalletFeaturesEnabled(enableWalletFeatures) {\n state.enableWalletFeatures = enableWalletFeatures;\n }\n};\n//# sourceMappingURL=OptionsController.js.map","import { ConstantsUtil } from '../utils/ConstantsUtil.js';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { FetchUtil } from '../utils/FetchUtil.js';\nimport { OptionsController } from './OptionsController.js';\nconst DEFAULT_OPTIONS = {\n purchaseCurrencies: [\n {\n id: '2b92315d-eab7-5bef-84fa-089a131333f5',\n name: 'USD Coin',\n symbol: 'USDC',\n networks: [\n {\n name: 'ethereum-mainnet',\n display_name: 'Ethereum',\n chain_id: '1',\n contract_address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'\n },\n {\n name: 'polygon-mainnet',\n display_name: 'Polygon',\n chain_id: '137',\n contract_address: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174'\n }\n ]\n },\n {\n id: '2b92315d-eab7-5bef-84fa-089a131333f5',\n name: 'Ether',\n symbol: 'ETH',\n networks: [\n {\n name: 'ethereum-mainnet',\n display_name: 'Ethereum',\n chain_id: '1',\n contract_address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'\n },\n {\n name: 'polygon-mainnet',\n display_name: 'Polygon',\n chain_id: '137',\n contract_address: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174'\n }\n ]\n }\n ],\n paymentCurrencies: [\n {\n id: 'USD',\n payment_method_limits: [\n {\n id: 'card',\n min: '10.00',\n max: '7500.00'\n },\n {\n id: 'ach_bank_account',\n min: '10.00',\n max: '25000.00'\n }\n ]\n },\n {\n id: 'EUR',\n payment_method_limits: [\n {\n id: 'card',\n min: '10.00',\n max: '7500.00'\n },\n {\n id: 'ach_bank_account',\n min: '10.00',\n max: '25000.00'\n }\n ]\n }\n ]\n};\nconst baseUrl = CoreHelperUtil.getBlockchainApiUrl();\nconst api = new FetchUtil({ baseUrl });\nexport const BlockchainApiController = {\n fetchIdentity({ address }) {\n return api.get({\n path: `/v1/identity/${address}`,\n params: {\n projectId: OptionsController.state.projectId\n }\n });\n },\n fetchTransactions({ account, projectId, cursor, onramp, signal }) {\n const queryParams = cursor ? { cursor } : {};\n return api.get({\n path: `/v1/account/${account}/history?projectId=${projectId}${onramp ? `&onramp=${onramp}` : ''}`,\n params: queryParams,\n signal\n });\n },\n fetchConvertTokens({ projectId, chainId }) {\n return api.get({\n path: `/v1/convert/tokens?projectId=${projectId}&chainId=${chainId}`\n });\n },\n fetchTokenPrice({ projectId, addresses }) {\n return api.post({\n path: '/v1/fungible/price',\n body: {\n projectId,\n currency: 'usd',\n addresses\n },\n headers: {\n 'Content-Type': 'application/json'\n }\n });\n },\n fetchConvertAllowance({ projectId, tokenAddress, userAddress }) {\n const { sdkType, sdkVersion } = OptionsController.state;\n return api.get({\n path: `/v1/convert/allowance?projectId=${projectId}&tokenAddress=${tokenAddress}&userAddress=${userAddress}`,\n headers: {\n 'Content-Type': 'application/json',\n 'x-sdk-type': sdkType,\n 'x-sdk-version': sdkVersion\n }\n });\n },\n fetchGasPrice({ projectId, chainId }) {\n const { sdkType, sdkVersion } = OptionsController.state;\n return api.get({\n path: `/v1/convert/gas-price?projectId=${projectId}&chainId=${chainId}`,\n headers: {\n 'Content-Type': 'application/json',\n 'x-sdk-type': sdkType,\n 'x-sdk-version': sdkVersion\n }\n });\n },\n generateConvertCalldata({ amount, from, projectId, to, userAddress }) {\n return api.post({\n path: '/v1/convert/build-transaction',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: {\n amount,\n eip155: {\n slippage: ConstantsUtil.CONVERT_SLIPPAGE_TOLERANCE\n },\n from,\n projectId,\n to,\n userAddress\n }\n });\n },\n generateApproveCalldata({ from, projectId, to, userAddress }) {\n const { sdkType, sdkVersion } = OptionsController.state;\n return api.get({\n path: `/v1/convert/build-approve?projectId=${projectId}&userAddress=${userAddress}&from=${from}&to=${to}`,\n headers: {\n 'Content-Type': 'application/json',\n 'x-sdk-type': sdkType,\n 'x-sdk-version': sdkVersion\n }\n });\n },\n async getBalance(address, chainId) {\n const { sdkType, sdkVersion } = OptionsController.state;\n return api.get({\n path: `/v1/account/${address}/balance`,\n headers: {\n 'x-sdk-type': sdkType,\n 'x-sdk-version': sdkVersion\n },\n params: {\n currency: 'usd',\n projectId: OptionsController.state.projectId,\n chainId\n }\n });\n },\n async generateOnRampURL({ destinationWallets, partnerUserId, defaultNetwork, purchaseAmount, paymentAmount }) {\n const response = await api.post({\n path: `/v1/generators/onrampurl?projectId=${OptionsController.state.projectId}`,\n body: {\n destinationWallets,\n defaultNetwork,\n partnerUserId,\n defaultExperience: 'buy',\n presetCryptoAmount: purchaseAmount,\n presetFiatAmount: paymentAmount\n }\n });\n return response.url;\n },\n async getOnrampOptions() {\n try {\n const response = await api.get({\n path: `/v1/onramp/options?projectId=${OptionsController.state.projectId}`\n });\n return response;\n }\n catch (e) {\n return DEFAULT_OPTIONS;\n }\n },\n async getOnrampQuote({ purchaseCurrency, paymentCurrency, amount, network }) {\n try {\n const response = await api.post({\n path: `/v1/onramp/quote?projectId=${OptionsController.state.projectId}`,\n body: {\n purchaseCurrency,\n paymentCurrency,\n amount,\n network\n }\n });\n return response;\n }\n catch (e) {\n return {\n coinbaseFee: { amount, currency: paymentCurrency.id },\n networkFee: { amount, currency: paymentCurrency.id },\n paymentSubtotal: { amount, currency: paymentCurrency.id },\n paymentTotal: { amount, currency: paymentCurrency.id },\n purchaseAmount: { amount, currency: paymentCurrency.id },\n quoteId: 'mocked-quote-id'\n };\n }\n }\n};\n//# sourceMappingURL=BlockchainApiController.js.map","import { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { proxy } from 'valtio/vanilla';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nconst state = proxy({\n message: '',\n variant: 'success',\n open: false\n});\nexport const SnackController = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n showSuccess(message) {\n state.message = message;\n state.variant = 'success';\n state.open = true;\n },\n showError(message) {\n const errorMessage = CoreHelperUtil.parseError(message);\n state.message = errorMessage;\n state.variant = 'error';\n state.open = true;\n },\n hide() {\n state.open = false;\n }\n};\n//# sourceMappingURL=SnackController.js.map","function getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nvar browser = {exports: {}};\n\n// shim for using process in browser\nvar process = browser.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ());\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] };\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\nvar browserExports = browser.exports;\nconst process$1 = /*@__PURE__*/getDefaultExportFromCjs(browserExports);\n\nexport { process$1 as default, process$1 as process };\n//# sourceMappingURL=index.js.map\n","const WC_DEEPLINK = 'WALLETCONNECT_DEEPLINK_CHOICE';\nconst W3M_RECENT = '@w3m/recent';\nconst W3M_CONNECTED_WALLET_IMAGE_URL = '@w3m/connected_wallet_image_url';\nconst W3M_CONNECTED_CONNECTOR = '@w3m/connected_connector';\nexport const StorageUtil = {\n setWalletConnectDeepLink({ href, name }) {\n try {\n localStorage.setItem(WC_DEEPLINK, JSON.stringify({ href, name }));\n }\n catch {\n console.info('Unable to set WalletConnect deep link');\n }\n },\n getWalletConnectDeepLink() {\n try {\n const deepLink = localStorage.getItem(WC_DEEPLINK);\n if (deepLink) {\n return JSON.parse(deepLink);\n }\n }\n catch {\n console.info('Unable to get WalletConnect deep link');\n }\n return undefined;\n },\n deleteWalletConnectDeepLink() {\n try {\n localStorage.removeItem(WC_DEEPLINK);\n }\n catch {\n console.info('Unable to delete WalletConnect deep link');\n }\n },\n setWeb3ModalRecent(wallet) {\n try {\n const recentWallets = StorageUtil.getRecentWallets();\n const exists = recentWallets.find(w => w.id === wallet.id);\n if (!exists) {\n recentWallets.unshift(wallet);\n if (recentWallets.length > 2) {\n recentWallets.pop();\n }\n localStorage.setItem(W3M_RECENT, JSON.stringify(recentWallets));\n }\n }\n catch {\n console.info('Unable to set Web3Modal recent');\n }\n },\n getRecentWallets() {\n try {\n const recent = localStorage.getItem(W3M_RECENT);\n return recent ? JSON.parse(recent) : [];\n }\n catch {\n console.info('Unable to get Web3Modal recent');\n }\n return [];\n },\n setConnectedWalletImageUrl(imageUrl) {\n try {\n localStorage.setItem(W3M_CONNECTED_WALLET_IMAGE_URL, imageUrl);\n }\n catch {\n console.info('Unable to set Connected Wallet Image Url');\n }\n },\n getConnectedWalletImageUrl() {\n try {\n return localStorage.getItem(W3M_CONNECTED_WALLET_IMAGE_URL);\n }\n catch {\n console.info('Unable to set Connected Wallet Image Url');\n }\n return undefined;\n },\n setConnectedConnector(connectorType) {\n try {\n localStorage.setItem(W3M_CONNECTED_CONNECTOR, connectorType);\n }\n catch {\n console.info('Unable to set Connected Connector');\n }\n },\n getConnectedConnector() {\n try {\n return localStorage.getItem(W3M_CONNECTED_CONNECTOR);\n }\n catch {\n console.info('Unable to get Connected Connector');\n }\n return undefined;\n }\n};\n//# sourceMappingURL=StorageUtil.js.map","import { proxy, subscribe as sub } from 'valtio/vanilla';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { FetchUtil } from '../utils/FetchUtil.js';\nimport { OptionsController } from './OptionsController.js';\nconst baseUrl = CoreHelperUtil.getAnalyticsUrl();\nconst api = new FetchUtil({ baseUrl });\nconst excluded = ['MODAL_CREATED'];\nconst state = proxy({\n timestamp: Date.now(),\n data: {\n type: 'track',\n event: 'MODAL_CREATED'\n }\n});\nexport const EventsController = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n _getApiHeaders() {\n const { projectId, sdkType, sdkVersion } = OptionsController.state;\n return {\n 'x-project-id': projectId,\n 'x-sdk-type': sdkType,\n 'x-sdk-version': sdkVersion\n };\n },\n async _sendAnalyticsEvent(payload) {\n try {\n if (excluded.includes(payload.data.event) || typeof window === 'undefined') {\n return;\n }\n await api.post({\n path: '/e',\n headers: EventsController._getApiHeaders(),\n body: {\n eventId: CoreHelperUtil.getUUID(),\n url: window.location.href,\n domain: window.location.hostname,\n timestamp: payload.timestamp,\n props: payload.data\n }\n });\n }\n catch {\n }\n },\n sendEvent(data) {\n state.timestamp = Date.now();\n state.data = data;\n if (OptionsController.state.enableAnalytics) {\n EventsController._sendAnalyticsEvent(state);\n }\n }\n};\n//# sourceMappingURL=EventsController.js.map","import { proxy, subscribe as sub } from 'valtio/vanilla';\nimport { OptionsController } from './OptionsController.js';\nimport { EventsController } from './EventsController.js';\nimport { SnackController } from './SnackController.js';\nimport { BlockchainApiController } from './BlockchainApiController.js';\nconst state = proxy({\n transactions: [],\n coinbaseTransactions: {},\n transactionsByYear: {},\n loading: false,\n empty: false,\n next: undefined\n});\nexport const TransactionsController = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n async fetchTransactions(accountAddress, onramp) {\n const { projectId } = OptionsController.state;\n if (!projectId || !accountAddress) {\n throw new Error(\"Transactions can't be fetched without a projectId and an accountAddress\");\n }\n state.loading = true;\n try {\n const response = await BlockchainApiController.fetchTransactions({\n account: accountAddress,\n projectId,\n cursor: state.next,\n onramp\n });\n const nonSpamTransactions = this.filterSpamTransactions(response.data);\n const filteredTransactions = [...state.transactions, ...nonSpamTransactions];\n state.loading = false;\n if (onramp === 'coinbase') {\n state.coinbaseTransactions = this.groupTransactionsByYearAndMonth(state.coinbaseTransactions, response.data);\n }\n else {\n state.transactions = filteredTransactions;\n state.transactionsByYear = this.groupTransactionsByYearAndMonth(state.transactionsByYear, nonSpamTransactions);\n }\n state.empty = filteredTransactions.length === 0;\n state.next = response.next ? response.next : undefined;\n }\n catch (error) {\n EventsController.sendEvent({\n type: 'track',\n event: 'ERROR_FETCH_TRANSACTIONS',\n properties: {\n address: accountAddress,\n projectId,\n cursor: state.next\n }\n });\n SnackController.showError('Failed to fetch transactions');\n state.loading = false;\n state.empty = true;\n state.next = undefined;\n }\n },\n groupTransactionsByYearAndMonth(transactionsMap = {}, transactions = []) {\n const grouped = transactionsMap;\n transactions.forEach(transaction => {\n const year = new Date(transaction.metadata.minedAt).getFullYear();\n const month = new Date(transaction.metadata.minedAt).getMonth();\n const yearTransactions = grouped[year] ?? {};\n const monthTransactions = yearTransactions[month] ?? [];\n const newMonthTransactions = monthTransactions.filter(tx => tx.id !== transaction.id);\n grouped[year] = {\n ...yearTransactions,\n [month]: [...newMonthTransactions, transaction].sort((a, b) => new Date(b.metadata.minedAt).getTime() - new Date(a.metadata.minedAt).getTime())\n };\n });\n return grouped;\n },\n filterSpamTransactions(transactions) {\n return transactions.filter(transaction => {\n const isAllSpam = transaction.transfers.every(transfer => transfer.nft_info?.flags.is_spam === true);\n return !isAllSpam;\n });\n },\n clearCursor() {\n state.next = undefined;\n },\n resetTransactions() {\n state.transactions = [];\n state.transactionsByYear = {};\n state.loading = false;\n state.empty = false;\n state.next = undefined;\n }\n};\n//# sourceMappingURL=TransactionsController.js.map","import { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { proxy, ref } from 'valtio/vanilla';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { StorageUtil } from '../utils/StorageUtil.js';\nimport { TransactionsController } from './TransactionsController.js';\nconst state = proxy({\n wcError: false,\n buffering: false\n});\nexport const ConnectionController = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n _getClient() {\n if (!state._client) {\n throw new Error('ConnectionController client not set');\n }\n return state._client;\n },\n setClient(client) {\n state._client = ref(client);\n },\n connectWalletConnect() {\n state.wcPromise = this._getClient().connectWalletConnect(uri => {\n state.wcUri = uri;\n state.wcPairingExpiry = CoreHelperUtil.getPairingExpiry();\n });\n StorageUtil.setConnectedConnector('WALLET_CONNECT');\n },\n async connectExternal(options) {\n await this._getClient().connectExternal?.(options);\n StorageUtil.setConnectedConnector(options.type);\n },\n async signMessage(message) {\n return this._getClient().signMessage(message);\n },\n parseUnits(value, decimals) {\n return this._getClient().parseUnits(value, decimals);\n },\n formatUnits(value, decimals) {\n return this._getClient().formatUnits(value, decimals);\n },\n async sendTransaction(args) {\n return this._getClient().sendTransaction(args);\n },\n async estimateGas(args) {\n return this._getClient().estimateGas(args);\n },\n checkInstalled(ids) {\n return this._getClient().checkInstalled?.(ids);\n },\n resetWcConnection() {\n state.wcUri = undefined;\n state.wcPairingExpiry = undefined;\n state.wcPromise = undefined;\n state.wcLinking = undefined;\n state.recentWallet = undefined;\n TransactionsController.resetTransactions();\n StorageUtil.deleteWalletConnectDeepLink();\n },\n setWcLinking(wcLinking) {\n state.wcLinking = wcLinking;\n },\n setWcError(wcError) {\n state.wcError = wcError;\n state.buffering = false;\n },\n setRecentWallet(wallet) {\n state.recentWallet = wallet;\n },\n setBuffering(buffering) {\n state.buffering = buffering;\n },\n async disconnect() {\n await this._getClient().disconnect();\n this.resetWcConnection();\n }\n};\n//# sourceMappingURL=ConnectionController.js.map","import { proxy, subscribe as sub } from 'valtio/vanilla';\nconst state = proxy({\n loading: false,\n open: false,\n selectedNetworkId: undefined\n});\nexport const PublicStateController = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n set(newState) {\n Object.assign(state, { ...state, ...newState });\n }\n};\n//# sourceMappingURL=PublicStateController.js.map","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)0,p<=y.r||!y.r){p<=1&&c>0&&(y=h[c-1]);var v=l[y.l];u&&(p=u(\"\"+p)),a=\"string\"==typeof v?v.replace(\"%d\",p):v(p,n,y.l,s);break}}if(n)return a;var M=s?l.future:l.past;return\"function\"==typeof M?M(a):M.replace(\"%s\",a)},n.to=function(r,e){return i(r,e,this,!0)},n.from=function(r,e){return i(r,e,this)};var d=function(r){return r.$u?t.utc():t()};n.toNow=function(r){return this.to(d(this),r)},n.fromNow=function(r){return this.from(d(this),r)}}}));","import dayjs from 'dayjs';\nimport updateLocale from 'dayjs/plugin/updateLocale.js';\nimport relativeTime from 'dayjs/plugin/relativeTime.js';\ndayjs.extend(relativeTime);\ndayjs.extend(updateLocale);\ndayjs.updateLocale('en', {\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: '%s sec',\n m: '1 min',\n mm: '%d min',\n h: '1 hr',\n hh: '%d hrs',\n d: '1 d',\n dd: '%d d',\n M: '1 mo',\n MM: '%d mo',\n y: '1 yr',\n yy: '%d yr'\n }\n});\nexport const DateUtil = {\n getYear(date = new Date().toISOString()) {\n return dayjs(date).year();\n },\n getRelativeDateFromNow(date) {\n return dayjs(date).fromNow(true);\n },\n formatDate(date, format = 'DD MMM') {\n return dayjs(date).format(format);\n }\n};\n//# sourceMappingURL=DateUtil.js.map","export const NetworkUtil = {\n caipNetworkIdToNumber(caipnetworkId) {\n return caipnetworkId ? Number(caipnetworkId.split(':')[1]) : undefined;\n }\n};\n//# sourceMappingURL=NetworkUtil.js.map","import BigNumber from 'bignumber.js';\nexport const NumberUtil = {\n bigNumber(value) {\n return new BigNumber(value);\n },\n multiply(a, b) {\n if (a === undefined || b === undefined) {\n return BigNumber(0);\n }\n const aBigNumber = new BigNumber(a);\n const bBigNumber = new BigNumber(b);\n return aBigNumber.multipliedBy(bBigNumber);\n }\n};\n//# sourceMappingURL=NumberUtil.js.map","import { subscribeKey as subKey } from 'valtio/utils';\nimport { proxy, ref, subscribe as sub } from 'valtio/vanilla';\nimport { PublicStateController } from './PublicStateController.js';\nimport { EventsController } from './EventsController.js';\nimport { ModalController } from './ModalController.js';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { NetworkUtil } from '@web3modal/common';\nconst state = proxy({\n supportsAllNetworks: true,\n isDefaultCaipNetwork: false,\n smartAccountEnabledNetworks: []\n});\nexport const NetworkController = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n _getClient() {\n if (!state._client) {\n throw new Error('NetworkController client not set');\n }\n return state._client;\n },\n setClient(client) {\n state._client = ref(client);\n },\n setCaipNetwork(caipNetwork) {\n state.caipNetwork = caipNetwork;\n PublicStateController.set({ selectedNetworkId: caipNetwork?.id });\n if (!this.state.allowUnsupportedChain) {\n this.checkIfSupportedNetwork();\n }\n },\n setDefaultCaipNetwork(caipNetwork) {\n state.caipNetwork = caipNetwork;\n PublicStateController.set({ selectedNetworkId: caipNetwork?.id });\n state.isDefaultCaipNetwork = true;\n },\n setRequestedCaipNetworks(requestedNetworks) {\n state.requestedCaipNetworks = requestedNetworks;\n },\n setAllowUnsupportedChain(allowUnsupportedChain) {\n state.allowUnsupportedChain = allowUnsupportedChain;\n },\n setSmartAccountEnabledNetworks(smartAccountEnabledNetworks) {\n state.smartAccountEnabledNetworks = smartAccountEnabledNetworks;\n },\n getRequestedCaipNetworks() {\n const { approvedCaipNetworkIds, requestedCaipNetworks } = state;\n const approvedIds = approvedCaipNetworkIds;\n const requestedNetworks = requestedCaipNetworks;\n return CoreHelperUtil.sortRequestedNetworks(approvedIds, requestedNetworks);\n },\n async getApprovedCaipNetworksData() {\n const data = await this._getClient().getApprovedCaipNetworksData();\n state.supportsAllNetworks = data.supportsAllNetworks;\n state.approvedCaipNetworkIds = data.approvedCaipNetworkIds;\n },\n async switchActiveNetwork(network) {\n await this._getClient().switchCaipNetwork(network);\n state.caipNetwork = network;\n if (network) {\n EventsController.sendEvent({\n type: 'track',\n event: 'SWITCH_NETWORK',\n properties: { network: network.id }\n });\n }\n },\n checkIfSupportedNetwork() {\n state.isUnsupportedChain = !state.requestedCaipNetworks?.some(network => network.id === state.caipNetwork?.id);\n if (state.isUnsupportedChain) {\n this.showUnsupportedChainUI();\n }\n },\n checkIfSmartAccountEnabled() {\n const networkId = NetworkUtil.caipNetworkIdToNumber(state.caipNetwork?.id);\n if (!networkId) {\n return false;\n }\n return Boolean(state.smartAccountEnabledNetworks?.includes(networkId));\n },\n resetNetwork() {\n if (!state.isDefaultCaipNetwork) {\n state.caipNetwork = undefined;\n }\n state.approvedCaipNetworkIds = undefined;\n state.supportsAllNetworks = true;\n state.smartAccountEnabledNetworks = [];\n },\n showUnsupportedChainUI() {\n setTimeout(() => {\n ModalController.open({ view: 'UnsupportedChain' });\n }, 300);\n }\n};\n//# sourceMappingURL=NetworkController.js.map","import { NetworkController } from '../controllers/NetworkController.js';\nimport { AccountController } from '../controllers/AccountController.js';\nimport { ConnectionController } from '../controllers/ConnectionController.js';\nimport { ConstantsUtil } from '../utils/ConstantsUtil.js';\nimport { BlockchainApiController } from '../controllers/BlockchainApiController.js';\nimport { OptionsController } from '../controllers/OptionsController.js';\nexport const ConvertApiUtil = {\n async getTokenList() {\n const response = await BlockchainApiController.fetchConvertTokens({\n chainId: NetworkController.state.caipNetwork?.id,\n projectId: OptionsController.state.projectId\n });\n const tokens = response.tokens.map(token => {\n return {\n ...token,\n eip2612: false,\n quantity: {\n decimals: '0',\n numeric: '0'\n },\n price: 0,\n value: 0\n };\n });\n return tokens;\n },\n async fetchGasPrice() {\n const projectId = OptionsController.state.projectId;\n const caipNetwork = NetworkController.state.caipNetwork;\n if (!caipNetwork) {\n return null;\n }\n return await BlockchainApiController.fetchGasPrice({\n projectId,\n chainId: caipNetwork.id\n });\n },\n async fetchConvertAllowance({ tokenAddress, userAddress, sourceTokenAmount, sourceTokenDecimals }) {\n const projectId = OptionsController.state.projectId;\n const response = await BlockchainApiController.fetchConvertAllowance({\n projectId,\n tokenAddress,\n userAddress\n });\n if (response?.allowance && sourceTokenAmount && sourceTokenDecimals) {\n const parsedValue = ConnectionController.parseUnits(sourceTokenAmount, sourceTokenDecimals);\n const hasAllowance = BigInt(response.allowance) >= parsedValue;\n return hasAllowance;\n }\n return false;\n },\n async getMyTokensWithBalance() {\n const address = AccountController.state.address;\n const caipNetwork = NetworkController.state.caipNetwork;\n if (!address || !caipNetwork) {\n return [];\n }\n const response = await BlockchainApiController.getBalance(address, caipNetwork.id);\n const balances = response.balances;\n return this.mapBalancesToConvertTokens(balances);\n },\n mapBalancesToConvertTokens(balances) {\n return balances.map(token => {\n return {\n symbol: token.symbol,\n name: token.name,\n address: token?.address\n ? token.address\n : `${NetworkController.state.caipNetwork?.id}:${ConstantsUtil.NATIVE_TOKEN_ADDRESS}`,\n decimals: parseInt(token.quantity.decimals, 10),\n logoUri: token.iconUrl,\n eip2612: false,\n quantity: token.quantity,\n price: token.price,\n value: token.value\n };\n });\n }\n};\n//# sourceMappingURL=ConvertApiUtil.js.map","import { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { proxy } from 'valtio/vanilla';\nconst state = proxy({\n view: 'Connect',\n history: ['Connect'],\n transactionStack: []\n});\nexport const RouterController = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n pushTransactionStack(action) {\n state.transactionStack.push(action);\n },\n popTransactionStack(cancel) {\n const action = state.transactionStack.pop();\n if (!action) {\n return;\n }\n if (cancel) {\n this.goBack();\n action?.onCancel?.();\n }\n else {\n if (action.goBack) {\n this.goBack();\n }\n else if (action.view) {\n this.reset(action.view);\n }\n action?.onSuccess?.();\n }\n },\n push(view, data) {\n if (view !== state.view) {\n state.view = view;\n state.history.push(view);\n state.data = data;\n }\n },\n reset(view) {\n state.view = view;\n state.history = [view];\n },\n replace(view, data) {\n if (state.history.length > 1 && state.history.at(-1) !== view) {\n state.view = view;\n state.history[state.history.length - 1] = view;\n state.data = data;\n }\n },\n goBack() {\n if (state.history.length > 1) {\n state.history.pop();\n const [last] = state.history.slice(-1);\n if (last) {\n state.view = last;\n }\n }\n },\n goBackToIndex(historyIndex) {\n if (state.history.length > 1) {\n state.history = state.history.slice(0, historyIndex + 1);\n const [last] = state.history.slice(-1);\n if (last) {\n state.view = last;\n }\n }\n }\n};\n//# sourceMappingURL=RouterController.js.map","import { subscribeKey as subKey } from 'valtio/utils';\nimport { proxy, subscribe as sub } from 'valtio/vanilla';\nimport { AccountController } from './AccountController.js';\nimport { ConstantsUtil } from '../utils/ConstantsUtil.js';\nimport { ConnectionController } from './ConnectionController.js';\nimport { ConvertApiUtil } from '../utils/ConvertApiUtil.js';\nimport { SnackController } from './SnackController.js';\nimport { RouterController } from './RouterController.js';\nimport { NumberUtil } from '@web3modal/common';\nimport { NetworkController } from './NetworkController.js';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { BlockchainApiController } from './BlockchainApiController.js';\nimport { OptionsController } from './OptionsController.js';\nexport const INITIAL_GAS_LIMIT = 150000;\nclass TransactionError extends Error {\n constructor(message, shortMessage) {\n super(message);\n this.name = 'TransactionError';\n this.shortMessage = shortMessage;\n }\n}\nconst state = proxy({\n initialized: false,\n loading: false,\n loadingPrices: false,\n approvalTransaction: undefined,\n convertTransaction: undefined,\n transactionError: undefined,\n transactionLoading: false,\n sourceToken: undefined,\n sourceTokenAmount: '',\n sourceTokenPriceInUSD: 0,\n toToken: undefined,\n toTokenAmount: '',\n toTokenPriceInUSD: 0,\n networkPrice: '0',\n networkBalanceInUSD: '0',\n inputError: undefined,\n slippage: ConstantsUtil.CONVERT_SLIPPAGE_TOLERANCE,\n tokens: undefined,\n popularTokens: undefined,\n suggestedTokens: undefined,\n foundTokens: undefined,\n myTokensWithBalance: undefined,\n tokensPriceMap: {},\n gasFee: BigInt(0),\n gasPriceInUSD: 0,\n priceImpact: undefined,\n maxSlippage: undefined\n});\nexport const ConvertController = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n getParams() {\n const { address } = AccountController.state;\n const networkAddress = `${NetworkController.state.caipNetwork?.id}:${ConstantsUtil.NATIVE_TOKEN_ADDRESS}`;\n if (!address) {\n throw new Error('No address found to swap the tokens from.');\n }\n return {\n networkAddress,\n fromAddress: address,\n fromCaipAddress: AccountController.state.caipAddress,\n sourceTokenAddress: state.sourceToken?.address,\n toTokenAddress: state.toToken?.address,\n toTokenAmount: state.toTokenAmount,\n toTokenDecimals: state.toToken?.decimals,\n sourceTokenAmount: state.sourceTokenAmount,\n sourceTokenDecimals: state.sourceToken?.decimals\n };\n },\n setLoading(loading) {\n state.loading = loading;\n },\n setSourceToken(sourceToken) {\n if (!sourceToken) {\n return;\n }\n state.sourceToken = sourceToken;\n this.setTokenValues(sourceToken.address, 'sourceToken');\n },\n setSourceTokenAmount(amount) {\n const { sourceTokenAddress } = this.getParams();\n state.sourceTokenAmount = amount;\n if (sourceTokenAddress) {\n this.setTokenValues(sourceTokenAddress, 'sourceToken');\n }\n },\n setToToken(toToken) {\n const { sourceTokenAddress, sourceTokenAmount } = this.getParams();\n if (!toToken) {\n state.toTokenAmount = '0';\n state.toTokenPriceInUSD = 0;\n return;\n }\n state.toToken = toToken;\n this.setTokenValues(toToken.address, 'toToken');\n if (sourceTokenAddress && sourceTokenAmount) {\n this.makeChecks();\n }\n },\n setToTokenAmount(amount) {\n const { toTokenAddress } = this.getParams();\n state.toTokenAmount = amount;\n if (toTokenAddress) {\n this.setTokenValues(toTokenAddress, 'toToken');\n }\n },\n async setTokenValues(address, target) {\n let price = state.tokensPriceMap[address] || 0;\n if (!price) {\n price = await this.getAddressPrice(address);\n }\n if (target === 'sourceToken') {\n state.sourceTokenPriceInUSD = price;\n }\n else if (target === 'toToken') {\n state.toTokenPriceInUSD = price;\n }\n },\n switchTokens() {\n const newSourceToken = state.toToken ? { ...state.toToken } : undefined;\n const newToToken = state.sourceToken ? { ...state.sourceToken } : undefined;\n this.setSourceToken(newSourceToken);\n this.setToToken(newToToken);\n this.setSourceTokenAmount(state.toTokenAmount || '0');\n ConvertController.convertTokens();\n },\n resetTokens() {\n state.tokens = undefined;\n state.popularTokens = undefined;\n state.myTokensWithBalance = undefined;\n state.initialized = false;\n },\n resetValues() {\n const { networkAddress } = this.getParams();\n const networkToken = state.tokens?.find(token => token.address === networkAddress);\n this.setSourceToken(networkToken);\n state.sourceTokenPriceInUSD = state.tokensPriceMap[networkAddress] || 0;\n state.sourceTokenAmount = '0';\n this.setToToken(undefined);\n state.gasPriceInUSD = 0;\n },\n clearError() {\n state.transactionError = undefined;\n },\n async initializeState() {\n if (!state.initialized) {\n await this.fetchTokens();\n state.initialized = true;\n }\n },\n async fetchTokens() {\n const { networkAddress } = this.getParams();\n await this.getTokenList();\n await this.getNetworkTokenPrice();\n await this.getMyTokensWithBalance();\n const networkToken = state.tokens?.find(token => token.address === networkAddress);\n if (networkToken) {\n this.setSourceToken(networkToken);\n }\n },\n async getTokenList() {\n const tokens = await ConvertApiUtil.getTokenList();\n state.tokens = tokens;\n state.popularTokens = tokens\n .sort((aTokenInfo, bTokenInfo) => {\n if (aTokenInfo.symbol < bTokenInfo.symbol) {\n return -1;\n }\n if (aTokenInfo.symbol > bTokenInfo.symbol) {\n return 1;\n }\n return 0;\n })\n .filter(token => {\n if (ConstantsUtil.POPULAR_TOKENS.includes(token.symbol)) {\n return true;\n }\n return false;\n }, {});\n state.suggestedTokens = tokens.filter(token => {\n if (ConstantsUtil.SUGGESTED_TOKENS.includes(token.symbol)) {\n return true;\n }\n return false;\n }, {});\n },\n async getAddressPrice(address) {\n const existPrice = state.tokensPriceMap[address];\n if (existPrice) {\n return existPrice;\n }\n const response = await BlockchainApiController.fetchTokenPrice({\n projectId: OptionsController.state.projectId,\n addresses: [address]\n });\n const fungibles = response.fungibles || [];\n const allTokens = [...(state.tokens || []), ...(state.myTokensWithBalance || [])];\n const symbol = allTokens?.find(token => token.address === address)?.symbol;\n const price = fungibles.find(p => p.symbol === symbol)?.price || '0';\n const priceAsFloat = parseFloat(price);\n state.tokensPriceMap[address] = priceAsFloat;\n return priceAsFloat;\n },\n async getNetworkTokenPrice() {\n const { networkAddress } = this.getParams();\n const response = await BlockchainApiController.fetchTokenPrice({\n projectId: OptionsController.state.projectId,\n addresses: [networkAddress]\n });\n const token = response.fungibles?.[0];\n const price = token?.price || '0';\n state.tokensPriceMap[networkAddress] = parseFloat(price);\n state.networkPrice = price;\n },\n async getMyTokensWithBalance() {\n const balances = await ConvertApiUtil.getMyTokensWithBalance();\n if (!balances) {\n return;\n }\n await this.getInitialGasPrice();\n this.setBalances(balances);\n },\n setBalances(balances) {\n const { networkAddress } = this.getParams();\n const networkToken = balances.find(token => token.address === networkAddress);\n balances.forEach(token => {\n state.tokensPriceMap[token.address] = token.price || 0;\n });\n state.myTokensWithBalance = balances;\n state.networkBalanceInUSD = networkToken\n ? NumberUtil.multiply(networkToken.quantity.numeric, networkToken.price).toString()\n : '0';\n },\n async getInitialGasPrice() {\n const res = await ConvertApiUtil.fetchGasPrice();\n if (!res) {\n return;\n }\n const value = res.instant;\n const gasFee = BigInt(value);\n const gasLimit = BigInt(INITIAL_GAS_LIMIT);\n const gasPrice = this.calculateGasPriceInUSD(gasLimit, gasFee);\n state.gasPriceInUSD = gasPrice;\n },\n async refreshConvertValues() {\n const { fromAddress, toTokenDecimals, toTokenAddress } = this.getParams();\n if (fromAddress && toTokenAddress && toTokenDecimals && !state.loading) {\n const transaction = await this.getTransaction();\n this.setTransactionDetails(transaction);\n }\n },\n calculateGasPriceInEther(gas, gasPrice) {\n const totalGasCostInWei = gasPrice * gas;\n const totalGasCostInEther = Number(totalGasCostInWei) / 1e18;\n return totalGasCostInEther;\n },\n calculateGasPriceInUSD(gas, gasPrice) {\n const totalGasCostInEther = this.calculateGasPriceInEther(gas, gasPrice);\n const networkPriceInUSD = NumberUtil.bigNumber(state.networkPrice);\n const gasCostInUSD = networkPriceInUSD.multipliedBy(totalGasCostInEther);\n return gasCostInUSD.toNumber();\n },\n calculatePriceImpact(toTokenAmount, gasPriceInUSD) {\n const sourceTokenAmount = state.sourceTokenAmount;\n const sourceTokenPrice = state.sourceTokenPriceInUSD;\n const toTokenPrice = state.toTokenPriceInUSD;\n const totalCostInUSD = NumberUtil.bigNumber(sourceTokenAmount)\n .multipliedBy(sourceTokenPrice)\n .plus(gasPriceInUSD);\n const effectivePricePerToToken = totalCostInUSD.dividedBy(toTokenAmount);\n const priceImpact = effectivePricePerToToken\n .minus(toTokenPrice)\n .dividedBy(toTokenPrice)\n .multipliedBy(100);\n return priceImpact.toNumber();\n },\n calculateMaxSlippage() {\n const slippageToleranceDecimal = NumberUtil.bigNumber(state.slippage).dividedBy(100);\n const maxSlippageAmount = NumberUtil.multiply(state.sourceTokenAmount, slippageToleranceDecimal);\n return maxSlippageAmount.toNumber();\n },\n async convertTokens() {\n const { sourceTokenAddress, toTokenAddress } = this.getParams();\n if (!sourceTokenAddress || !toTokenAddress) {\n return;\n }\n await this.makeChecks();\n },\n async makeChecks() {\n const { toTokenDecimals, toTokenAddress } = this.getParams();\n if (!toTokenDecimals || !toTokenAddress) {\n return;\n }\n state.loading = true;\n const transaction = await this.getTransaction();\n this.setTransactionDetails(transaction);\n state.loading = false;\n },\n async getTransaction() {\n const { fromCaipAddress, sourceTokenAddress, sourceTokenAmount, sourceTokenDecimals } = this.getParams();\n if (!fromCaipAddress ||\n !sourceTokenAddress ||\n !sourceTokenAmount ||\n parseFloat(sourceTokenAmount) === 0 ||\n !sourceTokenDecimals) {\n return undefined;\n }\n const hasAllowance = await ConvertApiUtil.fetchConvertAllowance({\n userAddress: fromCaipAddress,\n tokenAddress: sourceTokenAddress,\n sourceTokenAmount,\n sourceTokenDecimals\n });\n let transaction = undefined;\n if (hasAllowance) {\n state.approvalTransaction = undefined;\n transaction = await this.createConvert();\n state.convertTransaction = transaction;\n }\n else {\n state.convertTransaction = undefined;\n transaction = await this.createTokenAllowance();\n state.approvalTransaction = transaction;\n }\n return transaction;\n },\n getToAmount() {\n const { sourceTokenDecimals } = this.getParams();\n const decimals = sourceTokenDecimals || 18;\n const multiplier = 10 ** decimals;\n const toTokenConvertedAmount = state.sourceTokenPriceInUSD && state.toTokenPriceInUSD && state.sourceTokenAmount\n ? NumberUtil.bigNumber(state.sourceTokenAmount)\n .multipliedBy(state.sourceTokenPriceInUSD)\n .dividedBy(state.toTokenPriceInUSD)\n : NumberUtil.bigNumber(0);\n return toTokenConvertedAmount.multipliedBy(multiplier).toString();\n },\n async createTokenAllowance() {\n const { fromCaipAddress, fromAddress, sourceTokenAddress, toTokenAddress } = this.getParams();\n if (!fromCaipAddress || !toTokenAddress) {\n return undefined;\n }\n if (!sourceTokenAddress) {\n throw new Error('>>> createTokenAllowance - No source token address found.');\n }\n const response = await BlockchainApiController.generateApproveCalldata({\n projectId: OptionsController.state.projectId,\n from: sourceTokenAddress,\n to: toTokenAddress,\n userAddress: fromCaipAddress\n });\n const gasLimit = await ConnectionController.estimateGas({\n address: fromAddress,\n to: CoreHelperUtil.getPlainAddress(response.tx.to),\n data: response.tx.data\n });\n const toAmount = this.getToAmount();\n const transaction = {\n data: response.tx.data,\n to: CoreHelperUtil.getPlainAddress(response.tx.from),\n gas: gasLimit,\n gasPrice: BigInt(response.tx.eip155.gasPrice),\n value: BigInt(response.tx.value),\n toAmount\n };\n return transaction;\n },\n async sendTransactionForApproval(data) {\n const { fromAddress } = this.getParams();\n state.transactionLoading = true;\n RouterController.pushTransactionStack({\n view: null,\n goBack: true\n });\n try {\n await ConnectionController.sendTransaction({\n address: fromAddress,\n to: data.to,\n data: data.data,\n value: BigInt(data.value),\n gasPrice: BigInt(data.gasPrice)\n });\n state.approvalTransaction = undefined;\n state.transactionLoading = false;\n this.makeChecks();\n }\n catch (err) {\n const error = err;\n state.transactionError = error?.shortMessage;\n state.transactionLoading = false;\n }\n },\n async createConvert() {\n const { networkAddress, fromCaipAddress, sourceTokenAddress, sourceTokenDecimals, sourceTokenAmount, toTokenAddress } = this.getParams();\n if (!fromCaipAddress ||\n !sourceTokenAmount ||\n !sourceTokenAddress ||\n !toTokenAddress ||\n !sourceTokenDecimals) {\n return undefined;\n }\n try {\n const amount = ConnectionController.parseUnits(sourceTokenAmount, sourceTokenDecimals).toString();\n const response = await BlockchainApiController.generateConvertCalldata({\n projectId: OptionsController.state.projectId,\n userAddress: fromCaipAddress,\n from: sourceTokenAddress,\n to: toTokenAddress,\n amount\n });\n const isSourceTokenIsNetworkToken = sourceTokenAddress === networkAddress;\n const toAmount = this.getToAmount();\n const gas = BigInt(response.tx.eip155.gas);\n const gasPrice = BigInt(response.tx.eip155.gasPrice);\n const transaction = {\n data: response.tx.data,\n to: CoreHelperUtil.getPlainAddress(response.tx.to),\n gas,\n gasPrice,\n value: isSourceTokenIsNetworkToken ? BigInt(amount) : BigInt('0'),\n toAmount\n };\n state.gasPriceInUSD = this.calculateGasPriceInUSD(gas, gasPrice);\n return transaction;\n }\n catch (error) {\n return undefined;\n }\n },\n async sendTransactionForConvert(data) {\n if (!data) {\n return undefined;\n }\n const { fromAddress } = this.getParams();\n state.transactionLoading = true;\n RouterController.pushTransactionStack({\n view: 'Account',\n goBack: false,\n onSuccess() {\n ConvertController.resetValues();\n }\n });\n try {\n const transactionHash = await ConnectionController.sendTransaction({\n address: fromAddress,\n to: data.to,\n data: data.data,\n gas: data.gas,\n gasPrice: BigInt(data.gasPrice),\n value: data.value\n });\n state.transactionLoading = false;\n setTimeout(() => {\n this.resetValues();\n this.getMyTokensWithBalance();\n }, 1000);\n return transactionHash;\n }\n catch (err) {\n const error = err;\n state.transactionError = error?.shortMessage;\n state.transactionLoading = false;\n SnackController.showError(error?.shortMessage || 'Transaction error');\n return undefined;\n }\n },\n getToTokenValues(amountBigInt, decimals) {\n const { toTokenAddress } = this.getParams();\n if (!toTokenAddress) {\n return {\n toTokenAmount: '0',\n toTokenPriceInUSD: 0\n };\n }\n const toTokenAmount = NumberUtil.bigNumber(amountBigInt)\n .dividedBy(10 ** decimals)\n .toFixed(20);\n const toTokenPrice = state.tokensPriceMap[toTokenAddress] || '0';\n const toTokenPriceInUSD = NumberUtil.bigNumber(toTokenPrice).toNumber();\n return {\n toTokenAmount,\n toTokenPriceInUSD\n };\n },\n isInsufficientNetworkTokenForGas() {\n return NumberUtil.bigNumber(NumberUtil.bigNumber(state.gasPriceInUSD || '0')).isGreaterThan(state.networkBalanceInUSD);\n },\n setTransactionDetails(transaction) {\n const { toTokenAddress, toTokenDecimals } = this.getParams();\n if (!transaction || !toTokenAddress || !toTokenDecimals) {\n return;\n }\n const insufficientNetworkToken = this.isInsufficientNetworkTokenForGas();\n if (insufficientNetworkToken) {\n state.inputError = 'Insufficient balance';\n }\n else {\n state.inputError = undefined;\n }\n const { toTokenAmount, toTokenPriceInUSD } = this.getToTokenValues(transaction.toAmount, toTokenDecimals);\n state.toTokenAmount = toTokenAmount;\n state.toTokenPriceInUSD = toTokenPriceInUSD;\n state.gasPriceInUSD = this.calculateGasPriceInUSD(transaction.gas, transaction.gasPrice);\n state.priceImpact = this.calculatePriceImpact(state.toTokenAmount, state.gasPriceInUSD);\n state.maxSlippage = this.calculateMaxSlippage();\n }\n};\n//# sourceMappingURL=ConvertController.js.map","import { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { proxy, ref, subscribe as sub } from 'valtio/vanilla';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { BlockchainApiController } from './BlockchainApiController.js';\nimport { SnackController } from './SnackController.js';\nimport { ConvertController } from './ConvertController.js';\nimport { ConvertApiUtil } from '../utils/ConvertApiUtil.js';\nconst state = proxy({\n isConnected: false,\n currentTab: 0,\n tokenBalance: [],\n smartAccountDeployed: false\n});\nexport const AccountController = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n setIsConnected(isConnected) {\n state.isConnected = isConnected;\n },\n setCaipAddress(caipAddress) {\n state.caipAddress = caipAddress;\n state.address = caipAddress ? CoreHelperUtil.getPlainAddress(caipAddress) : undefined;\n },\n setBalance(balance, balanceSymbol) {\n state.balance = balance;\n state.balanceSymbol = balanceSymbol;\n },\n setProfileName(profileName) {\n state.profileName = profileName;\n },\n setProfileImage(profileImage) {\n state.profileImage = profileImage;\n },\n setAddressExplorerUrl(explorerUrl) {\n state.addressExplorerUrl = explorerUrl;\n },\n setSmartAccountDeployed(isDeployed) {\n state.smartAccountDeployed = isDeployed;\n },\n setCurrentTab(currentTab) {\n state.currentTab = currentTab;\n },\n setTokenBalance(tokenBalance) {\n if (tokenBalance) {\n state.tokenBalance = ref(tokenBalance);\n }\n },\n setConnectedWalletInfo(connectedWalletInfo) {\n state.connectedWalletInfo = connectedWalletInfo;\n },\n setPreferredAccountType(preferredAccountType) {\n state.preferredAccountType = preferredAccountType;\n },\n async fetchTokenBalance() {\n try {\n if (state.address) {\n const response = await BlockchainApiController.getBalance(state.address);\n this.setTokenBalance(response.balances);\n ConvertController.setBalances(ConvertApiUtil.mapBalancesToConvertTokens(response.balances));\n }\n }\n catch (error) {\n SnackController.showError('Failed to fetch token balance');\n }\n },\n resetAccount() {\n state.isConnected = false;\n state.smartAccountDeployed = false;\n state.currentTab = 0;\n state.caipAddress = undefined;\n state.address = undefined;\n state.balance = undefined;\n state.balanceSymbol = undefined;\n state.profileName = undefined;\n state.profileImage = undefined;\n state.addressExplorerUrl = undefined;\n state.tokenBalance = [];\n state.connectedWalletInfo = undefined;\n state.preferredAccountType = undefined;\n }\n};\n//# sourceMappingURL=AccountController.js.map","import { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { proxy, subscribe as sub } from 'valtio/vanilla';\nconst state = proxy({\n walletImages: {},\n networkImages: {},\n connectorImages: {},\n tokenImages: {},\n currencyImages: {}\n});\nexport const AssetController = {\n state,\n subscribeNetworkImages(callback) {\n return sub(state.networkImages, () => callback(state.networkImages));\n },\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n setWalletImage(key, value) {\n state.walletImages[key] = value;\n },\n setNetworkImage(key, value) {\n state.networkImages[key] = value;\n },\n setConnectorImage(key, value) {\n state.connectorImages[key] = value;\n },\n setTokenImage(key, value) {\n state.tokenImages[key] = value;\n },\n setCurrencyImage(key, value) {\n state.currencyImages[key] = value;\n }\n};\n//# sourceMappingURL=AssetController.js.map","import { proxy, subscribe as sub, snapshot } from 'valtio/vanilla';\nimport { ConnectorController } from './ConnectorController.js';\nconst state = proxy({\n themeMode: 'dark',\n themeVariables: {}\n});\nexport const ThemeController = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n setThemeMode(themeMode) {\n state.themeMode = themeMode;\n try {\n const emailConnector = ConnectorController.getEmailConnector();\n if (emailConnector) {\n emailConnector.provider.syncTheme({\n themeMode: ThemeController.getSnapshot().themeMode\n });\n }\n }\n catch {\n console.info('Unable to sync theme to email connector');\n }\n },\n setThemeVariables(themeVariables) {\n state.themeVariables = { ...state.themeVariables, ...themeVariables };\n try {\n const emailConnector = ConnectorController.getEmailConnector();\n if (emailConnector) {\n emailConnector.provider.syncTheme({\n themeVariables: ThemeController.getSnapshot().themeVariables\n });\n }\n }\n catch {\n console.info('Unable to sync theme to email connector');\n }\n },\n getSnapshot() {\n return snapshot(state);\n }\n};\n//# sourceMappingURL=ThemeController.js.map","import { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { proxy, ref, snapshot } from 'valtio/vanilla';\nimport { OptionsController } from './OptionsController.js';\nimport { ThemeController } from './ThemeController.js';\nconst state = proxy({\n connectors: []\n});\nexport const ConnectorController = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n setConnectors(connectors) {\n state.connectors = connectors.map(c => ref(c));\n },\n addConnector(connector) {\n state.connectors.push(ref(connector));\n if (connector.id === 'w3mEmail') {\n const emailConnector = connector;\n const optionsState = snapshot(OptionsController.state);\n emailConnector?.provider?.syncDappData?.({\n metadata: optionsState.metadata,\n sdkVersion: optionsState.sdkVersion,\n projectId: optionsState.projectId\n });\n emailConnector.provider.syncTheme({\n themeMode: ThemeController.getSnapshot().themeMode,\n themeVariables: ThemeController.getSnapshot().themeVariables\n });\n }\n },\n getEmailConnector() {\n return state.connectors.find(c => c.type === 'EMAIL');\n },\n getAnnouncedConnectorRdns() {\n return state.connectors.filter(c => c.type === 'ANNOUNCED').map(c => c.info?.rdns);\n },\n getConnectors() {\n return state.connectors;\n },\n getConnector(id, rdns) {\n return state.connectors.find(c => c.explorerId === id || c.info?.rdns === rdns);\n }\n};\n//# sourceMappingURL=ConnectorController.js.map","import { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { proxy } from 'valtio/vanilla';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { FetchUtil } from '../utils/FetchUtil.js';\nimport { StorageUtil } from '../utils/StorageUtil.js';\nimport { AssetController } from './AssetController.js';\nimport { ConnectorController } from './ConnectorController.js';\nimport { NetworkController } from './NetworkController.js';\nimport { OptionsController } from './OptionsController.js';\nconst baseUrl = CoreHelperUtil.getApiUrl();\nexport const api = new FetchUtil({ baseUrl });\nconst entries = '40';\nconst recommendedEntries = '4';\nconst state = proxy({\n page: 1,\n count: 0,\n featured: [],\n recommended: [],\n wallets: [],\n search: [],\n isAnalyticsEnabled: false\n});\nexport const ApiController = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n _getApiHeaders() {\n const { projectId, sdkType, sdkVersion } = OptionsController.state;\n return {\n 'x-project-id': projectId,\n 'x-sdk-type': sdkType,\n 'x-sdk-version': sdkVersion\n };\n },\n async _fetchWalletImage(imageId) {\n const imageUrl = `${api.baseUrl}/getWalletImage/${imageId}`;\n const blob = await api.getBlob({ path: imageUrl, headers: ApiController._getApiHeaders() });\n AssetController.setWalletImage(imageId, URL.createObjectURL(blob));\n },\n async _fetchNetworkImage(imageId) {\n const imageUrl = `${api.baseUrl}/public/getAssetImage/${imageId}`;\n const blob = await api.getBlob({ path: imageUrl, headers: ApiController._getApiHeaders() });\n AssetController.setNetworkImage(imageId, URL.createObjectURL(blob));\n },\n async _fetchConnectorImage(imageId) {\n const imageUrl = `${api.baseUrl}/public/getAssetImage/${imageId}`;\n const blob = await api.getBlob({ path: imageUrl, headers: ApiController._getApiHeaders() });\n AssetController.setConnectorImage(imageId, URL.createObjectURL(blob));\n },\n async _fetchCurrencyImage(countryCode) {\n const imageUrl = `${api.baseUrl}/public/getCurrencyImage/${countryCode}`;\n const blob = await api.getBlob({ path: imageUrl, headers: ApiController._getApiHeaders() });\n AssetController.setCurrencyImage(countryCode, URL.createObjectURL(blob));\n },\n async _fetchTokenImage(symbol) {\n const imageUrl = `${api.baseUrl}/public/getTokenImage/${symbol}`;\n const blob = await api.getBlob({ path: imageUrl, headers: ApiController._getApiHeaders() });\n AssetController.setTokenImage(symbol, URL.createObjectURL(blob));\n },\n async fetchNetworkImages() {\n const { requestedCaipNetworks } = NetworkController.state;\n const ids = requestedCaipNetworks?.map(({ imageId }) => imageId).filter(Boolean);\n if (ids) {\n await Promise.allSettled(ids.map(id => ApiController._fetchNetworkImage(id)));\n }\n },\n async fetchConnectorImages() {\n const { connectors } = ConnectorController.state;\n const ids = connectors.map(({ imageId }) => imageId).filter(Boolean);\n await Promise.allSettled(ids.map(id => ApiController._fetchConnectorImage(id)));\n },\n async fetchCurrencyImages(currencies = []) {\n await Promise.allSettled(currencies.map(currency => ApiController._fetchCurrencyImage(currency)));\n },\n async fetchTokenImages(tokens = []) {\n await Promise.allSettled(tokens.map(token => ApiController._fetchTokenImage(token)));\n },\n async fetchFeaturedWallets() {\n const { featuredWalletIds } = OptionsController.state;\n if (featuredWalletIds?.length) {\n const { data } = await api.get({\n path: '/getWallets',\n headers: ApiController._getApiHeaders(),\n params: {\n page: '1',\n entries: featuredWalletIds?.length\n ? String(featuredWalletIds.length)\n : recommendedEntries,\n include: featuredWalletIds?.join(',')\n }\n });\n data.sort((a, b) => featuredWalletIds.indexOf(a.id) - featuredWalletIds.indexOf(b.id));\n const images = data.map(d => d.image_id).filter(Boolean);\n await Promise.allSettled(images.map(id => ApiController._fetchWalletImage(id)));\n state.featured = data;\n }\n },\n async fetchRecommendedWallets() {\n const { includeWalletIds, excludeWalletIds, featuredWalletIds } = OptionsController.state;\n const exclude = [...(excludeWalletIds ?? []), ...(featuredWalletIds ?? [])].filter(Boolean);\n const { data, count } = await api.get({\n path: '/getWallets',\n headers: ApiController._getApiHeaders(),\n params: {\n page: '1',\n chains: NetworkController.state.caipNetwork?.id,\n entries: recommendedEntries,\n include: includeWalletIds?.join(','),\n exclude: exclude?.join(',')\n }\n });\n const recent = StorageUtil.getRecentWallets();\n const recommendedImages = data.map(d => d.image_id).filter(Boolean);\n const recentImages = recent.map(r => r.image_id).filter(Boolean);\n await Promise.allSettled([...recommendedImages, ...recentImages].map(id => ApiController._fetchWalletImage(id)));\n state.recommended = data;\n state.count = count ?? 0;\n },\n async fetchWallets({ page }) {\n const { includeWalletIds, excludeWalletIds, featuredWalletIds } = OptionsController.state;\n const exclude = [\n ...state.recommended.map(({ id }) => id),\n ...(excludeWalletIds ?? []),\n ...(featuredWalletIds ?? [])\n ].filter(Boolean);\n const { data, count } = await api.get({\n path: '/getWallets',\n headers: ApiController._getApiHeaders(),\n params: {\n page: String(page),\n entries,\n chains: NetworkController.state.caipNetwork?.id,\n include: includeWalletIds?.join(','),\n exclude: exclude.join(',')\n }\n });\n const images = data.map(w => w.image_id).filter(Boolean);\n await Promise.allSettled([\n ...images.map(id => ApiController._fetchWalletImage(id)),\n CoreHelperUtil.wait(300)\n ]);\n state.wallets = [...state.wallets, ...data];\n state.count = count > state.count ? count : state.count;\n state.page = page;\n },\n async searchWallet({ search }) {\n const { includeWalletIds, excludeWalletIds } = OptionsController.state;\n state.search = [];\n const { data } = await api.get({\n path: '/getWallets',\n headers: ApiController._getApiHeaders(),\n params: {\n page: '1',\n entries: '100',\n search,\n chains: NetworkController.state.caipNetwork?.id,\n include: includeWalletIds?.join(','),\n exclude: excludeWalletIds?.join(',')\n }\n });\n const images = data.map(w => w.image_id).filter(Boolean);\n await Promise.allSettled([\n ...images.map(id => ApiController._fetchWalletImage(id)),\n CoreHelperUtil.wait(300)\n ]);\n state.search = data;\n },\n async reFetchWallets() {\n state.page = 1;\n state.wallets = [];\n await ApiController.fetchFeaturedWallets();\n await ApiController.fetchRecommendedWallets();\n },\n prefetch() {\n const promises = [\n ApiController.fetchFeaturedWallets(),\n ApiController.fetchRecommendedWallets(),\n ApiController.fetchNetworkImages(),\n ApiController.fetchConnectorImages()\n ];\n if (OptionsController.state.enableAnalytics === undefined) {\n promises.push(ApiController.fetchAnalyticsConfig());\n }\n state.prefetchPromise = Promise.race([Promise.allSettled(promises), CoreHelperUtil.wait(3000)]);\n },\n async fetchAnalyticsConfig() {\n const { isAnalyticsEnabled } = await api.get({\n path: '/getAnalyticsConfig',\n headers: ApiController._getApiHeaders()\n });\n OptionsController.setEnableAnalytics(isAnalyticsEnabled);\n }\n};\n//# sourceMappingURL=ApiController.js.map","import { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { proxy, subscribe as sub } from 'valtio/vanilla';\nimport { AccountController } from './AccountController.js';\nimport { ApiController } from './ApiController.js';\nimport { EventsController } from './EventsController.js';\nimport { PublicStateController } from './PublicStateController.js';\nimport { RouterController } from './RouterController.js';\nconst state = proxy({\n loading: false,\n open: false\n});\nexport const ModalController = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n async open(options) {\n await ApiController.state.prefetchPromise;\n const connected = AccountController.state.isConnected;\n if (options?.view) {\n RouterController.reset(options.view);\n }\n else if (connected) {\n RouterController.reset('Account');\n }\n else {\n RouterController.reset('Connect');\n }\n state.open = true;\n PublicStateController.set({ open: true });\n EventsController.sendEvent({\n type: 'track',\n event: 'MODAL_OPEN',\n properties: { connected }\n });\n },\n close() {\n const connected = AccountController.state.isConnected;\n state.open = false;\n PublicStateController.set({ open: false });\n EventsController.sendEvent({\n type: 'track',\n event: 'MODAL_CLOSE',\n properties: { connected }\n });\n },\n setLoading(loading) {\n state.loading = loading;\n PublicStateController.set({ loading });\n }\n};\n//# sourceMappingURL=ModalController.js.map","import { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { proxy, subscribe as sub } from 'valtio/vanilla';\nimport { ONRAMP_PROVIDERS } from '../utils/ConstantsUtil.js';\nimport { BlockchainApiController } from './BlockchainApiController.js';\nimport { ApiController } from './ApiController.js';\nexport const USDC_CURRENCY_DEFAULT = {\n id: '2b92315d-eab7-5bef-84fa-089a131333f5',\n name: 'USD Coin',\n symbol: 'USDC',\n networks: [\n {\n name: 'ethereum-mainnet',\n display_name: 'Ethereum',\n chain_id: '1',\n contract_address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'\n },\n {\n name: 'polygon-mainnet',\n display_name: 'Polygon',\n chain_id: '137',\n contract_address: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174'\n }\n ]\n};\nexport const USD_CURRENCY_DEFAULT = {\n id: 'USD',\n payment_method_limits: [\n {\n id: 'card',\n min: '10.00',\n max: '7500.00'\n },\n {\n id: 'ach_bank_account',\n min: '10.00',\n max: '25000.00'\n }\n ]\n};\nconst defaultState = {\n providers: ONRAMP_PROVIDERS,\n selectedProvider: null,\n error: null,\n purchaseCurrency: USDC_CURRENCY_DEFAULT,\n paymentCurrency: USD_CURRENCY_DEFAULT,\n purchaseCurrencies: [USDC_CURRENCY_DEFAULT],\n paymentCurrencies: [],\n quotesLoading: false\n};\nconst state = proxy(defaultState);\nexport const OnRampController = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n setSelectedProvider(provider) {\n state.selectedProvider = provider;\n },\n setPurchaseCurrency(currency) {\n state.purchaseCurrency = currency;\n },\n setPaymentCurrency(currency) {\n state.paymentCurrency = currency;\n },\n setPurchaseAmount(amount) {\n this.state.purchaseAmount = amount;\n },\n setPaymentAmount(amount) {\n this.state.paymentAmount = amount;\n },\n async getAvailableCurrencies() {\n const options = await BlockchainApiController.getOnrampOptions();\n state.purchaseCurrencies = options.purchaseCurrencies;\n state.paymentCurrencies = options.paymentCurrencies;\n state.paymentCurrency = options.paymentCurrencies[0] || USD_CURRENCY_DEFAULT;\n state.purchaseCurrency = options.purchaseCurrencies[0] || USDC_CURRENCY_DEFAULT;\n await ApiController.fetchCurrencyImages(options.paymentCurrencies.map(currency => currency.id));\n await ApiController.fetchTokenImages(options.purchaseCurrencies.map(currency => currency.symbol));\n },\n async getQuote() {\n state.quotesLoading = true;\n try {\n const quote = await BlockchainApiController.getOnrampQuote({\n purchaseCurrency: state.purchaseCurrency,\n paymentCurrency: state.paymentCurrency,\n amount: state.paymentAmount?.toString() || '0',\n network: state.purchaseCurrency?.symbol\n });\n state.quotesLoading = false;\n state.purchaseAmount = Number(quote.purchaseAmount.amount);\n return quote;\n }\n catch (error) {\n state.error = error.message;\n state.quotesLoading = false;\n return null;\n }\n finally {\n state.quotesLoading = false;\n }\n },\n resetState() {\n state.providers = ONRAMP_PROVIDERS;\n state.selectedProvider = null;\n state.error = null;\n state.purchaseCurrency = USDC_CURRENCY_DEFAULT;\n state.paymentCurrency = USD_CURRENCY_DEFAULT;\n state.purchaseCurrencies = [USDC_CURRENCY_DEFAULT];\n state.paymentCurrencies = [];\n state.paymentAmount = undefined;\n state.purchaseAmount = undefined;\n state.quotesLoading = false;\n }\n};\n//# sourceMappingURL=OnRampController.js.map","import { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { proxy, ref, subscribe as sub } from 'valtio/vanilla';\nconst state = proxy({});\nexport const SendController = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n setToken(token) {\n if (token) {\n state.token = ref(token);\n }\n },\n setTokenAmount(sendTokenAmount) {\n state.sendTokenAmount = sendTokenAmount;\n },\n setReceiverAddress(receiverAddress) {\n state.receiverAddress = receiverAddress;\n },\n setReceiverProfileImageUrl(receiverProfileImageUrl) {\n state.receiverProfileImageUrl = receiverProfileImageUrl;\n },\n setReceiverProfileName(receiverProfileName) {\n state.receiverProfileName = receiverProfileName;\n },\n resetSend() {\n state.token = undefined;\n state.sendTokenAmount = undefined;\n state.receiverAddress = undefined;\n state.receiverProfileImageUrl = undefined;\n state.receiverProfileName = undefined;\n }\n};\n//# sourceMappingURL=SendController.js.map","import { AssetController } from '../controllers/AssetController.js';\nexport const AssetUtil = {\n getWalletImage(wallet) {\n if (wallet?.image_url) {\n return wallet?.image_url;\n }\n if (wallet?.image_id) {\n return AssetController.state.walletImages[wallet.image_id];\n }\n return undefined;\n },\n getNetworkImage(network) {\n if (network?.imageUrl) {\n return network?.imageUrl;\n }\n if (network?.imageId) {\n return AssetController.state.networkImages[network.imageId];\n }\n return undefined;\n },\n getConnectorImage(connector) {\n if (connector?.imageUrl) {\n return connector.imageUrl;\n }\n if (connector?.imageId) {\n return AssetController.state.connectorImages[connector.imageId];\n }\n return undefined;\n }\n};\n//# sourceMappingURL=AssetUtil.js.map","import { RouterController } from '../controllers/RouterController.js';\nimport { ModalController } from '../controllers/ModalController.js';\nexport const RouterUtil = {\n goBackOrCloseModal() {\n if (RouterController.state.history.length > 1) {\n RouterController.goBack();\n }\n else {\n ModalController.close();\n }\n },\n navigateAfterNetworkSwitch() {\n const { history } = RouterController.state;\n const networkSelectIndex = history.findIndex(name => name === 'Networks');\n if (networkSelectIndex >= 1) {\n RouterController.goBackToIndex(networkSelectIndex - 1);\n }\n else {\n ModalController.close();\n }\n }\n};\n//# sourceMappingURL=RouterUtil.js.map","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:r,getOwnPropertyNames:h,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),y={attribute:!0,type:String,converter:u,reflect:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=y){if(s.state&&(s.attribute=!1),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);void 0!==r&&e(this.prototype,t,r)}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get(){return e?.call(this)},set(s){const r=e?.call(this);h.call(this,s),this.requestUpdate(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??y}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...h(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$EC(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const r=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==r?this.removeAttribute(e):this.setAttribute(e,r),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),r=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f)(this[t],s))return;this.P(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),!0===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t)!0!==i.wrapped||this._$AL.has(s)||void 0===this[s]||this.P(s,this[s],i)}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EU()}catch(s){throw t=!1,this._$EU(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU()}updated(t){}firstUpdated(t){}}b.elementStyles=[],b.shadowRootOptions={mode:\"open\"},b[d(\"elementProperties\")]=new Map,b[d(\"finalized\")]=new Map,p?.({ReactiveElement:b}),(a.reactiveElementVersions??=[]).push(\"2.0.4\");export{b as ReactiveElement,u as defaultConverter,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=Symbol.for(\"lit-noChange\"),T=Symbol.for(\"lit-nothing\"),A=new WeakMap,E=r.createTreeWalker(r,129);function C(t,i){if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const P=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"\":\"\",c=f;for(let i=0;i\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[C(t,l+(t[s]||\"\")+(2===i?\"\":\"\")),o]};class V{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=P(t,s);if(this.el=V.createElement(f,n),E.currentNode=this.el.content,2===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=E.nextNode())&&d.length0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=T}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=N(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==w,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new M(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{z as _$LH,x as html,w as noChange,T as nothing,j as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as i}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class s extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(i,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return i}}s._$litElement$=!0,s[(\"finalized\",\"finalized\")]=!0,globalThis.litElementHydrateSupport?.({LitElement:s});const r=globalThis.litElementPolyfillSupport;r?.({LitElement:s});const o={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(globalThis.litElementVersions??=[]).push(\"4.0.5\");export{s as LitElement,o as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","import { svg } from 'lit';\nexport const convertInputMaskBottomSvg = svg `\n \n \n \n \n \n`;\n//# sourceMappingURL=convert-input-mask-bottom.js.map","import { svg } from 'lit';\nexport const convertInputMaskTopSvg = svg `\n \n \n \n \n \n`;\n//# sourceMappingURL=convert-input-mask-top.js.map","import { css, unsafeCSS } from 'lit';\nlet themeTag = undefined;\nlet darkModeTag = undefined;\nlet lightModeTag = undefined;\nexport function initializeTheming(themeVariables, themeMode) {\n themeTag = document.createElement('style');\n darkModeTag = document.createElement('style');\n lightModeTag = document.createElement('style');\n themeTag.textContent = createRootStyles(themeVariables).core.cssText;\n darkModeTag.textContent = createRootStyles(themeVariables).dark.cssText;\n lightModeTag.textContent = createRootStyles(themeVariables).light.cssText;\n document.head.appendChild(themeTag);\n document.head.appendChild(darkModeTag);\n document.head.appendChild(lightModeTag);\n setColorTheme(themeMode);\n}\nexport function setColorTheme(themeMode) {\n if (darkModeTag && lightModeTag) {\n if (themeMode === 'light') {\n darkModeTag.removeAttribute('media');\n lightModeTag.media = 'enabled';\n }\n else {\n lightModeTag.removeAttribute('media');\n darkModeTag.media = 'enabled';\n }\n }\n}\nexport function setThemeVariables(themeVariables) {\n if (themeTag && darkModeTag && lightModeTag) {\n themeTag.textContent = createRootStyles(themeVariables).core.cssText;\n darkModeTag.textContent = createRootStyles(themeVariables).dark.cssText;\n lightModeTag.textContent = createRootStyles(themeVariables).light.cssText;\n }\n}\nfunction createRootStyles(themeVariables) {\n return {\n core: css `\n @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');\n :root {\n --w3m-color-mix-strength: ${unsafeCSS(themeVariables?.['--w3m-color-mix-strength']\n ? `${themeVariables['--w3m-color-mix-strength']}%`\n : '0%')};\n --w3m-font-family: ${unsafeCSS(themeVariables?.['--w3m-font-family'] ||\n 'Inter, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;')};\n --w3m-font-size-master: ${unsafeCSS(themeVariables?.['--w3m-font-size-master'] || '10px')};\n --w3m-border-radius-master: ${unsafeCSS(themeVariables?.['--w3m-border-radius-master'] || '4px')};\n --w3m-z-index: ${unsafeCSS(themeVariables?.['--w3m-z-index'] || 999)};\n\n --wui-font-family: var(--w3m-font-family);\n\n --wui-font-size-mini: calc(var(--w3m-font-size-master) * 0.8);\n --wui-font-size-micro: var(--w3m-font-size-master);\n --wui-font-size-tiny: calc(var(--w3m-font-size-master) * 1.2);\n --wui-font-size-small: calc(var(--w3m-font-size-master) * 1.4);\n --wui-font-size-paragraph: calc(var(--w3m-font-size-master) * 1.6);\n --wui-font-size-medium: calc(var(--w3m-font-size-master) * 1.8);\n --wui-font-size-large: calc(var(--w3m-font-size-master) * 2);\n --wui-font-size-medium-title: calc(var(--w3m-font-size-master) * 2.4);\n --wui-font-size-2xl: calc(var(--w3m-font-size-master) * 4);\n\n --wui-border-radius-5xs: var(--w3m-border-radius-master);\n --wui-border-radius-4xs: calc(var(--w3m-border-radius-master) * 1.5);\n --wui-border-radius-3xs: calc(var(--w3m-border-radius-master) * 2);\n --wui-border-radius-xxs: calc(var(--w3m-border-radius-master) * 3);\n --wui-border-radius-xs: calc(var(--w3m-border-radius-master) * 4);\n --wui-border-radius-s: calc(var(--w3m-border-radius-master) * 5);\n --wui-border-radius-m: calc(var(--w3m-border-radius-master) * 7);\n --wui-border-radius-l: calc(var(--w3m-border-radius-master) * 9);\n --wui-border-radius-3xl: calc(var(--w3m-border-radius-master) * 20);\n\n --wui-font-weight-light: 400;\n --wui-font-weight-regular: 500;\n --wui-font-weight-medium: 600;\n --wui-font-weight-bold: 700;\n\n --wui-letter-spacing-2xl: -1.6px;\n --wui-letter-spacing-medium-title: -0.96px;\n --wui-letter-spacing-large: -0.8px;\n --wui-letter-spacing-medium: -0.72px;\n --wui-letter-spacing-paragraph: -0.64px;\n --wui-letter-spacing-small: -0.56px;\n --wui-letter-spacing-tiny: -0.48px;\n --wui-letter-spacing-micro: -0.2px;\n --wui-letter-spacing-mini: -0.16px;\n\n --wui-spacing-0: 0px;\n --wui-spacing-4xs: 2px;\n --wui-spacing-3xs: 4px;\n --wui-spacing-xxs: 6px;\n --wui-spacing-2xs: 7px;\n --wui-spacing-xs: 8px;\n --wui-spacing-1xs: 10px;\n --wui-spacing-s: 12px;\n --wui-spacing-m: 14px;\n --wui-spacing-l: 16px;\n --wui-spacing-2l: 18px;\n --wui-spacing-xl: 20px;\n --wui-spacing-xxl: 24px;\n --wui-spacing-2xl: 32px;\n --wui-spacing-3xl: 40px;\n --wui-spacing-4xl: 90px;\n\n --wui-icon-box-size-xxs: 14px;\n --wui-icon-box-size-xs: 20px;\n --wui-icon-box-size-sm: 24px;\n --wui-icon-box-size-md: 32px;\n --wui-icon-box-size-lg: 40px;\n --wui-icon-box-size-xl: 64px;\n\n --wui-icon-size-inherit: inherit;\n --wui-icon-size-xxs: 10px;\n --wui-icon-size-xs: 12px;\n --wui-icon-size-sm: 14px;\n --wui-icon-size-md: 16px;\n --wui-icon-size-mdl: 18px;\n --wui-icon-size-lg: 20px;\n --wui-icon-size-xl: 24px;\n\n --wui-wallet-image-size-inherit: inherit;\n --wui-wallet-image-size-sm: 40px;\n --wui-wallet-image-size-md: 56px;\n --wui-wallet-image-size-lg: 80px;\n\n --wui-visual-size-size-inherit: inherit;\n --wui-visual-size-sm: 40px;\n --wui-visual-size-md: 55px;\n --wui-visual-size-lg: 80px;\n\n --wui-box-size-md: 100px;\n --wui-box-size-lg: 120px;\n\n --wui-ease-out-power-2: cubic-bezier(0, 0, 0.22, 1);\n --wui-ease-out-power-1: cubic-bezier(0, 0, 0.55, 1);\n\n --wui-ease-in-power-3: cubic-bezier(0.66, 0, 1, 1);\n --wui-ease-in-power-2: cubic-bezier(0.45, 0, 1, 1);\n --wui-ease-in-power-1: cubic-bezier(0.3, 0, 1, 1);\n\n --wui-ease-inout-power-1: cubic-bezier(0.45, 0, 0.55, 1);\n\n --wui-duration-lg: 200ms;\n --wui-duration-md: 125ms;\n --wui-duration-sm: 75ms;\n\n --wui-path-network-sm: path(\n 'M15.4 2.1a5.21 5.21 0 0 1 5.2 0l11.61 6.7a5.21 5.21 0 0 1 2.61 4.52v13.4c0 1.87-1 3.59-2.6 4.52l-11.61 6.7c-1.62.93-3.6.93-5.22 0l-11.6-6.7a5.21 5.21 0 0 1-2.61-4.51v-13.4c0-1.87 1-3.6 2.6-4.52L15.4 2.1Z'\n );\n\n --wui-path-network-md: path(\n 'M43.4605 10.7248L28.0485 1.61089C25.5438 0.129705 22.4562 0.129705 19.9515 1.61088L4.53951 10.7248C2.03626 12.2051 0.5 14.9365 0.5 17.886V36.1139C0.5 39.0635 2.03626 41.7949 4.53951 43.2752L19.9515 52.3891C22.4562 53.8703 25.5438 53.8703 28.0485 52.3891L43.4605 43.2752C45.9637 41.7949 47.5 39.0635 47.5 36.114V17.8861C47.5 14.9365 45.9637 12.2051 43.4605 10.7248Z'\n );\n\n --wui-path-network-lg: path(\n 'M78.3244 18.926L50.1808 2.45078C45.7376 -0.150261 40.2624 -0.150262 35.8192 2.45078L7.6756 18.926C3.23322 21.5266 0.5 26.3301 0.5 31.5248V64.4752C0.5 69.6699 3.23322 74.4734 7.6756 77.074L35.8192 93.5492C40.2624 96.1503 45.7376 96.1503 50.1808 93.5492L78.3244 77.074C82.7668 74.4734 85.5 69.6699 85.5 64.4752V31.5248C85.5 26.3301 82.7668 21.5266 78.3244 18.926Z'\n );\n\n --wui-width-network-sm: 36px;\n --wui-width-network-md: 48px;\n --wui-width-network-lg: 86px;\n\n --wui-height-network-sm: 40px;\n --wui-height-network-md: 54px;\n --wui-height-network-lg: 96px;\n\n --wui-icon-size-network-xs: 12px;\n --wui-icon-size-network-sm: 16px;\n --wui-icon-size-network-md: 24px;\n --wui-icon-size-network-lg: 42px;\n\n --wui-color-inherit: inherit;\n\n --wui-color-inverse-100: #fff;\n --wui-color-inverse-000: #000;\n\n --wui-cover: rgba(20, 20, 20, 0.8);\n\n --wui-color-modal-bg: var(--wui-color-modal-bg-base);\n\n --wui-color-blue-100: var(--wui-color-blue-base-100);\n\n --wui-color-accent-100: var(--wui-color-accent-base-100);\n --wui-color-accent-090: var(--wui-color-accent-base-090);\n --wui-color-accent-080: var(--wui-color-accent-base-080);\n\n --wui-accent-glass-090: var(--wui-accent-glass-base-090);\n --wui-accent-glass-080: var(--wui-accent-glass-base-080);\n --wui-accent-glass-020: var(--wui-accent-glass-base-020);\n --wui-accent-glass-015: var(--wui-accent-glass-base-015);\n --wui-accent-glass-010: var(--wui-accent-glass-base-010);\n --wui-accent-glass-005: var(--wui-accent-glass-base-005);\n --wui-accent-glass-002: var(--wui-accent-glass-base-002);\n\n --wui-color-fg-100: var(--wui-color-fg-base-100);\n --wui-color-fg-125: var(--wui-color-fg-base-125);\n --wui-color-fg-150: var(--wui-color-fg-base-150);\n --wui-color-fg-175: var(--wui-color-fg-base-175);\n --wui-color-fg-200: var(--wui-color-fg-base-200);\n --wui-color-fg-225: var(--wui-color-fg-base-225);\n --wui-color-fg-250: var(--wui-color-fg-base-250);\n --wui-color-fg-275: var(--wui-color-fg-base-275);\n --wui-color-fg-300: var(--wui-color-fg-base-300);\n\n --wui-color-bg-100: var(--wui-color-bg-base-100);\n --wui-color-bg-125: var(--wui-color-bg-base-125);\n --wui-color-bg-150: var(--wui-color-bg-base-150);\n --wui-color-bg-175: var(--wui-color-bg-base-175);\n --wui-color-bg-200: var(--wui-color-bg-base-200);\n --wui-color-bg-225: var(--wui-color-bg-base-225);\n --wui-color-bg-250: var(--wui-color-bg-base-250);\n --wui-color-bg-275: var(--wui-color-bg-base-275);\n --wui-color-bg-300: var(--wui-color-bg-base-300);\n\n --wui-color-success-100: var(--wui-color-success-base-100);\n --wui-color-error-100: var(--wui-color-error-base-100);\n\n --wui-icon-box-bg-error-100: var(--wui-icon-box-bg-error-base-100);\n --wui-icon-box-bg-blue-100: var(--wui-icon-box-bg-blue-base-100);\n --wui-icon-box-bg-success-100: var(--wui-icon-box-bg-success-base-100);\n --wui-icon-box-bg-inverse-100: var(--wui-icon-box-bg-inverse-base-100);\n\n --wui-all-wallets-bg-100: var(--wui-all-wallets-bg-base-100);\n\n --wui-avatar-border: var(--wui-avatar-border-base);\n\n --wui-thumbnail-border: var(--wui-thumbnail-border-base);\n\n --wui-box-shadow-blue: rgba(71, 161, 255, 0.16);\n }\n\n @supports (background: color-mix(in srgb, white 50%, black)) {\n :root {\n --wui-color-modal-bg: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-modal-bg-base)\n );\n\n --wui-box-shadow-blue: color-mix(in srgb, var(--wui-color-accent-100) 16%, transparent);\n\n --wui-color-accent-090: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 90%,\n var(--w3m-default)\n );\n --wui-color-accent-080: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 80%,\n var(--w3m-default)\n );\n\n --wui-color-accent-090: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 90%,\n transparent\n );\n --wui-color-accent-080: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 80%,\n transparent\n );\n\n --wui-accent-glass-090: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 90%,\n transparent\n );\n --wui-accent-glass-080: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 80%,\n transparent\n );\n --wui-accent-glass-020: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 20%,\n transparent\n );\n --wui-accent-glass-015: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 15%,\n transparent\n );\n --wui-accent-glass-010: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 10%,\n transparent\n );\n --wui-accent-glass-005: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 5%,\n transparent\n );\n --wui-color-accent-002: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 2%,\n transparent\n );\n\n --wui-color-fg-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-base-100)\n );\n --wui-color-fg-125: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-base-125)\n );\n --wui-color-fg-150: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-base-150)\n );\n --wui-color-fg-175: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-base-175)\n );\n --wui-color-fg-200: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-base-200)\n );\n --wui-color-fg-225: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-base-225)\n );\n --wui-color-fg-250: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-base-250)\n );\n --wui-color-fg-275: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-base-275)\n );\n --wui-color-fg-300: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-base-300)\n );\n\n --wui-color-bg-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-base-100)\n );\n --wui-color-bg-125: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-base-125)\n );\n --wui-color-bg-150: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-base-150)\n );\n --wui-color-bg-175: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-base-175)\n );\n --wui-color-bg-200: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-base-200)\n );\n --wui-color-bg-225: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-base-225)\n );\n --wui-color-bg-250: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-base-250)\n );\n --wui-color-bg-275: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-base-275)\n );\n --wui-color-bg-300: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-base-300)\n );\n\n --wui-color-success-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-success-base-100)\n );\n --wui-color-error-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-error-base-100)\n );\n\n --wui-icon-box-bg-error-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-icon-box-bg-error-base-100)\n );\n --wui-icon-box-bg-accent-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-icon-box-bg-blue-base-100)\n );\n --wui-icon-box-bg-success-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-icon-box-bg-success-base-100)\n );\n --wui-icon-box-bg-inverse-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-icon-box-bg-inverse-base-100)\n );\n\n --wui-all-wallets-bg-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-all-wallets-bg-base-100)\n );\n\n --wui-avatar-border: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-avatar-border-base)\n );\n\n --wui-thumbnail-border: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-thumbnail-border-base)\n );\n }\n }\n `,\n light: css `\n :root {\n --w3m-color-mix: ${unsafeCSS(themeVariables?.['--w3m-color-mix'] || '#fff')};\n --w3m-accent: ${unsafeCSS(themeVariables?.['--w3m-accent'] || '#47a1ff')};\n --w3m-default: #fff;\n\n --wui-color-modal-bg-base: #191a1a;\n\n --wui-color-blue-base-100: #47a1ff;\n\n --wui-color-accent-base-100: var(--w3m-accent);\n --wui-color-accent-base-090: #59aaff;\n --wui-color-accent-base-080: #6cb4ff;\n\n --wui-accent-glass-base-090: rgba(71, 161, 255, 0.9);\n --wui-accent-glass-base-080: rgba(71, 161, 255, 0.8);\n --wui-accent-glass-base-020: rgba(71, 161, 255, 0.2);\n --wui-accent-glass-base-015: rgba(71, 161, 255, 0.15);\n --wui-accent-glass-base-010: rgba(71, 161, 255, 0.1);\n --wui-accent-glass-base-005: rgba(71, 161, 255, 0.05);\n --wui-accent-glass-base-002: rgba(71, 161, 255, 0.02);\n\n --wui-color-fg-base-100: #e4e7e7;\n --wui-color-fg-base-125: #d0d5d5;\n --wui-color-fg-base-150: #a8b1b1;\n --wui-color-fg-base-175: #a8b0b0;\n --wui-color-fg-base-200: #949e9e;\n --wui-color-fg-base-225: #868f8f;\n --wui-color-fg-base-250: #788080;\n --wui-color-fg-base-275: #788181;\n --wui-color-fg-base-300: #6e7777;\n\n --wui-color-bg-base-100: #141414;\n --wui-color-bg-base-125: #191a1a;\n --wui-color-bg-base-150: #1e1f1f;\n --wui-color-bg-base-175: #222525;\n --wui-color-bg-base-200: #272a2a;\n --wui-color-bg-base-225: #2c3030;\n --wui-color-bg-base-250: #313535;\n --wui-color-bg-base-275: #363b3b;\n --wui-color-bg-base-300: #3b4040;\n\n --wui-color-success-base-100: #26d962;\n --wui-color-error-base-100: #f25a67;\n\n --wui-success-glass-001: rgba(38, 217, 98, 0.01);\n --wui-success-glass-002: rgba(38, 217, 98, 0.02);\n --wui-success-glass-005: rgba(38, 217, 98, 0.05);\n --wui-success-glass-010: rgba(38, 217, 98, 0.1);\n --wui-success-glass-015: rgba(38, 217, 98, 0.15);\n --wui-success-glass-020: rgba(38, 217, 98, 0.2);\n --wui-success-glass-025: rgba(38, 217, 98, 0.25);\n --wui-success-glass-030: rgba(38, 217, 98, 0.3);\n --wui-success-glass-060: rgba(38, 217, 98, 0.6);\n --wui-success-glass-080: rgba(38, 217, 98, 0.8);\n\n --wui-error-glass-001: rgba(242, 90, 103, 0.01);\n --wui-error-glass-002: rgba(242, 90, 103, 0.02);\n --wui-error-glass-005: rgba(242, 90, 103, 0.05);\n --wui-error-glass-010: rgba(242, 90, 103, 0.1);\n --wui-error-glass-015: rgba(242, 90, 103, 0.15);\n --wui-error-glass-020: rgba(242, 90, 103, 0.2);\n --wui-error-glass-025: rgba(242, 90, 103, 0.25);\n --wui-error-glass-030: rgba(242, 90, 103, 0.3);\n --wui-error-glass-060: rgba(242, 90, 103, 0.6);\n --wui-error-glass-080: rgba(242, 90, 103, 0.8);\n\n --wui-icon-box-bg-error-base-100: #3c2426;\n --wui-icon-box-bg-blue-base-100: #20303f;\n --wui-icon-box-bg-success-base-100: #1f3a28;\n --wui-icon-box-bg-inverse-base-100: #243240;\n\n --wui-all-wallets-bg-base-100: #222b35;\n\n --wui-avatar-border-base: #252525;\n\n --wui-thumbnail-border-base: #252525;\n\n --wui-gray-glass-001: rgba(255, 255, 255, 0.01);\n --wui-gray-glass-002: rgba(255, 255, 255, 0.02);\n --wui-gray-glass-005: rgba(255, 255, 255, 0.05);\n --wui-gray-glass-010: rgba(255, 255, 255, 0.1);\n --wui-gray-glass-015: rgba(255, 255, 255, 0.15);\n --wui-gray-glass-020: rgba(255, 255, 255, 0.2);\n --wui-gray-glass-025: rgba(255, 255, 255, 0.25);\n --wui-gray-glass-030: rgba(255, 255, 255, 0.3);\n --wui-gray-glass-060: rgba(255, 255, 255, 0.6);\n --wui-gray-glass-080: rgba(255, 255, 255, 0.8);\n --wui-gray-glass-090: rgba(255, 255, 255, 0.9);\n }\n `,\n dark: css `\n :root {\n --w3m-color-mix: ${unsafeCSS(themeVariables?.['--w3m-color-mix'] || '#000')};\n --w3m-accent: ${unsafeCSS(themeVariables?.['--w3m-accent'] || '#3396ff')};\n --w3m-default: #000;\n\n --wui-color-modal-bg-base: #fff;\n\n --wui-color-blue-base-100: #3396ff;\n\n --wui-color-accent-base-100: var(--w3m-accent);\n --wui-color-accent-base-090: #2d7dd2;\n --wui-color-accent-base-080: #2978cc;\n\n --wui-accent-glass-base-090: rgba(51, 150, 255, 0.9);\n --wui-accent-glass-base-080: rgba(51, 150, 255, 0.8);\n --wui-accent-glass-base-020: rgba(51, 150, 255, 0.2);\n --wui-accent-glass-base-015: rgba(51, 150, 255, 0.15);\n --wui-accent-glass-base-010: rgba(51, 150, 255, 0.1);\n --wui-accent-glass-base-005: rgba(51, 150, 255, 0.05);\n --wui-accent-glass-base-002: rgba(51, 150, 255, 0.02);\n\n --wui-color-fg-base-100: #141414;\n --wui-color-fg-base-125: #2d3131;\n --wui-color-fg-base-150: #474d4d;\n --wui-color-fg-base-175: #636d6d;\n --wui-color-fg-base-200: #798686;\n --wui-color-fg-base-225: #828f8f;\n --wui-color-fg-base-250: #8b9797;\n --wui-color-fg-base-275: #95a0a0;\n --wui-color-fg-base-300: #9ea9a9;\n\n --wui-color-bg-base-100: #ffffff;\n --wui-color-bg-base-125: #f5fafa;\n --wui-color-bg-base-150: #f3f8f8;\n --wui-color-bg-base-175: #eef4f4;\n --wui-color-bg-base-200: #eaf1f1;\n --wui-color-bg-base-225: #e5eded;\n --wui-color-bg-base-250: #e1e9e9;\n --wui-color-bg-base-275: #dce7e7;\n --wui-color-bg-base-300: #d8e3e3;\n\n --wui-color-success-base-100: #26b562;\n --wui-color-error-base-100: #f05142;\n\n --wui-success-glass-001: rgba(38, 181, 98, 0.01);\n --wui-success-glass-002: rgba(38, 181, 98, 0.02);\n --wui-success-glass-005: rgba(38, 181, 98, 0.05);\n --wui-success-glass-010: rgba(38, 181, 98, 0.1);\n --wui-success-glass-015: rgba(38, 181, 98, 0.15);\n --wui-success-glass-020: rgba(38, 181, 98, 0.2);\n --wui-success-glass-025: rgba(38, 181, 98, 0.25);\n --wui-success-glass-030: rgba(38, 181, 98, 0.3);\n --wui-success-glass-060: rgba(38, 181, 98, 0.6);\n --wui-success-glass-080: rgba(38, 181, 98, 0.8);\n\n --wui-error-glass-001: rgba(240, 81, 66, 0.01);\n --wui-error-glass-002: rgba(240, 81, 66, 0.02);\n --wui-error-glass-005: rgba(240, 81, 66, 0.05);\n --wui-error-glass-010: rgba(240, 81, 66, 0.1);\n --wui-error-glass-015: rgba(240, 81, 66, 0.15);\n --wui-error-glass-020: rgba(240, 81, 66, 0.2);\n --wui-error-glass-025: rgba(240, 81, 66, 0.25);\n --wui-error-glass-030: rgba(240, 81, 66, 0.3);\n --wui-error-glass-060: rgba(240, 81, 66, 0.6);\n --wui-error-glass-080: rgba(240, 81, 66, 0.8);\n\n --wui-icon-box-bg-error-base-100: #f4dfdd;\n --wui-icon-box-bg-blue-base-100: #d9ecfb;\n --wui-icon-box-bg-success-base-100: #daf0e4;\n --wui-icon-box-bg-inverse-base-100: #dcecfc;\n\n --wui-all-wallets-bg-base-100: #e8f1fa;\n\n --wui-avatar-border-base: #f3f4f4;\n\n --wui-thumbnail-border-base: #eaefef;\n\n --wui-gray-glass-001: rgba(0, 0, 0, 0.01);\n --wui-gray-glass-002: rgba(0, 0, 0, 0.02);\n --wui-gray-glass-005: rgba(0, 0, 0, 0.05);\n --wui-gray-glass-010: rgba(0, 0, 0, 0.1);\n --wui-gray-glass-015: rgba(0, 0, 0, 0.15);\n --wui-gray-glass-020: rgba(0, 0, 0, 0.2);\n --wui-gray-glass-025: rgba(0, 0, 0, 0.25);\n --wui-gray-glass-030: rgba(0, 0, 0, 0.3);\n --wui-gray-glass-060: rgba(0, 0, 0, 0.6);\n --wui-gray-glass-080: rgba(0, 0, 0, 0.8);\n --wui-gray-glass-090: rgba(0, 0, 0, 0.9);\n }\n `\n };\n}\nexport const resetStyles = css `\n *,\n *::after,\n *::before,\n :host {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n font-style: normal;\n text-rendering: optimizeSpeed;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n -webkit-tap-highlight-color: transparent;\n font-family: var(--wui-font-family);\n backface-visibility: hidden;\n }\n`;\nexport const elementStyles = css `\n button,\n a {\n cursor: pointer;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n transition:\n background-color var(--wui-ease-inout-power-1) var(--wui-duration-md),\n color var(--wui-ease-inout-power-1) var(--wui-duration-md),\n box-shadow var(--wui-ease-inout-power-1) var(--wui-duration-md);\n will-change: background-color, color;\n outline: none;\n border: 1px solid transparent;\n column-gap: var(--wui-spacing-3xs);\n background-color: transparent;\n text-decoration: none;\n }\n\n @media (hover: hover) and (pointer: fine) {\n button:hover:enabled {\n background-color: var(--wui-gray-glass-005);\n }\n\n button:active:enabled {\n background-color: var(--wui-gray-glass-010);\n }\n\n button[data-variant='fill']:hover:enabled {\n background-color: var(--wui-color-accent-090);\n }\n\n button[data-variant='accentBg']:hover:enabled {\n background: var(--wui-accent-glass-015);\n }\n\n button[data-variant='accentBg']:active:enabled {\n background: var(--wui-accent-glass-020);\n }\n }\n\n button:disabled {\n cursor: not-allowed;\n background-color: var(--wui-gray-glass-005);\n }\n\n button[data-variant='shade']:disabled,\n button[data-variant='accent']:disabled,\n button[data-variant='accentBg']:disabled {\n background-color: var(--wui-gray-glass-010);\n color: var(--wui-gray-glass-015);\n filter: grayscale(1);\n }\n\n button:disabled > wui-wallet-image,\n button:disabled > wui-all-wallets-image,\n button:disabled > wui-network-image,\n button:disabled > wui-image,\n button:disabled > wui-icon-box,\n button:disabled > wui-transaction-visual,\n button:disabled > wui-logo {\n filter: grayscale(1);\n }\n\n button:focus-visible,\n a:focus-visible {\n border: 1px solid var(--wui-color-accent-100);\n background-color: var(--wui-gray-glass-005);\n -webkit-box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n -moz-box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n }\n\n button[data-variant='fill']:focus-visible {\n background-color: var(--wui-color-accent-090);\n }\n\n button[data-variant='fill'] {\n color: var(--wui-color-inverse-100);\n background-color: var(--wui-color-accent-100);\n }\n\n button[data-variant='fill']:disabled {\n color: var(--wui-gray-glass-015);\n background-color: var(--wui-gray-glass-015);\n }\n\n button[data-variant='fill']:disabled > wui-icon {\n color: var(--wui-gray-glass-015);\n }\n\n button[data-variant='shade'] {\n color: var(--wui-color-fg-200);\n }\n\n button[data-variant='accent'],\n button[data-variant='accentBg'] {\n color: var(--wui-color-accent-100);\n }\n\n button[data-variant='accentBg'] {\n background: var(--wui-accent-glass-010);\n border: 1px solid var(--wui-accent-glass-010);\n }\n\n button[data-variant='fullWidth'] {\n width: 100%;\n border-radius: var(--wui-border-radius-xs);\n height: 56px;\n border: none;\n background-color: var(--wui-gray-glass-002);\n color: var(--wui-color-fg-200);\n gap: var(--wui-spacing-xs);\n }\n\n button:active:enabled {\n background-color: var(--wui-gray-glass-010);\n }\n\n button[data-variant='fill']:active:enabled {\n background-color: var(--wui-color-accent-080);\n border: 1px solid var(--wui-gray-glass-010);\n }\n\n input {\n border: none;\n outline: none;\n appearance: none;\n }\n`;\nexport const colorStyles = css `\n .wui-color-inherit {\n color: var(--wui-color-inherit);\n }\n\n .wui-color-accent-100 {\n color: var(--wui-color-accent-100);\n }\n\n .wui-color-error-100 {\n color: var(--wui-color-error-100);\n }\n\n .wui-color-success-100 {\n color: var(--wui-color-success-100);\n }\n\n .wui-color-inverse-100 {\n color: var(--wui-color-inverse-100);\n }\n\n .wui-color-inverse-000 {\n color: var(--wui-color-inverse-000);\n }\n\n .wui-color-fg-100 {\n color: var(--wui-color-fg-100);\n }\n\n .wui-color-fg-200 {\n color: var(--wui-color-fg-200);\n }\n\n .wui-color-fg-300 {\n color: var(--wui-color-fg-300);\n }\n\n .wui-bg-color-inherit {\n background-color: var(--wui-color-inherit);\n }\n\n .wui-bg-color-blue-100 {\n background-color: var(--wui-color-accent-100);\n }\n\n .wui-bg-color-error-100 {\n background-color: var(--wui-color-error-100);\n }\n\n .wui-bg-color-success-100 {\n background-color: var(--wui-color-success-100);\n }\n\n .wui-bg-color-inverse-100 {\n background-color: var(--wui-color-inverse-100);\n }\n\n .wui-bg-color-inverse-000 {\n background-color: var(--wui-color-inverse-000);\n }\n\n .wui-bg-color-fg-100 {\n background-color: var(--wui-color-fg-100);\n }\n\n .wui-bg-color-fg-200 {\n background-color: var(--wui-color-fg-200);\n }\n\n .wui-bg-color-fg-300 {\n background-color: var(--wui-color-fg-300);\n }\n`;\n//# sourceMappingURL=ThemeUtil.js.map","function standardCustomElement(tagName, descriptor) {\n const { kind, elements } = descriptor;\n return {\n kind,\n elements,\n finisher(clazz) {\n if (!customElements.get(tagName)) {\n customElements.define(tagName, clazz);\n }\n }\n };\n}\nfunction legacyCustomElement(tagName, clazz) {\n if (!customElements.get(tagName)) {\n customElements.define(tagName, clazz);\n }\n return clazz;\n}\nexport function customElement(tagName) {\n return function create(classOrDescriptor) {\n return typeof classOrDescriptor === 'function'\n ? legacyCustomElement(tagName, classOrDescriptor)\n : standardCustomElement(tagName, classOrDescriptor);\n };\n}\n//# sourceMappingURL=WebComponentsUtil.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n border-radius: clamp(0px, var(--wui-border-radius-l), 44px);\n box-shadow: 0 0 0 1px var(--wui-gray-glass-005);\n background-color: var(--wui-color-modal-bg);\n overflow: hidden;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html } from 'lit';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiCard = class WuiCard extends LitElement {\n render() {\n return html ``;\n }\n};\nWuiCard.styles = [resetStyles, styles];\nWuiCard = __decorate([\n customElement('wui-card')\n], WuiCard);\nexport { WuiCard };\n//# sourceMappingURL=index.js.map","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.P(o,void 0,t),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,r?{...t,wrapped:!0}:t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","import { css } from 'lit';\nexport default css `\n :host {\n display: flex;\n aspect-ratio: 1 / 1;\n color: var(--local-color);\n width: var(--local-width);\n }\n\n svg {\n width: inherit;\n height: inherit;\n object-fit: contain;\n object-position: center;\n }\n`;\n//# sourceMappingURL=styles.js.map","import { svg } from 'lit';\nexport const allWalletsSvg = svg `\n \n`;\n//# sourceMappingURL=all-wallets.js.map","import { svg } from 'lit';\nexport const arrowBottomCircleSvg = svg `\n `;\n//# sourceMappingURL=arrow-bottom-circle.js.map","import { svg } from 'lit';\nexport const appStoreSvg = svg `\n\n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=app-store.js.map","import { svg } from 'lit';\nexport const appleSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=apple.js.map","import { svg } from 'lit';\nexport const arrowBottomSvg = svg `\n \n`;\n//# sourceMappingURL=arrow-bottom.js.map","import { svg } from 'lit';\nexport const arrowLeftSvg = svg `\n \n`;\n//# sourceMappingURL=arrow-left.js.map","import { svg } from 'lit';\nexport const arrowRightSvg = svg `\n \n`;\n//# sourceMappingURL=arrow-right.js.map","import { svg } from 'lit';\nexport const arrowTopSvg = svg `\n \n`;\n//# sourceMappingURL=arrow-top.js.map","import { svg } from 'lit';\nexport const browserSvg = svg `\n \n \n`;\n//# sourceMappingURL=browser.js.map","import { svg } from 'lit';\nexport const checkmarkSvg = svg `\n `;\n//# sourceMappingURL=checkmark.js.map","import { svg } from 'lit';\nexport const chevronBottomSvg = svg `\n \n`;\n//# sourceMappingURL=chevron-bottom.js.map","import { svg } from 'lit';\nexport const chevronLeftSvg = svg `\n \n`;\n//# sourceMappingURL=chevron-left.js.map","import { svg } from 'lit';\nexport const chevronRightSvg = svg `\n \n`;\n//# sourceMappingURL=chevron-right.js.map","import { svg } from 'lit';\nexport const chevronTopSvg = svg `\n \n`;\n//# sourceMappingURL=chevron-top.js.map","import { svg } from 'lit';\nexport const chromeStoreSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=chrome-store.js.map","import { svg } from 'lit';\nexport const clockSvg = svg `\n \n`;\n//# sourceMappingURL=clock.js.map","import { svg } from 'lit';\nexport const closeSvg = svg `\n \n`;\n//# sourceMappingURL=close.js.map","import { svg } from 'lit';\nexport const coinPlaceholderSvg = svg `\n \n`;\n//# sourceMappingURL=coinPlaceholder.js.map","import { svg } from 'lit';\nexport const compassSvg = svg `\n \n`;\n//# sourceMappingURL=compass.js.map","import { svg } from 'lit';\nexport const copySvg = svg `\n `;\n//# sourceMappingURL=copy.js.map","import { svg } from 'lit';\nexport const addSvg = svg `\n `;\n//# sourceMappingURL=add.js.map","import { svg } from 'lit';\nexport const cursorSvg = svg ` \n \n`;\n//# sourceMappingURL=cursor.js.map","import { svg } from 'lit';\nexport const desktopSvg = svg `\n \n \n`;\n//# sourceMappingURL=desktop.js.map","import { svg } from 'lit';\nexport const disconnectSvg = svg `\n \n`;\n//# sourceMappingURL=disconnect.js.map","import { svg } from 'lit';\nexport const discordSvg = svg `\n \n \n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=discord.js.map","import { svg } from 'lit';\nexport const etherscanSvg = svg `\n \n`;\n//# sourceMappingURL=etherscan.js.map","import { svg } from 'lit';\nexport const extensionSvg = svg `\n \n`;\n//# sourceMappingURL=extension.js.map","import { svg } from 'lit';\nexport const externalLinkSvg = svg `\n \n`;\n//# sourceMappingURL=external-link.js.map","import { svg } from 'lit';\nexport const facebookSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=facebook.js.map","import { svg } from 'lit';\nexport const filtersSvg = svg `\n \n`;\n//# sourceMappingURL=filters.js.map","import { svg } from 'lit';\nexport const githubSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=github.js.map","import { svg } from 'lit';\nexport const googleSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=google.js.map","import { svg } from 'lit';\nexport const helpCircleSvg = svg `\n \n \n`;\n//# sourceMappingURL=help-circle.js.map","import { svg } from 'lit';\nexport const infoCircleSvg = svg `\n \n \n`;\n//# sourceMappingURL=info-circle.js.map","import { svg } from 'lit';\nexport const mailSvg = svg `\n \n`;\n//# sourceMappingURL=mail.js.map","import { svg } from 'lit';\nexport const mobileSvg = svg `\n \n \n`;\n//# sourceMappingURL=mobile.js.map","import { svg } from 'lit';\nexport const networkPlaceholderSvg = svg `\n \n \n`;\n//# sourceMappingURL=network-placeholder.js.map","import { svg } from 'lit';\nexport const nftPlaceholderSvg = svg `\n \n`;\n//# sourceMappingURL=nftPlaceholder.js.map","import { svg } from 'lit';\nexport const offSvg = svg `\n \n`;\n//# sourceMappingURL=off.js.map","import { svg } from 'lit';\nexport const playStoreSvg = svg ` \n \n \n \n \n \n \n`;\n//# sourceMappingURL=play-store.js.map","import { svg } from 'lit';\nexport const qrCodeIcon = svg `\n \n`;\n//# sourceMappingURL=qr-code.js.map","import { svg } from 'lit';\nexport const refreshSvg = svg `\n \n`;\n//# sourceMappingURL=refresh.js.map","import { svg } from 'lit';\nexport const searchSvg = svg `\n \n`;\n//# sourceMappingURL=search.js.map","import { svg } from 'lit';\nexport const sendSvg = svg `\n \n `;\n//# sourceMappingURL=send.js.map","import { svg } from 'lit';\nexport const swapHorizontalSvg = svg `\n \n`;\n//# sourceMappingURL=swapHorizontal.js.map","import { svg } from 'lit';\nexport const swapHorizontalBoldSvg = svg `\n \n`;\n//# sourceMappingURL=swapHorizontalBold.js.map","import { svg } from 'lit';\nexport const swapHorizontalMediumSvg = svg `\n \n\n\n`;\n//# sourceMappingURL=swapHorizontalMedium.js.map","import { svg } from 'lit';\nexport const swapHorizontalRoundedBoldSvg = svg `\n \n`;\n//# sourceMappingURL=swapHorizontalRoundedBold.js.map","import { svg } from 'lit';\nexport const swapVerticalSvg = svg `\n \n`;\n//# sourceMappingURL=swapVertical.js.map","import { svg } from 'lit';\nexport const telegramSvg = svg `\n \n \n \n \n \n \n \n \n \n \n `;\n//# sourceMappingURL=telegram.js.map","import { svg } from 'lit';\nexport const twitchSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=twitch.js.map","import { svg } from 'lit';\nexport const twitterSvg = svg `\n \n \n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=twitter.js.map","import { svg } from 'lit';\nexport const twitterIconSvg = svg `\n \n`;\n//# sourceMappingURL=twitterIcon.js.map","import { svg } from 'lit';\nexport const verifySvg = svg `\n \n`;\n//# sourceMappingURL=verify.js.map","import { svg } from 'lit';\nexport const verifyFilledSvg = svg `\n \n`;\n//# sourceMappingURL=verify-filled.js.map","import { svg } from 'lit';\nexport const walletPlaceholderSvg = svg `\n \n \n \n \n`;\n//# sourceMappingURL=wallet-placeholder.js.map","import { svg } from 'lit';\nexport const walletSvg = svg `\n \n`;\n//# sourceMappingURL=wallet.js.map","import { svg } from 'lit';\nexport const walletConnectSvg = svg `\n \n \n`;\n//# sourceMappingURL=walletconnect.js.map","import { svg } from 'lit';\nexport const warningCircleSvg = svg `\n \n \n`;\n//# sourceMappingURL=warning-circle.js.map","import { svg } from 'lit';\nexport const recycleHorizontalSvg = svg `\n `;\n//# sourceMappingURL=recycle-horizontal.js.map","import { svg } from 'lit';\nexport const bankSvg = svg `\n `;\n//# sourceMappingURL=bank.js.map","import { svg } from 'lit';\nexport const cardSvg = svg `\n `;\n//# sourceMappingURL=card.js.map","import { svg } from 'lit';\nexport const plusSvg = svg `\n `;\n//# sourceMappingURL=plus.js.map","import { svg } from 'lit';\nexport const cursorTransparentSvg = svg `\n \n \n \n `;\n//# sourceMappingURL=cursor-transparent.js.map","import { svg } from 'lit';\nexport const checkmarkBoldSvg = svg `\n \n`;\n//# sourceMappingURL=checkmark-bold.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { colorStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nimport { allWalletsSvg } from '../../assets/svg/all-wallets.js';\nimport { arrowBottomCircleSvg } from '../../assets/svg/arrow-bottom-circle.js';\nimport { appStoreSvg } from '../../assets/svg/app-store.js';\nimport { appleSvg } from '../../assets/svg/apple.js';\nimport { arrowBottomSvg } from '../../assets/svg/arrow-bottom.js';\nimport { arrowLeftSvg } from '../../assets/svg/arrow-left.js';\nimport { arrowRightSvg } from '../../assets/svg/arrow-right.js';\nimport { arrowTopSvg } from '../../assets/svg/arrow-top.js';\nimport { browserSvg } from '../../assets/svg/browser.js';\nimport { checkmarkSvg } from '../../assets/svg/checkmark.js';\nimport { chevronBottomSvg } from '../../assets/svg/chevron-bottom.js';\nimport { chevronLeftSvg } from '../../assets/svg/chevron-left.js';\nimport { chevronRightSvg } from '../../assets/svg/chevron-right.js';\nimport { chevronTopSvg } from '../../assets/svg/chevron-top.js';\nimport { chromeStoreSvg } from '../../assets/svg/chrome-store.js';\nimport { clockSvg } from '../../assets/svg/clock.js';\nimport { closeSvg } from '../../assets/svg/close.js';\nimport { coinPlaceholderSvg } from '../../assets/svg/coinPlaceholder.js';\nimport { compassSvg } from '../../assets/svg/compass.js';\nimport { copySvg } from '../../assets/svg/copy.js';\nimport { addSvg } from '../../assets/svg/add.js';\nimport { cursorSvg } from '../../assets/svg/cursor.js';\nimport { desktopSvg } from '../../assets/svg/desktop.js';\nimport { disconnectSvg } from '../../assets/svg/disconnect.js';\nimport { discordSvg } from '../../assets/svg/discord.js';\nimport { etherscanSvg } from '../../assets/svg/etherscan.js';\nimport { extensionSvg } from '../../assets/svg/extension.js';\nimport { externalLinkSvg } from '../../assets/svg/external-link.js';\nimport { facebookSvg } from '../../assets/svg/facebook.js';\nimport { filtersSvg } from '../../assets/svg/filters.js';\nimport { githubSvg } from '../../assets/svg/github.js';\nimport { googleSvg } from '../../assets/svg/google.js';\nimport { helpCircleSvg } from '../../assets/svg/help-circle.js';\nimport { infoCircleSvg } from '../../assets/svg/info-circle.js';\nimport { mailSvg } from '../../assets/svg/mail.js';\nimport { mobileSvg } from '../../assets/svg/mobile.js';\nimport { networkPlaceholderSvg } from '../../assets/svg/network-placeholder.js';\nimport { nftPlaceholderSvg } from '../../assets/svg/nftPlaceholder.js';\nimport { offSvg } from '../../assets/svg/off.js';\nimport { playStoreSvg } from '../../assets/svg/play-store.js';\nimport { qrCodeIcon } from '../../assets/svg/qr-code.js';\nimport { refreshSvg } from '../../assets/svg/refresh.js';\nimport { searchSvg } from '../../assets/svg/search.js';\nimport { sendSvg } from '../../assets/svg/send.js';\nimport { swapHorizontalSvg } from '../../assets/svg/swapHorizontal.js';\nimport { swapHorizontalBoldSvg } from '../../assets/svg/swapHorizontalBold.js';\nimport { swapHorizontalMediumSvg } from '../../assets/svg/swapHorizontalMedium.js';\nimport { swapHorizontalRoundedBoldSvg } from '../../assets/svg/swapHorizontalRoundedBold.js';\nimport { swapVerticalSvg } from '../../assets/svg/swapVertical.js';\nimport { telegramSvg } from '../../assets/svg/telegram.js';\nimport { twitchSvg } from '../../assets/svg/twitch.js';\nimport { twitterSvg } from '../../assets/svg/twitter.js';\nimport { twitterIconSvg } from '../../assets/svg/twitterIcon.js';\nimport { verifySvg } from '../../assets/svg/verify.js';\nimport { verifyFilledSvg } from '../../assets/svg/verify-filled.js';\nimport { walletPlaceholderSvg } from '../../assets/svg/wallet-placeholder.js';\nimport { walletSvg } from '../../assets/svg/wallet.js';\nimport { walletConnectSvg } from '../../assets/svg/walletconnect.js';\nimport { warningCircleSvg } from '../../assets/svg/warning-circle.js';\nimport { recycleHorizontalSvg } from '../../assets/svg/recycle-horizontal.js';\nimport { bankSvg } from '../../assets/svg/bank.js';\nimport { cardSvg } from '../../assets/svg/card.js';\nimport { plusSvg } from '../../assets/svg/plus.js';\nimport { cursorTransparentSvg } from '../../assets/svg/cursor-transparent.js';\nimport { checkmarkBoldSvg } from '../../assets/svg/checkmark-bold.js';\nconst svgOptions = {\n add: addSvg,\n allWallets: allWalletsSvg,\n arrowBottomCircle: arrowBottomCircleSvg,\n appStore: appStoreSvg,\n apple: appleSvg,\n arrowBottom: arrowBottomSvg,\n arrowLeft: arrowLeftSvg,\n arrowRight: arrowRightSvg,\n arrowTop: arrowTopSvg,\n bank: bankSvg,\n browser: browserSvg,\n card: cardSvg,\n checkmark: checkmarkSvg,\n checkmarkBold: checkmarkBoldSvg,\n chevronBottom: chevronBottomSvg,\n chevronLeft: chevronLeftSvg,\n chevronRight: chevronRightSvg,\n chevronTop: chevronTopSvg,\n chromeStore: chromeStoreSvg,\n clock: clockSvg,\n close: closeSvg,\n compass: compassSvg,\n coinPlaceholder: coinPlaceholderSvg,\n copy: copySvg,\n cursor: cursorSvg,\n cursorTransparent: cursorTransparentSvg,\n desktop: desktopSvg,\n disconnect: disconnectSvg,\n discord: discordSvg,\n etherscan: etherscanSvg,\n extension: extensionSvg,\n externalLink: externalLinkSvg,\n facebook: facebookSvg,\n filters: filtersSvg,\n github: githubSvg,\n google: googleSvg,\n helpCircle: helpCircleSvg,\n infoCircle: infoCircleSvg,\n mail: mailSvg,\n mobile: mobileSvg,\n networkPlaceholder: networkPlaceholderSvg,\n nftPlaceholder: nftPlaceholderSvg,\n off: offSvg,\n playStore: playStoreSvg,\n plus: plusSvg,\n qrCode: qrCodeIcon,\n recycleHorizontal: recycleHorizontalSvg,\n refresh: refreshSvg,\n search: searchSvg,\n send: sendSvg,\n swapHorizontal: swapHorizontalSvg,\n swapHorizontalMedium: swapHorizontalMediumSvg,\n swapHorizontalBold: swapHorizontalBoldSvg,\n swapHorizontalRoundedBold: swapHorizontalRoundedBoldSvg,\n swapVertical: swapVerticalSvg,\n telegram: telegramSvg,\n twitch: twitchSvg,\n twitter: twitterSvg,\n twitterIcon: twitterIconSvg,\n verify: verifySvg,\n verifyFilled: verifyFilledSvg,\n wallet: walletSvg,\n walletConnect: walletConnectSvg,\n walletPlaceholder: walletPlaceholderSvg,\n warningCircle: warningCircleSvg\n};\nlet WuiIcon = class WuiIcon extends LitElement {\n constructor() {\n super(...arguments);\n this.size = 'md';\n this.name = 'copy';\n this.color = 'fg-300';\n }\n render() {\n this.style.cssText = `\n --local-color: ${`var(--wui-color-${this.color});`}\n --local-width: ${`var(--wui-icon-size-${this.size});`}\n `;\n return html `${svgOptions[this.name]}`;\n }\n};\nWuiIcon.styles = [resetStyles, colorStyles, styles];\n__decorate([\n property()\n], WuiIcon.prototype, \"size\", void 0);\n__decorate([\n property()\n], WuiIcon.prototype, \"name\", void 0);\n__decorate([\n property()\n], WuiIcon.prototype, \"color\", void 0);\nWuiIcon = __decorate([\n customElement('wui-icon')\n], WuiIcon);\nexport { WuiIcon };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n width: var(--local-width);\n height: var(--local-height);\n }\n\n img {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center center;\n border-radius: inherit;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { colorStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiImage = class WuiImage extends LitElement {\n constructor() {\n super(...arguments);\n this.src = './path/to/image.jpg';\n this.alt = 'Image';\n this.size = undefined;\n }\n render() {\n this.style.cssText = `\n --local-width: ${this.size ? `var(--wui-icon-size-${this.size});` : '100%'};\n --local-height: ${this.size ? `var(--wui-icon-size-${this.size});` : '100%'};\n `;\n return html `${this.alt}`;\n }\n};\nWuiImage.styles = [resetStyles, colorStyles, styles];\n__decorate([\n property()\n], WuiImage.prototype, \"src\", void 0);\n__decorate([\n property()\n], WuiImage.prototype, \"alt\", void 0);\n__decorate([\n property()\n], WuiImage.prototype, \"size\", void 0);\nWuiImage = __decorate([\n customElement('wui-image')\n], WuiImage);\nexport { WuiImage };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n width: var(--wui-box-size-lg);\n height: var(--wui-box-size-lg);\n }\n\n svg {\n width: var(--wui-box-size-lg);\n height: var(--wui-box-size-lg);\n fill: none;\n stroke: transparent;\n stroke-linecap: round;\n }\n\n use {\n stroke: var(--wui-color-accent-100);\n stroke-width: 2px;\n stroke-dasharray: 54, 118;\n stroke-dashoffset: 172;\n animation: dash 1s linear infinite;\n }\n\n @keyframes dash {\n to {\n stroke-dashoffset: 0px;\n }\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiLoadingHexagon = class WuiLoadingHexagon extends LitElement {\n render() {\n return html `\n \n \n \n \n `;\n }\n};\nWuiLoadingHexagon.styles = [resetStyles, styles];\nWuiLoadingHexagon = __decorate([\n customElement('wui-loading-hexagon')\n], WuiLoadingHexagon);\nexport { WuiLoadingHexagon };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: flex;\n }\n\n :host([data-size='sm']) > svg {\n width: 12px;\n height: 12px;\n }\n\n :host([data-size='md']) > svg {\n width: 16px;\n height: 16px;\n }\n\n :host([data-size='lg']) > svg {\n width: 24px;\n height: 24px;\n }\n\n :host([data-size='xl']) > svg {\n width: 32px;\n height: 32px;\n }\n\n svg {\n animation: rotate 2s linear infinite;\n }\n\n circle {\n fill: none;\n stroke: var(--local-color);\n stroke-width: 4px;\n stroke-dasharray: 1, 124;\n stroke-dashoffset: 0;\n stroke-linecap: round;\n animation: dash 1.5s ease-in-out infinite;\n }\n\n :host([data-size='md']) > svg > circle {\n stroke-width: 6px;\n }\n\n :host([data-size='sm']) > svg > circle {\n stroke-width: 8px;\n }\n\n @keyframes rotate {\n 100% {\n transform: rotate(360deg);\n }\n }\n\n @keyframes dash {\n 0% {\n stroke-dasharray: 1, 124;\n stroke-dashoffset: 0;\n }\n\n 50% {\n stroke-dasharray: 90, 124;\n stroke-dashoffset: -35;\n }\n\n 100% {\n stroke-dashoffset: -125;\n }\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiLoadingSpinner = class WuiLoadingSpinner extends LitElement {\n constructor() {\n super(...arguments);\n this.color = 'accent-100';\n this.size = 'lg';\n }\n render() {\n this.style.cssText = `--local-color: var(--wui-color-${this.color});`;\n this.dataset['size'] = this.size;\n return html `\n \n `;\n }\n};\nWuiLoadingSpinner.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiLoadingSpinner.prototype, \"color\", void 0);\n__decorate([\n property()\n], WuiLoadingSpinner.prototype, \"size\", void 0);\nWuiLoadingSpinner = __decorate([\n customElement('wui-loading-spinner')\n], WuiLoadingSpinner);\nexport { WuiLoadingSpinner };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n width: var(--wui-box-size-md);\n height: var(--wui-box-size-md);\n }\n\n svg {\n width: var(--wui-box-size-md);\n height: var(--wui-box-size-md);\n }\n\n rect {\n fill: none;\n stroke: var(--wui-color-accent-100);\n stroke-width: 4px;\n stroke-linecap: round;\n animation: dash 1s linear infinite;\n }\n\n @keyframes dash {\n to {\n stroke-dashoffset: 0px;\n }\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiLoadingThumbnail = class WuiLoadingThumbnail extends LitElement {\n constructor() {\n super(...arguments);\n this.radius = 36;\n }\n render() {\n return this.svgLoaderTemplate();\n }\n svgLoaderTemplate() {\n const radius = this.radius > 50 ? 50 : this.radius;\n const standardValue = 36;\n const radiusFactor = standardValue - radius;\n const dashArrayStart = 116 + radiusFactor;\n const dashArrayEnd = 245 + radiusFactor;\n const dashOffset = 360 + radiusFactor * 1.75;\n return html `\n \n \n \n `;\n }\n};\nWuiLoadingThumbnail.styles = [resetStyles, styles];\n__decorate([\n property({ type: Number })\n], WuiLoadingThumbnail.prototype, \"radius\", void 0);\nWuiLoadingThumbnail = __decorate([\n customElement('wui-loading-thumbnail')\n], WuiLoadingThumbnail);\nexport { WuiLoadingThumbnail };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-005);\n background: linear-gradient(\n 120deg,\n var(--wui-color-bg-200) 5%,\n var(--wui-color-bg-200) 48%,\n var(--wui-color-bg-300) 55%,\n var(--wui-color-bg-300) 60%,\n var(--wui-color-bg-300) calc(60% + 10px),\n var(--wui-color-bg-200) calc(60% + 12px),\n var(--wui-color-bg-200) 100%\n );\n background-size: 250%;\n animation: shimmer 3s linear infinite reverse;\n }\n\n @keyframes shimmer {\n from {\n background-position: -250% 0;\n }\n to {\n background-position: 250% 0;\n }\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiShimmer = class WuiShimmer extends LitElement {\n constructor() {\n super(...arguments);\n this.width = '';\n this.height = '';\n this.borderRadius = 'm';\n }\n render() {\n this.style.cssText = `\n width: ${this.width};\n height: ${this.height};\n border-radius: ${`clamp(0px,var(--wui-border-radius-${this.borderRadius}), 40px)`};\n `;\n return html ``;\n }\n};\nWuiShimmer.styles = [styles];\n__decorate([\n property()\n], WuiShimmer.prototype, \"width\", void 0);\n__decorate([\n property()\n], WuiShimmer.prototype, \"height\", void 0);\n__decorate([\n property()\n], WuiShimmer.prototype, \"borderRadius\", void 0);\nWuiShimmer = __decorate([\n customElement('wui-shimmer')\n], WuiShimmer);\nexport { WuiShimmer };\n//# sourceMappingURL=index.js.map","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{noChange as t}from\"../lit-html.js\";import{directive as s,Directive as i,PartType as r}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=s(class extends i{constructor(t){if(super(t),t.type!==r.ATTRIBUTE||\"class\"!==t.name||t.strings?.length>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter((s=>t[s])).join(\" \")+\" \"}update(s,[i]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(\" \").split(/\\s/).filter((t=>\"\"!==t))));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)))}return t}});export{e as classMap};\n//# sourceMappingURL=class-map.js.map\n","import { css } from 'lit';\nexport default css `\n :host {\n display: inline-flex !important;\n }\n\n slot {\n width: 100%;\n display: inline-block;\n font-style: normal;\n font-family: var(--wui-font-family);\n font-feature-settings:\n 'tnum' on,\n 'lnum' on,\n 'case' on;\n line-height: 130%;\n font-weight: var(--wui-font-weight-regular);\n overflow: inherit;\n text-overflow: inherit;\n text-align: var(--local-align);\n color: var(--local-color);\n }\n\n .wui-font-medium-400 {\n font-size: var(--wui-font-size-medium);\n font-weight: var(--wui-font-weight-light);\n letter-spacing: var(--wui-letter-spacing-medium);\n }\n\n .wui-font-medium-600 {\n font-size: var(--wui-font-size-medium);\n letter-spacing: var(--wui-letter-spacing-medium);\n }\n\n .wui-font-medium-title-600 {\n font-size: var(--wui-font-size-medium-title);\n letter-spacing: var(--wui-letter-spacing-medium-title);\n }\n\n .wui-font-mini-700 {\n font-size: var(--wui-font-size-mini);\n letter-spacing: var(--wui-letter-spacing-mini);\n text-transform: uppercase;\n }\n\n .wui-font-large-500,\n .wui-font-large-600,\n .wui-font-large-700 {\n font-size: var(--wui-font-size-large);\n letter-spacing: var(--wui-letter-spacing-large);\n }\n\n .wui-font-2xl-500,\n .wui-font-2xl-600,\n .wui-font-2xl-700 {\n font-size: var(--wui-font-size-2xl);\n letter-spacing: var(--wui-letter-spacing-2xl);\n }\n\n .wui-font-paragraph-400,\n .wui-font-paragraph-500,\n .wui-font-paragraph-600,\n .wui-font-paragraph-700 {\n font-size: var(--wui-font-size-paragraph);\n letter-spacing: var(--wui-letter-spacing-paragraph);\n }\n\n .wui-font-small-400,\n .wui-font-small-500,\n .wui-font-small-600 {\n font-size: var(--wui-font-size-small);\n letter-spacing: var(--wui-letter-spacing-small);\n }\n\n .wui-font-tiny-400,\n .wui-font-tiny-500,\n .wui-font-tiny-600 {\n font-size: var(--wui-font-size-tiny);\n letter-spacing: var(--wui-letter-spacing-tiny);\n }\n\n .wui-font-micro-700,\n .wui-font-micro-600 {\n font-size: var(--wui-font-size-micro);\n letter-spacing: var(--wui-letter-spacing-micro);\n text-transform: uppercase;\n }\n\n .wui-font-tiny-400,\n .wui-font-small-400,\n .wui-font-paragraph-400 {\n font-weight: var(--wui-font-weight-light);\n }\n\n .wui-font-large-700,\n .wui-font-paragraph-700,\n .wui-font-micro-700,\n .wui-font-mini-700 {\n font-weight: var(--wui-font-weight-bold);\n }\n\n .wui-font-medium-600,\n .wui-font-medium-title-600,\n .wui-font-large-600,\n .wui-font-paragraph-600,\n .wui-font-small-600,\n .wui-font-tiny-600,\n .wui-font-micro-600 {\n font-weight: var(--wui-font-weight-medium);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiText = class WuiText extends LitElement {\n constructor() {\n super(...arguments);\n this.variant = 'paragraph-500';\n this.color = 'fg-300';\n this.align = 'left';\n }\n render() {\n const classes = {\n [`wui-font-${this.variant}`]: true,\n [`wui-color-${this.color}`]: true\n };\n this.style.cssText = `\n --local-align: ${this.align};\n --local-color: var(--wui-color-${this.color});\n `;\n return html ``;\n }\n};\nWuiText.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiText.prototype, \"variant\", void 0);\n__decorate([\n property()\n], WuiText.prototype, \"color\", void 0);\n__decorate([\n property()\n], WuiText.prototype, \"align\", void 0);\nWuiText = __decorate([\n customElement('wui-text')\n], WuiText);\nexport { WuiText };\n//# sourceMappingURL=index.js.map","import { svg } from 'lit';\nexport const browserSvg = svg `\n \n \n \n \n \n \n \n `;\n//# sourceMappingURL=browser.js.map","import { svg } from 'lit';\nexport const daoSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n//# sourceMappingURL=dao.js.map","import { svg } from 'lit';\nexport const defiSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=defi.js.map","import { svg } from 'lit';\nexport const defiAltSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n `;\n//# sourceMappingURL=defiAlt.js.map","import { svg } from 'lit';\nexport const ethSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n//# sourceMappingURL=eth.js.map","import { svg } from 'lit';\nexport const layersSvg = svg `\n \n \n \n \n \n`;\n//# sourceMappingURL=layers.js.map","import { svg } from 'lit';\nexport const lockSvg = svg `\n \n \n \n \n \n`;\n//# sourceMappingURL=lock.js.map","import { svg } from 'lit';\nexport const loginSvg = svg `\n \n \n \n \n \n \n \n \n \n `;\n//# sourceMappingURL=login.js.map","import { svg } from 'lit';\nexport const networkSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=network.js.map","import { svg } from 'lit';\nexport const nftSvg = svg `\n \n \n \n \n \n \n \n \n \n `;\n//# sourceMappingURL=nft.js.map","import { svg } from 'lit';\nexport const nounSvg = svg `\n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=noun.js.map","import { svg } from 'lit';\nexport const profileSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n//# sourceMappingURL=profile.js.map","import { svg } from 'lit';\nexport const systemSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n//# sourceMappingURL=system.js.map","import { svg } from 'lit';\nexport const coinbaseSvg = svg `\n \n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=coinbase.js.map","import { svg } from 'lit';\nexport const moonpaySvg = svg `\n \n \n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=moonpay.js.map","import { svg } from 'lit';\nexport const stripeSvg = svg `\n \n \n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=stripe.js.map","import { svg } from 'lit';\nexport const paypalSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=paypal.js.map","import { svg } from 'lit';\nexport const onrampCardSvg = svg `\n\n \n \n \n \n \n\n\n \n \n \n\n`;\n//# sourceMappingURL=onramp-card.js.map","import { svg } from 'lit';\nexport const googleSvg = svg `\n \n \n \n \n \n \n \n \n\n`;\n//# sourceMappingURL=google.js.map","import { svg } from 'lit';\nexport const pencilSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n`;\n//# sourceMappingURL=pencil.js.map","import { svg } from 'lit';\nexport const lightbulbSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n`;\n//# sourceMappingURL=lightbulb.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n width: var(--local-size);\n height: var(--local-size);\n }\n\n :host svg {\n width: 100%;\n height: 100%;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { browserSvg } from '../../assets/visual/browser.js';\nimport { daoSvg } from '../../assets/visual/dao.js';\nimport { defiSvg } from '../../assets/visual/defi.js';\nimport { defiAltSvg } from '../../assets/visual/defiAlt.js';\nimport { ethSvg } from '../../assets/visual/eth.js';\nimport { layersSvg } from '../../assets/visual/layers.js';\nimport { lockSvg } from '../../assets/visual/lock.js';\nimport { loginSvg } from '../../assets/visual/login.js';\nimport { networkSvg } from '../../assets/visual/network.js';\nimport { nftSvg } from '../../assets/visual/nft.js';\nimport { nounSvg } from '../../assets/visual/noun.js';\nimport { profileSvg } from '../../assets/visual/profile.js';\nimport { systemSvg } from '../../assets/visual/system.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport { coinbaseSvg } from '../../assets/visual/coinbase.js';\nimport { moonpaySvg } from '../../assets/visual/moonpay.js';\nimport { stripeSvg } from '../../assets/visual/stripe.js';\nimport { paypalSvg } from '../../assets/visual/paypal.js';\nimport { onrampCardSvg } from '../../assets/visual/onramp-card.js';\nimport { googleSvg } from '../../assets/visual/google.js';\nimport { pencilSvg } from '../../assets/visual/pencil.js';\nimport { lightbulbSvg } from '../../assets/visual/lightbulb.js';\nimport styles from './styles.js';\nconst svgOptions = {\n browser: browserSvg,\n dao: daoSvg,\n defi: defiSvg,\n defiAlt: defiAltSvg,\n eth: ethSvg,\n layers: layersSvg,\n lock: lockSvg,\n login: loginSvg,\n network: networkSvg,\n nft: nftSvg,\n noun: nounSvg,\n profile: profileSvg,\n system: systemSvg,\n coinbase: coinbaseSvg,\n onrampCard: onrampCardSvg,\n moonpay: moonpaySvg,\n stripe: stripeSvg,\n paypal: paypalSvg,\n google: googleSvg,\n pencil: pencilSvg,\n lightbulb: lightbulbSvg\n};\nlet WuiVisual = class WuiVisual extends LitElement {\n constructor() {\n super(...arguments);\n this.name = 'browser';\n this.size = 'md';\n }\n render() {\n this.style.cssText = `\n --local-size: var(--wui-visual-size-${this.size});\n `;\n return html `${svgOptions[this.name]}`;\n }\n};\nWuiVisual.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiVisual.prototype, \"name\", void 0);\n__decorate([\n property()\n], WuiVisual.prototype, \"size\", void 0);\nWuiVisual = __decorate([\n customElement('wui-visual')\n], WuiVisual);\nexport { WuiVisual };\n//# sourceMappingURL=index.js.map","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=o=>o??t;export{o as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","export const UiHelperUtil = {\n getSpacingStyles(spacing, index) {\n if (Array.isArray(spacing)) {\n return spacing[index] ? `var(--wui-spacing-${spacing[index]})` : undefined;\n }\n else if (typeof spacing === 'string') {\n return `var(--wui-spacing-${spacing})`;\n }\n return undefined;\n },\n getFormattedDate(date) {\n return new Intl.DateTimeFormat('en-US', { month: 'short', day: 'numeric' }).format(date);\n },\n getHostName(url) {\n const newUrl = new URL(url);\n return newUrl.hostname;\n },\n getTruncateString({ string, charsStart, charsEnd, truncate }) {\n if (string.length <= charsStart + charsEnd) {\n return string;\n }\n if (truncate === 'end') {\n return `${string.substring(0, charsStart)}...`;\n }\n else if (truncate === 'start') {\n return `...${string.substring(string.length - charsEnd)}`;\n }\n return `${string.substring(0, Math.floor(charsStart))}...${string.substring(string.length - Math.floor(charsEnd))}`;\n },\n generateAvatarColors(address) {\n const hash = address.toLowerCase().replace(/^0x/iu, '');\n const baseColor = hash.substring(0, 6);\n const rgbColor = this.hexToRgb(baseColor);\n const masterBorderRadius = getComputedStyle(document.documentElement).getPropertyValue('--w3m-border-radius-master');\n const radius = Number(masterBorderRadius?.replace('px', ''));\n const edge = 100 - 3 * radius;\n const gradientCircle = `${edge}% ${edge}% at 65% 40%`;\n const colors = [];\n for (let i = 0; i < 5; i += 1) {\n const tintedColor = this.tintColor(rgbColor, 0.15 * i);\n colors.push(`rgb(${tintedColor[0]}, ${tintedColor[1]}, ${tintedColor[2]})`);\n }\n return `\n --local-color-1: ${colors[0]};\n --local-color-2: ${colors[1]};\n --local-color-3: ${colors[2]};\n --local-color-4: ${colors[3]};\n --local-color-5: ${colors[4]};\n --local-radial-circle: ${gradientCircle}\n `;\n },\n hexToRgb(hex) {\n const bigint = parseInt(hex, 16);\n const r = (bigint >> 16) & 255;\n const g = (bigint >> 8) & 255;\n const b = bigint & 255;\n return [r, g, b];\n },\n tintColor(rgb, tint) {\n const [r, g, b] = rgb;\n const tintedR = Math.round(r + (255 - r) * tint);\n const tintedG = Math.round(g + (255 - g) * tint);\n const tintedB = Math.round(b + (255 - b) * tint);\n return [tintedR, tintedG, tintedB];\n },\n isNumber(character) {\n const regex = {\n number: /^[0-9]+$/u\n };\n return regex.number.test(character);\n },\n getColorTheme(theme) {\n if (theme) {\n return theme;\n }\n else if (typeof window !== 'undefined' && window.matchMedia) {\n if (window.matchMedia('(prefers-color-scheme: dark)').matches) {\n return 'dark';\n }\n return 'light';\n }\n return 'dark';\n },\n splitBalance(input) {\n const parts = input.split('.');\n if (parts.length === 2) {\n return [parts[0], parts[1]];\n }\n return ['0', '00'];\n },\n roundNumber(number, threshold, fixed) {\n const roundedNumber = Math.abs(number) >= threshold ? Number(number.toFixed(fixed)) : number;\n return roundedNumber;\n },\n formatNumberToLocalString(value, decimals = 2) {\n if (value === undefined) {\n return '0.00';\n }\n if (typeof value === 'number') {\n return value.toLocaleString('en-US', {\n maximumFractionDigits: decimals,\n minimumFractionDigits: decimals\n });\n }\n return parseFloat(value).toLocaleString('en-US', {\n maximumFractionDigits: decimals,\n minimumFractionDigits: decimals\n });\n }\n};\n//# sourceMappingURL=UiHelperUtil.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: flex;\n width: inherit;\n height: inherit;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { UiHelperUtil } from '../../utils/UiHelperUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiFlex = class WuiFlex extends LitElement {\n render() {\n this.style.cssText = `\n flex-direction: ${this.flexDirection};\n flex-wrap: ${this.flexWrap};\n flex-basis: ${this.flexBasis};\n flex-grow: ${this.flexGrow};\n flex-shrink: ${this.flexShrink};\n align-items: ${this.alignItems};\n justify-content: ${this.justifyContent};\n column-gap: ${this.columnGap && `var(--wui-spacing-${this.columnGap})`};\n row-gap: ${this.rowGap && `var(--wui-spacing-${this.rowGap})`};\n gap: ${this.gap && `var(--wui-spacing-${this.gap})`};\n padding-top: ${this.padding && UiHelperUtil.getSpacingStyles(this.padding, 0)};\n padding-right: ${this.padding && UiHelperUtil.getSpacingStyles(this.padding, 1)};\n padding-bottom: ${this.padding && UiHelperUtil.getSpacingStyles(this.padding, 2)};\n padding-left: ${this.padding && UiHelperUtil.getSpacingStyles(this.padding, 3)};\n margin-top: ${this.margin && UiHelperUtil.getSpacingStyles(this.margin, 0)};\n margin-right: ${this.margin && UiHelperUtil.getSpacingStyles(this.margin, 1)};\n margin-bottom: ${this.margin && UiHelperUtil.getSpacingStyles(this.margin, 2)};\n margin-left: ${this.margin && UiHelperUtil.getSpacingStyles(this.margin, 3)};\n `;\n return html ``;\n }\n};\nWuiFlex.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiFlex.prototype, \"flexDirection\", void 0);\n__decorate([\n property()\n], WuiFlex.prototype, \"flexWrap\", void 0);\n__decorate([\n property()\n], WuiFlex.prototype, \"flexBasis\", void 0);\n__decorate([\n property()\n], WuiFlex.prototype, \"flexGrow\", void 0);\n__decorate([\n property()\n], WuiFlex.prototype, \"flexShrink\", void 0);\n__decorate([\n property()\n], WuiFlex.prototype, \"alignItems\", void 0);\n__decorate([\n property()\n], WuiFlex.prototype, \"justifyContent\", void 0);\n__decorate([\n property()\n], WuiFlex.prototype, \"columnGap\", void 0);\n__decorate([\n property()\n], WuiFlex.prototype, \"rowGap\", void 0);\n__decorate([\n property()\n], WuiFlex.prototype, \"gap\", void 0);\n__decorate([\n property()\n], WuiFlex.prototype, \"padding\", void 0);\n__decorate([\n property()\n], WuiFlex.prototype, \"margin\", void 0);\nWuiFlex = __decorate([\n customElement('wui-flex')\n], WuiFlex);\nexport { WuiFlex };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n width: var(--wui-icon-box-size-xl);\n height: var(--wui-icon-box-size-xl);\n border-radius: var(--wui-border-radius-3xl);\n box-shadow: 0 0 0 8px var(--wui-gray-glass-005);\n overflow: hidden;\n position: relative;\n }\n\n :host([data-variant='generated']) {\n --mixed-local-color-1: var(--local-color-1);\n --mixed-local-color-2: var(--local-color-2);\n --mixed-local-color-3: var(--local-color-3);\n --mixed-local-color-4: var(--local-color-4);\n --mixed-local-color-5: var(--local-color-5);\n }\n\n @supports (background: color-mix(in srgb, white 50%, black)) {\n :host([data-variant='generated']) {\n --mixed-local-color-1: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--local-color-1)\n );\n --mixed-local-color-2: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--local-color-2)\n );\n --mixed-local-color-3: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--local-color-3)\n );\n --mixed-local-color-4: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--local-color-4)\n );\n --mixed-local-color-5: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--local-color-5)\n );\n }\n }\n\n :host([data-variant='generated']) {\n box-shadow: 0 0 0 8px var(--wui-gray-glass-005);\n background: radial-gradient(\n var(--local-radial-circle),\n #fff 0.52%,\n var(--mixed-local-color-5) 31.25%,\n var(--mixed-local-color-3) 51.56%,\n var(--mixed-local-color-2) 65.63%,\n var(--mixed-local-color-1) 82.29%,\n var(--mixed-local-color-4) 100%\n );\n }\n\n :host([data-variant='default']) {\n box-shadow: 0 0 0 8px var(--wui-gray-glass-005);\n background: radial-gradient(\n 75.29% 75.29% at 64.96% 24.36%,\n #fff 0.52%,\n #f5ccfc 31.25%,\n #dba4f5 51.56%,\n #9a8ee8 65.63%,\n #6493da 82.29%,\n #6ebdea 100%\n );\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-image/index.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { UiHelperUtil } from '../../utils/UiHelperUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiAvatar = class WuiAvatar extends LitElement {\n constructor() {\n super(...arguments);\n this.imageSrc = undefined;\n this.alt = undefined;\n this.address = undefined;\n }\n render() {\n return html `${this.visualTemplate()}`;\n }\n visualTemplate() {\n if (this.imageSrc) {\n this.dataset['variant'] = 'image';\n return html ``;\n }\n else if (this.address) {\n this.dataset['variant'] = 'generated';\n const cssColors = UiHelperUtil.generateAvatarColors(this.address);\n this.style.cssText = cssColors;\n return null;\n }\n this.dataset['variant'] = 'default';\n return null;\n }\n};\nWuiAvatar.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiAvatar.prototype, \"imageSrc\", void 0);\n__decorate([\n property()\n], WuiAvatar.prototype, \"alt\", void 0);\n__decorate([\n property()\n], WuiAvatar.prototype, \"address\", void 0);\nWuiAvatar = __decorate([\n customElement('wui-avatar')\n], WuiAvatar);\nexport { WuiAvatar };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n position: relative;\n overflow: hidden;\n background-color: var(--wui-gray-glass-020);\n border-radius: var(--local-border-radius);\n border: var(--local-border);\n box-sizing: content-box;\n width: var(--local-size);\n height: var(--local-size);\n min-height: var(--local-size);\n min-width: var(--local-size);\n }\n\n @supports (background: color-mix(in srgb, white 50%, black)) {\n :host {\n background-color: color-mix(in srgb, var(--local-bg-value) var(--local-bg-mix), transparent);\n }\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiIconBox = class WuiIconBox extends LitElement {\n constructor() {\n super(...arguments);\n this.size = 'md';\n this.backgroundColor = 'accent-100';\n this.iconColor = 'accent-100';\n this.background = 'transparent';\n this.border = false;\n this.borderColor = 'wui-color-bg-125';\n this.icon = 'copy';\n }\n render() {\n const iconSize = this.iconSize || this.size;\n const isLg = this.size === 'lg';\n const isXl = this.size === 'xl';\n const bgMix = isLg ? '12%' : '16%';\n const borderRadius = isLg ? 'xxs' : isXl ? 's' : '3xl';\n const isGray = this.background === 'gray';\n const isOpaque = this.background === 'opaque';\n const isColorChange = (this.backgroundColor === 'accent-100' && isOpaque) ||\n (this.backgroundColor === 'success-100' && isOpaque) ||\n (this.backgroundColor === 'error-100' && isOpaque) ||\n (this.backgroundColor === 'inverse-100' && isOpaque);\n let bgValueVariable = `var(--wui-color-${this.backgroundColor})`;\n if (isColorChange) {\n bgValueVariable = `var(--wui-icon-box-bg-${this.backgroundColor})`;\n }\n else if (isGray) {\n bgValueVariable = `var(--wui-gray-${this.backgroundColor})`;\n }\n this.style.cssText = `\n --local-bg-value: ${bgValueVariable};\n --local-bg-mix: ${isColorChange || isGray ? `100%` : bgMix};\n --local-border-radius: var(--wui-border-radius-${borderRadius});\n --local-size: var(--wui-icon-box-size-${this.size});\n --local-border: ${this.borderColor === 'wui-color-bg-125' ? `2px` : `1px`} solid ${this.border ? `var(--${this.borderColor})` : `transparent`}\n `;\n return html ` `;\n }\n};\nWuiIconBox.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiIconBox.prototype, \"size\", void 0);\n__decorate([\n property()\n], WuiIconBox.prototype, \"backgroundColor\", void 0);\n__decorate([\n property()\n], WuiIconBox.prototype, \"iconColor\", void 0);\n__decorate([\n property()\n], WuiIconBox.prototype, \"iconSize\", void 0);\n__decorate([\n property()\n], WuiIconBox.prototype, \"background\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiIconBox.prototype, \"border\", void 0);\n__decorate([\n property()\n], WuiIconBox.prototype, \"borderColor\", void 0);\n__decorate([\n property()\n], WuiIconBox.prototype, \"icon\", void 0);\nWuiIconBox = __decorate([\n customElement('wui-icon-box')\n], WuiIconBox);\nexport { WuiIconBox };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n }\n\n button {\n border-radius: var(--wui-border-radius-3xl);\n background: var(--wui-gray-glass-002);\n display: flex;\n gap: var(--wui-spacing-xs);\n padding: var(--wui-spacing-3xs) var(--wui-spacing-xs) var(--wui-spacing-3xs)\n var(--wui-spacing-xs);\n border: 1px solid var(--wui-gray-glass-005);\n }\n\n button:disabled {\n background: var(--wui-gray-glass-015);\n }\n\n button:disabled > wui-text {\n color: var(--wui-gray-glass-015);\n }\n\n button:disabled > wui-flex > wui-text {\n color: var(--wui-gray-glass-015);\n }\n\n button:disabled > wui-image,\n button:disabled > wui-icon-box,\n button:disabled > wui-flex > wui-avatar {\n filter: grayscale(1);\n }\n\n button:has(wui-image) {\n padding: var(--wui-spacing-3xs) var(--wui-spacing-3xs) var(--wui-spacing-3xs)\n var(--wui-spacing-xs);\n }\n\n wui-text {\n color: var(--wui-color-fg-100);\n }\n\n wui-flex > wui-text {\n color: var(--wui-color-fg-200);\n }\n\n wui-image,\n wui-icon-box {\n border-radius: var(--wui-border-radius-3xl);\n width: 24px;\n height: 24px;\n box-shadow: 0 0 0 2px var(--wui-gray-glass-005);\n }\n\n wui-flex {\n border-radius: var(--wui-border-radius-3xl);\n border: 1px solid var(--wui-gray-glass-005);\n background: var(--wui-gray-glass-005);\n padding: 4px var(--wui-spacing-m) 4px var(--wui-spacing-xxs);\n }\n\n button.local-no-balance {\n border-radius: 0px;\n border: none;\n background: transparent;\n }\n\n wui-avatar {\n width: 20px;\n height: 20px;\n box-shadow: 0 0 0 2px var(--wui-accent-glass-010);\n }\n\n @media (max-width: 500px) {\n button {\n gap: 0px;\n padding: var(--wui-spacing-3xs) var(--wui-spacing-xs) !important;\n height: 32px;\n }\n wui-image,\n wui-icon-box,\n button > wui-text {\n visibility: hidden;\n width: 0px;\n height: 0px;\n }\n button {\n border-radius: 0px;\n border: none;\n background: transparent;\n padding: 0px;\n }\n }\n\n @media (hover: hover) and (pointer: fine) {\n button:hover:enabled > wui-flex > wui-text {\n color: var(--wui-color-fg-175);\n }\n\n button:active:enabled > wui-flex > wui-text {\n color: var(--wui-color-fg-175);\n }\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport '../../components/wui-image/index.js';\nimport '../../components/wui-text/index.js';\nimport '../../layout/wui-flex/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { UiHelperUtil } from '../../utils/UiHelperUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../wui-avatar/index.js';\nimport '../wui-icon-box/index.js';\nimport styles from './styles.js';\nlet WuiAccountButton = class WuiAccountButton extends LitElement {\n constructor() {\n super(...arguments);\n this.networkSrc = undefined;\n this.avatarSrc = undefined;\n this.balance = undefined;\n this.isUnsupportedChain = undefined;\n this.disabled = false;\n this.isProfileName = false;\n this.address = '';\n this.profileName = '';\n this.charsStart = 4;\n this.charsEnd = 6;\n }\n render() {\n return html `\n \n ${this.balanceTemplate()}\n \n \n \n ${this.address\n ? UiHelperUtil.getTruncateString({\n string: this.isProfileName ? this.profileName : this.address,\n charsStart: this.isProfileName ? 18 : this.charsStart,\n charsEnd: this.isProfileName ? 0 : this.charsEnd,\n truncate: this.isProfileName ? 'end' : 'middle'\n })\n : null}\n \n \n \n `;\n }\n balanceTemplate() {\n if (this.isUnsupportedChain) {\n return html ` \n Switch Network`;\n }\n if (this.balance) {\n const networkElement = this.networkSrc\n ? html ``\n : html `\n \n `;\n return html `\n ${networkElement}\n ${this.balance}\n `;\n }\n return null;\n }\n};\nWuiAccountButton.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiAccountButton.prototype, \"networkSrc\", void 0);\n__decorate([\n property()\n], WuiAccountButton.prototype, \"avatarSrc\", void 0);\n__decorate([\n property()\n], WuiAccountButton.prototype, \"balance\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiAccountButton.prototype, \"isUnsupportedChain\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiAccountButton.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiAccountButton.prototype, \"isProfileName\", void 0);\n__decorate([\n property()\n], WuiAccountButton.prototype, \"address\", void 0);\n__decorate([\n property()\n], WuiAccountButton.prototype, \"profileName\", void 0);\n__decorate([\n property()\n], WuiAccountButton.prototype, \"charsStart\", void 0);\n__decorate([\n property()\n], WuiAccountButton.prototype, \"charsEnd\", void 0);\nWuiAccountButton = __decorate([\n customElement('wui-account-button')\n], WuiAccountButton);\nexport { WuiAccountButton };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n position: relative;\n background-color: var(--wui-gray-glass-002);\n display: flex;\n justify-content: center;\n align-items: center;\n width: var(--local-size);\n height: var(--local-size);\n border-radius: inherit;\n border-radius: var(--local-border-radius);\n }\n\n :host > wui-flex {\n overflow: hidden;\n border-radius: inherit;\n border-radius: var(--local-border-radius);\n }\n\n :host::after {\n content: '';\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n border-radius: inherit;\n border: 1px solid var(--wui-gray-glass-010);\n pointer-events: none;\n }\n\n :host([name='Extension'])::after {\n border: 1px solid var(--wui-accent-glass-010);\n }\n\n :host([data-wallet-icon='allWallets']) {\n background-color: var(--wui-all-wallets-bg-100);\n }\n\n :host([data-wallet-icon='allWallets'])::after {\n border: 1px solid var(--wui-accent-glass-010);\n }\n\n wui-icon[data-parent-size='inherit'] {\n width: 75%;\n height: 75%;\n align-items: center;\n }\n\n wui-icon[data-parent-size='sm'] {\n width: 18px;\n height: 18px;\n }\n\n wui-icon[data-parent-size='md'] {\n width: 24px;\n height: 24px;\n }\n\n wui-icon[data-parent-size='lg'] {\n width: 42px;\n height: 42px;\n }\n\n wui-icon[data-parent-size='full'] {\n width: 100%;\n height: 100%;\n }\n\n :host > wui-icon-box {\n position: absolute;\n overflow: hidden;\n right: -1px;\n bottom: -2px;\n z-index: 1;\n border: 2px solid var(--wui-color-bg-base-150, #1e1f1f);\n padding: 1px;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-image/index.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../wui-icon-box/index.js';\nimport styles from './styles.js';\nlet WuiWalletImage = class WuiWalletImage extends LitElement {\n constructor() {\n super(...arguments);\n this.size = 'md';\n this.name = '';\n this.installed = false;\n this.badgeSize = 'xs';\n }\n render() {\n let borderRadius = 'xxs';\n if (this.size === 'lg') {\n borderRadius = 'm';\n }\n else if (this.size === 'md') {\n borderRadius = 'xs';\n }\n else {\n borderRadius = 'xxs';\n }\n this.style.cssText = `\n --local-border-radius: var(--wui-border-radius-${borderRadius});\n --local-size: var(--wui-wallet-image-size-${this.size});\n `;\n if (this.walletIcon) {\n this.dataset['walletIcon'] = this.walletIcon;\n }\n return html `\n ${this.templateVisual()} \n `;\n }\n templateVisual() {\n if (this.imageSrc) {\n return html ``;\n }\n else if (this.walletIcon) {\n return html ``;\n }\n return html ``;\n }\n};\nWuiWalletImage.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiWalletImage.prototype, \"size\", void 0);\n__decorate([\n property()\n], WuiWalletImage.prototype, \"name\", void 0);\n__decorate([\n property()\n], WuiWalletImage.prototype, \"imageSrc\", void 0);\n__decorate([\n property()\n], WuiWalletImage.prototype, \"walletIcon\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiWalletImage.prototype, \"installed\", void 0);\n__decorate([\n property()\n], WuiWalletImage.prototype, \"badgeSize\", void 0);\nWuiWalletImage = __decorate([\n customElement('wui-wallet-image')\n], WuiWalletImage);\nexport { WuiWalletImage };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n position: relative;\n border-radius: var(--wui-border-radius-xxs);\n width: 40px;\n height: 40px;\n overflow: hidden;\n background: var(--wui-gray-glass-002);\n display: flex;\n justify-content: center;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--wui-spacing-4xs);\n padding: 3.75px !important;\n }\n\n :host::after {\n content: '';\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n border-radius: inherit;\n border: 1px solid var(--wui-gray-glass-010);\n pointer-events: none;\n }\n\n :host > wui-wallet-image {\n width: 14px;\n height: 14px;\n border-radius: var(--wui-border-radius-5xs);\n }\n\n :host > wui-flex {\n padding: 2px;\n position: fixed;\n overflow: hidden;\n left: 34px;\n bottom: 8px;\n background: var(--dark-background-150, #1e1f1f);\n border-radius: 50%;\n z-index: 2;\n display: flex;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../wui-wallet-image/index.js';\nimport '../wui-icon-box/index.js';\nimport styles from './styles.js';\nconst TOTAL_IMAGES = 4;\nlet WuiAllWalletsImage = class WuiAllWalletsImage extends LitElement {\n constructor() {\n super(...arguments);\n this.walletImages = [];\n }\n render() {\n const isPlaceholders = this.walletImages.length < TOTAL_IMAGES;\n return html `${this.walletImages\n .slice(0, TOTAL_IMAGES)\n .map(({ src, walletName }) => html `\n \n `)}\n ${isPlaceholders\n ? [...Array(TOTAL_IMAGES - this.walletImages.length)].map(() => html ` `)\n : null}\n \n \n `;\n }\n};\nWuiAllWalletsImage.styles = [resetStyles, styles];\n__decorate([\n property({ type: Array })\n], WuiAllWalletsImage.prototype, \"walletImages\", void 0);\nWuiAllWalletsImage = __decorate([\n customElement('wui-all-wallets-image')\n], WuiAllWalletsImage);\nexport { WuiAllWalletsImage };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n width: var(--local-width);\n position: relative;\n }\n\n button {\n border: 1px solid var(--wui-gray-glass-010);\n border-radius: var(--local-border-radius);\n width: var(--local-width);\n white-space: nowrap;\n }\n\n button:disabled {\n border: 1px solid var(--wui-gray-glass-010);\n }\n\n /* xs settings */\n button[data-size='xs'] {\n padding: var(--wui-spacing-xs) var(--wui-spacing-1xs);\n }\n\n button[data-size='xs'][data-icon-left='true'][data-icon-right='false'] {\n padding-left: var(--wui-spacing-xxs);\n }\n\n button[data-size='xs'][data-icon-right='true'][data-icon-left='false'] {\n padding-right: var(--wui-spacing-xxs);\n }\n\n /* sm settings */\n button[data-size='sm'] {\n padding: var(--wui-spacing-xxs) var(--wui-spacing-s);\n }\n\n button[data-size='sm'][data-icon-left='true'][data-icon-right='false'] {\n padding: var(--wui-spacing-xxs) var(--wui-spacing-s) var(--wui-spacing-xxs)\n var(--wui-spacing-xs);\n }\n\n button[data-size='sm'][data-icon-right='true'][data-icon-left='false'] {\n padding: var(--wui-spacing-xxs) var(--wui-spacing-xs) var(--wui-spacing-xxs)\n var(--wui-spacing-s);\n }\n\n /* md settings */\n button[data-size='md'] {\n padding: 8.2px var(--wui-spacing-l) 9px var(--wui-spacing-l);\n }\n\n button[data-size='md'][data-icon-left='true'][data-icon-right='false'] {\n padding: 8.2px var(--wui-spacing-l) 9px var(--wui-spacing-s);\n }\n\n button[data-size='md'][data-icon-right='true'][data-icon-left='false'] {\n padding: 8.2px var(--wui-spacing-s) 9px var(--wui-spacing-l);\n }\n\n /* lg settings */\n button[data-size='lg'] {\n padding: var(--wui-spacing-m) var(--wui-spacing-2l);\n }\n\n button[data-size='lg'][data-icon-left='true'][data-icon-right='false'] {\n padding-left: var(--wui-spacing-m);\n }\n\n button[data-size='lg'][data-icon-right='true'][data-icon-left='false'] {\n padding-right: var(--wui-spacing-m);\n }\n\n button > wui-text {\n transition: opacity var(--wui-ease-out-power-1) var(--wui-duration-md);\n will-change: opacity;\n opacity: var(--local-opacity-100);\n }\n\n ::slotted(*) {\n transition: opacity var(--wui-ease-out-power-1) var(--wui-duration-md);\n will-change: opacity;\n opacity: var(--local-opacity-100);\n }\n\n wui-loading-spinner {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n opacity: var(--local-opacity-000);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-loading-spinner/index.js';\nimport '../../components/wui-text/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nconst TEXT_VARIANT_BY_SIZE = {\n xs: 'small-600',\n sm: 'paragraph-600',\n md: 'small-600',\n mdl: 'small-600',\n lg: 'paragraph-600'\n};\nlet WuiButton = class WuiButton extends LitElement {\n constructor() {\n super(...arguments);\n this.size = 'md';\n this.disabled = false;\n this.fullWidth = false;\n this.loading = false;\n this.variant = 'fill';\n this.hasIconLeft = false;\n this.hasIconRight = false;\n this.borderRadius = 'm';\n }\n render() {\n this.style.cssText = `\n --local-width: ${this.fullWidth ? '100%' : 'auto'};\n --local-opacity-100: ${this.loading ? 0 : 1};\n --local-opacity-000: ${this.loading ? 1 : 0};\n --local-border-radius: var(--wui-border-radius-${this.borderRadius});\n `;\n const textVariant = this.textVariant ?? TEXT_VARIANT_BY_SIZE[this.size];\n return html `\n \n ${this.loadingTemplate()}\n this.handleSlotLeftChange()}>\n \n \n \n this.handleSlotRightChange()}>\n \n `;\n }\n handleSlotLeftChange() {\n this.hasIconLeft = true;\n }\n handleSlotRightChange() {\n this.hasIconRight = true;\n }\n loadingTemplate() {\n if (this.loading) {\n return html ``;\n }\n return html ``;\n }\n};\nWuiButton.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiButton.prototype, \"size\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiButton.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiButton.prototype, \"fullWidth\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiButton.prototype, \"loading\", void 0);\n__decorate([\n property()\n], WuiButton.prototype, \"variant\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiButton.prototype, \"hasIconLeft\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiButton.prototype, \"hasIconRight\", void 0);\n__decorate([\n property()\n], WuiButton.prototype, \"borderRadius\", void 0);\n__decorate([\n property()\n], WuiButton.prototype, \"textVariant\", void 0);\nWuiButton = __decorate([\n customElement('wui-button')\n], WuiButton);\nexport { WuiButton };\n//# sourceMappingURL=index.js.map","import { svg } from 'lit';\nexport const networkSvgMd = svg `\n \n`;\n//# sourceMappingURL=networkMd.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 76px;\n row-gap: var(--wui-spacing-xs);\n padding: var(--wui-spacing-xs) 10px;\n background-color: var(--wui-gray-glass-002);\n border-radius: clamp(0px, var(--wui-border-radius-xs), 20px);\n position: relative;\n }\n\n wui-shimmer[data-type='network'] {\n border: none;\n -webkit-clip-path: var(--wui-path-network);\n clip-path: var(--wui-path-network);\n }\n\n svg {\n position: absolute;\n width: 48px;\n height: 54px;\n z-index: 1;\n }\n\n svg > path {\n stroke: var(--wui-gray-glass-010);\n stroke-width: 1px;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { networkSvgMd } from '../../assets/svg/networkMd.js';\nimport '../../components/wui-shimmer/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiCardSelectLoader = class WuiCardSelectLoader extends LitElement {\n constructor() {\n super(...arguments);\n this.type = 'wallet';\n }\n render() {\n return html `\n ${this.shimmerTemplate()}\n \n `;\n }\n shimmerTemplate() {\n if (this.type === 'network') {\n return html ` \n ${networkSvgMd}`;\n }\n return html ``;\n }\n};\nWuiCardSelectLoader.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiCardSelectLoader.prototype, \"type\", void 0);\nWuiCardSelectLoader = __decorate([\n customElement('wui-card-select-loader')\n], WuiCardSelectLoader);\nexport { WuiCardSelectLoader };\n//# sourceMappingURL=index.js.map","import { svg } from 'lit';\nexport const networkSvgSm = svg `\n \n \n \n`;\n//# sourceMappingURL=networkSm.js.map","import { svg } from 'lit';\nexport const networkSvgLg = svg `\n \n`;\n//# sourceMappingURL=networkLg.js.map","import { css } from 'lit';\nexport default css `\n :host {\n position: relative;\n border-radius: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\n width: var(--local-width);\n height: var(--local-height);\n }\n\n svg {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 1;\n fill: var(--wui-gray-glass-002);\n }\n\n svg > path {\n stroke: var(--local-stroke);\n }\n\n wui-image {\n width: 100%;\n height: 100%;\n -webkit-clip-path: var(--local-path);\n clip-path: var(--local-path);\n background: var(--wui-gray-glass-002);\n }\n\n wui-icon {\n transform: translateY(-5%);\n width: var(--local-icon-size);\n height: var(--local-icon-size);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { networkSvgSm } from '../../assets/svg/networkSm.js';\nimport { networkSvgMd } from '../../assets/svg/networkMd.js';\nimport { networkSvgLg } from '../../assets/svg/networkLg.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-image/index.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiNetworkImage = class WuiNetworkImage extends LitElement {\n constructor() {\n super(...arguments);\n this.size = 'md';\n this.name = 'uknown';\n this.selected = false;\n }\n render() {\n const networkImagesBySize = { sm: networkSvgSm, md: networkSvgMd, lg: networkSvgLg };\n this.style.cssText = `\n --local-stroke: ${this.selected ? 'var(--wui-color-accent-100)' : 'var(--wui-gray-glass-010)'};\n --local-path: var(--wui-path-network-${this.size});\n --local-width: var(--wui-width-network-${this.size});\n --local-height: var(--wui-height-network-${this.size});\n --local-icon-size: var(--wui-icon-size-network-${this.size});\n `;\n return html `${this.templateVisual()} ${networkImagesBySize[this.size]}`;\n }\n templateVisual() {\n if (this.imageSrc) {\n return html ``;\n }\n return html ``;\n }\n};\nWuiNetworkImage.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiNetworkImage.prototype, \"size\", void 0);\n__decorate([\n property()\n], WuiNetworkImage.prototype, \"name\", void 0);\n__decorate([\n property()\n], WuiNetworkImage.prototype, \"imageSrc\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiNetworkImage.prototype, \"selected\", void 0);\nWuiNetworkImage = __decorate([\n customElement('wui-network-image')\n], WuiNetworkImage);\nexport { WuiNetworkImage };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n flex-direction: column;\n width: 76px;\n row-gap: var(--wui-spacing-xs);\n padding: var(--wui-spacing-xs) var(--wui-spacing-0);\n background-color: var(--wui-gray-glass-002);\n border-radius: clamp(0px, var(--wui-border-radius-xs), 20px);\n }\n\n button > wui-text {\n color: var(--wui-color-fg-100);\n max-width: var(--wui-icon-box-size-xl);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n justify-content: center;\n }\n\n button:disabled > wui-text {\n color: var(--wui-gray-glass-015);\n }\n\n [data-selected='true'] {\n background-color: var(--wui-accent-glass-020);\n }\n\n @media (hover: hover) and (pointer: fine) {\n [data-selected='true']:hover:enabled {\n background-color: var(--wui-accent-glass-015);\n }\n }\n\n [data-selected='true']:active:enabled {\n background-color: var(--wui-accent-glass-010);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport '../../components/wui-text/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../wui-network-image/index.js';\nimport '../wui-wallet-image/index.js';\nimport styles from './styles.js';\nlet WuiCardSelect = class WuiCardSelect extends LitElement {\n constructor() {\n super(...arguments);\n this.name = 'Unknown';\n this.type = 'wallet';\n this.imageSrc = undefined;\n this.disabled = false;\n this.selected = false;\n this.installed = false;\n }\n render() {\n return html `\n \n `;\n }\n imageTemplate() {\n if (this.type === 'network') {\n return html `\n \n \n `;\n }\n return html `\n \n \n `;\n }\n};\nWuiCardSelect.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiCardSelect.prototype, \"name\", void 0);\n__decorate([\n property()\n], WuiCardSelect.prototype, \"type\", void 0);\n__decorate([\n property()\n], WuiCardSelect.prototype, \"imageSrc\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiCardSelect.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiCardSelect.prototype, \"selected\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiCardSelect.prototype, \"installed\", void 0);\nWuiCardSelect = __decorate([\n customElement('wui-card-select')\n], WuiCardSelect);\nexport { WuiCardSelect };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n a {\n border: 1px solid var(--wui-gray-glass-010);\n border-radius: var(--wui-border-radius-3xl);\n }\n\n wui-image {\n border-radius: var(--wui-border-radius-3xl);\n overflow: hidden;\n }\n\n a.disabled > wui-icon,\n a.disabled > wui-image {\n filter: grayscale(1);\n }\n\n a[data-variant='fill'] {\n color: var(--wui-color-inverse-100);\n background-color: var(--wui-color-accent-100);\n }\n\n a[data-variant='shade'],\n a[data-variant='shadeSmall'] {\n background-color: transparent;\n background-color: var(--wui-gray-glass-010);\n color: var(--wui-color-fg-200);\n }\n\n a[data-variant='success'] {\n column-gap: var(--wui-spacing-xxs);\n border: 1px solid var(--wui-success-glass-010);\n background-color: var(--wui-success-glass-010);\n color: var(--wui-color-success-100);\n }\n\n a[data-variant='error'] {\n column-gap: var(--wui-spacing-xxs);\n border: 1px solid var(--wui-error-glass-010);\n background-color: var(--wui-error-glass-010);\n color: var(--wui-color-error-100);\n }\n\n a[data-variant='transparent'] {\n column-gap: var(--wui-spacing-xxs);\n background-color: transparent;\n color: var(--wui-color-fg-150);\n }\n\n a[data-variant='transparent'],\n a[data-variant='success'],\n a[data-variant='shadeSmall'],\n a[data-variant='error'] {\n padding: 7px var(--wui-spacing-s) 7px 10px;\n }\n\n a[data-variant='transparent']:has(wui-text:first-child),\n a[data-variant='success']:has(wui-text:first-child),\n a[data-variant='shadeSmall']:has(wui-text:first-child),\n a[data-variant='error']:has(wui-text:first-child) {\n padding: 7px var(--wui-spacing-s);\n }\n\n a[data-variant='fill'],\n a[data-variant='shade'] {\n column-gap: var(--wui-spacing-xs);\n padding: var(--wui-spacing-xxs) var(--wui-spacing-m) var(--wui-spacing-xxs)\n var(--wui-spacing-xs);\n }\n\n a[data-variant='fill']:has(wui-text:first-child),\n a[data-variant='shade']:has(wui-text:first-child) {\n padding: 9px var(--wui-spacing-m) 9px var(--wui-spacing-m);\n }\n\n a[data-variant='fill'] > wui-image,\n a[data-variant='shade'] > wui-image {\n width: 24px;\n height: 24px;\n }\n\n a[data-variant='fill'] > wui-image {\n box-shadow: inset 0 0 0 1px var(--wui-color-accent-090);\n }\n\n a[data-variant='shade'] > wui-image,\n a[data-variant='shadeSmall'] > wui-image {\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-010);\n }\n\n a[data-variant='fill'] > wui-icon,\n a[data-variant='shade'] > wui-icon {\n width: 14px;\n height: 14px;\n }\n\n a[data-variant='transparent'] > wui-image,\n a[data-variant='success'] > wui-image,\n a[data-variant='shadeSmall'] > wui-image,\n a[data-variant='error'] > wui-image {\n width: 14px;\n height: 14px;\n }\n\n a[data-variant='transparent'] > wui-icon,\n a[data-variant='success'] > wui-icon,\n a[data-variant='shadeSmall'] > wui-icon,\n a[data-variant='error'] > wui-icon {\n width: 12px;\n height: 12px;\n }\n\n a[data-variant='fill']:focus-visible {\n background-color: var(--wui-color-accent-090);\n }\n\n a[data-variant='shade']:focus-visible,\n a[data-variant='shadeSmall']:focus-visible {\n background-color: var(--wui-gray-glass-015);\n }\n\n a[data-variant='transparent']:focus-visible {\n background-color: var(--wui-gray-glass-005);\n }\n\n a[data-variant='success']:focus-visible {\n background-color: var(--wui-success-glass-015);\n }\n\n a[data-variant='error']:focus-visible {\n background-color: var(--wui-error-glass-015);\n }\n\n a.disabled {\n color: var(--wui-gray-glass-015);\n background-color: var(--wui-gray-glass-015);\n pointer-events: none;\n }\n\n @media (hover: hover) and (pointer: fine) {\n a[data-variant='fill']:hover {\n background-color: var(--wui-color-accent-090);\n }\n\n a[data-variant='shade']:hover,\n a[data-variant='shadeSmall']:hover {\n background-color: var(--wui-gray-glass-015);\n }\n\n a[data-variant='transparent']:hover {\n background-color: var(--wui-gray-glass-005);\n }\n\n a[data-variant='success']:hover {\n background-color: var(--wui-success-glass-015);\n }\n\n a[data-variant='error']:hover {\n background-color: var(--wui-error-glass-015);\n }\n }\n\n a[data-variant='fill']:active {\n background-color: var(--wui-color-accent-080);\n }\n\n a[data-variant='shade']:active,\n a[data-variant='shadeSmall']:active {\n background-color: var(--wui-gray-glass-020);\n }\n\n a[data-variant='transparent']:active {\n background-color: var(--wui-gray-glass-010);\n }\n\n a[data-variant='success']:active {\n background-color: var(--wui-success-glass-020);\n }\n\n a[data-variant='error']:active {\n background-color: var(--wui-error-glass-020);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-image/index.js';\nimport '../../components/wui-text/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { UiHelperUtil } from '../../utils/UiHelperUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiChip = class WuiChip extends LitElement {\n constructor() {\n super(...arguments);\n this.variant = 'fill';\n this.imageSrc = undefined;\n this.disabled = false;\n this.icon = 'externalLink';\n this.href = '';\n this.text = undefined;\n }\n render() {\n const isSmall = this.variant === 'success' || this.variant === 'transparent' || this.variant === 'shadeSmall';\n const textVariant = isSmall ? 'small-600' : 'paragraph-600';\n return html `\n \n ${this.imageTemplate()}\n \n ${this.title ? this.title : UiHelperUtil.getHostName(this.href)}\n \n \n \n `;\n }\n imageTemplate() {\n if (this.imageSrc) {\n return html ``;\n }\n return null;\n }\n};\nWuiChip.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiChip.prototype, \"variant\", void 0);\n__decorate([\n property()\n], WuiChip.prototype, \"imageSrc\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiChip.prototype, \"disabled\", void 0);\n__decorate([\n property()\n], WuiChip.prototype, \"icon\", void 0);\n__decorate([\n property()\n], WuiChip.prototype, \"href\", void 0);\n__decorate([\n property()\n], WuiChip.prototype, \"text\", void 0);\nWuiChip = __decorate([\n customElement('wui-chip')\n], WuiChip);\nexport { WuiChip };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n position: relative;\n display: block;\n }\n\n button {\n background: var(--wui-color-accent-100);\n border: 1px solid var(--wui-gray-glass-010);\n border-radius: var(--wui-border-radius-m);\n gap: var(--wui-spacing-xs);\n }\n\n button.loading {\n background: var(--wui-gray-glass-010);\n border: 1px solid var(--wui-gray-glass-010);\n pointer-events: none;\n }\n\n button:disabled {\n background-color: var(--wui-gray-glass-015);\n border: 1px solid var(--wui-gray-glass-010);\n }\n\n button:disabled > wui-text {\n color: var(--wui-gray-glass-015);\n }\n\n @media (hover: hover) and (pointer: fine) {\n button:hover:enabled {\n background-color: var(--wui-color-accent-090);\n }\n\n button:active:enabled {\n background-color: var(--wui-color-accent-080);\n }\n }\n\n button:focus-visible {\n border: 1px solid var(--wui-gray-glass-010);\n background-color: var(--wui-color-accent-090);\n -webkit-box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n -moz-box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n }\n\n button[data-size='sm'] {\n padding: 6.75px 10px 7.25px;\n }\n\n ::slotted(*) {\n transition: opacity var(--wui-ease-out-power-1) var(--wui-duration-md);\n will-change: opacity;\n opacity: var(--local-opacity-100);\n }\n\n button > wui-text {\n transition: opacity var(--wui-ease-out-power-1) var(--wui-duration-md);\n will-change: opacity;\n opacity: var(--local-opacity-100);\n color: var(--wui-color-inverse-100);\n }\n\n button[data-size='md'] {\n padding: 9px var(--wui-spacing-l) 9px var(--wui-spacing-l);\n }\n\n button[data-size='md'] + wui-text {\n padding-left: var(--wui-spacing-3xs);\n }\n\n @media (max-width: 500px) {\n button[data-size='md'] {\n height: 32px;\n padding: 5px 12px;\n }\n\n button[data-size='md'] > wui-text > slot {\n font-size: 14px !important;\n }\n }\n\n wui-loading-spinner {\n width: 14px;\n height: 14px;\n }\n\n wui-loading-spinner::slotted(svg) {\n width: 10px !important;\n height: 10px !important;\n }\n\n button[data-size='sm'] > wui-loading-spinner {\n width: 12px;\n height: 12px;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-loading-spinner/index.js';\nimport '../../components/wui-text/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiConnectButton = class WuiConnectButton extends LitElement {\n constructor() {\n super(...arguments);\n this.size = 'md';\n this.loading = false;\n }\n render() {\n const textVariant = this.size === 'md' ? 'paragraph-600' : 'small-600';\n return html `\n \n `;\n }\n loadingTemplate() {\n if (!this.loading) {\n return null;\n }\n return html ``;\n }\n};\nWuiConnectButton.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiConnectButton.prototype, \"size\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiConnectButton.prototype, \"loading\", void 0);\nWuiConnectButton = __decorate([\n customElement('wui-connect-button')\n], WuiConnectButton);\nexport { WuiConnectButton };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-flex {\n width: 100%;\n background-color: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-xs);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-text/index.js';\nimport '../../composites/wui-button/index.js';\nimport '../../layout/wui-flex/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiCtaButton = class WuiCtaButton extends LitElement {\n constructor() {\n super(...arguments);\n this.disabled = false;\n this.label = '';\n this.buttonLabel = '';\n }\n render() {\n return html `\n \n ${this.label}\n \n ${this.buttonLabel}\n \n \n
\n `;\n }\n};\nWuiCtaButton.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property({ type: Boolean })\n], WuiCtaButton.prototype, \"disabled\", void 0);\n__decorate([\n property()\n], WuiCtaButton.prototype, \"label\", void 0);\n__decorate([\n property()\n], WuiCtaButton.prototype, \"buttonLabel\", void 0);\nWuiCtaButton = __decorate([\n customElement('wui-cta-button')\n], WuiCtaButton);\nexport { WuiCtaButton };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n padding: var(--wui-spacing-l) var(--wui-spacing-m);\n background-color: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-xs);\n width: 100%;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport '../../layout/wui-flex/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiDetailsGroup = class WuiDetailsGroup extends LitElement {\n render() {\n return html `\n \n \n \n `;\n }\n};\nWuiDetailsGroup.styles = [resetStyles, elementStyles, styles];\nWuiDetailsGroup = __decorate([\n customElement('wui-details-group')\n], WuiDetailsGroup);\nexport { WuiDetailsGroup };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: flex;\n flex-direction: row;\n gap: var(--wui-spacing-l);\n width: 100%;\n border-radius: var(--wui-border-radius-xs);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../layout/wui-flex/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiDetailsGroupItem = class WuiDetailsGroupItem extends LitElement {\n constructor() {\n super(...arguments);\n this.name = '';\n }\n render() {\n return html `\n \n ${this.name}\n \n \n \n \n `;\n }\n};\nWuiDetailsGroupItem.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiDetailsGroupItem.prototype, \"name\", void 0);\nWuiDetailsGroupItem = __decorate([\n customElement('wui-details-group-item')\n], WuiDetailsGroupItem);\nexport { WuiDetailsGroupItem };\n//# sourceMappingURL=index.js.map","import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:t}=o,i=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,n={HTML:1,SVG:2},e=(o,t)=>void 0===t?void 0!==o?._$litType$:o?._$litType$===t,l=o=>null!=o?._$litType$?.h,c=o=>void 0!==o?._$litDirective$,d=o=>o?._$litDirective$,f=o=>void 0===o.strings,s=()=>document.createComment(\"\"),r=(o,i,n)=>{const e=o._$AA.parentNode,l=void 0===i?o._$AB:i._$AA;if(void 0===n){const i=e.insertBefore(s(),l),c=e.insertBefore(s(),l);n=new t(i,c,o,o.options)}else{const t=n._$AB.nextSibling,i=n._$AM,c=i!==o;if(c){let t;n._$AQ?.(o),n._$AM=o,void 0!==n._$AP&&(t=o._$AU)!==i._$AU&&n._$AP(t)}if(t!==l||c){let o=n._$AA;for(;o!==t;){const t=o.nextSibling;e.insertBefore(o,l),o=t}}}return n},v=(o,t,i=o)=>(o._$AI(t,i),o),u={},m=(o,t=u)=>o._$AH=t,p=o=>o._$AH,h=o=>{o._$AP?.(!1,!0);let t=o._$AA;const i=o._$AB.nextSibling;for(;t!==i;){const o=t.nextSibling;t.remove(),t=o}},j=o=>{o._$AR()};export{n as TemplateResultType,j as clearPart,p as getCommittedValue,d as getDirectiveClass,r as insertPart,l as isCompiledTemplateResult,c as isDirectiveResult,i as isPrimitive,f as isSingleExpression,e as isTemplateResult,h as removePart,v as setChildPartValue,m as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","import{isSingleExpression as i}from\"./directive-helpers.js\";import{Directive as t,PartType as e}from\"./directive.js\";export{directive}from\"./directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=(i,t)=>{const e=i._$AN;if(void 0===e)return!1;for(const i of e)i._$AO?.(t,!1),s(i,t);return!0},o=i=>{let t,e;do{if(void 0===(t=i._$AM))break;e=t._$AN,e.delete(i),i=t}while(0===e?.size)},r=i=>{for(let t;t=i._$AM;i=t){let e=t._$AN;if(void 0===e)t._$AN=e=new Set;else if(e.has(i))break;e.add(i),c(t)}};function h(i){void 0!==this._$AN?(o(this),this._$AM=i,r(this)):this._$AM=i}function n(i,t=!1,e=0){const r=this._$AH,h=this._$AN;if(void 0!==h&&0!==h.size)if(t)if(Array.isArray(r))for(let i=e;i{i.type==e.CHILD&&(i._$AP??=n,i._$AQ??=h)};class f extends t{constructor(){super(...arguments),this._$AN=void 0}_$AT(i,t,e){super._$AT(i,t,e),r(this),this.isConnected=i._$AU}_$AO(i,t=!0){i!==this.isConnected&&(this.isConnected=i,i?this.reconnected?.():this.disconnected?.()),t&&(s(this,i),o(this))}setValue(t){if(i(this._$Ct))this._$Ct._$AI(t,this);else{const i=[...this._$Ct._$AH];i[this._$Ci]=t,this._$Ct._$AI(i,this,0)}}disconnected(){}reconnected(){}}export{f as AsyncDirective,t as Directive,e as PartType};\n//# sourceMappingURL=async-directive.js.map\n","import{nothing as t}from\"../lit-html.js\";import{AsyncDirective as i}from\"../async-directive.js\";import{directive as s}from\"../directive.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=()=>new h;class h{}const o=new WeakMap,n=s(class extends i{render(i){return t}update(i,[s]){const e=s!==this.Y;return e&&void 0!==this.Y&&this.rt(void 0),(e||this.lt!==this.ct)&&(this.Y=s,this.ht=i.options?.host,this.rt(this.ct=i.element)),t}rt(t){if(\"function\"==typeof this.Y){const i=this.ht??globalThis;let s=o.get(i);void 0===s&&(s=new WeakMap,o.set(i,s)),void 0!==s.get(this.Y)&&this.Y.call(this.ht,void 0),s.set(this.Y,t),void 0!==t&&this.Y.call(this.ht,t)}else this.Y.value=t}get lt(){return\"function\"==typeof this.Y?o.get(this.ht??globalThis)?.get(this.Y):this.Y?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});export{e as createRef,n as ref};\n//# sourceMappingURL=ref.js.map\n","import { css } from 'lit';\nexport default css `\n :host {\n position: relative;\n width: 100%;\n display: inline-block;\n color: var(--wui-color-fg-275);\n }\n\n input {\n width: 100%;\n border-radius: var(--wui-border-radius-xs);\n border: 1px solid var(--wui-gray-glass-005);\n background: var(--wui-gray-glass-005);\n font-size: var(--wui-font-size-paragraph);\n font-weight: var(--wui-font-weight-light);\n letter-spacing: var(--wui-letter-spacing-paragraph);\n color: var(--wui-color-fg-100);\n transition:\n background-color var(--wui-ease-inout-power-1) var(--wui-duration-md),\n border-color var(--wui-ease-inout-power-1) var(--wui-duration-md),\n box-shadow var(--wui-ease-inout-power-1) var(--wui-duration-md);\n will-change: background-color, border-color, box-shadow;\n caret-color: var(--wui-color-accent-100);\n }\n\n input:disabled {\n cursor: not-allowed;\n border: 1px solid var(--wui-gray-glass-010);\n }\n\n input:disabled::placeholder,\n input:disabled + wui-icon {\n color: var(--wui-color-fg-300);\n }\n\n input::placeholder {\n color: var(--wui-color-fg-275);\n }\n\n input:focus:enabled {\n background-color: var(--wui-gray-glass-010);\n border: 1px solid var(--wui-color-accent-100);\n -webkit-box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n -moz-box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n }\n\n input:hover:enabled {\n background-color: var(--wui-gray-glass-010);\n }\n\n wui-icon {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n pointer-events: none;\n }\n\n .wui-size-sm {\n padding: 9px var(--wui-spacing-m) 10px var(--wui-spacing-s);\n }\n\n wui-icon + .wui-size-sm {\n padding: 9px var(--wui-spacing-m) 10px 36px;\n }\n\n wui-icon[data-input='sm'] {\n left: var(--wui-spacing-s);\n }\n\n .wui-size-md {\n padding: 15px var(--wui-spacing-m) var(--wui-spacing-l) var(--wui-spacing-m);\n }\n\n wui-icon + .wui-size-md,\n wui-loading-spinner + .wui-size-md {\n padding: 10.5px var(--wui-spacing-3xl) 10.5px 40px;\n }\n\n wui-icon[data-input='md'] {\n left: var(--wui-spacing-l);\n }\n\n .wui-size-lg {\n padding: var(--wui-spacing-s) var(--wui-spacing-s) var(--wui-spacing-s) var(--wui-spacing-l);\n letter-spacing: var(--wui-letter-spacing-medium-title);\n font-size: var(--wui-font-size-medium-title);\n font-weight: var(--wui-font-weight-light);\n line-height: 130%;\n color: var(--wui-color-fg-100);\n height: 64px;\n }\n\n wui-icon + .wui-size-lg,\n wui-loading-spinner + .wui-size-lg {\n padding-left: 50px;\n }\n\n wui-icon[data-input='lg'] {\n left: var(--wui-spacing-l);\n }\n\n input:placeholder-shown ~ ::slotted(wui-input-element),\n input:placeholder-shown ~ ::slotted(wui-icon) {\n opacity: 0;\n pointer-events: none;\n }\n\n input::-webkit-outer-spin-button,\n input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n input[type='number'] {\n -moz-appearance: textfield;\n }\n\n ::slotted(wui-input-element),\n ::slotted(wui-icon) {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n }\n\n ::slotted(wui-input-element) {\n right: var(--wui-spacing-m);\n }\n\n ::slotted(wui-icon) {\n right: 0px;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { createRef, ref } from 'lit/directives/ref.js';\nimport '../../components/wui-icon/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiInputText = class WuiInputText extends LitElement {\n constructor() {\n super(...arguments);\n this.inputElementRef = createRef();\n this.size = 'md';\n this.disabled = false;\n this.placeholder = '';\n this.type = 'text';\n this.value = '';\n }\n render() {\n const sizeClass = `wui-size-${this.size}`;\n return html ` ${this.templateIcon()}\n \n `;\n }\n templateIcon() {\n if (this.icon) {\n return html ``;\n }\n return null;\n }\n dispatchInputChangeEvent() {\n this.dispatchEvent(new CustomEvent('inputChange', {\n detail: this.inputElementRef.value?.value,\n bubbles: true,\n composed: true\n }));\n }\n};\nWuiInputText.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiInputText.prototype, \"size\", void 0);\n__decorate([\n property()\n], WuiInputText.prototype, \"icon\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiInputText.prototype, \"disabled\", void 0);\n__decorate([\n property()\n], WuiInputText.prototype, \"placeholder\", void 0);\n__decorate([\n property()\n], WuiInputText.prototype, \"type\", void 0);\n__decorate([\n property()\n], WuiInputText.prototype, \"keyHint\", void 0);\n__decorate([\n property()\n], WuiInputText.prototype, \"value\", void 0);\nWuiInputText = __decorate([\n customElement('wui-input-text')\n], WuiInputText);\nexport { WuiInputText };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n position: relative;\n display: inline-block;\n }\n\n wui-text {\n margin: var(--wui-spacing-xxs) var(--wui-spacing-m) var(--wui-spacing-0) var(--wui-spacing-m);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-text/index.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../wui-input-text/index.js';\nimport styles from './styles.js';\nlet WuiEmailInput = class WuiEmailInput extends LitElement {\n constructor() {\n super(...arguments);\n this.disabled = false;\n }\n render() {\n return html `\n \n ${this.templateError()}\n `;\n }\n templateError() {\n if (this.errorMessage) {\n return html `${this.errorMessage}`;\n }\n return null;\n }\n};\nWuiEmailInput.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiEmailInput.prototype, \"errorMessage\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiEmailInput.prototype, \"disabled\", void 0);\n__decorate([\n property()\n], WuiEmailInput.prototype, \"value\", void 0);\nWuiEmailInput = __decorate([\n customElement('wui-email-input')\n], WuiEmailInput);\nexport { WuiEmailInput };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n border-radius: var(--local-border-radius);\n color: var(--wui-color-fg-100);\n padding: var(--local-padding);\n }\n\n @media (max-width: 700px) {\n button {\n padding: var(--wui-spacing-s);\n }\n }\n\n button > wui-icon {\n pointer-events: none;\n }\n\n button:disabled > wui-icon {\n color: var(--wui-color-bg-300) !important;\n }\n\n button:disabled {\n background-color: transparent;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport { colorStyles, elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiIconLink = class WuiIconLink extends LitElement {\n constructor() {\n super(...arguments);\n this.size = 'md';\n this.disabled = false;\n this.icon = 'copy';\n this.iconColor = 'inherit';\n }\n render() {\n const borderRadius = this.size === 'lg' ? '--wui-border-radius-xs' : '--wui-border-radius-xxs';\n const padding = this.size === 'lg' ? '--wui-spacing-1xs' : '--wui-spacing-2xs';\n this.style.cssText = `\n --local-border-radius: var(${borderRadius});\n --local-padding: var(${padding});\n`;\n return html `\n \n `;\n }\n};\nWuiIconLink.styles = [resetStyles, elementStyles, colorStyles, styles];\n__decorate([\n property()\n], WuiIconLink.prototype, \"size\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiIconLink.prototype, \"disabled\", void 0);\n__decorate([\n property()\n], WuiIconLink.prototype, \"icon\", void 0);\n__decorate([\n property()\n], WuiIconLink.prototype, \"iconColor\", void 0);\nWuiIconLink = __decorate([\n customElement('wui-icon-link')\n], WuiIconLink);\nexport { WuiIconLink };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n background-color: var(--wui-color-fg-300);\n border-radius: var(--wui-border-radius-4xs);\n width: 16px;\n height: 16px;\n }\n\n button:disabled {\n background-color: var(--wui-color-bg-300);\n }\n\n wui-icon {\n color: var(--wui-color-bg-200) !important;\n }\n\n button:focus-visible {\n background-color: var(--wui-color-fg-250);\n border: 1px solid var(--wui-color-accent-100);\n }\n\n button:active:enabled {\n background-color: var(--wui-color-fg-225);\n }\n\n @media (hover: hover) and (pointer: fine) {\n button:hover:enabled {\n background-color: var(--wui-color-fg-250);\n }\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiInputElement = class WuiInputElement extends LitElement {\n constructor() {\n super(...arguments);\n this.icon = 'copy';\n }\n render() {\n return html `\n \n `;\n }\n};\nWuiInputElement.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiInputElement.prototype, \"icon\", void 0);\nWuiInputElement = __decorate([\n customElement('wui-input-element')\n], WuiInputElement);\nexport { WuiInputElement };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n position: relative;\n display: inline-block;\n }\n\n input {\n width: 50px;\n height: 50px;\n background: var(--wui-gray-glass-010);\n border-radius: var(--wui-border-radius-xs);\n border: 1px solid var(--wui-gray-glass-005);\n font-family: var(--wui-font-family);\n font-size: var(--wui-font-size-large);\n font-weight: var(--wui-font-weight-regular);\n letter-spacing: var(--wui-letter-spacing-large);\n text-align: center;\n color: var(--wui-color-fg-100);\n caret-color: var(--wui-color-accent-100);\n transition:\n background-color var(--wui-ease-inout-power-1) var(--wui-duration-md),\n border-color var(--wui-ease-inout-power-1) var(--wui-duration-md),\n box-shadow var(--wui-ease-inout-power-1) var(--wui-duration-md);\n will-change: background-color, border-color, box-shadow;\n box-sizing: border-box;\n -webkit-appearance: none;\n -moz-appearance: textfield;\n padding: 0px;\n }\n\n input::-webkit-outer-spin-button,\n input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n input[type='number'] {\n -moz-appearance: textfield;\n }\n\n input:disabled {\n cursor: not-allowed;\n border: 1px solid var(--wui-gray-glass-010);\n background: var(--wui-gray-glass-005);\n }\n\n input:focus:enabled {\n background-color: var(--wui-gray-glass-015);\n border: 1px solid var(--wui-color-accent-100);\n -webkit-box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n -moz-box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n }\n\n @media (hover: hover) and (pointer: fine) {\n input:hover:enabled {\n background-color: var(--wui-gray-glass-015);\n }\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiInputNumeric = class WuiInputNumeric extends LitElement {\n constructor() {\n super(...arguments);\n this.disabled = false;\n this.value = '';\n }\n render() {\n return html ` `;\n }\n};\nWuiInputNumeric.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property({ type: Boolean })\n], WuiInputNumeric.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: String })\n], WuiInputNumeric.prototype, \"value\", void 0);\nWuiInputNumeric = __decorate([\n customElement('wui-input-numeric')\n], WuiInputNumeric);\nexport { WuiInputNumeric };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n padding: var(--wui-spacing-4xs) var(--wui-spacing-xxs);\n border-radius: var(--wui-border-radius-3xs);\n background-color: transparent;\n color: var(--wui-color-accent-100);\n }\n\n button:disabled {\n background-color: transparent;\n color: var(--wui-gray-glass-015);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-text/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiLink = class WuiLink extends LitElement {\n constructor() {\n super(...arguments);\n this.disabled = false;\n this.color = 'inherit';\n }\n render() {\n return html `\n \n `;\n }\n};\nWuiLink.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property({ type: Boolean })\n], WuiLink.prototype, \"disabled\", void 0);\n__decorate([\n property()\n], WuiLink.prototype, \"color\", void 0);\nWuiLink = __decorate([\n customElement('wui-link')\n], WuiLink);\nexport { WuiLink };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n column-gap: var(--wui-spacing-s);\n padding: 11px 18px 11px var(--wui-spacing-s);\n width: 100%;\n background-color: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-xs);\n color: var(--wui-color-fg-250);\n transition:\n color var(--wui-ease-out-power-1) var(--wui-duration-md),\n background-color var(--wui-ease-out-power-1) var(--wui-duration-md);\n will-change: color, background-color;\n }\n\n button[data-iconvariant='square'],\n button[data-iconvariant='square-blue'] {\n padding: 6px 18px 6px 9px;\n }\n\n button > wui-flex {\n flex: 1;\n }\n\n button > wui-image {\n width: 32px;\n height: 32px;\n box-shadow: 0 0 0 2px var(--wui-gray-glass-005);\n border-radius: var(--wui-border-radius-3xl);\n }\n\n button > wui-icon {\n width: 36px;\n height: 36px;\n transition: opacity var(--wui-ease-out-power-1) var(--wui-duration-md);\n will-change: opacity;\n }\n\n button > wui-icon-box[data-variant='blue'] {\n box-shadow: 0 0 0 2px var(--wui-accent-glass-005);\n }\n\n button > wui-icon-box[data-variant='overlay'] {\n box-shadow: 0 0 0 2px var(--wui-gray-glass-005);\n }\n\n button > wui-icon-box[data-variant='square-blue'] {\n border-radius: var(--wui-border-radius-3xs);\n position: relative;\n border: none;\n width: 36px;\n height: 36px;\n }\n\n button > wui-icon-box[data-variant='square-blue']::after {\n content: '';\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n border-radius: inherit;\n border: 1px solid var(--wui-accent-glass-010);\n pointer-events: none;\n }\n\n button > wui-icon:last-child {\n width: 14px;\n height: 14px;\n }\n\n button:disabled {\n background-color: var(--wui-gray-glass-015);\n color: var(--wui-gray-glass-015);\n }\n\n button[data-loading='true'] > wui-icon {\n opacity: 0;\n }\n\n wui-loading-spinner {\n position: absolute;\n right: 18px;\n top: 50%;\n transform: translateY(-50%);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-image/index.js';\nimport '../../components/wui-loading-spinner/index.js';\nimport '../../components/wui-text/index.js';\nimport '../../layout/wui-flex/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../wui-icon-box/index.js';\nimport styles from './styles.js';\nlet WuiListItem = class WuiListItem extends LitElement {\n constructor() {\n super(...arguments);\n this.variant = 'icon';\n this.disabled = false;\n this.imageSrc = undefined;\n this.alt = undefined;\n this.chevron = false;\n this.loading = false;\n }\n render() {\n return html `\n \n ${this.loadingTemplate()} ${this.visualTemplate()}\n \n \n \n ${this.chevronTemplate()}\n \n `;\n }\n visualTemplate() {\n if (this.variant === 'image' && this.imageSrc) {\n return html ``;\n }\n if (this.iconVariant === 'square' && this.icon && this.variant === 'icon') {\n return html ``;\n }\n if (this.variant === 'icon' && this.icon && this.iconVariant) {\n const color = ['blue', 'square-blue'].includes(this.iconVariant) ? 'accent-100' : 'fg-200';\n const size = this.iconVariant === 'square-blue' ? 'mdl' : 'md';\n const iconSize = this.iconSize ? this.iconSize : size;\n return html `\n \n `;\n }\n return null;\n }\n loadingTemplate() {\n if (this.loading) {\n return html ``;\n }\n return html ``;\n }\n chevronTemplate() {\n if (this.chevron) {\n return html ``;\n }\n return null;\n }\n};\nWuiListItem.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiListItem.prototype, \"icon\", void 0);\n__decorate([\n property()\n], WuiListItem.prototype, \"iconSize\", void 0);\n__decorate([\n property()\n], WuiListItem.prototype, \"variant\", void 0);\n__decorate([\n property()\n], WuiListItem.prototype, \"iconVariant\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiListItem.prototype, \"disabled\", void 0);\n__decorate([\n property()\n], WuiListItem.prototype, \"imageSrc\", void 0);\n__decorate([\n property()\n], WuiListItem.prototype, \"alt\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiListItem.prototype, \"chevron\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiListItem.prototype, \"loading\", void 0);\nWuiListItem = __decorate([\n customElement('wui-list-item')\n], WuiListItem);\nexport { WuiListItem };\n//# sourceMappingURL=index.js.map","export var TransactionTypePastTense;\n(function (TransactionTypePastTense) {\n TransactionTypePastTense[\"approve\"] = \"approved\";\n TransactionTypePastTense[\"bought\"] = \"bought\";\n TransactionTypePastTense[\"borrow\"] = \"borrowed\";\n TransactionTypePastTense[\"burn\"] = \"burnt\";\n TransactionTypePastTense[\"cancel\"] = \"canceled\";\n TransactionTypePastTense[\"claim\"] = \"claimed\";\n TransactionTypePastTense[\"deploy\"] = \"deployed\";\n TransactionTypePastTense[\"deposit\"] = \"deposited\";\n TransactionTypePastTense[\"execute\"] = \"executed\";\n TransactionTypePastTense[\"mint\"] = \"minted\";\n TransactionTypePastTense[\"receive\"] = \"received\";\n TransactionTypePastTense[\"repay\"] = \"repaid\";\n TransactionTypePastTense[\"send\"] = \"sent\";\n TransactionTypePastTense[\"sell\"] = \"sold\";\n TransactionTypePastTense[\"stake\"] = \"staked\";\n TransactionTypePastTense[\"trade\"] = \"swapped\";\n TransactionTypePastTense[\"unstake\"] = \"unstaked\";\n TransactionTypePastTense[\"withdraw\"] = \"withdrawn\";\n})(TransactionTypePastTense || (TransactionTypePastTense = {}));\n//# sourceMappingURL=TypeUtil.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-flex {\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n width: 40px;\n height: 40px;\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-005);\n background-color: var(--wui-gray-glass-005);\n }\n\n :host > wui-flex wui-image {\n display: block;\n }\n\n :host > wui-flex,\n :host > wui-flex wui-image,\n .swap-images-container,\n .swap-images-container.nft,\n wui-image.nft {\n border-top-left-radius: var(--local-left-border-radius);\n border-top-right-radius: var(--local-right-border-radius);\n border-bottom-left-radius: var(--local-left-border-radius);\n border-bottom-right-radius: var(--local-right-border-radius);\n }\n\n wui-icon {\n width: 20px;\n height: 20px;\n }\n\n wui-icon-box {\n position: absolute;\n right: 0;\n bottom: 0;\n transform: translate(20%, 20%);\n }\n\n .swap-images-container {\n position: relative;\n width: 40px;\n height: 40px;\n overflow: hidden;\n }\n\n .swap-images-container wui-image:first-child {\n position: absolute;\n width: 40px;\n height: 40px;\n top: 0;\n left: 0%;\n clip-path: inset(0px calc(50% + 2px) 0px 0%);\n }\n\n .swap-images-container wui-image:last-child {\n clip-path: inset(0px 0px 0px calc(50% + 2px));\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../../components/wui-image/index.js';\nimport '../wui-icon-box/index.js';\nimport styles from './styles.js';\nlet WuiTransactionVisual = class WuiTransactionVisual extends LitElement {\n constructor() {\n super(...arguments);\n this.images = [];\n this.secondImage = {\n type: undefined,\n url: ''\n };\n }\n render() {\n const [firstImage, secondImage] = this.images;\n const isLeftNFT = firstImage?.type === 'NFT';\n const isRightNFT = secondImage?.url ? secondImage.type === 'NFT' : isLeftNFT;\n const leftRadius = isLeftNFT ? 'var(--wui-border-radius-xxs)' : 'var(--wui-border-radius-s)';\n const rightRadius = isRightNFT ? 'var(--wui-border-radius-xxs)' : 'var(--wui-border-radius-s)';\n this.style.cssText = `\n --local-left-border-radius: ${leftRadius};\n --local-right-border-radius: ${rightRadius};\n `;\n return html ` ${this.templateVisual()} ${this.templateIcon()} `;\n }\n templateVisual() {\n const [firstImage, secondImage] = this.images;\n const firstImageType = firstImage?.type;\n const haveTwoImages = this.images.length === 2;\n if (haveTwoImages && (firstImage?.url || secondImage?.url)) {\n return html `
\n ${firstImage?.url\n ? html ``\n : null}\n ${secondImage?.url\n ? html ``\n : null}\n
`;\n }\n else if (firstImage?.url) {\n return html ``;\n }\n else if (firstImageType === 'NFT') {\n return html ``;\n }\n return html ``;\n }\n templateIcon() {\n let color = 'accent-100';\n let icon = undefined;\n icon = this.getIcon();\n if (this.status) {\n color = this.getStatusColor();\n }\n if (!icon) {\n return null;\n }\n return html `\n \n `;\n }\n getDirectionIcon() {\n switch (this.direction) {\n case 'in':\n return 'arrowBottom';\n case 'out':\n return 'arrowTop';\n default:\n return undefined;\n }\n }\n getIcon() {\n if (this.onlyDirectionIcon) {\n return this.getDirectionIcon();\n }\n if (this.type === 'trade') {\n return 'swapHorizontalBold';\n }\n else if (this.type === 'approve') {\n return 'checkmark';\n }\n else if (this.type === 'cancel') {\n return 'close';\n }\n return this.getDirectionIcon();\n }\n getStatusColor() {\n switch (this.status) {\n case 'confirmed':\n return 'success-100';\n case 'failed':\n return 'error-100';\n case 'pending':\n return 'inverse-100';\n default:\n return 'accent-100';\n }\n }\n};\nWuiTransactionVisual.styles = [styles];\n__decorate([\n property()\n], WuiTransactionVisual.prototype, \"type\", void 0);\n__decorate([\n property()\n], WuiTransactionVisual.prototype, \"status\", void 0);\n__decorate([\n property()\n], WuiTransactionVisual.prototype, \"direction\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiTransactionVisual.prototype, \"onlyDirectionIcon\", void 0);\n__decorate([\n property({ type: Array })\n], WuiTransactionVisual.prototype, \"images\", void 0);\n__decorate([\n property({ type: Object })\n], WuiTransactionVisual.prototype, \"secondImage\", void 0);\nWuiTransactionVisual = __decorate([\n customElement('wui-transaction-visual')\n], WuiTransactionVisual);\nexport { WuiTransactionVisual };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-flex:first-child {\n align-items: center;\n column-gap: var(--wui-spacing-s);\n padding: 6.5px var(--wui-spacing-xs) 6.5px var(--wui-spacing-xs);\n width: 100%;\n }\n\n :host > wui-flex:first-child wui-text:nth-child(1) {\n text-transform: capitalize;\n }\n\n wui-transaction-visual {\n width: 40px;\n height: 40px;\n }\n\n wui-flex {\n flex: 1;\n }\n\n :host wui-flex wui-flex {\n overflow: hidden;\n }\n\n :host .description-container wui-text span {\n word-break: break-all;\n }\n\n :host .description-container wui-text {\n overflow: hidden;\n }\n\n :host .description-separator-icon {\n margin: 0px 6px;\n }\n\n :host wui-text > span {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport { TransactionTypePastTense } from '../../utils/TypeUtil.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport '../../components/wui-text/index.js';\nimport '../wui-transaction-visual/index.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nlet WuiTransactionListItem = class WuiTransactionListItem extends LitElement {\n constructor() {\n super(...arguments);\n this.type = 'approve';\n this.onlyDirectionIcon = false;\n this.images = [];\n this.price = [];\n this.amount = [];\n this.symbol = [];\n }\n render() {\n return html `\n \n \n \n \n ${TransactionTypePastTense[this.type] || this.type}\n \n \n ${this.templateDescription()} ${this.templateSecondDescription()}\n \n \n ${this.date}\n \n `;\n }\n templateDescription() {\n const description = this.descriptions?.[0];\n return description\n ? html `\n \n ${description}\n \n `\n : null;\n }\n templateSecondDescription() {\n const description = this.descriptions?.[1];\n return description\n ? html `\n \n \n ${description}\n \n `\n : null;\n }\n};\nWuiTransactionListItem.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiTransactionListItem.prototype, \"type\", void 0);\n__decorate([\n property({ type: Array })\n], WuiTransactionListItem.prototype, \"descriptions\", void 0);\n__decorate([\n property()\n], WuiTransactionListItem.prototype, \"date\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiTransactionListItem.prototype, \"onlyDirectionIcon\", void 0);\n__decorate([\n property()\n], WuiTransactionListItem.prototype, \"status\", void 0);\n__decorate([\n property()\n], WuiTransactionListItem.prototype, \"direction\", void 0);\n__decorate([\n property({ type: Array })\n], WuiTransactionListItem.prototype, \"images\", void 0);\n__decorate([\n property({ type: Array })\n], WuiTransactionListItem.prototype, \"price\", void 0);\n__decorate([\n property({ type: Array })\n], WuiTransactionListItem.prototype, \"amount\", void 0);\n__decorate([\n property({ type: Array })\n], WuiTransactionListItem.prototype, \"symbol\", void 0);\nWuiTransactionListItem = __decorate([\n customElement('wui-transaction-list-item')\n], WuiTransactionListItem);\nexport { WuiTransactionListItem };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-flex:first-child {\n column-gap: var(--wui-spacing-s);\n padding: 7px var(--wui-spacing-l) 7px var(--wui-spacing-xs);\n width: 100%;\n }\n\n wui-flex {\n display: flex;\n flex: 1;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport '../../components/wui-text/index.js';\nimport '../wui-transaction-visual/index.js';\nimport styles from './styles.js';\nlet WuiTransactionListItemLoader = class WuiTransactionListItemLoader extends LitElement {\n render() {\n return html `\n \n \n \n \n \n \n \n \n `;\n }\n};\nWuiTransactionListItemLoader.styles = [resetStyles, styles];\nWuiTransactionListItemLoader = __decorate([\n customElement('wui-transaction-list-item-loader')\n], WuiTransactionListItemLoader);\nexport { WuiTransactionListItemLoader };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: flex;\n justify-content: center;\n align-items: center;\n height: var(--wui-spacing-m);\n padding: 0 var(--wui-spacing-3xs) !important;\n border-radius: var(--wui-border-radius-5xs);\n }\n\n :host > wui-text {\n transform: translateY(5%);\n }\n\n :host([data-variant='main']) {\n background-color: var(--wui-accent-glass-015);\n color: var(--wui-color-accent-100);\n }\n\n :host([data-variant='shade']) {\n background-color: var(--wui-gray-glass-010);\n color: var(--wui-color-fg-200);\n }\n\n :host([data-variant='success']) {\n background-color: var(--wui-icon-box-bg-success-100);\n color: var(--wui-color-success-100);\n }\n\n :host([data-variant='error']) {\n background-color: var(--wui-icon-box-bg-error-100);\n color: var(--wui-color-error-100);\n }\n\n :host([data-size='lg']) {\n padding: 9px 5px !important;\n }\n\n :host([data-size='lg']) > wui-text {\n transform: translateY(2%);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-text/index.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiTag = class WuiTag extends LitElement {\n constructor() {\n super(...arguments);\n this.variant = 'main';\n this.size = 'lg';\n }\n render() {\n this.dataset['variant'] = this.variant;\n this.dataset['size'] = this.size;\n const textVariant = this.size === 'md' ? 'mini-700' : 'micro-700';\n return html `\n \n \n \n `;\n }\n};\nWuiTag.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiTag.prototype, \"variant\", void 0);\n__decorate([\n property()\n], WuiTag.prototype, \"size\", void 0);\nWuiTag = __decorate([\n customElement('wui-tag')\n], WuiTag);\nexport { WuiTag };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n column-gap: var(--wui-spacing-s);\n padding: 7px var(--wui-spacing-l) 7px var(--wui-spacing-xs);\n width: 100%;\n background-color: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-xs);\n color: var(--wui-color-fg-100);\n }\n\n button > wui-text:nth-child(2) {\n display: flex;\n flex: 1;\n }\n\n wui-icon {\n color: var(--wui-color-fg-200) !important;\n }\n\n button:disabled {\n background-color: var(--wui-gray-glass-015);\n color: var(--wui-gray-glass-015);\n }\n\n button:disabled > wui-tag {\n background-color: var(--wui-gray-glass-010);\n color: var(--wui-color-fg-300);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../composites/wui-icon-box/index.js';\nimport '../../components/wui-text/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../wui-all-wallets-image/index.js';\nimport '../wui-tag/index.js';\nimport '../wui-wallet-image/index.js';\nimport styles from './styles.js';\nlet WuiListWallet = class WuiListWallet extends LitElement {\n constructor() {\n super(...arguments);\n this.walletImages = [];\n this.imageSrc = '';\n this.name = '';\n this.installed = false;\n this.disabled = false;\n this.showAllWallets = false;\n }\n render() {\n return html `\n \n `;\n }\n templateAllWallets() {\n if (this.showAllWallets && this.imageSrc) {\n return html ` `;\n }\n else if (this.showAllWallets && this.walletIcon) {\n return html ` `;\n }\n return null;\n }\n templateWalletImage() {\n if (!this.showAllWallets && this.imageSrc) {\n return html ``;\n }\n else if (!this.showAllWallets && !this.imageSrc) {\n return html ``;\n }\n return null;\n }\n templateStatus() {\n if (this.tagLabel && this.tagVariant) {\n return html `${this.tagLabel}`;\n }\n else if (this.icon) {\n return html ``;\n }\n return null;\n }\n};\nWuiListWallet.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property({ type: Array })\n], WuiListWallet.prototype, \"walletImages\", void 0);\n__decorate([\n property()\n], WuiListWallet.prototype, \"imageSrc\", void 0);\n__decorate([\n property()\n], WuiListWallet.prototype, \"name\", void 0);\n__decorate([\n property()\n], WuiListWallet.prototype, \"tagLabel\", void 0);\n__decorate([\n property()\n], WuiListWallet.prototype, \"tagVariant\", void 0);\n__decorate([\n property()\n], WuiListWallet.prototype, \"icon\", void 0);\n__decorate([\n property()\n], WuiListWallet.prototype, \"walletIcon\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiListWallet.prototype, \"installed\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiListWallet.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiListWallet.prototype, \"showAllWallets\", void 0);\nWuiListWallet = __decorate([\n customElement('wui-list-wallet')\n], WuiListWallet);\nexport { WuiListWallet };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n width: 40px;\n height: 40px;\n border-radius: var(--wui-border-radius-3xl);\n border: 1px solid var(--wui-gray-glass-010);\n overflow: hidden;\n }\n\n wui-icon {\n width: 100%;\n height: 100%;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiLogo = class WuiLogo extends LitElement {\n constructor() {\n super(...arguments);\n this.logo = 'google';\n }\n render() {\n return html ` `;\n }\n};\nWuiLogo.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiLogo.prototype, \"logo\", void 0);\nWuiLogo = __decorate([\n customElement('wui-logo')\n], WuiLogo);\nexport { WuiLogo };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n }\n\n button {\n width: 50px;\n height: 50px;\n background: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-xs);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../wui-logo/index.js';\nimport styles from './styles.js';\nlet WuiLogoSelect = class WuiLogoSelect extends LitElement {\n constructor() {\n super(...arguments);\n this.logo = 'google';\n this.disabled = false;\n }\n render() {\n return html `\n \n `;\n }\n};\nWuiLogoSelect.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiLogoSelect.prototype, \"logo\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiLogoSelect.prototype, \"disabled\", void 0);\nWuiLogoSelect = __decorate([\n customElement('wui-logo-select')\n], WuiLogoSelect);\nexport { WuiLogoSelect };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n }\n\n button {\n border-radius: var(--wui-border-radius-3xl);\n display: flex;\n gap: var(--wui-spacing-xs);\n padding: var(--wui-spacing-2xs) var(--wui-spacing-s) var(--wui-spacing-2xs)\n var(--wui-spacing-xs);\n border: 1px solid var(--wui-gray-glass-010);\n background-color: var(--wui-gray-glass-005);\n color: var(--wui-color-fg-100);\n }\n\n button:disabled {\n border: 1px solid var(--wui-gray-glass-005);\n background-color: var(--wui-gray-glass-015);\n color: var(--wui-gray-glass-015);\n }\n\n @media (hover: hover) and (pointer: fine) {\n button:hover:enabled {\n background-color: var(--wui-gray-glass-010);\n }\n\n button:active:enabled {\n background-color: var(--wui-gray-glass-015);\n }\n }\n\n wui-image,\n wui-icon-box {\n border-radius: var(--wui-border-radius-3xl);\n width: 24px;\n height: 24px;\n box-shadow: 0 0 0 2px var(--wui-gray-glass-005);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-image/index.js';\nimport '../../components/wui-text/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../wui-icon-box/index.js';\nimport styles from './styles.js';\nlet WuiNetworkButton = class WuiNetworkButton extends LitElement {\n constructor() {\n super(...arguments);\n this.imageSrc = undefined;\n this.isUnsupportedChain = undefined;\n this.disabled = false;\n }\n render() {\n return html `\n \n `;\n }\n visualTemplate() {\n if (this.isUnsupportedChain) {\n return html `\n \n `;\n }\n if (this.imageSrc) {\n return html ``;\n }\n return html `\n \n `;\n }\n};\nWuiNetworkButton.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiNetworkButton.prototype, \"imageSrc\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiNetworkButton.prototype, \"isUnsupportedChain\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiNetworkButton.prototype, \"disabled\", void 0);\nWuiNetworkButton = __decorate([\n customElement('wui-network-button')\n], WuiNetworkButton);\nexport { WuiNetworkButton };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n position: relative;\n display: block;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport '../../layout/wui-flex/index.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { UiHelperUtil } from '../../utils/UiHelperUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../wui-input-numeric/index.js';\nimport { WuiInputNumeric } from '../wui-input-numeric/index.js';\nimport styles from './styles.js';\nlet WuiOtp = class WuiOtp extends LitElement {\n constructor() {\n super(...arguments);\n this.length = 6;\n this.otp = '';\n this.values = Array.from({ length: this.length }).map(() => '');\n this.numerics = [];\n this.shouldInputBeEnabled = (index) => {\n const previousInputs = this.values.slice(0, index);\n return previousInputs.every(input => input !== '');\n };\n this.handleKeyDown = (e, index) => {\n const inputElement = e.target;\n const input = this.getInputElement(inputElement);\n const keyArr = ['ArrowLeft', 'ArrowRight', 'Shift', 'Delete'];\n if (!input) {\n return;\n }\n if (keyArr.includes(e.key)) {\n e.preventDefault();\n }\n const currentCaretPos = input.selectionStart;\n switch (e.key) {\n case 'ArrowLeft':\n if (currentCaretPos) {\n input.setSelectionRange(currentCaretPos + 1, currentCaretPos + 1);\n }\n this.focusInputField('prev', index);\n break;\n case 'ArrowRight':\n this.focusInputField('next', index);\n break;\n case 'Shift':\n this.focusInputField('next', index);\n break;\n case 'Delete':\n if (input.value === '') {\n this.focusInputField('prev', index);\n }\n else {\n this.updateInput(input, index, '');\n }\n break;\n case 'Backspace':\n if (input.value === '') {\n this.focusInputField('prev', index);\n }\n else {\n this.updateInput(input, index, '');\n }\n break;\n default:\n }\n };\n this.focusInputField = (dir, index) => {\n if (dir === 'next') {\n const nextIndex = index + 1;\n if (!this.shouldInputBeEnabled(nextIndex)) {\n return;\n }\n const numeric = this.numerics[nextIndex < this.length ? nextIndex : index];\n const input = numeric ? this.getInputElement(numeric) : undefined;\n if (input) {\n input.disabled = false;\n input.focus();\n }\n }\n if (dir === 'prev') {\n const nextIndex = index - 1;\n const numeric = this.numerics[nextIndex > -1 ? nextIndex : index];\n const input = numeric ? this.getInputElement(numeric) : undefined;\n if (input) {\n input.focus();\n }\n }\n };\n }\n firstUpdated() {\n if (this.otp) {\n this.values = this.otp.split('');\n }\n const numericElements = this.shadowRoot?.querySelectorAll('wui-input-numeric');\n if (numericElements) {\n this.numerics = Array.from(numericElements);\n }\n this.numerics[0]?.focus();\n }\n render() {\n return html `\n \n ${Array.from({ length: this.length }).map((_, index) => html `\n this.handleInput(e, index)}\n @click=${(e) => this.selectInput(e)}\n @keydown=${(e) => this.handleKeyDown(e, index)}\n .disabled=${!this.shouldInputBeEnabled(index)}\n .value=${this.values[index] || ''}\n >\n \n `)}\n \n `;\n }\n updateInput(element, index, value) {\n const numeric = this.numerics[index];\n const input = element || (numeric ? this.getInputElement(numeric) : undefined);\n if (input) {\n input.value = value;\n this.values = this.values.map((val, i) => (i === index ? value : val));\n }\n }\n selectInput(e) {\n const targetElement = e.target;\n if (targetElement) {\n const inputElement = this.getInputElement(targetElement);\n inputElement?.select();\n }\n }\n handleInput(e, index) {\n const inputElement = e.target;\n const input = this.getInputElement(inputElement);\n if (input) {\n const inputValue = input.value;\n if (e.inputType === 'insertFromPaste') {\n this.handlePaste(input, inputValue, index);\n }\n else {\n const isValid = UiHelperUtil.isNumber(inputValue);\n if (isValid && e.data) {\n this.updateInput(input, index, e.data);\n this.focusInputField('next', index);\n }\n else {\n this.updateInput(input, index, '');\n }\n }\n }\n this.dispatchInputChangeEvent();\n }\n handlePaste(input, inputValue, index) {\n const value = inputValue[0];\n const isValid = value && UiHelperUtil.isNumber(value);\n if (isValid) {\n this.updateInput(input, index, value);\n const inputString = inputValue.substring(1);\n if (index + 1 < this.length && inputString.length) {\n const nextNumeric = this.numerics[index + 1];\n const nextInput = nextNumeric ? this.getInputElement(nextNumeric) : undefined;\n if (nextInput) {\n this.handlePaste(nextInput, inputString, index + 1);\n }\n }\n else {\n this.focusInputField('next', index);\n }\n }\n else {\n this.updateInput(input, index, '');\n }\n }\n getInputElement(el) {\n if (el.shadowRoot?.querySelector('input')) {\n return el.shadowRoot.querySelector('input');\n }\n return null;\n }\n dispatchInputChangeEvent() {\n const value = this.values.join('');\n this.dispatchEvent(new CustomEvent('inputChange', {\n detail: value,\n bubbles: true,\n composed: true\n }));\n }\n};\nWuiOtp.styles = [resetStyles, styles];\n__decorate([\n property({ type: Number })\n], WuiOtp.prototype, \"length\", void 0);\n__decorate([\n property({ type: String })\n], WuiOtp.prototype, \"otp\", void 0);\n__decorate([\n state()\n], WuiOtp.prototype, \"values\", void 0);\nWuiOtp = __decorate([\n customElement('wui-otp')\n], WuiOtp);\nexport { WuiOtp };\n//# sourceMappingURL=index.js.map","// can-promise has a crash in some versions of react native that dont have\n// standard global objects\n// https://github.com/soldair/node-qrcode/issues/157\n\nmodule.exports = function () {\n return typeof Promise === 'function' && Promise.prototype && Promise.prototype.then\n}\n","let toSJISFunction\nconst CODEWORDS_COUNT = [\n 0, // Not used\n 26, 44, 70, 100, 134, 172, 196, 242, 292, 346,\n 404, 466, 532, 581, 655, 733, 815, 901, 991, 1085,\n 1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, 2185,\n 2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706\n]\n\n/**\n * Returns the QR Code size for the specified version\n *\n * @param {Number} version QR Code version\n * @return {Number} size of QR code\n */\nexports.getSymbolSize = function getSymbolSize (version) {\n if (!version) throw new Error('\"version\" cannot be null or undefined')\n if (version < 1 || version > 40) throw new Error('\"version\" should be in range from 1 to 40')\n return version * 4 + 17\n}\n\n/**\n * Returns the total number of codewords used to store data and EC information.\n *\n * @param {Number} version QR Code version\n * @return {Number} Data length in bits\n */\nexports.getSymbolTotalCodewords = function getSymbolTotalCodewords (version) {\n return CODEWORDS_COUNT[version]\n}\n\n/**\n * Encode data with Bose-Chaudhuri-Hocquenghem\n *\n * @param {Number} data Value to encode\n * @return {Number} Encoded value\n */\nexports.getBCHDigit = function (data) {\n let digit = 0\n\n while (data !== 0) {\n digit++\n data >>>= 1\n }\n\n return digit\n}\n\nexports.setToSJISFunction = function setToSJISFunction (f) {\n if (typeof f !== 'function') {\n throw new Error('\"toSJISFunc\" is not a valid function.')\n }\n\n toSJISFunction = f\n}\n\nexports.isKanjiModeEnabled = function () {\n return typeof toSJISFunction !== 'undefined'\n}\n\nexports.toSJIS = function toSJIS (kanji) {\n return toSJISFunction(kanji)\n}\n","exports.L = { bit: 1 }\nexports.M = { bit: 0 }\nexports.Q = { bit: 3 }\nexports.H = { bit: 2 }\n\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n const lcStr = string.toLowerCase()\n\n switch (lcStr) {\n case 'l':\n case 'low':\n return exports.L\n\n case 'm':\n case 'medium':\n return exports.M\n\n case 'q':\n case 'quartile':\n return exports.Q\n\n case 'h':\n case 'high':\n return exports.H\n\n default:\n throw new Error('Unknown EC Level: ' + string)\n }\n}\n\nexports.isValid = function isValid (level) {\n return level && typeof level.bit !== 'undefined' &&\n level.bit >= 0 && level.bit < 4\n}\n\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n}\n","function BitBuffer () {\n this.buffer = []\n this.length = 0\n}\n\nBitBuffer.prototype = {\n\n get: function (index) {\n const bufIndex = Math.floor(index / 8)\n return ((this.buffer[bufIndex] >>> (7 - index % 8)) & 1) === 1\n },\n\n put: function (num, length) {\n for (let i = 0; i < length; i++) {\n this.putBit(((num >>> (length - i - 1)) & 1) === 1)\n }\n },\n\n getLengthInBits: function () {\n return this.length\n },\n\n putBit: function (bit) {\n const bufIndex = Math.floor(this.length / 8)\n if (this.buffer.length <= bufIndex) {\n this.buffer.push(0)\n }\n\n if (bit) {\n this.buffer[bufIndex] |= (0x80 >>> (this.length % 8))\n }\n\n this.length++\n }\n}\n\nmodule.exports = BitBuffer\n","/**\n * Helper class to handle QR Code symbol modules\n *\n * @param {Number} size Symbol size\n */\nfunction BitMatrix (size) {\n if (!size || size < 1) {\n throw new Error('BitMatrix size must be defined and greater than 0')\n }\n\n this.size = size\n this.data = new Uint8Array(size * size)\n this.reservedBit = new Uint8Array(size * size)\n}\n\n/**\n * Set bit value at specified location\n * If reserved flag is set, this bit will be ignored during masking process\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n * @param {Boolean} reserved\n */\nBitMatrix.prototype.set = function (row, col, value, reserved) {\n const index = row * this.size + col\n this.data[index] = value\n if (reserved) this.reservedBit[index] = true\n}\n\n/**\n * Returns bit value at specified location\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.get = function (row, col) {\n return this.data[row * this.size + col]\n}\n\n/**\n * Applies xor operator at specified location\n * (used during masking process)\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n */\nBitMatrix.prototype.xor = function (row, col, value) {\n this.data[row * this.size + col] ^= value\n}\n\n/**\n * Check if bit at specified location is reserved\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.isReserved = function (row, col) {\n return this.reservedBit[row * this.size + col]\n}\n\nmodule.exports = BitMatrix\n","/**\n * Alignment pattern are fixed reference pattern in defined positions\n * in a matrix symbology, which enables the decode software to re-synchronise\n * the coordinate mapping of the image modules in the event of moderate amounts\n * of distortion of the image.\n *\n * Alignment patterns are present only in QR Code symbols of version 2 or larger\n * and their number depends on the symbol version.\n */\n\nconst getSymbolSize = require('./utils').getSymbolSize\n\n/**\n * Calculate the row/column coordinates of the center module of each alignment pattern\n * for the specified QR Code version.\n *\n * The alignment patterns are positioned symmetrically on either side of the diagonal\n * running from the top left corner of the symbol to the bottom right corner.\n *\n * Since positions are simmetrical only half of the coordinates are returned.\n * Each item of the array will represent in turn the x and y coordinate.\n * @see {@link getPositions}\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinate\n */\nexports.getRowColCoords = function getRowColCoords (version) {\n if (version === 1) return []\n\n const posCount = Math.floor(version / 7) + 2\n const size = getSymbolSize(version)\n const intervals = size === 145 ? 26 : Math.ceil((size - 13) / (2 * posCount - 2)) * 2\n const positions = [size - 7] // Last coord is always (size - 7)\n\n for (let i = 1; i < posCount - 1; i++) {\n positions[i] = positions[i - 1] - intervals\n }\n\n positions.push(6) // First coord is always 6\n\n return positions.reverse()\n}\n\n/**\n * Returns an array containing the positions of each alignment pattern.\n * Each array's element represent the center point of the pattern as (x, y) coordinates\n *\n * Coordinates are calculated expanding the row/column coordinates returned by {@link getRowColCoords}\n * and filtering out the items that overlaps with finder pattern\n *\n * @example\n * For a Version 7 symbol {@link getRowColCoords} returns values 6, 22 and 38.\n * The alignment patterns, therefore, are to be centered on (row, column)\n * positions (6,22), (22,6), (22,22), (22,38), (38,22), (38,38).\n * Note that the coordinates (6,6), (6,38), (38,6) are occupied by finder patterns\n * and are not therefore used for alignment patterns.\n *\n * let pos = getPositions(7)\n * // [[6,22], [22,6], [22,22], [22,38], [38,22], [38,38]]\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n const coords = []\n const pos = exports.getRowColCoords(version)\n const posLength = pos.length\n\n for (let i = 0; i < posLength; i++) {\n for (let j = 0; j < posLength; j++) {\n // Skip if position is occupied by finder patterns\n if ((i === 0 && j === 0) || // top-left\n (i === 0 && j === posLength - 1) || // bottom-left\n (i === posLength - 1 && j === 0)) { // top-right\n continue\n }\n\n coords.push([pos[i], pos[j]])\n }\n }\n\n return coords\n}\n","const getSymbolSize = require('./utils').getSymbolSize\nconst FINDER_PATTERN_SIZE = 7\n\n/**\n * Returns an array containing the positions of each finder pattern.\n * Each array's element represent the top-left point of the pattern as (x, y) coordinates\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n const size = getSymbolSize(version)\n\n return [\n // top-left\n [0, 0],\n // top-right\n [size - FINDER_PATTERN_SIZE, 0],\n // bottom-left\n [0, size - FINDER_PATTERN_SIZE]\n ]\n}\n","/**\n * Data mask pattern reference\n * @type {Object}\n */\nexports.Patterns = {\n PATTERN000: 0,\n PATTERN001: 1,\n PATTERN010: 2,\n PATTERN011: 3,\n PATTERN100: 4,\n PATTERN101: 5,\n PATTERN110: 6,\n PATTERN111: 7\n}\n\n/**\n * Weighted penalty scores for the undesirable features\n * @type {Object}\n */\nconst PenaltyScores = {\n N1: 3,\n N2: 3,\n N3: 40,\n N4: 10\n}\n\n/**\n * Check if mask pattern value is valid\n *\n * @param {Number} mask Mask pattern\n * @return {Boolean} true if valid, false otherwise\n */\nexports.isValid = function isValid (mask) {\n return mask != null && mask !== '' && !isNaN(mask) && mask >= 0 && mask <= 7\n}\n\n/**\n * Returns mask pattern from a value.\n * If value is not valid, returns undefined\n *\n * @param {Number|String} value Mask pattern value\n * @return {Number} Valid mask pattern or undefined\n */\nexports.from = function from (value) {\n return exports.isValid(value) ? parseInt(value, 10) : undefined\n}\n\n/**\n* Find adjacent modules in row/column with the same color\n* and assign a penalty value.\n*\n* Points: N1 + i\n* i is the amount by which the number of adjacent modules of the same color exceeds 5\n*/\nexports.getPenaltyN1 = function getPenaltyN1 (data) {\n const size = data.size\n let points = 0\n let sameCountCol = 0\n let sameCountRow = 0\n let lastCol = null\n let lastRow = null\n\n for (let row = 0; row < size; row++) {\n sameCountCol = sameCountRow = 0\n lastCol = lastRow = null\n\n for (let col = 0; col < size; col++) {\n let module = data.get(row, col)\n if (module === lastCol) {\n sameCountCol++\n } else {\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)\n lastCol = module\n sameCountCol = 1\n }\n\n module = data.get(col, row)\n if (module === lastRow) {\n sameCountRow++\n } else {\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)\n lastRow = module\n sameCountRow = 1\n }\n }\n\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)\n }\n\n return points\n}\n\n/**\n * Find 2x2 blocks with the same color and assign a penalty value\n *\n * Points: N2 * (m - 1) * (n - 1)\n */\nexports.getPenaltyN2 = function getPenaltyN2 (data) {\n const size = data.size\n let points = 0\n\n for (let row = 0; row < size - 1; row++) {\n for (let col = 0; col < size - 1; col++) {\n const last = data.get(row, col) +\n data.get(row, col + 1) +\n data.get(row + 1, col) +\n data.get(row + 1, col + 1)\n\n if (last === 4 || last === 0) points++\n }\n }\n\n return points * PenaltyScores.N2\n}\n\n/**\n * Find 1:1:3:1:1 ratio (dark:light:dark:light:dark) pattern in row/column,\n * preceded or followed by light area 4 modules wide\n *\n * Points: N3 * number of pattern found\n */\nexports.getPenaltyN3 = function getPenaltyN3 (data) {\n const size = data.size\n let points = 0\n let bitsCol = 0\n let bitsRow = 0\n\n for (let row = 0; row < size; row++) {\n bitsCol = bitsRow = 0\n for (let col = 0; col < size; col++) {\n bitsCol = ((bitsCol << 1) & 0x7FF) | data.get(row, col)\n if (col >= 10 && (bitsCol === 0x5D0 || bitsCol === 0x05D)) points++\n\n bitsRow = ((bitsRow << 1) & 0x7FF) | data.get(col, row)\n if (col >= 10 && (bitsRow === 0x5D0 || bitsRow === 0x05D)) points++\n }\n }\n\n return points * PenaltyScores.N3\n}\n\n/**\n * Calculate proportion of dark modules in entire symbol\n *\n * Points: N4 * k\n *\n * k is the rating of the deviation of the proportion of dark modules\n * in the symbol from 50% in steps of 5%\n */\nexports.getPenaltyN4 = function getPenaltyN4 (data) {\n let darkCount = 0\n const modulesCount = data.data.length\n\n for (let i = 0; i < modulesCount; i++) darkCount += data.data[i]\n\n const k = Math.abs(Math.ceil((darkCount * 100 / modulesCount) / 5) - 10)\n\n return k * PenaltyScores.N4\n}\n\n/**\n * Return mask value at given position\n *\n * @param {Number} maskPattern Pattern reference value\n * @param {Number} i Row\n * @param {Number} j Column\n * @return {Boolean} Mask value\n */\nfunction getMaskAt (maskPattern, i, j) {\n switch (maskPattern) {\n case exports.Patterns.PATTERN000: return (i + j) % 2 === 0\n case exports.Patterns.PATTERN001: return i % 2 === 0\n case exports.Patterns.PATTERN010: return j % 3 === 0\n case exports.Patterns.PATTERN011: return (i + j) % 3 === 0\n case exports.Patterns.PATTERN100: return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 === 0\n case exports.Patterns.PATTERN101: return (i * j) % 2 + (i * j) % 3 === 0\n case exports.Patterns.PATTERN110: return ((i * j) % 2 + (i * j) % 3) % 2 === 0\n case exports.Patterns.PATTERN111: return ((i * j) % 3 + (i + j) % 2) % 2 === 0\n\n default: throw new Error('bad maskPattern:' + maskPattern)\n }\n}\n\n/**\n * Apply a mask pattern to a BitMatrix\n *\n * @param {Number} pattern Pattern reference number\n * @param {BitMatrix} data BitMatrix data\n */\nexports.applyMask = function applyMask (pattern, data) {\n const size = data.size\n\n for (let col = 0; col < size; col++) {\n for (let row = 0; row < size; row++) {\n if (data.isReserved(row, col)) continue\n data.xor(row, col, getMaskAt(pattern, row, col))\n }\n }\n}\n\n/**\n * Returns the best mask pattern for data\n *\n * @param {BitMatrix} data\n * @return {Number} Mask pattern reference number\n */\nexports.getBestMask = function getBestMask (data, setupFormatFunc) {\n const numPatterns = Object.keys(exports.Patterns).length\n let bestPattern = 0\n let lowerPenalty = Infinity\n\n for (let p = 0; p < numPatterns; p++) {\n setupFormatFunc(p)\n exports.applyMask(p, data)\n\n // Calculate penalty\n const penalty =\n exports.getPenaltyN1(data) +\n exports.getPenaltyN2(data) +\n exports.getPenaltyN3(data) +\n exports.getPenaltyN4(data)\n\n // Undo previously applied mask\n exports.applyMask(p, data)\n\n if (penalty < lowerPenalty) {\n lowerPenalty = penalty\n bestPattern = p\n }\n }\n\n return bestPattern\n}\n","const ECLevel = require('./error-correction-level')\r\n\r\nconst EC_BLOCKS_TABLE = [\r\n// L M Q H\r\n 1, 1, 1, 1,\r\n 1, 1, 1, 1,\r\n 1, 1, 2, 2,\r\n 1, 2, 2, 4,\r\n 1, 2, 4, 4,\r\n 2, 4, 4, 4,\r\n 2, 4, 6, 5,\r\n 2, 4, 6, 6,\r\n 2, 5, 8, 8,\r\n 4, 5, 8, 8,\r\n 4, 5, 8, 11,\r\n 4, 8, 10, 11,\r\n 4, 9, 12, 16,\r\n 4, 9, 16, 16,\r\n 6, 10, 12, 18,\r\n 6, 10, 17, 16,\r\n 6, 11, 16, 19,\r\n 6, 13, 18, 21,\r\n 7, 14, 21, 25,\r\n 8, 16, 20, 25,\r\n 8, 17, 23, 25,\r\n 9, 17, 23, 34,\r\n 9, 18, 25, 30,\r\n 10, 20, 27, 32,\r\n 12, 21, 29, 35,\r\n 12, 23, 34, 37,\r\n 12, 25, 34, 40,\r\n 13, 26, 35, 42,\r\n 14, 28, 38, 45,\r\n 15, 29, 40, 48,\r\n 16, 31, 43, 51,\r\n 17, 33, 45, 54,\r\n 18, 35, 48, 57,\r\n 19, 37, 51, 60,\r\n 19, 38, 53, 63,\r\n 20, 40, 56, 66,\r\n 21, 43, 59, 70,\r\n 22, 45, 62, 74,\r\n 24, 47, 65, 77,\r\n 25, 49, 68, 81\r\n]\r\n\r\nconst EC_CODEWORDS_TABLE = [\r\n// L M Q H\r\n 7, 10, 13, 17,\r\n 10, 16, 22, 28,\r\n 15, 26, 36, 44,\r\n 20, 36, 52, 64,\r\n 26, 48, 72, 88,\r\n 36, 64, 96, 112,\r\n 40, 72, 108, 130,\r\n 48, 88, 132, 156,\r\n 60, 110, 160, 192,\r\n 72, 130, 192, 224,\r\n 80, 150, 224, 264,\r\n 96, 176, 260, 308,\r\n 104, 198, 288, 352,\r\n 120, 216, 320, 384,\r\n 132, 240, 360, 432,\r\n 144, 280, 408, 480,\r\n 168, 308, 448, 532,\r\n 180, 338, 504, 588,\r\n 196, 364, 546, 650,\r\n 224, 416, 600, 700,\r\n 224, 442, 644, 750,\r\n 252, 476, 690, 816,\r\n 270, 504, 750, 900,\r\n 300, 560, 810, 960,\r\n 312, 588, 870, 1050,\r\n 336, 644, 952, 1110,\r\n 360, 700, 1020, 1200,\r\n 390, 728, 1050, 1260,\r\n 420, 784, 1140, 1350,\r\n 450, 812, 1200, 1440,\r\n 480, 868, 1290, 1530,\r\n 510, 924, 1350, 1620,\r\n 540, 980, 1440, 1710,\r\n 570, 1036, 1530, 1800,\r\n 570, 1064, 1590, 1890,\r\n 600, 1120, 1680, 1980,\r\n 630, 1204, 1770, 2100,\r\n 660, 1260, 1860, 2220,\r\n 720, 1316, 1950, 2310,\r\n 750, 1372, 2040, 2430\r\n]\r\n\r\n/**\r\n * Returns the number of error correction block that the QR Code should contain\r\n * for the specified version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction blocks\r\n */\r\nexports.getBlocksCount = function getBlocksCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n\r\n/**\r\n * Returns the number of error correction codewords to use for the specified\r\n * version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction codewords\r\n */\r\nexports.getTotalCodewordsCount = function getTotalCodewordsCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n","const EXP_TABLE = new Uint8Array(512)\nconst LOG_TABLE = new Uint8Array(256)\n/**\n * Precompute the log and anti-log tables for faster computation later\n *\n * For each possible value in the galois field 2^8, we will pre-compute\n * the logarithm and anti-logarithm (exponential) of this value\n *\n * ref {@link https://en.wikiversity.org/wiki/Reed%E2%80%93Solomon_codes_for_coders#Introduction_to_mathematical_fields}\n */\n;(function initTables () {\n let x = 1\n for (let i = 0; i < 255; i++) {\n EXP_TABLE[i] = x\n LOG_TABLE[x] = i\n\n x <<= 1 // multiply by 2\n\n // The QR code specification says to use byte-wise modulo 100011101 arithmetic.\n // This means that when a number is 256 or larger, it should be XORed with 0x11D.\n if (x & 0x100) { // similar to x >= 256, but a lot faster (because 0x100 == 256)\n x ^= 0x11D\n }\n }\n\n // Optimization: double the size of the anti-log table so that we don't need to mod 255 to\n // stay inside the bounds (because we will mainly use this table for the multiplication of\n // two GF numbers, no more).\n // @see {@link mul}\n for (let i = 255; i < 512; i++) {\n EXP_TABLE[i] = EXP_TABLE[i - 255]\n }\n}())\n\n/**\n * Returns log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.log = function log (n) {\n if (n < 1) throw new Error('log(' + n + ')')\n return LOG_TABLE[n]\n}\n\n/**\n * Returns anti-log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.exp = function exp (n) {\n return EXP_TABLE[n]\n}\n\n/**\n * Multiplies two number inside Galois Field\n *\n * @param {Number} x\n * @param {Number} y\n * @return {Number}\n */\nexports.mul = function mul (x, y) {\n if (x === 0 || y === 0) return 0\n\n // should be EXP_TABLE[(LOG_TABLE[x] + LOG_TABLE[y]) % 255] if EXP_TABLE wasn't oversized\n // @see {@link initTables}\n return EXP_TABLE[LOG_TABLE[x] + LOG_TABLE[y]]\n}\n","const GF = require('./galois-field')\n\n/**\n * Multiplies two polynomials inside Galois Field\n *\n * @param {Uint8Array} p1 Polynomial\n * @param {Uint8Array} p2 Polynomial\n * @return {Uint8Array} Product of p1 and p2\n */\nexports.mul = function mul (p1, p2) {\n const coeff = new Uint8Array(p1.length + p2.length - 1)\n\n for (let i = 0; i < p1.length; i++) {\n for (let j = 0; j < p2.length; j++) {\n coeff[i + j] ^= GF.mul(p1[i], p2[j])\n }\n }\n\n return coeff\n}\n\n/**\n * Calculate the remainder of polynomials division\n *\n * @param {Uint8Array} divident Polynomial\n * @param {Uint8Array} divisor Polynomial\n * @return {Uint8Array} Remainder\n */\nexports.mod = function mod (divident, divisor) {\n let result = new Uint8Array(divident)\n\n while ((result.length - divisor.length) >= 0) {\n const coeff = result[0]\n\n for (let i = 0; i < divisor.length; i++) {\n result[i] ^= GF.mul(divisor[i], coeff)\n }\n\n // remove all zeros from buffer head\n let offset = 0\n while (offset < result.length && result[offset] === 0) offset++\n result = result.slice(offset)\n }\n\n return result\n}\n\n/**\n * Generate an irreducible generator polynomial of specified degree\n * (used by Reed-Solomon encoder)\n *\n * @param {Number} degree Degree of the generator polynomial\n * @return {Uint8Array} Buffer containing polynomial coefficients\n */\nexports.generateECPolynomial = function generateECPolynomial (degree) {\n let poly = new Uint8Array([1])\n for (let i = 0; i < degree; i++) {\n poly = exports.mul(poly, new Uint8Array([1, GF.exp(i)]))\n }\n\n return poly\n}\n","const Polynomial = require('./polynomial')\n\nfunction ReedSolomonEncoder (degree) {\n this.genPoly = undefined\n this.degree = degree\n\n if (this.degree) this.initialize(this.degree)\n}\n\n/**\n * Initialize the encoder.\n * The input param should correspond to the number of error correction codewords.\n *\n * @param {Number} degree\n */\nReedSolomonEncoder.prototype.initialize = function initialize (degree) {\n // create an irreducible generator polynomial\n this.degree = degree\n this.genPoly = Polynomial.generateECPolynomial(this.degree)\n}\n\n/**\n * Encodes a chunk of data\n *\n * @param {Uint8Array} data Buffer containing input data\n * @return {Uint8Array} Buffer containing encoded data\n */\nReedSolomonEncoder.prototype.encode = function encode (data) {\n if (!this.genPoly) {\n throw new Error('Encoder not initialized')\n }\n\n // Calculate EC for this data block\n // extends data size to data+genPoly size\n const paddedData = new Uint8Array(data.length + this.degree)\n paddedData.set(data)\n\n // The error correction codewords are the remainder after dividing the data codewords\n // by a generator polynomial\n const remainder = Polynomial.mod(paddedData, this.genPoly)\n\n // return EC data blocks (last n byte, where n is the degree of genPoly)\n // If coefficients number in remainder are less than genPoly degree,\n // pad with 0s to the left to reach the needed number of coefficients\n const start = this.degree - remainder.length\n if (start > 0) {\n const buff = new Uint8Array(this.degree)\n buff.set(remainder, start)\n\n return buff\n }\n\n return remainder\n}\n\nmodule.exports = ReedSolomonEncoder\n","/**\n * Check if QR Code version is valid\n *\n * @param {Number} version QR Code version\n * @return {Boolean} true if valid version, false otherwise\n */\nexports.isValid = function isValid (version) {\n return !isNaN(version) && version >= 1 && version <= 40\n}\n","const numeric = '[0-9]+'\nconst alphanumeric = '[A-Z $%*+\\\\-./:]+'\nlet kanji = '(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|' +\n '[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|' +\n '[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|' +\n '[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+'\nkanji = kanji.replace(/u/g, '\\\\u')\n\nconst byte = '(?:(?![A-Z0-9 $%*+\\\\-./:]|' + kanji + ')(?:.|[\\r\\n]))+'\n\nexports.KANJI = new RegExp(kanji, 'g')\nexports.BYTE_KANJI = new RegExp('[^A-Z0-9 $%*+\\\\-./:]+', 'g')\nexports.BYTE = new RegExp(byte, 'g')\nexports.NUMERIC = new RegExp(numeric, 'g')\nexports.ALPHANUMERIC = new RegExp(alphanumeric, 'g')\n\nconst TEST_KANJI = new RegExp('^' + kanji + '$')\nconst TEST_NUMERIC = new RegExp('^' + numeric + '$')\nconst TEST_ALPHANUMERIC = new RegExp('^[A-Z0-9 $%*+\\\\-./:]+$')\n\nexports.testKanji = function testKanji (str) {\n return TEST_KANJI.test(str)\n}\n\nexports.testNumeric = function testNumeric (str) {\n return TEST_NUMERIC.test(str)\n}\n\nexports.testAlphanumeric = function testAlphanumeric (str) {\n return TEST_ALPHANUMERIC.test(str)\n}\n","const VersionCheck = require('./version-check')\nconst Regex = require('./regex')\n\n/**\n * Numeric mode encodes data from the decimal digit set (0 - 9)\n * (byte values 30HEX to 39HEX).\n * Normally, 3 data characters are represented by 10 bits.\n *\n * @type {Object}\n */\nexports.NUMERIC = {\n id: 'Numeric',\n bit: 1 << 0,\n ccBits: [10, 12, 14]\n}\n\n/**\n * Alphanumeric mode encodes data from a set of 45 characters,\n * i.e. 10 numeric digits (0 - 9),\n * 26 alphabetic characters (A - Z),\n * and 9 symbols (SP, $, %, *, +, -, ., /, :).\n * Normally, two input characters are represented by 11 bits.\n *\n * @type {Object}\n */\nexports.ALPHANUMERIC = {\n id: 'Alphanumeric',\n bit: 1 << 1,\n ccBits: [9, 11, 13]\n}\n\n/**\n * In byte mode, data is encoded at 8 bits per character.\n *\n * @type {Object}\n */\nexports.BYTE = {\n id: 'Byte',\n bit: 1 << 2,\n ccBits: [8, 16, 16]\n}\n\n/**\n * The Kanji mode efficiently encodes Kanji characters in accordance with\n * the Shift JIS system based on JIS X 0208.\n * The Shift JIS values are shifted from the JIS X 0208 values.\n * JIS X 0208 gives details of the shift coded representation.\n * Each two-byte character value is compacted to a 13-bit binary codeword.\n *\n * @type {Object}\n */\nexports.KANJI = {\n id: 'Kanji',\n bit: 1 << 3,\n ccBits: [8, 10, 12]\n}\n\n/**\n * Mixed mode will contain a sequences of data in a combination of any of\n * the modes described above\n *\n * @type {Object}\n */\nexports.MIXED = {\n bit: -1\n}\n\n/**\n * Returns the number of bits needed to store the data length\n * according to QR Code specifications.\n *\n * @param {Mode} mode Data mode\n * @param {Number} version QR Code version\n * @return {Number} Number of bits\n */\nexports.getCharCountIndicator = function getCharCountIndicator (mode, version) {\n if (!mode.ccBits) throw new Error('Invalid mode: ' + mode)\n\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid version: ' + version)\n }\n\n if (version >= 1 && version < 10) return mode.ccBits[0]\n else if (version < 27) return mode.ccBits[1]\n return mode.ccBits[2]\n}\n\n/**\n * Returns the most efficient mode to store the specified data\n *\n * @param {String} dataStr Input data string\n * @return {Mode} Best mode\n */\nexports.getBestModeForData = function getBestModeForData (dataStr) {\n if (Regex.testNumeric(dataStr)) return exports.NUMERIC\n else if (Regex.testAlphanumeric(dataStr)) return exports.ALPHANUMERIC\n else if (Regex.testKanji(dataStr)) return exports.KANJI\n else return exports.BYTE\n}\n\n/**\n * Return mode name as string\n *\n * @param {Mode} mode Mode object\n * @returns {String} Mode name\n */\nexports.toString = function toString (mode) {\n if (mode && mode.id) return mode.id\n throw new Error('Invalid mode')\n}\n\n/**\n * Check if input param is a valid mode object\n *\n * @param {Mode} mode Mode object\n * @returns {Boolean} True if valid mode, false otherwise\n */\nexports.isValid = function isValid (mode) {\n return mode && mode.bit && mode.ccBits\n}\n\n/**\n * Get mode object from its name\n *\n * @param {String} string Mode name\n * @returns {Mode} Mode object\n */\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n const lcStr = string.toLowerCase()\n\n switch (lcStr) {\n case 'numeric':\n return exports.NUMERIC\n case 'alphanumeric':\n return exports.ALPHANUMERIC\n case 'kanji':\n return exports.KANJI\n case 'byte':\n return exports.BYTE\n default:\n throw new Error('Unknown mode: ' + string)\n }\n}\n\n/**\n * Returns mode from a value.\n * If value is not a valid mode, returns defaultValue\n *\n * @param {Mode|String} value Encoding mode\n * @param {Mode} defaultValue Fallback value\n * @return {Mode} Encoding mode\n */\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n}\n","const Utils = require('./utils')\nconst ECCode = require('./error-correction-code')\nconst ECLevel = require('./error-correction-level')\nconst Mode = require('./mode')\nconst VersionCheck = require('./version-check')\n\n// Generator polynomial used to encode version information\nconst G18 = (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0)\nconst G18_BCH = Utils.getBCHDigit(G18)\n\nfunction getBestVersionForDataLength (mode, length, errorCorrectionLevel) {\n for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, mode)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\nfunction getReservedBitsCount (mode, version) {\n // Character count indicator + mode indicator bits\n return Mode.getCharCountIndicator(mode, version) + 4\n}\n\nfunction getTotalBitsFromDataArray (segments, version) {\n let totalBits = 0\n\n segments.forEach(function (data) {\n const reservedBits = getReservedBitsCount(data.mode, version)\n totalBits += reservedBits + data.getBitsLength()\n })\n\n return totalBits\n}\n\nfunction getBestVersionForMixedData (segments, errorCorrectionLevel) {\n for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {\n const length = getTotalBitsFromDataArray(segments, currentVersion)\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, Mode.MIXED)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\n/**\n * Returns version number from a value.\n * If value is not a valid version, returns defaultValue\n *\n * @param {Number|String} value QR Code version\n * @param {Number} defaultValue Fallback value\n * @return {Number} QR Code version number\n */\nexports.from = function from (value, defaultValue) {\n if (VersionCheck.isValid(value)) {\n return parseInt(value, 10)\n }\n\n return defaultValue\n}\n\n/**\n * Returns how much data can be stored with the specified QR code version\n * and error correction level\n *\n * @param {Number} version QR Code version (1-40)\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} Quantity of storable data\n */\nexports.getCapacity = function getCapacity (version, errorCorrectionLevel, mode) {\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid QR Code version')\n }\n\n // Use Byte mode as default\n if (typeof mode === 'undefined') mode = Mode.BYTE\n\n // Total codewords for this QR code version (Data + Error correction)\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n\n // Total number of error correction codewords\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n\n // Total number of data codewords\n const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8\n\n if (mode === Mode.MIXED) return dataTotalCodewordsBits\n\n const usableBits = dataTotalCodewordsBits - getReservedBitsCount(mode, version)\n\n // Return max number of storable codewords\n switch (mode) {\n case Mode.NUMERIC:\n return Math.floor((usableBits / 10) * 3)\n\n case Mode.ALPHANUMERIC:\n return Math.floor((usableBits / 11) * 2)\n\n case Mode.KANJI:\n return Math.floor(usableBits / 13)\n\n case Mode.BYTE:\n default:\n return Math.floor(usableBits / 8)\n }\n}\n\n/**\n * Returns the minimum version needed to contain the amount of data\n *\n * @param {Segment} data Segment of data\n * @param {Number} [errorCorrectionLevel=H] Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} QR Code version\n */\nexports.getBestVersionForData = function getBestVersionForData (data, errorCorrectionLevel) {\n let seg\n\n const ecl = ECLevel.from(errorCorrectionLevel, ECLevel.M)\n\n if (Array.isArray(data)) {\n if (data.length > 1) {\n return getBestVersionForMixedData(data, ecl)\n }\n\n if (data.length === 0) {\n return 1\n }\n\n seg = data[0]\n } else {\n seg = data\n }\n\n return getBestVersionForDataLength(seg.mode, seg.getLength(), ecl)\n}\n\n/**\n * Returns version information with relative error correction bits\n *\n * The version information is included in QR Code symbols of version 7 or larger.\n * It consists of an 18-bit sequence containing 6 data bits,\n * with 12 error correction bits calculated using the (18, 6) Golay code.\n *\n * @param {Number} version QR Code version\n * @return {Number} Encoded version info bits\n */\nexports.getEncodedBits = function getEncodedBits (version) {\n if (!VersionCheck.isValid(version) || version < 7) {\n throw new Error('Invalid QR Code version')\n }\n\n let d = version << 12\n\n while (Utils.getBCHDigit(d) - G18_BCH >= 0) {\n d ^= (G18 << (Utils.getBCHDigit(d) - G18_BCH))\n }\n\n return (version << 12) | d\n}\n","const Utils = require('./utils')\n\nconst G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0)\nconst G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1)\nconst G15_BCH = Utils.getBCHDigit(G15)\n\n/**\n * Returns format information with relative error correction bits\n *\n * The format information is a 15-bit sequence containing 5 data bits,\n * with 10 error correction bits calculated using the (15, 5) BCH code.\n *\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Number} mask Mask pattern\n * @return {Number} Encoded format information bits\n */\nexports.getEncodedBits = function getEncodedBits (errorCorrectionLevel, mask) {\n const data = ((errorCorrectionLevel.bit << 3) | mask)\n let d = data << 10\n\n while (Utils.getBCHDigit(d) - G15_BCH >= 0) {\n d ^= (G15 << (Utils.getBCHDigit(d) - G15_BCH))\n }\n\n // xor final data with mask pattern in order to ensure that\n // no combination of Error Correction Level and data mask pattern\n // will result in an all-zero data string\n return ((data << 10) | d) ^ G15_MASK\n}\n","const Mode = require('./mode')\n\nfunction NumericData (data) {\n this.mode = Mode.NUMERIC\n this.data = data.toString()\n}\n\nNumericData.getBitsLength = function getBitsLength (length) {\n return 10 * Math.floor(length / 3) + ((length % 3) ? ((length % 3) * 3 + 1) : 0)\n}\n\nNumericData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nNumericData.prototype.getBitsLength = function getBitsLength () {\n return NumericData.getBitsLength(this.data.length)\n}\n\nNumericData.prototype.write = function write (bitBuffer) {\n let i, group, value\n\n // The input data string is divided into groups of three digits,\n // and each group is converted to its 10-bit binary equivalent.\n for (i = 0; i + 3 <= this.data.length; i += 3) {\n group = this.data.substr(i, 3)\n value = parseInt(group, 10)\n\n bitBuffer.put(value, 10)\n }\n\n // If the number of input digits is not an exact multiple of three,\n // the final one or two digits are converted to 4 or 7 bits respectively.\n const remainingNum = this.data.length - i\n if (remainingNum > 0) {\n group = this.data.substr(i)\n value = parseInt(group, 10)\n\n bitBuffer.put(value, remainingNum * 3 + 1)\n }\n}\n\nmodule.exports = NumericData\n","const Mode = require('./mode')\n\n/**\n * Array of characters available in alphanumeric mode\n *\n * As per QR Code specification, to each character\n * is assigned a value from 0 to 44 which in this case coincides\n * with the array index\n *\n * @type {Array}\n */\nconst ALPHA_NUM_CHARS = [\n '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\n 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',\n 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',\n ' ', '$', '%', '*', '+', '-', '.', '/', ':'\n]\n\nfunction AlphanumericData (data) {\n this.mode = Mode.ALPHANUMERIC\n this.data = data\n}\n\nAlphanumericData.getBitsLength = function getBitsLength (length) {\n return 11 * Math.floor(length / 2) + 6 * (length % 2)\n}\n\nAlphanumericData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nAlphanumericData.prototype.getBitsLength = function getBitsLength () {\n return AlphanumericData.getBitsLength(this.data.length)\n}\n\nAlphanumericData.prototype.write = function write (bitBuffer) {\n let i\n\n // Input data characters are divided into groups of two characters\n // and encoded as 11-bit binary codes.\n for (i = 0; i + 2 <= this.data.length; i += 2) {\n // The character value of the first character is multiplied by 45\n let value = ALPHA_NUM_CHARS.indexOf(this.data[i]) * 45\n\n // The character value of the second digit is added to the product\n value += ALPHA_NUM_CHARS.indexOf(this.data[i + 1])\n\n // The sum is then stored as 11-bit binary number\n bitBuffer.put(value, 11)\n }\n\n // If the number of input data characters is not a multiple of two,\n // the character value of the final character is encoded as a 6-bit binary number.\n if (this.data.length % 2) {\n bitBuffer.put(ALPHA_NUM_CHARS.indexOf(this.data[i]), 6)\n }\n}\n\nmodule.exports = AlphanumericData\n","'use strict'\n\nmodule.exports = function encodeUtf8 (input) {\n var result = []\n var size = input.length\n\n for (var index = 0; index < size; index++) {\n var point = input.charCodeAt(index)\n\n if (point >= 0xD800 && point <= 0xDBFF && size > index + 1) {\n var second = input.charCodeAt(index + 1)\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n point = (point - 0xD800) * 0x400 + second - 0xDC00 + 0x10000\n index += 1\n }\n }\n\n // US-ASCII\n if (point < 0x80) {\n result.push(point)\n continue\n }\n\n // 2-byte UTF-8\n if (point < 0x800) {\n result.push((point >> 6) | 192)\n result.push((point & 63) | 128)\n continue\n }\n\n // 3-byte UTF-8\n if (point < 0xD800 || (point >= 0xE000 && point < 0x10000)) {\n result.push((point >> 12) | 224)\n result.push(((point >> 6) & 63) | 128)\n result.push((point & 63) | 128)\n continue\n }\n\n // 4-byte UTF-8\n if (point >= 0x10000 && point <= 0x10FFFF) {\n result.push((point >> 18) | 240)\n result.push(((point >> 12) & 63) | 128)\n result.push(((point >> 6) & 63) | 128)\n result.push((point & 63) | 128)\n continue\n }\n\n // Invalid character\n result.push(0xEF, 0xBF, 0xBD)\n }\n\n return new Uint8Array(result).buffer\n}\n","const encodeUtf8 = require('encode-utf8')\nconst Mode = require('./mode')\n\nfunction ByteData (data) {\n this.mode = Mode.BYTE\n if (typeof (data) === 'string') {\n data = encodeUtf8(data)\n }\n this.data = new Uint8Array(data)\n}\n\nByteData.getBitsLength = function getBitsLength (length) {\n return length * 8\n}\n\nByteData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nByteData.prototype.getBitsLength = function getBitsLength () {\n return ByteData.getBitsLength(this.data.length)\n}\n\nByteData.prototype.write = function (bitBuffer) {\n for (let i = 0, l = this.data.length; i < l; i++) {\n bitBuffer.put(this.data[i], 8)\n }\n}\n\nmodule.exports = ByteData\n","const Mode = require('./mode')\nconst Utils = require('./utils')\n\nfunction KanjiData (data) {\n this.mode = Mode.KANJI\n this.data = data\n}\n\nKanjiData.getBitsLength = function getBitsLength (length) {\n return length * 13\n}\n\nKanjiData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nKanjiData.prototype.getBitsLength = function getBitsLength () {\n return KanjiData.getBitsLength(this.data.length)\n}\n\nKanjiData.prototype.write = function (bitBuffer) {\n let i\n\n // In the Shift JIS system, Kanji characters are represented by a two byte combination.\n // These byte values are shifted from the JIS X 0208 values.\n // JIS X 0208 gives details of the shift coded representation.\n for (i = 0; i < this.data.length; i++) {\n let value = Utils.toSJIS(this.data[i])\n\n // For characters with Shift JIS values from 0x8140 to 0x9FFC:\n if (value >= 0x8140 && value <= 0x9FFC) {\n // Subtract 0x8140 from Shift JIS value\n value -= 0x8140\n\n // For characters with Shift JIS values from 0xE040 to 0xEBBF\n } else if (value >= 0xE040 && value <= 0xEBBF) {\n // Subtract 0xC140 from Shift JIS value\n value -= 0xC140\n } else {\n throw new Error(\n 'Invalid SJIS character: ' + this.data[i] + '\\n' +\n 'Make sure your charset is UTF-8')\n }\n\n // Multiply most significant byte of result by 0xC0\n // and add least significant byte to product\n value = (((value >>> 8) & 0xff) * 0xC0) + (value & 0xff)\n\n // Convert result to a 13-bit binary string\n bitBuffer.put(value, 13)\n }\n}\n\nmodule.exports = KanjiData\n","'use strict';\n\n/******************************************************************************\n * Created 2008-08-19.\n *\n * Dijkstra path-finding functions. Adapted from the Dijkstar Python project.\n *\n * Copyright (C) 2008\n * Wyatt Baldwin \n * All rights reserved\n *\n * Licensed under the MIT license.\n *\n * http://www.opensource.org/licenses/mit-license.php\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n *****************************************************************************/\nvar dijkstra = {\n single_source_shortest_paths: function(graph, s, d) {\n // Predecessor map for each node that has been encountered.\n // node ID => predecessor node ID\n var predecessors = {};\n\n // Costs of shortest paths from s to all nodes encountered.\n // node ID => cost\n var costs = {};\n costs[s] = 0;\n\n // Costs of shortest paths from s to all nodes encountered; differs from\n // `costs` in that it provides easy access to the node that currently has\n // the known shortest path from s.\n // XXX: Do we actually need both `costs` and `open`?\n var open = dijkstra.PriorityQueue.make();\n open.push(s, 0);\n\n var closest,\n u, v,\n cost_of_s_to_u,\n adjacent_nodes,\n cost_of_e,\n cost_of_s_to_u_plus_cost_of_e,\n cost_of_s_to_v,\n first_visit;\n while (!open.empty()) {\n // In the nodes remaining in graph that have a known cost from s,\n // find the node, u, that currently has the shortest path from s.\n closest = open.pop();\n u = closest.value;\n cost_of_s_to_u = closest.cost;\n\n // Get nodes adjacent to u...\n adjacent_nodes = graph[u] || {};\n\n // ...and explore the edges that connect u to those nodes, updating\n // the cost of the shortest paths to any or all of those nodes as\n // necessary. v is the node across the current edge from u.\n for (v in adjacent_nodes) {\n if (adjacent_nodes.hasOwnProperty(v)) {\n // Get the cost of the edge running from u to v.\n cost_of_e = adjacent_nodes[v];\n\n // Cost of s to u plus the cost of u to v across e--this is *a*\n // cost from s to v that may or may not be less than the current\n // known cost to v.\n cost_of_s_to_u_plus_cost_of_e = cost_of_s_to_u + cost_of_e;\n\n // If we haven't visited v yet OR if the current known cost from s to\n // v is greater than the new cost we just found (cost of s to u plus\n // cost of u to v across e), update v's cost in the cost list and\n // update v's predecessor in the predecessor list (it's now u).\n cost_of_s_to_v = costs[v];\n first_visit = (typeof costs[v] === 'undefined');\n if (first_visit || cost_of_s_to_v > cost_of_s_to_u_plus_cost_of_e) {\n costs[v] = cost_of_s_to_u_plus_cost_of_e;\n open.push(v, cost_of_s_to_u_plus_cost_of_e);\n predecessors[v] = u;\n }\n }\n }\n }\n\n if (typeof d !== 'undefined' && typeof costs[d] === 'undefined') {\n var msg = ['Could not find a path from ', s, ' to ', d, '.'].join('');\n throw new Error(msg);\n }\n\n return predecessors;\n },\n\n extract_shortest_path_from_predecessor_list: function(predecessors, d) {\n var nodes = [];\n var u = d;\n var predecessor;\n while (u) {\n nodes.push(u);\n predecessor = predecessors[u];\n u = predecessors[u];\n }\n nodes.reverse();\n return nodes;\n },\n\n find_path: function(graph, s, d) {\n var predecessors = dijkstra.single_source_shortest_paths(graph, s, d);\n return dijkstra.extract_shortest_path_from_predecessor_list(\n predecessors, d);\n },\n\n /**\n * A very naive priority queue implementation.\n */\n PriorityQueue: {\n make: function (opts) {\n var T = dijkstra.PriorityQueue,\n t = {},\n key;\n opts = opts || {};\n for (key in T) {\n if (T.hasOwnProperty(key)) {\n t[key] = T[key];\n }\n }\n t.queue = [];\n t.sorter = opts.sorter || T.default_sorter;\n return t;\n },\n\n default_sorter: function (a, b) {\n return a.cost - b.cost;\n },\n\n /**\n * Add a new item to the queue and ensure the highest priority element\n * is at the front of the queue.\n */\n push: function (value, cost) {\n var item = {value: value, cost: cost};\n this.queue.push(item);\n this.queue.sort(this.sorter);\n },\n\n /**\n * Return the highest priority element in the queue.\n */\n pop: function () {\n return this.queue.shift();\n },\n\n empty: function () {\n return this.queue.length === 0;\n }\n }\n};\n\n\n// node.js module exports\nif (typeof module !== 'undefined') {\n module.exports = dijkstra;\n}\n","const Mode = require('./mode')\nconst NumericData = require('./numeric-data')\nconst AlphanumericData = require('./alphanumeric-data')\nconst ByteData = require('./byte-data')\nconst KanjiData = require('./kanji-data')\nconst Regex = require('./regex')\nconst Utils = require('./utils')\nconst dijkstra = require('dijkstrajs')\n\n/**\n * Returns UTF8 byte length\n *\n * @param {String} str Input string\n * @return {Number} Number of byte\n */\nfunction getStringByteLength (str) {\n return unescape(encodeURIComponent(str)).length\n}\n\n/**\n * Get a list of segments of the specified mode\n * from a string\n *\n * @param {Mode} mode Segment mode\n * @param {String} str String to process\n * @return {Array} Array of object with segments data\n */\nfunction getSegments (regex, mode, str) {\n const segments = []\n let result\n\n while ((result = regex.exec(str)) !== null) {\n segments.push({\n data: result[0],\n index: result.index,\n mode: mode,\n length: result[0].length\n })\n }\n\n return segments\n}\n\n/**\n * Extracts a series of segments with the appropriate\n * modes from a string\n *\n * @param {String} dataStr Input string\n * @return {Array} Array of object with segments data\n */\nfunction getSegmentsFromString (dataStr) {\n const numSegs = getSegments(Regex.NUMERIC, Mode.NUMERIC, dataStr)\n const alphaNumSegs = getSegments(Regex.ALPHANUMERIC, Mode.ALPHANUMERIC, dataStr)\n let byteSegs\n let kanjiSegs\n\n if (Utils.isKanjiModeEnabled()) {\n byteSegs = getSegments(Regex.BYTE, Mode.BYTE, dataStr)\n kanjiSegs = getSegments(Regex.KANJI, Mode.KANJI, dataStr)\n } else {\n byteSegs = getSegments(Regex.BYTE_KANJI, Mode.BYTE, dataStr)\n kanjiSegs = []\n }\n\n const segs = numSegs.concat(alphaNumSegs, byteSegs, kanjiSegs)\n\n return segs\n .sort(function (s1, s2) {\n return s1.index - s2.index\n })\n .map(function (obj) {\n return {\n data: obj.data,\n mode: obj.mode,\n length: obj.length\n }\n })\n}\n\n/**\n * Returns how many bits are needed to encode a string of\n * specified length with the specified mode\n *\n * @param {Number} length String length\n * @param {Mode} mode Segment mode\n * @return {Number} Bit length\n */\nfunction getSegmentBitsLength (length, mode) {\n switch (mode) {\n case Mode.NUMERIC:\n return NumericData.getBitsLength(length)\n case Mode.ALPHANUMERIC:\n return AlphanumericData.getBitsLength(length)\n case Mode.KANJI:\n return KanjiData.getBitsLength(length)\n case Mode.BYTE:\n return ByteData.getBitsLength(length)\n }\n}\n\n/**\n * Merges adjacent segments which have the same mode\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction mergeSegments (segs) {\n return segs.reduce(function (acc, curr) {\n const prevSeg = acc.length - 1 >= 0 ? acc[acc.length - 1] : null\n if (prevSeg && prevSeg.mode === curr.mode) {\n acc[acc.length - 1].data += curr.data\n return acc\n }\n\n acc.push(curr)\n return acc\n }, [])\n}\n\n/**\n * Generates a list of all possible nodes combination which\n * will be used to build a segments graph.\n *\n * Nodes are divided by groups. Each group will contain a list of all the modes\n * in which is possible to encode the given text.\n *\n * For example the text '12345' can be encoded as Numeric, Alphanumeric or Byte.\n * The group for '12345' will contain then 3 objects, one for each\n * possible encoding mode.\n *\n * Each node represents a possible segment.\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction buildNodes (segs) {\n const nodes = []\n for (let i = 0; i < segs.length; i++) {\n const seg = segs[i]\n\n switch (seg.mode) {\n case Mode.NUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.ALPHANUMERIC, length: seg.length },\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ])\n break\n case Mode.ALPHANUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ])\n break\n case Mode.KANJI:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ])\n break\n case Mode.BYTE:\n nodes.push([\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ])\n }\n }\n\n return nodes\n}\n\n/**\n * Builds a graph from a list of nodes.\n * All segments in each node group will be connected with all the segments of\n * the next group and so on.\n *\n * At each connection will be assigned a weight depending on the\n * segment's byte length.\n *\n * @param {Array} nodes Array of object with segments data\n * @param {Number} version QR Code version\n * @return {Object} Graph of all possible segments\n */\nfunction buildGraph (nodes, version) {\n const table = {}\n const graph = { start: {} }\n let prevNodeIds = ['start']\n\n for (let i = 0; i < nodes.length; i++) {\n const nodeGroup = nodes[i]\n const currentNodeIds = []\n\n for (let j = 0; j < nodeGroup.length; j++) {\n const node = nodeGroup[j]\n const key = '' + i + j\n\n currentNodeIds.push(key)\n table[key] = { node: node, lastCount: 0 }\n graph[key] = {}\n\n for (let n = 0; n < prevNodeIds.length; n++) {\n const prevNodeId = prevNodeIds[n]\n\n if (table[prevNodeId] && table[prevNodeId].node.mode === node.mode) {\n graph[prevNodeId][key] =\n getSegmentBitsLength(table[prevNodeId].lastCount + node.length, node.mode) -\n getSegmentBitsLength(table[prevNodeId].lastCount, node.mode)\n\n table[prevNodeId].lastCount += node.length\n } else {\n if (table[prevNodeId]) table[prevNodeId].lastCount = node.length\n\n graph[prevNodeId][key] = getSegmentBitsLength(node.length, node.mode) +\n 4 + Mode.getCharCountIndicator(node.mode, version) // switch cost\n }\n }\n }\n\n prevNodeIds = currentNodeIds\n }\n\n for (let n = 0; n < prevNodeIds.length; n++) {\n graph[prevNodeIds[n]].end = 0\n }\n\n return { map: graph, table: table }\n}\n\n/**\n * Builds a segment from a specified data and mode.\n * If a mode is not specified, the more suitable will be used.\n *\n * @param {String} data Input data\n * @param {Mode | String} modesHint Data mode\n * @return {Segment} Segment\n */\nfunction buildSingleSegment (data, modesHint) {\n let mode\n const bestMode = Mode.getBestModeForData(data)\n\n mode = Mode.from(modesHint, bestMode)\n\n // Make sure data can be encoded\n if (mode !== Mode.BYTE && mode.bit < bestMode.bit) {\n throw new Error('\"' + data + '\"' +\n ' cannot be encoded with mode ' + Mode.toString(mode) +\n '.\\n Suggested mode is: ' + Mode.toString(bestMode))\n }\n\n // Use Mode.BYTE if Kanji support is disabled\n if (mode === Mode.KANJI && !Utils.isKanjiModeEnabled()) {\n mode = Mode.BYTE\n }\n\n switch (mode) {\n case Mode.NUMERIC:\n return new NumericData(data)\n\n case Mode.ALPHANUMERIC:\n return new AlphanumericData(data)\n\n case Mode.KANJI:\n return new KanjiData(data)\n\n case Mode.BYTE:\n return new ByteData(data)\n }\n}\n\n/**\n * Builds a list of segments from an array.\n * Array can contain Strings or Objects with segment's info.\n *\n * For each item which is a string, will be generated a segment with the given\n * string and the more appropriate encoding mode.\n *\n * For each item which is an object, will be generated a segment with the given\n * data and mode.\n * Objects must contain at least the property \"data\".\n * If property \"mode\" is not present, the more suitable mode will be used.\n *\n * @param {Array} array Array of objects with segments data\n * @return {Array} Array of Segments\n */\nexports.fromArray = function fromArray (array) {\n return array.reduce(function (acc, seg) {\n if (typeof seg === 'string') {\n acc.push(buildSingleSegment(seg, null))\n } else if (seg.data) {\n acc.push(buildSingleSegment(seg.data, seg.mode))\n }\n\n return acc\n }, [])\n}\n\n/**\n * Builds an optimized sequence of segments from a string,\n * which will produce the shortest possible bitstream.\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @return {Array} Array of segments\n */\nexports.fromString = function fromString (data, version) {\n const segs = getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n\n const nodes = buildNodes(segs)\n const graph = buildGraph(nodes, version)\n const path = dijkstra.find_path(graph.map, 'start', 'end')\n\n const optimizedSegs = []\n for (let i = 1; i < path.length - 1; i++) {\n optimizedSegs.push(graph.table[path[i]].node)\n }\n\n return exports.fromArray(mergeSegments(optimizedSegs))\n}\n\n/**\n * Splits a string in various segments with the modes which\n * best represent their content.\n * The produced segments are far from being optimized.\n * The output of this function is only used to estimate a QR Code version\n * which may contain the data.\n *\n * @param {string} data Input string\n * @return {Array} Array of segments\n */\nexports.rawSplit = function rawSplit (data) {\n return exports.fromArray(\n getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n )\n}\n","const Utils = require('./utils')\nconst ECLevel = require('./error-correction-level')\nconst BitBuffer = require('./bit-buffer')\nconst BitMatrix = require('./bit-matrix')\nconst AlignmentPattern = require('./alignment-pattern')\nconst FinderPattern = require('./finder-pattern')\nconst MaskPattern = require('./mask-pattern')\nconst ECCode = require('./error-correction-code')\nconst ReedSolomonEncoder = require('./reed-solomon-encoder')\nconst Version = require('./version')\nconst FormatInfo = require('./format-info')\nconst Mode = require('./mode')\nconst Segments = require('./segments')\n\n/**\n * QRCode for JavaScript\n *\n * modified by Ryan Day for nodejs support\n * Copyright (c) 2011 Ryan Day\n *\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/mit-license.php\n *\n//---------------------------------------------------------------------\n// QRCode for JavaScript\n//\n// Copyright (c) 2009 Kazuhiko Arase\n//\n// URL: http://www.d-project.com/\n//\n// Licensed under the MIT license:\n// http://www.opensource.org/licenses/mit-license.php\n//\n// The word \"QR Code\" is registered trademark of\n// DENSO WAVE INCORPORATED\n// http://www.denso-wave.com/qrcode/faqpatent-e.html\n//\n//---------------------------------------------------------------------\n*/\n\n/**\n * Add finder patterns bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupFinderPattern (matrix, version) {\n const size = matrix.size\n const pos = FinderPattern.getPositions(version)\n\n for (let i = 0; i < pos.length; i++) {\n const row = pos[i][0]\n const col = pos[i][1]\n\n for (let r = -1; r <= 7; r++) {\n if (row + r <= -1 || size <= row + r) continue\n\n for (let c = -1; c <= 7; c++) {\n if (col + c <= -1 || size <= col + c) continue\n\n if ((r >= 0 && r <= 6 && (c === 0 || c === 6)) ||\n (c >= 0 && c <= 6 && (r === 0 || r === 6)) ||\n (r >= 2 && r <= 4 && c >= 2 && c <= 4)) {\n matrix.set(row + r, col + c, true, true)\n } else {\n matrix.set(row + r, col + c, false, true)\n }\n }\n }\n }\n}\n\n/**\n * Add timing pattern bits to matrix\n *\n * Note: this function must be called before {@link setupAlignmentPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n */\nfunction setupTimingPattern (matrix) {\n const size = matrix.size\n\n for (let r = 8; r < size - 8; r++) {\n const value = r % 2 === 0\n matrix.set(r, 6, value, true)\n matrix.set(6, r, value, true)\n }\n}\n\n/**\n * Add alignment patterns bits to matrix\n *\n * Note: this function must be called after {@link setupTimingPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupAlignmentPattern (matrix, version) {\n const pos = AlignmentPattern.getPositions(version)\n\n for (let i = 0; i < pos.length; i++) {\n const row = pos[i][0]\n const col = pos[i][1]\n\n for (let r = -2; r <= 2; r++) {\n for (let c = -2; c <= 2; c++) {\n if (r === -2 || r === 2 || c === -2 || c === 2 ||\n (r === 0 && c === 0)) {\n matrix.set(row + r, col + c, true, true)\n } else {\n matrix.set(row + r, col + c, false, true)\n }\n }\n }\n }\n}\n\n/**\n * Add version info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupVersionInfo (matrix, version) {\n const size = matrix.size\n const bits = Version.getEncodedBits(version)\n let row, col, mod\n\n for (let i = 0; i < 18; i++) {\n row = Math.floor(i / 3)\n col = i % 3 + size - 8 - 3\n mod = ((bits >> i) & 1) === 1\n\n matrix.set(row, col, mod, true)\n matrix.set(col, row, mod, true)\n }\n}\n\n/**\n * Add format info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {Number} maskPattern Mask pattern reference value\n */\nfunction setupFormatInfo (matrix, errorCorrectionLevel, maskPattern) {\n const size = matrix.size\n const bits = FormatInfo.getEncodedBits(errorCorrectionLevel, maskPattern)\n let i, mod\n\n for (i = 0; i < 15; i++) {\n mod = ((bits >> i) & 1) === 1\n\n // vertical\n if (i < 6) {\n matrix.set(i, 8, mod, true)\n } else if (i < 8) {\n matrix.set(i + 1, 8, mod, true)\n } else {\n matrix.set(size - 15 + i, 8, mod, true)\n }\n\n // horizontal\n if (i < 8) {\n matrix.set(8, size - i - 1, mod, true)\n } else if (i < 9) {\n matrix.set(8, 15 - i - 1 + 1, mod, true)\n } else {\n matrix.set(8, 15 - i - 1, mod, true)\n }\n }\n\n // fixed module\n matrix.set(size - 8, 8, 1, true)\n}\n\n/**\n * Add encoded data bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Uint8Array} data Data codewords\n */\nfunction setupData (matrix, data) {\n const size = matrix.size\n let inc = -1\n let row = size - 1\n let bitIndex = 7\n let byteIndex = 0\n\n for (let col = size - 1; col > 0; col -= 2) {\n if (col === 6) col--\n\n while (true) {\n for (let c = 0; c < 2; c++) {\n if (!matrix.isReserved(row, col - c)) {\n let dark = false\n\n if (byteIndex < data.length) {\n dark = (((data[byteIndex] >>> bitIndex) & 1) === 1)\n }\n\n matrix.set(row, col - c, dark)\n bitIndex--\n\n if (bitIndex === -1) {\n byteIndex++\n bitIndex = 7\n }\n }\n }\n\n row += inc\n\n if (row < 0 || size <= row) {\n row -= inc\n inc = -inc\n break\n }\n }\n }\n}\n\n/**\n * Create encoded codewords from data input\n *\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {ByteData} data Data input\n * @return {Uint8Array} Buffer containing encoded codewords\n */\nfunction createData (version, errorCorrectionLevel, segments) {\n // Prepare data buffer\n const buffer = new BitBuffer()\n\n segments.forEach(function (data) {\n // prefix data with mode indicator (4 bits)\n buffer.put(data.mode.bit, 4)\n\n // Prefix data with character count indicator.\n // The character count indicator is a string of bits that represents the\n // number of characters that are being encoded.\n // The character count indicator must be placed after the mode indicator\n // and must be a certain number of bits long, depending on the QR version\n // and data mode\n // @see {@link Mode.getCharCountIndicator}.\n buffer.put(data.getLength(), Mode.getCharCountIndicator(data.mode, version))\n\n // add binary data sequence to buffer\n data.write(buffer)\n })\n\n // Calculate required number of bits\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8\n\n // Add a terminator.\n // If the bit string is shorter than the total number of required bits,\n // a terminator of up to four 0s must be added to the right side of the string.\n // If the bit string is more than four bits shorter than the required number of bits,\n // add four 0s to the end.\n if (buffer.getLengthInBits() + 4 <= dataTotalCodewordsBits) {\n buffer.put(0, 4)\n }\n\n // If the bit string is fewer than four bits shorter, add only the number of 0s that\n // are needed to reach the required number of bits.\n\n // After adding the terminator, if the number of bits in the string is not a multiple of 8,\n // pad the string on the right with 0s to make the string's length a multiple of 8.\n while (buffer.getLengthInBits() % 8 !== 0) {\n buffer.putBit(0)\n }\n\n // Add pad bytes if the string is still shorter than the total number of required bits.\n // Extend the buffer to fill the data capacity of the symbol corresponding to\n // the Version and Error Correction Level by adding the Pad Codewords 11101100 (0xEC)\n // and 00010001 (0x11) alternately.\n const remainingByte = (dataTotalCodewordsBits - buffer.getLengthInBits()) / 8\n for (let i = 0; i < remainingByte; i++) {\n buffer.put(i % 2 ? 0x11 : 0xEC, 8)\n }\n\n return createCodewords(buffer, version, errorCorrectionLevel)\n}\n\n/**\n * Encode input data with Reed-Solomon and return codewords with\n * relative error correction bits\n *\n * @param {BitBuffer} bitBuffer Data to encode\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @return {Uint8Array} Buffer containing encoded codewords\n */\nfunction createCodewords (bitBuffer, version, errorCorrectionLevel) {\n // Total codewords for this QR code version (Data + Error correction)\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n\n // Total number of error correction codewords\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n\n // Total number of data codewords\n const dataTotalCodewords = totalCodewords - ecTotalCodewords\n\n // Total number of blocks\n const ecTotalBlocks = ECCode.getBlocksCount(version, errorCorrectionLevel)\n\n // Calculate how many blocks each group should contain\n const blocksInGroup2 = totalCodewords % ecTotalBlocks\n const blocksInGroup1 = ecTotalBlocks - blocksInGroup2\n\n const totalCodewordsInGroup1 = Math.floor(totalCodewords / ecTotalBlocks)\n\n const dataCodewordsInGroup1 = Math.floor(dataTotalCodewords / ecTotalBlocks)\n const dataCodewordsInGroup2 = dataCodewordsInGroup1 + 1\n\n // Number of EC codewords is the same for both groups\n const ecCount = totalCodewordsInGroup1 - dataCodewordsInGroup1\n\n // Initialize a Reed-Solomon encoder with a generator polynomial of degree ecCount\n const rs = new ReedSolomonEncoder(ecCount)\n\n let offset = 0\n const dcData = new Array(ecTotalBlocks)\n const ecData = new Array(ecTotalBlocks)\n let maxDataSize = 0\n const buffer = new Uint8Array(bitBuffer.buffer)\n\n // Divide the buffer into the required number of blocks\n for (let b = 0; b < ecTotalBlocks; b++) {\n const dataSize = b < blocksInGroup1 ? dataCodewordsInGroup1 : dataCodewordsInGroup2\n\n // extract a block of data from buffer\n dcData[b] = buffer.slice(offset, offset + dataSize)\n\n // Calculate EC codewords for this data block\n ecData[b] = rs.encode(dcData[b])\n\n offset += dataSize\n maxDataSize = Math.max(maxDataSize, dataSize)\n }\n\n // Create final data\n // Interleave the data and error correction codewords from each block\n const data = new Uint8Array(totalCodewords)\n let index = 0\n let i, r\n\n // Add data codewords\n for (i = 0; i < maxDataSize; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n if (i < dcData[r].length) {\n data[index++] = dcData[r][i]\n }\n }\n }\n\n // Apped EC codewords\n for (i = 0; i < ecCount; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n data[index++] = ecData[r][i]\n }\n }\n\n return data\n}\n\n/**\n * Build QR Code symbol\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @param {ErrorCorretionLevel} errorCorrectionLevel Error level\n * @param {MaskPattern} maskPattern Mask pattern\n * @return {Object} Object containing symbol data\n */\nfunction createSymbol (data, version, errorCorrectionLevel, maskPattern) {\n let segments\n\n if (Array.isArray(data)) {\n segments = Segments.fromArray(data)\n } else if (typeof data === 'string') {\n let estimatedVersion = version\n\n if (!estimatedVersion) {\n const rawSegments = Segments.rawSplit(data)\n\n // Estimate best version that can contain raw splitted segments\n estimatedVersion = Version.getBestVersionForData(rawSegments, errorCorrectionLevel)\n }\n\n // Build optimized segments\n // If estimated version is undefined, try with the highest version\n segments = Segments.fromString(data, estimatedVersion || 40)\n } else {\n throw new Error('Invalid data')\n }\n\n // Get the min version that can contain data\n const bestVersion = Version.getBestVersionForData(segments, errorCorrectionLevel)\n\n // If no version is found, data cannot be stored\n if (!bestVersion) {\n throw new Error('The amount of data is too big to be stored in a QR Code')\n }\n\n // If not specified, use min version as default\n if (!version) {\n version = bestVersion\n\n // Check if the specified version can contain the data\n } else if (version < bestVersion) {\n throw new Error('\\n' +\n 'The chosen QR Code version cannot contain this amount of data.\\n' +\n 'Minimum version required to store current data is: ' + bestVersion + '.\\n'\n )\n }\n\n const dataBits = createData(version, errorCorrectionLevel, segments)\n\n // Allocate matrix buffer\n const moduleCount = Utils.getSymbolSize(version)\n const modules = new BitMatrix(moduleCount)\n\n // Add function modules\n setupFinderPattern(modules, version)\n setupTimingPattern(modules)\n setupAlignmentPattern(modules, version)\n\n // Add temporary dummy bits for format info just to set them as reserved.\n // This is needed to prevent these bits from being masked by {@link MaskPattern.applyMask}\n // since the masking operation must be performed only on the encoding region.\n // These blocks will be replaced with correct values later in code.\n setupFormatInfo(modules, errorCorrectionLevel, 0)\n\n if (version >= 7) {\n setupVersionInfo(modules, version)\n }\n\n // Add data codewords\n setupData(modules, dataBits)\n\n if (isNaN(maskPattern)) {\n // Find best mask pattern\n maskPattern = MaskPattern.getBestMask(modules,\n setupFormatInfo.bind(null, modules, errorCorrectionLevel))\n }\n\n // Apply mask pattern\n MaskPattern.applyMask(maskPattern, modules)\n\n // Replace format info bits with correct values\n setupFormatInfo(modules, errorCorrectionLevel, maskPattern)\n\n return {\n modules: modules,\n version: version,\n errorCorrectionLevel: errorCorrectionLevel,\n maskPattern: maskPattern,\n segments: segments\n }\n}\n\n/**\n * QR Code\n *\n * @param {String | Array} data Input data\n * @param {Object} options Optional configurations\n * @param {Number} options.version QR Code version\n * @param {String} options.errorCorrectionLevel Error correction level\n * @param {Function} options.toSJISFunc Helper func to convert utf8 to sjis\n */\nexports.create = function create (data, options) {\n if (typeof data === 'undefined' || data === '') {\n throw new Error('No input text')\n }\n\n let errorCorrectionLevel = ECLevel.M\n let version\n let mask\n\n if (typeof options !== 'undefined') {\n // Use higher error correction level as default\n errorCorrectionLevel = ECLevel.from(options.errorCorrectionLevel, ECLevel.M)\n version = Version.from(options.version)\n mask = MaskPattern.from(options.maskPattern)\n\n if (options.toSJISFunc) {\n Utils.setToSJISFunction(options.toSJISFunc)\n }\n }\n\n return createSymbol(data, version, errorCorrectionLevel, mask)\n}\n","function hex2rgba (hex) {\n if (typeof hex === 'number') {\n hex = hex.toString()\n }\n\n if (typeof hex !== 'string') {\n throw new Error('Color should be defined as hex string')\n }\n\n let hexCode = hex.slice().replace('#', '').split('')\n if (hexCode.length < 3 || hexCode.length === 5 || hexCode.length > 8) {\n throw new Error('Invalid hex color: ' + hex)\n }\n\n // Convert from short to long form (fff -> ffffff)\n if (hexCode.length === 3 || hexCode.length === 4) {\n hexCode = Array.prototype.concat.apply([], hexCode.map(function (c) {\n return [c, c]\n }))\n }\n\n // Add default alpha value\n if (hexCode.length === 6) hexCode.push('F', 'F')\n\n const hexValue = parseInt(hexCode.join(''), 16)\n\n return {\n r: (hexValue >> 24) & 255,\n g: (hexValue >> 16) & 255,\n b: (hexValue >> 8) & 255,\n a: hexValue & 255,\n hex: '#' + hexCode.slice(0, 6).join('')\n }\n}\n\nexports.getOptions = function getOptions (options) {\n if (!options) options = {}\n if (!options.color) options.color = {}\n\n const margin = typeof options.margin === 'undefined' ||\n options.margin === null ||\n options.margin < 0\n ? 4\n : options.margin\n\n const width = options.width && options.width >= 21 ? options.width : undefined\n const scale = options.scale || 4\n\n return {\n width: width,\n scale: width ? 4 : scale,\n margin: margin,\n color: {\n dark: hex2rgba(options.color.dark || '#000000ff'),\n light: hex2rgba(options.color.light || '#ffffffff')\n },\n type: options.type,\n rendererOpts: options.rendererOpts || {}\n }\n}\n\nexports.getScale = function getScale (qrSize, opts) {\n return opts.width && opts.width >= qrSize + opts.margin * 2\n ? opts.width / (qrSize + opts.margin * 2)\n : opts.scale\n}\n\nexports.getImageWidth = function getImageWidth (qrSize, opts) {\n const scale = exports.getScale(qrSize, opts)\n return Math.floor((qrSize + opts.margin * 2) * scale)\n}\n\nexports.qrToImageData = function qrToImageData (imgData, qr, opts) {\n const size = qr.modules.size\n const data = qr.modules.data\n const scale = exports.getScale(size, opts)\n const symbolSize = Math.floor((size + opts.margin * 2) * scale)\n const scaledMargin = opts.margin * scale\n const palette = [opts.color.light, opts.color.dark]\n\n for (let i = 0; i < symbolSize; i++) {\n for (let j = 0; j < symbolSize; j++) {\n let posDst = (i * symbolSize + j) * 4\n let pxColor = opts.color.light\n\n if (i >= scaledMargin && j >= scaledMargin &&\n i < symbolSize - scaledMargin && j < symbolSize - scaledMargin) {\n const iSrc = Math.floor((i - scaledMargin) / scale)\n const jSrc = Math.floor((j - scaledMargin) / scale)\n pxColor = palette[data[iSrc * size + jSrc] ? 1 : 0]\n }\n\n imgData[posDst++] = pxColor.r\n imgData[posDst++] = pxColor.g\n imgData[posDst++] = pxColor.b\n imgData[posDst] = pxColor.a\n }\n }\n}\n","const Utils = require('./utils')\n\nfunction clearCanvas (ctx, canvas, size) {\n ctx.clearRect(0, 0, canvas.width, canvas.height)\n\n if (!canvas.style) canvas.style = {}\n canvas.height = size\n canvas.width = size\n canvas.style.height = size + 'px'\n canvas.style.width = size + 'px'\n}\n\nfunction getCanvasElement () {\n try {\n return document.createElement('canvas')\n } catch (e) {\n throw new Error('You need to specify a canvas element')\n }\n}\n\nexports.render = function render (qrData, canvas, options) {\n let opts = options\n let canvasEl = canvas\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!canvas) {\n canvasEl = getCanvasElement()\n }\n\n opts = Utils.getOptions(opts)\n const size = Utils.getImageWidth(qrData.modules.size, opts)\n\n const ctx = canvasEl.getContext('2d')\n const image = ctx.createImageData(size, size)\n Utils.qrToImageData(image.data, qrData, opts)\n\n clearCanvas(ctx, canvasEl, size)\n ctx.putImageData(image, 0, 0)\n\n return canvasEl\n}\n\nexports.renderToDataURL = function renderToDataURL (qrData, canvas, options) {\n let opts = options\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!opts) opts = {}\n\n const canvasEl = exports.render(qrData, canvas, opts)\n\n const type = opts.type || 'image/png'\n const rendererOpts = opts.rendererOpts || {}\n\n return canvasEl.toDataURL(type, rendererOpts.quality)\n}\n","const Utils = require('./utils')\n\nfunction getColorAttrib (color, attrib) {\n const alpha = color.a / 255\n const str = attrib + '=\"' + color.hex + '\"'\n\n return alpha < 1\n ? str + ' ' + attrib + '-opacity=\"' + alpha.toFixed(2).slice(1) + '\"'\n : str\n}\n\nfunction svgCmd (cmd, x, y) {\n let str = cmd + x\n if (typeof y !== 'undefined') str += ' ' + y\n\n return str\n}\n\nfunction qrToPath (data, size, margin) {\n let path = ''\n let moveBy = 0\n let newRow = false\n let lineLength = 0\n\n for (let i = 0; i < data.length; i++) {\n const col = Math.floor(i % size)\n const row = Math.floor(i / size)\n\n if (!col && !newRow) newRow = true\n\n if (data[i]) {\n lineLength++\n\n if (!(i > 0 && col > 0 && data[i - 1])) {\n path += newRow\n ? svgCmd('M', col + margin, 0.5 + row + margin)\n : svgCmd('m', moveBy, 0)\n\n moveBy = 0\n newRow = false\n }\n\n if (!(col + 1 < size && data[i + 1])) {\n path += svgCmd('h', lineLength)\n lineLength = 0\n }\n } else {\n moveBy++\n }\n }\n\n return path\n}\n\nexports.render = function render (qrData, options, cb) {\n const opts = Utils.getOptions(options)\n const size = qrData.modules.size\n const data = qrData.modules.data\n const qrcodesize = size + opts.margin * 2\n\n const bg = !opts.color.light.a\n ? ''\n : ''\n\n const path =\n ''\n\n const viewBox = 'viewBox=\"' + '0 0 ' + qrcodesize + ' ' + qrcodesize + '\"'\n\n const width = !opts.width ? '' : 'width=\"' + opts.width + '\" height=\"' + opts.width + '\" '\n\n const svgTag = '' + bg + path + '\\n'\n\n if (typeof cb === 'function') {\n cb(null, svgTag)\n }\n\n return svgTag\n}\n","\nconst canPromise = require('./can-promise')\n\nconst QRCode = require('./core/qrcode')\nconst CanvasRenderer = require('./renderer/canvas')\nconst SvgRenderer = require('./renderer/svg-tag.js')\n\nfunction renderCanvas (renderFunc, canvas, text, opts, cb) {\n const args = [].slice.call(arguments, 1)\n const argsNum = args.length\n const isLastArgCb = typeof args[argsNum - 1] === 'function'\n\n if (!isLastArgCb && !canPromise()) {\n throw new Error('Callback required as last argument')\n }\n\n if (isLastArgCb) {\n if (argsNum < 2) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 2) {\n cb = text\n text = canvas\n canvas = opts = undefined\n } else if (argsNum === 3) {\n if (canvas.getContext && typeof cb === 'undefined') {\n cb = opts\n opts = undefined\n } else {\n cb = opts\n opts = text\n text = canvas\n canvas = undefined\n }\n }\n } else {\n if (argsNum < 1) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 1) {\n text = canvas\n canvas = opts = undefined\n } else if (argsNum === 2 && !canvas.getContext) {\n opts = text\n text = canvas\n canvas = undefined\n }\n\n return new Promise(function (resolve, reject) {\n try {\n const data = QRCode.create(text, opts)\n resolve(renderFunc(data, canvas, opts))\n } catch (e) {\n reject(e)\n }\n })\n }\n\n try {\n const data = QRCode.create(text, opts)\n cb(null, renderFunc(data, canvas, opts))\n } catch (e) {\n cb(e)\n }\n}\n\nexports.create = QRCode.create\nexports.toCanvas = renderCanvas.bind(null, CanvasRenderer.render)\nexports.toDataURL = renderCanvas.bind(null, CanvasRenderer.renderToDataURL)\n\n// only svg for now.\nexports.toString = renderCanvas.bind(null, function (data, _, opts) {\n return SvgRenderer.render(data, opts)\n})\n","import { svg } from 'lit';\nimport QRCodeUtil from 'qrcode';\nconst CONNECTING_ERROR_MARGIN = 0.1;\nconst CIRCLE_SIZE_MODIFIER = 2.5;\nconst QRCODE_MATRIX_MARGIN = 7;\nfunction isAdjecentDots(cy, otherCy, cellSize) {\n if (cy === otherCy) {\n return false;\n }\n const diff = cy - otherCy < 0 ? otherCy - cy : cy - otherCy;\n return diff <= cellSize + CONNECTING_ERROR_MARGIN;\n}\nfunction getMatrix(value, errorCorrectionLevel) {\n const arr = Array.prototype.slice.call(QRCodeUtil.create(value, { errorCorrectionLevel }).modules.data, 0);\n const sqrt = Math.sqrt(arr.length);\n return arr.reduce((rows, key, index) => (index % sqrt === 0 ? rows.push([key]) : rows[rows.length - 1].push(key)) && rows, []);\n}\nexport const QrCodeUtil = {\n generate(uri, size, logoSize) {\n const dotColor = '#141414';\n const edgeColor = 'transparent';\n const strokeWidth = 5;\n const dots = [];\n const matrix = getMatrix(uri, 'Q');\n const cellSize = size / matrix.length;\n const qrList = [\n { x: 0, y: 0 },\n { x: 1, y: 0 },\n { x: 0, y: 1 }\n ];\n qrList.forEach(({ x, y }) => {\n const x1 = (matrix.length - QRCODE_MATRIX_MARGIN) * cellSize * x;\n const y1 = (matrix.length - QRCODE_MATRIX_MARGIN) * cellSize * y;\n const borderRadius = 0.45;\n for (let i = 0; i < qrList.length; i += 1) {\n const dotSize = cellSize * (QRCODE_MATRIX_MARGIN - i * 2);\n dots.push(svg `\n \n `);\n }\n });\n const clearArenaSize = Math.floor((logoSize + 25) / cellSize);\n const matrixMiddleStart = matrix.length / 2 - clearArenaSize / 2;\n const matrixMiddleEnd = matrix.length / 2 + clearArenaSize / 2 - 1;\n const circles = [];\n matrix.forEach((row, i) => {\n row.forEach((_, j) => {\n if (matrix[i][j]) {\n if (!((i < QRCODE_MATRIX_MARGIN && j < QRCODE_MATRIX_MARGIN) ||\n (i > matrix.length - (QRCODE_MATRIX_MARGIN + 1) && j < QRCODE_MATRIX_MARGIN) ||\n (i < QRCODE_MATRIX_MARGIN && j > matrix.length - (QRCODE_MATRIX_MARGIN + 1)))) {\n if (!(i > matrixMiddleStart &&\n i < matrixMiddleEnd &&\n j > matrixMiddleStart &&\n j < matrixMiddleEnd)) {\n const cx = i * cellSize + cellSize / 2;\n const cy = j * cellSize + cellSize / 2;\n circles.push([cx, cy]);\n }\n }\n }\n });\n });\n const circlesToConnect = {};\n circles.forEach(([cx, cy]) => {\n if (circlesToConnect[cx]) {\n circlesToConnect[cx]?.push(cy);\n }\n else {\n circlesToConnect[cx] = [cy];\n }\n });\n Object.entries(circlesToConnect)\n .map(([cx, cys]) => {\n const newCys = cys.filter(cy => cys.every(otherCy => !isAdjecentDots(cy, otherCy, cellSize)));\n return [Number(cx), newCys];\n })\n .forEach(([cx, cys]) => {\n cys.forEach(cy => {\n dots.push(svg ``);\n });\n });\n Object.entries(circlesToConnect)\n .filter(([_, cys]) => cys.length > 1)\n .map(([cx, cys]) => {\n const newCys = cys.filter(cy => cys.some(otherCy => isAdjecentDots(cy, otherCy, cellSize)));\n return [Number(cx), newCys];\n })\n .map(([cx, cys]) => {\n cys.sort((a, b) => (a < b ? -1 : 1));\n const groups = [];\n for (const cy of cys) {\n const group = groups.find(item => item.some(otherCy => isAdjecentDots(cy, otherCy, cellSize)));\n if (group) {\n group.push(cy);\n }\n else {\n groups.push([cy]);\n }\n }\n return [cx, groups.map(item => [item[0], item[item.length - 1]])];\n })\n .forEach(([cx, groups]) => {\n groups.forEach(([y1, y2]) => {\n dots.push(svg `\n \n `);\n });\n });\n return dots;\n }\n};\n//# sourceMappingURL=QrCode.js.map","import { css } from 'lit';\nexport default css `\n :host {\n position: relative;\n user-select: none;\n display: block;\n overflow: hidden;\n aspect-ratio: 1 / 1;\n width: var(--local-size);\n }\n\n :host([data-theme='dark']) {\n border-radius: clamp(0px, var(--wui-border-radius-l), 40px);\n background-color: var(--wui-color-inverse-100);\n padding: var(--wui-spacing-l);\n }\n\n :host([data-theme='light']) {\n box-shadow: 0 0 0 1px var(--wui-color-bg-125);\n background-color: var(--wui-color-bg-125);\n }\n\n :host([data-clear='true']) > wui-icon {\n display: none;\n }\n\n svg:first-child,\n wui-image,\n wui-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translateY(-50%) translateX(-50%);\n }\n\n wui-image {\n width: 25%;\n height: 25%;\n border-radius: var(--wui-border-radius-xs);\n }\n\n wui-icon {\n width: 100%;\n height: 100%;\n color: #3396ff !important;\n transform: translateY(-50%) translateX(-50%) scale(0.25);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement, svg } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-image/index.js';\nimport { QrCodeUtil } from '../../utils/QrCode.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiQrCode = class WuiQrCode extends LitElement {\n constructor() {\n super(...arguments);\n this.uri = '';\n this.size = 0;\n this.theme = 'dark';\n this.imageSrc = undefined;\n this.alt = undefined;\n this.arenaClear = undefined;\n }\n render() {\n this.dataset['theme'] = this.theme;\n this.dataset['clear'] = String(this.arenaClear);\n this.style.cssText = `--local-size: ${this.size}px`;\n return html `${this.templateVisual()} ${this.templateSvg()}`;\n }\n templateSvg() {\n const size = this.theme === 'light' ? this.size : this.size - 16 * 2;\n return svg `\n \n ${QrCodeUtil.generate(this.uri, size, this.arenaClear ? 0 : size / 4)}\n \n `;\n }\n templateVisual() {\n if (this.imageSrc) {\n return html ``;\n }\n return html ``;\n }\n};\nWuiQrCode.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiQrCode.prototype, \"uri\", void 0);\n__decorate([\n property({ type: Number })\n], WuiQrCode.prototype, \"size\", void 0);\n__decorate([\n property()\n], WuiQrCode.prototype, \"theme\", void 0);\n__decorate([\n property()\n], WuiQrCode.prototype, \"imageSrc\", void 0);\n__decorate([\n property()\n], WuiQrCode.prototype, \"alt\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiQrCode.prototype, \"arenaClear\", void 0);\nWuiQrCode = __decorate([\n customElement('wui-qr-code')\n], WuiQrCode);\nexport { WuiQrCode };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n position: relative;\n display: inline-block;\n width: 100%;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { createRef, ref } from 'lit/directives/ref.js';\nimport '../../composites/wui-input-element/index.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../wui-input-text/index.js';\nimport styles from './styles.js';\nlet WuiSearchBar = class WuiSearchBar extends LitElement {\n constructor() {\n super(...arguments);\n this.inputComponentRef = createRef();\n }\n render() {\n return html `\n \n \n \n `;\n }\n clearValue() {\n const inputComponent = this.inputComponentRef.value;\n const inputElement = inputComponent?.inputElementRef.value;\n if (inputElement) {\n inputElement.value = '';\n inputElement.focus();\n inputElement.dispatchEvent(new Event('input'));\n }\n }\n};\nWuiSearchBar.styles = [resetStyles, styles];\nWuiSearchBar = __decorate([\n customElement('wui-search-bar')\n], WuiSearchBar);\nexport { WuiSearchBar };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: flex;\n column-gap: var(--wui-spacing-xs);\n align-items: center;\n padding: var(--wui-spacing-xs) var(--wui-spacing-m) var(--wui-spacing-xs) var(--wui-spacing-xs);\n border-radius: var(--wui-border-radius-3xl);\n border: 1px solid var(--wui-gray-glass-005);\n box-sizing: border-box;\n max-height: 40px;\n background-color: var(--wui-color-bg-175);\n box-shadow:\n 0px 14px 64px -4px rgba(0, 0, 0, 0.15),\n 0px 8px 22px -6px rgba(0, 0, 0, 0.15);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-text/index.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../wui-icon-box/index.js';\nimport styles from './styles.js';\nlet WuiSnackbar = class WuiSnackbar extends LitElement {\n constructor() {\n super(...arguments);\n this.backgroundColor = 'accent-100';\n this.iconColor = 'accent-100';\n this.icon = 'checkmark';\n this.message = '';\n }\n render() {\n return html `\n \n ${this.message}\n `;\n }\n};\nWuiSnackbar.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiSnackbar.prototype, \"backgroundColor\", void 0);\n__decorate([\n property()\n], WuiSnackbar.prototype, \"iconColor\", void 0);\n__decorate([\n property()\n], WuiSnackbar.prototype, \"icon\", void 0);\n__decorate([\n property()\n], WuiSnackbar.prototype, \"message\", void 0);\nWuiSnackbar = __decorate([\n customElement('wui-snackbar')\n], WuiSnackbar);\nexport { WuiSnackbar };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: inline-flex;\n background-color: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-3xl);\n padding: var(--wui-spacing-3xs);\n position: relative;\n height: 36px;\n overflow: hidden;\n }\n\n :host::before {\n content: '';\n position: absolute;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: var(--local-tab-width);\n height: 28px;\n border-radius: var(--wui-border-radius-3xl);\n background-color: var(--wui-gray-glass-002);\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-002);\n transform: translateX(calc(var(--local-tab) * var(--local-tab-width)));\n transition: transform var(--wui-ease-out-power-1) var(--wui-duration-md);\n will-change: background-color, opacity;\n }\n\n :host([data-type='flex'])::before {\n left: 3px;\n transform: translateX(calc((var(--local-tab) * 34px) + (var(--local-tab) * 4px)));\n }\n\n :host([data-type='flex']) {\n display: flex;\n padding: 0px 0px 0px 12px;\n gap: 4px;\n }\n\n :host([data-type='flex']) > button > wui-text {\n position: absolute;\n left: 18px;\n opacity: 0;\n }\n\n button[data-active='true'] > wui-icon,\n button[data-active='true'] > wui-text {\n color: var(--wui-color-fg-100);\n }\n\n button[data-active='false'] > wui-icon,\n button[data-active='false'] > wui-text {\n color: var(--wui-color-fg-200);\n }\n\n button[data-active='true']:disabled,\n button[data-active='false']:disabled {\n background-color: transparent;\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n button[data-active='true']:disabled > wui-text {\n color: var(--wui-color-fg-200);\n }\n\n button[data-active='false']:disabled > wui-text {\n color: var(--wui-color-fg-300);\n }\n\n button > wui-icon,\n button > wui-text {\n pointer-events: none;\n transition: color var(--wui-e ase-out-power-1) var(--wui-duration-md);\n will-change: color;\n }\n\n button {\n width: var(--local-tab-width);\n transition: background-color var(--wui-ease-out-power-1) var(--wui-duration-md);\n will-change: background-color;\n }\n\n :host([data-type='flex']) > button {\n width: 34px;\n position: relative;\n display: flex;\n justify-content: flex-start;\n }\n\n button:hover:enabled,\n button:active:enabled {\n background-color: transparent !important;\n }\n\n button:hover:enabled > wui-icon,\n button:active:enabled > wui-icon {\n color: var(--wui-color-fg-125);\n }\n\n button:hover:enabled > wui-text,\n button:active:enabled > wui-text {\n color: var(--wui-color-fg-125);\n }\n\n button {\n border-radius: var(--wui-border-radius-3xl);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport '../../components/wui-icon/index.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiTabs = class WuiTabs extends LitElement {\n constructor() {\n super(...arguments);\n this.tabs = [];\n this.onTabChange = () => null;\n this.buttons = [];\n this.disabled = false;\n this.localTabWidth = '100px';\n this.activeTab = 0;\n this.isDense = false;\n }\n render() {\n this.isDense = this.tabs.length > 3;\n this.style.cssText = `\n --local-tab: ${this.activeTab};\n --local-tab-width: ${this.localTabWidth};\n `;\n this.dataset['type'] = this.isDense ? 'flex' : 'block';\n return this.tabs.map((tab, index) => {\n const isActive = index === this.activeTab;\n return html `\n this.onTabClick(index)}\n data-active=${isActive}\n data-testid=\"tab-${tab.label?.toLowerCase()}\"\n >\n ${this.iconTemplate(tab)}\n ${tab.label} \n \n `;\n });\n }\n firstUpdated() {\n if (this.shadowRoot && this.isDense) {\n this.buttons = [...this.shadowRoot.querySelectorAll('button')];\n setTimeout(() => {\n this.animateTabs(0, true);\n }, 0);\n }\n }\n iconTemplate(tab) {\n if (tab.icon) {\n return html ``;\n }\n return null;\n }\n onTabClick(index) {\n if (this.buttons) {\n this.animateTabs(index, false);\n }\n this.activeTab = index;\n this.onTabChange(index);\n }\n animateTabs(index, initialAnimation) {\n const passiveBtn = this.buttons[this.activeTab];\n const activeBtn = this.buttons[index];\n const passiveBtnText = passiveBtn?.querySelector('wui-text');\n const activeBtnText = activeBtn?.querySelector('wui-text');\n const activeBtnBounds = activeBtn?.getBoundingClientRect();\n const activeBtnTextBounds = activeBtnText?.getBoundingClientRect();\n if (passiveBtn && passiveBtnText && !initialAnimation && index !== this.activeTab) {\n passiveBtnText.animate([{ opacity: 0 }], {\n duration: 50,\n easing: 'ease',\n fill: 'forwards'\n });\n passiveBtn.animate([{ width: `34px` }], {\n duration: 500,\n easing: 'ease',\n fill: 'forwards'\n });\n }\n if (activeBtn && activeBtnBounds && activeBtnTextBounds && activeBtnText) {\n if (index !== this.activeTab || initialAnimation) {\n this.localTabWidth = `${Math.round(activeBtnBounds.width + activeBtnTextBounds.width) + 6}px`;\n activeBtn.animate([{ width: `${activeBtnBounds.width + activeBtnTextBounds.width}px` }], {\n duration: initialAnimation ? 0 : 500,\n fill: 'forwards',\n easing: 'ease'\n });\n activeBtnText.animate([{ opacity: 1 }], {\n duration: initialAnimation ? 0 : 125,\n delay: initialAnimation ? 0 : 200,\n fill: 'forwards',\n easing: 'ease'\n });\n }\n }\n }\n};\nWuiTabs.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property({ type: Array })\n], WuiTabs.prototype, \"tabs\", void 0);\n__decorate([\n property()\n], WuiTabs.prototype, \"onTabChange\", void 0);\n__decorate([\n property({ type: Array })\n], WuiTabs.prototype, \"buttons\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiTabs.prototype, \"disabled\", void 0);\n__decorate([\n property()\n], WuiTabs.prototype, \"localTabWidth\", void 0);\n__decorate([\n state()\n], WuiTabs.prototype, \"activeTab\", void 0);\n__decorate([\n state()\n], WuiTabs.prototype, \"isDense\", void 0);\nWuiTabs = __decorate([\n customElement('wui-tabs')\n], WuiTabs);\nexport { WuiTabs };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n }\n\n :host > button {\n gap: var(--wui-spacing-xxs);\n padding: var(--wui-spacing-xs);\n padding-right: var(--wui-spacing-1xs);\n height: 40px;\n border-radius: var(--wui-border-radius-3xl);\n background: var(--wui-gray-glass-002);\n border-width: 0px;\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-002);\n }\n\n :host > button wui-image {\n width: 24px;\n height: 24px;\n border-radius: var(--wui-border-radius-s);\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-010);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport '../../components/wui-text/index.js';\nimport '../../components/wui-image/index.js';\nimport '../wui-icon-box/index.js';\nimport styles from './styles.js';\nlet WuiTokenButton = class WuiTokenButton extends LitElement {\n constructor() {\n super(...arguments);\n this.text = '';\n }\n render() {\n return html `\n \n `;\n }\n tokenTemplate() {\n if (this.imageSrc) {\n return html ``;\n }\n return html `\n \n `;\n }\n};\nWuiTokenButton.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiTokenButton.prototype, \"imageSrc\", void 0);\n__decorate([\n property()\n], WuiTokenButton.prototype, \"text\", void 0);\nWuiTokenButton = __decorate([\n customElement('wui-token-button')\n], WuiTokenButton);\nexport { WuiTokenButton };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n padding: 9px var(--wui-spacing-s) 10px var(--wui-spacing-s);\n border-radius: var(--wui-border-radius-xxs);\n\n color: var(--wui-color-bg-100);\n position: relative;\n }\n\n :host([data-variant='shade']) {\n background-color: var(--wui-color-bg-150);\n border: 1px solid var(--wui-gray-glass-005);\n }\n\n :host([data-variant='shade']) > wui-text {\n color: var(--wui-color-fg-150);\n }\n\n :host([data-variant='fill']) {\n background-color: var(--wui-color-fg-100);\n border: none;\n }\n\n wui-icon {\n position: absolute;\n width: 12px !important;\n height: 4px !important;\n }\n\n wui-icon[data-placement='top'] {\n bottom: 0px;\n left: 50%;\n transform: translate(-50%, 95%);\n }\n\n wui-icon[data-placement='bottom'] {\n top: 0;\n left: 50%;\n transform: translate(-50%, -95%) rotate(180deg);\n }\n\n wui-icon[data-placement='right'] {\n top: 50%;\n left: 0;\n transform: translate(-65%, -50%) rotate(90deg);\n }\n\n wui-icon[data-placement='left'] {\n top: 50%;\n right: 0%;\n transform: translate(65%, -50%) rotate(270deg);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-text/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiTooltip = class WuiTooltip extends LitElement {\n constructor() {\n super(...arguments);\n this.placement = 'top';\n this.variant = 'fill';\n this.message = '';\n }\n render() {\n this.dataset['variant'] = this.variant;\n return html `\n ${this.message}`;\n }\n};\nWuiTooltip.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiTooltip.prototype, \"placement\", void 0);\n__decorate([\n property()\n], WuiTooltip.prototype, \"variant\", void 0);\n__decorate([\n property()\n], WuiTooltip.prototype, \"message\", void 0);\nWuiTooltip = __decorate([\n customElement('wui-tooltip')\n], WuiTooltip);\nexport { WuiTooltip };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n position: relative;\n }\n\n button {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 48px;\n width: 100%;\n background-color: var(--wui-accent-glass-010);\n border-radius: var(--wui-border-radius-xs);\n border: 1px solid var(--wui-accent-glass-010);\n transition: background-color var(--wui-ease-out-power-1) var(--wui-duration-md);\n will-change: background-color;\n }\n\n wui-tooltip {\n padding: 7px var(--wui-spacing-s) 8px var(--wui-spacing-s);\n position: absolute;\n top: -8px;\n left: 50%;\n transform: translate(-50%, -100%);\n opacity: 0;\n display: none;\n }\n\n @media (hover: hover) and (pointer: fine) {\n button:hover:enabled {\n background-color: var(--wui-accent-glass-015);\n }\n\n button:active:enabled {\n background-color: var(--wui-accent-glass-020);\n }\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nimport '../wui-tooltip/index.js';\nimport '../../components/wui-icon/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nlet WuiTooltipSelect = class WuiTooltipSelect extends LitElement {\n constructor() {\n super(...arguments);\n this.text = '';\n this.icon = 'card';\n }\n render() {\n return html `\n \n \n `;\n }\n onMouseEnter() {\n const element = this.shadowRoot?.querySelector('wui-tooltip');\n if (element) {\n element.style.display = 'flex';\n element?.animate([{ opacity: 0 }, { opacity: 1 }], {\n fill: 'forwards',\n easing: 'ease',\n duration: 250\n });\n }\n }\n onMouseLeave() {\n const element = this.shadowRoot?.querySelector('wui-tooltip');\n if (element) {\n element.style.display = 'none';\n element?.animate([{ opacity: 1 }, { opacity: 0 }], {\n fill: 'forwards',\n easing: 'ease',\n duration: 200\n });\n }\n }\n};\nWuiTooltipSelect.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiTooltipSelect.prototype, \"text\", void 0);\n__decorate([\n property()\n], WuiTooltipSelect.prototype, \"icon\", void 0);\nWuiTooltipSelect = __decorate([\n customElement('wui-tooltip-select')\n], WuiTooltipSelect);\nexport { WuiTooltipSelect };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-flex {\n cursor: pointer;\n display: flex;\n column-gap: var(--wui-spacing-s);\n padding: var(--wui-spacing-xs);\n padding-right: var(--wui-spacing-l);\n width: 100%;\n background-color: transparent;\n border-radius: var(--wui-border-radius-xs);\n color: var(--wui-color-fg-250);\n transition: background-color 0.2s linear;\n }\n\n :host > wui-flex:hover {\n background-color: var(--wui-gray-glass-002);\n }\n\n :host([disabled]) > wui-flex {\n opacity: 0.6;\n }\n\n :host([disabled]) > wui-flex:hover {\n background-color: transparent;\n }\n\n :host > wui-flex > wui-flex {\n flex: 1;\n }\n\n :host > wui-flex > wui-image {\n width: 40px;\n height: 40px;\n border-radius: var(--wui-border-radius-3xl);\n position: relative;\n }\n\n :host > wui-flex > wui-image::after {\n position: absolute;\n content: '';\n inset: 0;\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-010);\n border-radius: var(--wui-border-radius-l);\n }\n\n button > wui-icon-box[data-variant='square-blue'] {\n border-radius: var(--wui-border-radius-3xs);\n position: relative;\n border: none;\n width: 36px;\n height: 36px;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-image/index.js';\nimport '../../components/wui-loading-spinner/index.js';\nimport '../../components/wui-text/index.js';\nimport '../../layout/wui-flex/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../wui-icon-box/index.js';\nimport styles from './styles.js';\nimport { UiHelperUtil } from '../../utils/UiHelperUtil.js';\nimport { NumberUtil } from '@web3modal/common';\nlet WuiTokenListItem = class WuiTokenListItem extends LitElement {\n constructor() {\n super(...arguments);\n this.imageSrc = undefined;\n this.name = undefined;\n this.symbol = undefined;\n this.price = undefined;\n this.amount = undefined;\n }\n render() {\n const value = NumberUtil.multiply(this.price, this.amount)?.toFixed(3);\n return html `\n \n ${this.visualTemplate()}\n \n \n ${this.name}\n ${value\n ? html `\n \n $${UiHelperUtil.formatNumberToLocalString(value, 3)}\n \n `\n : null}\n \n \n ${this.symbol}\n ${this.amount &&\n html `${UiHelperUtil.formatNumberToLocalString(this.amount, 4)}`}\n \n \n \n `;\n }\n visualTemplate() {\n if (this.imageSrc) {\n return html ``;\n }\n return null;\n }\n};\nWuiTokenListItem.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiTokenListItem.prototype, \"imageSrc\", void 0);\n__decorate([\n property()\n], WuiTokenListItem.prototype, \"name\", void 0);\n__decorate([\n property()\n], WuiTokenListItem.prototype, \"symbol\", void 0);\n__decorate([\n property()\n], WuiTokenListItem.prototype, \"price\", void 0);\n__decorate([\n property()\n], WuiTokenListItem.prototype, \"amount\", void 0);\nWuiTokenListItem = __decorate([\n customElement('wui-token-list-item')\n], WuiTokenListItem);\nexport { WuiTokenListItem };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: flex;\n justify-content: center;\n align-items: center;\n width: var(--wui-icon-box-size-xl);\n height: var(--wui-icon-box-size-xl);\n box-shadow: 0 0 0 8px var(--wui-thumbnail-border);\n border-radius: var(--local-border-radius);\n overflow: hidden;\n }\n\n wui-icon {\n width: 32px;\n height: 32px;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-image/index.js';\nimport '../../components/wui-icon/index.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiVisualThumbnail = class WuiVisualThumbnail extends LitElement {\n render() {\n this.style.cssText = `--local-border-radius: ${this.borderRadiusFull ? '1000px' : '20px'};`;\n return html `${this.templateVisual()}`;\n }\n templateVisual() {\n if (this.imageSrc) {\n return html ``;\n }\n return html ``;\n }\n};\nWuiVisualThumbnail.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiVisualThumbnail.prototype, \"imageSrc\", void 0);\n__decorate([\n property()\n], WuiVisualThumbnail.prototype, \"alt\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiVisualThumbnail.prototype, \"borderRadiusFull\", void 0);\nWuiVisualThumbnail = __decorate([\n customElement('wui-visual-thumbnail')\n], WuiVisualThumbnail);\nexport { WuiVisualThumbnail };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n }\n\n button {\n width: 100%;\n display: block;\n padding-top: var(--wui-spacing-l);\n padding-bottom: var(--wui-spacing-l);\n padding-left: var(--wui-spacing-s);\n padding-right: var(--wui-spacing-2l);\n border-radius: var(--wui-border-radius-s);\n background-color: var(--wui-accent-glass-015);\n }\n\n button:hover {\n background-color: var(--wui-accent-glass-010) !important;\n }\n\n button:active {\n background-color: var(--wui-accent-glass-020) !important;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport '../../layout/wui-flex/index.js';\nimport '../../components/wui-text/index.js';\nimport '../../composites/wui-button/index.js';\nimport '../../composites/wui-icon-box/index.js';\nimport { resetStyles, elementStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nimport { property } from 'lit/decorators.js';\nlet WuiNoticeCard = class WuiNoticeCard extends LitElement {\n constructor() {\n super(...arguments);\n this.label = '';\n this.description = '';\n this.icon = 'wallet';\n }\n render() {\n return html `\n \n `;\n }\n};\nWuiNoticeCard.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiNoticeCard.prototype, \"label\", void 0);\n__decorate([\n property()\n], WuiNoticeCard.prototype, \"description\", void 0);\n__decorate([\n property()\n], WuiNoticeCard.prototype, \"icon\", void 0);\nWuiNoticeCard = __decorate([\n customElement('wui-notice-card')\n], WuiNoticeCard);\nexport { WuiNoticeCard };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n height: auto;\n position: relative;\n flex-direction: column;\n gap: var(--wui-spacing-s);\n padding: 17px 18px 17px var(--wui-spacing-m);\n width: 100%;\n background-color: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-xs);\n color: var(--wui-color-fg-250);\n }\n\n .overflowedContent {\n width: 100%;\n overflow: hidden;\n }\n\n .overflowedContent[data-active='false']:after {\n content: '';\n position: absolute;\n top: 50%;\n left: 0;\n right: 0;\n bottom: 0;\n background: linear-gradient(to top, var(--wui-color-bg-200), transparent);\n border-bottom-left-radius: var(--wui-border-radius-xs);\n border-bottom-right-radius: var(--wui-border-radius-xs);\n }\n\n .heightContent {\n max-height: 100px;\n }\n\n pre {\n text-align: left;\n white-space: pre-wrap;\n height: auto;\n overflow-x: auto;\n overflow-wrap: anywhere;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-text/index.js';\nimport '../../layout/wui-flex/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nconst MAX_HEIGHT = 100;\nlet WuiListAccordion = class WuiListAccordion extends LitElement {\n constructor() {\n super(...arguments);\n this.textTitle = '';\n this.overflowedContent = '';\n this.toggled = false;\n this.enableAccordion = false;\n this.scrollElement = undefined;\n this.scrollHeightElement = 0;\n }\n updated(changedProperties) {\n super.updated(changedProperties);\n if (changedProperties.has('textTitle') || changedProperties.has('overflowedContent')) {\n setTimeout(() => {\n this.checkHeight();\n }, 1);\n }\n }\n checkHeight() {\n this.updateComplete.then(() => {\n const heightElement = this.shadowRoot?.querySelector('.heightContent');\n const textElement = this.shadowRoot?.querySelector('.textContent');\n if (heightElement && textElement) {\n this.scrollElement = heightElement;\n const scrollHeight = textElement?.scrollHeight;\n if (scrollHeight && scrollHeight > MAX_HEIGHT) {\n this.enableAccordion = true;\n this.scrollHeightElement = scrollHeight;\n this.requestUpdate();\n }\n }\n });\n }\n render() {\n return html `\n
\n \n `;\n }\n onClick() {\n const icon = this.shadowRoot?.querySelector('wui-icon');\n if (this.enableAccordion) {\n this.toggled = !this.toggled;\n this.requestUpdate();\n if (this.scrollElement) {\n this.scrollElement.animate([\n { maxHeight: this.toggled ? `${MAX_HEIGHT}px` : `${this.scrollHeightElement}px` },\n { maxHeight: this.toggled ? `${this.scrollHeightElement}px` : `${MAX_HEIGHT}px` }\n ], {\n duration: 300,\n fill: 'forwards',\n easing: 'ease'\n });\n }\n if (icon) {\n icon.animate([\n { transform: this.toggled ? `rotate(0deg)` : `rotate(180deg)` },\n { transform: this.toggled ? `rotate(180deg)` : `rotate(0deg)` }\n ], {\n duration: 300,\n fill: 'forwards',\n easing: 'ease'\n });\n }\n }\n }\n chevronTemplate() {\n if (this.enableAccordion) {\n return html ` `;\n }\n return null;\n }\n};\nWuiListAccordion.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiListAccordion.prototype, \"textTitle\", void 0);\n__decorate([\n property()\n], WuiListAccordion.prototype, \"overflowedContent\", void 0);\nWuiListAccordion = __decorate([\n customElement('wui-list-accordion')\n], WuiListAccordion);\nexport { WuiListAccordion };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: flex;\n column-gap: var(--wui-spacing-s);\n padding: 17px 18px 17px var(--wui-spacing-m);\n width: 100%;\n background-color: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-xs);\n color: var(--wui-color-fg-250);\n }\n\n wui-image {\n width: var(--wui-icon-size-lg);\n height: var(--wui-icon-size-lg);\n border-radius: var(--wui-border-radius-3xl);\n }\n\n wui-icon {\n width: var(--wui-icon-size-lg);\n height: var(--wui-icon-size-lg);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-image/index.js';\nimport '../../components/wui-text/index.js';\nimport '../../layout/wui-flex/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiListContent = class WuiListContent extends LitElement {\n constructor() {\n super(...arguments);\n this.imageSrc = undefined;\n this.textTitle = '';\n this.textValue = undefined;\n }\n render() {\n return html `\n \n \n ${this.textTitle}\n \n ${this.templateContent()}\n \n `;\n }\n templateContent() {\n if (this.imageSrc) {\n return html ``;\n }\n else if (this.textValue) {\n return html ` ${this.textValue} `;\n }\n return html ``;\n }\n};\nWuiListContent.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiListContent.prototype, \"imageSrc\", void 0);\n__decorate([\n property()\n], WuiListContent.prototype, \"textTitle\", void 0);\n__decorate([\n property()\n], WuiListContent.prototype, \"textValue\", void 0);\nWuiListContent = __decorate([\n customElement('wui-list-content')\n], WuiListContent);\nexport { WuiListContent };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n column-gap: var(--wui-spacing-s);\n padding: 7px var(--wui-spacing-l) 7px var(--wui-spacing-xs);\n width: 100%;\n background-color: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-xs);\n color: var(--wui-color-fg-100);\n }\n\n button > wui-text:nth-child(2) {\n display: flex;\n flex: 1;\n }\n\n button[data-transparent='true'] {\n pointer-events: none;\n background-color: transparent;\n }\n\n wui-icon {\n color: var(--wui-color-fg-200) !important;\n }\n\n button:disabled {\n background-color: var(--wui-gray-glass-015);\n color: var(--wui-gray-glass-015);\n }\n\n button:disabled > wui-tag {\n background-color: var(--wui-gray-glass-010);\n color: var(--wui-color-fg-300);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-text/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../wui-network-image/index.js';\nimport styles from './styles.js';\nlet WuiListNetwork = class WuiListNetwork extends LitElement {\n constructor() {\n super(...arguments);\n this.imageSrc = '';\n this.name = '';\n this.disabled = false;\n this.transparent = false;\n }\n render() {\n return html `\n \n `;\n }\n templateNetworkImage() {\n if (this.imageSrc) {\n return html ``;\n }\n if (!this.imageSrc) {\n return html ``;\n }\n return null;\n }\n};\nWuiListNetwork.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiListNetwork.prototype, \"imageSrc\", void 0);\n__decorate([\n property()\n], WuiListNetwork.prototype, \"name\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiListNetwork.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiListNetwork.prototype, \"transparent\", void 0);\nWuiListNetwork = __decorate([\n customElement('wui-list-network')\n], WuiListNetwork);\nexport { WuiListNetwork };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: flex;\n flex-direction: column;\n gap: var(--wui-spacing-l);\n padding: 17px 18px 17px var(--wui-spacing-m);\n width: 100%;\n background-color: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-xs);\n color: var(--wui-color-fg-250);\n }\n\n wui-image {\n width: var(--wui-icon-size-lg);\n height: var(--wui-icon-size-lg);\n border-radius: var(--wui-border-radius-3xl);\n }\n\n wui-icon {\n width: var(--wui-icon-size-lg);\n height: var(--wui-icon-size-lg);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-image/index.js';\nimport '../../components/wui-text/index.js';\nimport '../wui-chip/index.js';\nimport '../../layout/wui-flex/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiListWalletTransaction = class WuiListWalletTransaction extends LitElement {\n constructor() {\n super(...arguments);\n this.amount = '';\n this.networkCurreny = '';\n this.networkImageUrl = '';\n this.receiverAddress = '';\n this.addressExplorerUrl = '';\n }\n render() {\n return html `\n \n Sending\n \n \n ${this.amount} ${this.networkCurreny}\n \n ${this.templateNetworkVisual()}\n \n \n \n To\n \n \n `;\n }\n templateNetworkVisual() {\n if (this.networkImageUrl) {\n return html ``;\n }\n return html ``;\n }\n};\nWuiListWalletTransaction.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiListWalletTransaction.prototype, \"amount\", void 0);\n__decorate([\n property()\n], WuiListWalletTransaction.prototype, \"networkCurreny\", void 0);\n__decorate([\n property()\n], WuiListWalletTransaction.prototype, \"networkImageUrl\", void 0);\n__decorate([\n property()\n], WuiListWalletTransaction.prototype, \"receiverAddress\", void 0);\n__decorate([\n property()\n], WuiListWalletTransaction.prototype, \"addressExplorerUrl\", void 0);\nWuiListWalletTransaction = __decorate([\n customElement('wui-list-wallet-transaction')\n], WuiListWalletTransaction);\nexport { WuiListWalletTransaction };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n width: 100%;\n }\n\n :host > wui-flex {\n width: 100%;\n padding: var(--wui-spacing-s);\n border-radius: var(--wui-border-radius-xs);\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n gap: var(--wui-spacing-s);\n }\n\n :host > wui-flex:hover {\n background-color: var(--wui-gray-glass-002);\n }\n\n .purchase-image-container {\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n width: var(--wui-icon-box-size-lg);\n height: var(--wui-icon-box-size-lg);\n }\n\n .purchase-image-container wui-image {\n width: 100%;\n height: 100%;\n position: relative;\n border-radius: calc(var(--wui-icon-box-size-lg) / 2);\n }\n\n .purchase-image-container wui-image::after {\n content: '';\n display: block;\n width: 100%;\n height: 100%;\n position: absolute;\n inset: 0;\n border-radius: calc(var(--wui-icon-box-size-lg) / 2);\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-005);\n }\n\n .purchase-image-container wui-icon-box {\n position: absolute;\n right: 0;\n bottom: 0;\n transform: translate(20%, 20%);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-text/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nimport { ApiController } from '@web3modal/core';\nlet WuiOnRampActivityItem = class WuiOnRampActivityItem extends LitElement {\n constructor() {\n super(...arguments);\n this.disabled = false;\n this.color = 'inherit';\n this.label = 'Bought';\n this.purchaseValue = '';\n this.purchaseCurrency = '';\n this.date = '';\n this.completed = false;\n this.inProgress = false;\n this.failed = false;\n this.onClick = null;\n this.symbol = '';\n }\n firstUpdated() {\n if (!this.icon) {\n this.fetchTokenImage();\n }\n }\n render() {\n return html `\n \n ${this.imageTemplate()}\n \n \n ${this.statusIconTemplate()}\n ${this.label}\n \n \n + ${this.purchaseValue} ${this.purchaseCurrency}\n \n \n ${this.inProgress\n ? html ``\n : html `${this.date}`}\n \n `;\n }\n async fetchTokenImage() {\n await ApiController._fetchTokenImage(this.purchaseCurrency);\n }\n statusIconTemplate() {\n if (this.inProgress) {\n return null;\n }\n return this.completed ? this.boughtIconTemplate() : this.errorIconTemplate();\n }\n errorIconTemplate() {\n return html ``;\n }\n imageTemplate() {\n const icon = this.icon || `https://avatar.vercel.sh/andrew.svg?size=50&text=${this.symbol}`;\n return html `\n \n `;\n }\n boughtIconTemplate() {\n return html ``;\n }\n};\nWuiOnRampActivityItem.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property({ type: Boolean })\n], WuiOnRampActivityItem.prototype, \"disabled\", void 0);\n__decorate([\n property()\n], WuiOnRampActivityItem.prototype, \"color\", void 0);\n__decorate([\n property()\n], WuiOnRampActivityItem.prototype, \"label\", void 0);\n__decorate([\n property()\n], WuiOnRampActivityItem.prototype, \"purchaseValue\", void 0);\n__decorate([\n property()\n], WuiOnRampActivityItem.prototype, \"purchaseCurrency\", void 0);\n__decorate([\n property()\n], WuiOnRampActivityItem.prototype, \"date\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiOnRampActivityItem.prototype, \"completed\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiOnRampActivityItem.prototype, \"inProgress\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiOnRampActivityItem.prototype, \"failed\", void 0);\n__decorate([\n property()\n], WuiOnRampActivityItem.prototype, \"onClick\", void 0);\n__decorate([\n property()\n], WuiOnRampActivityItem.prototype, \"symbol\", void 0);\n__decorate([\n property()\n], WuiOnRampActivityItem.prototype, \"icon\", void 0);\nWuiOnRampActivityItem = __decorate([\n customElement('wui-onramp-activity-item')\n], WuiOnRampActivityItem);\nexport { WuiOnRampActivityItem };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n padding: var(--wui-spacing-s);\n border-radius: var(--wui-border-radius-xs);\n background-color: var(--wui-gray-glass-002);\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n gap: var(--wui-spacing-s);\n transition: background-color var(--wui-ease-out-power-1) var(--wui-duration-md);\n will-change: background-color;\n }\n\n button:hover {\n background-color: var(--wui-gray-glass-005);\n }\n\n .provider-image {\n width: var(--wui-spacing-3xl);\n min-width: var(--wui-spacing-3xl);\n height: var(--wui-spacing-3xl);\n border-radius: calc(var(--wui-border-radius-xs) - calc(var(--wui-spacing-s) / 2));\n position: relative;\n overflow: hidden;\n }\n\n .provider-image::after {\n content: '';\n display: block;\n width: 100%;\n height: 100%;\n position: absolute;\n inset: 0;\n border-radius: calc(var(--wui-border-radius-xs) - calc(var(--wui-spacing-s) / 2));\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-005);\n }\n\n .network-icon {\n width: var(--wui-spacing-m);\n height: var(--wui-spacing-m);\n border-radius: calc(var(--wui-spacing-m) / 2);\n overflow: hidden;\n box-shadow:\n 0 0 0 3px var(--wui-gray-glass-002),\n 0 0 0 3px var(--wui-color-modal-bg);\n transition: box-shadow var(--wui-ease-out-power-1) var(--wui-duration-md);\n will-change: box-shadow;\n }\n\n button:hover .network-icon {\n box-shadow:\n 0 0 0 3px var(--wui-gray-glass-005),\n 0 0 0 3px var(--wui-color-modal-bg);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { AssetUtil, NetworkController } from '@web3modal/core';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-text/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nlet WuiOnRampProviderItem = class WuiOnRampProviderItem extends LitElement {\n constructor() {\n super(...arguments);\n this.disabled = false;\n this.color = 'inherit';\n this.label = '';\n this.feeRange = '';\n this.loading = false;\n this.onClick = null;\n }\n render() {\n return html `\n \n `;\n }\n networksTemplate() {\n const networks = NetworkController.getRequestedCaipNetworks();\n const slicedNetworks = networks?.filter(network => network?.imageId)?.slice(0, 5);\n return html `\n \n ${slicedNetworks?.map(network => html `\n \n \n \n `)}\n \n `;\n }\n};\nWuiOnRampProviderItem.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property({ type: Boolean })\n], WuiOnRampProviderItem.prototype, \"disabled\", void 0);\n__decorate([\n property()\n], WuiOnRampProviderItem.prototype, \"color\", void 0);\n__decorate([\n property()\n], WuiOnRampProviderItem.prototype, \"name\", void 0);\n__decorate([\n property()\n], WuiOnRampProviderItem.prototype, \"label\", void 0);\n__decorate([\n property()\n], WuiOnRampProviderItem.prototype, \"feeRange\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiOnRampProviderItem.prototype, \"loading\", void 0);\n__decorate([\n property()\n], WuiOnRampProviderItem.prototype, \"onClick\", void 0);\nWuiOnRampProviderItem = __decorate([\n customElement('wui-onramp-provider-item')\n], WuiOnRampProviderItem);\nexport { WuiOnRampProviderItem };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n display: flex;\n gap: var(--wui-spacing-3xs);\n align-items: center;\n padding: 6.25px var(--wui-spacing-xs) 7.25px var(--wui-spacing-s);\n background-color: var(--wui-gray-glass-090);\n border-radius: var(--wui-border-radius-3xl);\n border: 1px solid var(--wui-gray-glass-060);\n transition: background-color var(--wui-duration-md) var(--wui-ease-inout-power-1);\n will-change: background-color;\n }\n\n @media (hover: hover) and (pointer: fine) {\n button:hover:enabled {\n background-color: var(--wui-gray-glass-080);\n }\n\n button:active:enabled {\n background-color: var(--wui-gray-glass-060);\n }\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nimport '../../components/wui-text/index.js';\nimport '../../components/wui-icon/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nlet WuiPromo = class WuiPromo extends LitElement {\n constructor() {\n super(...arguments);\n this.text = '';\n }\n render() {\n return html ``;\n }\n};\nWuiPromo.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiPromo.prototype, \"text\", void 0);\nWuiPromo = __decorate([\n customElement('wui-promo')\n], WuiPromo);\nexport { WuiPromo };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n span {\n font-weight: 500;\n font-size: 40px;\n color: var(--wui-color-fg-100);\n line-height: 130%; /* 52px */\n letter-spacing: -1.6px;\n text-align: center;\n }\n\n .pennies {\n color: var(--wui-color-fg-200);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nlet WuiBalance = class WuiBalance extends LitElement {\n constructor() {\n super(...arguments);\n this.dollars = '0';\n this.pennies = '00';\n }\n render() {\n return html `$${this.dollars}.${this.pennies}`;\n }\n};\nWuiBalance.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiBalance.prototype, \"dollars\", void 0);\n__decorate([\n property()\n], WuiBalance.prototype, \"pennies\", void 0);\nWuiBalance = __decorate([\n customElement('wui-balance')\n], WuiBalance);\nexport { WuiBalance };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n background-color: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-3xl);\n border: 1px solid var(--wui-gray-glass-002);\n padding: var(--wui-spacing-xs) var(--wui-spacing-s) var(--wui-spacing-xs) var(--wui-spacing-xs);\n position: relative;\n }\n\n wui-avatar {\n width: 32px;\n height: 32px;\n box-shadow: 0 0 0 0;\n outline: 3px solid var(--wui-gray-glass-005);\n }\n\n wui-icon-box,\n wui-image {\n width: 16px;\n height: 16px;\n border-radius: var(--wui-border-radius-3xl);\n position: absolute;\n left: 26px;\n top: 24px;\n }\n\n wui-image {\n outline: 2px solid var(--wui-color-bg-125);\n }\n\n wui-icon-box {\n outline: 2px solid var(--wui-color-bg-200);\n background-color: var(--wui-color-bg-250);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-text/index.js';\nimport '../../components/wui-image/index.js';\nimport '../../layout/wui-flex/index.js';\nimport '../wui-avatar/index.js';\nimport '../wui-icon-box/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nimport { UiHelperUtil } from '../../utils/UiHelperUtil.js';\nlet WuiProfileButton = class WuiProfileButton extends LitElement {\n constructor() {\n super(...arguments);\n this.networkSrc = undefined;\n this.avatarSrc = undefined;\n this.isProfileName = false;\n this.address = '';\n this.icon = 'chevronBottom';\n }\n render() {\n return html ``;\n }\n networkImageTemplate() {\n if (this.networkSrc) {\n return html ``;\n }\n return html `\n \n `;\n }\n};\nWuiProfileButton.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiProfileButton.prototype, \"networkSrc\", void 0);\n__decorate([\n property()\n], WuiProfileButton.prototype, \"avatarSrc\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiProfileButton.prototype, \"isProfileName\", void 0);\n__decorate([\n property()\n], WuiProfileButton.prototype, \"address\", void 0);\n__decorate([\n property()\n], WuiProfileButton.prototype, \"icon\", void 0);\nWuiProfileButton = __decorate([\n customElement('wui-profile-button')\n], WuiProfileButton);\nexport { WuiProfileButton };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n border: 1px solid var(--wui-gray-glass-010);\n border-radius: var(--wui-border-radius-3xl);\n }\n\n wui-image {\n border-radius: var(--wui-border-radius-3xl);\n overflow: hidden;\n }\n\n button.disabled > wui-icon,\n button.disabled > wui-image {\n filter: grayscale(1);\n }\n\n button[data-variant='fill'] {\n color: var(--wui-color-inverse-100);\n background-color: var(--wui-color-accent-100);\n }\n\n button[data-variant='shade'],\n button[data-variant='shadeSmall'] {\n background-color: transparent;\n background-color: var(--wui-gray-glass-010);\n color: var(--wui-color-fg-200);\n }\n\n button[data-variant='success'] {\n column-gap: var(--wui-spacing-xxs);\n border: 1px solid var(--wui-success-glass-010);\n background-color: var(--wui-success-glass-010);\n color: var(--wui-color-success-100);\n }\n\n button[data-variant='error'] {\n column-gap: var(--wui-spacing-xxs);\n border: 1px solid var(--wui-error-glass-010);\n background-color: var(--wui-error-glass-010);\n color: var(--wui-color-error-100);\n }\n\n button[data-variant='transparent'] {\n column-gap: var(--wui-spacing-xxs);\n background-color: transparent;\n color: var(--wui-color-fg-150);\n }\n\n button[data-variant='transparent'],\n button[data-variant='success'],\n button[data-variant='shadeSmall'],\n button[data-variant='error'] {\n padding: 7px var(--wui-spacing-s) 7px 8px;\n }\n\n button[data-variant='transparent']:has(wui-text:first-child),\n button[data-variant='success']:has(wui-text:first-child),\n button[data-variant='shadeSmall']:has(wui-text:first-child),\n button[data-variant='error']:has(wui-text:first-child) {\n padding: 7px var(--wui-spacing-s);\n }\n\n button[data-variant='fill'],\n button[data-variant='shade'] {\n column-gap: var(--wui-spacing-xs);\n padding: var(--wui-spacing-xxs) var(--wui-spacing-m) var(--wui-spacing-xxs)\n var(--wui-spacing-xs);\n }\n\n button[data-variant='fill']:has(wui-text:first-child),\n button[data-variant='shade']:has(wui-text:first-child) {\n padding: 9px var(--wui-spacing-m) 9px var(--wui-spacing-m);\n }\n\n button[data-variant='fill'] > wui-image,\n button[data-variant='shade'] > wui-image {\n width: 24px;\n height: 24px;\n }\n\n button[data-variant='fill'] > wui-image {\n box-shadow: inset 0 0 0 1px var(--wui-color-accent-090);\n }\n\n button[data-variant='shade'] > wui-image,\n button[data-variant='shadeSmall'] > wui-image {\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-010);\n }\n\n button[data-variant='fill'] > wui-icon,\n button[data-variant='shade'] > wui-icon {\n width: 14px;\n height: 14px;\n }\n\n button[data-variant='transparent'] > wui-image,\n button[data-variant='success'] > wui-image,\n button[data-variant='shadeSmall'] > wui-image,\n button[data-variant='error'] > wui-image {\n width: 14px;\n height: 14px;\n }\n\n button[data-variant='transparent'] > wui-icon,\n button[data-variant='success'] > wui-icon,\n button[data-variant='shadeSmall'] > wui-icon,\n button[data-variant='error'] > wui-icon {\n width: 12px;\n height: 12px;\n }\n\n button[data-variant='fill']:focus-visible {\n background-color: var(--wui-color-accent-090);\n }\n\n button[data-variant='shade']:focus-visible,\n button[data-variant='shadeSmall']:focus-visible {\n background-color: var(--wui-gray-glass-015);\n }\n\n button[data-variant='transparent']:focus-visible {\n background-color: var(--wui-gray-glass-005);\n }\n\n button[data-variant='success']:focus-visible {\n background-color: var(--wui-success-glass-015);\n }\n\n button[data-variant='error']:focus-visible {\n background-color: var(--wui-error-glass-015);\n }\n\n button.disabled {\n color: var(--wui-gray-glass-015);\n background-color: var(--wui-gray-glass-015);\n pointer-events: none;\n }\n\n @media (hover: hover) and (pointer: fine) {\n button[data-variant='fill']:hover {\n background-color: var(--wui-color-accent-090);\n }\n\n button[data-variant='shade']:hover,\n button[data-variant='shadeSmall']:hover {\n background-color: var(--wui-gray-glass-015);\n }\n\n button[data-variant='transparent']:hover {\n background-color: var(--wui-gray-glass-005);\n }\n\n button[data-variant='success']:hover {\n background-color: var(--wui-success-glass-015);\n }\n\n button[data-variant='error']:hover {\n background-color: var(--wui-error-glass-015);\n }\n }\n\n button[data-variant='fill']:active {\n background-color: var(--wui-color-accent-080);\n }\n\n button[data-variant='shade']:active,\n button[data-variant='shadeSmall']:active {\n background-color: var(--wui-gray-glass-020);\n }\n\n button[data-variant='transparent']:active {\n background-color: var(--wui-gray-glass-010);\n }\n\n button[data-variant='success']:active {\n background-color: var(--wui-success-glass-020);\n }\n\n button[data-variant='error']:active {\n background-color: var(--wui-error-glass-020);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-image/index.js';\nimport '../../components/wui-text/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiChipButton = class WuiChipButton extends LitElement {\n constructor() {\n super(...arguments);\n this.variant = 'fill';\n this.imageSrc = '';\n this.disabled = false;\n this.icon = 'externalLink';\n this.text = '';\n }\n render() {\n const isSmall = this.variant === 'success' || this.variant === 'transparent' || this.variant === 'shadeSmall';\n const textVariant = isSmall ? 'small-600' : 'paragraph-600';\n return html `\n \n `;\n }\n};\nWuiChipButton.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiChipButton.prototype, \"variant\", void 0);\n__decorate([\n property()\n], WuiChipButton.prototype, \"imageSrc\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiChipButton.prototype, \"disabled\", void 0);\n__decorate([\n property()\n], WuiChipButton.prototype, \"icon\", void 0);\n__decorate([\n property()\n], WuiChipButton.prototype, \"text\", void 0);\nWuiChipButton = __decorate([\n customElement('wui-chip-button')\n], WuiChipButton);\nexport { WuiChipButton };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n display: flex;\n gap: var(--wui-spacing-xl);\n width: 100%;\n background-color: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-xxs);\n padding: var(--wui-spacing-m) var(--wui-spacing-s);\n }\n\n wui-text {\n width: 100%;\n }\n\n wui-flex {\n width: auto;\n }\n\n .network-icon {\n width: var(--wui-spacing-2l);\n height: var(--wui-spacing-2l);\n border-radius: calc(var(--wui-spacing-2l) / 2);\n overflow: hidden;\n box-shadow:\n 0 0 0 3px var(--wui-gray-glass-002),\n 0 0 0 3px var(--wui-color-modal-bg);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-text/index.js';\nimport '../../components/wui-image/index.js';\nimport '../../layout/wui-flex/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiCompatibleNetwork = class WuiCompatibleNetwork extends LitElement {\n constructor() {\n super(...arguments);\n this.networkImages = [''];\n this.text = '';\n }\n render() {\n return html `\n \n `;\n }\n networksTemplate() {\n const slicedNetworks = this.networkImages.slice(0, 5);\n return html ` \n ${slicedNetworks?.map(network => html ` `)}\n `;\n }\n};\nWuiCompatibleNetwork.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property({ type: Array })\n], WuiCompatibleNetwork.prototype, \"networkImages\", void 0);\n__decorate([\n property()\n], WuiCompatibleNetwork.prototype, \"text\", void 0);\nWuiCompatibleNetwork = __decorate([\n customElement('wui-compatible-network')\n], WuiCompatibleNetwork);\nexport { WuiCompatibleNetwork };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-flex {\n width: 100%;\n background-color: var(--wui-gray-glass-005);\n border-radius: var(--wui-border-radius-s);\n padding: var(--wui-spacing-1xs) var(--wui-spacing-s) var(--wui-spacing-1xs)\n var(--wui-spacing-1xs);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-text/index.js';\nimport '../wui-icon-box/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiBanner = class WuiBanner extends LitElement {\n constructor() {\n super(...arguments);\n this.icon = 'externalLink';\n this.text = '';\n }\n render() {\n return html `\n \n \n ${this.text}\n \n `;\n }\n};\nWuiBanner.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiBanner.prototype, \"icon\", void 0);\n__decorate([\n property()\n], WuiBanner.prototype, \"text\", void 0);\nWuiBanner = __decorate([\n customElement('wui-banner')\n], WuiBanner);\nexport { WuiBanner };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n padding: 6.5px var(--wui-spacing-l) 6.5px var(--wui-spacing-xs);\n display: flex;\n justify-content: space-between;\n width: 100%;\n border-radius: var(--wui-border-radius-xs);\n background-color: var(--wui-gray-glass-002);\n }\n\n button[data-clickable='false'] {\n pointer-events: none;\n background-color: transparent;\n }\n\n wui-image {\n width: var(--wui-spacing-3xl);\n height: var(--wui-spacing-3xl);\n border-radius: var(--wui-border-radius-3xl);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-text/index.js';\nimport '../../components/wui-image/index.js';\nimport '../../layout/wui-flex/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nimport { UiHelperUtil } from '../../utils/UiHelperUtil.js';\nlet WuiListToken = class WuiListToken extends LitElement {\n constructor() {\n super(...arguments);\n this.tokenName = '';\n this.tokenImageUrl = '';\n this.tokenValue = 0.0;\n this.tokenAmount = '0.0';\n this.tokenCurrency = '';\n this.clickable = false;\n }\n render() {\n return html `\n \n `;\n }\n};\nWuiListToken.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiListToken.prototype, \"tokenName\", void 0);\n__decorate([\n property()\n], WuiListToken.prototype, \"tokenImageUrl\", void 0);\n__decorate([\n property({ type: Number })\n], WuiListToken.prototype, \"tokenValue\", void 0);\n__decorate([\n property()\n], WuiListToken.prototype, \"tokenAmount\", void 0);\n__decorate([\n property()\n], WuiListToken.prototype, \"tokenCurrency\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiListToken.prototype, \"clickable\", void 0);\nWuiListToken = __decorate([\n customElement('wui-list-token')\n], WuiListToken);\nexport { WuiListToken };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n width: 100%;\n display: flex;\n gap: var(--wui-spacing-s);\n align-items: center;\n justify-content: flex-start;\n padding: var(--wui-spacing-s) var(--wui-spacing-m) var(--wui-spacing-s) var(--wui-spacing-s);\n background-color: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-xs);\n }\n\n wui-icon-box {\n width: var(--wui-spacing-2xl);\n height: var(--wui-spacing-2xl);\n }\n\n wui-flex {\n width: auto;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-text/index.js';\nimport '../../components/wui-image/index.js';\nimport '../../layout/wui-flex/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiListDescription = class WuiListDescription extends LitElement {\n constructor() {\n super(...arguments);\n this.icon = 'card';\n this.text = '';\n this.description = '';\n this.tag = undefined;\n this.iconBackgroundColor = 'accent-100';\n this.iconColor = 'accent-100';\n this.disabled = false;\n }\n render() {\n return html `\n \n `;\n }\n titleTemplate() {\n if (this.tag) {\n return html ` ${this.text}${this.tag}\n `;\n }\n return html `${this.text}`;\n }\n};\nWuiListDescription.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiListDescription.prototype, \"icon\", void 0);\n__decorate([\n property()\n], WuiListDescription.prototype, \"text\", void 0);\n__decorate([\n property()\n], WuiListDescription.prototype, \"description\", void 0);\n__decorate([\n property()\n], WuiListDescription.prototype, \"tag\", void 0);\n__decorate([\n property()\n], WuiListDescription.prototype, \"iconBackgroundColor\", void 0);\n__decorate([\n property()\n], WuiListDescription.prototype, \"iconColor\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiListDescription.prototype, \"disabled\", void 0);\nWuiListDescription = __decorate([\n customElement('wui-list-description')\n], WuiListDescription);\nexport { WuiListDescription };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n position: relative;\n display: inline-block;\n }\n\n input {\n background: transparent;\n width: 100%;\n height: auto;\n font-family: var(--wui-font-family);\n color: var(--wui-color-fg-100);\n\n font-feature-settings: 'case' on;\n font-size: 32px;\n font-weight: var(--wui-font-weight-light);\n caret-color: var(--wui-color-accent-100);\n line-height: 130%;\n letter-spacing: -1.28px;\n box-sizing: border-box;\n -webkit-appearance: none;\n -moz-appearance: textfield;\n padding: 0px;\n }\n\n input::-webkit-outer-spin-button,\n input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n input::placeholder {\n color: var(--wui-color-fg-275);\n }\n`;\n//# sourceMappingURL=styles.js.map","export const specialCharactersRegex = /[.*+?^${}()|[\\]\\\\]/gu;\nexport const numbersRegex = /[0-9,.]/u;\n//# sourceMappingURL=ConstantsUtil.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nimport { createRef, ref } from 'lit/directives/ref.js';\nimport { numbersRegex, specialCharactersRegex } from '../../utils/ConstantsUtil.js';\nlet WuiInputAmount = class WuiInputAmount extends LitElement {\n constructor() {\n super(...arguments);\n this.inputElementRef = createRef();\n this.disabled = false;\n this.value = '';\n this.placeholder = '0';\n }\n render() {\n if (this.inputElementRef?.value && this.value) {\n this.inputElementRef.value.value = this.value;\n }\n return html ` `;\n }\n dispatchInputChangeEvent(e) {\n const inputChar = e.data;\n if (inputChar) {\n if (!numbersRegex.test(inputChar) && this.inputElementRef?.value) {\n this.inputElementRef.value.value = this.value.replace(new RegExp(inputChar.replace(specialCharactersRegex, '\\\\$&'), 'gu'), '');\n }\n }\n this.dispatchEvent(new CustomEvent('inputChange', {\n detail: this.inputElementRef.value?.value,\n bubbles: true,\n composed: true\n }));\n }\n};\nWuiInputAmount.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property({ type: Boolean })\n], WuiInputAmount.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: String })\n], WuiInputAmount.prototype, \"value\", void 0);\n__decorate([\n property({ type: String })\n], WuiInputAmount.prototype, \"placeholder\", void 0);\nWuiInputAmount = __decorate([\n customElement('wui-input-amount')\n], WuiInputAmount);\nexport { WuiInputAmount };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: flex;\n gap: var(--wui-spacing-xs);\n border-radius: var(--wui-border-radius-3xl);\n border: 1px solid var(--wui-gray-glass-002);\n background: var(--wui-gray-glass-002);\n padding: var(--wui-spacing-2xs) var(--wui-spacing-xs) var(--wui-spacing-2xs)\n var(--wui-spacing-s);\n align-items: center;\n }\n\n wui-avatar,\n wui-icon,\n wui-image {\n width: 32px;\n height: 32px;\n border: 1px solid var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-3xl);\n box-shadow: 0 0 0 2px var(--wui-gray-glass-002);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-text/index.js';\nimport '../../components/wui-image/index.js';\nimport '../../components/wui-icon/index.js';\nimport '../wui-avatar/index.js';\nimport '../../layout/wui-flex/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiPreviewItem = class WuiPreviewItem extends LitElement {\n constructor() {\n super(...arguments);\n this.text = '';\n this.address = '';\n this.isAddress = false;\n }\n render() {\n return html `${this.text}\n ${this.imageTemplate()}`;\n }\n imageTemplate() {\n if (this.isAddress) {\n return html ``;\n }\n else if (this.imageSrc) {\n return html ``;\n }\n return html ``;\n }\n};\nWuiPreviewItem.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiPreviewItem.prototype, \"text\", void 0);\n__decorate([\n property()\n], WuiPreviewItem.prototype, \"address\", void 0);\n__decorate([\n property()\n], WuiPreviewItem.prototype, \"imageSrc\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiPreviewItem.prototype, \"isAddress\", void 0);\nWuiPreviewItem = __decorate([\n customElement('wui-preview-item')\n], WuiPreviewItem);\nexport { WuiPreviewItem };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: grid;\n width: inherit;\n height: inherit;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { UiHelperUtil } from '../../utils/UiHelperUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiGrid = class WuiGrid extends LitElement {\n render() {\n this.style.cssText = `\n grid-template-rows: ${this.gridTemplateRows};\n grid-template-columns: ${this.gridTemplateColumns};\n justify-items: ${this.justifyItems};\n align-items: ${this.alignItems};\n justify-content: ${this.justifyContent};\n align-content: ${this.alignContent};\n column-gap: ${this.columnGap && `var(--wui-spacing-${this.columnGap})`};\n row-gap: ${this.rowGap && `var(--wui-spacing-${this.rowGap})`};\n gap: ${this.gap && `var(--wui-spacing-${this.gap})`};\n padding-top: ${this.padding && UiHelperUtil.getSpacingStyles(this.padding, 0)};\n padding-right: ${this.padding && UiHelperUtil.getSpacingStyles(this.padding, 1)};\n padding-bottom: ${this.padding && UiHelperUtil.getSpacingStyles(this.padding, 2)};\n padding-left: ${this.padding && UiHelperUtil.getSpacingStyles(this.padding, 3)};\n margin-top: ${this.margin && UiHelperUtil.getSpacingStyles(this.margin, 0)};\n margin-right: ${this.margin && UiHelperUtil.getSpacingStyles(this.margin, 1)};\n margin-bottom: ${this.margin && UiHelperUtil.getSpacingStyles(this.margin, 2)};\n margin-left: ${this.margin && UiHelperUtil.getSpacingStyles(this.margin, 3)};\n `;\n return html ``;\n }\n};\nWuiGrid.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiGrid.prototype, \"gridTemplateRows\", void 0);\n__decorate([\n property()\n], WuiGrid.prototype, \"gridTemplateColumns\", void 0);\n__decorate([\n property()\n], WuiGrid.prototype, \"justifyItems\", void 0);\n__decorate([\n property()\n], WuiGrid.prototype, \"alignItems\", void 0);\n__decorate([\n property()\n], WuiGrid.prototype, \"justifyContent\", void 0);\n__decorate([\n property()\n], WuiGrid.prototype, \"alignContent\", void 0);\n__decorate([\n property()\n], WuiGrid.prototype, \"columnGap\", void 0);\n__decorate([\n property()\n], WuiGrid.prototype, \"rowGap\", void 0);\n__decorate([\n property()\n], WuiGrid.prototype, \"gap\", void 0);\n__decorate([\n property()\n], WuiGrid.prototype, \"padding\", void 0);\n__decorate([\n property()\n], WuiGrid.prototype, \"margin\", void 0);\nWuiGrid = __decorate([\n customElement('wui-grid')\n], WuiGrid);\nexport { WuiGrid };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n position: relative;\n display: flex;\n width: 100%;\n height: 1px;\n background-color: var(--wui-gray-glass-005);\n justify-content: center;\n align-items: center;\n }\n\n :host > wui-text {\n position: absolute;\n padding: 0px 10px;\n background-color: var(--wui-color-modal-bg);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-text/index.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiSeparator = class WuiSeparator extends LitElement {\n constructor() {\n super(...arguments);\n this.text = '';\n }\n render() {\n return html `${this.template()}`;\n }\n template() {\n if (this.text) {\n return html `${this.text}`;\n }\n return null;\n }\n};\nWuiSeparator.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiSeparator.prototype, \"text\", void 0);\nWuiSeparator = __decorate([\n customElement('wui-separator')\n], WuiSeparator);\nexport { WuiSeparator };\n//# sourceMappingURL=index.js.map","export const MathUtil = {\n interpolate(inputRange, outputRange, value) {\n if (inputRange.length !== 2 || outputRange.length !== 2) {\n throw new Error('inputRange and outputRange must be an array of length 2');\n }\n const originalRangeMin = inputRange[0] || 0;\n const originalRangeMax = inputRange[1] || 0;\n const newRangeMin = outputRange[0] || 0;\n const newRangeMax = outputRange[1] || 0;\n if (value < originalRangeMin) {\n return newRangeMin;\n }\n if (value > originalRangeMax) {\n return newRangeMax;\n }\n return (((newRangeMax - newRangeMin) / (originalRangeMax - originalRangeMin)) *\n (value - originalRangeMin) +\n newRangeMin);\n }\n};\n//# sourceMappingURL=MathUtil.js.map","import { DateUtil } from '@web3modal/common';\nimport { UiHelperUtil } from './UiHelperUtil.js';\nconst FLOAT_FIXED_VALUE = 3;\nconst plusTypes = ['receive', 'deposit', 'borrow', 'claim'];\nconst minusTypes = ['withdraw', 'repay', 'burn'];\nexport const TransactionUtil = {\n getMonthName(monthNumber) {\n const date = new Date();\n date.setMonth(monthNumber);\n return date.toLocaleString('en-US', {\n month: 'long'\n });\n },\n getTransactionGroupTitle(year, month) {\n const currentYear = DateUtil.getYear();\n const monthName = this.getMonthName(month);\n const isCurrentYear = year === currentYear;\n const groupTitle = isCurrentYear ? monthName : `${monthName} ${year}`;\n return groupTitle;\n },\n getTransactionImages(transfers) {\n const [transfer, secondTransfer] = transfers;\n const isAllNFT = Boolean(transfer) && transfers?.every(item => Boolean(item.nft_info));\n const haveMultipleTransfers = transfers?.length > 1;\n const haveTwoTransfers = transfers?.length === 2;\n if (haveTwoTransfers && !isAllNFT) {\n return [this.getTransactionImage(transfer), this.getTransactionImage(secondTransfer)];\n }\n if (haveMultipleTransfers) {\n return transfers.map(item => this.getTransactionImage(item));\n }\n return [this.getTransactionImage(transfer)];\n },\n getTransactionImage(transfer) {\n return {\n type: TransactionUtil.getTransactionTransferTokenType(transfer),\n url: TransactionUtil.getTransactionImageURL(transfer)\n };\n },\n getTransactionImageURL(transfer) {\n let imageURL = undefined;\n const isNFT = Boolean(transfer?.nft_info);\n const isFungible = Boolean(transfer?.fungible_info);\n if (transfer && isNFT) {\n imageURL = transfer?.nft_info?.content?.preview?.url;\n }\n else if (transfer && isFungible) {\n imageURL = transfer?.fungible_info?.icon?.url;\n }\n return imageURL;\n },\n getTransactionTransferTokenType(transfer) {\n if (transfer?.fungible_info) {\n return 'FUNGIBLE';\n }\n else if (transfer?.nft_info) {\n return 'NFT';\n }\n return undefined;\n },\n getTransactionDescriptions(transaction) {\n const type = transaction?.metadata?.operationType;\n const transfers = transaction?.transfers;\n const haveTransfer = transaction?.transfers?.length > 0;\n const haveMultipleTransfers = transaction?.transfers?.length > 1;\n const isFungible = haveTransfer && transfers?.every(transfer => Boolean(transfer?.fungible_info));\n const [firstTransfer, secondTransfer] = transfers;\n let firstDescription = this.getTransferDescription(firstTransfer);\n let secondDescription = this.getTransferDescription(secondTransfer);\n if (!haveTransfer) {\n const isSendOrReceive = type === 'send' || type === 'receive';\n if (isSendOrReceive && isFungible) {\n firstDescription = UiHelperUtil.getTruncateString({\n string: transaction?.metadata.sentFrom,\n charsStart: 4,\n charsEnd: 6,\n truncate: 'middle'\n });\n secondDescription = UiHelperUtil.getTruncateString({\n string: transaction?.metadata.sentTo,\n charsStart: 4,\n charsEnd: 6,\n truncate: 'middle'\n });\n return [firstDescription, secondDescription];\n }\n return [transaction.metadata.status];\n }\n if (haveMultipleTransfers) {\n return transfers.map(item => this.getTransferDescription(item));\n }\n let prefix = '';\n if (plusTypes.includes(type)) {\n prefix = '+';\n }\n else if (minusTypes.includes(type)) {\n prefix = '-';\n }\n firstDescription = prefix.concat(firstDescription);\n return [firstDescription];\n },\n getTransferDescription(transfer) {\n let description = '';\n if (!transfer) {\n return description;\n }\n if (transfer?.nft_info) {\n description = transfer?.nft_info?.name || '-';\n }\n else if (transfer?.fungible_info) {\n description = this.getFungibleTransferDescription(transfer) || '-';\n }\n return description;\n },\n getFungibleTransferDescription(transfer) {\n if (!transfer) {\n return null;\n }\n const quantity = this.getQuantityFixedValue(transfer?.quantity.numeric);\n const description = [quantity, transfer?.fungible_info?.symbol].join(' ').trim();\n return description;\n },\n getQuantityFixedValue(value) {\n if (!value) {\n return null;\n }\n const parsedValue = parseFloat(value);\n return parsedValue.toFixed(FLOAT_FIXED_VALUE);\n }\n};\n//# sourceMappingURL=TransactionUtil.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController, AssetUtil, CoreHelperUtil, ModalController, NetworkController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nlet W3mAccountButton = class W3mAccountButton extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.disabled = false;\n this.balance = 'show';\n this.charsStart = 4;\n this.charsEnd = 6;\n this.address = AccountController.state.address;\n this.balanceVal = AccountController.state.balance;\n this.balanceSymbol = AccountController.state.balanceSymbol;\n this.profileName = AccountController.state.profileName;\n this.profileImage = AccountController.state.profileImage;\n this.network = NetworkController.state.caipNetwork;\n this.isUnsupportedChain = NetworkController.state.isUnsupportedChain;\n this.unsubscribe.push(...[\n AccountController.subscribe(val => {\n if (val.isConnected) {\n this.address = val.address;\n this.balanceVal = val.balance;\n this.profileName = val.profileName;\n this.profileImage = val.profileImage;\n this.balanceSymbol = val.balanceSymbol;\n }\n else {\n this.address = '';\n this.balanceVal = '';\n this.profileName = '';\n this.profileImage = '';\n this.balanceSymbol = '';\n }\n }),\n NetworkController.subscribeKey('caipNetwork', val => (this.network = val)),\n NetworkController.subscribeKey('isUnsupportedChain', val => (this.isUnsupportedChain = val))\n ]);\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n const networkImage = AssetUtil.getNetworkImage(this.network);\n const showBalance = this.balance === 'show';\n return html `\n \n \n `;\n }\n onClick() {\n if (this.isUnsupportedChain) {\n ModalController.open({ view: 'UnsupportedChain' });\n }\n else {\n ModalController.open();\n }\n }\n};\n__decorate([\n property({ type: Boolean })\n], W3mAccountButton.prototype, \"disabled\", void 0);\n__decorate([\n property()\n], W3mAccountButton.prototype, \"balance\", void 0);\n__decorate([\n property()\n], W3mAccountButton.prototype, \"charsStart\", void 0);\n__decorate([\n property()\n], W3mAccountButton.prototype, \"charsEnd\", void 0);\n__decorate([\n state()\n], W3mAccountButton.prototype, \"address\", void 0);\n__decorate([\n state()\n], W3mAccountButton.prototype, \"balanceVal\", void 0);\n__decorate([\n state()\n], W3mAccountButton.prototype, \"balanceSymbol\", void 0);\n__decorate([\n state()\n], W3mAccountButton.prototype, \"profileName\", void 0);\n__decorate([\n state()\n], W3mAccountButton.prototype, \"profileImage\", void 0);\n__decorate([\n state()\n], W3mAccountButton.prototype, \"network\", void 0);\n__decorate([\n state()\n], W3mAccountButton.prototype, \"isUnsupportedChain\", void 0);\nW3mAccountButton = __decorate([\n customElement('w3m-account-button')\n], W3mAccountButton);\nexport { W3mAccountButton };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n width: max-content;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nlet W3mButton = class W3mButton extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.disabled = false;\n this.balance = undefined;\n this.size = undefined;\n this.label = undefined;\n this.loadingLabel = undefined;\n this.charsStart = 4;\n this.charsEnd = 6;\n this.isAccount = AccountController.state.isConnected;\n this.unsubscribe.push(AccountController.subscribeKey('isConnected', val => {\n this.isAccount = val;\n }));\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return this.isAccount\n ? html `\n \n \n `\n : html `\n \n `;\n }\n};\nW3mButton.styles = styles;\n__decorate([\n property({ type: Boolean })\n], W3mButton.prototype, \"disabled\", void 0);\n__decorate([\n property()\n], W3mButton.prototype, \"balance\", void 0);\n__decorate([\n property()\n], W3mButton.prototype, \"size\", void 0);\n__decorate([\n property()\n], W3mButton.prototype, \"label\", void 0);\n__decorate([\n property()\n], W3mButton.prototype, \"loadingLabel\", void 0);\n__decorate([\n property()\n], W3mButton.prototype, \"charsStart\", void 0);\n__decorate([\n property()\n], W3mButton.prototype, \"charsEnd\", void 0);\n__decorate([\n state()\n], W3mButton.prototype, \"isAccount\", void 0);\nW3mButton = __decorate([\n customElement('w3m-button')\n], W3mButton);\nexport { W3mButton };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ModalController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nlet W3mConnectButton = class W3mConnectButton extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.size = 'md';\n this.label = 'Connect Wallet';\n this.loadingLabel = 'Connecting...';\n this.open = ModalController.state.open;\n this.loading = ModalController.state.loading;\n this.unsubscribe.push(ModalController.subscribe(val => {\n this.open = val.open;\n this.loading = val.loading;\n }));\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n const isLoading = this.loading || this.open;\n return html `\n \n ${isLoading ? this.loadingLabel : this.label}\n \n `;\n }\n onClick() {\n if (this.open) {\n ModalController.close();\n }\n else if (!this.loading) {\n ModalController.open();\n }\n }\n};\n__decorate([\n property()\n], W3mConnectButton.prototype, \"size\", void 0);\n__decorate([\n property()\n], W3mConnectButton.prototype, \"label\", void 0);\n__decorate([\n property()\n], W3mConnectButton.prototype, \"loadingLabel\", void 0);\n__decorate([\n state()\n], W3mConnectButton.prototype, \"open\", void 0);\n__decorate([\n state()\n], W3mConnectButton.prototype, \"loading\", void 0);\nW3mConnectButton = __decorate([\n customElement('w3m-connect-button')\n], W3mConnectButton);\nexport { W3mConnectButton };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n z-index: var(--w3m-z-index);\n display: block;\n backface-visibility: hidden;\n will-change: opacity;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n pointer-events: none;\n opacity: 0;\n background-color: var(--wui-cover);\n }\n\n @keyframes zoom-in {\n 0% {\n transform: scale(0.95) translateY(0);\n }\n 100% {\n transform: scale(1) translateY(0);\n }\n }\n\n @keyframes slide-in {\n 0% {\n transform: scale(1) translateY(50px);\n }\n 100% {\n transform: scale(1) translateY(0);\n }\n }\n\n wui-card {\n max-width: 360px;\n width: 100%;\n position: relative;\n animation-duration: 0.2s;\n animation-name: zoom-in;\n animation-fill-mode: backwards;\n animation-timing-function: var(--wui-ease-out-power-2);\n outline: none;\n }\n\n wui-flex {\n overflow-x: hidden;\n overflow-y: auto;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n }\n\n @media (max-height: 700px) and (min-width: 431px) {\n wui-flex {\n align-items: flex-start;\n }\n\n wui-card {\n margin: var(--wui-spacing-xxl) 0px;\n }\n }\n\n @media (max-width: 430px) {\n wui-flex {\n align-items: flex-end;\n }\n\n wui-card {\n max-width: 100%;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom: none;\n animation-name: slide-in;\n }\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController, ApiController, ConnectionController, EventsController, ModalController, OptionsController, RouterController, SnackController, ThemeController } from '@web3modal/core';\nimport { UiHelperUtil, customElement, initializeTheming } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport styles from './styles.js';\nconst SCROLL_LOCK = 'scroll-lock';\nlet W3mModal = class W3mModal extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.abortController = undefined;\n this.open = ModalController.state.open;\n this.caipAddress = AccountController.state.caipAddress;\n this.isSiweEnabled = OptionsController.state.isSiweEnabled;\n this.initializeTheming();\n ApiController.prefetch();\n this.unsubscribe.push(ModalController.subscribeKey('open', val => (val ? this.onOpen() : this.onClose())), AccountController.subscribe(newAccountState => this.onNewAccountState(newAccountState)));\n EventsController.sendEvent({ type: 'track', event: 'MODAL_LOADED' });\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n this.onRemoveKeyboardListener();\n }\n render() {\n return this.open\n ? html `\n \n \n \n \n \n \n \n `\n : null;\n }\n async onOverlayClick(event) {\n if (event.target === event.currentTarget) {\n await this.handleClose();\n }\n }\n async handleClose() {\n if (this.isSiweEnabled) {\n const { SIWEController } = await import('@web3modal/siwe');\n if (SIWEController.state.status !== 'success') {\n await ConnectionController.disconnect();\n }\n }\n ModalController.close();\n }\n initializeTheming() {\n const { themeVariables, themeMode } = ThemeController.state;\n const defaultThemeMode = UiHelperUtil.getColorTheme(themeMode);\n initializeTheming(themeVariables, defaultThemeMode);\n }\n async onClose() {\n this.onScrollUnlock();\n await this.animate([{ opacity: 1 }, { opacity: 0 }], {\n duration: 200,\n easing: 'ease',\n fill: 'forwards'\n }).finished;\n SnackController.hide();\n this.open = false;\n this.onRemoveKeyboardListener();\n }\n async onOpen() {\n this.onScrollLock();\n this.open = true;\n await this.animate([{ opacity: 0 }, { opacity: 1 }], {\n duration: 200,\n easing: 'ease',\n fill: 'forwards'\n }).finished;\n this.onAddKeyboardListener();\n }\n onScrollLock() {\n const styleTag = document.createElement('style');\n styleTag.dataset['w3m'] = SCROLL_LOCK;\n styleTag.textContent = `\n html, body {\n touch-action: none;\n overflow: hidden;\n overscroll-behavior: contain;\n }\n w3m-modal {\n pointer-events: auto;\n }\n `;\n document.head.appendChild(styleTag);\n }\n onScrollUnlock() {\n const styleTag = document.head.querySelector(`style[data-w3m=\"${SCROLL_LOCK}\"]`);\n if (styleTag) {\n styleTag.remove();\n }\n }\n onAddKeyboardListener() {\n this.abortController = new AbortController();\n const card = this.shadowRoot?.querySelector('wui-card');\n card?.focus();\n window.addEventListener('keydown', event => {\n if (event.key === 'Escape') {\n this.handleClose();\n }\n else if (event.key === 'Tab') {\n const { tagName } = event.target;\n if (tagName && !tagName.includes('W3M-') && !tagName.includes('WUI-')) {\n card?.focus();\n }\n }\n }, this.abortController);\n }\n onRemoveKeyboardListener() {\n this.abortController?.abort();\n this.abortController = undefined;\n }\n async onNewAccountState(newState) {\n const { isConnected, caipAddress: newCaipAddress } = newState;\n if (this.isSiweEnabled) {\n const { SIWEController } = await import('@web3modal/siwe');\n if (isConnected && !this.caipAddress) {\n this.caipAddress = newCaipAddress;\n }\n if (isConnected && newCaipAddress && this.caipAddress !== newCaipAddress) {\n await SIWEController.signOut();\n this.onSiweNavigation();\n this.caipAddress = newCaipAddress;\n }\n try {\n const session = await SIWEController.getSession();\n if (session && !isConnected) {\n await SIWEController.signOut();\n }\n else if (isConnected && !session) {\n this.onSiweNavigation();\n }\n }\n catch (error) {\n if (isConnected) {\n this.onSiweNavigation();\n }\n }\n }\n }\n onSiweNavigation() {\n if (this.open) {\n RouterController.push('ConnectingSiwe');\n }\n else {\n ModalController.open({\n view: 'ConnectingSiwe'\n });\n }\n }\n};\nW3mModal.styles = styles;\n__decorate([\n state()\n], W3mModal.prototype, \"open\", void 0);\n__decorate([\n state()\n], W3mModal.prototype, \"caipAddress\", void 0);\n__decorate([\n state()\n], W3mModal.prototype, \"isSiweEnabled\", void 0);\nW3mModal = __decorate([\n customElement('w3m-modal')\n], W3mModal);\nexport { W3mModal };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n width: max-content;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController, AssetUtil, EventsController, ModalController, NetworkController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nlet W3mNetworkButton = class W3mNetworkButton extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.disabled = false;\n this.network = NetworkController.state.caipNetwork;\n this.connected = AccountController.state.isConnected;\n this.loading = ModalController.state.loading;\n this.isUnsupportedChain = NetworkController.state.isUnsupportedChain;\n this.unsubscribe.push(...[\n NetworkController.subscribeKey('caipNetwork', val => (this.network = val)),\n AccountController.subscribeKey('isConnected', val => (this.connected = val)),\n ModalController.subscribeKey('loading', val => (this.loading = val)),\n NetworkController.subscribeKey('isUnsupportedChain', val => (this.isUnsupportedChain = val))\n ]);\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return html `\n \n ${this.isUnsupportedChain\n ? 'Switch Network'\n : this.network?.name ?? (this.connected ? 'Unknown Network' : 'Select Network')}\n \n `;\n }\n onClick() {\n if (!this.loading) {\n EventsController.sendEvent({ type: 'track', event: 'CLICK_NETWORKS' });\n ModalController.open({ view: 'Networks' });\n }\n }\n};\nW3mNetworkButton.styles = styles;\n__decorate([\n property({ type: Boolean })\n], W3mNetworkButton.prototype, \"disabled\", void 0);\n__decorate([\n state()\n], W3mNetworkButton.prototype, \"network\", void 0);\n__decorate([\n state()\n], W3mNetworkButton.prototype, \"connected\", void 0);\n__decorate([\n state()\n], W3mNetworkButton.prototype, \"loading\", void 0);\n__decorate([\n state()\n], W3mNetworkButton.prototype, \"isUnsupportedChain\", void 0);\nW3mNetworkButton = __decorate([\n customElement('w3m-network-button')\n], W3mNetworkButton);\nexport { W3mNetworkButton };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n will-change: transform, opacity;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { RouterController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport styles from './styles.js';\nlet W3mRouter = class W3mRouter extends LitElement {\n constructor() {\n super();\n this.resizeObserver = undefined;\n this.prevHeight = '0px';\n this.prevHistoryLength = 1;\n this.unsubscribe = [];\n this.view = RouterController.state.view;\n this.unsubscribe.push(RouterController.subscribeKey('view', val => this.onViewChange(val)));\n }\n firstUpdated() {\n this.resizeObserver = new ResizeObserver(async ([content]) => {\n const height = `${content?.contentRect.height}px`;\n if (this.prevHeight !== '0px') {\n await this.animate([{ height: this.prevHeight }, { height }], {\n duration: 150,\n easing: 'ease',\n fill: 'forwards'\n }).finished;\n this.style.height = 'auto';\n }\n this.prevHeight = height;\n });\n this.resizeObserver.observe(this.getWrapper());\n }\n disconnectedCallback() {\n this.resizeObserver?.unobserve(this.getWrapper());\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return html `
${this.viewTemplate()}
`;\n }\n viewTemplate() {\n switch (this.view) {\n case 'Connect':\n return html ``;\n case 'ConnectingWalletConnect':\n return html ``;\n case 'ConnectingExternal':\n return html ``;\n case 'ConnectingSiwe':\n return html ``;\n case 'AllWallets':\n return html ``;\n case 'Networks':\n return html ``;\n case 'SwitchNetwork':\n return html ``;\n case 'Account':\n return html ``;\n case 'AccountSettings':\n return html ``;\n case 'WhatIsAWallet':\n return html ``;\n case 'WhatIsANetwork':\n return html ``;\n case 'GetWallet':\n return html ``;\n case 'Downloads':\n return html ``;\n case 'EmailVerifyOtp':\n return html ``;\n case 'EmailVerifyDevice':\n return html ``;\n case 'ApproveTransaction':\n return html ``;\n case 'Transactions':\n return html ``;\n case 'UpgradeEmailWallet':\n return html ``;\n case 'UpgradeToSmartAccount':\n return html ``;\n case 'UpdateEmailWallet':\n return html ``;\n case 'UpdateEmailPrimaryOtp':\n return html ``;\n case 'UpdateEmailSecondaryOtp':\n return html ``;\n case 'UnsupportedChain':\n return html ``;\n case 'OnRampProviders':\n return html ``;\n case 'OnRampActivity':\n return html ``;\n case 'OnRampTokenSelect':\n return html ``;\n case 'OnRampFiatSelect':\n return html ``;\n case 'WhatIsABuy':\n return html ``;\n case 'BuyInProgress':\n return html ``;\n case 'WalletReceive':\n return html ``;\n case 'WalletCompatibleNetworks':\n return html ``;\n case 'Convert':\n return html ``;\n case 'ConvertSelectToken':\n return html ``;\n case 'ConvertPreview':\n return html ``;\n case 'WalletSend':\n return html ``;\n case 'WalletSendSelectToken':\n return html ``;\n case 'WalletSendPreview':\n return html ``;\n default:\n return html ``;\n }\n }\n async onViewChange(newView) {\n const { history } = RouterController.state;\n let xOut = -10;\n let xIn = 10;\n if (history.length < this.prevHistoryLength) {\n xOut = 10;\n xIn = -10;\n }\n this.prevHistoryLength = history.length;\n await this.animate([\n { opacity: 1, transform: 'translateX(0px)' },\n { opacity: 0, transform: `translateX(${xOut}px)` }\n ], { duration: 150, easing: 'ease', fill: 'forwards' }).finished;\n this.view = newView;\n await this.animate([\n { opacity: 0, transform: `translateX(${xIn}px)` },\n { opacity: 1, transform: 'translateX(0px)' }\n ], { duration: 150, easing: 'ease', fill: 'forwards', delay: 50 }).finished;\n }\n getWrapper() {\n return this.shadowRoot?.querySelector('div');\n }\n};\nW3mRouter.styles = styles;\n__decorate([\n state()\n], W3mRouter.prototype, \"view\", void 0);\nW3mRouter = __decorate([\n customElement('w3m-router')\n], W3mRouter);\nexport { W3mRouter };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-flex {\n width: 100%;\n max-width: 360px;\n }\n\n :host > wui-flex > wui-flex {\n border-radius: var(--wui-border-radius-l);\n width: 100%;\n }\n\n .amounts-container {\n width: 100%;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController, ModalController, OnRampController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport styles from './styles.js';\nconst PAYMENT_CURRENCY_SYMBOLS = {\n USD: '$',\n EUR: '€',\n GBP: '£'\n};\nconst BUY_PRESET_AMOUNTS = [100, 250, 500, 1000];\nlet W3mOnrampWidget = class W3mOnrampWidget extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.disabled = false;\n this.connected = AccountController.state.isConnected;\n this.loading = ModalController.state.loading;\n this.paymentCurrency = OnRampController.state.paymentCurrency;\n this.paymentAmount = OnRampController.state.paymentAmount;\n this.purchaseAmount = OnRampController.state.purchaseAmount;\n this.quoteLoading = OnRampController.state.quotesLoading;\n this.unsubscribe.push(...[\n AccountController.subscribeKey('isConnected', val => {\n this.connected = val;\n }),\n ModalController.subscribeKey('loading', val => {\n this.loading = val;\n }),\n OnRampController.subscribe(val => {\n this.paymentCurrency = val.paymentCurrency;\n this.paymentAmount = val.paymentAmount;\n this.purchaseAmount = val.purchaseAmount;\n this.quoteLoading = val.quotesLoading;\n })\n ]);\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return html `\n \n \n \n \n \n ${BUY_PRESET_AMOUNTS.map(amount => html ` this.selectPresetAmount(amount)}\n >${`${PAYMENT_CURRENCY_SYMBOLS[this.paymentCurrency?.id || 'USD']} ${amount}`}`)}\n \n ${this.templateButton()}\n \n \n `;\n }\n templateButton() {\n return this.connected\n ? html `\n Get quotes\n `\n : html `\n Connect wallet\n `;\n }\n getQuotes() {\n if (!this.loading) {\n ModalController.open({ view: 'OnRampProviders' });\n }\n }\n openModal() {\n ModalController.open({ view: 'Connect' });\n }\n async onPaymentAmountChange(event) {\n OnRampController.setPaymentAmount(Number(event.detail));\n await OnRampController.getQuote();\n }\n async selectPresetAmount(amount) {\n OnRampController.setPaymentAmount(amount);\n await OnRampController.getQuote();\n }\n};\nW3mOnrampWidget.styles = styles;\n__decorate([\n property({ type: Boolean })\n], W3mOnrampWidget.prototype, \"disabled\", void 0);\n__decorate([\n state()\n], W3mOnrampWidget.prototype, \"connected\", void 0);\n__decorate([\n state()\n], W3mOnrampWidget.prototype, \"loading\", void 0);\n__decorate([\n state()\n], W3mOnrampWidget.prototype, \"paymentCurrency\", void 0);\n__decorate([\n state()\n], W3mOnrampWidget.prototype, \"paymentAmount\", void 0);\n__decorate([\n state()\n], W3mOnrampWidget.prototype, \"purchaseAmount\", void 0);\n__decorate([\n state()\n], W3mOnrampWidget.prototype, \"quoteLoading\", void 0);\nW3mOnrampWidget = __decorate([\n customElement('w3m-onramp-widget')\n], W3mOnrampWidget);\nexport { W3mOnrampWidget };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-flex {\n width: 100%;\n }\n\n wui-icon-link {\n margin-right: calc(var(--wui-icon-box-size-md) * -1);\n }\n\n .account-links {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .account-links wui-flex {\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n background: red;\n align-items: center;\n justify-content: center;\n height: 48px;\n padding: 10px;\n flex: 1 0 0;\n\n border-radius: var(--XS, 16px);\n border: 1px solid var(--dark-accent-glass-010, rgba(71, 161, 255, 0.1));\n background: var(--dark-accent-glass-010, rgba(71, 161, 255, 0.1));\n transition: background-color var(--wui-ease-out-power-1) var(--wui-duration-md);\n will-change: background-color;\n }\n\n .account-links wui-flex:hover {\n background: var(--dark-accent-glass-015, rgba(71, 161, 255, 0.15));\n }\n\n .account-links wui-flex wui-icon {\n width: var(--S, 20px);\n height: var(--S, 20px);\n }\n\n .account-links wui-flex wui-icon svg path {\n stroke: #47a1ff;\n }\n`;\n//# sourceMappingURL=styles.js.map","import { Buffer } from 'buffer';\nif (typeof window !== 'undefined') {\n if (!window.Buffer) {\n window.Buffer = Buffer;\n }\n if (!window.global) {\n window.global = window;\n }\n if (!window.process) {\n window.process = {};\n }\n if (!window.process?.env) {\n window.process = { env: {} };\n }\n}\n//# sourceMappingURL=index.js.map","export const SECURE_SITE_SDK = process.env['NEXT_PUBLIC_SECURE_SITE_SDK_URL'] || 'https://secure.walletconnect.com/sdk';\nexport const W3mFrameConstants = {\n APP_EVENT_KEY: '@w3m-app/',\n FRAME_EVENT_KEY: '@w3m-frame/',\n RPC_METHOD_KEY: 'RPC_',\n STORAGE_KEY: '@w3m-storage/',\n SESSION_TOKEN_KEY: 'SESSION_TOKEN_KEY',\n EMAIL_LOGIN_USED_KEY: 'EMAIL_LOGIN_USED_KEY',\n LAST_USED_CHAIN_KEY: 'LAST_USED_CHAIN_KEY',\n LAST_EMAIL_LOGIN_TIME: 'LAST_EMAIL_LOGIN_TIME',\n EMAIL: 'EMAIL',\n PREFERRED_ACCOUNT_TYPE: 'PREFERRED_ACCOUNT_TYPE',\n SMART_ACCOUNT_ENABLED: 'SMART_ACCOUNT_ENABLED',\n SMART_ACCOUNT_ENABLED_NETWORKS: 'SMART_ACCOUNT_ENABLED_NETWORKS',\n APP_SWITCH_NETWORK: '@w3m-app/SWITCH_NETWORK',\n APP_CONNECT_EMAIL: '@w3m-app/CONNECT_EMAIL',\n APP_CONNECT_DEVICE: '@w3m-app/CONNECT_DEVICE',\n APP_CONNECT_OTP: '@w3m-app/CONNECT_OTP',\n APP_GET_USER: '@w3m-app/GET_USER',\n APP_SIGN_OUT: '@w3m-app/SIGN_OUT',\n APP_IS_CONNECTED: '@w3m-app/IS_CONNECTED',\n APP_GET_CHAIN_ID: '@w3m-app/GET_CHAIN_ID',\n APP_RPC_REQUEST: '@w3m-app/RPC_REQUEST',\n APP_UPDATE_EMAIL: '@w3m-app/UPDATE_EMAIL',\n APP_UPDATE_EMAIL_PRIMARY_OTP: '@w3m-app/UPDATE_EMAIL_PRIMARY_OTP',\n APP_UPDATE_EMAIL_SECONDARY_OTP: '@w3m-app/UPDATE_EMAIL_SECONDARY_OTP',\n APP_AWAIT_UPDATE_EMAIL: '@w3m-app/AWAIT_UPDATE_EMAIL',\n APP_SYNC_THEME: '@w3m-app/SYNC_THEME',\n APP_SYNC_DAPP_DATA: '@w3m-app/SYNC_DAPP_DATA',\n APP_GET_SMART_ACCOUNT_ENABLED_NETWORKS: '@w3m-app/GET_SMART_ACCOUNT_ENABLED_NETWORKS',\n APP_INIT_SMART_ACCOUNT: '@w3m-app/INIT_SMART_ACCOUNT',\n APP_SET_PREFERRED_ACCOUNT: '@w3m-app/SET_PREFERRED_ACCOUNT',\n FRAME_SWITCH_NETWORK_ERROR: '@w3m-frame/SWITCH_NETWORK_ERROR',\n FRAME_SWITCH_NETWORK_SUCCESS: '@w3m-frame/SWITCH_NETWORK_SUCCESS',\n FRAME_CONNECT_EMAIL_ERROR: '@w3m-frame/CONNECT_EMAIL_ERROR',\n FRAME_CONNECT_EMAIL_SUCCESS: '@w3m-frame/CONNECT_EMAIL_SUCCESS',\n FRAME_CONNECT_DEVICE_ERROR: '@w3m-frame/CONNECT_DEVICE_ERROR',\n FRAME_CONNECT_DEVICE_SUCCESS: '@w3m-frame/CONNECT_DEVICE_SUCCESS',\n FRAME_CONNECT_OTP_SUCCESS: '@w3m-frame/CONNECT_OTP_SUCCESS',\n FRAME_CONNECT_OTP_ERROR: '@w3m-frame/CONNECT_OTP_ERROR',\n FRAME_GET_USER_SUCCESS: '@w3m-frame/GET_USER_SUCCESS',\n FRAME_GET_USER_ERROR: '@w3m-frame/GET_USER_ERROR',\n FRAME_SIGN_OUT_SUCCESS: '@w3m-frame/SIGN_OUT_SUCCESS',\n FRAME_SIGN_OUT_ERROR: '@w3m-frame/SIGN_OUT_ERROR',\n FRAME_IS_CONNECTED_SUCCESS: '@w3m-frame/IS_CONNECTED_SUCCESS',\n FRAME_IS_CONNECTED_ERROR: '@w3m-frame/IS_CONNECTED_ERROR',\n FRAME_GET_CHAIN_ID_SUCCESS: '@w3m-frame/GET_CHAIN_ID_SUCCESS',\n FRAME_GET_CHAIN_ID_ERROR: '@w3m-frame/GET_CHAIN_ID_ERROR',\n FRAME_RPC_REQUEST_SUCCESS: '@w3m-frame/RPC_REQUEST_SUCCESS',\n FRAME_RPC_REQUEST_ERROR: '@w3m-frame/RPC_REQUEST_ERROR',\n FRAME_SESSION_UPDATE: '@w3m-frame/SESSION_UPDATE',\n FRAME_UPDATE_EMAIL_SUCCESS: '@w3m-frame/UPDATE_EMAIL_SUCCESS',\n FRAME_UPDATE_EMAIL_ERROR: '@w3m-frame/UPDATE_EMAIL_ERROR',\n FRAME_UPDATE_EMAIL_PRIMARY_OTP_SUCCESS: '@w3m-frame/UPDATE_EMAIL_PRIMARY_OTP_SUCCESS',\n FRAME_UPDATE_EMAIL_PRIMARY_OTP_ERROR: '@w3m-frame/UPDATE_EMAIL_PRIMARY_OTP_ERROR',\n FRAME_UPDATE_EMAIL_SECONDARY_OTP_SUCCESS: '@w3m-frame/UPDATE_EMAIL_SECONDARY_OTP_SUCCESS',\n FRAME_UPDATE_EMAIL_SECONDARY_OTP_ERROR: '@w3m-frame/UPDATE_EMAIL_SECONDARY_OTP_ERROR',\n FRAME_SYNC_THEME_SUCCESS: '@w3m-frame/SYNC_THEME_SUCCESS',\n FRAME_SYNC_THEME_ERROR: '@w3m-frame/SYNC_THEME_ERROR',\n FRAME_SYNC_DAPP_DATA_SUCCESS: '@w3m-frame/SYNC_DAPP_DATA_SUCCESS',\n FRAME_SYNC_DAPP_DATA_ERROR: '@w3m-frame/SYNC_DAPP_DATA_ERROR',\n FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS: '@w3m-frame/GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS',\n FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR: '@w3m-frame/GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR',\n FRAME_INIT_SMART_ACCOUNT_SUCCESS: '@w3m-frame/INIT_SMART_ACCOUNT_SUCCESS',\n FRAME_INIT_SMART_ACCOUNT_ERROR: '@w3m-frame/INIT_SMART_ACCOUNT_ERROR',\n FRAME_SET_PREFERRED_ACCOUNT_SUCCESS: '@w3m-frame/SET_PREFERRED_ACCOUNT_SUCCESS',\n FRAME_SET_PREFERRED_ACCOUNT_ERROR: '@w3m-frame/SET_PREFERRED_ACCOUNT_ERROR',\n RPC_RESPONSE_TYPE_ERROR: 'RPC_RESPONSE_ERROR',\n RPC_RESPONSE_TYPE_TX: 'RPC_RESPONSE_TRANSACTION_HASH',\n RPC_RESPONSE_TYPE_OBJECT: 'RPC_RESPONSE_OBJECT'\n};\nexport const W3mFrameRpcConstants = {\n SAFE_RPC_METHODS: [\n 'eth_accounts',\n 'eth_blockNumber',\n 'eth_call',\n 'eth_chainId',\n 'eth_estimateGas',\n 'eth_feeHistory',\n 'eth_gasPrice',\n 'eth_getAccount',\n 'eth_getBalance',\n 'eth_getBlockByHash',\n 'eth_getBlockByNumber',\n 'eth_getBlockReceipts',\n 'eth_getBlockTransactionCountByHash',\n 'eth_getBlockTransactionCountByNumber',\n 'eth_getCode',\n 'eth_getFilterChanges',\n 'eth_getFilterLogs',\n 'eth_getLogs',\n 'eth_getProof',\n 'eth_getStorageAt',\n 'eth_getTransactionByBlockHashAndIndex',\n 'eth_getTransactionByBlockNumberAndIndex',\n 'eth_getTransactionByHash',\n 'eth_getTransactionCount',\n 'eth_getTransactionReceipt',\n 'eth_getUncleCountByBlockHash',\n 'eth_getUncleCountByBlockNumber',\n 'eth_maxPriorityFeePerGas',\n 'eth_newBlockFilter',\n 'eth_newFilter',\n 'eth_newPendingTransactionFilter',\n 'eth_sendRawTransaction',\n 'eth_syncing',\n 'eth_uninstallFilter'\n ],\n NOT_SAFE_RPC_METHODS: ['personal_sign', 'eth_signTypedData_v4', 'eth_sendTransaction'],\n GET_CHAIN_ID: 'eth_chainId',\n RPC_METHOD_NOT_ALLOWED_MESSAGE: 'Requested RPC call is not allowed',\n RPC_METHOD_NOT_ALLOWED_UI_MESSAGE: 'Action not allowed',\n ACCOUNT_TYPES: {\n EOA: 'eoa',\n SMART_ACCOUNT: 'smartAccount'\n }\n};\n//# sourceMappingURL=W3mFrameConstants.js.map","import { z } from 'zod';\nimport { W3mFrameConstants } from './W3mFrameConstants.js';\nconst zError = z.object({ message: z.string() });\nfunction zType(key) {\n return z.literal(W3mFrameConstants[key]);\n}\nexport const GetTransactionByHashResponse = z.object({\n accessList: z.array(z.string()),\n blockHash: z.string().nullable(),\n blockNumber: z.string().nullable(),\n chainId: z.string(),\n from: z.string(),\n gas: z.string(),\n hash: z.string(),\n input: z.string().nullable(),\n maxFeePerGas: z.string(),\n maxPriorityFeePerGas: z.string(),\n nonce: z.string(),\n r: z.string(),\n s: z.string(),\n to: z.string(),\n transactionIndex: z.string().nullable(),\n type: z.string(),\n v: z.string(),\n value: z.string()\n});\nexport const AppSwitchNetworkRequest = z.object({ chainId: z.number() });\nexport const AppConnectEmailRequest = z.object({ email: z.string().email() });\nexport const AppConnectOtpRequest = z.object({ otp: z.string() });\nexport const AppGetUserRequest = z.object({\n chainId: z.optional(z.number()),\n preferredAccountType: z.optional(z.string())\n});\nexport const AppUpdateEmailRequest = z.object({ email: z.string().email() });\nexport const AppUpdateEmailPrimaryOtpRequest = z.object({ otp: z.string() });\nexport const AppUpdateEmailSecondaryOtpRequest = z.object({ otp: z.string() });\nexport const AppSyncThemeRequest = z.object({\n themeMode: z.optional(z.enum(['light', 'dark'])),\n themeVariables: z.optional(z.record(z.string(), z.string().or(z.number())))\n});\nexport const AppSyncDappDataRequest = z.object({\n metadata: z\n .object({\n name: z.string(),\n description: z.string(),\n url: z.string(),\n icons: z.array(z.string())\n })\n .optional(),\n sdkVersion: z.string(),\n projectId: z.string()\n});\nexport const AppSetPreferredAccountRequest = z.object({ type: z.string() });\nexport const FrameConnectEmailResponse = z.object({\n action: z.enum(['VERIFY_DEVICE', 'VERIFY_OTP'])\n});\nexport const FrameUpdateEmailResponse = z.object({\n action: z.enum(['VERIFY_PRIMARY_OTP', 'VERIFY_SECONDARY_OTP'])\n});\nexport const FrameGetUserResponse = z.object({\n email: z.string().email(),\n address: z.string(),\n chainId: z.number(),\n smartAccountDeployed: z.optional(z.boolean()),\n preferredAccountType: z.optional(z.string())\n});\nexport const FrameIsConnectedResponse = z.object({ isConnected: z.boolean() });\nexport const FrameGetChainIdResponse = z.object({ chainId: z.number() });\nexport const FrameSwitchNetworkResponse = z.object({ chainId: z.number() });\nexport const FrameUpdateEmailSecondaryOtpResolver = z.object({ newEmail: z.string().email() });\nexport const FrameGetSmartAccountEnabledNetworksResponse = z.object({\n smartAccountEnabledNetworks: z.array(z.number())\n});\nexport const FrameInitSmartAccountResponse = z.object({\n address: z.string(),\n isDeployed: z.boolean()\n});\nexport const FrameSetPreferredAccountResponse = z.object({ type: z.string(), address: z.string() });\nexport const RpcResponse = z.any();\nexport const RpcEthAccountsRequest = z.object({\n method: z.literal('eth_accounts')\n});\nexport const RpcEthBlockNumber = z.object({\n method: z.literal('eth_blockNumber')\n});\nexport const RpcEthCall = z.object({\n method: z.literal('eth_call'),\n params: z.array(z.any())\n});\nexport const RpcEthChainId = z.object({\n method: z.literal('eth_chainId')\n});\nexport const RpcEthEstimateGas = z.object({\n method: z.literal('eth_estimateGas'),\n params: z.array(z.any())\n});\nexport const RpcEthFeeHistory = z.object({\n method: z.literal('eth_feeHistory'),\n params: z.array(z.any())\n});\nexport const RpcEthGasPrice = z.object({\n method: z.literal('eth_gasPrice')\n});\nexport const RpcEthGetAccount = z.object({\n method: z.literal('eth_getAccount'),\n params: z.array(z.any())\n});\nexport const RpcEthGetBalance = z.object({\n method: z.literal('eth_getBalance'),\n params: z.array(z.any())\n});\nexport const RpcEthGetBlockyByHash = z.object({\n method: z.literal('eth_getBlockByHash'),\n params: z.array(z.any())\n});\nexport const RpcEthGetBlockByNumber = z.object({\n method: z.literal('eth_getBlockByNumber'),\n params: z.array(z.any())\n});\nexport const RpcEthGetBlockReceipts = z.object({\n method: z.literal('eth_getBlockReceipts'),\n params: z.array(z.any())\n});\nexport const RcpEthGetBlockTransactionCountByHash = z.object({\n method: z.literal('eth_getBlockTransactionCountByHash'),\n params: z.array(z.any())\n});\nexport const RcpEthGetBlockTransactionCountByNumber = z.object({\n method: z.literal('eth_getBlockTransactionCountByNumber'),\n params: z.array(z.any())\n});\nexport const RpcEthGetCode = z.object({\n method: z.literal('eth_getCode'),\n params: z.array(z.any())\n});\nexport const RpcEthGetFilter = z.object({\n method: z.literal('eth_getFilterChanges'),\n params: z.array(z.any())\n});\nexport const RpcEthGetFilterLogs = z.object({\n method: z.literal('eth_getFilterLogs'),\n params: z.array(z.any())\n});\nexport const RpcEthGetLogs = z.object({\n method: z.literal('eth_getLogs'),\n params: z.array(z.any())\n});\nexport const RpcEthGetProof = z.object({\n method: z.literal('eth_getProof'),\n params: z.array(z.any())\n});\nexport const RpcEthGetStorageAt = z.object({\n method: z.literal('eth_getStorageAt'),\n params: z.array(z.any())\n});\nexport const RpcEthGetTransactionByBlockHashAndIndex = z.object({\n method: z.literal('eth_getTransactionByBlockHashAndIndex'),\n params: z.array(z.any())\n});\nexport const RpcEthGetTransactionByBlockNumberAndIndex = z.object({\n method: z.literal('eth_getTransactionByBlockNumberAndIndex'),\n params: z.array(z.any())\n});\nexport const RpcEthGetTransactionByHash = z.object({\n method: z.literal('eth_getTransactionByHash'),\n params: z.array(z.any())\n});\nexport const RpcEthGetTransactionCount = z.object({\n method: z.literal('eth_getTransactionCount'),\n params: z.array(z.any())\n});\nexport const RpcEthGetTransactionReceipt = z.object({\n method: z.literal('eth_getTransactionReceipt'),\n params: z.array(z.any())\n});\nexport const RpcEthGetUncleCountByBlockHash = z.object({\n method: z.literal('eth_getUncleCountByBlockHash'),\n params: z.array(z.any())\n});\nexport const RpcEthGetUncleCountByBlockNumber = z.object({\n method: z.literal('eth_getUncleCountByBlockNumber'),\n params: z.array(z.any())\n});\nexport const RpcEthMaxPriorityFeePerGas = z.object({\n method: z.literal('eth_maxPriorityFeePerGas')\n});\nexport const RpcEthNewBlockFilter = z.object({\n method: z.literal('eth_newBlockFilter')\n});\nexport const RpcEthNewFilter = z.object({\n method: z.literal('eth_newFilter'),\n params: z.array(z.any())\n});\nexport const RpcEthNewPendingTransactionFilter = z.object({\n method: z.literal('eth_newPendingTransactionFilter')\n});\nexport const RpcEthSendRawTransaction = z.object({\n method: z.literal('eth_sendRawTransaction'),\n params: z.array(z.any())\n});\nexport const RpcEthSyncing = z.object({\n method: z.literal('eth_syncing'),\n params: z.array(z.any())\n});\nexport const RpcUnistallFilter = z.object({\n method: z.literal('eth_uninstallFilter'),\n params: z.array(z.any())\n});\nexport const RpcPersonalSignRequest = z.object({\n method: z.literal('personal_sign'),\n params: z.array(z.any())\n});\nexport const RpcEthSignTypedDataV4 = z.object({\n method: z.literal('eth_signTypedData_v4'),\n params: z.array(z.any())\n});\nexport const RpcEthSendTransactionRequest = z.object({\n method: z.literal('eth_sendTransaction'),\n params: z.array(z.any())\n});\nexport const FrameSession = z.object({\n token: z.string()\n});\nexport const W3mFrameSchema = {\n appEvent: z\n .object({ type: zType('APP_SWITCH_NETWORK'), payload: AppSwitchNetworkRequest })\n .or(z.object({ type: zType('APP_CONNECT_EMAIL'), payload: AppConnectEmailRequest }))\n .or(z.object({ type: zType('APP_CONNECT_DEVICE') }))\n .or(z.object({ type: zType('APP_CONNECT_OTP'), payload: AppConnectOtpRequest }))\n .or(z.object({ type: zType('APP_GET_USER'), payload: z.optional(AppGetUserRequest) }))\n .or(z.object({ type: zType('APP_SIGN_OUT') }))\n .or(z.object({ type: zType('APP_IS_CONNECTED'), payload: z.optional(FrameSession) }))\n .or(z.object({ type: zType('APP_GET_CHAIN_ID') }))\n .or(z.object({ type: zType('APP_GET_SMART_ACCOUNT_ENABLED_NETWORKS') }))\n .or(z.object({ type: zType('APP_INIT_SMART_ACCOUNT') }))\n .or(z.object({ type: zType('APP_SET_PREFERRED_ACCOUNT'), payload: AppSetPreferredAccountRequest }))\n .or(z.object({\n type: zType('APP_RPC_REQUEST'),\n payload: RpcPersonalSignRequest.or(RpcEthSendTransactionRequest)\n .or(RpcEthAccountsRequest)\n .or(RpcEthBlockNumber)\n .or(RpcEthCall)\n .or(RpcEthChainId)\n .or(RpcEthEstimateGas)\n .or(RpcEthFeeHistory)\n .or(RpcEthGasPrice)\n .or(RpcEthGetAccount)\n .or(RpcEthGetBalance)\n .or(RpcEthGetBlockyByHash)\n .or(RpcEthGetBlockByNumber)\n .or(RpcEthGetBlockReceipts)\n .or(RcpEthGetBlockTransactionCountByHash)\n .or(RcpEthGetBlockTransactionCountByNumber)\n .or(RpcEthGetCode)\n .or(RpcEthGetFilter)\n .or(RpcEthGetFilterLogs)\n .or(RpcEthGetLogs)\n .or(RpcEthGetProof)\n .or(RpcEthGetStorageAt)\n .or(RpcEthGetTransactionByBlockHashAndIndex)\n .or(RpcEthGetTransactionByBlockNumberAndIndex)\n .or(RpcEthGetTransactionByHash)\n .or(RpcEthGetTransactionCount)\n .or(RpcEthGetTransactionReceipt)\n .or(RpcEthGetUncleCountByBlockHash)\n .or(RpcEthGetUncleCountByBlockNumber)\n .or(RpcEthMaxPriorityFeePerGas)\n .or(RpcEthNewBlockFilter)\n .or(RpcEthNewFilter)\n .or(RpcEthNewPendingTransactionFilter)\n .or(RpcEthSendRawTransaction)\n .or(RpcEthSyncing)\n .or(RpcUnistallFilter)\n .or(RpcPersonalSignRequest)\n .or(RpcEthSignTypedDataV4)\n .or(RpcEthSendTransactionRequest)\n }))\n .or(z.object({ type: zType('APP_UPDATE_EMAIL'), payload: AppUpdateEmailRequest }))\n .or(z.object({\n type: zType('APP_UPDATE_EMAIL_PRIMARY_OTP'),\n payload: AppUpdateEmailPrimaryOtpRequest\n }))\n .or(z.object({\n type: zType('APP_UPDATE_EMAIL_SECONDARY_OTP'),\n payload: AppUpdateEmailSecondaryOtpRequest\n }))\n .or(z.object({ type: zType('APP_SYNC_THEME'), payload: AppSyncThemeRequest }))\n .or(z.object({ type: zType('APP_SYNC_DAPP_DATA'), payload: AppSyncDappDataRequest })),\n frameEvent: z\n .object({ type: zType('FRAME_SWITCH_NETWORK_ERROR'), payload: zError })\n .or(z.object({ type: zType('FRAME_SWITCH_NETWORK_SUCCESS'), payload: FrameSwitchNetworkResponse }))\n .or(z.object({ type: zType('FRAME_CONNECT_EMAIL_ERROR'), payload: zError }))\n .or(z.object({ type: zType('FRAME_CONNECT_EMAIL_SUCCESS'), payload: FrameConnectEmailResponse }))\n .or(z.object({ type: zType('FRAME_CONNECT_OTP_ERROR'), payload: zError }))\n .or(z.object({ type: zType('FRAME_CONNECT_OTP_SUCCESS') }))\n .or(z.object({ type: zType('FRAME_CONNECT_DEVICE_ERROR'), payload: zError }))\n .or(z.object({ type: zType('FRAME_CONNECT_DEVICE_SUCCESS') }))\n .or(z.object({ type: zType('FRAME_GET_USER_ERROR'), payload: zError }))\n .or(z.object({ type: zType('FRAME_GET_USER_SUCCESS'), payload: FrameGetUserResponse }))\n .or(z.object({ type: zType('FRAME_SIGN_OUT_ERROR'), payload: zError }))\n .or(z.object({ type: zType('FRAME_SIGN_OUT_SUCCESS') }))\n .or(z.object({ type: zType('FRAME_IS_CONNECTED_ERROR'), payload: zError }))\n .or(z.object({ type: zType('FRAME_IS_CONNECTED_SUCCESS'), payload: FrameIsConnectedResponse }))\n .or(z.object({ type: zType('FRAME_GET_CHAIN_ID_ERROR'), payload: zError }))\n .or(z.object({ type: zType('FRAME_GET_CHAIN_ID_SUCCESS'), payload: FrameGetChainIdResponse }))\n .or(z.object({ type: zType('FRAME_RPC_REQUEST_ERROR'), payload: zError }))\n .or(z.object({ type: zType('FRAME_RPC_REQUEST_SUCCESS'), payload: RpcResponse }))\n .or(z.object({ type: zType('FRAME_SESSION_UPDATE'), payload: FrameSession }))\n .or(z.object({ type: zType('FRAME_UPDATE_EMAIL_ERROR'), payload: zError }))\n .or(z.object({ type: zType('FRAME_UPDATE_EMAIL_SUCCESS'), payload: FrameUpdateEmailResponse }))\n .or(z.object({ type: zType('FRAME_UPDATE_EMAIL_PRIMARY_OTP_ERROR'), payload: zError }))\n .or(z.object({ type: zType('FRAME_UPDATE_EMAIL_PRIMARY_OTP_SUCCESS') }))\n .or(z.object({ type: zType('FRAME_UPDATE_EMAIL_SECONDARY_OTP_ERROR'), payload: zError }))\n .or(z.object({\n type: zType('FRAME_UPDATE_EMAIL_SECONDARY_OTP_SUCCESS'),\n payload: FrameUpdateEmailSecondaryOtpResolver\n }))\n .or(z.object({ type: zType('FRAME_SYNC_THEME_ERROR'), payload: zError }))\n .or(z.object({ type: zType('FRAME_SYNC_THEME_SUCCESS') }))\n .or(z.object({ type: zType('FRAME_SYNC_DAPP_DATA_ERROR'), payload: zError }))\n .or(z.object({ type: zType('FRAME_SYNC_DAPP_DATA_SUCCESS') }))\n .or(z.object({\n type: zType('FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS'),\n payload: FrameGetSmartAccountEnabledNetworksResponse\n }))\n .or(z.object({\n type: zType('FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR'),\n payload: zError\n }))\n .or(z.object({ type: zType('FRAME_INIT_SMART_ACCOUNT_ERROR'), payload: zError }))\n .or(z.object({\n type: zType('FRAME_SET_PREFERRED_ACCOUNT_SUCCESS'),\n payload: FrameSetPreferredAccountResponse\n }))\n .or(z.object({ type: zType('FRAME_SET_PREFERRED_ACCOUNT_ERROR'), payload: zError }))\n};\n//# sourceMappingURL=W3mFrameSchema.js.map","import { W3mFrameConstants } from './W3mFrameConstants.js';\nimport { W3mFrameHelpers } from './W3mFrameHelpers.js';\nexport const W3mFrameStorage = {\n set(key, value) {\n if (W3mFrameHelpers.isClient) {\n localStorage.setItem(`${W3mFrameConstants.STORAGE_KEY}${key}`, value);\n }\n },\n get(key) {\n if (W3mFrameHelpers.isClient) {\n return localStorage.getItem(`${W3mFrameConstants.STORAGE_KEY}${key}`);\n }\n return null;\n },\n delete(key) {\n if (W3mFrameHelpers.isClient) {\n localStorage.removeItem(`${W3mFrameConstants.STORAGE_KEY}${key}`);\n }\n }\n};\n//# sourceMappingURL=W3mFrameStorage.js.map","export const RegexUtil = {\n address: /^0x(?:[A-Fa-f0-9]{40})$/u,\n transactionHash: /^0x(?:[A-Fa-f0-9]{64})$/u,\n signedMessage: /^0x(?:[A-Fa-f0-9]{130})$/u\n};\n//# sourceMappingURL=RegexUtil.js.map","import { W3mFrameStorage } from './W3mFrameStorage.js';\nimport { W3mFrameConstants, W3mFrameRpcConstants } from './W3mFrameConstants.js';\nimport { RegexUtil } from './RegexUtil.js';\nconst RESTRICTED_TIMEZONES = [\n 'ASIA/SHANGHAI',\n 'ASIA/URUMQI',\n 'ASIA/CHONGQING',\n 'ASIA/HARBIN',\n 'ASIA/KASHGAR',\n 'ASIA/MACAU',\n 'ASIA/HONG_KONG',\n 'ASIA/MACAO',\n 'ASIA/BEIJING',\n 'ASIA/HARBIN'\n];\nconst EMAIL_MINIMUM_TIMEOUT = 30 * 1000;\nexport const W3mFrameHelpers = {\n getBlockchainApiUrl() {\n try {\n const { timeZone } = new Intl.DateTimeFormat().resolvedOptions();\n const capTimeZone = timeZone.toUpperCase();\n return RESTRICTED_TIMEZONES.includes(capTimeZone)\n ? 'https://rpc.walletconnect.org'\n : 'https://rpc.walletconnect.com';\n }\n catch {\n return false;\n }\n },\n checkIfAllowedToTriggerEmail() {\n const lastEmailLoginTime = W3mFrameStorage.get(W3mFrameConstants.LAST_EMAIL_LOGIN_TIME);\n if (lastEmailLoginTime) {\n const difference = Date.now() - Number(lastEmailLoginTime);\n if (difference < EMAIL_MINIMUM_TIMEOUT) {\n const cooldownSec = Math.ceil((EMAIL_MINIMUM_TIMEOUT - difference) / 1000);\n throw new Error(`Please try again after ${cooldownSec} seconds`);\n }\n }\n },\n getTimeToNextEmailLogin() {\n const lastEmailLoginTime = W3mFrameStorage.get(W3mFrameConstants.LAST_EMAIL_LOGIN_TIME);\n if (lastEmailLoginTime) {\n const difference = Date.now() - Number(lastEmailLoginTime);\n if (difference < EMAIL_MINIMUM_TIMEOUT) {\n return Math.ceil((EMAIL_MINIMUM_TIMEOUT - difference) / 1000);\n }\n }\n return 0;\n },\n checkIfRequestExists(request) {\n const method = this.getRequestMethod(request);\n return (W3mFrameRpcConstants.NOT_SAFE_RPC_METHODS.includes(method) ||\n W3mFrameRpcConstants.SAFE_RPC_METHODS.includes(method));\n },\n getRequestMethod(request) {\n return request?.payload?.method;\n },\n getResponseType(response) {\n const { type, payload } = response;\n const isError = type === W3mFrameConstants.FRAME_RPC_REQUEST_ERROR;\n if (isError) {\n return W3mFrameConstants.RPC_RESPONSE_TYPE_ERROR;\n }\n const isPayloadString = typeof payload === 'string';\n const isTransactionHash = isPayloadString &&\n (payload.match(RegexUtil.transactionHash) || payload.match(RegexUtil.signedMessage));\n if (isTransactionHash) {\n return W3mFrameConstants.RPC_RESPONSE_TYPE_TX;\n }\n return W3mFrameConstants.RPC_RESPONSE_TYPE_OBJECT;\n },\n checkIfRequestIsAllowed(request) {\n const method = this.getRequestMethod(request);\n return W3mFrameRpcConstants.SAFE_RPC_METHODS.includes(method);\n },\n isClient: typeof window !== 'undefined'\n};\n//# sourceMappingURL=W3mFrameHelpers.js.map","import { SECURE_SITE_SDK, W3mFrameConstants } from './W3mFrameConstants.js';\nimport { W3mFrameSchema } from './W3mFrameSchema.js';\nimport { W3mFrameHelpers } from './W3mFrameHelpers.js';\nexport class W3mFrame {\n constructor(projectId, isAppClient = false) {\n this.iframe = null;\n this.rpcUrl = W3mFrameHelpers.getBlockchainApiUrl();\n this.events = {\n onFrameEvent: (callback) => {\n if (W3mFrameHelpers.isClient) {\n window.addEventListener('message', ({ data }) => {\n if (!data.type?.includes(W3mFrameConstants.FRAME_EVENT_KEY)) {\n return;\n }\n const frameEvent = W3mFrameSchema.frameEvent.parse(data);\n callback(frameEvent);\n });\n }\n },\n onAppEvent: (callback) => {\n if (W3mFrameHelpers.isClient) {\n window.addEventListener('message', ({ data }) => {\n if (!data.type?.includes(W3mFrameConstants.APP_EVENT_KEY)) {\n return;\n }\n const appEvent = W3mFrameSchema.appEvent.parse(data);\n callback(appEvent);\n });\n }\n },\n postAppEvent: (event) => {\n if (W3mFrameHelpers.isClient) {\n if (!this.iframe?.contentWindow) {\n throw new Error('W3mFrame: iframe is not set');\n }\n W3mFrameSchema.appEvent.parse(event);\n window.postMessage(event);\n this.iframe.contentWindow.postMessage(event, '*');\n }\n },\n postFrameEvent: (event) => {\n if (W3mFrameHelpers.isClient) {\n if (!parent) {\n throw new Error('W3mFrame: parent is not set');\n }\n W3mFrameSchema.frameEvent.parse(event);\n parent.postMessage(event, '*');\n }\n }\n };\n this.projectId = projectId;\n this.frameLoadPromise = new Promise((resolve, reject) => {\n this.frameLoadPromiseResolver = { resolve, reject };\n });\n if (isAppClient) {\n this.frameLoadPromise = new Promise((resolve, reject) => {\n this.frameLoadPromiseResolver = { resolve, reject };\n });\n if (W3mFrameHelpers.isClient) {\n const iframe = document.createElement('iframe');\n iframe.id = 'w3m-iframe';\n iframe.src = `${SECURE_SITE_SDK}?projectId=${projectId}`;\n iframe.style.position = 'fixed';\n iframe.style.zIndex = '999999';\n iframe.style.display = 'none';\n iframe.style.borderBottomLeftRadius = `clamp(0px, var(--wui-border-radius-l), 44px)`;\n iframe.style.borderBottomRightRadius = `clamp(0px, var(--wui-border-radius-l), 44px)`;\n iframe.style.opacity = '0';\n iframe.style.borderBottomLeftRadius = `clamp(0px, var(--wui-border-radius-l), 44px)`;\n iframe.style.borderBottomRightRadius = `clamp(0px, var(--wui-border-radius-l), 44px)`;\n document.body.appendChild(iframe);\n this.iframe = iframe;\n this.iframe.onload = () => {\n this.frameLoadPromiseResolver?.resolve(undefined);\n };\n this.iframe.onerror = () => {\n this.frameLoadPromiseResolver?.reject('Unable to load email login dependency');\n };\n }\n }\n }\n get networks() {\n const data = [\n 1, 5, 11155111, 10, 420, 42161, 421613, 137, 80001, 42220, 1313161554, 1313161555, 56, 97,\n 43114, 43113, 324, 280, 100, 8453, 84531, 7777777, 999\n ].map(id => ({\n [id]: {\n rpcUrl: `${this.rpcUrl}/v1/?chainId=eip155:${id}&projectId=${this.projectId}`,\n chainId: id\n }\n }));\n return Object.assign({}, ...data);\n }\n}\n//# sourceMappingURL=W3mFrame.js.map","import { W3mFrame } from './W3mFrame.js';\nimport { W3mFrameConstants, W3mFrameRpcConstants } from './W3mFrameConstants.js';\nimport { W3mFrameStorage } from './W3mFrameStorage.js';\nimport { W3mFrameHelpers } from './W3mFrameHelpers.js';\nexport class W3mFrameProvider {\n constructor(projectId) {\n this.connectEmailResolver = undefined;\n this.connectDeviceResolver = undefined;\n this.connectOtpResolver = undefined;\n this.connectResolver = undefined;\n this.disconnectResolver = undefined;\n this.isConnectedResolver = undefined;\n this.getChainIdResolver = undefined;\n this.switchChainResolver = undefined;\n this.rpcRequestResolver = undefined;\n this.updateEmailResolver = undefined;\n this.updateEmailPrimaryOtpResolver = undefined;\n this.updateEmailSecondaryOtpResolver = undefined;\n this.syncThemeResolver = undefined;\n this.syncDappDataResolver = undefined;\n this.smartAccountEnabledNetworksResolver = undefined;\n this.setPreferredAccountResolver = undefined;\n this.w3mFrame = new W3mFrame(projectId, true);\n this.w3mFrame.events.onFrameEvent(event => {\n console.log('💻 received', event);\n switch (event.type) {\n case W3mFrameConstants.FRAME_CONNECT_EMAIL_SUCCESS:\n return this.onConnectEmailSuccess(event);\n case W3mFrameConstants.FRAME_CONNECT_EMAIL_ERROR:\n return this.onConnectEmailError(event);\n case W3mFrameConstants.FRAME_CONNECT_DEVICE_SUCCESS:\n return this.onConnectDeviceSuccess();\n case W3mFrameConstants.FRAME_CONNECT_DEVICE_ERROR:\n return this.onConnectDeviceError(event);\n case W3mFrameConstants.FRAME_CONNECT_OTP_SUCCESS:\n return this.onConnectOtpSuccess();\n case W3mFrameConstants.FRAME_CONNECT_OTP_ERROR:\n return this.onConnectOtpError(event);\n case W3mFrameConstants.FRAME_GET_USER_SUCCESS:\n return this.onConnectSuccess(event);\n case W3mFrameConstants.FRAME_GET_USER_ERROR:\n return this.onConnectError(event);\n case W3mFrameConstants.FRAME_IS_CONNECTED_SUCCESS:\n return this.onIsConnectedSuccess(event);\n case W3mFrameConstants.FRAME_IS_CONNECTED_ERROR:\n return this.onIsConnectedError(event);\n case W3mFrameConstants.FRAME_GET_CHAIN_ID_SUCCESS:\n return this.onGetChainIdSuccess(event);\n case W3mFrameConstants.FRAME_GET_CHAIN_ID_ERROR:\n return this.onGetChainIdError(event);\n case W3mFrameConstants.FRAME_SIGN_OUT_SUCCESS:\n return this.onSignOutSuccess();\n case W3mFrameConstants.FRAME_SIGN_OUT_ERROR:\n return this.onSignOutError(event);\n case W3mFrameConstants.FRAME_SWITCH_NETWORK_SUCCESS:\n return this.onSwitchChainSuccess(event);\n case W3mFrameConstants.FRAME_SWITCH_NETWORK_ERROR:\n return this.onSwitchChainError(event);\n case W3mFrameConstants.FRAME_RPC_REQUEST_SUCCESS:\n return this.onRpcRequestSuccess(event);\n case W3mFrameConstants.FRAME_RPC_REQUEST_ERROR:\n return this.onRpcRequestError(event);\n case W3mFrameConstants.FRAME_SESSION_UPDATE:\n return this.onSessionUpdate(event);\n case W3mFrameConstants.FRAME_UPDATE_EMAIL_SUCCESS:\n return this.onUpdateEmailSuccess(event);\n case W3mFrameConstants.FRAME_UPDATE_EMAIL_ERROR:\n return this.onUpdateEmailError(event);\n case W3mFrameConstants.FRAME_UPDATE_EMAIL_PRIMARY_OTP_SUCCESS:\n return this.onUpdateEmailPrimaryOtpSuccess();\n case W3mFrameConstants.FRAME_UPDATE_EMAIL_PRIMARY_OTP_ERROR:\n return this.onUpdateEmailPrimaryOtpError(event);\n case W3mFrameConstants.FRAME_UPDATE_EMAIL_SECONDARY_OTP_SUCCESS:\n return this.onUpdateEmailSecondaryOtpSuccess(event);\n case W3mFrameConstants.FRAME_UPDATE_EMAIL_SECONDARY_OTP_ERROR:\n return this.onUpdateEmailSecondaryOtpError(event);\n case W3mFrameConstants.FRAME_SYNC_THEME_SUCCESS:\n return this.onSyncThemeSuccess();\n case W3mFrameConstants.FRAME_SYNC_THEME_ERROR:\n return this.onSyncThemeError(event);\n case W3mFrameConstants.FRAME_SYNC_DAPP_DATA_SUCCESS:\n return this.onSyncDappDataSuccess();\n case W3mFrameConstants.FRAME_SYNC_DAPP_DATA_ERROR:\n return this.onSyncDappDataError(event);\n case W3mFrameConstants.FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS:\n return this.onSmartAccountEnabledNetworksSuccess(event);\n case W3mFrameConstants.FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR:\n return this.onSmartAccountEnabledNetworksError(event);\n case W3mFrameConstants.FRAME_SET_PREFERRED_ACCOUNT_SUCCESS:\n return this.onSetPreferredAccountSuccess();\n case W3mFrameConstants.FRAME_SET_PREFERRED_ACCOUNT_ERROR:\n return this.onSetPreferredAccountError();\n default:\n return null;\n }\n });\n }\n getLoginEmailUsed() {\n return Boolean(W3mFrameStorage.get(W3mFrameConstants.EMAIL_LOGIN_USED_KEY));\n }\n getEmail() {\n return W3mFrameStorage.get(W3mFrameConstants.EMAIL);\n }\n rejectRpcRequest() {\n this.rpcRequestResolver?.reject();\n }\n async connectEmail(payload) {\n await this.w3mFrame.frameLoadPromise;\n W3mFrameHelpers.checkIfAllowedToTriggerEmail();\n this.w3mFrame.events.postAppEvent({ type: W3mFrameConstants.APP_CONNECT_EMAIL, payload });\n return new Promise((resolve, reject) => {\n this.connectEmailResolver = { resolve, reject };\n });\n }\n async connectDevice() {\n await this.w3mFrame.frameLoadPromise;\n this.w3mFrame.events.postAppEvent({ type: W3mFrameConstants.APP_CONNECT_DEVICE });\n return new Promise((resolve, reject) => {\n this.connectDeviceResolver = { resolve, reject };\n });\n }\n async connectOtp(payload) {\n await this.w3mFrame.frameLoadPromise;\n this.w3mFrame.events.postAppEvent({ type: W3mFrameConstants.APP_CONNECT_OTP, payload });\n return new Promise((resolve, reject) => {\n this.connectOtpResolver = { resolve, reject };\n });\n }\n async isConnected() {\n await this.w3mFrame.frameLoadPromise;\n this.w3mFrame.events.postAppEvent({\n type: W3mFrameConstants.APP_IS_CONNECTED,\n payload: undefined\n });\n return new Promise((resolve, reject) => {\n this.isConnectedResolver = { resolve, reject };\n });\n }\n async getChainId() {\n await this.w3mFrame.frameLoadPromise;\n this.w3mFrame.events.postAppEvent({ type: W3mFrameConstants.APP_GET_CHAIN_ID });\n return new Promise((resolve, reject) => {\n this.getChainIdResolver = { resolve, reject };\n });\n }\n async updateEmail(payload) {\n await this.w3mFrame.frameLoadPromise;\n W3mFrameHelpers.checkIfAllowedToTriggerEmail();\n this.w3mFrame.events.postAppEvent({ type: W3mFrameConstants.APP_UPDATE_EMAIL, payload });\n return new Promise((resolve, reject) => {\n this.updateEmailResolver = { resolve, reject };\n });\n }\n async updateEmailPrimaryOtp(payload) {\n await this.w3mFrame.frameLoadPromise;\n this.w3mFrame.events.postAppEvent({\n type: W3mFrameConstants.APP_UPDATE_EMAIL_PRIMARY_OTP,\n payload\n });\n return new Promise((resolve, reject) => {\n this.updateEmailPrimaryOtpResolver = { resolve, reject };\n });\n }\n async updateEmailSecondaryOtp(payload) {\n await this.w3mFrame.frameLoadPromise;\n this.w3mFrame.events.postAppEvent({\n type: W3mFrameConstants.APP_UPDATE_EMAIL_SECONDARY_OTP,\n payload\n });\n return new Promise((resolve, reject) => {\n this.updateEmailSecondaryOtpResolver = { resolve, reject };\n });\n }\n async syncTheme(payload) {\n await this.w3mFrame.frameLoadPromise;\n this.w3mFrame.events.postAppEvent({ type: W3mFrameConstants.APP_SYNC_THEME, payload });\n return new Promise((resolve, reject) => {\n this.syncThemeResolver = { resolve, reject };\n });\n }\n async syncDappData(payload) {\n await this.w3mFrame.frameLoadPromise;\n this.w3mFrame.events.postAppEvent({ type: W3mFrameConstants.APP_SYNC_DAPP_DATA, payload });\n return new Promise((resolve, reject) => {\n this.syncDappDataResolver = { resolve, reject };\n });\n }\n async getSmartAccountEnabledNetworks() {\n await this.w3mFrame.frameLoadPromise;\n this.w3mFrame.events.postAppEvent({\n type: W3mFrameConstants.APP_GET_SMART_ACCOUNT_ENABLED_NETWORKS\n });\n return new Promise((resolve, reject) => {\n this.smartAccountEnabledNetworksResolver = { resolve, reject };\n });\n }\n async setPreferredAccount(type) {\n await this.w3mFrame.frameLoadPromise;\n this.w3mFrame.events.postAppEvent({\n type: W3mFrameConstants.APP_SET_PREFERRED_ACCOUNT,\n payload: { type }\n });\n return new Promise((resolve, reject) => {\n this.setPreferredAccountResolver = { resolve, reject };\n });\n }\n async connect(payload) {\n const chainId = payload?.chainId ?? this.getLastUsedChainId() ?? 1;\n await this.w3mFrame.frameLoadPromise;\n this.w3mFrame.events.postAppEvent({\n type: W3mFrameConstants.APP_GET_USER,\n payload: { chainId }\n });\n return new Promise((resolve, reject) => {\n this.connectResolver = { resolve, reject };\n });\n }\n async switchNetwork(chainId) {\n await this.w3mFrame.frameLoadPromise;\n this.w3mFrame.events.postAppEvent({\n type: W3mFrameConstants.APP_SWITCH_NETWORK,\n payload: { chainId }\n });\n return new Promise((resolve, reject) => {\n this.switchChainResolver = { resolve, reject };\n });\n }\n async disconnect() {\n await this.w3mFrame.frameLoadPromise;\n this.w3mFrame.events.postAppEvent({ type: W3mFrameConstants.APP_SIGN_OUT });\n return new Promise((resolve, reject) => {\n this.disconnectResolver = { resolve, reject };\n });\n }\n async request(req) {\n await this.w3mFrame.frameLoadPromise;\n if (W3mFrameRpcConstants.GET_CHAIN_ID === req.method) {\n return this.getLastUsedChainId();\n }\n this.w3mFrame.events.postAppEvent({\n type: W3mFrameConstants.APP_RPC_REQUEST,\n payload: req\n });\n return new Promise((resolve, reject) => {\n this.rpcRequestResolver = { resolve, reject };\n });\n }\n onRpcRequest(callback) {\n this.w3mFrame.events.onAppEvent(event => {\n if (event.type.includes(W3mFrameConstants.RPC_METHOD_KEY)) {\n callback(event);\n }\n });\n }\n onRpcResponse(callback) {\n this.w3mFrame.events.onFrameEvent(event => {\n if (event.type.includes(W3mFrameConstants.RPC_METHOD_KEY)) {\n callback(event);\n }\n });\n }\n onIsConnected(callback) {\n this.w3mFrame.events.onFrameEvent(event => {\n if (event.type === W3mFrameConstants.FRAME_GET_USER_SUCCESS) {\n callback(event.payload);\n }\n });\n }\n onNotConnected(callback) {\n this.w3mFrame.events.onFrameEvent(event => {\n if (event.type === W3mFrameConstants.FRAME_IS_CONNECTED_ERROR) {\n callback();\n }\n if (event.type === W3mFrameConstants.FRAME_IS_CONNECTED_SUCCESS &&\n !event.payload.isConnected) {\n callback();\n }\n });\n }\n onSetPreferredAccount(callback) {\n this.w3mFrame.events.onFrameEvent(event => {\n if (event.type === W3mFrameConstants.FRAME_SET_PREFERRED_ACCOUNT_SUCCESS) {\n callback(event.payload);\n }\n else if (event.type === W3mFrameConstants.FRAME_SET_PREFERRED_ACCOUNT_ERROR) {\n callback({ type: W3mFrameRpcConstants.ACCOUNT_TYPES.EOA });\n }\n });\n }\n onGetSmartAccountEnabledNetworks(callback) {\n this.w3mFrame.events.onFrameEvent(event => {\n if (event.type === W3mFrameConstants.FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS) {\n callback(event.payload.smartAccountEnabledNetworks);\n }\n else if (event.type === W3mFrameConstants.FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR) {\n callback([]);\n }\n });\n }\n onConnectEmailSuccess(event) {\n this.connectEmailResolver?.resolve(event.payload);\n this.setNewLastEmailLoginTime();\n }\n onConnectEmailError(event) {\n this.connectEmailResolver?.reject(event.payload.message);\n }\n onConnectDeviceSuccess() {\n this.connectDeviceResolver?.resolve(undefined);\n }\n onConnectDeviceError(event) {\n this.connectDeviceResolver?.reject(event.payload.message);\n }\n onConnectOtpSuccess() {\n this.connectOtpResolver?.resolve(undefined);\n }\n onConnectOtpError(event) {\n this.connectOtpResolver?.reject(event.payload.message);\n }\n onConnectSuccess(event) {\n this.setEmailLoginSuccess(event.payload.email);\n this.setLastUsedChainId(event.payload.chainId);\n this.connectResolver?.resolve(event.payload);\n }\n onConnectError(event) {\n this.connectResolver?.reject(event.payload.message);\n }\n onIsConnectedSuccess(event) {\n if (!event.payload.isConnected) {\n this.deleteEmailLoginCache();\n }\n this.isConnectedResolver?.resolve(event.payload);\n }\n onIsConnectedError(event) {\n this.isConnectedResolver?.reject(event.payload.message);\n }\n onGetChainIdSuccess(event) {\n this.setLastUsedChainId(event.payload.chainId);\n this.getChainIdResolver?.resolve(event.payload);\n }\n onGetChainIdError(event) {\n this.getChainIdResolver?.reject(event.payload.message);\n }\n onSignOutSuccess() {\n this.disconnectResolver?.resolve(undefined);\n this.deleteEmailLoginCache();\n }\n onSignOutError(event) {\n this.disconnectResolver?.reject(event.payload.message);\n }\n onSwitchChainSuccess(event) {\n this.setLastUsedChainId(event.payload.chainId);\n this.switchChainResolver?.resolve(event.payload);\n }\n onSwitchChainError(event) {\n this.switchChainResolver?.reject(event.payload.message);\n }\n onRpcRequestSuccess(event) {\n this.rpcRequestResolver?.resolve(event.payload);\n }\n onRpcRequestError(event) {\n this.rpcRequestResolver?.reject(event.payload.message);\n }\n onSessionUpdate(event) {\n const { payload } = event;\n if (payload) {\n }\n }\n onUpdateEmailSuccess(event) {\n this.updateEmailResolver?.resolve(event.payload);\n this.setNewLastEmailLoginTime();\n }\n onUpdateEmailError(event) {\n this.updateEmailResolver?.reject(event.payload.message);\n }\n onUpdateEmailPrimaryOtpSuccess() {\n this.updateEmailPrimaryOtpResolver?.resolve(undefined);\n }\n onUpdateEmailPrimaryOtpError(event) {\n this.updateEmailPrimaryOtpResolver?.reject(event.payload.message);\n }\n onUpdateEmailSecondaryOtpSuccess(event) {\n const { newEmail } = event.payload;\n this.setEmailLoginSuccess(newEmail);\n this.updateEmailSecondaryOtpResolver?.resolve({ newEmail });\n }\n onUpdateEmailSecondaryOtpError(event) {\n this.updateEmailSecondaryOtpResolver?.reject(event.payload.message);\n }\n onSyncThemeSuccess() {\n this.syncThemeResolver?.resolve(undefined);\n }\n onSyncThemeError(event) {\n this.syncThemeResolver?.reject(event.payload.message);\n }\n onSyncDappDataSuccess() {\n this.syncDappDataResolver?.resolve(undefined);\n }\n onSyncDappDataError(event) {\n this.syncDappDataResolver?.reject(event.payload.message);\n }\n onSmartAccountEnabledNetworksSuccess(event) {\n this.persistSmartAccountEnabledNetworks(event.payload.smartAccountEnabledNetworks);\n this.smartAccountEnabledNetworksResolver?.resolve(event.payload);\n }\n onSmartAccountEnabledNetworksError(event) {\n this.persistSmartAccountEnabledNetworks([]);\n this.smartAccountEnabledNetworksResolver?.reject(event.payload.message);\n }\n onSetPreferredAccountSuccess() {\n this.setPreferredAccountResolver?.resolve(undefined);\n }\n onSetPreferredAccountError() {\n this.setPreferredAccountResolver?.reject();\n }\n setNewLastEmailLoginTime() {\n W3mFrameStorage.set(W3mFrameConstants.LAST_EMAIL_LOGIN_TIME, Date.now().toString());\n }\n setEmailLoginSuccess(email) {\n W3mFrameStorage.set(W3mFrameConstants.EMAIL, email);\n W3mFrameStorage.set(W3mFrameConstants.EMAIL_LOGIN_USED_KEY, 'true');\n W3mFrameStorage.delete(W3mFrameConstants.LAST_EMAIL_LOGIN_TIME);\n }\n deleteEmailLoginCache() {\n W3mFrameStorage.delete(W3mFrameConstants.EMAIL_LOGIN_USED_KEY);\n W3mFrameStorage.delete(W3mFrameConstants.EMAIL);\n W3mFrameStorage.delete(W3mFrameConstants.LAST_USED_CHAIN_KEY);\n }\n setLastUsedChainId(chainId) {\n W3mFrameStorage.set(W3mFrameConstants.LAST_USED_CHAIN_KEY, String(chainId));\n }\n getLastUsedChainId() {\n return Number(W3mFrameStorage.get(W3mFrameConstants.LAST_USED_CHAIN_KEY));\n }\n persistSmartAccountEnabledNetworks(networks) {\n W3mFrameStorage.set(W3mFrameConstants.SMART_ACCOUNT_ENABLED_NETWORKS, networks.join(','));\n }\n}\n//# sourceMappingURL=W3mFrameProvider.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController, ConnectionController, AssetController, CoreHelperUtil, EventsController, ModalController, NetworkController, RouterController, SnackController, StorageUtil, ConnectorController } from '@web3modal/core';\nimport { UiHelperUtil, customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nimport { W3mFrameRpcConstants } from '@web3modal/wallet';\nlet W3mAccountSettingsView = class W3mAccountSettingsView extends LitElement {\n constructor() {\n super();\n this.usubscribe = [];\n this.networkImages = AssetController.state.networkImages;\n this.address = AccountController.state.address;\n this.profileImage = AccountController.state.profileImage;\n this.profileName = AccountController.state.profileName;\n this.network = NetworkController.state.caipNetwork;\n this.preferredAccountType = AccountController.state.preferredAccountType;\n this.disconnecting = false;\n this.loading = false;\n this.usubscribe.push(...[\n AccountController.subscribe(val => {\n if (val.address) {\n this.address = val.address;\n this.profileImage = val.profileImage;\n this.profileName = val.profileName;\n this.preferredAccountType = val.preferredAccountType;\n }\n else {\n ModalController.close();\n }\n })\n ], NetworkController.subscribeKey('caipNetwork', val => {\n if (val?.id) {\n this.network = val;\n }\n }));\n }\n disconnectedCallback() {\n this.usubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n if (!this.address) {\n throw new Error('w3m-account-settings-view: No account provided');\n }\n const networkImage = this.networkImages[this.network?.imageId ?? ''];\n return html `\n \n \n \n \n \n ${this.profileName\n ? UiHelperUtil.getTruncateString({\n string: this.profileName,\n charsStart: 20,\n charsEnd: 0,\n truncate: 'end'\n })\n : UiHelperUtil.getTruncateString({\n string: this.address,\n charsStart: 4,\n charsEnd: 6,\n truncate: 'middle'\n })}\n \n \n \n \n \n\n \n \n ${this.emailBtnTemplate()}\n \n \n ${this.network?.name ?? 'Unknown'}\n \n \n ${this.togglePreferredAccountBtnTemplate()}\n \n Disconnect\n \n \n \n `;\n }\n isAllowedNetworkSwitch() {\n const { requestedCaipNetworks } = NetworkController.state;\n const isMultiNetwork = requestedCaipNetworks ? requestedCaipNetworks.length > 1 : false;\n const isValidNetwork = requestedCaipNetworks?.find(({ id }) => id === this.network?.id);\n return isMultiNetwork || !isValidNetwork;\n }\n onCopyAddress() {\n try {\n if (this.address) {\n CoreHelperUtil.copyToClopboard(this.address);\n SnackController.showSuccess('Address copied');\n }\n }\n catch {\n SnackController.showError('Failed to copy');\n }\n }\n emailBtnTemplate() {\n const type = StorageUtil.getConnectedConnector();\n const emailConnector = ConnectorController.getEmailConnector();\n if (!emailConnector || type !== 'EMAIL') {\n return null;\n }\n const email = emailConnector.provider.getEmail() ?? '';\n return html `\n this.onGoToUpdateEmail(email)}\n >\n ${email}\n \n `;\n }\n togglePreferredAccountBtnTemplate() {\n const networkEnabled = NetworkController.checkIfSmartAccountEnabled();\n const type = StorageUtil.getConnectedConnector();\n const emailConnector = ConnectorController.getEmailConnector();\n if (!emailConnector || type !== 'EMAIL' || !networkEnabled) {\n return null;\n }\n const text = this.preferredAccountType === W3mFrameRpcConstants.ACCOUNT_TYPES.SMART_ACCOUNT\n ? 'Switch to your EOA'\n : 'Switch to your smart account';\n return html `\n \n ${text}\n \n `;\n }\n async changePreferredAccountType() {\n const smartAccountEnabled = NetworkController.checkIfSmartAccountEnabled();\n const accountTypeTarget = this.preferredAccountType === W3mFrameRpcConstants.ACCOUNT_TYPES.SMART_ACCOUNT ||\n !smartAccountEnabled\n ? W3mFrameRpcConstants.ACCOUNT_TYPES.EOA\n : W3mFrameRpcConstants.ACCOUNT_TYPES.SMART_ACCOUNT;\n const emailConnector = ConnectorController.getEmailConnector();\n if (!emailConnector) {\n return;\n }\n this.loading = true;\n await emailConnector?.provider.setPreferredAccount(accountTypeTarget);\n this.loading = false;\n this.requestUpdate();\n }\n onGoToUpdateEmail(email) {\n RouterController.push('UpdateEmailWallet', { email });\n }\n onNetworks() {\n if (this.isAllowedNetworkSwitch()) {\n RouterController.push('Networks');\n }\n }\n async onDisconnect() {\n try {\n this.disconnecting = true;\n await ConnectionController.disconnect();\n EventsController.sendEvent({ type: 'track', event: 'DISCONNECT_SUCCESS' });\n ModalController.close();\n }\n catch {\n EventsController.sendEvent({ type: 'track', event: 'DISCONNECT_ERROR' });\n SnackController.showError('Failed to disconnect');\n }\n finally {\n this.disconnecting = false;\n }\n }\n};\nW3mAccountSettingsView.styles = styles;\n__decorate([\n state()\n], W3mAccountSettingsView.prototype, \"address\", void 0);\n__decorate([\n state()\n], W3mAccountSettingsView.prototype, \"profileImage\", void 0);\n__decorate([\n state()\n], W3mAccountSettingsView.prototype, \"profileName\", void 0);\n__decorate([\n state()\n], W3mAccountSettingsView.prototype, \"network\", void 0);\n__decorate([\n state()\n], W3mAccountSettingsView.prototype, \"preferredAccountType\", void 0);\n__decorate([\n state()\n], W3mAccountSettingsView.prototype, \"disconnecting\", void 0);\n__decorate([\n state()\n], W3mAccountSettingsView.prototype, \"loading\", void 0);\nW3mAccountSettingsView = __decorate([\n customElement('w3m-account-settings-view')\n], W3mAccountSettingsView);\nexport { W3mAccountSettingsView };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { OptionsController, StorageUtil } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nlet W3mAccountView = class W3mAccountView extends LitElement {\n render() {\n const type = StorageUtil.getConnectedConnector();\n return html `\n ${OptionsController.state.enableWalletFeatures && type === 'EMAIL'\n ? this.walletFeaturesTemplate()\n : this.defaultTemplate()}\n `;\n }\n walletFeaturesTemplate() {\n return html ``;\n }\n defaultTemplate() {\n return html ``;\n }\n};\nW3mAccountView = __decorate([\n customElement('w3m-account-view')\n], W3mAccountView);\nexport { W3mAccountView };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { CoreHelperUtil, RouterController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nlet W3mAllWalletsView = class W3mAllWalletsView extends LitElement {\n constructor() {\n super(...arguments);\n this.search = '';\n this.onDebouncedSearch = CoreHelperUtil.debounce((value) => {\n this.search = value;\n });\n }\n render() {\n const isSearch = this.search.length >= 2;\n return html `\n \n \n ${this.qrButtonTemplate()}\n \n ${isSearch\n ? html ``\n : html ``}\n `;\n }\n onInputChange(event) {\n this.onDebouncedSearch(event.detail);\n }\n qrButtonTemplate() {\n if (CoreHelperUtil.isMobile()) {\n return html `\n \n `;\n }\n return null;\n }\n onWalletConnectQr() {\n RouterController.push('ConnectingWalletConnect');\n }\n};\n__decorate([\n state()\n], W3mAllWalletsView.prototype, \"search\", void 0);\nW3mAllWalletsView = __decorate([\n customElement('w3m-all-wallets-view')\n], W3mAllWalletsView);\nexport { W3mAllWalletsView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n @keyframes shake {\n 0% {\n transform: translateX(0);\n }\n 25% {\n transform: translateX(3px);\n }\n 50% {\n transform: translateX(-3px);\n }\n 75% {\n transform: translateX(3px);\n }\n 100% {\n transform: translateX(0);\n }\n }\n\n wui-flex:first-child:not(:only-child) {\n position: relative;\n }\n\n wui-loading-thumbnail {\n position: absolute;\n }\n\n wui-visual {\n width: var(--wui-wallet-image-size-lg);\n height: var(--wui-wallet-image-size-lg);\n border-radius: calc(var(--wui-border-radius-5xs) * 9 - var(--wui-border-radius-xxs));\n position: relative;\n overflow: hidden;\n }\n\n wui-visual::after {\n content: '';\n display: block;\n width: 100%;\n height: 100%;\n position: absolute;\n inset: 0;\n border-radius: calc(var(--wui-border-radius-5xs) * 9 - var(--wui-border-radius-xxs));\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-005);\n }\n\n wui-icon-box {\n position: absolute;\n right: calc(var(--wui-spacing-3xs) * -1);\n bottom: calc(var(--wui-spacing-3xs) * -1);\n opacity: 0;\n transform: scale(0.5);\n transition:\n opacity var(--wui-ease-out-power-2) var(--wui-duration-lg),\n transform var(--wui-ease-out-power-2) var(--wui-duration-lg);\n will-change: opacity, transform;\n }\n\n wui-text[align='center'] {\n width: 100%;\n padding: 0px var(--wui-spacing-l);\n }\n\n [data-error='true'] wui-icon-box {\n opacity: 1;\n transform: scale(1);\n }\n\n [data-error='true'] > wui-flex:first-child {\n animation: shake 250ms cubic-bezier(0.36, 0.07, 0.19, 0.97) both;\n }\n\n [data-retry='false'] wui-link {\n display: none;\n }\n\n [data-retry='true'] wui-link {\n display: block;\n opacity: 1;\n }\n\n wui-link {\n padding: var(--wui-spacing-4xs) var(--wui-spacing-xxs);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController, ConnectionController, CoreHelperUtil, OnRampController, RouterController, SnackController, ThemeController, BlockchainApiController, OptionsController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nlet W3mBuyInProgressView = class W3mBuyInProgressView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.selectedOnRampProvider = OnRampController.state.selectedProvider;\n this.uri = ConnectionController.state.wcUri;\n this.ready = false;\n this.showRetry = false;\n this.buffering = false;\n this.error = false;\n this.startTime = null;\n this.isMobile = false;\n this.onRetry = undefined;\n this.unsubscribe.push(...[\n OnRampController.subscribeKey('selectedProvider', val => {\n this.selectedOnRampProvider = val;\n })\n ]);\n this.watchTransactions();\n }\n disconnectedCallback() {\n if (this.intervalId) {\n clearInterval(this.intervalId);\n }\n }\n render() {\n let label = 'Continue in external window';\n if (this.error) {\n label = 'Buy failed';\n }\n else if (this.selectedOnRampProvider) {\n label = `Buy in ${this.selectedOnRampProvider?.label}`;\n }\n const subLabel = this.error\n ? 'Buy can be declined from your side or due to and error on the provider app'\n : `We’ll notify you once your Buy is processed`;\n return html `\n \n \n \n \n\n ${this.error ? null : this.loaderTemplate()}\n\n \n \n\n \n \n ${label}\n \n ${subLabel}\n \n\n ${this.error ? this.tryAgainTemplate() : null}\n \n\n \n \n \n Copy link\n \n \n `;\n }\n watchTransactions() {\n if (!this.selectedOnRampProvider) {\n return;\n }\n switch (this.selectedOnRampProvider.name) {\n case 'coinbase':\n this.startTime = Date.now();\n this.initializeCoinbaseTransactions();\n break;\n default:\n break;\n }\n }\n async initializeCoinbaseTransactions() {\n await this.watchCoinbaseTransactions();\n this.intervalId = setInterval(() => this.watchCoinbaseTransactions(), 4000);\n }\n async watchCoinbaseTransactions() {\n try {\n const address = AccountController.state.address;\n const projectId = OptionsController.state.projectId;\n if (!address) {\n throw new Error('No address found');\n }\n const coinbaseResponse = await BlockchainApiController.fetchTransactions({\n account: address,\n onramp: 'coinbase',\n projectId\n });\n const newTransactions = coinbaseResponse.data.filter(tx => new Date(tx.metadata.minedAt) > new Date(this.startTime) ||\n tx.metadata.status === 'ONRAMP_TRANSACTION_STATUS_IN_PROGRESS');\n if (newTransactions.length) {\n clearInterval(this.intervalId);\n RouterController.replace('OnRampActivity');\n }\n else if (this.startTime && Date.now() - this.startTime >= 180000) {\n clearInterval(this.intervalId);\n this.error = true;\n }\n }\n catch (error) {\n SnackController.showError(error);\n }\n }\n onTryAgain() {\n if (!this.selectedOnRampProvider) {\n return;\n }\n this.error = false;\n CoreHelperUtil.openHref(this.selectedOnRampProvider.url, 'popupWindow', 'width=600,height=800,scrollbars=yes');\n }\n tryAgainTemplate() {\n if (!this.selectedOnRampProvider?.url) {\n return null;\n }\n return html `\n \n Try again\n `;\n }\n loaderTemplate() {\n const borderRadiusMaster = ThemeController.state.themeVariables['--w3m-border-radius-master'];\n const radius = borderRadiusMaster ? parseInt(borderRadiusMaster.replace('px', ''), 10) : 4;\n return html ``;\n }\n onCopyUri() {\n if (!this.selectedOnRampProvider?.url) {\n SnackController.showError('No link found');\n RouterController.goBack();\n return;\n }\n try {\n CoreHelperUtil.copyToClopboard(this.selectedOnRampProvider.url);\n SnackController.showSuccess('Link copied');\n }\n catch {\n SnackController.showError('Failed to copy');\n }\n }\n};\nW3mBuyInProgressView.styles = styles;\n__decorate([\n state()\n], W3mBuyInProgressView.prototype, \"selectedOnRampProvider\", void 0);\n__decorate([\n state()\n], W3mBuyInProgressView.prototype, \"uri\", void 0);\n__decorate([\n state()\n], W3mBuyInProgressView.prototype, \"ready\", void 0);\n__decorate([\n state()\n], W3mBuyInProgressView.prototype, \"showRetry\", void 0);\n__decorate([\n state()\n], W3mBuyInProgressView.prototype, \"buffering\", void 0);\n__decorate([\n state()\n], W3mBuyInProgressView.prototype, \"error\", void 0);\n__decorate([\n state()\n], W3mBuyInProgressView.prototype, \"intervalId\", void 0);\n__decorate([\n state()\n], W3mBuyInProgressView.prototype, \"startTime\", void 0);\n__decorate([\n property({ type: Boolean })\n], W3mBuyInProgressView.prototype, \"isMobile\", void 0);\n__decorate([\n property()\n], W3mBuyInProgressView.prototype, \"onRetry\", void 0);\nW3mBuyInProgressView = __decorate([\n customElement('w3m-buy-in-progress-view')\n], W3mBuyInProgressView);\nexport { W3mBuyInProgressView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-flex {\n max-height: clamp(360px, 540px, 80vh);\n overflow: scroll;\n scrollbar-width: none;\n }\n\n wui-flex::-webkit-scrollbar {\n display: none;\n }\n`;\n//# sourceMappingURL=styles.js.map","export const ConstantsUtil = {\n WALLET_CONNECT_CONNECTOR_ID: 'walletConnect',\n INJECTED_CONNECTOR_ID: 'injected',\n COINBASE_CONNECTOR_ID: 'coinbaseWallet',\n COINBASE_SDK_CONNECTOR_ID: 'coinbaseWalletSDK',\n SAFE_CONNECTOR_ID: 'safe',\n LEDGER_CONNECTOR_ID: 'ledger',\n EIP6963_CONNECTOR_ID: 'eip6963',\n EMAIL_CONNECTOR_ID: 'w3mEmail',\n EIP155: 'eip155',\n ADD_CHAIN_METHOD: 'wallet_addEthereumChain',\n EIP6963_ANNOUNCE_EVENT: 'eip6963:announceProvider',\n EIP6963_REQUEST_EVENT: 'eip6963:requestProvider',\n CONNECTOR_RDNS_MAP: {\n coinbaseWallet: 'com.coinbase.wallet'\n },\n VERSION: '4.1.11'\n};\n//# sourceMappingURL=ConstantsUtil.js.map","import { ConstantsUtil } from './ConstantsUtil.js';\nexport const PresetsUtil = {\n ConnectorExplorerIds: {\n [ConstantsUtil.COINBASE_CONNECTOR_ID]: 'fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa',\n [ConstantsUtil.SAFE_CONNECTOR_ID]: '225affb176778569276e484e1b92637ad061b01e13a048b35a9d280c3b58970f',\n [ConstantsUtil.LEDGER_CONNECTOR_ID]: '19177a98252e07ddfc9af2083ba8e07ef627cb6103467ffebb3f8f4205fd7927'\n },\n EIP155NetworkImageIds: {\n 1: '692ed6ba-e569-459a-556a-776476829e00',\n 42161: '3bff954d-5cb0-47a0-9a23-d20192e74600',\n 43114: '30c46e53-e989-45fb-4549-be3bd4eb3b00',\n 56: '93564157-2e8e-4ce7-81df-b264dbee9b00',\n 250: '06b26297-fe0c-4733-5d6b-ffa5498aac00',\n 10: 'ab9c186a-c52f-464b-2906-ca59d760a400',\n 137: '41d04d42-da3b-4453-8506-668cc0727900',\n 100: '02b53f6a-e3d4-479e-1cb4-21178987d100',\n 9001: 'f926ff41-260d-4028-635e-91913fc28e00',\n 324: 'b310f07f-4ef7-49f3-7073-2a0a39685800',\n 314: '5a73b3dd-af74-424e-cae0-0de859ee9400',\n 4689: '34e68754-e536-40da-c153-6ef2e7188a00',\n 1088: '3897a66d-40b9-4833-162f-a2c90531c900',\n 1284: '161038da-44ae-4ec7-1208-0ea569454b00',\n 1285: 'f1d73bb6-5450-4e18-38f7-fb6484264a00',\n 7777777: '845c60df-d429-4991-e687-91ae45791600',\n 42220: 'ab781bbc-ccc6-418d-d32d-789b15da1f00',\n 8453: '7289c336-3981-4081-c5f4-efc26ac64a00',\n 1313161554: '3ff73439-a619-4894-9262-4470c773a100',\n 2020: 'b8101fc0-9c19-4b6f-ec65-f6dfff106e00',\n 2021: 'b8101fc0-9c19-4b6f-ec65-f6dfff106e00',\n '5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp': 'a1b58899-f671-4276-6a5e-56ca5bd59700',\n '4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z': 'a1b58899-f671-4276-6a5e-56ca5bd59700',\n EtWTRABZaYq6iMfeYKouRu166VU2xqa1: 'a1b58899-f671-4276-6a5e-56ca5bd59700'\n },\n ConnectorImageIds: {\n [ConstantsUtil.COINBASE_CONNECTOR_ID]: '0c2840c3-5b04-4c44-9661-fbd4b49e1800',\n [ConstantsUtil.COINBASE_SDK_CONNECTOR_ID]: '0c2840c3-5b04-4c44-9661-fbd4b49e1800',\n [ConstantsUtil.SAFE_CONNECTOR_ID]: '461db637-8616-43ce-035a-d89b8a1d5800',\n [ConstantsUtil.LEDGER_CONNECTOR_ID]: '54a1aa77-d202-4f8d-0fb2-5d2bb6db0300',\n [ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID]: 'ef1a1fcf-7fe8-4d69-bd6d-fda1345b4400',\n [ConstantsUtil.INJECTED_CONNECTOR_ID]: '07ba87ed-43aa-4adf-4540-9e6a2b9cae00'\n },\n ConnectorNamesMap: {\n [ConstantsUtil.INJECTED_CONNECTOR_ID]: 'Browser Wallet',\n [ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID]: 'WalletConnect',\n [ConstantsUtil.COINBASE_CONNECTOR_ID]: 'Coinbase',\n [ConstantsUtil.COINBASE_SDK_CONNECTOR_ID]: 'Coinbase',\n [ConstantsUtil.LEDGER_CONNECTOR_ID]: 'Ledger',\n [ConstantsUtil.SAFE_CONNECTOR_ID]: 'Safe'\n },\n ConnectorTypesMap: {\n [ConstantsUtil.INJECTED_CONNECTOR_ID]: 'INJECTED',\n [ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID]: 'WALLET_CONNECT',\n [ConstantsUtil.EIP6963_CONNECTOR_ID]: 'ANNOUNCED',\n [ConstantsUtil.EMAIL_CONNECTOR_ID]: 'EMAIL'\n },\n WalletConnectRpcChainIds: [\n 1,\n 5,\n 11155111,\n 10,\n 420,\n 42161,\n 421613,\n 137,\n 80001,\n 42220,\n 1313161554,\n 1313161555,\n 56,\n 97,\n 43114,\n 43113,\n 100,\n 8453,\n 84531,\n 7777777,\n 999,\n 324,\n 280\n ]\n};\n//# sourceMappingURL=PresetsUtil.js.map","import { ConstantsUtil } from './ConstantsUtil.js';\nexport const HelpersUtil = {\n getCaipTokens(tokens) {\n if (!tokens) {\n return undefined;\n }\n const caipTokens = {};\n Object.entries(tokens).forEach(([id, token]) => {\n caipTokens[`${ConstantsUtil.EIP155}:${id}`] = token;\n });\n return caipTokens;\n }\n};\n//# sourceMappingURL=HelpersUtil.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ApiController, AssetUtil, ConnectionController, ConnectorController, CoreHelperUtil, EventsController, OptionsController, RouterController, StorageUtil } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nimport { ConstantsUtil } from '@web3modal/scaffold-utils';\nlet W3mConnectView = class W3mConnectView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.connectors = ConnectorController.state.connectors;\n this.count = ApiController.state.count;\n this.unsubscribe.push(ConnectorController.subscribeKey('connectors', val => (this.connectors = val)), ApiController.subscribeKey('count', val => (this.count = val)));\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return html `\n \n \n\n ${this.walletConnectConnectorTemplate()} ${this.recentTemplate()}\n ${this.announcedTemplate()} ${this.injectedTemplate()} ${this.featuredTemplate()}\n ${this.customTemplate()} ${this.recommendedTemplate()} ${this.externalTemplate()}\n ${this.allWalletsTemplate()}\n \n \n `;\n }\n walletConnectConnectorTemplate() {\n if (CoreHelperUtil.isMobile()) {\n return null;\n }\n const connector = this.connectors.find(c => c.type === 'WALLET_CONNECT');\n if (!connector) {\n return null;\n }\n return html `\n this.onConnector(connector)}\n tagLabel=\"qr code\"\n tagVariant=\"main\"\n data-testid=\"wallet-selector-walletconnect\"\n >\n \n `;\n }\n customTemplate() {\n const { customWallets } = OptionsController.state;\n if (!customWallets?.length) {\n return null;\n }\n const wallets = this.filterOutDuplicateWallets(customWallets);\n return wallets.map(wallet => html `\n this.onConnectWallet(wallet)}\n data-testid=${`wallet-selector-${wallet.id}`}\n >\n \n `);\n }\n featuredTemplate() {\n const connector = this.connectors.find(c => c.type === 'WALLET_CONNECT');\n if (!connector) {\n return null;\n }\n const { featured } = ApiController.state;\n if (!featured.length) {\n return null;\n }\n const wallets = this.filterOutDuplicateWallets(featured);\n return wallets.map(wallet => html `\n this.onConnectWallet(wallet)}\n >\n \n `);\n }\n recentTemplate() {\n const recent = StorageUtil.getRecentWallets();\n return recent.map(wallet => html `\n this.onConnectWallet(wallet)}\n tagLabel=\"recent\"\n tagVariant=\"shade\"\n >\n \n `);\n }\n announcedTemplate() {\n return this.connectors.map(connector => {\n if (connector.type !== 'ANNOUNCED') {\n return null;\n }\n return html `\n this.onConnector(connector)}\n tagVariant=\"success\"\n .installed=${true}\n >\n \n `;\n });\n }\n injectedTemplate() {\n return this.connectors.map(connector => {\n if (connector.type !== 'INJECTED') {\n return null;\n }\n if (!ConnectionController.checkInstalled()) {\n return null;\n }\n return html `\n this.onConnector(connector)}\n >\n \n `;\n });\n }\n externalTemplate() {\n const announcedRdns = ConnectorController.getAnnouncedConnectorRdns();\n return this.connectors.map(connector => {\n if (['WALLET_CONNECT', 'INJECTED', 'ANNOUNCED', 'EMAIL'].includes(connector.type)) {\n return null;\n }\n if (announcedRdns.includes(ConstantsUtil.CONNECTOR_RDNS_MAP[connector.id])) {\n return null;\n }\n return html `\n this.onConnector(connector)}\n >\n \n `;\n });\n }\n allWalletsTemplate() {\n const connector = this.connectors.find(c => c.type === 'WALLET_CONNECT');\n const { allWallets } = OptionsController.state;\n if (!connector || allWallets === 'HIDE') {\n return null;\n }\n if (allWallets === 'ONLY_MOBILE' && !CoreHelperUtil.isMobile()) {\n return null;\n }\n const featuredCount = ApiController.state.featured.length;\n const rawCount = this.count + featuredCount;\n const roundedCount = rawCount < 10 ? rawCount : Math.floor(rawCount / 10) * 10;\n const tagLabel = roundedCount < rawCount ? `${roundedCount}+` : `${roundedCount}`;\n return html `\n \n `;\n }\n recommendedTemplate() {\n const connector = this.connectors.find(c => c.type === 'WALLET_CONNECT');\n if (!connector) {\n return null;\n }\n const { recommended } = ApiController.state;\n const { customWallets, featuredWalletIds } = OptionsController.state;\n const { connectors } = ConnectorController.state;\n const recent = StorageUtil.getRecentWallets();\n const injected = connectors.filter(c => c.type === 'INJECTED');\n const filteredInjected = injected.filter(i => i.name !== 'Browser Wallet');\n if (featuredWalletIds || customWallets || !recommended.length) {\n return null;\n }\n const overrideLength = filteredInjected.length + recent.length;\n const maxRecommended = Math.max(0, 2 - overrideLength);\n const wallets = this.filterOutDuplicateWallets(recommended).slice(0, maxRecommended);\n return wallets.map(wallet => html `\n this.onConnectWallet(wallet)}\n >\n \n `);\n }\n onConnector(connector) {\n if (connector.type === 'WALLET_CONNECT') {\n if (CoreHelperUtil.isMobile()) {\n RouterController.push('AllWallets');\n }\n else {\n RouterController.push('ConnectingWalletConnect');\n }\n }\n else {\n RouterController.push('ConnectingExternal', { connector });\n }\n }\n filterOutDuplicateWallets(wallets) {\n const recent = StorageUtil.getRecentWallets();\n const connectorRDNSs = this.connectors\n .map(connector => connector.info?.rdns)\n .filter(Boolean);\n const recentRDNSs = recent.map(wallet => wallet.rdns).filter(Boolean);\n const allRDNSs = connectorRDNSs.concat(recentRDNSs);\n const filtered = wallets.filter(wallet => !allRDNSs.includes(String(wallet?.rdns)));\n return filtered;\n }\n onAllWallets() {\n EventsController.sendEvent({ type: 'track', event: 'CLICK_ALL_WALLETS' });\n RouterController.push('AllWallets');\n }\n onConnectWallet(wallet) {\n RouterController.push('ConnectingWalletConnect', { wallet });\n }\n};\nW3mConnectView.styles = styles;\n__decorate([\n state()\n], W3mConnectView.prototype, \"connectors\", void 0);\n__decorate([\n state()\n], W3mConnectView.prototype, \"count\", void 0);\nW3mConnectView = __decorate([\n customElement('w3m-connect-view')\n], W3mConnectView);\nexport { W3mConnectView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n @keyframes shake {\n 0% {\n transform: translateX(0);\n }\n 25% {\n transform: translateX(3px);\n }\n 50% {\n transform: translateX(-3px);\n }\n 75% {\n transform: translateX(3px);\n }\n 100% {\n transform: translateX(0);\n }\n }\n\n wui-flex:first-child:not(:only-child) {\n position: relative;\n }\n\n wui-loading-thumbnail {\n position: absolute;\n }\n\n wui-icon-box {\n position: absolute;\n right: calc(var(--wui-spacing-3xs) * -1);\n bottom: calc(var(--wui-spacing-3xs) * -1);\n opacity: 0;\n transform: scale(0.5);\n transition-property: opacity, transform;\n transition-duration: var(--wui-duration-lg);\n transition-timing-function: var(--wui-ease-out-power-2);\n will-change: opacity, transform;\n }\n\n wui-text[align='center'] {\n width: 100%;\n padding: 0px var(--wui-spacing-l);\n }\n\n [data-error='true'] wui-icon-box {\n opacity: 1;\n transform: scale(1);\n }\n\n [data-error='true'] > wui-flex:first-child {\n animation: shake 250ms cubic-bezier(0.36, 0.07, 0.19, 0.97) both;\n }\n\n [data-retry='false'] wui-link {\n display: none;\n }\n\n [data-retry='true'] wui-link {\n display: block;\n opacity: 1;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AssetUtil, ConnectionController, CoreHelperUtil, RouterController, SnackController, ThemeController } from '@web3modal/core';\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nexport class W3mConnectingWidget extends LitElement {\n constructor() {\n super();\n this.wallet = RouterController.state.data?.wallet;\n this.connector = RouterController.state.data?.connector;\n this.timeout = undefined;\n this.secondaryBtnLabel = 'Try again';\n this.secondaryBtnIcon = 'refresh';\n this.secondaryLabel = 'Accept connection request in the wallet';\n this.onConnect = undefined;\n this.onRender = undefined;\n this.onAutoConnect = undefined;\n this.isWalletConnect = true;\n this.unsubscribe = [];\n this.imageSrc = AssetUtil.getWalletImage(this.wallet) ?? AssetUtil.getConnectorImage(this.connector);\n this.name = this.wallet?.name ?? this.connector?.name ?? 'Wallet';\n this.isRetrying = false;\n this.uri = ConnectionController.state.wcUri;\n this.error = ConnectionController.state.wcError;\n this.ready = false;\n this.showRetry = false;\n this.buffering = false;\n this.isMobile = false;\n this.onRetry = undefined;\n this.unsubscribe.push(...[\n ConnectionController.subscribeKey('wcUri', val => {\n this.uri = val;\n if (this.isRetrying && this.onRetry) {\n this.isRetrying = false;\n this.onConnect?.();\n }\n }),\n ConnectionController.subscribeKey('wcError', val => (this.error = val)),\n ConnectionController.subscribeKey('buffering', val => (this.buffering = val))\n ]);\n }\n firstUpdated() {\n this.onAutoConnect?.();\n this.showRetry = !this.onAutoConnect;\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n clearTimeout(this.timeout);\n }\n render() {\n this.onRender?.();\n this.onShowRetry();\n const subLabel = this.error\n ? 'Connection can be declined if a previous request is still active'\n : this.secondaryLabel;\n let label = `Continue in ${this.name}`;\n if (this.buffering) {\n label = 'Connecting...';\n }\n if (this.error) {\n label = 'Connection declined';\n }\n return html `\n \n \n \n\n ${this.error ? null : this.loaderTemplate()}\n\n \n \n\n \n \n ${label}\n \n ${subLabel}\n \n\n \n \n ${this.secondaryBtnLabel}\n \n \n\n ${this.isWalletConnect\n ? html `\n \n \n \n Copy link\n \n \n `\n : null}\n\n \n `;\n }\n onShowRetry() {\n if (this.error && !this.showRetry) {\n this.showRetry = true;\n const retryButton = this.shadowRoot?.querySelector('wui-button');\n retryButton?.animate([{ opacity: 0 }, { opacity: 1 }], {\n fill: 'forwards',\n easing: 'ease'\n });\n }\n }\n onTryAgain() {\n if (!this.buffering) {\n ConnectionController.setWcError(false);\n if (this.onRetry) {\n this.isRetrying = true;\n this.onRetry?.();\n }\n else {\n this.onConnect?.();\n }\n }\n }\n loaderTemplate() {\n const borderRadiusMaster = ThemeController.state.themeVariables['--w3m-border-radius-master'];\n const radius = borderRadiusMaster ? parseInt(borderRadiusMaster.replace('px', ''), 10) : 4;\n return html ``;\n }\n onCopyUri() {\n try {\n if (this.uri) {\n CoreHelperUtil.copyToClopboard(this.uri);\n SnackController.showSuccess('Link copied');\n }\n }\n catch {\n SnackController.showError('Failed to copy');\n }\n }\n}\nW3mConnectingWidget.styles = styles;\n__decorate([\n state()\n], W3mConnectingWidget.prototype, \"uri\", void 0);\n__decorate([\n state()\n], W3mConnectingWidget.prototype, \"error\", void 0);\n__decorate([\n state()\n], W3mConnectingWidget.prototype, \"ready\", void 0);\n__decorate([\n state()\n], W3mConnectingWidget.prototype, \"showRetry\", void 0);\n__decorate([\n state()\n], W3mConnectingWidget.prototype, \"buffering\", void 0);\n__decorate([\n property({ type: Boolean })\n], W3mConnectingWidget.prototype, \"isMobile\", void 0);\n__decorate([\n property()\n], W3mConnectingWidget.prototype, \"onRetry\", void 0);\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ConnectionController, EventsController, ModalController, OptionsController, RouterController, StorageUtil } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { W3mConnectingWidget } from '../../utils/w3m-connecting-widget/index.js';\nlet W3mConnectingExternalView = class W3mConnectingExternalView extends W3mConnectingWidget {\n constructor() {\n super();\n if (!this.connector) {\n throw new Error('w3m-connecting-view: No connector provided');\n }\n EventsController.sendEvent({\n type: 'track',\n event: 'SELECT_WALLET',\n properties: {\n name: this.connector.name ?? 'Unknown',\n platform: 'browser'\n }\n });\n this.onConnect = this.onConnectProxy.bind(this);\n this.onAutoConnect = this.onConnectProxy.bind(this);\n this.isWalletConnect = false;\n }\n async onConnectProxy() {\n try {\n this.error = false;\n if (this.connector) {\n if (this.connector.imageUrl) {\n StorageUtil.setConnectedWalletImageUrl(this.connector.imageUrl);\n }\n await ConnectionController.connectExternal(this.connector);\n if (OptionsController.state.isSiweEnabled) {\n RouterController.push('ConnectingSiwe');\n }\n else {\n ModalController.close();\n }\n EventsController.sendEvent({\n type: 'track',\n event: 'CONNECT_SUCCESS',\n properties: { method: 'browser', name: this.connector.name || 'Unknown' }\n });\n }\n }\n catch (error) {\n EventsController.sendEvent({\n type: 'track',\n event: 'CONNECT_ERROR',\n properties: { message: error?.message ?? 'Unknown' }\n });\n this.error = true;\n }\n }\n};\nW3mConnectingExternalView = __decorate([\n customElement('w3m-connecting-external-view')\n], W3mConnectingExternalView);\nexport { W3mConnectingExternalView };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AssetUtil, ConnectionController, ConnectorController, ConstantsUtil, CoreHelperUtil, EventsController, ModalController, OptionsController, RouterController, SnackController, StorageUtil } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nlet W3mConnectingWcView = class W3mConnectingWcView extends LitElement {\n constructor() {\n super();\n this.interval = undefined;\n this.lastRetry = Date.now();\n this.wallet = RouterController.state.data?.wallet;\n this.platform = undefined;\n this.platforms = [];\n this.initializeConnection();\n this.interval = setInterval(this.initializeConnection.bind(this), ConstantsUtil.TEN_SEC_MS);\n }\n disconnectedCallback() {\n clearTimeout(this.interval);\n }\n render() {\n if (!this.wallet) {\n return html ``;\n }\n this.determinePlatforms();\n return html `\n ${this.headerTemplate()}\n
${this.platformTemplate()}
\n `;\n }\n async initializeConnection(retry = false) {\n try {\n const { wcPairingExpiry } = ConnectionController.state;\n if (retry || CoreHelperUtil.isPairingExpired(wcPairingExpiry)) {\n ConnectionController.connectWalletConnect();\n if (this.wallet) {\n const url = AssetUtil.getWalletImage(this.wallet);\n if (url) {\n StorageUtil.setConnectedWalletImageUrl(url);\n }\n }\n else {\n const connectors = ConnectorController.state.connectors;\n const connector = connectors.find(c => c.type === 'WALLET_CONNECT');\n const url = AssetUtil.getConnectorImage(connector);\n if (url) {\n StorageUtil.setConnectedWalletImageUrl(url);\n }\n }\n await ConnectionController.state.wcPromise;\n this.finalizeConnection();\n if (OptionsController.state.isSiweEnabled) {\n RouterController.push('ConnectingSiwe');\n }\n else {\n ModalController.close();\n }\n }\n }\n catch (error) {\n EventsController.sendEvent({\n type: 'track',\n event: 'CONNECT_ERROR',\n properties: { message: error?.message ?? 'Unknown' }\n });\n ConnectionController.setWcError(true);\n if (CoreHelperUtil.isAllowedRetry(this.lastRetry)) {\n SnackController.showError('Declined');\n this.lastRetry = Date.now();\n this.initializeConnection(true);\n }\n }\n }\n finalizeConnection() {\n const { wcLinking, recentWallet } = ConnectionController.state;\n if (wcLinking) {\n StorageUtil.setWalletConnectDeepLink(wcLinking);\n }\n if (recentWallet) {\n StorageUtil.setWeb3ModalRecent(recentWallet);\n }\n EventsController.sendEvent({\n type: 'track',\n event: 'CONNECT_SUCCESS',\n properties: {\n method: wcLinking ? 'mobile' : 'qrcode',\n name: this.wallet?.name || 'Unknown'\n }\n });\n }\n determinePlatforms() {\n if (!this.wallet) {\n throw new Error('w3m-connecting-wc-view:determinePlatforms No wallet');\n }\n if (this.platform) {\n return;\n }\n const { mobile_link, desktop_link, webapp_link, injected, rdns } = this.wallet;\n const injectedIds = injected?.map(({ injected_id }) => injected_id).filter(Boolean);\n const browserIds = rdns ? [rdns] : injectedIds ?? [];\n const isBrowser = browserIds.length;\n const isMobileWc = mobile_link;\n const isWebWc = webapp_link;\n const isBrowserInstalled = ConnectionController.checkInstalled(browserIds);\n const isBrowserWc = isBrowser && isBrowserInstalled;\n const isDesktopWc = desktop_link && !CoreHelperUtil.isMobile();\n if (isBrowserWc) {\n this.platforms.push('browser');\n }\n if (isMobileWc) {\n this.platforms.push(CoreHelperUtil.isMobile() ? 'mobile' : 'qrcode');\n }\n if (isWebWc) {\n this.platforms.push('web');\n }\n if (isDesktopWc) {\n this.platforms.push('desktop');\n }\n if (!isBrowserWc && isBrowser) {\n this.platforms.push('unsupported');\n }\n this.platform = this.platforms[0];\n }\n platformTemplate() {\n switch (this.platform) {\n case 'browser':\n return html ``;\n case 'desktop':\n return html `\n this.initializeConnection(true)}>\n \n `;\n case 'web':\n return html `\n this.initializeConnection(true)}>\n \n `;\n case 'mobile':\n return html `\n this.initializeConnection(true)}>\n \n `;\n case 'qrcode':\n return html ``;\n default:\n return html ``;\n }\n }\n headerTemplate() {\n const multiPlatform = this.platforms.length > 1;\n if (!multiPlatform) {\n return null;\n }\n return html `\n \n \n `;\n }\n async onSelectPlatform(platform) {\n const container = this.shadowRoot?.querySelector('div');\n if (container) {\n await container.animate([{ opacity: 1 }, { opacity: 0 }], {\n duration: 200,\n fill: 'forwards',\n easing: 'ease'\n }).finished;\n this.platform = platform;\n container.animate([{ opacity: 0 }, { opacity: 1 }], {\n duration: 200,\n fill: 'forwards',\n easing: 'ease'\n });\n }\n }\n};\n__decorate([\n state()\n], W3mConnectingWcView.prototype, \"platform\", void 0);\n__decorate([\n state()\n], W3mConnectingWcView.prototype, \"platforms\", void 0);\nW3mConnectingWcView = __decorate([\n customElement('w3m-connecting-wc-view')\n], W3mConnectingWcView);\nexport { W3mConnectingWcView };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { CoreHelperUtil, RouterController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nlet W3mDownloadsView = class W3mDownloadsView extends LitElement {\n constructor() {\n super(...arguments);\n this.wallet = RouterController.state.data?.wallet;\n }\n render() {\n if (!this.wallet) {\n throw new Error('w3m-downloads-view');\n }\n return html `\n \n ${this.chromeTemplate()} ${this.iosTemplate()} ${this.androidTemplate()}\n ${this.homepageTemplate()}\n \n `;\n }\n chromeTemplate() {\n if (!this.wallet?.chrome_store) {\n return null;\n }\n return html `\n Chrome Extension\n `;\n }\n iosTemplate() {\n if (!this.wallet?.app_store) {\n return null;\n }\n return html `\n iOS App\n `;\n }\n androidTemplate() {\n if (!this.wallet?.play_store) {\n return null;\n }\n return html `\n Android App\n `;\n }\n homepageTemplate() {\n if (!this.wallet?.homepage) {\n return null;\n }\n return html `\n \n Website\n \n `;\n }\n onChromeStore() {\n if (this.wallet?.chrome_store) {\n CoreHelperUtil.openHref(this.wallet.chrome_store, '_blank');\n }\n }\n onAppStore() {\n if (this.wallet?.app_store) {\n CoreHelperUtil.openHref(this.wallet.app_store, '_blank');\n }\n }\n onPlayStore() {\n if (this.wallet?.play_store) {\n CoreHelperUtil.openHref(this.wallet.play_store, '_blank');\n }\n }\n onHomePage() {\n if (this.wallet?.homepage) {\n CoreHelperUtil.openHref(this.wallet.homepage, '_blank');\n }\n }\n};\nW3mDownloadsView = __decorate([\n customElement('w3m-downloads-view')\n], W3mDownloadsView);\nexport { W3mDownloadsView };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ApiController, AssetUtil, CoreHelperUtil, OptionsController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nconst EXPLORER = 'https://walletconnect.com/explorer';\nlet W3mGetWalletView = class W3mGetWalletView extends LitElement {\n render() {\n return html `\n \n ${this.recommendedWalletsTemplate()}\n {\n CoreHelperUtil.openHref('https://walletconnect.com/explorer?type=wallet', '_blank');\n }}\n >\n \n `;\n }\n recommendedWalletsTemplate() {\n const { recommended, featured } = ApiController.state;\n const { customWallets } = OptionsController.state;\n const wallets = [...featured, ...(customWallets ?? []), ...recommended].slice(0, 4);\n return wallets.map(wallet => html `\n {\n CoreHelperUtil.openHref(wallet.homepage ?? EXPLORER, '_blank');\n }}\n >\n `);\n }\n};\nW3mGetWalletView = __decorate([\n customElement('w3m-get-wallet-view')\n], W3mGetWalletView);\nexport { W3mGetWalletView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n @keyframes shake {\n 0% {\n transform: translateX(0);\n }\n 25% {\n transform: translateX(3px);\n }\n 50% {\n transform: translateX(-3px);\n }\n 75% {\n transform: translateX(3px);\n }\n 100% {\n transform: translateX(0);\n }\n }\n\n wui-flex:first-child:not(:only-child) {\n position: relative;\n }\n\n wui-loading-hexagon {\n position: absolute;\n }\n\n wui-icon-box {\n position: absolute;\n right: 4px;\n bottom: 0;\n opacity: 0;\n transform: scale(0.5);\n z-index: 1;\n }\n\n wui-button {\n display: none;\n }\n\n [data-error='true'] wui-icon-box {\n opacity: 1;\n transform: scale(1);\n }\n\n [data-error='true'] > wui-flex:first-child {\n animation: shake 250ms cubic-bezier(0.36, 0.07, 0.19, 0.97) both;\n }\n\n wui-button[data-retry='true'] {\n display: block;\n opacity: 1;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AssetUtil, ConnectorController, NetworkController, OptionsController, RouterController, RouterUtil, StorageUtil } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nlet W3mNetworkSwitchView = class W3mNetworkSwitchView extends LitElement {\n constructor() {\n super();\n this.network = RouterController.state.data?.network;\n this.unsubscribe = [];\n this.showRetry = false;\n this.error = false;\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n firstUpdated() {\n this.onSwitchNetwork();\n }\n render() {\n if (!this.network) {\n throw new Error('w3m-network-switch-view: No network provided');\n }\n this.onShowRetry();\n const label = this.getLabel();\n const subLabel = this.getSubLabel();\n return html `\n \n \n \n\n ${this.error ? null : html ``}\n\n \n \n\n \n ${label}\n ${subLabel}\n \n\n \n \n Try again\n \n \n `;\n }\n getSubLabel() {\n const type = StorageUtil.getConnectedConnector();\n const emailConnector = ConnectorController.getEmailConnector();\n if (emailConnector && type === 'EMAIL') {\n return '';\n }\n return this.error\n ? 'Switch can be declined if chain is not supported by a wallet or previous request is still active'\n : 'Accept connection request in your wallet';\n }\n getLabel() {\n const type = StorageUtil.getConnectedConnector();\n const emailConnector = ConnectorController.getEmailConnector();\n if (emailConnector && type === 'EMAIL') {\n return `Switching to ${this.network?.name ?? 'Unknown'} network...`;\n }\n return this.error ? 'Switch declined' : 'Approve in wallet';\n }\n onShowRetry() {\n if (this.error && !this.showRetry) {\n this.showRetry = true;\n const retryButton = this.shadowRoot?.querySelector('wui-button');\n retryButton?.animate([{ opacity: 0 }, { opacity: 1 }], {\n fill: 'forwards',\n easing: 'ease'\n });\n }\n }\n async onSwitchNetwork() {\n try {\n this.error = false;\n if (this.network) {\n await NetworkController.switchActiveNetwork(this.network);\n if (!OptionsController.state.isSiweEnabled) {\n RouterUtil.navigateAfterNetworkSwitch();\n }\n }\n }\n catch {\n this.error = true;\n }\n }\n};\nW3mNetworkSwitchView.styles = styles;\n__decorate([\n state()\n], W3mNetworkSwitchView.prototype, \"showRetry\", void 0);\n__decorate([\n state()\n], W3mNetworkSwitchView.prototype, \"error\", void 0);\nW3mNetworkSwitchView = __decorate([\n customElement('w3m-network-switch-view')\n], W3mNetworkSwitchView);\nexport { W3mNetworkSwitchView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-grid {\n max-height: 360px;\n overflow: auto;\n }\n\n wui-grid::-webkit-scrollbar {\n display: none;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController, AssetUtil, CoreHelperUtil, EventsController, NetworkController, RouterController, RouterUtil } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nlet W3mNetworksView = class W3mNetworksView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.caipNetwork = NetworkController.state.caipNetwork;\n this.unsubscribe.push(NetworkController.subscribeKey('caipNetwork', val => (this.caipNetwork = val)));\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return html `\n \n ${this.networksTemplate()}\n \n\n \n\n \n \n Your connected wallet may not support some of the networks available for this dApp\n \n \n \n What is a network\n \n \n `;\n }\n onNetworkHelp() {\n EventsController.sendEvent({ type: 'track', event: 'CLICK_NETWORK_HELP' });\n RouterController.push('WhatIsANetwork');\n }\n networksTemplate() {\n const { approvedCaipNetworkIds, requestedCaipNetworks, supportsAllNetworks } = NetworkController.state;\n const sortedNetworks = CoreHelperUtil.sortRequestedNetworks(approvedCaipNetworkIds, requestedCaipNetworks);\n return sortedNetworks?.map(network => html `\n this.onSwitchNetwork(network)}\n .disabled=${!supportsAllNetworks && !approvedCaipNetworkIds?.includes(network.id)}\n data-testid=${`w3m-network-switch-${network.name ?? network.id}`}\n >\n `);\n }\n async onSwitchNetwork(network) {\n const { isConnected } = AccountController.state;\n const { approvedCaipNetworkIds, supportsAllNetworks, caipNetwork } = NetworkController.state;\n const { data } = RouterController.state;\n if (isConnected && caipNetwork?.id !== network.id) {\n if (approvedCaipNetworkIds?.includes(network.id)) {\n await NetworkController.switchActiveNetwork(network);\n RouterUtil.navigateAfterNetworkSwitch();\n }\n else if (supportsAllNetworks) {\n RouterController.push('SwitchNetwork', { ...data, network });\n }\n }\n else if (!isConnected) {\n NetworkController.setCaipNetwork(network);\n RouterController.push('Connect');\n }\n }\n};\nW3mNetworksView.styles = styles;\n__decorate([\n state()\n], W3mNetworksView.prototype, \"caipNetwork\", void 0);\nW3mNetworksView = __decorate([\n customElement('w3m-networks-view')\n], W3mNetworksView);\nexport { W3mNetworksView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-flex {\n height: 500px;\n overflow-y: auto;\n overflow-x: hidden;\n scrollbar-width: none;\n padding: var(--wui-spacing-m);\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n }\n\n :host > wui-flex > wui-flex {\n width: 100%;\n }\n\n wui-transaction-list-item-loader {\n width: 100%;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { DateUtil } from '@web3modal/common';\nimport { AccountController, AssetController, OnRampController, OptionsController, TransactionsController } from '@web3modal/core';\nimport { TransactionUtil, customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport styles from './styles.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nconst LOADING_ITEM_COUNT = 7;\nlet W3mOnRampActivityView = class W3mOnRampActivityView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.refetchTimeout = undefined;\n this.selectedOnRampProvider = OnRampController.state.selectedProvider;\n this.loading = false;\n this.coinbaseTransactions = TransactionsController.state.coinbaseTransactions;\n this.tokenImages = AssetController.state.tokenImages;\n this.unsubscribe.push(...[\n OnRampController.subscribeKey('selectedProvider', val => {\n this.selectedOnRampProvider = val;\n }),\n AssetController.subscribeKey('tokenImages', val => (this.tokenImages = val)),\n () => {\n clearTimeout(this.refetchTimeout);\n },\n TransactionsController.subscribe(val => {\n this.coinbaseTransactions = { ...val.coinbaseTransactions };\n })\n ]);\n TransactionsController.clearCursor();\n this.fetchTransactions();\n }\n render() {\n return html `\n \n ${this.loading ? this.templateLoading() : this.templateTransactionsByYear()}\n \n `;\n }\n templateTransactions(transactions) {\n return transactions?.map(transaction => {\n const date = DateUtil.formatDate(transaction?.metadata?.minedAt);\n const transfer = transaction.transfers[0];\n const fungibleInfo = transfer?.fungible_info;\n if (!fungibleInfo) {\n return null;\n }\n const icon = fungibleInfo?.icon?.url || this.tokenImages?.[fungibleInfo.symbol || ''];\n return html `\n \n `;\n });\n }\n templateTransactionsByYear() {\n const sortedYearKeys = Object.keys(this.coinbaseTransactions).sort().reverse();\n return sortedYearKeys.map(year => {\n const yearInt = parseInt(year, 10);\n const sortedMonthIndexes = new Array(12)\n .fill(null)\n .map((_, idx) => idx)\n .reverse();\n return sortedMonthIndexes.map(month => {\n const groupTitle = TransactionUtil.getTransactionGroupTitle(yearInt, month);\n const transactions = this.coinbaseTransactions[yearInt]?.[month];\n if (!transactions) {\n return null;\n }\n return html `\n \n \n ${groupTitle}\n \n \n ${this.templateTransactions(transactions)}\n \n \n `;\n });\n });\n }\n async fetchTransactions() {\n const provider = 'coinbase';\n if (provider === 'coinbase') {\n await this.fetchCoinbaseTransactions();\n }\n }\n async fetchCoinbaseTransactions() {\n const address = AccountController.state.address;\n const projectId = OptionsController.state.projectId;\n if (!address) {\n throw new Error('No address found');\n }\n if (!projectId) {\n throw new Error('No projectId found');\n }\n this.loading = true;\n await TransactionsController.fetchTransactions(address, 'coinbase');\n this.loading = false;\n this.refetchLoadingTransactions();\n }\n refetchLoadingTransactions() {\n const today = new Date();\n const currentMonthTxs = this.coinbaseTransactions[today.getFullYear()]?.[today.getMonth()] || [];\n const loadingTransactions = currentMonthTxs.filter(transaction => transaction.metadata.status === 'ONRAMP_TRANSACTION_STATUS_IN_PROGRESS');\n if (loadingTransactions.length === 0) {\n clearTimeout(this.refetchTimeout);\n return;\n }\n this.refetchTimeout = setTimeout(async () => {\n const address = AccountController.state.address;\n await TransactionsController.fetchTransactions(address, 'coinbase');\n this.refetchLoadingTransactions();\n }, 3000);\n }\n templateLoading() {\n return Array(LOADING_ITEM_COUNT)\n .fill(html ` `)\n .map(item => item);\n }\n};\nW3mOnRampActivityView.styles = styles;\n__decorate([\n state()\n], W3mOnRampActivityView.prototype, \"selectedOnRampProvider\", void 0);\n__decorate([\n state()\n], W3mOnRampActivityView.prototype, \"loading\", void 0);\n__decorate([\n state()\n], W3mOnRampActivityView.prototype, \"coinbaseTransactions\", void 0);\n__decorate([\n state()\n], W3mOnRampActivityView.prototype, \"tokenImages\", void 0);\nW3mOnRampActivityView = __decorate([\n customElement('w3m-onramp-activity-view')\n], W3mOnRampActivityView);\nexport { W3mOnRampActivityView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-grid {\n max-height: 360px;\n overflow: auto;\n }\n\n wui-grid::-webkit-scrollbar {\n display: none;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { OnRampController, ModalController, AssetController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport styles from './styles.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nlet W3mOnrampFiatSelectView = class W3mOnrampFiatSelectView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.selectedCurrency = OnRampController.state.paymentCurrency;\n this.currencies = OnRampController.state.paymentCurrencies;\n this.currencyImages = AssetController.state.currencyImages;\n this.unsubscribe.push(...[\n OnRampController.subscribe(val => {\n this.selectedCurrency = val.paymentCurrency;\n this.currencies = val.paymentCurrencies;\n }),\n AssetController.subscribeKey('currencyImages', val => (this.currencyImages = val))\n ]);\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return html `\n \n ${this.currenciesTemplate()}\n \n \n `;\n }\n currenciesTemplate() {\n return this.currencies.map(currency => html `\n this.selectCurrency(currency)}\n variant=\"image\"\n >\n ${currency.id}\n \n `);\n }\n selectCurrency(currency) {\n if (!currency) {\n return;\n }\n OnRampController.setPaymentCurrency(currency);\n ModalController.close();\n }\n};\nW3mOnrampFiatSelectView.styles = styles;\n__decorate([\n state()\n], W3mOnrampFiatSelectView.prototype, \"selectedCurrency\", void 0);\n__decorate([\n state()\n], W3mOnrampFiatSelectView.prototype, \"currencies\", void 0);\n__decorate([\n state()\n], W3mOnrampFiatSelectView.prototype, \"currencyImages\", void 0);\nW3mOnrampFiatSelectView = __decorate([\n customElement('w3m-onramp-fiat-select-view')\n], W3mOnrampFiatSelectView);\nexport { W3mOnrampFiatSelectView };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { CoreHelperUtil, AccountController, ConstantsUtil, OnRampController, RouterController, NetworkController, BlockchainApiController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nlet W3mOnRampProvidersView = class W3mOnRampProvidersView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.providers = OnRampController.state.providers;\n this.unsubscribe.push(...[\n OnRampController.subscribeKey('providers', val => {\n this.providers = val;\n })\n ]);\n }\n firstUpdated() {\n const urlPromises = this.providers.map(async (provider) => {\n if (provider.name === 'coinbase') {\n return await this.getCoinbaseOnRampURL();\n }\n return Promise.resolve(provider?.url);\n });\n Promise.all(urlPromises).then(urls => {\n this.providers = this.providers.map((provider, index) => ({\n ...provider,\n url: urls[index] || ''\n }));\n });\n }\n render() {\n return html `\n \n ${this.onRampProvidersTemplate()}\n \n \n `;\n }\n onRampProvidersTemplate() {\n return this.providers.map(provider => html `\n {\n this.onClickProvider(provider);\n }}\n ?disabled=${!provider.url}\n >\n `);\n }\n onClickProvider(provider) {\n OnRampController.setSelectedProvider(provider);\n RouterController.push('BuyInProgress');\n CoreHelperUtil.openHref(provider.url, 'popupWindow', 'width=600,height=800,scrollbars=yes');\n }\n async getCoinbaseOnRampURL() {\n const address = AccountController.state.address;\n const network = NetworkController.state.caipNetwork;\n if (!address) {\n throw new Error('No address found');\n }\n if (!network?.name) {\n throw new Error('No network found');\n }\n const defaultNetwork = ConstantsUtil.WC_COINBASE_PAY_SDK_CHAIN_NAME_MAP[network.name] ?? ConstantsUtil.WC_COINBASE_PAY_SDK_FALLBACK_CHAIN;\n const purchaseCurrency = OnRampController.state.purchaseCurrency;\n const assets = purchaseCurrency\n ? [purchaseCurrency.symbol]\n : OnRampController.state.purchaseCurrencies.map(currency => currency.symbol);\n return await BlockchainApiController.generateOnRampURL({\n defaultNetwork,\n destinationWallets: [\n { address, blockchains: ConstantsUtil.WC_COINBASE_PAY_SDK_CHAINS, assets }\n ],\n partnerUserId: address,\n purchaseAmount: OnRampController.state.purchaseAmount\n });\n }\n};\n__decorate([\n state()\n], W3mOnRampProvidersView.prototype, \"providers\", void 0);\nW3mOnRampProvidersView = __decorate([\n customElement('w3m-onramp-providers-view')\n], W3mOnRampProvidersView);\nexport { W3mOnRampProvidersView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-grid {\n max-height: 360px;\n overflow: auto;\n }\n\n wui-grid::-webkit-scrollbar {\n display: none;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { OnRampController, ModalController, AssetController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport styles from './styles.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nlet W3mOnrampTokensView = class W3mOnrampTokensView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.selectedCurrency = OnRampController.state.purchaseCurrencies;\n this.tokens = OnRampController.state.purchaseCurrencies;\n this.tokenImages = AssetController.state.tokenImages;\n this.unsubscribe.push(...[\n OnRampController.subscribe(val => {\n this.selectedCurrency = val.purchaseCurrencies;\n this.tokens = val.purchaseCurrencies;\n }),\n AssetController.subscribeKey('tokenImages', val => (this.tokenImages = val))\n ]);\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return html `\n \n ${this.currenciesTemplate()}\n \n \n `;\n }\n currenciesTemplate() {\n return this.tokens.map(token => html `\n this.selectToken(token)}\n variant=\"image\"\n >\n \n ${token.name}\n ${token.symbol}\n \n \n `);\n }\n selectToken(currency) {\n if (!currency) {\n return;\n }\n OnRampController.setPurchaseCurrency(currency);\n ModalController.close();\n }\n};\nW3mOnrampTokensView.styles = styles;\n__decorate([\n state()\n], W3mOnrampTokensView.prototype, \"selectedCurrency\", void 0);\n__decorate([\n state()\n], W3mOnrampTokensView.prototype, \"tokens\", void 0);\n__decorate([\n state()\n], W3mOnrampTokensView.prototype, \"tokenImages\", void 0);\nW3mOnrampTokensView = __decorate([\n customElement('w3m-onramp-token-select-view')\n], W3mOnrampTokensView);\nexport { W3mOnrampTokensView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-flex:first-child {\n overflow-y: auto;\n overflow-x: hidden;\n scrollbar-width: none;\n }\n\n wui-loading-hexagon {\n position: absolute;\n }\n\n .action-button {\n width: 100%;\n border-radius: var(--wui-border-radius-xs);\n }\n\n .action-button:disabled {\n border-color: 1px solid var(--wui-gray-glass-005);\n }\n\n .convert-inputs-container {\n position: relative;\n }\n\n .replace-tokens-button {\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n gap: var(--wui-spacing-1xs);\n height: 40px;\n width: 40px;\n padding: var(--wui-spacing-xs);\n border: none;\n border-radius: var(--wui-border-radius-xxs);\n background: var(--wui-gray-glass-005);\n transition: background-color var(--wui-duration-md) var(--wui-ease-out-power-1);\n will-change: background-color;\n z-index: 20;\n }\n\n .replace-tokens-button:hover {\n background: var(--wui-gray-glass-010);\n }\n\n .details-container > wui-flex {\n background: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-xxs);\n width: 100%;\n }\n\n .details-container > wui-flex > button {\n border: none;\n background: none;\n padding: var(--wui-spacing-s);\n border-radius: var(--wui-border-radius-xxs);\n transition: background 0.2s linear;\n }\n\n .details-container > wui-flex > button:hover {\n background: var(--wui-gray-glass-002);\n }\n\n .details-content-container {\n padding: var(--wui-spacing-1xs);\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .details-content-container > wui-flex {\n width: 100%;\n }\n\n .details-row {\n width: 100%;\n padding: var(--wui-spacing-s) var(--wui-spacing-xl);\n border-radius: var(--wui-border-radius-xxs);\n background: var(--wui-gray-glass-002);\n }\n\n .free-badge {\n background: rgba(38, 217, 98, 0.15);\n border-radius: var(--wui-border-radius-4xs);\n padding: 4.5px 6px;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { UiHelperUtil, customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport styles from './styles.js';\nimport { ConvertController, RouterController, CoreHelperUtil, NetworkController, ModalController, ConstantsUtil } from '@web3modal/core';\nimport { NumberUtil } from '@web3modal/common';\nlet W3mConvertView = class W3mConvertView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.detailsOpen = false;\n this.caipNetworkId = NetworkController.state.caipNetwork?.id;\n this.initialized = ConvertController.state.initialized;\n this.loading = ConvertController.state.loading;\n this.loadingPrices = ConvertController.state.loadingPrices;\n this.sourceToken = ConvertController.state.sourceToken;\n this.sourceTokenAmount = ConvertController.state.sourceTokenAmount;\n this.sourceTokenPriceInUSD = ConvertController.state.sourceTokenPriceInUSD;\n this.toToken = ConvertController.state.toToken;\n this.toTokenAmount = ConvertController.state.toTokenAmount;\n this.toTokenPriceInUSD = ConvertController.state.toTokenPriceInUSD;\n this.inputError = ConvertController.state.inputError;\n this.gasPriceInUSD = ConvertController.state.gasPriceInUSD;\n this.priceImpact = ConvertController.state.priceImpact;\n this.maxSlippage = ConvertController.state.maxSlippage;\n this.transactionLoading = ConvertController.state.transactionLoading;\n this.onDebouncedGetSwapCalldata = CoreHelperUtil.debounce(async () => {\n await ConvertController.convertTokens();\n }, 500);\n NetworkController.subscribeKey('caipNetwork', newCaipNetwork => {\n if (this.caipNetworkId !== newCaipNetwork?.id) {\n this.caipNetworkId = newCaipNetwork?.id;\n ConvertController.resetTokens();\n ConvertController.resetValues();\n ConvertController.initializeState();\n }\n });\n this.unsubscribe.push(...[\n ModalController.subscribeKey('open', isOpen => {\n if (!isOpen) {\n ConvertController.resetValues();\n }\n }),\n RouterController.subscribeKey('view', newRoute => {\n if (!newRoute.includes('Convert')) {\n ConvertController.resetValues();\n }\n }),\n ConvertController.subscribe(newState => {\n this.initialized = newState.initialized;\n this.loading = newState.loading;\n this.loadingPrices = newState.loadingPrices;\n this.transactionLoading = newState.transactionLoading;\n this.sourceToken = newState.sourceToken;\n this.sourceTokenAmount = newState.sourceTokenAmount;\n this.sourceTokenPriceInUSD = newState.sourceTokenPriceInUSD;\n this.toToken = newState.toToken;\n this.toTokenAmount = newState.toTokenAmount;\n this.toTokenPriceInUSD = newState.toTokenPriceInUSD;\n this.inputError = newState.inputError;\n this.gasPriceInUSD = newState.gasPriceInUSD;\n this.priceImpact = newState.priceImpact;\n this.maxSlippage = newState.maxSlippage;\n })\n ]);\n this.watchTokensAndValues();\n }\n firstUpdated() {\n if (!this.initialized) {\n ConvertController.initializeState();\n }\n }\n disconnectedCallback() {\n ConvertController.setLoading(false);\n this.unsubscribe.forEach(unsubscribe => unsubscribe?.());\n clearInterval(this.interval);\n }\n render() {\n return html `\n \n ${this.initialized ? this.templateSwap() : this.templateLoading()}\n \n `;\n }\n watchTokensAndValues() {\n this.interval = setInterval(() => {\n ConvertController.getNetworkTokenPrice();\n ConvertController.getMyTokensWithBalance();\n ConvertController.refreshConvertValues();\n }, 20000);\n }\n templateSwap() {\n return html `\n \n \n ${this.templateTokenInput('sourceToken', this.sourceToken)}\n ${this.templateTokenInput('toToken', this.toToken)} ${this.templateReplaceTokensButton()}\n \n ${this.templateDetails()} ${this.templateActionButton()}\n \n `;\n }\n actionButtonLabel() {\n if (this.inputError) {\n return this.inputError;\n }\n return 'Review convert';\n }\n templateReplaceTokensButton() {\n return html `\n \n `;\n }\n templateLoading() {\n return html `\n \n\n \n `;\n }\n templateTokenInput(target, token) {\n const myToken = ConvertController.state.myTokensWithBalance?.find(ct => ct?.address === token?.address);\n const amount = target === 'toToken' ? this.toTokenAmount : this.sourceTokenAmount;\n const price = target === 'toToken' ? this.toTokenPriceInUSD : this.sourceTokenPriceInUSD;\n let value = parseFloat(amount) * price;\n if (target === 'toToken') {\n value -= this.gasPriceInUSD || 0;\n }\n return html ``;\n }\n onSetMaxValue(target, balance) {\n const token = target === 'sourceToken' ? this.sourceToken : this.toToken;\n const isNetworkToken = token?.address === ConstantsUtil.NATIVE_TOKEN_ADDRESS;\n let value = '0';\n if (!balance) {\n value = '0';\n this.handleChangeAmount(target, value);\n return;\n }\n if (!this.gasPriceInUSD) {\n value = balance;\n this.handleChangeAmount(target, value);\n return;\n }\n const amountOfTokenGasRequires = NumberUtil.bigNumber(this.gasPriceInUSD.toFixed(5)).dividedBy(this.sourceTokenPriceInUSD);\n const maxValue = isNetworkToken\n ? NumberUtil.bigNumber(balance).minus(amountOfTokenGasRequires)\n : NumberUtil.bigNumber(balance);\n this.handleChangeAmount(target, maxValue.isGreaterThan(0) ? maxValue.toFixed(20) : '0');\n }\n templateDetails() {\n if (this.loading || this.inputError) {\n return null;\n }\n if (!this.sourceToken || !this.toToken || !this.sourceTokenAmount || !this.toTokenAmount) {\n return null;\n }\n const toTokenConvertedAmount = this.sourceTokenPriceInUSD && this.toTokenPriceInUSD\n ? (1 / this.toTokenPriceInUSD) * this.sourceTokenPriceInUSD\n : 0;\n return html `\n \n `;\n }\n handleChangeAmount(target, value) {\n ConvertController.clearError();\n if (target === 'sourceToken') {\n ConvertController.setSourceTokenAmount(value);\n }\n else {\n ConvertController.setToTokenAmount(value);\n }\n this.onDebouncedGetSwapCalldata();\n }\n templateActionButton() {\n const haveNoTokenSelected = !this.toToken || !this.sourceToken;\n const loading = this.loading || this.loadingPrices || this.transactionLoading;\n return html ` \n \n ${this.actionButtonLabel()}\n \n `;\n }\n onSwitchTokens() {\n ConvertController.switchTokens();\n }\n onConvertPreview() {\n RouterController.push('ConvertPreview');\n }\n};\nW3mConvertView.styles = styles;\n__decorate([\n state()\n], W3mConvertView.prototype, \"interval\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"detailsOpen\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"caipNetworkId\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"initialized\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"loading\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"loadingPrices\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"sourceToken\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"sourceTokenAmount\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"sourceTokenPriceInUSD\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"toToken\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"toTokenAmount\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"toTokenPriceInUSD\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"inputError\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"gasPriceInUSD\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"priceImpact\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"maxSlippage\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"transactionLoading\", void 0);\nW3mConvertView = __decorate([\n customElement('w3m-convert-view')\n], W3mConvertView);\nexport { W3mConvertView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-flex:first-child {\n overflow-y: auto;\n overflow-x: hidden;\n scrollbar-width: none;\n }\n\n .preview-container,\n .details-container {\n width: 100%;\n }\n\n .token-image {\n width: 24px;\n height: 24px;\n box-shadow: 0 0 0 2px var(--wui-gray-glass-005);\n border-radius: 12px;\n }\n\n wui-loading-hexagon {\n position: absolute;\n }\n\n .token-item {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--wui-spacing-xxs);\n padding: var(--wui-spacing-xs);\n height: 40px;\n border: none;\n border-radius: 80px;\n background: var(--wui-gray-glass-002);\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-002);\n cursor: pointer;\n transition: background 0.2s linear;\n }\n\n .token-item:hover {\n background: var(--wui-gray-glass-005);\n }\n\n .preview-token-details-container {\n width: 100%;\n }\n\n .details-row {\n width: 100%;\n padding: var(--wui-spacing-s) var(--wui-spacing-xl);\n border-radius: var(--wui-border-radius-xxs);\n background: var(--wui-gray-glass-002);\n }\n\n .action-buttons-container {\n width: 100%;\n gap: var(--wui-spacing-xs);\n }\n\n .action-buttons-container > button {\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n height: 48px;\n border-radius: var(--wui-border-radius-xs);\n border: none;\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-010);\n }\n\n .action-buttons-container > button:disabled {\n opacity: 0.8;\n cursor: not-allowed;\n }\n\n .cancel-button:hover,\n .convert-button:hover {\n cursor: pointer;\n }\n\n .action-buttons-container > button.cancel-button {\n flex: 2;\n }\n\n .action-buttons-container > button.convert-button {\n flex: 4;\n background-color: var(--wui-color-accent-090);\n }\n\n .action-buttons-container > button.convert-button > wui-text {\n color: white;\n }\n\n .details-container > wui-flex {\n background: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-xxs);\n width: 100%;\n }\n\n .details-container > wui-flex > button {\n border: none;\n background: none;\n padding: var(--wui-spacing-s);\n border-radius: var(--wui-border-radius-xxs);\n transition: background 0.2s linear;\n }\n\n .details-container > wui-flex > button:hover {\n background: var(--wui-gray-glass-002);\n }\n\n .details-content-container {\n padding: var(--wui-spacing-1xs);\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .details-content-container > wui-flex {\n width: 100%;\n }\n\n .details-row {\n width: 100%;\n padding: var(--wui-spacing-s) var(--wui-spacing-xl);\n border-radius: var(--wui-border-radius-xxs);\n background: var(--wui-gray-glass-002);\n }\n\n .free-badge {\n background: rgba(38, 217, 98, 0.15);\n border-radius: var(--wui-border-radius-4xs);\n padding: 4.5px 6px;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { UiHelperUtil, customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nimport { AccountController, NetworkController, RouterController, ConvertController, ConstantsUtil } from '@web3modal/core';\nimport { state } from 'lit/decorators.js';\nlet W3mConvertPreviewView = class W3mConvertPreviewView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.detailsOpen = true;\n this.approvalTransaction = ConvertController.state.approvalTransaction;\n this.convertTransaction = ConvertController.state.convertTransaction;\n this.sourceToken = ConvertController.state.sourceToken;\n this.sourceTokenAmount = ConvertController.state.sourceTokenAmount ?? '';\n this.sourceTokenPriceInUSD = ConvertController.state.sourceTokenPriceInUSD;\n this.toToken = ConvertController.state.toToken;\n this.toTokenAmount = ConvertController.state.toTokenAmount ?? '';\n this.toTokenPriceInUSD = ConvertController.state.toTokenPriceInUSD;\n this.caipNetwork = NetworkController.state.caipNetwork;\n this.transactionLoading = ConvertController.state.transactionLoading;\n this.balanceSymbol = AccountController.state.balanceSymbol;\n this.gasPriceInUSD = ConvertController.state.gasPriceInUSD;\n this.priceImpact = ConvertController.state.priceImpact;\n this.maxSlippage = ConvertController.state.maxSlippage;\n this.unsubscribe.push(...[\n AccountController.subscribeKey('balanceSymbol', newBalanceSymbol => {\n if (this.balanceSymbol !== newBalanceSymbol) {\n RouterController.goBack();\n }\n }),\n NetworkController.subscribeKey('caipNetwork', newCaipNetwork => {\n if (this.caipNetwork !== newCaipNetwork) {\n this.caipNetwork = newCaipNetwork;\n }\n }),\n ConvertController.subscribe(newState => {\n this.approvalTransaction = newState.approvalTransaction;\n this.convertTransaction = newState.convertTransaction;\n this.sourceToken = newState.sourceToken;\n this.gasPriceInUSD = newState.gasPriceInUSD;\n this.toToken = newState.toToken;\n this.transactionLoading = newState.transactionLoading;\n this.gasPriceInUSD = newState.gasPriceInUSD;\n this.toTokenPriceInUSD = newState.toTokenPriceInUSD;\n this.sourceTokenAmount = newState.sourceTokenAmount ?? '';\n this.toTokenAmount = newState.toTokenAmount ?? '';\n this.priceImpact = newState.priceImpact;\n this.maxSlippage = newState.maxSlippage;\n })\n ]);\n }\n render() {\n return html `\n ${this.templateSwap()}\n `;\n }\n templateSwap() {\n const sourceTokenText = `${UiHelperUtil.formatNumberToLocalString(parseFloat(this.sourceTokenAmount))} ${this.sourceToken?.symbol}`;\n const toTokenText = `${UiHelperUtil.formatNumberToLocalString(parseFloat(this.toTokenAmount))} ${this.toToken?.symbol}`;\n const sourceTokenValue = parseFloat(this.sourceTokenAmount) * this.sourceTokenPriceInUSD;\n const toTokenValue = parseFloat(this.toTokenAmount) * this.toTokenPriceInUSD - (this.gasPriceInUSD || 0);\n const sentPrice = UiHelperUtil.formatNumberToLocalString(sourceTokenValue);\n const receivePrice = UiHelperUtil.formatNumberToLocalString(toTokenValue);\n return html `\n \n \n \n \n Send\n $${sentPrice}\n \n \n \n \n \n \n \n Receive\n $${receivePrice}\n \n \n \n \n \n\n ${this.templateDetails()}\n\n \n \n Review transaction carefully\n \n\n \n \n Cancel\n \n \n ${this.transactionLoading\n ? html ``\n : html `\n ${this.actionButtonLabel()}\n `}\n \n \n \n `;\n }\n templateDetails() {\n const toTokenConvertedAmount = this.sourceTokenPriceInUSD && this.toTokenPriceInUSD\n ? (1 / this.toTokenPriceInUSD) * this.sourceTokenPriceInUSD\n : 0;\n return html `\n \n `;\n }\n actionButtonLabel() {\n if (this.approvalTransaction) {\n return 'Approve';\n }\n return 'Convert';\n }\n onCancelTransaction() {\n RouterController.goBack();\n }\n onSendTransaction() {\n if (this.approvalTransaction) {\n ConvertController.sendTransactionForApproval(this.approvalTransaction);\n }\n else {\n ConvertController.sendTransactionForConvert(this.convertTransaction);\n }\n }\n};\nW3mConvertPreviewView.styles = styles;\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"detailsOpen\", void 0);\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"approvalTransaction\", void 0);\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"convertTransaction\", void 0);\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"sourceToken\", void 0);\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"sourceTokenAmount\", void 0);\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"sourceTokenPriceInUSD\", void 0);\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"toToken\", void 0);\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"toTokenAmount\", void 0);\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"toTokenPriceInUSD\", void 0);\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"caipNetwork\", void 0);\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"transactionLoading\", void 0);\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"balanceSymbol\", void 0);\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"gasPriceInUSD\", void 0);\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"priceImpact\", void 0);\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"maxSlippage\", void 0);\nW3mConvertPreviewView = __decorate([\n customElement('w3m-convert-preview-view')\n], W3mConvertPreviewView);\nexport { W3mConvertPreviewView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n --tokens-scroll--top-opacity: 0;\n --tokens-scroll--bottom-opacity: 1;\n --suggested-tokens-scroll--left-opacity: 0;\n --suggested-tokens-scroll--right-opacity: 1;\n }\n\n :host > wui-flex:first-child {\n overflow-y: hidden;\n overflow-x: hidden;\n scrollbar-width: none;\n scrollbar-height: none;\n }\n\n wui-loading-hexagon {\n position: absolute;\n }\n\n .search-input-container,\n .suggested-tokens-container {\n padding-left: var(--wui-spacing-s);\n padding-right: var(--wui-spacing-s);\n }\n\n .tokens-container .tokens {\n padding: 0px var(--wui-spacing-s);\n padding-bottom: var(--wui-spacing-s);\n }\n\n .search-input-container {\n padding-top: var(--wui-spacing-s);\n }\n\n .suggested-tokens-container {\n overflow-x: auto;\n mask-image: linear-gradient(\n to right,\n rgba(0, 0, 0, calc(1 - var(--suggested-tokens-scroll--left-opacity))) 0px,\n rgba(200, 200, 200, calc(1 - var(--suggested-tokens-scroll--left-opacity))) 1px,\n black 50px,\n black 90px,\n black calc(100% - 90px),\n black calc(100% - 50px),\n rgba(155, 155, 155, calc(1 - var(--suggested-tokens-scroll--right-opacity))) calc(100% - 1px),\n rgba(0, 0, 0, calc(1 - var(--suggested-tokens-scroll--right-opacity))) 100%\n );\n }\n\n .suggested-tokens-container::-webkit-scrollbar {\n display: none;\n }\n\n .tokens-container {\n border-top: 1px solid var(--wui-gray-glass-005);\n height: 100%;\n max-height: 390px;\n }\n\n .tokens {\n width: 100%;\n overflow-y: auto;\n mask-image: linear-gradient(\n to bottom,\n rgba(0, 0, 0, calc(1 - var(--tokens-scroll--top-opacity))) 0px,\n rgba(200, 200, 200, calc(1 - var(--tokens-scroll--top-opacity))) 1px,\n black 50px,\n black 90px,\n black calc(100% - 90px),\n black calc(100% - 50px),\n rgba(155, 155, 155, calc(1 - var(--tokens-scroll--bottom-opacity))) calc(100% - 1px),\n rgba(0, 0, 0, calc(1 - var(--tokens-scroll--bottom-opacity))) 100%\n );\n }\n\n .network-search-input,\n .select-network-button {\n height: 40px;\n }\n\n .select-network-button {\n border: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: var(--wui-spacing-xs);\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-005);\n background-color: transparent;\n border-radius: var(--wui-border-radius-xxs);\n padding: var(--wui-spacing-xs);\n align-items: center;\n transition: background-color 0.2s linear;\n }\n\n .select-network-button:hover {\n background-color: var(--wui-gray-glass-002);\n }\n\n .select-network-button > wui-image {\n width: 26px;\n height: 26px;\n border-radius: var(--wui-border-radius-xs);\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-010);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement, MathUtil } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nimport { RouterController, ConvertController } from '@web3modal/core';\nimport { state } from 'lit/decorators.js';\nlet W3mConvertSelectTokenView = class W3mConvertSelectTokenView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.targetToken = RouterController.state.data?.target;\n this.sourceToken = ConvertController.state.sourceToken;\n this.toToken = ConvertController.state.toToken;\n this.searchValue = '';\n this.unsubscribe.push(...[\n ConvertController.subscribe(newState => {\n this.sourceToken = newState.sourceToken;\n this.toToken = newState.toToken;\n })\n ]);\n this.watchTokens();\n }\n updated() {\n const suggestedTokensContainer = this.renderRoot?.querySelector('.suggested-tokens-container');\n suggestedTokensContainer?.addEventListener('scroll', this.handleSuggestedTokensScroll.bind(this));\n const tokensList = this.renderRoot?.querySelector('.tokens');\n tokensList?.addEventListener('scroll', this.handleTokenListScroll.bind(this));\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n const suggestedTokensContainer = this.renderRoot?.querySelector('.suggested-tokens-container');\n const tokensList = this.renderRoot?.querySelector('.tokens');\n suggestedTokensContainer?.removeEventListener('scroll', this.handleSuggestedTokensScroll.bind(this));\n tokensList?.removeEventListener('scroll', this.handleTokenListScroll.bind(this));\n clearInterval(this.interval);\n }\n render() {\n return html `\n \n ${this.templateSearchInput()} ${this.templateSuggestedTokens()} ${this.templateTokens()}\n \n `;\n }\n watchTokens() {\n this.interval = setInterval(() => {\n ConvertController.getNetworkTokenPrice();\n ConvertController.getMyTokensWithBalance();\n }, 5000);\n }\n onSelectToken(token) {\n if (this.targetToken === 'sourceToken') {\n ConvertController.setSourceToken(token);\n }\n else {\n ConvertController.setToToken(token);\n }\n RouterController.goBack();\n }\n templateSearchInput() {\n return html `\n \n \n \n `;\n }\n templateTokens() {\n const yourTokens = ConvertController.state.myTokensWithBalance\n ? Object.values(ConvertController.state.myTokensWithBalance)\n : [];\n const tokens = ConvertController.state.popularTokens\n ? ConvertController.state.popularTokens\n : [];\n const filteredYourTokens = this.filterTokensWithText(yourTokens, this.searchValue);\n const filteredTokens = this.filterTokensWithText(tokens, this.searchValue);\n return html `\n \n \n ${filteredYourTokens?.length > 0\n ? html `\n \n Your tokens\n \n ${filteredYourTokens.map(token => {\n const selected = token.symbol === this.sourceToken?.symbol ||\n token.symbol === this.toToken?.symbol;\n return html `\n {\n if (!selected) {\n this.onSelectToken(token);\n }\n }}\n >\n \n `;\n })}\n `\n : null}\n\n \n Popular tokens\n \n\n ${filteredTokens?.length > 0\n ? filteredTokens.map(token => html `\n this.onSelectToken(token)}\n >\n \n `)\n : null}\n \n \n `;\n }\n templateSuggestedTokens() {\n const tokens = ConvertController.state.suggestedTokens\n ? ConvertController.state.suggestedTokens.slice(0, 8)\n : null;\n if (!tokens) {\n return null;\n }\n return html `\n \n ${tokens.map(token => html `\n this.onSelectToken(token)}\n >\n \n `)}\n \n `;\n }\n onSearchInputChange(event) {\n this.searchValue = event.detail;\n }\n handleSuggestedTokensScroll() {\n const container = this.renderRoot?.querySelector('.suggested-tokens-container');\n if (!container) {\n return;\n }\n container.style.setProperty('--suggested-tokens-scroll--left-opacity', MathUtil.interpolate([0, 100], [0, 1], container.scrollLeft).toString());\n container.style.setProperty('--suggested-tokens-scroll--right-opacity', MathUtil.interpolate([0, 100], [0, 1], container.scrollWidth - container.scrollLeft - container.offsetWidth).toString());\n }\n handleTokenListScroll() {\n const container = this.renderRoot?.querySelector('.tokens');\n if (!container) {\n return;\n }\n container.style.setProperty('--tokens-scroll--top-opacity', MathUtil.interpolate([0, 100], [0, 1], container.scrollTop).toString());\n container.style.setProperty('--tokens-scroll--bottom-opacity', MathUtil.interpolate([0, 100], [0, 1], container.scrollHeight - container.scrollTop - container.offsetHeight).toString());\n }\n filterTokensWithText(tokens, text) {\n return tokens.filter(token => `${token.symbol} ${token.name} ${token.address}`.toLowerCase().includes(text.toLowerCase()));\n }\n};\nW3mConvertSelectTokenView.styles = styles;\n__decorate([\n state()\n], W3mConvertSelectTokenView.prototype, \"interval\", void 0);\n__decorate([\n state()\n], W3mConvertSelectTokenView.prototype, \"targetToken\", void 0);\n__decorate([\n state()\n], W3mConvertSelectTokenView.prototype, \"sourceToken\", void 0);\n__decorate([\n state()\n], W3mConvertSelectTokenView.prototype, \"toToken\", void 0);\n__decorate([\n state()\n], W3mConvertSelectTokenView.prototype, \"searchValue\", void 0);\nW3mConvertSelectTokenView = __decorate([\n customElement('w3m-convert-select-token-view')\n], W3mConvertSelectTokenView);\nexport { W3mConvertSelectTokenView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-flex:first-child {\n height: 500px;\n overflow-y: auto;\n overflow-x: hidden;\n scrollbar-width: none;\n padding: var(--wui-spacing-m);\n }\n\n :host > wui-flex:first-child::-webkit-scrollbar {\n display: none;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nlet W3mTransactionsView = class W3mTransactionsView extends LitElement {\n render() {\n return html `\n \n \n \n `;\n }\n};\nW3mTransactionsView.styles = styles;\nW3mTransactionsView = __decorate([\n customElement('w3m-transactions-view')\n], W3mTransactionsView);\nexport { W3mTransactionsView };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { CoreHelperUtil } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nconst data = [\n {\n images: ['network', 'layers', 'system'],\n title: 'The system’s nuts and bolts',\n text: 'A network is what brings the blockchain to life, as this technical infrastructure allows apps to access the ledger and smart contract services.'\n },\n {\n images: ['noun', 'defiAlt', 'dao'],\n title: 'Designed for different uses',\n text: 'Each network is designed differently, and may therefore suit certain apps and experiences.'\n }\n];\nlet W3mWhatIsANetworkView = class W3mWhatIsANetworkView extends LitElement {\n render() {\n return html `\n \n \n {\n CoreHelperUtil.openHref('https://ethereum.org/en/developers/docs/networks/', '_blank');\n }}\n >\n Learn more\n \n \n \n `;\n }\n};\nW3mWhatIsANetworkView = __decorate([\n customElement('w3m-what-is-a-network-view')\n], W3mWhatIsANetworkView);\nexport { W3mWhatIsANetworkView };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { EventsController, RouterController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nconst data = [\n {\n images: ['login', 'profile', 'lock'],\n title: 'One login for all of web3',\n text: 'Log in to any app by connecting your wallet. Say goodbye to countless passwords!'\n },\n {\n images: ['defi', 'nft', 'eth'],\n title: 'A home for your digital assets',\n text: 'A wallet lets you store, send and receive digital assets like cryptocurrencies and NFTs.'\n },\n {\n images: ['browser', 'noun', 'dao'],\n title: 'Your gateway to a new web',\n text: 'With your wallet, you can explore and interact with DeFi, NFTs, DAOs, and much more.'\n }\n];\nlet W3mWhatIsAWalletView = class W3mWhatIsAWalletView extends LitElement {\n render() {\n return html `\n \n \n \n \n Get a wallet\n \n \n `;\n }\n onGetWallet() {\n EventsController.sendEvent({ type: 'track', event: 'CLICK_GET_WALLET' });\n RouterController.push('GetWallet');\n }\n};\nW3mWhatIsAWalletView = __decorate([\n customElement('w3m-what-is-a-wallet-view')\n], W3mWhatIsAWalletView);\nexport { W3mWhatIsAWalletView };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { RouterController } from '@web3modal/core';\nimport { LitElement, html } from 'lit';\nlet W3mWhatIsABuyView = class W3mWhatIsABuyView extends LitElement {\n render() {\n return html `\n \n \n \n \n Quickly and easily buy digital assets!\n \n \n Simply select your preferred onramp provider and add digital assets to your account\n using your credit card or bank transfer\n \n \n \n \n Buy\n \n \n `;\n }\n};\nW3mWhatIsABuyView = __decorate([\n customElement('w3m-what-is-a-buy-view')\n], W3mWhatIsABuyView);\nexport { W3mWhatIsABuyView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-loading-spinner {\n margin: 9px auto;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { RouterController, SnackController, ConnectorController, CoreHelperUtil } from '@web3modal/core';\nimport { state } from 'lit/decorators.js';\nimport styles from './styles.js';\nimport { W3mFrameHelpers } from '@web3modal/wallet';\nconst OTP_LENGTH = 6;\nlet W3mEmailOtpWidget = class W3mEmailOtpWidget extends LitElement {\n firstUpdated() {\n this.startOTPTimeout();\n }\n disconnectedCallback() {\n clearTimeout(this.OTPTimeout);\n }\n constructor() {\n super();\n this.loading = false;\n this.timeoutTimeLeft = W3mFrameHelpers.getTimeToNextEmailLogin();\n this.error = '';\n this.otp = '';\n this.email = RouterController.state.data?.email;\n this.emailConnector = ConnectorController.getEmailConnector();\n }\n render() {\n if (!this.email) {\n throw new Error('w3m-email-otp-widget: No email provided');\n }\n const isResendDisabled = Boolean(this.timeoutTimeLeft);\n const footerLabels = this.getFooterLabels(isResendDisabled);\n return html `\n \n \n Enter the code we sent to\n ${this.email}\n \n\n The code expires in 20 minutes\n\n ${this.loading\n ? html ``\n : html ` \n \n ${this.error\n ? html `\n \n ${this.error}. Try Again\n \n `\n : null}\n `}\n\n \n ${footerLabels.title}\n \n ${footerLabels.action}\n \n \n \n `;\n }\n startOTPTimeout() {\n this.timeoutTimeLeft = W3mFrameHelpers.getTimeToNextEmailLogin();\n this.OTPTimeout = setInterval(() => {\n if (this.timeoutTimeLeft > 0) {\n this.timeoutTimeLeft = W3mFrameHelpers.getTimeToNextEmailLogin();\n }\n else {\n clearInterval(this.OTPTimeout);\n }\n }, 1000);\n }\n async onOtpInputChange(event) {\n try {\n if (!this.loading) {\n this.otp = event.detail;\n if (this.emailConnector && this.otp.length === OTP_LENGTH) {\n this.loading = true;\n await this.onOtpSubmit?.(this.otp);\n }\n }\n }\n catch (error) {\n this.error = CoreHelperUtil.parseError(error);\n this.loading = false;\n }\n }\n async onResendCode() {\n try {\n if (this.onOtpResend) {\n if (!this.loading && !this.timeoutTimeLeft) {\n this.error = '';\n this.otp = '';\n const emailConnector = ConnectorController.getEmailConnector();\n if (!emailConnector || !this.email) {\n throw new Error('w3m-email-otp-widget: Unable to resend email');\n }\n this.loading = true;\n await this.onOtpResend(this.email);\n this.startOTPTimeout();\n SnackController.showSuccess('Code email resent');\n }\n }\n else if (this.onStartOver) {\n this.onStartOver();\n }\n }\n catch (error) {\n SnackController.showError(error);\n }\n finally {\n this.loading = false;\n }\n }\n getFooterLabels(isResendDisabled) {\n if (this.onStartOver) {\n return {\n title: 'Something wrong?',\n action: `Try again ${isResendDisabled ? `in ${this.timeoutTimeLeft}s` : ''}`\n };\n }\n return {\n title: `Didn't receive it?`,\n action: `Resend ${isResendDisabled ? `in ${this.timeoutTimeLeft}s` : 'Code'}`\n };\n }\n};\nW3mEmailOtpWidget.styles = styles;\n__decorate([\n state()\n], W3mEmailOtpWidget.prototype, \"loading\", void 0);\n__decorate([\n state()\n], W3mEmailOtpWidget.prototype, \"timeoutTimeLeft\", void 0);\n__decorate([\n state()\n], W3mEmailOtpWidget.prototype, \"error\", void 0);\nW3mEmailOtpWidget = __decorate([\n customElement('w3m-email-otp-widget')\n], W3mEmailOtpWidget);\nexport { W3mEmailOtpWidget };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { W3mEmailOtpWidget } from '../../utils/w3m-email-otp-widget/index.js';\nimport { EventsController, ConnectionController, ModalController, NetworkController, RouterController, AccountController } from '@web3modal/core';\nimport { state } from 'lit/decorators.js';\nlet W3mEmailVerifyOtpView = class W3mEmailVerifyOtpView extends W3mEmailOtpWidget {\n constructor() {\n super();\n this.unsubscribe = [];\n this.smartAccountDeployed = AccountController.state.smartAccountDeployed;\n this.onOtpSubmit = async (otp) => {\n try {\n if (this.emailConnector) {\n const smartAccountEnabled = NetworkController.checkIfSmartAccountEnabled();\n await this.emailConnector.provider.connectOtp({ otp });\n EventsController.sendEvent({ type: 'track', event: 'EMAIL_VERIFICATION_CODE_PASS' });\n await ConnectionController.connectExternal(this.emailConnector);\n EventsController.sendEvent({\n type: 'track',\n event: 'CONNECT_SUCCESS',\n properties: { method: 'email', name: this.emailConnector.name || 'Unknown' }\n });\n if (smartAccountEnabled && !this.smartAccountDeployed) {\n RouterController.push('UpgradeToSmartAccount');\n }\n else {\n ModalController.close();\n }\n }\n }\n catch (error) {\n EventsController.sendEvent({ type: 'track', event: 'EMAIL_VERIFICATION_CODE_FAIL' });\n throw error;\n }\n };\n this.onOtpResend = async (email) => {\n if (this.emailConnector) {\n await this.emailConnector.provider.connectEmail({ email });\n EventsController.sendEvent({ type: 'track', event: 'EMAIL_VERIFICATION_CODE_SENT' });\n }\n };\n this.unsubscribe.push(AccountController.subscribeKey('smartAccountDeployed', val => {\n this.smartAccountDeployed = val;\n }));\n }\n};\n__decorate([\n state()\n], W3mEmailVerifyOtpView.prototype, \"smartAccountDeployed\", void 0);\nW3mEmailVerifyOtpView = __decorate([\n customElement('w3m-email-verify-otp-view')\n], W3mEmailVerifyOtpView);\nexport { W3mEmailVerifyOtpView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-icon-box {\n height: var(--wui-icon-box-size-xl);\n width: var(--wui-icon-box-size-xl);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nimport { RouterController, ConnectorController, SnackController, EventsController } from '@web3modal/core';\nimport { state } from 'lit/decorators.js';\nlet W3mEmailVerifyDeviceView = class W3mEmailVerifyDeviceView extends LitElement {\n constructor() {\n super();\n this.email = RouterController.state.data?.email;\n this.emailConnector = ConnectorController.getEmailConnector();\n this.loading = false;\n this.listenForDeviceApproval();\n }\n render() {\n if (!this.email) {\n throw new Error('w3m-email-verify-device-view: No email provided');\n }\n if (!this.emailConnector) {\n throw new Error('w3m-email-verify-device-view: No email connector provided');\n }\n return html `\n \n \n\n \n \n \n Approve the login link we sent to\n \n ${this.email}\n \n\n \n The code expires in 20 minutes\n \n\n \n \n Didn't receive it?\n \n \n Resend email\n \n \n \n \n `;\n }\n async listenForDeviceApproval() {\n if (this.emailConnector) {\n try {\n await this.emailConnector.provider.connectDevice();\n EventsController.sendEvent({ type: 'track', event: 'DEVICE_REGISTERED_FOR_EMAIL' });\n EventsController.sendEvent({ type: 'track', event: 'EMAIL_VERIFICATION_CODE_SENT' });\n RouterController.replace('EmailVerifyOtp', { email: this.email });\n }\n catch (error) {\n RouterController.goBack();\n }\n }\n }\n async onResendCode() {\n try {\n if (!this.loading) {\n if (!this.emailConnector || !this.email) {\n throw new Error('w3m-email-login-widget: Unable to resend email');\n }\n this.loading = true;\n await this.emailConnector.provider.connectEmail({ email: this.email });\n this.listenForDeviceApproval();\n SnackController.showSuccess('Code email resent');\n }\n }\n catch (error) {\n SnackController.showError(error);\n }\n finally {\n this.loading = false;\n }\n }\n};\nW3mEmailVerifyDeviceView.styles = styles;\n__decorate([\n state()\n], W3mEmailVerifyDeviceView.prototype, \"loading\", void 0);\nW3mEmailVerifyDeviceView = __decorate([\n customElement('w3m-email-verify-device-view')\n], W3mEmailVerifyDeviceView);\nexport { W3mEmailVerifyDeviceView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n div {\n width: 100%;\n height: 400px;\n }\n\n [data-ready='false'] {\n transform: scale(1.05);\n }\n\n @media (max-width: 430px) {\n [data-ready='false'] {\n transform: translateY(-50px);\n }\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport styles from './styles.js';\nimport { ModalController, ConnectorController, ThemeController, RouterController } from '@web3modal/core';\nconst PAGE_HEIGHT = 400;\nconst PAGE_WIDTH = 360;\nconst HEADER_HEIGHT = 64;\nlet W3mApproveTransactionView = class W3mApproveTransactionView extends LitElement {\n constructor() {\n super();\n this.bodyObserver = undefined;\n this.unsubscribe = [];\n this.iframe = document.getElementById('w3m-iframe');\n this.ready = false;\n this.unsubscribe.push(...[\n ModalController.subscribeKey('open', isOpen => {\n if (!isOpen) {\n this.onHideIframe();\n RouterController.popTransactionStack();\n }\n })\n ]);\n }\n disconnectedCallback() {\n this.onHideIframe();\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n this.bodyObserver?.unobserve(window.document.body);\n }\n async firstUpdated() {\n await this.syncTheme();\n this.iframe.style.display = 'block';\n this.bodyObserver = new ResizeObserver(() => {\n this.iframe.style.width = `${PAGE_WIDTH}px`;\n this.iframe.style.height = `${PAGE_HEIGHT}px`;\n this.iframe.style.left = `calc(50% - ${PAGE_WIDTH / 2}px)`;\n this.iframe.style.top = `calc(50% - ${PAGE_HEIGHT / 2}px + ${HEADER_HEIGHT / 2}px)`;\n this.ready = true;\n });\n this.bodyObserver.observe(window.document.body);\n }\n render() {\n if (this.ready) {\n this.onShowIframe();\n }\n return html `
`;\n }\n onShowIframe() {\n const isMobile = window.innerWidth <= 430;\n this.iframe.animate([\n { opacity: 0, transform: isMobile ? 'translateY(50px)' : 'scale(.95)' },\n { opacity: 1, transform: isMobile ? 'translateY(0)' : 'scale(1)' }\n ], { duration: 200, easing: 'ease', fill: 'forwards' });\n }\n async onHideIframe() {\n this.iframe.style.display = 'none';\n await this.iframe.animate([{ opacity: 1 }, { opacity: 0 }], {\n duration: 200,\n easing: 'ease',\n fill: 'forwards'\n }).finished;\n }\n async syncTheme() {\n const emailConnector = ConnectorController.getEmailConnector();\n if (emailConnector) {\n await emailConnector.provider.syncTheme({\n themeVariables: ThemeController.getSnapshot().themeVariables\n });\n }\n }\n};\nW3mApproveTransactionView.styles = styles;\n__decorate([\n state()\n], W3mApproveTransactionView.prototype, \"ready\", void 0);\nW3mApproveTransactionView = __decorate([\n customElement('w3m-approve-transaction-view')\n], W3mApproveTransactionView);\nexport { W3mApproveTransactionView };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { ConstantsUtil } from '@web3modal/core';\nimport { LitElement, html } from 'lit';\nlet W3mUpgradeWalletView = class W3mUpgradeWalletView extends LitElement {\n render() {\n return html `\n \n Follow the instructions on\n \n \n \n You will have to reconnect for security reasons\n \n \n `;\n }\n};\nW3mUpgradeWalletView = __decorate([\n customElement('w3m-upgrade-wallet-view')\n], W3mUpgradeWalletView);\nexport { W3mUpgradeWalletView };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { ConnectorController, RouterController, SnackController } from '@web3modal/core';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { W3mFrameRpcConstants } from '@web3modal/wallet';\nlet W3mUpgradeToSmartAccountView = class W3mUpgradeToSmartAccountView extends LitElement {\n constructor() {\n super(...arguments);\n this.emailConnector = ConnectorController.getEmailConnector();\n this.loading = false;\n this.setPreferSmartAccount = async () => {\n if (this.emailConnector) {\n try {\n this.loading = true;\n await this.emailConnector.provider.setPreferredAccount(W3mFrameRpcConstants.ACCOUNT_TYPES.SMART_ACCOUNT);\n await this.emailConnector.provider.connect();\n this.loading = false;\n RouterController.push('Account');\n }\n catch (e) {\n SnackController.showError('Error upgrading to smart account');\n }\n }\n };\n }\n render() {\n return html `\n \n ${this.onboardingTemplate()} ${this.buttonsTemplate()}\n \n Learn more\n \n \n \n `;\n }\n onboardingTemplate() {\n return html ` \n \n \n \n \n \n \n \n Discover Smart Accounts\n \n \n Access advanced features such as username, social login, improved security and a smoother\n user experience!\n \n \n `;\n }\n buttonsTemplate() {\n return html `\n \n Do it later\n \n Continue\n \n `;\n }\n redirectToAccount() {\n RouterController.push('Account');\n }\n};\n__decorate([\n state()\n], W3mUpgradeToSmartAccountView.prototype, \"emailConnector\", void 0);\n__decorate([\n state()\n], W3mUpgradeToSmartAccountView.prototype, \"loading\", void 0);\nW3mUpgradeToSmartAccountView = __decorate([\n customElement('w3m-upgrade-to-smart-account-view')\n], W3mUpgradeToSmartAccountView);\nexport { W3mUpgradeToSmartAccountView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-email-input {\n width: 100%;\n }\n\n form {\n width: 100%;\n display: block;\n position: relative;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ConnectorController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { ref, createRef } from 'lit/directives/ref.js';\nimport styles from './styles.js';\nimport { SnackController, RouterController, EventsController } from '@web3modal/core';\nlet W3mUpdateEmailWalletView = class W3mUpdateEmailWalletView extends LitElement {\n constructor() {\n super(...arguments);\n this.formRef = createRef();\n this.initialEmail = RouterController.state.data?.email ?? '';\n this.email = '';\n this.loading = false;\n }\n firstUpdated() {\n this.formRef.value?.addEventListener('keydown', event => {\n if (event.key === 'Enter') {\n this.onSubmitEmail(event);\n }\n });\n }\n render() {\n const showSubmit = !this.loading && this.email.length > 3 && this.email !== this.initialEmail;\n return html `\n \n \n \n \n \n \n\n \n \n Cancel\n \n\n \n Save\n \n \n \n `;\n }\n onEmailInputChange(event) {\n this.email = event.detail;\n }\n async onSubmitEmail(event) {\n try {\n if (this.loading) {\n return;\n }\n this.loading = true;\n event.preventDefault();\n const emailConnector = ConnectorController.getEmailConnector();\n if (!emailConnector) {\n throw new Error('w3m-update-email-wallet: Email connector not found');\n }\n const response = await emailConnector.provider.updateEmail({ email: this.email });\n EventsController.sendEvent({ type: 'track', event: 'EMAIL_EDIT' });\n if (response.action === 'VERIFY_SECONDARY_OTP') {\n RouterController.push('UpdateEmailSecondaryOtp', {\n email: this.initialEmail,\n newEmail: this.email\n });\n }\n else {\n RouterController.push('UpdateEmailPrimaryOtp', {\n email: this.initialEmail,\n newEmail: this.email\n });\n }\n }\n catch (error) {\n SnackController.showError(error);\n this.loading = false;\n }\n }\n};\nW3mUpdateEmailWalletView.styles = styles;\n__decorate([\n state()\n], W3mUpdateEmailWalletView.prototype, \"email\", void 0);\n__decorate([\n state()\n], W3mUpdateEmailWalletView.prototype, \"loading\", void 0);\nW3mUpdateEmailWalletView = __decorate([\n customElement('w3m-update-email-wallet-view')\n], W3mUpdateEmailWalletView);\nexport { W3mUpdateEmailWalletView };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { W3mEmailOtpWidget } from '../../utils/w3m-email-otp-widget/index.js';\nimport { EventsController, RouterController } from '@web3modal/core';\nlet W3mUpdateEmailPrimaryOtpView = class W3mUpdateEmailPrimaryOtpView extends W3mEmailOtpWidget {\n constructor() {\n super();\n this.email = RouterController.state.data?.email;\n this.onOtpSubmit = async (otp) => {\n try {\n if (this.emailConnector) {\n await this.emailConnector.provider.updateEmailPrimaryOtp({ otp });\n EventsController.sendEvent({ type: 'track', event: 'EMAIL_VERIFICATION_CODE_PASS' });\n RouterController.replace('UpdateEmailSecondaryOtp', RouterController.state.data);\n }\n }\n catch (error) {\n EventsController.sendEvent({ type: 'track', event: 'EMAIL_VERIFICATION_CODE_FAIL' });\n throw error;\n }\n };\n this.onStartOver = () => {\n RouterController.replace('UpdateEmailWallet', RouterController.state.data);\n };\n }\n};\nW3mUpdateEmailPrimaryOtpView = __decorate([\n customElement('w3m-update-email-primary-otp-view')\n], W3mUpdateEmailPrimaryOtpView);\nexport { W3mUpdateEmailPrimaryOtpView };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { W3mEmailOtpWidget } from '../../utils/w3m-email-otp-widget/index.js';\nimport { EventsController, RouterController } from '@web3modal/core';\nlet W3mUpdateEmailSecondaryOtpView = class W3mUpdateEmailSecondaryOtpView extends W3mEmailOtpWidget {\n constructor() {\n super();\n this.email = RouterController.state.data?.newEmail;\n this.onOtpSubmit = async (otp) => {\n try {\n if (this.emailConnector) {\n await this.emailConnector.provider.updateEmailSecondaryOtp({ otp });\n EventsController.sendEvent({ type: 'track', event: 'EMAIL_VERIFICATION_CODE_PASS' });\n RouterController.reset('Account');\n }\n }\n catch (error) {\n EventsController.sendEvent({ type: 'track', event: 'EMAIL_VERIFICATION_CODE_FAIL' });\n throw error;\n }\n };\n this.onStartOver = () => {\n RouterController.replace('UpdateEmailWallet', RouterController.state.data);\n };\n }\n};\nW3mUpdateEmailSecondaryOtpView = __decorate([\n customElement('w3m-update-email-secondary-otp-view')\n], W3mUpdateEmailSecondaryOtpView);\nexport { W3mUpdateEmailSecondaryOtpView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-flex {\n max-height: clamp(360px, 540px, 80vh);\n overflow: scroll;\n scrollbar-width: none;\n }\n\n :host > wui-flex::-webkit-scrollbar {\n display: none;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController, AssetUtil, ConnectionController, CoreHelperUtil, EventsController, ModalController, NetworkController, RouterController, RouterUtil, SnackController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nlet W3mUnsupportedChainView = class W3mUnsupportedChainView extends LitElement {\n constructor() {\n super(...arguments);\n this.disconecting = false;\n }\n render() {\n return html `\n \n \n \n This app doesn’t support your current network. Switch to an available option following\n to continue.\n \n \n\n \n ${this.networksTemplate()}\n \n\n \n \n \n Disconnect\n \n \n \n `;\n }\n networksTemplate() {\n const { approvedCaipNetworkIds, requestedCaipNetworks } = NetworkController.state;\n const sortedNetworks = CoreHelperUtil.sortRequestedNetworks(approvedCaipNetworkIds, requestedCaipNetworks);\n return sortedNetworks.map(network => html `\n this.onSwitchNetwork(network)}\n >\n \n `);\n }\n async onDisconnect() {\n try {\n this.disconecting = true;\n await ConnectionController.disconnect();\n EventsController.sendEvent({\n type: 'track',\n event: 'DISCONNECT_SUCCESS'\n });\n ModalController.close();\n }\n catch {\n EventsController.sendEvent({ type: 'track', event: 'DISCONNECT_ERROR' });\n SnackController.showError('Failed to disconnect');\n }\n finally {\n this.disconecting = false;\n }\n }\n async onSwitchNetwork(network) {\n const { isConnected } = AccountController.state;\n const { approvedCaipNetworkIds, supportsAllNetworks, caipNetwork } = NetworkController.state;\n const { data } = RouterController.state;\n if (isConnected && caipNetwork?.id !== network.id) {\n if (approvedCaipNetworkIds?.includes(network.id)) {\n await NetworkController.switchActiveNetwork(network);\n RouterUtil.navigateAfterNetworkSwitch();\n }\n else if (supportsAllNetworks) {\n RouterController.push('SwitchNetwork', { ...data, network });\n }\n }\n else if (!isConnected) {\n NetworkController.setCaipNetwork(network);\n RouterController.push('Connect');\n }\n }\n};\nW3mUnsupportedChainView.styles = styles;\n__decorate([\n state()\n], W3mUnsupportedChainView.prototype, \"disconecting\", void 0);\nW3mUnsupportedChainView = __decorate([\n customElement('w3m-unsupported-chain-view')\n], W3mUnsupportedChainView);\nexport { W3mUnsupportedChainView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-compatible-network {\n margin-top: var(--wui-spacing-l);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController, AssetUtil, CoreHelperUtil, NetworkController, RouterController, SnackController, ThemeController } from '@web3modal/core';\nimport { UiHelperUtil, customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nimport { state } from 'lit/decorators.js';\nimport { W3mFrameRpcConstants } from '@web3modal/wallet';\nlet W3mWalletReceiveView = class W3mWalletReceiveView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.address = AccountController.state.address;\n this.profileName = AccountController.state.profileName;\n this.network = NetworkController.state.caipNetwork;\n this.preferredAccountType = AccountController.state.preferredAccountType;\n this.unsubscribe.push(...[\n AccountController.subscribe(val => {\n if (val.address) {\n this.address = val.address;\n this.profileName = val.profileName;\n this.preferredAccountType = val.preferredAccountType;\n }\n else {\n SnackController.showError('Account not found');\n }\n })\n ], NetworkController.subscribeKey('caipNetwork', val => {\n if (val?.id) {\n this.network = val;\n }\n }));\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n if (!this.address) {\n throw new Error('w3m-wallet-receive-view: No account provided');\n }\n const networkImage = AssetUtil.getNetworkImage(this.network);\n return html ` \n \n \n \n \n Copy your address or scan this QR code\n \n \n ${this.networkTemplate()}\n `;\n }\n networkTemplate() {\n const networks = NetworkController.getRequestedCaipNetworks();\n const isNetworkEnabledForSmartAccounts = NetworkController.checkIfSmartAccountEnabled();\n const caipNetwork = NetworkController.state.caipNetwork;\n if (this.preferredAccountType === W3mFrameRpcConstants.ACCOUNT_TYPES.SMART_ACCOUNT &&\n isNetworkEnabledForSmartAccounts) {\n if (!caipNetwork) {\n return null;\n }\n return html ``;\n }\n const slicedNetworks = networks?.filter(network => network?.imageId)?.slice(0, 5);\n const imagesArray = slicedNetworks.map(AssetUtil.getNetworkImage).filter(Boolean);\n return html ``;\n }\n onReceiveClick() {\n RouterController.push('WalletCompatibleNetworks');\n }\n onCopyClick() {\n try {\n if (this.address) {\n CoreHelperUtil.copyToClopboard(this.address);\n SnackController.showSuccess('Address copied');\n }\n }\n catch {\n SnackController.showError('Failed to copy');\n }\n }\n};\nW3mWalletReceiveView.styles = styles;\n__decorate([\n state()\n], W3mWalletReceiveView.prototype, \"address\", void 0);\n__decorate([\n state()\n], W3mWalletReceiveView.prototype, \"profileName\", void 0);\n__decorate([\n state()\n], W3mWalletReceiveView.prototype, \"network\", void 0);\n__decorate([\n state()\n], W3mWalletReceiveView.prototype, \"preferredAccountType\", void 0);\nW3mWalletReceiveView = __decorate([\n customElement('w3m-wallet-receive-view')\n], W3mWalletReceiveView);\nexport { W3mWalletReceiveView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-flex {\n max-height: clamp(360px, 540px, 80vh);\n overflow: scroll;\n scrollbar-width: none;\n }\n\n :host > wui-flex::-webkit-scrollbar {\n display: none;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController, AssetUtil, CoreHelperUtil, NetworkController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nimport { W3mFrameRpcConstants } from '@web3modal/wallet';\nimport { state } from 'lit/decorators.js';\nlet W3mWalletCompatibleNetworksView = class W3mWalletCompatibleNetworksView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.preferredAccountType = AccountController.state.preferredAccountType;\n this.unsubscribe.push(AccountController.subscribeKey('preferredAccountType', val => {\n this.preferredAccountType = val;\n }));\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return html ` \n \n ${this.networkTemplate()}\n `;\n }\n networkTemplate() {\n const { approvedCaipNetworkIds, requestedCaipNetworks, caipNetwork } = NetworkController.state;\n const isNetworkEnabledForSmartAccounts = NetworkController.checkIfSmartAccountEnabled();\n let sortedNetworks = CoreHelperUtil.sortRequestedNetworks(approvedCaipNetworkIds, requestedCaipNetworks);\n if (isNetworkEnabledForSmartAccounts &&\n this.preferredAccountType === W3mFrameRpcConstants.ACCOUNT_TYPES.SMART_ACCOUNT) {\n if (!caipNetwork) {\n return null;\n }\n sortedNetworks = [caipNetwork];\n }\n return sortedNetworks.map(network => html `\n \n \n `);\n }\n};\nW3mWalletCompatibleNetworksView.styles = styles;\n__decorate([\n state()\n], W3mWalletCompatibleNetworksView.prototype, \"preferredAccountType\", void 0);\nW3mWalletCompatibleNetworksView = __decorate([\n customElement('w3m-wallet-compatible-networks-view')\n], W3mWalletCompatibleNetworksView);\nexport { W3mWalletCompatibleNetworksView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n }\n\n wui-flex {\n position: relative;\n }\n\n wui-icon-box {\n width: 40px;\n height: 40px;\n border-radius: var(--wui-border-radius-xs) !important;\n border: 5px solid var(--wui-color-bg-125);\n background: var(--wui-color-bg-175);\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 1;\n }\n\n wui-button {\n --local-border-radius: var(--wui-border-radius-xs) !important;\n }\n\n .inputContainer {\n height: fit-content;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nimport { CoreHelperUtil, RouterController, SendController } from '@web3modal/core';\nimport { state } from 'lit/decorators.js';\nlet W3mWalletSendView = class W3mWalletSendView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.token = SendController.state.token;\n this.sendTokenAmount = SendController.state.sendTokenAmount;\n this.receiverAddress = SendController.state.receiverAddress;\n this.message = 'Preview Send';\n this.unsubscribe.push(...[\n SendController.subscribe(val => {\n this.token = val.token;\n this.sendTokenAmount = val.sendTokenAmount;\n this.receiverAddress = val.receiverAddress;\n })\n ]);\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n this.getMessage();\n return html ` \n \n \n \n \n \n \n \n ${this.message}\n \n \n `;\n }\n onButtonClick() {\n RouterController.push('WalletSendPreview');\n }\n getMessage() {\n this.message = 'Preview Send';\n if (this.receiverAddress && !CoreHelperUtil.isAddress(this.receiverAddress)) {\n this.message = 'Invalid Address';\n }\n if (!this.receiverAddress) {\n this.message = 'Add Address';\n }\n if (this.sendTokenAmount &&\n this.token &&\n this.sendTokenAmount > Number(this.token.quantity.numeric)) {\n this.message = 'Insufficient Funds';\n }\n if (!this.sendTokenAmount) {\n this.message = 'Add Amount';\n }\n if (!this.token) {\n this.message = 'Select Token';\n }\n }\n};\nW3mWalletSendView.styles = styles;\n__decorate([\n state()\n], W3mWalletSendView.prototype, \"token\", void 0);\n__decorate([\n state()\n], W3mWalletSendView.prototype, \"sendTokenAmount\", void 0);\n__decorate([\n state()\n], W3mWalletSendView.prototype, \"receiverAddress\", void 0);\n__decorate([\n state()\n], W3mWalletSendView.prototype, \"message\", void 0);\nW3mWalletSendView = __decorate([\n customElement('w3m-wallet-send-view')\n], W3mWalletSendView);\nexport { W3mWalletSendView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n .contentContainer {\n height: 440px;\n overflow: scroll;\n scrollbar-width: none;\n }\n\n wui-icon-box {\n width: 40px;\n height: 40px;\n border-radius: var(--wui-border-radius-xxs);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nimport { AccountController, CoreHelperUtil, RouterController, SendController } from '@web3modal/core';\nimport { state } from 'lit/decorators.js';\nlet W3mSendSelectTokenView = class W3mSendSelectTokenView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.tokenBalance = AccountController.state.tokenBalance;\n this.search = '';\n this.onDebouncedSearch = CoreHelperUtil.debounce((value) => {\n this.search = value;\n });\n this.unsubscribe.push(...[\n AccountController.subscribe(val => {\n this.tokenBalance = val.tokenBalance;\n })\n ]);\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return html `\n \n ${this.templateSearchInput()} ${this.templateTokens()}\n \n `;\n }\n templateSearchInput() {\n return html `\n \n \n \n `;\n }\n templateTokens() {\n if (this.search) {\n this.tokens = this.tokenBalance?.filter(token => token.name.toLowerCase().includes(this.search.toLowerCase()));\n }\n else {\n this.tokens = this.tokenBalance;\n }\n return html `\n \n \n Your tokens\n \n \n ${this.tokens && this.tokens.length > 0\n ? this.tokens.map(token => html ``)\n : html `\n \n \n No tokens found\n Your tokens will appear here\n \n Buy\n `}\n \n \n `;\n }\n onBuyClick() {\n RouterController.push('OnRampProviders');\n }\n onInputChange(event) {\n this.onDebouncedSearch(event.detail);\n }\n handleTokenClick(token) {\n SendController.setToken(token);\n SendController.setTokenAmount(undefined);\n RouterController.goBack();\n }\n};\nW3mSendSelectTokenView.styles = styles;\n__decorate([\n state()\n], W3mSendSelectTokenView.prototype, \"tokenBalance\", void 0);\n__decorate([\n state()\n], W3mSendSelectTokenView.prototype, \"tokens\", void 0);\n__decorate([\n state()\n], W3mSendSelectTokenView.prototype, \"search\", void 0);\nW3mSendSelectTokenView = __decorate([\n customElement('w3m-wallet-send-select-token-view')\n], W3mSendSelectTokenView);\nexport { W3mSendSelectTokenView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-avatar,\n wui-image {\n display: ruby;\n width: 32px;\n height: 32px;\n border-radius: var(--wui-border-radius-3xl);\n }\n\n .sendButton {\n width: 70%;\n --local-width: 100% !important;\n --local-border-radius: var(--wui-border-radius-xs) !important;\n }\n\n .cancelButton {\n width: 30%;\n --local-width: 100% !important;\n --local-border-radius: var(--wui-border-radius-xs) !important;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { UiHelperUtil, customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nimport { state } from 'lit/decorators.js';\nimport { NetworkController, RouterController, SendController } from '@web3modal/core';\nlet W3mWalletSendPreviewView = class W3mWalletSendPreviewView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.token = SendController.state.token;\n this.sendTokenAmount = SendController.state.sendTokenAmount;\n this.receiverAddress = SendController.state.receiverAddress;\n this.caipNetwork = NetworkController.state.caipNetwork;\n this.unsubscribe.push(...[\n SendController.subscribe(val => {\n this.token = val.token;\n this.sendTokenAmount = val.sendTokenAmount;\n this.receiverAddress = val.receiverAddress;\n }),\n NetworkController.subscribeKey('caipNetwork', val => (this.caipNetwork = val))\n ]);\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return html ` \n \n \n \n Send\n ${this.sendValueTemplate()}\n \n \n \n \n \n \n \n To\n \n \n \n \n \n \n \n Review transaction carefully\n \n \n \n Cancel\n \n \n Send\n \n \n `;\n }\n sendValueTemplate() {\n if (this.token && this.sendTokenAmount) {\n const price = this.token.price;\n const totalValue = price * this.sendTokenAmount;\n return html `$${totalValue.toFixed(2)}`;\n }\n return null;\n }\n onSendClick() {\n RouterController.reset('Account');\n setTimeout(() => {\n SendController.resetSend();\n }, 200);\n }\n onCancelClick() {\n RouterController.goBack();\n }\n};\nW3mWalletSendPreviewView.styles = styles;\n__decorate([\n state()\n], W3mWalletSendPreviewView.prototype, \"token\", void 0);\n__decorate([\n state()\n], W3mWalletSendPreviewView.prototype, \"sendTokenAmount\", void 0);\n__decorate([\n state()\n], W3mWalletSendPreviewView.prototype, \"receiverAddress\", void 0);\n__decorate([\n state()\n], W3mWalletSendPreviewView.prototype, \"caipNetwork\", void 0);\nW3mWalletSendPreviewView = __decorate([\n customElement('w3m-wallet-send-preview-view')\n], W3mWalletSendPreviewView);\nexport { W3mWalletSendPreviewView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-grid {\n max-height: clamp(360px, 400px, 80vh);\n overflow: scroll;\n scrollbar-width: none;\n grid-auto-rows: min-content;\n grid-template-columns: repeat(auto-fill, 76px);\n }\n\n @media (max-width: 435px) {\n wui-grid {\n grid-template-columns: repeat(auto-fill, 77px);\n }\n }\n\n wui-grid[data-scroll='false'] {\n overflow: hidden;\n }\n\n wui-grid::-webkit-scrollbar {\n display: none;\n }\n\n wui-loading-spinner {\n padding-top: var(--wui-spacing-l);\n padding-bottom: var(--wui-spacing-l);\n justify-content: center;\n grid-column: 1 / span 4;\n }\n`;\n//# sourceMappingURL=styles.js.map","import { ConnectorController } from '@web3modal/core';\nexport function markWalletsAsInstalled(wallets) {\n const { connectors } = ConnectorController.state;\n const installedConnectors = connectors\n .filter(c => c.type === 'ANNOUNCED')\n .reduce((acum, val) => {\n if (!val.info?.rdns) {\n return acum;\n }\n acum[val.info.rdns] = true;\n return acum;\n }, {});\n const walletsWithInstalled = wallets.map(wallet => ({\n ...wallet,\n installed: Boolean(wallet.rdns) && Boolean(installedConnectors[wallet.rdns ?? ''])\n }));\n const sortedWallets = walletsWithInstalled.sort((a, b) => Number(b.installed) - Number(a.installed));\n return sortedWallets;\n}\n//# sourceMappingURL=markWalletsAsInstalled.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ApiController, AssetUtil, ConnectorController, RouterController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nimport { markWalletsAsInstalled } from '../../utils/markWalletsAsInstalled.js';\nconst PAGINATOR_ID = 'local-paginator';\nlet W3mAllWalletsList = class W3mAllWalletsList extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.paginationObserver = undefined;\n this.initial = !ApiController.state.wallets.length;\n this.wallets = ApiController.state.wallets;\n this.recommended = ApiController.state.recommended;\n this.featured = ApiController.state.featured;\n this.unsubscribe.push(...[\n ApiController.subscribeKey('wallets', val => (this.wallets = val)),\n ApiController.subscribeKey('recommended', val => (this.recommended = val)),\n ApiController.subscribeKey('featured', val => (this.featured = val))\n ]);\n }\n firstUpdated() {\n this.initialFetch();\n this.createPaginationObserver();\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n this.paginationObserver?.disconnect();\n }\n render() {\n return html `\n \n ${this.initial ? this.shimmerTemplate(16) : this.walletsTemplate()}\n ${this.paginationLoaderTemplate()}\n \n `;\n }\n async initialFetch() {\n const gridEl = this.shadowRoot?.querySelector('wui-grid');\n if (this.initial && gridEl) {\n await ApiController.fetchWallets({ page: 1 });\n await gridEl.animate([{ opacity: 1 }, { opacity: 0 }], {\n duration: 200,\n fill: 'forwards',\n easing: 'ease'\n }).finished;\n this.initial = false;\n gridEl.animate([{ opacity: 0 }, { opacity: 1 }], {\n duration: 200,\n fill: 'forwards',\n easing: 'ease'\n });\n }\n }\n shimmerTemplate(items, id) {\n return [...Array(items)].map(() => html `\n \n `);\n }\n walletsTemplate() {\n const wallets = [...this.featured, ...this.recommended, ...this.wallets];\n const walletsWithInstalled = markWalletsAsInstalled(wallets);\n return walletsWithInstalled.map(wallet => html `\n this.onConnectWallet(wallet)}\n .installed=${wallet.installed}\n >\n `);\n }\n paginationLoaderTemplate() {\n const { wallets, recommended, featured, count } = ApiController.state;\n const columns = window.innerWidth < 352 ? 3 : 4;\n const currentWallets = wallets.length + recommended.length;\n const minimumRows = Math.ceil(currentWallets / columns);\n let shimmerCount = minimumRows * columns - currentWallets + columns;\n shimmerCount -= wallets.length ? featured.length % columns : 0;\n if (count === 0 && featured.length > 0) {\n return null;\n }\n if (count === 0 || [...featured, ...wallets, ...recommended].length < count) {\n return this.shimmerTemplate(shimmerCount, PAGINATOR_ID);\n }\n return null;\n }\n createPaginationObserver() {\n const loaderEl = this.shadowRoot?.querySelector(`#${PAGINATOR_ID}`);\n if (loaderEl) {\n this.paginationObserver = new IntersectionObserver(([element]) => {\n if (element?.isIntersecting && !this.initial) {\n const { page, count, wallets } = ApiController.state;\n if (wallets.length < count) {\n ApiController.fetchWallets({ page: page + 1 });\n }\n }\n });\n this.paginationObserver.observe(loaderEl);\n }\n }\n onConnectWallet(wallet) {\n const connector = ConnectorController.getConnector(wallet.id, wallet.rdns);\n if (connector) {\n RouterController.push('ConnectingExternal', { connector });\n }\n else {\n RouterController.push('ConnectingWalletConnect', { wallet });\n }\n }\n};\nW3mAllWalletsList.styles = styles;\n__decorate([\n state()\n], W3mAllWalletsList.prototype, \"initial\", void 0);\n__decorate([\n state()\n], W3mAllWalletsList.prototype, \"wallets\", void 0);\n__decorate([\n state()\n], W3mAllWalletsList.prototype, \"recommended\", void 0);\n__decorate([\n state()\n], W3mAllWalletsList.prototype, \"featured\", void 0);\nW3mAllWalletsList = __decorate([\n customElement('w3m-all-wallets-list')\n], W3mAllWalletsList);\nexport { W3mAllWalletsList };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-grid,\n wui-loading-spinner,\n wui-flex {\n height: 360px;\n }\n\n wui-grid {\n overflow: scroll;\n scrollbar-width: none;\n grid-auto-rows: min-content;\n }\n\n wui-grid[data-scroll='false'] {\n overflow: hidden;\n }\n\n wui-grid::-webkit-scrollbar {\n display: none;\n }\n\n wui-loading-spinner {\n justify-content: center;\n align-items: center;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ApiController, AssetUtil, ConnectorController, RouterController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nimport { markWalletsAsInstalled } from '../../utils/markWalletsAsInstalled.js';\nlet W3mAllWalletsSearch = class W3mAllWalletsSearch extends LitElement {\n constructor() {\n super(...arguments);\n this.prevQuery = '';\n this.loading = true;\n this.query = '';\n }\n render() {\n this.onSearch();\n return this.loading\n ? html ``\n : this.walletsTemplate();\n }\n async onSearch() {\n if (this.query !== this.prevQuery) {\n this.prevQuery = this.query;\n this.loading = true;\n await ApiController.searchWallet({ search: this.query });\n this.loading = false;\n }\n }\n walletsTemplate() {\n const { search } = ApiController.state;\n const wallets = markWalletsAsInstalled(search);\n if (!search.length) {\n return html `\n \n \n No Wallet found\n \n `;\n }\n return html `\n \n ${wallets.map(wallet => html `\n this.onConnectWallet(wallet)}\n .installed=${wallet.installed}\n >\n `)}\n \n `;\n }\n onConnectWallet(wallet) {\n const connector = ConnectorController.getConnector(wallet.id, wallet.rdns);\n if (connector) {\n RouterController.push('ConnectingExternal', { connector });\n }\n else {\n RouterController.push('ConnectingWalletConnect', { wallet });\n }\n }\n};\nW3mAllWalletsSearch.styles = styles;\n__decorate([\n state()\n], W3mAllWalletsSearch.prototype, \"loading\", void 0);\n__decorate([\n property()\n], W3mAllWalletsSearch.prototype, \"query\", void 0);\nW3mAllWalletsSearch = __decorate([\n customElement('w3m-all-wallets-search')\n], W3mAllWalletsSearch);\nexport { W3mAllWalletsSearch };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ConnectionController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nlet W3mConnectingHeader = class W3mConnectingHeader extends LitElement {\n constructor() {\n super();\n this.platformTabs = [];\n this.unsubscribe = [];\n this.platforms = [];\n this.onSelectPlatfrom = undefined;\n this.buffering = false;\n this.unsubscribe.push(ConnectionController.subscribeKey('buffering', val => (this.buffering = val)));\n }\n disconnectCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n const tabs = this.generateTabs();\n return html `\n \n \n \n `;\n }\n generateTabs() {\n const tabs = this.platforms.map(platform => {\n if (platform === 'browser') {\n return { label: 'Browser', icon: 'extension', platform: 'browser' };\n }\n else if (platform === 'mobile') {\n return { label: 'Mobile', icon: 'mobile', platform: 'mobile' };\n }\n else if (platform === 'qrcode') {\n return { label: 'Mobile', icon: 'mobile', platform: 'qrcode' };\n }\n else if (platform === 'web') {\n return { label: 'Webapp', icon: 'browser', platform: 'web' };\n }\n else if (platform === 'desktop') {\n return { label: 'Desktop', icon: 'desktop', platform: 'desktop' };\n }\n return { label: 'Browser', icon: 'extension', platform: 'unsupported' };\n });\n this.platformTabs = tabs.map(({ platform }) => platform);\n return tabs;\n }\n onTabChange(index) {\n const tab = this.platformTabs[index];\n if (tab) {\n this.onSelectPlatfrom?.(tab);\n }\n }\n};\n__decorate([\n property({ type: Array })\n], W3mConnectingHeader.prototype, \"platforms\", void 0);\n__decorate([\n property()\n], W3mConnectingHeader.prototype, \"onSelectPlatfrom\", void 0);\n__decorate([\n state()\n], W3mConnectingHeader.prototype, \"buffering\", void 0);\nW3mConnectingHeader = __decorate([\n customElement('w3m-connecting-header')\n], W3mConnectingHeader);\nexport { W3mConnectingHeader };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ConnectionController, ConnectorController, EventsController, ModalController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { W3mConnectingWidget } from '../../utils/w3m-connecting-widget/index.js';\nlet W3mConnectingWcBrowser = class W3mConnectingWcBrowser extends W3mConnectingWidget {\n constructor() {\n super();\n if (!this.wallet) {\n throw new Error('w3m-connecting-wc-browser: No wallet provided');\n }\n this.onConnect = this.onConnectProxy.bind(this);\n this.onAutoConnect = this.onConnectProxy.bind(this);\n EventsController.sendEvent({\n type: 'track',\n event: 'SELECT_WALLET',\n properties: { name: this.wallet.name, platform: 'browser' }\n });\n }\n async onConnectProxy() {\n try {\n this.error = false;\n const { connectors } = ConnectorController.state;\n const announcedConnector = connectors.find(c => c.type === 'ANNOUNCED' && c.info?.rdns === this.wallet?.rdns);\n const injectedConnector = connectors.find(c => c.type === 'INJECTED');\n if (announcedConnector) {\n await ConnectionController.connectExternal(announcedConnector);\n }\n else if (injectedConnector) {\n await ConnectionController.connectExternal(injectedConnector);\n }\n ModalController.close();\n EventsController.sendEvent({\n type: 'track',\n event: 'CONNECT_SUCCESS',\n properties: { method: 'browser', name: this.wallet?.name || 'Unknown' }\n });\n }\n catch (error) {\n EventsController.sendEvent({\n type: 'track',\n event: 'CONNECT_ERROR',\n properties: { message: error?.message ?? 'Unknown' }\n });\n this.error = true;\n }\n }\n};\nW3mConnectingWcBrowser = __decorate([\n customElement('w3m-connecting-wc-browser')\n], W3mConnectingWcBrowser);\nexport { W3mConnectingWcBrowser };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ConnectionController, CoreHelperUtil, EventsController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { W3mConnectingWidget } from '../../utils/w3m-connecting-widget/index.js';\nlet W3mConnectingWcDesktop = class W3mConnectingWcDesktop extends W3mConnectingWidget {\n constructor() {\n super();\n if (!this.wallet) {\n throw new Error('w3m-connecting-wc-desktop: No wallet provided');\n }\n this.onConnect = this.onConnectProxy.bind(this);\n this.onRender = this.onRenderProxy.bind(this);\n EventsController.sendEvent({\n type: 'track',\n event: 'SELECT_WALLET',\n properties: { name: this.wallet.name, platform: 'desktop' }\n });\n }\n onRenderProxy() {\n if (!this.ready && this.uri) {\n this.ready = true;\n this.timeout = setTimeout(() => {\n this.onConnect?.();\n }, 200);\n }\n }\n onConnectProxy() {\n if (this.wallet?.desktop_link && this.uri) {\n try {\n this.error = false;\n const { desktop_link, name } = this.wallet;\n const { redirect, href } = CoreHelperUtil.formatNativeUrl(desktop_link, this.uri);\n ConnectionController.setWcLinking({ name, href });\n ConnectionController.setRecentWallet(this.wallet);\n CoreHelperUtil.openHref(redirect, '_blank');\n }\n catch {\n this.error = true;\n }\n }\n }\n};\nW3mConnectingWcDesktop = __decorate([\n customElement('w3m-connecting-wc-desktop')\n], W3mConnectingWcDesktop);\nexport { W3mConnectingWcDesktop };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ConnectionController, CoreHelperUtil, EventsController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { W3mConnectingWidget } from '../../utils/w3m-connecting-widget/index.js';\nlet W3mConnectingWcMobile = class W3mConnectingWcMobile extends W3mConnectingWidget {\n constructor() {\n super();\n if (!this.wallet) {\n throw new Error('w3m-connecting-wc-mobile: No wallet provided');\n }\n this.onConnect = this.onConnectProxy.bind(this);\n this.onRender = this.onRenderProxy.bind(this);\n document.addEventListener('visibilitychange', this.onBuffering.bind(this));\n EventsController.sendEvent({\n type: 'track',\n event: 'SELECT_WALLET',\n properties: { name: this.wallet.name, platform: 'mobile' }\n });\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n document.removeEventListener('visibilitychange', this.onBuffering.bind(this));\n }\n onRenderProxy() {\n if (!this.ready && this.uri) {\n this.ready = true;\n this.onConnect?.();\n }\n }\n onConnectProxy() {\n if (this.wallet?.mobile_link && this.uri) {\n try {\n this.error = false;\n const { mobile_link, name } = this.wallet;\n const { redirect, href } = CoreHelperUtil.formatNativeUrl(mobile_link, this.uri);\n ConnectionController.setWcLinking({ name, href });\n ConnectionController.setRecentWallet(this.wallet);\n CoreHelperUtil.openHref(redirect, '_self');\n }\n catch {\n this.error = true;\n }\n }\n }\n onBuffering() {\n const isIos = CoreHelperUtil.isIos();\n if (document?.visibilityState === 'visible' && !this.error && isIos) {\n ConnectionController.setBuffering(true);\n setTimeout(() => {\n ConnectionController.setBuffering(false);\n }, 5000);\n }\n }\n};\nW3mConnectingWcMobile = __decorate([\n customElement('w3m-connecting-wc-mobile')\n], W3mConnectingWcMobile);\nexport { W3mConnectingWcMobile };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n @keyframes fadein {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n\n wui-shimmer {\n width: 100%;\n aspect-ratio: 1 / 1;\n border-radius: clamp(0px, var(--wui-border-radius-l), 40px) !important;\n }\n\n wui-qr-code {\n opacity: 0;\n animation-duration: 200ms;\n animation-timing-function: ease;\n animation-name: fadein;\n animation-fill-mode: forwards;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AssetUtil, ConnectionController, EventsController, ThemeController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { W3mConnectingWidget } from '../../utils/w3m-connecting-widget/index.js';\nimport styles from './styles.js';\nlet W3mConnectingWcQrcode = class W3mConnectingWcQrcode extends W3mConnectingWidget {\n constructor() {\n super();\n this.forceUpdate = () => {\n this.requestUpdate();\n };\n window.addEventListener('resize', this.forceUpdate);\n EventsController.sendEvent({\n type: 'track',\n event: 'SELECT_WALLET',\n properties: { name: this.wallet?.name ?? 'WalletConnect', platform: 'qrcode' }\n });\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n window.removeEventListener('resize', this.forceUpdate);\n }\n render() {\n this.onRenderProxy();\n return html `\n \n ${this.qrCodeTemplate()} \n\n \n Scan this QR Code with your phone\n \n ${this.copyTemplate()}\n \n\n \n `;\n }\n onRenderProxy() {\n if (!this.ready && this.uri) {\n this.timeout = setTimeout(() => {\n this.ready = true;\n }, 200);\n }\n }\n qrCodeTemplate() {\n if (!this.uri || !this.ready) {\n return null;\n }\n const size = this.getBoundingClientRect().width - 40;\n const alt = this.wallet ? this.wallet.name : undefined;\n ConnectionController.setWcLinking(undefined);\n ConnectionController.setRecentWallet(this.wallet);\n return html ` `;\n }\n copyTemplate() {\n const inactive = !this.uri || !this.ready;\n return html `\n \n Copy link\n `;\n }\n};\nW3mConnectingWcQrcode.styles = styles;\nW3mConnectingWcQrcode = __decorate([\n customElement('w3m-connecting-wc-qrcode')\n], W3mConnectingWcQrcode);\nexport { W3mConnectingWcQrcode };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AssetUtil, EventsController, RouterController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nlet W3mConnectingWcUnsupported = class W3mConnectingWcUnsupported extends LitElement {\n constructor() {\n super();\n this.wallet = RouterController.state.data?.wallet;\n if (!this.wallet) {\n throw new Error('w3m-connecting-wc-unsupported: No wallet provided');\n }\n EventsController.sendEvent({\n type: 'track',\n event: 'SELECT_WALLET',\n properties: { name: this.wallet.name, platform: 'browser' }\n });\n }\n render() {\n return html `\n \n \n\n Not Detected\n \n\n \n `;\n }\n};\nW3mConnectingWcUnsupported = __decorate([\n customElement('w3m-connecting-wc-unsupported')\n], W3mConnectingWcUnsupported);\nexport { W3mConnectingWcUnsupported };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ConnectionController, CoreHelperUtil, EventsController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { W3mConnectingWidget } from '../../utils/w3m-connecting-widget/index.js';\nlet W3mConnectingWcWeb = class W3mConnectingWcWeb extends W3mConnectingWidget {\n constructor() {\n super();\n if (!this.wallet) {\n throw new Error('w3m-connecting-wc-web: No wallet provided');\n }\n this.onConnect = this.onConnectProxy.bind(this);\n this.secondaryBtnLabel = 'Open';\n this.secondaryLabel = 'Open and continue in a new browser tab';\n this.secondaryBtnIcon = 'externalLink';\n EventsController.sendEvent({\n type: 'track',\n event: 'SELECT_WALLET',\n properties: { name: this.wallet.name, platform: 'web' }\n });\n }\n onConnectProxy() {\n if (this.wallet?.webapp_link && this.uri) {\n try {\n this.error = false;\n const { webapp_link, name } = this.wallet;\n const { redirect, href } = CoreHelperUtil.formatUniversalUrl(webapp_link, this.uri);\n ConnectionController.setWcLinking({ name, href });\n ConnectionController.setRecentWallet(this.wallet);\n CoreHelperUtil.openHref(redirect, '_blank');\n }\n catch {\n this.error = true;\n }\n }\n }\n};\nW3mConnectingWcWeb = __decorate([\n customElement('w3m-connecting-wc-web')\n], W3mConnectingWcWeb);\nexport { W3mConnectingWcWeb };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n width: 100%;\n }\n\n .details-container > wui-flex {\n background: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-xxs);\n width: 100%;\n }\n\n .details-container > wui-flex > button {\n border: none;\n background: none;\n padding: var(--wui-spacing-s);\n border-radius: var(--wui-border-radius-xxs);\n cursor: pointer;\n }\n\n .details-content-container {\n padding: var(--wui-spacing-1xs);\n padding-top: 0px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .details-content-container > wui-flex {\n width: 100%;\n }\n\n .details-row {\n width: 100%;\n padding: var(--wui-spacing-s);\n padding-left: var(--wui-spacing-s);\n padding-right: var(--wui-spacing-1xs);\n border-radius: calc(var(--wui-border-radius-5xs) + var(--wui-border-radius-4xs));\n background: var(--wui-gray-glass-002);\n }\n\n .details-row.provider-free-row {\n padding-right: var(--wui-spacing-xs);\n }\n\n .free-badge {\n background: rgba(38, 217, 98, 0.15);\n border-radius: var(--wui-border-radius-4xs);\n padding: 4.5px 6px;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport styles from './styles.js';\nimport { UiHelperUtil, customElement } from '@web3modal/ui';\nlet WuiConvertDetails = class WuiConvertDetails extends LitElement {\n constructor() {\n super(...arguments);\n this.detailsOpen = false;\n this.slippageRate = 1;\n }\n render() {\n return html `\n \n \n \n ${this.detailsOpen\n ? html `\n \n \n \n Network cost\n \n $${UiHelperUtil.formatNumberToLocalString(this.gasPriceInUSD, 3)}\n \n \n \n ${this.priceImpact\n ? html ` \n \n Price impact\n \n \n ${UiHelperUtil.formatNumberToLocalString(this.priceImpact, 3)}%\n \n \n \n `\n : null}\n ${this.maxSlippage && this.sourceTokenSymbol\n ? html `\n \n Max. slippage\n \n \n ${UiHelperUtil.formatNumberToLocalString(this.maxSlippage, 6)}\n ${this.sourceTokenSymbol} ${this.slippageRate}%\n \n \n \n `\n : null}\n \n \n Provider fee\n \n Free\n \n \n \n \n `\n : null}\n \n \n `;\n }\n toggleDetails() {\n this.detailsOpen = !this.detailsOpen;\n }\n};\nWuiConvertDetails.styles = [styles];\n__decorate([\n property()\n], WuiConvertDetails.prototype, \"detailsOpen\", void 0);\n__decorate([\n property()\n], WuiConvertDetails.prototype, \"sourceTokenSymbol\", void 0);\n__decorate([\n property()\n], WuiConvertDetails.prototype, \"sourceTokenPrice\", void 0);\n__decorate([\n property()\n], WuiConvertDetails.prototype, \"toTokenSymbol\", void 0);\n__decorate([\n property()\n], WuiConvertDetails.prototype, \"toTokenConvertedAmount\", void 0);\n__decorate([\n property()\n], WuiConvertDetails.prototype, \"gasPriceInUSD\", void 0);\n__decorate([\n property()\n], WuiConvertDetails.prototype, \"priceImpact\", void 0);\n__decorate([\n property()\n], WuiConvertDetails.prototype, \"slippageRate\", void 0);\n__decorate([\n property()\n], WuiConvertDetails.prototype, \"maxSlippage\", void 0);\nWuiConvertDetails = __decorate([\n customElement('w3m-convert-details')\n], WuiConvertDetails);\nexport { WuiConvertDetails };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-flex {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n border-radius: var(--wui-border-radius-s);\n padding: var(--wui-spacing-xl);\n padding-right: var(--wui-spacing-s);\n width: 100%;\n height: 100px;\n box-sizing: border-box;\n position: relative;\n }\n\n :host > wui-flex > svg.input_mask {\n position: absolute;\n inset: 0;\n z-index: 5;\n }\n\n :host wui-flex .input_mask__border,\n :host wui-flex .input_mask__background {\n transition: fill var(--wui-duration-md) var(--wui-ease-out-power-1);\n will-change: fill;\n }\n\n :host wui-flex .input_mask__border {\n fill: var(--wui-gray-glass-005);\n }\n\n :host wui-flex .input_mask__background {\n fill: var(--wui-gray-glass-002);\n }\n\n :host wui-flex.focus .input_mask__border {\n fill: var(--wui-gray-glass-020);\n }\n\n :host > wui-flex .swap-input,\n :host > wui-flex .swap-token-button {\n z-index: 10;\n }\n\n :host > wui-flex .swap-input {\n -webkit-mask-image: linear-gradient(\n 270deg,\n transparent 0px,\n transparent 8px,\n black 24px,\n black 25px,\n black 32px,\n black 100%\n );\n mask-image: linear-gradient(\n 270deg,\n transparent 0px,\n transparent 8px,\n black 24px,\n black 25px,\n black 32px,\n black 100%\n );\n }\n\n :host > wui-flex .swap-input input {\n background: none;\n border: none;\n height: 42px;\n width: 100%;\n font-size: 32px;\n font-style: normal;\n font-weight: 400;\n line-height: 130%;\n letter-spacing: -1.28px;\n outline: none;\n caret-color: var(--wui-color-accent-100);\n color: var(--wui-color-fg-100);\n }\n\n :host > wui-flex .swap-input input:focus-visible {\n outline: none;\n }\n\n :host > wui-flex .swap-input input::-webkit-outer-spin-button,\n :host > wui-flex .swap-input input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n .token-select-button {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--wui-spacing-xxs);\n padding: var(--wui-spacing-xs);\n padding-right: var(--wui-spacing-1xs);\n height: 40px;\n border: none;\n border-radius: 80px;\n background: var(--wui-gray-glass-002);\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-002);\n cursor: pointer;\n transition: background 0.2s linear;\n }\n\n .token-select-button:hover {\n background: var(--wui-gray-glass-005);\n }\n\n .token-select-button wui-image {\n width: 24px;\n height: 24px;\n border-radius: var(--wui-border-radius-s);\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-010);\n }\n\n .max-value-button {\n background-color: transparent;\n border: none;\n cursor: pointer;\n color: var(--wui-gray-glass-020);\n padding-left: 0px;\n }\n\n .market-value {\n min-height: 18px;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { EventsController, RouterController } from '@web3modal/core';\nimport { NumberUtil } from '@web3modal/common';\nimport { UiHelperUtil, customElement, convertInputMaskBottomSvg, convertInputMaskTopSvg } from '@web3modal/ui';\nimport styles from './styles.js';\nconst MINIMUM_USD_VALUE_TO_CONVERT = 0.00005;\nlet W3mConvertInput = class W3mConvertInput extends LitElement {\n constructor() {\n super(...arguments);\n this.focused = false;\n this.price = 0;\n this.marketValue = '$1.0345,00';\n this.target = 'sourceToken';\n this.onSetAmount = null;\n this.onSetMaxValue = null;\n }\n render() {\n const marketValue = this.marketValue || '0';\n const isMarketValueGreaterThanZero = NumberUtil.bigNumber(marketValue).isGreaterThan(0);\n return html `\n \n ${this.target === 'sourceToken' ? convertInputMaskTopSvg : convertInputMaskBottomSvg}\n \n this.onFocusChange(true)}\n @focusout=${() => this.onFocusChange(false)}\n ?disabled=${this.disabled}\n .value=${this.value}\n @input=${this.dispatchInputChangeEvent}\n @keydown=${this.handleKeydown}\n placeholder=\"0\"\n />\n \n ${isMarketValueGreaterThanZero ? `$${this.marketValue}` : null}\n \n \n ${this.templateTokenSelectButton()}\n \n `;\n }\n handleKeydown(event) {\n const allowedKeys = [\n 'Backspace',\n 'Meta',\n 'Ctrl',\n 'a',\n 'c',\n 'v',\n 'ArrowLeft',\n 'ArrowRight',\n 'Tab'\n ];\n const isComma = event.key === ',';\n const isDot = event.key === '.';\n const isNumericKey = event.key >= '0' && event.key <= '9';\n const currentValue = this.value;\n if (!isNumericKey && !allowedKeys.includes(event.key) && !isDot && !isComma) {\n event.preventDefault();\n }\n if (isComma || isDot) {\n if (currentValue?.includes('.') || currentValue?.includes(',')) {\n event.preventDefault();\n }\n }\n }\n dispatchInputChangeEvent(event) {\n if (!this.onSetAmount) {\n return;\n }\n const value = event.target.value;\n if (value === ',' || value === '.') {\n this.onSetAmount(this.target, '0.');\n }\n else if (value.endsWith(',')) {\n this.onSetAmount(this.target, value.replace(',', '.'));\n }\n else {\n this.onSetAmount(this.target, value);\n }\n }\n setMaxValueToInput() {\n this.onSetMaxValue?.(this.target, this.balance);\n }\n templateTokenSelectButton() {\n if (!this.token) {\n return html ` \n Select token\n `;\n }\n const tokenElement = this.token.logoUri\n ? html ``\n : html `\n \n `;\n return html `\n \n \n ${tokenElement}\n ${this.token.symbol}\n \n ${this.tokenBalanceTemplate()} \n \n `;\n }\n tokenBalanceTemplate() {\n const balanceValueInUSD = NumberUtil.multiply(this.balance, this.price);\n const haveBalance = balanceValueInUSD\n ? balanceValueInUSD?.isGreaterThan(MINIMUM_USD_VALUE_TO_CONVERT)\n : false;\n return html `\n ${haveBalance\n ? html `\n ${UiHelperUtil.formatNumberToLocalString(this.balance, 3)}\n `\n : null}\n ${this.target === 'sourceToken' ? this.tokenActionButtonTemplate(haveBalance) : null}\n `;\n }\n tokenActionButtonTemplate(haveBalance) {\n if (haveBalance) {\n return html ` `;\n }\n return html ` `;\n }\n onFocusChange(state) {\n this.focused = state;\n }\n onSelectToken() {\n EventsController.sendEvent({ type: 'track', event: 'CLICK_SELECT_TOKEN_TO_SWAP' });\n RouterController.push('ConvertSelectToken', {\n target: this.target\n });\n }\n onBuyToken() {\n RouterController.push('OnRampProviders');\n }\n};\nW3mConvertInput.styles = [styles];\n__decorate([\n property()\n], W3mConvertInput.prototype, \"focused\", void 0);\n__decorate([\n property()\n], W3mConvertInput.prototype, \"balance\", void 0);\n__decorate([\n property()\n], W3mConvertInput.prototype, \"value\", void 0);\n__decorate([\n property()\n], W3mConvertInput.prototype, \"price\", void 0);\n__decorate([\n property()\n], W3mConvertInput.prototype, \"marketValue\", void 0);\n__decorate([\n property()\n], W3mConvertInput.prototype, \"disabled\", void 0);\n__decorate([\n property()\n], W3mConvertInput.prototype, \"target\", void 0);\n__decorate([\n property()\n], W3mConvertInput.prototype, \"token\", void 0);\n__decorate([\n property()\n], W3mConvertInput.prototype, \"onSetAmount\", void 0);\n__decorate([\n property()\n], W3mConvertInput.prototype, \"onSetMaxValue\", void 0);\nW3mConvertInput = __decorate([\n customElement('w3m-convert-input')\n], W3mConvertInput);\nexport { W3mConvertInput };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-icon-link[data-hidden='true'] {\n opacity: 0 !important;\n pointer-events: none;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ConnectionController, ConnectorController, EventsController, ModalController, OptionsController, RouterController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport styles from './styles.js';\nfunction headings() {\n const connectorName = RouterController.state.data?.connector?.name;\n const walletName = RouterController.state.data?.wallet?.name;\n const networkName = RouterController.state.data?.network?.name;\n const name = walletName ?? connectorName;\n const connectors = ConnectorController.getConnectors();\n const isEmail = connectors.length === 1 && connectors[0]?.id === 'w3m-email';\n return {\n Connect: `Connect ${isEmail ? 'Email' : ''} Wallet`,\n Account: undefined,\n AccountSettings: undefined,\n ConnectingExternal: name ?? 'Connect Wallet',\n ConnectingWalletConnect: name ?? 'WalletConnect',\n ConnectingSiwe: 'Sign In',\n Networks: 'Choose Network',\n SwitchNetwork: networkName ?? 'Switch Network',\n AllWallets: 'All Wallets',\n WhatIsANetwork: 'What is a network?',\n WhatIsAWallet: 'What is a wallet?',\n GetWallet: 'Get a wallet',\n Downloads: name ? `Get ${name}` : 'Downloads',\n EmailVerifyOtp: 'Confirm Email',\n EmailVerifyDevice: 'Register Device',\n ApproveTransaction: 'Approve Transaction',\n Transactions: 'Activity',\n UpgradeEmailWallet: 'Upgrade your Wallet',\n UpgradeToSmartAccount: undefined,\n UpdateEmailWallet: 'Edit Email',\n UpdateEmailPrimaryOtp: 'Confirm Current Email',\n UpdateEmailSecondaryOtp: 'Confirm New Email',\n UnsupportedChain: 'Switch Network',\n OnRampProviders: 'Choose Provider',\n OnRampActivity: 'Activity',\n WhatIsABuy: 'What is Buy?',\n BuyInProgress: 'Buy',\n OnRampTokenSelect: 'Select Token',\n OnRampFiatSelect: 'Select Currency',\n WalletReceive: 'Receive',\n WalletCompatibleNetworks: 'Compatible Networks',\n Convert: 'Convert',\n ConvertSelectToken: 'Select token',\n ConvertPreview: 'Preview convert',\n WalletSend: 'Send',\n WalletSendPreview: 'Review send',\n WalletSendSelectToken: 'Select Token'\n };\n}\nlet W3mHeader = class W3mHeader extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.heading = headings()[RouterController.state.view];\n this.buffering = false;\n this.showBack = false;\n this.unsubscribe.push(RouterController.subscribeKey('view', val => {\n this.onViewChange(val);\n this.onHistoryChange();\n }), ConnectionController.subscribeKey('buffering', val => (this.buffering = val)));\n }\n disconnectCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return html `\n \n ${this.dynamicButtonTemplate()} ${this.titleTemplate()}\n \n \n ${this.separatorTemplate()}\n `;\n }\n onWalletHelp() {\n EventsController.sendEvent({ type: 'track', event: 'CLICK_WALLET_HELP' });\n RouterController.push('WhatIsAWallet');\n }\n async onClose() {\n if (OptionsController.state.isSiweEnabled) {\n const { SIWEController } = await import('@web3modal/siwe');\n if (SIWEController.state.status !== 'success') {\n await ConnectionController.disconnect();\n }\n }\n ModalController.close();\n }\n titleTemplate() {\n return html `${this.heading}`;\n }\n dynamicButtonTemplate() {\n const { view } = RouterController.state;\n const isConnectHelp = view === 'Connect';\n const isApproveTransaction = view === 'ApproveTransaction';\n const isUpgradeToSmartAccounts = view === 'UpgradeToSmartAccount';\n const shouldHideBack = isApproveTransaction || isUpgradeToSmartAccounts;\n if (this.showBack && !shouldHideBack) {\n return html ``;\n }\n return html ``;\n }\n separatorTemplate() {\n if (!this.heading) {\n return null;\n }\n return html ``;\n }\n getPadding() {\n if (this.heading) {\n return ['l', '2l', 'l', '2l'];\n }\n return ['l', '2l', '0', '2l'];\n }\n async onViewChange(view) {\n const headingEl = this.shadowRoot?.querySelector('wui-text');\n if (headingEl) {\n const preset = headings()[view];\n await headingEl.animate([{ opacity: 1 }, { opacity: 0 }], {\n duration: 200,\n fill: 'forwards',\n easing: 'ease'\n }).finished;\n this.heading = preset;\n headingEl.animate([{ opacity: 0 }, { opacity: 1 }], {\n duration: 200,\n fill: 'forwards',\n easing: 'ease'\n });\n }\n }\n async onHistoryChange() {\n const { history } = RouterController.state;\n const buttonEl = this.shadowRoot?.querySelector('#dynamic');\n if (history.length > 1 && !this.showBack && buttonEl) {\n await buttonEl.animate([{ opacity: 1 }, { opacity: 0 }], {\n duration: 200,\n fill: 'forwards',\n easing: 'ease'\n }).finished;\n this.showBack = true;\n buttonEl.animate([{ opacity: 0 }, { opacity: 1 }], {\n duration: 200,\n fill: 'forwards',\n easing: 'ease'\n });\n }\n else if (history.length <= 1 && this.showBack && buttonEl) {\n await buttonEl.animate([{ opacity: 1 }, { opacity: 0 }], {\n duration: 200,\n fill: 'forwards',\n easing: 'ease'\n }).finished;\n this.showBack = false;\n buttonEl.animate([{ opacity: 0 }, { opacity: 1 }], {\n duration: 200,\n fill: 'forwards',\n easing: 'ease'\n });\n }\n }\n onGoBack() {\n if (RouterController.state.view === 'ConnectingSiwe') {\n RouterController.push('Connect');\n }\n else {\n RouterController.goBack();\n }\n }\n};\nW3mHeader.styles = [styles];\n__decorate([\n state()\n], W3mHeader.prototype, \"heading\", void 0);\n__decorate([\n state()\n], W3mHeader.prototype, \"buffering\", void 0);\n__decorate([\n state()\n], W3mHeader.prototype, \"showBack\", void 0);\nW3mHeader = __decorate([\n customElement('w3m-header')\n], W3mHeader);\nexport { W3mHeader };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nlet W3mHelpWidget = class W3mHelpWidget extends LitElement {\n constructor() {\n super(...arguments);\n this.data = [];\n }\n render() {\n return html `\n \n ${this.data.map(item => html `\n \n \n ${item.images.map(image => html ``)}\n \n \n \n \n ${item.title}\n \n ${item.text}\n \n `)}\n \n `;\n }\n};\n__decorate([\n property({ type: Array })\n], W3mHelpWidget.prototype, \"data\", void 0);\nW3mHelpWidget = __decorate([\n customElement('w3m-help-widget')\n], W3mHelpWidget);\nexport { W3mHelpWidget };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n width: 100%;\n }\n\n wui-loading-spinner {\n position: absolute;\n top: 50%;\n right: 20px;\n transform: translateY(-50%);\n }\n\n .currency-container {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n right: var(--wui-spacing-1xs);\n height: 40px;\n padding: var(--wui-spacing-xs) var(--wui-spacing-1xs) var(--wui-spacing-xs)\n var(--wui-spacing-xs);\n min-width: 95px;\n border-radius: var(--FULL, 1000px);\n border: 1px solid var(--wui-gray-glass-002);\n background: var(--wui-gray-glass-002);\n cursor: pointer;\n }\n\n .currency-container > wui-image {\n height: 24px;\n width: 24px;\n border-radius: 50%;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { customElement } from '@web3modal/ui';\nimport styles from './styles.js';\nimport { AssetController, ModalController, OnRampController } from '@web3modal/core';\nlet W3mInputCurrency = class W3mInputCurrency extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.type = 'Token';\n this.value = 0;\n this.currencies = [];\n this.selectedCurrency = this.currencies?.[0];\n this.currencyImages = AssetController.state.currencyImages;\n this.tokenImages = AssetController.state.tokenImages;\n this.unsubscribe.push(OnRampController.subscribeKey('purchaseCurrency', val => {\n if (!val || this.type === 'Fiat') {\n return;\n }\n this.selectedCurrency = this.formatPurchaseCurrency(val);\n }), OnRampController.subscribeKey('paymentCurrency', val => {\n if (!val || this.type === 'Token') {\n return;\n }\n this.selectedCurrency = this.formatPaymentCurrency(val);\n }), OnRampController.subscribe(val => {\n if (this.type === 'Fiat') {\n this.currencies = val.purchaseCurrencies.map(this.formatPurchaseCurrency);\n }\n else {\n this.currencies = val.paymentCurrencies.map(this.formatPaymentCurrency);\n }\n }), AssetController.subscribe(val => {\n this.currencyImages = { ...val.currencyImages };\n this.tokenImages = { ...val.tokenImages };\n }));\n }\n firstUpdated() {\n OnRampController.getAvailableCurrencies();\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n const symbol = this.selectedCurrency?.symbol || '';\n const image = this.currencyImages[symbol] || this.tokenImages[symbol];\n return html `\n ${this.selectedCurrency\n ? html ` ModalController.open({ view: `OnRamp${this.type}Select` })}\n >\n \n ${this.selectedCurrency.symbol}\n `\n : html ``}\n `;\n }\n formatPaymentCurrency(currency) {\n return {\n name: currency.id,\n symbol: currency.id\n };\n }\n formatPurchaseCurrency(currency) {\n return {\n name: currency.name,\n symbol: currency.symbol\n };\n }\n};\nW3mInputCurrency.styles = styles;\n__decorate([\n property({ type: String })\n], W3mInputCurrency.prototype, \"type\", void 0);\n__decorate([\n property({ type: Number })\n], W3mInputCurrency.prototype, \"value\", void 0);\n__decorate([\n state()\n], W3mInputCurrency.prototype, \"currencies\", void 0);\n__decorate([\n state()\n], W3mInputCurrency.prototype, \"selectedCurrency\", void 0);\n__decorate([\n state()\n], W3mInputCurrency.prototype, \"currencyImages\", void 0);\n__decorate([\n state()\n], W3mInputCurrency.prototype, \"tokenImages\", void 0);\nW3mInputCurrency = __decorate([\n customElement('w3m-swap-input')\n], W3mInputCurrency);\nexport { W3mInputCurrency };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-flex {\n background-color: var(--wui-gray-glass-005);\n }\n\n a {\n text-decoration: none;\n color: var(--wui-color-fg-175);\n font-weight: 500;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { OptionsController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nlet W3mLegalFooter = class W3mLegalFooter extends LitElement {\n render() {\n const { termsConditionsUrl, privacyPolicyUrl } = OptionsController.state;\n if (!termsConditionsUrl && !privacyPolicyUrl) {\n return null;\n }\n return html `\n \n \n By connecting your wallet, you agree to our
\n ${this.termsTemplate()} ${this.andTemplate()} ${this.privacyTemplate()}\n
\n
\n `;\n }\n andTemplate() {\n const { termsConditionsUrl, privacyPolicyUrl } = OptionsController.state;\n return termsConditionsUrl && privacyPolicyUrl ? 'and' : '';\n }\n termsTemplate() {\n const { termsConditionsUrl } = OptionsController.state;\n if (!termsConditionsUrl) {\n return null;\n }\n return html `Terms of Service`;\n }\n privacyTemplate() {\n const { privacyPolicyUrl } = OptionsController.state;\n if (!privacyPolicyUrl) {\n return null;\n }\n return html `Privacy Policy`;\n }\n};\nW3mLegalFooter.styles = [styles];\nW3mLegalFooter = __decorate([\n customElement('w3m-legal-footer')\n], W3mLegalFooter);\nexport { W3mLegalFooter };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n padding: 0 var(--wui-spacing-xl) var(--wui-spacing-xl);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { CoreHelperUtil, RouterController } from '@web3modal/core';\nimport { UiHelperUtil, customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport styles from './styles.js';\nlet W3mMobileDownloadLinks = class W3mMobileDownloadLinks extends LitElement {\n constructor() {\n super(...arguments);\n this.wallet = undefined;\n }\n render() {\n if (!this.wallet) {\n this.style.display = 'none';\n return null;\n }\n const { name, app_store, play_store, chrome_store, homepage } = this.wallet;\n const isMobile = CoreHelperUtil.isMobile();\n const isIos = CoreHelperUtil.isIos();\n const isAndroid = CoreHelperUtil.isAndroid();\n const isMultiple = [app_store, play_store, homepage, chrome_store].filter(Boolean).length > 1;\n const shortName = UiHelperUtil.getTruncateString({\n string: name,\n charsStart: 12,\n charsEnd: 0,\n truncate: 'end'\n });\n if (isMultiple && !isMobile) {\n return html `\n RouterController.push('Downloads', { wallet: this.wallet })}\n >\n `;\n }\n if (!isMultiple && homepage) {\n return html `\n \n `;\n }\n if (app_store && isIos) {\n return html `\n \n `;\n }\n if (play_store && isAndroid) {\n return html `\n \n `;\n }\n this.style.display = 'none';\n return null;\n }\n onAppStore() {\n if (this.wallet?.app_store) {\n CoreHelperUtil.openHref(this.wallet.app_store, '_blank');\n }\n }\n onPlayStore() {\n if (this.wallet?.play_store) {\n CoreHelperUtil.openHref(this.wallet.play_store, '_blank');\n }\n }\n onHomePage() {\n if (this.wallet?.homepage) {\n CoreHelperUtil.openHref(this.wallet.homepage, '_blank');\n }\n }\n};\nW3mMobileDownloadLinks.styles = [styles];\n__decorate([\n property({ type: Object })\n], W3mMobileDownloadLinks.prototype, \"wallet\", void 0);\nW3mMobileDownloadLinks = __decorate([\n customElement('w3m-mobile-download-links')\n], W3mMobileDownloadLinks);\nexport { W3mMobileDownloadLinks };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-flex {\n border-top: 1px solid var(--wui-gray-glass-005);\n }\n\n a {\n text-decoration: none;\n color: var(--wui-color-fg-175);\n font-weight: 500;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--wui-spacing-3xs);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { OptionsController, RouterController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nlet W3mOnRampProvidersFooter = class W3mOnRampProvidersFooter extends LitElement {\n render() {\n const { termsConditionsUrl, privacyPolicyUrl } = OptionsController.state;\n if (!termsConditionsUrl && !privacyPolicyUrl) {\n return null;\n }\n return html `\n \n \n We work with the best providers to give you the lowest fees and best support. More options\n coming soon!\n \n\n ${this.howDoesItWorkTemplate()}\n \n `;\n }\n howDoesItWorkTemplate() {\n return html ` \n \n How does it work?\n `;\n }\n onWhatIsBuy() {\n RouterController.push('WhatIsABuy');\n }\n};\nW3mOnRampProvidersFooter.styles = [styles];\nW3mOnRampProvidersFooter = __decorate([\n customElement('w3m-onramp-providers-footer')\n], W3mOnRampProvidersFooter);\nexport { W3mOnRampProvidersFooter };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n position: absolute;\n opacity: 0;\n pointer-events: none;\n top: 11px;\n left: 50%;\n width: max-content;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { SnackController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport styles from './styles.js';\nconst presets = {\n success: {\n backgroundColor: 'success-100',\n iconColor: 'success-100',\n icon: 'checkmark'\n },\n error: {\n backgroundColor: 'error-100',\n iconColor: 'error-100',\n icon: 'close'\n }\n};\nlet W3mSnackBar = class W3mSnackBar extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.timeout = undefined;\n this.open = SnackController.state.open;\n this.unsubscribe.push(SnackController.subscribeKey('open', val => {\n this.open = val;\n this.onOpen();\n }));\n }\n disconnectedCallback() {\n clearTimeout(this.timeout);\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n const { message, variant } = SnackController.state;\n const preset = presets[variant];\n return html `\n \n `;\n }\n onOpen() {\n clearTimeout(this.timeout);\n if (this.open) {\n this.animate([\n { opacity: 0, transform: 'translateX(-50%) scale(0.85)' },\n { opacity: 1, transform: 'translateX(-50%) scale(1)' }\n ], {\n duration: 150,\n fill: 'forwards',\n easing: 'ease'\n });\n this.timeout = setTimeout(() => SnackController.hide(), 2500);\n }\n else {\n this.animate([\n { opacity: 1, transform: 'translateX(-50%) scale(1)' },\n { opacity: 0, transform: 'translateX(-50%) scale(0.85)' }\n ], {\n duration: 150,\n fill: 'forwards',\n easing: 'ease'\n });\n }\n }\n};\nW3mSnackBar.styles = styles;\n__decorate([\n state()\n], W3mSnackBar.prototype, \"open\", void 0);\nW3mSnackBar = __decorate([\n customElement('w3m-snackbar')\n], W3mSnackBar);\nexport { W3mSnackBar };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-separator {\n margin: var(--wui-spacing-s) calc(var(--wui-spacing-s) * -1);\n width: calc(100% + var(--wui-spacing-s) * 2);\n }\n\n wui-email-input {\n width: 100%;\n }\n\n form {\n width: 100%;\n display: block;\n position: relative;\n }\n\n wui-icon-link,\n wui-loading-spinner {\n position: absolute;\n top: 21px;\n transform: translateY(-50%);\n }\n\n wui-icon-link {\n right: var(--wui-spacing-xs);\n }\n\n wui-loading-spinner {\n right: var(--wui-spacing-m);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ConnectorController, CoreHelperUtil } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { ref, createRef } from 'lit/directives/ref.js';\nimport styles from './styles.js';\nimport { SnackController, RouterController, EventsController } from '@web3modal/core';\nlet W3mEmailLoginWidget = class W3mEmailLoginWidget extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.formRef = createRef();\n this.connectors = ConnectorController.state.connectors;\n this.email = '';\n this.loading = false;\n this.error = '';\n this.unsubscribe.push(ConnectorController.subscribeKey('connectors', val => (this.connectors = val)));\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n firstUpdated() {\n this.formRef.value?.addEventListener('keydown', event => {\n if (event.key === 'Enter') {\n this.onSubmitEmail(event);\n }\n });\n }\n render() {\n const multipleConnectors = this.connectors.length > 1;\n const connector = this.connectors.find(c => c.type === 'EMAIL');\n if (!connector) {\n return null;\n }\n return html `\n
\n \n \n\n ${this.submitButtonTemplate()}${this.loadingTemplate()}\n \n \n\n ${multipleConnectors ? html `` : null}\n `;\n }\n submitButtonTemplate() {\n const showSubmit = !this.loading && this.email.length > 3;\n return showSubmit\n ? html `\n \n \n `\n : null;\n }\n loadingTemplate() {\n return this.loading\n ? html ``\n : null;\n }\n onEmailInputChange(event) {\n this.email = event.detail.trim();\n this.error = '';\n }\n async onSubmitEmail(event) {\n try {\n if (this.loading) {\n return;\n }\n this.loading = true;\n event.preventDefault();\n const emailConnector = ConnectorController.getEmailConnector();\n if (!emailConnector) {\n throw new Error('w3m-email-login-widget: Email connector not found');\n }\n const { action } = await emailConnector.provider.connectEmail({ email: this.email });\n EventsController.sendEvent({ type: 'track', event: 'EMAIL_SUBMITTED' });\n if (action === 'VERIFY_OTP') {\n EventsController.sendEvent({ type: 'track', event: 'EMAIL_VERIFICATION_CODE_SENT' });\n RouterController.push('EmailVerifyOtp', { email: this.email });\n }\n else if (action === 'VERIFY_DEVICE') {\n RouterController.push('EmailVerifyDevice', { email: this.email });\n }\n }\n catch (error) {\n const parsedError = CoreHelperUtil.parseError(error);\n if (parsedError?.includes('Invalid email')) {\n this.error = 'Invalid email. Try again.';\n }\n else {\n SnackController.showError(error);\n }\n }\n finally {\n this.loading = false;\n }\n }\n onFocusEvent() {\n EventsController.sendEvent({ type: 'track', event: 'EMAIL_LOGIN_SELECTED' });\n }\n};\nW3mEmailLoginWidget.styles = styles;\n__decorate([\n state()\n], W3mEmailLoginWidget.prototype, \"connectors\", void 0);\n__decorate([\n state()\n], W3mEmailLoginWidget.prototype, \"email\", void 0);\n__decorate([\n state()\n], W3mEmailLoginWidget.prototype, \"loading\", void 0);\n__decorate([\n state()\n], W3mEmailLoginWidget.prototype, \"error\", void 0);\nW3mEmailLoginWidget = __decorate([\n customElement('w3m-email-login-widget')\n], W3mEmailLoginWidget);\nexport { W3mEmailLoginWidget };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-flex {\n width: 100%;\n }\n\n :host > wui-flex:first-child {\n transform: translateY(calc(var(--wui-spacing-xxs) * -1));\n }\n\n wui-icon-link {\n margin-right: calc(var(--wui-icon-box-size-md) * -1);\n }\n\n wui-notice-card {\n margin-bottom: var(--wui-spacing-3xs);\n }\n\n w3m-transactions-view {\n max-height: 200px;\n }\n\n .tab-content-container {\n height: 300px;\n overflow-y: auto;\n overflow-x: hidden;\n scrollbar-width: none;\n }\n\n .account-button {\n width: auto;\n border: none;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--wui-spacing-s);\n height: 48px;\n padding: var(--wui-spacing-xs);\n padding-right: var(--wui-spacing-s);\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-002);\n background-color: var(--wui-gray-glass-002);\n border-radius: 24px;\n transaction: background-color 0.2s linear;\n }\n\n .account-button:hover {\n background-color: var(--wui-gray-glass-005);\n }\n\n .avatar-container {\n position: relative;\n }\n\n wui-avatar.avatar {\n width: 32px;\n height: 32px;\n box-shadow: 0 0 0 2px var(--wui-gray-glass-005);\n }\n\n wui-avatar.network-avatar {\n width: 16px;\n height: 16px;\n position: absolute;\n left: 100%;\n top: 100%;\n transform: translate(-75%, -75%);\n box-shadow: 0 0 0 2px var(--wui-gray-glass-005);\n }\n\n .account-links {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .account-links wui-flex {\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n background: red;\n align-items: center;\n justify-content: center;\n height: 48px;\n padding: 10px;\n flex: 1 0 0;\n border-radius: var(--XS, 16px);\n border: 1px solid var(--dark-accent-glass-010, rgba(71, 161, 255, 0.1));\n background: var(--dark-accent-glass-010, rgba(71, 161, 255, 0.1));\n transition: background-color var(--wui-ease-out-power-1) var(--wui-duration-md);\n will-change: background-color;\n }\n\n .account-links wui-flex:hover {\n background: var(--dark-accent-glass-015, rgba(71, 161, 255, 0.15));\n }\n\n .account-links wui-flex wui-icon {\n width: var(--S, 20px);\n height: var(--S, 20px);\n }\n\n .account-links wui-flex wui-icon svg path {\n stroke: #47a1ff;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController, CoreHelperUtil, ModalController, NetworkController, RouterController, AssetUtil, StorageUtil, ConnectorController, EventsController, ConnectionController, SnackController, ConstantsUtil, OptionsController } from '@web3modal/core';\nimport { UiHelperUtil, customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nlet W3mAccountDefaultWidget = class W3mAccountDefaultWidget extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.address = AccountController.state.address;\n this.profileImage = AccountController.state.profileImage;\n this.profileName = AccountController.state.profileName;\n this.network = NetworkController.state.caipNetwork;\n this.disconnecting = false;\n this.balance = AccountController.state.balance;\n this.balanceSymbol = AccountController.state.balanceSymbol;\n this.unsubscribe.push(...[\n AccountController.subscribe(val => {\n if (val.address) {\n this.address = val.address;\n this.profileImage = val.profileImage;\n this.profileName = val.profileName;\n this.balance = val.balance;\n this.balanceSymbol = val.balanceSymbol;\n }\n else if (!this.disconnecting) {\n SnackController.showError('Account not found');\n }\n })\n ], NetworkController.subscribeKey('caipNetwork', val => {\n if (val?.id) {\n this.network = val;\n }\n }));\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n if (!this.address) {\n throw new Error('w3m-account-view: No account provided');\n }\n const networkImage = AssetUtil.getNetworkImage(this.network);\n return html `\n \n \n \n \n ${this.profileName\n ? UiHelperUtil.getTruncateString({\n string: this.profileName,\n charsStart: 20,\n charsEnd: 0,\n truncate: 'end'\n })\n : UiHelperUtil.getTruncateString({\n string: this.address ? this.address : '',\n charsStart: 4,\n charsEnd: 4,\n truncate: 'middle'\n })}\n \n \n \n ${CoreHelperUtil.formatBalance(this.balance, this.balanceSymbol)}\n \n ${this.explorerBtnTemplate()}\n \n\n \n ${this.emailCardTemplate()} ${this.emailBtnTemplate()}\n\n \n \n ${this.network?.name ?? 'Unknown'}\n \n \n ${this.onrampTemplate()}\n \n Activity\n \n \n Disconnect\n \n `;\n }\n onrampTemplate() {\n const { enableOnramp } = OptionsController.state;\n if (!enableOnramp) {\n return null;\n }\n return html `\n \n Buy crypto\n \n `;\n }\n emailCardTemplate() {\n const type = StorageUtil.getConnectedConnector();\n const emailConnector = ConnectorController.getEmailConnector();\n const { origin } = location;\n if (!emailConnector || type !== 'EMAIL' || origin.includes(ConstantsUtil.SECURE_SITE)) {\n return null;\n }\n return html `\n \n `;\n }\n handleClickPay() {\n RouterController.push('OnRampProviders');\n }\n explorerBtnTemplate() {\n const { addressExplorerUrl } = AccountController.state;\n if (!addressExplorerUrl) {\n return null;\n }\n return html `\n \n \n Block Explorer\n \n \n `;\n }\n emailBtnTemplate() {\n const type = StorageUtil.getConnectedConnector();\n const emailConnector = ConnectorController.getEmailConnector();\n if (!emailConnector || type !== 'EMAIL') {\n return null;\n }\n const email = emailConnector.provider.getEmail() ?? '';\n return html `\n this.onGoToUpdateEmail(email)}\n >\n ${email}\n \n `;\n }\n isAllowedNetworkSwitch() {\n const { requestedCaipNetworks } = NetworkController.state;\n const isMultiNetwork = requestedCaipNetworks ? requestedCaipNetworks.length > 1 : false;\n const isValidNetwork = requestedCaipNetworks?.find(({ id }) => id === this.network?.id);\n return isMultiNetwork || !isValidNetwork;\n }\n onCopyAddress() {\n try {\n if (this.address) {\n CoreHelperUtil.copyToClopboard(this.address);\n SnackController.showSuccess('Address copied');\n }\n }\n catch {\n SnackController.showError('Failed to copy');\n }\n }\n onNetworks() {\n if (this.isAllowedNetworkSwitch()) {\n EventsController.sendEvent({ type: 'track', event: 'CLICK_NETWORKS' });\n RouterController.push('Networks');\n }\n }\n onTransactions() {\n EventsController.sendEvent({ type: 'track', event: 'CLICK_TRANSACTIONS' });\n RouterController.push('Transactions');\n }\n async onDisconnect() {\n try {\n this.disconnecting = true;\n await ConnectionController.disconnect();\n EventsController.sendEvent({ type: 'track', event: 'DISCONNECT_SUCCESS' });\n ModalController.close();\n }\n catch {\n EventsController.sendEvent({ type: 'track', event: 'DISCONNECT_ERROR' });\n SnackController.showError('Failed to disconnect');\n }\n finally {\n this.disconnecting = false;\n }\n }\n onExplorer() {\n const { addressExplorerUrl } = AccountController.state;\n if (addressExplorerUrl) {\n CoreHelperUtil.openHref(addressExplorerUrl, '_blank');\n }\n }\n onGoToUpgradeView() {\n EventsController.sendEvent({ type: 'track', event: 'EMAIL_UPGRADE_FROM_MODAL' });\n RouterController.push('UpgradeEmailWallet');\n }\n onGoToUpdateEmail(email) {\n RouterController.push('UpdateEmailWallet', { email });\n }\n};\nW3mAccountDefaultWidget.styles = styles;\n__decorate([\n state()\n], W3mAccountDefaultWidget.prototype, \"address\", void 0);\n__decorate([\n state()\n], W3mAccountDefaultWidget.prototype, \"profileImage\", void 0);\n__decorate([\n state()\n], W3mAccountDefaultWidget.prototype, \"profileName\", void 0);\n__decorate([\n state()\n], W3mAccountDefaultWidget.prototype, \"network\", void 0);\n__decorate([\n state()\n], W3mAccountDefaultWidget.prototype, \"disconnecting\", void 0);\n__decorate([\n state()\n], W3mAccountDefaultWidget.prototype, \"balance\", void 0);\n__decorate([\n state()\n], W3mAccountDefaultWidget.prototype, \"balanceSymbol\", void 0);\nW3mAccountDefaultWidget = __decorate([\n customElement('w3m-account-default-widget')\n], W3mAccountDefaultWidget);\nexport { W3mAccountDefaultWidget };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-flex {\n width: 100%;\n }\n\n wui-promo {\n position: absolute;\n top: -32px;\n }\n\n wui-profile-button {\n margin-top: calc(-1 * var(--wui-spacing-2l));\n }\n\n wui-promo + wui-profile-button {\n margin-top: var(--wui-spacing-2l);\n }\n\n wui-tooltip-select {\n width: 100%;\n }\n\n wui-tabs {\n width: 100%;\n }\n\n .contentContainer {\n height: 280px;\n }\n\n .contentContainer > wui-icon-box {\n width: 40px;\n height: 40px;\n border-radius: var(--wui-border-radius-xxs);\n }\n\n .contentContainer > .textContent {\n width: 65%;\n }\n`;\n//# sourceMappingURL=styles.js.map","export const ConstantsUtil = {\n ACCOUNT_TABS: [{ label: 'Tokens' }, { label: 'NFTs' }, { label: 'Activity' }]\n};\n//# sourceMappingURL=ConstantsUtil.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController, ModalController, NetworkController, AssetUtil, RouterController, CoreHelperUtil } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nimport { ConstantsUtil } from '../../utils/ConstantsUtil.js';\nimport { W3mFrameRpcConstants } from '@web3modal/wallet';\nlet W3mAccountWalletFeaturesWidget = class W3mAccountWalletFeaturesWidget extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.address = AccountController.state.address;\n this.profileImage = AccountController.state.profileImage;\n this.profileName = AccountController.state.profileName;\n this.smartAccountDeployed = AccountController.state.smartAccountDeployed;\n this.network = NetworkController.state.caipNetwork;\n this.currentTab = AccountController.state.currentTab;\n this.tokenBalance = AccountController.state.tokenBalance;\n this.preferredAccountType = AccountController.state.preferredAccountType;\n this.unsubscribe.push(...[\n AccountController.subscribe(val => {\n if (val.address) {\n this.address = val.address;\n this.profileImage = val.profileImage;\n this.profileName = val.profileName;\n this.currentTab = val.currentTab;\n this.tokenBalance = val.tokenBalance;\n this.smartAccountDeployed = val.smartAccountDeployed;\n this.preferredAccountType = val.preferredAccountType;\n }\n else {\n ModalController.close();\n }\n })\n ], NetworkController.subscribe(val => {\n this.network = val.caipNetwork;\n }));\n this.watchConvertValues();\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n clearInterval(this.watchTokenBalance);\n }\n firstUpdated() {\n AccountController.fetchTokenBalance();\n }\n render() {\n if (!this.address) {\n throw new Error('w3m-account-view: No account provided');\n }\n const networkImage = AssetUtil.getNetworkImage(this.network);\n return html `\n ${this.activateAccountTemplate()}\n \n ${this.tokenBalanceTemplate()}\n \n \n \n \n \n \n\n \n ${this.listContentTemplate()}\n `;\n }\n watchConvertValues() {\n this.watchTokenBalance = setInterval(() => AccountController.fetchTokenBalance(), 10000);\n }\n listContentTemplate() {\n if (this.currentTab === 0) {\n return html ``;\n }\n if (this.currentTab === 1) {\n return html ``;\n }\n if (this.currentTab === 2) {\n return html ``;\n }\n return html ``;\n }\n tokenBalanceTemplate() {\n if (this.tokenBalance && this.tokenBalance?.length >= 0) {\n const value = CoreHelperUtil.calculateBalance(this.tokenBalance);\n const { dollars = '0', pennies = '00' } = CoreHelperUtil.formatTokenBalance(value);\n return html ``;\n }\n return html ``;\n }\n activateAccountTemplate() {\n const smartAccountEnabled = NetworkController.checkIfSmartAccountEnabled();\n if (!smartAccountEnabled ||\n this.preferredAccountType !== W3mFrameRpcConstants.ACCOUNT_TYPES.EOA ||\n this.smartAccountDeployed) {\n return null;\n }\n return html ` `;\n }\n onTabChange(index) {\n AccountController.setCurrentTab(index);\n }\n onProfileButtonClick() {\n RouterController.push('AccountSettings');\n }\n onBuyClick() {\n RouterController.push('OnRampProviders');\n }\n onConvertClick() {\n RouterController.push('Convert');\n }\n onReceiveClick() {\n RouterController.push('WalletReceive');\n }\n onSendClick() {\n RouterController.push('WalletSend');\n }\n onUpdateToSmartAccount() {\n RouterController.push('UpgradeToSmartAccount');\n }\n};\nW3mAccountWalletFeaturesWidget.styles = styles;\n__decorate([\n state()\n], W3mAccountWalletFeaturesWidget.prototype, \"watchTokenBalance\", void 0);\n__decorate([\n state()\n], W3mAccountWalletFeaturesWidget.prototype, \"address\", void 0);\n__decorate([\n state()\n], W3mAccountWalletFeaturesWidget.prototype, \"profileImage\", void 0);\n__decorate([\n state()\n], W3mAccountWalletFeaturesWidget.prototype, \"profileName\", void 0);\n__decorate([\n state()\n], W3mAccountWalletFeaturesWidget.prototype, \"smartAccountDeployed\", void 0);\n__decorate([\n state()\n], W3mAccountWalletFeaturesWidget.prototype, \"network\", void 0);\n__decorate([\n state()\n], W3mAccountWalletFeaturesWidget.prototype, \"currentTab\", void 0);\n__decorate([\n state()\n], W3mAccountWalletFeaturesWidget.prototype, \"tokenBalance\", void 0);\n__decorate([\n state()\n], W3mAccountWalletFeaturesWidget.prototype, \"preferredAccountType\", void 0);\nW3mAccountWalletFeaturesWidget = __decorate([\n customElement('w3m-account-wallet-features-widget')\n], W3mAccountWalletFeaturesWidget);\nexport { W3mAccountWalletFeaturesWidget };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n width: 100%;\n max-height: 280px;\n overflow: scroll;\n scrollbar-width: none;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nlet W3mAccountActivityWidget = class W3mAccountActivityWidget extends LitElement {\n render() {\n return html ``;\n }\n};\nW3mAccountActivityWidget.styles = styles;\nW3mAccountActivityWidget = __decorate([\n customElement('w3m-account-activity-widget')\n], W3mAccountActivityWidget);\nexport { W3mAccountActivityWidget };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n .contentContainer {\n height: 280px;\n }\n\n .contentContainer > wui-icon-box {\n width: 40px;\n height: 40px;\n border-radius: var(--wui-border-radius-xxs);\n }\n\n .contentContainer > .textContent {\n width: 65%;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { RouterController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nlet W3mAccountNftsWidget = class W3mAccountNftsWidget extends LitElement {\n render() {\n return html `${this.nftTemplate()}`;\n }\n nftTemplate() {\n return html ` \n \n \n No NFTs yet\n Transfer from another wallets to get started\n \n Receive NFTs\n `;\n }\n onReceiveClick() {\n RouterController.push('WalletReceive');\n }\n};\nW3mAccountNftsWidget.styles = styles;\nW3mAccountNftsWidget = __decorate([\n customElement('w3m-account-nfts-widget')\n], W3mAccountNftsWidget);\nexport { W3mAccountNftsWidget };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n width: 100%;\n }\n\n wui-flex {\n width: 100%;\n }\n\n .contentContainer {\n max-height: 280px;\n overflow: scroll;\n scrollbar-width: none;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController, RouterController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nimport { state } from 'lit/decorators.js';\nlet W3mAccountTokensWidget = class W3mAccountTokensWidget extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.tokenBalance = AccountController.state.tokenBalance;\n this.unsubscribe.push(...[\n AccountController.subscribe(val => {\n this.tokenBalance = val.tokenBalance;\n })\n ]);\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return html `${this.tokenTemplate()}`;\n }\n tokenTemplate() {\n if (this.tokenBalance && this.tokenBalance?.length > 0) {\n return html `\n ${this.tokenItemTemplate()}\n `;\n }\n return html ` `;\n }\n tokenItemTemplate() {\n return this.tokenBalance?.map(token => html ``);\n }\n onReceiveClick() {\n RouterController.push('WalletReceive');\n }\n onBuyClick() {\n RouterController.push('OnRampProviders');\n }\n};\nW3mAccountTokensWidget.styles = styles;\n__decorate([\n state()\n], W3mAccountTokensWidget.prototype, \"tokenBalance\", void 0);\nW3mAccountTokensWidget = __decorate([\n customElement('w3m-account-tokens-widget')\n], W3mAccountTokensWidget);\nexport { W3mAccountTokensWidget };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n min-height: 100%;\n }\n\n .contentContainer {\n height: 280px;\n }\n\n .contentContainer > wui-icon-box {\n width: 40px;\n height: 40px;\n border-radius: var(--wui-border-radius-xxs);\n }\n\n .contentContainer > .textContent {\n width: 65%;\n }\n\n .emptyContainer {\n height: 100%;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { DateUtil } from '@web3modal/common';\nimport { AccountController, EventsController, OptionsController, RouterController, TransactionsController } from '@web3modal/core';\nimport { TransactionUtil, customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport styles from './styles.js';\nconst PAGINATOR_ID = 'last-transaction';\nconst LOADING_ITEM_COUNT = 7;\nlet W3mActivityList = class W3mActivityList extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.paginationObserver = undefined;\n this.page = 'activity';\n this.address = AccountController.state.address;\n this.transactionsByYear = TransactionsController.state.transactionsByYear;\n this.loading = TransactionsController.state.loading;\n this.empty = TransactionsController.state.empty;\n this.next = TransactionsController.state.next;\n TransactionsController.clearCursor();\n this.unsubscribe.push(...[\n AccountController.subscribe(val => {\n if (val.isConnected) {\n if (this.address !== val.address) {\n this.address = val.address;\n TransactionsController.resetTransactions();\n TransactionsController.fetchTransactions(val.address);\n }\n }\n }),\n TransactionsController.subscribe(val => {\n this.transactionsByYear = val.transactionsByYear;\n this.loading = val.loading;\n this.empty = val.empty;\n this.next = val.next;\n })\n ]);\n }\n firstUpdated() {\n TransactionsController.fetchTransactions(this.address);\n this.createPaginationObserver();\n }\n updated() {\n this.setPaginationObserver();\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return html ` ${this.empty ? null : this.templateTransactionsByYear()}\n ${this.loading ? this.templateLoading() : null}\n ${!this.loading && this.empty ? this.templateEmpty() : null}`;\n }\n templateTransactionsByYear() {\n const sortedYearKeys = Object.keys(this.transactionsByYear).sort().reverse();\n return sortedYearKeys.map((year, index) => {\n const isLastGroup = index === sortedYearKeys.length - 1;\n const yearInt = parseInt(year, 10);\n const sortedMonthIndexes = new Array(12)\n .fill(null)\n .map((_, idx) => idx)\n .reverse();\n return sortedMonthIndexes.map(month => {\n const groupTitle = TransactionUtil.getTransactionGroupTitle(yearInt, month);\n const transactions = this.transactionsByYear[yearInt]?.[month];\n if (!transactions) {\n return null;\n }\n return html `\n \n \n ${groupTitle}\n \n \n ${this.templateTransactions(transactions, isLastGroup)}\n \n \n `;\n });\n });\n }\n templateRenderTransaction(transaction, isLastTransaction) {\n const { date, descriptions, direction, isAllNFT, images, status, transfers, type } = this.getTransactionListItemProps(transaction);\n const haveMultipleTransfers = transfers?.length > 1;\n const haveTwoTransfers = transfers?.length === 2;\n if (haveTwoTransfers && !isAllNFT) {\n return html `\n \n `;\n }\n if (haveMultipleTransfers) {\n return transfers.map((transfer, index) => {\n const description = TransactionUtil.getTransferDescription(transfer);\n const isLastTransfer = isLastTransaction && index === transfers.length - 1;\n return html ` `;\n });\n }\n return html `\n \n `;\n }\n templateTransactions(transactions, isLastGroup) {\n return transactions.map((transaction, index) => {\n const isLastTransaction = isLastGroup && index === transactions.length - 1;\n return html `${this.templateRenderTransaction(transaction, isLastTransaction)}`;\n });\n }\n emptyStateActivity() {\n return html `\n \n \n No Transactions yet\n Start trading on dApps
\n to grow your wallet!\n
\n `;\n }\n emptyStateAccount() {\n return html `\n \n \n No activity yet\n Your next transactions will appear here\n \n Trade\n `;\n }\n templateEmpty() {\n if (this.page === 'account') {\n return html `${this.emptyStateAccount()}`;\n }\n return html `${this.emptyStateActivity()}`;\n }\n templateLoading() {\n if (this.page === 'activity') {\n return Array(LOADING_ITEM_COUNT)\n .fill(html ` `)\n .map(item => item);\n }\n return null;\n }\n onReceiveClick() {\n RouterController.push('WalletReceive');\n }\n createPaginationObserver() {\n const { projectId } = OptionsController.state;\n this.paginationObserver = new IntersectionObserver(([element]) => {\n if (element?.isIntersecting && !this.loading) {\n TransactionsController.fetchTransactions(this.address);\n EventsController.sendEvent({\n type: 'track',\n event: 'LOAD_MORE_TRANSACTIONS',\n properties: {\n address: this.address,\n projectId,\n cursor: this.next\n }\n });\n }\n }, {});\n this.setPaginationObserver();\n }\n setPaginationObserver() {\n this.paginationObserver?.disconnect();\n const lastItem = this.shadowRoot?.querySelector(`#${PAGINATOR_ID}`);\n if (lastItem) {\n this.paginationObserver?.observe(lastItem);\n }\n }\n getTransactionListItemProps(transaction) {\n const date = DateUtil.formatDate(transaction?.metadata?.minedAt);\n const descriptions = TransactionUtil.getTransactionDescriptions(transaction);\n const transfers = transaction?.transfers;\n const transfer = transaction?.transfers?.[0];\n const isAllNFT = Boolean(transfer) && transaction?.transfers?.every(item => Boolean(item.nft_info));\n const images = TransactionUtil.getTransactionImages(transfers);\n return {\n date,\n direction: transfer?.direction,\n descriptions,\n isAllNFT,\n images,\n status: transaction.metadata?.status,\n transfers,\n type: transaction.metadata?.operationType\n };\n }\n};\nW3mActivityList.styles = styles;\n__decorate([\n property()\n], W3mActivityList.prototype, \"page\", void 0);\n__decorate([\n state()\n], W3mActivityList.prototype, \"address\", void 0);\n__decorate([\n state()\n], W3mActivityList.prototype, \"transactionsByYear\", void 0);\n__decorate([\n state()\n], W3mActivityList.prototype, \"loading\", void 0);\n__decorate([\n state()\n], W3mActivityList.prototype, \"empty\", void 0);\n__decorate([\n state()\n], W3mActivityList.prototype, \"next\", void 0);\nW3mActivityList = __decorate([\n customElement('w3m-activity-list')\n], W3mActivityList);\nexport { W3mActivityList };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n width: 100%;\n height: 100px;\n border-radius: var(--wui-border-radius-s);\n border: 1px solid var(--wui-gray-glass-002);\n background-color: var(--wui-gray-glass-002);\n transition: background-color var(--wui-ease-out-power-1) var(--wui-duration-lg);\n will-change: background-color;\n }\n\n :host(:hover) {\n background-color: var(--wui-gray-glass-005);\n }\n\n wui-flex {\n width: 100%;\n height: fit-content;\n }\n\n wui-button {\n width: 100%;\n display: flex;\n justify-content: flex-end;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { UiHelperUtil, customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nimport { property } from 'lit/decorators.js';\nimport { RouterController, SendController } from '@web3modal/core';\nlet W3mInputToken = class W3mInputToken extends LitElement {\n render() {\n return html ` \n \n \n ${this.buttonTemplate()}\n \n \n ${this.sendValueTemplate()}\n \n ${this.maxAmountTemplate()} ${this.actionTemplate()}\n \n \n `;\n }\n buttonTemplate() {\n if (this.token) {\n return html `Select token`;\n }\n return html `Select token`;\n }\n handleSelectButtonClick() {\n RouterController.push('WalletSendSelectToken');\n }\n sendValueTemplate() {\n if (this.token && this.sendTokenAmount) {\n const price = this.token.price;\n const totalValue = price * this.sendTokenAmount;\n return html `$${totalValue.toFixed(2)}`;\n }\n return null;\n }\n maxAmountTemplate() {\n if (this.token) {\n if (this.sendTokenAmount && this.sendTokenAmount > Number(this.token.quantity.numeric)) {\n return html ` \n ${UiHelperUtil.roundNumber(Number(this.token.quantity.numeric), 6, 5)}\n `;\n }\n return html ` \n ${UiHelperUtil.roundNumber(Number(this.token.quantity.numeric), 6, 5)}\n `;\n }\n return null;\n }\n actionTemplate() {\n if (this.token) {\n if (this.sendTokenAmount && this.sendTokenAmount > Number(this.token.quantity.numeric)) {\n return html `Buy`;\n }\n return html `Max`;\n }\n return null;\n }\n onInputChange(event) {\n SendController.setTokenAmount(event.detail);\n }\n onMaxClick() {\n if (this.token) {\n SendController.setTokenAmount(Number(this.token?.quantity.numeric));\n }\n }\n onBuyClick() {\n RouterController.push('OnRampProviders');\n }\n};\nW3mInputToken.styles = styles;\n__decorate([\n property({ type: Object })\n], W3mInputToken.prototype, \"token\", void 0);\n__decorate([\n property({ type: Number })\n], W3mInputToken.prototype, \"sendTokenAmount\", void 0);\nW3mInputToken = __decorate([\n customElement('w3m-input-token')\n], W3mInputToken);\nexport { W3mInputToken };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n width: 100%;\n height: 100px;\n border-radius: var(--wui-border-radius-s);\n border: 1px solid var(--wui-gray-glass-002);\n background-color: var(--wui-gray-glass-002);\n transition: background-color var(--wui-ease-out-power-1) var(--wui-duration-lg);\n will-change: background-color;\n position: relative;\n }\n\n :host(:hover) {\n background-color: var(--wui-gray-glass-005);\n }\n\n wui-flex {\n width: 100%;\n height: fit-content;\n }\n\n wui-button {\n display: ruby;\n color: var(--wui-color-fg-100);\n margin: 0 var(--wui-spacing-xs);\n }\n\n .instruction {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n }\n\n textarea {\n background: transparent;\n width: 100%;\n font-family: var(--w3m-font-family);\n font-size: var(--wui-font-size-medium);\n font-style: normal;\n font-weight: var(--wui-font-weight-light);\n line-height: 130%;\n letter-spacing: var(--wui-letter-spacing-medium);\n color: var(--wui-color-fg-100);\n caret-color: var(--wui-color-accent-100);\n box-sizing: border-box;\n -webkit-appearance: none;\n -moz-appearance: textfield;\n padding: 0px;\n border: none;\n outline: none;\n appearance: none;\n resize: none;\n overflow: hidden;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nimport { property, state } from 'lit/decorators.js';\nimport { SendController } from '@web3modal/core';\nimport { createRef, ref } from 'lit/directives/ref.js';\nlet W3mInputAddress = class W3mInputAddress extends LitElement {\n constructor() {\n super(...arguments);\n this.inputElementRef = createRef();\n this.instructionElementRef = createRef();\n this.instructionHidden = Boolean(this.receiverAddress);\n }\n firstUpdated() {\n if (this.receiverAddress) {\n this.instructionHidden = true;\n }\n this.checkHidden();\n }\n render() {\n return html ` \n \n Type or\n \n \n Paste\n \n address\n \n \n${this.receiverAddress ?? ''}\n `;\n }\n async focusInput() {\n if (this.instructionElementRef.value) {\n this.instructionHidden = true;\n await this.toggleInstructionFocus(false);\n this.instructionElementRef.value.style.pointerEvents = 'none';\n this.inputElementRef.value?.focus();\n if (this.inputElementRef.value) {\n this.inputElementRef.value.selectionStart = this.inputElementRef.value.selectionEnd =\n this.inputElementRef.value.value.length;\n }\n }\n }\n async focusInstruction() {\n if (this.instructionElementRef.value) {\n this.instructionHidden = false;\n await this.toggleInstructionFocus(true);\n this.instructionElementRef.value.style.pointerEvents = 'auto';\n this.inputElementRef.value?.blur();\n }\n }\n async toggleInstructionFocus(focus) {\n if (this.instructionElementRef.value) {\n await this.instructionElementRef.value.animate([{ opacity: focus ? 0 : 1 }, { opacity: focus ? 1 : 0 }], {\n duration: 100,\n easing: 'ease',\n fill: 'forwards'\n }).finished;\n }\n }\n onBoxClick() {\n if (!this.receiverAddress && !this.instructionHidden) {\n this.focusInput();\n }\n }\n onBlur() {\n if (!this.receiverAddress && this.instructionHidden) {\n this.focusInstruction();\n }\n }\n checkHidden() {\n if (this.instructionHidden) {\n this.focusInput();\n }\n }\n async onPasteClick() {\n const text = await navigator.clipboard.readText();\n SendController.setReceiverAddress(text);\n }\n onInputChange(e) {\n const element = e.target;\n if (element.value && !this.instructionHidden) {\n this.focusInput();\n }\n SendController.setReceiverAddress(element.value);\n }\n};\nW3mInputAddress.styles = styles;\n__decorate([\n property()\n], W3mInputAddress.prototype, \"receiverAddress\", void 0);\n__decorate([\n state()\n], W3mInputAddress.prototype, \"instructionHidden\", void 0);\nW3mInputAddress = __decorate([\n customElement('w3m-input-address')\n], W3mInputAddress);\nexport { W3mInputAddress };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: flex;\n width: 100%;\n flex-direction: column;\n gap: var(--wui-border-radius-1xs);\n border-radius: var(--wui-border-radius-s);\n background: var(--wui-gray-glass-002);\n padding: var(--wui-spacing-s) var(--wui-spacing-1xs) var(--wui-spacing-1xs)\n var(--wui-spacing-1xs);\n }\n\n wui-text {\n padding: 0 var(--wui-spacing-1xs);\n }\n\n wui-flex {\n margin-top: var(--wui-spacing-1xs);\n }\n\n .network {\n cursor: pointer;\n transition: background-color var(--wui-ease-out-power-1) var(--wui-duration-lg);\n will-change: background-color;\n }\n\n .network:focus-visible {\n border: 1px solid var(--wui-color-accent-100);\n background-color: var(--wui-gray-glass-005);\n -webkit-box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n -moz-box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n }\n\n .network:hover {\n background-color: var(--wui-gray-glass-005);\n }\n\n .network:active {\n background-color: var(--wui-gray-glass-010);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { UiHelperUtil, customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nimport { property } from 'lit/decorators.js';\nimport { AssetUtil, RouterController } from '@web3modal/core';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nlet W3mWalletSendDetails = class W3mWalletSendDetails extends LitElement {\n render() {\n return html ` Details\n \n \n \n \n ${this.networkTemplate()}\n `;\n }\n networkTemplate() {\n if (this.caipNetwork?.name) {\n return html ` this.onNetworkClick(this.caipNetwork)}\n class=\"network\"\n textTitle=\"Network\"\n imageSrc=${ifDefined(AssetUtil.getNetworkImage(this.caipNetwork))}\n >`;\n }\n return null;\n }\n onNetworkClick(network) {\n if (network) {\n RouterController.push('Networks', { network });\n }\n }\n};\nW3mWalletSendDetails.styles = styles;\n__decorate([\n property()\n], W3mWalletSendDetails.prototype, \"receiverAddress\", void 0);\n__decorate([\n property({ type: Object })\n], W3mWalletSendDetails.prototype, \"caipNetwork\", void 0);\nW3mWalletSendDetails = __decorate([\n customElement('w3m-wallet-send-details')\n], W3mWalletSendDetails);\nexport { W3mWalletSendDetails };\n//# sourceMappingURL=index.js.map","import { AccountController, BlockchainApiController, ConnectionController, ConnectorController, CoreHelperUtil, EventsController, ModalController, NetworkController, OptionsController, PublicStateController, ThemeController, SnackController, RouterController } from '@web3modal/core';\nimport { setColorTheme, setThemeVariables } from '@web3modal/ui';\nlet isInitialized = false;\nexport class Web3ModalScaffold {\n constructor(options) {\n this.initPromise = undefined;\n this.setIsConnected = isConnected => {\n AccountController.setIsConnected(isConnected);\n };\n this.getIsConnectedState = () => AccountController.state.isConnected;\n this.setCaipAddress = caipAddress => {\n AccountController.setCaipAddress(caipAddress);\n };\n this.setBalance = (balance, balanceSymbol) => {\n AccountController.setBalance(balance, balanceSymbol);\n };\n this.setProfileName = profileName => {\n AccountController.setProfileName(profileName);\n };\n this.setProfileImage = profileImage => {\n AccountController.setProfileImage(profileImage);\n };\n this.resetAccount = () => {\n AccountController.resetAccount();\n };\n this.setCaipNetwork = caipNetwork => {\n NetworkController.setCaipNetwork(caipNetwork);\n };\n this.getCaipNetwork = () => NetworkController.state.caipNetwork;\n this.setRequestedCaipNetworks = requestedCaipNetworks => {\n NetworkController.setRequestedCaipNetworks(requestedCaipNetworks);\n };\n this.getApprovedCaipNetworksData = () => NetworkController.getApprovedCaipNetworksData();\n this.resetNetwork = () => {\n NetworkController.resetNetwork();\n };\n this.setConnectors = connectors => {\n ConnectorController.setConnectors(connectors);\n };\n this.addConnector = connector => {\n ConnectorController.addConnector(connector);\n };\n this.getConnectors = () => ConnectorController.getConnectors();\n this.resetWcConnection = () => {\n ConnectionController.resetWcConnection();\n };\n this.fetchIdentity = request => BlockchainApiController.fetchIdentity(request);\n this.setAddressExplorerUrl = addressExplorerUrl => {\n AccountController.setAddressExplorerUrl(addressExplorerUrl);\n };\n this.setSmartAccountDeployed = isDeployed => {\n AccountController.setSmartAccountDeployed(isDeployed);\n };\n this.setConnectedWalletInfo = connectedWalletInfo => {\n AccountController.setConnectedWalletInfo(connectedWalletInfo);\n };\n this.setSmartAccountEnabledNetworks = smartAccountEnabledNetworks => {\n NetworkController.setSmartAccountEnabledNetworks(smartAccountEnabledNetworks);\n };\n this.setPreferredAccountType = preferredAccountType => {\n AccountController.setPreferredAccountType(preferredAccountType);\n };\n this.initControllers(options);\n this.initOrContinue();\n }\n async open(options) {\n await this.initOrContinue();\n ModalController.open(options);\n }\n async close() {\n await this.initOrContinue();\n ModalController.close();\n }\n setLoading(loading) {\n ModalController.setLoading(loading);\n }\n getThemeMode() {\n return ThemeController.state.themeMode;\n }\n getThemeVariables() {\n return ThemeController.state.themeVariables;\n }\n setThemeMode(themeMode) {\n ThemeController.setThemeMode(themeMode);\n setColorTheme(ThemeController.state.themeMode);\n }\n setThemeVariables(themeVariables) {\n ThemeController.setThemeVariables(themeVariables);\n setThemeVariables(ThemeController.state.themeVariables);\n }\n subscribeTheme(callback) {\n return ThemeController.subscribe(callback);\n }\n getWalletInfo() {\n return AccountController.state.connectedWalletInfo;\n }\n subscribeWalletInfo(callback) {\n return AccountController.subscribeKey('connectedWalletInfo', callback);\n }\n getState() {\n return PublicStateController.state;\n }\n subscribeState(callback) {\n return PublicStateController.subscribe(callback);\n }\n showErrorMessage(message) {\n SnackController.showError(message);\n }\n showSuccessMessage(message) {\n SnackController.showSuccess(message);\n }\n getEvent() {\n return { ...EventsController.state };\n }\n subscribeEvents(callback) {\n return EventsController.subscribe(callback);\n }\n redirect(route) {\n RouterController.push(route);\n }\n popTransactionStack(cancel) {\n RouterController.popTransactionStack(cancel);\n }\n isOpen() {\n return ModalController.state.open;\n }\n isTransactionStackEmpty() {\n return RouterController.state.transactionStack.length === 0;\n }\n async initControllers(options) {\n NetworkController.setClient(options.networkControllerClient);\n NetworkController.setDefaultCaipNetwork(options.defaultChain);\n OptionsController.setProjectId(options.projectId);\n OptionsController.setAllWallets(options.allWallets);\n OptionsController.setIncludeWalletIds(options.includeWalletIds);\n OptionsController.setExcludeWalletIds(options.excludeWalletIds);\n OptionsController.setFeaturedWalletIds(options.featuredWalletIds);\n OptionsController.setTokens(options.tokens);\n OptionsController.setTermsConditionsUrl(options.termsConditionsUrl);\n OptionsController.setPrivacyPolicyUrl(options.privacyPolicyUrl);\n OptionsController.setCustomWallets(options.customWallets);\n OptionsController.setEnableAnalytics(options.enableAnalytics);\n OptionsController.setSdkVersion(options._sdkVersion);\n ConnectionController.setClient(options.connectionControllerClient);\n if (options.siweControllerClient) {\n const { SIWEController } = await import('@web3modal/siwe');\n SIWEController.setSIWEClient(options.siweControllerClient);\n }\n if (options.metadata) {\n OptionsController.setMetadata(options.metadata);\n }\n if (options.themeMode) {\n ThemeController.setThemeMode(options.themeMode);\n }\n if (options.themeVariables) {\n ThemeController.setThemeVariables(options.themeVariables);\n }\n if (options.enableOnramp) {\n OptionsController.setOnrampEnabled(Boolean(options.enableOnramp));\n }\n if (options.enableWalletFeatures) {\n OptionsController.setWalletFeaturesEnabled(Boolean(options.enableWalletFeatures));\n }\n if (options.allowUnsupportedChain) {\n NetworkController.setAllowUnsupportedChain(options.allowUnsupportedChain);\n }\n }\n async initOrContinue() {\n if (!this.initPromise && !isInitialized && CoreHelperUtil.isClient()) {\n isInitialized = true;\n this.initPromise = new Promise(async (resolve) => {\n await Promise.all([import('@web3modal/ui'), import('./modal/w3m-modal/index.js')]);\n const modal = document.createElement('w3m-modal');\n document.body.insertAdjacentElement('beforeend', modal);\n resolve();\n });\n }\n return this.initPromise;\n }\n}\n//# sourceMappingURL=client.js.map","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package int provides helper functions for integerss.\n */\n// Shim using 16-bit pieces.\nfunction imulShim(a, b) {\n var ah = (a >>> 16) & 0xffff, al = a & 0xffff;\n var bh = (b >>> 16) & 0xffff, bl = b & 0xffff;\n return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0) | 0);\n}\n/** 32-bit integer multiplication. */\n// Use system Math.imul if available, otherwise use our shim.\nexports.mul = Math.imul || imulShim;\n/** 32-bit integer addition. */\nfunction add(a, b) {\n return (a + b) | 0;\n}\nexports.add = add;\n/** 32-bit integer subtraction. */\nfunction sub(a, b) {\n return (a - b) | 0;\n}\nexports.sub = sub;\n/** 32-bit integer left rotation */\nfunction rotl(x, n) {\n return x << n | x >>> (32 - n);\n}\nexports.rotl = rotl;\n/** 32-bit integer left rotation */\nfunction rotr(x, n) {\n return x << (32 - n) | x >>> n;\n}\nexports.rotr = rotr;\nfunction isIntegerShim(n) {\n return typeof n === \"number\" && isFinite(n) && Math.floor(n) === n;\n}\n/**\n * Returns true if the argument is an integer number.\n *\n * In ES2015, Number.isInteger.\n */\nexports.isInteger = Number.isInteger || isIntegerShim;\n/**\n * Math.pow(2, 53) - 1\n *\n * In ES2015 Number.MAX_SAFE_INTEGER.\n */\nexports.MAX_SAFE_INTEGER = 9007199254740991;\n/**\n * Returns true if the argument is a safe integer number\n * (-MIN_SAFE_INTEGER < number <= MAX_SAFE_INTEGER)\n *\n * In ES2015, Number.isSafeInteger.\n */\nexports.isSafeInteger = function (n) {\n return exports.isInteger(n) && (n >= -exports.MAX_SAFE_INTEGER && n <= exports.MAX_SAFE_INTEGER);\n};\n//# sourceMappingURL=int.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package binary provides functions for encoding and decoding numbers in byte arrays.\n */\nvar int_1 = require(\"@stablelib/int\");\n// TODO(dchest): add asserts for correct value ranges and array offsets.\n/**\n * Reads 2 bytes from array starting at offset as big-endian\n * signed 16-bit integer and returns it.\n */\nfunction readInt16BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return (((array[offset + 0] << 8) | array[offset + 1]) << 16) >> 16;\n}\nexports.readInt16BE = readInt16BE;\n/**\n * Reads 2 bytes from array starting at offset as big-endian\n * unsigned 16-bit integer and returns it.\n */\nfunction readUint16BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return ((array[offset + 0] << 8) | array[offset + 1]) >>> 0;\n}\nexports.readUint16BE = readUint16BE;\n/**\n * Reads 2 bytes from array starting at offset as little-endian\n * signed 16-bit integer and returns it.\n */\nfunction readInt16LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return (((array[offset + 1] << 8) | array[offset]) << 16) >> 16;\n}\nexports.readInt16LE = readInt16LE;\n/**\n * Reads 2 bytes from array starting at offset as little-endian\n * unsigned 16-bit integer and returns it.\n */\nfunction readUint16LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return ((array[offset + 1] << 8) | array[offset]) >>> 0;\n}\nexports.readUint16LE = readUint16LE;\n/**\n * Writes 2-byte big-endian representation of 16-bit unsigned\n * value to byte array starting at offset.\n *\n * If byte array is not given, creates a new 2-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint16BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(2); }\n if (offset === void 0) { offset = 0; }\n out[offset + 0] = value >>> 8;\n out[offset + 1] = value >>> 0;\n return out;\n}\nexports.writeUint16BE = writeUint16BE;\nexports.writeInt16BE = writeUint16BE;\n/**\n * Writes 2-byte little-endian representation of 16-bit unsigned\n * value to array starting at offset.\n *\n * If byte array is not given, creates a new 2-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint16LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(2); }\n if (offset === void 0) { offset = 0; }\n out[offset + 0] = value >>> 0;\n out[offset + 1] = value >>> 8;\n return out;\n}\nexports.writeUint16LE = writeUint16LE;\nexports.writeInt16LE = writeUint16LE;\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * signed 32-bit integer and returns it.\n */\nfunction readInt32BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return (array[offset] << 24) |\n (array[offset + 1] << 16) |\n (array[offset + 2] << 8) |\n array[offset + 3];\n}\nexports.readInt32BE = readInt32BE;\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * unsigned 32-bit integer and returns it.\n */\nfunction readUint32BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return ((array[offset] << 24) |\n (array[offset + 1] << 16) |\n (array[offset + 2] << 8) |\n array[offset + 3]) >>> 0;\n}\nexports.readUint32BE = readUint32BE;\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * signed 32-bit integer and returns it.\n */\nfunction readInt32LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return (array[offset + 3] << 24) |\n (array[offset + 2] << 16) |\n (array[offset + 1] << 8) |\n array[offset];\n}\nexports.readInt32LE = readInt32LE;\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * unsigned 32-bit integer and returns it.\n */\nfunction readUint32LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return ((array[offset + 3] << 24) |\n (array[offset + 2] << 16) |\n (array[offset + 1] << 8) |\n array[offset]) >>> 0;\n}\nexports.readUint32LE = readUint32LE;\n/**\n * Writes 4-byte big-endian representation of 32-bit unsigned\n * value to byte array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint32BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(4); }\n if (offset === void 0) { offset = 0; }\n out[offset + 0] = value >>> 24;\n out[offset + 1] = value >>> 16;\n out[offset + 2] = value >>> 8;\n out[offset + 3] = value >>> 0;\n return out;\n}\nexports.writeUint32BE = writeUint32BE;\nexports.writeInt32BE = writeUint32BE;\n/**\n * Writes 4-byte little-endian representation of 32-bit unsigned\n * value to array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint32LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(4); }\n if (offset === void 0) { offset = 0; }\n out[offset + 0] = value >>> 0;\n out[offset + 1] = value >>> 8;\n out[offset + 2] = value >>> 16;\n out[offset + 3] = value >>> 24;\n return out;\n}\nexports.writeUint32LE = writeUint32LE;\nexports.writeInt32LE = writeUint32LE;\n/**\n * Reads 8 bytes from array starting at offset as big-endian\n * signed 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports exact\n * numbers in range -9007199254740991 to 9007199254740991.\n * If the number stored in the byte array is outside this range,\n * the result is not exact.\n */\nfunction readInt64BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var hi = readInt32BE(array, offset);\n var lo = readInt32BE(array, offset + 4);\n return hi * 0x100000000 + lo - ((lo >> 31) * 0x100000000);\n}\nexports.readInt64BE = readInt64BE;\n/**\n * Reads 8 bytes from array starting at offset as big-endian\n * unsigned 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports values up to 2^53-1.\n */\nfunction readUint64BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var hi = readUint32BE(array, offset);\n var lo = readUint32BE(array, offset + 4);\n return hi * 0x100000000 + lo;\n}\nexports.readUint64BE = readUint64BE;\n/**\n * Reads 8 bytes from array starting at offset as little-endian\n * signed 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports exact\n * numbers in range -9007199254740991 to 9007199254740991.\n * If the number stored in the byte array is outside this range,\n * the result is not exact.\n */\nfunction readInt64LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var lo = readInt32LE(array, offset);\n var hi = readInt32LE(array, offset + 4);\n return hi * 0x100000000 + lo - ((lo >> 31) * 0x100000000);\n}\nexports.readInt64LE = readInt64LE;\n/**\n * Reads 8 bytes from array starting at offset as little-endian\n * unsigned 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports values up to 2^53-1.\n */\nfunction readUint64LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var lo = readUint32LE(array, offset);\n var hi = readUint32LE(array, offset + 4);\n return hi * 0x100000000 + lo;\n}\nexports.readUint64LE = readUint64LE;\n/**\n * Writes 8-byte big-endian representation of 64-bit unsigned\n * value to byte array starting at offset.\n *\n * Due to JavaScript limitation, supports values up to 2^53-1.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint64BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(8); }\n if (offset === void 0) { offset = 0; }\n writeUint32BE(value / 0x100000000 >>> 0, out, offset);\n writeUint32BE(value >>> 0, out, offset + 4);\n return out;\n}\nexports.writeUint64BE = writeUint64BE;\nexports.writeInt64BE = writeUint64BE;\n/**\n * Writes 8-byte little-endian representation of 64-bit unsigned\n * value to byte array starting at offset.\n *\n * Due to JavaScript limitation, supports values up to 2^53-1.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint64LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(8); }\n if (offset === void 0) { offset = 0; }\n writeUint32LE(value >>> 0, out, offset);\n writeUint32LE(value / 0x100000000 >>> 0, out, offset + 4);\n return out;\n}\nexports.writeUint64LE = writeUint64LE;\nexports.writeInt64LE = writeUint64LE;\n/**\n * Reads bytes from array starting at offset as big-endian\n * unsigned bitLen-bit integer and returns it.\n *\n * Supports bit lengths divisible by 8, up to 48.\n */\nfunction readUintBE(bitLength, array, offset) {\n if (offset === void 0) { offset = 0; }\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"readUintBE supports only bitLengths divisible by 8\");\n }\n if (bitLength / 8 > array.length - offset) {\n throw new Error(\"readUintBE: array is too short for the given bitLength\");\n }\n var result = 0;\n var mul = 1;\n for (var i = bitLength / 8 + offset - 1; i >= offset; i--) {\n result += array[i] * mul;\n mul *= 256;\n }\n return result;\n}\nexports.readUintBE = readUintBE;\n/**\n * Reads bytes from array starting at offset as little-endian\n * unsigned bitLen-bit integer and returns it.\n *\n * Supports bit lengths divisible by 8, up to 48.\n */\nfunction readUintLE(bitLength, array, offset) {\n if (offset === void 0) { offset = 0; }\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"readUintLE supports only bitLengths divisible by 8\");\n }\n if (bitLength / 8 > array.length - offset) {\n throw new Error(\"readUintLE: array is too short for the given bitLength\");\n }\n var result = 0;\n var mul = 1;\n for (var i = offset; i < offset + bitLength / 8; i++) {\n result += array[i] * mul;\n mul *= 256;\n }\n return result;\n}\nexports.readUintLE = readUintLE;\n/**\n * Writes a big-endian representation of bitLen-bit unsigned\n * value to array starting at offset.\n *\n * Supports bit lengths divisible by 8, up to 48.\n *\n * If byte array is not given, creates a new one.\n *\n * Returns the output byte array.\n */\nfunction writeUintBE(bitLength, value, out, offset) {\n if (out === void 0) { out = new Uint8Array(bitLength / 8); }\n if (offset === void 0) { offset = 0; }\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"writeUintBE supports only bitLengths divisible by 8\");\n }\n if (!int_1.isSafeInteger(value)) {\n throw new Error(\"writeUintBE value must be an integer\");\n }\n var div = 1;\n for (var i = bitLength / 8 + offset - 1; i >= offset; i--) {\n out[i] = (value / div) & 0xff;\n div *= 256;\n }\n return out;\n}\nexports.writeUintBE = writeUintBE;\n/**\n * Writes a little-endian representation of bitLen-bit unsigned\n * value to array starting at offset.\n *\n * Supports bit lengths divisible by 8, up to 48.\n *\n * If byte array is not given, creates a new one.\n *\n * Returns the output byte array.\n */\nfunction writeUintLE(bitLength, value, out, offset) {\n if (out === void 0) { out = new Uint8Array(bitLength / 8); }\n if (offset === void 0) { offset = 0; }\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"writeUintLE supports only bitLengths divisible by 8\");\n }\n if (!int_1.isSafeInteger(value)) {\n throw new Error(\"writeUintLE value must be an integer\");\n }\n var div = 1;\n for (var i = offset; i < offset + bitLength / 8; i++) {\n out[i] = (value / div) & 0xff;\n div *= 256;\n }\n return out;\n}\nexports.writeUintLE = writeUintLE;\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * 32-bit floating-point number and returns it.\n */\nfunction readFloat32BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat32(offset);\n}\nexports.readFloat32BE = readFloat32BE;\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * 32-bit floating-point number and returns it.\n */\nfunction readFloat32LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat32(offset, true);\n}\nexports.readFloat32LE = readFloat32LE;\n/**\n * Reads 8 bytes from array starting at offset as big-endian\n * 64-bit floating-point number (\"double\") and returns it.\n */\nfunction readFloat64BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat64(offset);\n}\nexports.readFloat64BE = readFloat64BE;\n/**\n * Reads 8 bytes from array starting at offset as little-endian\n * 64-bit floating-point number (\"double\") and returns it.\n */\nfunction readFloat64LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat64(offset, true);\n}\nexports.readFloat64LE = readFloat64LE;\n/**\n * Writes 4-byte big-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeFloat32BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(4); }\n if (offset === void 0) { offset = 0; }\n var view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat32(offset, value);\n return out;\n}\nexports.writeFloat32BE = writeFloat32BE;\n/**\n * Writes 4-byte little-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeFloat32LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(4); }\n if (offset === void 0) { offset = 0; }\n var view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat32(offset, value, true);\n return out;\n}\nexports.writeFloat32LE = writeFloat32LE;\n/**\n * Writes 8-byte big-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeFloat64BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(8); }\n if (offset === void 0) { offset = 0; }\n var view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat64(offset, value);\n return out;\n}\nexports.writeFloat64BE = writeFloat64BE;\n/**\n * Writes 8-byte little-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeFloat64LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(8); }\n if (offset === void 0) { offset = 0; }\n var view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat64(offset, value, true);\n return out;\n}\nexports.writeFloat64LE = writeFloat64LE;\n//# sourceMappingURL=binary.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Sets all values in the given array to zero and returns it.\n *\n * The fact that it sets bytes to zero can be relied on.\n *\n * There is no guarantee that this function makes data disappear from memory,\n * as runtime implementation can, for example, have copying garbage collector\n * that will make copies of sensitive data before we wipe it. Or that an\n * operating system will write our data to swap or sleep image. Another thing\n * is that an optimizing compiler can remove calls to this function or make it\n * no-op. There's nothing we can do with it, so we just do our best and hope\n * that everything will be okay and good will triumph over evil.\n */\nfunction wipe(array) {\n // Right now it's similar to array.fill(0). If it turns\n // out that runtimes optimize this call away, maybe\n // we can try something else.\n for (var i = 0; i < array.length; i++) {\n array[i] = 0;\n }\n return array;\n}\nexports.wipe = wipe;\n//# sourceMappingURL=wipe.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package chacha implements ChaCha stream cipher.\n */\nvar binary_1 = require(\"@stablelib/binary\");\nvar wipe_1 = require(\"@stablelib/wipe\");\n// Number of ChaCha rounds (ChaCha20).\nvar ROUNDS = 20;\n// Applies the ChaCha core function to 16-byte input,\n// 32-byte key key, and puts the result into 64-byte array out.\nfunction core(out, input, key) {\n var j0 = 0x61707865; // \"expa\" -- ChaCha's \"sigma\" constant\n var j1 = 0x3320646E; // \"nd 3\" for 32-byte keys\n var j2 = 0x79622D32; // \"2-by\"\n var j3 = 0x6B206574; // \"te k\"\n var j4 = (key[3] << 24) | (key[2] << 16) | (key[1] << 8) | key[0];\n var j5 = (key[7] << 24) | (key[6] << 16) | (key[5] << 8) | key[4];\n var j6 = (key[11] << 24) | (key[10] << 16) | (key[9] << 8) | key[8];\n var j7 = (key[15] << 24) | (key[14] << 16) | (key[13] << 8) | key[12];\n var j8 = (key[19] << 24) | (key[18] << 16) | (key[17] << 8) | key[16];\n var j9 = (key[23] << 24) | (key[22] << 16) | (key[21] << 8) | key[20];\n var j10 = (key[27] << 24) | (key[26] << 16) | (key[25] << 8) | key[24];\n var j11 = (key[31] << 24) | (key[30] << 16) | (key[29] << 8) | key[28];\n var j12 = (input[3] << 24) | (input[2] << 16) | (input[1] << 8) | input[0];\n var j13 = (input[7] << 24) | (input[6] << 16) | (input[5] << 8) | input[4];\n var j14 = (input[11] << 24) | (input[10] << 16) | (input[9] << 8) | input[8];\n var j15 = (input[15] << 24) | (input[14] << 16) | (input[13] << 8) | input[12];\n var x0 = j0;\n var x1 = j1;\n var x2 = j2;\n var x3 = j3;\n var x4 = j4;\n var x5 = j5;\n var x6 = j6;\n var x7 = j7;\n var x8 = j8;\n var x9 = j9;\n var x10 = j10;\n var x11 = j11;\n var x12 = j12;\n var x13 = j13;\n var x14 = j14;\n var x15 = j15;\n for (var i = 0; i < ROUNDS; i += 2) {\n x0 = x0 + x4 | 0;\n x12 ^= x0;\n x12 = x12 >>> (32 - 16) | x12 << 16;\n x8 = x8 + x12 | 0;\n x4 ^= x8;\n x4 = x4 >>> (32 - 12) | x4 << 12;\n x1 = x1 + x5 | 0;\n x13 ^= x1;\n x13 = x13 >>> (32 - 16) | x13 << 16;\n x9 = x9 + x13 | 0;\n x5 ^= x9;\n x5 = x5 >>> (32 - 12) | x5 << 12;\n x2 = x2 + x6 | 0;\n x14 ^= x2;\n x14 = x14 >>> (32 - 16) | x14 << 16;\n x10 = x10 + x14 | 0;\n x6 ^= x10;\n x6 = x6 >>> (32 - 12) | x6 << 12;\n x3 = x3 + x7 | 0;\n x15 ^= x3;\n x15 = x15 >>> (32 - 16) | x15 << 16;\n x11 = x11 + x15 | 0;\n x7 ^= x11;\n x7 = x7 >>> (32 - 12) | x7 << 12;\n x2 = x2 + x6 | 0;\n x14 ^= x2;\n x14 = x14 >>> (32 - 8) | x14 << 8;\n x10 = x10 + x14 | 0;\n x6 ^= x10;\n x6 = x6 >>> (32 - 7) | x6 << 7;\n x3 = x3 + x7 | 0;\n x15 ^= x3;\n x15 = x15 >>> (32 - 8) | x15 << 8;\n x11 = x11 + x15 | 0;\n x7 ^= x11;\n x7 = x7 >>> (32 - 7) | x7 << 7;\n x1 = x1 + x5 | 0;\n x13 ^= x1;\n x13 = x13 >>> (32 - 8) | x13 << 8;\n x9 = x9 + x13 | 0;\n x5 ^= x9;\n x5 = x5 >>> (32 - 7) | x5 << 7;\n x0 = x0 + x4 | 0;\n x12 ^= x0;\n x12 = x12 >>> (32 - 8) | x12 << 8;\n x8 = x8 + x12 | 0;\n x4 ^= x8;\n x4 = x4 >>> (32 - 7) | x4 << 7;\n x0 = x0 + x5 | 0;\n x15 ^= x0;\n x15 = x15 >>> (32 - 16) | x15 << 16;\n x10 = x10 + x15 | 0;\n x5 ^= x10;\n x5 = x5 >>> (32 - 12) | x5 << 12;\n x1 = x1 + x6 | 0;\n x12 ^= x1;\n x12 = x12 >>> (32 - 16) | x12 << 16;\n x11 = x11 + x12 | 0;\n x6 ^= x11;\n x6 = x6 >>> (32 - 12) | x6 << 12;\n x2 = x2 + x7 | 0;\n x13 ^= x2;\n x13 = x13 >>> (32 - 16) | x13 << 16;\n x8 = x8 + x13 | 0;\n x7 ^= x8;\n x7 = x7 >>> (32 - 12) | x7 << 12;\n x3 = x3 + x4 | 0;\n x14 ^= x3;\n x14 = x14 >>> (32 - 16) | x14 << 16;\n x9 = x9 + x14 | 0;\n x4 ^= x9;\n x4 = x4 >>> (32 - 12) | x4 << 12;\n x2 = x2 + x7 | 0;\n x13 ^= x2;\n x13 = x13 >>> (32 - 8) | x13 << 8;\n x8 = x8 + x13 | 0;\n x7 ^= x8;\n x7 = x7 >>> (32 - 7) | x7 << 7;\n x3 = x3 + x4 | 0;\n x14 ^= x3;\n x14 = x14 >>> (32 - 8) | x14 << 8;\n x9 = x9 + x14 | 0;\n x4 ^= x9;\n x4 = x4 >>> (32 - 7) | x4 << 7;\n x1 = x1 + x6 | 0;\n x12 ^= x1;\n x12 = x12 >>> (32 - 8) | x12 << 8;\n x11 = x11 + x12 | 0;\n x6 ^= x11;\n x6 = x6 >>> (32 - 7) | x6 << 7;\n x0 = x0 + x5 | 0;\n x15 ^= x0;\n x15 = x15 >>> (32 - 8) | x15 << 8;\n x10 = x10 + x15 | 0;\n x5 ^= x10;\n x5 = x5 >>> (32 - 7) | x5 << 7;\n }\n binary_1.writeUint32LE(x0 + j0 | 0, out, 0);\n binary_1.writeUint32LE(x1 + j1 | 0, out, 4);\n binary_1.writeUint32LE(x2 + j2 | 0, out, 8);\n binary_1.writeUint32LE(x3 + j3 | 0, out, 12);\n binary_1.writeUint32LE(x4 + j4 | 0, out, 16);\n binary_1.writeUint32LE(x5 + j5 | 0, out, 20);\n binary_1.writeUint32LE(x6 + j6 | 0, out, 24);\n binary_1.writeUint32LE(x7 + j7 | 0, out, 28);\n binary_1.writeUint32LE(x8 + j8 | 0, out, 32);\n binary_1.writeUint32LE(x9 + j9 | 0, out, 36);\n binary_1.writeUint32LE(x10 + j10 | 0, out, 40);\n binary_1.writeUint32LE(x11 + j11 | 0, out, 44);\n binary_1.writeUint32LE(x12 + j12 | 0, out, 48);\n binary_1.writeUint32LE(x13 + j13 | 0, out, 52);\n binary_1.writeUint32LE(x14 + j14 | 0, out, 56);\n binary_1.writeUint32LE(x15 + j15 | 0, out, 60);\n}\n/**\n * Encrypt src with ChaCha20 stream generated for the given 32-byte key and\n * 8-byte (as in original implementation) or 12-byte (as in RFC7539) nonce and\n * write the result into dst and return it.\n *\n * dst and src may be the same, but otherwise must not overlap.\n *\n * If nonce is 12 bytes, users should not encrypt more than 256 GiB with the\n * same key and nonce, otherwise the stream will repeat. The function will\n * throw error if counter overflows to prevent this.\n *\n * If nonce is 8 bytes, the output is practically unlimited (2^70 bytes, which\n * is more than a million petabytes). However, it is not recommended to\n * generate 8-byte nonces randomly, as the chance of collision is high.\n *\n * Never use the same key and nonce to encrypt more than one message.\n *\n * If nonceInplaceCounterLength is not 0, the nonce is assumed to be a 16-byte\n * array with stream counter in first nonceInplaceCounterLength bytes and nonce\n * in the last remaining bytes. The counter will be incremented inplace for\n * each ChaCha block. This is useful if you need to encrypt one stream of data\n * in chunks.\n */\nfunction streamXOR(key, nonce, src, dst, nonceInplaceCounterLength) {\n if (nonceInplaceCounterLength === void 0) { nonceInplaceCounterLength = 0; }\n // We only support 256-bit keys.\n if (key.length !== 32) {\n throw new Error(\"ChaCha: key size must be 32 bytes\");\n }\n if (dst.length < src.length) {\n throw new Error(\"ChaCha: destination is shorter than source\");\n }\n var nc;\n var counterLength;\n if (nonceInplaceCounterLength === 0) {\n if (nonce.length !== 8 && nonce.length !== 12) {\n throw new Error(\"ChaCha nonce must be 8 or 12 bytes\");\n }\n nc = new Uint8Array(16);\n // First counterLength bytes of nc are counter, starting with zero.\n counterLength = nc.length - nonce.length;\n // Last bytes of nc after counterLength are nonce, set them.\n nc.set(nonce, counterLength);\n }\n else {\n if (nonce.length !== 16) {\n throw new Error(\"ChaCha nonce with counter must be 16 bytes\");\n }\n // This will update passed nonce with counter inplace.\n nc = nonce;\n counterLength = nonceInplaceCounterLength;\n }\n // Allocate temporary space for ChaCha block.\n var block = new Uint8Array(64);\n for (var i = 0; i < src.length; i += 64) {\n // Generate a block.\n core(block, nc, key);\n // XOR block bytes with src into dst.\n for (var j = i; j < i + 64 && j < src.length; j++) {\n dst[j] = src[j] ^ block[j - i];\n }\n // Increment counter.\n incrementCounter(nc, 0, counterLength);\n }\n // Cleanup temporary space.\n wipe_1.wipe(block);\n if (nonceInplaceCounterLength === 0) {\n // Cleanup counter.\n wipe_1.wipe(nc);\n }\n return dst;\n}\nexports.streamXOR = streamXOR;\n/**\n * Generate ChaCha20 stream for the given 32-byte key and 8-byte or 12-byte\n * nonce and write it into dst and return it.\n *\n * Never use the same key and nonce to generate more than one stream.\n *\n * If nonceInplaceCounterLength is not 0, it behaves the same with respect to\n * the nonce as described in the streamXOR documentation.\n *\n * stream is like streamXOR with all-zero src.\n */\nfunction stream(key, nonce, dst, nonceInplaceCounterLength) {\n if (nonceInplaceCounterLength === void 0) { nonceInplaceCounterLength = 0; }\n wipe_1.wipe(dst);\n return streamXOR(key, nonce, dst, dst, nonceInplaceCounterLength);\n}\nexports.stream = stream;\nfunction incrementCounter(counter, pos, len) {\n var carry = 1;\n while (len--) {\n carry = carry + (counter[pos] & 0xff) | 0;\n counter[pos] = carry & 0xff;\n carry >>>= 8;\n pos++;\n }\n if (carry > 0) {\n throw new Error(\"ChaCha: counter overflow\");\n }\n}\n//# sourceMappingURL=chacha.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package constant-time provides functions for performing algorithmically constant-time operations.\n */\n/**\n * NOTE! Due to the inability to guarantee real constant time evaluation of\n * anything in JavaScript VM, this is module is the best effort.\n */\n/**\n * Returns resultIfOne if subject is 1, or resultIfZero if subject is 0.\n *\n * Supports only 32-bit integers, so resultIfOne or resultIfZero are not\n * integers, they'll be converted to them with bitwise operations.\n */\nfunction select(subject, resultIfOne, resultIfZero) {\n return (~(subject - 1) & resultIfOne) | ((subject - 1) & resultIfZero);\n}\nexports.select = select;\n/**\n * Returns 1 if a <= b, or 0 if not.\n * Arguments must be positive 32-bit integers less than or equal to 2^31 - 1.\n */\nfunction lessOrEqual(a, b) {\n return (((a | 0) - (b | 0) - 1) >>> 31) & 1;\n}\nexports.lessOrEqual = lessOrEqual;\n/**\n * Returns 1 if a and b are of equal length and their contents\n * are equal, or 0 otherwise.\n *\n * Note that unlike in equal(), zero-length inputs are considered\n * the same, so this function will return 1.\n */\nfunction compare(a, b) {\n if (a.length !== b.length) {\n return 0;\n }\n var result = 0;\n for (var i = 0; i < a.length; i++) {\n result |= a[i] ^ b[i];\n }\n return (1 & ((result - 1) >>> 8));\n}\nexports.compare = compare;\n/**\n * Returns true if a and b are of equal non-zero length,\n * and their contents are equal, or false otherwise.\n *\n * Note that unlike in compare() zero-length inputs are considered\n * _not_ equal, so this function will return false.\n */\nfunction equal(a, b) {\n if (a.length === 0 || b.length === 0) {\n return false;\n }\n return compare(a, b) !== 0;\n}\nexports.equal = equal;\n//# sourceMappingURL=constant-time.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package poly1305 implements Poly1305 one-time message authentication algorithm.\n */\nvar constant_time_1 = require(\"@stablelib/constant-time\");\nvar wipe_1 = require(\"@stablelib/wipe\");\nexports.DIGEST_LENGTH = 16;\n// Port of Andrew Moon's Poly1305-donna-16. Public domain.\n// https://github.com/floodyberry/poly1305-donna\n/**\n * Poly1305 computes 16-byte authenticator of message using\n * a one-time 32-byte key.\n *\n * Important: key should be used for only one message,\n * it should never repeat.\n */\nvar Poly1305 = /** @class */ (function () {\n function Poly1305(key) {\n this.digestLength = exports.DIGEST_LENGTH;\n this._buffer = new Uint8Array(16);\n this._r = new Uint16Array(10);\n this._h = new Uint16Array(10);\n this._pad = new Uint16Array(8);\n this._leftover = 0;\n this._fin = 0;\n this._finished = false;\n var t0 = key[0] | key[1] << 8;\n this._r[0] = (t0) & 0x1fff;\n var t1 = key[2] | key[3] << 8;\n this._r[1] = ((t0 >>> 13) | (t1 << 3)) & 0x1fff;\n var t2 = key[4] | key[5] << 8;\n this._r[2] = ((t1 >>> 10) | (t2 << 6)) & 0x1f03;\n var t3 = key[6] | key[7] << 8;\n this._r[3] = ((t2 >>> 7) | (t3 << 9)) & 0x1fff;\n var t4 = key[8] | key[9] << 8;\n this._r[4] = ((t3 >>> 4) | (t4 << 12)) & 0x00ff;\n this._r[5] = ((t4 >>> 1)) & 0x1ffe;\n var t5 = key[10] | key[11] << 8;\n this._r[6] = ((t4 >>> 14) | (t5 << 2)) & 0x1fff;\n var t6 = key[12] | key[13] << 8;\n this._r[7] = ((t5 >>> 11) | (t6 << 5)) & 0x1f81;\n var t7 = key[14] | key[15] << 8;\n this._r[8] = ((t6 >>> 8) | (t7 << 8)) & 0x1fff;\n this._r[9] = ((t7 >>> 5)) & 0x007f;\n this._pad[0] = key[16] | key[17] << 8;\n this._pad[1] = key[18] | key[19] << 8;\n this._pad[2] = key[20] | key[21] << 8;\n this._pad[3] = key[22] | key[23] << 8;\n this._pad[4] = key[24] | key[25] << 8;\n this._pad[5] = key[26] | key[27] << 8;\n this._pad[6] = key[28] | key[29] << 8;\n this._pad[7] = key[30] | key[31] << 8;\n }\n Poly1305.prototype._blocks = function (m, mpos, bytes) {\n var hibit = this._fin ? 0 : 1 << 11;\n var h0 = this._h[0], h1 = this._h[1], h2 = this._h[2], h3 = this._h[3], h4 = this._h[4], h5 = this._h[5], h6 = this._h[6], h7 = this._h[7], h8 = this._h[8], h9 = this._h[9];\n var r0 = this._r[0], r1 = this._r[1], r2 = this._r[2], r3 = this._r[3], r4 = this._r[4], r5 = this._r[5], r6 = this._r[6], r7 = this._r[7], r8 = this._r[8], r9 = this._r[9];\n while (bytes >= 16) {\n var t0 = m[mpos + 0] | m[mpos + 1] << 8;\n h0 += (t0) & 0x1fff;\n var t1 = m[mpos + 2] | m[mpos + 3] << 8;\n h1 += ((t0 >>> 13) | (t1 << 3)) & 0x1fff;\n var t2 = m[mpos + 4] | m[mpos + 5] << 8;\n h2 += ((t1 >>> 10) | (t2 << 6)) & 0x1fff;\n var t3 = m[mpos + 6] | m[mpos + 7] << 8;\n h3 += ((t2 >>> 7) | (t3 << 9)) & 0x1fff;\n var t4 = m[mpos + 8] | m[mpos + 9] << 8;\n h4 += ((t3 >>> 4) | (t4 << 12)) & 0x1fff;\n h5 += ((t4 >>> 1)) & 0x1fff;\n var t5 = m[mpos + 10] | m[mpos + 11] << 8;\n h6 += ((t4 >>> 14) | (t5 << 2)) & 0x1fff;\n var t6 = m[mpos + 12] | m[mpos + 13] << 8;\n h7 += ((t5 >>> 11) | (t6 << 5)) & 0x1fff;\n var t7 = m[mpos + 14] | m[mpos + 15] << 8;\n h8 += ((t6 >>> 8) | (t7 << 8)) & 0x1fff;\n h9 += ((t7 >>> 5)) | hibit;\n var c = 0;\n var d0 = c;\n d0 += h0 * r0;\n d0 += h1 * (5 * r9);\n d0 += h2 * (5 * r8);\n d0 += h3 * (5 * r7);\n d0 += h4 * (5 * r6);\n c = (d0 >>> 13);\n d0 &= 0x1fff;\n d0 += h5 * (5 * r5);\n d0 += h6 * (5 * r4);\n d0 += h7 * (5 * r3);\n d0 += h8 * (5 * r2);\n d0 += h9 * (5 * r1);\n c += (d0 >>> 13);\n d0 &= 0x1fff;\n var d1 = c;\n d1 += h0 * r1;\n d1 += h1 * r0;\n d1 += h2 * (5 * r9);\n d1 += h3 * (5 * r8);\n d1 += h4 * (5 * r7);\n c = (d1 >>> 13);\n d1 &= 0x1fff;\n d1 += h5 * (5 * r6);\n d1 += h6 * (5 * r5);\n d1 += h7 * (5 * r4);\n d1 += h8 * (5 * r3);\n d1 += h9 * (5 * r2);\n c += (d1 >>> 13);\n d1 &= 0x1fff;\n var d2 = c;\n d2 += h0 * r2;\n d2 += h1 * r1;\n d2 += h2 * r0;\n d2 += h3 * (5 * r9);\n d2 += h4 * (5 * r8);\n c = (d2 >>> 13);\n d2 &= 0x1fff;\n d2 += h5 * (5 * r7);\n d2 += h6 * (5 * r6);\n d2 += h7 * (5 * r5);\n d2 += h8 * (5 * r4);\n d2 += h9 * (5 * r3);\n c += (d2 >>> 13);\n d2 &= 0x1fff;\n var d3 = c;\n d3 += h0 * r3;\n d3 += h1 * r2;\n d3 += h2 * r1;\n d3 += h3 * r0;\n d3 += h4 * (5 * r9);\n c = (d3 >>> 13);\n d3 &= 0x1fff;\n d3 += h5 * (5 * r8);\n d3 += h6 * (5 * r7);\n d3 += h7 * (5 * r6);\n d3 += h8 * (5 * r5);\n d3 += h9 * (5 * r4);\n c += (d3 >>> 13);\n d3 &= 0x1fff;\n var d4 = c;\n d4 += h0 * r4;\n d4 += h1 * r3;\n d4 += h2 * r2;\n d4 += h3 * r1;\n d4 += h4 * r0;\n c = (d4 >>> 13);\n d4 &= 0x1fff;\n d4 += h5 * (5 * r9);\n d4 += h6 * (5 * r8);\n d4 += h7 * (5 * r7);\n d4 += h8 * (5 * r6);\n d4 += h9 * (5 * r5);\n c += (d4 >>> 13);\n d4 &= 0x1fff;\n var d5 = c;\n d5 += h0 * r5;\n d5 += h1 * r4;\n d5 += h2 * r3;\n d5 += h3 * r2;\n d5 += h4 * r1;\n c = (d5 >>> 13);\n d5 &= 0x1fff;\n d5 += h5 * r0;\n d5 += h6 * (5 * r9);\n d5 += h7 * (5 * r8);\n d5 += h8 * (5 * r7);\n d5 += h9 * (5 * r6);\n c += (d5 >>> 13);\n d5 &= 0x1fff;\n var d6 = c;\n d6 += h0 * r6;\n d6 += h1 * r5;\n d6 += h2 * r4;\n d6 += h3 * r3;\n d6 += h4 * r2;\n c = (d6 >>> 13);\n d6 &= 0x1fff;\n d6 += h5 * r1;\n d6 += h6 * r0;\n d6 += h7 * (5 * r9);\n d6 += h8 * (5 * r8);\n d6 += h9 * (5 * r7);\n c += (d6 >>> 13);\n d6 &= 0x1fff;\n var d7 = c;\n d7 += h0 * r7;\n d7 += h1 * r6;\n d7 += h2 * r5;\n d7 += h3 * r4;\n d7 += h4 * r3;\n c = (d7 >>> 13);\n d7 &= 0x1fff;\n d7 += h5 * r2;\n d7 += h6 * r1;\n d7 += h7 * r0;\n d7 += h8 * (5 * r9);\n d7 += h9 * (5 * r8);\n c += (d7 >>> 13);\n d7 &= 0x1fff;\n var d8 = c;\n d8 += h0 * r8;\n d8 += h1 * r7;\n d8 += h2 * r6;\n d8 += h3 * r5;\n d8 += h4 * r4;\n c = (d8 >>> 13);\n d8 &= 0x1fff;\n d8 += h5 * r3;\n d8 += h6 * r2;\n d8 += h7 * r1;\n d8 += h8 * r0;\n d8 += h9 * (5 * r9);\n c += (d8 >>> 13);\n d8 &= 0x1fff;\n var d9 = c;\n d9 += h0 * r9;\n d9 += h1 * r8;\n d9 += h2 * r7;\n d9 += h3 * r6;\n d9 += h4 * r5;\n c = (d9 >>> 13);\n d9 &= 0x1fff;\n d9 += h5 * r4;\n d9 += h6 * r3;\n d9 += h7 * r2;\n d9 += h8 * r1;\n d9 += h9 * r0;\n c += (d9 >>> 13);\n d9 &= 0x1fff;\n c = (((c << 2) + c)) | 0;\n c = (c + d0) | 0;\n d0 = c & 0x1fff;\n c = (c >>> 13);\n d1 += c;\n h0 = d0;\n h1 = d1;\n h2 = d2;\n h3 = d3;\n h4 = d4;\n h5 = d5;\n h6 = d6;\n h7 = d7;\n h8 = d8;\n h9 = d9;\n mpos += 16;\n bytes -= 16;\n }\n this._h[0] = h0;\n this._h[1] = h1;\n this._h[2] = h2;\n this._h[3] = h3;\n this._h[4] = h4;\n this._h[5] = h5;\n this._h[6] = h6;\n this._h[7] = h7;\n this._h[8] = h8;\n this._h[9] = h9;\n };\n Poly1305.prototype.finish = function (mac, macpos) {\n if (macpos === void 0) { macpos = 0; }\n var g = new Uint16Array(10);\n var c;\n var mask;\n var f;\n var i;\n if (this._leftover) {\n i = this._leftover;\n this._buffer[i++] = 1;\n for (; i < 16; i++) {\n this._buffer[i] = 0;\n }\n this._fin = 1;\n this._blocks(this._buffer, 0, 16);\n }\n c = this._h[1] >>> 13;\n this._h[1] &= 0x1fff;\n for (i = 2; i < 10; i++) {\n this._h[i] += c;\n c = this._h[i] >>> 13;\n this._h[i] &= 0x1fff;\n }\n this._h[0] += (c * 5);\n c = this._h[0] >>> 13;\n this._h[0] &= 0x1fff;\n this._h[1] += c;\n c = this._h[1] >>> 13;\n this._h[1] &= 0x1fff;\n this._h[2] += c;\n g[0] = this._h[0] + 5;\n c = g[0] >>> 13;\n g[0] &= 0x1fff;\n for (i = 1; i < 10; i++) {\n g[i] = this._h[i] + c;\n c = g[i] >>> 13;\n g[i] &= 0x1fff;\n }\n g[9] -= (1 << 13);\n mask = (c ^ 1) - 1;\n for (i = 0; i < 10; i++) {\n g[i] &= mask;\n }\n mask = ~mask;\n for (i = 0; i < 10; i++) {\n this._h[i] = (this._h[i] & mask) | g[i];\n }\n this._h[0] = ((this._h[0]) | (this._h[1] << 13)) & 0xffff;\n this._h[1] = ((this._h[1] >>> 3) | (this._h[2] << 10)) & 0xffff;\n this._h[2] = ((this._h[2] >>> 6) | (this._h[3] << 7)) & 0xffff;\n this._h[3] = ((this._h[3] >>> 9) | (this._h[4] << 4)) & 0xffff;\n this._h[4] = ((this._h[4] >>> 12) | (this._h[5] << 1) | (this._h[6] << 14)) & 0xffff;\n this._h[5] = ((this._h[6] >>> 2) | (this._h[7] << 11)) & 0xffff;\n this._h[6] = ((this._h[7] >>> 5) | (this._h[8] << 8)) & 0xffff;\n this._h[7] = ((this._h[8] >>> 8) | (this._h[9] << 5)) & 0xffff;\n f = this._h[0] + this._pad[0];\n this._h[0] = f & 0xffff;\n for (i = 1; i < 8; i++) {\n f = (((this._h[i] + this._pad[i]) | 0) + (f >>> 16)) | 0;\n this._h[i] = f & 0xffff;\n }\n mac[macpos + 0] = this._h[0] >>> 0;\n mac[macpos + 1] = this._h[0] >>> 8;\n mac[macpos + 2] = this._h[1] >>> 0;\n mac[macpos + 3] = this._h[1] >>> 8;\n mac[macpos + 4] = this._h[2] >>> 0;\n mac[macpos + 5] = this._h[2] >>> 8;\n mac[macpos + 6] = this._h[3] >>> 0;\n mac[macpos + 7] = this._h[3] >>> 8;\n mac[macpos + 8] = this._h[4] >>> 0;\n mac[macpos + 9] = this._h[4] >>> 8;\n mac[macpos + 10] = this._h[5] >>> 0;\n mac[macpos + 11] = this._h[5] >>> 8;\n mac[macpos + 12] = this._h[6] >>> 0;\n mac[macpos + 13] = this._h[6] >>> 8;\n mac[macpos + 14] = this._h[7] >>> 0;\n mac[macpos + 15] = this._h[7] >>> 8;\n this._finished = true;\n return this;\n };\n Poly1305.prototype.update = function (m) {\n var mpos = 0;\n var bytes = m.length;\n var want;\n if (this._leftover) {\n want = (16 - this._leftover);\n if (want > bytes) {\n want = bytes;\n }\n for (var i = 0; i < want; i++) {\n this._buffer[this._leftover + i] = m[mpos + i];\n }\n bytes -= want;\n mpos += want;\n this._leftover += want;\n if (this._leftover < 16) {\n return this;\n }\n this._blocks(this._buffer, 0, 16);\n this._leftover = 0;\n }\n if (bytes >= 16) {\n want = bytes - (bytes % 16);\n this._blocks(m, mpos, want);\n mpos += want;\n bytes -= want;\n }\n if (bytes) {\n for (var i = 0; i < bytes; i++) {\n this._buffer[this._leftover + i] = m[mpos + i];\n }\n this._leftover += bytes;\n }\n return this;\n };\n Poly1305.prototype.digest = function () {\n // TODO(dchest): it behaves differently than other hashes/HMAC,\n // because it throws when finished — others just return saved result.\n if (this._finished) {\n throw new Error(\"Poly1305 was finished\");\n }\n var mac = new Uint8Array(16);\n this.finish(mac);\n return mac;\n };\n Poly1305.prototype.clean = function () {\n wipe_1.wipe(this._buffer);\n wipe_1.wipe(this._r);\n wipe_1.wipe(this._h);\n wipe_1.wipe(this._pad);\n this._leftover = 0;\n this._fin = 0;\n this._finished = true; // mark as finished even if not\n return this;\n };\n return Poly1305;\n}());\nexports.Poly1305 = Poly1305;\n/**\n * Returns 16-byte authenticator of data using a one-time 32-byte key.\n *\n * Important: key should be used for only one message, it should never repeat.\n */\nfunction oneTimeAuth(key, data) {\n var h = new Poly1305(key);\n h.update(data);\n var digest = h.digest();\n h.clean();\n return digest;\n}\nexports.oneTimeAuth = oneTimeAuth;\n/**\n * Returns true if two authenticators are 16-byte long and equal.\n * Uses contant-time comparison to avoid leaking timing information.\n */\nfunction equal(a, b) {\n if (a.length !== exports.DIGEST_LENGTH || b.length !== exports.DIGEST_LENGTH) {\n return false;\n }\n return constant_time_1.equal(a, b);\n}\nexports.equal = equal;\n//# sourceMappingURL=poly1305.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar chacha_1 = require(\"@stablelib/chacha\");\nvar poly1305_1 = require(\"@stablelib/poly1305\");\nvar wipe_1 = require(\"@stablelib/wipe\");\nvar binary_1 = require(\"@stablelib/binary\");\nvar constant_time_1 = require(\"@stablelib/constant-time\");\nexports.KEY_LENGTH = 32;\nexports.NONCE_LENGTH = 12;\nexports.TAG_LENGTH = 16;\nvar ZEROS = new Uint8Array(16);\n/**\n * ChaCha20-Poly1305 Authenticated Encryption with Associated Data.\n *\n * Defined in RFC7539.\n */\nvar ChaCha20Poly1305 = /** @class */ (function () {\n /**\n * Creates a new instance with the given 32-byte key.\n */\n function ChaCha20Poly1305(key) {\n this.nonceLength = exports.NONCE_LENGTH;\n this.tagLength = exports.TAG_LENGTH;\n if (key.length !== exports.KEY_LENGTH) {\n throw new Error(\"ChaCha20Poly1305 needs 32-byte key\");\n }\n // Copy key.\n this._key = new Uint8Array(key);\n }\n /**\n * Encrypts and authenticates plaintext, authenticates associated data,\n * and returns sealed ciphertext, which includes authentication tag.\n *\n * RFC7539 specifies 12 bytes for nonce. It may be this 12-byte nonce\n * (\"IV\"), or full 16-byte counter (called \"32-bit fixed-common part\")\n * and nonce.\n *\n * If dst is given (it must be the size of plaintext + the size of tag\n * length) the result will be put into it. Dst and plaintext must not\n * overlap.\n */\n ChaCha20Poly1305.prototype.seal = function (nonce, plaintext, associatedData, dst) {\n if (nonce.length > 16) {\n throw new Error(\"ChaCha20Poly1305: incorrect nonce length\");\n }\n // Allocate space for counter, and set nonce as last bytes of it.\n var counter = new Uint8Array(16);\n counter.set(nonce, counter.length - nonce.length);\n // Generate authentication key by taking first 32-bytes of stream.\n // We pass full counter, which has 12-byte nonce and 4-byte block counter,\n // and it will get incremented after generating the block, which is\n // exactly what we need: we only use the first 32 bytes of 64-byte\n // ChaCha block and discard the next 32 bytes.\n var authKey = new Uint8Array(32);\n chacha_1.stream(this._key, counter, authKey, 4);\n // Allocate space for sealed ciphertext.\n var resultLength = plaintext.length + this.tagLength;\n var result;\n if (dst) {\n if (dst.length !== resultLength) {\n throw new Error(\"ChaCha20Poly1305: incorrect destination length\");\n }\n result = dst;\n }\n else {\n result = new Uint8Array(resultLength);\n }\n // Encrypt plaintext.\n chacha_1.streamXOR(this._key, counter, plaintext, result, 4);\n // Authenticate.\n // XXX: can \"simplify\" here: pass full result (which is already padded\n // due to zeroes prepared for tag), and ciphertext length instead of\n // subarray of result.\n this._authenticate(result.subarray(result.length - this.tagLength, result.length), authKey, result.subarray(0, result.length - this.tagLength), associatedData);\n // Cleanup.\n wipe_1.wipe(counter);\n return result;\n };\n /**\n * Authenticates sealed ciphertext (which includes authentication tag) and\n * associated data, decrypts ciphertext and returns decrypted plaintext.\n *\n * RFC7539 specifies 12 bytes for nonce. It may be this 12-byte nonce\n * (\"IV\"), or full 16-byte counter (called \"32-bit fixed-common part\")\n * and nonce.\n *\n * If authentication fails, it returns null.\n *\n * If dst is given (it must be of ciphertext length minus tag length),\n * the result will be put into it. Dst and plaintext must not overlap.\n */\n ChaCha20Poly1305.prototype.open = function (nonce, sealed, associatedData, dst) {\n if (nonce.length > 16) {\n throw new Error(\"ChaCha20Poly1305: incorrect nonce length\");\n }\n // Sealed ciphertext should at least contain tag.\n if (sealed.length < this.tagLength) {\n // TODO(dchest): should we throw here instead?\n return null;\n }\n // Allocate space for counter, and set nonce as last bytes of it.\n var counter = new Uint8Array(16);\n counter.set(nonce, counter.length - nonce.length);\n // Generate authentication key by taking first 32-bytes of stream.\n var authKey = new Uint8Array(32);\n chacha_1.stream(this._key, counter, authKey, 4);\n // Authenticate.\n // XXX: can simplify and avoid allocation: since authenticate()\n // already allocates tag (from Poly1305.digest(), it can return)\n // it instead of copying to calculatedTag. But then in seal()\n // we'll need to copy it.\n var calculatedTag = new Uint8Array(this.tagLength);\n this._authenticate(calculatedTag, authKey, sealed.subarray(0, sealed.length - this.tagLength), associatedData);\n // Constant-time compare tags and return null if they differ.\n if (!constant_time_1.equal(calculatedTag, sealed.subarray(sealed.length - this.tagLength, sealed.length))) {\n return null;\n }\n // Allocate space for decrypted plaintext.\n var resultLength = sealed.length - this.tagLength;\n var result;\n if (dst) {\n if (dst.length !== resultLength) {\n throw new Error(\"ChaCha20Poly1305: incorrect destination length\");\n }\n result = dst;\n }\n else {\n result = new Uint8Array(resultLength);\n }\n // Decrypt.\n chacha_1.streamXOR(this._key, counter, sealed.subarray(0, sealed.length - this.tagLength), result, 4);\n // Cleanup.\n wipe_1.wipe(counter);\n return result;\n };\n ChaCha20Poly1305.prototype.clean = function () {\n wipe_1.wipe(this._key);\n return this;\n };\n ChaCha20Poly1305.prototype._authenticate = function (tagOut, authKey, ciphertext, associatedData) {\n // Initialize Poly1305 with authKey.\n var h = new poly1305_1.Poly1305(authKey);\n // Authenticate padded associated data.\n if (associatedData) {\n h.update(associatedData);\n if (associatedData.length % 16 > 0) {\n h.update(ZEROS.subarray(associatedData.length % 16));\n }\n }\n // Authenticate padded ciphertext.\n h.update(ciphertext);\n if (ciphertext.length % 16 > 0) {\n h.update(ZEROS.subarray(ciphertext.length % 16));\n }\n // Authenticate length of associated data.\n // XXX: can avoid allocation here?\n var length = new Uint8Array(8);\n if (associatedData) {\n binary_1.writeUint64LE(associatedData.length, length);\n }\n h.update(length);\n // Authenticate length of ciphertext.\n binary_1.writeUint64LE(ciphertext.length, length);\n h.update(length);\n // Get tag and copy it into tagOut.\n var tag = h.digest();\n for (var i = 0; i < tag.length; i++) {\n tagOut[i] = tag[i];\n }\n // Cleanup.\n h.clean();\n wipe_1.wipe(tag);\n wipe_1.wipe(length);\n };\n return ChaCha20Poly1305;\n}());\nexports.ChaCha20Poly1305 = ChaCha20Poly1305;\n//# sourceMappingURL=chacha20poly1305.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction isSerializableHash(h) {\n return (typeof h.saveState !== \"undefined\" &&\n typeof h.restoreState !== \"undefined\" &&\n typeof h.cleanSavedState !== \"undefined\");\n}\nexports.isSerializableHash = isSerializableHash;\n// TODO(dchest): figure out the standardized interface for XOF such as\n// SHAKE and BLAKE2X.\n//# sourceMappingURL=hash.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package hmac implements HMAC algorithm.\n */\nvar hash_1 = require(\"@stablelib/hash\");\nvar constant_time_1 = require(\"@stablelib/constant-time\");\nvar wipe_1 = require(\"@stablelib/wipe\");\n/**\n * HMAC implements hash-based message authentication algorithm.\n */\nvar HMAC = /** @class */ (function () {\n /**\n * Constructs a new HMAC with the given Hash and secret key.\n */\n function HMAC(hash, key) {\n this._finished = false; // true if HMAC was finalized\n // Initialize inner and outer hashes.\n this._inner = new hash();\n this._outer = new hash();\n // Set block and digest sizes for this HMAC\n // instance to values from the hash.\n this.blockSize = this._outer.blockSize;\n this.digestLength = this._outer.digestLength;\n // Pad temporary stores a key (or its hash) padded with zeroes.\n var pad = new Uint8Array(this.blockSize);\n if (key.length > this.blockSize) {\n // If key is bigger than hash block size, it must be\n // hashed and this hash is used as a key instead.\n this._inner.update(key).finish(pad).clean();\n }\n else {\n // Otherwise, copy the key into pad.\n pad.set(key);\n }\n // Now two different keys are derived from padded key\n // by xoring a different byte value to each.\n // To make inner hash key, xor byte 0x36 into pad.\n for (var i = 0; i < pad.length; i++) {\n pad[i] ^= 0x36;\n }\n // Update inner hash with the result.\n this._inner.update(pad);\n // To make outer hash key, xor byte 0x5c into pad.\n // But since we already xored 0x36 there, we must\n // first undo this by xoring it again.\n for (var i = 0; i < pad.length; i++) {\n pad[i] ^= 0x36 ^ 0x5c;\n }\n // Update outer hash with the result.\n this._outer.update(pad);\n // Save states of both hashes, so that we can quickly restore\n // them later in reset() without the need to remember the actual\n // key and perform this initialization again.\n if (hash_1.isSerializableHash(this._inner) && hash_1.isSerializableHash(this._outer)) {\n this._innerKeyedState = this._inner.saveState();\n this._outerKeyedState = this._outer.saveState();\n }\n // Clean pad.\n wipe_1.wipe(pad);\n }\n /**\n * Returns HMAC state to the state initialized with key\n * to make it possible to run HMAC over the other data with the same\n * key without creating a new instance.\n */\n HMAC.prototype.reset = function () {\n if (!hash_1.isSerializableHash(this._inner) || !hash_1.isSerializableHash(this._outer)) {\n throw new Error(\"hmac: can't reset() because hash doesn't implement restoreState()\");\n }\n // Restore keyed states of inner and outer hashes.\n this._inner.restoreState(this._innerKeyedState);\n this._outer.restoreState(this._outerKeyedState);\n this._finished = false;\n return this;\n };\n /**\n * Cleans HMAC state.\n */\n HMAC.prototype.clean = function () {\n if (hash_1.isSerializableHash(this._inner)) {\n this._inner.cleanSavedState(this._innerKeyedState);\n }\n if (hash_1.isSerializableHash(this._outer)) {\n this._outer.cleanSavedState(this._outerKeyedState);\n }\n this._inner.clean();\n this._outer.clean();\n };\n /**\n * Updates state with provided data.\n */\n HMAC.prototype.update = function (data) {\n this._inner.update(data);\n return this;\n };\n /**\n * Finalizes HMAC and puts the result in out.\n */\n HMAC.prototype.finish = function (out) {\n if (this._finished) {\n // If HMAC was finalized, outer hash is also finalized,\n // so it produces the same digest it produced when it\n // was finalized.\n this._outer.finish(out);\n return this;\n }\n // Finalize inner hash and store the result temporarily.\n this._inner.finish(out);\n // Update outer hash with digest of inner hash and and finalize it.\n this._outer.update(out.subarray(0, this.digestLength)).finish(out);\n this._finished = true;\n return this;\n };\n /**\n * Returns the computed message authentication code.\n */\n HMAC.prototype.digest = function () {\n var out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n };\n /**\n * Saves HMAC state.\n * This function is needed for PBKDF2 optimization.\n */\n HMAC.prototype.saveState = function () {\n if (!hash_1.isSerializableHash(this._inner)) {\n throw new Error(\"hmac: can't saveState() because hash doesn't implement it\");\n }\n return this._inner.saveState();\n };\n HMAC.prototype.restoreState = function (savedState) {\n if (!hash_1.isSerializableHash(this._inner) || !hash_1.isSerializableHash(this._outer)) {\n throw new Error(\"hmac: can't restoreState() because hash doesn't implement it\");\n }\n this._inner.restoreState(savedState);\n this._outer.restoreState(this._outerKeyedState);\n this._finished = false;\n return this;\n };\n HMAC.prototype.cleanSavedState = function (savedState) {\n if (!hash_1.isSerializableHash(this._inner)) {\n throw new Error(\"hmac: can't cleanSavedState() because hash doesn't implement it\");\n }\n this._inner.cleanSavedState(savedState);\n };\n return HMAC;\n}());\nexports.HMAC = HMAC;\n/**\n * Returns HMAC using the given hash constructor for the key over data.\n */\nfunction hmac(hash, key, data) {\n var h = new HMAC(hash, key);\n h.update(data);\n var digest = h.digest();\n h.clean();\n return digest;\n}\nexports.hmac = hmac;\n/**\n * Returns true if two HMAC digests are equal.\n * Uses constant-time comparison to avoid leaking timing information.\n *\n * Example:\n *\n * const receivedDigest = ...\n * const realDigest = hmac(SHA256, key, data);\n * if (!equal(receivedDigest, realDigest)) {\n * throw new Error(\"Authentication error\");\n * }\n */\nexports.equal = constant_time_1.equal;\n//# sourceMappingURL=hmac.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar hmac_1 = require(\"@stablelib/hmac\");\nvar wipe_1 = require(\"@stablelib/wipe\");\n/**\n * HMAC-based Extract-and-Expand Key Derivation Function.\n *\n * Implements HKDF from RFC5869.\n *\n * Expands the given master key with salt and info into\n * a limited stream of key material.\n */\nvar HKDF = /** @class */ (function () {\n /**\n * Create a new HKDF instance for the given hash function\n * with the master key, optional salt, and info.\n *\n * - Master key is a high-entropy secret key (not a password).\n * - Salt is a non-secret random value.\n * - Info is application- and/or context-specific information.\n */\n function HKDF(hash, key, salt, info) {\n if (salt === void 0) { salt = new Uint8Array(0); }\n this._counter = new Uint8Array(1); // starts with zero\n this._hash = hash;\n this._info = info;\n // HKDF-Extract uses salt as HMAC key, and key as data.\n var okm = hmac_1.hmac(this._hash, salt, key);\n // Initialize HMAC for expanding with extracted key.\n this._hmac = new hmac_1.HMAC(hash, okm);\n // Allocate buffer.\n this._buffer = new Uint8Array(this._hmac.digestLength);\n this._bufpos = this._buffer.length;\n }\n // Fill buffer with new block of HKDF-Extract output.\n HKDF.prototype._fillBuffer = function () {\n // Increment counter.\n this._counter[0]++;\n var ctr = this._counter[0];\n // Check if counter overflowed.\n if (ctr === 0) {\n throw new Error(\"hkdf: cannot expand more\");\n }\n // Prepare HMAC instance for new data with old key.\n this._hmac.reset();\n // Hash in previous output if it was generated\n // (i.e. counter is greater than 1).\n if (ctr > 1) {\n this._hmac.update(this._buffer);\n }\n // Hash in info if it exists.\n if (this._info) {\n this._hmac.update(this._info);\n }\n // Hash in the counter.\n this._hmac.update(this._counter);\n // Output result to buffer and clean HMAC instance.\n this._hmac.finish(this._buffer);\n // Reset buffer position.\n this._bufpos = 0;\n };\n /**\n * Expand returns next key material of the given length.\n *\n * It throws if expansion limit is reached (which is\n * 254 digests of the underlying HMAC function).\n */\n HKDF.prototype.expand = function (length) {\n var out = new Uint8Array(length);\n for (var i = 0; i < out.length; i++) {\n if (this._bufpos === this._buffer.length) {\n this._fillBuffer();\n }\n out[i] = this._buffer[this._bufpos++];\n }\n return out;\n };\n HKDF.prototype.clean = function () {\n this._hmac.clean();\n wipe_1.wipe(this._buffer);\n wipe_1.wipe(this._counter);\n this._bufpos = 0;\n };\n return HKDF;\n}());\nexports.HKDF = HKDF;\n// TODO(dchest): maybe implement deriveKey?\n//# sourceMappingURL=hkdf.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrowserRandomSource = void 0;\nconst QUOTA = 65536;\nclass BrowserRandomSource {\n constructor() {\n this.isAvailable = false;\n this.isInstantiated = false;\n const browserCrypto = typeof self !== 'undefined'\n ? (self.crypto || self.msCrypto) // IE11 has msCrypto\n : null;\n if (browserCrypto && browserCrypto.getRandomValues !== undefined) {\n this._crypto = browserCrypto;\n this.isAvailable = true;\n this.isInstantiated = true;\n }\n }\n randomBytes(length) {\n if (!this.isAvailable || !this._crypto) {\n throw new Error(\"Browser random byte generator is not available.\");\n }\n const out = new Uint8Array(length);\n for (let i = 0; i < out.length; i += QUOTA) {\n this._crypto.getRandomValues(out.subarray(i, i + Math.min(out.length - i, QUOTA)));\n }\n return out;\n }\n}\nexports.BrowserRandomSource = BrowserRandomSource;\n//# sourceMappingURL=browser.js.map","/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","'use strict'\n\n// limit of Crypto.getRandomValues()\n// https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues\nvar MAX_BYTES = 65536\n\n// Node supports requesting up to this number of bytes\n// https://github.com/nodejs/node/blob/master/lib/internal/crypto/random.js#L48\nvar MAX_UINT32 = 4294967295\n\nfunction oldBrowser () {\n throw new Error('Secure random number generation is not supported by this browser.\\nUse Chrome, Firefox or Internet Explorer 11')\n}\n\nvar Buffer = require('safe-buffer').Buffer\nvar crypto = global.crypto || global.msCrypto\n\nif (crypto && crypto.getRandomValues) {\n module.exports = randomBytes\n} else {\n module.exports = oldBrowser\n}\n\nfunction randomBytes (size, cb) {\n // phantomjs needs to throw\n if (size > MAX_UINT32) throw new RangeError('requested too many random bytes')\n\n var bytes = Buffer.allocUnsafe(size)\n\n if (size > 0) { // getRandomValues fails on IE if size == 0\n if (size > MAX_BYTES) { // this is the max bytes crypto.getRandomValues\n // can do at once see https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues\n for (var generated = 0; generated < size; generated += MAX_BYTES) {\n // buffer.slice automatically checks if the end is past the end of\n // the buffer so we don't have to here\n crypto.getRandomValues(bytes.slice(generated, generated + MAX_BYTES))\n }\n } else {\n crypto.getRandomValues(bytes)\n }\n }\n\n if (typeof cb === 'function') {\n return process.nextTick(function () {\n cb(null, bytes)\n })\n }\n\n return bytes\n}\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","module.exports = require('events').EventEmitter;\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\nvar test = {\n\t__proto__: null,\n\tfoo: {}\n};\n\nvar $Object = Object;\n\n/** @type {import('.')} */\nmodule.exports = function hasProto() {\n\t// @ts-expect-error: TS errors on an inherited property for some reason\n\treturn { __proto__: test }.foo === test.foo\n\t\t&& !(test instanceof $Object);\n};\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","'use strict';\n\nvar undefined;\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\nvar hasProto = require('has-proto')();\n\nvar getProto = Object.getPrototypeOf || (\n\thasProto\n\t\t? function (x) { return x.__proto__; } // eslint-disable-line no-proto\n\t\t: null\n);\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\n/** @type {import('.')} */\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true) || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\n\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = require('es-errors/type');\nvar $floor = GetIntrinsic('%Math.floor%');\n\n/** @typedef {(...args: unknown[]) => unknown} Func */\n\n/** @type {(fn: T, length: number, loose?: boolean) => T} */\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\nvar setFunctionLength = require('set-function-length');\n\nvar $TypeError = require('es-errors/type');\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $defineProperty = require('es-define-property');\nvar $max = GetIntrinsic('%Math.max%');\n\nmodule.exports = function callBind(originalFunction) {\n\tif (typeof originalFunction !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\tvar func = $reflectApply(bind, $call, arguments);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\t1 + $max(0, originalFunction.length - (arguments.length - 1)),\n\t\ttrue\n\t);\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\n\nvar isStandardArguments = function isArguments(value) {\n\tif (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {\n\t\treturn false;\n\t}\n\treturn $toString(value) === '[object Arguments]';\n};\n\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null &&\n\t\ttypeof value === 'object' &&\n\t\ttypeof value.length === 'number' &&\n\t\tvalue.length >= 0 &&\n\t\t$toString(value) !== '[object Array]' &&\n\t\t$toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\nvar fnToStr = Function.prototype.toString;\nvar isFnRegex = /^\\s*(?:function)?\\*/;\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar getProto = Object.getPrototypeOf;\nvar getGeneratorFunc = function () { // eslint-disable-line consistent-return\n\tif (!hasToStringTag) {\n\t\treturn false;\n\t}\n\ttry {\n\t\treturn Function('return function*() {}')();\n\t} catch (e) {\n\t}\n};\nvar GeneratorFunction;\n\nmodule.exports = function isGeneratorFunction(fn) {\n\tif (typeof fn !== 'function') {\n\t\treturn false;\n\t}\n\tif (isFnRegex.test(fnToStr.call(fn))) {\n\t\treturn true;\n\t}\n\tif (!hasToStringTag) {\n\t\tvar str = toStr.call(fn);\n\t\treturn str === '[object GeneratorFunction]';\n\t}\n\tif (!getProto) {\n\t\treturn false;\n\t}\n\tif (typeof GeneratorFunction === 'undefined') {\n\t\tvar generatorFunc = getGeneratorFunc();\n\t\tGeneratorFunction = generatorFunc ? getProto(generatorFunc) : false;\n\t}\n\treturn getProto(fn) === GeneratorFunction;\n};\n","'use strict';\n\nvar fnToStr = Function.prototype.toString;\nvar reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply;\nvar badArrayLike;\nvar isCallableMarker;\nif (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') {\n\ttry {\n\t\tbadArrayLike = Object.defineProperty({}, 'length', {\n\t\t\tget: function () {\n\t\t\t\tthrow isCallableMarker;\n\t\t\t}\n\t\t});\n\t\tisCallableMarker = {};\n\t\t// eslint-disable-next-line no-throw-literal\n\t\treflectApply(function () { throw 42; }, null, badArrayLike);\n\t} catch (_) {\n\t\tif (_ !== isCallableMarker) {\n\t\t\treflectApply = null;\n\t\t}\n\t}\n} else {\n\treflectApply = null;\n}\n\nvar constructorRegex = /^\\s*class\\b/;\nvar isES6ClassFn = function isES6ClassFunction(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\treturn constructorRegex.test(fnStr);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionToStr(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar objectClass = '[object Object]';\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar ddaClass = '[object HTMLAllCollection]'; // IE 11\nvar ddaClass2 = '[object HTML document.all class]';\nvar ddaClass3 = '[object HTMLCollection]'; // IE 9-10\nvar hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; // better: use `has-tostringtag`\n\nvar isIE68 = !(0 in [,]); // eslint-disable-line no-sparse-arrays, comma-spacing\n\nvar isDDA = function isDocumentDotAll() { return false; };\nif (typeof document === 'object') {\n\t// Firefox 3 canonicalizes DDA to undefined when it's not accessed directly\n\tvar all = document.all;\n\tif (toStr.call(all) === toStr.call(document.all)) {\n\t\tisDDA = function isDocumentDotAll(value) {\n\t\t\t/* globals document: false */\n\t\t\t// in IE 6-8, typeof document.all is \"object\" and it's truthy\n\t\t\tif ((isIE68 || !value) && (typeof value === 'undefined' || typeof value === 'object')) {\n\t\t\t\ttry {\n\t\t\t\t\tvar str = toStr.call(value);\n\t\t\t\t\treturn (\n\t\t\t\t\t\tstr === ddaClass\n\t\t\t\t\t\t|| str === ddaClass2\n\t\t\t\t\t\t|| str === ddaClass3 // opera 12.16\n\t\t\t\t\t\t|| str === objectClass // IE 6-8\n\t\t\t\t\t) && value('') == null; // eslint-disable-line eqeqeq\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t}\n}\n\nmodule.exports = reflectApply\n\t? function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\ttry {\n\t\t\treflectApply(value, null, badArrayLike);\n\t\t} catch (e) {\n\t\t\tif (e !== isCallableMarker) { return false; }\n\t\t}\n\t\treturn !isES6ClassFn(value) && tryFunctionObject(value);\n\t}\n\t: function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\tif (hasToStringTag) { return tryFunctionObject(value); }\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tvar strClass = toStr.call(value);\n\t\tif (strClass !== fnClass && strClass !== genClass && !(/^\\[object HTML/).test(strClass)) { return false; }\n\t\treturn tryFunctionObject(value);\n\t};\n","'use strict';\n\nvar isCallable = require('is-callable');\n\nvar toStr = Object.prototype.toString;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar forEachArray = function forEachArray(array, iterator, receiver) {\n for (var i = 0, len = array.length; i < len; i++) {\n if (hasOwnProperty.call(array, i)) {\n if (receiver == null) {\n iterator(array[i], i, array);\n } else {\n iterator.call(receiver, array[i], i, array);\n }\n }\n }\n};\n\nvar forEachString = function forEachString(string, iterator, receiver) {\n for (var i = 0, len = string.length; i < len; i++) {\n // no such thing as a sparse string.\n if (receiver == null) {\n iterator(string.charAt(i), i, string);\n } else {\n iterator.call(receiver, string.charAt(i), i, string);\n }\n }\n};\n\nvar forEachObject = function forEachObject(object, iterator, receiver) {\n for (var k in object) {\n if (hasOwnProperty.call(object, k)) {\n if (receiver == null) {\n iterator(object[k], k, object);\n } else {\n iterator.call(receiver, object[k], k, object);\n }\n }\n }\n};\n\nvar forEach = function forEach(list, iterator, thisArg) {\n if (!isCallable(iterator)) {\n throw new TypeError('iterator must be a function');\n }\n\n var receiver;\n if (arguments.length >= 3) {\n receiver = thisArg;\n }\n\n if (toStr.call(list) === '[object Array]') {\n forEachArray(list, iterator, receiver);\n } else if (typeof list === 'string') {\n forEachString(list, iterator, receiver);\n } else {\n forEachObject(list, iterator, receiver);\n }\n};\n\nmodule.exports = forEach;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = [\n\t'Float32Array',\n\t'Float64Array',\n\t'Int8Array',\n\t'Int16Array',\n\t'Int32Array',\n\t'Uint8Array',\n\t'Uint8ClampedArray',\n\t'Uint16Array',\n\t'Uint32Array',\n\t'BigInt64Array',\n\t'BigUint64Array'\n];\n","'use strict';\n\nvar possibleNames = require('possible-typed-array-names');\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\n\n/** @type {import('.')} */\nmodule.exports = function availableTypedArrays() {\n\tvar /** @type {ReturnType} */ out = [];\n\tfor (var i = 0; i < possibleNames.length; i++) {\n\t\tif (typeof g[possibleNames[i]] === 'function') {\n\t\t\t// @ts-expect-error\n\t\t\tout[out.length] = possibleNames[i];\n\t\t}\n\t}\n\treturn out;\n};\n","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBind = require('call-bind');\nvar callBound = require('call-bind/callBound');\nvar gOPD = require('gopd');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $slice = callBound('String.prototype.slice');\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\n\nvar $indexOf = callBound('Array.prototype.indexOf', true) || /** @type {(array: readonly unknown[], value: unknown) => keyof array} */ function indexOf(array, value) {\n\tfor (var i = 0; i < array.length; i += 1) {\n\t\tif (array[i] === value) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\n\n/** @typedef {Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array | BigInt64Array | BigUint64Array} TypedArray */\n/** @typedef {'Int8Array' | 'Uint8Array' | 'Uint8ClampedArray' | 'Int16Array' | 'Uint16Array' | 'Int32Array' | 'Uint32Array' | 'Float32Array' | 'Float64Array' | 'BigInt64Array' | 'BigUint64Array'} TypedArrayName */\n/** @type {{ [k in `\\$${TypedArrayName}`]?: (receiver: TypedArray) => string | typeof Uint8Array.prototype.slice.call | typeof Uint8Array.prototype.set.call } & { __proto__: null }} */\nvar cache = { __proto__: null };\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tif (Symbol.toStringTag in arr) {\n\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\t// @ts-expect-error TS won't narrow inside a closure\n\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\tif (!descriptor) {\n\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\t// @ts-expect-error TS won't narrow inside a closure\n\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t}\n\t\t\t// @ts-expect-error TODO: fix\n\t\t\tcache['$' + typedArray] = callBind(descriptor.get);\n\t\t}\n\t});\n} else {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tvar fn = arr.slice || arr.set;\n\t\tif (fn) {\n\t\t\t// @ts-expect-error TODO: fix\n\t\t\tcache['$' + typedArray] = callBind(fn);\n\t\t}\n\t});\n}\n\n/** @type {import('.')} */\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\t/** @type {ReturnType} */ var found = false;\n\tforEach(\n\t\t// eslint-disable-next-line no-extra-parens\n\t\t/** @type {Record<`\\$${TypedArrayName}`, typeof cache>} */ /** @type {any} */ (cache),\n\t\t/** @type {(getter: typeof cache, name: `\\$${TypedArrayName}`) => void} */ function (getter, typedArray) {\n\t\t\tif (!found) {\n\t\t\t\ttry {\n\t\t\t\t// @ts-expect-error TODO: fix\n\t\t\t\t\tif ('$' + getter(value) === typedArray) {\n\t\t\t\t\t\tfound = $slice(typedArray, 1);\n\t\t\t\t\t}\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t}\n\t);\n\treturn found;\n};\n\n/** @type {import('.')} */\nvar trySlices = function tryAllSlices(value) {\n\t/** @type {ReturnType} */ var found = false;\n\tforEach(\n\t\t// eslint-disable-next-line no-extra-parens\n\t\t/** @type {any} */ (cache),\n\t\t/** @type {(getter: typeof cache, name: `\\$${TypedArrayName}`) => void} */ function (getter, name) {\n\t\t\tif (!found) {\n\t\t\t\ttry {\n\t\t\t\t// @ts-expect-error TODO: fix\n\t\t\t\t\tgetter(value);\n\t\t\t\t\tfound = $slice(name, 1);\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t}\n\t);\n\treturn found;\n};\n\n/** @type {import('.')} */\nmodule.exports = function whichTypedArray(value) {\n\tif (!value || typeof value !== 'object') { return false; }\n\tif (!hasToStringTag) {\n\t\tvar tag = $slice($toString(value), 8, -1);\n\t\tif ($indexOf(typedArrays, tag) > -1) {\n\t\t\treturn tag;\n\t\t}\n\t\tif (tag !== 'Object') {\n\t\t\treturn false;\n\t\t}\n\t\t// node < 0.6 hits here on real Typed Arrays\n\t\treturn trySlices(value);\n\t}\n\tif (!gOPD) { return null; } // unknown engine\n\treturn tryTypedArrays(value);\n};\n","'use strict';\n\nvar whichTypedArray = require('which-typed-array');\n\n/** @type {import('.')} */\nmodule.exports = function isTypedArray(value) {\n\treturn !!whichTypedArray(value);\n};\n","// Currently in sync with Node.js lib/internal/util/types.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\n'use strict';\n\nvar isArgumentsObject = require('is-arguments');\nvar isGeneratorFunction = require('is-generator-function');\nvar whichTypedArray = require('which-typed-array');\nvar isTypedArray = require('is-typed-array');\n\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\n\nvar BigIntSupported = typeof BigInt !== 'undefined';\nvar SymbolSupported = typeof Symbol !== 'undefined';\n\nvar ObjectToString = uncurryThis(Object.prototype.toString);\n\nvar numberValue = uncurryThis(Number.prototype.valueOf);\nvar stringValue = uncurryThis(String.prototype.valueOf);\nvar booleanValue = uncurryThis(Boolean.prototype.valueOf);\n\nif (BigIntSupported) {\n var bigIntValue = uncurryThis(BigInt.prototype.valueOf);\n}\n\nif (SymbolSupported) {\n var symbolValue = uncurryThis(Symbol.prototype.valueOf);\n}\n\nfunction checkBoxedPrimitive(value, prototypeValueOf) {\n if (typeof value !== 'object') {\n return false;\n }\n try {\n prototypeValueOf(value);\n return true;\n } catch(e) {\n return false;\n }\n}\n\nexports.isArgumentsObject = isArgumentsObject;\nexports.isGeneratorFunction = isGeneratorFunction;\nexports.isTypedArray = isTypedArray;\n\n// Taken from here and modified for better browser support\n// https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js\nfunction isPromise(input) {\n\treturn (\n\t\t(\n\t\t\ttypeof Promise !== 'undefined' &&\n\t\t\tinput instanceof Promise\n\t\t) ||\n\t\t(\n\t\t\tinput !== null &&\n\t\t\ttypeof input === 'object' &&\n\t\t\ttypeof input.then === 'function' &&\n\t\t\ttypeof input.catch === 'function'\n\t\t)\n\t);\n}\nexports.isPromise = isPromise;\n\nfunction isArrayBufferView(value) {\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n return ArrayBuffer.isView(value);\n }\n\n return (\n isTypedArray(value) ||\n isDataView(value)\n );\n}\nexports.isArrayBufferView = isArrayBufferView;\n\n\nfunction isUint8Array(value) {\n return whichTypedArray(value) === 'Uint8Array';\n}\nexports.isUint8Array = isUint8Array;\n\nfunction isUint8ClampedArray(value) {\n return whichTypedArray(value) === 'Uint8ClampedArray';\n}\nexports.isUint8ClampedArray = isUint8ClampedArray;\n\nfunction isUint16Array(value) {\n return whichTypedArray(value) === 'Uint16Array';\n}\nexports.isUint16Array = isUint16Array;\n\nfunction isUint32Array(value) {\n return whichTypedArray(value) === 'Uint32Array';\n}\nexports.isUint32Array = isUint32Array;\n\nfunction isInt8Array(value) {\n return whichTypedArray(value) === 'Int8Array';\n}\nexports.isInt8Array = isInt8Array;\n\nfunction isInt16Array(value) {\n return whichTypedArray(value) === 'Int16Array';\n}\nexports.isInt16Array = isInt16Array;\n\nfunction isInt32Array(value) {\n return whichTypedArray(value) === 'Int32Array';\n}\nexports.isInt32Array = isInt32Array;\n\nfunction isFloat32Array(value) {\n return whichTypedArray(value) === 'Float32Array';\n}\nexports.isFloat32Array = isFloat32Array;\n\nfunction isFloat64Array(value) {\n return whichTypedArray(value) === 'Float64Array';\n}\nexports.isFloat64Array = isFloat64Array;\n\nfunction isBigInt64Array(value) {\n return whichTypedArray(value) === 'BigInt64Array';\n}\nexports.isBigInt64Array = isBigInt64Array;\n\nfunction isBigUint64Array(value) {\n return whichTypedArray(value) === 'BigUint64Array';\n}\nexports.isBigUint64Array = isBigUint64Array;\n\nfunction isMapToString(value) {\n return ObjectToString(value) === '[object Map]';\n}\nisMapToString.working = (\n typeof Map !== 'undefined' &&\n isMapToString(new Map())\n);\n\nfunction isMap(value) {\n if (typeof Map === 'undefined') {\n return false;\n }\n\n return isMapToString.working\n ? isMapToString(value)\n : value instanceof Map;\n}\nexports.isMap = isMap;\n\nfunction isSetToString(value) {\n return ObjectToString(value) === '[object Set]';\n}\nisSetToString.working = (\n typeof Set !== 'undefined' &&\n isSetToString(new Set())\n);\nfunction isSet(value) {\n if (typeof Set === 'undefined') {\n return false;\n }\n\n return isSetToString.working\n ? isSetToString(value)\n : value instanceof Set;\n}\nexports.isSet = isSet;\n\nfunction isWeakMapToString(value) {\n return ObjectToString(value) === '[object WeakMap]';\n}\nisWeakMapToString.working = (\n typeof WeakMap !== 'undefined' &&\n isWeakMapToString(new WeakMap())\n);\nfunction isWeakMap(value) {\n if (typeof WeakMap === 'undefined') {\n return false;\n }\n\n return isWeakMapToString.working\n ? isWeakMapToString(value)\n : value instanceof WeakMap;\n}\nexports.isWeakMap = isWeakMap;\n\nfunction isWeakSetToString(value) {\n return ObjectToString(value) === '[object WeakSet]';\n}\nisWeakSetToString.working = (\n typeof WeakSet !== 'undefined' &&\n isWeakSetToString(new WeakSet())\n);\nfunction isWeakSet(value) {\n return isWeakSetToString(value);\n}\nexports.isWeakSet = isWeakSet;\n\nfunction isArrayBufferToString(value) {\n return ObjectToString(value) === '[object ArrayBuffer]';\n}\nisArrayBufferToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n isArrayBufferToString(new ArrayBuffer())\n);\nfunction isArrayBuffer(value) {\n if (typeof ArrayBuffer === 'undefined') {\n return false;\n }\n\n return isArrayBufferToString.working\n ? isArrayBufferToString(value)\n : value instanceof ArrayBuffer;\n}\nexports.isArrayBuffer = isArrayBuffer;\n\nfunction isDataViewToString(value) {\n return ObjectToString(value) === '[object DataView]';\n}\nisDataViewToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n typeof DataView !== 'undefined' &&\n isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1))\n);\nfunction isDataView(value) {\n if (typeof DataView === 'undefined') {\n return false;\n }\n\n return isDataViewToString.working\n ? isDataViewToString(value)\n : value instanceof DataView;\n}\nexports.isDataView = isDataView;\n\n// Store a copy of SharedArrayBuffer in case it's deleted elsewhere\nvar SharedArrayBufferCopy = typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : undefined;\nfunction isSharedArrayBufferToString(value) {\n return ObjectToString(value) === '[object SharedArrayBuffer]';\n}\nfunction isSharedArrayBuffer(value) {\n if (typeof SharedArrayBufferCopy === 'undefined') {\n return false;\n }\n\n if (typeof isSharedArrayBufferToString.working === 'undefined') {\n isSharedArrayBufferToString.working = isSharedArrayBufferToString(new SharedArrayBufferCopy());\n }\n\n return isSharedArrayBufferToString.working\n ? isSharedArrayBufferToString(value)\n : value instanceof SharedArrayBufferCopy;\n}\nexports.isSharedArrayBuffer = isSharedArrayBuffer;\n\nfunction isAsyncFunction(value) {\n return ObjectToString(value) === '[object AsyncFunction]';\n}\nexports.isAsyncFunction = isAsyncFunction;\n\nfunction isMapIterator(value) {\n return ObjectToString(value) === '[object Map Iterator]';\n}\nexports.isMapIterator = isMapIterator;\n\nfunction isSetIterator(value) {\n return ObjectToString(value) === '[object Set Iterator]';\n}\nexports.isSetIterator = isSetIterator;\n\nfunction isGeneratorObject(value) {\n return ObjectToString(value) === '[object Generator]';\n}\nexports.isGeneratorObject = isGeneratorObject;\n\nfunction isWebAssemblyCompiledModule(value) {\n return ObjectToString(value) === '[object WebAssembly.Module]';\n}\nexports.isWebAssemblyCompiledModule = isWebAssemblyCompiledModule;\n\nfunction isNumberObject(value) {\n return checkBoxedPrimitive(value, numberValue);\n}\nexports.isNumberObject = isNumberObject;\n\nfunction isStringObject(value) {\n return checkBoxedPrimitive(value, stringValue);\n}\nexports.isStringObject = isStringObject;\n\nfunction isBooleanObject(value) {\n return checkBoxedPrimitive(value, booleanValue);\n}\nexports.isBooleanObject = isBooleanObject;\n\nfunction isBigIntObject(value) {\n return BigIntSupported && checkBoxedPrimitive(value, bigIntValue);\n}\nexports.isBigIntObject = isBigIntObject;\n\nfunction isSymbolObject(value) {\n return SymbolSupported && checkBoxedPrimitive(value, symbolValue);\n}\nexports.isSymbolObject = isSymbolObject;\n\nfunction isBoxedPrimitive(value) {\n return (\n isNumberObject(value) ||\n isStringObject(value) ||\n isBooleanObject(value) ||\n isBigIntObject(value) ||\n isSymbolObject(value)\n );\n}\nexports.isBoxedPrimitive = isBoxedPrimitive;\n\nfunction isAnyArrayBuffer(value) {\n return typeof Uint8Array !== 'undefined' && (\n isArrayBuffer(value) ||\n isSharedArrayBuffer(value)\n );\n}\nexports.isAnyArrayBuffer = isAnyArrayBuffer;\n\n['isProxy', 'isExternal', 'isModuleNamespaceObject'].forEach(function(method) {\n Object.defineProperty(exports, method, {\n enumerable: false,\n value: function() {\n throw new Error(method + ' is not supported in userland');\n }\n });\n});\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnvRegex = /^$/;\n\nif (process.env.NODE_DEBUG) {\n var debugEnv = process.env.NODE_DEBUG;\n debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g, '\\\\$&')\n .replace(/\\*/g, '.*')\n .replace(/,/g, '$|^')\n .toUpperCase();\n debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');\n}\nexports.debuglog = function(set) {\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (debugEnvRegex.test(set)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').slice(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.slice(1, -1);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nexports.types = require('./support/types');\n\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\nexports.types.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\nexports.types.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\nexports.types.isNativeError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb.bind(null, null, ret)) },\n function(rej) { process.nextTick(callbackifyOnRejected.bind(null, rej, cb)) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\nvar _require2 = require('util'),\n inspect = _require2.inspect;\nvar custom = inspect && inspect.custom || 'inspect';\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\nmodule.exports = /*#__PURE__*/function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) ret += s + p.data;\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n }\n\n // Consumes a specified amount of bytes or characters from the buffered data.\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n }\n\n // Consumes a specified amount of characters from the buffered data.\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Consumes a specified amount of bytes from the buffered data.\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Make sure the linked list only shows the minimal necessary information.\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread(_objectSpread({}, options), {}, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n return BufferList;\n}();","'use strict';\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n return this;\n}\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n return Math.floor(hwm);\n }\n\n // Default value\n return state.objectMode ? 16 : 16 * 1024;\n}\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\nmodule.exports = Writable;\n\n/* */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n\n/**/\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\nvar Buffer = require('buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\nvar destroyImpl = require('./internal/streams/destroy');\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nrequire('inherits')(Writable, Stream);\nfunction nop() {}\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'finish' (and potentially 'end')\n this.autoDestroy = !!options.autoDestroy;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex);\n\n // legacy.\n this.writable = true;\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END();\n // TODO: defer error events consistently everywhere, not just the cb\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n return true;\n}\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n return ret;\n}\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n if (entry === null) state.lastBufferedRequest = null;\n }\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\nWritable.prototype._writev = null;\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n errorOrDestroy(stream, err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n return need;\n}\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n\n // reuse the free corkReq.\n state.corkedRequestsFree.next = corkReq;\n}\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/**/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n};\n/**/\n\nmodule.exports = Duplex;\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\nrequire('inherits')(Duplex, Readable);\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n process.nextTick(onEndNT, this);\n}\nfunction onEndNT(self) {\n self.end();\n}\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\n/**/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n callback.apply(this, args);\n };\n}\nfunction noop() {}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n var writableEnded = stream._writableState && stream._writableState.finished;\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n var onclose = function onclose() {\n var err;\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\nmodule.exports = eos;","'use strict';\n\nvar _Object$setPrototypeO;\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar finished = require('./end-of-stream');\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n if (resolve !== null) {\n var data = iter[kStream].read();\n // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n next: function next() {\n var _this = this;\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n if (error !== null) {\n return Promise.reject(error);\n }\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n }\n\n // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n var lastPromise = this[kLastPromise];\n var promise;\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n promise = new Promise(this[kHandlePromise]);\n }\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject];\n // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n iterator[kError] = err;\n return;\n }\n var resolve = iterator[kLastResolve];\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\nmodule.exports = createReadableStreamAsyncIterator;","module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nmodule.exports = Readable;\n\n/**/\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n\n/**/\nvar EE = require('events').EventEmitter;\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\nvar Buffer = require('buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\nvar debugUtil = require('util');\nvar debug;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\nvar BufferList = require('./internal/streams/buffer_list');\nvar destroyImpl = require('./internal/streams/destroy');\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;\n\n// Lazy loaded to improve the startup performance.\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\nrequire('inherits')(Readable, Stream);\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'end' (and potentially 'finish')\n this.autoDestroy = !!options.autoDestroy;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options);\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex);\n\n // legacy\n this.readable = true;\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n Stream.call(this);\n}\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n }\n\n // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n return er;\n}\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder;\n // If setEncoding(null), decoder.encoding equals utf8\n this._readableState.encoding = this._readableState.decoder.encoding;\n\n // Iterate over current buffer to convert already stored Buffers:\n var p = this._readableState.buffer.head;\n var content = '';\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n this._readableState.buffer.clear();\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n};\n\n// Don't raise the hwm > 1GB\nvar MAX_HWM = 0x40000000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n }\n\n // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n return dest;\n};\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n for (var i = 0; i < len; i++) dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0;\n\n // Try start flowing on next tick if stream isn't explicitly paused\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true;\n\n // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n state.paused = false;\n return this;\n};\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n if (!state.reading) {\n stream.read(0);\n }\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n this._readableState.paused = true;\n return this;\n};\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null);\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n return this;\n};\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n return createReadableStreamAsyncIterator(this);\n };\n}\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n});\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length);\n\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n return from(Readable, iterable, opts);\n };\n}\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\nvar Duplex = require('./_stream_duplex');\nrequire('inherits')(Transform, Duplex);\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null)\n // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\nfunction prefinish() {\n var _this = this;\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null)\n // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n'use strict';\n\nmodule.exports = PassThrough;\nvar Transform = require('./_stream_transform');\nrequire('inherits')(PassThrough, Transform);\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nvar eos;\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\nvar _require$codes = require('../../../errors').codes,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = require('./end-of-stream');\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true;\n\n // request.destroy just do .end - .abort is what we want\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\nfunction call(fn) {\n fn();\n}\nfunction pipe(from, to) {\n return from.pipe(to);\n}\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\nmodule.exports = pipeline;","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\nexports.finished = require('./lib/internal/streams/end-of-stream.js');\nexports.pipeline = require('./lib/internal/streams/pipeline.js');\n","'use strict'\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('readable-stream').Transform\nvar inherits = require('inherits')\n\nfunction throwIfNotStringOrBuffer (val, prefix) {\n if (!Buffer.isBuffer(val) && typeof val !== 'string') {\n throw new TypeError(prefix + ' must be a string or a buffer')\n }\n}\n\nfunction HashBase (blockSize) {\n Transform.call(this)\n\n this._block = Buffer.allocUnsafe(blockSize)\n this._blockSize = blockSize\n this._blockOffset = 0\n this._length = [0, 0, 0, 0]\n\n this._finalized = false\n}\n\ninherits(HashBase, Transform)\n\nHashBase.prototype._transform = function (chunk, encoding, callback) {\n var error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype._flush = function (callback) {\n var error = null\n try {\n this.push(this.digest())\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype.update = function (data, encoding) {\n throwIfNotStringOrBuffer(data, 'Data')\n if (this._finalized) throw new Error('Digest already called')\n if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)\n\n // consume data\n var block = this._block\n var offset = 0\n while (this._blockOffset + data.length - offset >= this._blockSize) {\n for (var i = this._blockOffset; i < this._blockSize;) block[i++] = data[offset++]\n this._update()\n this._blockOffset = 0\n }\n while (offset < data.length) block[this._blockOffset++] = data[offset++]\n\n // update length\n for (var j = 0, carry = data.length * 8; carry > 0; ++j) {\n this._length[j] += carry\n carry = (this._length[j] / 0x0100000000) | 0\n if (carry > 0) this._length[j] -= 0x0100000000 * carry\n }\n\n return this\n}\n\nHashBase.prototype._update = function () {\n throw new Error('_update is not implemented')\n}\n\nHashBase.prototype.digest = function (encoding) {\n if (this._finalized) throw new Error('Digest already called')\n this._finalized = true\n\n var digest = this._digest()\n if (encoding !== undefined) digest = digest.toString(encoding)\n\n // reset state\n this._block.fill(0)\n this._blockOffset = 0\n for (var i = 0; i < 4; ++i) this._length[i] = 0\n\n return digest\n}\n\nHashBase.prototype._digest = function () {\n throw new Error('_digest is not implemented')\n}\n\nmodule.exports = HashBase\n","'use strict'\nvar inherits = require('inherits')\nvar HashBase = require('hash-base')\nvar Buffer = require('safe-buffer').Buffer\n\nvar ARRAY16 = new Array(16)\n\nfunction MD5 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n}\n\ninherits(MD5, HashBase)\n\nMD5.prototype._update = function () {\n var M = ARRAY16\n for (var i = 0; i < 16; ++i) M[i] = this._block.readInt32LE(i * 4)\n\n var a = this._a\n var b = this._b\n var c = this._c\n var d = this._d\n\n a = fnF(a, b, c, d, M[0], 0xd76aa478, 7)\n d = fnF(d, a, b, c, M[1], 0xe8c7b756, 12)\n c = fnF(c, d, a, b, M[2], 0x242070db, 17)\n b = fnF(b, c, d, a, M[3], 0xc1bdceee, 22)\n a = fnF(a, b, c, d, M[4], 0xf57c0faf, 7)\n d = fnF(d, a, b, c, M[5], 0x4787c62a, 12)\n c = fnF(c, d, a, b, M[6], 0xa8304613, 17)\n b = fnF(b, c, d, a, M[7], 0xfd469501, 22)\n a = fnF(a, b, c, d, M[8], 0x698098d8, 7)\n d = fnF(d, a, b, c, M[9], 0x8b44f7af, 12)\n c = fnF(c, d, a, b, M[10], 0xffff5bb1, 17)\n b = fnF(b, c, d, a, M[11], 0x895cd7be, 22)\n a = fnF(a, b, c, d, M[12], 0x6b901122, 7)\n d = fnF(d, a, b, c, M[13], 0xfd987193, 12)\n c = fnF(c, d, a, b, M[14], 0xa679438e, 17)\n b = fnF(b, c, d, a, M[15], 0x49b40821, 22)\n\n a = fnG(a, b, c, d, M[1], 0xf61e2562, 5)\n d = fnG(d, a, b, c, M[6], 0xc040b340, 9)\n c = fnG(c, d, a, b, M[11], 0x265e5a51, 14)\n b = fnG(b, c, d, a, M[0], 0xe9b6c7aa, 20)\n a = fnG(a, b, c, d, M[5], 0xd62f105d, 5)\n d = fnG(d, a, b, c, M[10], 0x02441453, 9)\n c = fnG(c, d, a, b, M[15], 0xd8a1e681, 14)\n b = fnG(b, c, d, a, M[4], 0xe7d3fbc8, 20)\n a = fnG(a, b, c, d, M[9], 0x21e1cde6, 5)\n d = fnG(d, a, b, c, M[14], 0xc33707d6, 9)\n c = fnG(c, d, a, b, M[3], 0xf4d50d87, 14)\n b = fnG(b, c, d, a, M[8], 0x455a14ed, 20)\n a = fnG(a, b, c, d, M[13], 0xa9e3e905, 5)\n d = fnG(d, a, b, c, M[2], 0xfcefa3f8, 9)\n c = fnG(c, d, a, b, M[7], 0x676f02d9, 14)\n b = fnG(b, c, d, a, M[12], 0x8d2a4c8a, 20)\n\n a = fnH(a, b, c, d, M[5], 0xfffa3942, 4)\n d = fnH(d, a, b, c, M[8], 0x8771f681, 11)\n c = fnH(c, d, a, b, M[11], 0x6d9d6122, 16)\n b = fnH(b, c, d, a, M[14], 0xfde5380c, 23)\n a = fnH(a, b, c, d, M[1], 0xa4beea44, 4)\n d = fnH(d, a, b, c, M[4], 0x4bdecfa9, 11)\n c = fnH(c, d, a, b, M[7], 0xf6bb4b60, 16)\n b = fnH(b, c, d, a, M[10], 0xbebfbc70, 23)\n a = fnH(a, b, c, d, M[13], 0x289b7ec6, 4)\n d = fnH(d, a, b, c, M[0], 0xeaa127fa, 11)\n c = fnH(c, d, a, b, M[3], 0xd4ef3085, 16)\n b = fnH(b, c, d, a, M[6], 0x04881d05, 23)\n a = fnH(a, b, c, d, M[9], 0xd9d4d039, 4)\n d = fnH(d, a, b, c, M[12], 0xe6db99e5, 11)\n c = fnH(c, d, a, b, M[15], 0x1fa27cf8, 16)\n b = fnH(b, c, d, a, M[2], 0xc4ac5665, 23)\n\n a = fnI(a, b, c, d, M[0], 0xf4292244, 6)\n d = fnI(d, a, b, c, M[7], 0x432aff97, 10)\n c = fnI(c, d, a, b, M[14], 0xab9423a7, 15)\n b = fnI(b, c, d, a, M[5], 0xfc93a039, 21)\n a = fnI(a, b, c, d, M[12], 0x655b59c3, 6)\n d = fnI(d, a, b, c, M[3], 0x8f0ccc92, 10)\n c = fnI(c, d, a, b, M[10], 0xffeff47d, 15)\n b = fnI(b, c, d, a, M[1], 0x85845dd1, 21)\n a = fnI(a, b, c, d, M[8], 0x6fa87e4f, 6)\n d = fnI(d, a, b, c, M[15], 0xfe2ce6e0, 10)\n c = fnI(c, d, a, b, M[6], 0xa3014314, 15)\n b = fnI(b, c, d, a, M[13], 0x4e0811a1, 21)\n a = fnI(a, b, c, d, M[4], 0xf7537e82, 6)\n d = fnI(d, a, b, c, M[11], 0xbd3af235, 10)\n c = fnI(c, d, a, b, M[2], 0x2ad7d2bb, 15)\n b = fnI(b, c, d, a, M[9], 0xeb86d391, 21)\n\n this._a = (this._a + a) | 0\n this._b = (this._b + b) | 0\n this._c = (this._c + c) | 0\n this._d = (this._d + d) | 0\n}\n\nMD5.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = Buffer.allocUnsafe(16)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fnF (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnG (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnH (a, b, c, d, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnI (a, b, c, d, m, k, s) {\n return (rotl((a + ((c ^ (b | (~d)))) + m + k) | 0, s) + b) | 0\n}\n\nmodule.exports = MD5\n","'use strict'\nvar Buffer = require('buffer').Buffer\nvar inherits = require('inherits')\nvar HashBase = require('hash-base')\n\nvar ARRAY16 = new Array(16)\n\nvar zl = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n]\n\nvar zr = [\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n]\n\nvar sl = [\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n]\n\nvar sr = [\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n]\n\nvar hl = [0x00000000, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e]\nvar hr = [0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0x00000000]\n\nfunction RIPEMD160 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n}\n\ninherits(RIPEMD160, HashBase)\n\nRIPEMD160.prototype._update = function () {\n var words = ARRAY16\n for (var j = 0; j < 16; ++j) words[j] = this._block.readInt32LE(j * 4)\n\n var al = this._a | 0\n var bl = this._b | 0\n var cl = this._c | 0\n var dl = this._d | 0\n var el = this._e | 0\n\n var ar = this._a | 0\n var br = this._b | 0\n var cr = this._c | 0\n var dr = this._d | 0\n var er = this._e | 0\n\n // computation\n for (var i = 0; i < 80; i += 1) {\n var tl\n var tr\n if (i < 16) {\n tl = fn1(al, bl, cl, dl, el, words[zl[i]], hl[0], sl[i])\n tr = fn5(ar, br, cr, dr, er, words[zr[i]], hr[0], sr[i])\n } else if (i < 32) {\n tl = fn2(al, bl, cl, dl, el, words[zl[i]], hl[1], sl[i])\n tr = fn4(ar, br, cr, dr, er, words[zr[i]], hr[1], sr[i])\n } else if (i < 48) {\n tl = fn3(al, bl, cl, dl, el, words[zl[i]], hl[2], sl[i])\n tr = fn3(ar, br, cr, dr, er, words[zr[i]], hr[2], sr[i])\n } else if (i < 64) {\n tl = fn4(al, bl, cl, dl, el, words[zl[i]], hl[3], sl[i])\n tr = fn2(ar, br, cr, dr, er, words[zr[i]], hr[3], sr[i])\n } else { // if (i<80) {\n tl = fn5(al, bl, cl, dl, el, words[zl[i]], hl[4], sl[i])\n tr = fn1(ar, br, cr, dr, er, words[zr[i]], hr[4], sr[i])\n }\n\n al = el\n el = dl\n dl = rotl(cl, 10)\n cl = bl\n bl = tl\n\n ar = er\n er = dr\n dr = rotl(cr, 10)\n cr = br\n br = tr\n }\n\n // update state\n var t = (this._b + cl + dr) | 0\n this._b = (this._c + dl + er) | 0\n this._c = (this._d + el + ar) | 0\n this._d = (this._e + al + br) | 0\n this._e = (this._a + bl + cr) | 0\n this._a = t\n}\n\nRIPEMD160.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = Buffer.alloc ? Buffer.alloc(20) : new Buffer(20)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n buffer.writeInt32LE(this._e, 16)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fn1 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn2 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn3 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b | (~c)) ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn4 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn5 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ (c | (~d))) + m + k) | 0, s) + e) | 0\n}\n\nmodule.exports = RIPEMD160\n","var Buffer = require('safe-buffer').Buffer\n\n// prototype class for hash functions\nfunction Hash (blockSize, finalSize) {\n this._block = Buffer.alloc(blockSize)\n this._finalSize = finalSize\n this._blockSize = blockSize\n this._len = 0\n}\n\nHash.prototype.update = function (data, enc) {\n if (typeof data === 'string') {\n enc = enc || 'utf8'\n data = Buffer.from(data, enc)\n }\n\n var block = this._block\n var blockSize = this._blockSize\n var length = data.length\n var accum = this._len\n\n for (var offset = 0; offset < length;) {\n var assigned = accum % blockSize\n var remainder = Math.min(length - offset, blockSize - assigned)\n\n for (var i = 0; i < remainder; i++) {\n block[assigned + i] = data[offset + i]\n }\n\n accum += remainder\n offset += remainder\n\n if ((accum % blockSize) === 0) {\n this._update(block)\n }\n }\n\n this._len += length\n return this\n}\n\nHash.prototype.digest = function (enc) {\n var rem = this._len % this._blockSize\n\n this._block[rem] = 0x80\n\n // zero (rem + 1) trailing bits, where (rem + 1) is the smallest\n // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize\n this._block.fill(0, rem + 1)\n\n if (rem >= this._finalSize) {\n this._update(this._block)\n this._block.fill(0)\n }\n\n var bits = this._len * 8\n\n // uint32\n if (bits <= 0xffffffff) {\n this._block.writeUInt32BE(bits, this._blockSize - 4)\n\n // uint64\n } else {\n var lowBits = (bits & 0xffffffff) >>> 0\n var highBits = (bits - lowBits) / 0x100000000\n\n this._block.writeUInt32BE(highBits, this._blockSize - 8)\n this._block.writeUInt32BE(lowBits, this._blockSize - 4)\n }\n\n this._update(this._block)\n var hash = this._hash()\n\n return enc ? hash.toString(enc) : hash\n}\n\nHash.prototype._update = function () {\n throw new Error('_update must be implemented by subclass')\n}\n\nmodule.exports = Hash\n","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined\n * in FIPS PUB 180-1\n * This source code is derived from sha1.js of the same repository.\n * The difference between SHA-0 and SHA-1 is just a bitwise rotate left\n * operation was added.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha, Hash)\n\nSha.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha\n","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined\n * in FIPS PUB 180-1\n * Version 2.1a Copyright Paul Johnston 2000 - 2002.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for details.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha1 () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha1, Hash)\n\nSha1.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl1 (num) {\n return (num << 1) | (num >>> 31)\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha1.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16])\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha1.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha1\n","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,\n 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,\n 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,\n 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,\n 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,\n 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,\n 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,\n 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,\n 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,\n 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,\n 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,\n 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,\n 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,\n 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,\n 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,\n 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2\n]\n\nvar W = new Array(64)\n\nfunction Sha256 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha256, Hash)\n\nSha256.prototype.init = function () {\n this._a = 0x6a09e667\n this._b = 0xbb67ae85\n this._c = 0x3c6ef372\n this._d = 0xa54ff53a\n this._e = 0x510e527f\n this._f = 0x9b05688c\n this._g = 0x1f83d9ab\n this._h = 0x5be0cd19\n\n return this\n}\n\nfunction ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x) {\n return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10)\n}\n\nfunction sigma1 (x) {\n return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7)\n}\n\nfunction gamma0 (x) {\n return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ (x >>> 3)\n}\n\nfunction gamma1 (x) {\n return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ (x >>> 10)\n}\n\nSha256.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n var f = this._f | 0\n var g = this._g | 0\n var h = this._h | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 64; ++i) W[i] = (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) | 0\n\n for (var j = 0; j < 64; ++j) {\n var T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + W[j]) | 0\n var T2 = (sigma0(a) + maj(a, b, c)) | 0\n\n h = g\n g = f\n f = e\n e = (d + T1) | 0\n d = c\n c = b\n b = a\n a = (T1 + T2) | 0\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n this._f = (f + this._f) | 0\n this._g = (g + this._g) | 0\n this._h = (h + this._h) | 0\n}\n\nSha256.prototype._hash = function () {\n var H = Buffer.allocUnsafe(32)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n H.writeInt32BE(this._h, 28)\n\n return H\n}\n\nmodule.exports = Sha256\n","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Sha256 = require('./sha256')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(64)\n\nfunction Sha224 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha224, Sha256)\n\nSha224.prototype.init = function () {\n this._a = 0xc1059ed8\n this._b = 0x367cd507\n this._c = 0x3070dd17\n this._d = 0xf70e5939\n this._e = 0xffc00b31\n this._f = 0x68581511\n this._g = 0x64f98fa7\n this._h = 0xbefa4fa4\n\n return this\n}\n\nSha224.prototype._hash = function () {\n var H = Buffer.allocUnsafe(28)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n\n return H\n}\n\nmodule.exports = Sha224\n","var inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n]\n\nvar W = new Array(160)\n\nfunction Sha512 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha512, Hash)\n\nSha512.prototype.init = function () {\n this._ah = 0x6a09e667\n this._bh = 0xbb67ae85\n this._ch = 0x3c6ef372\n this._dh = 0xa54ff53a\n this._eh = 0x510e527f\n this._fh = 0x9b05688c\n this._gh = 0x1f83d9ab\n this._hh = 0x5be0cd19\n\n this._al = 0xf3bcc908\n this._bl = 0x84caa73b\n this._cl = 0xfe94f82b\n this._dl = 0x5f1d36f1\n this._el = 0xade682d1\n this._fl = 0x2b3e6c1f\n this._gl = 0xfb41bd6b\n this._hl = 0x137e2179\n\n return this\n}\n\nfunction Ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x, xl) {\n return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25)\n}\n\nfunction sigma1 (x, xl) {\n return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23)\n}\n\nfunction Gamma0 (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7)\n}\n\nfunction Gamma0l (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25)\n}\n\nfunction Gamma1 (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6)\n}\n\nfunction Gamma1l (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26)\n}\n\nfunction getCarry (a, b) {\n return (a >>> 0) < (b >>> 0) ? 1 : 0\n}\n\nSha512.prototype._update = function (M) {\n var W = this._w\n\n var ah = this._ah | 0\n var bh = this._bh | 0\n var ch = this._ch | 0\n var dh = this._dh | 0\n var eh = this._eh | 0\n var fh = this._fh | 0\n var gh = this._gh | 0\n var hh = this._hh | 0\n\n var al = this._al | 0\n var bl = this._bl | 0\n var cl = this._cl | 0\n var dl = this._dl | 0\n var el = this._el | 0\n var fl = this._fl | 0\n var gl = this._gl | 0\n var hl = this._hl | 0\n\n for (var i = 0; i < 32; i += 2) {\n W[i] = M.readInt32BE(i * 4)\n W[i + 1] = M.readInt32BE(i * 4 + 4)\n }\n for (; i < 160; i += 2) {\n var xh = W[i - 15 * 2]\n var xl = W[i - 15 * 2 + 1]\n var gamma0 = Gamma0(xh, xl)\n var gamma0l = Gamma0l(xl, xh)\n\n xh = W[i - 2 * 2]\n xl = W[i - 2 * 2 + 1]\n var gamma1 = Gamma1(xh, xl)\n var gamma1l = Gamma1l(xl, xh)\n\n // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n var Wi7h = W[i - 7 * 2]\n var Wi7l = W[i - 7 * 2 + 1]\n\n var Wi16h = W[i - 16 * 2]\n var Wi16l = W[i - 16 * 2 + 1]\n\n var Wil = (gamma0l + Wi7l) | 0\n var Wih = (gamma0 + Wi7h + getCarry(Wil, gamma0l)) | 0\n Wil = (Wil + gamma1l) | 0\n Wih = (Wih + gamma1 + getCarry(Wil, gamma1l)) | 0\n Wil = (Wil + Wi16l) | 0\n Wih = (Wih + Wi16h + getCarry(Wil, Wi16l)) | 0\n\n W[i] = Wih\n W[i + 1] = Wil\n }\n\n for (var j = 0; j < 160; j += 2) {\n Wih = W[j]\n Wil = W[j + 1]\n\n var majh = maj(ah, bh, ch)\n var majl = maj(al, bl, cl)\n\n var sigma0h = sigma0(ah, al)\n var sigma0l = sigma0(al, ah)\n var sigma1h = sigma1(eh, el)\n var sigma1l = sigma1(el, eh)\n\n // t1 = h + sigma1 + ch + K[j] + W[j]\n var Kih = K[j]\n var Kil = K[j + 1]\n\n var chh = Ch(eh, fh, gh)\n var chl = Ch(el, fl, gl)\n\n var t1l = (hl + sigma1l) | 0\n var t1h = (hh + sigma1h + getCarry(t1l, hl)) | 0\n t1l = (t1l + chl) | 0\n t1h = (t1h + chh + getCarry(t1l, chl)) | 0\n t1l = (t1l + Kil) | 0\n t1h = (t1h + Kih + getCarry(t1l, Kil)) | 0\n t1l = (t1l + Wil) | 0\n t1h = (t1h + Wih + getCarry(t1l, Wil)) | 0\n\n // t2 = sigma0 + maj\n var t2l = (sigma0l + majl) | 0\n var t2h = (sigma0h + majh + getCarry(t2l, sigma0l)) | 0\n\n hh = gh\n hl = gl\n gh = fh\n gl = fl\n fh = eh\n fl = el\n el = (dl + t1l) | 0\n eh = (dh + t1h + getCarry(el, dl)) | 0\n dh = ch\n dl = cl\n ch = bh\n cl = bl\n bh = ah\n bl = al\n al = (t1l + t2l) | 0\n ah = (t1h + t2h + getCarry(al, t1l)) | 0\n }\n\n this._al = (this._al + al) | 0\n this._bl = (this._bl + bl) | 0\n this._cl = (this._cl + cl) | 0\n this._dl = (this._dl + dl) | 0\n this._el = (this._el + el) | 0\n this._fl = (this._fl + fl) | 0\n this._gl = (this._gl + gl) | 0\n this._hl = (this._hl + hl) | 0\n\n this._ah = (this._ah + ah + getCarry(this._al, al)) | 0\n this._bh = (this._bh + bh + getCarry(this._bl, bl)) | 0\n this._ch = (this._ch + ch + getCarry(this._cl, cl)) | 0\n this._dh = (this._dh + dh + getCarry(this._dl, dl)) | 0\n this._eh = (this._eh + eh + getCarry(this._el, el)) | 0\n this._fh = (this._fh + fh + getCarry(this._fl, fl)) | 0\n this._gh = (this._gh + gh + getCarry(this._gl, gl)) | 0\n this._hh = (this._hh + hh + getCarry(this._hl, hl)) | 0\n}\n\nSha512.prototype._hash = function () {\n var H = Buffer.allocUnsafe(64)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n writeInt64BE(this._gh, this._gl, 48)\n writeInt64BE(this._hh, this._hl, 56)\n\n return H\n}\n\nmodule.exports = Sha512\n","var inherits = require('inherits')\nvar SHA512 = require('./sha512')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(160)\n\nfunction Sha384 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha384, SHA512)\n\nSha384.prototype.init = function () {\n this._ah = 0xcbbb9d5d\n this._bh = 0x629a292a\n this._ch = 0x9159015a\n this._dh = 0x152fecd8\n this._eh = 0x67332667\n this._fh = 0x8eb44a87\n this._gh = 0xdb0c2e0d\n this._hh = 0x47b5481d\n\n this._al = 0xc1059ed8\n this._bl = 0x367cd507\n this._cl = 0x3070dd17\n this._dl = 0xf70e5939\n this._el = 0xffc00b31\n this._fl = 0x68581511\n this._gl = 0x64f98fa7\n this._hl = 0xbefa4fa4\n\n return this\n}\n\nSha384.prototype._hash = function () {\n var H = Buffer.allocUnsafe(48)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n\n return H\n}\n\nmodule.exports = Sha384\n","var exports = module.exports = function SHA (algorithm) {\n algorithm = algorithm.toLowerCase()\n\n var Algorithm = exports[algorithm]\n if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)')\n\n return new Algorithm()\n}\n\nexports.sha = require('./sha')\nexports.sha1 = require('./sha1')\nexports.sha224 = require('./sha224')\nexports.sha256 = require('./sha256')\nexports.sha384 = require('./sha384')\nexports.sha512 = require('./sha512')\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = require('events').EventEmitter;\nvar inherits = require('inherits');\n\ninherits(Stream, EE);\nStream.Readable = require('readable-stream/lib/_stream_readable.js');\nStream.Writable = require('readable-stream/lib/_stream_writable.js');\nStream.Duplex = require('readable-stream/lib/_stream_duplex.js');\nStream.Transform = require('readable-stream/lib/_stream_transform.js');\nStream.PassThrough = require('readable-stream/lib/_stream_passthrough.js');\nStream.finished = require('readable-stream/lib/internal/streams/end-of-stream.js')\nStream.pipeline = require('readable-stream/lib/internal/streams/pipeline.js')\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain);\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n dest.end();\n }\n\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n if (typeof dest.destroy === 'function') dest.destroy();\n }\n\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if (EE.listenerCount(this, 'error') === 0) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror);\n\n // remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata);\n dest.removeListener('drain', ondrain);\n\n source.removeListener('end', onend);\n source.removeListener('close', onclose);\n\n source.removeListener('error', onerror);\n dest.removeListener('error', onerror);\n\n source.removeListener('end', cleanup);\n source.removeListener('close', cleanup);\n\n dest.removeListener('close', cleanup);\n }\n\n source.on('end', cleanup);\n source.on('close', cleanup);\n\n dest.on('close', cleanup);\n\n dest.emit('pipe', source);\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n};\n","var Buffer = require('safe-buffer').Buffer\nvar Transform = require('stream').Transform\nvar StringDecoder = require('string_decoder').StringDecoder\nvar inherits = require('inherits')\n\nfunction CipherBase (hashMode) {\n Transform.call(this)\n this.hashMode = typeof hashMode === 'string'\n if (this.hashMode) {\n this[hashMode] = this._finalOrDigest\n } else {\n this.final = this._finalOrDigest\n }\n if (this._final) {\n this.__final = this._final\n this._final = null\n }\n this._decoder = null\n this._encoding = null\n}\ninherits(CipherBase, Transform)\n\nCipherBase.prototype.update = function (data, inputEnc, outputEnc) {\n if (typeof data === 'string') {\n data = Buffer.from(data, inputEnc)\n }\n\n var outData = this._update(data)\n if (this.hashMode) return this\n\n if (outputEnc) {\n outData = this._toString(outData, outputEnc)\n }\n\n return outData\n}\n\nCipherBase.prototype.setAutoPadding = function () {}\nCipherBase.prototype.getAuthTag = function () {\n throw new Error('trying to get auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAuthTag = function () {\n throw new Error('trying to set auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAAD = function () {\n throw new Error('trying to set aad in unsupported state')\n}\n\nCipherBase.prototype._transform = function (data, _, next) {\n var err\n try {\n if (this.hashMode) {\n this._update(data)\n } else {\n this.push(this._update(data))\n }\n } catch (e) {\n err = e\n } finally {\n next(err)\n }\n}\nCipherBase.prototype._flush = function (done) {\n var err\n try {\n this.push(this.__final())\n } catch (e) {\n err = e\n }\n\n done(err)\n}\nCipherBase.prototype._finalOrDigest = function (outputEnc) {\n var outData = this.__final() || Buffer.alloc(0)\n if (outputEnc) {\n outData = this._toString(outData, outputEnc, true)\n }\n return outData\n}\n\nCipherBase.prototype._toString = function (value, enc, fin) {\n if (!this._decoder) {\n this._decoder = new StringDecoder(enc)\n this._encoding = enc\n }\n\n if (this._encoding !== enc) throw new Error('can\\'t switch encodings')\n\n var out = this._decoder.write(value)\n if (fin) {\n out += this._decoder.end()\n }\n\n return out\n}\n\nmodule.exports = CipherBase\n","'use strict'\nvar inherits = require('inherits')\nvar MD5 = require('md5.js')\nvar RIPEMD160 = require('ripemd160')\nvar sha = require('sha.js')\nvar Base = require('cipher-base')\n\nfunction Hash (hash) {\n Base.call(this, 'digest')\n\n this._hash = hash\n}\n\ninherits(Hash, Base)\n\nHash.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHash.prototype._final = function () {\n return this._hash.digest()\n}\n\nmodule.exports = function createHash (alg) {\n alg = alg.toLowerCase()\n if (alg === 'md5') return new MD5()\n if (alg === 'rmd160' || alg === 'ripemd160') return new RIPEMD160()\n\n return new Hash(sha(alg))\n}\n","'use strict'\nvar inherits = require('inherits')\nvar Buffer = require('safe-buffer').Buffer\n\nvar Base = require('cipher-base')\n\nvar ZEROS = Buffer.alloc(128)\nvar blocksize = 64\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n this._alg = alg\n this._key = key\n\n if (key.length > blocksize) {\n key = alg(key)\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = this._ipad = Buffer.allocUnsafe(blocksize)\n var opad = this._opad = Buffer.allocUnsafe(blocksize)\n\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n\n this._hash = [ipad]\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.push(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._alg(Buffer.concat(this._hash))\n return this._alg(Buffer.concat([this._opad, h]))\n}\nmodule.exports = Hmac\n","var MD5 = require('md5.js')\n\nmodule.exports = function (buffer) {\n return new MD5().update(buffer).digest()\n}\n","'use strict'\nvar inherits = require('inherits')\nvar Legacy = require('./legacy')\nvar Base = require('cipher-base')\nvar Buffer = require('safe-buffer').Buffer\nvar md5 = require('create-hash/md5')\nvar RIPEMD160 = require('ripemd160')\n\nvar sha = require('sha.js')\n\nvar ZEROS = Buffer.alloc(128)\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64\n\n this._alg = alg\n this._key = key\n if (key.length > blocksize) {\n var hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n key = hash.update(key).digest()\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = this._ipad = Buffer.allocUnsafe(blocksize)\n var opad = this._opad = Buffer.allocUnsafe(blocksize)\n\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n this._hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n this._hash.update(ipad)\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._hash.digest()\n var hash = this._alg === 'rmd160' ? new RIPEMD160() : sha(this._alg)\n return hash.update(this._opad).update(h).digest()\n}\n\nmodule.exports = function createHmac (alg, key) {\n alg = alg.toLowerCase()\n if (alg === 'rmd160' || alg === 'ripemd160') {\n return new Hmac('rmd160', key)\n }\n if (alg === 'md5') {\n return new Legacy(md5, key)\n }\n return new Hmac(alg, key)\n}\n","'use strict';\n\nmodule.exports = require('./browser/algorithms.json');\n","var MAX_ALLOC = Math.pow(2, 30) - 1 // default in iojs\n\nmodule.exports = function (iterations, keylen) {\n if (typeof iterations !== 'number') {\n throw new TypeError('Iterations not a number')\n }\n\n if (iterations < 0) {\n throw new TypeError('Bad iterations')\n }\n\n if (typeof keylen !== 'number') {\n throw new TypeError('Key length not a number')\n }\n\n if (keylen < 0 || keylen > MAX_ALLOC || keylen !== keylen) { /* eslint no-self-compare: 0 */\n throw new TypeError('Bad key length')\n }\n}\n","var defaultEncoding\n/* istanbul ignore next */\nif (global.process && global.process.browser) {\n defaultEncoding = 'utf-8'\n} else if (global.process && global.process.version) {\n var pVersionMajor = parseInt(process.version.split('.')[0].slice(1), 10)\n\n defaultEncoding = pVersionMajor >= 6 ? 'utf-8' : 'binary'\n} else {\n defaultEncoding = 'utf-8'\n}\nmodule.exports = defaultEncoding\n","var Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function (thing, encoding, name) {\n if (Buffer.isBuffer(thing)) {\n return thing\n } else if (typeof thing === 'string') {\n return Buffer.from(thing, encoding)\n } else if (ArrayBuffer.isView(thing)) {\n return Buffer.from(thing.buffer)\n } else {\n throw new TypeError(name + ' must be a string, a Buffer, a typed array or a DataView')\n }\n}\n","var md5 = require('create-hash/md5')\nvar RIPEMD160 = require('ripemd160')\nvar sha = require('sha.js')\nvar Buffer = require('safe-buffer').Buffer\n\nvar checkParameters = require('./precondition')\nvar defaultEncoding = require('./default-encoding')\nvar toBuffer = require('./to-buffer')\n\nvar ZEROS = Buffer.alloc(128)\nvar sizes = {\n md5: 16,\n sha1: 20,\n sha224: 28,\n sha256: 32,\n sha384: 48,\n sha512: 64,\n rmd160: 20,\n ripemd160: 20\n}\n\nfunction Hmac (alg, key, saltLen) {\n var hash = getDigest(alg)\n var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64\n\n if (key.length > blocksize) {\n key = hash(key)\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = Buffer.allocUnsafe(blocksize + sizes[alg])\n var opad = Buffer.allocUnsafe(blocksize + sizes[alg])\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n\n var ipad1 = Buffer.allocUnsafe(blocksize + saltLen + 4)\n ipad.copy(ipad1, 0, 0, blocksize)\n this.ipad1 = ipad1\n this.ipad2 = ipad\n this.opad = opad\n this.alg = alg\n this.blocksize = blocksize\n this.hash = hash\n this.size = sizes[alg]\n}\n\nHmac.prototype.run = function (data, ipad) {\n data.copy(ipad, this.blocksize)\n var h = this.hash(ipad)\n h.copy(this.opad, this.blocksize)\n return this.hash(this.opad)\n}\n\nfunction getDigest (alg) {\n function shaFunc (data) {\n return sha(alg).update(data).digest()\n }\n function rmd160Func (data) {\n return new RIPEMD160().update(data).digest()\n }\n\n if (alg === 'rmd160' || alg === 'ripemd160') return rmd160Func\n if (alg === 'md5') return md5\n return shaFunc\n}\n\nfunction pbkdf2 (password, salt, iterations, keylen, digest) {\n checkParameters(iterations, keylen)\n password = toBuffer(password, defaultEncoding, 'Password')\n salt = toBuffer(salt, defaultEncoding, 'Salt')\n\n digest = digest || 'sha1'\n\n var hmac = new Hmac(digest, password, salt.length)\n\n var DK = Buffer.allocUnsafe(keylen)\n var block1 = Buffer.allocUnsafe(salt.length + 4)\n salt.copy(block1, 0, 0, salt.length)\n\n var destPos = 0\n var hLen = sizes[digest]\n var l = Math.ceil(keylen / hLen)\n\n for (var i = 1; i <= l; i++) {\n block1.writeUInt32BE(i, salt.length)\n\n var T = hmac.run(block1, hmac.ipad1)\n var U = T\n\n for (var j = 1; j < iterations; j++) {\n U = hmac.run(U, hmac.ipad2)\n for (var k = 0; k < hLen; k++) T[k] ^= U[k]\n }\n\n T.copy(DK, destPos)\n destPos += hLen\n }\n\n return DK\n}\n\nmodule.exports = pbkdf2\n","var Buffer = require('safe-buffer').Buffer\n\nvar checkParameters = require('./precondition')\nvar defaultEncoding = require('./default-encoding')\nvar sync = require('./sync')\nvar toBuffer = require('./to-buffer')\n\nvar ZERO_BUF\nvar subtle = global.crypto && global.crypto.subtle\nvar toBrowser = {\n sha: 'SHA-1',\n 'sha-1': 'SHA-1',\n sha1: 'SHA-1',\n sha256: 'SHA-256',\n 'sha-256': 'SHA-256',\n sha384: 'SHA-384',\n 'sha-384': 'SHA-384',\n 'sha-512': 'SHA-512',\n sha512: 'SHA-512'\n}\nvar checks = []\nfunction checkNative (algo) {\n if (global.process && !global.process.browser) {\n return Promise.resolve(false)\n }\n if (!subtle || !subtle.importKey || !subtle.deriveBits) {\n return Promise.resolve(false)\n }\n if (checks[algo] !== undefined) {\n return checks[algo]\n }\n ZERO_BUF = ZERO_BUF || Buffer.alloc(8)\n var prom = browserPbkdf2(ZERO_BUF, ZERO_BUF, 10, 128, algo)\n .then(function () {\n return true\n }).catch(function () {\n return false\n })\n checks[algo] = prom\n return prom\n}\nvar nextTick\nfunction getNextTick () {\n if (nextTick) {\n return nextTick\n }\n if (global.process && global.process.nextTick) {\n nextTick = global.process.nextTick\n } else if (global.queueMicrotask) {\n nextTick = global.queueMicrotask\n } else if (global.setImmediate) {\n nextTick = global.setImmediate\n } else {\n nextTick = global.setTimeout\n }\n return nextTick\n}\nfunction browserPbkdf2 (password, salt, iterations, length, algo) {\n return subtle.importKey(\n 'raw', password, { name: 'PBKDF2' }, false, ['deriveBits']\n ).then(function (key) {\n return subtle.deriveBits({\n name: 'PBKDF2',\n salt: salt,\n iterations: iterations,\n hash: {\n name: algo\n }\n }, key, length << 3)\n }).then(function (res) {\n return Buffer.from(res)\n })\n}\n\nfunction resolvePromise (promise, callback) {\n promise.then(function (out) {\n getNextTick()(function () {\n callback(null, out)\n })\n }, function (e) {\n getNextTick()(function () {\n callback(e)\n })\n })\n}\nmodule.exports = function (password, salt, iterations, keylen, digest, callback) {\n if (typeof digest === 'function') {\n callback = digest\n digest = undefined\n }\n\n digest = digest || 'sha1'\n var algo = toBrowser[digest.toLowerCase()]\n\n if (!algo || typeof global.Promise !== 'function') {\n getNextTick()(function () {\n var out\n try {\n out = sync(password, salt, iterations, keylen, digest)\n } catch (e) {\n return callback(e)\n }\n callback(null, out)\n })\n return\n }\n\n checkParameters(iterations, keylen)\n password = toBuffer(password, defaultEncoding, 'Password')\n salt = toBuffer(salt, defaultEncoding, 'Salt')\n if (typeof callback !== 'function') throw new Error('No callback provided to pbkdf2')\n\n resolvePromise(checkNative(algo).then(function (resp) {\n if (resp) return browserPbkdf2(password, salt, iterations, keylen, algo)\n\n return sync(password, salt, iterations, keylen, digest)\n }), callback)\n}\n","exports.pbkdf2 = require('./lib/async')\nexports.pbkdf2Sync = require('./lib/sync')\n","'use strict';\n\nexports.readUInt32BE = function readUInt32BE(bytes, off) {\n var res = (bytes[0 + off] << 24) |\n (bytes[1 + off] << 16) |\n (bytes[2 + off] << 8) |\n bytes[3 + off];\n return res >>> 0;\n};\n\nexports.writeUInt32BE = function writeUInt32BE(bytes, value, off) {\n bytes[0 + off] = value >>> 24;\n bytes[1 + off] = (value >>> 16) & 0xff;\n bytes[2 + off] = (value >>> 8) & 0xff;\n bytes[3 + off] = value & 0xff;\n};\n\nexports.ip = function ip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n }\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.rip = function rip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 0; i < 4; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n for (var i = 4; i < 8; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.pc1 = function pc1(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n // 7, 15, 23, 31, 39, 47, 55, 63\n // 6, 14, 22, 30, 39, 47, 55, 63\n // 5, 13, 21, 29, 39, 47, 55, 63\n // 4, 12, 20, 28\n for (var i = 7; i >= 5; i--) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n\n // 1, 9, 17, 25, 33, 41, 49, 57\n // 2, 10, 18, 26, 34, 42, 50, 58\n // 3, 11, 19, 27, 35, 43, 51, 59\n // 36, 44, 52, 60\n for (var i = 1; i <= 3; i++) {\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.r28shl = function r28shl(num, shift) {\n return ((num << shift) & 0xfffffff) | (num >>> (28 - shift));\n};\n\nvar pc2table = [\n // inL => outL\n 14, 11, 17, 4, 27, 23, 25, 0,\n 13, 22, 7, 18, 5, 9, 16, 24,\n 2, 20, 12, 21, 1, 8, 15, 26,\n\n // inR => outR\n 15, 4, 25, 19, 9, 1, 26, 16,\n 5, 11, 23, 8, 12, 7, 17, 0,\n 22, 3, 10, 14, 6, 20, 27, 24\n];\n\nexports.pc2 = function pc2(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n var len = pc2table.length >>> 1;\n for (var i = 0; i < len; i++) {\n outL <<= 1;\n outL |= (inL >>> pc2table[i]) & 0x1;\n }\n for (var i = len; i < pc2table.length; i++) {\n outR <<= 1;\n outR |= (inR >>> pc2table[i]) & 0x1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.expand = function expand(r, out, off) {\n var outL = 0;\n var outR = 0;\n\n outL = ((r & 1) << 5) | (r >>> 27);\n for (var i = 23; i >= 15; i -= 4) {\n outL <<= 6;\n outL |= (r >>> i) & 0x3f;\n }\n for (var i = 11; i >= 3; i -= 4) {\n outR |= (r >>> i) & 0x3f;\n outR <<= 6;\n }\n outR |= ((r & 0x1f) << 1) | (r >>> 31);\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nvar sTable = [\n 14, 0, 4, 15, 13, 7, 1, 4, 2, 14, 15, 2, 11, 13, 8, 1,\n 3, 10, 10, 6, 6, 12, 12, 11, 5, 9, 9, 5, 0, 3, 7, 8,\n 4, 15, 1, 12, 14, 8, 8, 2, 13, 4, 6, 9, 2, 1, 11, 7,\n 15, 5, 12, 11, 9, 3, 7, 14, 3, 10, 10, 0, 5, 6, 0, 13,\n\n 15, 3, 1, 13, 8, 4, 14, 7, 6, 15, 11, 2, 3, 8, 4, 14,\n 9, 12, 7, 0, 2, 1, 13, 10, 12, 6, 0, 9, 5, 11, 10, 5,\n 0, 13, 14, 8, 7, 10, 11, 1, 10, 3, 4, 15, 13, 4, 1, 2,\n 5, 11, 8, 6, 12, 7, 6, 12, 9, 0, 3, 5, 2, 14, 15, 9,\n\n 10, 13, 0, 7, 9, 0, 14, 9, 6, 3, 3, 4, 15, 6, 5, 10,\n 1, 2, 13, 8, 12, 5, 7, 14, 11, 12, 4, 11, 2, 15, 8, 1,\n 13, 1, 6, 10, 4, 13, 9, 0, 8, 6, 15, 9, 3, 8, 0, 7,\n 11, 4, 1, 15, 2, 14, 12, 3, 5, 11, 10, 5, 14, 2, 7, 12,\n\n 7, 13, 13, 8, 14, 11, 3, 5, 0, 6, 6, 15, 9, 0, 10, 3,\n 1, 4, 2, 7, 8, 2, 5, 12, 11, 1, 12, 10, 4, 14, 15, 9,\n 10, 3, 6, 15, 9, 0, 0, 6, 12, 10, 11, 1, 7, 13, 13, 8,\n 15, 9, 1, 4, 3, 5, 14, 11, 5, 12, 2, 7, 8, 2, 4, 14,\n\n 2, 14, 12, 11, 4, 2, 1, 12, 7, 4, 10, 7, 11, 13, 6, 1,\n 8, 5, 5, 0, 3, 15, 15, 10, 13, 3, 0, 9, 14, 8, 9, 6,\n 4, 11, 2, 8, 1, 12, 11, 7, 10, 1, 13, 14, 7, 2, 8, 13,\n 15, 6, 9, 15, 12, 0, 5, 9, 6, 10, 3, 4, 0, 5, 14, 3,\n\n 12, 10, 1, 15, 10, 4, 15, 2, 9, 7, 2, 12, 6, 9, 8, 5,\n 0, 6, 13, 1, 3, 13, 4, 14, 14, 0, 7, 11, 5, 3, 11, 8,\n 9, 4, 14, 3, 15, 2, 5, 12, 2, 9, 8, 5, 12, 15, 3, 10,\n 7, 11, 0, 14, 4, 1, 10, 7, 1, 6, 13, 0, 11, 8, 6, 13,\n\n 4, 13, 11, 0, 2, 11, 14, 7, 15, 4, 0, 9, 8, 1, 13, 10,\n 3, 14, 12, 3, 9, 5, 7, 12, 5, 2, 10, 15, 6, 8, 1, 6,\n 1, 6, 4, 11, 11, 13, 13, 8, 12, 1, 3, 4, 7, 10, 14, 7,\n 10, 9, 15, 5, 6, 0, 8, 15, 0, 14, 5, 2, 9, 3, 2, 12,\n\n 13, 1, 2, 15, 8, 13, 4, 8, 6, 10, 15, 3, 11, 7, 1, 4,\n 10, 12, 9, 5, 3, 6, 14, 11, 5, 0, 0, 14, 12, 9, 7, 2,\n 7, 2, 11, 1, 4, 14, 1, 7, 9, 4, 12, 10, 14, 8, 2, 13,\n 0, 15, 6, 12, 10, 9, 13, 0, 15, 3, 3, 5, 5, 6, 8, 11\n];\n\nexports.substitute = function substitute(inL, inR) {\n var out = 0;\n for (var i = 0; i < 4; i++) {\n var b = (inL >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n for (var i = 0; i < 4; i++) {\n var b = (inR >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[4 * 0x40 + i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n return out >>> 0;\n};\n\nvar permuteTable = [\n 16, 25, 12, 11, 3, 20, 4, 15, 31, 17, 9, 6, 27, 14, 1, 22,\n 30, 24, 8, 18, 0, 5, 29, 23, 13, 19, 2, 26, 10, 21, 28, 7\n];\n\nexports.permute = function permute(num) {\n var out = 0;\n for (var i = 0; i < permuteTable.length; i++) {\n out <<= 1;\n out |= (num >>> permuteTable[i]) & 0x1;\n }\n return out >>> 0;\n};\n\nexports.padSplit = function padSplit(num, size, group) {\n var str = num.toString(2);\n while (str.length < size)\n str = '0' + str;\n\n var out = [];\n for (var i = 0; i < size; i += group)\n out.push(str.slice(i, i + group));\n return out.join(' ');\n};\n","module.exports = assert;\n\nfunction assert(val, msg) {\n if (!val)\n throw new Error(msg || 'Assertion failed');\n}\n\nassert.equal = function assertEqual(l, r, msg) {\n if (l != r)\n throw new Error(msg || ('Assertion failed: ' + l + ' != ' + r));\n};\n","'use strict';\n\nvar assert = require('minimalistic-assert');\n\nfunction Cipher(options) {\n this.options = options;\n\n this.type = this.options.type;\n this.blockSize = 8;\n this._init();\n\n this.buffer = new Array(this.blockSize);\n this.bufferOff = 0;\n this.padding = options.padding !== false\n}\nmodule.exports = Cipher;\n\nCipher.prototype._init = function _init() {\n // Might be overrided\n};\n\nCipher.prototype.update = function update(data) {\n if (data.length === 0)\n return [];\n\n if (this.type === 'decrypt')\n return this._updateDecrypt(data);\n else\n return this._updateEncrypt(data);\n};\n\nCipher.prototype._buffer = function _buffer(data, off) {\n // Append data to buffer\n var min = Math.min(this.buffer.length - this.bufferOff, data.length - off);\n for (var i = 0; i < min; i++)\n this.buffer[this.bufferOff + i] = data[off + i];\n this.bufferOff += min;\n\n // Shift next\n return min;\n};\n\nCipher.prototype._flushBuffer = function _flushBuffer(out, off) {\n this._update(this.buffer, 0, out, off);\n this.bufferOff = 0;\n return this.blockSize;\n};\n\nCipher.prototype._updateEncrypt = function _updateEncrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = ((this.bufferOff + data.length) / this.blockSize) | 0;\n var out = new Array(count * this.blockSize);\n\n if (this.bufferOff !== 0) {\n inputOff += this._buffer(data, inputOff);\n\n if (this.bufferOff === this.buffer.length)\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Write blocks\n var max = data.length - ((data.length - inputOff) % this.blockSize);\n for (; inputOff < max; inputOff += this.blockSize) {\n this._update(data, inputOff, out, outputOff);\n outputOff += this.blockSize;\n }\n\n // Queue rest\n for (; inputOff < data.length; inputOff++, this.bufferOff++)\n this.buffer[this.bufferOff] = data[inputOff];\n\n return out;\n};\n\nCipher.prototype._updateDecrypt = function _updateDecrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = Math.ceil((this.bufferOff + data.length) / this.blockSize) - 1;\n var out = new Array(count * this.blockSize);\n\n // TODO(indutny): optimize it, this is far from optimal\n for (; count > 0; count--) {\n inputOff += this._buffer(data, inputOff);\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Buffer rest of the input\n inputOff += this._buffer(data, inputOff);\n\n return out;\n};\n\nCipher.prototype.final = function final(buffer) {\n var first;\n if (buffer)\n first = this.update(buffer);\n\n var last;\n if (this.type === 'encrypt')\n last = this._finalEncrypt();\n else\n last = this._finalDecrypt();\n\n if (first)\n return first.concat(last);\n else\n return last;\n};\n\nCipher.prototype._pad = function _pad(buffer, off) {\n if (off === 0)\n return false;\n\n while (off < buffer.length)\n buffer[off++] = 0;\n\n return true;\n};\n\nCipher.prototype._finalEncrypt = function _finalEncrypt() {\n if (!this._pad(this.buffer, this.bufferOff))\n return [];\n\n var out = new Array(this.blockSize);\n this._update(this.buffer, 0, out, 0);\n return out;\n};\n\nCipher.prototype._unpad = function _unpad(buffer) {\n return buffer;\n};\n\nCipher.prototype._finalDecrypt = function _finalDecrypt() {\n assert.equal(this.bufferOff, this.blockSize, 'Not enough data to decrypt');\n var out = new Array(this.blockSize);\n this._flushBuffer(out, 0);\n\n return this._unpad(out);\n};\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar utils = require('./utils');\nvar Cipher = require('./cipher');\n\nfunction DESState() {\n this.tmp = new Array(2);\n this.keys = null;\n}\n\nfunction DES(options) {\n Cipher.call(this, options);\n\n var state = new DESState();\n this._desState = state;\n\n this.deriveKeys(state, options.key);\n}\ninherits(DES, Cipher);\nmodule.exports = DES;\n\nDES.create = function create(options) {\n return new DES(options);\n};\n\nvar shiftTable = [\n 1, 1, 2, 2, 2, 2, 2, 2,\n 1, 2, 2, 2, 2, 2, 2, 1\n];\n\nDES.prototype.deriveKeys = function deriveKeys(state, key) {\n state.keys = new Array(16 * 2);\n\n assert.equal(key.length, this.blockSize, 'Invalid key length');\n\n var kL = utils.readUInt32BE(key, 0);\n var kR = utils.readUInt32BE(key, 4);\n\n utils.pc1(kL, kR, state.tmp, 0);\n kL = state.tmp[0];\n kR = state.tmp[1];\n for (var i = 0; i < state.keys.length; i += 2) {\n var shift = shiftTable[i >>> 1];\n kL = utils.r28shl(kL, shift);\n kR = utils.r28shl(kR, shift);\n utils.pc2(kL, kR, state.keys, i);\n }\n};\n\nDES.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._desState;\n\n var l = utils.readUInt32BE(inp, inOff);\n var r = utils.readUInt32BE(inp, inOff + 4);\n\n // Initial Permutation\n utils.ip(l, r, state.tmp, 0);\n l = state.tmp[0];\n r = state.tmp[1];\n\n if (this.type === 'encrypt')\n this._encrypt(state, l, r, state.tmp, 0);\n else\n this._decrypt(state, l, r, state.tmp, 0);\n\n l = state.tmp[0];\n r = state.tmp[1];\n\n utils.writeUInt32BE(out, l, outOff);\n utils.writeUInt32BE(out, r, outOff + 4);\n};\n\nDES.prototype._pad = function _pad(buffer, off) {\n if (this.padding === false) {\n return false;\n }\n\n var value = buffer.length - off;\n for (var i = off; i < buffer.length; i++)\n buffer[i] = value;\n\n return true;\n};\n\nDES.prototype._unpad = function _unpad(buffer) {\n if (this.padding === false) {\n return buffer;\n }\n\n var pad = buffer[buffer.length - 1];\n for (var i = buffer.length - pad; i < buffer.length; i++)\n assert.equal(buffer[i], pad);\n\n return buffer.slice(0, buffer.length - pad);\n};\n\nDES.prototype._encrypt = function _encrypt(state, lStart, rStart, out, off) {\n var l = lStart;\n var r = rStart;\n\n // Apply f() x16 times\n for (var i = 0; i < state.keys.length; i += 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(r, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = r;\n r = (l ^ f) >>> 0;\n l = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(r, l, out, off);\n};\n\nDES.prototype._decrypt = function _decrypt(state, lStart, rStart, out, off) {\n var l = rStart;\n var r = lStart;\n\n // Apply f() x16 times\n for (var i = state.keys.length - 2; i >= 0; i -= 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(l, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = l;\n l = (r ^ f) >>> 0;\n r = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(l, r, out, off);\n};\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar proto = {};\n\nfunction CBCState(iv) {\n assert.equal(iv.length, 8, 'Invalid IV length');\n\n this.iv = new Array(8);\n for (var i = 0; i < this.iv.length; i++)\n this.iv[i] = iv[i];\n}\n\nfunction instantiate(Base) {\n function CBC(options) {\n Base.call(this, options);\n this._cbcInit();\n }\n inherits(CBC, Base);\n\n var keys = Object.keys(proto);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n CBC.prototype[key] = proto[key];\n }\n\n CBC.create = function create(options) {\n return new CBC(options);\n };\n\n return CBC;\n}\n\nexports.instantiate = instantiate;\n\nproto._cbcInit = function _cbcInit() {\n var state = new CBCState(this.options.iv);\n this._cbcState = state;\n};\n\nproto._update = function _update(inp, inOff, out, outOff) {\n var state = this._cbcState;\n var superProto = this.constructor.super_.prototype;\n\n var iv = state.iv;\n if (this.type === 'encrypt') {\n for (var i = 0; i < this.blockSize; i++)\n iv[i] ^= inp[inOff + i];\n\n superProto._update.call(this, iv, 0, out, outOff);\n\n for (var i = 0; i < this.blockSize; i++)\n iv[i] = out[outOff + i];\n } else {\n superProto._update.call(this, inp, inOff, out, outOff);\n\n for (var i = 0; i < this.blockSize; i++)\n out[outOff + i] ^= iv[i];\n\n for (var i = 0; i < this.blockSize; i++)\n iv[i] = inp[inOff + i];\n }\n};\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar Cipher = require('./cipher');\nvar DES = require('./des');\n\nfunction EDEState(type, key) {\n assert.equal(key.length, 24, 'Invalid key length');\n\n var k1 = key.slice(0, 8);\n var k2 = key.slice(8, 16);\n var k3 = key.slice(16, 24);\n\n if (type === 'encrypt') {\n this.ciphers = [\n DES.create({ type: 'encrypt', key: k1 }),\n DES.create({ type: 'decrypt', key: k2 }),\n DES.create({ type: 'encrypt', key: k3 })\n ];\n } else {\n this.ciphers = [\n DES.create({ type: 'decrypt', key: k3 }),\n DES.create({ type: 'encrypt', key: k2 }),\n DES.create({ type: 'decrypt', key: k1 })\n ];\n }\n}\n\nfunction EDE(options) {\n Cipher.call(this, options);\n\n var state = new EDEState(this.type, this.options.key);\n this._edeState = state;\n}\ninherits(EDE, Cipher);\n\nmodule.exports = EDE;\n\nEDE.create = function create(options) {\n return new EDE(options);\n};\n\nEDE.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._edeState;\n\n state.ciphers[0]._update(inp, inOff, out, outOff);\n state.ciphers[1]._update(out, outOff, out, outOff);\n state.ciphers[2]._update(out, outOff, out, outOff);\n};\n\nEDE.prototype._pad = DES.prototype._pad;\nEDE.prototype._unpad = DES.prototype._unpad;\n","'use strict';\n\nexports.utils = require('./des/utils');\nexports.Cipher = require('./des/cipher');\nexports.DES = require('./des/des');\nexports.CBC = require('./des/cbc');\nexports.EDE = require('./des/ede');\n","var CipherBase = require('cipher-base')\nvar des = require('des.js')\nvar inherits = require('inherits')\nvar Buffer = require('safe-buffer').Buffer\n\nvar modes = {\n 'des-ede3-cbc': des.CBC.instantiate(des.EDE),\n 'des-ede3': des.EDE,\n 'des-ede-cbc': des.CBC.instantiate(des.EDE),\n 'des-ede': des.EDE,\n 'des-cbc': des.CBC.instantiate(des.DES),\n 'des-ecb': des.DES\n}\nmodes.des = modes['des-cbc']\nmodes.des3 = modes['des-ede3-cbc']\nmodule.exports = DES\ninherits(DES, CipherBase)\nfunction DES (opts) {\n CipherBase.call(this)\n var modeName = opts.mode.toLowerCase()\n var mode = modes[modeName]\n var type\n if (opts.decrypt) {\n type = 'decrypt'\n } else {\n type = 'encrypt'\n }\n var key = opts.key\n if (!Buffer.isBuffer(key)) {\n key = Buffer.from(key)\n }\n if (modeName === 'des-ede' || modeName === 'des-ede-cbc') {\n key = Buffer.concat([key, key.slice(0, 8)])\n }\n var iv = opts.iv\n if (!Buffer.isBuffer(iv)) {\n iv = Buffer.from(iv)\n }\n this._des = mode.create({\n key: key,\n iv: iv,\n type: type\n })\n}\nDES.prototype._update = function (data) {\n return Buffer.from(this._des.update(data))\n}\nDES.prototype._final = function () {\n return Buffer.from(this._des.final())\n}\n","exports.encrypt = function (self, block) {\n return self._cipher.encryptBlock(block)\n}\n\nexports.decrypt = function (self, block) {\n return self._cipher.decryptBlock(block)\n}\n","module.exports = function xor (a, b) {\n var length = Math.min(a.length, b.length)\n var buffer = new Buffer(length)\n\n for (var i = 0; i < length; ++i) {\n buffer[i] = a[i] ^ b[i]\n }\n\n return buffer\n}\n","var xor = require('buffer-xor')\n\nexports.encrypt = function (self, block) {\n var data = xor(block, self._prev)\n\n self._prev = self._cipher.encryptBlock(data)\n return self._prev\n}\n\nexports.decrypt = function (self, block) {\n var pad = self._prev\n\n self._prev = block\n var out = self._cipher.decryptBlock(block)\n\n return xor(out, pad)\n}\n","var Buffer = require('safe-buffer').Buffer\nvar xor = require('buffer-xor')\n\nfunction encryptStart (self, data, decrypt) {\n var len = data.length\n var out = xor(data, self._cache)\n self._cache = self._cache.slice(len)\n self._prev = Buffer.concat([self._prev, decrypt ? data : out])\n return out\n}\n\nexports.encrypt = function (self, data, decrypt) {\n var out = Buffer.allocUnsafe(0)\n var len\n\n while (data.length) {\n if (self._cache.length === 0) {\n self._cache = self._cipher.encryptBlock(self._prev)\n self._prev = Buffer.allocUnsafe(0)\n }\n\n if (self._cache.length <= data.length) {\n len = self._cache.length\n out = Buffer.concat([out, encryptStart(self, data.slice(0, len), decrypt)])\n data = data.slice(len)\n } else {\n out = Buffer.concat([out, encryptStart(self, data, decrypt)])\n break\n }\n }\n\n return out\n}\n","var Buffer = require('safe-buffer').Buffer\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad = self._cipher.encryptBlock(self._prev)\n var out = pad[0] ^ byteParam\n\n self._prev = Buffer.concat([\n self._prev.slice(1),\n Buffer.from([decrypt ? byteParam : out])\n ])\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\n}\n","var Buffer = require('safe-buffer').Buffer\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad\n var i = -1\n var len = 8\n var out = 0\n var bit, value\n while (++i < len) {\n pad = self._cipher.encryptBlock(self._prev)\n bit = (byteParam & (1 << (7 - i))) ? 0x80 : 0\n value = pad[0] ^ bit\n out += ((value & 0x80) >> (i % 8))\n self._prev = shiftIn(self._prev, decrypt ? bit : value)\n }\n return out\n}\n\nfunction shiftIn (buffer, value) {\n var len = buffer.length\n var i = -1\n var out = Buffer.allocUnsafe(buffer.length)\n buffer = Buffer.concat([buffer, Buffer.from([value])])\n\n while (++i < len) {\n out[i] = buffer[i] << 1 | buffer[i + 1] >> (7)\n }\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\n}\n","var xor = require('buffer-xor')\n\nfunction getBlock (self) {\n self._prev = self._cipher.encryptBlock(self._prev)\n return self._prev\n}\n\nexports.encrypt = function (self, chunk) {\n while (self._cache.length < chunk.length) {\n self._cache = Buffer.concat([self._cache, getBlock(self)])\n }\n\n var pad = self._cache.slice(0, chunk.length)\n self._cache = self._cache.slice(chunk.length)\n return xor(chunk, pad)\n}\n","function incr32 (iv) {\n var len = iv.length\n var item\n while (len--) {\n item = iv.readUInt8(len)\n if (item === 255) {\n iv.writeUInt8(0, len)\n } else {\n item++\n iv.writeUInt8(item, len)\n break\n }\n }\n}\nmodule.exports = incr32\n","var xor = require('buffer-xor')\nvar Buffer = require('safe-buffer').Buffer\nvar incr32 = require('../incr32')\n\nfunction getBlock (self) {\n var out = self._cipher.encryptBlockRaw(self._prev)\n incr32(self._prev)\n return out\n}\n\nvar blockSize = 16\nexports.encrypt = function (self, chunk) {\n var chunkNum = Math.ceil(chunk.length / blockSize)\n var start = self._cache.length\n self._cache = Buffer.concat([\n self._cache,\n Buffer.allocUnsafe(chunkNum * blockSize)\n ])\n for (var i = 0; i < chunkNum; i++) {\n var out = getBlock(self)\n var offset = start + i * blockSize\n self._cache.writeUInt32BE(out[0], offset + 0)\n self._cache.writeUInt32BE(out[1], offset + 4)\n self._cache.writeUInt32BE(out[2], offset + 8)\n self._cache.writeUInt32BE(out[3], offset + 12)\n }\n var pad = self._cache.slice(0, chunk.length)\n self._cache = self._cache.slice(chunk.length)\n return xor(chunk, pad)\n}\n","var modeModules = {\n ECB: require('./ecb'),\n CBC: require('./cbc'),\n CFB: require('./cfb'),\n CFB8: require('./cfb8'),\n CFB1: require('./cfb1'),\n OFB: require('./ofb'),\n CTR: require('./ctr'),\n GCM: require('./ctr')\n}\n\nvar modes = require('./list.json')\n\nfor (var key in modes) {\n modes[key].module = modeModules[modes[key].mode]\n}\n\nmodule.exports = modes\n","// based on the aes implimentation in triple sec\n// https://github.com/keybase/triplesec\n// which is in turn based on the one from crypto-js\n// https://code.google.com/p/crypto-js/\n\nvar Buffer = require('safe-buffer').Buffer\n\nfunction asUInt32Array (buf) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n\n var len = (buf.length / 4) | 0\n var out = new Array(len)\n\n for (var i = 0; i < len; i++) {\n out[i] = buf.readUInt32BE(i * 4)\n }\n\n return out\n}\n\nfunction scrubVec (v) {\n for (var i = 0; i < v.length; v++) {\n v[i] = 0\n }\n}\n\nfunction cryptBlock (M, keySchedule, SUB_MIX, SBOX, nRounds) {\n var SUB_MIX0 = SUB_MIX[0]\n var SUB_MIX1 = SUB_MIX[1]\n var SUB_MIX2 = SUB_MIX[2]\n var SUB_MIX3 = SUB_MIX[3]\n\n var s0 = M[0] ^ keySchedule[0]\n var s1 = M[1] ^ keySchedule[1]\n var s2 = M[2] ^ keySchedule[2]\n var s3 = M[3] ^ keySchedule[3]\n var t0, t1, t2, t3\n var ksRow = 4\n\n for (var round = 1; round < nRounds; round++) {\n t0 = SUB_MIX0[s0 >>> 24] ^ SUB_MIX1[(s1 >>> 16) & 0xff] ^ SUB_MIX2[(s2 >>> 8) & 0xff] ^ SUB_MIX3[s3 & 0xff] ^ keySchedule[ksRow++]\n t1 = SUB_MIX0[s1 >>> 24] ^ SUB_MIX1[(s2 >>> 16) & 0xff] ^ SUB_MIX2[(s3 >>> 8) & 0xff] ^ SUB_MIX3[s0 & 0xff] ^ keySchedule[ksRow++]\n t2 = SUB_MIX0[s2 >>> 24] ^ SUB_MIX1[(s3 >>> 16) & 0xff] ^ SUB_MIX2[(s0 >>> 8) & 0xff] ^ SUB_MIX3[s1 & 0xff] ^ keySchedule[ksRow++]\n t3 = SUB_MIX0[s3 >>> 24] ^ SUB_MIX1[(s0 >>> 16) & 0xff] ^ SUB_MIX2[(s1 >>> 8) & 0xff] ^ SUB_MIX3[s2 & 0xff] ^ keySchedule[ksRow++]\n s0 = t0\n s1 = t1\n s2 = t2\n s3 = t3\n }\n\n t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++]\n t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++]\n t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++]\n t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++]\n t0 = t0 >>> 0\n t1 = t1 >>> 0\n t2 = t2 >>> 0\n t3 = t3 >>> 0\n\n return [t0, t1, t2, t3]\n}\n\n// AES constants\nvar RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]\nvar G = (function () {\n // Compute double table\n var d = new Array(256)\n for (var j = 0; j < 256; j++) {\n if (j < 128) {\n d[j] = j << 1\n } else {\n d[j] = (j << 1) ^ 0x11b\n }\n }\n\n var SBOX = []\n var INV_SBOX = []\n var SUB_MIX = [[], [], [], []]\n var INV_SUB_MIX = [[], [], [], []]\n\n // Walk GF(2^8)\n var x = 0\n var xi = 0\n for (var i = 0; i < 256; ++i) {\n // Compute sbox\n var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4)\n sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63\n SBOX[x] = sx\n INV_SBOX[sx] = x\n\n // Compute multiplication\n var x2 = d[x]\n var x4 = d[x2]\n var x8 = d[x4]\n\n // Compute sub bytes, mix columns tables\n var t = (d[sx] * 0x101) ^ (sx * 0x1010100)\n SUB_MIX[0][x] = (t << 24) | (t >>> 8)\n SUB_MIX[1][x] = (t << 16) | (t >>> 16)\n SUB_MIX[2][x] = (t << 8) | (t >>> 24)\n SUB_MIX[3][x] = t\n\n // Compute inv sub bytes, inv mix columns tables\n t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100)\n INV_SUB_MIX[0][sx] = (t << 24) | (t >>> 8)\n INV_SUB_MIX[1][sx] = (t << 16) | (t >>> 16)\n INV_SUB_MIX[2][sx] = (t << 8) | (t >>> 24)\n INV_SUB_MIX[3][sx] = t\n\n if (x === 0) {\n x = xi = 1\n } else {\n x = x2 ^ d[d[d[x8 ^ x2]]]\n xi ^= d[d[xi]]\n }\n }\n\n return {\n SBOX: SBOX,\n INV_SBOX: INV_SBOX,\n SUB_MIX: SUB_MIX,\n INV_SUB_MIX: INV_SUB_MIX\n }\n})()\n\nfunction AES (key) {\n this._key = asUInt32Array(key)\n this._reset()\n}\n\nAES.blockSize = 4 * 4\nAES.keySize = 256 / 8\nAES.prototype.blockSize = AES.blockSize\nAES.prototype.keySize = AES.keySize\nAES.prototype._reset = function () {\n var keyWords = this._key\n var keySize = keyWords.length\n var nRounds = keySize + 6\n var ksRows = (nRounds + 1) * 4\n\n var keySchedule = []\n for (var k = 0; k < keySize; k++) {\n keySchedule[k] = keyWords[k]\n }\n\n for (k = keySize; k < ksRows; k++) {\n var t = keySchedule[k - 1]\n\n if (k % keySize === 0) {\n t = (t << 8) | (t >>> 24)\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n\n t ^= RCON[(k / keySize) | 0] << 24\n } else if (keySize > 6 && k % keySize === 4) {\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n }\n\n keySchedule[k] = keySchedule[k - keySize] ^ t\n }\n\n var invKeySchedule = []\n for (var ik = 0; ik < ksRows; ik++) {\n var ksR = ksRows - ik\n var tt = keySchedule[ksR - (ik % 4 ? 0 : 4)]\n\n if (ik < 4 || ksR <= 4) {\n invKeySchedule[ik] = tt\n } else {\n invKeySchedule[ik] =\n G.INV_SUB_MIX[0][G.SBOX[tt >>> 24]] ^\n G.INV_SUB_MIX[1][G.SBOX[(tt >>> 16) & 0xff]] ^\n G.INV_SUB_MIX[2][G.SBOX[(tt >>> 8) & 0xff]] ^\n G.INV_SUB_MIX[3][G.SBOX[tt & 0xff]]\n }\n }\n\n this._nRounds = nRounds\n this._keySchedule = keySchedule\n this._invKeySchedule = invKeySchedule\n}\n\nAES.prototype.encryptBlockRaw = function (M) {\n M = asUInt32Array(M)\n return cryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX, this._nRounds)\n}\n\nAES.prototype.encryptBlock = function (M) {\n var out = this.encryptBlockRaw(M)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[1], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[3], 12)\n return buf\n}\n\nAES.prototype.decryptBlock = function (M) {\n M = asUInt32Array(M)\n\n // swap\n var m1 = M[1]\n M[1] = M[3]\n M[3] = m1\n\n var out = cryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX, this._nRounds)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[3], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[1], 12)\n return buf\n}\n\nAES.prototype.scrub = function () {\n scrubVec(this._keySchedule)\n scrubVec(this._invKeySchedule)\n scrubVec(this._key)\n}\n\nmodule.exports.AES = AES\n","var Buffer = require('safe-buffer').Buffer\nvar ZEROES = Buffer.alloc(16, 0)\n\nfunction toArray (buf) {\n return [\n buf.readUInt32BE(0),\n buf.readUInt32BE(4),\n buf.readUInt32BE(8),\n buf.readUInt32BE(12)\n ]\n}\n\nfunction fromArray (out) {\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0] >>> 0, 0)\n buf.writeUInt32BE(out[1] >>> 0, 4)\n buf.writeUInt32BE(out[2] >>> 0, 8)\n buf.writeUInt32BE(out[3] >>> 0, 12)\n return buf\n}\n\nfunction GHASH (key) {\n this.h = key\n this.state = Buffer.alloc(16, 0)\n this.cache = Buffer.allocUnsafe(0)\n}\n\n// from http://bitwiseshiftleft.github.io/sjcl/doc/symbols/src/core_gcm.js.html\n// by Juho Vähä-Herttua\nGHASH.prototype.ghash = function (block) {\n var i = -1\n while (++i < block.length) {\n this.state[i] ^= block[i]\n }\n this._multiply()\n}\n\nGHASH.prototype._multiply = function () {\n var Vi = toArray(this.h)\n var Zi = [0, 0, 0, 0]\n var j, xi, lsbVi\n var i = -1\n while (++i < 128) {\n xi = (this.state[~~(i / 8)] & (1 << (7 - (i % 8)))) !== 0\n if (xi) {\n // Z_i+1 = Z_i ^ V_i\n Zi[0] ^= Vi[0]\n Zi[1] ^= Vi[1]\n Zi[2] ^= Vi[2]\n Zi[3] ^= Vi[3]\n }\n\n // Store the value of LSB(V_i)\n lsbVi = (Vi[3] & 1) !== 0\n\n // V_i+1 = V_i >> 1\n for (j = 3; j > 0; j--) {\n Vi[j] = (Vi[j] >>> 1) | ((Vi[j - 1] & 1) << 31)\n }\n Vi[0] = Vi[0] >>> 1\n\n // If LSB(V_i) is 1, V_i+1 = (V_i >> 1) ^ R\n if (lsbVi) {\n Vi[0] = Vi[0] ^ (0xe1 << 24)\n }\n }\n this.state = fromArray(Zi)\n}\n\nGHASH.prototype.update = function (buf) {\n this.cache = Buffer.concat([this.cache, buf])\n var chunk\n while (this.cache.length >= 16) {\n chunk = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n this.ghash(chunk)\n }\n}\n\nGHASH.prototype.final = function (abl, bl) {\n if (this.cache.length) {\n this.ghash(Buffer.concat([this.cache, ZEROES], 16))\n }\n\n this.ghash(fromArray([0, abl, 0, bl]))\n return this.state\n}\n\nmodule.exports = GHASH\n","var aes = require('./aes')\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('cipher-base')\nvar inherits = require('inherits')\nvar GHASH = require('./ghash')\nvar xor = require('buffer-xor')\nvar incr32 = require('./incr32')\n\nfunction xorTest (a, b) {\n var out = 0\n if (a.length !== b.length) out++\n\n var len = Math.min(a.length, b.length)\n for (var i = 0; i < len; ++i) {\n out += (a[i] ^ b[i])\n }\n\n return out\n}\n\nfunction calcIv (self, iv, ck) {\n if (iv.length === 12) {\n self._finID = Buffer.concat([iv, Buffer.from([0, 0, 0, 1])])\n return Buffer.concat([iv, Buffer.from([0, 0, 0, 2])])\n }\n var ghash = new GHASH(ck)\n var len = iv.length\n var toPad = len % 16\n ghash.update(iv)\n if (toPad) {\n toPad = 16 - toPad\n ghash.update(Buffer.alloc(toPad, 0))\n }\n ghash.update(Buffer.alloc(8, 0))\n var ivBits = len * 8\n var tail = Buffer.alloc(8)\n tail.writeUIntBE(ivBits, 0, 8)\n ghash.update(tail)\n self._finID = ghash.state\n var out = Buffer.from(self._finID)\n incr32(out)\n return out\n}\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n var h = Buffer.alloc(4, 0)\n\n this._cipher = new aes.AES(key)\n var ck = this._cipher.encryptBlock(h)\n this._ghash = new GHASH(ck)\n iv = calcIv(this, iv, ck)\n\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._alen = 0\n this._len = 0\n this._mode = mode\n\n this._authTag = null\n this._called = false\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n if (!this._called && this._alen) {\n var rump = 16 - (this._alen % 16)\n if (rump < 16) {\n rump = Buffer.alloc(rump, 0)\n this._ghash.update(rump)\n }\n }\n\n this._called = true\n var out = this._mode.encrypt(this, chunk)\n if (this._decrypt) {\n this._ghash.update(chunk)\n } else {\n this._ghash.update(out)\n }\n this._len += chunk.length\n return out\n}\n\nStreamCipher.prototype._final = function () {\n if (this._decrypt && !this._authTag) throw new Error('Unsupported state or unable to authenticate data')\n\n var tag = xor(this._ghash.final(this._alen * 8, this._len * 8), this._cipher.encryptBlock(this._finID))\n if (this._decrypt && xorTest(tag, this._authTag)) throw new Error('Unsupported state or unable to authenticate data')\n\n this._authTag = tag\n this._cipher.scrub()\n}\n\nStreamCipher.prototype.getAuthTag = function getAuthTag () {\n if (this._decrypt || !Buffer.isBuffer(this._authTag)) throw new Error('Attempting to get auth tag in unsupported state')\n\n return this._authTag\n}\n\nStreamCipher.prototype.setAuthTag = function setAuthTag (tag) {\n if (!this._decrypt) throw new Error('Attempting to set auth tag in unsupported state')\n\n this._authTag = tag\n}\n\nStreamCipher.prototype.setAAD = function setAAD (buf) {\n if (this._called) throw new Error('Attempting to set AAD in unsupported state')\n\n this._ghash.update(buf)\n this._alen += buf.length\n}\n\nmodule.exports = StreamCipher\n","var aes = require('./aes')\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('cipher-base')\nvar inherits = require('inherits')\n\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._mode = mode\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n return this._mode.encrypt(this, chunk, this._decrypt)\n}\n\nStreamCipher.prototype._final = function () {\n this._cipher.scrub()\n}\n\nmodule.exports = StreamCipher\n","var Buffer = require('safe-buffer').Buffer\nvar MD5 = require('md5.js')\n\n/* eslint-disable camelcase */\nfunction EVP_BytesToKey (password, salt, keyBits, ivLen) {\n if (!Buffer.isBuffer(password)) password = Buffer.from(password, 'binary')\n if (salt) {\n if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, 'binary')\n if (salt.length !== 8) throw new RangeError('salt should be Buffer with 8 byte length')\n }\n\n var keyLen = keyBits / 8\n var key = Buffer.alloc(keyLen)\n var iv = Buffer.alloc(ivLen || 0)\n var tmp = Buffer.alloc(0)\n\n while (keyLen > 0 || ivLen > 0) {\n var hash = new MD5()\n hash.update(tmp)\n hash.update(password)\n if (salt) hash.update(salt)\n tmp = hash.digest()\n\n var used = 0\n\n if (keyLen > 0) {\n var keyStart = key.length - keyLen\n used = Math.min(keyLen, tmp.length)\n tmp.copy(key, keyStart, 0, used)\n keyLen -= used\n }\n\n if (used < tmp.length && ivLen > 0) {\n var ivStart = iv.length - ivLen\n var length = Math.min(ivLen, tmp.length - used)\n tmp.copy(iv, ivStart, used, used + length)\n ivLen -= length\n }\n }\n\n tmp.fill(0)\n return { key: key, iv: iv }\n}\n\nmodule.exports = EVP_BytesToKey\n","var MODES = require('./modes')\nvar AuthCipher = require('./authCipher')\nvar Buffer = require('safe-buffer').Buffer\nvar StreamCipher = require('./streamCipher')\nvar Transform = require('cipher-base')\nvar aes = require('./aes')\nvar ebtk = require('evp_bytestokey')\nvar inherits = require('inherits')\n\nfunction Cipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Cipher, Transform)\n\nCipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n\n while ((chunk = this._cache.get())) {\n thing = this._mode.encrypt(this, chunk)\n out.push(thing)\n }\n\n return Buffer.concat(out)\n}\n\nvar PADDING = Buffer.alloc(16, 0x10)\n\nCipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n chunk = this._mode.encrypt(this, chunk)\n this._cipher.scrub()\n return chunk\n }\n\n if (!chunk.equals(PADDING)) {\n this._cipher.scrub()\n throw new Error('data not multiple of block length')\n }\n}\n\nCipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function () {\n if (this.cache.length > 15) {\n var out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n return null\n}\n\nSplitter.prototype.flush = function () {\n var len = 16 - this.cache.length\n var padBuff = Buffer.allocUnsafe(len)\n\n var i = -1\n while (++i < len) {\n padBuff.writeUInt8(len, i)\n }\n\n return Buffer.concat([this.cache, padBuff])\n}\n\nfunction createCipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv)\n }\n\n return new Cipher(config.module, password, iv)\n}\n\nfunction createCipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createCipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createCipheriv = createCipheriv\nexports.createCipher = createCipher\n","var AuthCipher = require('./authCipher')\nvar Buffer = require('safe-buffer').Buffer\nvar MODES = require('./modes')\nvar StreamCipher = require('./streamCipher')\nvar Transform = require('cipher-base')\nvar aes = require('./aes')\nvar ebtk = require('evp_bytestokey')\nvar inherits = require('inherits')\n\nfunction Decipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._last = void 0\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Decipher, Transform)\n\nDecipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n while ((chunk = this._cache.get(this._autopadding))) {\n thing = this._mode.decrypt(this, chunk)\n out.push(thing)\n }\n return Buffer.concat(out)\n}\n\nDecipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n return unpad(this._mode.decrypt(this, chunk))\n } else if (chunk) {\n throw new Error('data not multiple of block length')\n }\n}\n\nDecipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function (autoPadding) {\n var out\n if (autoPadding) {\n if (this.cache.length > 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n } else {\n if (this.cache.length >= 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n }\n\n return null\n}\n\nSplitter.prototype.flush = function () {\n if (this.cache.length) return this.cache\n}\n\nfunction unpad (last) {\n var padded = last[15]\n if (padded < 1 || padded > 16) {\n throw new Error('unable to decrypt data')\n }\n var i = -1\n while (++i < padded) {\n if (last[(i + (16 - padded))] !== padded) {\n throw new Error('unable to decrypt data')\n }\n }\n if (padded === 16) return\n\n return last.slice(0, 16 - padded)\n}\n\nfunction createDecipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv, true)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv, true)\n }\n\n return new Decipher(config.module, password, iv)\n}\n\nfunction createDecipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createDecipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createDecipher = createDecipher\nexports.createDecipheriv = createDecipheriv\n","var ciphers = require('./encrypter')\nvar deciphers = require('./decrypter')\nvar modes = require('./modes/list.json')\n\nfunction getCiphers () {\n return Object.keys(modes)\n}\n\nexports.createCipher = exports.Cipher = ciphers.createCipher\nexports.createCipheriv = exports.Cipheriv = ciphers.createCipheriv\nexports.createDecipher = exports.Decipher = deciphers.createDecipher\nexports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n","exports['des-ecb'] = {\n key: 8,\n iv: 0\n}\nexports['des-cbc'] = exports.des = {\n key: 8,\n iv: 8\n}\nexports['des-ede3-cbc'] = exports.des3 = {\n key: 24,\n iv: 8\n}\nexports['des-ede3'] = {\n key: 24,\n iv: 0\n}\nexports['des-ede-cbc'] = {\n key: 16,\n iv: 8\n}\nexports['des-ede'] = {\n key: 16,\n iv: 0\n}\n","var DES = require('browserify-des')\nvar aes = require('browserify-aes/browser')\nvar aesModes = require('browserify-aes/modes')\nvar desModes = require('browserify-des/modes')\nvar ebtk = require('evp_bytestokey')\n\nfunction createCipher (suite, password) {\n suite = suite.toLowerCase()\n\n var keyLen, ivLen\n if (aesModes[suite]) {\n keyLen = aesModes[suite].key\n ivLen = aesModes[suite].iv\n } else if (desModes[suite]) {\n keyLen = desModes[suite].key * 8\n ivLen = desModes[suite].iv\n } else {\n throw new TypeError('invalid suite type')\n }\n\n var keys = ebtk(password, false, keyLen, ivLen)\n return createCipheriv(suite, keys.key, keys.iv)\n}\n\nfunction createDecipher (suite, password) {\n suite = suite.toLowerCase()\n\n var keyLen, ivLen\n if (aesModes[suite]) {\n keyLen = aesModes[suite].key\n ivLen = aesModes[suite].iv\n } else if (desModes[suite]) {\n keyLen = desModes[suite].key * 8\n ivLen = desModes[suite].iv\n } else {\n throw new TypeError('invalid suite type')\n }\n\n var keys = ebtk(password, false, keyLen, ivLen)\n return createDecipheriv(suite, keys.key, keys.iv)\n}\n\nfunction createCipheriv (suite, key, iv) {\n suite = suite.toLowerCase()\n if (aesModes[suite]) return aes.createCipheriv(suite, key, iv)\n if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite })\n\n throw new TypeError('invalid suite type')\n}\n\nfunction createDecipheriv (suite, key, iv) {\n suite = suite.toLowerCase()\n if (aesModes[suite]) return aes.createDecipheriv(suite, key, iv)\n if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite, decrypt: true })\n\n throw new TypeError('invalid suite type')\n}\n\nfunction getCiphers () {\n return Object.keys(desModes).concat(aes.getCiphers())\n}\n\nexports.createCipher = exports.Cipher = createCipher\nexports.createCipheriv = exports.Cipheriv = createCipheriv\nexports.createDecipher = exports.Decipher = createDecipher\nexports.createDecipheriv = exports.Decipheriv = createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // 'A' - 'F'\n if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n // '0' - '9'\n } else {\n return (c - 48) & 0xf;\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this.strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","var r;\n\nmodule.exports = function rand(len) {\n if (!r)\n r = new Rand(null);\n\n return r.generate(len);\n};\n\nfunction Rand(rand) {\n this.rand = rand;\n}\nmodule.exports.Rand = Rand;\n\nRand.prototype.generate = function generate(len) {\n return this._rand(len);\n};\n\n// Emulate crypto API using randy\nRand.prototype._rand = function _rand(n) {\n if (this.rand.getBytes)\n return this.rand.getBytes(n);\n\n var res = new Uint8Array(n);\n for (var i = 0; i < res.length; i++)\n res[i] = this.rand.getByte();\n return res;\n};\n\nif (typeof self === 'object') {\n if (self.crypto && self.crypto.getRandomValues) {\n // Modern browsers\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.crypto.getRandomValues(arr);\n return arr;\n };\n } else if (self.msCrypto && self.msCrypto.getRandomValues) {\n // IE\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.msCrypto.getRandomValues(arr);\n return arr;\n };\n\n // Safari's WebWorkers do not have `crypto`\n } else if (typeof window === 'object') {\n // Old junk\n Rand.prototype._rand = function() {\n throw new Error('Not implemented yet');\n };\n }\n} else {\n // Node.js or Web worker with no crypto support\n try {\n var crypto = require('crypto');\n if (typeof crypto.randomBytes !== 'function')\n throw new Error('Not supported');\n\n Rand.prototype._rand = function _rand(n) {\n return crypto.randomBytes(n);\n };\n } catch (e) {\n }\n}\n","var bn = require('bn.js');\nvar brorand = require('brorand');\n\nfunction MillerRabin(rand) {\n this.rand = rand || new brorand.Rand();\n}\nmodule.exports = MillerRabin;\n\nMillerRabin.create = function create(rand) {\n return new MillerRabin(rand);\n};\n\nMillerRabin.prototype._randbelow = function _randbelow(n) {\n var len = n.bitLength();\n var min_bytes = Math.ceil(len / 8);\n\n // Generage random bytes until a number less than n is found.\n // This ensures that 0..n-1 have an equal probability of being selected.\n do\n var a = new bn(this.rand.generate(min_bytes));\n while (a.cmp(n) >= 0);\n\n return a;\n};\n\nMillerRabin.prototype._randrange = function _randrange(start, stop) {\n // Generate a random number greater than or equal to start and less than stop.\n var size = stop.sub(start);\n return start.add(this._randbelow(size));\n};\n\nMillerRabin.prototype.test = function test(n, k, cb) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n\n if (!k)\n k = Math.max(1, (len / 48) | 0);\n\n // Find d and s, (n - 1) = (2 ^ s) * d;\n var n1 = n.subn(1);\n for (var s = 0; !n1.testn(s); s++) {}\n var d = n.shrn(s);\n\n var rn1 = n1.toRed(red);\n\n var prime = true;\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n if (cb)\n cb(a);\n\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0)\n continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n\n if (x.cmp(rone) === 0)\n return false;\n if (x.cmp(rn1) === 0)\n break;\n }\n\n if (i === s)\n return false;\n }\n\n return prime;\n};\n\nMillerRabin.prototype.getDivisor = function getDivisor(n, k) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n\n if (!k)\n k = Math.max(1, (len / 48) | 0);\n\n // Find d and s, (n - 1) = (2 ^ s) * d;\n var n1 = n.subn(1);\n for (var s = 0; !n1.testn(s); s++) {}\n var d = n.shrn(s);\n\n var rn1 = n1.toRed(red);\n\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n\n var g = n.gcd(a);\n if (g.cmpn(1) !== 0)\n return g;\n\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0)\n continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n\n if (x.cmp(rone) === 0)\n return x.fromRed().subn(1).gcd(n);\n if (x.cmp(rn1) === 0)\n break;\n }\n\n if (i === s) {\n x = x.redSqr();\n return x.fromRed().subn(1).gcd(n);\n }\n }\n\n return false;\n};\n","var randomBytes = require('randombytes');\nmodule.exports = findPrime;\nfindPrime.simpleSieve = simpleSieve;\nfindPrime.fermatTest = fermatTest;\nvar BN = require('bn.js');\nvar TWENTYFOUR = new BN(24);\nvar MillerRabin = require('miller-rabin');\nvar millerRabin = new MillerRabin();\nvar ONE = new BN(1);\nvar TWO = new BN(2);\nvar FIVE = new BN(5);\nvar SIXTEEN = new BN(16);\nvar EIGHT = new BN(8);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar ELEVEN = new BN(11);\nvar FOUR = new BN(4);\nvar TWELVE = new BN(12);\nvar primes = null;\n\nfunction _getPrimes() {\n if (primes !== null)\n return primes;\n\n var limit = 0x100000;\n var res = [];\n res[0] = 2;\n for (var i = 1, k = 3; k < limit; k += 2) {\n var sqrt = Math.ceil(Math.sqrt(k));\n for (var j = 0; j < i && res[j] <= sqrt; j++)\n if (k % res[j] === 0)\n break;\n\n if (i !== j && res[j] <= sqrt)\n continue;\n\n res[i++] = k;\n }\n primes = res;\n return res;\n}\n\nfunction simpleSieve(p) {\n var primes = _getPrimes();\n\n for (var i = 0; i < primes.length; i++)\n if (p.modn(primes[i]) === 0) {\n if (p.cmpn(primes[i]) === 0) {\n return true;\n } else {\n return false;\n }\n }\n\n return true;\n}\n\nfunction fermatTest(p) {\n var red = BN.mont(p);\n return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1) === 0;\n}\n\nfunction findPrime(bits, gen) {\n if (bits < 16) {\n // this is what openssl does\n if (gen === 2 || gen === 5) {\n return new BN([0x8c, 0x7b]);\n } else {\n return new BN([0x8c, 0x27]);\n }\n }\n gen = new BN(gen);\n\n var num, n2;\n\n while (true) {\n num = new BN(randomBytes(Math.ceil(bits / 8)));\n while (num.bitLength() > bits) {\n num.ishrn(1);\n }\n if (num.isEven()) {\n num.iadd(ONE);\n }\n if (!num.testn(1)) {\n num.iadd(TWO);\n }\n if (!gen.cmp(TWO)) {\n while (num.mod(TWENTYFOUR).cmp(ELEVEN)) {\n num.iadd(FOUR);\n }\n } else if (!gen.cmp(FIVE)) {\n while (num.mod(TEN).cmp(THREE)) {\n num.iadd(FOUR);\n }\n }\n n2 = num.shrn(1);\n if (simpleSieve(n2) && simpleSieve(num) &&\n fermatTest(n2) && fermatTest(num) &&\n millerRabin.test(n2) && millerRabin.test(num)) {\n return num;\n }\n }\n\n}\n","var BN = require('bn.js');\nvar MillerRabin = require('miller-rabin');\nvar millerRabin = new MillerRabin();\nvar TWENTYFOUR = new BN(24);\nvar ELEVEN = new BN(11);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar primes = require('./generatePrime');\nvar randomBytes = require('randombytes');\nmodule.exports = DH;\n\nfunction setPublicKey(pub, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(pub)) {\n pub = new Buffer(pub, enc);\n }\n this._pub = new BN(pub);\n return this;\n}\n\nfunction setPrivateKey(priv, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(priv)) {\n priv = new Buffer(priv, enc);\n }\n this._priv = new BN(priv);\n return this;\n}\n\nvar primeCache = {};\nfunction checkPrime(prime, generator) {\n var gen = generator.toString('hex');\n var hex = [gen, prime.toString(16)].join('_');\n if (hex in primeCache) {\n return primeCache[hex];\n }\n var error = 0;\n\n if (prime.isEven() ||\n !primes.simpleSieve ||\n !primes.fermatTest(prime) ||\n !millerRabin.test(prime)) {\n //not a prime so +1\n error += 1;\n\n if (gen === '02' || gen === '05') {\n // we'd be able to check the generator\n // it would fail so +8\n error += 8;\n } else {\n //we wouldn't be able to test the generator\n // so +4\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n }\n if (!millerRabin.test(prime.shrn(1))) {\n //not a safe prime\n error += 2;\n }\n var rem;\n switch (gen) {\n case '02':\n if (prime.mod(TWENTYFOUR).cmp(ELEVEN)) {\n // unsuidable generator\n error += 8;\n }\n break;\n case '05':\n rem = prime.mod(TEN);\n if (rem.cmp(THREE) && rem.cmp(SEVEN)) {\n // prime mod 10 needs to equal 3 or 7\n error += 8;\n }\n break;\n default:\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n}\n\nfunction DH(prime, generator, malleable) {\n this.setGenerator(generator);\n this.__prime = new BN(prime);\n this._prime = BN.mont(this.__prime);\n this._primeLen = prime.length;\n this._pub = undefined;\n this._priv = undefined;\n this._primeCode = undefined;\n if (malleable) {\n this.setPublicKey = setPublicKey;\n this.setPrivateKey = setPrivateKey;\n } else {\n this._primeCode = 8;\n }\n}\nObject.defineProperty(DH.prototype, 'verifyError', {\n enumerable: true,\n get: function () {\n if (typeof this._primeCode !== 'number') {\n this._primeCode = checkPrime(this.__prime, this.__gen);\n }\n return this._primeCode;\n }\n});\nDH.prototype.generateKeys = function () {\n if (!this._priv) {\n this._priv = new BN(randomBytes(this._primeLen));\n }\n this._pub = this._gen.toRed(this._prime).redPow(this._priv).fromRed();\n return this.getPublicKey();\n};\n\nDH.prototype.computeSecret = function (other) {\n other = new BN(other);\n other = other.toRed(this._prime);\n var secret = other.redPow(this._priv).fromRed();\n var out = new Buffer(secret.toArray());\n var prime = this.getPrime();\n if (out.length < prime.length) {\n var front = new Buffer(prime.length - out.length);\n front.fill(0);\n out = Buffer.concat([front, out]);\n }\n return out;\n};\n\nDH.prototype.getPublicKey = function getPublicKey(enc) {\n return formatReturnValue(this._pub, enc);\n};\n\nDH.prototype.getPrivateKey = function getPrivateKey(enc) {\n return formatReturnValue(this._priv, enc);\n};\n\nDH.prototype.getPrime = function (enc) {\n return formatReturnValue(this.__prime, enc);\n};\n\nDH.prototype.getGenerator = function (enc) {\n return formatReturnValue(this._gen, enc);\n};\n\nDH.prototype.setGenerator = function (gen, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(gen)) {\n gen = new Buffer(gen, enc);\n }\n this.__gen = gen;\n this._gen = new BN(gen);\n return this;\n};\n\nfunction formatReturnValue(bn, enc) {\n var buf = new Buffer(bn.toArray());\n if (!enc) {\n return buf;\n } else {\n return buf.toString(enc);\n }\n}\n","var generatePrime = require('./lib/generatePrime')\nvar primes = require('./lib/primes.json')\n\nvar DH = require('./lib/dh')\n\nfunction getDiffieHellman (mod) {\n var prime = new Buffer(primes[mod].prime, 'hex')\n var gen = new Buffer(primes[mod].gen, 'hex')\n\n return new DH(prime, gen)\n}\n\nvar ENCODINGS = {\n 'binary': true, 'hex': true, 'base64': true\n}\n\nfunction createDiffieHellman (prime, enc, generator, genc) {\n if (Buffer.isBuffer(enc) || ENCODINGS[enc] === undefined) {\n return createDiffieHellman(prime, 'binary', enc, generator)\n }\n\n enc = enc || 'binary'\n genc = genc || 'binary'\n generator = generator || new Buffer([2])\n\n if (!Buffer.isBuffer(generator)) {\n generator = new Buffer(generator, genc)\n }\n\n if (typeof prime === 'number') {\n return new DH(generatePrime(prime, generator), generator, true)\n }\n\n if (!Buffer.isBuffer(prime)) {\n prime = new Buffer(prime, enc)\n }\n\n return new DH(prime, generator, true)\n}\n\nexports.DiffieHellmanGroup = exports.createDiffieHellmanGroup = exports.getDiffieHellman = getDiffieHellman\nexports.createDiffieHellman = exports.DiffieHellman = createDiffieHellman\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [number & 0x3ffffff];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [0];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this._strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // '0' - '9'\n if (c >= 48 && c <= 57) {\n return c - 48;\n // 'A' - 'F'\n } else if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n } else {\n assert(false, 'Invalid character in ' + string);\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this._strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var b = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n b = c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n b = c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n b = c;\n }\n assert(c >= 0 && b < mul, 'Invalid character');\n r += b;\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [0];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this._strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n function move (dest, src) {\n dest.words = src.words;\n dest.length = src.length;\n dest.negative = src.negative;\n dest.red = src.red;\n }\n\n BN.prototype._move = function _move (dest) {\n move(dest, this);\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype._strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n // Check Symbol.for because not everywhere where Symbol defined\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Browser_compatibility\n if (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function') {\n try {\n BN.prototype[Symbol.for('nodejs.util.inspect.custom')] = inspect;\n } catch (e) {\n BN.prototype.inspect = inspect;\n }\n } else {\n BN.prototype.inspect = inspect;\n }\n\n function inspect () {\n return (this.red ? '';\n }\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modrn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16, 2);\n };\n\n if (Buffer) {\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n return this.toArrayLike(Buffer, endian, length);\n };\n }\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n var allocate = function allocate (ArrayType, size) {\n if (ArrayType.allocUnsafe) {\n return ArrayType.allocUnsafe(size);\n }\n return new ArrayType(size);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n this._strip();\n\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n var res = allocate(ArrayType, reqLength);\n var postfix = endian === 'le' ? 'LE' : 'BE';\n this['_toArrayLike' + postfix](res, byteLength);\n return res;\n };\n\n BN.prototype._toArrayLikeLE = function _toArrayLikeLE (res, byteLength) {\n var position = 0;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position++] = word & 0xff;\n if (position < res.length) {\n res[position++] = (word >> 8) & 0xff;\n }\n if (position < res.length) {\n res[position++] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position < res.length) {\n res[position++] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position < res.length) {\n res[position++] = carry;\n\n while (position < res.length) {\n res[position++] = 0;\n }\n }\n };\n\n BN.prototype._toArrayLikeBE = function _toArrayLikeBE (res, byteLength) {\n var position = res.length - 1;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position--] = word & 0xff;\n if (position >= 0) {\n res[position--] = (word >> 8) & 0xff;\n }\n if (position >= 0) {\n res[position--] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position >= 0) {\n res[position--] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position >= 0) {\n res[position--] = carry;\n\n while (position >= 0) {\n res[position--] = 0;\n }\n }\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] >>> wbit) & 0x01;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this._strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this._strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this._strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this._strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this._strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this._strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n function jumboMulTo (self, num, out) {\n // Temporary disable, see https://github.com/indutny/bn.js/issues/211\n // var fftm = new FFTM();\n // return fftm.mulp(self, num, out);\n return bigMulTo(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out._strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this._strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) <= num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this._strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this._strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this._strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q._strip();\n }\n a._strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || (r2 === 1 && cmp === 0)) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modrn = function modrn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return isNegNum ? -acc : acc;\n };\n\n // WARNING: DEPRECATED\n BN.prototype.modn = function modn (num) {\n return this.modrn(num);\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n this._strip();\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this._strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is a BN v4 instance\n r.strip();\n } else {\n // r is a BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n\n move(a, a.umod(this.m)._forceRed(this));\n return a;\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","var BN = require('bn.js')\nvar randomBytes = require('randombytes')\n\nfunction blind (priv) {\n var r = getr(priv)\n var blinder = r.toRed(BN.mont(priv.modulus)).redPow(new BN(priv.publicExponent)).fromRed()\n return { blinder: blinder, unblinder: r.invm(priv.modulus) }\n}\n\nfunction getr (priv) {\n var len = priv.modulus.byteLength()\n var r\n do {\n r = new BN(randomBytes(len))\n } while (r.cmp(priv.modulus) >= 0 || !r.umod(priv.prime1) || !r.umod(priv.prime2))\n return r\n}\n\nfunction crt (msg, priv) {\n var blinds = blind(priv)\n var len = priv.modulus.byteLength()\n var blinded = new BN(msg).mul(blinds.blinder).umod(priv.modulus)\n var c1 = blinded.toRed(BN.mont(priv.prime1))\n var c2 = blinded.toRed(BN.mont(priv.prime2))\n var qinv = priv.coefficient\n var p = priv.prime1\n var q = priv.prime2\n var m1 = c1.redPow(priv.exponent1).fromRed()\n var m2 = c2.redPow(priv.exponent2).fromRed()\n var h = m1.isub(m2).imul(qinv).umod(p).imul(q)\n return m2.iadd(h).imul(blinds.unblinder).umod(priv.modulus).toArrayLike(Buffer, 'be', len)\n}\ncrt.getr = getr\n\nmodule.exports = crt\n","'use strict';\n\nvar utils = exports;\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg !== 'string') {\n for (var i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (var i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else {\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n var hi = c >> 8;\n var lo = c & 0xff;\n if (hi)\n res.push(hi, lo);\n else\n res.push(lo);\n }\n }\n return res;\n}\nutils.toArray = toArray;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nutils.zero2 = zero2;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nutils.toHex = toHex;\n\nutils.encode = function encode(arr, enc) {\n if (enc === 'hex')\n return toHex(arr);\n else\n return arr;\n};\n","'use strict';\n\nvar utils = exports;\nvar BN = require('bn.js');\nvar minAssert = require('minimalistic-assert');\nvar minUtils = require('minimalistic-crypto-utils');\n\nutils.assert = minAssert;\nutils.toArray = minUtils.toArray;\nutils.zero2 = minUtils.zero2;\nutils.toHex = minUtils.toHex;\nutils.encode = minUtils.encode;\n\n// Represent num in a w-NAF form\nfunction getNAF(num, w, bits) {\n var naf = new Array(Math.max(num.bitLength(), bits) + 1);\n naf.fill(0);\n\n var ws = 1 << (w + 1);\n var k = num.clone();\n\n for (var i = 0; i < naf.length; i++) {\n var z;\n var mod = k.andln(ws - 1);\n if (k.isOdd()) {\n if (mod > (ws >> 1) - 1)\n z = (ws >> 1) - mod;\n else\n z = mod;\n k.isubn(z);\n } else {\n z = 0;\n }\n\n naf[i] = z;\n k.iushrn(1);\n }\n\n return naf;\n}\nutils.getNAF = getNAF;\n\n// Represent k1, k2 in a Joint Sparse Form\nfunction getJSF(k1, k2) {\n var jsf = [\n [],\n [],\n ];\n\n k1 = k1.clone();\n k2 = k2.clone();\n var d1 = 0;\n var d2 = 0;\n var m8;\n while (k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0) {\n // First phase\n var m14 = (k1.andln(3) + d1) & 3;\n var m24 = (k2.andln(3) + d2) & 3;\n if (m14 === 3)\n m14 = -1;\n if (m24 === 3)\n m24 = -1;\n var u1;\n if ((m14 & 1) === 0) {\n u1 = 0;\n } else {\n m8 = (k1.andln(7) + d1) & 7;\n if ((m8 === 3 || m8 === 5) && m24 === 2)\n u1 = -m14;\n else\n u1 = m14;\n }\n jsf[0].push(u1);\n\n var u2;\n if ((m24 & 1) === 0) {\n u2 = 0;\n } else {\n m8 = (k2.andln(7) + d2) & 7;\n if ((m8 === 3 || m8 === 5) && m14 === 2)\n u2 = -m24;\n else\n u2 = m24;\n }\n jsf[1].push(u2);\n\n // Second phase\n if (2 * d1 === u1 + 1)\n d1 = 1 - d1;\n if (2 * d2 === u2 + 1)\n d2 = 1 - d2;\n k1.iushrn(1);\n k2.iushrn(1);\n }\n\n return jsf;\n}\nutils.getJSF = getJSF;\n\nfunction cachedProperty(obj, name, computer) {\n var key = '_' + name;\n obj.prototype[name] = function cachedProperty() {\n return this[key] !== undefined ? this[key] :\n this[key] = computer.call(this);\n };\n}\nutils.cachedProperty = cachedProperty;\n\nfunction parseBytes(bytes) {\n return typeof bytes === 'string' ? utils.toArray(bytes, 'hex') :\n bytes;\n}\nutils.parseBytes = parseBytes;\n\nfunction intFromLE(bytes) {\n return new BN(bytes, 'hex', 'le');\n}\nutils.intFromLE = intFromLE;\n\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar getNAF = utils.getNAF;\nvar getJSF = utils.getJSF;\nvar assert = utils.assert;\n\nfunction BaseCurve(type, conf) {\n this.type = type;\n this.p = new BN(conf.p, 16);\n\n // Use Montgomery, when there is no fast reduction for the prime\n this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p);\n\n // Useful for many curves\n this.zero = new BN(0).toRed(this.red);\n this.one = new BN(1).toRed(this.red);\n this.two = new BN(2).toRed(this.red);\n\n // Curve configuration, optional\n this.n = conf.n && new BN(conf.n, 16);\n this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed);\n\n // Temporary arrays\n this._wnafT1 = new Array(4);\n this._wnafT2 = new Array(4);\n this._wnafT3 = new Array(4);\n this._wnafT4 = new Array(4);\n\n this._bitLength = this.n ? this.n.bitLength() : 0;\n\n // Generalized Greg Maxwell's trick\n var adjustCount = this.n && this.p.div(this.n);\n if (!adjustCount || adjustCount.cmpn(100) > 0) {\n this.redN = null;\n } else {\n this._maxwellTrick = true;\n this.redN = this.n.toRed(this.red);\n }\n}\nmodule.exports = BaseCurve;\n\nBaseCurve.prototype.point = function point() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype.validate = function validate() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) {\n assert(p.precomputed);\n var doubles = p._getDoubles();\n\n var naf = getNAF(k, 1, this._bitLength);\n var I = (1 << (doubles.step + 1)) - (doubles.step % 2 === 0 ? 2 : 1);\n I /= 3;\n\n // Translate into more windowed form\n var repr = [];\n var j;\n var nafW;\n for (j = 0; j < naf.length; j += doubles.step) {\n nafW = 0;\n for (var l = j + doubles.step - 1; l >= j; l--)\n nafW = (nafW << 1) + naf[l];\n repr.push(nafW);\n }\n\n var a = this.jpoint(null, null, null);\n var b = this.jpoint(null, null, null);\n for (var i = I; i > 0; i--) {\n for (j = 0; j < repr.length; j++) {\n nafW = repr[j];\n if (nafW === i)\n b = b.mixedAdd(doubles.points[j]);\n else if (nafW === -i)\n b = b.mixedAdd(doubles.points[j].neg());\n }\n a = a.add(b);\n }\n return a.toP();\n};\n\nBaseCurve.prototype._wnafMul = function _wnafMul(p, k) {\n var w = 4;\n\n // Precompute window\n var nafPoints = p._getNAFPoints(w);\n w = nafPoints.wnd;\n var wnd = nafPoints.points;\n\n // Get NAF form\n var naf = getNAF(k, w, this._bitLength);\n\n // Add `this`*(N+1) for every w-NAF index\n var acc = this.jpoint(null, null, null);\n for (var i = naf.length - 1; i >= 0; i--) {\n // Count zeroes\n for (var l = 0; i >= 0 && naf[i] === 0; i--)\n l++;\n if (i >= 0)\n l++;\n acc = acc.dblp(l);\n\n if (i < 0)\n break;\n var z = naf[i];\n assert(z !== 0);\n if (p.type === 'affine') {\n // J +- P\n if (z > 0)\n acc = acc.mixedAdd(wnd[(z - 1) >> 1]);\n else\n acc = acc.mixedAdd(wnd[(-z - 1) >> 1].neg());\n } else {\n // J +- J\n if (z > 0)\n acc = acc.add(wnd[(z - 1) >> 1]);\n else\n acc = acc.add(wnd[(-z - 1) >> 1].neg());\n }\n }\n return p.type === 'affine' ? acc.toP() : acc;\n};\n\nBaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,\n points,\n coeffs,\n len,\n jacobianResult) {\n var wndWidth = this._wnafT1;\n var wnd = this._wnafT2;\n var naf = this._wnafT3;\n\n // Fill all arrays\n var max = 0;\n var i;\n var j;\n var p;\n for (i = 0; i < len; i++) {\n p = points[i];\n var nafPoints = p._getNAFPoints(defW);\n wndWidth[i] = nafPoints.wnd;\n wnd[i] = nafPoints.points;\n }\n\n // Comb small window NAFs\n for (i = len - 1; i >= 1; i -= 2) {\n var a = i - 1;\n var b = i;\n if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength);\n naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength);\n max = Math.max(naf[a].length, max);\n max = Math.max(naf[b].length, max);\n continue;\n }\n\n var comb = [\n points[a], /* 1 */\n null, /* 3 */\n null, /* 5 */\n points[b], /* 7 */\n ];\n\n // Try to avoid Projective points, if possible\n if (points[a].y.cmp(points[b].y) === 0) {\n comb[1] = points[a].add(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].add(points[b].neg());\n } else {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n }\n\n var index = [\n -3, /* -1 -1 */\n -1, /* -1 0 */\n -5, /* -1 1 */\n -7, /* 0 -1 */\n 0, /* 0 0 */\n 7, /* 0 1 */\n 5, /* 1 -1 */\n 1, /* 1 0 */\n 3, /* 1 1 */\n ];\n\n var jsf = getJSF(coeffs[a], coeffs[b]);\n max = Math.max(jsf[0].length, max);\n naf[a] = new Array(max);\n naf[b] = new Array(max);\n for (j = 0; j < max; j++) {\n var ja = jsf[0][j] | 0;\n var jb = jsf[1][j] | 0;\n\n naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];\n naf[b][j] = 0;\n wnd[a] = comb;\n }\n }\n\n var acc = this.jpoint(null, null, null);\n var tmp = this._wnafT4;\n for (i = max; i >= 0; i--) {\n var k = 0;\n\n while (i >= 0) {\n var zero = true;\n for (j = 0; j < len; j++) {\n tmp[j] = naf[j][i] | 0;\n if (tmp[j] !== 0)\n zero = false;\n }\n if (!zero)\n break;\n k++;\n i--;\n }\n if (i >= 0)\n k++;\n acc = acc.dblp(k);\n if (i < 0)\n break;\n\n for (j = 0; j < len; j++) {\n var z = tmp[j];\n p;\n if (z === 0)\n continue;\n else if (z > 0)\n p = wnd[j][(z - 1) >> 1];\n else if (z < 0)\n p = wnd[j][(-z - 1) >> 1].neg();\n\n if (p.type === 'affine')\n acc = acc.mixedAdd(p);\n else\n acc = acc.add(p);\n }\n }\n // Zeroify references\n for (i = 0; i < len; i++)\n wnd[i] = null;\n\n if (jacobianResult)\n return acc;\n else\n return acc.toP();\n};\n\nfunction BasePoint(curve, type) {\n this.curve = curve;\n this.type = type;\n this.precomputed = null;\n}\nBaseCurve.BasePoint = BasePoint;\n\nBasePoint.prototype.eq = function eq(/*other*/) {\n throw new Error('Not implemented');\n};\n\nBasePoint.prototype.validate = function validate() {\n return this.curve.validate(this);\n};\n\nBaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n bytes = utils.toArray(bytes, enc);\n\n var len = this.p.byteLength();\n\n // uncompressed, hybrid-odd, hybrid-even\n if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) &&\n bytes.length - 1 === 2 * len) {\n if (bytes[0] === 0x06)\n assert(bytes[bytes.length - 1] % 2 === 0);\n else if (bytes[0] === 0x07)\n assert(bytes[bytes.length - 1] % 2 === 1);\n\n var res = this.point(bytes.slice(1, 1 + len),\n bytes.slice(1 + len, 1 + 2 * len));\n\n return res;\n } else if ((bytes[0] === 0x02 || bytes[0] === 0x03) &&\n bytes.length - 1 === len) {\n return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03);\n }\n throw new Error('Unknown point format');\n};\n\nBasePoint.prototype.encodeCompressed = function encodeCompressed(enc) {\n return this.encode(enc, true);\n};\n\nBasePoint.prototype._encode = function _encode(compact) {\n var len = this.curve.p.byteLength();\n var x = this.getX().toArray('be', len);\n\n if (compact)\n return [ this.getY().isEven() ? 0x02 : 0x03 ].concat(x);\n\n return [ 0x04 ].concat(x, this.getY().toArray('be', len));\n};\n\nBasePoint.prototype.encode = function encode(enc, compact) {\n return utils.encode(this._encode(compact), enc);\n};\n\nBasePoint.prototype.precompute = function precompute(power) {\n if (this.precomputed)\n return this;\n\n var precomputed = {\n doubles: null,\n naf: null,\n beta: null,\n };\n precomputed.naf = this._getNAFPoints(8);\n precomputed.doubles = this._getDoubles(4, power);\n precomputed.beta = this._getBeta();\n this.precomputed = precomputed;\n\n return this;\n};\n\nBasePoint.prototype._hasDoubles = function _hasDoubles(k) {\n if (!this.precomputed)\n return false;\n\n var doubles = this.precomputed.doubles;\n if (!doubles)\n return false;\n\n return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step);\n};\n\nBasePoint.prototype._getDoubles = function _getDoubles(step, power) {\n if (this.precomputed && this.precomputed.doubles)\n return this.precomputed.doubles;\n\n var doubles = [ this ];\n var acc = this;\n for (var i = 0; i < power; i += step) {\n for (var j = 0; j < step; j++)\n acc = acc.dbl();\n doubles.push(acc);\n }\n return {\n step: step,\n points: doubles,\n };\n};\n\nBasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) {\n if (this.precomputed && this.precomputed.naf)\n return this.precomputed.naf;\n\n var res = [ this ];\n var max = (1 << wnd) - 1;\n var dbl = max === 1 ? null : this.dbl();\n for (var i = 1; i < max; i++)\n res[i] = res[i - 1].add(dbl);\n return {\n wnd: wnd,\n points: res,\n };\n};\n\nBasePoint.prototype._getBeta = function _getBeta() {\n return null;\n};\n\nBasePoint.prototype.dblp = function dblp(k) {\n var r = this;\n for (var i = 0; i < k; i++)\n r = r.dbl();\n return r;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction ShortCurve(conf) {\n Base.call(this, 'short', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.tinv = this.two.redInvm();\n\n this.zeroA = this.a.fromRed().cmpn(0) === 0;\n this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0;\n\n // If the curve is endomorphic, precalculate beta and lambda\n this.endo = this._getEndomorphism(conf);\n this._endoWnafT1 = new Array(4);\n this._endoWnafT2 = new Array(4);\n}\ninherits(ShortCurve, Base);\nmodule.exports = ShortCurve;\n\nShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) {\n // No efficient endomorphism\n if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1)\n return;\n\n // Compute beta and lambda, that lambda * P = (beta * Px; Py)\n var beta;\n var lambda;\n if (conf.beta) {\n beta = new BN(conf.beta, 16).toRed(this.red);\n } else {\n var betas = this._getEndoRoots(this.p);\n // Choose the smallest beta\n beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1];\n beta = beta.toRed(this.red);\n }\n if (conf.lambda) {\n lambda = new BN(conf.lambda, 16);\n } else {\n // Choose the lambda that is matching selected beta\n var lambdas = this._getEndoRoots(this.n);\n if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) {\n lambda = lambdas[0];\n } else {\n lambda = lambdas[1];\n assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0);\n }\n }\n\n // Get basis vectors, used for balanced length-two representation\n var basis;\n if (conf.basis) {\n basis = conf.basis.map(function(vec) {\n return {\n a: new BN(vec.a, 16),\n b: new BN(vec.b, 16),\n };\n });\n } else {\n basis = this._getEndoBasis(lambda);\n }\n\n return {\n beta: beta,\n lambda: lambda,\n basis: basis,\n };\n};\n\nShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) {\n // Find roots of for x^2 + x + 1 in F\n // Root = (-1 +- Sqrt(-3)) / 2\n //\n var red = num === this.p ? this.red : BN.mont(num);\n var tinv = new BN(2).toRed(red).redInvm();\n var ntinv = tinv.redNeg();\n\n var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv);\n\n var l1 = ntinv.redAdd(s).fromRed();\n var l2 = ntinv.redSub(s).fromRed();\n return [ l1, l2 ];\n};\n\nShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) {\n // aprxSqrt >= sqrt(this.n)\n var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2));\n\n // 3.74\n // Run EGCD, until r(L + 1) < aprxSqrt\n var u = lambda;\n var v = this.n.clone();\n var x1 = new BN(1);\n var y1 = new BN(0);\n var x2 = new BN(0);\n var y2 = new BN(1);\n\n // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n)\n var a0;\n var b0;\n // First vector\n var a1;\n var b1;\n // Second vector\n var a2;\n var b2;\n\n var prevR;\n var i = 0;\n var r;\n var x;\n while (u.cmpn(0) !== 0) {\n var q = v.div(u);\n r = v.sub(q.mul(u));\n x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n\n if (!a1 && r.cmp(aprxSqrt) < 0) {\n a0 = prevR.neg();\n b0 = x1;\n a1 = r.neg();\n b1 = x;\n } else if (a1 && ++i === 2) {\n break;\n }\n prevR = r;\n\n v = u;\n u = r;\n x2 = x1;\n x1 = x;\n y2 = y1;\n y1 = y;\n }\n a2 = r.neg();\n b2 = x;\n\n var len1 = a1.sqr().add(b1.sqr());\n var len2 = a2.sqr().add(b2.sqr());\n if (len2.cmp(len1) >= 0) {\n a2 = a0;\n b2 = b0;\n }\n\n // Normalize signs\n if (a1.negative) {\n a1 = a1.neg();\n b1 = b1.neg();\n }\n if (a2.negative) {\n a2 = a2.neg();\n b2 = b2.neg();\n }\n\n return [\n { a: a1, b: b1 },\n { a: a2, b: b2 },\n ];\n};\n\nShortCurve.prototype._endoSplit = function _endoSplit(k) {\n var basis = this.endo.basis;\n var v1 = basis[0];\n var v2 = basis[1];\n\n var c1 = v2.b.mul(k).divRound(this.n);\n var c2 = v1.b.neg().mul(k).divRound(this.n);\n\n var p1 = c1.mul(v1.a);\n var p2 = c2.mul(v2.a);\n var q1 = c1.mul(v1.b);\n var q2 = c2.mul(v2.b);\n\n // Calculate answer\n var k1 = k.sub(p1).sub(p2);\n var k2 = q1.add(q2).neg();\n return { k1: k1, k2: k2 };\n};\n\nShortCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b);\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n // XXX Is there any way to tell if the number is odd without converting it\n // to non-red form?\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nShortCurve.prototype.validate = function validate(point) {\n if (point.inf)\n return true;\n\n var x = point.x;\n var y = point.y;\n\n var ax = this.a.redMul(x);\n var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);\n return y.redSqr().redISub(rhs).cmpn(0) === 0;\n};\n\nShortCurve.prototype._endoWnafMulAdd =\n function _endoWnafMulAdd(points, coeffs, jacobianResult) {\n var npoints = this._endoWnafT1;\n var ncoeffs = this._endoWnafT2;\n for (var i = 0; i < points.length; i++) {\n var split = this._endoSplit(coeffs[i]);\n var p = points[i];\n var beta = p._getBeta();\n\n if (split.k1.negative) {\n split.k1.ineg();\n p = p.neg(true);\n }\n if (split.k2.negative) {\n split.k2.ineg();\n beta = beta.neg(true);\n }\n\n npoints[i * 2] = p;\n npoints[i * 2 + 1] = beta;\n ncoeffs[i * 2] = split.k1;\n ncoeffs[i * 2 + 1] = split.k2;\n }\n var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult);\n\n // Clean-up references to points and coefficients\n for (var j = 0; j < i * 2; j++) {\n npoints[j] = null;\n ncoeffs[j] = null;\n }\n return res;\n };\n\nfunction Point(curve, x, y, isRed) {\n Base.BasePoint.call(this, curve, 'affine');\n if (x === null && y === null) {\n this.x = null;\n this.y = null;\n this.inf = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n // Force redgomery representation when loading from JSON\n if (isRed) {\n this.x.forceRed(this.curve.red);\n this.y.forceRed(this.curve.red);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n this.inf = false;\n }\n}\ninherits(Point, Base.BasePoint);\n\nShortCurve.prototype.point = function point(x, y, isRed) {\n return new Point(this, x, y, isRed);\n};\n\nShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) {\n return Point.fromJSON(this, obj, red);\n};\n\nPoint.prototype._getBeta = function _getBeta() {\n if (!this.curve.endo)\n return;\n\n var pre = this.precomputed;\n if (pre && pre.beta)\n return pre.beta;\n\n var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);\n if (pre) {\n var curve = this.curve;\n var endoMul = function(p) {\n return curve.point(p.x.redMul(curve.endo.beta), p.y);\n };\n pre.beta = beta;\n beta.precomputed = {\n beta: null,\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(endoMul),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(endoMul),\n },\n };\n }\n return beta;\n};\n\nPoint.prototype.toJSON = function toJSON() {\n if (!this.precomputed)\n return [ this.x, this.y ];\n\n return [ this.x, this.y, this.precomputed && {\n doubles: this.precomputed.doubles && {\n step: this.precomputed.doubles.step,\n points: this.precomputed.doubles.points.slice(1),\n },\n naf: this.precomputed.naf && {\n wnd: this.precomputed.naf.wnd,\n points: this.precomputed.naf.points.slice(1),\n },\n } ];\n};\n\nPoint.fromJSON = function fromJSON(curve, obj, red) {\n if (typeof obj === 'string')\n obj = JSON.parse(obj);\n var res = curve.point(obj[0], obj[1], red);\n if (!obj[2])\n return res;\n\n function obj2point(obj) {\n return curve.point(obj[0], obj[1], red);\n }\n\n var pre = obj[2];\n res.precomputed = {\n beta: null,\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: [ res ].concat(pre.doubles.points.map(obj2point)),\n },\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: [ res ].concat(pre.naf.points.map(obj2point)),\n },\n };\n return res;\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n return this.inf;\n};\n\nPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.inf)\n return p;\n\n // P + O = P\n if (p.inf)\n return this;\n\n // P + P = 2P\n if (this.eq(p))\n return this.dbl();\n\n // P + (-P) = O\n if (this.neg().eq(p))\n return this.curve.point(null, null);\n\n // P + Q = O\n if (this.x.cmp(p.x) === 0)\n return this.curve.point(null, null);\n\n var c = this.y.redSub(p.y);\n if (c.cmpn(0) !== 0)\n c = c.redMul(this.x.redSub(p.x).redInvm());\n var nx = c.redSqr().redISub(this.x).redISub(p.x);\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.inf)\n return this;\n\n // 2P = O\n var ys1 = this.y.redAdd(this.y);\n if (ys1.cmpn(0) === 0)\n return this.curve.point(null, null);\n\n var a = this.curve.a;\n\n var x2 = this.x.redSqr();\n var dyinv = ys1.redInvm();\n var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv);\n\n var nx = c.redSqr().redISub(this.x.redAdd(this.x));\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.getX = function getX() {\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n return this.y.fromRed();\n};\n\nPoint.prototype.mul = function mul(k) {\n k = new BN(k, 16);\n if (this.isInfinity())\n return this;\n else if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else if (this.curve.endo)\n return this.curve._endoWnafMulAdd([ this ], [ k ]);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs, true);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2, true);\n};\n\nPoint.prototype.eq = function eq(p) {\n return this === p ||\n this.inf === p.inf &&\n (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);\n};\n\nPoint.prototype.neg = function neg(_precompute) {\n if (this.inf)\n return this;\n\n var res = this.curve.point(this.x, this.y.redNeg());\n if (_precompute && this.precomputed) {\n var pre = this.precomputed;\n var negate = function(p) {\n return p.neg();\n };\n res.precomputed = {\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(negate),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(negate),\n },\n };\n }\n return res;\n};\n\nPoint.prototype.toJ = function toJ() {\n if (this.inf)\n return this.curve.jpoint(null, null, null);\n\n var res = this.curve.jpoint(this.x, this.y, this.curve.one);\n return res;\n};\n\nfunction JPoint(curve, x, y, z) {\n Base.BasePoint.call(this, curve, 'jacobian');\n if (x === null && y === null && z === null) {\n this.x = this.curve.one;\n this.y = this.curve.one;\n this.z = new BN(0);\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = new BN(z, 16);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n\n this.zOne = this.z === this.curve.one;\n}\ninherits(JPoint, Base.BasePoint);\n\nShortCurve.prototype.jpoint = function jpoint(x, y, z) {\n return new JPoint(this, x, y, z);\n};\n\nJPoint.prototype.toP = function toP() {\n if (this.isInfinity())\n return this.curve.point(null, null);\n\n var zinv = this.z.redInvm();\n var zinv2 = zinv.redSqr();\n var ax = this.x.redMul(zinv2);\n var ay = this.y.redMul(zinv2).redMul(zinv);\n\n return this.curve.point(ax, ay);\n};\n\nJPoint.prototype.neg = function neg() {\n return this.curve.jpoint(this.x, this.y.redNeg(), this.z);\n};\n\nJPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.isInfinity())\n return p;\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 12M + 4S + 7A\n var pz2 = p.z.redSqr();\n var z2 = this.z.redSqr();\n var u1 = this.x.redMul(pz2);\n var u2 = p.x.redMul(z2);\n var s1 = this.y.redMul(pz2.redMul(p.z));\n var s2 = p.y.redMul(z2.redMul(this.z));\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(p.z).redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mixedAdd = function mixedAdd(p) {\n // O + P = P\n if (this.isInfinity())\n return p.toJ();\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 8M + 3S + 7A\n var z2 = this.z.redSqr();\n var u1 = this.x;\n var u2 = p.x.redMul(z2);\n var s1 = this.y;\n var s2 = p.y.redMul(z2).redMul(this.z);\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.dblp = function dblp(pow) {\n if (pow === 0)\n return this;\n if (this.isInfinity())\n return this;\n if (!pow)\n return this.dbl();\n\n var i;\n if (this.curve.zeroA || this.curve.threeA) {\n var r = this;\n for (i = 0; i < pow; i++)\n r = r.dbl();\n return r;\n }\n\n // 1M + 2S + 1A + N * (4S + 5M + 8A)\n // N = 1 => 6M + 6S + 9A\n var a = this.curve.a;\n var tinv = this.curve.tinv;\n\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n // Reuse results\n var jyd = jy.redAdd(jy);\n for (i = 0; i < pow; i++) {\n var jx2 = jx.redSqr();\n var jyd2 = jyd.redSqr();\n var jyd4 = jyd2.redSqr();\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var t1 = jx.redMul(jyd2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n var dny = c.redMul(t2);\n dny = dny.redIAdd(dny).redISub(jyd4);\n var nz = jyd.redMul(jz);\n if (i + 1 < pow)\n jz4 = jz4.redMul(jyd4);\n\n jx = nx;\n jz = nz;\n jyd = dny;\n }\n\n return this.curve.jpoint(jx, jyd.redMul(tinv), jz);\n};\n\nJPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n if (this.curve.zeroA)\n return this._zeroDbl();\n else if (this.curve.threeA)\n return this._threeDbl();\n else\n return this._dbl();\n};\n\nJPoint.prototype._zeroDbl = function _zeroDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 14A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // T = M ^ 2 - 2*S\n var t = m.redSqr().redISub(s).redISub(s);\n\n // 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2*Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-dbl-2009-l\n // 2M + 5S + 13A\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = B^2\n var c = b.redSqr();\n // D = 2 * ((X1 + B)^2 - A - C)\n var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);\n d = d.redIAdd(d);\n // E = 3 * A\n var e = a.redAdd(a).redIAdd(a);\n // F = E^2\n var f = e.redSqr();\n\n // 8 * C\n var c8 = c.redIAdd(c);\n c8 = c8.redIAdd(c8);\n c8 = c8.redIAdd(c8);\n\n // X3 = F - 2 * D\n nx = f.redISub(d).redISub(d);\n // Y3 = E * (D - X3) - 8 * C\n ny = e.redMul(d.redISub(nx)).redISub(c8);\n // Z3 = 2 * Y1 * Z1\n nz = this.y.redMul(this.z);\n nz = nz.redIAdd(nz);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._threeDbl = function _threeDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 15A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a\n var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a);\n // T = M^2 - 2 * S\n var t = m.redSqr().redISub(s).redISub(s);\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2 * Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b\n // 3M + 5S\n\n // delta = Z1^2\n var delta = this.z.redSqr();\n // gamma = Y1^2\n var gamma = this.y.redSqr();\n // beta = X1 * gamma\n var beta = this.x.redMul(gamma);\n // alpha = 3 * (X1 - delta) * (X1 + delta)\n var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));\n alpha = alpha.redAdd(alpha).redIAdd(alpha);\n // X3 = alpha^2 - 8 * beta\n var beta4 = beta.redIAdd(beta);\n beta4 = beta4.redIAdd(beta4);\n var beta8 = beta4.redAdd(beta4);\n nx = alpha.redSqr().redISub(beta8);\n // Z3 = (Y1 + Z1)^2 - gamma - delta\n nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);\n // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2\n var ggamma8 = gamma.redSqr();\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._dbl = function _dbl() {\n var a = this.curve.a;\n\n // 4M + 6S + 10A\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n var jx2 = jx.redSqr();\n var jy2 = jy.redSqr();\n\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var jxd4 = jx.redAdd(jx);\n jxd4 = jxd4.redIAdd(jxd4);\n var t1 = jxd4.redMul(jy2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n\n var jyd8 = jy2.redSqr();\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n var ny = c.redMul(t2).redISub(jyd8);\n var nz = jy.redAdd(jy).redMul(jz);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.trpl = function trpl() {\n if (!this.curve.zeroA)\n return this.dbl().add(this);\n\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl\n // 5M + 10S + ...\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // ZZ = Z1^2\n var zz = this.z.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // M = 3 * XX + a * ZZ2; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // MM = M^2\n var mm = m.redSqr();\n // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM\n var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n e = e.redIAdd(e);\n e = e.redAdd(e).redIAdd(e);\n e = e.redISub(mm);\n // EE = E^2\n var ee = e.redSqr();\n // T = 16*YYYY\n var t = yyyy.redIAdd(yyyy);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n // U = (M + E)^2 - MM - EE - T\n var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t);\n // X3 = 4 * (X1 * EE - 4 * YY * U)\n var yyu4 = yy.redMul(u);\n yyu4 = yyu4.redIAdd(yyu4);\n yyu4 = yyu4.redIAdd(yyu4);\n var nx = this.x.redMul(ee).redISub(yyu4);\n nx = nx.redIAdd(nx);\n nx = nx.redIAdd(nx);\n // Y3 = 8 * Y1 * (U * (T - U) - E * EE)\n var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n // Z3 = (Z1 + E)^2 - ZZ - EE\n var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mul = function mul(k, kbase) {\n k = new BN(k, kbase);\n\n return this.curve._wnafMul(this, k);\n};\n\nJPoint.prototype.eq = function eq(p) {\n if (p.type === 'affine')\n return this.eq(p.toJ());\n\n if (this === p)\n return true;\n\n // x1 * z2^2 == x2 * z1^2\n var z2 = this.z.redSqr();\n var pz2 = p.z.redSqr();\n if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)\n return false;\n\n // y1 * z2^3 == y2 * z1^3\n var z3 = z2.redMul(this.z);\n var pz3 = pz2.redMul(p.z);\n return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;\n};\n\nJPoint.prototype.eqXToP = function eqXToP(x) {\n var zs = this.z.redSqr();\n var rx = x.toRed(this.curve.red).redMul(zs);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(zs);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\nJPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nJPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar utils = require('../utils');\n\nfunction MontCurve(conf) {\n Base.call(this, 'mont', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.i4 = new BN(4).toRed(this.red).redInvm();\n this.two = new BN(2).toRed(this.red);\n this.a24 = this.i4.redMul(this.a.redAdd(this.two));\n}\ninherits(MontCurve, Base);\nmodule.exports = MontCurve;\n\nMontCurve.prototype.validate = function validate(point) {\n var x = point.normalize().x;\n var x2 = x.redSqr();\n var rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x);\n var y = rhs.redSqrt();\n\n return y.redSqr().cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, z) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && z === null) {\n this.x = this.curve.one;\n this.z = this.curve.zero;\n } else {\n this.x = new BN(x, 16);\n this.z = new BN(z, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n }\n}\ninherits(Point, Base.BasePoint);\n\nMontCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n return this.point(utils.toArray(bytes, enc), 1);\n};\n\nMontCurve.prototype.point = function point(x, z) {\n return new Point(this, x, z);\n};\n\nMontCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nPoint.prototype.precompute = function precompute() {\n // No-op\n};\n\nPoint.prototype._encode = function _encode() {\n return this.getX().toArray('be', this.curve.p.byteLength());\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1] || curve.one);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n\nPoint.prototype.dbl = function dbl() {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#doubling-dbl-1987-m-3\n // 2M + 2S + 4A\n\n // A = X1 + Z1\n var a = this.x.redAdd(this.z);\n // AA = A^2\n var aa = a.redSqr();\n // B = X1 - Z1\n var b = this.x.redSub(this.z);\n // BB = B^2\n var bb = b.redSqr();\n // C = AA - BB\n var c = aa.redSub(bb);\n // X3 = AA * BB\n var nx = aa.redMul(bb);\n // Z3 = C * (BB + A24 * C)\n var nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.add = function add() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.diffAdd = function diffAdd(p, diff) {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#diffadd-dadd-1987-m-3\n // 4M + 2S + 6A\n\n // A = X2 + Z2\n var a = this.x.redAdd(this.z);\n // B = X2 - Z2\n var b = this.x.redSub(this.z);\n // C = X3 + Z3\n var c = p.x.redAdd(p.z);\n // D = X3 - Z3\n var d = p.x.redSub(p.z);\n // DA = D * A\n var da = d.redMul(a);\n // CB = C * B\n var cb = c.redMul(b);\n // X5 = Z1 * (DA + CB)^2\n var nx = diff.z.redMul(da.redAdd(cb).redSqr());\n // Z5 = X1 * (DA - CB)^2\n var nz = diff.x.redMul(da.redISub(cb).redSqr());\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.mul = function mul(k) {\n var t = k.clone();\n var a = this; // (N / 2) * Q + Q\n var b = this.curve.point(null, null); // (N / 2) * Q\n var c = this; // Q\n\n for (var bits = []; t.cmpn(0) !== 0; t.iushrn(1))\n bits.push(t.andln(1));\n\n for (var i = bits.length - 1; i >= 0; i--) {\n if (bits[i] === 0) {\n // N * Q + Q = ((N / 2) * Q + Q)) + (N / 2) * Q\n a = a.diffAdd(b, c);\n // N * Q = 2 * ((N / 2) * Q + Q))\n b = b.dbl();\n } else {\n // N * Q = ((N / 2) * Q + Q) + ((N / 2) * Q)\n b = a.diffAdd(b, c);\n // N * Q + Q = 2 * ((N / 2) * Q + Q)\n a = a.dbl();\n }\n }\n return b;\n};\n\nPoint.prototype.mulAdd = function mulAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.jumlAdd = function jumlAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.eq = function eq(other) {\n return this.getX().cmp(other.getX()) === 0;\n};\n\nPoint.prototype.normalize = function normalize() {\n this.x = this.x.redMul(this.z.redInvm());\n this.z = this.curve.one;\n return this;\n};\n\nPoint.prototype.getX = function getX() {\n // Normalize coordinates\n this.normalize();\n\n return this.x.fromRed();\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction EdwardsCurve(conf) {\n // NOTE: Important as we are creating point in Base.call()\n this.twisted = (conf.a | 0) !== 1;\n this.mOneA = this.twisted && (conf.a | 0) === -1;\n this.extended = this.mOneA;\n\n Base.call(this, 'edwards', conf);\n\n this.a = new BN(conf.a, 16).umod(this.red.m);\n this.a = this.a.toRed(this.red);\n this.c = new BN(conf.c, 16).toRed(this.red);\n this.c2 = this.c.redSqr();\n this.d = new BN(conf.d, 16).toRed(this.red);\n this.dd = this.d.redAdd(this.d);\n\n assert(!this.twisted || this.c.fromRed().cmpn(1) === 0);\n this.oneC = (conf.c | 0) === 1;\n}\ninherits(EdwardsCurve, Base);\nmodule.exports = EdwardsCurve;\n\nEdwardsCurve.prototype._mulA = function _mulA(num) {\n if (this.mOneA)\n return num.redNeg();\n else\n return this.a.redMul(num);\n};\n\nEdwardsCurve.prototype._mulC = function _mulC(num) {\n if (this.oneC)\n return num;\n else\n return this.c.redMul(num);\n};\n\n// Just for compatibility with Short curve\nEdwardsCurve.prototype.jpoint = function jpoint(x, y, z, t) {\n return this.point(x, y, z, t);\n};\n\nEdwardsCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var x2 = x.redSqr();\n var rhs = this.c2.redSub(this.a.redMul(x2));\n var lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2));\n\n var y2 = rhs.redMul(lhs.redInvm());\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.pointFromY = function pointFromY(y, odd) {\n y = new BN(y, 16);\n if (!y.red)\n y = y.toRed(this.red);\n\n // x^2 = (y^2 - c^2) / (c^2 d y^2 - a)\n var y2 = y.redSqr();\n var lhs = y2.redSub(this.c2);\n var rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a);\n var x2 = lhs.redMul(rhs.redInvm());\n\n if (x2.cmp(this.zero) === 0) {\n if (odd)\n throw new Error('invalid point');\n else\n return this.point(this.zero, y);\n }\n\n var x = x2.redSqrt();\n if (x.redSqr().redSub(x2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n if (x.fromRed().isOdd() !== odd)\n x = x.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.validate = function validate(point) {\n if (point.isInfinity())\n return true;\n\n // Curve: A * X^2 + Y^2 = C^2 * (1 + D * X^2 * Y^2)\n point.normalize();\n\n var x2 = point.x.redSqr();\n var y2 = point.y.redSqr();\n var lhs = x2.redMul(this.a).redAdd(y2);\n var rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));\n\n return lhs.cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, y, z, t) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && y === null && z === null) {\n this.x = this.curve.zero;\n this.y = this.curve.one;\n this.z = this.curve.one;\n this.t = this.curve.zero;\n this.zOne = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = z ? new BN(z, 16) : this.curve.one;\n this.t = t && new BN(t, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n if (this.t && !this.t.red)\n this.t = this.t.toRed(this.curve.red);\n this.zOne = this.z === this.curve.one;\n\n // Use extended coordinates\n if (this.curve.extended && !this.t) {\n this.t = this.x.redMul(this.y);\n if (!this.zOne)\n this.t = this.t.redMul(this.z.redInvm());\n }\n }\n}\ninherits(Point, Base.BasePoint);\n\nEdwardsCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nEdwardsCurve.prototype.point = function point(x, y, z, t) {\n return new Point(this, x, y, z, t);\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1], obj[2]);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.x.cmpn(0) === 0 &&\n (this.y.cmp(this.z) === 0 ||\n (this.zOne && this.y.cmp(this.curve.c) === 0));\n};\n\nPoint.prototype._extDbl = function _extDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #doubling-dbl-2008-hwcd\n // 4M + 4S\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = 2 * Z1^2\n var c = this.z.redSqr();\n c = c.redIAdd(c);\n // D = a * A\n var d = this.curve._mulA(a);\n // E = (X1 + Y1)^2 - A - B\n var e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b);\n // G = D + B\n var g = d.redAdd(b);\n // F = G - C\n var f = g.redSub(c);\n // H = D - B\n var h = d.redSub(b);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projDbl = function _projDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #doubling-dbl-2008-bbjlp\n // #doubling-dbl-2007-bl\n // and others\n // Generally 3M + 4S or 2M + 4S\n\n // B = (X1 + Y1)^2\n var b = this.x.redAdd(this.y).redSqr();\n // C = X1^2\n var c = this.x.redSqr();\n // D = Y1^2\n var d = this.y.redSqr();\n\n var nx;\n var ny;\n var nz;\n var e;\n var h;\n var j;\n if (this.curve.twisted) {\n // E = a * C\n e = this.curve._mulA(c);\n // F = E + D\n var f = e.redAdd(d);\n if (this.zOne) {\n // X3 = (B - C - D) * (F - 2)\n nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two));\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F^2 - 2 * F\n nz = f.redSqr().redSub(f).redSub(f);\n } else {\n // H = Z1^2\n h = this.z.redSqr();\n // J = F - 2 * H\n j = f.redSub(h).redISub(h);\n // X3 = (B-C-D)*J\n nx = b.redSub(c).redISub(d).redMul(j);\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F * J\n nz = f.redMul(j);\n }\n } else {\n // E = C + D\n e = c.redAdd(d);\n // H = (c * Z1)^2\n h = this.curve._mulC(this.z).redSqr();\n // J = E - 2 * H\n j = e.redSub(h).redSub(h);\n // X3 = c * (B - E) * J\n nx = this.curve._mulC(b.redISub(e)).redMul(j);\n // Y3 = c * E * (C - D)\n ny = this.curve._mulC(e).redMul(c.redISub(d));\n // Z3 = E * J\n nz = e.redMul(j);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n // Double in extended coordinates\n if (this.curve.extended)\n return this._extDbl();\n else\n return this._projDbl();\n};\n\nPoint.prototype._extAdd = function _extAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #addition-add-2008-hwcd-3\n // 8M\n\n // A = (Y1 - X1) * (Y2 - X2)\n var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x));\n // B = (Y1 + X1) * (Y2 + X2)\n var b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x));\n // C = T1 * k * T2\n var c = this.t.redMul(this.curve.dd).redMul(p.t);\n // D = Z1 * 2 * Z2\n var d = this.z.redMul(p.z.redAdd(p.z));\n // E = B - A\n var e = b.redSub(a);\n // F = D - C\n var f = d.redSub(c);\n // G = D + C\n var g = d.redAdd(c);\n // H = B + A\n var h = b.redAdd(a);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projAdd = function _projAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #addition-add-2008-bbjlp\n // #addition-add-2007-bl\n // 10M + 1S\n\n // A = Z1 * Z2\n var a = this.z.redMul(p.z);\n // B = A^2\n var b = a.redSqr();\n // C = X1 * X2\n var c = this.x.redMul(p.x);\n // D = Y1 * Y2\n var d = this.y.redMul(p.y);\n // E = d * C * D\n var e = this.curve.d.redMul(c).redMul(d);\n // F = B - E\n var f = b.redSub(e);\n // G = B + E\n var g = b.redAdd(e);\n // X3 = A * F * ((X1 + Y1) * (X2 + Y2) - C - D)\n var tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d);\n var nx = a.redMul(f).redMul(tmp);\n var ny;\n var nz;\n if (this.curve.twisted) {\n // Y3 = A * G * (D - a * C)\n ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c)));\n // Z3 = F * G\n nz = f.redMul(g);\n } else {\n // Y3 = A * G * (D - C)\n ny = a.redMul(g).redMul(d.redSub(c));\n // Z3 = c * F * G\n nz = this.curve._mulC(f).redMul(g);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.add = function add(p) {\n if (this.isInfinity())\n return p;\n if (p.isInfinity())\n return this;\n\n if (this.curve.extended)\n return this._extAdd(p);\n else\n return this._projAdd(p);\n};\n\nPoint.prototype.mul = function mul(k) {\n if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, false);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, true);\n};\n\nPoint.prototype.normalize = function normalize() {\n if (this.zOne)\n return this;\n\n // Normalize coordinates\n var zi = this.z.redInvm();\n this.x = this.x.redMul(zi);\n this.y = this.y.redMul(zi);\n if (this.t)\n this.t = this.t.redMul(zi);\n this.z = this.curve.one;\n this.zOne = true;\n return this;\n};\n\nPoint.prototype.neg = function neg() {\n return this.curve.point(this.x.redNeg(),\n this.y,\n this.z,\n this.t && this.t.redNeg());\n};\n\nPoint.prototype.getX = function getX() {\n this.normalize();\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n this.normalize();\n return this.y.fromRed();\n};\n\nPoint.prototype.eq = function eq(other) {\n return this === other ||\n this.getX().cmp(other.getX()) === 0 &&\n this.getY().cmp(other.getY()) === 0;\n};\n\nPoint.prototype.eqXToP = function eqXToP(x) {\n var rx = x.toRed(this.curve.red).redMul(this.z);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(this.z);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\n// Compatibility with BaseCurve\nPoint.prototype.toP = Point.prototype.normalize;\nPoint.prototype.mixedAdd = Point.prototype.add;\n","'use strict';\n\nvar curve = exports;\n\ncurve.base = require('./base');\ncurve.short = require('./short');\ncurve.mont = require('./mont');\ncurve.edwards = require('./edwards');\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nexports.inherits = inherits;\n\nfunction isSurrogatePair(msg, i) {\n if ((msg.charCodeAt(i) & 0xFC00) !== 0xD800) {\n return false;\n }\n if (i < 0 || i + 1 >= msg.length) {\n return false;\n }\n return (msg.charCodeAt(i + 1) & 0xFC00) === 0xDC00;\n}\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg === 'string') {\n if (!enc) {\n // Inspired by stringToUtf8ByteArray() in closure-library by Google\n // https://github.com/google/closure-library/blob/8598d87242af59aac233270742c8984e2b2bdbe0/closure/goog/crypt/crypt.js#L117-L143\n // Apache License 2.0\n // https://github.com/google/closure-library/blob/master/LICENSE\n var p = 0;\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n if (c < 128) {\n res[p++] = c;\n } else if (c < 2048) {\n res[p++] = (c >> 6) | 192;\n res[p++] = (c & 63) | 128;\n } else if (isSurrogatePair(msg, i)) {\n c = 0x10000 + ((c & 0x03FF) << 10) + (msg.charCodeAt(++i) & 0x03FF);\n res[p++] = (c >> 18) | 240;\n res[p++] = ((c >> 12) & 63) | 128;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n } else {\n res[p++] = (c >> 12) | 224;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n }\n }\n } else if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n }\n } else {\n for (i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n }\n return res;\n}\nexports.toArray = toArray;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nexports.toHex = toHex;\n\nfunction htonl(w) {\n var res = (w >>> 24) |\n ((w >>> 8) & 0xff00) |\n ((w << 8) & 0xff0000) |\n ((w & 0xff) << 24);\n return res >>> 0;\n}\nexports.htonl = htonl;\n\nfunction toHex32(msg, endian) {\n var res = '';\n for (var i = 0; i < msg.length; i++) {\n var w = msg[i];\n if (endian === 'little')\n w = htonl(w);\n res += zero8(w.toString(16));\n }\n return res;\n}\nexports.toHex32 = toHex32;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nexports.zero2 = zero2;\n\nfunction zero8(word) {\n if (word.length === 7)\n return '0' + word;\n else if (word.length === 6)\n return '00' + word;\n else if (word.length === 5)\n return '000' + word;\n else if (word.length === 4)\n return '0000' + word;\n else if (word.length === 3)\n return '00000' + word;\n else if (word.length === 2)\n return '000000' + word;\n else if (word.length === 1)\n return '0000000' + word;\n else\n return word;\n}\nexports.zero8 = zero8;\n\nfunction join32(msg, start, end, endian) {\n var len = end - start;\n assert(len % 4 === 0);\n var res = new Array(len / 4);\n for (var i = 0, k = start; i < res.length; i++, k += 4) {\n var w;\n if (endian === 'big')\n w = (msg[k] << 24) | (msg[k + 1] << 16) | (msg[k + 2] << 8) | msg[k + 3];\n else\n w = (msg[k + 3] << 24) | (msg[k + 2] << 16) | (msg[k + 1] << 8) | msg[k];\n res[i] = w >>> 0;\n }\n return res;\n}\nexports.join32 = join32;\n\nfunction split32(msg, endian) {\n var res = new Array(msg.length * 4);\n for (var i = 0, k = 0; i < msg.length; i++, k += 4) {\n var m = msg[i];\n if (endian === 'big') {\n res[k] = m >>> 24;\n res[k + 1] = (m >>> 16) & 0xff;\n res[k + 2] = (m >>> 8) & 0xff;\n res[k + 3] = m & 0xff;\n } else {\n res[k + 3] = m >>> 24;\n res[k + 2] = (m >>> 16) & 0xff;\n res[k + 1] = (m >>> 8) & 0xff;\n res[k] = m & 0xff;\n }\n }\n return res;\n}\nexports.split32 = split32;\n\nfunction rotr32(w, b) {\n return (w >>> b) | (w << (32 - b));\n}\nexports.rotr32 = rotr32;\n\nfunction rotl32(w, b) {\n return (w << b) | (w >>> (32 - b));\n}\nexports.rotl32 = rotl32;\n\nfunction sum32(a, b) {\n return (a + b) >>> 0;\n}\nexports.sum32 = sum32;\n\nfunction sum32_3(a, b, c) {\n return (a + b + c) >>> 0;\n}\nexports.sum32_3 = sum32_3;\n\nfunction sum32_4(a, b, c, d) {\n return (a + b + c + d) >>> 0;\n}\nexports.sum32_4 = sum32_4;\n\nfunction sum32_5(a, b, c, d, e) {\n return (a + b + c + d + e) >>> 0;\n}\nexports.sum32_5 = sum32_5;\n\nfunction sum64(buf, pos, ah, al) {\n var bh = buf[pos];\n var bl = buf[pos + 1];\n\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n buf[pos] = hi >>> 0;\n buf[pos + 1] = lo;\n}\nexports.sum64 = sum64;\n\nfunction sum64_hi(ah, al, bh, bl) {\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n return hi >>> 0;\n}\nexports.sum64_hi = sum64_hi;\n\nfunction sum64_lo(ah, al, bh, bl) {\n var lo = al + bl;\n return lo >>> 0;\n}\nexports.sum64_lo = sum64_lo;\n\nfunction sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n\n var hi = ah + bh + ch + dh + carry;\n return hi >>> 0;\n}\nexports.sum64_4_hi = sum64_4_hi;\n\nfunction sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {\n var lo = al + bl + cl + dl;\n return lo >>> 0;\n}\nexports.sum64_4_lo = sum64_4_lo;\n\nfunction sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n lo = (lo + el) >>> 0;\n carry += lo < el ? 1 : 0;\n\n var hi = ah + bh + ch + dh + eh + carry;\n return hi >>> 0;\n}\nexports.sum64_5_hi = sum64_5_hi;\n\nfunction sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var lo = al + bl + cl + dl + el;\n\n return lo >>> 0;\n}\nexports.sum64_5_lo = sum64_5_lo;\n\nfunction rotr64_hi(ah, al, num) {\n var r = (al << (32 - num)) | (ah >>> num);\n return r >>> 0;\n}\nexports.rotr64_hi = rotr64_hi;\n\nfunction rotr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.rotr64_lo = rotr64_lo;\n\nfunction shr64_hi(ah, al, num) {\n return ah >>> num;\n}\nexports.shr64_hi = shr64_hi;\n\nfunction shr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.shr64_lo = shr64_lo;\n","'use strict';\n\nvar utils = require('./utils');\nvar assert = require('minimalistic-assert');\n\nfunction BlockHash() {\n this.pending = null;\n this.pendingTotal = 0;\n this.blockSize = this.constructor.blockSize;\n this.outSize = this.constructor.outSize;\n this.hmacStrength = this.constructor.hmacStrength;\n this.padLength = this.constructor.padLength / 8;\n this.endian = 'big';\n\n this._delta8 = this.blockSize / 8;\n this._delta32 = this.blockSize / 32;\n}\nexports.BlockHash = BlockHash;\n\nBlockHash.prototype.update = function update(msg, enc) {\n // Convert message to array, pad it, and join into 32bit blocks\n msg = utils.toArray(msg, enc);\n if (!this.pending)\n this.pending = msg;\n else\n this.pending = this.pending.concat(msg);\n this.pendingTotal += msg.length;\n\n // Enough data, try updating\n if (this.pending.length >= this._delta8) {\n msg = this.pending;\n\n // Process pending data in blocks\n var r = msg.length % this._delta8;\n this.pending = msg.slice(msg.length - r, msg.length);\n if (this.pending.length === 0)\n this.pending = null;\n\n msg = utils.join32(msg, 0, msg.length - r, this.endian);\n for (var i = 0; i < msg.length; i += this._delta32)\n this._update(msg, i, i + this._delta32);\n }\n\n return this;\n};\n\nBlockHash.prototype.digest = function digest(enc) {\n this.update(this._pad());\n assert(this.pending === null);\n\n return this._digest(enc);\n};\n\nBlockHash.prototype._pad = function pad() {\n var len = this.pendingTotal;\n var bytes = this._delta8;\n var k = bytes - ((len + this.padLength) % bytes);\n var res = new Array(k + this.padLength);\n res[0] = 0x80;\n for (var i = 1; i < k; i++)\n res[i] = 0;\n\n // Append length\n len <<= 3;\n if (this.endian === 'big') {\n for (var t = 8; t < this.padLength; t++)\n res[i++] = 0;\n\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = len & 0xff;\n } else {\n res[i++] = len & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n\n for (t = 8; t < this.padLength; t++)\n res[i++] = 0;\n }\n\n return res;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar rotr32 = utils.rotr32;\n\nfunction ft_1(s, x, y, z) {\n if (s === 0)\n return ch32(x, y, z);\n if (s === 1 || s === 3)\n return p32(x, y, z);\n if (s === 2)\n return maj32(x, y, z);\n}\nexports.ft_1 = ft_1;\n\nfunction ch32(x, y, z) {\n return (x & y) ^ ((~x) & z);\n}\nexports.ch32 = ch32;\n\nfunction maj32(x, y, z) {\n return (x & y) ^ (x & z) ^ (y & z);\n}\nexports.maj32 = maj32;\n\nfunction p32(x, y, z) {\n return x ^ y ^ z;\n}\nexports.p32 = p32;\n\nfunction s0_256(x) {\n return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22);\n}\nexports.s0_256 = s0_256;\n\nfunction s1_256(x) {\n return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25);\n}\nexports.s1_256 = s1_256;\n\nfunction g0_256(x) {\n return rotr32(x, 7) ^ rotr32(x, 18) ^ (x >>> 3);\n}\nexports.g0_256 = g0_256;\n\nfunction g1_256(x) {\n return rotr32(x, 17) ^ rotr32(x, 19) ^ (x >>> 10);\n}\nexports.g1_256 = g1_256;\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_5 = utils.sum32_5;\nvar ft_1 = shaCommon.ft_1;\nvar BlockHash = common.BlockHash;\n\nvar sha1_K = [\n 0x5A827999, 0x6ED9EBA1,\n 0x8F1BBCDC, 0xCA62C1D6\n];\n\nfunction SHA1() {\n if (!(this instanceof SHA1))\n return new SHA1();\n\n BlockHash.call(this);\n this.h = [\n 0x67452301, 0xefcdab89, 0x98badcfe,\n 0x10325476, 0xc3d2e1f0 ];\n this.W = new Array(80);\n}\n\nutils.inherits(SHA1, BlockHash);\nmodule.exports = SHA1;\n\nSHA1.blockSize = 512;\nSHA1.outSize = 160;\nSHA1.hmacStrength = 80;\nSHA1.padLength = 64;\n\nSHA1.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n\n for(; i < W.length; i++)\n W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n\n for (i = 0; i < W.length; i++) {\n var s = ~~(i / 20);\n var t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]);\n e = d;\n d = c;\n c = rotl32(b, 30);\n b = a;\n a = t;\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n};\n\nSHA1.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\nvar assert = require('minimalistic-assert');\n\nvar sum32 = utils.sum32;\nvar sum32_4 = utils.sum32_4;\nvar sum32_5 = utils.sum32_5;\nvar ch32 = shaCommon.ch32;\nvar maj32 = shaCommon.maj32;\nvar s0_256 = shaCommon.s0_256;\nvar s1_256 = shaCommon.s1_256;\nvar g0_256 = shaCommon.g0_256;\nvar g1_256 = shaCommon.g1_256;\n\nvar BlockHash = common.BlockHash;\n\nvar sha256_K = [\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,\n 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,\n 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,\n 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,\n 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n];\n\nfunction SHA256() {\n if (!(this instanceof SHA256))\n return new SHA256();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,\n 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n ];\n this.k = sha256_K;\n this.W = new Array(64);\n}\nutils.inherits(SHA256, BlockHash);\nmodule.exports = SHA256;\n\nSHA256.blockSize = 512;\nSHA256.outSize = 256;\nSHA256.hmacStrength = 192;\nSHA256.padLength = 64;\n\nSHA256.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i++)\n W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n var f = this.h[5];\n var g = this.h[6];\n var h = this.h[7];\n\n assert(this.k.length === W.length);\n for (i = 0; i < W.length; i++) {\n var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]);\n var T2 = sum32(s0_256(a), maj32(a, b, c));\n h = g;\n g = f;\n f = e;\n e = sum32(d, T1);\n d = c;\n c = b;\n b = a;\n a = sum32(T1, T2);\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n this.h[5] = sum32(this.h[5], f);\n this.h[6] = sum32(this.h[6], g);\n this.h[7] = sum32(this.h[7], h);\n};\n\nSHA256.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar SHA256 = require('./256');\n\nfunction SHA224() {\n if (!(this instanceof SHA224))\n return new SHA224();\n\n SHA256.call(this);\n this.h = [\n 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,\n 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 ];\n}\nutils.inherits(SHA224, SHA256);\nmodule.exports = SHA224;\n\nSHA224.blockSize = 512;\nSHA224.outSize = 224;\nSHA224.hmacStrength = 192;\nSHA224.padLength = 64;\n\nSHA224.prototype._digest = function digest(enc) {\n // Just truncate output\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 7), 'big');\n else\n return utils.split32(this.h.slice(0, 7), 'big');\n};\n\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar assert = require('minimalistic-assert');\n\nvar rotr64_hi = utils.rotr64_hi;\nvar rotr64_lo = utils.rotr64_lo;\nvar shr64_hi = utils.shr64_hi;\nvar shr64_lo = utils.shr64_lo;\nvar sum64 = utils.sum64;\nvar sum64_hi = utils.sum64_hi;\nvar sum64_lo = utils.sum64_lo;\nvar sum64_4_hi = utils.sum64_4_hi;\nvar sum64_4_lo = utils.sum64_4_lo;\nvar sum64_5_hi = utils.sum64_5_hi;\nvar sum64_5_lo = utils.sum64_5_lo;\n\nvar BlockHash = common.BlockHash;\n\nvar sha512_K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n];\n\nfunction SHA512() {\n if (!(this instanceof SHA512))\n return new SHA512();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xf3bcc908,\n 0xbb67ae85, 0x84caa73b,\n 0x3c6ef372, 0xfe94f82b,\n 0xa54ff53a, 0x5f1d36f1,\n 0x510e527f, 0xade682d1,\n 0x9b05688c, 0x2b3e6c1f,\n 0x1f83d9ab, 0xfb41bd6b,\n 0x5be0cd19, 0x137e2179 ];\n this.k = sha512_K;\n this.W = new Array(160);\n}\nutils.inherits(SHA512, BlockHash);\nmodule.exports = SHA512;\n\nSHA512.blockSize = 1024;\nSHA512.outSize = 512;\nSHA512.hmacStrength = 192;\nSHA512.padLength = 128;\n\nSHA512.prototype._prepareBlock = function _prepareBlock(msg, start) {\n var W = this.W;\n\n // 32 x 32bit words\n for (var i = 0; i < 32; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i += 2) {\n var c0_hi = g1_512_hi(W[i - 4], W[i - 3]); // i - 2\n var c0_lo = g1_512_lo(W[i - 4], W[i - 3]);\n var c1_hi = W[i - 14]; // i - 7\n var c1_lo = W[i - 13];\n var c2_hi = g0_512_hi(W[i - 30], W[i - 29]); // i - 15\n var c2_lo = g0_512_lo(W[i - 30], W[i - 29]);\n var c3_hi = W[i - 32]; // i - 16\n var c3_lo = W[i - 31];\n\n W[i] = sum64_4_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n W[i + 1] = sum64_4_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n }\n};\n\nSHA512.prototype._update = function _update(msg, start) {\n this._prepareBlock(msg, start);\n\n var W = this.W;\n\n var ah = this.h[0];\n var al = this.h[1];\n var bh = this.h[2];\n var bl = this.h[3];\n var ch = this.h[4];\n var cl = this.h[5];\n var dh = this.h[6];\n var dl = this.h[7];\n var eh = this.h[8];\n var el = this.h[9];\n var fh = this.h[10];\n var fl = this.h[11];\n var gh = this.h[12];\n var gl = this.h[13];\n var hh = this.h[14];\n var hl = this.h[15];\n\n assert(this.k.length === W.length);\n for (var i = 0; i < W.length; i += 2) {\n var c0_hi = hh;\n var c0_lo = hl;\n var c1_hi = s1_512_hi(eh, el);\n var c1_lo = s1_512_lo(eh, el);\n var c2_hi = ch64_hi(eh, el, fh, fl, gh, gl);\n var c2_lo = ch64_lo(eh, el, fh, fl, gh, gl);\n var c3_hi = this.k[i];\n var c3_lo = this.k[i + 1];\n var c4_hi = W[i];\n var c4_lo = W[i + 1];\n\n var T1_hi = sum64_5_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n var T1_lo = sum64_5_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n\n c0_hi = s0_512_hi(ah, al);\n c0_lo = s0_512_lo(ah, al);\n c1_hi = maj64_hi(ah, al, bh, bl, ch, cl);\n c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);\n\n var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo);\n var T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);\n\n hh = gh;\n hl = gl;\n\n gh = fh;\n gl = fl;\n\n fh = eh;\n fl = el;\n\n eh = sum64_hi(dh, dl, T1_hi, T1_lo);\n el = sum64_lo(dl, dl, T1_hi, T1_lo);\n\n dh = ch;\n dl = cl;\n\n ch = bh;\n cl = bl;\n\n bh = ah;\n bl = al;\n\n ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo);\n al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);\n }\n\n sum64(this.h, 0, ah, al);\n sum64(this.h, 2, bh, bl);\n sum64(this.h, 4, ch, cl);\n sum64(this.h, 6, dh, dl);\n sum64(this.h, 8, eh, el);\n sum64(this.h, 10, fh, fl);\n sum64(this.h, 12, gh, gl);\n sum64(this.h, 14, hh, hl);\n};\n\nSHA512.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n\nfunction ch64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ ((~xh) & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction ch64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ ((~xl) & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ (xh & zh) ^ (yh & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ (xl & zl) ^ (yl & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 28);\n var c1_hi = rotr64_hi(xl, xh, 2); // 34\n var c2_hi = rotr64_hi(xl, xh, 7); // 39\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 28);\n var c1_lo = rotr64_lo(xl, xh, 2); // 34\n var c2_lo = rotr64_lo(xl, xh, 7); // 39\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 14);\n var c1_hi = rotr64_hi(xh, xl, 18);\n var c2_hi = rotr64_hi(xl, xh, 9); // 41\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 14);\n var c1_lo = rotr64_lo(xh, xl, 18);\n var c2_lo = rotr64_lo(xl, xh, 9); // 41\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 1);\n var c1_hi = rotr64_hi(xh, xl, 8);\n var c2_hi = shr64_hi(xh, xl, 7);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 1);\n var c1_lo = rotr64_lo(xh, xl, 8);\n var c2_lo = shr64_lo(xh, xl, 7);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 19);\n var c1_hi = rotr64_hi(xl, xh, 29); // 61\n var c2_hi = shr64_hi(xh, xl, 6);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 19);\n var c1_lo = rotr64_lo(xl, xh, 29); // 61\n var c2_lo = shr64_lo(xh, xl, 6);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n","'use strict';\n\nvar utils = require('../utils');\n\nvar SHA512 = require('./512');\n\nfunction SHA384() {\n if (!(this instanceof SHA384))\n return new SHA384();\n\n SHA512.call(this);\n this.h = [\n 0xcbbb9d5d, 0xc1059ed8,\n 0x629a292a, 0x367cd507,\n 0x9159015a, 0x3070dd17,\n 0x152fecd8, 0xf70e5939,\n 0x67332667, 0xffc00b31,\n 0x8eb44a87, 0x68581511,\n 0xdb0c2e0d, 0x64f98fa7,\n 0x47b5481d, 0xbefa4fa4 ];\n}\nutils.inherits(SHA384, SHA512);\nmodule.exports = SHA384;\n\nSHA384.blockSize = 1024;\nSHA384.outSize = 384;\nSHA384.hmacStrength = 192;\nSHA384.padLength = 128;\n\nSHA384.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 12), 'big');\n else\n return utils.split32(this.h.slice(0, 12), 'big');\n};\n","'use strict';\n\nexports.sha1 = require('./sha/1');\nexports.sha224 = require('./sha/224');\nexports.sha256 = require('./sha/256');\nexports.sha384 = require('./sha/384');\nexports.sha512 = require('./sha/512');\n","'use strict';\n\nvar utils = require('./utils');\nvar common = require('./common');\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_3 = utils.sum32_3;\nvar sum32_4 = utils.sum32_4;\nvar BlockHash = common.BlockHash;\n\nfunction RIPEMD160() {\n if (!(this instanceof RIPEMD160))\n return new RIPEMD160();\n\n BlockHash.call(this);\n\n this.h = [ 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0 ];\n this.endian = 'little';\n}\nutils.inherits(RIPEMD160, BlockHash);\nexports.ripemd160 = RIPEMD160;\n\nRIPEMD160.blockSize = 512;\nRIPEMD160.outSize = 160;\nRIPEMD160.hmacStrength = 192;\nRIPEMD160.padLength = 64;\n\nRIPEMD160.prototype._update = function update(msg, start) {\n var A = this.h[0];\n var B = this.h[1];\n var C = this.h[2];\n var D = this.h[3];\n var E = this.h[4];\n var Ah = A;\n var Bh = B;\n var Ch = C;\n var Dh = D;\n var Eh = E;\n for (var j = 0; j < 80; j++) {\n var T = sum32(\n rotl32(\n sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)),\n s[j]),\n E);\n A = E;\n E = D;\n D = rotl32(C, 10);\n C = B;\n B = T;\n T = sum32(\n rotl32(\n sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)),\n sh[j]),\n Eh);\n Ah = Eh;\n Eh = Dh;\n Dh = rotl32(Ch, 10);\n Ch = Bh;\n Bh = T;\n }\n T = sum32_3(this.h[1], C, Dh);\n this.h[1] = sum32_3(this.h[2], D, Eh);\n this.h[2] = sum32_3(this.h[3], E, Ah);\n this.h[3] = sum32_3(this.h[4], A, Bh);\n this.h[4] = sum32_3(this.h[0], B, Ch);\n this.h[0] = T;\n};\n\nRIPEMD160.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'little');\n else\n return utils.split32(this.h, 'little');\n};\n\nfunction f(j, x, y, z) {\n if (j <= 15)\n return x ^ y ^ z;\n else if (j <= 31)\n return (x & y) | ((~x) & z);\n else if (j <= 47)\n return (x | (~y)) ^ z;\n else if (j <= 63)\n return (x & z) | (y & (~z));\n else\n return x ^ (y | (~z));\n}\n\nfunction K(j) {\n if (j <= 15)\n return 0x00000000;\n else if (j <= 31)\n return 0x5a827999;\n else if (j <= 47)\n return 0x6ed9eba1;\n else if (j <= 63)\n return 0x8f1bbcdc;\n else\n return 0xa953fd4e;\n}\n\nfunction Kh(j) {\n if (j <= 15)\n return 0x50a28be6;\n else if (j <= 31)\n return 0x5c4dd124;\n else if (j <= 47)\n return 0x6d703ef3;\n else if (j <= 63)\n return 0x7a6d76e9;\n else\n return 0x00000000;\n}\n\nvar r = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n];\n\nvar rh = [\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n];\n\nvar s = [\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n];\n\nvar sh = [\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n];\n","'use strict';\n\nvar utils = require('./utils');\nvar assert = require('minimalistic-assert');\n\nfunction Hmac(hash, key, enc) {\n if (!(this instanceof Hmac))\n return new Hmac(hash, key, enc);\n this.Hash = hash;\n this.blockSize = hash.blockSize / 8;\n this.outSize = hash.outSize / 8;\n this.inner = null;\n this.outer = null;\n\n this._init(utils.toArray(key, enc));\n}\nmodule.exports = Hmac;\n\nHmac.prototype._init = function init(key) {\n // Shorten key, if needed\n if (key.length > this.blockSize)\n key = new this.Hash().update(key).digest();\n assert(key.length <= this.blockSize);\n\n // Add padding to key\n for (var i = key.length; i < this.blockSize; i++)\n key.push(0);\n\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x36;\n this.inner = new this.Hash().update(key);\n\n // 0x36 ^ 0x5c = 0x6a\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x6a;\n this.outer = new this.Hash().update(key);\n};\n\nHmac.prototype.update = function update(msg, enc) {\n this.inner.update(msg, enc);\n return this;\n};\n\nHmac.prototype.digest = function digest(enc) {\n this.outer.update(this.inner.digest());\n return this.outer.digest(enc);\n};\n","var hash = exports;\n\nhash.utils = require('./hash/utils');\nhash.common = require('./hash/common');\nhash.sha = require('./hash/sha');\nhash.ripemd = require('./hash/ripemd');\nhash.hmac = require('./hash/hmac');\n\n// Proxy hash functions to the main object\nhash.sha1 = hash.sha.sha1;\nhash.sha256 = hash.sha.sha256;\nhash.sha224 = hash.sha.sha224;\nhash.sha384 = hash.sha.sha384;\nhash.sha512 = hash.sha.sha512;\nhash.ripemd160 = hash.ripemd.ripemd160;\n","module.exports = {\n doubles: {\n step: 4,\n points: [\n [\n 'e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a',\n 'f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821',\n ],\n [\n '8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508',\n '11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf',\n ],\n [\n '175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739',\n 'd3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695',\n ],\n [\n '363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640',\n '4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9',\n ],\n [\n '8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c',\n '4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36',\n ],\n [\n '723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda',\n '96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f',\n ],\n [\n 'eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa',\n '5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999',\n ],\n [\n '100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0',\n 'cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09',\n ],\n [\n 'e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d',\n '9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d',\n ],\n [\n 'feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d',\n 'e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088',\n ],\n [\n 'da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1',\n '9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d',\n ],\n [\n '53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0',\n '5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8',\n ],\n [\n '8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047',\n '10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a',\n ],\n [\n '385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862',\n '283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453',\n ],\n [\n '6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7',\n '7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160',\n ],\n [\n '3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd',\n '56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0',\n ],\n [\n '85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83',\n '7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6',\n ],\n [\n '948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a',\n '53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589',\n ],\n [\n '6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8',\n 'bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17',\n ],\n [\n 'e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d',\n '4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda',\n ],\n [\n 'e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725',\n '7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd',\n ],\n [\n '213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754',\n '4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2',\n ],\n [\n '4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c',\n '17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6',\n ],\n [\n 'fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6',\n '6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f',\n ],\n [\n '76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39',\n 'c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01',\n ],\n [\n 'c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891',\n '893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3',\n ],\n [\n 'd895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b',\n 'febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f',\n ],\n [\n 'b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03',\n '2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7',\n ],\n [\n 'e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d',\n 'eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78',\n ],\n [\n 'a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070',\n '7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1',\n ],\n [\n '90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4',\n 'e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150',\n ],\n [\n '8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da',\n '662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82',\n ],\n [\n 'e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11',\n '1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc',\n ],\n [\n '8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e',\n 'efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b',\n ],\n [\n 'e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41',\n '2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51',\n ],\n [\n 'b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef',\n '67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45',\n ],\n [\n 'd68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8',\n 'db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120',\n ],\n [\n '324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d',\n '648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84',\n ],\n [\n '4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96',\n '35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d',\n ],\n [\n '9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd',\n 'ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d',\n ],\n [\n '6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5',\n '9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8',\n ],\n [\n 'a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266',\n '40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8',\n ],\n [\n '7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71',\n '34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac',\n ],\n [\n '928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac',\n 'c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f',\n ],\n [\n '85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751',\n '1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962',\n ],\n [\n 'ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e',\n '493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907',\n ],\n [\n '827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241',\n 'c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec',\n ],\n [\n 'eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3',\n 'be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d',\n ],\n [\n 'e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f',\n '4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414',\n ],\n [\n '1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19',\n 'aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd',\n ],\n [\n '146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be',\n 'b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0',\n ],\n [\n 'fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9',\n '6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811',\n ],\n [\n 'da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2',\n '8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1',\n ],\n [\n 'a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13',\n '7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c',\n ],\n [\n '174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c',\n 'ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73',\n ],\n [\n '959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba',\n '2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd',\n ],\n [\n 'd2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151',\n 'e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405',\n ],\n [\n '64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073',\n 'd99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589',\n ],\n [\n '8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458',\n '38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e',\n ],\n [\n '13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b',\n '69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27',\n ],\n [\n 'bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366',\n 'd3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1',\n ],\n [\n '8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa',\n '40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482',\n ],\n [\n '8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0',\n '620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945',\n ],\n [\n 'dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787',\n '7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573',\n ],\n [\n 'f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e',\n 'ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82',\n ],\n ],\n },\n naf: {\n wnd: 7,\n points: [\n [\n 'f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9',\n '388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672',\n ],\n [\n '2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4',\n 'd8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6',\n ],\n [\n '5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc',\n '6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da',\n ],\n [\n 'acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe',\n 'cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37',\n ],\n [\n '774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb',\n 'd984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b',\n ],\n [\n 'f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8',\n 'ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81',\n ],\n [\n 'd7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e',\n '581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58',\n ],\n [\n 'defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34',\n '4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77',\n ],\n [\n '2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c',\n '85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a',\n ],\n [\n '352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5',\n '321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c',\n ],\n [\n '2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f',\n '2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67',\n ],\n [\n '9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714',\n '73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402',\n ],\n [\n 'daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729',\n 'a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55',\n ],\n [\n 'c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db',\n '2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482',\n ],\n [\n '6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4',\n 'e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82',\n ],\n [\n '1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5',\n 'b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396',\n ],\n [\n '605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479',\n '2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49',\n ],\n [\n '62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d',\n '80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf',\n ],\n [\n '80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f',\n '1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a',\n ],\n [\n '7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb',\n 'd0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7',\n ],\n [\n 'd528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9',\n 'eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933',\n ],\n [\n '49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963',\n '758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a',\n ],\n [\n '77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74',\n '958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6',\n ],\n [\n 'f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530',\n 'e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37',\n ],\n [\n '463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b',\n '5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e',\n ],\n [\n 'f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247',\n 'cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6',\n ],\n [\n 'caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1',\n 'cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476',\n ],\n [\n '2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120',\n '4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40',\n ],\n [\n '7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435',\n '91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61',\n ],\n [\n '754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18',\n '673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683',\n ],\n [\n 'e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8',\n '59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5',\n ],\n [\n '186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb',\n '3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b',\n ],\n [\n 'df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f',\n '55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417',\n ],\n [\n '5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143',\n 'efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868',\n ],\n [\n '290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba',\n 'e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a',\n ],\n [\n 'af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45',\n 'f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6',\n ],\n [\n '766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a',\n '744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996',\n ],\n [\n '59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e',\n 'c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e',\n ],\n [\n 'f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8',\n 'e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d',\n ],\n [\n '7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c',\n '30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2',\n ],\n [\n '948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519',\n 'e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e',\n ],\n [\n '7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab',\n '100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437',\n ],\n [\n '3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca',\n 'ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311',\n ],\n [\n 'd3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf',\n '8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4',\n ],\n [\n '1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610',\n '68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575',\n ],\n [\n '733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4',\n 'f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d',\n ],\n [\n '15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c',\n 'd56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d',\n ],\n [\n 'a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940',\n 'edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629',\n ],\n [\n 'e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980',\n 'a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06',\n ],\n [\n '311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3',\n '66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374',\n ],\n [\n '34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf',\n '9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee',\n ],\n [\n 'f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63',\n '4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1',\n ],\n [\n 'd7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448',\n 'fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b',\n ],\n [\n '32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf',\n '5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661',\n ],\n [\n '7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5',\n '8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6',\n ],\n [\n 'ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6',\n '8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e',\n ],\n [\n '16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5',\n '5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d',\n ],\n [\n 'eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99',\n 'f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc',\n ],\n [\n '78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51',\n 'f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4',\n ],\n [\n '494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5',\n '42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c',\n ],\n [\n 'a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5',\n '204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b',\n ],\n [\n 'c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997',\n '4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913',\n ],\n [\n '841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881',\n '73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154',\n ],\n [\n '5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5',\n '39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865',\n ],\n [\n '36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66',\n 'd2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc',\n ],\n [\n '336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726',\n 'ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224',\n ],\n [\n '8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede',\n '6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e',\n ],\n [\n '1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94',\n '60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6',\n ],\n [\n '85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31',\n '3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511',\n ],\n [\n '29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51',\n 'b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b',\n ],\n [\n 'a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252',\n 'ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2',\n ],\n [\n '4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5',\n 'cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c',\n ],\n [\n 'd24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b',\n '6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3',\n ],\n [\n 'ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4',\n '322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d',\n ],\n [\n 'af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f',\n '6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700',\n ],\n [\n 'e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889',\n '2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4',\n ],\n [\n '591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246',\n 'b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196',\n ],\n [\n '11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984',\n '998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4',\n ],\n [\n '3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a',\n 'b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257',\n ],\n [\n 'cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030',\n 'bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13',\n ],\n [\n 'c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197',\n '6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096',\n ],\n [\n 'c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593',\n 'c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38',\n ],\n [\n 'a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef',\n '21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f',\n ],\n [\n '347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38',\n '60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448',\n ],\n [\n 'da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a',\n '49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a',\n ],\n [\n 'c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111',\n '5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4',\n ],\n [\n '4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502',\n '7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437',\n ],\n [\n '3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea',\n 'be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7',\n ],\n [\n 'cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26',\n '8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d',\n ],\n [\n 'b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986',\n '39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a',\n ],\n [\n 'd4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e',\n '62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54',\n ],\n [\n '48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4',\n '25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77',\n ],\n [\n 'dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda',\n 'ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517',\n ],\n [\n '6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859',\n 'cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10',\n ],\n [\n 'e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f',\n 'f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125',\n ],\n [\n 'eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c',\n '6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e',\n ],\n [\n '13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942',\n 'fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1',\n ],\n [\n 'ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a',\n '1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2',\n ],\n [\n 'b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80',\n '5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423',\n ],\n [\n 'ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d',\n '438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8',\n ],\n [\n '8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1',\n 'cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758',\n ],\n [\n '52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63',\n 'c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375',\n ],\n [\n 'e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352',\n '6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d',\n ],\n [\n '7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193',\n 'ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec',\n ],\n [\n '5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00',\n '9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0',\n ],\n [\n '32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58',\n 'ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c',\n ],\n [\n 'e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7',\n 'd3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4',\n ],\n [\n '8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8',\n 'c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f',\n ],\n [\n '4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e',\n '67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649',\n ],\n [\n '3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d',\n 'cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826',\n ],\n [\n '674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b',\n '299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5',\n ],\n [\n 'd32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f',\n 'f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87',\n ],\n [\n '30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6',\n '462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b',\n ],\n [\n 'be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297',\n '62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc',\n ],\n [\n '93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a',\n '7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c',\n ],\n [\n 'b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c',\n 'ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f',\n ],\n [\n 'd5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52',\n '4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a',\n ],\n [\n 'd3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb',\n 'bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46',\n ],\n [\n '463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065',\n 'bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f',\n ],\n [\n '7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917',\n '603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03',\n ],\n [\n '74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9',\n 'cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08',\n ],\n [\n '30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3',\n '553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8',\n ],\n [\n '9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57',\n '712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373',\n ],\n [\n '176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66',\n 'ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3',\n ],\n [\n '75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8',\n '9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8',\n ],\n [\n '809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721',\n '9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1',\n ],\n [\n '1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180',\n '4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9',\n ],\n ],\n },\n};\n","'use strict';\n\nvar curves = exports;\n\nvar hash = require('hash.js');\nvar curve = require('./curve');\nvar utils = require('./utils');\n\nvar assert = utils.assert;\n\nfunction PresetCurve(options) {\n if (options.type === 'short')\n this.curve = new curve.short(options);\n else if (options.type === 'edwards')\n this.curve = new curve.edwards(options);\n else\n this.curve = new curve.mont(options);\n this.g = this.curve.g;\n this.n = this.curve.n;\n this.hash = options.hash;\n\n assert(this.g.validate(), 'Invalid curve');\n assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O');\n}\ncurves.PresetCurve = PresetCurve;\n\nfunction defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n get: function() {\n var curve = new PresetCurve(options);\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n value: curve,\n });\n return curve;\n },\n });\n}\n\ndefineCurve('p192', {\n type: 'short',\n prime: 'p192',\n p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc',\n b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1',\n n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831',\n hash: hash.sha256,\n gRed: false,\n g: [\n '188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012',\n '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811',\n ],\n});\n\ndefineCurve('p224', {\n type: 'short',\n prime: 'p224',\n p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe',\n b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4',\n n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d',\n hash: hash.sha256,\n gRed: false,\n g: [\n 'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21',\n 'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34',\n ],\n});\n\ndefineCurve('p256', {\n type: 'short',\n prime: null,\n p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff',\n a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc',\n b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b',\n n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551',\n hash: hash.sha256,\n gRed: false,\n g: [\n '6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296',\n '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5',\n ],\n});\n\ndefineCurve('p384', {\n type: 'short',\n prime: null,\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 ffffffff',\n a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 fffffffc',\n b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' +\n '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef',\n n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' +\n 'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973',\n hash: hash.sha384,\n gRed: false,\n g: [\n 'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' +\n '5502f25d bf55296c 3a545e38 72760ab7',\n '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' +\n '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f',\n ],\n});\n\ndefineCurve('p521', {\n type: 'short',\n prime: null,\n p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff',\n a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff fffffffc',\n b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' +\n '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' +\n '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00',\n n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' +\n 'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409',\n hash: hash.sha512,\n gRed: false,\n g: [\n '000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' +\n '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' +\n 'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66',\n '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' +\n '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' +\n '3fad0761 353c7086 a272c240 88be9476 9fd16650',\n ],\n});\n\ndefineCurve('curve25519', {\n type: 'mont',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '76d06',\n b: '1',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '9',\n ],\n});\n\ndefineCurve('ed25519', {\n type: 'edwards',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '-1',\n c: '1',\n // -121665 * (121666^(-1)) (mod P)\n d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a',\n\n // 4/5\n '6666666666666666666666666666666666666666666666666666666666666658',\n ],\n});\n\nvar pre;\ntry {\n pre = require('./precomputed/secp256k1');\n} catch (e) {\n pre = undefined;\n}\n\ndefineCurve('secp256k1', {\n type: 'short',\n prime: 'k256',\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f',\n a: '0',\n b: '7',\n n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141',\n h: '1',\n hash: hash.sha256,\n\n // Precomputed endomorphism\n beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee',\n lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72',\n basis: [\n {\n a: '3086d221a7d46bcde86c90e49284eb15',\n b: '-e4437ed6010e88286f547fa90abfe4c3',\n },\n {\n a: '114ca50f7a8e2f3f657c1108d9d44cfd8',\n b: '3086d221a7d46bcde86c90e49284eb15',\n },\n ],\n\n gRed: false,\n g: [\n '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',\n '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',\n pre,\n ],\n});\n","'use strict';\n\nvar hash = require('hash.js');\nvar utils = require('minimalistic-crypto-utils');\nvar assert = require('minimalistic-assert');\n\nfunction HmacDRBG(options) {\n if (!(this instanceof HmacDRBG))\n return new HmacDRBG(options);\n this.hash = options.hash;\n this.predResist = !!options.predResist;\n\n this.outLen = this.hash.outSize;\n this.minEntropy = options.minEntropy || this.hash.hmacStrength;\n\n this._reseed = null;\n this.reseedInterval = null;\n this.K = null;\n this.V = null;\n\n var entropy = utils.toArray(options.entropy, options.entropyEnc || 'hex');\n var nonce = utils.toArray(options.nonce, options.nonceEnc || 'hex');\n var pers = utils.toArray(options.pers, options.persEnc || 'hex');\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n this._init(entropy, nonce, pers);\n}\nmodule.exports = HmacDRBG;\n\nHmacDRBG.prototype._init = function init(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n\n this.K = new Array(this.outLen / 8);\n this.V = new Array(this.outLen / 8);\n for (var i = 0; i < this.V.length; i++) {\n this.K[i] = 0x00;\n this.V[i] = 0x01;\n }\n\n this._update(seed);\n this._reseed = 1;\n this.reseedInterval = 0x1000000000000; // 2^48\n};\n\nHmacDRBG.prototype._hmac = function hmac() {\n return new hash.hmac(this.hash, this.K);\n};\n\nHmacDRBG.prototype._update = function update(seed) {\n var kmac = this._hmac()\n .update(this.V)\n .update([ 0x00 ]);\n if (seed)\n kmac = kmac.update(seed);\n this.K = kmac.digest();\n this.V = this._hmac().update(this.V).digest();\n if (!seed)\n return;\n\n this.K = this._hmac()\n .update(this.V)\n .update([ 0x01 ])\n .update(seed)\n .digest();\n this.V = this._hmac().update(this.V).digest();\n};\n\nHmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) {\n // Optional entropy enc\n if (typeof entropyEnc !== 'string') {\n addEnc = add;\n add = entropyEnc;\n entropyEnc = null;\n }\n\n entropy = utils.toArray(entropy, entropyEnc);\n add = utils.toArray(add, addEnc);\n\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n\n this._update(entropy.concat(add || []));\n this._reseed = 1;\n};\n\nHmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) {\n if (this._reseed > this.reseedInterval)\n throw new Error('Reseed is required');\n\n // Optional encoding\n if (typeof enc !== 'string') {\n addEnc = add;\n add = enc;\n enc = null;\n }\n\n // Optional additional data\n if (add) {\n add = utils.toArray(add, addEnc || 'hex');\n this._update(add);\n }\n\n var temp = [];\n while (temp.length < len) {\n this.V = this._hmac().update(this.V).digest();\n temp = temp.concat(this.V);\n }\n\n var res = temp.slice(0, len);\n this._update(add);\n this._reseed++;\n return utils.encode(res, enc);\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction KeyPair(ec, options) {\n this.ec = ec;\n this.priv = null;\n this.pub = null;\n\n // KeyPair(ec, { priv: ..., pub: ... })\n if (options.priv)\n this._importPrivate(options.priv, options.privEnc);\n if (options.pub)\n this._importPublic(options.pub, options.pubEnc);\n}\nmodule.exports = KeyPair;\n\nKeyPair.fromPublic = function fromPublic(ec, pub, enc) {\n if (pub instanceof KeyPair)\n return pub;\n\n return new KeyPair(ec, {\n pub: pub,\n pubEnc: enc,\n });\n};\n\nKeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {\n if (priv instanceof KeyPair)\n return priv;\n\n return new KeyPair(ec, {\n priv: priv,\n privEnc: enc,\n });\n};\n\nKeyPair.prototype.validate = function validate() {\n var pub = this.getPublic();\n\n if (pub.isInfinity())\n return { result: false, reason: 'Invalid public key' };\n if (!pub.validate())\n return { result: false, reason: 'Public key is not a point' };\n if (!pub.mul(this.ec.curve.n).isInfinity())\n return { result: false, reason: 'Public key * N != O' };\n\n return { result: true, reason: null };\n};\n\nKeyPair.prototype.getPublic = function getPublic(compact, enc) {\n // compact is optional argument\n if (typeof compact === 'string') {\n enc = compact;\n compact = null;\n }\n\n if (!this.pub)\n this.pub = this.ec.g.mul(this.priv);\n\n if (!enc)\n return this.pub;\n\n return this.pub.encode(enc, compact);\n};\n\nKeyPair.prototype.getPrivate = function getPrivate(enc) {\n if (enc === 'hex')\n return this.priv.toString(16, 2);\n else\n return this.priv;\n};\n\nKeyPair.prototype._importPrivate = function _importPrivate(key, enc) {\n this.priv = new BN(key, enc || 16);\n\n // Ensure that the priv won't be bigger than n, otherwise we may fail\n // in fixed multiplication method\n this.priv = this.priv.umod(this.ec.curve.n);\n};\n\nKeyPair.prototype._importPublic = function _importPublic(key, enc) {\n if (key.x || key.y) {\n // Montgomery points only have an `x` coordinate.\n // Weierstrass/Edwards points on the other hand have both `x` and\n // `y` coordinates.\n if (this.ec.curve.type === 'mont') {\n assert(key.x, 'Need x coordinate');\n } else if (this.ec.curve.type === 'short' ||\n this.ec.curve.type === 'edwards') {\n assert(key.x && key.y, 'Need both x and y coordinate');\n }\n this.pub = this.ec.curve.point(key.x, key.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key, enc);\n};\n\n// ECDH\nKeyPair.prototype.derive = function derive(pub) {\n if(!pub.validate()) {\n assert(pub.validate(), 'public point not validated');\n }\n return pub.mul(this.priv).getX();\n};\n\n// ECDSA\nKeyPair.prototype.sign = function sign(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n};\n\nKeyPair.prototype.verify = function verify(msg, signature) {\n return this.ec.verify(msg, signature, this);\n};\n\nKeyPair.prototype.inspect = function inspect() {\n return '';\n};\n","'use strict';\n\nvar BN = require('bn.js');\n\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction Signature(options, enc) {\n if (options instanceof Signature)\n return options;\n\n if (this._importDER(options, enc))\n return;\n\n assert(options.r && options.s, 'Signature without r or s');\n this.r = new BN(options.r, 16);\n this.s = new BN(options.s, 16);\n if (options.recoveryParam === undefined)\n this.recoveryParam = null;\n else\n this.recoveryParam = options.recoveryParam;\n}\nmodule.exports = Signature;\n\nfunction Position() {\n this.place = 0;\n}\n\nfunction getLength(buf, p) {\n var initial = buf[p.place++];\n if (!(initial & 0x80)) {\n return initial;\n }\n var octetLen = initial & 0xf;\n\n // Indefinite length or overflow\n if (octetLen === 0 || octetLen > 4) {\n return false;\n }\n\n var val = 0;\n for (var i = 0, off = p.place; i < octetLen; i++, off++) {\n val <<= 8;\n val |= buf[off];\n val >>>= 0;\n }\n\n // Leading zeroes\n if (val <= 0x7f) {\n return false;\n }\n\n p.place = off;\n return val;\n}\n\nfunction rmPadding(buf) {\n var i = 0;\n var len = buf.length - 1;\n while (!buf[i] && !(buf[i + 1] & 0x80) && i < len) {\n i++;\n }\n if (i === 0) {\n return buf;\n }\n return buf.slice(i);\n}\n\nSignature.prototype._importDER = function _importDER(data, enc) {\n data = utils.toArray(data, enc);\n var p = new Position();\n if (data[p.place++] !== 0x30) {\n return false;\n }\n var len = getLength(data, p);\n if (len === false) {\n return false;\n }\n if ((len + p.place) !== data.length) {\n return false;\n }\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var rlen = getLength(data, p);\n if (rlen === false) {\n return false;\n }\n var r = data.slice(p.place, rlen + p.place);\n p.place += rlen;\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var slen = getLength(data, p);\n if (slen === false) {\n return false;\n }\n if (data.length !== slen + p.place) {\n return false;\n }\n var s = data.slice(p.place, slen + p.place);\n if (r[0] === 0) {\n if (r[1] & 0x80) {\n r = r.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n if (s[0] === 0) {\n if (s[1] & 0x80) {\n s = s.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n\n this.r = new BN(r);\n this.s = new BN(s);\n this.recoveryParam = null;\n\n return true;\n};\n\nfunction constructLength(arr, len) {\n if (len < 0x80) {\n arr.push(len);\n return;\n }\n var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);\n arr.push(octets | 0x80);\n while (--octets) {\n arr.push((len >>> (octets << 3)) & 0xff);\n }\n arr.push(len);\n}\n\nSignature.prototype.toDER = function toDER(enc) {\n var r = this.r.toArray();\n var s = this.s.toArray();\n\n // Pad values\n if (r[0] & 0x80)\n r = [ 0 ].concat(r);\n // Pad values\n if (s[0] & 0x80)\n s = [ 0 ].concat(s);\n\n r = rmPadding(r);\n s = rmPadding(s);\n\n while (!s[0] && !(s[1] & 0x80)) {\n s = s.slice(1);\n }\n var arr = [ 0x02 ];\n constructLength(arr, r.length);\n arr = arr.concat(r);\n arr.push(0x02);\n constructLength(arr, s.length);\n var backHalf = arr.concat(s);\n var res = [ 0x30 ];\n constructLength(res, backHalf.length);\n res = res.concat(backHalf);\n return utils.encode(res, enc);\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar HmacDRBG = require('hmac-drbg');\nvar utils = require('../utils');\nvar curves = require('../curves');\nvar rand = require('brorand');\nvar assert = utils.assert;\n\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EC(options) {\n if (!(this instanceof EC))\n return new EC(options);\n\n // Shortcut `elliptic.ec(curve-name)`\n if (typeof options === 'string') {\n assert(Object.prototype.hasOwnProperty.call(curves, options),\n 'Unknown curve ' + options);\n\n options = curves[options];\n }\n\n // Shortcut for `elliptic.ec(elliptic.curves.curveName)`\n if (options instanceof curves.PresetCurve)\n options = { curve: options };\n\n this.curve = options.curve.curve;\n this.n = this.curve.n;\n this.nh = this.n.ushrn(1);\n this.g = this.curve.g;\n\n // Point on curve\n this.g = options.curve.g;\n this.g.precompute(options.curve.n.bitLength() + 1);\n\n // Hash for function for DRBG\n this.hash = options.hash || options.curve.hash;\n}\nmodule.exports = EC;\n\nEC.prototype.keyPair = function keyPair(options) {\n return new KeyPair(this, options);\n};\n\nEC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) {\n return KeyPair.fromPrivate(this, priv, enc);\n};\n\nEC.prototype.keyFromPublic = function keyFromPublic(pub, enc) {\n return KeyPair.fromPublic(this, pub, enc);\n};\n\nEC.prototype.genKeyPair = function genKeyPair(options) {\n if (!options)\n options = {};\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n entropy: options.entropy || rand(this.hash.hmacStrength),\n entropyEnc: options.entropy && options.entropyEnc || 'utf8',\n nonce: this.n.toArray(),\n });\n\n var bytes = this.n.byteLength();\n var ns2 = this.n.sub(new BN(2));\n for (;;) {\n var priv = new BN(drbg.generate(bytes));\n if (priv.cmp(ns2) > 0)\n continue;\n\n priv.iaddn(1);\n return this.keyFromPrivate(priv);\n }\n};\n\nEC.prototype._truncateToN = function _truncateToN(msg, truncOnly) {\n var delta = msg.byteLength() * 8 - this.n.bitLength();\n if (delta > 0)\n msg = msg.ushrn(delta);\n if (!truncOnly && msg.cmp(this.n) >= 0)\n return msg.sub(this.n);\n else\n return msg;\n};\n\nEC.prototype.sign = function sign(msg, key, enc, options) {\n if (typeof enc === 'object') {\n options = enc;\n enc = null;\n }\n if (!options)\n options = {};\n\n key = this.keyFromPrivate(key, enc);\n msg = this._truncateToN(new BN(msg, 16));\n\n // Zero-extend key to provide enough entropy\n var bytes = this.n.byteLength();\n var bkey = key.getPrivate().toArray('be', bytes);\n\n // Zero-extend nonce to have the same byte size as N\n var nonce = msg.toArray('be', bytes);\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n entropy: bkey,\n nonce: nonce,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n });\n\n // Number of bytes to generate\n var ns1 = this.n.sub(new BN(1));\n\n for (var iter = 0; ; iter++) {\n var k = options.k ?\n options.k(iter) :\n new BN(drbg.generate(this.n.byteLength()));\n k = this._truncateToN(k, true);\n if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0)\n continue;\n\n var kp = this.g.mul(k);\n if (kp.isInfinity())\n continue;\n\n var kpX = kp.getX();\n var r = kpX.umod(this.n);\n if (r.cmpn(0) === 0)\n continue;\n\n var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));\n s = s.umod(this.n);\n if (s.cmpn(0) === 0)\n continue;\n\n var recoveryParam = (kp.getY().isOdd() ? 1 : 0) |\n (kpX.cmp(r) !== 0 ? 2 : 0);\n\n // Use complement of `s`, if it is > `n / 2`\n if (options.canonical && s.cmp(this.nh) > 0) {\n s = this.n.sub(s);\n recoveryParam ^= 1;\n }\n\n return new Signature({ r: r, s: s, recoveryParam: recoveryParam });\n }\n};\n\nEC.prototype.verify = function verify(msg, signature, key, enc) {\n msg = this._truncateToN(new BN(msg, 16));\n key = this.keyFromPublic(key, enc);\n signature = new Signature(signature, 'hex');\n\n // Perform primitive values validation\n var r = signature.r;\n var s = signature.s;\n if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0)\n return false;\n if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0)\n return false;\n\n // Validate signature\n var sinv = s.invm(this.n);\n var u1 = sinv.mul(msg).umod(this.n);\n var u2 = sinv.mul(r).umod(this.n);\n var p;\n\n if (!this.curve._maxwellTrick) {\n p = this.g.mulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n return p.getX().umod(this.n).cmp(r) === 0;\n }\n\n // NOTE: Greg Maxwell's trick, inspired by:\n // https://git.io/vad3K\n\n p = this.g.jmulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n // Compare `p.x` of Jacobian point with `r`,\n // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the\n // inverse of `p.z^2`\n return p.eqXToP(r);\n};\n\nEC.prototype.recoverPubKey = function(msg, signature, j, enc) {\n assert((3 & j) === j, 'The recovery param is more than two bits');\n signature = new Signature(signature, enc);\n\n var n = this.n;\n var e = new BN(msg);\n var r = signature.r;\n var s = signature.s;\n\n // A set LSB signifies that the y-coordinate is odd\n var isYOdd = j & 1;\n var isSecondKey = j >> 1;\n if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)\n throw new Error('Unable to find sencond key candinate');\n\n // 1.1. Let x = r + jn.\n if (isSecondKey)\n r = this.curve.pointFromX(r.add(this.curve.n), isYOdd);\n else\n r = this.curve.pointFromX(r, isYOdd);\n\n var rInv = signature.r.invm(n);\n var s1 = n.sub(e).mul(rInv).umod(n);\n var s2 = s.mul(rInv).umod(n);\n\n // 1.6.1 Compute Q = r^-1 (sR - eG)\n // Q = r^-1 (sR + -eG)\n return this.g.mulAdd(s1, r, s2);\n};\n\nEC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {\n signature = new Signature(signature, enc);\n if (signature.recoveryParam !== null)\n return signature.recoveryParam;\n\n for (var i = 0; i < 4; i++) {\n var Qprime;\n try {\n Qprime = this.recoverPubKey(e, signature, i);\n } catch (e) {\n continue;\n }\n\n if (Qprime.eq(Q))\n return i;\n }\n throw new Error('Unable to find valid recovery factor');\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar cachedProperty = utils.cachedProperty;\n\n/**\n* @param {EDDSA} eddsa - instance\n* @param {Object} params - public/private key parameters\n*\n* @param {Array} [params.secret] - secret seed bytes\n* @param {Point} [params.pub] - public key point (aka `A` in eddsa terms)\n* @param {Array} [params.pub] - public key point encoded as bytes\n*\n*/\nfunction KeyPair(eddsa, params) {\n this.eddsa = eddsa;\n this._secret = parseBytes(params.secret);\n if (eddsa.isPoint(params.pub))\n this._pub = params.pub;\n else\n this._pubBytes = parseBytes(params.pub);\n}\n\nKeyPair.fromPublic = function fromPublic(eddsa, pub) {\n if (pub instanceof KeyPair)\n return pub;\n return new KeyPair(eddsa, { pub: pub });\n};\n\nKeyPair.fromSecret = function fromSecret(eddsa, secret) {\n if (secret instanceof KeyPair)\n return secret;\n return new KeyPair(eddsa, { secret: secret });\n};\n\nKeyPair.prototype.secret = function secret() {\n return this._secret;\n};\n\ncachedProperty(KeyPair, 'pubBytes', function pubBytes() {\n return this.eddsa.encodePoint(this.pub());\n});\n\ncachedProperty(KeyPair, 'pub', function pub() {\n if (this._pubBytes)\n return this.eddsa.decodePoint(this._pubBytes);\n return this.eddsa.g.mul(this.priv());\n});\n\ncachedProperty(KeyPair, 'privBytes', function privBytes() {\n var eddsa = this.eddsa;\n var hash = this.hash();\n var lastIx = eddsa.encodingLength - 1;\n\n var a = hash.slice(0, eddsa.encodingLength);\n a[0] &= 248;\n a[lastIx] &= 127;\n a[lastIx] |= 64;\n\n return a;\n});\n\ncachedProperty(KeyPair, 'priv', function priv() {\n return this.eddsa.decodeInt(this.privBytes());\n});\n\ncachedProperty(KeyPair, 'hash', function hash() {\n return this.eddsa.hash().update(this.secret()).digest();\n});\n\ncachedProperty(KeyPair, 'messagePrefix', function messagePrefix() {\n return this.hash().slice(this.eddsa.encodingLength);\n});\n\nKeyPair.prototype.sign = function sign(message) {\n assert(this._secret, 'KeyPair can only verify');\n return this.eddsa.sign(message, this);\n};\n\nKeyPair.prototype.verify = function verify(message, sig) {\n return this.eddsa.verify(message, sig, this);\n};\n\nKeyPair.prototype.getSecret = function getSecret(enc) {\n assert(this._secret, 'KeyPair is public only');\n return utils.encode(this.secret(), enc);\n};\n\nKeyPair.prototype.getPublic = function getPublic(enc) {\n return utils.encode(this.pubBytes(), enc);\n};\n\nmodule.exports = KeyPair;\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar cachedProperty = utils.cachedProperty;\nvar parseBytes = utils.parseBytes;\n\n/**\n* @param {EDDSA} eddsa - eddsa instance\n* @param {Array|Object} sig -\n* @param {Array|Point} [sig.R] - R point as Point or bytes\n* @param {Array|bn} [sig.S] - S scalar as bn or bytes\n* @param {Array} [sig.Rencoded] - R point encoded\n* @param {Array} [sig.Sencoded] - S scalar encoded\n*/\nfunction Signature(eddsa, sig) {\n this.eddsa = eddsa;\n\n if (typeof sig !== 'object')\n sig = parseBytes(sig);\n\n if (Array.isArray(sig)) {\n sig = {\n R: sig.slice(0, eddsa.encodingLength),\n S: sig.slice(eddsa.encodingLength),\n };\n }\n\n assert(sig.R && sig.S, 'Signature without R or S');\n\n if (eddsa.isPoint(sig.R))\n this._R = sig.R;\n if (sig.S instanceof BN)\n this._S = sig.S;\n\n this._Rencoded = Array.isArray(sig.R) ? sig.R : sig.Rencoded;\n this._Sencoded = Array.isArray(sig.S) ? sig.S : sig.Sencoded;\n}\n\ncachedProperty(Signature, 'S', function S() {\n return this.eddsa.decodeInt(this.Sencoded());\n});\n\ncachedProperty(Signature, 'R', function R() {\n return this.eddsa.decodePoint(this.Rencoded());\n});\n\ncachedProperty(Signature, 'Rencoded', function Rencoded() {\n return this.eddsa.encodePoint(this.R());\n});\n\ncachedProperty(Signature, 'Sencoded', function Sencoded() {\n return this.eddsa.encodeInt(this.S());\n});\n\nSignature.prototype.toBytes = function toBytes() {\n return this.Rencoded().concat(this.Sencoded());\n};\n\nSignature.prototype.toHex = function toHex() {\n return utils.encode(this.toBytes(), 'hex').toUpperCase();\n};\n\nmodule.exports = Signature;\n","'use strict';\n\nvar hash = require('hash.js');\nvar curves = require('../curves');\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EDDSA(curve) {\n assert(curve === 'ed25519', 'only tested with ed25519 so far');\n\n if (!(this instanceof EDDSA))\n return new EDDSA(curve);\n\n curve = curves[curve].curve;\n this.curve = curve;\n this.g = curve.g;\n this.g.precompute(curve.n.bitLength() + 1);\n\n this.pointClass = curve.point().constructor;\n this.encodingLength = Math.ceil(curve.n.bitLength() / 8);\n this.hash = hash.sha512;\n}\n\nmodule.exports = EDDSA;\n\n/**\n* @param {Array|String} message - message bytes\n* @param {Array|String|KeyPair} secret - secret bytes or a keypair\n* @returns {Signature} - signature\n*/\nEDDSA.prototype.sign = function sign(message, secret) {\n message = parseBytes(message);\n var key = this.keyFromSecret(secret);\n var r = this.hashInt(key.messagePrefix(), message);\n var R = this.g.mul(r);\n var Rencoded = this.encodePoint(R);\n var s_ = this.hashInt(Rencoded, key.pubBytes(), message)\n .mul(key.priv());\n var S = r.add(s_).umod(this.curve.n);\n return this.makeSignature({ R: R, S: S, Rencoded: Rencoded });\n};\n\n/**\n* @param {Array} message - message bytes\n* @param {Array|String|Signature} sig - sig bytes\n* @param {Array|String|Point|KeyPair} pub - public key\n* @returns {Boolean} - true if public key matches sig of message\n*/\nEDDSA.prototype.verify = function verify(message, sig, pub) {\n message = parseBytes(message);\n sig = this.makeSignature(sig);\n var key = this.keyFromPublic(pub);\n var h = this.hashInt(sig.Rencoded(), key.pubBytes(), message);\n var SG = this.g.mul(sig.S());\n var RplusAh = sig.R().add(key.pub().mul(h));\n return RplusAh.eq(SG);\n};\n\nEDDSA.prototype.hashInt = function hashInt() {\n var hash = this.hash();\n for (var i = 0; i < arguments.length; i++)\n hash.update(arguments[i]);\n return utils.intFromLE(hash.digest()).umod(this.curve.n);\n};\n\nEDDSA.prototype.keyFromPublic = function keyFromPublic(pub) {\n return KeyPair.fromPublic(this, pub);\n};\n\nEDDSA.prototype.keyFromSecret = function keyFromSecret(secret) {\n return KeyPair.fromSecret(this, secret);\n};\n\nEDDSA.prototype.makeSignature = function makeSignature(sig) {\n if (sig instanceof Signature)\n return sig;\n return new Signature(this, sig);\n};\n\n/**\n* * https://tools.ietf.org/html/draft-josefsson-eddsa-ed25519-03#section-5.2\n*\n* EDDSA defines methods for encoding and decoding points and integers. These are\n* helper convenience methods, that pass along to utility functions implied\n* parameters.\n*\n*/\nEDDSA.prototype.encodePoint = function encodePoint(point) {\n var enc = point.getY().toArray('le', this.encodingLength);\n enc[this.encodingLength - 1] |= point.getX().isOdd() ? 0x80 : 0;\n return enc;\n};\n\nEDDSA.prototype.decodePoint = function decodePoint(bytes) {\n bytes = utils.parseBytes(bytes);\n\n var lastIx = bytes.length - 1;\n var normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & ~0x80);\n var xIsOdd = (bytes[lastIx] & 0x80) !== 0;\n\n var y = utils.intFromLE(normed);\n return this.curve.pointFromY(y, xIsOdd);\n};\n\nEDDSA.prototype.encodeInt = function encodeInt(num) {\n return num.toArray('le', this.encodingLength);\n};\n\nEDDSA.prototype.decodeInt = function decodeInt(bytes) {\n return utils.intFromLE(bytes);\n};\n\nEDDSA.prototype.isPoint = function isPoint(val) {\n return val instanceof this.pointClass;\n};\n","'use strict';\n\nvar elliptic = exports;\n\nelliptic.version = require('../package.json').version;\nelliptic.utils = require('./elliptic/utils');\nelliptic.rand = require('brorand');\nelliptic.curve = require('./elliptic/curve');\nelliptic.curves = require('./elliptic/curves');\n\n// Protocols\nelliptic.ec = require('./elliptic/ec');\nelliptic.eddsa = require('./elliptic/eddsa');\n","/* eslint-disable node/no-deprecated-api */\n\n'use strict'\n\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\nvar safer = {}\n\nvar key\n\nfor (key in buffer) {\n if (!buffer.hasOwnProperty(key)) continue\n if (key === 'SlowBuffer' || key === 'Buffer') continue\n safer[key] = buffer[key]\n}\n\nvar Safer = safer.Buffer = {}\nfor (key in Buffer) {\n if (!Buffer.hasOwnProperty(key)) continue\n if (key === 'allocUnsafe' || key === 'allocUnsafeSlow') continue\n Safer[key] = Buffer[key]\n}\n\nsafer.Buffer.prototype = Buffer.prototype\n\nif (!Safer.from || Safer.from === Uint8Array.from) {\n Safer.from = function (value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('The \"value\" argument must not be of type number. Received type ' + typeof value)\n }\n if (value && typeof value.length === 'undefined') {\n throw new TypeError('The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type ' + typeof value)\n }\n return Buffer(value, encodingOrOffset, length)\n }\n}\n\nif (!Safer.alloc) {\n Safer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('The \"size\" argument must be of type number. Received type ' + typeof size)\n }\n if (size < 0 || size >= 2 * (1 << 30)) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n var buf = Buffer(size)\n if (!fill || fill.length === 0) {\n buf.fill(0)\n } else if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n return buf\n }\n}\n\nif (!safer.kStringMaxLength) {\n try {\n safer.kStringMaxLength = process.binding('buffer').kStringMaxLength\n } catch (e) {\n // we can't determine kStringMaxLength in environments where process.binding\n // is unsupported, so let's not set it\n }\n}\n\nif (!safer.constants) {\n safer.constants = {\n MAX_LENGTH: safer.kMaxLength\n }\n if (safer.kStringMaxLength) {\n safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength\n }\n}\n\nmodule.exports = safer\n","'use strict';\n\nconst inherits = require('inherits');\n\nfunction Reporter(options) {\n this._reporterState = {\n obj: null,\n path: [],\n options: options || {},\n errors: []\n };\n}\nexports.Reporter = Reporter;\n\nReporter.prototype.isError = function isError(obj) {\n return obj instanceof ReporterError;\n};\n\nReporter.prototype.save = function save() {\n const state = this._reporterState;\n\n return { obj: state.obj, pathLen: state.path.length };\n};\n\nReporter.prototype.restore = function restore(data) {\n const state = this._reporterState;\n\n state.obj = data.obj;\n state.path = state.path.slice(0, data.pathLen);\n};\n\nReporter.prototype.enterKey = function enterKey(key) {\n return this._reporterState.path.push(key);\n};\n\nReporter.prototype.exitKey = function exitKey(index) {\n const state = this._reporterState;\n\n state.path = state.path.slice(0, index - 1);\n};\n\nReporter.prototype.leaveKey = function leaveKey(index, key, value) {\n const state = this._reporterState;\n\n this.exitKey(index);\n if (state.obj !== null)\n state.obj[key] = value;\n};\n\nReporter.prototype.path = function path() {\n return this._reporterState.path.join('/');\n};\n\nReporter.prototype.enterObject = function enterObject() {\n const state = this._reporterState;\n\n const prev = state.obj;\n state.obj = {};\n return prev;\n};\n\nReporter.prototype.leaveObject = function leaveObject(prev) {\n const state = this._reporterState;\n\n const now = state.obj;\n state.obj = prev;\n return now;\n};\n\nReporter.prototype.error = function error(msg) {\n let err;\n const state = this._reporterState;\n\n const inherited = msg instanceof ReporterError;\n if (inherited) {\n err = msg;\n } else {\n err = new ReporterError(state.path.map(function(elem) {\n return '[' + JSON.stringify(elem) + ']';\n }).join(''), msg.message || msg, msg.stack);\n }\n\n if (!state.options.partial)\n throw err;\n\n if (!inherited)\n state.errors.push(err);\n\n return err;\n};\n\nReporter.prototype.wrapResult = function wrapResult(result) {\n const state = this._reporterState;\n if (!state.options.partial)\n return result;\n\n return {\n result: this.isError(result) ? null : result,\n errors: state.errors\n };\n};\n\nfunction ReporterError(path, msg) {\n this.path = path;\n this.rethrow(msg);\n}\ninherits(ReporterError, Error);\n\nReporterError.prototype.rethrow = function rethrow(msg) {\n this.message = msg + ' at: ' + (this.path || '(shallow)');\n if (Error.captureStackTrace)\n Error.captureStackTrace(this, ReporterError);\n\n if (!this.stack) {\n try {\n // IE only adds stack when thrown\n throw new Error(this.message);\n } catch (e) {\n this.stack = e.stack;\n }\n }\n return this;\n};\n","'use strict';\n\nconst inherits = require('inherits');\nconst Reporter = require('../base/reporter').Reporter;\nconst Buffer = require('safer-buffer').Buffer;\n\nfunction DecoderBuffer(base, options) {\n Reporter.call(this, options);\n if (!Buffer.isBuffer(base)) {\n this.error('Input not Buffer');\n return;\n }\n\n this.base = base;\n this.offset = 0;\n this.length = base.length;\n}\ninherits(DecoderBuffer, Reporter);\nexports.DecoderBuffer = DecoderBuffer;\n\nDecoderBuffer.isDecoderBuffer = function isDecoderBuffer(data) {\n if (data instanceof DecoderBuffer) {\n return true;\n }\n\n // Or accept compatible API\n const isCompatible = typeof data === 'object' &&\n Buffer.isBuffer(data.base) &&\n data.constructor.name === 'DecoderBuffer' &&\n typeof data.offset === 'number' &&\n typeof data.length === 'number' &&\n typeof data.save === 'function' &&\n typeof data.restore === 'function' &&\n typeof data.isEmpty === 'function' &&\n typeof data.readUInt8 === 'function' &&\n typeof data.skip === 'function' &&\n typeof data.raw === 'function';\n\n return isCompatible;\n};\n\nDecoderBuffer.prototype.save = function save() {\n return { offset: this.offset, reporter: Reporter.prototype.save.call(this) };\n};\n\nDecoderBuffer.prototype.restore = function restore(save) {\n // Return skipped data\n const res = new DecoderBuffer(this.base);\n res.offset = save.offset;\n res.length = this.offset;\n\n this.offset = save.offset;\n Reporter.prototype.restore.call(this, save.reporter);\n\n return res;\n};\n\nDecoderBuffer.prototype.isEmpty = function isEmpty() {\n return this.offset === this.length;\n};\n\nDecoderBuffer.prototype.readUInt8 = function readUInt8(fail) {\n if (this.offset + 1 <= this.length)\n return this.base.readUInt8(this.offset++, true);\n else\n return this.error(fail || 'DecoderBuffer overrun');\n};\n\nDecoderBuffer.prototype.skip = function skip(bytes, fail) {\n if (!(this.offset + bytes <= this.length))\n return this.error(fail || 'DecoderBuffer overrun');\n\n const res = new DecoderBuffer(this.base);\n\n // Share reporter state\n res._reporterState = this._reporterState;\n\n res.offset = this.offset;\n res.length = this.offset + bytes;\n this.offset += bytes;\n return res;\n};\n\nDecoderBuffer.prototype.raw = function raw(save) {\n return this.base.slice(save ? save.offset : this.offset, this.length);\n};\n\nfunction EncoderBuffer(value, reporter) {\n if (Array.isArray(value)) {\n this.length = 0;\n this.value = value.map(function(item) {\n if (!EncoderBuffer.isEncoderBuffer(item))\n item = new EncoderBuffer(item, reporter);\n this.length += item.length;\n return item;\n }, this);\n } else if (typeof value === 'number') {\n if (!(0 <= value && value <= 0xff))\n return reporter.error('non-byte EncoderBuffer value');\n this.value = value;\n this.length = 1;\n } else if (typeof value === 'string') {\n this.value = value;\n this.length = Buffer.byteLength(value);\n } else if (Buffer.isBuffer(value)) {\n this.value = value;\n this.length = value.length;\n } else {\n return reporter.error('Unsupported type: ' + typeof value);\n }\n}\nexports.EncoderBuffer = EncoderBuffer;\n\nEncoderBuffer.isEncoderBuffer = function isEncoderBuffer(data) {\n if (data instanceof EncoderBuffer) {\n return true;\n }\n\n // Or accept compatible API\n const isCompatible = typeof data === 'object' &&\n data.constructor.name === 'EncoderBuffer' &&\n typeof data.length === 'number' &&\n typeof data.join === 'function';\n\n return isCompatible;\n};\n\nEncoderBuffer.prototype.join = function join(out, offset) {\n if (!out)\n out = Buffer.alloc(this.length);\n if (!offset)\n offset = 0;\n\n if (this.length === 0)\n return out;\n\n if (Array.isArray(this.value)) {\n this.value.forEach(function(item) {\n item.join(out, offset);\n offset += item.length;\n });\n } else {\n if (typeof this.value === 'number')\n out[offset] = this.value;\n else if (typeof this.value === 'string')\n out.write(this.value, offset);\n else if (Buffer.isBuffer(this.value))\n this.value.copy(out, offset);\n offset += this.length;\n }\n\n return out;\n};\n","'use strict';\n\nconst Reporter = require('../base/reporter').Reporter;\nconst EncoderBuffer = require('../base/buffer').EncoderBuffer;\nconst DecoderBuffer = require('../base/buffer').DecoderBuffer;\nconst assert = require('minimalistic-assert');\n\n// Supported tags\nconst tags = [\n 'seq', 'seqof', 'set', 'setof', 'objid', 'bool',\n 'gentime', 'utctime', 'null_', 'enum', 'int', 'objDesc',\n 'bitstr', 'bmpstr', 'charstr', 'genstr', 'graphstr', 'ia5str', 'iso646str',\n 'numstr', 'octstr', 'printstr', 't61str', 'unistr', 'utf8str', 'videostr'\n];\n\n// Public methods list\nconst methods = [\n 'key', 'obj', 'use', 'optional', 'explicit', 'implicit', 'def', 'choice',\n 'any', 'contains'\n].concat(tags);\n\n// Overrided methods list\nconst overrided = [\n '_peekTag', '_decodeTag', '_use',\n '_decodeStr', '_decodeObjid', '_decodeTime',\n '_decodeNull', '_decodeInt', '_decodeBool', '_decodeList',\n\n '_encodeComposite', '_encodeStr', '_encodeObjid', '_encodeTime',\n '_encodeNull', '_encodeInt', '_encodeBool'\n];\n\nfunction Node(enc, parent, name) {\n const state = {};\n this._baseState = state;\n\n state.name = name;\n state.enc = enc;\n\n state.parent = parent || null;\n state.children = null;\n\n // State\n state.tag = null;\n state.args = null;\n state.reverseArgs = null;\n state.choice = null;\n state.optional = false;\n state.any = false;\n state.obj = false;\n state.use = null;\n state.useDecoder = null;\n state.key = null;\n state['default'] = null;\n state.explicit = null;\n state.implicit = null;\n state.contains = null;\n\n // Should create new instance on each method\n if (!state.parent) {\n state.children = [];\n this._wrap();\n }\n}\nmodule.exports = Node;\n\nconst stateProps = [\n 'enc', 'parent', 'children', 'tag', 'args', 'reverseArgs', 'choice',\n 'optional', 'any', 'obj', 'use', 'alteredUse', 'key', 'default', 'explicit',\n 'implicit', 'contains'\n];\n\nNode.prototype.clone = function clone() {\n const state = this._baseState;\n const cstate = {};\n stateProps.forEach(function(prop) {\n cstate[prop] = state[prop];\n });\n const res = new this.constructor(cstate.parent);\n res._baseState = cstate;\n return res;\n};\n\nNode.prototype._wrap = function wrap() {\n const state = this._baseState;\n methods.forEach(function(method) {\n this[method] = function _wrappedMethod() {\n const clone = new this.constructor(this);\n state.children.push(clone);\n return clone[method].apply(clone, arguments);\n };\n }, this);\n};\n\nNode.prototype._init = function init(body) {\n const state = this._baseState;\n\n assert(state.parent === null);\n body.call(this);\n\n // Filter children\n state.children = state.children.filter(function(child) {\n return child._baseState.parent === this;\n }, this);\n assert.equal(state.children.length, 1, 'Root node can have only one child');\n};\n\nNode.prototype._useArgs = function useArgs(args) {\n const state = this._baseState;\n\n // Filter children and args\n const children = args.filter(function(arg) {\n return arg instanceof this.constructor;\n }, this);\n args = args.filter(function(arg) {\n return !(arg instanceof this.constructor);\n }, this);\n\n if (children.length !== 0) {\n assert(state.children === null);\n state.children = children;\n\n // Replace parent to maintain backward link\n children.forEach(function(child) {\n child._baseState.parent = this;\n }, this);\n }\n if (args.length !== 0) {\n assert(state.args === null);\n state.args = args;\n state.reverseArgs = args.map(function(arg) {\n if (typeof arg !== 'object' || arg.constructor !== Object)\n return arg;\n\n const res = {};\n Object.keys(arg).forEach(function(key) {\n if (key == (key | 0))\n key |= 0;\n const value = arg[key];\n res[value] = key;\n });\n return res;\n });\n }\n};\n\n//\n// Overrided methods\n//\n\noverrided.forEach(function(method) {\n Node.prototype[method] = function _overrided() {\n const state = this._baseState;\n throw new Error(method + ' not implemented for encoding: ' + state.enc);\n };\n});\n\n//\n// Public methods\n//\n\ntags.forEach(function(tag) {\n Node.prototype[tag] = function _tagMethod() {\n const state = this._baseState;\n const args = Array.prototype.slice.call(arguments);\n\n assert(state.tag === null);\n state.tag = tag;\n\n this._useArgs(args);\n\n return this;\n };\n});\n\nNode.prototype.use = function use(item) {\n assert(item);\n const state = this._baseState;\n\n assert(state.use === null);\n state.use = item;\n\n return this;\n};\n\nNode.prototype.optional = function optional() {\n const state = this._baseState;\n\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.def = function def(val) {\n const state = this._baseState;\n\n assert(state['default'] === null);\n state['default'] = val;\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.explicit = function explicit(num) {\n const state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.explicit = num;\n\n return this;\n};\n\nNode.prototype.implicit = function implicit(num) {\n const state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.implicit = num;\n\n return this;\n};\n\nNode.prototype.obj = function obj() {\n const state = this._baseState;\n const args = Array.prototype.slice.call(arguments);\n\n state.obj = true;\n\n if (args.length !== 0)\n this._useArgs(args);\n\n return this;\n};\n\nNode.prototype.key = function key(newKey) {\n const state = this._baseState;\n\n assert(state.key === null);\n state.key = newKey;\n\n return this;\n};\n\nNode.prototype.any = function any() {\n const state = this._baseState;\n\n state.any = true;\n\n return this;\n};\n\nNode.prototype.choice = function choice(obj) {\n const state = this._baseState;\n\n assert(state.choice === null);\n state.choice = obj;\n this._useArgs(Object.keys(obj).map(function(key) {\n return obj[key];\n }));\n\n return this;\n};\n\nNode.prototype.contains = function contains(item) {\n const state = this._baseState;\n\n assert(state.use === null);\n state.contains = item;\n\n return this;\n};\n\n//\n// Decoding\n//\n\nNode.prototype._decode = function decode(input, options) {\n const state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return input.wrapResult(state.children[0]._decode(input, options));\n\n let result = state['default'];\n let present = true;\n\n let prevKey = null;\n if (state.key !== null)\n prevKey = input.enterKey(state.key);\n\n // Check if tag is there\n if (state.optional) {\n let tag = null;\n if (state.explicit !== null)\n tag = state.explicit;\n else if (state.implicit !== null)\n tag = state.implicit;\n else if (state.tag !== null)\n tag = state.tag;\n\n if (tag === null && !state.any) {\n // Trial and Error\n const save = input.save();\n try {\n if (state.choice === null)\n this._decodeGeneric(state.tag, input, options);\n else\n this._decodeChoice(input, options);\n present = true;\n } catch (e) {\n present = false;\n }\n input.restore(save);\n } else {\n present = this._peekTag(input, tag, state.any);\n\n if (input.isError(present))\n return present;\n }\n }\n\n // Push object on stack\n let prevObj;\n if (state.obj && present)\n prevObj = input.enterObject();\n\n if (present) {\n // Unwrap explicit values\n if (state.explicit !== null) {\n const explicit = this._decodeTag(input, state.explicit);\n if (input.isError(explicit))\n return explicit;\n input = explicit;\n }\n\n const start = input.offset;\n\n // Unwrap implicit and normal values\n if (state.use === null && state.choice === null) {\n let save;\n if (state.any)\n save = input.save();\n const body = this._decodeTag(\n input,\n state.implicit !== null ? state.implicit : state.tag,\n state.any\n );\n if (input.isError(body))\n return body;\n\n if (state.any)\n result = input.raw(save);\n else\n input = body;\n }\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), start, input.length, 'tagged');\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), input.offset, input.length, 'content');\n\n // Select proper method for tag\n if (state.any) {\n // no-op\n } else if (state.choice === null) {\n result = this._decodeGeneric(state.tag, input, options);\n } else {\n result = this._decodeChoice(input, options);\n }\n\n if (input.isError(result))\n return result;\n\n // Decode children\n if (!state.any && state.choice === null && state.children !== null) {\n state.children.forEach(function decodeChildren(child) {\n // NOTE: We are ignoring errors here, to let parser continue with other\n // parts of encoded data\n child._decode(input, options);\n });\n }\n\n // Decode contained/encoded by schema, only in bit or octet strings\n if (state.contains && (state.tag === 'octstr' || state.tag === 'bitstr')) {\n const data = new DecoderBuffer(result);\n result = this._getUse(state.contains, input._reporterState.obj)\n ._decode(data, options);\n }\n }\n\n // Pop object\n if (state.obj && present)\n result = input.leaveObject(prevObj);\n\n // Set key\n if (state.key !== null && (result !== null || present === true))\n input.leaveKey(prevKey, state.key, result);\n else if (prevKey !== null)\n input.exitKey(prevKey);\n\n return result;\n};\n\nNode.prototype._decodeGeneric = function decodeGeneric(tag, input, options) {\n const state = this._baseState;\n\n if (tag === 'seq' || tag === 'set')\n return null;\n if (tag === 'seqof' || tag === 'setof')\n return this._decodeList(input, tag, state.args[0], options);\n else if (/str$/.test(tag))\n return this._decodeStr(input, tag, options);\n else if (tag === 'objid' && state.args)\n return this._decodeObjid(input, state.args[0], state.args[1], options);\n else if (tag === 'objid')\n return this._decodeObjid(input, null, null, options);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._decodeTime(input, tag, options);\n else if (tag === 'null_')\n return this._decodeNull(input, options);\n else if (tag === 'bool')\n return this._decodeBool(input, options);\n else if (tag === 'objDesc')\n return this._decodeStr(input, tag, options);\n else if (tag === 'int' || tag === 'enum')\n return this._decodeInt(input, state.args && state.args[0], options);\n\n if (state.use !== null) {\n return this._getUse(state.use, input._reporterState.obj)\n ._decode(input, options);\n } else {\n return input.error('unknown tag: ' + tag);\n }\n};\n\nNode.prototype._getUse = function _getUse(entity, obj) {\n\n const state = this._baseState;\n // Create altered use decoder if implicit is set\n state.useDecoder = this._use(entity, obj);\n assert(state.useDecoder._baseState.parent === null);\n state.useDecoder = state.useDecoder._baseState.children[0];\n if (state.implicit !== state.useDecoder._baseState.implicit) {\n state.useDecoder = state.useDecoder.clone();\n state.useDecoder._baseState.implicit = state.implicit;\n }\n return state.useDecoder;\n};\n\nNode.prototype._decodeChoice = function decodeChoice(input, options) {\n const state = this._baseState;\n let result = null;\n let match = false;\n\n Object.keys(state.choice).some(function(key) {\n const save = input.save();\n const node = state.choice[key];\n try {\n const value = node._decode(input, options);\n if (input.isError(value))\n return false;\n\n result = { type: key, value: value };\n match = true;\n } catch (e) {\n input.restore(save);\n return false;\n }\n return true;\n }, this);\n\n if (!match)\n return input.error('Choice not matched');\n\n return result;\n};\n\n//\n// Encoding\n//\n\nNode.prototype._createEncoderBuffer = function createEncoderBuffer(data) {\n return new EncoderBuffer(data, this.reporter);\n};\n\nNode.prototype._encode = function encode(data, reporter, parent) {\n const state = this._baseState;\n if (state['default'] !== null && state['default'] === data)\n return;\n\n const result = this._encodeValue(data, reporter, parent);\n if (result === undefined)\n return;\n\n if (this._skipDefault(result, reporter, parent))\n return;\n\n return result;\n};\n\nNode.prototype._encodeValue = function encode(data, reporter, parent) {\n const state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return state.children[0]._encode(data, reporter || new Reporter());\n\n let result = null;\n\n // Set reporter to share it with a child class\n this.reporter = reporter;\n\n // Check if data is there\n if (state.optional && data === undefined) {\n if (state['default'] !== null)\n data = state['default'];\n else\n return;\n }\n\n // Encode children first\n let content = null;\n let primitive = false;\n if (state.any) {\n // Anything that was given is translated to buffer\n result = this._createEncoderBuffer(data);\n } else if (state.choice) {\n result = this._encodeChoice(data, reporter);\n } else if (state.contains) {\n content = this._getUse(state.contains, parent)._encode(data, reporter);\n primitive = true;\n } else if (state.children) {\n content = state.children.map(function(child) {\n if (child._baseState.tag === 'null_')\n return child._encode(null, reporter, data);\n\n if (child._baseState.key === null)\n return reporter.error('Child should have a key');\n const prevKey = reporter.enterKey(child._baseState.key);\n\n if (typeof data !== 'object')\n return reporter.error('Child expected, but input is not object');\n\n const res = child._encode(data[child._baseState.key], reporter, data);\n reporter.leaveKey(prevKey);\n\n return res;\n }, this).filter(function(child) {\n return child;\n });\n content = this._createEncoderBuffer(content);\n } else {\n if (state.tag === 'seqof' || state.tag === 'setof') {\n // TODO(indutny): this should be thrown on DSL level\n if (!(state.args && state.args.length === 1))\n return reporter.error('Too many args for : ' + state.tag);\n\n if (!Array.isArray(data))\n return reporter.error('seqof/setof, but data is not Array');\n\n const child = this.clone();\n child._baseState.implicit = null;\n content = this._createEncoderBuffer(data.map(function(item) {\n const state = this._baseState;\n\n return this._getUse(state.args[0], data)._encode(item, reporter);\n }, child));\n } else if (state.use !== null) {\n result = this._getUse(state.use, parent)._encode(data, reporter);\n } else {\n content = this._encodePrimitive(state.tag, data);\n primitive = true;\n }\n }\n\n // Encode data itself\n if (!state.any && state.choice === null) {\n const tag = state.implicit !== null ? state.implicit : state.tag;\n const cls = state.implicit === null ? 'universal' : 'context';\n\n if (tag === null) {\n if (state.use === null)\n reporter.error('Tag could be omitted only for .use()');\n } else {\n if (state.use === null)\n result = this._encodeComposite(tag, primitive, cls, content);\n }\n }\n\n // Wrap in explicit\n if (state.explicit !== null)\n result = this._encodeComposite(state.explicit, false, 'context', result);\n\n return result;\n};\n\nNode.prototype._encodeChoice = function encodeChoice(data, reporter) {\n const state = this._baseState;\n\n const node = state.choice[data.type];\n if (!node) {\n assert(\n false,\n data.type + ' not found in ' +\n JSON.stringify(Object.keys(state.choice)));\n }\n return node._encode(data.value, reporter);\n};\n\nNode.prototype._encodePrimitive = function encodePrimitive(tag, data) {\n const state = this._baseState;\n\n if (/str$/.test(tag))\n return this._encodeStr(data, tag);\n else if (tag === 'objid' && state.args)\n return this._encodeObjid(data, state.reverseArgs[0], state.args[1]);\n else if (tag === 'objid')\n return this._encodeObjid(data, null, null);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._encodeTime(data, tag);\n else if (tag === 'null_')\n return this._encodeNull();\n else if (tag === 'int' || tag === 'enum')\n return this._encodeInt(data, state.args && state.reverseArgs[0]);\n else if (tag === 'bool')\n return this._encodeBool(data);\n else if (tag === 'objDesc')\n return this._encodeStr(data, tag);\n else\n throw new Error('Unsupported tag: ' + tag);\n};\n\nNode.prototype._isNumstr = function isNumstr(str) {\n return /^[0-9 ]*$/.test(str);\n};\n\nNode.prototype._isPrintstr = function isPrintstr(str) {\n return /^[A-Za-z0-9 '()+,-./:=?]*$/.test(str);\n};\n","'use strict';\n\n// Helper\nfunction reverse(map) {\n const res = {};\n\n Object.keys(map).forEach(function(key) {\n // Convert key to integer if it is stringified\n if ((key | 0) == key)\n key = key | 0;\n\n const value = map[key];\n res[value] = key;\n });\n\n return res;\n}\n\nexports.tagClass = {\n 0: 'universal',\n 1: 'application',\n 2: 'context',\n 3: 'private'\n};\nexports.tagClassByName = reverse(exports.tagClass);\n\nexports.tag = {\n 0x00: 'end',\n 0x01: 'bool',\n 0x02: 'int',\n 0x03: 'bitstr',\n 0x04: 'octstr',\n 0x05: 'null_',\n 0x06: 'objid',\n 0x07: 'objDesc',\n 0x08: 'external',\n 0x09: 'real',\n 0x0a: 'enum',\n 0x0b: 'embed',\n 0x0c: 'utf8str',\n 0x0d: 'relativeOid',\n 0x10: 'seq',\n 0x11: 'set',\n 0x12: 'numstr',\n 0x13: 'printstr',\n 0x14: 't61str',\n 0x15: 'videostr',\n 0x16: 'ia5str',\n 0x17: 'utctime',\n 0x18: 'gentime',\n 0x19: 'graphstr',\n 0x1a: 'iso646str',\n 0x1b: 'genstr',\n 0x1c: 'unistr',\n 0x1d: 'charstr',\n 0x1e: 'bmpstr'\n};\nexports.tagByName = reverse(exports.tag);\n","'use strict';\n\nconst inherits = require('inherits');\nconst Buffer = require('safer-buffer').Buffer;\nconst Node = require('../base/node');\n\n// Import DER constants\nconst der = require('../constants/der');\n\nfunction DEREncoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n}\nmodule.exports = DEREncoder;\n\nDEREncoder.prototype.encode = function encode(data, reporter) {\n return this.tree._encode(data, reporter).join();\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n Node.call(this, 'der', parent);\n}\ninherits(DERNode, Node);\n\nDERNode.prototype._encodeComposite = function encodeComposite(tag,\n primitive,\n cls,\n content) {\n const encodedTag = encodeTag(tag, primitive, cls, this.reporter);\n\n // Short form\n if (content.length < 0x80) {\n const header = Buffer.alloc(2);\n header[0] = encodedTag;\n header[1] = content.length;\n return this._createEncoderBuffer([ header, content ]);\n }\n\n // Long form\n // Count octets required to store length\n let lenOctets = 1;\n for (let i = content.length; i >= 0x100; i >>= 8)\n lenOctets++;\n\n const header = Buffer.alloc(1 + 1 + lenOctets);\n header[0] = encodedTag;\n header[1] = 0x80 | lenOctets;\n\n for (let i = 1 + lenOctets, j = content.length; j > 0; i--, j >>= 8)\n header[i] = j & 0xff;\n\n return this._createEncoderBuffer([ header, content ]);\n};\n\nDERNode.prototype._encodeStr = function encodeStr(str, tag) {\n if (tag === 'bitstr') {\n return this._createEncoderBuffer([ str.unused | 0, str.data ]);\n } else if (tag === 'bmpstr') {\n const buf = Buffer.alloc(str.length * 2);\n for (let i = 0; i < str.length; i++) {\n buf.writeUInt16BE(str.charCodeAt(i), i * 2);\n }\n return this._createEncoderBuffer(buf);\n } else if (tag === 'numstr') {\n if (!this._isNumstr(str)) {\n return this.reporter.error('Encoding of string type: numstr supports ' +\n 'only digits and space');\n }\n return this._createEncoderBuffer(str);\n } else if (tag === 'printstr') {\n if (!this._isPrintstr(str)) {\n return this.reporter.error('Encoding of string type: printstr supports ' +\n 'only latin upper and lower case letters, ' +\n 'digits, space, apostrophe, left and rigth ' +\n 'parenthesis, plus sign, comma, hyphen, ' +\n 'dot, slash, colon, equal sign, ' +\n 'question mark');\n }\n return this._createEncoderBuffer(str);\n } else if (/str$/.test(tag)) {\n return this._createEncoderBuffer(str);\n } else if (tag === 'objDesc') {\n return this._createEncoderBuffer(str);\n } else {\n return this.reporter.error('Encoding of string type: ' + tag +\n ' unsupported');\n }\n};\n\nDERNode.prototype._encodeObjid = function encodeObjid(id, values, relative) {\n if (typeof id === 'string') {\n if (!values)\n return this.reporter.error('string objid given, but no values map found');\n if (!values.hasOwnProperty(id))\n return this.reporter.error('objid not found in values map');\n id = values[id].split(/[\\s.]+/g);\n for (let i = 0; i < id.length; i++)\n id[i] |= 0;\n } else if (Array.isArray(id)) {\n id = id.slice();\n for (let i = 0; i < id.length; i++)\n id[i] |= 0;\n }\n\n if (!Array.isArray(id)) {\n return this.reporter.error('objid() should be either array or string, ' +\n 'got: ' + JSON.stringify(id));\n }\n\n if (!relative) {\n if (id[1] >= 40)\n return this.reporter.error('Second objid identifier OOB');\n id.splice(0, 2, id[0] * 40 + id[1]);\n }\n\n // Count number of octets\n let size = 0;\n for (let i = 0; i < id.length; i++) {\n let ident = id[i];\n for (size++; ident >= 0x80; ident >>= 7)\n size++;\n }\n\n const objid = Buffer.alloc(size);\n let offset = objid.length - 1;\n for (let i = id.length - 1; i >= 0; i--) {\n let ident = id[i];\n objid[offset--] = ident & 0x7f;\n while ((ident >>= 7) > 0)\n objid[offset--] = 0x80 | (ident & 0x7f);\n }\n\n return this._createEncoderBuffer(objid);\n};\n\nfunction two(num) {\n if (num < 10)\n return '0' + num;\n else\n return num;\n}\n\nDERNode.prototype._encodeTime = function encodeTime(time, tag) {\n let str;\n const date = new Date(time);\n\n if (tag === 'gentime') {\n str = [\n two(date.getUTCFullYear()),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else if (tag === 'utctime') {\n str = [\n two(date.getUTCFullYear() % 100),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else {\n this.reporter.error('Encoding ' + tag + ' time is not supported yet');\n }\n\n return this._encodeStr(str, 'octstr');\n};\n\nDERNode.prototype._encodeNull = function encodeNull() {\n return this._createEncoderBuffer('');\n};\n\nDERNode.prototype._encodeInt = function encodeInt(num, values) {\n if (typeof num === 'string') {\n if (!values)\n return this.reporter.error('String int or enum given, but no values map');\n if (!values.hasOwnProperty(num)) {\n return this.reporter.error('Values map doesn\\'t contain: ' +\n JSON.stringify(num));\n }\n num = values[num];\n }\n\n // Bignum, assume big endian\n if (typeof num !== 'number' && !Buffer.isBuffer(num)) {\n const numArray = num.toArray();\n if (!num.sign && numArray[0] & 0x80) {\n numArray.unshift(0);\n }\n num = Buffer.from(numArray);\n }\n\n if (Buffer.isBuffer(num)) {\n let size = num.length;\n if (num.length === 0)\n size++;\n\n const out = Buffer.alloc(size);\n num.copy(out);\n if (num.length === 0)\n out[0] = 0;\n return this._createEncoderBuffer(out);\n }\n\n if (num < 0x80)\n return this._createEncoderBuffer(num);\n\n if (num < 0x100)\n return this._createEncoderBuffer([0, num]);\n\n let size = 1;\n for (let i = num; i >= 0x100; i >>= 8)\n size++;\n\n const out = new Array(size);\n for (let i = out.length - 1; i >= 0; i--) {\n out[i] = num & 0xff;\n num >>= 8;\n }\n if(out[0] & 0x80) {\n out.unshift(0);\n }\n\n return this._createEncoderBuffer(Buffer.from(out));\n};\n\nDERNode.prototype._encodeBool = function encodeBool(value) {\n return this._createEncoderBuffer(value ? 0xff : 0);\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getEncoder('der').tree;\n};\n\nDERNode.prototype._skipDefault = function skipDefault(dataBuffer, reporter, parent) {\n const state = this._baseState;\n let i;\n if (state['default'] === null)\n return false;\n\n const data = dataBuffer.join();\n if (state.defaultBuffer === undefined)\n state.defaultBuffer = this._encodeValue(state['default'], reporter, parent).join();\n\n if (data.length !== state.defaultBuffer.length)\n return false;\n\n for (i=0; i < data.length; i++)\n if (data[i] !== state.defaultBuffer[i])\n return false;\n\n return true;\n};\n\n// Utility methods\n\nfunction encodeTag(tag, primitive, cls, reporter) {\n let res;\n\n if (tag === 'seqof')\n tag = 'seq';\n else if (tag === 'setof')\n tag = 'set';\n\n if (der.tagByName.hasOwnProperty(tag))\n res = der.tagByName[tag];\n else if (typeof tag === 'number' && (tag | 0) === tag)\n res = tag;\n else\n return reporter.error('Unknown tag: ' + tag);\n\n if (res >= 0x1f)\n return reporter.error('Multi-octet tag encoding unsupported');\n\n if (!primitive)\n res |= 0x20;\n\n res |= (der.tagClassByName[cls || 'universal'] << 6);\n\n return res;\n}\n","'use strict';\n\nconst inherits = require('inherits');\n\nconst DEREncoder = require('./der');\n\nfunction PEMEncoder(entity) {\n DEREncoder.call(this, entity);\n this.enc = 'pem';\n}\ninherits(PEMEncoder, DEREncoder);\nmodule.exports = PEMEncoder;\n\nPEMEncoder.prototype.encode = function encode(data, options) {\n const buf = DEREncoder.prototype.encode.call(this, data);\n\n const p = buf.toString('base64');\n const out = [ '-----BEGIN ' + options.label + '-----' ];\n for (let i = 0; i < p.length; i += 64)\n out.push(p.slice(i, i + 64));\n out.push('-----END ' + options.label + '-----');\n return out.join('\\n');\n};\n","'use strict';\n\nconst encoders = exports;\n\nencoders.der = require('./der');\nencoders.pem = require('./pem');\n","'use strict';\n\nconst inherits = require('inherits');\n\nconst bignum = require('bn.js');\nconst DecoderBuffer = require('../base/buffer').DecoderBuffer;\nconst Node = require('../base/node');\n\n// Import DER constants\nconst der = require('../constants/der');\n\nfunction DERDecoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n}\nmodule.exports = DERDecoder;\n\nDERDecoder.prototype.decode = function decode(data, options) {\n if (!DecoderBuffer.isDecoderBuffer(data)) {\n data = new DecoderBuffer(data, options);\n }\n\n return this.tree._decode(data, options);\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n Node.call(this, 'der', parent);\n}\ninherits(DERNode, Node);\n\nDERNode.prototype._peekTag = function peekTag(buffer, tag, any) {\n if (buffer.isEmpty())\n return false;\n\n const state = buffer.save();\n const decodedTag = derDecodeTag(buffer, 'Failed to peek tag: \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n buffer.restore(state);\n\n return decodedTag.tag === tag || decodedTag.tagStr === tag ||\n (decodedTag.tagStr + 'of') === tag || any;\n};\n\nDERNode.prototype._decodeTag = function decodeTag(buffer, tag, any) {\n const decodedTag = derDecodeTag(buffer,\n 'Failed to decode tag of \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n let len = derDecodeLen(buffer,\n decodedTag.primitive,\n 'Failed to get length of \"' + tag + '\"');\n\n // Failure\n if (buffer.isError(len))\n return len;\n\n if (!any &&\n decodedTag.tag !== tag &&\n decodedTag.tagStr !== tag &&\n decodedTag.tagStr + 'of' !== tag) {\n return buffer.error('Failed to match tag: \"' + tag + '\"');\n }\n\n if (decodedTag.primitive || len !== null)\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n\n // Indefinite length... find END tag\n const state = buffer.save();\n const res = this._skipUntilEnd(\n buffer,\n 'Failed to skip indefinite length body: \"' + this.tag + '\"');\n if (buffer.isError(res))\n return res;\n\n len = buffer.offset - state.offset;\n buffer.restore(state);\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n};\n\nDERNode.prototype._skipUntilEnd = function skipUntilEnd(buffer, fail) {\n for (;;) {\n const tag = derDecodeTag(buffer, fail);\n if (buffer.isError(tag))\n return tag;\n const len = derDecodeLen(buffer, tag.primitive, fail);\n if (buffer.isError(len))\n return len;\n\n let res;\n if (tag.primitive || len !== null)\n res = buffer.skip(len);\n else\n res = this._skipUntilEnd(buffer, fail);\n\n // Failure\n if (buffer.isError(res))\n return res;\n\n if (tag.tagStr === 'end')\n break;\n }\n};\n\nDERNode.prototype._decodeList = function decodeList(buffer, tag, decoder,\n options) {\n const result = [];\n while (!buffer.isEmpty()) {\n const possibleEnd = this._peekTag(buffer, 'end');\n if (buffer.isError(possibleEnd))\n return possibleEnd;\n\n const res = decoder.decode(buffer, 'der', options);\n if (buffer.isError(res) && possibleEnd)\n break;\n result.push(res);\n }\n return result;\n};\n\nDERNode.prototype._decodeStr = function decodeStr(buffer, tag) {\n if (tag === 'bitstr') {\n const unused = buffer.readUInt8();\n if (buffer.isError(unused))\n return unused;\n return { unused: unused, data: buffer.raw() };\n } else if (tag === 'bmpstr') {\n const raw = buffer.raw();\n if (raw.length % 2 === 1)\n return buffer.error('Decoding of string type: bmpstr length mismatch');\n\n let str = '';\n for (let i = 0; i < raw.length / 2; i++) {\n str += String.fromCharCode(raw.readUInt16BE(i * 2));\n }\n return str;\n } else if (tag === 'numstr') {\n const numstr = buffer.raw().toString('ascii');\n if (!this._isNumstr(numstr)) {\n return buffer.error('Decoding of string type: ' +\n 'numstr unsupported characters');\n }\n return numstr;\n } else if (tag === 'octstr') {\n return buffer.raw();\n } else if (tag === 'objDesc') {\n return buffer.raw();\n } else if (tag === 'printstr') {\n const printstr = buffer.raw().toString('ascii');\n if (!this._isPrintstr(printstr)) {\n return buffer.error('Decoding of string type: ' +\n 'printstr unsupported characters');\n }\n return printstr;\n } else if (/str$/.test(tag)) {\n return buffer.raw().toString();\n } else {\n return buffer.error('Decoding of string type: ' + tag + ' unsupported');\n }\n};\n\nDERNode.prototype._decodeObjid = function decodeObjid(buffer, values, relative) {\n let result;\n const identifiers = [];\n let ident = 0;\n let subident = 0;\n while (!buffer.isEmpty()) {\n subident = buffer.readUInt8();\n ident <<= 7;\n ident |= subident & 0x7f;\n if ((subident & 0x80) === 0) {\n identifiers.push(ident);\n ident = 0;\n }\n }\n if (subident & 0x80)\n identifiers.push(ident);\n\n const first = (identifiers[0] / 40) | 0;\n const second = identifiers[0] % 40;\n\n if (relative)\n result = identifiers;\n else\n result = [first, second].concat(identifiers.slice(1));\n\n if (values) {\n let tmp = values[result.join(' ')];\n if (tmp === undefined)\n tmp = values[result.join('.')];\n if (tmp !== undefined)\n result = tmp;\n }\n\n return result;\n};\n\nDERNode.prototype._decodeTime = function decodeTime(buffer, tag) {\n const str = buffer.raw().toString();\n\n let year;\n let mon;\n let day;\n let hour;\n let min;\n let sec;\n if (tag === 'gentime') {\n year = str.slice(0, 4) | 0;\n mon = str.slice(4, 6) | 0;\n day = str.slice(6, 8) | 0;\n hour = str.slice(8, 10) | 0;\n min = str.slice(10, 12) | 0;\n sec = str.slice(12, 14) | 0;\n } else if (tag === 'utctime') {\n year = str.slice(0, 2) | 0;\n mon = str.slice(2, 4) | 0;\n day = str.slice(4, 6) | 0;\n hour = str.slice(6, 8) | 0;\n min = str.slice(8, 10) | 0;\n sec = str.slice(10, 12) | 0;\n if (year < 70)\n year = 2000 + year;\n else\n year = 1900 + year;\n } else {\n return buffer.error('Decoding ' + tag + ' time is not supported yet');\n }\n\n return Date.UTC(year, mon - 1, day, hour, min, sec, 0);\n};\n\nDERNode.prototype._decodeNull = function decodeNull() {\n return null;\n};\n\nDERNode.prototype._decodeBool = function decodeBool(buffer) {\n const res = buffer.readUInt8();\n if (buffer.isError(res))\n return res;\n else\n return res !== 0;\n};\n\nDERNode.prototype._decodeInt = function decodeInt(buffer, values) {\n // Bigint, return as it is (assume big endian)\n const raw = buffer.raw();\n let res = new bignum(raw);\n\n if (values)\n res = values[res.toString(10)] || res;\n\n return res;\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getDecoder('der').tree;\n};\n\n// Utility methods\n\nfunction derDecodeTag(buf, fail) {\n let tag = buf.readUInt8(fail);\n if (buf.isError(tag))\n return tag;\n\n const cls = der.tagClass[tag >> 6];\n const primitive = (tag & 0x20) === 0;\n\n // Multi-octet tag - load\n if ((tag & 0x1f) === 0x1f) {\n let oct = tag;\n tag = 0;\n while ((oct & 0x80) === 0x80) {\n oct = buf.readUInt8(fail);\n if (buf.isError(oct))\n return oct;\n\n tag <<= 7;\n tag |= oct & 0x7f;\n }\n } else {\n tag &= 0x1f;\n }\n const tagStr = der.tag[tag];\n\n return {\n cls: cls,\n primitive: primitive,\n tag: tag,\n tagStr: tagStr\n };\n}\n\nfunction derDecodeLen(buf, primitive, fail) {\n let len = buf.readUInt8(fail);\n if (buf.isError(len))\n return len;\n\n // Indefinite form\n if (!primitive && len === 0x80)\n return null;\n\n // Definite form\n if ((len & 0x80) === 0) {\n // Short form\n return len;\n }\n\n // Long form\n const num = len & 0x7f;\n if (num > 4)\n return buf.error('length octect is too long');\n\n len = 0;\n for (let i = 0; i < num; i++) {\n len <<= 8;\n const j = buf.readUInt8(fail);\n if (buf.isError(j))\n return j;\n len |= j;\n }\n\n return len;\n}\n","'use strict';\n\nconst inherits = require('inherits');\nconst Buffer = require('safer-buffer').Buffer;\n\nconst DERDecoder = require('./der');\n\nfunction PEMDecoder(entity) {\n DERDecoder.call(this, entity);\n this.enc = 'pem';\n}\ninherits(PEMDecoder, DERDecoder);\nmodule.exports = PEMDecoder;\n\nPEMDecoder.prototype.decode = function decode(data, options) {\n const lines = data.toString().split(/[\\r\\n]+/g);\n\n const label = options.label.toUpperCase();\n\n const re = /^-----(BEGIN|END) ([^-]+)-----$/;\n let start = -1;\n let end = -1;\n for (let i = 0; i < lines.length; i++) {\n const match = lines[i].match(re);\n if (match === null)\n continue;\n\n if (match[2] !== label)\n continue;\n\n if (start === -1) {\n if (match[1] !== 'BEGIN')\n break;\n start = i;\n } else {\n if (match[1] !== 'END')\n break;\n end = i;\n break;\n }\n }\n if (start === -1 || end === -1)\n throw new Error('PEM section not found for: ' + label);\n\n const base64 = lines.slice(start + 1, end).join('');\n // Remove excessive symbols\n base64.replace(/[^a-z0-9+/=]+/gi, '');\n\n const input = Buffer.from(base64, 'base64');\n return DERDecoder.prototype.decode.call(this, input, options);\n};\n","'use strict';\n\nconst decoders = exports;\n\ndecoders.der = require('./der');\ndecoders.pem = require('./pem');\n","'use strict';\n\nconst encoders = require('./encoders');\nconst decoders = require('./decoders');\nconst inherits = require('inherits');\n\nconst api = exports;\n\napi.define = function define(name, body) {\n return new Entity(name, body);\n};\n\nfunction Entity(name, body) {\n this.name = name;\n this.body = body;\n\n this.decoders = {};\n this.encoders = {};\n}\n\nEntity.prototype._createNamed = function createNamed(Base) {\n const name = this.name;\n\n function Generated(entity) {\n this._initNamed(entity, name);\n }\n inherits(Generated, Base);\n Generated.prototype._initNamed = function _initNamed(entity, name) {\n Base.call(this, entity, name);\n };\n\n return new Generated(this);\n};\n\nEntity.prototype._getDecoder = function _getDecoder(enc) {\n enc = enc || 'der';\n // Lazily create decoder\n if (!this.decoders.hasOwnProperty(enc))\n this.decoders[enc] = this._createNamed(decoders[enc]);\n return this.decoders[enc];\n};\n\nEntity.prototype.decode = function decode(data, enc, options) {\n return this._getDecoder(enc).decode(data, options);\n};\n\nEntity.prototype._getEncoder = function _getEncoder(enc) {\n enc = enc || 'der';\n // Lazily create encoder\n if (!this.encoders.hasOwnProperty(enc))\n this.encoders[enc] = this._createNamed(encoders[enc]);\n return this.encoders[enc];\n};\n\nEntity.prototype.encode = function encode(data, enc, /* internal */ reporter) {\n return this._getEncoder(enc).encode(data, reporter);\n};\n","'use strict';\n\nconst base = exports;\n\nbase.Reporter = require('./reporter').Reporter;\nbase.DecoderBuffer = require('./buffer').DecoderBuffer;\nbase.EncoderBuffer = require('./buffer').EncoderBuffer;\nbase.Node = require('./node');\n","'use strict';\n\nconst constants = exports;\n\n// Helper\nconstants._reverse = function reverse(map) {\n const res = {};\n\n Object.keys(map).forEach(function(key) {\n // Convert key to integer if it is stringified\n if ((key | 0) == key)\n key = key | 0;\n\n const value = map[key];\n res[value] = key;\n });\n\n return res;\n};\n\nconstants.der = require('./der');\n","'use strict';\n\nconst asn1 = exports;\n\nasn1.bignum = require('bn.js');\n\nasn1.define = require('./asn1/api').define;\nasn1.base = require('./asn1/base');\nasn1.constants = require('./asn1/constants');\nasn1.decoders = require('./asn1/decoders');\nasn1.encoders = require('./asn1/encoders');\n","// from https://github.com/Rantanen/node-dtls/blob/25a7dc861bda38cfeac93a723500eea4f0ac2e86/Certificate.js\n// thanks to @Rantanen\n\n'use strict'\n\nvar asn = require('asn1.js')\n\nvar Time = asn.define('Time', function () {\n this.choice({\n utcTime: this.utctime(),\n generalTime: this.gentime()\n })\n})\n\nvar AttributeTypeValue = asn.define('AttributeTypeValue', function () {\n this.seq().obj(\n this.key('type').objid(),\n this.key('value').any()\n )\n})\n\nvar AlgorithmIdentifier = asn.define('AlgorithmIdentifier', function () {\n this.seq().obj(\n this.key('algorithm').objid(),\n this.key('parameters').optional(),\n this.key('curve').objid().optional()\n )\n})\n\nvar SubjectPublicKeyInfo = asn.define('SubjectPublicKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPublicKey').bitstr()\n )\n})\n\nvar RelativeDistinguishedName = asn.define('RelativeDistinguishedName', function () {\n this.setof(AttributeTypeValue)\n})\n\nvar RDNSequence = asn.define('RDNSequence', function () {\n this.seqof(RelativeDistinguishedName)\n})\n\nvar Name = asn.define('Name', function () {\n this.choice({\n rdnSequence: this.use(RDNSequence)\n })\n})\n\nvar Validity = asn.define('Validity', function () {\n this.seq().obj(\n this.key('notBefore').use(Time),\n this.key('notAfter').use(Time)\n )\n})\n\nvar Extension = asn.define('Extension', function () {\n this.seq().obj(\n this.key('extnID').objid(),\n this.key('critical').bool().def(false),\n this.key('extnValue').octstr()\n )\n})\n\nvar TBSCertificate = asn.define('TBSCertificate', function () {\n this.seq().obj(\n this.key('version').explicit(0).int().optional(),\n this.key('serialNumber').int(),\n this.key('signature').use(AlgorithmIdentifier),\n this.key('issuer').use(Name),\n this.key('validity').use(Validity),\n this.key('subject').use(Name),\n this.key('subjectPublicKeyInfo').use(SubjectPublicKeyInfo),\n this.key('issuerUniqueID').implicit(1).bitstr().optional(),\n this.key('subjectUniqueID').implicit(2).bitstr().optional(),\n this.key('extensions').explicit(3).seqof(Extension).optional()\n )\n})\n\nvar X509Certificate = asn.define('X509Certificate', function () {\n this.seq().obj(\n this.key('tbsCertificate').use(TBSCertificate),\n this.key('signatureAlgorithm').use(AlgorithmIdentifier),\n this.key('signatureValue').bitstr()\n )\n})\n\nmodule.exports = X509Certificate\n","// from https://github.com/indutny/self-signed/blob/gh-pages/lib/asn1.js\n// Fedor, you are amazing.\n'use strict'\n\nvar asn1 = require('asn1.js')\n\nexports.certificate = require('./certificate')\n\nvar RSAPrivateKey = asn1.define('RSAPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('modulus').int(),\n this.key('publicExponent').int(),\n this.key('privateExponent').int(),\n this.key('prime1').int(),\n this.key('prime2').int(),\n this.key('exponent1').int(),\n this.key('exponent2').int(),\n this.key('coefficient').int()\n )\n})\nexports.RSAPrivateKey = RSAPrivateKey\n\nvar RSAPublicKey = asn1.define('RSAPublicKey', function () {\n this.seq().obj(\n this.key('modulus').int(),\n this.key('publicExponent').int()\n )\n})\nexports.RSAPublicKey = RSAPublicKey\n\nvar PublicKey = asn1.define('SubjectPublicKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPublicKey').bitstr()\n )\n})\nexports.PublicKey = PublicKey\n\nvar AlgorithmIdentifier = asn1.define('AlgorithmIdentifier', function () {\n this.seq().obj(\n this.key('algorithm').objid(),\n this.key('none').null_().optional(),\n this.key('curve').objid().optional(),\n this.key('params').seq().obj(\n this.key('p').int(),\n this.key('q').int(),\n this.key('g').int()\n ).optional()\n )\n})\n\nvar PrivateKeyInfo = asn1.define('PrivateKeyInfo', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPrivateKey').octstr()\n )\n})\nexports.PrivateKey = PrivateKeyInfo\nvar EncryptedPrivateKeyInfo = asn1.define('EncryptedPrivateKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').seq().obj(\n this.key('id').objid(),\n this.key('decrypt').seq().obj(\n this.key('kde').seq().obj(\n this.key('id').objid(),\n this.key('kdeparams').seq().obj(\n this.key('salt').octstr(),\n this.key('iters').int()\n )\n ),\n this.key('cipher').seq().obj(\n this.key('algo').objid(),\n this.key('iv').octstr()\n )\n )\n ),\n this.key('subjectPrivateKey').octstr()\n )\n})\n\nexports.EncryptedPrivateKey = EncryptedPrivateKeyInfo\n\nvar DSAPrivateKey = asn1.define('DSAPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('p').int(),\n this.key('q').int(),\n this.key('g').int(),\n this.key('pub_key').int(),\n this.key('priv_key').int()\n )\n})\nexports.DSAPrivateKey = DSAPrivateKey\n\nexports.DSAparam = asn1.define('DSAparam', function () {\n this.int()\n})\n\nvar ECPrivateKey = asn1.define('ECPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('privateKey').octstr(),\n this.key('parameters').optional().explicit(0).use(ECParameters),\n this.key('publicKey').optional().explicit(1).bitstr()\n )\n})\nexports.ECPrivateKey = ECPrivateKey\n\nvar ECParameters = asn1.define('ECParameters', function () {\n this.choice({\n namedCurve: this.objid()\n })\n})\n\nexports.signature = asn1.define('signature', function () {\n this.seq().obj(\n this.key('r').int(),\n this.key('s').int()\n )\n})\n","// adapted from https://github.com/apatil/pemstrip\nvar findProc = /Proc-Type: 4,ENCRYPTED[\\n\\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\\n\\r]+([0-9A-z\\n\\r+/=]+)[\\n\\r]+/m\nvar startRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m\nvar fullRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\\n\\r+/=]+)-----END \\1-----$/m\nvar evp = require('evp_bytestokey')\nvar ciphers = require('browserify-aes')\nvar Buffer = require('safe-buffer').Buffer\nmodule.exports = function (okey, password) {\n var key = okey.toString()\n var match = key.match(findProc)\n var decrypted\n if (!match) {\n var match2 = key.match(fullRegex)\n decrypted = Buffer.from(match2[2].replace(/[\\r\\n]/g, ''), 'base64')\n } else {\n var suite = 'aes' + match[1]\n var iv = Buffer.from(match[2], 'hex')\n var cipherText = Buffer.from(match[3].replace(/[\\r\\n]/g, ''), 'base64')\n var cipherKey = evp(password, iv.slice(0, 8), parseInt(match[1], 10)).key\n var out = []\n var cipher = ciphers.createDecipheriv(suite, cipherKey, iv)\n out.push(cipher.update(cipherText))\n out.push(cipher.final())\n decrypted = Buffer.concat(out)\n }\n var tag = key.match(startRegex)[1]\n return {\n tag: tag,\n data: decrypted\n }\n}\n","var asn1 = require('./asn1')\nvar aesid = require('./aesid.json')\nvar fixProc = require('./fixProc')\nvar ciphers = require('browserify-aes')\nvar compat = require('pbkdf2')\nvar Buffer = require('safe-buffer').Buffer\nmodule.exports = parseKeys\n\nfunction parseKeys (buffer) {\n var password\n if (typeof buffer === 'object' && !Buffer.isBuffer(buffer)) {\n password = buffer.passphrase\n buffer = buffer.key\n }\n if (typeof buffer === 'string') {\n buffer = Buffer.from(buffer)\n }\n\n var stripped = fixProc(buffer, password)\n\n var type = stripped.tag\n var data = stripped.data\n var subtype, ndata\n switch (type) {\n case 'CERTIFICATE':\n ndata = asn1.certificate.decode(data, 'der').tbsCertificate.subjectPublicKeyInfo\n // falls through\n case 'PUBLIC KEY':\n if (!ndata) {\n ndata = asn1.PublicKey.decode(data, 'der')\n }\n subtype = ndata.algorithm.algorithm.join('.')\n switch (subtype) {\n case '1.2.840.113549.1.1.1':\n return asn1.RSAPublicKey.decode(ndata.subjectPublicKey.data, 'der')\n case '1.2.840.10045.2.1':\n ndata.subjectPrivateKey = ndata.subjectPublicKey\n return {\n type: 'ec',\n data: ndata\n }\n case '1.2.840.10040.4.1':\n ndata.algorithm.params.pub_key = asn1.DSAparam.decode(ndata.subjectPublicKey.data, 'der')\n return {\n type: 'dsa',\n data: ndata.algorithm.params\n }\n default: throw new Error('unknown key id ' + subtype)\n }\n // throw new Error('unknown key type ' + type)\n case 'ENCRYPTED PRIVATE KEY':\n data = asn1.EncryptedPrivateKey.decode(data, 'der')\n data = decrypt(data, password)\n // falls through\n case 'PRIVATE KEY':\n ndata = asn1.PrivateKey.decode(data, 'der')\n subtype = ndata.algorithm.algorithm.join('.')\n switch (subtype) {\n case '1.2.840.113549.1.1.1':\n return asn1.RSAPrivateKey.decode(ndata.subjectPrivateKey, 'der')\n case '1.2.840.10045.2.1':\n return {\n curve: ndata.algorithm.curve,\n privateKey: asn1.ECPrivateKey.decode(ndata.subjectPrivateKey, 'der').privateKey\n }\n case '1.2.840.10040.4.1':\n ndata.algorithm.params.priv_key = asn1.DSAparam.decode(ndata.subjectPrivateKey, 'der')\n return {\n type: 'dsa',\n params: ndata.algorithm.params\n }\n default: throw new Error('unknown key id ' + subtype)\n }\n // throw new Error('unknown key type ' + type)\n case 'RSA PUBLIC KEY':\n return asn1.RSAPublicKey.decode(data, 'der')\n case 'RSA PRIVATE KEY':\n return asn1.RSAPrivateKey.decode(data, 'der')\n case 'DSA PRIVATE KEY':\n return {\n type: 'dsa',\n params: asn1.DSAPrivateKey.decode(data, 'der')\n }\n case 'EC PRIVATE KEY':\n data = asn1.ECPrivateKey.decode(data, 'der')\n return {\n curve: data.parameters.value,\n privateKey: data.privateKey\n }\n default: throw new Error('unknown key type ' + type)\n }\n}\nparseKeys.signature = asn1.signature\nfunction decrypt (data, password) {\n var salt = data.algorithm.decrypt.kde.kdeparams.salt\n var iters = parseInt(data.algorithm.decrypt.kde.kdeparams.iters.toString(), 10)\n var algo = aesid[data.algorithm.decrypt.cipher.algo.join('.')]\n var iv = data.algorithm.decrypt.cipher.iv\n var cipherText = data.subjectPrivateKey\n var keylen = parseInt(algo.split('-')[1], 10) / 8\n var key = compat.pbkdf2Sync(password, salt, iters, keylen, 'sha1')\n var cipher = ciphers.createDecipheriv(algo, key, iv)\n var out = []\n out.push(cipher.update(cipherText))\n out.push(cipher.final())\n return Buffer.concat(out)\n}\n","'use strict';\n\n// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js\nvar Buffer = require('safe-buffer').Buffer;\nvar createHmac = require('create-hmac');\nvar crt = require('browserify-rsa');\nvar EC = require('elliptic').ec;\nvar BN = require('bn.js');\nvar parseKeys = require('parse-asn1');\nvar curves = require('./curves.json');\n\nvar RSA_PKCS1_PADDING = 1;\n\nfunction sign(hash, key, hashType, signType, tag) {\n var priv = parseKeys(key);\n if (priv.curve) {\n // rsa keys can be interpreted as ecdsa ones in openssl\n if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') { throw new Error('wrong private key type'); }\n return ecSign(hash, priv);\n } else if (priv.type === 'dsa') {\n if (signType !== 'dsa') { throw new Error('wrong private key type'); }\n return dsaSign(hash, priv, hashType);\n }\n if (signType !== 'rsa' && signType !== 'ecdsa/rsa') { throw new Error('wrong private key type'); }\n if (key.padding !== undefined && key.padding !== RSA_PKCS1_PADDING) { throw new Error('illegal or unsupported padding mode'); }\n\n hash = Buffer.concat([tag, hash]);\n var len = priv.modulus.byteLength();\n var pad = [0, 1];\n while (hash.length + pad.length + 1 < len) { pad.push(0xff); }\n pad.push(0x00);\n var i = -1;\n while (++i < hash.length) { pad.push(hash[i]); }\n\n var out = crt(pad, priv);\n return out;\n}\n\nfunction ecSign(hash, priv) {\n var curveId = curves[priv.curve.join('.')];\n if (!curveId) { throw new Error('unknown curve ' + priv.curve.join('.')); }\n\n var curve = new EC(curveId);\n var key = curve.keyFromPrivate(priv.privateKey);\n var out = key.sign(hash);\n\n return Buffer.from(out.toDER());\n}\n\nfunction dsaSign(hash, priv, algo) {\n var x = priv.params.priv_key;\n var p = priv.params.p;\n var q = priv.params.q;\n var g = priv.params.g;\n var r = new BN(0);\n var k;\n var H = bits2int(hash, q).mod(q);\n var s = false;\n var kv = getKey(x, q, hash, algo);\n while (s === false) {\n k = makeKey(q, kv, algo);\n r = makeR(g, k, p, q);\n s = k.invm(q).imul(H.add(x.mul(r))).mod(q);\n if (s.cmpn(0) === 0) {\n s = false;\n r = new BN(0);\n }\n }\n return toDER(r, s);\n}\n\nfunction toDER(r, s) {\n r = r.toArray();\n s = s.toArray();\n\n // Pad values\n if (r[0] & 0x80) { r = [0].concat(r); }\n if (s[0] & 0x80) { s = [0].concat(s); }\n\n var total = r.length + s.length + 4;\n var res = [\n 0x30, total, 0x02, r.length\n ];\n res = res.concat(r, [0x02, s.length], s);\n return Buffer.from(res);\n}\n\nfunction getKey(x, q, hash, algo) {\n x = Buffer.from(x.toArray());\n if (x.length < q.byteLength()) {\n var zeros = Buffer.alloc(q.byteLength() - x.length);\n x = Buffer.concat([zeros, x]);\n }\n var hlen = hash.length;\n var hbits = bits2octets(hash, q);\n var v = Buffer.alloc(hlen);\n v.fill(1);\n var k = Buffer.alloc(hlen);\n k = createHmac(algo, k).update(v).update(Buffer.from([0])).update(x).update(hbits).digest();\n v = createHmac(algo, k).update(v).digest();\n k = createHmac(algo, k).update(v).update(Buffer.from([1])).update(x).update(hbits).digest();\n v = createHmac(algo, k).update(v).digest();\n return { k: k, v: v };\n}\n\nfunction bits2int(obits, q) {\n var bits = new BN(obits);\n var shift = (obits.length << 3) - q.bitLength();\n if (shift > 0) { bits.ishrn(shift); }\n return bits;\n}\n\nfunction bits2octets(bits, q) {\n bits = bits2int(bits, q);\n bits = bits.mod(q);\n var out = Buffer.from(bits.toArray());\n if (out.length < q.byteLength()) {\n var zeros = Buffer.alloc(q.byteLength() - out.length);\n out = Buffer.concat([zeros, out]);\n }\n return out;\n}\n\nfunction makeKey(q, kv, algo) {\n var t;\n var k;\n\n do {\n t = Buffer.alloc(0);\n\n while (t.length * 8 < q.bitLength()) {\n kv.v = createHmac(algo, kv.k).update(kv.v).digest();\n t = Buffer.concat([t, kv.v]);\n }\n\n k = bits2int(t, q);\n kv.k = createHmac(algo, kv.k).update(kv.v).update(Buffer.from([0])).digest();\n kv.v = createHmac(algo, kv.k).update(kv.v).digest();\n } while (k.cmp(q) !== -1);\n\n return k;\n}\n\nfunction makeR(g, k, p, q) {\n return g.toRed(BN.mont(p)).redPow(k).fromRed().mod(q);\n}\n\nmodule.exports = sign;\nmodule.exports.getKey = getKey;\nmodule.exports.makeKey = makeKey;\n","'use strict';\n\n// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js\nvar Buffer = require('safe-buffer').Buffer;\nvar BN = require('bn.js');\nvar EC = require('elliptic').ec;\nvar parseKeys = require('parse-asn1');\nvar curves = require('./curves.json');\n\nfunction verify(sig, hash, key, signType, tag) {\n var pub = parseKeys(key);\n if (pub.type === 'ec') {\n // rsa keys can be interpreted as ecdsa ones in openssl\n if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') { throw new Error('wrong public key type'); }\n return ecVerify(sig, hash, pub);\n } else if (pub.type === 'dsa') {\n if (signType !== 'dsa') { throw new Error('wrong public key type'); }\n return dsaVerify(sig, hash, pub);\n }\n if (signType !== 'rsa' && signType !== 'ecdsa/rsa') { throw new Error('wrong public key type'); }\n\n hash = Buffer.concat([tag, hash]);\n var len = pub.modulus.byteLength();\n var pad = [1];\n var padNum = 0;\n while (hash.length + pad.length + 2 < len) {\n pad.push(0xff);\n padNum += 1;\n }\n pad.push(0x00);\n var i = -1;\n while (++i < hash.length) {\n pad.push(hash[i]);\n }\n pad = Buffer.from(pad);\n var red = BN.mont(pub.modulus);\n sig = new BN(sig).toRed(red);\n\n sig = sig.redPow(new BN(pub.publicExponent));\n sig = Buffer.from(sig.fromRed().toArray());\n var out = padNum < 8 ? 1 : 0;\n len = Math.min(sig.length, pad.length);\n if (sig.length !== pad.length) { out = 1; }\n\n i = -1;\n while (++i < len) { out |= sig[i] ^ pad[i]; }\n return out === 0;\n}\n\nfunction ecVerify(sig, hash, pub) {\n var curveId = curves[pub.data.algorithm.curve.join('.')];\n if (!curveId) { throw new Error('unknown curve ' + pub.data.algorithm.curve.join('.')); }\n\n var curve = new EC(curveId);\n var pubkey = pub.data.subjectPrivateKey.data;\n\n return curve.verify(hash, sig, pubkey);\n}\n\nfunction dsaVerify(sig, hash, pub) {\n var p = pub.data.p;\n var q = pub.data.q;\n var g = pub.data.g;\n var y = pub.data.pub_key;\n var unpacked = parseKeys.signature.decode(sig, 'der');\n var s = unpacked.s;\n var r = unpacked.r;\n checkValue(s, q);\n checkValue(r, q);\n var montp = BN.mont(p);\n var w = s.invm(q);\n var v = g.toRed(montp)\n .redPow(new BN(hash).mul(w).mod(q))\n .fromRed()\n .mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed())\n .mod(p)\n .mod(q);\n return v.cmp(r) === 0;\n}\n\nfunction checkValue(b, q) {\n if (b.cmpn(0) <= 0) { throw new Error('invalid sig'); }\n if (b.cmp(q) >= 0) { throw new Error('invalid sig'); }\n}\n\nmodule.exports = verify;\n","'use strict';\n\nvar Buffer = require('safe-buffer').Buffer;\nvar createHash = require('create-hash');\nvar stream = require('readable-stream');\nvar inherits = require('inherits');\nvar sign = require('./sign');\nvar verify = require('./verify');\n\nvar algorithms = require('./algorithms.json');\nObject.keys(algorithms).forEach(function (key) {\n algorithms[key].id = Buffer.from(algorithms[key].id, 'hex');\n algorithms[key.toLowerCase()] = algorithms[key];\n});\n\nfunction Sign(algorithm) {\n stream.Writable.call(this);\n\n var data = algorithms[algorithm];\n if (!data) { throw new Error('Unknown message digest'); }\n\n this._hashType = data.hash;\n this._hash = createHash(data.hash);\n this._tag = data.id;\n this._signType = data.sign;\n}\ninherits(Sign, stream.Writable);\n\nSign.prototype._write = function _write(data, _, done) {\n this._hash.update(data);\n done();\n};\n\nSign.prototype.update = function update(data, enc) {\n this._hash.update(typeof data === 'string' ? Buffer.from(data, enc) : data);\n\n return this;\n};\n\nSign.prototype.sign = function signMethod(key, enc) {\n this.end();\n var hash = this._hash.digest();\n var sig = sign(hash, key, this._hashType, this._signType, this._tag);\n\n return enc ? sig.toString(enc) : sig;\n};\n\nfunction Verify(algorithm) {\n stream.Writable.call(this);\n\n var data = algorithms[algorithm];\n if (!data) { throw new Error('Unknown message digest'); }\n\n this._hash = createHash(data.hash);\n this._tag = data.id;\n this._signType = data.sign;\n}\ninherits(Verify, stream.Writable);\n\nVerify.prototype._write = function _write(data, _, done) {\n this._hash.update(data);\n done();\n};\n\nVerify.prototype.update = function update(data, enc) {\n this._hash.update(typeof data === 'string' ? Buffer.from(data, enc) : data);\n\n return this;\n};\n\nVerify.prototype.verify = function verifyMethod(key, sig, enc) {\n var sigBuffer = typeof sig === 'string' ? Buffer.from(sig, enc) : sig;\n\n this.end();\n var hash = this._hash.digest();\n return verify(sigBuffer, hash, key, this._signType, this._tag);\n};\n\nfunction createSign(algorithm) {\n return new Sign(algorithm);\n}\n\nfunction createVerify(algorithm) {\n return new Verify(algorithm);\n}\n\nmodule.exports = {\n Sign: createSign,\n Verify: createVerify,\n createSign: createSign,\n createVerify: createVerify\n};\n","var elliptic = require('elliptic')\nvar BN = require('bn.js')\n\nmodule.exports = function createECDH (curve) {\n return new ECDH(curve)\n}\n\nvar aliases = {\n secp256k1: {\n name: 'secp256k1',\n byteLength: 32\n },\n secp224r1: {\n name: 'p224',\n byteLength: 28\n },\n prime256v1: {\n name: 'p256',\n byteLength: 32\n },\n prime192v1: {\n name: 'p192',\n byteLength: 24\n },\n ed25519: {\n name: 'ed25519',\n byteLength: 32\n },\n secp384r1: {\n name: 'p384',\n byteLength: 48\n },\n secp521r1: {\n name: 'p521',\n byteLength: 66\n }\n}\n\naliases.p224 = aliases.secp224r1\naliases.p256 = aliases.secp256r1 = aliases.prime256v1\naliases.p192 = aliases.secp192r1 = aliases.prime192v1\naliases.p384 = aliases.secp384r1\naliases.p521 = aliases.secp521r1\n\nfunction ECDH (curve) {\n this.curveType = aliases[curve]\n if (!this.curveType) {\n this.curveType = {\n name: curve\n }\n }\n this.curve = new elliptic.ec(this.curveType.name) // eslint-disable-line new-cap\n this.keys = void 0\n}\n\nECDH.prototype.generateKeys = function (enc, format) {\n this.keys = this.curve.genKeyPair()\n return this.getPublicKey(enc, format)\n}\n\nECDH.prototype.computeSecret = function (other, inenc, enc) {\n inenc = inenc || 'utf8'\n if (!Buffer.isBuffer(other)) {\n other = new Buffer(other, inenc)\n }\n var otherPub = this.curve.keyFromPublic(other).getPublic()\n var out = otherPub.mul(this.keys.getPrivate()).getX()\n return formatReturnValue(out, enc, this.curveType.byteLength)\n}\n\nECDH.prototype.getPublicKey = function (enc, format) {\n var key = this.keys.getPublic(format === 'compressed', true)\n if (format === 'hybrid') {\n if (key[key.length - 1] % 2) {\n key[0] = 7\n } else {\n key[0] = 6\n }\n }\n return formatReturnValue(key, enc)\n}\n\nECDH.prototype.getPrivateKey = function (enc) {\n return formatReturnValue(this.keys.getPrivate(), enc)\n}\n\nECDH.prototype.setPublicKey = function (pub, enc) {\n enc = enc || 'utf8'\n if (!Buffer.isBuffer(pub)) {\n pub = new Buffer(pub, enc)\n }\n this.keys._importPublic(pub)\n return this\n}\n\nECDH.prototype.setPrivateKey = function (priv, enc) {\n enc = enc || 'utf8'\n if (!Buffer.isBuffer(priv)) {\n priv = new Buffer(priv, enc)\n }\n\n var _priv = new BN(priv)\n _priv = _priv.toString(16)\n this.keys = this.curve.genKeyPair()\n this.keys._importPrivate(_priv)\n return this\n}\n\nfunction formatReturnValue (bn, enc, len) {\n if (!Array.isArray(bn)) {\n bn = bn.toArray()\n }\n var buf = new Buffer(bn)\n if (len && buf.length < len) {\n var zeros = new Buffer(len - buf.length)\n zeros.fill(0)\n buf = Buffer.concat([zeros, buf])\n }\n if (!enc) {\n return buf\n } else {\n return buf.toString(enc)\n }\n}\n","var createHash = require('create-hash')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function (seed, len) {\n var t = Buffer.alloc(0)\n var i = 0\n var c\n while (t.length < len) {\n c = i2ops(i++)\n t = Buffer.concat([t, createHash('sha1').update(seed).update(c).digest()])\n }\n return t.slice(0, len)\n}\n\nfunction i2ops (c) {\n var out = Buffer.allocUnsafe(4)\n out.writeUInt32BE(c, 0)\n return out\n}\n","module.exports = function xor (a, b) {\n var len = a.length\n var i = -1\n while (++i < len) {\n a[i] ^= b[i]\n }\n return a\n}\n","var BN = require('bn.js')\nvar Buffer = require('safe-buffer').Buffer\n\nfunction withPublic (paddedMsg, key) {\n return Buffer.from(paddedMsg\n .toRed(BN.mont(key.modulus))\n .redPow(new BN(key.publicExponent))\n .fromRed()\n .toArray())\n}\n\nmodule.exports = withPublic\n","var parseKeys = require('parse-asn1')\nvar randomBytes = require('randombytes')\nvar createHash = require('create-hash')\nvar mgf = require('./mgf')\nvar xor = require('./xor')\nvar BN = require('bn.js')\nvar withPublic = require('./withPublic')\nvar crt = require('browserify-rsa')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function publicEncrypt (publicKey, msg, reverse) {\n var padding\n if (publicKey.padding) {\n padding = publicKey.padding\n } else if (reverse) {\n padding = 1\n } else {\n padding = 4\n }\n var key = parseKeys(publicKey)\n var paddedMsg\n if (padding === 4) {\n paddedMsg = oaep(key, msg)\n } else if (padding === 1) {\n paddedMsg = pkcs1(key, msg, reverse)\n } else if (padding === 3) {\n paddedMsg = new BN(msg)\n if (paddedMsg.cmp(key.modulus) >= 0) {\n throw new Error('data too long for modulus')\n }\n } else {\n throw new Error('unknown padding')\n }\n if (reverse) {\n return crt(paddedMsg, key)\n } else {\n return withPublic(paddedMsg, key)\n }\n}\n\nfunction oaep (key, msg) {\n var k = key.modulus.byteLength()\n var mLen = msg.length\n var iHash = createHash('sha1').update(Buffer.alloc(0)).digest()\n var hLen = iHash.length\n var hLen2 = 2 * hLen\n if (mLen > k - hLen2 - 2) {\n throw new Error('message too long')\n }\n var ps = Buffer.alloc(k - mLen - hLen2 - 2)\n var dblen = k - hLen - 1\n var seed = randomBytes(hLen)\n var maskedDb = xor(Buffer.concat([iHash, ps, Buffer.alloc(1, 1), msg], dblen), mgf(seed, dblen))\n var maskedSeed = xor(seed, mgf(maskedDb, hLen))\n return new BN(Buffer.concat([Buffer.alloc(1), maskedSeed, maskedDb], k))\n}\nfunction pkcs1 (key, msg, reverse) {\n var mLen = msg.length\n var k = key.modulus.byteLength()\n if (mLen > k - 11) {\n throw new Error('message too long')\n }\n var ps\n if (reverse) {\n ps = Buffer.alloc(k - mLen - 3, 0xff)\n } else {\n ps = nonZero(k - mLen - 3)\n }\n return new BN(Buffer.concat([Buffer.from([0, reverse ? 1 : 2]), ps, Buffer.alloc(1), msg], k))\n}\nfunction nonZero (len) {\n var out = Buffer.allocUnsafe(len)\n var i = 0\n var cache = randomBytes(len * 2)\n var cur = 0\n var num\n while (i < len) {\n if (cur === cache.length) {\n cache = randomBytes(len * 2)\n cur = 0\n }\n num = cache[cur++]\n if (num) {\n out[i++] = num\n }\n }\n return out\n}\n","var parseKeys = require('parse-asn1')\nvar mgf = require('./mgf')\nvar xor = require('./xor')\nvar BN = require('bn.js')\nvar crt = require('browserify-rsa')\nvar createHash = require('create-hash')\nvar withPublic = require('./withPublic')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function privateDecrypt (privateKey, enc, reverse) {\n var padding\n if (privateKey.padding) {\n padding = privateKey.padding\n } else if (reverse) {\n padding = 1\n } else {\n padding = 4\n }\n\n var key = parseKeys(privateKey)\n var k = key.modulus.byteLength()\n if (enc.length > k || new BN(enc).cmp(key.modulus) >= 0) {\n throw new Error('decryption error')\n }\n var msg\n if (reverse) {\n msg = withPublic(new BN(enc), key)\n } else {\n msg = crt(enc, key)\n }\n var zBuffer = Buffer.alloc(k - msg.length)\n msg = Buffer.concat([zBuffer, msg], k)\n if (padding === 4) {\n return oaep(key, msg)\n } else if (padding === 1) {\n return pkcs1(key, msg, reverse)\n } else if (padding === 3) {\n return msg\n } else {\n throw new Error('unknown padding')\n }\n}\n\nfunction oaep (key, msg) {\n var k = key.modulus.byteLength()\n var iHash = createHash('sha1').update(Buffer.alloc(0)).digest()\n var hLen = iHash.length\n if (msg[0] !== 0) {\n throw new Error('decryption error')\n }\n var maskedSeed = msg.slice(1, hLen + 1)\n var maskedDb = msg.slice(hLen + 1)\n var seed = xor(maskedSeed, mgf(maskedDb, hLen))\n var db = xor(maskedDb, mgf(seed, k - hLen - 1))\n if (compare(iHash, db.slice(0, hLen))) {\n throw new Error('decryption error')\n }\n var i = hLen\n while (db[i] === 0) {\n i++\n }\n if (db[i++] !== 1) {\n throw new Error('decryption error')\n }\n return db.slice(i)\n}\n\nfunction pkcs1 (key, msg, reverse) {\n var p1 = msg.slice(0, 2)\n var i = 2\n var status = 0\n while (msg[i++] !== 0) {\n if (i >= msg.length) {\n status++\n break\n }\n }\n var ps = msg.slice(2, i - 1)\n\n if ((p1.toString('hex') !== '0002' && !reverse) || (p1.toString('hex') !== '0001' && reverse)) {\n status++\n }\n if (ps.length < 8) {\n status++\n }\n if (status) {\n throw new Error('decryption error')\n }\n return msg.slice(i)\n}\nfunction compare (a, b) {\n a = Buffer.from(a)\n b = Buffer.from(b)\n var dif = 0\n var len = a.length\n if (a.length !== b.length) {\n dif++\n len = Math.min(a.length, b.length)\n }\n var i = -1\n while (++i < len) {\n dif += (a[i] ^ b[i])\n }\n return dif\n}\n","exports.publicEncrypt = require('./publicEncrypt')\nexports.privateDecrypt = require('./privateDecrypt')\n\nexports.privateEncrypt = function privateEncrypt (key, buf) {\n return exports.publicEncrypt(key, buf, true)\n}\n\nexports.publicDecrypt = function publicDecrypt (key, buf) {\n return exports.privateDecrypt(key, buf, true)\n}\n","'use strict'\n\nfunction oldBrowser () {\n throw new Error('secure random number generation not supported by this browser\\nuse chrome, FireFox or Internet Explorer 11')\n}\nvar safeBuffer = require('safe-buffer')\nvar randombytes = require('randombytes')\nvar Buffer = safeBuffer.Buffer\nvar kBufferMaxLength = safeBuffer.kMaxLength\nvar crypto = global.crypto || global.msCrypto\nvar kMaxUint32 = Math.pow(2, 32) - 1\nfunction assertOffset (offset, length) {\n if (typeof offset !== 'number' || offset !== offset) { // eslint-disable-line no-self-compare\n throw new TypeError('offset must be a number')\n }\n\n if (offset > kMaxUint32 || offset < 0) {\n throw new TypeError('offset must be a uint32')\n }\n\n if (offset > kBufferMaxLength || offset > length) {\n throw new RangeError('offset out of range')\n }\n}\n\nfunction assertSize (size, offset, length) {\n if (typeof size !== 'number' || size !== size) { // eslint-disable-line no-self-compare\n throw new TypeError('size must be a number')\n }\n\n if (size > kMaxUint32 || size < 0) {\n throw new TypeError('size must be a uint32')\n }\n\n if (size + offset > length || size > kBufferMaxLength) {\n throw new RangeError('buffer too small')\n }\n}\nif ((crypto && crypto.getRandomValues) || !process.browser) {\n exports.randomFill = randomFill\n exports.randomFillSync = randomFillSync\n} else {\n exports.randomFill = oldBrowser\n exports.randomFillSync = oldBrowser\n}\nfunction randomFill (buf, offset, size, cb) {\n if (!Buffer.isBuffer(buf) && !(buf instanceof global.Uint8Array)) {\n throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array')\n }\n\n if (typeof offset === 'function') {\n cb = offset\n offset = 0\n size = buf.length\n } else if (typeof size === 'function') {\n cb = size\n size = buf.length - offset\n } else if (typeof cb !== 'function') {\n throw new TypeError('\"cb\" argument must be a function')\n }\n assertOffset(offset, buf.length)\n assertSize(size, offset, buf.length)\n return actualFill(buf, offset, size, cb)\n}\n\nfunction actualFill (buf, offset, size, cb) {\n if (process.browser) {\n var ourBuf = buf.buffer\n var uint = new Uint8Array(ourBuf, offset, size)\n crypto.getRandomValues(uint)\n if (cb) {\n process.nextTick(function () {\n cb(null, buf)\n })\n return\n }\n return buf\n }\n if (cb) {\n randombytes(size, function (err, bytes) {\n if (err) {\n return cb(err)\n }\n bytes.copy(buf, offset)\n cb(null, buf)\n })\n return\n }\n var bytes = randombytes(size)\n bytes.copy(buf, offset)\n return buf\n}\nfunction randomFillSync (buf, offset, size) {\n if (typeof offset === 'undefined') {\n offset = 0\n }\n if (!Buffer.isBuffer(buf) && !(buf instanceof global.Uint8Array)) {\n throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array')\n }\n\n assertOffset(offset, buf.length)\n\n if (size === undefined) size = buf.length - offset\n\n assertSize(size, offset, buf.length)\n\n return actualFill(buf, offset, size)\n}\n","'use strict'\n\nexports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = require('randombytes')\nexports.createHash = exports.Hash = require('create-hash')\nexports.createHmac = exports.Hmac = require('create-hmac')\n\nvar algos = require('browserify-sign/algos')\nvar algoKeys = Object.keys(algos)\nvar hashes = ['sha1', 'sha224', 'sha256', 'sha384', 'sha512', 'md5', 'rmd160'].concat(algoKeys)\nexports.getHashes = function () {\n return hashes\n}\n\nvar p = require('pbkdf2')\nexports.pbkdf2 = p.pbkdf2\nexports.pbkdf2Sync = p.pbkdf2Sync\n\nvar aes = require('browserify-cipher')\n\nexports.Cipher = aes.Cipher\nexports.createCipher = aes.createCipher\nexports.Cipheriv = aes.Cipheriv\nexports.createCipheriv = aes.createCipheriv\nexports.Decipher = aes.Decipher\nexports.createDecipher = aes.createDecipher\nexports.Decipheriv = aes.Decipheriv\nexports.createDecipheriv = aes.createDecipheriv\nexports.getCiphers = aes.getCiphers\nexports.listCiphers = aes.listCiphers\n\nvar dh = require('diffie-hellman')\n\nexports.DiffieHellmanGroup = dh.DiffieHellmanGroup\nexports.createDiffieHellmanGroup = dh.createDiffieHellmanGroup\nexports.getDiffieHellman = dh.getDiffieHellman\nexports.createDiffieHellman = dh.createDiffieHellman\nexports.DiffieHellman = dh.DiffieHellman\n\nvar sign = require('browserify-sign')\n\nexports.createSign = sign.createSign\nexports.Sign = sign.Sign\nexports.createVerify = sign.createVerify\nexports.Verify = sign.Verify\n\nexports.createECDH = require('create-ecdh')\n\nvar publicEncrypt = require('public-encrypt')\n\nexports.publicEncrypt = publicEncrypt.publicEncrypt\nexports.privateEncrypt = publicEncrypt.privateEncrypt\nexports.publicDecrypt = publicEncrypt.publicDecrypt\nexports.privateDecrypt = publicEncrypt.privateDecrypt\n\n// the least I can do is make error messages for the rest of the node.js/crypto api.\n// ;[\n// 'createCredentials'\n// ].forEach(function (name) {\n// exports[name] = function () {\n// throw new Error([\n// 'sorry, ' + name + ' is not implemented yet',\n// 'we accept pull requests',\n// 'https://github.com/crypto-browserify/crypto-browserify'\n// ].join('\\n'))\n// }\n// })\n\nvar rf = require('randomfill')\n\nexports.randomFill = rf.randomFill\nexports.randomFillSync = rf.randomFillSync\n\nexports.createCredentials = function () {\n throw new Error([\n 'sorry, createCredentials is not implemented yet',\n 'we accept pull requests',\n 'https://github.com/crypto-browserify/crypto-browserify'\n ].join('\\n'))\n}\n\nexports.constants = {\n 'DH_CHECK_P_NOT_SAFE_PRIME': 2,\n 'DH_CHECK_P_NOT_PRIME': 1,\n 'DH_UNABLE_TO_CHECK_GENERATOR': 4,\n 'DH_NOT_SUITABLE_GENERATOR': 8,\n 'NPN_ENABLED': 1,\n 'ALPN_ENABLED': 1,\n 'RSA_PKCS1_PADDING': 1,\n 'RSA_SSLV23_PADDING': 2,\n 'RSA_NO_PADDING': 3,\n 'RSA_PKCS1_OAEP_PADDING': 4,\n 'RSA_X931_PADDING': 5,\n 'RSA_PKCS1_PSS_PADDING': 6,\n 'POINT_CONVERSION_COMPRESSED': 2,\n 'POINT_CONVERSION_UNCOMPRESSED': 4,\n 'POINT_CONVERSION_HYBRID': 6\n}\n","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NodeRandomSource = void 0;\nconst wipe_1 = require(\"@stablelib/wipe\");\nclass NodeRandomSource {\n constructor() {\n this.isAvailable = false;\n this.isInstantiated = false;\n if (typeof require !== \"undefined\") {\n const nodeCrypto = require(\"crypto\");\n if (nodeCrypto && nodeCrypto.randomBytes) {\n this._crypto = nodeCrypto;\n this.isAvailable = true;\n this.isInstantiated = true;\n }\n }\n }\n randomBytes(length) {\n if (!this.isAvailable || !this._crypto) {\n throw new Error(\"Node.js random byte generator is not available.\");\n }\n // Get random bytes (result is Buffer).\n let buffer = this._crypto.randomBytes(length);\n // Make sure we got the length that we requested.\n if (buffer.length !== length) {\n throw new Error(\"NodeRandomSource: got fewer bytes than requested\");\n }\n // Allocate output array.\n const out = new Uint8Array(length);\n // Copy bytes from buffer to output.\n for (let i = 0; i < out.length; i++) {\n out[i] = buffer[i];\n }\n // Cleanup.\n (0, wipe_1.wipe)(buffer);\n return out;\n }\n}\nexports.NodeRandomSource = NodeRandomSource;\n//# sourceMappingURL=node.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SystemRandomSource = void 0;\nconst browser_1 = require(\"./browser\");\nconst node_1 = require(\"./node\");\nclass SystemRandomSource {\n constructor() {\n this.isAvailable = false;\n this.name = \"\";\n // Try browser.\n this._source = new browser_1.BrowserRandomSource();\n if (this._source.isAvailable) {\n this.isAvailable = true;\n this.name = \"Browser\";\n return;\n }\n // If no browser source, try Node.\n this._source = new node_1.NodeRandomSource();\n if (this._source.isAvailable) {\n this.isAvailable = true;\n this.name = \"Node\";\n return;\n }\n // No sources, we're out of options.\n }\n randomBytes(length) {\n if (!this.isAvailable) {\n throw new Error(\"System random byte generator is not available.\");\n }\n return this._source.randomBytes(length);\n }\n}\nexports.SystemRandomSource = SystemRandomSource;\n//# sourceMappingURL=system.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.randomStringForEntropy = exports.randomString = exports.randomUint32 = exports.randomBytes = exports.defaultRandomSource = void 0;\nconst system_1 = require(\"./source/system\");\nconst binary_1 = require(\"@stablelib/binary\");\nconst wipe_1 = require(\"@stablelib/wipe\");\nexports.defaultRandomSource = new system_1.SystemRandomSource();\nfunction randomBytes(length, prng = exports.defaultRandomSource) {\n return prng.randomBytes(length);\n}\nexports.randomBytes = randomBytes;\n/**\n * Returns a uniformly random unsigned 32-bit integer.\n */\nfunction randomUint32(prng = exports.defaultRandomSource) {\n // Generate 4-byte random buffer.\n const buf = randomBytes(4, prng);\n // Convert bytes from buffer into a 32-bit integer.\n // It's not important which byte order to use, since\n // the result is random.\n const result = (0, binary_1.readUint32LE)(buf);\n // Clean the buffer.\n (0, wipe_1.wipe)(buf);\n return result;\n}\nexports.randomUint32 = randomUint32;\n/** 62 alphanumeric characters for default charset of randomString() */\nconst ALPHANUMERIC = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\n/**\n * Returns a uniform random string of the given length\n * with characters from the given charset.\n *\n * Charset must not have more than 256 characters.\n *\n * Default charset generates case-sensitive alphanumeric\n * strings (0-9, A-Z, a-z).\n */\nfunction randomString(length, charset = ALPHANUMERIC, prng = exports.defaultRandomSource) {\n if (charset.length < 2) {\n throw new Error(\"randomString charset is too short\");\n }\n if (charset.length > 256) {\n throw new Error(\"randomString charset is too long\");\n }\n let out = '';\n const charsLen = charset.length;\n const maxByte = 256 - (256 % charsLen);\n while (length > 0) {\n const buf = randomBytes(Math.ceil(length * 256 / maxByte), prng);\n for (let i = 0; i < buf.length && length > 0; i++) {\n const randomByte = buf[i];\n if (randomByte < maxByte) {\n out += charset.charAt(randomByte % charsLen);\n length--;\n }\n }\n (0, wipe_1.wipe)(buf);\n }\n return out;\n}\nexports.randomString = randomString;\n/**\n * Returns uniform random string containing at least the given\n * number of bits of entropy.\n *\n * For example, randomStringForEntropy(128) will return a 22-character\n * alphanumeric string, while randomStringForEntropy(128, \"0123456789\")\n * will return a 39-character numeric string, both will contain at\n * least 128 bits of entropy.\n *\n * Default charset generates case-sensitive alphanumeric\n * strings (0-9, A-Z, a-z).\n */\nfunction randomStringForEntropy(bits, charset = ALPHANUMERIC, prng = exports.defaultRandomSource) {\n const length = Math.ceil(bits / (Math.log(charset.length) / Math.LN2));\n return randomString(length, charset, prng);\n}\nexports.randomStringForEntropy = randomStringForEntropy;\n//# sourceMappingURL=random.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar binary_1 = require(\"@stablelib/binary\");\nvar wipe_1 = require(\"@stablelib/wipe\");\nexports.DIGEST_LENGTH = 32;\nexports.BLOCK_SIZE = 64;\n/**\n * SHA2-256 cryptographic hash algorithm.\n */\nvar SHA256 = /** @class */ (function () {\n function SHA256() {\n /** Length of hash output */\n this.digestLength = exports.DIGEST_LENGTH;\n /** Block size */\n this.blockSize = exports.BLOCK_SIZE;\n // Note: Int32Array is used instead of Uint32Array for performance reasons.\n this._state = new Int32Array(8); // hash state\n this._temp = new Int32Array(64); // temporary state\n this._buffer = new Uint8Array(128); // buffer for data to hash\n this._bufferLength = 0; // number of bytes in buffer\n this._bytesHashed = 0; // number of total bytes hashed\n this._finished = false; // indicates whether the hash was finalized\n this.reset();\n }\n SHA256.prototype._initState = function () {\n this._state[0] = 0x6a09e667;\n this._state[1] = 0xbb67ae85;\n this._state[2] = 0x3c6ef372;\n this._state[3] = 0xa54ff53a;\n this._state[4] = 0x510e527f;\n this._state[5] = 0x9b05688c;\n this._state[6] = 0x1f83d9ab;\n this._state[7] = 0x5be0cd19;\n };\n /**\n * Resets hash state making it possible\n * to re-use this instance to hash other data.\n */\n SHA256.prototype.reset = function () {\n this._initState();\n this._bufferLength = 0;\n this._bytesHashed = 0;\n this._finished = false;\n return this;\n };\n /**\n * Cleans internal buffers and resets hash state.\n */\n SHA256.prototype.clean = function () {\n wipe_1.wipe(this._buffer);\n wipe_1.wipe(this._temp);\n this.reset();\n };\n /**\n * Updates hash state with the given data.\n *\n * Throws error when trying to update already finalized hash:\n * instance must be reset to update it again.\n */\n SHA256.prototype.update = function (data, dataLength) {\n if (dataLength === void 0) { dataLength = data.length; }\n if (this._finished) {\n throw new Error(\"SHA256: can't update because hash was finished.\");\n }\n var dataPos = 0;\n this._bytesHashed += dataLength;\n if (this._bufferLength > 0) {\n while (this._bufferLength < this.blockSize && dataLength > 0) {\n this._buffer[this._bufferLength++] = data[dataPos++];\n dataLength--;\n }\n if (this._bufferLength === this.blockSize) {\n hashBlocks(this._temp, this._state, this._buffer, 0, this.blockSize);\n this._bufferLength = 0;\n }\n }\n if (dataLength >= this.blockSize) {\n dataPos = hashBlocks(this._temp, this._state, data, dataPos, dataLength);\n dataLength %= this.blockSize;\n }\n while (dataLength > 0) {\n this._buffer[this._bufferLength++] = data[dataPos++];\n dataLength--;\n }\n return this;\n };\n /**\n * Finalizes hash state and puts hash into out.\n * If hash was already finalized, puts the same value.\n */\n SHA256.prototype.finish = function (out) {\n if (!this._finished) {\n var bytesHashed = this._bytesHashed;\n var left = this._bufferLength;\n var bitLenHi = (bytesHashed / 0x20000000) | 0;\n var bitLenLo = bytesHashed << 3;\n var padLength = (bytesHashed % 64 < 56) ? 64 : 128;\n this._buffer[left] = 0x80;\n for (var i = left + 1; i < padLength - 8; i++) {\n this._buffer[i] = 0;\n }\n binary_1.writeUint32BE(bitLenHi, this._buffer, padLength - 8);\n binary_1.writeUint32BE(bitLenLo, this._buffer, padLength - 4);\n hashBlocks(this._temp, this._state, this._buffer, 0, padLength);\n this._finished = true;\n }\n for (var i = 0; i < this.digestLength / 4; i++) {\n binary_1.writeUint32BE(this._state[i], out, i * 4);\n }\n return this;\n };\n /**\n * Returns the final hash digest.\n */\n SHA256.prototype.digest = function () {\n var out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n };\n /**\n * Function useful for HMAC/PBKDF2 optimization.\n * Returns hash state to be used with restoreState().\n * Only chain value is saved, not buffers or other\n * state variables.\n */\n SHA256.prototype.saveState = function () {\n if (this._finished) {\n throw new Error(\"SHA256: cannot save finished state\");\n }\n return {\n state: new Int32Array(this._state),\n buffer: this._bufferLength > 0 ? new Uint8Array(this._buffer) : undefined,\n bufferLength: this._bufferLength,\n bytesHashed: this._bytesHashed\n };\n };\n /**\n * Function useful for HMAC/PBKDF2 optimization.\n * Restores state saved by saveState() and sets bytesHashed\n * to the given value.\n */\n SHA256.prototype.restoreState = function (savedState) {\n this._state.set(savedState.state);\n this._bufferLength = savedState.bufferLength;\n if (savedState.buffer) {\n this._buffer.set(savedState.buffer);\n }\n this._bytesHashed = savedState.bytesHashed;\n this._finished = false;\n return this;\n };\n /**\n * Cleans state returned by saveState().\n */\n SHA256.prototype.cleanSavedState = function (savedState) {\n wipe_1.wipe(savedState.state);\n if (savedState.buffer) {\n wipe_1.wipe(savedState.buffer);\n }\n savedState.bufferLength = 0;\n savedState.bytesHashed = 0;\n };\n return SHA256;\n}());\nexports.SHA256 = SHA256;\n// Constants\nvar K = new Int32Array([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b,\n 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01,\n 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7,\n 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152,\n 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,\n 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc,\n 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819,\n 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08,\n 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f,\n 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n]);\nfunction hashBlocks(w, v, p, pos, len) {\n while (len >= 64) {\n var a = v[0];\n var b = v[1];\n var c = v[2];\n var d = v[3];\n var e = v[4];\n var f = v[5];\n var g = v[6];\n var h = v[7];\n for (var i = 0; i < 16; i++) {\n var j = pos + i * 4;\n w[i] = binary_1.readUint32BE(p, j);\n }\n for (var i = 16; i < 64; i++) {\n var u = w[i - 2];\n var t1 = (u >>> 17 | u << (32 - 17)) ^ (u >>> 19 | u << (32 - 19)) ^ (u >>> 10);\n u = w[i - 15];\n var t2 = (u >>> 7 | u << (32 - 7)) ^ (u >>> 18 | u << (32 - 18)) ^ (u >>> 3);\n w[i] = (t1 + w[i - 7] | 0) + (t2 + w[i - 16] | 0);\n }\n for (var i = 0; i < 64; i++) {\n var t1 = (((((e >>> 6 | e << (32 - 6)) ^ (e >>> 11 | e << (32 - 11)) ^\n (e >>> 25 | e << (32 - 25))) + ((e & f) ^ (~e & g))) | 0) +\n ((h + ((K[i] + w[i]) | 0)) | 0)) | 0;\n var t2 = (((a >>> 2 | a << (32 - 2)) ^ (a >>> 13 | a << (32 - 13)) ^\n (a >>> 22 | a << (32 - 22))) + ((a & b) ^ (a & c) ^ (b & c))) | 0;\n h = g;\n g = f;\n f = e;\n e = (d + t1) | 0;\n d = c;\n c = b;\n b = a;\n a = (t1 + t2) | 0;\n }\n v[0] += a;\n v[1] += b;\n v[2] += c;\n v[3] += d;\n v[4] += e;\n v[5] += f;\n v[6] += g;\n v[7] += h;\n pos += 64;\n len -= 64;\n }\n return pos;\n}\nfunction hash(data) {\n var h = new SHA256();\n h.update(data);\n var digest = h.digest();\n h.clean();\n return digest;\n}\nexports.hash = hash;\n//# sourceMappingURL=sha256.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sharedKey = exports.generateKeyPair = exports.generateKeyPairFromSeed = exports.scalarMultBase = exports.scalarMult = exports.SHARED_KEY_LENGTH = exports.SECRET_KEY_LENGTH = exports.PUBLIC_KEY_LENGTH = void 0;\n/**\n * Package x25519 implements X25519 key agreement.\n */\nconst random_1 = require(\"@stablelib/random\");\nconst wipe_1 = require(\"@stablelib/wipe\");\nexports.PUBLIC_KEY_LENGTH = 32;\nexports.SECRET_KEY_LENGTH = 32;\nexports.SHARED_KEY_LENGTH = 32;\n// Returns new zero-filled 16-element GF (Float64Array).\n// If passed an array of numbers, prefills the returned\n// array with them.\n//\n// We use Float64Array, because we need 48-bit numbers\n// for this implementation.\nfunction gf(init) {\n const r = new Float64Array(16);\n if (init) {\n for (let i = 0; i < init.length; i++) {\n r[i] = init[i];\n }\n }\n return r;\n}\n// Base point.\nconst _9 = new Uint8Array(32);\n_9[0] = 9;\nconst _121665 = gf([0xdb41, 1]);\nfunction car25519(o) {\n let c = 1;\n for (let i = 0; i < 16; i++) {\n let v = o[i] + c + 65535;\n c = Math.floor(v / 65536);\n o[i] = v - c * 65536;\n }\n o[0] += c - 1 + 37 * (c - 1);\n}\nfunction sel25519(p, q, b) {\n const c = ~(b - 1);\n for (let i = 0; i < 16; i++) {\n const t = c & (p[i] ^ q[i]);\n p[i] ^= t;\n q[i] ^= t;\n }\n}\nfunction pack25519(o, n) {\n const m = gf();\n const t = gf();\n for (let i = 0; i < 16; i++) {\n t[i] = n[i];\n }\n car25519(t);\n car25519(t);\n car25519(t);\n for (let j = 0; j < 2; j++) {\n m[0] = t[0] - 0xffed;\n for (let i = 1; i < 15; i++) {\n m[i] = t[i] - 0xffff - ((m[i - 1] >> 16) & 1);\n m[i - 1] &= 0xffff;\n }\n m[15] = t[15] - 0x7fff - ((m[14] >> 16) & 1);\n const b = (m[15] >> 16) & 1;\n m[14] &= 0xffff;\n sel25519(t, m, 1 - b);\n }\n for (let i = 0; i < 16; i++) {\n o[2 * i] = t[i] & 0xff;\n o[2 * i + 1] = t[i] >> 8;\n }\n}\nfunction unpack25519(o, n) {\n for (let i = 0; i < 16; i++) {\n o[i] = n[2 * i] + (n[2 * i + 1] << 8);\n }\n o[15] &= 0x7fff;\n}\nfunction add(o, a, b) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] + b[i];\n }\n}\nfunction sub(o, a, b) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] - b[i];\n }\n}\nfunction mul(o, a, b) {\n let v, c, t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0, t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0, t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0, t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0, b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3], b4 = b[4], b5 = b[5], b6 = b[6], b7 = b[7], b8 = b[8], b9 = b[9], b10 = b[10], b11 = b[11], b12 = b[12], b13 = b[13], b14 = b[14], b15 = b[15];\n v = a[0];\n t0 += v * b0;\n t1 += v * b1;\n t2 += v * b2;\n t3 += v * b3;\n t4 += v * b4;\n t5 += v * b5;\n t6 += v * b6;\n t7 += v * b7;\n t8 += v * b8;\n t9 += v * b9;\n t10 += v * b10;\n t11 += v * b11;\n t12 += v * b12;\n t13 += v * b13;\n t14 += v * b14;\n t15 += v * b15;\n v = a[1];\n t1 += v * b0;\n t2 += v * b1;\n t3 += v * b2;\n t4 += v * b3;\n t5 += v * b4;\n t6 += v * b5;\n t7 += v * b6;\n t8 += v * b7;\n t9 += v * b8;\n t10 += v * b9;\n t11 += v * b10;\n t12 += v * b11;\n t13 += v * b12;\n t14 += v * b13;\n t15 += v * b14;\n t16 += v * b15;\n v = a[2];\n t2 += v * b0;\n t3 += v * b1;\n t4 += v * b2;\n t5 += v * b3;\n t6 += v * b4;\n t7 += v * b5;\n t8 += v * b6;\n t9 += v * b7;\n t10 += v * b8;\n t11 += v * b9;\n t12 += v * b10;\n t13 += v * b11;\n t14 += v * b12;\n t15 += v * b13;\n t16 += v * b14;\n t17 += v * b15;\n v = a[3];\n t3 += v * b0;\n t4 += v * b1;\n t5 += v * b2;\n t6 += v * b3;\n t7 += v * b4;\n t8 += v * b5;\n t9 += v * b6;\n t10 += v * b7;\n t11 += v * b8;\n t12 += v * b9;\n t13 += v * b10;\n t14 += v * b11;\n t15 += v * b12;\n t16 += v * b13;\n t17 += v * b14;\n t18 += v * b15;\n v = a[4];\n t4 += v * b0;\n t5 += v * b1;\n t6 += v * b2;\n t7 += v * b3;\n t8 += v * b4;\n t9 += v * b5;\n t10 += v * b6;\n t11 += v * b7;\n t12 += v * b8;\n t13 += v * b9;\n t14 += v * b10;\n t15 += v * b11;\n t16 += v * b12;\n t17 += v * b13;\n t18 += v * b14;\n t19 += v * b15;\n v = a[5];\n t5 += v * b0;\n t6 += v * b1;\n t7 += v * b2;\n t8 += v * b3;\n t9 += v * b4;\n t10 += v * b5;\n t11 += v * b6;\n t12 += v * b7;\n t13 += v * b8;\n t14 += v * b9;\n t15 += v * b10;\n t16 += v * b11;\n t17 += v * b12;\n t18 += v * b13;\n t19 += v * b14;\n t20 += v * b15;\n v = a[6];\n t6 += v * b0;\n t7 += v * b1;\n t8 += v * b2;\n t9 += v * b3;\n t10 += v * b4;\n t11 += v * b5;\n t12 += v * b6;\n t13 += v * b7;\n t14 += v * b8;\n t15 += v * b9;\n t16 += v * b10;\n t17 += v * b11;\n t18 += v * b12;\n t19 += v * b13;\n t20 += v * b14;\n t21 += v * b15;\n v = a[7];\n t7 += v * b0;\n t8 += v * b1;\n t9 += v * b2;\n t10 += v * b3;\n t11 += v * b4;\n t12 += v * b5;\n t13 += v * b6;\n t14 += v * b7;\n t15 += v * b8;\n t16 += v * b9;\n t17 += v * b10;\n t18 += v * b11;\n t19 += v * b12;\n t20 += v * b13;\n t21 += v * b14;\n t22 += v * b15;\n v = a[8];\n t8 += v * b0;\n t9 += v * b1;\n t10 += v * b2;\n t11 += v * b3;\n t12 += v * b4;\n t13 += v * b5;\n t14 += v * b6;\n t15 += v * b7;\n t16 += v * b8;\n t17 += v * b9;\n t18 += v * b10;\n t19 += v * b11;\n t20 += v * b12;\n t21 += v * b13;\n t22 += v * b14;\n t23 += v * b15;\n v = a[9];\n t9 += v * b0;\n t10 += v * b1;\n t11 += v * b2;\n t12 += v * b3;\n t13 += v * b4;\n t14 += v * b5;\n t15 += v * b6;\n t16 += v * b7;\n t17 += v * b8;\n t18 += v * b9;\n t19 += v * b10;\n t20 += v * b11;\n t21 += v * b12;\n t22 += v * b13;\n t23 += v * b14;\n t24 += v * b15;\n v = a[10];\n t10 += v * b0;\n t11 += v * b1;\n t12 += v * b2;\n t13 += v * b3;\n t14 += v * b4;\n t15 += v * b5;\n t16 += v * b6;\n t17 += v * b7;\n t18 += v * b8;\n t19 += v * b9;\n t20 += v * b10;\n t21 += v * b11;\n t22 += v * b12;\n t23 += v * b13;\n t24 += v * b14;\n t25 += v * b15;\n v = a[11];\n t11 += v * b0;\n t12 += v * b1;\n t13 += v * b2;\n t14 += v * b3;\n t15 += v * b4;\n t16 += v * b5;\n t17 += v * b6;\n t18 += v * b7;\n t19 += v * b8;\n t20 += v * b9;\n t21 += v * b10;\n t22 += v * b11;\n t23 += v * b12;\n t24 += v * b13;\n t25 += v * b14;\n t26 += v * b15;\n v = a[12];\n t12 += v * b0;\n t13 += v * b1;\n t14 += v * b2;\n t15 += v * b3;\n t16 += v * b4;\n t17 += v * b5;\n t18 += v * b6;\n t19 += v * b7;\n t20 += v * b8;\n t21 += v * b9;\n t22 += v * b10;\n t23 += v * b11;\n t24 += v * b12;\n t25 += v * b13;\n t26 += v * b14;\n t27 += v * b15;\n v = a[13];\n t13 += v * b0;\n t14 += v * b1;\n t15 += v * b2;\n t16 += v * b3;\n t17 += v * b4;\n t18 += v * b5;\n t19 += v * b6;\n t20 += v * b7;\n t21 += v * b8;\n t22 += v * b9;\n t23 += v * b10;\n t24 += v * b11;\n t25 += v * b12;\n t26 += v * b13;\n t27 += v * b14;\n t28 += v * b15;\n v = a[14];\n t14 += v * b0;\n t15 += v * b1;\n t16 += v * b2;\n t17 += v * b3;\n t18 += v * b4;\n t19 += v * b5;\n t20 += v * b6;\n t21 += v * b7;\n t22 += v * b8;\n t23 += v * b9;\n t24 += v * b10;\n t25 += v * b11;\n t26 += v * b12;\n t27 += v * b13;\n t28 += v * b14;\n t29 += v * b15;\n v = a[15];\n t15 += v * b0;\n t16 += v * b1;\n t17 += v * b2;\n t18 += v * b3;\n t19 += v * b4;\n t20 += v * b5;\n t21 += v * b6;\n t22 += v * b7;\n t23 += v * b8;\n t24 += v * b9;\n t25 += v * b10;\n t26 += v * b11;\n t27 += v * b12;\n t28 += v * b13;\n t29 += v * b14;\n t30 += v * b15;\n t0 += 38 * t16;\n t1 += 38 * t17;\n t2 += 38 * t18;\n t3 += 38 * t19;\n t4 += 38 * t20;\n t5 += 38 * t21;\n t6 += 38 * t22;\n t7 += 38 * t23;\n t8 += 38 * t24;\n t9 += 38 * t25;\n t10 += 38 * t26;\n t11 += 38 * t27;\n t12 += 38 * t28;\n t13 += 38 * t29;\n t14 += 38 * t30;\n // t15 left as is\n // first car\n c = 1;\n v = t0 + c + 65535;\n c = Math.floor(v / 65536);\n t0 = v - c * 65536;\n v = t1 + c + 65535;\n c = Math.floor(v / 65536);\n t1 = v - c * 65536;\n v = t2 + c + 65535;\n c = Math.floor(v / 65536);\n t2 = v - c * 65536;\n v = t3 + c + 65535;\n c = Math.floor(v / 65536);\n t3 = v - c * 65536;\n v = t4 + c + 65535;\n c = Math.floor(v / 65536);\n t4 = v - c * 65536;\n v = t5 + c + 65535;\n c = Math.floor(v / 65536);\n t5 = v - c * 65536;\n v = t6 + c + 65535;\n c = Math.floor(v / 65536);\n t6 = v - c * 65536;\n v = t7 + c + 65535;\n c = Math.floor(v / 65536);\n t7 = v - c * 65536;\n v = t8 + c + 65535;\n c = Math.floor(v / 65536);\n t8 = v - c * 65536;\n v = t9 + c + 65535;\n c = Math.floor(v / 65536);\n t9 = v - c * 65536;\n v = t10 + c + 65535;\n c = Math.floor(v / 65536);\n t10 = v - c * 65536;\n v = t11 + c + 65535;\n c = Math.floor(v / 65536);\n t11 = v - c * 65536;\n v = t12 + c + 65535;\n c = Math.floor(v / 65536);\n t12 = v - c * 65536;\n v = t13 + c + 65535;\n c = Math.floor(v / 65536);\n t13 = v - c * 65536;\n v = t14 + c + 65535;\n c = Math.floor(v / 65536);\n t14 = v - c * 65536;\n v = t15 + c + 65535;\n c = Math.floor(v / 65536);\n t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\n // second car\n c = 1;\n v = t0 + c + 65535;\n c = Math.floor(v / 65536);\n t0 = v - c * 65536;\n v = t1 + c + 65535;\n c = Math.floor(v / 65536);\n t1 = v - c * 65536;\n v = t2 + c + 65535;\n c = Math.floor(v / 65536);\n t2 = v - c * 65536;\n v = t3 + c + 65535;\n c = Math.floor(v / 65536);\n t3 = v - c * 65536;\n v = t4 + c + 65535;\n c = Math.floor(v / 65536);\n t4 = v - c * 65536;\n v = t5 + c + 65535;\n c = Math.floor(v / 65536);\n t5 = v - c * 65536;\n v = t6 + c + 65535;\n c = Math.floor(v / 65536);\n t6 = v - c * 65536;\n v = t7 + c + 65535;\n c = Math.floor(v / 65536);\n t7 = v - c * 65536;\n v = t8 + c + 65535;\n c = Math.floor(v / 65536);\n t8 = v - c * 65536;\n v = t9 + c + 65535;\n c = Math.floor(v / 65536);\n t9 = v - c * 65536;\n v = t10 + c + 65535;\n c = Math.floor(v / 65536);\n t10 = v - c * 65536;\n v = t11 + c + 65535;\n c = Math.floor(v / 65536);\n t11 = v - c * 65536;\n v = t12 + c + 65535;\n c = Math.floor(v / 65536);\n t12 = v - c * 65536;\n v = t13 + c + 65535;\n c = Math.floor(v / 65536);\n t13 = v - c * 65536;\n v = t14 + c + 65535;\n c = Math.floor(v / 65536);\n t14 = v - c * 65536;\n v = t15 + c + 65535;\n c = Math.floor(v / 65536);\n t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\n o[0] = t0;\n o[1] = t1;\n o[2] = t2;\n o[3] = t3;\n o[4] = t4;\n o[5] = t5;\n o[6] = t6;\n o[7] = t7;\n o[8] = t8;\n o[9] = t9;\n o[10] = t10;\n o[11] = t11;\n o[12] = t12;\n o[13] = t13;\n o[14] = t14;\n o[15] = t15;\n}\nfunction square(o, a) {\n mul(o, a, a);\n}\nfunction inv25519(o, inp) {\n const c = gf();\n for (let i = 0; i < 16; i++) {\n c[i] = inp[i];\n }\n for (let i = 253; i >= 0; i--) {\n square(c, c);\n if (i !== 2 && i !== 4) {\n mul(c, c, inp);\n }\n }\n for (let i = 0; i < 16; i++) {\n o[i] = c[i];\n }\n}\nfunction scalarMult(n, p) {\n const z = new Uint8Array(32);\n const x = new Float64Array(80);\n const a = gf(), b = gf(), c = gf(), d = gf(), e = gf(), f = gf();\n for (let i = 0; i < 31; i++) {\n z[i] = n[i];\n }\n z[31] = (n[31] & 127) | 64;\n z[0] &= 248;\n unpack25519(x, p);\n for (let i = 0; i < 16; i++) {\n b[i] = x[i];\n }\n a[0] = d[0] = 1;\n for (let i = 254; i >= 0; --i) {\n const r = (z[i >>> 3] >>> (i & 7)) & 1;\n sel25519(a, b, r);\n sel25519(c, d, r);\n add(e, a, c);\n sub(a, a, c);\n add(c, b, d);\n sub(b, b, d);\n square(d, e);\n square(f, a);\n mul(a, c, a);\n mul(c, b, e);\n add(e, a, c);\n sub(a, a, c);\n square(b, a);\n sub(c, d, f);\n mul(a, c, _121665);\n add(a, a, d);\n mul(c, c, a);\n mul(a, d, f);\n mul(d, b, x);\n square(b, e);\n sel25519(a, b, r);\n sel25519(c, d, r);\n }\n for (let i = 0; i < 16; i++) {\n x[i + 16] = a[i];\n x[i + 32] = c[i];\n x[i + 48] = b[i];\n x[i + 64] = d[i];\n }\n const x32 = x.subarray(32);\n const x16 = x.subarray(16);\n inv25519(x32, x32);\n mul(x16, x16, x32);\n const q = new Uint8Array(32);\n pack25519(q, x16);\n return q;\n}\nexports.scalarMult = scalarMult;\nfunction scalarMultBase(n) {\n return scalarMult(n, _9);\n}\nexports.scalarMultBase = scalarMultBase;\nfunction generateKeyPairFromSeed(seed) {\n if (seed.length !== exports.SECRET_KEY_LENGTH) {\n throw new Error(`x25519: seed must be ${exports.SECRET_KEY_LENGTH} bytes`);\n }\n const secretKey = new Uint8Array(seed);\n const publicKey = scalarMultBase(secretKey);\n return {\n publicKey,\n secretKey\n };\n}\nexports.generateKeyPairFromSeed = generateKeyPairFromSeed;\nfunction generateKeyPair(prng) {\n const seed = (0, random_1.randomBytes)(32, prng);\n const result = generateKeyPairFromSeed(seed);\n (0, wipe_1.wipe)(seed);\n return result;\n}\nexports.generateKeyPair = generateKeyPair;\n/**\n * Returns a shared key between our secret key and a peer's public key.\n *\n * Throws an error if the given keys are of wrong length.\n *\n * If rejectZero is true throws if the calculated shared key is all-zero.\n * From RFC 7748:\n *\n * > Protocol designers using Diffie-Hellman over the curves defined in\n * > this document must not assume \"contributory behavior\". Specially,\n * > contributory behavior means that both parties' private keys\n * > contribute to the resulting shared key. Since curve25519 and\n * > curve448 have cofactors of 8 and 4 (respectively), an input point of\n * > small order will eliminate any contribution from the other party's\n * > private key. This situation can be detected by checking for the all-\n * > zero output, which implementations MAY do, as specified in Section 6.\n * > However, a large number of existing implementations do not do this.\n *\n * IMPORTANT: the returned key is a raw result of scalar multiplication.\n * To use it as a key material, hash it with a cryptographic hash function.\n */\nfunction sharedKey(mySecretKey, theirPublicKey, rejectZero = false) {\n if (mySecretKey.length !== exports.PUBLIC_KEY_LENGTH) {\n throw new Error(\"X25519: incorrect secret key length\");\n }\n if (theirPublicKey.length !== exports.PUBLIC_KEY_LENGTH) {\n throw new Error(\"X25519: incorrect public key length\");\n }\n const result = scalarMult(mySecretKey, theirPublicKey);\n if (rejectZero) {\n let zeros = 0;\n for (let i = 0; i < result.length; i++) {\n zeros |= result[i];\n }\n if (zeros === 0) {\n throw new Error(\"X25519: invalid shared key\");\n }\n }\n return result;\n}\nexports.sharedKey = sharedKey;\n//# sourceMappingURL=x25519.js.map","export function asUint8Array(buf) {\n if (globalThis.Buffer != null) {\n return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);\n }\n return buf;\n}","import { asUint8Array } from './util/as-uint8array.js';\nexport function alloc(size = 0) {\n if (globalThis.Buffer != null && globalThis.Buffer.alloc != null) {\n return asUint8Array(globalThis.Buffer.alloc(size));\n }\n return new Uint8Array(size);\n}\nexport function allocUnsafe(size = 0) {\n if (globalThis.Buffer != null && globalThis.Buffer.allocUnsafe != null) {\n return asUint8Array(globalThis.Buffer.allocUnsafe(size));\n }\n return new Uint8Array(size);\n}","import { allocUnsafe } from './alloc.js';\nimport { asUint8Array } from './util/as-uint8array.js';\nexport function concat(arrays, length) {\n if (!length) {\n length = arrays.reduce((acc, curr) => acc + curr.length, 0);\n }\n const output = allocUnsafe(length);\n let offset = 0;\n for (const arr of arrays) {\n output.set(arr, offset);\n offset += arr.length;\n }\n return asUint8Array(output);\n}","function base(ALPHABET, name) {\n if (ALPHABET.length >= 255) {\n throw new TypeError('Alphabet too long');\n }\n var BASE_MAP = new Uint8Array(256);\n for (var j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255;\n }\n for (var i = 0; i < ALPHABET.length; i++) {\n var x = ALPHABET.charAt(i);\n var xc = x.charCodeAt(0);\n if (BASE_MAP[xc] !== 255) {\n throw new TypeError(x + ' is ambiguous');\n }\n BASE_MAP[xc] = i;\n }\n var BASE = ALPHABET.length;\n var LEADER = ALPHABET.charAt(0);\n var FACTOR = Math.log(BASE) / Math.log(256);\n var iFACTOR = Math.log(256) / Math.log(BASE);\n function encode(source) {\n if (source instanceof Uint8Array);\n else if (ArrayBuffer.isView(source)) {\n source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength);\n } else if (Array.isArray(source)) {\n source = Uint8Array.from(source);\n }\n if (!(source instanceof Uint8Array)) {\n throw new TypeError('Expected Uint8Array');\n }\n if (source.length === 0) {\n return '';\n }\n var zeroes = 0;\n var length = 0;\n var pbegin = 0;\n var pend = source.length;\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++;\n zeroes++;\n }\n var size = (pend - pbegin) * iFACTOR + 1 >>> 0;\n var b58 = new Uint8Array(size);\n while (pbegin !== pend) {\n var carry = source[pbegin];\n var i = 0;\n for (var it1 = size - 1; (carry !== 0 || i < length) && it1 !== -1; it1--, i++) {\n carry += 256 * b58[it1] >>> 0;\n b58[it1] = carry % BASE >>> 0;\n carry = carry / BASE >>> 0;\n }\n if (carry !== 0) {\n throw new Error('Non-zero carry');\n }\n length = i;\n pbegin++;\n }\n var it2 = size - length;\n while (it2 !== size && b58[it2] === 0) {\n it2++;\n }\n var str = LEADER.repeat(zeroes);\n for (; it2 < size; ++it2) {\n str += ALPHABET.charAt(b58[it2]);\n }\n return str;\n }\n function decodeUnsafe(source) {\n if (typeof source !== 'string') {\n throw new TypeError('Expected String');\n }\n if (source.length === 0) {\n return new Uint8Array();\n }\n var psz = 0;\n if (source[psz] === ' ') {\n return;\n }\n var zeroes = 0;\n var length = 0;\n while (source[psz] === LEADER) {\n zeroes++;\n psz++;\n }\n var size = (source.length - psz) * FACTOR + 1 >>> 0;\n var b256 = new Uint8Array(size);\n while (source[psz]) {\n var carry = BASE_MAP[source.charCodeAt(psz)];\n if (carry === 255) {\n return;\n }\n var i = 0;\n for (var it3 = size - 1; (carry !== 0 || i < length) && it3 !== -1; it3--, i++) {\n carry += BASE * b256[it3] >>> 0;\n b256[it3] = carry % 256 >>> 0;\n carry = carry / 256 >>> 0;\n }\n if (carry !== 0) {\n throw new Error('Non-zero carry');\n }\n length = i;\n psz++;\n }\n if (source[psz] === ' ') {\n return;\n }\n var it4 = size - length;\n while (it4 !== size && b256[it4] === 0) {\n it4++;\n }\n var vch = new Uint8Array(zeroes + (size - it4));\n var j = zeroes;\n while (it4 !== size) {\n vch[j++] = b256[it4++];\n }\n return vch;\n }\n function decode(string) {\n var buffer = decodeUnsafe(string);\n if (buffer) {\n return buffer;\n }\n throw new Error(`Non-${ name } character`);\n }\n return {\n encode: encode,\n decodeUnsafe: decodeUnsafe,\n decode: decode\n };\n}\nvar src = base;\nvar _brrp__multiformats_scope_baseX = src;\nexport default _brrp__multiformats_scope_baseX;","const empty = new Uint8Array(0);\nconst toHex = d => d.reduce((hex, byte) => hex + byte.toString(16).padStart(2, '0'), '');\nconst fromHex = hex => {\n const hexes = hex.match(/../g);\n return hexes ? new Uint8Array(hexes.map(b => parseInt(b, 16))) : empty;\n};\nconst equals = (aa, bb) => {\n if (aa === bb)\n return true;\n if (aa.byteLength !== bb.byteLength) {\n return false;\n }\n for (let ii = 0; ii < aa.byteLength; ii++) {\n if (aa[ii] !== bb[ii]) {\n return false;\n }\n }\n return true;\n};\nconst coerce = o => {\n if (o instanceof Uint8Array && o.constructor.name === 'Uint8Array')\n return o;\n if (o instanceof ArrayBuffer)\n return new Uint8Array(o);\n if (ArrayBuffer.isView(o)) {\n return new Uint8Array(o.buffer, o.byteOffset, o.byteLength);\n }\n throw new Error('Unknown type, must be binary type');\n};\nconst isBinary = o => o instanceof ArrayBuffer || ArrayBuffer.isView(o);\nconst fromString = str => new TextEncoder().encode(str);\nconst toString = b => new TextDecoder().decode(b);\nexport {\n equals,\n coerce,\n isBinary,\n fromHex,\n toHex,\n fromString,\n toString,\n empty\n};","import basex from '../../vendor/base-x.js';\nimport { coerce } from '../bytes.js';\nclass Encoder {\n constructor(name, prefix, baseEncode) {\n this.name = name;\n this.prefix = prefix;\n this.baseEncode = baseEncode;\n }\n encode(bytes) {\n if (bytes instanceof Uint8Array) {\n return `${ this.prefix }${ this.baseEncode(bytes) }`;\n } else {\n throw Error('Unknown type, must be binary type');\n }\n }\n}\nclass Decoder {\n constructor(name, prefix, baseDecode) {\n this.name = name;\n this.prefix = prefix;\n if (prefix.codePointAt(0) === undefined) {\n throw new Error('Invalid prefix character');\n }\n this.prefixCodePoint = prefix.codePointAt(0);\n this.baseDecode = baseDecode;\n }\n decode(text) {\n if (typeof text === 'string') {\n if (text.codePointAt(0) !== this.prefixCodePoint) {\n throw Error(`Unable to decode multibase string ${ JSON.stringify(text) }, ${ this.name } decoder only supports inputs prefixed with ${ this.prefix }`);\n }\n return this.baseDecode(text.slice(this.prefix.length));\n } else {\n throw Error('Can only multibase decode strings');\n }\n }\n or(decoder) {\n return or(this, decoder);\n }\n}\nclass ComposedDecoder {\n constructor(decoders) {\n this.decoders = decoders;\n }\n or(decoder) {\n return or(this, decoder);\n }\n decode(input) {\n const prefix = input[0];\n const decoder = this.decoders[prefix];\n if (decoder) {\n return decoder.decode(input);\n } else {\n throw RangeError(`Unable to decode multibase string ${ JSON.stringify(input) }, only inputs prefixed with ${ Object.keys(this.decoders) } are supported`);\n }\n }\n}\nexport const or = (left, right) => new ComposedDecoder({\n ...left.decoders || { [left.prefix]: left },\n ...right.decoders || { [right.prefix]: right }\n});\nexport class Codec {\n constructor(name, prefix, baseEncode, baseDecode) {\n this.name = name;\n this.prefix = prefix;\n this.baseEncode = baseEncode;\n this.baseDecode = baseDecode;\n this.encoder = new Encoder(name, prefix, baseEncode);\n this.decoder = new Decoder(name, prefix, baseDecode);\n }\n encode(input) {\n return this.encoder.encode(input);\n }\n decode(input) {\n return this.decoder.decode(input);\n }\n}\nexport const from = ({name, prefix, encode, decode}) => new Codec(name, prefix, encode, decode);\nexport const baseX = ({prefix, name, alphabet}) => {\n const {encode, decode} = basex(alphabet, name);\n return from({\n prefix,\n name,\n encode,\n decode: text => coerce(decode(text))\n });\n};\nconst decode = (string, alphabet, bitsPerChar, name) => {\n const codes = {};\n for (let i = 0; i < alphabet.length; ++i) {\n codes[alphabet[i]] = i;\n }\n let end = string.length;\n while (string[end - 1] === '=') {\n --end;\n }\n const out = new Uint8Array(end * bitsPerChar / 8 | 0);\n let bits = 0;\n let buffer = 0;\n let written = 0;\n for (let i = 0; i < end; ++i) {\n const value = codes[string[i]];\n if (value === undefined) {\n throw new SyntaxError(`Non-${ name } character`);\n }\n buffer = buffer << bitsPerChar | value;\n bits += bitsPerChar;\n if (bits >= 8) {\n bits -= 8;\n out[written++] = 255 & buffer >> bits;\n }\n }\n if (bits >= bitsPerChar || 255 & buffer << 8 - bits) {\n throw new SyntaxError('Unexpected end of data');\n }\n return out;\n};\nconst encode = (data, alphabet, bitsPerChar) => {\n const pad = alphabet[alphabet.length - 1] === '=';\n const mask = (1 << bitsPerChar) - 1;\n let out = '';\n let bits = 0;\n let buffer = 0;\n for (let i = 0; i < data.length; ++i) {\n buffer = buffer << 8 | data[i];\n bits += 8;\n while (bits > bitsPerChar) {\n bits -= bitsPerChar;\n out += alphabet[mask & buffer >> bits];\n }\n }\n if (bits) {\n out += alphabet[mask & buffer << bitsPerChar - bits];\n }\n if (pad) {\n while (out.length * bitsPerChar & 7) {\n out += '=';\n }\n }\n return out;\n};\nexport const rfc4648 = ({name, prefix, bitsPerChar, alphabet}) => {\n return from({\n prefix,\n name,\n encode(input) {\n return encode(input, alphabet, bitsPerChar);\n },\n decode(input) {\n return decode(input, alphabet, bitsPerChar, name);\n }\n });\n};","import { from } from './base.js';\nimport {\n fromString,\n toString\n} from '../bytes.js';\nexport const identity = from({\n prefix: '\\0',\n name: 'identity',\n encode: buf => toString(buf),\n decode: str => fromString(str)\n});","import { rfc4648 } from './base.js';\nexport const base2 = rfc4648({\n prefix: '0',\n name: 'base2',\n alphabet: '01',\n bitsPerChar: 1\n});","import { rfc4648 } from './base.js';\nexport const base8 = rfc4648({\n prefix: '7',\n name: 'base8',\n alphabet: '01234567',\n bitsPerChar: 3\n});","import { baseX } from './base.js';\nexport const base10 = baseX({\n prefix: '9',\n name: 'base10',\n alphabet: '0123456789'\n});","import { rfc4648 } from './base.js';\nexport const base16 = rfc4648({\n prefix: 'f',\n name: 'base16',\n alphabet: '0123456789abcdef',\n bitsPerChar: 4\n});\nexport const base16upper = rfc4648({\n prefix: 'F',\n name: 'base16upper',\n alphabet: '0123456789ABCDEF',\n bitsPerChar: 4\n});","import { rfc4648 } from './base.js';\nexport const base32 = rfc4648({\n prefix: 'b',\n name: 'base32',\n alphabet: 'abcdefghijklmnopqrstuvwxyz234567',\n bitsPerChar: 5\n});\nexport const base32upper = rfc4648({\n prefix: 'B',\n name: 'base32upper',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567',\n bitsPerChar: 5\n});\nexport const base32pad = rfc4648({\n prefix: 'c',\n name: 'base32pad',\n alphabet: 'abcdefghijklmnopqrstuvwxyz234567=',\n bitsPerChar: 5\n});\nexport const base32padupper = rfc4648({\n prefix: 'C',\n name: 'base32padupper',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=',\n bitsPerChar: 5\n});\nexport const base32hex = rfc4648({\n prefix: 'v',\n name: 'base32hex',\n alphabet: '0123456789abcdefghijklmnopqrstuv',\n bitsPerChar: 5\n});\nexport const base32hexupper = rfc4648({\n prefix: 'V',\n name: 'base32hexupper',\n alphabet: '0123456789ABCDEFGHIJKLMNOPQRSTUV',\n bitsPerChar: 5\n});\nexport const base32hexpad = rfc4648({\n prefix: 't',\n name: 'base32hexpad',\n alphabet: '0123456789abcdefghijklmnopqrstuv=',\n bitsPerChar: 5\n});\nexport const base32hexpadupper = rfc4648({\n prefix: 'T',\n name: 'base32hexpadupper',\n alphabet: '0123456789ABCDEFGHIJKLMNOPQRSTUV=',\n bitsPerChar: 5\n});\nexport const base32z = rfc4648({\n prefix: 'h',\n name: 'base32z',\n alphabet: 'ybndrfg8ejkmcpqxot1uwisza345h769',\n bitsPerChar: 5\n});","import { baseX } from './base.js';\nexport const base36 = baseX({\n prefix: 'k',\n name: 'base36',\n alphabet: '0123456789abcdefghijklmnopqrstuvwxyz'\n});\nexport const base36upper = baseX({\n prefix: 'K',\n name: 'base36upper',\n alphabet: '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'\n});","import { baseX } from './base.js';\nexport const base58btc = baseX({\n name: 'base58btc',\n prefix: 'z',\n alphabet: '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'\n});\nexport const base58flickr = baseX({\n name: 'base58flickr',\n prefix: 'Z',\n alphabet: '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ'\n});","import { rfc4648 } from './base.js';\nexport const base64 = rfc4648({\n prefix: 'm',\n name: 'base64',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n bitsPerChar: 6\n});\nexport const base64pad = rfc4648({\n prefix: 'M',\n name: 'base64pad',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',\n bitsPerChar: 6\n});\nexport const base64url = rfc4648({\n prefix: 'u',\n name: 'base64url',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_',\n bitsPerChar: 6\n});\nexport const base64urlpad = rfc4648({\n prefix: 'U',\n name: 'base64urlpad',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=',\n bitsPerChar: 6\n});","import { from } from './base.js';\nconst alphabet = Array.from('\\uD83D\\uDE80\\uD83E\\uDE90\\u2604\\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\\u2600\\uD83D\\uDCBB\\uD83D\\uDDA5\\uD83D\\uDCBE\\uD83D\\uDCBF\\uD83D\\uDE02\\u2764\\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\\u263A\\uD83D\\uDC4C\\uD83E\\uDD17\\uD83D\\uDC9C\\uD83D\\uDE14\\uD83D\\uDE0E\\uD83D\\uDE07\\uD83C\\uDF39\\uD83E\\uDD26\\uD83C\\uDF89\\uD83D\\uDC9E\\u270C\\u2728\\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\\u2763\\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\\u270B\\uD83D\\uDE1A\\uD83D\\uDE1D\\uD83D\\uDE34\\uD83C\\uDF1F\\uD83D\\uDE2C\\uD83D\\uDE43\\uD83C\\uDF40\\uD83C\\uDF37\\uD83D\\uDE3B\\uD83D\\uDE13\\u2B50\\u2705\\uD83E\\uDD7A\\uD83C\\uDF08\\uD83D\\uDE08\\uD83E\\uDD18\\uD83D\\uDCA6\\u2714\\uD83D\\uDE23\\uD83C\\uDFC3\\uD83D\\uDC90\\u2639\\uD83C\\uDF8A\\uD83D\\uDC98\\uD83D\\uDE20\\u261D\\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\\u26BD\\uD83E\\uDD19\\u2615\\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\\u26A1\\uD83C\\uDF1E\\uD83C\\uDF88\\u274C\\u270A\\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\\u2708\\uD83C\\uDF80\\uD83C\\uDF7A\\uD83E\\uDD13\\uD83D\\uDE19\\uD83D\\uDC9F\\uD83C\\uDF31\\uD83D\\uDE16\\uD83D\\uDC76\\uD83E\\uDD74\\u25B6\\u27A1\\u2753\\uD83D\\uDC8E\\uD83D\\uDCB8\\u2B07\\uD83D\\uDE28\\uD83C\\uDF1A\\uD83E\\uDD8B\\uD83D\\uDE37\\uD83D\\uDD7A\\u26A0\\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\\u260E\\uD83D\\uDCA7\\uD83D\\uDE2F\\uD83D\\uDC86\\uD83D\\uDC46\\uD83C\\uDFA4\\uD83D\\uDE47\\uD83C\\uDF51\\u2744\\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');\nconst alphabetBytesToChars = alphabet.reduce((p, c, i) => {\n p[i] = c;\n return p;\n}, []);\nconst alphabetCharsToBytes = alphabet.reduce((p, c, i) => {\n p[c.codePointAt(0)] = i;\n return p;\n}, []);\nfunction encode(data) {\n return data.reduce((p, c) => {\n p += alphabetBytesToChars[c];\n return p;\n }, '');\n}\nfunction decode(str) {\n const byts = [];\n for (const char of str) {\n const byt = alphabetCharsToBytes[char.codePointAt(0)];\n if (byt === undefined) {\n throw new Error(`Non-base256emoji character: ${ char }`);\n }\n byts.push(byt);\n }\n return new Uint8Array(byts);\n}\nexport const base256emoji = from({\n prefix: '\\uD83D\\uDE80',\n name: 'base256emoji',\n encode,\n decode\n});","const textEncoder = new TextEncoder();\nconst textDecoder = new TextDecoder();\nexport const name = 'json';\nexport const code = 512;\nexport const encode = node => textEncoder.encode(JSON.stringify(node));\nexport const decode = data => JSON.parse(textDecoder.decode(data));","import * as identityBase from './bases/identity.js';\nimport * as base2 from './bases/base2.js';\nimport * as base8 from './bases/base8.js';\nimport * as base10 from './bases/base10.js';\nimport * as base16 from './bases/base16.js';\nimport * as base32 from './bases/base32.js';\nimport * as base36 from './bases/base36.js';\nimport * as base58 from './bases/base58.js';\nimport * as base64 from './bases/base64.js';\nimport * as base256emoji from './bases/base256emoji.js';\nimport * as sha2 from './hashes/sha2.js';\nimport * as identity from './hashes/identity.js';\nimport * as raw from './codecs/raw.js';\nimport * as json from './codecs/json.js';\nimport {\n CID,\n hasher,\n digest,\n varint,\n bytes\n} from './index.js';\nconst bases = {\n ...identityBase,\n ...base2,\n ...base8,\n ...base10,\n ...base16,\n ...base32,\n ...base36,\n ...base58,\n ...base64,\n ...base256emoji\n};\nconst hashes = {\n ...sha2,\n ...identity\n};\nconst codecs = {\n raw,\n json\n};\nexport {\n CID,\n hasher,\n digest,\n varint,\n bytes,\n hashes,\n bases,\n codecs\n};","import { bases } from 'multiformats/basics';\nimport { allocUnsafe } from '../alloc.js';\nfunction createCodec(name, prefix, encode, decode) {\n return {\n name,\n prefix,\n encoder: {\n name,\n prefix,\n encode\n },\n decoder: { decode }\n };\n}\nconst string = createCodec('utf8', 'u', buf => {\n const decoder = new TextDecoder('utf8');\n return 'u' + decoder.decode(buf);\n}, str => {\n const encoder = new TextEncoder();\n return encoder.encode(str.substring(1));\n});\nconst ascii = createCodec('ascii', 'a', buf => {\n let string = 'a';\n for (let i = 0; i < buf.length; i++) {\n string += String.fromCharCode(buf[i]);\n }\n return string;\n}, str => {\n str = str.substring(1);\n const buf = allocUnsafe(str.length);\n for (let i = 0; i < str.length; i++) {\n buf[i] = str.charCodeAt(i);\n }\n return buf;\n});\nconst BASES = {\n utf8: string,\n 'utf-8': string,\n hex: bases.base16,\n latin1: ascii,\n ascii: ascii,\n binary: ascii,\n ...bases\n};\nexport default BASES;","import bases from './util/bases.js';\nimport { asUint8Array } from './util/as-uint8array.js';\nexport function fromString(string, encoding = 'utf8') {\n const base = bases[encoding];\n if (!base) {\n throw new Error(`Unsupported encoding \"${ encoding }\"`);\n }\n if ((encoding === 'utf8' || encoding === 'utf-8') && globalThis.Buffer != null && globalThis.Buffer.from != null) {\n return asUint8Array(globalThis.Buffer.from(string, 'utf-8'));\n }\n return base.decoder.decode(`${ base.prefix }${ string }`);\n}","import bases from './util/bases.js';\nexport function toString(array, encoding = 'utf8') {\n const base = bases[encoding];\n if (!base) {\n throw new Error(`Unsupported encoding \"${ encoding }\"`);\n }\n if ((encoding === 'utf8' || encoding === 'utf-8') && globalThis.Buffer != null && globalThis.Buffer.from != null) {\n return globalThis.Buffer.from(array.buffer, array.byteOffset, array.byteLength).toString('utf8');\n }\n return base.encoder.encode(array).substring(1);\n}","var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar BrowserInfo = /** @class */ (function () {\n function BrowserInfo(name, version, os) {\n this.name = name;\n this.version = version;\n this.os = os;\n this.type = 'browser';\n }\n return BrowserInfo;\n}());\nexport { BrowserInfo };\nvar NodeInfo = /** @class */ (function () {\n function NodeInfo(version) {\n this.version = version;\n this.type = 'node';\n this.name = 'node';\n this.os = process.platform;\n }\n return NodeInfo;\n}());\nexport { NodeInfo };\nvar SearchBotDeviceInfo = /** @class */ (function () {\n function SearchBotDeviceInfo(name, version, os, bot) {\n this.name = name;\n this.version = version;\n this.os = os;\n this.bot = bot;\n this.type = 'bot-device';\n }\n return SearchBotDeviceInfo;\n}());\nexport { SearchBotDeviceInfo };\nvar BotInfo = /** @class */ (function () {\n function BotInfo() {\n this.type = 'bot';\n this.bot = true; // NOTE: deprecated test name instead\n this.name = 'bot';\n this.version = null;\n this.os = null;\n }\n return BotInfo;\n}());\nexport { BotInfo };\nvar ReactNativeInfo = /** @class */ (function () {\n function ReactNativeInfo() {\n this.type = 'react-native';\n this.name = 'react-native';\n this.version = null;\n this.os = null;\n }\n return ReactNativeInfo;\n}());\nexport { ReactNativeInfo };\n// tslint:disable-next-line:max-line-length\nvar SEARCHBOX_UA_REGEX = /alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/;\nvar SEARCHBOT_OS_REGEX = /(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\\ Jeeves\\/Teoma|ia_archiver)/;\nvar REQUIRED_VERSION_PARTS = 3;\nvar userAgentRules = [\n ['aol', /AOLShield\\/([0-9\\._]+)/],\n ['edge', /Edge\\/([0-9\\._]+)/],\n ['edge-ios', /EdgiOS\\/([0-9\\._]+)/],\n ['yandexbrowser', /YaBrowser\\/([0-9\\._]+)/],\n ['kakaotalk', /KAKAOTALK\\s([0-9\\.]+)/],\n ['samsung', /SamsungBrowser\\/([0-9\\.]+)/],\n ['silk', /\\bSilk\\/([0-9._-]+)\\b/],\n ['miui', /MiuiBrowser\\/([0-9\\.]+)$/],\n ['beaker', /BeakerBrowser\\/([0-9\\.]+)/],\n ['edge-chromium', /EdgA?\\/([0-9\\.]+)/],\n [\n 'chromium-webview',\n /(?!Chrom.*OPR)wv\\).*Chrom(?:e|ium)\\/([0-9\\.]+)(:?\\s|$)/,\n ],\n ['chrome', /(?!Chrom.*OPR)Chrom(?:e|ium)\\/([0-9\\.]+)(:?\\s|$)/],\n ['phantomjs', /PhantomJS\\/([0-9\\.]+)(:?\\s|$)/],\n ['crios', /CriOS\\/([0-9\\.]+)(:?\\s|$)/],\n ['firefox', /Firefox\\/([0-9\\.]+)(?:\\s|$)/],\n ['fxios', /FxiOS\\/([0-9\\.]+)/],\n ['opera-mini', /Opera Mini.*Version\\/([0-9\\.]+)/],\n ['opera', /Opera\\/([0-9\\.]+)(?:\\s|$)/],\n ['opera', /OPR\\/([0-9\\.]+)(:?\\s|$)/],\n ['pie', /^Microsoft Pocket Internet Explorer\\/(\\d+\\.\\d+)$/],\n ['pie', /^Mozilla\\/\\d\\.\\d+\\s\\(compatible;\\s(?:MSP?IE|MSInternet Explorer) (\\d+\\.\\d+);.*Windows CE.*\\)$/],\n ['netfront', /^Mozilla\\/\\d\\.\\d+.*NetFront\\/(\\d.\\d)/],\n ['ie', /Trident\\/7\\.0.*rv\\:([0-9\\.]+).*\\).*Gecko$/],\n ['ie', /MSIE\\s([0-9\\.]+);.*Trident\\/[4-7].0/],\n ['ie', /MSIE\\s(7\\.0)/],\n ['bb10', /BB10;\\sTouch.*Version\\/([0-9\\.]+)/],\n ['android', /Android\\s([0-9\\.]+)/],\n ['ios', /Version\\/([0-9\\._]+).*Mobile.*Safari.*/],\n ['safari', /Version\\/([0-9\\._]+).*Safari/],\n ['facebook', /FB[AS]V\\/([0-9\\.]+)/],\n ['instagram', /Instagram\\s([0-9\\.]+)/],\n ['ios-webview', /AppleWebKit\\/([0-9\\.]+).*Mobile/],\n ['ios-webview', /AppleWebKit\\/([0-9\\.]+).*Gecko\\)$/],\n ['curl', /^curl\\/([0-9\\.]+)$/],\n ['searchbot', SEARCHBOX_UA_REGEX],\n];\nvar operatingSystemRules = [\n ['iOS', /iP(hone|od|ad)/],\n ['Android OS', /Android/],\n ['BlackBerry OS', /BlackBerry|BB10/],\n ['Windows Mobile', /IEMobile/],\n ['Amazon OS', /Kindle/],\n ['Windows 3.11', /Win16/],\n ['Windows 95', /(Windows 95)|(Win95)|(Windows_95)/],\n ['Windows 98', /(Windows 98)|(Win98)/],\n ['Windows 2000', /(Windows NT 5.0)|(Windows 2000)/],\n ['Windows XP', /(Windows NT 5.1)|(Windows XP)/],\n ['Windows Server 2003', /(Windows NT 5.2)/],\n ['Windows Vista', /(Windows NT 6.0)/],\n ['Windows 7', /(Windows NT 6.1)/],\n ['Windows 8', /(Windows NT 6.2)/],\n ['Windows 8.1', /(Windows NT 6.3)/],\n ['Windows 10', /(Windows NT 10.0)/],\n ['Windows ME', /Windows ME/],\n ['Windows CE', /Windows CE|WinCE|Microsoft Pocket Internet Explorer/],\n ['Open BSD', /OpenBSD/],\n ['Sun OS', /SunOS/],\n ['Chrome OS', /CrOS/],\n ['Linux', /(Linux)|(X11)/],\n ['Mac OS', /(Mac_PowerPC)|(Macintosh)/],\n ['QNX', /QNX/],\n ['BeOS', /BeOS/],\n ['OS/2', /OS\\/2/],\n];\nexport function detect(userAgent) {\n if (!!userAgent) {\n return parseUserAgent(userAgent);\n }\n if (typeof document === 'undefined' &&\n typeof navigator !== 'undefined' &&\n navigator.product === 'ReactNative') {\n return new ReactNativeInfo();\n }\n if (typeof navigator !== 'undefined') {\n return parseUserAgent(navigator.userAgent);\n }\n return getNodeVersion();\n}\nfunction matchUserAgent(ua) {\n // opted for using reduce here rather than Array#first with a regex.test call\n // this is primarily because using the reduce we only perform the regex\n // execution once rather than once for the test and for the exec again below\n // probably something that needs to be benchmarked though\n return (ua !== '' &&\n userAgentRules.reduce(function (matched, _a) {\n var browser = _a[0], regex = _a[1];\n if (matched) {\n return matched;\n }\n var uaMatch = regex.exec(ua);\n return !!uaMatch && [browser, uaMatch];\n }, false));\n}\nexport function browserName(ua) {\n var data = matchUserAgent(ua);\n return data ? data[0] : null;\n}\nexport function parseUserAgent(ua) {\n var matchedRule = matchUserAgent(ua);\n if (!matchedRule) {\n return null;\n }\n var name = matchedRule[0], match = matchedRule[1];\n if (name === 'searchbot') {\n return new BotInfo();\n }\n // Do not use RegExp for split operation as some browser do not support it (See: http://blog.stevenlevithan.com/archives/cross-browser-split)\n var versionParts = match[1] && match[1].split('.').join('_').split('_').slice(0, 3);\n if (versionParts) {\n if (versionParts.length < REQUIRED_VERSION_PARTS) {\n versionParts = __spreadArray(__spreadArray([], versionParts, true), createVersionParts(REQUIRED_VERSION_PARTS - versionParts.length), true);\n }\n }\n else {\n versionParts = [];\n }\n var version = versionParts.join('.');\n var os = detectOS(ua);\n var searchBotMatch = SEARCHBOT_OS_REGEX.exec(ua);\n if (searchBotMatch && searchBotMatch[1]) {\n return new SearchBotDeviceInfo(name, version, os, searchBotMatch[1]);\n }\n return new BrowserInfo(name, version, os);\n}\nexport function detectOS(ua) {\n for (var ii = 0, count = operatingSystemRules.length; ii < count; ii++) {\n var _a = operatingSystemRules[ii], os = _a[0], regex = _a[1];\n var match = regex.exec(ua);\n if (match) {\n return os;\n }\n }\n return null;\n}\nexport function getNodeVersion() {\n var isNode = typeof process !== 'undefined' && process.version;\n return isNode ? new NodeInfo(process.version.slice(1)) : null;\n}\nfunction createVersionParts(count) {\n var output = [];\n for (var ii = 0; ii < count; ii++) {\n output.push('0');\n }\n return output;\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.delay = void 0;\nfunction delay(timeout) {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve(true);\n }, timeout);\n });\n}\nexports.delay = delay;\n//# sourceMappingURL=delay.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ONE_THOUSAND = exports.ONE_HUNDRED = void 0;\nexports.ONE_HUNDRED = 100;\nexports.ONE_THOUSAND = 1000;\n//# sourceMappingURL=misc.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ONE_YEAR = exports.FOUR_WEEKS = exports.THREE_WEEKS = exports.TWO_WEEKS = exports.ONE_WEEK = exports.THIRTY_DAYS = exports.SEVEN_DAYS = exports.FIVE_DAYS = exports.THREE_DAYS = exports.ONE_DAY = exports.TWENTY_FOUR_HOURS = exports.TWELVE_HOURS = exports.SIX_HOURS = exports.THREE_HOURS = exports.ONE_HOUR = exports.SIXTY_MINUTES = exports.THIRTY_MINUTES = exports.TEN_MINUTES = exports.FIVE_MINUTES = exports.ONE_MINUTE = exports.SIXTY_SECONDS = exports.THIRTY_SECONDS = exports.TEN_SECONDS = exports.FIVE_SECONDS = exports.ONE_SECOND = void 0;\nexports.ONE_SECOND = 1;\nexports.FIVE_SECONDS = 5;\nexports.TEN_SECONDS = 10;\nexports.THIRTY_SECONDS = 30;\nexports.SIXTY_SECONDS = 60;\nexports.ONE_MINUTE = exports.SIXTY_SECONDS;\nexports.FIVE_MINUTES = exports.ONE_MINUTE * 5;\nexports.TEN_MINUTES = exports.ONE_MINUTE * 10;\nexports.THIRTY_MINUTES = exports.ONE_MINUTE * 30;\nexports.SIXTY_MINUTES = exports.ONE_MINUTE * 60;\nexports.ONE_HOUR = exports.SIXTY_MINUTES;\nexports.THREE_HOURS = exports.ONE_HOUR * 3;\nexports.SIX_HOURS = exports.ONE_HOUR * 6;\nexports.TWELVE_HOURS = exports.ONE_HOUR * 12;\nexports.TWENTY_FOUR_HOURS = exports.ONE_HOUR * 24;\nexports.ONE_DAY = exports.TWENTY_FOUR_HOURS;\nexports.THREE_DAYS = exports.ONE_DAY * 3;\nexports.FIVE_DAYS = exports.ONE_DAY * 5;\nexports.SEVEN_DAYS = exports.ONE_DAY * 7;\nexports.THIRTY_DAYS = exports.ONE_DAY * 30;\nexports.ONE_WEEK = exports.SEVEN_DAYS;\nexports.TWO_WEEKS = exports.ONE_WEEK * 2;\nexports.THREE_WEEKS = exports.ONE_WEEK * 3;\nexports.FOUR_WEEKS = exports.ONE_WEEK * 4;\nexports.ONE_YEAR = exports.ONE_DAY * 365;\n//# sourceMappingURL=time.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./misc\"), exports);\ntslib_1.__exportStar(require(\"./time\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromMiliseconds = exports.toMiliseconds = void 0;\nconst constants_1 = require(\"../constants\");\nfunction toMiliseconds(seconds) {\n return seconds * constants_1.ONE_THOUSAND;\n}\nexports.toMiliseconds = toMiliseconds;\nfunction fromMiliseconds(miliseconds) {\n return Math.floor(miliseconds / constants_1.ONE_THOUSAND);\n}\nexports.fromMiliseconds = fromMiliseconds;\n//# sourceMappingURL=convert.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./delay\"), exports);\ntslib_1.__exportStar(require(\"./convert\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Watch = void 0;\nclass Watch {\n constructor() {\n this.timestamps = new Map();\n }\n start(label) {\n if (this.timestamps.has(label)) {\n throw new Error(`Watch already started for label: ${label}`);\n }\n this.timestamps.set(label, { started: Date.now() });\n }\n stop(label) {\n const timestamp = this.get(label);\n if (typeof timestamp.elapsed !== \"undefined\") {\n throw new Error(`Watch already stopped for label: ${label}`);\n }\n const elapsed = Date.now() - timestamp.started;\n this.timestamps.set(label, { started: timestamp.started, elapsed });\n }\n get(label) {\n const timestamp = this.timestamps.get(label);\n if (typeof timestamp === \"undefined\") {\n throw new Error(`No timestamp found for label: ${label}`);\n }\n return timestamp;\n }\n elapsed(label) {\n const timestamp = this.get(label);\n const elapsed = timestamp.elapsed || Date.now() - timestamp.started;\n return elapsed;\n }\n}\nexports.Watch = Watch;\nexports.default = Watch;\n//# sourceMappingURL=watch.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IWatch = void 0;\nclass IWatch {\n}\nexports.IWatch = IWatch;\n//# sourceMappingURL=watch.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./watch\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./utils\"), exports);\ntslib_1.__exportStar(require(\"./watch\"), exports);\ntslib_1.__exportStar(require(\"./types\"), exports);\ntslib_1.__exportStar(require(\"./constants\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getLocalStorage = exports.getLocalStorageOrThrow = exports.getCrypto = exports.getCryptoOrThrow = exports.getLocation = exports.getLocationOrThrow = exports.getNavigator = exports.getNavigatorOrThrow = exports.getDocument = exports.getDocumentOrThrow = exports.getFromWindowOrThrow = exports.getFromWindow = void 0;\nfunction getFromWindow(name) {\n let res = undefined;\n if (typeof window !== \"undefined\" && typeof window[name] !== \"undefined\") {\n res = window[name];\n }\n return res;\n}\nexports.getFromWindow = getFromWindow;\nfunction getFromWindowOrThrow(name) {\n const res = getFromWindow(name);\n if (!res) {\n throw new Error(`${name} is not defined in Window`);\n }\n return res;\n}\nexports.getFromWindowOrThrow = getFromWindowOrThrow;\nfunction getDocumentOrThrow() {\n return getFromWindowOrThrow(\"document\");\n}\nexports.getDocumentOrThrow = getDocumentOrThrow;\nfunction getDocument() {\n return getFromWindow(\"document\");\n}\nexports.getDocument = getDocument;\nfunction getNavigatorOrThrow() {\n return getFromWindowOrThrow(\"navigator\");\n}\nexports.getNavigatorOrThrow = getNavigatorOrThrow;\nfunction getNavigator() {\n return getFromWindow(\"navigator\");\n}\nexports.getNavigator = getNavigator;\nfunction getLocationOrThrow() {\n return getFromWindowOrThrow(\"location\");\n}\nexports.getLocationOrThrow = getLocationOrThrow;\nfunction getLocation() {\n return getFromWindow(\"location\");\n}\nexports.getLocation = getLocation;\nfunction getCryptoOrThrow() {\n return getFromWindowOrThrow(\"crypto\");\n}\nexports.getCryptoOrThrow = getCryptoOrThrow;\nfunction getCrypto() {\n return getFromWindow(\"crypto\");\n}\nexports.getCrypto = getCrypto;\nfunction getLocalStorageOrThrow() {\n return getFromWindowOrThrow(\"localStorage\");\n}\nexports.getLocalStorageOrThrow = getLocalStorageOrThrow;\nfunction getLocalStorage() {\n return getFromWindow(\"localStorage\");\n}\nexports.getLocalStorage = getLocalStorage;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getWindowMetadata = void 0;\nconst window_getters_1 = require(\"@walletconnect/window-getters\");\nfunction getWindowMetadata() {\n let doc;\n let loc;\n try {\n doc = window_getters_1.getDocumentOrThrow();\n loc = window_getters_1.getLocationOrThrow();\n }\n catch (e) {\n return null;\n }\n function getIcons() {\n const links = doc.getElementsByTagName(\"link\");\n const icons = [];\n for (let i = 0; i < links.length; i++) {\n const link = links[i];\n const rel = link.getAttribute(\"rel\");\n if (rel) {\n if (rel.toLowerCase().indexOf(\"icon\") > -1) {\n const href = link.getAttribute(\"href\");\n if (href) {\n if (href.toLowerCase().indexOf(\"https:\") === -1 &&\n href.toLowerCase().indexOf(\"http:\") === -1 &&\n href.indexOf(\"//\") !== 0) {\n let absoluteHref = loc.protocol + \"//\" + loc.host;\n if (href.indexOf(\"/\") === 0) {\n absoluteHref += href;\n }\n else {\n const path = loc.pathname.split(\"/\");\n path.pop();\n const finalPath = path.join(\"/\");\n absoluteHref += finalPath + \"/\" + href;\n }\n icons.push(absoluteHref);\n }\n else if (href.indexOf(\"//\") === 0) {\n const absoluteUrl = loc.protocol + href;\n icons.push(absoluteUrl);\n }\n else {\n icons.push(href);\n }\n }\n }\n }\n }\n return icons;\n }\n function getWindowMetadataOfAny(...args) {\n const metaTags = doc.getElementsByTagName(\"meta\");\n for (let i = 0; i < metaTags.length; i++) {\n const tag = metaTags[i];\n const attributes = [\"itemprop\", \"property\", \"name\"]\n .map((target) => tag.getAttribute(target))\n .filter((attr) => {\n if (attr) {\n return args.includes(attr);\n }\n return false;\n });\n if (attributes.length && attributes) {\n const content = tag.getAttribute(\"content\");\n if (content) {\n return content;\n }\n }\n }\n return \"\";\n }\n function getName() {\n let name = getWindowMetadataOfAny(\"name\", \"og:site_name\", \"og:title\", \"twitter:title\");\n if (!name) {\n name = doc.title;\n }\n return name;\n }\n function getDescription() {\n const description = getWindowMetadataOfAny(\"description\", \"og:description\", \"twitter:description\", \"keywords\");\n return description;\n }\n const name = getName();\n const description = getDescription();\n const url = loc.origin;\n const icons = getIcons();\n const meta = {\n description,\n url,\n icons,\n name,\n };\n return meta;\n}\nexports.getWindowMetadata = getWindowMetadata;\n//# sourceMappingURL=index.js.map","'use strict';\nmodule.exports = str => encodeURIComponent(str).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n","'use strict';\nvar token = '%[a-f0-9]{2}';\nvar singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nvar multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch (err) {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tvar left = components.slice(0, split);\n\tvar right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch (err) {\n\t\tvar tokens = input.match(singleMatcher) || [];\n\n\t\tfor (var i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tvar replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD'\n\t};\n\n\tvar match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch (err) {\n\t\t\tvar result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tvar entries = Object.keys(replaceMap);\n\n\tfor (var i = 0; i < entries.length; i++) {\n\t\t// Replace all decoded components\n\t\tvar key = entries[i];\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nmodule.exports = function (encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\tencodedURI = encodedURI.replace(/\\+/g, ' ');\n\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch (err) {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n};\n","'use strict';\n\nmodule.exports = (string, separator) => {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (separator === '') {\n\t\treturn [string];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [string];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n};\n","'use strict';\nmodule.exports = function (obj, predicate) {\n\tvar ret = {};\n\tvar keys = Object.keys(obj);\n\tvar isArr = Array.isArray(predicate);\n\n\tfor (var i = 0; i < keys.length; i++) {\n\t\tvar key = keys[i];\n\t\tvar val = obj[key];\n\n\t\tif (isArr ? predicate.indexOf(key) !== -1 : predicate(key, val, obj)) {\n\t\t\tret[key] = val;\n\t\t}\n\t}\n\n\treturn ret;\n};\n","'use strict';\nconst strictUriEncode = require('strict-uri-encode');\nconst decodeComponent = require('decode-uri-component');\nconst splitOnFirst = require('split-on-first');\nconst filterObject = require('filter-obj');\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\nconst encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[', index, ']'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join('')\n\t\t\t\t];\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[]'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '[]=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'colon-list-separator':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), ':list='].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), ':list=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\tcase 'bracket-separator': {\n\t\t\tconst keyValueSep = options.arrayFormat === 'bracket-separator' ?\n\t\t\t\t'[]=' :\n\t\t\t\t'=';\n\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\t// Translate null to an empty string so that it doesn't serialize as 'null'\n\t\t\t\tvalue = value === null ? '' : value;\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), keyValueSep, encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\t\t}\n\n\t\tdefault:\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, encode(key, options)];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '=', encode(value, options)].join('')];\n\t\t\t};\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)\\]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[\\])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'colon-list-separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(:list)$/.exec(key);\n\t\t\t\tkey = key.replace(/:list$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : value === null ? value : decode(value, options);\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\n\t\tcase 'bracket-separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = /(\\[\\])$/.test(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!isArray) {\n\t\t\t\t\taccumulator[key] = value ? decode(value, options) : value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst arrayValue = value === null ?\n\t\t\t\t\t[] :\n\t\t\t\t\tvalue.split(options.arrayFormatSeparator).map(item => decode(item, options));\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = arrayValue;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], arrayValue);\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nfunction parseValue(value, options) {\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\tvalue = Number(value);\n\t} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\tvalue = value.toLowerCase() === 'true';\n\t}\n\n\treturn value;\n}\n\nfunction parse(query, options) {\n\toptions = Object.assign({\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst ret = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn ret;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn ret;\n\t}\n\n\tfor (const param of query.split('&')) {\n\t\tif (param === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet [key, value] = splitOnFirst(options.decode ? param.replace(/\\+/g, ' ') : param, '=');\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : ['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options);\n\t\tformatter(decode(key, options), value, ret);\n\t}\n\n\tfor (const key of Object.keys(ret)) {\n\t\tconst value = ret[key];\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const k of Object.keys(value)) {\n\t\t\t\tvalue[k] = parseValue(value[k], options);\n\t\t\t}\n\t\t} else {\n\t\t\tret[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn ret;\n\t}\n\n\treturn (options.sort === true ? Object.keys(ret).sort() : Object.keys(ret).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = ret[key];\n\t\tif (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(value);\n\t\t} else {\n\t\t\tresult[key] = value;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexports.extract = extract;\nexports.parse = parse;\n\nexports.stringify = (object, options) => {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ','\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key])) ||\n\t\t(options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const key of Object.keys(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = object[key];\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n\t\t\t\treturn encode(key, options) + '[]';\n\t\t\t}\n\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n};\n\nexports.parseUrl = (url, options) => {\n\toptions = Object.assign({\n\t\tdecode: true\n\t}, options);\n\n\tconst [url_, hash] = splitOnFirst(url, '#');\n\n\treturn Object.assign(\n\t\t{\n\t\t\turl: url_.split('?')[0] || '',\n\t\t\tquery: parse(extract(url), options)\n\t\t},\n\t\toptions && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}\n\t);\n};\n\nexports.stringifyUrl = (object, options) => {\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\t[encodeFragmentIdentifier]: true\n\t}, options);\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = exports.extract(object.url);\n\tconst parsedQueryFromUrl = exports.parse(queryFromUrl, {sort: false});\n\n\tconst query = Object.assign(parsedQueryFromUrl, object.query);\n\tlet queryString = exports.stringify(query, options);\n\tif (queryString) {\n\t\tqueryString = `?${queryString}`;\n\t}\n\n\tlet hash = getHash(object.url);\n\tif (object.fragmentIdentifier) {\n\t\thash = `#${options[encodeFragmentIdentifier] ? encode(object.fragmentIdentifier, options) : object.fragmentIdentifier}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n};\n\nexports.pick = (input, filter, options) => {\n\toptions = Object.assign({\n\t\tparseFragmentIdentifier: true,\n\t\t[encodeFragmentIdentifier]: false\n\t}, options);\n\n\tconst {url, query, fragmentIdentifier} = exports.parseUrl(input, options);\n\treturn exports.stringifyUrl({\n\t\turl,\n\t\tquery: filterObject(query, filter),\n\t\tfragmentIdentifier\n\t}, options);\n};\n\nexports.exclude = (input, filter, options) => {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn exports.pick(input, exclusionFilter, options);\n};\n","function e(s,r,i=\"string\"){if(!s[r]||typeof s[r]!==i)throw new Error(`Missing or invalid \"${r}\" param`)}function l(s,r){let i=!0;return r.forEach(t=>{t in s||(i=!1)}),i}function f(s,r){return Array.isArray(s)?s.length===r:Object.keys(s).length===r}function w(s,r){return Array.isArray(s)?s.length>=r:Object.keys(s).length>=r}function u(s,r,i){return(i.length?w(s,r.length):f(s,r.length))?l(s,r):!1}function n(s,r,i=\"_\"){const t=s.split(i);return t[t.length-1].trim().toLowerCase()===r.trim().toLowerCase()}function R(s){return b(s.method)&&a(s.params)}function b(s){return n(s,\"subscribe\")}function a(s){return u(s,[\"topic\"],[])}function P(s){return c(s.method)&&h(s.params)}function c(s){return n(s,\"publish\")}function h(s){return u(s,[\"message\",\"topic\",\"ttl\"],[\"prompt\",\"tag\"])}function _(s){return o(s.method)&&p(s.params)}function o(s){return n(s,\"unsubscribe\")}function p(s){return u(s,[\"id\",\"topic\"],[])}function S(s){return m(s.method)&&d(s.params)}function m(s){return n(s,\"subscription\")}function d(s){return u(s,[\"id\",\"data\"],[])}function g(s){if(!b(s.method))throw new Error(\"JSON-RPC Request has invalid subscribe method\");if(!a(s.params))throw new Error(\"JSON-RPC Request has invalid subscribe params\");const r=s.params;return e(r,\"topic\"),r}function q(s){if(!c(s.method))throw new Error(\"JSON-RPC Request has invalid publish method\");if(!h(s.params))throw new Error(\"JSON-RPC Request has invalid publish params\");const r=s.params;return e(r,\"topic\"),e(r,\"message\"),e(r,\"ttl\",\"number\"),r}function E(s){if(!o(s.method))throw new Error(\"JSON-RPC Request has invalid unsubscribe method\");if(!p(s.params))throw new Error(\"JSON-RPC Request has invalid unsubscribe params\");const r=s.params;return e(r,\"id\"),r}function k(s){if(!m(s.method))throw new Error(\"JSON-RPC Request has invalid subscription method\");if(!d(s.params))throw new Error(\"JSON-RPC Request has invalid subscription params\");const r=s.params;return e(r,\"id\"),e(r,\"data\"),r}const C={waku:{publish:\"waku_publish\",batchPublish:\"waku_batchPublish\",subscribe:\"waku_subscribe\",batchSubscribe:\"waku_batchSubscribe\",subscription:\"waku_subscription\",unsubscribe:\"waku_unsubscribe\",batchUnsubscribe:\"waku_batchUnsubscribe\",batchFetchMessages:\"waku_batchFetchMessages\"},irn:{publish:\"irn_publish\",batchPublish:\"irn_batchPublish\",subscribe:\"irn_subscribe\",batchSubscribe:\"irn_batchSubscribe\",subscription:\"irn_subscription\",unsubscribe:\"irn_unsubscribe\",batchUnsubscribe:\"irn_batchUnsubscribe\",batchFetchMessages:\"irn_batchFetchMessages\"},iridium:{publish:\"iridium_publish\",batchPublish:\"iridium_batchPublish\",subscribe:\"iridium_subscribe\",batchSubscribe:\"iridium_batchSubscribe\",subscription:\"iridium_subscription\",unsubscribe:\"iridium_unsubscribe\",batchUnsubscribe:\"iridium_batchUnsubscribe\",batchFetchMessages:\"iridium_batchFetchMessages\"}};export{C as RELAY_JSONRPC,c as isPublishMethod,h as isPublishParams,P as isPublishRequest,b as isSubscribeMethod,a as isSubscribeParams,R as isSubscribeRequest,m as isSubscriptionMethod,d as isSubscriptionParams,S as isSubscriptionRequest,o as isUnsubscribeMethod,p as isUnsubscribeParams,_ as isUnsubscribeRequest,q as parsePublishRequest,g as parseSubscribeRequest,k as parseSubscriptionRequest,E as parseUnsubscribeRequest};\n//# sourceMappingURL=index.es.js.map\n","import{ChaCha20Poly1305 as ue}from\"@stablelib/chacha20poly1305\";import{HKDF as On}from\"@stablelib/hkdf\";import{randomBytes as le}from\"@stablelib/random\";import{SHA256 as Sn,hash as de}from\"@stablelib/sha256\";import*as fe from\"@stablelib/x25519\";import{toString as v,fromString as E,concat as pe}from\"uint8arrays\";import{detect as wn}from\"detect-browser\";import{toMiliseconds as W,FIVE_MINUTES as me,fromMiliseconds as In}from\"@walletconnect/time\";import{getDocument as ye,getNavigator as ge,getLocation as he}from\"@walletconnect/window-getters\";import{getWindowMetadata as Tn}from\"@walletconnect/window-metadata\";import*as M from\"query-string\";import{RELAY_JSONRPC as Pn}from\"@walletconnect/relay-api\";const K=\":\";function ve(e){const[n,t]=e.split(K);return{namespace:n,reference:t}}function Ee(e){const{namespace:n,reference:t}=e;return[n,t].join(K)}function z(e){const[n,t,r]=e.split(K);return{namespace:n,reference:t,address:r}}function be(e){const{namespace:n,reference:t,address:r}=e;return[n,t,r].join(K)}function Y(e,n){const t=[];return e.forEach(r=>{const o=n(r);t.includes(o)||t.push(o)}),t}function Ne(e){const{address:n}=z(e);return n}function Oe(e){const{namespace:n,reference:t}=z(e);return Ee({namespace:n,reference:t})}function Rn(e,n){const{namespace:t,reference:r}=ve(n);return be({namespace:t,reference:r,address:e})}function An(e){return Y(e,Ne)}function Se(e){return Y(e,Oe)}function Un(e,n=[]){const t=[];return Object.keys(e).forEach(r=>{if(n.length&&!n.includes(r))return;const o=e[r];t.push(...o.accounts)}),t}function _n(e,n=[]){const t=[];return Object.keys(e).forEach(r=>{if(n.length&&!n.includes(r))return;const o=e[r];t.push(...Se(o.accounts))}),t}function $n(e,n=[]){const t=[];return Object.keys(e).forEach(r=>{if(n.length&&!n.includes(r))return;const o=e[r];t.push(...L(r,o))}),t}function L(e,n){return e.includes(\":\")?[e]:n.chains||[]}const x=e=>e?.split(\":\"),we=e=>{const n=e&&x(e);if(n)return n[3]},Cn=e=>{const n=e&&x(e);if(n)return n[2]+\":\"+n[3]},Ie=e=>{const n=e&&x(e);if(n)return n.pop()},jn=(e,n)=>{const t=`${e.domain} wants you to sign in with your Ethereum account:`,r=Ie(n),o=e.statement,s=`URI: ${e.aud}`,i=`Version: ${e.version}`,d=`Chain ID: ${we(n)}`,l=`Nonce: ${e.nonce}`,c=`Issued At: ${e.iat}`,u=e.resources&&e.resources.length>0?`Resources:\n${e.resources.map(a=>`- ${a}`).join(`\n`)}`:void 0;return[t,r,\"\",o,\"\",s,i,d,l,c,u].filter(a=>a!=null).join(`\n`)},J=\"base10\",p=\"base16\",F=\"base64pad\",H=\"utf8\",Q=0,_=1,Dn=0,Te=1,Z=12,X=32;function kn(){const e=fe.generateKeyPair();return{privateKey:v(e.secretKey,p),publicKey:v(e.publicKey,p)}}function Vn(){const e=le(X);return v(e,p)}function Mn(e,n){const t=fe.sharedKey(E(e,p),E(n,p),!0),r=new On(Sn,t).expand(X);return v(r,p)}function Kn(e){const n=de(E(e,p));return v(n,p)}function Ln(e){const n=de(E(e,H));return v(n,p)}function Pe(e){return E(`${e}`,J)}function j(e){return Number(v(e,J))}function xn(e){const n=Pe(typeof e.type<\"u\"?e.type:Q);if(j(n)===_&&typeof e.senderPublicKey>\"u\")throw new Error(\"Missing sender public key for type 1 envelope\");const t=typeof e.senderPublicKey<\"u\"?E(e.senderPublicKey,p):void 0,r=typeof e.iv<\"u\"?E(e.iv,p):le(Z),o=new ue(E(e.symKey,p)).seal(r,E(e.message,H));return Re({type:n,sealed:o,iv:r,senderPublicKey:t})}function Fn(e){const n=new ue(E(e.symKey,p)),{sealed:t,iv:r}=ee(e.encoded),o=n.open(r,t);if(o===null)throw new Error(\"Failed to decrypt\");return v(o,H)}function Re(e){if(j(e.type)===_){if(typeof e.senderPublicKey>\"u\")throw new Error(\"Missing sender public key for type 1 envelope\");return v(pe([e.type,e.senderPublicKey,e.iv,e.sealed]),F)}return v(pe([e.type,e.iv,e.sealed]),F)}function ee(e){const n=E(e,F),t=n.slice(Dn,Te),r=Te;if(j(t)===_){const d=r+X,l=d+Z,c=n.slice(r,d),u=n.slice(d,l),a=n.slice(l);return{type:t,sealed:a,iv:u,senderPublicKey:c}}const o=r+Z,s=n.slice(r,o),i=n.slice(o);return{type:t,sealed:i,iv:s}}function Hn(e,n){const t=ee(e);return Ae({type:j(t.type),senderPublicKey:typeof t.senderPublicKey<\"u\"?v(t.senderPublicKey,p):void 0,receiverPublicKey:n?.receiverPublicKey})}function Ae(e){const n=e?.type||Q;if(n===_){if(typeof e?.senderPublicKey>\"u\")throw new Error(\"missing sender public key\");if(typeof e?.receiverPublicKey>\"u\")throw new Error(\"missing receiver public key\")}return{type:n,senderPublicKey:e?.senderPublicKey,receiverPublicKey:e?.receiverPublicKey}}function qn(e){return e.type===_&&typeof e.senderPublicKey==\"string\"&&typeof e.receiverPublicKey==\"string\"}var Bn=Object.defineProperty,Ue=Object.getOwnPropertySymbols,Gn=Object.prototype.hasOwnProperty,Wn=Object.prototype.propertyIsEnumerable,_e=(e,n,t)=>n in e?Bn(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,$e=(e,n)=>{for(var t in n||(n={}))Gn.call(n,t)&&_e(e,t,n[t]);if(Ue)for(var t of Ue(n))Wn.call(n,t)&&_e(e,t,n[t]);return e};const Ce=\"ReactNative\",m={reactNative:\"react-native\",node:\"node\",browser:\"browser\",unknown:\"unknown\"},q=\" \",zn=\":\",je=\"/\",ne=2,Yn=1e3,De=\"js\";function te(){return typeof process<\"u\"&&typeof process.versions<\"u\"&&typeof process.versions.node<\"u\"}function $(){return!ye()&&!!ge()&&navigator.product===Ce}function D(){return!te()&&!!ge()&&!!ye()}function R(){return $()?m.reactNative:te()?m.node:D()?m.browser:m.unknown}function Jn(){var e;try{return $()&&typeof global<\"u\"&&typeof(global==null?void 0:global.Application)<\"u\"?(e=global.Application)==null?void 0:e.applicationId:void 0}catch{return}}function ke(e,n){let t=M.parse(e);return t=$e($e({},t),n),e=M.stringify(t),e}function Qn(){return Tn()||{name:\"\",description:\"\",url:\"\",icons:[\"\"]}}function Zn(e,n){var t;const r=R(),o={protocol:e,version:n,env:r};return r===\"browser\"&&(o.host=((t=he())==null?void 0:t.host)||\"unknown\"),o}function Ve(){if(R()===m.reactNative&&typeof global<\"u\"&&typeof(global==null?void 0:global.Platform)<\"u\"){const{OS:t,Version:r}=global.Platform;return[t,r].join(\"-\")}const e=wn();if(e===null)return\"unknown\";const n=e.os?e.os.replace(\" \",\"\").toLowerCase():\"unknown\";return e.type===\"browser\"?[n,e.name,e.version].join(\"-\"):[n,e.version].join(\"-\")}function Me(){var e;const n=R();return n===m.browser?[n,((e=he())==null?void 0:e.host)||\"unknown\"].join(\":\"):n}function Ke(e,n,t){const r=Ve(),o=Me();return[[e,n].join(\"-\"),[De,t].join(\"-\"),r,o].join(\"/\")}function Xn({protocol:e,version:n,relayUrl:t,sdkVersion:r,auth:o,projectId:s,useOnCloseEvent:i,bundleId:d}){const l=t.split(\"?\"),c=Ke(e,n,r),u={auth:o,ua:c,projectId:s,useOnCloseEvent:i||void 0,origin:d||void 0},a=ke(l[1]||\"\",u);return l[0]+\"?\"+a}function et(e){let n=(e.match(/^[^:]+(?=:\\/\\/)/gi)||[])[0];const t=typeof n<\"u\"?e.split(\"://\")[1]:e;return n=n===\"wss\"?\"https\":\"http\",[n,t].join(\"://\")}function nt(e,n,t){if(!e[n]||typeof e[n]!==t)throw new Error(`Missing or invalid \"${n}\" param`)}function Le(e,n=ne){return xe(e.split(je),n)}function tt(e){return Le(e).join(q)}function O(e,n){return e.filter(t=>n.includes(t)).length===e.length}function xe(e,n=ne){return e.slice(Math.max(e.length-n,0))}function rt(e){return Object.fromEntries(e.entries())}function ot(e){return new Map(Object.entries(e))}function st(e,n){const t={};return Object.keys(e).forEach(r=>{t[r]=n(e[r])}),t}const it=e=>e;function Fe(e){return e.trim().replace(/^\\w/,n=>n.toUpperCase())}function ct(e){return e.split(q).map(n=>Fe(n)).join(q)}function at(e=me,n){const t=W(e||me);let r,o,s;return{resolve:i=>{s&&r&&(clearTimeout(s),r(i))},reject:i=>{s&&o&&(clearTimeout(s),o(i))},done:()=>new Promise((i,d)=>{s=setTimeout(()=>{d(new Error(n))},t),r=i,o=d})}}function ut(e,n,t){return new Promise(async(r,o)=>{const s=setTimeout(()=>o(new Error(t)),n);try{const i=await e;r(i)}catch(i){o(i)}clearTimeout(s)})}function re(e,n){if(typeof n==\"string\"&&n.startsWith(`${e}:`))return n;if(e.toLowerCase()===\"topic\"){if(typeof n!=\"string\")throw new Error('Value must be \"string\" for expirer target type: topic');return`topic:${n}`}else if(e.toLowerCase()===\"id\"){if(typeof n!=\"number\")throw new Error('Value must be \"number\" for expirer target type: id');return`id:${n}`}throw new Error(`Unknown expirer target type: ${e}`)}function lt(e){return re(\"topic\",e)}function dt(e){return re(\"id\",e)}function ft(e){const[n,t]=e.split(\":\"),r={id:void 0,topic:void 0};if(n===\"topic\"&&typeof t==\"string\")r.topic=t;else if(n===\"id\"&&Number.isInteger(Number(t)))r.id=Number(t);else throw new Error(`Invalid target, expected id:number or topic:string, got ${n}:${t}`);return r}function pt(e,n){return In((n||Date.now())+W(e))}function mt(e){return Date.now()>=W(e)}function yt(e,n){return`${e}${n?`:${n}`:\"\"}`}function S(e=[],n=[]){return[...new Set([...e,...n])]}async function gt({id:e,topic:n,wcDeepLink:t}){try{if(!t)return;const r=typeof t==\"string\"?JSON.parse(t):t;let o=r?.href;if(typeof o!=\"string\")return;o.endsWith(\"/\")&&(o=o.slice(0,-1));const s=`${o}/wc?requestId=${e}&sessionTopic=${n}`,i=R();i===m.browser?s.startsWith(\"https://\")?window.open(s,\"_blank\",\"noreferrer noopener\"):window.open(s,\"_self\",\"noreferrer noopener\"):i===m.reactNative&&typeof(global==null?void 0:global.Linking)<\"u\"&&await global.Linking.openURL(s)}catch(r){console.error(r)}}async function ht(e,n){try{return await e.getItem(n)||(D()?localStorage.getItem(n):void 0)}catch(t){console.error(t)}}const He=\"irn\";function vt(e){return e?.relay||{protocol:He}}function Et(e){const n=Pn[e];if(typeof n>\"u\")throw new Error(`Relay Protocol not supported: ${e}`);return n}var bt=Object.defineProperty,Nt=Object.defineProperties,Ot=Object.getOwnPropertyDescriptors,qe=Object.getOwnPropertySymbols,St=Object.prototype.hasOwnProperty,wt=Object.prototype.propertyIsEnumerable,Be=(e,n,t)=>n in e?bt(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,It=(e,n)=>{for(var t in n||(n={}))St.call(n,t)&&Be(e,t,n[t]);if(qe)for(var t of qe(n))wt.call(n,t)&&Be(e,t,n[t]);return e},Tt=(e,n)=>Nt(e,Ot(n));function Ge(e,n=\"-\"){const t={},r=\"relay\"+n;return Object.keys(e).forEach(o=>{if(o.startsWith(r)){const s=o.replace(r,\"\"),i=e[o];t[s]=i}}),t}function Pt(e){e=e.includes(\"wc://\")?e.replace(\"wc://\",\"\"):e,e=e.includes(\"wc:\")?e.replace(\"wc:\",\"\"):e;const n=e.indexOf(\":\"),t=e.indexOf(\"?\")!==-1?e.indexOf(\"?\"):void 0,r=e.substring(0,n),o=e.substring(n+1,t).split(\"@\"),s=typeof t<\"u\"?e.substring(t):\"\",i=M.parse(s);return{protocol:r,topic:We(o[0]),version:parseInt(o[1],10),symKey:i.symKey,relay:Ge(i),expiryTimestamp:i.expiryTimestamp?parseInt(i.expiryTimestamp,10):void 0}}function We(e){return e.startsWith(\"//\")?e.substring(2):e}function ze(e,n=\"-\"){const t=\"relay\",r={};return Object.keys(e).forEach(o=>{const s=t+n+o;e[o]&&(r[s]=e[o])}),r}function Rt(e){return`${e.protocol}:${e.topic}@${e.version}?`+M.stringify(Tt(It({symKey:e.symKey},ze(e.relay)),{expiryTimestamp:e.expiryTimestamp}))}var At=Object.defineProperty,Ut=Object.defineProperties,_t=Object.getOwnPropertyDescriptors,Ye=Object.getOwnPropertySymbols,$t=Object.prototype.hasOwnProperty,Ct=Object.prototype.propertyIsEnumerable,Je=(e,n,t)=>n in e?At(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,jt=(e,n)=>{for(var t in n||(n={}))$t.call(n,t)&&Je(e,t,n[t]);if(Ye)for(var t of Ye(n))Ct.call(n,t)&&Je(e,t,n[t]);return e},Dt=(e,n)=>Ut(e,_t(n));function A(e){const n=[];return e.forEach(t=>{const[r,o]=t.split(\":\");n.push(`${r}:${o}`)}),n}function Qe(e){const n=[];return Object.values(e).forEach(t=>{n.push(...A(t.accounts))}),n}function Ze(e,n){const t=[];return Object.values(e).forEach(r=>{A(r.accounts).includes(n)&&t.push(...r.methods)}),t}function Xe(e,n){const t=[];return Object.values(e).forEach(r=>{A(r.accounts).includes(n)&&t.push(...r.events)}),t}function kt(e,n){const t=ln(e,n);if(t)throw new Error(t.message);const r={};for(const[o,s]of Object.entries(e))r[o]={methods:s.methods,events:s.events,chains:s.accounts.map(i=>`${i.split(\":\")[0]}:${i.split(\":\")[1]}`)};return r}function Vt(e){const{proposal:{requiredNamespaces:n,optionalNamespaces:t={}},supportedNamespaces:r}=e,o=se(n),s=se(t),i={};Object.keys(r).forEach(c=>{const u=r[c].chains,a=r[c].methods,b=r[c].events,I=r[c].accounts;u.forEach(y=>{if(!I.some(f=>f.includes(y)))throw new Error(`No accounts provided for chain ${y} in namespace ${c}`)}),i[c]={chains:u,methods:a,events:b,accounts:I}});const d=fn(n,i,\"approve()\");if(d)throw new Error(d.message);const l={};return!Object.keys(n).length&&!Object.keys(t).length?i:(Object.keys(o).forEach(c=>{const u=r[c].chains.filter(y=>{var f,h;return(h=(f=o[c])==null?void 0:f.chains)==null?void 0:h.includes(y)}),a=r[c].methods.filter(y=>{var f,h;return(h=(f=o[c])==null?void 0:f.methods)==null?void 0:h.includes(y)}),b=r[c].events.filter(y=>{var f,h;return(h=(f=o[c])==null?void 0:f.events)==null?void 0:h.includes(y)}),I=u.map(y=>r[c].accounts.filter(f=>f.includes(`${y}:`))).flat();l[c]={chains:u,methods:a,events:b,accounts:I}}),Object.keys(s).forEach(c=>{var u,a,b,I,y,f;if(!r[c])return;const h=(a=(u=s[c])==null?void 0:u.chains)==null?void 0:a.filter(T=>r[c].chains.includes(T)),En=r[c].methods.filter(T=>{var P,C;return(C=(P=s[c])==null?void 0:P.methods)==null?void 0:C.includes(T)}),bn=r[c].events.filter(T=>{var P,C;return(C=(P=s[c])==null?void 0:P.events)==null?void 0:C.includes(T)}),Nn=h?.map(T=>r[c].accounts.filter(P=>P.includes(`${T}:`))).flat();l[c]={chains:S((b=l[c])==null?void 0:b.chains,h),methods:S((I=l[c])==null?void 0:I.methods,En),events:S((y=l[c])==null?void 0:y.events,bn),accounts:S((f=l[c])==null?void 0:f.accounts,Nn)}}),l)}function oe(e){return e.includes(\":\")}function en(e){return oe(e)?e.split(\":\")[0]:e}function se(e){var n,t,r;const o={};if(!B(e))return o;for(const[s,i]of Object.entries(e)){const d=oe(s)?[s]:i.chains,l=i.methods||[],c=i.events||[],u=en(s);o[u]=Dt(jt({},o[u]),{chains:S(d,(n=o[u])==null?void 0:n.chains),methods:S(l,(t=o[u])==null?void 0:t.methods),events:S(c,(r=o[u])==null?void 0:r.events)})}return o}const nn={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}},tn={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 N(e,n){const{message:t,code:r}=tn[e];return{message:n?`${t} ${n}`:t,code:r}}function U(e,n){const{message:t,code:r}=nn[e];return{message:n?`${t} ${n}`:t,code:r}}function k(e,n){return Array.isArray(e)?typeof n<\"u\"&&e.length?e.every(n):!0:!1}function B(e){return Object.getPrototypeOf(e)===Object.prototype&&Object.keys(e).length}function w(e){return typeof e>\"u\"}function g(e,n){return n&&w(e)?!0:typeof e==\"string\"&&!!e.trim().length}function G(e,n){return n&&w(e)?!0:typeof e==\"number\"&&!isNaN(e)}function Mt(e,n){const{requiredNamespaces:t}=n,r=Object.keys(e.namespaces),o=Object.keys(t);let s=!0;return O(o,r)?(r.forEach(i=>{const{accounts:d,methods:l,events:c}=e.namespaces[i],u=A(d),a=t[i];(!O(L(i,a),u)||!O(a.methods,l)||!O(a.events,c))&&(s=!1)}),s):!1}function V(e){return g(e,!1)&&e.includes(\":\")?e.split(\":\").length===2:!1}function rn(e){if(g(e,!1)&&e.includes(\":\")){const n=e.split(\":\");if(n.length===3){const t=n[0]+\":\"+n[1];return!!n[2]&&V(t)}}return!1}function Kt(e){if(g(e,!1))try{return typeof new URL(e)<\"u\"}catch{return!1}return!1}function Lt(e){var n;return(n=e?.proposer)==null?void 0:n.publicKey}function xt(e){return e?.topic}function Ft(e,n){let t=null;return g(e?.publicKey,!1)||(t=N(\"MISSING_OR_INVALID\",`${n} controller public key should be a string`)),t}function ie(e){let n=!0;return k(e)?e.length&&(n=e.every(t=>g(t,!1))):n=!1,n}function on(e,n,t){let r=null;return k(n)&&n.length?n.forEach(o=>{r||V(o)||(r=U(\"UNSUPPORTED_CHAINS\",`${t}, chain ${o} should be a string and conform to \"namespace:chainId\" format`))}):V(e)||(r=U(\"UNSUPPORTED_CHAINS\",`${t}, 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\"] }`)),r}function sn(e,n,t){let r=null;return Object.entries(e).forEach(([o,s])=>{if(r)return;const i=on(o,L(o,s),`${n} ${t}`);i&&(r=i)}),r}function cn(e,n){let t=null;return k(e)?e.forEach(r=>{t||rn(r)||(t=U(\"UNSUPPORTED_ACCOUNTS\",`${n}, account ${r} should be a string and conform to \"namespace:chainId:address\" format`))}):t=U(\"UNSUPPORTED_ACCOUNTS\",`${n}, accounts should be an array of strings conforming to \"namespace:chainId:address\" format`),t}function an(e,n){let t=null;return Object.values(e).forEach(r=>{if(t)return;const o=cn(r?.accounts,`${n} namespace`);o&&(t=o)}),t}function un(e,n){let t=null;return ie(e?.methods)?ie(e?.events)||(t=U(\"UNSUPPORTED_EVENTS\",`${n}, events should be an array of strings or empty array for no events`)):t=U(\"UNSUPPORTED_METHODS\",`${n}, methods should be an array of strings or empty array for no methods`),t}function ce(e,n){let t=null;return Object.values(e).forEach(r=>{if(t)return;const o=un(r,`${n}, namespace`);o&&(t=o)}),t}function Ht(e,n,t){let r=null;if(e&&B(e)){const o=ce(e,n);o&&(r=o);const s=sn(e,n,t);s&&(r=s)}else r=N(\"MISSING_OR_INVALID\",`${n}, ${t} should be an object with data`);return r}function ln(e,n){let t=null;if(e&&B(e)){const r=ce(e,n);r&&(t=r);const o=an(e,n);o&&(t=o)}else t=N(\"MISSING_OR_INVALID\",`${n}, namespaces should be an object with data`);return t}function dn(e){return g(e.protocol,!0)}function qt(e,n){let t=!1;return n&&!e?t=!0:e&&k(e)&&e.length&&e.forEach(r=>{t=dn(r)}),t}function Bt(e){return typeof e==\"number\"}function Gt(e){return typeof e<\"u\"&&typeof e!==null}function Wt(e){return!(!e||typeof e!=\"object\"||!e.code||!G(e.code,!1)||!e.message||!g(e.message,!1))}function zt(e){return!(w(e)||!g(e.method,!1))}function Yt(e){return!(w(e)||w(e.result)&&w(e.error)||!G(e.id,!1)||!g(e.jsonrpc,!1))}function Jt(e){return!(w(e)||!g(e.name,!1))}function Qt(e,n){return!(!V(n)||!Qe(e).includes(n))}function Zt(e,n,t){return g(t,!1)?Ze(e,n).includes(t):!1}function Xt(e,n,t){return g(t,!1)?Xe(e,n).includes(t):!1}function fn(e,n,t){let r=null;const o=er(e),s=nr(n),i=Object.keys(o),d=Object.keys(s),l=pn(Object.keys(e)),c=pn(Object.keys(n)),u=l.filter(a=>!c.includes(a));return u.length&&(r=N(\"NON_CONFORMING_NAMESPACES\",`${t} namespaces keys don't satisfy requiredNamespaces.\n Required: ${u.toString()}\n Received: ${Object.keys(n).toString()}`)),O(i,d)||(r=N(\"NON_CONFORMING_NAMESPACES\",`${t} namespaces chains don't satisfy required namespaces.\n Required: ${i.toString()}\n Approved: ${d.toString()}`)),Object.keys(n).forEach(a=>{if(!a.includes(\":\")||r)return;const b=A(n[a].accounts);b.includes(a)||(r=N(\"NON_CONFORMING_NAMESPACES\",`${t} namespaces accounts don't satisfy namespace accounts for ${a}\n Required: ${a}\n Approved: ${b.toString()}`))}),i.forEach(a=>{r||(O(o[a].methods,s[a].methods)?O(o[a].events,s[a].events)||(r=N(\"NON_CONFORMING_NAMESPACES\",`${t} namespaces events don't satisfy namespace events for ${a}`)):r=N(\"NON_CONFORMING_NAMESPACES\",`${t} namespaces methods don't satisfy namespace methods for ${a}`))}),r}function er(e){const n={};return Object.keys(e).forEach(t=>{var r;t.includes(\":\")?n[t]=e[t]:(r=e[t].chains)==null||r.forEach(o=>{n[o]={methods:e[t].methods,events:e[t].events}})}),n}function pn(e){return[...new Set(e.map(n=>n.includes(\":\")?n.split(\":\")[0]:n))]}function nr(e){const n={};return Object.keys(e).forEach(t=>{if(t.includes(\":\"))n[t]=e[t];else{const r=A(e[t].accounts);r?.forEach(o=>{n[o]={accounts:e[t].accounts.filter(s=>s.includes(`${o}:`)),methods:e[t].methods,events:e[t].events}})}}),n}function tr(e,n){return G(e,!1)&&e<=n.max&&e>=n.min}function rr(){const e=R();return new Promise(n=>{switch(e){case m.browser:n(mn());break;case m.reactNative:n(yn());break;case m.node:n(gn());break;default:n(!0)}})}function mn(){return D()&&navigator?.onLine}async function yn(){if($()&&typeof global<\"u\"&&global!=null&&global.NetInfo){const e=await(global==null?void 0:global.NetInfo.fetch());return e?.isConnected}return!0}function gn(){return!0}function or(e){switch(R()){case m.browser:hn(e);break;case m.reactNative:vn(e);break;case m.node:break}}function hn(e){!$()&&D()&&(window.addEventListener(\"online\",()=>e(!0)),window.addEventListener(\"offline\",()=>e(!1)))}function vn(e){$()&&typeof global<\"u\"&&global!=null&&global.NetInfo&&global?.NetInfo.addEventListener(n=>e(n?.isConnected))}const ae={};class sr{static get(n){return ae[n]}static set(n,t){ae[n]=t}static delete(n){delete ae[n]}}export{J as BASE10,p as BASE16,F as BASE64,zn as COLON,ne as DEFAULT_DEPTH,q as EMPTY_SPACE,m as ENV_MAP,tn as INTERNAL_ERRORS,sr as MemoryStore,Yn as ONE_THOUSAND,Ce as REACT_NATIVE_PRODUCT,He as RELAYER_DEFAULT_PROTOCOL,nn as SDK_ERRORS,De as SDK_TYPE,je as SLASH,Q as TYPE_0,_ as TYPE_1,H as UTF8,ke as appendToQueryString,nt as assertType,Vt as buildApprovedNamespaces,pt as calcExpiry,ct as capitalize,Fe as capitalizeWord,at as createDelayedPromise,ut as createExpiringPromise,j as decodeTypeByte,Fn as decrypt,Mn as deriveSymKey,ee as deserialize,Pe as encodeTypeByte,xn as encrypt,yt as engineEvent,it as enumify,be as formatAccountId,Rn as formatAccountWithChain,Ee as formatChainId,re as formatExpirerTarget,dt as formatIdTarget,jn as formatMessage,tt as formatMessageContext,ze as formatRelayParams,Xn as formatRelayRpcUrl,lt as formatTopicTarget,Ke as formatUA,Rt as formatUri,kn as generateKeyPair,Vn as generateRandomBytes32,A as getAccountsChains,Un as getAccountsFromNamespaces,Ne as getAddressFromAccount,An as getAddressesFromAccounts,Qn as getAppMetadata,mn as getBrowserOnlineStatus,Jn as getBundleId,Oe as getChainFromAccount,Se as getChainsFromAccounts,L as getChainsFromNamespace,_n as getChainsFromNamespaces,$n as getChainsFromRequiredNamespaces,ht as getDeepLink,Ie as getDidAddress,x as getDidAddressSegments,we as getDidChainId,R as getEnvironment,et as getHttpUrl,N as getInternalError,Me as getJavascriptID,Ve as getJavascriptOS,xe as getLastItems,Cn as getNamespacedDidChainId,Qe as getNamespacesChains,Xe as getNamespacesEventsForChainId,Ze as getNamespacesMethodsForChainId,gn as getNodeOnlineStatus,yn as getReactNativeOnlineStatus,Zn as getRelayClientMetadata,Et as getRelayProtocolApi,vt as getRelayProtocolName,kt as getRequiredNamespacesFromNamespaces,U as getSdkError,Y as getUniqueValues,gt as handleDeeplinkRedirect,O as hasOverlap,Kn as hashKey,Ln as hashMessage,D as isBrowser,oe as isCaipNamespace,fn as isConformingNamespaces,mt as isExpired,te as isNode,rr as isOnline,Lt as isProposalStruct,$ as isReactNative,Mt as isSessionCompatible,xt as isSessionStruct,qn as isTypeOneEnvelope,w as isUndefined,rn as isValidAccountId,cn as isValidAccounts,un as isValidActions,k as isValidArray,V as isValidChainId,on as isValidChains,Ft as isValidController,Wt as isValidErrorReason,Jt as isValidEvent,Bt as isValidId,an as isValidNamespaceAccounts,ce as isValidNamespaceActions,sn as isValidNamespaceChains,ie as isValidNamespaceMethodsOrEvents,ln as isValidNamespaces,Qt as isValidNamespacesChainId,Xt as isValidNamespacesEvent,Zt as isValidNamespacesRequest,G as isValidNumber,B as isValidObject,Gt as isValidParams,dn as isValidRelay,qt as isValidRelays,zt as isValidRequest,tr as isValidRequestExpiry,Ht as isValidRequiredNamespaces,Yt as isValidResponse,g as isValidString,Kt as isValidUrl,st as mapEntries,rt as mapToObj,S as mergeArrays,se as normalizeNamespaces,ot as objToMap,z as parseAccountId,ve as parseChainId,Le as parseContextNames,ft as parseExpirerTarget,en as parseNamespaceKey,Ge as parseRelayParams,We as parseTopic,Pt as parseUri,Re as serialize,hn as subscribeToBrowserNetworkChange,or as subscribeToNetworkChange,vn as subscribeToReactNativeNetworkChange,Hn as validateDecoding,Ae as validateEncoding};\n//# sourceMappingURL=index.es.js.map\n","const suspectProtoRx = /\"(?:_|\\\\u0{2}5[Ff]){2}(?:p|\\\\u0{2}70)(?:r|\\\\u0{2}72)(?:o|\\\\u0{2}6[Ff])(?:t|\\\\u0{2}74)(?:o|\\\\u0{2}6[Ff])(?:_|\\\\u0{2}5[Ff]){2}\"\\s*:/;\nconst suspectConstructorRx = /\"(?:c|\\\\u0063)(?:o|\\\\u006[Ff])(?:n|\\\\u006[Ee])(?:s|\\\\u0073)(?:t|\\\\u0074)(?:r|\\\\u0072)(?:u|\\\\u0075)(?:c|\\\\u0063)(?:t|\\\\u0074)(?:o|\\\\u006[Ff])(?:r|\\\\u0072)\"\\s*:/;\nconst JsonSigRx = /^\\s*[\"[{]|^\\s*-?\\d{1,16}(\\.\\d{1,17})?([Ee][+-]?\\d+)?\\s*$/;\nfunction jsonParseTransform(key, value) {\n if (key === \"__proto__\" || key === \"constructor\" && value && typeof value === \"object\" && \"prototype\" in value) {\n warnKeyDropped(key);\n return;\n }\n return value;\n}\nfunction warnKeyDropped(key) {\n console.warn(`[destr] Dropping \"${key}\" key to prevent prototype pollution.`);\n}\nfunction destr(value, options = {}) {\n if (typeof value !== \"string\") {\n return value;\n }\n const _value = value.trim();\n if (\n // eslint-disable-next-line unicorn/prefer-at\n value[0] === '\"' && value.endsWith('\"') && !value.includes(\"\\\\\")\n ) {\n return _value.slice(1, -1);\n }\n if (_value.length <= 9) {\n const _lval = _value.toLowerCase();\n if (_lval === \"true\") {\n return true;\n }\n if (_lval === \"false\") {\n return false;\n }\n if (_lval === \"undefined\") {\n return void 0;\n }\n if (_lval === \"null\") {\n return null;\n }\n if (_lval === \"nan\") {\n return Number.NaN;\n }\n if (_lval === \"infinity\") {\n return Number.POSITIVE_INFINITY;\n }\n if (_lval === \"-infinity\") {\n return Number.NEGATIVE_INFINITY;\n }\n }\n if (!JsonSigRx.test(value)) {\n if (options.strict) {\n throw new SyntaxError(\"[destr] Invalid JSON\");\n }\n return value;\n }\n try {\n if (suspectProtoRx.test(value) || suspectConstructorRx.test(value)) {\n if (options.strict) {\n throw new Error(\"[destr] Possible prototype pollution\");\n }\n return JSON.parse(value, jsonParseTransform);\n }\n return JSON.parse(value);\n } catch (error) {\n if (options.strict) {\n throw error;\n }\n return value;\n }\n}\nfunction safeDestr(value, options = {}) {\n return destr(value, { ...options, strict: true });\n}\n\nexport { destr as default, destr, safeDestr };\n","function wrapToPromise(value) {\n if (!value || typeof value.then !== \"function\") {\n return Promise.resolve(value);\n }\n return value;\n}\nfunction asyncCall(function_, ...arguments_) {\n try {\n return wrapToPromise(function_(...arguments_));\n } catch (error) {\n return Promise.reject(error);\n }\n}\nfunction isPrimitive(value) {\n const type = typeof value;\n return value === null || type !== \"object\" && type !== \"function\";\n}\nfunction isPureObject(value) {\n const proto = Object.getPrototypeOf(value);\n return !proto || proto.isPrototypeOf(Object);\n}\nfunction stringify(value) {\n if (isPrimitive(value)) {\n return String(value);\n }\n if (isPureObject(value) || Array.isArray(value)) {\n return JSON.stringify(value);\n }\n if (typeof value.toJSON === \"function\") {\n return stringify(value.toJSON());\n }\n throw new Error(\"[unstorage] Cannot stringify value!\");\n}\nfunction checkBufferSupport() {\n if (typeof Buffer === void 0) {\n throw new TypeError(\"[unstorage] Buffer is not supported!\");\n }\n}\nconst BASE64_PREFIX = \"base64:\";\nfunction serializeRaw(value) {\n if (typeof value === \"string\") {\n return value;\n }\n checkBufferSupport();\n const base64 = Buffer.from(value).toString(\"base64\");\n return BASE64_PREFIX + base64;\n}\nfunction deserializeRaw(value) {\n if (typeof value !== \"string\") {\n return value;\n }\n if (!value.startsWith(BASE64_PREFIX)) {\n return value;\n }\n checkBufferSupport();\n return Buffer.from(value.slice(BASE64_PREFIX.length), \"base64\");\n}\n\nconst storageKeyProperties = [\n \"hasItem\",\n \"getItem\",\n \"getItemRaw\",\n \"setItem\",\n \"setItemRaw\",\n \"removeItem\",\n \"getMeta\",\n \"setMeta\",\n \"removeMeta\",\n \"getKeys\",\n \"clear\",\n \"mount\",\n \"unmount\"\n];\nfunction prefixStorage(storage, base) {\n base = normalizeBaseKey(base);\n if (!base) {\n return storage;\n }\n const nsStorage = { ...storage };\n for (const property of storageKeyProperties) {\n nsStorage[property] = (key = \"\", ...args) => (\n // @ts-ignore\n storage[property](base + key, ...args)\n );\n }\n nsStorage.getKeys = (key = \"\", ...arguments_) => storage.getKeys(base + key, ...arguments_).then((keys) => keys.map((key2) => key2.slice(base.length)));\n return nsStorage;\n}\nfunction normalizeKey(key) {\n if (!key) {\n return \"\";\n }\n return key.split(\"?\")[0].replace(/[/\\\\]/g, \":\").replace(/:+/g, \":\").replace(/^:|:$/g, \"\");\n}\nfunction joinKeys(...keys) {\n return normalizeKey(keys.join(\":\"));\n}\nfunction normalizeBaseKey(base) {\n base = normalizeKey(base);\n return base ? base + \":\" : \"\";\n}\n\nexport { normalizeKey as a, asyncCall as b, serializeRaw as c, deserializeRaw as d, joinKeys as j, normalizeBaseKey as n, prefixStorage as p, stringify as s };\n","import destr from 'destr';\nimport { n as normalizeBaseKey, a as normalizeKey, b as asyncCall, d as deserializeRaw, s as stringify, c as serializeRaw, j as joinKeys } from './shared/unstorage.8581f561.mjs';\nexport { p as prefixStorage } from './shared/unstorage.8581f561.mjs';\n\nfunction defineDriver(factory) {\n return factory;\n}\n\nconst DRIVER_NAME = \"memory\";\nconst memory = defineDriver(() => {\n const data = /* @__PURE__ */ new Map();\n return {\n name: DRIVER_NAME,\n options: {},\n hasItem(key) {\n return data.has(key);\n },\n getItem(key) {\n return data.get(key) ?? null;\n },\n getItemRaw(key) {\n return data.get(key) ?? null;\n },\n setItem(key, value) {\n data.set(key, value);\n },\n setItemRaw(key, value) {\n data.set(key, value);\n },\n removeItem(key) {\n data.delete(key);\n },\n getKeys() {\n return Array.from(data.keys());\n },\n clear() {\n data.clear();\n },\n dispose() {\n data.clear();\n }\n };\n});\n\nfunction createStorage(options = {}) {\n const context = {\n mounts: { \"\": options.driver || memory() },\n mountpoints: [\"\"],\n watching: false,\n watchListeners: [],\n unwatch: {}\n };\n const getMount = (key) => {\n for (const base of context.mountpoints) {\n if (key.startsWith(base)) {\n return {\n base,\n relativeKey: key.slice(base.length),\n driver: context.mounts[base]\n };\n }\n }\n return {\n base: \"\",\n relativeKey: key,\n driver: context.mounts[\"\"]\n };\n };\n const getMounts = (base, includeParent) => {\n return context.mountpoints.filter(\n (mountpoint) => mountpoint.startsWith(base) || includeParent && base.startsWith(mountpoint)\n ).map((mountpoint) => ({\n relativeBase: base.length > mountpoint.length ? base.slice(mountpoint.length) : void 0,\n mountpoint,\n driver: context.mounts[mountpoint]\n }));\n };\n const onChange = (event, key) => {\n if (!context.watching) {\n return;\n }\n key = normalizeKey(key);\n for (const listener of context.watchListeners) {\n listener(event, key);\n }\n };\n const startWatch = async () => {\n if (context.watching) {\n return;\n }\n context.watching = true;\n for (const mountpoint in context.mounts) {\n context.unwatch[mountpoint] = await watch(\n context.mounts[mountpoint],\n onChange,\n mountpoint\n );\n }\n };\n const stopWatch = async () => {\n if (!context.watching) {\n return;\n }\n for (const mountpoint in context.unwatch) {\n await context.unwatch[mountpoint]();\n }\n context.unwatch = {};\n context.watching = false;\n };\n const runBatch = (items, commonOptions, cb) => {\n const batches = /* @__PURE__ */ new Map();\n const getBatch = (mount) => {\n let batch = batches.get(mount.base);\n if (!batch) {\n batch = {\n driver: mount.driver,\n base: mount.base,\n items: []\n };\n batches.set(mount.base, batch);\n }\n return batch;\n };\n for (const item of items) {\n const isStringItem = typeof item === \"string\";\n const key = normalizeKey(isStringItem ? item : item.key);\n const value = isStringItem ? void 0 : item.value;\n const options2 = isStringItem || !item.options ? commonOptions : { ...commonOptions, ...item.options };\n const mount = getMount(key);\n getBatch(mount).items.push({\n key,\n value,\n relativeKey: mount.relativeKey,\n options: options2\n });\n }\n return Promise.all([...batches.values()].map((batch) => cb(batch))).then(\n (r) => r.flat()\n );\n };\n const storage = {\n // Item\n hasItem(key, opts = {}) {\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n return asyncCall(driver.hasItem, relativeKey, opts);\n },\n getItem(key, opts = {}) {\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n return asyncCall(driver.getItem, relativeKey, opts).then(\n (value) => destr(value)\n );\n },\n getItems(items, commonOptions) {\n return runBatch(items, commonOptions, (batch) => {\n if (batch.driver.getItems) {\n return asyncCall(\n batch.driver.getItems,\n batch.items.map((item) => ({\n key: item.relativeKey,\n options: item.options\n })),\n commonOptions\n ).then(\n (r) => r.map((item) => ({\n key: joinKeys(batch.base, item.key),\n value: destr(item.value)\n }))\n );\n }\n return Promise.all(\n batch.items.map((item) => {\n return asyncCall(\n batch.driver.getItem,\n item.relativeKey,\n item.options\n ).then((value) => ({\n key: item.key,\n value: destr(value)\n }));\n })\n );\n });\n },\n getItemRaw(key, opts = {}) {\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n if (driver.getItemRaw) {\n return asyncCall(driver.getItemRaw, relativeKey, opts);\n }\n return asyncCall(driver.getItem, relativeKey, opts).then(\n (value) => deserializeRaw(value)\n );\n },\n async setItem(key, value, opts = {}) {\n if (value === void 0) {\n return storage.removeItem(key);\n }\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n if (!driver.setItem) {\n return;\n }\n await asyncCall(driver.setItem, relativeKey, stringify(value), opts);\n if (!driver.watch) {\n onChange(\"update\", key);\n }\n },\n async setItems(items, commonOptions) {\n await runBatch(items, commonOptions, async (batch) => {\n if (batch.driver.setItems) {\n return asyncCall(\n batch.driver.setItems,\n batch.items.map((item) => ({\n key: item.relativeKey,\n value: stringify(item.value),\n options: item.options\n })),\n commonOptions\n );\n }\n if (!batch.driver.setItem) {\n return;\n }\n await Promise.all(\n batch.items.map((item) => {\n return asyncCall(\n batch.driver.setItem,\n item.relativeKey,\n stringify(item.value),\n item.options\n );\n })\n );\n });\n },\n async setItemRaw(key, value, opts = {}) {\n if (value === void 0) {\n return storage.removeItem(key, opts);\n }\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n if (driver.setItemRaw) {\n await asyncCall(driver.setItemRaw, relativeKey, value, opts);\n } else if (driver.setItem) {\n await asyncCall(driver.setItem, relativeKey, serializeRaw(value), opts);\n } else {\n return;\n }\n if (!driver.watch) {\n onChange(\"update\", key);\n }\n },\n async removeItem(key, opts = {}) {\n if (typeof opts === \"boolean\") {\n opts = { removeMeta: opts };\n }\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n if (!driver.removeItem) {\n return;\n }\n await asyncCall(driver.removeItem, relativeKey, opts);\n if (opts.removeMeta || opts.removeMata) {\n await asyncCall(driver.removeItem, relativeKey + \"$\", opts);\n }\n if (!driver.watch) {\n onChange(\"remove\", key);\n }\n },\n // Meta\n async getMeta(key, opts = {}) {\n if (typeof opts === \"boolean\") {\n opts = { nativeOnly: opts };\n }\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n const meta = /* @__PURE__ */ Object.create(null);\n if (driver.getMeta) {\n Object.assign(meta, await asyncCall(driver.getMeta, relativeKey, opts));\n }\n if (!opts.nativeOnly) {\n const value = await asyncCall(\n driver.getItem,\n relativeKey + \"$\",\n opts\n ).then((value_) => destr(value_));\n if (value && typeof value === \"object\") {\n if (typeof value.atime === \"string\") {\n value.atime = new Date(value.atime);\n }\n if (typeof value.mtime === \"string\") {\n value.mtime = new Date(value.mtime);\n }\n Object.assign(meta, value);\n }\n }\n return meta;\n },\n setMeta(key, value, opts = {}) {\n return this.setItem(key + \"$\", value, opts);\n },\n removeMeta(key, opts = {}) {\n return this.removeItem(key + \"$\", opts);\n },\n // Keys\n async getKeys(base, opts = {}) {\n base = normalizeBaseKey(base);\n const mounts = getMounts(base, true);\n let maskedMounts = [];\n const allKeys = [];\n for (const mount of mounts) {\n const rawKeys = await asyncCall(\n mount.driver.getKeys,\n mount.relativeBase,\n opts\n );\n const keys = rawKeys.map((key) => mount.mountpoint + normalizeKey(key)).filter((key) => !maskedMounts.some((p) => key.startsWith(p)));\n allKeys.push(...keys);\n maskedMounts = [\n mount.mountpoint,\n ...maskedMounts.filter((p) => !p.startsWith(mount.mountpoint))\n ];\n }\n return base ? allKeys.filter((key) => key.startsWith(base) && !key.endsWith(\"$\")) : allKeys.filter((key) => !key.endsWith(\"$\"));\n },\n // Utils\n async clear(base, opts = {}) {\n base = normalizeBaseKey(base);\n await Promise.all(\n getMounts(base, false).map(async (m) => {\n if (m.driver.clear) {\n return asyncCall(m.driver.clear, m.relativeBase, opts);\n }\n if (m.driver.removeItem) {\n const keys = await m.driver.getKeys(m.relativeBase || \"\", opts);\n return Promise.all(\n keys.map((key) => m.driver.removeItem(key, opts))\n );\n }\n })\n );\n },\n async dispose() {\n await Promise.all(\n Object.values(context.mounts).map((driver) => dispose(driver))\n );\n },\n async watch(callback) {\n await startWatch();\n context.watchListeners.push(callback);\n return async () => {\n context.watchListeners = context.watchListeners.filter(\n (listener) => listener !== callback\n );\n if (context.watchListeners.length === 0) {\n await stopWatch();\n }\n };\n },\n async unwatch() {\n context.watchListeners = [];\n await stopWatch();\n },\n // Mount\n mount(base, driver) {\n base = normalizeBaseKey(base);\n if (base && context.mounts[base]) {\n throw new Error(`already mounted at ${base}`);\n }\n if (base) {\n context.mountpoints.push(base);\n context.mountpoints.sort((a, b) => b.length - a.length);\n }\n context.mounts[base] = driver;\n if (context.watching) {\n Promise.resolve(watch(driver, onChange, base)).then((unwatcher) => {\n context.unwatch[base] = unwatcher;\n }).catch(console.error);\n }\n return storage;\n },\n async unmount(base, _dispose = true) {\n base = normalizeBaseKey(base);\n if (!base || !context.mounts[base]) {\n return;\n }\n if (context.watching && base in context.unwatch) {\n context.unwatch[base]();\n delete context.unwatch[base];\n }\n if (_dispose) {\n await dispose(context.mounts[base]);\n }\n context.mountpoints = context.mountpoints.filter((key) => key !== base);\n delete context.mounts[base];\n },\n getMount(key = \"\") {\n key = normalizeKey(key) + \":\";\n const m = getMount(key);\n return {\n driver: m.driver,\n base: m.base\n };\n },\n getMounts(base = \"\", opts = {}) {\n base = normalizeKey(base);\n const mounts = getMounts(base, opts.parents);\n return mounts.map((m) => ({\n driver: m.driver,\n base: m.mountpoint\n }));\n }\n };\n return storage;\n}\nasync function snapshot(storage, base) {\n base = normalizeBaseKey(base);\n const keys = await storage.getKeys(base);\n const snapshot2 = {};\n await Promise.all(\n keys.map(async (key) => {\n snapshot2[key.slice(base.length)] = await storage.getItem(key);\n })\n );\n return snapshot2;\n}\nasync function restoreSnapshot(driver, snapshot2, base = \"\") {\n base = normalizeBaseKey(base);\n await Promise.all(\n Object.entries(snapshot2).map((e) => driver.setItem(base + e[0], e[1]))\n );\n}\nfunction watch(driver, onChange, base) {\n return driver.watch ? driver.watch((event, key) => onChange(event, base + key)) : () => {\n };\n}\nasync function dispose(driver) {\n if (typeof driver.dispose === \"function\") {\n await asyncCall(driver.dispose);\n }\n}\n\nconst builtinDrivers = {\n azureAppConfiguration: \"unstorage/drivers/azure-app-configuration\",\n azureCosmos: \"unstorage/drivers/azure-cosmos\",\n azureKeyVault: \"unstorage/drivers/azure-key-vault\",\n azureStorageBlob: \"unstorage/drivers/azure-storage-blob\",\n azureStorageTable: \"unstorage/drivers/azure-storage-table\",\n cloudflareKVBinding: \"unstorage/drivers/cloudflare-kv-binding\",\n cloudflareKVHTTP: \"unstorage/drivers/cloudflare-kv-http\",\n cloudflareR2Binding: \"unstorage/drivers/cloudflare-r2-binding\",\n fs: \"unstorage/drivers/fs\",\n fsLite: \"unstorage/drivers/fs-lite\",\n github: \"unstorage/drivers/github\",\n http: \"unstorage/drivers/http\",\n indexedb: \"unstorage/drivers/indexedb\",\n localStorage: \"unstorage/drivers/localstorage\",\n lruCache: \"unstorage/drivers/lru-cache\",\n memory: \"unstorage/drivers/memory\",\n mongodb: \"unstorage/drivers/mongodb\",\n netlifyBlobs: \"unstorage/drivers/netlify-blobs\",\n overlay: \"unstorage/drivers/overlay\",\n planetscale: \"unstorage/drivers/planetscale\",\n redis: \"unstorage/drivers/redis\",\n sessionStorage: \"unstorage/drivers/session-storage\",\n vercelKV: \"unstorage/drivers/vercel-kv\",\n /** @deprecated */\n \"cloudflare-kv-binding\": \"unstorage/drivers/cloudflare-kv-binding\",\n /** @deprecated */\n \"cloudflare-kv-http\": \"unstorage/drivers/cloudflare-kv-http\"\n};\n\nexport { builtinDrivers, createStorage, defineDriver, joinKeys, normalizeBaseKey, normalizeKey, restoreSnapshot, snapshot };\n","function promisifyRequest(request) {\n return new Promise((resolve, reject) => {\n // @ts-ignore - file size hacks\n request.oncomplete = request.onsuccess = () => resolve(request.result);\n // @ts-ignore - file size hacks\n request.onabort = request.onerror = () => reject(request.error);\n });\n}\nfunction createStore(dbName, storeName) {\n const request = indexedDB.open(dbName);\n request.onupgradeneeded = () => request.result.createObjectStore(storeName);\n const dbp = promisifyRequest(request);\n return (txMode, callback) => dbp.then((db) => callback(db.transaction(storeName, txMode).objectStore(storeName)));\n}\nlet defaultGetStoreFunc;\nfunction defaultGetStore() {\n if (!defaultGetStoreFunc) {\n defaultGetStoreFunc = createStore('keyval-store', 'keyval');\n }\n return defaultGetStoreFunc;\n}\n/**\n * Get a value by its key.\n *\n * @param key\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction get(key, customStore = defaultGetStore()) {\n return customStore('readonly', (store) => promisifyRequest(store.get(key)));\n}\n/**\n * Set a value with a key.\n *\n * @param key\n * @param value\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction set(key, value, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n store.put(value, key);\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Set multiple values at once. This is faster than calling set() multiple times.\n * It's also atomic – if one of the pairs can't be added, none will be added.\n *\n * @param entries Array of entries, where each entry is an array of `[key, value]`.\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction setMany(entries, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n entries.forEach((entry) => store.put(entry[1], entry[0]));\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Get multiple values by their keys\n *\n * @param keys\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction getMany(keys, customStore = defaultGetStore()) {\n return customStore('readonly', (store) => Promise.all(keys.map((key) => promisifyRequest(store.get(key)))));\n}\n/**\n * Update a value. This lets you see the old value and update it as an atomic operation.\n *\n * @param key\n * @param updater A callback that takes the old value and returns a new value.\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction update(key, updater, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => \n // Need to create the promise manually.\n // If I try to chain promises, the transaction closes in browsers\n // that use a promise polyfill (IE10/11).\n new Promise((resolve, reject) => {\n store.get(key).onsuccess = function () {\n try {\n store.put(updater(this.result), key);\n resolve(promisifyRequest(store.transaction));\n }\n catch (err) {\n reject(err);\n }\n };\n }));\n}\n/**\n * Delete a particular key from the store.\n *\n * @param key\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction del(key, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n store.delete(key);\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Delete multiple keys at once.\n *\n * @param keys List of keys to delete.\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction delMany(keys, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n keys.forEach((key) => store.delete(key));\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Clear all values in the store.\n *\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction clear(customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n store.clear();\n return promisifyRequest(store.transaction);\n });\n}\nfunction eachCursor(store, callback) {\n store.openCursor().onsuccess = function () {\n if (!this.result)\n return;\n callback(this.result);\n this.result.continue();\n };\n return promisifyRequest(store.transaction);\n}\n/**\n * Get all keys in the store.\n *\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction keys(customStore = defaultGetStore()) {\n return customStore('readonly', (store) => {\n // Fast path for modern browsers\n if (store.getAllKeys) {\n return promisifyRequest(store.getAllKeys());\n }\n const items = [];\n return eachCursor(store, (cursor) => items.push(cursor.key)).then(() => items);\n });\n}\n/**\n * Get all values in the store.\n *\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction values(customStore = defaultGetStore()) {\n return customStore('readonly', (store) => {\n // Fast path for modern browsers\n if (store.getAll) {\n return promisifyRequest(store.getAll());\n }\n const items = [];\n return eachCursor(store, (cursor) => items.push(cursor.value)).then(() => items);\n });\n}\n/**\n * Get all entries in the store. Each entry is an array of `[key, value]`.\n *\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction entries(customStore = defaultGetStore()) {\n return customStore('readonly', (store) => {\n // Fast path for modern browsers\n // (although, hopefully we'll get a simpler path some day)\n if (store.getAll && store.getAllKeys) {\n return Promise.all([\n promisifyRequest(store.getAllKeys()),\n promisifyRequest(store.getAll()),\n ]).then(([keys, values]) => keys.map((key, i) => [key, values[i]]));\n }\n const items = [];\n return customStore('readonly', (store) => eachCursor(store, (cursor) => items.push([cursor.key, cursor.value])).then(() => items));\n });\n}\n\nexport { clear, createStore, del, delMany, entries, get, getMany, keys, promisifyRequest, set, setMany, update, values };\n","const JSONStringify = data => JSON.stringify(data, (_, value) => typeof value === \"bigint\" ? value.toString() + \"n\" : value);\nconst JSONParse = json => {\n const numbersBiggerThanMaxInt = /([\\[:])?(\\d{17,}|(?:[9](?:[1-9]07199254740991|0[1-9]7199254740991|00[8-9]199254740991|007[2-9]99254740991|007199[3-9]54740991|0071992[6-9]4740991|00719925[5-9]740991|007199254[8-9]40991|0071992547[5-9]0991|00719925474[1-9]991|00719925474099[2-9])))([,\\}\\]])/g;\n const serializedData = json.replace(numbersBiggerThanMaxInt, \"$1\\\"$2n\\\"$3\");\n return JSON.parse(serializedData, (_, value) => {\n const isCustomFormatBigInt = typeof value === \"string\" && value.match(/^\\d+n$/);\n if (isCustomFormatBigInt)\n return BigInt(value.substring(0, value.length - 1));\n return value;\n });\n};\nexport function safeJsonParse(value) {\n if (typeof value !== \"string\") {\n throw new Error(`Cannot safe json parse value of type ${typeof value}`);\n }\n try {\n return JSONParse(value);\n }\n catch (_a) {\n return value;\n }\n}\nexport function safeJsonStringify(value) {\n return typeof value === \"string\" ? value : JSONStringify(value) || \"\";\n}\n//# sourceMappingURL=index.js.map","import{createStorage as w}from\"unstorage\";import{createStore as I,get as u,set as p,del as b,keys as v,clear as S}from\"idb-keyval\";import{safeJsonStringify as g,safeJsonParse as d}from\"@walletconnect/safe-json\";function C(i){return i}const x=\"idb-keyval\";var z=(i={})=>{const t=i.base&&i.base.length>0?`${i.base}:`:\"\",e=s=>t+s;let n;return i.dbName&&i.storeName&&(n=I(i.dbName,i.storeName)),{name:x,options:i,async hasItem(s){return!(typeof await u(e(s),n)>\"u\")},async getItem(s){return await u(e(s),n)??null},setItem(s,a){return p(e(s),a,n)},removeItem(s){return b(e(s),n)},getKeys(){return v(n)},clear(){return S(n)}}};const D=\"WALLET_CONNECT_V2_INDEXED_DB\",E=\"keyvaluestorage\";class _{constructor(){this.indexedDb=w({driver:z({dbName:D,storeName:E})})}async getKeys(){return this.indexedDb.getKeys()}async getEntries(){return(await this.indexedDb.getItems(await this.indexedDb.getKeys())).map(t=>[t.key,t.value])}async getItem(t){const e=await this.indexedDb.getItem(t);if(e!==null)return e}async setItem(t,e){await this.indexedDb.setItem(t,g(e))}async removeItem(t){await this.indexedDb.removeItem(t)}}var l=typeof globalThis<\"u\"?globalThis:typeof window<\"u\"?window:typeof global<\"u\"?global:typeof self<\"u\"?self:{},c={exports:{}};(function(){let i;function t(){}i=t,i.prototype.getItem=function(e){return this.hasOwnProperty(e)?String(this[e]):null},i.prototype.setItem=function(e,n){this[e]=String(n)},i.prototype.removeItem=function(e){delete this[e]},i.prototype.clear=function(){const e=this;Object.keys(e).forEach(function(n){e[n]=void 0,delete e[n]})},i.prototype.key=function(e){return e=e||0,Object.keys(this)[e]},i.prototype.__defineGetter__(\"length\",function(){return Object.keys(this).length}),typeof l<\"u\"&&l.localStorage?c.exports=l.localStorage:typeof window<\"u\"&&window.localStorage?c.exports=window.localStorage:c.exports=new t})();function k(i){var t;return[i[0],d((t=i[1])!=null?t:\"\")]}class K{constructor(){this.localStorage=c.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(k)}async getItem(t){const e=this.localStorage.getItem(t);if(e!==null)return d(e)}async setItem(t,e){this.localStorage.setItem(t,g(e))}async removeItem(t){this.localStorage.removeItem(t)}}const N=\"wc_storage_version\",y=1,O=async(i,t,e)=>{const n=N,s=await t.getItem(n);if(s&&s>=y){e(t);return}const a=await i.getKeys();if(!a.length){e(t);return}const m=[];for(;a.length;){const r=a.shift();if(!r)continue;const o=r.toLowerCase();if(o.includes(\"wc@\")||o.includes(\"walletconnect\")||o.includes(\"wc_\")||o.includes(\"wallet_connect\")){const f=await i.getItem(r);await t.setItem(r,f),m.push(r)}}await t.setItem(n,y),e(t),j(i,m)},j=async(i,t)=>{t.length&&t.forEach(async e=>{await i.removeItem(e)})};class h{constructor(){this.initialized=!1,this.setInitialized=e=>{this.storage=e,this.initialized=!0};const t=new K;this.storage=t;try{const e=new _;O(t,e,this.setInitialized)}catch{this.initialized=!0}}async getKeys(){return await this.initialize(),this.storage.getKeys()}async getEntries(){return await this.initialize(),this.storage.getEntries()}async getItem(t){return await this.initialize(),this.storage.getItem(t)}async setItem(t,e){return await this.initialize(),this.storage.setItem(t,e)}async removeItem(t){return await this.initialize(),this.storage.removeItem(t)}async initialize(){this.initialized||await new Promise(t=>{const e=setInterval(()=>{this.initialized&&(clearInterval(e),t())},20)})}}export{h as KeyValueStorage,h as default};\n//# sourceMappingURL=index.es.js.map\n","export class IEvents {\n}\n//# sourceMappingURL=events.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IHeartBeat = void 0;\nconst events_1 = require(\"@walletconnect/events\");\nclass IHeartBeat extends events_1.IEvents {\n constructor(opts) {\n super();\n }\n}\nexports.IHeartBeat = IHeartBeat;\n//# sourceMappingURL=heartbeat.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./heartbeat\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HEARTBEAT_EVENTS = exports.HEARTBEAT_INTERVAL = void 0;\nconst time_1 = require(\"@walletconnect/time\");\nexports.HEARTBEAT_INTERVAL = time_1.FIVE_SECONDS;\nexports.HEARTBEAT_EVENTS = {\n pulse: \"heartbeat_pulse\",\n};\n//# sourceMappingURL=heartbeat.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./heartbeat\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HeartBeat = void 0;\nconst tslib_1 = require(\"tslib\");\nconst events_1 = require(\"events\");\nconst time_1 = require(\"@walletconnect/time\");\nconst types_1 = require(\"./types\");\nconst constants_1 = require(\"./constants\");\nclass HeartBeat extends types_1.IHeartBeat {\n constructor(opts) {\n super(opts);\n this.events = new events_1.EventEmitter();\n this.interval = constants_1.HEARTBEAT_INTERVAL;\n this.interval = (opts === null || opts === void 0 ? void 0 : opts.interval) || constants_1.HEARTBEAT_INTERVAL;\n }\n static init(opts) {\n return tslib_1.__awaiter(this, void 0, void 0, function* () {\n const heartbeat = new HeartBeat(opts);\n yield heartbeat.init();\n return heartbeat;\n });\n }\n init() {\n return tslib_1.__awaiter(this, void 0, void 0, function* () {\n yield this.initialize();\n });\n }\n stop() {\n clearInterval(this.intervalRef);\n }\n on(event, listener) {\n this.events.on(event, listener);\n }\n once(event, listener) {\n this.events.once(event, listener);\n }\n off(event, listener) {\n this.events.off(event, listener);\n }\n removeListener(event, listener) {\n this.events.removeListener(event, listener);\n }\n initialize() {\n return tslib_1.__awaiter(this, void 0, void 0, function* () {\n this.intervalRef = setInterval(() => this.pulse(), time_1.toMiliseconds(this.interval));\n });\n }\n pulse() {\n this.events.emit(constants_1.HEARTBEAT_EVENTS.pulse);\n }\n}\nexports.HeartBeat = HeartBeat;\n//# sourceMappingURL=heartbeat.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./heartbeat\"), exports);\ntslib_1.__exportStar(require(\"./types\"), exports);\ntslib_1.__exportStar(require(\"./constants\"), exports);\n//# sourceMappingURL=index.js.map","'use strict'\nfunction tryStringify (o) {\n try { return JSON.stringify(o) } catch(e) { return '\"[Circular]\"' }\n}\n\nmodule.exports = format\n\nfunction format(f, args, opts) {\n var ss = (opts && opts.stringify) || tryStringify\n var offset = 1\n if (typeof f === 'object' && f !== null) {\n var len = args.length + offset\n if (len === 1) return f\n var objects = new Array(len)\n objects[0] = ss(f)\n for (var index = 1; index < len; index++) {\n objects[index] = ss(args[index])\n }\n return objects.join(' ')\n }\n if (typeof f !== 'string') {\n return f\n }\n var argLen = args.length\n if (argLen === 0) return f\n var str = ''\n var a = 1 - offset\n var lastPos = -1\n var flen = (f && f.length) || 0\n for (var i = 0; i < flen;) {\n if (f.charCodeAt(i) === 37 && i + 1 < flen) {\n lastPos = lastPos > -1 ? lastPos : 0\n switch (f.charCodeAt(i + 1)) {\n case 100: // 'd'\n case 102: // 'f'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Number(args[a])\n lastPos = i + 2\n i++\n break\n case 105: // 'i'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Math.floor(Number(args[a]))\n lastPos = i + 2\n i++\n break\n case 79: // 'O'\n case 111: // 'o'\n case 106: // 'j'\n if (a >= argLen)\n break\n if (args[a] === undefined) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n var type = typeof args[a]\n if (type === 'string') {\n str += '\\'' + args[a] + '\\''\n lastPos = i + 2\n i++\n break\n }\n if (type === 'function') {\n str += args[a].name || ''\n lastPos = i + 2\n i++\n break\n }\n str += ss(args[a])\n lastPos = i + 2\n i++\n break\n case 115: // 's'\n if (a >= argLen)\n break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += String(args[a])\n lastPos = i + 2\n i++\n break\n case 37: // '%'\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += '%'\n lastPos = i + 2\n i++\n a--\n break\n }\n ++a\n }\n ++i\n }\n if (lastPos === -1)\n return f\n else if (lastPos < flen) {\n str += f.slice(lastPos)\n }\n\n return str\n}\n","'use strict'\n\nconst format = require('quick-format-unescaped')\n\nmodule.exports = pino\n\nconst _console = pfGlobalThisOrFallback().console || {}\nconst stdSerializers = {\n mapHttpRequest: mock,\n mapHttpResponse: mock,\n wrapRequestSerializer: passthrough,\n wrapResponseSerializer: passthrough,\n wrapErrorSerializer: passthrough,\n req: mock,\n res: mock,\n err: asErrValue\n}\n\nfunction shouldSerialize (serialize, serializers) {\n if (Array.isArray(serialize)) {\n const hasToFilter = serialize.filter(function (k) {\n return k !== '!stdSerializers.err'\n })\n return hasToFilter\n } else if (serialize === true) {\n return Object.keys(serializers)\n }\n\n return false\n}\n\nfunction pino (opts) {\n opts = opts || {}\n opts.browser = opts.browser || {}\n\n const transmit = opts.browser.transmit\n if (transmit && typeof transmit.send !== 'function') { throw Error('pino: transmit option must have a send function') }\n\n const proto = opts.browser.write || _console\n if (opts.browser.write) opts.browser.asObject = true\n const serializers = opts.serializers || {}\n const serialize = shouldSerialize(opts.browser.serialize, serializers)\n let stdErrSerialize = opts.browser.serialize\n\n if (\n Array.isArray(opts.browser.serialize) &&\n opts.browser.serialize.indexOf('!stdSerializers.err') > -1\n ) stdErrSerialize = false\n\n const levels = ['error', 'fatal', 'warn', 'info', 'debug', 'trace']\n\n if (typeof proto === 'function') {\n proto.error = proto.fatal = proto.warn =\n proto.info = proto.debug = proto.trace = proto\n }\n if (opts.enabled === false) opts.level = 'silent'\n const level = opts.level || 'info'\n const logger = Object.create(proto)\n if (!logger.log) logger.log = noop\n\n Object.defineProperty(logger, 'levelVal', {\n get: getLevelVal\n })\n Object.defineProperty(logger, 'level', {\n get: getLevel,\n set: setLevel\n })\n\n const setOpts = {\n transmit,\n serialize,\n asObject: opts.browser.asObject,\n levels,\n timestamp: getTimeFunction(opts)\n }\n logger.levels = pino.levels\n logger.level = level\n\n logger.setMaxListeners = logger.getMaxListeners =\n logger.emit = logger.addListener = logger.on =\n logger.prependListener = logger.once =\n logger.prependOnceListener = logger.removeListener =\n logger.removeAllListeners = logger.listeners =\n logger.listenerCount = logger.eventNames =\n logger.write = logger.flush = noop\n logger.serializers = serializers\n logger._serialize = serialize\n logger._stdErrSerialize = stdErrSerialize\n logger.child = child\n\n if (transmit) logger._logEvent = createLogEventShape()\n\n function getLevelVal () {\n return this.level === 'silent'\n ? Infinity\n : this.levels.values[this.level]\n }\n\n function getLevel () {\n return this._level\n }\n function setLevel (level) {\n if (level !== 'silent' && !this.levels.values[level]) {\n throw Error('unknown level ' + level)\n }\n this._level = level\n\n set(setOpts, logger, 'error', 'log') // <-- must stay first\n set(setOpts, logger, 'fatal', 'error')\n set(setOpts, logger, 'warn', 'error')\n set(setOpts, logger, 'info', 'log')\n set(setOpts, logger, 'debug', 'log')\n set(setOpts, logger, 'trace', 'log')\n }\n\n function child (bindings, childOptions) {\n if (!bindings) {\n throw new Error('missing bindings for child Pino')\n }\n childOptions = childOptions || {}\n if (serialize && bindings.serializers) {\n childOptions.serializers = bindings.serializers\n }\n const childOptionsSerializers = childOptions.serializers\n if (serialize && childOptionsSerializers) {\n var childSerializers = Object.assign({}, serializers, childOptionsSerializers)\n var childSerialize = opts.browser.serialize === true\n ? Object.keys(childSerializers)\n : serialize\n delete bindings.serializers\n applySerializers([bindings], childSerialize, childSerializers, this._stdErrSerialize)\n }\n function Child (parent) {\n this._childLevel = (parent._childLevel | 0) + 1\n this.error = bind(parent, bindings, 'error')\n this.fatal = bind(parent, bindings, 'fatal')\n this.warn = bind(parent, bindings, 'warn')\n this.info = bind(parent, bindings, 'info')\n this.debug = bind(parent, bindings, 'debug')\n this.trace = bind(parent, bindings, 'trace')\n if (childSerializers) {\n this.serializers = childSerializers\n this._serialize = childSerialize\n }\n if (transmit) {\n this._logEvent = createLogEventShape(\n [].concat(parent._logEvent.bindings, bindings)\n )\n }\n }\n Child.prototype = this\n return new Child(this)\n }\n return logger\n}\n\npino.levels = {\n values: {\n fatal: 60,\n error: 50,\n warn: 40,\n info: 30,\n debug: 20,\n trace: 10\n },\n labels: {\n 10: 'trace',\n 20: 'debug',\n 30: 'info',\n 40: 'warn',\n 50: 'error',\n 60: 'fatal'\n }\n}\n\npino.stdSerializers = stdSerializers\npino.stdTimeFunctions = Object.assign({}, { nullTime, epochTime, unixTime, isoTime })\n\nfunction set (opts, logger, level, fallback) {\n const proto = Object.getPrototypeOf(logger)\n logger[level] = logger.levelVal > logger.levels.values[level]\n ? noop\n : (proto[level] ? proto[level] : (_console[level] || _console[fallback] || noop))\n\n wrap(opts, logger, level)\n}\n\nfunction wrap (opts, logger, level) {\n if (!opts.transmit && logger[level] === noop) return\n\n logger[level] = (function (write) {\n return function LOG () {\n const ts = opts.timestamp()\n const args = new Array(arguments.length)\n const proto = (Object.getPrototypeOf && Object.getPrototypeOf(this) === _console) ? _console : this\n for (var i = 0; i < args.length; i++) args[i] = arguments[i]\n\n if (opts.serialize && !opts.asObject) {\n applySerializers(args, this._serialize, this.serializers, this._stdErrSerialize)\n }\n if (opts.asObject) write.call(proto, asObject(this, level, args, ts))\n else write.apply(proto, args)\n\n if (opts.transmit) {\n const transmitLevel = opts.transmit.level || logger.level\n const transmitValue = pino.levels.values[transmitLevel]\n const methodValue = pino.levels.values[level]\n if (methodValue < transmitValue) return\n transmit(this, {\n ts,\n methodLevel: level,\n methodValue,\n transmitLevel,\n transmitValue: pino.levels.values[opts.transmit.level || logger.level],\n send: opts.transmit.send,\n val: logger.levelVal\n }, args)\n }\n }\n })(logger[level])\n}\n\nfunction asObject (logger, level, args, ts) {\n if (logger._serialize) applySerializers(args, logger._serialize, logger.serializers, logger._stdErrSerialize)\n const argsCloned = args.slice()\n let msg = argsCloned[0]\n const o = {}\n if (ts) {\n o.time = ts\n }\n o.level = pino.levels.values[level]\n let lvl = (logger._childLevel | 0) + 1\n if (lvl < 1) lvl = 1\n // deliberate, catching objects, arrays\n if (msg !== null && typeof msg === 'object') {\n while (lvl-- && typeof argsCloned[0] === 'object') {\n Object.assign(o, argsCloned.shift())\n }\n msg = argsCloned.length ? format(argsCloned.shift(), argsCloned) : undefined\n } else if (typeof msg === 'string') msg = format(argsCloned.shift(), argsCloned)\n if (msg !== undefined) o.msg = msg\n return o\n}\n\nfunction applySerializers (args, serialize, serializers, stdErrSerialize) {\n for (const i in args) {\n if (stdErrSerialize && args[i] instanceof Error) {\n args[i] = pino.stdSerializers.err(args[i])\n } else if (typeof args[i] === 'object' && !Array.isArray(args[i])) {\n for (const k in args[i]) {\n if (serialize && serialize.indexOf(k) > -1 && k in serializers) {\n args[i][k] = serializers[k](args[i][k])\n }\n }\n }\n }\n}\n\nfunction bind (parent, bindings, level) {\n return function () {\n const args = new Array(1 + arguments.length)\n args[0] = bindings\n for (var i = 1; i < args.length; i++) {\n args[i] = arguments[i - 1]\n }\n return parent[level].apply(this, args)\n }\n}\n\nfunction transmit (logger, opts, args) {\n const send = opts.send\n const ts = opts.ts\n const methodLevel = opts.methodLevel\n const methodValue = opts.methodValue\n const val = opts.val\n const bindings = logger._logEvent.bindings\n\n applySerializers(\n args,\n logger._serialize || Object.keys(logger.serializers),\n logger.serializers,\n logger._stdErrSerialize === undefined ? true : logger._stdErrSerialize\n )\n logger._logEvent.ts = ts\n logger._logEvent.messages = args.filter(function (arg) {\n // bindings can only be objects, so reference equality check via indexOf is fine\n return bindings.indexOf(arg) === -1\n })\n\n logger._logEvent.level.label = methodLevel\n logger._logEvent.level.value = methodValue\n\n send(methodLevel, logger._logEvent, val)\n\n logger._logEvent = createLogEventShape(bindings)\n}\n\nfunction createLogEventShape (bindings) {\n return {\n ts: 0,\n messages: [],\n bindings: bindings || [],\n level: { label: '', value: 0 }\n }\n}\n\nfunction asErrValue (err) {\n const obj = {\n type: err.constructor.name,\n msg: err.message,\n stack: err.stack\n }\n for (const key in err) {\n if (obj[key] === undefined) {\n obj[key] = err[key]\n }\n }\n return obj\n}\n\nfunction getTimeFunction (opts) {\n if (typeof opts.timestamp === 'function') {\n return opts.timestamp\n }\n if (opts.timestamp === false) {\n return nullTime\n }\n return epochTime\n}\n\nfunction mock () { return {} }\nfunction passthrough (a) { return a }\nfunction noop () {}\n\nfunction nullTime () { return false }\nfunction epochTime () { return Date.now() }\nfunction unixTime () { return Math.round(Date.now() / 1000.0) }\nfunction isoTime () { return new Date(Date.now()).toISOString() } // using Date.now() for testability\n\n/* eslint-disable */\n/* istanbul ignore next */\nfunction pfGlobalThisOrFallback () {\n function defd (o) { return typeof o !== 'undefined' && o }\n try {\n if (typeof globalThis !== 'undefined') return globalThis\n Object.defineProperty(Object.prototype, 'globalThis', {\n get: function () {\n delete Object.prototype.globalThis\n return (this.globalThis = this)\n },\n configurable: true\n })\n return globalThis\n } catch (e) {\n return defd(self) || defd(window) || defd(this) || {}\n }\n}\n/* eslint-enable */\n","import h,{levels as s}from\"pino\";import{default as U}from\"pino\";import{safeJsonStringify as u}from\"@walletconnect/safe-json\";const c={level:\"info\"},n=\"custom_context\",l=1e3*1024;class O{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 d{constructor(e){this.head=null,this.tail=null,this.lengthInNodes=0,this.maxSizeInBytes=e,this.sizeInBytes=0}append(e){const t=new O(e);if(t.size>this.maxSizeInBytes)throw new 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.tail=t):(this.head=t,this.tail=t),this.lengthInNodes++,this.sizeInBytes+=t.size}shift(){if(!this.head)return;const e=this.head;this.head=this.head.next,this.head||(this.tail=null),this.lengthInNodes--,this.sizeInBytes-=e.size}toArray(){const e=[];let t=this.head;for(;t!==null;)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};const t=e.value;return e=e.next,{done:!1,value:t}}}}}class L{constructor(e,t=l){this.level=e??\"error\",this.levelValue=s.values[this.level],this.MAX_LOG_SIZE_IN_BYTES=t,this.logs=new d(this.MAX_LOG_SIZE_IN_BYTES)}forwardToConsole(e,t){t===s.values.error?console.error(e):t===s.values.warn?console.warn(e):t===s.values.debug?console.debug(e):t===s.values.trace?console.trace(e):console.log(e)}appendToLogs(e){this.logs.append(u({timestamp:new Date().toISOString(),log:e}));const t=typeof e==\"string\"?JSON.parse(e).level:e.level;t>=this.levelValue&&this.forwardToConsole(e,t)}getLogs(){return this.logs}clearLogs(){this.logs=new d(this.MAX_LOG_SIZE_IN_BYTES)}getLogArray(){return Array.from(this.logs)}logsToBlob(e){const t=this.getLogArray();return t.push(u({extraMetadata:e})),new Blob(t,{type:\"application/json\"})}}class m{constructor(e,t=l){this.baseChunkLogger=new L(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){const t=URL.createObjectURL(this.logsToBlob(e)),o=document.createElement(\"a\");o.href=t,o.download=`walletconnect-logs-${new Date().toISOString()}.txt`,document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(t)}}class B{constructor(e,t=l){this.baseChunkLogger=new L(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 x=Object.defineProperty,S=Object.defineProperties,_=Object.getOwnPropertyDescriptors,p=Object.getOwnPropertySymbols,T=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,f=(r,e,t)=>e in r?x(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,i=(r,e)=>{for(var t in e||(e={}))T.call(e,t)&&f(r,t,e[t]);if(p)for(var t of p(e))z.call(e,t)&&f(r,t,e[t]);return r},g=(r,e)=>S(r,_(e));function k(r){return g(i({},r),{level:r?.level||c.level})}function v(r,e=n){return r[e]||\"\"}function b(r,e,t=n){return r[t]=e,r}function y(r,e=n){let t=\"\";return typeof r.bindings>\"u\"?t=v(r,e):t=r.bindings().context||\"\",t}function w(r,e,t=n){const o=y(r,t);return o.trim()?`${o}/${e}`:e}function E(r,e,t=n){const o=w(r,e,t),a=r.child({context:o});return b(a,o,t)}function C(r){var e,t;const o=new m((e=r.opts)==null?void 0:e.level,r.maxSizeInBytes);return{logger:h(g(i({},r.opts),{level:\"trace\",browser:g(i({},(t=r.opts)==null?void 0:t.browser),{write:a=>o.write(a)})})),chunkLoggerController:o}}function I(r){var e;const t=new B((e=r.opts)==null?void 0:e.level,r.maxSizeInBytes);return{logger:h(g(i({},r.opts),{level:\"trace\"}),t),chunkLoggerController:t}}function A(r){return typeof r.loggerOverride<\"u\"&&typeof r.loggerOverride!=\"string\"?{logger:r.loggerOverride,chunkLoggerController:null}:typeof window<\"u\"?C(r):I(r)}export{l as MAX_LOG_SIZE_IN_BYTES_DEFAULT,n as PINO_CUSTOM_CONTEXT_KEY,c as PINO_LOGGER_DEFAULTS,w as formatChildLoggerContext,E as generateChildLogger,C as generateClientLogger,A as generatePlatformLogger,I as generateServerLogger,v as getBrowserLoggerContext,k as getDefaultLoggerOptions,y as getLoggerContext,U as pino,b as setBrowserLoggerContext};\n//# sourceMappingURL=index.es.js.map\n","import{IEvents as e}from\"@walletconnect/events\";import c,{EventEmitter as i}from\"events\";class n extends e{constructor(s){super(),this.opts=s,this.protocol=\"wc\",this.version=2}}class l{constructor(s,t,o){this.core=s,this.logger=t}}class h extends e{constructor(s,t){super(),this.core=s,this.logger=t,this.records=new Map}}class a{constructor(s,t){this.logger=s,this.core=t}}class u extends e{constructor(s,t){super(),this.relayer=s,this.logger=t}}class g extends e{constructor(s){super()}}class p{constructor(s,t,o,M){this.core=s,this.logger=t,this.name=o}}class I{constructor(){this.map=new Map}}class d extends e{constructor(s,t){super(),this.relayer=s,this.logger=t}}class x{constructor(s,t){this.core=s,this.logger=t}}class E extends e{constructor(s,t){super(),this.core=s,this.logger=t}}class m{constructor(s,t){this.logger=s,this.core=t}}class y{constructor(s,t){this.projectId=s,this.logger=t}}class v{constructor(s,t){this.projectId=s,this.logger=t}}class C extends c{constructor(){super()}}class b{constructor(s){this.opts=s,this.protocol=\"wc\",this.version=2}}class S extends i{constructor(){super()}}class w{constructor(s){this.client=s}}export{n as ICore,l as ICrypto,v as IEchoClient,w as IEngine,S as IEngineEvents,E as IExpirer,h as IJsonRpcHistory,x as IKeyChain,a as IMessageTracker,m as IPairing,u as IPublisher,g as IRelayer,b as ISignClient,C as ISignClientEvents,p as IStore,d as ISubscriber,I as ISubscriberTopicMap,y as IVerify};\n//# sourceMappingURL=index.es.js.map\n","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar binary_1 = require(\"@stablelib/binary\");\nvar wipe_1 = require(\"@stablelib/wipe\");\nexports.DIGEST_LENGTH = 64;\nexports.BLOCK_SIZE = 128;\n/**\n * SHA-2-512 cryptographic hash algorithm.\n */\nvar SHA512 = /** @class */ (function () {\n function SHA512() {\n /** Length of hash output */\n this.digestLength = exports.DIGEST_LENGTH;\n /** Block size */\n this.blockSize = exports.BLOCK_SIZE;\n // Note: Int32Array is used instead of Uint32Array for performance reasons.\n this._stateHi = new Int32Array(8); // hash state, high bytes\n this._stateLo = new Int32Array(8); // hash state, low bytes\n this._tempHi = new Int32Array(16); // temporary state, high bytes\n this._tempLo = new Int32Array(16); // temporary state, low bytes\n this._buffer = new Uint8Array(256); // buffer for data to hash\n this._bufferLength = 0; // number of bytes in buffer\n this._bytesHashed = 0; // number of total bytes hashed\n this._finished = false; // indicates whether the hash was finalized\n this.reset();\n }\n SHA512.prototype._initState = function () {\n this._stateHi[0] = 0x6a09e667;\n this._stateHi[1] = 0xbb67ae85;\n this._stateHi[2] = 0x3c6ef372;\n this._stateHi[3] = 0xa54ff53a;\n this._stateHi[4] = 0x510e527f;\n this._stateHi[5] = 0x9b05688c;\n this._stateHi[6] = 0x1f83d9ab;\n this._stateHi[7] = 0x5be0cd19;\n this._stateLo[0] = 0xf3bcc908;\n this._stateLo[1] = 0x84caa73b;\n this._stateLo[2] = 0xfe94f82b;\n this._stateLo[3] = 0x5f1d36f1;\n this._stateLo[4] = 0xade682d1;\n this._stateLo[5] = 0x2b3e6c1f;\n this._stateLo[6] = 0xfb41bd6b;\n this._stateLo[7] = 0x137e2179;\n };\n /**\n * Resets hash state making it possible\n * to re-use this instance to hash other data.\n */\n SHA512.prototype.reset = function () {\n this._initState();\n this._bufferLength = 0;\n this._bytesHashed = 0;\n this._finished = false;\n return this;\n };\n /**\n * Cleans internal buffers and resets hash state.\n */\n SHA512.prototype.clean = function () {\n wipe_1.wipe(this._buffer);\n wipe_1.wipe(this._tempHi);\n wipe_1.wipe(this._tempLo);\n this.reset();\n };\n /**\n * Updates hash state with the given data.\n *\n * Throws error when trying to update already finalized hash:\n * instance must be reset to update it again.\n */\n SHA512.prototype.update = function (data, dataLength) {\n if (dataLength === void 0) { dataLength = data.length; }\n if (this._finished) {\n throw new Error(\"SHA512: can't update because hash was finished.\");\n }\n var dataPos = 0;\n this._bytesHashed += dataLength;\n if (this._bufferLength > 0) {\n while (this._bufferLength < exports.BLOCK_SIZE && dataLength > 0) {\n this._buffer[this._bufferLength++] = data[dataPos++];\n dataLength--;\n }\n if (this._bufferLength === this.blockSize) {\n hashBlocks(this._tempHi, this._tempLo, this._stateHi, this._stateLo, this._buffer, 0, this.blockSize);\n this._bufferLength = 0;\n }\n }\n if (dataLength >= this.blockSize) {\n dataPos = hashBlocks(this._tempHi, this._tempLo, this._stateHi, this._stateLo, data, dataPos, dataLength);\n dataLength %= this.blockSize;\n }\n while (dataLength > 0) {\n this._buffer[this._bufferLength++] = data[dataPos++];\n dataLength--;\n }\n return this;\n };\n /**\n * Finalizes hash state and puts hash into out.\n * If hash was already finalized, puts the same value.\n */\n SHA512.prototype.finish = function (out) {\n if (!this._finished) {\n var bytesHashed = this._bytesHashed;\n var left = this._bufferLength;\n var bitLenHi = (bytesHashed / 0x20000000) | 0;\n var bitLenLo = bytesHashed << 3;\n var padLength = (bytesHashed % 128 < 112) ? 128 : 256;\n this._buffer[left] = 0x80;\n for (var i = left + 1; i < padLength - 8; i++) {\n this._buffer[i] = 0;\n }\n binary_1.writeUint32BE(bitLenHi, this._buffer, padLength - 8);\n binary_1.writeUint32BE(bitLenLo, this._buffer, padLength - 4);\n hashBlocks(this._tempHi, this._tempLo, this._stateHi, this._stateLo, this._buffer, 0, padLength);\n this._finished = true;\n }\n for (var i = 0; i < this.digestLength / 8; i++) {\n binary_1.writeUint32BE(this._stateHi[i], out, i * 8);\n binary_1.writeUint32BE(this._stateLo[i], out, i * 8 + 4);\n }\n return this;\n };\n /**\n * Returns the final hash digest.\n */\n SHA512.prototype.digest = function () {\n var out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n };\n /**\n * Function useful for HMAC/PBKDF2 optimization. Returns hash state to be\n * used with restoreState(). Only chain value is saved, not buffers or\n * other state variables.\n */\n SHA512.prototype.saveState = function () {\n if (this._finished) {\n throw new Error(\"SHA256: cannot save finished state\");\n }\n return {\n stateHi: new Int32Array(this._stateHi),\n stateLo: new Int32Array(this._stateLo),\n buffer: this._bufferLength > 0 ? new Uint8Array(this._buffer) : undefined,\n bufferLength: this._bufferLength,\n bytesHashed: this._bytesHashed\n };\n };\n /**\n * Function useful for HMAC/PBKDF2 optimization. Restores state saved by\n * saveState() and sets bytesHashed to the given value.\n */\n SHA512.prototype.restoreState = function (savedState) {\n this._stateHi.set(savedState.stateHi);\n this._stateLo.set(savedState.stateLo);\n this._bufferLength = savedState.bufferLength;\n if (savedState.buffer) {\n this._buffer.set(savedState.buffer);\n }\n this._bytesHashed = savedState.bytesHashed;\n this._finished = false;\n return this;\n };\n /**\n * Cleans state returned by saveState().\n */\n SHA512.prototype.cleanSavedState = function (savedState) {\n wipe_1.wipe(savedState.stateHi);\n wipe_1.wipe(savedState.stateLo);\n if (savedState.buffer) {\n wipe_1.wipe(savedState.buffer);\n }\n savedState.bufferLength = 0;\n savedState.bytesHashed = 0;\n };\n return SHA512;\n}());\nexports.SHA512 = SHA512;\n// Constants\nvar K = new Int32Array([\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n]);\nfunction hashBlocks(wh, wl, hh, hl, m, pos, len) {\n var ah0 = hh[0], ah1 = hh[1], ah2 = hh[2], ah3 = hh[3], ah4 = hh[4], ah5 = hh[5], ah6 = hh[6], ah7 = hh[7], al0 = hl[0], al1 = hl[1], al2 = hl[2], al3 = hl[3], al4 = hl[4], al5 = hl[5], al6 = hl[6], al7 = hl[7];\n var h, l;\n var th, tl;\n var a, b, c, d;\n while (len >= 128) {\n for (var i = 0; i < 16; i++) {\n var j = 8 * i + pos;\n wh[i] = binary_1.readUint32BE(m, j);\n wl[i] = binary_1.readUint32BE(m, j + 4);\n }\n for (var i = 0; i < 80; i++) {\n var bh0 = ah0;\n var bh1 = ah1;\n var bh2 = ah2;\n var bh3 = ah3;\n var bh4 = ah4;\n var bh5 = ah5;\n var bh6 = ah6;\n var bh7 = ah7;\n var bl0 = al0;\n var bl1 = al1;\n var bl2 = al2;\n var bl3 = al3;\n var bl4 = al4;\n var bl5 = al5;\n var bl6 = al6;\n var bl7 = al7;\n // add\n h = ah7;\n l = al7;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n // Sigma1\n h = ((ah4 >>> 14) | (al4 << (32 - 14))) ^ ((ah4 >>> 18) |\n (al4 << (32 - 18))) ^ ((al4 >>> (41 - 32)) | (ah4 << (32 - (41 - 32))));\n l = ((al4 >>> 14) | (ah4 << (32 - 14))) ^ ((al4 >>> 18) |\n (ah4 << (32 - 18))) ^ ((ah4 >>> (41 - 32)) | (al4 << (32 - (41 - 32))));\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n // Ch\n h = (ah4 & ah5) ^ (~ah4 & ah6);\n l = (al4 & al5) ^ (~al4 & al6);\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n // K\n h = K[i * 2];\n l = K[i * 2 + 1];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n // w\n h = wh[i % 16];\n l = wl[i % 16];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n th = c & 0xffff | d << 16;\n tl = a & 0xffff | b << 16;\n // add\n h = th;\n l = tl;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n // Sigma0\n h = ((ah0 >>> 28) | (al0 << (32 - 28))) ^ ((al0 >>> (34 - 32)) |\n (ah0 << (32 - (34 - 32)))) ^ ((al0 >>> (39 - 32)) | (ah0 << (32 - (39 - 32))));\n l = ((al0 >>> 28) | (ah0 << (32 - 28))) ^ ((ah0 >>> (34 - 32)) |\n (al0 << (32 - (34 - 32)))) ^ ((ah0 >>> (39 - 32)) | (al0 << (32 - (39 - 32))));\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n // Maj\n h = (ah0 & ah1) ^ (ah0 & ah2) ^ (ah1 & ah2);\n l = (al0 & al1) ^ (al0 & al2) ^ (al1 & al2);\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n bh7 = (c & 0xffff) | (d << 16);\n bl7 = (a & 0xffff) | (b << 16);\n // add\n h = bh3;\n l = bl3;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = th;\n l = tl;\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n bh3 = (c & 0xffff) | (d << 16);\n bl3 = (a & 0xffff) | (b << 16);\n ah1 = bh0;\n ah2 = bh1;\n ah3 = bh2;\n ah4 = bh3;\n ah5 = bh4;\n ah6 = bh5;\n ah7 = bh6;\n ah0 = bh7;\n al1 = bl0;\n al2 = bl1;\n al3 = bl2;\n al4 = bl3;\n al5 = bl4;\n al6 = bl5;\n al7 = bl6;\n al0 = bl7;\n if (i % 16 === 15) {\n for (var j = 0; j < 16; j++) {\n // add\n h = wh[j];\n l = wl[j];\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = wh[(j + 9) % 16];\n l = wl[(j + 9) % 16];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n // sigma0\n th = wh[(j + 1) % 16];\n tl = wl[(j + 1) % 16];\n h = ((th >>> 1) | (tl << (32 - 1))) ^ ((th >>> 8) |\n (tl << (32 - 8))) ^ (th >>> 7);\n l = ((tl >>> 1) | (th << (32 - 1))) ^ ((tl >>> 8) |\n (th << (32 - 8))) ^ ((tl >>> 7) | (th << (32 - 7)));\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n // sigma1\n th = wh[(j + 14) % 16];\n tl = wl[(j + 14) % 16];\n h = ((th >>> 19) | (tl << (32 - 19))) ^ ((tl >>> (61 - 32)) |\n (th << (32 - (61 - 32)))) ^ (th >>> 6);\n l = ((tl >>> 19) | (th << (32 - 19))) ^ ((th >>> (61 - 32)) |\n (tl << (32 - (61 - 32)))) ^ ((tl >>> 6) | (th << (32 - 6)));\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n wh[j] = (c & 0xffff) | (d << 16);\n wl[j] = (a & 0xffff) | (b << 16);\n }\n }\n }\n // add\n h = ah0;\n l = al0;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[0];\n l = hl[0];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[0] = ah0 = (c & 0xffff) | (d << 16);\n hl[0] = al0 = (a & 0xffff) | (b << 16);\n h = ah1;\n l = al1;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[1];\n l = hl[1];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[1] = ah1 = (c & 0xffff) | (d << 16);\n hl[1] = al1 = (a & 0xffff) | (b << 16);\n h = ah2;\n l = al2;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[2];\n l = hl[2];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[2] = ah2 = (c & 0xffff) | (d << 16);\n hl[2] = al2 = (a & 0xffff) | (b << 16);\n h = ah3;\n l = al3;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[3];\n l = hl[3];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[3] = ah3 = (c & 0xffff) | (d << 16);\n hl[3] = al3 = (a & 0xffff) | (b << 16);\n h = ah4;\n l = al4;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[4];\n l = hl[4];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[4] = ah4 = (c & 0xffff) | (d << 16);\n hl[4] = al4 = (a & 0xffff) | (b << 16);\n h = ah5;\n l = al5;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[5];\n l = hl[5];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[5] = ah5 = (c & 0xffff) | (d << 16);\n hl[5] = al5 = (a & 0xffff) | (b << 16);\n h = ah6;\n l = al6;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[6];\n l = hl[6];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[6] = ah6 = (c & 0xffff) | (d << 16);\n hl[6] = al6 = (a & 0xffff) | (b << 16);\n h = ah7;\n l = al7;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[7];\n l = hl[7];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[7] = ah7 = (c & 0xffff) | (d << 16);\n hl[7] = al7 = (a & 0xffff) | (b << 16);\n pos += 128;\n len -= 128;\n }\n return pos;\n}\nfunction hash(data) {\n var h = new SHA512();\n h.update(data);\n var digest = h.digest();\n h.clean();\n return digest;\n}\nexports.hash = hash;\n//# sourceMappingURL=sha512.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.convertSecretKeyToX25519 = exports.convertPublicKeyToX25519 = exports.verify = exports.sign = exports.extractPublicKeyFromSecretKey = exports.generateKeyPair = exports.generateKeyPairFromSeed = exports.SEED_LENGTH = exports.SECRET_KEY_LENGTH = exports.PUBLIC_KEY_LENGTH = exports.SIGNATURE_LENGTH = void 0;\n/**\n * Package ed25519 implements Ed25519 public-key signature algorithm.\n */\nconst random_1 = require(\"@stablelib/random\");\nconst sha512_1 = require(\"@stablelib/sha512\");\nconst wipe_1 = require(\"@stablelib/wipe\");\nexports.SIGNATURE_LENGTH = 64;\nexports.PUBLIC_KEY_LENGTH = 32;\nexports.SECRET_KEY_LENGTH = 64;\nexports.SEED_LENGTH = 32;\n// Returns new zero-filled 16-element GF (Float64Array).\n// If passed an array of numbers, prefills the returned\n// array with them.\n//\n// We use Float64Array, because we need 48-bit numbers\n// for this implementation.\nfunction gf(init) {\n const r = new Float64Array(16);\n if (init) {\n for (let i = 0; i < init.length; i++) {\n r[i] = init[i];\n }\n }\n return r;\n}\n// Base point.\nconst _9 = new Uint8Array(32);\n_9[0] = 9;\nconst gf0 = gf();\nconst gf1 = gf([1]);\nconst D = gf([\n 0x78a3, 0x1359, 0x4dca, 0x75eb, 0xd8ab, 0x4141, 0x0a4d, 0x0070,\n 0xe898, 0x7779, 0x4079, 0x8cc7, 0xfe73, 0x2b6f, 0x6cee, 0x5203\n]);\nconst D2 = gf([\n 0xf159, 0x26b2, 0x9b94, 0xebd6, 0xb156, 0x8283, 0x149a, 0x00e0,\n 0xd130, 0xeef3, 0x80f2, 0x198e, 0xfce7, 0x56df, 0xd9dc, 0x2406\n]);\nconst X = gf([\n 0xd51a, 0x8f25, 0x2d60, 0xc956, 0xa7b2, 0x9525, 0xc760, 0x692c,\n 0xdc5c, 0xfdd6, 0xe231, 0xc0a4, 0x53fe, 0xcd6e, 0x36d3, 0x2169\n]);\nconst Y = gf([\n 0x6658, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666,\n 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666\n]);\nconst I = gf([\n 0xa0b0, 0x4a0e, 0x1b27, 0xc4ee, 0xe478, 0xad2f, 0x1806, 0x2f43,\n 0xd7a7, 0x3dfb, 0x0099, 0x2b4d, 0xdf0b, 0x4fc1, 0x2480, 0x2b83\n]);\nfunction set25519(r, a) {\n for (let i = 0; i < 16; i++) {\n r[i] = a[i] | 0;\n }\n}\nfunction car25519(o) {\n let c = 1;\n for (let i = 0; i < 16; i++) {\n let v = o[i] + c + 65535;\n c = Math.floor(v / 65536);\n o[i] = v - c * 65536;\n }\n o[0] += c - 1 + 37 * (c - 1);\n}\nfunction sel25519(p, q, b) {\n const c = ~(b - 1);\n for (let i = 0; i < 16; i++) {\n const t = c & (p[i] ^ q[i]);\n p[i] ^= t;\n q[i] ^= t;\n }\n}\nfunction pack25519(o, n) {\n const m = gf();\n const t = gf();\n for (let i = 0; i < 16; i++) {\n t[i] = n[i];\n }\n car25519(t);\n car25519(t);\n car25519(t);\n for (let j = 0; j < 2; j++) {\n m[0] = t[0] - 0xffed;\n for (let i = 1; i < 15; i++) {\n m[i] = t[i] - 0xffff - ((m[i - 1] >> 16) & 1);\n m[i - 1] &= 0xffff;\n }\n m[15] = t[15] - 0x7fff - ((m[14] >> 16) & 1);\n const b = (m[15] >> 16) & 1;\n m[14] &= 0xffff;\n sel25519(t, m, 1 - b);\n }\n for (let i = 0; i < 16; i++) {\n o[2 * i] = t[i] & 0xff;\n o[2 * i + 1] = t[i] >> 8;\n }\n}\nfunction verify32(x, y) {\n let d = 0;\n for (let i = 0; i < 32; i++) {\n d |= x[i] ^ y[i];\n }\n return (1 & ((d - 1) >>> 8)) - 1;\n}\nfunction neq25519(a, b) {\n const c = new Uint8Array(32);\n const d = new Uint8Array(32);\n pack25519(c, a);\n pack25519(d, b);\n return verify32(c, d);\n}\nfunction par25519(a) {\n const d = new Uint8Array(32);\n pack25519(d, a);\n return d[0] & 1;\n}\nfunction unpack25519(o, n) {\n for (let i = 0; i < 16; i++) {\n o[i] = n[2 * i] + (n[2 * i + 1] << 8);\n }\n o[15] &= 0x7fff;\n}\nfunction add(o, a, b) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] + b[i];\n }\n}\nfunction sub(o, a, b) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] - b[i];\n }\n}\nfunction mul(o, a, b) {\n let v, c, t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0, t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0, t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0, t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0, b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3], b4 = b[4], b5 = b[5], b6 = b[6], b7 = b[7], b8 = b[8], b9 = b[9], b10 = b[10], b11 = b[11], b12 = b[12], b13 = b[13], b14 = b[14], b15 = b[15];\n v = a[0];\n t0 += v * b0;\n t1 += v * b1;\n t2 += v * b2;\n t3 += v * b3;\n t4 += v * b4;\n t5 += v * b5;\n t6 += v * b6;\n t7 += v * b7;\n t8 += v * b8;\n t9 += v * b9;\n t10 += v * b10;\n t11 += v * b11;\n t12 += v * b12;\n t13 += v * b13;\n t14 += v * b14;\n t15 += v * b15;\n v = a[1];\n t1 += v * b0;\n t2 += v * b1;\n t3 += v * b2;\n t4 += v * b3;\n t5 += v * b4;\n t6 += v * b5;\n t7 += v * b6;\n t8 += v * b7;\n t9 += v * b8;\n t10 += v * b9;\n t11 += v * b10;\n t12 += v * b11;\n t13 += v * b12;\n t14 += v * b13;\n t15 += v * b14;\n t16 += v * b15;\n v = a[2];\n t2 += v * b0;\n t3 += v * b1;\n t4 += v * b2;\n t5 += v * b3;\n t6 += v * b4;\n t7 += v * b5;\n t8 += v * b6;\n t9 += v * b7;\n t10 += v * b8;\n t11 += v * b9;\n t12 += v * b10;\n t13 += v * b11;\n t14 += v * b12;\n t15 += v * b13;\n t16 += v * b14;\n t17 += v * b15;\n v = a[3];\n t3 += v * b0;\n t4 += v * b1;\n t5 += v * b2;\n t6 += v * b3;\n t7 += v * b4;\n t8 += v * b5;\n t9 += v * b6;\n t10 += v * b7;\n t11 += v * b8;\n t12 += v * b9;\n t13 += v * b10;\n t14 += v * b11;\n t15 += v * b12;\n t16 += v * b13;\n t17 += v * b14;\n t18 += v * b15;\n v = a[4];\n t4 += v * b0;\n t5 += v * b1;\n t6 += v * b2;\n t7 += v * b3;\n t8 += v * b4;\n t9 += v * b5;\n t10 += v * b6;\n t11 += v * b7;\n t12 += v * b8;\n t13 += v * b9;\n t14 += v * b10;\n t15 += v * b11;\n t16 += v * b12;\n t17 += v * b13;\n t18 += v * b14;\n t19 += v * b15;\n v = a[5];\n t5 += v * b0;\n t6 += v * b1;\n t7 += v * b2;\n t8 += v * b3;\n t9 += v * b4;\n t10 += v * b5;\n t11 += v * b6;\n t12 += v * b7;\n t13 += v * b8;\n t14 += v * b9;\n t15 += v * b10;\n t16 += v * b11;\n t17 += v * b12;\n t18 += v * b13;\n t19 += v * b14;\n t20 += v * b15;\n v = a[6];\n t6 += v * b0;\n t7 += v * b1;\n t8 += v * b2;\n t9 += v * b3;\n t10 += v * b4;\n t11 += v * b5;\n t12 += v * b6;\n t13 += v * b7;\n t14 += v * b8;\n t15 += v * b9;\n t16 += v * b10;\n t17 += v * b11;\n t18 += v * b12;\n t19 += v * b13;\n t20 += v * b14;\n t21 += v * b15;\n v = a[7];\n t7 += v * b0;\n t8 += v * b1;\n t9 += v * b2;\n t10 += v * b3;\n t11 += v * b4;\n t12 += v * b5;\n t13 += v * b6;\n t14 += v * b7;\n t15 += v * b8;\n t16 += v * b9;\n t17 += v * b10;\n t18 += v * b11;\n t19 += v * b12;\n t20 += v * b13;\n t21 += v * b14;\n t22 += v * b15;\n v = a[8];\n t8 += v * b0;\n t9 += v * b1;\n t10 += v * b2;\n t11 += v * b3;\n t12 += v * b4;\n t13 += v * b5;\n t14 += v * b6;\n t15 += v * b7;\n t16 += v * b8;\n t17 += v * b9;\n t18 += v * b10;\n t19 += v * b11;\n t20 += v * b12;\n t21 += v * b13;\n t22 += v * b14;\n t23 += v * b15;\n v = a[9];\n t9 += v * b0;\n t10 += v * b1;\n t11 += v * b2;\n t12 += v * b3;\n t13 += v * b4;\n t14 += v * b5;\n t15 += v * b6;\n t16 += v * b7;\n t17 += v * b8;\n t18 += v * b9;\n t19 += v * b10;\n t20 += v * b11;\n t21 += v * b12;\n t22 += v * b13;\n t23 += v * b14;\n t24 += v * b15;\n v = a[10];\n t10 += v * b0;\n t11 += v * b1;\n t12 += v * b2;\n t13 += v * b3;\n t14 += v * b4;\n t15 += v * b5;\n t16 += v * b6;\n t17 += v * b7;\n t18 += v * b8;\n t19 += v * b9;\n t20 += v * b10;\n t21 += v * b11;\n t22 += v * b12;\n t23 += v * b13;\n t24 += v * b14;\n t25 += v * b15;\n v = a[11];\n t11 += v * b0;\n t12 += v * b1;\n t13 += v * b2;\n t14 += v * b3;\n t15 += v * b4;\n t16 += v * b5;\n t17 += v * b6;\n t18 += v * b7;\n t19 += v * b8;\n t20 += v * b9;\n t21 += v * b10;\n t22 += v * b11;\n t23 += v * b12;\n t24 += v * b13;\n t25 += v * b14;\n t26 += v * b15;\n v = a[12];\n t12 += v * b0;\n t13 += v * b1;\n t14 += v * b2;\n t15 += v * b3;\n t16 += v * b4;\n t17 += v * b5;\n t18 += v * b6;\n t19 += v * b7;\n t20 += v * b8;\n t21 += v * b9;\n t22 += v * b10;\n t23 += v * b11;\n t24 += v * b12;\n t25 += v * b13;\n t26 += v * b14;\n t27 += v * b15;\n v = a[13];\n t13 += v * b0;\n t14 += v * b1;\n t15 += v * b2;\n t16 += v * b3;\n t17 += v * b4;\n t18 += v * b5;\n t19 += v * b6;\n t20 += v * b7;\n t21 += v * b8;\n t22 += v * b9;\n t23 += v * b10;\n t24 += v * b11;\n t25 += v * b12;\n t26 += v * b13;\n t27 += v * b14;\n t28 += v * b15;\n v = a[14];\n t14 += v * b0;\n t15 += v * b1;\n t16 += v * b2;\n t17 += v * b3;\n t18 += v * b4;\n t19 += v * b5;\n t20 += v * b6;\n t21 += v * b7;\n t22 += v * b8;\n t23 += v * b9;\n t24 += v * b10;\n t25 += v * b11;\n t26 += v * b12;\n t27 += v * b13;\n t28 += v * b14;\n t29 += v * b15;\n v = a[15];\n t15 += v * b0;\n t16 += v * b1;\n t17 += v * b2;\n t18 += v * b3;\n t19 += v * b4;\n t20 += v * b5;\n t21 += v * b6;\n t22 += v * b7;\n t23 += v * b8;\n t24 += v * b9;\n t25 += v * b10;\n t26 += v * b11;\n t27 += v * b12;\n t28 += v * b13;\n t29 += v * b14;\n t30 += v * b15;\n t0 += 38 * t16;\n t1 += 38 * t17;\n t2 += 38 * t18;\n t3 += 38 * t19;\n t4 += 38 * t20;\n t5 += 38 * t21;\n t6 += 38 * t22;\n t7 += 38 * t23;\n t8 += 38 * t24;\n t9 += 38 * t25;\n t10 += 38 * t26;\n t11 += 38 * t27;\n t12 += 38 * t28;\n t13 += 38 * t29;\n t14 += 38 * t30;\n // t15 left as is\n // first car\n c = 1;\n v = t0 + c + 65535;\n c = Math.floor(v / 65536);\n t0 = v - c * 65536;\n v = t1 + c + 65535;\n c = Math.floor(v / 65536);\n t1 = v - c * 65536;\n v = t2 + c + 65535;\n c = Math.floor(v / 65536);\n t2 = v - c * 65536;\n v = t3 + c + 65535;\n c = Math.floor(v / 65536);\n t3 = v - c * 65536;\n v = t4 + c + 65535;\n c = Math.floor(v / 65536);\n t4 = v - c * 65536;\n v = t5 + c + 65535;\n c = Math.floor(v / 65536);\n t5 = v - c * 65536;\n v = t6 + c + 65535;\n c = Math.floor(v / 65536);\n t6 = v - c * 65536;\n v = t7 + c + 65535;\n c = Math.floor(v / 65536);\n t7 = v - c * 65536;\n v = t8 + c + 65535;\n c = Math.floor(v / 65536);\n t8 = v - c * 65536;\n v = t9 + c + 65535;\n c = Math.floor(v / 65536);\n t9 = v - c * 65536;\n v = t10 + c + 65535;\n c = Math.floor(v / 65536);\n t10 = v - c * 65536;\n v = t11 + c + 65535;\n c = Math.floor(v / 65536);\n t11 = v - c * 65536;\n v = t12 + c + 65535;\n c = Math.floor(v / 65536);\n t12 = v - c * 65536;\n v = t13 + c + 65535;\n c = Math.floor(v / 65536);\n t13 = v - c * 65536;\n v = t14 + c + 65535;\n c = Math.floor(v / 65536);\n t14 = v - c * 65536;\n v = t15 + c + 65535;\n c = Math.floor(v / 65536);\n t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\n // second car\n c = 1;\n v = t0 + c + 65535;\n c = Math.floor(v / 65536);\n t0 = v - c * 65536;\n v = t1 + c + 65535;\n c = Math.floor(v / 65536);\n t1 = v - c * 65536;\n v = t2 + c + 65535;\n c = Math.floor(v / 65536);\n t2 = v - c * 65536;\n v = t3 + c + 65535;\n c = Math.floor(v / 65536);\n t3 = v - c * 65536;\n v = t4 + c + 65535;\n c = Math.floor(v / 65536);\n t4 = v - c * 65536;\n v = t5 + c + 65535;\n c = Math.floor(v / 65536);\n t5 = v - c * 65536;\n v = t6 + c + 65535;\n c = Math.floor(v / 65536);\n t6 = v - c * 65536;\n v = t7 + c + 65535;\n c = Math.floor(v / 65536);\n t7 = v - c * 65536;\n v = t8 + c + 65535;\n c = Math.floor(v / 65536);\n t8 = v - c * 65536;\n v = t9 + c + 65535;\n c = Math.floor(v / 65536);\n t9 = v - c * 65536;\n v = t10 + c + 65535;\n c = Math.floor(v / 65536);\n t10 = v - c * 65536;\n v = t11 + c + 65535;\n c = Math.floor(v / 65536);\n t11 = v - c * 65536;\n v = t12 + c + 65535;\n c = Math.floor(v / 65536);\n t12 = v - c * 65536;\n v = t13 + c + 65535;\n c = Math.floor(v / 65536);\n t13 = v - c * 65536;\n v = t14 + c + 65535;\n c = Math.floor(v / 65536);\n t14 = v - c * 65536;\n v = t15 + c + 65535;\n c = Math.floor(v / 65536);\n t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\n o[0] = t0;\n o[1] = t1;\n o[2] = t2;\n o[3] = t3;\n o[4] = t4;\n o[5] = t5;\n o[6] = t6;\n o[7] = t7;\n o[8] = t8;\n o[9] = t9;\n o[10] = t10;\n o[11] = t11;\n o[12] = t12;\n o[13] = t13;\n o[14] = t14;\n o[15] = t15;\n}\nfunction square(o, a) {\n mul(o, a, a);\n}\nfunction inv25519(o, i) {\n const c = gf();\n let a;\n for (a = 0; a < 16; a++) {\n c[a] = i[a];\n }\n for (a = 253; a >= 0; a--) {\n square(c, c);\n if (a !== 2 && a !== 4) {\n mul(c, c, i);\n }\n }\n for (a = 0; a < 16; a++) {\n o[a] = c[a];\n }\n}\nfunction pow2523(o, i) {\n const c = gf();\n let a;\n for (a = 0; a < 16; a++) {\n c[a] = i[a];\n }\n for (a = 250; a >= 0; a--) {\n square(c, c);\n if (a !== 1) {\n mul(c, c, i);\n }\n }\n for (a = 0; a < 16; a++) {\n o[a] = c[a];\n }\n}\nfunction edadd(p, q) {\n const a = gf(), b = gf(), c = gf(), d = gf(), e = gf(), f = gf(), g = gf(), h = gf(), t = gf();\n sub(a, p[1], p[0]);\n sub(t, q[1], q[0]);\n mul(a, a, t);\n add(b, p[0], p[1]);\n add(t, q[0], q[1]);\n mul(b, b, t);\n mul(c, p[3], q[3]);\n mul(c, c, D2);\n mul(d, p[2], q[2]);\n add(d, d, d);\n sub(e, b, a);\n sub(f, d, c);\n add(g, d, c);\n add(h, b, a);\n mul(p[0], e, f);\n mul(p[1], h, g);\n mul(p[2], g, f);\n mul(p[3], e, h);\n}\nfunction cswap(p, q, b) {\n for (let i = 0; i < 4; i++) {\n sel25519(p[i], q[i], b);\n }\n}\nfunction pack(r, p) {\n const tx = gf(), ty = gf(), zi = gf();\n inv25519(zi, p[2]);\n mul(tx, p[0], zi);\n mul(ty, p[1], zi);\n pack25519(r, ty);\n r[31] ^= par25519(tx) << 7;\n}\nfunction scalarmult(p, q, s) {\n set25519(p[0], gf0);\n set25519(p[1], gf1);\n set25519(p[2], gf1);\n set25519(p[3], gf0);\n for (let i = 255; i >= 0; --i) {\n const b = (s[(i / 8) | 0] >> (i & 7)) & 1;\n cswap(p, q, b);\n edadd(q, p);\n edadd(p, p);\n cswap(p, q, b);\n }\n}\nfunction scalarbase(p, s) {\n const q = [gf(), gf(), gf(), gf()];\n set25519(q[0], X);\n set25519(q[1], Y);\n set25519(q[2], gf1);\n mul(q[3], X, Y);\n scalarmult(p, q, s);\n}\n// Generates key pair from secret 32-byte seed.\nfunction generateKeyPairFromSeed(seed) {\n if (seed.length !== exports.SEED_LENGTH) {\n throw new Error(`ed25519: seed must be ${exports.SEED_LENGTH} bytes`);\n }\n const d = (0, sha512_1.hash)(seed);\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n const publicKey = new Uint8Array(32);\n const p = [gf(), gf(), gf(), gf()];\n scalarbase(p, d);\n pack(publicKey, p);\n const secretKey = new Uint8Array(64);\n secretKey.set(seed);\n secretKey.set(publicKey, 32);\n return {\n publicKey,\n secretKey\n };\n}\nexports.generateKeyPairFromSeed = generateKeyPairFromSeed;\nfunction generateKeyPair(prng) {\n const seed = (0, random_1.randomBytes)(32, prng);\n const result = generateKeyPairFromSeed(seed);\n (0, wipe_1.wipe)(seed);\n return result;\n}\nexports.generateKeyPair = generateKeyPair;\nfunction extractPublicKeyFromSecretKey(secretKey) {\n if (secretKey.length !== exports.SECRET_KEY_LENGTH) {\n throw new Error(`ed25519: secret key must be ${exports.SECRET_KEY_LENGTH} bytes`);\n }\n return new Uint8Array(secretKey.subarray(32));\n}\nexports.extractPublicKeyFromSecretKey = extractPublicKeyFromSecretKey;\nconst L = new Float64Array([\n 0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2,\n 0xde, 0xf9, 0xde, 0x14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x10\n]);\nfunction modL(r, x) {\n let carry;\n let i;\n let j;\n let k;\n for (i = 63; i >= 32; --i) {\n carry = 0;\n for (j = i - 32, k = i - 12; j < k; ++j) {\n x[j] += carry - 16 * x[i] * L[j - (i - 32)];\n carry = Math.floor((x[j] + 128) / 256);\n x[j] -= carry * 256;\n }\n x[j] += carry;\n x[i] = 0;\n }\n carry = 0;\n for (j = 0; j < 32; j++) {\n x[j] += carry - (x[31] >> 4) * L[j];\n carry = x[j] >> 8;\n x[j] &= 255;\n }\n for (j = 0; j < 32; j++) {\n x[j] -= carry * L[j];\n }\n for (i = 0; i < 32; i++) {\n x[i + 1] += x[i] >> 8;\n r[i] = x[i] & 255;\n }\n}\nfunction reduce(r) {\n const x = new Float64Array(64);\n for (let i = 0; i < 64; i++) {\n x[i] = r[i];\n }\n for (let i = 0; i < 64; i++) {\n r[i] = 0;\n }\n modL(r, x);\n}\n// Returns 64-byte signature of the message under the 64-byte secret key.\nfunction sign(secretKey, message) {\n const x = new Float64Array(64);\n const p = [gf(), gf(), gf(), gf()];\n const d = (0, sha512_1.hash)(secretKey.subarray(0, 32));\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n const signature = new Uint8Array(64);\n signature.set(d.subarray(32), 32);\n const hs = new sha512_1.SHA512();\n hs.update(signature.subarray(32));\n hs.update(message);\n const r = hs.digest();\n hs.clean();\n reduce(r);\n scalarbase(p, r);\n pack(signature, p);\n hs.reset();\n hs.update(signature.subarray(0, 32));\n hs.update(secretKey.subarray(32));\n hs.update(message);\n const h = hs.digest();\n reduce(h);\n for (let i = 0; i < 32; i++) {\n x[i] = r[i];\n }\n for (let i = 0; i < 32; i++) {\n for (let j = 0; j < 32; j++) {\n x[i + j] += h[i] * d[j];\n }\n }\n modL(signature.subarray(32), x);\n return signature;\n}\nexports.sign = sign;\nfunction unpackneg(r, p) {\n const t = gf(), chk = gf(), num = gf(), den = gf(), den2 = gf(), den4 = gf(), den6 = gf();\n set25519(r[2], gf1);\n unpack25519(r[1], p);\n square(num, r[1]);\n mul(den, num, D);\n sub(num, num, r[2]);\n add(den, r[2], den);\n square(den2, den);\n square(den4, den2);\n mul(den6, den4, den2);\n mul(t, den6, num);\n mul(t, t, den);\n pow2523(t, t);\n mul(t, t, num);\n mul(t, t, den);\n mul(t, t, den);\n mul(r[0], t, den);\n square(chk, r[0]);\n mul(chk, chk, den);\n if (neq25519(chk, num)) {\n mul(r[0], r[0], I);\n }\n square(chk, r[0]);\n mul(chk, chk, den);\n if (neq25519(chk, num)) {\n return -1;\n }\n if (par25519(r[0]) === (p[31] >> 7)) {\n sub(r[0], gf0, r[0]);\n }\n mul(r[3], r[0], r[1]);\n return 0;\n}\nfunction verify(publicKey, message, signature) {\n const t = new Uint8Array(32);\n const p = [gf(), gf(), gf(), gf()];\n const q = [gf(), gf(), gf(), gf()];\n if (signature.length !== exports.SIGNATURE_LENGTH) {\n throw new Error(`ed25519: signature must be ${exports.SIGNATURE_LENGTH} bytes`);\n }\n if (unpackneg(q, publicKey)) {\n return false;\n }\n const hs = new sha512_1.SHA512();\n hs.update(signature.subarray(0, 32));\n hs.update(publicKey);\n hs.update(message);\n const h = hs.digest();\n reduce(h);\n scalarmult(p, q, h);\n scalarbase(q, signature.subarray(32));\n edadd(p, q);\n pack(t, p);\n if (verify32(signature, t)) {\n return false;\n }\n return true;\n}\nexports.verify = verify;\n/**\n * Convert Ed25519 public key to X25519 public key.\n *\n * Throws if given an invalid public key.\n */\nfunction convertPublicKeyToX25519(publicKey) {\n let q = [gf(), gf(), gf(), gf()];\n if (unpackneg(q, publicKey)) {\n throw new Error(\"Ed25519: invalid public key\");\n }\n // Formula: montgomeryX = (edwardsY + 1)*inverse(1 - edwardsY) mod p\n let a = gf();\n let b = gf();\n let y = q[1];\n add(a, gf1, y);\n sub(b, gf1, y);\n inv25519(b, b);\n mul(a, a, b);\n let z = new Uint8Array(32);\n pack25519(z, a);\n return z;\n}\nexports.convertPublicKeyToX25519 = convertPublicKeyToX25519;\n/**\n * Convert Ed25519 secret (private) key to X25519 secret key.\n */\nfunction convertSecretKeyToX25519(secretKey) {\n const d = (0, sha512_1.hash)(secretKey.subarray(0, 32));\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n const o = new Uint8Array(d.subarray(0, 32));\n (0, wipe_1.wipe)(d);\n return o;\n}\nexports.convertSecretKeyToX25519 = convertSecretKeyToX25519;\n//# sourceMappingURL=ed25519.js.map","export const JWT_IRIDIUM_ALG = \"EdDSA\";\nexport const JWT_IRIDIUM_TYP = \"JWT\";\nexport const JWT_DELIMITER = \".\";\nexport const JWT_ENCODING = \"base64url\";\nexport const JSON_ENCODING = \"utf8\";\nexport const DATA_ENCODING = \"utf8\";\nexport const DID_DELIMITER = \":\";\nexport const DID_PREFIX = \"did\";\nexport const DID_METHOD = \"key\";\nexport const MULTICODEC_ED25519_ENCODING = \"base58btc\";\nexport const MULTICODEC_ED25519_BASE = \"z\";\nexport const MULTICODEC_ED25519_HEADER = \"K36\";\nexport const MULTICODEC_ED25519_LENGTH = 32;\nexport const KEY_PAIR_SEED_LENGTH = 32;\n//# sourceMappingURL=constants.js.map","import { concat } from \"uint8arrays/concat\";\nimport { toString } from \"uint8arrays/to-string\";\nimport { fromString } from \"uint8arrays/from-string\";\nimport { safeJsonParse, safeJsonStringify } from \"@walletconnect/safe-json\";\nimport { DATA_ENCODING, DID_DELIMITER, DID_METHOD, DID_PREFIX, JSON_ENCODING, JWT_DELIMITER, JWT_ENCODING, MULTICODEC_ED25519_BASE, MULTICODEC_ED25519_ENCODING, MULTICODEC_ED25519_HEADER, MULTICODEC_ED25519_LENGTH, } from \"./constants\";\nexport function decodeJSON(str) {\n return safeJsonParse(toString(fromString(str, JWT_ENCODING), JSON_ENCODING));\n}\nexport function encodeJSON(val) {\n return toString(fromString(safeJsonStringify(val), JSON_ENCODING), JWT_ENCODING);\n}\nexport function encodeIss(publicKey) {\n const header = fromString(MULTICODEC_ED25519_HEADER, MULTICODEC_ED25519_ENCODING);\n const multicodec = MULTICODEC_ED25519_BASE +\n toString(concat([header, publicKey]), MULTICODEC_ED25519_ENCODING);\n return [DID_PREFIX, DID_METHOD, multicodec].join(DID_DELIMITER);\n}\nexport function decodeIss(issuer) {\n const [prefix, method, multicodec] = issuer.split(DID_DELIMITER);\n if (prefix !== DID_PREFIX || method !== DID_METHOD) {\n throw new Error(`Issuer must be a DID with method \"key\"`);\n }\n const base = multicodec.slice(0, 1);\n if (base !== MULTICODEC_ED25519_BASE) {\n throw new Error(`Issuer must be a key in mulicodec format`);\n }\n const bytes = fromString(multicodec.slice(1), MULTICODEC_ED25519_ENCODING);\n const type = toString(bytes.slice(0, 2), MULTICODEC_ED25519_ENCODING);\n if (type !== MULTICODEC_ED25519_HEADER) {\n throw new Error(`Issuer must be a public key with type \"Ed25519\"`);\n }\n const publicKey = bytes.slice(2);\n if (publicKey.length !== MULTICODEC_ED25519_LENGTH) {\n throw new Error(`Issuer must be a public key with length 32 bytes`);\n }\n return publicKey;\n}\nexport function encodeSig(bytes) {\n return toString(bytes, JWT_ENCODING);\n}\nexport function decodeSig(encoded) {\n return fromString(encoded, JWT_ENCODING);\n}\nexport function encodeData(params) {\n return fromString([encodeJSON(params.header), encodeJSON(params.payload)].join(JWT_DELIMITER), DATA_ENCODING);\n}\nexport function decodeData(data) {\n const params = toString(data, DATA_ENCODING).split(JWT_DELIMITER);\n const header = decodeJSON(params[0]);\n const payload = decodeJSON(params[1]);\n return { header, payload };\n}\nexport function encodeJWT(params) {\n return [\n encodeJSON(params.header),\n encodeJSON(params.payload),\n encodeSig(params.signature),\n ].join(JWT_DELIMITER);\n}\nexport function decodeJWT(jwt) {\n const params = jwt.split(JWT_DELIMITER);\n const header = decodeJSON(params[0]);\n const payload = decodeJSON(params[1]);\n const signature = decodeSig(params[2]);\n const data = fromString(params.slice(0, 2).join(JWT_DELIMITER), DATA_ENCODING);\n return { header, payload, signature, data };\n}\n//# sourceMappingURL=utils.js.map","import * as ed25519 from \"@stablelib/ed25519\";\nimport { randomBytes } from \"@stablelib/random\";\nimport { fromMiliseconds } from \"@walletconnect/time\";\nimport { JWT_IRIDIUM_ALG, JWT_IRIDIUM_TYP, KEY_PAIR_SEED_LENGTH, } from \"./constants\";\nimport { decodeIss, decodeJWT, encodeData, encodeIss, encodeJWT, } from \"./utils\";\nexport function generateKeyPair(seed = randomBytes(KEY_PAIR_SEED_LENGTH)) {\n return ed25519.generateKeyPairFromSeed(seed);\n}\nexport async function signJWT(sub, aud, ttl, keyPair, iat = fromMiliseconds(Date.now())) {\n const header = { alg: JWT_IRIDIUM_ALG, typ: JWT_IRIDIUM_TYP };\n const iss = encodeIss(keyPair.publicKey);\n const exp = iat + ttl;\n const payload = { iss, sub, aud, iat, exp };\n const data = encodeData({ header, payload });\n const signature = ed25519.sign(keyPair.secretKey, data);\n return encodeJWT({ header, payload, signature });\n}\nexport async function verifyJWT(jwt) {\n const { header, payload, data, signature } = decodeJWT(jwt);\n if (header.alg !== JWT_IRIDIUM_ALG || header.typ !== JWT_IRIDIUM_TYP) {\n throw new Error(\"JWT must use EdDSA algorithm\");\n }\n const publicKey = decodeIss(payload.iss);\n return ed25519.verify(publicKey, data, signature);\n}\n//# sourceMappingURL=api.js.map","export const PARSE_ERROR = \"PARSE_ERROR\";\nexport const INVALID_REQUEST = \"INVALID_REQUEST\";\nexport const METHOD_NOT_FOUND = \"METHOD_NOT_FOUND\";\nexport const INVALID_PARAMS = \"INVALID_PARAMS\";\nexport const INTERNAL_ERROR = \"INTERNAL_ERROR\";\nexport const SERVER_ERROR = \"SERVER_ERROR\";\nexport const RESERVED_ERROR_CODES = [-32700, -32600, -32601, -32602, -32603];\nexport const SERVER_ERROR_CODE_RANGE = [-32000, -32099];\nexport const STANDARD_ERROR_MAP = {\n [PARSE_ERROR]: { code: -32700, message: \"Parse error\" },\n [INVALID_REQUEST]: { code: -32600, message: \"Invalid Request\" },\n [METHOD_NOT_FOUND]: { code: -32601, message: \"Method not found\" },\n [INVALID_PARAMS]: { code: -32602, message: \"Invalid params\" },\n [INTERNAL_ERROR]: { code: -32603, message: \"Internal error\" },\n [SERVER_ERROR]: { code: -32000, message: \"Server error\" },\n};\nexport const DEFAULT_ERROR = SERVER_ERROR;\n//# sourceMappingURL=constants.js.map","import { SERVER_ERROR_CODE_RANGE, RESERVED_ERROR_CODES, STANDARD_ERROR_MAP, DEFAULT_ERROR, } from \"./constants\";\nexport function isServerErrorCode(code) {\n return code <= SERVER_ERROR_CODE_RANGE[0] && code >= SERVER_ERROR_CODE_RANGE[1];\n}\nexport function isReservedErrorCode(code) {\n return RESERVED_ERROR_CODES.includes(code);\n}\nexport function isValidErrorCode(code) {\n return typeof code === \"number\";\n}\nexport function getError(type) {\n if (!Object.keys(STANDARD_ERROR_MAP).includes(type)) {\n return STANDARD_ERROR_MAP[DEFAULT_ERROR];\n }\n return STANDARD_ERROR_MAP[type];\n}\nexport function getErrorByCode(code) {\n const match = Object.values(STANDARD_ERROR_MAP).find(e => e.code === code);\n if (!match) {\n return STANDARD_ERROR_MAP[DEFAULT_ERROR];\n }\n return match;\n}\nexport function validateJsonRpcError(response) {\n if (typeof response.error.code === \"undefined\") {\n return { valid: false, error: \"Missing code for JSON-RPC error\" };\n }\n if (typeof response.error.message === \"undefined\") {\n return { valid: false, error: \"Missing message for JSON-RPC error\" };\n }\n if (!isValidErrorCode(response.error.code)) {\n return {\n valid: false,\n error: `Invalid error code type for JSON-RPC: ${response.error.code}`,\n };\n }\n if (isReservedErrorCode(response.error.code)) {\n const error = getErrorByCode(response.error.code);\n if (error.message !== STANDARD_ERROR_MAP[DEFAULT_ERROR].message &&\n response.error.message === error.message) {\n return {\n valid: false,\n error: `Invalid error code message for JSON-RPC: ${response.error.code}`,\n };\n }\n }\n return { valid: true };\n}\nexport function parseConnectionError(e, url, type) {\n return e.message.includes(\"getaddrinfo ENOTFOUND\") || e.message.includes(\"connect ECONNREFUSED\")\n ? new Error(`Unavailable ${type} RPC url at ${url}`)\n : e;\n}\n//# sourceMappingURL=error.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isBrowserCryptoAvailable = exports.getSubtleCrypto = exports.getBrowerCrypto = void 0;\nfunction getBrowerCrypto() {\n return (global === null || global === void 0 ? void 0 : global.crypto) || (global === null || global === void 0 ? void 0 : global.msCrypto) || {};\n}\nexports.getBrowerCrypto = getBrowerCrypto;\nfunction getSubtleCrypto() {\n const browserCrypto = getBrowerCrypto();\n return browserCrypto.subtle || browserCrypto.webkitSubtle;\n}\nexports.getSubtleCrypto = getSubtleCrypto;\nfunction isBrowserCryptoAvailable() {\n return !!getBrowerCrypto() && !!getSubtleCrypto();\n}\nexports.isBrowserCryptoAvailable = isBrowserCryptoAvailable;\n//# sourceMappingURL=crypto.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isBrowser = exports.isNode = exports.isReactNative = void 0;\nfunction isReactNative() {\n return (typeof document === \"undefined\" &&\n typeof navigator !== \"undefined\" &&\n navigator.product === \"ReactNative\");\n}\nexports.isReactNative = isReactNative;\nfunction isNode() {\n return (typeof process !== \"undefined\" &&\n typeof process.versions !== \"undefined\" &&\n typeof process.versions.node !== \"undefined\");\n}\nexports.isNode = isNode;\nfunction isBrowser() {\n return !isReactNative() && !isNode();\n}\nexports.isBrowser = isBrowser;\n//# sourceMappingURL=env.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./crypto\"), exports);\ntslib_1.__exportStar(require(\"./env\"), exports);\n//# sourceMappingURL=index.js.map","import { getError, getErrorByCode, isReservedErrorCode } from \"./error\";\nimport { INTERNAL_ERROR, SERVER_ERROR } from \"./constants\";\nexport function payloadId(entropy = 3) {\n const date = Date.now() * Math.pow(10, entropy);\n const extra = Math.floor(Math.random() * Math.pow(10, entropy));\n return date + extra;\n}\nexport function getBigIntRpcId(entropy = 6) {\n return BigInt(payloadId(entropy));\n}\nexport function formatJsonRpcRequest(method, params, id) {\n return {\n id: id || payloadId(),\n jsonrpc: \"2.0\",\n method,\n params,\n };\n}\nexport function formatJsonRpcResult(id, result) {\n return {\n id,\n jsonrpc: \"2.0\",\n result,\n };\n}\nexport function formatJsonRpcError(id, error, data) {\n return {\n id,\n jsonrpc: \"2.0\",\n error: formatErrorMessage(error, data),\n };\n}\nexport function formatErrorMessage(error, data) {\n if (typeof error === \"undefined\") {\n return getError(INTERNAL_ERROR);\n }\n if (typeof error === \"string\") {\n error = Object.assign(Object.assign({}, getError(SERVER_ERROR)), { message: error });\n }\n if (typeof data !== \"undefined\") {\n error.data = data;\n }\n if (isReservedErrorCode(error.code)) {\n error = getErrorByCode(error.code);\n }\n return error;\n}\n//# sourceMappingURL=format.js.map","export class IEvents {\n}\n//# sourceMappingURL=misc.js.map","import { IEvents } from \"./misc\";\nexport class IJsonRpcConnection extends IEvents {\n constructor(opts) {\n super();\n }\n}\nexport class IBaseJsonRpcProvider extends IEvents {\n constructor() {\n super();\n }\n}\nexport class IJsonRpcProvider extends IBaseJsonRpcProvider {\n constructor(connection) {\n super();\n }\n}\n//# sourceMappingURL=provider.js.map","const HTTP_REGEX = \"^https?:\";\nconst WS_REGEX = \"^wss?:\";\nfunction getUrlProtocol(url) {\n const matches = url.match(new RegExp(/^\\w+:/, \"gi\"));\n if (!matches || !matches.length)\n return;\n return matches[0];\n}\nfunction matchRegexProtocol(url, regex) {\n const protocol = getUrlProtocol(url);\n if (typeof protocol === \"undefined\")\n return false;\n return new RegExp(regex).test(protocol);\n}\nexport function isHttpUrl(url) {\n return matchRegexProtocol(url, HTTP_REGEX);\n}\nexport function isWsUrl(url) {\n return matchRegexProtocol(url, WS_REGEX);\n}\nexport function isLocalhostUrl(url) {\n return new RegExp(\"wss?://localhost(:d{2,5})?\").test(url);\n}\n//# sourceMappingURL=url.js.map","export function isJsonRpcPayload(payload) {\n return (typeof payload === \"object\" &&\n \"id\" in payload &&\n \"jsonrpc\" in payload &&\n payload.jsonrpc === \"2.0\");\n}\nexport function isJsonRpcRequest(payload) {\n return isJsonRpcPayload(payload) && \"method\" in payload;\n}\nexport function isJsonRpcResponse(payload) {\n return isJsonRpcPayload(payload) && (isJsonRpcResult(payload) || isJsonRpcError(payload));\n}\nexport function isJsonRpcResult(payload) {\n return \"result\" in payload;\n}\nexport function isJsonRpcError(payload) {\n return \"error\" in payload;\n}\nexport function isJsonRpcValidationInvalid(validation) {\n return \"error\" in validation && validation.valid === false;\n}\n//# sourceMappingURL=validators.js.map","import { EventEmitter } from \"events\";\nimport { IJsonRpcProvider, isJsonRpcResponse, formatJsonRpcRequest, isJsonRpcError, getBigIntRpcId, } from \"@walletconnect/jsonrpc-utils\";\nexport class JsonRpcProvider extends IJsonRpcProvider {\n constructor(connection) {\n super(connection);\n this.events = new EventEmitter();\n this.hasRegisteredEventListeners = false;\n this.connection = this.setConnection(connection);\n if (this.connection.connected) {\n this.registerEventListeners();\n }\n }\n async connect(connection = this.connection) {\n await this.open(connection);\n }\n async disconnect() {\n await this.close();\n }\n on(event, listener) {\n this.events.on(event, listener);\n }\n once(event, listener) {\n this.events.once(event, listener);\n }\n off(event, listener) {\n this.events.off(event, listener);\n }\n removeListener(event, listener) {\n this.events.removeListener(event, listener);\n }\n async request(request, context) {\n return this.requestStrict(formatJsonRpcRequest(request.method, request.params || [], request.id || getBigIntRpcId().toString()), context);\n }\n async requestStrict(request, context) {\n return new Promise(async (resolve, reject) => {\n if (!this.connection.connected) {\n try {\n await this.open();\n }\n catch (e) {\n reject(e);\n }\n }\n this.events.on(`${request.id}`, response => {\n if (isJsonRpcError(response)) {\n reject(response.error);\n }\n else {\n resolve(response.result);\n }\n });\n try {\n await this.connection.send(request, context);\n }\n catch (e) {\n reject(e);\n }\n });\n }\n setConnection(connection = this.connection) {\n return connection;\n }\n onPayload(payload) {\n this.events.emit(\"payload\", payload);\n if (isJsonRpcResponse(payload)) {\n this.events.emit(`${payload.id}`, payload);\n }\n else {\n this.events.emit(\"message\", {\n type: payload.method,\n data: payload.params,\n });\n }\n }\n onClose(event) {\n if (event && event.code === 3000) {\n this.events.emit(\"error\", new Error(`WebSocket connection closed abnormally with code: ${event.code} ${event.reason ? `(${event.reason})` : \"\"}`));\n }\n this.events.emit(\"disconnect\");\n }\n async open(connection = this.connection) {\n if (this.connection === connection && this.connection.connected)\n return;\n if (this.connection.connected)\n this.close();\n if (typeof connection === \"string\") {\n await this.connection.open(connection);\n connection = this.connection;\n }\n this.connection = this.setConnection(connection);\n await this.connection.open();\n this.registerEventListeners();\n this.events.emit(\"connect\");\n }\n async close() {\n await this.connection.close();\n }\n registerEventListeners() {\n if (this.hasRegisteredEventListeners)\n return;\n this.connection.on(\"payload\", (payload) => this.onPayload(payload));\n this.connection.on(\"close\", (event) => this.onClose(event));\n this.connection.on(\"error\", (error) => this.events.emit(\"error\", error));\n this.connection.on(\"register_error\", (error) => this.onClose());\n this.hasRegisteredEventListeners = true;\n }\n}\nexport default JsonRpcProvider;\n//# sourceMappingURL=provider.js.map","import{EventEmitter as u}from\"events\";import{safeJsonStringify as p,safeJsonParse as g}from\"@walletconnect/safe-json\";import{isWsUrl as d,isReactNative as y,isLocalhostUrl as m,formatJsonRpcError as k,parseConnectionError as v}from\"@walletconnect/jsonrpc-utils\";const w=()=>typeof WebSocket<\"u\"?WebSocket:typeof global<\"u\"&&typeof global.WebSocket<\"u\"?global.WebSocket:typeof window<\"u\"&&typeof window.WebSocket<\"u\"?window.WebSocket:typeof self<\"u\"&&typeof self.WebSocket<\"u\"?self.WebSocket:require(\"ws\"),b=()=>typeof WebSocket<\"u\"||typeof global<\"u\"&&typeof global.WebSocket<\"u\"||typeof window<\"u\"&&typeof window.WebSocket<\"u\"||typeof self<\"u\"&&typeof self.WebSocket<\"u\",a=c=>c.split(\"?\")[0],h=10,S=w();class f{constructor(e){if(this.url=e,this.events=new u,this.registering=!1,!d(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);this.url=e}get connected(){return typeof this.socket<\"u\"}get connecting(){return this.registering}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 open(e=this.url){await this.register(e)}async close(){return new Promise((e,t)=>{if(typeof this.socket>\"u\"){t(new Error(\"Connection already closed\"));return}this.socket.onclose=n=>{this.onClose(n),e()},this.socket.close()})}async send(e){typeof this.socket>\"u\"&&(this.socket=await this.register());try{this.socket.send(p(e))}catch(t){this.onError(e.id,t)}}register(e=this.url){if(!d(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);if(this.registering){const t=this.events.getMaxListeners();return(this.events.listenerCount(\"register_error\")>=t||this.events.listenerCount(\"open\")>=t)&&this.events.setMaxListeners(t+1),new Promise((n,o)=>{this.events.once(\"register_error\",s=>{this.resetMaxListeners(),o(s)}),this.events.once(\"open\",()=>{if(this.resetMaxListeners(),typeof this.socket>\"u\")return o(new Error(\"WebSocket connection is missing or invalid\"));n(this.socket)})})}return this.url=e,this.registering=!0,new Promise((t,n)=>{const o=new URLSearchParams(e).get(\"origin\"),s=y()?{headers:{origin:o}}:{rejectUnauthorized:!m(e)},i=new S(e,[],s);b()?i.onerror=r=>{const l=r;n(this.emitError(l.error))}:i.on(\"error\",r=>{n(this.emitError(r))}),i.onopen=()=>{this.onOpen(i),t(i)}})}onOpen(e){e.onmessage=t=>this.onPayload(t),e.onclose=t=>this.onClose(t),this.socket=e,this.registering=!1,this.events.emit(\"open\")}onClose(e){this.socket=void 0,this.registering=!1,this.events.emit(\"close\",e)}onPayload(e){if(typeof e.data>\"u\")return;const t=typeof e.data==\"string\"?g(e.data):e.data;this.events.emit(\"payload\",t)}onError(e,t){const n=this.parseError(t),o=n.message||n.toString(),s=k(e,o);this.events.emit(\"payload\",s)}parseError(e,t=this.url){return v(e,a(t),\"WS\")}resetMaxListeners(){this.events.getMaxListeners()>h&&this.events.setMaxListeners(h)}emitError(e){const t=this.parseError(new Error(e?.message||`WebSocket connection failed for host: ${a(this.url)}`));return this.events.emit(\"register_error\",t),t}}export{f as WsConnection,f as default};\n//# sourceMappingURL=index.es.js.map\n","/**\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEqual;\n","export default function(e,n){return n=n||{},new Promise(function(t,r){var s=new XMLHttpRequest,o=[],u=[],i={},a=function(){return{ok:2==(s.status/100|0),statusText:s.statusText,status:s.status,url:s.responseURL,text:function(){return Promise.resolve(s.responseText)},json:function(){return Promise.resolve(s.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([s.response]))},clone:a,headers:{keys:function(){return o},entries:function(){return u},get:function(e){return i[e.toLowerCase()]},has:function(e){return e.toLowerCase()in i}}}};for(var l in s.open(n.method||\"get\",e,!0),s.onload=function(){s.getAllResponseHeaders().replace(/^(.*?):[^\\S\\n]*([\\s\\S]*?)$/gm,function(e,n,t){o.push(n=n.toLowerCase()),u.push([n,t]),i[n]=i[n]?i[n]+\",\"+t:t}),t(a())},s.onerror=r,s.withCredentials=\"include\"==n.credentials,n.headers)s.setRequestHeader(l,n.headers[l]);s.send(n.body||null)})}\n//# sourceMappingURL=unfetch.module.js.map\n","module.exports = self.fetch || (self.fetch = require('unfetch').default || require('unfetch'));\n","import Xt,{EventEmitter as U}from\"events\";import Wt from\"@walletconnect/keyvaluestorage\";import{HEARTBEAT_EVENTS as G,HeartBeat as Qt}from\"@walletconnect/heartbeat\";import{generateChildLogger as b,getLoggerContext as E,pino as ye,getDefaultLoggerOptions as me}from\"@walletconnect/logger\";import{IMessageTracker as Zt,IPublisher as ei,ISubscriber as ti,IRelayer as ii,IStore as si,IJsonRpcHistory as ri,IExpirer as ni,IVerify as oi,IEchoClient as ai,ICore as hi}from\"@walletconnect/types\";import{safeJsonStringify as ci,safeJsonParse as ui}from\"@walletconnect/safe-json\";import*as Y from\"@walletconnect/relay-auth\";import{getInternalError as c,mapToObj as be,objToMap as fe,generateKeyPair as li,generateRandomBytes32 as ie,deriveSymKey as di,hashKey as gi,validateEncoding as pi,isTypeOneEnvelope as Ee,encrypt as Di,validateDecoding as yi,decrypt as mi,deserialize as we,decodeTypeByte as bi,BASE16 as fi,hashMessage as se,getRelayProtocolName as re,createExpiringPromise as k,getRelayProtocolApi as H,isUndefined as ne,getSdkError as K,isValidArray as Ei,getBundleId as wi,isOnline as ve,formatRelayRpcUrl as vi,subscribeToNetworkChange as Ii,isProposalStruct as Ci,isSessionStruct as Ri,TYPE_1 as _i,calcExpiry as J,formatUri as Ti,parseUri as Ie,createDelayedPromise as Si,engineEvent as oe,isExpired as Ce,isValidParams as ae,isValidUrl as Pi,isValidString as xi,parseExpirerTarget as Oi,formatTopicTarget as Ai,formatIdTarget as zi,isReactNative as Ni,isBrowser as Ui,isNode as Li}from\"@walletconnect/utils\";import{toString as $i}from\"uint8arrays\";import{ONE_DAY as L,SIX_HOURS as Fi,ONE_SECOND as Re,THIRTY_DAYS as X,FIVE_SECONDS as _e,THIRTY_SECONDS as Te,toMiliseconds as N,TEN_SECONDS as Mi,Watch as ki,FIVE_MINUTES as Se}from\"@walletconnect/time\";import{JsonRpcProvider as Ki}from\"@walletconnect/jsonrpc-provider\";import{getBigIntRpcId as Bi,isJsonRpcRequest as Pe,isJsonRpcResponse as xe,formatJsonRpcResult as Oe,formatJsonRpcRequest as Ae,formatJsonRpcError as Vi,isJsonRpcResult as qi,isJsonRpcError as ze}from\"@walletconnect/jsonrpc-utils\";import ji from\"@walletconnect/jsonrpc-ws-connection\";import Gi from\"lodash.isequal\";import Yi from\"isomorphic-unfetch\";function Hi(n,e){if(n.length>=255)throw new TypeError(\"Alphabet too long\");for(var t=new Uint8Array(256),i=0;i>>0,f=new Uint8Array(T);I!==_;){for(var S=u[I],A=0,C=T-1;(S!==0||A>>0,f[C]=S%a>>>0,S=S/a>>>0;if(S!==0)throw new Error(\"Non-zero carry\");z=A,I++}for(var x=T-z;x!==T&&f[x]===0;)x++;for(var j=h.repeat(m);x>>0,T=new Uint8Array(_);u[m];){var f=t[u.charCodeAt(m)];if(f===255)return;for(var S=0,A=_-1;(f!==0||S>>0,T[A]=f%256>>>0,f=f/256>>>0;if(f!==0)throw new Error(\"Non-zero carry\");I=S,m++}if(u[m]!==\" \"){for(var C=_-I;C!==_&&T[C]===0;)C++;for(var x=new Uint8Array(z+(_-C)),j=z;C!==_;)x[j++]=T[C++];return x}}}function M(u){var m=y(u);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:p,decodeUnsafe:y,decode:M}}var Ji=Hi,Xi=Ji;const Ne=n=>{if(n instanceof Uint8Array&&n.constructor.name===\"Uint8Array\")return n;if(n instanceof ArrayBuffer)return new Uint8Array(n);if(ArrayBuffer.isView(n))return new Uint8Array(n.buffer,n.byteOffset,n.byteLength);throw new Error(\"Unknown type, must be binary type\")},Wi=n=>new TextEncoder().encode(n),Qi=n=>new TextDecoder().decode(n);class Zi{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 es{constructor(e,t,i){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error(\"Invalid prefix character\");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=i}decode(e){if(typeof e==\"string\"){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))}else throw Error(\"Can only multibase decode strings\")}or(e){return Ue(this,e)}}class ts{constructor(e){this.decoders=e}or(e){return Ue(this,e)}decode(e){const 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`)}}const Ue=(n,e)=>new ts({...n.decoders||{[n.prefix]:n},...e.decoders||{[e.prefix]:e}});class is{constructor(e,t,i,s){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=s,this.encoder=new Zi(e,t,i),this.decoder=new es(e,t,s)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const W=({name:n,prefix:e,encode:t,decode:i})=>new is(n,e,t,i),B=({prefix:n,name:e,alphabet:t})=>{const{encode:i,decode:s}=Xi(t,e);return W({prefix:n,name:e,encode:i,decode:r=>Ne(s(r))})},ss=(n,e,t,i)=>{const s={};for(let d=0;d=8&&(a-=8,o[l++]=255&h>>a)}if(a>=t||255&h<<8-a)throw new SyntaxError(\"Unexpected end of data\");return o},rs=(n,e,t)=>{const i=e[e.length-1]===\"=\",s=(1<t;)o-=t,r+=e[s&a>>o];if(o&&(r+=e[s&a<W({prefix:e,name:n,encode(s){return rs(s,i,t)},decode(s){return ss(s,i,t,n)}}),ns=W({prefix:\"\\0\",name:\"identity\",encode:n=>Qi(n),decode:n=>Wi(n)});var os=Object.freeze({__proto__:null,identity:ns});const as=g({prefix:\"0\",name:\"base2\",alphabet:\"01\",bitsPerChar:1});var hs=Object.freeze({__proto__:null,base2:as});const cs=g({prefix:\"7\",name:\"base8\",alphabet:\"01234567\",bitsPerChar:3});var us=Object.freeze({__proto__:null,base8:cs});const ls=B({prefix:\"9\",name:\"base10\",alphabet:\"0123456789\"});var ds=Object.freeze({__proto__:null,base10:ls});const gs=g({prefix:\"f\",name:\"base16\",alphabet:\"0123456789abcdef\",bitsPerChar:4}),ps=g({prefix:\"F\",name:\"base16upper\",alphabet:\"0123456789ABCDEF\",bitsPerChar:4});var Ds=Object.freeze({__proto__:null,base16:gs,base16upper:ps});const ys=g({prefix:\"b\",name:\"base32\",alphabet:\"abcdefghijklmnopqrstuvwxyz234567\",bitsPerChar:5}),ms=g({prefix:\"B\",name:\"base32upper\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567\",bitsPerChar:5}),bs=g({prefix:\"c\",name:\"base32pad\",alphabet:\"abcdefghijklmnopqrstuvwxyz234567=\",bitsPerChar:5}),fs=g({prefix:\"C\",name:\"base32padupper\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=\",bitsPerChar:5}),Es=g({prefix:\"v\",name:\"base32hex\",alphabet:\"0123456789abcdefghijklmnopqrstuv\",bitsPerChar:5}),ws=g({prefix:\"V\",name:\"base32hexupper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUV\",bitsPerChar:5}),vs=g({prefix:\"t\",name:\"base32hexpad\",alphabet:\"0123456789abcdefghijklmnopqrstuv=\",bitsPerChar:5}),Is=g({prefix:\"T\",name:\"base32hexpadupper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUV=\",bitsPerChar:5}),Cs=g({prefix:\"h\",name:\"base32z\",alphabet:\"ybndrfg8ejkmcpqxot1uwisza345h769\",bitsPerChar:5});var Rs=Object.freeze({__proto__:null,base32:ys,base32upper:ms,base32pad:bs,base32padupper:fs,base32hex:Es,base32hexupper:ws,base32hexpad:vs,base32hexpadupper:Is,base32z:Cs});const _s=B({prefix:\"k\",name:\"base36\",alphabet:\"0123456789abcdefghijklmnopqrstuvwxyz\"}),Ts=B({prefix:\"K\",name:\"base36upper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\"});var Ss=Object.freeze({__proto__:null,base36:_s,base36upper:Ts});const Ps=B({name:\"base58btc\",prefix:\"z\",alphabet:\"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\"}),xs=B({name:\"base58flickr\",prefix:\"Z\",alphabet:\"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ\"});var Os=Object.freeze({__proto__:null,base58btc:Ps,base58flickr:xs});const As=g({prefix:\"m\",name:\"base64\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",bitsPerChar:6}),zs=g({prefix:\"M\",name:\"base64pad\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",bitsPerChar:6}),Ns=g({prefix:\"u\",name:\"base64url\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_\",bitsPerChar:6}),Us=g({prefix:\"U\",name:\"base64urlpad\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=\",bitsPerChar:6});var Ls=Object.freeze({__proto__:null,base64:As,base64pad:zs,base64url:Ns,base64urlpad:Us});const Le=Array.from(\"\\u{1F680}\\u{1FA90}\\u2604\\u{1F6F0}\\u{1F30C}\\u{1F311}\\u{1F312}\\u{1F313}\\u{1F314}\\u{1F315}\\u{1F316}\\u{1F317}\\u{1F318}\\u{1F30D}\\u{1F30F}\\u{1F30E}\\u{1F409}\\u2600\\u{1F4BB}\\u{1F5A5}\\u{1F4BE}\\u{1F4BF}\\u{1F602}\\u2764\\u{1F60D}\\u{1F923}\\u{1F60A}\\u{1F64F}\\u{1F495}\\u{1F62D}\\u{1F618}\\u{1F44D}\\u{1F605}\\u{1F44F}\\u{1F601}\\u{1F525}\\u{1F970}\\u{1F494}\\u{1F496}\\u{1F499}\\u{1F622}\\u{1F914}\\u{1F606}\\u{1F644}\\u{1F4AA}\\u{1F609}\\u263A\\u{1F44C}\\u{1F917}\\u{1F49C}\\u{1F614}\\u{1F60E}\\u{1F607}\\u{1F339}\\u{1F926}\\u{1F389}\\u{1F49E}\\u270C\\u2728\\u{1F937}\\u{1F631}\\u{1F60C}\\u{1F338}\\u{1F64C}\\u{1F60B}\\u{1F497}\\u{1F49A}\\u{1F60F}\\u{1F49B}\\u{1F642}\\u{1F493}\\u{1F929}\\u{1F604}\\u{1F600}\\u{1F5A4}\\u{1F603}\\u{1F4AF}\\u{1F648}\\u{1F447}\\u{1F3B6}\\u{1F612}\\u{1F92D}\\u2763\\u{1F61C}\\u{1F48B}\\u{1F440}\\u{1F62A}\\u{1F611}\\u{1F4A5}\\u{1F64B}\\u{1F61E}\\u{1F629}\\u{1F621}\\u{1F92A}\\u{1F44A}\\u{1F973}\\u{1F625}\\u{1F924}\\u{1F449}\\u{1F483}\\u{1F633}\\u270B\\u{1F61A}\\u{1F61D}\\u{1F634}\\u{1F31F}\\u{1F62C}\\u{1F643}\\u{1F340}\\u{1F337}\\u{1F63B}\\u{1F613}\\u2B50\\u2705\\u{1F97A}\\u{1F308}\\u{1F608}\\u{1F918}\\u{1F4A6}\\u2714\\u{1F623}\\u{1F3C3}\\u{1F490}\\u2639\\u{1F38A}\\u{1F498}\\u{1F620}\\u261D\\u{1F615}\\u{1F33A}\\u{1F382}\\u{1F33B}\\u{1F610}\\u{1F595}\\u{1F49D}\\u{1F64A}\\u{1F639}\\u{1F5E3}\\u{1F4AB}\\u{1F480}\\u{1F451}\\u{1F3B5}\\u{1F91E}\\u{1F61B}\\u{1F534}\\u{1F624}\\u{1F33C}\\u{1F62B}\\u26BD\\u{1F919}\\u2615\\u{1F3C6}\\u{1F92B}\\u{1F448}\\u{1F62E}\\u{1F646}\\u{1F37B}\\u{1F343}\\u{1F436}\\u{1F481}\\u{1F632}\\u{1F33F}\\u{1F9E1}\\u{1F381}\\u26A1\\u{1F31E}\\u{1F388}\\u274C\\u270A\\u{1F44B}\\u{1F630}\\u{1F928}\\u{1F636}\\u{1F91D}\\u{1F6B6}\\u{1F4B0}\\u{1F353}\\u{1F4A2}\\u{1F91F}\\u{1F641}\\u{1F6A8}\\u{1F4A8}\\u{1F92C}\\u2708\\u{1F380}\\u{1F37A}\\u{1F913}\\u{1F619}\\u{1F49F}\\u{1F331}\\u{1F616}\\u{1F476}\\u{1F974}\\u25B6\\u27A1\\u2753\\u{1F48E}\\u{1F4B8}\\u2B07\\u{1F628}\\u{1F31A}\\u{1F98B}\\u{1F637}\\u{1F57A}\\u26A0\\u{1F645}\\u{1F61F}\\u{1F635}\\u{1F44E}\\u{1F932}\\u{1F920}\\u{1F927}\\u{1F4CC}\\u{1F535}\\u{1F485}\\u{1F9D0}\\u{1F43E}\\u{1F352}\\u{1F617}\\u{1F911}\\u{1F30A}\\u{1F92F}\\u{1F437}\\u260E\\u{1F4A7}\\u{1F62F}\\u{1F486}\\u{1F446}\\u{1F3A4}\\u{1F647}\\u{1F351}\\u2744\\u{1F334}\\u{1F4A3}\\u{1F438}\\u{1F48C}\\u{1F4CD}\\u{1F940}\\u{1F922}\\u{1F445}\\u{1F4A1}\\u{1F4A9}\\u{1F450}\\u{1F4F8}\\u{1F47B}\\u{1F910}\\u{1F92E}\\u{1F3BC}\\u{1F975}\\u{1F6A9}\\u{1F34E}\\u{1F34A}\\u{1F47C}\\u{1F48D}\\u{1F4E3}\\u{1F942}\"),$s=Le.reduce((n,e,t)=>(n[t]=e,n),[]),Fs=Le.reduce((n,e,t)=>(n[e.codePointAt(0)]=t,n),[]);function Ms(n){return n.reduce((e,t)=>(e+=$s[t],e),\"\")}function ks(n){const e=[];for(const t of n){const i=Fs[t.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}const Ks=W({prefix:\"\\u{1F680}\",name:\"base256emoji\",encode:Ms,decode:ks});var Bs=Object.freeze({__proto__:null,base256emoji:Ks}),Vs=Fe,$e=128,qs=127,js=~qs,Gs=Math.pow(2,31);function Fe(n,e,t){e=e||[],t=t||0;for(var i=t;n>=Gs;)e[t++]=n&255|$e,n/=128;for(;n&js;)e[t++]=n&255|$e,n>>>=7;return e[t]=n|0,Fe.bytes=t-i+1,e}var Ys=he,Hs=128,Me=127;function he(n,i){var t=0,i=i||0,s=0,r=i,o,a=n.length;do{if(r>=a)throw he.bytes=0,new RangeError(\"Could not decode varint\");o=n[r++],t+=s<28?(o&Me)<=Hs);return he.bytes=r-i,t}var Js=Math.pow(2,7),Xs=Math.pow(2,14),Ws=Math.pow(2,21),Qs=Math.pow(2,28),Zs=Math.pow(2,35),er=Math.pow(2,42),tr=Math.pow(2,49),ir=Math.pow(2,56),sr=Math.pow(2,63),rr=function(n){return n(ke.encode(n,e,t),e),Be=n=>ke.encodingLength(n),ce=(n,e)=>{const t=e.byteLength,i=Be(n),s=i+Be(t),r=new Uint8Array(s+t);return Ke(n,r,0),Ke(t,r,i),r.set(e,s),new or(n,t,e,r)};class or{constructor(e,t,i,s){this.code=e,this.size=t,this.digest=i,this.bytes=s}}const Ve=({name:n,code:e,encode:t})=>new ar(n,e,t);class ar{constructor(e,t,i){this.name=e,this.code=t,this.encode=i}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?ce(this.code,t):t.then(i=>ce(this.code,i))}else throw Error(\"Unknown type, must be binary type\")}}const qe=n=>async e=>new Uint8Array(await crypto.subtle.digest(n,e)),hr=Ve({name:\"sha2-256\",code:18,encode:qe(\"SHA-256\")}),cr=Ve({name:\"sha2-512\",code:19,encode:qe(\"SHA-512\")});var ur=Object.freeze({__proto__:null,sha256:hr,sha512:cr});const je=0,lr=\"identity\",Ge=Ne,dr=n=>ce(je,Ge(n)),gr={code:je,name:lr,encode:Ge,digest:dr};var pr=Object.freeze({__proto__:null,identity:gr});new TextEncoder,new TextDecoder;const Ye={...os,...hs,...us,...ds,...Ds,...Rs,...Ss,...Os,...Ls,...Bs};({...ur,...pr});function He(n){return globalThis.Buffer!=null?new Uint8Array(n.buffer,n.byteOffset,n.byteLength):n}function Dr(n=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?He(globalThis.Buffer.allocUnsafe(n)):new Uint8Array(n)}function Je(n,e,t,i){return{name:n,prefix:e,encoder:{name:n,prefix:e,encode:t},decoder:{decode:i}}}const Xe=Je(\"utf8\",\"u\",n=>\"u\"+new TextDecoder(\"utf8\").decode(n),n=>new TextEncoder().encode(n.substring(1))),ue=Je(\"ascii\",\"a\",n=>{let e=\"a\";for(let t=0;t{n=n.substring(1);const e=Dr(n.length);for(let t=0;t{if(!this.initialized){const i=await this.getKeyChain();typeof i<\"u\"&&(this.keychain=i),this.initialized=!0}},this.has=i=>(this.isInitialized(),this.keychain.has(i)),this.set=async(i,s)=>{this.isInitialized(),this.keychain.set(i,s),await this.persist()},this.get=i=>{this.isInitialized();const s=this.keychain.get(i);if(typeof s>\"u\"){const{message:r}=c(\"NO_MATCHING_KEY\",`${this.name}: ${i}`);throw new Error(r)}return s},this.del=async i=>{this.isInitialized(),this.keychain.delete(i),await this.persist()},this.core=e,this.logger=b(t,this.name)}get context(){return E(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,be(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<\"u\"?fe(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class xt{constructor(e,t,i){this.core=e,this.logger=t,this.name=et,this.initialized=!1,this.init=async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)},this.hasKeys=s=>(this.isInitialized(),this.keychain.has(s)),this.getClientId=async()=>{this.isInitialized();const s=await this.getClientSeed(),r=Y.generateKeyPair(s);return Y.encodeIss(r.publicKey)},this.generateKeyPair=()=>{this.isInitialized();const s=li();return this.setPrivateKey(s.publicKey,s.privateKey)},this.signJWT=async s=>{this.isInitialized();const r=await this.getClientSeed(),o=Y.generateKeyPair(r),a=ie(),h=tt;return await Y.signJWT(a,s,h,o)},this.generateSharedKey=(s,r,o)=>{this.isInitialized();const a=this.getPrivateKey(s),h=di(a,r);return this.setSymKey(h,o)},this.setSymKey=async(s,r)=>{this.isInitialized();const o=r||gi(s);return await this.keychain.set(o,s),o},this.deleteKeyPair=async s=>{this.isInitialized(),await this.keychain.del(s)},this.deleteSymKey=async s=>{this.isInitialized(),await this.keychain.del(s)},this.encode=async(s,r,o)=>{this.isInitialized();const a=pi(o),h=ci(r);if(Ee(a)){const y=a.senderPublicKey,M=a.receiverPublicKey;s=await this.generateSharedKey(y,M)}const l=this.getSymKey(s),{type:d,senderPublicKey:p}=a;return Di({type:d,symKey:l,message:h,senderPublicKey:p})},this.decode=async(s,r,o)=>{this.isInitialized();const a=yi(r,o);if(Ee(a)){const h=a.receiverPublicKey,l=a.senderPublicKey;s=await this.generateSharedKey(h,l)}try{const h=this.getSymKey(s),l=mi({symKey:h,encoded:r});return ui(l)}catch(h){this.logger.error(`Failed to decode message from topic: '${s}', clientId: '${await this.getClientId()}'`),this.logger.error(h)}},this.getPayloadType=s=>{const r=we(s);return bi(r.type)},this.getPayloadSenderPublicKey=s=>{const r=we(s);return r.senderPublicKey?$i(r.senderPublicKey,fi):void 0},this.core=e,this.logger=b(t,this.name),this.keychain=i||new Pt(this.core,this.logger)}get context(){return E(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(de)}catch{e=ie(),await this.keychain.set(de,e)}return mr(e,\"base16\")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class Ot extends Zt{constructor(e,t){super(e,t),this.logger=e,this.core=t,this.messages=new Map,this.name=rt,this.version=nt,this.initialized=!1,this.storagePrefix=O,this.init=async()=>{if(!this.initialized){this.logger.trace(\"Initialized\");try{const i=await this.getRelayerMessages();typeof i<\"u\"&&(this.messages=i),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",size:this.messages.size})}catch(i){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(i)}finally{this.initialized=!0}}},this.set=async(i,s)=>{this.isInitialized();const r=se(s);let o=this.messages.get(i);return typeof o>\"u\"&&(o={}),typeof o[r]<\"u\"||(o[r]=s,this.messages.set(i,o),await this.persist()),r},this.get=i=>{this.isInitialized();let s=this.messages.get(i);return typeof s>\"u\"&&(s={}),s},this.has=(i,s)=>{this.isInitialized();const r=this.get(i),o=se(s);return typeof r[o]<\"u\"},this.del=async i=>{this.isInitialized(),this.messages.delete(i),await this.persist()},this.logger=b(e,this.name),this.core=t}get context(){return E(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,be(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<\"u\"?fe(e):void 0}async persist(){await this.setRelayerMessages(this.messages)}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class vr extends ei{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.events=new U,this.name=at,this.queue=new Map,this.publishTimeout=N(Mi*2),this.needsTransportRestart=!1,this.publish=async(i,s,r)=>{var o;this.logger.debug(\"Publishing Payload\"),this.logger.trace({type:\"method\",method:\"publish\",params:{topic:i,message:s,opts:r}});try{const a=r?.ttl||ot,h=re(r),l=r?.prompt||!1,d=r?.tag||0,p=r?.id||Bi().toString(),y={topic:i,message:s,opts:{ttl:a,relay:h,prompt:l,tag:d,id:p}},M=setTimeout(()=>this.queue.set(p,y),this.publishTimeout);try{await await k(this.rpcPublish(i,s,a,h,l,d,p),this.publishTimeout,`Failed to publish payload, please try again. id:${p} tag:${d}`),this.removeRequestFromQueue(p),this.relayer.events.emit(D.publish,y)}catch(u){if(this.logger.debug(\"Publishing Payload stalled\"),this.needsTransportRestart=!0,(o=r?.internal)!=null&&o.throwOnFailedPublish)throw this.removeRequestFromQueue(p),u;return}finally{clearTimeout(M)}this.logger.debug(\"Successfully Published Payload\"),this.logger.trace({type:\"method\",method:\"publish\",params:{topic:i,message:s,opts:r}})}catch(a){throw this.logger.debug(\"Failed to Publish Payload\"),this.logger.error(a),a}},this.on=(i,s)=>{this.events.on(i,s)},this.once=(i,s)=>{this.events.once(i,s)},this.off=(i,s)=>{this.events.off(i,s)},this.removeListener=(i,s)=>{this.events.removeListener(i,s)},this.relayer=e,this.logger=b(t,this.name),this.registerEventListeners()}get context(){return E(this.logger)}rpcPublish(e,t,i,s,r,o,a){var h,l,d,p;const y={method:H(s.protocol).publish,params:{topic:e,message:t,ttl:i,prompt:r,tag:o},id:a};return ne((h=y.params)==null?void 0:h.prompt)&&((l=y.params)==null||delete l.prompt),ne((d=y.params)==null?void 0:d.tag)&&((p=y.params)==null||delete p.tag),this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"message\",direction:\"outgoing\",request:y}),this.relayer.request(y)}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async e=>{const{topic:t,message:i,opts:s}=e;await this.publish(t,i,s)})}registerEventListeners(){this.relayer.core.heartbeat.on(G.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(D.connection_stalled);return}this.checkQueue()}),this.relayer.on(D.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}class Ir{constructor(){this.map=new Map,this.set=(e,t)=>{const i=this.get(e);this.exists(e,t)||this.map.set(e,[...i,t])},this.get=e=>this.map.get(e)||[],this.exists=(e,t)=>this.get(e).includes(t),this.delete=(e,t)=>{if(typeof t>\"u\"){this.map.delete(e);return}if(!this.map.has(e))return;const i=this.get(e);if(!this.exists(e,t))return;const s=i.filter(r=>r!==t);if(!s.length){this.map.delete(e);return}this.map.set(e,s)},this.clear=()=>{this.map.clear()}}get topics(){return Array.from(this.map.keys())}}var Cr=Object.defineProperty,Rr=Object.defineProperties,_r=Object.getOwnPropertyDescriptors,At=Object.getOwnPropertySymbols,Tr=Object.prototype.hasOwnProperty,Sr=Object.prototype.propertyIsEnumerable,zt=(n,e,t)=>e in n?Cr(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,q=(n,e)=>{for(var t in e||(e={}))Tr.call(e,t)&&zt(n,t,e[t]);if(At)for(var t of At(e))Sr.call(e,t)&&zt(n,t,e[t]);return n},De=(n,e)=>Rr(n,_r(e));class Nt extends ti{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.subscriptions=new Map,this.topicMap=new Ir,this.events=new U,this.name=mt,this.version=bt,this.pending=new Map,this.cached=[],this.initialized=!1,this.pendingSubscriptionWatchLabel=\"pending_sub_watch_label\",this.pollingInterval=20,this.storagePrefix=O,this.subscribeTimeout=1e4,this.restartInProgress=!1,this.batchSubscribeTopicsLimit=500,this.init=async()=>{this.initialized||(this.logger.trace(\"Initialized\"),this.registerEventListeners(),this.clientId=await this.relayer.core.crypto.getClientId())},this.subscribe=async(i,s)=>{await this.restartToComplete(),this.isInitialized(),this.logger.debug(\"Subscribing Topic\"),this.logger.trace({type:\"method\",method:\"subscribe\",params:{topic:i,opts:s}});try{const r=re(s),o={topic:i,relay:r};this.pending.set(i,o);const a=await this.rpcSubscribe(i,r);return this.onSubscribe(a,o),this.logger.debug(\"Successfully Subscribed Topic\"),this.logger.trace({type:\"method\",method:\"subscribe\",params:{topic:i,opts:s}}),a}catch(r){throw this.logger.debug(\"Failed to Subscribe Topic\"),this.logger.error(r),r}},this.unsubscribe=async(i,s)=>{await this.restartToComplete(),this.isInitialized(),typeof s?.id<\"u\"?await this.unsubscribeById(i,s.id,s):await this.unsubscribeByTopic(i,s)},this.isSubscribed=async i=>{if(this.topics.includes(i))return!0;const s=`${this.pendingSubscriptionWatchLabel}_${i}`;return await new Promise((r,o)=>{const a=new ki;a.start(s);const h=setInterval(()=>{!this.pending.has(i)&&this.topics.includes(i)&&(clearInterval(h),a.stop(s),r(!0)),a.elapsed(s)>=ft&&(clearInterval(h),a.stop(s),o(new Error(\"Subscription resolution timeout\")))},this.pollingInterval)}).catch(()=>!1)},this.on=(i,s)=>{this.events.on(i,s)},this.once=(i,s)=>{this.events.once(i,s)},this.off=(i,s)=>{this.events.off(i,s)},this.removeListener=(i,s)=>{this.events.removeListener(i,s)},this.restart=async()=>{this.restartInProgress=!0,await this.restore(),await this.reset(),this.restartInProgress=!1},this.relayer=e,this.logger=b(t,this.name),this.clientId=\"\"}get context(){return E(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.relayer.core.customStoragePrefix+\"//\"+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}hasSubscription(e,t){let i=!1;try{i=this.getSubscription(e).topic===t}catch{}return i}onEnable(){this.cached=[],this.initialized=!0}onDisable(){this.cached=this.values,this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){const i=this.topicMap.get(e);await Promise.all(i.map(async s=>await this.unsubscribeById(e,s,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{const s=re(i);await this.rpcUnsubscribe(e,t,s);const r=K(\"USER_DISCONNECTED\",`${this.name}, ${e}`);await this.onUnsubscribe(e,t,r),this.logger.debug(\"Successfully Unsubscribed Topic\"),this.logger.trace({type:\"method\",method:\"unsubscribe\",params:{topic:e,id:t,opts:i}})}catch(s){throw this.logger.debug(\"Failed to Unsubscribe Topic\"),this.logger.error(s),s}}async rpcSubscribe(e,t){const i={method:H(t.protocol).subscribe,params:{topic:e}};this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:i});try{await await k(this.relayer.request(i),this.subscribeTimeout)}catch{this.logger.debug(\"Outgoing Relay Subscribe Payload stalled\"),this.relayer.events.emit(D.connection_stalled)}return se(e+this.clientId)}async rpcBatchSubscribe(e){if(!e.length)return;const t=e[0].relay,i={method:H(t.protocol).batchSubscribe,params:{topics:e.map(s=>s.topic)}};this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:i});try{return await await k(this.relayer.request(i),this.subscribeTimeout)}catch{this.logger.debug(\"Outgoing Relay Payload stalled\"),this.relayer.events.emit(D.connection_stalled)}}rpcUnsubscribe(e,t,i){const s={method:H(i.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:s}),this.relayer.request(s)}onSubscribe(e,t){this.setSubscription(e,De(q({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(t=>{this.setSubscription(t.id,q({},t)),this.pending.delete(t.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.subscriptions.has(e)||(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,q({},t)),this.topicMap.set(t.topic,e),this.events.emit(w.created,t)}getSubscription(e){this.logger.debug(\"Getting subscription\"),this.logger.trace({type:\"method\",method:\"getSubscription\",id:e});const t=this.subscriptions.get(e);if(!t){const{message:i}=c(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw new Error(i)}return t}deleteSubscription(e,t){this.logger.debug(\"Deleting subscription\"),this.logger.trace({type:\"method\",method:\"deleteSubscription\",id:e,reason:t});const i=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(i.topic,e),this.events.emit(w.deleted,De(q({},i),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(w.sync)}async reset(){if(this.cached.length){const e=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let t=0;t\"u\"||!e.length)return;if(this.subscriptions.size){const{message:t}=c(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(t)}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){if(!e.length)return;const t=await this.rpcBatchSubscribe(e);Ei(t)&&this.onBatchSubscribe(t.map((i,s)=>De(q({},e[s]),{id:i})))}async onConnect(){this.restartInProgress||(await this.restart(),this.onEnable())}onDisconnect(){this.onDisable()}async checkPending(){if(!this.initialized||this.relayer.transportExplicitlyClosed)return;const e=[];this.pending.forEach(t=>{e.push(t)}),await this.batchSubscribe(e)}registerEventListeners(){this.relayer.core.heartbeat.on(G.pulse,async()=>{await this.checkPending()}),this.relayer.on(D.connect,async()=>{await this.onConnect()}),this.relayer.on(D.disconnect,()=>{this.onDisconnect()}),this.events.on(w.created,async e=>{const t=w.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),await this.persist()}),this.events.on(w.deleted,async e=>{const t=w.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),await this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}async restartToComplete(){this.restartInProgress&&await new Promise(e=>{const t=setInterval(()=>{this.restartInProgress||(clearInterval(t),e())},this.pollingInterval)})}}var Pr=Object.defineProperty,Ut=Object.getOwnPropertySymbols,xr=Object.prototype.hasOwnProperty,Or=Object.prototype.propertyIsEnumerable,Lt=(n,e,t)=>e in n?Pr(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,Ar=(n,e)=>{for(var t in e||(e={}))xr.call(e,t)&&Lt(n,t,e[t]);if(Ut)for(var t of Ut(e))Or.call(e,t)&&Lt(n,t,e[t]);return n};class $t extends ii{constructor(e){super(e),this.protocol=\"wc\",this.version=2,this.events=new U,this.name=ut,this.transportExplicitlyClosed=!1,this.initialized=!1,this.connectionAttemptInProgress=!1,this.connectionStatusPollingInterval=20,this.staleConnectionErrors=[\"socket hang up\",\"socket stalled\"],this.hasExperiencedNetworkDisruption=!1,this.requestsInFlight=new Map,this.request=async t=>{this.logger.debug(\"Publishing Request Payload\");const i=t.id,s=this.provider.request(t);this.requestsInFlight.set(i,{promise:s,request:t});try{return await this.toEstablishConnection(),await s}catch(r){throw this.logger.debug(\"Failed to Publish Request\"),this.logger.error(r),r}finally{this.requestsInFlight.delete(i)}},this.onPayloadHandler=t=>{this.onProviderPayload(t)},this.onConnectHandler=()=>{this.events.emit(D.connect)},this.onDisconnectHandler=()=>{this.onProviderDisconnect()},this.onProviderErrorHandler=t=>{this.logger.error(t),this.events.emit(D.error,t),this.logger.info(\"Fatal socket error received, closing transport\"),this.transportClose()},this.registerProviderListeners=()=>{this.provider.on(P.payload,this.onPayloadHandler),this.provider.on(P.connect,this.onConnectHandler),this.provider.on(P.disconnect,this.onDisconnectHandler),this.provider.on(P.error,this.onProviderErrorHandler)},this.core=e.core,this.logger=typeof e.logger<\"u\"&&typeof e.logger!=\"string\"?b(e.logger,this.name):ye(me({level:e.logger||ct})),this.messages=new Ot(this.logger,e.core),this.subscriber=new Nt(this,this.logger),this.publisher=new vr(this,this.logger),this.relayUrl=e?.relayUrl||ge,this.projectId=e.projectId,this.bundleId=wi(),this.provider={}}async init(){this.logger.trace(\"Initialized\"),this.registerEventListeners(),await this.createProvider(),await Promise.all([this.messages.init(),this.subscriber.init()]);try{await this.transportOpen()}catch{this.logger.warn(`Connection via ${this.relayUrl} failed, attempting to connect via failover domain ${pe}...`),await this.restartTransport(pe)}this.initialized=!0,setTimeout(async()=>{this.subscriber.topics.length===0&&(this.logger.info(\"No topics subscribed to after init, closing transport\"),await this.transportClose(),this.transportExplicitlyClosed=!1)},pt)}get context(){return E(this.logger)}get connected(){return this.provider.connection.connected}get connecting(){return this.provider.connection.connecting}async publish(e,t,i){this.isInitialized(),await this.publisher.publish(e,t,i),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now()})}async subscribe(e,t){var i;this.isInitialized();let s=((i=this.subscriber.topicMap.get(e))==null?void 0:i[0])||\"\";if(s)return s;let r;const o=a=>{a.topic===e&&(this.subscriber.off(w.created,o),r())};return await Promise.all([new Promise(a=>{r=a,this.subscriber.on(w.created,o)}),new Promise(async a=>{s=await this.subscriber.subscribe(e,t),a()})]),s}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 transportClose(){this.requestsInFlight.size>0&&(this.logger.debug(\"Waiting for all in-flight requests to finish before closing transport...\"),this.requestsInFlight.forEach(async e=>{await e.promise})),this.transportExplicitlyClosed=!0,this.hasExperiencedNetworkDisruption&&this.connected?await k(this.provider.disconnect(),1e3,\"provider.disconnect()\").catch(()=>this.onProviderDisconnect()):this.connected&&await this.provider.disconnect()}async transportOpen(e){if(this.transportExplicitlyClosed=!1,await this.confirmOnlineStateOrThrow(),!this.connectionAttemptInProgress){e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportClose(),await this.createProvider()),this.connectionAttemptInProgress=!0;try{await Promise.all([new Promise(t=>{if(!this.initialized)return t();this.subscriber.once(w.resubscribed,()=>{t()})}),new Promise(async(t,i)=>{try{await k(this.provider.connect(),1e4,`Socket stalled when trying to connect to ${this.relayUrl}`)}catch(s){i(s);return}t()})])}catch(t){this.logger.error(t);const i=t;if(!this.isConnectionStalled(i.message))throw t;this.provider.events.emit(P.disconnect)}finally{this.connectionAttemptInProgress=!1,this.hasExperiencedNetworkDisruption=!1}}}async restartTransport(e){await this.confirmOnlineStateOrThrow(),!this.connectionAttemptInProgress&&(this.relayUrl=e||this.relayUrl,await this.transportClose(),await this.createProvider(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await ve())throw new Error(\"No internet connection detected. Please restart your network and try again.\")}isConnectionStalled(e){return this.staleConnectionErrors.some(t=>e.includes(t))}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new Ki(new ji(vi({sdkVersion:gt,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId}))),this.registerProviderListeners()}async recordMessageEvent(e){const{topic:t,message:i}=e;await this.messages.set(t,i)}async shouldIgnoreMessageEvent(e){const{topic:t,message:i}=e;if(!i||i.length===0)return this.logger.debug(`Ignoring invalid/empty message: ${i}`),!0;if(!await this.subscriber.isSubscribed(t))return this.logger.debug(`Ignoring message for non-subscribed topic ${t}`),!0;const s=this.messages.has(t,i);return s&&this.logger.debug(`Ignoring duplicate message: ${i}`),s}async onProviderPayload(e){if(this.logger.debug(\"Incoming Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"incoming\",payload:e}),Pe(e)){if(!e.method.endsWith(lt))return;const t=e.params,{topic:i,message:s,publishedAt:r}=t.data,o={topic:i,message:s,publishedAt:r};this.logger.debug(\"Emitting Relayer Payload\"),this.logger.trace(Ar({type:\"event\",event:t.id},o)),this.events.emit(t.id,o),await this.acknowledgePayload(e),await this.onMessageEvent(o)}else xe(e)&&this.events.emit(D.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(this.events.emit(D.message,e),await this.recordMessageEvent(e))}async acknowledgePayload(e){const t=Oe(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(P.payload,this.onPayloadHandler),this.provider.off(P.connect,this.onConnectHandler),this.provider.off(P.disconnect,this.onDisconnectHandler),this.provider.off(P.error,this.onProviderErrorHandler)}async registerEventListeners(){this.events.on(D.connection_stalled,()=>{this.restartTransport().catch(t=>this.logger.error(t))});let e=await ve();Ii(async t=>{this.initialized&&e!==t&&(e=t,t?await this.restartTransport().catch(i=>this.logger.error(i)):(this.hasExperiencedNetworkDisruption=!0,await this.transportClose().catch(i=>this.logger.error(i))))})}onProviderDisconnect(){this.events.emit(D.disconnect),this.attemptToReconnect()}attemptToReconnect(){this.transportExplicitlyClosed||(this.logger.info(\"attemptToReconnect called. Connecting...\"),setTimeout(async()=>{await this.restartTransport().catch(e=>this.logger.error(e))},N(dt)))}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}async toEstablishConnection(){if(await this.confirmOnlineStateOrThrow(),!this.connected){if(this.connectionAttemptInProgress)return await new Promise(e=>{const t=setInterval(()=>{this.connected&&(clearInterval(t),e())},this.connectionStatusPollingInterval)});await this.restartTransport()}}}var zr=Object.defineProperty,Ft=Object.getOwnPropertySymbols,Nr=Object.prototype.hasOwnProperty,Ur=Object.prototype.propertyIsEnumerable,Mt=(n,e,t)=>e in n?zr(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,kt=(n,e)=>{for(var t in e||(e={}))Nr.call(e,t)&&Mt(n,t,e[t]);if(Ft)for(var t of Ft(e))Ur.call(e,t)&&Mt(n,t,e[t]);return n};class Kt extends si{constructor(e,t,i,s=O,r=void 0){super(e,t,i,s),this.core=e,this.logger=t,this.name=i,this.map=new Map,this.version=Dt,this.cached=[],this.initialized=!1,this.storagePrefix=O,this.init=async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(o=>{this.getKey&&o!==null&&!ne(o)?this.map.set(this.getKey(o),o):Ci(o)?this.map.set(o.id,o):Ri(o)&&this.map.set(o.topic,o)}),this.cached=[],this.initialized=!0)},this.set=async(o,a)=>{this.isInitialized(),this.map.has(o)?await this.update(o,a):(this.logger.debug(\"Setting value\"),this.logger.trace({type:\"method\",method:\"set\",key:o,value:a}),this.map.set(o,a),await this.persist())},this.get=o=>(this.isInitialized(),this.logger.debug(\"Getting value\"),this.logger.trace({type:\"method\",method:\"get\",key:o}),this.getData(o)),this.getAll=o=>(this.isInitialized(),o?this.values.filter(a=>Object.keys(o).every(h=>Gi(a[h],o[h]))):this.values),this.update=async(o,a)=>{this.isInitialized(),this.logger.debug(\"Updating value\"),this.logger.trace({type:\"method\",method:\"update\",key:o,update:a});const h=kt(kt({},this.getData(o)),a);this.map.set(o,h),await this.persist()},this.delete=async(o,a)=>{this.isInitialized(),this.map.has(o)&&(this.logger.debug(\"Deleting value\"),this.logger.trace({type:\"method\",method:\"delete\",key:o,reason:a}),this.map.delete(o),await this.persist())},this.logger=b(t,this.name),this.storagePrefix=s,this.getKey=r}get context(){return E(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){const t=this.map.get(e);if(!t){const{message:i}=c(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{const e=await this.getDataStore();if(typeof e>\"u\"||!e.length)return;if(this.map.size){const{message:t}=c(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}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){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class Bt{constructor(e,t){this.core=e,this.logger=t,this.name=Et,this.version=wt,this.events=new Xt,this.initialized=!1,this.storagePrefix=O,this.ignoredPayloadTypes=[_i],this.registeredMethods=[],this.init=async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace(\"Initialized\"))},this.register=({methods:i})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...i])]},this.create=async()=>{this.isInitialized();const i=ie(),s=await this.core.crypto.setSymKey(i),r=J(Se),o={protocol:ht},a={topic:s,expiry:r,relay:o,active:!1},h=Ti({protocol:this.core.protocol,version:this.core.version,topic:s,symKey:i,relay:o,expiryTimestamp:r});return await this.pairings.set(s,a),await this.core.relayer.subscribe(s),this.core.expirer.set(s,r),{topic:s,uri:h}},this.pair=async i=>{this.isInitialized(),this.isValidPair(i);const{topic:s,symKey:r,relay:o,expiryTimestamp:a}=Ie(i.uri);let h;if(this.pairings.keys.includes(s)&&(h=this.pairings.get(s),h.active))throw new Error(`Pairing already exists: ${s}. Please try again with a new connection URI.`);const l=a||J(Se),d={topic:s,relay:o,expiry:l,active:!1};return await this.pairings.set(s,d),this.core.expirer.set(s,l),i.activatePairing&&await this.activate({topic:s}),this.events.emit(V.create,d),this.core.crypto.keychain.has(s)||(await this.core.crypto.setSymKey(r,s),await this.core.relayer.subscribe(s,{relay:o})),d},this.activate=async({topic:i})=>{this.isInitialized();const s=J(X);await this.pairings.update(i,{active:!0,expiry:s}),this.core.expirer.set(i,s)},this.ping=async i=>{this.isInitialized(),await this.isValidPing(i);const{topic:s}=i;if(this.pairings.keys.includes(s)){const r=await this.sendRequest(s,\"wc_pairingPing\",{}),{done:o,resolve:a,reject:h}=Si();this.events.once(oe(\"pairing_ping\",r),({error:l})=>{l?h(l):a()}),await o()}},this.updateExpiry=async({topic:i,expiry:s})=>{this.isInitialized(),await this.pairings.update(i,{expiry:s})},this.updateMetadata=async({topic:i,metadata:s})=>{this.isInitialized(),await this.pairings.update(i,{peerMetadata:s})},this.getPairings=()=>(this.isInitialized(),this.pairings.values),this.disconnect=async i=>{this.isInitialized(),await this.isValidDisconnect(i);const{topic:s}=i;this.pairings.keys.includes(s)&&(await this.sendRequest(s,\"wc_pairingDelete\",K(\"USER_DISCONNECTED\")),await this.deletePairing(s))},this.sendRequest=async(i,s,r)=>{const o=Ae(s,r),a=await this.core.crypto.encode(i,o),h=$[s].req;return this.core.history.set(i,o),this.core.relayer.publish(i,a,h),o.id},this.sendResult=async(i,s,r)=>{const o=Oe(i,r),a=await this.core.crypto.encode(s,o),h=await this.core.history.get(s,i),l=$[h.request.method].res;await this.core.relayer.publish(s,a,l),await this.core.history.resolve(o)},this.sendError=async(i,s,r)=>{const o=Vi(i,r),a=await this.core.crypto.encode(s,o),h=await this.core.history.get(s,i),l=$[h.request.method]?$[h.request.method].res:$.unregistered_method.res;await this.core.relayer.publish(s,a,l),await this.core.history.resolve(o)},this.deletePairing=async(i,s)=>{await this.core.relayer.unsubscribe(i),await Promise.all([this.pairings.delete(i,K(\"USER_DISCONNECTED\")),this.core.crypto.deleteSymKey(i),s?Promise.resolve():this.core.expirer.del(i)])},this.cleanup=async()=>{const i=this.pairings.getAll().filter(s=>Ce(s.expiry));await Promise.all(i.map(s=>this.deletePairing(s.topic)))},this.onRelayEventRequest=i=>{const{topic:s,payload:r}=i;switch(r.method){case\"wc_pairingPing\":return this.onPairingPingRequest(s,r);case\"wc_pairingDelete\":return this.onPairingDeleteRequest(s,r);default:return this.onUnknownRpcMethodRequest(s,r)}},this.onRelayEventResponse=async i=>{const{topic:s,payload:r}=i,o=(await this.core.history.get(s,r.id)).request.method;switch(o){case\"wc_pairingPing\":return this.onPairingPingResponse(s,r);default:return this.onUnknownRpcMethodResponse(o)}},this.onPairingPingRequest=async(i,s)=>{const{id:r}=s;try{this.isValidPing({topic:i}),await this.sendResult(r,i,!0),this.events.emit(V.ping,{id:r,topic:i})}catch(o){await this.sendError(r,i,o),this.logger.error(o)}},this.onPairingPingResponse=(i,s)=>{const{id:r}=s;setTimeout(()=>{qi(s)?this.events.emit(oe(\"pairing_ping\",r),{}):ze(s)&&this.events.emit(oe(\"pairing_ping\",r),{error:s.error})},500)},this.onPairingDeleteRequest=async(i,s)=>{const{id:r}=s;try{this.isValidDisconnect({topic:i}),await this.deletePairing(i),this.events.emit(V.delete,{id:r,topic:i})}catch(o){await this.sendError(r,i,o),this.logger.error(o)}},this.onUnknownRpcMethodRequest=async(i,s)=>{const{id:r,method:o}=s;try{if(this.registeredMethods.includes(o))return;const a=K(\"WC_METHOD_UNSUPPORTED\",o);await this.sendError(r,i,a),this.logger.error(a)}catch(a){await this.sendError(r,i,a),this.logger.error(a)}},this.onUnknownRpcMethodResponse=i=>{this.registeredMethods.includes(i)||this.logger.error(K(\"WC_METHOD_UNSUPPORTED\",i))},this.isValidPair=i=>{var s;if(!ae(i)){const{message:o}=c(\"MISSING_OR_INVALID\",`pair() params: ${i}`);throw new Error(o)}if(!Pi(i.uri)){const{message:o}=c(\"MISSING_OR_INVALID\",`pair() uri: ${i.uri}`);throw new Error(o)}const r=Ie(i.uri);if(!((s=r?.relay)!=null&&s.protocol)){const{message:o}=c(\"MISSING_OR_INVALID\",\"pair() uri#relay-protocol\");throw new Error(o)}if(!(r!=null&&r.symKey)){const{message:o}=c(\"MISSING_OR_INVALID\",\"pair() uri#symKey\");throw new Error(o)}if(r!=null&&r.expiryTimestamp&&N(r?.expiryTimestamp){if(!ae(i)){const{message:r}=c(\"MISSING_OR_INVALID\",`ping() params: ${i}`);throw new Error(r)}const{topic:s}=i;await this.isValidPairingTopic(s)},this.isValidDisconnect=async i=>{if(!ae(i)){const{message:r}=c(\"MISSING_OR_INVALID\",`disconnect() params: ${i}`);throw new Error(r)}const{topic:s}=i;await this.isValidPairingTopic(s)},this.isValidPairingTopic=async i=>{if(!xi(i,!1)){const{message:s}=c(\"MISSING_OR_INVALID\",`pairing topic should be a string: ${i}`);throw new Error(s)}if(!this.pairings.keys.includes(i)){const{message:s}=c(\"NO_MATCHING_KEY\",`pairing topic doesn't exist: ${i}`);throw new Error(s)}if(Ce(this.pairings.get(i).expiry)){await this.deletePairing(i);const{message:s}=c(\"EXPIRED\",`pairing topic: ${i}`);throw new Error(s)}},this.core=e,this.logger=b(t,this.name),this.pairings=new Kt(this.core,this.logger,this.name,this.storagePrefix)}get context(){return E(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(D.message,async e=>{const{topic:t,message:i}=e;if(!this.pairings.keys.includes(t)||this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(i)))return;const s=await this.core.crypto.decode(t,i);try{Pe(s)?(this.core.history.set(t,s),this.onRelayEventRequest({topic:t,payload:s})):xe(s)&&(await this.core.history.resolve(s),await this.onRelayEventResponse({topic:t,payload:s}),this.core.history.delete(t,s.id))}catch(r){this.logger.error(r)}})}registerExpirerEvents(){this.core.expirer.on(v.expired,async e=>{const{topic:t}=Oi(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(V.expire,{topic:t}))})}}class Vt extends ri{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.records=new Map,this.events=new U,this.name=vt,this.version=It,this.cached=[],this.initialized=!1,this.storagePrefix=O,this.init=async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(i=>this.records.set(i.id,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.set=(i,s,r)=>{if(this.isInitialized(),this.logger.debug(\"Setting JSON-RPC request history record\"),this.logger.trace({type:\"method\",method:\"set\",topic:i,request:s,chainId:r}),this.records.has(s.id))return;const o={id:s.id,topic:i,request:{method:s.method,params:s.params||null},chainId:r,expiry:J(X)};this.records.set(o.id,o),this.events.emit(R.created,o)},this.resolve=async i=>{if(this.isInitialized(),this.logger.debug(\"Updating JSON-RPC response history record\"),this.logger.trace({type:\"method\",method:\"update\",response:i}),!this.records.has(i.id))return;const s=await this.getRecord(i.id);typeof s.response>\"u\"&&(s.response=ze(i)?{error:i.error}:{result:i.result},this.records.set(s.id,s),this.events.emit(R.updated,s))},this.get=async(i,s)=>(this.isInitialized(),this.logger.debug(\"Getting record\"),this.logger.trace({type:\"method\",method:\"get\",topic:i,id:s}),await this.getRecord(s)),this.delete=(i,s)=>{this.isInitialized(),this.logger.debug(\"Deleting record\"),this.logger.trace({type:\"method\",method:\"delete\",id:s}),this.values.forEach(r=>{if(r.topic===i){if(typeof s<\"u\"&&r.id!==s)return;this.records.delete(r.id),this.events.emit(R.deleted,r)}})},this.exists=async(i,s)=>(this.isInitialized(),this.records.has(s)?(await this.getRecord(s)).topic===i:!1),this.on=(i,s)=>{this.events.on(i,s)},this.once=(i,s)=>{this.events.once(i,s)},this.off=(i,s)=>{this.events.off(i,s)},this.removeListener=(i,s)=>{this.events.removeListener(i,s)},this.logger=b(t,this.name)}get context(){return E(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){const e=[];return this.values.forEach(t=>{if(typeof t.response<\"u\")return;const i={topic:t.topic,request:Ae(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();const t=this.records.get(e);if(!t){const{message:i}=c(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw new Error(i)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(R.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>\"u\"||!e.length)return;if(this.records.size){const{message:t}=c(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}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(R.created,e=>{const t=R.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e}),this.persist()}),this.events.on(R.updated,e=>{const t=R.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e}),this.persist()}),this.events.on(R.deleted,e=>{const t=R.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e}),this.persist()}),this.core.heartbeat.on(G.pulse,()=>{this.cleanup()})}cleanup(){try{this.records.forEach(e=>{N(e.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${e.id}`),this.delete(e.topic,e.id))})}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class qt extends ni{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.expirations=new Map,this.events=new U,this.name=Ct,this.version=Rt,this.cached=[],this.initialized=!1,this.storagePrefix=O,this.init=async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(i=>this.expirations.set(i.target,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.has=i=>{try{const s=this.formatTarget(i);return typeof this.getExpiration(s)<\"u\"}catch{return!1}},this.set=(i,s)=>{this.isInitialized();const r=this.formatTarget(i),o={target:r,expiry:s};this.expirations.set(r,o),this.checkExpiry(r,o),this.events.emit(v.created,{target:r,expiration:o})},this.get=i=>{this.isInitialized();const s=this.formatTarget(i);return this.getExpiration(s)},this.del=i=>{if(this.isInitialized(),this.has(i)){const s=this.formatTarget(i),r=this.getExpiration(s);this.expirations.delete(s),this.events.emit(v.deleted,{target:s,expiration:r})}},this.on=(i,s)=>{this.events.on(i,s)},this.once=(i,s)=>{this.events.once(i,s)},this.off=(i,s)=>{this.events.off(i,s)},this.removeListener=(i,s)=>{this.events.removeListener(i,s)},this.logger=b(t,this.name)}get context(){return E(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(typeof e==\"string\")return Ai(e);if(typeof e==\"number\")return zi(e);const{message:t}=c(\"UNKNOWN_TYPE\",`Target type: ${typeof e}`);throw new 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(v.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>\"u\"||!e.length)return;if(this.expirations.size){const{message:t}=c(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}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){const t=this.expirations.get(e);if(!t){const{message:i}=c(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}return t}checkExpiry(e,t){const{expiry:i}=t;N(i)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(v.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(G.pulse,()=>this.checkExpirations()),this.events.on(v.created,e=>{const t=v.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()}),this.events.on(v.expired,e=>{const t=v.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()}),this.events.on(v.deleted,e=>{const t=v.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class jt extends oi{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,this.name=Z,this.initialized=!1,this.queue=[],this.verifyDisabled=!1,this.init=async i=>{if(this.verifyDisabled||Ni()||!Ui())return;const s=this.getVerifyUrl(i?.verifyUrl);this.verifyUrl!==s&&this.removeIframe(),this.verifyUrl=s;try{await this.createIframe()}catch(r){this.logger.info(`Verify iframe failed to load: ${this.verifyUrl}`),this.logger.info(r)}if(!this.initialized){this.removeIframe(),this.verifyUrl=ee;try{await this.createIframe()}catch(r){this.logger.info(`Verify iframe failed to load: ${this.verifyUrl}`),this.logger.info(r),this.verifyDisabled=!0}}},this.register=async i=>{this.initialized?this.sendPost(i.attestationId):(this.addToQueue(i.attestationId),await this.init())},this.resolve=async i=>{if(this.isDevEnv)return\"\";const s=this.getVerifyUrl(i?.verifyUrl);let r;try{r=await this.fetchAttestation(i.attestationId,s)}catch(o){this.logger.info(`failed to resolve attestation: ${i.attestationId} from url: ${s}`),this.logger.info(o),r=await this.fetchAttestation(i.attestationId,ee)}return r},this.fetchAttestation=async(i,s)=>{this.logger.info(`resolving attestation: ${i} from url: ${s}`);const r=this.startAbortTimer(Re*2),o=await fetch(`${s}/attestation/${i}`,{signal:this.abortController.signal});return clearTimeout(r),o.status===200?await o.json():void 0},this.addToQueue=i=>{this.queue.push(i)},this.processQueue=()=>{this.queue.length!==0&&(this.queue.forEach(i=>this.sendPost(i)),this.queue=[])},this.sendPost=i=>{var s;try{if(!this.iframe)return;(s=this.iframe.contentWindow)==null||s.postMessage(i,\"*\"),this.logger.info(`postMessage sent: ${i} ${this.verifyUrl}`)}catch{}},this.createIframe=async()=>{let i;const s=r=>{r.data===\"verify_ready\"&&(this.initialized=!0,this.processQueue(),window.removeEventListener(\"message\",s),i())};await Promise.race([new Promise(r=>{if(document.getElementById(Z))return r();window.addEventListener(\"message\",s);const o=document.createElement(\"iframe\");o.id=Z,o.src=`${this.verifyUrl}/${this.projectId}`,o.style.display=\"none\",document.body.append(o),this.iframe=o,i=r}),new Promise((r,o)=>setTimeout(()=>{window.removeEventListener(\"message\",s),o(\"verify iframe load timeout\")},N(_e)))])},this.removeIframe=()=>{this.iframe&&(this.iframe.remove(),this.iframe=void 0,this.initialized=!1)},this.getVerifyUrl=i=>{let s=i||F;return _t.includes(s)||(this.logger.info(`verify url: ${s}, not included in trusted list, assigning default: ${F}`),s=F),s},this.logger=b(t,this.name),this.verifyUrl=F,this.abortController=new AbortController,this.isDevEnv=Li()&&process.env.IS_VITEST}get context(){return E(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),N(e))}}class Gt extends ai{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,this.context=Tt,this.registerDeviceToken=async i=>{const{clientId:s,token:r,notificationType:o,enableEncrypted:a=!1}=i,h=`${St}/${this.projectId}/clients`;await Yi(h,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({client_id:s,type:o,token:r,always_raw:a})})},this.logger=b(t,this.context)}}var Lr=Object.defineProperty,Yt=Object.getOwnPropertySymbols,$r=Object.prototype.hasOwnProperty,Fr=Object.prototype.propertyIsEnumerable,Ht=(n,e,t)=>e in n?Lr(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,Jt=(n,e)=>{for(var t in e||(e={}))$r.call(e,t)&&Ht(n,t,e[t]);if(Yt)for(var t of Yt(e))Fr.call(e,t)&&Ht(n,t,e[t]);return n};class te extends hi{constructor(e){super(e),this.protocol=le,this.version=We,this.name=Q,this.events=new U,this.initialized=!1,this.on=(i,s)=>this.events.on(i,s),this.once=(i,s)=>this.events.once(i,s),this.off=(i,s)=>this.events.off(i,s),this.removeListener=(i,s)=>this.events.removeListener(i,s),this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||ge,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:\"\";const t=typeof e?.logger<\"u\"&&typeof e?.logger!=\"string\"?e.logger:ye(me({level:e?.logger||Qe.logger}));this.logger=b(t,this.name),this.heartbeat=new Qt,this.crypto=new xt(this,this.logger,e?.keychain),this.history=new Vt(this,this.logger),this.expirer=new qt(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new Wt(Jt(Jt({},Ze),e?.storageOptions)),this.relayer=new $t({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new Bt(this,this.logger),this.verify=new jt(this.projectId||\"\",this.logger),this.echoClient=new Gt(this.projectId||\"\",this.logger)}static async init(e){const t=new te(e);await t.initialize();const i=await t.crypto.getClientId();return await t.storage.setItem(yt,i),t}get context(){return E(this.logger)}async start(){this.initialized||await this.initialize()}async initialize(){this.logger.trace(\"Initialized\");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.initialized=!0,this.logger.info(\"Core Initialization Success\")}catch(e){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,e),this.logger.error(e.message),e}}}const Mr=te;export{Q as CORE_CONTEXT,Qe as CORE_DEFAULT,le as CORE_PROTOCOL,Ze as CORE_STORAGE_OPTIONS,O as CORE_STORAGE_PREFIX,We as CORE_VERSION,de as CRYPTO_CLIENT_SEED,et as CRYPTO_CONTEXT,tt as CRYPTO_JWT_TTL,Mr as Core,xt as Crypto,Tt as ECHO_CONTEXT,St as ECHO_URL,Ct as EXPIRER_CONTEXT,wr as EXPIRER_DEFAULT_TTL,v as EXPIRER_EVENTS,Rt as EXPIRER_STORAGE_VERSION,Gt as EchoClient,qt as Expirer,vt as HISTORY_CONTEXT,R as HISTORY_EVENTS,It as HISTORY_STORAGE_VERSION,Vt as JsonRpcHistory,it as KEYCHAIN_CONTEXT,st as KEYCHAIN_STORAGE_VERSION,Pt as KeyChain,rt as MESSAGES_CONTEXT,nt as MESSAGES_STORAGE_VERSION,Ot as MessageTracker,Et as PAIRING_CONTEXT,Er as PAIRING_DEFAULT_TTL,V as PAIRING_EVENTS,$ as PAIRING_RPC_OPTS,wt as PAIRING_STORAGE_VERSION,ft as PENDING_SUB_RESOLUTION_TIMEOUT,at as PUBLISHER_CONTEXT,ot as PUBLISHER_DEFAULT_TTL,Bt as Pairing,ut as RELAYER_CONTEXT,ct as RELAYER_DEFAULT_LOGGER,ht as RELAYER_DEFAULT_PROTOCOL,ge as RELAYER_DEFAULT_RELAY_URL,D as RELAYER_EVENTS,pe as RELAYER_FAILOVER_RELAY_URL,P as RELAYER_PROVIDER_EVENTS,dt as RELAYER_RECONNECT_TIMEOUT,gt as RELAYER_SDK_VERSION,br as RELAYER_STORAGE_OPTIONS,lt as RELAYER_SUBSCRIBER_SUFFIX,pt as RELAYER_TRANSPORT_CUTOFF,$t as Relayer,Dt as STORE_STORAGE_VERSION,mt as SUBSCRIBER_CONTEXT,fr as SUBSCRIBER_DEFAULT_TTL,w as SUBSCRIBER_EVENTS,bt as SUBSCRIBER_STORAGE_VERSION,Kt as Store,Nt as Subscriber,_t as TRUSTED_VERIFY_URLS,Z as VERIFY_CONTEXT,ee as VERIFY_FALLBACK_SERVER,F as VERIFY_SERVER,jt as Verify,yt as WALLETCONNECT_CLIENT_ID,te as default};\n//# sourceMappingURL=index.es.js.map\n","import{RELAYER_DEFAULT_PROTOCOL as me,RELAYER_EVENTS as Z,VERIFY_SERVER as ye,EXPIRER_EVENTS as Se,PAIRING_EVENTS as Ee,Store as K,Core as Re}from\"@walletconnect/core\";import{pino as Ie,getDefaultLoggerOptions as _e,generateChildLogger as qe,getLoggerContext as Ne}from\"@walletconnect/logger\";import{IEngine as fe,ISignClient as Pe}from\"@walletconnect/types\";import{TYPE_1 as ve,calcExpiry as q,createDelayedPromise as C,engineEvent as u,getInternalError as l,getSdkError as S,getDeepLink as Oe,handleDeeplinkRedirect as Te,isSessionCompatible as Ve,isBrowser as xe,hashMessage as z,isExpired as V,MemoryStore as $,isValidParams as y,isUndefined as A,isValidRelays as De,isValidObject as ee,isValidRequiredNamespaces as Ce,isValidNamespaces as Y,isConformingNamespaces as se,isValidString as b,isValidErrorReason as Ae,isValidRelay as be,isValidController as Le,isValidNamespacesChainId as te,isValidRequest as $e,isValidNamespacesRequest as Ge,isValidRequestExpiry as Me,isValidResponse as Ue,isValidEvent as Qe,isValidNamespacesEvent as ke,parseExpirerTarget as Ke,isValidId as ze,getAppMetadata as Ye}from\"@walletconnect/utils\";import je,{EventEmitter as Je}from\"events\";import{THIRTY_DAYS as Fe,SEVEN_DAYS as ie,FIVE_MINUTES as E,ONE_DAY as x,THIRTY_SECONDS as re,ONE_SECOND as Xe,toMiliseconds as ne}from\"@walletconnect/time\";import{payloadId as He,isJsonRpcResult as P,isJsonRpcError as v,formatJsonRpcRequest as j,formatJsonRpcResult as We,formatJsonRpcError as Be,isJsonRpcRequest as Ze,isJsonRpcResponse as es}from\"@walletconnect/jsonrpc-utils\";const J=\"wc\",F=2,X=\"client\",G=`${J}@${F}:${X}:`,M={name:X,logger:\"error\",controller:!1,relayUrl:\"wss://relay.walletconnect.com\"},ss={session_proposal:\"session_proposal\",session_update:\"session_update\",session_extend:\"session_extend\",session_ping:\"session_ping\",session_delete:\"session_delete\",session_expire:\"session_expire\",session_request:\"session_request\",session_request_sent:\"session_request_sent\",session_event:\"session_event\",proposal_expire:\"proposal_expire\",session_request_expire:\"session_request_expire\"},ts={database:\":memory:\"},H=\"WALLETCONNECT_DEEPLINK_CHOICE\",is={created:\"history_created\",updated:\"history_updated\",deleted:\"history_deleted\",sync:\"history_sync\"},rs=\"history\",ns=\"0.3\",oe=\"proposal\",os=Fe,ae=\"Proposal expired\",ce=\"session\",L=ie,le=\"engine\",R={wc_sessionPropose:{req:{ttl:E,prompt:!0,tag:1100},res:{ttl:E,prompt:!1,tag:1101}},wc_sessionSettle:{req:{ttl:E,prompt:!1,tag:1102},res:{ttl:E,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:x,prompt:!1,tag:1104},res:{ttl:x,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:x,prompt:!1,tag:1106},res:{ttl:x,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:E,prompt:!0,tag:1108},res:{ttl:E,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:E,prompt:!0,tag:1110},res:{ttl:E,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:x,prompt:!1,tag:1112},res:{ttl:x,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:re,prompt:!1,tag:1114},res:{ttl:re,prompt:!1,tag:1115}}},U={min:E,max:ie},I={idle:\"IDLE\",active:\"ACTIVE\"},pe=\"request\",he=[\"wc_sessionPropose\",\"wc_sessionRequest\",\"wc_authRequest\"];var as=Object.defineProperty,cs=Object.defineProperties,ls=Object.getOwnPropertyDescriptors,de=Object.getOwnPropertySymbols,ps=Object.prototype.hasOwnProperty,hs=Object.prototype.propertyIsEnumerable,ue=(w,r,e)=>r in w?as(w,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):w[r]=e,g=(w,r)=>{for(var e in r||(r={}))ps.call(r,e)&&ue(w,e,r[e]);if(de)for(var e of de(r))hs.call(r,e)&&ue(w,e,r[e]);return w},D=(w,r)=>cs(w,ls(r));class ds extends fe{constructor(r){super(r),this.name=le,this.events=new je,this.initialized=!1,this.ignoredPayloadTypes=[ve],this.requestQueue={state:I.idle,queue:[]},this.sessionRequestQueue={state:I.idle,queue:[]},this.requestQueueDelay=Xe,this.init=async()=>{this.initialized||(await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.registerPairingEvents(),this.client.core.pairing.register({methods:Object.keys(R)}),this.initialized=!0,setTimeout(()=>{this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},ne(this.requestQueueDelay)))},this.connect=async e=>{await this.isInitialized();const s=D(g({},e),{requiredNamespaces:e.requiredNamespaces||{},optionalNamespaces:e.optionalNamespaces||{}});await this.isValidConnect(s);const{pairingTopic:t,requiredNamespaces:i,optionalNamespaces:n,sessionProperties:o,relays:a}=s;let c=t,p,d=!1;if(c&&(d=this.client.core.pairing.pairings.get(c).active),!c||!d){const{topic:T,uri:_}=await this.client.core.pairing.create();c=T,p=_}const h=await this.client.core.crypto.generateKeyPair(),N=R.wc_sessionPropose.req.ttl||E,m=q(N),f=g({requiredNamespaces:i,optionalNamespaces:n,relays:a??[{protocol:me}],proposer:{publicKey:h,metadata:this.client.metadata},expiryTimestamp:m},o&&{sessionProperties:o}),{reject:k,resolve:O,done:we}=C(N,ae);if(this.events.once(u(\"session_connect\"),async({error:T,session:_})=>{if(T)k(T);else if(_){_.self.publicKey=h;const B=D(g({},_),{requiredNamespaces:f.requiredNamespaces,optionalNamespaces:f.optionalNamespaces});await this.client.session.set(_.topic,B),await this.setExpiry(_.topic,_.expiry),c&&await this.client.core.pairing.updateMetadata({topic:c,metadata:_.peer.metadata}),O(B)}}),!c){const{message:T}=l(\"NO_MATCHING_KEY\",`connect() pairing topic: ${c}`);throw new Error(T)}const W=await this.sendRequest({topic:c,method:\"wc_sessionPropose\",params:f,throwOnFailedPublish:!0});return await this.setProposal(W,g({id:W},f)),{uri:p,approval:we}},this.pair=async e=>(await this.isInitialized(),await this.client.core.pairing.pair(e)),this.approve=async e=>{await this.isInitialized(),await this.isValidApprove(e);const{id:s,relayProtocol:t,namespaces:i,sessionProperties:n}=e,o=this.client.proposal.get(s);let{pairingTopic:a,proposer:c,requiredNamespaces:p,optionalNamespaces:d}=o;a=a||\"\";const h=await this.client.core.crypto.generateKeyPair(),N=c.publicKey,m=await this.client.core.crypto.generateSharedKey(h,N);a&&s&&(await this.client.core.pairing.updateMetadata({topic:a,metadata:c.metadata}),await this.sendResult({id:s,topic:a,result:{relay:{protocol:t??\"irn\"},responderPublicKey:h}}),await this.client.proposal.delete(s,S(\"USER_DISCONNECTED\")),await this.client.core.pairing.activate({topic:a}));const f=g({relay:{protocol:t??\"irn\"},namespaces:i,pairingTopic:a,controller:{publicKey:h,metadata:this.client.metadata},expiry:q(L)},n&&{sessionProperties:n});await this.client.core.relayer.subscribe(m);const k=D(g({},f),{topic:m,requiredNamespaces:p,optionalNamespaces:d,pairingTopic:a,acknowledged:!1,self:f.controller,peer:{publicKey:c.publicKey,metadata:c.metadata},controller:h});await this.client.session.set(m,k);try{await this.sendRequest({topic:m,method:\"wc_sessionSettle\",params:f,throwOnFailedPublish:!0})}catch(O){throw this.client.logger.error(O),this.client.session.delete(m,S(\"USER_DISCONNECTED\")),await this.client.core.relayer.unsubscribe(m),O}return await this.setExpiry(m,q(L)),{topic:m,acknowledged:()=>new Promise(O=>setTimeout(()=>O(this.client.session.get(m)),500))}},this.reject=async e=>{await this.isInitialized(),await this.isValidReject(e);const{id:s,reason:t}=e,{pairingTopic:i}=this.client.proposal.get(s);i&&(await this.sendError(s,i,t),await this.client.proposal.delete(s,S(\"USER_DISCONNECTED\")))},this.update=async e=>{await this.isInitialized(),await this.isValidUpdate(e);const{topic:s,namespaces:t}=e,i=await this.sendRequest({topic:s,method:\"wc_sessionUpdate\",params:{namespaces:t}}),{done:n,resolve:o,reject:a}=C();return this.events.once(u(\"session_update\",i),({error:c})=>{c?a(c):o()}),await this.client.session.update(s,{namespaces:t}),{acknowledged:n}},this.extend=async e=>{await this.isInitialized(),await this.isValidExtend(e);const{topic:s}=e,t=await this.sendRequest({topic:s,method:\"wc_sessionExtend\",params:{}}),{done:i,resolve:n,reject:o}=C();return this.events.once(u(\"session_extend\",t),({error:a})=>{a?o(a):n()}),await this.setExpiry(s,q(L)),{acknowledged:i}},this.request=async e=>{await this.isInitialized(),await this.isValidRequest(e);const{chainId:s,request:t,topic:i,expiry:n=R.wc_sessionRequest.req.ttl}=e,o=He(),{done:a,resolve:c,reject:p}=C(n,\"Request expired. Please try again.\");return this.events.once(u(\"session_request\",o),({error:d,result:h})=>{d?p(d):c(h)}),await Promise.all([new Promise(async d=>{await this.sendRequest({clientRpcId:o,topic:i,method:\"wc_sessionRequest\",params:{request:D(g({},t),{expiryTimestamp:q(n)}),chainId:s},expiry:n,throwOnFailedPublish:!0}).catch(h=>p(h)),this.client.events.emit(\"session_request_sent\",{topic:i,request:t,chainId:s,id:o}),d()}),new Promise(async d=>{const h=await Oe(this.client.core.storage,H);Te({id:o,topic:i,wcDeepLink:h}),d()}),a()]).then(d=>d[2])},this.respond=async e=>{await this.isInitialized(),await this.isValidRespond(e);const{topic:s,response:t}=e,{id:i}=t;P(t)?await this.sendResult({id:i,topic:s,result:t.result,throwOnFailedPublish:!0}):v(t)&&await this.sendError(i,s,t.error),this.cleanupAfterResponse(e)},this.ping=async e=>{await this.isInitialized(),await this.isValidPing(e);const{topic:s}=e;if(this.client.session.keys.includes(s)){const t=await this.sendRequest({topic:s,method:\"wc_sessionPing\",params:{}}),{done:i,resolve:n,reject:o}=C();this.events.once(u(\"session_ping\",t),({error:a})=>{a?o(a):n()}),await i()}else this.client.core.pairing.pairings.keys.includes(s)&&await this.client.core.pairing.ping({topic:s})},this.emit=async e=>{await this.isInitialized(),await this.isValidEmit(e);const{topic:s,event:t,chainId:i}=e;await this.sendRequest({topic:s,method:\"wc_sessionEvent\",params:{event:t,chainId:i}})},this.disconnect=async e=>{await this.isInitialized(),await this.isValidDisconnect(e);const{topic:s}=e;if(this.client.session.keys.includes(s))await this.sendRequest({topic:s,method:\"wc_sessionDelete\",params:S(\"USER_DISCONNECTED\"),throwOnFailedPublish:!0}),await this.deleteSession({topic:s,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(s))await this.client.core.pairing.disconnect({topic:s});else{const{message:t}=l(\"MISMATCHED_TOPIC\",`Session or pairing topic not found: ${s}`);throw new Error(t)}},this.find=e=>(this.isInitialized(),this.client.session.getAll().filter(s=>Ve(s,e))),this.getPendingSessionRequests=()=>this.client.pendingRequest.getAll(),this.cleanupDuplicatePairings=async e=>{if(e.pairingTopic)try{const s=this.client.core.pairing.pairings.get(e.pairingTopic),t=this.client.core.pairing.pairings.getAll().filter(i=>{var n,o;return((n=i.peerMetadata)==null?void 0:n.url)&&((o=i.peerMetadata)==null?void 0:o.url)===e.peer.metadata.url&&i.topic&&i.topic!==s.topic});if(t.length===0)return;this.client.logger.info(`Cleaning up ${t.length} duplicate pairing(s)`),await Promise.all(t.map(i=>this.client.core.pairing.disconnect({topic:i.topic}))),this.client.logger.info(\"Duplicate pairings clean up finished\")}catch(s){this.client.logger.error(s)}},this.deleteSession=async e=>{const{topic:s,expirerHasDeleted:t=!1,emitEvent:i=!0,id:n=0}=e,{self:o}=this.client.session.get(s);await this.client.core.relayer.unsubscribe(s),await this.client.session.delete(s,S(\"USER_DISCONNECTED\")),this.client.core.crypto.keychain.has(o.publicKey)&&await this.client.core.crypto.deleteKeyPair(o.publicKey),this.client.core.crypto.keychain.has(s)&&await this.client.core.crypto.deleteSymKey(s),t||this.client.core.expirer.del(s),this.client.core.storage.removeItem(H).catch(a=>this.client.logger.warn(a)),this.getPendingSessionRequests().forEach(a=>{a.topic===s&&this.deletePendingSessionRequest(a.id,S(\"USER_DISCONNECTED\"))}),i&&this.client.events.emit(\"session_delete\",{id:n,topic:s})},this.deleteProposal=async(e,s)=>{await Promise.all([this.client.proposal.delete(e,S(\"USER_DISCONNECTED\")),s?Promise.resolve():this.client.core.expirer.del(e)])},this.deletePendingSessionRequest=async(e,s,t=!1)=>{await Promise.all([this.client.pendingRequest.delete(e,s),t?Promise.resolve():this.client.core.expirer.del(e)]),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(i=>i.id!==e),t&&(this.sessionRequestQueue.state=I.idle,this.client.events.emit(\"session_request_expire\",{id:e}))},this.setExpiry=async(e,s)=>{this.client.session.keys.includes(e)&&await this.client.session.update(e,{expiry:s}),this.client.core.expirer.set(e,s)},this.setProposal=async(e,s)=>{await this.client.proposal.set(e,s),this.client.core.expirer.set(e,q(R.wc_sessionPropose.req.ttl))},this.setPendingSessionRequest=async e=>{const{id:s,topic:t,params:i,verifyContext:n}=e,o=i.request.expiryTimestamp||q(R.wc_sessionRequest.req.ttl);await this.client.pendingRequest.set(s,{id:s,topic:t,params:i,verifyContext:n}),o&&this.client.core.expirer.set(s,o)},this.sendRequest=async e=>{const{topic:s,method:t,params:i,expiry:n,relayRpcId:o,clientRpcId:a,throwOnFailedPublish:c}=e,p=j(t,i,a);if(xe()&&he.includes(t)){const N=z(JSON.stringify(p));this.client.core.verify.register({attestationId:N})}const d=await this.client.core.crypto.encode(s,p),h=R[t].req;return n&&(h.ttl=n),o&&(h.id=o),this.client.core.history.set(s,p),c?(h.internal=D(g({},h.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(s,d,h)):this.client.core.relayer.publish(s,d,h).catch(N=>this.client.logger.error(N)),p.id},this.sendResult=async e=>{const{id:s,topic:t,result:i,throwOnFailedPublish:n}=e,o=We(s,i),a=await this.client.core.crypto.encode(t,o),c=await this.client.core.history.get(t,s),p=R[c.request.method].res;n?(p.internal=D(g({},p.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(t,a,p)):this.client.core.relayer.publish(t,a,p).catch(d=>this.client.logger.error(d)),await this.client.core.history.resolve(o)},this.sendError=async(e,s,t)=>{const i=Be(e,t),n=await this.client.core.crypto.encode(s,i),o=await this.client.core.history.get(s,e),a=R[o.request.method].res;this.client.core.relayer.publish(s,n,a),await this.client.core.history.resolve(i)},this.cleanup=async()=>{const e=[],s=[];this.client.session.getAll().forEach(t=>{let i=!1;V(t.expiry)&&(i=!0),this.client.core.crypto.keychain.has(t.topic)||(i=!0),i&&e.push(t.topic)}),this.client.proposal.getAll().forEach(t=>{V(t.expiryTimestamp)&&s.push(t.id)}),await Promise.all([...e.map(t=>this.deleteSession({topic:t})),...s.map(t=>this.deleteProposal(t))])},this.onRelayEventRequest=async e=>{this.requestQueue.queue.push(e),await this.processRequestsQueue()},this.processRequestsQueue=async()=>{if(this.requestQueue.state===I.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=I.active;const e=this.requestQueue.queue.shift();if(e)try{this.processRequest(e),await new Promise(s=>setTimeout(s,300))}catch(s){this.client.logger.warn(s)}}this.requestQueue.state=I.idle},this.processRequest=e=>{const{topic:s,payload:t}=e,i=t.method;switch(i){case\"wc_sessionPropose\":return this.onSessionProposeRequest(s,t);case\"wc_sessionSettle\":return this.onSessionSettleRequest(s,t);case\"wc_sessionUpdate\":return this.onSessionUpdateRequest(s,t);case\"wc_sessionExtend\":return this.onSessionExtendRequest(s,t);case\"wc_sessionPing\":return this.onSessionPingRequest(s,t);case\"wc_sessionDelete\":return this.onSessionDeleteRequest(s,t);case\"wc_sessionRequest\":return this.onSessionRequest(s,t);case\"wc_sessionEvent\":return this.onSessionEventRequest(s,t);default:return this.client.logger.info(`Unsupported request method ${i}`)}},this.onRelayEventResponse=async e=>{const{topic:s,payload:t}=e,i=(await this.client.core.history.get(s,t.id)).request.method;switch(i){case\"wc_sessionPropose\":return this.onSessionProposeResponse(s,t);case\"wc_sessionSettle\":return this.onSessionSettleResponse(s,t);case\"wc_sessionUpdate\":return this.onSessionUpdateResponse(s,t);case\"wc_sessionExtend\":return this.onSessionExtendResponse(s,t);case\"wc_sessionPing\":return this.onSessionPingResponse(s,t);case\"wc_sessionRequest\":return this.onSessionRequestResponse(s,t);default:return this.client.logger.info(`Unsupported response method ${i}`)}},this.onRelayEventUnknownPayload=e=>{const{topic:s}=e,{message:t}=l(\"MISSING_OR_INVALID\",`Decoded payload on topic ${s} is not identifiable as a JSON-RPC request or a response.`);throw new Error(t)},this.onSessionProposeRequest=async(e,s)=>{const{params:t,id:i}=s;try{this.isValidConnect(g({},s.params));const n=t.expiryTimestamp||q(R.wc_sessionPropose.req.ttl),o=g({id:i,pairingTopic:e,expiryTimestamp:n},t);await this.setProposal(i,o);const a=z(JSON.stringify(s)),c=await this.getVerifyContext(a,o.proposer.metadata);this.client.events.emit(\"session_proposal\",{id:i,params:o,verifyContext:c})}catch(n){await this.sendError(i,e,n),this.client.logger.error(n)}},this.onSessionProposeResponse=async(e,s)=>{const{id:t}=s;if(P(s)){const{result:i}=s;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",result:i});const n=this.client.proposal.get(t);this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",proposal:n});const o=n.proposer.publicKey;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",selfPublicKey:o});const a=i.responderPublicKey;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",peerPublicKey:a});const c=await this.client.core.crypto.generateSharedKey(o,a);this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",sessionTopic:c});const p=await this.client.core.relayer.subscribe(c);this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",subscriptionId:p}),await this.client.core.pairing.activate({topic:e})}else v(s)&&(await this.client.proposal.delete(t,S(\"USER_DISCONNECTED\")),this.events.emit(u(\"session_connect\"),{error:s.error}))},this.onSessionSettleRequest=async(e,s)=>{const{id:t,params:i}=s;try{this.isValidSessionSettleRequest(i);const{relay:n,controller:o,expiry:a,namespaces:c,sessionProperties:p,pairingTopic:d}=s.params,h=g({topic:e,relay:n,expiry:a,namespaces:c,acknowledged:!0,pairingTopic:d,requiredNamespaces:{},optionalNamespaces:{},controller:o.publicKey,self:{publicKey:\"\",metadata:this.client.metadata},peer:{publicKey:o.publicKey,metadata:o.metadata}},p&&{sessionProperties:p});await this.sendResult({id:s.id,topic:e,result:!0}),this.events.emit(u(\"session_connect\"),{session:h}),this.cleanupDuplicatePairings(h)}catch(n){await this.sendError(t,e,n),this.client.logger.error(n)}},this.onSessionSettleResponse=async(e,s)=>{const{id:t}=s;P(s)?(await this.client.session.update(e,{acknowledged:!0}),this.events.emit(u(\"session_approve\",t),{})):v(s)&&(await this.client.session.delete(e,S(\"USER_DISCONNECTED\")),this.events.emit(u(\"session_approve\",t),{error:s.error}))},this.onSessionUpdateRequest=async(e,s)=>{const{params:t,id:i}=s;try{const n=`${e}_session_update`,o=$.get(n);if(o&&this.isRequestOutOfSync(o,i)){this.client.logger.info(`Discarding out of sync request - ${i}`);return}this.isValidUpdate(g({topic:e},t)),await this.client.session.update(e,{namespaces:t.namespaces}),await this.sendResult({id:i,topic:e,result:!0}),this.client.events.emit(\"session_update\",{id:i,topic:e,params:t}),$.set(n,i)}catch(n){await this.sendError(i,e,n),this.client.logger.error(n)}},this.isRequestOutOfSync=(e,s)=>parseInt(s.toString().slice(0,-3))<=parseInt(e.toString().slice(0,-3)),this.onSessionUpdateResponse=(e,s)=>{const{id:t}=s;P(s)?this.events.emit(u(\"session_update\",t),{}):v(s)&&this.events.emit(u(\"session_update\",t),{error:s.error})},this.onSessionExtendRequest=async(e,s)=>{const{id:t}=s;try{this.isValidExtend({topic:e}),await this.setExpiry(e,q(L)),await this.sendResult({id:t,topic:e,result:!0}),this.client.events.emit(\"session_extend\",{id:t,topic:e})}catch(i){await this.sendError(t,e,i),this.client.logger.error(i)}},this.onSessionExtendResponse=(e,s)=>{const{id:t}=s;P(s)?this.events.emit(u(\"session_extend\",t),{}):v(s)&&this.events.emit(u(\"session_extend\",t),{error:s.error})},this.onSessionPingRequest=async(e,s)=>{const{id:t}=s;try{this.isValidPing({topic:e}),await this.sendResult({id:t,topic:e,result:!0}),this.client.events.emit(\"session_ping\",{id:t,topic:e})}catch(i){await this.sendError(t,e,i),this.client.logger.error(i)}},this.onSessionPingResponse=(e,s)=>{const{id:t}=s;setTimeout(()=>{P(s)?this.events.emit(u(\"session_ping\",t),{}):v(s)&&this.events.emit(u(\"session_ping\",t),{error:s.error})},500)},this.onSessionDeleteRequest=async(e,s)=>{const{id:t}=s;try{this.isValidDisconnect({topic:e,reason:s.params}),await Promise.all([new Promise(i=>{this.client.core.relayer.once(Z.publish,async()=>{i(await this.deleteSession({topic:e,id:t}))})}),this.sendResult({id:t,topic:e,result:!0}),this.cleanupPendingSentRequestsForTopic({topic:e,error:S(\"USER_DISCONNECTED\")})])}catch(i){this.client.logger.error(i)}},this.onSessionRequest=async(e,s)=>{const{id:t,params:i}=s;try{this.isValidRequest(g({topic:e},i));const n=z(JSON.stringify(j(\"wc_sessionRequest\",i,t))),o=this.client.session.get(e),a=await this.getVerifyContext(n,o.peer.metadata),c={id:t,topic:e,params:i,verifyContext:a};await this.setPendingSessionRequest(c),this.addSessionRequestToSessionRequestQueue(c),this.processSessionRequestQueue()}catch(n){await this.sendError(t,e,n),this.client.logger.error(n)}},this.onSessionRequestResponse=(e,s)=>{const{id:t}=s;P(s)?this.events.emit(u(\"session_request\",t),{result:s.result}):v(s)&&this.events.emit(u(\"session_request\",t),{error:s.error})},this.onSessionEventRequest=async(e,s)=>{const{id:t,params:i}=s;try{const n=`${e}_session_event_${i.event.name}`,o=$.get(n);if(o&&this.isRequestOutOfSync(o,t)){this.client.logger.info(`Discarding out of sync request - ${t}`);return}this.isValidEmit(g({topic:e},i)),this.client.events.emit(\"session_event\",{id:t,topic:e,params:i}),$.set(n,t)}catch(n){await this.sendError(t,e,n),this.client.logger.error(n)}},this.addSessionRequestToSessionRequestQueue=e=>{this.sessionRequestQueue.queue.push(e)},this.cleanupAfterResponse=e=>{this.deletePendingSessionRequest(e.response.id,{message:\"fulfilled\",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=I.idle,this.processSessionRequestQueue()},ne(this.requestQueueDelay))},this.cleanupPendingSentRequestsForTopic=({topic:e,error:s})=>{const t=this.client.core.history.pending;t.length>0&&t.filter(i=>i.topic===e&&i.request.method===\"wc_sessionRequest\").forEach(i=>{this.events.emit(u(\"session_request\",i.request.id),{error:s})})},this.processSessionRequestQueue=()=>{if(this.sessionRequestQueue.state===I.active){this.client.logger.info(\"session request queue is already active.\");return}const e=this.sessionRequestQueue.queue[0];if(!e){this.client.logger.info(\"session request queue is empty.\");return}try{this.sessionRequestQueue.state=I.active,this.client.events.emit(\"session_request\",e)}catch(s){this.client.logger.error(s)}},this.onPairingCreated=e=>{if(e.active)return;const s=this.client.proposal.getAll().find(t=>t.pairingTopic===e.topic);s&&this.onSessionProposeRequest(e.topic,j(\"wc_sessionPropose\",{requiredNamespaces:s.requiredNamespaces,optionalNamespaces:s.optionalNamespaces,relays:s.relays,proposer:s.proposer,sessionProperties:s.sessionProperties},s.id))},this.isValidConnect=async e=>{if(!y(e)){const{message:a}=l(\"MISSING_OR_INVALID\",`connect() params: ${JSON.stringify(e)}`);throw new Error(a)}const{pairingTopic:s,requiredNamespaces:t,optionalNamespaces:i,sessionProperties:n,relays:o}=e;if(A(s)||await this.isValidPairingTopic(s),!De(o,!0)){const{message:a}=l(\"MISSING_OR_INVALID\",`connect() relays: ${o}`);throw new Error(a)}!A(t)&&ee(t)!==0&&this.validateNamespaces(t,\"requiredNamespaces\"),!A(i)&&ee(i)!==0&&this.validateNamespaces(i,\"optionalNamespaces\"),A(n)||this.validateSessionProps(n,\"sessionProperties\")},this.validateNamespaces=(e,s)=>{const t=Ce(e,\"connect()\",s);if(t)throw new Error(t.message)},this.isValidApprove=async e=>{if(!y(e))throw new Error(l(\"MISSING_OR_INVALID\",`approve() params: ${e}`).message);const{id:s,namespaces:t,relayProtocol:i,sessionProperties:n}=e;await this.isValidProposalId(s);const o=this.client.proposal.get(s),a=Y(t,\"approve()\");if(a)throw new Error(a.message);const c=se(o.requiredNamespaces,t,\"approve()\");if(c)throw new Error(c.message);if(!b(i,!0)){const{message:p}=l(\"MISSING_OR_INVALID\",`approve() relayProtocol: ${i}`);throw new Error(p)}A(n)||this.validateSessionProps(n,\"sessionProperties\")},this.isValidReject=async e=>{if(!y(e)){const{message:i}=l(\"MISSING_OR_INVALID\",`reject() params: ${e}`);throw new Error(i)}const{id:s,reason:t}=e;if(await this.isValidProposalId(s),!Ae(t)){const{message:i}=l(\"MISSING_OR_INVALID\",`reject() reason: ${JSON.stringify(t)}`);throw new Error(i)}},this.isValidSessionSettleRequest=e=>{if(!y(e)){const{message:c}=l(\"MISSING_OR_INVALID\",`onSessionSettleRequest() params: ${e}`);throw new Error(c)}const{relay:s,controller:t,namespaces:i,expiry:n}=e;if(!be(s)){const{message:c}=l(\"MISSING_OR_INVALID\",\"onSessionSettleRequest() relay protocol should be a string\");throw new Error(c)}const o=Le(t,\"onSessionSettleRequest()\");if(o)throw new Error(o.message);const a=Y(i,\"onSessionSettleRequest()\");if(a)throw new Error(a.message);if(V(n)){const{message:c}=l(\"EXPIRED\",\"onSessionSettleRequest()\");throw new Error(c)}},this.isValidUpdate=async e=>{if(!y(e)){const{message:a}=l(\"MISSING_OR_INVALID\",`update() params: ${e}`);throw new Error(a)}const{topic:s,namespaces:t}=e;await this.isValidSessionTopic(s);const i=this.client.session.get(s),n=Y(t,\"update()\");if(n)throw new Error(n.message);const o=se(i.requiredNamespaces,t,\"update()\");if(o)throw new Error(o.message)},this.isValidExtend=async e=>{if(!y(e)){const{message:t}=l(\"MISSING_OR_INVALID\",`extend() params: ${e}`);throw new Error(t)}const{topic:s}=e;await this.isValidSessionTopic(s)},this.isValidRequest=async e=>{if(!y(e)){const{message:a}=l(\"MISSING_OR_INVALID\",`request() params: ${e}`);throw new Error(a)}const{topic:s,request:t,chainId:i,expiry:n}=e;await this.isValidSessionTopic(s);const{namespaces:o}=this.client.session.get(s);if(!te(o,i)){const{message:a}=l(\"MISSING_OR_INVALID\",`request() chainId: ${i}`);throw new Error(a)}if(!$e(t)){const{message:a}=l(\"MISSING_OR_INVALID\",`request() ${JSON.stringify(t)}`);throw new Error(a)}if(!Ge(o,i,t.method)){const{message:a}=l(\"MISSING_OR_INVALID\",`request() method: ${t.method}`);throw new Error(a)}if(n&&!Me(n,U)){const{message:a}=l(\"MISSING_OR_INVALID\",`request() expiry: ${n}. Expiry must be a number (in seconds) between ${U.min} and ${U.max}`);throw new Error(a)}},this.isValidRespond=async e=>{var s;if(!y(e)){const{message:n}=l(\"MISSING_OR_INVALID\",`respond() params: ${e}`);throw new Error(n)}const{topic:t,response:i}=e;try{await this.isValidSessionTopic(t)}catch(n){throw(s=e?.response)!=null&&s.id&&this.cleanupAfterResponse(e),n}if(!Ue(i)){const{message:n}=l(\"MISSING_OR_INVALID\",`respond() response: ${JSON.stringify(i)}`);throw new Error(n)}},this.isValidPing=async e=>{if(!y(e)){const{message:t}=l(\"MISSING_OR_INVALID\",`ping() params: ${e}`);throw new Error(t)}const{topic:s}=e;await this.isValidSessionOrPairingTopic(s)},this.isValidEmit=async e=>{if(!y(e)){const{message:o}=l(\"MISSING_OR_INVALID\",`emit() params: ${e}`);throw new Error(o)}const{topic:s,event:t,chainId:i}=e;await this.isValidSessionTopic(s);const{namespaces:n}=this.client.session.get(s);if(!te(n,i)){const{message:o}=l(\"MISSING_OR_INVALID\",`emit() chainId: ${i}`);throw new Error(o)}if(!Qe(t)){const{message:o}=l(\"MISSING_OR_INVALID\",`emit() event: ${JSON.stringify(t)}`);throw new Error(o)}if(!ke(n,i,t.name)){const{message:o}=l(\"MISSING_OR_INVALID\",`emit() event: ${JSON.stringify(t)}`);throw new Error(o)}},this.isValidDisconnect=async e=>{if(!y(e)){const{message:t}=l(\"MISSING_OR_INVALID\",`disconnect() params: ${e}`);throw new Error(t)}const{topic:s}=e;await this.isValidSessionOrPairingTopic(s)},this.getVerifyContext=async(e,s)=>{const t={verified:{verifyUrl:s.verifyUrl||ye,validation:\"UNKNOWN\",origin:s.url||\"\"}};try{const i=await this.client.core.verify.resolve({attestationId:e,verifyUrl:s.verifyUrl});i&&(t.verified.origin=i.origin,t.verified.isScam=i.isScam,t.verified.validation=i.origin===new URL(s.url).origin?\"VALID\":\"INVALID\")}catch(i){this.client.logger.info(i)}return this.client.logger.info(`Verify context: ${JSON.stringify(t)}`),t},this.validateSessionProps=(e,s)=>{Object.values(e).forEach(t=>{if(!b(t,!1)){const{message:i}=l(\"MISSING_OR_INVALID\",`${s} must be in Record format. Received: ${JSON.stringify(t)}`);throw new Error(i)}})}}async isInitialized(){if(!this.initialized){const{message:r}=l(\"NOT_INITIALIZED\",this.name);throw new Error(r)}await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(Z.message,async r=>{const{topic:e,message:s}=r;if(this.ignoredPayloadTypes.includes(this.client.core.crypto.getPayloadType(s)))return;const t=await this.client.core.crypto.decode(e,s);try{Ze(t)?(this.client.core.history.set(e,t),this.onRelayEventRequest({topic:e,payload:t})):es(t)?(await this.client.core.history.resolve(t),await this.onRelayEventResponse({topic:e,payload:t}),this.client.core.history.delete(e,t.id)):this.onRelayEventUnknownPayload({topic:e,payload:t})}catch(i){this.client.logger.error(i)}})}registerExpirerEvents(){this.client.core.expirer.on(Se.expired,async r=>{const{topic:e,id:s}=Ke(r.target);if(s&&this.client.pendingRequest.keys.includes(s))return await this.deletePendingSessionRequest(s,l(\"EXPIRED\"),!0);e?this.client.session.keys.includes(e)&&(await this.deleteSession({topic:e,expirerHasDeleted:!0}),this.client.events.emit(\"session_expire\",{topic:e})):s&&(await this.deleteProposal(s,!0),this.client.events.emit(\"proposal_expire\",{id:s}))})}registerPairingEvents(){this.client.core.pairing.events.on(Ee.create,r=>this.onPairingCreated(r))}isValidPairingTopic(r){if(!b(r,!1)){const{message:e}=l(\"MISSING_OR_INVALID\",`pairing topic should be a string: ${r}`);throw new Error(e)}if(!this.client.core.pairing.pairings.keys.includes(r)){const{message:e}=l(\"NO_MATCHING_KEY\",`pairing topic doesn't exist: ${r}`);throw new Error(e)}if(V(this.client.core.pairing.pairings.get(r).expiry)){const{message:e}=l(\"EXPIRED\",`pairing topic: ${r}`);throw new Error(e)}}async isValidSessionTopic(r){if(!b(r,!1)){const{message:e}=l(\"MISSING_OR_INVALID\",`session topic should be a string: ${r}`);throw new Error(e)}if(!this.client.session.keys.includes(r)){const{message:e}=l(\"NO_MATCHING_KEY\",`session topic doesn't exist: ${r}`);throw new Error(e)}if(V(this.client.session.get(r).expiry)){await this.deleteSession({topic:r});const{message:e}=l(\"EXPIRED\",`session topic: ${r}`);throw new Error(e)}if(!this.client.core.crypto.keychain.has(r)){const{message:e}=l(\"MISSING_OR_INVALID\",`session topic does not exist in keychain: ${r}`);throw await this.deleteSession({topic:r}),new Error(e)}}async isValidSessionOrPairingTopic(r){if(this.client.session.keys.includes(r))await this.isValidSessionTopic(r);else if(this.client.core.pairing.pairings.keys.includes(r))this.isValidPairingTopic(r);else if(b(r,!1)){const{message:e}=l(\"NO_MATCHING_KEY\",`session or pairing topic doesn't exist: ${r}`);throw new Error(e)}else{const{message:e}=l(\"MISSING_OR_INVALID\",`session or pairing topic should be a string: ${r}`);throw new Error(e)}}async isValidProposalId(r){if(!ze(r)){const{message:e}=l(\"MISSING_OR_INVALID\",`proposal id should be a number: ${r}`);throw new Error(e)}if(!this.client.proposal.keys.includes(r)){const{message:e}=l(\"NO_MATCHING_KEY\",`proposal id doesn't exist: ${r}`);throw new Error(e)}if(V(this.client.proposal.get(r).expiryTimestamp)){await this.deleteProposal(r);const{message:e}=l(\"EXPIRED\",`proposal id: ${r}`);throw new Error(e)}}}class us extends K{constructor(r,e){super(r,e,oe,G),this.core=r,this.logger=e}}class ge extends K{constructor(r,e){super(r,e,ce,G),this.core=r,this.logger=e}}class gs extends K{constructor(r,e){super(r,e,pe,G,s=>s.id),this.core=r,this.logger=e}}class Q extends Pe{constructor(r){super(r),this.protocol=J,this.version=F,this.name=M.name,this.events=new Je,this.on=(s,t)=>this.events.on(s,t),this.once=(s,t)=>this.events.once(s,t),this.off=(s,t)=>this.events.off(s,t),this.removeListener=(s,t)=>this.events.removeListener(s,t),this.removeAllListeners=s=>this.events.removeAllListeners(s),this.connect=async s=>{try{return await this.engine.connect(s)}catch(t){throw this.logger.error(t.message),t}},this.pair=async s=>{try{return await this.engine.pair(s)}catch(t){throw this.logger.error(t.message),t}},this.approve=async s=>{try{return await this.engine.approve(s)}catch(t){throw this.logger.error(t.message),t}},this.reject=async s=>{try{return await this.engine.reject(s)}catch(t){throw this.logger.error(t.message),t}},this.update=async s=>{try{return await this.engine.update(s)}catch(t){throw this.logger.error(t.message),t}},this.extend=async s=>{try{return await this.engine.extend(s)}catch(t){throw this.logger.error(t.message),t}},this.request=async s=>{try{return await this.engine.request(s)}catch(t){throw this.logger.error(t.message),t}},this.respond=async s=>{try{return await this.engine.respond(s)}catch(t){throw this.logger.error(t.message),t}},this.ping=async s=>{try{return await this.engine.ping(s)}catch(t){throw this.logger.error(t.message),t}},this.emit=async s=>{try{return await this.engine.emit(s)}catch(t){throw this.logger.error(t.message),t}},this.disconnect=async s=>{try{return await this.engine.disconnect(s)}catch(t){throw this.logger.error(t.message),t}},this.find=s=>{try{return this.engine.find(s)}catch(t){throw this.logger.error(t.message),t}},this.getPendingSessionRequests=()=>{try{return this.engine.getPendingSessionRequests()}catch(s){throw this.logger.error(s.message),s}},this.name=r?.name||M.name,this.metadata=r?.metadata||Ye();const e=typeof r?.logger<\"u\"&&typeof r?.logger!=\"string\"?r.logger:Ie(_e({level:r?.logger||M.logger}));this.core=r?.core||new Re(r),this.logger=qe(e,this.name),this.session=new ge(this.core,this.logger),this.proposal=new us(this.core,this.logger),this.pendingRequest=new gs(this.core,this.logger),this.engine=new ds(this)}static async init(r){const e=new Q(r);return await e.initialize(),e}get context(){return Ne(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace(\"Initialized\");try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.engine.init(),this.core.verify.init({verifyUrl:this.metadata.verifyUrl}),this.logger.info(\"SignClient Initialization Success\")}catch(r){throw this.logger.info(\"SignClient Initialization Failure\"),this.logger.error(r.message),r}}}const ws=ge,ms=Q;export{le as ENGINE_CONTEXT,I as ENGINE_QUEUE_STATES,R as ENGINE_RPC_OPTS,rs as HISTORY_CONTEXT,is as HISTORY_EVENTS,ns as HISTORY_STORAGE_VERSION,he as METHODS_TO_VERIFY,oe as PROPOSAL_CONTEXT,os as PROPOSAL_EXPIRY,ae as PROPOSAL_EXPIRY_MESSAGE,pe as REQUEST_CONTEXT,ce as SESSION_CONTEXT,L as SESSION_EXPIRY,U as SESSION_REQUEST_EXPIRY_BOUNDARIES,X as SIGN_CLIENT_CONTEXT,M as SIGN_CLIENT_DEFAULT,ss as SIGN_CLIENT_EVENTS,J as SIGN_CLIENT_PROTOCOL,ts as SIGN_CLIENT_STORAGE_OPTIONS,G as SIGN_CLIENT_STORAGE_PREFIX,F as SIGN_CLIENT_VERSION,ws as SessionStore,ms as SignClient,H as WALLETCONNECT_DEEPLINK_CHOICE,Q as default};\n//# sourceMappingURL=index.es.js.map\n","var global = typeof self !== 'undefined' ? self : this;\nvar __self__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = global.DOMException\n}\nF.prototype = global;\nreturn new F();\n})();\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n})({});\n})(__self__);\n__self__.fetch.ponyfill = true;\n// Remove \"polyfill\" property added by whatwg-fetch\ndelete __self__.fetch.polyfill;\n// Choose between native implementation (global) or custom implementation (__self__)\n// var ctx = global.fetch ? global : __self__;\nvar ctx = __self__; // this line disable service worker support temporarily\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n","import { EventEmitter } from \"events\";\nimport fetch from \"cross-fetch\";\nimport { safeJsonParse, safeJsonStringify } from \"@walletconnect/safe-json\";\nimport { formatJsonRpcError, isHttpUrl, parseConnectionError, } from \"@walletconnect/jsonrpc-utils\";\nconst DEFAULT_HTTP_HEADERS = {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n};\nconst DEFAULT_HTTP_METHOD = \"POST\";\nconst DEFAULT_FETCH_OPTS = {\n headers: DEFAULT_HTTP_HEADERS,\n method: DEFAULT_HTTP_METHOD,\n};\nconst EVENT_EMITTER_MAX_LISTENERS_DEFAULT = 10;\nexport class HttpConnection {\n constructor(url, disableProviderPing = false) {\n this.url = url;\n this.disableProviderPing = disableProviderPing;\n this.events = new EventEmitter();\n this.isAvailable = false;\n this.registering = false;\n if (!isHttpUrl(url)) {\n throw new Error(`Provided URL is not compatible with HTTP connection: ${url}`);\n }\n this.url = url;\n this.disableProviderPing = disableProviderPing;\n }\n get connected() {\n return this.isAvailable;\n }\n get connecting() {\n return this.registering;\n }\n on(event, listener) {\n this.events.on(event, listener);\n }\n once(event, listener) {\n this.events.once(event, listener);\n }\n off(event, listener) {\n this.events.off(event, listener);\n }\n removeListener(event, listener) {\n this.events.removeListener(event, listener);\n }\n async open(url = this.url) {\n await this.register(url);\n }\n async close() {\n if (!this.isAvailable) {\n throw new Error(\"Connection already closed\");\n }\n this.onClose();\n }\n async send(payload, context) {\n if (!this.isAvailable) {\n await this.register();\n }\n try {\n const body = safeJsonStringify(payload);\n const res = await fetch(this.url, Object.assign(Object.assign({}, DEFAULT_FETCH_OPTS), { body }));\n const data = await res.json();\n this.onPayload({ data });\n }\n catch (e) {\n this.onError(payload.id, e);\n }\n }\n async register(url = this.url) {\n if (!isHttpUrl(url)) {\n throw new Error(`Provided URL is not compatible with HTTP connection: ${url}`);\n }\n if (this.registering) {\n const currentMaxListeners = this.events.getMaxListeners();\n if (this.events.listenerCount(\"register_error\") >= currentMaxListeners ||\n this.events.listenerCount(\"open\") >= currentMaxListeners) {\n this.events.setMaxListeners(currentMaxListeners + 1);\n }\n return new Promise((resolve, reject) => {\n this.events.once(\"register_error\", error => {\n this.resetMaxListeners();\n reject(error);\n });\n this.events.once(\"open\", () => {\n this.resetMaxListeners();\n if (typeof this.isAvailable === \"undefined\") {\n return reject(new Error(\"HTTP connection is missing or invalid\"));\n }\n resolve();\n });\n });\n }\n this.url = url;\n this.registering = true;\n try {\n if (!this.disableProviderPing) {\n const body = safeJsonStringify({ id: 1, jsonrpc: \"2.0\", method: \"test\", params: [] });\n await fetch(url, Object.assign(Object.assign({}, DEFAULT_FETCH_OPTS), { body }));\n }\n this.onOpen();\n }\n catch (e) {\n const error = this.parseError(e);\n this.events.emit(\"register_error\", error);\n this.onClose();\n throw error;\n }\n }\n onOpen() {\n this.isAvailable = true;\n this.registering = false;\n this.events.emit(\"open\");\n }\n onClose() {\n this.isAvailable = false;\n this.registering = false;\n this.events.emit(\"close\");\n }\n onPayload(e) {\n if (typeof e.data === \"undefined\")\n return;\n const payload = typeof e.data === \"string\" ? safeJsonParse(e.data) : e.data;\n this.events.emit(\"payload\", payload);\n }\n onError(id, e) {\n const error = this.parseError(e);\n const message = error.message || error.toString();\n const payload = formatJsonRpcError(id, message);\n this.events.emit(\"payload\", payload);\n }\n parseError(e, url = this.url) {\n return parseConnectionError(e, url, \"HTTP\");\n }\n resetMaxListeners() {\n if (this.events.getMaxListeners() > EVENT_EMITTER_MAX_LISTENERS_DEFAULT) {\n this.events.setMaxListeners(EVENT_EMITTER_MAX_LISTENERS_DEFAULT);\n }\n }\n}\nexport default HttpConnection;\n//# sourceMappingURL=http.js.map","import bg,{PROPOSAL_EXPIRY_MESSAGE as Tg}from\"@walletconnect/sign-client\";import{isValidObject as Lg,isCaipNamespace as Pa,parseNamespaceKey as de,mergeArrays as $i,parseChainId as Dg,getSdkError as Aa,isValidArray as Ca}from\"@walletconnect/utils\";import{pino as Hg,getDefaultLoggerOptions as Ng}from\"@walletconnect/logger\";import At,{HttpConnection as $g}from\"@walletconnect/jsonrpc-http-connection\";import{JsonRpcProvider as ot}from\"@walletconnect/jsonrpc-provider\";import Ug from\"events\";import{formatJsonRpcResult as Wg}from\"@walletconnect/jsonrpc-utils\";const Ia=\"error\",Fg=\"wss://relay.walletconnect.com\",Mg=\"wc\",qg=\"universal_provider\",xa=`${Mg}@2:${qg}:`,Bg=\"https://rpc.walletconnect.com/v1/\",Vn={DEFAULT_CHAIN_CHANGED:\"default_chain_changed\"};var ge=typeof globalThis<\"u\"?globalThis:typeof window<\"u\"?window:typeof global<\"u\"?global:typeof self<\"u\"?self:{},Ui={exports:{}};/**\n * @license\n * Lodash \n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */(function(A,u){(function(){var i,d=\"4.17.21\",w=200,L=\"Unsupported core-js use. Try https://npms.io/search?q=ponyfill.\",D=\"Expected a function\",En=\"Invalid `variable` option passed into `_.template`\",zt=\"__lodash_hash_undefined__\",pr=500,It=\"__lodash_placeholder__\",Ln=1,Fn=2,xt=4,Et=1,ve=2,vn=1,ct=2,qi=4,Dn=8,yt=16,Hn=32,St=64,Mn=128,Kt=256,dr=512,Da=30,Ha=\"...\",Na=800,$a=16,Bi=1,Ua=2,Wa=3,ht=1/0,kn=9007199254740991,Fa=17976931348623157e292,_e=0/0,Nn=4294967295,Ma=Nn-1,qa=Nn>>>1,Ba=[[\"ary\",Mn],[\"bind\",vn],[\"bindKey\",ct],[\"curry\",Dn],[\"curryRight\",yt],[\"flip\",dr],[\"partial\",Hn],[\"partialRight\",St],[\"rearg\",Kt]],Ot=\"[object Arguments]\",me=\"[object Array]\",Ga=\"[object AsyncFunction]\",Yt=\"[object Boolean]\",Zt=\"[object Date]\",za=\"[object DOMException]\",we=\"[object Error]\",Pe=\"[object Function]\",Gi=\"[object GeneratorFunction]\",yn=\"[object Map]\",Jt=\"[object Number]\",Ka=\"[object Null]\",qn=\"[object Object]\",zi=\"[object Promise]\",Ya=\"[object Proxy]\",Xt=\"[object RegExp]\",Sn=\"[object Set]\",Qt=\"[object String]\",Ae=\"[object Symbol]\",Za=\"[object Undefined]\",Vt=\"[object WeakMap]\",Ja=\"[object WeakSet]\",kt=\"[object ArrayBuffer]\",Rt=\"[object DataView]\",gr=\"[object Float32Array]\",vr=\"[object Float64Array]\",_r=\"[object Int8Array]\",mr=\"[object Int16Array]\",wr=\"[object Int32Array]\",Pr=\"[object Uint8Array]\",Ar=\"[object Uint8ClampedArray]\",Cr=\"[object Uint16Array]\",Ir=\"[object Uint32Array]\",Xa=/\\b__p \\+= '';/g,Qa=/\\b(__p \\+=) '' \\+/g,Va=/(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g,Ki=/&(?:amp|lt|gt|quot|#39);/g,Yi=/[&<>\"']/g,ka=RegExp(Ki.source),ja=RegExp(Yi.source),no=/<%-([\\s\\S]+?)%>/g,to=/<%([\\s\\S]+?)%>/g,Zi=/<%=([\\s\\S]+?)%>/g,eo=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,ro=/^\\w*$/,io=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,xr=/[\\\\^$.*+?()[\\]{}|]/g,so=RegExp(xr.source),Er=/^\\s+/,uo=/\\s/,ao=/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,oo=/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,fo=/,? & /,co=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g,ho=/[()=,{}\\[\\]\\/\\s]/,lo=/\\\\(\\\\)?/g,po=/\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g,Ji=/\\w*$/,go=/^[-+]0x[0-9a-f]+$/i,vo=/^0b[01]+$/i,_o=/^\\[object .+?Constructor\\]$/,mo=/^0o[0-7]+$/i,wo=/^(?:0|[1-9]\\d*)$/,Po=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,Ce=/($^)/,Ao=/['\\n\\r\\u2028\\u2029\\\\]/g,Ie=\"\\\\ud800-\\\\udfff\",Co=\"\\\\u0300-\\\\u036f\",Io=\"\\\\ufe20-\\\\ufe2f\",xo=\"\\\\u20d0-\\\\u20ff\",Xi=Co+Io+xo,Qi=\"\\\\u2700-\\\\u27bf\",Vi=\"a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff\",Eo=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\",yo=\"\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\",So=\"\\\\u2000-\\\\u206f\",Oo=\" \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",ki=\"A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde\",ji=\"\\\\ufe0e\\\\ufe0f\",ns=Eo+yo+So+Oo,yr=\"['\\u2019]\",Ro=\"[\"+Ie+\"]\",ts=\"[\"+ns+\"]\",xe=\"[\"+Xi+\"]\",es=\"\\\\d+\",bo=\"[\"+Qi+\"]\",rs=\"[\"+Vi+\"]\",is=\"[^\"+Ie+ns+es+Qi+Vi+ki+\"]\",Sr=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",To=\"(?:\"+xe+\"|\"+Sr+\")\",ss=\"[^\"+Ie+\"]\",Or=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",Rr=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",bt=\"[\"+ki+\"]\",us=\"\\\\u200d\",as=\"(?:\"+rs+\"|\"+is+\")\",Lo=\"(?:\"+bt+\"|\"+is+\")\",os=\"(?:\"+yr+\"(?:d|ll|m|re|s|t|ve))?\",fs=\"(?:\"+yr+\"(?:D|LL|M|RE|S|T|VE))?\",cs=To+\"?\",hs=\"[\"+ji+\"]?\",Do=\"(?:\"+us+\"(?:\"+[ss,Or,Rr].join(\"|\")+\")\"+hs+cs+\")*\",Ho=\"\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])\",No=\"\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])\",ls=hs+cs+Do,$o=\"(?:\"+[bo,Or,Rr].join(\"|\")+\")\"+ls,Uo=\"(?:\"+[ss+xe+\"?\",xe,Or,Rr,Ro].join(\"|\")+\")\",Wo=RegExp(yr,\"g\"),Fo=RegExp(xe,\"g\"),br=RegExp(Sr+\"(?=\"+Sr+\")|\"+Uo+ls,\"g\"),Mo=RegExp([bt+\"?\"+rs+\"+\"+os+\"(?=\"+[ts,bt,\"$\"].join(\"|\")+\")\",Lo+\"+\"+fs+\"(?=\"+[ts,bt+as,\"$\"].join(\"|\")+\")\",bt+\"?\"+as+\"+\"+os,bt+\"+\"+fs,No,Ho,es,$o].join(\"|\"),\"g\"),qo=RegExp(\"[\"+us+Ie+Xi+ji+\"]\"),Bo=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Go=[\"Array\",\"Buffer\",\"DataView\",\"Date\",\"Error\",\"Float32Array\",\"Float64Array\",\"Function\",\"Int8Array\",\"Int16Array\",\"Int32Array\",\"Map\",\"Math\",\"Object\",\"Promise\",\"RegExp\",\"Set\",\"String\",\"Symbol\",\"TypeError\",\"Uint8Array\",\"Uint8ClampedArray\",\"Uint16Array\",\"Uint32Array\",\"WeakMap\",\"_\",\"clearTimeout\",\"isFinite\",\"parseInt\",\"setTimeout\"],zo=-1,B={};B[gr]=B[vr]=B[_r]=B[mr]=B[wr]=B[Pr]=B[Ar]=B[Cr]=B[Ir]=!0,B[Ot]=B[me]=B[kt]=B[Yt]=B[Rt]=B[Zt]=B[we]=B[Pe]=B[yn]=B[Jt]=B[qn]=B[Xt]=B[Sn]=B[Qt]=B[Vt]=!1;var q={};q[Ot]=q[me]=q[kt]=q[Rt]=q[Yt]=q[Zt]=q[gr]=q[vr]=q[_r]=q[mr]=q[wr]=q[yn]=q[Jt]=q[qn]=q[Xt]=q[Sn]=q[Qt]=q[Ae]=q[Pr]=q[Ar]=q[Cr]=q[Ir]=!0,q[we]=q[Pe]=q[Vt]=!1;var Ko={\\u00C0:\"A\",\\u00C1:\"A\",\\u00C2:\"A\",\\u00C3:\"A\",\\u00C4:\"A\",\\u00C5:\"A\",\\u00E0:\"a\",\\u00E1:\"a\",\\u00E2:\"a\",\\u00E3:\"a\",\\u00E4:\"a\",\\u00E5:\"a\",\\u00C7:\"C\",\\u00E7:\"c\",\\u00D0:\"D\",\\u00F0:\"d\",\\u00C8:\"E\",\\u00C9:\"E\",\\u00CA:\"E\",\\u00CB:\"E\",\\u00E8:\"e\",\\u00E9:\"e\",\\u00EA:\"e\",\\u00EB:\"e\",\\u00CC:\"I\",\\u00CD:\"I\",\\u00CE:\"I\",\\u00CF:\"I\",\\u00EC:\"i\",\\u00ED:\"i\",\\u00EE:\"i\",\\u00EF:\"i\",\\u00D1:\"N\",\\u00F1:\"n\",\\u00D2:\"O\",\\u00D3:\"O\",\\u00D4:\"O\",\\u00D5:\"O\",\\u00D6:\"O\",\\u00D8:\"O\",\\u00F2:\"o\",\\u00F3:\"o\",\\u00F4:\"o\",\\u00F5:\"o\",\\u00F6:\"o\",\\u00F8:\"o\",\\u00D9:\"U\",\\u00DA:\"U\",\\u00DB:\"U\",\\u00DC:\"U\",\\u00F9:\"u\",\\u00FA:\"u\",\\u00FB:\"u\",\\u00FC:\"u\",\\u00DD:\"Y\",\\u00FD:\"y\",\\u00FF:\"y\",\\u00C6:\"Ae\",\\u00E6:\"ae\",\\u00DE:\"Th\",\\u00FE:\"th\",\\u00DF:\"ss\",\\u0100:\"A\",\\u0102:\"A\",\\u0104:\"A\",\\u0101:\"a\",\\u0103:\"a\",\\u0105:\"a\",\\u0106:\"C\",\\u0108:\"C\",\\u010A:\"C\",\\u010C:\"C\",\\u0107:\"c\",\\u0109:\"c\",\\u010B:\"c\",\\u010D:\"c\",\\u010E:\"D\",\\u0110:\"D\",\\u010F:\"d\",\\u0111:\"d\",\\u0112:\"E\",\\u0114:\"E\",\\u0116:\"E\",\\u0118:\"E\",\\u011A:\"E\",\\u0113:\"e\",\\u0115:\"e\",\\u0117:\"e\",\\u0119:\"e\",\\u011B:\"e\",\\u011C:\"G\",\\u011E:\"G\",\\u0120:\"G\",\\u0122:\"G\",\\u011D:\"g\",\\u011F:\"g\",\\u0121:\"g\",\\u0123:\"g\",\\u0124:\"H\",\\u0126:\"H\",\\u0125:\"h\",\\u0127:\"h\",\\u0128:\"I\",\\u012A:\"I\",\\u012C:\"I\",\\u012E:\"I\",\\u0130:\"I\",\\u0129:\"i\",\\u012B:\"i\",\\u012D:\"i\",\\u012F:\"i\",\\u0131:\"i\",\\u0134:\"J\",\\u0135:\"j\",\\u0136:\"K\",\\u0137:\"k\",\\u0138:\"k\",\\u0139:\"L\",\\u013B:\"L\",\\u013D:\"L\",\\u013F:\"L\",\\u0141:\"L\",\\u013A:\"l\",\\u013C:\"l\",\\u013E:\"l\",\\u0140:\"l\",\\u0142:\"l\",\\u0143:\"N\",\\u0145:\"N\",\\u0147:\"N\",\\u014A:\"N\",\\u0144:\"n\",\\u0146:\"n\",\\u0148:\"n\",\\u014B:\"n\",\\u014C:\"O\",\\u014E:\"O\",\\u0150:\"O\",\\u014D:\"o\",\\u014F:\"o\",\\u0151:\"o\",\\u0154:\"R\",\\u0156:\"R\",\\u0158:\"R\",\\u0155:\"r\",\\u0157:\"r\",\\u0159:\"r\",\\u015A:\"S\",\\u015C:\"S\",\\u015E:\"S\",\\u0160:\"S\",\\u015B:\"s\",\\u015D:\"s\",\\u015F:\"s\",\\u0161:\"s\",\\u0162:\"T\",\\u0164:\"T\",\\u0166:\"T\",\\u0163:\"t\",\\u0165:\"t\",\\u0167:\"t\",\\u0168:\"U\",\\u016A:\"U\",\\u016C:\"U\",\\u016E:\"U\",\\u0170:\"U\",\\u0172:\"U\",\\u0169:\"u\",\\u016B:\"u\",\\u016D:\"u\",\\u016F:\"u\",\\u0171:\"u\",\\u0173:\"u\",\\u0174:\"W\",\\u0175:\"w\",\\u0176:\"Y\",\\u0177:\"y\",\\u0178:\"Y\",\\u0179:\"Z\",\\u017B:\"Z\",\\u017D:\"Z\",\\u017A:\"z\",\\u017C:\"z\",\\u017E:\"z\",\\u0132:\"IJ\",\\u0133:\"ij\",\\u0152:\"Oe\",\\u0153:\"oe\",\\u0149:\"'n\",\\u017F:\"s\"},Yo={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\",\"'\":\"'\"},Zo={\"&\":\"&\",\"<\":\"<\",\">\":\">\",\""\":'\"',\"'\":\"'\"},Jo={\"\\\\\":\"\\\\\",\"'\":\"'\",\"\\n\":\"n\",\"\\r\":\"r\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},Xo=parseFloat,Qo=parseInt,ps=typeof ge==\"object\"&&ge&&ge.Object===Object&&ge,Vo=typeof self==\"object\"&&self&&self.Object===Object&&self,k=ps||Vo||Function(\"return this\")(),Tr=u&&!u.nodeType&&u,lt=Tr&&!0&&A&&!A.nodeType&&A,ds=lt&<.exports===Tr,Lr=ds&&ps.process,_n=function(){try{var h=lt&<.require&<.require(\"util\").types;return h||Lr&&Lr.binding&&Lr.binding(\"util\")}catch{}}(),gs=_n&&_n.isArrayBuffer,vs=_n&&_n.isDate,_s=_n&&_n.isMap,ms=_n&&_n.isRegExp,ws=_n&&_n.isSet,Ps=_n&&_n.isTypedArray;function cn(h,g,p){switch(p.length){case 0:return h.call(g);case 1:return h.call(g,p[0]);case 2:return h.call(g,p[0],p[1]);case 3:return h.call(g,p[0],p[1],p[2])}return h.apply(g,p)}function ko(h,g,p,C){for(var S=-1,U=h==null?0:h.length;++S-1}function Dr(h,g,p){for(var C=-1,S=h==null?0:h.length;++C-1;);return p}function Os(h,g){for(var p=h.length;p--&&Tt(g,h[p],0)>-1;);return p}function of(h,g){for(var p=h.length,C=0;p--;)h[p]===g&&++C;return C}var ff=Ur(Ko),cf=Ur(Yo);function hf(h){return\"\\\\\"+Jo[h]}function lf(h,g){return h==null?i:h[g]}function Lt(h){return qo.test(h)}function pf(h){return Bo.test(h)}function df(h){for(var g,p=[];!(g=h.next()).done;)p.push(g.value);return p}function qr(h){var g=-1,p=Array(h.size);return h.forEach(function(C,S){p[++g]=[S,C]}),p}function Rs(h,g){return function(p){return h(g(p))}}function tt(h,g){for(var p=-1,C=h.length,S=0,U=[];++p-1}function tc(n,t){var e=this.__data__,r=Be(e,n);return r<0?(++this.size,e.push([n,t])):e[r][1]=t,this}Bn.prototype.clear=Vf,Bn.prototype.delete=kf,Bn.prototype.get=jf,Bn.prototype.has=nc,Bn.prototype.set=tc;function Gn(n){var t=-1,e=n==null?0:n.length;for(this.clear();++t=t?n:t)),n}function An(n,t,e,r,s,o){var f,c=t&Ln,l=t&Fn,v=t&xt;if(e&&(f=s?e(n,r,s,o):e(n)),f!==i)return f;if(!K(n))return n;var _=O(n);if(_){if(f=sh(n),!c)return un(n,f)}else{var m=tn(n),P=m==Pe||m==Gi;if(at(n))return hu(n,c);if(m==qn||m==Ot||P&&!s){if(f=l||P?{}:bu(n),!c)return l?Jc(n,_c(f,n)):Zc(n,qs(f,n))}else{if(!q[m])return s?n:{};f=uh(n,m,c)}}o||(o=new Rn);var I=o.get(n);if(I)return I;o.set(n,f),sa(n)?n.forEach(function(y){f.add(An(y,t,e,y,n,o))}):ra(n)&&n.forEach(function(y,H){f.set(H,An(y,t,e,H,n,o))});var E=v?l?pi:li:l?on:V,b=_?i:E(n);return mn(b||n,function(y,H){b&&(H=y,y=n[H]),se(f,H,An(y,t,e,H,n,o))}),f}function mc(n){var t=V(n);return function(e){return Bs(e,n,t)}}function Bs(n,t,e){var r=e.length;if(n==null)return!r;for(n=M(n);r--;){var s=e[r],o=t[s],f=n[s];if(f===i&&!(s in n)||!o(f))return!1}return!0}function Gs(n,t,e){if(typeof n!=\"function\")throw new wn(D);return le(function(){n.apply(i,e)},t)}function ue(n,t,e,r){var s=-1,o=Ee,f=!0,c=n.length,l=[],v=t.length;if(!c)return l;e&&(t=G(t,hn(e))),r?(o=Dr,f=!1):t.length>=w&&(o=jt,f=!1,t=new gt(t));n:for(;++ss?0:s+e),r=r===i||r>s?s:R(r),r<0&&(r+=s),r=e>r?0:aa(r);e0&&e(c)?t>1?j(c,t-1,e,r,s):nt(s,c):r||(s[s.length]=c)}return s}var Jr=_u(),Ys=_u(!0);function $n(n,t){return n&&Jr(n,t,V)}function Xr(n,t){return n&&Ys(n,t,V)}function ze(n,t){return jn(t,function(e){return Jn(n[e])})}function _t(n,t){t=st(t,n);for(var e=0,r=t.length;n!=null&&et}function Ac(n,t){return n!=null&&F.call(n,t)}function Cc(n,t){return n!=null&&t in M(n)}function Ic(n,t,e){return n>=nn(t,e)&&n=120&&_.length>=120)?new gt(f&&_):i}_=n[0];var m=-1,P=c[0];n:for(;++m-1;)c!==n&&Ne.call(c,l,1),Ne.call(n,l,1);return n}function ru(n,t){for(var e=n?t.length:0,r=e-1;e--;){var s=t[e];if(e==r||s!==o){var o=s;Zn(s)?Ne.call(n,s,1):si(n,s)}}return n}function ei(n,t){return n+We(Us()*(t-n+1))}function $c(n,t,e,r){for(var s=-1,o=Q(Ue((t-n)/(e||1)),0),f=p(o);o--;)f[r?o:++s]=n,n+=e;return f}function ri(n,t){var e=\"\";if(!n||t<1||t>kn)return e;do t%2&&(e+=n),t=We(t/2),t&&(n+=n);while(t);return e}function T(n,t){return Pi(Du(n,t,fn),n+\"\")}function Uc(n){return Ms(Gt(n))}function Wc(n,t){var e=Gt(n);return tr(e,vt(t,0,e.length))}function fe(n,t,e,r){if(!K(n))return n;t=st(t,n);for(var s=-1,o=t.length,f=o-1,c=n;c!=null&&++ss?0:s+t),e=e>s?s:e,e<0&&(e+=s),s=t>e?0:e-t>>>0,t>>>=0;for(var o=p(s);++r>>1,f=n[o];f!==null&&!pn(f)&&(e?f<=t:f=w){var v=t?null:kc(n);if(v)return Se(v);f=!1,s=jt,l=new gt}else l=t?[]:c;n:for(;++r=r?n:Cn(n,t,e)}var cu=Rf||function(n){return k.clearTimeout(n)};function hu(n,t){if(t)return n.slice();var e=n.length,r=Ls?Ls(e):new n.constructor(e);return n.copy(r),r}function fi(n){var t=new n.constructor(n.byteLength);return new De(t).set(new De(n)),t}function Gc(n,t){var e=t?fi(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}function zc(n){var t=new n.constructor(n.source,Ji.exec(n));return t.lastIndex=n.lastIndex,t}function Kc(n){return ie?M(ie.call(n)):{}}function lu(n,t){var e=t?fi(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.length)}function pu(n,t){if(n!==t){var e=n!==i,r=n===null,s=n===n,o=pn(n),f=t!==i,c=t===null,l=t===t,v=pn(t);if(!c&&!v&&!o&&n>t||o&&f&&l&&!c&&!v||r&&f&&l||!e&&l||!s)return 1;if(!r&&!o&&!v&&n=c)return l;var v=e[r];return l*(v==\"desc\"?-1:1)}}return n.index-t.index}function du(n,t,e,r){for(var s=-1,o=n.length,f=e.length,c=-1,l=t.length,v=Q(o-f,0),_=p(l+v),m=!r;++c1?e[s-1]:i,f=s>2?e[2]:i;for(o=n.length>3&&typeof o==\"function\"?(s--,o):i,f&&rn(e[0],e[1],f)&&(o=s<3?i:o,s=1),t=M(t);++r-1?s[o?t[f]:f]:i}}function Pu(n){return Yn(function(t){var e=t.length,r=e,s=Pn.prototype.thru;for(n&&t.reverse();r--;){var o=t[r];if(typeof o!=\"function\")throw new wn(D);if(s&&!f&&je(o)==\"wrapper\")var f=new Pn([],!0)}for(r=f?r:e;++r1&&$.reverse(),_&&lc))return!1;var v=o.get(n),_=o.get(t);if(v&&_)return v==t&&_==n;var m=-1,P=!0,I=e&ve?new gt:i;for(o.set(n,t),o.set(t,n);++m1?\"& \":\"\")+t[r],t=t.join(e>2?\", \":\" \"),n.replace(ao,`{\n/* [wrapped with `+t+`] */\n`)}function oh(n){return O(n)||Pt(n)||!!(Ns&&n&&n[Ns])}function Zn(n,t){var e=typeof n;return t=t??kn,!!t&&(e==\"number\"||e!=\"symbol\"&&wo.test(n))&&n>-1&&n%1==0&&n0){if(++t>=Na)return arguments[0]}else t=0;return n.apply(i,arguments)}}function tr(n,t){var e=-1,r=n.length,s=r-1;for(t=t===i?r:t;++e1?n[t-1]:i;return e=typeof e==\"function\"?(n.pop(),e):i,Ku(n,e)});function Yu(n){var t=a(n);return t.__chain__=!0,t}function wl(n,t){return t(n),n}function er(n,t){return t(n)}var Pl=Yn(function(n){var t=n.length,e=t?n[0]:0,r=this.__wrapped__,s=function(o){return Zr(o,n)};return t>1||this.__actions__.length||!(r instanceof N)||!Zn(e)?this.thru(s):(r=r.slice(e,+e+(t?1:0)),r.__actions__.push({func:er,args:[s],thisArg:i}),new Pn(r,this.__chain__).thru(function(o){return t&&!o.length&&o.push(i),o}))});function Al(){return Yu(this)}function Cl(){return new Pn(this.value(),this.__chain__)}function Il(){this.__values__===i&&(this.__values__=ua(this.value()));var n=this.__index__>=this.__values__.length,t=n?i:this.__values__[this.__index__++];return{done:n,value:t}}function xl(){return this}function El(n){for(var t,e=this;e instanceof qe;){var r=Fu(e);r.__index__=0,r.__values__=i,t?s.__wrapped__=r:t=r;var s=r;e=e.__wrapped__}return s.__wrapped__=n,t}function yl(){var n=this.__wrapped__;if(n instanceof N){var t=n;return this.__actions__.length&&(t=new N(this)),t=t.reverse(),t.__actions__.push({func:er,args:[Ai],thisArg:i}),new Pn(t,this.__chain__)}return this.thru(Ai)}function Sl(){return ou(this.__wrapped__,this.__actions__)}var Ol=Je(function(n,t,e){F.call(n,e)?++n[e]:zn(n,e,1)});function Rl(n,t,e){var r=O(n)?As:wc;return e&&rn(n,t,e)&&(t=i),r(n,x(t,3))}function bl(n,t){var e=O(n)?jn:Ks;return e(n,x(t,3))}var Tl=wu(Mu),Ll=wu(qu);function Dl(n,t){return j(rr(n,t),1)}function Hl(n,t){return j(rr(n,t),ht)}function Nl(n,t,e){return e=e===i?1:R(e),j(rr(n,t),e)}function Zu(n,t){var e=O(n)?mn:rt;return e(n,x(t,3))}function Ju(n,t){var e=O(n)?jo:zs;return e(n,x(t,3))}var $l=Je(function(n,t,e){F.call(n,e)?n[e].push(t):zn(n,e,[t])});function Ul(n,t,e,r){n=an(n)?n:Gt(n),e=e&&!r?R(e):0;var s=n.length;return e<0&&(e=Q(s+e,0)),or(n)?e<=s&&n.indexOf(t,e)>-1:!!s&&Tt(n,t,e)>-1}var Wl=T(function(n,t,e){var r=-1,s=typeof t==\"function\",o=an(n)?p(n.length):[];return rt(n,function(f){o[++r]=s?cn(t,f,e):ae(f,t,e)}),o}),Fl=Je(function(n,t,e){zn(n,e,t)});function rr(n,t){var e=O(n)?G:Vs;return e(n,x(t,3))}function Ml(n,t,e,r){return n==null?[]:(O(t)||(t=t==null?[]:[t]),e=r?i:e,O(e)||(e=e==null?[]:[e]),tu(n,t,e))}var ql=Je(function(n,t,e){n[e?0:1].push(t)},function(){return[[],[]]});function Bl(n,t,e){var r=O(n)?Hr:Es,s=arguments.length<3;return r(n,x(t,4),e,s,rt)}function Gl(n,t,e){var r=O(n)?nf:Es,s=arguments.length<3;return r(n,x(t,4),e,s,zs)}function zl(n,t){var e=O(n)?jn:Ks;return e(n,ur(x(t,3)))}function Kl(n){var t=O(n)?Ms:Uc;return t(n)}function Yl(n,t,e){(e?rn(n,t,e):t===i)?t=1:t=R(t);var r=O(n)?dc:Wc;return r(n,t)}function Zl(n){var t=O(n)?gc:Mc;return t(n)}function Jl(n){if(n==null)return 0;if(an(n))return or(n)?Dt(n):n.length;var t=tn(n);return t==yn||t==Sn?n.size:jr(n).length}function Xl(n,t,e){var r=O(n)?Nr:qc;return e&&rn(n,t,e)&&(t=i),r(n,x(t,3))}var Ql=T(function(n,t){if(n==null)return[];var e=t.length;return e>1&&rn(n,t[0],t[1])?t=[]:e>2&&rn(t[0],t[1],t[2])&&(t=[t[0]]),tu(n,j(t,1),[])}),ir=bf||function(){return k.Date.now()};function Vl(n,t){if(typeof t!=\"function\")throw new wn(D);return n=R(n),function(){if(--n<1)return t.apply(this,arguments)}}function Xu(n,t,e){return t=e?i:t,t=n&&t==null?n.length:t,Kn(n,Mn,i,i,i,i,t)}function Qu(n,t){var e;if(typeof t!=\"function\")throw new wn(D);return n=R(n),function(){return--n>0&&(e=t.apply(this,arguments)),n<=1&&(t=i),e}}var Ii=T(function(n,t,e){var r=vn;if(e.length){var s=tt(e,qt(Ii));r|=Hn}return Kn(n,r,t,e,s)}),Vu=T(function(n,t,e){var r=vn|ct;if(e.length){var s=tt(e,qt(Vu));r|=Hn}return Kn(t,r,n,e,s)});function ku(n,t,e){t=e?i:t;var r=Kn(n,Dn,i,i,i,i,i,t);return r.placeholder=ku.placeholder,r}function ju(n,t,e){t=e?i:t;var r=Kn(n,yt,i,i,i,i,i,t);return r.placeholder=ju.placeholder,r}function na(n,t,e){var r,s,o,f,c,l,v=0,_=!1,m=!1,P=!0;if(typeof n!=\"function\")throw new wn(D);t=xn(t)||0,K(e)&&(_=!!e.leading,m=\"maxWait\"in e,o=m?Q(xn(e.maxWait)||0,t):o,P=\"trailing\"in e?!!e.trailing:P);function I(J){var Tn=r,Qn=s;return r=s=i,v=J,f=n.apply(Qn,Tn),f}function E(J){return v=J,c=le(H,t),_?I(J):f}function b(J){var Tn=J-l,Qn=J-v,wa=t-Tn;return m?nn(wa,o-Qn):wa}function y(J){var Tn=J-l,Qn=J-v;return l===i||Tn>=t||Tn<0||m&&Qn>=o}function H(){var J=ir();if(y(J))return $(J);c=le(H,b(J))}function $(J){return c=i,P&&r?I(J):(r=s=i,f)}function dn(){c!==i&&cu(c),v=0,r=l=s=c=i}function sn(){return c===i?f:$(ir())}function gn(){var J=ir(),Tn=y(J);if(r=arguments,s=this,l=J,Tn){if(c===i)return E(l);if(m)return cu(c),c=le(H,t),I(l)}return c===i&&(c=le(H,t)),f}return gn.cancel=dn,gn.flush=sn,gn}var kl=T(function(n,t){return Gs(n,1,t)}),jl=T(function(n,t,e){return Gs(n,xn(t)||0,e)});function np(n){return Kn(n,dr)}function sr(n,t){if(typeof n!=\"function\"||t!=null&&typeof t!=\"function\")throw new wn(D);var e=function(){var r=arguments,s=t?t.apply(this,r):r[0],o=e.cache;if(o.has(s))return o.get(s);var f=n.apply(this,r);return e.cache=o.set(s,f)||o,f};return e.cache=new(sr.Cache||Gn),e}sr.Cache=Gn;function ur(n){if(typeof n!=\"function\")throw new wn(D);return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:return!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}function tp(n){return Qu(2,n)}var ep=Bc(function(n,t){t=t.length==1&&O(t[0])?G(t[0],hn(x())):G(j(t,1),hn(x()));var e=t.length;return T(function(r){for(var s=-1,o=nn(r.length,e);++s=t}),Pt=Js(function(){return arguments}())?Js:function(n){return Y(n)&&F.call(n,\"callee\")&&!Hs.call(n,\"callee\")},O=p.isArray,_p=gs?hn(gs):Ec;function an(n){return n!=null&&ar(n.length)&&!Jn(n)}function Z(n){return Y(n)&&an(n)}function mp(n){return n===!0||n===!1||Y(n)&&en(n)==Yt}var at=Lf||Ni,wp=vs?hn(vs):yc;function Pp(n){return Y(n)&&n.nodeType===1&&!pe(n)}function Ap(n){if(n==null)return!0;if(an(n)&&(O(n)||typeof n==\"string\"||typeof n.splice==\"function\"||at(n)||Bt(n)||Pt(n)))return!n.length;var t=tn(n);if(t==yn||t==Sn)return!n.size;if(he(n))return!jr(n).length;for(var e in n)if(F.call(n,e))return!1;return!0}function Cp(n,t){return oe(n,t)}function Ip(n,t,e){e=typeof e==\"function\"?e:i;var r=e?e(n,t):i;return r===i?oe(n,t,i,e):!!r}function Ei(n){if(!Y(n))return!1;var t=en(n);return t==we||t==za||typeof n.message==\"string\"&&typeof n.name==\"string\"&&!pe(n)}function xp(n){return typeof n==\"number\"&&$s(n)}function Jn(n){if(!K(n))return!1;var t=en(n);return t==Pe||t==Gi||t==Ga||t==Ya}function ea(n){return typeof n==\"number\"&&n==R(n)}function ar(n){return typeof n==\"number\"&&n>-1&&n%1==0&&n<=kn}function K(n){var t=typeof n;return n!=null&&(t==\"object\"||t==\"function\")}function Y(n){return n!=null&&typeof n==\"object\"}var ra=_s?hn(_s):Oc;function Ep(n,t){return n===t||kr(n,t,gi(t))}function yp(n,t,e){return e=typeof e==\"function\"?e:i,kr(n,t,gi(t),e)}function Sp(n){return ia(n)&&n!=+n}function Op(n){if(hh(n))throw new S(L);return Xs(n)}function Rp(n){return n===null}function bp(n){return n==null}function ia(n){return typeof n==\"number\"||Y(n)&&en(n)==Jt}function pe(n){if(!Y(n)||en(n)!=qn)return!1;var t=He(n);if(t===null)return!0;var e=F.call(t,\"constructor\")&&t.constructor;return typeof e==\"function\"&&e instanceof e&&be.call(e)==yf}var yi=ms?hn(ms):Rc;function Tp(n){return ea(n)&&n>=-kn&&n<=kn}var sa=ws?hn(ws):bc;function or(n){return typeof n==\"string\"||!O(n)&&Y(n)&&en(n)==Qt}function pn(n){return typeof n==\"symbol\"||Y(n)&&en(n)==Ae}var Bt=Ps?hn(Ps):Tc;function Lp(n){return n===i}function Dp(n){return Y(n)&&tn(n)==Vt}function Hp(n){return Y(n)&&en(n)==Ja}var Np=ke(ni),$p=ke(function(n,t){return n<=t});function ua(n){if(!n)return[];if(an(n))return or(n)?On(n):un(n);if(ne&&n[ne])return df(n[ne]());var t=tn(n),e=t==yn?qr:t==Sn?Se:Gt;return e(n)}function Xn(n){if(!n)return n===0?n:0;if(n=xn(n),n===ht||n===-ht){var t=n<0?-1:1;return t*Fa}return n===n?n:0}function R(n){var t=Xn(n),e=t%1;return t===t?e?t-e:t:0}function aa(n){return n?vt(R(n),0,Nn):0}function xn(n){if(typeof n==\"number\")return n;if(pn(n))return _e;if(K(n)){var t=typeof n.valueOf==\"function\"?n.valueOf():n;n=K(t)?t+\"\":t}if(typeof n!=\"string\")return n===0?n:+n;n=ys(n);var e=vo.test(n);return e||mo.test(n)?Qo(n.slice(2),e?2:8):go.test(n)?_e:+n}function oa(n){return Un(n,on(n))}function Up(n){return n?vt(R(n),-kn,kn):n===0?n:0}function W(n){return n==null?\"\":ln(n)}var Wp=Ft(function(n,t){if(he(t)||an(t)){Un(t,V(t),n);return}for(var e in t)F.call(t,e)&&se(n,e,t[e])}),fa=Ft(function(n,t){Un(t,on(t),n)}),fr=Ft(function(n,t,e,r){Un(t,on(t),n,r)}),Fp=Ft(function(n,t,e,r){Un(t,V(t),n,r)}),Mp=Yn(Zr);function qp(n,t){var e=Wt(n);return t==null?e:qs(e,t)}var Bp=T(function(n,t){n=M(n);var e=-1,r=t.length,s=r>2?t[2]:i;for(s&&rn(t[0],t[1],s)&&(r=1);++e1),o}),Un(n,pi(n),e),r&&(e=An(e,Ln|Fn|xt,jc));for(var s=t.length;s--;)si(e,t[s]);return e});function ud(n,t){return ha(n,ur(x(t)))}var ad=Yn(function(n,t){return n==null?{}:Hc(n,t)});function ha(n,t){if(n==null)return{};var e=G(pi(n),function(r){return[r]});return t=x(t),eu(n,e,function(r,s){return t(r,s[0])})}function od(n,t,e){t=st(t,n);var r=-1,s=t.length;for(s||(s=1,n=i);++rt){var r=n;n=t,t=r}if(e||n%1||t%1){var s=Us();return nn(n+s*(t-n+Xo(\"1e-\"+((s+\"\").length-1))),t)}return ei(n,t)}var wd=Mt(function(n,t,e){return t=t.toLowerCase(),n+(e?da(t):t)});function da(n){return Ri(W(n).toLowerCase())}function ga(n){return n=W(n),n&&n.replace(Po,ff).replace(Fo,\"\")}function Pd(n,t,e){n=W(n),t=ln(t);var r=n.length;e=e===i?r:vt(R(e),0,r);var s=e;return e-=t.length,e>=0&&n.slice(e,s)==t}function Ad(n){return n=W(n),n&&ja.test(n)?n.replace(Yi,cf):n}function Cd(n){return n=W(n),n&&so.test(n)?n.replace(xr,\"\\\\$&\"):n}var Id=Mt(function(n,t,e){return n+(e?\"-\":\"\")+t.toLowerCase()}),xd=Mt(function(n,t,e){return n+(e?\" \":\"\")+t.toLowerCase()}),Ed=mu(\"toLowerCase\");function yd(n,t,e){n=W(n),t=R(t);var r=t?Dt(n):0;if(!t||r>=t)return n;var s=(t-r)/2;return Ve(We(s),e)+n+Ve(Ue(s),e)}function Sd(n,t,e){n=W(n),t=R(t);var r=t?Dt(n):0;return t&&r>>0,e?(n=W(n),n&&(typeof t==\"string\"||t!=null&&!yi(t))&&(t=ln(t),!t&&Lt(n))?ut(On(n),0,e):n.split(t,e)):[]}var Hd=Mt(function(n,t,e){return n+(e?\" \":\"\")+Ri(t)});function Nd(n,t,e){return n=W(n),e=e==null?0:vt(R(e),0,n.length),t=ln(t),n.slice(e,e+t.length)==t}function $d(n,t,e){var r=a.templateSettings;e&&rn(n,t,e)&&(t=i),n=W(n),t=fr({},t,r,Eu);var s=fr({},t.imports,r.imports,Eu),o=V(s),f=Mr(s,o),c,l,v=0,_=t.interpolate||Ce,m=\"__p += '\",P=Br((t.escape||Ce).source+\"|\"+_.source+\"|\"+(_===Zi?po:Ce).source+\"|\"+(t.evaluate||Ce).source+\"|$\",\"g\"),I=\"//# sourceURL=\"+(F.call(t,\"sourceURL\")?(t.sourceURL+\"\").replace(/\\s/g,\" \"):\"lodash.templateSources[\"+ ++zo+\"]\")+`\n`;n.replace(P,function(y,H,$,dn,sn,gn){return $||($=dn),m+=n.slice(v,gn).replace(Ao,hf),H&&(c=!0,m+=`' +\n__e(`+H+`) +\n'`),sn&&(l=!0,m+=`';\n`+sn+`;\n__p += '`),$&&(m+=`' +\n((__t = (`+$+`)) == null ? '' : __t) +\n'`),v=gn+y.length,y}),m+=`';\n`;var E=F.call(t,\"variable\")&&t.variable;if(!E)m=`with (obj) {\n`+m+`\n}\n`;else if(ho.test(E))throw new S(En);m=(l?m.replace(Xa,\"\"):m).replace(Qa,\"$1\").replace(Va,\"$1;\"),m=\"function(\"+(E||\"obj\")+`) {\n`+(E?\"\":`obj || (obj = {});\n`)+\"var __t, __p = ''\"+(c?\", __e = _.escape\":\"\")+(l?`, __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n`:`;\n`)+m+`return __p\n}`;var b=_a(function(){return U(o,I+\"return \"+m).apply(i,f)});if(b.source=m,Ei(b))throw b;return b}function Ud(n){return W(n).toLowerCase()}function Wd(n){return W(n).toUpperCase()}function Fd(n,t,e){if(n=W(n),n&&(e||t===i))return ys(n);if(!n||!(t=ln(t)))return n;var r=On(n),s=On(t),o=Ss(r,s),f=Os(r,s)+1;return ut(r,o,f).join(\"\")}function Md(n,t,e){if(n=W(n),n&&(e||t===i))return n.slice(0,bs(n)+1);if(!n||!(t=ln(t)))return n;var r=On(n),s=Os(r,On(t))+1;return ut(r,0,s).join(\"\")}function qd(n,t,e){if(n=W(n),n&&(e||t===i))return n.replace(Er,\"\");if(!n||!(t=ln(t)))return n;var r=On(n),s=Ss(r,On(t));return ut(r,s).join(\"\")}function Bd(n,t){var e=Da,r=Ha;if(K(t)){var s=\"separator\"in t?t.separator:s;e=\"length\"in t?R(t.length):e,r=\"omission\"in t?ln(t.omission):r}n=W(n);var o=n.length;if(Lt(n)){var f=On(n);o=f.length}if(e>=o)return n;var c=e-Dt(r);if(c<1)return r;var l=f?ut(f,0,c).join(\"\"):n.slice(0,c);if(s===i)return l+r;if(f&&(c+=l.length-c),yi(s)){if(n.slice(c).search(s)){var v,_=l;for(s.global||(s=Br(s.source,W(Ji.exec(s))+\"g\")),s.lastIndex=0;v=s.exec(_);)var m=v.index;l=l.slice(0,m===i?c:m)}}else if(n.indexOf(ln(s),c)!=c){var P=l.lastIndexOf(s);P>-1&&(l=l.slice(0,P))}return l+r}function Gd(n){return n=W(n),n&&ka.test(n)?n.replace(Ki,mf):n}var zd=Mt(function(n,t,e){return n+(e?\" \":\"\")+t.toUpperCase()}),Ri=mu(\"toUpperCase\");function va(n,t,e){return n=W(n),t=e?i:t,t===i?pf(n)?Af(n):rf(n):n.match(t)||[]}var _a=T(function(n,t){try{return cn(n,i,t)}catch(e){return Ei(e)?e:new S(e)}}),Kd=Yn(function(n,t){return mn(t,function(e){e=Wn(e),zn(n,e,Ii(n[e],n))}),n});function Yd(n){var t=n==null?0:n.length,e=x();return n=t?G(n,function(r){if(typeof r[1]!=\"function\")throw new wn(D);return[e(r[0]),r[1]]}):[],T(function(r){for(var s=-1;++skn)return[];var e=Nn,r=nn(n,Nn);t=x(t),n-=Nn;for(var s=Fr(r,t);++e0||t<0)?new N(e):(n<0?e=e.takeRight(-n):n&&(e=e.drop(n)),t!==i&&(t=R(t),e=t<0?e.dropRight(-t):e.take(t-n)),e)},N.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},N.prototype.toArray=function(){return this.take(Nn)},$n(N.prototype,function(n,t){var e=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),s=a[r?\"take\"+(t==\"last\"?\"Right\":\"\"):t],o=r||/^find/.test(t);s&&(a.prototype[t]=function(){var f=this.__wrapped__,c=r?[1]:arguments,l=f instanceof N,v=c[0],_=l||O(f),m=function(H){var $=s.apply(a,nt([H],c));return r&&P?$[0]:$};_&&e&&typeof v==\"function\"&&v.length!=1&&(l=_=!1);var P=this.__chain__,I=!!this.__actions__.length,E=o&&!P,b=l&&!I;if(!o&&_){f=b?f:new N(this);var y=n.apply(f,c);return y.__actions__.push({func:er,args:[m],thisArg:i}),new Pn(y,P)}return E&&b?n.apply(this,c):(y=this.thru(m),E?r?y.value()[0]:y.value():y)})}),mn([\"pop\",\"push\",\"shift\",\"sort\",\"splice\",\"unshift\"],function(n){var t=Oe[n],e=/^(?:push|sort|unshift)$/.test(n)?\"tap\":\"thru\",r=/^(?:pop|shift)$/.test(n);a.prototype[n]=function(){var s=arguments;if(r&&!this.__chain__){var o=this.value();return t.apply(O(o)?o:[],s)}return this[e](function(f){return t.apply(O(f)?f:[],s)})}}),$n(N.prototype,function(n,t){var e=a[t];if(e){var r=e.name+\"\";F.call(Ut,r)||(Ut[r]=[]),Ut[r].push({name:t,func:e})}}),Ut[Xe(i,ct).name]=[{name:\"wrapper\",func:i}],N.prototype.clone=Gf,N.prototype.reverse=zf,N.prototype.value=Kf,a.prototype.at=Pl,a.prototype.chain=Al,a.prototype.commit=Cl,a.prototype.next=Il,a.prototype.plant=El,a.prototype.reverse=yl,a.prototype.toJSON=a.prototype.valueOf=a.prototype.value=Sl,a.prototype.first=a.prototype.head,ne&&(a.prototype[ne]=xl),a},Ht=Cf();lt?((lt.exports=Ht)._=Ht,Tr._=Ht):k._=Ht}).call(ge)})(Ui,Ui.exports);var Gg=Object.defineProperty,zg=Object.defineProperties,Kg=Object.getOwnPropertyDescriptors,Ea=Object.getOwnPropertySymbols,Yg=Object.prototype.hasOwnProperty,Zg=Object.prototype.propertyIsEnumerable,ya=(A,u,i)=>u in A?Gg(A,u,{enumerable:!0,configurable:!0,writable:!0,value:i}):A[u]=i,cr=(A,u)=>{for(var i in u||(u={}))Yg.call(u,i)&&ya(A,i,u[i]);if(Ea)for(var i of Ea(u))Zg.call(u,i)&&ya(A,i,u[i]);return A},Jg=(A,u)=>zg(A,Kg(u));function ft(A,u,i){var d;const w=Dg(A);return((d=u.rpcMap)==null?void 0:d[w.reference])||`${Bg}?chainId=${w.namespace}:${w.reference}&projectId=${i}`}function Ct(A){return A.includes(\":\")?A.split(\":\")[1]:A}function Sa(A){return A.map(u=>`${u.split(\":\")[0]}:${u.split(\":\")[1]}`)}function Xg(A,u){const i=Object.keys(u.namespaces).filter(w=>w.includes(A));if(!i.length)return[];const d=[];return i.forEach(w=>{const L=u.namespaces[w].accounts;d.push(...L)}),d}function Oa(A={},u={}){const i=Ra(A),d=Ra(u);return Ui.exports.merge(i,d)}function Ra(A){var u,i,d,w;const L={};if(!Lg(A))return L;for(const[D,En]of Object.entries(A)){const zt=Pa(D)?[D]:En.chains,pr=En.methods||[],It=En.events||[],Ln=En.rpcMap||{},Fn=de(D);L[Fn]=Jg(cr(cr({},L[Fn]),En),{chains:$i(zt,(u=L[Fn])==null?void 0:u.chains),methods:$i(pr,(i=L[Fn])==null?void 0:i.methods),events:$i(It,(d=L[Fn])==null?void 0:d.events),rpcMap:cr(cr({},Ln),(w=L[Fn])==null?void 0:w.rpcMap)})}return L}function Qg(A){return A.includes(\":\")?A.split(\":\")[2]:A}function Vg(A){const u={};for(const[i,d]of Object.entries(A)){const w=d.methods||[],L=d.events||[],D=d.accounts||[],En=Pa(i)?[i]:d.chains?d.chains:Sa(d.accounts);u[i]={chains:En,methods:w,events:L,accounts:D}}return u}function Wi(A){return typeof A==\"number\"?A:A.includes(\"0x\")?parseInt(A,16):(A=A.includes(\":\")?A.split(\":\")[1]:A,isNaN(Number(A))?A:Number(A))}const ba={},z=A=>ba[A],Fi=(A,u)=>{ba[A]=u};class kg{constructor(u){this.name=\"polkadot\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){this.httpProviders[u]||this.setHttpProvider(u,i),this.chainId=u,this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${u}`)}getAccounts(){const u=this.namespace.accounts;return u?u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2])||[]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var d;const w=Ct(i);u[w]=this.createHttpProvider(w,(d=this.namespace.rpcMap)==null?void 0:d[i])}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}setHttpProvider(u,i){const d=this.createHttpProvider(u,i);d&&(this.httpProviders[u]=d)}createHttpProvider(u,i){const d=i||ft(u,this.namespace,this.client.core.projectId);if(!d)throw new Error(`No RPC url provided for chainId: ${u}`);return new ot(new At(d,z(\"disableProviderPing\")))}}class jg{constructor(u){this.name=\"eip155\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(u){switch(u.request.method){case\"eth_requestAccounts\":return this.getAccounts();case\"eth_accounts\":return this.getAccounts();case\"wallet_switchEthereumChain\":return await this.handleSwitchChain(u);case\"eth_chainId\":return parseInt(this.getDefaultChain())}return this.namespace.methods.includes(u.request.method)?await this.client.request(u):this.getHttpProvider().request(u.request)}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}setDefaultChain(u,i){this.httpProviders[u]||this.setHttpProvider(parseInt(u),i),this.chainId=parseInt(u),this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${u}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}createHttpProvider(u,i){const d=i||ft(`${this.name}:${u}`,this.namespace,this.client.core.projectId);if(!d)throw new Error(`No RPC url provided for chainId: ${u}`);return new ot(new $g(d,z(\"disableProviderPing\")))}setHttpProvider(u,i){const d=this.createHttpProvider(u,i);d&&(this.httpProviders[u]=d)}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var d;const w=parseInt(Ct(i));u[w]=this.createHttpProvider(w,(d=this.namespace.rpcMap)==null?void 0:d[i])}),u}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}getHttpProvider(){const u=this.chainId,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}async handleSwitchChain(u){var i,d;let w=u.request.params?(i=u.request.params[0])==null?void 0:i.chainId:\"0x0\";w=w.startsWith(\"0x\")?w:`0x${w}`;const L=parseInt(w,16);if(this.isChainApproved(L))this.setDefaultChain(`${L}`);else if(this.namespace.methods.includes(\"wallet_switchEthereumChain\"))await this.client.request({topic:u.topic,request:{method:u.request.method,params:[{chainId:w}]},chainId:(d=this.namespace.chains)==null?void 0:d[0]}),this.setDefaultChain(`${L}`);else throw new Error(`Failed to switch to chain 'eip155:${L}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);return null}isChainApproved(u){return this.namespace.chains.includes(`${this.name}:${u}`)}}class nv{constructor(u){this.name=\"solana\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){this.httpProviders[u]||this.setHttpProvider(u,i),this.chainId=u,this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${u}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var d;const w=Ct(i);u[w]=this.createHttpProvider(w,(d=this.namespace.rpcMap)==null?void 0:d[i])}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}setHttpProvider(u,i){const d=this.createHttpProvider(u,i);d&&(this.httpProviders[u]=d)}createHttpProvider(u,i){const d=i||ft(u,this.namespace,this.client.core.projectId);if(!d)throw new Error(`No RPC url provided for chainId: ${u}`);return new ot(new At(d,z(\"disableProviderPing\")))}}class tv{constructor(u){this.name=\"cosmos\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){this.httpProviders[u]||this.setHttpProvider(u,i),this.chainId=u,this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var d;const w=Ct(i);u[w]=this.createHttpProvider(w,(d=this.namespace.rpcMap)==null?void 0:d[i])}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}setHttpProvider(u,i){const d=this.createHttpProvider(u,i);d&&(this.httpProviders[u]=d)}createHttpProvider(u,i){const d=i||ft(u,this.namespace,this.client.core.projectId);if(!d)throw new Error(`No RPC url provided for chainId: ${u}`);return new ot(new At(d,z(\"disableProviderPing\")))}}class ev{constructor(u){this.name=\"cip34\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){this.httpProviders[u]||this.setHttpProvider(u,i),this.chainId=u,this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{const d=this.getCardanoRPCUrl(i),w=Ct(i);u[w]=this.createHttpProvider(w,d)}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}getCardanoRPCUrl(u){const i=this.namespace.rpcMap;if(i)return i[u]}setHttpProvider(u,i){const d=this.createHttpProvider(u,i);d&&(this.httpProviders[u]=d)}createHttpProvider(u,i){const d=i||this.getCardanoRPCUrl(u);if(!d)throw new Error(`No RPC url provided for chainId: ${u}`);return new ot(new At(d,z(\"disableProviderPing\")))}}class rv{constructor(u){this.name=\"elrond\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){this.httpProviders[u]||this.setHttpProvider(u,i),this.chainId=u,this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${u}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var d;const w=Ct(i);u[w]=this.createHttpProvider(w,(d=this.namespace.rpcMap)==null?void 0:d[i])}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}setHttpProvider(u,i){const d=this.createHttpProvider(u,i);d&&(this.httpProviders[u]=d)}createHttpProvider(u,i){const d=i||ft(u,this.namespace,this.client.core.projectId);if(!d)throw new Error(`No RPC url provided for chainId: ${u}`);return new ot(new At(d,z(\"disableProviderPing\")))}}class iv{constructor(u){this.name=\"multiversx\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){this.httpProviders[u]||this.setHttpProvider(u,i),this.chainId=u,this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${u}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var d;const w=Ct(i);u[w]=this.createHttpProvider(w,(d=this.namespace.rpcMap)==null?void 0:d[i])}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}setHttpProvider(u,i){const d=this.createHttpProvider(u,i);d&&(this.httpProviders[u]=d)}createHttpProvider(u,i){const d=i||ft(u,this.namespace,this.client.core.projectId);if(!d)throw new Error(`No RPC url provided for chainId: ${u}`);return new ot(new At(d,z(\"disableProviderPing\")))}}class sv{constructor(u){this.name=\"near\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){if(this.chainId=u,!this.httpProviders[u]){const d=i||ft(`${this.name}:${u}`,this.namespace);if(!d)throw new Error(`No RPC url provided for chainId: ${u}`);this.setHttpProvider(u,d)}this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const u=this.namespace.accounts;return u?u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2])||[]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var d;u[i]=this.createHttpProvider(i,(d=this.namespace.rpcMap)==null?void 0:d[i])}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}setHttpProvider(u,i){const d=this.createHttpProvider(u,i);d&&(this.httpProviders[u]=d)}createHttpProvider(u,i){const d=i||ft(u,this.namespace);return typeof d>\"u\"?void 0:new ot(new At(d,z(\"disableProviderPing\")))}}var uv=Object.defineProperty,av=Object.defineProperties,ov=Object.getOwnPropertyDescriptors,Ta=Object.getOwnPropertySymbols,fv=Object.prototype.hasOwnProperty,cv=Object.prototype.propertyIsEnumerable,La=(A,u,i)=>u in A?uv(A,u,{enumerable:!0,configurable:!0,writable:!0,value:i}):A[u]=i,hr=(A,u)=>{for(var i in u||(u={}))fv.call(u,i)&&La(A,i,u[i]);if(Ta)for(var i of Ta(u))cv.call(u,i)&&La(A,i,u[i]);return A},Mi=(A,u)=>av(A,ov(u));class lr{constructor(u){this.events=new Ug,this.rpcProviders={},this.shouldAbortPairingAttempt=!1,this.maxPairingAttempts=10,this.disableProviderPing=!1,this.providerOpts=u,this.logger=typeof u?.logger<\"u\"&&typeof u?.logger!=\"string\"?u.logger:Hg(Ng({level:u?.logger||Ia})),this.disableProviderPing=u?.disableProviderPing||!1}static async init(u){const i=new lr(u);return await i.initialize(),i}async request(u,i,d){const[w,L]=this.validateChain(i);if(!this.session)throw new Error(\"Please call connect() before request()\");return await this.getProvider(w).request({request:hr({},u),chainId:`${w}:${L}`,topic:this.session.topic,expiry:d})}sendAsync(u,i,d,w){const L=new Date().getTime();this.request(u,d,w).then(D=>i(null,Wg(L,D))).catch(D=>i(D,void 0))}async enable(){if(!this.client)throw new Error(\"Sign Client not initialized\");return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties}),await this.requestAccounts()}async disconnect(){var u;if(!this.session)throw new Error(\"Please call connect() before enable()\");await this.client.disconnect({topic:(u=this.session)==null?void 0:u.topic,reason:Aa(\"USER_DISCONNECTED\")}),await this.cleanup()}async connect(u){if(!this.client)throw new Error(\"Sign Client not initialized\");if(this.setNamespaces(u),await this.cleanupPendingPairings(),!u.skipPairing)return await this.pair(u.pairingTopic)}on(u,i){this.events.on(u,i)}once(u,i){this.events.once(u,i)}removeListener(u,i){this.events.removeListener(u,i)}off(u,i){this.events.off(u,i)}get isWalletConnect(){return!0}async pair(u){this.shouldAbortPairingAttempt=!1;let i=0;do{if(this.shouldAbortPairingAttempt)throw new Error(\"Pairing aborted\");if(i>=this.maxPairingAttempts)throw new Error(\"Max auto pairing attempts reached\");const{uri:d,approval:w}=await this.client.connect({pairingTopic:u,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties});d&&(this.uri=d,this.events.emit(\"display_uri\",d)),await w().then(L=>{this.session=L;const D=Vg(L.namespaces);this.namespaces=Oa(this.namespaces,D),this.persist(\"namespaces\",this.namespaces)}).catch(L=>{if(L.message!==Tg)throw L;i++})}while(!this.session);return this.onConnect(),this.session}setDefaultChain(u,i){try{if(!this.session)return;const[d,w]=this.validateChain(u);this.getProvider(d).setDefaultChain(w,i)}catch(d){if(!/Please call connect/.test(d.message))throw d}}async cleanupPendingPairings(u={}){this.logger.info(\"Cleaning up inactive pairings...\");const i=this.client.pairing.getAll();if(Ca(i)){for(const d of i)u.deletePairings?this.client.core.expirer.set(d.topic,0):await this.client.core.relayer.subscriber.unsubscribe(d.topic);this.logger.info(`Inactive pairings cleared: ${i.length}`)}}abortPairingAttempt(){this.shouldAbortPairingAttempt=!0}async checkStorage(){if(this.namespaces=await this.getFromStore(\"namespaces\"),this.optionalNamespaces=await this.getFromStore(\"optionalNamespaces\")||{},this.client.session.length){const u=this.client.session.keys.length-1;this.session=this.client.session.get(this.client.session.keys[u]),this.createProviders()}}async initialize(){this.logger.trace(\"Initialized\"),await this.createClient(),await this.checkStorage(),this.registerEventListeners()}async createClient(){this.client=this.providerOpts.client||await bg.init({logger:this.providerOpts.logger||Ia,relayUrl:this.providerOpts.relayUrl||Fg,projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name}),this.logger.trace(\"SignClient Initialized\")}createProviders(){if(!this.client)throw new Error(\"Sign Client not initialized\");if(!this.session)throw new Error(\"Session not initialized. Please call connect() before enable()\");const u=[...new Set(Object.keys(this.session.namespaces).map(i=>de(i)))];Fi(\"client\",this.client),Fi(\"events\",this.events),Fi(\"disableProviderPing\",this.disableProviderPing),u.forEach(i=>{if(!this.session)return;const d=Xg(i,this.session),w=Sa(d),L=Oa(this.namespaces,this.optionalNamespaces),D=Mi(hr({},L[i]),{accounts:d,chains:w});switch(i){case\"eip155\":this.rpcProviders[i]=new jg({namespace:D});break;case\"solana\":this.rpcProviders[i]=new nv({namespace:D});break;case\"cosmos\":this.rpcProviders[i]=new tv({namespace:D});break;case\"polkadot\":this.rpcProviders[i]=new kg({namespace:D});break;case\"cip34\":this.rpcProviders[i]=new ev({namespace:D});break;case\"elrond\":this.rpcProviders[i]=new rv({namespace:D});break;case\"multiversx\":this.rpcProviders[i]=new iv({namespace:D});break;case\"near\":this.rpcProviders[i]=new sv({namespace:D});break}})}registerEventListeners(){if(typeof this.client>\"u\")throw new Error(\"Sign Client is not initialized\");this.client.on(\"session_ping\",u=>{this.events.emit(\"session_ping\",u)}),this.client.on(\"session_event\",u=>{const{params:i}=u,{event:d}=i;if(d.name===\"accountsChanged\"){const w=d.data;w&&Ca(w)&&this.events.emit(\"accountsChanged\",w.map(Qg))}else if(d.name===\"chainChanged\"){const w=i.chainId,L=i.event.data,D=de(w),En=Wi(w)!==Wi(L)?`${D}:${Wi(L)}`:w;this.onChainChanged(En)}else this.events.emit(d.name,d.data);this.events.emit(\"session_event\",u)}),this.client.on(\"session_update\",({topic:u,params:i})=>{var d;const{namespaces:w}=i,L=(d=this.client)==null?void 0:d.session.get(u);this.session=Mi(hr({},L),{namespaces:w}),this.onSessionUpdate(),this.events.emit(\"session_update\",{topic:u,params:i})}),this.client.on(\"session_delete\",async u=>{await this.cleanup(),this.events.emit(\"session_delete\",u),this.events.emit(\"disconnect\",Mi(hr({},Aa(\"USER_DISCONNECTED\")),{data:u.topic}))}),this.on(Vn.DEFAULT_CHAIN_CHANGED,u=>{this.onChainChanged(u,!0)})}getProvider(u){if(!this.rpcProviders[u])throw new Error(`Provider not found: ${u}`);return this.rpcProviders[u]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(u=>{var i;this.getProvider(u).updateNamespace((i=this.session)==null?void 0:i.namespaces[u])})}setNamespaces(u){const{namespaces:i,optionalNamespaces:d,sessionProperties:w}=u;i&&Object.keys(i).length&&(this.namespaces=i),d&&Object.keys(d).length&&(this.optionalNamespaces=d),this.sessionProperties=w,this.persist(\"namespaces\",i),this.persist(\"optionalNamespaces\",d)}validateChain(u){const[i,d]=u?.split(\":\")||[\"\",\"\"];if(!this.namespaces||!Object.keys(this.namespaces).length)return[i,d];if(i&&!Object.keys(this.namespaces||{}).map(D=>de(D)).includes(i))throw new Error(`Namespace '${i}' is not configured. Please call connect() first with namespace config.`);if(i&&d)return[i,d];const w=de(Object.keys(this.namespaces)[0]),L=this.rpcProviders[w].getDefaultChain();return[w,L]}async requestAccounts(){const[u]=this.validateChain();return await this.getProvider(u).requestAccounts()}onChainChanged(u,i=!1){if(!this.namespaces)return;const[d,w]=this.validateChain(u);w&&(i||this.getProvider(d).setDefaultChain(w),this.namespaces[d]?this.namespaces[d].defaultChain=w:this.namespaces[`${d}:${w}`]?this.namespaces[`${d}:${w}`].defaultChain=w:this.namespaces[`${d}:${w}`]={defaultChain:w},this.persist(\"namespaces\",this.namespaces),this.events.emit(\"chainChanged\",w))}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(u,i){this.client.core.storage.setItem(`${xa}/${u}`,i)}async getFromStore(u){return await this.client.core.storage.getItem(`${xa}/${u}`)}}const hv=lr;export{hv as UniversalProvider,lr as default};\n//# sourceMappingURL=index.es.js.map\n","import{EventEmitter as b}from\"events\";import{getAccountsFromNamespaces as A,getSdkError as R,isValidArray as w}from\"@walletconnect/utils\";import{UniversalProvider as T}from\"@walletconnect/universal-provider\";const P=\"wc\",S=\"ethereum_provider\",$=`${P}@2:${S}:`,j=\"https://rpc.walletconnect.com/v1/\",u=[\"eth_sendTransaction\",\"personal_sign\"],E=[\"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\"],m=[\"chainChanged\",\"accountsChanged\"],_=[\"chainChanged\",\"accountsChanged\",\"message\",\"disconnect\",\"connect\"];var N=Object.defineProperty,q=Object.defineProperties,D=Object.getOwnPropertyDescriptors,y=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,Q=Object.prototype.propertyIsEnumerable,O=(a,t,s)=>t in a?N(a,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[t]=s,p=(a,t)=>{for(var s in t||(t={}))U.call(t,s)&&O(a,s,t[s]);if(y)for(var s of y(t))Q.call(t,s)&&O(a,s,t[s]);return a},M=(a,t)=>q(a,D(t));function g(a){return Number(a[0].split(\":\")[1])}function f(a){return`0x${a.toString(16)}`}function L(a){const{chains:t,optionalChains:s,methods:i,optionalMethods:n,events:e,optionalEvents:h,rpcMap:c}=a;if(!w(t))throw new Error(\"Invalid chains\");const o={chains:t,methods:i||u,events:e||m,rpcMap:p({},t.length?{[g(t)]:c[g(t)]}:{})},r=e?.filter(l=>!m.includes(l)),d=i?.filter(l=>!u.includes(l));if(!s&&!h&&!n&&!(r!=null&&r.length)&&!(d!=null&&d.length))return{required:t.length?o:void 0};const C=r?.length&&d?.length||!s,I={chains:[...new Set(C?o.chains.concat(s||[]):s)],methods:[...new Set(o.methods.concat(n!=null&&n.length?n:E))],events:[...new Set(o.events.concat(h!=null&&h.length?h:_))],rpcMap:c};return{required:t.length?o:void 0,optional:s.length?I:void 0}}class v{constructor(){this.events=new b,this.namespace=\"eip155\",this.accounts=[],this.chainId=1,this.STORAGE_KEY=$,this.on=(t,s)=>(this.events.on(t,s),this),this.once=(t,s)=>(this.events.once(t,s),this),this.removeListener=(t,s)=>(this.events.removeListener(t,s),this),this.off=(t,s)=>(this.events.off(t,s),this),this.parseAccount=t=>this.isCompatibleChainId(t)?this.parseAccountId(t).address:t,this.signer={},this.rpc={}}static async init(t){const s=new v;return await s.initialize(t),s}async request(t,s){return await this.signer.request(t,this.formatChainId(this.chainId),s)}sendAsync(t,s,i){this.signer.sendAsync(t,s,this.formatChainId(this.chainId),i)}get connected(){return this.signer.client?this.signer.client.core.relayer.connected:!1}get connecting(){return this.signer.client?this.signer.client.core.relayer.connecting:!1}async enable(){return this.session||await this.connect(),await this.request({method:\"eth_requestAccounts\"})}async connect(t){if(!this.signer.client)throw new Error(\"Provider not initialized. Call init() first\");this.loadConnectOpts(t);const{required:s,optional:i}=L(this.rpc);try{const n=await new Promise(async(h,c)=>{var o;this.rpc.showQrModal&&((o=this.modal)==null||o.subscribeModal(r=>{!r.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),c(new Error(\"Connection request reset. Please try again.\")))})),await this.signer.connect(M(p({namespaces:p({},s&&{[this.namespace]:s})},i&&{optionalNamespaces:{[this.namespace]:i}}),{pairingTopic:t?.pairingTopic})).then(r=>{h(r)}).catch(r=>{c(new Error(r.message))})});if(!n)return;const e=A(n.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:e),this.setAccounts(e),this.events.emit(\"connect\",{chainId:f(this.chainId)})}catch(n){throw this.signer.logger.error(n),n}finally{this.modal&&this.modal.closeModal()}}async disconnect(){this.session&&await this.signer.disconnect(),this.reset()}get isWalletConnect(){return!0}get session(){return this.signer.session}registerEventListeners(){this.signer.on(\"session_event\",t=>{const{params:s}=t,{event:i}=s;i.name===\"accountsChanged\"?(this.accounts=this.parseAccounts(i.data),this.events.emit(\"accountsChanged\",this.accounts)):i.name===\"chainChanged\"?this.setChainId(this.formatChainId(i.data)):this.events.emit(i.name,i.data),this.events.emit(\"session_event\",t)}),this.signer.on(\"chainChanged\",t=>{const s=parseInt(t);this.chainId=s,this.events.emit(\"chainChanged\",f(this.chainId)),this.persist()}),this.signer.on(\"session_update\",t=>{this.events.emit(\"session_update\",t)}),this.signer.on(\"session_delete\",t=>{this.reset(),this.events.emit(\"session_delete\",t),this.events.emit(\"disconnect\",M(p({},R(\"USER_DISCONNECTED\")),{data:t.topic,name:\"USER_DISCONNECTED\"}))}),this.signer.on(\"display_uri\",t=>{var s,i;this.rpc.showQrModal&&((s=this.modal)==null||s.closeModal(),(i=this.modal)==null||i.openModal({uri:t})),this.events.emit(\"display_uri\",t)})}switchEthereumChain(t){this.request({method:\"wallet_switchEthereumChain\",params:[{chainId:t.toString(16)}]})}isCompatibleChainId(t){return typeof t==\"string\"?t.startsWith(`${this.namespace}:`):!1}formatChainId(t){return`${this.namespace}:${t}`}parseChainId(t){return Number(t.split(\":\")[1])}setChainIds(t){const s=t.filter(i=>this.isCompatibleChainId(i)).map(i=>this.parseChainId(i));s.length&&(this.chainId=s[0],this.events.emit(\"chainChanged\",f(this.chainId)),this.persist())}setChainId(t){if(this.isCompatibleChainId(t)){const s=this.parseChainId(t);this.chainId=s,this.switchEthereumChain(s)}}parseAccountId(t){const[s,i,n]=t.split(\":\");return{chainId:`${s}:${i}`,address:n}}setAccounts(t){this.accounts=t.filter(s=>this.parseChainId(this.parseAccountId(s).chainId)===this.chainId).map(s=>this.parseAccountId(s).address),this.events.emit(\"accountsChanged\",this.accounts)}getRpcConfig(t){var s,i;const n=(s=t?.chains)!=null?s:[],e=(i=t?.optionalChains)!=null?i:[],h=n.concat(e);if(!h.length)throw new Error(\"No chains specified in either `chains` or `optionalChains`\");const c=n.length?t?.methods||u:[],o=n.length?t?.events||m:[],r=t?.optionalMethods||[],d=t?.optionalEvents||[],C=t?.rpcMap||this.buildRpcMap(h,t.projectId),I=t?.qrModalOptions||void 0;return{chains:n?.map(l=>this.formatChainId(l)),optionalChains:e.map(l=>this.formatChainId(l)),methods:c,events:o,optionalMethods:r,optionalEvents:d,rpcMap:C,showQrModal:!!(t!=null&&t.showQrModal),qrModalOptions:I,projectId:t.projectId,metadata:t.metadata}}buildRpcMap(t,s){const i={};return t.forEach(n=>{i[n]=this.getRpcUrl(n,s)}),i}async initialize(t){if(this.rpc=this.getRpcConfig(t),this.chainId=this.rpc.chains.length?g(this.rpc.chains):g(this.rpc.optionalChains),this.signer=await T.init({projectId:this.rpc.projectId,metadata:this.rpc.metadata,disableProviderPing:t.disableProviderPing,relayUrl:t.relayUrl,storageOptions:t.storageOptions}),this.registerEventListeners(),await this.loadPersistedSession(),this.rpc.showQrModal){let s;try{const{WalletConnectModal:i}=await import(\"@walletconnect/modal\");s=i}catch{throw new Error(\"To use QR modal, please install @walletconnect/modal package\")}if(s)try{this.modal=new s(p({projectId:this.rpc.projectId},this.rpc.qrModalOptions))}catch(i){throw this.signer.logger.error(i),new Error(\"Could not generate WalletConnectModal Instance\")}}}loadConnectOpts(t){if(!t)return;const{chains:s,optionalChains:i,rpcMap:n}=t;s&&w(s)&&(this.rpc.chains=s.map(e=>this.formatChainId(e)),s.forEach(e=>{this.rpc.rpcMap[e]=n?.[e]||this.getRpcUrl(e)})),i&&w(i)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=i?.map(e=>this.formatChainId(e)),i.forEach(e=>{this.rpc.rpcMap[e]=n?.[e]||this.getRpcUrl(e)}))}getRpcUrl(t,s){var i;return((i=this.rpc.rpcMap)==null?void 0:i[t])||`${j}?chainId=eip155:${t}&projectId=${s||this.rpc.projectId}`}async loadPersistedSession(){if(!this.session)return;const t=await this.signer.client.core.storage.getItem(`${this.STORAGE_KEY}/chainId`),s=this.session.namespaces[`${this.namespace}:${t}`]?this.session.namespaces[`${this.namespace}:${t}`]:this.session.namespaces[this.namespace];this.setChainIds(t?[this.formatChainId(t)]:s?.accounts),this.setAccounts(s?.accounts)}reset(){this.chainId=1,this.accounts=[]}persist(){this.session&&this.signer.client.core.storage.setItem(`${this.STORAGE_KEY}/chainId`,this.chainId)}parseAccounts(t){return typeof t==\"string\"||t instanceof String?[this.parseAccount(t)]:t.map(s=>this.parseAccount(s))}}const G=v;export{G as EthereumProvider,_ as OPTIONAL_EVENTS,E as OPTIONAL_METHODS,m as REQUIRED_EVENTS,u as REQUIRED_METHODS,v as default};\n//# sourceMappingURL=index.es.js.map\n","export const EthersConstantsUtil = {\n WALLET_ID: '@w3m/wallet_id',\n ERROR_CODE_UNRECOGNIZED_CHAIN_ID: 4902,\n ERROR_CODE_DEFAULT: 5000\n};\n//# sourceMappingURL=EthersConstantsUtil.js.map","import { ConstantsUtil } from './ConstantsUtil.js';\nimport { PresetsUtil } from './PresetsUtil.js';\nexport const EthersHelpersUtil = {\n getCaipDefaultChain(chain) {\n if (!chain) {\n return undefined;\n }\n return {\n id: `${ConstantsUtil.EIP155}:${chain.chainId}`,\n name: chain.name,\n imageId: PresetsUtil.EIP155NetworkImageIds[chain.chainId]\n };\n },\n hexStringToNumber(value) {\n const string = value.startsWith('0x') ? value.slice(2) : value;\n const number = parseInt(string, 16);\n return number;\n },\n numberToHexString(value) {\n return `0x${value.toString(16)}`;\n },\n async getUserInfo(provider) {\n const [address, chainId] = await Promise.all([\n EthersHelpersUtil.getAddress(provider),\n EthersHelpersUtil.getChainId(provider)\n ]);\n return { chainId, address };\n },\n async getChainId(provider) {\n const chainId = await provider.request({ method: 'eth_chainId' });\n return Number(chainId);\n },\n async getAddress(provider) {\n const [address] = await provider.request({ method: 'eth_accounts' });\n return address;\n },\n async addEthereumChain(provider, chain) {\n await provider.request({\n method: 'wallet_addEthereumChain',\n params: [\n {\n chainId: EthersHelpersUtil.numberToHexString(chain.chainId),\n rpcUrls: [chain.rpcUrl],\n chainName: chain.name,\n nativeCurrency: {\n name: chain.currency,\n decimals: 18,\n symbol: chain.currency\n },\n blockExplorerUrls: [chain.explorerUrl],\n iconUrls: [PresetsUtil.EIP155NetworkImageIds[chain.chainId]]\n }\n ]\n });\n }\n};\n//# sourceMappingURL=EthersHelpersUtil.js.map","import { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { proxy, ref, subscribe as sub } from 'valtio/vanilla';\nconst state = proxy({\n provider: undefined,\n providerType: undefined,\n address: undefined,\n chainId: undefined,\n isConnected: false\n});\nexport const EthersStoreUtil = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n setProvider(provider) {\n if (provider) {\n state.provider = ref(provider);\n }\n },\n setProviderType(providerType) {\n state.providerType = providerType;\n },\n setAddress(address) {\n state.address = address;\n },\n setPreferredAccountType(preferredAccountType) {\n state.preferredAccountType = preferredAccountType;\n },\n setChainId(chainId) {\n state.chainId = chainId;\n },\n setIsConnected(isConnected) {\n state.isConnected = isConnected;\n },\n setError(error) {\n state.error = error;\n },\n reset() {\n state.provider = undefined;\n state.address = undefined;\n state.chainId = undefined;\n state.providerType = undefined;\n state.isConnected = false;\n state.error = undefined;\n state.preferredAccountType = undefined;\n }\n};\n//# sourceMappingURL=EthersStoreUtil.js.map","import { Web3ModalScaffold } from '@web3modal/scaffold';\nimport { ConstantsUtil, PresetsUtil, HelpersUtil } from '@web3modal/scaffold-utils';\nimport EthereumProvider from '@walletconnect/ethereum-provider';\nimport { formatEther, JsonRpcProvider, InfuraProvider, getAddress as getOriginalAddress, parseUnits, formatUnits } from 'ethers';\nimport { EthersConstantsUtil, EthersHelpersUtil, EthersStoreUtil } from '@web3modal/scaffold-utils/ethers';\nimport { W3mFrameProvider, W3mFrameHelpers, W3mFrameRpcConstants, W3mFrameConstants } from '@web3modal/wallet';\nimport { BrowserProvider } from 'ethers';\nimport { JsonRpcSigner } from 'ethers';\nimport { NetworkUtil } from '@web3modal/common';\nexport class Web3Modal extends Web3ModalScaffold {\n constructor(options) {\n const { ethersConfig, siweConfig, chains, defaultChain, tokens, chainImages, _sdkVersion, ...w3mOptions } = options;\n if (!ethersConfig) {\n throw new Error('web3modal:constructor - ethersConfig is undefined');\n }\n if (!w3mOptions.projectId) {\n throw new Error('web3modal:constructor - projectId is undefined');\n }\n const networkControllerClient = {\n switchCaipNetwork: async (caipNetwork) => {\n const chainId = NetworkUtil.caipNetworkIdToNumber(caipNetwork?.id);\n if (chainId) {\n try {\n EthersStoreUtil.setError(undefined);\n await this.switchNetwork(chainId);\n }\n catch (error) {\n EthersStoreUtil.setError(error);\n throw new Error('networkControllerClient:switchCaipNetwork - unable to switch chain');\n }\n }\n },\n getApprovedCaipNetworksData: async () => new Promise(async (resolve) => {\n const walletChoice = localStorage.getItem(EthersConstantsUtil.WALLET_ID);\n if (walletChoice?.includes(ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID)) {\n const provider = await this.getWalletConnectProvider();\n if (!provider) {\n throw new Error('networkControllerClient:getApprovedCaipNetworks - connector is undefined');\n }\n const ns = provider.signer?.session?.namespaces;\n const nsMethods = ns?.[ConstantsUtil.EIP155]?.methods;\n const nsChains = ns?.[ConstantsUtil.EIP155]?.chains;\n const result = {\n supportsAllNetworks: nsMethods?.includes(ConstantsUtil.ADD_CHAIN_METHOD) ?? false,\n approvedCaipNetworkIds: nsChains\n };\n resolve(result);\n }\n else {\n const result = {\n approvedCaipNetworkIds: undefined,\n supportsAllNetworks: true\n };\n resolve(result);\n }\n })\n };\n const connectionControllerClient = {\n connectWalletConnect: async (onUri) => {\n const WalletConnectProvider = await this.getWalletConnectProvider();\n if (!WalletConnectProvider) {\n throw new Error('connectionControllerClient:getWalletConnectUri - provider is undefined');\n }\n WalletConnectProvider.on('display_uri', (uri) => {\n onUri(uri);\n });\n await WalletConnectProvider.connect();\n await this.setWalletConnectProvider();\n },\n connectExternal: async ({ id, info, provider }) => {\n if (id === ConstantsUtil.INJECTED_CONNECTOR_ID) {\n const InjectedProvider = ethersConfig.injected;\n if (!InjectedProvider) {\n throw new Error('connectionControllerClient:connectInjected - provider is undefined');\n }\n try {\n EthersStoreUtil.setError(undefined);\n await InjectedProvider.request({ method: 'eth_requestAccounts' });\n this.setInjectedProvider(ethersConfig);\n }\n catch (error) {\n EthersStoreUtil.setError(error);\n }\n }\n else if (id === ConstantsUtil.EIP6963_CONNECTOR_ID && info && provider) {\n try {\n EthersStoreUtil.setError(undefined);\n await provider.request({ method: 'eth_requestAccounts' });\n this.setEIP6963Provider(provider, info.name);\n }\n catch (error) {\n EthersStoreUtil.setError(error);\n }\n }\n else if (id === ConstantsUtil.COINBASE_CONNECTOR_ID) {\n const CoinbaseProvider = ethersConfig.coinbase;\n if (!CoinbaseProvider) {\n throw new Error('connectionControllerClient:connectCoinbase - connector is undefined');\n }\n try {\n EthersStoreUtil.setError(undefined);\n await CoinbaseProvider.request({ method: 'eth_requestAccounts' });\n this.setCoinbaseProvider(ethersConfig);\n }\n catch (error) {\n EthersStoreUtil.setError(error);\n }\n }\n else if (id === ConstantsUtil.EMAIL_CONNECTOR_ID) {\n this.setEmailProvider();\n }\n },\n checkInstalled(ids) {\n if (!ids) {\n return Boolean(window.ethereum);\n }\n if (ethersConfig.injected) {\n if (!window?.ethereum) {\n return false;\n }\n }\n return ids.some(id => Boolean(window.ethereum?.[String(id)]));\n },\n disconnect: async () => {\n const provider = EthersStoreUtil.state.provider;\n const providerType = EthersStoreUtil.state.providerType;\n localStorage.removeItem(EthersConstantsUtil.WALLET_ID);\n EthersStoreUtil.reset();\n if (providerType === ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID) {\n const WalletConnectProvider = provider;\n await WalletConnectProvider.disconnect();\n }\n else if (providerType !== ConstantsUtil.EMAIL_CONNECTOR_ID) {\n provider?.emit('disconnect');\n }\n else {\n await this.emailProvider?.disconnect();\n }\n },\n signMessage: async (message) => {\n const provider = EthersStoreUtil.state.provider;\n if (!provider) {\n throw new Error('connectionControllerClient:signMessage - provider is undefined');\n }\n const signature = await provider.request({\n method: 'personal_sign',\n params: [message, this.getAddress()]\n });\n return signature;\n },\n parseUnits: (value, decimals) => parseUnits(value, decimals),\n formatUnits: (value, decimals) => formatUnits(value, decimals),\n async estimateGas(data) {\n const chainId = EthersStoreUtil.state.chainId;\n const provider = EthersStoreUtil.state.provider;\n const address = EthersStoreUtil.state.address;\n if (!provider) {\n throw new Error('connectionControllerClient:sendTransaction - provider is undefined');\n }\n if (!address) {\n throw new Error('connectionControllerClient:sendTransaction - address is undefined');\n }\n const txParams = {\n from: data.address,\n to: data.to,\n data: data.data,\n type: 0\n };\n const browserProvider = new BrowserProvider(provider, chainId);\n const signer = new JsonRpcSigner(browserProvider, address);\n const gas = await signer.estimateGas(txParams);\n return gas;\n },\n sendTransaction: async (data) => {\n const chainId = EthersStoreUtil.state.chainId;\n const provider = EthersStoreUtil.state.provider;\n const address = EthersStoreUtil.state.address;\n if (!provider) {\n throw new Error('connectionControllerClient:sendTransaction - provider is undefined');\n }\n if (!address) {\n throw new Error('connectionControllerClient:sendTransaction - address is undefined');\n }\n const txParams = {\n to: data.to,\n value: data.value,\n gasLimit: data.gas,\n gasPrice: data.gasPrice,\n data: data.data,\n type: 0\n };\n const browserProvider = new BrowserProvider(provider, chainId);\n const signer = new JsonRpcSigner(browserProvider, address);\n const txResponse = await signer.sendTransaction(txParams);\n const txReceipt = await txResponse.wait();\n return txReceipt?.hash || null;\n }\n };\n super({\n networkControllerClient,\n connectionControllerClient,\n siweControllerClient: siweConfig,\n defaultChain: EthersHelpersUtil.getCaipDefaultChain(defaultChain),\n tokens: HelpersUtil.getCaipTokens(tokens),\n _sdkVersion: _sdkVersion ?? `html-ethers-${ConstantsUtil.VERSION}`,\n ...w3mOptions\n });\n this.hasSyncedConnectedAccount = false;\n this.EIP6963Providers = [];\n this.options = undefined;\n this.options = options;\n this.metadata = ethersConfig.metadata;\n this.projectId = w3mOptions.projectId;\n this.chains = chains;\n this.createProvider();\n EthersStoreUtil.subscribeKey('address', () => {\n this.syncAccount();\n });\n EthersStoreUtil.subscribeKey('chainId', () => {\n this.syncNetwork(chainImages);\n });\n this.syncRequestedNetworks(chains, chainImages);\n this.syncConnectors(ethersConfig);\n if (ethersConfig.EIP6963) {\n if (typeof window !== 'undefined') {\n this.listenConnectors(ethersConfig.EIP6963);\n this.checkActive6963Provider();\n }\n }\n if (ethersConfig.email) {\n this.syncEmailConnector(w3mOptions.projectId);\n }\n if (ethersConfig.injected) {\n this.checkActiveInjectedProvider(ethersConfig);\n }\n if (ethersConfig.coinbase) {\n this.checkActiveCoinbaseProvider(ethersConfig);\n }\n }\n getState() {\n const state = super.getState();\n return {\n ...state,\n selectedNetworkId: NetworkUtil.caipNetworkIdToNumber(state.selectedNetworkId)\n };\n }\n subscribeState(callback) {\n return super.subscribeState(state => callback({\n ...state,\n selectedNetworkId: NetworkUtil.caipNetworkIdToNumber(state.selectedNetworkId)\n }));\n }\n setAddress(address) {\n const originalAddress = address ? getOriginalAddress(address) : undefined;\n EthersStoreUtil.setAddress(originalAddress);\n }\n getAddress() {\n const { address } = EthersStoreUtil.state;\n return address ? getOriginalAddress(address) : undefined;\n }\n getError() {\n return EthersStoreUtil.state.error;\n }\n getChainId() {\n return EthersStoreUtil.state.chainId;\n }\n getIsConnected() {\n return EthersStoreUtil.state.isConnected;\n }\n getWalletProvider() {\n return EthersStoreUtil.state.provider;\n }\n getWalletProviderType() {\n return EthersStoreUtil.state.providerType;\n }\n subscribeProvider(callback) {\n return EthersStoreUtil.subscribe(callback);\n }\n async disconnect() {\n const { provider, providerType } = EthersStoreUtil.state;\n localStorage.removeItem(EthersConstantsUtil.WALLET_ID);\n EthersStoreUtil.reset();\n if (providerType === 'injected' || providerType === 'eip6963') {\n provider?.emit('disconnect');\n }\n else {\n const walletConnectProvider = provider;\n if (walletConnectProvider) {\n try {\n EthersStoreUtil.setError(undefined);\n await walletConnectProvider.disconnect();\n }\n catch (error) {\n EthersStoreUtil.setError(error);\n }\n }\n }\n }\n createProvider() {\n if (!this.walletConnectProviderInitPromise && typeof window !== 'undefined') {\n this.walletConnectProviderInitPromise = this.initWalletConnectProvider();\n }\n return this.walletConnectProviderInitPromise;\n }\n async initWalletConnectProvider() {\n const walletConnectProviderOptions = {\n projectId: this.projectId,\n showQrModal: false,\n rpcMap: this.chains\n ? this.chains.reduce((map, chain) => {\n map[chain.chainId] = chain.rpcUrl;\n return map;\n }, {})\n : {},\n optionalChains: [...this.chains.map(chain => chain.chainId)],\n metadata: {\n name: this.metadata ? this.metadata.name : '',\n description: this.metadata ? this.metadata.description : '',\n url: this.metadata ? this.metadata.url : '',\n icons: this.metadata ? this.metadata.icons : ['']\n }\n };\n this.walletConnectProvider = await EthereumProvider.init(walletConnectProviderOptions);\n await this.checkActiveWalletConnectProvider();\n }\n async getWalletConnectProvider() {\n if (!this.walletConnectProvider) {\n try {\n EthersStoreUtil.setError(undefined);\n await this.createProvider();\n }\n catch (error) {\n EthersStoreUtil.setError(error);\n }\n }\n return this.walletConnectProvider;\n }\n syncRequestedNetworks(chains, chainImages) {\n const requestedCaipNetworks = chains?.map(chain => ({\n id: `${ConstantsUtil.EIP155}:${chain.chainId}`,\n name: chain.name,\n imageId: PresetsUtil.EIP155NetworkImageIds[chain.chainId],\n imageUrl: chainImages?.[chain.chainId]\n }));\n this.setRequestedCaipNetworks(requestedCaipNetworks ?? []);\n }\n async checkActiveWalletConnectProvider() {\n const WalletConnectProvider = await this.getWalletConnectProvider();\n const walletId = localStorage.getItem(EthersConstantsUtil.WALLET_ID);\n if (WalletConnectProvider) {\n if (walletId === ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID) {\n await this.setWalletConnectProvider();\n }\n }\n }\n checkActiveInjectedProvider(config) {\n const InjectedProvider = config.injected;\n const walletId = localStorage.getItem(EthersConstantsUtil.WALLET_ID);\n if (InjectedProvider) {\n if (walletId === ConstantsUtil.INJECTED_CONNECTOR_ID) {\n this.setInjectedProvider(config);\n this.watchInjected(config);\n }\n }\n }\n checkActiveCoinbaseProvider(config) {\n const CoinbaseProvider = config.coinbase;\n const walletId = localStorage.getItem(EthersConstantsUtil.WALLET_ID);\n if (CoinbaseProvider) {\n if (walletId === ConstantsUtil.COINBASE_CONNECTOR_ID) {\n if (CoinbaseProvider._addresses && CoinbaseProvider._addresses?.length > 0) {\n this.setCoinbaseProvider(config);\n this.watchCoinbase(config);\n }\n else {\n localStorage.removeItem(EthersConstantsUtil.WALLET_ID);\n EthersStoreUtil.reset();\n }\n }\n }\n }\n checkActive6963Provider() {\n const currentActiveWallet = window?.localStorage.getItem(EthersConstantsUtil.WALLET_ID);\n if (currentActiveWallet) {\n const currentProvider = this.EIP6963Providers.find(provider => provider.info.name === currentActiveWallet);\n if (currentProvider) {\n this.setEIP6963Provider(currentProvider.provider, currentProvider.info.name);\n }\n }\n }\n async setWalletConnectProvider() {\n window?.localStorage.setItem(EthersConstantsUtil.WALLET_ID, ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID);\n const WalletConnectProvider = await this.getWalletConnectProvider();\n if (WalletConnectProvider) {\n EthersStoreUtil.setChainId(WalletConnectProvider.chainId);\n EthersStoreUtil.setProviderType('walletConnect');\n EthersStoreUtil.setProvider(WalletConnectProvider);\n EthersStoreUtil.setIsConnected(true);\n this.setAddress(WalletConnectProvider.accounts?.[0]);\n this.watchWalletConnect();\n }\n }\n async setInjectedProvider(config) {\n window?.localStorage.setItem(EthersConstantsUtil.WALLET_ID, ConstantsUtil.INJECTED_CONNECTOR_ID);\n const InjectedProvider = config.injected;\n if (InjectedProvider) {\n const { address, chainId } = await EthersHelpersUtil.getUserInfo(InjectedProvider);\n if (address && chainId) {\n EthersStoreUtil.setChainId(chainId);\n EthersStoreUtil.setProviderType('injected');\n EthersStoreUtil.setProvider(config.injected);\n EthersStoreUtil.setIsConnected(true);\n this.setAddress(address);\n this.watchCoinbase(config);\n }\n }\n }\n async setEIP6963Provider(provider, name) {\n window?.localStorage.setItem(EthersConstantsUtil.WALLET_ID, name);\n if (provider) {\n const { address, chainId } = await EthersHelpersUtil.getUserInfo(provider);\n if (address && chainId) {\n EthersStoreUtil.setChainId(chainId);\n EthersStoreUtil.setProviderType('eip6963');\n EthersStoreUtil.setProvider(provider);\n EthersStoreUtil.setIsConnected(true);\n this.setAddress(address);\n this.watchEIP6963(provider);\n }\n }\n }\n async setCoinbaseProvider(config) {\n window?.localStorage.setItem(EthersConstantsUtil.WALLET_ID, ConstantsUtil.COINBASE_CONNECTOR_ID);\n const CoinbaseProvider = config.coinbase;\n if (CoinbaseProvider) {\n const { address, chainId } = await EthersHelpersUtil.getUserInfo(CoinbaseProvider);\n if (address && chainId) {\n EthersStoreUtil.setChainId(chainId);\n EthersStoreUtil.setProviderType('coinbaseWallet');\n EthersStoreUtil.setProvider(config.coinbase);\n EthersStoreUtil.setIsConnected(true);\n this.setAddress(address);\n this.watchCoinbase(config);\n }\n }\n }\n async setEmailProvider() {\n window?.localStorage.setItem(EthersConstantsUtil.WALLET_ID, ConstantsUtil.EMAIL_CONNECTOR_ID);\n if (this.emailProvider) {\n const { address, chainId, smartAccountDeployed, preferredAccountType } = await this.emailProvider.connect({ chainId: this.getChainId() });\n const { smartAccountEnabledNetworks } = await this.emailProvider.getSmartAccountEnabledNetworks();\n this.setSmartAccountEnabledNetworks(smartAccountEnabledNetworks);\n if (address && chainId) {\n EthersStoreUtil.setChainId(chainId);\n EthersStoreUtil.setProviderType(ConstantsUtil.EMAIL_CONNECTOR_ID);\n EthersStoreUtil.setProvider(this.emailProvider);\n EthersStoreUtil.setIsConnected(true);\n EthersStoreUtil.setAddress(address);\n EthersStoreUtil.setPreferredAccountType(preferredAccountType);\n this.setSmartAccountDeployed(Boolean(smartAccountDeployed));\n this.watchEmail();\n this.watchModal();\n }\n super.setLoading(false);\n }\n }\n async watchWalletConnect() {\n const provider = await this.getWalletConnectProvider();\n function disconnectHandler() {\n localStorage.removeItem(EthersConstantsUtil.WALLET_ID);\n EthersStoreUtil.reset();\n provider?.removeListener('disconnect', disconnectHandler);\n provider?.removeListener('accountsChanged', accountsChangedHandler);\n provider?.removeListener('chainChanged', chainChangedHandler);\n }\n function chainChangedHandler(chainId) {\n if (chainId) {\n const chain = EthersHelpersUtil.hexStringToNumber(chainId);\n EthersStoreUtil.setChainId(chain);\n }\n }\n const accountsChangedHandler = async (accounts) => {\n if (accounts.length > 0) {\n await this.setWalletConnectProvider();\n }\n };\n if (provider) {\n provider.on('disconnect', disconnectHandler);\n provider.on('accountsChanged', accountsChangedHandler);\n provider.on('chainChanged', chainChangedHandler);\n }\n }\n watchInjected(config) {\n const provider = config.injected;\n function disconnectHandler() {\n localStorage.removeItem(EthersConstantsUtil.WALLET_ID);\n EthersStoreUtil.reset();\n provider?.removeListener('disconnect', disconnectHandler);\n provider?.removeListener('accountsChanged', accountsChangedHandler);\n provider?.removeListener('chainChanged', chainChangedHandler);\n }\n function accountsChangedHandler(accounts) {\n const currentAccount = accounts?.[0];\n if (currentAccount) {\n EthersStoreUtil.setAddress(getOriginalAddress(currentAccount));\n }\n else {\n localStorage.removeItem(EthersConstantsUtil.WALLET_ID);\n EthersStoreUtil.reset();\n }\n }\n function chainChangedHandler(chainId) {\n if (chainId) {\n const chain = typeof chainId === 'string'\n ? EthersHelpersUtil.hexStringToNumber(chainId)\n : Number(chainId);\n EthersStoreUtil.setChainId(chain);\n }\n }\n if (provider) {\n provider.on('disconnect', disconnectHandler);\n provider.on('accountsChanged', accountsChangedHandler);\n provider.on('chainChanged', chainChangedHandler);\n }\n }\n watchEIP6963(provider) {\n function disconnectHandler() {\n localStorage.removeItem(EthersConstantsUtil.WALLET_ID);\n EthersStoreUtil.reset();\n provider.removeListener('disconnect', disconnectHandler);\n provider.removeListener('accountsChanged', accountsChangedHandler);\n provider.removeListener('chainChanged', chainChangedHandler);\n }\n function accountsChangedHandler(accounts) {\n const currentAccount = accounts?.[0];\n if (currentAccount) {\n EthersStoreUtil.setAddress(getOriginalAddress(currentAccount));\n }\n else {\n localStorage.removeItem(EthersConstantsUtil.WALLET_ID);\n EthersStoreUtil.reset();\n }\n }\n function chainChangedHandler(chainId) {\n if (chainId) {\n const chain = typeof chainId === 'string'\n ? EthersHelpersUtil.hexStringToNumber(chainId)\n : Number(chainId);\n EthersStoreUtil.setChainId(chain);\n }\n }\n if (provider) {\n provider.on('disconnect', disconnectHandler);\n provider.on('accountsChanged', accountsChangedHandler);\n provider.on('chainChanged', chainChangedHandler);\n }\n }\n watchCoinbase(config) {\n const provider = config.coinbase;\n const walletId = localStorage.getItem(EthersConstantsUtil.WALLET_ID);\n function disconnectHandler() {\n localStorage.removeItem(EthersConstantsUtil.WALLET_ID);\n EthersStoreUtil.reset();\n provider?.removeListener('disconnect', disconnectHandler);\n provider?.removeListener('accountsChanged', accountsChangedHandler);\n provider?.removeListener('chainChanged', chainChangedHandler);\n }\n function accountsChangedHandler(accounts) {\n const currentAccount = accounts?.[0];\n if (currentAccount) {\n EthersStoreUtil.setAddress(getOriginalAddress(currentAccount));\n }\n else {\n localStorage.removeItem(EthersConstantsUtil.WALLET_ID);\n EthersStoreUtil.reset();\n }\n }\n function chainChangedHandler(chainId) {\n if (chainId && walletId === ConstantsUtil.COINBASE_CONNECTOR_ID) {\n const chain = Number(chainId);\n EthersStoreUtil.setChainId(chain);\n }\n }\n if (provider) {\n provider.on('disconnect', disconnectHandler);\n provider.on('accountsChanged', accountsChangedHandler);\n provider.on('chainChanged', chainChangedHandler);\n }\n }\n watchEmail() {\n if (this.emailProvider) {\n this.emailProvider.onRpcRequest(request => {\n if (W3mFrameHelpers.checkIfRequestExists(request)) {\n if (!W3mFrameHelpers.checkIfRequestIsAllowed(request)) {\n if (super.isOpen()) {\n if (!super.isTransactionStackEmpty()) {\n super.redirect('ApproveTransaction');\n }\n }\n else {\n super.open({ view: 'ApproveTransaction' });\n }\n }\n }\n else {\n super.open();\n const method = W3mFrameHelpers.getRequestMethod(request);\n console.error(W3mFrameRpcConstants.RPC_METHOD_NOT_ALLOWED_MESSAGE, { method });\n setTimeout(() => {\n this.showErrorMessage(W3mFrameRpcConstants.RPC_METHOD_NOT_ALLOWED_UI_MESSAGE);\n }, 300);\n }\n });\n this.emailProvider.onRpcResponse(response => {\n const responseType = W3mFrameHelpers.getResponseType(response);\n switch (responseType) {\n case W3mFrameConstants.RPC_RESPONSE_TYPE_ERROR: {\n const isModalOpen = super.isOpen();\n if (isModalOpen) {\n if (super.isTransactionStackEmpty()) {\n super.close();\n }\n else {\n super.popTransactionStack(true);\n }\n }\n break;\n }\n case W3mFrameConstants.RPC_RESPONSE_TYPE_TX: {\n if (super.isTransactionStackEmpty()) {\n super.close();\n }\n else {\n super.popTransactionStack();\n }\n break;\n }\n default:\n break;\n }\n });\n this.emailProvider.onNotConnected(() => {\n this.setIsConnected(false);\n super.setLoading(false);\n });\n this.emailProvider.onIsConnected(({ preferredAccountType }) => {\n this.setIsConnected(true);\n super.setLoading(false);\n EthersStoreUtil.setPreferredAccountType(preferredAccountType);\n });\n this.emailProvider.onSetPreferredAccount(({ address, type }) => {\n if (!address) {\n return;\n }\n const chainId = NetworkUtil.caipNetworkIdToNumber(this.getCaipNetwork()?.id);\n EthersStoreUtil.setAddress(address);\n EthersStoreUtil.setChainId(chainId);\n EthersStoreUtil.setIsConnected(true);\n EthersStoreUtil.setPreferredAccountType(type);\n this.syncAccount();\n });\n }\n }\n watchModal() {\n if (this.emailProvider) {\n this.subscribeState(val => {\n if (!val.open) {\n this.emailProvider?.rejectRpcRequest();\n }\n });\n }\n }\n async syncAccount() {\n const address = EthersStoreUtil.state.address;\n const chainId = EthersStoreUtil.state.chainId;\n const isConnected = EthersStoreUtil.state.isConnected;\n const preferredAccountType = EthersStoreUtil.state.preferredAccountType;\n this.resetAccount();\n if (isConnected && address && chainId) {\n const caipAddress = `${ConstantsUtil.EIP155}:${chainId}:${address}`;\n this.setIsConnected(isConnected);\n this.setPreferredAccountType(preferredAccountType);\n this.setCaipAddress(caipAddress);\n this.syncConnectedWalletInfo();\n await Promise.all([\n this.syncProfile(address),\n this.syncBalance(address),\n this.getApprovedCaipNetworksData()\n ]);\n this.hasSyncedConnectedAccount = true;\n }\n else if (!isConnected && this.hasSyncedConnectedAccount) {\n this.resetWcConnection();\n this.resetNetwork();\n }\n }\n async syncNetwork(chainImages) {\n const address = EthersStoreUtil.state.address;\n const chainId = EthersStoreUtil.state.chainId;\n const isConnected = EthersStoreUtil.state.isConnected;\n if (this.chains) {\n const chain = this.chains.find(c => c.chainId === chainId);\n if (chain) {\n const caipChainId = `${ConstantsUtil.EIP155}:${chain.chainId}`;\n this.setCaipNetwork({\n id: caipChainId,\n name: chain.name,\n imageId: PresetsUtil.EIP155NetworkImageIds[chain.chainId],\n imageUrl: chainImages?.[chain.chainId]\n });\n if (isConnected && address) {\n const caipAddress = `${ConstantsUtil.EIP155}:${chainId}:${address}`;\n this.setCaipAddress(caipAddress);\n if (chain.explorerUrl) {\n const url = `${chain.explorerUrl}/address/${address}`;\n this.setAddressExplorerUrl(url);\n }\n else {\n this.setAddressExplorerUrl(undefined);\n }\n if (this.hasSyncedConnectedAccount) {\n await this.syncProfile(address);\n await this.syncBalance(address);\n }\n }\n }\n else if (isConnected) {\n this.setCaipNetwork({\n id: `${ConstantsUtil.EIP155}:${chainId}`\n });\n }\n }\n }\n async syncProfile(address) {\n const chainId = EthersStoreUtil.state.chainId;\n try {\n const { name, avatar } = await this.fetchIdentity({\n address\n });\n this.setProfileName(name);\n this.setProfileImage(avatar);\n }\n catch {\n if (chainId === 1) {\n const ensProvider = new InfuraProvider('mainnet');\n const name = await ensProvider.lookupAddress(address);\n const avatar = await ensProvider.getAvatar(address);\n if (name) {\n this.setProfileName(name);\n }\n if (avatar) {\n this.setProfileImage(avatar);\n }\n }\n else {\n this.setProfileName(null);\n this.setProfileImage(null);\n }\n }\n }\n async syncBalance(address) {\n const chainId = EthersStoreUtil.state.chainId;\n if (chainId && this.chains) {\n const chain = this.chains.find(c => c.chainId === chainId);\n if (chain) {\n const jsonRpcProvider = new JsonRpcProvider(chain.rpcUrl, {\n chainId,\n name: chain.name\n });\n if (jsonRpcProvider) {\n const balance = await jsonRpcProvider.getBalance(address);\n const formattedBalance = formatEther(balance);\n this.setBalance(formattedBalance, chain.currency);\n }\n }\n }\n }\n syncConnectedWalletInfo() {\n const currentActiveWallet = window?.localStorage.getItem(EthersConstantsUtil.WALLET_ID);\n const providerType = EthersStoreUtil.state.providerType;\n if (providerType === ConstantsUtil.EIP6963_CONNECTOR_ID) {\n if (currentActiveWallet) {\n const currentProvider = this.EIP6963Providers.find(provider => provider.info.name === currentActiveWallet);\n if (currentProvider) {\n this.setConnectedWalletInfo({\n ...currentProvider.info\n });\n }\n }\n }\n else if (providerType === ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID) {\n const provider = EthersStoreUtil.state.provider;\n if (provider.session) {\n this.setConnectedWalletInfo({\n ...provider.session.peer.metadata,\n name: provider.session.peer.metadata.name,\n icon: provider.session.peer.metadata.icons?.[0]\n });\n }\n }\n else if (currentActiveWallet) {\n this.setConnectedWalletInfo({\n name: currentActiveWallet\n });\n }\n }\n async switchNetwork(chainId) {\n const provider = EthersStoreUtil.state.provider;\n const providerType = EthersStoreUtil.state.providerType;\n if (this.chains) {\n const chain = this.chains.find(c => c.chainId === chainId);\n if (providerType === ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID && chain) {\n const WalletConnectProvider = provider;\n if (WalletConnectProvider) {\n try {\n await WalletConnectProvider.request({\n method: 'wallet_switchEthereumChain',\n params: [{ chainId: EthersHelpersUtil.numberToHexString(chain.chainId) }]\n });\n EthersStoreUtil.setChainId(chainId);\n }\n catch (switchError) {\n if (switchError.code === EthersConstantsUtil.ERROR_CODE_UNRECOGNIZED_CHAIN_ID ||\n switchError.code === EthersConstantsUtil.ERROR_CODE_DEFAULT ||\n switchError?.data?.originalError?.code ===\n EthersConstantsUtil.ERROR_CODE_UNRECOGNIZED_CHAIN_ID) {\n await EthersHelpersUtil.addEthereumChain(WalletConnectProvider, chain);\n }\n else {\n throw new Error('Chain is not supported');\n }\n }\n }\n }\n else if (providerType === ConstantsUtil.INJECTED_CONNECTOR_ID && chain) {\n const InjectedProvider = provider;\n if (InjectedProvider) {\n try {\n await InjectedProvider.request({\n method: 'wallet_switchEthereumChain',\n params: [{ chainId: EthersHelpersUtil.numberToHexString(chain.chainId) }]\n });\n EthersStoreUtil.setChainId(chain.chainId);\n }\n catch (switchError) {\n if (switchError.code === EthersConstantsUtil.ERROR_CODE_UNRECOGNIZED_CHAIN_ID ||\n switchError.code === EthersConstantsUtil.ERROR_CODE_DEFAULT ||\n switchError?.data?.originalError?.code ===\n EthersConstantsUtil.ERROR_CODE_UNRECOGNIZED_CHAIN_ID) {\n await EthersHelpersUtil.addEthereumChain(InjectedProvider, chain);\n }\n else {\n throw new Error('Chain is not supported');\n }\n }\n }\n }\n else if (providerType === ConstantsUtil.EIP6963_CONNECTOR_ID && chain) {\n const EIP6963Provider = provider;\n if (EIP6963Provider) {\n try {\n await EIP6963Provider.request({\n method: 'wallet_switchEthereumChain',\n params: [{ chainId: EthersHelpersUtil.numberToHexString(chain.chainId) }]\n });\n EthersStoreUtil.setChainId(chain.chainId);\n }\n catch (switchError) {\n if (switchError.code === EthersConstantsUtil.ERROR_CODE_UNRECOGNIZED_CHAIN_ID ||\n switchError.code === EthersConstantsUtil.ERROR_CODE_DEFAULT ||\n switchError?.data?.originalError?.code ===\n EthersConstantsUtil.ERROR_CODE_UNRECOGNIZED_CHAIN_ID) {\n await EthersHelpersUtil.addEthereumChain(EIP6963Provider, chain);\n }\n else {\n throw new Error('Chain is not supported');\n }\n }\n }\n }\n else if (providerType === ConstantsUtil.COINBASE_CONNECTOR_ID && chain) {\n const CoinbaseProvider = provider;\n if (CoinbaseProvider) {\n try {\n await CoinbaseProvider.request({\n method: 'wallet_switchEthereumChain',\n params: [{ chainId: EthersHelpersUtil.numberToHexString(chain.chainId) }]\n });\n EthersStoreUtil.setChainId(chain.chainId);\n }\n catch (switchError) {\n if (switchError.code === EthersConstantsUtil.ERROR_CODE_UNRECOGNIZED_CHAIN_ID ||\n switchError.code === EthersConstantsUtil.ERROR_CODE_DEFAULT ||\n switchError?.data?.originalError?.code ===\n EthersConstantsUtil.ERROR_CODE_UNRECOGNIZED_CHAIN_ID) {\n await EthersHelpersUtil.addEthereumChain(CoinbaseProvider, chain);\n }\n }\n }\n }\n else if (providerType === ConstantsUtil.EMAIL_CONNECTOR_ID) {\n if (this.emailProvider && chain?.chainId) {\n try {\n await this.emailProvider.switchNetwork(chain?.chainId);\n EthersStoreUtil.setChainId(chain.chainId);\n const { address, preferredAccountType } = await this.emailProvider.connect({\n chainId: chain?.chainId\n });\n EthersStoreUtil.setAddress(address);\n EthersStoreUtil.setPreferredAccountType(preferredAccountType);\n await this.syncAccount();\n }\n catch {\n throw new Error('Switching chain failed');\n }\n }\n }\n }\n }\n syncConnectors(config) {\n const w3mConnectors = [];\n const connectorType = PresetsUtil.ConnectorTypesMap[ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID];\n if (connectorType) {\n w3mConnectors.push({\n id: ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID,\n explorerId: PresetsUtil.ConnectorExplorerIds[ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID],\n imageId: PresetsUtil.ConnectorImageIds[ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID],\n imageUrl: this.options?.connectorImages?.[ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID],\n name: PresetsUtil.ConnectorNamesMap[ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID],\n type: connectorType\n });\n }\n if (config.injected) {\n const injectedConnectorType = PresetsUtil.ConnectorTypesMap[ConstantsUtil.INJECTED_CONNECTOR_ID];\n if (injectedConnectorType) {\n w3mConnectors.push({\n id: ConstantsUtil.INJECTED_CONNECTOR_ID,\n explorerId: PresetsUtil.ConnectorExplorerIds[ConstantsUtil.INJECTED_CONNECTOR_ID],\n imageId: PresetsUtil.ConnectorImageIds[ConstantsUtil.INJECTED_CONNECTOR_ID],\n imageUrl: this.options?.connectorImages?.[ConstantsUtil.INJECTED_CONNECTOR_ID],\n name: PresetsUtil.ConnectorNamesMap[ConstantsUtil.INJECTED_CONNECTOR_ID],\n type: injectedConnectorType\n });\n }\n }\n if (config.coinbase) {\n w3mConnectors.push({\n id: ConstantsUtil.COINBASE_CONNECTOR_ID,\n explorerId: PresetsUtil.ConnectorExplorerIds[ConstantsUtil.COINBASE_CONNECTOR_ID],\n imageId: PresetsUtil.ConnectorImageIds[ConstantsUtil.COINBASE_CONNECTOR_ID],\n imageUrl: this.options?.connectorImages?.[ConstantsUtil.COINBASE_CONNECTOR_ID],\n name: PresetsUtil.ConnectorNamesMap[ConstantsUtil.COINBASE_CONNECTOR_ID],\n type: 'EXTERNAL'\n });\n }\n this.setConnectors(w3mConnectors);\n }\n async syncEmailConnector(projectId) {\n if (typeof window !== 'undefined') {\n this.emailProvider = new W3mFrameProvider(projectId);\n this.addConnector({\n id: ConstantsUtil.EMAIL_CONNECTOR_ID,\n type: 'EMAIL',\n name: 'Email',\n provider: this.emailProvider\n });\n super.setLoading(true);\n const isLoginEmailUsed = this.emailProvider.getLoginEmailUsed();\n super.setLoading(isLoginEmailUsed);\n const { isConnected } = await this.emailProvider.isConnected();\n if (isConnected) {\n await this.setEmailProvider();\n }\n else {\n super.setLoading(false);\n }\n }\n }\n eip6963EventHandler(event) {\n if (event.detail) {\n const { info, provider } = event.detail;\n const connectors = this.getConnectors();\n const existingConnector = connectors.find(c => c.name === info.name);\n if (!existingConnector) {\n const type = PresetsUtil.ConnectorTypesMap[ConstantsUtil.EIP6963_CONNECTOR_ID];\n if (type) {\n this.addConnector({\n id: ConstantsUtil.EIP6963_CONNECTOR_ID,\n type,\n imageUrl: info.icon ?? this.options?.connectorImages?.[ConstantsUtil.EIP6963_CONNECTOR_ID],\n name: info.name,\n provider,\n info\n });\n const eip6963ProviderObj = {\n provider,\n info\n };\n this.EIP6963Providers.push(eip6963ProviderObj);\n }\n }\n }\n }\n listenConnectors(enableEIP6963) {\n if (typeof window !== 'undefined' && enableEIP6963) {\n const handler = this.eip6963EventHandler.bind(this);\n window.addEventListener(ConstantsUtil.EIP6963_ANNOUNCE_EVENT, handler);\n window.dispatchEvent(new Event(ConstantsUtil.EIP6963_REQUEST_EVENT));\n }\n }\n}\n//# sourceMappingURL=client.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.walletLogo = void 0;\nconst walletLogo = (type, width) => {\n let height;\n switch (type) {\n case 'standard':\n height = width;\n return `data:image/svg+xml,%3Csvg width='${width}' height='${height}' viewBox='0 0 1024 1024' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Crect width='1024' height='1024' fill='%230052FF'/%3E %3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M152 512C152 710.823 313.177 872 512 872C710.823 872 872 710.823 872 512C872 313.177 710.823 152 512 152C313.177 152 152 313.177 152 512ZM420 396C406.745 396 396 406.745 396 420V604C396 617.255 406.745 628 420 628H604C617.255 628 628 617.255 628 604V420C628 406.745 617.255 396 604 396H420Z' fill='white'/%3E %3C/svg%3E `;\n case 'circle':\n height = width;\n return `data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='${width}' height='${height}' viewBox='0 0 999.81 999.81'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%230052fe;%7D.cls-2%7Bfill:%23fefefe;%7D.cls-3%7Bfill:%230152fe;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M655-115.9h56c.83,1.59,2.36.88,3.56,1a478,478,0,0,1,75.06,10.42C891.4-81.76,978.33-32.58,1049.19,44q116.7,126,131.94,297.61c.38,4.14-.34,8.53,1.78,12.45v59c-1.58.84-.91,2.35-1,3.56a482.05,482.05,0,0,1-10.38,74.05c-24,106.72-76.64,196.76-158.83,268.93s-178.18,112.82-287.2,122.6c-4.83.43-9.86-.25-14.51,1.77H654c-1-1.68-2.69-.91-4.06-1a496.89,496.89,0,0,1-105.9-18.59c-93.54-27.42-172.78-77.59-236.91-150.94Q199.34,590.1,184.87,426.58c-.47-5.19.25-10.56-1.77-15.59V355c1.68-1,.91-2.7,1-4.06a498.12,498.12,0,0,1,18.58-105.9c26-88.75,72.64-164.9,140.6-227.57q126-116.27,297.21-131.61C645.32-114.57,650.35-113.88,655-115.9Zm377.92,500c0-192.44-156.31-349.49-347.56-350.15-194.13-.68-350.94,155.13-352.29,347.42-1.37,194.55,155.51,352.1,348.56,352.47C876.15,734.23,1032.93,577.84,1032.93,384.11Z' transform='translate(-183.1 115.9)'/%3E%3Cpath class='cls-2' d='M1032.93,384.11c0,193.73-156.78,350.12-351.29,349.74-193-.37-349.93-157.92-348.56-352.47C334.43,189.09,491.24,33.28,685.37,34,876.62,34.62,1032.94,191.67,1032.93,384.11ZM683,496.81q43.74,0,87.48,0c15.55,0,25.32-9.72,25.33-25.21q0-87.48,0-175c0-15.83-9.68-25.46-25.59-25.46H595.77c-15.88,0-25.57,9.64-25.58,25.46q0,87.23,0,174.45c0,16.18,9.59,25.7,25.84,25.71Z' transform='translate(-183.1 115.9)'/%3E%3Cpath class='cls-3' d='M683,496.81H596c-16.25,0-25.84-9.53-25.84-25.71q0-87.23,0-174.45c0-15.82,9.7-25.46,25.58-25.46H770.22c15.91,0,25.59,9.63,25.59,25.46q0,87.47,0,175c0,15.49-9.78,25.2-25.33,25.21Q726.74,496.84,683,496.81Z' transform='translate(-183.1 115.9)'/%3E%3C/svg%3E`;\n case 'text':\n height = (0.1 * width).toFixed(2);\n return `data:image/svg+xml,%3Csvg width='${width}' height='${height}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 528.15 53.64'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%230052ff;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3ECoinbase_Wordmark_SubBrands_ALL%3C/title%3E%3Cpath class='cls-1' d='M164.45,15a15,15,0,0,0-11.74,5.4V0h-8.64V52.92h8.5V48a15,15,0,0,0,11.88,5.62c10.37,0,18.21-8.21,18.21-19.3S174.67,15,164.45,15Zm-1.3,30.67c-6.19,0-10.73-4.83-10.73-11.31S157,23,163.22,23s10.66,4.82,10.66,11.37S169.34,45.65,163.15,45.65Zm83.31-14.91-6.34-.93c-3-.43-5.18-1.44-5.18-3.82,0-2.59,2.8-3.89,6.62-3.89,4.18,0,6.84,1.8,7.42,4.76h8.35c-.94-7.49-6.7-11.88-15.55-11.88-9.15,0-15.2,4.68-15.2,11.3,0,6.34,4,10,12,11.16l6.33.94c3.1.43,4.83,1.65,4.83,4,0,2.95-3,4.17-7.2,4.17-5.12,0-8-2.09-8.43-5.25h-8.49c.79,7.27,6.48,12.38,16.84,12.38,9.44,0,15.7-4.32,15.7-11.74C258.12,35.28,253.58,31.82,246.46,30.74Zm-27.65-2.3c0-8.06-4.9-13.46-15.27-13.46-9.79,0-15.26,5-16.34,12.6h8.57c.43-3,2.73-5.4,7.63-5.4,4.39,0,6.55,1.94,6.55,4.32,0,3.09-4,3.88-8.85,4.39-6.63.72-14.84,3-14.84,11.66,0,6.7,5,11,12.89,11,6.19,0,10.08-2.59,12-6.7.28,3.67,3,6.05,6.84,6.05h5v-7.7h-4.25Zm-8.5,9.36c0,5-4.32,8.64-9.57,8.64-3.24,0-6-1.37-6-4.25,0-3.67,4.39-4.68,8.42-5.11s6-1.22,7.13-2.88ZM281.09,15c-11.09,0-19.23,8.35-19.23,19.36,0,11.6,8.72,19.3,19.37,19.3,9,0,16.06-5.33,17.86-12.89h-9c-1.3,3.31-4.47,5.19-8.71,5.19-5.55,0-9.72-3.46-10.66-9.51H299.3V33.12C299.3,22.46,291.53,15,281.09,15Zm-9.87,15.26c1.37-5.18,5.26-7.7,9.72-7.7,4.9,0,8.64,2.8,9.51,7.7ZM19.3,23a9.84,9.84,0,0,1,9.5,7h9.14c-1.65-8.93-9-15-18.57-15A19,19,0,0,0,0,34.34c0,11.09,8.28,19.3,19.37,19.3,9.36,0,16.85-6,18.5-15H28.8a9.75,9.75,0,0,1-9.43,7.06c-6.27,0-10.66-4.83-10.66-11.31S13,23,19.3,23Zm41.11-8A19,19,0,0,0,41,34.34c0,11.09,8.28,19.3,19.37,19.3A19,19,0,0,0,79.92,34.27C79.92,23.33,71.64,15,60.41,15Zm.07,30.67c-6.19,0-10.73-4.83-10.73-11.31S54.22,23,60.41,23s10.8,4.89,10.8,11.37S66.67,45.65,60.48,45.65ZM123.41,15c-5.62,0-9.29,2.3-11.45,5.54V15.7h-8.57V52.92H112V32.69C112,27,115.63,23,121,23c5,0,8.06,3.53,8.06,8.64V52.92h8.64V31C137.66,21.6,132.84,15,123.41,15ZM92,.36a5.36,5.36,0,0,0-5.55,5.47,5.55,5.55,0,0,0,11.09,0A5.35,5.35,0,0,0,92,.36Zm-9.72,23h5.4V52.92h8.64V15.7h-14Zm298.17-7.7L366.2,52.92H372L375.29,44H392l3.33,8.88h6L386.87,15.7ZM377,39.23l6.45-17.56h.1l6.56,17.56ZM362.66,15.7l-7.88,29h-.11l-8.14-29H341l-8,28.93h-.1l-8-28.87H319L329.82,53h5.45l8.19-29.24h.11L352,53h5.66L368.1,15.7Zm135.25,0v4.86h12.32V52.92h5.6V20.56h12.32V15.7ZM467.82,52.92h25.54V48.06H473.43v-12h18.35V31.35H473.43V20.56h19.93V15.7H467.82ZM443,15.7h-5.6V52.92h24.32V48.06H443Zm-30.45,0h-5.61V52.92h24.32V48.06H412.52Z'/%3E%3C/svg%3E`;\n case 'textWithLogo':\n height = (0.25 * width).toFixed(2);\n return `data:image/svg+xml,%3Csvg width='${width}' height='${height}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 308.44 77.61'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%230052ff;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M142.94,20.2l-7.88,29H135l-8.15-29h-5.55l-8,28.93h-.11l-8-28.87H99.27l10.84,37.27h5.44l8.2-29.24h.1l8.41,29.24h5.66L148.39,20.2Zm17.82,0L146.48,57.42h5.82l3.28-8.88h16.65l3.34,8.88h6L167.16,20.2Zm-3.44,23.52,6.45-17.55h.11l6.56,17.55ZM278.2,20.2v4.86h12.32V57.42h5.6V25.06h12.32V20.2ZM248.11,57.42h25.54V52.55H253.71V40.61h18.35V35.85H253.71V25.06h19.94V20.2H248.11ZM223.26,20.2h-5.61V57.42H242V52.55H223.26Zm-30.46,0h-5.6V57.42h24.32V52.55H192.8Zm-154,38A19.41,19.41,0,1,1,57.92,35.57H77.47a38.81,38.81,0,1,0,0,6.47H57.92A19.39,19.39,0,0,1,38.81,58.21Z'/%3E%3C/svg%3E`;\n case 'textLight':\n height = (0.1 * width).toFixed(2);\n return `data:image/svg+xml,%3Csvg width='${width}' height='${height}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 528.15 53.64'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fefefe;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3ECoinbase_Wordmark_SubBrands_ALL%3C/title%3E%3Cpath class='cls-1' d='M164.45,15a15,15,0,0,0-11.74,5.4V0h-8.64V52.92h8.5V48a15,15,0,0,0,11.88,5.62c10.37,0,18.21-8.21,18.21-19.3S174.67,15,164.45,15Zm-1.3,30.67c-6.19,0-10.73-4.83-10.73-11.31S157,23,163.22,23s10.66,4.82,10.66,11.37S169.34,45.65,163.15,45.65Zm83.31-14.91-6.34-.93c-3-.43-5.18-1.44-5.18-3.82,0-2.59,2.8-3.89,6.62-3.89,4.18,0,6.84,1.8,7.42,4.76h8.35c-.94-7.49-6.7-11.88-15.55-11.88-9.15,0-15.2,4.68-15.2,11.3,0,6.34,4,10,12,11.16l6.33.94c3.1.43,4.83,1.65,4.83,4,0,2.95-3,4.17-7.2,4.17-5.12,0-8-2.09-8.43-5.25h-8.49c.79,7.27,6.48,12.38,16.84,12.38,9.44,0,15.7-4.32,15.7-11.74C258.12,35.28,253.58,31.82,246.46,30.74Zm-27.65-2.3c0-8.06-4.9-13.46-15.27-13.46-9.79,0-15.26,5-16.34,12.6h8.57c.43-3,2.73-5.4,7.63-5.4,4.39,0,6.55,1.94,6.55,4.32,0,3.09-4,3.88-8.85,4.39-6.63.72-14.84,3-14.84,11.66,0,6.7,5,11,12.89,11,6.19,0,10.08-2.59,12-6.7.28,3.67,3,6.05,6.84,6.05h5v-7.7h-4.25Zm-8.5,9.36c0,5-4.32,8.64-9.57,8.64-3.24,0-6-1.37-6-4.25,0-3.67,4.39-4.68,8.42-5.11s6-1.22,7.13-2.88ZM281.09,15c-11.09,0-19.23,8.35-19.23,19.36,0,11.6,8.72,19.3,19.37,19.3,9,0,16.06-5.33,17.86-12.89h-9c-1.3,3.31-4.47,5.19-8.71,5.19-5.55,0-9.72-3.46-10.66-9.51H299.3V33.12C299.3,22.46,291.53,15,281.09,15Zm-9.87,15.26c1.37-5.18,5.26-7.7,9.72-7.7,4.9,0,8.64,2.8,9.51,7.7ZM19.3,23a9.84,9.84,0,0,1,9.5,7h9.14c-1.65-8.93-9-15-18.57-15A19,19,0,0,0,0,34.34c0,11.09,8.28,19.3,19.37,19.3,9.36,0,16.85-6,18.5-15H28.8a9.75,9.75,0,0,1-9.43,7.06c-6.27,0-10.66-4.83-10.66-11.31S13,23,19.3,23Zm41.11-8A19,19,0,0,0,41,34.34c0,11.09,8.28,19.3,19.37,19.3A19,19,0,0,0,79.92,34.27C79.92,23.33,71.64,15,60.41,15Zm.07,30.67c-6.19,0-10.73-4.83-10.73-11.31S54.22,23,60.41,23s10.8,4.89,10.8,11.37S66.67,45.65,60.48,45.65ZM123.41,15c-5.62,0-9.29,2.3-11.45,5.54V15.7h-8.57V52.92H112V32.69C112,27,115.63,23,121,23c5,0,8.06,3.53,8.06,8.64V52.92h8.64V31C137.66,21.6,132.84,15,123.41,15ZM92,.36a5.36,5.36,0,0,0-5.55,5.47,5.55,5.55,0,0,0,11.09,0A5.35,5.35,0,0,0,92,.36Zm-9.72,23h5.4V52.92h8.64V15.7h-14Zm298.17-7.7L366.2,52.92H372L375.29,44H392l3.33,8.88h6L386.87,15.7ZM377,39.23l6.45-17.56h.1l6.56,17.56ZM362.66,15.7l-7.88,29h-.11l-8.14-29H341l-8,28.93h-.1l-8-28.87H319L329.82,53h5.45l8.19-29.24h.11L352,53h5.66L368.1,15.7Zm135.25,0v4.86h12.32V52.92h5.6V20.56h12.32V15.7ZM467.82,52.92h25.54V48.06H473.43v-12h18.35V31.35H473.43V20.56h19.93V15.7H467.82ZM443,15.7h-5.6V52.92h24.32V48.06H443Zm-30.45,0h-5.61V52.92h24.32V48.06H412.52Z'/%3E%3C/svg%3E`;\n case 'textWithLogoLight':\n height = (0.25 * width).toFixed(2);\n return `data:image/svg+xml,%3Csvg width='${width}' height='${height}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 308.44 77.61'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fefefe;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M142.94,20.2l-7.88,29H135l-8.15-29h-5.55l-8,28.93h-.11l-8-28.87H99.27l10.84,37.27h5.44l8.2-29.24h.1l8.41,29.24h5.66L148.39,20.2Zm17.82,0L146.48,57.42h5.82l3.28-8.88h16.65l3.34,8.88h6L167.16,20.2Zm-3.44,23.52,6.45-17.55h.11l6.56,17.55ZM278.2,20.2v4.86h12.32V57.42h5.6V25.06h12.32V20.2ZM248.11,57.42h25.54V52.55H253.71V40.61h18.35V35.85H253.71V25.06h19.94V20.2H248.11ZM223.26,20.2h-5.61V57.42H242V52.55H223.26Zm-30.46,0h-5.6V57.42h24.32V52.55H192.8Zm-154,38A19.41,19.41,0,1,1,57.92,35.57H77.47a38.81,38.81,0,1,0,0,6.47H57.92A19.39,19.39,0,0,1,38.81,58.21Z'/%3E%3C/svg%3E`;\n default:\n height = width;\n return `data:image/svg+xml,%3Csvg width='${width}' height='${height}' viewBox='0 0 1024 1024' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Crect width='1024' height='1024' fill='%230052FF'/%3E %3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M152 512C152 710.823 313.177 872 512 872C710.823 872 872 710.823 872 512C872 313.177 710.823 152 512 152C313.177 152 152 313.177 152 512ZM420 396C406.745 396 396 406.745 396 420V604C396 617.255 406.745 628 420 628H604C617.255 628 628 617.255 628 604V420C628 406.745 617.255 396 604 396H420Z' fill='white'/%3E %3C/svg%3E `;\n }\n};\nexports.walletLogo = walletLogo;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LINK_API_URL = void 0;\nexports.LINK_API_URL = 'https://www.walletlink.org';\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [number & 0x3ffffff];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [0];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this._strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // '0' - '9'\n if (c >= 48 && c <= 57) {\n return c - 48;\n // 'A' - 'F'\n } else if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n } else {\n assert(false, 'Invalid character in ' + string);\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this._strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var b = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n b = c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n b = c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n b = c;\n }\n assert(c >= 0 && b < mul, 'Invalid character');\n r += b;\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [0];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this._strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n function move (dest, src) {\n dest.words = src.words;\n dest.length = src.length;\n dest.negative = src.negative;\n dest.red = src.red;\n }\n\n BN.prototype._move = function _move (dest) {\n move(dest, this);\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype._strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n // Check Symbol.for because not everywhere where Symbol defined\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Browser_compatibility\n if (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function') {\n try {\n BN.prototype[Symbol.for('nodejs.util.inspect.custom')] = inspect;\n } catch (e) {\n BN.prototype.inspect = inspect;\n }\n } else {\n BN.prototype.inspect = inspect;\n }\n\n function inspect () {\n return (this.red ? '';\n }\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modrn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16, 2);\n };\n\n if (Buffer) {\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n return this.toArrayLike(Buffer, endian, length);\n };\n }\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n var allocate = function allocate (ArrayType, size) {\n if (ArrayType.allocUnsafe) {\n return ArrayType.allocUnsafe(size);\n }\n return new ArrayType(size);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n this._strip();\n\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n var res = allocate(ArrayType, reqLength);\n var postfix = endian === 'le' ? 'LE' : 'BE';\n this['_toArrayLike' + postfix](res, byteLength);\n return res;\n };\n\n BN.prototype._toArrayLikeLE = function _toArrayLikeLE (res, byteLength) {\n var position = 0;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position++] = word & 0xff;\n if (position < res.length) {\n res[position++] = (word >> 8) & 0xff;\n }\n if (position < res.length) {\n res[position++] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position < res.length) {\n res[position++] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position < res.length) {\n res[position++] = carry;\n\n while (position < res.length) {\n res[position++] = 0;\n }\n }\n };\n\n BN.prototype._toArrayLikeBE = function _toArrayLikeBE (res, byteLength) {\n var position = res.length - 1;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position--] = word & 0xff;\n if (position >= 0) {\n res[position--] = (word >> 8) & 0xff;\n }\n if (position >= 0) {\n res[position--] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position >= 0) {\n res[position--] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position >= 0) {\n res[position--] = carry;\n\n while (position >= 0) {\n res[position--] = 0;\n }\n }\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] >>> wbit) & 0x01;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this._strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this._strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this._strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this._strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this._strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this._strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n function jumboMulTo (self, num, out) {\n // Temporary disable, see https://github.com/indutny/bn.js/issues/211\n // var fftm = new FFTM();\n // return fftm.mulp(self, num, out);\n return bigMulTo(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out._strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this._strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) <= num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this._strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this._strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this._strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q._strip();\n }\n a._strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || (r2 === 1 && cmp === 0)) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modrn = function modrn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return isNegNum ? -acc : acc;\n };\n\n // WARNING: DEPRECATED\n BN.prototype.modn = function modn (num) {\n return this.modrn(num);\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n this._strip();\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this._strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is a BN v4 instance\n r.strip();\n } else {\n // r is a BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n\n move(a, a.umod(this.m)._forceRed(this));\n return a;\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.errorValues = exports.standardErrorCodes = void 0;\nexports.standardErrorCodes = {\n rpc: {\n invalidInput: -32000,\n resourceNotFound: -32001,\n resourceUnavailable: -32002,\n transactionRejected: -32003,\n methodNotSupported: -32004,\n limitExceeded: -32005,\n parse: -32700,\n invalidRequest: -32600,\n methodNotFound: -32601,\n invalidParams: -32602,\n internal: -32603,\n },\n provider: {\n userRejectedRequest: 4001,\n unauthorized: 4100,\n unsupportedMethod: 4200,\n disconnected: 4900,\n chainDisconnected: 4901,\n unsupportedChain: 4902,\n },\n};\nexports.errorValues = {\n '-32700': {\n standard: 'JSON RPC 2.0',\n message: 'Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.',\n },\n '-32600': {\n standard: 'JSON RPC 2.0',\n message: 'The JSON sent is not a valid Request object.',\n },\n '-32601': {\n standard: 'JSON RPC 2.0',\n message: 'The method does not exist / is not available.',\n },\n '-32602': {\n standard: 'JSON RPC 2.0',\n message: 'Invalid method parameter(s).',\n },\n '-32603': {\n standard: 'JSON RPC 2.0',\n message: 'Internal JSON-RPC error.',\n },\n '-32000': {\n standard: 'EIP-1474',\n message: 'Invalid input.',\n },\n '-32001': {\n standard: 'EIP-1474',\n message: 'Resource not found.',\n },\n '-32002': {\n standard: 'EIP-1474',\n message: 'Resource unavailable.',\n },\n '-32003': {\n standard: 'EIP-1474',\n message: 'Transaction rejected.',\n },\n '-32004': {\n standard: 'EIP-1474',\n message: 'Method not supported.',\n },\n '-32005': {\n standard: 'EIP-1474',\n message: 'Request limit exceeded.',\n },\n '4001': {\n standard: 'EIP-1193',\n message: 'User rejected the request.',\n },\n '4100': {\n standard: 'EIP-1193',\n message: 'The requested account and/or method has not been authorized by the user.',\n },\n '4200': {\n standard: 'EIP-1193',\n message: 'The requested method is not supported by this Ethereum provider.',\n },\n '4900': {\n standard: 'EIP-1193',\n message: 'The provider is disconnected from all chains.',\n },\n '4901': {\n standard: 'EIP-1193',\n message: 'The provider is disconnected from the specified chain.',\n },\n '4902': {\n standard: 'EIP-3085',\n message: 'Unrecognized chain ID.',\n },\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.serialize = exports.getErrorCode = exports.isValidCode = exports.getMessageFromCode = exports.JSON_RPC_SERVER_ERROR_MESSAGE = void 0;\nconst constants_1 = require(\"./constants\");\nconst FALLBACK_MESSAGE = 'Unspecified error message.';\nexports.JSON_RPC_SERVER_ERROR_MESSAGE = 'Unspecified server error.';\n/**\n * Gets the message for a given code, or a fallback message if the code has\n * no corresponding message.\n */\nfunction getMessageFromCode(code, fallbackMessage = FALLBACK_MESSAGE) {\n if (code && Number.isInteger(code)) {\n const codeString = code.toString();\n if (hasKey(constants_1.errorValues, codeString)) {\n return constants_1.errorValues[codeString].message;\n }\n if (isJsonRpcServerError(code)) {\n return exports.JSON_RPC_SERVER_ERROR_MESSAGE;\n }\n }\n return fallbackMessage;\n}\nexports.getMessageFromCode = getMessageFromCode;\n/**\n * Returns whether the given code is valid.\n * A code is only valid if it has a message.\n */\nfunction isValidCode(code) {\n if (!Number.isInteger(code)) {\n return false;\n }\n const codeString = code.toString();\n if (constants_1.errorValues[codeString]) {\n return true;\n }\n if (isJsonRpcServerError(code)) {\n return true;\n }\n return false;\n}\nexports.isValidCode = isValidCode;\n/**\n * Returns the error code from an error object.\n */\nfunction getErrorCode(error) {\n var _a;\n if (typeof error === 'number') {\n return error;\n }\n else if (isErrorWithCode(error)) {\n return (_a = error.code) !== null && _a !== void 0 ? _a : error.errorCode;\n }\n return undefined;\n}\nexports.getErrorCode = getErrorCode;\nfunction isErrorWithCode(error) {\n return (typeof error === 'object' &&\n error !== null &&\n (typeof error.code === 'number' ||\n typeof error.errorCode === 'number'));\n}\nfunction serialize(error, { shouldIncludeStack = false } = {}) {\n const serialized = {};\n if (error &&\n typeof error === 'object' &&\n !Array.isArray(error) &&\n hasKey(error, 'code') &&\n isValidCode(error.code)) {\n const _error = error;\n serialized.code = _error.code;\n if (_error.message && typeof _error.message === 'string') {\n serialized.message = _error.message;\n if (hasKey(_error, 'data')) {\n serialized.data = _error.data;\n }\n }\n else {\n serialized.message = getMessageFromCode(serialized.code);\n serialized.data = { originalError: assignOriginalError(error) };\n }\n }\n else {\n serialized.code = constants_1.standardErrorCodes.rpc.internal;\n serialized.message = hasStringProperty(error, 'message') ? error.message : FALLBACK_MESSAGE;\n serialized.data = { originalError: assignOriginalError(error) };\n }\n if (shouldIncludeStack) {\n serialized.stack = hasStringProperty(error, 'stack') ? error.stack : undefined;\n }\n return serialized;\n}\nexports.serialize = serialize;\n// Internal\nfunction isJsonRpcServerError(code) {\n return code >= -32099 && code <= -32000;\n}\nfunction assignOriginalError(error) {\n if (error && typeof error === 'object' && !Array.isArray(error)) {\n return Object.assign({}, error);\n }\n return error;\n}\nfunction hasKey(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\nfunction hasStringProperty(obj, prop) {\n return (typeof obj === 'object' && obj !== null && prop in obj && typeof obj[prop] === 'string');\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.standardErrors = void 0;\nconst constants_1 = require(\"./constants\");\nconst utils_1 = require(\"./utils\");\nexports.standardErrors = {\n rpc: {\n parse: (arg) => getEthJsonRpcError(constants_1.standardErrorCodes.rpc.parse, arg),\n invalidRequest: (arg) => getEthJsonRpcError(constants_1.standardErrorCodes.rpc.invalidRequest, arg),\n invalidParams: (arg) => getEthJsonRpcError(constants_1.standardErrorCodes.rpc.invalidParams, arg),\n methodNotFound: (arg) => getEthJsonRpcError(constants_1.standardErrorCodes.rpc.methodNotFound, arg),\n internal: (arg) => getEthJsonRpcError(constants_1.standardErrorCodes.rpc.internal, arg),\n server: (opts) => {\n if (!opts || typeof opts !== 'object' || Array.isArray(opts)) {\n throw new Error('Ethereum RPC Server errors must provide single object argument.');\n }\n const { code } = opts;\n if (!Number.isInteger(code) || code > -32005 || code < -32099) {\n throw new Error('\"code\" must be an integer such that: -32099 <= code <= -32005');\n }\n return getEthJsonRpcError(code, opts);\n },\n invalidInput: (arg) => getEthJsonRpcError(constants_1.standardErrorCodes.rpc.invalidInput, arg),\n resourceNotFound: (arg) => getEthJsonRpcError(constants_1.standardErrorCodes.rpc.resourceNotFound, arg),\n resourceUnavailable: (arg) => getEthJsonRpcError(constants_1.standardErrorCodes.rpc.resourceUnavailable, arg),\n transactionRejected: (arg) => getEthJsonRpcError(constants_1.standardErrorCodes.rpc.transactionRejected, arg),\n methodNotSupported: (arg) => getEthJsonRpcError(constants_1.standardErrorCodes.rpc.methodNotSupported, arg),\n limitExceeded: (arg) => getEthJsonRpcError(constants_1.standardErrorCodes.rpc.limitExceeded, arg),\n },\n provider: {\n userRejectedRequest: (arg) => {\n return getEthProviderError(constants_1.standardErrorCodes.provider.userRejectedRequest, arg);\n },\n unauthorized: (arg) => {\n return getEthProviderError(constants_1.standardErrorCodes.provider.unauthorized, arg);\n },\n unsupportedMethod: (arg) => {\n return getEthProviderError(constants_1.standardErrorCodes.provider.unsupportedMethod, arg);\n },\n disconnected: (arg) => {\n return getEthProviderError(constants_1.standardErrorCodes.provider.disconnected, arg);\n },\n chainDisconnected: (arg) => {\n return getEthProviderError(constants_1.standardErrorCodes.provider.chainDisconnected, arg);\n },\n unsupportedChain: (arg) => {\n return getEthProviderError(constants_1.standardErrorCodes.provider.unsupportedChain, arg);\n },\n custom: (opts) => {\n if (!opts || typeof opts !== 'object' || Array.isArray(opts)) {\n throw new Error('Ethereum Provider custom errors must provide single object argument.');\n }\n const { code, message, data } = opts;\n if (!message || typeof message !== 'string') {\n throw new Error('\"message\" must be a nonempty string');\n }\n return new EthereumProviderError(code, message, data);\n },\n },\n};\n// Internal\nfunction getEthJsonRpcError(code, arg) {\n const [message, data] = parseOpts(arg);\n return new EthereumRpcError(code, message || (0, utils_1.getMessageFromCode)(code), data);\n}\nfunction getEthProviderError(code, arg) {\n const [message, data] = parseOpts(arg);\n return new EthereumProviderError(code, message || (0, utils_1.getMessageFromCode)(code), data);\n}\nfunction parseOpts(arg) {\n if (arg) {\n if (typeof arg === 'string') {\n return [arg];\n }\n else if (typeof arg === 'object' && !Array.isArray(arg)) {\n const { message, data } = arg;\n if (message && typeof message !== 'string') {\n throw new Error('Must specify string message.');\n }\n return [message || undefined, data];\n }\n }\n return [];\n}\nclass EthereumRpcError extends Error {\n constructor(code, message, data) {\n if (!Number.isInteger(code)) {\n throw new Error('\"code\" must be an integer.');\n }\n if (!message || typeof message !== 'string') {\n throw new Error('\"message\" must be a nonempty string.');\n }\n super(message);\n this.code = code;\n if (data !== undefined) {\n this.data = data;\n }\n }\n}\nclass EthereumProviderError extends EthereumRpcError {\n /**\n * Create an Ethereum Provider JSON-RPC error.\n * `code` must be an integer in the 1000 <= 4999 range.\n */\n constructor(code, message, data) {\n if (!isValidEthProviderCode(code)) {\n throw new Error('\"code\" must be an integer such that: 1000 <= code <= 4999');\n }\n super(code, message, data);\n }\n}\nfunction isValidEthProviderCode(code) {\n return Number.isInteger(code) && code >= 1000 && code <= 4999;\n}\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isErrorResponse = void 0;\n// TODO: revisit if this is still needed\nfunction isErrorResponse(response) {\n return response.errorMessage !== undefined;\n}\nexports.isErrorResponse = isErrorResponse;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LIB_VERSION = void 0;\nexports.LIB_VERSION = '3.9.1';\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.serializeError = void 0;\n// TODO: error should not depend on walletlink. revisit this.\nconst Web3Response_1 = require(\"../../relay/walletlink/type/Web3Response\");\nconst version_1 = require(\"../../version\");\nconst constants_1 = require(\"./constants\");\nconst utils_1 = require(\"./utils\");\n/**\n * Serializes an error to a format that is compatible with the Ethereum JSON RPC error format.\n * See https://docs.cloud.coinbase.com/wallet-sdk/docs/errors\n * for more information.\n */\nfunction serializeError(error, requestOrMethod) {\n const serialized = (0, utils_1.serialize)(getErrorObject(error), {\n shouldIncludeStack: true,\n });\n const docUrl = new URL('https://docs.cloud.coinbase.com/wallet-sdk/docs/errors');\n docUrl.searchParams.set('version', version_1.LIB_VERSION);\n docUrl.searchParams.set('code', serialized.code.toString());\n const method = getMethod(serialized.data, requestOrMethod);\n if (method) {\n docUrl.searchParams.set('method', method);\n }\n docUrl.searchParams.set('message', serialized.message);\n return Object.assign(Object.assign({}, serialized), { docUrl: docUrl.href });\n}\nexports.serializeError = serializeError;\n/**\n * Converts an error to a serializable object.\n */\nfunction getErrorObject(error) {\n if (typeof error === 'string') {\n return {\n message: error,\n code: constants_1.standardErrorCodes.rpc.internal,\n };\n }\n else if ((0, Web3Response_1.isErrorResponse)(error)) {\n return Object.assign(Object.assign({}, error), { message: error.errorMessage, code: error.errorCode, data: { method: error.method } });\n }\n return error;\n}\n/**\n * Gets the method name from the serialized data or the request.\n */\nfunction getMethod(serializedData, request) {\n const methodInData = serializedData === null || serializedData === void 0 ? void 0 : serializedData.method;\n if (methodInData) {\n return methodInData;\n }\n if (request === undefined) {\n return undefined;\n }\n else if (typeof request === 'string') {\n return request;\n }\n else if (!Array.isArray(request)) {\n return request.method;\n }\n else if (request.length > 0) {\n return request[0].method;\n }\n return undefined;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.standardErrors = exports.standardErrorCodes = exports.serializeError = exports.getMessageFromCode = exports.getErrorCode = void 0;\nconst constants_1 = require(\"./constants\");\nObject.defineProperty(exports, \"standardErrorCodes\", { enumerable: true, get: function () { return constants_1.standardErrorCodes; } });\nconst errors_1 = require(\"./errors\");\nObject.defineProperty(exports, \"standardErrors\", { enumerable: true, get: function () { return errors_1.standardErrors; } });\nconst serialize_1 = require(\"./serialize\");\nObject.defineProperty(exports, \"serializeError\", { enumerable: true, get: function () { return serialize_1.serializeError; } });\nconst utils_1 = require(\"./utils\");\nObject.defineProperty(exports, \"getErrorCode\", { enumerable: true, get: function () { return utils_1.getErrorCode; } });\nObject.defineProperty(exports, \"getMessageFromCode\", { enumerable: true, get: function () { return utils_1.getMessageFromCode; } });\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ProviderType = exports.RegExpString = exports.IntNumber = exports.BigIntString = exports.AddressString = exports.HexString = exports.OpaqueType = void 0;\nfunction OpaqueType() {\n return (value) => value;\n}\nexports.OpaqueType = OpaqueType;\nexports.HexString = OpaqueType();\nexports.AddressString = OpaqueType();\nexports.BigIntString = OpaqueType();\nfunction IntNumber(num) {\n return Math.floor(num);\n}\nexports.IntNumber = IntNumber;\nexports.RegExpString = OpaqueType();\nvar ProviderType;\n(function (ProviderType) {\n ProviderType[\"CoinbaseWallet\"] = \"CoinbaseWallet\";\n ProviderType[\"MetaMask\"] = \"MetaMask\";\n ProviderType[\"Unselected\"] = \"\";\n})(ProviderType || (exports.ProviderType = ProviderType = {}));\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isMobileWeb = exports.getLocation = exports.isInIFrame = exports.createQrUrl = exports.getFavicon = exports.range = exports.isBigNumber = exports.ensureParsedJSONObject = exports.ensureBN = exports.ensureRegExpString = exports.ensureIntNumber = exports.ensureBuffer = exports.ensureAddressString = exports.ensureEvenLengthHexString = exports.ensureHexString = exports.isHexString = exports.prepend0x = exports.strip0x = exports.has0xPrefix = exports.hexStringFromIntNumber = exports.intNumberFromHexString = exports.bigIntStringFromBN = exports.hexStringFromBuffer = exports.hexStringToUint8Array = exports.uint8ArrayToHex = exports.randomBytesHex = void 0;\nconst bn_js_1 = __importDefault(require(\"bn.js\"));\nconst error_1 = require(\"./error\");\nconst type_1 = require(\"./type\");\nconst INT_STRING_REGEX = /^[0-9]*$/;\nconst HEXADECIMAL_STRING_REGEX = /^[a-f0-9]*$/;\n/**\n * @param length number of bytes\n */\nfunction randomBytesHex(length) {\n return uint8ArrayToHex(crypto.getRandomValues(new Uint8Array(length)));\n}\nexports.randomBytesHex = randomBytesHex;\nfunction uint8ArrayToHex(value) {\n return [...value].map((b) => b.toString(16).padStart(2, '0')).join('');\n}\nexports.uint8ArrayToHex = uint8ArrayToHex;\nfunction hexStringToUint8Array(hexString) {\n return new Uint8Array(hexString.match(/.{1,2}/g).map((byte) => parseInt(byte, 16)));\n}\nexports.hexStringToUint8Array = hexStringToUint8Array;\nfunction hexStringFromBuffer(buf, includePrefix = false) {\n const hex = buf.toString('hex');\n return (0, type_1.HexString)(includePrefix ? `0x${hex}` : hex);\n}\nexports.hexStringFromBuffer = hexStringFromBuffer;\nfunction bigIntStringFromBN(bn) {\n return (0, type_1.BigIntString)(bn.toString(10));\n}\nexports.bigIntStringFromBN = bigIntStringFromBN;\nfunction intNumberFromHexString(hex) {\n return (0, type_1.IntNumber)(new bn_js_1.default(ensureEvenLengthHexString(hex, false), 16).toNumber());\n}\nexports.intNumberFromHexString = intNumberFromHexString;\nfunction hexStringFromIntNumber(num) {\n return (0, type_1.HexString)(`0x${new bn_js_1.default(num).toString(16)}`);\n}\nexports.hexStringFromIntNumber = hexStringFromIntNumber;\nfunction has0xPrefix(str) {\n return str.startsWith('0x') || str.startsWith('0X');\n}\nexports.has0xPrefix = has0xPrefix;\nfunction strip0x(hex) {\n if (has0xPrefix(hex)) {\n return hex.slice(2);\n }\n return hex;\n}\nexports.strip0x = strip0x;\nfunction prepend0x(hex) {\n if (has0xPrefix(hex)) {\n return `0x${hex.slice(2)}`;\n }\n return `0x${hex}`;\n}\nexports.prepend0x = prepend0x;\nfunction isHexString(hex) {\n if (typeof hex !== 'string') {\n return false;\n }\n const s = strip0x(hex).toLowerCase();\n return HEXADECIMAL_STRING_REGEX.test(s);\n}\nexports.isHexString = isHexString;\nfunction ensureHexString(hex, includePrefix = false) {\n if (typeof hex === 'string') {\n const s = strip0x(hex).toLowerCase();\n if (HEXADECIMAL_STRING_REGEX.test(s)) {\n return (0, type_1.HexString)(includePrefix ? `0x${s}` : s);\n }\n }\n throw error_1.standardErrors.rpc.invalidParams(`\"${String(hex)}\" is not a hexadecimal string`);\n}\nexports.ensureHexString = ensureHexString;\nfunction ensureEvenLengthHexString(hex, includePrefix = false) {\n let h = ensureHexString(hex, false);\n if (h.length % 2 === 1) {\n h = (0, type_1.HexString)(`0${h}`);\n }\n return includePrefix ? (0, type_1.HexString)(`0x${h}`) : h;\n}\nexports.ensureEvenLengthHexString = ensureEvenLengthHexString;\nfunction ensureAddressString(str) {\n if (typeof str === 'string') {\n const s = strip0x(str).toLowerCase();\n if (isHexString(s) && s.length === 40) {\n return (0, type_1.AddressString)(prepend0x(s));\n }\n }\n throw error_1.standardErrors.rpc.invalidParams(`Invalid Ethereum address: ${String(str)}`);\n}\nexports.ensureAddressString = ensureAddressString;\nfunction ensureBuffer(str) {\n if (Buffer.isBuffer(str)) {\n return str;\n }\n if (typeof str === 'string') {\n if (isHexString(str)) {\n const s = ensureEvenLengthHexString(str, false);\n return Buffer.from(s, 'hex');\n }\n return Buffer.from(str, 'utf8');\n }\n throw error_1.standardErrors.rpc.invalidParams(`Not binary data: ${String(str)}`);\n}\nexports.ensureBuffer = ensureBuffer;\nfunction ensureIntNumber(num) {\n if (typeof num === 'number' && Number.isInteger(num)) {\n return (0, type_1.IntNumber)(num);\n }\n if (typeof num === 'string') {\n if (INT_STRING_REGEX.test(num)) {\n return (0, type_1.IntNumber)(Number(num));\n }\n if (isHexString(num)) {\n return (0, type_1.IntNumber)(new bn_js_1.default(ensureEvenLengthHexString(num, false), 16).toNumber());\n }\n }\n throw error_1.standardErrors.rpc.invalidParams(`Not an integer: ${String(num)}`);\n}\nexports.ensureIntNumber = ensureIntNumber;\nfunction ensureRegExpString(regExp) {\n if (regExp instanceof RegExp) {\n return (0, type_1.RegExpString)(regExp.toString());\n }\n throw error_1.standardErrors.rpc.invalidParams(`Not a RegExp: ${String(regExp)}`);\n}\nexports.ensureRegExpString = ensureRegExpString;\nfunction ensureBN(val) {\n if (val !== null && (bn_js_1.default.isBN(val) || isBigNumber(val))) {\n return new bn_js_1.default(val.toString(10), 10);\n }\n if (typeof val === 'number') {\n return new bn_js_1.default(ensureIntNumber(val));\n }\n if (typeof val === 'string') {\n if (INT_STRING_REGEX.test(val)) {\n return new bn_js_1.default(val, 10);\n }\n if (isHexString(val)) {\n return new bn_js_1.default(ensureEvenLengthHexString(val, false), 16);\n }\n }\n throw error_1.standardErrors.rpc.invalidParams(`Not an integer: ${String(val)}`);\n}\nexports.ensureBN = ensureBN;\nfunction ensureParsedJSONObject(val) {\n if (typeof val === 'string') {\n return JSON.parse(val);\n }\n if (typeof val === 'object') {\n return val;\n }\n throw error_1.standardErrors.rpc.invalidParams(`Not a JSON string or an object: ${String(val)}`);\n}\nexports.ensureParsedJSONObject = ensureParsedJSONObject;\nfunction isBigNumber(val) {\n if (val == null || typeof val.constructor !== 'function') {\n return false;\n }\n const { constructor } = val;\n return typeof constructor.config === 'function' && typeof constructor.EUCLID === 'number';\n}\nexports.isBigNumber = isBigNumber;\nfunction range(start, stop) {\n return Array.from({ length: stop - start }, (_, i) => start + i);\n}\nexports.range = range;\nfunction getFavicon() {\n const el = document.querySelector('link[sizes=\"192x192\"]') ||\n document.querySelector('link[sizes=\"180x180\"]') ||\n document.querySelector('link[rel=\"icon\"]') ||\n document.querySelector('link[rel=\"shortcut icon\"]');\n const { protocol, host } = document.location;\n const href = el ? el.getAttribute('href') : null;\n if (!href || href.startsWith('javascript:') || href.startsWith('vbscript:')) {\n return null;\n }\n if (href.startsWith('http://') || href.startsWith('https://') || href.startsWith('data:')) {\n return href;\n }\n if (href.startsWith('//')) {\n return protocol + href;\n }\n return `${protocol}//${host}${href}`;\n}\nexports.getFavicon = getFavicon;\nfunction createQrUrl(sessionId, sessionSecret, serverUrl, isParentConnection, version, chainId) {\n const sessionIdKey = isParentConnection ? 'parent-id' : 'id';\n const query = new URLSearchParams({\n [sessionIdKey]: sessionId,\n secret: sessionSecret,\n server: serverUrl,\n v: version,\n chainId: chainId.toString(),\n }).toString();\n const qrUrl = `${serverUrl}/#/link?${query}`;\n return qrUrl;\n}\nexports.createQrUrl = createQrUrl;\nfunction isInIFrame() {\n try {\n return window.frameElement !== null;\n }\n catch (e) {\n return false;\n }\n}\nexports.isInIFrame = isInIFrame;\nfunction getLocation() {\n try {\n if (isInIFrame() && window.top) {\n return window.top.location;\n }\n return window.location;\n }\n catch (e) {\n return window.location;\n }\n}\nexports.getLocation = getLocation;\nfunction isMobileWeb() {\n var _a;\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test((_a = window === null || window === void 0 ? void 0 : window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent);\n}\nexports.isMobileWeb = isMobileWeb;\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScopedLocalStorage = void 0;\nclass ScopedLocalStorage {\n // eslint-disable-next-line no-useless-constructor\n constructor(scope) {\n this.scope = scope;\n }\n setItem(key, value) {\n localStorage.setItem(this.scopedKey(key), value);\n }\n getItem(key) {\n return localStorage.getItem(this.scopedKey(key));\n }\n removeItem(key) {\n localStorage.removeItem(this.scopedKey(key));\n }\n clear() {\n const prefix = this.scopedKey('');\n const keysToRemove = [];\n for (let i = 0; i < localStorage.length; i++) {\n const key = localStorage.key(i);\n if (typeof key === 'string' && key.startsWith(prefix)) {\n keysToRemove.push(key);\n }\n }\n keysToRemove.forEach((key) => localStorage.removeItem(key));\n }\n scopedKey(key) {\n return `${this.scope}:${key}`;\n }\n}\nexports.ScopedLocalStorage = ScopedLocalStorage;\n","\"use strict\";\n// DiagnosticLogger for debugging purposes only\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EVENTS = void 0;\nexports.EVENTS = {\n STARTED_CONNECTING: 'walletlink_sdk.started.connecting',\n CONNECTED_STATE_CHANGE: 'walletlink_sdk.connected',\n DISCONNECTED: 'walletlink_sdk.disconnected',\n METADATA_DESTROYED: 'walletlink_sdk_metadata_destroyed',\n LINKED: 'walletlink_sdk.linked',\n FAILURE: 'walletlink_sdk.generic_failure',\n SESSION_CONFIG_RECEIVED: 'walletlink_sdk.session_config_event_received',\n ETH_ACCOUNTS_STATE: 'walletlink_sdk.eth_accounts_state',\n SESSION_STATE_CHANGE: 'walletlink_sdk.session_state_change',\n UNLINKED_ERROR_STATE: 'walletlink_sdk.unlinked_error_state',\n SKIPPED_CLEARING_SESSION: 'walletlink_sdk.skipped_clearing_session',\n GENERAL_ERROR: 'walletlink_sdk.general_error',\n WEB3_REQUEST: 'walletlink_sdk.web3.request',\n WEB3_REQUEST_PUBLISHED: 'walletlink_sdk.web3.request_published',\n WEB3_RESPONSE: 'walletlink_sdk.web3.response',\n METHOD_NOT_IMPLEMENTED: 'walletlink_sdk.method_not_implemented',\n UNKNOWN_ADDRESS_ENCOUNTERED: 'walletlink_sdk.unknown_address_encountered',\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelayAbstract = exports.APP_VERSION_KEY = exports.LOCAL_STORAGE_ADDRESSES_KEY = exports.WALLET_USER_NAME_KEY = void 0;\nconst error_1 = require(\"../core/error\");\nexports.WALLET_USER_NAME_KEY = 'walletUsername';\nexports.LOCAL_STORAGE_ADDRESSES_KEY = 'Addresses';\nexports.APP_VERSION_KEY = 'AppVersion';\nclass RelayAbstract {\n async makeEthereumJSONRPCRequest(request, jsonRpcUrl) {\n if (!jsonRpcUrl)\n throw new Error('Error: No jsonRpcUrl provided');\n return window\n .fetch(jsonRpcUrl, {\n method: 'POST',\n body: JSON.stringify(request),\n mode: 'cors',\n headers: { 'Content-Type': 'application/json' },\n })\n .then((res) => res.json())\n .then((json) => {\n if (!json) {\n throw error_1.standardErrors.rpc.parse({});\n }\n const response = json;\n const { error } = response;\n if (error) {\n throw (0, error_1.serializeError)(error, request.method);\n }\n return response;\n });\n }\n}\nexports.RelayAbstract = RelayAbstract;\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","var Buffer = require('safe-buffer').Buffer\n\n// prototype class for hash functions\nfunction Hash (blockSize, finalSize) {\n this._block = Buffer.alloc(blockSize)\n this._finalSize = finalSize\n this._blockSize = blockSize\n this._len = 0\n}\n\nHash.prototype.update = function (data, enc) {\n if (typeof data === 'string') {\n enc = enc || 'utf8'\n data = Buffer.from(data, enc)\n }\n\n var block = this._block\n var blockSize = this._blockSize\n var length = data.length\n var accum = this._len\n\n for (var offset = 0; offset < length;) {\n var assigned = accum % blockSize\n var remainder = Math.min(length - offset, blockSize - assigned)\n\n for (var i = 0; i < remainder; i++) {\n block[assigned + i] = data[offset + i]\n }\n\n accum += remainder\n offset += remainder\n\n if ((accum % blockSize) === 0) {\n this._update(block)\n }\n }\n\n this._len += length\n return this\n}\n\nHash.prototype.digest = function (enc) {\n var rem = this._len % this._blockSize\n\n this._block[rem] = 0x80\n\n // zero (rem + 1) trailing bits, where (rem + 1) is the smallest\n // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize\n this._block.fill(0, rem + 1)\n\n if (rem >= this._finalSize) {\n this._update(this._block)\n this._block.fill(0)\n }\n\n var bits = this._len * 8\n\n // uint32\n if (bits <= 0xffffffff) {\n this._block.writeUInt32BE(bits, this._blockSize - 4)\n\n // uint64\n } else {\n var lowBits = (bits & 0xffffffff) >>> 0\n var highBits = (bits - lowBits) / 0x100000000\n\n this._block.writeUInt32BE(highBits, this._blockSize - 8)\n this._block.writeUInt32BE(lowBits, this._blockSize - 4)\n }\n\n this._update(this._block)\n var hash = this._hash()\n\n return enc ? hash.toString(enc) : hash\n}\n\nHash.prototype._update = function () {\n throw new Error('_update must be implemented by subclass')\n}\n\nmodule.exports = Hash\n","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined\n * in FIPS PUB 180-1\n * This source code is derived from sha1.js of the same repository.\n * The difference between SHA-0 and SHA-1 is just a bitwise rotate left\n * operation was added.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha, Hash)\n\nSha.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha\n","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined\n * in FIPS PUB 180-1\n * Version 2.1a Copyright Paul Johnston 2000 - 2002.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for details.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha1 () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha1, Hash)\n\nSha1.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl1 (num) {\n return (num << 1) | (num >>> 31)\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha1.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16])\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha1.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha1\n","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,\n 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,\n 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,\n 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,\n 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,\n 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,\n 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,\n 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,\n 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,\n 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,\n 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,\n 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,\n 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,\n 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,\n 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,\n 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2\n]\n\nvar W = new Array(64)\n\nfunction Sha256 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha256, Hash)\n\nSha256.prototype.init = function () {\n this._a = 0x6a09e667\n this._b = 0xbb67ae85\n this._c = 0x3c6ef372\n this._d = 0xa54ff53a\n this._e = 0x510e527f\n this._f = 0x9b05688c\n this._g = 0x1f83d9ab\n this._h = 0x5be0cd19\n\n return this\n}\n\nfunction ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x) {\n return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10)\n}\n\nfunction sigma1 (x) {\n return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7)\n}\n\nfunction gamma0 (x) {\n return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ (x >>> 3)\n}\n\nfunction gamma1 (x) {\n return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ (x >>> 10)\n}\n\nSha256.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n var f = this._f | 0\n var g = this._g | 0\n var h = this._h | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 64; ++i) W[i] = (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) | 0\n\n for (var j = 0; j < 64; ++j) {\n var T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + W[j]) | 0\n var T2 = (sigma0(a) + maj(a, b, c)) | 0\n\n h = g\n g = f\n f = e\n e = (d + T1) | 0\n d = c\n c = b\n b = a\n a = (T1 + T2) | 0\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n this._f = (f + this._f) | 0\n this._g = (g + this._g) | 0\n this._h = (h + this._h) | 0\n}\n\nSha256.prototype._hash = function () {\n var H = Buffer.allocUnsafe(32)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n H.writeInt32BE(this._h, 28)\n\n return H\n}\n\nmodule.exports = Sha256\n","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Sha256 = require('./sha256')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(64)\n\nfunction Sha224 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha224, Sha256)\n\nSha224.prototype.init = function () {\n this._a = 0xc1059ed8\n this._b = 0x367cd507\n this._c = 0x3070dd17\n this._d = 0xf70e5939\n this._e = 0xffc00b31\n this._f = 0x68581511\n this._g = 0x64f98fa7\n this._h = 0xbefa4fa4\n\n return this\n}\n\nSha224.prototype._hash = function () {\n var H = Buffer.allocUnsafe(28)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n\n return H\n}\n\nmodule.exports = Sha224\n","var inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n]\n\nvar W = new Array(160)\n\nfunction Sha512 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha512, Hash)\n\nSha512.prototype.init = function () {\n this._ah = 0x6a09e667\n this._bh = 0xbb67ae85\n this._ch = 0x3c6ef372\n this._dh = 0xa54ff53a\n this._eh = 0x510e527f\n this._fh = 0x9b05688c\n this._gh = 0x1f83d9ab\n this._hh = 0x5be0cd19\n\n this._al = 0xf3bcc908\n this._bl = 0x84caa73b\n this._cl = 0xfe94f82b\n this._dl = 0x5f1d36f1\n this._el = 0xade682d1\n this._fl = 0x2b3e6c1f\n this._gl = 0xfb41bd6b\n this._hl = 0x137e2179\n\n return this\n}\n\nfunction Ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x, xl) {\n return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25)\n}\n\nfunction sigma1 (x, xl) {\n return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23)\n}\n\nfunction Gamma0 (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7)\n}\n\nfunction Gamma0l (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25)\n}\n\nfunction Gamma1 (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6)\n}\n\nfunction Gamma1l (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26)\n}\n\nfunction getCarry (a, b) {\n return (a >>> 0) < (b >>> 0) ? 1 : 0\n}\n\nSha512.prototype._update = function (M) {\n var W = this._w\n\n var ah = this._ah | 0\n var bh = this._bh | 0\n var ch = this._ch | 0\n var dh = this._dh | 0\n var eh = this._eh | 0\n var fh = this._fh | 0\n var gh = this._gh | 0\n var hh = this._hh | 0\n\n var al = this._al | 0\n var bl = this._bl | 0\n var cl = this._cl | 0\n var dl = this._dl | 0\n var el = this._el | 0\n var fl = this._fl | 0\n var gl = this._gl | 0\n var hl = this._hl | 0\n\n for (var i = 0; i < 32; i += 2) {\n W[i] = M.readInt32BE(i * 4)\n W[i + 1] = M.readInt32BE(i * 4 + 4)\n }\n for (; i < 160; i += 2) {\n var xh = W[i - 15 * 2]\n var xl = W[i - 15 * 2 + 1]\n var gamma0 = Gamma0(xh, xl)\n var gamma0l = Gamma0l(xl, xh)\n\n xh = W[i - 2 * 2]\n xl = W[i - 2 * 2 + 1]\n var gamma1 = Gamma1(xh, xl)\n var gamma1l = Gamma1l(xl, xh)\n\n // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n var Wi7h = W[i - 7 * 2]\n var Wi7l = W[i - 7 * 2 + 1]\n\n var Wi16h = W[i - 16 * 2]\n var Wi16l = W[i - 16 * 2 + 1]\n\n var Wil = (gamma0l + Wi7l) | 0\n var Wih = (gamma0 + Wi7h + getCarry(Wil, gamma0l)) | 0\n Wil = (Wil + gamma1l) | 0\n Wih = (Wih + gamma1 + getCarry(Wil, gamma1l)) | 0\n Wil = (Wil + Wi16l) | 0\n Wih = (Wih + Wi16h + getCarry(Wil, Wi16l)) | 0\n\n W[i] = Wih\n W[i + 1] = Wil\n }\n\n for (var j = 0; j < 160; j += 2) {\n Wih = W[j]\n Wil = W[j + 1]\n\n var majh = maj(ah, bh, ch)\n var majl = maj(al, bl, cl)\n\n var sigma0h = sigma0(ah, al)\n var sigma0l = sigma0(al, ah)\n var sigma1h = sigma1(eh, el)\n var sigma1l = sigma1(el, eh)\n\n // t1 = h + sigma1 + ch + K[j] + W[j]\n var Kih = K[j]\n var Kil = K[j + 1]\n\n var chh = Ch(eh, fh, gh)\n var chl = Ch(el, fl, gl)\n\n var t1l = (hl + sigma1l) | 0\n var t1h = (hh + sigma1h + getCarry(t1l, hl)) | 0\n t1l = (t1l + chl) | 0\n t1h = (t1h + chh + getCarry(t1l, chl)) | 0\n t1l = (t1l + Kil) | 0\n t1h = (t1h + Kih + getCarry(t1l, Kil)) | 0\n t1l = (t1l + Wil) | 0\n t1h = (t1h + Wih + getCarry(t1l, Wil)) | 0\n\n // t2 = sigma0 + maj\n var t2l = (sigma0l + majl) | 0\n var t2h = (sigma0h + majh + getCarry(t2l, sigma0l)) | 0\n\n hh = gh\n hl = gl\n gh = fh\n gl = fl\n fh = eh\n fl = el\n el = (dl + t1l) | 0\n eh = (dh + t1h + getCarry(el, dl)) | 0\n dh = ch\n dl = cl\n ch = bh\n cl = bl\n bh = ah\n bl = al\n al = (t1l + t2l) | 0\n ah = (t1h + t2h + getCarry(al, t1l)) | 0\n }\n\n this._al = (this._al + al) | 0\n this._bl = (this._bl + bl) | 0\n this._cl = (this._cl + cl) | 0\n this._dl = (this._dl + dl) | 0\n this._el = (this._el + el) | 0\n this._fl = (this._fl + fl) | 0\n this._gl = (this._gl + gl) | 0\n this._hl = (this._hl + hl) | 0\n\n this._ah = (this._ah + ah + getCarry(this._al, al)) | 0\n this._bh = (this._bh + bh + getCarry(this._bl, bl)) | 0\n this._ch = (this._ch + ch + getCarry(this._cl, cl)) | 0\n this._dh = (this._dh + dh + getCarry(this._dl, dl)) | 0\n this._eh = (this._eh + eh + getCarry(this._el, el)) | 0\n this._fh = (this._fh + fh + getCarry(this._fl, fl)) | 0\n this._gh = (this._gh + gh + getCarry(this._gl, gl)) | 0\n this._hh = (this._hh + hh + getCarry(this._hl, hl)) | 0\n}\n\nSha512.prototype._hash = function () {\n var H = Buffer.allocUnsafe(64)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n writeInt64BE(this._gh, this._gl, 48)\n writeInt64BE(this._hh, this._hl, 56)\n\n return H\n}\n\nmodule.exports = Sha512\n","var inherits = require('inherits')\nvar SHA512 = require('./sha512')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(160)\n\nfunction Sha384 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha384, SHA512)\n\nSha384.prototype.init = function () {\n this._ah = 0xcbbb9d5d\n this._bh = 0x629a292a\n this._ch = 0x9159015a\n this._dh = 0x152fecd8\n this._eh = 0x67332667\n this._fh = 0x8eb44a87\n this._gh = 0xdb0c2e0d\n this._hh = 0x47b5481d\n\n this._al = 0xc1059ed8\n this._bl = 0x367cd507\n this._cl = 0x3070dd17\n this._dl = 0xf70e5939\n this._el = 0xffc00b31\n this._fl = 0x68581511\n this._gl = 0x64f98fa7\n this._hl = 0xbefa4fa4\n\n return this\n}\n\nSha384.prototype._hash = function () {\n var H = Buffer.allocUnsafe(48)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n\n return H\n}\n\nmodule.exports = Sha384\n","var exports = module.exports = function SHA (algorithm) {\n algorithm = algorithm.toLowerCase()\n\n var Algorithm = exports[algorithm]\n if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)')\n\n return new Algorithm()\n}\n\nexports.sha = require('./sha')\nexports.sha1 = require('./sha1')\nexports.sha224 = require('./sha224')\nexports.sha256 = require('./sha256')\nexports.sha384 = require('./sha384')\nexports.sha512 = require('./sha512')\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Session = void 0;\nconst sha_js_1 = require(\"sha.js\");\nconst util_1 = require(\"../core/util\");\nconst STORAGE_KEY_SESSION_ID = 'session:id';\nconst STORAGE_KEY_SESSION_SECRET = 'session:secret';\nconst STORAGE_KEY_SESSION_LINKED = 'session:linked';\nclass Session {\n constructor(storage, id, secret, linked) {\n this._storage = storage;\n this._id = id || (0, util_1.randomBytesHex)(16);\n this._secret = secret || (0, util_1.randomBytesHex)(32);\n this._key = new sha_js_1.sha256()\n .update(`${this._id}, ${this._secret} WalletLink`) // ensure old sessions stay connected\n .digest('hex');\n this._linked = !!linked;\n }\n static load(storage) {\n const id = storage.getItem(STORAGE_KEY_SESSION_ID);\n const linked = storage.getItem(STORAGE_KEY_SESSION_LINKED);\n const secret = storage.getItem(STORAGE_KEY_SESSION_SECRET);\n if (id && secret) {\n return new Session(storage, id, secret, linked === '1');\n }\n return null;\n }\n /**\n * Takes in a session ID and returns the sha256 hash of it.\n * @param sessionId session ID\n */\n static hash(sessionId) {\n return new sha_js_1.sha256().update(sessionId).digest('hex');\n }\n get id() {\n return this._id;\n }\n get secret() {\n return this._secret;\n }\n get key() {\n return this._key;\n }\n get linked() {\n return this._linked;\n }\n set linked(val) {\n this._linked = val;\n this.persistLinked();\n }\n save() {\n this._storage.setItem(STORAGE_KEY_SESSION_ID, this._id);\n this._storage.setItem(STORAGE_KEY_SESSION_SECRET, this._secret);\n this.persistLinked();\n return this;\n }\n persistLinked() {\n this._storage.setItem(STORAGE_KEY_SESSION_LINKED, this._linked ? '1' : '0');\n }\n}\nexports.Session = Session;\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Cipher = void 0;\nconst util_1 = require(\"../core/util\");\nclass Cipher {\n // @param secret hex representation of 32-byte secret\n constructor(secret) {\n this.secret = secret;\n }\n /**\n *\n * @param plainText string to be encrypted\n * returns hex string representation of bytes in the order: initialization vector (iv),\n * auth tag, encrypted plaintext. IV is 12 bytes. Auth tag is 16 bytes. Remaining bytes are the\n * encrypted plainText.\n */\n async encrypt(plainText) {\n const secret = this.secret;\n if (secret.length !== 64)\n throw Error(`secret must be 256 bits`);\n const ivBytes = crypto.getRandomValues(new Uint8Array(12));\n const secretKey = await crypto.subtle.importKey('raw', (0, util_1.hexStringToUint8Array)(secret), { name: 'aes-gcm' }, false, ['encrypt', 'decrypt']);\n const enc = new TextEncoder();\n // Will return encrypted plainText with auth tag (ie MAC or checksum) appended at the end\n const encryptedResult = await window.crypto.subtle.encrypt({\n name: 'AES-GCM',\n iv: ivBytes,\n }, secretKey, enc.encode(plainText));\n const tagLength = 16;\n const authTag = encryptedResult.slice(encryptedResult.byteLength - tagLength);\n const encryptedPlaintext = encryptedResult.slice(0, encryptedResult.byteLength - tagLength);\n const authTagBytes = new Uint8Array(authTag);\n const encryptedPlaintextBytes = new Uint8Array(encryptedPlaintext);\n const concatted = new Uint8Array([...ivBytes, ...authTagBytes, ...encryptedPlaintextBytes]);\n return (0, util_1.uint8ArrayToHex)(concatted);\n }\n /**\n *\n * @param cipherText hex string representation of bytes in the order: initialization vector (iv),\n * auth tag, encrypted plaintext. IV is 12 bytes. Auth tag is 16 bytes.\n */\n async decrypt(cipherText) {\n const secret = this.secret;\n if (secret.length !== 64)\n throw Error(`secret must be 256 bits`);\n return new Promise((resolve, reject) => {\n void (async function () {\n const secretKey = await crypto.subtle.importKey('raw', (0, util_1.hexStringToUint8Array)(secret), { name: 'aes-gcm' }, false, ['encrypt', 'decrypt']);\n const encrypted = (0, util_1.hexStringToUint8Array)(cipherText);\n const ivBytes = encrypted.slice(0, 12);\n const authTagBytes = encrypted.slice(12, 28);\n const encryptedPlaintextBytes = encrypted.slice(28);\n const concattedBytes = new Uint8Array([...encryptedPlaintextBytes, ...authTagBytes]);\n const algo = {\n name: 'AES-GCM',\n iv: new Uint8Array(ivBytes),\n };\n try {\n const decrypted = await window.crypto.subtle.decrypt(algo, secretKey, concattedBytes);\n const decoder = new TextDecoder();\n resolve(decoder.decode(decrypted));\n }\n catch (err) {\n reject(err);\n }\n })();\n });\n }\n}\nexports.Cipher = Cipher;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WalletLinkHTTP = void 0;\nclass WalletLinkHTTP {\n constructor(linkAPIUrl, sessionId, sessionKey) {\n this.linkAPIUrl = linkAPIUrl;\n this.sessionId = sessionId;\n const credentials = `${sessionId}:${sessionKey}`;\n this.auth = `Basic ${btoa(credentials)}`;\n }\n // mark unseen events as seen\n async markUnseenEventsAsSeen(events) {\n return Promise.all(events.map((e) => fetch(`${this.linkAPIUrl}/events/${e.eventId}/seen`, {\n method: 'POST',\n headers: {\n Authorization: this.auth,\n },\n }))).catch((error) => console.error('Unabled to mark event as failed:', error));\n }\n async fetchUnseenEvents() {\n var _a;\n const response = await fetch(`${this.linkAPIUrl}/events?unseen=true`, {\n headers: {\n Authorization: this.auth,\n },\n });\n if (response.ok) {\n const { events, error } = (await response.json());\n if (error) {\n throw new Error(`Check unseen events failed: ${error}`);\n }\n const responseEvents = (_a = events === null || events === void 0 ? void 0 : events.filter((e) => e.event === 'Web3Response').map((e) => ({\n type: 'Event',\n sessionId: this.sessionId,\n eventId: e.id,\n event: e.event,\n data: e.data,\n }))) !== null && _a !== void 0 ? _a : [];\n this.markUnseenEventsAsSeen(responseEvents);\n return responseEvents;\n }\n throw new Error(`Check unseen events failed: ${response.status}`);\n }\n}\nexports.WalletLinkHTTP = WalletLinkHTTP;\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WalletLinkWebSocket = exports.ConnectionState = void 0;\nvar ConnectionState;\n(function (ConnectionState) {\n ConnectionState[ConnectionState[\"DISCONNECTED\"] = 0] = \"DISCONNECTED\";\n ConnectionState[ConnectionState[\"CONNECTING\"] = 1] = \"CONNECTING\";\n ConnectionState[ConnectionState[\"CONNECTED\"] = 2] = \"CONNECTED\";\n})(ConnectionState || (exports.ConnectionState = ConnectionState = {}));\nclass WalletLinkWebSocket {\n setConnectionStateListener(listener) {\n this.connectionStateListener = listener;\n }\n setIncomingDataListener(listener) {\n this.incomingDataListener = listener;\n }\n /**\n * Constructor\n * @param url WebSocket server URL\n * @param [WebSocketClass] Custom WebSocket implementation\n */\n constructor(url, WebSocketClass = WebSocket) {\n this.WebSocketClass = WebSocketClass;\n this.webSocket = null;\n this.pendingData = [];\n this.url = url.replace(/^http/, 'ws');\n }\n /**\n * Make a websocket connection\n * @returns a Promise that resolves when connected\n */\n async connect() {\n if (this.webSocket) {\n throw new Error('webSocket object is not null');\n }\n return new Promise((resolve, reject) => {\n var _a;\n let webSocket;\n try {\n this.webSocket = webSocket = new this.WebSocketClass(this.url);\n }\n catch (err) {\n reject(err);\n return;\n }\n (_a = this.connectionStateListener) === null || _a === void 0 ? void 0 : _a.call(this, ConnectionState.CONNECTING);\n webSocket.onclose = (evt) => {\n var _a;\n this.clearWebSocket();\n reject(new Error(`websocket error ${evt.code}: ${evt.reason}`));\n (_a = this.connectionStateListener) === null || _a === void 0 ? void 0 : _a.call(this, ConnectionState.DISCONNECTED);\n };\n webSocket.onopen = (_) => {\n var _a;\n resolve();\n (_a = this.connectionStateListener) === null || _a === void 0 ? void 0 : _a.call(this, ConnectionState.CONNECTED);\n if (this.pendingData.length > 0) {\n const pending = [...this.pendingData];\n pending.forEach((data) => this.sendData(data));\n this.pendingData = [];\n }\n };\n webSocket.onmessage = (evt) => {\n var _a, _b;\n if (evt.data === 'h') {\n (_a = this.incomingDataListener) === null || _a === void 0 ? void 0 : _a.call(this, {\n type: 'Heartbeat',\n });\n }\n else {\n try {\n const message = JSON.parse(evt.data);\n (_b = this.incomingDataListener) === null || _b === void 0 ? void 0 : _b.call(this, message);\n }\n catch (_c) {\n /* empty */\n }\n }\n };\n });\n }\n /**\n * Disconnect from server\n */\n disconnect() {\n var _a;\n const { webSocket } = this;\n if (!webSocket) {\n return;\n }\n this.clearWebSocket();\n (_a = this.connectionStateListener) === null || _a === void 0 ? void 0 : _a.call(this, ConnectionState.DISCONNECTED);\n this.connectionStateListener = undefined;\n this.incomingDataListener = undefined;\n try {\n webSocket.close();\n }\n catch (_b) {\n // noop\n }\n }\n /**\n * Send data to server\n * @param data text to send\n */\n sendData(data) {\n const { webSocket } = this;\n if (!webSocket) {\n this.pendingData.push(data);\n this.connect();\n return;\n }\n webSocket.send(data);\n }\n clearWebSocket() {\n const { webSocket } = this;\n if (!webSocket) {\n return;\n }\n this.webSocket = null;\n webSocket.onclose = null;\n webSocket.onerror = null;\n webSocket.onmessage = null;\n webSocket.onopen = null;\n }\n}\nexports.WalletLinkWebSocket = WalletLinkWebSocket;\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WalletLinkConnection = void 0;\nconst type_1 = require(\"../../../core/type\");\nconst Cipher_1 = require(\"../../../lib/Cipher\");\nconst DiagnosticLogger_1 = require(\"../../../provider/DiagnosticLogger\");\nconst RelayAbstract_1 = require(\"../../RelayAbstract\");\nconst Session_1 = require(\"../../Session\");\nconst WalletLinkHTTP_1 = require(\"./WalletLinkHTTP\");\nconst WalletLinkWebSocket_1 = require(\"./WalletLinkWebSocket\");\nconst HEARTBEAT_INTERVAL = 10000;\nconst REQUEST_TIMEOUT = 60000;\n/**\n * Coinbase Wallet Connection\n */\nclass WalletLinkConnection {\n /**\n * Constructor\n * @param session Session\n * @param linkAPIUrl Coinbase Wallet link server URL\n * @param listener WalletLinkConnectionUpdateListener\n * @param [WebSocketClass] Custom WebSocket implementation\n */\n constructor({ session, linkAPIUrl, listener, diagnostic, WebSocketClass = WebSocket, }) {\n this.destroyed = false;\n this.lastHeartbeatResponse = 0;\n this.nextReqId = (0, type_1.IntNumber)(1);\n /**\n * true if connected and authenticated, else false\n * runs listener when connected status changes\n */\n this._connected = false;\n /**\n * true if linked (a guest has joined before)\n * runs listener when linked status changes\n */\n this._linked = false;\n this.shouldFetchUnseenEventsOnConnect = false;\n this.requestResolutions = new Map();\n this.handleSessionMetadataUpdated = (metadata) => {\n if (!metadata)\n return;\n // Map of metadata key to handler function\n const handlers = new Map([\n ['__destroyed', this.handleDestroyed],\n ['EthereumAddress', this.handleAccountUpdated],\n ['WalletUsername', this.handleWalletUsernameUpdated],\n ['AppVersion', this.handleAppVersionUpdated],\n [\n 'ChainId',\n (v) => metadata.JsonRpcUrl && this.handleChainUpdated(v, metadata.JsonRpcUrl),\n ],\n ]);\n // call handler for each metadata key if value is defined\n handlers.forEach((handler, key) => {\n const value = metadata[key];\n if (value === undefined)\n return;\n handler(value);\n });\n };\n this.handleDestroyed = (__destroyed) => {\n var _a, _b;\n if (__destroyed !== '1')\n return;\n (_a = this.listener) === null || _a === void 0 ? void 0 : _a.resetAndReload();\n (_b = this.diagnostic) === null || _b === void 0 ? void 0 : _b.log(DiagnosticLogger_1.EVENTS.METADATA_DESTROYED, {\n alreadyDestroyed: this.isDestroyed,\n sessionIdHash: Session_1.Session.hash(this.session.id),\n });\n };\n this.handleAccountUpdated = async (encryptedEthereumAddress) => {\n var _a, _b;\n try {\n const address = await this.cipher.decrypt(encryptedEthereumAddress);\n (_a = this.listener) === null || _a === void 0 ? void 0 : _a.accountUpdated(address);\n }\n catch (_c) {\n (_b = this.diagnostic) === null || _b === void 0 ? void 0 : _b.log(DiagnosticLogger_1.EVENTS.GENERAL_ERROR, {\n message: 'Had error decrypting',\n value: 'selectedAddress',\n });\n }\n };\n this.handleMetadataUpdated = async (key, encryptedMetadataValue) => {\n var _a, _b;\n try {\n const decryptedValue = await this.cipher.decrypt(encryptedMetadataValue);\n (_a = this.listener) === null || _a === void 0 ? void 0 : _a.metadataUpdated(key, decryptedValue);\n }\n catch (_c) {\n (_b = this.diagnostic) === null || _b === void 0 ? void 0 : _b.log(DiagnosticLogger_1.EVENTS.GENERAL_ERROR, {\n message: 'Had error decrypting',\n value: key,\n });\n }\n };\n this.handleWalletUsernameUpdated = async (walletUsername) => {\n this.handleMetadataUpdated(RelayAbstract_1.WALLET_USER_NAME_KEY, walletUsername);\n };\n this.handleAppVersionUpdated = async (appVersion) => {\n this.handleMetadataUpdated(RelayAbstract_1.APP_VERSION_KEY, appVersion);\n };\n this.handleChainUpdated = async (encryptedChainId, encryptedJsonRpcUrl) => {\n var _a, _b;\n try {\n const chainId = await this.cipher.decrypt(encryptedChainId);\n const jsonRpcUrl = await this.cipher.decrypt(encryptedJsonRpcUrl);\n (_a = this.listener) === null || _a === void 0 ? void 0 : _a.chainUpdated(chainId, jsonRpcUrl);\n }\n catch (_c) {\n (_b = this.diagnostic) === null || _b === void 0 ? void 0 : _b.log(DiagnosticLogger_1.EVENTS.GENERAL_ERROR, {\n message: 'Had error decrypting',\n value: 'chainId|jsonRpcUrl',\n });\n }\n };\n this.session = session;\n this.cipher = new Cipher_1.Cipher(session.secret);\n this.diagnostic = diagnostic;\n this.listener = listener;\n const ws = new WalletLinkWebSocket_1.WalletLinkWebSocket(`${linkAPIUrl}/rpc`, WebSocketClass);\n ws.setConnectionStateListener(async (state) => {\n var _a;\n // attempt to reconnect every 5 seconds when disconnected\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.CONNECTED_STATE_CHANGE, {\n state,\n sessionIdHash: Session_1.Session.hash(session.id),\n });\n let connected = false;\n switch (state) {\n case WalletLinkWebSocket_1.ConnectionState.DISCONNECTED:\n // if DISCONNECTED and not destroyed\n if (!this.destroyed) {\n const connect = async () => {\n // wait 5 seconds\n await new Promise((resolve) => setTimeout(resolve, 5000));\n // check whether it's destroyed again\n if (!this.destroyed) {\n // reconnect\n ws.connect().catch(() => {\n connect();\n });\n }\n };\n connect();\n }\n break;\n case WalletLinkWebSocket_1.ConnectionState.CONNECTED:\n // perform authentication upon connection\n try {\n // if CONNECTED, authenticate, and then check link status\n await this.authenticate();\n this.sendIsLinked();\n this.sendGetSessionConfig();\n connected = true;\n }\n catch (_b) {\n /* empty */\n }\n // send heartbeat every n seconds while connected\n // if CONNECTED, start the heartbeat timer\n // first timer event updates lastHeartbeat timestamp\n // subsequent calls send heartbeat message\n this.updateLastHeartbeat();\n setInterval(() => {\n this.heartbeat();\n }, HEARTBEAT_INTERVAL);\n // check for unseen events\n if (this.shouldFetchUnseenEventsOnConnect) {\n this.fetchUnseenEventsAPI();\n }\n break;\n case WalletLinkWebSocket_1.ConnectionState.CONNECTING:\n break;\n }\n // distinctUntilChanged\n if (this.connected !== connected) {\n this.connected = connected;\n }\n });\n ws.setIncomingDataListener((m) => {\n var _a, _b, _c;\n switch (m.type) {\n // handle server's heartbeat responses\n case 'Heartbeat':\n this.updateLastHeartbeat();\n return;\n // handle link status updates\n case 'IsLinkedOK':\n case 'Linked': {\n const linked = m.type === 'IsLinkedOK' ? m.linked : undefined;\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.LINKED, {\n sessionIdHash: Session_1.Session.hash(session.id),\n linked,\n type: m.type,\n onlineGuests: m.onlineGuests,\n });\n this.linked = linked || m.onlineGuests > 0;\n break;\n }\n // handle session config updates\n case 'GetSessionConfigOK':\n case 'SessionConfigUpdated': {\n (_b = this.diagnostic) === null || _b === void 0 ? void 0 : _b.log(DiagnosticLogger_1.EVENTS.SESSION_CONFIG_RECEIVED, {\n sessionIdHash: Session_1.Session.hash(session.id),\n metadata_keys: m && m.metadata ? Object.keys(m.metadata) : undefined,\n });\n this.handleSessionMetadataUpdated(m.metadata);\n break;\n }\n case 'Event': {\n this.handleIncomingEvent(m);\n break;\n }\n }\n // resolve request promises\n if (m.id !== undefined) {\n (_c = this.requestResolutions.get(m.id)) === null || _c === void 0 ? void 0 : _c(m);\n }\n });\n this.ws = ws;\n this.http = new WalletLinkHTTP_1.WalletLinkHTTP(linkAPIUrl, session.id, session.key);\n }\n /**\n * Make a connection to the server\n */\n connect() {\n var _a;\n if (this.destroyed) {\n throw new Error('instance is destroyed');\n }\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.STARTED_CONNECTING, {\n sessionIdHash: Session_1.Session.hash(this.session.id),\n });\n this.ws.connect();\n }\n /**\n * Terminate connection, and mark as destroyed. To reconnect, create a new\n * instance of WalletSDKConnection\n */\n destroy() {\n var _a;\n this.destroyed = true;\n this.ws.disconnect();\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.DISCONNECTED, {\n sessionIdHash: Session_1.Session.hash(this.session.id),\n });\n this.listener = undefined;\n }\n get isDestroyed() {\n return this.destroyed;\n }\n get connected() {\n return this._connected;\n }\n set connected(connected) {\n var _a, _b;\n this._connected = connected;\n if (connected)\n (_a = this.onceConnected) === null || _a === void 0 ? void 0 : _a.call(this);\n (_b = this.listener) === null || _b === void 0 ? void 0 : _b.connectedUpdated(connected);\n }\n setOnceConnected(callback) {\n return new Promise((resolve) => {\n if (this.connected) {\n callback().then(resolve);\n }\n else {\n this.onceConnected = () => {\n callback().then(resolve);\n this.onceConnected = undefined;\n };\n }\n });\n }\n get linked() {\n return this._linked;\n }\n set linked(linked) {\n var _a, _b;\n this._linked = linked;\n if (linked)\n (_a = this.onceLinked) === null || _a === void 0 ? void 0 : _a.call(this);\n (_b = this.listener) === null || _b === void 0 ? void 0 : _b.linkedUpdated(linked);\n }\n setOnceLinked(callback) {\n return new Promise((resolve) => {\n if (this.linked) {\n callback().then(resolve);\n }\n else {\n this.onceLinked = () => {\n callback().then(resolve);\n this.onceLinked = undefined;\n };\n }\n });\n }\n async handleIncomingEvent(m) {\n var _a, _b;\n if (m.type !== 'Event' || m.event !== 'Web3Response') {\n return;\n }\n try {\n const decryptedData = await this.cipher.decrypt(m.data);\n const message = JSON.parse(decryptedData);\n if (message.type !== 'WEB3_RESPONSE')\n return;\n (_a = this.listener) === null || _a === void 0 ? void 0 : _a.handleWeb3ResponseMessage(message);\n }\n catch (_c) {\n (_b = this.diagnostic) === null || _b === void 0 ? void 0 : _b.log(DiagnosticLogger_1.EVENTS.GENERAL_ERROR, {\n message: 'Had error decrypting',\n value: 'incomingEvent',\n });\n }\n }\n async checkUnseenEvents() {\n if (!this.connected) {\n this.shouldFetchUnseenEventsOnConnect = true;\n return;\n }\n await new Promise((resolve) => setTimeout(resolve, 250));\n try {\n await this.fetchUnseenEventsAPI();\n }\n catch (e) {\n console.error('Unable to check for unseen events', e);\n }\n }\n async fetchUnseenEventsAPI() {\n this.shouldFetchUnseenEventsOnConnect = false;\n const responseEvents = await this.http.fetchUnseenEvents();\n responseEvents.forEach((e) => this.handleIncomingEvent(e));\n }\n /**\n * Set session metadata in SessionConfig object\n * @param key\n * @param value\n * @returns a Promise that completes when successful\n */\n async setSessionMetadata(key, value) {\n const message = {\n type: 'SetSessionConfig',\n id: (0, type_1.IntNumber)(this.nextReqId++),\n sessionId: this.session.id,\n metadata: { [key]: value },\n };\n return this.setOnceConnected(async () => {\n const res = await this.makeRequest(message);\n if (res.type === 'Fail') {\n throw new Error(res.error || 'failed to set session metadata');\n }\n });\n }\n /**\n * Publish an event and emit event ID when successful\n * @param event event name\n * @param unencryptedData unencrypted event data\n * @param callWebhook whether the webhook should be invoked\n * @returns a Promise that emits event ID when successful\n */\n async publishEvent(event, unencryptedData, callWebhook = false) {\n const data = await this.cipher.encrypt(JSON.stringify(Object.assign(Object.assign({}, unencryptedData), { origin: location.origin, relaySource: window.coinbaseWalletExtension ? 'injected_sdk' : 'sdk' })));\n const message = {\n type: 'PublishEvent',\n id: (0, type_1.IntNumber)(this.nextReqId++),\n sessionId: this.session.id,\n event,\n data,\n callWebhook,\n };\n return this.setOnceLinked(async () => {\n const res = await this.makeRequest(message);\n if (res.type === 'Fail') {\n throw new Error(res.error || 'failed to publish event');\n }\n return res.eventId;\n });\n }\n sendData(message) {\n this.ws.sendData(JSON.stringify(message));\n }\n updateLastHeartbeat() {\n this.lastHeartbeatResponse = Date.now();\n }\n heartbeat() {\n if (Date.now() - this.lastHeartbeatResponse > HEARTBEAT_INTERVAL * 2) {\n this.ws.disconnect();\n return;\n }\n try {\n this.ws.sendData('h');\n }\n catch (_a) {\n // noop\n }\n }\n async makeRequest(message, timeout = REQUEST_TIMEOUT) {\n const reqId = message.id;\n this.sendData(message);\n // await server message with corresponding id\n let timeoutId;\n return Promise.race([\n new Promise((_, reject) => {\n timeoutId = window.setTimeout(() => {\n reject(new Error(`request ${reqId} timed out`));\n }, timeout);\n }),\n new Promise((resolve) => {\n this.requestResolutions.set(reqId, (m) => {\n clearTimeout(timeoutId); // clear the timeout\n resolve(m);\n this.requestResolutions.delete(reqId);\n });\n }),\n ]);\n }\n async authenticate() {\n const m = {\n type: 'HostSession',\n id: (0, type_1.IntNumber)(this.nextReqId++),\n sessionId: this.session.id,\n sessionKey: this.session.key,\n };\n const res = await this.makeRequest(m);\n if (res.type === 'Fail') {\n throw new Error(res.error || 'failed to authentcate');\n }\n }\n sendIsLinked() {\n const m = {\n type: 'IsLinked',\n id: (0, type_1.IntNumber)(this.nextReqId++),\n sessionId: this.session.id,\n };\n this.sendData(m);\n }\n sendGetSessionConfig() {\n const m = {\n type: 'GetSessionConfig',\n id: (0, type_1.IntNumber)(this.nextReqId++),\n sessionId: this.session.id,\n };\n this.sendData(m);\n }\n}\nexports.WalletLinkConnection = WalletLinkConnection;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = (() => `@namespace svg \"http://www.w3.org/2000/svg\";.-cbwsdk-css-reset,.-cbwsdk-css-reset *{animation:none;animation-delay:0;animation-direction:normal;animation-duration:0;animation-fill-mode:none;animation-iteration-count:1;animation-name:none;animation-play-state:running;animation-timing-function:ease;backface-visibility:visible;background:0;background-attachment:scroll;background-clip:border-box;background-color:rgba(0,0,0,0);background-image:none;background-origin:padding-box;background-position:0 0;background-position-x:0;background-position-y:0;background-repeat:repeat;background-size:auto auto;border:0;border-style:none;border-width:medium;border-color:inherit;border-bottom:0;border-bottom-color:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-style:none;border-bottom-width:medium;border-collapse:separate;border-image:none;border-left:0;border-left-color:inherit;border-left-style:none;border-left-width:medium;border-radius:0;border-right:0;border-right-color:inherit;border-right-style:none;border-right-width:medium;border-spacing:0;border-top:0;border-top-color:inherit;border-top-left-radius:0;border-top-right-radius:0;border-top-style:none;border-top-width:medium;box-shadow:none;box-sizing:border-box;caption-side:top;clear:none;clip:auto;color:inherit;columns:auto;column-count:auto;column-fill:balance;column-gap:normal;column-rule:medium none currentColor;column-rule-color:currentColor;column-rule-style:none;column-rule-width:none;column-span:1;column-width:auto;counter-increment:none;counter-reset:none;direction:ltr;empty-cells:show;float:none;font:normal;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",\"Helvetica Neue\",Arial,sans-serif;font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;height:auto;hyphens:none;letter-spacing:normal;line-height:normal;list-style:none;list-style-image:none;list-style-position:outside;list-style-type:disc;margin:0;margin-bottom:0;margin-left:0;margin-right:0;margin-top:0;opacity:1;orphans:0;outline:0;outline-color:invert;outline-style:none;outline-width:medium;overflow:visible;overflow-x:visible;overflow-y:visible;padding:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;page-break-after:auto;page-break-before:auto;page-break-inside:auto;perspective:none;perspective-origin:50% 50%;pointer-events:auto;position:static;quotes:\"\\\\201C\" \"\\\\201D\" \"\\\\2018\" \"\\\\2019\";tab-size:8;table-layout:auto;text-align:inherit;text-align-last:auto;text-decoration:none;text-decoration-color:inherit;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-shadow:none;text-transform:none;transform:none;transform-style:flat;transition:none;transition-delay:0s;transition-duration:0s;transition-property:none;transition-timing-function:ease;unicode-bidi:normal;vertical-align:baseline;visibility:visible;white-space:normal;widows:0;word-spacing:normal;z-index:auto}.-cbwsdk-css-reset strong{font-weight:bold}.-cbwsdk-css-reset *{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",\"Helvetica Neue\",Arial,sans-serif;line-height:1}.-cbwsdk-css-reset [class*=container]{margin:0;padding:0}.-cbwsdk-css-reset style{display:none}`)();\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.injectCssReset = void 0;\nconst cssReset_css_1 = __importDefault(require(\"./cssReset-css\"));\nfunction injectCssReset() {\n const styleEl = document.createElement('style');\n styleEl.type = 'text/css';\n styleEl.appendChild(document.createTextNode(cssReset_css_1.default));\n document.documentElement.appendChild(styleEl);\n}\nexports.injectCssReset = injectCssReset;\n","var n,l,u,t,i,o,r,f,e,c,s,a,h={},v=[],p=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,y=Array.isArray;function d(n,l){for(var u in l)n[u]=l[u];return n}function _(n){var l=n.parentNode;l&&l.removeChild(n)}function g(l,u,t){var i,o,r,f={};for(r in u)\"key\"==r?i=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),\"function\"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return b(l,f,i,o,null)}function b(n,t,i,o,r){var f={type:n,props:t,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==r?++u:r,__i:-1,__u:0};return null==r&&null!=l.vnode&&l.vnode(f),f}function m(){return{current:null}}function w(n){return n.children}function k(n,l){this.props=n,this.context=l}function x(n,l){if(null==l)return n.__?x(n.__,n.__i+1):null;for(var u;lu&&i.sort(f));S.__r=0}function $(n,l,u,t,i,o,r,f,e,c,s){var a,p,y,d,_,g=t&&t.__k||v,b=l.length;for(u.__d=e,I(u,l,g),e=u.__d,a=0;a0?b(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):i)?(i.__=n,i.__b=n.__b+1,f=A(i,u,r,s),i.__i=f,o=null,-1!==f&&(s--,(o=u[f])&&(o.__u|=131072)),null==o||null===o.__v?(-1==f&&a--,\"function\"!=typeof i.type&&(i.__u|=65536)):f!==r&&(f===r+1?a++:f>r?s>e-r?a+=f-r:a--:f(null!=e&&0==(131072&e.__u)?1:0))for(;r>=0||f=0){if((e=l[r])&&0==(131072&e.__u)&&i==e.key&&o===e.type)return r;r--}if(f2&&(e.children=arguments.length>3?n.call(arguments,2):t),b(l.type,e,i||l.key,o||l.ref,null)}function J(n,l){var u={__c:l=\"__cC\"+a++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,t;return this.getChildContext||(u=[],(t={})[l]=this,this.getChildContext=function(){return t},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(function(n){n.__e=!0,P(n)})},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=v.slice,l={__e:function(n,l,u,t){for(var i,o,r;l=l.__;)if((i=l.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(n)),r=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),r=i.__d),r)return i.__E=i}catch(l){n=l}throw n}},u=0,t=function(n){return null!=n&&null==n.constructor},k.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=d({},this.state),\"function\"==typeof n&&(n=n(d({},u),this.props)),n&&d(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),P(this))},k.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),P(this))},k.prototype.render=w,i=[],r=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,f=function(n,l){return n.__v.__b-l.__v.__b},S.__r=0,e=0,c=M(!1),s=M(!0),a=0;export{k as Component,w as Fragment,G as cloneElement,J as createContext,g as createElement,m as createRef,g as h,E as hydrate,t as isValidElement,l as options,D as render,T as toChildArray};\n//# sourceMappingURL=preact.module.js.map\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;t=u.__.length&&u.__.push({__V:c}),u.__[n]}function p(n){return o=1,y(D,n)}function y(n,u,i){var o=h(t++,2);if(o.t=n,!o.__c&&(o.__=[i?i(u):D(void 0,u),function(n){var t=o.__N?o.__N[0]:o.__[0],r=o.t(t,n);t!==r&&(o.__N=[r,o.__[1]],o.__c.setState({}))}],o.__c=r,!r.u)){var f=function(n,t,r){if(!o.__c.__H)return!0;var u=o.__c.__H.__.filter(function(n){return!!n.__c});if(u.every(function(n){return!n.__N}))return!c||c.call(this,n,t,r);var i=!1;return u.forEach(function(n){if(n.__N){var t=n.__[0];n.__=n.__N,n.__N=void 0,t!==n.__[0]&&(i=!0)}}),!(!i&&o.__c.props===n)&&(!c||c.call(this,n,t,r))};r.u=!0;var c=r.shouldComponentUpdate,e=r.componentWillUpdate;r.componentWillUpdate=function(n,t,r){if(this.__e){var u=c;c=void 0,f(n,t,r),c=u}e&&e.call(this,n,t,r)},r.shouldComponentUpdate=f}return o.__N||o.__}function _(n,u){var i=h(t++,3);!e.__s&&C(i.__H,u)&&(i.__=n,i.i=u,r.__H.__h.push(i))}function A(n,u){var i=h(t++,4);!e.__s&&C(i.__H,u)&&(i.__=n,i.i=u,r.__h.push(i))}function F(n){return o=5,q(function(){return{current:n}},[])}function T(n,t,r){o=6,A(function(){return\"function\"==typeof n?(n(t()),function(){return n(null)}):n?(n.current=t(),function(){return n.current=null}):void 0},null==r?r:r.concat(n))}function q(n,r){var u=h(t++,7);return C(u.__H,r)?(u.__V=n(),u.i=r,u.__h=n,u.__V):u.__}function x(n,t){return o=8,q(function(){return n},t)}function P(n){var u=r.context[n.__c],i=h(t++,9);return i.c=n,u?(null==i.__&&(i.__=!0,u.sub(r)),u.props.value):n.__}function V(n,t){e.useDebugValue&&e.useDebugValue(t?t(n):n)}function b(n){var u=h(t++,10),i=p();return u.__=n,r.componentDidCatch||(r.componentDidCatch=function(n,t){u.__&&u.__(n,t),i[1](n)}),[i[0],function(){i[1](void 0)}]}function g(){var n=h(t++,11);if(!n.__){for(var u=r.__v;null!==u&&!u.__m&&null!==u.__;)u=u.__;var i=u.__m||(u.__m=[0,0]);n.__=\"P\"+i[0]+\"-\"+i[1]++}return n.__}function j(){for(var n;n=f.shift();)if(n.__P&&n.__H)try{n.__H.__h.forEach(z),n.__H.__h.forEach(B),n.__H.__h=[]}catch(t){n.__H.__h=[],e.__e(t,n.__v)}}e.__b=function(n){r=null,a&&a(n)},e.__=function(n,t){n&&t.__k&&t.__k.__m&&(n.__m=t.__k.__m),d&&d(n,t)},e.__r=function(n){v&&v(n),t=0;var i=(r=n.__c).__H;i&&(u===r?(i.__h=[],r.__h=[],i.__.forEach(function(n){n.__N&&(n.__=n.__N),n.__V=c,n.__N=n.i=void 0})):(i.__h.forEach(z),i.__h.forEach(B),i.__h=[],t=0)),u=r},e.diffed=function(n){l&&l(n);var t=n.__c;t&&t.__H&&(t.__H.__h.length&&(1!==f.push(t)&&i===e.requestAnimationFrame||((i=e.requestAnimationFrame)||w)(j)),t.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.__V!==c&&(n.__=n.__V),n.i=void 0,n.__V=c})),u=r=null},e.__c=function(n,t){t.some(function(n){try{n.__h.forEach(z),n.__h=n.__h.filter(function(n){return!n.__||B(n)})}catch(r){t.some(function(n){n.__h&&(n.__h=[])}),t=[],e.__e(r,n.__v)}}),m&&m(n,t)},e.unmount=function(n){s&&s(n);var t,r=n.__c;r&&r.__H&&(r.__H.__.forEach(function(n){try{z(n)}catch(n){t=n}}),r.__H=void 0,t&&e.__e(t,r.__v))};var k=\"function\"==typeof requestAnimationFrame;function w(n){var t,r=function(){clearTimeout(u),k&&cancelAnimationFrame(t),setTimeout(n)},u=setTimeout(r,100);k&&(t=requestAnimationFrame(r))}function z(n){var t=r,u=n.__c;\"function\"==typeof u&&(n.__c=void 0,u()),r=t}function B(n){var t=r;n.__c=n.__(),r=t}function C(n,t){return!n||n.length!==t.length||t.some(function(t,r){return t!==n[r]})}function D(n,t){return\"function\"==typeof t?t(n):t}export{x as useCallback,P as useContext,V as useDebugValue,_ as useEffect,b as useErrorBoundary,g as useId,T as useImperativeHandle,A as useLayoutEffect,q as useMemo,y as useReducer,F as useRef,p as useState};\n//# sourceMappingURL=hooks.module.js.map\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloseIcon = void 0;\nconst preact_1 = require(\"preact\");\nfunction CloseIcon(props) {\n return ((0, preact_1.h)(\"svg\", Object.assign({ width: \"40\", height: \"40\", viewBox: \"0 0 40 40\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n (0, preact_1.h)(\"path\", { d: \"M13.7677 13L12.3535 14.4142L18.3535 20.4142L12.3535 26.4142L13.7677 27.8284L19.7677 21.8284L25.7677 27.8284L27.1819 26.4142L21.1819 20.4142L27.1819 14.4142L25.7677 13L19.7677 19L13.7677 13Z\" })));\n}\nexports.CloseIcon = CloseIcon;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CoinbaseWalletRound = void 0;\nconst preact_1 = require(\"preact\");\nfunction CoinbaseWalletRound(props) {\n return ((0, preact_1.h)(\"svg\", Object.assign({ width: \"28\", height: \"28\", viewBox: \"0 0 28 28\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n (0, preact_1.h)(\"circle\", { cx: \"14\", cy: \"14\", r: \"14\", fill: \"#0052FF\" }),\n (0, preact_1.h)(\"path\", { d: \"M23.8521 14.0003C23.8521 19.455 19.455 23.8521 14.0003 23.8521C8.54559 23.8521 4.14844 19.455 4.14844 14.0003C4.14844 8.54559 8.54559 4.14844 14.0003 4.14844C19.455 4.14844 23.8521 8.54559 23.8521 14.0003Z\", fill: \"white\" }),\n (0, preact_1.h)(\"path\", { d: \"M11.1855 12.5042C11.1855 12.0477 11.1855 11.7942 11.2835 11.642C11.3814 11.4899 11.4793 11.3377 11.6261 11.287C11.8219 11.1855 12.0178 11.1855 12.5073 11.1855H15.4934C15.983 11.1855 16.1788 11.1855 16.3746 11.287C16.5215 11.3884 16.6683 11.4899 16.7173 11.642C16.8152 11.8449 16.8152 12.0477 16.8152 12.5042V15.4965C16.8152 15.953 16.8152 16.2066 16.7173 16.3587C16.6194 16.5109 16.5215 16.663 16.3746 16.7137C16.1788 16.8152 15.983 16.8152 15.4934 16.8152H12.5073C12.0178 16.8152 11.8219 16.8152 11.6261 16.7137C11.4793 16.6123 11.3324 16.5109 11.2835 16.3587C11.1855 16.1558 11.1855 15.953 11.1855 15.4965V12.5042Z\", fill: \"#0052FF\" })));\n}\nexports.CoinbaseWalletRound = CoinbaseWalletRound;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.QRCodeIcon = void 0;\nconst preact_1 = require(\"preact\");\nfunction QRCodeIcon(props) {\n return ((0, preact_1.h)(\"svg\", Object.assign({ width: \"18\", height: \"18\", viewBox: \"0 0 24 24\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n (0, preact_1.h)(\"path\", { d: \"M3 3V8.99939L5 8.99996V5H9V3H3Z\" }),\n (0, preact_1.h)(\"path\", { d: \"M15 21L21 21V15.0006L19 15V19L15 19V21Z\" }),\n (0, preact_1.h)(\"path\", { d: \"M21 9H19V5H15.0006L15 3H21V9Z\" }),\n (0, preact_1.h)(\"path\", { d: \"M3 15V21H8.99939L8.99996 19H5L5 15H3Z\" })));\n}\nexports.QRCodeIcon = QRCodeIcon;\n","/**\n * @fileoverview\n * - modified davidshimjs/qrcodejs library for use in node.js\n * - Using the 'QRCode for Javascript library'\n * - Fixed dataset of 'QRCode for Javascript library' for support full-spec.\n * - this library has no dependencies.\n *\n * @version 0.9.1 (2016-02-12)\n * @author davidshimjs, papnkukn\n * @see http://www.d-project.com/\n * @see http://jeromeetienne.github.com/jquery-qrcode/\n * @see https://github.com/davidshimjs/qrcodejs\n */\n\n//---------------------------------------------------------------------\n// QRCode for JavaScript\n//\n// Copyright (c) 2009 Kazuhiko Arase\n//\n// URL: http://www.d-project.com/\n//\n// Licensed under the MIT license:\n// http://www.opensource.org/licenses/mit-license.php\n//\n// The word \"QR Code\" is registered trademark of\n// DENSO WAVE INCORPORATED\n// http://www.denso-wave.com/qrcode/faqpatent-e.html\n//\n//---------------------------------------------------------------------\nfunction QR8bitByte(data) {\n this.mode = QRMode.MODE_8BIT_BYTE;\n this.data = data;\n this.parsedData = [];\n\n // Added to support UTF-8 Characters\n for (var i = 0, l = this.data.length; i < l; i++) {\n var byteArray = [];\n var code = this.data.charCodeAt(i);\n\n if (code > 0x10000) {\n byteArray[0] = 0xF0 | ((code & 0x1C0000) >>> 18);\n byteArray[1] = 0x80 | ((code & 0x3F000) >>> 12);\n byteArray[2] = 0x80 | ((code & 0xFC0) >>> 6);\n byteArray[3] = 0x80 | (code & 0x3F);\n } else if (code > 0x800) {\n byteArray[0] = 0xE0 | ((code & 0xF000) >>> 12);\n byteArray[1] = 0x80 | ((code & 0xFC0) >>> 6);\n byteArray[2] = 0x80 | (code & 0x3F);\n } else if (code > 0x80) {\n byteArray[0] = 0xC0 | ((code & 0x7C0) >>> 6);\n byteArray[1] = 0x80 | (code & 0x3F);\n } else {\n byteArray[0] = code;\n }\n\n this.parsedData.push(byteArray);\n }\n\n this.parsedData = Array.prototype.concat.apply([], this.parsedData);\n\n if (this.parsedData.length != this.data.length) {\n this.parsedData.unshift(191);\n this.parsedData.unshift(187);\n this.parsedData.unshift(239);\n }\n}\n\nQR8bitByte.prototype = {\n getLength: function (buffer) {\n return this.parsedData.length;\n },\n write: function (buffer) {\n for (var i = 0, l = this.parsedData.length; i < l; i++) {\n buffer.put(this.parsedData[i], 8);\n }\n }\n};\n\nfunction QRCodeModel(typeNumber, errorCorrectLevel) {\n this.typeNumber = typeNumber;\n this.errorCorrectLevel = errorCorrectLevel;\n this.modules = null;\n this.moduleCount = 0;\n this.dataCache = null;\n this.dataList = [];\n}\n\nQRCodeModel.prototype={addData:function(data){var newData=new QR8bitByte(data);this.dataList.push(newData);this.dataCache=null;},isDark:function(row,col){if(row<0||this.moduleCount<=row||col<0||this.moduleCount<=col){throw new Error(row+\",\"+col);}\nreturn this.modules[row][col];},getModuleCount:function(){return this.moduleCount;},make:function(){this.makeImpl(false,this.getBestMaskPattern());},makeImpl:function(test,maskPattern){this.moduleCount=this.typeNumber*4+17;this.modules=new Array(this.moduleCount);for(var row=0;row=7){this.setupTypeNumber(test);}\nif(this.dataCache==null){this.dataCache=QRCodeModel.createData(this.typeNumber,this.errorCorrectLevel,this.dataList);}\nthis.mapData(this.dataCache,maskPattern);},setupPositionProbePattern:function(row,col){for(var r=-1;r<=7;r++){if(row+r<=-1||this.moduleCount<=row+r)continue;for(var c=-1;c<=7;c++){if(col+c<=-1||this.moduleCount<=col+c)continue;if((0<=r&&r<=6&&(c==0||c==6))||(0<=c&&c<=6&&(r==0||r==6))||(2<=r&&r<=4&&2<=c&&c<=4)){this.modules[row+r][col+c]=true;}else{this.modules[row+r][col+c]=false;}}}},getBestMaskPattern:function(){var minLostPoint=0;var pattern=0;for(var i=0;i<8;i++){this.makeImpl(true,i);var lostPoint=QRUtil.getLostPoint(this);if(i==0||minLostPoint>lostPoint){minLostPoint=lostPoint;pattern=i;}}\nreturn pattern;},createMovieClip:function(target_mc,instance_name,depth){var qr_mc=target_mc.createEmptyMovieClip(instance_name,depth);var cs=1;this.make();for(var row=0;row>i)&1)==1);this.modules[Math.floor(i/3)][i%3+this.moduleCount-8-3]=mod;}\nfor(var i=0;i<18;i++){var mod=(!test&&((bits>>i)&1)==1);this.modules[i%3+this.moduleCount-8-3][Math.floor(i/3)]=mod;}},setupTypeInfo:function(test,maskPattern){var data=(this.errorCorrectLevel<<3)|maskPattern;var bits=QRUtil.getBCHTypeInfo(data);for(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<6){this.modules[i][8]=mod;}else if(i<8){this.modules[i+1][8]=mod;}else{this.modules[this.moduleCount-15+i][8]=mod;}}\nfor(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<8){this.modules[8][this.moduleCount-i-1]=mod;}else if(i<9){this.modules[8][15-i-1+1]=mod;}else{this.modules[8][15-i-1]=mod;}}\nthis.modules[this.moduleCount-8][8]=(!test);},mapData:function(data,maskPattern){var inc=-1;var row=this.moduleCount-1;var bitIndex=7;var byteIndex=0;for(var col=this.moduleCount-1;col>0;col-=2){if(col==6)col--;while(true){for(var c=0;c<2;c++){if(this.modules[row][col-c]==null){var dark=false;if(byteIndex>>bitIndex)&1)==1);}\nvar mask=QRUtil.getMask(maskPattern,row,col-c);if(mask){dark=!dark;}\nthis.modules[row][col-c]=dark;bitIndex--;if(bitIndex==-1){byteIndex++;bitIndex=7;}}}\nrow+=inc;if(row<0||this.moduleCount<=row){row-=inc;inc=-inc;break;}}}}};QRCodeModel.PAD0=0xEC;QRCodeModel.PAD1=0x11;QRCodeModel.createData=function(typeNumber,errorCorrectLevel,dataList){var rsBlocks=QRRSBlock.getRSBlocks(typeNumber,errorCorrectLevel);var buffer=new QRBitBuffer();for(var i=0;itotalDataCount*8){throw new Error(\"code length overflow. (\"\n+buffer.getLengthInBits()\n+\">\"\n+totalDataCount*8\n+\")\");}\nif(buffer.getLengthInBits()+4<=totalDataCount*8){buffer.put(0,4);}\nwhile(buffer.getLengthInBits()%8!=0){buffer.putBit(false);}\nwhile(true){if(buffer.getLengthInBits()>=totalDataCount*8){break;}\nbuffer.put(QRCodeModel.PAD0,8);if(buffer.getLengthInBits()>=totalDataCount*8){break;}\nbuffer.put(QRCodeModel.PAD1,8);}\nreturn QRCodeModel.createBytes(buffer,rsBlocks);};QRCodeModel.createBytes=function(buffer,rsBlocks){var offset=0;var maxDcCount=0;var maxEcCount=0;var dcdata=new Array(rsBlocks.length);var ecdata=new Array(rsBlocks.length);for(var r=0;r=0)?modPoly.get(modIndex):0;}}\nvar totalCodeCount=0;for(var i=0;i=0){d^=(QRUtil.G15<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G15)));}\nreturn((data<<10)|d)^QRUtil.G15_MASK;},getBCHTypeNumber:function(data){var d=data<<12;while(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)>=0){d^=(QRUtil.G18<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)));}\nreturn(data<<12)|d;},getBCHDigit:function(data){var digit=0;while(data!=0){digit++;data>>>=1;}\nreturn digit;},getPatternPosition:function(typeNumber){return QRUtil.PATTERN_POSITION_TABLE[typeNumber-1];},getMask:function(maskPattern,i,j){switch(maskPattern){case QRMaskPattern.PATTERN000:return(i+j)%2==0;case QRMaskPattern.PATTERN001:return i%2==0;case QRMaskPattern.PATTERN010:return j%3==0;case QRMaskPattern.PATTERN011:return(i+j)%3==0;case QRMaskPattern.PATTERN100:return(Math.floor(i/2)+Math.floor(j/3))%2==0;case QRMaskPattern.PATTERN101:return(i*j)%2+(i*j)%3==0;case QRMaskPattern.PATTERN110:return((i*j)%2+(i*j)%3)%2==0;case QRMaskPattern.PATTERN111:return((i*j)%3+(i+j)%2)%2==0;default:throw new Error(\"bad maskPattern:\"+maskPattern);}},getErrorCorrectPolynomial:function(errorCorrectLength){var a=new QRPolynomial([1],0);for(var i=0;i5){lostPoint+=(3+sameCount-5);}}}\nfor(var row=0;row=256){n-=255;}\nreturn QRMath.EXP_TABLE[n];},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)};for(var i=0;i<8;i++){QRMath.EXP_TABLE[i]=1<>>(7-index%8))&1)==1;},put:function(num,length){for(var i=0;i>>(length-i-1))&1)==1);}},getLengthInBits:function(){return this.length;},putBit:function(bit){var bufIndex=Math.floor(this.length/8);if(this.buffer.length<=bufIndex){this.buffer.push(0);}\nif(bit){this.buffer[bufIndex]|=(0x80>>>(this.length%8));}\nthis.length++;}};var QRCodeLimitLength=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]];\n\n\n/** Constructor */\nfunction QRCode(options) {\n var instance = this;\n\n //Default options\n this.options = {\n padding: 4,\n width: 256,\n height: 256,\n typeNumber: 4,\n color: \"#000000\",\n background: \"#ffffff\",\n ecl: \"M\",\n image:{\n svg:\"\",\n width:0,\n height:0\n }\n };\n\n //In case the options is string\n if (typeof options === 'string') {\n options = {\n content: options\n };\n }\n\n //Merge options\n if (options) {\n for (var i in options) {\n this.options[i] = options[i];\n }\n }\n\n if (typeof this.options.content !== 'string') {\n throw new Error(\"Expected 'content' as string!\");\n }\n\n if (this.options.content.length === 0 /* || this.options.content.length > 7089 */) {\n throw new Error(\"Expected 'content' to be non-empty!\");\n }\n\n if (!(this.options.padding >= 0)) {\n throw new Error(\"Expected 'padding' value to be non-negative!\");\n }\n\n if (!(this.options.width > 0) || !(this.options.height > 0)) {\n throw new Error(\"Expected 'width' or 'height' value to be higher than zero!\");\n }\n\n //Gets the error correction level\n function _getErrorCorrectLevel(ecl) {\n switch (ecl) {\n case \"L\":\n return QRErrorCorrectLevel.L;\n\n case \"M\":\n return QRErrorCorrectLevel.M;\n\n case \"Q\":\n return QRErrorCorrectLevel.Q;\n\n case \"H\":\n return QRErrorCorrectLevel.H;\n\n default:\n throw new Error(\"Unknwon error correction level: \" + ecl);\n }\n }\n\n //Get type number\n function _getTypeNumber(content, ecl) {\n var length = _getUTF8Length(content);\n\n var type = 1;\n var limit = 0;\n for (var i = 0, len = QRCodeLimitLength.length; i <= len; i++) {\n var table = QRCodeLimitLength[i];\n if (!table) {\n throw new Error(\"Content too long: expected \" + limit + \" but got \" + length);\n }\n\n switch (ecl) {\n case \"L\":\n limit = table[0];\n break;\n\n case \"M\":\n limit = table[1];\n break;\n\n case \"Q\":\n limit = table[2];\n break;\n\n case \"H\":\n limit = table[3];\n break;\n\n default:\n throw new Error(\"Unknwon error correction level: \" + ecl);\n }\n\n if (length <= limit) {\n break;\n }\n\n type++;\n }\n\n if (type > QRCodeLimitLength.length) {\n throw new Error(\"Content too long\");\n }\n\n return type;\n }\n\n //Gets text length\n function _getUTF8Length(content) {\n var result = encodeURI(content).toString().replace(/\\%[0-9a-fA-F]{2}/g, 'a');\n return result.length + (result.length != content ? 3 : 0);\n }\n\n //Generate QR Code matrix\n var content = this.options.content;\n var type = _getTypeNumber(content, this.options.ecl);\n var ecl = _getErrorCorrectLevel(this.options.ecl);\n this.qrcode = new QRCodeModel(type, ecl);\n this.qrcode.addData(content);\n this.qrcode.make();\n}\n\n/** Generates QR Code as SVG image */\nQRCode.prototype.svg = function(opt) {\n var options = this.options || { };\n var modules = this.qrcode.modules;\n\n if (typeof opt == \"undefined\") {\n opt = { container: options.container || \"svg\" };\n }\n\n //Apply new lines and indents in SVG?\n var pretty = typeof options.pretty != \"undefined\" ? !!options.pretty : true;\n\n var indent = pretty ? ' ' : '';\n var EOL = pretty ? '\\r\\n' : '';\n var width = options.width;\n var height = options.height;\n var length = modules.length;\n var xsize = width / (length + 2 * options.padding);\n var ysize = height / (length + 2 * options.padding);\n\n //Join (union, merge) rectangles into one shape?\n var join = typeof options.join != \"undefined\" ? !!options.join : false;\n\n //Swap the X and Y modules, pull request #2\n var swap = typeof options.swap != \"undefined\" ? !!options.swap : false;\n\n //Apply declaration in SVG?\n var xmlDeclaration = typeof options.xmlDeclaration != \"undefined\" ? !!options.xmlDeclaration : true;\n\n //Populate with predefined shape instead of \"rect\" elements, thanks to @kkocdko\n var predefined = typeof options.predefined != \"undefined\" ? !!options.predefined : false;\n var defs = predefined ? indent + '' + EOL : '';\n\n //Background rectangle\n var bgrect = indent + '' + EOL;\n\n //Rectangles representing modules\n var modrect = '';\n var pathdata = '';\n\n for (var y = 0; y < length; y++) {\n for (var x = 0; x < length; x++) {\n var module = modules[x][y];\n if (module) {\n\n var px = (x * xsize + options.padding * xsize);\n var py = (y * ysize + options.padding * ysize);\n\n //Some users have had issues with the QR Code, thanks to @danioso for the solution\n if (swap) {\n var t = px;\n px = py;\n py = t;\n }\n\n if (join) {\n //Module as a part of svg path data, thanks to @danioso\n var w = xsize + px\n var h = ysize + py\n\n px = (Number.isInteger(px))? Number(px): px.toFixed(2);\n py = (Number.isInteger(py))? Number(py): py.toFixed(2);\n w = (Number.isInteger(w))? Number(w): w.toFixed(2);\n h = (Number.isInteger(h))? Number(h): h.toFixed(2);\n\n pathdata += ('M' + px + ',' + py + ' V' + h + ' H' + w + ' V' + py + ' H' + px + ' Z ');\n }\n else if (predefined) {\n //Module as a predefined shape, thanks to @kkocdko\n modrect += indent + '' + EOL;\n }\n else {\n //Module as rectangle element\n modrect += indent + '' + EOL;\n }\n }\n }\n }\n\n if (join) {\n modrect = indent + '';\n }\n let imgSvg = \"\";\n if(this.options.image !== undefined && this.options.image.svg){\n const imgWidth = width * this.options.image.width / 100;\n const imgHeight = height * this.options.image.height / 100;\n const imgX = (width/2) - imgWidth/2;\n const imgY = (height/2) - imgHeight/2;\n imgSvg += ``;\n imgSvg += this.options.image.svg + EOL;\n imgSvg += '';\n }\n\n var svg = \"\";\n switch (opt.container) {\n //Wrapped in SVG document\n case \"svg\":\n if (xmlDeclaration) {\n svg += '' + EOL;\n }\n svg += '' + EOL;\n svg += defs + bgrect + modrect;\n svg += imgSvg;\n svg += '';\n break;\n\n //Viewbox for responsive use in a browser, thanks to @danioso\n case \"svg-viewbox\":\n if (xmlDeclaration) {\n svg += '' + EOL;\n }\n svg += '' + EOL;\n svg += defs + bgrect + modrect;\n svg += imgSvg;\n svg += '';\n break;\n\n\n //Wrapped in group element\n case \"g\":\n svg += '' + EOL;\n svg += defs + bgrect + modrect;\n svg += imgSvg;\n svg += '';\n\n break;\n\n //Without a container\n default:\n svg += (defs + bgrect + modrect + imgSvg).replace(/^\\s+/, \"\"); //Clear indents on each line\n break;\n }\n\n return svg;\n};\n\nmodule.exports = QRCode;\n\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.QRCode = void 0;\nconst preact_1 = require(\"preact\");\nconst hooks_1 = require(\"preact/hooks\");\nconst qrcode_svg_1 = __importDefault(require(\"../../../../vendor-js/qrcode-svg\"));\nconst QRCode = (props) => {\n const [svg, setSvg] = (0, hooks_1.useState)('');\n (0, hooks_1.useEffect)(() => {\n var _a, _b;\n const qrcode = new qrcode_svg_1.default({\n content: props.content,\n background: props.bgColor || '#ffffff',\n color: props.fgColor || '#000000',\n container: 'svg',\n ecl: 'M',\n width: (_a = props.width) !== null && _a !== void 0 ? _a : 256,\n height: (_b = props.height) !== null && _b !== void 0 ? _b : 256,\n padding: 0,\n image: props.image,\n });\n const base64 = Buffer.from(qrcode.svg(), 'utf8').toString('base64');\n setSvg(`data:image/svg+xml;base64,${base64}`);\n }, [props.bgColor, props.content, props.fgColor, props.height, props.image, props.width]);\n return svg ? (0, preact_1.h)(\"img\", { src: svg, alt: \"QR Code\" }) : null;\n};\nexports.QRCode = QRCode;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = (() => `.-cbwsdk-css-reset .-cbwsdk-spinner{display:inline-block}.-cbwsdk-css-reset .-cbwsdk-spinner svg{display:inline-block;animation:2s linear infinite -cbwsdk-spinner-svg}.-cbwsdk-css-reset .-cbwsdk-spinner svg circle{animation:1.9s ease-in-out infinite both -cbwsdk-spinner-circle;display:block;fill:rgba(0,0,0,0);stroke-dasharray:283;stroke-dashoffset:280;stroke-linecap:round;stroke-width:10px;transform-origin:50% 50%}@keyframes -cbwsdk-spinner-svg{0%{transform:rotateZ(0deg)}100%{transform:rotateZ(360deg)}}@keyframes -cbwsdk-spinner-circle{0%,25%{stroke-dashoffset:280;transform:rotate(0)}50%,75%{stroke-dashoffset:75;transform:rotate(45deg)}100%{stroke-dashoffset:280;transform:rotate(360deg)}}`)();\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Spinner = void 0;\nconst preact_1 = require(\"preact\");\nconst Spinner_css_1 = __importDefault(require(\"./Spinner-css\"));\nconst Spinner = (props) => {\n var _a;\n const size = (_a = props.size) !== null && _a !== void 0 ? _a : 64;\n const color = props.color || '#000';\n return ((0, preact_1.h)(\"div\", { class: \"-cbwsdk-spinner\" },\n (0, preact_1.h)(\"style\", null, Spinner_css_1.default),\n (0, preact_1.h)(\"svg\", { viewBox: \"0 0 100 100\", xmlns: \"http://www.w3.org/2000/svg\", style: { width: size, height: size } },\n (0, preact_1.h)(\"circle\", { style: { cx: 50, cy: 50, r: 45, stroke: color } }))));\n};\nexports.Spinner = Spinner;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = (() => `.-cbwsdk-css-reset .-cbwsdk-connect-content{height:430px;width:700px;border-radius:12px;padding:30px}.-cbwsdk-css-reset .-cbwsdk-connect-content.light{background:#fff}.-cbwsdk-css-reset .-cbwsdk-connect-content.dark{background:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-connect-content-header{display:flex;align-items:center;justify-content:space-between;margin:0 0 30px}.-cbwsdk-css-reset .-cbwsdk-connect-content-heading{font-style:normal;font-weight:500;font-size:28px;line-height:36px;margin:0}.-cbwsdk-css-reset .-cbwsdk-connect-content-heading.light{color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-connect-content-heading.dark{color:#fff}.-cbwsdk-css-reset .-cbwsdk-connect-content-layout{display:flex;flex-direction:row}.-cbwsdk-css-reset .-cbwsdk-connect-content-column-left{margin-right:30px;display:flex;flex-direction:column;justify-content:space-between}.-cbwsdk-css-reset .-cbwsdk-connect-content-column-right{flex:25%;margin-right:34px}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-wrapper{width:220px;height:220px;border-radius:12px;display:flex;justify-content:center;align-items:center;background:#fff}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting{position:absolute;top:0;bottom:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting.light{background-color:rgba(255,255,255,.95)}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting.light>p{color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting.dark{background-color:rgba(10,11,13,.9)}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting.dark>p{color:#fff}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting>p{font-size:12px;font-weight:bold;margin-top:16px}.-cbwsdk-css-reset .-cbwsdk-connect-content-update-app{border-radius:8px;font-size:14px;line-height:20px;padding:12px;width:339px}.-cbwsdk-css-reset .-cbwsdk-connect-content-update-app.light{background:#eef0f3;color:#5b636e}.-cbwsdk-css-reset .-cbwsdk-connect-content-update-app.dark{background:#1e2025;color:#8a919e}.-cbwsdk-css-reset .-cbwsdk-cancel-button{-webkit-appearance:none;border:none;background:none;cursor:pointer;padding:0;margin:0}.-cbwsdk-css-reset .-cbwsdk-cancel-button-x{position:relative;display:block;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-wallet-steps{padding:0 0 0 16px;margin:0;width:100%;list-style:decimal}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-item{list-style-type:decimal;display:list-item;font-style:normal;font-weight:400;font-size:16px;line-height:24px;margin-top:20px}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-item.light{color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-item.dark{color:#fff}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-item-wrapper{display:flex;align-items:center}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-pad-left{margin-left:6px}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-icon{display:flex;border-radius:50%;height:24px;width:24px}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-icon svg{margin:auto;display:block}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-icon.light{background:#0052ff}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-icon.dark{background:#588af5}.-cbwsdk-css-reset .-cbwsdk-connect-item{align-items:center;display:flex;flex-direction:row;padding:16px 24px;gap:12px;cursor:pointer;border-radius:100px;font-weight:600}.-cbwsdk-css-reset .-cbwsdk-connect-item.light{background:#f5f8ff;color:#0052ff}.-cbwsdk-css-reset .-cbwsdk-connect-item.dark{background:#001033;color:#588af5}.-cbwsdk-css-reset .-cbwsdk-connect-item-copy-wrapper{margin:0 4px 0 8px}.-cbwsdk-css-reset .-cbwsdk-connect-item-title{margin:0 0 0;font-size:16px;line-height:24px;font-weight:500}.-cbwsdk-css-reset .-cbwsdk-connect-item-description{font-weight:400;font-size:14px;line-height:20px;margin:0}`)();\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CoinbaseWalletSteps = exports.ConnectContent = void 0;\nconst clsx_1 = __importDefault(require(\"clsx\"));\nconst preact_1 = require(\"preact\");\nconst util_1 = require(\"../../../../../core/util\");\nconst version_1 = require(\"../../../../../version\");\nconst CloseIcon_1 = require(\"../icons/CloseIcon\");\nconst CoinbaseWalletRound_1 = require(\"../icons/CoinbaseWalletRound\");\nconst QRCodeIcon_1 = require(\"../icons/QRCodeIcon\");\nconst QRCode_1 = require(\"../QRCode\");\nconst Spinner_1 = require(\"../Spinner/Spinner\");\nconst ConnectContent_css_1 = __importDefault(require(\"./ConnectContent-css\"));\nconst wallet = {\n title: 'Coinbase Wallet app',\n description: 'Connect with your self-custody wallet',\n steps: CoinbaseWalletSteps,\n};\nconst makeIconColor = (theme) => {\n return theme === 'light' ? '#FFFFFF' : '#0A0B0D';\n};\nfunction ConnectContent(props) {\n const { theme } = props;\n const qrUrl = (0, util_1.createQrUrl)(props.sessionId, props.sessionSecret, props.linkAPIUrl, props.isParentConnection, props.version, props.chainId);\n const WalletSteps = wallet.steps;\n return ((0, preact_1.h)(\"div\", { \"data-testid\": \"connect-content\", className: (0, clsx_1.default)('-cbwsdk-connect-content', theme) },\n (0, preact_1.h)(\"style\", null, ConnectContent_css_1.default),\n (0, preact_1.h)(\"div\", { className: \"-cbwsdk-connect-content-header\" },\n (0, preact_1.h)(\"h2\", { className: (0, clsx_1.default)('-cbwsdk-connect-content-heading', theme) }, \"Scan to connect with our mobile app\"),\n props.onCancel && ((0, preact_1.h)(\"button\", { type: \"button\", className: '-cbwsdk-cancel-button', onClick: props.onCancel },\n (0, preact_1.h)(CloseIcon_1.CloseIcon, { fill: theme === 'light' ? '#0A0B0D' : '#FFFFFF' })))),\n (0, preact_1.h)(\"div\", { className: \"-cbwsdk-connect-content-layout\" },\n (0, preact_1.h)(\"div\", { className: \"-cbwsdk-connect-content-column-left\" },\n (0, preact_1.h)(ConnectItem, { title: wallet.title, description: wallet.description, theme: theme })),\n (0, preact_1.h)(\"div\", { className: \"-cbwsdk-connect-content-column-right\" },\n (0, preact_1.h)(\"div\", { className: \"-cbwsdk-connect-content-qr-wrapper\" },\n (0, preact_1.h)(QRCode_1.QRCode, { content: qrUrl, width: 200, height: 200, fgColor: \"#000\", bgColor: \"transparent\" }),\n (0, preact_1.h)(\"input\", { type: \"hidden\", name: \"cbw-cbwsdk-version\", value: version_1.LIB_VERSION }),\n (0, preact_1.h)(\"input\", { type: \"hidden\", value: qrUrl })),\n (0, preact_1.h)(WalletSteps, { theme: theme }),\n !props.isConnected && ((0, preact_1.h)(\"div\", { \"data-testid\": \"connecting-spinner\", className: (0, clsx_1.default)('-cbwsdk-connect-content-qr-connecting', theme) },\n (0, preact_1.h)(Spinner_1.Spinner, { size: 36, color: theme === 'dark' ? '#FFF' : '#000' }),\n (0, preact_1.h)(\"p\", null, \"Connecting...\")))))));\n}\nexports.ConnectContent = ConnectContent;\nfunction ConnectItem({ title, description, theme }) {\n return ((0, preact_1.h)(\"div\", { className: (0, clsx_1.default)('-cbwsdk-connect-item', theme) },\n (0, preact_1.h)(\"div\", null,\n (0, preact_1.h)(CoinbaseWalletRound_1.CoinbaseWalletRound, null)),\n (0, preact_1.h)(\"div\", { className: \"-cbwsdk-connect-item-copy-wrapper\" },\n (0, preact_1.h)(\"h3\", { className: \"-cbwsdk-connect-item-title\" }, title),\n (0, preact_1.h)(\"p\", { className: \"-cbwsdk-connect-item-description\" }, description))));\n}\nfunction CoinbaseWalletSteps({ theme }) {\n return ((0, preact_1.h)(\"ol\", { className: \"-cbwsdk-wallet-steps\" },\n (0, preact_1.h)(\"li\", { className: (0, clsx_1.default)('-cbwsdk-wallet-steps-item', theme) },\n (0, preact_1.h)(\"div\", { className: \"-cbwsdk-wallet-steps-item-wrapper\" }, \"Open Coinbase Wallet app\")),\n (0, preact_1.h)(\"li\", { className: (0, clsx_1.default)('-cbwsdk-wallet-steps-item', theme) },\n (0, preact_1.h)(\"div\", { className: \"-cbwsdk-wallet-steps-item-wrapper\" },\n (0, preact_1.h)(\"span\", null,\n \"Tap \",\n (0, preact_1.h)(\"strong\", null, \"Scan\"),\n ' '),\n (0, preact_1.h)(\"span\", { className: (0, clsx_1.default)('-cbwsdk-wallet-steps-pad-left', '-cbwsdk-wallet-steps-icon', theme) },\n (0, preact_1.h)(QRCodeIcon_1.QRCodeIcon, { fill: makeIconColor(theme) }))))));\n}\nexports.CoinbaseWalletSteps = CoinbaseWalletSteps;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ArrowLeftIcon = void 0;\nconst preact_1 = require(\"preact\");\nfunction ArrowLeftIcon(props) {\n return ((0, preact_1.h)(\"svg\", Object.assign({ width: \"16\", height: \"16\", viewBox: \"0 0 16 16\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n (0, preact_1.h)(\"path\", { d: \"M8.60675 0.155884L7.37816 1.28209L12.7723 7.16662H0V8.83328H12.6548L6.82149 14.6666L8 15.8451L15.8201 8.02501L8.60675 0.155884Z\" })));\n}\nexports.ArrowLeftIcon = ArrowLeftIcon;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LaptopIcon = void 0;\nconst preact_1 = require(\"preact\");\nfunction LaptopIcon(props) {\n return ((0, preact_1.h)(\"svg\", Object.assign({ width: \"14\", height: \"14\", viewBox: \"0 0 14 14\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n (0, preact_1.h)(\"path\", { d: \"M1.8001 2.2002H12.2001V9.40019H1.8001V2.2002ZM3.4001 3.8002V7.80019H10.6001V3.8002H3.4001Z\" }),\n (0, preact_1.h)(\"path\", { d: \"M13.4001 10.2002H0.600098C0.600098 11.0838 1.31644 11.8002 2.2001 11.8002H11.8001C12.6838 11.8002 13.4001 11.0838 13.4001 10.2002Z\" })));\n}\nexports.LaptopIcon = LaptopIcon;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SafeIcon = void 0;\nconst preact_1 = require(\"preact\");\nfunction SafeIcon(props) {\n return ((0, preact_1.h)(\"svg\", Object.assign({ width: \"14\", height: \"14\", viewBox: \"0 0 14 14\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n (0, preact_1.h)(\"path\", { \"fill-rule\": \"evenodd\", \"clip-rule\": \"evenodd\", d: \"M0.600098 0.600098V11.8001H13.4001V0.600098H0.600098ZM7.0001 9.2001C5.3441 9.2001 4.0001 7.8561 4.0001 6.2001C4.0001 4.5441 5.3441 3.2001 7.0001 3.2001C8.6561 3.2001 10.0001 4.5441 10.0001 6.2001C10.0001 7.8561 8.6561 9.2001 7.0001 9.2001ZM0.600098 12.6001H3.8001V13.4001H0.600098V12.6001ZM10.2001 12.6001H13.4001V13.4001H10.2001V12.6001ZM8.8001 6.2001C8.8001 7.19421 7.99421 8.0001 7.0001 8.0001C6.00598 8.0001 5.2001 7.19421 5.2001 6.2001C5.2001 5.20598 6.00598 4.4001 7.0001 4.4001C7.99421 4.4001 8.8001 5.20598 8.8001 6.2001Z\" })));\n}\nexports.SafeIcon = SafeIcon;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = (() => `.-cbwsdk-css-reset .-cbwsdk-try-extension{display:flex;margin-top:12px;height:202px;width:700px;border-radius:12px;padding:30px}.-cbwsdk-css-reset .-cbwsdk-try-extension.light{background:#fff}.-cbwsdk-css-reset .-cbwsdk-try-extension.dark{background:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-try-extension-column-half{flex:50%}.-cbwsdk-css-reset .-cbwsdk-try-extension-heading{font-style:normal;font-weight:500;font-size:25px;line-height:32px;margin:0;max-width:204px}.-cbwsdk-css-reset .-cbwsdk-try-extension-heading.light{color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-try-extension-heading.dark{color:#fff}.-cbwsdk-css-reset .-cbwsdk-try-extension-cta{appearance:none;border:none;background:none;color:#0052ff;cursor:pointer;padding:0;text-decoration:none;display:block;font-weight:600;font-size:16px;line-height:24px}.-cbwsdk-css-reset .-cbwsdk-try-extension-cta.light{color:#0052ff}.-cbwsdk-css-reset .-cbwsdk-try-extension-cta.dark{color:#588af5}.-cbwsdk-css-reset .-cbwsdk-try-extension-cta-wrapper{display:flex;align-items:center;margin-top:12px}.-cbwsdk-css-reset .-cbwsdk-try-extension-cta-icon{display:block;margin-left:4px;height:14px}.-cbwsdk-css-reset .-cbwsdk-try-extension-list{display:flex;flex-direction:column;justify-content:center;align-items:center;margin:0;padding:0;list-style:none;height:100%}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item{display:flex;align-items:center;flex-flow:nowrap;margin-top:24px}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item:first-of-type{margin-top:0}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-icon-wrapper{display:block}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-icon{display:flex;height:32px;width:32px;border-radius:50%}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-icon svg{margin:auto;display:block}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-icon.light{background:#eef0f3}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-icon.dark{background:#1e2025}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-copy{display:block;font-weight:400;font-size:14px;line-height:20px;padding-left:12px}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-copy.light{color:#5b636e}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-copy.dark{color:#8a919e}`)();\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TryExtensionContent = void 0;\nconst clsx_1 = __importDefault(require(\"clsx\"));\nconst preact_1 = require(\"preact\");\nconst hooks_1 = require(\"preact/hooks\");\nconst ArrowLeftIcon_1 = require(\"../icons/ArrowLeftIcon\");\nconst LaptopIcon_1 = require(\"../icons/LaptopIcon\");\nconst SafeIcon_1 = require(\"../icons/SafeIcon\");\nconst TryExtensionContent_css_1 = __importDefault(require(\"./TryExtensionContent-css\"));\nfunction TryExtensionContent({ theme }) {\n const [clicked, setClicked] = (0, hooks_1.useState)(false);\n const handleInstallClick = (0, hooks_1.useCallback)(() => {\n window.open('https://api.wallet.coinbase.com/rpc/v2/desktop/chrome', '_blank');\n }, []);\n const handleClick = (0, hooks_1.useCallback)(() => {\n if (clicked) {\n window.location.reload();\n }\n else {\n handleInstallClick();\n setClicked(true);\n }\n }, [handleInstallClick, clicked]);\n return ((0, preact_1.h)(\"div\", { class: (0, clsx_1.default)('-cbwsdk-try-extension', theme) },\n (0, preact_1.h)(\"style\", null, TryExtensionContent_css_1.default),\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-try-extension-column-half\" },\n (0, preact_1.h)(\"h3\", { class: (0, clsx_1.default)('-cbwsdk-try-extension-heading', theme) }, \"Or try the Coinbase Wallet browser extension\"),\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-try-extension-cta-wrapper\" },\n (0, preact_1.h)(\"button\", { class: (0, clsx_1.default)('-cbwsdk-try-extension-cta', theme), onClick: handleClick }, clicked ? 'Refresh' : 'Install'),\n (0, preact_1.h)(\"div\", null, !clicked && ((0, preact_1.h)(ArrowLeftIcon_1.ArrowLeftIcon, { class: \"-cbwsdk-try-extension-cta-icon\", fill: theme === 'light' ? '#0052FF' : '#588AF5' }))))),\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-try-extension-column-half\" },\n (0, preact_1.h)(\"ul\", { class: \"-cbwsdk-try-extension-list\" },\n (0, preact_1.h)(\"li\", { class: \"-cbwsdk-try-extension-list-item\" },\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-try-extension-list-item-icon-wrapper\" },\n (0, preact_1.h)(\"span\", { class: (0, clsx_1.default)('-cbwsdk-try-extension-list-item-icon', theme) },\n (0, preact_1.h)(LaptopIcon_1.LaptopIcon, { fill: theme === 'light' ? '#0A0B0D' : '#FFFFFF' }))),\n (0, preact_1.h)(\"div\", { class: (0, clsx_1.default)('-cbwsdk-try-extension-list-item-copy', theme) }, \"Connect with dapps with just one click on your desktop browser\")),\n (0, preact_1.h)(\"li\", { class: \"-cbwsdk-try-extension-list-item\" },\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-try-extension-list-item-icon-wrapper\" },\n (0, preact_1.h)(\"span\", { class: (0, clsx_1.default)('-cbwsdk-try-extension-list-item-icon', theme) },\n (0, preact_1.h)(SafeIcon_1.SafeIcon, { fill: theme === 'light' ? '#0A0B0D' : '#FFFFFF' }))),\n (0, preact_1.h)(\"div\", { class: (0, clsx_1.default)('-cbwsdk-try-extension-list-item-copy', theme) }, \"Add an additional layer of security by using a supported Ledger hardware wallet\"))))));\n}\nexports.TryExtensionContent = TryExtensionContent;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = (() => `.-cbwsdk-css-reset .-cbwsdk-connect-dialog{z-index:2147483647;position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-backdrop{z-index:2147483647;position:fixed;top:0;left:0;right:0;bottom:0;transition:opacity .25s}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-backdrop.light{background-color:rgba(0,0,0,.5)}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-backdrop.dark{background-color:rgba(50,53,61,.4)}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-backdrop-hidden{opacity:0}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-box{display:flex;position:relative;flex-direction:column;transform:scale(1);transition:opacity .25s,transform .25s}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-box-hidden{opacity:0;transform:scale(0.85)}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-container{display:block}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-container-hidden{display:none}`)();\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConnectDialog = void 0;\nconst clsx_1 = __importDefault(require(\"clsx\"));\nconst preact_1 = require(\"preact\");\nconst hooks_1 = require(\"preact/hooks\");\nconst ConnectContent_1 = require(\"../ConnectContent/ConnectContent\");\nconst TryExtensionContent_1 = require(\"../TryExtensionContent/TryExtensionContent\");\nconst ConnectDialog_css_1 = __importDefault(require(\"./ConnectDialog-css\"));\nconst ConnectDialog = (props) => {\n const { isOpen, darkMode } = props;\n const [containerHidden, setContainerHidden] = (0, hooks_1.useState)(!isOpen);\n const [dialogHidden, setDialogHidden] = (0, hooks_1.useState)(!isOpen);\n (0, hooks_1.useEffect)(() => {\n const timers = [\n window.setTimeout(() => {\n setDialogHidden(!isOpen);\n }, 10),\n ];\n if (isOpen) {\n setContainerHidden(false);\n }\n else {\n timers.push(window.setTimeout(() => {\n setContainerHidden(true);\n }, 360));\n }\n return () => {\n timers.forEach(window.clearTimeout);\n };\n }, [isOpen]);\n const theme = darkMode ? 'dark' : 'light';\n return ((0, preact_1.h)(\"div\", { class: (0, clsx_1.default)('-cbwsdk-connect-dialog-container', containerHidden && '-cbwsdk-connect-dialog-container-hidden') },\n (0, preact_1.h)(\"style\", null, ConnectDialog_css_1.default),\n (0, preact_1.h)(\"div\", { class: (0, clsx_1.default)('-cbwsdk-connect-dialog-backdrop', theme, dialogHidden && '-cbwsdk-connect-dialog-backdrop-hidden') }),\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-connect-dialog\" },\n (0, preact_1.h)(\"div\", { class: (0, clsx_1.default)('-cbwsdk-connect-dialog-box', dialogHidden && '-cbwsdk-connect-dialog-box-hidden') },\n !props.connectDisabled ? ((0, preact_1.h)(ConnectContent_1.ConnectContent, { theme: theme, version: props.version, sessionId: props.sessionId, sessionSecret: props.sessionSecret, linkAPIUrl: props.linkAPIUrl, isConnected: props.isConnected, isParentConnection: props.isParentConnection, chainId: props.chainId, onCancel: props.onCancel })) : null,\n (0, preact_1.h)(TryExtensionContent_1.TryExtensionContent, { theme: theme })))));\n};\nexports.ConnectDialog = ConnectDialog;\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LinkFlow = void 0;\nconst preact_1 = require(\"preact\");\nconst ConnectDialog_1 = require(\"../ConnectDialog/ConnectDialog\");\nclass LinkFlow {\n constructor(options) {\n this.connected = false;\n this.chainId = 1;\n this.isOpen = false;\n this.onCancel = null;\n this.root = null;\n // if true, hide QR code in LinkFlow (which happens if no jsonRpcUrl is provided)\n this.connectDisabled = false;\n this.darkMode = options.darkMode;\n this.version = options.version;\n this.sessionId = options.sessionId;\n this.sessionSecret = options.sessionSecret;\n this.linkAPIUrl = options.linkAPIUrl;\n this.isParentConnection = options.isParentConnection;\n }\n attach(el) {\n this.root = document.createElement('div');\n this.root.className = '-cbwsdk-link-flow-root';\n el.appendChild(this.root);\n this.render();\n }\n setConnected(v) {\n if (this.connected !== v) {\n this.connected = v;\n this.render();\n }\n }\n setChainId(chainId) {\n if (this.chainId !== chainId) {\n this.chainId = chainId;\n this.render();\n }\n }\n detach() {\n var _a;\n if (!this.root) {\n return;\n }\n (0, preact_1.render)(null, this.root);\n (_a = this.root.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(this.root);\n }\n setConnectDisabled(connectDisabled) {\n this.connectDisabled = connectDisabled;\n }\n open(options) {\n this.isOpen = true;\n this.onCancel = options.onCancel;\n this.render();\n }\n close() {\n this.isOpen = false;\n this.onCancel = null;\n this.render();\n }\n render() {\n if (!this.root) {\n return;\n }\n (0, preact_1.render)((0, preact_1.h)(ConnectDialog_1.ConnectDialog, { darkMode: this.darkMode, version: this.version, sessionId: this.sessionId, sessionSecret: this.sessionSecret, linkAPIUrl: this.linkAPIUrl, isOpen: this.isOpen, isConnected: this.connected, isParentConnection: this.isParentConnection, chainId: this.chainId, onCancel: this.onCancel, connectDisabled: this.connectDisabled }), this.root);\n }\n}\nexports.LinkFlow = LinkFlow;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = (() => `.-cbwsdk-css-reset .-gear-container{margin-left:16px !important;margin-right:9px !important;display:flex;align-items:center;justify-content:center;width:24px;height:24px;transition:opacity .25s}.-cbwsdk-css-reset .-gear-container *{user-select:none}.-cbwsdk-css-reset .-gear-container svg{opacity:0;position:absolute}.-cbwsdk-css-reset .-gear-icon{height:12px;width:12px;z-index:10000}.-cbwsdk-css-reset .-cbwsdk-snackbar{align-items:flex-end;display:flex;flex-direction:column;position:fixed;right:0;top:0;z-index:2147483647}.-cbwsdk-css-reset .-cbwsdk-snackbar *{user-select:none}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance{display:flex;flex-direction:column;margin:8px 16px 0 16px;overflow:visible;text-align:left;transform:translateX(0);transition:opacity .25s,transform .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header:hover .-gear-container svg{opacity:1}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header{display:flex;align-items:center;background:#fff;overflow:hidden;border:1px solid #e7ebee;box-sizing:border-box;border-radius:8px;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header-cblogo{margin:8px 8px 8px 8px}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header *{cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header-message{color:#000;font-size:13px;line-height:1.5;user-select:none}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu{background:#fff;transition:opacity .25s ease-in-out,transform .25s linear,visibility 0s;visibility:hidden;border:1px solid #e7ebee;box-sizing:border-box;border-radius:8px;opacity:0;flex-direction:column;padding-left:8px;padding-right:8px}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:last-child{margin-bottom:8px !important}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:hover{background:#f5f7f8;border-radius:6px;transition:background .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:hover span{color:#050f19;transition:color .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:hover svg path{fill:#000;transition:fill .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item{visibility:inherit;height:35px;margin-top:8px;margin-bottom:0;display:flex;flex-direction:row;align-items:center;padding:8px;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item *{visibility:inherit;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover{background:rgba(223,95,103,.2);transition:background .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover *{cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover svg path{fill:#df5f67;transition:fill .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover span{color:#df5f67;transition:color .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-info{color:#aaa;font-size:13px;margin:0 8px 0 32px;position:absolute}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-hidden{opacity:0;text-align:left;transform:translateX(25%);transition:opacity .5s linear}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-expanded .-cbwsdk-snackbar-instance-menu{opacity:1;display:flex;transform:translateY(8px);visibility:visible}`)();\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SnackbarInstance = exports.SnackbarContainer = exports.Snackbar = void 0;\nconst clsx_1 = __importDefault(require(\"clsx\"));\nconst preact_1 = require(\"preact\");\nconst hooks_1 = require(\"preact/hooks\");\nconst Snackbar_css_1 = __importDefault(require(\"./Snackbar-css\"));\nconst cblogo = `data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEuNDkyIDEwLjQxOWE4LjkzIDguOTMgMCAwMTguOTMtOC45M2gxMS4xNjNhOC45MyA4LjkzIDAgMDE4LjkzIDguOTN2MTEuMTYzYTguOTMgOC45MyAwIDAxLTguOTMgOC45M0gxMC40MjJhOC45MyA4LjkzIDAgMDEtOC45My04LjkzVjEwLjQxOXoiIGZpbGw9IiMxNjUyRjAiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEwLjQxOSAwSDIxLjU4QzI3LjMzNSAwIDMyIDQuNjY1IDMyIDEwLjQxOVYyMS41OEMzMiAyNy4zMzUgMjcuMzM1IDMyIDIxLjU4MSAzMkgxMC40MkM0LjY2NSAzMiAwIDI3LjMzNSAwIDIxLjU4MVYxMC40MkMwIDQuNjY1IDQuNjY1IDAgMTAuNDE5IDB6bTAgMS40ODhhOC45MyA4LjkzIDAgMDAtOC45MyA4LjkzdjExLjE2M2E4LjkzIDguOTMgMCAwMDguOTMgOC45M0gyMS41OGE4LjkzIDguOTMgMCAwMDguOTMtOC45M1YxMC40MmE4LjkzIDguOTMgMCAwMC04LjkzLTguOTNIMTAuNDJ6IiBmaWxsPSIjZmZmIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS45OTggMjYuMDQ5Yy01LjU0OSAwLTEwLjA0Ny00LjQ5OC0xMC4wNDctMTAuMDQ3IDAtNS41NDggNC40OTgtMTAuMDQ2IDEwLjA0Ny0xMC4wNDYgNS41NDggMCAxMC4wNDYgNC40OTggMTAuMDQ2IDEwLjA0NiAwIDUuNTQ5LTQuNDk4IDEwLjA0Ny0xMC4wNDYgMTAuMDQ3eiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0xMi43NjIgMTQuMjU0YzAtLjgyMi42NjctMS40ODkgMS40ODktMS40ODloMy40OTdjLjgyMiAwIDEuNDg4LjY2NiAxLjQ4OCAxLjQ4OXYzLjQ5N2MwIC44MjItLjY2NiAxLjQ4OC0xLjQ4OCAxLjQ4OGgtMy40OTdhMS40ODggMS40ODggMCAwMS0xLjQ4OS0xLjQ4OHYtMy40OTh6IiBmaWxsPSIjMTY1MkYwIi8+PC9zdmc+`;\nconst gearIcon = `data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEyIDYuNzV2LTEuNWwtMS43Mi0uNTdjLS4wOC0uMjctLjE5LS41Mi0uMzItLjc3bC44MS0xLjYyLTEuMDYtMS4wNi0xLjYyLjgxYy0uMjQtLjEzLS41LS4yNC0uNzctLjMyTDYuNzUgMGgtMS41bC0uNTcgMS43MmMtLjI3LjA4LS41My4xOS0uNzcuMzJsLTEuNjItLjgxLTEuMDYgMS4wNi44MSAxLjYyYy0uMTMuMjQtLjI0LjUtLjMyLjc3TDAgNS4yNXYxLjVsMS43Mi41N2MuMDguMjcuMTkuNTMuMzIuNzdsLS44MSAxLjYyIDEuMDYgMS4wNiAxLjYyLS44MWMuMjQuMTMuNS4yMy43Ny4zMkw1LjI1IDEyaDEuNWwuNTctMS43MmMuMjctLjA4LjUyLS4xOS43Ny0uMzJsMS42Mi44MSAxLjA2LTEuMDYtLjgxLTEuNjJjLjEzLS4yNC4yMy0uNS4zMi0uNzdMMTIgNi43NXpNNiA4LjVhMi41IDIuNSAwIDAxMC01IDIuNSAyLjUgMCAwMTAgNXoiIGZpbGw9IiMwNTBGMTkiLz48L3N2Zz4=`;\nclass Snackbar {\n constructor(options) {\n this.items = new Map();\n this.nextItemKey = 0;\n this.root = null;\n this.darkMode = options.darkMode;\n }\n attach(el) {\n this.root = document.createElement('div');\n this.root.className = '-cbwsdk-snackbar-root';\n el.appendChild(this.root);\n this.render();\n }\n presentItem(itemProps) {\n const key = this.nextItemKey++;\n this.items.set(key, itemProps);\n this.render();\n return () => {\n this.items.delete(key);\n this.render();\n };\n }\n clear() {\n this.items.clear();\n this.render();\n }\n render() {\n if (!this.root) {\n return;\n }\n (0, preact_1.render)((0, preact_1.h)(\"div\", null,\n (0, preact_1.h)(exports.SnackbarContainer, { darkMode: this.darkMode }, Array.from(this.items.entries()).map(([key, itemProps]) => ((0, preact_1.h)(exports.SnackbarInstance, Object.assign({}, itemProps, { key: key })))))), this.root);\n }\n}\nexports.Snackbar = Snackbar;\nconst SnackbarContainer = (props) => ((0, preact_1.h)(\"div\", { class: (0, clsx_1.default)('-cbwsdk-snackbar-container') },\n (0, preact_1.h)(\"style\", null, Snackbar_css_1.default),\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-snackbar\" }, props.children)));\nexports.SnackbarContainer = SnackbarContainer;\nconst SnackbarInstance = ({ autoExpand, message, menuItems, }) => {\n const [hidden, setHidden] = (0, hooks_1.useState)(true);\n const [expanded, setExpanded] = (0, hooks_1.useState)(autoExpand !== null && autoExpand !== void 0 ? autoExpand : false);\n (0, hooks_1.useEffect)(() => {\n const timers = [\n window.setTimeout(() => {\n setHidden(false);\n }, 1),\n window.setTimeout(() => {\n setExpanded(true);\n }, 10000),\n ];\n return () => {\n timers.forEach(window.clearTimeout);\n };\n });\n const toggleExpanded = () => {\n setExpanded(!expanded);\n };\n return ((0, preact_1.h)(\"div\", { class: (0, clsx_1.default)('-cbwsdk-snackbar-instance', hidden && '-cbwsdk-snackbar-instance-hidden', expanded && '-cbwsdk-snackbar-instance-expanded') },\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-snackbar-instance-header\", onClick: toggleExpanded },\n (0, preact_1.h)(\"img\", { src: cblogo, class: \"-cbwsdk-snackbar-instance-header-cblogo\" }),\n ' ',\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-snackbar-instance-header-message\" }, message),\n (0, preact_1.h)(\"div\", { class: \"-gear-container\" },\n !expanded && ((0, preact_1.h)(\"svg\", { width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\n (0, preact_1.h)(\"circle\", { cx: \"12\", cy: \"12\", r: \"12\", fill: \"#F5F7F8\" }))),\n (0, preact_1.h)(\"img\", { src: gearIcon, class: \"-gear-icon\", title: \"Expand\" }))),\n menuItems && menuItems.length > 0 && ((0, preact_1.h)(\"div\", { class: \"-cbwsdk-snackbar-instance-menu\" }, menuItems.map((action, i) => ((0, preact_1.h)(\"div\", { class: (0, clsx_1.default)('-cbwsdk-snackbar-instance-menu-item', action.isRed && '-cbwsdk-snackbar-instance-menu-item-is-red'), onClick: action.onClick, key: i },\n (0, preact_1.h)(\"svg\", { width: action.svgWidth, height: action.svgHeight, viewBox: \"0 0 10 11\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\n (0, preact_1.h)(\"path\", { \"fill-rule\": action.defaultFillRule, \"clip-rule\": action.defaultClipRule, d: action.path, fill: \"#AAAAAA\" })),\n (0, preact_1.h)(\"span\", { class: (0, clsx_1.default)('-cbwsdk-snackbar-instance-menu-item-info', action.isRed && '-cbwsdk-snackbar-instance-menu-item-info-is-red') }, action.info))))))));\n};\nexports.SnackbarInstance = SnackbarInstance;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WalletLinkRelayUI = void 0;\nconst cssReset_1 = require(\"../../../lib/cssReset\");\nconst LinkFlow_1 = require(\"./components/LinkFlow/LinkFlow\");\nconst Snackbar_1 = require(\"./components/Snackbar/Snackbar\");\nclass WalletLinkRelayUI {\n constructor(options) {\n this.standalone = null;\n this.attached = false;\n this.snackbar = new Snackbar_1.Snackbar({\n darkMode: options.darkMode,\n });\n this.linkFlow = new LinkFlow_1.LinkFlow({\n darkMode: options.darkMode,\n version: options.version,\n sessionId: options.session.id,\n sessionSecret: options.session.secret,\n linkAPIUrl: options.linkAPIUrl,\n isParentConnection: false,\n });\n }\n attach() {\n if (this.attached) {\n throw new Error('Coinbase Wallet SDK UI is already attached');\n }\n const el = document.documentElement;\n const container = document.createElement('div');\n container.className = '-cbwsdk-css-reset';\n el.appendChild(container);\n this.linkFlow.attach(container);\n this.snackbar.attach(container);\n this.attached = true;\n (0, cssReset_1.injectCssReset)();\n }\n setConnected(connected) {\n this.linkFlow.setConnected(connected);\n }\n setChainId(chainId) {\n this.linkFlow.setChainId(chainId);\n }\n setConnectDisabled(connectDisabled) {\n this.linkFlow.setConnectDisabled(connectDisabled);\n }\n /* istanbul ignore next */\n addEthereumChain() { } // no-op\n /* istanbul ignore next */\n watchAsset() { } // no-op\n /* istanbul ignore next */\n switchEthereumChain() { } // no-op\n requestEthereumAccounts(options) {\n this.linkFlow.open({ onCancel: options.onCancel });\n }\n hideRequestEthereumAccounts() {\n this.linkFlow.close();\n }\n /* istanbul ignore next */\n signEthereumMessage() { } // no-op\n /* istanbul ignore next */\n signEthereumTransaction() { } // no-op\n /* istanbul ignore next */\n submitEthereumTransaction() { } // no-op\n /* istanbul ignore next */\n ethereumAddressFromSignedMessage() { } // no-op\n showConnecting(options) {\n let snackbarProps;\n if (options.isUnlinkedErrorState) {\n snackbarProps = {\n autoExpand: true,\n message: 'Connection lost',\n menuItems: [\n {\n isRed: false,\n info: 'Reset connection',\n svgWidth: '10',\n svgHeight: '11',\n path: 'M5.00008 0.96875C6.73133 0.96875 8.23758 1.94375 9.00008 3.375L10.0001 2.375V5.5H9.53133H7.96883H6.87508L7.80633 4.56875C7.41258 3.3875 6.31258 2.53125 5.00008 2.53125C3.76258 2.53125 2.70633 3.2875 2.25633 4.36875L0.812576 3.76875C1.50008 2.125 3.11258 0.96875 5.00008 0.96875ZM2.19375 6.43125C2.5875 7.6125 3.6875 8.46875 5 8.46875C6.2375 8.46875 7.29375 7.7125 7.74375 6.63125L9.1875 7.23125C8.5 8.875 6.8875 10.0312 5 10.0312C3.26875 10.0312 1.7625 9.05625 1 7.625L0 8.625V5.5H0.46875H2.03125H3.125L2.19375 6.43125Z',\n defaultFillRule: 'evenodd',\n defaultClipRule: 'evenodd',\n onClick: options.onResetConnection,\n },\n ],\n };\n }\n else {\n snackbarProps = {\n message: 'Confirm on phone',\n menuItems: [\n {\n isRed: true,\n info: 'Cancel transaction',\n svgWidth: '11',\n svgHeight: '11',\n path: 'M10.3711 1.52346L9.21775 0.370117L5.37109 4.21022L1.52444 0.370117L0.371094 1.52346L4.2112 5.37012L0.371094 9.21677L1.52444 10.3701L5.37109 6.53001L9.21775 10.3701L10.3711 9.21677L6.53099 5.37012L10.3711 1.52346Z',\n defaultFillRule: 'inherit',\n defaultClipRule: 'inherit',\n onClick: options.onCancel,\n },\n {\n isRed: false,\n info: 'Reset connection',\n svgWidth: '10',\n svgHeight: '11',\n path: 'M5.00008 0.96875C6.73133 0.96875 8.23758 1.94375 9.00008 3.375L10.0001 2.375V5.5H9.53133H7.96883H6.87508L7.80633 4.56875C7.41258 3.3875 6.31258 2.53125 5.00008 2.53125C3.76258 2.53125 2.70633 3.2875 2.25633 4.36875L0.812576 3.76875C1.50008 2.125 3.11258 0.96875 5.00008 0.96875ZM2.19375 6.43125C2.5875 7.6125 3.6875 8.46875 5 8.46875C6.2375 8.46875 7.29375 7.7125 7.74375 6.63125L9.1875 7.23125C8.5 8.875 6.8875 10.0312 5 10.0312C3.26875 10.0312 1.7625 9.05625 1 7.625L0 8.625V5.5H0.46875H2.03125H3.125L2.19375 6.43125Z',\n defaultFillRule: 'evenodd',\n defaultClipRule: 'evenodd',\n onClick: options.onResetConnection,\n },\n ],\n };\n }\n return this.snackbar.presentItem(snackbarProps);\n }\n /* istanbul ignore next */\n reloadUI() {\n document.location.reload();\n }\n /* istanbul ignore next */\n inlineAccountsResponse() {\n return false;\n }\n /* istanbul ignore next */\n inlineAddEthereumChain() {\n return false;\n }\n /* istanbul ignore next */\n inlineWatchAsset() {\n return false;\n }\n /* istanbul ignore next */\n inlineSwitchEthereumChain() {\n return false;\n }\n /* istanbul ignore next */\n setStandalone(status) {\n this.standalone = status;\n }\n /* istanbul ignore next */\n isStandalone() {\n var _a;\n return (_a = this.standalone) !== null && _a !== void 0 ? _a : false;\n }\n}\nexports.WalletLinkRelayUI = WalletLinkRelayUI;\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WalletLinkRelay = void 0;\nconst error_1 = require(\"../../core/error\");\nconst type_1 = require(\"../../core/type\");\nconst util_1 = require(\"../../core/util\");\nconst DiagnosticLogger_1 = require(\"../../provider/DiagnosticLogger\");\nconst RelayAbstract_1 = require(\"../RelayAbstract\");\nconst Session_1 = require(\"../Session\");\nconst WalletLinkConnection_1 = require(\"./connection/WalletLinkConnection\");\nconst Web3Response_1 = require(\"./type/Web3Response\");\nconst WalletLinkRelayUI_1 = require(\"./ui/WalletLinkRelayUI\");\nclass WalletLinkRelay extends RelayAbstract_1.RelayAbstract {\n constructor(options) {\n var _a;\n super();\n this.accountsCallback = null;\n this.chainCallbackParams = { chainId: '', jsonRpcUrl: '' }; // to implement distinctUntilChanged\n this.chainCallback = null;\n this.dappDefaultChain = 1;\n this.appName = '';\n this.appLogoUrl = null;\n this.linkedUpdated = (linked) => {\n var _a;\n this.isLinked = linked;\n const cachedAddresses = this.storage.getItem(RelayAbstract_1.LOCAL_STORAGE_ADDRESSES_KEY);\n if (linked) {\n // Only set linked session variable one way\n this.session.linked = linked;\n }\n this.isUnlinkedErrorState = false;\n if (cachedAddresses) {\n const addresses = cachedAddresses.split(' ');\n const wasConnectedViaStandalone = this.storage.getItem('IsStandaloneSigning') === 'true';\n if (addresses[0] !== '' && !linked && this.session.linked && !wasConnectedViaStandalone) {\n this.isUnlinkedErrorState = true;\n const sessionIdHash = this.getSessionIdHash();\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.UNLINKED_ERROR_STATE, {\n sessionIdHash,\n });\n }\n }\n };\n this.metadataUpdated = (key, value) => {\n this.storage.setItem(key, value);\n };\n this.chainUpdated = (chainId, jsonRpcUrl) => {\n if (this.chainCallbackParams.chainId === chainId &&\n this.chainCallbackParams.jsonRpcUrl === jsonRpcUrl) {\n return;\n }\n this.chainCallbackParams = {\n chainId,\n jsonRpcUrl,\n };\n if (this.chainCallback) {\n this.chainCallback(chainId, jsonRpcUrl);\n }\n };\n this.accountUpdated = (selectedAddress) => {\n if (this.accountsCallback) {\n this.accountsCallback([selectedAddress]);\n }\n if (WalletLinkRelay.accountRequestCallbackIds.size > 0) {\n // We get the ethereum address from the metadata. If for whatever\n // reason we don't get a response via an explicit web3 message\n // we can still fulfill the eip1102 request.\n Array.from(WalletLinkRelay.accountRequestCallbackIds.values()).forEach((id) => {\n const message = {\n type: 'WEB3_RESPONSE',\n id,\n response: {\n method: 'requestEthereumAccounts',\n result: [selectedAddress],\n },\n };\n this.invokeCallback(Object.assign(Object.assign({}, message), { id }));\n });\n WalletLinkRelay.accountRequestCallbackIds.clear();\n }\n };\n this.connectedUpdated = (connected) => {\n this.ui.setConnected(connected);\n };\n this.resetAndReload = this.resetAndReload.bind(this);\n this.linkAPIUrl = options.linkAPIUrl;\n this.storage = options.storage;\n this.options = options;\n const { session, ui, connection } = this.subscribe();\n this._session = session;\n this.connection = connection;\n this.relayEventManager = options.relayEventManager;\n this.diagnostic = options.diagnosticLogger;\n this._reloadOnDisconnect = (_a = options.reloadOnDisconnect) !== null && _a !== void 0 ? _a : true;\n this.ui = ui;\n }\n subscribe() {\n const session = Session_1.Session.load(this.storage) || new Session_1.Session(this.storage).save();\n const { linkAPIUrl, diagnostic } = this;\n const connection = new WalletLinkConnection_1.WalletLinkConnection({\n session,\n linkAPIUrl,\n diagnostic,\n listener: this,\n });\n const { version, darkMode } = this.options;\n const ui = this.options.uiConstructor({\n linkAPIUrl,\n version,\n darkMode,\n session,\n });\n connection.connect();\n return { session, ui, connection };\n }\n attachUI() {\n this.ui.attach();\n }\n resetAndReload() {\n Promise.race([\n this.connection.setSessionMetadata('__destroyed', '1'),\n new Promise((resolve) => setTimeout(() => resolve(null), 1000)),\n ])\n .then(() => {\n var _a, _b;\n const isStandalone = this.ui.isStandalone();\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.SESSION_STATE_CHANGE, {\n method: 'relay::resetAndReload',\n sessionMetadataChange: '__destroyed, 1',\n sessionIdHash: this.getSessionIdHash(),\n });\n this.connection.destroy();\n /**\n * Only clear storage if the session id we have in memory matches the one on disk\n * Otherwise, in the case where we have 2 tabs, another tab might have cleared\n * storage already. In that case if we clear storage again, the user will be in\n * a state where the first tab allows the user to connect but the session that\n * was used isn't persisted. This leaves the user in a state where they aren't\n * connected to the mobile app.\n */\n const storedSession = Session_1.Session.load(this.storage);\n if ((storedSession === null || storedSession === void 0 ? void 0 : storedSession.id) === this._session.id) {\n this.storage.clear();\n }\n else if (storedSession) {\n (_b = this.diagnostic) === null || _b === void 0 ? void 0 : _b.log(DiagnosticLogger_1.EVENTS.SKIPPED_CLEARING_SESSION, {\n sessionIdHash: this.getSessionIdHash(),\n storedSessionIdHash: Session_1.Session.hash(storedSession.id),\n });\n }\n if (this._reloadOnDisconnect) {\n this.ui.reloadUI();\n return;\n }\n if (this.accountsCallback) {\n this.accountsCallback([], true);\n }\n const { session, ui, connection } = this.subscribe();\n this._session = session;\n this.connection = connection;\n this.ui = ui;\n if (isStandalone && this.ui.setStandalone)\n this.ui.setStandalone(true);\n this.attachUI();\n })\n .catch((err) => {\n var _a;\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.FAILURE, {\n method: 'relay::resetAndReload',\n message: `failed to reset and reload with ${err}`,\n sessionIdHash: this.getSessionIdHash(),\n });\n });\n }\n setAppInfo(appName, appLogoUrl) {\n this.appName = appName;\n this.appLogoUrl = appLogoUrl;\n }\n getStorageItem(key) {\n return this.storage.getItem(key);\n }\n get session() {\n return this._session;\n }\n setStorageItem(key, value) {\n this.storage.setItem(key, value);\n }\n signEthereumMessage(message, address, addPrefix, typedDataJson) {\n return this.sendRequest({\n method: 'signEthereumMessage',\n params: {\n message: (0, util_1.hexStringFromBuffer)(message, true),\n address,\n addPrefix,\n typedDataJson: typedDataJson || null,\n },\n });\n }\n ethereumAddressFromSignedMessage(message, signature, addPrefix) {\n return this.sendRequest({\n method: 'ethereumAddressFromSignedMessage',\n params: {\n message: (0, util_1.hexStringFromBuffer)(message, true),\n signature: (0, util_1.hexStringFromBuffer)(signature, true),\n addPrefix,\n },\n });\n }\n signEthereumTransaction(params) {\n return this.sendRequest({\n method: 'signEthereumTransaction',\n params: {\n fromAddress: params.fromAddress,\n toAddress: params.toAddress,\n weiValue: (0, util_1.bigIntStringFromBN)(params.weiValue),\n data: (0, util_1.hexStringFromBuffer)(params.data, true),\n nonce: params.nonce,\n gasPriceInWei: params.gasPriceInWei ? (0, util_1.bigIntStringFromBN)(params.gasPriceInWei) : null,\n maxFeePerGas: params.gasPriceInWei ? (0, util_1.bigIntStringFromBN)(params.gasPriceInWei) : null,\n maxPriorityFeePerGas: params.gasPriceInWei\n ? (0, util_1.bigIntStringFromBN)(params.gasPriceInWei)\n : null,\n gasLimit: params.gasLimit ? (0, util_1.bigIntStringFromBN)(params.gasLimit) : null,\n chainId: params.chainId,\n shouldSubmit: false,\n },\n });\n }\n signAndSubmitEthereumTransaction(params) {\n return this.sendRequest({\n method: 'signEthereumTransaction',\n params: {\n fromAddress: params.fromAddress,\n toAddress: params.toAddress,\n weiValue: (0, util_1.bigIntStringFromBN)(params.weiValue),\n data: (0, util_1.hexStringFromBuffer)(params.data, true),\n nonce: params.nonce,\n gasPriceInWei: params.gasPriceInWei ? (0, util_1.bigIntStringFromBN)(params.gasPriceInWei) : null,\n maxFeePerGas: params.maxFeePerGas ? (0, util_1.bigIntStringFromBN)(params.maxFeePerGas) : null,\n maxPriorityFeePerGas: params.maxPriorityFeePerGas\n ? (0, util_1.bigIntStringFromBN)(params.maxPriorityFeePerGas)\n : null,\n gasLimit: params.gasLimit ? (0, util_1.bigIntStringFromBN)(params.gasLimit) : null,\n chainId: params.chainId,\n shouldSubmit: true,\n },\n });\n }\n submitEthereumTransaction(signedTransaction, chainId) {\n return this.sendRequest({\n method: 'submitEthereumTransaction',\n params: {\n signedTransaction: (0, util_1.hexStringFromBuffer)(signedTransaction, true),\n chainId,\n },\n });\n }\n scanQRCode(regExp) {\n return this.sendRequest({\n method: 'scanQRCode',\n params: {\n regExp,\n },\n });\n }\n getQRCodeUrl() {\n return (0, util_1.createQrUrl)(this._session.id, this._session.secret, this.linkAPIUrl, false, this.options.version, this.dappDefaultChain);\n }\n genericRequest(data, action) {\n return this.sendRequest({\n method: 'generic',\n params: {\n action,\n data,\n },\n });\n }\n sendGenericMessage(request) {\n return this.sendRequest(request);\n }\n sendRequest(request) {\n let hideSnackbarItem = null;\n const id = (0, util_1.randomBytesHex)(8);\n const cancel = (error) => {\n this.publishWeb3RequestCanceledEvent(id);\n this.handleErrorResponse(id, request.method, error);\n hideSnackbarItem === null || hideSnackbarItem === void 0 ? void 0 : hideSnackbarItem();\n };\n const promise = new Promise((resolve, reject) => {\n if (!this.ui.isStandalone()) {\n hideSnackbarItem = this.ui.showConnecting({\n isUnlinkedErrorState: this.isUnlinkedErrorState,\n onCancel: cancel,\n onResetConnection: this.resetAndReload, // eslint-disable-line @typescript-eslint/unbound-method\n });\n }\n this.relayEventManager.callbacks.set(id, (response) => {\n hideSnackbarItem === null || hideSnackbarItem === void 0 ? void 0 : hideSnackbarItem();\n if ((0, Web3Response_1.isErrorResponse)(response)) {\n return reject(new Error(response.errorMessage));\n }\n resolve(response);\n });\n if (this.ui.isStandalone()) {\n this.sendRequestStandalone(id, request);\n }\n else {\n this.publishWeb3RequestEvent(id, request);\n }\n });\n return { promise, cancel };\n }\n setConnectDisabled(disabled) {\n this.ui.setConnectDisabled(disabled);\n }\n setAccountsCallback(accountsCallback) {\n this.accountsCallback = accountsCallback;\n }\n setChainCallback(chainCallback) {\n this.chainCallback = chainCallback;\n }\n setDappDefaultChainCallback(chainId) {\n this.dappDefaultChain = chainId;\n if (this.ui instanceof WalletLinkRelayUI_1.WalletLinkRelayUI) {\n this.ui.setChainId(chainId);\n }\n }\n publishWeb3RequestEvent(id, request) {\n var _a;\n const message = { type: 'WEB3_REQUEST', id, request };\n const storedSession = Session_1.Session.load(this.storage);\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.WEB3_REQUEST, {\n eventId: message.id,\n method: `relay::${request.method}`,\n sessionIdHash: this.getSessionIdHash(),\n storedSessionIdHash: storedSession ? Session_1.Session.hash(storedSession.id) : '',\n isSessionMismatched: ((storedSession === null || storedSession === void 0 ? void 0 : storedSession.id) !== this._session.id).toString(),\n });\n this.publishEvent('Web3Request', message, true)\n .then((_) => {\n var _a;\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.WEB3_REQUEST_PUBLISHED, {\n eventId: message.id,\n method: `relay::${request.method}`,\n sessionIdHash: this.getSessionIdHash(),\n storedSessionIdHash: storedSession ? Session_1.Session.hash(storedSession.id) : '',\n isSessionMismatched: ((storedSession === null || storedSession === void 0 ? void 0 : storedSession.id) !== this._session.id).toString(),\n });\n })\n .catch((err) => {\n this.handleWeb3ResponseMessage({\n type: 'WEB3_RESPONSE',\n id: message.id,\n response: {\n method: request.method,\n errorMessage: err.message,\n },\n });\n });\n }\n publishWeb3RequestCanceledEvent(id) {\n const message = {\n type: 'WEB3_REQUEST_CANCELED',\n id,\n };\n this.publishEvent('Web3RequestCanceled', message, false).then();\n }\n publishEvent(event, message, callWebhook) {\n return this.connection.publishEvent(event, message, callWebhook);\n }\n handleWeb3ResponseMessage(message) {\n var _a;\n const { response } = message;\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.WEB3_RESPONSE, {\n eventId: message.id,\n method: `relay::${response.method}`,\n sessionIdHash: this.getSessionIdHash(),\n });\n if (response.method === 'requestEthereumAccounts') {\n WalletLinkRelay.accountRequestCallbackIds.forEach((id) => this.invokeCallback(Object.assign(Object.assign({}, message), { id })));\n WalletLinkRelay.accountRequestCallbackIds.clear();\n return;\n }\n this.invokeCallback(message);\n }\n handleErrorResponse(id, method, error, errorCode) {\n var _a;\n const errorMessage = (_a = error === null || error === void 0 ? void 0 : error.message) !== null && _a !== void 0 ? _a : (0, error_1.getMessageFromCode)(errorCode);\n this.handleWeb3ResponseMessage({\n type: 'WEB3_RESPONSE',\n id,\n response: {\n method,\n errorMessage,\n errorCode,\n },\n });\n }\n invokeCallback(message) {\n const callback = this.relayEventManager.callbacks.get(message.id);\n if (callback) {\n callback(message.response);\n this.relayEventManager.callbacks.delete(message.id);\n }\n }\n requestEthereumAccounts() {\n const request = {\n method: 'requestEthereumAccounts',\n params: {\n appName: this.appName,\n appLogoUrl: this.appLogoUrl || null,\n },\n };\n const hideSnackbarItem = null;\n const id = (0, util_1.randomBytesHex)(8);\n const cancel = (error) => {\n this.publishWeb3RequestCanceledEvent(id);\n this.handleErrorResponse(id, request.method, error);\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n hideSnackbarItem === null || hideSnackbarItem === void 0 ? void 0 : hideSnackbarItem();\n };\n const promise = new Promise((resolve, reject) => {\n this.relayEventManager.callbacks.set(id, (response) => {\n this.ui.hideRequestEthereumAccounts();\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n hideSnackbarItem === null || hideSnackbarItem === void 0 ? void 0 : hideSnackbarItem();\n if ((0, Web3Response_1.isErrorResponse)(response)) {\n return reject(new Error(response.errorMessage));\n }\n resolve(response);\n });\n if (this.ui.inlineAccountsResponse()) {\n const onAccounts = (accounts) => {\n this.handleWeb3ResponseMessage({\n type: 'WEB3_RESPONSE',\n id,\n response: { method: 'requestEthereumAccounts', result: accounts },\n });\n };\n this.ui.requestEthereumAccounts({\n onCancel: cancel,\n onAccounts,\n });\n }\n else {\n // Error if user closes TryExtensionLinkDialog without connecting\n const err = error_1.standardErrors.provider.userRejectedRequest('User denied account authorization');\n this.ui.requestEthereumAccounts({\n onCancel: () => cancel(err),\n });\n }\n WalletLinkRelay.accountRequestCallbackIds.add(id);\n if (!this.ui.inlineAccountsResponse() && !this.ui.isStandalone()) {\n this.publishWeb3RequestEvent(id, request);\n }\n });\n return { promise, cancel };\n }\n selectProvider(providerOptions) {\n const request = {\n method: 'selectProvider',\n params: {\n providerOptions,\n },\n };\n const id = (0, util_1.randomBytesHex)(8);\n const cancel = (error) => {\n this.publishWeb3RequestCanceledEvent(id);\n this.handleErrorResponse(id, request.method, error);\n };\n const promise = new Promise((resolve, reject) => {\n this.relayEventManager.callbacks.set(id, (response) => {\n if ((0, Web3Response_1.isErrorResponse)(response)) {\n return reject(new Error(response.errorMessage));\n }\n resolve(response);\n });\n const _cancel = (_error) => {\n this.handleWeb3ResponseMessage({\n type: 'WEB3_RESPONSE',\n id,\n response: { method: 'selectProvider', result: type_1.ProviderType.Unselected },\n });\n };\n const approve = (selectedProviderKey) => {\n this.handleWeb3ResponseMessage({\n type: 'WEB3_RESPONSE',\n id,\n response: { method: 'selectProvider', result: selectedProviderKey },\n });\n };\n if (this.ui.selectProvider)\n this.ui.selectProvider({\n onApprove: approve,\n onCancel: _cancel,\n providerOptions,\n });\n });\n return { cancel, promise };\n }\n watchAsset(type, address, symbol, decimals, image, chainId) {\n const request = {\n method: 'watchAsset',\n params: {\n type,\n options: {\n address,\n symbol,\n decimals,\n image,\n },\n chainId,\n },\n };\n let hideSnackbarItem = null;\n const id = (0, util_1.randomBytesHex)(8);\n const cancel = (error) => {\n this.publishWeb3RequestCanceledEvent(id);\n this.handleErrorResponse(id, request.method, error);\n hideSnackbarItem === null || hideSnackbarItem === void 0 ? void 0 : hideSnackbarItem();\n };\n if (!this.ui.inlineWatchAsset()) {\n hideSnackbarItem = this.ui.showConnecting({\n isUnlinkedErrorState: this.isUnlinkedErrorState,\n onCancel: cancel,\n onResetConnection: this.resetAndReload, // eslint-disable-line @typescript-eslint/unbound-method\n });\n }\n const promise = new Promise((resolve, reject) => {\n this.relayEventManager.callbacks.set(id, (response) => {\n hideSnackbarItem === null || hideSnackbarItem === void 0 ? void 0 : hideSnackbarItem();\n if ((0, Web3Response_1.isErrorResponse)(response)) {\n return reject(new Error(response.errorMessage));\n }\n resolve(response);\n });\n const _cancel = (_error) => {\n this.handleWeb3ResponseMessage({\n type: 'WEB3_RESPONSE',\n id,\n response: {\n method: 'watchAsset',\n result: false,\n },\n });\n };\n const approve = () => {\n this.handleWeb3ResponseMessage({\n type: 'WEB3_RESPONSE',\n id,\n response: {\n method: 'watchAsset',\n result: true,\n },\n });\n };\n if (this.ui.inlineWatchAsset()) {\n this.ui.watchAsset({\n onApprove: approve,\n onCancel: _cancel,\n type,\n address,\n symbol,\n decimals,\n image,\n chainId,\n });\n }\n if (!this.ui.inlineWatchAsset() && !this.ui.isStandalone()) {\n this.publishWeb3RequestEvent(id, request);\n }\n });\n return { cancel, promise };\n }\n addEthereumChain(chainId, rpcUrls, iconUrls, blockExplorerUrls, chainName, nativeCurrency) {\n const request = {\n method: 'addEthereumChain',\n params: {\n chainId,\n rpcUrls,\n blockExplorerUrls,\n chainName,\n iconUrls,\n nativeCurrency,\n },\n };\n let hideSnackbarItem = null;\n const id = (0, util_1.randomBytesHex)(8);\n const cancel = (error) => {\n this.publishWeb3RequestCanceledEvent(id);\n this.handleErrorResponse(id, request.method, error);\n hideSnackbarItem === null || hideSnackbarItem === void 0 ? void 0 : hideSnackbarItem();\n };\n if (!this.ui.inlineAddEthereumChain(chainId)) {\n hideSnackbarItem = this.ui.showConnecting({\n isUnlinkedErrorState: this.isUnlinkedErrorState,\n onCancel: cancel,\n onResetConnection: this.resetAndReload, // eslint-disable-line @typescript-eslint/unbound-method\n });\n }\n const promise = new Promise((resolve, reject) => {\n this.relayEventManager.callbacks.set(id, (response) => {\n hideSnackbarItem === null || hideSnackbarItem === void 0 ? void 0 : hideSnackbarItem();\n if ((0, Web3Response_1.isErrorResponse)(response)) {\n return reject(new Error(response.errorMessage));\n }\n resolve(response);\n });\n const _cancel = (_error) => {\n this.handleWeb3ResponseMessage({\n type: 'WEB3_RESPONSE',\n id,\n response: {\n method: 'addEthereumChain',\n result: {\n isApproved: false,\n rpcUrl: '',\n },\n },\n });\n };\n const approve = (rpcUrl) => {\n this.handleWeb3ResponseMessage({\n type: 'WEB3_RESPONSE',\n id,\n response: {\n method: 'addEthereumChain',\n result: {\n isApproved: true,\n rpcUrl,\n },\n },\n });\n };\n if (this.ui.inlineAddEthereumChain(chainId)) {\n this.ui.addEthereumChain({\n onCancel: _cancel,\n onApprove: approve,\n chainId: request.params.chainId,\n rpcUrls: request.params.rpcUrls,\n blockExplorerUrls: request.params.blockExplorerUrls,\n chainName: request.params.chainName,\n iconUrls: request.params.iconUrls,\n nativeCurrency: request.params.nativeCurrency,\n });\n }\n if (!this.ui.inlineAddEthereumChain(chainId) && !this.ui.isStandalone()) {\n this.publishWeb3RequestEvent(id, request);\n }\n });\n return { promise, cancel };\n }\n switchEthereumChain(chainId, address) {\n const request = {\n method: 'switchEthereumChain',\n params: Object.assign({ chainId }, { address }),\n };\n const id = (0, util_1.randomBytesHex)(8);\n const cancel = (error) => {\n this.publishWeb3RequestCanceledEvent(id);\n this.handleErrorResponse(id, request.method, error);\n };\n const promise = new Promise((resolve, reject) => {\n this.relayEventManager.callbacks.set(id, (response) => {\n if ((0, Web3Response_1.isErrorResponse)(response) && response.errorCode) {\n return reject(error_1.standardErrors.provider.custom({\n code: response.errorCode,\n message: `Unrecognized chain ID. Try adding the chain using addEthereumChain first.`,\n }));\n }\n else if ((0, Web3Response_1.isErrorResponse)(response)) {\n return reject(new Error(response.errorMessage));\n }\n resolve(response);\n });\n const _cancel = (error) => {\n var _a;\n if (error) {\n // backward compatibility\n const errorCode = (_a = (0, error_1.getErrorCode)(error)) !== null && _a !== void 0 ? _a : error_1.standardErrorCodes.provider.unsupportedChain;\n this.handleErrorResponse(id, 'switchEthereumChain', error instanceof Error ? error : error_1.standardErrors.provider.unsupportedChain(chainId), errorCode);\n }\n else {\n this.handleWeb3ResponseMessage({\n type: 'WEB3_RESPONSE',\n id,\n response: {\n method: 'switchEthereumChain',\n result: {\n isApproved: false,\n rpcUrl: '',\n },\n },\n });\n }\n };\n const approve = (rpcUrl) => {\n this.handleWeb3ResponseMessage({\n type: 'WEB3_RESPONSE',\n id,\n response: {\n method: 'switchEthereumChain',\n result: {\n isApproved: true,\n rpcUrl,\n },\n },\n });\n };\n this.ui.switchEthereumChain({\n onCancel: _cancel,\n onApprove: approve,\n chainId: request.params.chainId,\n address: request.params.address,\n });\n if (!this.ui.inlineSwitchEthereumChain() && !this.ui.isStandalone()) {\n this.publishWeb3RequestEvent(id, request);\n }\n });\n return { promise, cancel };\n }\n inlineAddEthereumChain(chainId) {\n return this.ui.inlineAddEthereumChain(chainId);\n }\n getSessionIdHash() {\n return Session_1.Session.hash(this._session.id);\n }\n sendRequestStandalone(id, request) {\n const _cancel = (error) => {\n this.handleErrorResponse(id, request.method, error);\n };\n const onSuccess = (response) => {\n this.handleWeb3ResponseMessage({\n type: 'WEB3_RESPONSE',\n id,\n response,\n });\n };\n switch (request.method) {\n case 'signEthereumMessage':\n this.ui.signEthereumMessage({\n request,\n onSuccess,\n onCancel: _cancel,\n });\n break;\n case 'signEthereumTransaction':\n this.ui.signEthereumTransaction({\n request,\n onSuccess,\n onCancel: _cancel,\n });\n break;\n case 'submitEthereumTransaction':\n this.ui.submitEthereumTransaction({\n request,\n onSuccess,\n onCancel: _cancel,\n });\n break;\n case 'ethereumAddressFromSignedMessage':\n this.ui.ethereumAddressFromSignedMessage({\n request,\n onSuccess,\n });\n break;\n default:\n _cancel();\n break;\n }\n }\n}\nexports.WalletLinkRelay = WalletLinkRelay;\nWalletLinkRelay.accountRequestCallbackIds = new Set();\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./Snackbar\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = (() => `.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;transition:opacity .25s;background-color:rgba(10,11,13,.5)}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-backdrop-hidden{opacity:0}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box{display:block;position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);padding:20px;border-radius:8px;background-color:#fff;color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box p{display:block;font-weight:400;font-size:14px;line-height:20px;padding-bottom:12px;color:#5b636e}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box button{appearance:none;border:none;background:none;color:#0052ff;padding:0;text-decoration:none;display:block;font-weight:600;font-size:16px;line-height:24px}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.dark{background-color:#0a0b0d;color:#fff}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.dark button{color:#0052ff}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.light{background-color:#fff;color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.light button{color:#0052ff}`)();\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RedirectDialog = void 0;\nconst clsx_1 = __importDefault(require(\"clsx\"));\nconst preact_1 = require(\"preact\");\nconst cssReset_1 = require(\"../../../../../lib/cssReset\");\nconst Snackbar_1 = require(\"../Snackbar\");\nconst RedirectDialog_css_1 = __importDefault(require(\"./RedirectDialog-css\"));\nclass RedirectDialog {\n constructor() {\n this.root = null;\n }\n attach() {\n const el = document.documentElement;\n this.root = document.createElement('div');\n this.root.className = '-cbwsdk-css-reset';\n el.appendChild(this.root);\n (0, cssReset_1.injectCssReset)();\n }\n present(props) {\n this.render(props);\n }\n clear() {\n this.render(null);\n }\n render(props) {\n if (!this.root)\n return;\n (0, preact_1.render)(null, this.root);\n if (!props)\n return;\n (0, preact_1.render)((0, preact_1.h)(RedirectDialogContent, Object.assign({}, props, { onDismiss: () => {\n this.clear();\n } })), this.root);\n }\n}\nexports.RedirectDialog = RedirectDialog;\nconst RedirectDialogContent = ({ title, buttonText, darkMode, onButtonClick, onDismiss }) => {\n const theme = darkMode ? 'dark' : 'light';\n return ((0, preact_1.h)(Snackbar_1.SnackbarContainer, { darkMode: darkMode },\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-redirect-dialog\" },\n (0, preact_1.h)(\"style\", null, RedirectDialog_css_1.default),\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-redirect-dialog-backdrop\", onClick: onDismiss }),\n (0, preact_1.h)(\"div\", { class: (0, clsx_1.default)('-cbwsdk-redirect-dialog-box', theme) },\n (0, preact_1.h)(\"p\", null, title),\n (0, preact_1.h)(\"button\", { onClick: onButtonClick }, buttonText)))));\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MobileRelayUI = void 0;\nconst RedirectDialog_1 = require(\"../walletlink/ui/components/RedirectDialog/RedirectDialog\");\n// TODO: Implement & present in-page wallet picker instead of navigating to www.coinbase.com/connect-dapp\nclass MobileRelayUI {\n constructor(options) {\n this.attached = false;\n this.darkMode = false;\n this.openedWindow = null;\n this.redirectDialog = new RedirectDialog_1.RedirectDialog();\n this.darkMode = options.darkMode;\n }\n attach() {\n if (this.attached) {\n throw new Error('Coinbase Wallet SDK UI is already attached');\n }\n this.redirectDialog.attach();\n this.attached = true;\n }\n setConnected(_connected) { } // no-op\n closeOpenedWindow() {\n var _a;\n (_a = this.openedWindow) === null || _a === void 0 ? void 0 : _a.close();\n this.openedWindow = null;\n }\n redirectToCoinbaseWallet(walletLinkUrl) {\n const url = new URL('https://go.cb-w.com/walletlink');\n url.searchParams.append('redirect_url', window.location.href);\n if (walletLinkUrl) {\n url.searchParams.append('wl_url', walletLinkUrl);\n }\n this.openedWindow = window.open(url.href, 'cbw-opener');\n if (this.openedWindow) {\n setTimeout(() => this.closeOpenedWindow(), 5000);\n }\n }\n openCoinbaseWalletDeeplink(walletLinkUrl) {\n this.redirectDialog.present({\n title: 'Redirecting to Coinbase Wallet...',\n buttonText: 'Open',\n darkMode: this.darkMode,\n onButtonClick: () => {\n this.redirectToCoinbaseWallet(walletLinkUrl);\n },\n });\n setTimeout(() => {\n this.redirectToCoinbaseWallet(walletLinkUrl);\n }, 99);\n }\n showConnecting(_options) {\n // it uses the return callback to clear the dialog\n return () => {\n this.closeOpenedWindow();\n this.redirectDialog.clear();\n };\n }\n hideRequestEthereumAccounts() {\n this.closeOpenedWindow();\n this.redirectDialog.clear();\n }\n // -- Methods below are not needed for mobile\n requestEthereumAccounts() { } // no-op\n addEthereumChain() { } // no-op\n watchAsset() { } // no-op\n selectProvider() { } // no-op\n switchEthereumChain() { } // no-op\n signEthereumMessage() { } // no-op\n signEthereumTransaction() { } // no-op\n submitEthereumTransaction() { } // no-op\n ethereumAddressFromSignedMessage() { } // no-op\n reloadUI() { } // no-op\n setStandalone() { } // no-op\n setConnectDisabled() { } // no-op\n inlineAccountsResponse() {\n return false;\n }\n inlineAddEthereumChain() {\n return false;\n }\n inlineWatchAsset() {\n return false;\n }\n inlineSwitchEthereumChain() {\n return false;\n }\n isStandalone() {\n return false;\n }\n}\nexports.MobileRelayUI = MobileRelayUI;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MobileRelay = void 0;\nconst util_1 = require(\"../../core/util\");\nconst WalletLinkRelay_1 = require(\"../walletlink/WalletLinkRelay\");\nconst MobileRelayUI_1 = require(\"./MobileRelayUI\");\nclass MobileRelay extends WalletLinkRelay_1.WalletLinkRelay {\n constructor(options) {\n var _a;\n super(options);\n this._enableMobileWalletLink = (_a = options.enableMobileWalletLink) !== null && _a !== void 0 ? _a : false;\n }\n // override\n requestEthereumAccounts() {\n if (this._enableMobileWalletLink) {\n return super.requestEthereumAccounts();\n }\n // TODO: Implement & present in-page wallet picker instead of navigating to www.coinbase.com/connect-dapp\n return {\n promise: new Promise(() => {\n const location = (0, util_1.getLocation)();\n location.href = `https://go.cb-w.com/dapp?cb_url=${encodeURIComponent(location.href)}`;\n }),\n cancel: () => { },\n };\n }\n // override\n publishWeb3RequestEvent(id, request) {\n super.publishWeb3RequestEvent(id, request);\n if (!(this._enableMobileWalletLink && this.ui instanceof MobileRelayUI_1.MobileRelayUI))\n return;\n let navigatedToCBW = false;\n // For mobile relay requests, open the Coinbase Wallet app\n switch (request.method) {\n case 'requestEthereumAccounts':\n case 'connectAndSignIn':\n navigatedToCBW = true;\n this.ui.openCoinbaseWalletDeeplink(this.getQRCodeUrl());\n break;\n case 'switchEthereumChain':\n // switchEthereumChain doesn't need to open the app\n return;\n default:\n navigatedToCBW = true;\n this.ui.openCoinbaseWalletDeeplink();\n break;\n }\n // If the user navigated to the Coinbase Wallet app, then we need to check\n // for unseen events once the user returns to the browser\n if (navigatedToCBW) {\n window.addEventListener('blur', () => {\n window.addEventListener('focus', () => {\n this.connection.checkUnseenEvents();\n }, { once: true });\n }, { once: true });\n }\n }\n // override\n handleWeb3ResponseMessage(message) {\n super.handleWeb3ResponseMessage(message);\n if (this._enableMobileWalletLink && this.ui instanceof MobileRelayUI_1.MobileRelayUI) {\n this.ui.closeOpenedWindow();\n }\n }\n connectAndSignIn(params) {\n if (!this._enableMobileWalletLink) {\n throw new Error('connectAndSignIn is supported only when enableMobileWalletLink is on');\n }\n return this.sendRequest({\n method: 'connectAndSignIn',\n params: {\n appName: this.appName,\n appLogoUrl: this.appLogoUrl,\n domain: window.location.hostname,\n aud: window.location.href,\n version: '1',\n type: 'eip4361',\n nonce: params.nonce,\n iat: new Date().toISOString(),\n chainId: `eip155:${this.dappDefaultChain}`,\n statement: params.statement,\n resources: params.resources,\n },\n });\n }\n}\nexports.MobileRelay = MobileRelay;\n","module.exports = require('events').EventEmitter;\n","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\nvar _require2 = require('util'),\n inspect = _require2.inspect;\nvar custom = inspect && inspect.custom || 'inspect';\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\nmodule.exports = /*#__PURE__*/function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) ret += s + p.data;\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n }\n\n // Consumes a specified amount of bytes or characters from the buffered data.\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n }\n\n // Consumes a specified amount of characters from the buffered data.\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Consumes a specified amount of bytes from the buffered data.\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Make sure the linked list only shows the minimal necessary information.\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread(_objectSpread({}, options), {}, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n return BufferList;\n}();","'use strict';\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n return this;\n}\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n return Math.floor(hwm);\n }\n\n // Default value\n return state.objectMode ? 16 : 16 * 1024;\n}\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\nmodule.exports = Writable;\n\n/* */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n\n/**/\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\nvar Buffer = require('buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\nvar destroyImpl = require('./internal/streams/destroy');\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nrequire('inherits')(Writable, Stream);\nfunction nop() {}\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'finish' (and potentially 'end')\n this.autoDestroy = !!options.autoDestroy;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex);\n\n // legacy.\n this.writable = true;\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END();\n // TODO: defer error events consistently everywhere, not just the cb\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n return true;\n}\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n return ret;\n}\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n if (entry === null) state.lastBufferedRequest = null;\n }\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\nWritable.prototype._writev = null;\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n errorOrDestroy(stream, err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n return need;\n}\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n\n // reuse the free corkReq.\n state.corkedRequestsFree.next = corkReq;\n}\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/**/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n};\n/**/\n\nmodule.exports = Duplex;\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\nrequire('inherits')(Duplex, Readable);\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n process.nextTick(onEndNT, this);\n}\nfunction onEndNT(self) {\n self.end();\n}\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n callback.apply(this, args);\n };\n}\nfunction noop() {}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n var writableEnded = stream._writableState && stream._writableState.finished;\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n var onclose = function onclose() {\n var err;\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\nmodule.exports = eos;","'use strict';\n\nvar _Object$setPrototypeO;\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar finished = require('./end-of-stream');\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n if (resolve !== null) {\n var data = iter[kStream].read();\n // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n next: function next() {\n var _this = this;\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n if (error !== null) {\n return Promise.reject(error);\n }\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n }\n\n // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n var lastPromise = this[kLastPromise];\n var promise;\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n promise = new Promise(this[kHandlePromise]);\n }\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject];\n // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n iterator[kError] = err;\n return;\n }\n var resolve = iterator[kLastResolve];\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\nmodule.exports = createReadableStreamAsyncIterator;","module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nmodule.exports = Readable;\n\n/**/\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n\n/**/\nvar EE = require('events').EventEmitter;\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\nvar Buffer = require('buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\nvar debugUtil = require('util');\nvar debug;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\nvar BufferList = require('./internal/streams/buffer_list');\nvar destroyImpl = require('./internal/streams/destroy');\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;\n\n// Lazy loaded to improve the startup performance.\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\nrequire('inherits')(Readable, Stream);\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'end' (and potentially 'finish')\n this.autoDestroy = !!options.autoDestroy;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options);\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex);\n\n // legacy\n this.readable = true;\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n Stream.call(this);\n}\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n }\n\n // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n return er;\n}\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder;\n // If setEncoding(null), decoder.encoding equals utf8\n this._readableState.encoding = this._readableState.decoder.encoding;\n\n // Iterate over current buffer to convert already stored Buffers:\n var p = this._readableState.buffer.head;\n var content = '';\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n this._readableState.buffer.clear();\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n};\n\n// Don't raise the hwm > 1GB\nvar MAX_HWM = 0x40000000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n }\n\n // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n return dest;\n};\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n for (var i = 0; i < len; i++) dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0;\n\n // Try start flowing on next tick if stream isn't explicitly paused\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true;\n\n // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n state.paused = false;\n return this;\n};\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n if (!state.reading) {\n stream.read(0);\n }\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n this._readableState.paused = true;\n return this;\n};\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null);\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n return this;\n};\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n return createReadableStreamAsyncIterator(this);\n };\n}\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n});\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length);\n\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n return from(Readable, iterable, opts);\n };\n}\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\nvar Duplex = require('./_stream_duplex');\nrequire('inherits')(Transform, Duplex);\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null)\n // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\nfunction prefinish() {\n var _this = this;\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null)\n // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n'use strict';\n\nmodule.exports = PassThrough;\nvar Transform = require('./_stream_transform');\nrequire('inherits')(PassThrough, Transform);\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nvar eos;\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\nvar _require$codes = require('../../../errors').codes,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = require('./end-of-stream');\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true;\n\n // request.destroy just do .end - .abort is what we want\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\nfunction call(fn) {\n fn();\n}\nfunction pipe(from, to) {\n return from.pipe(to);\n}\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\nmodule.exports = pipeline;","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\nexports.finished = require('./lib/internal/streams/end-of-stream.js');\nexports.pipeline = require('./lib/internal/streams/pipeline.js');\n","const { Transform } = require('readable-stream')\n\nmodule.exports = (KeccakState) => class Keccak extends Transform {\n constructor (rate, capacity, delimitedSuffix, hashBitLength, options) {\n super(options)\n\n this._rate = rate\n this._capacity = capacity\n this._delimitedSuffix = delimitedSuffix\n this._hashBitLength = hashBitLength\n this._options = options\n\n this._state = new KeccakState()\n this._state.initialize(rate, capacity)\n this._finalized = false\n }\n\n _transform (chunk, encoding, callback) {\n let error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n }\n\n _flush (callback) {\n let error = null\n try {\n this.push(this.digest())\n } catch (err) {\n error = err\n }\n\n callback(error)\n }\n\n update (data, encoding) {\n if (!Buffer.isBuffer(data) && typeof data !== 'string') throw new TypeError('Data must be a string or a buffer')\n if (this._finalized) throw new Error('Digest already called')\n if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)\n\n this._state.absorb(data)\n\n return this\n }\n\n digest (encoding) {\n if (this._finalized) throw new Error('Digest already called')\n this._finalized = true\n\n if (this._delimitedSuffix) this._state.absorbLastFewBits(this._delimitedSuffix)\n let digest = this._state.squeeze(this._hashBitLength / 8)\n if (encoding !== undefined) digest = digest.toString(encoding)\n\n this._resetState()\n\n return digest\n }\n\n // remove result from memory\n _resetState () {\n this._state.initialize(this._rate, this._capacity)\n return this\n }\n\n // because sometimes we need hash right now and little later\n _clone () {\n const clone = new Keccak(this._rate, this._capacity, this._delimitedSuffix, this._hashBitLength, this._options)\n this._state.copy(clone._state)\n clone._finalized = this._finalized\n\n return clone\n }\n}\n","const { Transform } = require('readable-stream')\n\nmodule.exports = (KeccakState) => class Shake extends Transform {\n constructor (rate, capacity, delimitedSuffix, options) {\n super(options)\n\n this._rate = rate\n this._capacity = capacity\n this._delimitedSuffix = delimitedSuffix\n this._options = options\n\n this._state = new KeccakState()\n this._state.initialize(rate, capacity)\n this._finalized = false\n }\n\n _transform (chunk, encoding, callback) {\n let error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n }\n\n _flush () {}\n\n _read (size) {\n this.push(this.squeeze(size))\n }\n\n update (data, encoding) {\n if (!Buffer.isBuffer(data) && typeof data !== 'string') throw new TypeError('Data must be a string or a buffer')\n if (this._finalized) throw new Error('Squeeze already called')\n if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)\n\n this._state.absorb(data)\n\n return this\n }\n\n squeeze (dataByteLength, encoding) {\n if (!this._finalized) {\n this._finalized = true\n this._state.absorbLastFewBits(this._delimitedSuffix)\n }\n\n let data = this._state.squeeze(dataByteLength)\n if (encoding !== undefined) data = data.toString(encoding)\n\n return data\n }\n\n _resetState () {\n this._state.initialize(this._rate, this._capacity)\n return this\n }\n\n _clone () {\n const clone = new Shake(this._rate, this._capacity, this._delimitedSuffix, this._options)\n this._state.copy(clone._state)\n clone._finalized = this._finalized\n\n return clone\n }\n}\n","const createKeccak = require('./keccak')\nconst createShake = require('./shake')\n\nmodule.exports = function (KeccakState) {\n const Keccak = createKeccak(KeccakState)\n const Shake = createShake(KeccakState)\n\n return function (algorithm, options) {\n const hash = typeof algorithm === 'string' ? algorithm.toLowerCase() : algorithm\n switch (hash) {\n case 'keccak224': return new Keccak(1152, 448, null, 224, options)\n case 'keccak256': return new Keccak(1088, 512, null, 256, options)\n case 'keccak384': return new Keccak(832, 768, null, 384, options)\n case 'keccak512': return new Keccak(576, 1024, null, 512, options)\n\n case 'sha3-224': return new Keccak(1152, 448, 0x06, 224, options)\n case 'sha3-256': return new Keccak(1088, 512, 0x06, 256, options)\n case 'sha3-384': return new Keccak(832, 768, 0x06, 384, options)\n case 'sha3-512': return new Keccak(576, 1024, 0x06, 512, options)\n\n case 'shake128': return new Shake(1344, 256, 0x1f, options)\n case 'shake256': return new Shake(1088, 512, 0x1f, options)\n\n default: throw new Error('Invald algorithm: ' + algorithm)\n }\n }\n}\n","const P1600_ROUND_CONSTANTS = [1, 0, 32898, 0, 32906, 2147483648, 2147516416, 2147483648, 32907, 0, 2147483649, 0, 2147516545, 2147483648, 32777, 2147483648, 138, 0, 136, 0, 2147516425, 0, 2147483658, 0, 2147516555, 0, 139, 2147483648, 32905, 2147483648, 32771, 2147483648, 32770, 2147483648, 128, 2147483648, 32778, 0, 2147483658, 2147483648, 2147516545, 2147483648, 32896, 2147483648, 2147483649, 0, 2147516424, 2147483648]\n\nexports.p1600 = function (s) {\n for (let round = 0; round < 24; ++round) {\n // theta\n const lo0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40]\n const hi0 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41]\n const lo1 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42]\n const hi1 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43]\n const lo2 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44]\n const hi2 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45]\n const lo3 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46]\n const hi3 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47]\n const lo4 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48]\n const hi4 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49]\n\n let lo = lo4 ^ (lo1 << 1 | hi1 >>> 31)\n let hi = hi4 ^ (hi1 << 1 | lo1 >>> 31)\n const t1slo0 = s[0] ^ lo\n const t1shi0 = s[1] ^ hi\n const t1slo5 = s[10] ^ lo\n const t1shi5 = s[11] ^ hi\n const t1slo10 = s[20] ^ lo\n const t1shi10 = s[21] ^ hi\n const t1slo15 = s[30] ^ lo\n const t1shi15 = s[31] ^ hi\n const t1slo20 = s[40] ^ lo\n const t1shi20 = s[41] ^ hi\n lo = lo0 ^ (lo2 << 1 | hi2 >>> 31)\n hi = hi0 ^ (hi2 << 1 | lo2 >>> 31)\n const t1slo1 = s[2] ^ lo\n const t1shi1 = s[3] ^ hi\n const t1slo6 = s[12] ^ lo\n const t1shi6 = s[13] ^ hi\n const t1slo11 = s[22] ^ lo\n const t1shi11 = s[23] ^ hi\n const t1slo16 = s[32] ^ lo\n const t1shi16 = s[33] ^ hi\n const t1slo21 = s[42] ^ lo\n const t1shi21 = s[43] ^ hi\n lo = lo1 ^ (lo3 << 1 | hi3 >>> 31)\n hi = hi1 ^ (hi3 << 1 | lo3 >>> 31)\n const t1slo2 = s[4] ^ lo\n const t1shi2 = s[5] ^ hi\n const t1slo7 = s[14] ^ lo\n const t1shi7 = s[15] ^ hi\n const t1slo12 = s[24] ^ lo\n const t1shi12 = s[25] ^ hi\n const t1slo17 = s[34] ^ lo\n const t1shi17 = s[35] ^ hi\n const t1slo22 = s[44] ^ lo\n const t1shi22 = s[45] ^ hi\n lo = lo2 ^ (lo4 << 1 | hi4 >>> 31)\n hi = hi2 ^ (hi4 << 1 | lo4 >>> 31)\n const t1slo3 = s[6] ^ lo\n const t1shi3 = s[7] ^ hi\n const t1slo8 = s[16] ^ lo\n const t1shi8 = s[17] ^ hi\n const t1slo13 = s[26] ^ lo\n const t1shi13 = s[27] ^ hi\n const t1slo18 = s[36] ^ lo\n const t1shi18 = s[37] ^ hi\n const t1slo23 = s[46] ^ lo\n const t1shi23 = s[47] ^ hi\n lo = lo3 ^ (lo0 << 1 | hi0 >>> 31)\n hi = hi3 ^ (hi0 << 1 | lo0 >>> 31)\n const t1slo4 = s[8] ^ lo\n const t1shi4 = s[9] ^ hi\n const t1slo9 = s[18] ^ lo\n const t1shi9 = s[19] ^ hi\n const t1slo14 = s[28] ^ lo\n const t1shi14 = s[29] ^ hi\n const t1slo19 = s[38] ^ lo\n const t1shi19 = s[39] ^ hi\n const t1slo24 = s[48] ^ lo\n const t1shi24 = s[49] ^ hi\n\n // rho & pi\n const t2slo0 = t1slo0\n const t2shi0 = t1shi0\n const t2slo16 = (t1shi5 << 4 | t1slo5 >>> 28)\n const t2shi16 = (t1slo5 << 4 | t1shi5 >>> 28)\n const t2slo7 = (t1slo10 << 3 | t1shi10 >>> 29)\n const t2shi7 = (t1shi10 << 3 | t1slo10 >>> 29)\n const t2slo23 = (t1shi15 << 9 | t1slo15 >>> 23)\n const t2shi23 = (t1slo15 << 9 | t1shi15 >>> 23)\n const t2slo14 = (t1slo20 << 18 | t1shi20 >>> 14)\n const t2shi14 = (t1shi20 << 18 | t1slo20 >>> 14)\n const t2slo10 = (t1slo1 << 1 | t1shi1 >>> 31)\n const t2shi10 = (t1shi1 << 1 | t1slo1 >>> 31)\n const t2slo1 = (t1shi6 << 12 | t1slo6 >>> 20)\n const t2shi1 = (t1slo6 << 12 | t1shi6 >>> 20)\n const t2slo17 = (t1slo11 << 10 | t1shi11 >>> 22)\n const t2shi17 = (t1shi11 << 10 | t1slo11 >>> 22)\n const t2slo8 = (t1shi16 << 13 | t1slo16 >>> 19)\n const t2shi8 = (t1slo16 << 13 | t1shi16 >>> 19)\n const t2slo24 = (t1slo21 << 2 | t1shi21 >>> 30)\n const t2shi24 = (t1shi21 << 2 | t1slo21 >>> 30)\n const t2slo20 = (t1shi2 << 30 | t1slo2 >>> 2)\n const t2shi20 = (t1slo2 << 30 | t1shi2 >>> 2)\n const t2slo11 = (t1slo7 << 6 | t1shi7 >>> 26)\n const t2shi11 = (t1shi7 << 6 | t1slo7 >>> 26)\n const t2slo2 = (t1shi12 << 11 | t1slo12 >>> 21)\n const t2shi2 = (t1slo12 << 11 | t1shi12 >>> 21)\n const t2slo18 = (t1slo17 << 15 | t1shi17 >>> 17)\n const t2shi18 = (t1shi17 << 15 | t1slo17 >>> 17)\n const t2slo9 = (t1shi22 << 29 | t1slo22 >>> 3)\n const t2shi9 = (t1slo22 << 29 | t1shi22 >>> 3)\n const t2slo5 = (t1slo3 << 28 | t1shi3 >>> 4)\n const t2shi5 = (t1shi3 << 28 | t1slo3 >>> 4)\n const t2slo21 = (t1shi8 << 23 | t1slo8 >>> 9)\n const t2shi21 = (t1slo8 << 23 | t1shi8 >>> 9)\n const t2slo12 = (t1slo13 << 25 | t1shi13 >>> 7)\n const t2shi12 = (t1shi13 << 25 | t1slo13 >>> 7)\n const t2slo3 = (t1slo18 << 21 | t1shi18 >>> 11)\n const t2shi3 = (t1shi18 << 21 | t1slo18 >>> 11)\n const t2slo19 = (t1shi23 << 24 | t1slo23 >>> 8)\n const t2shi19 = (t1slo23 << 24 | t1shi23 >>> 8)\n const t2slo15 = (t1slo4 << 27 | t1shi4 >>> 5)\n const t2shi15 = (t1shi4 << 27 | t1slo4 >>> 5)\n const t2slo6 = (t1slo9 << 20 | t1shi9 >>> 12)\n const t2shi6 = (t1shi9 << 20 | t1slo9 >>> 12)\n const t2slo22 = (t1shi14 << 7 | t1slo14 >>> 25)\n const t2shi22 = (t1slo14 << 7 | t1shi14 >>> 25)\n const t2slo13 = (t1slo19 << 8 | t1shi19 >>> 24)\n const t2shi13 = (t1shi19 << 8 | t1slo19 >>> 24)\n const t2slo4 = (t1slo24 << 14 | t1shi24 >>> 18)\n const t2shi4 = (t1shi24 << 14 | t1slo24 >>> 18)\n\n // chi\n s[0] = t2slo0 ^ (~t2slo1 & t2slo2)\n s[1] = t2shi0 ^ (~t2shi1 & t2shi2)\n s[10] = t2slo5 ^ (~t2slo6 & t2slo7)\n s[11] = t2shi5 ^ (~t2shi6 & t2shi7)\n s[20] = t2slo10 ^ (~t2slo11 & t2slo12)\n s[21] = t2shi10 ^ (~t2shi11 & t2shi12)\n s[30] = t2slo15 ^ (~t2slo16 & t2slo17)\n s[31] = t2shi15 ^ (~t2shi16 & t2shi17)\n s[40] = t2slo20 ^ (~t2slo21 & t2slo22)\n s[41] = t2shi20 ^ (~t2shi21 & t2shi22)\n s[2] = t2slo1 ^ (~t2slo2 & t2slo3)\n s[3] = t2shi1 ^ (~t2shi2 & t2shi3)\n s[12] = t2slo6 ^ (~t2slo7 & t2slo8)\n s[13] = t2shi6 ^ (~t2shi7 & t2shi8)\n s[22] = t2slo11 ^ (~t2slo12 & t2slo13)\n s[23] = t2shi11 ^ (~t2shi12 & t2shi13)\n s[32] = t2slo16 ^ (~t2slo17 & t2slo18)\n s[33] = t2shi16 ^ (~t2shi17 & t2shi18)\n s[42] = t2slo21 ^ (~t2slo22 & t2slo23)\n s[43] = t2shi21 ^ (~t2shi22 & t2shi23)\n s[4] = t2slo2 ^ (~t2slo3 & t2slo4)\n s[5] = t2shi2 ^ (~t2shi3 & t2shi4)\n s[14] = t2slo7 ^ (~t2slo8 & t2slo9)\n s[15] = t2shi7 ^ (~t2shi8 & t2shi9)\n s[24] = t2slo12 ^ (~t2slo13 & t2slo14)\n s[25] = t2shi12 ^ (~t2shi13 & t2shi14)\n s[34] = t2slo17 ^ (~t2slo18 & t2slo19)\n s[35] = t2shi17 ^ (~t2shi18 & t2shi19)\n s[44] = t2slo22 ^ (~t2slo23 & t2slo24)\n s[45] = t2shi22 ^ (~t2shi23 & t2shi24)\n s[6] = t2slo3 ^ (~t2slo4 & t2slo0)\n s[7] = t2shi3 ^ (~t2shi4 & t2shi0)\n s[16] = t2slo8 ^ (~t2slo9 & t2slo5)\n s[17] = t2shi8 ^ (~t2shi9 & t2shi5)\n s[26] = t2slo13 ^ (~t2slo14 & t2slo10)\n s[27] = t2shi13 ^ (~t2shi14 & t2shi10)\n s[36] = t2slo18 ^ (~t2slo19 & t2slo15)\n s[37] = t2shi18 ^ (~t2shi19 & t2shi15)\n s[46] = t2slo23 ^ (~t2slo24 & t2slo20)\n s[47] = t2shi23 ^ (~t2shi24 & t2shi20)\n s[8] = t2slo4 ^ (~t2slo0 & t2slo1)\n s[9] = t2shi4 ^ (~t2shi0 & t2shi1)\n s[18] = t2slo9 ^ (~t2slo5 & t2slo6)\n s[19] = t2shi9 ^ (~t2shi5 & t2shi6)\n s[28] = t2slo14 ^ (~t2slo10 & t2slo11)\n s[29] = t2shi14 ^ (~t2shi10 & t2shi11)\n s[38] = t2slo19 ^ (~t2slo15 & t2slo16)\n s[39] = t2shi19 ^ (~t2shi15 & t2shi16)\n s[48] = t2slo24 ^ (~t2slo20 & t2slo21)\n s[49] = t2shi24 ^ (~t2shi20 & t2shi21)\n\n // iota\n s[0] ^= P1600_ROUND_CONSTANTS[round * 2]\n s[1] ^= P1600_ROUND_CONSTANTS[round * 2 + 1]\n }\n}\n","const keccakState = require('./keccak-state-unroll')\n\nfunction Keccak () {\n // much faster than `new Array(50)`\n this.state = [\n 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0\n ]\n\n this.blockSize = null\n this.count = 0\n this.squeezing = false\n}\n\nKeccak.prototype.initialize = function (rate, capacity) {\n for (let i = 0; i < 50; ++i) this.state[i] = 0\n this.blockSize = rate / 8\n this.count = 0\n this.squeezing = false\n}\n\nKeccak.prototype.absorb = function (data) {\n for (let i = 0; i < data.length; ++i) {\n this.state[~~(this.count / 4)] ^= data[i] << (8 * (this.count % 4))\n this.count += 1\n if (this.count === this.blockSize) {\n keccakState.p1600(this.state)\n this.count = 0\n }\n }\n}\n\nKeccak.prototype.absorbLastFewBits = function (bits) {\n this.state[~~(this.count / 4)] ^= bits << (8 * (this.count % 4))\n if ((bits & 0x80) !== 0 && this.count === (this.blockSize - 1)) keccakState.p1600(this.state)\n this.state[~~((this.blockSize - 1) / 4)] ^= 0x80 << (8 * ((this.blockSize - 1) % 4))\n keccakState.p1600(this.state)\n this.count = 0\n this.squeezing = true\n}\n\nKeccak.prototype.squeeze = function (length) {\n if (!this.squeezing) this.absorbLastFewBits(0x01)\n\n const output = Buffer.alloc(length)\n for (let i = 0; i < length; ++i) {\n output[i] = (this.state[~~(this.count / 4)] >>> (8 * (this.count % 4))) & 0xff\n this.count += 1\n if (this.count === this.blockSize) {\n keccakState.p1600(this.state)\n this.count = 0\n }\n }\n\n return output\n}\n\nKeccak.prototype.copy = function (dest) {\n for (let i = 0; i < 50; ++i) dest.state[i] = this.state[i]\n dest.blockSize = this.blockSize\n dest.count = this.count\n dest.squeezing = this.squeezing\n}\n\nmodule.exports = Keccak\n","module.exports = require('./lib/api')(require('./lib/keccak'))\n","// Extracted from https://github.com/ethereumjs/ethereumjs-util and stripped out irrelevant code\n// Original code licensed under the Mozilla Public License Version 2.0\n\nconst createKeccakHash = require('keccak/js')\nconst BN = require('bn.js')\n\n/**\n * Returns a buffer filled with 0s\n * @method zeros\n * @param {Number} bytes the number of bytes the buffer should be\n * @return {Buffer}\n */\nfunction zeros (bytes) {\n return Buffer.allocUnsafe(bytes).fill(0)\n}\n\n/**\n * Left Pads an `Array` or `Buffer` with leading zeros till it has `length` bytes.\n * Or it truncates the beginning if it exceeds.\n * @method setLength\n * @param {Buffer|Array} msg the value to pad\n * @param {Number} length the number of bytes the output should be\n * @param {Boolean} [right=false] whether to start padding form the left or right\n * @return {Buffer|Array}\n */\nfunction setLength (msg, length, right) {\n const buf = zeros(length)\n msg = toBuffer(msg)\n if (right) {\n if (msg.length < length) {\n msg.copy(buf)\n return buf\n }\n return msg.slice(0, length)\n } else {\n if (msg.length < length) {\n msg.copy(buf, length - msg.length)\n return buf\n }\n return msg.slice(-length)\n }\n}\n\n/**\n * Right Pads an `Array` or `Buffer` with leading zeros till it has `length` bytes.\n * Or it truncates the beginning if it exceeds.\n * @param {Buffer|Array} msg the value to pad\n * @param {Number} length the number of bytes the output should be\n * @return {Buffer|Array}\n */\nfunction setLengthRight (msg, length) {\n return setLength(msg, length, true)\n}\n\n/**\n * Attempts to turn a value into a `Buffer`. As input it supports `Buffer`, `String`, `Number`, null/undefined, `BN` and other objects with a `toArray()` method.\n * @param {*} v the value\n */\nfunction toBuffer (v) {\n if (!Buffer.isBuffer(v)) {\n if (Array.isArray(v)) {\n v = Buffer.from(v)\n } else if (typeof v === 'string') {\n if (isHexString(v)) {\n v = Buffer.from(padToEven(stripHexPrefix(v)), 'hex')\n } else {\n v = Buffer.from(v)\n }\n } else if (typeof v === 'number') {\n v = intToBuffer(v)\n } else if (v === null || v === undefined) {\n v = Buffer.allocUnsafe(0)\n } else if (BN.isBN(v)) {\n v = v.toArrayLike(Buffer)\n } else if (v.toArray) {\n // converts a BN to a Buffer\n v = Buffer.from(v.toArray())\n } else {\n throw new Error('invalid type')\n }\n }\n return v\n}\n\n/**\n * Converts a `Buffer` into a hex `String`\n * @param {Buffer} buf\n * @return {String}\n */\nfunction bufferToHex (buf) {\n buf = toBuffer(buf)\n return '0x' + buf.toString('hex')\n}\n\n/**\n * Creates Keccak hash of the input\n * @param {Buffer|Array|String|Number} a the input data\n * @param {Number} [bits=256] the Keccak width\n * @return {Buffer}\n */\nfunction keccak (a, bits) {\n a = toBuffer(a)\n if (!bits) bits = 256\n\n return createKeccakHash('keccak' + bits).update(a).digest()\n}\n\nfunction padToEven (str) {\n return str.length % 2 ? '0' + str : str\n}\n\nfunction isHexString (str) {\n return typeof str === 'string' && str.match(/^0x[0-9A-Fa-f]*$/)\n}\n\nfunction stripHexPrefix (str) {\n if (typeof str === 'string' && str.startsWith('0x')) {\n return str.slice(2)\n }\n return str\n}\n\nmodule.exports = {\n zeros,\n setLength,\n setLengthRight,\n isHexString,\n stripHexPrefix,\n toBuffer,\n bufferToHex,\n keccak\n}\n","// Extracted from https://github.com/ethereumjs/ethereumjs-abi and stripped out irrelevant code\n// Original code licensed under the MIT License - Copyright (c) 2015 Alex Beregszaszi\n\nconst util = require('./util')\nconst BN = require('bn.js')\n\n// Convert from short to canonical names\n// FIXME: optimise or make this nicer?\nfunction elementaryName (name) {\n if (name.startsWith('int[')) {\n return 'int256' + name.slice(3)\n } else if (name === 'int') {\n return 'int256'\n } else if (name.startsWith('uint[')) {\n return 'uint256' + name.slice(4)\n } else if (name === 'uint') {\n return 'uint256'\n } else if (name.startsWith('fixed[')) {\n return 'fixed128x128' + name.slice(5)\n } else if (name === 'fixed') {\n return 'fixed128x128'\n } else if (name.startsWith('ufixed[')) {\n return 'ufixed128x128' + name.slice(6)\n } else if (name === 'ufixed') {\n return 'ufixed128x128'\n }\n return name\n}\n\n// Parse N from type\nfunction parseTypeN (type) {\n return parseInt(/^\\D+(\\d+)$/.exec(type)[1], 10)\n}\n\n// Parse N,M from typex\nfunction parseTypeNxM (type) {\n var tmp = /^\\D+(\\d+)x(\\d+)$/.exec(type)\n return [ parseInt(tmp[1], 10), parseInt(tmp[2], 10) ]\n}\n\n// Parse N in type[] where \"type\" can itself be an array type.\nfunction parseTypeArray (type) {\n var tmp = type.match(/(.*)\\[(.*?)\\]$/)\n if (tmp) {\n return tmp[2] === '' ? 'dynamic' : parseInt(tmp[2], 10)\n }\n return null\n}\n\nfunction parseNumber (arg) {\n var type = typeof arg\n if (type === 'string') {\n if (util.isHexString(arg)) {\n return new BN(util.stripHexPrefix(arg), 16)\n } else {\n return new BN(arg, 10)\n }\n } else if (type === 'number') {\n return new BN(arg)\n } else if (arg.toArray) {\n // assume this is a BN for the moment, replace with BN.isBN soon\n return arg\n } else {\n throw new Error('Argument is not a number')\n }\n}\n\n// Encodes a single item (can be dynamic array)\n// @returns: Buffer\nfunction encodeSingle (type, arg) {\n var size, num, ret, i\n\n if (type === 'address') {\n return encodeSingle('uint160', parseNumber(arg))\n } else if (type === 'bool') {\n return encodeSingle('uint8', arg ? 1 : 0)\n } else if (type === 'string') {\n return encodeSingle('bytes', new Buffer(arg, 'utf8'))\n } else if (isArray(type)) {\n // this part handles fixed-length ([2]) and variable length ([]) arrays\n // NOTE: we catch here all calls to arrays, that simplifies the rest\n if (typeof arg.length === 'undefined') {\n throw new Error('Not an array?')\n }\n size = parseTypeArray(type)\n if (size !== 'dynamic' && size !== 0 && arg.length > size) {\n throw new Error('Elements exceed array size: ' + size)\n }\n ret = []\n type = type.slice(0, type.lastIndexOf('['))\n if (typeof arg === 'string') {\n arg = JSON.parse(arg)\n }\n for (i in arg) {\n ret.push(encodeSingle(type, arg[i]))\n }\n if (size === 'dynamic') {\n var length = encodeSingle('uint256', arg.length)\n ret.unshift(length)\n }\n return Buffer.concat(ret)\n } else if (type === 'bytes') {\n arg = new Buffer(arg)\n\n ret = Buffer.concat([ encodeSingle('uint256', arg.length), arg ])\n\n if ((arg.length % 32) !== 0) {\n ret = Buffer.concat([ ret, util.zeros(32 - (arg.length % 32)) ])\n }\n\n return ret\n } else if (type.startsWith('bytes')) {\n size = parseTypeN(type)\n if (size < 1 || size > 32) {\n throw new Error('Invalid bytes width: ' + size)\n }\n\n return util.setLengthRight(arg, 32)\n } else if (type.startsWith('uint')) {\n size = parseTypeN(type)\n if ((size % 8) || (size < 8) || (size > 256)) {\n throw new Error('Invalid uint width: ' + size)\n }\n\n num = parseNumber(arg)\n if (num.bitLength() > size) {\n throw new Error('Supplied uint exceeds width: ' + size + ' vs ' + num.bitLength())\n }\n\n if (num < 0) {\n throw new Error('Supplied uint is negative')\n }\n\n return num.toArrayLike(Buffer, 'be', 32)\n } else if (type.startsWith('int')) {\n size = parseTypeN(type)\n if ((size % 8) || (size < 8) || (size > 256)) {\n throw new Error('Invalid int width: ' + size)\n }\n\n num = parseNumber(arg)\n if (num.bitLength() > size) {\n throw new Error('Supplied int exceeds width: ' + size + ' vs ' + num.bitLength())\n }\n\n return num.toTwos(256).toArrayLike(Buffer, 'be', 32)\n } else if (type.startsWith('ufixed')) {\n size = parseTypeNxM(type)\n\n num = parseNumber(arg)\n\n if (num < 0) {\n throw new Error('Supplied ufixed is negative')\n }\n\n return encodeSingle('uint256', num.mul(new BN(2).pow(new BN(size[1]))))\n } else if (type.startsWith('fixed')) {\n size = parseTypeNxM(type)\n\n return encodeSingle('int256', parseNumber(arg).mul(new BN(2).pow(new BN(size[1]))))\n }\n\n throw new Error('Unsupported or invalid type: ' + type)\n}\n\n// Is a type dynamic?\nfunction isDynamic (type) {\n // FIXME: handle all types? I don't think anything is missing now\n return (type === 'string') || (type === 'bytes') || (parseTypeArray(type) === 'dynamic')\n}\n\n// Is a type an array?\nfunction isArray (type) {\n return type.lastIndexOf(']') === type.length - 1\n}\n\n// Encode a method/event with arguments\n// @types an array of string type names\n// @args an array of the appropriate values\nfunction rawEncode (types, values) {\n var output = []\n var data = []\n\n var headLength = 32 * types.length\n\n for (var i in types) {\n var type = elementaryName(types[i])\n var value = values[i]\n var cur = encodeSingle(type, value)\n\n // Use the head/tail method for storing dynamic data\n if (isDynamic(type)) {\n output.push(encodeSingle('uint256', headLength))\n data.push(cur)\n headLength += cur.length\n } else {\n output.push(cur)\n }\n }\n\n return Buffer.concat(output.concat(data))\n}\n\nfunction solidityPack (types, values) {\n if (types.length !== values.length) {\n throw new Error('Number of types are not matching the values')\n }\n\n var size, num\n var ret = []\n\n for (var i = 0; i < types.length; i++) {\n var type = elementaryName(types[i])\n var value = values[i]\n\n if (type === 'bytes') {\n ret.push(value)\n } else if (type === 'string') {\n ret.push(new Buffer(value, 'utf8'))\n } else if (type === 'bool') {\n ret.push(new Buffer(value ? '01' : '00', 'hex'))\n } else if (type === 'address') {\n ret.push(util.setLength(value, 20))\n } else if (type.startsWith('bytes')) {\n size = parseTypeN(type)\n if (size < 1 || size > 32) {\n throw new Error('Invalid bytes width: ' + size)\n }\n\n ret.push(util.setLengthRight(value, size))\n } else if (type.startsWith('uint')) {\n size = parseTypeN(type)\n if ((size % 8) || (size < 8) || (size > 256)) {\n throw new Error('Invalid uint width: ' + size)\n }\n\n num = parseNumber(value)\n if (num.bitLength() > size) {\n throw new Error('Supplied uint exceeds width: ' + size + ' vs ' + num.bitLength())\n }\n\n ret.push(num.toArrayLike(Buffer, 'be', size / 8))\n } else if (type.startsWith('int')) {\n size = parseTypeN(type)\n if ((size % 8) || (size < 8) || (size > 256)) {\n throw new Error('Invalid int width: ' + size)\n }\n\n num = parseNumber(value)\n if (num.bitLength() > size) {\n throw new Error('Supplied int exceeds width: ' + size + ' vs ' + num.bitLength())\n }\n\n ret.push(num.toTwos(size).toArrayLike(Buffer, 'be', size / 8))\n } else {\n // FIXME: support all other types\n throw new Error('Unsupported or invalid type: ' + type)\n }\n }\n\n return Buffer.concat(ret)\n}\n\nfunction soliditySHA3 (types, values) {\n return util.keccak(solidityPack(types, values))\n}\n\nmodule.exports = {\n rawEncode,\n solidityPack,\n soliditySHA3\n}\n","const util = require('./util')\nconst abi = require('./abi')\n\nconst TYPED_MESSAGE_SCHEMA = {\n type: 'object',\n properties: {\n types: {\n type: 'object',\n additionalProperties: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n name: {type: 'string'},\n type: {type: 'string'},\n },\n required: ['name', 'type'],\n },\n },\n },\n primaryType: {type: 'string'},\n domain: {type: 'object'},\n message: {type: 'object'},\n },\n required: ['types', 'primaryType', 'domain', 'message'],\n}\n\n/**\n * A collection of utility functions used for signing typed data\n */\nconst TypedDataUtils = {\n /**\n * Encodes an object by encoding and concatenating each of its members\n *\n * @param {string} primaryType - Root type\n * @param {Object} data - Object to encode\n * @param {Object} types - Type definitions\n * @returns {string} - Encoded representation of an object\n */\n encodeData (primaryType, data, types, useV4 = true) {\n const encodedTypes = ['bytes32']\n const encodedValues = [this.hashType(primaryType, types)]\n\n if(useV4) {\n const encodeField = (name, type, value) => {\n if (types[type] !== undefined) {\n return ['bytes32', value == null ?\n '0x0000000000000000000000000000000000000000000000000000000000000000' :\n util.keccak(this.encodeData(type, value, types, useV4))]\n }\n\n if(value === undefined)\n throw new Error(`missing value for field ${name} of type ${type}`)\n\n if (type === 'bytes') {\n return ['bytes32', util.keccak(value)]\n }\n\n if (type === 'string') {\n // convert string to buffer - prevents ethUtil from interpreting strings like '0xabcd' as hex\n if (typeof value === 'string') {\n value = Buffer.from(value, 'utf8')\n }\n return ['bytes32', util.keccak(value)]\n }\n\n if (type.lastIndexOf(']') === type.length - 1) {\n const parsedType = type.slice(0, type.lastIndexOf('['))\n const typeValuePairs = value.map(item =>\n encodeField(name, parsedType, item))\n return ['bytes32', util.keccak(abi.rawEncode(\n typeValuePairs.map(([type]) => type),\n typeValuePairs.map(([, value]) => value),\n ))]\n }\n\n return [type, value]\n }\n\n for (const field of types[primaryType]) {\n const [type, value] = encodeField(field.name, field.type, data[field.name])\n encodedTypes.push(type)\n encodedValues.push(value)\n }\n } else {\n for (const field of types[primaryType]) {\n let value = data[field.name]\n if (value !== undefined) {\n if (field.type === 'bytes') {\n encodedTypes.push('bytes32')\n value = util.keccak(value)\n encodedValues.push(value)\n } else if (field.type === 'string') {\n encodedTypes.push('bytes32')\n // convert string to buffer - prevents ethUtil from interpreting strings like '0xabcd' as hex\n if (typeof value === 'string') {\n value = Buffer.from(value, 'utf8')\n }\n value = util.keccak(value)\n encodedValues.push(value)\n } else if (types[field.type] !== undefined) {\n encodedTypes.push('bytes32')\n value = util.keccak(this.encodeData(field.type, value, types, useV4))\n encodedValues.push(value)\n } else if (field.type.lastIndexOf(']') === field.type.length - 1) {\n throw new Error('Arrays currently unimplemented in encodeData')\n } else {\n encodedTypes.push(field.type)\n encodedValues.push(value)\n }\n }\n }\n }\n\n return abi.rawEncode(encodedTypes, encodedValues)\n },\n\n /**\n * Encodes the type of an object by encoding a comma delimited list of its members\n *\n * @param {string} primaryType - Root type to encode\n * @param {Object} types - Type definitions\n * @returns {string} - Encoded representation of the type of an object\n */\n encodeType (primaryType, types) {\n let result = ''\n let deps = this.findTypeDependencies(primaryType, types).filter(dep => dep !== primaryType)\n deps = [primaryType].concat(deps.sort())\n for (const type of deps) {\n const children = types[type]\n if (!children) {\n throw new Error('No type definition specified: ' + type)\n }\n result += type + '(' + types[type].map(({ name, type }) => type + ' ' + name).join(',') + ')'\n }\n return result\n },\n\n /**\n * Finds all types within a type defintion object\n *\n * @param {string} primaryType - Root type\n * @param {Object} types - Type definitions\n * @param {Array} results - current set of accumulated types\n * @returns {Array} - Set of all types found in the type definition\n */\n findTypeDependencies (primaryType, types, results = []) {\n primaryType = primaryType.match(/^\\w*/)[0]\n if (results.includes(primaryType) || types[primaryType] === undefined) { return results }\n results.push(primaryType)\n for (const field of types[primaryType]) {\n for (const dep of this.findTypeDependencies(field.type, types, results)) {\n !results.includes(dep) && results.push(dep)\n }\n }\n return results\n },\n\n /**\n * Hashes an object\n *\n * @param {string} primaryType - Root type\n * @param {Object} data - Object to hash\n * @param {Object} types - Type definitions\n * @returns {Buffer} - Hash of an object\n */\n hashStruct (primaryType, data, types, useV4 = true) {\n return util.keccak(this.encodeData(primaryType, data, types, useV4))\n },\n\n /**\n * Hashes the type of an object\n *\n * @param {string} primaryType - Root type to hash\n * @param {Object} types - Type definitions\n * @returns {string} - Hash of an object\n */\n hashType (primaryType, types) {\n return util.keccak(this.encodeType(primaryType, types))\n },\n\n /**\n * Removes properties from a message object that are not defined per EIP-712\n *\n * @param {Object} data - typed message object\n * @returns {Object} - typed message object with only allowed fields\n */\n sanitizeData (data) {\n const sanitizedData = {}\n for (const key in TYPED_MESSAGE_SCHEMA.properties) {\n data[key] && (sanitizedData[key] = data[key])\n }\n if (sanitizedData.types) {\n sanitizedData.types = Object.assign({ EIP712Domain: [] }, sanitizedData.types)\n }\n return sanitizedData\n },\n\n /**\n * Returns the hash of a typed message as per EIP-712 for signing\n *\n * @param {Object} typedData - Types message data to sign\n * @returns {string} - sha3 hash for signing\n */\n hash (typedData, useV4 = true) {\n const sanitizedData = this.sanitizeData(typedData)\n const parts = [Buffer.from('1901', 'hex')]\n parts.push(this.hashStruct('EIP712Domain', sanitizedData.domain, sanitizedData.types, useV4))\n if (sanitizedData.primaryType !== 'EIP712Domain') {\n parts.push(this.hashStruct(sanitizedData.primaryType, sanitizedData.message, sanitizedData.types, useV4))\n }\n return util.keccak(Buffer.concat(parts))\n },\n}\n\nmodule.exports = {\n TYPED_MESSAGE_SCHEMA,\n TypedDataUtils,\n\n hashForSignTypedDataLegacy: function (msgParams) {\n return typedSignatureHashLegacy(msgParams.data)\n },\n\n hashForSignTypedData_v3: function (msgParams) {\n return TypedDataUtils.hash(msgParams.data, false)\n },\n\n hashForSignTypedData_v4: function (msgParams) {\n return TypedDataUtils.hash(msgParams.data)\n },\n}\n\n/**\n * @param typedData - Array of data along with types, as per EIP712.\n * @returns Buffer\n */\nfunction typedSignatureHashLegacy(typedData) {\n const error = new Error('Expect argument to be non-empty array')\n if (typeof typedData !== 'object' || !typedData.length) throw error\n\n const data = typedData.map(function (e) {\n return e.type === 'bytes' ? util.toBuffer(e.value) : e.value\n })\n const types = typedData.map(function (e) { return e.type })\n const schema = typedData.map(function (e) {\n if (!e.name) throw error\n return e.type + ' ' + e.name\n })\n\n return abi.soliditySHA3(\n ['bytes32', 'bytes32'],\n [\n abi.soliditySHA3(new Array(typedData.length).fill('string'), schema),\n abi.soliditySHA3(types, data)\n ]\n )\n}\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.filterFromParam = exports.FilterPolyfill = void 0;\nconst type_1 = require(\"../core/type\");\nconst util_1 = require(\"../core/util\");\nconst TIMEOUT = 5 * 60 * 1000; // 5 minutes\nconst JSONRPC_TEMPLATE = {\n jsonrpc: '2.0',\n id: 0,\n};\nclass FilterPolyfill {\n constructor(provider) {\n this.logFilters = new Map(); // \n this.blockFilters = new Set(); // \n this.pendingTransactionFilters = new Set(); // \n this.cursors = new Map(); // \n this.timeouts = new Map(); // \n this.nextFilterId = (0, type_1.IntNumber)(1);\n this.REQUEST_THROTTLE_INTERVAL = 1000; // in milliseconds\n this.lastFetchTimestamp = new Date(0);\n this.resolvers = [];\n this.provider = provider;\n }\n async newFilter(param) {\n const filter = filterFromParam(param);\n const id = this.makeFilterId();\n const cursor = await this.setInitialCursorPosition(id, filter.fromBlock);\n console.info(`Installing new log filter(${id}):`, filter, 'initial cursor position:', cursor);\n this.logFilters.set(id, filter);\n this.setFilterTimeout(id);\n return (0, util_1.hexStringFromIntNumber)(id);\n }\n async newBlockFilter() {\n const id = this.makeFilterId();\n const cursor = await this.setInitialCursorPosition(id, 'latest');\n console.info(`Installing new block filter (${id}) with initial cursor position:`, cursor);\n this.blockFilters.add(id);\n this.setFilterTimeout(id);\n return (0, util_1.hexStringFromIntNumber)(id);\n }\n async newPendingTransactionFilter() {\n const id = this.makeFilterId();\n const cursor = await this.setInitialCursorPosition(id, 'latest');\n console.info(`Installing new block filter (${id}) with initial cursor position:`, cursor);\n this.pendingTransactionFilters.add(id);\n this.setFilterTimeout(id);\n return (0, util_1.hexStringFromIntNumber)(id);\n }\n uninstallFilter(filterId) {\n const id = (0, util_1.intNumberFromHexString)(filterId);\n console.info(`Uninstalling filter (${id})`);\n this.deleteFilter(id);\n return true;\n }\n getFilterChanges(filterId) {\n const id = (0, util_1.intNumberFromHexString)(filterId);\n if (this.timeouts.has(id)) {\n // extend timeout\n this.setFilterTimeout(id);\n }\n if (this.logFilters.has(id)) {\n return this.getLogFilterChanges(id);\n }\n else if (this.blockFilters.has(id)) {\n return this.getBlockFilterChanges(id);\n }\n else if (this.pendingTransactionFilters.has(id)) {\n return this.getPendingTransactionFilterChanges(id);\n }\n return Promise.resolve(filterNotFoundError());\n }\n async getFilterLogs(filterId) {\n const id = (0, util_1.intNumberFromHexString)(filterId);\n const filter = this.logFilters.get(id);\n if (!filter) {\n return filterNotFoundError();\n }\n return this.sendAsyncPromise(Object.assign(Object.assign({}, JSONRPC_TEMPLATE), { method: 'eth_getLogs', params: [paramFromFilter(filter)] }));\n }\n makeFilterId() {\n return (0, type_1.IntNumber)(++this.nextFilterId);\n }\n sendAsyncPromise(request) {\n return new Promise((resolve, reject) => {\n this.provider.sendAsync(request, (err, response) => {\n if (err) {\n return reject(err);\n }\n if (Array.isArray(response) || response == null) {\n return reject(new Error(`unexpected response received: ${JSON.stringify(response)}`));\n }\n resolve(response);\n });\n });\n }\n deleteFilter(id) {\n console.info(`Deleting filter (${id})`);\n this.logFilters.delete(id);\n this.blockFilters.delete(id);\n this.pendingTransactionFilters.delete(id);\n this.cursors.delete(id);\n this.timeouts.delete(id);\n }\n async getLogFilterChanges(id) {\n const filter = this.logFilters.get(id);\n const cursorPosition = this.cursors.get(id);\n if (!cursorPosition || !filter) {\n return filterNotFoundError();\n }\n const currentBlockHeight = await this.getCurrentBlockHeight();\n const toBlock = filter.toBlock === 'latest' ? currentBlockHeight : filter.toBlock;\n if (cursorPosition > currentBlockHeight) {\n return emptyResult();\n }\n if (cursorPosition > Number(filter.toBlock)) {\n return emptyResult();\n }\n console.info(`Fetching logs from ${cursorPosition} to ${toBlock} for filter ${id}`);\n const response = await this.sendAsyncPromise(Object.assign(Object.assign({}, JSONRPC_TEMPLATE), { method: 'eth_getLogs', params: [\n paramFromFilter(Object.assign(Object.assign({}, filter), { fromBlock: cursorPosition, toBlock })),\n ] }));\n if (Array.isArray(response.result)) {\n const blocks = response.result.map((log) => (0, util_1.intNumberFromHexString)(log.blockNumber || '0x0'));\n const highestBlock = Math.max(...blocks);\n if (highestBlock && highestBlock > cursorPosition) {\n const newCursorPosition = (0, type_1.IntNumber)(highestBlock + 1);\n console.info(`Moving cursor position for filter (${id}) from ${cursorPosition} to ${newCursorPosition}`);\n this.cursors.set(id, newCursorPosition);\n }\n }\n return response;\n }\n async getBlockFilterChanges(id) {\n const cursorPosition = this.cursors.get(id);\n if (!cursorPosition) {\n return filterNotFoundError();\n }\n const currentBlockHeight = await this.getCurrentBlockHeight();\n if (cursorPosition > currentBlockHeight) {\n return emptyResult();\n }\n console.info(`Fetching blocks from ${cursorPosition} to ${currentBlockHeight} for filter (${id})`);\n const blocks = (await Promise.all(\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n (0, util_1.range)(cursorPosition, currentBlockHeight + 1).map((i) => this.getBlockHashByNumber((0, type_1.IntNumber)(i))))).filter((hash) => !!hash);\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n const newCursorPosition = (0, type_1.IntNumber)(cursorPosition + blocks.length);\n console.info(`Moving cursor position for filter (${id}) from ${cursorPosition} to ${newCursorPosition}`);\n this.cursors.set(id, newCursorPosition);\n return Object.assign(Object.assign({}, JSONRPC_TEMPLATE), { result: blocks });\n }\n async getPendingTransactionFilterChanges(_id) {\n // pending transaction filters are not supported\n return Promise.resolve(emptyResult());\n }\n async setInitialCursorPosition(id, startBlock) {\n const currentBlockHeight = await this.getCurrentBlockHeight();\n const initialCursorPosition = typeof startBlock === 'number' && startBlock > currentBlockHeight\n ? startBlock\n : currentBlockHeight;\n this.cursors.set(id, initialCursorPosition);\n return initialCursorPosition;\n }\n setFilterTimeout(id) {\n const existing = this.timeouts.get(id);\n if (existing) {\n window.clearTimeout(existing);\n }\n const timeout = window.setTimeout(() => {\n console.info(`Filter (${id}) timed out`);\n this.deleteFilter(id);\n }, TIMEOUT);\n this.timeouts.set(id, timeout);\n }\n // throttle eth_blockNumber requests\n async getCurrentBlockHeight() {\n const now = new Date();\n if (now.getTime() - this.lastFetchTimestamp.getTime() > this.REQUEST_THROTTLE_INTERVAL) {\n this.lastFetchTimestamp = now;\n const height = await this._getCurrentBlockHeight();\n this.currentBlockHeight = height;\n this.resolvers.forEach((resolve) => resolve(height));\n this.resolvers = [];\n }\n if (!this.currentBlockHeight) {\n return new Promise((resolve) => this.resolvers.push(resolve));\n }\n return this.currentBlockHeight;\n }\n async _getCurrentBlockHeight() {\n const { result } = await this.sendAsyncPromise(Object.assign(Object.assign({}, JSONRPC_TEMPLATE), { method: 'eth_blockNumber', params: [] }));\n return (0, util_1.intNumberFromHexString)((0, util_1.ensureHexString)(result));\n }\n async getBlockHashByNumber(blockNumber) {\n const response = await this.sendAsyncPromise(Object.assign(Object.assign({}, JSONRPC_TEMPLATE), { method: 'eth_getBlockByNumber', params: [(0, util_1.hexStringFromIntNumber)(blockNumber), false] }));\n if (response.result && typeof response.result.hash === 'string') {\n return (0, util_1.ensureHexString)(response.result.hash);\n }\n return null;\n }\n}\nexports.FilterPolyfill = FilterPolyfill;\nfunction filterFromParam(param) {\n return {\n fromBlock: intBlockHeightFromHexBlockHeight(param.fromBlock),\n toBlock: intBlockHeightFromHexBlockHeight(param.toBlock),\n addresses: param.address === undefined\n ? null\n : Array.isArray(param.address)\n ? param.address\n : [param.address],\n topics: param.topics || [],\n };\n}\nexports.filterFromParam = filterFromParam;\nfunction paramFromFilter(filter) {\n const param = {\n fromBlock: hexBlockHeightFromIntBlockHeight(filter.fromBlock),\n toBlock: hexBlockHeightFromIntBlockHeight(filter.toBlock),\n topics: filter.topics,\n };\n if (filter.addresses !== null) {\n param.address = filter.addresses;\n }\n return param;\n}\nfunction intBlockHeightFromHexBlockHeight(value) {\n if (value === undefined || value === 'latest' || value === 'pending') {\n return 'latest';\n }\n else if (value === 'earliest') {\n return (0, type_1.IntNumber)(0);\n }\n else if ((0, util_1.isHexString)(value)) {\n return (0, util_1.intNumberFromHexString)(value);\n }\n throw new Error(`Invalid block option: ${String(value)}`);\n}\nfunction hexBlockHeightFromIntBlockHeight(value) {\n if (value === 'latest') {\n return value;\n }\n return (0, util_1.hexStringFromIntNumber)(value);\n}\nfunction filterNotFoundError() {\n return Object.assign(Object.assign({}, JSONRPC_TEMPLATE), { error: { code: -32000, message: 'filter not found' } });\n}\nfunction emptyResult() {\n return Object.assign(Object.assign({}, JSONRPC_TEMPLATE), { result: [] });\n}\n","module.exports = IdIterator\n\nfunction IdIterator(opts){\n opts = opts || {}\n var max = opts.max || Number.MAX_SAFE_INTEGER\n var idCounter = typeof opts.start !== 'undefined' ? opts.start : Math.floor(Math.random() * max)\n\n return function createRandomId () {\n idCounter = idCounter % max\n return idCounter++\n }\n\n}","'use strict';\n\nconst processFn = (fn, opts) => function () {\n\tconst P = opts.promiseModule;\n\tconst args = new Array(arguments.length);\n\n\tfor (let i = 0; i < arguments.length; i++) {\n\t\targs[i] = arguments[i];\n\t}\n\n\treturn new P((resolve, reject) => {\n\t\tif (opts.errorFirst) {\n\t\t\targs.push(function (err, result) {\n\t\t\t\tif (opts.multiArgs) {\n\t\t\t\t\tconst results = new Array(arguments.length - 1);\n\n\t\t\t\t\tfor (let i = 1; i < arguments.length; i++) {\n\t\t\t\t\t\tresults[i - 1] = arguments[i];\n\t\t\t\t\t}\n\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\tresults.unshift(err);\n\t\t\t\t\t\treject(results);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresolve(results);\n\t\t\t\t\t}\n\t\t\t\t} else if (err) {\n\t\t\t\t\treject(err);\n\t\t\t\t} else {\n\t\t\t\t\tresolve(result);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\targs.push(function (result) {\n\t\t\t\tif (opts.multiArgs) {\n\t\t\t\t\tconst results = new Array(arguments.length - 1);\n\n\t\t\t\t\tfor (let i = 0; i < arguments.length; i++) {\n\t\t\t\t\t\tresults[i] = arguments[i];\n\t\t\t\t\t}\n\n\t\t\t\t\tresolve(results);\n\t\t\t\t} else {\n\t\t\t\t\tresolve(result);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tfn.apply(this, args);\n\t});\n};\n\nmodule.exports = (obj, opts) => {\n\topts = Object.assign({\n\t\texclude: [/.+(Sync|Stream)$/],\n\t\terrorFirst: true,\n\t\tpromiseModule: Promise\n\t}, opts);\n\n\tconst filter = key => {\n\t\tconst match = pattern => typeof pattern === 'string' ? key === pattern : pattern.test(key);\n\t\treturn opts.include ? opts.include.some(match) : !opts.exclude.some(match);\n\t};\n\n\tlet ret;\n\tif (typeof obj === 'function') {\n\t\tret = function () {\n\t\t\tif (opts.excludeMain) {\n\t\t\t\treturn obj.apply(this, arguments);\n\t\t\t}\n\n\t\t\treturn processFn(obj, opts).apply(this, arguments);\n\t\t};\n\t} else {\n\t\tret = Object.create(Object.getPrototypeOf(obj));\n\t}\n\n\tfor (const key in obj) { // eslint-disable-line guard-for-in\n\t\tconst x = obj[key];\n\t\tret[key] = typeof x === 'function' && filter(key) ? processFn(x, opts) : x;\n\t}\n\n\treturn ret;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst events_1 = require(\"events\");\nfunction safeApply(handler, context, args) {\n try {\n Reflect.apply(handler, context, args);\n }\n catch (err) {\n // Throw error after timeout so as not to interrupt the stack\n setTimeout(() => {\n throw err;\n });\n }\n}\nfunction arrayClone(arr) {\n const n = arr.length;\n const copy = new Array(n);\n for (let i = 0; i < n; i += 1) {\n copy[i] = arr[i];\n }\n return copy;\n}\nclass SafeEventEmitter extends events_1.EventEmitter {\n emit(type, ...args) {\n let doError = type === 'error';\n const events = this._events;\n if (events !== undefined) {\n doError = doError && events.error === undefined;\n }\n else if (!doError) {\n return false;\n }\n // If there is no 'error' event listener then throw.\n if (doError) {\n let er;\n if (args.length > 0) {\n [er] = args;\n }\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n const err = new Error(`Unhandled error.${er ? ` (${er.message})` : ''}`);\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n const handler = events[type];\n if (handler === undefined) {\n return false;\n }\n if (typeof handler === 'function') {\n safeApply(handler, this, args);\n }\n else {\n const len = handler.length;\n const listeners = arrayClone(handler);\n for (let i = 0; i < len; i += 1) {\n safeApply(listeners[i], this, args);\n }\n }\n return true;\n }\n}\nexports.default = SafeEventEmitter;\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BaseBlockTracker = void 0;\nconst safe_event_emitter_1 = __importDefault(require(\"@metamask/safe-event-emitter\"));\nconst sec = 1000;\nconst calculateSum = (accumulator, currentValue) => accumulator + currentValue;\nconst blockTrackerEvents = ['sync', 'latest'];\nclass BaseBlockTracker extends safe_event_emitter_1.default {\n constructor(opts) {\n super();\n // config\n this._blockResetDuration = opts.blockResetDuration || 20 * sec;\n this._usePastBlocks = opts.usePastBlocks || false;\n // state\n this._currentBlock = null;\n this._isRunning = false;\n // bind functions for internal use\n this._onNewListener = this._onNewListener.bind(this);\n this._onRemoveListener = this._onRemoveListener.bind(this);\n this._resetCurrentBlock = this._resetCurrentBlock.bind(this);\n // listen for handler changes\n this._setupInternalEvents();\n }\n async destroy() {\n this._cancelBlockResetTimeout();\n await this._maybeEnd();\n super.removeAllListeners();\n }\n isRunning() {\n return this._isRunning;\n }\n getCurrentBlock() {\n return this._currentBlock;\n }\n async getLatestBlock() {\n // return if available\n if (this._currentBlock) {\n return this._currentBlock;\n }\n // wait for a new latest block\n const latestBlock = await new Promise((resolve) => this.once('latest', resolve));\n // return newly set current block\n return latestBlock;\n }\n // dont allow module consumer to remove our internal event listeners\n removeAllListeners(eventName) {\n // perform default behavior, preserve fn arity\n if (eventName) {\n super.removeAllListeners(eventName);\n }\n else {\n super.removeAllListeners();\n }\n // re-add internal events\n this._setupInternalEvents();\n // trigger stop check just in case\n this._onRemoveListener();\n return this;\n }\n _setupInternalEvents() {\n // first remove listeners for idempotence\n this.removeListener('newListener', this._onNewListener);\n this.removeListener('removeListener', this._onRemoveListener);\n // then add them\n this.on('newListener', this._onNewListener);\n this.on('removeListener', this._onRemoveListener);\n }\n _onNewListener(eventName) {\n // `newListener` is called *before* the listener is added\n if (blockTrackerEvents.includes(eventName)) {\n this._maybeStart();\n }\n }\n _onRemoveListener() {\n // `removeListener` is called *after* the listener is removed\n if (this._getBlockTrackerEventCount() > 0) {\n return;\n }\n this._maybeEnd();\n }\n async _maybeStart() {\n if (this._isRunning) {\n return;\n }\n this._isRunning = true;\n // cancel setting latest block to stale\n this._cancelBlockResetTimeout();\n await this._start();\n this.emit('_started');\n }\n async _maybeEnd() {\n if (!this._isRunning) {\n return;\n }\n this._isRunning = false;\n this._setupBlockResetTimeout();\n await this._end();\n this.emit('_ended');\n }\n _getBlockTrackerEventCount() {\n return blockTrackerEvents\n .map((eventName) => this.listenerCount(eventName))\n .reduce(calculateSum);\n }\n _shouldUseNewBlock(newBlock) {\n const currentBlock = this._currentBlock;\n if (!currentBlock) {\n return true;\n }\n const newBlockInt = hexToInt(newBlock);\n const currentBlockInt = hexToInt(currentBlock);\n return ((this._usePastBlocks && newBlockInt < currentBlockInt) ||\n newBlockInt > currentBlockInt);\n }\n _newPotentialLatest(newBlock) {\n if (!this._shouldUseNewBlock(newBlock)) {\n return;\n }\n this._setCurrentBlock(newBlock);\n }\n _setCurrentBlock(newBlock) {\n const oldBlock = this._currentBlock;\n this._currentBlock = newBlock;\n this.emit('latest', newBlock);\n this.emit('sync', { oldBlock, newBlock });\n }\n _setupBlockResetTimeout() {\n // clear any existing timeout\n this._cancelBlockResetTimeout();\n // clear latest block when stale\n this._blockResetTimeout = setTimeout(this._resetCurrentBlock, this._blockResetDuration);\n // nodejs - dont hold process open\n if (this._blockResetTimeout.unref) {\n this._blockResetTimeout.unref();\n }\n }\n _cancelBlockResetTimeout() {\n if (this._blockResetTimeout) {\n clearTimeout(this._blockResetTimeout);\n }\n }\n _resetCurrentBlock() {\n this._currentBlock = null;\n }\n}\nexports.BaseBlockTracker = BaseBlockTracker;\n/**\n * Converts a number represented as a string in hexadecimal format into a native\n * number.\n *\n * @param hexInt - The hex string.\n * @returns The number.\n */\nfunction hexToInt(hexInt) {\n return Number.parseInt(hexInt, 16);\n}\n//# sourceMappingURL=BaseBlockTracker.js.map","/**\n * A `StructFailure` represents a single specific failure in validation.\n */\n/**\n * `StructError` objects are thrown (or returned) when validation fails.\n *\n * Validation logic is design to exit early for maximum performance. The error\n * represents the first error encountered during validation. For more detail,\n * the `error.failures` property is a generator function that can be run to\n * continue validation and receive all the failures in the data.\n */\nclass StructError extends TypeError {\n constructor(failure, failures) {\n let cached;\n const { message, explanation, ...rest } = failure;\n const { path } = failure;\n const msg = path.length === 0 ? message : `At path: ${path.join('.')} -- ${message}`;\n super(explanation ?? msg);\n if (explanation != null)\n this.cause = msg;\n Object.assign(this, rest);\n this.name = this.constructor.name;\n this.failures = () => {\n return (cached ?? (cached = [failure, ...failures()]));\n };\n }\n}\n\n/**\n * Check if a value is an iterator.\n */\nfunction isIterable(x) {\n return isObject(x) && typeof x[Symbol.iterator] === 'function';\n}\n/**\n * Check if a value is a plain object.\n */\nfunction isObject(x) {\n return typeof x === 'object' && x != null;\n}\n/**\n * Check if a value is a plain object.\n */\nfunction isPlainObject(x) {\n if (Object.prototype.toString.call(x) !== '[object Object]') {\n return false;\n }\n const prototype = Object.getPrototypeOf(x);\n return prototype === null || prototype === Object.prototype;\n}\n/**\n * Return a value as a printable string.\n */\nfunction print(value) {\n if (typeof value === 'symbol') {\n return value.toString();\n }\n return typeof value === 'string' ? JSON.stringify(value) : `${value}`;\n}\n/**\n * Shifts (removes and returns) the first value from the `input` iterator.\n * Like `Array.prototype.shift()` but for an `Iterator`.\n */\nfunction shiftIterator(input) {\n const { done, value } = input.next();\n return done ? undefined : value;\n}\n/**\n * Convert a single validation result to a failure.\n */\nfunction toFailure(result, context, struct, value) {\n if (result === true) {\n return;\n }\n else if (result === false) {\n result = {};\n }\n else if (typeof result === 'string') {\n result = { message: result };\n }\n const { path, branch } = context;\n const { type } = struct;\n const { refinement, message = `Expected a value of type \\`${type}\\`${refinement ? ` with refinement \\`${refinement}\\`` : ''}, but received: \\`${print(value)}\\``, } = result;\n return {\n value,\n type,\n refinement,\n key: path[path.length - 1],\n path,\n branch,\n ...result,\n message,\n };\n}\n/**\n * Convert a validation result to an iterable of failures.\n */\nfunction* toFailures(result, context, struct, value) {\n if (!isIterable(result)) {\n result = [result];\n }\n for (const r of result) {\n const failure = toFailure(r, context, struct, value);\n if (failure) {\n yield failure;\n }\n }\n}\n/**\n * Check a value against a struct, traversing deeply into nested values, and\n * returning an iterator of failures or success.\n */\nfunction* run(value, struct, options = {}) {\n const { path = [], branch = [value], coerce = false, mask = false } = options;\n const ctx = { path, branch };\n if (coerce) {\n value = struct.coercer(value, ctx);\n if (mask &&\n struct.type !== 'type' &&\n isObject(struct.schema) &&\n isObject(value) &&\n !Array.isArray(value)) {\n for (const key in value) {\n if (struct.schema[key] === undefined) {\n delete value[key];\n }\n }\n }\n }\n let status = 'valid';\n for (const failure of struct.validator(value, ctx)) {\n failure.explanation = options.message;\n status = 'not_valid';\n yield [failure, undefined];\n }\n for (let [k, v, s] of struct.entries(value, ctx)) {\n const ts = run(v, s, {\n path: k === undefined ? path : [...path, k],\n branch: k === undefined ? branch : [...branch, v],\n coerce,\n mask,\n message: options.message,\n });\n for (const t of ts) {\n if (t[0]) {\n status = t[0].refinement != null ? 'not_refined' : 'not_valid';\n yield [t[0], undefined];\n }\n else if (coerce) {\n v = t[1];\n if (k === undefined) {\n value = v;\n }\n else if (value instanceof Map) {\n value.set(k, v);\n }\n else if (value instanceof Set) {\n value.add(v);\n }\n else if (isObject(value)) {\n if (v !== undefined || k in value)\n value[k] = v;\n }\n }\n }\n }\n if (status !== 'not_valid') {\n for (const failure of struct.refiner(value, ctx)) {\n failure.explanation = options.message;\n status = 'not_refined';\n yield [failure, undefined];\n }\n }\n if (status === 'valid') {\n yield [undefined, value];\n }\n}\n\n/**\n * `Struct` objects encapsulate the validation logic for a specific type of\n * values. Once constructed, you use the `assert`, `is` or `validate` helpers to\n * validate unknown input data against the struct.\n */\nclass Struct {\n constructor(props) {\n const { type, schema, validator, refiner, coercer = (value) => value, entries = function* () { }, } = props;\n this.type = type;\n this.schema = schema;\n this.entries = entries;\n this.coercer = coercer;\n if (validator) {\n this.validator = (value, context) => {\n const result = validator(value, context);\n return toFailures(result, context, this, value);\n };\n }\n else {\n this.validator = () => [];\n }\n if (refiner) {\n this.refiner = (value, context) => {\n const result = refiner(value, context);\n return toFailures(result, context, this, value);\n };\n }\n else {\n this.refiner = () => [];\n }\n }\n /**\n * Assert that a value passes the struct's validation, throwing if it doesn't.\n */\n assert(value, message) {\n return assert(value, this, message);\n }\n /**\n * Create a value with the struct's coercion logic, then validate it.\n */\n create(value, message) {\n return create(value, this, message);\n }\n /**\n * Check if a value passes the struct's validation.\n */\n is(value) {\n return is(value, this);\n }\n /**\n * Mask a value, coercing and validating it, but returning only the subset of\n * properties defined by the struct's schema.\n */\n mask(value, message) {\n return mask(value, this, message);\n }\n /**\n * Validate a value with the struct's validation logic, returning a tuple\n * representing the result.\n *\n * You may optionally pass `true` for the `withCoercion` argument to coerce\n * the value before attempting to validate it. If you do, the result will\n * contain the coerced result when successful.\n */\n validate(value, options = {}) {\n return validate(value, this, options);\n }\n}\n/**\n * Assert that a value passes a struct, throwing if it doesn't.\n */\nfunction assert(value, struct, message) {\n const result = validate(value, struct, { message });\n if (result[0]) {\n throw result[0];\n }\n}\n/**\n * Create a value with the coercion logic of struct and validate it.\n */\nfunction create(value, struct, message) {\n const result = validate(value, struct, { coerce: true, message });\n if (result[0]) {\n throw result[0];\n }\n else {\n return result[1];\n }\n}\n/**\n * Mask a value, returning only the subset of properties defined by a struct.\n */\nfunction mask(value, struct, message) {\n const result = validate(value, struct, { coerce: true, mask: true, message });\n if (result[0]) {\n throw result[0];\n }\n else {\n return result[1];\n }\n}\n/**\n * Check if a value passes a struct.\n */\nfunction is(value, struct) {\n const result = validate(value, struct);\n return !result[0];\n}\n/**\n * Validate a value against a struct, returning an error if invalid, or the\n * value (with potential coercion) if valid.\n */\nfunction validate(value, struct, options = {}) {\n const tuples = run(value, struct, options);\n const tuple = shiftIterator(tuples);\n if (tuple[0]) {\n const error = new StructError(tuple[0], function* () {\n for (const t of tuples) {\n if (t[0]) {\n yield t[0];\n }\n }\n });\n return [error, undefined];\n }\n else {\n const v = tuple[1];\n return [undefined, v];\n }\n}\n\nfunction assign(...Structs) {\n const isType = Structs[0].type === 'type';\n const schemas = Structs.map((s) => s.schema);\n const schema = Object.assign({}, ...schemas);\n return isType ? type(schema) : object(schema);\n}\n/**\n * Define a new struct type with a custom validation function.\n */\nfunction define(name, validator) {\n return new Struct({ type: name, schema: null, validator });\n}\n/**\n * Create a new struct based on an existing struct, but the value is allowed to\n * be `undefined`. `log` will be called if the value is not `undefined`.\n */\nfunction deprecated(struct, log) {\n return new Struct({\n ...struct,\n refiner: (value, ctx) => value === undefined || struct.refiner(value, ctx),\n validator(value, ctx) {\n if (value === undefined) {\n return true;\n }\n else {\n log(value, ctx);\n return struct.validator(value, ctx);\n }\n },\n });\n}\n/**\n * Create a struct with dynamic validation logic.\n *\n * The callback will receive the value currently being validated, and must\n * return a struct object to validate it with. This can be useful to model\n * validation logic that changes based on its input.\n */\nfunction dynamic(fn) {\n return new Struct({\n type: 'dynamic',\n schema: null,\n *entries(value, ctx) {\n const struct = fn(value, ctx);\n yield* struct.entries(value, ctx);\n },\n validator(value, ctx) {\n const struct = fn(value, ctx);\n return struct.validator(value, ctx);\n },\n coercer(value, ctx) {\n const struct = fn(value, ctx);\n return struct.coercer(value, ctx);\n },\n refiner(value, ctx) {\n const struct = fn(value, ctx);\n return struct.refiner(value, ctx);\n },\n });\n}\n/**\n * Create a struct with lazily evaluated validation logic.\n *\n * The first time validation is run with the struct, the callback will be called\n * and must return a struct object to use. This is useful for cases where you\n * want to have self-referential structs for nested data structures to avoid a\n * circular definition problem.\n */\nfunction lazy(fn) {\n let struct;\n return new Struct({\n type: 'lazy',\n schema: null,\n *entries(value, ctx) {\n struct ?? (struct = fn());\n yield* struct.entries(value, ctx);\n },\n validator(value, ctx) {\n struct ?? (struct = fn());\n return struct.validator(value, ctx);\n },\n coercer(value, ctx) {\n struct ?? (struct = fn());\n return struct.coercer(value, ctx);\n },\n refiner(value, ctx) {\n struct ?? (struct = fn());\n return struct.refiner(value, ctx);\n },\n });\n}\n/**\n * Create a new struct based on an existing object struct, but excluding\n * specific properties.\n *\n * Like TypeScript's `Omit` utility.\n */\nfunction omit(struct, keys) {\n const { schema } = struct;\n const subschema = { ...schema };\n for (const key of keys) {\n delete subschema[key];\n }\n switch (struct.type) {\n case 'type':\n return type(subschema);\n default:\n return object(subschema);\n }\n}\n/**\n * Create a new struct based on an existing object struct, but with all of its\n * properties allowed to be `undefined`.\n *\n * Like TypeScript's `Partial` utility.\n */\nfunction partial(struct) {\n const isStruct = struct instanceof Struct;\n const schema = isStruct ? { ...struct.schema } : { ...struct };\n for (const key in schema) {\n schema[key] = optional(schema[key]);\n }\n if (isStruct && struct.type === 'type') {\n return type(schema);\n }\n return object(schema);\n}\n/**\n * Create a new struct based on an existing object struct, but only including\n * specific properties.\n *\n * Like TypeScript's `Pick` utility.\n */\nfunction pick(struct, keys) {\n const { schema } = struct;\n const subschema = {};\n for (const key of keys) {\n subschema[key] = schema[key];\n }\n switch (struct.type) {\n case 'type':\n return type(subschema);\n default:\n return object(subschema);\n }\n}\n/**\n * Define a new struct type with a custom validation function.\n *\n * @deprecated This function has been renamed to `define`.\n */\nfunction struct(name, validator) {\n console.warn('superstruct@0.11 - The `struct` helper has been renamed to `define`.');\n return define(name, validator);\n}\n\n/**\n * Ensure that any value passes validation.\n */\nfunction any() {\n return define('any', () => true);\n}\nfunction array(Element) {\n return new Struct({\n type: 'array',\n schema: Element,\n *entries(value) {\n if (Element && Array.isArray(value)) {\n for (const [i, v] of value.entries()) {\n yield [i, v, Element];\n }\n }\n },\n coercer(value) {\n return Array.isArray(value) ? value.slice() : value;\n },\n validator(value) {\n return (Array.isArray(value) ||\n `Expected an array value, but received: ${print(value)}`);\n },\n });\n}\n/**\n * Ensure that a value is a bigint.\n */\nfunction bigint() {\n return define('bigint', (value) => {\n return typeof value === 'bigint';\n });\n}\n/**\n * Ensure that a value is a boolean.\n */\nfunction boolean() {\n return define('boolean', (value) => {\n return typeof value === 'boolean';\n });\n}\n/**\n * Ensure that a value is a valid `Date`.\n *\n * Note: this also ensures that the value is *not* an invalid `Date` object,\n * which can occur when parsing a date fails but still returns a `Date`.\n */\nfunction date() {\n return define('date', (value) => {\n return ((value instanceof Date && !isNaN(value.getTime())) ||\n `Expected a valid \\`Date\\` object, but received: ${print(value)}`);\n });\n}\nfunction enums(values) {\n const schema = {};\n const description = values.map((v) => print(v)).join();\n for (const key of values) {\n schema[key] = key;\n }\n return new Struct({\n type: 'enums',\n schema,\n validator(value) {\n return (values.includes(value) ||\n `Expected one of \\`${description}\\`, but received: ${print(value)}`);\n },\n });\n}\n/**\n * Ensure that a value is a function.\n */\nfunction func() {\n return define('func', (value) => {\n return (typeof value === 'function' ||\n `Expected a function, but received: ${print(value)}`);\n });\n}\n/**\n * Ensure that a value is an instance of a specific class.\n */\nfunction instance(Class) {\n return define('instance', (value) => {\n return (value instanceof Class ||\n `Expected a \\`${Class.name}\\` instance, but received: ${print(value)}`);\n });\n}\n/**\n * Ensure that a value is an integer.\n */\nfunction integer() {\n return define('integer', (value) => {\n return ((typeof value === 'number' && !isNaN(value) && Number.isInteger(value)) ||\n `Expected an integer, but received: ${print(value)}`);\n });\n}\n/**\n * Ensure that a value matches all of a set of types.\n */\nfunction intersection(Structs) {\n return new Struct({\n type: 'intersection',\n schema: null,\n *entries(value, ctx) {\n for (const S of Structs) {\n yield* S.entries(value, ctx);\n }\n },\n *validator(value, ctx) {\n for (const S of Structs) {\n yield* S.validator(value, ctx);\n }\n },\n *refiner(value, ctx) {\n for (const S of Structs) {\n yield* S.refiner(value, ctx);\n }\n },\n });\n}\nfunction literal(constant) {\n const description = print(constant);\n const t = typeof constant;\n return new Struct({\n type: 'literal',\n schema: t === 'string' || t === 'number' || t === 'boolean' ? constant : null,\n validator(value) {\n return (value === constant ||\n `Expected the literal \\`${description}\\`, but received: ${print(value)}`);\n },\n });\n}\nfunction map(Key, Value) {\n return new Struct({\n type: 'map',\n schema: null,\n *entries(value) {\n if (Key && Value && value instanceof Map) {\n for (const [k, v] of value.entries()) {\n yield [k, k, Key];\n yield [k, v, Value];\n }\n }\n },\n coercer(value) {\n return value instanceof Map ? new Map(value) : value;\n },\n validator(value) {\n return (value instanceof Map ||\n `Expected a \\`Map\\` object, but received: ${print(value)}`);\n },\n });\n}\n/**\n * Ensure that no value ever passes validation.\n */\nfunction never() {\n return define('never', () => false);\n}\n/**\n * Augment an existing struct to allow `null` values.\n */\nfunction nullable(struct) {\n return new Struct({\n ...struct,\n validator: (value, ctx) => value === null || struct.validator(value, ctx),\n refiner: (value, ctx) => value === null || struct.refiner(value, ctx),\n });\n}\n/**\n * Ensure that a value is a number.\n */\nfunction number() {\n return define('number', (value) => {\n return ((typeof value === 'number' && !isNaN(value)) ||\n `Expected a number, but received: ${print(value)}`);\n });\n}\nfunction object(schema) {\n const knowns = schema ? Object.keys(schema) : [];\n const Never = never();\n return new Struct({\n type: 'object',\n schema: schema ? schema : null,\n *entries(value) {\n if (schema && isObject(value)) {\n const unknowns = new Set(Object.keys(value));\n for (const key of knowns) {\n unknowns.delete(key);\n yield [key, value[key], schema[key]];\n }\n for (const key of unknowns) {\n yield [key, value[key], Never];\n }\n }\n },\n validator(value) {\n return (isObject(value) || `Expected an object, but received: ${print(value)}`);\n },\n coercer(value) {\n return isObject(value) ? { ...value } : value;\n },\n });\n}\n/**\n * Augment a struct to allow `undefined` values.\n */\nfunction optional(struct) {\n return new Struct({\n ...struct,\n validator: (value, ctx) => value === undefined || struct.validator(value, ctx),\n refiner: (value, ctx) => value === undefined || struct.refiner(value, ctx),\n });\n}\n/**\n * Ensure that a value is an object with keys and values of specific types, but\n * without ensuring any specific shape of properties.\n *\n * Like TypeScript's `Record` utility.\n */\nfunction record(Key, Value) {\n return new Struct({\n type: 'record',\n schema: null,\n *entries(value) {\n if (isObject(value)) {\n for (const k in value) {\n const v = value[k];\n yield [k, k, Key];\n yield [k, v, Value];\n }\n }\n },\n validator(value) {\n return (isObject(value) || `Expected an object, but received: ${print(value)}`);\n },\n });\n}\n/**\n * Ensure that a value is a `RegExp`.\n *\n * Note: this does not test the value against the regular expression! For that\n * you need to use the `pattern()` refinement.\n */\nfunction regexp() {\n return define('regexp', (value) => {\n return value instanceof RegExp;\n });\n}\nfunction set(Element) {\n return new Struct({\n type: 'set',\n schema: null,\n *entries(value) {\n if (Element && value instanceof Set) {\n for (const v of value) {\n yield [v, v, Element];\n }\n }\n },\n coercer(value) {\n return value instanceof Set ? new Set(value) : value;\n },\n validator(value) {\n return (value instanceof Set ||\n `Expected a \\`Set\\` object, but received: ${print(value)}`);\n },\n });\n}\n/**\n * Ensure that a value is a string.\n */\nfunction string() {\n return define('string', (value) => {\n return (typeof value === 'string' ||\n `Expected a string, but received: ${print(value)}`);\n });\n}\n/**\n * Ensure that a value is a tuple of a specific length, and that each of its\n * elements is of a specific type.\n */\nfunction tuple(Structs) {\n const Never = never();\n return new Struct({\n type: 'tuple',\n schema: null,\n *entries(value) {\n if (Array.isArray(value)) {\n const length = Math.max(Structs.length, value.length);\n for (let i = 0; i < length; i++) {\n yield [i, value[i], Structs[i] || Never];\n }\n }\n },\n validator(value) {\n return (Array.isArray(value) ||\n `Expected an array, but received: ${print(value)}`);\n },\n });\n}\n/**\n * Ensure that a value has a set of known properties of specific types.\n *\n * Note: Unrecognized properties are allowed and untouched. This is similar to\n * how TypeScript's structural typing works.\n */\nfunction type(schema) {\n const keys = Object.keys(schema);\n return new Struct({\n type: 'type',\n schema,\n *entries(value) {\n if (isObject(value)) {\n for (const k of keys) {\n yield [k, value[k], schema[k]];\n }\n }\n },\n validator(value) {\n return (isObject(value) || `Expected an object, but received: ${print(value)}`);\n },\n coercer(value) {\n return isObject(value) ? { ...value } : value;\n },\n });\n}\n/**\n * Ensure that a value matches one of a set of types.\n */\nfunction union(Structs) {\n const description = Structs.map((s) => s.type).join(' | ');\n return new Struct({\n type: 'union',\n schema: null,\n coercer(value) {\n for (const S of Structs) {\n const [error, coerced] = S.validate(value, { coerce: true });\n if (!error) {\n return coerced;\n }\n }\n return value;\n },\n validator(value, ctx) {\n const failures = [];\n for (const S of Structs) {\n const [...tuples] = run(value, S, ctx);\n const [first] = tuples;\n if (!first[0]) {\n return [];\n }\n else {\n for (const [failure] of tuples) {\n if (failure) {\n failures.push(failure);\n }\n }\n }\n }\n return [\n `Expected the value to satisfy a union of \\`${description}\\`, but received: ${print(value)}`,\n ...failures,\n ];\n },\n });\n}\n/**\n * Ensure that any value passes validation, without widening its type to `any`.\n */\nfunction unknown() {\n return define('unknown', () => true);\n}\n\n/**\n * Augment a `Struct` to add an additional coercion step to its input.\n *\n * This allows you to transform input data before validating it, to increase the\n * likelihood that it passes validation—for example for default values, parsing\n * different formats, etc.\n *\n * Note: You must use `create(value, Struct)` on the value to have the coercion\n * take effect! Using simply `assert()` or `is()` will not use coercion.\n */\nfunction coerce(struct, condition, coercer) {\n return new Struct({\n ...struct,\n coercer: (value, ctx) => {\n return is(value, condition)\n ? struct.coercer(coercer(value, ctx), ctx)\n : struct.coercer(value, ctx);\n },\n });\n}\n/**\n * Augment a struct to replace `undefined` values with a default.\n *\n * Note: You must use `create(value, Struct)` on the value to have the coercion\n * take effect! Using simply `assert()` or `is()` will not use coercion.\n */\nfunction defaulted(struct, fallback, options = {}) {\n return coerce(struct, unknown(), (x) => {\n const f = typeof fallback === 'function' ? fallback() : fallback;\n if (x === undefined) {\n return f;\n }\n if (!options.strict && isPlainObject(x) && isPlainObject(f)) {\n const ret = { ...x };\n let changed = false;\n for (const key in f) {\n if (ret[key] === undefined) {\n ret[key] = f[key];\n changed = true;\n }\n }\n if (changed) {\n return ret;\n }\n }\n return x;\n });\n}\n/**\n * Augment a struct to trim string inputs.\n *\n * Note: You must use `create(value, Struct)` on the value to have the coercion\n * take effect! Using simply `assert()` or `is()` will not use coercion.\n */\nfunction trimmed(struct) {\n return coerce(struct, string(), (x) => x.trim());\n}\n\n/**\n * Ensure that a string, array, map, or set is empty.\n */\nfunction empty(struct) {\n return refine(struct, 'empty', (value) => {\n const size = getSize(value);\n return (size === 0 ||\n `Expected an empty ${struct.type} but received one with a size of \\`${size}\\``);\n });\n}\nfunction getSize(value) {\n if (value instanceof Map || value instanceof Set) {\n return value.size;\n }\n else {\n return value.length;\n }\n}\n/**\n * Ensure that a number or date is below a threshold.\n */\nfunction max(struct, threshold, options = {}) {\n const { exclusive } = options;\n return refine(struct, 'max', (value) => {\n return exclusive\n ? value < threshold\n : value <= threshold ||\n `Expected a ${struct.type} less than ${exclusive ? '' : 'or equal to '}${threshold} but received \\`${value}\\``;\n });\n}\n/**\n * Ensure that a number or date is above a threshold.\n */\nfunction min(struct, threshold, options = {}) {\n const { exclusive } = options;\n return refine(struct, 'min', (value) => {\n return exclusive\n ? value > threshold\n : value >= threshold ||\n `Expected a ${struct.type} greater than ${exclusive ? '' : 'or equal to '}${threshold} but received \\`${value}\\``;\n });\n}\n/**\n * Ensure that a string, array, map or set is not empty.\n */\nfunction nonempty(struct) {\n return refine(struct, 'nonempty', (value) => {\n const size = getSize(value);\n return (size > 0 || `Expected a nonempty ${struct.type} but received an empty one`);\n });\n}\n/**\n * Ensure that a string matches a regular expression.\n */\nfunction pattern(struct, regexp) {\n return refine(struct, 'pattern', (value) => {\n return (regexp.test(value) ||\n `Expected a ${struct.type} matching \\`/${regexp.source}/\\` but received \"${value}\"`);\n });\n}\n/**\n * Ensure that a string, array, number, date, map, or set has a size (or length, or time) between `min` and `max`.\n */\nfunction size(struct, min, max = min) {\n const expected = `Expected a ${struct.type}`;\n const of = min === max ? `of \\`${min}\\`` : `between \\`${min}\\` and \\`${max}\\``;\n return refine(struct, 'size', (value) => {\n if (typeof value === 'number' || value instanceof Date) {\n return ((min <= value && value <= max) ||\n `${expected} ${of} but received \\`${value}\\``);\n }\n else if (value instanceof Map || value instanceof Set) {\n const { size } = value;\n return ((min <= size && size <= max) ||\n `${expected} with a size ${of} but received one with a size of \\`${size}\\``);\n }\n else {\n const { length } = value;\n return ((min <= length && length <= max) ||\n `${expected} with a length ${of} but received one with a length of \\`${length}\\``);\n }\n });\n}\n/**\n * Augment a `Struct` to add an additional refinement to the validation.\n *\n * The refiner function is guaranteed to receive a value of the struct's type,\n * because the struct's existing validation will already have passed. This\n * allows you to layer additional validation on top of existing structs.\n */\nfunction refine(struct, name, refiner) {\n return new Struct({\n ...struct,\n *refiner(value, ctx) {\n yield* struct.refiner(value, ctx);\n const result = refiner(value, ctx);\n const failures = toFailures(result, ctx, struct, value);\n for (const failure of failures) {\n yield { ...failure, refinement: name };\n }\n },\n });\n}\n\nexport { Struct, StructError, any, array, assert, assign, bigint, boolean, coerce, create, date, defaulted, define, deprecated, dynamic, empty, enums, func, instance, integer, intersection, is, lazy, literal, map, mask, max, min, never, nonempty, nullable, number, object, omit, optional, partial, pattern, pick, record, refine, regexp, set, size, string, struct, trimmed, tuple, type, union, unknown, validate };\n//# sourceMappingURL=index.mjs.map\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.assertExhaustive = exports.assertStruct = exports.assert = exports.AssertionError = void 0;\nconst superstruct_1 = require(\"superstruct\");\n/**\n * Type guard for determining whether the given value is an error object with a\n * `message` property, such as an instance of Error.\n *\n * @param error - The object to check.\n * @returns True or false, depending on the result.\n */\nfunction isErrorWithMessage(error) {\n return typeof error === 'object' && error !== null && 'message' in error;\n}\n/**\n * Check if a value is a constructor, i.e., a function that can be called with\n * the `new` keyword.\n *\n * @param fn - The value to check.\n * @returns `true` if the value is a constructor, or `false` otherwise.\n */\nfunction isConstructable(fn) {\n var _a, _b;\n /* istanbul ignore next */\n return Boolean(typeof ((_b = (_a = fn === null || fn === void 0 ? void 0 : fn.prototype) === null || _a === void 0 ? void 0 : _a.constructor) === null || _b === void 0 ? void 0 : _b.name) === 'string');\n}\n/**\n * Get the error message from an unknown error object. If the error object has\n * a `message` property, that property is returned. Otherwise, the stringified\n * error object is returned.\n *\n * @param error - The error object to get the message from.\n * @returns The error message.\n */\nfunction getErrorMessage(error) {\n const message = isErrorWithMessage(error) ? error.message : String(error);\n // If the error ends with a period, remove it, as we'll add our own period.\n if (message.endsWith('.')) {\n return message.slice(0, -1);\n }\n return message;\n}\n/**\n * Initialise an {@link AssertionErrorConstructor} error.\n *\n * @param ErrorWrapper - The error class to use.\n * @param message - The error message.\n * @returns The error object.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nfunction getError(ErrorWrapper, message) {\n if (isConstructable(ErrorWrapper)) {\n return new ErrorWrapper({\n message,\n });\n }\n return ErrorWrapper({\n message,\n });\n}\n/**\n * The default error class that is thrown if an assertion fails.\n */\nclass AssertionError extends Error {\n constructor(options) {\n super(options.message);\n this.code = 'ERR_ASSERTION';\n }\n}\nexports.AssertionError = AssertionError;\n/**\n * Same as Node.js assert.\n * If the value is falsy, throws an error, does nothing otherwise.\n *\n * @throws {@link AssertionError} If value is falsy.\n * @param value - The test that should be truthy to pass.\n * @param message - Message to be passed to {@link AssertionError} or an\n * {@link Error} instance to throw.\n * @param ErrorWrapper - The error class to throw if the assertion fails.\n * Defaults to {@link AssertionError}. If a custom error class is provided for\n * the `message` argument, this argument is ignored.\n */\nfunction assert(value, message = 'Assertion failed.', \n// eslint-disable-next-line @typescript-eslint/naming-convention\nErrorWrapper = AssertionError) {\n if (!value) {\n if (message instanceof Error) {\n throw message;\n }\n throw getError(ErrorWrapper, message);\n }\n}\nexports.assert = assert;\n/**\n * Assert a value against a Superstruct struct.\n *\n * @param value - The value to validate.\n * @param struct - The struct to validate against.\n * @param errorPrefix - A prefix to add to the error message. Defaults to\n * \"Assertion failed\".\n * @param ErrorWrapper - The error class to throw if the assertion fails.\n * Defaults to {@link AssertionError}.\n * @throws If the value is not valid.\n */\nfunction assertStruct(value, struct, errorPrefix = 'Assertion failed', \n// eslint-disable-next-line @typescript-eslint/naming-convention\nErrorWrapper = AssertionError) {\n try {\n (0, superstruct_1.assert)(value, struct);\n }\n catch (error) {\n throw getError(ErrorWrapper, `${errorPrefix}: ${getErrorMessage(error)}.`);\n }\n}\nexports.assertStruct = assertStruct;\n/**\n * Use in the default case of a switch that you want to be fully exhaustive.\n * Using this function forces the compiler to enforce exhaustivity during\n * compile-time.\n *\n * @example\n * ```\n * const number = 1;\n * switch (number) {\n * case 0:\n * ...\n * case 1:\n * ...\n * default:\n * assertExhaustive(snapPrefix);\n * }\n * ```\n * @param _object - The object on which the switch is being operated.\n */\nfunction assertExhaustive(_object) {\n throw new Error('Invalid branch reached. Should be detected during compilation.');\n}\nexports.assertExhaustive = assertExhaustive;\n//# sourceMappingURL=assert.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.base64 = void 0;\nconst superstruct_1 = require(\"superstruct\");\nconst assert_1 = require(\"./assert\");\n/**\n * Ensure that a provided string-based struct is valid base64.\n *\n * @param struct - The string based struct.\n * @param options - Optional options to specialize base64 validation. See {@link Base64Options} documentation.\n * @returns A superstruct validating base64.\n */\nconst base64 = (struct, options = {}) => {\n var _a, _b;\n const paddingRequired = (_a = options.paddingRequired) !== null && _a !== void 0 ? _a : false;\n const characterSet = (_b = options.characterSet) !== null && _b !== void 0 ? _b : 'base64';\n let letters;\n if (characterSet === 'base64') {\n letters = String.raw `[A-Za-z0-9+\\/]`;\n }\n else {\n (0, assert_1.assert)(characterSet === 'base64url');\n letters = String.raw `[-_A-Za-z0-9]`;\n }\n let re;\n if (paddingRequired) {\n re = new RegExp(`^(?:${letters}{4})*(?:${letters}{3}=|${letters}{2}==)?$`, 'u');\n }\n else {\n re = new RegExp(`^(?:${letters}{4})*(?:${letters}{2,3}|${letters}{3}=|${letters}{2}==)?$`, 'u');\n }\n return (0, superstruct_1.pattern)(struct, re);\n};\nexports.base64 = base64;\n//# sourceMappingURL=base64.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.remove0x = exports.add0x = exports.assertIsStrictHexString = exports.assertIsHexString = exports.isStrictHexString = exports.isHexString = exports.StrictHexStruct = exports.HexStruct = void 0;\nconst superstruct_1 = require(\"superstruct\");\nconst assert_1 = require(\"./assert\");\nexports.HexStruct = (0, superstruct_1.pattern)((0, superstruct_1.string)(), /^(?:0x)?[0-9a-f]+$/iu);\nexports.StrictHexStruct = (0, superstruct_1.pattern)((0, superstruct_1.string)(), /^0x[0-9a-f]+$/iu);\n/**\n * Check if a string is a valid hex string.\n *\n * @param value - The value to check.\n * @returns Whether the value is a valid hex string.\n */\nfunction isHexString(value) {\n return (0, superstruct_1.is)(value, exports.HexStruct);\n}\nexports.isHexString = isHexString;\n/**\n * Strictly check if a string is a valid hex string. A valid hex string must\n * start with the \"0x\"-prefix.\n *\n * @param value - The value to check.\n * @returns Whether the value is a valid hex string.\n */\nfunction isStrictHexString(value) {\n return (0, superstruct_1.is)(value, exports.StrictHexStruct);\n}\nexports.isStrictHexString = isStrictHexString;\n/**\n * Assert that a value is a valid hex string.\n *\n * @param value - The value to check.\n * @throws If the value is not a valid hex string.\n */\nfunction assertIsHexString(value) {\n (0, assert_1.assert)(isHexString(value), 'Value must be a hexadecimal string.');\n}\nexports.assertIsHexString = assertIsHexString;\n/**\n * Assert that a value is a valid hex string. A valid hex string must start with\n * the \"0x\"-prefix.\n *\n * @param value - The value to check.\n * @throws If the value is not a valid hex string.\n */\nfunction assertIsStrictHexString(value) {\n (0, assert_1.assert)(isStrictHexString(value), 'Value must be a hexadecimal string, starting with \"0x\".');\n}\nexports.assertIsStrictHexString = assertIsStrictHexString;\n/**\n * Add the `0x`-prefix to a hexadecimal string. If the string already has the\n * prefix, it is returned as-is.\n *\n * @param hexadecimal - The hexadecimal string to add the prefix to.\n * @returns The prefixed hexadecimal string.\n */\nfunction add0x(hexadecimal) {\n if (hexadecimal.startsWith('0x')) {\n return hexadecimal;\n }\n if (hexadecimal.startsWith('0X')) {\n return `0x${hexadecimal.substring(2)}`;\n }\n return `0x${hexadecimal}`;\n}\nexports.add0x = add0x;\n/**\n * Remove the `0x`-prefix from a hexadecimal string. If the string doesn't have\n * the prefix, it is returned as-is.\n *\n * @param hexadecimal - The hexadecimal string to remove the prefix from.\n * @returns The un-prefixed hexadecimal string.\n */\nfunction remove0x(hexadecimal) {\n if (hexadecimal.startsWith('0x') || hexadecimal.startsWith('0X')) {\n return hexadecimal.substring(2);\n }\n return hexadecimal;\n}\nexports.remove0x = remove0x;\n//# sourceMappingURL=hex.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createDataView = exports.concatBytes = exports.valueToBytes = exports.stringToBytes = exports.numberToBytes = exports.signedBigIntToBytes = exports.bigIntToBytes = exports.hexToBytes = exports.bytesToString = exports.bytesToNumber = exports.bytesToSignedBigInt = exports.bytesToBigInt = exports.bytesToHex = exports.assertIsBytes = exports.isBytes = void 0;\nconst assert_1 = require(\"./assert\");\nconst hex_1 = require(\"./hex\");\n// '0'.charCodeAt(0) === 48\nconst HEX_MINIMUM_NUMBER_CHARACTER = 48;\n// '9'.charCodeAt(0) === 57\nconst HEX_MAXIMUM_NUMBER_CHARACTER = 58;\nconst HEX_CHARACTER_OFFSET = 87;\n/**\n * Memoized function that returns an array to be used as a lookup table for\n * converting bytes to hexadecimal values.\n *\n * The array is created lazily and then cached for future use. The benefit of\n * this approach is that the performance of converting bytes to hex is much\n * better than if we were to call `toString(16)` on each byte.\n *\n * The downside is that the array is created once and then never garbage\n * collected. This is not a problem in practice because the array is only 256\n * elements long.\n *\n * @returns A function that returns the lookup table.\n */\nfunction getPrecomputedHexValuesBuilder() {\n // To avoid issues with tree shaking, we need to use a function to return the\n // array. This is because the array is only used in the `bytesToHex` function\n // and if we were to use a global variable, the array might be removed by the\n // tree shaker.\n const lookupTable = [];\n return () => {\n if (lookupTable.length === 0) {\n for (let i = 0; i < 256; i++) {\n lookupTable.push(i.toString(16).padStart(2, '0'));\n }\n }\n return lookupTable;\n };\n}\n/**\n * Function implementation of the {@link getPrecomputedHexValuesBuilder}\n * function.\n */\nconst getPrecomputedHexValues = getPrecomputedHexValuesBuilder();\n/**\n * Check if a value is a `Uint8Array`.\n *\n * @param value - The value to check.\n * @returns Whether the value is a `Uint8Array`.\n */\nfunction isBytes(value) {\n return value instanceof Uint8Array;\n}\nexports.isBytes = isBytes;\n/**\n * Assert that a value is a `Uint8Array`.\n *\n * @param value - The value to check.\n * @throws If the value is not a `Uint8Array`.\n */\nfunction assertIsBytes(value) {\n (0, assert_1.assert)(isBytes(value), 'Value must be a Uint8Array.');\n}\nexports.assertIsBytes = assertIsBytes;\n/**\n * Convert a `Uint8Array` to a hexadecimal string.\n *\n * @param bytes - The bytes to convert to a hexadecimal string.\n * @returns The hexadecimal string.\n */\nfunction bytesToHex(bytes) {\n assertIsBytes(bytes);\n if (bytes.length === 0) {\n return '0x';\n }\n const lookupTable = getPrecomputedHexValues();\n const hexadecimal = new Array(bytes.length);\n for (let i = 0; i < bytes.length; i++) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n hexadecimal[i] = lookupTable[bytes[i]];\n }\n return (0, hex_1.add0x)(hexadecimal.join(''));\n}\nexports.bytesToHex = bytesToHex;\n/**\n * Convert a `Uint8Array` to a `bigint`.\n *\n * To convert a `Uint8Array` to a `number` instead, use {@link bytesToNumber}.\n * To convert a two's complement encoded `Uint8Array` to a `bigint`, use\n * {@link bytesToSignedBigInt}.\n *\n * @param bytes - The bytes to convert to a `bigint`.\n * @returns The `bigint`.\n */\nfunction bytesToBigInt(bytes) {\n assertIsBytes(bytes);\n const hexadecimal = bytesToHex(bytes);\n return BigInt(hexadecimal);\n}\nexports.bytesToBigInt = bytesToBigInt;\n/**\n * Convert a `Uint8Array` to a signed `bigint`. This assumes that the bytes are\n * encoded in two's complement.\n *\n * To convert a `Uint8Array` to an unsigned `bigint` instead, use\n * {@link bytesToBigInt}.\n *\n * @see https://en.wikipedia.org/wiki/Two%27s_complement\n * @param bytes - The bytes to convert to a signed `bigint`.\n * @returns The signed `bigint`.\n */\nfunction bytesToSignedBigInt(bytes) {\n assertIsBytes(bytes);\n let value = BigInt(0);\n for (const byte of bytes) {\n // eslint-disable-next-line no-bitwise\n value = (value << BigInt(8)) + BigInt(byte);\n }\n return BigInt.asIntN(bytes.length * 8, value);\n}\nexports.bytesToSignedBigInt = bytesToSignedBigInt;\n/**\n * Convert a `Uint8Array` to a `number`.\n *\n * To convert a `Uint8Array` to a `bigint` instead, use {@link bytesToBigInt}.\n *\n * @param bytes - The bytes to convert to a number.\n * @returns The number.\n * @throws If the resulting number is not a safe integer.\n */\nfunction bytesToNumber(bytes) {\n assertIsBytes(bytes);\n const bigint = bytesToBigInt(bytes);\n (0, assert_1.assert)(bigint <= BigInt(Number.MAX_SAFE_INTEGER), 'Number is not a safe integer. Use `bytesToBigInt` instead.');\n return Number(bigint);\n}\nexports.bytesToNumber = bytesToNumber;\n/**\n * Convert a UTF-8 encoded `Uint8Array` to a `string`.\n *\n * @param bytes - The bytes to convert to a string.\n * @returns The string.\n */\nfunction bytesToString(bytes) {\n assertIsBytes(bytes);\n return new TextDecoder().decode(bytes);\n}\nexports.bytesToString = bytesToString;\n/**\n * Convert a hexadecimal string to a `Uint8Array`. The string can optionally be\n * prefixed with `0x`. It accepts even and odd length strings.\n *\n * If the value is \"0x\", an empty `Uint8Array` is returned.\n *\n * @param value - The hexadecimal string to convert to bytes.\n * @returns The bytes as `Uint8Array`.\n */\nfunction hexToBytes(value) {\n var _a;\n // \"0x\" is often used as empty byte array.\n if (((_a = value === null || value === void 0 ? void 0 : value.toLowerCase) === null || _a === void 0 ? void 0 : _a.call(value)) === '0x') {\n return new Uint8Array();\n }\n (0, hex_1.assertIsHexString)(value);\n // Remove the `0x` prefix if it exists, and pad the string to have an even\n // number of characters.\n const strippedValue = (0, hex_1.remove0x)(value).toLowerCase();\n const normalizedValue = strippedValue.length % 2 === 0 ? strippedValue : `0${strippedValue}`;\n const bytes = new Uint8Array(normalizedValue.length / 2);\n for (let i = 0; i < bytes.length; i++) {\n // While this is not the prettiest way to convert a hexadecimal string to a\n // `Uint8Array`, it is a lot faster than using `parseInt` to convert each\n // character.\n const c1 = normalizedValue.charCodeAt(i * 2);\n const c2 = normalizedValue.charCodeAt(i * 2 + 1);\n const n1 = c1 -\n (c1 < HEX_MAXIMUM_NUMBER_CHARACTER\n ? HEX_MINIMUM_NUMBER_CHARACTER\n : HEX_CHARACTER_OFFSET);\n const n2 = c2 -\n (c2 < HEX_MAXIMUM_NUMBER_CHARACTER\n ? HEX_MINIMUM_NUMBER_CHARACTER\n : HEX_CHARACTER_OFFSET);\n bytes[i] = n1 * 16 + n2;\n }\n return bytes;\n}\nexports.hexToBytes = hexToBytes;\n/**\n * Convert a `bigint` to a `Uint8Array`.\n *\n * This assumes that the `bigint` is an unsigned integer. To convert a signed\n * `bigint` instead, use {@link signedBigIntToBytes}.\n *\n * @param value - The bigint to convert to bytes.\n * @returns The bytes as `Uint8Array`.\n */\nfunction bigIntToBytes(value) {\n (0, assert_1.assert)(typeof value === 'bigint', 'Value must be a bigint.');\n (0, assert_1.assert)(value >= BigInt(0), 'Value must be a non-negative bigint.');\n const hexadecimal = value.toString(16);\n return hexToBytes(hexadecimal);\n}\nexports.bigIntToBytes = bigIntToBytes;\n/**\n * Check if a `bigint` fits in a certain number of bytes.\n *\n * @param value - The `bigint` to check.\n * @param bytes - The number of bytes.\n * @returns Whether the `bigint` fits in the number of bytes.\n */\nfunction bigIntFits(value, bytes) {\n (0, assert_1.assert)(bytes > 0);\n /* eslint-disable no-bitwise */\n const mask = value >> BigInt(31);\n return !(((~value & mask) + (value & ~mask)) >> BigInt(bytes * 8 + ~0));\n /* eslint-enable no-bitwise */\n}\n/**\n * Convert a signed `bigint` to a `Uint8Array`. This uses two's complement\n * encoding to represent negative numbers.\n *\n * To convert an unsigned `bigint` to a `Uint8Array` instead, use\n * {@link bigIntToBytes}.\n *\n * @see https://en.wikipedia.org/wiki/Two%27s_complement\n * @param value - The number to convert to bytes.\n * @param byteLength - The length of the resulting `Uint8Array`. If the number\n * is larger than the maximum value that can be represented by the given length,\n * an error is thrown.\n * @returns The bytes as `Uint8Array`.\n */\nfunction signedBigIntToBytes(value, byteLength) {\n (0, assert_1.assert)(typeof value === 'bigint', 'Value must be a bigint.');\n (0, assert_1.assert)(typeof byteLength === 'number', 'Byte length must be a number.');\n (0, assert_1.assert)(byteLength > 0, 'Byte length must be greater than 0.');\n (0, assert_1.assert)(bigIntFits(value, byteLength), 'Byte length is too small to represent the given value.');\n // ESLint doesn't like mutating function parameters, so to avoid having to\n // disable the rule, we create a new variable.\n let numberValue = value;\n const bytes = new Uint8Array(byteLength);\n for (let i = 0; i < bytes.length; i++) {\n bytes[i] = Number(BigInt.asUintN(8, numberValue));\n // eslint-disable-next-line no-bitwise\n numberValue >>= BigInt(8);\n }\n return bytes.reverse();\n}\nexports.signedBigIntToBytes = signedBigIntToBytes;\n/**\n * Convert a `number` to a `Uint8Array`.\n *\n * @param value - The number to convert to bytes.\n * @returns The bytes as `Uint8Array`.\n * @throws If the number is not a safe integer.\n */\nfunction numberToBytes(value) {\n (0, assert_1.assert)(typeof value === 'number', 'Value must be a number.');\n (0, assert_1.assert)(value >= 0, 'Value must be a non-negative number.');\n (0, assert_1.assert)(Number.isSafeInteger(value), 'Value is not a safe integer. Use `bigIntToBytes` instead.');\n const hexadecimal = value.toString(16);\n return hexToBytes(hexadecimal);\n}\nexports.numberToBytes = numberToBytes;\n/**\n * Convert a `string` to a UTF-8 encoded `Uint8Array`.\n *\n * @param value - The string to convert to bytes.\n * @returns The bytes as `Uint8Array`.\n */\nfunction stringToBytes(value) {\n (0, assert_1.assert)(typeof value === 'string', 'Value must be a string.');\n return new TextEncoder().encode(value);\n}\nexports.stringToBytes = stringToBytes;\n/**\n * Convert a byte-like value to a `Uint8Array`. The value can be a `Uint8Array`,\n * a `bigint`, a `number`, or a `string`.\n *\n * This will attempt to guess the type of the value based on its type and\n * contents. For more control over the conversion, use the more specific\n * conversion functions, such as {@link hexToBytes} or {@link stringToBytes}.\n *\n * If the value is a `string`, and it is prefixed with `0x`, it will be\n * interpreted as a hexadecimal string. Otherwise, it will be interpreted as a\n * UTF-8 string. To convert a hexadecimal string to bytes without interpreting\n * it as a UTF-8 string, use {@link hexToBytes} instead.\n *\n * If the value is a `bigint`, it is assumed to be unsigned. To convert a signed\n * `bigint` to bytes, use {@link signedBigIntToBytes} instead.\n *\n * If the value is a `Uint8Array`, it will be returned as-is.\n *\n * @param value - The value to convert to bytes.\n * @returns The bytes as `Uint8Array`.\n */\nfunction valueToBytes(value) {\n if (typeof value === 'bigint') {\n return bigIntToBytes(value);\n }\n if (typeof value === 'number') {\n return numberToBytes(value);\n }\n if (typeof value === 'string') {\n if (value.startsWith('0x')) {\n return hexToBytes(value);\n }\n return stringToBytes(value);\n }\n if (isBytes(value)) {\n return value;\n }\n throw new TypeError(`Unsupported value type: \"${typeof value}\".`);\n}\nexports.valueToBytes = valueToBytes;\n/**\n * Concatenate multiple byte-like values into a single `Uint8Array`. The values\n * can be `Uint8Array`, `bigint`, `number`, or `string`. This uses\n * {@link valueToBytes} under the hood to convert each value to bytes. Refer to\n * the documentation of that function for more information.\n *\n * @param values - The values to concatenate.\n * @returns The concatenated bytes as `Uint8Array`.\n */\nfunction concatBytes(values) {\n const normalizedValues = new Array(values.length);\n let byteLength = 0;\n for (let i = 0; i < values.length; i++) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const value = valueToBytes(values[i]);\n normalizedValues[i] = value;\n byteLength += value.length;\n }\n const bytes = new Uint8Array(byteLength);\n for (let i = 0, offset = 0; i < normalizedValues.length; i++) {\n // While we could simply spread the values into an array and use\n // `Uint8Array.from`, that is a lot slower than using `Uint8Array.set`.\n bytes.set(normalizedValues[i], offset);\n offset += normalizedValues[i].length;\n }\n return bytes;\n}\nexports.concatBytes = concatBytes;\n/**\n * Create a {@link DataView} from a {@link Uint8Array}. This is a convenience\n * function that avoids having to create a {@link DataView} manually, which\n * requires passing the `byteOffset` and `byteLength` parameters every time.\n *\n * Not passing the `byteOffset` and `byteLength` parameters can result in\n * unexpected behavior when the {@link Uint8Array} is a view of a larger\n * {@link ArrayBuffer}, e.g., when using {@link Uint8Array.subarray}.\n *\n * This function also supports Node.js {@link Buffer}s.\n *\n * @example\n * ```typescript\n * const bytes = new Uint8Array([1, 2, 3]);\n *\n * // This is equivalent to:\n * // const dataView = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n * const dataView = createDataView(bytes);\n * ```\n * @param bytes - The bytes to create the {@link DataView} from.\n * @returns The {@link DataView}.\n */\nfunction createDataView(bytes) {\n // To maintain compatibility with Node.js, we need to check if the bytes are\n // a Buffer. If so, we need to slice the buffer to get the underlying\n // ArrayBuffer.\n // eslint-disable-next-line no-restricted-globals\n if (typeof Buffer !== 'undefined' && bytes instanceof Buffer) {\n const buffer = bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength);\n return new DataView(buffer);\n }\n return new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n}\nexports.createDataView = createDataView;\n//# sourceMappingURL=bytes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChecksumStruct = void 0;\nconst superstruct_1 = require(\"superstruct\");\nconst base64_1 = require(\"./base64\");\nexports.ChecksumStruct = (0, superstruct_1.size)((0, base64_1.base64)((0, superstruct_1.string)(), { paddingRequired: true }), 44, 44);\n//# sourceMappingURL=checksum.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createHex = exports.createBytes = exports.createBigInt = exports.createNumber = void 0;\nconst superstruct_1 = require(\"superstruct\");\nconst assert_1 = require(\"./assert\");\nconst bytes_1 = require(\"./bytes\");\nconst hex_1 = require(\"./hex\");\nconst NumberLikeStruct = (0, superstruct_1.union)([(0, superstruct_1.number)(), (0, superstruct_1.bigint)(), (0, superstruct_1.string)(), hex_1.StrictHexStruct]);\nconst NumberCoercer = (0, superstruct_1.coerce)((0, superstruct_1.number)(), NumberLikeStruct, Number);\nconst BigIntCoercer = (0, superstruct_1.coerce)((0, superstruct_1.bigint)(), NumberLikeStruct, BigInt);\nconst BytesLikeStruct = (0, superstruct_1.union)([hex_1.StrictHexStruct, (0, superstruct_1.instance)(Uint8Array)]);\nconst BytesCoercer = (0, superstruct_1.coerce)((0, superstruct_1.instance)(Uint8Array), (0, superstruct_1.union)([hex_1.StrictHexStruct]), bytes_1.hexToBytes);\nconst HexCoercer = (0, superstruct_1.coerce)(hex_1.StrictHexStruct, (0, superstruct_1.instance)(Uint8Array), bytes_1.bytesToHex);\n/**\n * Create a number from a number-like value.\n *\n * - If the value is a number, it is returned as-is.\n * - If the value is a `bigint`, it is converted to a number.\n * - If the value is a string, it is interpreted as a decimal number.\n * - If the value is a hex string (i.e., it starts with \"0x\"), it is\n * interpreted as a hexadecimal number.\n *\n * This validates that the value is a number-like value, and that the resulting\n * number is not `NaN` or `Infinity`.\n *\n * @example\n * ```typescript\n * const value = createNumber('0x010203');\n * console.log(value); // 66051\n *\n * const otherValue = createNumber(123n);\n * console.log(otherValue); // 123\n * ```\n * @param value - The value to create the number from.\n * @returns The created number.\n * @throws If the value is not a number-like value, or if the resulting number\n * is `NaN` or `Infinity`.\n */\nfunction createNumber(value) {\n try {\n const result = (0, superstruct_1.create)(value, NumberCoercer);\n (0, assert_1.assert)(Number.isFinite(result), `Expected a number-like value, got \"${value}\".`);\n return result;\n }\n catch (error) {\n if (error instanceof superstruct_1.StructError) {\n throw new Error(`Expected a number-like value, got \"${value}\".`);\n }\n /* istanbul ignore next */\n throw error;\n }\n}\nexports.createNumber = createNumber;\n/**\n * Create a `bigint` from a number-like value.\n *\n * - If the value is a number, it is converted to a `bigint`.\n * - If the value is a `bigint`, it is returned as-is.\n * - If the value is a string, it is interpreted as a decimal number and\n * converted to a `bigint`.\n * - If the value is a hex string (i.e., it starts with \"0x\"), it is\n * interpreted as a hexadecimal number and converted to a `bigint`.\n *\n * @example\n * ```typescript\n * const value = createBigInt('0x010203');\n * console.log(value); // 16909060n\n *\n * const otherValue = createBigInt(123);\n * console.log(otherValue); // 123n\n * ```\n * @param value - The value to create the bigint from.\n * @returns The created bigint.\n * @throws If the value is not a number-like value.\n */\nfunction createBigInt(value) {\n try {\n // The `BigInt` constructor throws if the value is not a number-like value.\n // There is no need to validate the value manually.\n return (0, superstruct_1.create)(value, BigIntCoercer);\n }\n catch (error) {\n if (error instanceof superstruct_1.StructError) {\n throw new Error(`Expected a number-like value, got \"${String(error.value)}\".`);\n }\n /* istanbul ignore next */\n throw error;\n }\n}\nexports.createBigInt = createBigInt;\n/**\n * Create a byte array from a bytes-like value.\n *\n * - If the value is a byte array, it is returned as-is.\n * - If the value is a hex string (i.e., it starts with \"0x\"), it is interpreted\n * as a hexadecimal number and converted to a byte array.\n *\n * @example\n * ```typescript\n * const value = createBytes('0x010203');\n * console.log(value); // Uint8Array [ 1, 2, 3 ]\n *\n * const otherValue = createBytes('0x010203');\n * console.log(otherValue); // Uint8Array [ 1, 2, 3 ]\n * ```\n * @param value - The value to create the byte array from.\n * @returns The created byte array.\n * @throws If the value is not a bytes-like value.\n */\nfunction createBytes(value) {\n if (typeof value === 'string' && value.toLowerCase() === '0x') {\n return new Uint8Array();\n }\n try {\n return (0, superstruct_1.create)(value, BytesCoercer);\n }\n catch (error) {\n if (error instanceof superstruct_1.StructError) {\n throw new Error(`Expected a bytes-like value, got \"${String(error.value)}\".`);\n }\n /* istanbul ignore next */\n throw error;\n }\n}\nexports.createBytes = createBytes;\n/**\n * Create a hexadecimal string from a bytes-like value.\n *\n * - If the value is a hex string (i.e., it starts with \"0x\"), it is returned\n * as-is.\n * - If the value is a `Uint8Array`, it is converted to a hex string.\n *\n * @example\n * ```typescript\n * const value = createHex(new Uint8Array([1, 2, 3]));\n * console.log(value); // '0x010203'\n *\n * const otherValue = createHex('0x010203');\n * console.log(otherValue); // '0x010203'\n * ```\n * @param value - The value to create the hex string from.\n * @returns The created hex string.\n * @throws If the value is not a bytes-like value.\n */\nfunction createHex(value) {\n if ((value instanceof Uint8Array && value.length === 0) ||\n (typeof value === 'string' && value.toLowerCase() === '0x')) {\n return '0x';\n }\n try {\n return (0, superstruct_1.create)(value, HexCoercer);\n }\n catch (error) {\n if (error instanceof superstruct_1.StructError) {\n throw new Error(`Expected a bytes-like value, got \"${String(error.value)}\".`);\n }\n /* istanbul ignore next */\n throw error;\n }\n}\nexports.createHex = createHex;\n//# sourceMappingURL=coercers.js.map","\"use strict\";\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _FrozenMap_map, _FrozenSet_set;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FrozenSet = exports.FrozenMap = void 0;\n/**\n * A {@link ReadonlyMap} that cannot be modified after instantiation.\n * The implementation uses an inner map hidden via a private field, and the\n * immutability guarantee relies on it being impossible to get a reference\n * to this map.\n */\nclass FrozenMap {\n constructor(entries) {\n _FrozenMap_map.set(this, void 0);\n __classPrivateFieldSet(this, _FrozenMap_map, new Map(entries), \"f\");\n Object.freeze(this);\n }\n get size() {\n return __classPrivateFieldGet(this, _FrozenMap_map, \"f\").size;\n }\n [(_FrozenMap_map = new WeakMap(), Symbol.iterator)]() {\n return __classPrivateFieldGet(this, _FrozenMap_map, \"f\")[Symbol.iterator]();\n }\n entries() {\n return __classPrivateFieldGet(this, _FrozenMap_map, \"f\").entries();\n }\n forEach(callbackfn, thisArg) {\n // We have to wrap the specified callback in order to prevent it from\n // receiving a reference to the inner map.\n return __classPrivateFieldGet(this, _FrozenMap_map, \"f\").forEach((value, key, _map) => callbackfn.call(thisArg, value, key, this));\n }\n get(key) {\n return __classPrivateFieldGet(this, _FrozenMap_map, \"f\").get(key);\n }\n has(key) {\n return __classPrivateFieldGet(this, _FrozenMap_map, \"f\").has(key);\n }\n keys() {\n return __classPrivateFieldGet(this, _FrozenMap_map, \"f\").keys();\n }\n values() {\n return __classPrivateFieldGet(this, _FrozenMap_map, \"f\").values();\n }\n toString() {\n return `FrozenMap(${this.size}) {${this.size > 0\n ? ` ${[...this.entries()]\n .map(([key, value]) => `${String(key)} => ${String(value)}`)\n .join(', ')} `\n : ''}}`;\n }\n}\nexports.FrozenMap = FrozenMap;\n/**\n * A {@link ReadonlySet} that cannot be modified after instantiation.\n * The implementation uses an inner set hidden via a private field, and the\n * immutability guarantee relies on it being impossible to get a reference\n * to this set.\n */\nclass FrozenSet {\n constructor(values) {\n _FrozenSet_set.set(this, void 0);\n __classPrivateFieldSet(this, _FrozenSet_set, new Set(values), \"f\");\n Object.freeze(this);\n }\n get size() {\n return __classPrivateFieldGet(this, _FrozenSet_set, \"f\").size;\n }\n [(_FrozenSet_set = new WeakMap(), Symbol.iterator)]() {\n return __classPrivateFieldGet(this, _FrozenSet_set, \"f\")[Symbol.iterator]();\n }\n entries() {\n return __classPrivateFieldGet(this, _FrozenSet_set, \"f\").entries();\n }\n forEach(callbackfn, thisArg) {\n // We have to wrap the specified callback in order to prevent it from\n // receiving a reference to the inner set.\n return __classPrivateFieldGet(this, _FrozenSet_set, \"f\").forEach((value, value2, _set) => callbackfn.call(thisArg, value, value2, this));\n }\n has(value) {\n return __classPrivateFieldGet(this, _FrozenSet_set, \"f\").has(value);\n }\n keys() {\n return __classPrivateFieldGet(this, _FrozenSet_set, \"f\").keys();\n }\n values() {\n return __classPrivateFieldGet(this, _FrozenSet_set, \"f\").values();\n }\n toString() {\n return `FrozenSet(${this.size}) {${this.size > 0\n ? ` ${[...this.values()].map((member) => String(member)).join(', ')} `\n : ''}}`;\n }\n}\nexports.FrozenSet = FrozenSet;\nObject.freeze(FrozenMap);\nObject.freeze(FrozenMap.prototype);\nObject.freeze(FrozenSet);\nObject.freeze(FrozenSet.prototype);\n//# sourceMappingURL=collections.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=encryption-types.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getJsonRpcIdValidator = exports.assertIsJsonRpcError = exports.isJsonRpcError = exports.assertIsJsonRpcFailure = exports.isJsonRpcFailure = exports.assertIsJsonRpcSuccess = exports.isJsonRpcSuccess = exports.assertIsJsonRpcResponse = exports.isJsonRpcResponse = exports.assertIsPendingJsonRpcResponse = exports.isPendingJsonRpcResponse = exports.JsonRpcResponseStruct = exports.JsonRpcFailureStruct = exports.JsonRpcSuccessStruct = exports.PendingJsonRpcResponseStruct = exports.assertIsJsonRpcRequest = exports.isJsonRpcRequest = exports.assertIsJsonRpcNotification = exports.isJsonRpcNotification = exports.JsonRpcNotificationStruct = exports.JsonRpcRequestStruct = exports.JsonRpcParamsStruct = exports.JsonRpcErrorStruct = exports.JsonRpcIdStruct = exports.JsonRpcVersionStruct = exports.jsonrpc2 = exports.getJsonSize = exports.isValidJson = exports.JsonStruct = exports.UnsafeJsonStruct = void 0;\nconst superstruct_1 = require(\"superstruct\");\nconst assert_1 = require(\"./assert\");\n/**\n * A struct to check if the given value is finite number. Superstruct's\n * `number()` struct does not check if the value is finite.\n *\n * @returns A struct to check if the given value is finite number.\n */\nconst finiteNumber = () => (0, superstruct_1.define)('finite number', (value) => {\n return (0, superstruct_1.is)(value, (0, superstruct_1.number)()) && Number.isFinite(value);\n});\n/**\n * A struct to check if the given value is a valid JSON-serializable value.\n *\n * Note that this struct is unsafe. For safe validation, use {@link JsonStruct}.\n */\n// We cannot infer the type of the struct, because it is recursive.\nexports.UnsafeJsonStruct = (0, superstruct_1.union)([\n (0, superstruct_1.literal)(null),\n (0, superstruct_1.boolean)(),\n finiteNumber(),\n (0, superstruct_1.string)(),\n (0, superstruct_1.array)((0, superstruct_1.lazy)(() => exports.UnsafeJsonStruct)),\n (0, superstruct_1.record)((0, superstruct_1.string)(), (0, superstruct_1.lazy)(() => exports.UnsafeJsonStruct)),\n]);\n/**\n * A struct to check if the given value is a valid JSON-serializable value.\n *\n * This struct sanitizes the value before validating it, so that it is safe to\n * use with untrusted input.\n */\nexports.JsonStruct = (0, superstruct_1.define)('Json', (value, context) => {\n /**\n * Helper function that runs the given struct validator and returns the\n * validation errors, if any. If the value is valid, it returns `true`.\n *\n * @param innerValue - The value to validate.\n * @param struct - The struct to use for validation.\n * @returns The validation errors, or `true` if the value is valid.\n */\n function checkStruct(innerValue, struct) {\n const iterator = struct.validator(innerValue, context);\n const errors = [...iterator];\n if (errors.length > 0) {\n return errors;\n }\n return true;\n }\n try {\n // The plain value must be a valid JSON value, but it may be altered in the\n // process of JSON serialization, so we need to validate it again after\n // serialization. This has the added benefit that the returned error messages\n // will be more helpful, as they will point to the exact location of the\n // invalid value.\n //\n // This seems overcomplicated, but without checking the plain value first,\n // there are some cases where the validation passes, even though the value is\n // not valid JSON. For example, `undefined` is not valid JSON, but serializing\n // it will remove it from the object, so the validation will pass.\n const unsafeResult = checkStruct(value, exports.UnsafeJsonStruct);\n if (unsafeResult !== true) {\n return unsafeResult;\n }\n // JavaScript engines are highly optimized for this specific use case of\n // JSON parsing and stringifying, so there should be no performance impact.\n return checkStruct(JSON.parse(JSON.stringify(value)), exports.UnsafeJsonStruct);\n }\n catch (error) {\n if (error instanceof RangeError) {\n return 'Circular reference detected';\n }\n return false;\n }\n});\n/**\n * Check if the given value is a valid {@link Json} value, i.e., a value that is\n * serializable to JSON.\n *\n * @param value - The value to check.\n * @returns Whether the value is a valid {@link Json} value.\n */\nfunction isValidJson(value) {\n return (0, superstruct_1.is)(value, exports.JsonStruct);\n}\nexports.isValidJson = isValidJson;\n/**\n * Get the size of a JSON value in bytes. This also validates the value.\n *\n * @param value - The JSON value to get the size of.\n * @returns The size of the JSON value in bytes.\n */\nfunction getJsonSize(value) {\n (0, assert_1.assertStruct)(value, exports.JsonStruct, 'Invalid JSON value');\n const json = JSON.stringify(value);\n return new TextEncoder().encode(json).byteLength;\n}\nexports.getJsonSize = getJsonSize;\n/**\n * The string '2.0'.\n */\nexports.jsonrpc2 = '2.0';\nexports.JsonRpcVersionStruct = (0, superstruct_1.literal)(exports.jsonrpc2);\nexports.JsonRpcIdStruct = (0, superstruct_1.nullable)((0, superstruct_1.union)([(0, superstruct_1.number)(), (0, superstruct_1.string)()]));\nexports.JsonRpcErrorStruct = (0, superstruct_1.object)({\n code: (0, superstruct_1.integer)(),\n message: (0, superstruct_1.string)(),\n data: (0, superstruct_1.optional)(exports.JsonStruct),\n stack: (0, superstruct_1.optional)((0, superstruct_1.string)()),\n});\nexports.JsonRpcParamsStruct = (0, superstruct_1.optional)((0, superstruct_1.union)([(0, superstruct_1.record)((0, superstruct_1.string)(), exports.JsonStruct), (0, superstruct_1.array)(exports.JsonStruct)]));\nexports.JsonRpcRequestStruct = (0, superstruct_1.object)({\n id: exports.JsonRpcIdStruct,\n jsonrpc: exports.JsonRpcVersionStruct,\n method: (0, superstruct_1.string)(),\n params: exports.JsonRpcParamsStruct,\n});\nexports.JsonRpcNotificationStruct = (0, superstruct_1.omit)(exports.JsonRpcRequestStruct, ['id']);\n/**\n * Check if the given value is a valid {@link JsonRpcNotification} object.\n *\n * @param value - The value to check.\n * @returns Whether the given value is a valid {@link JsonRpcNotification}\n * object.\n */\nfunction isJsonRpcNotification(value) {\n return (0, superstruct_1.is)(value, exports.JsonRpcNotificationStruct);\n}\nexports.isJsonRpcNotification = isJsonRpcNotification;\n/**\n * Assert that the given value is a valid {@link JsonRpcNotification} object.\n *\n * @param value - The value to check.\n * @param ErrorWrapper - The error class to throw if the assertion fails.\n * Defaults to {@link AssertionError}.\n * @throws If the given value is not a valid {@link JsonRpcNotification} object.\n */\nfunction assertIsJsonRpcNotification(value, \n// eslint-disable-next-line @typescript-eslint/naming-convention\nErrorWrapper) {\n (0, assert_1.assertStruct)(value, exports.JsonRpcNotificationStruct, 'Invalid JSON-RPC notification', ErrorWrapper);\n}\nexports.assertIsJsonRpcNotification = assertIsJsonRpcNotification;\n/**\n * Check if the given value is a valid {@link JsonRpcRequest} object.\n *\n * @param value - The value to check.\n * @returns Whether the given value is a valid {@link JsonRpcRequest} object.\n */\nfunction isJsonRpcRequest(value) {\n return (0, superstruct_1.is)(value, exports.JsonRpcRequestStruct);\n}\nexports.isJsonRpcRequest = isJsonRpcRequest;\n/**\n * Assert that the given value is a valid {@link JsonRpcRequest} object.\n *\n * @param value - The JSON-RPC request or notification to check.\n * @param ErrorWrapper - The error class to throw if the assertion fails.\n * Defaults to {@link AssertionError}.\n * @throws If the given value is not a valid {@link JsonRpcRequest} object.\n */\nfunction assertIsJsonRpcRequest(value, \n// eslint-disable-next-line @typescript-eslint/naming-convention\nErrorWrapper) {\n (0, assert_1.assertStruct)(value, exports.JsonRpcRequestStruct, 'Invalid JSON-RPC request', ErrorWrapper);\n}\nexports.assertIsJsonRpcRequest = assertIsJsonRpcRequest;\nexports.PendingJsonRpcResponseStruct = (0, superstruct_1.object)({\n id: exports.JsonRpcIdStruct,\n jsonrpc: exports.JsonRpcVersionStruct,\n result: (0, superstruct_1.optional)((0, superstruct_1.unknown)()),\n error: (0, superstruct_1.optional)(exports.JsonRpcErrorStruct),\n});\nexports.JsonRpcSuccessStruct = (0, superstruct_1.object)({\n id: exports.JsonRpcIdStruct,\n jsonrpc: exports.JsonRpcVersionStruct,\n result: exports.JsonStruct,\n});\nexports.JsonRpcFailureStruct = (0, superstruct_1.object)({\n id: exports.JsonRpcIdStruct,\n jsonrpc: exports.JsonRpcVersionStruct,\n error: exports.JsonRpcErrorStruct,\n});\nexports.JsonRpcResponseStruct = (0, superstruct_1.union)([\n exports.JsonRpcSuccessStruct,\n exports.JsonRpcFailureStruct,\n]);\n/**\n * Type guard to check whether specified JSON-RPC response is a\n * {@link PendingJsonRpcResponse}.\n *\n * @param response - The JSON-RPC response to check.\n * @returns Whether the specified JSON-RPC response is pending.\n */\nfunction isPendingJsonRpcResponse(response) {\n return (0, superstruct_1.is)(response, exports.PendingJsonRpcResponseStruct);\n}\nexports.isPendingJsonRpcResponse = isPendingJsonRpcResponse;\n/**\n * Assert that the given value is a valid {@link PendingJsonRpcResponse} object.\n *\n * @param response - The JSON-RPC response to check.\n * @param ErrorWrapper - The error class to throw if the assertion fails.\n * Defaults to {@link AssertionError}.\n * @throws If the given value is not a valid {@link PendingJsonRpcResponse}\n * object.\n */\nfunction assertIsPendingJsonRpcResponse(response, \n// eslint-disable-next-line @typescript-eslint/naming-convention\nErrorWrapper) {\n (0, assert_1.assertStruct)(response, exports.PendingJsonRpcResponseStruct, 'Invalid pending JSON-RPC response', ErrorWrapper);\n}\nexports.assertIsPendingJsonRpcResponse = assertIsPendingJsonRpcResponse;\n/**\n * Type guard to check if a value is a {@link JsonRpcResponse}.\n *\n * @param response - The object to check.\n * @returns Whether the object is a JsonRpcResponse.\n */\nfunction isJsonRpcResponse(response) {\n return (0, superstruct_1.is)(response, exports.JsonRpcResponseStruct);\n}\nexports.isJsonRpcResponse = isJsonRpcResponse;\n/**\n * Assert that the given value is a valid {@link JsonRpcResponse} object.\n *\n * @param value - The value to check.\n * @param ErrorWrapper - The error class to throw if the assertion fails.\n * Defaults to {@link AssertionError}.\n * @throws If the given value is not a valid {@link JsonRpcResponse} object.\n */\nfunction assertIsJsonRpcResponse(value, \n// eslint-disable-next-line @typescript-eslint/naming-convention\nErrorWrapper) {\n (0, assert_1.assertStruct)(value, exports.JsonRpcResponseStruct, 'Invalid JSON-RPC response', ErrorWrapper);\n}\nexports.assertIsJsonRpcResponse = assertIsJsonRpcResponse;\n/**\n * Check if the given value is a valid {@link JsonRpcSuccess} object.\n *\n * @param value - The value to check.\n * @returns Whether the given value is a valid {@link JsonRpcSuccess} object.\n */\nfunction isJsonRpcSuccess(value) {\n return (0, superstruct_1.is)(value, exports.JsonRpcSuccessStruct);\n}\nexports.isJsonRpcSuccess = isJsonRpcSuccess;\n/**\n * Assert that the given value is a valid {@link JsonRpcSuccess} object.\n *\n * @param value - The value to check.\n * @param ErrorWrapper - The error class to throw if the assertion fails.\n * Defaults to {@link AssertionError}.\n * @throws If the given value is not a valid {@link JsonRpcSuccess} object.\n */\nfunction assertIsJsonRpcSuccess(value, \n// eslint-disable-next-line @typescript-eslint/naming-convention\nErrorWrapper) {\n (0, assert_1.assertStruct)(value, exports.JsonRpcSuccessStruct, 'Invalid JSON-RPC success response', ErrorWrapper);\n}\nexports.assertIsJsonRpcSuccess = assertIsJsonRpcSuccess;\n/**\n * Check if the given value is a valid {@link JsonRpcFailure} object.\n *\n * @param value - The value to check.\n * @returns Whether the given value is a valid {@link JsonRpcFailure} object.\n */\nfunction isJsonRpcFailure(value) {\n return (0, superstruct_1.is)(value, exports.JsonRpcFailureStruct);\n}\nexports.isJsonRpcFailure = isJsonRpcFailure;\n/**\n * Assert that the given value is a valid {@link JsonRpcFailure} object.\n *\n * @param value - The value to check.\n * @param ErrorWrapper - The error class to throw if the assertion fails.\n * Defaults to {@link AssertionError}.\n * @throws If the given value is not a valid {@link JsonRpcFailure} object.\n */\nfunction assertIsJsonRpcFailure(value, \n// eslint-disable-next-line @typescript-eslint/naming-convention\nErrorWrapper) {\n (0, assert_1.assertStruct)(value, exports.JsonRpcFailureStruct, 'Invalid JSON-RPC failure response', ErrorWrapper);\n}\nexports.assertIsJsonRpcFailure = assertIsJsonRpcFailure;\n/**\n * Check if the given value is a valid {@link JsonRpcError} object.\n *\n * @param value - The value to check.\n * @returns Whether the given value is a valid {@link JsonRpcError} object.\n */\nfunction isJsonRpcError(value) {\n return (0, superstruct_1.is)(value, exports.JsonRpcErrorStruct);\n}\nexports.isJsonRpcError = isJsonRpcError;\n/**\n * Assert that the given value is a valid {@link JsonRpcError} object.\n *\n * @param value - The value to check.\n * @param ErrorWrapper - The error class to throw if the assertion fails.\n * Defaults to {@link AssertionError}.\n * @throws If the given value is not a valid {@link JsonRpcError} object.\n */\nfunction assertIsJsonRpcError(value, \n// eslint-disable-next-line @typescript-eslint/naming-convention\nErrorWrapper) {\n (0, assert_1.assertStruct)(value, exports.JsonRpcErrorStruct, 'Invalid JSON-RPC error', ErrorWrapper);\n}\nexports.assertIsJsonRpcError = assertIsJsonRpcError;\n/**\n * Gets a function for validating JSON-RPC request / response `id` values.\n *\n * By manipulating the options of this factory, you can control the behavior\n * of the resulting validator for some edge cases. This is useful because e.g.\n * `null` should sometimes but not always be permitted.\n *\n * Note that the empty string (`''`) is always permitted by the JSON-RPC\n * specification, but that kind of sucks and you may want to forbid it in some\n * instances anyway.\n *\n * For more details, see the\n * [JSON-RPC Specification](https://www.jsonrpc.org/specification).\n *\n * @param options - An options object.\n * @param options.permitEmptyString - Whether the empty string (i.e. `''`)\n * should be treated as a valid ID. Default: `true`\n * @param options.permitFractions - Whether fractional numbers (e.g. `1.2`)\n * should be treated as valid IDs. Default: `false`\n * @param options.permitNull - Whether `null` should be treated as a valid ID.\n * Default: `true`\n * @returns The JSON-RPC ID validator function.\n */\nfunction getJsonRpcIdValidator(options) {\n const { permitEmptyString, permitFractions, permitNull } = Object.assign({ permitEmptyString: true, permitFractions: false, permitNull: true }, options);\n /**\n * Type guard for {@link JsonRpcId}.\n *\n * @param id - The JSON-RPC ID value to check.\n * @returns Whether the given ID is valid per the options given to the\n * factory.\n */\n const isValidJsonRpcId = (id) => {\n return Boolean((typeof id === 'number' && (permitFractions || Number.isInteger(id))) ||\n (typeof id === 'string' && (permitEmptyString || id.length > 0)) ||\n (permitNull && id === null));\n };\n return isValidJsonRpcId;\n}\nexports.getJsonRpcIdValidator = getJsonRpcIdValidator;\n//# sourceMappingURL=json.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=keyring.js.map","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createModuleLogger = exports.createProjectLogger = void 0;\nconst debug_1 = __importDefault(require(\"debug\"));\nconst globalLogger = (0, debug_1.default)('metamask');\n/**\n * Creates a logger via the `debug` library whose log messages will be tagged\n * using the name of your project. By default, such messages will be\n * suppressed, but you can reveal them by setting the `DEBUG` environment\n * variable to `metamask:`. You can also set this variable to\n * `metamask:*` if you want to see log messages from all MetaMask projects that\n * are also using this function to create their loggers.\n *\n * @param projectName - The name of your project. This should be the name of\n * your NPM package if you're developing one.\n * @returns An instance of `debug`.\n */\nfunction createProjectLogger(projectName) {\n return globalLogger.extend(projectName);\n}\nexports.createProjectLogger = createProjectLogger;\n/**\n * Creates a logger via the `debug` library which is derived from the logger for\n * the whole project whose log messages will be tagged using the name of your\n * module. By default, such messages will be suppressed, but you can reveal them\n * by setting the `DEBUG` environment variable to\n * `metamask::`. You can also set this variable to\n * `metamask::*` if you want to see log messages from the project,\n * or `metamask:*` if you want to see log messages from all MetaMask projects.\n *\n * @param projectLogger - The logger created via {@link createProjectLogger}.\n * @param moduleName - The name of your module. You could use the name of the\n * file where you're using this logger or some other name.\n * @returns An instance of `debug`.\n */\nfunction createModuleLogger(projectLogger, moduleName) {\n return projectLogger.extend(moduleName);\n}\nexports.createModuleLogger = createModuleLogger;\n//# sourceMappingURL=logging.js.map","\"use strict\";\n//\n// Types\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.calculateNumberSize = exports.calculateStringSize = exports.isASCII = exports.isPlainObject = exports.ESCAPE_CHARACTERS_REGEXP = exports.JsonSize = exports.hasProperty = exports.isObject = exports.isNullOrUndefined = exports.isNonEmptyArray = void 0;\n//\n// Type Guards\n//\n/**\n * A {@link NonEmptyArray} type guard.\n *\n * @template Element - The non-empty array member type.\n * @param value - The value to check.\n * @returns Whether the value is a non-empty array.\n */\nfunction isNonEmptyArray(value) {\n return Array.isArray(value) && value.length > 0;\n}\nexports.isNonEmptyArray = isNonEmptyArray;\n/**\n * Type guard for \"nullishness\".\n *\n * @param value - Any value.\n * @returns `true` if the value is null or undefined, `false` otherwise.\n */\nfunction isNullOrUndefined(value) {\n return value === null || value === undefined;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n/**\n * A type guard for {@link RuntimeObject}.\n *\n * @param value - The value to check.\n * @returns Whether the specified value has a runtime type of `object` and is\n * neither `null` nor an `Array`.\n */\nfunction isObject(value) {\n return Boolean(value) && typeof value === 'object' && !Array.isArray(value);\n}\nexports.isObject = isObject;\n//\n// Other utility functions\n//\n/**\n * A type guard for ensuring an object has a property.\n *\n * @param objectToCheck - The object to check.\n * @param name - The property name to check for.\n * @returns Whether the specified object has an own property with the specified\n * name, regardless of whether it is enumerable or not.\n */\nconst hasProperty = (objectToCheck, name) => Object.hasOwnProperty.call(objectToCheck, name);\nexports.hasProperty = hasProperty;\n/**\n * Predefined sizes (in Bytes) of specific parts of JSON structure.\n */\nvar JsonSize;\n(function (JsonSize) {\n JsonSize[JsonSize[\"Null\"] = 4] = \"Null\";\n JsonSize[JsonSize[\"Comma\"] = 1] = \"Comma\";\n JsonSize[JsonSize[\"Wrapper\"] = 1] = \"Wrapper\";\n JsonSize[JsonSize[\"True\"] = 4] = \"True\";\n JsonSize[JsonSize[\"False\"] = 5] = \"False\";\n JsonSize[JsonSize[\"Quote\"] = 1] = \"Quote\";\n JsonSize[JsonSize[\"Colon\"] = 1] = \"Colon\";\n // eslint-disable-next-line @typescript-eslint/no-shadow\n JsonSize[JsonSize[\"Date\"] = 24] = \"Date\";\n})(JsonSize = exports.JsonSize || (exports.JsonSize = {}));\n/**\n * Regular expression with pattern matching for (special) escaped characters.\n */\nexports.ESCAPE_CHARACTERS_REGEXP = /\"|\\\\|\\n|\\r|\\t/gu;\n/**\n * Check if the value is plain object.\n *\n * @param value - Value to be checked.\n * @returns True if an object is the plain JavaScript object,\n * false if the object is not plain (e.g. function).\n */\nfunction isPlainObject(value) {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n try {\n let proto = value;\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n return Object.getPrototypeOf(value) === proto;\n }\n catch (_) {\n return false;\n }\n}\nexports.isPlainObject = isPlainObject;\n/**\n * Check if character is ASCII.\n *\n * @param character - Character.\n * @returns True if a character code is ASCII, false if not.\n */\nfunction isASCII(character) {\n return character.charCodeAt(0) <= 127;\n}\nexports.isASCII = isASCII;\n/**\n * Calculate string size.\n *\n * @param value - String value to calculate size.\n * @returns Number of bytes used to store whole string value.\n */\nfunction calculateStringSize(value) {\n var _a;\n const size = value.split('').reduce((total, character) => {\n if (isASCII(character)) {\n return total + 1;\n }\n return total + 2;\n }, 0);\n // Also detect characters that need backslash escape\n return size + ((_a = value.match(exports.ESCAPE_CHARACTERS_REGEXP)) !== null && _a !== void 0 ? _a : []).length;\n}\nexports.calculateStringSize = calculateStringSize;\n/**\n * Calculate size of a number ofter JSON serialization.\n *\n * @param value - Number value to calculate size.\n * @returns Number of bytes used to store whole number in JSON.\n */\nfunction calculateNumberSize(value) {\n return value.toString().length;\n}\nexports.calculateNumberSize = calculateNumberSize;\n//# sourceMappingURL=misc.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hexToBigInt = exports.hexToNumber = exports.bigIntToHex = exports.numberToHex = void 0;\nconst assert_1 = require(\"./assert\");\nconst hex_1 = require(\"./hex\");\n/**\n * Convert a number to a hexadecimal string. This verifies that the number is a\n * non-negative safe integer.\n *\n * To convert a `bigint` to a hexadecimal string instead, use\n * {@link bigIntToHex}.\n *\n * @example\n * ```typescript\n * numberToHex(0); // '0x0'\n * numberToHex(1); // '0x1'\n * numberToHex(16); // '0x10'\n * ```\n * @param value - The number to convert to a hexadecimal string.\n * @returns The hexadecimal string, with the \"0x\"-prefix.\n * @throws If the number is not a non-negative safe integer.\n */\nconst numberToHex = (value) => {\n (0, assert_1.assert)(typeof value === 'number', 'Value must be a number.');\n (0, assert_1.assert)(value >= 0, 'Value must be a non-negative number.');\n (0, assert_1.assert)(Number.isSafeInteger(value), 'Value is not a safe integer. Use `bigIntToHex` instead.');\n return (0, hex_1.add0x)(value.toString(16));\n};\nexports.numberToHex = numberToHex;\n/**\n * Convert a `bigint` to a hexadecimal string. This verifies that the `bigint`\n * is a non-negative integer.\n *\n * To convert a number to a hexadecimal string instead, use {@link numberToHex}.\n *\n * @example\n * ```typescript\n * bigIntToHex(0n); // '0x0'\n * bigIntToHex(1n); // '0x1'\n * bigIntToHex(16n); // '0x10'\n * ```\n * @param value - The `bigint` to convert to a hexadecimal string.\n * @returns The hexadecimal string, with the \"0x\"-prefix.\n * @throws If the `bigint` is not a non-negative integer.\n */\nconst bigIntToHex = (value) => {\n (0, assert_1.assert)(typeof value === 'bigint', 'Value must be a bigint.');\n (0, assert_1.assert)(value >= 0, 'Value must be a non-negative bigint.');\n return (0, hex_1.add0x)(value.toString(16));\n};\nexports.bigIntToHex = bigIntToHex;\n/**\n * Convert a hexadecimal string to a number. This verifies that the string is a\n * valid hex string, and that the resulting number is a safe integer. Both\n * \"0x\"-prefixed and unprefixed strings are supported.\n *\n * To convert a hexadecimal string to a `bigint` instead, use\n * {@link hexToBigInt}.\n *\n * @example\n * ```typescript\n * hexToNumber('0x0'); // 0\n * hexToNumber('0x1'); // 1\n * hexToNumber('0x10'); // 16\n * ```\n * @param value - The hexadecimal string to convert to a number.\n * @returns The number.\n * @throws If the value is not a valid hexadecimal string, or if the resulting\n * number is not a safe integer.\n */\nconst hexToNumber = (value) => {\n (0, hex_1.assertIsHexString)(value);\n // `parseInt` accepts values without the \"0x\"-prefix, whereas `Number` does\n // not. Using this is slightly faster than `Number(add0x(value))`.\n const numberValue = parseInt(value, 16);\n (0, assert_1.assert)(Number.isSafeInteger(numberValue), 'Value is not a safe integer. Use `hexToBigInt` instead.');\n return numberValue;\n};\nexports.hexToNumber = hexToNumber;\n/**\n * Convert a hexadecimal string to a `bigint`. This verifies that the string is\n * a valid hex string. Both \"0x\"-prefixed and unprefixed strings are supported.\n *\n * To convert a hexadecimal string to a number instead, use {@link hexToNumber}.\n *\n * @example\n * ```typescript\n * hexToBigInt('0x0'); // 0n\n * hexToBigInt('0x1'); // 1n\n * hexToBigInt('0x10'); // 16n\n * ```\n * @param value - The hexadecimal string to convert to a `bigint`.\n * @returns The `bigint`.\n * @throws If the value is not a valid hexadecimal string.\n */\nconst hexToBigInt = (value) => {\n (0, hex_1.assertIsHexString)(value);\n // The `BigInt` constructor requires the \"0x\"-prefix to parse a hex string.\n return BigInt((0, hex_1.add0x)(value));\n};\nexports.hexToBigInt = hexToBigInt;\n//# sourceMappingURL=number.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=opaque.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.timeSince = exports.inMilliseconds = exports.Duration = void 0;\n/**\n * Common duration constants, in milliseconds.\n */\nvar Duration;\n(function (Duration) {\n /**\n * A millisecond.\n */\n Duration[Duration[\"Millisecond\"] = 1] = \"Millisecond\";\n /**\n * A second, in milliseconds.\n */\n Duration[Duration[\"Second\"] = 1000] = \"Second\";\n /**\n * A minute, in milliseconds.\n */\n Duration[Duration[\"Minute\"] = 60000] = \"Minute\";\n /**\n * An hour, in milliseconds.\n */\n Duration[Duration[\"Hour\"] = 3600000] = \"Hour\";\n /**\n * A day, in milliseconds.\n */\n Duration[Duration[\"Day\"] = 86400000] = \"Day\";\n /**\n * A week, in milliseconds.\n */\n Duration[Duration[\"Week\"] = 604800000] = \"Week\";\n /**\n * A year, in milliseconds.\n */\n Duration[Duration[\"Year\"] = 31536000000] = \"Year\";\n})(Duration = exports.Duration || (exports.Duration = {}));\nconst isNonNegativeInteger = (number) => Number.isInteger(number) && number >= 0;\nconst assertIsNonNegativeInteger = (number, name) => {\n if (!isNonNegativeInteger(number)) {\n throw new Error(`\"${name}\" must be a non-negative integer. Received: \"${number}\".`);\n }\n};\n/**\n * Calculates the millisecond value of the specified number of units of time.\n *\n * @param count - The number of units of time.\n * @param duration - The unit of time to count.\n * @returns The count multiplied by the specified duration.\n */\nfunction inMilliseconds(count, duration) {\n assertIsNonNegativeInteger(count, 'count');\n return count * duration;\n}\nexports.inMilliseconds = inMilliseconds;\n/**\n * Gets the milliseconds since a particular Unix epoch timestamp.\n *\n * @param timestamp - A Unix millisecond timestamp.\n * @returns The number of milliseconds elapsed since the specified timestamp.\n */\nfunction timeSince(timestamp) {\n assertIsNonNegativeInteger(timestamp, 'timestamp');\n return Date.now() - timestamp;\n}\nexports.timeSince = timeSince;\n//# sourceMappingURL=time.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=transaction-types.js.map","// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n/* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\n// Max safe length for a build identifier. The max length minus 6 characters for\n// the shortest version with a build 0.0.0+BUILD.\nconst MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6\n\nconst RELEASE_TYPES = [\n 'major',\n 'premajor',\n 'minor',\n 'preminor',\n 'patch',\n 'prepatch',\n 'prerelease',\n]\n\nmodule.exports = {\n MAX_LENGTH,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 0b001,\n FLAG_LOOSE: 0b010,\n}\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","const {\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_LENGTH,\n} = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst safeRe = exports.safeRe = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst LETTERDASHNUMBER = '[a-zA-Z0-9-]'\n\n// Replace some greedy regex tokens to prevent regex dos issues. These regex are\n// used internally via the safeRe object since all inputs in this library get\n// normalized first to trim and collapse all extra whitespace. The original\n// regexes are exported for userland consumption and lower level usage. A\n// future breaking change could export the safer regex only with a note that\n// all input should have extra whitespace removed.\nconst safeRegexReplacements = [\n ['\\\\s', 1],\n ['\\\\d', MAX_LENGTH],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH],\n]\n\nconst makeSafeRegex = (value) => {\n for (const [token, max] of safeRegexReplacements) {\n value = value\n .split(`${token}*`).join(`${token}{0,${max}}`)\n .split(`${token}+`).join(`${token}{1,${max}}`)\n }\n return value\n}\n\nconst createToken = (name, value, isGlobal) => {\n const safe = makeSafeRegex(value)\n const index = R++\n debug(name, index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '\\\\d+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`)\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`)\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCEPLAIN', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`)\ncreateToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\\\d])`)\ncreateToken('COERCEFULL', src[t.COERCEPLAIN] +\n `(?:${src[t.PRERELEASE]})?` +\n `(?:${src[t.BUILD]})?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\ncreateToken('COERCERTLFULL', src[t.COERCEFULL], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$')\n","// parse out just the options we care about\nconst looseOption = Object.freeze({ loose: true })\nconst emptyOpts = Object.freeze({ })\nconst parseOptions = options => {\n if (!options) {\n return emptyOpts\n }\n\n if (typeof options !== 'object') {\n return looseOption\n }\n\n return options\n}\nmodule.exports = parseOptions\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers,\n}\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { safeRe: re, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier, identifierBase) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier, identifierBase)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier, identifierBase)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier, identifierBase)\n this.inc('pre', identifier, identifierBase)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier, identifierBase)\n }\n this.inc('pre', identifier, identifierBase)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre': {\n const base = Number(identifierBase) ? 1 : 0\n\n if (!identifier && identifierBase === false) {\n throw new Error('invalid increment argument: identifier is empty')\n }\n\n if (this.prerelease.length === 0) {\n this.prerelease = [base]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n if (identifier === this.prerelease.join('.') && identifierBase === false) {\n throw new Error('invalid increment argument: identifier already exists')\n }\n this.prerelease.push(base)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n let prerelease = [identifier, base]\n if (identifierBase === false) {\n prerelease = [identifier]\n }\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = prerelease\n }\n } else {\n this.prerelease = prerelease\n }\n }\n break\n }\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.raw = this.format()\n if (this.build.length) {\n this.raw += `+${this.build.join('.')}`\n }\n return this\n }\n}\n\nmodule.exports = SemVer\n","const SemVer = require('../classes/semver')\nconst parse = (version, options, throwErrors = false) => {\n if (version instanceof SemVer) {\n return version\n }\n try {\n return new SemVer(version, options)\n } catch (er) {\n if (!throwErrors) {\n return null\n }\n throw er\n }\n}\n\nmodule.exports = parse\n","const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","const parse = require('./parse')\nconst clean = (version, options) => {\n const s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\nmodule.exports = clean\n","const SemVer = require('../classes/semver')\n\nconst inc = (version, release, options, identifier, identifierBase) => {\n if (typeof (options) === 'string') {\n identifierBase = identifier\n identifier = options\n options = undefined\n }\n\n try {\n return new SemVer(\n version instanceof SemVer ? version.version : version,\n options\n ).inc(release, identifier, identifierBase).version\n } catch (er) {\n return null\n }\n}\nmodule.exports = inc\n","const parse = require('./parse.js')\n\nconst diff = (version1, version2) => {\n const v1 = parse(version1, null, true)\n const v2 = parse(version2, null, true)\n const comparison = v1.compare(v2)\n\n if (comparison === 0) {\n return null\n }\n\n const v1Higher = comparison > 0\n const highVersion = v1Higher ? v1 : v2\n const lowVersion = v1Higher ? v2 : v1\n const highHasPre = !!highVersion.prerelease.length\n const lowHasPre = !!lowVersion.prerelease.length\n\n if (lowHasPre && !highHasPre) {\n // Going from prerelease -> no prerelease requires some special casing\n\n // If the low version has only a major, then it will always be a major\n // Some examples:\n // 1.0.0-1 -> 1.0.0\n // 1.0.0-1 -> 1.1.1\n // 1.0.0-1 -> 2.0.0\n if (!lowVersion.patch && !lowVersion.minor) {\n return 'major'\n }\n\n // Otherwise it can be determined by checking the high version\n\n if (highVersion.patch) {\n // anything higher than a patch bump would result in the wrong version\n return 'patch'\n }\n\n if (highVersion.minor) {\n // anything higher than a minor bump would result in the wrong version\n return 'minor'\n }\n\n // bumping major/minor/patch all have same result\n return 'major'\n }\n\n // add the `pre` prefix if we are going to a prerelease version\n const prefix = highHasPre ? 'pre' : ''\n\n if (v1.major !== v2.major) {\n return prefix + 'major'\n }\n\n if (v1.minor !== v2.minor) {\n return prefix + 'minor'\n }\n\n if (v1.patch !== v2.patch) {\n return prefix + 'patch'\n }\n\n // high and low are preleases\n return 'prerelease'\n}\n\nmodule.exports = diff\n","const SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","const SemVer = require('../classes/semver')\nconst minor = (a, loose) => new SemVer(a, loose).minor\nmodule.exports = minor\n","const SemVer = require('../classes/semver')\nconst patch = (a, loose) => new SemVer(a, loose).patch\nmodule.exports = patch\n","const parse = require('./parse')\nconst prerelease = (version, options) => {\n const parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\nmodule.exports = prerelease\n","const SemVer = require('../classes/semver')\nconst compare = (a, b, loose) =>\n new SemVer(a, loose).compare(new SemVer(b, loose))\n\nmodule.exports = compare\n","const compare = require('./compare')\nconst rcompare = (a, b, loose) => compare(b, a, loose)\nmodule.exports = rcompare\n","const compare = require('./compare')\nconst compareLoose = (a, b) => compare(a, b, true)\nmodule.exports = compareLoose\n","const SemVer = require('../classes/semver')\nconst compareBuild = (a, b, loose) => {\n const versionA = new SemVer(a, loose)\n const versionB = new SemVer(b, loose)\n return versionA.compare(versionB) || versionA.compareBuild(versionB)\n}\nmodule.exports = compareBuild\n","const compareBuild = require('./compare-build')\nconst sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose))\nmodule.exports = sort\n","const compareBuild = require('./compare-build')\nconst rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose))\nmodule.exports = rsort\n","const compare = require('./compare')\nconst gt = (a, b, loose) => compare(a, b, loose) > 0\nmodule.exports = gt\n","const compare = require('./compare')\nconst lt = (a, b, loose) => compare(a, b, loose) < 0\nmodule.exports = lt\n","const compare = require('./compare')\nconst eq = (a, b, loose) => compare(a, b, loose) === 0\nmodule.exports = eq\n","const compare = require('./compare')\nconst neq = (a, b, loose) => compare(a, b, loose) !== 0\nmodule.exports = neq\n","const compare = require('./compare')\nconst gte = (a, b, loose) => compare(a, b, loose) >= 0\nmodule.exports = gte\n","const compare = require('./compare')\nconst lte = (a, b, loose) => compare(a, b, loose) <= 0\nmodule.exports = lte\n","const eq = require('./eq')\nconst neq = require('./neq')\nconst gt = require('./gt')\nconst gte = require('./gte')\nconst lt = require('./lt')\nconst lte = require('./lte')\n\nconst cmp = (a, op, b, loose) => {\n switch (op) {\n case '===':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a === b\n\n case '!==':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError(`Invalid operator: ${op}`)\n }\n}\nmodule.exports = cmp\n","const SemVer = require('../classes/semver')\nconst parse = require('./parse')\nconst { safeRe: re, t } = require('../internal/re')\n\nconst coerce = (version, options) => {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version === 'number') {\n version = String(version)\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n options = options || {}\n\n let match = null\n if (!options.rtl) {\n match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE])\n } else {\n // Find the right-most coercible string that does not share\n // a terminus with a more left-ward coercible string.\n // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'\n // With includePrerelease option set, '1.2.3.4-rc' wants to coerce '2.3.4-rc', not '2.3.4'\n //\n // Walk through the string checking with a /g regexp\n // Manually set the index so as to pick up overlapping matches.\n // Stop when we get a match that ends at the string end, since no\n // coercible string can be more right-ward without the same terminus.\n const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL]\n let next\n while ((next = coerceRtlRegex.exec(version)) &&\n (!match || match.index + match[0].length !== version.length)\n ) {\n if (!match ||\n next.index + next[0].length !== match.index + match[0].length) {\n match = next\n }\n coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length\n }\n // leave it in a clean state\n coerceRtlRegex.lastIndex = -1\n }\n\n if (match === null) {\n return null\n }\n\n const major = match[2]\n const minor = match[3] || '0'\n const patch = match[4] || '0'\n const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : ''\n const build = options.includePrerelease && match[6] ? `+${match[6]}` : ''\n\n return parse(`${major}.${minor}.${patch}${prerelease}${build}`, options)\n}\nmodule.exports = coerce\n","'use strict'\nmodule.exports = function (Yallist) {\n Yallist.prototype[Symbol.iterator] = function* () {\n for (let walker = this.head; walker; walker = walker.next) {\n yield walker.value\n }\n }\n}\n","'use strict'\nmodule.exports = Yallist\n\nYallist.Node = Node\nYallist.create = Yallist\n\nfunction Yallist (list) {\n var self = this\n if (!(self instanceof Yallist)) {\n self = new Yallist()\n }\n\n self.tail = null\n self.head = null\n self.length = 0\n\n if (list && typeof list.forEach === 'function') {\n list.forEach(function (item) {\n self.push(item)\n })\n } else if (arguments.length > 0) {\n for (var i = 0, l = arguments.length; i < l; i++) {\n self.push(arguments[i])\n }\n }\n\n return self\n}\n\nYallist.prototype.removeNode = function (node) {\n if (node.list !== this) {\n throw new Error('removing node which does not belong to this list')\n }\n\n var next = node.next\n var prev = node.prev\n\n if (next) {\n next.prev = prev\n }\n\n if (prev) {\n prev.next = next\n }\n\n if (node === this.head) {\n this.head = next\n }\n if (node === this.tail) {\n this.tail = prev\n }\n\n node.list.length--\n node.next = null\n node.prev = null\n node.list = null\n\n return next\n}\n\nYallist.prototype.unshiftNode = function (node) {\n if (node === this.head) {\n return\n }\n\n if (node.list) {\n node.list.removeNode(node)\n }\n\n var head = this.head\n node.list = this\n node.next = head\n if (head) {\n head.prev = node\n }\n\n this.head = node\n if (!this.tail) {\n this.tail = node\n }\n this.length++\n}\n\nYallist.prototype.pushNode = function (node) {\n if (node === this.tail) {\n return\n }\n\n if (node.list) {\n node.list.removeNode(node)\n }\n\n var tail = this.tail\n node.list = this\n node.prev = tail\n if (tail) {\n tail.next = node\n }\n\n this.tail = node\n if (!this.head) {\n this.head = node\n }\n this.length++\n}\n\nYallist.prototype.push = function () {\n for (var i = 0, l = arguments.length; i < l; i++) {\n push(this, arguments[i])\n }\n return this.length\n}\n\nYallist.prototype.unshift = function () {\n for (var i = 0, l = arguments.length; i < l; i++) {\n unshift(this, arguments[i])\n }\n return this.length\n}\n\nYallist.prototype.pop = function () {\n if (!this.tail) {\n return undefined\n }\n\n var res = this.tail.value\n this.tail = this.tail.prev\n if (this.tail) {\n this.tail.next = null\n } else {\n this.head = null\n }\n this.length--\n return res\n}\n\nYallist.prototype.shift = function () {\n if (!this.head) {\n return undefined\n }\n\n var res = this.head.value\n this.head = this.head.next\n if (this.head) {\n this.head.prev = null\n } else {\n this.tail = null\n }\n this.length--\n return res\n}\n\nYallist.prototype.forEach = function (fn, thisp) {\n thisp = thisp || this\n for (var walker = this.head, i = 0; walker !== null; i++) {\n fn.call(thisp, walker.value, i, this)\n walker = walker.next\n }\n}\n\nYallist.prototype.forEachReverse = function (fn, thisp) {\n thisp = thisp || this\n for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {\n fn.call(thisp, walker.value, i, this)\n walker = walker.prev\n }\n}\n\nYallist.prototype.get = function (n) {\n for (var i = 0, walker = this.head; walker !== null && i < n; i++) {\n // abort out of the list early if we hit a cycle\n walker = walker.next\n }\n if (i === n && walker !== null) {\n return walker.value\n }\n}\n\nYallist.prototype.getReverse = function (n) {\n for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {\n // abort out of the list early if we hit a cycle\n walker = walker.prev\n }\n if (i === n && walker !== null) {\n return walker.value\n }\n}\n\nYallist.prototype.map = function (fn, thisp) {\n thisp = thisp || this\n var res = new Yallist()\n for (var walker = this.head; walker !== null;) {\n res.push(fn.call(thisp, walker.value, this))\n walker = walker.next\n }\n return res\n}\n\nYallist.prototype.mapReverse = function (fn, thisp) {\n thisp = thisp || this\n var res = new Yallist()\n for (var walker = this.tail; walker !== null;) {\n res.push(fn.call(thisp, walker.value, this))\n walker = walker.prev\n }\n return res\n}\n\nYallist.prototype.reduce = function (fn, initial) {\n var acc\n var walker = this.head\n if (arguments.length > 1) {\n acc = initial\n } else if (this.head) {\n walker = this.head.next\n acc = this.head.value\n } else {\n throw new TypeError('Reduce of empty list with no initial value')\n }\n\n for (var i = 0; walker !== null; i++) {\n acc = fn(acc, walker.value, i)\n walker = walker.next\n }\n\n return acc\n}\n\nYallist.prototype.reduceReverse = function (fn, initial) {\n var acc\n var walker = this.tail\n if (arguments.length > 1) {\n acc = initial\n } else if (this.tail) {\n walker = this.tail.prev\n acc = this.tail.value\n } else {\n throw new TypeError('Reduce of empty list with no initial value')\n }\n\n for (var i = this.length - 1; walker !== null; i--) {\n acc = fn(acc, walker.value, i)\n walker = walker.prev\n }\n\n return acc\n}\n\nYallist.prototype.toArray = function () {\n var arr = new Array(this.length)\n for (var i = 0, walker = this.head; walker !== null; i++) {\n arr[i] = walker.value\n walker = walker.next\n }\n return arr\n}\n\nYallist.prototype.toArrayReverse = function () {\n var arr = new Array(this.length)\n for (var i = 0, walker = this.tail; walker !== null; i++) {\n arr[i] = walker.value\n walker = walker.prev\n }\n return arr\n}\n\nYallist.prototype.slice = function (from, to) {\n to = to || this.length\n if (to < 0) {\n to += this.length\n }\n from = from || 0\n if (from < 0) {\n from += this.length\n }\n var ret = new Yallist()\n if (to < from || to < 0) {\n return ret\n }\n if (from < 0) {\n from = 0\n }\n if (to > this.length) {\n to = this.length\n }\n for (var i = 0, walker = this.head; walker !== null && i < from; i++) {\n walker = walker.next\n }\n for (; walker !== null && i < to; i++, walker = walker.next) {\n ret.push(walker.value)\n }\n return ret\n}\n\nYallist.prototype.sliceReverse = function (from, to) {\n to = to || this.length\n if (to < 0) {\n to += this.length\n }\n from = from || 0\n if (from < 0) {\n from += this.length\n }\n var ret = new Yallist()\n if (to < from || to < 0) {\n return ret\n }\n if (from < 0) {\n from = 0\n }\n if (to > this.length) {\n to = this.length\n }\n for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {\n walker = walker.prev\n }\n for (; walker !== null && i > from; i--, walker = walker.prev) {\n ret.push(walker.value)\n }\n return ret\n}\n\nYallist.prototype.splice = function (start, deleteCount, ...nodes) {\n if (start > this.length) {\n start = this.length - 1\n }\n if (start < 0) {\n start = this.length + start;\n }\n\n for (var i = 0, walker = this.head; walker !== null && i < start; i++) {\n walker = walker.next\n }\n\n var ret = []\n for (var i = 0; walker && i < deleteCount; i++) {\n ret.push(walker.value)\n walker = this.removeNode(walker)\n }\n if (walker === null) {\n walker = this.tail\n }\n\n if (walker !== this.head && walker !== this.tail) {\n walker = walker.prev\n }\n\n for (var i = 0; i < nodes.length; i++) {\n walker = insert(this, walker, nodes[i])\n }\n return ret;\n}\n\nYallist.prototype.reverse = function () {\n var head = this.head\n var tail = this.tail\n for (var walker = head; walker !== null; walker = walker.prev) {\n var p = walker.prev\n walker.prev = walker.next\n walker.next = p\n }\n this.head = tail\n this.tail = head\n return this\n}\n\nfunction insert (self, node, value) {\n var inserted = node === self.head ?\n new Node(value, null, node, self) :\n new Node(value, node, node.next, self)\n\n if (inserted.next === null) {\n self.tail = inserted\n }\n if (inserted.prev === null) {\n self.head = inserted\n }\n\n self.length++\n\n return inserted\n}\n\nfunction push (self, item) {\n self.tail = new Node(item, self.tail, null, self)\n if (!self.head) {\n self.head = self.tail\n }\n self.length++\n}\n\nfunction unshift (self, item) {\n self.head = new Node(item, null, self.head, self)\n if (!self.tail) {\n self.tail = self.head\n }\n self.length++\n}\n\nfunction Node (value, prev, next, list) {\n if (!(this instanceof Node)) {\n return new Node(value, prev, next, list)\n }\n\n this.list = list\n this.value = value\n\n if (prev) {\n prev.next = this\n this.prev = prev\n } else {\n this.prev = null\n }\n\n if (next) {\n next.prev = this\n this.next = next\n } else {\n this.next = null\n }\n}\n\ntry {\n // add if support for Symbol.iterator is present\n require('./iterator.js')(Yallist)\n} catch (er) {}\n","'use strict'\n\n// A linked list to keep track of recently-used-ness\nconst Yallist = require('yallist')\n\nconst MAX = Symbol('max')\nconst LENGTH = Symbol('length')\nconst LENGTH_CALCULATOR = Symbol('lengthCalculator')\nconst ALLOW_STALE = Symbol('allowStale')\nconst MAX_AGE = Symbol('maxAge')\nconst DISPOSE = Symbol('dispose')\nconst NO_DISPOSE_ON_SET = Symbol('noDisposeOnSet')\nconst LRU_LIST = Symbol('lruList')\nconst CACHE = Symbol('cache')\nconst UPDATE_AGE_ON_GET = Symbol('updateAgeOnGet')\n\nconst naiveLength = () => 1\n\n// lruList is a yallist where the head is the youngest\n// item, and the tail is the oldest. the list contains the Hit\n// objects as the entries.\n// Each Hit object has a reference to its Yallist.Node. This\n// never changes.\n//\n// cache is a Map (or PseudoMap) that matches the keys to\n// the Yallist.Node object.\nclass LRUCache {\n constructor (options) {\n if (typeof options === 'number')\n options = { max: options }\n\n if (!options)\n options = {}\n\n if (options.max && (typeof options.max !== 'number' || options.max < 0))\n throw new TypeError('max must be a non-negative number')\n // Kind of weird to have a default max of Infinity, but oh well.\n const max = this[MAX] = options.max || Infinity\n\n const lc = options.length || naiveLength\n this[LENGTH_CALCULATOR] = (typeof lc !== 'function') ? naiveLength : lc\n this[ALLOW_STALE] = options.stale || false\n if (options.maxAge && typeof options.maxAge !== 'number')\n throw new TypeError('maxAge must be a number')\n this[MAX_AGE] = options.maxAge || 0\n this[DISPOSE] = options.dispose\n this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false\n this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false\n this.reset()\n }\n\n // resize the cache when the max changes.\n set max (mL) {\n if (typeof mL !== 'number' || mL < 0)\n throw new TypeError('max must be a non-negative number')\n\n this[MAX] = mL || Infinity\n trim(this)\n }\n get max () {\n return this[MAX]\n }\n\n set allowStale (allowStale) {\n this[ALLOW_STALE] = !!allowStale\n }\n get allowStale () {\n return this[ALLOW_STALE]\n }\n\n set maxAge (mA) {\n if (typeof mA !== 'number')\n throw new TypeError('maxAge must be a non-negative number')\n\n this[MAX_AGE] = mA\n trim(this)\n }\n get maxAge () {\n return this[MAX_AGE]\n }\n\n // resize the cache when the lengthCalculator changes.\n set lengthCalculator (lC) {\n if (typeof lC !== 'function')\n lC = naiveLength\n\n if (lC !== this[LENGTH_CALCULATOR]) {\n this[LENGTH_CALCULATOR] = lC\n this[LENGTH] = 0\n this[LRU_LIST].forEach(hit => {\n hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key)\n this[LENGTH] += hit.length\n })\n }\n trim(this)\n }\n get lengthCalculator () { return this[LENGTH_CALCULATOR] }\n\n get length () { return this[LENGTH] }\n get itemCount () { return this[LRU_LIST].length }\n\n rforEach (fn, thisp) {\n thisp = thisp || this\n for (let walker = this[LRU_LIST].tail; walker !== null;) {\n const prev = walker.prev\n forEachStep(this, fn, walker, thisp)\n walker = prev\n }\n }\n\n forEach (fn, thisp) {\n thisp = thisp || this\n for (let walker = this[LRU_LIST].head; walker !== null;) {\n const next = walker.next\n forEachStep(this, fn, walker, thisp)\n walker = next\n }\n }\n\n keys () {\n return this[LRU_LIST].toArray().map(k => k.key)\n }\n\n values () {\n return this[LRU_LIST].toArray().map(k => k.value)\n }\n\n reset () {\n if (this[DISPOSE] &&\n this[LRU_LIST] &&\n this[LRU_LIST].length) {\n this[LRU_LIST].forEach(hit => this[DISPOSE](hit.key, hit.value))\n }\n\n this[CACHE] = new Map() // hash of items by key\n this[LRU_LIST] = new Yallist() // list of items in order of use recency\n this[LENGTH] = 0 // length of items in the list\n }\n\n dump () {\n return this[LRU_LIST].map(hit =>\n isStale(this, hit) ? false : {\n k: hit.key,\n v: hit.value,\n e: hit.now + (hit.maxAge || 0)\n }).toArray().filter(h => h)\n }\n\n dumpLru () {\n return this[LRU_LIST]\n }\n\n set (key, value, maxAge) {\n maxAge = maxAge || this[MAX_AGE]\n\n if (maxAge && typeof maxAge !== 'number')\n throw new TypeError('maxAge must be a number')\n\n const now = maxAge ? Date.now() : 0\n const len = this[LENGTH_CALCULATOR](value, key)\n\n if (this[CACHE].has(key)) {\n if (len > this[MAX]) {\n del(this, this[CACHE].get(key))\n return false\n }\n\n const node = this[CACHE].get(key)\n const item = node.value\n\n // dispose of the old one before overwriting\n // split out into 2 ifs for better coverage tracking\n if (this[DISPOSE]) {\n if (!this[NO_DISPOSE_ON_SET])\n this[DISPOSE](key, item.value)\n }\n\n item.now = now\n item.maxAge = maxAge\n item.value = value\n this[LENGTH] += len - item.length\n item.length = len\n this.get(key)\n trim(this)\n return true\n }\n\n const hit = new Entry(key, value, len, now, maxAge)\n\n // oversized objects fall out of cache automatically.\n if (hit.length > this[MAX]) {\n if (this[DISPOSE])\n this[DISPOSE](key, value)\n\n return false\n }\n\n this[LENGTH] += hit.length\n this[LRU_LIST].unshift(hit)\n this[CACHE].set(key, this[LRU_LIST].head)\n trim(this)\n return true\n }\n\n has (key) {\n if (!this[CACHE].has(key)) return false\n const hit = this[CACHE].get(key).value\n return !isStale(this, hit)\n }\n\n get (key) {\n return get(this, key, true)\n }\n\n peek (key) {\n return get(this, key, false)\n }\n\n pop () {\n const node = this[LRU_LIST].tail\n if (!node)\n return null\n\n del(this, node)\n return node.value\n }\n\n del (key) {\n del(this, this[CACHE].get(key))\n }\n\n load (arr) {\n // reset the cache\n this.reset()\n\n const now = Date.now()\n // A previous serialized cache has the most recent items first\n for (let l = arr.length - 1; l >= 0; l--) {\n const hit = arr[l]\n const expiresAt = hit.e || 0\n if (expiresAt === 0)\n // the item was created without expiration in a non aged cache\n this.set(hit.k, hit.v)\n else {\n const maxAge = expiresAt - now\n // dont add already expired items\n if (maxAge > 0) {\n this.set(hit.k, hit.v, maxAge)\n }\n }\n }\n }\n\n prune () {\n this[CACHE].forEach((value, key) => get(this, key, false))\n }\n}\n\nconst get = (self, key, doUse) => {\n const node = self[CACHE].get(key)\n if (node) {\n const hit = node.value\n if (isStale(self, hit)) {\n del(self, node)\n if (!self[ALLOW_STALE])\n return undefined\n } else {\n if (doUse) {\n if (self[UPDATE_AGE_ON_GET])\n node.value.now = Date.now()\n self[LRU_LIST].unshiftNode(node)\n }\n }\n return hit.value\n }\n}\n\nconst isStale = (self, hit) => {\n if (!hit || (!hit.maxAge && !self[MAX_AGE]))\n return false\n\n const diff = Date.now() - hit.now\n return hit.maxAge ? diff > hit.maxAge\n : self[MAX_AGE] && (diff > self[MAX_AGE])\n}\n\nconst trim = self => {\n if (self[LENGTH] > self[MAX]) {\n for (let walker = self[LRU_LIST].tail;\n self[LENGTH] > self[MAX] && walker !== null;) {\n // We know that we're about to delete this one, and also\n // what the next least recently used key will be, so just\n // go ahead and set it now.\n const prev = walker.prev\n del(self, walker)\n walker = prev\n }\n }\n}\n\nconst del = (self, node) => {\n if (node) {\n const hit = node.value\n if (self[DISPOSE])\n self[DISPOSE](hit.key, hit.value)\n\n self[LENGTH] -= hit.length\n self[CACHE].delete(hit.key)\n self[LRU_LIST].removeNode(node)\n }\n}\n\nclass Entry {\n constructor (key, value, length, now, maxAge) {\n this.key = key\n this.value = value\n this.length = length\n this.now = now\n this.maxAge = maxAge || 0\n }\n}\n\nconst forEachStep = (self, fn, node, thisp) => {\n let hit = node.value\n if (isStale(self, hit)) {\n del(self, node)\n if (!self[ALLOW_STALE])\n hit = undefined\n }\n if (hit)\n fn.call(thisp, hit.value, hit.key, self)\n}\n\nmodule.exports = LRUCache\n","// hoisted class for cyclic dependency\nclass Range {\n constructor (range, options) {\n options = parseOptions(options)\n\n if (range instanceof Range) {\n if (\n range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease\n ) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n // just put it in the set and return\n this.raw = range.value\n this.set = [[range]]\n this.format()\n return this\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First reduce all whitespace as much as possible so we do not have to rely\n // on potentially slow regexes like \\s*. This is then stored and used for\n // future error messages as well.\n this.raw = range\n .trim()\n .split(/\\s+/)\n .join(' ')\n\n // First, split on ||\n this.set = this.raw\n .split('||')\n // map the range to a 2d array of comparators\n .map(r => this.parseRange(r.trim()))\n // throw out any comparator lists that are empty\n // this generally means that it was not a valid range, which is allowed\n // in loose mode, but will still throw if the WHOLE range is invalid.\n .filter(c => c.length)\n\n if (!this.set.length) {\n throw new TypeError(`Invalid SemVer Range: ${this.raw}`)\n }\n\n // if we have any that are not the null set, throw out null sets.\n if (this.set.length > 1) {\n // keep the first one, in case they're all null sets\n const first = this.set[0]\n this.set = this.set.filter(c => !isNullSet(c[0]))\n if (this.set.length === 0) {\n this.set = [first]\n } else if (this.set.length > 1) {\n // if we have any that are *, then the range is just *\n for (const c of this.set) {\n if (c.length === 1 && isAny(c[0])) {\n this.set = [c]\n break\n }\n }\n }\n }\n\n this.format()\n }\n\n format () {\n this.range = this.set\n .map((comps) => comps.join(' ').trim())\n .join('||')\n .trim()\n return this.range\n }\n\n toString () {\n return this.range\n }\n\n parseRange (range) {\n // memoize range parsing for performance.\n // this is a very hot path, and fully deterministic.\n const memoOpts =\n (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) |\n (this.options.loose && FLAG_LOOSE)\n const memoKey = memoOpts + ':' + range\n const cached = cache.get(memoKey)\n if (cached) {\n return cached\n }\n\n const loose = this.options.loose\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]\n range = range.replace(hr, hyphenReplace(this.options.includePrerelease))\n debug('hyphen replace', range)\n\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range)\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[t.TILDETRIM], tildeTrimReplace)\n debug('tilde trim', range)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[t.CARETTRIM], caretTrimReplace)\n debug('caret trim', range)\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n let rangeList = range\n .split(' ')\n .map(comp => parseComparator(comp, this.options))\n .join(' ')\n .split(/\\s+/)\n // >=0.0.0 is equivalent to *\n .map(comp => replaceGTE0(comp, this.options))\n\n if (loose) {\n // in loose mode, throw out any that are not valid comparators\n rangeList = rangeList.filter(comp => {\n debug('loose invalid filter', comp, this.options)\n return !!comp.match(re[t.COMPARATORLOOSE])\n })\n }\n debug('range list', rangeList)\n\n // if any comparators are the null set, then replace with JUST null set\n // if more than one comparator, remove any * comparators\n // also, don't include the same comparator more than once\n const rangeMap = new Map()\n const comparators = rangeList.map(comp => new Comparator(comp, this.options))\n for (const comp of comparators) {\n if (isNullSet(comp)) {\n return [comp]\n }\n rangeMap.set(comp.value, comp)\n }\n if (rangeMap.size > 1 && rangeMap.has('')) {\n rangeMap.delete('')\n }\n\n const result = [...rangeMap.values()]\n cache.set(memoKey, result)\n return result\n }\n\n intersects (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some((thisComparators) => {\n return (\n isSatisfiable(thisComparators, options) &&\n range.set.some((rangeComparators) => {\n return (\n isSatisfiable(rangeComparators, options) &&\n thisComparators.every((thisComparator) => {\n return rangeComparators.every((rangeComparator) => {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n )\n })\n )\n })\n }\n\n // if ANY of the sets match ALL of its comparators, then pass\n test (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n for (let i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n }\n}\n\nmodule.exports = Range\n\nconst LRU = require('lru-cache')\nconst cache = new LRU({ max: 1000 })\n\nconst parseOptions = require('../internal/parse-options')\nconst Comparator = require('./comparator')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst {\n safeRe: re,\n t,\n comparatorTrimReplace,\n tildeTrimReplace,\n caretTrimReplace,\n} = require('../internal/re')\nconst { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require('../internal/constants')\n\nconst isNullSet = c => c.value === '<0.0.0-0'\nconst isAny = c => c.value === ''\n\n// take a set of comparators and determine whether there\n// exists a version which can satisfy it\nconst isSatisfiable = (comparators, options) => {\n let result = true\n const remainingComparators = comparators.slice()\n let testComparator = remainingComparators.pop()\n\n while (result && remainingComparators.length) {\n result = remainingComparators.every((otherComparator) => {\n return testComparator.intersects(otherComparator, options)\n })\n\n testComparator = remainingComparators.pop()\n }\n\n return result\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nconst parseComparator = (comp, options) => {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nconst isX = id => !id || id.toLowerCase() === 'x' || id === '*'\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0\n// ~0.0.1 --> >=0.0.1 <0.1.0-0\nconst replaceTildes = (comp, options) => {\n return comp\n .trim()\n .split(/\\s+/)\n .map((c) => replaceTilde(c, options))\n .join(' ')\n}\n\nconst replaceTilde = (comp, options) => {\n const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('tilde', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0 <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0-0\n ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0-0\n ret = `>=${M}.${m}.${p\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0\n// ^1.2.3 --> >=1.2.3 <2.0.0-0\n// ^1.2.0 --> >=1.2.0 <2.0.0-0\n// ^0.0.1 --> >=0.0.1 <0.0.2-0\n// ^0.1.0 --> >=0.1.0 <0.2.0-0\nconst replaceCarets = (comp, options) => {\n return comp\n .trim()\n .split(/\\s+/)\n .map((c) => replaceCaret(c, options))\n .join(' ')\n}\n\nconst replaceCaret = (comp, options) => {\n debug('caret', comp, options)\n const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]\n const z = options.includePrerelease ? '-0' : ''\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('caret', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n if (M === '0') {\n ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`\n } else {\n ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${+M + 1}.0.0-0`\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p\n } <${+M + 1}.0.0-0`\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nconst replaceXRanges = (comp, options) => {\n debug('replaceXRanges', comp, options)\n return comp\n .split(/\\s+/)\n .map((c) => replaceXRange(c, options))\n .join(' ')\n}\n\nconst replaceXRange = (comp, options) => {\n comp = comp.trim()\n const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]\n return comp.replace(r, (ret, gtlt, M, m, p, pr) => {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n const xM = isX(M)\n const xm = xM || isX(m)\n const xp = xm || isX(p)\n const anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n // if we're including prereleases in the match, then we need\n // to fix this to -0, the lowest possible prerelease value\n pr = options.includePrerelease ? '-0' : ''\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0-0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n if (gtlt === '<') {\n pr = '-0'\n }\n\n ret = `${gtlt + M}.${m}.${p}${pr}`\n } else if (xm) {\n ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`\n } else if (xp) {\n ret = `>=${M}.${m}.0${pr\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nconst replaceStars = (comp, options) => {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp\n .trim()\n .replace(re[t.STAR], '')\n}\n\nconst replaceGTE0 = (comp, options) => {\n debug('replaceGTE0', comp, options)\n return comp\n .trim()\n .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '')\n}\n\n// This function is passed to string.replace(re[t.HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0-0\nconst hyphenReplace = incPr => ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr, tb) => {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = `>=${fM}.0.0${incPr ? '-0' : ''}`\n } else if (isX(fp)) {\n from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}`\n } else if (fpr) {\n from = `>=${from}`\n } else {\n from = `>=${from}${incPr ? '-0' : ''}`\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = `<${+tM + 1}.0.0-0`\n } else if (isX(tp)) {\n to = `<${tM}.${+tm + 1}.0-0`\n } else if (tpr) {\n to = `<=${tM}.${tm}.${tp}-${tpr}`\n } else if (incPr) {\n to = `<${tM}.${tm}.${+tp + 1}-0`\n } else {\n to = `<=${to}`\n }\n\n return `${from} ${to}`.trim()\n}\n\nconst testSet = (set, version, options) => {\n for (let i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (let i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === Comparator.ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n const allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n","const ANY = Symbol('SemVer ANY')\n// hoisted class for cyclic dependency\nclass Comparator {\n static get ANY () {\n return ANY\n }\n\n constructor (comp, options) {\n options = parseOptions(options)\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n comp = comp.trim().split(/\\s+/).join(' ')\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n }\n\n parse (comp) {\n const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]\n const m = comp.match(r)\n\n if (!m) {\n throw new TypeError(`Invalid comparator: ${comp}`)\n }\n\n this.operator = m[1] !== undefined ? m[1] : ''\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n }\n\n toString () {\n return this.value\n }\n\n test (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY || version === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n }\n\n intersects (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (this.operator === '') {\n if (this.value === '') {\n return true\n }\n return new Range(comp.value, options).test(this.value)\n } else if (comp.operator === '') {\n if (comp.value === '') {\n return true\n }\n return new Range(this.value, options).test(comp.semver)\n }\n\n options = parseOptions(options)\n\n // Special cases where nothing can possibly be lower\n if (options.includePrerelease &&\n (this.value === '<0.0.0-0' || comp.value === '<0.0.0-0')) {\n return false\n }\n if (!options.includePrerelease &&\n (this.value.startsWith('<0.0.0') || comp.value.startsWith('<0.0.0'))) {\n return false\n }\n\n // Same direction increasing (> or >=)\n if (this.operator.startsWith('>') && comp.operator.startsWith('>')) {\n return true\n }\n // Same direction decreasing (< or <=)\n if (this.operator.startsWith('<') && comp.operator.startsWith('<')) {\n return true\n }\n // same SemVer and both sides are inclusive (<= or >=)\n if (\n (this.semver.version === comp.semver.version) &&\n this.operator.includes('=') && comp.operator.includes('=')) {\n return true\n }\n // opposite directions less than\n if (cmp(this.semver, '<', comp.semver, options) &&\n this.operator.startsWith('>') && comp.operator.startsWith('<')) {\n return true\n }\n // opposite directions greater than\n if (cmp(this.semver, '>', comp.semver, options) &&\n this.operator.startsWith('<') && comp.operator.startsWith('>')) {\n return true\n }\n return false\n }\n}\n\nmodule.exports = Comparator\n\nconst parseOptions = require('../internal/parse-options')\nconst { safeRe: re, t } = require('../internal/re')\nconst cmp = require('../functions/cmp')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst Range = require('./range')\n","const Range = require('../classes/range')\nconst satisfies = (version, range, options) => {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\nmodule.exports = satisfies\n","const Range = require('../classes/range')\n\n// Mostly just for testing and legacy API reasons\nconst toComparators = (range, options) =>\n new Range(range, options).set\n .map(comp => comp.map(c => c.value).join(' ').trim().split(' '))\n\nmodule.exports = toComparators\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\n\nconst maxSatisfying = (versions, range, options) => {\n let max = null\n let maxSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\nmodule.exports = maxSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst minSatisfying = (versions, range, options) => {\n let min = null\n let minSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\nmodule.exports = minSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst gt = require('../functions/gt')\n\nconst minVersion = (range, loose) => {\n range = new Range(range, loose)\n\n let minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let setMin = null\n comparators.forEach((comparator) => {\n // Clone to avoid manipulating the comparator's semver object.\n const compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!setMin || gt(compver, setMin)) {\n setMin = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error(`Unexpected operation: ${comparator.operator}`)\n }\n })\n if (setMin && (!minver || gt(minver, setMin))) {\n minver = setMin\n }\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\nmodule.exports = minVersion\n","const Range = require('../classes/range')\nconst validRange = (range, options) => {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\nmodule.exports = validRange\n","const SemVer = require('../classes/semver')\nconst Comparator = require('../classes/comparator')\nconst { ANY } = Comparator\nconst Range = require('../classes/range')\nconst satisfies = require('../functions/satisfies')\nconst gt = require('../functions/gt')\nconst lt = require('../functions/lt')\nconst lte = require('../functions/lte')\nconst gte = require('../functions/gte')\n\nconst outside = (version, range, hilo, options) => {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n let gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisfies the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let high = null\n let low = null\n\n comparators.forEach((comparator) => {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nmodule.exports = outside\n","// Determine if version is greater than all the versions possible in the range.\nconst outside = require('./outside')\nconst gtr = (version, range, options) => outside(version, range, '>', options)\nmodule.exports = gtr\n","const outside = require('./outside')\n// Determine if version is less than all the versions possible in the range\nconst ltr = (version, range, options) => outside(version, range, '<', options)\nmodule.exports = ltr\n","const Range = require('../classes/range')\nconst intersects = (r1, r2, options) => {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2, options)\n}\nmodule.exports = intersects\n","// given a set of versions and a range, create a \"simplified\" range\n// that includes the same versions that the original range does\n// If the original range is shorter than the simplified one, return that.\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\nmodule.exports = (versions, range, options) => {\n const set = []\n let first = null\n let prev = null\n const v = versions.sort((a, b) => compare(a, b, options))\n for (const version of v) {\n const included = satisfies(version, range, options)\n if (included) {\n prev = version\n if (!first) {\n first = version\n }\n } else {\n if (prev) {\n set.push([first, prev])\n }\n prev = null\n first = null\n }\n }\n if (first) {\n set.push([first, null])\n }\n\n const ranges = []\n for (const [min, max] of set) {\n if (min === max) {\n ranges.push(min)\n } else if (!max && min === v[0]) {\n ranges.push('*')\n } else if (!max) {\n ranges.push(`>=${min}`)\n } else if (min === v[0]) {\n ranges.push(`<=${max}`)\n } else {\n ranges.push(`${min} - ${max}`)\n }\n }\n const simplified = ranges.join(' || ')\n const original = typeof range.raw === 'string' ? range.raw : String(range)\n return simplified.length < original.length ? simplified : range\n}\n","const Range = require('../classes/range.js')\nconst Comparator = require('../classes/comparator.js')\nconst { ANY } = Comparator\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\n\n// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff:\n// - Every simple range `r1, r2, ...` is a null set, OR\n// - Every simple range `r1, r2, ...` which is not a null set is a subset of\n// some `R1, R2, ...`\n//\n// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff:\n// - If c is only the ANY comparator\n// - If C is only the ANY comparator, return true\n// - Else if in prerelease mode, return false\n// - else replace c with `[>=0.0.0]`\n// - If C is only the ANY comparator\n// - if in prerelease mode, return true\n// - else replace C with `[>=0.0.0]`\n// - Let EQ be the set of = comparators in c\n// - If EQ is more than one, return true (null set)\n// - Let GT be the highest > or >= comparator in c\n// - Let LT be the lowest < or <= comparator in c\n// - If GT and LT, and GT.semver > LT.semver, return true (null set)\n// - If any C is a = range, and GT or LT are set, return false\n// - If EQ\n// - If GT, and EQ does not satisfy GT, return true (null set)\n// - If LT, and EQ does not satisfy LT, return true (null set)\n// - If EQ satisfies every C, return true\n// - Else return false\n// - If GT\n// - If GT.semver is lower than any > or >= comp in C, return false\n// - If GT is >=, and GT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the GT.semver tuple, return false\n// - If LT\n// - If LT.semver is greater than any < or <= comp in C, return false\n// - If LT is <=, and LT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the LT.semver tuple, return false\n// - Else return true\n\nconst subset = (sub, dom, options = {}) => {\n if (sub === dom) {\n return true\n }\n\n sub = new Range(sub, options)\n dom = new Range(dom, options)\n let sawNonNull = false\n\n OUTER: for (const simpleSub of sub.set) {\n for (const simpleDom of dom.set) {\n const isSub = simpleSubset(simpleSub, simpleDom, options)\n sawNonNull = sawNonNull || isSub !== null\n if (isSub) {\n continue OUTER\n }\n }\n // the null set is a subset of everything, but null simple ranges in\n // a complex range should be ignored. so if we saw a non-null range,\n // then we know this isn't a subset, but if EVERY simple range was null,\n // then it is a subset.\n if (sawNonNull) {\n return false\n }\n }\n return true\n}\n\nconst minimumVersionWithPreRelease = [new Comparator('>=0.0.0-0')]\nconst minimumVersion = [new Comparator('>=0.0.0')]\n\nconst simpleSubset = (sub, dom, options) => {\n if (sub === dom) {\n return true\n }\n\n if (sub.length === 1 && sub[0].semver === ANY) {\n if (dom.length === 1 && dom[0].semver === ANY) {\n return true\n } else if (options.includePrerelease) {\n sub = minimumVersionWithPreRelease\n } else {\n sub = minimumVersion\n }\n }\n\n if (dom.length === 1 && dom[0].semver === ANY) {\n if (options.includePrerelease) {\n return true\n } else {\n dom = minimumVersion\n }\n }\n\n const eqSet = new Set()\n let gt, lt\n for (const c of sub) {\n if (c.operator === '>' || c.operator === '>=') {\n gt = higherGT(gt, c, options)\n } else if (c.operator === '<' || c.operator === '<=') {\n lt = lowerLT(lt, c, options)\n } else {\n eqSet.add(c.semver)\n }\n }\n\n if (eqSet.size > 1) {\n return null\n }\n\n let gtltComp\n if (gt && lt) {\n gtltComp = compare(gt.semver, lt.semver, options)\n if (gtltComp > 0) {\n return null\n } else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) {\n return null\n }\n }\n\n // will iterate one or zero times\n for (const eq of eqSet) {\n if (gt && !satisfies(eq, String(gt), options)) {\n return null\n }\n\n if (lt && !satisfies(eq, String(lt), options)) {\n return null\n }\n\n for (const c of dom) {\n if (!satisfies(eq, String(c), options)) {\n return false\n }\n }\n\n return true\n }\n\n let higher, lower\n let hasDomLT, hasDomGT\n // if the subset has a prerelease, we need a comparator in the superset\n // with the same tuple and a prerelease, or it's not a subset\n let needDomLTPre = lt &&\n !options.includePrerelease &&\n lt.semver.prerelease.length ? lt.semver : false\n let needDomGTPre = gt &&\n !options.includePrerelease &&\n gt.semver.prerelease.length ? gt.semver : false\n // exception: <1.2.3-0 is the same as <1.2.3\n if (needDomLTPre && needDomLTPre.prerelease.length === 1 &&\n lt.operator === '<' && needDomLTPre.prerelease[0] === 0) {\n needDomLTPre = false\n }\n\n for (const c of dom) {\n hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>='\n hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<='\n if (gt) {\n if (needDomGTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomGTPre.major &&\n c.semver.minor === needDomGTPre.minor &&\n c.semver.patch === needDomGTPre.patch) {\n needDomGTPre = false\n }\n }\n if (c.operator === '>' || c.operator === '>=') {\n higher = higherGT(gt, c, options)\n if (higher === c && higher !== gt) {\n return false\n }\n } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options)) {\n return false\n }\n }\n if (lt) {\n if (needDomLTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomLTPre.major &&\n c.semver.minor === needDomLTPre.minor &&\n c.semver.patch === needDomLTPre.patch) {\n needDomLTPre = false\n }\n }\n if (c.operator === '<' || c.operator === '<=') {\n lower = lowerLT(lt, c, options)\n if (lower === c && lower !== lt) {\n return false\n }\n } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options)) {\n return false\n }\n }\n if (!c.operator && (lt || gt) && gtltComp !== 0) {\n return false\n }\n }\n\n // if there was a < or >, and nothing in the dom, then must be false\n // UNLESS it was limited by another range in the other direction.\n // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0\n if (gt && hasDomLT && !lt && gtltComp !== 0) {\n return false\n }\n\n if (lt && hasDomGT && !gt && gtltComp !== 0) {\n return false\n }\n\n // we needed a prerelease range in a specific tuple, but didn't get one\n // then this isn't a subset. eg >=1.2.3-pre is not a subset of >=1.0.0,\n // because it includes prereleases in the 1.2.3 tuple\n if (needDomGTPre || needDomLTPre) {\n return false\n }\n\n return true\n}\n\n// >=1.2.3 is lower than >1.2.3\nconst higherGT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options)\n return comp > 0 ? a\n : comp < 0 ? b\n : b.operator === '>' && a.operator === '>=' ? b\n : a\n}\n\n// <=1.2.3 is higher than <1.2.3\nconst lowerLT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options)\n return comp < 0 ? a\n : comp > 0 ? b\n : b.operator === '<' && a.operator === '<=' ? b\n : a\n}\n\nmodule.exports = subset\n","// just pre-load all the stuff that index.js lazily exports\nconst internalRe = require('./internal/re')\nconst constants = require('./internal/constants')\nconst SemVer = require('./classes/semver')\nconst identifiers = require('./internal/identifiers')\nconst parse = require('./functions/parse')\nconst valid = require('./functions/valid')\nconst clean = require('./functions/clean')\nconst inc = require('./functions/inc')\nconst diff = require('./functions/diff')\nconst major = require('./functions/major')\nconst minor = require('./functions/minor')\nconst patch = require('./functions/patch')\nconst prerelease = require('./functions/prerelease')\nconst compare = require('./functions/compare')\nconst rcompare = require('./functions/rcompare')\nconst compareLoose = require('./functions/compare-loose')\nconst compareBuild = require('./functions/compare-build')\nconst sort = require('./functions/sort')\nconst rsort = require('./functions/rsort')\nconst gt = require('./functions/gt')\nconst lt = require('./functions/lt')\nconst eq = require('./functions/eq')\nconst neq = require('./functions/neq')\nconst gte = require('./functions/gte')\nconst lte = require('./functions/lte')\nconst cmp = require('./functions/cmp')\nconst coerce = require('./functions/coerce')\nconst Comparator = require('./classes/comparator')\nconst Range = require('./classes/range')\nconst satisfies = require('./functions/satisfies')\nconst toComparators = require('./ranges/to-comparators')\nconst maxSatisfying = require('./ranges/max-satisfying')\nconst minSatisfying = require('./ranges/min-satisfying')\nconst minVersion = require('./ranges/min-version')\nconst validRange = require('./ranges/valid')\nconst outside = require('./ranges/outside')\nconst gtr = require('./ranges/gtr')\nconst ltr = require('./ranges/ltr')\nconst intersects = require('./ranges/intersects')\nconst simplifyRange = require('./ranges/simplify')\nconst subset = require('./ranges/subset')\nmodule.exports = {\n parse,\n valid,\n clean,\n inc,\n diff,\n major,\n minor,\n patch,\n prerelease,\n compare,\n rcompare,\n compareLoose,\n compareBuild,\n sort,\n rsort,\n gt,\n lt,\n eq,\n neq,\n gte,\n lte,\n cmp,\n coerce,\n Comparator,\n Range,\n satisfies,\n toComparators,\n maxSatisfying,\n minSatisfying,\n minVersion,\n validRange,\n outside,\n gtr,\n ltr,\n intersects,\n simplifyRange,\n subset,\n SemVer,\n re: internalRe.re,\n src: internalRe.src,\n tokens: internalRe.t,\n SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,\n RELEASE_TYPES: constants.RELEASE_TYPES,\n compareIdentifiers: identifiers.compareIdentifiers,\n rcompareIdentifiers: identifiers.rcompareIdentifiers,\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.satisfiesVersionRange = exports.gtRange = exports.gtVersion = exports.assertIsSemVerRange = exports.assertIsSemVerVersion = exports.isValidSemVerRange = exports.isValidSemVerVersion = exports.VersionRangeStruct = exports.VersionStruct = void 0;\nconst semver_1 = require(\"semver\");\nconst superstruct_1 = require(\"superstruct\");\nconst assert_1 = require(\"./assert\");\n/**\n * A struct for validating a version string.\n */\nexports.VersionStruct = (0, superstruct_1.refine)((0, superstruct_1.string)(), 'Version', (value) => {\n if ((0, semver_1.valid)(value) === null) {\n return `Expected SemVer version, got \"${value}\"`;\n }\n return true;\n});\nexports.VersionRangeStruct = (0, superstruct_1.refine)((0, superstruct_1.string)(), 'Version range', (value) => {\n if ((0, semver_1.validRange)(value) === null) {\n return `Expected SemVer range, got \"${value}\"`;\n }\n return true;\n});\n/**\n * Checks whether a SemVer version is valid.\n *\n * @param version - A potential version.\n * @returns `true` if the version is valid, and `false` otherwise.\n */\nfunction isValidSemVerVersion(version) {\n return (0, superstruct_1.is)(version, exports.VersionStruct);\n}\nexports.isValidSemVerVersion = isValidSemVerVersion;\n/**\n * Checks whether a SemVer version range is valid.\n *\n * @param versionRange - A potential version range.\n * @returns `true` if the version range is valid, and `false` otherwise.\n */\nfunction isValidSemVerRange(versionRange) {\n return (0, superstruct_1.is)(versionRange, exports.VersionRangeStruct);\n}\nexports.isValidSemVerRange = isValidSemVerRange;\n/**\n * Asserts that a value is a valid concrete SemVer version.\n *\n * @param version - A potential SemVer concrete version.\n */\nfunction assertIsSemVerVersion(version) {\n (0, assert_1.assertStruct)(version, exports.VersionStruct);\n}\nexports.assertIsSemVerVersion = assertIsSemVerVersion;\n/**\n * Asserts that a value is a valid SemVer range.\n *\n * @param range - A potential SemVer range.\n */\nfunction assertIsSemVerRange(range) {\n (0, assert_1.assertStruct)(range, exports.VersionRangeStruct);\n}\nexports.assertIsSemVerRange = assertIsSemVerRange;\n/**\n * Checks whether a SemVer version is greater than another.\n *\n * @param version1 - The left-hand version.\n * @param version2 - The right-hand version.\n * @returns `version1 > version2`.\n */\nfunction gtVersion(version1, version2) {\n return (0, semver_1.gt)(version1, version2);\n}\nexports.gtVersion = gtVersion;\n/**\n * Checks whether a SemVer version is greater than all possibilities in a range.\n *\n * @param version - A SemvVer version.\n * @param range - The range to check against.\n * @returns `version > range`.\n */\nfunction gtRange(version, range) {\n return (0, semver_1.gtr)(version, range);\n}\nexports.gtRange = gtRange;\n/**\n * Returns whether a SemVer version satisfies a SemVer range.\n *\n * @param version - The SemVer version to check.\n * @param versionRange - The SemVer version range to check against.\n * @returns Whether the version satisfied the version range.\n */\nfunction satisfiesVersionRange(version, versionRange) {\n return (0, semver_1.satisfies)(version, versionRange, {\n includePrerelease: true,\n });\n}\nexports.satisfiesVersionRange = satisfiesVersionRange;\n//# sourceMappingURL=versions.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./assert\"), exports);\n__exportStar(require(\"./base64\"), exports);\n__exportStar(require(\"./bytes\"), exports);\n__exportStar(require(\"./checksum\"), exports);\n__exportStar(require(\"./coercers\"), exports);\n__exportStar(require(\"./collections\"), exports);\n__exportStar(require(\"./encryption-types\"), exports);\n__exportStar(require(\"./hex\"), exports);\n__exportStar(require(\"./json\"), exports);\n__exportStar(require(\"./keyring\"), exports);\n__exportStar(require(\"./logging\"), exports);\n__exportStar(require(\"./misc\"), exports);\n__exportStar(require(\"./number\"), exports);\n__exportStar(require(\"./opaque\"), exports);\n__exportStar(require(\"./time\"), exports);\n__exportStar(require(\"./transaction-types\"), exports);\n__exportStar(require(\"./versions\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createModuleLogger = exports.projectLogger = void 0;\nconst utils_1 = require(\"@metamask/utils\");\nObject.defineProperty(exports, \"createModuleLogger\", { enumerable: true, get: function () { return utils_1.createModuleLogger; } });\nexports.projectLogger = (0, utils_1.createProjectLogger)('eth-block-tracker');\n//# sourceMappingURL=logging-utils.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PollingBlockTracker = void 0;\nconst json_rpc_random_id_1 = __importDefault(require(\"json-rpc-random-id\"));\nconst pify_1 = __importDefault(require(\"pify\"));\nconst BaseBlockTracker_1 = require(\"./BaseBlockTracker\");\nconst logging_utils_1 = require(\"./logging-utils\");\nconst log = (0, logging_utils_1.createModuleLogger)(logging_utils_1.projectLogger, 'polling-block-tracker');\nconst createRandomId = (0, json_rpc_random_id_1.default)();\nconst sec = 1000;\nclass PollingBlockTracker extends BaseBlockTracker_1.BaseBlockTracker {\n constructor(opts = {}) {\n var _a;\n // parse + validate args\n if (!opts.provider) {\n throw new Error('PollingBlockTracker - no provider specified.');\n }\n super(Object.assign(Object.assign({}, opts), { blockResetDuration: (_a = opts.blockResetDuration) !== null && _a !== void 0 ? _a : opts.pollingInterval }));\n // config\n this._provider = opts.provider;\n this._pollingInterval = opts.pollingInterval || 20 * sec;\n this._retryTimeout = opts.retryTimeout || this._pollingInterval / 10;\n this._keepEventLoopActive =\n opts.keepEventLoopActive === undefined ? true : opts.keepEventLoopActive;\n this._setSkipCacheFlag = opts.setSkipCacheFlag || false;\n }\n // trigger block polling\n async checkForLatestBlock() {\n await this._updateLatestBlock();\n return await this.getLatestBlock();\n }\n async _start() {\n this._synchronize();\n }\n async _end() {\n // No-op\n }\n async _synchronize() {\n var _a;\n while (this._isRunning) {\n try {\n await this._updateLatestBlock();\n const promise = timeout(this._pollingInterval, !this._keepEventLoopActive);\n this.emit('_waitingForNextIteration');\n await promise;\n }\n catch (err) {\n const newErr = new Error(`PollingBlockTracker - encountered an error while attempting to update latest block:\\n${(_a = err.stack) !== null && _a !== void 0 ? _a : err}`);\n try {\n this.emit('error', newErr);\n }\n catch (emitErr) {\n console.error(newErr);\n }\n const promise = timeout(this._retryTimeout, !this._keepEventLoopActive);\n this.emit('_waitingForNextIteration');\n await promise;\n }\n }\n }\n async _updateLatestBlock() {\n // fetch + set latest block\n const latestBlock = await this._fetchLatestBlock();\n this._newPotentialLatest(latestBlock);\n }\n async _fetchLatestBlock() {\n const req = {\n jsonrpc: '2.0',\n id: createRandomId(),\n method: 'eth_blockNumber',\n params: [],\n };\n if (this._setSkipCacheFlag) {\n req.skipCache = true;\n }\n log('Making request', req);\n const res = await (0, pify_1.default)((cb) => this._provider.sendAsync(req, cb))();\n log('Got response', res);\n if (res.error) {\n throw new Error(`PollingBlockTracker - encountered error fetching block:\\n${res.error.message}`);\n }\n return res.result;\n }\n}\nexports.PollingBlockTracker = PollingBlockTracker;\n/**\n * Waits for the specified amount of time.\n *\n * @param duration - The amount of time in milliseconds.\n * @param unref - Assuming this function is run in a Node context, governs\n * whether Node should wait before the `setTimeout` has completed before ending\n * the process (true for no, false for yes). Defaults to false.\n * @returns A promise that can be used to wait.\n */\nfunction timeout(duration, unref) {\n return new Promise((resolve) => {\n const timeoutRef = setTimeout(resolve, duration);\n // don't keep process open\n if (timeoutRef.unref && unref) {\n timeoutRef.unref();\n }\n });\n}\n//# sourceMappingURL=PollingBlockTracker.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SubscribeBlockTracker = void 0;\nconst json_rpc_random_id_1 = __importDefault(require(\"json-rpc-random-id\"));\nconst BaseBlockTracker_1 = require(\"./BaseBlockTracker\");\nconst createRandomId = (0, json_rpc_random_id_1.default)();\nclass SubscribeBlockTracker extends BaseBlockTracker_1.BaseBlockTracker {\n constructor(opts = {}) {\n // parse + validate args\n if (!opts.provider) {\n throw new Error('SubscribeBlockTracker - no provider specified.');\n }\n // BaseBlockTracker constructor\n super(opts);\n // config\n this._provider = opts.provider;\n this._subscriptionId = null;\n }\n async checkForLatestBlock() {\n return await this.getLatestBlock();\n }\n async _start() {\n if (this._subscriptionId === undefined || this._subscriptionId === null) {\n try {\n const blockNumber = (await this._call('eth_blockNumber'));\n this._subscriptionId = (await this._call('eth_subscribe', 'newHeads'));\n this._provider.on('data', this._handleSubData.bind(this));\n this._newPotentialLatest(blockNumber);\n }\n catch (e) {\n this.emit('error', e);\n }\n }\n }\n async _end() {\n if (this._subscriptionId !== null && this._subscriptionId !== undefined) {\n try {\n await this._call('eth_unsubscribe', this._subscriptionId);\n this._subscriptionId = null;\n }\n catch (e) {\n this.emit('error', e);\n }\n }\n }\n _call(method, ...params) {\n return new Promise((resolve, reject) => {\n this._provider.sendAsync({\n id: createRandomId(),\n method,\n params,\n jsonrpc: '2.0',\n }, (err, res) => {\n if (err) {\n reject(err);\n }\n else {\n resolve(res.result);\n }\n });\n });\n }\n _handleSubData(_, response) {\n var _a;\n if (response.method === 'eth_subscription' &&\n ((_a = response.params) === null || _a === void 0 ? void 0 : _a.subscription) === this._subscriptionId) {\n this._newPotentialLatest(response.params.result.number);\n }\n }\n}\nexports.SubscribeBlockTracker = SubscribeBlockTracker;\n//# sourceMappingURL=SubscribeBlockTracker.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./PollingBlockTracker\"), exports);\n__exportStar(require(\"./SubscribeBlockTracker\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getUniqueId = void 0;\n// uint32 (two's complement) max\n// more conservative than Number.MAX_SAFE_INTEGER\nconst MAX = 4294967295;\nlet idCounter = Math.floor(Math.random() * MAX);\nfunction getUniqueId() {\n idCounter = (idCounter + 1) % MAX;\n return idCounter;\n}\nexports.getUniqueId = getUniqueId;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0VW5pcXVlSWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZ2V0VW5pcXVlSWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsZ0NBQWdDO0FBQ2hDLGlEQUFpRDtBQUNqRCxNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUM7QUFDdkIsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFFaEQsU0FBZ0IsV0FBVztJQUN6QixTQUFTLEdBQUcsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ2xDLE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFIRCxrQ0FHQyJ9","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createIdRemapMiddleware = void 0;\nconst getUniqueId_1 = require(\"./getUniqueId\");\nfunction createIdRemapMiddleware() {\n return (req, res, next, _end) => {\n const originalId = req.id;\n const newId = getUniqueId_1.getUniqueId();\n req.id = newId;\n res.id = newId;\n next((done) => {\n req.id = originalId;\n res.id = originalId;\n done();\n });\n };\n}\nexports.createIdRemapMiddleware = createIdRemapMiddleware;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRSZW1hcE1pZGRsZXdhcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaWRSZW1hcE1pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0NBQTRDO0FBRzVDLFNBQWdCLHVCQUF1QjtJQUNyQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDOUIsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUMxQixNQUFNLEtBQUssR0FBRyx5QkFBVyxFQUFFLENBQUM7UUFDNUIsR0FBRyxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDZixHQUFHLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUNmLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ1osR0FBRyxDQUFDLEVBQUUsR0FBRyxVQUFVLENBQUM7WUFDcEIsR0FBRyxDQUFDLEVBQUUsR0FBRyxVQUFVLENBQUM7WUFDcEIsSUFBSSxFQUFFLENBQUM7UUFDVCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztBQUNKLENBQUM7QUFaRCwwREFZQyJ9","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createAsyncMiddleware = void 0;\n/**\n * JsonRpcEngine only accepts callback-based middleware directly.\n * createAsyncMiddleware exists to enable consumers to pass in async middleware\n * functions.\n *\n * Async middleware have no \"end\" function. Instead, they \"end\" if they return\n * without calling \"next\". Rather than passing in explicit return handlers,\n * async middleware can simply await \"next\", and perform operations on the\n * response object when execution resumes.\n *\n * To accomplish this, createAsyncMiddleware passes the async middleware a\n * wrapped \"next\" function. That function calls the internal JsonRpcEngine\n * \"next\" function with a return handler that resolves a promise when called.\n *\n * The return handler will always be called. Its resolution of the promise\n * enables the control flow described above.\n */\nfunction createAsyncMiddleware(asyncMiddleware) {\n return async (req, res, next, end) => {\n // nextPromise is the key to the implementation\n // it is resolved by the return handler passed to the\n // \"next\" function\n let resolveNextPromise;\n const nextPromise = new Promise((resolve) => {\n resolveNextPromise = resolve;\n });\n let returnHandlerCallback = null;\n let nextWasCalled = false;\n // This will be called by the consumer's async middleware.\n const asyncNext = async () => {\n nextWasCalled = true;\n // We pass a return handler to next(). When it is called by the engine,\n // the consumer's async middleware will resume executing.\n // eslint-disable-next-line node/callback-return\n next((runReturnHandlersCallback) => {\n // This callback comes from JsonRpcEngine._runReturnHandlers\n returnHandlerCallback = runReturnHandlersCallback;\n resolveNextPromise();\n });\n await nextPromise;\n };\n try {\n await asyncMiddleware(req, res, asyncNext);\n if (nextWasCalled) {\n await nextPromise; // we must wait until the return handler is called\n returnHandlerCallback(null);\n }\n else {\n end(null);\n }\n }\n catch (error) {\n if (returnHandlerCallback) {\n returnHandlerCallback(error);\n }\n else {\n end(error);\n }\n }\n };\n}\nexports.createAsyncMiddleware = createAsyncMiddleware;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQXN5bmNNaWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NyZWF0ZUFzeW5jTWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFnQkE7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxTQUFnQixxQkFBcUIsQ0FDbkMsZUFBNkM7SUFFN0MsT0FBTyxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDbkMsK0NBQStDO1FBQy9DLHFEQUFxRDtRQUNyRCxrQkFBa0I7UUFDbEIsSUFBSSxrQkFBOEIsQ0FBQztRQUNuQyxNQUFNLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzFDLGtCQUFrQixHQUFHLE9BQU8sQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztRQUVILElBQUkscUJBQXFCLEdBQVksSUFBSSxDQUFDO1FBQzFDLElBQUksYUFBYSxHQUFHLEtBQUssQ0FBQztRQUUxQiwwREFBMEQ7UUFDMUQsTUFBTSxTQUFTLEdBQUcsS0FBSyxJQUFJLEVBQUU7WUFDM0IsYUFBYSxHQUFHLElBQUksQ0FBQztZQUVyQix1RUFBdUU7WUFDdkUseURBQXlEO1lBQ3pELGdEQUFnRDtZQUNoRCxJQUFJLENBQUMsQ0FBQyx5QkFBeUIsRUFBRSxFQUFFO2dCQUNqQyw0REFBNEQ7Z0JBQzVELHFCQUFxQixHQUFHLHlCQUF5QixDQUFDO2dCQUNsRCxrQkFBa0IsRUFBRSxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxXQUFXLENBQUM7UUFDcEIsQ0FBQyxDQUFDO1FBRUYsSUFBSTtZQUNGLE1BQU0sZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFFM0MsSUFBSSxhQUFhLEVBQUU7Z0JBQ2pCLE1BQU0sV0FBVyxDQUFDLENBQUMsa0RBQWtEO2dCQUNwRSxxQkFBK0MsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN4RDtpQkFBTTtnQkFDTCxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDWDtTQUNGO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxJQUFJLHFCQUFxQixFQUFFO2dCQUN4QixxQkFBK0MsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUN6RDtpQkFBTTtnQkFDTCxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDWjtTQUNGO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQS9DRCxzREErQ0MifQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createScaffoldMiddleware = void 0;\nfunction createScaffoldMiddleware(handlers) {\n return (req, res, next, end) => {\n const handler = handlers[req.method];\n // if no handler, return\n if (handler === undefined) {\n return next();\n }\n // if handler is fn, call as middleware\n if (typeof handler === 'function') {\n return handler(req, res, next, end);\n }\n // if handler is some other value, use as result\n res.result = handler;\n return end();\n };\n}\nexports.createScaffoldMiddleware = createScaffoldMiddleware;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlU2NhZmZvbGRNaWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NyZWF0ZVNjYWZmb2xkTWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSxTQUFnQix3QkFBd0IsQ0FBQyxRQUV4QztJQUNDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUM3QixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLHdCQUF3QjtRQUN4QixJQUFJLE9BQU8sS0FBSyxTQUFTLEVBQUU7WUFDekIsT0FBTyxJQUFJLEVBQUUsQ0FBQztTQUNmO1FBQ0QsdUNBQXVDO1FBQ3ZDLElBQUksT0FBTyxPQUFPLEtBQUssVUFBVSxFQUFFO1lBQ2pDLE9BQU8sT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ3JDO1FBQ0QsZ0RBQWdEO1FBQy9DLEdBQStCLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztRQUNsRCxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ2YsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQWpCRCw0REFpQkMifQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst events_1 = require(\"events\");\nfunction safeApply(handler, context, args) {\n try {\n Reflect.apply(handler, context, args);\n }\n catch (err) {\n // Throw error after timeout so as not to interrupt the stack\n setTimeout(() => {\n throw err;\n });\n }\n}\nfunction arrayClone(arr) {\n const n = arr.length;\n const copy = new Array(n);\n for (let i = 0; i < n; i += 1) {\n copy[i] = arr[i];\n }\n return copy;\n}\nclass SafeEventEmitter extends events_1.EventEmitter {\n emit(type, ...args) {\n let doError = type === 'error';\n const events = this._events;\n if (events !== undefined) {\n doError = doError && events.error === undefined;\n }\n else if (!doError) {\n return false;\n }\n // If there is no 'error' event listener then throw.\n if (doError) {\n let er;\n if (args.length > 0) {\n [er] = args;\n }\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n const err = new Error(`Unhandled error.${er ? ` (${er.message})` : ''}`);\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n const handler = events[type];\n if (handler === undefined) {\n return false;\n }\n if (typeof handler === 'function') {\n safeApply(handler, this, args);\n }\n else {\n const len = handler.length;\n const listeners = arrayClone(handler);\n for (let i = 0; i < len; i += 1) {\n safeApply(listeners[i], this, args);\n }\n }\n return true;\n }\n}\nexports.default = SafeEventEmitter;\n//# sourceMappingURL=index.js.map","module.exports = stringify\nstringify.default = stringify\nstringify.stable = deterministicStringify\nstringify.stableStringify = deterministicStringify\n\nvar LIMIT_REPLACE_NODE = '[...]'\nvar CIRCULAR_REPLACE_NODE = '[Circular]'\n\nvar arr = []\nvar replacerStack = []\n\nfunction defaultOptions () {\n return {\n depthLimit: Number.MAX_SAFE_INTEGER,\n edgesLimit: Number.MAX_SAFE_INTEGER\n }\n}\n\n// Regular stringify\nfunction stringify (obj, replacer, spacer, options) {\n if (typeof options === 'undefined') {\n options = defaultOptions()\n }\n\n decirc(obj, '', 0, [], undefined, 0, options)\n var res\n try {\n if (replacerStack.length === 0) {\n res = JSON.stringify(obj, replacer, spacer)\n } else {\n res = JSON.stringify(obj, replaceGetterValues(replacer), spacer)\n }\n } catch (_) {\n return JSON.stringify('[unable to serialize, circular reference is too complex to analyze]')\n } finally {\n while (arr.length !== 0) {\n var part = arr.pop()\n if (part.length === 4) {\n Object.defineProperty(part[0], part[1], part[3])\n } else {\n part[0][part[1]] = part[2]\n }\n }\n }\n return res\n}\n\nfunction setReplace (replace, val, k, parent) {\n var propertyDescriptor = Object.getOwnPropertyDescriptor(parent, k)\n if (propertyDescriptor.get !== undefined) {\n if (propertyDescriptor.configurable) {\n Object.defineProperty(parent, k, { value: replace })\n arr.push([parent, k, val, propertyDescriptor])\n } else {\n replacerStack.push([val, k, replace])\n }\n } else {\n parent[k] = replace\n arr.push([parent, k, val])\n }\n}\n\nfunction decirc (val, k, edgeIndex, stack, parent, depth, options) {\n depth += 1\n var i\n if (typeof val === 'object' && val !== null) {\n for (i = 0; i < stack.length; i++) {\n if (stack[i] === val) {\n setReplace(CIRCULAR_REPLACE_NODE, val, k, parent)\n return\n }\n }\n\n if (\n typeof options.depthLimit !== 'undefined' &&\n depth > options.depthLimit\n ) {\n setReplace(LIMIT_REPLACE_NODE, val, k, parent)\n return\n }\n\n if (\n typeof options.edgesLimit !== 'undefined' &&\n edgeIndex + 1 > options.edgesLimit\n ) {\n setReplace(LIMIT_REPLACE_NODE, val, k, parent)\n return\n }\n\n stack.push(val)\n // Optimize for Arrays. Big arrays could kill the performance otherwise!\n if (Array.isArray(val)) {\n for (i = 0; i < val.length; i++) {\n decirc(val[i], i, i, stack, val, depth, options)\n }\n } else {\n var keys = Object.keys(val)\n for (i = 0; i < keys.length; i++) {\n var key = keys[i]\n decirc(val[key], key, i, stack, val, depth, options)\n }\n }\n stack.pop()\n }\n}\n\n// Stable-stringify\nfunction compareFunction (a, b) {\n if (a < b) {\n return -1\n }\n if (a > b) {\n return 1\n }\n return 0\n}\n\nfunction deterministicStringify (obj, replacer, spacer, options) {\n if (typeof options === 'undefined') {\n options = defaultOptions()\n }\n\n var tmp = deterministicDecirc(obj, '', 0, [], undefined, 0, options) || obj\n var res\n try {\n if (replacerStack.length === 0) {\n res = JSON.stringify(tmp, replacer, spacer)\n } else {\n res = JSON.stringify(tmp, replaceGetterValues(replacer), spacer)\n }\n } catch (_) {\n return JSON.stringify('[unable to serialize, circular reference is too complex to analyze]')\n } finally {\n // Ensure that we restore the object as it was.\n while (arr.length !== 0) {\n var part = arr.pop()\n if (part.length === 4) {\n Object.defineProperty(part[0], part[1], part[3])\n } else {\n part[0][part[1]] = part[2]\n }\n }\n }\n return res\n}\n\nfunction deterministicDecirc (val, k, edgeIndex, stack, parent, depth, options) {\n depth += 1\n var i\n if (typeof val === 'object' && val !== null) {\n for (i = 0; i < stack.length; i++) {\n if (stack[i] === val) {\n setReplace(CIRCULAR_REPLACE_NODE, val, k, parent)\n return\n }\n }\n try {\n if (typeof val.toJSON === 'function') {\n return\n }\n } catch (_) {\n return\n }\n\n if (\n typeof options.depthLimit !== 'undefined' &&\n depth > options.depthLimit\n ) {\n setReplace(LIMIT_REPLACE_NODE, val, k, parent)\n return\n }\n\n if (\n typeof options.edgesLimit !== 'undefined' &&\n edgeIndex + 1 > options.edgesLimit\n ) {\n setReplace(LIMIT_REPLACE_NODE, val, k, parent)\n return\n }\n\n stack.push(val)\n // Optimize for Arrays. Big arrays could kill the performance otherwise!\n if (Array.isArray(val)) {\n for (i = 0; i < val.length; i++) {\n deterministicDecirc(val[i], i, i, stack, val, depth, options)\n }\n } else {\n // Create a temporary object in the required way\n var tmp = {}\n var keys = Object.keys(val).sort(compareFunction)\n for (i = 0; i < keys.length; i++) {\n var key = keys[i]\n deterministicDecirc(val[key], key, i, stack, val, depth, options)\n tmp[key] = val[key]\n }\n if (typeof parent !== 'undefined') {\n arr.push([parent, k, val])\n parent[k] = tmp\n } else {\n return tmp\n }\n }\n stack.pop()\n }\n}\n\n// wraps replacer function to handle values we couldn't replace\n// and mark them as replaced value\nfunction replaceGetterValues (replacer) {\n replacer =\n typeof replacer !== 'undefined'\n ? replacer\n : function (k, v) {\n return v\n }\n return function (key, val) {\n if (replacerStack.length > 0) {\n for (var i = 0; i < replacerStack.length; i++) {\n var part = replacerStack[i]\n if (part[1] === key && part[0] === val) {\n val = part[2]\n replacerStack.splice(i, 1)\n break\n }\n }\n }\n return replacer.call(this, key, val)\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EthereumProviderError = exports.EthereumRpcError = void 0;\nconst fast_safe_stringify_1 = require(\"fast-safe-stringify\");\n/**\n * Error subclass implementing JSON RPC 2.0 errors and Ethereum RPC errors\n * per EIP-1474.\n * Permits any integer error code.\n */\nclass EthereumRpcError extends Error {\n constructor(code, message, data) {\n if (!Number.isInteger(code)) {\n throw new Error('\"code\" must be an integer.');\n }\n if (!message || typeof message !== 'string') {\n throw new Error('\"message\" must be a nonempty string.');\n }\n super(message);\n this.code = code;\n if (data !== undefined) {\n this.data = data;\n }\n }\n /**\n * Returns a plain object with all public class properties.\n */\n serialize() {\n const serialized = {\n code: this.code,\n message: this.message,\n };\n if (this.data !== undefined) {\n serialized.data = this.data;\n }\n if (this.stack) {\n serialized.stack = this.stack;\n }\n return serialized;\n }\n /**\n * Return a string representation of the serialized error, omitting\n * any circular references.\n */\n toString() {\n return fast_safe_stringify_1.default(this.serialize(), stringifyReplacer, 2);\n }\n}\nexports.EthereumRpcError = EthereumRpcError;\n/**\n * Error subclass implementing Ethereum Provider errors per EIP-1193.\n * Permits integer error codes in the [ 1000 <= 4999 ] range.\n */\nclass EthereumProviderError extends EthereumRpcError {\n /**\n * Create an Ethereum Provider JSON-RPC error.\n * `code` must be an integer in the 1000 <= 4999 range.\n */\n constructor(code, message, data) {\n if (!isValidEthProviderCode(code)) {\n throw new Error('\"code\" must be an integer such that: 1000 <= code <= 4999');\n }\n super(code, message, data);\n }\n}\nexports.EthereumProviderError = EthereumProviderError;\n// Internal\nfunction isValidEthProviderCode(code) {\n return Number.isInteger(code) && code >= 1000 && code <= 4999;\n}\nfunction stringifyReplacer(_, value) {\n if (value === '[Circular]') {\n return undefined;\n }\n return value;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jbGFzc2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZEQUFnRDtBQVNoRDs7OztHQUlHO0FBQ0gsTUFBYSxnQkFBb0IsU0FBUSxLQUFLO0lBTTVDLFlBQVksSUFBWSxFQUFFLE9BQWUsRUFBRSxJQUFRO1FBRWpELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzNCLE1BQU0sSUFBSSxLQUFLLENBQ2IsNEJBQTRCLENBQzdCLENBQUM7U0FDSDtRQUNELElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO1lBQzNDLE1BQU0sSUFBSSxLQUFLLENBQ2Isc0NBQXNDLENBQ3ZDLENBQUM7U0FDSDtRQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTtZQUN0QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztTQUNsQjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVM7UUFDUCxNQUFNLFVBQVUsR0FBK0I7WUFDN0MsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3RCLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO1lBQzNCLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztTQUM3QjtRQUNELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLFVBQVUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUMvQjtRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxRQUFRO1FBQ04sT0FBTyw2QkFBYSxDQUNsQixJQUFJLENBQUMsU0FBUyxFQUFFLEVBQ2hCLGlCQUFpQixFQUNqQixDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXRERCw0Q0FzREM7QUFFRDs7O0dBR0c7QUFDSCxNQUFhLHFCQUF5QixTQUFRLGdCQUFtQjtJQUUvRDs7O09BR0c7SUFDSCxZQUFZLElBQVksRUFBRSxPQUFlLEVBQUUsSUFBUTtRQUVqRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDakMsTUFBTSxJQUFJLEtBQUssQ0FDYiwyREFBMkQsQ0FDNUQsQ0FBQztTQUNIO1FBRUQsS0FBSyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztDQUNGO0FBaEJELHNEQWdCQztBQUVELFdBQVc7QUFFWCxTQUFTLHNCQUFzQixDQUFDLElBQVk7SUFDMUMsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQztBQUNoRSxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxDQUFVLEVBQUUsS0FBYztJQUNuRCxJQUFJLEtBQUssS0FBSyxZQUFZLEVBQUU7UUFDMUIsT0FBTyxTQUFTLENBQUM7S0FDbEI7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMifQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.errorValues = exports.errorCodes = void 0;\nexports.errorCodes = {\n rpc: {\n invalidInput: -32000,\n resourceNotFound: -32001,\n resourceUnavailable: -32002,\n transactionRejected: -32003,\n methodNotSupported: -32004,\n limitExceeded: -32005,\n parse: -32700,\n invalidRequest: -32600,\n methodNotFound: -32601,\n invalidParams: -32602,\n internal: -32603,\n },\n provider: {\n userRejectedRequest: 4001,\n unauthorized: 4100,\n unsupportedMethod: 4200,\n disconnected: 4900,\n chainDisconnected: 4901,\n },\n};\nexports.errorValues = {\n '-32700': {\n standard: 'JSON RPC 2.0',\n message: 'Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.',\n },\n '-32600': {\n standard: 'JSON RPC 2.0',\n message: 'The JSON sent is not a valid Request object.',\n },\n '-32601': {\n standard: 'JSON RPC 2.0',\n message: 'The method does not exist / is not available.',\n },\n '-32602': {\n standard: 'JSON RPC 2.0',\n message: 'Invalid method parameter(s).',\n },\n '-32603': {\n standard: 'JSON RPC 2.0',\n message: 'Internal JSON-RPC error.',\n },\n '-32000': {\n standard: 'EIP-1474',\n message: 'Invalid input.',\n },\n '-32001': {\n standard: 'EIP-1474',\n message: 'Resource not found.',\n },\n '-32002': {\n standard: 'EIP-1474',\n message: 'Resource unavailable.',\n },\n '-32003': {\n standard: 'EIP-1474',\n message: 'Transaction rejected.',\n },\n '-32004': {\n standard: 'EIP-1474',\n message: 'Method not supported.',\n },\n '-32005': {\n standard: 'EIP-1474',\n message: 'Request limit exceeded.',\n },\n '4001': {\n standard: 'EIP-1193',\n message: 'User rejected the request.',\n },\n '4100': {\n standard: 'EIP-1193',\n message: 'The requested account and/or method has not been authorized by the user.',\n },\n '4200': {\n standard: 'EIP-1193',\n message: 'The requested method is not supported by this Ethereum provider.',\n },\n '4900': {\n standard: 'EIP-1193',\n message: 'The provider is disconnected from all chains.',\n },\n '4901': {\n standard: 'EIP-1193',\n message: 'The provider is disconnected from the specified chain.',\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Vycm9yLWNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF1QmEsUUFBQSxVQUFVLEdBQWU7SUFDcEMsR0FBRyxFQUFFO1FBQ0gsWUFBWSxFQUFFLENBQUMsS0FBSztRQUNwQixnQkFBZ0IsRUFBRSxDQUFDLEtBQUs7UUFDeEIsbUJBQW1CLEVBQUUsQ0FBQyxLQUFLO1FBQzNCLG1CQUFtQixFQUFFLENBQUMsS0FBSztRQUMzQixrQkFBa0IsRUFBRSxDQUFDLEtBQUs7UUFDMUIsYUFBYSxFQUFFLENBQUMsS0FBSztRQUNyQixLQUFLLEVBQUUsQ0FBQyxLQUFLO1FBQ2IsY0FBYyxFQUFFLENBQUMsS0FBSztRQUN0QixjQUFjLEVBQUUsQ0FBQyxLQUFLO1FBQ3RCLGFBQWEsRUFBRSxDQUFDLEtBQUs7UUFDckIsUUFBUSxFQUFFLENBQUMsS0FBSztLQUNqQjtJQUNELFFBQVEsRUFBRTtRQUNSLG1CQUFtQixFQUFFLElBQUk7UUFDekIsWUFBWSxFQUFFLElBQUk7UUFDbEIsaUJBQWlCLEVBQUUsSUFBSTtRQUN2QixZQUFZLEVBQUUsSUFBSTtRQUNsQixpQkFBaUIsRUFBRSxJQUFJO0tBQ3hCO0NBQ0YsQ0FBQztBQUVXLFFBQUEsV0FBVyxHQUFHO0lBQ3pCLFFBQVEsRUFBRTtRQUNSLFFBQVEsRUFBRSxjQUFjO1FBQ3hCLE9BQU8sRUFBRSx1R0FBdUc7S0FDakg7SUFDRCxRQUFRLEVBQUU7UUFDUixRQUFRLEVBQUUsY0FBYztRQUN4QixPQUFPLEVBQUUsOENBQThDO0tBQ3hEO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLGNBQWM7UUFDeEIsT0FBTyxFQUFFLCtDQUErQztLQUN6RDtJQUNELFFBQVEsRUFBRTtRQUNSLFFBQVEsRUFBRSxjQUFjO1FBQ3hCLE9BQU8sRUFBRSw4QkFBOEI7S0FDeEM7SUFDRCxRQUFRLEVBQUU7UUFDUixRQUFRLEVBQUUsY0FBYztRQUN4QixPQUFPLEVBQUUsMEJBQTBCO0tBQ3BDO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLFVBQVU7UUFDcEIsT0FBTyxFQUFFLGdCQUFnQjtLQUMxQjtJQUNELFFBQVEsRUFBRTtRQUNSLFFBQVEsRUFBRSxVQUFVO1FBQ3BCLE9BQU8sRUFBRSxxQkFBcUI7S0FDL0I7SUFDRCxRQUFRLEVBQUU7UUFDUixRQUFRLEVBQUUsVUFBVTtRQUNwQixPQUFPLEVBQUUsdUJBQXVCO0tBQ2pDO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLFVBQVU7UUFDcEIsT0FBTyxFQUFFLHVCQUF1QjtLQUNqQztJQUNELFFBQVEsRUFBRTtRQUNSLFFBQVEsRUFBRSxVQUFVO1FBQ3BCLE9BQU8sRUFBRSx1QkFBdUI7S0FDakM7SUFDRCxRQUFRLEVBQUU7UUFDUixRQUFRLEVBQUUsVUFBVTtRQUNwQixPQUFPLEVBQUUseUJBQXlCO0tBQ25DO0lBQ0QsTUFBTSxFQUFFO1FBQ04sUUFBUSxFQUFFLFVBQVU7UUFDcEIsT0FBTyxFQUFFLDRCQUE0QjtLQUN0QztJQUNELE1BQU0sRUFBRTtRQUNOLFFBQVEsRUFBRSxVQUFVO1FBQ3BCLE9BQU8sRUFBRSwwRUFBMEU7S0FDcEY7SUFDRCxNQUFNLEVBQUU7UUFDTixRQUFRLEVBQUUsVUFBVTtRQUNwQixPQUFPLEVBQUUsa0VBQWtFO0tBQzVFO0lBQ0QsTUFBTSxFQUFFO1FBQ04sUUFBUSxFQUFFLFVBQVU7UUFDcEIsT0FBTyxFQUFFLCtDQUErQztLQUN6RDtJQUNELE1BQU0sRUFBRTtRQUNOLFFBQVEsRUFBRSxVQUFVO1FBQ3BCLE9BQU8sRUFBRSx3REFBd0Q7S0FDbEU7Q0FDRixDQUFDIn0=","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.serializeError = exports.isValidCode = exports.getMessageFromCode = exports.JSON_RPC_SERVER_ERROR_MESSAGE = void 0;\nconst error_constants_1 = require(\"./error-constants\");\nconst classes_1 = require(\"./classes\");\nconst FALLBACK_ERROR_CODE = error_constants_1.errorCodes.rpc.internal;\nconst FALLBACK_MESSAGE = 'Unspecified error message. This is a bug, please report it.';\nconst FALLBACK_ERROR = {\n code: FALLBACK_ERROR_CODE,\n message: getMessageFromCode(FALLBACK_ERROR_CODE),\n};\nexports.JSON_RPC_SERVER_ERROR_MESSAGE = 'Unspecified server error.';\n/**\n * Gets the message for a given code, or a fallback message if the code has\n * no corresponding message.\n */\nfunction getMessageFromCode(code, fallbackMessage = FALLBACK_MESSAGE) {\n if (Number.isInteger(code)) {\n const codeString = code.toString();\n if (hasKey(error_constants_1.errorValues, codeString)) {\n return error_constants_1.errorValues[codeString].message;\n }\n if (isJsonRpcServerError(code)) {\n return exports.JSON_RPC_SERVER_ERROR_MESSAGE;\n }\n }\n return fallbackMessage;\n}\nexports.getMessageFromCode = getMessageFromCode;\n/**\n * Returns whether the given code is valid.\n * A code is only valid if it has a message.\n */\nfunction isValidCode(code) {\n if (!Number.isInteger(code)) {\n return false;\n }\n const codeString = code.toString();\n if (error_constants_1.errorValues[codeString]) {\n return true;\n }\n if (isJsonRpcServerError(code)) {\n return true;\n }\n return false;\n}\nexports.isValidCode = isValidCode;\n/**\n * Serializes the given error to an Ethereum JSON RPC-compatible error object.\n * Merely copies the given error's values if it is already compatible.\n * If the given error is not fully compatible, it will be preserved on the\n * returned object's data.originalError property.\n */\nfunction serializeError(error, { fallbackError = FALLBACK_ERROR, shouldIncludeStack = false, } = {}) {\n var _a, _b;\n if (!fallbackError ||\n !Number.isInteger(fallbackError.code) ||\n typeof fallbackError.message !== 'string') {\n throw new Error('Must provide fallback error with integer number code and string message.');\n }\n if (error instanceof classes_1.EthereumRpcError) {\n return error.serialize();\n }\n const serialized = {};\n if (error &&\n typeof error === 'object' &&\n !Array.isArray(error) &&\n hasKey(error, 'code') &&\n isValidCode(error.code)) {\n const _error = error;\n serialized.code = _error.code;\n if (_error.message && typeof _error.message === 'string') {\n serialized.message = _error.message;\n if (hasKey(_error, 'data')) {\n serialized.data = _error.data;\n }\n }\n else {\n serialized.message = getMessageFromCode(serialized.code);\n serialized.data = { originalError: assignOriginalError(error) };\n }\n }\n else {\n serialized.code = fallbackError.code;\n const message = (_a = error) === null || _a === void 0 ? void 0 : _a.message;\n serialized.message = (message && typeof message === 'string'\n ? message\n : fallbackError.message);\n serialized.data = { originalError: assignOriginalError(error) };\n }\n const stack = (_b = error) === null || _b === void 0 ? void 0 : _b.stack;\n if (shouldIncludeStack && error && stack && typeof stack === 'string') {\n serialized.stack = stack;\n }\n return serialized;\n}\nexports.serializeError = serializeError;\n// Internal\nfunction isJsonRpcServerError(code) {\n return code >= -32099 && code <= -32000;\n}\nfunction assignOriginalError(error) {\n if (error && typeof error === 'object' && !Array.isArray(error)) {\n return Object.assign({}, error);\n }\n return error;\n}\nfunction hasKey(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdURBQTREO0FBQzVELHVDQUF5RTtBQUV6RSxNQUFNLG1CQUFtQixHQUFHLDRCQUFVLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztBQUNwRCxNQUFNLGdCQUFnQixHQUFHLDZEQUE2RCxDQUFDO0FBQ3ZGLE1BQU0sY0FBYyxHQUErQjtJQUNqRCxJQUFJLEVBQUUsbUJBQW1CO0lBQ3pCLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQztDQUNqRCxDQUFDO0FBRVcsUUFBQSw2QkFBNkIsR0FBRywyQkFBMkIsQ0FBQztBQUl6RTs7O0dBR0c7QUFDSCxTQUFnQixrQkFBa0IsQ0FDaEMsSUFBWSxFQUNaLGtCQUEwQixnQkFBZ0I7SUFFMUMsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQzFCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVuQyxJQUFJLE1BQU0sQ0FBQyw2QkFBVyxFQUFFLFVBQVUsQ0FBQyxFQUFFO1lBQ25DLE9BQU8sNkJBQVcsQ0FBQyxVQUEyQixDQUFDLENBQUMsT0FBTyxDQUFDO1NBQ3pEO1FBQ0QsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM5QixPQUFPLHFDQUE2QixDQUFDO1NBQ3RDO0tBQ0Y7SUFDRCxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDO0FBZkQsZ0RBZUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixXQUFXLENBQUMsSUFBWTtJQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUMzQixPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25DLElBQUksNkJBQVcsQ0FBQyxVQUEy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","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ethErrors = void 0;\nconst classes_1 = require(\"./classes\");\nconst utils_1 = require(\"./utils\");\nconst error_constants_1 = require(\"./error-constants\");\nexports.ethErrors = {\n rpc: {\n /**\n * Get a JSON RPC 2.0 Parse (-32700) error.\n */\n parse: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.parse, arg),\n /**\n * Get a JSON RPC 2.0 Invalid Request (-32600) error.\n */\n invalidRequest: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.invalidRequest, arg),\n /**\n * Get a JSON RPC 2.0 Invalid Params (-32602) error.\n */\n invalidParams: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.invalidParams, arg),\n /**\n * Get a JSON RPC 2.0 Method Not Found (-32601) error.\n */\n methodNotFound: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.methodNotFound, arg),\n /**\n * Get a JSON RPC 2.0 Internal (-32603) error.\n */\n internal: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.internal, arg),\n /**\n * Get a JSON RPC 2.0 Server error.\n * Permits integer error codes in the [ -32099 <= -32005 ] range.\n * Codes -32000 through -32004 are reserved by EIP-1474.\n */\n server: (opts) => {\n if (!opts || typeof opts !== 'object' || Array.isArray(opts)) {\n throw new Error('Ethereum RPC Server errors must provide single object argument.');\n }\n const { code } = opts;\n if (!Number.isInteger(code) || code > -32005 || code < -32099) {\n throw new Error('\"code\" must be an integer such that: -32099 <= code <= -32005');\n }\n return getEthJsonRpcError(code, opts);\n },\n /**\n * Get an Ethereum JSON RPC Invalid Input (-32000) error.\n */\n invalidInput: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.invalidInput, arg),\n /**\n * Get an Ethereum JSON RPC Resource Not Found (-32001) error.\n */\n resourceNotFound: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.resourceNotFound, arg),\n /**\n * Get an Ethereum JSON RPC Resource Unavailable (-32002) error.\n */\n resourceUnavailable: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.resourceUnavailable, arg),\n /**\n * Get an Ethereum JSON RPC Transaction Rejected (-32003) error.\n */\n transactionRejected: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.transactionRejected, arg),\n /**\n * Get an Ethereum JSON RPC Method Not Supported (-32004) error.\n */\n methodNotSupported: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.methodNotSupported, arg),\n /**\n * Get an Ethereum JSON RPC Limit Exceeded (-32005) error.\n */\n limitExceeded: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.limitExceeded, arg),\n },\n provider: {\n /**\n * Get an Ethereum Provider User Rejected Request (4001) error.\n */\n userRejectedRequest: (arg) => {\n return getEthProviderError(error_constants_1.errorCodes.provider.userRejectedRequest, arg);\n },\n /**\n * Get an Ethereum Provider Unauthorized (4100) error.\n */\n unauthorized: (arg) => {\n return getEthProviderError(error_constants_1.errorCodes.provider.unauthorized, arg);\n },\n /**\n * Get an Ethereum Provider Unsupported Method (4200) error.\n */\n unsupportedMethod: (arg) => {\n return getEthProviderError(error_constants_1.errorCodes.provider.unsupportedMethod, arg);\n },\n /**\n * Get an Ethereum Provider Not Connected (4900) error.\n */\n disconnected: (arg) => {\n return getEthProviderError(error_constants_1.errorCodes.provider.disconnected, arg);\n },\n /**\n * Get an Ethereum Provider Chain Not Connected (4901) error.\n */\n chainDisconnected: (arg) => {\n return getEthProviderError(error_constants_1.errorCodes.provider.chainDisconnected, arg);\n },\n /**\n * Get a custom Ethereum Provider error.\n */\n custom: (opts) => {\n if (!opts || typeof opts !== 'object' || Array.isArray(opts)) {\n throw new Error('Ethereum Provider custom errors must provide single object argument.');\n }\n const { code, message, data } = opts;\n if (!message || typeof message !== 'string') {\n throw new Error('\"message\" must be a nonempty string');\n }\n return new classes_1.EthereumProviderError(code, message, data);\n },\n },\n};\n// Internal\nfunction getEthJsonRpcError(code, arg) {\n const [message, data] = parseOpts(arg);\n return new classes_1.EthereumRpcError(code, message || utils_1.getMessageFromCode(code), data);\n}\nfunction getEthProviderError(code, arg) {\n const [message, data] = parseOpts(arg);\n return new classes_1.EthereumProviderError(code, message || utils_1.getMessageFromCode(code), data);\n}\nfunction parseOpts(arg) {\n if (arg) {\n if (typeof arg === 'string') {\n return [arg];\n }\n else if (typeof arg === 'object' && !Array.isArray(arg)) {\n const { message, data } = arg;\n if (message && typeof message !== 'string') {\n throw new Error('Must specify string message.');\n }\n return [message || undefined, data];\n }\n }\n return [];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1Q0FBb0U7QUFDcEUsbUNBQTZDO0FBQzdDLHVEQUErQztBQWVsQyxRQUFBLFNBQVMsR0FBRztJQUN2QixHQUFHLEVBQUU7UUFFSDs7V0FFRztRQUNILEtBQUssRUFBRSxDQUFJLEdBQXFCLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUNyRCw0QkFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUMxQjtRQUVEOztXQUVHO1FBQ0gsY0FBYyxFQUFFLENBQUksR0FBcUIsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQzlELDRCQUFVLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxHQUFHLENBQ25DO1FBRUQ7O1dBRUc7UUFDSCxhQUFhLEVBQUUsQ0FBSSxHQUFxQixFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FDN0QsNEJBQVUsQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FDbEM7UUFFRDs7V0FFRztRQUNILGNBQWMsRUFBRSxDQUFJLEdBQXFCLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUM5RCw0QkFBVSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUNuQztRQUVEOztXQUVHO1FBQ0gsUUFBUSxFQUFFLENBQUksR0FBcUIsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQ3hELDRCQUFVLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQzdCO1FBRUQ7Ozs7V0FJRztRQUNILE1BQU0sRUFBRSxDQUFJLElBQTJCLEVBQUUsRUFBRTtZQUN6QyxJQUFJLENBQUMsSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUM1RCxNQUFNLElBQUksS0FBSyxDQUFDLGlFQUFpRSxDQUFDLENBQUM7YUFDcEY7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","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getMessageFromCode = exports.serializeError = exports.EthereumProviderError = exports.EthereumRpcError = exports.ethErrors = exports.errorCodes = void 0;\nconst classes_1 = require(\"./classes\");\nObject.defineProperty(exports, \"EthereumRpcError\", { enumerable: true, get: function () { return classes_1.EthereumRpcError; } });\nObject.defineProperty(exports, \"EthereumProviderError\", { enumerable: true, get: function () { return classes_1.EthereumProviderError; } });\nconst utils_1 = require(\"./utils\");\nObject.defineProperty(exports, \"serializeError\", { enumerable: true, get: function () { return utils_1.serializeError; } });\nObject.defineProperty(exports, \"getMessageFromCode\", { enumerable: true, get: function () { return utils_1.getMessageFromCode; } });\nconst errors_1 = require(\"./errors\");\nObject.defineProperty(exports, \"ethErrors\", { enumerable: true, get: function () { return errors_1.ethErrors; } });\nconst error_constants_1 = require(\"./error-constants\");\nObject.defineProperty(exports, \"errorCodes\", { enumerable: true, get: function () { return error_constants_1.errorCodes; } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUNBQW9FO0FBVWxFLGlHQVZPLDBCQUFnQixPQVVQO0FBQ2hCLHNHQVh5QiwrQkFBcUIsT0FXekI7QUFWdkIsbUNBRWlCO0FBU2YsK0ZBVkEsc0JBQWMsT0FVQTtBQUNkLG1HQVhnQiwwQkFBa0IsT0FXaEI7QUFUcEIscUNBQXFDO0FBS25DLDBGQUxPLGtCQUFTLE9BS1A7QUFKWCx1REFBK0M7QUFHN0MsMkZBSE8sNEJBQVUsT0FHUCJ9","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.JsonRpcEngine = void 0;\nconst safe_event_emitter_1 = __importDefault(require(\"@metamask/safe-event-emitter\"));\nconst eth_rpc_errors_1 = require(\"eth-rpc-errors\");\n/**\n * A JSON-RPC request and response processor.\n * Give it a stack of middleware, pass it requests, and get back responses.\n */\nclass JsonRpcEngine extends safe_event_emitter_1.default {\n constructor() {\n super();\n this._middleware = [];\n }\n /**\n * Add a middleware function to the engine's middleware stack.\n *\n * @param middleware - The middleware function to add.\n */\n push(middleware) {\n this._middleware.push(middleware);\n }\n handle(req, cb) {\n if (cb && typeof cb !== 'function') {\n throw new Error('\"callback\" must be a function if provided.');\n }\n if (Array.isArray(req)) {\n if (cb) {\n return this._handleBatch(req, cb);\n }\n return this._handleBatch(req);\n }\n if (cb) {\n return this._handle(req, cb);\n }\n return this._promiseHandle(req);\n }\n /**\n * Returns this engine as a middleware function that can be pushed to other\n * engines.\n *\n * @returns This engine as a middleware function.\n */\n asMiddleware() {\n return async (req, res, next, end) => {\n try {\n const [middlewareError, isComplete, returnHandlers,] = await JsonRpcEngine._runAllMiddleware(req, res, this._middleware);\n if (isComplete) {\n await JsonRpcEngine._runReturnHandlers(returnHandlers);\n return end(middlewareError);\n }\n return next(async (handlerCallback) => {\n try {\n await JsonRpcEngine._runReturnHandlers(returnHandlers);\n }\n catch (error) {\n return handlerCallback(error);\n }\n return handlerCallback();\n });\n }\n catch (error) {\n return end(error);\n }\n };\n }\n async _handleBatch(reqs, cb) {\n // The order here is important\n try {\n // 2. Wait for all requests to finish, or throw on some kind of fatal\n // error\n const responses = await Promise.all(\n // 1. Begin executing each request in the order received\n reqs.map(this._promiseHandle.bind(this)));\n // 3. Return batch response\n if (cb) {\n return cb(null, responses);\n }\n return responses;\n }\n catch (error) {\n if (cb) {\n return cb(error);\n }\n throw error;\n }\n }\n /**\n * A promise-wrapped _handle.\n */\n _promiseHandle(req) {\n return new Promise((resolve) => {\n this._handle(req, (_err, res) => {\n // There will always be a response, and it will always have any error\n // that is caught and propagated.\n resolve(res);\n });\n });\n }\n /**\n * Ensures that the request object is valid, processes it, and passes any\n * error and the response object to the given callback.\n *\n * Does not reject.\n */\n async _handle(callerReq, cb) {\n if (!callerReq ||\n Array.isArray(callerReq) ||\n typeof callerReq !== 'object') {\n const error = new eth_rpc_errors_1.EthereumRpcError(eth_rpc_errors_1.errorCodes.rpc.invalidRequest, `Requests must be plain objects. Received: ${typeof callerReq}`, { request: callerReq });\n return cb(error, { id: undefined, jsonrpc: '2.0', error });\n }\n if (typeof callerReq.method !== 'string') {\n const error = new eth_rpc_errors_1.EthereumRpcError(eth_rpc_errors_1.errorCodes.rpc.invalidRequest, `Must specify a string method. Received: ${typeof callerReq.method}`, { request: callerReq });\n return cb(error, { id: callerReq.id, jsonrpc: '2.0', error });\n }\n const req = Object.assign({}, callerReq);\n const res = {\n id: req.id,\n jsonrpc: req.jsonrpc,\n };\n let error = null;\n try {\n await this._processRequest(req, res);\n }\n catch (_error) {\n // A request handler error, a re-thrown middleware error, or something\n // unexpected.\n error = _error;\n }\n if (error) {\n // Ensure no result is present on an errored response\n delete res.result;\n if (!res.error) {\n res.error = eth_rpc_errors_1.serializeError(error);\n }\n }\n return cb(error, res);\n }\n /**\n * For the given request and response, runs all middleware and their return\n * handlers, if any, and ensures that internal request processing semantics\n * are satisfied.\n */\n async _processRequest(req, res) {\n const [error, isComplete, returnHandlers,] = await JsonRpcEngine._runAllMiddleware(req, res, this._middleware);\n // Throw if \"end\" was not called, or if the response has neither a result\n // nor an error.\n JsonRpcEngine._checkForCompletion(req, res, isComplete);\n // The return handlers should run even if an error was encountered during\n // middleware processing.\n await JsonRpcEngine._runReturnHandlers(returnHandlers);\n // Now we re-throw the middleware processing error, if any, to catch it\n // further up the call chain.\n if (error) {\n throw error;\n }\n }\n /**\n * Serially executes the given stack of middleware.\n *\n * @returns An array of any error encountered during middleware execution,\n * a boolean indicating whether the request was completed, and an array of\n * middleware-defined return handlers.\n */\n static async _runAllMiddleware(req, res, middlewareStack) {\n const returnHandlers = [];\n let error = null;\n let isComplete = false;\n // Go down stack of middleware, call and collect optional returnHandlers\n for (const middleware of middlewareStack) {\n [error, isComplete] = await JsonRpcEngine._runMiddleware(req, res, middleware, returnHandlers);\n if (isComplete) {\n break;\n }\n }\n return [error, isComplete, returnHandlers.reverse()];\n }\n /**\n * Runs an individual middleware.\n *\n * @returns An array of any error encountered during middleware exection,\n * and a boolean indicating whether the request should end.\n */\n static _runMiddleware(req, res, middleware, returnHandlers) {\n return new Promise((resolve) => {\n const end = (err) => {\n const error = err || res.error;\n if (error) {\n res.error = eth_rpc_errors_1.serializeError(error);\n }\n // True indicates that the request should end\n resolve([error, true]);\n };\n const next = (returnHandler) => {\n if (res.error) {\n end(res.error);\n }\n else {\n if (returnHandler) {\n if (typeof returnHandler !== 'function') {\n end(new eth_rpc_errors_1.EthereumRpcError(eth_rpc_errors_1.errorCodes.rpc.internal, `JsonRpcEngine: \"next\" return handlers must be functions. ` +\n `Received \"${typeof returnHandler}\" for request:\\n${jsonify(req)}`, { request: req }));\n }\n returnHandlers.push(returnHandler);\n }\n // False indicates that the request should not end\n resolve([null, false]);\n }\n };\n try {\n middleware(req, res, next, end);\n }\n catch (error) {\n end(error);\n }\n });\n }\n /**\n * Serially executes array of return handlers. The request and response are\n * assumed to be in their scope.\n */\n static async _runReturnHandlers(handlers) {\n for (const handler of handlers) {\n await new Promise((resolve, reject) => {\n handler((err) => (err ? reject(err) : resolve()));\n });\n }\n }\n /**\n * Throws an error if the response has neither a result nor an error, or if\n * the \"isComplete\" flag is falsy.\n */\n static _checkForCompletion(req, res, isComplete) {\n if (!('result' in res) && !('error' in res)) {\n throw new eth_rpc_errors_1.EthereumRpcError(eth_rpc_errors_1.errorCodes.rpc.internal, `JsonRpcEngine: Response has no error or result for request:\\n${jsonify(req)}`, { request: req });\n }\n if (!isComplete) {\n throw new eth_rpc_errors_1.EthereumRpcError(eth_rpc_errors_1.errorCodes.rpc.internal, `JsonRpcEngine: Nothing ended request:\\n${jsonify(req)}`, { request: req });\n }\n }\n}\nexports.JsonRpcEngine = JsonRpcEngine;\nfunction jsonify(request) {\n return JSON.stringify(request, null, 2);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSnNvblJwY0VuZ2luZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Kc29uUnBjRW5naW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHNGQUE0RDtBQUM1RCxtREFBOEU7QUF1RjlFOzs7R0FHRztBQUNILE1BQWEsYUFBYyxTQUFRLDRCQUFnQjtJQUdqRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFJLENBQU8sVUFBbUM7UUFDNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBaUQsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUEyQ0QsTUFBTSxDQUFDLEdBQVksRUFBRSxFQUFRO1FBQzNCLElBQUksRUFBRSxJQUFJLE9BQU8sRUFBRSxLQUFLLFVBQVUsRUFBRTtZQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7U0FDL0Q7UUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdEIsSUFBSSxFQUFFLEVBQUU7Z0JBQ04sT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQzthQUNuQztZQUNELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUMvQjtRQUVELElBQUksRUFBRSxFQUFFO1lBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQThCLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDekQ7UUFDRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBOEIsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFlBQVk7UUFDVixPQUFPLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNuQyxJQUFJ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","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.mergeMiddleware = void 0;\nconst JsonRpcEngine_1 = require(\"./JsonRpcEngine\");\nfunction mergeMiddleware(middlewareStack) {\n const engine = new JsonRpcEngine_1.JsonRpcEngine();\n middlewareStack.forEach((middleware) => engine.push(middleware));\n return engine.asMiddleware();\n}\nexports.mergeMiddleware = mergeMiddleware;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2VNaWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21lcmdlTWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBbUU7QUFFbkUsU0FBZ0IsZUFBZSxDQUFDLGVBQXNEO0lBQ3BGLE1BQU0sTUFBTSxHQUFHLElBQUksNkJBQWEsRUFBRSxDQUFDO0lBQ25DLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNqRSxPQUFPLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztBQUMvQixDQUFDO0FBSkQsMENBSUMifQ==","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./idRemapMiddleware\"), exports);\n__exportStar(require(\"./createAsyncMiddleware\"), exports);\n__exportStar(require(\"./createScaffoldMiddleware\"), exports);\n__exportStar(require(\"./getUniqueId\"), exports);\n__exportStar(require(\"./JsonRpcEngine\"), exports);\n__exportStar(require(\"./mergeMiddleware\"), exports);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsc0RBQW9DO0FBQ3BDLDBEQUF3QztBQUN4Qyw2REFBMkM7QUFDM0MsZ0RBQThCO0FBQzlCLGtEQUFnQztBQUNoQyxvREFBa0MifQ==","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar Semaphore = /** @class */ (function () {\n function Semaphore(_maxConcurrency) {\n this._maxConcurrency = _maxConcurrency;\n this._queue = [];\n if (_maxConcurrency <= 0) {\n throw new Error('semaphore must be initialized to a positive value');\n }\n this._value = _maxConcurrency;\n }\n Semaphore.prototype.acquire = function () {\n var _this = this;\n var locked = this.isLocked();\n var ticket = new Promise(function (r) { return _this._queue.push(r); });\n if (!locked)\n this._dispatch();\n return ticket;\n };\n Semaphore.prototype.runExclusive = function (callback) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var _a, value, release;\n return tslib_1.__generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, this.acquire()];\n case 1:\n _a = _b.sent(), value = _a[0], release = _a[1];\n _b.label = 2;\n case 2:\n _b.trys.push([2, , 4, 5]);\n return [4 /*yield*/, callback(value)];\n case 3: return [2 /*return*/, _b.sent()];\n case 4:\n release();\n return [7 /*endfinally*/];\n case 5: return [2 /*return*/];\n }\n });\n });\n };\n Semaphore.prototype.isLocked = function () {\n return this._value <= 0;\n };\n Semaphore.prototype.release = function () {\n if (this._maxConcurrency > 1) {\n throw new Error('this method is unavailabel on semaphores with concurrency > 1; use the scoped release returned by acquire instead');\n }\n if (this._currentReleaser) {\n var releaser = this._currentReleaser;\n this._currentReleaser = undefined;\n releaser();\n }\n };\n Semaphore.prototype._dispatch = function () {\n var _this = this;\n var nextConsumer = this._queue.shift();\n if (!nextConsumer)\n return;\n var released = false;\n this._currentReleaser = function () {\n if (released)\n return;\n released = true;\n _this._value++;\n _this._dispatch();\n };\n nextConsumer([this._value--, this._currentReleaser]);\n };\n return Semaphore;\n}());\nexports.default = Semaphore;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar Semaphore_1 = require(\"./Semaphore\");\nvar Mutex = /** @class */ (function () {\n function Mutex() {\n this._semaphore = new Semaphore_1.default(1);\n }\n Mutex.prototype.acquire = function () {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var _a, releaser;\n return tslib_1.__generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, this._semaphore.acquire()];\n case 1:\n _a = _b.sent(), releaser = _a[1];\n return [2 /*return*/, releaser];\n }\n });\n });\n };\n Mutex.prototype.runExclusive = function (callback) {\n return this._semaphore.runExclusive(function () { return callback(); });\n };\n Mutex.prototype.isLocked = function () {\n return this._semaphore.isLocked();\n };\n Mutex.prototype.release = function () {\n this._semaphore.release();\n };\n return Mutex;\n}());\nexports.default = Mutex;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.withTimeout = void 0;\nvar tslib_1 = require(\"tslib\");\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction withTimeout(sync, timeout, timeoutError) {\n var _this = this;\n if (timeoutError === void 0) { timeoutError = new Error('timeout'); }\n return {\n acquire: function () {\n return new Promise(function (resolve, reject) { return tslib_1.__awaiter(_this, void 0, void 0, function () {\n var isTimeout, ticket, release;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n isTimeout = false;\n setTimeout(function () {\n isTimeout = true;\n reject(timeoutError);\n }, timeout);\n return [4 /*yield*/, sync.acquire()];\n case 1:\n ticket = _a.sent();\n if (isTimeout) {\n release = Array.isArray(ticket) ? ticket[1] : ticket;\n release();\n }\n else {\n resolve(ticket);\n }\n return [2 /*return*/];\n }\n });\n }); });\n },\n runExclusive: function (callback) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var release, ticket;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n release = function () { return undefined; };\n _a.label = 1;\n case 1:\n _a.trys.push([1, , 7, 8]);\n return [4 /*yield*/, this.acquire()];\n case 2:\n ticket = _a.sent();\n if (!Array.isArray(ticket)) return [3 /*break*/, 4];\n release = ticket[1];\n return [4 /*yield*/, callback(ticket[0])];\n case 3: return [2 /*return*/, _a.sent()];\n case 4:\n release = ticket;\n return [4 /*yield*/, callback()];\n case 5: return [2 /*return*/, _a.sent()];\n case 6: return [3 /*break*/, 8];\n case 7:\n release();\n return [7 /*endfinally*/];\n case 8: return [2 /*return*/];\n }\n });\n });\n },\n release: function () {\n sync.release();\n },\n isLocked: function () { return sync.isLocked(); },\n };\n}\nexports.withTimeout = withTimeout;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.withTimeout = exports.Semaphore = exports.Mutex = void 0;\nvar Mutex_1 = require(\"./Mutex\");\nObject.defineProperty(exports, \"Mutex\", { enumerable: true, get: function () { return Mutex_1.default; } });\nvar Semaphore_1 = require(\"./Semaphore\");\nObject.defineProperty(exports, \"Semaphore\", { enumerable: true, get: function () { return Semaphore_1.default; } });\nvar withTimeout_1 = require(\"./withTimeout\");\nObject.defineProperty(exports, \"withTimeout\", { enumerable: true, get: function () { return withTimeout_1.withTimeout; } });\n","module.exports = extend\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction extend() {\n var target = {}\n\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i]\n\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key]\n }\n }\n }\n\n return target\n}\n","const extend = require('xtend')\nconst createRandomId = require('json-rpc-random-id')()\n\nmodule.exports = EthQuery\n\n\nfunction EthQuery(provider){\n const self = this\n self.currentProvider = provider\n}\n\n//\n// base queries\n//\n\n// default block\nEthQuery.prototype.getBalance = generateFnWithDefaultBlockFor(2, 'eth_getBalance')\nEthQuery.prototype.getCode = generateFnWithDefaultBlockFor(2, 'eth_getCode')\nEthQuery.prototype.getTransactionCount = generateFnWithDefaultBlockFor(2, 'eth_getTransactionCount')\nEthQuery.prototype.getStorageAt = generateFnWithDefaultBlockFor(3, 'eth_getStorageAt')\nEthQuery.prototype.call = generateFnWithDefaultBlockFor(2, 'eth_call')\n// standard\nEthQuery.prototype.protocolVersion = generateFnFor('eth_protocolVersion')\nEthQuery.prototype.syncing = generateFnFor('eth_syncing')\nEthQuery.prototype.coinbase = generateFnFor('eth_coinbase')\nEthQuery.prototype.mining = generateFnFor('eth_mining')\nEthQuery.prototype.hashrate = generateFnFor('eth_hashrate')\nEthQuery.prototype.gasPrice = generateFnFor('eth_gasPrice')\nEthQuery.prototype.accounts = generateFnFor('eth_accounts')\nEthQuery.prototype.blockNumber = generateFnFor('eth_blockNumber')\nEthQuery.prototype.getBlockTransactionCountByHash = generateFnFor('eth_getBlockTransactionCountByHash')\nEthQuery.prototype.getBlockTransactionCountByNumber = generateFnFor('eth_getBlockTransactionCountByNumber')\nEthQuery.prototype.getUncleCountByBlockHash = generateFnFor('eth_getUncleCountByBlockHash')\nEthQuery.prototype.getUncleCountByBlockNumber = generateFnFor('eth_getUncleCountByBlockNumber')\nEthQuery.prototype.sign = generateFnFor('eth_sign')\nEthQuery.prototype.sendTransaction = generateFnFor('eth_sendTransaction')\nEthQuery.prototype.sendRawTransaction = generateFnFor('eth_sendRawTransaction')\nEthQuery.prototype.estimateGas = generateFnFor('eth_estimateGas')\nEthQuery.prototype.getBlockByHash = generateFnFor('eth_getBlockByHash')\nEthQuery.prototype.getBlockByNumber = generateFnFor('eth_getBlockByNumber')\nEthQuery.prototype.getTransactionByHash = generateFnFor('eth_getTransactionByHash')\nEthQuery.prototype.getTransactionByBlockHashAndIndex = generateFnFor('eth_getTransactionByBlockHashAndIndex')\nEthQuery.prototype.getTransactionByBlockNumberAndIndex = generateFnFor('eth_getTransactionByBlockNumberAndIndex')\nEthQuery.prototype.getTransactionReceipt = generateFnFor('eth_getTransactionReceipt')\nEthQuery.prototype.getUncleByBlockHashAndIndex = generateFnFor('eth_getUncleByBlockHashAndIndex')\nEthQuery.prototype.getUncleByBlockNumberAndIndex = generateFnFor('eth_getUncleByBlockNumberAndIndex')\nEthQuery.prototype.getCompilers = generateFnFor('eth_getCompilers')\nEthQuery.prototype.compileLLL = generateFnFor('eth_compileLLL')\nEthQuery.prototype.compileSolidity = generateFnFor('eth_compileSolidity')\nEthQuery.prototype.compileSerpent = generateFnFor('eth_compileSerpent')\nEthQuery.prototype.newFilter = generateFnFor('eth_newFilter')\nEthQuery.prototype.newBlockFilter = generateFnFor('eth_newBlockFilter')\nEthQuery.prototype.newPendingTransactionFilter = generateFnFor('eth_newPendingTransactionFilter')\nEthQuery.prototype.uninstallFilter = generateFnFor('eth_uninstallFilter')\nEthQuery.prototype.getFilterChanges = generateFnFor('eth_getFilterChanges')\nEthQuery.prototype.getFilterLogs = generateFnFor('eth_getFilterLogs')\nEthQuery.prototype.getLogs = generateFnFor('eth_getLogs')\nEthQuery.prototype.getWork = generateFnFor('eth_getWork')\nEthQuery.prototype.submitWork = generateFnFor('eth_submitWork')\nEthQuery.prototype.submitHashrate = generateFnFor('eth_submitHashrate')\n\n// network level\n\nEthQuery.prototype.sendAsync = function(opts, cb){\n const self = this\n self.currentProvider.sendAsync(createPayload(opts), function(err, response){\n if (!err && response.error) err = new Error('EthQuery - RPC Error - '+response.error.message)\n if (err) return cb(err)\n cb(null, response.result)\n })\n}\n\n// util\n\nfunction generateFnFor(methodName){\n return function(){\n const self = this\n var args = [].slice.call(arguments)\n var cb = args.pop()\n self.sendAsync({\n method: methodName,\n params: args,\n }, cb)\n }\n}\n\nfunction generateFnWithDefaultBlockFor(argCount, methodName){\n return function(){\n const self = this\n var args = [].slice.call(arguments)\n var cb = args.pop()\n // set optional default block param\n if (args.length < argCount) args.push('latest')\n self.sendAsync({\n method: methodName,\n params: args,\n }, cb)\n }\n}\n\nfunction createPayload(data){\n return extend({\n // defaults\n id: createRandomId(),\n jsonrpc: '2.0',\n params: [],\n // user-specified\n }, data)\n}\n","'use strict';\n\nconst processFn = (fn, options, proxy, unwrapped) => function (...arguments_) {\n\tconst P = options.promiseModule;\n\n\treturn new P((resolve, reject) => {\n\t\tif (options.multiArgs) {\n\t\t\targuments_.push((...result) => {\n\t\t\t\tif (options.errorFirst) {\n\t\t\t\t\tif (result[0]) {\n\t\t\t\t\t\treject(result);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.shift();\n\t\t\t\t\t\tresolve(result);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresolve(result);\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (options.errorFirst) {\n\t\t\targuments_.push((error, result) => {\n\t\t\t\tif (error) {\n\t\t\t\t\treject(error);\n\t\t\t\t} else {\n\t\t\t\t\tresolve(result);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\targuments_.push(resolve);\n\t\t}\n\n\t\tconst self = this === proxy ? unwrapped : this;\n\t\tReflect.apply(fn, self, arguments_);\n\t});\n};\n\nconst filterCache = new WeakMap();\n\nmodule.exports = (input, options) => {\n\toptions = {\n\t\texclude: [/.+(?:Sync|Stream)$/],\n\t\terrorFirst: true,\n\t\tpromiseModule: Promise,\n\t\t...options\n\t};\n\n\tconst objectType = typeof input;\n\tif (!(input !== null && (objectType === 'object' || objectType === 'function'))) {\n\t\tthrow new TypeError(`Expected \\`input\\` to be a \\`Function\\` or \\`Object\\`, got \\`${input === null ? 'null' : objectType}\\``);\n\t}\n\n\tconst filter = (target, key) => {\n\t\tlet cached = filterCache.get(target);\n\n\t\tif (!cached) {\n\t\t\tcached = {};\n\t\t\tfilterCache.set(target, cached);\n\t\t}\n\n\t\tif (key in cached) {\n\t\t\treturn cached[key];\n\t\t}\n\n\t\tconst match = pattern => (typeof pattern === 'string' || typeof key === 'symbol') ? key === pattern : pattern.test(key);\n\t\tconst desc = Reflect.getOwnPropertyDescriptor(target, key);\n\t\tconst writableOrConfigurableOwn = (desc === undefined || desc.writable || desc.configurable);\n\t\tconst included = options.include ? options.include.some(match) : !options.exclude.some(match);\n\t\tconst shouldFilter = included && writableOrConfigurableOwn;\n\t\tcached[key] = shouldFilter;\n\t\treturn shouldFilter;\n\t};\n\n\tconst cache = new WeakMap();\n\n\tconst proxy = new Proxy(input, {\n\t\tapply(target, thisArg, args) {\n\t\t\tconst cached = cache.get(target);\n\n\t\t\tif (cached) {\n\t\t\t\treturn Reflect.apply(cached, thisArg, args);\n\t\t\t}\n\n\t\t\tconst pified = options.excludeMain ? target : processFn(target, options, proxy, target);\n\t\t\tcache.set(target, pified);\n\t\t\treturn Reflect.apply(pified, thisArg, args);\n\t\t},\n\n\t\tget(target, key) {\n\t\t\tconst property = target[key];\n\n\t\t\t// eslint-disable-next-line no-use-extend-native/no-use-extend-native\n\t\t\tif (!filter(target, key) || property === Function.prototype[key]) {\n\t\t\t\treturn property;\n\t\t\t}\n\n\t\t\tconst cached = cache.get(property);\n\n\t\t\tif (cached) {\n\t\t\t\treturn cached;\n\t\t\t}\n\n\t\t\tif (typeof property === 'function') {\n\t\t\t\tconst pified = processFn(property, options, proxy, target);\n\t\t\t\tcache.set(property, pified);\n\t\t\t\treturn pified;\n\t\t\t}\n\n\t\t\treturn property;\n\t\t}\n\t});\n\n\treturn proxy;\n};\n","const SafeEventEmitter = require('@metamask/safe-event-emitter').default\n\nclass BaseFilter extends SafeEventEmitter {\n\n constructor () {\n super()\n this.updates = []\n }\n\n async initialize () {}\n\n async update () {\n throw new Error('BaseFilter - no update method specified')\n }\n\n addResults (newResults) {\n this.updates = this.updates.concat(newResults)\n newResults.forEach(result => this.emit('update', result))\n }\n\n addInitialResults (newResults) {}\n\n getChangesAndClear () {\n const updates = this.updates\n this.updates = []\n return updates\n }\n \n}\n\nmodule.exports = BaseFilter\n","const BaseFilter = require('./base-filter')\n\n// tracks all results ever recorded\nclass BaseFilterWithHistory extends BaseFilter {\n\n constructor () {\n super()\n this.allResults = []\n }\n\n async update () {\n throw new Error('BaseFilterWithHistory - no update method specified')\n }\n\n addResults (newResults) {\n this.allResults = this.allResults.concat(newResults)\n super.addResults(newResults)\n }\n\n addInitialResults (newResults) {\n this.allResults = this.allResults.concat(newResults)\n super.addInitialResults(newResults)\n }\n\n getAllResults () {\n return this.allResults\n }\n\n}\n\nmodule.exports = BaseFilterWithHistory","\nmodule.exports = {\n minBlockRef,\n maxBlockRef,\n sortBlockRefs,\n bnToHex,\n blockRefIsNumber,\n hexToInt,\n incrementHexInt,\n intToHex,\n unsafeRandomBytes,\n}\n\nfunction minBlockRef(...refs) {\n const sortedRefs = sortBlockRefs(refs)\n return sortedRefs[0]\n}\n\nfunction maxBlockRef(...refs) {\n const sortedRefs = sortBlockRefs(refs)\n return sortedRefs[sortedRefs.length-1]\n}\n\nfunction sortBlockRefs(refs) {\n return refs.sort((refA, refB) => {\n if (refA === 'latest' || refB === 'earliest') return 1\n if (refB === 'latest' || refA === 'earliest') return -1\n return hexToInt(refA) - hexToInt(refB)\n })\n}\n\nfunction bnToHex(bn) {\n return '0x' + bn.toString(16)\n}\n\nfunction blockRefIsNumber(blockRef){\n return blockRef && !['earliest', 'latest', 'pending'].includes(blockRef)\n}\n\nfunction hexToInt(hexString) {\n if (hexString === undefined || hexString === null) return hexString\n return Number.parseInt(hexString, 16)\n}\n\nfunction incrementHexInt(hexString){\n if (hexString === undefined || hexString === null) return hexString\n const value = hexToInt(hexString)\n return intToHex(value + 1)\n}\n\nfunction intToHex(int) {\n if (int === undefined || int === null) return int\n let hexString = int.toString(16)\n const needsLeftPad = hexString.length % 2\n if (needsLeftPad) hexString = '0' + hexString\n return '0x' + hexString\n}\n\nfunction unsafeRandomBytes(byteCount) {\n let result = '0x'\n for (let i = 0; i < byteCount; i++) {\n result += unsafeRandomNibble()\n result += unsafeRandomNibble()\n }\n return result\n}\n\nfunction unsafeRandomNibble() {\n return Math.floor(Math.random() * 16).toString(16)\n}\n","const EthQuery = require('eth-query')\nconst pify = require('pify')\nconst BaseFilterWithHistory = require('./base-filter-history')\nconst { bnToHex, hexToInt, incrementHexInt, minBlockRef, blockRefIsNumber } = require('./hexUtils')\n\nclass LogFilter extends BaseFilterWithHistory {\n\n constructor ({ provider, params }) {\n super()\n this.type = 'log'\n this.ethQuery = new EthQuery(provider)\n this.params = Object.assign({\n fromBlock: 'latest',\n toBlock: 'latest',\n address: undefined,\n topics: [],\n }, params)\n // normalize address parameter\n if (this.params.address) {\n // ensure array\n if (!Array.isArray(this.params.address)) {\n this.params.address = [this.params.address]\n }\n // ensure lowercase\n this.params.address = this.params.address.map(address => address.toLowerCase())\n }\n }\n\n async initialize({ currentBlock }) {\n // resolve params.fromBlock\n let fromBlock = this.params.fromBlock\n if (['latest', 'pending'].includes(fromBlock)) fromBlock = currentBlock\n if ('earliest' === fromBlock) fromBlock = '0x0'\n this.params.fromBlock = fromBlock\n // set toBlock for initial lookup\n const toBlock = minBlockRef(this.params.toBlock, currentBlock)\n const params = Object.assign({}, this.params, { toBlock })\n // fetch logs and add to results\n const newLogs = await this._fetchLogs(params)\n this.addInitialResults(newLogs)\n }\n\n async update ({ oldBlock, newBlock }) {\n // configure params for this update\n const toBlock = newBlock\n let fromBlock\n // oldBlock is empty on first sync\n if (oldBlock) {\n fromBlock = incrementHexInt(oldBlock)\n } else {\n fromBlock = newBlock\n }\n // fetch logs\n const params = Object.assign({}, this.params, { fromBlock, toBlock })\n const newLogs = await this._fetchLogs(params)\n const matchingLogs = newLogs.filter(log => this.matchLog(log))\n\n // add to results\n this.addResults(matchingLogs)\n }\n\n async _fetchLogs (params) {\n const newLogs = await pify(cb => this.ethQuery.getLogs(params, cb))()\n // add to results\n return newLogs\n }\n\n matchLog(log) {\n // check if block number in bounds:\n if (hexToInt(this.params.fromBlock) >= hexToInt(log.blockNumber)) return false\n if (blockRefIsNumber(this.params.toBlock) && hexToInt(this.params.toBlock) <= hexToInt(log.blockNumber)) return false\n\n // address is correct:\n const normalizedLogAddress = log.address && log.address.toLowerCase()\n if (this.params.address && normalizedLogAddress && !this.params.address.includes(normalizedLogAddress)) return false\n\n // topics match:\n // topics are position-dependant\n // topics can be nested to represent `or` [[a || b], c]\n // topics can be null, representing a wild card for that position\n const topicsMatch = this.params.topics.every((topicPattern, index) => {\n // pattern is longer than actual topics\n let logTopic = log.topics[index]\n if (!logTopic) return false\n logTopic = logTopic.toLowerCase()\n // normalize subTopics\n let subtopicsToMatch = Array.isArray(topicPattern) ? topicPattern : [topicPattern]\n // check for wild card\n const subtopicsIncludeWildcard = subtopicsToMatch.includes(null)\n if (subtopicsIncludeWildcard) return true\n subtopicsToMatch = subtopicsToMatch.map(topic => topic.toLowerCase())\n // check each possible matching topic\n const topicDoesMatch = subtopicsToMatch.includes(logTopic)\n return topicDoesMatch\n })\n\n return topicsMatch\n }\n\n}\n\nmodule.exports = LogFilter\n","module.exports = getBlocksForRange\n\nasync function getBlocksForRange({ provider, fromBlock, toBlock }) {\n if (!fromBlock) fromBlock = toBlock\n\n const fromBlockNumber = hexToInt(fromBlock)\n const toBlockNumber = hexToInt(toBlock)\n const blockCountToQuery = toBlockNumber - fromBlockNumber + 1\n // load all blocks from old to new (inclusive)\n const missingBlockNumbers = Array(blockCountToQuery).fill()\n .map((_,index) => fromBlockNumber + index)\n .map(intToHex)\n let blockBodies = await Promise.all(\n missingBlockNumbers.map(blockNum => query(provider, 'eth_getBlockByNumber', [blockNum, false]))\n )\n blockBodies = blockBodies.filter(block => block !== null);\n return blockBodies\n}\n\nfunction hexToInt(hexString) {\n if (hexString === undefined || hexString === null) return hexString\n return Number.parseInt(hexString, 16)\n}\n\nfunction incrementHexInt(hexString){\n if (hexString === undefined || hexString === null) return hexString\n const value = hexToInt(hexString)\n return intToHex(value + 1)\n}\n\nfunction intToHex(int) {\n if (int === undefined || int === null) return int\n const hexString = int.toString(16)\n return '0x' + hexString\n}\n\nfunction sendAsync(provider, request) {\n return new Promise((resolve, reject) => {\n provider.sendAsync(request, (error, response) => {\n if (error) {\n reject(error);\n } else if (response.error) {\n reject(response.error);\n } else if (response.result) {\n resolve(response.result);\n } else {\n reject(new Error(\"Result was empty\"));\n }\n });\n });\n}\n\nasync function query(provider, method, params) {\n for (let i = 0; i < 3; i++) {\n try {\n return await sendAsync(provider, {\n id: 1,\n jsonrpc: \"2.0\",\n method,\n params,\n });\n } catch (error) {\n console.error(\n `provider.sendAsync failed: ${error.stack || error.message || error}`\n );\n }\n }\n return null;\n}\n","const BaseFilter = require('./base-filter')\nconst getBlocksForRange = require('./getBlocksForRange')\nconst { incrementHexInt } = require('./hexUtils')\n\nclass BlockFilter extends BaseFilter {\n\n constructor ({ provider, params }) {\n super()\n this.type = 'block'\n this.provider = provider\n }\n\n async update ({ oldBlock, newBlock }) {\n const toBlock = newBlock\n const fromBlock = incrementHexInt(oldBlock)\n const blockBodies = await getBlocksForRange({ provider: this.provider, fromBlock, toBlock })\n const blockHashes = blockBodies.map((block) => block.hash)\n this.addResults(blockHashes)\n }\n\n}\n\nmodule.exports = BlockFilter\n","const BaseFilter = require('./base-filter')\nconst getBlocksForRange = require('./getBlocksForRange')\nconst { incrementHexInt } = require('./hexUtils')\n\nclass TxFilter extends BaseFilter {\n\n constructor ({ provider }) {\n super()\n this.type = 'tx'\n this.provider = provider\n }\n\n async update ({ oldBlock }) {\n const toBlock = oldBlock\n const fromBlock = incrementHexInt(oldBlock)\n const blocks = await getBlocksForRange({ provider: this.provider, fromBlock, toBlock })\n const blockTxHashes = []\n for (const block of blocks) {\n blockTxHashes.push(...block.transactions)\n }\n // add to results\n this.addResults(blockTxHashes)\n }\n\n}\n\nmodule.exports = TxFilter\n","const Mutex = require('async-mutex').Mutex\nconst { createAsyncMiddleware, createScaffoldMiddleware } = require('json-rpc-engine')\nconst LogFilter = require('./log-filter.js')\nconst BlockFilter = require('./block-filter.js')\nconst TxFilter = require('./tx-filter.js')\nconst { intToHex, hexToInt } = require('./hexUtils')\n\nmodule.exports = createEthFilterMiddleware\n\nfunction createEthFilterMiddleware({ blockTracker, provider }) {\n\n // create filter collection\n let filterIndex = 0\n let filters = {}\n // create update mutex\n const mutex = new Mutex()\n const waitForFree = mutexMiddlewareWrapper({ mutex })\n\n const middleware = createScaffoldMiddleware({\n // install filters\n eth_newFilter: waitForFree(toFilterCreationMiddleware(newLogFilter)),\n eth_newBlockFilter: waitForFree(toFilterCreationMiddleware(newBlockFilter)),\n eth_newPendingTransactionFilter: waitForFree(toFilterCreationMiddleware(newPendingTransactionFilter)),\n // uninstall filters\n eth_uninstallFilter: waitForFree(toAsyncRpcMiddleware(uninstallFilterHandler)),\n // checking filter changes\n eth_getFilterChanges: waitForFree(toAsyncRpcMiddleware(getFilterChanges)),\n eth_getFilterLogs: waitForFree(toAsyncRpcMiddleware(getFilterLogs)),\n })\n\n // setup filter updating and destroy handler\n const filterUpdater = async ({ oldBlock, newBlock }) => {\n if (filters.length === 0) return\n // lock update reads\n const releaseLock = await mutex.acquire()\n try {\n // process all filters in parallel\n await Promise.all(objValues(filters).map(async (filter) => {\n try {\n await filter.update({ oldBlock, newBlock })\n } catch (err) {\n // handle each error individually so filter update errors don't affect other filters\n console.error(err)\n }\n }))\n } catch (err) {\n // log error so we don't skip the releaseLock\n console.error(err)\n }\n // unlock update reads\n releaseLock()\n }\n\n // expose filter methods directly\n middleware.newLogFilter = newLogFilter\n middleware.newBlockFilter = newBlockFilter\n middleware.newPendingTransactionFilter = newPendingTransactionFilter\n middleware.uninstallFilter = uninstallFilterHandler\n middleware.getFilterChanges = getFilterChanges\n middleware.getFilterLogs = getFilterLogs\n\n // expose destroy method for cleanup\n middleware.destroy = () => {\n uninstallAllFilters()\n }\n\n return middleware\n\n //\n // new filters\n //\n\n async function newLogFilter(params) {\n const filter = new LogFilter({ provider, params })\n const filterIndex = await installFilter(filter)\n return filter\n }\n\n async function newBlockFilter() {\n const filter = new BlockFilter({ provider })\n const filterIndex = await installFilter(filter)\n return filter\n }\n\n async function newPendingTransactionFilter() {\n const filter = new TxFilter({ provider })\n const filterIndex = await installFilter(filter)\n return filter\n }\n\n //\n // get filter changes\n //\n\n async function getFilterChanges(filterIndexHex) {\n const filterIndex = hexToInt(filterIndexHex)\n const filter = filters[filterIndex]\n if (!filter) {\n throw new Error(`No filter for index \"${filterIndex}\"`)\n }\n const results = filter.getChangesAndClear()\n return results\n }\n\n async function getFilterLogs(filterIndexHex) {\n const filterIndex = hexToInt(filterIndexHex)\n const filter = filters[filterIndex]\n if (!filter) {\n throw new Error(`No filter for index \"${filterIndex}\"`)\n }\n // only return results for log filters\n let results = []\n if (filter.type === 'log') {\n results = filter.getAllResults()\n }\n return results\n }\n\n\n //\n // remove filters\n //\n\n\n async function uninstallFilterHandler(filterIndexHex) {\n // check filter exists\n const filterIndex = hexToInt(filterIndexHex)\n const filter = filters[filterIndex]\n const result = Boolean(filter)\n // uninstall filter\n if (result) {\n await uninstallFilter(filterIndex)\n }\n return result\n }\n\n //\n // utils\n //\n\n async function installFilter(filter) {\n const prevFilterCount = objValues(filters).length\n // install filter\n const currentBlock = await blockTracker.getLatestBlock()\n await filter.initialize({ currentBlock })\n filterIndex++\n filters[filterIndex] = filter\n filter.id = filterIndex\n filter.idHex = intToHex(filterIndex)\n // update block tracker subs\n const newFilterCount = objValues(filters).length\n updateBlockTrackerSubs({ prevFilterCount, newFilterCount })\n return filterIndex\n }\n\n async function uninstallFilter(filterIndex) {\n const prevFilterCount = objValues(filters).length\n delete filters[filterIndex]\n // update block tracker subs\n const newFilterCount = objValues(filters).length\n updateBlockTrackerSubs({ prevFilterCount, newFilterCount })\n }\n\n async function uninstallAllFilters() {\n const prevFilterCount = objValues(filters).length\n filters = {}\n // update block tracker subs\n updateBlockTrackerSubs({ prevFilterCount, newFilterCount: 0 })\n }\n\n function updateBlockTrackerSubs({ prevFilterCount, newFilterCount }) {\n // subscribe\n if (prevFilterCount === 0 && newFilterCount > 0) {\n blockTracker.on('sync', filterUpdater)\n return\n }\n // unsubscribe\n if (prevFilterCount > 0 && newFilterCount === 0) {\n blockTracker.removeListener('sync', filterUpdater)\n return\n }\n }\n\n}\n\n// helper for turning filter constructors into rpc middleware\nfunction toFilterCreationMiddleware(createFilterFn) {\n return toAsyncRpcMiddleware(async (...args) => {\n const filter = await createFilterFn(...args)\n const result = intToHex(filter.id)\n return result\n })\n}\n\n// helper for pulling out req.params and setting res.result\nfunction toAsyncRpcMiddleware(asyncFn) {\n return createAsyncMiddleware(async (req, res) => {\n const result = await asyncFn.apply(null, req.params)\n res.result = result\n })\n}\n\nfunction mutexMiddlewareWrapper({ mutex }) {\n return (middleware) => {\n return async (req, res, next, end) => {\n // wait for mutex available\n // we can release immediately because\n // we just need to make sure updates aren't active\n const releaseLock = await mutex.acquire()\n releaseLock()\n middleware(req, res, next, end)\n }\n }\n}\n\nfunction objValues(obj, fn){\n const values = []\n for (let key in obj) {\n values.push(obj[key])\n }\n return values\n}\n","const SafeEventEmitter = require('@metamask/safe-event-emitter').default\nconst { createAsyncMiddleware, createScaffoldMiddleware } = require('json-rpc-engine')\nconst createFilterMiddleware = require('./index.js')\nconst { unsafeRandomBytes, incrementHexInt } = require('./hexUtils.js')\nconst getBlocksForRange = require('./getBlocksForRange.js')\n\nmodule.exports = createSubscriptionMiddleware\n\n\nfunction createSubscriptionMiddleware({ blockTracker, provider }) {\n // state and utilities for handling subscriptions\n const subscriptions = {}\n const filterManager = createFilterMiddleware({ blockTracker, provider })\n\n // internal flag\n let isDestroyed = false\n\n // create subscriptionManager api object\n const events = new SafeEventEmitter()\n const middleware = createScaffoldMiddleware({\n eth_subscribe: createAsyncMiddleware(subscribe),\n eth_unsubscribe: createAsyncMiddleware(unsubscribe),\n })\n middleware.destroy = destroy\n return { events, middleware }\n\n async function subscribe(req, res) {\n\n if (isDestroyed) throw new Error(\n 'SubscriptionManager - attempting to use after destroying'\n )\n\n const subscriptionType = req.params[0]\n // subId is 16 byte hex string\n const subId = unsafeRandomBytes(16)\n\n // create sub\n let sub\n switch (subscriptionType) {\n case 'newHeads':\n sub = createSubNewHeads({ subId })\n break\n case 'logs':\n const filterParams = req.params[1]\n const filter = await filterManager.newLogFilter(filterParams)\n sub = createSubFromFilter({ subId, filter })\n break\n default:\n throw new Error(`SubscriptionManager - unsupported subscription type \"${subscriptionType}\"`)\n\n }\n subscriptions[subId] = sub\n\n res.result = subId\n return\n\n function createSubNewHeads({ subId }) {\n const sub = {\n type: subscriptionType,\n destroy: async () => {\n blockTracker.removeListener('sync', sub.update)\n },\n update: async ({ oldBlock, newBlock }) => {\n // for newHeads\n const toBlock = newBlock\n const fromBlock = incrementHexInt(oldBlock)\n const rawBlocks = await getBlocksForRange({ provider, fromBlock, toBlock })\n const results = rawBlocks.map(normalizeBlock).filter(block => block !== null)\n results.forEach((value) => {\n _emitSubscriptionResult(subId, value)\n })\n }\n }\n // check for subscription updates on new block\n blockTracker.on('sync', sub.update)\n return sub\n }\n\n function createSubFromFilter({ subId, filter }) {\n filter.on('update', result => _emitSubscriptionResult(subId, result))\n const sub = {\n type: subscriptionType,\n destroy: async () => {\n return await filterManager.uninstallFilter(filter.idHex)\n },\n }\n return sub\n }\n }\n\n async function unsubscribe(req, res) {\n\n if (isDestroyed) throw new Error(\n 'SubscriptionManager - attempting to use after destroying'\n )\n\n const id = req.params[0]\n const subscription = subscriptions[id]\n // if missing, return \"false\" to indicate it was not removed\n if (!subscription) {\n res.result = false\n return\n }\n // cleanup subscription\n delete subscriptions[id]\n await subscription.destroy()\n res.result = true\n }\n\n function _emitSubscriptionResult(filterIdHex, value) {\n events.emit('notification', {\n jsonrpc: '2.0',\n method: 'eth_subscription',\n params: {\n subscription: filterIdHex,\n result: value,\n },\n })\n }\n\n function destroy() {\n events.removeAllListeners()\n for (const id in subscriptions) {\n subscriptions[id].destroy()\n delete subscriptions[id]\n }\n isDestroyed = true\n }\n}\n\nfunction normalizeBlock(block) {\n if (block === null || block === undefined) {\n return null;\n }\n return {\n hash: block.hash,\n parentHash: block.parentHash,\n sha3Uncles: block.sha3Uncles,\n miner: block.miner,\n stateRoot: block.stateRoot,\n transactionsRoot: block.transactionsRoot,\n receiptsRoot: block.receiptsRoot,\n logsBloom: block.logsBloom,\n difficulty: block.difficulty,\n number: block.number,\n gasLimit: block.gasLimit,\n gasUsed: block.gasUsed,\n nonce: block.nonce,\n mixHash: block.mixHash,\n timestamp: block.timestamp,\n extraData: block.extraData,\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SubscriptionManager = void 0;\nconst eth_block_tracker_1 = require(\"eth-block-tracker\");\n// TODO: When we update this package we should be able to fix this\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst createSubscriptionManager = require('eth-json-rpc-filters/subscriptionManager');\nconst noop = () => { };\nclass SubscriptionManager {\n constructor(provider) {\n const blockTracker = new eth_block_tracker_1.PollingBlockTracker({\n provider: provider,\n pollingInterval: 15000,\n setSkipCacheFlag: true,\n });\n const { events, middleware } = createSubscriptionManager({\n blockTracker,\n provider,\n });\n this.events = events;\n this.subscriptionMiddleware = middleware;\n }\n async handleRequest(request) {\n const result = {};\n await this.subscriptionMiddleware(request, result, noop, noop);\n return result;\n }\n destroy() {\n this.subscriptionMiddleware.destroy();\n }\n}\nexports.SubscriptionManager = SubscriptionManager;\n","\"use strict\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n// TODO: Address linting issues\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CoinbaseWalletProvider = void 0;\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nconst bn_js_1 = __importDefault(require(\"bn.js\"));\nconst eventemitter3_1 = require(\"eventemitter3\");\nconst error_1 = require(\"../core/error\");\nconst util_1 = require(\"../core/util\");\nconst MobileRelay_1 = require(\"../relay/mobile/MobileRelay\");\nconst RelayAbstract_1 = require(\"../relay/RelayAbstract\");\nconst Session_1 = require(\"../relay/Session\");\nconst Web3Response_1 = require(\"../relay/walletlink/type/Web3Response\");\nconst eth_eip712_util_1 = __importDefault(require(\"../vendor-js/eth-eip712-util\"));\nconst DiagnosticLogger_1 = require(\"./DiagnosticLogger\");\nconst FilterPolyfill_1 = require(\"./FilterPolyfill\");\nconst SubscriptionManager_1 = require(\"./SubscriptionManager\");\nconst DEFAULT_CHAIN_ID_KEY = 'DefaultChainId';\nconst DEFAULT_JSON_RPC_URL = 'DefaultJsonRpcUrl';\nclass CoinbaseWalletProvider extends eventemitter3_1.EventEmitter {\n constructor(options) {\n var _a, _b;\n super();\n this._filterPolyfill = new FilterPolyfill_1.FilterPolyfill(this);\n this._subscriptionManager = new SubscriptionManager_1.SubscriptionManager(this);\n this._relay = null;\n this._addresses = [];\n this.hasMadeFirstChainChangedEmission = false;\n this.setProviderInfo = this.setProviderInfo.bind(this);\n this.updateProviderInfo = this.updateProviderInfo.bind(this);\n this.getChainId = this.getChainId.bind(this);\n this.setAppInfo = this.setAppInfo.bind(this);\n this.enable = this.enable.bind(this);\n this.close = this.close.bind(this);\n this.send = this.send.bind(this);\n this.sendAsync = this.sendAsync.bind(this);\n this.request = this.request.bind(this);\n this._setAddresses = this._setAddresses.bind(this);\n this.scanQRCode = this.scanQRCode.bind(this);\n this.genericRequest = this.genericRequest.bind(this);\n this._chainIdFromOpts = options.chainId;\n this._jsonRpcUrlFromOpts = options.jsonRpcUrl;\n this._overrideIsMetaMask = options.overrideIsMetaMask;\n this._relayProvider = options.relayProvider;\n this._storage = options.storage;\n this._relayEventManager = options.relayEventManager;\n this.diagnostic = options.diagnosticLogger;\n this.reloadOnDisconnect = true;\n this.isCoinbaseWallet = (_a = options.overrideIsCoinbaseWallet) !== null && _a !== void 0 ? _a : true;\n this.isCoinbaseBrowser = (_b = options.overrideIsCoinbaseBrowser) !== null && _b !== void 0 ? _b : false;\n this.qrUrl = options.qrUrl;\n const chainId = this.getChainId();\n const chainIdStr = (0, util_1.prepend0x)(chainId.toString(16));\n // indicate that we've connected, for EIP-1193 compliance\n this.emit('connect', { chainIdStr });\n const cachedAddresses = this._storage.getItem(RelayAbstract_1.LOCAL_STORAGE_ADDRESSES_KEY);\n if (cachedAddresses) {\n const addresses = cachedAddresses.split(' ');\n if (addresses[0] !== '') {\n this._addresses = addresses.map((address) => (0, util_1.ensureAddressString)(address));\n this.emit('accountsChanged', addresses);\n }\n }\n this._subscriptionManager.events.on('notification', (notification) => {\n this.emit('message', {\n type: notification.method,\n data: notification.params,\n });\n });\n if (this._isAuthorized()) {\n void this.initializeRelay();\n }\n window.addEventListener('message', (event) => {\n var _a;\n // Used to verify the source and window are correct before proceeding\n if (event.origin !== location.origin || event.source !== window) {\n return;\n }\n if (event.data.type !== 'walletLinkMessage')\n return; // compatibility with CBW extension\n if (event.data.data.action === 'dappChainSwitched') {\n const _chainId = event.data.data.chainId;\n const jsonRpcUrl = (_a = event.data.data.jsonRpcUrl) !== null && _a !== void 0 ? _a : this.jsonRpcUrl;\n this.updateProviderInfo(jsonRpcUrl, Number(_chainId));\n }\n });\n }\n /** @deprecated Use `.request({ method: 'eth_accounts' })` instead. */\n get selectedAddress() {\n return this._addresses[0] || undefined;\n }\n /** @deprecated Use the chain ID. If you still need the network ID, use `.request({ method: 'net_version' })`. */\n get networkVersion() {\n return this.getChainId().toString(10);\n }\n /** @deprecated Use `.request({ method: 'eth_chainId' })` instead. */\n get chainId() {\n return (0, util_1.prepend0x)(this.getChainId().toString(16));\n }\n get isWalletLink() {\n // backward compatibility\n return true;\n }\n /**\n * Some DApps (i.e. Alpha Homora) seem to require the window.ethereum object return\n * true for this method.\n */\n get isMetaMask() {\n return this._overrideIsMetaMask;\n }\n get host() {\n return this.jsonRpcUrl;\n }\n get connected() {\n return true;\n }\n isConnected() {\n return true;\n }\n get jsonRpcUrl() {\n var _a;\n return (_a = this._storage.getItem(DEFAULT_JSON_RPC_URL)) !== null && _a !== void 0 ? _a : this._jsonRpcUrlFromOpts;\n }\n set jsonRpcUrl(value) {\n this._storage.setItem(DEFAULT_JSON_RPC_URL, value);\n }\n disableReloadOnDisconnect() {\n this.reloadOnDisconnect = false;\n }\n setProviderInfo(jsonRpcUrl, chainId) {\n if (!this.isCoinbaseBrowser) {\n this._chainIdFromOpts = chainId;\n this._jsonRpcUrlFromOpts = jsonRpcUrl;\n }\n this.updateProviderInfo(this.jsonRpcUrl, this.getChainId());\n }\n updateProviderInfo(jsonRpcUrl, chainId) {\n this.jsonRpcUrl = jsonRpcUrl;\n // emit chainChanged event if necessary\n const originalChainId = this.getChainId();\n this._storage.setItem(DEFAULT_CHAIN_ID_KEY, chainId.toString(10));\n const chainChanged = (0, util_1.ensureIntNumber)(chainId) !== originalChainId;\n if (chainChanged || !this.hasMadeFirstChainChangedEmission) {\n this.emit('chainChanged', this.getChainId());\n this.hasMadeFirstChainChangedEmission = true;\n }\n }\n async watchAsset(type, address, symbol, decimals, image, chainId) {\n const relay = await this.initializeRelay();\n const result = await relay.watchAsset(type, address, symbol, decimals, image, chainId === null || chainId === void 0 ? void 0 : chainId.toString()).promise;\n if ((0, Web3Response_1.isErrorResponse)(result))\n return false;\n return !!result.result;\n }\n async addEthereumChain(chainId, rpcUrls, blockExplorerUrls, chainName, iconUrls, nativeCurrency) {\n var _a, _b;\n if ((0, util_1.ensureIntNumber)(chainId) === this.getChainId()) {\n return false;\n }\n const relay = await this.initializeRelay();\n const isWhitelistedNetworkOrStandalone = relay.inlineAddEthereumChain(chainId.toString());\n if (!this._isAuthorized() && !isWhitelistedNetworkOrStandalone) {\n await relay.requestEthereumAccounts().promise;\n }\n const res = await relay.addEthereumChain(chainId.toString(), rpcUrls, iconUrls, blockExplorerUrls, chainName, nativeCurrency).promise;\n if ((0, Web3Response_1.isErrorResponse)(res))\n return false;\n if (((_a = res.result) === null || _a === void 0 ? void 0 : _a.isApproved) === true) {\n this.updateProviderInfo(rpcUrls[0], chainId);\n }\n return ((_b = res.result) === null || _b === void 0 ? void 0 : _b.isApproved) === true;\n }\n async switchEthereumChain(chainId) {\n const relay = await this.initializeRelay();\n const res = await relay.switchEthereumChain(chainId.toString(10), this.selectedAddress || undefined).promise;\n // backward compatibility\n if ((0, Web3Response_1.isErrorResponse)(res)) {\n if (!res.errorCode)\n return;\n if (res.errorCode === error_1.standardErrorCodes.provider.unsupportedChain) {\n throw error_1.standardErrors.provider.unsupportedChain();\n }\n else {\n throw error_1.standardErrors.provider.custom({\n message: res.errorMessage,\n code: res.errorCode,\n });\n }\n }\n const switchResponse = res.result;\n if (switchResponse.isApproved && switchResponse.rpcUrl.length > 0) {\n this.updateProviderInfo(switchResponse.rpcUrl, chainId);\n }\n }\n setAppInfo(appName, appLogoUrl) {\n void this.initializeRelay().then((relay) => relay.setAppInfo(appName, appLogoUrl));\n }\n /** @deprecated Use `.request({ method: 'eth_requestAccounts' })` instead. */\n async enable() {\n var _a;\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.ETH_ACCOUNTS_STATE, {\n method: 'provider::enable',\n addresses_length: this._addresses.length,\n sessionIdHash: this._relay ? Session_1.Session.hash(this._relay.session.id) : undefined,\n });\n if (this._isAuthorized()) {\n return [...this._addresses];\n }\n return await this.send('eth_requestAccounts');\n }\n async close() {\n const relay = await this.initializeRelay();\n relay.resetAndReload();\n }\n send(requestOrMethod, callbackOrParams) {\n // send(method, params): Promise\n try {\n const result = this._send(requestOrMethod, callbackOrParams);\n if (result instanceof Promise) {\n return result.catch((error) => {\n throw (0, error_1.serializeError)(error, requestOrMethod);\n });\n }\n }\n catch (error) {\n throw (0, error_1.serializeError)(error, requestOrMethod);\n }\n }\n _send(requestOrMethod, callbackOrParams) {\n if (typeof requestOrMethod === 'string') {\n const method = requestOrMethod;\n const params = Array.isArray(callbackOrParams)\n ? callbackOrParams\n : callbackOrParams !== undefined\n ? [callbackOrParams]\n : [];\n const request = {\n jsonrpc: '2.0',\n id: 0,\n method,\n params,\n };\n return this._sendRequestAsync(request).then((res) => res.result);\n }\n // send(JSONRPCRequest | JSONRPCRequest[], callback): void\n if (typeof callbackOrParams === 'function') {\n const request = requestOrMethod;\n const callback = callbackOrParams;\n return this._sendAsync(request, callback);\n }\n // send(JSONRPCRequest[]): JSONRPCResponse[]\n if (Array.isArray(requestOrMethod)) {\n const requests = requestOrMethod;\n return requests.map((r) => this._sendRequest(r));\n }\n // send(JSONRPCRequest): JSONRPCResponse\n const req = requestOrMethod;\n return this._sendRequest(req);\n }\n async sendAsync(request, callback) {\n try {\n return this._sendAsync(request, callback).catch((error) => {\n throw (0, error_1.serializeError)(error, request);\n });\n }\n catch (error) {\n return Promise.reject((0, error_1.serializeError)(error, request));\n }\n }\n async _sendAsync(request, callback) {\n if (typeof callback !== 'function') {\n throw new Error('callback is required');\n }\n // send(JSONRPCRequest[], callback): void\n if (Array.isArray(request)) {\n const arrayCb = callback;\n this._sendMultipleRequestsAsync(request)\n .then((responses) => arrayCb(null, responses))\n .catch((err) => arrayCb(err, null));\n return;\n }\n // send(JSONRPCRequest, callback): void\n const cb = callback;\n return this._sendRequestAsync(request)\n .then((response) => cb(null, response))\n .catch((err) => cb(err, null));\n }\n async request(args) {\n try {\n return this._request(args).catch((error) => {\n throw (0, error_1.serializeError)(error, args.method);\n });\n }\n catch (error) {\n return Promise.reject((0, error_1.serializeError)(error, args.method));\n }\n }\n async _request(args) {\n if (!args || typeof args !== 'object' || Array.isArray(args)) {\n throw error_1.standardErrors.rpc.invalidRequest({\n message: 'Expected a single, non-array, object argument.',\n data: args,\n });\n }\n const { method, params } = args;\n if (typeof method !== 'string' || method.length === 0) {\n throw error_1.standardErrors.rpc.invalidRequest({\n message: \"'args.method' must be a non-empty string.\",\n data: args,\n });\n }\n if (params !== undefined &&\n !Array.isArray(params) &&\n (typeof params !== 'object' || params === null)) {\n throw error_1.standardErrors.rpc.invalidRequest({\n message: \"'args.params' must be an object or array if provided.\",\n data: args,\n });\n }\n const newParams = params === undefined ? [] : params;\n // Coinbase Wallet Requests\n const id = this._relayEventManager.makeRequestId();\n const result = await this._sendRequestAsync({\n method,\n params: newParams,\n jsonrpc: '2.0',\n id,\n });\n return result.result;\n }\n async scanQRCode(match) {\n const relay = await this.initializeRelay();\n const res = await relay.scanQRCode((0, util_1.ensureRegExpString)(match)).promise;\n if ((0, Web3Response_1.isErrorResponse)(res)) {\n throw (0, error_1.serializeError)(res.errorMessage, 'scanQRCode');\n }\n else if (typeof res.result !== 'string') {\n throw (0, error_1.serializeError)('result was not a string', 'scanQRCode');\n }\n return res.result;\n }\n async genericRequest(data, action) {\n const relay = await this.initializeRelay();\n const res = await relay.genericRequest(data, action).promise;\n if ((0, Web3Response_1.isErrorResponse)(res)) {\n throw (0, error_1.serializeError)(res.errorMessage, 'generic');\n }\n else if (typeof res.result !== 'string') {\n throw (0, error_1.serializeError)('result was not a string', 'generic');\n }\n return res.result;\n }\n /**\n * @beta\n * This method is currently in beta. While it is available for use, please note that it is still under testing and may undergo significant changes.\n *\n * @remarks\n * IMPORTANT: Signature validation is not performed by this method. Users of this method are advised to perform their own signature validation.\n * Common web3 frontend libraries such as ethers.js and viem provide the `verifyMessage` utility function that can be used for signature validation.\n *\n * It combines `eth_requestAccounts` and \"Sign-In with Ethereum\" (EIP-4361) into a single call.\n * The returned account and signed message can be used to authenticate the user.\n *\n * @param {Object} params - An object with the following properties:\n * - `nonce` {string}: A unique string to prevent replay attacks.\n * - `statement` {string}: An optional human-readable ASCII assertion that the user will sign.\n * - `resources` {string[]}: An optional list of information the user wishes to have resolved as part of authentication by the relying party.\n *\n * @returns {Promise} A promise that resolves to an object with the following properties:\n * - `accounts` {string[]}: The Ethereum accounts of the user.\n * - `message` {string}: The overall message that the user signed. Hex encoded.\n * - `signature` {string}: The signature of the message, signed with the user's private key. Hex encoded.\n */\n async connectAndSignIn(params) {\n // NOTE: It was intentionally built by following the pattern of the existing eth_requestAccounts method\n // to maintain consistency and avoid introducing a new pattern.\n // We acknowledge the need for a better design, and it is planned to address and improve it in a future refactor.\n var _a;\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.ETH_ACCOUNTS_STATE, {\n method: 'provider::connectAndSignIn',\n sessionIdHash: this._relay ? Session_1.Session.hash(this._relay.session.id) : undefined,\n });\n let res;\n try {\n const relay = await this.initializeRelay();\n if (!(relay instanceof MobileRelay_1.MobileRelay)) {\n throw new Error('connectAndSignIn is only supported on mobile');\n }\n res = await relay.connectAndSignIn(params).promise;\n if ((0, Web3Response_1.isErrorResponse)(res)) {\n throw new Error(res.errorMessage);\n }\n }\n catch (err) {\n if (typeof err.message === 'string' && err.message.match(/(denied|rejected)/i)) {\n throw error_1.standardErrors.provider.userRejectedRequest('User denied account authorization');\n }\n throw err;\n }\n if (!res.result) {\n throw new Error('accounts received is empty');\n }\n const { accounts } = res.result;\n this._setAddresses(accounts);\n if (!this.isCoinbaseBrowser) {\n await this.switchEthereumChain(this.getChainId());\n }\n return res.result;\n }\n async selectProvider(providerOptions) {\n const relay = await this.initializeRelay();\n const res = await relay.selectProvider(providerOptions).promise;\n if ((0, Web3Response_1.isErrorResponse)(res)) {\n throw (0, error_1.serializeError)(res.errorMessage, 'selectProvider');\n }\n else if (typeof res.result !== 'string') {\n throw (0, error_1.serializeError)('result was not a string', 'selectProvider');\n }\n return res.result;\n }\n supportsSubscriptions() {\n return false;\n }\n subscribe() {\n throw new Error('Subscriptions are not supported');\n }\n unsubscribe() {\n throw new Error('Subscriptions are not supported');\n }\n disconnect() {\n return true;\n }\n _sendRequest(request) {\n const response = {\n jsonrpc: '2.0',\n id: request.id,\n };\n const { method } = request;\n response.result = this._handleSynchronousMethods(request);\n if (response.result === undefined) {\n throw new Error(`Coinbase Wallet does not support calling ${method} synchronously without ` +\n `a callback. Please provide a callback parameter to call ${method} ` +\n `asynchronously.`);\n }\n return response;\n }\n _setAddresses(addresses, _) {\n if (!Array.isArray(addresses)) {\n throw new Error('addresses is not an array');\n }\n const newAddresses = addresses.map((address) => (0, util_1.ensureAddressString)(address));\n if (JSON.stringify(newAddresses) === JSON.stringify(this._addresses)) {\n return;\n }\n this._addresses = newAddresses;\n this.emit('accountsChanged', this._addresses);\n this._storage.setItem(RelayAbstract_1.LOCAL_STORAGE_ADDRESSES_KEY, newAddresses.join(' '));\n }\n _sendRequestAsync(request) {\n return new Promise((resolve, reject) => {\n try {\n const syncResult = this._handleSynchronousMethods(request);\n if (syncResult !== undefined) {\n return resolve({\n jsonrpc: '2.0',\n id: request.id,\n result: syncResult,\n });\n }\n const filterPromise = this._handleAsynchronousFilterMethods(request);\n if (filterPromise !== undefined) {\n filterPromise\n .then((res) => resolve(Object.assign(Object.assign({}, res), { id: request.id })))\n .catch((err) => reject(err));\n return;\n }\n const subscriptionPromise = this._handleSubscriptionMethods(request);\n if (subscriptionPromise !== undefined) {\n subscriptionPromise\n .then((res) => resolve({\n jsonrpc: '2.0',\n id: request.id,\n result: res.result,\n }))\n .catch((err) => reject(err));\n return;\n }\n }\n catch (err) {\n return reject(err);\n }\n this._handleAsynchronousMethods(request)\n .then((res) => res && resolve(Object.assign(Object.assign({}, res), { id: request.id })))\n .catch((err) => reject(err));\n });\n }\n _sendMultipleRequestsAsync(requests) {\n return Promise.all(requests.map((r) => this._sendRequestAsync(r)));\n }\n _handleSynchronousMethods(request) {\n const { method } = request;\n const params = request.params || [];\n switch (method) {\n case 'eth_accounts':\n return this._eth_accounts();\n case 'eth_coinbase':\n return this._eth_coinbase();\n case 'eth_uninstallFilter':\n return this._eth_uninstallFilter(params);\n case 'net_version':\n return this._net_version();\n case 'eth_chainId':\n return this._eth_chainId();\n default:\n return undefined;\n }\n }\n async _handleAsynchronousMethods(request) {\n const { method } = request;\n const params = request.params || [];\n switch (method) {\n case 'eth_requestAccounts':\n return this._eth_requestAccounts();\n case 'eth_sign':\n return this._eth_sign(params);\n case 'eth_ecRecover':\n return this._eth_ecRecover(params);\n case 'personal_sign':\n return this._personal_sign(params);\n case 'personal_ecRecover':\n return this._personal_ecRecover(params);\n case 'eth_signTransaction':\n return this._eth_signTransaction(params);\n case 'eth_sendRawTransaction':\n return this._eth_sendRawTransaction(params);\n case 'eth_sendTransaction':\n return this._eth_sendTransaction(params);\n case 'eth_signTypedData_v1':\n return this._eth_signTypedData_v1(params);\n case 'eth_signTypedData_v2':\n return this._throwUnsupportedMethodError();\n case 'eth_signTypedData_v3':\n return this._eth_signTypedData_v3(params);\n case 'eth_signTypedData_v4':\n case 'eth_signTypedData':\n return this._eth_signTypedData_v4(params);\n case 'cbWallet_arbitrary':\n return this._cbwallet_arbitrary(params);\n case 'wallet_addEthereumChain':\n return this._wallet_addEthereumChain(params);\n case 'wallet_switchEthereumChain':\n return this._wallet_switchEthereumChain(params);\n case 'wallet_watchAsset':\n return this._wallet_watchAsset(params);\n }\n const relay = await this.initializeRelay();\n return relay.makeEthereumJSONRPCRequest(request, this.jsonRpcUrl).catch((err) => {\n var _a;\n if (err.code === error_1.standardErrorCodes.rpc.methodNotFound ||\n err.code === error_1.standardErrorCodes.rpc.methodNotSupported) {\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.METHOD_NOT_IMPLEMENTED, {\n method: request.method,\n sessionIdHash: this._relay ? Session_1.Session.hash(this._relay.session.id) : undefined,\n });\n }\n throw err;\n });\n }\n _handleAsynchronousFilterMethods(request) {\n const { method } = request;\n const params = request.params || [];\n switch (method) {\n case 'eth_newFilter':\n return this._eth_newFilter(params);\n case 'eth_newBlockFilter':\n return this._eth_newBlockFilter();\n case 'eth_newPendingTransactionFilter':\n return this._eth_newPendingTransactionFilter();\n case 'eth_getFilterChanges':\n return this._eth_getFilterChanges(params);\n case 'eth_getFilterLogs':\n return this._eth_getFilterLogs(params);\n }\n return undefined;\n }\n _handleSubscriptionMethods(request) {\n switch (request.method) {\n case 'eth_subscribe':\n case 'eth_unsubscribe':\n return this._subscriptionManager.handleRequest(request);\n }\n return undefined;\n }\n _isKnownAddress(addressString) {\n try {\n const addressStr = (0, util_1.ensureAddressString)(addressString);\n const lowercaseAddresses = this._addresses.map((address) => (0, util_1.ensureAddressString)(address));\n return lowercaseAddresses.includes(addressStr);\n }\n catch (_a) {\n // noop\n }\n return false;\n }\n _ensureKnownAddress(addressString) {\n var _a;\n if (!this._isKnownAddress(addressString)) {\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.UNKNOWN_ADDRESS_ENCOUNTERED);\n throw new Error('Unknown Ethereum address');\n }\n }\n _prepareTransactionParams(tx) {\n const fromAddress = tx.from ? (0, util_1.ensureAddressString)(tx.from) : this.selectedAddress;\n if (!fromAddress) {\n throw new Error('Ethereum address is unavailable');\n }\n this._ensureKnownAddress(fromAddress);\n const toAddress = tx.to ? (0, util_1.ensureAddressString)(tx.to) : null;\n const weiValue = tx.value != null ? (0, util_1.ensureBN)(tx.value) : new bn_js_1.default(0);\n const data = tx.data ? (0, util_1.ensureBuffer)(tx.data) : Buffer.alloc(0);\n const nonce = tx.nonce != null ? (0, util_1.ensureIntNumber)(tx.nonce) : null;\n const gasPriceInWei = tx.gasPrice != null ? (0, util_1.ensureBN)(tx.gasPrice) : null;\n const maxFeePerGas = tx.maxFeePerGas != null ? (0, util_1.ensureBN)(tx.maxFeePerGas) : null;\n const maxPriorityFeePerGas = tx.maxPriorityFeePerGas != null ? (0, util_1.ensureBN)(tx.maxPriorityFeePerGas) : null;\n const gasLimit = tx.gas != null ? (0, util_1.ensureBN)(tx.gas) : null;\n const chainId = tx.chainId ? (0, util_1.ensureIntNumber)(tx.chainId) : this.getChainId();\n return {\n fromAddress,\n toAddress,\n weiValue,\n data,\n nonce,\n gasPriceInWei,\n maxFeePerGas,\n maxPriorityFeePerGas,\n gasLimit,\n chainId,\n };\n }\n _isAuthorized() {\n return this._addresses.length > 0;\n }\n _requireAuthorization() {\n if (!this._isAuthorized()) {\n throw error_1.standardErrors.provider.unauthorized({});\n }\n }\n _throwUnsupportedMethodError() {\n throw error_1.standardErrors.provider.unsupportedMethod({});\n }\n async _signEthereumMessage(message, address, addPrefix, typedDataJson) {\n this._ensureKnownAddress(address);\n try {\n const relay = await this.initializeRelay();\n const res = await relay.signEthereumMessage(message, address, addPrefix, typedDataJson)\n .promise;\n if ((0, Web3Response_1.isErrorResponse)(res)) {\n throw new Error(res.errorMessage);\n }\n return { jsonrpc: '2.0', id: 0, result: res.result };\n }\n catch (err) {\n if (typeof err.message === 'string' && err.message.match(/(denied|rejected)/i)) {\n throw error_1.standardErrors.provider.userRejectedRequest('User denied message signature');\n }\n throw err;\n }\n }\n async _ethereumAddressFromSignedMessage(message, signature, addPrefix) {\n const relay = await this.initializeRelay();\n const res = await relay.ethereumAddressFromSignedMessage(message, signature, addPrefix).promise;\n if ((0, Web3Response_1.isErrorResponse)(res)) {\n throw new Error(res.errorMessage);\n }\n return { jsonrpc: '2.0', id: 0, result: res.result };\n }\n _eth_accounts() {\n return [...this._addresses];\n }\n _eth_coinbase() {\n return this.selectedAddress || null;\n }\n _net_version() {\n return this.getChainId().toString(10);\n }\n _eth_chainId() {\n return (0, util_1.hexStringFromIntNumber)(this.getChainId());\n }\n getChainId() {\n const chainIdStr = this._storage.getItem(DEFAULT_CHAIN_ID_KEY);\n if (!chainIdStr) {\n return (0, util_1.ensureIntNumber)(this._chainIdFromOpts);\n }\n const chainId = parseInt(chainIdStr, 10);\n return (0, util_1.ensureIntNumber)(chainId);\n }\n async _eth_requestAccounts() {\n var _a;\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.ETH_ACCOUNTS_STATE, {\n method: 'provider::_eth_requestAccounts',\n addresses_length: this._addresses.length,\n sessionIdHash: this._relay ? Session_1.Session.hash(this._relay.session.id) : undefined,\n });\n if (this._isAuthorized()) {\n return Promise.resolve({\n jsonrpc: '2.0',\n id: 0,\n result: this._addresses,\n });\n }\n let res;\n try {\n const relay = await this.initializeRelay();\n res = await relay.requestEthereumAccounts().promise;\n if ((0, Web3Response_1.isErrorResponse)(res)) {\n throw new Error(res.errorMessage);\n }\n }\n catch (err) {\n if (typeof err.message === 'string' && err.message.match(/(denied|rejected)/i)) {\n throw error_1.standardErrors.provider.userRejectedRequest('User denied account authorization');\n }\n throw err;\n }\n if (!res.result) {\n throw new Error('accounts received is empty');\n }\n this._setAddresses(res.result);\n if (!this.isCoinbaseBrowser) {\n await this.switchEthereumChain(this.getChainId());\n }\n return { jsonrpc: '2.0', id: 0, result: this._addresses };\n }\n _eth_sign(params) {\n this._requireAuthorization();\n const address = (0, util_1.ensureAddressString)(params[0]);\n const message = (0, util_1.ensureBuffer)(params[1]);\n return this._signEthereumMessage(message, address, false);\n }\n _eth_ecRecover(params) {\n const message = (0, util_1.ensureBuffer)(params[0]);\n const signature = (0, util_1.ensureBuffer)(params[1]);\n return this._ethereumAddressFromSignedMessage(message, signature, false);\n }\n _personal_sign(params) {\n this._requireAuthorization();\n const message = (0, util_1.ensureBuffer)(params[0]);\n const address = (0, util_1.ensureAddressString)(params[1]);\n return this._signEthereumMessage(message, address, true);\n }\n _personal_ecRecover(params) {\n const message = (0, util_1.ensureBuffer)(params[0]);\n const signature = (0, util_1.ensureBuffer)(params[1]);\n return this._ethereumAddressFromSignedMessage(message, signature, true);\n }\n async _eth_signTransaction(params) {\n this._requireAuthorization();\n const tx = this._prepareTransactionParams(params[0] || {});\n try {\n const relay = await this.initializeRelay();\n const res = await relay.signEthereumTransaction(tx).promise;\n if ((0, Web3Response_1.isErrorResponse)(res)) {\n throw new Error(res.errorMessage);\n }\n return { jsonrpc: '2.0', id: 0, result: res.result };\n }\n catch (err) {\n if (typeof err.message === 'string' && err.message.match(/(denied|rejected)/i)) {\n throw error_1.standardErrors.provider.userRejectedRequest('User denied transaction signature');\n }\n throw err;\n }\n }\n async _eth_sendRawTransaction(params) {\n const signedTransaction = (0, util_1.ensureBuffer)(params[0]);\n const relay = await this.initializeRelay();\n const res = await relay.submitEthereumTransaction(signedTransaction, this.getChainId()).promise;\n if ((0, Web3Response_1.isErrorResponse)(res)) {\n throw new Error(res.errorMessage);\n }\n return { jsonrpc: '2.0', id: 0, result: res.result };\n }\n async _eth_sendTransaction(params) {\n this._requireAuthorization();\n const tx = this._prepareTransactionParams(params[0] || {});\n try {\n const relay = await this.initializeRelay();\n const res = await relay.signAndSubmitEthereumTransaction(tx).promise;\n if ((0, Web3Response_1.isErrorResponse)(res)) {\n throw new Error(res.errorMessage);\n }\n return { jsonrpc: '2.0', id: 0, result: res.result };\n }\n catch (err) {\n if (typeof err.message === 'string' && err.message.match(/(denied|rejected)/i)) {\n throw error_1.standardErrors.provider.userRejectedRequest('User denied transaction signature');\n }\n throw err;\n }\n }\n async _eth_signTypedData_v1(params) {\n this._requireAuthorization();\n const typedData = (0, util_1.ensureParsedJSONObject)(params[0]);\n const address = (0, util_1.ensureAddressString)(params[1]);\n this._ensureKnownAddress(address);\n const message = eth_eip712_util_1.default.hashForSignTypedDataLegacy({ data: typedData });\n const typedDataJSON = JSON.stringify(typedData, null, 2);\n return this._signEthereumMessage(message, address, false, typedDataJSON);\n }\n async _eth_signTypedData_v3(params) {\n this._requireAuthorization();\n const address = (0, util_1.ensureAddressString)(params[0]);\n const typedData = (0, util_1.ensureParsedJSONObject)(params[1]);\n this._ensureKnownAddress(address);\n const message = eth_eip712_util_1.default.hashForSignTypedData_v3({ data: typedData });\n const typedDataJSON = JSON.stringify(typedData, null, 2);\n return this._signEthereumMessage(message, address, false, typedDataJSON);\n }\n async _eth_signTypedData_v4(params) {\n this._requireAuthorization();\n const address = (0, util_1.ensureAddressString)(params[0]);\n const typedData = (0, util_1.ensureParsedJSONObject)(params[1]);\n this._ensureKnownAddress(address);\n const message = eth_eip712_util_1.default.hashForSignTypedData_v4({ data: typedData });\n const typedDataJSON = JSON.stringify(typedData, null, 2);\n return this._signEthereumMessage(message, address, false, typedDataJSON);\n }\n /** @deprecated */\n async _cbwallet_arbitrary(params) {\n const action = params[0];\n const data = params[1];\n if (typeof data !== 'string') {\n throw new Error('parameter must be a string');\n }\n if (typeof action !== 'object' || action === null) {\n throw new Error('parameter must be an object');\n }\n const result = await this.genericRequest(action, data);\n return { jsonrpc: '2.0', id: 0, result };\n }\n async _wallet_addEthereumChain(params) {\n var _a, _b, _c, _d;\n const request = params[0];\n if (((_a = request.rpcUrls) === null || _a === void 0 ? void 0 : _a.length) === 0) {\n return {\n jsonrpc: '2.0',\n id: 0,\n error: { code: 2, message: `please pass in at least 1 rpcUrl` },\n };\n }\n if (!request.chainName || request.chainName.trim() === '') {\n throw error_1.standardErrors.rpc.invalidParams('chainName is a required field');\n }\n if (!request.nativeCurrency) {\n throw error_1.standardErrors.rpc.invalidParams('nativeCurrency is a required field');\n }\n const chainIdNumber = parseInt(request.chainId, 16);\n const success = await this.addEthereumChain(chainIdNumber, (_b = request.rpcUrls) !== null && _b !== void 0 ? _b : [], (_c = request.blockExplorerUrls) !== null && _c !== void 0 ? _c : [], request.chainName, (_d = request.iconUrls) !== null && _d !== void 0 ? _d : [], request.nativeCurrency);\n if (success) {\n return { jsonrpc: '2.0', id: 0, result: null };\n }\n return {\n jsonrpc: '2.0',\n id: 0,\n error: { code: 2, message: `unable to add ethereum chain` },\n };\n }\n async _wallet_switchEthereumChain(params) {\n const request = params[0];\n await this.switchEthereumChain(parseInt(request.chainId, 16));\n return { jsonrpc: '2.0', id: 0, result: null };\n }\n async _wallet_watchAsset(params) {\n const request = (Array.isArray(params) ? params[0] : params);\n if (!request.type) {\n throw error_1.standardErrors.rpc.invalidParams('Type is required');\n }\n if ((request === null || request === void 0 ? void 0 : request.type) !== 'ERC20') {\n throw error_1.standardErrors.rpc.invalidParams(`Asset of type '${request.type}' is not supported`);\n }\n if (!(request === null || request === void 0 ? void 0 : request.options)) {\n throw error_1.standardErrors.rpc.invalidParams('Options are required');\n }\n if (!(request === null || request === void 0 ? void 0 : request.options.address)) {\n throw error_1.standardErrors.rpc.invalidParams('Address is required');\n }\n const chainId = this.getChainId();\n const { address, symbol, image, decimals } = request.options;\n const res = await this.watchAsset(request.type, address, symbol, decimals, image, chainId);\n return { jsonrpc: '2.0', id: 0, result: res };\n }\n _eth_uninstallFilter(params) {\n const filterId = (0, util_1.ensureHexString)(params[0]);\n return this._filterPolyfill.uninstallFilter(filterId);\n }\n async _eth_newFilter(params) {\n const param = params[0];\n const filterId = await this._filterPolyfill.newFilter(param);\n return { jsonrpc: '2.0', id: 0, result: filterId };\n }\n async _eth_newBlockFilter() {\n const filterId = await this._filterPolyfill.newBlockFilter();\n return { jsonrpc: '2.0', id: 0, result: filterId };\n }\n async _eth_newPendingTransactionFilter() {\n const filterId = await this._filterPolyfill.newPendingTransactionFilter();\n return { jsonrpc: '2.0', id: 0, result: filterId };\n }\n _eth_getFilterChanges(params) {\n const filterId = (0, util_1.ensureHexString)(params[0]);\n return this._filterPolyfill.getFilterChanges(filterId);\n }\n _eth_getFilterLogs(params) {\n const filterId = (0, util_1.ensureHexString)(params[0]);\n return this._filterPolyfill.getFilterLogs(filterId);\n }\n initializeRelay() {\n if (this._relay) {\n return Promise.resolve(this._relay);\n }\n return this._relayProvider().then((relay) => {\n relay.setAccountsCallback((accounts, isDisconnect) => this._setAddresses(accounts, isDisconnect));\n relay.setChainCallback((chainId, jsonRpcUrl) => {\n this.updateProviderInfo(jsonRpcUrl, parseInt(chainId, 10));\n });\n relay.setDappDefaultChainCallback(this._chainIdFromOpts);\n this._relay = relay;\n return relay;\n });\n }\n}\nexports.CoinbaseWalletProvider = CoinbaseWalletProvider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelayEventManager = void 0;\nconst util_1 = require(\"../core/util\");\nclass RelayEventManager {\n constructor() {\n this._nextRequestId = 0;\n this.callbacks = new Map();\n }\n makeRequestId() {\n // max nextId == max int32 for compatibility with mobile\n this._nextRequestId = (this._nextRequestId + 1) % 0x7fffffff;\n const id = this._nextRequestId;\n const idStr = (0, util_1.prepend0x)(id.toString(16));\n // unlikely that this will ever be an issue, but just to be safe\n const callback = this.callbacks.get(idStr);\n if (callback) {\n this.callbacks.delete(idStr);\n }\n return id;\n }\n}\nexports.RelayEventManager = RelayEventManager;\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CoinbaseWalletSDK = void 0;\nconst wallet_logo_1 = require(\"./assets/wallet-logo\");\nconst constants_1 = require(\"./core/constants\");\nconst util_1 = require(\"./core/util\");\nconst ScopedLocalStorage_1 = require(\"./lib/ScopedLocalStorage\");\nconst CoinbaseWalletProvider_1 = require(\"./provider/CoinbaseWalletProvider\");\nconst MobileRelay_1 = require(\"./relay/mobile/MobileRelay\");\nconst MobileRelayUI_1 = require(\"./relay/mobile/MobileRelayUI\");\nconst RelayEventManager_1 = require(\"./relay/RelayEventManager\");\nconst WalletLinkRelayUI_1 = require(\"./relay/walletlink/ui/WalletLinkRelayUI\");\nconst WalletLinkRelay_1 = require(\"./relay/walletlink/WalletLinkRelay\");\nconst version_1 = require(\"./version\");\nclass CoinbaseWalletSDK {\n /**\n * Constructor\n * @param options Coinbase Wallet SDK constructor options\n */\n constructor(options) {\n var _a, _b, _c;\n this._appName = '';\n this._appLogoUrl = null;\n this._relay = null;\n this._relayEventManager = null;\n const linkAPIUrl = options.linkAPIUrl || constants_1.LINK_API_URL;\n if (typeof options.overrideIsMetaMask === 'undefined') {\n this._overrideIsMetaMask = false;\n }\n else {\n this._overrideIsMetaMask = options.overrideIsMetaMask;\n }\n this._overrideIsCoinbaseWallet = (_a = options.overrideIsCoinbaseWallet) !== null && _a !== void 0 ? _a : true;\n this._overrideIsCoinbaseBrowser = (_b = options.overrideIsCoinbaseBrowser) !== null && _b !== void 0 ? _b : false;\n this._diagnosticLogger = options.diagnosticLogger;\n this._reloadOnDisconnect = (_c = options.reloadOnDisconnect) !== null && _c !== void 0 ? _c : true;\n const url = new URL(linkAPIUrl);\n const origin = `${url.protocol}//${url.host}`;\n this._storage = new ScopedLocalStorage_1.ScopedLocalStorage(`-walletlink:${origin}`); // needs migration to preserve local states\n this._storage.setItem('version', CoinbaseWalletSDK.VERSION);\n if (this.walletExtension || this.coinbaseBrowser) {\n return;\n }\n this._relayEventManager = new RelayEventManager_1.RelayEventManager();\n const isMobile = (0, util_1.isMobileWeb)();\n const uiConstructor = options.uiConstructor ||\n ((opts) => (isMobile ? new MobileRelayUI_1.MobileRelayUI(opts) : new WalletLinkRelayUI_1.WalletLinkRelayUI(opts)));\n const relayOption = {\n linkAPIUrl,\n version: version_1.LIB_VERSION,\n darkMode: !!options.darkMode,\n uiConstructor,\n storage: this._storage,\n relayEventManager: this._relayEventManager,\n diagnosticLogger: this._diagnosticLogger,\n reloadOnDisconnect: this._reloadOnDisconnect,\n enableMobileWalletLink: options.enableMobileWalletLink,\n };\n this._relay = isMobile ? new MobileRelay_1.MobileRelay(relayOption) : new WalletLinkRelay_1.WalletLinkRelay(relayOption);\n this.setAppInfo(options.appName, options.appLogoUrl);\n if (options.headlessMode)\n return;\n this._relay.attachUI();\n }\n /**\n * Create a Web3 Provider object\n * @param jsonRpcUrl Ethereum JSON RPC URL (Default: \"\")\n * @param chainId Ethereum Chain ID (Default: 1)\n * @returns A Web3 Provider\n */\n makeWeb3Provider(jsonRpcUrl = '', chainId = 1) {\n const extension = this.walletExtension;\n if (extension) {\n if (!this.isCipherProvider(extension)) {\n extension.setProviderInfo(jsonRpcUrl, chainId);\n }\n if (this._reloadOnDisconnect === false &&\n typeof extension.disableReloadOnDisconnect === 'function')\n extension.disableReloadOnDisconnect();\n return extension;\n }\n const dappBrowser = this.coinbaseBrowser;\n if (dappBrowser) {\n return dappBrowser;\n }\n const relay = this._relay;\n if (!relay || !this._relayEventManager || !this._storage) {\n throw new Error('Relay not initialized, should never happen');\n }\n if (!jsonRpcUrl)\n relay.setConnectDisabled(true);\n return new CoinbaseWalletProvider_1.CoinbaseWalletProvider({\n relayProvider: () => Promise.resolve(relay),\n relayEventManager: this._relayEventManager,\n storage: this._storage,\n jsonRpcUrl,\n chainId,\n qrUrl: this.getQrUrl(),\n diagnosticLogger: this._diagnosticLogger,\n overrideIsMetaMask: this._overrideIsMetaMask,\n overrideIsCoinbaseWallet: this._overrideIsCoinbaseWallet,\n overrideIsCoinbaseBrowser: this._overrideIsCoinbaseBrowser,\n });\n }\n /**\n * Set application information\n * @param appName Application name\n * @param appLogoUrl Application logo image URL\n */\n setAppInfo(appName, appLogoUrl) {\n var _a;\n this._appName = appName || 'DApp';\n this._appLogoUrl = appLogoUrl || (0, util_1.getFavicon)();\n const extension = this.walletExtension;\n if (extension) {\n if (!this.isCipherProvider(extension)) {\n extension.setAppInfo(this._appName, this._appLogoUrl);\n }\n }\n else {\n (_a = this._relay) === null || _a === void 0 ? void 0 : _a.setAppInfo(this._appName, this._appLogoUrl);\n }\n }\n /**\n * Disconnect. After disconnecting, this will reload the web page to ensure\n * all potential stale state is cleared.\n */\n disconnect() {\n var _a;\n const extension = this === null || this === void 0 ? void 0 : this.walletExtension;\n if (extension) {\n void extension.close();\n }\n else {\n (_a = this._relay) === null || _a === void 0 ? void 0 : _a.resetAndReload();\n }\n }\n /**\n * Return QR URL for mobile wallet connection, will return null if extension is installed\n */\n getQrUrl() {\n var _a, _b;\n return (_b = (_a = this._relay) === null || _a === void 0 ? void 0 : _a.getQRCodeUrl()) !== null && _b !== void 0 ? _b : null;\n }\n /**\n * Official Coinbase Wallet logo for developers to use on their frontend\n * @param type Type of wallet logo: \"standard\" | \"circle\" | \"text\" | \"textWithLogo\" | \"textLight\" | \"textWithLogoLight\"\n * @param width Width of the logo (Optional)\n * @returns SVG Data URI\n */\n getCoinbaseWalletLogo(type, width = 240) {\n return (0, wallet_logo_1.walletLogo)(type, width);\n }\n get walletExtension() {\n var _a;\n return (_a = window.coinbaseWalletExtension) !== null && _a !== void 0 ? _a : window.walletLinkExtension;\n }\n get coinbaseBrowser() {\n var _a, _b;\n try {\n // Coinbase DApp browser does not inject into iframes so grab provider from top frame if it exists\n const ethereum = (_a = window.ethereum) !== null && _a !== void 0 ? _a : (_b = window.top) === null || _b === void 0 ? void 0 : _b.ethereum;\n if (!ethereum) {\n return undefined;\n }\n if ('isCoinbaseBrowser' in ethereum && ethereum.isCoinbaseBrowser) {\n return ethereum;\n }\n return undefined;\n }\n catch (e) {\n return undefined;\n }\n }\n isCipherProvider(provider) {\n // @ts-expect-error isCipher walletlink property\n return typeof provider.isCipher === 'boolean' && provider.isCipher;\n }\n}\nexports.CoinbaseWalletSDK = CoinbaseWalletSDK;\nCoinbaseWalletSDK.VERSION = version_1.LIB_VERSION;\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CoinbaseWalletProvider = exports.CoinbaseWalletSDK = void 0;\nconst CoinbaseWalletSDK_1 = require(\"./CoinbaseWalletSDK\");\nconst CoinbaseWalletProvider_1 = require(\"./provider/CoinbaseWalletProvider\");\nvar CoinbaseWalletSDK_2 = require(\"./CoinbaseWalletSDK\");\nObject.defineProperty(exports, \"CoinbaseWalletSDK\", { enumerable: true, get: function () { return CoinbaseWalletSDK_2.CoinbaseWalletSDK; } });\nvar CoinbaseWalletProvider_2 = require(\"./provider/CoinbaseWalletProvider\");\nObject.defineProperty(exports, \"CoinbaseWalletProvider\", { enumerable: true, get: function () { return CoinbaseWalletProvider_2.CoinbaseWalletProvider; } });\nexports.default = CoinbaseWalletSDK_1.CoinbaseWalletSDK;\nif (typeof window !== 'undefined') {\n window.CoinbaseWalletSDK = CoinbaseWalletSDK_1.CoinbaseWalletSDK;\n window.CoinbaseWalletProvider = CoinbaseWalletProvider_1.CoinbaseWalletProvider;\n /**\n * @deprecated Use `window.CoinbaseWalletSDK`\n */\n window.WalletLink = CoinbaseWalletSDK_1.CoinbaseWalletSDK;\n /**\n * @deprecated Use `window.CoinbaseWalletProvider`\n */\n window.WalletLinkProvider = CoinbaseWalletProvider_1.CoinbaseWalletProvider;\n}\n","import '@web3modal/polyfills';\nimport { CoinbaseWalletSDK } from '@coinbase/wallet-sdk';\nexport function defaultConfig(options) {\n const { enableEIP6963 = true, enableInjected = true, enableCoinbase = true, enableEmail = false, metadata, rpcUrl, defaultChainId } = options;\n let injectedProvider = undefined;\n let coinbaseProvider = undefined;\n const providers = { metadata };\n function getInjectedProvider() {\n if (injectedProvider) {\n return injectedProvider;\n }\n if (typeof window === 'undefined') {\n return undefined;\n }\n if (!window.ethereum) {\n return undefined;\n }\n injectedProvider = window.ethereum;\n return injectedProvider;\n }\n function getCoinbaseProvider() {\n if (coinbaseProvider) {\n return coinbaseProvider;\n }\n if (typeof window === 'undefined') {\n return undefined;\n }\n const coinbaseWallet = new CoinbaseWalletSDK({\n appName: metadata.name,\n appLogoUrl: metadata.icons[0],\n darkMode: false,\n enableMobileWalletLink: true\n });\n coinbaseProvider = coinbaseWallet.makeWeb3Provider(rpcUrl, defaultChainId);\n return coinbaseProvider;\n }\n if (enableInjected) {\n providers.injected = getInjectedProvider();\n }\n if (enableCoinbase && rpcUrl && defaultChainId) {\n providers.coinbase = getCoinbaseProvider();\n }\n if (enableEIP6963) {\n providers.EIP6963 = true;\n }\n if (enableEmail) {\n providers.email = true;\n }\n return providers;\n}\n//# sourceMappingURL=defaultConfig.js.map","import { Web3Modal } from '../src/client.js';\nimport { ConstantsUtil } from '@web3modal/scaffold-utils';\nexport { defaultConfig } from '../src/utils/defaultConfig.js';\nexport function createWeb3Modal(options) {\n return new Web3Modal({ ...options, _sdkVersion: `html-ethers-${ConstantsUtil.VERSION}` });\n}\n//# sourceMappingURL=index.js.map","import icons from './icons'\nimport { networks } from '../../index'\nimport type { EIP1193Provider } from './EIP6963'\nimport type { Provider } from '../../services/Provider'\nimport type { Chain } from '@web3modal/scaffold-utils/ethers'\nimport { createWeb3Modal, defaultConfig } from '@web3modal/ethers'\nimport type { Web3Modal as Web3ModalType } from '@web3modal/ethers'\nimport type { WalletAdapterInterface } from '@multiplechain/types'\nimport { ErrorTypeEnum, WalletPlatformEnum } from '@multiplechain/types'\nimport type { CustomWallet, EventsControllerState, Metadata } from '@web3modal/core'\n\ntype EventFunction = (newEvent: EventsControllerState, modal?: Web3ModalType) => void\n\nexport interface Web3ModalConfig {\n projectId: string\n themeMode?: 'dark' | 'light'\n enableEIP6963?: boolean\n enableInjected?: boolean\n enableCoinbase?: boolean\n rpcUrl?: string\n defaultChainId?: number\n metadata: Metadata\n customWallets?: CustomWallet[]\n events?: EventFunction[]\n}\n\nexport interface Web3ModalAdapterInterface\n extends WalletAdapterInterface {\n modal?: Web3ModalType\n}\n\nlet modal: Web3ModalType | undefined\nlet walletProvider: EIP1193Provider | undefined\n\nconst chains: Chain[] = networks\n .getAll()\n .map((network: any) => {\n return {\n chainId: network.id,\n name: network.name ?? network.nativeCurrency.symbol,\n currency: network.nativeCurrency.symbol,\n explorerUrl: network.explorerUrl,\n rpcUrl: network.rpcUrl\n }\n })\n .filter((network: any) => network)\n\nlet currentNetwork: Chain\nlet clickedAnyWallet = false\nlet connectRejectMethod: (reason?: any) => void\nlet connectResolveMethod: (value: EIP1193Provider | PromiseLike) => void\n\nconst web3Modal = (config: Web3ModalConfig): Web3ModalType => {\n if (modal !== undefined) {\n return modal\n }\n\n const ethersConfig = defaultConfig({\n metadata: config.metadata,\n enableEIP6963: config.enableEIP6963,\n enableInjected: config.enableInjected,\n enableCoinbase: config.enableCoinbase\n })\n\n modal = createWeb3Modal({\n chains,\n ethersConfig,\n projectId: config.projectId,\n themeMode: config.themeMode,\n customWallets: config.customWallets,\n allowUnsupportedChain: true,\n themeVariables: {\n '--w3m-z-index': 999999999999\n }\n })\n\n if (config.events !== undefined) {\n config.events.forEach((event) => {\n modal?.subscribeEvents((newEvent: EventsControllerState) => {\n event(newEvent, modal)\n })\n })\n }\n\n modal.subscribeEvents(async (event) => {\n if (event.data.event === 'SELECT_WALLET') {\n clickedAnyWallet = true\n }\n\n if (event.data.event === 'MODAL_CLOSE') {\n if (clickedAnyWallet) {\n clickedAnyWallet = false\n } else {\n connectRejectMethod(new Error(ErrorTypeEnum.CLOSED_WALLETCONNECT_MODAL))\n }\n }\n })\n\n modal.subscribeProvider(async ({ provider, chainId }) => {\n if (provider === undefined) {\n return\n }\n\n if (currentNetwork.chainId !== chainId) {\n await modal?.switchNetwork(currentNetwork.chainId).catch(() => {\n connectRejectMethod(new Error(ErrorTypeEnum.WALLET_CONNECT_REJECTED))\n })\n }\n\n connectResolveMethod((walletProvider = provider as EIP1193Provider))\n })\n\n return modal\n}\n\nconst Web3Modal: Web3ModalAdapterInterface = {\n modal,\n id: 'web3modal',\n name: 'Web3Modal',\n icon: icons.web3modal,\n provider: walletProvider,\n platforms: [WalletPlatformEnum.UNIVERSAL],\n isDetected: () => true,\n isConnected: () => {\n if (modal === undefined) {\n return false\n }\n return modal.getIsConnected()\n },\n disconnect: async () => {\n Object.keys(localStorage)\n .filter((x) => {\n return (\n x.startsWith('wc@2') ||\n x.startsWith('@w3m') ||\n x.startsWith('W3M') ||\n x.startsWith('-walletlink')\n )\n })\n .forEach((x) => {\n localStorage.removeItem(x)\n })\n\n if (modal?.disconnect !== undefined) {\n await modal.disconnect()\n }\n },\n connect: async (\n provider?: Provider,\n _config?: Web3ModalConfig | object\n ): Promise => {\n const config = _config as Web3ModalConfig\n\n if (provider === undefined) {\n throw new Error(ErrorTypeEnum.PROVIDER_IS_REQUIRED)\n }\n\n if (config === undefined) {\n throw new Error(ErrorTypeEnum.CONFIG_IS_REQUIRED)\n }\n\n if (config.projectId === undefined) {\n throw new Error(ErrorTypeEnum.PROJECT_ID_IS_REQUIRED)\n }\n\n if (config.metadata === undefined) {\n throw new Error(ErrorTypeEnum.METADATA_IS_REQUIRED)\n }\n\n const network = provider.network\n\n currentNetwork = {\n chainId: network.id,\n name: network.name ?? network.nativeCurrency.symbol,\n currency: network.nativeCurrency.symbol,\n explorerUrl: network.explorerUrl,\n rpcUrl: network.rpcUrl\n }\n\n return await new Promise((resolve, reject) => {\n try {\n const modal = web3Modal(config)\n connectRejectMethod = async (reason) => {\n await modal.disconnect()\n reject(reason)\n }\n connectResolveMethod = resolve\n void modal.open({ view: 'Connect' })\n } catch (error) {\n reject(error)\n }\n })\n }\n}\n\nexport default Web3Modal\n","import icons from './icons'\nimport { switcher } from './switcher'\nimport type { EIP1193Provider } from './EIP6963'\nimport { WalletPlatformEnum } from '@multiplechain/types'\nimport type { Provider } from '../../services/Provider'\nimport type { WalletAdapterInterface } from '@multiplechain/types'\n\nconst OkxWallet: WalletAdapterInterface = {\n id: 'okxwallet',\n name: 'OkxWallet',\n icon: icons.okxWallet,\n provider: window?.okxwallet,\n downloadLink: 'https://www.okx.com/download',\n platforms: [WalletPlatformEnum.BROWSER, WalletPlatformEnum.MOBILE],\n createDeepLink: (url: string): string => `okx://wallet/dapp/details?dappUrl=${url}`,\n isDetected: () => Boolean(window?.okxwallet),\n isConnected: async () => {\n return Boolean((await window?.okxwallet?.request({ method: 'eth_accounts' })).length)\n },\n connect: async (provider?: Provider): Promise => {\n return await new Promise((resolve, reject) => {\n const okx = window?.okxwallet\n try {\n okx\n ?.request({ method: 'eth_requestAccounts' })\n .then(() => {\n switcher(okx, provider)\n .then(() => {\n resolve(okx)\n })\n .catch((error: any) => {\n reject(error)\n })\n })\n .catch((error: any) => {\n reject(error)\n })\n } catch (error) {\n reject(error)\n }\n })\n }\n}\n\nexport default OkxWallet\n","import icons from './icons'\nimport { switcher } from './switcher'\nimport type { EIP1193Provider } from './EIP6963'\nimport type { Provider } from '../../services/Provider'\nimport { WalletPlatformEnum } from '@multiplechain/types'\nimport type { WalletAdapterInterface } from '@multiplechain/types'\n\nconst XdefiWallet: WalletAdapterInterface = {\n id: 'xdefiwallet',\n name: 'XdefiWallet',\n icon: icons.xdefiWallet,\n provider: window?.xfi?.ethereum,\n downloadLink: 'https://www.xdefi.io/',\n platforms: [WalletPlatformEnum.BROWSER],\n isDetected: () => Boolean(window?.xfi?.ethereum),\n isConnected: async () => {\n return Boolean((await window?.xfi?.ethereum?.request({ method: 'eth_accounts' })).length)\n },\n connect: async (provider?: Provider): Promise => {\n return await new Promise((resolve, reject) => {\n const xfi = window?.xfi?.ethereum\n try {\n xfi\n ?.request({ method: 'eth_requestAccounts' })\n .then(() => {\n switcher(xfi, provider)\n .then(() => {\n resolve(xfi)\n })\n .catch((error: any) => {\n reject(error)\n })\n })\n .catch((error: any) => {\n reject(error)\n })\n } catch (error) {\n reject(error)\n }\n })\n }\n}\n\nexport default XdefiWallet\n","import icons from './icons'\nimport { switcher } from './switcher'\nimport type { WindowEthereum } from './types'\nimport type { EIP1193Provider } from './EIP6963'\nimport { WalletPlatformEnum } from '@multiplechain/types'\nimport type { Provider } from '../../services/Provider'\nimport type { WalletAdapterInterface } from '@multiplechain/types'\n\nconst TrustWallet: WalletAdapterInterface = {\n id: 'trustwallet',\n name: 'TrustWallet',\n icon: icons.trustWallet,\n // eslint-disable-next-line\n provider: (window?.ethereum?.isTrust\n ? window.ethereum\n : window.trustwallet) as unknown as WindowEthereum,\n downloadLink: 'https://trustwallet.com/download',\n platforms: [WalletPlatformEnum.BROWSER, WalletPlatformEnum.MOBILE],\n isDetected: () => Boolean(window?.ethereum?.isTrust ?? window?.trustwallet),\n isConnected: async () => {\n // eslint-disable-next-line\n const trustWalletProvider = (window?.ethereum?.isTrust\n ? window.ethereum\n : window.trustwallet) as unknown as WindowEthereum\n return Boolean((await trustWalletProvider?.request({ method: 'eth_accounts' })).length)\n },\n connect: async (provider?: Provider): Promise => {\n return await new Promise((resolve, reject) => {\n try {\n // eslint-disable-next-line\n const trustWalletProvider = (window?.ethereum?.isTrust\n ? window.ethereum\n : window.trustwallet) as unknown as WindowEthereum\n trustWalletProvider\n ?.request({ method: 'eth_requestAccounts' })\n .then(() => {\n // because mobile wallet doesn't support testnets\n if (\n window?.ethereum?.isTrust !== undefined &&\n provider?.isTestnet() === true\n ) {\n resolve(trustWalletProvider)\n return\n }\n\n switcher(trustWalletProvider, provider)\n .then(() => {\n resolve(trustWalletProvider)\n })\n .catch((error: any) => {\n reject(error)\n })\n })\n .catch((error: any) => {\n reject(error)\n })\n } catch (error) {\n reject(error)\n }\n })\n }\n}\n\nexport default TrustWallet\n","import icons from './icons'\nimport { switcher } from './switcher'\nimport type { EIP1193Provider } from './EIP6963'\nimport { WalletPlatformEnum } from '@multiplechain/types'\nimport type { Provider } from '../../services/Provider'\nimport type { WalletAdapterInterface } from '@multiplechain/types'\n\nconst BitgetWallet: WalletAdapterInterface = {\n id: 'bitgetwallet',\n name: 'BitgetWallet',\n icon: icons.bitgetWallet,\n provider: window?.bitkeep?.ethereum,\n downloadLink: 'https://web3.bitget.com/en/wallet-download?type=3',\n platforms: [WalletPlatformEnum.BROWSER, WalletPlatformEnum.MOBILE],\n createDeepLink: (url: string): string => `https://bkcode.vip?action=dapp&url=${url}`,\n isDetected: () => Boolean(window?.bitkeep?.ethereum),\n isConnected: async () => {\n return Boolean(\n (await window?.bitkeep?.ethereum?.request({ method: 'eth_accounts' })).length\n )\n },\n connect: async (provider?: Provider): Promise => {\n return await new Promise((resolve, reject) => {\n const bitget = window?.bitkeep?.ethereum\n try {\n bitget\n ?.request({ method: 'eth_requestAccounts' })\n .then(() => {\n switcher(bitget, provider)\n .then(() => {\n resolve(bitget)\n })\n .catch((error: any) => {\n reject(error)\n })\n })\n .catch((error: any) => {\n reject(error)\n })\n } catch (error) {\n reject(error)\n }\n })\n }\n}\n\nexport default BitgetWallet\n","import{detect as Do}from\"detect-browser\";import{toMiliseconds as hi,FIVE_MINUTES as nn,fromMiliseconds as Fo}from\"@walletconnect/time\";import{getDocument as fn,getNavigator as on,getLocation as sn}from\"@walletconnect/window-getters\";import{getWindowMetadata as To}from\"@walletconnect/window-metadata\";import*as Nr from\"query-string\";import{ChaCha20Poly1305 as an}from\"@stablelib/chacha20poly1305\";import{HKDF as Uo}from\"@stablelib/hkdf\";import{randomBytes as un}from\"@stablelib/random\";import{SHA256 as ko,hash as hn}from\"@stablelib/sha256\";import*as cn from\"@stablelib/x25519\";import{toString as te,fromString as ee,concat as ln}from\"uint8arrays\";import{RELAY_JSONRPC as qo}from\"@walletconnect/relay-api\";const Ir=\":\";function dn(e){const[t,r]=e.split(Ir);return{namespace:t,reference:r}}function pn(e){const{namespace:t,reference:r}=e;return[t,r].join(Ir)}function ci(e){const[t,r,i]=e.split(Ir);return{namespace:t,reference:r,address:i}}function vn(e){const{namespace:t,reference:r,address:i}=e;return[t,r,i].join(Ir)}function li(e,t){const r=[];return e.forEach(i=>{const n=t(i);r.includes(n)||r.push(n)}),r}function mn(e){const{address:t}=ci(e);return t}function gn(e){const{namespace:t,reference:r}=ci(e);return pn({namespace:t,reference:r})}function Ko(e,t){const{namespace:r,reference:i}=dn(t);return vn({namespace:r,reference:i,address:e})}function Ho(e){return li(e,mn)}function An(e){return li(e,gn)}function zo(e,t=[]){const r=[];return Object.keys(e).forEach(i=>{if(t.length&&!t.includes(i))return;const n=e[i];r.push(...n.accounts)}),r}function Lo(e,t=[]){const r=[];return Object.keys(e).forEach(i=>{if(t.length&&!t.includes(i))return;const n=e[i];r.push(...An(n.accounts))}),r}function jo(e,t=[]){const r=[];return Object.keys(e).forEach(i=>{if(t.length&&!t.includes(i))return;const n=e[i];r.push(..._r(i,n))}),r}function _r(e,t){return e.includes(\":\")?[e]:t.chains||[]}var Qo=Object.defineProperty,bn=Object.getOwnPropertySymbols,Jo=Object.prototype.hasOwnProperty,Go=Object.prototype.propertyIsEnumerable,yn=(e,t,r)=>t in e?Qo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,wn=(e,t)=>{for(var r in t||(t={}))Jo.call(t,r)&&yn(e,r,t[r]);if(bn)for(var r of bn(t))Go.call(t,r)&&yn(e,r,t[r]);return e};const xn=\"ReactNative\",qt={reactNative:\"react-native\",node:\"node\",browser:\"browser\",unknown:\"unknown\"},Br=\" \",Yo=\":\",Mn=\"/\",di=2,Vo=1e3,En=\"js\";function pi(){return typeof process<\"u\"&&typeof process.versions<\"u\"&&typeof process.versions.node<\"u\"}function er(){return!fn()&&!!on()&&navigator.product===xn}function pr(){return!pi()&&!!on()&&!!fn()}function We(){return er()?qt.reactNative:pi()?qt.node:pr()?qt.browser:qt.unknown}function Wo(){var e;try{return er()&&typeof global<\"u\"&&typeof(global==null?void 0:global.Application)<\"u\"?(e=global.Application)==null?void 0:e.applicationId:void 0}catch{return}}function Sn(e,t){let r=Nr.parse(e);return r=wn(wn({},r),t),e=Nr.stringify(r),e}function Xo(){return To()||{name:\"\",description:\"\",url:\"\",icons:[\"\"]}}function Zo(e,t){var r;const i=We(),n={protocol:e,version:t,env:i};return i===\"browser\"&&(n.host=((r=sn())==null?void 0:r.host)||\"unknown\"),n}function Nn(){if(We()===qt.reactNative&&typeof global<\"u\"&&typeof(global==null?void 0:global.Platform)<\"u\"){const{OS:r,Version:i}=global.Platform;return[r,i].join(\"-\")}const e=Do();if(e===null)return\"unknown\";const t=e.os?e.os.replace(\" \",\"\").toLowerCase():\"unknown\";return e.type===\"browser\"?[t,e.name,e.version].join(\"-\"):[t,e.version].join(\"-\")}function In(){var e;const t=We();return t===qt.browser?[t,((e=sn())==null?void 0:e.host)||\"unknown\"].join(\":\"):t}function _n(e,t,r){const i=Nn(),n=In();return[[e,t].join(\"-\"),[En,r].join(\"-\"),i,n].join(\"/\")}function $o({protocol:e,version:t,relayUrl:r,sdkVersion:i,auth:n,projectId:o,useOnCloseEvent:h,bundleId:p}){const b=r.split(\"?\"),m=_n(e,t,i),w={auth:n,ua:m,projectId:o,useOnCloseEvent:h||void 0,origin:p||void 0},y=Sn(b[1]||\"\",w);return b[0]+\"?\"+y}function t0(e){let t=(e.match(/^[^:]+(?=:\\/\\/)/gi)||[])[0];const r=typeof t<\"u\"?e.split(\"://\")[1]:e;return t=t===\"wss\"?\"https\":\"http\",[t,r].join(\"://\")}function e0(e,t,r){if(!e[t]||typeof e[t]!==r)throw new Error(`Missing or invalid \"${t}\" param`)}function Bn(e,t=di){return Cn(e.split(Mn),t)}function r0(e){return Bn(e).join(Br)}function _e(e,t){return e.filter(r=>t.includes(r)).length===e.length}function Cn(e,t=di){return e.slice(Math.max(e.length-t,0))}function i0(e){return Object.fromEntries(e.entries())}function n0(e){return new Map(Object.entries(e))}function f0(e,t){const r={};return Object.keys(e).forEach(i=>{r[i]=t(e[i])}),r}const o0=e=>e;function Rn(e){return e.trim().replace(/^\\w/,t=>t.toUpperCase())}function s0(e){return e.split(Br).map(t=>Rn(t)).join(Br)}function a0(e=nn,t){const r=hi(e||nn);let i,n,o;return{resolve:h=>{o&&i&&(clearTimeout(o),i(h))},reject:h=>{o&&n&&(clearTimeout(o),n(h))},done:()=>new Promise((h,p)=>{o=setTimeout(()=>{p(new Error(t))},r),i=h,n=p})}}function u0(e,t,r){return new Promise(async(i,n)=>{const o=setTimeout(()=>n(new Error(r)),t);try{const h=await e;i(h)}catch(h){n(h)}clearTimeout(o)})}function vi(e,t){if(typeof t==\"string\"&&t.startsWith(`${e}:`))return t;if(e.toLowerCase()===\"topic\"){if(typeof t!=\"string\")throw new Error('Value must be \"string\" for expirer target type: topic');return`topic:${t}`}else if(e.toLowerCase()===\"id\"){if(typeof t!=\"number\")throw new Error('Value must be \"number\" for expirer target type: id');return`id:${t}`}throw new Error(`Unknown expirer target type: ${e}`)}function h0(e){return vi(\"topic\",e)}function c0(e){return vi(\"id\",e)}function l0(e){const[t,r]=e.split(\":\"),i={id:void 0,topic:void 0};if(t===\"topic\"&&typeof r==\"string\")i.topic=r;else if(t===\"id\"&&Number.isInteger(Number(r)))i.id=Number(r);else throw new Error(`Invalid target, expected id:number or topic:string, got ${t}:${r}`);return i}function d0(e,t){return Fo((t||Date.now())+hi(e))}function p0(e){return Date.now()>=hi(e)}function v0(e,t){return`${e}${t?`:${t}`:\"\"}`}function ge(e=[],t=[]){return[...new Set([...e,...t])]}async function m0({id:e,topic:t,wcDeepLink:r}){try{if(!r)return;const i=typeof r==\"string\"?JSON.parse(r):r;let n=i?.href;if(typeof n!=\"string\")return;n.endsWith(\"/\")&&(n=n.slice(0,-1));const o=`${n}/wc?requestId=${e}&sessionTopic=${t}`,h=We();h===qt.browser?o.startsWith(\"https://\")||o.startsWith(\"http://\")?window.open(o,\"_blank\",\"noreferrer noopener\"):window.open(o,\"_self\",\"noreferrer noopener\"):h===qt.reactNative&&typeof(global==null?void 0:global.Linking)<\"u\"&&await global.Linking.openURL(o)}catch(i){console.error(i)}}async function g0(e,t){try{return await e.getItem(t)||(pr()?localStorage.getItem(t):void 0)}catch(r){console.error(r)}}function mi(e,t){return e.filter(r=>t.includes(r))}var On=typeof globalThis<\"u\"?globalThis:typeof window<\"u\"?window:typeof global<\"u\"?global:typeof self<\"u\"?self:{};function A0(e){var t=e.default;if(typeof t==\"function\"){var r=function(){return t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,\"__esModule\",{value:!0}),Object.keys(e).forEach(function(i){var n=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(r,i,n.get?n:{enumerable:!0,get:function(){return e[i]}})}),r}var Pn={exports:{}};/**\n * [js-sha3]{@link https://github.com/emn178/js-sha3}\n *\n * @version 0.8.0\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2015-2018\n * @license MIT\n */(function(e){(function(){var t=\"input is invalid type\",r=\"finalize already called\",i=typeof window==\"object\",n=i?window:{};n.JS_SHA3_NO_WINDOW&&(i=!1);var o=!i&&typeof self==\"object\",h=!n.JS_SHA3_NO_NODE_JS&&typeof process==\"object\"&&process.versions&&process.versions.node;h?n=On:o&&(n=self);var p=!n.JS_SHA3_NO_COMMON_JS&&!0&&e.exports,b=!n.JS_SHA3_NO_ARRAY_BUFFER&&typeof ArrayBuffer<\"u\",m=\"0123456789abcdef\".split(\"\"),w=[31,7936,2031616,520093696],y=[4,1024,262144,67108864],S=[1,256,65536,16777216],I=[6,1536,393216,100663296],N=[0,8,16,24],C=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],F=[224,256,384,512],U=[128,256],J=[\"hex\",\"buffer\",\"arrayBuffer\",\"array\",\"digest\"],Bt={128:168,256:136};(n.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(u){return Object.prototype.toString.call(u)===\"[object Array]\"}),b&&(n.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(u){return typeof u==\"object\"&&u.buffer&&u.buffer.constructor===ArrayBuffer});for(var G=function(u,E,_){return function(B){return new s(u,E,u).update(B)[_]()}},H=function(u,E,_){return function(B,R){return new s(u,E,R).update(B)[_]()}},z=function(u,E,_){return function(B,R,T,P){return f[\"cshake\"+u].update(B,R,T,P)[_]()}},Pt=function(u,E,_){return function(B,R,T,P){return f[\"kmac\"+u].update(B,R,T,P)[_]()}},W=function(u,E,_,B){for(var R=0;R>5,this.byteCount=this.blockCount<<2,this.outputBlocks=_>>5,this.extraBytes=(_&31)>>3;for(var B=0;B<50;++B)this.s[B]=0}s.prototype.update=function(u){if(this.finalized)throw new Error(r);var E,_=typeof u;if(_!==\"string\"){if(_===\"object\"){if(u===null)throw new Error(t);if(b&&u.constructor===ArrayBuffer)u=new Uint8Array(u);else if(!Array.isArray(u)&&(!b||!ArrayBuffer.isView(u)))throw new Error(t)}else throw new Error(t);E=!0}for(var B=this.blocks,R=this.byteCount,T=u.length,P=this.blockCount,O=0,Ct=this.s,D,q;O>2]|=u[O]<>2]|=q<>2]|=(192|q>>6)<>2]|=(128|q&63)<=57344?(B[D>>2]|=(224|q>>12)<>2]|=(128|q>>6&63)<>2]|=(128|q&63)<>2]|=(240|q>>18)<>2]|=(128|q>>12&63)<>2]|=(128|q>>6&63)<>2]|=(128|q&63)<=R){for(this.start=D-R,this.block=B[P],D=0;D>8,_=u&255;_>0;)R.unshift(_),u=u>>8,_=u&255,++B;return E?R.push(B):R.unshift(B),this.update(R),R.length},s.prototype.encodeString=function(u){var E,_=typeof u;if(_!==\"string\"){if(_===\"object\"){if(u===null)throw new Error(t);if(b&&u.constructor===ArrayBuffer)u=new Uint8Array(u);else if(!Array.isArray(u)&&(!b||!ArrayBuffer.isView(u)))throw new Error(t)}else throw new Error(t);E=!0}var B=0,R=u.length;if(E)B=R;else for(var T=0;T=57344?B+=3:(P=65536+((P&1023)<<10|u.charCodeAt(++T)&1023),B+=4)}return B+=this.encode(B*8),this.update(u),B},s.prototype.bytepad=function(u,E){for(var _=this.encode(E),B=0;B>2]|=this.padding[E&3],this.lastByteIndex===this.byteCount)for(u[0]=u[_],E=1;E<_+1;++E)u[E]=0;for(u[_-1]|=2147483648,E=0;E<_;++E)B[E]^=u[E];k(B)}},s.prototype.toString=s.prototype.hex=function(){this.finalize();for(var u=this.blockCount,E=this.s,_=this.outputBlocks,B=this.extraBytes,R=0,T=0,P=\"\",O;T<_;){for(R=0;R>4&15]+m[O&15]+m[O>>12&15]+m[O>>8&15]+m[O>>20&15]+m[O>>16&15]+m[O>>28&15]+m[O>>24&15];T%u===0&&(k(E),R=0)}return B&&(O=E[R],P+=m[O>>4&15]+m[O&15],B>1&&(P+=m[O>>12&15]+m[O>>8&15]),B>2&&(P+=m[O>>20&15]+m[O>>16&15])),P},s.prototype.arrayBuffer=function(){this.finalize();var u=this.blockCount,E=this.s,_=this.outputBlocks,B=this.extraBytes,R=0,T=0,P=this.outputBits>>3,O;B?O=new ArrayBuffer(_+1<<2):O=new ArrayBuffer(P);for(var Ct=new Uint32Array(O);T<_;){for(R=0;R>8&255,P[O+2]=Ct>>16&255,P[O+3]=Ct>>24&255;T%u===0&&k(E)}return B&&(O=T<<2,Ct=E[R],P[O]=Ct&255,B>1&&(P[O+1]=Ct>>8&255),B>2&&(P[O+2]=Ct>>16&255)),P};function v(u,E,_){s.call(this,u,E,_)}v.prototype=new s,v.prototype.finalize=function(){return this.encode(this.outputBits,!0),s.prototype.finalize.call(this)};var k=function(u){var E,_,B,R,T,P,O,Ct,D,q,De,X,Z,Fe,$,tt,Te,et,rt,Ue,it,nt,ke,ft,ot,qe,st,at,Ke,ut,ht,He,ct,lt,ze,dt,pt,Le,vt,mt,je,gt,At,Qe,bt,yt,Je,wt,xt,Ge,Mt,Et,Ye,St,Nt,Ve,It,_t,Me,Ee,Se,Ne,Ie;for(B=0;B<48;B+=2)R=u[0]^u[10]^u[20]^u[30]^u[40],T=u[1]^u[11]^u[21]^u[31]^u[41],P=u[2]^u[12]^u[22]^u[32]^u[42],O=u[3]^u[13]^u[23]^u[33]^u[43],Ct=u[4]^u[14]^u[24]^u[34]^u[44],D=u[5]^u[15]^u[25]^u[35]^u[45],q=u[6]^u[16]^u[26]^u[36]^u[46],De=u[7]^u[17]^u[27]^u[37]^u[47],X=u[8]^u[18]^u[28]^u[38]^u[48],Z=u[9]^u[19]^u[29]^u[39]^u[49],E=X^(P<<1|O>>>31),_=Z^(O<<1|P>>>31),u[0]^=E,u[1]^=_,u[10]^=E,u[11]^=_,u[20]^=E,u[21]^=_,u[30]^=E,u[31]^=_,u[40]^=E,u[41]^=_,E=R^(Ct<<1|D>>>31),_=T^(D<<1|Ct>>>31),u[2]^=E,u[3]^=_,u[12]^=E,u[13]^=_,u[22]^=E,u[23]^=_,u[32]^=E,u[33]^=_,u[42]^=E,u[43]^=_,E=P^(q<<1|De>>>31),_=O^(De<<1|q>>>31),u[4]^=E,u[5]^=_,u[14]^=E,u[15]^=_,u[24]^=E,u[25]^=_,u[34]^=E,u[35]^=_,u[44]^=E,u[45]^=_,E=Ct^(X<<1|Z>>>31),_=D^(Z<<1|X>>>31),u[6]^=E,u[7]^=_,u[16]^=E,u[17]^=_,u[26]^=E,u[27]^=_,u[36]^=E,u[37]^=_,u[46]^=E,u[47]^=_,E=q^(R<<1|T>>>31),_=De^(T<<1|R>>>31),u[8]^=E,u[9]^=_,u[18]^=E,u[19]^=_,u[28]^=E,u[29]^=_,u[38]^=E,u[39]^=_,u[48]^=E,u[49]^=_,Fe=u[0],$=u[1],yt=u[11]<<4|u[10]>>>28,Je=u[10]<<4|u[11]>>>28,at=u[20]<<3|u[21]>>>29,Ke=u[21]<<3|u[20]>>>29,Ee=u[31]<<9|u[30]>>>23,Se=u[30]<<9|u[31]>>>23,gt=u[40]<<18|u[41]>>>14,At=u[41]<<18|u[40]>>>14,lt=u[2]<<1|u[3]>>>31,ze=u[3]<<1|u[2]>>>31,tt=u[13]<<12|u[12]>>>20,Te=u[12]<<12|u[13]>>>20,wt=u[22]<<10|u[23]>>>22,xt=u[23]<<10|u[22]>>>22,ut=u[33]<<13|u[32]>>>19,ht=u[32]<<13|u[33]>>>19,Ne=u[42]<<2|u[43]>>>30,Ie=u[43]<<2|u[42]>>>30,St=u[5]<<30|u[4]>>>2,Nt=u[4]<<30|u[5]>>>2,dt=u[14]<<6|u[15]>>>26,pt=u[15]<<6|u[14]>>>26,et=u[25]<<11|u[24]>>>21,rt=u[24]<<11|u[25]>>>21,Ge=u[34]<<15|u[35]>>>17,Mt=u[35]<<15|u[34]>>>17,He=u[45]<<29|u[44]>>>3,ct=u[44]<<29|u[45]>>>3,ft=u[6]<<28|u[7]>>>4,ot=u[7]<<28|u[6]>>>4,Ve=u[17]<<23|u[16]>>>9,It=u[16]<<23|u[17]>>>9,Le=u[26]<<25|u[27]>>>7,vt=u[27]<<25|u[26]>>>7,Ue=u[36]<<21|u[37]>>>11,it=u[37]<<21|u[36]>>>11,Et=u[47]<<24|u[46]>>>8,Ye=u[46]<<24|u[47]>>>8,Qe=u[8]<<27|u[9]>>>5,bt=u[9]<<27|u[8]>>>5,qe=u[18]<<20|u[19]>>>12,st=u[19]<<20|u[18]>>>12,_t=u[29]<<7|u[28]>>>25,Me=u[28]<<7|u[29]>>>25,mt=u[38]<<8|u[39]>>>24,je=u[39]<<8|u[38]>>>24,nt=u[48]<<14|u[49]>>>18,ke=u[49]<<14|u[48]>>>18,u[0]=Fe^~tt&et,u[1]=$^~Te&rt,u[10]=ft^~qe&at,u[11]=ot^~st&Ke,u[20]=lt^~dt&Le,u[21]=ze^~pt&vt,u[30]=Qe^~yt&wt,u[31]=bt^~Je&xt,u[40]=St^~Ve&_t,u[41]=Nt^~It&Me,u[2]=tt^~et&Ue,u[3]=Te^~rt&it,u[12]=qe^~at&ut,u[13]=st^~Ke&ht,u[22]=dt^~Le&mt,u[23]=pt^~vt&je,u[32]=yt^~wt&Ge,u[33]=Je^~xt&Mt,u[42]=Ve^~_t&Ee,u[43]=It^~Me&Se,u[4]=et^~Ue&nt,u[5]=rt^~it&ke,u[14]=at^~ut&He,u[15]=Ke^~ht&ct,u[24]=Le^~mt>,u[25]=vt^~je&At,u[34]=wt^~Ge&Et,u[35]=xt^~Mt&Ye,u[44]=_t^~Ee&Ne,u[45]=Me^~Se&Ie,u[6]=Ue^~nt&Fe,u[7]=it^~ke&$,u[16]=ut^~He&ft,u[17]=ht^~ct&ot,u[26]=mt^~gt<,u[27]=je^~At&ze,u[36]=Ge^~Et&Qe,u[37]=Mt^~Ye&bt,u[46]=Ee^~Ne&St,u[47]=Se^~Ie&Nt,u[8]=nt^~Fe&tt,u[9]=ke^~$&Te,u[18]=He^~ft&qe,u[19]=ct^~ot&st,u[28]=gt^~lt&dt,u[29]=At^~ze&pt,u[38]=Et^~Qe&yt,u[39]=Ye^~bt&Je,u[48]=Ne^~St&Ve,u[49]=Ie^~Nt&It,u[0]^=C[B],u[1]^=C[B+1]};if(p)e.exports=f;else for(c=0;c{try{if(\"test\".normalize(t)!==\"test\")throw new Error(\"bad normalize\")}catch{e.push(t)}}),e.length)throw new Error(\"missing \"+e.join(\", \"));if(String.fromCharCode(233).normalize(\"NFD\")!==String.fromCharCode(101,769))throw new Error(\"broken implementation\")}catch(e){return e.message}return null}const Un=w0();var Ai;(function(e){e.DEBUG=\"DEBUG\",e.INFO=\"INFO\",e.WARNING=\"WARNING\",e.ERROR=\"ERROR\",e.OFF=\"OFF\"})(Ai||(Ai={}));var re;(function(e){e.UNKNOWN_ERROR=\"UNKNOWN_ERROR\",e.NOT_IMPLEMENTED=\"NOT_IMPLEMENTED\",e.UNSUPPORTED_OPERATION=\"UNSUPPORTED_OPERATION\",e.NETWORK_ERROR=\"NETWORK_ERROR\",e.SERVER_ERROR=\"SERVER_ERROR\",e.TIMEOUT=\"TIMEOUT\",e.BUFFER_OVERRUN=\"BUFFER_OVERRUN\",e.NUMERIC_FAULT=\"NUMERIC_FAULT\",e.MISSING_NEW=\"MISSING_NEW\",e.INVALID_ARGUMENT=\"INVALID_ARGUMENT\",e.MISSING_ARGUMENT=\"MISSING_ARGUMENT\",e.UNEXPECTED_ARGUMENT=\"UNEXPECTED_ARGUMENT\",e.CALL_EXCEPTION=\"CALL_EXCEPTION\",e.INSUFFICIENT_FUNDS=\"INSUFFICIENT_FUNDS\",e.NONCE_EXPIRED=\"NONCE_EXPIRED\",e.REPLACEMENT_UNDERPRICED=\"REPLACEMENT_UNDERPRICED\",e.UNPREDICTABLE_GAS_LIMIT=\"UNPREDICTABLE_GAS_LIMIT\",e.TRANSACTION_REPLACED=\"TRANSACTION_REPLACED\",e.ACTION_REJECTED=\"ACTION_REJECTED\"})(re||(re={}));const kn=\"0123456789abcdef\";class L{constructor(t){Object.defineProperty(this,\"version\",{enumerable:!0,value:t,writable:!1})}_log(t,r){const i=t.toLowerCase();Cr[i]==null&&this.throwArgumentError(\"invalid log level name\",\"logLevel\",t),!(Tn>Cr[i])&&console.log.apply(console,r)}debug(...t){this._log(L.levels.DEBUG,t)}info(...t){this._log(L.levels.INFO,t)}warn(...t){this._log(L.levels.WARNING,t)}makeError(t,r,i){if(Fn)return this.makeError(\"censored error\",r,{});r||(r=L.errors.UNKNOWN_ERROR),i||(i={});const n=[];Object.keys(i).forEach(b=>{const m=i[b];try{if(m instanceof Uint8Array){let w=\"\";for(let y=0;y>4],w+=kn[m[y]&15];n.push(b+\"=Uint8Array(0x\"+w+\")\")}else n.push(b+\"=\"+JSON.stringify(m))}catch{n.push(b+\"=\"+JSON.stringify(i[b].toString()))}}),n.push(`code=${r}`),n.push(`version=${this.version}`);const o=t;let h=\"\";switch(r){case re.NUMERIC_FAULT:{h=\"NUMERIC_FAULT\";const b=t;switch(b){case\"overflow\":case\"underflow\":case\"division-by-zero\":h+=\"-\"+b;break;case\"negative-power\":case\"negative-width\":h+=\"-unsupported\";break;case\"unbound-bitwise-result\":h+=\"-unbound-result\";break}break}case re.CALL_EXCEPTION:case re.INSUFFICIENT_FUNDS:case re.MISSING_NEW:case re.NONCE_EXPIRED:case re.REPLACEMENT_UNDERPRICED:case re.TRANSACTION_REPLACED:case re.UNPREDICTABLE_GAS_LIMIT:h=r;break}h&&(t+=\" [ See: https://links.ethers.org/v5-errors-\"+h+\" ]\"),n.length&&(t+=\" (\"+n.join(\", \")+\")\");const p=new Error(t);return p.reason=o,p.code=r,Object.keys(i).forEach(function(b){p[b]=i[b]}),p}throwError(t,r,i){throw this.makeError(t,r,i)}throwArgumentError(t,r,i){return this.throwError(t,L.errors.INVALID_ARGUMENT,{argument:r,value:i})}assert(t,r,i,n){t||this.throwError(r,i,n)}assertArgument(t,r,i,n){t||this.throwArgumentError(r,i,n)}checkNormalize(t){Un&&this.throwError(\"platform missing String.prototype.normalize\",L.errors.UNSUPPORTED_OPERATION,{operation:\"String.prototype.normalize\",form:Un})}checkSafeUint53(t,r){typeof t==\"number\"&&(r==null&&(r=\"value not safe\"),(t<0||t>=9007199254740991)&&this.throwError(r,L.errors.NUMERIC_FAULT,{operation:\"checkSafeInteger\",fault:\"out-of-safe-range\",value:t}),t%1&&this.throwError(r,L.errors.NUMERIC_FAULT,{operation:\"checkSafeInteger\",fault:\"non-integer\",value:t}))}checkArgumentCount(t,r,i){i?i=\": \"+i:i=\"\",tr&&this.throwError(\"too many arguments\"+i,L.errors.UNEXPECTED_ARGUMENT,{count:t,expectedCount:r})}checkNew(t,r){(t===Object||t==null)&&this.throwError(\"missing new\",L.errors.MISSING_NEW,{name:r.name})}checkAbstract(t,r){t===r?this.throwError(\"cannot instantiate abstract class \"+JSON.stringify(r.name)+\" directly; use a sub-class\",L.errors.UNSUPPORTED_OPERATION,{name:t.name,operation:\"new\"}):(t===Object||t==null)&&this.throwError(\"missing new\",L.errors.MISSING_NEW,{name:r.name})}static globalLogger(){return gi||(gi=new L(y0)),gi}static setCensorship(t,r){if(!t&&r&&this.globalLogger().throwError(\"cannot permanently disable censorship\",L.errors.UNSUPPORTED_OPERATION,{operation:\"setCensorship\"}),Dn){if(!t)return;this.globalLogger().throwError(\"error censorship permanent\",L.errors.UNSUPPORTED_OPERATION,{operation:\"setCensorship\"})}Fn=!!t,Dn=!!r}static setLogLevel(t){const r=Cr[t.toLowerCase()];if(r==null){L.globalLogger().warn(\"invalid log level - \"+t);return}Tn=r}static from(t){return new L(t)}}L.errors=re,L.levels=Ai;const x0=\"bytes/5.7.0\",Dt=new L(x0);function qn(e){return!!e.toHexString}function rr(e){return e.slice||(e.slice=function(){const t=Array.prototype.slice.call(arguments);return rr(new Uint8Array(Array.prototype.slice.apply(e,t)))}),e}function M0(e){return Qt(e)&&!(e.length%2)||ir(e)}function Kn(e){return typeof e==\"number\"&&e==e&&e%1===0}function ir(e){if(e==null)return!1;if(e.constructor===Uint8Array)return!0;if(typeof e==\"string\"||!Kn(e.length)||e.length<0)return!1;for(let t=0;t=256)return!1}return!0}function Ot(e,t){if(t||(t={}),typeof e==\"number\"){Dt.checkSafeUint53(e,\"invalid arrayify value\");const r=[];for(;e;)r.unshift(e&255),e=parseInt(String(e/256));return r.length===0&&r.push(0),rr(new Uint8Array(r))}if(t.allowMissingPrefix&&typeof e==\"string\"&&e.substring(0,2)!==\"0x\"&&(e=\"0x\"+e),qn(e)&&(e=e.toHexString()),Qt(e)){let r=e.substring(2);r.length%2&&(t.hexPad===\"left\"?r=\"0\"+r:t.hexPad===\"right\"?r+=\"0\":Dt.throwArgumentError(\"hex data is odd-length\",\"value\",e));const i=[];for(let n=0;nOt(n)),r=t.reduce((n,o)=>n+o.length,0),i=new Uint8Array(r);return t.reduce((n,o)=>(i.set(o,n),n+o.length),0),rr(i)}function S0(e,t){e=Ot(e),e.length>t&&Dt.throwArgumentError(\"value out of range\",\"value\",arguments[0]);const r=new Uint8Array(t);return r.set(e,t-e.length),rr(r)}function Qt(e,t){return!(typeof e!=\"string\"||!e.match(/^0x[0-9A-Fa-f]*$/)||t&&e.length!==2+2*t)}const bi=\"0123456789abcdef\";function Kt(e,t){if(t||(t={}),typeof e==\"number\"){Dt.checkSafeUint53(e,\"invalid hexlify value\");let r=\"\";for(;e;)r=bi[e&15]+r,e=Math.floor(e/16);return r.length?(r.length%2&&(r=\"0\"+r),\"0x\"+r):\"0x00\"}if(typeof e==\"bigint\")return e=e.toString(16),e.length%2?\"0x0\"+e:\"0x\"+e;if(t.allowMissingPrefix&&typeof e==\"string\"&&e.substring(0,2)!==\"0x\"&&(e=\"0x\"+e),qn(e))return e.toHexString();if(Qt(e))return e.length%2&&(t.hexPad===\"left\"?e=\"0x0\"+e.substring(2):t.hexPad===\"right\"?e+=\"0\":Dt.throwArgumentError(\"hex data is odd-length\",\"value\",e)),e.toLowerCase();if(ir(e)){let r=\"0x\";for(let i=0;i>4]+bi[n&15]}return r}return Dt.throwArgumentError(\"invalid hexlify value\",\"value\",e)}function N0(e){if(typeof e!=\"string\")e=Kt(e);else if(!Qt(e)||e.length%2)return null;return(e.length-2)/2}function Hn(e,t,r){return typeof e!=\"string\"?e=Kt(e):(!Qt(e)||e.length%2)&&Dt.throwArgumentError(\"invalid hexData\",\"value\",e),t=2+2*t,r!=null?\"0x\"+e.substring(t,2+2*r):\"0x\"+e.substring(t)}function oe(e,t){for(typeof e!=\"string\"?e=Kt(e):Qt(e)||Dt.throwArgumentError(\"invalid hex string\",\"value\",e),e.length>2*t+2&&Dt.throwArgumentError(\"value out of range\",\"value\",arguments[1]);e.length<2*t+2;)e=\"0x0\"+e.substring(2);return e}function zn(e){const t={r:\"0x\",s:\"0x\",_vs:\"0x\",recoveryParam:0,v:0,yParityAndS:\"0x\",compact:\"0x\"};if(M0(e)){let r=Ot(e);r.length===64?(t.v=27+(r[32]>>7),r[32]&=127,t.r=Kt(r.slice(0,32)),t.s=Kt(r.slice(32,64))):r.length===65?(t.r=Kt(r.slice(0,32)),t.s=Kt(r.slice(32,64)),t.v=r[64]):Dt.throwArgumentError(\"invalid signature string\",\"signature\",e),t.v<27&&(t.v===0||t.v===1?t.v+=27:Dt.throwArgumentError(\"signature invalid v byte\",\"signature\",e)),t.recoveryParam=1-t.v%2,t.recoveryParam&&(r[32]|=128),t._vs=Kt(r.slice(32,64))}else{if(t.r=e.r,t.s=e.s,t.v=e.v,t.recoveryParam=e.recoveryParam,t._vs=e._vs,t._vs!=null){const n=S0(Ot(t._vs),32);t._vs=Kt(n);const o=n[0]>=128?1:0;t.recoveryParam==null?t.recoveryParam=o:t.recoveryParam!==o&&Dt.throwArgumentError(\"signature recoveryParam mismatch _vs\",\"signature\",e),n[0]&=127;const h=Kt(n);t.s==null?t.s=h:t.s!==h&&Dt.throwArgumentError(\"signature v mismatch _vs\",\"signature\",e)}if(t.recoveryParam==null)t.v==null?Dt.throwArgumentError(\"signature missing v and recoveryParam\",\"signature\",e):t.v===0||t.v===1?t.recoveryParam=t.v:t.recoveryParam=1-t.v%2;else if(t.v==null)t.v=27+t.recoveryParam;else{const n=t.v===0||t.v===1?t.v:1-t.v%2;t.recoveryParam!==n&&Dt.throwArgumentError(\"signature recoveryParam mismatch v\",\"signature\",e)}t.r==null||!Qt(t.r)?Dt.throwArgumentError(\"signature missing or invalid r\",\"signature\",e):t.r=oe(t.r,32),t.s==null||!Qt(t.s)?Dt.throwArgumentError(\"signature missing or invalid s\",\"signature\",e):t.s=oe(t.s,32);const r=Ot(t.s);r[0]>=128&&Dt.throwArgumentError(\"signature s out of range\",\"signature\",e),t.recoveryParam&&(r[0]|=128);const i=Kt(r);t._vs&&(Qt(t._vs)||Dt.throwArgumentError(\"signature invalid _vs\",\"signature\",e),t._vs=oe(t._vs,32)),t._vs==null?t._vs=i:t._vs!==i&&Dt.throwArgumentError(\"signature _vs mismatch v and s\",\"signature\",e)}return t.yParityAndS=t._vs,t.compact=t.r+t.yParityAndS.substring(2),t}function yi(e){return\"0x\"+b0.keccak_256(Ot(e))}var Ln={exports:{}},I0={},_0=Object.freeze({__proto__:null,default:I0}),B0=A0(_0);(function(e){(function(t,r){function i(A,f){if(!A)throw new Error(f||\"Assertion failed\")}function n(A,f){A.super_=f;var a=function(){};a.prototype=f.prototype,A.prototype=new a,A.prototype.constructor=A}function o(A,f,a){if(o.isBN(A))return A;this.negative=0,this.words=null,this.length=0,this.red=null,A!==null&&((f===\"le\"||f===\"be\")&&(a=f,f=10),this._init(A||0,f||10,a||\"be\"))}typeof t==\"object\"?t.exports=o:r.BN=o,o.BN=o,o.wordSize=26;var h;try{typeof window<\"u\"&&typeof window.Buffer<\"u\"?h=window.Buffer:h=B0.Buffer}catch{}o.isBN=function(f){return f instanceof o?!0:f!==null&&typeof f==\"object\"&&f.constructor.wordSize===o.wordSize&&Array.isArray(f.words)},o.max=function(f,a){return f.cmp(a)>0?f:a},o.min=function(f,a){return f.cmp(a)<0?f:a},o.prototype._init=function(f,a,c){if(typeof f==\"number\")return this._initNumber(f,a,c);if(typeof f==\"object\")return this._initArray(f,a,c);a===\"hex\"&&(a=16),i(a===(a|0)&&a>=2&&a<=36),f=f.toString().replace(/\\s+/g,\"\");var d=0;f[0]===\"-\"&&(d++,this.negative=1),d=0;d-=3)x=f[d]|f[d-1]<<8|f[d-2]<<16,this.words[g]|=x<>>26-M&67108863,M+=24,M>=26&&(M-=26,g++);else if(c===\"le\")for(d=0,g=0;d>>26-M&67108863,M+=24,M>=26&&(M-=26,g++);return this._strip()};function p(A,f){var a=A.charCodeAt(f);if(a>=48&&a<=57)return a-48;if(a>=65&&a<=70)return a-55;if(a>=97&&a<=102)return a-87;i(!1,\"Invalid character in \"+A)}function b(A,f,a){var c=p(A,a);return a-1>=f&&(c|=p(A,a-1)<<4),c}o.prototype._parseHex=function(f,a,c){this.length=Math.ceil((f.length-a)/6),this.words=new Array(this.length);for(var d=0;d=a;d-=2)M=b(f,a,d)<=18?(g-=18,x+=1,this.words[x]|=M>>>26):g+=8;else{var l=f.length-a;for(d=l%2===0?a+1:a;d=18?(g-=18,x+=1,this.words[x]|=M>>>26):g+=8}this._strip()};function m(A,f,a,c){for(var d=0,g=0,x=Math.min(A.length,a),M=f;M=49?g=l-49+10:l>=17?g=l-17+10:g=l,i(l>=0&&g1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},o.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<\"u\"&&typeof Symbol.for==\"function\")try{o.prototype[Symbol.for(\"nodejs.util.inspect.custom\")]=y}catch{o.prototype.inspect=y}else o.prototype.inspect=y;function y(){return(this.red?\"\"}var S=[\"\",\"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\"],I=[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],N=[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,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];o.prototype.toString=function(f,a){f=f||10,a=a|0||1;var c;if(f===16||f===\"hex\"){c=\"\";for(var d=0,g=0,x=0;x>>24-d&16777215,d+=2,d>=26&&(d-=26,x--),g!==0||x!==this.length-1?c=S[6-l.length]+l+c:c=l+c}for(g!==0&&(c=g.toString(16)+c);c.length%a!==0;)c=\"0\"+c;return this.negative!==0&&(c=\"-\"+c),c}if(f===(f|0)&&f>=2&&f<=36){var s=I[f],v=N[f];c=\"\";var k=this.clone();for(k.negative=0;!k.isZero();){var u=k.modrn(v).toString(f);k=k.idivn(v),k.isZero()?c=u+c:c=S[s-u.length]+u+c}for(this.isZero()&&(c=\"0\"+c);c.length%a!==0;)c=\"0\"+c;return this.negative!==0&&(c=\"-\"+c),c}i(!1,\"Base should be between 2 and 36\")},o.prototype.toNumber=function(){var f=this.words[0];return this.length===2?f+=this.words[1]*67108864:this.length===3&&this.words[2]===1?f+=4503599627370496+this.words[1]*67108864:this.length>2&&i(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0?-f:f},o.prototype.toJSON=function(){return this.toString(16,2)},h&&(o.prototype.toBuffer=function(f,a){return this.toArrayLike(h,f,a)}),o.prototype.toArray=function(f,a){return this.toArrayLike(Array,f,a)};var C=function(f,a){return f.allocUnsafe?f.allocUnsafe(a):new f(a)};o.prototype.toArrayLike=function(f,a,c){this._strip();var d=this.byteLength(),g=c||Math.max(1,d);i(d<=g,\"byte array longer than desired length\"),i(g>0,\"Requested array length <= 0\");var x=C(f,g),M=a===\"le\"?\"LE\":\"BE\";return this[\"_toArrayLike\"+M](x,d),x},o.prototype._toArrayLikeLE=function(f,a){for(var c=0,d=0,g=0,x=0;g>8&255),c>16&255),x===6?(c>24&255),d=0,x=0):(d=M>>>24,x+=2)}if(c=0&&(f[c--]=M>>8&255),c>=0&&(f[c--]=M>>16&255),x===6?(c>=0&&(f[c--]=M>>24&255),d=0,x=0):(d=M>>>24,x+=2)}if(c>=0)for(f[c--]=d;c>=0;)f[c--]=0},Math.clz32?o.prototype._countBits=function(f){return 32-Math.clz32(f)}:o.prototype._countBits=function(f){var a=f,c=0;return a>=4096&&(c+=13,a>>>=13),a>=64&&(c+=7,a>>>=7),a>=8&&(c+=4,a>>>=4),a>=2&&(c+=2,a>>>=2),c+a},o.prototype._zeroBits=function(f){if(f===0)return 26;var a=f,c=0;return a&8191||(c+=13,a>>>=13),a&127||(c+=7,a>>>=7),a&15||(c+=4,a>>>=4),a&3||(c+=2,a>>>=2),a&1||c++,c},o.prototype.bitLength=function(){var f=this.words[this.length-1],a=this._countBits(f);return(this.length-1)*26+a};function F(A){for(var f=new Array(A.bitLength()),a=0;a>>d&1}return f}o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var f=0,a=0;af.length?this.clone().ior(f):f.clone().ior(this)},o.prototype.uor=function(f){return this.length>f.length?this.clone().iuor(f):f.clone().iuor(this)},o.prototype.iuand=function(f){var a;this.length>f.length?a=f:a=this;for(var c=0;cf.length?this.clone().iand(f):f.clone().iand(this)},o.prototype.uand=function(f){return this.length>f.length?this.clone().iuand(f):f.clone().iuand(this)},o.prototype.iuxor=function(f){var a,c;this.length>f.length?(a=this,c=f):(a=f,c=this);for(var d=0;df.length?this.clone().ixor(f):f.clone().ixor(this)},o.prototype.uxor=function(f){return this.length>f.length?this.clone().iuxor(f):f.clone().iuxor(this)},o.prototype.inotn=function(f){i(typeof f==\"number\"&&f>=0);var a=Math.ceil(f/26)|0,c=f%26;this._expand(a),c>0&&a--;for(var d=0;d0&&(this.words[d]=~this.words[d]&67108863>>26-c),this._strip()},o.prototype.notn=function(f){return this.clone().inotn(f)},o.prototype.setn=function(f,a){i(typeof f==\"number\"&&f>=0);var c=f/26|0,d=f%26;return this._expand(c+1),a?this.words[c]=this.words[c]|1<f.length?(c=this,d=f):(c=f,d=this);for(var g=0,x=0;x>>26;for(;g!==0&&x>>26;if(this.length=c.length,g!==0)this.words[this.length]=g,this.length++;else if(c!==this)for(;xf.length?this.clone().iadd(f):f.clone().iadd(this)},o.prototype.isub=function(f){if(f.negative!==0){f.negative=0;var a=this.iadd(f);return f.negative=1,a._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(f),this.negative=1,this._normSign();var c=this.cmp(f);if(c===0)return this.negative=0,this.length=1,this.words[0]=0,this;var d,g;c>0?(d=this,g=f):(d=f,g=this);for(var x=0,M=0;M>26,this.words[M]=a&67108863;for(;x!==0&&M>26,this.words[M]=a&67108863;if(x===0&&M>>26,k=l&67108863,u=Math.min(s,f.length-1),E=Math.max(0,s-A.length+1);E<=u;E++){var _=s-E|0;d=A.words[_]|0,g=f.words[E]|0,x=d*g+k,v+=x/67108864|0,k=x&67108863}a.words[s]=k|0,l=v|0}return l!==0?a.words[s]=l|0:a.length--,a._strip()}var J=function(f,a,c){var d=f.words,g=a.words,x=c.words,M=0,l,s,v,k=d[0]|0,u=k&8191,E=k>>>13,_=d[1]|0,B=_&8191,R=_>>>13,T=d[2]|0,P=T&8191,O=T>>>13,Ct=d[3]|0,D=Ct&8191,q=Ct>>>13,De=d[4]|0,X=De&8191,Z=De>>>13,Fe=d[5]|0,$=Fe&8191,tt=Fe>>>13,Te=d[6]|0,et=Te&8191,rt=Te>>>13,Ue=d[7]|0,it=Ue&8191,nt=Ue>>>13,ke=d[8]|0,ft=ke&8191,ot=ke>>>13,qe=d[9]|0,st=qe&8191,at=qe>>>13,Ke=g[0]|0,ut=Ke&8191,ht=Ke>>>13,He=g[1]|0,ct=He&8191,lt=He>>>13,ze=g[2]|0,dt=ze&8191,pt=ze>>>13,Le=g[3]|0,vt=Le&8191,mt=Le>>>13,je=g[4]|0,gt=je&8191,At=je>>>13,Qe=g[5]|0,bt=Qe&8191,yt=Qe>>>13,Je=g[6]|0,wt=Je&8191,xt=Je>>>13,Ge=g[7]|0,Mt=Ge&8191,Et=Ge>>>13,Ye=g[8]|0,St=Ye&8191,Nt=Ye>>>13,Ve=g[9]|0,It=Ve&8191,_t=Ve>>>13;c.negative=f.negative^a.negative,c.length=19,l=Math.imul(u,ut),s=Math.imul(u,ht),s=s+Math.imul(E,ut)|0,v=Math.imul(E,ht);var Me=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(Me>>>26)|0,Me&=67108863,l=Math.imul(B,ut),s=Math.imul(B,ht),s=s+Math.imul(R,ut)|0,v=Math.imul(R,ht),l=l+Math.imul(u,ct)|0,s=s+Math.imul(u,lt)|0,s=s+Math.imul(E,ct)|0,v=v+Math.imul(E,lt)|0;var Ee=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,l=Math.imul(P,ut),s=Math.imul(P,ht),s=s+Math.imul(O,ut)|0,v=Math.imul(O,ht),l=l+Math.imul(B,ct)|0,s=s+Math.imul(B,lt)|0,s=s+Math.imul(R,ct)|0,v=v+Math.imul(R,lt)|0,l=l+Math.imul(u,dt)|0,s=s+Math.imul(u,pt)|0,s=s+Math.imul(E,dt)|0,v=v+Math.imul(E,pt)|0;var Se=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(Se>>>26)|0,Se&=67108863,l=Math.imul(D,ut),s=Math.imul(D,ht),s=s+Math.imul(q,ut)|0,v=Math.imul(q,ht),l=l+Math.imul(P,ct)|0,s=s+Math.imul(P,lt)|0,s=s+Math.imul(O,ct)|0,v=v+Math.imul(O,lt)|0,l=l+Math.imul(B,dt)|0,s=s+Math.imul(B,pt)|0,s=s+Math.imul(R,dt)|0,v=v+Math.imul(R,pt)|0,l=l+Math.imul(u,vt)|0,s=s+Math.imul(u,mt)|0,s=s+Math.imul(E,vt)|0,v=v+Math.imul(E,mt)|0;var Ne=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,l=Math.imul(X,ut),s=Math.imul(X,ht),s=s+Math.imul(Z,ut)|0,v=Math.imul(Z,ht),l=l+Math.imul(D,ct)|0,s=s+Math.imul(D,lt)|0,s=s+Math.imul(q,ct)|0,v=v+Math.imul(q,lt)|0,l=l+Math.imul(P,dt)|0,s=s+Math.imul(P,pt)|0,s=s+Math.imul(O,dt)|0,v=v+Math.imul(O,pt)|0,l=l+Math.imul(B,vt)|0,s=s+Math.imul(B,mt)|0,s=s+Math.imul(R,vt)|0,v=v+Math.imul(R,mt)|0,l=l+Math.imul(u,gt)|0,s=s+Math.imul(u,At)|0,s=s+Math.imul(E,gt)|0,v=v+Math.imul(E,At)|0;var Ie=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,l=Math.imul($,ut),s=Math.imul($,ht),s=s+Math.imul(tt,ut)|0,v=Math.imul(tt,ht),l=l+Math.imul(X,ct)|0,s=s+Math.imul(X,lt)|0,s=s+Math.imul(Z,ct)|0,v=v+Math.imul(Z,lt)|0,l=l+Math.imul(D,dt)|0,s=s+Math.imul(D,pt)|0,s=s+Math.imul(q,dt)|0,v=v+Math.imul(q,pt)|0,l=l+Math.imul(P,vt)|0,s=s+Math.imul(P,mt)|0,s=s+Math.imul(O,vt)|0,v=v+Math.imul(O,mt)|0,l=l+Math.imul(B,gt)|0,s=s+Math.imul(B,At)|0,s=s+Math.imul(R,gt)|0,v=v+Math.imul(R,At)|0,l=l+Math.imul(u,bt)|0,s=s+Math.imul(u,yt)|0,s=s+Math.imul(E,bt)|0,v=v+Math.imul(E,yt)|0;var Wr=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(Wr>>>26)|0,Wr&=67108863,l=Math.imul(et,ut),s=Math.imul(et,ht),s=s+Math.imul(rt,ut)|0,v=Math.imul(rt,ht),l=l+Math.imul($,ct)|0,s=s+Math.imul($,lt)|0,s=s+Math.imul(tt,ct)|0,v=v+Math.imul(tt,lt)|0,l=l+Math.imul(X,dt)|0,s=s+Math.imul(X,pt)|0,s=s+Math.imul(Z,dt)|0,v=v+Math.imul(Z,pt)|0,l=l+Math.imul(D,vt)|0,s=s+Math.imul(D,mt)|0,s=s+Math.imul(q,vt)|0,v=v+Math.imul(q,mt)|0,l=l+Math.imul(P,gt)|0,s=s+Math.imul(P,At)|0,s=s+Math.imul(O,gt)|0,v=v+Math.imul(O,At)|0,l=l+Math.imul(B,bt)|0,s=s+Math.imul(B,yt)|0,s=s+Math.imul(R,bt)|0,v=v+Math.imul(R,yt)|0,l=l+Math.imul(u,wt)|0,s=s+Math.imul(u,xt)|0,s=s+Math.imul(E,wt)|0,v=v+Math.imul(E,xt)|0;var Xr=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(Xr>>>26)|0,Xr&=67108863,l=Math.imul(it,ut),s=Math.imul(it,ht),s=s+Math.imul(nt,ut)|0,v=Math.imul(nt,ht),l=l+Math.imul(et,ct)|0,s=s+Math.imul(et,lt)|0,s=s+Math.imul(rt,ct)|0,v=v+Math.imul(rt,lt)|0,l=l+Math.imul($,dt)|0,s=s+Math.imul($,pt)|0,s=s+Math.imul(tt,dt)|0,v=v+Math.imul(tt,pt)|0,l=l+Math.imul(X,vt)|0,s=s+Math.imul(X,mt)|0,s=s+Math.imul(Z,vt)|0,v=v+Math.imul(Z,mt)|0,l=l+Math.imul(D,gt)|0,s=s+Math.imul(D,At)|0,s=s+Math.imul(q,gt)|0,v=v+Math.imul(q,At)|0,l=l+Math.imul(P,bt)|0,s=s+Math.imul(P,yt)|0,s=s+Math.imul(O,bt)|0,v=v+Math.imul(O,yt)|0,l=l+Math.imul(B,wt)|0,s=s+Math.imul(B,xt)|0,s=s+Math.imul(R,wt)|0,v=v+Math.imul(R,xt)|0,l=l+Math.imul(u,Mt)|0,s=s+Math.imul(u,Et)|0,s=s+Math.imul(E,Mt)|0,v=v+Math.imul(E,Et)|0;var Zr=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(Zr>>>26)|0,Zr&=67108863,l=Math.imul(ft,ut),s=Math.imul(ft,ht),s=s+Math.imul(ot,ut)|0,v=Math.imul(ot,ht),l=l+Math.imul(it,ct)|0,s=s+Math.imul(it,lt)|0,s=s+Math.imul(nt,ct)|0,v=v+Math.imul(nt,lt)|0,l=l+Math.imul(et,dt)|0,s=s+Math.imul(et,pt)|0,s=s+Math.imul(rt,dt)|0,v=v+Math.imul(rt,pt)|0,l=l+Math.imul($,vt)|0,s=s+Math.imul($,mt)|0,s=s+Math.imul(tt,vt)|0,v=v+Math.imul(tt,mt)|0,l=l+Math.imul(X,gt)|0,s=s+Math.imul(X,At)|0,s=s+Math.imul(Z,gt)|0,v=v+Math.imul(Z,At)|0,l=l+Math.imul(D,bt)|0,s=s+Math.imul(D,yt)|0,s=s+Math.imul(q,bt)|0,v=v+Math.imul(q,yt)|0,l=l+Math.imul(P,wt)|0,s=s+Math.imul(P,xt)|0,s=s+Math.imul(O,wt)|0,v=v+Math.imul(O,xt)|0,l=l+Math.imul(B,Mt)|0,s=s+Math.imul(B,Et)|0,s=s+Math.imul(R,Mt)|0,v=v+Math.imul(R,Et)|0,l=l+Math.imul(u,St)|0,s=s+Math.imul(u,Nt)|0,s=s+Math.imul(E,St)|0,v=v+Math.imul(E,Nt)|0;var $r=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+($r>>>26)|0,$r&=67108863,l=Math.imul(st,ut),s=Math.imul(st,ht),s=s+Math.imul(at,ut)|0,v=Math.imul(at,ht),l=l+Math.imul(ft,ct)|0,s=s+Math.imul(ft,lt)|0,s=s+Math.imul(ot,ct)|0,v=v+Math.imul(ot,lt)|0,l=l+Math.imul(it,dt)|0,s=s+Math.imul(it,pt)|0,s=s+Math.imul(nt,dt)|0,v=v+Math.imul(nt,pt)|0,l=l+Math.imul(et,vt)|0,s=s+Math.imul(et,mt)|0,s=s+Math.imul(rt,vt)|0,v=v+Math.imul(rt,mt)|0,l=l+Math.imul($,gt)|0,s=s+Math.imul($,At)|0,s=s+Math.imul(tt,gt)|0,v=v+Math.imul(tt,At)|0,l=l+Math.imul(X,bt)|0,s=s+Math.imul(X,yt)|0,s=s+Math.imul(Z,bt)|0,v=v+Math.imul(Z,yt)|0,l=l+Math.imul(D,wt)|0,s=s+Math.imul(D,xt)|0,s=s+Math.imul(q,wt)|0,v=v+Math.imul(q,xt)|0,l=l+Math.imul(P,Mt)|0,s=s+Math.imul(P,Et)|0,s=s+Math.imul(O,Mt)|0,v=v+Math.imul(O,Et)|0,l=l+Math.imul(B,St)|0,s=s+Math.imul(B,Nt)|0,s=s+Math.imul(R,St)|0,v=v+Math.imul(R,Nt)|0,l=l+Math.imul(u,It)|0,s=s+Math.imul(u,_t)|0,s=s+Math.imul(E,It)|0,v=v+Math.imul(E,_t)|0;var ti=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(ti>>>26)|0,ti&=67108863,l=Math.imul(st,ct),s=Math.imul(st,lt),s=s+Math.imul(at,ct)|0,v=Math.imul(at,lt),l=l+Math.imul(ft,dt)|0,s=s+Math.imul(ft,pt)|0,s=s+Math.imul(ot,dt)|0,v=v+Math.imul(ot,pt)|0,l=l+Math.imul(it,vt)|0,s=s+Math.imul(it,mt)|0,s=s+Math.imul(nt,vt)|0,v=v+Math.imul(nt,mt)|0,l=l+Math.imul(et,gt)|0,s=s+Math.imul(et,At)|0,s=s+Math.imul(rt,gt)|0,v=v+Math.imul(rt,At)|0,l=l+Math.imul($,bt)|0,s=s+Math.imul($,yt)|0,s=s+Math.imul(tt,bt)|0,v=v+Math.imul(tt,yt)|0,l=l+Math.imul(X,wt)|0,s=s+Math.imul(X,xt)|0,s=s+Math.imul(Z,wt)|0,v=v+Math.imul(Z,xt)|0,l=l+Math.imul(D,Mt)|0,s=s+Math.imul(D,Et)|0,s=s+Math.imul(q,Mt)|0,v=v+Math.imul(q,Et)|0,l=l+Math.imul(P,St)|0,s=s+Math.imul(P,Nt)|0,s=s+Math.imul(O,St)|0,v=v+Math.imul(O,Nt)|0,l=l+Math.imul(B,It)|0,s=s+Math.imul(B,_t)|0,s=s+Math.imul(R,It)|0,v=v+Math.imul(R,_t)|0;var ei=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(ei>>>26)|0,ei&=67108863,l=Math.imul(st,dt),s=Math.imul(st,pt),s=s+Math.imul(at,dt)|0,v=Math.imul(at,pt),l=l+Math.imul(ft,vt)|0,s=s+Math.imul(ft,mt)|0,s=s+Math.imul(ot,vt)|0,v=v+Math.imul(ot,mt)|0,l=l+Math.imul(it,gt)|0,s=s+Math.imul(it,At)|0,s=s+Math.imul(nt,gt)|0,v=v+Math.imul(nt,At)|0,l=l+Math.imul(et,bt)|0,s=s+Math.imul(et,yt)|0,s=s+Math.imul(rt,bt)|0,v=v+Math.imul(rt,yt)|0,l=l+Math.imul($,wt)|0,s=s+Math.imul($,xt)|0,s=s+Math.imul(tt,wt)|0,v=v+Math.imul(tt,xt)|0,l=l+Math.imul(X,Mt)|0,s=s+Math.imul(X,Et)|0,s=s+Math.imul(Z,Mt)|0,v=v+Math.imul(Z,Et)|0,l=l+Math.imul(D,St)|0,s=s+Math.imul(D,Nt)|0,s=s+Math.imul(q,St)|0,v=v+Math.imul(q,Nt)|0,l=l+Math.imul(P,It)|0,s=s+Math.imul(P,_t)|0,s=s+Math.imul(O,It)|0,v=v+Math.imul(O,_t)|0;var ri=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(ri>>>26)|0,ri&=67108863,l=Math.imul(st,vt),s=Math.imul(st,mt),s=s+Math.imul(at,vt)|0,v=Math.imul(at,mt),l=l+Math.imul(ft,gt)|0,s=s+Math.imul(ft,At)|0,s=s+Math.imul(ot,gt)|0,v=v+Math.imul(ot,At)|0,l=l+Math.imul(it,bt)|0,s=s+Math.imul(it,yt)|0,s=s+Math.imul(nt,bt)|0,v=v+Math.imul(nt,yt)|0,l=l+Math.imul(et,wt)|0,s=s+Math.imul(et,xt)|0,s=s+Math.imul(rt,wt)|0,v=v+Math.imul(rt,xt)|0,l=l+Math.imul($,Mt)|0,s=s+Math.imul($,Et)|0,s=s+Math.imul(tt,Mt)|0,v=v+Math.imul(tt,Et)|0,l=l+Math.imul(X,St)|0,s=s+Math.imul(X,Nt)|0,s=s+Math.imul(Z,St)|0,v=v+Math.imul(Z,Nt)|0,l=l+Math.imul(D,It)|0,s=s+Math.imul(D,_t)|0,s=s+Math.imul(q,It)|0,v=v+Math.imul(q,_t)|0;var ii=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(ii>>>26)|0,ii&=67108863,l=Math.imul(st,gt),s=Math.imul(st,At),s=s+Math.imul(at,gt)|0,v=Math.imul(at,At),l=l+Math.imul(ft,bt)|0,s=s+Math.imul(ft,yt)|0,s=s+Math.imul(ot,bt)|0,v=v+Math.imul(ot,yt)|0,l=l+Math.imul(it,wt)|0,s=s+Math.imul(it,xt)|0,s=s+Math.imul(nt,wt)|0,v=v+Math.imul(nt,xt)|0,l=l+Math.imul(et,Mt)|0,s=s+Math.imul(et,Et)|0,s=s+Math.imul(rt,Mt)|0,v=v+Math.imul(rt,Et)|0,l=l+Math.imul($,St)|0,s=s+Math.imul($,Nt)|0,s=s+Math.imul(tt,St)|0,v=v+Math.imul(tt,Nt)|0,l=l+Math.imul(X,It)|0,s=s+Math.imul(X,_t)|0,s=s+Math.imul(Z,It)|0,v=v+Math.imul(Z,_t)|0;var ni=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(ni>>>26)|0,ni&=67108863,l=Math.imul(st,bt),s=Math.imul(st,yt),s=s+Math.imul(at,bt)|0,v=Math.imul(at,yt),l=l+Math.imul(ft,wt)|0,s=s+Math.imul(ft,xt)|0,s=s+Math.imul(ot,wt)|0,v=v+Math.imul(ot,xt)|0,l=l+Math.imul(it,Mt)|0,s=s+Math.imul(it,Et)|0,s=s+Math.imul(nt,Mt)|0,v=v+Math.imul(nt,Et)|0,l=l+Math.imul(et,St)|0,s=s+Math.imul(et,Nt)|0,s=s+Math.imul(rt,St)|0,v=v+Math.imul(rt,Nt)|0,l=l+Math.imul($,It)|0,s=s+Math.imul($,_t)|0,s=s+Math.imul(tt,It)|0,v=v+Math.imul(tt,_t)|0;var fi=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(fi>>>26)|0,fi&=67108863,l=Math.imul(st,wt),s=Math.imul(st,xt),s=s+Math.imul(at,wt)|0,v=Math.imul(at,xt),l=l+Math.imul(ft,Mt)|0,s=s+Math.imul(ft,Et)|0,s=s+Math.imul(ot,Mt)|0,v=v+Math.imul(ot,Et)|0,l=l+Math.imul(it,St)|0,s=s+Math.imul(it,Nt)|0,s=s+Math.imul(nt,St)|0,v=v+Math.imul(nt,Nt)|0,l=l+Math.imul(et,It)|0,s=s+Math.imul(et,_t)|0,s=s+Math.imul(rt,It)|0,v=v+Math.imul(rt,_t)|0;var oi=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(oi>>>26)|0,oi&=67108863,l=Math.imul(st,Mt),s=Math.imul(st,Et),s=s+Math.imul(at,Mt)|0,v=Math.imul(at,Et),l=l+Math.imul(ft,St)|0,s=s+Math.imul(ft,Nt)|0,s=s+Math.imul(ot,St)|0,v=v+Math.imul(ot,Nt)|0,l=l+Math.imul(it,It)|0,s=s+Math.imul(it,_t)|0,s=s+Math.imul(nt,It)|0,v=v+Math.imul(nt,_t)|0;var si=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(si>>>26)|0,si&=67108863,l=Math.imul(st,St),s=Math.imul(st,Nt),s=s+Math.imul(at,St)|0,v=Math.imul(at,Nt),l=l+Math.imul(ft,It)|0,s=s+Math.imul(ft,_t)|0,s=s+Math.imul(ot,It)|0,v=v+Math.imul(ot,_t)|0;var ai=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(ai>>>26)|0,ai&=67108863,l=Math.imul(st,It),s=Math.imul(st,_t),s=s+Math.imul(at,It)|0,v=Math.imul(at,_t);var ui=(M+l|0)+((s&8191)<<13)|0;return M=(v+(s>>>13)|0)+(ui>>>26)|0,ui&=67108863,x[0]=Me,x[1]=Ee,x[2]=Se,x[3]=Ne,x[4]=Ie,x[5]=Wr,x[6]=Xr,x[7]=Zr,x[8]=$r,x[9]=ti,x[10]=ei,x[11]=ri,x[12]=ii,x[13]=ni,x[14]=fi,x[15]=oi,x[16]=si,x[17]=ai,x[18]=ui,M!==0&&(x[19]=M,c.length++),c};Math.imul||(J=U);function Bt(A,f,a){a.negative=f.negative^A.negative,a.length=A.length+f.length;for(var c=0,d=0,g=0;g>>26)|0,d+=x>>>26,x&=67108863}a.words[g]=M,c=x,x=d}return c!==0?a.words[g]=c:a.length--,a._strip()}function G(A,f,a){return Bt(A,f,a)}o.prototype.mulTo=function(f,a){var c,d=this.length+f.length;return this.length===10&&f.length===10?c=J(this,f,a):d<63?c=U(this,f,a):d<1024?c=Bt(this,f,a):c=G(this,f,a),c},o.prototype.mul=function(f){var a=new o(null);return a.words=new Array(this.length+f.length),this.mulTo(f,a)},o.prototype.mulf=function(f){var a=new o(null);return a.words=new Array(this.length+f.length),G(this,f,a)},o.prototype.imul=function(f){return this.clone().mulTo(f,this)},o.prototype.imuln=function(f){var a=f<0;a&&(f=-f),i(typeof f==\"number\"),i(f<67108864);for(var c=0,d=0;d>=26,c+=g/67108864|0,c+=x>>>26,this.words[d]=x&67108863}return c!==0&&(this.words[d]=c,this.length++),a?this.ineg():this},o.prototype.muln=function(f){return this.clone().imuln(f)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(f){var a=F(f);if(a.length===0)return new o(1);for(var c=this,d=0;d=0);var a=f%26,c=(f-a)/26,d=67108863>>>26-a<<26-a,g;if(a!==0){var x=0;for(g=0;g>>26-a}x&&(this.words[g]=x,this.length++)}if(c!==0){for(g=this.length-1;g>=0;g--)this.words[g+c]=this.words[g];for(g=0;g=0);var d;a?d=(a-a%26)/26:d=0;var g=f%26,x=Math.min((f-g)/26,this.length),M=67108863^67108863>>>g<x)for(this.length-=x,s=0;s=0&&(v!==0||s>=d);s--){var k=this.words[s]|0;this.words[s]=v<<26-g|k>>>g,v=k&M}return l&&v!==0&&(l.words[l.length++]=v),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},o.prototype.ishrn=function(f,a,c){return i(this.negative===0),this.iushrn(f,a,c)},o.prototype.shln=function(f){return this.clone().ishln(f)},o.prototype.ushln=function(f){return this.clone().iushln(f)},o.prototype.shrn=function(f){return this.clone().ishrn(f)},o.prototype.ushrn=function(f){return this.clone().iushrn(f)},o.prototype.testn=function(f){i(typeof f==\"number\"&&f>=0);var a=f%26,c=(f-a)/26,d=1<=0);var a=f%26,c=(f-a)/26;if(i(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=c)return this;if(a!==0&&c++,this.length=Math.min(c,this.length),a!==0){var d=67108863^67108863>>>a<=67108864;a++)this.words[a]-=67108864,a===this.length-1?this.words[a+1]=1:this.words[a+1]++;return this.length=Math.max(this.length,a+1),this},o.prototype.isubn=function(f){if(i(typeof f==\"number\"),i(f<67108864),f<0)return this.iaddn(-f);if(this.negative!==0)return this.negative=0,this.iaddn(f),this.negative=1,this;if(this.words[0]-=f,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var a=0;a>26)-(l/67108864|0),this.words[g+c]=x&67108863}for(;g>26,this.words[g+c]=x&67108863;if(M===0)return this._strip();for(i(M===-1),M=0,g=0;g>26,this.words[g]=x&67108863;return this.negative=1,this._strip()},o.prototype._wordDiv=function(f,a){var c=this.length-f.length,d=this.clone(),g=f,x=g.words[g.length-1]|0,M=this._countBits(x);c=26-M,c!==0&&(g=g.ushln(c),d.iushln(c),x=g.words[g.length-1]|0);var l=d.length-g.length,s;if(a!==\"mod\"){s=new o(null),s.length=l+1,s.words=new Array(s.length);for(var v=0;v=0;u--){var E=(d.words[g.length+u]|0)*67108864+(d.words[g.length+u-1]|0);for(E=Math.min(E/x|0,67108863),d._ishlnsubmul(g,E,u);d.negative!==0;)E--,d.negative=0,d._ishlnsubmul(g,1,u),d.isZero()||(d.negative^=1);s&&(s.words[u]=E)}return s&&s._strip(),d._strip(),a!==\"div\"&&c!==0&&d.iushrn(c),{div:s||null,mod:d}},o.prototype.divmod=function(f,a,c){if(i(!f.isZero()),this.isZero())return{div:new o(0),mod:new o(0)};var d,g,x;return this.negative!==0&&f.negative===0?(x=this.neg().divmod(f,a),a!==\"mod\"&&(d=x.div.neg()),a!==\"div\"&&(g=x.mod.neg(),c&&g.negative!==0&&g.iadd(f)),{div:d,mod:g}):this.negative===0&&f.negative!==0?(x=this.divmod(f.neg(),a),a!==\"mod\"&&(d=x.div.neg()),{div:d,mod:x.mod}):this.negative&f.negative?(x=this.neg().divmod(f.neg(),a),a!==\"div\"&&(g=x.mod.neg(),c&&g.negative!==0&&g.isub(f)),{div:x.div,mod:g}):f.length>this.length||this.cmp(f)<0?{div:new o(0),mod:this}:f.length===1?a===\"div\"?{div:this.divn(f.words[0]),mod:null}:a===\"mod\"?{div:null,mod:new o(this.modrn(f.words[0]))}:{div:this.divn(f.words[0]),mod:new o(this.modrn(f.words[0]))}:this._wordDiv(f,a)},o.prototype.div=function(f){return this.divmod(f,\"div\",!1).div},o.prototype.mod=function(f){return this.divmod(f,\"mod\",!1).mod},o.prototype.umod=function(f){return this.divmod(f,\"mod\",!0).mod},o.prototype.divRound=function(f){var a=this.divmod(f);if(a.mod.isZero())return a.div;var c=a.div.negative!==0?a.mod.isub(f):a.mod,d=f.ushrn(1),g=f.andln(1),x=c.cmp(d);return x<0||g===1&&x===0?a.div:a.div.negative!==0?a.div.isubn(1):a.div.iaddn(1)},o.prototype.modrn=function(f){var a=f<0;a&&(f=-f),i(f<=67108863);for(var c=(1<<26)%f,d=0,g=this.length-1;g>=0;g--)d=(c*d+(this.words[g]|0))%f;return a?-d:d},o.prototype.modn=function(f){return this.modrn(f)},o.prototype.idivn=function(f){var a=f<0;a&&(f=-f),i(f<=67108863);for(var c=0,d=this.length-1;d>=0;d--){var g=(this.words[d]|0)+c*67108864;this.words[d]=g/f|0,c=g%f}return this._strip(),a?this.ineg():this},o.prototype.divn=function(f){return this.clone().idivn(f)},o.prototype.egcd=function(f){i(f.negative===0),i(!f.isZero());var a=this,c=f.clone();a.negative!==0?a=a.umod(f):a=a.clone();for(var d=new o(1),g=new o(0),x=new o(0),M=new o(1),l=0;a.isEven()&&c.isEven();)a.iushrn(1),c.iushrn(1),++l;for(var s=c.clone(),v=a.clone();!a.isZero();){for(var k=0,u=1;!(a.words[0]&u)&&k<26;++k,u<<=1);if(k>0)for(a.iushrn(k);k-- >0;)(d.isOdd()||g.isOdd())&&(d.iadd(s),g.isub(v)),d.iushrn(1),g.iushrn(1);for(var E=0,_=1;!(c.words[0]&_)&&E<26;++E,_<<=1);if(E>0)for(c.iushrn(E);E-- >0;)(x.isOdd()||M.isOdd())&&(x.iadd(s),M.isub(v)),x.iushrn(1),M.iushrn(1);a.cmp(c)>=0?(a.isub(c),d.isub(x),g.isub(M)):(c.isub(a),x.isub(d),M.isub(g))}return{a:x,b:M,gcd:c.iushln(l)}},o.prototype._invmp=function(f){i(f.negative===0),i(!f.isZero());var a=this,c=f.clone();a.negative!==0?a=a.umod(f):a=a.clone();for(var d=new o(1),g=new o(0),x=c.clone();a.cmpn(1)>0&&c.cmpn(1)>0;){for(var M=0,l=1;!(a.words[0]&l)&&M<26;++M,l<<=1);if(M>0)for(a.iushrn(M);M-- >0;)d.isOdd()&&d.iadd(x),d.iushrn(1);for(var s=0,v=1;!(c.words[0]&v)&&s<26;++s,v<<=1);if(s>0)for(c.iushrn(s);s-- >0;)g.isOdd()&&g.iadd(x),g.iushrn(1);a.cmp(c)>=0?(a.isub(c),d.isub(g)):(c.isub(a),g.isub(d))}var k;return a.cmpn(1)===0?k=d:k=g,k.cmpn(0)<0&&k.iadd(f),k},o.prototype.gcd=function(f){if(this.isZero())return f.abs();if(f.isZero())return this.abs();var a=this.clone(),c=f.clone();a.negative=0,c.negative=0;for(var d=0;a.isEven()&&c.isEven();d++)a.iushrn(1),c.iushrn(1);do{for(;a.isEven();)a.iushrn(1);for(;c.isEven();)c.iushrn(1);var g=a.cmp(c);if(g<0){var x=a;a=c,c=x}else if(g===0||c.cmpn(1)===0)break;a.isub(c)}while(!0);return c.iushln(d)},o.prototype.invm=function(f){return this.egcd(f).a.umod(f)},o.prototype.isEven=function(){return(this.words[0]&1)===0},o.prototype.isOdd=function(){return(this.words[0]&1)===1},o.prototype.andln=function(f){return this.words[0]&f},o.prototype.bincn=function(f){i(typeof f==\"number\");var a=f%26,c=(f-a)/26,d=1<>>26,M&=67108863,this.words[x]=M}return g!==0&&(this.words[x]=g,this.length++),this},o.prototype.isZero=function(){return this.length===1&&this.words[0]===0},o.prototype.cmpn=function(f){var a=f<0;if(this.negative!==0&&!a)return-1;if(this.negative===0&&a)return 1;this._strip();var c;if(this.length>1)c=1;else{a&&(f=-f),i(f<=67108863,\"Number is too big\");var d=this.words[0]|0;c=d===f?0:df.length)return 1;if(this.length=0;c--){var d=this.words[c]|0,g=f.words[c]|0;if(d!==g){dg&&(a=1);break}}return a},o.prototype.gtn=function(f){return this.cmpn(f)===1},o.prototype.gt=function(f){return this.cmp(f)===1},o.prototype.gten=function(f){return this.cmpn(f)>=0},o.prototype.gte=function(f){return this.cmp(f)>=0},o.prototype.ltn=function(f){return this.cmpn(f)===-1},o.prototype.lt=function(f){return this.cmp(f)===-1},o.prototype.lten=function(f){return this.cmpn(f)<=0},o.prototype.lte=function(f){return this.cmp(f)<=0},o.prototype.eqn=function(f){return this.cmpn(f)===0},o.prototype.eq=function(f){return this.cmp(f)===0},o.red=function(f){return new Y(f)},o.prototype.toRed=function(f){return i(!this.red,\"Already a number in reduction context\"),i(this.negative===0,\"red works only with positives\"),f.convertTo(this)._forceRed(f)},o.prototype.fromRed=function(){return i(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},o.prototype._forceRed=function(f){return this.red=f,this},o.prototype.forceRed=function(f){return i(!this.red,\"Already a number in reduction context\"),this._forceRed(f)},o.prototype.redAdd=function(f){return i(this.red,\"redAdd works only with red numbers\"),this.red.add(this,f)},o.prototype.redIAdd=function(f){return i(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,f)},o.prototype.redSub=function(f){return i(this.red,\"redSub works only with red numbers\"),this.red.sub(this,f)},o.prototype.redISub=function(f){return i(this.red,\"redISub works only with red numbers\"),this.red.isub(this,f)},o.prototype.redShl=function(f){return i(this.red,\"redShl works only with red numbers\"),this.red.shl(this,f)},o.prototype.redMul=function(f){return i(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,f),this.red.mul(this,f)},o.prototype.redIMul=function(f){return i(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,f),this.red.imul(this,f)},o.prototype.redSqr=function(){return i(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return i(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return i(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return i(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return i(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(f){return i(this.red&&!f.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,f)};var H={k256:null,p224:null,p192:null,p25519:null};function z(A,f){this.name=A,this.p=new o(f,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}z.prototype._tmp=function(){var f=new o(null);return f.words=new Array(Math.ceil(this.n/13)),f},z.prototype.ireduce=function(f){var a=f,c;do this.split(a,this.tmp),a=this.imulK(a),a=a.iadd(this.tmp),c=a.bitLength();while(c>this.n);var d=c0?a.isub(this.p):a.strip!==void 0?a.strip():a._strip(),a},z.prototype.split=function(f,a){f.iushrn(this.n,0,a)},z.prototype.imulK=function(f){return f.imul(this.k)};function Pt(){z.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}n(Pt,z),Pt.prototype.split=function(f,a){for(var c=4194303,d=Math.min(f.length,9),g=0;g>>22,x=M}x>>>=22,f.words[g-10]=x,x===0&&f.length>10?f.length-=10:f.length-=9},Pt.prototype.imulK=function(f){f.words[f.length]=0,f.words[f.length+1]=0,f.length+=2;for(var a=0,c=0;c>>=26,f.words[c]=g,a=d}return a!==0&&(f.words[f.length++]=a),f},o._prime=function(f){if(H[f])return H[f];var a;if(f===\"k256\")a=new Pt;else if(f===\"p224\")a=new W;else if(f===\"p192\")a=new Rt;else if(f===\"p25519\")a=new Yt;else throw new Error(\"Unknown prime \"+f);return H[f]=a,a};function Y(A){if(typeof A==\"string\"){var f=o._prime(A);this.m=f.p,this.prime=f}else i(A.gtn(1),\"modulus must be greater than 1\"),this.m=A,this.prime=null}Y.prototype._verify1=function(f){i(f.negative===0,\"red works only with positives\"),i(f.red,\"red works only with red numbers\")},Y.prototype._verify2=function(f,a){i((f.negative|a.negative)===0,\"red works only with positives\"),i(f.red&&f.red===a.red,\"red works only with red numbers\")},Y.prototype.imod=function(f){return this.prime?this.prime.ireduce(f)._forceRed(this):(w(f,f.umod(this.m)._forceRed(this)),f)},Y.prototype.neg=function(f){return f.isZero()?f.clone():this.m.sub(f)._forceRed(this)},Y.prototype.add=function(f,a){this._verify2(f,a);var c=f.add(a);return c.cmp(this.m)>=0&&c.isub(this.m),c._forceRed(this)},Y.prototype.iadd=function(f,a){this._verify2(f,a);var c=f.iadd(a);return c.cmp(this.m)>=0&&c.isub(this.m),c},Y.prototype.sub=function(f,a){this._verify2(f,a);var c=f.sub(a);return c.cmpn(0)<0&&c.iadd(this.m),c._forceRed(this)},Y.prototype.isub=function(f,a){this._verify2(f,a);var c=f.isub(a);return c.cmpn(0)<0&&c.iadd(this.m),c},Y.prototype.shl=function(f,a){return this._verify1(f),this.imod(f.ushln(a))},Y.prototype.imul=function(f,a){return this._verify2(f,a),this.imod(f.imul(a))},Y.prototype.mul=function(f,a){return this._verify2(f,a),this.imod(f.mul(a))},Y.prototype.isqr=function(f){return this.imul(f,f.clone())},Y.prototype.sqr=function(f){return this.mul(f,f)},Y.prototype.sqrt=function(f){if(f.isZero())return f.clone();var a=this.m.andln(3);if(i(a%2===1),a===3){var c=this.m.add(new o(1)).iushrn(2);return this.pow(f,c)}for(var d=this.m.subn(1),g=0;!d.isZero()&&d.andln(1)===0;)g++,d.iushrn(1);i(!d.isZero());var x=new o(1).toRed(this),M=x.redNeg(),l=this.m.subn(1).iushrn(1),s=this.m.bitLength();for(s=new o(2*s*s).toRed(this);this.pow(s,l).cmp(M)!==0;)s.redIAdd(M);for(var v=this.pow(s,d),k=this.pow(f,d.addn(1).iushrn(1)),u=this.pow(f,d),E=g;u.cmp(x)!==0;){for(var _=u,B=0;_.cmp(x)!==0;B++)_=_.redSqr();i(B=0;g--){for(var v=a.words[g],k=s-1;k>=0;k--){var u=v>>k&1;if(x!==d[0]&&(x=this.sqr(x)),u===0&&M===0){l=0;continue}M<<=1,M|=u,l++,!(l!==c&&(g!==0||k!==0))&&(x=this.mul(x,d[M]),l=0,M=0)}s=26}return x},Y.prototype.convertTo=function(f){var a=f.umod(this.m);return a===f?a.clone():a},Y.prototype.convertFrom=function(f){var a=f.clone();return a.red=null,a},o.mont=function(f){return new Vt(f)};function Vt(A){Y.call(this,A),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new o(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)}n(Vt,Y),Vt.prototype.convertTo=function(f){return this.imod(f.ushln(this.shift))},Vt.prototype.convertFrom=function(f){var a=this.imod(f.mul(this.rinv));return a.red=null,a},Vt.prototype.imul=function(f,a){if(f.isZero()||a.isZero())return f.words[0]=0,f.length=1,f;var c=f.imul(a),d=c.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),g=c.isub(d).iushrn(this.shift),x=g;return g.cmp(this.m)>=0?x=g.isub(this.m):g.cmpn(0)<0&&(x=g.iadd(this.m)),x._forceRed(this)},Vt.prototype.mul=function(f,a){if(f.isZero()||a.isZero())return new o(0)._forceRed(this);var c=f.mul(a),d=c.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),g=c.isub(d).iushrn(this.shift),x=g;return g.cmp(this.m)>=0?x=g.isub(this.m):g.cmpn(0)<0&&(x=g.iadd(this.m)),x._forceRed(this)},Vt.prototype.invm=function(f){var a=this.imod(f._invmp(this.m).mul(this.r2));return a._forceRed(this)}})(e,On)})(Ln);var K=Ln.exports;const jn=\"bignumber/5.7.0\";var Rr=K.BN;const Ae=new L(jn),wi={},Qn=9007199254740991;function C0(e){return e!=null&&(V.isBigNumber(e)||typeof e==\"number\"&&e%1===0||typeof e==\"string\"&&!!e.match(/^-?[0-9]+$/)||Qt(e)||typeof e==\"bigint\"||ir(e))}let Jn=!1;class V{constructor(t,r){t!==wi&&Ae.throwError(\"cannot call constructor directly; use BigNumber.from\",L.errors.UNSUPPORTED_OPERATION,{operation:\"new (BigNumber)\"}),this._hex=r,this._isBigNumber=!0,Object.freeze(this)}fromTwos(t){return Lt(j(this).fromTwos(t))}toTwos(t){return Lt(j(this).toTwos(t))}abs(){return this._hex[0]===\"-\"?V.from(this._hex.substring(1)):this}add(t){return Lt(j(this).add(j(t)))}sub(t){return Lt(j(this).sub(j(t)))}div(t){return V.from(t).isZero()&&Wt(\"division-by-zero\",\"div\"),Lt(j(this).div(j(t)))}mul(t){return Lt(j(this).mul(j(t)))}mod(t){const r=j(t);return r.isNeg()&&Wt(\"division-by-zero\",\"mod\"),Lt(j(this).umod(r))}pow(t){const r=j(t);return r.isNeg()&&Wt(\"negative-power\",\"pow\"),Lt(j(this).pow(r))}and(t){const r=j(t);return(this.isNegative()||r.isNeg())&&Wt(\"unbound-bitwise-result\",\"and\"),Lt(j(this).and(r))}or(t){const r=j(t);return(this.isNegative()||r.isNeg())&&Wt(\"unbound-bitwise-result\",\"or\"),Lt(j(this).or(r))}xor(t){const r=j(t);return(this.isNegative()||r.isNeg())&&Wt(\"unbound-bitwise-result\",\"xor\"),Lt(j(this).xor(r))}mask(t){return(this.isNegative()||t<0)&&Wt(\"negative-width\",\"mask\"),Lt(j(this).maskn(t))}shl(t){return(this.isNegative()||t<0)&&Wt(\"negative-width\",\"shl\"),Lt(j(this).shln(t))}shr(t){return(this.isNegative()||t<0)&&Wt(\"negative-width\",\"shr\"),Lt(j(this).shrn(t))}eq(t){return j(this).eq(j(t))}lt(t){return j(this).lt(j(t))}lte(t){return j(this).lte(j(t))}gt(t){return j(this).gt(j(t))}gte(t){return j(this).gte(j(t))}isNegative(){return this._hex[0]===\"-\"}isZero(){return j(this).isZero()}toNumber(){try{return j(this).toNumber()}catch{Wt(\"overflow\",\"toNumber\",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch{}return Ae.throwError(\"this platform does not support BigInt\",L.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(arguments[0]===10?Jn||(Jn=!0,Ae.warn(\"BigNumber.toString does not accept any parameters; base-10 is assumed\")):arguments[0]===16?Ae.throwError(\"BigNumber.toString does not accept any parameters; use bigNumber.toHexString()\",L.errors.UNEXPECTED_ARGUMENT,{}):Ae.throwError(\"BigNumber.toString does not accept parameters\",L.errors.UNEXPECTED_ARGUMENT,{})),j(this).toString(10)}toHexString(){return this._hex}toJSON(t){return{type:\"BigNumber\",hex:this.toHexString()}}static from(t){if(t instanceof V)return t;if(typeof t==\"string\")return t.match(/^-?0x[0-9a-f]+$/i)?new V(wi,vr(t)):t.match(/^-?[0-9]+$/)?new V(wi,vr(new Rr(t))):Ae.throwArgumentError(\"invalid BigNumber string\",\"value\",t);if(typeof t==\"number\")return t%1&&Wt(\"underflow\",\"BigNumber.from\",t),(t>=Qn||t<=-Qn)&&Wt(\"overflow\",\"BigNumber.from\",t),V.from(String(t));const r=t;if(typeof r==\"bigint\")return V.from(r.toString());if(ir(r))return V.from(Kt(r));if(r)if(r.toHexString){const i=r.toHexString();if(typeof i==\"string\")return V.from(i)}else{let i=r._hex;if(i==null&&r.type===\"BigNumber\"&&(i=r.hex),typeof i==\"string\"&&(Qt(i)||i[0]===\"-\"&&Qt(i.substring(1))))return V.from(i)}return Ae.throwArgumentError(\"invalid BigNumber value\",\"value\",t)}static isBigNumber(t){return!!(t&&t._isBigNumber)}}function vr(e){if(typeof e!=\"string\")return vr(e.toString(16));if(e[0]===\"-\")return e=e.substring(1),e[0]===\"-\"&&Ae.throwArgumentError(\"invalid hex\",\"value\",e),e=vr(e),e===\"0x00\"?e:\"-\"+e;if(e.substring(0,2)!==\"0x\"&&(e=\"0x\"+e),e===\"0x\")return\"0x00\";for(e.length%2&&(e=\"0x0\"+e.substring(2));e.length>4&&e.substring(0,4)===\"0x00\";)e=\"0x\"+e.substring(4);return e}function Lt(e){return V.from(vr(e))}function j(e){const t=V.from(e).toHexString();return t[0]===\"-\"?new Rr(\"-\"+t.substring(3),16):new Rr(t.substring(2),16)}function Wt(e,t,r){const i={fault:e,operation:t};return r!=null&&(i.value=r),Ae.throwError(e,L.errors.NUMERIC_FAULT,i)}function R0(e){return new Rr(e,36).toString(16)}const Ht=new L(jn),mr={},Gn=V.from(0),Yn=V.from(-1);function Vn(e,t,r,i){const n={fault:t,operation:r};return i!==void 0&&(n.value=i),Ht.throwError(e,L.errors.NUMERIC_FAULT,n)}let gr=\"0\";for(;gr.length<256;)gr+=gr;function xi(e){if(typeof e!=\"number\")try{e=V.from(e).toNumber()}catch{}return typeof e==\"number\"&&e>=0&&e<=256&&!(e%1)?\"1\"+gr.substring(0,e):Ht.throwArgumentError(\"invalid decimal size\",\"decimals\",e)}function Mi(e,t){t==null&&(t=0);const r=xi(t);e=V.from(e);const i=e.lt(Gn);i&&(e=e.mul(Yn));let n=e.mod(r).toString();for(;n.length2&&Ht.throwArgumentError(\"too many decimal points\",\"value\",e);let o=n[0],h=n[1];for(o||(o=\"0\"),h||(h=\"0\");h[h.length-1]===\"0\";)h=h.substring(0,h.length-1);for(h.length>r.length-1&&Vn(\"fractional component exceeds decimals\",\"underflow\",\"parseFixed\"),h===\"\"&&(h=\"0\");h.lengtht[h]==null?b:(typeof t[h]!==p&&Ht.throwArgumentError(\"invalid fixed format (\"+h+\" not \"+p+\")\",\"format.\"+h,t[h]),t[h]);r=o(\"signed\",\"boolean\",r),i=o(\"width\",\"number\",i),n=o(\"decimals\",\"number\",n)}return i%8&&Ht.throwArgumentError(\"invalid fixed format width (not byte aligned)\",\"format.width\",i),n>80&&Ht.throwArgumentError(\"invalid fixed format (decimals too large)\",\"format.decimals\",n),new dr(mr,r,i,n)}}class Ut{constructor(t,r,i,n){t!==mr&&Ht.throwError(\"cannot use FixedNumber constructor; use FixedNumber.from\",L.errors.UNSUPPORTED_OPERATION,{operation:\"new FixedFormat\"}),this.format=n,this._hex=r,this._value=i,this._isFixedNumber=!0,Object.freeze(this)}_checkFormat(t){this.format.name!==t.format.name&&Ht.throwArgumentError(\"incompatible format; use fixedNumber.toFormat\",\"other\",t)}addUnsafe(t){this._checkFormat(t);const r=be(this._value,this.format.decimals),i=be(t._value,t.format.decimals);return Ut.fromValue(r.add(i),this.format.decimals,this.format)}subUnsafe(t){this._checkFormat(t);const r=be(this._value,this.format.decimals),i=be(t._value,t.format.decimals);return Ut.fromValue(r.sub(i),this.format.decimals,this.format)}mulUnsafe(t){this._checkFormat(t);const r=be(this._value,this.format.decimals),i=be(t._value,t.format.decimals);return Ut.fromValue(r.mul(i).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(t){this._checkFormat(t);const r=be(this._value,this.format.decimals),i=be(t._value,t.format.decimals);return Ut.fromValue(r.mul(this.format._multiplier).div(i),this.format.decimals,this.format)}floor(){const t=this.toString().split(\".\");t.length===1&&t.push(\"0\");let r=Ut.from(t[0],this.format);const i=!t[1].match(/^(0*)$/);return this.isNegative()&&i&&(r=r.subUnsafe(Wn.toFormat(r.format))),r}ceiling(){const t=this.toString().split(\".\");t.length===1&&t.push(\"0\");let r=Ut.from(t[0],this.format);const i=!t[1].match(/^(0*)$/);return!this.isNegative()&&i&&(r=r.addUnsafe(Wn.toFormat(r.format))),r}round(t){t==null&&(t=0);const r=this.toString().split(\".\");if(r.length===1&&r.push(\"0\"),(t<0||t>80||t%1)&&Ht.throwArgumentError(\"invalid decimal count\",\"decimals\",t),r[1].length<=t)return this;const i=Ut.from(\"1\"+gr.substring(0,t),this.format),n=O0.toFormat(this.format);return this.mulUnsafe(i).addUnsafe(n).floor().divUnsafe(i)}isZero(){return this._value===\"0.0\"||this._value===\"0\"}isNegative(){return this._value[0]===\"-\"}toString(){return this._value}toHexString(t){if(t==null)return this._hex;t%8&&Ht.throwArgumentError(\"invalid byte width\",\"width\",t);const r=V.from(this._hex).fromTwos(this.format.width).toTwos(t).toHexString();return oe(r,t/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(t){return Ut.fromString(this._value,t)}static fromValue(t,r,i){return i==null&&r!=null&&!C0(r)&&(i=r,r=null),r==null&&(r=0),i==null&&(i=\"fixed\"),Ut.fromString(Mi(t,r),dr.from(i))}static fromString(t,r){r==null&&(r=\"fixed\");const i=dr.from(r),n=be(t,i.decimals);!i.signed&&n.lt(Gn)&&Vn(\"unsigned value cannot be negative\",\"overflow\",\"value\",t);let o=null;i.signed?o=n.toTwos(i.width).toHexString():(o=n.toHexString(),o=oe(o,i.width/8));const h=Mi(n,i.decimals);return new Ut(mr,o,h,i)}static fromBytes(t,r){r==null&&(r=\"fixed\");const i=dr.from(r);if(Ot(t).length>i.width/8)throw new Error(\"overflow\");let n=V.from(t);i.signed&&(n=n.fromTwos(i.width));const o=n.toTwos((i.signed?0:1)+i.width).toHexString(),h=Mi(n,i.decimals);return new Ut(mr,o,h,i)}static from(t,r){if(typeof t==\"string\")return Ut.fromString(t,r);if(ir(t))return Ut.fromBytes(t,r);try{return Ut.fromValue(t,0,r)}catch(i){if(i.code!==L.errors.INVALID_ARGUMENT)throw i}return Ht.throwArgumentError(\"invalid FixedNumber value\",\"value\",t)}static isFixedNumber(t){return!!(t&&t._isFixedNumber)}}const Wn=Ut.from(1),O0=Ut.from(\"0.5\"),P0=\"strings/5.7.0\",Xn=new L(P0);var Or;(function(e){e.current=\"\",e.NFC=\"NFC\",e.NFD=\"NFD\",e.NFKC=\"NFKC\",e.NFKD=\"NFKD\"})(Or||(Or={}));var nr;(function(e){e.UNEXPECTED_CONTINUE=\"unexpected continuation byte\",e.BAD_PREFIX=\"bad codepoint prefix\",e.OVERRUN=\"string overrun\",e.MISSING_CONTINUE=\"missing continuation byte\",e.OUT_OF_RANGE=\"out of UTF-8 range\",e.UTF16_SURROGATE=\"UTF-16 surrogate\",e.OVERLONG=\"overlong representation\"})(nr||(nr={}));function D0(e,t,r,i,n){return Xn.throwArgumentError(`invalid codepoint at offset ${t}; ${e}`,\"bytes\",r)}function Zn(e,t,r,i,n){if(e===nr.BAD_PREFIX||e===nr.UNEXPECTED_CONTINUE){let o=0;for(let h=t+1;h>6===2;h++)o++;return o}return e===nr.OVERRUN?r.length-t-1:0}function F0(e,t,r,i,n){return e===nr.OVERLONG?(i.push(n),0):(i.push(65533),Zn(e,t,r))}Object.freeze({error:D0,ignore:Zn,replace:F0});function Ei(e,t=Or.current){t!=Or.current&&(Xn.checkNormalize(),e=e.normalize(t));let r=[];for(let i=0;i>6|192),r.push(n&63|128);else if((n&64512)==55296){i++;const o=e.charCodeAt(i);if(i>=e.length||(o&64512)!==56320)throw new Error(\"invalid utf-8 string\");const h=65536+((n&1023)<<10)+(o&1023);r.push(h>>18|240),r.push(h>>12&63|128),r.push(h>>6&63|128),r.push(h&63|128)}else r.push(n>>12|224),r.push(n>>6&63|128),r.push(n&63|128)}return Ot(r)}function T0(e){if(e.length%4!==0)throw new Error(\"bad data\");let t=[];for(let r=0;r{let o=n.split(\":\");r+=parseInt(o[0],16),i[r]=t(o[1])}),i}function $n(e){let t=0;return e.split(\",\").map(r=>{let i=r.split(\"-\");i.length===1?i[1]=\"0\":i[1]===\"\"&&(i[1]=\"1\");let n=t+parseInt(i[0],16);return t=parseInt(i[1],16),{l:n,h:t}})}$n(\"221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d\"),\"ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff\".split(\",\").map(e=>parseInt(e,16)),Si(\"b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3\"),Si(\"179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7\"),Si(\"df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D\",T0),$n(\"80-20,2a0-,39c,32,f71,18e,7f2-f,19-7,30-4,7-5,f81-b,5,a800-20ff,4d1-1f,110,fa-6,d174-7,2e84-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,2,1f-5f,ff7f-20001\");const tf=\"hash/5.7.0\";function U0(e){e=atob(e);const t=[];for(let r=0;r0&&Array.isArray(p)?n(p,h-1):r.push(p)})};return n(e,t),r}function k0(e){const t={};for(let r=0;r>--b&1}const y=31,S=Math.pow(2,y),I=S>>>1,N=I>>1,C=S-1;let F=0;for(let H=0;H1;){let Yt=z+Pt>>>1;H>>1|w(),W=W<<1^I,Rt=(Rt^I)<<1|I|1;J=W,Bt=1+Rt-W}let G=i-4;return U.map(H=>{switch(H-G){case 3:return G+65792+(e[p++]<<16|e[p++]<<8|e[p++]);case 2:return G+256+(e[p++]<<8|e[p++]);case 1:return G+e[p++];default:return H-1}})}function K0(e){let t=0;return()=>e[t++]}function H0(e){return K0(q0(e))}function z0(e){return e&1?~e>>1:e>>1}function L0(e,t){let r=Array(e);for(let i=0;it[h]):r}function Q0(e){let t=[];for(;;){let r=e();if(r==0)break;t.push(G0(r,e))}for(;;){let r=e()-1;if(r<0)break;t.push(Y0(r,e))}return k0(ef(t))}function J0(e){let t=[];for(;;){let r=e();if(r==0)break;t.push(r)}return t}function nf(e,t,r){let i=Array(e).fill(void 0).map(()=>[]);for(let n=0;ni[h].push(o));return i}function G0(e,t){let r=1+t(),i=t(),n=J0(t),o=nf(n.length,1+e,t);return ef(o.map((h,p)=>{const b=h[0],m=h.slice(1);return Array(n[p]).fill(void 0).map((w,y)=>{let S=y*i;return[b+y*r,m.map(I=>I+S)]})}))}function Y0(e,t){let r=1+t();return nf(r,1+e,t).map(n=>[n[0],n.slice(1)])}function V0(e){let t=Pr(e).sort((i,n)=>i-n);return r();function r(){let i=[];for(;;){let m=Pr(e,t);if(m.length==0)break;i.push({set:new Set(m),node:r()})}i.sort((m,w)=>w.set.size-m.set.size);let n=e(),o=n%3;n=n/3|0;let h=!!(n&1);n>>=1;let p=n==1,b=n==2;return{branches:i,valid:o,fe0f:h,save:p,check:b}}}function W0(){return H0(U0(\"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\"))}const Dr=W0();new Set(Pr(Dr)),new Set(Pr(Dr)),Q0(Dr),V0(Dr),new L(tf);const X0=new Uint8Array(32);X0.fill(0);const Z0=`\u0019Ethereum Signed Message:\n`;function ff(e){return typeof e==\"string\"&&(e=Ei(e)),yi(E0([Ei(Z0),Ei(String(e.length)),e]))}const $0=\"rlp/5.7.0\";new L($0);const ts=\"address/5.7.0\",Ar=new L(ts);function of(e){Qt(e,20)||Ar.throwArgumentError(\"invalid address\",\"address\",e),e=e.toLowerCase();const t=e.substring(2).split(\"\"),r=new Uint8Array(40);for(let n=0;n<40;n++)r[n]=t[n].charCodeAt(0);const i=Ot(yi(r));for(let n=0;n<40;n+=2)i[n>>1]>>4>=8&&(t[n]=t[n].toUpperCase()),(i[n>>1]&15)>=8&&(t[n+1]=t[n+1].toUpperCase());return\"0x\"+t.join(\"\")}const es=9007199254740991;function rs(e){return Math.log10?Math.log10(e):Math.log(e)/Math.LN10}const Ni={};for(let e=0;e<10;e++)Ni[String(e)]=String(e);for(let e=0;e<26;e++)Ni[String.fromCharCode(65+e)]=String(10+e);const sf=Math.floor(rs(es));function is(e){e=e.toUpperCase(),e=e.substring(4)+e.substring(0,2)+\"00\";let t=e.split(\"\").map(i=>Ni[i]).join(\"\");for(;t.length>=sf;){let i=t.substring(0,sf);t=parseInt(i,10)%97+t.substring(i.length)}let r=String(98-parseInt(t,10)%97);for(;r.length<2;)r=\"0\"+r;return r}function ns(e){let t=null;if(typeof e!=\"string\"&&Ar.throwArgumentError(\"invalid address\",\"address\",e),e.match(/^(0x)?[0-9a-fA-F]{40}$/))e.substring(0,2)!==\"0x\"&&(e=\"0x\"+e),t=of(e),e.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&t!==e&&Ar.throwArgumentError(\"bad address checksum\",\"address\",e);else if(e.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(e.substring(2,4)!==is(e)&&Ar.throwArgumentError(\"bad icap checksum\",\"address\",e),t=R0(e.substring(4));t.length<40;)t=\"0\"+t;t=of(\"0x\"+t)}else Ar.throwArgumentError(\"invalid address\",\"address\",e);return t}const fs=\"properties/5.7.0\";new L(fs);function br(e,t,r){Object.defineProperty(e,t,{enumerable:!0,value:r,writable:!1})}new L(tf);const os=new Uint8Array(32);os.fill(0),V.from(-1);const ss=V.from(0),as=V.from(1);V.from(\"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\"),oe(as.toHexString(),32),oe(ss.toHexString(),32);var se={},Q={},yr=af;function af(e,t){if(!e)throw new Error(t||\"Assertion failed\")}af.equal=function(t,r,i){if(t!=r)throw new Error(i||\"Assertion failed: \"+t+\" != \"+r)};var Ii={exports:{}};typeof Object.create==\"function\"?Ii.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:Ii.exports=function(t,r){if(r){t.super_=r;var i=function(){};i.prototype=r.prototype,t.prototype=new i,t.prototype.constructor=t}};var us=yr,hs=Ii.exports;Q.inherits=hs;function cs(e,t){return(e.charCodeAt(t)&64512)!==55296||t<0||t+1>=e.length?!1:(e.charCodeAt(t+1)&64512)===56320}function ls(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if(typeof e==\"string\")if(t){if(t===\"hex\")for(e=e.replace(/[^a-z0-9]+/ig,\"\"),e.length%2!==0&&(e=\"0\"+e),n=0;n>6|192,r[i++]=o&63|128):cs(e,n)?(o=65536+((o&1023)<<10)+(e.charCodeAt(++n)&1023),r[i++]=o>>18|240,r[i++]=o>>12&63|128,r[i++]=o>>6&63|128,r[i++]=o&63|128):(r[i++]=o>>12|224,r[i++]=o>>6&63|128,r[i++]=o&63|128)}else for(n=0;n>>24|e>>>8&65280|e<<8&16711680|(e&255)<<24;return t>>>0}Q.htonl=uf;function ps(e,t){for(var r=\"\",i=0;i>>0}return o}Q.join32=vs;function ms(e,t){for(var r=new Array(e.length*4),i=0,n=0;i>>24,r[n+1]=o>>>16&255,r[n+2]=o>>>8&255,r[n+3]=o&255):(r[n+3]=o>>>24,r[n+2]=o>>>16&255,r[n+1]=o>>>8&255,r[n]=o&255)}return r}Q.split32=ms;function gs(e,t){return e>>>t|e<<32-t}Q.rotr32=gs;function As(e,t){return e<>>32-t}Q.rotl32=As;function bs(e,t){return e+t>>>0}Q.sum32=bs;function ys(e,t,r){return e+t+r>>>0}Q.sum32_3=ys;function ws(e,t,r,i){return e+t+r+i>>>0}Q.sum32_4=ws;function xs(e,t,r,i,n){return e+t+r+i+n>>>0}Q.sum32_5=xs;function Ms(e,t,r,i){var n=e[t],o=e[t+1],h=i+o>>>0,p=(h>>0,e[t+1]=h}Q.sum64=Ms;function Es(e,t,r,i){var n=t+i>>>0,o=(n>>0}Q.sum64_hi=Es;function Ss(e,t,r,i){var n=t+i;return n>>>0}Q.sum64_lo=Ss;function Ns(e,t,r,i,n,o,h,p){var b=0,m=t;m=m+i>>>0,b+=m>>0,b+=m>>0,b+=m>>0}Q.sum64_4_hi=Ns;function Is(e,t,r,i,n,o,h,p){var b=t+i+o+p;return b>>>0}Q.sum64_4_lo=Is;function _s(e,t,r,i,n,o,h,p,b,m){var w=0,y=t;y=y+i>>>0,w+=y>>0,w+=y>>0,w+=y>>0,w+=y>>0}Q.sum64_5_hi=_s;function Bs(e,t,r,i,n,o,h,p,b,m){var w=t+i+o+p+m;return w>>>0}Q.sum64_5_lo=Bs;function Cs(e,t,r){var i=t<<32-r|e>>>r;return i>>>0}Q.rotr64_hi=Cs;function Rs(e,t,r){var i=e<<32-r|t>>>r;return i>>>0}Q.rotr64_lo=Rs;function Os(e,t,r){return e>>>r}Q.shr64_hi=Os;function Ps(e,t,r){var i=e<<32-r|t>>>r;return i>>>0}Q.shr64_lo=Ps;var fr={},lf=Q,Ds=yr;function Fr(){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}fr.BlockHash=Fr,Fr.prototype.update=function(t,r){if(t=lf.toArray(t,r),this.pending?this.pending=this.pending.concat(t):this.pending=t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){t=this.pending;var i=t.length%this._delta8;this.pending=t.slice(t.length-i,t.length),this.pending.length===0&&(this.pending=null),t=lf.join32(t,0,t.length-i,this.endian);for(var n=0;n>>24&255,n[o++]=t>>>16&255,n[o++]=t>>>8&255,n[o++]=t&255}else for(n[o++]=t&255,n[o++]=t>>>8&255,n[o++]=t>>>16&255,n[o++]=t>>>24&255,n[o++]=0,n[o++]=0,n[o++]=0,n[o++]=0,h=8;h>>3}ae.g0_256=qs;function Ks(e){return ue(e,17)^ue(e,19)^e>>>10}ae.g1_256=Ks;var sr=Q,Hs=fr,zs=ae,_i=sr.rotl32,wr=sr.sum32,Ls=sr.sum32_5,js=zs.ft_1,mf=Hs.BlockHash,Qs=[1518500249,1859775393,2400959708,3395469782];function he(){if(!(this instanceof he))return new he;mf.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}sr.inherits(he,mf);var Js=he;he.blockSize=512,he.outSize=160,he.hmacStrength=80,he.padLength=64,he.prototype._update=function(t,r){for(var i=this.W,n=0;n<16;n++)i[n]=t[r+n];for(;nthis.blockSize&&(t=new this.Hash().update(t).digest()),Pa(t.length<=this.blockSize);for(var r=t.length;r>8,S=w&255;y?b.push(y,S):b.push(S)}return b}r.toArray=i;function n(h){return h.length===1?\"0\"+h:h}r.zero2=n;function o(h){for(var p=\"\",b=0;b(S>>1)-1?C=(S>>1)-F:C=F,I.isubn(C)):C=0,y[N]=C,I.iushrn(1)}return y}r.getNAF=i;function n(b,m){var w=[[],[]];b=b.clone(),m=m.clone();for(var y=0,S=0,I;b.cmpn(-y)>0||m.cmpn(-S)>0;){var N=b.andln(3)+y&3,C=m.andln(3)+S&3;N===3&&(N=-1),C===3&&(C=-1);var F;N&1?(I=b.andln(7)+y&7,(I===3||I===5)&&C===2?F=-N:F=N):F=0,w[0].push(F);var U;C&1?(I=m.andln(7)+S&7,(I===3||I===5)&&N===2?U=-C:U=C):U=0,w[1].push(U),2*y===F+1&&(y=1-y),2*S===U+1&&(S=1-S),b.iushrn(1),m.iushrn(1)}return w}r.getJSF=n;function o(b,m,w){var y=\"_\"+m;b.prototype[m]=function(){return this[y]!==void 0?this[y]:this[y]=w.call(this)}}r.cachedProperty=o;function h(b){return typeof b==\"string\"?r.toArray(b,\"hex\"):b}r.parseBytes=h;function p(b){return new K(b,\"hex\",\"le\")}r.intFromLE=p}),Ur=Jt.getNAF,Ta=Jt.getJSF,kr=Jt.assert;function Ce(e,t){this.type=e,this.p=new K(t.p,16),this.red=t.prime?K.red(t.prime):K.mont(this.p),this.zero=new K(0).toRed(this.red),this.one=new K(1).toRed(this.red),this.two=new K(2).toRed(this.red),this.n=t.n&&new K(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var Ze=Ce;Ce.prototype.point=function(){throw new Error(\"Not implemented\")},Ce.prototype.validate=function(){throw new Error(\"Not implemented\")},Ce.prototype._fixedNafMul=function(t,r){kr(t.precomputed);var i=t._getDoubles(),n=Ur(r,1,this._bitLength),o=(1<=p;m--)b=(b<<1)+n[m];h.push(b)}for(var w=this.jpoint(null,null,null),y=this.jpoint(null,null,null),S=o;S>0;S--){for(p=0;p=0;b--){for(var m=0;b>=0&&h[b]===0;b--)m++;if(b>=0&&m++,p=p.dblp(m),b<0)break;var w=h[b];kr(w!==0),t.type===\"affine\"?w>0?p=p.mixedAdd(o[w-1>>1]):p=p.mixedAdd(o[-w-1>>1].neg()):w>0?p=p.add(o[w-1>>1]):p=p.add(o[-w-1>>1].neg())}return t.type===\"affine\"?p.toP():p},Ce.prototype._wnafMulAdd=function(t,r,i,n,o){var h=this._wnafT1,p=this._wnafT2,b=this._wnafT3,m=0,w,y,S;for(w=0;w=1;w-=2){var N=w-1,C=w;if(h[N]!==1||h[C]!==1){b[N]=Ur(i[N],h[N],this._bitLength),b[C]=Ur(i[C],h[C],this._bitLength),m=Math.max(b[N].length,m),m=Math.max(b[C].length,m);continue}var F=[r[N],null,null,r[C]];r[N].y.cmp(r[C].y)===0?(F[1]=r[N].add(r[C]),F[2]=r[N].toJ().mixedAdd(r[C].neg())):r[N].y.cmp(r[C].y.redNeg())===0?(F[1]=r[N].toJ().mixedAdd(r[C]),F[2]=r[N].add(r[C].neg())):(F[1]=r[N].toJ().mixedAdd(r[C]),F[2]=r[N].toJ().mixedAdd(r[C].neg()));var U=[-3,-1,-5,-7,0,7,5,1,3],J=Ta(i[N],i[C]);for(m=Math.max(J[0].length,m),b[N]=new Array(m),b[C]=new Array(m),y=0;y=0;w--){for(var Pt=0;w>=0;){var W=!0;for(y=0;y=0&&Pt++,H=H.dblp(Pt),w<0)break;for(y=0;y0?S=p[y][Rt-1>>1]:Rt<0&&(S=p[y][-Rt-1>>1].neg()),S.type===\"affine\"?H=H.mixedAdd(S):H=H.add(S))}}for(w=0;w=Math.ceil((t.bitLength()+1)/r.step):!1},Xt.prototype._getDoubles=function(t,r){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var i=[this],n=this,o=0;o=0&&(I=m,N=w),y.negative&&(y=y.neg(),S=S.neg()),I.negative&&(I=I.neg(),N=N.neg()),[{a:y,b:S},{a:I,b:N}]},Zt.prototype._endoSplit=function(t){var r=this.endo.basis,i=r[0],n=r[1],o=n.b.mul(t).divRound(this.n),h=i.b.neg().mul(t).divRound(this.n),p=o.mul(i.a),b=h.mul(n.a),m=o.mul(i.b),w=h.mul(n.b),y=t.sub(p).sub(b),S=m.add(w).neg();return{k1:y,k2:S}},Zt.prototype.pointFromX=function(t,r){t=new K(t,16),t.red||(t=t.toRed(this.red));var i=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),n=i.redSqrt();if(n.redSqr().redSub(i).cmp(this.zero)!==0)throw new Error(\"invalid point\");var o=n.fromRed().isOdd();return(r&&!o||!r&&o)&&(n=n.redNeg()),this.point(t,n)},Zt.prototype.validate=function(t){if(t.inf)return!0;var r=t.x,i=t.y,n=this.a.redMul(r),o=r.redSqr().redMul(r).redIAdd(n).redIAdd(this.b);return i.redSqr().redISub(o).cmpn(0)===0},Zt.prototype._endoWnafMulAdd=function(t,r,i){for(var n=this._endoWnafT1,o=this._endoWnafT2,h=0;h\":\"\"},Ft.prototype.isInfinity=function(){return this.inf},Ft.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(this.x.cmp(t.x)===0)return this.curve.point(null,null);var r=this.y.redSub(t.y);r.cmpn(0)!==0&&(r=r.redMul(this.x.redSub(t.x).redInvm()));var i=r.redSqr().redISub(this.x).redISub(t.x),n=r.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,n)},Ft.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(t.cmpn(0)===0)return this.curve.point(null,null);var r=this.curve.a,i=this.x.redSqr(),n=t.redInvm(),o=i.redAdd(i).redIAdd(i).redIAdd(r).redMul(n),h=o.redSqr().redISub(this.x.redAdd(this.x)),p=o.redMul(this.x.redSub(h)).redISub(this.y);return this.curve.point(h,p)},Ft.prototype.getX=function(){return this.x.fromRed()},Ft.prototype.getY=function(){return this.y.fromRed()},Ft.prototype.mul=function(t){return t=new K(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},Ft.prototype.mulAdd=function(t,r,i){var n=[this,r],o=[t,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,o):this.curve._wnafMulAdd(1,n,o,2)},Ft.prototype.jmulAdd=function(t,r,i){var n=[this,r],o=[t,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,o,!0):this.curve._wnafMulAdd(1,n,o,2,!0)},Ft.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||this.x.cmp(t.x)===0&&this.y.cmp(t.y)===0)},Ft.prototype.neg=function(t){if(this.inf)return this;var r=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var i=this.precomputed,n=function(o){return o.neg()};r.precomputed={naf:i.naf&&{wnd:i.naf.wnd,points:i.naf.points.map(n)},doubles:i.doubles&&{step:i.doubles.step,points:i.doubles.points.map(n)}}}return r},Ft.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var t=this.curve.jpoint(this.x,this.y,this.curve.one);return t};function Tt(e,t,r,i){Ze.BasePoint.call(this,e,\"jacobian\"),t===null&&r===null&&i===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new K(0)):(this.x=new K(t,16),this.y=new K(r,16),this.z=new K(i,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}Di(Tt,Ze.BasePoint),Zt.prototype.jpoint=function(t,r,i){return new Tt(this,t,r,i)},Tt.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),r=t.redSqr(),i=this.x.redMul(r),n=this.y.redMul(r).redMul(t);return this.curve.point(i,n)},Tt.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},Tt.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var r=t.z.redSqr(),i=this.z.redSqr(),n=this.x.redMul(r),o=t.x.redMul(i),h=this.y.redMul(r.redMul(t.z)),p=t.y.redMul(i.redMul(this.z)),b=n.redSub(o),m=h.redSub(p);if(b.cmpn(0)===0)return m.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var w=b.redSqr(),y=w.redMul(b),S=n.redMul(w),I=m.redSqr().redIAdd(y).redISub(S).redISub(S),N=m.redMul(S.redISub(I)).redISub(h.redMul(y)),C=this.z.redMul(t.z).redMul(b);return this.curve.jpoint(I,N,C)},Tt.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var r=this.z.redSqr(),i=this.x,n=t.x.redMul(r),o=this.y,h=t.y.redMul(r).redMul(this.z),p=i.redSub(n),b=o.redSub(h);if(p.cmpn(0)===0)return b.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var m=p.redSqr(),w=m.redMul(p),y=i.redMul(m),S=b.redSqr().redIAdd(w).redISub(y).redISub(y),I=b.redMul(y.redISub(S)).redISub(o.redMul(w)),N=this.z.redMul(p);return this.curve.jpoint(S,I,N)},Tt.prototype.dblp=function(t){if(t===0)return this;if(this.isInfinity())return this;if(!t)return this.dbl();var r;if(this.curve.zeroA||this.curve.threeA){var i=this;for(r=0;r=0)return!1;if(i.redIAdd(o),this.x.cmp(i)===0)return!0}},Tt.prototype.inspect=function(){return this.isInfinity()?\"\":\"\"},Tt.prototype.isInfinity=function(){return this.z.cmpn(0)===0};var qr=cr(function(e,t){var r=t;r.base=Ze,r.short=ka,r.mont=null,r.edwards=null}),Kr=cr(function(e,t){var r=t,i=Jt.assert;function n(p){p.type===\"short\"?this.curve=new qr.short(p):p.type===\"edwards\"?this.curve=new qr.edwards(p):this.curve=new qr.mont(p),this.g=this.curve.g,this.n=this.curve.n,this.hash=p.hash,i(this.g.validate(),\"Invalid curve\"),i(this.g.mul(this.n).isInfinity(),\"Invalid curve, G*N != O\")}r.PresetCurve=n;function o(p,b){Object.defineProperty(r,p,{configurable:!0,enumerable:!0,get:function(){var m=new n(b);return Object.defineProperty(r,p,{configurable:!0,enumerable:!0,value:m}),m}})}o(\"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:se.sha256,gRed:!1,g:[\"188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012\",\"07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811\"]}),o(\"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:se.sha256,gRed:!1,g:[\"b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21\",\"bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34\"]}),o(\"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:se.sha256,gRed:!1,g:[\"6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296\",\"4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5\"]}),o(\"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:se.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\"]}),o(\"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:se.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\"]}),o(\"curve25519\",{type:\"mont\",prime:\"p25519\",p:\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",a:\"76d06\",b:\"1\",n:\"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",hash:se.sha256,gRed:!1,g:[\"9\"]}),o(\"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:se.sha256,gRed:!1,g:[\"216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a\",\"6666666666666666666666666666666666666666666666666666666666666658\"]});var h;try{h=null.crash()}catch{h=void 0}o(\"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:se.sha256,beta:\"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee\",lambda:\"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72\",basis:[{a:\"3086d221a7d46bcde86c90e49284eb15\",b:\"-e4437ed6010e88286f547fa90abfe4c3\"},{a:\"114ca50f7a8e2f3f657c1108d9d44cfd8\",b:\"3086d221a7d46bcde86c90e49284eb15\"}],gRed:!1,g:[\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8\",h]})});function Re(e){if(!(this instanceof Re))return new Re(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=fe.toArray(e.entropy,e.entropyEnc||\"hex\"),r=fe.toArray(e.nonce,e.nonceEnc||\"hex\"),i=fe.toArray(e.pers,e.persEnc||\"hex\");Pi(t.length>=this.minEntropy/8,\"Not enough entropy. Minimum is: \"+this.minEntropy+\" bits\"),this._init(t,r,i)}var Rf=Re;Re.prototype._init=function(t,r,i){var n=t.concat(r).concat(i);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var o=0;o=this.minEntropy/8,\"Not enough entropy. Minimum is: \"+this.minEntropy+\" bits\"),this._update(t.concat(i||[])),this._reseed=1},Re.prototype.generate=function(t,r,i,n){if(this._reseed>this.reseedInterval)throw new Error(\"Reseed is required\");typeof r!=\"string\"&&(n=i,i=r,r=null),i&&(i=fe.toArray(i,n||\"hex\"),this._update(i));for(var o=[];o.length\"};var qa=Jt.assert;function Hr(e,t){if(e instanceof Hr)return e;this._importDER(e,t)||(qa(e.r&&e.s,\"Signature without r or s\"),this.r=new K(e.r,16),this.s=new K(e.s,16),e.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}var zr=Hr;function Ka(){this.place=0}function Ui(e,t){var r=e[t.place++];if(!(r&128))return r;var i=r&15;if(i===0||i>4)return!1;for(var n=0,o=0,h=t.place;o>>=0;return n<=127?!1:(t.place=h,n)}function Of(e){for(var t=0,r=e.length-1;!e[t]&&!(e[t+1]&128)&&t>>3);for(e.push(r|128);--r;)e.push(t>>>(r<<3)&255);e.push(t)}Hr.prototype.toDER=function(t){var r=this.r.toArray(),i=this.s.toArray();for(r[0]&128&&(r=[0].concat(r)),i[0]&128&&(i=[0].concat(i)),r=Of(r),i=Of(i);!i[0]&&!(i[1]&128);)i=i.slice(1);var n=[2];ki(n,r.length),n=n.concat(r),n.push(2),ki(n,i.length);var o=n.concat(i),h=[48];return ki(h,o.length),h=h.concat(o),Jt.encode(h,t)};var Ha=function(){throw new Error(\"unsupported\")},Pf=Jt.assert;function $t(e){if(!(this instanceof $t))return new $t(e);typeof e==\"string\"&&(Pf(Object.prototype.hasOwnProperty.call(Kr,e),\"Unknown curve \"+e),e=Kr[e]),e instanceof Kr.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}var za=$t;$t.prototype.keyPair=function(t){return new Ti(this,t)},$t.prototype.keyFromPrivate=function(t,r){return Ti.fromPrivate(this,t,r)},$t.prototype.keyFromPublic=function(t,r){return Ti.fromPublic(this,t,r)},$t.prototype.genKeyPair=function(t){t||(t={});for(var r=new Rf({hash:this.hash,pers:t.pers,persEnc:t.persEnc||\"utf8\",entropy:t.entropy||Ha(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||\"utf8\",nonce:this.n.toArray()}),i=this.n.byteLength(),n=this.n.sub(new K(2));;){var o=new K(r.generate(i));if(!(o.cmp(n)>0))return o.iaddn(1),this.keyFromPrivate(o)}},$t.prototype._truncateToN=function(t,r){var i=t.byteLength()*8-this.n.bitLength();return i>0&&(t=t.ushrn(i)),!r&&t.cmp(this.n)>=0?t.sub(this.n):t},$t.prototype.sign=function(t,r,i,n){typeof i==\"object\"&&(n=i,i=null),n||(n={}),r=this.keyFromPrivate(r,i),t=this._truncateToN(new K(t,16));for(var o=this.n.byteLength(),h=r.getPrivate().toArray(\"be\",o),p=t.toArray(\"be\",o),b=new Rf({hash:this.hash,entropy:h,nonce:p,pers:n.pers,persEnc:n.persEnc||\"utf8\"}),m=this.n.sub(new K(1)),w=0;;w++){var y=n.k?n.k(w):new K(b.generate(this.n.byteLength()));if(y=this._truncateToN(y,!0),!(y.cmpn(1)<=0||y.cmp(m)>=0)){var S=this.g.mul(y);if(!S.isInfinity()){var I=S.getX(),N=I.umod(this.n);if(N.cmpn(0)!==0){var C=y.invm(this.n).mul(N.mul(r.getPrivate()).iadd(t));if(C=C.umod(this.n),C.cmpn(0)!==0){var F=(S.getY().isOdd()?1:0)|(I.cmp(N)!==0?2:0);return n.canonical&&C.cmp(this.nh)>0&&(C=this.n.sub(C),F^=1),new zr({r:N,s:C,recoveryParam:F})}}}}}},$t.prototype.verify=function(t,r,i,n){t=this._truncateToN(new K(t,16)),i=this.keyFromPublic(i,n),r=new zr(r,\"hex\");var o=r.r,h=r.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0||h.cmpn(1)<0||h.cmp(this.n)>=0)return!1;var p=h.invm(this.n),b=p.mul(t).umod(this.n),m=p.mul(o).umod(this.n),w;return this.curve._maxwellTrick?(w=this.g.jmulAdd(b,i.getPublic(),m),w.isInfinity()?!1:w.eqXToP(o)):(w=this.g.mulAdd(b,i.getPublic(),m),w.isInfinity()?!1:w.getX().umod(this.n).cmp(o)===0)},$t.prototype.recoverPubKey=function(e,t,r,i){Pf((3&r)===r,\"The recovery param is more than two bits\"),t=new zr(t,i);var n=this.n,o=new K(e),h=t.r,p=t.s,b=r&1,m=r>>1;if(h.cmp(this.curve.p.umod(this.curve.n))>=0&&m)throw new Error(\"Unable to find sencond key candinate\");m?h=this.curve.pointFromX(h.add(this.curve.n),b):h=this.curve.pointFromX(h,b);var w=t.r.invm(n),y=n.sub(o).mul(w).umod(n),S=p.mul(w).umod(n);return this.g.mulAdd(y,h,S)},$t.prototype.getKeyRecoveryParam=function(e,t,r,i){if(t=new zr(t,i),t.recoveryParam!==null)return t.recoveryParam;for(var n=0;n<4;n++){var o;try{o=this.recoverPubKey(e,t,n)}catch{continue}if(o.eq(r))return n}throw new Error(\"Unable to find valid recovery factor\")};var La=cr(function(e,t){var r=t;r.version=\"6.5.4\",r.utils=Jt,r.rand=function(){throw new Error(\"unsupported\")},r.curve=qr,r.curves=Kr,r.ec=za,r.eddsa=null}),ja=La.ec;const Qa=\"signing-key/5.7.0\",qi=new L(Qa);let Ki=null;function ve(){return Ki||(Ki=new ja(\"secp256k1\")),Ki}class Ja{constructor(t){br(this,\"curve\",\"secp256k1\"),br(this,\"privateKey\",Kt(t)),N0(this.privateKey)!==32&&qi.throwArgumentError(\"invalid private key\",\"privateKey\",\"[[ REDACTED ]]\");const r=ve().keyFromPrivate(Ot(this.privateKey));br(this,\"publicKey\",\"0x\"+r.getPublic(!1,\"hex\")),br(this,\"compressedPublicKey\",\"0x\"+r.getPublic(!0,\"hex\")),br(this,\"_isSigningKey\",!0)}_addPoint(t){const r=ve().keyFromPublic(Ot(this.publicKey)),i=ve().keyFromPublic(Ot(t));return\"0x\"+r.pub.add(i.pub).encodeCompressed(\"hex\")}signDigest(t){const r=ve().keyFromPrivate(Ot(this.privateKey)),i=Ot(t);i.length!==32&&qi.throwArgumentError(\"bad digest length\",\"digest\",t);const n=r.sign(i,{canonical:!0});return zn({recoveryParam:n.recoveryParam,r:oe(\"0x\"+n.r.toString(16),32),s:oe(\"0x\"+n.s.toString(16),32)})}computeSharedSecret(t){const r=ve().keyFromPrivate(Ot(this.privateKey)),i=ve().keyFromPublic(Ot(Df(t)));return oe(\"0x\"+r.derive(i.getPublic()).toString(16),32)}static isSigningKey(t){return!!(t&&t._isSigningKey)}}function Ga(e,t){const r=zn(t),i={r:Ot(r.r),s:Ot(r.s)};return\"0x\"+ve().recoverPubKey(Ot(e),i,r.recoveryParam).encode(\"hex\",!1)}function Df(e,t){const r=Ot(e);if(r.length===32){const i=new Ja(r);return t?\"0x\"+ve().keyFromPrivate(r).getPublic(!0,\"hex\"):i.publicKey}else{if(r.length===33)return t?Kt(r):\"0x\"+ve().keyFromPublic(r).getPublic(!1,\"hex\");if(r.length===65)return t?\"0x\"+ve().keyFromPublic(r).getPublic(!0,\"hex\"):Kt(r)}return qi.throwArgumentError(\"invalid public or private key\",\"key\",\"[REDACTED]\")}const Ya=\"transactions/5.7.0\";new L(Ya);var Ff;(function(e){e[e.legacy=0]=\"legacy\",e[e.eip2930=1]=\"eip2930\",e[e.eip1559=2]=\"eip1559\"})(Ff||(Ff={}));function Va(e){const t=Df(e);return ns(Hn(yi(Hn(t,1)),12))}function Wa(e,t){return Va(Ga(Ot(e),t))}const Xa=\"https://rpc.walletconnect.com/v1\";async function Tf(e,t,r,i,n,o){switch(r.t){case\"eip191\":return Uf(e,t,r.s);case\"eip1271\":return await kf(e,t,r.s,i,n,o);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${r.t}`)}}function Uf(e,t,r){return Wa(ff(t),r).toLowerCase()===e.toLowerCase()}async function kf(e,t,r,i,n,o){try{const h=\"0x1626ba7e\",p=\"0000000000000000000000000000000000000000000000000000000000000040\",b=\"0000000000000000000000000000000000000000000000000000000000000041\",m=r.substring(2),w=ff(t).substring(2),y=h+w+p+b+m,S=await fetch(`${o||Xa}/?chainId=${i}&projectId=${n}`,{method:\"POST\",body:JSON.stringify({id:Za(),jsonrpc:\"2.0\",method:\"eth_call\",params:[{to:e,data:y},\"latest\"]})}),{result:I}=await S.json();return I?I.slice(0,h.length).toLowerCase()===h.toLowerCase():!1}catch(h){return console.error(\"isValidEip1271Signature: \",h),!1}}function Za(){return Date.now()+Math.floor(Math.random()*1e3)}var $a=Object.defineProperty,tu=Object.defineProperties,eu=Object.getOwnPropertyDescriptors,qf=Object.getOwnPropertySymbols,ru=Object.prototype.hasOwnProperty,iu=Object.prototype.propertyIsEnumerable,Kf=(e,t,r)=>t in e?$a(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Hi=(e,t)=>{for(var r in t||(t={}))ru.call(t,r)&&Kf(e,r,t[r]);if(qf)for(var r of qf(t))iu.call(t,r)&&Kf(e,r,t[r]);return e},Hf=(e,t)=>tu(e,eu(t));const nu=\"did:pkh:\",Lr=e=>e?.split(\":\"),zi=e=>{const t=e&&Lr(e);if(t)return e.includes(nu)?t[3]:t[1]},fu=e=>{const t=e&&Lr(e);if(t)return t[2]+\":\"+t[3]},Li=e=>{const t=e&&Lr(e);if(t)return t.pop()};async function ou(e){const{cacao:t,projectId:r}=e,{s:i,p:n}=t,o=zf(n,n.iss),h=Li(n.iss);return await Tf(h,o,i,zi(n.iss),r)}const zf=(e,t)=>{const r=`${e.domain} wants you to sign in with your Ethereum account:`,i=Li(t);if(!e.aud&&!e.uri)throw new Error(\"Either `aud` or `uri` is required to construct the message\");let n=e.statement||void 0;const o=`URI: ${e.aud||e.uri}`,h=`Version: ${e.version}`,p=`Chain ID: ${zi(t)}`,b=`Nonce: ${e.nonce}`,m=`Issued At: ${e.iat}`,w=e.resources?`Resources:${e.resources.map(S=>`\n- ${S}`).join(\"\")}`:void 0,y=Qr(e.resources);if(y){const S=Oe(y);n=Ji(n,S)}return[r,i,\"\",n,\"\",o,h,p,b,m,w].filter(S=>S!=null).join(`\n`)};function su(e,t,r){return r.includes(\"did:pkh:\")||(r=`did:pkh:${r}`),{h:{t:\"caip122\"},p:{iss:r,domain:e.domain,aud:e.aud,version:e.version,nonce:e.nonce,iat:e.iat,statement:e.statement,requestId:e.requestId,resources:e.resources,nbf:e.nbf,exp:e.exp},s:t}}function au(e){var t;const{authPayload:r,chains:i,methods:n}=e,o=r.statement||\"\";if(!(i!=null&&i.length))return r;const h=r.chains,p=mi(h,i);if(!(p!=null&&p.length))throw new Error(\"No supported chains\");const b=Lf(r.resources);if(!b)return r;me(b);const m=jf(b,\"eip155\");let w=r?.resources||[];if(m!=null&&m.length){const y=Qf(m),S=mi(y,n);if(!(S!=null&&S.length))throw new Error(`Supported methods don't satisfy the requested: ${JSON.stringify(y)}, supported: ${JSON.stringify(n)}`);const I=ji(\"request\",S,{chains:p}),N=Vf(b,\"eip155\",I);w=((t=r?.resources)==null?void 0:t.slice(0,-1))||[],w.push(jr(N))}return Hf(Hi({},r),{statement:Xf(o,Qr(w)),chains:p,resources:r!=null&&r.resources||w.length>0?w:void 0})}function Lf(e){const t=Qr(e);if(t&&Qi(t))return Oe(t)}function uu(e,t){var r;return(r=e?.att)==null?void 0:r.hasOwnProperty(t)}function jf(e,t){var r,i;return(r=e?.att)!=null&&r[t]?Object.keys((i=e?.att)==null?void 0:i[t]):[]}function hu(e){return e?.map(t=>Object.keys(t))||[]}function Qf(e){return e?.map(t=>{var r;return(r=t.split(\"/\"))==null?void 0:r[1]})||[]}function Jf(e){return Buffer.from(JSON.stringify(e)).toString(\"base64\")}function Gf(e){return JSON.parse(Buffer.from(e,\"base64\").toString(\"utf-8\"))}function me(e){if(!e)throw new Error(\"No recap provided, value is undefined\");if(!e.att)throw new Error(\"No `att` property found\");const t=Object.keys(e.att);if(!(t!=null&&t.length))throw new Error(\"No resources found in `att` property\");t.forEach(r=>{const i=e.att[r];if(Array.isArray(i))throw new Error(`Resource must be an object: ${r}`);if(typeof i!=\"object\")throw new Error(`Resource must be an object: ${r}`);if(!Object.keys(i).length)throw new Error(`Resource object is empty: ${r}`);Object.keys(i).forEach(n=>{const o=i[n];if(!Array.isArray(o))throw new Error(`Ability limits ${n} must be an array of objects, found: ${o}`);if(!o.length)throw new Error(`Value of ${n} is empty array, must be an array with objects`);o.forEach(h=>{if(typeof h!=\"object\")throw new Error(`Ability limits (${n}) must be an array of objects, found: ${h}`)})})})}function Yf(e,t,r,i={}){return r?.sort((n,o)=>n.localeCompare(o)),{att:{[e]:ji(t,r,i)}}}function Vf(e,t,r){var i;return e.att[t]=Hi({},r),((i=Object.keys(e.att))==null?void 0:i.sort((n,o)=>n.localeCompare(o))).reduce((n,o)=>(n.att[o]=e.att[o],n),{att:{}})}function ji(e,t,r={}){t=t?.sort((n,o)=>n.localeCompare(o));const i=t.map(n=>({[`${e}/${n}`]:[r]}));return Object.assign({},...i)}function jr(e){return me(e),`urn:recap:${Jf(e).replace(/=/g,\"\")}`}function Oe(e){const t=Gf(e.replace(\"urn:recap:\",\"\"));return me(t),t}function cu(e,t,r){const i=Yf(e,t,r);return jr(i)}function Qi(e){return e&&e.includes(\"urn:recap:\")}function lu(e,t){const r=Oe(e),i=Oe(t),n=Wf(r,i);return jr(n)}function Wf(e,t){me(e),me(t);const r=Object.keys(e.att).concat(Object.keys(t.att)).sort((n,o)=>n.localeCompare(o)),i={att:{}};return r.forEach(n=>{var o,h;Object.keys(((o=e.att)==null?void 0:o[n])||{}).concat(Object.keys(((h=t.att)==null?void 0:h[n])||{})).sort((p,b)=>p.localeCompare(b)).forEach(p=>{var b,m;i.att[n]=Hf(Hi({},i.att[n]),{[p]:((b=e.att[n])==null?void 0:b[p])||((m=t.att[n])==null?void 0:m[p])})})}),i}function Ji(e=\"\",t){me(t);const r=\"I further authorize the stated URI to perform the following actions on my behalf: \";if(e.includes(r))return e;const i=[];let n=0;Object.keys(t.att).forEach(p=>{const b=Object.keys(t.att[p]).map(y=>({ability:y.split(\"/\")[0],action:y.split(\"/\")[1]}));b.sort((y,S)=>y.action.localeCompare(S.action));const m={};b.forEach(y=>{m[y.ability]||(m[y.ability]=[]),m[y.ability].push(y.action)});const w=Object.keys(m).map(y=>(n++,`(${n}) '${y}': '${m[y].join(\"', '\")}' for '${p}'.`));i.push(w.join(\", \").replace(\".,\",\".\"))});const o=i.join(\" \"),h=`${r}${o}`;return`${e?e+\" \":\"\"}${h}`}function du(e){var t;const r=Oe(e);me(r);const i=(t=r.att)==null?void 0:t.eip155;return i?Object.keys(i).map(n=>n.split(\"/\")[1]):[]}function pu(e){const t=Oe(e);me(t);const r=[];return Object.values(t.att).forEach(i=>{Object.values(i).forEach(n=>{var o;(o=n?.[0])!=null&&o.chains&&r.push(n[0].chains)})}),[...new Set(r.flat())]}function Xf(e,t){if(!t)return e;const r=Oe(t);return me(r),Ji(e,r)}function Qr(e){if(!e)return;const t=e?.[e.length-1];return Qi(t)?t:void 0}const Gi=\"base10\",zt=\"base16\",Jr=\"base64pad\",Gr=\"utf8\",Yi=0,lr=1,vu=0,Zf=1,Vi=12,Wi=32;function mu(){const e=cn.generateKeyPair();return{privateKey:te(e.secretKey,zt),publicKey:te(e.publicKey,zt)}}function gu(){const e=un(Wi);return te(e,zt)}function Au(e,t){const r=cn.sharedKey(ee(e,zt),ee(t,zt),!0),i=new Uo(ko,r).expand(Wi);return te(i,zt)}function bu(e){const t=hn(ee(e,zt));return te(t,zt)}function yu(e){const t=hn(ee(e,Gr));return te(t,zt)}function $f(e){return ee(`${e}`,Gi)}function Mr(e){return Number(te(e,Gi))}function wu(e){const t=$f(typeof e.type<\"u\"?e.type:Yi);if(Mr(t)===lr&&typeof e.senderPublicKey>\"u\")throw new Error(\"Missing sender public key for type 1 envelope\");const r=typeof e.senderPublicKey<\"u\"?ee(e.senderPublicKey,zt):void 0,i=typeof e.iv<\"u\"?ee(e.iv,zt):un(Vi),n=new an(ee(e.symKey,zt)).seal(i,ee(e.message,Gr));return to({type:t,sealed:n,iv:i,senderPublicKey:r})}function xu(e){const t=new an(ee(e.symKey,zt)),{sealed:r,iv:i}=Xi(e.encoded),n=t.open(i,r);if(n===null)throw new Error(\"Failed to decrypt\");return te(n,Gr)}function to(e){if(Mr(e.type)===lr){if(typeof e.senderPublicKey>\"u\")throw new Error(\"Missing sender public key for type 1 envelope\");return te(ln([e.type,e.senderPublicKey,e.iv,e.sealed]),Jr)}return te(ln([e.type,e.iv,e.sealed]),Jr)}function Xi(e){const t=ee(e,Jr),r=t.slice(vu,Zf),i=Zf;if(Mr(r)===lr){const p=i+Wi,b=p+Vi,m=t.slice(i,p),w=t.slice(p,b),y=t.slice(b);return{type:r,sealed:y,iv:w,senderPublicKey:m}}const n=i+Vi,o=t.slice(i,n),h=t.slice(n);return{type:r,sealed:h,iv:o}}function Mu(e,t){const r=Xi(e);return eo({type:Mr(r.type),senderPublicKey:typeof r.senderPublicKey<\"u\"?te(r.senderPublicKey,zt):void 0,receiverPublicKey:t?.receiverPublicKey})}function eo(e){const t=e?.type||Yi;if(t===lr){if(typeof e?.senderPublicKey>\"u\")throw new Error(\"missing sender public key\");if(typeof e?.receiverPublicKey>\"u\")throw new Error(\"missing receiver public key\")}return{type:t,senderPublicKey:e?.senderPublicKey,receiverPublicKey:e?.receiverPublicKey}}function Eu(e){return e.type===lr&&typeof e.senderPublicKey==\"string\"&&typeof e.receiverPublicKey==\"string\"}const ro=\"irn\";function Su(e){return e?.relay||{protocol:ro}}function Nu(e){const t=qo[e];if(typeof t>\"u\")throw new Error(`Relay Protocol not supported: ${e}`);return t}var Iu=Object.defineProperty,_u=Object.defineProperties,Bu=Object.getOwnPropertyDescriptors,io=Object.getOwnPropertySymbols,Cu=Object.prototype.hasOwnProperty,Ru=Object.prototype.propertyIsEnumerable,no=(e,t,r)=>t in e?Iu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fo=(e,t)=>{for(var r in t||(t={}))Cu.call(t,r)&&no(e,r,t[r]);if(io)for(var r of io(t))Ru.call(t,r)&&no(e,r,t[r]);return e},Ou=(e,t)=>_u(e,Bu(t));function oo(e,t=\"-\"){const r={},i=\"relay\"+t;return Object.keys(e).forEach(n=>{if(n.startsWith(i)){const o=n.replace(i,\"\"),h=e[n];r[o]=h}}),r}function Pu(e){e=e.includes(\"wc://\")?e.replace(\"wc://\",\"\"):e,e=e.includes(\"wc:\")?e.replace(\"wc:\",\"\"):e;const t=e.indexOf(\":\"),r=e.indexOf(\"?\")!==-1?e.indexOf(\"?\"):void 0,i=e.substring(0,t),n=e.substring(t+1,r).split(\"@\"),o=typeof r<\"u\"?e.substring(r):\"\",h=Nr.parse(o),p=typeof h.methods==\"string\"?h.methods.split(\",\"):void 0;return{protocol:i,topic:so(n[0]),version:parseInt(n[1],10),symKey:h.symKey,relay:oo(h),methods:p,expiryTimestamp:h.expiryTimestamp?parseInt(h.expiryTimestamp,10):void 0}}function so(e){return e.startsWith(\"//\")?e.substring(2):e}function ao(e,t=\"-\"){const r=\"relay\",i={};return Object.keys(e).forEach(n=>{const o=r+t+n;e[n]&&(i[o]=e[n])}),i}function Du(e){return`${e.protocol}:${e.topic}@${e.version}?`+Nr.stringify(fo(Ou(fo({symKey:e.symKey},ao(e.relay)),{expiryTimestamp:e.expiryTimestamp}),e.methods?{methods:e.methods.join(\",\")}:{}))}var Fu=Object.defineProperty,Tu=Object.defineProperties,Uu=Object.getOwnPropertyDescriptors,uo=Object.getOwnPropertySymbols,ku=Object.prototype.hasOwnProperty,qu=Object.prototype.propertyIsEnumerable,ho=(e,t,r)=>t in e?Fu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Ku=(e,t)=>{for(var r in t||(t={}))ku.call(t,r)&&ho(e,r,t[r]);if(uo)for(var r of uo(t))qu.call(t,r)&&ho(e,r,t[r]);return e},Hu=(e,t)=>Tu(e,Uu(t));function $e(e){const t=[];return e.forEach(r=>{const[i,n]=r.split(\":\");t.push(`${i}:${n}`)}),t}function co(e){const t=[];return Object.values(e).forEach(r=>{t.push(...$e(r.accounts))}),t}function lo(e,t){const r=[];return Object.values(e).forEach(i=>{$e(i.accounts).includes(t)&&r.push(...i.methods)}),r}function po(e,t){const r=[];return Object.values(e).forEach(i=>{$e(i.accounts).includes(t)&&r.push(...i.events)}),r}function zu(e,t){const r=So(e,t);if(r)throw new Error(r.message);const i={};for(const[n,o]of Object.entries(e))i[n]={methods:o.methods,events:o.events,chains:o.accounts.map(h=>`${h.split(\":\")[0]}:${h.split(\":\")[1]}`)};return i}function Lu(e){const{proposal:{requiredNamespaces:t,optionalNamespaces:r={}},supportedNamespaces:i}=e,n=$i(t),o=$i(r),h={};Object.keys(i).forEach(m=>{const w=i[m].chains,y=i[m].methods,S=i[m].events,I=i[m].accounts;w.forEach(N=>{if(!I.some(C=>C.includes(N)))throw new Error(`No accounts provided for chain ${N} in namespace ${m}`)}),h[m]={chains:w,methods:y,events:S,accounts:I}});const p=Io(t,h,\"approve()\");if(p)throw new Error(p.message);const b={};return!Object.keys(t).length&&!Object.keys(r).length?h:(Object.keys(n).forEach(m=>{const w=i[m].chains.filter(N=>{var C,F;return(F=(C=n[m])==null?void 0:C.chains)==null?void 0:F.includes(N)}),y=i[m].methods.filter(N=>{var C,F;return(F=(C=n[m])==null?void 0:C.methods)==null?void 0:F.includes(N)}),S=i[m].events.filter(N=>{var C,F;return(F=(C=n[m])==null?void 0:C.events)==null?void 0:F.includes(N)}),I=w.map(N=>i[m].accounts.filter(C=>C.includes(`${N}:`))).flat();b[m]={chains:w,methods:y,events:S,accounts:I}}),Object.keys(o).forEach(m=>{var w,y,S,I,N,C;if(!i[m])return;const F=(y=(w=o[m])==null?void 0:w.chains)==null?void 0:y.filter(G=>i[m].chains.includes(G)),U=i[m].methods.filter(G=>{var H,z;return(z=(H=o[m])==null?void 0:H.methods)==null?void 0:z.includes(G)}),J=i[m].events.filter(G=>{var H,z;return(z=(H=o[m])==null?void 0:H.events)==null?void 0:z.includes(G)}),Bt=F?.map(G=>i[m].accounts.filter(H=>H.includes(`${G}:`))).flat();b[m]={chains:ge((S=b[m])==null?void 0:S.chains,F),methods:ge((I=b[m])==null?void 0:I.methods,U),events:ge((N=b[m])==null?void 0:N.events,J),accounts:ge((C=b[m])==null?void 0:C.accounts,Bt)}}),b)}function Zi(e){return e.includes(\":\")}function vo(e){return Zi(e)?e.split(\":\")[0]:e}function $i(e){var t,r,i;const n={};if(!Yr(e))return n;for(const[o,h]of Object.entries(e)){const p=Zi(o)?[o]:h.chains,b=h.methods||[],m=h.events||[],w=vo(o);n[w]=Hu(Ku({},n[w]),{chains:ge(p,(t=n[w])==null?void 0:t.chains),methods:ge(b,(r=n[w])==null?void 0:r.methods),events:ge(m,(i=n[w])==null?void 0:i.events)})}return n}function mo(e){const t={};return e?.forEach(r=>{const[i,n]=r.split(\":\");t[i]||(t[i]={accounts:[],chains:[],events:[]}),t[i].accounts.push(r),t[i].chains.push(`${i}:${n}`)}),t}function ju(e,t){t=t.map(i=>i.replace(\"did:pkh:\",\"\"));const r=mo(t);for(const[i,n]of Object.entries(r))n.methods?n.methods=ge(n.methods,e):n.methods=e,n.events=[\"chainChanged\",\"accountsChanged\"];return r}const go={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}},Ao={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 xe(e,t){const{message:r,code:i}=Ao[e];return{message:t?`${r} ${t}`:r,code:i}}function tr(e,t){const{message:r,code:i}=go[e];return{message:t?`${r} ${t}`:r,code:i}}function Er(e,t){return Array.isArray(e)?typeof t<\"u\"&&e.length?e.every(t):!0:!1}function Yr(e){return Object.getPrototypeOf(e)===Object.prototype&&Object.keys(e).length}function Pe(e){return typeof e>\"u\"}function Gt(e,t){return t&&Pe(e)?!0:typeof e==\"string\"&&!!e.trim().length}function Vr(e,t){return t&&Pe(e)?!0:typeof e==\"number\"&&!isNaN(e)}function Qu(e,t){const{requiredNamespaces:r}=t,i=Object.keys(e.namespaces),n=Object.keys(r);let o=!0;return _e(n,i)?(i.forEach(h=>{const{accounts:p,methods:b,events:m}=e.namespaces[h],w=$e(p),y=r[h];(!_e(_r(h,y),w)||!_e(y.methods,b)||!_e(y.events,m))&&(o=!1)}),o):!1}function Sr(e){return Gt(e,!1)&&e.includes(\":\")?e.split(\":\").length===2:!1}function bo(e){if(Gt(e,!1)&&e.includes(\":\")){const t=e.split(\":\");if(t.length===3){const r=t[0]+\":\"+t[1];return!!t[2]&&Sr(r)}}return!1}function Ju(e){if(Gt(e,!1))try{return typeof new URL(e)<\"u\"}catch{return!1}return!1}function Gu(e){var t;return(t=e?.proposer)==null?void 0:t.publicKey}function Yu(e){return e?.topic}function Vu(e,t){let r=null;return Gt(e?.publicKey,!1)||(r=xe(\"MISSING_OR_INVALID\",`${t} controller public key should be a string`)),r}function tn(e){let t=!0;return Er(e)?e.length&&(t=e.every(r=>Gt(r,!1))):t=!1,t}function yo(e,t,r){let i=null;return Er(t)&&t.length?t.forEach(n=>{i||Sr(n)||(i=tr(\"UNSUPPORTED_CHAINS\",`${r}, chain ${n} should be a string and conform to \"namespace:chainId\" format`))}):Sr(e)||(i=tr(\"UNSUPPORTED_CHAINS\",`${r}, chains must be defined as \"namespace:chainId\" e.g. \"eip155:1\": {...} in the namespace key OR as an array of CAIP-2 chainIds e.g. eip155: { chains: [\"eip155:1\", \"eip155:5\"] }`)),i}function wo(e,t,r){let i=null;return Object.entries(e).forEach(([n,o])=>{if(i)return;const h=yo(n,_r(n,o),`${t} ${r}`);h&&(i=h)}),i}function xo(e,t){let r=null;return Er(e)?e.forEach(i=>{r||bo(i)||(r=tr(\"UNSUPPORTED_ACCOUNTS\",`${t}, account ${i} should be a string and conform to \"namespace:chainId:address\" format`))}):r=tr(\"UNSUPPORTED_ACCOUNTS\",`${t}, accounts should be an array of strings conforming to \"namespace:chainId:address\" format`),r}function Mo(e,t){let r=null;return Object.values(e).forEach(i=>{if(r)return;const n=xo(i?.accounts,`${t} namespace`);n&&(r=n)}),r}function Eo(e,t){let r=null;return tn(e?.methods)?tn(e?.events)||(r=tr(\"UNSUPPORTED_EVENTS\",`${t}, events should be an array of strings or empty array for no events`)):r=tr(\"UNSUPPORTED_METHODS\",`${t}, methods should be an array of strings or empty array for no methods`),r}function en(e,t){let r=null;return Object.values(e).forEach(i=>{if(r)return;const n=Eo(i,`${t}, namespace`);n&&(r=n)}),r}function Wu(e,t,r){let i=null;if(e&&Yr(e)){const n=en(e,t);n&&(i=n);const o=wo(e,t,r);o&&(i=o)}else i=xe(\"MISSING_OR_INVALID\",`${t}, ${r} should be an object with data`);return i}function So(e,t){let r=null;if(e&&Yr(e)){const i=en(e,t);i&&(r=i);const n=Mo(e,t);n&&(r=n)}else r=xe(\"MISSING_OR_INVALID\",`${t}, namespaces should be an object with data`);return r}function No(e){return Gt(e.protocol,!0)}function Xu(e,t){let r=!1;return t&&!e?r=!0:e&&Er(e)&&e.length&&e.forEach(i=>{r=No(i)}),r}function Zu(e){return typeof e==\"number\"}function $u(e){return typeof e<\"u\"&&typeof e!==null}function th(e){return!(!e||typeof e!=\"object\"||!e.code||!Vr(e.code,!1)||!e.message||!Gt(e.message,!1))}function eh(e){return!(Pe(e)||!Gt(e.method,!1))}function rh(e){return!(Pe(e)||Pe(e.result)&&Pe(e.error)||!Vr(e.id,!1)||!Gt(e.jsonrpc,!1))}function ih(e){return!(Pe(e)||!Gt(e.name,!1))}function nh(e,t){return!(!Sr(t)||!co(e).includes(t))}function fh(e,t,r){return Gt(r,!1)?lo(e,t).includes(r):!1}function oh(e,t,r){return Gt(r,!1)?po(e,t).includes(r):!1}function Io(e,t,r){let i=null;const n=sh(e),o=ah(t),h=Object.keys(n),p=Object.keys(o),b=_o(Object.keys(e)),m=_o(Object.keys(t)),w=b.filter(y=>!m.includes(y));return w.length&&(i=xe(\"NON_CONFORMING_NAMESPACES\",`${r} namespaces keys don't satisfy requiredNamespaces.\n Required: ${w.toString()}\n Received: ${Object.keys(t).toString()}`)),_e(h,p)||(i=xe(\"NON_CONFORMING_NAMESPACES\",`${r} namespaces chains don't satisfy required namespaces.\n Required: ${h.toString()}\n Approved: ${p.toString()}`)),Object.keys(t).forEach(y=>{if(!y.includes(\":\")||i)return;const S=$e(t[y].accounts);S.includes(y)||(i=xe(\"NON_CONFORMING_NAMESPACES\",`${r} namespaces accounts don't satisfy namespace accounts for ${y}\n Required: ${y}\n Approved: ${S.toString()}`))}),h.forEach(y=>{i||(_e(n[y].methods,o[y].methods)?_e(n[y].events,o[y].events)||(i=xe(\"NON_CONFORMING_NAMESPACES\",`${r} namespaces events don't satisfy namespace events for ${y}`)):i=xe(\"NON_CONFORMING_NAMESPACES\",`${r} namespaces methods don't satisfy namespace methods for ${y}`))}),i}function sh(e){const t={};return Object.keys(e).forEach(r=>{var i;r.includes(\":\")?t[r]=e[r]:(i=e[r].chains)==null||i.forEach(n=>{t[n]={methods:e[r].methods,events:e[r].events}})}),t}function _o(e){return[...new Set(e.map(t=>t.includes(\":\")?t.split(\":\")[0]:t))]}function ah(e){const t={};return Object.keys(e).forEach(r=>{if(r.includes(\":\"))t[r]=e[r];else{const i=$e(e[r].accounts);i?.forEach(n=>{t[n]={accounts:e[r].accounts.filter(o=>o.includes(`${n}:`)),methods:e[r].methods,events:e[r].events}})}}),t}function uh(e,t){return Vr(e,!1)&&e<=t.max&&e>=t.min}function hh(){const e=We();return new Promise(t=>{switch(e){case qt.browser:t(Bo());break;case qt.reactNative:t(Co());break;case qt.node:t(Ro());break;default:t(!0)}})}function Bo(){return pr()&&navigator?.onLine}async function Co(){if(er()&&typeof global<\"u\"&&global!=null&&global.NetInfo){const e=await(global==null?void 0:global.NetInfo.fetch());return e?.isConnected}return!0}function Ro(){return!0}function ch(e){switch(We()){case qt.browser:Oo(e);break;case qt.reactNative:Po(e);break;case qt.node:break}}function Oo(e){!er()&&pr()&&(window.addEventListener(\"online\",()=>e(!0)),window.addEventListener(\"offline\",()=>e(!1)))}function Po(e){er()&&typeof global<\"u\"&&global!=null&&global.NetInfo&&global?.NetInfo.addEventListener(t=>e(t?.isConnected))}const rn={};class lh{static get(t){return rn[t]}static set(t,r){rn[t]=r}static delete(t){delete rn[t]}}export{Gi as BASE10,zt as BASE16,Jr as BASE64,Yo as COLON,di as DEFAULT_DEPTH,Br as EMPTY_SPACE,qt as ENV_MAP,Ao as INTERNAL_ERRORS,lh as MemoryStore,Vo as ONE_THOUSAND,xn as REACT_NATIVE_PRODUCT,ro as RELAYER_DEFAULT_PROTOCOL,go as SDK_ERRORS,En as SDK_TYPE,Mn as SLASH,Yi as TYPE_0,lr as TYPE_1,Gr as UTF8,Vf as addResourceToRecap,Sn as appendToQueryString,e0 as assertType,ji as assignAbilityToActions,Gf as base64Decode,Jf as base64Encode,Lu as buildApprovedNamespaces,su as buildAuthObject,ju as buildNamespacesFromAuth,Xf as buildRecapStatement,d0 as calcExpiry,s0 as capitalize,Rn as capitalizeWord,a0 as createDelayedPromise,cu as createEncodedRecap,u0 as createExpiringPromise,Yf as createRecap,Oe as decodeRecap,Mr as decodeTypeByte,xu as decrypt,Au as deriveSymKey,Xi as deserialize,jr as encodeRecap,$f as encodeTypeByte,wu as encrypt,v0 as engineEvent,o0 as enumify,vn as formatAccountId,Ko as formatAccountWithChain,pn as formatChainId,vi as formatExpirerTarget,c0 as formatIdTarget,zf as formatMessage,r0 as formatMessageContext,ao as formatRelayParams,$o as formatRelayRpcUrl,Ji as formatStatementFromRecap,h0 as formatTopicTarget,_n as formatUA,Du as formatUri,mu as generateKeyPair,gu as generateRandomBytes32,$e as getAccountsChains,zo as getAccountsFromNamespaces,mn as getAddressFromAccount,Ho as getAddressesFromAccounts,Xo as getAppMetadata,Bo as getBrowserOnlineStatus,Wo as getBundleId,gn as getChainFromAccount,An as getChainsFromAccounts,_r as getChainsFromNamespace,Lo as getChainsFromNamespaces,pu as getChainsFromRecap,jo as getChainsFromRequiredNamespaces,mi as getCommonValuesInArrays,Lf as getDecodedRecapFromResources,g0 as getDeepLink,Li as getDidAddress,Lr as getDidAddressSegments,zi as getDidChainId,We as getEnvironment,t0 as getHttpUrl,xe as getInternalError,In as getJavascriptID,Nn as getJavascriptOS,Cn as getLastItems,du as getMethodsFromRecap,fu as getNamespacedDidChainId,co as getNamespacesChains,po as getNamespacesEventsForChainId,mo as getNamespacesFromAccounts,lo as getNamespacesMethodsForChainId,Ro as getNodeOnlineStatus,Qf as getReCapActions,Co as getReactNativeOnlineStatus,hu as getRecapAbilitiesFromResource,Qr as getRecapFromResources,jf as getRecapResource,Zo as getRelayClientMetadata,Nu as getRelayProtocolApi,Su as getRelayProtocolName,zu as getRequiredNamespacesFromNamespaces,tr as getSdkError,li as getUniqueValues,m0 as handleDeeplinkRedirect,_e as hasOverlap,bu as hashKey,yu as hashMessage,pr as isBrowser,Zi as isCaipNamespace,Io as isConformingNamespaces,p0 as isExpired,pi as isNode,hh as isOnline,Gu as isProposalStruct,er as isReactNative,Qi as isRecap,Qu as isSessionCompatible,Yu as isSessionStruct,Eu as isTypeOneEnvelope,Pe as isUndefined,bo as isValidAccountId,xo as isValidAccounts,Eo as isValidActions,Er as isValidArray,Sr as isValidChainId,yo as isValidChains,Vu as isValidController,kf as isValidEip1271Signature,Uf as isValidEip191Signature,th as isValidErrorReason,ih as isValidEvent,Zu as isValidId,Mo as isValidNamespaceAccounts,en as isValidNamespaceActions,wo as isValidNamespaceChains,tn as isValidNamespaceMethodsOrEvents,So as isValidNamespaces,nh as isValidNamespacesChainId,oh as isValidNamespacesEvent,fh as isValidNamespacesRequest,Vr as isValidNumber,Yr as isValidObject,$u as isValidParams,me as isValidRecap,No as isValidRelay,Xu as isValidRelays,eh as isValidRequest,uh as isValidRequestExpiry,Wu as isValidRequiredNamespaces,rh as isValidResponse,Gt as isValidString,Ju as isValidUrl,f0 as mapEntries,i0 as mapToObj,ge as mergeArrays,lu as mergeEncodedRecaps,Wf as mergeRecaps,$i as normalizeNamespaces,n0 as objToMap,ci as parseAccountId,dn as parseChainId,Bn as parseContextNames,l0 as parseExpirerTarget,vo as parseNamespaceKey,oo as parseRelayParams,so as parseTopic,Pu as parseUri,au as populateAuthPayload,uu as recapHasResource,to as serialize,Oo as subscribeToBrowserNetworkChange,ch as subscribeToNetworkChange,Po as subscribeToReactNativeNetworkChange,Mu as validateDecoding,eo as validateEncoding,ou as validateSignedCacao,Tf as verifySignature};\n//# sourceMappingURL=index.es.js.map\n","import{IEvents as e}from\"@walletconnect/events\";import c,{EventEmitter as i}from\"events\";class n extends e{constructor(s){super(),this.opts=s,this.protocol=\"wc\",this.version=2}}class l{constructor(s,t,o){this.core=s,this.logger=t}}class h extends e{constructor(s,t){super(),this.core=s,this.logger=t,this.records=new Map}}class a{constructor(s,t){this.logger=s,this.core=t}}class u extends e{constructor(s,t){super(),this.relayer=s,this.logger=t}}class g extends e{constructor(s){super()}}class p{constructor(s,t,o,M){this.core=s,this.logger=t,this.name=o}}class I{constructor(){this.map=new Map}}class d extends e{constructor(s,t){super(),this.relayer=s,this.logger=t}}class x{constructor(s,t){this.core=s,this.logger=t}}class E extends e{constructor(s,t){super(),this.core=s,this.logger=t}}class m{constructor(s,t){this.logger=s,this.core=t}}class y{constructor(s,t){this.projectId=s,this.logger=t}}class v{constructor(s,t){this.projectId=s,this.logger=t}}class C extends c{constructor(){super()}}class b{constructor(s){this.opts=s,this.protocol=\"wc\",this.version=2}}class S extends i{constructor(){super()}}class w{constructor(s){this.client=s}}export{n as ICore,l as ICrypto,v as IEchoClient,w as IEngine,S as IEngineEvents,E as IExpirer,h as IJsonRpcHistory,x as IKeyChain,a as IMessageTracker,m as IPairing,u as IPublisher,g as IRelayer,b as ISignClient,C as ISignClientEvents,p as IStore,d as ISubscriber,I as ISubscriberTopicMap,y as IVerify};\n//# sourceMappingURL=index.es.js.map\n","import Qt,{EventEmitter as U}from\"events\";import Zt from\"@walletconnect/keyvaluestorage\";import{HEARTBEAT_EVENTS as G,HeartBeat as ei}from\"@walletconnect/heartbeat\";import{generateChildLogger as b,getLoggerContext as w,pino as ti,getDefaultLoggerOptions as Ee,generatePlatformLogger as ii}from\"@walletconnect/logger\";import{IMessageTracker as si,IPublisher as ri,ISubscriber as ni,IRelayer as oi,IStore as ai,IJsonRpcHistory as hi,IExpirer as ci,IVerify as li,IEchoClient as ui,ICore as di}from\"@walletconnect/types\";import{safeJsonStringify as gi,safeJsonParse as pi}from\"@walletconnect/safe-json\";import*as Y from\"@walletconnect/relay-auth\";import{getInternalError as c,mapToObj as we,objToMap as ve,generateKeyPair as Di,generateRandomBytes32 as se,deriveSymKey as yi,hashKey as mi,validateEncoding as bi,isTypeOneEnvelope as Ie,encrypt as fi,validateDecoding as Ei,decrypt as wi,deserialize as Ce,decodeTypeByte as vi,BASE16 as Ii,hashMessage as re,getRelayProtocolName as ne,createExpiringPromise as B,getRelayProtocolApi as H,isUndefined as oe,getSdkError as M,isValidArray as Ci,isNode as ae,getBundleId as _i,isOnline as _e,formatRelayRpcUrl as Ri,subscribeToNetworkChange as Ti,isProposalStruct as Si,isSessionStruct as Pi,TYPE_1 as xi,calcExpiry as J,formatUri as Oi,parseUri as Re,createDelayedPromise as Ai,engineEvent as he,isExpired as Te,isValidParams as ce,isValidUrl as zi,isValidString as Ni,parseExpirerTarget as Li,formatTopicTarget as Ui,formatIdTarget as $i,isReactNative as Fi,isBrowser as ki}from\"@walletconnect/utils\";import{toString as Bi}from\"uint8arrays\";import{ONE_DAY as $,SIX_HOURS as Mi,ONE_SECOND as X,THIRTY_DAYS as W,FIVE_SECONDS as Se,THIRTY_SECONDS as le,toMiliseconds as T,ONE_MINUTE as ue,Watch as Ki,FIVE_MINUTES as Pe}from\"@walletconnect/time\";import{JsonRpcProvider as Vi}from\"@walletconnect/jsonrpc-provider\";import{getBigIntRpcId as xe,isJsonRpcRequest as Oe,isJsonRpcResponse as Ae,formatJsonRpcResult as ze,formatJsonRpcRequest as Ne,formatJsonRpcError as qi,isJsonRpcResult as ji,isJsonRpcError as Le}from\"@walletconnect/jsonrpc-utils\";import Gi from\"@walletconnect/jsonrpc-ws-connection\";import Yi from\"lodash.isequal\";import Hi from\"isomorphic-unfetch\";function Ji(n,e){if(n.length>=255)throw new TypeError(\"Alphabet too long\");for(var t=new Uint8Array(256),i=0;i>>0,E=new Uint8Array(x);D!==P;){for(var O=u[D],N=0,R=x-1;(O!==0||N<_)&&R!==-1;R--,N++)O+=256*E[R]>>>0,E[R]=O%a>>>0,O=O/a>>>0;if(O!==0)throw new Error(\"Non-zero carry\");_=N,D++}for(var A=x-_;A!==x&&E[A]===0;)A++;for(var j=h.repeat(p);A>>0,x=new Uint8Array(P);u[p];){var E=t[u.charCodeAt(p)];if(E===255)return;for(var O=0,N=P-1;(E!==0||O>>0,x[N]=E%256>>>0,E=E/256>>>0;if(E!==0)throw new Error(\"Non-zero carry\");D=O,p++}if(u[p]!==\" \"){for(var R=P-D;R!==P&&x[R]===0;)R++;for(var A=new Uint8Array(_+(P-R)),j=_;R!==P;)A[j++]=x[R++];return A}}}function L(u){var p=m(u);if(p)return p;throw new Error(`Non-${e} character`)}return{encode:g,decodeUnsafe:m,decode:L}}var Xi=Ji,Wi=Xi;const Ue=n=>{if(n instanceof Uint8Array&&n.constructor.name===\"Uint8Array\")return n;if(n instanceof ArrayBuffer)return new Uint8Array(n);if(ArrayBuffer.isView(n))return new Uint8Array(n.buffer,n.byteOffset,n.byteLength);throw new Error(\"Unknown type, must be binary type\")},Qi=n=>new TextEncoder().encode(n),Zi=n=>new TextDecoder().decode(n);class es{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 ts{constructor(e,t,i){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error(\"Invalid prefix character\");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=i}decode(e){if(typeof e==\"string\"){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))}else throw Error(\"Can only multibase decode strings\")}or(e){return $e(this,e)}}class is{constructor(e){this.decoders=e}or(e){return $e(this,e)}decode(e){const 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`)}}const $e=(n,e)=>new is({...n.decoders||{[n.prefix]:n},...e.decoders||{[e.prefix]:e}});class ss{constructor(e,t,i,s){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=s,this.encoder=new es(e,t,i),this.decoder=new ts(e,t,s)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const Q=({name:n,prefix:e,encode:t,decode:i})=>new ss(n,e,t,i),K=({prefix:n,name:e,alphabet:t})=>{const{encode:i,decode:s}=Wi(t,e);return Q({prefix:n,name:e,encode:i,decode:r=>Ue(s(r))})},rs=(n,e,t,i)=>{const s={};for(let d=0;d=8&&(a-=8,o[l++]=255&h>>a)}if(a>=t||255&h<<8-a)throw new SyntaxError(\"Unexpected end of data\");return o},ns=(n,e,t)=>{const i=e[e.length-1]===\"=\",s=(1<t;)o-=t,r+=e[s&a>>o];if(o&&(r+=e[s&a<Q({prefix:e,name:n,encode(s){return ns(s,i,t)},decode(s){return rs(s,i,t,n)}}),os=Q({prefix:\"\\0\",name:\"identity\",encode:n=>Zi(n),decode:n=>Qi(n)});var as=Object.freeze({__proto__:null,identity:os});const hs=y({prefix:\"0\",name:\"base2\",alphabet:\"01\",bitsPerChar:1});var cs=Object.freeze({__proto__:null,base2:hs});const ls=y({prefix:\"7\",name:\"base8\",alphabet:\"01234567\",bitsPerChar:3});var us=Object.freeze({__proto__:null,base8:ls});const ds=K({prefix:\"9\",name:\"base10\",alphabet:\"0123456789\"});var gs=Object.freeze({__proto__:null,base10:ds});const ps=y({prefix:\"f\",name:\"base16\",alphabet:\"0123456789abcdef\",bitsPerChar:4}),Ds=y({prefix:\"F\",name:\"base16upper\",alphabet:\"0123456789ABCDEF\",bitsPerChar:4});var ys=Object.freeze({__proto__:null,base16:ps,base16upper:Ds});const ms=y({prefix:\"b\",name:\"base32\",alphabet:\"abcdefghijklmnopqrstuvwxyz234567\",bitsPerChar:5}),bs=y({prefix:\"B\",name:\"base32upper\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567\",bitsPerChar:5}),fs=y({prefix:\"c\",name:\"base32pad\",alphabet:\"abcdefghijklmnopqrstuvwxyz234567=\",bitsPerChar:5}),Es=y({prefix:\"C\",name:\"base32padupper\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=\",bitsPerChar:5}),ws=y({prefix:\"v\",name:\"base32hex\",alphabet:\"0123456789abcdefghijklmnopqrstuv\",bitsPerChar:5}),vs=y({prefix:\"V\",name:\"base32hexupper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUV\",bitsPerChar:5}),Is=y({prefix:\"t\",name:\"base32hexpad\",alphabet:\"0123456789abcdefghijklmnopqrstuv=\",bitsPerChar:5}),Cs=y({prefix:\"T\",name:\"base32hexpadupper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUV=\",bitsPerChar:5}),_s=y({prefix:\"h\",name:\"base32z\",alphabet:\"ybndrfg8ejkmcpqxot1uwisza345h769\",bitsPerChar:5});var Rs=Object.freeze({__proto__:null,base32:ms,base32upper:bs,base32pad:fs,base32padupper:Es,base32hex:ws,base32hexupper:vs,base32hexpad:Is,base32hexpadupper:Cs,base32z:_s});const Ts=K({prefix:\"k\",name:\"base36\",alphabet:\"0123456789abcdefghijklmnopqrstuvwxyz\"}),Ss=K({prefix:\"K\",name:\"base36upper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\"});var Ps=Object.freeze({__proto__:null,base36:Ts,base36upper:Ss});const xs=K({name:\"base58btc\",prefix:\"z\",alphabet:\"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\"}),Os=K({name:\"base58flickr\",prefix:\"Z\",alphabet:\"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ\"});var As=Object.freeze({__proto__:null,base58btc:xs,base58flickr:Os});const zs=y({prefix:\"m\",name:\"base64\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",bitsPerChar:6}),Ns=y({prefix:\"M\",name:\"base64pad\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",bitsPerChar:6}),Ls=y({prefix:\"u\",name:\"base64url\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_\",bitsPerChar:6}),Us=y({prefix:\"U\",name:\"base64urlpad\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=\",bitsPerChar:6});var $s=Object.freeze({__proto__:null,base64:zs,base64pad:Ns,base64url:Ls,base64urlpad:Us});const Fe=Array.from(\"\\u{1F680}\\u{1FA90}\\u2604\\u{1F6F0}\\u{1F30C}\\u{1F311}\\u{1F312}\\u{1F313}\\u{1F314}\\u{1F315}\\u{1F316}\\u{1F317}\\u{1F318}\\u{1F30D}\\u{1F30F}\\u{1F30E}\\u{1F409}\\u2600\\u{1F4BB}\\u{1F5A5}\\u{1F4BE}\\u{1F4BF}\\u{1F602}\\u2764\\u{1F60D}\\u{1F923}\\u{1F60A}\\u{1F64F}\\u{1F495}\\u{1F62D}\\u{1F618}\\u{1F44D}\\u{1F605}\\u{1F44F}\\u{1F601}\\u{1F525}\\u{1F970}\\u{1F494}\\u{1F496}\\u{1F499}\\u{1F622}\\u{1F914}\\u{1F606}\\u{1F644}\\u{1F4AA}\\u{1F609}\\u263A\\u{1F44C}\\u{1F917}\\u{1F49C}\\u{1F614}\\u{1F60E}\\u{1F607}\\u{1F339}\\u{1F926}\\u{1F389}\\u{1F49E}\\u270C\\u2728\\u{1F937}\\u{1F631}\\u{1F60C}\\u{1F338}\\u{1F64C}\\u{1F60B}\\u{1F497}\\u{1F49A}\\u{1F60F}\\u{1F49B}\\u{1F642}\\u{1F493}\\u{1F929}\\u{1F604}\\u{1F600}\\u{1F5A4}\\u{1F603}\\u{1F4AF}\\u{1F648}\\u{1F447}\\u{1F3B6}\\u{1F612}\\u{1F92D}\\u2763\\u{1F61C}\\u{1F48B}\\u{1F440}\\u{1F62A}\\u{1F611}\\u{1F4A5}\\u{1F64B}\\u{1F61E}\\u{1F629}\\u{1F621}\\u{1F92A}\\u{1F44A}\\u{1F973}\\u{1F625}\\u{1F924}\\u{1F449}\\u{1F483}\\u{1F633}\\u270B\\u{1F61A}\\u{1F61D}\\u{1F634}\\u{1F31F}\\u{1F62C}\\u{1F643}\\u{1F340}\\u{1F337}\\u{1F63B}\\u{1F613}\\u2B50\\u2705\\u{1F97A}\\u{1F308}\\u{1F608}\\u{1F918}\\u{1F4A6}\\u2714\\u{1F623}\\u{1F3C3}\\u{1F490}\\u2639\\u{1F38A}\\u{1F498}\\u{1F620}\\u261D\\u{1F615}\\u{1F33A}\\u{1F382}\\u{1F33B}\\u{1F610}\\u{1F595}\\u{1F49D}\\u{1F64A}\\u{1F639}\\u{1F5E3}\\u{1F4AB}\\u{1F480}\\u{1F451}\\u{1F3B5}\\u{1F91E}\\u{1F61B}\\u{1F534}\\u{1F624}\\u{1F33C}\\u{1F62B}\\u26BD\\u{1F919}\\u2615\\u{1F3C6}\\u{1F92B}\\u{1F448}\\u{1F62E}\\u{1F646}\\u{1F37B}\\u{1F343}\\u{1F436}\\u{1F481}\\u{1F632}\\u{1F33F}\\u{1F9E1}\\u{1F381}\\u26A1\\u{1F31E}\\u{1F388}\\u274C\\u270A\\u{1F44B}\\u{1F630}\\u{1F928}\\u{1F636}\\u{1F91D}\\u{1F6B6}\\u{1F4B0}\\u{1F353}\\u{1F4A2}\\u{1F91F}\\u{1F641}\\u{1F6A8}\\u{1F4A8}\\u{1F92C}\\u2708\\u{1F380}\\u{1F37A}\\u{1F913}\\u{1F619}\\u{1F49F}\\u{1F331}\\u{1F616}\\u{1F476}\\u{1F974}\\u25B6\\u27A1\\u2753\\u{1F48E}\\u{1F4B8}\\u2B07\\u{1F628}\\u{1F31A}\\u{1F98B}\\u{1F637}\\u{1F57A}\\u26A0\\u{1F645}\\u{1F61F}\\u{1F635}\\u{1F44E}\\u{1F932}\\u{1F920}\\u{1F927}\\u{1F4CC}\\u{1F535}\\u{1F485}\\u{1F9D0}\\u{1F43E}\\u{1F352}\\u{1F617}\\u{1F911}\\u{1F30A}\\u{1F92F}\\u{1F437}\\u260E\\u{1F4A7}\\u{1F62F}\\u{1F486}\\u{1F446}\\u{1F3A4}\\u{1F647}\\u{1F351}\\u2744\\u{1F334}\\u{1F4A3}\\u{1F438}\\u{1F48C}\\u{1F4CD}\\u{1F940}\\u{1F922}\\u{1F445}\\u{1F4A1}\\u{1F4A9}\\u{1F450}\\u{1F4F8}\\u{1F47B}\\u{1F910}\\u{1F92E}\\u{1F3BC}\\u{1F975}\\u{1F6A9}\\u{1F34E}\\u{1F34A}\\u{1F47C}\\u{1F48D}\\u{1F4E3}\\u{1F942}\"),Fs=Fe.reduce((n,e,t)=>(n[t]=e,n),[]),ks=Fe.reduce((n,e,t)=>(n[e.codePointAt(0)]=t,n),[]);function Bs(n){return n.reduce((e,t)=>(e+=Fs[t],e),\"\")}function Ms(n){const e=[];for(const t of n){const i=ks[t.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}const Ks=Q({prefix:\"\\u{1F680}\",name:\"base256emoji\",encode:Bs,decode:Ms});var Vs=Object.freeze({__proto__:null,base256emoji:Ks}),qs=Be,ke=128,js=127,Gs=~js,Ys=Math.pow(2,31);function Be(n,e,t){e=e||[],t=t||0;for(var i=t;n>=Ys;)e[t++]=n&255|ke,n/=128;for(;n&Gs;)e[t++]=n&255|ke,n>>>=7;return e[t]=n|0,Be.bytes=t-i+1,e}var Hs=de,Js=128,Me=127;function de(n,i){var t=0,i=i||0,s=0,r=i,o,a=n.length;do{if(r>=a)throw de.bytes=0,new RangeError(\"Could not decode varint\");o=n[r++],t+=s<28?(o&Me)<=Js);return de.bytes=r-i,t}var Xs=Math.pow(2,7),Ws=Math.pow(2,14),Qs=Math.pow(2,21),Zs=Math.pow(2,28),er=Math.pow(2,35),tr=Math.pow(2,42),ir=Math.pow(2,49),sr=Math.pow(2,56),rr=Math.pow(2,63),nr=function(n){return n(Ke.encode(n,e,t),e),qe=n=>Ke.encodingLength(n),ge=(n,e)=>{const t=e.byteLength,i=qe(n),s=i+qe(t),r=new Uint8Array(s+t);return Ve(n,r,0),Ve(t,r,i),r.set(e,s),new ar(n,t,e,r)};class ar{constructor(e,t,i,s){this.code=e,this.size=t,this.digest=i,this.bytes=s}}const je=({name:n,code:e,encode:t})=>new hr(n,e,t);class hr{constructor(e,t,i){this.name=e,this.code=t,this.encode=i}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?ge(this.code,t):t.then(i=>ge(this.code,i))}else throw Error(\"Unknown type, must be binary type\")}}const Ge=n=>async e=>new Uint8Array(await crypto.subtle.digest(n,e)),cr=je({name:\"sha2-256\",code:18,encode:Ge(\"SHA-256\")}),lr=je({name:\"sha2-512\",code:19,encode:Ge(\"SHA-512\")});var ur=Object.freeze({__proto__:null,sha256:cr,sha512:lr});const Ye=0,dr=\"identity\",He=Ue,gr=n=>ge(Ye,He(n)),pr={code:Ye,name:dr,encode:He,digest:gr};var Dr=Object.freeze({__proto__:null,identity:pr});new TextEncoder,new TextDecoder;const Je={...as,...cs,...us,...gs,...ys,...Rs,...Ps,...As,...$s,...Vs};({...ur,...Dr});function Xe(n){return globalThis.Buffer!=null?new Uint8Array(n.buffer,n.byteOffset,n.byteLength):n}function yr(n=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?Xe(globalThis.Buffer.allocUnsafe(n)):new Uint8Array(n)}function We(n,e,t,i){return{name:n,prefix:e,encoder:{name:n,prefix:e,encode:t},decoder:{decode:i}}}const Qe=We(\"utf8\",\"u\",n=>\"u\"+new TextDecoder(\"utf8\").decode(n),n=>new TextEncoder().encode(n.substring(1))),pe=We(\"ascii\",\"a\",n=>{let e=\"a\";for(let t=0;t{n=n.substring(1);const e=yr(n.length);for(let t=0;t{if(!this.initialized){const i=await this.getKeyChain();typeof i<\"u\"&&(this.keychain=i),this.initialized=!0}},this.has=i=>(this.isInitialized(),this.keychain.has(i)),this.set=async(i,s)=>{this.isInitialized(),this.keychain.set(i,s),await this.persist()},this.get=i=>{this.isInitialized();const s=this.keychain.get(i);if(typeof s>\"u\"){const{message:r}=c(\"NO_MATCHING_KEY\",`${this.name}: ${i}`);throw new Error(r)}return s},this.del=async i=>{this.isInitialized(),this.keychain.delete(i),await this.persist()},this.core=e,this.logger=b(t,this.name)}get context(){return w(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,we(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<\"u\"?ve(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class At{constructor(e,t,i){this.core=e,this.logger=t,this.name=it,this.initialized=!1,this.init=async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)},this.hasKeys=s=>(this.isInitialized(),this.keychain.has(s)),this.getClientId=async()=>{this.isInitialized();const s=await this.getClientSeed(),r=Y.generateKeyPair(s);return Y.encodeIss(r.publicKey)},this.generateKeyPair=()=>{this.isInitialized();const s=Di();return this.setPrivateKey(s.publicKey,s.privateKey)},this.signJWT=async s=>{this.isInitialized();const r=await this.getClientSeed(),o=Y.generateKeyPair(r),a=se(),h=st;return await Y.signJWT(a,s,h,o)},this.generateSharedKey=(s,r,o)=>{this.isInitialized();const a=this.getPrivateKey(s),h=yi(a,r);return this.setSymKey(h,o)},this.setSymKey=async(s,r)=>{this.isInitialized();const o=r||mi(s);return await this.keychain.set(o,s),o},this.deleteKeyPair=async s=>{this.isInitialized(),await this.keychain.del(s)},this.deleteSymKey=async s=>{this.isInitialized(),await this.keychain.del(s)},this.encode=async(s,r,o)=>{this.isInitialized();const a=bi(o),h=gi(r);if(Ie(a)){const m=a.senderPublicKey,L=a.receiverPublicKey;s=await this.generateSharedKey(m,L)}const l=this.getSymKey(s),{type:d,senderPublicKey:g}=a;return fi({type:d,symKey:l,message:h,senderPublicKey:g})},this.decode=async(s,r,o)=>{this.isInitialized();const a=Ei(r,o);if(Ie(a)){const h=a.receiverPublicKey,l=a.senderPublicKey;s=await this.generateSharedKey(h,l)}try{const h=this.getSymKey(s),l=wi({symKey:h,encoded:r});return pi(l)}catch(h){this.logger.error(`Failed to decode message from topic: '${s}', clientId: '${await this.getClientId()}'`),this.logger.error(h)}},this.getPayloadType=s=>{const r=Ce(s);return vi(r.type)},this.getPayloadSenderPublicKey=s=>{const r=Ce(s);return r.senderPublicKey?Bi(r.senderPublicKey,Ii):void 0},this.core=e,this.logger=b(t,this.name),this.keychain=i||new Ot(this.core,this.logger)}get context(){return w(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(ye)}catch{e=se(),await this.keychain.set(ye,e)}return br(e,\"base16\")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class zt extends si{constructor(e,t){super(e,t),this.logger=e,this.core=t,this.messages=new Map,this.name=ot,this.version=at,this.initialized=!1,this.storagePrefix=z,this.init=async()=>{if(!this.initialized){this.logger.trace(\"Initialized\");try{const i=await this.getRelayerMessages();typeof i<\"u\"&&(this.messages=i),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",size:this.messages.size})}catch(i){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(i)}finally{this.initialized=!0}}},this.set=async(i,s)=>{this.isInitialized();const r=re(s);let o=this.messages.get(i);return typeof o>\"u\"&&(o={}),typeof o[r]<\"u\"||(o[r]=s,this.messages.set(i,o),await this.persist()),r},this.get=i=>{this.isInitialized();let s=this.messages.get(i);return typeof s>\"u\"&&(s={}),s},this.has=(i,s)=>{this.isInitialized();const r=this.get(i),o=re(s);return typeof r[o]<\"u\"},this.del=async i=>{this.isInitialized(),this.messages.delete(i),await this.persist()},this.logger=b(e,this.name),this.core=t}get context(){return w(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,we(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<\"u\"?ve(e):void 0}async persist(){await this.setRelayerMessages(this.messages)}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class Ir extends ri{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.events=new U,this.name=ct,this.queue=new Map,this.publishTimeout=T(ue),this.failedPublishTimeout=T(X),this.needsTransportRestart=!1,this.publish=async(i,s,r)=>{var o;this.logger.debug(\"Publishing Payload\"),this.logger.trace({type:\"method\",method:\"publish\",params:{topic:i,message:s,opts:r}});const a=r?.ttl||ht,h=ne(r),l=r?.prompt||!1,d=r?.tag||0,g=r?.id||xe().toString(),m={topic:i,message:s,opts:{ttl:a,relay:h,prompt:l,tag:d,id:g}},L=`Failed to publish payload, please try again. id:${g} tag:${d}`,u=Date.now();let p,_=1;try{for(;p===void 0;){if(Date.now()-u>this.publishTimeout)throw new Error(L);this.logger.trace({id:g,attempts:_},`publisher.publish - attempt ${_}`),p=await await B(this.rpcPublish(i,s,a,h,l,d,g).catch(D=>this.logger.warn(D)),this.publishTimeout,L),_++,p||await new Promise(D=>setTimeout(D,this.failedPublishTimeout))}this.relayer.events.emit(v.publish,m),this.logger.debug(\"Successfully Published Payload\"),this.logger.trace({type:\"method\",method:\"publish\",params:{id:g,topic:i,message:s,opts:r}})}catch(D){if(this.logger.debug(\"Failed to Publish Payload\"),this.logger.error(D),(o=r?.internal)!=null&&o.throwOnFailedPublish)throw D;this.queue.set(g,m)}},this.on=(i,s)=>{this.events.on(i,s)},this.once=(i,s)=>{this.events.once(i,s)},this.off=(i,s)=>{this.events.off(i,s)},this.removeListener=(i,s)=>{this.events.removeListener(i,s)},this.relayer=e,this.logger=b(t,this.name),this.registerEventListeners()}get context(){return w(this.logger)}rpcPublish(e,t,i,s,r,o,a){var h,l,d,g;const m={method:H(s.protocol).publish,params:{topic:e,message:t,ttl:i,prompt:r,tag:o},id:a};return oe((h=m.params)==null?void 0:h.prompt)&&((l=m.params)==null||delete l.prompt),oe((d=m.params)==null?void 0:d.tag)&&((g=m.params)==null||delete g.tag),this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"message\",direction:\"outgoing\",request:m}),this.relayer.request(m)}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async e=>{const{topic:t,message:i,opts:s}=e;await this.publish(t,i,s)})}registerEventListeners(){this.relayer.core.heartbeat.on(G.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(v.connection_stalled);return}this.checkQueue()}),this.relayer.on(v.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}class Cr{constructor(){this.map=new Map,this.set=(e,t)=>{const i=this.get(e);this.exists(e,t)||this.map.set(e,[...i,t])},this.get=e=>this.map.get(e)||[],this.exists=(e,t)=>this.get(e).includes(t),this.delete=(e,t)=>{if(typeof t>\"u\"){this.map.delete(e);return}if(!this.map.has(e))return;const i=this.get(e);if(!this.exists(e,t))return;const s=i.filter(r=>r!==t);if(!s.length){this.map.delete(e);return}this.map.set(e,s)},this.clear=()=>{this.map.clear()}}get topics(){return Array.from(this.map.keys())}}var _r=Object.defineProperty,Rr=Object.defineProperties,Tr=Object.getOwnPropertyDescriptors,Nt=Object.getOwnPropertySymbols,Sr=Object.prototype.hasOwnProperty,Pr=Object.prototype.propertyIsEnumerable,Lt=(n,e,t)=>e in n?_r(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,q=(n,e)=>{for(var t in e||(e={}))Sr.call(e,t)&&Lt(n,t,e[t]);if(Nt)for(var t of Nt(e))Pr.call(e,t)&&Lt(n,t,e[t]);return n},fe=(n,e)=>Rr(n,Tr(e));class Ut extends ni{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.subscriptions=new Map,this.topicMap=new Cr,this.events=new U,this.name=ft,this.version=Et,this.pending=new Map,this.cached=[],this.initialized=!1,this.pendingSubscriptionWatchLabel=\"pending_sub_watch_label\",this.pollingInterval=20,this.storagePrefix=z,this.subscribeTimeout=T(ue),this.restartInProgress=!1,this.batchSubscribeTopicsLimit=500,this.init=async()=>{this.initialized||(this.logger.trace(\"Initialized\"),this.registerEventListeners(),this.clientId=await this.relayer.core.crypto.getClientId())},this.subscribe=async(i,s)=>{await this.restartToComplete(),this.isInitialized(),this.logger.debug(\"Subscribing Topic\"),this.logger.trace({type:\"method\",method:\"subscribe\",params:{topic:i,opts:s}});try{const r=ne(s),o={topic:i,relay:r};this.pending.set(i,o);const a=await this.rpcSubscribe(i,r);return typeof a==\"string\"&&(this.onSubscribe(a,o),this.logger.debug(\"Successfully Subscribed Topic\"),this.logger.trace({type:\"method\",method:\"subscribe\",params:{topic:i,opts:s}})),a}catch(r){throw this.logger.debug(\"Failed to Subscribe Topic\"),this.logger.error(r),r}},this.unsubscribe=async(i,s)=>{await this.restartToComplete(),this.isInitialized(),typeof s?.id<\"u\"?await this.unsubscribeById(i,s.id,s):await this.unsubscribeByTopic(i,s)},this.isSubscribed=async i=>{if(this.topics.includes(i))return!0;const s=`${this.pendingSubscriptionWatchLabel}_${i}`;return await new Promise((r,o)=>{const a=new Ki;a.start(s);const h=setInterval(()=>{!this.pending.has(i)&&this.topics.includes(i)&&(clearInterval(h),a.stop(s),r(!0)),a.elapsed(s)>=wt&&(clearInterval(h),a.stop(s),o(new Error(\"Subscription resolution timeout\")))},this.pollingInterval)}).catch(()=>!1)},this.on=(i,s)=>{this.events.on(i,s)},this.once=(i,s)=>{this.events.once(i,s)},this.off=(i,s)=>{this.events.off(i,s)},this.removeListener=(i,s)=>{this.events.removeListener(i,s)},this.start=async()=>{await this.onConnect()},this.stop=async()=>{await this.onDisconnect()},this.restart=async()=>{this.restartInProgress=!0,await this.restore(),await this.reset(),this.restartInProgress=!1},this.relayer=e,this.logger=b(t,this.name),this.clientId=\"\"}get context(){return w(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.relayer.core.customStoragePrefix+\"//\"+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}hasSubscription(e,t){let i=!1;try{i=this.getSubscription(e).topic===t}catch{}return i}onEnable(){this.cached=[],this.initialized=!0}onDisable(){this.cached=this.values,this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){const i=this.topicMap.get(e);await Promise.all(i.map(async s=>await this.unsubscribeById(e,s,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{const s=ne(i);await this.rpcUnsubscribe(e,t,s);const r=M(\"USER_DISCONNECTED\",`${this.name}, ${e}`);await this.onUnsubscribe(e,t,r),this.logger.debug(\"Successfully Unsubscribed Topic\"),this.logger.trace({type:\"method\",method:\"unsubscribe\",params:{topic:e,id:t,opts:i}})}catch(s){throw this.logger.debug(\"Failed to Unsubscribe Topic\"),this.logger.error(s),s}}async rpcSubscribe(e,t){const i={method:H(t.protocol).subscribe,params:{topic:e}};this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:i});try{return await await B(this.relayer.request(i).catch(s=>this.logger.warn(s)),this.subscribeTimeout)?re(e+this.clientId):null}catch{this.logger.debug(\"Outgoing Relay Subscribe Payload stalled\"),this.relayer.events.emit(v.connection_stalled)}return null}async rpcBatchSubscribe(e){if(!e.length)return;const t=e[0].relay,i={method:H(t.protocol).batchSubscribe,params:{topics:e.map(s=>s.topic)}};this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:i});try{return await await B(this.relayer.request(i).catch(s=>this.logger.warn(s)),this.subscribeTimeout)}catch{this.relayer.events.emit(v.connection_stalled)}}rpcUnsubscribe(e,t,i){const s={method:H(i.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:s}),this.relayer.request(s)}onSubscribe(e,t){this.setSubscription(e,fe(q({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(t=>{this.setSubscription(t.id,q({},t)),this.pending.delete(t.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,q({},t)),this.topicMap.set(t.topic,e),this.events.emit(S.created,t)}getSubscription(e){this.logger.debug(\"Getting subscription\"),this.logger.trace({type:\"method\",method:\"getSubscription\",id:e});const t=this.subscriptions.get(e);if(!t){const{message:i}=c(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw new Error(i)}return t}deleteSubscription(e,t){this.logger.debug(\"Deleting subscription\"),this.logger.trace({type:\"method\",method:\"deleteSubscription\",id:e,reason:t});const i=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(i.topic,e),this.events.emit(S.deleted,fe(q({},i),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(S.sync)}async reset(){if(this.cached.length){const e=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let t=0;t\"u\"||!e.length)return;if(this.subscriptions.size){const{message:t}=c(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(t)}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){if(!e.length)return;const t=await this.rpcBatchSubscribe(e);Ci(t)&&this.onBatchSubscribe(t.map((i,s)=>fe(q({},e[s]),{id:i})))}async onConnect(){await this.restart(),this.onEnable()}onDisconnect(){this.onDisable()}async checkPending(){if(!this.initialized||!this.relayer.connected)return;const e=[];this.pending.forEach(t=>{e.push(t)}),await this.batchSubscribe(e)}registerEventListeners(){this.relayer.core.heartbeat.on(G.pulse,async()=>{await this.checkPending()}),this.events.on(S.created,async e=>{const t=S.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),await this.persist()}),this.events.on(S.deleted,async e=>{const t=S.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),await this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}async restartToComplete(){this.restartInProgress&&await new Promise(e=>{const t=setInterval(()=>{this.restartInProgress||(clearInterval(t),e())},this.pollingInterval)})}}var xr=Object.defineProperty,$t=Object.getOwnPropertySymbols,Or=Object.prototype.hasOwnProperty,Ar=Object.prototype.propertyIsEnumerable,Ft=(n,e,t)=>e in n?xr(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,zr=(n,e)=>{for(var t in e||(e={}))Or.call(e,t)&&Ft(n,t,e[t]);if($t)for(var t of $t(e))Ar.call(e,t)&&Ft(n,t,e[t]);return n};class kt extends oi{constructor(e){super(e),this.protocol=\"wc\",this.version=2,this.events=new U,this.name=dt,this.transportExplicitlyClosed=!1,this.initialized=!1,this.connectionAttemptInProgress=!1,this.connectionStatusPollingInterval=20,this.staleConnectionErrors=[\"socket hang up\",\"socket stalled\",\"interrupted\"],this.hasExperiencedNetworkDisruption=!1,this.requestsInFlight=new Map,this.heartBeatTimeout=T(le+X),this.request=async t=>{var i,s;this.logger.debug(\"Publishing Request Payload\");const r=t.id||xe().toString();await this.toEstablishConnection();try{const o=this.provider.request(t);this.requestsInFlight.set(r,{promise:o,request:t}),this.logger.trace({id:r,method:t.method,topic:(i=t.params)==null?void 0:i.topic},\"relayer.request - attempt to publish...\");const a=await new Promise(async(h,l)=>{const d=()=>{l(new Error(`relayer.request - publish interrupted, id: ${r}`))};this.provider.on(f.disconnect,d);const g=await o;this.provider.off(f.disconnect,d),h(g)});return this.logger.trace({id:r,method:t.method,topic:(s=t.params)==null?void 0:s.topic},\"relayer.request - published\"),a}catch(o){throw this.logger.debug(`Failed to Publish Request: ${r}`),o}finally{this.requestsInFlight.delete(r)}},this.resetPingTimeout=()=>{if(ae())try{clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var t,i,s;(s=(i=(t=this.provider)==null?void 0:t.connection)==null?void 0:i.socket)==null||s.terminate()},this.heartBeatTimeout)}catch(t){this.logger.warn(t)}},this.onPayloadHandler=t=>{this.onProviderPayload(t),this.resetPingTimeout()},this.onConnectHandler=()=>{this.startPingTimeout(),this.events.emit(v.connect)},this.onDisconnectHandler=()=>{this.onProviderDisconnect()},this.onProviderErrorHandler=t=>{this.logger.error(t),this.events.emit(v.error,t),this.logger.info(\"Fatal socket error received, closing transport\"),this.transportClose()},this.registerProviderListeners=()=>{this.provider.on(f.payload,this.onPayloadHandler),this.provider.on(f.connect,this.onConnectHandler),this.provider.on(f.disconnect,this.onDisconnectHandler),this.provider.on(f.error,this.onProviderErrorHandler)},this.core=e.core,this.logger=typeof e.logger<\"u\"&&typeof e.logger!=\"string\"?b(e.logger,this.name):ti(Ee({level:e.logger||ut})),this.messages=new zt(this.logger,e.core),this.subscriber=new Ut(this,this.logger),this.publisher=new Ir(this,this.logger),this.relayUrl=e?.relayUrl||me,this.projectId=e.projectId,this.bundleId=_i(),this.provider={}}async init(){this.logger.trace(\"Initialized\"),this.registerEventListeners(),await this.createProvider(),await Promise.all([this.messages.init(),this.subscriber.init()]);try{await this.transportOpen()}catch{this.logger.warn(`Connection via ${this.relayUrl} failed, attempting to connect via failover domain ${be}...`),await this.restartTransport(be)}this.initialized=!0,setTimeout(async()=>{this.subscriber.topics.length===0&&this.subscriber.pending.size===0&&(this.logger.info(\"No topics subscribed to after init, closing transport\"),await this.transportClose(),this.transportExplicitlyClosed=!1)},yt)}get context(){return w(this.logger)}get connected(){var e,t,i;return((i=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:i.readyState)===1}get connecting(){var e,t,i;return((i=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:i.readyState)===0}async publish(e,t,i){this.isInitialized(),await this.publisher.publish(e,t,i),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now()})}async subscribe(e,t){var i;this.isInitialized();let s=((i=this.subscriber.topicMap.get(e))==null?void 0:i[0])||\"\",r;const o=a=>{a.topic===e&&(this.subscriber.off(S.created,o),r())};return await Promise.all([new Promise(a=>{r=a,this.subscriber.on(S.created,o)}),new Promise(async a=>{s=await this.subscriber.subscribe(e,t)||s,a()})]),s}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(){if(!this.hasExperiencedNetworkDisruption&&this.connected&&this.requestsInFlight.size>0)try{await Promise.all(Array.from(this.requestsInFlight.values()).map(e=>e.promise))}catch(e){this.logger.warn(e)}this.hasExperiencedNetworkDisruption||this.connected?await B(this.provider.disconnect(),2e3,\"provider.disconnect()\").catch(()=>this.onProviderDisconnect()):this.onProviderDisconnect()}async transportClose(){this.transportExplicitlyClosed=!0,await this.transportDisconnect()}async transportOpen(e){await this.confirmOnlineStateOrThrow(),e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportDisconnect(),await this.createProvider()),this.connectionAttemptInProgress=!0,this.transportExplicitlyClosed=!1;try{await new Promise(async(t,i)=>{const s=()=>{this.provider.off(f.disconnect,s),i(new Error(\"Connection interrupted while trying to subscribe\"))};this.provider.on(f.disconnect,s),await B(this.provider.connect(),T(ue),`Socket stalled when trying to connect to ${this.relayUrl}`).catch(r=>{i(r)}),await this.subscriber.start(),this.hasExperiencedNetworkDisruption=!1,t()})}catch(t){this.logger.error(t);const i=t;if(!this.isConnectionStalled(i.message))throw t}finally{this.connectionAttemptInProgress=!1}}async restartTransport(e){this.connectionAttemptInProgress||(this.relayUrl=e||this.relayUrl,await this.confirmOnlineStateOrThrow(),await this.transportClose(),await this.createProvider(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await _e())throw new Error(\"No internet connection detected. Please restart your network and try again.\")}startPingTimeout(){var e,t,i,s,r;if(ae())try{(t=(e=this.provider)==null?void 0:e.connection)!=null&&t.socket&&((r=(s=(i=this.provider)==null?void 0:i.connection)==null?void 0:s.socket)==null||r.once(\"ping\",()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(o){this.logger.warn(o)}}isConnectionStalled(e){return this.staleConnectionErrors.some(t=>e.includes(t))}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new Vi(new Gi(Ri({sdkVersion:Dt,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId}))),this.registerProviderListeners()}async recordMessageEvent(e){const{topic:t,message:i}=e;await this.messages.set(t,i)}async shouldIgnoreMessageEvent(e){const{topic:t,message:i}=e;if(!i||i.length===0)return this.logger.debug(`Ignoring invalid/empty message: ${i}`),!0;if(!await this.subscriber.isSubscribed(t))return this.logger.debug(`Ignoring message for non-subscribed topic ${t}`),!0;const s=this.messages.has(t,i);return s&&this.logger.debug(`Ignoring duplicate message: ${i}`),s}async onProviderPayload(e){if(this.logger.debug(\"Incoming Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"incoming\",payload:e}),Oe(e)){if(!e.method.endsWith(gt))return;const t=e.params,{topic:i,message:s,publishedAt:r}=t.data,o={topic:i,message:s,publishedAt:r};this.logger.debug(\"Emitting Relayer Payload\"),this.logger.trace(zr({type:\"event\",event:t.id},o)),this.events.emit(t.id,o),await this.acknowledgePayload(e),await this.onMessageEvent(o)}else Ae(e)&&this.events.emit(v.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(this.events.emit(v.message,e),await this.recordMessageEvent(e))}async acknowledgePayload(e){const t=ze(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(f.payload,this.onPayloadHandler),this.provider.off(f.connect,this.onConnectHandler),this.provider.off(f.disconnect,this.onDisconnectHandler),this.provider.off(f.error,this.onProviderErrorHandler)}async registerEventListeners(){let e=await _e();Ti(async t=>{e!==t&&(e=t,t?await this.restartTransport().catch(i=>this.logger.error(i)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))})}async onProviderDisconnect(){await this.subscriber.stop(),this.events.emit(v.disconnect),this.connectionAttemptInProgress=!1,!this.transportExplicitlyClosed&&setTimeout(async()=>{await this.transportOpen().catch(e=>this.logger.error(e))},T(pt))}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}async toEstablishConnection(){await this.confirmOnlineStateOrThrow(),!this.connected&&(this.connectionAttemptInProgress&&await new Promise(e=>{const t=setInterval(()=>{this.connected&&(clearInterval(t),e())},this.connectionStatusPollingInterval)}),await this.transportOpen())}}var Nr=Object.defineProperty,Bt=Object.getOwnPropertySymbols,Lr=Object.prototype.hasOwnProperty,Ur=Object.prototype.propertyIsEnumerable,Mt=(n,e,t)=>e in n?Nr(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,Kt=(n,e)=>{for(var t in e||(e={}))Lr.call(e,t)&&Mt(n,t,e[t]);if(Bt)for(var t of Bt(e))Ur.call(e,t)&&Mt(n,t,e[t]);return n};class Vt extends ai{constructor(e,t,i,s=z,r=void 0){super(e,t,i,s),this.core=e,this.logger=t,this.name=i,this.map=new Map,this.version=mt,this.cached=[],this.initialized=!1,this.storagePrefix=z,this.recentlyDeleted=[],this.recentlyDeletedLimit=200,this.init=async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(o=>{this.getKey&&o!==null&&!oe(o)?this.map.set(this.getKey(o),o):Si(o)?this.map.set(o.id,o):Pi(o)&&this.map.set(o.topic,o)}),this.cached=[],this.initialized=!0)},this.set=async(o,a)=>{this.isInitialized(),this.map.has(o)?await this.update(o,a):(this.logger.debug(\"Setting value\"),this.logger.trace({type:\"method\",method:\"set\",key:o,value:a}),this.map.set(o,a),await this.persist())},this.get=o=>(this.isInitialized(),this.logger.debug(\"Getting value\"),this.logger.trace({type:\"method\",method:\"get\",key:o}),this.getData(o)),this.getAll=o=>(this.isInitialized(),o?this.values.filter(a=>Object.keys(o).every(h=>Yi(a[h],o[h]))):this.values),this.update=async(o,a)=>{this.isInitialized(),this.logger.debug(\"Updating value\"),this.logger.trace({type:\"method\",method:\"update\",key:o,update:a});const h=Kt(Kt({},this.getData(o)),a);this.map.set(o,h),await this.persist()},this.delete=async(o,a)=>{this.isInitialized(),this.map.has(o)&&(this.logger.debug(\"Deleting value\"),this.logger.trace({type:\"method\",method:\"delete\",key:o,reason:a}),this.map.delete(o),this.addToRecentlyDeleted(o),await this.persist())},this.logger=b(t,this.name),this.storagePrefix=s,this.getKey=r}get context(){return w(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){const t=this.map.get(e);if(!t){if(this.recentlyDeleted.includes(e)){const{message:s}=c(\"MISSING_OR_INVALID\",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(s),new Error(s)}const{message:i}=c(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{const e=await this.getDataStore();if(typeof e>\"u\"||!e.length)return;if(this.map.size){const{message:t}=c(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}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){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class qt{constructor(e,t){this.core=e,this.logger=t,this.name=vt,this.version=It,this.events=new Qt,this.initialized=!1,this.storagePrefix=z,this.ignoredPayloadTypes=[xi],this.registeredMethods=[],this.init=async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace(\"Initialized\"))},this.register=({methods:i})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...i])]},this.create=async i=>{this.isInitialized();const s=se(),r=await this.core.crypto.setSymKey(s),o=J(Pe),a={protocol:lt},h={topic:r,expiry:o,relay:a,active:!1},l=Oi({protocol:this.core.protocol,version:this.core.version,topic:r,symKey:s,relay:a,expiryTimestamp:o,methods:i?.methods});return await this.pairings.set(r,h),await this.core.relayer.subscribe(r),this.core.expirer.set(r,o),{topic:r,uri:l}},this.pair=async i=>{this.isInitialized(),this.isValidPair(i);const{topic:s,symKey:r,relay:o,expiryTimestamp:a,methods:h}=Re(i.uri);let l;if(this.pairings.keys.includes(s)&&(l=this.pairings.get(s),l.active))throw new Error(`Pairing already exists: ${s}. Please try again with a new connection URI.`);const d=a||J(Pe),g={topic:s,relay:o,expiry:d,active:!1,methods:h};return await this.pairings.set(s,g),this.core.expirer.set(s,d),i.activatePairing&&await this.activate({topic:s}),this.events.emit(V.create,g),this.core.crypto.keychain.has(s)||await this.core.crypto.setSymKey(r,s),await this.core.relayer.subscribe(s,{relay:o}),g},this.activate=async({topic:i})=>{this.isInitialized();const s=J(W);await this.pairings.update(i,{active:!0,expiry:s}),this.core.expirer.set(i,s)},this.ping=async i=>{this.isInitialized(),await this.isValidPing(i);const{topic:s}=i;if(this.pairings.keys.includes(s)){const r=await this.sendRequest(s,\"wc_pairingPing\",{}),{done:o,resolve:a,reject:h}=Ai();this.events.once(he(\"pairing_ping\",r),({error:l})=>{l?h(l):a()}),await o()}},this.updateExpiry=async({topic:i,expiry:s})=>{this.isInitialized(),await this.pairings.update(i,{expiry:s})},this.updateMetadata=async({topic:i,metadata:s})=>{this.isInitialized(),await this.pairings.update(i,{peerMetadata:s})},this.getPairings=()=>(this.isInitialized(),this.pairings.values),this.disconnect=async i=>{this.isInitialized(),await this.isValidDisconnect(i);const{topic:s}=i;this.pairings.keys.includes(s)&&(await this.sendRequest(s,\"wc_pairingDelete\",M(\"USER_DISCONNECTED\")),await this.deletePairing(s))},this.sendRequest=async(i,s,r)=>{const o=Ne(s,r),a=await this.core.crypto.encode(i,o),h=F[s].req;return this.core.history.set(i,o),this.core.relayer.publish(i,a,h),o.id},this.sendResult=async(i,s,r)=>{const o=ze(i,r),a=await this.core.crypto.encode(s,o),h=await this.core.history.get(s,i),l=F[h.request.method].res;await this.core.relayer.publish(s,a,l),await this.core.history.resolve(o)},this.sendError=async(i,s,r)=>{const o=qi(i,r),a=await this.core.crypto.encode(s,o),h=await this.core.history.get(s,i),l=F[h.request.method]?F[h.request.method].res:F.unregistered_method.res;await this.core.relayer.publish(s,a,l),await this.core.history.resolve(o)},this.deletePairing=async(i,s)=>{await this.core.relayer.unsubscribe(i),await Promise.all([this.pairings.delete(i,M(\"USER_DISCONNECTED\")),this.core.crypto.deleteSymKey(i),s?Promise.resolve():this.core.expirer.del(i)])},this.cleanup=async()=>{const i=this.pairings.getAll().filter(s=>Te(s.expiry));await Promise.all(i.map(s=>this.deletePairing(s.topic)))},this.onRelayEventRequest=i=>{const{topic:s,payload:r}=i;switch(r.method){case\"wc_pairingPing\":return this.onPairingPingRequest(s,r);case\"wc_pairingDelete\":return this.onPairingDeleteRequest(s,r);default:return this.onUnknownRpcMethodRequest(s,r)}},this.onRelayEventResponse=async i=>{const{topic:s,payload:r}=i,o=(await this.core.history.get(s,r.id)).request.method;switch(o){case\"wc_pairingPing\":return this.onPairingPingResponse(s,r);default:return this.onUnknownRpcMethodResponse(o)}},this.onPairingPingRequest=async(i,s)=>{const{id:r}=s;try{this.isValidPing({topic:i}),await this.sendResult(r,i,!0),this.events.emit(V.ping,{id:r,topic:i})}catch(o){await this.sendError(r,i,o),this.logger.error(o)}},this.onPairingPingResponse=(i,s)=>{const{id:r}=s;setTimeout(()=>{ji(s)?this.events.emit(he(\"pairing_ping\",r),{}):Le(s)&&this.events.emit(he(\"pairing_ping\",r),{error:s.error})},500)},this.onPairingDeleteRequest=async(i,s)=>{const{id:r}=s;try{this.isValidDisconnect({topic:i}),await this.deletePairing(i),this.events.emit(V.delete,{id:r,topic:i})}catch(o){await this.sendError(r,i,o),this.logger.error(o)}},this.onUnknownRpcMethodRequest=async(i,s)=>{const{id:r,method:o}=s;try{if(this.registeredMethods.includes(o))return;const a=M(\"WC_METHOD_UNSUPPORTED\",o);await this.sendError(r,i,a),this.logger.error(a)}catch(a){await this.sendError(r,i,a),this.logger.error(a)}},this.onUnknownRpcMethodResponse=i=>{this.registeredMethods.includes(i)||this.logger.error(M(\"WC_METHOD_UNSUPPORTED\",i))},this.isValidPair=i=>{var s;if(!ce(i)){const{message:o}=c(\"MISSING_OR_INVALID\",`pair() params: ${i}`);throw new Error(o)}if(!zi(i.uri)){const{message:o}=c(\"MISSING_OR_INVALID\",`pair() uri: ${i.uri}`);throw new Error(o)}const r=Re(i.uri);if(!((s=r?.relay)!=null&&s.protocol)){const{message:o}=c(\"MISSING_OR_INVALID\",\"pair() uri#relay-protocol\");throw new Error(o)}if(!(r!=null&&r.symKey)){const{message:o}=c(\"MISSING_OR_INVALID\",\"pair() uri#symKey\");throw new Error(o)}if(r!=null&&r.expiryTimestamp&&T(r?.expiryTimestamp){if(!ce(i)){const{message:r}=c(\"MISSING_OR_INVALID\",`ping() params: ${i}`);throw new Error(r)}const{topic:s}=i;await this.isValidPairingTopic(s)},this.isValidDisconnect=async i=>{if(!ce(i)){const{message:r}=c(\"MISSING_OR_INVALID\",`disconnect() params: ${i}`);throw new Error(r)}const{topic:s}=i;await this.isValidPairingTopic(s)},this.isValidPairingTopic=async i=>{if(!Ni(i,!1)){const{message:s}=c(\"MISSING_OR_INVALID\",`pairing topic should be a string: ${i}`);throw new Error(s)}if(!this.pairings.keys.includes(i)){const{message:s}=c(\"NO_MATCHING_KEY\",`pairing topic doesn't exist: ${i}`);throw new Error(s)}if(Te(this.pairings.get(i).expiry)){await this.deletePairing(i);const{message:s}=c(\"EXPIRED\",`pairing topic: ${i}`);throw new Error(s)}},this.core=e,this.logger=b(t,this.name),this.pairings=new Vt(this.core,this.logger,this.name,this.storagePrefix)}get context(){return w(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(v.message,async e=>{const{topic:t,message:i}=e;if(!this.pairings.keys.includes(t)||this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(i)))return;const s=await this.core.crypto.decode(t,i);try{Oe(s)?(this.core.history.set(t,s),this.onRelayEventRequest({topic:t,payload:s})):Ae(s)&&(await this.core.history.resolve(s),await this.onRelayEventResponse({topic:t,payload:s}),this.core.history.delete(t,s.id))}catch(r){this.logger.error(r)}})}registerExpirerEvents(){this.core.expirer.on(C.expired,async e=>{const{topic:t}=Li(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(V.expire,{topic:t}))})}}class jt extends hi{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.records=new Map,this.events=new U,this.name=Ct,this.version=_t,this.cached=[],this.initialized=!1,this.storagePrefix=z,this.init=async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(i=>this.records.set(i.id,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.set=(i,s,r)=>{if(this.isInitialized(),this.logger.debug(\"Setting JSON-RPC request history record\"),this.logger.trace({type:\"method\",method:\"set\",topic:i,request:s,chainId:r}),this.records.has(s.id))return;const o={id:s.id,topic:i,request:{method:s.method,params:s.params||null},chainId:r,expiry:J(W)};this.records.set(o.id,o),this.persist(),this.events.emit(I.created,o)},this.resolve=async i=>{if(this.isInitialized(),this.logger.debug(\"Updating JSON-RPC response history record\"),this.logger.trace({type:\"method\",method:\"update\",response:i}),!this.records.has(i.id))return;const s=await this.getRecord(i.id);typeof s.response>\"u\"&&(s.response=Le(i)?{error:i.error}:{result:i.result},this.records.set(s.id,s),this.persist(),this.events.emit(I.updated,s))},this.get=async(i,s)=>(this.isInitialized(),this.logger.debug(\"Getting record\"),this.logger.trace({type:\"method\",method:\"get\",topic:i,id:s}),await this.getRecord(s)),this.delete=(i,s)=>{this.isInitialized(),this.logger.debug(\"Deleting record\"),this.logger.trace({type:\"method\",method:\"delete\",id:s}),this.values.forEach(r=>{if(r.topic===i){if(typeof s<\"u\"&&r.id!==s)return;this.records.delete(r.id),this.events.emit(I.deleted,r)}}),this.persist()},this.exists=async(i,s)=>(this.isInitialized(),this.records.has(s)?(await this.getRecord(s)).topic===i:!1),this.on=(i,s)=>{this.events.on(i,s)},this.once=(i,s)=>{this.events.once(i,s)},this.off=(i,s)=>{this.events.off(i,s)},this.removeListener=(i,s)=>{this.events.removeListener(i,s)},this.logger=b(t,this.name)}get context(){return w(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){const e=[];return this.values.forEach(t=>{if(typeof t.response<\"u\")return;const i={topic:t.topic,request:Ne(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();const t=this.records.get(e);if(!t){const{message:i}=c(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw new Error(i)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(I.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>\"u\"||!e.length)return;if(this.records.size){const{message:t}=c(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}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(I.created,e=>{const t=I.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e})}),this.events.on(I.updated,e=>{const t=I.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e})}),this.events.on(I.deleted,e=>{const t=I.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e})}),this.core.heartbeat.on(G.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{T(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(I.deleted,t,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class Gt extends ci{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.expirations=new Map,this.events=new U,this.name=Rt,this.version=Tt,this.cached=[],this.initialized=!1,this.storagePrefix=z,this.init=async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(i=>this.expirations.set(i.target,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.has=i=>{try{const s=this.formatTarget(i);return typeof this.getExpiration(s)<\"u\"}catch{return!1}},this.set=(i,s)=>{this.isInitialized();const r=this.formatTarget(i),o={target:r,expiry:s};this.expirations.set(r,o),this.checkExpiry(r,o),this.events.emit(C.created,{target:r,expiration:o})},this.get=i=>{this.isInitialized();const s=this.formatTarget(i);return this.getExpiration(s)},this.del=i=>{if(this.isInitialized(),this.has(i)){const s=this.formatTarget(i),r=this.getExpiration(s);this.expirations.delete(s),this.events.emit(C.deleted,{target:s,expiration:r})}},this.on=(i,s)=>{this.events.on(i,s)},this.once=(i,s)=>{this.events.once(i,s)},this.off=(i,s)=>{this.events.off(i,s)},this.removeListener=(i,s)=>{this.events.removeListener(i,s)},this.logger=b(t,this.name)}get context(){return w(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(typeof e==\"string\")return Ui(e);if(typeof e==\"number\")return $i(e);const{message:t}=c(\"UNKNOWN_TYPE\",`Target type: ${typeof e}`);throw new 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(C.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>\"u\"||!e.length)return;if(this.expirations.size){const{message:t}=c(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}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){const t=this.expirations.get(e);if(!t){const{message:i}=c(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw this.logger.warn(i),new Error(i)}return t}checkExpiry(e,t){const{expiry:i}=t;T(i)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(C.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(G.pulse,()=>this.checkExpirations()),this.events.on(C.created,e=>{const t=C.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()}),this.events.on(C.expired,e=>{const t=C.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()}),this.events.on(C.deleted,e=>{const t=C.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class Yt extends li{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,this.name=ee,this.initialized=!1,this.queue=[],this.verifyDisabled=!1,this.init=async i=>{if(this.verifyDisabled||Fi()||!ki())return;const s=this.getVerifyUrl(i?.verifyUrl);this.verifyUrl!==s&&this.removeIframe(),this.verifyUrl=s;try{await this.createIframe()}catch(r){this.logger.info(`Verify iframe failed to load: ${this.verifyUrl}`),this.logger.info(r)}if(!this.initialized){this.removeIframe(),this.verifyUrl=te;try{await this.createIframe()}catch(r){this.logger.info(`Verify iframe failed to load: ${this.verifyUrl}`),this.logger.info(r),this.verifyDisabled=!0}}},this.register=async i=>{this.initialized?this.sendPost(i.attestationId):(this.addToQueue(i.attestationId),await this.init())},this.resolve=async i=>{if(this.isDevEnv)return\"\";const s=this.getVerifyUrl(i?.verifyUrl);let r;try{r=await this.fetchAttestation(i.attestationId,s)}catch(o){this.logger.info(`failed to resolve attestation: ${i.attestationId} from url: ${s}`),this.logger.info(o),r=await this.fetchAttestation(i.attestationId,te)}return r},this.fetchAttestation=async(i,s)=>{this.logger.info(`resolving attestation: ${i} from url: ${s}`);const r=this.startAbortTimer(X*2),o=await fetch(`${s}/attestation/${i}`,{signal:this.abortController.signal});return clearTimeout(r),o.status===200?await o.json():void 0},this.addToQueue=i=>{this.queue.push(i)},this.processQueue=()=>{this.queue.length!==0&&(this.queue.forEach(i=>this.sendPost(i)),this.queue=[])},this.sendPost=i=>{var s;try{if(!this.iframe)return;(s=this.iframe.contentWindow)==null||s.postMessage(i,\"*\"),this.logger.info(`postMessage sent: ${i} ${this.verifyUrl}`)}catch{}},this.createIframe=async()=>{let i;const s=r=>{r.data===\"verify_ready\"&&(this.onInit(),window.removeEventListener(\"message\",s),i())};await Promise.race([new Promise(r=>{const o=document.getElementById(ee);if(o)return this.iframe=o,this.onInit(),r();window.addEventListener(\"message\",s);const a=document.createElement(\"iframe\");a.id=ee,a.src=`${this.verifyUrl}/${this.projectId}`,a.style.display=\"none\",document.body.append(a),this.iframe=a,i=r}),new Promise((r,o)=>setTimeout(()=>{window.removeEventListener(\"message\",s),o(\"verify iframe load timeout\")},T(Se)))])},this.onInit=()=>{this.initialized=!0,this.processQueue()},this.removeIframe=()=>{this.iframe&&(this.iframe.remove(),this.iframe=void 0,this.initialized=!1)},this.getVerifyUrl=i=>{let s=i||k;return St.includes(s)||(this.logger.info(`verify url: ${s}, not included in trusted list, assigning default: ${k}`),s=k),s},this.logger=b(t,this.name),this.verifyUrl=k,this.abortController=new AbortController,this.isDevEnv=ae()&&process.env.IS_VITEST}get context(){return w(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),T(e))}}class Ht extends ui{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,this.context=Pt,this.registerDeviceToken=async i=>{const{clientId:s,token:r,notificationType:o,enableEncrypted:a=!1}=i,h=`${xt}/${this.projectId}/clients`;await Hi(h,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({client_id:s,type:o,token:r,always_raw:a})})},this.logger=b(t,this.context)}}var $r=Object.defineProperty,Jt=Object.getOwnPropertySymbols,Fr=Object.prototype.hasOwnProperty,kr=Object.prototype.propertyIsEnumerable,Xt=(n,e,t)=>e in n?$r(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,Wt=(n,e)=>{for(var t in e||(e={}))Fr.call(e,t)&&Xt(n,t,e[t]);if(Jt)for(var t of Jt(e))kr.call(e,t)&&Xt(n,t,e[t]);return n};class ie extends di{constructor(e){var t;super(e),this.protocol=De,this.version=Ze,this.name=Z,this.events=new U,this.initialized=!1,this.on=(o,a)=>this.events.on(o,a),this.once=(o,a)=>this.events.once(o,a),this.off=(o,a)=>this.events.off(o,a),this.removeListener=(o,a)=>this.events.removeListener(o,a),this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||me,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:\"\";const i=Ee({level:typeof e?.logger==\"string\"&&e.logger?e.logger:et.logger}),{logger:s,chunkLoggerController:r}=ii({opts:i,maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=r,(t=this.logChunkController)!=null&&t.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var o,a;(o=this.logChunkController)!=null&&o.downloadLogsBlobInBrowser&&((a=this.logChunkController)==null||a.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=b(s,this.name),this.heartbeat=new ei,this.crypto=new At(this,this.logger,e?.keychain),this.history=new jt(this,this.logger),this.expirer=new Gt(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new Zt(Wt(Wt({},tt),e?.storageOptions)),this.relayer=new kt({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new qt(this,this.logger),this.verify=new Yt(this.projectId||\"\",this.logger),this.echoClient=new Ht(this.projectId||\"\",this.logger)}static async init(e){const t=new ie(e);await t.initialize();const i=await t.crypto.getClientId();return await t.storage.setItem(bt,i),t}get context(){return w(this.logger)}async start(){this.initialized||await this.initialize()}async getLogsBlob(){var e;return(e=this.logChunkController)==null?void 0:e.logsToBlob({clientId:await this.crypto.getClientId()})}async initialize(){this.logger.trace(\"Initialized\");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.initialized=!0,this.logger.info(\"Core Initialization Success\")}catch(e){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,e),this.logger.error(e.message),e}}}const Br=ie;export{Z as CORE_CONTEXT,et as CORE_DEFAULT,De as CORE_PROTOCOL,tt as CORE_STORAGE_OPTIONS,z as CORE_STORAGE_PREFIX,Ze as CORE_VERSION,ye as CRYPTO_CLIENT_SEED,it as CRYPTO_CONTEXT,st as CRYPTO_JWT_TTL,Br as Core,At as Crypto,Pt as ECHO_CONTEXT,xt as ECHO_URL,Rt as EXPIRER_CONTEXT,vr as EXPIRER_DEFAULT_TTL,C as EXPIRER_EVENTS,Tt as EXPIRER_STORAGE_VERSION,Ht as EchoClient,Gt as Expirer,Ct as HISTORY_CONTEXT,I as HISTORY_EVENTS,_t as HISTORY_STORAGE_VERSION,jt as JsonRpcHistory,rt as KEYCHAIN_CONTEXT,nt as KEYCHAIN_STORAGE_VERSION,Ot as KeyChain,ot as MESSAGES_CONTEXT,at as MESSAGES_STORAGE_VERSION,zt as MessageTracker,vt as PAIRING_CONTEXT,wr as PAIRING_DEFAULT_TTL,V as PAIRING_EVENTS,F as PAIRING_RPC_OPTS,It as PAIRING_STORAGE_VERSION,wt as PENDING_SUB_RESOLUTION_TIMEOUT,ct as PUBLISHER_CONTEXT,ht as PUBLISHER_DEFAULT_TTL,qt as Pairing,dt as RELAYER_CONTEXT,ut as RELAYER_DEFAULT_LOGGER,lt as RELAYER_DEFAULT_PROTOCOL,me as RELAYER_DEFAULT_RELAY_URL,v as RELAYER_EVENTS,be as RELAYER_FAILOVER_RELAY_URL,f as RELAYER_PROVIDER_EVENTS,pt as RELAYER_RECONNECT_TIMEOUT,Dt as RELAYER_SDK_VERSION,fr as RELAYER_STORAGE_OPTIONS,gt as RELAYER_SUBSCRIBER_SUFFIX,yt as RELAYER_TRANSPORT_CUTOFF,kt as Relayer,mt as STORE_STORAGE_VERSION,ft as SUBSCRIBER_CONTEXT,Er as SUBSCRIBER_DEFAULT_TTL,S as SUBSCRIBER_EVENTS,Et as SUBSCRIBER_STORAGE_VERSION,Vt as Store,Ut as Subscriber,St as TRUSTED_VERIFY_URLS,ee as VERIFY_CONTEXT,te as VERIFY_FALLBACK_SERVER,k as VERIFY_SERVER,Yt as Verify,bt as WALLETCONNECT_CLIENT_ID,ie as default};\n//# sourceMappingURL=index.es.js.map\n","import{RELAYER_DEFAULT_PROTOCOL as tt,RELAYER_EVENTS as qe,VERIFY_SERVER as st,EXPIRER_EVENTS as it,PAIRING_EVENTS as Ne,Store as K,Core as rt}from\"@walletconnect/core\";import{pino as nt,getDefaultLoggerOptions as ot,generateChildLogger as at,getLoggerContext as ct}from\"@walletconnect/logger\";import{IEngine as lt,ISignClient as ht}from\"@walletconnect/types\";import{getInternalError as l,calcExpiry as N,createDelayedPromise as U,engineEvent as u,getSdkError as R,getDeepLink as pt,handleDeeplinkRedirect as dt,isSessionCompatible as ut,hashKey as ue,parseChainId as ge,createEncodedRecap as gt,getRecapFromResources as we,mergeEncodedRecaps as wt,validateSignedCacao as Pe,getNamespacedDidChainId as ve,getDidAddress as Oe,getMethodsFromRecap as Te,getChainsFromRecap as De,buildNamespacesFromAuth as xe,formatMessage as yt,isBrowser as mt,hashMessage as ee,isExpired as G,MemoryStore as H,isValidParams as T,isUndefined as Y,isValidRelays as St,isValidObject as Ae,isValidRequiredNamespaces as Et,isValidNamespaces as ye,isConformingNamespaces as Ve,isValidString as V,isValidErrorReason as _t,isValidRelay as Rt,isValidController as It,isValidNamespacesChainId as Ce,isValidRequest as ft,isValidNamespacesRequest as qt,isValidRequestExpiry as Nt,isValidResponse as Pt,isValidEvent as vt,isValidNamespacesEvent as Ot,parseExpirerTarget as Tt,isValidId as Dt,TYPE_1 as be,getAppMetadata as xt}from\"@walletconnect/utils\";import At,{EventEmitter as Vt}from\"events\";import{THIRTY_DAYS as Ct,SEVEN_DAYS as $e,FIVE_MINUTES as x,ONE_DAY as C,ONE_HOUR as Le,ONE_SECOND as bt,toMiliseconds as Me}from\"@walletconnect/time\";import{payloadId as k,getBigIntRpcId as te,isJsonRpcResult as b,isJsonRpcError as $,formatJsonRpcRequest as me,formatJsonRpcResult as $t,formatJsonRpcError as Lt,isJsonRpcRequest as Mt,isJsonRpcResponse as Kt}from\"@walletconnect/jsonrpc-utils\";const Se=\"wc\",Ee=2,_e=\"client\",se=`${Se}@${Ee}:${_e}:`,ie={name:_e,logger:\"error\",controller:!1,relayUrl:\"wss://relay.walletconnect.com\"},Ut={session_proposal:\"session_proposal\",session_update:\"session_update\",session_extend:\"session_extend\",session_ping:\"session_ping\",session_delete:\"session_delete\",session_expire:\"session_expire\",session_request:\"session_request\",session_request_sent:\"session_request_sent\",session_event:\"session_event\",proposal_expire:\"proposal_expire\",session_authenticate:\"session_authenticate\",session_request_expire:\"session_request_expire\"},Gt={database:\":memory:\"},Re=\"WALLETCONNECT_DEEPLINK_CHOICE\",kt={created:\"history_created\",updated:\"history_updated\",deleted:\"history_deleted\",sync:\"history_sync\"},Ft=\"history\",jt=\"0.3\",Ke=\"proposal\",Qt=Ct,Ue=\"Proposal expired\",Ge=\"session\",L=$e,ke=\"engine\",q={wc_sessionPropose:{req:{ttl:x,prompt:!0,tag:1100},res:{ttl:x,prompt:!1,tag:1101}},wc_sessionSettle:{req:{ttl:x,prompt:!1,tag:1102},res:{ttl:x,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:C,prompt:!1,tag:1104},res:{ttl:C,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:C,prompt:!1,tag:1106},res:{ttl:C,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:x,prompt:!0,tag:1108},res:{ttl:x,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:x,prompt:!0,tag:1110},res:{ttl:x,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:C,prompt:!1,tag:1112},res:{ttl:C,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:C,prompt:!1,tag:1114},res:{ttl:C,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:Le,prompt:!0,tag:1116},res:{ttl:Le,prompt:!1,tag:1117}}},re={min:x,max:$e},A={idle:\"IDLE\",active:\"ACTIVE\"},Fe=\"request\",je=[\"wc_sessionPropose\",\"wc_sessionRequest\",\"wc_authRequest\"],Qe=\"wc\",zt=1.5,ze=\"auth\",He=\"authKeys\",Ye=\"pairingTopics\",Xe=\"requests\",X=`${Qe}@${1.5}:${ze}:`,J=`${X}:PUB_KEY`;var Ht=Object.defineProperty,Yt=Object.defineProperties,Xt=Object.getOwnPropertyDescriptors,Je=Object.getOwnPropertySymbols,Jt=Object.prototype.hasOwnProperty,Bt=Object.prototype.propertyIsEnumerable,Be=(S,n,t)=>n in S?Ht(S,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):S[n]=t,m=(S,n)=>{for(var t in n||(n={}))Jt.call(n,t)&&Be(S,t,n[t]);if(Je)for(var t of Je(n))Bt.call(n,t)&&Be(S,t,n[t]);return S},F=(S,n)=>Yt(S,Xt(n));class Wt extends lt{constructor(n){super(n),this.name=ke,this.events=new At,this.initialized=!1,this.requestQueue={state:A.idle,queue:[]},this.sessionRequestQueue={state:A.idle,queue:[]},this.requestQueueDelay=bt,this.expectedPairingMethodMap=new Map,this.recentlyDeletedMap=new Map,this.recentlyDeletedLimit=200,this.init=async()=>{this.initialized||(await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.registerPairingEvents(),this.client.core.pairing.register({methods:Object.keys(q)}),this.initialized=!0,setTimeout(()=>{this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},Me(this.requestQueueDelay)))},this.connect=async t=>{await this.isInitialized();const e=F(m({},t),{requiredNamespaces:t.requiredNamespaces||{},optionalNamespaces:t.optionalNamespaces||{}});await this.isValidConnect(e);const{pairingTopic:s,requiredNamespaces:i,optionalNamespaces:r,sessionProperties:o,relays:a}=e;let c=s,d,p=!1;try{c&&(p=this.client.core.pairing.pairings.get(c).active)}catch(f){throw this.client.logger.error(`connect() -> pairing.get(${c}) failed`),f}if(!c||!p){const{topic:f,uri:v}=await this.client.core.pairing.create();c=f,d=v}if(!c){const{message:f}=l(\"NO_MATCHING_KEY\",`connect() pairing topic: ${c}`);throw new Error(f)}const g=await this.client.core.crypto.generateKeyPair(),h=q.wc_sessionPropose.req.ttl||x,y=N(h),w=m({requiredNamespaces:i,optionalNamespaces:r,relays:a??[{protocol:tt}],proposer:{publicKey:g,metadata:this.client.metadata},expiryTimestamp:y},o&&{sessionProperties:o}),{reject:I,resolve:D,done:E}=U(h,Ue);this.events.once(u(\"session_connect\"),async({error:f,session:v})=>{if(f)I(f);else if(v){v.self.publicKey=g;const j=F(m({},v),{requiredNamespaces:w.requiredNamespaces,optionalNamespaces:w.optionalNamespaces});await this.client.session.set(v.topic,j),await this.setExpiry(v.topic,v.expiry),c&&await this.client.core.pairing.updateMetadata({topic:c,metadata:v.peer.metadata}),D(j)}});const P=await this.sendRequest({topic:c,method:\"wc_sessionPropose\",params:w,throwOnFailedPublish:!0});return await this.setProposal(P,m({id:P},w)),{uri:d,approval:E}},this.pair=async t=>{await this.isInitialized();try{return await this.client.core.pairing.pair(t)}catch(e){throw this.client.logger.error(\"pair() failed\"),e}},this.approve=async t=>{await this.isInitialized();try{await this.isValidApprove(t)}catch(E){throw this.client.logger.error(\"approve() -> isValidApprove() failed\"),E}const{id:e,relayProtocol:s,namespaces:i,sessionProperties:r,sessionConfig:o}=t;let a;try{a=this.client.proposal.get(e)}catch(E){throw this.client.logger.error(`approve() -> proposal.get(${e}) failed`),E}let{pairingTopic:c,proposer:d,requiredNamespaces:p,optionalNamespaces:g}=a;c=c||\"\";const h=await this.client.core.crypto.generateKeyPair(),y=d.publicKey,w=await this.client.core.crypto.generateSharedKey(h,y),I=m(m({relay:{protocol:s??\"irn\"},namespaces:i,pairingTopic:c,controller:{publicKey:h,metadata:this.client.metadata},expiry:N(L)},r&&{sessionProperties:r}),o&&{sessionConfig:o});await this.client.core.relayer.subscribe(w);const D=F(m({},I),{topic:w,requiredNamespaces:p,optionalNamespaces:g,pairingTopic:c,acknowledged:!1,self:I.controller,peer:{publicKey:d.publicKey,metadata:d.metadata},controller:h});await this.client.session.set(w,D);try{await this.sendResult({id:e,topic:c,result:{relay:{protocol:s??\"irn\"},responderPublicKey:h},throwOnFailedPublish:!0}),await this.sendRequest({topic:w,method:\"wc_sessionSettle\",params:I,throwOnFailedPublish:!0})}catch(E){throw this.client.logger.error(E),this.client.session.delete(w,R(\"USER_DISCONNECTED\")),await this.client.core.relayer.unsubscribe(w),E}return await this.client.core.pairing.updateMetadata({topic:c,metadata:d.metadata}),await this.client.proposal.delete(e,R(\"USER_DISCONNECTED\")),await this.client.core.pairing.activate({topic:c}),await this.setExpiry(w,N(L)),{topic:w,acknowledged:()=>new Promise(E=>setTimeout(()=>E(this.client.session.get(w)),500))}},this.reject=async t=>{await this.isInitialized();try{await this.isValidReject(t)}catch(r){throw this.client.logger.error(\"reject() -> isValidReject() failed\"),r}const{id:e,reason:s}=t;let i;try{i=this.client.proposal.get(e).pairingTopic}catch(r){throw this.client.logger.error(`reject() -> proposal.get(${e}) failed`),r}i&&(await this.sendError({id:e,topic:i,error:s}),await this.client.proposal.delete(e,R(\"USER_DISCONNECTED\")))},this.update=async t=>{await this.isInitialized();try{await this.isValidUpdate(t)}catch(p){throw this.client.logger.error(\"update() -> isValidUpdate() failed\"),p}const{topic:e,namespaces:s}=t,{done:i,resolve:r,reject:o}=U(),a=k(),c=te().toString(),d=this.client.session.get(e).namespaces;return this.events.once(u(\"session_update\",a),({error:p})=>{p?o(p):r()}),await this.client.session.update(e,{namespaces:s}),this.sendRequest({topic:e,method:\"wc_sessionUpdate\",params:{namespaces:s},throwOnFailedPublish:!0,clientRpcId:a,relayRpcId:c}).catch(p=>{this.client.logger.error(p),this.client.session.update(e,{namespaces:d}),o(p)}),{acknowledged:i}},this.extend=async t=>{await this.isInitialized();try{await this.isValidExtend(t)}catch(a){throw this.client.logger.error(\"extend() -> isValidExtend() failed\"),a}const{topic:e}=t,s=k(),{done:i,resolve:r,reject:o}=U();return this.events.once(u(\"session_extend\",s),({error:a})=>{a?o(a):r()}),await this.setExpiry(e,N(L)),this.sendRequest({topic:e,method:\"wc_sessionExtend\",params:{},clientRpcId:s,throwOnFailedPublish:!0}).catch(a=>{o(a)}),{acknowledged:i}},this.request=async t=>{await this.isInitialized();try{await this.isValidRequest(t)}catch(h){throw this.client.logger.error(\"request() -> isValidRequest() failed\"),h}const{chainId:e,request:s,topic:i,expiry:r=q.wc_sessionRequest.req.ttl}=t,o=this.client.session.get(i),a=k(),c=te().toString(),{done:d,resolve:p,reject:g}=U(r,\"Request expired. Please try again.\");return this.events.once(u(\"session_request\",a),({error:h,result:y})=>{h?g(h):p(y)}),await Promise.all([new Promise(async h=>{await this.sendRequest({clientRpcId:a,relayRpcId:c,topic:i,method:\"wc_sessionRequest\",params:{request:F(m({},s),{expiryTimestamp:N(r)}),chainId:e},expiry:r,throwOnFailedPublish:!0}).catch(y=>g(y)),this.client.events.emit(\"session_request_sent\",{topic:i,request:s,chainId:e,id:a}),h()}),new Promise(async h=>{var y;if(!((y=o.sessionConfig)!=null&&y.disableDeepLink)){const w=await pt(this.client.core.storage,Re);dt({id:a,topic:i,wcDeepLink:w})}h()}),d()]).then(h=>h[2])},this.respond=async t=>{await this.isInitialized(),await this.isValidRespond(t);const{topic:e,response:s}=t,{id:i}=s;b(s)?await this.sendResult({id:i,topic:e,result:s.result,throwOnFailedPublish:!0}):$(s)&&await this.sendError({id:i,topic:e,error:s.error}),this.cleanupAfterResponse(t)},this.ping=async t=>{await this.isInitialized();try{await this.isValidPing(t)}catch(s){throw this.client.logger.error(\"ping() -> isValidPing() failed\"),s}const{topic:e}=t;if(this.client.session.keys.includes(e)){const s=k(),i=te().toString(),{done:r,resolve:o,reject:a}=U();this.events.once(u(\"session_ping\",s),({error:c})=>{c?a(c):o()}),await Promise.all([this.sendRequest({topic:e,method:\"wc_sessionPing\",params:{},throwOnFailedPublish:!0,clientRpcId:s,relayRpcId:i}),r()])}else this.client.core.pairing.pairings.keys.includes(e)&&await this.client.core.pairing.ping({topic:e})},this.emit=async t=>{await this.isInitialized(),await this.isValidEmit(t);const{topic:e,event:s,chainId:i}=t,r=te().toString();await this.sendRequest({topic:e,method:\"wc_sessionEvent\",params:{event:s,chainId:i},throwOnFailedPublish:!0,relayRpcId:r})},this.disconnect=async t=>{await this.isInitialized(),await this.isValidDisconnect(t);const{topic:e}=t;if(this.client.session.keys.includes(e))await this.sendRequest({topic:e,method:\"wc_sessionDelete\",params:R(\"USER_DISCONNECTED\"),throwOnFailedPublish:!0}),await this.deleteSession({topic:e,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(e))await this.client.core.pairing.disconnect({topic:e});else{const{message:s}=l(\"MISMATCHED_TOPIC\",`Session or pairing topic not found: ${e}`);throw new Error(s)}},this.find=t=>(this.isInitialized(),this.client.session.getAll().filter(e=>ut(e,t))),this.getPendingSessionRequests=()=>this.client.pendingRequest.getAll(),this.authenticate=async t=>{this.isInitialized(),this.isValidAuthenticate(t);const{chains:e,statement:s=\"\",uri:i,domain:r,nonce:o,type:a,exp:c,nbf:d,methods:p=[]}=t,g=[...t.resources||[]],{topic:h,uri:y}=await this.client.core.pairing.create({methods:[\"wc_sessionAuthenticate\"]});this.client.logger.info({message:\"Generated new pairing\",pairing:{topic:h,uri:y}});const w=await this.client.core.crypto.generateKeyPair(),I=ue(w);if(await Promise.all([this.client.auth.authKeys.set(J,{responseTopic:I,publicKey:w}),this.client.auth.pairingTopics.set(I,{topic:I,pairingTopic:h})]),await this.client.core.relayer.subscribe(I),this.client.logger.info(`sending request to new pairing topic: ${h}`),p.length>0){const{namespace:O}=ge(e[0]);let _=gt(O,\"request\",p);we(g)&&(_=wt(_,g.pop())),g.push(_)}const D=N(q.wc_sessionPropose.req.ttl),E={authPayload:{type:a??\"caip122\",chains:e,statement:s,aud:i,domain:r,version:\"1\",nonce:o,iat:new Date().toISOString(),exp:c,nbf:d,resources:g},requester:{publicKey:w,metadata:this.client.metadata},expiryTimestamp:D},P={eip155:{chains:e,methods:[...new Set([\"personal_sign\",...p])],events:[\"chainChanged\",\"accountsChanged\"]}},f={requiredNamespaces:{},optionalNamespaces:P,relays:[{protocol:\"irn\"}],proposer:{publicKey:w,metadata:this.client.metadata},expiryTimestamp:D},{done:v,resolve:j,reject:oe}=U(q.wc_sessionAuthenticate.req.ttl,\"Request expired\"),B=async({error:O,session:_})=>{if(this.events.off(u(\"session_request\",M),ae),O)oe(O);else if(_){_.self.publicKey=w,await this.client.session.set(_.topic,_),await this.setExpiry(_.topic,_.expiry),h&&await this.client.core.pairing.updateMetadata({topic:h,metadata:_.peer.metadata});const Q=this.client.session.get(_.topic);j({session:Q})}},ae=async O=>{if(O.error){const z=R(\"WC_METHOD_UNSUPPORTED\",\"wc_sessionAuthenticate\");return O.error.code===z.code?void 0:(this.events.off(u(\"session_connect\"),B),oe(O.error.message))}this.events.off(u(\"session_connect\"),B);const{cacaos:_,responder:Q}=O.result,le=[],Ie=[];for(const z of _){await Pe({cacao:z,projectId:this.client.core.projectId})||(this.client.logger.error(z,\"Signature verification failed\"),oe(R(\"SESSION_SETTLEMENT_FAILED\",\"Signature verification failed\")));const{p:he}=z,pe=we(he.resources),fe=[ve(he.iss)],Ze=Oe(he.iss);if(pe){const de=Te(pe),et=De(pe);le.push(...de),fe.push(...et)}for(const de of fe)Ie.push(`${de}:${Ze}`)}const W=await this.client.core.crypto.generateSharedKey(w,Q.publicKey);let Z;le.length>0&&(Z={topic:W,acknowledged:!0,self:{publicKey:w,metadata:this.client.metadata},peer:Q,controller:Q.publicKey,expiry:N(L),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:\"irn\"},pairingTopic:h,namespaces:xe([...new Set(le)],[...new Set(Ie)])},await this.client.core.relayer.subscribe(W),await this.client.session.set(W,Z),Z=this.client.session.get(W)),j({auths:_,session:Z})},M=k(),ce=k();this.events.once(u(\"session_connect\"),B),this.events.once(u(\"session_request\",M),ae);try{await Promise.all([this.sendRequest({topic:h,method:\"wc_sessionAuthenticate\",params:E,expiry:t.expiry,throwOnFailedPublish:!0,clientRpcId:M}),this.sendRequest({topic:h,method:\"wc_sessionPropose\",params:f,expiry:q.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:ce})])}catch(O){throw this.events.off(u(\"session_connect\"),B),this.events.off(u(\"session_request\",M),ae),O}return await this.setProposal(ce,m({id:ce},f)),await this.client.auth.requests.set(M,{authPayload:E.authPayload,requester:E.requester,expiryTimestamp:D,id:M,pairingTopic:h,verifyContext:{}}),{uri:y,response:v}},this.approveSessionAuthenticate=async t=>{this.isInitialized();const{id:e,auths:s}=t,i=this.getPendingAuthRequest(e);if(!i)throw new Error(`Could not find pending auth request with id ${e}`);const r=i.requester.publicKey,o=await this.client.core.crypto.generateKeyPair(),a=ue(r),c={type:be,receiverPublicKey:r,senderPublicKey:o},d=[],p=[];for(const y of s){if(!await Pe({cacao:y,projectId:this.client.core.projectId})){const P=R(\"SESSION_SETTLEMENT_FAILED\",\"Signature verification failed\");throw await this.sendError({id:e,topic:a,error:P,encodeOpts:c}),new Error(P.message)}const{p:w}=y,I=we(w.resources),D=[ve(w.iss)],E=Oe(w.iss);if(I){const P=Te(I),f=De(I);d.push(...P),D.push(...f)}for(const P of D)p.push(`${P}:${E}`)}const g=await this.client.core.crypto.generateSharedKey(o,r);let h;return d?.length>0&&(h={topic:g,acknowledged:!0,self:{publicKey:o,metadata:this.client.metadata},peer:{publicKey:r,metadata:i.requester.metadata},controller:r,expiry:N(L),authentication:s,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:\"irn\"},pairingTopic:\"\",namespaces:xe([...new Set(d)],[...new Set(p)])},await this.client.core.relayer.subscribe(g),await this.client.session.set(g,h)),await this.sendResult({topic:a,id:e,result:{cacaos:s,responder:{publicKey:o,metadata:this.client.metadata}},encodeOpts:c,throwOnFailedPublish:!0}),await this.client.auth.requests.delete(e,{message:\"fullfilled\",code:0}),await this.client.core.pairing.activate({topic:i.pairingTopic}),{session:h}},this.rejectSessionAuthenticate=async t=>{await this.isInitialized();const{id:e,reason:s}=t,i=this.getPendingAuthRequest(e);if(!i)throw new Error(`Could not find pending auth request with id ${e}`);const r=i.requester.publicKey,o=await this.client.core.crypto.generateKeyPair(),a=ue(r),c={type:be,receiverPublicKey:r,senderPublicKey:o};await this.sendError({id:e,topic:a,error:s,encodeOpts:c}),await this.client.auth.requests.delete(e,{message:\"rejected\",code:0}),await this.client.proposal.delete(e,R(\"USER_DISCONNECTED\"))},this.formatAuthMessage=t=>{this.isInitialized();const{request:e,iss:s}=t;return yt(e,s)},this.cleanupDuplicatePairings=async t=>{if(t.pairingTopic)try{const e=this.client.core.pairing.pairings.get(t.pairingTopic),s=this.client.core.pairing.pairings.getAll().filter(i=>{var r,o;return((r=i.peerMetadata)==null?void 0:r.url)&&((o=i.peerMetadata)==null?void 0:o.url)===t.peer.metadata.url&&i.topic&&i.topic!==e.topic});if(s.length===0)return;this.client.logger.info(`Cleaning up ${s.length} duplicate pairing(s)`),await Promise.all(s.map(i=>this.client.core.pairing.disconnect({topic:i.topic}))),this.client.logger.info(\"Duplicate pairings clean up finished\")}catch(e){this.client.logger.error(e)}},this.deleteSession=async t=>{const{topic:e,expirerHasDeleted:s=!1,emitEvent:i=!0,id:r=0}=t,{self:o}=this.client.session.get(e);await this.client.core.relayer.unsubscribe(e),await this.client.session.delete(e,R(\"USER_DISCONNECTED\")),this.addToRecentlyDeleted(e,\"session\"),this.client.core.crypto.keychain.has(o.publicKey)&&await this.client.core.crypto.deleteKeyPair(o.publicKey),this.client.core.crypto.keychain.has(e)&&await this.client.core.crypto.deleteSymKey(e),s||this.client.core.expirer.del(e),this.client.core.storage.removeItem(Re).catch(a=>this.client.logger.warn(a)),this.getPendingSessionRequests().forEach(a=>{a.topic===e&&this.deletePendingSessionRequest(a.id,R(\"USER_DISCONNECTED\"))}),i&&this.client.events.emit(\"session_delete\",{id:r,topic:e})},this.deleteProposal=async(t,e)=>{await Promise.all([this.client.proposal.delete(t,R(\"USER_DISCONNECTED\")),e?Promise.resolve():this.client.core.expirer.del(t)]),this.addToRecentlyDeleted(t,\"proposal\")},this.deletePendingSessionRequest=async(t,e,s=!1)=>{await Promise.all([this.client.pendingRequest.delete(t,e),s?Promise.resolve():this.client.core.expirer.del(t)]),this.addToRecentlyDeleted(t,\"request\"),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(i=>i.id!==t),s&&(this.sessionRequestQueue.state=A.idle,this.client.events.emit(\"session_request_expire\",{id:t}))},this.setExpiry=async(t,e)=>{this.client.session.keys.includes(t)&&await this.client.session.update(t,{expiry:e}),this.client.core.expirer.set(t,e)},this.setProposal=async(t,e)=>{await this.client.proposal.set(t,e),this.client.core.expirer.set(t,N(q.wc_sessionPropose.req.ttl))},this.setPendingSessionRequest=async t=>{const{id:e,topic:s,params:i,verifyContext:r}=t,o=i.request.expiryTimestamp||N(q.wc_sessionRequest.req.ttl);await this.client.pendingRequest.set(e,{id:e,topic:s,params:i,verifyContext:r}),o&&this.client.core.expirer.set(e,o)},this.sendRequest=async t=>{const{topic:e,method:s,params:i,expiry:r,relayRpcId:o,clientRpcId:a,throwOnFailedPublish:c}=t,d=me(s,i,a);if(mt()&&je.includes(s)){const h=ee(JSON.stringify(d));this.client.core.verify.register({attestationId:h})}let p;try{p=await this.client.core.crypto.encode(e,d)}catch(h){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${e} failed`),h}const g=q[s].req;return r&&(g.ttl=r),o&&(g.id=o),this.client.core.history.set(e,d),c?(g.internal=F(m({},g.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(e,p,g)):this.client.core.relayer.publish(e,p,g).catch(h=>this.client.logger.error(h)),d.id},this.sendResult=async t=>{const{id:e,topic:s,result:i,throwOnFailedPublish:r,encodeOpts:o}=t,a=$t(e,i);let c;try{c=await this.client.core.crypto.encode(s,a,o)}catch(g){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${s} failed`),g}let d;try{d=await this.client.core.history.get(s,e)}catch(g){throw this.client.logger.error(`sendResult() -> history.get(${s}, ${e}) failed`),g}const p=q[d.request.method].res;r?(p.internal=F(m({},p.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(s,c,p)):this.client.core.relayer.publish(s,c,p).catch(g=>this.client.logger.error(g)),await this.client.core.history.resolve(a)},this.sendError=async t=>{const{id:e,topic:s,error:i,encodeOpts:r}=t,o=Lt(e,i);let a;try{a=await this.client.core.crypto.encode(s,o,r)}catch(p){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${s} failed`),p}let c;try{c=await this.client.core.history.get(s,e)}catch(p){throw this.client.logger.error(`sendError() -> history.get(${s}, ${e}) failed`),p}const d=q[c.request.method].res;this.client.core.relayer.publish(s,a,d),await this.client.core.history.resolve(o)},this.cleanup=async()=>{const t=[],e=[];this.client.session.getAll().forEach(s=>{let i=!1;G(s.expiry)&&(i=!0),this.client.core.crypto.keychain.has(s.topic)||(i=!0),i&&t.push(s.topic)}),this.client.proposal.getAll().forEach(s=>{G(s.expiryTimestamp)&&e.push(s.id)}),await Promise.all([...t.map(s=>this.deleteSession({topic:s})),...e.map(s=>this.deleteProposal(s))])},this.onRelayEventRequest=async t=>{this.requestQueue.queue.push(t),await this.processRequestsQueue()},this.processRequestsQueue=async()=>{if(this.requestQueue.state===A.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=A.active;const t=this.requestQueue.queue.shift();if(t)try{this.processRequest(t),await new Promise(e=>setTimeout(e,300))}catch(e){this.client.logger.warn(e)}}this.requestQueue.state=A.idle},this.processRequest=t=>{const{topic:e,payload:s}=t,i=s.method;if(!this.shouldIgnorePairingRequest({topic:e,requestMethod:i}))switch(i){case\"wc_sessionPropose\":return this.onSessionProposeRequest(e,s);case\"wc_sessionSettle\":return this.onSessionSettleRequest(e,s);case\"wc_sessionUpdate\":return this.onSessionUpdateRequest(e,s);case\"wc_sessionExtend\":return this.onSessionExtendRequest(e,s);case\"wc_sessionPing\":return this.onSessionPingRequest(e,s);case\"wc_sessionDelete\":return this.onSessionDeleteRequest(e,s);case\"wc_sessionRequest\":return this.onSessionRequest(e,s);case\"wc_sessionEvent\":return this.onSessionEventRequest(e,s);case\"wc_sessionAuthenticate\":return this.onSessionAuthenticateRequest(e,s);default:return this.client.logger.info(`Unsupported request method ${i}`)}},this.onRelayEventResponse=async t=>{const{topic:e,payload:s}=t,i=(await this.client.core.history.get(e,s.id)).request.method;switch(i){case\"wc_sessionPropose\":return this.onSessionProposeResponse(e,s);case\"wc_sessionSettle\":return this.onSessionSettleResponse(e,s);case\"wc_sessionUpdate\":return this.onSessionUpdateResponse(e,s);case\"wc_sessionExtend\":return this.onSessionExtendResponse(e,s);case\"wc_sessionPing\":return this.onSessionPingResponse(e,s);case\"wc_sessionRequest\":return this.onSessionRequestResponse(e,s);case\"wc_sessionAuthenticate\":return this.onSessionAuthenticateResponse(e,s);default:return this.client.logger.info(`Unsupported response method ${i}`)}},this.onRelayEventUnknownPayload=t=>{const{topic:e}=t,{message:s}=l(\"MISSING_OR_INVALID\",`Decoded payload on topic ${e} is not identifiable as a JSON-RPC request or a response.`);throw new Error(s)},this.shouldIgnorePairingRequest=t=>{const{topic:e,requestMethod:s}=t,i=this.expectedPairingMethodMap.get(e);return!i||i.includes(s)?!1:!!(i.includes(\"wc_sessionAuthenticate\")&&this.client.events.listenerCount(\"session_authenticate\")>0)},this.onSessionProposeRequest=async(t,e)=>{const{params:s,id:i}=e;try{this.isValidConnect(m({},e.params));const r=s.expiryTimestamp||N(q.wc_sessionPropose.req.ttl),o=m({id:i,pairingTopic:t,expiryTimestamp:r},s);await this.setProposal(i,o);const a=ee(JSON.stringify(e)),c=await this.getVerifyContext(a,o.proposer.metadata);this.client.events.emit(\"session_proposal\",{id:i,params:o,verifyContext:c})}catch(r){await this.sendError({id:i,topic:t,error:r}),this.client.logger.error(r)}},this.onSessionProposeResponse=async(t,e)=>{const{id:s}=e;if(b(e)){const{result:i}=e;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",result:i});const r=this.client.proposal.get(s);this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",proposal:r});const o=r.proposer.publicKey;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",selfPublicKey:o});const a=i.responderPublicKey;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",peerPublicKey:a});const c=await this.client.core.crypto.generateSharedKey(o,a);this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",sessionTopic:c});const d=await this.client.core.relayer.subscribe(c);this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",subscriptionId:d}),await this.client.core.pairing.activate({topic:t})}else if($(e)){await this.client.proposal.delete(s,R(\"USER_DISCONNECTED\"));const i=u(\"session_connect\");if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners, 954`);this.events.emit(u(\"session_connect\"),{error:e.error})}},this.onSessionSettleRequest=async(t,e)=>{const{id:s,params:i}=e;try{this.isValidSessionSettleRequest(i);const{relay:r,controller:o,expiry:a,namespaces:c,sessionProperties:d,pairingTopic:p,sessionConfig:g}=e.params,h=m(m({topic:t,relay:r,expiry:a,namespaces:c,acknowledged:!0,pairingTopic:p,requiredNamespaces:{},optionalNamespaces:{},controller:o.publicKey,self:{publicKey:\"\",metadata:this.client.metadata},peer:{publicKey:o.publicKey,metadata:o.metadata}},d&&{sessionProperties:d}),g&&{sessionConfig:g});await this.sendResult({id:e.id,topic:t,result:!0,throwOnFailedPublish:!0});const y=u(\"session_connect\");if(this.events.listenerCount(y)===0)throw new Error(`emitting ${y} without any listeners 997`);this.events.emit(u(\"session_connect\"),{session:h}),this.cleanupDuplicatePairings(h)}catch(r){await this.sendError({id:s,topic:t,error:r}),this.client.logger.error(r)}},this.onSessionSettleResponse=async(t,e)=>{const{id:s}=e;b(e)?(await this.client.session.update(t,{acknowledged:!0}),this.events.emit(u(\"session_approve\",s),{})):$(e)&&(await this.client.session.delete(t,R(\"USER_DISCONNECTED\")),this.events.emit(u(\"session_approve\",s),{error:e.error}))},this.onSessionUpdateRequest=async(t,e)=>{const{params:s,id:i}=e;try{const r=`${t}_session_update`,o=H.get(r);if(o&&this.isRequestOutOfSync(o,i)){this.client.logger.info(`Discarding out of sync request - ${i}`),this.sendError({id:i,topic:t,error:R(\"INVALID_UPDATE_REQUEST\")});return}this.isValidUpdate(m({topic:t},s));try{H.set(r,i),await this.client.session.update(t,{namespaces:s.namespaces}),await this.sendResult({id:i,topic:t,result:!0,throwOnFailedPublish:!0})}catch(a){throw H.delete(r),a}this.client.events.emit(\"session_update\",{id:i,topic:t,params:s})}catch(r){await this.sendError({id:i,topic:t,error:r}),this.client.logger.error(r)}},this.isRequestOutOfSync=(t,e)=>parseInt(e.toString().slice(0,-3))<=parseInt(t.toString().slice(0,-3)),this.onSessionUpdateResponse=(t,e)=>{const{id:s}=e,i=u(\"session_update\",s);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);b(e)?this.events.emit(u(\"session_update\",s),{}):$(e)&&this.events.emit(u(\"session_update\",s),{error:e.error})},this.onSessionExtendRequest=async(t,e)=>{const{id:s}=e;try{this.isValidExtend({topic:t}),await this.setExpiry(t,N(L)),await this.sendResult({id:s,topic:t,result:!0,throwOnFailedPublish:!0}),this.client.events.emit(\"session_extend\",{id:s,topic:t})}catch(i){await this.sendError({id:s,topic:t,error:i}),this.client.logger.error(i)}},this.onSessionExtendResponse=(t,e)=>{const{id:s}=e,i=u(\"session_extend\",s);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);b(e)?this.events.emit(u(\"session_extend\",s),{}):$(e)&&this.events.emit(u(\"session_extend\",s),{error:e.error})},this.onSessionPingRequest=async(t,e)=>{const{id:s}=e;try{this.isValidPing({topic:t}),await this.sendResult({id:s,topic:t,result:!0,throwOnFailedPublish:!0}),this.client.events.emit(\"session_ping\",{id:s,topic:t})}catch(i){await this.sendError({id:s,topic:t,error:i}),this.client.logger.error(i)}},this.onSessionPingResponse=(t,e)=>{const{id:s}=e,i=u(\"session_ping\",s);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);setTimeout(()=>{b(e)?this.events.emit(u(\"session_ping\",s),{}):$(e)&&this.events.emit(u(\"session_ping\",s),{error:e.error})},500)},this.onSessionDeleteRequest=async(t,e)=>{const{id:s}=e;try{this.isValidDisconnect({topic:t,reason:e.params}),await Promise.all([new Promise(i=>{this.client.core.relayer.once(qe.publish,async()=>{i(await this.deleteSession({topic:t,id:s}))})}),this.sendResult({id:s,topic:t,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:t,error:R(\"USER_DISCONNECTED\")})])}catch(i){this.client.logger.error(i)}},this.onSessionRequest=async(t,e)=>{const{id:s,params:i}=e;try{await this.isValidRequest(m({topic:t},i));const r=ee(JSON.stringify(me(\"wc_sessionRequest\",i,s))),o=this.client.session.get(t),a=await this.getVerifyContext(r,o.peer.metadata),c={id:s,topic:t,params:i,verifyContext:a};await this.setPendingSessionRequest(c),this.addSessionRequestToSessionRequestQueue(c),this.processSessionRequestQueue()}catch(r){await this.sendError({id:s,topic:t,error:r}),this.client.logger.error(r)}},this.onSessionRequestResponse=(t,e)=>{const{id:s}=e,i=u(\"session_request\",s);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);b(e)?this.events.emit(u(\"session_request\",s),{result:e.result}):$(e)&&this.events.emit(u(\"session_request\",s),{error:e.error})},this.onSessionEventRequest=async(t,e)=>{const{id:s,params:i}=e;try{const r=`${t}_session_event_${i.event.name}`,o=H.get(r);if(o&&this.isRequestOutOfSync(o,s)){this.client.logger.info(`Discarding out of sync request - ${s}`);return}this.isValidEmit(m({topic:t},i)),this.client.events.emit(\"session_event\",{id:s,topic:t,params:i}),H.set(r,s)}catch(r){await this.sendError({id:s,topic:t,error:r}),this.client.logger.error(r)}},this.onSessionAuthenticateResponse=(t,e)=>{const{id:s}=e;this.client.logger.trace({type:\"method\",method:\"onSessionAuthenticateResponse\",topic:t,payload:e}),b(e)?this.events.emit(u(\"session_request\",s),{result:e.result}):$(e)&&this.events.emit(u(\"session_request\",s),{error:e.error})},this.onSessionAuthenticateRequest=async(t,e)=>{const{requester:s,authPayload:i,expiryTimestamp:r}=e.params,o=ee(JSON.stringify(e)),a=await this.getVerifyContext(o,this.client.metadata),c={requester:s,pairingTopic:t,id:e.id,authPayload:i,verifyContext:a,expiryTimestamp:r};await this.client.auth.requests.set(e.id,c),this.client.events.emit(\"session_authenticate\",{topic:t,params:e.params,id:e.id})},this.addSessionRequestToSessionRequestQueue=t=>{this.sessionRequestQueue.queue.push(t)},this.cleanupAfterResponse=t=>{this.deletePendingSessionRequest(t.response.id,{message:\"fulfilled\",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=A.idle,this.processSessionRequestQueue()},Me(this.requestQueueDelay))},this.cleanupPendingSentRequestsForTopic=({topic:t,error:e})=>{const s=this.client.core.history.pending;s.length>0&&s.filter(i=>i.topic===t&&i.request.method===\"wc_sessionRequest\").forEach(i=>{const r=i.request.id,o=u(\"session_request\",r);if(this.events.listenerCount(o)===0)throw new Error(`emitting ${o} without any listeners`);this.events.emit(u(\"session_request\",i.request.id),{error:e})})},this.processSessionRequestQueue=()=>{if(this.sessionRequestQueue.state===A.active){this.client.logger.info(\"session request queue is already active.\");return}const t=this.sessionRequestQueue.queue[0];if(!t){this.client.logger.info(\"session request queue is empty.\");return}try{this.sessionRequestQueue.state=A.active,this.client.events.emit(\"session_request\",t)}catch(e){this.client.logger.error(e)}},this.onPairingCreated=t=>{if(t.methods&&this.expectedPairingMethodMap.set(t.topic,t.methods),t.active)return;const e=this.client.proposal.getAll().find(s=>s.pairingTopic===t.topic);e&&this.onSessionProposeRequest(t.topic,me(\"wc_sessionPropose\",{requiredNamespaces:e.requiredNamespaces,optionalNamespaces:e.optionalNamespaces,relays:e.relays,proposer:e.proposer,sessionProperties:e.sessionProperties},e.id))},this.isValidConnect=async t=>{if(!T(t)){const{message:a}=l(\"MISSING_OR_INVALID\",`connect() params: ${JSON.stringify(t)}`);throw new Error(a)}const{pairingTopic:e,requiredNamespaces:s,optionalNamespaces:i,sessionProperties:r,relays:o}=t;if(Y(e)||await this.isValidPairingTopic(e),!St(o,!0)){const{message:a}=l(\"MISSING_OR_INVALID\",`connect() relays: ${o}`);throw new Error(a)}!Y(s)&&Ae(s)!==0&&this.validateNamespaces(s,\"requiredNamespaces\"),!Y(i)&&Ae(i)!==0&&this.validateNamespaces(i,\"optionalNamespaces\"),Y(r)||this.validateSessionProps(r,\"sessionProperties\")},this.validateNamespaces=(t,e)=>{const s=Et(t,\"connect()\",e);if(s)throw new Error(s.message)},this.isValidApprove=async t=>{if(!T(t))throw new Error(l(\"MISSING_OR_INVALID\",`approve() params: ${t}`).message);const{id:e,namespaces:s,relayProtocol:i,sessionProperties:r}=t;this.checkRecentlyDeleted(e),await this.isValidProposalId(e);const o=this.client.proposal.get(e),a=ye(s,\"approve()\");if(a)throw new Error(a.message);const c=Ve(o.requiredNamespaces,s,\"approve()\");if(c)throw new Error(c.message);if(!V(i,!0)){const{message:d}=l(\"MISSING_OR_INVALID\",`approve() relayProtocol: ${i}`);throw new Error(d)}Y(r)||this.validateSessionProps(r,\"sessionProperties\")},this.isValidReject=async t=>{if(!T(t)){const{message:i}=l(\"MISSING_OR_INVALID\",`reject() params: ${t}`);throw new Error(i)}const{id:e,reason:s}=t;if(this.checkRecentlyDeleted(e),await this.isValidProposalId(e),!_t(s)){const{message:i}=l(\"MISSING_OR_INVALID\",`reject() reason: ${JSON.stringify(s)}`);throw new Error(i)}},this.isValidSessionSettleRequest=t=>{if(!T(t)){const{message:c}=l(\"MISSING_OR_INVALID\",`onSessionSettleRequest() params: ${t}`);throw new Error(c)}const{relay:e,controller:s,namespaces:i,expiry:r}=t;if(!Rt(e)){const{message:c}=l(\"MISSING_OR_INVALID\",\"onSessionSettleRequest() relay protocol should be a string\");throw new Error(c)}const o=It(s,\"onSessionSettleRequest()\");if(o)throw new Error(o.message);const a=ye(i,\"onSessionSettleRequest()\");if(a)throw new Error(a.message);if(G(r)){const{message:c}=l(\"EXPIRED\",\"onSessionSettleRequest()\");throw new Error(c)}},this.isValidUpdate=async t=>{if(!T(t)){const{message:a}=l(\"MISSING_OR_INVALID\",`update() params: ${t}`);throw new Error(a)}const{topic:e,namespaces:s}=t;this.checkRecentlyDeleted(e),await this.isValidSessionTopic(e);const i=this.client.session.get(e),r=ye(s,\"update()\");if(r)throw new Error(r.message);const o=Ve(i.requiredNamespaces,s,\"update()\");if(o)throw new Error(o.message)},this.isValidExtend=async t=>{if(!T(t)){const{message:s}=l(\"MISSING_OR_INVALID\",`extend() params: ${t}`);throw new Error(s)}const{topic:e}=t;this.checkRecentlyDeleted(e),await this.isValidSessionTopic(e)},this.isValidRequest=async t=>{if(!T(t)){const{message:a}=l(\"MISSING_OR_INVALID\",`request() params: ${t}`);throw new Error(a)}const{topic:e,request:s,chainId:i,expiry:r}=t;this.checkRecentlyDeleted(e),await this.isValidSessionTopic(e);const{namespaces:o}=this.client.session.get(e);if(!Ce(o,i)){const{message:a}=l(\"MISSING_OR_INVALID\",`request() chainId: ${i}`);throw new Error(a)}if(!ft(s)){const{message:a}=l(\"MISSING_OR_INVALID\",`request() ${JSON.stringify(s)}`);throw new Error(a)}if(!qt(o,i,s.method)){const{message:a}=l(\"MISSING_OR_INVALID\",`request() method: ${s.method}`);throw new Error(a)}if(r&&!Nt(r,re)){const{message:a}=l(\"MISSING_OR_INVALID\",`request() expiry: ${r}. Expiry must be a number (in seconds) between ${re.min} and ${re.max}`);throw new Error(a)}},this.isValidRespond=async t=>{var e;if(!T(t)){const{message:r}=l(\"MISSING_OR_INVALID\",`respond() params: ${t}`);throw new Error(r)}const{topic:s,response:i}=t;try{await this.isValidSessionTopic(s)}catch(r){throw(e=t?.response)!=null&&e.id&&this.cleanupAfterResponse(t),r}if(!Pt(i)){const{message:r}=l(\"MISSING_OR_INVALID\",`respond() response: ${JSON.stringify(i)}`);throw new Error(r)}},this.isValidPing=async t=>{if(!T(t)){const{message:s}=l(\"MISSING_OR_INVALID\",`ping() params: ${t}`);throw new Error(s)}const{topic:e}=t;await this.isValidSessionOrPairingTopic(e)},this.isValidEmit=async t=>{if(!T(t)){const{message:o}=l(\"MISSING_OR_INVALID\",`emit() params: ${t}`);throw new Error(o)}const{topic:e,event:s,chainId:i}=t;await this.isValidSessionTopic(e);const{namespaces:r}=this.client.session.get(e);if(!Ce(r,i)){const{message:o}=l(\"MISSING_OR_INVALID\",`emit() chainId: ${i}`);throw new Error(o)}if(!vt(s)){const{message:o}=l(\"MISSING_OR_INVALID\",`emit() event: ${JSON.stringify(s)}`);throw new Error(o)}if(!Ot(r,i,s.name)){const{message:o}=l(\"MISSING_OR_INVALID\",`emit() event: ${JSON.stringify(s)}`);throw new Error(o)}},this.isValidDisconnect=async t=>{if(!T(t)){const{message:s}=l(\"MISSING_OR_INVALID\",`disconnect() params: ${t}`);throw new Error(s)}const{topic:e}=t;await this.isValidSessionOrPairingTopic(e)},this.isValidAuthenticate=t=>{const{chains:e,uri:s,domain:i,nonce:r}=t;if(!Array.isArray(e)||e.length===0)throw new Error(\"chains is required and must be a non-empty array\");if(!V(s,!1))throw new Error(\"uri is required parameter\");if(!V(i,!1))throw new Error(\"domain is required parameter\");if(!V(r,!1))throw new Error(\"nonce is required parameter\");if([...new Set(e.map(a=>ge(a).namespace))].length>1)throw new Error(\"Multi-namespace requests are not supported. Please request single namespace only.\");const{namespace:o}=ge(e[0]);if(o!==\"eip155\")throw new Error(\"Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.\")},this.getVerifyContext=async(t,e)=>{const s={verified:{verifyUrl:e.verifyUrl||st,validation:\"UNKNOWN\",origin:e.url||\"\"}};try{const i=await this.client.core.verify.resolve({attestationId:t,verifyUrl:e.verifyUrl});i&&(s.verified.origin=i.origin,s.verified.isScam=i.isScam,s.verified.validation=i.origin===new URL(e.url).origin?\"VALID\":\"INVALID\")}catch(i){this.client.logger.info(i)}return this.client.logger.info(`Verify context: ${JSON.stringify(s)}`),s},this.validateSessionProps=(t,e)=>{Object.values(t).forEach(s=>{if(!V(s,!1)){const{message:i}=l(\"MISSING_OR_INVALID\",`${e} must be in Record format. Received: ${JSON.stringify(s)}`);throw new Error(i)}})},this.getPendingAuthRequest=t=>{const e=this.client.auth.requests.get(t);return typeof e==\"object\"?e:void 0},this.addToRecentlyDeleted=(t,e)=>{if(this.recentlyDeletedMap.set(t,e),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let s=0;const i=this.recentlyDeletedLimit/2;for(const r of this.recentlyDeletedMap.keys()){if(s++>=i)break;this.recentlyDeletedMap.delete(r)}}},this.checkRecentlyDeleted=t=>{const e=this.recentlyDeletedMap.get(t);if(e){const{message:s}=l(\"MISSING_OR_INVALID\",`Record was recently deleted - ${e}: ${t}`);throw new Error(s)}}}async isInitialized(){if(!this.initialized){const{message:n}=l(\"NOT_INITIALIZED\",this.name);throw new Error(n)}await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(qe.message,async n=>{const{topic:t,message:e}=n,{publicKey:s}=this.client.auth.authKeys.keys.includes(J)?this.client.auth.authKeys.get(J):{responseTopic:void 0,publicKey:void 0},i=await this.client.core.crypto.decode(t,e,{receiverPublicKey:s});try{Mt(i)?(this.client.core.history.set(t,i),this.onRelayEventRequest({topic:t,payload:i})):Kt(i)?(await this.client.core.history.resolve(i),await this.onRelayEventResponse({topic:t,payload:i}),this.client.core.history.delete(t,i.id)):this.onRelayEventUnknownPayload({topic:t,payload:i})}catch(r){this.client.logger.error(r)}})}registerExpirerEvents(){this.client.core.expirer.on(it.expired,async n=>{const{topic:t,id:e}=Tt(n.target);if(e&&this.client.pendingRequest.keys.includes(e))return await this.deletePendingSessionRequest(e,l(\"EXPIRED\"),!0);t?this.client.session.keys.includes(t)&&(await this.deleteSession({topic:t,expirerHasDeleted:!0}),this.client.events.emit(\"session_expire\",{topic:t})):e&&(await this.deleteProposal(e,!0),this.client.events.emit(\"proposal_expire\",{id:e}))})}registerPairingEvents(){this.client.core.pairing.events.on(Ne.create,n=>this.onPairingCreated(n)),this.client.core.pairing.events.on(Ne.delete,n=>{this.addToRecentlyDeleted(n.topic,\"pairing\")})}isValidPairingTopic(n){if(!V(n,!1)){const{message:t}=l(\"MISSING_OR_INVALID\",`pairing topic should be a string: ${n}`);throw new Error(t)}if(!this.client.core.pairing.pairings.keys.includes(n)){const{message:t}=l(\"NO_MATCHING_KEY\",`pairing topic doesn't exist: ${n}`);throw new Error(t)}if(G(this.client.core.pairing.pairings.get(n).expiry)){const{message:t}=l(\"EXPIRED\",`pairing topic: ${n}`);throw new Error(t)}}async isValidSessionTopic(n){if(!V(n,!1)){const{message:t}=l(\"MISSING_OR_INVALID\",`session topic should be a string: ${n}`);throw new Error(t)}if(this.checkRecentlyDeleted(n),!this.client.session.keys.includes(n)){const{message:t}=l(\"NO_MATCHING_KEY\",`session topic doesn't exist: ${n}`);throw new Error(t)}if(G(this.client.session.get(n).expiry)){await this.deleteSession({topic:n});const{message:t}=l(\"EXPIRED\",`session topic: ${n}`);throw new Error(t)}if(!this.client.core.crypto.keychain.has(n)){const{message:t}=l(\"MISSING_OR_INVALID\",`session topic does not exist in keychain: ${n}`);throw await this.deleteSession({topic:n}),new Error(t)}}async isValidSessionOrPairingTopic(n){if(this.checkRecentlyDeleted(n),this.client.session.keys.includes(n))await this.isValidSessionTopic(n);else if(this.client.core.pairing.pairings.keys.includes(n))this.isValidPairingTopic(n);else if(V(n,!1)){const{message:t}=l(\"NO_MATCHING_KEY\",`session or pairing topic doesn't exist: ${n}`);throw new Error(t)}else{const{message:t}=l(\"MISSING_OR_INVALID\",`session or pairing topic should be a string: ${n}`);throw new Error(t)}}async isValidProposalId(n){if(!Dt(n)){const{message:t}=l(\"MISSING_OR_INVALID\",`proposal id should be a number: ${n}`);throw new Error(t)}if(!this.client.proposal.keys.includes(n)){const{message:t}=l(\"NO_MATCHING_KEY\",`proposal id doesn't exist: ${n}`);throw new Error(t)}if(G(this.client.proposal.get(n).expiryTimestamp)){await this.deleteProposal(n);const{message:t}=l(\"EXPIRED\",`proposal id: ${n}`);throw new Error(t)}}}class Zt extends K{constructor(n,t){super(n,t,Ke,se),this.core=n,this.logger=t}}class We extends K{constructor(n,t){super(n,t,Ge,se),this.core=n,this.logger=t}}class es extends K{constructor(n,t){super(n,t,Fe,se,e=>e.id),this.core=n,this.logger=t}}class ts extends K{constructor(n,t){super(n,t,He,X,()=>J),this.core=n,this.logger=t}}class ss extends K{constructor(n,t){super(n,t,Ye,X),this.core=n,this.logger=t}}class is extends K{constructor(n,t){super(n,t,Xe,X,e=>e.id),this.core=n,this.logger=t}}class rs{constructor(n,t){this.core=n,this.logger=t,this.authKeys=new ts(this.core,this.logger),this.pairingTopics=new ss(this.core,this.logger),this.requests=new is(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}class ne extends ht{constructor(n){super(n),this.protocol=Se,this.version=Ee,this.name=ie.name,this.events=new Vt,this.on=(e,s)=>this.events.on(e,s),this.once=(e,s)=>this.events.once(e,s),this.off=(e,s)=>this.events.off(e,s),this.removeListener=(e,s)=>this.events.removeListener(e,s),this.removeAllListeners=e=>this.events.removeAllListeners(e),this.connect=async e=>{try{return await this.engine.connect(e)}catch(s){throw this.logger.error(s.message),s}},this.pair=async e=>{try{return await this.engine.pair(e)}catch(s){throw this.logger.error(s.message),s}},this.approve=async e=>{try{return await this.engine.approve(e)}catch(s){throw this.logger.error(s.message),s}},this.reject=async e=>{try{return await this.engine.reject(e)}catch(s){throw this.logger.error(s.message),s}},this.update=async e=>{try{return await this.engine.update(e)}catch(s){throw this.logger.error(s.message),s}},this.extend=async e=>{try{return await this.engine.extend(e)}catch(s){throw this.logger.error(s.message),s}},this.request=async e=>{try{return await this.engine.request(e)}catch(s){throw this.logger.error(s.message),s}},this.respond=async e=>{try{return await this.engine.respond(e)}catch(s){throw this.logger.error(s.message),s}},this.ping=async e=>{try{return await this.engine.ping(e)}catch(s){throw this.logger.error(s.message),s}},this.emit=async e=>{try{return await this.engine.emit(e)}catch(s){throw this.logger.error(s.message),s}},this.disconnect=async e=>{try{return await this.engine.disconnect(e)}catch(s){throw this.logger.error(s.message),s}},this.find=e=>{try{return this.engine.find(e)}catch(s){throw this.logger.error(s.message),s}},this.getPendingSessionRequests=()=>{try{return this.engine.getPendingSessionRequests()}catch(e){throw this.logger.error(e.message),e}},this.authenticate=async e=>{try{return await this.engine.authenticate(e)}catch(s){throw this.logger.error(s.message),s}},this.formatAuthMessage=e=>{try{return this.engine.formatAuthMessage(e)}catch(s){throw this.logger.error(s.message),s}},this.approveSessionAuthenticate=async e=>{try{return await this.engine.approveSessionAuthenticate(e)}catch(s){throw this.logger.error(s.message),s}},this.rejectSessionAuthenticate=async e=>{try{return await this.engine.rejectSessionAuthenticate(e)}catch(s){throw this.logger.error(s.message),s}},this.name=n?.name||ie.name,this.metadata=n?.metadata||xt();const t=typeof n?.logger<\"u\"&&typeof n?.logger!=\"string\"?n.logger:nt(ot({level:n?.logger||ie.logger}));this.core=n?.core||new rt(n),this.logger=at(t,this.name),this.session=new We(this.core,this.logger),this.proposal=new Zt(this.core,this.logger),this.pendingRequest=new es(this.core,this.logger),this.engine=new Wt(this),this.auth=new rs(this.core,this.logger)}static async init(n){const t=new ne(n);return await t.initialize(),t}get context(){return ct(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace(\"Initialized\");try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.engine.init(),await this.auth.init(),this.core.verify.init({verifyUrl:this.metadata.verifyUrl}),this.logger.info(\"SignClient Initialization Success\")}catch(n){throw this.logger.info(\"SignClient Initialization Failure\"),this.logger.error(n.message),n}}}const ns=We,os=ne;export{ze as AUTH_CONTEXT,He as AUTH_KEYS_CONTEXT,Ye as AUTH_PAIRING_TOPIC_CONTEXT,Qe as AUTH_PROTOCOL,J as AUTH_PUBLIC_KEY_NAME,Xe as AUTH_REQUEST_CONTEXT,X as AUTH_STORAGE_PREFIX,zt as AUTH_VERSION,ke as ENGINE_CONTEXT,A as ENGINE_QUEUE_STATES,q as ENGINE_RPC_OPTS,Ft as HISTORY_CONTEXT,kt as HISTORY_EVENTS,jt as HISTORY_STORAGE_VERSION,je as METHODS_TO_VERIFY,Ke as PROPOSAL_CONTEXT,Qt as PROPOSAL_EXPIRY,Ue as PROPOSAL_EXPIRY_MESSAGE,Fe as REQUEST_CONTEXT,Ge as SESSION_CONTEXT,L as SESSION_EXPIRY,re as SESSION_REQUEST_EXPIRY_BOUNDARIES,_e as SIGN_CLIENT_CONTEXT,ie as SIGN_CLIENT_DEFAULT,Ut as SIGN_CLIENT_EVENTS,Se as SIGN_CLIENT_PROTOCOL,Gt as SIGN_CLIENT_STORAGE_OPTIONS,se as SIGN_CLIENT_STORAGE_PREFIX,Ee as SIGN_CLIENT_VERSION,ns as SessionStore,os as SignClient,Re as WALLETCONNECT_DEEPLINK_CHOICE,ne as default};\n//# sourceMappingURL=index.es.js.map\n","import Tg,{PROPOSAL_EXPIRY_MESSAGE as Lg}from\"@walletconnect/sign-client\";import{isValidObject as Dg,isCaipNamespace as Aa,parseNamespaceKey as de,mergeArrays as $i,parseChainId as Ng,getSdkError as Ca,isValidArray as Ia}from\"@walletconnect/utils\";import{pino as Hg,getDefaultLoggerOptions as $g}from\"@walletconnect/logger\";import At,{HttpConnection as Ug}from\"@walletconnect/jsonrpc-http-connection\";import{JsonRpcProvider as ot}from\"@walletconnect/jsonrpc-provider\";import Wg from\"events\";import{formatJsonRpcResult as Fg}from\"@walletconnect/jsonrpc-utils\";const xa=\"error\",Mg=\"wss://relay.walletconnect.com\",qg=\"wc\",Bg=\"universal_provider\",Ea=`${qg}@2:${Bg}:`,Gg=\"https://rpc.walletconnect.com/v1/\",Vn={DEFAULT_CHAIN_CHANGED:\"default_chain_changed\"};var ge=typeof globalThis<\"u\"?globalThis:typeof window<\"u\"?window:typeof global<\"u\"?global:typeof self<\"u\"?self:{},Ui={exports:{}};/**\n * @license\n * Lodash \n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */(function(A,u){(function(){var i,p=\"4.17.21\",w=200,b=\"Unsupported core-js use. Try https://npms.io/search?q=ponyfill.\",D=\"Expected a function\",En=\"Invalid `variable` option passed into `_.template`\",zt=\"__lodash_hash_undefined__\",pr=500,It=\"__lodash_placeholder__\",Ln=1,Fn=2,xt=4,Et=1,ve=2,vn=1,ct=2,Bi=4,Dn=8,yt=16,Nn=32,St=64,Mn=128,Kt=256,dr=512,Na=30,Ha=\"...\",$a=800,Ua=16,Gi=1,Wa=2,Fa=3,ht=1/0,kn=9007199254740991,Ma=17976931348623157e292,_e=0/0,Hn=4294967295,qa=Hn-1,Ba=Hn>>>1,Ga=[[\"ary\",Mn],[\"bind\",vn],[\"bindKey\",ct],[\"curry\",Dn],[\"curryRight\",yt],[\"flip\",dr],[\"partial\",Nn],[\"partialRight\",St],[\"rearg\",Kt]],Ot=\"[object Arguments]\",me=\"[object Array]\",za=\"[object AsyncFunction]\",Yt=\"[object Boolean]\",Zt=\"[object Date]\",Ka=\"[object DOMException]\",we=\"[object Error]\",Pe=\"[object Function]\",zi=\"[object GeneratorFunction]\",yn=\"[object Map]\",Jt=\"[object Number]\",Ya=\"[object Null]\",qn=\"[object Object]\",Ki=\"[object Promise]\",Za=\"[object Proxy]\",Xt=\"[object RegExp]\",Sn=\"[object Set]\",Qt=\"[object String]\",Ae=\"[object Symbol]\",Ja=\"[object Undefined]\",Vt=\"[object WeakMap]\",Xa=\"[object WeakSet]\",kt=\"[object ArrayBuffer]\",Rt=\"[object DataView]\",gr=\"[object Float32Array]\",vr=\"[object Float64Array]\",_r=\"[object Int8Array]\",mr=\"[object Int16Array]\",wr=\"[object Int32Array]\",Pr=\"[object Uint8Array]\",Ar=\"[object Uint8ClampedArray]\",Cr=\"[object Uint16Array]\",Ir=\"[object Uint32Array]\",Qa=/\\b__p \\+= '';/g,Va=/\\b(__p \\+=) '' \\+/g,ka=/(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g,Yi=/&(?:amp|lt|gt|quot|#39);/g,Zi=/[&<>\"']/g,ja=RegExp(Yi.source),no=RegExp(Zi.source),to=/<%-([\\s\\S]+?)%>/g,eo=/<%([\\s\\S]+?)%>/g,Ji=/<%=([\\s\\S]+?)%>/g,ro=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,io=/^\\w*$/,so=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,xr=/[\\\\^$.*+?()[\\]{}|]/g,uo=RegExp(xr.source),Er=/^\\s+/,ao=/\\s/,oo=/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,fo=/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,co=/,? & /,ho=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g,lo=/[()=,{}\\[\\]\\/\\s]/,po=/\\\\(\\\\)?/g,go=/\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g,Xi=/\\w*$/,vo=/^[-+]0x[0-9a-f]+$/i,_o=/^0b[01]+$/i,mo=/^\\[object .+?Constructor\\]$/,wo=/^0o[0-7]+$/i,Po=/^(?:0|[1-9]\\d*)$/,Ao=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,Ce=/($^)/,Co=/['\\n\\r\\u2028\\u2029\\\\]/g,Ie=\"\\\\ud800-\\\\udfff\",Io=\"\\\\u0300-\\\\u036f\",xo=\"\\\\ufe20-\\\\ufe2f\",Eo=\"\\\\u20d0-\\\\u20ff\",Qi=Io+xo+Eo,Vi=\"\\\\u2700-\\\\u27bf\",ki=\"a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff\",yo=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\",So=\"\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\",Oo=\"\\\\u2000-\\\\u206f\",Ro=\" \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",ji=\"A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde\",ns=\"\\\\ufe0e\\\\ufe0f\",ts=yo+So+Oo+Ro,yr=\"['\\u2019]\",bo=\"[\"+Ie+\"]\",es=\"[\"+ts+\"]\",xe=\"[\"+Qi+\"]\",rs=\"\\\\d+\",To=\"[\"+Vi+\"]\",is=\"[\"+ki+\"]\",ss=\"[^\"+Ie+ts+rs+Vi+ki+ji+\"]\",Sr=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",Lo=\"(?:\"+xe+\"|\"+Sr+\")\",us=\"[^\"+Ie+\"]\",Or=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",Rr=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",bt=\"[\"+ji+\"]\",as=\"\\\\u200d\",os=\"(?:\"+is+\"|\"+ss+\")\",Do=\"(?:\"+bt+\"|\"+ss+\")\",fs=\"(?:\"+yr+\"(?:d|ll|m|re|s|t|ve))?\",cs=\"(?:\"+yr+\"(?:D|LL|M|RE|S|T|VE))?\",hs=Lo+\"?\",ls=\"[\"+ns+\"]?\",No=\"(?:\"+as+\"(?:\"+[us,Or,Rr].join(\"|\")+\")\"+ls+hs+\")*\",Ho=\"\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])\",$o=\"\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])\",ps=ls+hs+No,Uo=\"(?:\"+[To,Or,Rr].join(\"|\")+\")\"+ps,Wo=\"(?:\"+[us+xe+\"?\",xe,Or,Rr,bo].join(\"|\")+\")\",Fo=RegExp(yr,\"g\"),Mo=RegExp(xe,\"g\"),br=RegExp(Sr+\"(?=\"+Sr+\")|\"+Wo+ps,\"g\"),qo=RegExp([bt+\"?\"+is+\"+\"+fs+\"(?=\"+[es,bt,\"$\"].join(\"|\")+\")\",Do+\"+\"+cs+\"(?=\"+[es,bt+os,\"$\"].join(\"|\")+\")\",bt+\"?\"+os+\"+\"+fs,bt+\"+\"+cs,$o,Ho,rs,Uo].join(\"|\"),\"g\"),Bo=RegExp(\"[\"+as+Ie+Qi+ns+\"]\"),Go=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,zo=[\"Array\",\"Buffer\",\"DataView\",\"Date\",\"Error\",\"Float32Array\",\"Float64Array\",\"Function\",\"Int8Array\",\"Int16Array\",\"Int32Array\",\"Map\",\"Math\",\"Object\",\"Promise\",\"RegExp\",\"Set\",\"String\",\"Symbol\",\"TypeError\",\"Uint8Array\",\"Uint8ClampedArray\",\"Uint16Array\",\"Uint32Array\",\"WeakMap\",\"_\",\"clearTimeout\",\"isFinite\",\"parseInt\",\"setTimeout\"],Ko=-1,B={};B[gr]=B[vr]=B[_r]=B[mr]=B[wr]=B[Pr]=B[Ar]=B[Cr]=B[Ir]=!0,B[Ot]=B[me]=B[kt]=B[Yt]=B[Rt]=B[Zt]=B[we]=B[Pe]=B[yn]=B[Jt]=B[qn]=B[Xt]=B[Sn]=B[Qt]=B[Vt]=!1;var q={};q[Ot]=q[me]=q[kt]=q[Rt]=q[Yt]=q[Zt]=q[gr]=q[vr]=q[_r]=q[mr]=q[wr]=q[yn]=q[Jt]=q[qn]=q[Xt]=q[Sn]=q[Qt]=q[Ae]=q[Pr]=q[Ar]=q[Cr]=q[Ir]=!0,q[we]=q[Pe]=q[Vt]=!1;var Yo={\\u00C0:\"A\",\\u00C1:\"A\",\\u00C2:\"A\",\\u00C3:\"A\",\\u00C4:\"A\",\\u00C5:\"A\",\\u00E0:\"a\",\\u00E1:\"a\",\\u00E2:\"a\",\\u00E3:\"a\",\\u00E4:\"a\",\\u00E5:\"a\",\\u00C7:\"C\",\\u00E7:\"c\",\\u00D0:\"D\",\\u00F0:\"d\",\\u00C8:\"E\",\\u00C9:\"E\",\\u00CA:\"E\",\\u00CB:\"E\",\\u00E8:\"e\",\\u00E9:\"e\",\\u00EA:\"e\",\\u00EB:\"e\",\\u00CC:\"I\",\\u00CD:\"I\",\\u00CE:\"I\",\\u00CF:\"I\",\\u00EC:\"i\",\\u00ED:\"i\",\\u00EE:\"i\",\\u00EF:\"i\",\\u00D1:\"N\",\\u00F1:\"n\",\\u00D2:\"O\",\\u00D3:\"O\",\\u00D4:\"O\",\\u00D5:\"O\",\\u00D6:\"O\",\\u00D8:\"O\",\\u00F2:\"o\",\\u00F3:\"o\",\\u00F4:\"o\",\\u00F5:\"o\",\\u00F6:\"o\",\\u00F8:\"o\",\\u00D9:\"U\",\\u00DA:\"U\",\\u00DB:\"U\",\\u00DC:\"U\",\\u00F9:\"u\",\\u00FA:\"u\",\\u00FB:\"u\",\\u00FC:\"u\",\\u00DD:\"Y\",\\u00FD:\"y\",\\u00FF:\"y\",\\u00C6:\"Ae\",\\u00E6:\"ae\",\\u00DE:\"Th\",\\u00FE:\"th\",\\u00DF:\"ss\",\\u0100:\"A\",\\u0102:\"A\",\\u0104:\"A\",\\u0101:\"a\",\\u0103:\"a\",\\u0105:\"a\",\\u0106:\"C\",\\u0108:\"C\",\\u010A:\"C\",\\u010C:\"C\",\\u0107:\"c\",\\u0109:\"c\",\\u010B:\"c\",\\u010D:\"c\",\\u010E:\"D\",\\u0110:\"D\",\\u010F:\"d\",\\u0111:\"d\",\\u0112:\"E\",\\u0114:\"E\",\\u0116:\"E\",\\u0118:\"E\",\\u011A:\"E\",\\u0113:\"e\",\\u0115:\"e\",\\u0117:\"e\",\\u0119:\"e\",\\u011B:\"e\",\\u011C:\"G\",\\u011E:\"G\",\\u0120:\"G\",\\u0122:\"G\",\\u011D:\"g\",\\u011F:\"g\",\\u0121:\"g\",\\u0123:\"g\",\\u0124:\"H\",\\u0126:\"H\",\\u0125:\"h\",\\u0127:\"h\",\\u0128:\"I\",\\u012A:\"I\",\\u012C:\"I\",\\u012E:\"I\",\\u0130:\"I\",\\u0129:\"i\",\\u012B:\"i\",\\u012D:\"i\",\\u012F:\"i\",\\u0131:\"i\",\\u0134:\"J\",\\u0135:\"j\",\\u0136:\"K\",\\u0137:\"k\",\\u0138:\"k\",\\u0139:\"L\",\\u013B:\"L\",\\u013D:\"L\",\\u013F:\"L\",\\u0141:\"L\",\\u013A:\"l\",\\u013C:\"l\",\\u013E:\"l\",\\u0140:\"l\",\\u0142:\"l\",\\u0143:\"N\",\\u0145:\"N\",\\u0147:\"N\",\\u014A:\"N\",\\u0144:\"n\",\\u0146:\"n\",\\u0148:\"n\",\\u014B:\"n\",\\u014C:\"O\",\\u014E:\"O\",\\u0150:\"O\",\\u014D:\"o\",\\u014F:\"o\",\\u0151:\"o\",\\u0154:\"R\",\\u0156:\"R\",\\u0158:\"R\",\\u0155:\"r\",\\u0157:\"r\",\\u0159:\"r\",\\u015A:\"S\",\\u015C:\"S\",\\u015E:\"S\",\\u0160:\"S\",\\u015B:\"s\",\\u015D:\"s\",\\u015F:\"s\",\\u0161:\"s\",\\u0162:\"T\",\\u0164:\"T\",\\u0166:\"T\",\\u0163:\"t\",\\u0165:\"t\",\\u0167:\"t\",\\u0168:\"U\",\\u016A:\"U\",\\u016C:\"U\",\\u016E:\"U\",\\u0170:\"U\",\\u0172:\"U\",\\u0169:\"u\",\\u016B:\"u\",\\u016D:\"u\",\\u016F:\"u\",\\u0171:\"u\",\\u0173:\"u\",\\u0174:\"W\",\\u0175:\"w\",\\u0176:\"Y\",\\u0177:\"y\",\\u0178:\"Y\",\\u0179:\"Z\",\\u017B:\"Z\",\\u017D:\"Z\",\\u017A:\"z\",\\u017C:\"z\",\\u017E:\"z\",\\u0132:\"IJ\",\\u0133:\"ij\",\\u0152:\"Oe\",\\u0153:\"oe\",\\u0149:\"'n\",\\u017F:\"s\"},Zo={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\",\"'\":\"'\"},Jo={\"&\":\"&\",\"<\":\"<\",\">\":\">\",\""\":'\"',\"'\":\"'\"},Xo={\"\\\\\":\"\\\\\",\"'\":\"'\",\"\\n\":\"n\",\"\\r\":\"r\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},Qo=parseFloat,Vo=parseInt,ds=typeof ge==\"object\"&&ge&&ge.Object===Object&&ge,ko=typeof self==\"object\"&&self&&self.Object===Object&&self,k=ds||ko||Function(\"return this\")(),Tr=u&&!u.nodeType&&u,lt=Tr&&!0&&A&&!A.nodeType&&A,gs=lt&<.exports===Tr,Lr=gs&&ds.process,_n=function(){try{var h=lt&<.require&<.require(\"util\").types;return h||Lr&&Lr.binding&&Lr.binding(\"util\")}catch{}}(),vs=_n&&_n.isArrayBuffer,_s=_n&&_n.isDate,ms=_n&&_n.isMap,ws=_n&&_n.isRegExp,Ps=_n&&_n.isSet,As=_n&&_n.isTypedArray;function cn(h,g,d){switch(d.length){case 0:return h.call(g);case 1:return h.call(g,d[0]);case 2:return h.call(g,d[0],d[1]);case 3:return h.call(g,d[0],d[1],d[2])}return h.apply(g,d)}function jo(h,g,d,C){for(var S=-1,U=h==null?0:h.length;++S-1}function Dr(h,g,d){for(var C=-1,S=h==null?0:h.length;++C-1;);return d}function Rs(h,g){for(var d=h.length;d--&&Tt(g,h[d],0)>-1;);return d}function ff(h,g){for(var d=h.length,C=0;d--;)h[d]===g&&++C;return C}var cf=Ur(Yo),hf=Ur(Zo);function lf(h){return\"\\\\\"+Xo[h]}function pf(h,g){return h==null?i:h[g]}function Lt(h){return Bo.test(h)}function df(h){return Go.test(h)}function gf(h){for(var g,d=[];!(g=h.next()).done;)d.push(g.value);return d}function qr(h){var g=-1,d=Array(h.size);return h.forEach(function(C,S){d[++g]=[S,C]}),d}function bs(h,g){return function(d){return h(g(d))}}function tt(h,g){for(var d=-1,C=h.length,S=0,U=[];++d-1}function ec(n,t){var e=this.__data__,r=Be(e,n);return r<0?(++this.size,e.push([n,t])):e[r][1]=t,this}Bn.prototype.clear=kf,Bn.prototype.delete=jf,Bn.prototype.get=nc,Bn.prototype.has=tc,Bn.prototype.set=ec;function Gn(n){var t=-1,e=n==null?0:n.length;for(this.clear();++t=t?n:t)),n}function An(n,t,e,r,s,o){var f,c=t&Ln,l=t&Fn,v=t&xt;if(e&&(f=s?e(n,r,s,o):e(n)),f!==i)return f;if(!K(n))return n;var _=O(n);if(_){if(f=uh(n),!c)return un(n,f)}else{var m=tn(n),P=m==Pe||m==zi;if(at(n))return lu(n,c);if(m==qn||m==Ot||P&&!s){if(f=l||P?{}:Tu(n),!c)return l?Xc(n,mc(f,n)):Jc(n,Bs(f,n))}else{if(!q[m])return s?n:{};f=ah(n,m,c)}}o||(o=new Rn);var I=o.get(n);if(I)return I;o.set(n,f),ua(n)?n.forEach(function(y){f.add(An(y,t,e,y,n,o))}):ia(n)&&n.forEach(function(y,N){f.set(N,An(y,t,e,N,n,o))});var E=v?l?pi:li:l?on:V,T=_?i:E(n);return mn(T||n,function(y,N){T&&(N=y,y=n[N]),se(f,N,An(y,t,e,N,n,o))}),f}function wc(n){var t=V(n);return function(e){return Gs(e,n,t)}}function Gs(n,t,e){var r=e.length;if(n==null)return!r;for(n=M(n);r--;){var s=e[r],o=t[s],f=n[s];if(f===i&&!(s in n)||!o(f))return!1}return!0}function zs(n,t,e){if(typeof n!=\"function\")throw new wn(D);return le(function(){n.apply(i,e)},t)}function ue(n,t,e,r){var s=-1,o=Ee,f=!0,c=n.length,l=[],v=t.length;if(!c)return l;e&&(t=G(t,hn(e))),r?(o=Dr,f=!1):t.length>=w&&(o=jt,f=!1,t=new gt(t));n:for(;++ss?0:s+e),r=r===i||r>s?s:R(r),r<0&&(r+=s),r=e>r?0:oa(r);e0&&e(c)?t>1?j(c,t-1,e,r,s):nt(s,c):r||(s[s.length]=c)}return s}var Jr=mu(),Zs=mu(!0);function $n(n,t){return n&&Jr(n,t,V)}function Xr(n,t){return n&&Zs(n,t,V)}function ze(n,t){return jn(t,function(e){return Jn(n[e])})}function _t(n,t){t=st(t,n);for(var e=0,r=t.length;n!=null&&et}function Cc(n,t){return n!=null&&F.call(n,t)}function Ic(n,t){return n!=null&&t in M(n)}function xc(n,t,e){return n>=nn(t,e)&&n=120&&_.length>=120)?new gt(f&&_):i}_=n[0];var m=-1,P=c[0];n:for(;++m-1;)c!==n&&He.call(c,l,1),He.call(n,l,1);return n}function iu(n,t){for(var e=n?t.length:0,r=e-1;e--;){var s=t[e];if(e==r||s!==o){var o=s;Zn(s)?He.call(n,s,1):si(n,s)}}return n}function ei(n,t){return n+We(Ws()*(t-n+1))}function Uc(n,t,e,r){for(var s=-1,o=Q(Ue((t-n)/(e||1)),0),f=d(o);o--;)f[r?o:++s]=n,n+=e;return f}function ri(n,t){var e=\"\";if(!n||t<1||t>kn)return e;do t%2&&(e+=n),t=We(t/2),t&&(n+=n);while(t);return e}function L(n,t){return Pi(Nu(n,t,fn),n+\"\")}function Wc(n){return qs(Gt(n))}function Fc(n,t){var e=Gt(n);return tr(e,vt(t,0,e.length))}function fe(n,t,e,r){if(!K(n))return n;t=st(t,n);for(var s=-1,o=t.length,f=o-1,c=n;c!=null&&++ss?0:s+t),e=e>s?s:e,e<0&&(e+=s),s=t>e?0:e-t>>>0,t>>>=0;for(var o=d(s);++r>>1,f=n[o];f!==null&&!pn(f)&&(e?f<=t:f=w){var v=t?null:jc(n);if(v)return Se(v);f=!1,s=jt,l=new gt}else l=t?[]:c;n:for(;++r=r?n:Cn(n,t,e)}var hu=bf||function(n){return k.clearTimeout(n)};function lu(n,t){if(t)return n.slice();var e=n.length,r=Ds?Ds(e):new n.constructor(e);return n.copy(r),r}function fi(n){var t=new n.constructor(n.byteLength);return new De(t).set(new De(n)),t}function zc(n,t){var e=t?fi(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}function Kc(n){var t=new n.constructor(n.source,Xi.exec(n));return t.lastIndex=n.lastIndex,t}function Yc(n){return ie?M(ie.call(n)):{}}function pu(n,t){var e=t?fi(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.length)}function du(n,t){if(n!==t){var e=n!==i,r=n===null,s=n===n,o=pn(n),f=t!==i,c=t===null,l=t===t,v=pn(t);if(!c&&!v&&!o&&n>t||o&&f&&l&&!c&&!v||r&&f&&l||!e&&l||!s)return 1;if(!r&&!o&&!v&&n=c)return l;var v=e[r];return l*(v==\"desc\"?-1:1)}}return n.index-t.index}function gu(n,t,e,r){for(var s=-1,o=n.length,f=e.length,c=-1,l=t.length,v=Q(o-f,0),_=d(l+v),m=!r;++c1?e[s-1]:i,f=s>2?e[2]:i;for(o=n.length>3&&typeof o==\"function\"?(s--,o):i,f&&rn(e[0],e[1],f)&&(o=s<3?i:o,s=1),t=M(t);++r-1?s[o?t[f]:f]:i}}function Au(n){return Yn(function(t){var e=t.length,r=e,s=Pn.prototype.thru;for(n&&t.reverse();r--;){var o=t[r];if(typeof o!=\"function\")throw new wn(D);if(s&&!f&&je(o)==\"wrapper\")var f=new Pn([],!0)}for(r=f?r:e;++r1&&$.reverse(),_&&lc))return!1;var v=o.get(n),_=o.get(t);if(v&&_)return v==t&&_==n;var m=-1,P=!0,I=e&ve?new gt:i;for(o.set(n,t),o.set(t,n);++m1?\"& \":\"\")+t[r],t=t.join(e>2?\", \":\" \"),n.replace(oo,`{\n/* [wrapped with `+t+`] */\n`)}function fh(n){return O(n)||Pt(n)||!!($s&&n&&n[$s])}function Zn(n,t){var e=typeof n;return t=t??kn,!!t&&(e==\"number\"||e!=\"symbol\"&&Po.test(n))&&n>-1&&n%1==0&&n0){if(++t>=$a)return arguments[0]}else t=0;return n.apply(i,arguments)}}function tr(n,t){var e=-1,r=n.length,s=r-1;for(t=t===i?r:t;++e1?n[t-1]:i;return e=typeof e==\"function\"?(n.pop(),e):i,Yu(n,e)});function Zu(n){var t=a(n);return t.__chain__=!0,t}function Pl(n,t){return t(n),n}function er(n,t){return t(n)}var Al=Yn(function(n){var t=n.length,e=t?n[0]:0,r=this.__wrapped__,s=function(o){return Zr(o,n)};return t>1||this.__actions__.length||!(r instanceof H)||!Zn(e)?this.thru(s):(r=r.slice(e,+e+(t?1:0)),r.__actions__.push({func:er,args:[s],thisArg:i}),new Pn(r,this.__chain__).thru(function(o){return t&&!o.length&&o.push(i),o}))});function Cl(){return Zu(this)}function Il(){return new Pn(this.value(),this.__chain__)}function xl(){this.__values__===i&&(this.__values__=aa(this.value()));var n=this.__index__>=this.__values__.length,t=n?i:this.__values__[this.__index__++];return{done:n,value:t}}function El(){return this}function yl(n){for(var t,e=this;e instanceof qe;){var r=Mu(e);r.__index__=0,r.__values__=i,t?s.__wrapped__=r:t=r;var s=r;e=e.__wrapped__}return s.__wrapped__=n,t}function Sl(){var n=this.__wrapped__;if(n instanceof H){var t=n;return this.__actions__.length&&(t=new H(this)),t=t.reverse(),t.__actions__.push({func:er,args:[Ai],thisArg:i}),new Pn(t,this.__chain__)}return this.thru(Ai)}function Ol(){return fu(this.__wrapped__,this.__actions__)}var Rl=Je(function(n,t,e){F.call(n,e)?++n[e]:zn(n,e,1)});function bl(n,t,e){var r=O(n)?Cs:Pc;return e&&rn(n,t,e)&&(t=i),r(n,x(t,3))}function Tl(n,t){var e=O(n)?jn:Ys;return e(n,x(t,3))}var Ll=Pu(qu),Dl=Pu(Bu);function Nl(n,t){return j(rr(n,t),1)}function Hl(n,t){return j(rr(n,t),ht)}function $l(n,t,e){return e=e===i?1:R(e),j(rr(n,t),e)}function Ju(n,t){var e=O(n)?mn:rt;return e(n,x(t,3))}function Xu(n,t){var e=O(n)?nf:Ks;return e(n,x(t,3))}var Ul=Je(function(n,t,e){F.call(n,e)?n[e].push(t):zn(n,e,[t])});function Wl(n,t,e,r){n=an(n)?n:Gt(n),e=e&&!r?R(e):0;var s=n.length;return e<0&&(e=Q(s+e,0)),or(n)?e<=s&&n.indexOf(t,e)>-1:!!s&&Tt(n,t,e)>-1}var Fl=L(function(n,t,e){var r=-1,s=typeof t==\"function\",o=an(n)?d(n.length):[];return rt(n,function(f){o[++r]=s?cn(t,f,e):ae(f,t,e)}),o}),Ml=Je(function(n,t,e){zn(n,e,t)});function rr(n,t){var e=O(n)?G:ks;return e(n,x(t,3))}function ql(n,t,e,r){return n==null?[]:(O(t)||(t=t==null?[]:[t]),e=r?i:e,O(e)||(e=e==null?[]:[e]),eu(n,t,e))}var Bl=Je(function(n,t,e){n[e?0:1].push(t)},function(){return[[],[]]});function Gl(n,t,e){var r=O(n)?Nr:ys,s=arguments.length<3;return r(n,x(t,4),e,s,rt)}function zl(n,t,e){var r=O(n)?tf:ys,s=arguments.length<3;return r(n,x(t,4),e,s,Ks)}function Kl(n,t){var e=O(n)?jn:Ys;return e(n,ur(x(t,3)))}function Yl(n){var t=O(n)?qs:Wc;return t(n)}function Zl(n,t,e){(e?rn(n,t,e):t===i)?t=1:t=R(t);var r=O(n)?gc:Fc;return r(n,t)}function Jl(n){var t=O(n)?vc:qc;return t(n)}function Xl(n){if(n==null)return 0;if(an(n))return or(n)?Dt(n):n.length;var t=tn(n);return t==yn||t==Sn?n.size:jr(n).length}function Ql(n,t,e){var r=O(n)?Hr:Bc;return e&&rn(n,t,e)&&(t=i),r(n,x(t,3))}var Vl=L(function(n,t){if(n==null)return[];var e=t.length;return e>1&&rn(n,t[0],t[1])?t=[]:e>2&&rn(t[0],t[1],t[2])&&(t=[t[0]]),eu(n,j(t,1),[])}),ir=Tf||function(){return k.Date.now()};function kl(n,t){if(typeof t!=\"function\")throw new wn(D);return n=R(n),function(){if(--n<1)return t.apply(this,arguments)}}function Qu(n,t,e){return t=e?i:t,t=n&&t==null?n.length:t,Kn(n,Mn,i,i,i,i,t)}function Vu(n,t){var e;if(typeof t!=\"function\")throw new wn(D);return n=R(n),function(){return--n>0&&(e=t.apply(this,arguments)),n<=1&&(t=i),e}}var Ii=L(function(n,t,e){var r=vn;if(e.length){var s=tt(e,qt(Ii));r|=Nn}return Kn(n,r,t,e,s)}),ku=L(function(n,t,e){var r=vn|ct;if(e.length){var s=tt(e,qt(ku));r|=Nn}return Kn(t,r,n,e,s)});function ju(n,t,e){t=e?i:t;var r=Kn(n,Dn,i,i,i,i,i,t);return r.placeholder=ju.placeholder,r}function na(n,t,e){t=e?i:t;var r=Kn(n,yt,i,i,i,i,i,t);return r.placeholder=na.placeholder,r}function ta(n,t,e){var r,s,o,f,c,l,v=0,_=!1,m=!1,P=!0;if(typeof n!=\"function\")throw new wn(D);t=xn(t)||0,K(e)&&(_=!!e.leading,m=\"maxWait\"in e,o=m?Q(xn(e.maxWait)||0,t):o,P=\"trailing\"in e?!!e.trailing:P);function I(J){var Tn=r,Qn=s;return r=s=i,v=J,f=n.apply(Qn,Tn),f}function E(J){return v=J,c=le(N,t),_?I(J):f}function T(J){var Tn=J-l,Qn=J-v,Pa=t-Tn;return m?nn(Pa,o-Qn):Pa}function y(J){var Tn=J-l,Qn=J-v;return l===i||Tn>=t||Tn<0||m&&Qn>=o}function N(){var J=ir();if(y(J))return $(J);c=le(N,T(J))}function $(J){return c=i,P&&r?I(J):(r=s=i,f)}function dn(){c!==i&&hu(c),v=0,r=l=s=c=i}function sn(){return c===i?f:$(ir())}function gn(){var J=ir(),Tn=y(J);if(r=arguments,s=this,l=J,Tn){if(c===i)return E(l);if(m)return hu(c),c=le(N,t),I(l)}return c===i&&(c=le(N,t)),f}return gn.cancel=dn,gn.flush=sn,gn}var jl=L(function(n,t){return zs(n,1,t)}),np=L(function(n,t,e){return zs(n,xn(t)||0,e)});function tp(n){return Kn(n,dr)}function sr(n,t){if(typeof n!=\"function\"||t!=null&&typeof t!=\"function\")throw new wn(D);var e=function(){var r=arguments,s=t?t.apply(this,r):r[0],o=e.cache;if(o.has(s))return o.get(s);var f=n.apply(this,r);return e.cache=o.set(s,f)||o,f};return e.cache=new(sr.Cache||Gn),e}sr.Cache=Gn;function ur(n){if(typeof n!=\"function\")throw new wn(D);return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:return!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}function ep(n){return Vu(2,n)}var rp=Gc(function(n,t){t=t.length==1&&O(t[0])?G(t[0],hn(x())):G(j(t,1),hn(x()));var e=t.length;return L(function(r){for(var s=-1,o=nn(r.length,e);++s=t}),Pt=Xs(function(){return arguments}())?Xs:function(n){return Y(n)&&F.call(n,\"callee\")&&!Hs.call(n,\"callee\")},O=d.isArray,mp=vs?hn(vs):yc;function an(n){return n!=null&&ar(n.length)&&!Jn(n)}function Z(n){return Y(n)&&an(n)}function wp(n){return n===!0||n===!1||Y(n)&&en(n)==Yt}var at=Df||Hi,Pp=_s?hn(_s):Sc;function Ap(n){return Y(n)&&n.nodeType===1&&!pe(n)}function Cp(n){if(n==null)return!0;if(an(n)&&(O(n)||typeof n==\"string\"||typeof n.splice==\"function\"||at(n)||Bt(n)||Pt(n)))return!n.length;var t=tn(n);if(t==yn||t==Sn)return!n.size;if(he(n))return!jr(n).length;for(var e in n)if(F.call(n,e))return!1;return!0}function Ip(n,t){return oe(n,t)}function xp(n,t,e){e=typeof e==\"function\"?e:i;var r=e?e(n,t):i;return r===i?oe(n,t,i,e):!!r}function Ei(n){if(!Y(n))return!1;var t=en(n);return t==we||t==Ka||typeof n.message==\"string\"&&typeof n.name==\"string\"&&!pe(n)}function Ep(n){return typeof n==\"number\"&&Us(n)}function Jn(n){if(!K(n))return!1;var t=en(n);return t==Pe||t==zi||t==za||t==Za}function ra(n){return typeof n==\"number\"&&n==R(n)}function ar(n){return typeof n==\"number\"&&n>-1&&n%1==0&&n<=kn}function K(n){var t=typeof n;return n!=null&&(t==\"object\"||t==\"function\")}function Y(n){return n!=null&&typeof n==\"object\"}var ia=ms?hn(ms):Rc;function yp(n,t){return n===t||kr(n,t,gi(t))}function Sp(n,t,e){return e=typeof e==\"function\"?e:i,kr(n,t,gi(t),e)}function Op(n){return sa(n)&&n!=+n}function Rp(n){if(lh(n))throw new S(b);return Qs(n)}function bp(n){return n===null}function Tp(n){return n==null}function sa(n){return typeof n==\"number\"||Y(n)&&en(n)==Jt}function pe(n){if(!Y(n)||en(n)!=qn)return!1;var t=Ne(n);if(t===null)return!0;var e=F.call(t,\"constructor\")&&t.constructor;return typeof e==\"function\"&&e instanceof e&&be.call(e)==Sf}var yi=ws?hn(ws):bc;function Lp(n){return ra(n)&&n>=-kn&&n<=kn}var ua=Ps?hn(Ps):Tc;function or(n){return typeof n==\"string\"||!O(n)&&Y(n)&&en(n)==Qt}function pn(n){return typeof n==\"symbol\"||Y(n)&&en(n)==Ae}var Bt=As?hn(As):Lc;function Dp(n){return n===i}function Np(n){return Y(n)&&tn(n)==Vt}function Hp(n){return Y(n)&&en(n)==Xa}var $p=ke(ni),Up=ke(function(n,t){return n<=t});function aa(n){if(!n)return[];if(an(n))return or(n)?On(n):un(n);if(ne&&n[ne])return gf(n[ne]());var t=tn(n),e=t==yn?qr:t==Sn?Se:Gt;return e(n)}function Xn(n){if(!n)return n===0?n:0;if(n=xn(n),n===ht||n===-ht){var t=n<0?-1:1;return t*Ma}return n===n?n:0}function R(n){var t=Xn(n),e=t%1;return t===t?e?t-e:t:0}function oa(n){return n?vt(R(n),0,Hn):0}function xn(n){if(typeof n==\"number\")return n;if(pn(n))return _e;if(K(n)){var t=typeof n.valueOf==\"function\"?n.valueOf():n;n=K(t)?t+\"\":t}if(typeof n!=\"string\")return n===0?n:+n;n=Ss(n);var e=_o.test(n);return e||wo.test(n)?Vo(n.slice(2),e?2:8):vo.test(n)?_e:+n}function fa(n){return Un(n,on(n))}function Wp(n){return n?vt(R(n),-kn,kn):n===0?n:0}function W(n){return n==null?\"\":ln(n)}var Fp=Ft(function(n,t){if(he(t)||an(t)){Un(t,V(t),n);return}for(var e in t)F.call(t,e)&&se(n,e,t[e])}),ca=Ft(function(n,t){Un(t,on(t),n)}),fr=Ft(function(n,t,e,r){Un(t,on(t),n,r)}),Mp=Ft(function(n,t,e,r){Un(t,V(t),n,r)}),qp=Yn(Zr);function Bp(n,t){var e=Wt(n);return t==null?e:Bs(e,t)}var Gp=L(function(n,t){n=M(n);var e=-1,r=t.length,s=r>2?t[2]:i;for(s&&rn(t[0],t[1],s)&&(r=1);++e1),o}),Un(n,pi(n),e),r&&(e=An(e,Ln|Fn|xt,nh));for(var s=t.length;s--;)si(e,t[s]);return e});function ad(n,t){return la(n,ur(x(t)))}var od=Yn(function(n,t){return n==null?{}:Hc(n,t)});function la(n,t){if(n==null)return{};var e=G(pi(n),function(r){return[r]});return t=x(t),ru(n,e,function(r,s){return t(r,s[0])})}function fd(n,t,e){t=st(t,n);var r=-1,s=t.length;for(s||(s=1,n=i);++rt){var r=n;n=t,t=r}if(e||n%1||t%1){var s=Ws();return nn(n+s*(t-n+Qo(\"1e-\"+((s+\"\").length-1))),t)}return ei(n,t)}var Pd=Mt(function(n,t,e){return t=t.toLowerCase(),n+(e?ga(t):t)});function ga(n){return Ri(W(n).toLowerCase())}function va(n){return n=W(n),n&&n.replace(Ao,cf).replace(Mo,\"\")}function Ad(n,t,e){n=W(n),t=ln(t);var r=n.length;e=e===i?r:vt(R(e),0,r);var s=e;return e-=t.length,e>=0&&n.slice(e,s)==t}function Cd(n){return n=W(n),n&&no.test(n)?n.replace(Zi,hf):n}function Id(n){return n=W(n),n&&uo.test(n)?n.replace(xr,\"\\\\$&\"):n}var xd=Mt(function(n,t,e){return n+(e?\"-\":\"\")+t.toLowerCase()}),Ed=Mt(function(n,t,e){return n+(e?\" \":\"\")+t.toLowerCase()}),yd=wu(\"toLowerCase\");function Sd(n,t,e){n=W(n),t=R(t);var r=t?Dt(n):0;if(!t||r>=t)return n;var s=(t-r)/2;return Ve(We(s),e)+n+Ve(Ue(s),e)}function Od(n,t,e){n=W(n),t=R(t);var r=t?Dt(n):0;return t&&r>>0,e?(n=W(n),n&&(typeof t==\"string\"||t!=null&&!yi(t))&&(t=ln(t),!t&&Lt(n))?ut(On(n),0,e):n.split(t,e)):[]}var Hd=Mt(function(n,t,e){return n+(e?\" \":\"\")+Ri(t)});function $d(n,t,e){return n=W(n),e=e==null?0:vt(R(e),0,n.length),t=ln(t),n.slice(e,e+t.length)==t}function Ud(n,t,e){var r=a.templateSettings;e&&rn(n,t,e)&&(t=i),n=W(n),t=fr({},t,r,yu);var s=fr({},t.imports,r.imports,yu),o=V(s),f=Mr(s,o),c,l,v=0,_=t.interpolate||Ce,m=\"__p += '\",P=Br((t.escape||Ce).source+\"|\"+_.source+\"|\"+(_===Ji?go:Ce).source+\"|\"+(t.evaluate||Ce).source+\"|$\",\"g\"),I=\"//# sourceURL=\"+(F.call(t,\"sourceURL\")?(t.sourceURL+\"\").replace(/\\s/g,\" \"):\"lodash.templateSources[\"+ ++Ko+\"]\")+`\n`;n.replace(P,function(y,N,$,dn,sn,gn){return $||($=dn),m+=n.slice(v,gn).replace(Co,lf),N&&(c=!0,m+=`' +\n__e(`+N+`) +\n'`),sn&&(l=!0,m+=`';\n`+sn+`;\n__p += '`),$&&(m+=`' +\n((__t = (`+$+`)) == null ? '' : __t) +\n'`),v=gn+y.length,y}),m+=`';\n`;var E=F.call(t,\"variable\")&&t.variable;if(!E)m=`with (obj) {\n`+m+`\n}\n`;else if(lo.test(E))throw new S(En);m=(l?m.replace(Qa,\"\"):m).replace(Va,\"$1\").replace(ka,\"$1;\"),m=\"function(\"+(E||\"obj\")+`) {\n`+(E?\"\":`obj || (obj = {});\n`)+\"var __t, __p = ''\"+(c?\", __e = _.escape\":\"\")+(l?`, __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n`:`;\n`)+m+`return __p\n}`;var T=ma(function(){return U(o,I+\"return \"+m).apply(i,f)});if(T.source=m,Ei(T))throw T;return T}function Wd(n){return W(n).toLowerCase()}function Fd(n){return W(n).toUpperCase()}function Md(n,t,e){if(n=W(n),n&&(e||t===i))return Ss(n);if(!n||!(t=ln(t)))return n;var r=On(n),s=On(t),o=Os(r,s),f=Rs(r,s)+1;return ut(r,o,f).join(\"\")}function qd(n,t,e){if(n=W(n),n&&(e||t===i))return n.slice(0,Ts(n)+1);if(!n||!(t=ln(t)))return n;var r=On(n),s=Rs(r,On(t))+1;return ut(r,0,s).join(\"\")}function Bd(n,t,e){if(n=W(n),n&&(e||t===i))return n.replace(Er,\"\");if(!n||!(t=ln(t)))return n;var r=On(n),s=Os(r,On(t));return ut(r,s).join(\"\")}function Gd(n,t){var e=Na,r=Ha;if(K(t)){var s=\"separator\"in t?t.separator:s;e=\"length\"in t?R(t.length):e,r=\"omission\"in t?ln(t.omission):r}n=W(n);var o=n.length;if(Lt(n)){var f=On(n);o=f.length}if(e>=o)return n;var c=e-Dt(r);if(c<1)return r;var l=f?ut(f,0,c).join(\"\"):n.slice(0,c);if(s===i)return l+r;if(f&&(c+=l.length-c),yi(s)){if(n.slice(c).search(s)){var v,_=l;for(s.global||(s=Br(s.source,W(Xi.exec(s))+\"g\")),s.lastIndex=0;v=s.exec(_);)var m=v.index;l=l.slice(0,m===i?c:m)}}else if(n.indexOf(ln(s),c)!=c){var P=l.lastIndexOf(s);P>-1&&(l=l.slice(0,P))}return l+r}function zd(n){return n=W(n),n&&ja.test(n)?n.replace(Yi,wf):n}var Kd=Mt(function(n,t,e){return n+(e?\" \":\"\")+t.toUpperCase()}),Ri=wu(\"toUpperCase\");function _a(n,t,e){return n=W(n),t=e?i:t,t===i?df(n)?Cf(n):sf(n):n.match(t)||[]}var ma=L(function(n,t){try{return cn(n,i,t)}catch(e){return Ei(e)?e:new S(e)}}),Yd=Yn(function(n,t){return mn(t,function(e){e=Wn(e),zn(n,e,Ii(n[e],n))}),n});function Zd(n){var t=n==null?0:n.length,e=x();return n=t?G(n,function(r){if(typeof r[1]!=\"function\")throw new wn(D);return[e(r[0]),r[1]]}):[],L(function(r){for(var s=-1;++skn)return[];var e=Hn,r=nn(n,Hn);t=x(t),n-=Hn;for(var s=Fr(r,t);++e0||t<0)?new H(e):(n<0?e=e.takeRight(-n):n&&(e=e.drop(n)),t!==i&&(t=R(t),e=t<0?e.dropRight(-t):e.take(t-n)),e)},H.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},H.prototype.toArray=function(){return this.take(Hn)},$n(H.prototype,function(n,t){var e=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),s=a[r?\"take\"+(t==\"last\"?\"Right\":\"\"):t],o=r||/^find/.test(t);s&&(a.prototype[t]=function(){var f=this.__wrapped__,c=r?[1]:arguments,l=f instanceof H,v=c[0],_=l||O(f),m=function(N){var $=s.apply(a,nt([N],c));return r&&P?$[0]:$};_&&e&&typeof v==\"function\"&&v.length!=1&&(l=_=!1);var P=this.__chain__,I=!!this.__actions__.length,E=o&&!P,T=l&&!I;if(!o&&_){f=T?f:new H(this);var y=n.apply(f,c);return y.__actions__.push({func:er,args:[m],thisArg:i}),new Pn(y,P)}return E&&T?n.apply(this,c):(y=this.thru(m),E?r?y.value()[0]:y.value():y)})}),mn([\"pop\",\"push\",\"shift\",\"sort\",\"splice\",\"unshift\"],function(n){var t=Oe[n],e=/^(?:push|sort|unshift)$/.test(n)?\"tap\":\"thru\",r=/^(?:pop|shift)$/.test(n);a.prototype[n]=function(){var s=arguments;if(r&&!this.__chain__){var o=this.value();return t.apply(O(o)?o:[],s)}return this[e](function(f){return t.apply(O(f)?f:[],s)})}}),$n(H.prototype,function(n,t){var e=a[t];if(e){var r=e.name+\"\";F.call(Ut,r)||(Ut[r]=[]),Ut[r].push({name:t,func:e})}}),Ut[Xe(i,ct).name]=[{name:\"wrapper\",func:i}],H.prototype.clone=zf,H.prototype.reverse=Kf,H.prototype.value=Yf,a.prototype.at=Al,a.prototype.chain=Cl,a.prototype.commit=Il,a.prototype.next=xl,a.prototype.plant=yl,a.prototype.reverse=Sl,a.prototype.toJSON=a.prototype.valueOf=a.prototype.value=Ol,a.prototype.first=a.prototype.head,ne&&(a.prototype[ne]=El),a},Nt=If();lt?((lt.exports=Nt)._=Nt,Tr._=Nt):k._=Nt}).call(ge)})(Ui,Ui.exports);var zg=Object.defineProperty,Kg=Object.defineProperties,Yg=Object.getOwnPropertyDescriptors,ya=Object.getOwnPropertySymbols,Zg=Object.prototype.hasOwnProperty,Jg=Object.prototype.propertyIsEnumerable,Sa=(A,u,i)=>u in A?zg(A,u,{enumerable:!0,configurable:!0,writable:!0,value:i}):A[u]=i,cr=(A,u)=>{for(var i in u||(u={}))Zg.call(u,i)&&Sa(A,i,u[i]);if(ya)for(var i of ya(u))Jg.call(u,i)&&Sa(A,i,u[i]);return A},Xg=(A,u)=>Kg(A,Yg(u));function ft(A,u,i){var p;const w=Ng(A);return((p=u.rpcMap)==null?void 0:p[w.reference])||`${Gg}?chainId=${w.namespace}:${w.reference}&projectId=${i}`}function Ct(A){return A.includes(\":\")?A.split(\":\")[1]:A}function Oa(A){return A.map(u=>`${u.split(\":\")[0]}:${u.split(\":\")[1]}`)}function Qg(A,u){const i=Object.keys(u.namespaces).filter(w=>w.includes(A));if(!i.length)return[];const p=[];return i.forEach(w=>{const b=u.namespaces[w].accounts;p.push(...b)}),p}function Wi(A={},u={}){const i=Ra(A),p=Ra(u);return Ui.exports.merge(i,p)}function Ra(A){var u,i,p,w;const b={};if(!Dg(A))return b;for(const[D,En]of Object.entries(A)){const zt=Aa(D)?[D]:En.chains,pr=En.methods||[],It=En.events||[],Ln=En.rpcMap||{},Fn=de(D);b[Fn]=Xg(cr(cr({},b[Fn]),En),{chains:$i(zt,(u=b[Fn])==null?void 0:u.chains),methods:$i(pr,(i=b[Fn])==null?void 0:i.methods),events:$i(It,(p=b[Fn])==null?void 0:p.events),rpcMap:cr(cr({},Ln),(w=b[Fn])==null?void 0:w.rpcMap)})}return b}function Vg(A){return A.includes(\":\")?A.split(\":\")[2]:A}function ba(A){const u={};for(const[i,p]of Object.entries(A)){const w=p.methods||[],b=p.events||[],D=p.accounts||[],En=Aa(i)?[i]:p.chains?p.chains:Oa(p.accounts);u[i]={chains:En,methods:w,events:b,accounts:D}}return u}function Fi(A){return typeof A==\"number\"?A:A.includes(\"0x\")?parseInt(A,16):(A=A.includes(\":\")?A.split(\":\")[1]:A,isNaN(Number(A))?A:Number(A))}const Ta={},z=A=>Ta[A],Mi=(A,u)=>{Ta[A]=u};class kg{constructor(u){this.name=\"polkadot\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){this.httpProviders[u]||this.setHttpProvider(u,i),this.chainId=u,this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${u}`)}getAccounts(){const u=this.namespace.accounts;return u?u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2])||[]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var p;const w=Ct(i);u[w]=this.createHttpProvider(w,(p=this.namespace.rpcMap)==null?void 0:p[i])}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}setHttpProvider(u,i){const p=this.createHttpProvider(u,i);p&&(this.httpProviders[u]=p)}createHttpProvider(u,i){const p=i||ft(u,this.namespace,this.client.core.projectId);if(!p)throw new Error(`No RPC url provided for chainId: ${u}`);return new ot(new At(p,z(\"disableProviderPing\")))}}class jg{constructor(u){this.name=\"eip155\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(u){switch(u.request.method){case\"eth_requestAccounts\":return this.getAccounts();case\"eth_accounts\":return this.getAccounts();case\"wallet_switchEthereumChain\":return await this.handleSwitchChain(u);case\"eth_chainId\":return parseInt(this.getDefaultChain())}return this.namespace.methods.includes(u.request.method)?await this.client.request(u):this.getHttpProvider().request(u.request)}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}setDefaultChain(u,i){this.httpProviders[u]||this.setHttpProvider(parseInt(u),i),this.chainId=parseInt(u),this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${u}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}createHttpProvider(u,i){const p=i||ft(`${this.name}:${u}`,this.namespace,this.client.core.projectId);if(!p)throw new Error(`No RPC url provided for chainId: ${u}`);return new ot(new Ug(p,z(\"disableProviderPing\")))}setHttpProvider(u,i){const p=this.createHttpProvider(u,i);p&&(this.httpProviders[u]=p)}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var p;const w=parseInt(Ct(i));u[w]=this.createHttpProvider(w,(p=this.namespace.rpcMap)==null?void 0:p[i])}),u}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}getHttpProvider(){const u=this.chainId,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}async handleSwitchChain(u){var i,p;let w=u.request.params?(i=u.request.params[0])==null?void 0:i.chainId:\"0x0\";w=w.startsWith(\"0x\")?w:`0x${w}`;const b=parseInt(w,16);if(this.isChainApproved(b))this.setDefaultChain(`${b}`);else if(this.namespace.methods.includes(\"wallet_switchEthereumChain\"))await this.client.request({topic:u.topic,request:{method:u.request.method,params:[{chainId:w}]},chainId:(p=this.namespace.chains)==null?void 0:p[0]}),this.setDefaultChain(`${b}`);else throw new Error(`Failed to switch to chain 'eip155:${b}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);return null}isChainApproved(u){return this.namespace.chains.includes(`${this.name}:${u}`)}}class nv{constructor(u){this.name=\"solana\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){this.httpProviders[u]||this.setHttpProvider(u,i),this.chainId=u,this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${u}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var p;const w=Ct(i);u[w]=this.createHttpProvider(w,(p=this.namespace.rpcMap)==null?void 0:p[i])}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}setHttpProvider(u,i){const p=this.createHttpProvider(u,i);p&&(this.httpProviders[u]=p)}createHttpProvider(u,i){const p=i||ft(u,this.namespace,this.client.core.projectId);if(!p)throw new Error(`No RPC url provided for chainId: ${u}`);return new ot(new At(p,z(\"disableProviderPing\")))}}class tv{constructor(u){this.name=\"cosmos\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){this.httpProviders[u]||this.setHttpProvider(u,i),this.chainId=u,this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var p;const w=Ct(i);u[w]=this.createHttpProvider(w,(p=this.namespace.rpcMap)==null?void 0:p[i])}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}setHttpProvider(u,i){const p=this.createHttpProvider(u,i);p&&(this.httpProviders[u]=p)}createHttpProvider(u,i){const p=i||ft(u,this.namespace,this.client.core.projectId);if(!p)throw new Error(`No RPC url provided for chainId: ${u}`);return new ot(new At(p,z(\"disableProviderPing\")))}}class ev{constructor(u){this.name=\"cip34\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){this.httpProviders[u]||this.setHttpProvider(u,i),this.chainId=u,this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{const p=this.getCardanoRPCUrl(i),w=Ct(i);u[w]=this.createHttpProvider(w,p)}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}getCardanoRPCUrl(u){const i=this.namespace.rpcMap;if(i)return i[u]}setHttpProvider(u,i){const p=this.createHttpProvider(u,i);p&&(this.httpProviders[u]=p)}createHttpProvider(u,i){const p=i||this.getCardanoRPCUrl(u);if(!p)throw new Error(`No RPC url provided for chainId: ${u}`);return new ot(new At(p,z(\"disableProviderPing\")))}}class rv{constructor(u){this.name=\"elrond\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){this.httpProviders[u]||this.setHttpProvider(u,i),this.chainId=u,this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${u}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var p;const w=Ct(i);u[w]=this.createHttpProvider(w,(p=this.namespace.rpcMap)==null?void 0:p[i])}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}setHttpProvider(u,i){const p=this.createHttpProvider(u,i);p&&(this.httpProviders[u]=p)}createHttpProvider(u,i){const p=i||ft(u,this.namespace,this.client.core.projectId);if(!p)throw new Error(`No RPC url provided for chainId: ${u}`);return new ot(new At(p,z(\"disableProviderPing\")))}}class iv{constructor(u){this.name=\"multiversx\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){this.httpProviders[u]||this.setHttpProvider(u,i),this.chainId=u,this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${u}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var p;const w=Ct(i);u[w]=this.createHttpProvider(w,(p=this.namespace.rpcMap)==null?void 0:p[i])}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}setHttpProvider(u,i){const p=this.createHttpProvider(u,i);p&&(this.httpProviders[u]=p)}createHttpProvider(u,i){const p=i||ft(u,this.namespace,this.client.core.projectId);if(!p)throw new Error(`No RPC url provided for chainId: ${u}`);return new ot(new At(p,z(\"disableProviderPing\")))}}class sv{constructor(u){this.name=\"near\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){if(this.chainId=u,!this.httpProviders[u]){const p=i||ft(`${this.name}:${u}`,this.namespace);if(!p)throw new Error(`No RPC url provided for chainId: ${u}`);this.setHttpProvider(u,p)}this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const u=this.namespace.accounts;return u?u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2])||[]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var p;u[i]=this.createHttpProvider(i,(p=this.namespace.rpcMap)==null?void 0:p[i])}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}setHttpProvider(u,i){const p=this.createHttpProvider(u,i);p&&(this.httpProviders[u]=p)}createHttpProvider(u,i){const p=i||ft(u,this.namespace);return typeof p>\"u\"?void 0:new ot(new At(p,z(\"disableProviderPing\")))}}var uv=Object.defineProperty,av=Object.defineProperties,ov=Object.getOwnPropertyDescriptors,La=Object.getOwnPropertySymbols,fv=Object.prototype.hasOwnProperty,cv=Object.prototype.propertyIsEnumerable,Da=(A,u,i)=>u in A?uv(A,u,{enumerable:!0,configurable:!0,writable:!0,value:i}):A[u]=i,hr=(A,u)=>{for(var i in u||(u={}))fv.call(u,i)&&Da(A,i,u[i]);if(La)for(var i of La(u))cv.call(u,i)&&Da(A,i,u[i]);return A},qi=(A,u)=>av(A,ov(u));class lr{constructor(u){this.events=new Wg,this.rpcProviders={},this.shouldAbortPairingAttempt=!1,this.maxPairingAttempts=10,this.disableProviderPing=!1,this.providerOpts=u,this.logger=typeof u?.logger<\"u\"&&typeof u?.logger!=\"string\"?u.logger:Hg($g({level:u?.logger||xa})),this.disableProviderPing=u?.disableProviderPing||!1}static async init(u){const i=new lr(u);return await i.initialize(),i}async request(u,i,p){const[w,b]=this.validateChain(i);if(!this.session)throw new Error(\"Please call connect() before request()\");return await this.getProvider(w).request({request:hr({},u),chainId:`${w}:${b}`,topic:this.session.topic,expiry:p})}sendAsync(u,i,p,w){const b=new Date().getTime();this.request(u,p,w).then(D=>i(null,Fg(b,D))).catch(D=>i(D,void 0))}async enable(){if(!this.client)throw new Error(\"Sign Client not initialized\");return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties}),await this.requestAccounts()}async disconnect(){var u;if(!this.session)throw new Error(\"Please call connect() before enable()\");await this.client.disconnect({topic:(u=this.session)==null?void 0:u.topic,reason:Ca(\"USER_DISCONNECTED\")}),await this.cleanup()}async connect(u){if(!this.client)throw new Error(\"Sign Client not initialized\");if(this.setNamespaces(u),await this.cleanupPendingPairings(),!u.skipPairing)return await this.pair(u.pairingTopic)}async authenticate(u){if(!this.client)throw new Error(\"Sign Client not initialized\");this.setNamespaces(u),await this.cleanupPendingPairings();const{uri:i,response:p}=await this.client.authenticate(u);i&&(this.uri=i,this.events.emit(\"display_uri\",i));const w=await p();if(this.session=w.session,this.session){const b=ba(this.session.namespaces);this.namespaces=Wi(this.namespaces,b),this.persist(\"namespaces\",this.namespaces),this.onConnect()}return w}on(u,i){this.events.on(u,i)}once(u,i){this.events.once(u,i)}removeListener(u,i){this.events.removeListener(u,i)}off(u,i){this.events.off(u,i)}get isWalletConnect(){return!0}async pair(u){this.shouldAbortPairingAttempt=!1;let i=0;do{if(this.shouldAbortPairingAttempt)throw new Error(\"Pairing aborted\");if(i>=this.maxPairingAttempts)throw new Error(\"Max auto pairing attempts reached\");const{uri:p,approval:w}=await this.client.connect({pairingTopic:u,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties});p&&(this.uri=p,this.events.emit(\"display_uri\",p)),await w().then(b=>{this.session=b;const D=ba(b.namespaces);this.namespaces=Wi(this.namespaces,D),this.persist(\"namespaces\",this.namespaces)}).catch(b=>{if(b.message!==Lg)throw b;i++})}while(!this.session);return this.onConnect(),this.session}setDefaultChain(u,i){try{if(!this.session)return;const[p,w]=this.validateChain(u);this.getProvider(p).setDefaultChain(w,i)}catch(p){if(!/Please call connect/.test(p.message))throw p}}async cleanupPendingPairings(u={}){this.logger.info(\"Cleaning up inactive pairings...\");const i=this.client.pairing.getAll();if(Ia(i)){for(const p of i)u.deletePairings?this.client.core.expirer.set(p.topic,0):await this.client.core.relayer.subscriber.unsubscribe(p.topic);this.logger.info(`Inactive pairings cleared: ${i.length}`)}}abortPairingAttempt(){this.shouldAbortPairingAttempt=!0}async checkStorage(){if(this.namespaces=await this.getFromStore(\"namespaces\"),this.optionalNamespaces=await this.getFromStore(\"optionalNamespaces\")||{},this.client.session.length){const u=this.client.session.keys.length-1;this.session=this.client.session.get(this.client.session.keys[u]),this.createProviders()}}async initialize(){this.logger.trace(\"Initialized\"),await this.createClient(),await this.checkStorage(),this.registerEventListeners()}async createClient(){this.client=this.providerOpts.client||await Tg.init({logger:this.providerOpts.logger||xa,relayUrl:this.providerOpts.relayUrl||Mg,projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name}),this.logger.trace(\"SignClient Initialized\")}createProviders(){if(!this.client)throw new Error(\"Sign Client not initialized\");if(!this.session)throw new Error(\"Session not initialized. Please call connect() before enable()\");const u=[...new Set(Object.keys(this.session.namespaces).map(i=>de(i)))];Mi(\"client\",this.client),Mi(\"events\",this.events),Mi(\"disableProviderPing\",this.disableProviderPing),u.forEach(i=>{if(!this.session)return;const p=Qg(i,this.session),w=Oa(p),b=Wi(this.namespaces,this.optionalNamespaces),D=qi(hr({},b[i]),{accounts:p,chains:w});switch(i){case\"eip155\":this.rpcProviders[i]=new jg({namespace:D});break;case\"solana\":this.rpcProviders[i]=new nv({namespace:D});break;case\"cosmos\":this.rpcProviders[i]=new tv({namespace:D});break;case\"polkadot\":this.rpcProviders[i]=new kg({namespace:D});break;case\"cip34\":this.rpcProviders[i]=new ev({namespace:D});break;case\"elrond\":this.rpcProviders[i]=new rv({namespace:D});break;case\"multiversx\":this.rpcProviders[i]=new iv({namespace:D});break;case\"near\":this.rpcProviders[i]=new sv({namespace:D});break}})}registerEventListeners(){if(typeof this.client>\"u\")throw new Error(\"Sign Client is not initialized\");this.client.on(\"session_ping\",u=>{this.events.emit(\"session_ping\",u)}),this.client.on(\"session_event\",u=>{const{params:i}=u,{event:p}=i;if(p.name===\"accountsChanged\"){const w=p.data;w&&Ia(w)&&this.events.emit(\"accountsChanged\",w.map(Vg))}else if(p.name===\"chainChanged\"){const w=i.chainId,b=i.event.data,D=de(w),En=Fi(w)!==Fi(b)?`${D}:${Fi(b)}`:w;this.onChainChanged(En)}else this.events.emit(p.name,p.data);this.events.emit(\"session_event\",u)}),this.client.on(\"session_update\",({topic:u,params:i})=>{var p;const{namespaces:w}=i,b=(p=this.client)==null?void 0:p.session.get(u);this.session=qi(hr({},b),{namespaces:w}),this.onSessionUpdate(),this.events.emit(\"session_update\",{topic:u,params:i})}),this.client.on(\"session_delete\",async u=>{await this.cleanup(),this.events.emit(\"session_delete\",u),this.events.emit(\"disconnect\",qi(hr({},Ca(\"USER_DISCONNECTED\")),{data:u.topic}))}),this.on(Vn.DEFAULT_CHAIN_CHANGED,u=>{this.onChainChanged(u,!0)})}getProvider(u){if(!this.rpcProviders[u])throw new Error(`Provider not found: ${u}`);return this.rpcProviders[u]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(u=>{var i;this.getProvider(u).updateNamespace((i=this.session)==null?void 0:i.namespaces[u])})}setNamespaces(u){const{namespaces:i,optionalNamespaces:p,sessionProperties:w}=u;i&&Object.keys(i).length&&(this.namespaces=i),p&&Object.keys(p).length&&(this.optionalNamespaces=p),this.sessionProperties=w,this.persist(\"namespaces\",i),this.persist(\"optionalNamespaces\",p)}validateChain(u){const[i,p]=u?.split(\":\")||[\"\",\"\"];if(!this.namespaces||!Object.keys(this.namespaces).length)return[i,p];if(i&&!Object.keys(this.namespaces||{}).map(D=>de(D)).includes(i))throw new Error(`Namespace '${i}' is not configured. Please call connect() first with namespace config.`);if(i&&p)return[i,p];const w=de(Object.keys(this.namespaces)[0]),b=this.rpcProviders[w].getDefaultChain();return[w,b]}async requestAccounts(){const[u]=this.validateChain();return await this.getProvider(u).requestAccounts()}onChainChanged(u,i=!1){if(!this.namespaces)return;const[p,w]=this.validateChain(u);w&&(i||this.getProvider(p).setDefaultChain(w),this.namespaces[p]?this.namespaces[p].defaultChain=w:this.namespaces[`${p}:${w}`]?this.namespaces[`${p}:${w}`].defaultChain=w:this.namespaces[`${p}:${w}`]={defaultChain:w},this.persist(\"namespaces\",this.namespaces),this.events.emit(\"chainChanged\",w))}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(u,i){this.client.core.storage.setItem(`${Ea}/${u}`,i)}async getFromStore(u){return await this.client.core.storage.getItem(`${Ea}/${u}`)}}const hv=lr;export{hv as UniversalProvider,lr as default};\n//# sourceMappingURL=index.es.js.map\n","import{EventEmitter as A}from\"events\";import{getAccountsFromNamespaces as y,getSdkError as P,isValidArray as f}from\"@walletconnect/utils\";import{UniversalProvider as R}from\"@walletconnect/universal-provider\";const T=\"wc\",S=\"ethereum_provider\",$=`${T}@2:${S}:`,j=\"https://rpc.walletconnect.com/v1/\",u=[\"eth_sendTransaction\",\"personal_sign\"],_=[\"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\"],g=[\"chainChanged\",\"accountsChanged\"],M=[\"chainChanged\",\"accountsChanged\",\"message\",\"disconnect\",\"connect\"];var q=Object.defineProperty,N=Object.defineProperties,D=Object.getOwnPropertyDescriptors,O=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,Q=Object.prototype.propertyIsEnumerable,b=(a,t,s)=>t in a?q(a,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[t]=s,p=(a,t)=>{for(var s in t||(t={}))U.call(t,s)&&b(a,s,t[s]);if(O)for(var s of O(t))Q.call(t,s)&&b(a,s,t[s]);return a},E=(a,t)=>N(a,D(t));function m(a){return Number(a[0].split(\":\")[1])}function v(a){return`0x${a.toString(16)}`}function L(a){const{chains:t,optionalChains:s,methods:i,optionalMethods:n,events:e,optionalEvents:o,rpcMap:r}=a;if(!f(t))throw new Error(\"Invalid chains\");const c={chains:t,methods:i||u,events:e||g,rpcMap:p({},t.length?{[m(t)]:r[m(t)]}:{})},h=e?.filter(l=>!g.includes(l)),d=i?.filter(l=>!u.includes(l));if(!s&&!o&&!n&&!(h!=null&&h.length)&&!(d!=null&&d.length))return{required:t.length?c:void 0};const I=h?.length&&d?.length||!s,w={chains:[...new Set(I?c.chains.concat(s||[]):s)],methods:[...new Set(c.methods.concat(n!=null&&n.length?n:_))],events:[...new Set(c.events.concat(o!=null&&o.length?o:M))],rpcMap:r};return{required:t.length?c:void 0,optional:s.length?w:void 0}}class C{constructor(){this.events=new A,this.namespace=\"eip155\",this.accounts=[],this.chainId=1,this.STORAGE_KEY=$,this.on=(t,s)=>(this.events.on(t,s),this),this.once=(t,s)=>(this.events.once(t,s),this),this.removeListener=(t,s)=>(this.events.removeListener(t,s),this),this.off=(t,s)=>(this.events.off(t,s),this),this.parseAccount=t=>this.isCompatibleChainId(t)?this.parseAccountId(t).address:t,this.signer={},this.rpc={}}static async init(t){const s=new C;return await s.initialize(t),s}async request(t,s){return await this.signer.request(t,this.formatChainId(this.chainId),s)}sendAsync(t,s,i){this.signer.sendAsync(t,s,this.formatChainId(this.chainId),i)}get connected(){return this.signer.client?this.signer.client.core.relayer.connected:!1}get connecting(){return this.signer.client?this.signer.client.core.relayer.connecting:!1}async enable(){return this.session||await this.connect(),await this.request({method:\"eth_requestAccounts\"})}async connect(t){if(!this.signer.client)throw new Error(\"Provider not initialized. Call init() first\");this.loadConnectOpts(t);const{required:s,optional:i}=L(this.rpc);try{const n=await new Promise(async(o,r)=>{var c;this.rpc.showQrModal&&((c=this.modal)==null||c.subscribeModal(h=>{!h.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),r(new Error(\"Connection request reset. Please try again.\")))})),await this.signer.connect(E(p({namespaces:p({},s&&{[this.namespace]:s})},i&&{optionalNamespaces:{[this.namespace]:i}}),{pairingTopic:t?.pairingTopic})).then(h=>{o(h)}).catch(h=>{r(new Error(h.message))})});if(!n)return;const e=y(n.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:e),this.setAccounts(e),this.events.emit(\"connect\",{chainId:v(this.chainId)})}catch(n){throw this.signer.logger.error(n),n}finally{this.modal&&this.modal.closeModal()}}async authenticate(t){if(!this.signer.client)throw new Error(\"Provider not initialized. Call init() first\");this.loadConnectOpts({chains:t?.chains});try{const s=await new Promise(async(n,e)=>{var o;this.rpc.showQrModal&&((o=this.modal)==null||o.subscribeModal(r=>{!r.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),e(new Error(\"Connection request reset. Please try again.\")))})),await this.signer.authenticate(E(p({},t),{chains:this.rpc.chains})).then(r=>{n(r)}).catch(r=>{e(new Error(r.message))})}),i=s.session;if(i){const n=y(i.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:n),this.setAccounts(n),this.events.emit(\"connect\",{chainId:v(this.chainId)})}return s}catch(s){throw this.signer.logger.error(s),s}finally{this.modal&&this.modal.closeModal()}}async disconnect(){this.session&&await this.signer.disconnect(),this.reset()}get isWalletConnect(){return!0}get session(){return this.signer.session}registerEventListeners(){this.signer.on(\"session_event\",t=>{const{params:s}=t,{event:i}=s;i.name===\"accountsChanged\"?(this.accounts=this.parseAccounts(i.data),this.events.emit(\"accountsChanged\",this.accounts)):i.name===\"chainChanged\"?this.setChainId(this.formatChainId(i.data)):this.events.emit(i.name,i.data),this.events.emit(\"session_event\",t)}),this.signer.on(\"chainChanged\",t=>{const s=parseInt(t);this.chainId=s,this.events.emit(\"chainChanged\",v(this.chainId)),this.persist()}),this.signer.on(\"session_update\",t=>{this.events.emit(\"session_update\",t)}),this.signer.on(\"session_delete\",t=>{this.reset(),this.events.emit(\"session_delete\",t),this.events.emit(\"disconnect\",E(p({},P(\"USER_DISCONNECTED\")),{data:t.topic,name:\"USER_DISCONNECTED\"}))}),this.signer.on(\"display_uri\",t=>{var s,i;this.rpc.showQrModal&&((s=this.modal)==null||s.closeModal(),(i=this.modal)==null||i.openModal({uri:t})),this.events.emit(\"display_uri\",t)})}switchEthereumChain(t){this.request({method:\"wallet_switchEthereumChain\",params:[{chainId:t.toString(16)}]})}isCompatibleChainId(t){return typeof t==\"string\"?t.startsWith(`${this.namespace}:`):!1}formatChainId(t){return`${this.namespace}:${t}`}parseChainId(t){return Number(t.split(\":\")[1])}setChainIds(t){const s=t.filter(i=>this.isCompatibleChainId(i)).map(i=>this.parseChainId(i));s.length&&(this.chainId=s[0],this.events.emit(\"chainChanged\",v(this.chainId)),this.persist())}setChainId(t){if(this.isCompatibleChainId(t)){const s=this.parseChainId(t);this.chainId=s,this.switchEthereumChain(s)}}parseAccountId(t){const[s,i,n]=t.split(\":\");return{chainId:`${s}:${i}`,address:n}}setAccounts(t){this.accounts=t.filter(s=>this.parseChainId(this.parseAccountId(s).chainId)===this.chainId).map(s=>this.parseAccountId(s).address),this.events.emit(\"accountsChanged\",this.accounts)}getRpcConfig(t){var s,i;const n=(s=t?.chains)!=null?s:[],e=(i=t?.optionalChains)!=null?i:[],o=n.concat(e);if(!o.length)throw new Error(\"No chains specified in either `chains` or `optionalChains`\");const r=n.length?t?.methods||u:[],c=n.length?t?.events||g:[],h=t?.optionalMethods||[],d=t?.optionalEvents||[],I=t?.rpcMap||this.buildRpcMap(o,t.projectId),w=t?.qrModalOptions||void 0;return{chains:n?.map(l=>this.formatChainId(l)),optionalChains:e.map(l=>this.formatChainId(l)),methods:r,events:c,optionalMethods:h,optionalEvents:d,rpcMap:I,showQrModal:!!(t!=null&&t.showQrModal),qrModalOptions:w,projectId:t.projectId,metadata:t.metadata}}buildRpcMap(t,s){const i={};return t.forEach(n=>{i[n]=this.getRpcUrl(n,s)}),i}async initialize(t){if(this.rpc=this.getRpcConfig(t),this.chainId=this.rpc.chains.length?m(this.rpc.chains):m(this.rpc.optionalChains),this.signer=await R.init({projectId:this.rpc.projectId,metadata:this.rpc.metadata,disableProviderPing:t.disableProviderPing,relayUrl:t.relayUrl,storageOptions:t.storageOptions}),this.registerEventListeners(),await this.loadPersistedSession(),this.rpc.showQrModal){let s;try{const{WalletConnectModal:i}=await import(\"@walletconnect/modal\");s=i}catch{throw new Error(\"To use QR modal, please install @walletconnect/modal package\")}if(s)try{this.modal=new s(p({projectId:this.rpc.projectId},this.rpc.qrModalOptions))}catch(i){throw this.signer.logger.error(i),new Error(\"Could not generate WalletConnectModal Instance\")}}}loadConnectOpts(t){if(!t)return;const{chains:s,optionalChains:i,rpcMap:n}=t;s&&f(s)&&(this.rpc.chains=s.map(e=>this.formatChainId(e)),s.forEach(e=>{this.rpc.rpcMap[e]=n?.[e]||this.getRpcUrl(e)})),i&&f(i)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=i?.map(e=>this.formatChainId(e)),i.forEach(e=>{this.rpc.rpcMap[e]=n?.[e]||this.getRpcUrl(e)}))}getRpcUrl(t,s){var i;return((i=this.rpc.rpcMap)==null?void 0:i[t])||`${j}?chainId=eip155:${t}&projectId=${s||this.rpc.projectId}`}async loadPersistedSession(){if(this.session)try{const t=await this.signer.client.core.storage.getItem(`${this.STORAGE_KEY}/chainId`),s=this.session.namespaces[`${this.namespace}:${t}`]?this.session.namespaces[`${this.namespace}:${t}`]:this.session.namespaces[this.namespace];this.setChainIds(t?[this.formatChainId(t)]:s?.accounts),this.setAccounts(s?.accounts)}catch(t){this.signer.logger.error(\"Failed to load persisted session, clearing state...\"),this.signer.logger.error(t),await this.disconnect().catch(s=>this.signer.logger.warn(s))}}reset(){this.chainId=1,this.accounts=[]}persist(){this.session&&this.signer.client.core.storage.setItem(`${this.STORAGE_KEY}/chainId`,this.chainId)}parseAccounts(t){return typeof t==\"string\"||t instanceof String?[this.parseAccount(t)]:t.map(s=>this.parseAccount(s))}}const z=C;export{z as EthereumProvider,M as OPTIONAL_EVENTS,_ as OPTIONAL_METHODS,g as REQUIRED_EVENTS,u as REQUIRED_METHODS,C as default};\n//# sourceMappingURL=index.es.js.map\n","import icons from './icons'\nimport type { EIP1193Provider } from './EIP6963'\nimport type { Provider } from '../../services/Provider'\nimport { EthereumProvider } from '@walletconnect/ethereum-provider'\nimport { ErrorTypeEnum, WalletPlatformEnum } from '@multiplechain/types'\nimport type { WalletConnectConfig, WalletAdapterInterface } from '@multiplechain/types'\n\nlet isConnected = false\nlet walletProvider: EIP1193Provider | undefined\n\nconst WalletConnect: WalletAdapterInterface = {\n id: 'walletconnect',\n name: 'WalletConnect',\n icon: icons.walletConnect,\n provider: walletProvider,\n platforms: [WalletPlatformEnum.UNIVERSAL],\n isDetected: () => true,\n isConnected: () => isConnected,\n disconnect: () => {\n isConnected = false\n indexedDB.deleteDatabase('WALLET_CONNECT_V2_INDEXED_DB')\n },\n connect: async (\n provider?: Provider,\n config?: WalletConnectConfig\n ): Promise => {\n if (provider === undefined) {\n throw new Error(ErrorTypeEnum.PROVIDER_IS_REQUIRED)\n }\n\n if (config === undefined) {\n throw new Error(ErrorTypeEnum.CONFIG_IS_REQUIRED)\n }\n\n if (config.projectId === undefined) {\n throw new Error(ErrorTypeEnum.PROJECT_ID_IS_REQUIRED)\n }\n\n const rpcIdMapping = {}\n const network = provider.network\n // @ts-expect-error allow number index\n rpcIdMapping[network.id] = network.rpcUrl\n\n const connector = await EthereumProvider.init({\n projectId: config.projectId,\n relayUrl: 'wss://relay.walletconnect.com',\n optionalChains: [network.id],\n rpcMap: rpcIdMapping,\n chains: [network.id],\n showQrModal: true,\n qrModalOptions: {\n themeMode: config.themeMode,\n themeVariables: {\n '--wcm-z-index': '999999999999'\n },\n explorerExcludedWalletIds: 'ALL',\n explorerRecommendedWalletIds: [\n 'c57ca95b47569778a828d19178114f4db188b89b763c899ba0be274e97267d96',\n '4622a2b2d6af1c9844944291e5e7351a6aa24cd7b23099efac1b2fd875da31a0',\n '1ae92b26df02f0abca6304df07debccd18262fdf5fe82daa81593582dac9a369',\n '0b415a746fb9ee99cce155c2ceca0c6f6061b1dbca2d722b3ba16381d0562150',\n '971e689d0a5be527bac79629b4ee9b925e82208e5168b733496a09c0faed0709',\n 'c03dfee351b6fcc421b4494ea33b9d4b92a984f87aa76d1663bb28705e95034a',\n 'ecc4036f814562b41a5268adc86270fba1365471402006302e70169465b7ac18',\n 'ef333840daf915aafdc4a004525502d6d49d77bd9c65e0642dbaefb3c2893bef',\n 'bc949c5d968ae81310268bf9193f9c9fb7bb4e1283e1284af8f2bd4992535fd6',\n '74f8092562bd79675e276d8b2062a83601a4106d30202f2d509195e30e19673d',\n 'afbd95522f4041c71dd4f1a065f971fd32372865b416f95a0b1db759ae33f2a7',\n '20459438007b75f4f4acb98bf29aa3b800550309646d375da5fd4aac6c2a2c66',\n '8837dd9413b1d9b585ee937d27a816590248386d9dbf59f5cd3422dbbb65683e',\n 'c286eebc742a537cd1d6818363e9dc53b21759a1e8e5d9b263d0c03ec7703576',\n '38f5d18bd8522c244bdd70cb4a68e0e718865155811c043f052fb9f1c51de662',\n '85db431492aa2e8672e93f4ea7acf10c88b97b867b0d373107af63dc4880f041'\n ]\n }\n })\n\n return await new Promise((resolve, reject) => {\n connector\n .enable()\n .then(() => {\n isConnected = true\n resolve((walletProvider = connector as EIP1193Provider))\n })\n .catch((error) => {\n reject(error)\n })\n })\n }\n}\n\nexport default WalletConnect\n","import { Wallet } from './Wallet'\nimport { switcher } from './adapters/switcher'\nimport * as adapterList from './adapters/index'\nimport { WalletPlatformEnum } from '@multiplechain/types'\nimport type { EIP6963ProviderDetail, EIP1193Provider } from './adapters/EIP6963'\nimport type {\n WalletAdapterInterface,\n WalletAdapterListType,\n RegisterWalletAdapterType\n} from '@multiplechain/types'\nimport type { Provider } from '../services/Provider'\n\nconst EIP6963AdapterUUIDIndex: Record = {\n 'app.phantom': 'phantom',\n 'io.metamask': 'metamask',\n 'com.bitget.web3': 'bitgetwallet',\n 'com.okex.wallet': 'okxwallet',\n 'com.trustwallet.app': 'trustwallet',\n 'io.xdefi': 'xdefiwallet'\n}\n\nconst adapters: WalletAdapterListType = {}\n\nconst registerAdapter: RegisterWalletAdapterType = (\n adapter: WalletAdapterInterface\n): void => {\n if (EIP6963AdapterUUIDIndex[adapter.id] !== undefined) {\n console.warn(\n `Adapter is not registered, because it is already registered default: ${adapter.id}`\n )\n return\n }\n\n if (Object.values(adapters).find((a) => a.id === adapter.id) !== undefined) {\n throw new Error(`Adapter with id ${adapter.id} already exists`)\n }\n\n adapters[adapter.id] = adapter\n}\n\nconst fromEIP6963ProviderDetail = (\n detail: EIP6963ProviderDetail\n): WalletAdapterInterface => {\n return {\n name: detail.info.name,\n icon: detail.info.icon,\n provider: detail.provider,\n id: detail.info.rdns ?? detail.info.uuid,\n platforms: [WalletPlatformEnum.BROWSER, WalletPlatformEnum.MOBILE],\n isDetected: () => true,\n isConnected: async () => {\n return Boolean((await detail.provider.request({ method: 'eth_accounts' })).length)\n },\n connect: async (): Promise => {\n return await new Promise((resolve, reject) => {\n try {\n detail.provider\n .request({ method: 'eth_requestAccounts' })\n .then(() => {\n resolve(detail.provider)\n })\n .catch((error: any) => {\n reject(error)\n })\n } catch (error) {\n reject(error)\n }\n })\n }\n }\n}\n\nconst toEIP6963ProviderDetail = (\n adapter: WalletAdapterInterface\n): EIP6963ProviderDetail => {\n if (adapter.provider === undefined) {\n throw new Error('Cannot convert adapter without provider to EIP6963ProviderDetail')\n }\n\n return {\n info: {\n uuid: adapter.id,\n name: adapter.name,\n icon: adapter.icon\n },\n provider: adapter.provider as any\n }\n}\n\nexport * from '../index'\n\nexport const browser = {\n Wallet,\n switcher,\n registerAdapter,\n toEIP6963ProviderDetail,\n fromEIP6963ProviderDetail,\n adapters: Object.assign(adapters, adapterList)\n}\n","import { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { proxy, ref, subscribe as sub } from 'valtio/vanilla';\nimport { OptionsController } from '@web3modal/core';\nconst state = proxy({\n status: 'uninitialized'\n});\nexport const SIWEController = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n _getClient() {\n if (!state._client) {\n throw new Error('SIWEController client not set');\n }\n return state._client;\n },\n async getNonce(address) {\n const client = this._getClient();\n const nonce = await client.getNonce(address);\n this.setNonce(nonce);\n return nonce;\n },\n async getSession() {\n const client = this._getClient();\n const session = await client.getSession();\n if (session) {\n this.setSession(session);\n this.setStatus('success');\n }\n return session;\n },\n createMessage(args) {\n const client = this._getClient();\n const message = client.createMessage(args);\n this.setMessage(message);\n return message;\n },\n async verifyMessage(args) {\n const client = this._getClient();\n const isValid = await client.verifyMessage(args);\n return isValid;\n },\n async signIn() {\n const client = this._getClient();\n const session = await client.signIn();\n return session;\n },\n async signOut() {\n const client = this._getClient();\n await client.signOut();\n this.setStatus('ready');\n client.onSignOut?.();\n },\n onSignIn(args) {\n const client = this._getClient();\n client.onSignIn?.(args);\n },\n onSignOut() {\n const client = this._getClient();\n client.onSignOut?.();\n },\n setSIWEClient(client) {\n state._client = ref(client);\n state.status = 'ready';\n OptionsController.setIsSiweEnabled(client.options.enabled);\n },\n setNonce(nonce) {\n state.nonce = nonce;\n },\n setStatus(status) {\n state.status = status;\n },\n setMessage(message) {\n state.message = message;\n },\n setSession(session) {\n state.session = session;\n }\n};\n//# sourceMappingURL=SIWEController.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: flex;\n justify-content: center;\n gap: var(--wui-spacing-2xl);\n }\n\n wui-visual-thumbnail:nth-child(1) {\n z-index: 1;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nimport { OptionsController, StorageUtil } from '@web3modal/core';\nlet W3mConnectingSiwe = class W3mConnectingSiwe extends LitElement {\n constructor() {\n super(...arguments);\n this.dappImageUrl = OptionsController.state.metadata?.icons;\n this.walletImageUrl = StorageUtil.getConnectedWalletImageUrl();\n }\n firstUpdated() {\n const visuals = this.shadowRoot?.querySelectorAll('wui-visual-thumbnail');\n if (visuals?.[0]) {\n this.createAnimation(visuals[0], 'translate(18px)');\n }\n if (visuals?.[1]) {\n this.createAnimation(visuals[1], 'translate(-18px)');\n }\n }\n render() {\n return html `\n \n \n `;\n }\n createAnimation(element, translation) {\n element.animate([{ transform: 'translateX(0px)' }, { transform: translation }], {\n duration: 1600,\n easing: 'cubic-bezier(0.56, 0, 0.48, 1)',\n direction: 'alternate',\n iterations: Infinity\n });\n }\n};\nW3mConnectingSiwe.styles = styles;\nW3mConnectingSiwe = __decorate([\n customElement('w3m-connecting-siwe')\n], W3mConnectingSiwe);\nexport { W3mConnectingSiwe };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController, ConnectionController, EventsController, ModalController, OptionsController, RouterController, SnackController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { SIWEController } from '../../../core/controller/SIWEController.js';\nlet W3mConnectingSiweView = class W3mConnectingSiweView extends LitElement {\n constructor() {\n super(...arguments);\n this.dappName = OptionsController.state.metadata?.name;\n this.isSigning = false;\n }\n render() {\n return html `\n \n \n \n \n ${this.dappName ?? 'Dapp'} needs to connect to your wallet\n \n \n Sign this message to prove you own this wallet and proceed. Canceling will disconnect\n you.\n \n \n \n Cancel\n \n \n ${this.isSigning ? 'Signing...' : 'Sign'}\n \n \n `;\n }\n async onSign() {\n this.isSigning = true;\n EventsController.sendEvent({\n event: 'CLICK_SIGN_SIWE_MESSAGE',\n type: 'track'\n });\n try {\n SIWEController.setStatus('loading');\n const session = await SIWEController.signIn();\n SIWEController.setStatus('success');\n EventsController.sendEvent({\n event: 'SIWE_AUTH_SUCCESS',\n type: 'track'\n });\n return session;\n }\n catch (error) {\n SnackController.showError('Signature declined');\n SIWEController.setStatus('error');\n return EventsController.sendEvent({\n event: 'SIWE_AUTH_ERROR',\n type: 'track'\n });\n }\n finally {\n this.isSigning = false;\n }\n }\n async onCancel() {\n const { isConnected } = AccountController.state;\n if (isConnected) {\n await ConnectionController.disconnect();\n ModalController.close();\n }\n else {\n RouterController.push('Connect');\n }\n EventsController.sendEvent({\n event: 'CLICK_CANCEL_SIWE',\n type: 'track'\n });\n }\n};\n__decorate([\n state()\n], W3mConnectingSiweView.prototype, \"isSigning\", void 0);\nW3mConnectingSiweView = __decorate([\n customElement('w3m-connecting-siwe-view')\n], W3mConnectingSiweView);\nexport { W3mConnectingSiweView };\n//# sourceMappingURL=index.js.map","import{proxy as u,subscribe as h,snapshot as P}from\"valtio/vanilla\";const o=u({history:[\"ConnectWallet\"],view:\"ConnectWallet\",data:void 0}),T={state:o,subscribe(e){return h(o,()=>e(o))},push(e,t){e!==o.view&&(o.view=e,t&&(o.data=t),o.history.push(e))},reset(e){o.view=e,o.history=[e]},replace(e){o.history.length>1&&(o.history[o.history.length-1]=e,o.view=e)},goBack(){if(o.history.length>1){o.history.pop();const[e]=o.history.slice(-1);o.view=e}},setData(e){o.data=e}},a={WALLETCONNECT_DEEPLINK_CHOICE:\"WALLETCONNECT_DEEPLINK_CHOICE\",WCM_VERSION:\"WCM_VERSION\",RECOMMENDED_WALLET_AMOUNT:9,isMobile(){return typeof window<\"u\"?Boolean(window.matchMedia(\"(pointer:coarse)\").matches||/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)):!1},isAndroid(){return a.isMobile()&&navigator.userAgent.toLowerCase().includes(\"android\")},isIos(){const e=navigator.userAgent.toLowerCase();return a.isMobile()&&(e.includes(\"iphone\")||e.includes(\"ipad\"))},isHttpUrl(e){return e.startsWith(\"http://\")||e.startsWith(\"https://\")},isArray(e){return Array.isArray(e)&&e.length>0},formatNativeUrl(e,t,s){if(a.isHttpUrl(e))return this.formatUniversalUrl(e,t,s);let n=e;n.includes(\"://\")||(n=e.replaceAll(\"/\",\"\").replaceAll(\":\",\"\"),n=`${n}://`),n.endsWith(\"/\")||(n=`${n}/`),this.setWalletConnectDeepLink(n,s);const i=encodeURIComponent(t);return`${n}wc?uri=${i}`},formatUniversalUrl(e,t,s){if(!a.isHttpUrl(e))return this.formatNativeUrl(e,t,s);let n=e;n.endsWith(\"/\")||(n=`${n}/`),this.setWalletConnectDeepLink(n,s);const i=encodeURIComponent(t);return`${n}wc?uri=${i}`},async wait(e){return new Promise(t=>{setTimeout(t,e)})},openHref(e,t){window.open(e,t,\"noreferrer noopener\")},setWalletConnectDeepLink(e,t){try{localStorage.setItem(a.WALLETCONNECT_DEEPLINK_CHOICE,JSON.stringify({href:e,name:t}))}catch{console.info(\"Unable to set WalletConnect deep link\")}},setWalletConnectAndroidDeepLink(e){try{const[t]=e.split(\"?\");localStorage.setItem(a.WALLETCONNECT_DEEPLINK_CHOICE,JSON.stringify({href:t,name:\"Android\"}))}catch{console.info(\"Unable to set WalletConnect android deep link\")}},removeWalletConnectDeepLink(){try{localStorage.removeItem(a.WALLETCONNECT_DEEPLINK_CHOICE)}catch{console.info(\"Unable to remove WalletConnect deep link\")}},setModalVersionInStorage(){try{typeof localStorage<\"u\"&&localStorage.setItem(a.WCM_VERSION,\"2.6.2\")}catch{console.info(\"Unable to set Web3Modal version in storage\")}},getWalletRouterData(){var e;const t=(e=T.state.data)==null?void 0:e.Wallet;if(!t)throw new Error('Missing \"Wallet\" view data');return t}},_=typeof location<\"u\"&&(location.hostname.includes(\"localhost\")||location.protocol.includes(\"https\")),r=u({enabled:_,userSessionId:\"\",events:[],connectedWalletId:void 0}),R={state:r,subscribe(e){return h(r.events,()=>e(P(r.events[r.events.length-1])))},initialize(){r.enabled&&typeof(crypto==null?void 0:crypto.randomUUID)<\"u\"&&(r.userSessionId=crypto.randomUUID())},setConnectedWalletId(e){r.connectedWalletId=e},click(e){if(r.enabled){const t={type:\"CLICK\",name:e.name,userSessionId:r.userSessionId,timestamp:Date.now(),data:e};r.events.push(t)}},track(e){if(r.enabled){const t={type:\"TRACK\",name:e.name,userSessionId:r.userSessionId,timestamp:Date.now(),data:e};r.events.push(t)}},view(e){if(r.enabled){const t={type:\"VIEW\",name:e.name,userSessionId:r.userSessionId,timestamp:Date.now(),data:e};r.events.push(t)}}},c=u({chains:void 0,walletConnectUri:void 0,isAuth:!1,isCustomDesktop:!1,isCustomMobile:!1,isDataLoaded:!1,isUiLoaded:!1}),p={state:c,subscribe(e){return h(c,()=>e(c))},setChains(e){c.chains=e},setWalletConnectUri(e){c.walletConnectUri=e},setIsCustomDesktop(e){c.isCustomDesktop=e},setIsCustomMobile(e){c.isCustomMobile=e},setIsDataLoaded(e){c.isDataLoaded=e},setIsUiLoaded(e){c.isUiLoaded=e},setIsAuth(e){c.isAuth=e}},W=u({projectId:\"\",mobileWallets:void 0,desktopWallets:void 0,walletImages:void 0,chains:void 0,enableAuthMode:!1,enableExplorer:!0,explorerExcludedWalletIds:void 0,explorerRecommendedWalletIds:void 0,termsOfServiceUrl:void 0,privacyPolicyUrl:void 0}),y={state:W,subscribe(e){return h(W,()=>e(W))},setConfig(e){var t,s;R.initialize(),p.setChains(e.chains),p.setIsAuth(Boolean(e.enableAuthMode)),p.setIsCustomMobile(Boolean((t=e.mobileWallets)==null?void 0:t.length)),p.setIsCustomDesktop(Boolean((s=e.desktopWallets)==null?void 0:s.length)),a.setModalVersionInStorage(),Object.assign(W,e)}};var V=Object.defineProperty,D=Object.getOwnPropertySymbols,H=Object.prototype.hasOwnProperty,B=Object.prototype.propertyIsEnumerable,M=(e,t,s)=>t in e?V(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,K=(e,t)=>{for(var s in t||(t={}))H.call(t,s)&&M(e,s,t[s]);if(D)for(var s of D(t))B.call(t,s)&&M(e,s,t[s]);return e};const L=\"https://explorer-api.walletconnect.com\",E=\"wcm\",O=\"js-2.6.2\";async function w(e,t){const s=K({sdkType:E,sdkVersion:O},t),n=new URL(e,L);return n.searchParams.append(\"projectId\",y.state.projectId),Object.entries(s).forEach(([i,l])=>{l&&n.searchParams.append(i,String(l))}),(await fetch(n)).json()}const m={async getDesktopListings(e){return w(\"/w3m/v1/getDesktopListings\",e)},async getMobileListings(e){return w(\"/w3m/v1/getMobileListings\",e)},async getInjectedListings(e){return w(\"/w3m/v1/getInjectedListings\",e)},async getAllListings(e){return w(\"/w3m/v1/getAllListings\",e)},getWalletImageUrl(e){return`${L}/w3m/v1/getWalletImage/${e}?projectId=${y.state.projectId}&sdkType=${E}&sdkVersion=${O}`},getAssetImageUrl(e){return`${L}/w3m/v1/getAssetImage/${e}?projectId=${y.state.projectId}&sdkType=${E}&sdkVersion=${O}`}};var z=Object.defineProperty,j=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable,k=(e,t,s)=>t in e?z(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,F=(e,t)=>{for(var s in t||(t={}))J.call(t,s)&&k(e,s,t[s]);if(j)for(var s of j(t))q.call(t,s)&&k(e,s,t[s]);return e};const N=a.isMobile(),d=u({wallets:{listings:[],total:0,page:1},search:{listings:[],total:0,page:1},recomendedWallets:[]}),te={state:d,async getRecomendedWallets(){const{explorerRecommendedWalletIds:e,explorerExcludedWalletIds:t}=y.state;if(e===\"NONE\"||t===\"ALL\"&&!e)return d.recomendedWallets;if(a.isArray(e)){const s={recommendedIds:e.join(\",\")},{listings:n}=await m.getAllListings(s),i=Object.values(n);i.sort((l,v)=>{const b=e.indexOf(l.id),f=e.indexOf(v.id);return b-f}),d.recomendedWallets=i}else{const{chains:s,isAuth:n}=p.state,i=s?.join(\",\"),l=a.isArray(t),v={page:1,sdks:n?\"auth_v1\":void 0,entries:a.RECOMMENDED_WALLET_AMOUNT,chains:i,version:2,excludedIds:l?t.join(\",\"):void 0},{listings:b}=N?await m.getMobileListings(v):await m.getDesktopListings(v);d.recomendedWallets=Object.values(b)}return d.recomendedWallets},async getWallets(e){const t=F({},e),{explorerRecommendedWalletIds:s,explorerExcludedWalletIds:n}=y.state,{recomendedWallets:i}=d;if(n===\"ALL\")return d.wallets;i.length?t.excludedIds=i.map(x=>x.id).join(\",\"):a.isArray(s)&&(t.excludedIds=s.join(\",\")),a.isArray(n)&&(t.excludedIds=[t.excludedIds,n].filter(Boolean).join(\",\")),p.state.isAuth&&(t.sdks=\"auth_v1\");const{page:l,search:v}=e,{listings:b,total:f}=N?await m.getMobileListings(t):await m.getDesktopListings(t),A=Object.values(b),U=v?\"search\":\"wallets\";return d[U]={listings:[...d[U].listings,...A],total:f,page:l??1},{listings:A,total:f}},getWalletImageUrl(e){return m.getWalletImageUrl(e)},getAssetImageUrl(e){return m.getAssetImageUrl(e)},resetSearch(){d.search={listings:[],total:0,page:1}}},I=u({open:!1}),se={state:I,subscribe(e){return h(I,()=>e(I))},async open(e){return new Promise(t=>{const{isUiLoaded:s,isDataLoaded:n}=p.state;if(a.removeWalletConnectDeepLink(),p.setWalletConnectUri(e?.uri),p.setChains(e?.chains),T.reset(\"ConnectWallet\"),s&&n)I.open=!0,t();else{const i=setInterval(()=>{const l=p.state;l.isUiLoaded&&l.isDataLoaded&&(clearInterval(i),I.open=!0,t())},200)}})},close(){I.open=!1}};var G=Object.defineProperty,$=Object.getOwnPropertySymbols,Q=Object.prototype.hasOwnProperty,X=Object.prototype.propertyIsEnumerable,S=(e,t,s)=>t in e?G(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Y=(e,t)=>{for(var s in t||(t={}))Q.call(t,s)&&S(e,s,t[s]);if($)for(var s of $(t))X.call(t,s)&&S(e,s,t[s]);return e};function Z(){return typeof matchMedia<\"u\"&&matchMedia(\"(prefers-color-scheme: dark)\").matches}const C=u({themeMode:Z()?\"dark\":\"light\"}),ne={state:C,subscribe(e){return h(C,()=>e(C))},setThemeConfig(e){const{themeMode:t,themeVariables:s}=e;t&&(C.themeMode=t),s&&(C.themeVariables=Y({},s))}},g=u({open:!1,message:\"\",variant:\"success\"}),oe={state:g,subscribe(e){return h(g,()=>e(g))},openToast(e,t){g.open=!0,g.message=e,g.variant=t},closeToast(){g.open=!1}};export{y as ConfigCtrl,a as CoreUtil,R as EventsCtrl,te as ExplorerCtrl,se as ModalCtrl,p as OptionsCtrl,T as RouterCtrl,ne as ThemeCtrl,oe as ToastCtrl};\n//# sourceMappingURL=index.js.map\n","import{ModalCtrl as t,ThemeCtrl as o,ConfigCtrl as i,OptionsCtrl as n}from\"@walletconnect/modal-core\";class d{constructor(e){this.openModal=t.open,this.closeModal=t.close,this.subscribeModal=t.subscribe,this.setTheme=o.setThemeConfig,o.setThemeConfig(e),i.setConfig(e),this.initUi()}async initUi(){if(typeof window<\"u\"){await import(\"@walletconnect/modal-ui\");const e=document.createElement(\"wcm-modal\");document.body.insertAdjacentElement(\"beforeend\",e),n.setIsUiLoaded(!0)}}}export{d as WalletConnectModal};\n//# sourceMappingURL=index.js.map\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=window,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),n=new WeakMap;class o{constructor(t,e,n){if(this._$cssResult$=!0,n!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=n.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&n.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new o(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const n=1===t.length?t[0]:e.reduce(((e,s,n)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[n+1]),t[0]);return new o(n,t,s)},S=(s,n)=>{e?s.adoptedStyleSheets=n.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):n.forEach((e=>{const n=document.createElement(\"style\"),o=t.litNonce;void 0!==o&&n.setAttribute(\"nonce\",o),n.textContent=e.cssText,s.appendChild(n)}))},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{o as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as i}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var s;const e=window,r=e.trustedTypes,h=r?r.emptyScript:\"\",o=e.reactiveElementPolyfillSupport,n={toAttribute(t,i){switch(i){case Boolean:t=t?h:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,i){let s=t;switch(i){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(t){s=null}}return s}},a=(t,i)=>i!==t&&(i==i||t==t),l={attribute:!0,type:String,converter:n,reflect:!1,hasChanged:a},d=\"finalized\";class u extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(t){var i;this.finalize(),(null!==(i=this.h)&&void 0!==i?i:this.h=[]).push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((i,s)=>{const e=this._$Ep(s,i);void 0!==e&&(this._$Ev.set(e,s),t.push(e))})),t}static createProperty(t,i=l){if(i.state&&(i.attribute=!1),this.finalize(),this.elementProperties.set(t,i),!i.noAccessor&&!this.prototype.hasOwnProperty(t)){const s=\"symbol\"==typeof t?Symbol():\"__\"+t,e=this.getPropertyDescriptor(t,s,i);void 0!==e&&Object.defineProperty(this.prototype,t,e)}}static getPropertyDescriptor(t,i,s){return{get(){return this[i]},set(e){const r=this[t];this[i]=e,this.requestUpdate(t,r,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||l}static finalize(){if(this.hasOwnProperty(d))return!1;this[d]=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),void 0!==t.h&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty(\"properties\")){const t=this.properties,i=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const s of i)this.createProperty(s,t[s])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(i){const s=[];if(Array.isArray(i)){const e=new Set(i.flat(1/0).reverse());for(const i of e)s.unshift(t(i))}else void 0!==i&&s.push(t(i));return s}static _$Ep(t,i){const s=i.attribute;return!1===s?void 0:\"string\"==typeof s?s:\"string\"==typeof t?t.toLowerCase():void 0}_$Eu(){var t;this._$E_=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(t=this.constructor.h)||void 0===t||t.forEach((t=>t(this)))}addController(t){var i,s;(null!==(i=this._$ES)&&void 0!==i?i:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(s=t.hostConnected)||void 0===s||s.call(t))}removeController(t){var i;null===(i=this._$ES)||void 0===i||i.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((t,i)=>{this.hasOwnProperty(i)&&(this._$Ei.set(i,this[i]),delete this[i])}))}createRenderRoot(){var t;const s=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return i(s,this.constructor.elementStyles),s}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostConnected)||void 0===i?void 0:i.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostDisconnected)||void 0===i?void 0:i.call(t)}))}attributeChangedCallback(t,i,s){this._$AK(t,s)}_$EO(t,i,s=l){var e;const r=this.constructor._$Ep(t,s);if(void 0!==r&&!0===s.reflect){const h=(void 0!==(null===(e=s.converter)||void 0===e?void 0:e.toAttribute)?s.converter:n).toAttribute(i,s.type);this._$El=t,null==h?this.removeAttribute(r):this.setAttribute(r,h),this._$El=null}}_$AK(t,i){var s;const e=this.constructor,r=e._$Ev.get(t);if(void 0!==r&&this._$El!==r){const t=e.getPropertyOptions(r),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(s=t.converter)||void 0===s?void 0:s.fromAttribute)?t.converter:n;this._$El=r,this[r]=h.fromAttribute(i,t.type),this._$El=null}}requestUpdate(t,i,s){let e=!0;void 0!==t&&(((s=s||this.constructor.getPropertyOptions(t)).hasChanged||a)(this[t],i)?(this._$AL.has(t)||this._$AL.set(t,i),!0===s.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,s))):e=!1),!this.isUpdatePending&&e&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((t,i)=>this[i]=t)),this._$Ei=void 0);let i=!1;const s=this._$AL;try{i=this.shouldUpdate(s),i?(this.willUpdate(s),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostUpdate)||void 0===i?void 0:i.call(t)})),this.update(s)):this._$Ek()}catch(t){throw i=!1,this._$Ek(),t}i&&this._$AE(s)}willUpdate(t){}_$AE(t){var i;null===(i=this._$ES)||void 0===i||i.forEach((t=>{var i;return null===(i=t.hostUpdated)||void 0===i?void 0:i.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,i)=>this._$EO(i,this[i],t))),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}}u[d]=!0,u.elementProperties=new Map,u.elementStyles=[],u.shadowRootOptions={mode:\"open\"},null==o||o({ReactiveElement:u}),(null!==(s=e.reactiveElementVersions)&&void 0!==s?s:e.reactiveElementVersions=[]).push(\"1.6.3\");export{u as ReactiveElement,n as defaultConverter,a as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar t;const i=window,s=i.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,o=\"$lit$\",n=`lit$${(Math.random()+\"\").slice(9)}$`,l=\"?\"+n,h=`<${l}>`,r=document,u=()=>r.createComment(\"\"),d=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,c=Array.isArray,v=t=>c(t)||\"function\"==typeof(null==t?void 0:t[Symbol.iterator]),a=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${a}(?:([^\\\\s\"'>=/]+)(${a}*=${a}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,w=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=w(1),b=w(2),T=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),E=new WeakMap,C=r.createTreeWalker(r,129,null,!1);function P(t,i){if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==e?e.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,e=[];let l,r=2===i?\"\":\"\",u=f;for(let i=0;i\"===c[0]?(u=null!=l?l:f,v=-1):void 0===c[1]?v=-2:(v=u.lastIndex-c[2].length,d=c[1],u=void 0===c[3]?p:'\"'===c[3]?$:g):u===$||u===g?u=p:u===_||u===m?u=f:(u=p,l=void 0);const w=u===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";r+=u===f?s+h:v>=0?(e.push(d),s.slice(0,v)+o+s.slice(v)+n+w):s+n+(-2===v?(e.push(void 0),i):w)}return[P(t,r+(t[s]||\"\")+(2===i?\"\":\"\")),e]};class N{constructor({strings:t,_$litType$:i},e){let h;this.parts=[];let r=0,d=0;const c=t.length-1,v=this.parts,[a,f]=V(t,i);if(this.el=N.createElement(a,e),C.currentNode=this.el.content,2===i){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes)}for(;null!==(h=C.nextNode())&&v.length0){h.textContent=s?s.emptyScript:\"\";for(let s=0;s2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,s,e){const o=this.strings;let n=!1;if(void 0===o)t=S(this,t,i,0),n=!d(t)||t!==this._$AH&&t!==T,n&&(this._$AH=t);else{const e=t;let l,h;for(t=o[0],l=0;l{var e,o;const n=null!==(e=null==s?void 0:s.renderBefore)&&void 0!==e?e:i;let l=n._$litPart$;if(void 0===l){const t=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;n._$litPart$=l=new R(i.insertBefore(u(),t),t,void 0,null!=s?s:{})}return l._$AI(t),l};export{j as _$LH,x as html,T as noChange,A as nothing,D as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as i}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var l,o;const r=t;class s extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,e;const i=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=i.firstChild),i}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(i,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!1)}render(){return i}}s.finalized=!0,s._$litElement$=!0,null===(l=globalThis.litElementHydrateSupport)||void 0===l||l.call(globalThis,{LitElement:s});const n=globalThis.litElementPolyfillSupport;null==n||n({LitElement:s});const h={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(null!==(o=globalThis.litElementVersions)&&void 0!==o?o:globalThis.litElementVersions=[]).push(\"3.3.3\");export{s as LitElement,r as UpdatingElement,h as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=e=>n=>\"function\"==typeof n?((e,n)=>(customElements.define(e,n),n))(e,n):((e,n)=>{const{kind:t,elements:s}=n;return{kind:t,elements:s,finisher(n){customElements.define(e,n)}}})(e,n);export{e as customElement};\n//# sourceMappingURL=custom-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst i=(i,e)=>\"method\"===e.kind&&e.descriptor&&!(\"value\"in e.descriptor)?{...e,finisher(n){n.createProperty(e.key,i)}}:{kind:\"field\",key:Symbol(),placement:\"own\",descriptor:{},originalKey:e.key,initializer(){\"function\"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(n){n.createProperty(e.key,i)}},e=(i,e,n)=>{e.constructor.createProperty(n,i)};function n(n){return(t,o)=>void 0!==o?e(n,t,o):i(n,t)}export{n as property};\n//# sourceMappingURL=property.js.map\n","import{property as r}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function t(t){return r({...t,state:!0})}export{t as state};\n//# sourceMappingURL=state.js.map\n","import{decorateProperty as o}from\"./base.js\";\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var n;const e=null!=(null===(n=window.HTMLSlotElement)||void 0===n?void 0:n.prototype.assignedElements)?(o,n)=>o.assignedElements(n):(o,n)=>o.assignedNodes(n).filter((o=>o.nodeType===Node.ELEMENT_NODE));function l(n){const{slot:l,selector:t}=null!=n?n:{};return o({descriptor:o=>({get(){var o;const r=\"slot\"+(l?`[name=${l}]`:\":not([name])\"),i=null===(o=this.renderRoot)||void 0===o?void 0:o.querySelector(r),s=null!=i?e(i,n):[];return t?s.filter((o=>o.matches(t))):s},enumerable:!0,configurable:!0})})}export{l as queryAssignedElements};\n//# sourceMappingURL=query-assigned-elements.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{noChange as t}from\"../lit-html.js\";import{directive as i,Directive as s,PartType as r}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=i(class extends s{constructor(t){var i;if(super(t),t.type!==r.ATTRIBUTE||\"class\"!==t.name||(null===(i=t.strings)||void 0===i?void 0:i.length)>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter((i=>t[i])).join(\" \")+\" \"}update(i,[s]){var r,o;if(void 0===this.it){this.it=new Set,void 0!==i.strings&&(this.nt=new Set(i.strings.join(\" \").split(/\\s/).filter((t=>\"\"!==t))));for(const t in s)s[t]&&!(null===(r=this.nt)||void 0===r?void 0:r.has(t))&&this.it.add(t);return this.render(s)}const e=i.element.classList;this.it.forEach((t=>{t in s||(e.remove(t),this.it.delete(t))}));for(const t in s){const i=!!s[t];i===this.it.has(t)||(null===(o=this.nt)||void 0===o?void 0:o.has(t))||(i?(e.add(t),this.it.add(t)):(e.remove(t),this.it.delete(t)))}return t}});export{o as classMap};\n//# sourceMappingURL=class-map.js.map\n","function addUniqueItem(array, item) {\n array.indexOf(item) === -1 && array.push(item);\n}\nfunction removeItem(arr, item) {\n const index = arr.indexOf(item);\n index > -1 && arr.splice(index, 1);\n}\n\nexport { addUniqueItem, removeItem };\n","const clamp = (min, max, v) => Math.min(Math.max(v, min), max);\n\nexport { clamp };\n","const defaults = {\n duration: 0.3,\n delay: 0,\n endDelay: 0,\n repeat: 0,\n easing: \"ease\",\n};\n\nexport { defaults };\n","const isNumber = (value) => typeof value === \"number\";\n\nexport { isNumber };\n","import { isNumber } from './is-number.es.js';\n\nconst isEasingList = (easing) => Array.isArray(easing) && !isNumber(easing[0]);\n\nexport { isEasingList };\n","const wrap = (min, max, v) => {\n const rangeSize = max - min;\n return ((((v - min) % rangeSize) + rangeSize) % rangeSize) + min;\n};\n\nexport { wrap };\n","import { isEasingList } from './is-easing-list.es.js';\nimport { wrap } from './wrap.es.js';\n\nfunction getEasingForSegment(easing, i) {\n return isEasingList(easing)\n ? easing[wrap(0, easing.length, i)]\n : easing;\n}\n\nexport { getEasingForSegment };\n","const mix = (min, max, progress) => -progress * min + progress * max + min;\n\nexport { mix };\n","const noop = () => { };\nconst noopReturn = (v) => v;\n\nexport { noop, noopReturn };\n","const progress = (min, max, value) => max - min === 0 ? 1 : (value - min) / (max - min);\n\nexport { progress };\n","import { mix } from './mix.es.js';\nimport { progress } from './progress.es.js';\n\nfunction fillOffset(offset, remaining) {\n const min = offset[offset.length - 1];\n for (let i = 1; i <= remaining; i++) {\n const offsetProgress = progress(0, remaining, i);\n offset.push(mix(min, 1, offsetProgress));\n }\n}\nfunction defaultOffset(length) {\n const offset = [0];\n fillOffset(offset, length - 1);\n return offset;\n}\n\nexport { defaultOffset, fillOffset };\n","import { mix } from './mix.es.js';\nimport { noopReturn } from './noop.es.js';\nimport { fillOffset, defaultOffset } from './offset.es.js';\nimport { progress } from './progress.es.js';\nimport { getEasingForSegment } from './easing.es.js';\nimport { clamp } from './clamp.es.js';\n\nfunction interpolate(output, input = defaultOffset(output.length), easing = noopReturn) {\n const length = output.length;\n /**\n * If the input length is lower than the output we\n * fill the input to match. This currently assumes the input\n * is an animation progress value so is a good candidate for\n * moving outside the function.\n */\n const remainder = length - input.length;\n remainder > 0 && fillOffset(input, remainder);\n return (t) => {\n let i = 0;\n for (; i < length - 2; i++) {\n if (t < input[i + 1])\n break;\n }\n let progressInRange = clamp(0, 1, progress(input[i], input[i + 1], t));\n const segmentEasing = getEasingForSegment(easing, i);\n progressInRange = segmentEasing(progressInRange);\n return mix(output[i], output[i + 1], progressInRange);\n };\n}\n\nexport { interpolate };\n","import { isNumber } from './is-number.es.js';\n\nconst isCubicBezier = (easing) => Array.isArray(easing) && isNumber(easing[0]);\n\nexport { isCubicBezier };\n","const isEasingGenerator = (easing) => typeof easing === \"object\" &&\n Boolean(easing.createAnimation);\n\nexport { isEasingGenerator };\n","const isFunction = (value) => typeof value === \"function\";\n\nexport { isFunction };\n","const isString = (value) => typeof value === \"string\";\n\nexport { isString };\n","const time = {\n ms: (seconds) => seconds * 1000,\n s: (milliseconds) => milliseconds / 1000,\n};\n\nexport { time };\n","import { noopReturn } from '@motionone/utils';\n\n/*\n Bezier function generator\n\n This has been modified from Gaëtan Renaudeau's BezierEasing\n https://github.com/gre/bezier-easing/blob/master/src/index.js\n https://github.com/gre/bezier-easing/blob/master/LICENSE\n \n I've removed the newtonRaphsonIterate algo because in benchmarking it\n wasn't noticiably faster than binarySubdivision, indeed removing it\n usually improved times, depending on the curve.\n\n I also removed the lookup table, as for the added bundle size and loop we're\n only cutting ~4 or so subdivision iterations. I bumped the max iterations up\n to 12 to compensate and this still tended to be faster for no perceivable\n loss in accuracy.\n\n Usage\n const easeOut = cubicBezier(.17,.67,.83,.67);\n const x = easeOut(0.5); // returns 0.627...\n*/\n// Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\nconst calcBezier = (t, a1, a2) => (((1.0 - 3.0 * a2 + 3.0 * a1) * t + (3.0 * a2 - 6.0 * a1)) * t + 3.0 * a1) * t;\nconst subdivisionPrecision = 0.0000001;\nconst subdivisionMaxIterations = 12;\nfunction binarySubdivide(x, lowerBound, upperBound, mX1, mX2) {\n let currentX;\n let currentT;\n let i = 0;\n do {\n currentT = lowerBound + (upperBound - lowerBound) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - x;\n if (currentX > 0.0) {\n upperBound = currentT;\n }\n else {\n lowerBound = currentT;\n }\n } while (Math.abs(currentX) > subdivisionPrecision &&\n ++i < subdivisionMaxIterations);\n return currentT;\n}\nfunction cubicBezier(mX1, mY1, mX2, mY2) {\n // If this is a linear gradient, return linear easing\n if (mX1 === mY1 && mX2 === mY2)\n return noopReturn;\n const getTForX = (aX) => binarySubdivide(aX, 0, 1, mX1, mX2);\n // If animation is at start/end, return t without easing\n return (t) => t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2);\n}\n\nexport { cubicBezier };\n","import { clamp } from '@motionone/utils';\n\nconst steps = (steps, direction = \"end\") => (progress) => {\n progress =\n direction === \"end\"\n ? Math.min(progress, 0.999)\n : Math.max(progress, 0.001);\n const expanded = progress * steps;\n const rounded = direction === \"end\" ? Math.floor(expanded) : Math.ceil(expanded);\n return clamp(0, 1, rounded / steps);\n};\n\nexport { steps };\n","import { cubicBezier, steps } from '@motionone/easing';\nimport { isFunction, isCubicBezier, noopReturn } from '@motionone/utils';\n\nconst namedEasings = {\n ease: cubicBezier(0.25, 0.1, 0.25, 1.0),\n \"ease-in\": cubicBezier(0.42, 0.0, 1.0, 1.0),\n \"ease-in-out\": cubicBezier(0.42, 0.0, 0.58, 1.0),\n \"ease-out\": cubicBezier(0.0, 0.0, 0.58, 1.0),\n};\nconst functionArgsRegex = /\\((.*?)\\)/;\nfunction getEasingFunction(definition) {\n // If already an easing function, return\n if (isFunction(definition))\n return definition;\n // If an easing curve definition, return bezier function\n if (isCubicBezier(definition))\n return cubicBezier(...definition);\n // If we have a predefined easing function, return\n if (namedEasings[definition])\n return namedEasings[definition];\n // If this is a steps function, attempt to create easing curve\n if (definition.startsWith(\"steps\")) {\n const args = functionArgsRegex.exec(definition);\n if (args) {\n const argsArray = args[1].split(\",\");\n return steps(parseFloat(argsArray[0]), argsArray[1].trim());\n }\n }\n return noopReturn;\n}\n\nexport { getEasingFunction };\n","import { noopReturn, defaults, isEasingGenerator, isEasingList, interpolate } from '@motionone/utils';\nimport { getEasingFunction } from './utils/easing.es.js';\n\nclass Animation {\n constructor(output, keyframes = [0, 1], { easing, duration: initialDuration = defaults.duration, delay = defaults.delay, endDelay = defaults.endDelay, repeat = defaults.repeat, offset, direction = \"normal\", autoplay = true, } = {}) {\n this.startTime = null;\n this.rate = 1;\n this.t = 0;\n this.cancelTimestamp = null;\n this.easing = noopReturn;\n this.duration = 0;\n this.totalDuration = 0;\n this.repeat = 0;\n this.playState = \"idle\";\n this.finished = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n easing = easing || defaults.easing;\n if (isEasingGenerator(easing)) {\n const custom = easing.createAnimation(keyframes);\n easing = custom.easing;\n keyframes = custom.keyframes || keyframes;\n initialDuration = custom.duration || initialDuration;\n }\n this.repeat = repeat;\n this.easing = isEasingList(easing) ? noopReturn : getEasingFunction(easing);\n this.updateDuration(initialDuration);\n const interpolate$1 = interpolate(keyframes, offset, isEasingList(easing) ? easing.map(getEasingFunction) : noopReturn);\n this.tick = (timestamp) => {\n var _a;\n // TODO: Temporary fix for OptionsResolver typing\n delay = delay;\n let t = 0;\n if (this.pauseTime !== undefined) {\n t = this.pauseTime;\n }\n else {\n t = (timestamp - this.startTime) * this.rate;\n }\n this.t = t;\n // Convert to seconds\n t /= 1000;\n // Rebase on delay\n t = Math.max(t - delay, 0);\n /**\n * If this animation has finished, set the current time\n * to the total duration.\n */\n if (this.playState === \"finished\" && this.pauseTime === undefined) {\n t = this.totalDuration;\n }\n /**\n * Get the current progress (0-1) of the animation. If t is >\n * than duration we'll get values like 2.5 (midway through the\n * third iteration)\n */\n const progress = t / this.duration;\n // TODO progress += iterationStart\n /**\n * Get the current iteration (0 indexed). For instance the floor of\n * 2.5 is 2.\n */\n let currentIteration = Math.floor(progress);\n /**\n * Get the current progress of the iteration by taking the remainder\n * so 2.5 is 0.5 through iteration 2\n */\n let iterationProgress = progress % 1.0;\n if (!iterationProgress && progress >= 1) {\n iterationProgress = 1;\n }\n /**\n * If iteration progress is 1 we count that as the end\n * of the previous iteration.\n */\n iterationProgress === 1 && currentIteration--;\n /**\n * Reverse progress if we're not running in \"normal\" direction\n */\n const iterationIsOdd = currentIteration % 2;\n if (direction === \"reverse\" ||\n (direction === \"alternate\" && iterationIsOdd) ||\n (direction === \"alternate-reverse\" && !iterationIsOdd)) {\n iterationProgress = 1 - iterationProgress;\n }\n const p = t >= this.totalDuration ? 1 : Math.min(iterationProgress, 1);\n const latest = interpolate$1(this.easing(p));\n output(latest);\n const isAnimationFinished = this.pauseTime === undefined &&\n (this.playState === \"finished\" || t >= this.totalDuration + endDelay);\n if (isAnimationFinished) {\n this.playState = \"finished\";\n (_a = this.resolve) === null || _a === void 0 ? void 0 : _a.call(this, latest);\n }\n else if (this.playState !== \"idle\") {\n this.frameRequestId = requestAnimationFrame(this.tick);\n }\n };\n if (autoplay)\n this.play();\n }\n play() {\n const now = performance.now();\n this.playState = \"running\";\n if (this.pauseTime !== undefined) {\n this.startTime = now - this.pauseTime;\n }\n else if (!this.startTime) {\n this.startTime = now;\n }\n this.cancelTimestamp = this.startTime;\n this.pauseTime = undefined;\n this.frameRequestId = requestAnimationFrame(this.tick);\n }\n pause() {\n this.playState = \"paused\";\n this.pauseTime = this.t;\n }\n finish() {\n this.playState = \"finished\";\n this.tick(0);\n }\n stop() {\n var _a;\n this.playState = \"idle\";\n if (this.frameRequestId !== undefined) {\n cancelAnimationFrame(this.frameRequestId);\n }\n (_a = this.reject) === null || _a === void 0 ? void 0 : _a.call(this, false);\n }\n cancel() {\n this.stop();\n this.tick(this.cancelTimestamp);\n }\n reverse() {\n this.rate *= -1;\n }\n commitStyles() { }\n updateDuration(duration) {\n this.duration = duration;\n this.totalDuration = duration * (this.repeat + 1);\n }\n get currentTime() {\n return this.t;\n }\n set currentTime(t) {\n if (this.pauseTime !== undefined || this.rate === 0) {\n this.pauseTime = t;\n }\n else {\n this.startTime = performance.now() - t / this.rate;\n }\n }\n get playbackRate() {\n return this.rate;\n }\n set playbackRate(rate) {\n this.rate = rate;\n }\n}\n\nexport { Animation };\n","var warning = function () { };\r\nvar invariant = function () { };\r\nif (process.env.NODE_ENV !== 'production') {\r\n warning = function (check, message) {\r\n if (!check && typeof console !== 'undefined') {\r\n console.warn(message);\r\n }\r\n };\r\n invariant = function (check, message) {\r\n if (!check) {\r\n throw new Error(message);\r\n }\r\n };\r\n}\n\nexport { invariant, warning };\n","/**\n * The MotionValue tracks the state of a single animatable\n * value. Currently, updatedAt and current are unused. The\n * long term idea is to use this to minimise the number\n * of DOM reads, and to abstract the DOM interactions here.\n */\nclass MotionValue {\n setAnimation(animation) {\n this.animation = animation;\n animation === null || animation === void 0 ? void 0 : animation.finished.then(() => this.clearAnimation()).catch(() => { });\n }\n clearAnimation() {\n this.animation = this.generator = undefined;\n }\n}\n\nexport { MotionValue };\n","import { MotionValue } from '@motionone/types';\n\nconst data = new WeakMap();\nfunction getAnimationData(element) {\n if (!data.has(element)) {\n data.set(element, {\n transforms: [],\n values: new Map(),\n });\n }\n return data.get(element);\n}\nfunction getMotionValue(motionValues, name) {\n if (!motionValues.has(name)) {\n motionValues.set(name, new MotionValue());\n }\n return motionValues.get(name);\n}\n\nexport { getAnimationData, getMotionValue };\n","import { noopReturn, addUniqueItem } from '@motionone/utils';\nimport { getAnimationData } from '../data.es.js';\n\n/**\n * A list of all transformable axes. We'll use this list to generated a version\n * of each axes for each transform.\n */\nconst axes = [\"\", \"X\", \"Y\", \"Z\"];\n/**\n * An ordered array of each transformable value. By default, transform values\n * will be sorted to this order.\n */\nconst order = [\"translate\", \"scale\", \"rotate\", \"skew\"];\nconst transformAlias = {\n x: \"translateX\",\n y: \"translateY\",\n z: \"translateZ\",\n};\nconst rotation = {\n syntax: \"\",\n initialValue: \"0deg\",\n toDefaultUnit: (v) => v + \"deg\",\n};\nconst baseTransformProperties = {\n translate: {\n syntax: \"\",\n initialValue: \"0px\",\n toDefaultUnit: (v) => v + \"px\",\n },\n rotate: rotation,\n scale: {\n syntax: \"\",\n initialValue: 1,\n toDefaultUnit: noopReturn,\n },\n skew: rotation,\n};\nconst transformDefinitions = new Map();\nconst asTransformCssVar = (name) => `--motion-${name}`;\n/**\n * Generate a list of every possible transform key\n */\nconst transforms = [\"x\", \"y\", \"z\"];\norder.forEach((name) => {\n axes.forEach((axis) => {\n transforms.push(name + axis);\n transformDefinitions.set(asTransformCssVar(name + axis), baseTransformProperties[name]);\n });\n});\n/**\n * A function to use with Array.sort to sort transform keys by their default order.\n */\nconst compareTransformOrder = (a, b) => transforms.indexOf(a) - transforms.indexOf(b);\n/**\n * Provide a quick way to check if a string is the name of a transform\n */\nconst transformLookup = new Set(transforms);\nconst isTransform = (name) => transformLookup.has(name);\nconst addTransformToElement = (element, name) => {\n // Map x to translateX etc\n if (transformAlias[name])\n name = transformAlias[name];\n const { transforms } = getAnimationData(element);\n addUniqueItem(transforms, name);\n /**\n * TODO: An optimisation here could be to cache the transform in element data\n * and only update if this has changed.\n */\n element.style.transform = buildTransformTemplate(transforms);\n};\nconst buildTransformTemplate = (transforms) => transforms\n .sort(compareTransformOrder)\n .reduce(transformListToString, \"\")\n .trim();\nconst transformListToString = (template, name) => `${template} ${name}(var(${asTransformCssVar(name)}))`;\n\nexport { addTransformToElement, asTransformCssVar, axes, buildTransformTemplate, compareTransformOrder, isTransform, transformAlias, transformDefinitions };\n","import { transformDefinitions } from './transforms.es.js';\n\nconst isCssVar = (name) => name.startsWith(\"--\");\nconst registeredProperties = new Set();\nfunction registerCssVariable(name) {\n if (registeredProperties.has(name))\n return;\n registeredProperties.add(name);\n try {\n const { syntax, initialValue } = transformDefinitions.has(name)\n ? transformDefinitions.get(name)\n : {};\n CSS.registerProperty({\n name,\n inherits: false,\n syntax,\n initialValue,\n });\n }\n catch (e) { }\n}\n\nexport { isCssVar, registerCssVariable, registeredProperties };\n","const testAnimation = (keyframes, options) => document.createElement(\"div\").animate(keyframes, options);\nconst featureTests = {\n cssRegisterProperty: () => typeof CSS !== \"undefined\" &&\n Object.hasOwnProperty.call(CSS, \"registerProperty\"),\n waapi: () => Object.hasOwnProperty.call(Element.prototype, \"animate\"),\n partialKeyframes: () => {\n try {\n testAnimation({ opacity: [1] });\n }\n catch (e) {\n return false;\n }\n return true;\n },\n finished: () => Boolean(testAnimation({ opacity: [0, 1] }, { duration: 0.001 }).finished),\n linearEasing: () => {\n try {\n testAnimation({ opacity: 0 }, { easing: \"linear(0, 1)\" });\n }\n catch (e) {\n return false;\n }\n return true;\n },\n};\nconst results = {};\nconst supports = {};\nfor (const key in featureTests) {\n supports[key] = () => {\n if (results[key] === undefined)\n results[key] = featureTests[key]();\n return results[key];\n };\n}\n\nexport { supports };\n","import { isFunction, defaults, isCubicBezier, progress } from '@motionone/utils';\nimport { supports } from './feature-detection.es.js';\n\n// Create a linear easing point for every x second\nconst resolution = 0.015;\nconst generateLinearEasingPoints = (easing, duration) => {\n let points = \"\";\n const numPoints = Math.round(duration / resolution);\n for (let i = 0; i < numPoints; i++) {\n points += easing(progress(0, numPoints - 1, i)) + \", \";\n }\n return points.substring(0, points.length - 2);\n};\nconst convertEasing = (easing, duration) => {\n if (isFunction(easing)) {\n return supports.linearEasing()\n ? `linear(${generateLinearEasingPoints(easing, duration)})`\n : defaults.easing;\n }\n else {\n return isCubicBezier(easing) ? cubicBezierAsString(easing) : easing;\n }\n};\nconst cubicBezierAsString = ([a, b, c, d]) => `cubic-bezier(${a}, ${b}, ${c}, ${d})`;\n\nexport { convertEasing, cubicBezierAsString, generateLinearEasingPoints };\n","function hydrateKeyframes(keyframes, readInitialValue) {\n for (let i = 0; i < keyframes.length; i++) {\n if (keyframes[i] === null) {\n keyframes[i] = i ? keyframes[i - 1] : readInitialValue();\n }\n }\n return keyframes;\n}\nconst keyframesList = (keyframes) => Array.isArray(keyframes) ? keyframes : [keyframes];\n\nexport { hydrateKeyframes, keyframesList };\n","import { isTransform, asTransformCssVar, transformAlias } from './transforms.es.js';\n\nfunction getStyleName(key) {\n if (transformAlias[key])\n key = transformAlias[key];\n return isTransform(key) ? asTransformCssVar(key) : key;\n}\n\nexport { getStyleName };\n","import { isCssVar } from './utils/css-var.es.js';\nimport { getStyleName } from './utils/get-style-name.es.js';\nimport { transformDefinitions } from './utils/transforms.es.js';\n\nconst style = {\n get: (element, name) => {\n name = getStyleName(name);\n let value = isCssVar(name)\n ? element.style.getPropertyValue(name)\n : getComputedStyle(element)[name];\n if (!value && value !== 0) {\n const definition = transformDefinitions.get(name);\n if (definition)\n value = definition.initialValue;\n }\n return value;\n },\n set: (element, name, value) => {\n name = getStyleName(name);\n if (isCssVar(name)) {\n element.style.setProperty(name, value);\n }\n else {\n element.style[name] = value;\n }\n },\n};\n\nexport { style };\n","function stopAnimation(animation, needsCommit = true) {\n if (!animation || animation.playState === \"finished\")\n return;\n // Suppress error thrown by WAAPI\n try {\n if (animation.stop) {\n animation.stop();\n }\n else {\n needsCommit && animation.commitStyles();\n animation.cancel();\n }\n }\n catch (e) { }\n}\n\nexport { stopAnimation };\n","import { noopReturn, isString } from '@motionone/utils';\n\nfunction getUnitConverter(keyframes, definition) {\n var _a;\n let toUnit = (definition === null || definition === void 0 ? void 0 : definition.toDefaultUnit) || noopReturn;\n const finalKeyframe = keyframes[keyframes.length - 1];\n if (isString(finalKeyframe)) {\n const unit = ((_a = finalKeyframe.match(/(-?[\\d.]+)([a-z%]*)/)) === null || _a === void 0 ? void 0 : _a[2]) || \"\";\n if (unit)\n toUnit = (value) => value + unit;\n }\n return toUnit;\n}\n\nexport { getUnitConverter };\n","import { getAnimationData, getMotionValue } from './data.es.js';\nimport { isCssVar, registerCssVariable } from './utils/css-var.es.js';\nimport { defaults, isEasingGenerator, isFunction, isEasingList, isNumber, time, noop } from '@motionone/utils';\nimport { isTransform, addTransformToElement, transformDefinitions } from './utils/transforms.es.js';\nimport { convertEasing } from './utils/easing.es.js';\nimport { supports } from './utils/feature-detection.es.js';\nimport { hydrateKeyframes, keyframesList } from './utils/keyframes.es.js';\nimport { style } from './style.es.js';\nimport { getStyleName } from './utils/get-style-name.es.js';\nimport { stopAnimation } from './utils/stop-animation.es.js';\nimport { getUnitConverter } from './utils/get-unit.es.js';\n\nfunction getDevToolsRecord() {\n return window.__MOTION_DEV_TOOLS_RECORD;\n}\nfunction animateStyle(element, key, keyframesDefinition, options = {}, AnimationPolyfill) {\n const record = getDevToolsRecord();\n const isRecording = options.record !== false && record;\n let animation;\n let { duration = defaults.duration, delay = defaults.delay, endDelay = defaults.endDelay, repeat = defaults.repeat, easing = defaults.easing, persist = false, direction, offset, allowWebkitAcceleration = false, autoplay = true, } = options;\n const data = getAnimationData(element);\n const valueIsTransform = isTransform(key);\n let canAnimateNatively = supports.waapi();\n /**\n * If this is an individual transform, we need to map its\n * key to a CSS variable and update the element's transform style\n */\n valueIsTransform && addTransformToElement(element, key);\n const name = getStyleName(key);\n const motionValue = getMotionValue(data.values, name);\n /**\n * Get definition of value, this will be used to convert numerical\n * keyframes into the default value type.\n */\n const definition = transformDefinitions.get(name);\n /**\n * Stop the current animation, if any. Because this will trigger\n * commitStyles (DOM writes) and we might later trigger DOM reads,\n * this is fired now and we return a factory function to create\n * the actual animation that can get called in batch,\n */\n stopAnimation(motionValue.animation, !(isEasingGenerator(easing) && motionValue.generator) &&\n options.record !== false);\n /**\n * Batchable factory function containing all DOM reads.\n */\n return () => {\n const readInitialValue = () => { var _a, _b; return (_b = (_a = style.get(element, name)) !== null && _a !== void 0 ? _a : definition === null || definition === void 0 ? void 0 : definition.initialValue) !== null && _b !== void 0 ? _b : 0; };\n /**\n * Replace null values with the previous keyframe value, or read\n * it from the DOM if it's the first keyframe.\n */\n let keyframes = hydrateKeyframes(keyframesList(keyframesDefinition), readInitialValue);\n /**\n * Detect unit type of keyframes.\n */\n const toUnit = getUnitConverter(keyframes, definition);\n if (isEasingGenerator(easing)) {\n const custom = easing.createAnimation(keyframes, key !== \"opacity\", readInitialValue, name, motionValue);\n easing = custom.easing;\n keyframes = custom.keyframes || keyframes;\n duration = custom.duration || duration;\n }\n /**\n * If this is a CSS variable we need to register it with the browser\n * before it can be animated natively. We also set it with setProperty\n * rather than directly onto the element.style object.\n */\n if (isCssVar(name)) {\n if (supports.cssRegisterProperty()) {\n registerCssVariable(name);\n }\n else {\n canAnimateNatively = false;\n }\n }\n /**\n * If we've been passed a custom easing function, and this browser\n * does **not** support linear() easing, and the value is a transform\n * (and thus a pure number) we can still support the custom easing\n * by falling back to the animation polyfill.\n */\n if (valueIsTransform &&\n !supports.linearEasing() &&\n (isFunction(easing) || (isEasingList(easing) && easing.some(isFunction)))) {\n canAnimateNatively = false;\n }\n /**\n * If we can animate this value with WAAPI, do so.\n */\n if (canAnimateNatively) {\n /**\n * Convert numbers to default value types. Currently this only supports\n * transforms but it could also support other value types.\n */\n if (definition) {\n keyframes = keyframes.map((value) => isNumber(value) ? definition.toDefaultUnit(value) : value);\n }\n /**\n * If this browser doesn't support partial/implicit keyframes we need to\n * explicitly provide one.\n */\n if (keyframes.length === 1 &&\n (!supports.partialKeyframes() || isRecording)) {\n keyframes.unshift(readInitialValue());\n }\n const animationOptions = {\n delay: time.ms(delay),\n duration: time.ms(duration),\n endDelay: time.ms(endDelay),\n easing: !isEasingList(easing)\n ? convertEasing(easing, duration)\n : undefined,\n direction,\n iterations: repeat + 1,\n fill: \"both\",\n };\n animation = element.animate({\n [name]: keyframes,\n offset,\n easing: isEasingList(easing)\n ? easing.map((thisEasing) => convertEasing(thisEasing, duration))\n : undefined,\n }, animationOptions);\n /**\n * Polyfill finished Promise in browsers that don't support it\n */\n if (!animation.finished) {\n animation.finished = new Promise((resolve, reject) => {\n animation.onfinish = resolve;\n animation.oncancel = reject;\n });\n }\n const target = keyframes[keyframes.length - 1];\n animation.finished\n .then(() => {\n if (persist)\n return;\n // Apply styles to target\n style.set(element, name, target);\n // Ensure fill modes don't persist\n animation.cancel();\n })\n .catch(noop);\n /**\n * This forces Webkit to run animations on the main thread by exploiting\n * this condition:\n * https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp?rev=281238#L1099\n *\n * This fixes Webkit's timing bugs, like accelerated animations falling\n * out of sync with main thread animations and massive delays in starting\n * accelerated animations in WKWebView.\n */\n if (!allowWebkitAcceleration)\n animation.playbackRate = 1.000001;\n /**\n * If we can't animate the value natively then we can fallback to the numbers-only\n * polyfill for transforms.\n */\n }\n else if (AnimationPolyfill && valueIsTransform) {\n /**\n * If any keyframe is a string (because we measured it from the DOM), we need to convert\n * it into a number before passing to the Animation polyfill.\n */\n keyframes = keyframes.map((value) => typeof value === \"string\" ? parseFloat(value) : value);\n /**\n * If we only have a single keyframe, we need to create an initial keyframe by reading\n * the current value from the DOM.\n */\n if (keyframes.length === 1) {\n keyframes.unshift(parseFloat(readInitialValue()));\n }\n animation = new AnimationPolyfill((latest) => {\n style.set(element, name, toUnit ? toUnit(latest) : latest);\n }, keyframes, Object.assign(Object.assign({}, options), { duration,\n easing }));\n }\n else {\n const target = keyframes[keyframes.length - 1];\n style.set(element, name, definition && isNumber(target)\n ? definition.toDefaultUnit(target)\n : target);\n }\n if (isRecording) {\n record(element, key, keyframes, {\n duration,\n delay: delay,\n easing,\n repeat,\n offset,\n }, \"motion-one\");\n }\n motionValue.setAnimation(animation);\n if (animation && !autoplay)\n animation.pause();\n return animation;\n };\n}\n\nexport { animateStyle };\n","const getOptions = (options, key) => \n/**\n * TODO: Make test for this\n * Always return a new object otherwise delay is overwritten by results of stagger\n * and this results in no stagger\n */\noptions[key] ? Object.assign(Object.assign({}, options), options[key]) : Object.assign({}, options);\n\nexport { getOptions };\n","function resolveElements(elements, selectorCache) {\n var _a;\n if (typeof elements === \"string\") {\n if (selectorCache) {\n (_a = selectorCache[elements]) !== null && _a !== void 0 ? _a : (selectorCache[elements] = document.querySelectorAll(elements));\n elements = selectorCache[elements];\n }\n else {\n elements = document.querySelectorAll(elements);\n }\n }\n else if (elements instanceof Element) {\n elements = [elements];\n }\n /**\n * Return an empty array\n */\n return Array.from(elements || []);\n}\n\nexport { resolveElements };\n","import { defaults, noop, time } from '@motionone/utils';\nimport { stopAnimation } from './stop-animation.es.js';\n\nconst createAnimation = (factory) => factory();\nconst withControls = (animationFactory, options, duration = defaults.duration) => {\n return new Proxy({\n animations: animationFactory.map(createAnimation).filter(Boolean),\n duration,\n options,\n }, controls);\n};\n/**\n * TODO:\n * Currently this returns the first animation, ideally it would return\n * the first active animation.\n */\nconst getActiveAnimation = (state) => state.animations[0];\nconst controls = {\n get: (target, key) => {\n const activeAnimation = getActiveAnimation(target);\n switch (key) {\n case \"duration\":\n return target.duration;\n case \"currentTime\":\n return time.s((activeAnimation === null || activeAnimation === void 0 ? void 0 : activeAnimation[key]) || 0);\n case \"playbackRate\":\n case \"playState\":\n return activeAnimation === null || activeAnimation === void 0 ? void 0 : activeAnimation[key];\n case \"finished\":\n if (!target.finished) {\n target.finished = Promise.all(target.animations.map(selectFinished)).catch(noop);\n }\n return target.finished;\n case \"stop\":\n return () => {\n target.animations.forEach((animation) => stopAnimation(animation));\n };\n case \"forEachNative\":\n /**\n * This is for internal use only, fire a callback for each\n * underlying animation.\n */\n return (callback) => {\n target.animations.forEach((animation) => callback(animation, target));\n };\n default:\n return typeof (activeAnimation === null || activeAnimation === void 0 ? void 0 : activeAnimation[key]) === \"undefined\"\n ? undefined\n : () => target.animations.forEach((animation) => animation[key]());\n }\n },\n set: (target, key, value) => {\n switch (key) {\n case \"currentTime\":\n value = time.ms(value);\n // Fall-through\n case \"playbackRate\":\n for (let i = 0; i < target.animations.length; i++) {\n target.animations[i][key] = value;\n }\n return true;\n }\n return false;\n },\n};\nconst selectFinished = (animation) => animation.finished;\n\nexport { controls, withControls };\n","import { isNumber, isFunction } from '@motionone/utils';\nimport { getEasingFunction } from '@motionone/animation';\n\nfunction stagger(duration = 0.1, { start = 0, from = 0, easing } = {}) {\n return (i, total) => {\n const fromIndex = isNumber(from) ? from : getFromIndex(from, total);\n const distance = Math.abs(fromIndex - i);\n let delay = duration * distance;\n if (easing) {\n const maxDelay = total * duration;\n const easingFunction = getEasingFunction(easing);\n delay = easingFunction(delay / maxDelay) * maxDelay;\n }\n return start + delay;\n };\n}\nfunction getFromIndex(from, total) {\n if (from === \"first\") {\n return 0;\n }\n else {\n const lastIndex = total - 1;\n return from === \"last\" ? lastIndex : lastIndex / 2;\n }\n}\nfunction resolveOption(option, i, total) {\n return isFunction(option) ? option(i, total) : option;\n}\n\nexport { getFromIndex, resolveOption, stagger };\n","import { invariant } from 'hey-listen';\nimport { animateStyle } from './animate-style.es.js';\nimport { getOptions } from './utils/options.es.js';\nimport { resolveElements } from '../utils/resolve-elements.es.js';\nimport { withControls } from './utils/controls.es.js';\nimport { resolveOption } from '../utils/stagger.es.js';\n\nfunction createAnimate(AnimatePolyfill) {\n return function animate(elements, keyframes, options = {}) {\n elements = resolveElements(elements);\n const numElements = elements.length;\n invariant(Boolean(numElements), \"No valid element provided.\");\n invariant(Boolean(keyframes), \"No keyframes defined.\");\n /**\n * Create and start new animations\n */\n const animationFactories = [];\n for (let i = 0; i < numElements; i++) {\n const element = elements[i];\n for (const key in keyframes) {\n const valueOptions = getOptions(options, key);\n valueOptions.delay = resolveOption(valueOptions.delay, i, numElements);\n const animation = animateStyle(element, key, keyframes[key], valueOptions, AnimatePolyfill);\n animationFactories.push(animation);\n }\n }\n return withControls(animationFactories, options, \n /**\n * TODO:\n * If easing is set to spring or glide, duration will be dynamically\n * generated. Ideally we would dynamically generate this from\n * animation.effect.getComputedTiming().duration but this isn't\n * supported in iOS13 or our number polyfill. Perhaps it's possible\n * to Proxy animations returned from animateStyle that has duration\n * as a getter.\n */\n options.duration);\n };\n}\n\nexport { createAnimate };\n","import { Animation } from '@motionone/animation';\nimport { createAnimate } from './create-animate.es.js';\n\nconst animate = createAnimate(Animation);\n\nexport { animate };\n","import { animate as animate$1, withControls } from '@motionone/dom';\nimport { isFunction } from '@motionone/utils';\nimport { Animation } from '@motionone/animation';\n\nfunction animateProgress(target, options = {}) {\n return withControls([\n () => {\n const animation = new Animation(target, [0, 1], options);\n animation.finished.catch(() => { });\n return animation;\n },\n ], options, options.duration);\n}\nfunction animate(target, keyframesOrOptions, options) {\n const factory = isFunction(target) ? animateProgress : animate$1;\n return factory(target, keyframesOrOptions, options);\n}\n\nexport { animate, animateProgress };\n","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const l=l=>null!=l?l:t;export{l as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","import{css as g,LitElement as w,html as n,svg as pe}from\"lit\";import{property as d,customElement as p,state as I}from\"lit/decorators.js\";import{classMap as P}from\"lit/directives/class-map.js\";import{ThemeCtrl as X,ModalCtrl as ge,RouterCtrl as x,ConfigCtrl as z,ExplorerCtrl as W,CoreUtil as m,OptionsCtrl as R,ToastCtrl as N,EventsCtrl as Xe}from\"@walletconnect/modal-core\";import{svg as C}from\"lit-html\";import{animate as H}from\"motion\";import{ifDefined as k}from\"lit/directives/if-defined.js\";import Je from\"qrcode\";var et=Object.defineProperty,Be=Object.getOwnPropertySymbols,tt=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable,Ue=(e,o,r)=>o in e?et(e,o,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[o]=r,ve=(e,o)=>{for(var r in o||(o={}))tt.call(o,r)&&Ue(e,r,o[r]);if(Be)for(var r of Be(o))ot.call(o,r)&&Ue(e,r,o[r]);return e};function rt(){var e;const o=(e=X.state.themeMode)!=null?e:\"dark\",r={light:{foreground:{1:\"rgb(20,20,20)\",2:\"rgb(121,134,134)\",3:\"rgb(158,169,169)\"},background:{1:\"rgb(255,255,255)\",2:\"rgb(241,243,243)\",3:\"rgb(228,231,231)\"},overlay:\"rgba(0,0,0,0.1)\"},dark:{foreground:{1:\"rgb(228,231,231)\",2:\"rgb(148,158,158)\",3:\"rgb(110,119,119)\"},background:{1:\"rgb(20,20,20)\",2:\"rgb(39,42,42)\",3:\"rgb(59,64,64)\"},overlay:\"rgba(255,255,255,0.1)\"}}[o];return{\"--wcm-color-fg-1\":r.foreground[1],\"--wcm-color-fg-2\":r.foreground[2],\"--wcm-color-fg-3\":r.foreground[3],\"--wcm-color-bg-1\":r.background[1],\"--wcm-color-bg-2\":r.background[2],\"--wcm-color-bg-3\":r.background[3],\"--wcm-color-overlay\":r.overlay}}function He(){return{\"--wcm-accent-color\":\"#3396FF\",\"--wcm-accent-fill-color\":\"#FFFFFF\",\"--wcm-z-index\":\"89\",\"--wcm-background-color\":\"#3396FF\",\"--wcm-background-border-radius\":\"8px\",\"--wcm-container-border-radius\":\"30px\",\"--wcm-wallet-icon-border-radius\":\"15px\",\"--wcm-wallet-icon-large-border-radius\":\"30px\",\"--wcm-wallet-icon-small-border-radius\":\"7px\",\"--wcm-input-border-radius\":\"28px\",\"--wcm-button-border-radius\":\"10px\",\"--wcm-notification-border-radius\":\"36px\",\"--wcm-secondary-button-border-radius\":\"28px\",\"--wcm-icon-button-border-radius\":\"50%\",\"--wcm-button-hover-highlight-border-radius\":\"10px\",\"--wcm-text-big-bold-size\":\"20px\",\"--wcm-text-big-bold-weight\":\"600\",\"--wcm-text-big-bold-line-height\":\"24px\",\"--wcm-text-big-bold-letter-spacing\":\"-0.03em\",\"--wcm-text-big-bold-text-transform\":\"none\",\"--wcm-text-xsmall-bold-size\":\"10px\",\"--wcm-text-xsmall-bold-weight\":\"700\",\"--wcm-text-xsmall-bold-line-height\":\"12px\",\"--wcm-text-xsmall-bold-letter-spacing\":\"0.02em\",\"--wcm-text-xsmall-bold-text-transform\":\"uppercase\",\"--wcm-text-xsmall-regular-size\":\"12px\",\"--wcm-text-xsmall-regular-weight\":\"600\",\"--wcm-text-xsmall-regular-line-height\":\"14px\",\"--wcm-text-xsmall-regular-letter-spacing\":\"-0.03em\",\"--wcm-text-xsmall-regular-text-transform\":\"none\",\"--wcm-text-small-thin-size\":\"14px\",\"--wcm-text-small-thin-weight\":\"500\",\"--wcm-text-small-thin-line-height\":\"16px\",\"--wcm-text-small-thin-letter-spacing\":\"-0.03em\",\"--wcm-text-small-thin-text-transform\":\"none\",\"--wcm-text-small-regular-size\":\"14px\",\"--wcm-text-small-regular-weight\":\"600\",\"--wcm-text-small-regular-line-height\":\"16px\",\"--wcm-text-small-regular-letter-spacing\":\"-0.03em\",\"--wcm-text-small-regular-text-transform\":\"none\",\"--wcm-text-medium-regular-size\":\"16px\",\"--wcm-text-medium-regular-weight\":\"600\",\"--wcm-text-medium-regular-line-height\":\"20px\",\"--wcm-text-medium-regular-letter-spacing\":\"-0.03em\",\"--wcm-text-medium-regular-text-transform\":\"none\",\"--wcm-font-family\":\"-apple-system, system-ui, BlinkMacSystemFont, 'Segoe UI', Roboto, Ubuntu, 'Helvetica Neue', sans-serif\",\"--wcm-font-feature-settings\":\"'tnum' on, 'lnum' on, 'case' on\",\"--wcm-success-color\":\"rgb(38,181,98)\",\"--wcm-error-color\":\"rgb(242, 90, 103)\",\"--wcm-overlay-background-color\":\"rgba(0, 0, 0, 0.3)\",\"--wcm-overlay-backdrop-filter\":\"none\"}}const h={getPreset(e){return He()[e]},setTheme(){const e=document.querySelector(\":root\"),{themeVariables:o}=X.state;if(e){const r=ve(ve(ve({},rt()),He()),o);Object.entries(r).forEach(([a,t])=>e.style.setProperty(a,t))}},globalCss:g`*,::after,::before{margin:0;padding:0;box-sizing:border-box;font-style:normal;text-rendering:optimizeSpeed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;backface-visibility:hidden}button{cursor:pointer;display:flex;justify-content:center;align-items:center;position:relative;border:none;background-color:transparent;transition:all .2s ease}@media (hover:hover) and (pointer:fine){button:active{transition:all .1s ease;transform:scale(.93)}}button::after{content:'';position:absolute;top:0;bottom:0;left:0;right:0;transition:background-color,.2s ease}button:disabled{cursor:not-allowed}button svg,button wcm-text{position:relative;z-index:1}input{border:none;outline:0;appearance:none}img{display:block}::selection{color:var(--wcm-accent-fill-color);background:var(--wcm-accent-color)}`},at=g`button{border-radius:var(--wcm-secondary-button-border-radius);height:28px;padding:0 10px;background-color:var(--wcm-accent-color)}button path{fill:var(--wcm-accent-fill-color)}button::after{border-radius:inherit;border:1px solid var(--wcm-color-overlay)}button:disabled::after{background-color:transparent}.wcm-icon-left svg{margin-right:5px}.wcm-icon-right svg{margin-left:5px}button:active::after{background-color:var(--wcm-color-overlay)}.wcm-ghost,.wcm-ghost:active::after,.wcm-outline{background-color:transparent}.wcm-ghost:active{opacity:.5}@media(hover:hover){button:hover::after{background-color:var(--wcm-color-overlay)}.wcm-ghost:hover::after{background-color:transparent}.wcm-ghost:hover{opacity:.5}}button:disabled{background-color:var(--wcm-color-bg-3);pointer-events:none}.wcm-ghost::after{border-color:transparent}.wcm-ghost path{fill:var(--wcm-color-fg-2)}.wcm-outline path{fill:var(--wcm-accent-color)}.wcm-outline:disabled{background-color:transparent;opacity:.5}`;var lt=Object.defineProperty,it=Object.getOwnPropertyDescriptor,F=(e,o,r,a)=>{for(var t=a>1?void 0:a?it(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&<(o,r,t),t};let T=class extends w{constructor(){super(...arguments),this.disabled=!1,this.iconLeft=void 0,this.iconRight=void 0,this.onClick=()=>null,this.variant=\"default\"}render(){const e={\"wcm-icon-left\":this.iconLeft!==void 0,\"wcm-icon-right\":this.iconRight!==void 0,\"wcm-ghost\":this.variant===\"ghost\",\"wcm-outline\":this.variant===\"outline\"};let o=\"inverse\";return this.variant===\"ghost\"&&(o=\"secondary\"),this.variant===\"outline\"&&(o=\"accent\"),n``}};T.styles=[h.globalCss,at],F([d({type:Boolean})],T.prototype,\"disabled\",2),F([d()],T.prototype,\"iconLeft\",2),F([d()],T.prototype,\"iconRight\",2),F([d()],T.prototype,\"onClick\",2),F([d()],T.prototype,\"variant\",2),T=F([p(\"wcm-button\")],T);const nt=g`:host{display:inline-block}button{padding:0 15px 1px;height:40px;border-radius:var(--wcm-button-border-radius);color:var(--wcm-accent-fill-color);background-color:var(--wcm-accent-color)}button::after{content:'';top:0;bottom:0;left:0;right:0;position:absolute;background-color:transparent;border-radius:inherit;transition:background-color .2s ease;border:1px solid var(--wcm-color-overlay)}button:active::after{background-color:var(--wcm-color-overlay)}button:disabled{padding-bottom:0;background-color:var(--wcm-color-bg-3);color:var(--wcm-color-fg-3)}.wcm-secondary{color:var(--wcm-accent-color);background-color:transparent}.wcm-secondary::after{display:none}@media(hover:hover){button:hover::after{background-color:var(--wcm-color-overlay)}}`;var ct=Object.defineProperty,st=Object.getOwnPropertyDescriptor,ue=(e,o,r,a)=>{for(var t=a>1?void 0:a?st(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&ct(o,r,t),t};let ee=class extends w{constructor(){super(...arguments),this.disabled=!1,this.variant=\"primary\"}render(){const e={\"wcm-secondary\":this.variant===\"secondary\"};return n``}};ee.styles=[h.globalCss,nt],ue([d({type:Boolean})],ee.prototype,\"disabled\",2),ue([d()],ee.prototype,\"variant\",2),ee=ue([p(\"wcm-button-big\")],ee);const dt=g`:host{background-color:var(--wcm-color-bg-2);border-top:1px solid var(--wcm-color-bg-3)}div{padding:10px 20px;display:inherit;flex-direction:inherit;align-items:inherit;width:inherit;justify-content:inherit}`;var mt=Object.defineProperty,ht=Object.getOwnPropertyDescriptor,wt=(e,o,r,a)=>{for(var t=a>1?void 0:a?ht(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&mt(o,r,t),t};let be=class extends w{render(){return n`
`}};be.styles=[h.globalCss,dt],be=wt([p(\"wcm-info-footer\")],be);const v={CROSS_ICON:C``,WALLET_CONNECT_LOGO:C``,WALLET_CONNECT_ICON:C``,WALLET_CONNECT_ICON_COLORED:C``,BACK_ICON:C``,COPY_ICON:C``,RETRY_ICON:C``,DESKTOP_ICON:C``,MOBILE_ICON:C``,ARROW_DOWN_ICON:C``,ARROW_UP_RIGHT_ICON:C``,ARROW_RIGHT_ICON:C``,QRCODE_ICON:C``,SCAN_ICON:C``,CHECKMARK_ICON:C``,SEARCH_ICON:C``,WALLET_PLACEHOLDER:C``,GLOBE_ICON:C``},pt=g`.wcm-toolbar-placeholder{top:0;bottom:0;left:0;right:0;width:100%;position:absolute;display:block;pointer-events:none;height:100px;border-radius:calc(var(--wcm-background-border-radius) * .9);background-color:var(--wcm-background-color);background-position:center;background-size:cover}.wcm-toolbar{height:38px;display:flex;position:relative;margin:5px 15px 5px 5px;justify-content:space-between;align-items:center}.wcm-toolbar img,.wcm-toolbar svg{height:28px;object-position:left center;object-fit:contain}#wcm-wc-logo path{fill:var(--wcm-accent-fill-color)}button{width:28px;height:28px;border-radius:var(--wcm-icon-button-border-radius);border:0;display:flex;justify-content:center;align-items:center;cursor:pointer;background-color:var(--wcm-color-bg-1);box-shadow:0 0 0 1px var(--wcm-color-overlay)}button:active{background-color:var(--wcm-color-bg-2)}button svg{display:block;object-position:center}button path{fill:var(--wcm-color-fg-1)}.wcm-toolbar div{display:flex}@media(hover:hover){button:hover{background-color:var(--wcm-color-bg-2)}}`;var gt=Object.defineProperty,vt=Object.getOwnPropertyDescriptor,ut=(e,o,r,a)=>{for(var t=a>1?void 0:a?vt(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&>(o,r,t),t};let fe=class extends w{render(){return n`
${v.WALLET_CONNECT_LOGO}
`}};fe.styles=[h.globalCss,pt],fe=ut([p(\"wcm-modal-backcard\")],fe);const bt=g`main{padding:20px;padding-top:0;width:100%}`;var ft=Object.defineProperty,xt=Object.getOwnPropertyDescriptor,yt=(e,o,r,a)=>{for(var t=a>1?void 0:a?xt(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&ft(o,r,t),t};let xe=class extends w{render(){return n`
`}};xe.styles=[h.globalCss,bt],xe=yt([p(\"wcm-modal-content\")],xe);const $t=g`footer{padding:10px;display:flex;flex-direction:column;align-items:inherit;justify-content:inherit;border-top:1px solid var(--wcm-color-bg-2)}`;var Ct=Object.defineProperty,kt=Object.getOwnPropertyDescriptor,Ot=(e,o,r,a)=>{for(var t=a>1?void 0:a?kt(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Ct(o,r,t),t};let ye=class extends w{render(){return n`
`}};ye.styles=[h.globalCss,$t],ye=Ot([p(\"wcm-modal-footer\")],ye);const Wt=g`header{display:flex;justify-content:center;align-items:center;padding:20px;position:relative}.wcm-border{border-bottom:1px solid var(--wcm-color-bg-2);margin-bottom:20px}header button{padding:15px 20px}header button:active{opacity:.5}@media(hover:hover){header button:hover{opacity:.5}}.wcm-back-btn{position:absolute;left:0}.wcm-action-btn{position:absolute;right:0}path{fill:var(--wcm-accent-color)}`;var It=Object.defineProperty,Et=Object.getOwnPropertyDescriptor,te=(e,o,r,a)=>{for(var t=a>1?void 0:a?Et(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&It(o,r,t),t};let S=class extends w{constructor(){super(...arguments),this.title=\"\",this.onAction=void 0,this.actionIcon=void 0,this.border=!1}backBtnTemplate(){return n``}actionBtnTemplate(){return n``}render(){const e={\"wcm-border\":this.border},o=x.state.history.length>1,r=this.title?n`${this.title}`:n``;return n`
${o?this.backBtnTemplate():null} ${r} ${this.onAction?this.actionBtnTemplate():null}
`}};S.styles=[h.globalCss,Wt],te([d()],S.prototype,\"title\",2),te([d()],S.prototype,\"onAction\",2),te([d()],S.prototype,\"actionIcon\",2),te([d({type:Boolean})],S.prototype,\"border\",2),S=te([p(\"wcm-modal-header\")],S);const c={MOBILE_BREAKPOINT:600,WCM_RECENT_WALLET_DATA:\"WCM_RECENT_WALLET_DATA\",EXPLORER_WALLET_URL:\"https://explorer.walletconnect.com/?type=wallet\",getShadowRootElement(e,o){const r=e.renderRoot.querySelector(o);if(!r)throw new Error(`${o} not found`);return r},getWalletIcon({id:e,image_id:o}){const{walletImages:r}=z.state;return r!=null&&r[e]?r[e]:o?W.getWalletImageUrl(o):\"\"},getWalletName(e,o=!1){return o&&e.length>8?`${e.substring(0,8)}..`:e},isMobileAnimation(){return window.innerWidth<=c.MOBILE_BREAKPOINT},async preloadImage(e){const o=new Promise((r,a)=>{const t=new Image;t.onload=r,t.onerror=a,t.crossOrigin=\"anonymous\",t.src=e});return Promise.race([o,m.wait(3e3)])},getErrorMessage(e){return e instanceof Error?e.message:\"Unknown Error\"},debounce(e,o=500){let r;return(...a)=>{function t(){e(...a)}r&&clearTimeout(r),r=setTimeout(t,o)}},handleMobileLinking(e){const{walletConnectUri:o}=R.state,{mobile:r,name:a}=e,t=r?.native,l=r?.universal;c.setRecentWallet(e);function i(s){let $=\"\";t?$=m.formatUniversalUrl(t,s,a):l&&($=m.formatNativeUrl(l,s,a)),m.openHref($,\"_self\")}o&&i(o)},handleAndroidLinking(){const{walletConnectUri:e}=R.state;e&&(m.setWalletConnectAndroidDeepLink(e),m.openHref(e,\"_self\"))},async handleUriCopy(){const{walletConnectUri:e}=R.state;if(e)try{await navigator.clipboard.writeText(e),N.openToast(\"Link copied\",\"success\")}catch{N.openToast(\"Failed to copy\",\"error\")}},getCustomImageUrls(){const{walletImages:e}=z.state,o=Object.values(e??{});return Object.values(o)},truncate(e,o=8){return e.length<=o?e:`${e.substring(0,4)}...${e.substring(e.length-4)}`},setRecentWallet(e){try{localStorage.setItem(c.WCM_RECENT_WALLET_DATA,JSON.stringify(e))}catch{console.info(\"Unable to set recent wallet\")}},getRecentWallet(){try{const e=localStorage.getItem(c.WCM_RECENT_WALLET_DATA);return e?JSON.parse(e):void 0}catch{console.info(\"Unable to get recent wallet\")}},caseSafeIncludes(e,o){return e.toUpperCase().includes(o.toUpperCase())},openWalletExplorerUrl(){m.openHref(c.EXPLORER_WALLET_URL,\"_blank\")},getCachedRouterWalletPlatforms(){const{desktop:e,mobile:o}=m.getWalletRouterData(),r=Boolean(e?.native),a=Boolean(e?.universal),t=Boolean(o?.native)||Boolean(o?.universal);return{isDesktop:r,isMobile:t,isWeb:a}},goToConnectingView(e){x.setData({Wallet:e});const o=m.isMobile(),{isDesktop:r,isWeb:a,isMobile:t}=c.getCachedRouterWalletPlatforms();o?t?x.push(\"MobileConnecting\"):a?x.push(\"WebConnecting\"):x.push(\"InstallWallet\"):r?x.push(\"DesktopConnecting\"):a?x.push(\"WebConnecting\"):t?x.push(\"MobileQrcodeConnecting\"):x.push(\"InstallWallet\")}},Mt=g`.wcm-router{overflow:hidden;will-change:transform}.wcm-content{display:flex;flex-direction:column}`;var Lt=Object.defineProperty,Rt=Object.getOwnPropertyDescriptor,$e=(e,o,r,a)=>{for(var t=a>1?void 0:a?Rt(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Lt(o,r,t),t};let oe=class extends w{constructor(){super(),this.view=x.state.view,this.prevView=x.state.view,this.unsubscribe=void 0,this.oldHeight=\"0px\",this.resizeObserver=void 0,this.unsubscribe=x.subscribe(e=>{this.view!==e.view&&this.onChangeRoute()})}firstUpdated(){this.resizeObserver=new ResizeObserver(([e])=>{const o=`${e.contentRect.height}px`;this.oldHeight!==\"0px\"&&H(this.routerEl,{height:[this.oldHeight,o]},{duration:.2}),this.oldHeight=o}),this.resizeObserver.observe(this.contentEl)}disconnectedCallback(){var e,o;(e=this.unsubscribe)==null||e.call(this),(o=this.resizeObserver)==null||o.disconnect()}get routerEl(){return c.getShadowRootElement(this,\".wcm-router\")}get contentEl(){return c.getShadowRootElement(this,\".wcm-content\")}viewTemplate(){switch(this.view){case\"ConnectWallet\":return n``;case\"DesktopConnecting\":return n``;case\"MobileConnecting\":return n``;case\"WebConnecting\":return n``;case\"MobileQrcodeConnecting\":return n``;case\"WalletExplorer\":return n``;case\"Qrcode\":return n``;case\"InstallWallet\":return n``;default:return n`
Not Found
`}}async onChangeRoute(){await H(this.routerEl,{opacity:[1,0],scale:[1,1.02]},{duration:.15,delay:.1}).finished,this.view=x.state.view,H(this.routerEl,{opacity:[0,1],scale:[.99,1]},{duration:.37,delay:.05})}render(){return n`
${this.viewTemplate()}
`}};oe.styles=[h.globalCss,Mt],$e([I()],oe.prototype,\"view\",2),$e([I()],oe.prototype,\"prevView\",2),oe=$e([p(\"wcm-modal-router\")],oe);const At=g`div{height:36px;width:max-content;display:flex;justify-content:center;align-items:center;padding:9px 15px 11px;position:absolute;top:12px;box-shadow:0 6px 14px -6px rgba(10,16,31,.3),0 10px 32px -4px rgba(10,16,31,.15);z-index:2;left:50%;transform:translateX(-50%);pointer-events:none;backdrop-filter:blur(20px) saturate(1.8);-webkit-backdrop-filter:blur(20px) saturate(1.8);border-radius:var(--wcm-notification-border-radius);border:1px solid var(--wcm-color-overlay);background-color:var(--wcm-color-overlay)}svg{margin-right:5px}@-moz-document url-prefix(){div{background-color:var(--wcm-color-bg-3)}}.wcm-success path{fill:var(--wcm-accent-color)}.wcm-error path{fill:var(--wcm-error-color)}`;var Pt=Object.defineProperty,Tt=Object.getOwnPropertyDescriptor,ze=(e,o,r,a)=>{for(var t=a>1?void 0:a?Tt(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Pt(o,r,t),t};let ne=class extends w{constructor(){super(),this.open=!1,this.unsubscribe=void 0,this.timeout=void 0,this.unsubscribe=N.subscribe(e=>{e.open?(this.open=!0,this.timeout=setTimeout(()=>N.closeToast(),2200)):(this.open=!1,clearTimeout(this.timeout))})}disconnectedCallback(){var e;(e=this.unsubscribe)==null||e.call(this),clearTimeout(this.timeout),N.closeToast()}render(){const{message:e,variant:o}=N.state,r={\"wcm-success\":o===\"success\",\"wcm-error\":o===\"error\"};return this.open?n`
${o===\"success\"?v.CHECKMARK_ICON:null} ${o===\"error\"?v.CROSS_ICON:null}${e}
`:null}};ne.styles=[h.globalCss,At],ze([I()],ne.prototype,\"open\",2),ne=ze([p(\"wcm-modal-toast\")],ne);const jt=.1,Ve=2.5,A=7;function Ce(e,o,r){return e===o?!1:(e-o<0?o-e:e-o)<=r+jt}function _t(e,o){const r=Array.prototype.slice.call(Je.create(e,{errorCorrectionLevel:o}).modules.data,0),a=Math.sqrt(r.length);return r.reduce((t,l,i)=>(i%a===0?t.push([l]):t[t.length-1].push(l))&&t,[])}const Dt={generate(e,o,r){const a=\"#141414\",t=\"#ffffff\",l=[],i=_t(e,\"Q\"),s=o/i.length,$=[{x:0,y:0},{x:1,y:0},{x:0,y:1}];$.forEach(({x:y,y:u})=>{const O=(i.length-A)*s*y,b=(i.length-A)*s*u,E=.45;for(let M=0;M<$.length;M+=1){const V=s*(A-M*2);l.push(pe``)}});const f=Math.floor((r+25)/s),Ne=i.length/2-f/2,Ze=i.length/2+f/2-1,Se=[];i.forEach((y,u)=>{y.forEach((O,b)=>{if(i[u][b]&&!(ui.length-(A+1)&&bi.length-(A+1))&&!(u>Ne&&uNe&&b{J[y]?J[y].push(u):J[y]=[u]}),Object.entries(J).map(([y,u])=>{const O=u.filter(b=>u.every(E=>!Ce(b,E,s)));return[Number(y),O]}).forEach(([y,u])=>{u.forEach(O=>{l.push(pe``)})}),Object.entries(J).filter(([y,u])=>u.length>1).map(([y,u])=>{const O=u.filter(b=>u.some(E=>Ce(b,E,s)));return[Number(y),O]}).map(([y,u])=>{u.sort((b,E)=>bM.some(V=>Ce(b,V,s)));E?E.push(b):O.push([b])}return[y,O.map(b=>[b[0],b[b.length-1]])]}).forEach(([y,u])=>{u.forEach(([O,b])=>{l.push(pe``)})}),l}},Nt=g`@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}div{position:relative;user-select:none;display:block;overflow:hidden;aspect-ratio:1/1;animation:fadeIn ease .2s}.wcm-dark{background-color:#fff;border-radius:var(--wcm-container-border-radius);padding:18px;box-shadow:0 2px 5px #000}svg:first-child,wcm-wallet-image{position:absolute;top:50%;left:50%;transform:translateY(-50%) translateX(-50%)}wcm-wallet-image{transform:translateY(-50%) translateX(-50%)}wcm-wallet-image{width:25%;height:25%;border-radius:var(--wcm-wallet-icon-border-radius)}svg:first-child{transform:translateY(-50%) translateX(-50%) scale(.9)}svg:first-child path:first-child{fill:var(--wcm-accent-color)}svg:first-child path:last-child{stroke:var(--wcm-color-overlay)}`;var Zt=Object.defineProperty,St=Object.getOwnPropertyDescriptor,q=(e,o,r,a)=>{for(var t=a>1?void 0:a?St(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Zt(o,r,t),t};let j=class extends w{constructor(){super(...arguments),this.uri=\"\",this.size=0,this.imageId=void 0,this.walletId=void 0,this.imageUrl=void 0}svgTemplate(){const e=X.state.themeMode===\"light\"?this.size:this.size-36;return pe`${Dt.generate(this.uri,e,e/4)}`}render(){const e={\"wcm-dark\":X.state.themeMode===\"dark\"};return n`
${this.walletId||this.imageUrl?n``:v.WALLET_CONNECT_ICON_COLORED} ${this.svgTemplate()}
`}};j.styles=[h.globalCss,Nt],q([d()],j.prototype,\"uri\",2),q([d({type:Number})],j.prototype,\"size\",2),q([d()],j.prototype,\"imageId\",2),q([d()],j.prototype,\"walletId\",2),q([d()],j.prototype,\"imageUrl\",2),j=q([p(\"wcm-qrcode\")],j);const Bt=g`:host{position:relative;height:28px;width:80%}input{width:100%;height:100%;line-height:28px!important;border-radius:var(--wcm-input-border-radius);font-style:normal;font-family:-apple-system,system-ui,BlinkMacSystemFont,'Segoe UI',Roboto,Ubuntu,'Helvetica Neue',sans-serif;font-feature-settings:'case' on;font-weight:500;font-size:16px;letter-spacing:-.03em;padding:0 10px 0 34px;transition:.2s all ease;color:var(--wcm-color-fg-1);background-color:var(--wcm-color-bg-3);box-shadow:inset 0 0 0 1px var(--wcm-color-overlay);caret-color:var(--wcm-accent-color)}input::placeholder{color:var(--wcm-color-fg-2)}svg{left:10px;top:4px;pointer-events:none;position:absolute;width:20px;height:20px}input:focus-within{box-shadow:inset 0 0 0 1px var(--wcm-accent-color)}path{fill:var(--wcm-color-fg-2)}`;var Ut=Object.defineProperty,Ht=Object.getOwnPropertyDescriptor,Fe=(e,o,r,a)=>{for(var t=a>1?void 0:a?Ht(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Ut(o,r,t),t};let ce=class extends w{constructor(){super(...arguments),this.onChange=()=>null}render(){return n` ${v.SEARCH_ICON}`}};ce.styles=[h.globalCss,Bt],Fe([d()],ce.prototype,\"onChange\",2),ce=Fe([p(\"wcm-search-input\")],ce);const zt=g`@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}svg{animation:rotate 2s linear infinite;display:flex;justify-content:center;align-items:center}svg circle{stroke-linecap:round;animation:dash 1.5s ease infinite;stroke:var(--wcm-accent-color)}`;var Vt=Object.defineProperty,Ft=Object.getOwnPropertyDescriptor,qt=(e,o,r,a)=>{for(var t=a>1?void 0:a?Ft(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Vt(o,r,t),t};let ke=class extends w{render(){return n``}};ke.styles=[h.globalCss,zt],ke=qt([p(\"wcm-spinner\")],ke);const Qt=g`span{font-style:normal;font-family:var(--wcm-font-family);font-feature-settings:var(--wcm-font-feature-settings)}.wcm-xsmall-bold{font-family:var(--wcm-text-xsmall-bold-font-family);font-weight:var(--wcm-text-xsmall-bold-weight);font-size:var(--wcm-text-xsmall-bold-size);line-height:var(--wcm-text-xsmall-bold-line-height);letter-spacing:var(--wcm-text-xsmall-bold-letter-spacing);text-transform:var(--wcm-text-xsmall-bold-text-transform)}.wcm-xsmall-regular{font-family:var(--wcm-text-xsmall-regular-font-family);font-weight:var(--wcm-text-xsmall-regular-weight);font-size:var(--wcm-text-xsmall-regular-size);line-height:var(--wcm-text-xsmall-regular-line-height);letter-spacing:var(--wcm-text-xsmall-regular-letter-spacing);text-transform:var(--wcm-text-xsmall-regular-text-transform)}.wcm-small-thin{font-family:var(--wcm-text-small-thin-font-family);font-weight:var(--wcm-text-small-thin-weight);font-size:var(--wcm-text-small-thin-size);line-height:var(--wcm-text-small-thin-line-height);letter-spacing:var(--wcm-text-small-thin-letter-spacing);text-transform:var(--wcm-text-small-thin-text-transform)}.wcm-small-regular{font-family:var(--wcm-text-small-regular-font-family);font-weight:var(--wcm-text-small-regular-weight);font-size:var(--wcm-text-small-regular-size);line-height:var(--wcm-text-small-regular-line-height);letter-spacing:var(--wcm-text-small-regular-letter-spacing);text-transform:var(--wcm-text-small-regular-text-transform)}.wcm-medium-regular{font-family:var(--wcm-text-medium-regular-font-family);font-weight:var(--wcm-text-medium-regular-weight);font-size:var(--wcm-text-medium-regular-size);line-height:var(--wcm-text-medium-regular-line-height);letter-spacing:var(--wcm-text-medium-regular-letter-spacing);text-transform:var(--wcm-text-medium-regular-text-transform)}.wcm-big-bold{font-family:var(--wcm-text-big-bold-font-family);font-weight:var(--wcm-text-big-bold-weight);font-size:var(--wcm-text-big-bold-size);line-height:var(--wcm-text-big-bold-line-height);letter-spacing:var(--wcm-text-big-bold-letter-spacing);text-transform:var(--wcm-text-big-bold-text-transform)}:host(*){color:var(--wcm-color-fg-1)}.wcm-color-primary{color:var(--wcm-color-fg-1)}.wcm-color-secondary{color:var(--wcm-color-fg-2)}.wcm-color-tertiary{color:var(--wcm-color-fg-3)}.wcm-color-inverse{color:var(--wcm-accent-fill-color)}.wcm-color-accnt{color:var(--wcm-accent-color)}.wcm-color-error{color:var(--wcm-error-color)}`;var Kt=Object.defineProperty,Yt=Object.getOwnPropertyDescriptor,Oe=(e,o,r,a)=>{for(var t=a>1?void 0:a?Yt(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Kt(o,r,t),t};let re=class extends w{constructor(){super(...arguments),this.variant=\"medium-regular\",this.color=\"primary\"}render(){const e={\"wcm-big-bold\":this.variant===\"big-bold\",\"wcm-medium-regular\":this.variant===\"medium-regular\",\"wcm-small-regular\":this.variant===\"small-regular\",\"wcm-small-thin\":this.variant===\"small-thin\",\"wcm-xsmall-regular\":this.variant===\"xsmall-regular\",\"wcm-xsmall-bold\":this.variant===\"xsmall-bold\",\"wcm-color-primary\":this.color===\"primary\",\"wcm-color-secondary\":this.color===\"secondary\",\"wcm-color-tertiary\":this.color===\"tertiary\",\"wcm-color-inverse\":this.color===\"inverse\",\"wcm-color-accnt\":this.color===\"accent\",\"wcm-color-error\":this.color===\"error\"};return n``}};re.styles=[h.globalCss,Qt],Oe([d()],re.prototype,\"variant\",2),Oe([d()],re.prototype,\"color\",2),re=Oe([p(\"wcm-text\")],re);const Gt=g`button{width:100%;height:100%;border-radius:var(--wcm-button-hover-highlight-border-radius);display:flex;align-items:flex-start}button:active{background-color:var(--wcm-color-overlay)}@media(hover:hover){button:hover{background-color:var(--wcm-color-overlay)}}button>div{width:80px;padding:5px 0;display:flex;flex-direction:column;align-items:center}wcm-text{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}wcm-wallet-image{height:60px;width:60px;transition:all .2s ease;border-radius:var(--wcm-wallet-icon-border-radius);margin-bottom:5px}.wcm-sublabel{margin-top:2px}`;var Xt=Object.defineProperty,Jt=Object.getOwnPropertyDescriptor,_=(e,o,r,a)=>{for(var t=a>1?void 0:a?Jt(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Xt(o,r,t),t};let L=class extends w{constructor(){super(...arguments),this.onClick=()=>null,this.name=\"\",this.walletId=\"\",this.label=void 0,this.imageId=void 0,this.installed=!1,this.recent=!1}sublabelTemplate(){return this.recent?n`RECENT`:this.installed?n`INSTALLED`:null}handleClick(){Xe.click({name:\"WALLET_BUTTON\",walletId:this.walletId}),this.onClick()}render(){var e;return n``}};L.styles=[h.globalCss,Gt],_([d()],L.prototype,\"onClick\",2),_([d()],L.prototype,\"name\",2),_([d()],L.prototype,\"walletId\",2),_([d()],L.prototype,\"label\",2),_([d()],L.prototype,\"imageId\",2),_([d({type:Boolean})],L.prototype,\"installed\",2),_([d({type:Boolean})],L.prototype,\"recent\",2),L=_([p(\"wcm-wallet-button\")],L);const eo=g`:host{display:block}div{overflow:hidden;position:relative;border-radius:inherit;width:100%;height:100%;background-color:var(--wcm-color-overlay)}svg{position:relative;width:100%;height:100%}div::after{content:'';position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid var(--wcm-color-overlay)}div img{width:100%;height:100%;object-fit:cover;object-position:center}#wallet-placeholder-fill{fill:var(--wcm-color-bg-3)}#wallet-placeholder-dash{stroke:var(--wcm-color-overlay)}`;var to=Object.defineProperty,oo=Object.getOwnPropertyDescriptor,se=(e,o,r,a)=>{for(var t=a>1?void 0:a?oo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&to(o,r,t),t};let Q=class extends w{constructor(){super(...arguments),this.walletId=\"\",this.imageId=void 0,this.imageUrl=void 0}render(){var e;const o=(e=this.imageUrl)!=null&&e.length?this.imageUrl:c.getWalletIcon({id:this.walletId,image_id:this.imageId});return n`${o.length?n`
\"${this.id}\"
`:v.WALLET_PLACEHOLDER}`}};Q.styles=[h.globalCss,eo],se([d()],Q.prototype,\"walletId\",2),se([d()],Q.prototype,\"imageId\",2),se([d()],Q.prototype,\"imageUrl\",2),Q=se([p(\"wcm-wallet-image\")],Q);var ro=Object.defineProperty,ao=Object.getOwnPropertyDescriptor,qe=(e,o,r,a)=>{for(var t=a>1?void 0:a?ao(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&ro(o,r,t),t};let We=class extends w{constructor(){super(),this.preload=!0,this.preloadData()}async loadImages(e){try{e!=null&&e.length&&await Promise.all(e.map(async o=>c.preloadImage(o)))}catch{console.info(\"Unsuccessful attempt at preloading some images\",e)}}async preloadListings(){if(z.state.enableExplorer){await W.getRecomendedWallets(),R.setIsDataLoaded(!0);const{recomendedWallets:e}=W.state,o=e.map(r=>c.getWalletIcon(r));await this.loadImages(o)}else R.setIsDataLoaded(!0)}async preloadCustomImages(){const e=c.getCustomImageUrls();await this.loadImages(e)}async preloadData(){try{this.preload&&(this.preload=!1,await Promise.all([this.preloadListings(),this.preloadCustomImages()]))}catch(e){console.error(e),N.openToast(\"Failed preloading\",\"error\")}}};qe([I()],We.prototype,\"preload\",2),We=qe([p(\"wcm-explorer-context\")],We);var lo=Object.defineProperty,io=Object.getOwnPropertyDescriptor,no=(e,o,r,a)=>{for(var t=a>1?void 0:a?io(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&lo(o,r,t),t};let Qe=class extends w{constructor(){super(),this.unsubscribeTheme=void 0,h.setTheme(),this.unsubscribeTheme=X.subscribe(h.setTheme)}disconnectedCallback(){var e;(e=this.unsubscribeTheme)==null||e.call(this)}};Qe=no([p(\"wcm-theme-context\")],Qe);const co=g`@keyframes scroll{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(calc(-70px * 9),0,0)}}.wcm-slider{position:relative;overflow-x:hidden;padding:10px 0;margin:0 -20px;width:calc(100% + 40px)}.wcm-track{display:flex;width:calc(70px * 18);animation:scroll 20s linear infinite;opacity:.7}.wcm-track svg{margin:0 5px}wcm-wallet-image{width:60px;height:60px;margin:0 5px;border-radius:var(--wcm-wallet-icon-border-radius)}.wcm-grid{display:grid;grid-template-columns:repeat(4,80px);justify-content:space-between}.wcm-title{display:flex;align-items:center;margin-bottom:10px}.wcm-title svg{margin-right:6px}.wcm-title path{fill:var(--wcm-accent-color)}wcm-modal-footer .wcm-title{padding:0 10px}wcm-button-big{position:absolute;top:50%;left:50%;transform:translateY(-50%) translateX(-50%);filter:drop-shadow(0 0 17px var(--wcm-color-bg-1))}wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-info-footer wcm-text{text-align:center;margin-bottom:15px}#wallet-placeholder-fill{fill:var(--wcm-color-bg-3)}#wallet-placeholder-dash{stroke:var(--wcm-color-overlay)}`;var so=Object.defineProperty,mo=Object.getOwnPropertyDescriptor,ho=(e,o,r,a)=>{for(var t=a>1?void 0:a?mo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&so(o,r,t),t};let Ie=class extends w{onGoToQrcode(){x.push(\"Qrcode\")}render(){const{recomendedWallets:e}=W.state,o=[...e,...e],r=m.RECOMMENDED_WALLET_AMOUNT*2;return n`
${v.MOBILE_ICON}WalletConnect
${[...Array(r)].map((a,t)=>{const l=o[t%o.length];return l?n``:v.WALLET_PLACEHOLDER})}
Select Wallet
Choose WalletConnect to see supported apps on your device`}};Ie.styles=[h.globalCss,co],Ie=ho([p(\"wcm-android-wallet-selection\")],Ie);const wo=g`@keyframes loading{to{stroke-dashoffset:0}}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(1px,0,0)}30%,50%,70%{transform:translate3d(-2px,0,0)}40%,60%{transform:translate3d(2px,0,0)}}:host{display:flex;flex-direction:column;align-items:center}div{position:relative;width:110px;height:110px;display:flex;justify-content:center;align-items:center;margin:40px 0 20px 0;transform:translate3d(0,0,0)}svg{position:absolute;width:110px;height:110px;fill:none;stroke:transparent;stroke-linecap:round;stroke-width:2px;top:0;left:0}use{stroke:var(--wcm-accent-color);animation:loading 1s linear infinite}wcm-wallet-image{border-radius:var(--wcm-wallet-icon-large-border-radius);width:90px;height:90px}wcm-text{margin-bottom:40px}.wcm-error svg{stroke:var(--wcm-error-color)}.wcm-error use{display:none}.wcm-error{animation:shake .4s cubic-bezier(.36,.07,.19,.97) both}.wcm-stale svg,.wcm-stale use{display:none}`;var po=Object.defineProperty,go=Object.getOwnPropertyDescriptor,K=(e,o,r,a)=>{for(var t=a>1?void 0:a?go(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&po(o,r,t),t};let D=class extends w{constructor(){super(...arguments),this.walletId=void 0,this.imageId=void 0,this.isError=!1,this.isStale=!1,this.label=\"\"}svgLoaderTemplate(){var e,o;const r=(o=(e=X.state.themeVariables)==null?void 0:e[\"--wcm-wallet-icon-large-border-radius\"])!=null?o:h.getPreset(\"--wcm-wallet-icon-large-border-radius\");let a=0;r.includes(\"%\")?a=88/100*parseInt(r,10):a=parseInt(r,10),a*=1.17;const t=317-a*1.57,l=425-a*1.8;return n``}render(){const e={\"wcm-error\":this.isError,\"wcm-stale\":this.isStale};return n`
${this.svgLoaderTemplate()}
${this.isError?\"Connection declined\":this.label}`}};D.styles=[h.globalCss,wo],K([d()],D.prototype,\"walletId\",2),K([d()],D.prototype,\"imageId\",2),K([d({type:Boolean})],D.prototype,\"isError\",2),K([d({type:Boolean})],D.prototype,\"isStale\",2),K([d()],D.prototype,\"label\",2),D=K([p(\"wcm-connector-waiting\")],D);const G={manualWallets(){var e,o;const{mobileWallets:r,desktopWallets:a}=z.state,t=(e=G.recentWallet())==null?void 0:e.id,l=m.isMobile()?r:a,i=l?.filter(s=>t!==s.id);return(o=m.isMobile()?i?.map(({id:s,name:$,links:f})=>({id:s,name:$,mobile:f,links:f})):i?.map(({id:s,name:$,links:f})=>({id:s,name:$,desktop:f,links:f})))!=null?o:[]},recentWallet(){return c.getRecentWallet()},recomendedWallets(e=!1){var o;const r=e||(o=G.recentWallet())==null?void 0:o.id,{recomendedWallets:a}=W.state;return a.filter(t=>r!==t.id)}},Z={onConnecting(e){c.goToConnectingView(e)},manualWalletsTemplate(){return G.manualWallets().map(e=>n`this.onConnecting(e)}\">`)},recomendedWalletsTemplate(e=!1){return G.recomendedWallets(e).map(o=>n`this.onConnecting(o)}\">`)},recentWalletTemplate(){const e=G.recentWallet();if(e)return n`this.onConnecting(e)}\">`}},vo=g`.wcm-grid{display:grid;grid-template-columns:repeat(4,80px);justify-content:space-between}.wcm-desktop-title,.wcm-mobile-title{display:flex;align-items:center}.wcm-mobile-title{justify-content:space-between;margin-bottom:20px;margin-top:-10px}.wcm-desktop-title{margin-bottom:10px;padding:0 10px}.wcm-subtitle{display:flex;align-items:center}.wcm-subtitle:last-child path{fill:var(--wcm-color-fg-3)}.wcm-desktop-title svg,.wcm-mobile-title svg{margin-right:6px}.wcm-desktop-title path,.wcm-mobile-title path{fill:var(--wcm-accent-color)}`;var uo=Object.defineProperty,bo=Object.getOwnPropertyDescriptor,fo=(e,o,r,a)=>{for(var t=a>1?void 0:a?bo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&uo(o,r,t),t};let Ee=class extends w{render(){const{explorerExcludedWalletIds:e,enableExplorer:o}=z.state,r=e!==\"ALL\"&&o,a=Z.manualWalletsTemplate(),t=Z.recomendedWalletsTemplate();let l=[Z.recentWalletTemplate(),...a,...t];l=l.filter(Boolean);const i=l.length>4||r;let s=[];i?s=l.slice(0,3):s=l;const $=Boolean(s.length);return n`
${v.MOBILE_ICON}Mobile
${v.SCAN_ICON}Scan with your wallet
${$?n`
${v.DESKTOP_ICON}Desktop
${s} ${i?n``:null}
`:null}`}};Ee.styles=[h.globalCss,vo],Ee=fo([p(\"wcm-desktop-wallet-selection\")],Ee);const xo=g`div{background-color:var(--wcm-color-bg-2);padding:10px 20px 15px 20px;border-top:1px solid var(--wcm-color-bg-3);text-align:center}a{color:var(--wcm-accent-color);text-decoration:none;transition:opacity .2s ease-in-out;display:inline}a:active{opacity:.8}@media(hover:hover){a:hover{opacity:.8}}`;var yo=Object.defineProperty,$o=Object.getOwnPropertyDescriptor,Co=(e,o,r,a)=>{for(var t=a>1?void 0:a?$o(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&yo(o,r,t),t};let Me=class extends w{render(){const{termsOfServiceUrl:e,privacyPolicyUrl:o}=z.state;return e??o?n`
By connecting your wallet to this app, you agree to the app's ${e?n`Terms of Service`:null} ${e&&o?\"and\":null} ${o?n`Privacy Policy`:null}
`:null}};Me.styles=[h.globalCss,xo],Me=Co([p(\"wcm-legal-notice\")],Me);const ko=g`div{display:grid;grid-template-columns:repeat(4,80px);margin:0 -10px;justify-content:space-between;row-gap:10px}`;var Oo=Object.defineProperty,Wo=Object.getOwnPropertyDescriptor,Io=(e,o,r,a)=>{for(var t=a>1?void 0:a?Wo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Oo(o,r,t),t};let Le=class extends w{onQrcode(){x.push(\"Qrcode\")}render(){const{explorerExcludedWalletIds:e,enableExplorer:o}=z.state,r=e!==\"ALL\"&&o,a=Z.manualWalletsTemplate(),t=Z.recomendedWalletsTemplate();let l=[Z.recentWalletTemplate(),...a,...t];l=l.filter(Boolean);const i=l.length>8||r;let s=[];i?s=l.slice(0,7):s=l;const $=Boolean(s.length);return n`${$?n`
${s} ${i?n``:null}
`:null}`}};Le.styles=[h.globalCss,ko],Le=Io([p(\"wcm-mobile-wallet-selection\")],Le);const Eo=g`:host{all:initial}.wcm-overlay{top:0;bottom:0;left:0;right:0;position:fixed;z-index:var(--wcm-z-index);overflow:hidden;display:flex;justify-content:center;align-items:center;opacity:0;pointer-events:none;background-color:var(--wcm-overlay-background-color);backdrop-filter:var(--wcm-overlay-backdrop-filter)}@media(max-height:720px) and (orientation:landscape){.wcm-overlay{overflow:scroll;align-items:flex-start;padding:20px 0}}.wcm-active{pointer-events:auto}.wcm-container{position:relative;max-width:360px;width:100%;outline:0;border-radius:var(--wcm-background-border-radius) var(--wcm-background-border-radius) var(--wcm-container-border-radius) var(--wcm-container-border-radius);border:1px solid var(--wcm-color-overlay);overflow:hidden}.wcm-card{width:100%;position:relative;border-radius:var(--wcm-container-border-radius);overflow:hidden;box-shadow:0 6px 14px -6px rgba(10,16,31,.12),0 10px 32px -4px rgba(10,16,31,.1),0 0 0 1px var(--wcm-color-overlay);background-color:var(--wcm-color-bg-1);color:var(--wcm-color-fg-1)}@media(max-width:600px){.wcm-container{max-width:440px;border-radius:var(--wcm-background-border-radius) var(--wcm-background-border-radius) 0 0}.wcm-card{border-radius:var(--wcm-container-border-radius) var(--wcm-container-border-radius) 0 0}.wcm-overlay{align-items:flex-end}}@media(max-width:440px){.wcm-container{border:0}}`;var Mo=Object.defineProperty,Lo=Object.getOwnPropertyDescriptor,Re=(e,o,r,a)=>{for(var t=a>1?void 0:a?Lo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Mo(o,r,t),t};let ae=class extends w{constructor(){super(),this.open=!1,this.active=!1,this.unsubscribeModal=void 0,this.abortController=void 0,this.unsubscribeModal=ge.subscribe(e=>{e.open?this.onOpenModalEvent():this.onCloseModalEvent()})}disconnectedCallback(){var e;(e=this.unsubscribeModal)==null||e.call(this)}get overlayEl(){return c.getShadowRootElement(this,\".wcm-overlay\")}get containerEl(){return c.getShadowRootElement(this,\".wcm-container\")}toggleBodyScroll(e){if(document.querySelector(\"body\"))if(e){const o=document.getElementById(\"wcm-styles\");o?.remove()}else document.head.insertAdjacentHTML(\"beforeend\",'')}onCloseModal(e){e.target===e.currentTarget&&ge.close()}onOpenModalEvent(){this.toggleBodyScroll(!1),this.addKeyboardEvents(),this.open=!0,setTimeout(async()=>{const e=c.isMobileAnimation()?{y:[\"50vh\",\"0vh\"]}:{scale:[.98,1]},o=.1,r=.2;await Promise.all([H(this.overlayEl,{opacity:[0,1]},{delay:o,duration:r}).finished,H(this.containerEl,e,{delay:o,duration:r}).finished]),this.active=!0},0)}async onCloseModalEvent(){this.toggleBodyScroll(!0),this.removeKeyboardEvents();const e=c.isMobileAnimation()?{y:[\"0vh\",\"50vh\"]}:{scale:[1,.98]},o=.2;await Promise.all([H(this.overlayEl,{opacity:[1,0]},{duration:o}).finished,H(this.containerEl,e,{duration:o}).finished]),this.containerEl.removeAttribute(\"style\"),this.active=!1,this.open=!1}addKeyboardEvents(){this.abortController=new AbortController,window.addEventListener(\"keydown\",e=>{var o;e.key===\"Escape\"?ge.close():e.key===\"Tab\"&&((o=e.target)!=null&&o.tagName.includes(\"wcm-\")||this.containerEl.focus())},this.abortController),this.containerEl.focus()}removeKeyboardEvents(){var e;(e=this.abortController)==null||e.abort(),this.abortController=void 0}render(){const e={\"wcm-overlay\":!0,\"wcm-active\":this.active};return n`
${this.open?n`
`:null}
`}};ae.styles=[h.globalCss,Eo],Re([I()],ae.prototype,\"open\",2),Re([I()],ae.prototype,\"active\",2),ae=Re([p(\"wcm-modal\")],ae);const Ro=g`div{display:flex;margin-top:15px}slot{display:inline-block;margin:0 5px}wcm-button{margin:0 5px}`;var Ao=Object.defineProperty,Po=Object.getOwnPropertyDescriptor,le=(e,o,r,a)=>{for(var t=a>1?void 0:a?Po(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Ao(o,r,t),t};let B=class extends w{constructor(){super(...arguments),this.isMobile=!1,this.isDesktop=!1,this.isWeb=!1,this.isRetry=!1}onMobile(){m.isMobile()?x.replace(\"MobileConnecting\"):x.replace(\"MobileQrcodeConnecting\")}onDesktop(){x.replace(\"DesktopConnecting\")}onWeb(){x.replace(\"WebConnecting\")}render(){return n`
${this.isRetry?n``:null} ${this.isMobile?n`Mobile`:null} ${this.isDesktop?n`Desktop`:null} ${this.isWeb?n`Web`:null}
`}};B.styles=[h.globalCss,Ro],le([d({type:Boolean})],B.prototype,\"isMobile\",2),le([d({type:Boolean})],B.prototype,\"isDesktop\",2),le([d({type:Boolean})],B.prototype,\"isWeb\",2),le([d({type:Boolean})],B.prototype,\"isRetry\",2),B=le([p(\"wcm-platform-selection\")],B);const To=g`button{display:flex;flex-direction:column;padding:5px 10px;border-radius:var(--wcm-button-hover-highlight-border-radius);height:100%;justify-content:flex-start}.wcm-icons{width:60px;height:60px;display:flex;flex-wrap:wrap;padding:7px;border-radius:var(--wcm-wallet-icon-border-radius);justify-content:space-between;align-items:center;margin-bottom:5px;background-color:var(--wcm-color-bg-2);box-shadow:inset 0 0 0 1px var(--wcm-color-overlay)}button:active{background-color:var(--wcm-color-overlay)}@media(hover:hover){button:hover{background-color:var(--wcm-color-overlay)}}.wcm-icons img{width:21px;height:21px;object-fit:cover;object-position:center;border-radius:calc(var(--wcm-wallet-icon-border-radius)/ 2);border:1px solid var(--wcm-color-overlay)}.wcm-icons svg{width:21px;height:21px}.wcm-icons img:nth-child(1),.wcm-icons img:nth-child(2),.wcm-icons svg:nth-child(1),.wcm-icons svg:nth-child(2){margin-bottom:4px}wcm-text{width:100%;text-align:center}#wallet-placeholder-fill{fill:var(--wcm-color-bg-3)}#wallet-placeholder-dash{stroke:var(--wcm-color-overlay)}`;var jo=Object.defineProperty,_o=Object.getOwnPropertyDescriptor,Do=(e,o,r,a)=>{for(var t=a>1?void 0:a?_o(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&jo(o,r,t),t};let Ae=class extends w{onClick(){x.push(\"WalletExplorer\")}render(){const{recomendedWallets:e}=W.state,o=G.manualWallets(),r=[...e,...o].reverse().slice(0,4);return n``}};Ae.styles=[h.globalCss,To],Ae=Do([p(\"wcm-view-all-wallets-button\")],Ae);const No=g`.wcm-qr-container{width:100%;display:flex;justify-content:center;align-items:center;aspect-ratio:1/1}`;var Zo=Object.defineProperty,So=Object.getOwnPropertyDescriptor,de=(e,o,r,a)=>{for(var t=a>1?void 0:a?So(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Zo(o,r,t),t};let Y=class extends w{constructor(){super(),this.walletId=\"\",this.imageId=\"\",this.uri=\"\",setTimeout(()=>{const{walletConnectUri:e}=R.state;this.uri=e},0)}get overlayEl(){return c.getShadowRootElement(this,\".wcm-qr-container\")}render(){return n`
${this.uri?n``:n``}
`}};Y.styles=[h.globalCss,No],de([d()],Y.prototype,\"walletId\",2),de([d()],Y.prototype,\"imageId\",2),de([I()],Y.prototype,\"uri\",2),Y=de([p(\"wcm-walletconnect-qr\")],Y);var Bo=Object.defineProperty,Uo=Object.getOwnPropertyDescriptor,Ho=(e,o,r,a)=>{for(var t=a>1?void 0:a?Uo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Bo(o,r,t),t};let Pe=class extends w{viewTemplate(){return m.isAndroid()?n``:m.isMobile()?n``:n``}render(){return n`${this.viewTemplate()}`}};Pe.styles=[h.globalCss],Pe=Ho([p(\"wcm-connect-wallet-view\")],Pe);const zo=g`wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-text{text-align:center}`;var Vo=Object.defineProperty,Fo=Object.getOwnPropertyDescriptor,Ke=(e,o,r,a)=>{for(var t=a>1?void 0:a?Fo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Vo(o,r,t),t};let me=class extends w{constructor(){super(),this.isError=!1,this.openDesktopApp()}onFormatAndRedirect(e){const{desktop:o,name:r}=m.getWalletRouterData(),a=o?.native;if(a){const t=m.formatNativeUrl(a,e,r);m.openHref(t,\"_self\")}}openDesktopApp(){const{walletConnectUri:e}=R.state,o=m.getWalletRouterData();c.setRecentWallet(o),e&&this.onFormatAndRedirect(e)}render(){const{name:e,id:o,image_id:r}=m.getWalletRouterData(),{isMobile:a,isWeb:t}=c.getCachedRouterWalletPlatforms();return n`${`Connection can continue loading if ${e} is not installed on your device`}Retry`}};me.styles=[h.globalCss,zo],Ke([I()],me.prototype,\"isError\",2),me=Ke([p(\"wcm-desktop-connecting-view\")],me);const qo=g`wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-text{text-align:center}wcm-button{margin-top:15px}`;var Qo=Object.defineProperty,Ko=Object.getOwnPropertyDescriptor,Yo=(e,o,r,a)=>{for(var t=a>1?void 0:a?Ko(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Qo(o,r,t),t};let Te=class extends w{onInstall(e){e&&m.openHref(e,\"_blank\")}render(){const{name:e,id:o,image_id:r,homepage:a}=m.getWalletRouterData();return n`${`Download ${e} to continue. If multiple browser extensions are installed, disable non ${e} ones and try again`}this.onInstall(a)}\" .iconLeft=\"${v.ARROW_DOWN_ICON}\">Download`}};Te.styles=[h.globalCss,qo],Te=Yo([p(\"wcm-install-wallet-view\")],Te);const Go=g`wcm-wallet-image{border-radius:var(--wcm-wallet-icon-large-border-radius);width:96px;height:96px;margin-bottom:20px}wcm-info-footer{display:flex;width:100%}.wcm-app-store{justify-content:space-between}.wcm-app-store wcm-wallet-image{margin-right:10px;margin-bottom:0;width:28px;height:28px;border-radius:var(--wcm-wallet-icon-small-border-radius)}.wcm-app-store div{display:flex;align-items:center}.wcm-app-store wcm-button{margin-right:-10px}.wcm-note{flex-direction:column;align-items:center;padding:5px 0}.wcm-note wcm-text{text-align:center}wcm-platform-selection{margin-top:-15px}.wcm-note wcm-text{margin-top:15px}.wcm-note wcm-text span{color:var(--wcm-accent-color)}`;var Xo=Object.defineProperty,Jo=Object.getOwnPropertyDescriptor,Ye=(e,o,r,a)=>{for(var t=a>1?void 0:a?Jo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Xo(o,r,t),t};let he=class extends w{constructor(){super(),this.isError=!1,this.openMobileApp()}onFormatAndRedirect(e,o=!1){const{mobile:r,name:a}=m.getWalletRouterData(),t=r?.native,l=r?.universal;if(t&&!o){const i=m.formatNativeUrl(t,e,a);m.openHref(i,\"_self\")}else if(l){const i=m.formatUniversalUrl(l,e,a);m.openHref(i,\"_self\")}}openMobileApp(e=!1){const{walletConnectUri:o}=R.state,r=m.getWalletRouterData();c.setRecentWallet(r),o&&this.onFormatAndRedirect(o,e)}onGoToAppStore(e){e&&m.openHref(e,\"_blank\")}render(){const{name:e,id:o,image_id:r,app:a,mobile:t}=m.getWalletRouterData(),{isWeb:l}=c.getCachedRouterWalletPlatforms(),i=a?.ios,s=t?.universal;return n`this.openMobileApp(!1)}\" .iconRight=\"${v.RETRY_ICON}\">Retry${s?n`Still doesn't work? this.openMobileApp(!0)}\">Try this alternate link`:null}
${`Get ${e}`}
this.onGoToAppStore(i)}\" variant=\"ghost\">App Store
`}};he.styles=[h.globalCss,Go],Ye([I()],he.prototype,\"isError\",2),he=Ye([p(\"wcm-mobile-connecting-view\")],he);const er=g`wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-text{text-align:center}`;var tr=Object.defineProperty,or=Object.getOwnPropertyDescriptor,rr=(e,o,r,a)=>{for(var t=a>1?void 0:a?or(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&tr(o,r,t),t};let je=class extends w{render(){const{name:e,id:o,image_id:r}=m.getWalletRouterData(),{isDesktop:a,isWeb:t}=c.getCachedRouterWalletPlatforms();return n`${`Scan this QR Code with your phone's camera or inside ${e} app`}`}};je.styles=[h.globalCss,er],je=rr([p(\"wcm-mobile-qr-connecting-view\")],je);var ar=Object.defineProperty,lr=Object.getOwnPropertyDescriptor,ir=(e,o,r,a)=>{for(var t=a>1?void 0:a?lr(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&ar(o,r,t),t};let _e=class extends w{render(){return n``}};_e.styles=[h.globalCss],_e=ir([p(\"wcm-qrcode-view\")],_e);const nr=g`wcm-modal-content{height:clamp(200px,60vh,600px);display:block;overflow:scroll;scrollbar-width:none;position:relative;margin-top:1px}.wcm-grid{display:grid;grid-template-columns:repeat(4,80px);justify-content:space-between;margin:-15px -10px;padding-top:20px}wcm-modal-content::after,wcm-modal-content::before{content:'';position:fixed;pointer-events:none;z-index:1;width:100%;height:20px;opacity:1}wcm-modal-content::before{box-shadow:0 -1px 0 0 var(--wcm-color-bg-1);background:linear-gradient(var(--wcm-color-bg-1),rgba(255,255,255,0))}wcm-modal-content::after{box-shadow:0 1px 0 0 var(--wcm-color-bg-1);background:linear-gradient(rgba(255,255,255,0),var(--wcm-color-bg-1));top:calc(100% - 20px)}wcm-modal-content::-webkit-scrollbar{display:none}.wcm-placeholder-block{display:flex;justify-content:center;align-items:center;height:100px;overflow:hidden}.wcm-empty,.wcm-loading{display:flex}.wcm-loading .wcm-placeholder-block{height:100%}.wcm-end-reached .wcm-placeholder-block{height:0;opacity:0}.wcm-empty .wcm-placeholder-block{opacity:1;height:100%}wcm-wallet-button{margin:calc((100% - 60px)/ 3) 0}`;var cr=Object.defineProperty,sr=Object.getOwnPropertyDescriptor,ie=(e,o,r,a)=>{for(var t=a>1?void 0:a?sr(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&cr(o,r,t),t};const De=40;let U=class extends w{constructor(){super(...arguments),this.loading=!W.state.wallets.listings.length,this.firstFetch=!W.state.wallets.listings.length,this.search=\"\",this.endReached=!1,this.intersectionObserver=void 0,this.searchDebounce=c.debounce(e=>{e.length>=1?(this.firstFetch=!0,this.endReached=!1,this.search=e,W.resetSearch(),this.fetchWallets()):this.search&&(this.search=\"\",this.endReached=this.isLastPage(),W.resetSearch())})}firstUpdated(){this.createPaginationObserver()}disconnectedCallback(){var e;(e=this.intersectionObserver)==null||e.disconnect()}get placeholderEl(){return c.getShadowRootElement(this,\".wcm-placeholder-block\")}createPaginationObserver(){this.intersectionObserver=new IntersectionObserver(([e])=>{e.isIntersecting&&!(this.search&&this.firstFetch)&&this.fetchWallets()}),this.intersectionObserver.observe(this.placeholderEl)}isLastPage(){const{wallets:e,search:o}=W.state,{listings:r,total:a}=this.search?o:e;return a<=De||r.length>=a}async fetchWallets(){var e;const{wallets:o,search:r}=W.state,{listings:a,total:t,page:l}=this.search?r:o;if(!this.endReached&&(this.firstFetch||t>De&&a.lengthc.getWalletIcon(f));await Promise.all([...$.map(async f=>c.preloadImage(f)),m.wait(300)]),this.endReached=this.isLastPage()}catch(i){console.error(i),N.openToast(c.getErrorMessage(i),\"error\")}finally{this.loading=!1,this.firstFetch=!1}}onConnect(e){m.isAndroid()?c.handleMobileLinking(e):c.goToConnectingView(e)}onSearchChange(e){const{value:o}=e.target;this.searchDebounce(o)}render(){const{wallets:e,search:o}=W.state,{listings:r}=this.search?o:e,a=this.loading&&!r.length,t=this.search.length>=3;let l=Z.manualWalletsTemplate(),i=Z.recomendedWalletsTemplate(!0);t&&(l=l.filter(({values:f})=>c.caseSafeIncludes(f[0],this.search)),i=i.filter(({values:f})=>c.caseSafeIncludes(f[0],this.search)));const s=!this.loading&&!r.length&&!i.length,$={\"wcm-loading\":a,\"wcm-end-reached\":this.endReached||!this.loading,\"wcm-empty\":s};return n`
${a?null:l} ${a?null:i} ${a?null:r.map(f=>n`${f?n`this.onConnect(f)}\">`:null}`)}
${s?n`No results found`:null} ${!s&&this.loading?n``:null}
`}};U.styles=[h.globalCss,nr],ie([I()],U.prototype,\"loading\",2),ie([I()],U.prototype,\"firstFetch\",2),ie([I()],U.prototype,\"search\",2),ie([I()],U.prototype,\"endReached\",2),U=ie([p(\"wcm-wallet-explorer-view\")],U);const dr=g`wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-text{text-align:center}`;var mr=Object.defineProperty,hr=Object.getOwnPropertyDescriptor,Ge=(e,o,r,a)=>{for(var t=a>1?void 0:a?hr(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&mr(o,r,t),t};let we=class extends w{constructor(){super(),this.isError=!1,this.openWebWallet()}onFormatAndRedirect(e){const{desktop:o,name:r}=m.getWalletRouterData(),a=o?.universal;if(a){const t=m.formatUniversalUrl(a,e,r);m.openHref(t,\"_blank\")}}openWebWallet(){const{walletConnectUri:e}=R.state,o=m.getWalletRouterData();c.setRecentWallet(o),e&&this.onFormatAndRedirect(e)}render(){const{name:e,id:o,image_id:r}=m.getWalletRouterData(),{isMobile:a,isDesktop:t}=c.getCachedRouterWalletPlatforms(),l=m.isMobile();return n`${`${e} web app has opened in a new tab. Go there, accept the connection, and come back`}Retry`}};we.styles=[h.globalCss,dr],Ge([I()],we.prototype,\"isError\",2),we=Ge([p(\"wcm-web-connecting-view\")],we);export{ae as WcmModal,j as WcmQrCode};\n//# sourceMappingURL=index.js.map\n"],"names":["AssetDirectionEnum","TransactionTypeEnum","TransactionStatusEnum","ErrorTypeEnum","WalletPlatformEnum","TransactionListenerProcessIndex","global","bind","fn","thisArg","toString","getPrototypeOf","kindOf","cache","thing","str","kindOfTest","type","typeOfTest","isArray","isUndefined","isBuffer","val","isFunction","isArrayBuffer","isArrayBufferView","result","isString","isNumber","isObject","isBoolean","isPlainObject","prototype","isDate","isFile","isBlob","isFileList","isStream","isFormData","kind","isURLSearchParams","trim","forEach","obj","allOwnKeys","i","l","keys","len","key","findKey","_key","_global","isContextDefined","context","merge","caseless","assignValue","targetKey","extend","a","b","stripBOM","content","inherits","constructor","superConstructor","props","descriptors","toFlatObject","sourceObj","destObj","filter","propFilter","prop","merged","endsWith","searchString","position","lastIndex","toArray","arr","isTypedArray","TypedArray","forEachEntry","iterator","pair","matchAll","regExp","matches","isHTMLForm","toCamelCase","m","p1","p2","hasOwnProperty","isRegExp","reduceDescriptors","reducer","reducedDescriptors","descriptor","name","ret","freezeMethods","value","toObjectSet","arrayOrString","delimiter","define","noop","toFiniteNumber","defaultValue","ALPHA","DIGIT","ALPHABET","generateString","size","alphabet","length","isSpecCompliantForm","toJSONObject","stack","visit","source","target","reducedValue","isAsyncFn","utils$b","buffer","base64Js","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","code","getLens","b64","validLen","placeHoldersLen","lens","_byteLength","tmp","curByte","tripletToBase64","num","encodeChunk","uint8","start","end","output","extraBytes","parts","maxChunkLength","len2","ieee754","offset","isLE","mLen","nBytes","e","eLen","eMax","eBias","nBits","d","s","c","rt","exports","base64","ieee754$1","customInspectSymbol","Buffer","SlowBuffer","K_MAX_LENGTH","GlobalUint8Array","GlobalArrayBuffer","GlobalSharedArrayBuffer","typedArraySupport","proto","createBuffer","buf","arg","encodingOrOffset","allocUnsafe","from","fromString","fromArrayView","isInstance","fromArrayBuffer","valueOf","fromObject","assertSize","alloc","fill","encoding","checked","string","actual","fromArrayLike","array","arrayView","copy","byteOffset","numberIsNaN","x","y","list","pos","mustMatch","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","n","max","thisStart","thisEnd","thisCopy","targetCopy","bidirectionalIndexOf","dir","arrayIndexOf","indexSize","arrLength","valLength","read","foundIndex","found","j","hexWrite","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","asciiToBytes","base64Write","ucs2Write","utf16leToBytes","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","decodeCodePointsArray","MAX_ARGUMENTS_LENGTH","codePoints","out","hexSliceLookupTable","bytes","newBuf","checkOffset","ext","noAssert","mul","defineBigIntMethod","validateNumber","first","last","boundsError","lo","hi","checkInt","min","maxBytes","wrtBigUInt64LE","checkIntBI","wrtBigUInt64BE","limit","sub","checkIEEE754","writeFloat","littleEndian","writeDouble","targetStart","errors","E","sym","getMessage","Base","range","input","msg","received","addNumericalSeparator","checkBounds","INVALID_BASE64_RE","base64clean","units","leadSurrogate","byteArray","src","dst","table","i16","BufferBigIntNotDefined","Blob","BlobOptions","Buffer$1","File","FileOptions","INSPECT_MAX_BYTES","TranscodeEncoding","atob","btoa","constants","isAscii","isUtf8","kMaxLength","kStringMaxLength","resolveObjectURL","transcode","AxiosError","message","config","request","response","utils","error","customProps","axiosError","httpAdapter","isVisitable","removeBrackets","renderKey","path","dots","token","isFlatArray","predicates","toFormData","formData","options","option","metaTokens","visitor","defaultVisitor","indexes","useBlob","convertValue","el","index","exposedHelpers","build","encode","charMap","match","AxiosURLSearchParams","params","encoder","_encode","buildURL","url","serializeFn","serializedParams","hashmarkIndex","InterceptorManager","fulfilled","rejected","id","h","transitionalDefaults","platform$1","hasBrowserEnv","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","platform","toURLEncodedForm","data","helpers","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","stringifySafely","rawValue","parser","defaults","headers","contentType","hasJSONContentType","isObjectPayload","_FormData","transitional","forcedJSONParsing","JSONRequested","strictJSONParsing","status","method","defaults$2","ignoreDuplicateOf","parseHeaders","rawHeaders","line","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","w","char","buildAccessors","accessorName","methodName","arg1","arg2","arg3","AxiosHeaders","valueOrRewrite","rewrite","self","setHeader","_value","_header","_rewrite","lHeader","setHeaders","matcher","deleted","deleteHeader","format","normalized","targets","asStrings","computed","accessors","defineAccessor","mapped","headerValue","AxiosHeaders$1","transformData","fns","isCancel","CanceledError","settle","resolve","reject","validateStatus","cookies","expires","domain","secure","cookie","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","isURLSameOrigin","msie","urlParsingNode","originURL","resolveURL","href","requestURL","parseProtocol","speedometer","samplesCount","timestamps","head","tail","firstSampleTS","chunkLength","now","startedAt","bytesCount","passed","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","progressBytes","rate","inRange","knownAdapters","requestData","requestHeaders","responseType","withXSRFToken","onCanceled","done","username","password","fullPath","onloadend","responseHeaders","err","timeoutErrorMessage","xsrfValue","cancel","protocol","renderReason","reason","isResolvedHandle","adapter","adapters$1","adapters","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","dispatchRequest","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","VERSION","validators","deprecatedWarnings","validators$1","validator","version","formatMessage","opt","desc","opts","assertOptions","schema","allowUnknown","validator$1","Axios","instanceConfig","configOrUrl","dummy","paramsSerializer","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","promise","chain","newConfig","onFulfilled","onRejected","generateHTTPMethod","isForm","Axios$1","CancelToken","executor","resolvePromise","onfulfilled","_resolve","CancelToken$1","spread","callback","isAxiosError","payload","HttpStatusCode","HttpStatusCode$1","createInstance","defaultConfig","instance","axios","promises","number","bool","isBytes","lengths","hash","exists","checkFinished","assert","U32_MASK64","_32n","fromBig","le","split","lst","Ah","Al","rotlSH","rotlSL","rotlBH","rotlBL","u32","toBytes","Hash$8","wrapConstructor","hashCons","hashC","SHA3_PI","SHA3_ROTL","_SHA3_IOTA","_0n","_1n","_2n","_7n","_256n","_0x71n","round","R","t","SHA3_IOTA_H","SHA3_IOTA_L","rotlH","rotlL","keccakP","rounds","B","idx1","idx0","B0","B1","Th","Tl","curH","curL","shift","PI","Keccak","Hash","blockLen","suffix","outputLen","enableXOF","take","bufferOut","to","keccak_256","wrapHash","webCrypto","nodeRequire","keccak256","k","JSONRPC_ERR_REJECTED_REQUEST","JSONRPC_ERR_UNAUTHORIZED","JSONRPC_ERR_UNSUPPORTED_METHOD","JSONRPC_ERR_DISCONNECTED","JSONRPC_ERR_CHAIN_DISCONNECTED","ERR_INVALID_BYTES","ERR_INVALID_NUMBER","ERR_INVALID_HEX","ERR_VALIDATION","ERR_SCHEMA_FORMAT","ERR_RPC_INVALID_JSON","ERR_RPC_INVALID_REQUEST","ERR_RPC_INVALID_METHOD","ERR_RPC_INVALID_PARAMS","ERR_RPC_INTERNAL_ERROR","ERR_RPC_INVALID_INPUT","ERR_RPC_MISSING_RESOURCE","ERR_RPC_UNAVAILABLE_RESOURCE","ERR_RPC_TRANSACTION_REJECTED","ERR_RPC_UNSUPPORTED_METHOD","ERR_RPC_LIMIT_EXCEEDED","ERR_RPC_NOT_SUPPORTED","BaseWeb3Error","innerError","unquotValue","_","v","InvalidValueError","InvalidBytesError","InvalidNumberError","HexProcessingError","genericRpcErrorMessageTemplate","RpcErrorMessages","RpcError","rpcError","ParseError","InvalidRequestError","MethodNotFoundError","InvalidParamsError","InternalError","InvalidInputError","MethodNotSupported","ResourceUnavailableError","ResourcesNotFoundError","VersionNotSupportedError","TransactionRejectedError","LimitExceededError","rpcErrorsMap","SchemaFormatError","util","assertIs","_arg","assertNever","_x","items","item","validKeys","filtered","object","checker","joinValues","separator","objectUtil","second","ZodParsedType","getParsedType","ZodIssueCode","quotelessJson","ZodError","issues","subs","actualProto","_mapper","mapper","issue","fieldErrors","processError","curr","formErrors","errorMap","_ctx","overrideErrorMap","setErrorMap","map","getErrorMap","makeIssue","errorMaps","issueData","fullIssue","errorMessage","maps","EMPTY_PATH","addIssueToContext","ctx","ParseStatus","results","arrayValue","INVALID","pairs","syncPairs","finalObject","DIRTY","OK","isAborted","isDirty","isValid","isAsync","errorUtil","ParseInputLazyPath","parent","handleResult","processCreateParams","invalid_type_error","required_error","description","iss","ZodType","def","_a","maybeAsyncResult","check","getIssueProperties","setError","refinementData","refinement","ZodEffects","ZodFirstPartyTypeKind","ZodOptional","ZodNullable","ZodArray","ZodPromise","ZodUnion","incoming","ZodIntersection","transform","defaultValueFunc","ZodDefault","ZodBranded","catchValueFunc","ZodCatch","This","ZodPipeline","ZodReadonly","cuidRegex","cuid2Regex","ulidRegex","uuidRegex","emailRegex","_emojiRegex","emojiRegex","ipv4Regex","ipv6Regex","datetimeRegex","args","isValidIP","ip","ZodString","tooBig","tooSmall","regex","validation","minLength","maxLength","ch","floatSafeRemainder","step","valDecCount","stepDecCount","decCount","valInt","stepInt","ZodNumber","inclusive","ZodBigInt","ZodBoolean","ZodDate","minDate","maxDate","ZodSymbol","ZodUndefined","ZodNull","ZodAny","ZodUnknown","ZodNever","ZodVoid","deepPartialify","ZodObject","newShape","fieldSchema","ZodTuple","shape","shapeKeys","extraKeys","keyValidator","unknownKeys","catchall","_b","_c","_d","defaultError","augmentation","merging","mask","newField","createZodEnum","handleResults","unionErrors","childCtx","dirty","types","getDiscriminator","ZodLazy","ZodLiteral","ZodEnum","ZodNativeEnum","ZodDiscriminatedUnion","discriminator","discriminatorValue","optionsMap","discriminatorValues","mergeValues","aType","bType","bKeys","sharedKeys","newObj","sharedValue","newArray","itemA","itemB","handleParsed","parsedLeft","parsedRight","left","right","itemIndex","rest","schemas","ZodRecord","keyType","valueType","third","ZodMap","finalMap","ZodSet","finalizeSet","elements","parsedSet","element","minSize","maxSize","ZodFunction","makeArgsIssue","makeReturnsIssue","returns","me","parsedArgs","parsedReturns","returnType","func","getter","values","expectedValues","enumValues","nativeEnumValues","promisified","effect","checkCtx","processed","executeRefinement","acc","inner","base","preprocess","newCtx","ZodNaN","BRAND","inResult","custom","fatal","p","_fatal","late","instanceOfType","cls","stringType","numberType","nanType","bigIntType","booleanType","dateType","symbolType","undefinedType","nullType","anyType","unknownType","neverType","voidType","arrayType","objectType","strictObjectType","unionType","discriminatedUnionType","intersectionType","tupleType","recordType","mapType","setType","functionType","lazyType","literalType","enumType","nativeEnumType","promiseType","effectsType","optionalType","nullableType","preprocessType","pipelineType","z","errorFormatter","Web3ValidatorError","VALID_ETH_BASE_TYPES","isAbiParameterSchema","isHexStrict","hex","isHex","extraTypes","parseBaseType","strippedType","baseTypeSize","arraySizes","convertEthType","parentSchema","baseType","abiSchemaToJsonSchema","abis","level","abi","abiType","abiName","abiComponents","childSchema","lastSchema","nestedTuple","arraySize","ethAbiToJsonSchema","fetchArrayElement","transformJsonDataToAbiFormat","transformedData","newData","dataItem","tupleData","tupleItem","nestedItems","nestedData","nestedItem","codePointToInt","hexToNumber","negative","hexValue","numberToHex","padLeft","characterAmount","sign","prefix","uint8ArrayToHexString","uint8Array","hexString","charCodeMap","charCodeToBase16","hexToUint8Array","nibbleLeft","nibbleRight","ensureIfUint8Array","isUint8Array","valueToCheck","checkAddressCheckSum","address","updatedData","addressHash","isAddress","checkChecksum","FMT_NUMBER","FMT_BYTES","BlockTags","HardforksOrdered","bigintPower","expo","isUInt","isInt","isBlockNumber","isBlockTag","isBlockNumberOrTag","isBloom","bloom","isNullish","isTopic","topic","isFilterObject","expectedFilterProperties","property","nestedTopic","formats","bitSize","convertToZod","zItem","nextSchema","zodArraySchema","oneOfSchema","Validator","keyword","schemaPath","field","instancePath","Web3Validator","jsonSchema","bytesToUint8Array","validatorUtils.hexToUint8Array","validatorUtils","bytesToHex","hexstrict","updatedValue","validatorUtils.numberToHex","utf8ToHex","strWithoutNullCharacter","toHex","has","Events","EE","once","addListener","emitter","event","evt","clearEvent","EventEmitter","names","events","handlers","ee","listeners","a1","a2","a3","a4","a5","module","isNumeric","mathceil","mathfloor","bignumberError","tooManyDigits","BASE","LOG_BASE","MAX_SAFE_INTEGER","POWS_TEN","SQRT_BASE","MAX","clone","configObject","div","convertBase","parseNumeric","P","BigNumber","ONE","DECIMAL_PLACES","ROUNDING_MODE","TO_EXP_NEG","TO_EXP_POS","MIN_EXP","MAX_EXP","CRYPTO","MODULO_MODE","POW_PRECISION","FORMAT","alphabetHasNormalDecimalDigits","caseChanged","isNum","intCheck","maxOrMin","pow2_53","random53bitInt","dp","rand","sum","decimal","toBaseOut","baseIn","baseOut","arrL","callerIsToString","r","xc","rm","toFixedPoint","coeffToString","multiply","temp","xlo","xhi","carry","klo","khi","compare","aL","bL","cmp","subtract","more","prod","prodL","q","qc","rem","remL","rem0","xi","xL","yc0","yL","yz","yc","bitFloor","c0","ne","toExponential","normalise","basePrefix","dotAfter","dotBefore","isInfinityOrNaN","whitespaceOrPlus","sd","ni","rd","pows10","half","isModExp","nIsBig","nIsNeg","nIsOdd","isOdd","xLTy","xe","ye","xcL","ycL","ylo","yhi","zc","sqrtBase","rep","g1","g2","groupSeparator","intPart","fractionPart","isNeg","intDigits","md","d0","d1","d2","exp","n0","n1","zs","browser","BASE58_ALPHABET","decimals","newValue","base58Encode","base58Array","remainder","base58Decode","valueHex","bufferToString","stringToBuffer","sleep","ms","objectsEqual","o1","o2","toReadableString","coefficient","exponent","checkWebSocket","socket","NodeWebSocket","navigator","standalone","userAgent","safari","checkType","resolveProperties","accum","defineProperties","stringify","HEX","isError","isCallException","makeError","info","shortMessage","details","assertArgument","assertArgumentCount","count","expectedCount","_normalizeForms","form","assertNormalize","assertPrivate","givenGuard","guard","className","operation","_getBytes","getBytes","getBytesCopy","isHexString","isBytesLike","HexCharacters","hexlify","concat","datas","dataLength","dataSlice","stripZerosLeft","zeroPad","zeroPadValue","zeroPadBytes","BN_0","BN_1","maxValue","fromTwos","_width","getUint","width","getNumber","toTwos","getBigInt","_bits","bits","Nibbles","toBigInt","toNumber","toBeHex","toBeArray","toQuantity","Alphabet","Lookup","getAlpha","letter","BN_58","encodeBase58","decodeBase58","decodeBase64","textData","encodeBase64","_data","EventPayload","__publicField","__privateAdd","_listener","__privateSet","__privateGet","errorFunc","badCodepoint","ignoreFunc","replaceFunc","Utf8ErrorFuncs","getUtf8CodePoints","_bytes","onError","extraLength","overlongMask","nextChar","toUtf8Bytes","c2","_toUtf8String","toUtf8String","toUtf8CodePoints","createGetUrl","getUrl","req","_signal","signal","controller","init","resp","respBody","body","MAX_ATTEMPTS","SLOT_INTERVAL","defaultGetUrlFunc","reData","reIpfs","locked","dataGatewayFunc","FetchResponse","unpercent","FetchRequest","getIpfsGatewayFunc","baseUrl","gatewayIpfs","Gateways","fetchSignals","FetchCancelSignal","_listeners","_cancelled","checkSignal","_FetchRequest","_send","_allowInsecure","_gzip","_headers","_method","_timeout","_url","_body","_bodyType","_creds","_preflight","_process","_retry","_throttle","_getUrlFunc","timeout","preflight","process","retry","__privateMethod","send_fn","getTime","location","current","scheme","attempt","delay","_request","_response","wait","retryAfter","_FetchResponse","statusCode","statusMessage","_statusCode","_statusMessage","_error","stall","requestUrl","responseBody","all","BN_N1","BN_5","_guard","Zeros","getTens","checkValue","safeOp","getFormat","signed","_FixedNumber","_checkFormat","_checkValue","_add","_sub","_mul","_div","_format","_val","_tens","other","add_fn","sub_fn","mul_fn","checkFormat_fn","checkValue_fn","div_fn","delta","bump","tens","_decimals","whole","o","FixedNumber","hexlifyByte","unarrayifyInteger","_decodeChildren","childOffset","decoded","_decode","lengthLength","decodeRlp","arrayifyInteger","child","nibbles","encodeRlp","formatUnits","unit","parseUnits","formatEther","wei","parseEther","ether","uuidV4","randomBytes","WordSize","Padding","passProperties","throwError","wrapped","_Result","wrap","_names","nameCounts","receiver","Result","checkResultErrors","checkErrors","childPath","getValue","Coder","localName","dynamic","Writer","_writeData","_dataLength","writer","writeData_fn","paddingOffset","_Reader","allowLoose","maxInflation","_incrementBytesRead","_peekBytes","_offset","_bytesRead","_parent","_maxInflation","reader","loose","peekBytes_fn","incrementBytesRead_fn","alignedLength","Reader","crypto","u8a","createView","rotr","word","nextTick","asyncLoop","iters","tick","cb","ts","diff","concatBytes","arrays","pad","Hash$7","toStr","checkOpts","bytesLength","assertHash","assertExists","assertBytes","oHash","iHash","finished","destroyed","hmac","HMAC","pbkdf2Init","_password","_salt","_opts","dkLen","asyncTick","assertNumber","salt","DK","PRF","PRFSalt","pbkdf2Output","prfW","u","pbkdf2","view","ti","Ti","ui","setBigUint64","_u32_max","wh","wl","SHA2","padOffset","dataView","oview","outLen","Chi","Maj","SHA256_K","IV","SHA256_W","SHA256","A","C","D","F","G","H","W15","W2","s0","s1","sigma1","T1","T2","sha256","toBig","shrSH","_l","shrSL","rotrSH","rotrSL","rotrBH","rotrBL","rotr32H","_h","rotr32L","add","Bh","Bl","u64","Cl","low","Ch","Dl","Dh","Eh","El","SHA512_Kh","SHA512_Kl","SHA512_W_H","SHA512_W_L","Fh","Fl","Gh","Gl","Hh","Hl","W15h","W15l","s0h","s0l","W2h","W2l","s1h","s1l","SUMl","SUMh","sigma1h","sigma1l","CHIh","CHIl","T1ll","T1h","T1l","sigma0h","sigma0l","MAJh","MAJl","All","sha512","SHA512","getGlobal","anyGlobal","createHash","algo","createHmac","_algo","pbkdf2Sync","iterations","keylen","_computeHmac","algorithm","__computeHmac","computeHmac","_keccak256","__keccak256","Rho","Id","Pi","idxL","idxR","shifts","shiftsL","idx","shiftsR","Kl","Kr","rotl","f","group","BUF","RIPEMD160","h0","h1","h2","h3","h4","al","ar","bl","br","cl","cr","dl","dr","er","rGroup","hbl","hbr","rl","rr","sl","sr","tl","tr","ripemd160","_ripemd160","noble_ripemd160","__ripemd160","ripemd160$1","_pbkdf2","__pbkdf2","_randomBytes","crypto_random","__randomBytes","XorAndSalsa","prev","pi","ii","oi","y00","y01","y02","y03","y04","y05","y06","y07","y08","y09","y10","y11","y12","y13","y14","y15","x00","x01","x02","x03","x04","x05","x06","x07","x08","x09","x10","x11","x12","x13","x14","x15","BlockMix","scryptInit","N","maxmem","onProgress","blockSize","blockSize32","memUsed","B32","V","blockMixCb","totalBlockMix","callbackPer","blockMixCnt","scryptOutput","scrypt","scryptAsync","lockedSync","lockedAsync","_scryptAsync","passwd","_nobleAsync","_scryptSync","_nobleSync","__scryptAsync","__scryptSync","_passwd","progress","scryptSync","_sha256","_sha512","__sha256","__sha512","locked256","locked512","sha256$4","sha512$4","hexes","numberToHexUnpadded","hexToBytes","hexByte","byte","bytesToNumberBE","bytesToNumberLE","numberToBytesBE","numberToBytesLE","numberToVarBytesBE","ensureBytes","title","expectedLength","equalBytes","b1","b2","bitLen","bitGet","bitSet","bitMask","u8n","u8fr","createHmacDrbg","hashLen","qByteLen","hmacFn","reset","reseed","seed","gen","pred","validatorFns","validateObject","optValidators","checkField","fieldName","isOptional","checkVal","_3n","_4n","_5n","_8n","mod","pow","power","modulo","pow2","invert","tonelliShanks","legendreC","Q","S","Z","p1div4","Fp","root","Q1div2","g","t2","ge","FpSqrt","c1","n2","nv","FIELD_FIELDS","validateField","initial","FpPow","FpInvertBatch","nums","lastMultiplied","inverted","nLength","nBitLength","_nBitLength","nByteLength","Field","ORDER","redef","BITS","BYTES","sqrtP","lhs","rhs","getFieldBytesLength","fieldOrder","bitLength","getMinHashLength","mapHashToField","fieldLen","minLen","reduced","wNAF","constTimeNegate","condition","neg","W","windows","windowSize","elm","points","window","precomputes","maxNumber","shiftBy","wbits","offset1","offset2","cond1","cond2","precomputesMap","comp","validateBasic","curve","validatePointOpts","ut.validateObject","endo","b2n","h2b","ut","DER","sBytes","rBytesLeft","sig","slice","shl","rhl","weierstrassPoints","CURVE","point","_isCompressed","ut.concatBytes","fromBytes","weierstrassEquation","x2","x3","isWithinCurveOrder","assertGE","normPrivateKeyToScalar","wrapPrivateKey","ut.bytesToHex","ut.bytesToNumberBE","mod.mod","pointPrecomputes","assertPrjPoint","Point","px","py","pz","is0","toInv","privateKey","X1","Y1","Z1","X2","Y2","Z2","U1","U2","b3","X3","Y3","Z3","t0","t1","t3","t4","t5","wnaf","I","k1neg","k1","k2neg","k2","k1p","k2p","scalar","fake","f1p","f2p","iz","ax","ay","zz","cofactor","isTorsionFree","clearCofactor","isCompressed","validateOpts","weierstrass","curveDef","CURVE_ORDER","compressedLen","uncompressedLen","isValidFieldElement","modN","invN","mod.invert","cat","y2","isYOdd","numToNByteStr","ut.numberToBytesBE","isBiggerThanHalfOrder","HALF","normalizeS","slcNum","Signature","recovery","msgHash","rec","bits2int_modN","radj","ir","u1","u2","ut.hexToBytes","mod.getMinHashLength","mod.mapHashToField","getPublicKey","isProbPub","getSharedSecret","privateA","publicB","bits2int","ORDER_MASK","ut.bitMask","int2octets","prepSig","defaultSigOpts","lowS","prehash","ent","h1int","seedArgs","k2sig","kBytes","ik","normS","defaultVerOpts","privKey","ut.createHmacDrbg","verify","signature","publicKey","sg","_sig","derError","is","getHash","msgs","createCurve","defHash","create","secp256k1P","secp256k1N","divNearest","sqrtMod","_6n","_11n","_22n","_23n","_44n","_88n","b6","b9","b11","b22","b44","b88","b176","b220","b223","secp256k1","POW_2_128","ZeroAddress","ZeroHash","WeiPerEther","MaxUint256","MinInt256","MaxInt256","EtherSymbol","MessagePrefix","BN_2","BN_27","BN_28","BN_35","toUint256","_Signature","_r","_s","_v","_networkV","yParityAndS","networkV","bv","chainId","assertError","yParity","_SigningKey","_privateKey","digest","pubKey","compressed","pub","secpSig","p0","pub0","pub1","SigningKey","lock","BN_36","getChecksumAddress","chars","expanded","hashed","ibanLookup","safeDigits","ibanChecksum","block","checksum","Base36","fromBase36","getAddress","getIcapAddress","base36","getCreateAddress","tx","nonceHex","getCreate2Address","_from","_initCodeHash","initCodeHash","isAddressable","checkAddress","resolveAddress","resolver","_gaurd","Typed","_typedSymbol","_Typed","gaurd","_options","AddressCoder","AnonymousCoder","coder","pack","coders","arrayValues","unique","staticWriter","dynamicWriter","updateFuncs","dynamicOffset","updateFunc","baseOffset","unpack","baseReader","offsetReader","ArrayCoder","defaultChild","BooleanCoder","DynamicBytesCoder","BytesCoder","FixedBytesCoder","Empty","NullCoder","BN_MAX_UINT256","NumberCoder","maxUintValue","bounds","StringCoder","TupleCoder","uniqueNames","COMPRESSED$1","FENCED","NSM_MAX","decode_arithmetic","u16","symbol_count","skip","pos_payload","read_width","read_buffer","read_bit","FULL","QRTR","MASK","register","symbols","mid","read_payload","read_compressed_payload","unsafe_atob","read_deltas","next","read_sorted","read_sorted_arrays","read_array_while","read_mapped","read_linear_table","read_replacement_table","read_transposed","dx","dy","vN","ys","j_dy","read_trie","sorted","expand","decode","cps","saved","cp","hex_cp","quote_cp","explode_cp","str_from_cps","compare_arrays","COMPRESSED","S0","L0","V0","T0","L_COUNT","V_COUNT","T_COUNT","N_COUNT","S_COUNT","S1","L1","V1","unpack_cc","packed","unpack_cp","SHIFTED_RANK","EXCLUSIONS","DECOMP","RECOMP","init$1","bucket","is_hangul","compose_pair","recomp","decomposed","check_order","cc","s_index","l_index","v_index","t_index","prev_cc","composed_from_decomposed","prev_cp","composed","nfd","nfc","HYPHEN","STOP_CH","FE0F","UNIQUE_PH","Array_from","group_has_cp","Emoji","MAPPED","IGNORED","CM","NSM","ESCAPE","GROUPS","WHOLE_VALID","WHOLE_MAP","VALID","EMOJI_LIST","EMOJI_ROOT","read_sorted_array","read_sorted_set","set_add_many","set","chunks","unrestricted","read_chunked","M","wholes","recs","gs","union","complement","multi","add_to_union","node","quoted_cp","should_escape","bidi_qq","safe_str_from_cps","check_label_extension","check_leading_underscore","check_fenced","error_placement","quoter","is_combining_mark","ens_normalize","flatten","filter_fe0f","nf","ef","label","tokens_from_str","token_count","norm","determine_group","check_group","check_whole","maker","shared","groups","error_group_member","error_disallowed","quoted","gg","where","emoji","consume_emoji_reversed","eaten","checkComponent","ensNameSplit","ensNormalize","comps","isValidName","namehash","dnsEncode","_maxLength","accessSetify","addr","storageKeys","storageKey","accessListify","computeAddress","pubkey","recoverAddress","BN_MAX_UINT","handleAddress","handleAccessList","param","handleNumber","handleUint","formatNumber","formatAccessList","formatHashes","_parseLegacy","fields","_serializeLegacy","legacy","_parseEipSignature","_parseEip1559","_serializeEip1559","_parseEip2930","_serializeEip2930","_parseEip4844","_serializeEip4844","Transaction$1","_type","_to","_nonce","_gasLimit","_gasPrice","_maxPriorityFeePerGas","_maxFeePerGas","_chainId","_accessList","_maxFeePerBlobGas","_blobVersionedHashes","hasGasPrice","hasFee","hasAccessList","hasBlob","hashMessage","verifyMessage","regexBytes","regexNumber","regexArray","_pack","solidityPacked","tight","solidityPackedKeccak256","solidityPackedSha256","padding","BN__1","hexPadRight","hexTrue","hexFalse","domainFieldTypes","domainFieldNames","checkString","domainChecks","getBaseEncoder","boundsUpper","boundsLower","encodeType","splitArray","_TypedDataEncoder","_types","_getEncoder","_fullTypes","_encoderCache","links","parents","subtypes","primaryTypes","checkCircular","subtype","st","getEncoder_fn","domainFields","resolveName","ensCache","domainValues","domainTypes","typesWithDomain","subEncoder","encodedType","TypedDataEncoder","verifyTypedData","setify","KwVisibDeploy","_kwVisib","KwVisib","_kwTypes","KwTypes","_kwModifiers","KwModifiers","_keywords","Keywords","SimpleTokens","regexWhitespacePrefix","regexNumberPrefix","regexIdPrefix","regexId","regexType","_TokenString","_subTokenString","_tokens","allowed","top","subTokenString_fn","link","__privateWrapper","TokenString","lex","text","brackets","commas","cur","allowSingle","included","consumeName","consumeKeywords","keywords","consumeMutability","modifiers","consumeParams","allowIndexed","ParamType","consumeGas","consumeEoi","regexArrayType","verifyBasicType","internal","ParamTypeInternal","ErrorFragmentInternal","EventFragmentInternal","ConstructorFragmentInternal","FallbackFragmentInternal","FunctionFragmentInternal","StructFragmentInternal","_ParamType","indexed","components","arrayLength","arrayChildren","_walkAsync","_this","walkAsync_fn","bracket","arrayMatch","setValue","childType","Fragment","inputs","ConstructorFragment","ErrorFragment","EventFragment","FallbackFragment","FunctionFragment","StructFragment","NamedFragment","joinParams","anonymous","payable","gas","stateMutability","errorObj","topIsValid","mutability","outputs","PanicReasons","paramTypeBytes","paramTypeNumber","defaultCoder","defaultMaxInflation","getBuiltinCallException","action","abiCoder","invocation","revert","transaction","_AbiCoder","_getCoder","getCoder_fn","AbiCoder","encodeBytes32String","decodeBytes32String","LogDescription","fragment","TransactionDescription","selector","ErrorDescription","Indexed","BuiltinErrors","_Interface","fragments","_getFunction","_getEvent","_errors","_events","_functions","_abiCoder","frags","fallback","receive","minimal","getFunction_fn","getEvent_fn","matching","matchStr","topics","encodeTopic","dataTypes","dataValues","eventTopic","nonIndexed","resultIndexed","resultNonIndexed","nonIndexedIndex","indexedIndex","log","hexData","forceUnique","lastValue","valueLength","allowOptions","lastArg","Interface","toJson","FeeData","gasPrice","maxFeePerGas","maxPriorityFeePerGas","copyRequest","bigIntKeys","numberKeys","Block","provider","_transactions","TransactionResponse","txs","baseFeePerGas","difficulty","extraData","gasLimit","gasUsed","miner","nonce","parentHash","parentBeaconBlockRoot","stateRoot","receiptsRoot","timestamp","transactions","indexOrHash","createOrphanedBlockFilter","Log","blockHash","blockNumber","removed","transactionHash","transactionIndex","receipt","createRemovedLogFilter","TransactionReceipt","_logs","contractAddress","logsBloom","logs","createRemovedTransactionFilter","createReorderedTransactionFilter","_TransactionResponse","_startBlock","accessList","blobVersionedHashes","_confirms","confirms","startBlock","nextScan","stopScanning","checkReplacement","mined","checkReceipt","cancellers","timer","txListener","replaceListener","EventLog","iface","UndecodedEventLog","ContractTransactionReceipt","_iface","ContractTransactionResponse","ContractUnknownEventPayload","contract","ContractEventPayload","_log","canCall","canEstimate","canResolve","canSend","getResolver","PreparedTopicFilter","_filter","runner","getRunner","resolvedArgs","feature","getProvider","copyOverrides","_overrides","overrides","resolveArgs","_runner","buildWrappedFallback","populateTransaction","noValue","noData","staticCall","send","estimateGas","buildWrappedMethod","getFragment","staticCallResult","buildWrappedEvent","internalValues","setInternal","getInternal","isDeferred","getSubInfo","topicHashify","tag","hasSub","getSub","foundFragment","_foundFragment","emit","starting","started","lastEmit","_emit","payloadFunc","passArgs","resultPromise","_BaseContract","_deployTx","addrPromise","deployTx","filters","checkCode","fromBlock","toBlock","stop","CustomContract","BaseContract","_ContractBase","Contract$1","ContractFactory","bytecode","sentTx","getIpfsLink","MulticoinProviderPlugin","proivder","coinType","matcherIpfs","matchers","_EnsResolver","_fetch","_supports2544","_resolver","Contract","fetch_fn","ethCoinType","coinPlugin","plugin","ipfs","swarm","linkage","avatar","owner","tokenId","tokenOwner","balance","metadataUrl","metadata","imageUrl","network","ensPlugin","currentName","_getResolver","getResolver_fn","funcName","ensAddr","EnsResolver","allowNull","nullValue","arrayOf","altNames","srcKey","altKey","formatBoolean","formatData","formatHash","_formatLog","formatLog","_formatBlock","formatBlock","formatTransactionResponse","_formatReceiptLog","formatReceiptLog","_formatTransactionReceipt","formatTransactionReceipt","EnsAddress","NetworkPlugin","GasCostPlugin","effectiveBlock","costs","nullish","EnsPlugin","targetNetwork","_FeeDataNetworkPlugin","feeDataFunc","_feeDataFunc","FeeDataNetworkPlugin","FetchUrlFeeDataNetworkPlugin","processFunc","_processFunc","Networks","_Network","_name","_plugins","basename","injectCommonNetworks","networkFunc","nameOrChainId","existing","Network","frac","getGasStationPlugin","fetchFeeData","_feeData","injected","registerEth","PollingBlockSubscriber","_poll","_provider","_poller","_interval","_blockNumber","poll_fn","dropWhilePaused","OnBlockSubscriber","_running","PollingBlockTagSubscriber","_tag","_lastBlock","PollingOrphanSubscriber","PollingTransactionSubscriber","_hash","PollingEventSubscriber","MAX_CCIP_REDIRECTS","isPromise","getTag","UnmanagedSubscriber","concisify","getSubscription","_event","addresses","addAddress","defaultOptions","AbstractProvider","_network","_perform","_call","_checkNetwork","_getAccountValue","_getBlock","_hasSub","_getSub","_subs","_pausedState","_destroyed","_networkPromise","_anyNetwork","_performCache","_lastBlockNumber","_nextTimer","_timers","_disableCcipRead","calldata","urls","sender","errorMessages","perform_fn","blockTag","_address","detectNetwork","networkPromise","expected","getFeeDataFunc","_block","priorityFee","getBlock_fn","feeData","_tx","checkNetwork_fn","call_fn","getAccountValue_fn","_position","signedTx","Transaction","prefetchTxs","timerId","_func","subscriber","oldSub","newSub","getSub_fn","hasSub_fn","pause","perform","txSender","ccipArgs","parseOffchainLookup","ccipResult","encodeBytes","_blockTag","includeTransactions","emitArgs","subscription","_parseString","_parseBytes","numPad","padded","bytesPad","empty","byteCount","zeros","urlsOffset","urlsLength","urlsData","checkProvider","signer","populate","pop","AbstractSigner","hasEip1559","txObj","_VoidSigner","_throwUnsupported","throwUnsupported_fn","VoidSigner","shown","showThrottleMessage","service","FilterIdSubscriber","_teardown","_filterIdPromise","_hault","teardown_fn","filterId","filterIdPromise","FilterIdEventSubscriber","FilterIdPendingSubscriber","Primitive","deepCopy","duration","getLowerCase","isPollable","JsonRpcSigner","hexTx","timeouts","invalids","checkTx","_message","populated","JsonRpcApiProvider","_scheduleDrain","_nextId","_payloads","_drainTimer","_notReady","_pendingDetectNetwork","staticNetwork","scheduleDrain_fn","dstKey","spelunkData","spelunkMessage","unsupported","accountsPromise","accounts","account","stallTime","payloads","batch","JsonRpcApiPollingProvider","_pollingInterval","_connect","_spelunkMessage","defaultApiKey","getHost","AnkrProvider","JsonRpcProvider","apiKey","AlchemyProvider","trace","CloudflareProvider","THROTTLE","EtherscanPluginId","EtherscanPlugin","skipKeys","nextId","EtherscanProvider","_apiKey","_plugin","query","post","throttle","postData","_WebSocket","SocketSubscriber","_filterId","_paused","_emitPromise","emitPromise","SocketBlockSubscriber","SocketPendingSubscriber","SocketEventSubscriber","_logFilter","SocketProvider","_callbacks","_pending","pending","WebSocketProvider","_websocket","defaultProjectId","InfuraWebSocketProvider","projectId","InfuraProvider","projectSecret","defaultToken","QuickNodeProvider","shuffle","defaultState","waitForSync","_normalize","normalizeResult","checkQuorum","quorum","tally","weight","best","getMedian","resultWeight","bestError","getAnyResult","getFuzzyMode","bestWeight","bestResult","FallbackProvider","providers","_getNextConfig","_addRunner","_initialSync","_checkQuorum","_waitForQuorum","_configs","_height","_initialSyncPromise","broadcasts","waiting","initialSync_fn","running","inflightQuorum","addRunner_fn","waitForQuorum_fn","getNextConfig_fn","configs","allConfigs","dt","initialSync","checkQuorum_fn","mode","interesting","newRunners","isWebSocketLike","Testnets","getDefaultProvider","allowService","_NonceManager","_noncePromise","_delta","noncePromise","NonceManager","BrowserProvider","ethereum","defaultApplicationId","PocketProvider","applicationId","applicationSecret","IpcSocketProvider","_BaseWallet","_signingKey","btx","BaseWallet","subsChrs","Word","unfold","words","sep","clumps","leftover","semi","decodeOwl","Wordlist","locale","phrase","WordlistOwl","_loadWords","_checksum","_words","loadWords_fn","wordlist","LangEn","getUpperMask","getLowerMask","mnemonicToEntropy","mnemonic","entropy","bit","entropyBits","checksumBits","checksumMask","entropyToMnemonic","indices","remainingBits","Mnemonic","_entropy","__classPrivateFieldGet","__classPrivateFieldSet","_AES_key","_AES_Kd","_AES_Ke","numberOfRounds","rcon","Si","T3","T4","T5","T6","T7","T8","U3","U4","convertToInt32","AES","roundKeyCount","KC","tk","rconpointer","tt","plaintext","ciphertext","ModeOfOperation","_CBC_iv","_CBC_lastBlock","CBC","iv","_CTR_remaining","_CTR_remainingIndex","_CTR_counter","CTR","initialValue","crypttext","pkcs7Strip","padder","looseArrayify","zpad","getPassword","spelunk","_path","reqd","defaultPath","isKeystoreJson","json","decrypt","aesCtr","getAccount","computedMAC","mnemonicKey","mnemonicCiphertext","mnemonicIv","mnemonicAesCtr","getDecryptKdfParams","kdf","prf","decryptKeystoreJsonSync","decryptKeystoreJson","getEncryptKdfParams","_encryptKeystore","uuidRandom","derivedKey","macPrefix","mac","client","gethFilename","encryptKeystoreJsonSync","passwordBytes","encryptKeystoreJson","MasterSecret","HardenedBit","encodeBase58Check","ser_I","chainCode","derivePath","component","_HDNodeWallet","signingKey","parentFingerprint","depth","_account","fingerprint","progressCallback","account_fn","HDNodeVoidWallet","_index","IR","IL","ki","extendedKey","_fromSeed","fromSeed_fn","_seed","HDNodeWallet","Ki","getAccountPath","getIndexedAccountPath","isCrowdsaleJson","decryptCrowdsaleJson","encseed","encryptedSeed","aesCbc","seedHex","_fromAccount","fromAccount_fn","wallet","Base64","decodeBits","flood","decodeOwlA","accents","accent","posOffset","positions","charCode","WordlistOwlA","_accent","wordlists","Ethers","Wallet","txPromises","blockPromises","blocks","txHash","txId","_Provider","Provider","rejectMap","transactionSigner","eventName","arbitrum","arbitrumGoerli","arbitrumNova","aurora","auroraTestnet","avalanche","avalancheFuji","baseGoerli","bearNetworkChainMainnet","bearNetworkChainTestnet","boba","bronos","bronosTestnet","bsc","bscTestnet","bxn","bxnTestnet","canto","celo","celoAlfajores","celoCannoli","classic","confluxESpace","cronos","cronosTestnet","crossbell","dfk","dogechain","edgeware","edgewareTestnet","emerald","eos","eosTestnet","evmos","evmosTestnet","ekta","ektaTestnet","ewc","fantom","fantomTestnet","fibo","filecoin","filecoinCalibration","filecoinHyperspace","flare","flareTestnet","foundry","fuse","fuseSparknet","iotex","iotexTestnet","gobi","goerli","gnosis","gnosisChiado","hardhat","harmonyOne","haqqMainnet","haqqTestedge2","klaytn","linea","lineaTestnet","localhost","mainnet","mantle","mantleTestnet","metis","metisGoerli","mev","mevTestnet","modeTestnet","moonbaseAlpha","moonbeam","moonriver","neonDevnet","nexi","nexilix","oasys","okc","optimism","optimismGoerli","polygon","polygonMumbai","polygonZkEvmTestnet","polygonZkEvm","pulsechain","pulsechainV4","qMainnet","qTestnet","rollux","rolluxTestnet","ronin","saigon","scrollSepolia","scrollTestnet","sapphire","sapphireTestnet","sepolia","skaleBlockBrawlers","skaleCalypso","skaleCalypsoTestnet","skaleChaosTestnet","skaleCryptoBlades","skaleCryptoColosseum","skaleEuropa","skaleEuropaTestnet","skaleExorde","skaleHumanProtocol","skaleNebula","skaleNebulaTestnet","skaleRazor","skaleTitan","skaleTitanTestnet","songbird","songbirdTestnet","shardeumSphinx","syscoin","syscoinTestnet","taraxa","taikoTestnetSepolia","taraxaTestnet","telos","telosTestnet","thunderTestnet","volta","wanchain","wanchainTestnet","xdc","xdcTestnet","zhejiang","zkSync","zkSyncTestnet","zetachainAthensTestnet","zora","zoraTestnet","networks","wagmiChains","wagmiChain","backupRpcUrl","_e","_f","_g","_i","_k","_j","_m","networks$1","hexId","symbol","switcher","addNetwork","changeNetwork","getChainId","icons","Phantom","_n","phantom","MetaMask","metamaskProvider","ABI","TransactionSigner","rawData","NFT","ERC721","nftId","spender","Coin","amount","hexAmount","txData","Token","ERC20","totalSupply","allowance","selectors","tryNft","explorerUrl","confirmations","ContractTransaction","NftTransaction","direction","CoinTransaction","TokenTransaction","TransactionListener","transactionId","checkSigner","expectedParams","receivedParams","transactionIdOrLog","transactionLog","decodedData","define_import_meta_env_default","SECURE_SITE","ONRAMP_PROVIDERS","ConstantsUtil","CoreHelperUtil","networkName","ua","expiry","lastRetry","caipAddress","milliseconds","appUrl","wcUri","safeAppUrl","encodedWcUrl","features","imagePromise","image","formattedBalance","timeZone","capTimeZone","approvedIds","requestedNetworks","approvedIndexMap","indexA","indexB","roundedNumber","dollars","pennies","FetchUtil","proxy","OptionsController","subKey","allWallets","includeWalletIds","excludeWalletIds","featuredWalletIds","termsConditionsUrl","privacyPolicyUrl","customWallets","isSiweEnabled","enableAnalytics","sdkVersion","enableOnramp","enableWalletFeatures","DEFAULT_OPTIONS","api","BlockchainApiController","cursor","onramp","queryParams","tokenAddress","userAddress","sdkType","destinationWallets","partnerUserId","defaultNetwork","purchaseAmount","paymentAmount","purchaseCurrency","paymentCurrency","SnackController","getDefaultExportFromCjs","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","runClearTimeout","marker","queue","draining","currentQueue","queueIndex","cleanUpNextTick","drainQueue","Item","browserExports","process$1","WC_DEEPLINK","W3M_RECENT","W3M_CONNECTED_WALLET_IMAGE_URL","W3M_CONNECTED_CONNECTOR","StorageUtil","deepLink","recentWallets","recent","connectorType","excluded","EventsController","TransactionsController","accountAddress","nonSpamTransactions","filteredTransactions","transactionsMap","grouped","year","month","yearTransactions","newMonthTransactions","transfer","ConnectionController","ref","uri","ids","wcLinking","wcError","buffering","PublicStateController","newState","this","$","O","dayjs","relativeTime","updateLocale","DateUtil","date","NetworkUtil","caipnetworkId","NumberUtil","aBigNumber","bBigNumber","NetworkController","caipNetwork","allowUnsupportedChain","smartAccountEnabledNetworks","approvedCaipNetworkIds","requestedCaipNetworks","networkId","ModalController","ConvertApiUtil","sourceTokenAmount","sourceTokenDecimals","parsedValue","AccountController","balances","RouterController","historyIndex","INITIAL_GAS_LIMIT","ConvertController","networkAddress","loading","sourceToken","sourceTokenAddress","toToken","toTokenAddress","price","newSourceToken","newToToken","networkToken","aTokenInfo","bTokenInfo","existPrice","fungibles","allTokens","priceAsFloat","gasFee","fromAddress","toTokenDecimals","totalGasCostInWei","totalGasCostInEther","toTokenAmount","gasPriceInUSD","sourceTokenPrice","toTokenPrice","slippageToleranceDecimal","fromCaipAddress","hasAllowance","multiplier","toAmount","isSourceTokenIsNetworkToken","amountBigInt","toTokenPriceInUSD","isConnected","balanceSymbol","profileName","profileImage","isDeployed","currentTab","tokenBalance","connectedWalletInfo","preferredAccountType","AssetController","ThemeController","themeMode","emailConnector","ConnectorController","themeVariables","snapshot","connectors","connector","optionsState","rdns","entries","recommendedEntries","ApiController","imageId","blob","countryCode","currencies","currency","images","exclude","recommendedImages","recentImages","page","search","isAnalyticsEnabled","connected","USDC_CURRENCY_DEFAULT","USD_CURRENCY_DEFAULT","OnRampController","quote","SendController","sendTokenAmount","receiverAddress","receiverProfileImageUrl","receiverProfileName","AssetUtil","RouterUtil","history","networkSelectIndex","n$f","b$9","T","V$7","S$b","L","M$6","R$6","k$8","H$5","I$6","L$b","s$7","_o","convertInputMaskBottomSvg","svg","convertInputMaskTopSvg","themeTag","darkModeTag","lightModeTag","initializeTheming","createRootStyles","setColorTheme","setThemeVariables","css","unsafeCSS","resetStyles","elementStyles","colorStyles","standardCustomElement","tagName","clazz","legacyCustomElement","customElement","classOrDescriptor","__decorate","decorators","WuiCard","LitElement","html","styles","allWalletsSvg","arrowBottomCircleSvg","appStoreSvg","appleSvg","arrowBottomSvg","arrowLeftSvg","arrowRightSvg","arrowTopSvg","browserSvg","checkmarkSvg","chevronBottomSvg","chevronLeftSvg","chevronRightSvg","chevronTopSvg","chromeStoreSvg","clockSvg","closeSvg","coinPlaceholderSvg","compassSvg","copySvg","addSvg","cursorSvg","desktopSvg","disconnectSvg","discordSvg","etherscanSvg","extensionSvg","externalLinkSvg","facebookSvg","filtersSvg","githubSvg","googleSvg","helpCircleSvg","infoCircleSvg","mailSvg","mobileSvg","networkPlaceholderSvg","nftPlaceholderSvg","offSvg","playStoreSvg","qrCodeIcon","refreshSvg","searchSvg","sendSvg","swapHorizontalSvg","swapHorizontalBoldSvg","swapHorizontalMediumSvg","swapHorizontalRoundedBoldSvg","swapVerticalSvg","telegramSvg","twitchSvg","twitterSvg","twitterIconSvg","verifySvg","verifyFilledSvg","walletPlaceholderSvg","walletSvg","walletConnectSvg","warningCircleSvg","recycleHorizontalSvg","bankSvg","cardSvg","plusSvg","cursorTransparentSvg","checkmarkBoldSvg","svgOptions","WuiIcon","WuiImage","WuiLoadingHexagon","WuiLoadingSpinner","WuiLoadingThumbnail","radius","radiusFactor","dashArrayStart","dashArrayEnd","dashOffset","WuiShimmer","i$8","WuiText","classes","classMap","daoSvg","defiSvg","defiAltSvg","ethSvg","layersSvg","lockSvg","loginSvg","networkSvg","nftSvg","nounSvg","profileSvg","systemSvg","coinbaseSvg","moonpaySvg","stripeSvg","paypalSvg","onrampCardSvg","pencilSvg","lightbulbSvg","WuiVisual","UiHelperUtil","spacing","charsStart","charsEnd","truncate","baseColor","rgbColor","masterBorderRadius","edge","gradientCircle","colors","tintedColor","bigint","rgb","tint","tintedR","tintedG","tintedB","character","theme","threshold","fixed","WuiFlex","WuiAvatar","cssColors","WuiIconBox","iconSize","isLg","isXl","bgMix","borderRadius","isGray","isOpaque","isColorChange","bgValueVariable","WuiAccountButton","ifDefined","networkElement","WuiWalletImage","TOTAL_IMAGES","WuiAllWalletsImage","isPlaceholders","walletName","TEXT_VARIANT_BY_SIZE","WuiButton","textVariant","networkSvgMd","WuiCardSelectLoader","networkSvgSm","networkSvgLg","WuiNetworkImage","networkImagesBySize","WuiCardSelect","WuiChip","WuiConnectButton","WuiCtaButton","WuiDetailsGroup","WuiDetailsGroupItem","f$7","h$9","WuiInputText","createRef","sizeClass","WuiEmailInput","WuiIconLink","WuiInputElement","WuiInputNumeric","WuiLink","WuiListItem","color","TransactionTypePastTense","WuiTransactionVisual","firstImage","secondImage","isLeftNFT","isRightNFT","leftRadius","rightRadius","firstImageType","icon","WuiTransactionListItem","WuiTransactionListItemLoader","WuiTag","WuiListWallet","WuiLogo","WuiLogoSelect","WuiNetworkButton","WuiOtp","inputElement","keyArr","currentCaretPos","nextIndex","numeric","numericElements","targetElement","inputValue","inputString","nextNumeric","nextInput","canPromise","toSJISFunction","CODEWORDS_COUNT","digit","utils$8","kanji","BitBuffer","BitBuffer$1","bufIndex","bitBuffer","BitMatrix","row","col","reserved","BitMatrix$1","bitMatrix","getSymbolSize","require$$0","posCount","intervals","coords","posLength","FINDER_PATTERN_SIZE","finderPattern","PenaltyScores","sameCountCol","sameCountRow","lastCol","lastRow","bitsCol","bitsRow","darkCount","modulesCount","getMaskAt","maskPattern","pattern","setupFormatFunc","numPatterns","bestPattern","lowerPenalty","penalty","ECLevel","EC_BLOCKS_TABLE","EC_CODEWORDS_TABLE","errorCorrectionCode","errorCorrectionLevel","EXP_TABLE","LOG_TABLE","galoisField","GF","coeff","divident","divisor","degree","poly","Polynomial","ReedSolomonEncoder","ReedSolomonEncoder$1","paddedData","buff","reedSolomonEncoder","versionCheck","alphanumeric","TEST_KANJI","TEST_NUMERIC","TEST_ALPHANUMERIC","VersionCheck","Regex","require$$1","dataStr","Utils","ECCode","require$$2","Mode","require$$3","require$$4","G18","G18_BCH","getBestVersionForDataLength","currentVersion","getReservedBitsCount","getTotalBitsFromDataArray","segments","totalBits","reservedBits","getBestVersionForMixedData","totalCodewords","ecTotalCodewords","dataTotalCodewordsBits","usableBits","seg","ecl","G15","G15_MASK","G15_BCH","formatInfo","NumericData","remainingNum","numericData","ALPHA_NUM_CHARS","AlphanumericData","alphanumericData","encodeUtf8","ByteData","byteData","KanjiData","kanjiData","dijkstra","graph","predecessors","open","closest","cost_of_s_to_u","adjacent_nodes","cost_of_e","cost_of_s_to_u_plus_cost_of_e","cost_of_s_to_v","first_visit","nodes","cost","require$$5","require$$6","require$$7","getStringByteLength","getSegments","getSegmentsFromString","numSegs","alphaNumSegs","byteSegs","kanjiSegs","s2","getSegmentBitsLength","mergeSegments","segs","prevSeg","buildNodes","buildGraph","prevNodeIds","nodeGroup","currentNodeIds","prevNodeId","buildSingleSegment","modesHint","bestMode","optimizedSegs","AlignmentPattern","FinderPattern","MaskPattern","require$$8","Version","require$$9","FormatInfo","require$$10","require$$11","Segments","require$$12","setupFinderPattern","matrix","setupTimingPattern","setupAlignmentPattern","setupVersionInfo","setupFormatInfo","setupData","inc","bitIndex","byteIndex","dark","createData","remainingByte","createCodewords","dataTotalCodewords","ecTotalBlocks","blocksInGroup2","blocksInGroup1","totalCodewordsInGroup1","dataCodewordsInGroup1","dataCodewordsInGroup2","ecCount","rs","dcData","ecData","maxDataSize","dataSize","createSymbol","estimatedVersion","rawSegments","bestVersion","dataBits","moduleCount","modules","qrcode","hex2rgba","hexCode","margin","scale","qrSize","imgData","qr","symbolSize","scaledMargin","palette","posDst","pxColor","iSrc","jSrc","clearCanvas","canvas","getCanvasElement","qrData","canvasEl","rendererOpts","getColorAttrib","attrib","alpha","svgCmd","cmd","qrToPath","moveBy","newRow","lineLength","svgTag","qrcodesize","bg","viewBox","QRCode","CanvasRenderer","SvgRenderer","renderCanvas","renderFunc","argsNum","isLastArgCb","CONNECTING_ERROR_MARGIN","CIRCLE_SIZE_MODIFIER","QRCODE_MATRIX_MARGIN","isAdjecentDots","cy","otherCy","cellSize","getMatrix","QRCodeUtil","sqrt","rows","QrCodeUtil","logoSize","dotColor","edgeColor","qrList","x1","y1","dotSize","clearArenaSize","matrixMiddleStart","matrixMiddleEnd","circles","cx","circlesToConnect","cys","newCys","WuiQrCode","WuiSearchBar","inputComponent","WuiSnackbar","WuiTabs","tab","isActive","initialAnimation","passiveBtn","activeBtn","passiveBtnText","activeBtnText","activeBtnBounds","activeBtnTextBounds","WuiTokenButton","WuiTooltip","WuiTooltipSelect","WuiTokenListItem","WuiVisualThumbnail","WuiNoticeCard","MAX_HEIGHT","WuiListAccordion","changedProperties","heightElement","textElement","scrollHeight","WuiListContent","WuiListNetwork","WuiListWalletTransaction","WuiOnRampActivityItem","WuiOnRampProviderItem","slicedNetworks","WuiPromo","WuiBalance","WuiProfileButton","WuiChipButton","WuiCompatibleNetwork","WuiBanner","WuiListToken","WuiListDescription","specialCharactersRegex","numbersRegex","WuiInputAmount","inputChar","WuiPreviewItem","WuiGrid","WuiSeparator","MathUtil","inputRange","outputRange","originalRangeMin","originalRangeMax","newRangeMin","newRangeMax","FLOAT_FIXED_VALUE","plusTypes","minusTypes","TransactionUtil","monthNumber","currentYear","monthName","transfers","secondTransfer","isAllNFT","haveMultipleTransfers","imageURL","isNFT","isFungible","haveTransfer","firstTransfer","firstDescription","secondDescription","W3mAccountButton","unsubscribe","networkImage","showBalance","W3mButton","W3mConnectButton","isLoading","SCROLL_LOCK","W3mModal","newAccountState","SIWEController","defaultThemeMode","styleTag","card","newCaipAddress","session","W3mNetworkButton","W3mRouter","height","newView","xOut","xIn","PAYMENT_CURRENCY_SYMBOLS","BUY_PRESET_AMOUNTS","W3mOnrampWidget","_p","SECURE_SITE_SDK","W3mFrameConstants","W3mFrameRpcConstants","zError","zType","z$a","AppSwitchNetworkRequest","AppConnectEmailRequest","AppConnectOtpRequest","AppGetUserRequest","AppUpdateEmailRequest","AppUpdateEmailPrimaryOtpRequest","AppUpdateEmailSecondaryOtpRequest","AppSyncThemeRequest","AppSyncDappDataRequest","AppSetPreferredAccountRequest","FrameConnectEmailResponse","FrameUpdateEmailResponse","FrameGetUserResponse","FrameIsConnectedResponse","FrameGetChainIdResponse","FrameSwitchNetworkResponse","FrameUpdateEmailSecondaryOtpResolver","FrameGetSmartAccountEnabledNetworksResponse","FrameSetPreferredAccountResponse","RpcResponse","RpcEthAccountsRequest","RpcEthBlockNumber","RpcEthCall","RpcEthChainId","RpcEthEstimateGas","RpcEthFeeHistory","RpcEthGasPrice","RpcEthGetAccount","RpcEthGetBalance","RpcEthGetBlockyByHash","RpcEthGetBlockByNumber","RpcEthGetBlockReceipts","RcpEthGetBlockTransactionCountByHash","RcpEthGetBlockTransactionCountByNumber","RpcEthGetCode","RpcEthGetFilter","RpcEthGetFilterLogs","RpcEthGetLogs","RpcEthGetProof","RpcEthGetStorageAt","RpcEthGetTransactionByBlockHashAndIndex","RpcEthGetTransactionByBlockNumberAndIndex","RpcEthGetTransactionByHash","RpcEthGetTransactionCount","RpcEthGetTransactionReceipt","RpcEthGetUncleCountByBlockHash","RpcEthGetUncleCountByBlockNumber","RpcEthMaxPriorityFeePerGas","RpcEthNewBlockFilter","RpcEthNewFilter","RpcEthNewPendingTransactionFilter","RpcEthSendRawTransaction","RpcEthSyncing","RpcUnistallFilter","RpcPersonalSignRequest","RpcEthSignTypedDataV4","RpcEthSendTransactionRequest","FrameSession","W3mFrameSchema","W3mFrameStorage","W3mFrameHelpers","RegexUtil","RESTRICTED_TIMEZONES","EMAIL_MINIMUM_TIMEOUT","lastEmailLoginTime","difference","cooldownSec","W3mFrame","isAppClient","frameEvent","appEvent","iframe","W3mFrameProvider","newEmail","email","W3mAccountSettingsView","isMultiNetwork","isValidNetwork","networkEnabled","smartAccountEnabled","accountTypeTarget","W3mAccountView","W3mAllWalletsView","isSearch","W3mBuyInProgressView","subLabel","borderRadiusMaster","PresetsUtil","HelpersUtil","caipTokens","W3mConnectView","featured","announcedRdns","featuredCount","rawCount","roundedCount","tagLabel","recommended","filteredInjected","overrideLength","maxRecommended","wallets","connectorRDNSs","recentRDNSs","allRDNSs","W3mConnectingWidget","retryButton","W3mConnectingExternalView","W3mConnectingWcView","wcPairingExpiry","recentWallet","mobile_link","desktop_link","webapp_link","injectedIds","injected_id","browserIds","isBrowser","isMobileWc","isWebWc","isBrowserInstalled","isBrowserWc","isDesktopWc","container","W3mDownloadsView","EXPLORER","W3mGetWalletView","W3mNetworkSwitchView","W3mNetworksView","supportsAllNetworks","sortedNetworks","LOADING_ITEM_COUNT","W3mOnRampActivityView","fungibleInfo","yearInt","groupTitle","today","W3mOnrampFiatSelectView","W3mOnRampProvidersView","urlPromises","assets","W3mOnrampTokensView","W3mConvertView","newCaipNetwork","isOpen","newRoute","myToken","ct","isNetworkToken","amountOfTokenGasRequires","toTokenConvertedAmount","haveNoTokenSelected","W3mConvertPreviewView","newBalanceSymbol","sourceTokenText","toTokenText","sourceTokenValue","toTokenValue","sentPrice","receivePrice","W3mConvertSelectTokenView","suggestedTokensContainer","tokensList","yourTokens","filteredYourTokens","filteredTokens","selected","W3mTransactionsView","W3mWhatIsANetworkView","W3mWhatIsAWalletView","W3mWhatIsABuyView","OTP_LENGTH","W3mEmailOtpWidget","isResendDisabled","footerLabels","W3mEmailVerifyOtpView","otp","W3mEmailVerifyDeviceView","PAGE_HEIGHT","PAGE_WIDTH","HEADER_HEIGHT","W3mApproveTransactionView","isMobile","W3mUpgradeWalletView","W3mUpgradeToSmartAccountView","W3mUpdateEmailWalletView","showSubmit","W3mUpdateEmailPrimaryOtpView","W3mUpdateEmailSecondaryOtpView","W3mUnsupportedChainView","W3mWalletReceiveView","isNetworkEnabledForSmartAccounts","imagesArray","W3mWalletCompatibleNetworksView","W3mWalletSendView","W3mSendSelectTokenView","W3mWalletSendPreviewView","totalValue","markWalletsAsInstalled","installedConnectors","acum","PAGINATOR_ID","W3mAllWalletsList","gridEl","columns","currentWallets","shimmerCount","loaderEl","W3mAllWalletsSearch","W3mConnectingHeader","tabs","W3mConnectingWcBrowser","announcedConnector","injectedConnector","W3mConnectingWcDesktop","redirect","W3mConnectingWcMobile","isIos","W3mConnectingWcQrcode","alt","inactive","W3mConnectingWcUnsupported","W3mConnectingWcWeb","WuiConvertDetails","MINIMUM_USD_VALUE_TO_CONVERT","W3mConvertInput","marketValue","isMarketValueGreaterThanZero","allowedKeys","isComma","isDot","currentValue","tokenElement","balanceValueInUSD","haveBalance","headings","connectorName","W3mHeader","isConnectHelp","shouldHideBack","headingEl","preset","buttonEl","W3mHelpWidget","W3mInputCurrency","W3mLegalFooter","W3mMobileDownloadLinks","app_store","play_store","chrome_store","homepage","isAndroid","isMultiple","shortName","W3mOnRampProvidersFooter","presets","W3mSnackBar","variant","W3mEmailLoginWidget","multipleConnectors","parsedError","W3mAccountDefaultWidget","origin","addressExplorerUrl","W3mAccountWalletFeaturesWidget","W3mAccountActivityWidget","W3mAccountNftsWidget","W3mAccountTokensWidget","W3mActivityList","sortedYearKeys","isLastGroup","isLastTransaction","descriptions","isLastTransfer","lastItem","W3mInputToken","W3mInputAddress","focus","W3mWalletSendDetails","isInitialized","Web3ModalScaffold","route","index$4","index$3","modal","ReflectApply","ReflectOwnKeys","ProcessEmitWarning","warning","NumberIsNaN","eventsModule","defaultMaxListeners","checkListener","_getMaxListeners","that","doError","handler","arrayClone","_addListener","prepend","onceWrapper","_onceWrap","originalListener","spliceOne","unwrap","evlistener","unwrapListeners","listenerCount","errorListener","eventTargetAgnosticAddListener","addErrorHandlerIfEventEmitter","flags","wrapListener","imulShim","ah","bh","isIntegerShim","binary","int_1","readInt16BE","readUint16BE","readInt16LE","readUint16LE","writeUint16BE","writeUint16LE","readInt32BE","readUint32BE","readInt32LE","readUint32LE","writeUint32BE","writeUint32LE","readInt64BE","readUint64BE","readInt64LE","readUint64LE","writeUint64BE","writeUint64LE","readUintBE","readUintLE","writeUintBE","writeUintLE","readFloat32BE","readFloat32LE","readFloat64BE","readFloat64LE","writeFloat32BE","writeFloat32LE","writeFloat64BE","writeFloat64LE","wipe_1","wipe","wipe$1","chacha","binary_1","ROUNDS","core","j0","j1","j2","j3","j4","j5","j6","j7","j8","j9","j10","j11","j12","j13","j14","j15","x0","x4","x5","x6","x7","x8","x9","streamXOR","nonceInplaceCounterLength","nc","counterLength","incrementCounter","stream","counter","constantTime","select","subject","resultIfOne","resultIfZero","lessOrEqual","equal","constant_time_1","Poly1305","t6","t7","mpos","hibit","h5","h6","h7","h8","h9","r0","r1","r2","r3","r4","r5","r6","r7","r8","r9","d3","d4","d5","d6","d7","d8","d9","macpos","want","oneTimeAuth","chacha_1","poly1305_1","ZEROS","ChaCha20Poly1305","associatedData","authKey","resultLength","sealed","calculatedTag","tagOut","isSerializableHash","hash$3","hmac_1","hash_1","savedState","hmac$2","hkdf","HKDF","okm","ctr","HKDF_1","QUOTA","BrowserRandomSource","browserCrypto","browser$h","copyProps","SafeBuffer","MAX_BYTES","MAX_UINT32","oldBrowser","browserModule","generated","inherits_browserModule","ctor","superCtor","TempCtor","streamBrowser","shams","symObj","symVal","syms","hasSymbols","esErrors","_eval","syntax","origSymbol","hasSymbolSham","test","$Object","hasProto","ERROR_MESSAGE","funcType","concatty","slicy","arrLike","joiny","joiner","implementation","bound","binder","boundLength","boundArgs","functionBind","call","$hasOwn","hasown","undefined","$Error","$EvalError","$RangeError","$ReferenceError","$SyntaxError","$TypeError","$URIError","$Function","getEvalledConstructor","expressionSyntax","$gOPD","throwTypeError","ThrowTypeError","getProto","needsEval","INTRINSICS","errorProto","doEval","LEGACY_ALIASES","hasOwn","$concat","$spliceApply","$replace","$strSlice","$exec","rePropName","reEscapeChar","stringToPath","subString","getBaseIntrinsic","allowMissing","intrinsicName","alias","getIntrinsic","intrinsicBaseName","intrinsic","intrinsicRealName","skipFurtherCaching","isOwn","part","GetIntrinsic","$defineProperty","esDefineProperty","gopd","defineDataProperty","nonEnumerable","nonWritable","nonConfigurable","hasPropertyDescriptors","hasPropertyDescriptors_1","hasDescriptors","gOPD","$floor","setFunctionLength","functionLengthIsConfigurable","functionLengthIsWritable","$apply","$call","$reflectApply","$max","originalFunction","applyBind","callBind","$indexOf","callBound","hasToStringTag","$toString","isStandardArguments","isLegacyArguments","supportsStandardArguments","isArguments","fnToStr","isFnRegex","getGeneratorFunc","GeneratorFunction","isGeneratorFunction","generatorFunc","reflectApply","badArrayLike","isCallableMarker","constructorRegex","isES6ClassFn","fnStr","tryFunctionObject","objectClass","fnClass","genClass","ddaClass","ddaClass2","ddaClass3","isIE68","isDDA","isCallable","strClass","forEachArray","forEachString","forEachObject","forEach_1","possibleTypedArrayNames","possibleNames","availableTypedArrays","typedArrays","$slice","typedArray","superProto","tryTypedArrays","trySlices","whichTypedArray","isArgumentsObject","uncurryThis","BigIntSupported","SymbolSupported","ObjectToString","numberValue","stringValue","booleanValue","bigIntValue","symbolValue","checkBoxedPrimitive","prototypeValueOf","isDataView","isUint8ClampedArray","isUint16Array","isUint32Array","isInt8Array","isInt16Array","isInt32Array","isFloat32Array","isFloat64Array","isBigInt64Array","isBigUint64Array","isMapToString","isMap","isSetToString","isSet","isWeakMapToString","isWeakMap","isWeakSetToString","isWeakSet","isArrayBufferToString","isDataViewToString","SharedArrayBufferCopy","isSharedArrayBufferToString","isSharedArrayBuffer","isAsyncFunction","isMapIterator","isSetIterator","isGeneratorObject","isWebAssemblyCompiledModule","isNumberObject","isStringObject","isBooleanObject","isBigIntObject","isSymbolObject","isBoxedPrimitive","isAnyArrayBuffer","isBufferBrowser","getOwnPropertyDescriptors","formatRegExp","objects","inspect","isNull","warned","deprecated","debugs","debugEnvRegex","debugEnv","pid","stylizeNoColor","stylizeWithColor","formatValue","styleType","style","arrayToHash","recurseTimes","primitive","formatPrimitive","visibleKeys","formatError","braces","formatArray","formatProperty","reduceToSingleString","simple","isNullOrUndefined","isSymbol","re","objectToString","isPrimitive","months","time","kCustomPromisifiedSymbol","original","promiseResolve","promiseReject","callbackifyOnRejected","newReason","callbackify","callbackified","maybeCb","rej","ownKeys","enumerableOnly","_objectSpread","_defineProperty","_toPropertyKey","_classCallCheck","Constructor","_defineProperties","_createClass","protoProps","staticProps","_toPrimitive","hint","prim","_require","_require2","copyBuffer","buffer_list","BufferList","entry","hasStrings","nb","destroy","readableDestroyed","writableDestroyed","emitErrorNT","emitCloseNT","emitErrorAndCloseNT","undestroy","errorOrDestroy","rState","wState","destroy_1","_inheritsLoose","subClass","superClass","codes","createErrorType","NodeError","_Base","oneOf","startsWith","this_len","includes","determiner","errorsBrowser","ERR_INVALID_OPT_VALUE","highWaterMarkFrom","isDuplex","duplexKey","getHighWaterMark","hwm","deprecate","_stream_writable","Writable","CorkedRequest","onCorkedFinish","Duplex","WritableState","internalUtil","Stream","OurUint8Array","_uint8ArrayToBuffer","chunk","_isUint8Array","destroyImpl","_require$codes","ERR_INVALID_ARG_TYPE","ERR_METHOD_NOT_IMPLEMENTED","ERR_MULTIPLE_CALLBACK","ERR_STREAM_CANNOT_PIPE","ERR_STREAM_DESTROYED","ERR_STREAM_NULL_VALUES","ERR_STREAM_WRITE_AFTER_END","ERR_UNKNOWN_ENCODING","nop","noDecode","onwrite","realHasInstance","writeAfterEnd","validChunk","isBuf","writeOrBuffer","clearBuffer","decodeChunk","newChunk","doWrite","writev","onwriteError","sync","finishMaybe","onwriteStateUpdate","needFinish","afterWrite","onwriteDrain","holder","allBuffers","endWritable","callFinal","prefinish","need","corkReq","objectKeys","_stream_duplex","Readable","onend","onEndNT","isEncoding","_normalizeEncoding","enc","retried","normalizeEncoding","nenc","string_decoder","StringDecoder","utf16Text","utf16End","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","utf8End","utf8Text","utf8CheckByte","utf8CheckIncomplete","utf8CheckExtraBytes","ERR_STREAM_PREMATURE_CLOSE","called","_len","isRequest","readable","writable","onlegacyfinish","onfinish","writableEnded","readableEnded","onerror","onclose","onrequest","endOfStream","_Object$setPrototypeO","kLastResolve","kLastReject","kError","kEnded","kLastPromise","kHandlePromise","kStream","createIterResult","readAndResolve","iter","onReadable","wrapForNext","lastPromise","AsyncIteratorPrototype","ReadableStreamAsyncIteratorPrototype","_this2","createReadableStreamAsyncIterator","_Object$create","async_iterator","fromBrowser","_stream_readable","ReadableState","EElistenerCount","debugUtil","debug","ERR_STREAM_PUSH_AFTER_EOF","ERR_STREAM_UNSHIFT_AFTER_END_EVENT","kProxyEvents","prependListener","skipChunkCheck","readableAddChunk","addToFront","onEofChunk","chunkInvalid","addChunk","maybeReadMore","emitReadable","decoder","MAX_HWM","computeNewHighWaterMark","howMuchToRead","nOrig","endReadable","doRead","fromList","emitReadable_","flow","maybeReadMore_","dest","pipeOpts","doEnd","endFn","unpipe","onunpipe","unpipeInfo","cleanup","ondrain","pipeOnDrain","cleanedUp","ondata","indexOf","dests","ev","nReadingNextTick","updateReadableListening","resume","resume_","paused","endReadableNT","iterable","xs","_stream_transform","Transform","ERR_TRANSFORM_ALREADY_TRANSFORMING","ERR_TRANSFORM_WITH_LENGTH_0","afterTransform","err2","_stream_passthrough","PassThrough","ERR_MISSING_ARGS","destroyer","reading","writing","closed","pipe","popCallback","streams","pipeline","destroys","pipeline_1","throwIfNotStringOrBuffer","HashBase","hashBase","ARRAY16","MD5","fnF","fnG","fnH","fnI","md5_js","zl","zr","hl","hr","fn1","fn5","fn2","fn4","fn3","finalSize","assigned","lowBits","highBits","K","Sha","rotl5","rotl30","ft","sha","Sha1","rotl1","sha1","Sha256","maj","sigma0","gamma0","gamma1","Sha224","sha224","Sha512","xl","Gamma0","Gamma0l","Gamma1","Gamma1l","getCarry","dh","eh","fh","gh","hh","fl","gl","xh","gamma0l","gamma1l","Wi7h","Wi7l","Wi16h","Wi16l","Wil","Wih","majh","majl","Kih","Kil","chh","chl","t1l","t1h","t2l","t2h","writeInt64BE","Sha384","sha384","sha_jsModule","Algorithm","streamBrowserify","didOnEnd","CipherBase","hashMode","inputEnc","outputEnc","outData","fin","cipherBase","alg","blocksize","Hmac","ipad","opad","md5","Legacy","algos","MAX_ALLOC","precondition","defaultEncoding","pVersionMajor","defaultEncoding_1","toBuffer","checkParameters","sizes","saltLen","getDigest","ipad1","shaFunc","rmd160Func","block1","destPos","hLen","U","syncBrowser","ZERO_BUF","subtle","toBrowser","checks","checkNative","prom","browserPbkdf2","getNextTick","async","off","inL","inR","outL","outR","pc2table","sTable","sb","permuteTable","minimalisticAssert","Cipher","cipher","inputOff","outputOff","DESState","DES","des","shiftTable","kL","kR","inp","inOff","outOff","lStart","rStart","keyL","keyR","CBCState","instantiate","cbc","EDEState","k3","EDE","ede","modes","browserifyDes","modeName","ecb","bufferXor","xor","encryptStart","cfb","encryptByte","byteParam","cfb8","shiftIn","cfb1","getBlock","ofb","incr32","incr32_1","chunkNum","modeModules","modes_1","asUInt32Array","scrubVec","cryptBlock","keySchedule","SUB_MIX","SBOX","nRounds","SUB_MIX0","SUB_MIX1","SUB_MIX2","SUB_MIX3","s3","ksRow","RCON","INV_SBOX","INV_SUB_MIX","sx","keyWords","keySize","ksRows","invKeySchedule","ksR","m1","aes","ZEROES","fromArray","GHASH","Vi","Zi","lsbVi","abl","ghash","xorTest","calcIv","ck","toPad","ivBits","StreamCipher","rump","authCipher","streamCipher","EVP_BytesToKey","keyBits","ivLen","keyLen","used","keyStart","ivStart","evp_bytestokey","MODES","AuthCipher","ebtk","Splitter","PADDING","setTo","padBuff","createCipheriv","suite","createCipher","encrypter","Decipher","unpad","autoPadding","createDecipheriv","createDecipher","decrypter","ciphers","deciphers","getCiphers","aesModes","desModes","BN","endian","parseHex4Bits","parseHexByte","lowerBound","parseLength","parseBase","limbLen","limbPow","groupSizes","groupBases","groupSize","groupBase","ArrayType","reqLength","toBitArray","wbit","bytesNeeded","bitsLeft","smallMulTo","ncarry","rword","maxJ","comb10MulTo","a0","al0","ah0","al1","ah1","al2","ah2","al3","ah3","al4","ah4","al5","ah5","a6","al6","ah6","a7","al7","ah7","a8","al8","ah8","a9","al9","ah9","b0","bl0","bh0","bl1","bh1","bl2","bh2","bl3","bh3","b4","bl4","bh4","b5","bl5","bh5","bl6","bh6","b7","bl7","bh7","b8","bl8","bh8","bl9","bh9","w0","w1","w2","w3","w4","w5","w6","w7","w8","w9","w10","w11","w12","w13","w14","w15","w16","w17","w18","bigMulTo","hncarry","jumboMulTo","fftm","FFTM","rb","rbt","rws","iws","rtws","itws","rtwdf","itwdf","rtwdf_","itwdf_","ie","ro","io","rx","odd","ws","ph","rwst","iwst","nrws","nrwst","niwst","rmws","carryMask","newCarry","extended","maskedWords","bhi","bhiBits","qj","positive","dm","yp","xp","im","jm","Red","primes","MPrime","rlen","K256","P224","P192","P25519","prime","mod3","one","nOne","lpow","inv","wnd","currentLen","Mont","brorandModule","Rand","bn","brorand","MillerRabin","mr","min_bytes","red","rone","rn1","generatePrime","findPrime","simpleSieve","fermatTest","TWENTYFOUR","millerRabin","TWO","FIVE","TEN","THREE","ELEVEN","FOUR","_getPrimes","SEVEN","DH","setPublicKey","setPrivateKey","priv","primeCache","checkPrime","generator","malleable","secret","front","formatReturnValue","getDiffieHellman","ENCODINGS","createDiffieHellman","genc","move","allocate","postfix","isNegNum","blind","getr","blinder","crt","blinds","blinded","qinv","m2","browserifyRsa","zero2","minAssert","minUtils","getNAF","naf","getJSF","jsf","m8","m14","m24","cachedProperty","computer","parseBytes","intFromLE","BaseCurve","conf","adjustCount","doubles","repr","nafW","nafPoints","defW","coeffs","jacobianResult","wndWidth","comb","ja","jb","zero","BasePoint","compact","precomputed","dbl","ShortCurve","short","beta","lambda","betas","lambdas","basis","vec","tinv","ntinv","l1","l2","aprxSqrt","prevR","len1","v1","v2","q1","q2","npoints","ncoeffs","isRed","pre","endoMul","obj2point","nx","ny","ys1","dyinv","_precompute","negate","JPoint","zinv","zinv2","pz2","z2","nz","jx","jy","jz","jz4","jyd","jx2","jyd2","jyd4","dny","xx","yy","yyyy","yyyy8","c8","gamma","beta4","beta8","ggamma8","jy2","jxd4","jyd8","mm","yyu4","kbase","z3","pz3","MontCurve","mont","aa","bb","da","EdwardsCurve","edwards","nt","zi","isSurrogatePair","htonl","toHex32","zero8","join32","split32","rotr32","rotl32","sum32","sum32_3","sum32_4","sum32_5","sum64","sum64_hi","sum64_lo","sum64_4_hi","sum64_4_lo","sum64_5_hi","sum64_5_lo","rotr64_hi","rotr64_lo","shr64_hi","shr64_lo","BlockHash","common","ft_1","ch32","p32","maj32","s0_256","s1_256","g0_256","g1_256","shaCommon","sha1_K","SHA1","_1","sha256_K","_256","SHA224","_224","sha512_K","_512","c0_hi","g1_512_hi","c0_lo","g1_512_lo","c1_hi","c1_lo","c2_hi","g0_512_hi","c2_lo","g0_512_lo","c3_hi","c3_lo","s1_512_hi","s1_512_lo","ch64_hi","ch64_lo","c4_hi","c4_lo","T1_hi","T1_lo","s0_512_hi","s0_512_lo","maj64_hi","maj64_lo","T2_hi","T2_lo","yh","yl","zh","SHA384","_384","ripemd","rh","Kh","sh","curves","PresetCurve","defineCurve","HmacDRBG","pers","hmacDrbg","kmac","entropyEnc","addEnc","KeyPair","ec","Position","getLength","octetLen","rmPadding","slen","constructLength","octets","backHalf","EC","drbg","ns2","truncOnly","bkey","ns1","kp","kpX","recoveryParam","sinv","isSecondKey","rInv","Qprime","eddsa","lastIx","EDDSA","Rencoded","s_","SG","RplusAh","normed","xIsOdd","elliptic","safer","Safer","safer_1","Reporter","reporter","ReporterError","inherited","elem","DecoderBuffer","save","fail","EncoderBuffer","tags","methods","overrided","Node","stateProps","cstate","children","newKey","present","prevKey","prevObj","explicit","entity","reverse","der","DEREncoder","DERNode","der_1","encodedTag","encodeTag","lenOctets","relative","ident","objid","two","numArray","dataBuffer","PEMEncoder","pem","encoders","bignum","DERDecoder","any","decodedTag","derDecodeTag","derDecodeLen","possibleEnd","unused","raw","numstr","printstr","identifiers","subident","mon","day","hour","sec","oct","tagStr","PEMDecoder","lines","decoders","Entity","Generated","asn1","asn","Time","AttributeTypeValue","AlgorithmIdentifier","SubjectPublicKeyInfo","RelativeDistinguishedName","RDNSequence","Name","Validity","Extension","TBSCertificate","X509Certificate","certificate","asn1_1","RSAPrivateKey","RSAPublicKey","PublicKey","PrivateKeyInfo","EncryptedPrivateKeyInfo","DSAPrivateKey","ECPrivateKey","ECParameters","findProc","startRegex","fullRegex","evp","fixProc","okey","decrypted","cipherText","cipherKey","match2","aesid","compat","parseAsn1","parseKeys","stripped","ndata","RSA_PKCS1_PADDING","hashType","signType","ecSign","dsaSign","curveId","kv","getKey","makeKey","makeR","toDER","hlen","hbits","bits2octets","obits","signModule","ecVerify","dsaVerify","padNum","unpacked","montp","verify_1","algorithms","Sign","Verify","sigBuffer","createSign","createVerify","ECDH","aliases","inenc","otherPub","_priv","mgf","i2ops","withPublic","paddedMsg","withPublic_1","publicEncrypt","oaep","pkcs1","hLen2","ps","dblen","maskedDb","maskedSeed","nonZero","privateDecrypt","zBuffer","db","dif","safeBuffer","randombytes","kBufferMaxLength","kMaxUint32","assertOffset","randomFill","randomFillSync","actualFill","ourBuf","uint","cryptoBrowserify","algoKeys","hashes","rf","NodeRandomSource","require","nodeCrypto","node$1","system","browser_1","node_1","SystemRandomSource","system_1","prng","randomUint32","ALPHANUMERIC","randomString","charset","charsLen","maxByte","randomByte","randomStringForEntropy","dataPos","hashBlocks","bytesHashed","bitLenHi","bitLenLo","padLength","random_1","gf","_9","_121665","car25519","sel25519","pack25519","unpack25519","t8","t9","t10","t11","t12","t13","t14","t15","t16","t17","t18","t19","t20","t21","t22","t23","t24","t25","t26","t27","t28","t29","t30","b10","b12","b13","b14","b15","square","inv25519","scalarMult","x32","x16","scalarMultBase","generateKeyPairFromSeed","secretKey","generateKeyPair","sharedKey","mySecretKey","theirPublicKey","rejectZero","asUint8Array","BASE_MAP","LEADER","FACTOR","iFACTOR","zeroes","pbegin","pend","b58","it1","it2","decodeUnsafe","psz","b256","it3","it4","vch","_brrp__multiformats_scope_baseX","coerce","Encoder","baseEncode","Decoder","baseDecode","or","ComposedDecoder","Codec","baseX","basex","bitsPerChar","written","rfc4648","identity","base2","base8","base10","base16","base16upper","base32","base32upper","base32pad","base32padupper","base32hex","base32hexupper","base32hexpad","base32hexpadupper","base32z","base36upper","base58btc","base58flickr","base64pad","base64url","base64urlpad","alphabetBytesToChars","alphabetCharsToBytes","byts","byt","base256emoji","bases","identityBase","base58","createCodec","ascii","BASES","__spreadArray","BrowserInfo","os","NodeInfo","SearchBotDeviceInfo","bot","BotInfo","ReactNativeInfo","SEARCHBOX_UA_REGEX","SEARCHBOT_OS_REGEX","REQUIRED_VERSION_PARTS","userAgentRules","operatingSystemRules","detect","parseUserAgent","getNodeVersion","matchUserAgent","matched","uaMatch","matchedRule","versionParts","createVersionParts","detectOS","searchBotMatch","isNode","extendStatics","__extends","__","__assign","__rest","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","__awaiter","_arguments","adopt","__generator","verb","op","__createBinding","__exportStar","__values","__read","__spread","__spreadArrays","il","jl","__await","__asyncGenerator","fulfill","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","__importStar","__importDefault","privateMap","delay_1","misc","tslib_1","convert","constants_1","toMiliseconds","seconds","fromMiliseconds","miliseconds","watch","Watch","elapsed","IWatch","cjs","cjs$4","getLocation_1","getNavigator_1","getDocument_1","getFromWindow","getFromWindowOrThrow","getDocumentOrThrow","getDocument","getNavigatorOrThrow","getNavigator","getLocationOrThrow","getLocation","getCryptoOrThrow","getCrypto","getLocalStorageOrThrow","getLocalStorage","getWindowMetadata_1","window_getters_1","getWindowMetadata","doc","loc","getIcons","rel","absoluteHref","finalPath","absoluteUrl","getWindowMetadataOfAny","metaTags","attributes","attr","getName","getDescription","strictUriEncode","singleMatcher","multiMatcher","decodeComponents","customDecodeURIComponent","replaceMap","decodeUriComponent","encodedURI","splitOnFirst","separatorIndex","filterObj","predicate","isArr","decodeComponent","filterObject","encodeFragmentIdentifier","encoderForArrayFormat","keyValueSep","parserForArrayFormat","accumulator","isEncodedArray","validateArrayFormatSeparator","keysSorter","removeHash","hashStart","extract","queryStart","parseValue","parse","formatter","shouldFilter","objectCopy","url_","queryFromUrl","parsedQueryFromUrl","queryString","fragmentIdentifier","exclusionFilter","ve","Un","J","Dn","Te","X","kn","fe.generateKeyPair","Vn","Mn","fe.sharedKey","On","Sn","Kn","de","Ln","Pe","xn","ue","Re","Fn","pe","Hn","Ae","qn","Bn","Ue","Gn","Wn","$e","Ce","De","te","Jn","ke","M.parse","M.stringify","Qn","Tn","Ve","wn","Me","he","Ke","Xn","ot","at","lt","pt","In","mt","yt","gt","ht","He","vt","Et","Pn","bt","Nt","Ot","qe","St","wt","Be","It","Tt","Ge","Pt","We","ze","Rt","Qe","Ze","Xe","oe","en","nn","tn","Mt","rn","Kt","Lt","xt","Ft","on","sn","cn","an","un","ce","Ht","ln","dn","qt","Bt","Gt","Wt","zt","Yt","Jt","Qt","Zt","Xt","nr","pn","mn","yn","gn","hn","vn","ae","sr$4","suspectProtoRx","suspectConstructorRx","JsonSigRx","jsonParseTransform","warnKeyDropped","destr","_lval","wrapToPromise","asyncCall","function_","arguments_","isPureObject","checkBufferSupport","BASE64_PREFIX","serializeRaw","deserializeRaw","normalizeKey","joinKeys","normalizeBaseKey","defineDriver","factory","DRIVER_NAME","memory","createStorage","getMount","getMounts","includeParent","mountpoint","onChange","startWatch","stopWatch","runBatch","commonOptions","batches","getBatch","mount","isStringItem","options2","storage","relativeKey","driver","meta","value_","mounts","maskedMounts","allKeys","dispose","unwatcher","_dispose","promisifyRequest","createStore","dbName","storeName","dbp","txMode","defaultGetStoreFunc","defaultGetStore","get","customStore","store","del","clear","eachCursor","JSONStringify","JSONParse","numbersBiggerThanMaxInt","serializedData","safeJsonParse","safeJsonStringify","_$8","K$8","h$8","IEvents$1","heartbeat","events_1","IHeartBeat","time_1","types_1","HeartBeat","tryStringify","quickFormatUnescaped","ss","argLen","lastPos","flen","pino","_console","pfGlobalThisOrFallback","stdSerializers","mock","passthrough","asErrValue","shouldSerialize","serialize","serializers","transmit","stdErrSerialize","levels","logger","getLevelVal","getLevel","setLevel","setOpts","getTimeFunction","createLogEventShape","bindings","childOptions","childOptionsSerializers","childSerializers","childSerialize","applySerializers","Child","nullTime","epochTime","unixTime","isoTime","write","asObject","transmitLevel","transmitValue","methodValue","argsCloned","lvl","methodLevel","defd","O$5","d$8","m$7","B$6","n$8","h$7","a$7","u$7","g$9","d$7","E$6","y$7","v$9","b$6","w$7","th","sha512_1","gf0","gf1","D2","Y","set25519","verify32","neq25519","par25519","pow2523","edadd","cswap","ty","scalarmult","scalarbase","extractPublicKeyFromSecretKey","modL","reduce","hs","unpackneg","chk","den","den2","den4","den6","convertPublicKeyToX25519","convertSecretKeyToX25519","JWT_IRIDIUM_ALG","JWT_IRIDIUM_TYP","JWT_DELIMITER","JWT_ENCODING","JSON_ENCODING","DATA_ENCODING","DID_DELIMITER","DID_PREFIX","DID_METHOD","MULTICODEC_ED25519_ENCODING","MULTICODEC_ED25519_BASE","MULTICODEC_ED25519_HEADER","KEY_PAIR_SEED_LENGTH","encodeJSON","encodeIss","multicodec","encodeSig","encodeData","encodeJWT","ed25519.generateKeyPairFromSeed","signJWT","aud","ttl","keyPair","iat","ed25519.sign","PARSE_ERROR","INVALID_REQUEST","METHOD_NOT_FOUND","INVALID_PARAMS","INTERNAL_ERROR","SERVER_ERROR","RESERVED_ERROR_CODES","STANDARD_ERROR_MAP","DEFAULT_ERROR","isReservedErrorCode","getError","getErrorByCode","parseConnectionError","getBrowerCrypto","getSubtleCrypto","isBrowserCryptoAvailable","env","isReactNative","payloadId","extra","getBigIntRpcId","formatJsonRpcRequest","formatJsonRpcResult","formatJsonRpcError","formatErrorMessage","IEvents","IBaseJsonRpcProvider","IJsonRpcProvider","connection","HTTP_REGEX","WS_REGEX","getUrlProtocol","matchRegexProtocol","isHttpUrl","isWsUrl","isLocalhostUrl","isJsonRpcPayload","isJsonRpcRequest","isJsonRpcResponse","isJsonRpcResult","isJsonRpcError","f$5","LARGE_ARRAY_SIZE","HASH_UNDEFINED","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","argsTag","arrayTag","asyncTag","boolTag","dateTag","errorTag","funcTag","genTag","mapTag","numberTag","nullTag","objectTag","promiseTag","proxyTag","regexpTag","setTag","stringTag","symbolTag","undefinedTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","reRegExpChar","reIsHostCtor","reIsUint","typedArrayTags","freeGlobal","freeSelf","freeExports","freeModule","moduleExports","freeProcess","nodeUtil","nodeIsTypedArray","arrayFilter","resIndex","arrayPush","arraySome","baseTimes","iteratee","baseUnary","cacheHas","mapToArray","overArg","setToArray","arrayProto","funcProto","objectProto","coreJsData","funcToString","maskSrcKey","uid","nativeObjectToString","reIsNative","Symbol","Uint8Array","propertyIsEnumerable","splice","symToStringTag","nativeGetSymbols","nativeIsBuffer","nativeKeys","DataView","getNative","Map","Promise","Set","WeakMap","nativeCreate","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","hashClear","hashDelete","hashGet","hashHas","hashSet","ListCache","listCacheClear","listCacheDelete","assocIndexOf","listCacheGet","listCacheHas","listCacheSet","MapCache","mapCacheClear","mapCacheDelete","getMapData","mapCacheGet","mapCacheHas","mapCacheSet","SetCache","setCacheAdd","setCacheHas","Stack","stackClear","stackDelete","stackGet","stackHas","stackSet","arrayLikeKeys","isArg","isBuff","isType","skipIndexes","isIndex","eq","baseGetAllKeys","keysFunc","symbolsFunc","baseGetTag","getRawTag","baseIsArguments","isObjectLike","baseIsEqual","bitmask","customizer","baseIsEqualDeep","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","equalArrays","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","equalObjects","baseIsNative","isMasked","baseIsTypedArray","isLength","baseKeys","isPrototype","isPartial","othLength","stacked","seen","arrValue","othValue","compared","othIndex","objProps","getAllKeys","objLength","othProps","skipCtor","objValue","objCtor","othCtor","getSymbols","isKeyable","unmasked","stubArray","Ctor","ctorString","isArrayLike","stubFalse","isEqual","unfetch_module","Hi","Ji","Xi","Ne","Wi","Qi","Zi$2","ts$3","is$4","es","ns","as","cs","us","ls","ds","Ds","bs","fs","Es","vs","Is","Cs","Rs","Ts","Ss","Ps","Os","As","Ns","Us","Ls","Le","$s","Fs","Ms","ks","Ks","Bs","Vs","Fe","qs","js","Gs","Ys","Hs","Js","Xs","Ws","Qs","Zs","or$3","ar$3","ur","je","lr","pr","Ye","Dr","Je","yr","et","it","Fi","Dt","Ct","_t","Pt$2","be","fe","xt$2","Y.generateKeyPair","Y.encodeIss","li","Y.signJWT","di","gi","ci","Ee","Di","yi","mi","we","bi","$i","fi","Ot$3","se","vr$1","ei","Mi","Bi","Cr","Rr","At","Tr","Sr","Nt$2","Ir","Ei","Pr","Ut","xr","Or","Ar","vr","wi","ji","vi","Oe","Ii","Nr","Ur","kt","Kt$3","si","Ci","Ri","Gi","Bt$3","Se","Ie","qi","Oi","ri","qt$3","Ai","jt$3","Ni","Ui","Li","Gt$3","ai","Yi","Lr","$r","Fr","Mr","Vt","$t","jt","ds$2","us$2","ge$4","gs$2","__self__","support","viewClasses","normalizeName","iteratorFor","Headers","oldValue","consumed","fileReaderReady","readBlobAsArrayBuffer","readBlobAsText","readArrayBufferAsText","bufferClone","Body","normalizeMethod","upcased","Request","preProcessedHeaders","Response","bodyInit","redirectStatuses","fetch","xhr","abortXhr","DEFAULT_FETCH_OPTS","EVENT_EMITTER_MAX_LISTENERS_DEFAULT","HttpConnection","disableProviderPing","currentMaxListeners","Ia","Fg","Mg","qg","xa","Bg","En","Da","Ha","Na","$a","Ua","Wa","Fa","Nn","Ma","qa","Ba","Ga","za","Ka","Ya","Za","Ja","gr","wr","Xa","Qa","Va","ka","no","eo","so","Er","uo","ao","oo","fo","co","ho","po","go","vo","mo","wo","Po","Ao","Co","Io","xo","Eo","yo","So","Oo","Ro","bo","To","Lo","Do","Ho","No","$o","Uo","Wo","Fo","Mo","qo","Bo","Go","zo","Ko","Yo","Zo","Jo","Xo","Qo","Vo","ko","jo","jn","Hr","tf","vf","sf","Wr","uf","af","of","ff","cf","hf","lf","pf","df","wf","Pf","mf","Af","Cf","Br","If","xf","Ef","yf","Sf","Of","Rf","bf","Tf","Gr","Lf","Df","Hf","Nf","$f","Uf","Wf","Ff","Mf","qf","Bf","Fu","Gf","zf","Kf","ou","Yf","Zf","Jf","Xf","Qf","Vf","kf","jf","tc","rc","ic","sc","uc","ac","oc","Rn","fc","hc","lc","pc","Zn","dc","gc","Yr","zn","vc","Zr","An","hu","bu","Jc","Zc","uh","sa","ra","mc","vu","$n","Xr","wc","Pc","oh","Jr","_u","Qr","Ac","Cc","Ic","Vr","Hu","Ec","Sc","Su","nh","Oc","kr","Rc","bc","Tc","ma","jr","Lc","Lu","Tu","Dc","lu","oa","nu","tu","Yc","Hc","eu","Nc","ru","$c","Du","Uc","Wc","iu","Fc","Mc","Cn","su","uu","kc","au","fu","Wu","Bc","cu","Gc","Kc","pu","du","gu","Ou","Xc","mu","va","ga","Qc","Iu","wu","Pu","Yn","vh","Au","Vc","Cu","Nu","$u","xu","Eu","yu","jc","Bu","ih","Ru","lh","Uu","mh","Ph","Ih","Sh","Oh","Mu","qu","Rh","Gu","Lh","Nh","$h","Uh","Wh","Mh","zu","qh","Yh","Zh","Jh","Xh","Qh","Vh","kh","jh","nl","ul","ol","Ku","ll","pl","vl","ml","Yu","Pl","Il","Sl","Ol","Rl","Ll","Nl","Zu","Ju","$l","Ul","Wl","Ml","ql","Yl","Zl","Jl","Xl","Ql","Vl","Xu","Qu","Vu","ku","ju","na","wa","kl","np","tp","ep","ta","rp","sp","up","ap","fp","hp","lp","pp","gp","vp","mp","wp","Pp","Ap","Cp","Ip","ea","Ep","Sp","ia","Op","Rp","bp","Tp","Lp","Dp","Hp","Np","$p","Up","Wp","fa","fr","Mp","qp","Bp","Gp","ca","zp","Kp","Yp","Zp","Jp","Xp","Qp","Vp","jp","nd","td","ed","ud","ha","ad","od","fd","cd","la","pa","hd","ld","pd","dd","gd","vd","wd","Pd","Ad","Cd","xd","Ed","yd","Sd","Od","Rd","bd","Td","Ld","Dd","Hd","Nd","$d","Ud","Wd","Fd","Md","qd","Bd","Gd","zd","Kd","Yd","Zd","Jd","Xd","Qd","Vd","kd","jd","ng","tg","eg","rg","ig","ug","ag","og","fg","cg","hg","lg","pg","dg","vg","mg","wg","Pg","Ag","Cg","Ig","xg","Eg","yg","Sg","Og","Rg","Gg","zg","Kg","Ea","Yg","Zg","ya","Jg","Dg","Sa","Xg","Oa","Ra","Lg","Pa","Qg","Vg","ba","$g","rv$1","iv$1","sv$1","uv","av","ov","Ta","fv","cv","La","hv","Ug","Hg","Ng","Wg","Aa","Tg","Ca","jg","tv","kg","rv","sv","v$7","EthersConstantsUtil","EthersHelpersUtil","EthersStoreUtil","providerType","ethersConfig","siweConfig","chains","defaultChain","chainImages","_sdkVersion","w3mOptions","networkControllerClient","walletChoice","nsMethods","nsChains","connectionControllerClient","onUri","WalletConnectProvider","InjectedProvider","CoinbaseProvider","txParams","browserProvider","txReceipt","originalAddress","getOriginalAddress","walletConnectProvider","walletConnectProviderOptions","EthereumProvider","walletId","currentActiveWallet","currentProvider","smartAccountDeployed","disconnectHandler","accountsChangedHandler","chainChangedHandler","currentAccount","caipChainId","ensProvider","jsonRpcProvider","switchError","EIP6963Provider","w3mConnectors","injectedConnectorType","isLoginEmailUsed","eip6963ProviderObj","enableEIP6963","walletLogo_1","walletLogo","walletLogo$1","constants$3","constants$2","FALLBACK_MESSAGE","getMessageFromCode","fallbackMessage","codeString","hasKey","isJsonRpcServerError","isValidCode","getErrorCode","isErrorWithCode","shouldIncludeStack","serialized","assignOriginalError","hasStringProperty","utils_1","errors$1","getEthJsonRpcError","getEthProviderError","EthereumProviderError","parseOpts","EthereumRpcError","isValidEthProviderCode","Web3Response","isErrorResponse","Web3Response_1","version_1","serializeError","requestOrMethod","getErrorObject","docUrl","getMethod","methodInData","errors_1","serialize_1","OpaqueType","type$1","IntNumber","ProviderType","util$3","bn_js_1","error_1","type_1","INT_STRING_REGEX","HEXADECIMAL_STRING_REGEX","randomBytesHex","uint8ArrayToHex","hexStringToUint8Array","hexStringFromBuffer","includePrefix","bigIntStringFromBN","intNumberFromHexString","ensureEvenLengthHexString","hexStringFromIntNumber","has0xPrefix","strip0x","prepend0x","ensureHexString","ensureAddressString","ensureBuffer","ensureIntNumber","ensureRegExpString","ensureBN","isBigNumber","ensureParsedJSONObject","getFavicon","host","createQrUrl","sessionId","sessionSecret","serverUrl","isParentConnection","sessionIdKey","isInIFrame","isMobileWeb","ScopedLocalStorage_1","ScopedLocalStorage","scope","keysToRemove","ScopedLocalStorage$1","DiagnosticLogger","RelayAbstract_1","RelayAbstract$1","RelayAbstract","jsonRpcUrl","Hash$6","exports$1","Session_1","sha_js_1","util_1","STORAGE_KEY_SESSION_ID","STORAGE_KEY_SESSION_SECRET","STORAGE_KEY_SESSION_LINKED","Session","linked","Session$1","Cipher_1","plainText","ivBytes","encryptedResult","tagLength","authTag","encryptedPlaintext","authTagBytes","encryptedPlaintextBytes","concatted","encrypted","concattedBytes","Cipher$1","WalletLinkHTTP_1","WalletLinkHTTP","linkAPIUrl","sessionKey","credentials","responseEvents","WalletLinkHTTP$1","WalletLinkWebSocket_1","WalletLinkWebSocket$1","ConnectionState","WalletLinkWebSocket","WebSocketClass","webSocket","WalletLinkConnection_1","DiagnosticLogger_1","HEARTBEAT_INTERVAL","REQUEST_TIMEOUT","WalletLinkConnection","diagnostic","__destroyed","encryptedEthereumAddress","encryptedMetadataValue","decryptedValue","walletUsername","appVersion","encryptedChainId","encryptedJsonRpcUrl","connect","decryptedData","unencryptedData","callWebhook","reqId","timeoutId","WalletLinkConnection$1","cssResetCss","cssReset","cssReset_css_1","injectCssReset","styleEl","clsx","CloseIcon_1","preact_1","CloseIcon","CloseIcon$1","CoinbaseWalletRound_1","CoinbaseWalletRound","CoinbaseWalletRound$1","QRCodeIcon_1","QRCodeIcon","QRCodeIcon$1","QR8bitByte","QRMode","QRCodeModel","typeNumber","errorCorrectLevel","minLostPoint","lostPoint","QRUtil","target_mc","instance_name","qr_mc","dataList","rsBlocks","QRRSBlock","QRBitBuffer","totalDataCount","maxDcCount","maxEcCount","dcdata","ecdata","dcCount","rsPoly","rawPoly","QRPolynomial","modPoly","modIndex","totalCodeCount","QRErrorCorrectLevel","QRMaskPattern","errorCorrectLength","QRMath","qrCode","sameCount","ratio","totalCount","dataCount","rsBlock","QRCodeLimitLength","_getErrorCorrectLevel","_getTypeNumber","_getUTF8Length","pretty","indent","EOL","xsize","ysize","join","xmlDeclaration","predefined","defs","bgrect","modrect","pathdata","imgSvg","imgWidth","imgHeight","imgX","imgY","qrcodeSvg","QRCode_1","hooks_1","qrcode_svg_1","setSvg","QRCode$2","SpinnerCss","Spinner_1","Spinner_css_1","Spinner","Spinner$1","ConnectContentCss","ConnectContent_1","ConnectContent$1","clsx_1","ConnectContent_css_1","CoinbaseWalletSteps","makeIconColor","ConnectContent","qrUrl","WalletSteps","ConnectItem","ArrowLeftIcon_1","ArrowLeftIcon","ArrowLeftIcon$1","LaptopIcon_1","LaptopIcon","LaptopIcon$1","SafeIcon_1","SafeIcon","SafeIcon$1","TryExtensionContentCss","TryExtensionContent_1","TryExtensionContent_css_1","TryExtensionContent","clicked","setClicked","handleInstallClick","handleClick","TryExtensionContent$1","ConnectDialogCss","ConnectDialog_1","ConnectDialog_css_1","ConnectDialog","darkMode","containerHidden","setContainerHidden","dialogHidden","setDialogHidden","timers","ConnectDialog$1","LinkFlow_1","LinkFlow","connectDisabled","LinkFlow$1","SnackbarCss","Snackbar_css_1","cblogo","gearIcon","Snackbar","itemProps","SnackbarContainer","SnackbarInstance","autoExpand","menuItems","hidden","setHidden","setExpanded","toggleExpanded","WalletLinkRelayUI_1","cssReset_1","Snackbar_1","WalletLinkRelayUI","snackbarProps","WalletLinkRelayUI$1","WalletLinkRelay_1","WalletLinkRelay","cachedAddresses","wasConnectedViaStandalone","sessionIdHash","selectedAddress","isStandalone","storedSession","appName","appLogoUrl","addPrefix","typedDataJson","signedTransaction","hideSnackbarItem","disabled","accountsCallback","chainCallback","errorCode","onAccounts","providerOptions","_cancel","approve","selectedProviderKey","rpcUrls","iconUrls","blockExplorerUrls","chainName","nativeCurrency","rpcUrl","onSuccess","RedirectDialogCss","RedirectDialog_1","RedirectDialog_css_1","RedirectDialog","RedirectDialogContent","buttonText","onButtonClick","onDismiss","MobileRelayUI_1","MobileRelayUI","_connected","walletLinkUrl","MobileRelayUI$1","MobileRelay_1","MobileRelay","navigatedToCBW","MobileRelay$1","Transform$3","keccak","KeccakState","capacity","delimitedSuffix","hashBitLength","shake","Shake","dataByteLength","createKeccak","createShake","P1600_ROUND_CONSTANTS","keccakStateUnroll","lo0","hi0","lo1","hi1","lo2","hi2","lo3","hi3","lo4","hi4","t1slo0","t1shi0","t1slo5","t1shi5","t1slo10","t1shi10","t1slo15","t1shi15","t1slo20","t1shi20","t1slo1","t1shi1","t1slo6","t1shi6","t1slo11","t1shi11","t1slo16","t1shi16","t1slo21","t1shi21","t1slo2","t1shi2","t1slo7","t1shi7","t1slo12","t1shi12","t1slo17","t1shi17","t1slo22","t1shi22","t1slo3","t1shi3","t1slo8","t1shi8","t1slo13","t1shi13","t1slo18","t1shi18","t1slo23","t1shi23","t1slo4","t1shi4","t1slo9","t1shi9","t1slo14","t1shi14","t1slo19","t1shi19","t1slo24","t1shi24","t2slo0","t2shi0","t2slo16","t2shi16","t2slo7","t2shi7","t2slo23","t2shi23","t2slo14","t2shi14","t2slo10","t2shi10","t2slo1","t2shi1","t2slo17","t2shi17","t2slo8","t2shi8","t2slo24","t2shi24","t2slo20","t2shi20","t2slo11","t2shi11","t2slo2","t2shi2","t2slo18","t2shi18","t2slo9","t2shi9","t2slo5","t2shi5","t2slo21","t2shi21","t2slo12","t2shi12","t2slo3","t2shi3","t2slo19","t2shi19","t2slo15","t2shi15","t2slo6","t2shi6","t2slo22","t2shi22","t2slo13","t2shi13","t2slo4","t2shi4","keccakState","createKeccakHash","setLength","setLengthRight","padToEven","stripHexPrefix","bufferToHex","elementaryName","parseTypeN","parseTypeNxM","parseTypeArray","parseNumber","encodeSingle","isDynamic","rawEncode","headLength","solidityPack","soliditySHA3","TYPED_MESSAGE_SCHEMA","TypedDataUtils","primaryType","useV4","encodedTypes","encodedValues","encodeField","parsedType","typeValuePairs","deps","dep","sanitizedData","typedData","ethEip712Util","msgParams","typedSignatureHashLegacy","FilterPolyfill_1","FilterPolyfill$1","TIMEOUT","JSONRPC_TEMPLATE","FilterPolyfill","filterFromParam","filterNotFoundError","paramFromFilter","cursorPosition","currentBlockHeight","emptyResult","highestBlock","newCursorPosition","_id","initialCursorPosition","intBlockHeightFromHexBlockHeight","hexBlockHeightFromIntBlockHeight","jsonRpcRandomId","IdIterator","idCounter","processFn","pify","safeApply","SafeEventEmitter$3","SafeEventEmitter","BaseBlockTracker_1","safe_event_emitter_1","calculateSum","blockTrackerEvents","BaseBlockTracker","newBlock","currentBlock","newBlockInt","hexToInt","currentBlockInt","oldBlock","hexInt","StructError","failure","failures","cached","explanation","isIterable","print","shiftIterator","toFailure","struct","branch","toFailures","run","Struct","refiner","coercer","validate","tuples","tuple","assign","Structs","lazy","omit","subschema","partial","isStruct","optional","pick","Element","boolean","enums","Class","integer","intersection","literal","constant","Key","Value","never","nullable","knowns","Never","unknowns","record","regexp","coerced","unknown","defaulted","changed","trimmed","refine","getSize","exclusive","nonempty","assert_1","superstruct_1","isErrorWithMessage","isConstructable","getErrorMessage","ErrorWrapper","AssertionError","assert$2","assertStruct","errorPrefix","assertExhaustive","_object","base64_1","paddingRequired","characterSet","letters","base64$1","isStrictHexString","assertIsHexString","assertIsStrictHexString","add0x","hexadecimal","remove0x","hex_1","HEX_MINIMUM_NUMBER_CHARACTER","HEX_MAXIMUM_NUMBER_CHARACTER","HEX_CHARACTER_OFFSET","getPrecomputedHexValuesBuilder","lookupTable","getPrecomputedHexValues","assertIsBytes","bytesToBigInt","bytesToSignedBigInt","bytesToNumber","bytesToString","strippedValue","normalizedValue","bigIntToBytes","bigIntFits","signedBigIntToBytes","numberToBytes","stringToBytes","valueToBytes","normalizedValues","createDataView","coercers","bytes_1","NumberLikeStruct","NumberCoercer","BigIntCoercer","BytesCoercer","HexCoercer","createNumber","createBigInt","createBytes","createHex","_FrozenMap_map","_FrozenSet_set","collections","FrozenMap","callbackfn","_map","FrozenSet","value2","_set","member","encryptionTypes","finiteNumber","checkStruct","innerValue","unsafeResult","isValidJson","getJsonSize","isJsonRpcNotification","assertIsJsonRpcNotification","assertIsJsonRpcRequest","isPendingJsonRpcResponse","assertIsPendingJsonRpcResponse","assertIsJsonRpcResponse","isJsonRpcSuccess","assertIsJsonRpcSuccess","isJsonRpcFailure","assertIsJsonRpcFailure","assertIsJsonRpcError","getJsonRpcIdValidator","permitEmptyString","permitFractions","permitNull","keyring","fmtLong","fmtShort","msAbs","plural","isPlural","setup","createDebug","disable","enable","enabled","selectColor","namespace","prevTime","enableOverride","namespacesCache","enabledCache","newDebug","namespaces","toNamespace","formatArgs","load","useColors","localstorage","lastC","formatters","logging","globalLogger","createProjectLogger","projectName","createModuleLogger","projectLogger","moduleName","isNonEmptyArray","hasProperty","objectToCheck","JsonSize","isASCII","calculateStringSize","calculateNumberSize","bigIntToHex","hexToBigInt","opaque","Duration","isNonNegativeInteger","assertIsNonNegativeInteger","inMilliseconds","timeSince","transactionTypes","SEMVER_SPEC_VERSION","MAX_LENGTH","MAX_SAFE_COMPONENT_LENGTH","MAX_SAFE_BUILD_LENGTH","debug_1","safeRe","LETTERDASHNUMBER","safeRegexReplacements","makeSafeRegex","createToken","isGlobal","safe","looseOption","emptyOpts","parseOptions_1","compareIdentifiers","anum","bnum","parseOptions","semver","SemVer","release","identifier","identifierBase","prerelease","parse_1","throwErrors","valid_1","clean_1","inc_1","diff_1","version1","version2","comparison","v1Higher","highVersion","lowVersion","highHasPre","major_1","minor_1","patch_1","prerelease_1","compare_1","rcompare_1","compareLoose_1","compareBuild_1","versionA","versionB","compareBuild","sort_1","rsort_1","gt_1","lt_1","eq_1","neq_1","gte_1","lte_1","neq","gte","lte","cmp_1","coerce_1","coerceRtlRegex","major","minor","patch","Yallist","walker","yallist","Yallist$1","push","unshift","thisp","deleteCount","insert","inserted","LENGTH","LENGTH_CALCULATOR","ALLOW_STALE","MAX_AGE","DISPOSE","NO_DISPOSE_ON_SET","LRU_LIST","CACHE","UPDATE_AGE_ON_GET","naiveLength","LRUCache","mL","allowStale","mA","lC","hit","forEachStep","isStale","maxAge","Entry","expiresAt","doUse","lruCache","Range","Comparator","isNullSet","isAny","memoKey","FLAG_INCLUDE_PRERELEASE","FLAG_LOOSE","hyphenReplace","comparatorTrimReplace","tildeTrimReplace","caretTrimReplace","rangeList","parseComparator","replaceGTE0","rangeMap","comparators","thisComparators","isSatisfiable","rangeComparators","thisComparator","rangeComparator","testSet","LRU","remainingComparators","testComparator","otherComparator","replaceCarets","replaceTildes","replaceXRanges","replaceStars","isX","replaceTilde","replaceCaret","replaceXRange","gtlt","xM","xm","anyX","incPr","$0","fM","fm","fpr","fb","tM","tm","tpr","tb","ANY","comparator","satisfies_1","toComparators_1","maxSatisfying_1","versions","maxSV","rangeObj","minSatisfying_1","minSV","minVersion_1","minver","setMin","compver","valid","satisfies","outside_1","hilo","gtfn","ltefn","ltfn","ecomp","high","outside","gtr_1","ltr_1","intersects_1","simplify","ranges","simplified","subset","dom","sawNonNull","OUTER","simpleSub","simpleDom","isSub","simpleSubset","minimumVersionWithPreRelease","minimumVersion","eqSet","higherGT","lowerLT","gtltComp","higher","lower","hasDomLT","hasDomGT","needDomLTPre","needDomGTPre","subset_1","internalRe","clean","require$$13","rcompare","require$$14","compareLoose","require$$15","require$$16","sort","require$$17","rsort","require$$18","require$$19","require$$20","require$$21","require$$22","require$$23","require$$24","require$$25","require$$26","require$$27","require$$28","require$$29","require$$30","require$$31","require$$32","require$$33","require$$34","require$$35","require$$36","require$$37","require$$38","require$$39","require$$40","semver_1","isValidSemVerVersion","isValidSemVerRange","versionRange","assertIsSemVerVersion","assertIsSemVerRange","gtVersion","gtRange","satisfiesVersionRange","PollingBlockTracker_1","json_rpc_random_id_1","pify_1","logging_utils_1","createRandomId","PollingBlockTracker","newErr","latestBlock","unref","timeoutRef","SubscribeBlockTracker_1","SubscribeBlockTracker","SubscribeBlockTracker$1","getUniqueId_1","getUniqueId","getUniqueId$1","idRemapMiddleware","createIdRemapMiddleware","_end","originalId","newId","createAsyncMiddleware_1","createAsyncMiddleware","asyncMiddleware","resolveNextPromise","nextPromise","returnHandlerCallback","nextWasCalled","asyncNext","runReturnHandlersCallback","createAsyncMiddleware$3","createScaffoldMiddleware_1","createScaffoldMiddleware","createScaffoldMiddleware$3","safeEventEmitter","SafeEventEmitter$2","fastSafeStringify","deterministicStringify","LIMIT_REPLACE_NODE","CIRCULAR_REPLACE_NODE","replacerStack","replacer","spacer","decirc","replaceGetterValues","setReplace","replace","propertyDescriptor","edgeIndex","compareFunction","deterministicDecirc","fast_safe_stringify_1","stringifyReplacer","errorConstants","error_constants_1","classes_1","FALLBACK_ERROR_CODE","FALLBACK_ERROR","fallbackError","JsonRpcEngine_1","eth_rpc_errors_1","JsonRpcEngine","middleware","middlewareError","isComplete","returnHandlers","handlerCallback","reqs","responses","_err","callerReq","middlewareStack","returnHandler","jsonify","mergeMiddleware_1","mergeMiddleware","engine","mergeMiddleware$1","__setModuleDefault","__classPrivateFieldIn","Semaphore_1","Semaphore","_maxConcurrency","ticket","releaser","nextConsumer","released","Semaphore$1","Mutex_1","Mutex","Mutex$2","withTimeout_1","withTimeout","timeoutError","isTimeout","withTimeout$1","immutable","ethQuery","EthQuery","EthQuery$1","generateFnWithDefaultBlockFor","generateFnFor","createPayload","argCount","unwrapped","filterCache","writableOrConfigurableOwn","pified","baseFilter","newResults","updates","BaseFilter","baseFilterHistory","hexUtils","minBlockRef","maxBlockRef","sortBlockRefs","bnToHex","blockRefIsNumber","incrementHexInt","intToHex","unsafeRandomBytes","refs","sortedRefs","refA","refB","blockRef","int","unsafeRandomNibble","BaseFilterWithHistory","logFilter","newLogs","matchingLogs","normalizedLogAddress","topicPattern","logTopic","subtopicsToMatch","getBlocksForRange_1","getBlocksForRange","fromBlockNumber","blockCountToQuery","missingBlockNumbers","blockBodies","blockNum","sendAsync","blockFilter","blockHashes","txFilter","blockTxHashes","LogFilter","BlockFilter","TxFilter","ethJsonRpcFilters","createEthFilterMiddleware","blockTracker","filterIndex","mutex","waitForFree","mutexMiddlewareWrapper","toFilterCreationMiddleware","newLogFilter","newBlockFilter","newPendingTransactionFilter","toAsyncRpcMiddleware","uninstallFilterHandler","getFilterChanges","getFilterLogs","filterUpdater","releaseLock","objValues","uninstallAllFilters","installFilter","filterIndexHex","uninstallFilter","prevFilterCount","newFilterCount","updateBlockTrackerSubs","createFilterFn","asyncFn","createFilterMiddleware","subscriptionManager","createSubscriptionMiddleware","subscriptions","filterManager","isDestroyed","subscribe","subscriptionType","subId","createSubNewHeads","filterParams","createSubFromFilter","normalizeBlock","_emitSubscriptionResult","filterIdHex","SubscriptionManager_1","eth_block_tracker_1","createSubscriptionManager","SubscriptionManager","SubscriptionManager$1","CoinbaseWalletProvider_1","eventemitter3_1","eth_eip712_util_1","DEFAULT_CHAIN_ID_KEY","DEFAULT_JSON_RPC_URL","CoinbaseWalletProvider","chainIdStr","notification","originalChainId","relay","isWhitelistedNetworkOrStandalone","switchResponse","callbackOrParams","arrayCb","newParams","newAddresses","syncResult","filterPromise","subscriptionPromise","requests","addressString","addressStr","toAddress","weiValue","gasPriceInWei","typedDataJSON","chainIdNumber","isDisconnect","CoinbaseWalletProvider$1","RelayEventManager_1","RelayEventManager","idStr","RelayEventManager$1","CoinbaseWalletSDK_1","wallet_logo_1","CoinbaseWalletSDK","uiConstructor","relayOption","extension","dappBrowser","CoinbaseWalletSDK_2","CoinbaseWalletProvider_2","enableInjected","enableCoinbase","enableEmail","defaultChainId","injectedProvider","coinbaseProvider","getInjectedProvider","getCoinbaseProvider","createWeb3Modal","Web3Modal","walletProvider","currentNetwork","clickedAnyWallet","connectRejectMethod","connectResolveMethod","web3Modal","newEvent","_config","OkxWallet","okx","XdefiWallet","_q","xfi","TrustWallet","trustWalletProvider","BitgetWallet","bitget","Nr.parse","Nr.stringify","i0","u0","l0","v0","m0","g0","A0","y0","M0","E0","N0","I0","_0","C0","V$3","R0","dr$2","Ut$2","O0","P0","U0","k0","q0","K0","H0","z0","Q0","G0","Y0","J0","W0","Z0","cn.generateKeyPair","cn.sharedKey","n$6","h$3","a$3","u$3","g$3","d$4","E$3","y$3","v$4","b$2","w$2","es$1","ts$1","is$1","ss$1","ar$1","hr$2","Ot$1","At$1","zt$1","Ut$1","kt$1","Vt$1","qt$1","jt$1","Yt$2","Ht$2","Wt$1","Zt$1","We$1","ne$2","index$1","WalletConnect","rpcIdMapping","EIP6963AdapterUUIDIndex","detail","adapterList","W3mConnectingSiwe","visuals","translation","W3mConnectingSiweView","o$4","u$1","L$1","Z$1","addUniqueItem","clamp","isEasingList","easing","rangeSize","getEasingForSegment","mix","noopReturn","fillOffset","offsetProgress","defaultOffset","interpolate","progressInRange","isCubicBezier","isEasingGenerator","calcBezier","subdivisionPrecision","subdivisionMaxIterations","binarySubdivide","upperBound","mX1","mX2","currentX","currentT","cubicBezier","mY1","mY2","getTForX","aX","steps","rounded","namedEasings","functionArgsRegex","getEasingFunction","definition","argsArray","Animation","keyframes","initialDuration","endDelay","repeat","autoplay","interpolate$1","currentIteration","iterationProgress","iterationIsOdd","latest","invariant","MotionValue","animation","getAnimationData","getMotionValue","motionValues","axes","order","transformAlias","rotation","baseTransformProperties","transformDefinitions","asTransformCssVar","transforms","axis","compareTransformOrder","transformLookup","isTransform","addTransformToElement","buildTransformTemplate","transformListToString","template","isCssVar","registeredProperties","registerCssVariable","testAnimation","featureTests","supports","resolution","generateLinearEasingPoints","numPoints","convertEasing","cubicBezierAsString","hydrateKeyframes","readInitialValue","keyframesList","getStyleName","stopAnimation","needsCommit","getUnitConverter","toUnit","finalKeyframe","getDevToolsRecord","animateStyle","keyframesDefinition","AnimationPolyfill","isRecording","persist","allowWebkitAcceleration","valueIsTransform","canAnimateNatively","motionValue","animationOptions","thisEasing","getOptions","resolveElements","selectorCache","createAnimation","withControls","animationFactory","controls","getActiveAnimation","activeAnimation","selectFinished","resolveOption","createAnimate","AnimatePolyfill","numElements","animationFactories","valueOptions","animate","animateProgress","keyframesOrOptions","animate$1"],"mappings":"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AAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,EAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,EAAI,EACngD+sC,GAAK,CAAC,GAAM,EAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,EAAM,IAAM,IAAM,IAAM,EAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,EAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAI,EAEpgDv8C,IAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,EAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,SAAU,EACpgGC,IAAK,CAAC,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,EAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,SAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,SAAU,EACpgGu8C,IAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,SAAY,WAAY,UAAY,WAAY,UAAY,WAAY,SAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,EAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,SAAU,EACpgGC,IAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,SAAY,WAAY,UAAY,WAAY,UAAY,WAAY,SAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,EAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,SAAU,EAEpgGC,IAAK,CAAC,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,EAAY,UAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAU,EACpgGC,IAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,EAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,SAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAU,EACpgGC,IAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,EAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAU,EACpgGC,IAAK,CAAC,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,WAAY,SAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,EAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAU,EAEpgG1mC,IAAK,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAU,EACpgGC,IAAK,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,SAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,SAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAU,EACpgG0mC,IAAK,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,WAAY,UAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAU,EACpgGC,IAAK,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UA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KAAQ,GAAM,IAAO,EAAK,kyGCAhF,MAAMC,GAAc,mCACPC,GAAmB,CAC5B,CACI,MAAO,WACP,KAAM,WACN,SAAU,OACV,IAAK,EACR,CACL,EACaC,GAAgB,CACzB,gBAAiB,KACjB,WAAY,IACZ,WAAY,IACZ,YAAAF,GACA,sBAAuB,GAAGA,EAAW,aACrC,oBAAqB,GAAGA,EAAW,sBACnC,qBAAsB,CAClB,gBACA,cACA,iBACA,cACA,eACA,aACA,iBACA,aACA,eACA,aACH,EACD,2BAA4B,CACxB,WACA,WACA,UACA,oBACA,WACA,OACA,MACH,EACD,mCAAoC,WACpC,mCAAoC,CAChC,SAAU,WACV,eAAgB,WAChB,QAAS,UACT,UAAW,oBACX,aAAc,WACd,KAAM,OACN,KAAM,MACT,EACD,0BAA2B,uCAC3B,iBAAkB,CACd,MACA,MACA,QACA,OACA,MACA,MACA,OACA,MACA,OACA,QACA,OACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,OACA,OACA,MACA,MACA,OACA,MACA,MACA,QACA,IACH,EACD,eAAgB,CACZ,MACA,MACA,QACA,OACA,MACA,MACA,OACA,MACA,OACA,QACA,OACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,OACA,OACA,MACA,MACA,OACA,MACA,MACA,QACA,KACA,MACA,QACA,OACA,OACA,MACA,OACA,OACA,QACA,QACA,MACA,OACA,QACA,MACA,SACA,QACA,MACA,MACA,KACA,OACA,MACA,SACA,SACA,MACA,QACA,MACA,OACA,SACA,KACA,KACH,EACD,qBAAsB,6CACtB,2BAA4B,CAChC,ECxIaG,GAAiB,CAC1B,UAAW,CACP,OAAI,OAAO,OAAW,IACX,GAAQ,OAAO,WAAW,kBAAkB,EAAE,SACjD,wDAAwD,KAAK,UAAU,SAAS,GAEjF,EACV,EACD,iBAAiBvqB,EAASwqB,EAAc,GAAI,CACxC,OAAOxqB,GAAA,YAAAA,EAAS,GAAG,oBAAoB,SAASwqB,EAAY,YAAW,EAC1E,EACD,WAAY,CACR,MAAMC,EAAK,OAAO,UAAU,UAAU,YAAW,EACjD,OAAOF,GAAe,SAAU,GAAIE,EAAG,SAAS,SAAS,CAC5D,EACD,OAAQ,CACJ,MAAMA,EAAK,OAAO,UAAU,UAAU,YAAW,EACjD,OAAOF,GAAe,aAAeE,EAAG,SAAS,QAAQ,GAAKA,EAAG,SAAS,MAAM,EACnF,EACD,UAAW,CACP,OAAO,OAAO,OAAW,GAC5B,EACD,iBAAiBC,EAAQ,CACrB,OAAOA,EAASA,EAAS,KAAK,IAAG,GAAMJ,GAAc,WAAa,EACrE,EACD,eAAeK,EAAW,CACtB,OAAO,KAAK,IAAG,EAAKA,GAAaL,GAAc,UAClD,EACD,gBAAgBt7B,EAAM,CAClB,UAAU,UAAU,UAAUA,CAAI,CACrC,EACD,kBAAmB,CACf,OAAO,KAAK,MAAQs7B,GAAc,eACrC,EACD,gBAAgBM,EAAa,CACzB,OAAOA,EAAY,MAAM,GAAG,EAAE,CAAC,CAClC,EACD,MAAM,KAAKC,EAAc,CACrB,OAAO,IAAI,QAAQj3F,GAAW,CAC1B,WAAWA,EAASi3F,CAAY,CAC5C,CAAS,CACJ,EACD,SAASp6E,EAAMud,EAAU,IAAK,CAC1B,IAAI0rC,EACJ,MAAO,IAAI3vD,IAAS,CAChB,SAASk1C,GAAO,CACZxuC,EAAK,GAAG1G,CAAI,CACf,CACG2vD,GACA,aAAaA,CAAK,EAEtBA,EAAQ,WAAWza,EAAMjxB,CAAO,CAC5C,CACK,EACD,UAAUhgC,EAAK,CACX,OAAOA,EAAI,WAAW,SAAS,GAAKA,EAAI,WAAW,UAAU,CAChE,EACD,gBAAgB88F,EAAQC,EAAO,CAC3B,GAAIR,GAAe,UAAUO,CAAM,EAC/B,OAAO,KAAK,mBAAmBA,EAAQC,CAAK,EAEhD,IAAIC,EAAaF,EACZE,EAAW,SAAS,KAAK,IAC1BA,EAAaF,EAAO,WAAW,IAAK,EAAE,EAAE,WAAW,IAAK,EAAE,EAC1DE,EAAa,GAAGA,CAAU,OAEzBA,EAAW,SAAS,GAAG,IACxBA,EAAa,GAAGA,CAAU,KAE9B,MAAMC,EAAe,mBAAmBF,CAAK,EAC7C,MAAO,CACH,SAAU,GAAGC,CAAU,UAAUC,CAAY,GAC7C,KAAMD,CAClB,CACK,EACD,mBAAmBF,EAAQC,EAAO,CAC9B,GAAI,CAACR,GAAe,UAAUO,CAAM,EAChC,OAAO,KAAK,gBAAgBA,EAAQC,CAAK,EAE7C,IAAIC,EAAaF,EACZE,EAAW,SAAS,GAAG,IACxBA,EAAa,GAAGA,CAAU,KAE9B,MAAMC,EAAe,mBAAmBF,CAAK,EAC7C,MAAO,CACH,SAAU,GAAGC,CAAU,UAAUC,CAAY,GAC7C,KAAMD,CAClB,CACK,EACD,SAASj2F,EAAMjW,EAAQosG,EAAU,CAC7B,OAAO,KAAKn2F,EAAMjW,EAAQosG,GAAY,qBAAqB,CAC9D,EACD,MAAM,aAAa/gG,EAAK,CACpB,MAAMghG,EAAe,IAAI,QAAQ,CAACv3F,EAASC,IAAW,CAClD,MAAMu3F,EAAQ,IAAI,MAClBA,EAAM,OAASx3F,EACfw3F,EAAM,QAAUv3F,EAChBu3F,EAAM,YAAc,YACpBA,EAAM,IAAMjhG,CACxB,CAAS,EACD,OAAO,QAAQ,KAAK,CAACghG,EAAcZ,GAAe,KAAK,GAAI,CAAC,CAAC,CAChE,EACD,cAAc3qB,EAAS4nB,EAAQ,OAC3B,IAAI6D,EACJ,GAAIzrB,IAAY,IACZyrB,EAAmB,gBAEd,OAAOzrB,GAAY,SAAU,CAClC,MAAM5jE,EAAS,OAAO4jE,CAAO,EACzB5jE,IACAqvF,GAAmBzjF,EAAA5L,EAAO,SAAU,EAAC,MAAM,uBAAuB,IAA/C,YAAA4L,EAAmD,GAE7E,CACD,OAAOyjF,EAAmB,GAAGA,CAAgB,IAAI7D,GAAU,EAAE,GAAK,SAASA,GAAU,EAAE,EAC1F,EACD,eAAe5nB,EAAS4nB,EAAQ,OAC5B,IAAI6D,EACJ,GAAIzrB,IAAY,IACZyrB,EAAmB,YAEd,OAAOzrB,GAAY,SAAU,CAClC,MAAM5jE,EAAS,OAAO4jE,CAAO,EACzB5jE,IACAqvF,GAAmBzjF,EAAA5L,EAAO,SAAU,EAAC,MAAM,uBAAuB,IAA/C,YAAA4L,EAAmD,GAE7E,CACD,MAAO,CACH,MAAOyjF,GAAoB,IAC3B,KAAMA,IAAqB,IAAM,MAAQ,GACzC,OAAA7D,CACZ,CACK,EACD,oBAAqB,CACjB,GAAI,CACA,KAAM,CAAE,SAAA8D,CAAQ,EAAK,IAAI,KAAK,eAAc,EAAG,kBACzCC,EAAcD,EAAS,cAC7B,OAAOhB,GAAc,qBAAqB,SAASiB,CAAW,CACjE,MACK,CACF,MAAO,EACV,CACJ,EACD,WAAY,CACR,OAAOhB,GAAe,mBAAoB,EACpC,4BACA,2BACT,EACD,qBAAsB,CAClB,OAAOA,GAAe,mBAAoB,EACpC,gCACA,+BACT,EACD,iBAAkB,CACd,OAAOA,GAAe,mBAAoB,EACpC,kCACA,iCACT,EACD,SAAU,CACN,OAAI,qBAAQ,WACD,OAAO,aAEX,uCAAuC,QAAQ,SAAU7oG,GAAK,CACjE,MAAMy9B,EAAK,KAAK,OAAM,EAAK,GAAM,EAEjC,OADUz9B,IAAM,IAAMy9B,EAAKA,EAAI,EAAO,GAC7B,SAAS,EAAE,CAChC,CAAS,CACJ,EACD,WAAWrzB,EAAO,SACd,OAAI,OAAOA,GAAU,SACVA,EAEF,QAAO4gB,GAAA9E,EAAA9b,GAAA,YAAAA,EAAO,SAAP,YAAA8b,EAAgB,KAAhB,YAAA8E,EAAoB,UAAY,SACrC5gB,EAAM,OAAO,CAAC,EAAE,QAElBA,aAAiB,MACfA,EAAM,QAEV,eACV,EACD,sBAAsB0/F,EAAaC,EAAoB,GAAI,CACvD,MAAMC,EAAmB,CAAA,EACzB,OAAID,GAAqBD,IACrBA,EAAY,QAAQ,CAACj9F,EAAIlB,IAAU,CAC/Bq+F,EAAiBn9F,CAAE,EAAIlB,CACvC,CAAa,EACDo+F,EAAkB,KAAK,CAAC3wG,EAAGC,IAAM,CAC7B,MAAM4wG,EAASD,EAAiB5wG,EAAE,EAAE,EAC9B8wG,EAASF,EAAiB3wG,EAAE,EAAE,EACpC,OAAI4wG,IAAW,QAAaC,IAAW,OAC5BD,EAASC,EAEXD,IAAW,OACT,GAEFC,IAAW,OACT,EAEJ,CACvB,CAAa,GAEEH,CACV,EACD,iBAAiB7nG,EAAO,CACpB,IAAIg7B,EAAM,EACV,UAAW/a,KAAQjgB,EACfg7B,GAAO/a,EAAK,OAAS,EAEzB,OAAO+a,CACV,EACD,mBAAmB5iB,EAAQ,CACvB,MAAM6vF,EAAgB7vF,EAAO,QAAQ,CAAC,EAChC,CAAC8vF,EAASC,CAAO,EAAIF,EAAc,MAAM,GAAG,EAClD,MAAO,CAAE,QAAAC,EAAS,QAAAC,EACrB,EACD,UAAU/zE,EAAS,CACf,GAAK,0BAA0B,KAAKA,CAAO,GAGtC,GAAI,0BAA0B,KAAKA,CAAO,GAAK,0BAA0B,KAAKA,CAAO,EACtF,MAAO,OAHP,OAAO,GAKX,MAAO,EACV,CACL,EChOO,MAAMg0E,EAAU,CACnB,YAAY,CAAE,QAAAx/D,GAAW,CACrB,KAAK,QAAUA,CAClB,CACD,MAAM,IAAI,CAAE,QAAA38B,EAAS,OAAA07B,EAAQ,GAAGxhB,CAAI,EAAI,CACpC,MAAM/b,EAAM,KAAK,UAAU+b,CAAI,EAE/B,OADiB,MAAM,MAAM/b,EAAK,CAAE,OAAQ,MAAO,QAAA6B,EAAS,OAAA07B,EAAQ,MAAO,UAAY,CAAA,GACvE,MACnB,CACD,MAAM,QAAQ,CAAE,QAAA17B,EAAS,OAAA07B,EAAQ,GAAGxhB,CAAI,EAAI,CACxC,MAAM/b,EAAM,KAAK,UAAU+b,CAAI,EAE/B,OADiB,MAAM,MAAM/b,EAAK,CAAE,OAAQ,MAAO,QAAA6B,EAAS,OAAA07B,CAAM,CAAE,GACpD,MACnB,CACD,MAAM,KAAK,CAAE,KAAAK,EAAM,QAAA/7B,EAAS,OAAA07B,EAAQ,GAAGxhB,GAAQ,CAC3C,MAAM/b,EAAM,KAAK,UAAU+b,CAAI,EAO/B,OANiB,MAAM,MAAM/b,EAAK,CAC9B,OAAQ,OACR,QAAA6B,EACA,KAAM+7B,EAAO,KAAK,UAAUA,CAAI,EAAI,OACpC,OAAAL,CACZ,CAAS,GACe,MACnB,CACD,MAAM,IAAI,CAAE,KAAAK,EAAM,QAAA/7B,EAAS,OAAA07B,EAAQ,GAAGxhB,GAAQ,CAC1C,MAAM/b,EAAM,KAAK,UAAU+b,CAAI,EAO/B,OANiB,MAAM,MAAM/b,EAAK,CAC9B,OAAQ,MACR,QAAA6B,EACA,KAAM+7B,EAAO,KAAK,UAAUA,CAAI,EAAI,OACpC,OAAAL,CACZ,CAAS,GACe,MACnB,CACD,MAAM,OAAO,CAAE,KAAAK,EAAM,QAAA/7B,EAAS,OAAA07B,EAAQ,GAAGxhB,GAAQ,CAC7C,MAAM/b,EAAM,KAAK,UAAU+b,CAAI,EAO/B,OANiB,MAAM,MAAM/b,EAAK,CAC9B,OAAQ,SACR,QAAA6B,EACA,KAAM+7B,EAAO,KAAK,UAAUA,CAAI,EAAI,OACpC,OAAAL,CACZ,CAAS,GACe,MACnB,CACD,UAAU,CAAE,KAAAl/B,EAAM,OAAAuB,GAAU,CACxB,MAAMI,EAAM,IAAI,IAAI3B,EAAM,KAAK,OAAO,EACtC,OAAIuB,GACA,OAAO,QAAQA,CAAM,EAAE,QAAQ,CAAC,CAACzT,EAAKuD,CAAK,IAAM,CACzCA,GACAsQ,EAAI,aAAa,OAAO7T,EAAKuD,CAAK,CAEtD,CAAa,EAEEsQ,CACV,CACL,CCrDA,MAAMiK,GAAQg0F,GAAM,CAChB,UAAW,GACX,QAAS,MACT,WAAY,sBAChB,CAAC,EACYC,GAAoB,CACjC,MAAIj0F,GACA,aAAa9d,EAAKmhB,EAAU,CACxB,OAAO6wF,GAAOl0F,GAAO9d,EAAKmhB,CAAQ,CACrC,EACD,aAAaq0E,EAAW,CACpB13E,GAAM,UAAY03E,CACrB,EACD,cAAcyc,EAAY,CACtBn0F,GAAM,WAAam0F,CACtB,EACD,oBAAoBC,EAAkB,CAClCp0F,GAAM,iBAAmBo0F,CAC5B,EACD,oBAAoBC,EAAkB,CAClCr0F,GAAM,iBAAmBq0F,CAC5B,EACD,qBAAqBC,EAAmB,CACpCt0F,GAAM,kBAAoBs0F,CAC7B,EACD,UAAUr7F,EAAQ,CACd+G,GAAM,OAAS/G,CAClB,EACD,sBAAsBs7F,EAAoB,CACtCv0F,GAAM,mBAAqBu0F,CAC9B,EACD,oBAAoBC,EAAkB,CAClCx0F,GAAM,iBAAmBw0F,CAC5B,EACD,iBAAiBC,EAAe,CAC5Bz0F,GAAM,cAAgBy0F,CACzB,EACD,iBAAiBC,EAAe,CAC5B10F,GAAM,cAAgB00F,CACzB,EACD,mBAAmBC,EAAiB,CAChC30F,GAAM,gBAAkB20F,CAC3B,EACD,cAAcC,EAAY,CACtB50F,GAAM,WAAa40F,CACtB,EACD,YAAY/sB,EAAU,CAClB7nE,GAAM,SAAW6nE,CACpB,EACD,iBAAiBgtB,EAAc,CAC3B70F,GAAM,aAAe60F,CACxB,EACD,yBAAyBC,EAAsB,CAC3C90F,GAAM,qBAAuB80F,CAChC,CACL,ECrDMC,IAAkB,CACpB,mBAAoB,CAChB,CACI,GAAI,uCACJ,KAAM,WACN,OAAQ,OACR,SAAU,CACN,CACI,KAAM,mBACN,aAAc,WACd,SAAU,IACV,iBAAkB,4CACrB,EACD,CACI,KAAM,kBACN,aAAc,UACd,SAAU,MACV,iBAAkB,4CACrB,CACJ,CACJ,EACD,CACI,GAAI,uCACJ,KAAM,QACN,OAAQ,MACR,SAAU,CACN,CACI,KAAM,mBACN,aAAc,WACd,SAAU,IACV,iBAAkB,4CACrB,EACD,CACI,KAAM,kBACN,aAAc,UACd,SAAU,MACV,iBAAkB,4CACrB,CACJ,CACJ,CACJ,EACD,kBAAmB,CACf,CACI,GAAI,MACJ,sBAAuB,CACnB,CACI,GAAI,OACJ,IAAK,QACL,IAAK,SACR,EACD,CACI,GAAI,mBACJ,IAAK,QACL,IAAK,UACR,CACJ,CACJ,EACD,CACI,GAAI,MACJ,sBAAuB,CACnB,CACI,GAAI,OACJ,IAAK,QACL,IAAK,SACR,EACD,CACI,GAAI,mBACJ,IAAK,QACL,IAAK,UACR,CACJ,CACJ,CACJ,CACL,EACMxgE,IAAU+9D,GAAe,sBACzB0C,GAAM,IAAIjB,GAAU,CAAEx/D,QAAAA,GAAS,CAAA,EACxB0gE,GAA0B,CACnC,cAAc,CAAE,QAAAl1E,GAAW,CACvB,OAAOi1E,GAAI,IAAI,CACX,KAAM,gBAAgBj1E,CAAO,GAC7B,OAAQ,CACJ,UAAWk0E,GAAkB,MAAM,SACtC,CACb,CAAS,CACJ,EACD,kBAAkB,CAAE,QAAArf,EAAS,UAAA8C,EAAW,OAAAwd,EAAQ,OAAAC,EAAQ,OAAA7hE,GAAU,CAC9D,MAAM8hE,EAAcF,EAAS,CAAE,OAAAA,CAAM,EAAK,CAAA,EAC1C,OAAOF,GAAI,IAAI,CACX,KAAM,eAAepgB,CAAO,sBAAsB8C,CAAS,GAAGyd,EAAS,WAAWA,CAAM,GAAK,EAAE,GAC/F,OAAQC,EACR,OAAA9hE,CACZ,CAAS,CACJ,EACD,mBAAmB,CAAE,UAAAokD,EAAW,QAAA72B,GAAW,CACvC,OAAOm0C,GAAI,IAAI,CACX,KAAM,gCAAgCtd,CAAS,YAAY72B,CAAO,EAC9E,CAAS,CACJ,EACD,gBAAgB,CAAE,UAAA62B,EAAW,UAAA1K,GAAa,CACtC,OAAOgoB,GAAI,KAAK,CACZ,KAAM,qBACN,KAAM,CACF,UAAAtd,EACA,SAAU,MACV,UAAA1K,CACH,EACD,QAAS,CACL,eAAgB,kBACnB,CACb,CAAS,CACJ,EACD,sBAAsB,CAAE,UAAA0K,EAAW,aAAA2d,EAAc,YAAAC,CAAW,EAAI,CAC5D,KAAM,CAAE,QAAAC,EAAS,WAAAX,GAAeX,GAAkB,MAClD,OAAOe,GAAI,IAAI,CACX,KAAM,mCAAmCtd,CAAS,iBAAiB2d,CAAY,gBAAgBC,CAAW,GAC1G,QAAS,CACL,eAAgB,mBAChB,aAAcC,EACd,gBAAiBX,CACpB,CACb,CAAS,CACJ,EACD,cAAc,CAAE,UAAAld,EAAW,QAAA72B,GAAW,CAClC,KAAM,CAAE,QAAA00C,EAAS,WAAAX,GAAeX,GAAkB,MAClD,OAAOe,GAAI,IAAI,CACX,KAAM,mCAAmCtd,CAAS,YAAY72B,CAAO,GACrE,QAAS,CACL,eAAgB,mBAChB,aAAc00C,EACd,gBAAiBX,CACpB,CACb,CAAS,CACJ,EACD,wBAAwB,CAAE,OAAAlE,EAAQ,KAAA9lG,EAAM,UAAA8sF,EAAW,GAAA5vE,EAAI,YAAAwtF,GAAe,CAClE,OAAON,GAAI,KAAK,CACZ,KAAM,gCACN,QAAS,CACL,eAAgB,kBACnB,EACD,KAAM,CACF,OAAAtE,EACA,OAAQ,CACJ,SAAU2B,GAAc,0BAC3B,EACD,KAAAznG,EACA,UAAA8sF,EACA,GAAA5vE,EACA,YAAAwtF,CACH,CACb,CAAS,CACJ,EACD,wBAAwB,CAAE,KAAA1qG,EAAM,UAAA8sF,EAAW,GAAA5vE,EAAI,YAAAwtF,CAAW,EAAI,CAC1D,KAAM,CAAE,QAAAC,EAAS,WAAAX,GAAeX,GAAkB,MAClD,OAAOe,GAAI,IAAI,CACX,KAAM,uCAAuCtd,CAAS,gBAAgB4d,CAAW,SAAS1qG,CAAI,OAAOkd,CAAE,GACvG,QAAS,CACL,eAAgB,mBAChB,aAAcytF,EACd,gBAAiBX,CACpB,CACb,CAAS,CACJ,EACD,MAAM,WAAW70E,EAAS8gC,EAAS,CAC/B,KAAM,CAAE,QAAA00C,EAAS,WAAAX,GAAeX,GAAkB,MAClD,OAAOe,GAAI,IAAI,CACX,KAAM,eAAej1E,CAAO,WAC5B,QAAS,CACL,aAAcw1E,EACd,gBAAiBX,CACpB,EACD,OAAQ,CACJ,SAAU,MACV,UAAWX,GAAkB,MAAM,UACnC,QAAApzC,CACH,CACb,CAAS,CACJ,EACD,MAAM,kBAAkB,CAAE,mBAAA20C,EAAoB,cAAAC,EAAe,eAAAC,EAAgB,eAAAC,EAAgB,cAAAC,GAAiB,CAY1G,OAXiB,MAAMZ,GAAI,KAAK,CAC5B,KAAM,sCAAsCf,GAAkB,MAAM,SAAS,GAC7E,KAAM,CACF,mBAAAuB,EACA,eAAAE,EACA,cAAAD,EACA,kBAAmB,MACnB,mBAAoBE,EACpB,iBAAkBC,CACrB,CACb,CAAS,GACe,GACnB,EACD,MAAM,kBAAmB,CACrB,GAAI,CAIA,OAHiB,MAAMZ,GAAI,IAAI,CAC3B,KAAM,gCAAgCf,GAAkB,MAAM,SAAS,EACvF,CAAa,CAEJ,MACS,CACN,OAAOc,GACV,CACJ,EACD,MAAM,eAAe,CAAE,iBAAAc,EAAkB,gBAAAC,EAAiB,OAAApF,EAAQ,QAAA3oB,CAAO,EAAI,CACzE,GAAI,CAUA,OATiB,MAAMitB,GAAI,KAAK,CAC5B,KAAM,8BAA8Bf,GAAkB,MAAM,SAAS,GACrE,KAAM,CACF,iBAAA4B,EACA,gBAAAC,EACA,OAAApF,EACA,QAAA3oB,CACH,CACjB,CAAa,CAEJ,MACS,CACN,MAAO,CACH,YAAa,CAAE,OAAA2oB,EAAQ,SAAUoF,EAAgB,EAAI,EACrD,WAAY,CAAE,OAAApF,EAAQ,SAAUoF,EAAgB,EAAI,EACpD,gBAAiB,CAAE,OAAApF,EAAQ,SAAUoF,EAAgB,EAAI,EACzD,aAAc,CAAE,OAAApF,EAAQ,SAAUoF,EAAgB,EAAI,EACtD,eAAgB,CAAE,OAAApF,EAAQ,SAAUoF,EAAgB,EAAI,EACxD,QAAS,iBACzB,CACS,CACJ,CACL,ECnOM91F,GAAQg0F,GAAM,CAChB,QAAS,GACT,QAAS,UACT,KAAM,EACV,CAAC,EACY+B,GAAkB,CAC/B,MAAI/1F,GACA,aAAa9d,EAAKmhB,EAAU,CACxB,OAAO6wF,GAAOl0F,GAAO9d,EAAKmhB,CAAQ,CACrC,EACD,YAAY7P,EAAS,CACjBwM,GAAM,QAAUxM,EAChBwM,GAAM,QAAU,UAChBA,GAAM,KAAO,EAChB,EACD,UAAUxM,EAAS,CACf,MAAMsa,EAAewkF,GAAe,WAAW9+F,CAAO,EACtDwM,GAAM,QAAU8N,EAChB9N,GAAM,QAAU,QAChBA,GAAM,KAAO,EAChB,EACD,MAAO,CACHA,GAAM,KAAO,EAChB,CACL,EC3BA,SAASg2F,IAAyBhqG,EAAG,CACpC,OAAOA,GAAKA,EAAE,YAAc,OAAO,UAAU,eAAe,KAAKA,EAAG,SAAS,EAAIA,EAAE,QAAaA,CACjG,CAEA,IAAI8/B,GAAU,CAAC,QAAS,CAAA,CAAE,EAGtBmK,GAAUnK,GAAQ,QAAU,GAO5BmqE,GACAC,GAEJ,SAASC,IAAmB,CACxB,MAAM,IAAI,MAAM,iCAAiC,CACrD,CACA,SAASC,IAAuB,CAC5B,MAAM,IAAI,MAAM,mCAAmC,CACvD,EACC,UAAY,CACT,GAAI,CACI,OAAO,YAAe,WACtBH,GAAmB,WAEnBA,GAAmBE,EAE1B,MAAW,CACRF,GAAmBE,EACtB,CACD,GAAI,CACI,OAAO,cAAiB,WACxBD,GAAqB,aAErBA,GAAqBE,EAE5B,MAAW,CACRF,GAAqBE,EACxB,CACL,KACA,SAASC,IAAWC,EAAK,CACrB,GAAIL,KAAqB,WAErB,OAAO,WAAWK,EAAK,CAAC,EAG5B,IAAKL,KAAqBE,IAAoB,CAACF,KAAqB,WAChE,OAAAA,GAAmB,WACZ,WAAWK,EAAK,CAAC,EAE5B,GAAI,CAEA,OAAOL,GAAiBK,EAAK,CAAC,CACjC,MAAS,CACN,GAAI,CAEA,OAAOL,GAAiB,KAAK,KAAMK,EAAK,CAAC,CAC5C,MAAS,CAEN,OAAOL,GAAiB,KAAK,KAAMK,EAAK,CAAC,CAC5C,CACJ,CAGL,CACA,SAASC,IAAgBC,EAAQ,CAC7B,GAAIN,KAAuB,aAEvB,OAAO,aAAaM,CAAM,EAG9B,IAAKN,KAAuBE,IAAuB,CAACF,KAAuB,aACvE,OAAAA,GAAqB,aACd,aAAaM,CAAM,EAE9B,GAAI,CAEA,OAAON,GAAmBM,CAAM,CACnC,MAAU,CACP,GAAI,CAEA,OAAON,GAAmB,KAAK,KAAMM,CAAM,CAC9C,MAAU,CAGP,OAAON,GAAmB,KAAK,KAAMM,CAAM,CAC9C,CACJ,CAIL,CACA,IAAIC,GAAQ,CAAA,EACRC,GAAW,GACXC,GACAC,GAAa,GAEjB,SAASC,KAAkB,CACnB,CAACH,IAAY,CAACC,KAGlBD,GAAW,GACPC,GAAa,OACbF,GAAQE,GAAa,OAAOF,EAAK,EAEjCG,GAAa,GAEbH,GAAM,QACNK,MAER,CAEA,SAASA,KAAa,CAClB,GAAI,CAAAJ,GAGJ,KAAI3gE,EAAUsgE,IAAWQ,GAAe,EACxCH,GAAW,GAGX,QADIz0G,EAAMw0G,GAAM,OACVx0G,GAAK,CAGP,IAFA00G,GAAeF,GACfA,GAAQ,CAAA,EACD,EAAEG,GAAa30G,GACd00G,IACAA,GAAaC,EAAU,EAAE,MAGjCA,GAAa,GACb30G,EAAMw0G,GAAM,MACf,CACDE,GAAe,KACfD,GAAW,GACXH,IAAgBxgE,CAAO,EAC3B,CAEAE,GAAQ,SAAW,SAAUqgE,EAAK,CAC9B,IAAIxkF,EAAO,IAAI,MAAM,UAAU,OAAS,CAAC,EACzC,GAAI,UAAU,OAAS,EACnB,QAAShwB,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAClCgwB,EAAKhwB,EAAI,CAAC,EAAI,UAAUA,CAAC,EAGjC20G,GAAM,KAAK,IAAIM,IAAKT,EAAKxkF,CAAI,CAAC,EAC1B2kF,GAAM,SAAW,GAAK,CAACC,IACvBL,IAAWS,GAAU,CAE7B,EAGA,SAASC,IAAKT,EAAK3qG,EAAO,CACtB,KAAK,IAAM2qG,EACX,KAAK,MAAQ3qG,CACjB,CACAorG,IAAK,UAAU,IAAM,UAAY,CAC7B,KAAK,IAAI,MAAM,KAAM,KAAK,KAAK,CACnC,EACA9gE,GAAQ,MAAQ,UAChBA,GAAQ,QAAU,GAClBA,GAAQ,IAAM,CAAA,EACdA,GAAQ,KAAO,CAAA,EACfA,GAAQ,QAAU,GAClBA,GAAQ,SAAW,CAAA,EAEnB,SAASnwC,IAAO,CAAE,CAElBmwC,GAAQ,GAAKnwC,GACbmwC,GAAQ,YAAcnwC,GACtBmwC,GAAQ,KAAOnwC,GACfmwC,GAAQ,IAAMnwC,GACdmwC,GAAQ,eAAiBnwC,GACzBmwC,GAAQ,mBAAqBnwC,GAC7BmwC,GAAQ,KAAOnwC,GACfmwC,GAAQ,gBAAkBnwC,GAC1BmwC,GAAQ,oBAAsBnwC,GAE9BmwC,GAAQ,UAAY,SAAU3wC,EAAM,CAAE,MAAO,CAAE,CAAA,EAE/C2wC,GAAQ,QAAU,SAAU3wC,EAAM,CAC9B,MAAM,IAAI,MAAM,kCAAkC,CACtD,EAEA2wC,GAAQ,IAAM,UAAY,CAAE,MAAO,KACnCA,GAAQ,MAAQ,SAAU1oC,EAAK,CAC3B,MAAM,IAAI,MAAM,gCAAgC,CACpD,EACA0oC,GAAQ,MAAQ,UAAW,CAAE,MAAO,EAAE,EAEtC,IAAI+gE,IAAiBlrE,GAAQ,QAC7B,MAAMmrE,GAAyBjB,IAAwBgB,GAAc,EChM/DE,GAAc,gCACdC,IAAa,cACbC,IAAiC,kCACjCC,IAA0B,2BACnBC,GAAc,CACvB,yBAAyB,CAAE,KAAAx6F,EAAM,KAAAxX,GAAQ,CACrC,GAAI,CACA,aAAa,QAAQ4xG,GAAa,KAAK,UAAU,CAAE,KAAAp6F,EAAM,KAAAxX,CAAM,CAAA,CAAC,CACnE,MACK,CACF,QAAQ,KAAK,uCAAuC,CACvD,CACJ,EACD,0BAA2B,CACvB,GAAI,CACA,MAAMiyG,EAAW,aAAa,QAAQL,EAAW,EACjD,GAAIK,EACA,OAAO,KAAK,MAAMA,CAAQ,CAEjC,MACK,CACF,QAAQ,KAAK,uCAAuC,CACvD,CAEJ,EACD,6BAA8B,CAC1B,GAAI,CACA,aAAa,WAAWL,EAAW,CACtC,MACK,CACF,QAAQ,KAAK,0CAA0C,CAC1D,CACJ,EACD,mBAAmBxS,EAAQ,CACvB,GAAI,CACA,MAAM8S,EAAgBF,GAAY,mBACnBE,EAAc,KAAKj+F,GAAKA,EAAE,KAAOmrF,EAAO,EAAE,IAErD8S,EAAc,QAAQ9S,CAAM,EACxB8S,EAAc,OAAS,GACvBA,EAAc,IAAG,EAErB,aAAa,QAAQL,IAAY,KAAK,UAAUK,CAAa,CAAC,EAErE,MACK,CACF,QAAQ,KAAK,gCAAgC,CAChD,CACJ,EACD,kBAAmB,CACf,GAAI,CACA,MAAMC,EAAS,aAAa,QAAQN,GAAU,EAC9C,OAAOM,EAAS,KAAK,MAAMA,CAAM,EAAI,CAAA,CACxC,MACK,CACF,QAAQ,KAAK,gCAAgC,CAChD,CACD,MAAO,EACV,EACD,2BAA2B3vB,EAAU,CACjC,GAAI,CACA,aAAa,QAAQsvB,IAAgCtvB,CAAQ,CAChE,MACK,CACF,QAAQ,KAAK,0CAA0C,CAC1D,CACJ,EACD,4BAA6B,CACzB,GAAI,CACA,OAAO,aAAa,QAAQsvB,GAA8B,CAC7D,MACK,CACF,QAAQ,KAAK,0CAA0C,CAC1D,CAEJ,EACD,sBAAsBM,EAAe,CACjC,GAAI,CACA,aAAa,QAAQL,IAAyBK,CAAa,CAC9D,MACK,CACF,QAAQ,KAAK,mCAAmC,CACnD,CACJ,EACD,uBAAwB,CACpB,GAAI,CACA,OAAO,aAAa,QAAQL,GAAuB,CACtD,MACK,CACF,QAAQ,KAAK,mCAAmC,CACnD,CAEJ,CACL,ECzFM9iE,IAAU+9D,GAAe,kBACzB0C,IAAM,IAAIjB,GAAU,CAAEx/D,QAAAA,GAAS,CAAA,EAC/BojE,IAAW,CAAC,eAAe,EAC3B33F,GAAQg0F,GAAM,CAChB,UAAW,KAAK,IAAK,EACrB,KAAM,CACF,KAAM,QACN,MAAO,eACV,CACL,CAAC,EACY4D,GAAmB,CAChC,MAAI53F,GACA,UAAUqD,EAAU,CAChB,OAAOzS,GAAIoP,GAAO,IAAMqD,EAASrD,EAAK,CAAC,CAC1C,EACD,gBAAiB,CACb,KAAM,CAAE,UAAA03E,EAAW,QAAA6d,EAAS,WAAAX,CAAU,EAAKX,GAAkB,MAC7D,MAAO,CACH,eAAgBvc,EAChB,aAAc6d,EACd,gBAAiBX,CAC7B,CACK,EACD,MAAM,oBAAoBrxF,EAAS,CAC/B,GAAI,CACA,GAAIo0F,IAAS,SAASp0F,EAAQ,KAAK,KAAK,GAAK,OAAO,OAAW,IAC3D,OAEJ,MAAMyxF,IAAI,KAAK,CACX,KAAM,KACN,QAAS4C,GAAiB,eAAgB,EAC1C,KAAM,CACF,QAAStF,GAAe,QAAS,EACjC,IAAK,OAAO,SAAS,KACrB,OAAQ,OAAO,SAAS,SACxB,UAAW/uF,EAAQ,UACnB,MAAOA,EAAQ,IAClB,CACjB,CAAa,CACJ,MACK,CACL,CACJ,EACD,UAAUvM,EAAM,CACZgJ,GAAM,UAAY,KAAK,MACvBA,GAAM,KAAOhJ,EACTi9F,GAAkB,MAAM,iBACxB2D,GAAiB,oBAAoB53F,EAAK,CAEjD,CACL,ECjDMA,GAAQg0F,GAAM,CAChB,aAAc,CAAE,EAChB,qBAAsB,CAAE,EACxB,mBAAoB,CAAE,EACtB,QAAS,GACT,MAAO,GACP,KAAM,MACV,CAAC,EACY6D,GAAyB,CACtC,MAAI73F,GACA,UAAUqD,EAAU,CAChB,OAAOzS,GAAIoP,GAAO,IAAMqD,EAASrD,EAAK,CAAC,CAC1C,EACD,MAAM,kBAAkB83F,EAAgB3C,EAAQ,CAC5C,KAAM,CAAE,UAAAzd,CAAS,EAAKuc,GAAkB,MACxC,GAAI,CAACvc,GAAa,CAACogB,EACf,MAAM,IAAI,MAAM,yEAAyE,EAE7F93F,GAAM,QAAU,GAChB,GAAI,CACA,MAAMrM,EAAW,MAAMshG,GAAwB,kBAAkB,CAC7D,QAAS6C,EACT,UAAApgB,EACA,OAAQ13E,GAAM,KACd,OAAAm1F,CAChB,CAAa,EACK4C,EAAsB,KAAK,uBAAuBpkG,EAAS,IAAI,EAC/DqkG,EAAuB,CAAC,GAAGh4F,GAAM,aAAc,GAAG+3F,CAAmB,EAC3E/3F,GAAM,QAAU,GACZm1F,IAAW,WACXn1F,GAAM,qBAAuB,KAAK,gCAAgCA,GAAM,qBAAsBrM,EAAS,IAAI,GAG3GqM,GAAM,aAAeg4F,EACrBh4F,GAAM,mBAAqB,KAAK,gCAAgCA,GAAM,mBAAoB+3F,CAAmB,GAEjH/3F,GAAM,MAAQg4F,EAAqB,SAAW,EAC9Ch4F,GAAM,KAAOrM,EAAS,KAAOA,EAAS,KAAO,MAChD,MACa,CACVikG,GAAiB,UAAU,CACvB,KAAM,QACN,MAAO,2BACP,WAAY,CACR,QAASE,EACT,UAAApgB,EACA,OAAQ13E,GAAM,IACjB,CACjB,CAAa,EACD+1F,GAAgB,UAAU,8BAA8B,EACxD/1F,GAAM,QAAU,GAChBA,GAAM,MAAQ,GACdA,GAAM,KAAO,MAChB,CACJ,EACD,gCAAgCi4F,EAAkB,GAAIv4B,EAAe,CAAA,EAAI,CACrE,MAAMw4B,EAAUD,EAChB,OAAAv4B,EAAa,QAAQzE,GAAe,CAChC,MAAMk9B,EAAO,IAAI,KAAKl9B,EAAY,SAAS,OAAO,EAAE,cAC9Cm9B,EAAQ,IAAI,KAAKn9B,EAAY,SAAS,OAAO,EAAE,WAC/Co9B,EAAmBH,EAAQC,CAAI,GAAK,CAAA,EAEpCG,GADoBD,EAAiBD,CAAK,GAAK,CAAA,GACN,OAAOx1C,GAAMA,EAAG,KAAOqY,EAAY,EAAE,EACpFi9B,EAAQC,CAAI,EAAI,CACZ,GAAGE,EACH,CAACD,CAAK,EAAG,CAAC,GAAGE,EAAsBr9B,CAAW,EAAE,KAAK,CAACp4E,EAAGC,IAAM,IAAI,KAAKA,EAAE,SAAS,OAAO,EAAE,QAAO,EAAK,IAAI,KAAKD,EAAE,SAAS,OAAO,EAAE,SAAS,CAC9J,CACA,CAAS,EACMq1G,CACV,EACD,uBAAuBx4B,EAAc,CACjC,OAAOA,EAAa,OAAOzE,GAEhB,CADWA,EAAY,UAAU,MAAMs9B,UAAY,QAAA5oF,EAAA4oF,EAAS,WAAT,YAAA5oF,EAAmB,MAAM,WAAY,GAAI,CAEtG,CACJ,EACD,aAAc,CACV3P,GAAM,KAAO,MAChB,EACD,mBAAoB,CAChBA,GAAM,aAAe,GACrBA,GAAM,mBAAqB,GAC3BA,GAAM,QAAU,GAChBA,GAAM,MAAQ,GACdA,GAAM,KAAO,MAChB,CACL,ECtFMA,GAAQg0F,GAAM,CAChB,QAAS,GACT,UAAW,EACf,CAAC,EACYwE,GAAuB,CACpC,MAAIx4F,GACA,aAAa9d,EAAKmhB,EAAU,CACxB,OAAO6wF,GAAOl0F,GAAO9d,EAAKmhB,CAAQ,CACrC,EACD,YAAa,CACT,GAAI,CAACrD,GAAM,QACP,MAAM,IAAI,MAAM,qCAAqC,EAEzD,OAAOA,GAAM,OAChB,EACD,UAAUiiF,EAAQ,CACdjiF,GAAM,QAAUy4F,GAAIxW,CAAM,CAC7B,EACD,sBAAuB,CACnBjiF,GAAM,UAAY,KAAK,WAAU,EAAG,qBAAqB04F,GAAO,CAC5D14F,GAAM,MAAQ04F,EACd14F,GAAM,gBAAkBsyF,GAAe,kBACnD,CAAS,EACDgF,GAAY,sBAAsB,gBAAgB,CACrD,EACD,MAAM,gBAAgB3iG,EAAS,SAC3B,OAAM8f,GAAA9E,EAAA,KAAK,WAAU,GAAG,kBAAlB,YAAA8E,EAAA,KAAA9E,EAAoChb,IAC1C2iG,GAAY,sBAAsB3iG,EAAQ,IAAI,CACjD,EACD,MAAM,YAAYnB,EAAS,CACvB,OAAO,KAAK,WAAU,EAAG,YAAYA,CAAO,CAC/C,EACD,WAAW/N,EAAOumC,EAAU,CACxB,OAAO,KAAK,WAAY,EAAC,WAAWvmC,EAAOumC,CAAQ,CACtD,EACD,YAAYvmC,EAAOumC,EAAU,CACzB,OAAO,KAAK,WAAY,EAAC,YAAYvmC,EAAOumC,CAAQ,CACvD,EACD,MAAM,gBAAgBla,EAAM,CACxB,OAAO,KAAK,WAAU,EAAG,gBAAgBA,CAAI,CAChD,EACD,MAAM,YAAYA,EAAM,CACpB,OAAO,KAAK,WAAU,EAAG,YAAYA,CAAI,CAC5C,EACD,eAAe6mF,EAAK,SAChB,OAAOlkF,GAAA9E,EAAA,KAAK,WAAU,GAAG,iBAAlB,YAAA8E,EAAA,KAAA9E,EAAmCgpF,EAC7C,EACD,mBAAoB,CAChB34F,GAAM,MAAQ,OACdA,GAAM,gBAAkB,OACxBA,GAAM,UAAY,OAClBA,GAAM,UAAY,OAClBA,GAAM,aAAe,OACrB63F,GAAuB,kBAAiB,EACxCP,GAAY,4BAA2B,CAC1C,EACD,aAAasB,EAAW,CACpB54F,GAAM,UAAY44F,CACrB,EACD,WAAWC,EAAS,CAChB74F,GAAM,QAAU64F,EAChB74F,GAAM,UAAY,EACrB,EACD,gBAAgB0kF,EAAQ,CACpB1kF,GAAM,aAAe0kF,CACxB,EACD,aAAaoU,EAAW,CACpB94F,GAAM,UAAY84F,CACrB,EACD,MAAM,YAAa,CACf,MAAM,KAAK,aAAa,aACxB,KAAK,kBAAiB,CACzB,CACL,EC7EM94F,GAAQg0F,GAAM,CAChB,QAAS,GACT,KAAM,GACN,kBAAmB,MACvB,CAAC,EACY+E,GAAwB,CACrC,MAAI/4F,GACA,UAAUqD,EAAU,CAChB,OAAOzS,GAAIoP,GAAO,IAAMqD,EAASrD,EAAK,CAAC,CAC1C,EACD,IAAIg5F,EAAU,CACV,OAAO,OAAOh5F,GAAO,CAAE,GAAGA,GAAO,GAAGg5F,CAAQ,CAAE,CACjD,CACL,uCCdC,SAAS,EAAE9vG,EAAE,CAAsDk7B,UAAel7B,EAAmH,CAAA,GAAE+vG,GAAM,UAAU,CAAc,IAAI,EAAE,IAAI/vG,EAAE,IAAI8D,EAAE,KAAKk6B,EAAE,cAAcplC,EAAE,SAAS0H,EAAE,SAASu2C,EAAE,OAAOl9C,EAAE,MAAM22C,EAAE,OAAO/vC,EAAE,QAAQ49C,EAAE,UAAU9wC,EAAE,OAAOhN,EAAE,OAAOxH,EAAE,eAAem3G,EAAE,6FAA6FjtG,EAAE,sFAAsF,EAAE,CAAC,KAAK,KAAK,SAAS,2DAA2D,MAAM,GAAG,EAAE,OAAO,wFAAwF,MAAM,GAAG,EAAE,QAAQ,SAASma,EAAE,CAAC,IAAIld,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,EAAE8D,EAAEoZ,EAAE,IAAI,MAAM,IAAIA,GAAGld,GAAG8D,EAAE,IAAI,EAAE,GAAG9D,EAAE8D,CAAC,GAAG9D,EAAE,CAAC,GAAG,GAAG,CAAC,EAAErE,EAAE,SAASuhB,EAAEld,EAAE8D,EAAE,CAAC,IAAIk6B,EAAE,OAAO9gB,CAAC,EAAE,MAAM,CAAC8gB,GAAGA,EAAE,QAAQh+B,EAAEkd,EAAE,GAAG,MAAMld,EAAE,EAAEg+B,EAAE,MAAM,EAAE,KAAKl6B,CAAC,EAAEoZ,CAAC,EAAE2D,EAAE,CAAC,EAAEllB,EAAE,EAAE,SAASuhB,EAAE,CAAC,IAAIld,EAAE,CAACkd,EAAE,UAAS,EAAGpZ,EAAE,KAAK,IAAI9D,CAAC,EAAEg+B,EAAE,KAAK,MAAMl6B,EAAE,EAAE,EAAElL,EAAEkL,EAAE,GAAG,OAAO9D,GAAG,EAAE,IAAI,KAAKrE,EAAEqiC,EAAE,EAAE,GAAG,EAAE,IAAIriC,EAAE/C,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,SAASskB,EAAEld,EAAE8D,EAAE,CAAC,GAAG9D,EAAE,KAAM,EAAC8D,EAAE,KAAM,EAAC,MAAM,CAACoZ,EAAEpZ,EAAE9D,CAAC,EAAE,IAAIg+B,EAAE,IAAIl6B,EAAE,KAAM,EAAC9D,EAAE,KAAI,IAAK8D,EAAE,MAAK,EAAG9D,EAAE,MAAK,GAAIpH,EAAEoH,EAAE,MAAK,EAAG,IAAIg+B,EAAEz9B,CAAC,EAAED,EAAEwD,EAAElL,EAAE,EAAEi+C,EAAE72C,EAAE,MAAO,EAAC,IAAIg+B,GAAG19B,EAAE,GAAG,GAAGC,CAAC,EAAE,MAAM,EAAE,EAAEy9B,GAAGl6B,EAAElL,IAAI0H,EAAE1H,EAAEi+C,EAAEA,EAAEj+C,KAAK,EAAE,EAAE,EAAE,SAASskB,EAAE,CAAC,OAAOA,EAAE,EAAE,KAAK,KAAKA,CAAC,GAAG,EAAE,KAAK,MAAMA,CAAC,CAAC,EAAE,EAAE,SAASA,EAAE,CAAC,MAAM,CAAC,EAAE3c,EAAE,EAAE8M,EAAE,EAAEijC,EAAE,EAAE32C,EAAE,EAAE0G,EAAE,EAAEw2C,EAAE,EAAEv2C,EAAE,EAAE1H,EAAE,GAAGolC,EAAE,EAAEmgB,CAAC,EAAEjhC,CAAC,GAAG,OAAOA,GAAG,EAAE,EAAE,YAAa,EAAC,QAAQ,KAAK,EAAE,CAAC,EAAE,EAAE,SAASA,EAAE,CAAC,OAAgBA,IAAT,MAAU,CAAC,EAAEyrC,EAAE,KAAKvQ,EAAE,CAAE,EAACA,EAAEuQ,CAAC,EAAE,EAAE,IAAIh4B,EAAE,iBAAiB03B,EAAE,SAASnrC,EAAE,CAAC,OAAOA,aAAa0D,GAAG,EAAE,CAAC1D,GAAG,CAACA,EAAEyT,CAAC,EAAE,EAAEtgB,EAAE,SAAS6M,EAAEld,EAAE8D,EAAEk6B,EAAE,CAAC,IAAIplC,EAAE,GAAG,CAACoH,EAAE,OAAO2oD,EAAE,GAAa,OAAO3oD,GAAjB,SAAmB,CAAC,IAAIM,EAAEN,EAAE,YAAa,EAACo4C,EAAE93C,CAAC,IAAI1H,EAAE0H,GAAGwD,IAAIs0C,EAAE93C,CAAC,EAAEwD,EAAElL,EAAE0H,GAAG,IAAIu2C,EAAE72C,EAAE,MAAM,GAAG,EAAE,GAAG,CAACpH,GAAGi+C,EAAE,OAAO,EAAE,OAAO35B,EAAE25B,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAIl9C,EAAEqG,EAAE,KAAKo4C,EAAEz+C,CAAC,EAAEqG,EAAEpH,EAAEe,CAAC,CAAC,MAAM,CAACqkC,GAAGplC,IAAI+vD,EAAE/vD,GAAGA,GAAG,CAAColC,GAAG2qB,CAAC,EAAEsnD,GAAE,SAAS/yF,EAAEld,EAAE,CAAC,GAAGqoD,EAAEnrC,CAAC,EAAE,OAAOA,EAAE,MAAO,EAAC,IAAIpZ,EAAY,OAAO9D,GAAjB,SAAmBA,EAAE,GAAG,OAAO8D,EAAE,KAAKoZ,EAAEpZ,EAAE,KAAK,UAAU,IAAI8c,EAAE9c,CAAC,CAAC,EAAElK,EAAEinB,EAAEjnB,EAAE,EAAEyW,EAAEzW,EAAE,EAAEyuD,EAAEzuD,EAAE,EAAE,SAASsjB,EAAEld,EAAE,CAAC,OAAOiwG,GAAE/yF,EAAE,CAAC,OAAOld,EAAE,GAAG,IAAIA,EAAE,GAAG,EAAEA,EAAE,GAAG,QAAQA,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI4gB,EAAE,UAAU,CAAC,SAAS0iD,EAAEpmD,EAAE,CAAC,KAAK,GAAG7M,EAAE6M,EAAE,OAAO,KAAK,EAAE,EAAE,KAAK,MAAMA,CAAC,EAAE,KAAK,GAAG,KAAK,IAAIA,EAAE,GAAG,CAAA,EAAG,KAAKyT,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE2yC,EAAE,UAAU,OAAO,EAAE,MAAM,SAASpmD,EAAE,CAAC,KAAK,GAAG,SAASA,EAAE,CAAC,IAAIld,EAAEkd,EAAE,KAAKpZ,EAAEoZ,EAAE,IAAI,GAAUld,IAAP,KAAS,OAAO,IAAI,KAAK,GAAG,EAAE,GAAGpG,EAAE,EAAEoG,CAAC,EAAE,OAAO,IAAI,KAAK,GAAGA,aAAa,KAAK,OAAO,IAAI,KAAKA,CAAC,EAAE,GAAa,OAAOA,GAAjB,UAAoB,CAAC,MAAM,KAAKA,CAAC,EAAE,CAAC,IAAIg+B,EAAEh+B,EAAE,MAAMgwG,CAAC,EAAE,GAAGhyE,EAAE,CAAC,IAAIplC,EAAEolC,EAAE,CAAC,EAAE,GAAG,EAAE19B,GAAG09B,EAAE,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC,EAAE,OAAOl6B,EAAE,IAAI,KAAK,KAAK,IAAIk6B,EAAE,CAAC,EAAEplC,EAAEolC,EAAE,CAAC,GAAG,EAAEA,EAAE,CAAC,GAAG,EAAEA,EAAE,CAAC,GAAG,EAAEA,EAAE,CAAC,GAAG,EAAE19B,CAAC,CAAC,EAAE,IAAI,KAAK09B,EAAE,CAAC,EAAEplC,EAAEolC,EAAE,CAAC,GAAG,EAAEA,EAAE,CAAC,GAAG,EAAEA,EAAE,CAAC,GAAG,EAAEA,EAAE,CAAC,GAAG,EAAE19B,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,KAAKN,CAAC,CAAC,EAAEkd,CAAC,EAAE,KAAK,KAAM,CAAA,EAAE,EAAE,KAAK,UAAU,CAAC,IAAIA,EAAE,KAAK,GAAG,KAAK,GAAGA,EAAE,cAAc,KAAK,GAAGA,EAAE,SAAQ,EAAG,KAAK,GAAGA,EAAE,QAAO,EAAG,KAAK,GAAGA,EAAE,SAAS,KAAK,GAAGA,EAAE,SAAQ,EAAG,KAAK,GAAGA,EAAE,WAAY,EAAC,KAAK,GAAGA,EAAE,WAAY,EAAC,KAAK,IAAIA,EAAE,iBAAiB,EAAE,EAAE,OAAO,UAAU,CAAC,OAAOtjB,CAAC,EAAE,EAAE,QAAQ,UAAU,CAAC,OAAQ,KAAK,GAAG,aAAaf,CAAE,EAAE,EAAE,OAAO,SAASqkB,EAAEld,EAAE,CAAC,IAAI8D,EAAEmsG,GAAE/yF,CAAC,EAAE,OAAO,KAAK,QAAQld,CAAC,GAAG8D,GAAGA,GAAG,KAAK,MAAM9D,CAAC,CAAC,EAAE,EAAE,QAAQ,SAASkd,EAAEld,EAAE,CAAC,OAAOiwG,GAAE/yF,CAAC,EAAE,KAAK,QAAQld,CAAC,CAAC,EAAE,EAAE,SAAS,SAASkd,EAAEld,EAAE,CAAC,OAAO,KAAK,MAAMA,CAAC,EAAEiwG,GAAE/yF,CAAC,CAAC,EAAE,EAAE,GAAG,SAASA,EAAEld,EAAE8D,EAAE,CAAC,OAAOlK,EAAE,EAAEsjB,CAAC,EAAE,KAAKld,CAAC,EAAE,KAAK,IAAI8D,EAAEoZ,CAAC,CAAC,EAAE,EAAE,KAAK,UAAU,CAAC,OAAO,KAAK,MAAM,KAAK,QAAO,EAAG,GAAG,CAAC,EAAE,EAAE,QAAQ,UAAU,CAAC,OAAO,KAAK,GAAG,QAAS,CAAA,EAAE,EAAE,QAAQ,SAASA,EAAEld,EAAE,CAAC,IAAI8D,EAAE,KAAKk6B,EAAE,CAAC,CAACpkC,EAAE,EAAEoG,CAAC,GAAGA,EAAEm+C,EAAEvkD,EAAE,EAAEsjB,CAAC,EAAErkB,EAAE,SAASqkB,GAAEld,EAAE,CAAC,IAAIpH,EAAEgB,EAAE,EAAEkK,EAAE,GAAG,KAAK,IAAIA,EAAE,GAAG9D,EAAEkd,EAAC,EAAE,IAAI,KAAKpZ,EAAE,GAAG9D,EAAEkd,EAAC,EAAEpZ,CAAC,EAAE,OAAOk6B,EAAEplC,EAAEA,EAAE,MAAMe,CAAC,CAAC,EAAEq2G,EAAE,SAAS9yF,GAAEld,EAAE,CAAC,OAAOpG,EAAE,EAAEkK,EAAE,OAAM,EAAGoZ,EAAC,EAAE,MAAMpZ,EAAE,OAAO,GAAG,GAAGk6B,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,MAAMh+B,CAAC,CAAC,EAAE8D,CAAC,CAAC,EAAEf,EAAE,KAAK,GAAGugE,GAAE,KAAK,GAAG3nE,EAAE,KAAK,GAAGklB,EAAE,OAAO,KAAK,GAAG,MAAM,IAAI,OAAOs9B,GAAG,KAAK9wC,EAAE,OAAO2wB,EAAEnlC,EAAE,EAAE,CAAC,EAAEA,EAAE,GAAG,EAAE,EAAE,KAAK0H,EAAE,OAAOy9B,EAAEnlC,EAAE,EAAEyqE,EAAC,EAAEzqE,EAAE,EAAEyqE,GAAE,CAAC,EAAE,KAAKhzB,EAAE,IAAIqY,EAAE,KAAK,UAAU,WAAW,EAAEvQ,IAAGr1C,EAAE4lD,EAAE5lD,EAAE,EAAEA,GAAG4lD,EAAE,OAAO9vD,EAAEmlC,EAAEriC,EAAEy8C,GAAEz8C,GAAG,EAAEy8C,IAAGkrB,EAAC,EAAE,KAAK3pE,EAAE,KAAK0G,EAAE,OAAO2vG,EAAEnvF,EAAE,QAAQ,CAAC,EAAE,KAAKg2B,EAAE,OAAOm5D,EAAEnvF,EAAE,UAAU,CAAC,EAAE,KAAKvgB,EAAE,OAAO0vG,EAAEnvF,EAAE,UAAU,CAAC,EAAE,KAAKjoB,EAAE,OAAOo3G,EAAEnvF,EAAE,eAAe,CAAC,EAAE,QAAQ,OAAO,KAAK,MAAO,CAAA,CAAC,EAAE,EAAE,MAAM,SAAS3D,EAAE,CAAC,OAAO,KAAK,QAAQA,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,SAASA,EAAEld,EAAE,CAAC,IAAI8D,EAAEwsC,EAAE12C,EAAE,EAAEsjB,CAAC,EAAEihC,EAAE,OAAO,KAAK,GAAG,MAAM,IAAItlD,GAAGiL,EAAE,CAAA,EAAGA,EAAEnK,CAAC,EAAEwkD,EAAE,OAAOr6C,EAAEzD,CAAC,EAAE89C,EAAE,OAAOr6C,EAAEvD,CAAC,EAAE49C,EAAE,QAAQr6C,EAAEuJ,CAAC,EAAE8wC,EAAE,WAAWr6C,EAAE+yC,CAAC,EAAEsH,EAAE,QAAQr6C,EAAExD,CAAC,EAAE69C,EAAE,UAAUr6C,EAAElL,CAAC,EAAEulD,EAAE,UAAUr6C,EAAEk6B,CAAC,EAAEmgB,EAAE,eAAer6C,GAAGwsC,CAAC,EAAE0/D,EAAE1/D,IAAI32C,EAAE,KAAK,IAAIqG,EAAE,KAAK,IAAIA,EAAE,GAAGswC,IAAI/vC,GAAG+vC,IAAIjjC,EAAE,CAAC,IAAItK,EAAE,KAAK,QAAQ,IAAI1C,EAAE,CAAC,EAAE0C,EAAE,GAAGlK,CAAC,EAAEm3G,CAAC,EAAEjtG,EAAE,KAAI,EAAG,KAAK,GAAGA,EAAE,IAAI1C,EAAE,KAAK,IAAI,KAAK,GAAG0C,EAAE,YAAW,CAAE,CAAC,EAAE,EAAE,MAAMlK,GAAG,KAAK,GAAGA,CAAC,EAAEm3G,CAAC,EAAE,OAAO,KAAK,KAAM,EAAC,IAAI,EAAE,EAAE,IAAI,SAAS9yF,EAAEld,EAAE,CAAC,OAAO,KAAK,MAAO,EAAC,KAAKkd,EAAEld,CAAC,CAAC,EAAE,EAAE,IAAI,SAASkd,EAAE,CAAC,OAAO,KAAKtjB,EAAE,EAAEsjB,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,SAAS8gB,EAAEmgB,EAAE,CAAC,IAAI99C,EAAExH,EAAE,KAAKmlC,EAAE,OAAOA,CAAC,EAAE,IAAIgyE,EAAEp2G,EAAE,EAAEukD,CAAC,EAAEp7C,EAAE,SAASma,GAAE,CAAC,IAAIld,EAAEiwG,GAAEp3G,CAAC,EAAE,OAAOe,EAAE,EAAEoG,EAAE,KAAKA,EAAE,KAAM,EAAC,KAAK,MAAMkd,GAAE8gB,CAAC,CAAC,EAAEnlC,CAAC,CAAC,EAAE,GAAGm3G,IAAIzvG,EAAE,OAAO,KAAK,IAAIA,EAAE,KAAK,GAAGy9B,CAAC,EAAE,GAAGgyE,IAAI3iG,EAAE,OAAO,KAAK,IAAIA,EAAE,KAAK,GAAG2wB,CAAC,EAAE,GAAGgyE,IAAIr2G,EAAE,OAAOoJ,EAAE,CAAC,EAAE,GAAGitG,IAAI1/D,EAAE,OAAOvtC,EAAE,CAAC,EAAE,IAAIugE,GAAGjjE,EAAE,CAAE,EAACA,EAAEC,CAAC,EAAEN,EAAEK,EAAEw2C,CAAC,EAAE/yC,EAAEzD,EAAEzH,CAAC,EAAE,EAAEyH,GAAG2vG,CAAC,GAAG,EAAEr0G,EAAE,KAAK,GAAG,QAAS,EAACqiC,EAAEslC,EAAE,OAAO1pE,EAAE,EAAE+B,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,SAASuhB,EAAEld,EAAE,CAAC,OAAO,KAAK,IAAI,GAAGkd,EAAEld,CAAC,CAAC,EAAE,EAAE,OAAO,SAASkd,EAAE,CAAC,IAAIld,EAAE,KAAK8D,EAAE,KAAK,QAAO,EAAG,GAAG,CAAC,KAAK,QAAO,EAAG,OAAOA,EAAE,aAAajL,EAAE,IAAImlC,EAAE9gB,GAAG,uBAAuBtkB,EAAEgB,EAAE,EAAE,IAAI,EAAE0G,EAAE,KAAK,GAAGu2C,EAAE,KAAK,GAAGl9C,EAAE,KAAK,GAAG22C,GAAExsC,EAAE,SAASvD,EAAEuD,EAAE,OAAOq6C,EAAEr6C,EAAE,SAASuJ,EAAE,SAAS6P,EAAEpZ,EAAElL,EAAE0H,GAAE,CAAC,OAAO4c,IAAIA,EAAEpZ,CAAC,GAAGoZ,EAAEld,EAAEg+B,CAAC,IAAIplC,EAAEkL,CAAC,EAAE,MAAM,EAAExD,EAAC,CAAC,EAAED,GAAE,SAAS6c,EAAE,CAAC,OAAOtjB,EAAE,EAAE0G,EAAE,IAAI,GAAG4c,EAAE,GAAG,CAAC,EAAE8yF,GAAE7xD,GAAG,SAASjhC,EAAEld,EAAE8D,EAAE,CAAC,IAAIk6B,GAAE9gB,EAAE,GAAG,KAAK,KAAK,OAAOpZ,EAAEk6B,GAAE,YAAa,EAACA,EAAC,EAAE,OAAOA,EAAE,QAAQj7B,EAAG,SAASma,EAAE8gB,EAAE,CAAC,OAAOA,GAAG,SAAS9gB,EAAE,CAAC,OAAOA,EAAC,CAAE,IAAI,KAAK,OAAO,OAAOld,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,OAAO,OAAOpG,EAAE,EAAEoG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,OAAOrG,EAAE,EAAE,IAAI,KAAK,OAAOC,EAAE,EAAED,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,MAAM,OAAO0T,EAAEvJ,EAAE,YAAYnK,EAAE4G,EAAE,CAAC,EAAE,IAAI,OAAO,OAAO8M,EAAE9M,EAAE5G,CAAC,EAAE,IAAI,IAAI,OAAOqG,EAAE,GAAG,IAAI,KAAK,OAAOpG,EAAE,EAAEoG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,OAAO,OAAOA,EAAE,EAAE,EAAE,IAAI,KAAK,OAAOqN,EAAEvJ,EAAE,YAAY9D,EAAE,GAAGswC,GAAE,CAAC,EAAE,IAAI,MAAM,OAAOjjC,EAAEvJ,EAAE,cAAc9D,EAAE,GAAGswC,GAAE,CAAC,EAAE,IAAI,OAAO,OAAOA,GAAEtwC,EAAE,EAAE,EAAE,IAAI,IAAI,OAAO,OAAOM,CAAC,EAAE,IAAI,KAAK,OAAO1G,EAAE,EAAE0G,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,OAAOD,GAAE,CAAC,EAAE,IAAI,KAAK,OAAOA,GAAE,CAAC,EAAE,IAAI,IAAI,OAAO2vG,GAAE1vG,EAAEu2C,EAAE,EAAE,EAAE,IAAI,IAAI,OAAOm5D,GAAE1vG,EAAEu2C,EAAE,EAAE,EAAE,IAAI,IAAI,OAAO,OAAOA,CAAC,EAAE,IAAI,KAAK,OAAOj9C,EAAE,EAAEi9C,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,OAAO,OAAO72C,EAAE,EAAE,EAAE,IAAI,KAAK,OAAOpG,EAAE,EAAEoG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,MAAM,OAAOpG,EAAE,EAAEoG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,OAAOpH,CAAC,CAAC,OAAO,IAAI,EAAEskB,CAAC,GAAGtkB,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAE,EAAE,EAAE,UAAU,UAAU,CAAC,MAAO,IAAG,CAAC,KAAK,MAAM,KAAK,GAAG,kBAAmB,EAAC,EAAE,CAAC,EAAE,EAAE,KAAK,SAASolC,EAAE39B,EAAExH,EAAE,CAAC,IAAIm3G,EAAEjtG,EAAE,KAAKugE,EAAE1pE,EAAE,EAAEyG,CAAC,EAAE1E,EAAEs0G,GAAEjyE,CAAC,EAAEnd,GAAGllB,EAAE,UAAS,EAAG,KAAK,aAAaqE,EAAE2oD,GAAE,KAAKhtD,EAAEy8C,EAAE,UAAU,CAAC,OAAOx+C,EAAE,EAAEmJ,EAAEpH,CAAC,CAAC,EAAE,OAAO2nE,EAAG,CAAA,KAAKj2D,EAAE2iG,EAAE53D,EAAC,EAAG,GAAG,MAAM,KAAK73C,EAAEyvG,EAAE53D,IAAI,MAAM,KAAK+F,EAAE6xD,EAAE53D,EAAC,EAAG,EAAE,MAAM,KAAK9H,EAAE0/D,GAAGrnD,GAAE9nC,GAAG,OAAO,MAAM,KAAKlnB,EAAEq2G,GAAGrnD,GAAE9nC,GAAG,MAAM,MAAM,KAAKg2B,EAAEm5D,EAAErnD,GAAE7kD,EAAE,MAAM,KAAKxD,EAAE0vG,EAAErnD,GAAE3oD,EAAE,MAAM,KAAKpH,EAAEo3G,EAAErnD,GAAE,EAAE,MAAM,QAAQqnD,EAAErnD,EAAC,CAAC,OAAO9vD,EAAEm3G,EAAEp2G,EAAE,EAAEo2G,CAAC,CAAC,EAAE,EAAE,YAAY,UAAU,CAAC,OAAO,KAAK,MAAMzvG,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,UAAU,CAAC,OAAO63C,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,SAASl7B,EAAEld,EAAE,CAAC,GAAG,CAACkd,EAAE,OAAO,KAAK,GAAG,IAAIpZ,EAAE,KAAK,QAAQk6B,EAAE3tB,EAAE6M,EAAEld,EAAE,EAAE,EAAE,OAAOg+B,IAAIl6B,EAAE,GAAGk6B,GAAGl6B,CAAC,EAAE,EAAE,MAAM,UAAU,CAAC,OAAOlK,EAAE,EAAE,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,OAAO,UAAU,CAAC,OAAO,IAAI,KAAK,KAAK,SAAS,CAAC,EAAE,EAAE,OAAO,UAAU,CAAC,OAAO,KAAK,QAAS,EAAC,KAAK,cAAc,IAAI,EAAE,EAAE,YAAY,UAAU,CAAC,OAAO,KAAK,GAAG,YAAa,CAAA,EAAE,EAAE,SAAS,UAAU,CAAC,OAAO,KAAK,GAAG,YAAa,CAAA,EAAE0pE,CAAC,IAAIpkD,EAAE0B,EAAE,UAAU,OAAOqvF,GAAE,UAAU/wF,EAAE,CAAC,CAAC,MAAM8e,CAAC,EAAE,CAAC,KAAKplC,CAAC,EAAE,CAAC,KAAK0H,CAAC,EAAE,CAAC,KAAKu2C,CAAC,EAAE,CAAC,KAAKl9C,CAAC,EAAE,CAAC,KAAK4G,CAAC,EAAE,CAAC,KAAK8M,CAAC,EAAE,CAAC,KAAKhN,CAAC,CAAC,EAAE,QAAS,SAAS6c,EAAE,CAACgC,EAAEhC,EAAE,CAAC,CAAC,EAAE,SAASld,EAAE,CAAC,OAAO,KAAK,GAAGA,EAAEkd,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,CAAC,CAAC,GAAI+yF,GAAE,OAAO,SAAS/yF,EAAEld,EAAE,CAAC,OAAOkd,EAAE,KAAKA,EAAEld,EAAE4gB,EAAEqvF,EAAC,EAAE/yF,EAAE,GAAG,IAAI+yF,EAAC,EAAEA,GAAE,OAAO5/F,EAAE4/F,GAAE,QAAQ5nD,EAAE4nD,GAAE,KAAK,SAAS/yF,EAAE,CAAC,OAAO+yF,GAAE,IAAI/yF,CAAC,CAAC,EAAE+yF,GAAE,GAAG73D,EAAEuQ,CAAC,EAAEsnD,GAAE,GAAG73D,EAAE63D,GAAE,EAAE,GAAGA,EAAC,CAAC,mFCAp/N,SAASjwG,EAAE,EAAE,CAAsDk7B,EAAe,QAAA,EAAuI,CAAA,GAAE60E,GAAM,UAAU,CAAc,OAAO,SAAS/vG,EAAE,EAAEkd,EAAE,CAACA,EAAE,aAAa,SAASld,EAAE8D,EAAE,CAAC,IAAIwsC,EAAEpzB,EAAE,GAAGld,CAAC,EAAE,GAAGswC,EAAE,OAAOxsC,EAAE,OAAO,KAAKA,CAAC,EAAE,CAAA,GAAI,QAAS,SAAS9D,EAAE,CAACswC,EAAEtwC,CAAC,EAAE8D,EAAE9D,CAAC,CAAC,GAAIswC,CAAC,CAAC,CAAC,qFCAjY,SAAStS,EAAEh+B,EAAE,CAAsDk7B,EAAe,QAAAl7B,EAAuI,CAAA,GAAE+vG,GAAM,UAAU,CAAc,OAAO,SAAS/xE,EAAEh+B,EAAEkd,EAAE,CAAC8gB,EAAEA,GAAG,CAAE,EAAC,IAAIl6B,EAAE9D,EAAE,UAAU,EAAE,CAAC,OAAO,QAAQ,KAAK,SAAS,EAAE,gBAAgB,EAAE,WAAW,GAAG,aAAa,EAAE,UAAU,GAAG,WAAW,EAAE,QAAQ,GAAG,UAAU,EAAE,UAAU,GAAG,YAAY,EAAE,SAAS,GAAG,UAAU,EAAE,SAASpH,EAAEolC,EAAEh+B,EAAEkd,EAAEozB,EAAE,CAAC,OAAOxsC,EAAE,WAAWk6B,EAAEh+B,EAAEkd,EAAEozB,CAAC,CAAC,CAACpzB,EAAE,GAAG,aAAa,EAAEpZ,EAAE,WAAW,SAAS9D,EAAE8D,EAAElL,EAAEyH,EAAEw2C,EAAE,CAAC,QAAQsH,EAAExkD,EAAE2G,EAAEzH,EAAED,EAAE,QAAS,EAAC,cAAc,EAAEyU,EAAE2wB,EAAE,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EAAEriC,EAAE0R,EAAE,OAAO9M,EAAE,EAAEA,EAAE5E,EAAE4E,GAAG,EAAE,CAAC,IAAIwC,EAAEsK,EAAE9M,CAAC,EAAEwC,EAAE,IAAIo7C,EAAE99C,EAAE6c,EAAEld,CAAC,EAAE,KAAKpH,EAAEmK,EAAE,EAAE,EAAE,EAAEnK,EAAE,KAAKoH,EAAE+C,EAAE,EAAE,EAAE,GAAG,IAAI4tB,GAAGqN,EAAE,UAAU,KAAK,OAAO,KAAK,IAAImgB,CAAC,CAAC,EAAE,GAAG79C,EAAE69C,EAAE,EAAExtB,GAAG5tB,EAAE,GAAG,CAACA,EAAE,EAAE,CAAC4tB,GAAG,GAAGpwB,EAAE,IAAIwC,EAAEsK,EAAE9M,EAAE,CAAC,GAAG,IAAIsgB,EAAEhoB,EAAEkK,EAAE,CAAC,EAAE8zC,IAAIlmB,EAAEkmB,EAAE,GAAGlmB,CAAC,GAAGh3B,EAAY,OAAOknB,GAAjB,SAAmBA,EAAE,QAAQ,KAAK8P,CAAC,EAAE9P,EAAE8P,EAAE7sB,EAAEf,EAAE,EAAEzC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAGwD,EAAE,OAAOnK,EAAE,IAAI2pE,EAAEhjE,EAAEzH,EAAE,OAAOA,EAAE,KAAK,OAAkB,OAAOyqE,GAAnB,WAAqBA,EAAE3pE,CAAC,EAAE2pE,EAAE,QAAQ,KAAK3pE,CAAC,CAAC,EAAEmK,EAAE,GAAG,SAASk6B,EAAEh+B,EAAE,CAAC,OAAOpH,EAAEolC,EAAEh+B,EAAE,KAAK,EAAE,CAAC,EAAE8D,EAAE,KAAK,SAASk6B,EAAEh+B,EAAE,CAAC,OAAOpH,EAAEolC,EAAEh+B,EAAE,IAAI,CAAC,EAAE,IAAIK,EAAE,SAAS29B,EAAE,CAAC,OAAOA,EAAE,GAAG9gB,EAAE,IAAG,EAAGA,EAAC,CAAE,EAAEpZ,EAAE,MAAM,SAASk6B,EAAE,CAAC,OAAO,KAAK,GAAG39B,EAAE,IAAI,EAAE29B,CAAC,CAAC,EAAEl6B,EAAE,QAAQ,SAASk6B,EAAE,CAAC,OAAO,KAAK,KAAK39B,EAAE,IAAI,EAAE29B,CAAC,CAAC,CAAC,CAAC,gDCG14CkyE,GAAM,OAAOC,GAAY,EACzBD,GAAM,OAAOE,GAAY,EACzBF,GAAM,aAAa,KAAM,CACrB,aAAc,CACV,OAAQ,QACR,KAAM,SACN,EAAG,SACH,EAAG,QACH,GAAI,SACJ,EAAG,OACH,GAAI,SACJ,EAAG,MACH,GAAI,OACJ,EAAG,OACH,GAAI,QACJ,EAAG,OACH,GAAI,OACP,CACL,CAAC,EACM,MAAMG,GAAW,CACpB,QAAQC,EAAO,IAAI,KAAM,EAAC,YAAW,EAAI,CACrC,OAAOJ,GAAMI,CAAI,EAAE,MACtB,EACD,uBAAuBA,EAAM,CACzB,OAAOJ,GAAMI,CAAI,EAAE,QAAQ,EAAI,CAClC,EACD,WAAWA,EAAM5+F,EAAS,SAAU,CAChC,OAAOw+F,GAAMI,CAAI,EAAE,OAAO5+F,CAAM,CACnC,CACL,EChCa6+F,GAAc,CACvB,sBAAsBC,EAAe,CACjC,OAAOA,EAAgB,OAAOA,EAAc,MAAM,GAAG,EAAE,CAAC,CAAC,EAAI,MAChE,CACL,ECHaC,GAAa,CACtB,UAAUl0G,EAAO,CACb,OAAO,IAAI6/B,GAAU7/B,CAAK,CAC7B,EACD,SAAS5C,EAAGC,EAAG,CACX,GAAID,IAAM,QAAaC,IAAM,OACzB,OAAOwiC,GAAU,CAAC,EAEtB,MAAMs0E,EAAa,IAAIt0E,GAAUziC,CAAC,EAC5Bg3G,EAAa,IAAIv0E,GAAUxiC,CAAC,EAClC,OAAO82G,EAAW,aAAaC,CAAU,CAC5C,CACL,ECNM75F,GAAQg0F,GAAM,CAChB,oBAAqB,GACrB,qBAAsB,GACtB,4BAA6B,CAAE,CACnC,CAAC,EACY8F,GAAoB,CACjC,MAAI95F,GACA,UAAUqD,EAAU,CAChB,OAAOzS,GAAIoP,GAAO,IAAMqD,EAASrD,EAAK,CAAC,CAC1C,EACD,aAAa9d,EAAKmhB,EAAU,CACxB,OAAO6wF,GAAOl0F,GAAO9d,EAAKmhB,CAAQ,CACrC,EACD,YAAa,CACT,GAAI,CAACrD,GAAM,QACP,MAAM,IAAI,MAAM,kCAAkC,EAEtD,OAAOA,GAAM,OAChB,EACD,UAAUiiF,EAAQ,CACdjiF,GAAM,QAAUy4F,GAAIxW,CAAM,CAC7B,EACD,eAAe8X,EAAa,CACxB/5F,GAAM,YAAc+5F,EACpBhB,GAAsB,IAAI,CAAE,kBAAmBgB,GAAA,YAAAA,EAAa,EAAI,CAAA,EAC3D,KAAK,MAAM,uBACZ,KAAK,wBAAuB,CAEnC,EACD,sBAAsBA,EAAa,CAC/B/5F,GAAM,YAAc+5F,EACpBhB,GAAsB,IAAI,CAAE,kBAAmBgB,GAAA,YAAAA,EAAa,EAAI,CAAA,EAChE/5F,GAAM,qBAAuB,EAChC,EACD,yBAAyBwzF,EAAmB,CACxCxzF,GAAM,sBAAwBwzF,CACjC,EACD,yBAAyBwG,EAAuB,CAC5Ch6F,GAAM,sBAAwBg6F,CACjC,EACD,+BAA+BC,EAA6B,CACxDj6F,GAAM,4BAA8Bi6F,CACvC,EACD,0BAA2B,CACvB,KAAM,CAAE,uBAAAC,EAAwB,sBAAAC,CAAuB,EAAGn6F,GACpDuzF,EAAc2G,EACd1G,EAAoB2G,EAC1B,OAAO7H,GAAe,sBAAsBiB,EAAaC,CAAiB,CAC7E,EACD,MAAM,6BAA8B,CAChC,MAAMx8F,EAAO,MAAM,KAAK,WAAY,EAAC,4BAA2B,EAChEgJ,GAAM,oBAAsBhJ,EAAK,oBACjCgJ,GAAM,uBAAyBhJ,EAAK,sBACvC,EACD,MAAM,oBAAoB+wE,EAAS,CAC/B,MAAM,KAAK,WAAU,EAAG,kBAAkBA,CAAO,EACjD/nE,GAAM,YAAc+nE,EAChBA,GACA6vB,GAAiB,UAAU,CACvB,KAAM,QACN,MAAO,iBACP,WAAY,CAAE,QAAS7vB,EAAQ,EAAI,CACnD,CAAa,CAER,EACD,yBAA0B,OACtB/nE,GAAM,mBAAqB,GAACA,EAAAA,GAAM,wBAANA,MAAAA,EAA6B,KAAK+nE,GAAW,OAAA,OAAAA,EAAQ,OAAO/nE,EAAAA,GAAM,cAANA,YAAAA,EAAmB,OACvGA,GAAM,oBACN,KAAK,uBAAsB,CAElC,EACD,4BAA6B,SACzB,MAAMo6F,EAAYX,GAAY,uBAAsBz5F,EAAAA,GAAM,cAANA,YAAAA,EAAmB,EAAE,EACzE,OAAKo6F,EAGE,IAAQp6F,EAAAA,GAAM,8BAANA,MAAAA,EAAmC,SAASo6F,IAFhD,EAGd,EACD,cAAe,CACNp6F,GAAM,uBACPA,GAAM,YAAc,QAExBA,GAAM,uBAAyB,OAC/BA,GAAM,oBAAsB,GAC5BA,GAAM,4BAA8B,EACvC,EACD,wBAAyB,CACrB,WAAW,IAAM,CACbq6F,GAAgB,KAAK,CAAE,KAAM,kBAAoB,CAAA,CACpD,EAAE,GAAG,CACT,CACL,EC5FaC,GAAiB,CAC1B,MAAM,cAAe,OAiBjB,OAhBiB,MAAMrF,GAAwB,mBAAmB,CAC9D,SAAStlF,EAAAmqF,GAAkB,MAAM,cAAxB,YAAAnqF,EAAqC,GAC9C,UAAWskF,GAAkB,MAAM,SAC/C,CAAS,GACuB,OAAO,IAAI3/F,IACxB,CACH,GAAGA,EACH,QAAS,GACT,SAAU,CACN,SAAU,IACV,QAAS,GACZ,EACD,MAAO,EACP,MAAO,CACvB,EACS,CAEJ,EACD,MAAM,eAAgB,CAClB,MAAMojF,EAAYuc,GAAkB,MAAM,UACpC8F,EAAcD,GAAkB,MAAM,YAC5C,OAAKC,EAGE,MAAM9E,GAAwB,cAAc,CAC/C,UAAAvd,EACA,QAASqiB,EAAY,EACjC,CAAS,EALU,IAMd,EACD,MAAM,sBAAsB,CAAE,aAAA1E,EAAc,YAAAC,EAAa,kBAAAiF,EAAmB,oBAAAC,CAAmB,EAAI,CAC/F,MAAM9iB,EAAYuc,GAAkB,MAAM,UACpCtgG,EAAW,MAAMshG,GAAwB,sBAAsB,CACjE,UAAAvd,EACA,aAAA2d,EACA,YAAAC,CACZ,CAAS,EACD,GAAI3hG,GAAA,MAAAA,EAAU,WAAa4mG,GAAqBC,EAAqB,CACjE,MAAMC,EAAcjC,GAAqB,WAAW+B,EAAmBC,CAAmB,EAE1F,OADqB,OAAO7mG,EAAS,SAAS,GAAK8mG,CAEtD,CACD,MAAO,EACV,EACD,MAAM,wBAAyB,CAC3B,MAAM16E,EAAU26E,GAAkB,MAAM,QAClCX,EAAcD,GAAkB,MAAM,YAC5C,GAAI,CAAC/5E,GAAW,CAACg6E,EACb,MAAO,GAGX,MAAMY,GADW,MAAM1F,GAAwB,WAAWl1E,EAASg6E,EAAY,EAAE,GACvD,SAC1B,OAAO,KAAK,2BAA2BY,CAAQ,CAClD,EACD,2BAA2BA,EAAU,CACjC,OAAOA,EAAS,IAAIrmG,GAAS,OACzB,MAAO,CACH,OAAQA,EAAM,OACd,KAAMA,EAAM,KACZ,QAASA,GAAA,MAAAA,EAAO,QACVA,EAAM,QACN,IAAGqb,EAAAmqF,GAAkB,MAAM,cAAxB,YAAAnqF,EAAqC,EAAE,IAAI0iF,GAAc,oBAAoB,GACtF,SAAU,SAAS/9F,EAAM,SAAS,SAAU,EAAE,EAC9C,QAASA,EAAM,QACf,QAAS,GACT,SAAUA,EAAM,SAChB,MAAOA,EAAM,MACb,MAAOA,EAAM,KAC7B,CACA,CAAS,CACJ,CACL,EC5EM0L,GAAQg0F,GAAM,CAChB,KAAM,UACN,QAAS,CAAC,SAAS,EACnB,iBAAkB,CAAE,CACxB,CAAC,EACY4G,GAAmB,CAChC,MAAI56F,GACA,aAAa9d,EAAKmhB,EAAU,CACxB,OAAO6wF,GAAOl0F,GAAO9d,EAAKmhB,CAAQ,CACrC,EACD,qBAAqBw3D,EAAQ,CACzB76D,GAAM,iBAAiB,KAAK66D,CAAM,CACrC,EACD,oBAAoBx7D,EAAQ,SACxB,MAAMw7D,EAAS76D,GAAM,iBAAiB,IAAG,EACpC66D,IAGDx7D,GACA,KAAK,OAAM,GACXsQ,EAAAkrD,GAAA,YAAAA,EAAQ,WAAR,MAAAlrD,EAAA,KAAAkrD,KAGIA,EAAO,OACP,KAAK,OAAM,EAENA,EAAO,MACZ,KAAK,MAAMA,EAAO,IAAI,GAE1BpmD,EAAAomD,GAAA,YAAAA,EAAQ,YAAR,MAAApmD,EAAA,KAAAomD,IAEP,EACD,KAAK56B,EAAMjpC,EAAM,CACTipC,IAASjgC,GAAM,OACfA,GAAM,KAAOigC,EACbjgC,GAAM,QAAQ,KAAKigC,CAAI,EACvBjgC,GAAM,KAAOhJ,EAEpB,EACD,MAAMipC,EAAM,CACRjgC,GAAM,KAAOigC,EACbjgC,GAAM,QAAU,CAACigC,CAAI,CACxB,EACD,QAAQA,EAAMjpC,EAAM,CACZgJ,GAAM,QAAQ,OAAS,GAAKA,GAAM,QAAQ,GAAG,EAAE,IAAMigC,IACrDjgC,GAAM,KAAOigC,EACbjgC,GAAM,QAAQA,GAAM,QAAQ,OAAS,CAAC,EAAIigC,EAC1CjgC,GAAM,KAAOhJ,EAEpB,EACD,QAAS,CACL,GAAIgJ,GAAM,QAAQ,OAAS,EAAG,CAC1BA,GAAM,QAAQ,MACd,KAAM,CAAC/P,CAAI,EAAI+P,GAAM,QAAQ,MAAM,EAAE,EACjC/P,IACA+P,GAAM,KAAO/P,EAEpB,CACJ,EACD,cAAc4qG,EAAc,CACxB,GAAI76F,GAAM,QAAQ,OAAS,EAAG,CAC1BA,GAAM,QAAUA,GAAM,QAAQ,MAAM,EAAG66F,EAAe,CAAC,EACvD,KAAM,CAAC5qG,CAAI,EAAI+P,GAAM,QAAQ,MAAM,EAAE,EACjC/P,IACA+P,GAAM,KAAO/P,EAEpB,CACJ,CACL,ECzDa6qG,IAAoB,KAQ3B96F,GAAQg0F,GAAM,CAChB,YAAa,GACb,QAAS,GACT,cAAe,GACf,oBAAqB,OACrB,mBAAoB,OACpB,iBAAkB,OAClB,mBAAoB,GACpB,YAAa,OACb,kBAAmB,GACnB,sBAAuB,EACvB,QAAS,OACT,cAAe,GACf,kBAAmB,EACnB,aAAc,IACd,oBAAqB,IACrB,WAAY,OACZ,SAAU3B,GAAc,2BACxB,OAAQ,OACR,cAAe,OACf,gBAAiB,OACjB,YAAa,OACb,oBAAqB,OACrB,eAAgB,CAAE,EAClB,OAAQ,OAAO,CAAC,EAChB,cAAe,EACf,YAAa,OACb,YAAa,MACjB,CAAC,EACY0I,GAAoB,CACjC,MAAI/6F,GACA,UAAUqD,EAAU,CAChB,OAAOzS,GAAIoP,GAAO,IAAMqD,EAASrD,EAAK,CAAC,CAC1C,EACD,aAAa9d,EAAKmhB,EAAU,CACxB,OAAO6wF,GAAOl0F,GAAO9d,EAAKmhB,CAAQ,CACrC,EACD,WAAY,eACR,KAAM,CAAE,QAAA0c,CAAO,EAAK26E,GAAkB,MAChCM,EAAiB,IAAGrrF,EAAAmqF,GAAkB,MAAM,cAAxB,YAAAnqF,EAAqC,EAAE,IAAI0iF,GAAc,oBAAoB,GACvG,GAAI,CAACtyE,EACD,MAAM,IAAI,MAAM,2CAA2C,EAE/D,MAAO,CACH,eAAAi7E,EACA,YAAaj7E,EACb,gBAAiB26E,GAAkB,MAAM,YACzC,oBAAoB16F,EAAAA,GAAM,cAANA,YAAAA,EAAmB,QACvC,gBAAgBA,EAAAA,GAAM,UAANA,YAAAA,EAAe,QAC/B,cAAeA,GAAM,cACrB,iBAAiBA,EAAAA,GAAM,UAANA,YAAAA,EAAe,SAChC,kBAAmBA,GAAM,kBACzB,qBAAqBA,EAAAA,GAAM,cAANA,YAAAA,EAAmB,QACpD,CACK,EACD,WAAWi7F,EAAS,CAChBj7F,GAAM,QAAUi7F,CACnB,EACD,eAAeC,EAAa,CACnBA,IAGLl7F,GAAM,YAAck7F,EACpB,KAAK,eAAeA,EAAY,QAAS,aAAa,EACzD,EACD,qBAAqBxK,EAAQ,CACzB,KAAM,CAAE,mBAAAyK,CAAkB,EAAK,KAAK,UAAS,EAC7Cn7F,GAAM,kBAAoB0wF,EACtByK,GACA,KAAK,eAAeA,EAAoB,aAAa,CAE5D,EACD,WAAWC,EAAS,CAChB,KAAM,CAAE,mBAAAD,EAAoB,kBAAAZ,CAAmB,EAAG,KAAK,UAAS,EAChE,GAAI,CAACa,EAAS,CACVp7F,GAAM,cAAgB,IACtBA,GAAM,kBAAoB,EAC1B,MACH,CACDA,GAAM,QAAUo7F,EAChB,KAAK,eAAeA,EAAQ,QAAS,SAAS,EAC1CD,GAAsBZ,GACtB,KAAK,WAAU,CAEtB,EACD,iBAAiB7J,EAAQ,CACrB,KAAM,CAAE,eAAA2K,CAAc,EAAK,KAAK,UAAS,EACzCr7F,GAAM,cAAgB0wF,EAClB2K,GACA,KAAK,eAAeA,EAAgB,SAAS,CAEpD,EACD,MAAM,eAAet7E,EAASl5B,EAAQ,CAClC,IAAIy0G,EAAQt7F,GAAM,eAAe+f,CAAO,GAAK,EACxCu7E,IACDA,EAAQ,MAAM,KAAK,gBAAgBv7E,CAAO,GAE1Cl5B,IAAW,cACXmZ,GAAM,sBAAwBs7F,EAEzBz0G,IAAW,YAChBmZ,GAAM,kBAAoBs7F,EAEjC,EACD,cAAe,CACX,MAAMC,EAAiBv7F,GAAM,QAAU,CAAE,GAAGA,GAAM,OAAS,EAAG,OACxDw7F,EAAax7F,GAAM,YAAc,CAAE,GAAGA,GAAM,WAAa,EAAG,OAClE,KAAK,eAAeu7F,CAAc,EAClC,KAAK,WAAWC,CAAU,EAC1B,KAAK,qBAAqBx7F,GAAM,eAAiB,GAAG,EACpD+6F,GAAkB,cAAa,CAClC,EACD,aAAc,CACV/6F,GAAM,OAAS,OACfA,GAAM,cAAgB,OACtBA,GAAM,oBAAsB,OAC5BA,GAAM,YAAc,EACvB,EACD,aAAc,OACV,KAAM,CAAE,eAAAg7F,CAAc,EAAK,KAAK,UAAS,EACnCS,GAAez7F,EAAAA,GAAM,SAANA,YAAAA,EAAc,KAAK1L,GAASA,EAAM,UAAY0mG,GACnE,KAAK,eAAeS,CAAY,EAChCz7F,GAAM,sBAAwBA,GAAM,eAAeg7F,CAAc,GAAK,EACtEh7F,GAAM,kBAAoB,IAC1B,KAAK,WAAW,MAAS,EACzBA,GAAM,cAAgB,CACzB,EACD,YAAa,CACTA,GAAM,iBAAmB,MAC5B,EACD,MAAM,iBAAkB,CACfA,GAAM,cACP,MAAM,KAAK,cACXA,GAAM,YAAc,GAE3B,EACD,MAAM,aAAc,OAChB,KAAM,CAAE,eAAAg7F,CAAc,EAAK,KAAK,UAAS,EACzC,MAAM,KAAK,eACX,MAAM,KAAK,uBACX,MAAM,KAAK,yBACX,MAAMS,GAAez7F,EAAAA,GAAM,SAANA,YAAAA,EAAc,KAAK1L,GAASA,EAAM,UAAY0mG,GAC/DS,GACA,KAAK,eAAeA,CAAY,CAEvC,EACD,MAAM,cAAe,CACjB,MAAMxiG,EAAS,MAAMqhG,GAAe,eACpCt6F,GAAM,OAAS/G,EACf+G,GAAM,cAAgB/G,EACjB,KAAK,CAACyiG,EAAYC,IACfD,EAAW,OAASC,EAAW,OACxB,GAEPD,EAAW,OAASC,EAAW,OACxB,EAEJ,CACV,EACI,OAAOrnG,GACJ+9F,EAAAA,GAAc,eAAe,SAAS/9F,EAAM,MAAM,EAIvD,CAAE,CAAA,EACL0L,GAAM,gBAAkB/G,EAAO,OAAO3E,GAC9B+9F,EAAAA,GAAc,iBAAiB,SAAS/9F,EAAM,MAAM,EAIzD,CAAE,CAAA,CACR,EACD,MAAM,gBAAgByrB,EAAS,SAC3B,MAAM67E,EAAa57F,GAAM,eAAe+f,CAAO,EAC/C,GAAI67E,EACA,OAAOA,EAMX,MAAMC,GAJW,MAAM5G,GAAwB,gBAAgB,CAC3D,UAAWhB,GAAkB,MAAM,UACnC,UAAW,CAACl0E,CAAO,CAC/B,CAAS,GAC0B,WAAa,GAClC+7E,EAAY,CAAC,GAAI97F,GAAM,QAAU,CAAE,EAAG,GAAIA,GAAM,qBAAuB,CAAA,GACvEuvF,GAAS5/E,EAAAmsF,GAAA,YAAAA,EAAW,KAAKxnG,GAASA,EAAM,UAAYyrB,KAA3C,YAAApQ,EAAqD,OAC9D2rF,IAAQ7mF,EAAAonF,EAAU,KAAKhiF,GAAKA,EAAE,SAAW01E,CAAM,IAAvC,YAAA96E,EAA0C,QAAS,IAC3DsnF,EAAe,WAAWT,CAAK,EACrCt7F,OAAAA,GAAM,eAAe+f,CAAO,EAAIg8E,EACzBA,CACV,EACD,MAAM,sBAAuB,OACzB,KAAM,CAAE,eAAAf,CAAc,EAAK,KAAK,UAAS,EAKnC1mG,GAAQqb,GAJG,MAAMslF,GAAwB,gBAAgB,CAC3D,UAAWhB,GAAkB,MAAM,UACnC,UAAW,CAAC+G,CAAc,CACtC,CAAS,GACsB,YAAT,YAAArrF,EAAqB,GAC7B2rF,GAAQhnG,GAAA,YAAAA,EAAO,QAAS,IAC9B0L,GAAM,eAAeg7F,CAAc,EAAI,WAAWM,CAAK,EACvDt7F,GAAM,aAAes7F,CACxB,EACD,MAAM,wBAAyB,CAC3B,MAAMX,EAAW,MAAML,GAAe,yBACjCK,IAGL,MAAM,KAAK,qBACX,KAAK,YAAYA,CAAQ,EAC5B,EACD,YAAYA,EAAU,CAClB,KAAM,CAAE,eAAAK,CAAc,EAAK,KAAK,UAAS,EACnCS,EAAed,EAAS,KAAKrmG,GAASA,EAAM,UAAY0mG,CAAc,EAC5EL,EAAS,QAAQrmG,GAAS,CACtB0L,GAAM,eAAe1L,EAAM,OAAO,EAAIA,EAAM,OAAS,CACjE,CAAS,EACD0L,GAAM,oBAAsB26F,EAC5B36F,GAAM,oBAAsBy7F,EACtB9B,GAAW,SAAS8B,EAAa,SAAS,QAASA,EAAa,KAAK,EAAE,SAAU,EACjF,GACT,EACD,MAAM,oBAAqB,CACvB,MAAM9sG,EAAM,MAAM2rG,GAAe,gBACjC,GAAI,CAAC3rG,EACD,OAEJ,MAAMlJ,EAAQkJ,EAAI,QACZqtG,EAAS,OAAOv2G,CAAK,EACrBw5E,EAAW,OAAO67B,GAAiB,EACnC38B,EAAW,KAAK,uBAAuBc,EAAU+8B,CAAM,EAC7Dh8F,GAAM,cAAgBm+D,CACzB,EACD,MAAM,sBAAuB,CACzB,KAAM,CAAE,YAAA89B,EAAa,gBAAAC,EAAiB,eAAAb,CAAc,EAAK,KAAK,YAC9D,GAAIY,GAAeZ,GAAkBa,GAAmB,CAACl8F,GAAM,QAAS,CACpE,MAAMi7D,EAAc,MAAM,KAAK,iBAC/B,KAAK,sBAAsBA,CAAW,CACzC,CACJ,EACD,yBAAyBhB,EAAKkE,EAAU,CACpC,MAAMg+B,EAAoBh+B,EAAWlE,EAErC,OAD4B,OAAOkiC,CAAiB,EAAI,IAE3D,EACD,uBAAuBliC,EAAKkE,EAAU,CAClC,MAAMi+B,EAAsB,KAAK,yBAAyBniC,EAAKkE,CAAQ,EAGvE,OAF0Bw7B,GAAW,UAAU35F,GAAM,YAAY,EAC1B,aAAao8F,CAAmB,EACnD,UACvB,EACD,qBAAqBC,EAAeC,EAAe,CAC/C,MAAM/B,EAAoBv6F,GAAM,kBAC1Bu8F,EAAmBv8F,GAAM,sBACzBw8F,EAAex8F,GAAM,kBAS3B,OARuB25F,GAAW,UAAUY,CAAiB,EACxD,aAAagC,CAAgB,EAC7B,KAAKD,CAAa,EACyB,UAAUD,CAAa,EAElE,MAAMG,CAAY,EAClB,UAAUA,CAAY,EACtB,aAAa,GAAG,EACF,UACtB,EACD,sBAAuB,CACnB,MAAMC,EAA2B9C,GAAW,UAAU35F,GAAM,QAAQ,EAAE,UAAU,GAAG,EAEnF,OAD0B25F,GAAW,SAAS35F,GAAM,kBAAmBy8F,CAAwB,EACtE,UAC5B,EACD,MAAM,eAAgB,CAClB,KAAM,CAAE,mBAAAtB,EAAoB,eAAAE,CAAgB,EAAG,KAAK,UAAS,EACzD,CAACF,GAAsB,CAACE,GAG5B,MAAM,KAAK,YACd,EACD,MAAM,YAAa,CACf,KAAM,CAAE,gBAAAa,EAAiB,eAAAb,CAAgB,EAAG,KAAK,UAAS,EAC1D,GAAI,CAACa,GAAmB,CAACb,EACrB,OAEJr7F,GAAM,QAAU,GAChB,MAAMi7D,EAAc,MAAM,KAAK,iBAC/B,KAAK,sBAAsBA,CAAW,EACtCj7D,GAAM,QAAU,EACnB,EACD,MAAM,gBAAiB,CACnB,KAAM,CAAE,gBAAA08F,EAAiB,mBAAAvB,EAAoB,kBAAAZ,EAAmB,oBAAAC,GAAwB,KAAK,YAC7F,GAAI,CAACkC,GACD,CAACvB,GACD,CAACZ,GACD,WAAWA,CAAiB,IAAM,GAClC,CAACC,EACD,OAEJ,MAAMmC,EAAe,MAAMrC,GAAe,sBAAsB,CAC5D,YAAaoC,EACb,aAAcvB,EACd,kBAAAZ,EACA,oBAAAC,CACZ,CAAS,EACD,IAAIv/B,EACJ,OAAI0hC,GACA38F,GAAM,oBAAsB,OAC5Bi7D,EAAc,MAAM,KAAK,gBACzBj7D,GAAM,mBAAqBi7D,IAG3Bj7D,GAAM,mBAAqB,OAC3Bi7D,EAAc,MAAM,KAAK,uBACzBj7D,GAAM,oBAAsBi7D,GAEzBA,CACV,EACD,aAAc,CACV,KAAM,CAAE,oBAAAu/B,CAAmB,EAAK,KAAK,UAAS,EAExCoC,EAAa,KADFpC,GAAuB,IAOxC,OAL+Bx6F,GAAM,uBAAyBA,GAAM,mBAAqBA,GAAM,kBACzF25F,GAAW,UAAU35F,GAAM,iBAAiB,EACzC,aAAaA,GAAM,qBAAqB,EACxC,UAAUA,GAAM,iBAAiB,EACpC25F,GAAW,UAAU,CAAC,GACE,aAAaiD,CAAU,EAAE,SAAQ,CAClE,EACD,MAAM,sBAAuB,CACzB,KAAM,CAAE,gBAAAF,EAAiB,YAAAT,EAAa,mBAAAd,EAAoB,eAAAE,GAAmB,KAAK,YAClF,GAAI,CAACqB,GAAmB,CAACrB,EACrB,OAEJ,GAAI,CAACF,EACD,MAAM,IAAI,MAAM,2DAA2D,EAE/E,MAAMxnG,EAAW,MAAMshG,GAAwB,wBAAwB,CACnE,UAAWhB,GAAkB,MAAM,UACnC,KAAMkH,EACN,GAAIE,EACJ,YAAaqB,CACzB,CAAS,EACKz9B,EAAW,MAAMu5B,GAAqB,YAAY,CACpD,QAASyD,EACT,GAAI3J,GAAe,gBAAgB3+F,EAAS,GAAG,EAAE,EACjD,KAAMA,EAAS,GAAG,IAC9B,CAAS,EACKkpG,EAAW,KAAK,cAStB,MARoB,CAChB,KAAMlpG,EAAS,GAAG,KAClB,GAAI2+F,GAAe,gBAAgB3+F,EAAS,GAAG,IAAI,EACnD,IAAKsrE,EACL,SAAU,OAAOtrE,EAAS,GAAG,OAAO,QAAQ,EAC5C,MAAO,OAAOA,EAAS,GAAG,KAAK,EAC/B,SAAAkpG,CACZ,CAEK,EACD,MAAM,2BAA2B7lG,EAAM,CACnC,KAAM,CAAE,YAAAilG,CAAW,EAAK,KAAK,UAAS,EACtCj8F,GAAM,mBAAqB,GAC3B46F,GAAiB,qBAAqB,CAClC,KAAM,KACN,OAAQ,EACpB,CAAS,EACD,GAAI,CACA,MAAMpC,GAAqB,gBAAgB,CACvC,QAASyD,EACT,GAAIjlG,EAAK,GACT,KAAMA,EAAK,KACX,MAAO,OAAOA,EAAK,KAAK,EACxB,SAAU,OAAOA,EAAK,QAAQ,CAC9C,CAAa,EACDgJ,GAAM,oBAAsB,OAC5BA,GAAM,mBAAqB,GAC3B,KAAK,WAAU,CAClB,OACMd,EAAK,CACR,MAAMrL,EAAQqL,EACdc,GAAM,iBAAmBnM,GAAA,YAAAA,EAAO,aAChCmM,GAAM,mBAAqB,EAC9B,CACJ,EACD,MAAM,eAAgB,CAClB,KAAM,CAAE,eAAAg7F,EAAgB,gBAAA0B,EAAiB,mBAAAvB,EAAoB,oBAAAX,EAAqB,kBAAAD,EAAmB,eAAAc,CAAgB,EAAG,KAAK,YAC7H,GAAI,GAACqB,GACD,CAACnC,GACD,CAACY,GACD,CAACE,GACD,CAACb,GAGL,GAAI,CACA,MAAM9J,EAAS8H,GAAqB,WAAW+B,EAAmBC,CAAmB,EAAE,WACjF7mG,EAAW,MAAMshG,GAAwB,wBAAwB,CACnE,UAAWhB,GAAkB,MAAM,UACnC,YAAayI,EACb,KAAMvB,EACN,GAAIE,EACJ,OAAA3K,CAChB,CAAa,EACKoM,EAA8B3B,IAAuBH,EACrD6B,EAAW,KAAK,cAChB5iC,EAAM,OAAOtmE,EAAS,GAAG,OAAO,GAAG,EACnCwqE,EAAW,OAAOxqE,EAAS,GAAG,OAAO,QAAQ,EAC7CsnE,EAAc,CAChB,KAAMtnE,EAAS,GAAG,KAClB,GAAI2+F,GAAe,gBAAgB3+F,EAAS,GAAG,EAAE,EACjD,IAAAsmE,EACA,SAAAkE,EACA,MAAqC,OAA9B2+B,EAAqCpM,EAAiB,GAAX,EAClD,SAAAmM,CAChB,EACY78F,OAAAA,GAAM,cAAgB,KAAK,uBAAuBi6D,EAAKkE,CAAQ,EACxDlD,CACV,MACa,CACV,MACH,CACJ,EACD,MAAM,0BAA0BjkE,EAAM,CAClC,GAAI,CAACA,EACD,OAEJ,KAAM,CAAE,YAAAilG,CAAW,EAAK,KAAK,UAAS,EACtCj8F,GAAM,mBAAqB,GAC3B46F,GAAiB,qBAAqB,CAClC,KAAM,UACN,OAAQ,GACR,WAAY,CACRG,GAAkB,YAAW,CAChC,CACb,CAAS,EACD,GAAI,CACA,MAAM96B,EAAkB,MAAMu4B,GAAqB,gBAAgB,CAC/D,QAASyD,EACT,GAAIjlG,EAAK,GACT,KAAMA,EAAK,KACX,IAAKA,EAAK,IACV,SAAU,OAAOA,EAAK,QAAQ,EAC9B,MAAOA,EAAK,KAC5B,CAAa,EACDgJ,OAAAA,GAAM,mBAAqB,GAC3B,WAAW,IAAM,CACb,KAAK,YAAW,EAChB,KAAK,uBAAsB,CAC9B,EAAE,GAAI,EACAigE,CACV,OACM/gE,EAAK,CACR,MAAMrL,EAAQqL,EACdc,GAAM,iBAAmBnM,GAAA,YAAAA,EAAO,aAChCmM,GAAM,mBAAqB,GAC3B+1F,GAAgB,WAAUliG,GAAA,YAAAA,EAAO,eAAgB,mBAAmB,EACpE,MACH,CACJ,EACD,iBAAiBkpG,EAAc/wE,EAAU,CACrC,KAAM,CAAE,eAAAqvE,CAAc,EAAK,KAAK,UAAS,EACzC,GAAI,CAACA,EACD,MAAO,CACH,cAAe,IACf,kBAAmB,CACnC,EAEQ,MAAMgB,EAAgB1C,GAAW,UAAUoD,CAAY,EAClD,UAAU,IAAM/wE,CAAQ,EACxB,QAAQ,EAAE,EACTwwE,EAAex8F,GAAM,eAAeq7F,CAAc,GAAK,IACvD2B,EAAoBrD,GAAW,UAAU6C,CAAY,EAAE,SAAQ,EACrE,MAAO,CACH,cAAAH,EACA,kBAAAW,CACZ,CACK,EACD,kCAAmC,CAC/B,OAAOrD,GAAW,UAAUA,GAAW,UAAU35F,GAAM,eAAiB,GAAG,CAAC,EAAE,cAAcA,GAAM,mBAAmB,CACxH,EACD,sBAAsBi7D,EAAa,CAC/B,KAAM,CAAE,eAAAogC,EAAgB,gBAAAa,CAAiB,EAAG,KAAK,UAAS,EAC1D,GAAI,CAACjhC,GAAe,CAACogC,GAAkB,CAACa,EACpC,OAE6B,KAAK,mCAElCl8F,GAAM,WAAa,uBAGnBA,GAAM,WAAa,OAEvB,KAAM,CAAE,cAAAq8F,EAAe,kBAAAW,GAAsB,KAAK,iBAAiB/hC,EAAY,SAAUihC,CAAe,EACxGl8F,GAAM,cAAgBq8F,EACtBr8F,GAAM,kBAAoBg9F,EAC1Bh9F,GAAM,cAAgB,KAAK,uBAAuBi7D,EAAY,IAAKA,EAAY,QAAQ,EACvFj7D,GAAM,YAAc,KAAK,qBAAqBA,GAAM,cAAeA,GAAM,aAAa,EACtFA,GAAM,YAAc,KAAK,sBAC5B,CACL,EC1fMA,GAAQg0F,GAAM,CAChB,YAAa,GACb,WAAY,EACZ,aAAc,CAAE,EAChB,qBAAsB,EAC1B,CAAC,EACY0G,GAAoB,CACjC,MAAI16F,GACA,UAAUqD,EAAU,CAChB,OAAOzS,GAAIoP,GAAO,IAAMqD,EAASrD,EAAK,CAAC,CAC1C,EACD,aAAa9d,EAAKmhB,EAAU,CACxB,OAAO6wF,GAAOl0F,GAAO9d,EAAKmhB,CAAQ,CACrC,EACD,eAAe45F,EAAa,CACxBj9F,GAAM,YAAci9F,CACvB,EACD,eAAetK,EAAa,CACxB3yF,GAAM,YAAc2yF,EACpB3yF,GAAM,QAAU2yF,EAAcL,GAAe,gBAAgBK,CAAW,EAAI,MAC/E,EACD,WAAWhrB,EAASu1B,EAAe,CAC/Bl9F,GAAM,QAAU2nE,EAChB3nE,GAAM,cAAgBk9F,CACzB,EACD,eAAeC,EAAa,CACxBn9F,GAAM,YAAcm9F,CACvB,EACD,gBAAgBC,EAAc,CAC1Bp9F,GAAM,aAAeo9F,CACxB,EACD,sBAAsBjM,EAAa,CAC/BnxF,GAAM,mBAAqBmxF,CAC9B,EACD,wBAAwBkM,EAAY,CAChCr9F,GAAM,qBAAuBq9F,CAChC,EACD,cAAcC,EAAY,CACtBt9F,GAAM,WAAas9F,CACtB,EACD,gBAAgBC,EAAc,CACtBA,IACAv9F,GAAM,aAAey4F,GAAI8E,CAAY,EAE5C,EACD,uBAAuBC,EAAqB,CACxCx9F,GAAM,oBAAsBw9F,CAC/B,EACD,wBAAwBC,EAAsB,CAC1Cz9F,GAAM,qBAAuBy9F,CAChC,EACD,MAAM,mBAAoB,CACtB,GAAI,CACA,GAAIz9F,GAAM,QAAS,CACf,MAAMrM,EAAW,MAAMshG,GAAwB,WAAWj1F,GAAM,OAAO,EACvE,KAAK,gBAAgBrM,EAAS,QAAQ,EACtConG,GAAkB,YAAYT,GAAe,2BAA2B3mG,EAAS,QAAQ,CAAC,CAC7F,CACJ,MACa,CACVoiG,GAAgB,UAAU,+BAA+B,CAC5D,CACJ,EACD,cAAe,CACX/1F,GAAM,YAAc,GACpBA,GAAM,qBAAuB,GAC7BA,GAAM,WAAa,EACnBA,GAAM,YAAc,OACpBA,GAAM,QAAU,OAChBA,GAAM,QAAU,OAChBA,GAAM,cAAgB,OACtBA,GAAM,YAAc,OACpBA,GAAM,aAAe,OACrBA,GAAM,mBAAqB,OAC3BA,GAAM,aAAe,GACrBA,GAAM,oBAAsB,OAC5BA,GAAM,qBAAuB,MAChC,CACL,ECnFMA,GAAQg0F,GAAM,CAChB,aAAc,CAAE,EAChB,cAAe,CAAE,EACjB,gBAAiB,CAAE,EACnB,YAAa,CAAE,EACf,eAAgB,CAAE,CACtB,CAAC,EACY0J,GAAkB,CAC/B,MAAI19F,GACA,uBAAuBqD,EAAU,CAC7B,OAAOzS,GAAIoP,GAAM,cAAe,IAAMqD,EAASrD,GAAM,aAAa,CAAC,CACtE,EACD,aAAa9d,EAAKmhB,EAAU,CACxB,OAAO6wF,GAAOl0F,GAAO9d,EAAKmhB,CAAQ,CACrC,EACD,UAAUA,EAAU,CAChB,OAAOzS,GAAIoP,GAAO,IAAMqD,EAASrD,EAAK,CAAC,CAC1C,EACD,eAAe9d,EAAKuD,EAAO,CACvBua,GAAM,aAAa9d,CAAG,EAAIuD,CAC7B,EACD,gBAAgBvD,EAAKuD,EAAO,CACxBua,GAAM,cAAc9d,CAAG,EAAIuD,CAC9B,EACD,kBAAkBvD,EAAKuD,EAAO,CAC1Bua,GAAM,gBAAgB9d,CAAG,EAAIuD,CAChC,EACD,cAAcvD,EAAKuD,EAAO,CACtBua,GAAM,YAAY9d,CAAG,EAAIuD,CAC5B,EACD,iBAAiBvD,EAAKuD,EAAO,CACzBua,GAAM,eAAe9d,CAAG,EAAIuD,CAC/B,CACL,ECjCMua,GAAQg0F,GAAM,CAChB,UAAW,OACX,eAAgB,CAAE,CACtB,CAAC,EACY2J,GAAkB,CAC/B,MAAI39F,GACA,UAAUqD,EAAU,CAChB,OAAOzS,GAAIoP,GAAO,IAAMqD,EAASrD,EAAK,CAAC,CAC1C,EACD,aAAa49F,EAAW,CACpB59F,GAAM,UAAY49F,EAClB,GAAI,CACA,MAAMC,EAAiBC,GAAoB,oBACvCD,GACAA,EAAe,SAAS,UAAU,CAC9B,UAAWF,GAAgB,YAAW,EAAG,SAC7D,CAAiB,CAER,MACK,CACF,QAAQ,KAAK,yCAAyC,CACzD,CACJ,EACD,kBAAkBI,EAAgB,CAC9B/9F,GAAM,eAAiB,CAAE,GAAGA,GAAM,eAAgB,GAAG+9F,GACrD,GAAI,CACA,MAAMF,EAAiBC,GAAoB,oBACvCD,GACAA,EAAe,SAAS,UAAU,CAC9B,eAAgBF,GAAgB,YAAW,EAAG,cAClE,CAAiB,CAER,MACK,CACF,QAAQ,KAAK,yCAAyC,CACzD,CACJ,EACD,aAAc,CACV,OAAOK,GAASh+F,EAAK,CACxB,CACL,ECtCMA,GAAQg0F,GAAM,CAChB,WAAY,CAAE,CAClB,CAAC,EACY8J,GAAsB,CACnC,MAAI99F,GACA,aAAa9d,EAAKmhB,EAAU,CACxB,OAAO6wF,GAAOl0F,GAAO9d,EAAKmhB,CAAQ,CACrC,EACD,cAAc46F,EAAY,CACtBj+F,GAAM,WAAai+F,EAAW,IAAIx0G,GAAKgvG,GAAIhvG,CAAC,CAAC,CAChD,EACD,aAAay0G,EAAW,SAEpB,GADAl+F,GAAM,WAAW,KAAKy4F,GAAIyF,CAAS,CAAC,EAChCA,EAAU,KAAO,WAAY,CAC7B,MAAML,EAAiBK,EACjBC,EAAeH,GAAS/J,GAAkB,KAAK,GACrDx/E,GAAA9E,EAAAkuF,GAAA,YAAAA,EAAgB,WAAhB,YAAAluF,EAA0B,eAA1B,MAAA8E,EAAA,KAAA9E,EAAyC,CACrC,SAAUwuF,EAAa,SACvB,WAAYA,EAAa,WACzB,UAAWA,EAAa,SACxC,GACYN,EAAe,SAAS,UAAU,CAC9B,UAAWF,GAAgB,YAAW,EAAG,UACzC,eAAgBA,GAAgB,YAAW,EAAG,cAC9D,CAAa,CACJ,CACJ,EACD,mBAAoB,CAChB,OAAO39F,GAAM,WAAW,KAAKvW,GAAKA,EAAE,OAAS,OAAO,CACvD,EACD,2BAA4B,CACxB,OAAOuW,GAAM,WAAW,OAAOvW,GAAKA,EAAE,OAAS,WAAW,EAAE,IAAIA,GAAC,OAAI,OAAAkmB,EAAAlmB,EAAE,OAAF,YAAAkmB,EAAQ,KAAI,CACpF,EACD,eAAgB,CACZ,OAAO3P,GAAM,UAChB,EACD,aAAa1J,EAAI8nG,EAAM,CACnB,OAAOp+F,GAAM,WAAW,KAAKvW,GAAC,OAAI,OAAAA,EAAE,aAAe6M,KAAMqZ,EAAAlmB,EAAE,OAAF,YAAAkmB,EAAQ,QAASyuF,EAAI,CACjF,CACL,EClCM7pE,IAAU+9D,GAAe,YAClB0C,GAAM,IAAIjB,GAAU,CAAE,QAAAx/D,GAAS,CAAA,EACtC8pE,IAAU,KACVC,IAAqB,IACrBt+F,GAAQg0F,GAAM,CAChB,KAAM,EACN,MAAO,EACP,SAAU,CAAE,EACZ,YAAa,CAAE,EACf,QAAS,CAAE,EACX,OAAQ,CAAE,EACV,mBAAoB,EACxB,CAAC,EACYuK,GAAgB,CAC7B,MAAIv+F,GACA,aAAa9d,EAAKmhB,EAAU,CACxB,OAAO6wF,GAAOl0F,GAAO9d,EAAKmhB,CAAQ,CACrC,EACD,gBAAiB,CACb,KAAM,CAAE,UAAAq0E,EAAW,QAAA6d,EAAS,WAAAX,CAAU,EAAKX,GAAkB,MAC7D,MAAO,CACH,eAAgBvc,EAChB,aAAc6d,EACd,gBAAiBX,CAC7B,CACK,EACD,MAAM,kBAAkB4J,EAAS,CAC7B,MAAM12B,EAAW,GAAGktB,GAAI,OAAO,mBAAmBwJ,CAAO,GACnDC,EAAO,MAAMzJ,GAAI,QAAQ,CAAE,KAAMltB,EAAU,QAASy2B,GAAc,eAAc,CAAI,CAAA,EAC1Fb,GAAgB,eAAec,EAAS,IAAI,gBAAgBC,CAAI,CAAC,CACpE,EACD,MAAM,mBAAmBD,EAAS,CAC9B,MAAM12B,EAAW,GAAGktB,GAAI,OAAO,yBAAyBwJ,CAAO,GACzDC,EAAO,MAAMzJ,GAAI,QAAQ,CAAE,KAAMltB,EAAU,QAASy2B,GAAc,eAAc,CAAI,CAAA,EAC1Fb,GAAgB,gBAAgBc,EAAS,IAAI,gBAAgBC,CAAI,CAAC,CACrE,EACD,MAAM,qBAAqBD,EAAS,CAChC,MAAM12B,EAAW,GAAGktB,GAAI,OAAO,yBAAyBwJ,CAAO,GACzDC,EAAO,MAAMzJ,GAAI,QAAQ,CAAE,KAAMltB,EAAU,QAASy2B,GAAc,eAAc,CAAI,CAAA,EAC1Fb,GAAgB,kBAAkBc,EAAS,IAAI,gBAAgBC,CAAI,CAAC,CACvE,EACD,MAAM,oBAAoBC,EAAa,CACnC,MAAM52B,EAAW,GAAGktB,GAAI,OAAO,4BAA4B0J,CAAW,GAChED,EAAO,MAAMzJ,GAAI,QAAQ,CAAE,KAAMltB,EAAU,QAASy2B,GAAc,eAAc,CAAI,CAAA,EAC1Fb,GAAgB,iBAAiBgB,EAAa,IAAI,gBAAgBD,CAAI,CAAC,CAC1E,EACD,MAAM,iBAAiBlP,EAAQ,CAC3B,MAAMznB,EAAW,GAAGktB,GAAI,OAAO,yBAAyBzF,CAAM,GACxDkP,EAAO,MAAMzJ,GAAI,QAAQ,CAAE,KAAMltB,EAAU,QAASy2B,GAAc,eAAc,CAAI,CAAA,EAC1Fb,GAAgB,cAAcnO,EAAQ,IAAI,gBAAgBkP,CAAI,CAAC,CAClE,EACD,MAAM,oBAAqB,CACvB,KAAM,CAAE,sBAAAtE,CAAqB,EAAKL,GAAkB,MAC9CnB,EAAMwB,GAAA,YAAAA,EAAuB,IAAI,CAAC,CAAE,QAAAqE,CAAS,IAAKA,GAAS,OAAO,SACpE7F,GACA,MAAM,QAAQ,WAAWA,EAAI,IAAIriG,GAAMioG,GAAc,mBAAmBjoG,CAAE,CAAC,CAAC,CAEnF,EACD,MAAM,sBAAuB,CACzB,KAAM,CAAE,WAAA2nG,CAAU,EAAKH,GAAoB,MACrCnF,EAAMsF,EAAW,IAAI,CAAC,CAAE,QAAAO,CAAS,IAAKA,CAAO,EAAE,OAAO,OAAO,EACnE,MAAM,QAAQ,WAAW7F,EAAI,IAAIriG,GAAMioG,GAAc,qBAAqBjoG,CAAE,CAAC,CAAC,CACjF,EACD,MAAM,oBAAoBqoG,EAAa,GAAI,CACvC,MAAM,QAAQ,WAAWA,EAAW,IAAIC,GAAYL,GAAc,oBAAoBK,CAAQ,CAAC,CAAC,CACnG,EACD,MAAM,iBAAiB3lG,EAAS,GAAI,CAChC,MAAM,QAAQ,WAAWA,EAAO,IAAI3E,GAASiqG,GAAc,iBAAiBjqG,CAAK,CAAC,CAAC,CACtF,EACD,MAAM,sBAAuB,CACzB,KAAM,CAAE,kBAAAggG,CAAiB,EAAKL,GAAkB,MAChD,GAAIK,GAAA,MAAAA,EAAmB,OAAQ,CAC3B,KAAM,CAAE,KAAAt9F,CAAI,EAAK,MAAMg+F,GAAI,IAAI,CAC3B,KAAM,cACN,QAASuJ,GAAc,eAAgB,EACvC,OAAQ,CACJ,KAAM,IACN,QAASjK,GAAA,MAAAA,EAAmB,OACtB,OAAOA,EAAkB,MAAM,EAC/BgK,IACN,QAAShK,GAAA,YAAAA,EAAmB,KAAK,IACpC,CACjB,CAAa,EACDt9F,EAAK,KAAK,CAACnU,EAAGC,IAAMwxG,EAAkB,QAAQzxG,EAAE,EAAE,EAAIyxG,EAAkB,QAAQxxG,EAAE,EAAE,CAAC,EACrF,MAAM+7G,EAAS7nG,EAAK,IAAIzN,GAAKA,EAAE,QAAQ,EAAE,OAAO,OAAO,EACvD,MAAM,QAAQ,WAAWs1G,EAAO,IAAIvoG,GAAMioG,GAAc,kBAAkBjoG,CAAE,CAAC,CAAC,EAC9E0J,GAAM,SAAWhJ,CACpB,CACJ,EACD,MAAM,yBAA0B,OAC5B,KAAM,CAAE,iBAAAo9F,EAAkB,iBAAAC,EAAkB,kBAAAC,CAAiB,EAAKL,GAAkB,MAC9E6K,EAAU,CAAC,GAAIzK,GAAoB,CAAE,EAAG,GAAIC,GAAqB,EAAI,EAAC,OAAO,OAAO,EACpF,CAAE,KAAAt9F,EAAM,MAAAs3B,CAAO,EAAG,MAAM0mE,GAAI,IAAI,CAClC,KAAM,cACN,QAASuJ,GAAc,eAAgB,EACvC,OAAQ,CACJ,KAAM,IACN,QAAQ5uF,EAAAmqF,GAAkB,MAAM,cAAxB,YAAAnqF,EAAqC,GAC7C,QAAS2uF,IACT,QAASlK,GAAA,YAAAA,EAAkB,KAAK,KAChC,QAAS0K,GAAA,YAAAA,EAAS,KAAK,IAC1B,CACb,CAAS,EACKrH,EAASH,GAAY,mBACrByH,EAAoB/nG,EAAK,IAAIzN,GAAKA,EAAE,QAAQ,EAAE,OAAO,OAAO,EAC5Dy1G,EAAevH,EAAO,IAAIvwE,GAAKA,EAAE,QAAQ,EAAE,OAAO,OAAO,EAC/D,MAAM,QAAQ,WAAW,CAAC,GAAG63E,EAAmB,GAAGC,CAAY,EAAE,IAAI1oG,GAAMioG,GAAc,kBAAkBjoG,CAAE,CAAC,CAAC,EAC/G0J,GAAM,YAAchJ,EACpBgJ,GAAM,MAAQsuB,GAAS,CAC1B,EACD,MAAM,aAAa,CAAE,KAAA2wE,GAAQ,OACzB,KAAM,CAAE,iBAAA7K,EAAkB,iBAAAC,EAAkB,kBAAAC,CAAiB,EAAKL,GAAkB,MAC9E6K,EAAU,CACZ,GAAG9+F,GAAM,YAAY,IAAI,CAAC,CAAE,GAAA1J,CAAI,IAAKA,CAAE,EACvC,GAAI+9F,GAAoB,CAAE,EAC1B,GAAIC,GAAqB,CAAE,CACvC,EAAU,OAAO,OAAO,EACV,CAAE,KAAAt9F,EAAM,MAAAs3B,CAAO,EAAG,MAAM0mE,GAAI,IAAI,CAClC,KAAM,cACN,QAASuJ,GAAc,eAAgB,EACvC,OAAQ,CACJ,KAAM,OAAOU,CAAI,EACjB,QAAAZ,IACA,QAAQ1uF,EAAAmqF,GAAkB,MAAM,cAAxB,YAAAnqF,EAAqC,GAC7C,QAASykF,GAAA,YAAAA,EAAkB,KAAK,KAChC,QAAS0K,EAAQ,KAAK,GAAG,CAC5B,CACb,CAAS,EACKD,EAAS7nG,EAAK,IAAIuC,GAAKA,EAAE,QAAQ,EAAE,OAAO,OAAO,EACvD,MAAM,QAAQ,WAAW,CACrB,GAAGslG,EAAO,IAAIvoG,GAAMioG,GAAc,kBAAkBjoG,CAAE,CAAC,EACvDg8F,GAAe,KAAK,GAAG,CACnC,CAAS,EACDtyF,GAAM,QAAU,CAAC,GAAGA,GAAM,QAAS,GAAGhJ,CAAI,EAC1CgJ,GAAM,MAAQsuB,EAAQtuB,GAAM,MAAQsuB,EAAQtuB,GAAM,MAClDA,GAAM,KAAOi/F,CAChB,EACD,MAAM,aAAa,CAAE,OAAAC,GAAU,OAC3B,KAAM,CAAE,iBAAA9K,EAAkB,iBAAAC,GAAqBJ,GAAkB,MACjEj0F,GAAM,OAAS,GACf,KAAM,CAAE,KAAAhJ,CAAI,EAAK,MAAMg+F,GAAI,IAAI,CAC3B,KAAM,cACN,QAASuJ,GAAc,eAAgB,EACvC,OAAQ,CACJ,KAAM,IACN,QAAS,MACT,OAAAW,EACA,QAAQvvF,EAAAmqF,GAAkB,MAAM,cAAxB,YAAAnqF,EAAqC,GAC7C,QAASykF,GAAA,YAAAA,EAAkB,KAAK,KAChC,QAASC,GAAA,YAAAA,EAAkB,KAAK,IACnC,CACb,CAAS,EACKwK,EAAS7nG,EAAK,IAAIuC,GAAKA,EAAE,QAAQ,EAAE,OAAO,OAAO,EACvD,MAAM,QAAQ,WAAW,CACrB,GAAGslG,EAAO,IAAIvoG,GAAMioG,GAAc,kBAAkBjoG,CAAE,CAAC,EACvDg8F,GAAe,KAAK,GAAG,CACnC,CAAS,EACDtyF,GAAM,OAAShJ,CAClB,EACD,MAAM,gBAAiB,CACnBgJ,GAAM,KAAO,EACbA,GAAM,QAAU,GAChB,MAAMu+F,GAAc,uBACpB,MAAMA,GAAc,yBACvB,EACD,UAAW,CACP,MAAMz6F,EAAW,CACby6F,GAAc,qBAAsB,EACpCA,GAAc,wBAAyB,EACvCA,GAAc,mBAAoB,EAClCA,GAAc,qBAAsB,CAChD,EACYtK,GAAkB,MAAM,kBAAoB,QAC5CnwF,EAAS,KAAKy6F,GAAc,qBAAsB,CAAA,EAEtDv+F,GAAM,gBAAkB,QAAQ,KAAK,CAAC,QAAQ,WAAW8D,CAAQ,EAAGwuF,GAAe,KAAK,GAAI,CAAC,CAAC,CACjG,EACD,MAAM,sBAAuB,CACzB,KAAM,CAAE,mBAAA6M,CAAkB,EAAK,MAAMnK,GAAI,IAAI,CACzC,KAAM,sBACN,QAASuJ,GAAc,eAAgB,CACnD,CAAS,EACDtK,GAAkB,mBAAmBkL,CAAkB,CAC1D,CACL,EC1LMn/F,GAAQg0F,GAAM,CAChB,QAAS,GACT,KAAM,EACV,CAAC,EACYqG,GAAkB,CAC/B,MAAIr6F,GACA,UAAUqD,EAAU,CAChB,OAAOzS,GAAIoP,GAAO,IAAMqD,EAASrD,EAAK,CAAC,CAC1C,EACD,aAAa9d,EAAKmhB,EAAU,CACxB,OAAO6wF,GAAOl0F,GAAO9d,EAAKmhB,CAAQ,CACrC,EACD,MAAM,KAAK1O,EAAS,CAChB,MAAM4pG,GAAc,MAAM,gBAC1B,MAAMa,EAAY1E,GAAkB,MAAM,YACtC/lG,GAAA,MAAAA,EAAS,KACTimG,GAAiB,MAAMjmG,EAAQ,IAAI,EAE9ByqG,EACLxE,GAAiB,MAAM,SAAS,EAGhCA,GAAiB,MAAM,SAAS,EAEpC56F,GAAM,KAAO,GACb+4F,GAAsB,IAAI,CAAE,KAAM,EAAM,CAAA,EACxCnB,GAAiB,UAAU,CACvB,KAAM,QACN,MAAO,aACP,WAAY,CAAE,UAAAwH,CAAW,CACrC,CAAS,CACJ,EACD,OAAQ,CACJ,MAAMA,EAAY1E,GAAkB,MAAM,YAC1C16F,GAAM,KAAO,GACb+4F,GAAsB,IAAI,CAAE,KAAM,EAAO,CAAA,EACzCnB,GAAiB,UAAU,CACvB,KAAM,QACN,MAAO,cACP,WAAY,CAAE,UAAAwH,CAAW,CACrC,CAAS,CACJ,EACD,WAAWnE,EAAS,CAChBj7F,GAAM,QAAUi7F,EAChBlC,GAAsB,IAAI,CAAE,QAAAkC,CAAO,CAAE,CACxC,CACL,EChDaoE,GAAwB,CACjC,GAAI,uCACJ,KAAM,WACN,OAAQ,OACR,SAAU,CACN,CACI,KAAM,mBACN,aAAc,WACd,SAAU,IACV,iBAAkB,4CACrB,EACD,CACI,KAAM,kBACN,aAAc,UACd,SAAU,MACV,iBAAkB,4CACrB,CACJ,CACL,EACaC,GAAuB,CAChC,GAAI,MACJ,sBAAuB,CACnB,CACI,GAAI,OACJ,IAAK,QACL,IAAK,SACR,EACD,CACI,GAAI,mBACJ,IAAK,QACL,IAAK,UACR,CACJ,CACL,EAWMt/F,GAAQg0F,GAVO,CACjB,UAAW5B,GACX,iBAAkB,KAClB,MAAO,KACP,iBAAkBiN,GAClB,gBAAiBC,GACjB,mBAAoB,CAACD,EAAqB,EAC1C,kBAAmB,CAAE,EACrB,cAAe,EACnB,CACgC,EACnBE,GAAmB,CAChC,MAAIv/F,GACA,UAAUqD,EAAU,CAChB,OAAOzS,GAAIoP,GAAO,IAAMqD,EAASrD,EAAK,CAAC,CAC1C,EACD,aAAa9d,EAAKmhB,EAAU,CACxB,OAAO6wF,GAAOl0F,GAAO9d,EAAKmhB,CAAQ,CACrC,EACD,oBAAoBq7D,EAAU,CAC1B1+D,GAAM,iBAAmB0+D,CAC5B,EACD,oBAAoBkgC,EAAU,CAC1B5+F,GAAM,iBAAmB4+F,CAC5B,EACD,mBAAmBA,EAAU,CACzB5+F,GAAM,gBAAkB4+F,CAC3B,EACD,kBAAkBlO,EAAQ,CACtB,KAAK,MAAM,eAAiBA,CAC/B,EACD,iBAAiBA,EAAQ,CACrB,KAAK,MAAM,cAAgBA,CAC9B,EACD,MAAM,wBAAyB,CAC3B,MAAM/7F,EAAU,MAAMsgG,GAAwB,mBAC9Cj1F,GAAM,mBAAqBrL,EAAQ,mBACnCqL,GAAM,kBAAoBrL,EAAQ,kBAClCqL,GAAM,gBAAkBrL,EAAQ,kBAAkB,CAAC,GAAK2qG,GACxDt/F,GAAM,iBAAmBrL,EAAQ,mBAAmB,CAAC,GAAK0qG,GAC1D,MAAMd,GAAc,oBAAoB5pG,EAAQ,kBAAkB,IAAIiqG,GAAYA,EAAS,EAAE,CAAC,EAC9F,MAAML,GAAc,iBAAiB5pG,EAAQ,mBAAmB,IAAIiqG,GAAYA,EAAS,MAAM,CAAC,CACnG,EACD,MAAM,UAAW,SACb5+F,GAAM,cAAgB,GACtB,GAAI,CACA,MAAMw/F,EAAQ,MAAMvK,GAAwB,eAAe,CACvD,iBAAkBj1F,GAAM,iBACxB,gBAAiBA,GAAM,gBACvB,SAAQA,EAAAA,GAAM,gBAANA,YAAAA,EAAqB,aAAc,IAC3C,SAASA,EAAAA,GAAM,mBAANA,YAAAA,EAAwB,MACjD,CAAa,EACDA,OAAAA,GAAM,cAAgB,GACtBA,GAAM,eAAiB,OAAOw/F,EAAM,eAAe,MAAM,EAClDA,CACV,OACM3rG,EAAO,CACVmM,OAAAA,GAAM,MAAQnM,EAAM,QACpBmM,GAAM,cAAgB,GACf,IACV,QACO,CACJA,GAAM,cAAgB,EACzB,CACJ,EACD,YAAa,CACTA,GAAM,UAAYoyF,GAClBpyF,GAAM,iBAAmB,KACzBA,GAAM,MAAQ,KACdA,GAAM,iBAAmBq/F,GACzBr/F,GAAM,gBAAkBs/F,GACxBt/F,GAAM,mBAAqB,CAACq/F,EAAqB,EACjDr/F,GAAM,kBAAoB,GAC1BA,GAAM,cAAgB,OACtBA,GAAM,eAAiB,OACvBA,GAAM,cAAgB,EACzB,CACL,EClHMA,GAAQg0F,GAAM,CAAA,CAAE,EACTyL,GAAiB,CAC9B,MAAIz/F,GACA,UAAUqD,EAAU,CAChB,OAAOzS,GAAIoP,GAAO,IAAMqD,EAASrD,EAAK,CAAC,CAC1C,EACD,aAAa9d,EAAKmhB,EAAU,CACxB,OAAO6wF,GAAOl0F,GAAO9d,EAAKmhB,CAAQ,CACrC,EACD,SAAS/O,EAAO,CACRA,IACA0L,GAAM,MAAQy4F,GAAInkG,CAAK,EAE9B,EACD,eAAeorG,EAAiB,CAC5B1/F,GAAM,gBAAkB0/F,CAC3B,EACD,mBAAmBC,EAAiB,CAChC3/F,GAAM,gBAAkB2/F,CAC3B,EACD,2BAA2BC,EAAyB,CAChD5/F,GAAM,wBAA0B4/F,CACnC,EACD,uBAAuBC,EAAqB,CACxC7/F,GAAM,oBAAsB6/F,CAC/B,EACD,WAAY,CACR7/F,GAAM,MAAQ,OACdA,GAAM,gBAAkB,OACxBA,GAAM,gBAAkB,OACxBA,GAAM,wBAA0B,OAChCA,GAAM,oBAAsB,MAC/B,CACL,EClCa8/F,GAAY,CACrB,eAAepb,EAAQ,CACnB,GAAIA,GAAA,MAAAA,EAAQ,UACR,OAAOA,GAAA,YAAAA,EAAQ,UAEnB,GAAIA,GAAA,MAAAA,EAAQ,SACR,OAAOgZ,GAAgB,MAAM,aAAahZ,EAAO,QAAQ,CAGhE,EACD,gBAAgB3c,EAAS,CACrB,GAAIA,GAAA,MAAAA,EAAS,SACT,OAAOA,GAAA,YAAAA,EAAS,SAEpB,GAAIA,GAAA,MAAAA,EAAS,QACT,OAAO21B,GAAgB,MAAM,cAAc31B,EAAQ,OAAO,CAGjE,EACD,kBAAkBm2B,EAAW,CACzB,GAAIA,GAAA,MAAAA,EAAW,SACX,OAAOA,EAAU,SAErB,GAAIA,GAAA,MAAAA,EAAW,QACX,OAAOR,GAAgB,MAAM,gBAAgBQ,EAAU,OAAO,CAGrE,CACL,EC3Ba6B,GAAa,CACtB,oBAAqB,CACbnF,GAAiB,MAAM,QAAQ,OAAS,EACxCA,GAAiB,OAAM,EAGvBP,GAAgB,MAAK,CAE5B,EACD,4BAA6B,CACzB,KAAM,CAAE,QAAA2F,CAAO,EAAKpF,GAAiB,MAC/BqF,EAAqBD,EAAQ,UAAU16G,GAAQA,IAAS,UAAU,EACpE26G,GAAsB,EACtBrF,GAAiB,cAAcqF,EAAqB,CAAC,EAGrD5F,GAAgB,MAAK,CAE5B,CACL,ECrBA;AAAA;AAAA;AAAA;AAAA,GAKA,MAAMj0F,GAAE,WAAWld,GAAEkd,GAAE,aAAsBA,GAAE,WAAX,QAAqBA,GAAE,SAAS,eAAe,uBAAuB,SAAS,WAAW,YAAY,cAAc,UAAU5c,GAAE,OAAM,EAAGgwC,IAAE,IAAI,QAAQ,IAAA0mE,IAAA,KAAO,CAAC,YAAY95F,EAAEld,EAAEswC,EAAE,CAAC,GAAG,KAAK,aAAa,GAAGA,IAAIhwC,GAAE,MAAM,MAAM,mEAAmE,EAAE,KAAK,QAAQ4c,EAAE,KAAK,EAAEld,CAAC,CAAC,IAAI,YAAY,CAAC,IAAIkd,EAAE,KAAK,EAAE,MAAM5c,EAAE,KAAK,EAAE,GAAGN,IAAYkd,IAAT,OAAW,CAAC,MAAMld,EAAWM,IAAT,QAAgBA,EAAE,SAAN,EAAaN,IAAIkd,EAAEozB,IAAE,IAAIhwC,CAAC,GAAY4c,IAAT,UAAc,KAAK,EAAEA,EAAE,IAAI,eAAe,YAAY,KAAK,OAAO,EAAEld,GAAGswC,IAAE,IAAIhwC,EAAE4c,CAAC,EAAE,CAAC,OAAOA,CAAC,CAAC,UAAU,CAAC,OAAO,KAAK,OAAO,CAAC,EAAC,MAAM8gB,GAAE9gB,GAAG,IAAIpZ,IAAY,OAAOoZ,GAAjB,SAAmBA,EAAEA,EAAE,GAAG,OAAO5c,EAAC,EAAE1H,GAAE,CAACskB,KAAK,IAAI,CAAC,MAAMozB,EAAMpzB,EAAE,SAAN,EAAaA,EAAE,CAAC,EAAE,EAAE,OAAQ,CAACld,EAAEM,EAAEgwC,IAAItwC,GAAGkd,GAAG,CAAC,GAAQA,EAAE,eAAP,GAAoB,OAAOA,EAAE,QAAQ,GAAa,OAAOA,GAAjB,SAAmB,OAAOA,EAAE,MAAM,MAAM,mEAAmEA,EAAE,sFAAsF,CAAC,GAAG5c,CAAC,EAAE4c,EAAEozB,EAAE,CAAC,EAAGpzB,EAAE,CAAC,CAAC,EAAE,OAAO,IAAIpZ,IAAEwsC,EAAEpzB,EAAE5c,EAAC,CAAC,EAAE+nD,IAAE,CAAC/nD,EAAEgwC,IAAI,CAAC,GAAGtwC,GAAEM,EAAE,mBAAmBgwC,EAAE,IAAK,GAAG,aAAa,cAAc,EAAE,EAAE,gBAAkB,WAAUtwC,KAAKswC,EAAE,CAAC,MAAMA,EAAE,SAAS,cAAc,OAAO,EAAExsC,EAAEoZ,GAAE,SAAkBpZ,IAAT,QAAYwsC,EAAE,aAAa,QAAQxsC,CAAC,EAAEwsC,EAAE,YAAYtwC,EAAE,QAAQM,EAAE,YAAYgwC,CAAC,CAAC,CAAC,EAAE/vC,IAAEP,GAAEkd,GAAGA,EAAEA,GAAGA,aAAa,eAAeA,GAAG,CAAC,IAAIld,EAAE,GAAG,UAAUM,KAAK4c,EAAE,SAASld,GAAGM,EAAE,QAAQ,OAAO09B,GAAEh+B,CAAC,CAAC,GAAGkd,CAAC,EAAEA,ECJ3zC;AAAA;AAAA;AAAA;AAAA,GAIG,KAAK,CAAC,GAAGtkB,IAAE,eAAeoH,IAAE,yBAAyBg+B,IAAE,oBAAoB3wB,IAAE,sBAAsBijC,IAAE,eAAexsC,GAAC,EAAE,OAAOnK,GAAE,WAAW4G,IAAE5G,GAAE,aAAad,IAAE0H,IAAEA,IAAE,YAAY,GAAGowB,GAAEh3B,GAAE,+BAA+B0G,GAAE,CAAC6c,EAAE5c,IAAI4c,EAAE25B,GAAE,CAAC,YAAY35B,EAAE5c,EAAE,CAAC,OAAOA,EAAC,CAAE,KAAK,QAAQ4c,EAAEA,EAAErkB,IAAE,KAAK,MAAM,KAAK,OAAO,KAAK,MAAMqkB,EAAQA,GAAN,KAAQA,EAAE,KAAK,UAAUA,CAAC,CAAC,CAAC,OAAOA,CAAC,EAAE,cAAcA,EAAE5c,EAAE,CAAC,IAAI1H,EAAEskB,EAAE,OAAO5c,EAAG,CAAA,KAAK,QAAQ1H,EAASskB,IAAP,KAAS,MAAM,KAAK,OAAOtkB,EAASskB,IAAP,KAAS,KAAK,OAAOA,CAAC,EAAE,MAAM,KAAK,OAAO,KAAK,MAAM,GAAG,CAACtkB,EAAE,KAAK,MAAMskB,CAAC,CAAC,MAAS,CAACtkB,EAAE,IAAI,CAAC,CAAC,OAAOA,CAAC,CAAC,EAAEulD,GAAE,CAACjhC,EAAE5c,IAAI,CAAC1H,IAAEskB,EAAE5c,CAAC,EAAEyC,IAAE,CAAC,UAAU,GAAG,KAAK,OAAO,UAAU8zC,GAAE,QAAQ,GAAG,WAAWsH,EAAC,EAAE,OAAO,WAAP,OAAO,SAAW,OAAO,UAAU,GAAExkD,GAAE,sBAAFA,GAAE,oBAAsB,IAAI,SAAQ,IAAAs9G,GAAA,cAAgB,WAAW,CAAC,OAAO,eAAe/5F,EAAE,CAAC,KAAK,KAAM,GAAE,KAAK,IAAL,KAAK,EAAI,CAAA,IAAI,KAAKA,CAAC,CAAC,CAAC,WAAW,oBAAoB,CAAC,OAAO,KAAK,WAAW,KAAK,MAAM,CAAC,GAAG,KAAK,KAAK,KAAM,CAAA,CAAC,CAAC,OAAO,eAAeA,EAAE5c,EAAEyC,IAAE,CAAC,GAAGzC,EAAE,QAAQA,EAAE,UAAU,IAAI,KAAK,KAAM,EAAC,KAAK,kBAAkB,IAAI4c,EAAE5c,CAAC,EAAE,CAACA,EAAE,WAAW,CAAC,MAAM1H,EAAE,OAAM,EAAGolC,EAAE,KAAK,sBAAsB9gB,EAAEtkB,EAAE0H,CAAC,EAAW09B,IAAT,QAAYh+B,IAAE,KAAK,UAAUkd,EAAE8gB,CAAC,CAAC,CAAC,CAAC,OAAO,sBAAsB9gB,EAAE5c,EAAE1H,EAAE,CAAC,KAAK,CAAC,IAAIoH,EAAE,IAAIqN,CAAC,EAAE2wB,IAAE,KAAK,UAAU9gB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK5c,CAAC,CAAC,EAAE,IAAI4c,EAAE,CAAC,KAAK5c,CAAC,EAAE4c,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,OAAOld,GAAA,YAAAA,EAAG,KAAK,KAAK,EAAE,IAAIM,EAAE,CAAC,MAAM09B,EAAEh+B,GAAA,YAAAA,EAAG,KAAK,MAAMqN,EAAE,KAAK,KAAK/M,CAAC,EAAE,KAAK,cAAc4c,EAAE8gB,EAAEplC,CAAC,CAAC,EAAE,aAAa,GAAG,WAAW,EAAE,CAAC,CAAC,OAAO,mBAAmBskB,EAAE,CAAC,OAAO,KAAK,kBAAkB,IAAIA,CAAC,GAAGna,GAAC,CAAC,OAAO,MAAM,CAAC,GAAG,KAAK,eAAe1C,GAAE,mBAAmB,CAAC,EAAE,OAAO,MAAM6c,EAAEpZ,IAAE,IAAI,EAAEoZ,EAAE,SAAU,EAAUA,EAAE,IAAX,SAAe,KAAK,EAAE,CAAC,GAAGA,EAAE,CAAC,GAAG,KAAK,kBAAkB,IAAI,IAAIA,EAAE,iBAAiB,CAAC,CAAC,OAAO,UAAU,CAAC,GAAG,KAAK,eAAe7c,GAAE,WAAW,CAAC,EAAE,OAAO,GAAG,KAAK,UAAU,GAAG,KAAK,KAAI,EAAG,KAAK,eAAeA,GAAE,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,WAAWC,EAAE,CAAC,GAAG+M,IAAE,CAAC,EAAE,GAAGijC,IAAE,CAAC,CAAC,EAAE,UAAU,KAAKhwC,EAAE,KAAK,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM4c,EAAE,KAAK,OAAO,QAAQ,EAAE,GAAUA,IAAP,KAAS,CAAC,MAAM5c,EAAE,oBAAoB,IAAI4c,CAAC,EAAE,GAAY5c,IAAT,OAAW,SAAS,CAAC4c,EAAE,CAAC,IAAI5c,EAAE,KAAK,kBAAkB,IAAI4c,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,SAAS,CAAC,EAAE5c,CAAC,IAAI,KAAK,kBAAkB,CAAC,MAAM,EAAE,KAAK,KAAK,EAAEA,CAAC,EAAW,IAAT,QAAY,KAAK,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,cAAc,KAAK,eAAe,KAAK,MAAM,CAAC,CAAC,OAAO,eAAeA,EAAE,CAAC,MAAM1H,EAAE,CAAA,EAAG,GAAG,MAAM,QAAQ0H,CAAC,EAAE,CAAC,MAAMN,EAAE,IAAI,IAAIM,EAAE,KAAK,GAAG,EAAE,QAAO,CAAE,EAAE,UAAUA,KAAKN,EAAEpH,EAAE,QAAQskB,IAAE5c,CAAC,CAAC,CAAC,MAAeA,IAAT,QAAY1H,EAAE,KAAKskB,IAAE5c,CAAC,CAAC,EAAE,OAAO1H,CAAC,CAAC,OAAO,KAAKskB,EAAE5c,EAAE,CAAC,MAAM1H,EAAE0H,EAAE,UAAU,OAAW1H,IAAL,GAAO,OAAiB,OAAOA,GAAjB,SAAmBA,EAAY,OAAOskB,GAAjB,SAAmBA,EAAE,YAAa,EAAC,MAAM,CAAC,aAAa,CAAC,MAAK,EAAG,KAAK,KAAK,OAAO,KAAK,gBAAgB,GAAG,KAAK,WAAW,GAAG,KAAK,KAAK,KAAK,KAAK,KAAI,CAAE,CAAC,MAAM,OAAC,KAAK,KAAK,IAAI,QAAS,GAAG,KAAK,eAAe,GAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAI,EAAG,KAAK,cAAe,GAACuJ,EAAA,KAAK,YAAY,IAAjB,MAAAA,EAAoB,QAAS,GAAG,EAAE,IAAI,EAAG,CAAC,cAAcvJ,EAAE,QAAE,KAAK,OAAL,KAAK,KAAO,IAAI,MAAK,IAAIA,CAAC,EAAW,KAAK,aAAd,QAA0B,KAAK,eAAauJ,EAAAvJ,EAAE,gBAAF,MAAAuJ,EAAA,KAAAvJ,GAAmB,CAAC,iBAAiBA,EAAE,QAACuJ,EAAA,KAAK,OAAL,MAAAA,EAAW,OAAOvJ,EAAE,CAAC,MAAM,CAAC,MAAMA,EAAE,IAAI,IAAI5c,EAAE,KAAK,YAAY,kBAAkB,UAAU1H,KAAK0H,EAAE,KAAM,EAAC,KAAK,eAAe1H,CAAC,IAAIskB,EAAE,IAAItkB,EAAE,KAAKA,CAAC,CAAC,EAAE,OAAO,KAAKA,CAAC,GAAGskB,EAAE,KAAK,IAAI,KAAK,KAAKA,EAAE,CAAC,kBAAkB,CAAC,MAAMA,EAAE,KAAK,YAAY,KAAK,aAAa,KAAK,YAAY,iBAAiB,EAAE,OAAO5c,IAAE4c,EAAE,KAAK,YAAY,aAAa,EAAEA,CAAC,CAAC,mBAAmB,OAAC,KAAK,aAAL,KAAK,WAAa,KAAK,iBAAkB,GAAC,KAAK,eAAe,EAAE,GAAEuJ,EAAA,KAAK,OAAL,MAAAA,EAAW,QAAS,GAAC,OAAE,OAAAA,EAAA,EAAE,gBAAF,YAAAA,EAAA,SAAqB,CAAC,eAAevJ,EAAE,CAAE,CAAA,sBAAsB,QAACuJ,EAAA,KAAK,OAAL,MAAAA,EAAW,QAAS,GAAC,OAAE,OAAAA,EAAA,EAAE,mBAAF,YAAAA,EAAA,SAAwB,CAAC,yBAAyBvJ,EAAE5c,EAAE1H,EAAE,CAAC,KAAK,KAAKskB,EAAEtkB,CAAC,CAAC,CAAC,KAAKskB,EAAE5c,EAAE,OAAC,MAAM1H,EAAE,KAAK,YAAY,kBAAkB,IAAIskB,CAAC,EAAEld,EAAE,KAAK,YAAY,KAAKkd,EAAEtkB,CAAC,EAAE,GAAYoH,IAAT,QAAiBpH,EAAE,UAAP,GAAe,CAAC,MAAMolC,KAAYvX,EAAA7tB,EAAE,YAAF,YAAA6tB,EAAa,eAAtB,OAAkC7tB,EAAE,UAAUi+C,IAAG,YAAYv2C,EAAE1H,EAAE,IAAI,EAAE,KAAK,KAAKskB,EAAQ8gB,GAAN,KAAQ,KAAK,gBAAgBh+B,CAAC,EAAE,KAAK,aAAaA,EAAEg+B,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK9gB,EAAE5c,EAAE,OAAC,MAAM1H,EAAE,KAAK,YAAYoH,EAAEpH,EAAE,KAAK,IAAIskB,CAAC,EAAE,GAAYld,IAAT,QAAY,KAAK,OAAOA,EAAE,CAAC,MAAMkd,EAAEtkB,EAAE,mBAAmBoH,CAAC,EAAEg+B,EAAc,OAAO9gB,EAAE,WAArB,WAA+B,CAAC,cAAcA,EAAE,SAAS,IAAWuJ,EAAAvJ,EAAE,YAAF,YAAAuJ,EAAa,iBAAtB,OAAoCvJ,EAAE,UAAU25B,GAAE,KAAK,KAAK72C,EAAE,KAAKA,CAAC,EAAEg+B,EAAE,cAAc19B,EAAE4c,EAAE,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,cAAcA,EAAE5c,EAAE1H,EAAE,CAAC,GAAYskB,IAAT,OAAW,CAAC,GAAGtkB,MAAI,KAAK,YAAY,mBAAmBskB,CAAC,GAAE,EAAEtkB,EAAE,YAAYulD,IAAG,KAAKjhC,CAAC,EAAE5c,CAAC,EAAE,OAAO,KAAK,EAAE4c,EAAE5c,EAAE1H,CAAC,CAAC,CAAM,KAAK,kBAAV,KAA4B,KAAK,KAAK,KAAK,KAAM,EAAC,CAAC,EAAEskB,EAAE5c,EAAE1H,EAAE,CAAC,KAAK,KAAK,IAAIskB,CAAC,GAAG,KAAK,KAAK,IAAIA,EAAE5c,CAAC,EAAO1H,EAAE,UAAP,IAAgB,KAAK,OAAOskB,IAAI,KAAK,OAAL,KAAK,KAAO,IAAI,MAAK,IAAIA,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,gBAAgB,GAAG,GAAG,CAAC,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC,QAAQ,OAAO,CAAC,CAAC,CAAC,MAAMA,EAAE,KAAK,eAAgB,EAAC,OAAaA,GAAN,MAAS,MAAMA,EAAE,CAAC,KAAK,eAAe,CAAC,gBAAgB,CAAC,OAAO,KAAK,cAAe,CAAA,CAAC,eAAe,OAAC,GAAG,CAAC,KAAK,gBAAgB,OAAO,GAAG,CAAC,KAAK,WAAW,CAAC,GAAG,KAAK,aAAL,KAAK,WAAa,KAAK,iBAAgB,GAAG,KAAK,KAAK,CAAC,SAAS,CAACA,EAAE5c,CAAC,IAAI,KAAK,KAAK,KAAK4c,CAAC,EAAE5c,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM4c,EAAE,KAAK,YAAY,kBAAkB,GAAGA,EAAE,KAAK,EAAE,SAAS,CAAC,EAAEtkB,CAAC,IAAIskB,EAAOtkB,EAAE,UAAP,IAAgB,KAAK,KAAK,IAAI,CAAC,GAAY,KAAK,CAAC,IAAf,QAAkB,KAAK,EAAE,EAAE,KAAK,CAAC,EAAEA,CAAC,CAAC,CAAC,IAAIskB,EAAE,GAAG,MAAM5c,EAAE,KAAK,KAAK,GAAG,CAAC4c,EAAE,KAAK,aAAa5c,CAAC,EAAE4c,GAAG,KAAK,WAAW5c,CAAC,GAAEmmB,EAAA,KAAK,OAAL,MAAAA,EAAW,QAASvJ,GAAC,OAAE,OAAAuJ,EAAAvJ,EAAE,aAAF,YAAAuJ,EAAA,KAAAvJ,KAAmB,KAAK,OAAO5c,CAAC,GAAG,KAAK,KAAM,CAAA,OAAOA,EAAE,CAAC,MAAM4c,EAAE,GAAG,KAAK,KAAI,EAAG5c,CAAC,CAAC4c,GAAG,KAAK,KAAK5c,CAAC,CAAC,CAAC,WAAW4c,EAAE,CAAE,CAAA,KAAKA,EAAE,QAACuJ,EAAA,KAAK,OAAL,MAAAA,EAAW,QAASvJ,GAAC,OAAE,OAAAuJ,EAAAvJ,EAAE,cAAF,YAAAuJ,EAAA,KAAAvJ,KAAoB,KAAK,aAAa,KAAK,WAAW,GAAG,KAAK,aAAaA,CAAC,GAAG,KAAK,QAAQA,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC,IAAI,gBAAgB,CAAC,OAAO,KAAK,kBAAiB,CAAE,CAAC,mBAAmB,CAAC,OAAO,KAAK,IAAI,CAAC,aAAaA,EAAE,CAAC,MAAM,EAAE,CAAC,OAAOA,EAAE,CAAC,KAAK,OAAL,KAAK,KAAO,KAAK,KAAK,QAAS,GAAG,KAAK,KAAK,EAAE,KAAK,CAAC,CAAC,CAAG,GAAC,KAAK,KAAI,CAAE,CAAC,QAAQA,EAAE,CAAA,CAAE,aAAaA,EAAE,CAAA,CAAE,EAACtjB,GAAE,cAAc,CAAA,EAAGA,GAAE,kBAAkB,CAAC,KAAK,MAAM,EAAEA,GAAEyG,GAAE,mBAAmB,CAAC,EAAE,IAAI,IAAIzG,GAAEyG,GAAE,WAAW,CAAC,EAAE,IAAI,IAAIswB,IAAAA,MAAAA,GAAI,CAAC,gBAAgB/2B,EAAC,IAAID,GAAE,0BAAFA,GAAE,wBAA0B,CAAA,IAAI,KAAK,OAAO,ECLx7K;AAAA;AAAA;AAAA;AAAA,GAKA,MAAMujB,GAAE,WAAWtkB,GAAEskB,GAAE,aAAa5c,IAAE1H,GAAEA,GAAE,aAAa,WAAW,CAAC,WAAWskB,GAAGA,CAAC,CAAC,EAAE,OAAOld,IAAE,QAAQqN,GAAE,OAAO,KAAK,OAAM,EAAG,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,IAAIijC,IAAE,IAAIjjC,GAAEvJ,IAAE,IAAIwsC,GAAC,IAAItS,GAAE,SAASnlC,GAAE,IAAImlC,GAAE,cAAc,EAAE,EAAEz9B,GAAE2c,GAAUA,IAAP,MAAoB,OAAOA,GAAjB,UAAgC,OAAOA,GAAnB,WAAqBvjB,IAAE,MAAM,QAAQk9C,IAAE35B,GAAGvjB,IAAEujB,CAAC,GAAe,OAAOA,GAAA,YAAAA,EAAI,OAAO,YAA9B,WAAwC7c,GAAE;AAAA,OAAc89C,GAAE,sDAAsDt9B,IAAE,OAAOD,IAAE,KAAKjlB,GAAE,OAAO,KAAK0E,EAAC,qBAAqBA,EAAC,KAAKA,EAAC;AAAA,0BAAsC,GAAG,EAAEswB,IAAE,KAAKg4B,IAAE,KAAKqnD,IAAE,qCAAqCjtG,IAAEma,GAAG,CAACtkB,KAAK0H,KAAK,CAAC,WAAW4c,EAAE,QAAQtkB,EAAE,OAAO0H,CAAC,GAAGwC,GAAEC,IAAE,CAAC,EAAEnJ,GAAEmJ,IAAE,CAAC,EAAEsN,GAAE,OAAO,IAAI,cAAc,EAAE6mG,GAAE,OAAO,IAAI,aAAa,EAAEh/D,IAAE,IAAI,QAAQjwC,GAAE+1B,GAAE,iBAAiBA,GAAE,GAAG,EAAE,SAASma,IAAEj7B,EAAEtkB,EAAE,CAAC,GAAG,CAAC,MAAM,QAAQskB,CAAC,GAAG,CAACA,EAAE,eAAe,KAAK,EAAE,MAAM,MAAM,gCAAgC,EAAE,OAAgB5c,MAAT,OAAWA,IAAE,WAAW1H,CAAC,EAAEA,CAAC,CAAC,MAAMujC,IAAE,CAACjf,EAAEtkB,IAAI,CAAC,MAAM0H,EAAE4c,EAAE,OAAO,EAAEozB,EAAE,CAAA,EAAG,IAAItS,EAAEnlC,EAAMD,IAAJ,EAAM,QAAQ,GAAG2H,EAAE49C,GAAE,QAAQvlD,EAAE,EAAEA,EAAE0H,EAAE1H,IAAI,CAAC,MAAM0H,EAAE4c,EAAEtkB,CAAC,EAAE,IAAIe,EAAEk9C,EAAEx2C,EAAE,GAAG0C,EAAE,EAAE,KAAKA,EAAEzC,EAAE,SAASC,EAAE,UAAUwC,EAAE8zC,EAAEt2C,EAAE,KAAKD,CAAC,EAASu2C,IAAP,OAAW9zC,EAAExC,EAAE,UAAUA,IAAI49C,GAAUtH,EAAE,CAAC,IAAX,MAAat2C,EAAEsgB,IAAWg2B,EAAE,CAAC,IAAZ,OAAct2C,EAAEqgB,IAAWi2B,EAAE,CAAC,IAAZ,QAAem5D,IAAE,KAAKn5D,EAAE,CAAC,CAAC,IAAI7Y,EAAE,OAAO,KAAK6Y,EAAE,CAAC,EAAE,GAAG,GAAGt2C,EAAE5E,IAAYk7C,EAAE,CAAC,IAAZ,SAAgBt2C,EAAE5E,IAAG4E,IAAI5E,GAAQk7C,EAAE,CAAC,IAAT,KAAYt2C,EAAEy9B,GAAGmgB,GAAE99C,EAAE,IAAaw2C,EAAE,CAAC,IAAZ,OAAcx2C,EAAE,IAAIA,EAAEE,EAAE,UAAUs2C,EAAE,CAAC,EAAE,OAAOl9C,EAAEk9C,EAAE,CAAC,EAAEt2C,EAAWs2C,EAAE,CAAC,IAAZ,OAAcl7C,GAAQk7C,EAAE,CAAC,IAAT,IAAW8R,IAAEh4B,KAAGpwB,IAAIooD,KAAGpoD,IAAIowB,IAAEpwB,EAAE5E,GAAE4E,IAAIsgB,KAAGtgB,IAAIqgB,IAAErgB,EAAE49C,IAAG59C,EAAE5E,GAAEqiC,EAAE,QAAQ,MAAMl7B,EAAEvC,IAAI5E,IAAGuhB,EAAEtkB,EAAE,CAAC,EAAE,WAAW,IAAI,EAAE,IAAI,GAAGC,GAAG0H,IAAI49C,GAAE79C,EAAEwD,IAAEzD,GAAG,GAAGiwC,EAAE,KAAK32C,CAAC,EAAE2G,EAAE,MAAM,EAAED,CAAC,EAAEL,IAAEM,EAAE,MAAMD,CAAC,EAAEgN,GAAEvK,GAAGxC,EAAE+M,IAAQhN,IAAL,GAAOzH,EAAEkK,EAAE,CAAC,MAAM,CAACq1C,IAAEj7B,EAAErkB,GAAGqkB,EAAE5c,CAAC,GAAG,QAAY1H,IAAJ,EAAM,SAAS,GAAG,EAAE03C,CAAC,CAAC,EAAE,IAAA6mE,GAAA,MAAM7zD,GAAC,CAAC,YAAY,CAAC,QAAQpmC,EAAE,WAAW5c,CAAC,EAAE,EAAE,CAAC,IAAI09B,EAAE,KAAK,MAAM,CAAA,EAAG,IAAIz9B,EAAE,EAAE5G,EAAE,EAAE,MAAMk9C,EAAE35B,EAAE,OAAO,EAAE7c,EAAE,KAAK,MAAM,CAAC89C,EAAEt9B,CAAC,EAAEsb,IAAEjf,EAAE5c,CAAC,EAAE,GAAG,KAAK,GAAGgjD,IAAE,cAAcnF,EAAE,CAAC,EAAEl2C,GAAE,YAAY,KAAK,GAAG,QAAY3H,IAAJ,EAAM,CAAC,MAAM4c,EAAE,KAAK,GAAG,QAAQ,WAAWA,EAAE,YAAY,GAAGA,EAAE,UAAU,CAAC,CAAC,MAAa8gB,EAAE/1B,GAAE,SAAQ,KAApB,MAAyB5H,EAAE,OAAOw2C,GAAG,CAAC,GAAO7Y,EAAE,WAAN,EAAe,CAAC,GAAGA,EAAE,cAAe,EAAC,UAAU9gB,KAAK8gB,EAAE,kBAAmB,EAAC,GAAG9gB,EAAE,SAASld,GAAC,EAAE,CAAC,MAAMpH,EAAEioB,EAAElnB,GAAG,EAAE2G,EAAE09B,EAAE,aAAa9gB,CAAC,EAAE,MAAM7P,EAAC,EAAErN,EAAE,eAAe,KAAKpH,CAAC,EAAEyH,EAAE,KAAK,CAAC,KAAK,EAAE,MAAME,EAAE,KAAKP,EAAE,CAAC,EAAE,QAAQM,EAAE,KAAWN,EAAE,CAAC,IAAT,IAAWkf,IAAQlf,EAAE,CAAC,IAAT,IAAWu4C,IAAQv4C,EAAE,CAAC,IAAT,IAAW4vD,IAAE3yC,EAAC,CAAC,EAAE+gB,EAAE,gBAAgB9gB,CAAC,CAAC,MAAMA,EAAE,WAAW7P,EAAC,IAAIhN,EAAE,KAAK,CAAC,KAAK,EAAE,MAAME,CAAC,CAAC,EAAEy9B,EAAE,gBAAgB9gB,CAAC,GAAG,GAAG8yF,IAAE,KAAKhyE,EAAE,OAAO,EAAE,CAAC,MAAM9gB,EAAE8gB,EAAE,YAAY,MAAM3wB,EAAC,EAAE/M,EAAE4c,EAAE,OAAO,EAAE,GAAG5c,EAAE,EAAE,CAAC09B,EAAE,YAAYplC,GAAEA,GAAE,YAAY,GAAG,QAAQA,EAAE,EAAEA,EAAE0H,EAAE1H,IAAIolC,EAAE,OAAO9gB,EAAEtkB,CAAC,EAAEC,GAAC,CAAE,EAAEoP,GAAE,SAAQ,EAAG5H,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAEE,CAAC,CAAC,EAAEy9B,EAAE,OAAO9gB,EAAE5c,CAAC,EAAEzH,GAAC,CAAE,CAAC,CAAC,CAAC,SAAamlC,EAAE,WAAN,EAAe,GAAGA,EAAE,OAAOsS,IAAEjwC,EAAE,KAAK,CAAC,KAAK,EAAE,MAAME,CAAC,CAAC,MAAM,CAAC,IAAI2c,EAAE,GAAG,MAAWA,EAAE8gB,EAAE,KAAK,QAAQ3wB,GAAE6P,EAAE,CAAC,KAA5B,IAAgC7c,EAAE,KAAK,CAAC,KAAK,EAAE,MAAME,CAAC,CAAC,EAAE2c,GAAG7P,GAAE,OAAO,CAAC,CAAC9M,GAAG,CAAC,CAAC,OAAO,cAAc2c,EAAEtkB,EAAE,CAAC,MAAM0H,EAAE09B,GAAE,cAAc,UAAU,EAAE,OAAO19B,EAAE,UAAU4c,EAAE5c,CAAC,CAAC,EAAC,SAASyiD,GAAE7lC,EAAEtkB,EAAE0H,EAAE4c,EAAEld,EAAE,SAAC,GAAGpH,IAAIyX,GAAE,OAAOzX,EAAE,IAAIyU,EAAWrN,IAAT,QAAWymB,EAAAnmB,EAAE,OAAF,YAAAmmB,EAASzmB,GAAGM,EAAE,KAAK,MAAMgwC,EAAE/vC,GAAE3H,CAAC,EAAE,OAAOA,EAAE,gBAAgB,OAAOyU,GAAA,YAAAA,EAAG,eAAcijC,KAAI/kB,EAAAle,GAAA,YAAAA,EAAG,OAAH,MAAAke,EAAA,KAAAle,EAAU,IAAaijC,IAAT,OAAWjjC,EAAE,QAAQA,EAAE,IAAIijC,EAAEpzB,CAAC,EAAE7P,EAAE,KAAK6P,EAAE5c,EAAEN,CAAC,GAAYA,IAAT,QAAYM,EAAE,OAAFA,EAAE,KAAO,KAAIN,CAAC,EAAEqN,EAAE/M,EAAE,KAAK+M,GAAYA,IAAT,SAAazU,EAAEmqD,GAAE7lC,EAAE7P,EAAE,KAAK6P,EAAEtkB,EAAE,MAAM,EAAEyU,EAAErN,CAAC,GAAGpH,CAAC,CAAC,IAAAw+G,IAAA,KAAO,CAAC,YAAYl6F,EAAEtkB,EAAE,CAAC,KAAK,KAAK,GAAG,KAAK,KAAK,OAAO,KAAK,KAAKskB,EAAE,KAAK,KAAKtkB,CAAC,CAAC,IAAI,YAAY,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,EAAEskB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQtkB,CAAC,EAAE,MAAM0H,CAAC,EAAE,KAAK,KAAKN,IAAGkd,GAAA,YAAAA,EAAG,gBAAe8gB,IAAG,WAAWplC,EAAE,EAAE,EAAEqP,GAAE,YAAYjI,EAAE,IAAIqN,EAAEpF,GAAE,WAAW,EAAE,EAAEnE,EAAE,EAAE,EAAExD,EAAE,CAAC,EAAE,KAAc,IAAT,QAAY,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,IAAI1H,EAAM,EAAE,OAAN,EAAWA,EAAE,IAAI0qE,GAAEj2D,EAAEA,EAAE,YAAY,KAAK6P,CAAC,EAAM,EAAE,OAAN,EAAWtkB,EAAE,IAAI,EAAE,KAAKyU,EAAE,EAAE,KAAK,EAAE,QAAQ,KAAK6P,CAAC,EAAM,EAAE,OAAN,IAAatkB,EAAE,IAAIy+G,IAAEhqG,EAAE,KAAK6P,CAAC,GAAG,KAAK,KAAK,KAAKtkB,CAAC,EAAE,EAAE0H,EAAE,EAAEwD,CAAC,CAAC,CAAC,KAAI,iBAAG,SAAQuJ,EAAEpF,GAAE,SAAQ,EAAG,IAAI,CAAC,OAAOA,GAAE,YAAY+1B,GAAEh+B,CAAC,CAAC,EAAEkd,EAAE,CAAC,IAAItkB,EAAE,EAAE,UAAU0H,KAAK,KAAK,KAAcA,IAAT,SAAsBA,EAAE,UAAX,QAAoBA,EAAE,KAAK4c,EAAE5c,EAAE1H,CAAC,EAAEA,GAAG0H,EAAE,QAAQ,OAAO,GAAGA,EAAE,KAAK4c,EAAEtkB,CAAC,CAAC,GAAGA,GAAG,CAAC,EAAC0+G,GAAA,MAAMh0C,GAAC,CAAC,IAAI,MAAM,OAAC,QAAO78C,EAAA,KAAK,OAAL,YAAAA,EAAW,OAAM,KAAK,IAAI,CAAC,YAAYvJ,EAAEtkB,EAAE0H,EAAEN,EAAE,CAAC,KAAK,KAAK,EAAE,KAAK,KAAKk3G,GAAE,KAAK,KAAK,OAAO,KAAK,KAAKh6F,EAAE,KAAK,KAAKtkB,EAAE,KAAK,KAAK0H,EAAE,KAAK,QAAQN,EAAE,KAAK,MAAKA,GAAA,YAAAA,EAAG,cAAa,EAAE,CAAC,IAAI,YAAY,CAAC,IAAIkd,EAAE,KAAK,KAAK,WAAW,MAAMtkB,EAAE,KAAK,KAAK,OAAgBA,IAAT,SAAiBskB,GAAA,YAAAA,EAAG,YAAR,KAAmBA,EAAEtkB,EAAE,YAAYskB,CAAC,CAAC,IAAI,WAAW,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,SAAS,CAAC,OAAO,KAAK,IAAI,CAAC,KAAKA,EAAEtkB,EAAE,KAAK,CAACskB,EAAE6lC,GAAE,KAAK7lC,EAAEtkB,CAAC,EAAE2H,GAAE2c,CAAC,EAAEA,IAAIg6F,IAASh6F,GAAN,MAAcA,IAAL,IAAQ,KAAK,OAAOg6F,IAAG,KAAK,KAAI,EAAG,KAAK,KAAKA,IAAGh6F,IAAI,KAAK,MAAMA,IAAI7M,IAAG,KAAK,EAAE6M,CAAC,EAAWA,EAAE,aAAX,OAAsB,KAAK,EAAEA,CAAC,EAAWA,EAAE,WAAX,OAAoB,KAAK,EAAEA,CAAC,EAAE25B,IAAE35B,CAAC,EAAE,KAAK,EAAEA,CAAC,EAAE,KAAK,EAAEA,CAAC,CAAC,CAAC,EAAEA,EAAE,CAAC,OAAO,KAAK,KAAK,WAAW,aAAaA,EAAE,KAAK,IAAI,CAAC,CAAC,EAAEA,EAAE,CAAC,KAAK,OAAOA,IAAI,KAAK,KAAI,EAAG,KAAK,KAAK,KAAK,EAAEA,CAAC,EAAE,CAAC,EAAEA,EAAE,CAAC,KAAK,OAAOg6F,IAAG32G,GAAE,KAAK,IAAI,EAAE,KAAK,KAAK,YAAY,KAAK2c,EAAE,KAAK,EAAE8gB,GAAE,eAAe9gB,CAAC,CAAC,EAAE,KAAK,KAAKA,CAAC,CAAC,EAAEA,EAAE,OAAC,KAAK,CAAC,OAAOtkB,EAAE,WAAW0H,CAAC,EAAE4c,EAAEld,EAAY,OAAOM,GAAjB,SAAmB,KAAK,KAAK4c,CAAC,GAAY5c,EAAE,KAAX,SAAgBA,EAAE,GAAGgjD,GAAE,cAAcnL,IAAE73C,EAAE,EAAEA,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,OAAO,GAAGA,GAAG,KAAGmmB,EAAA,KAAK,OAAL,YAAAA,EAAW,QAAOzmB,EAAE,KAAK,KAAK,EAAEpH,CAAC,MAAM,CAAC,MAAMskB,EAAE,IAAImrC,IAAEroD,EAAE,IAAI,EAAEM,EAAE4c,EAAE,EAAE,KAAK,OAAO,EAAEA,EAAE,EAAEtkB,CAAC,EAAE,KAAK,EAAE0H,CAAC,EAAE,KAAK,KAAK4c,CAAC,CAAC,CAAC,KAAKA,EAAE,CAAC,IAAItkB,EAAEs/C,IAAE,IAAIh7B,EAAE,OAAO,EAAE,OAAgBtkB,IAAT,QAAYs/C,IAAE,IAAIh7B,EAAE,QAAQtkB,EAAE,IAAI0qD,GAAEpmC,CAAC,CAAC,EAAEtkB,CAAC,CAAC,EAAEskB,EAAE,CAACvjB,IAAE,KAAK,IAAI,IAAI,KAAK,KAAK,CAAE,EAAC,KAAK,KAAM,GAAE,MAAMf,EAAE,KAAK,KAAK,IAAI0H,EAAEN,EAAE,EAAE,UAAUqN,KAAK6P,EAAEld,IAAIpH,EAAE,OAAOA,EAAE,KAAK0H,EAAE,IAAIgjE,IAAE,KAAK,EAAEzqE,IAAG,EAAE,KAAK,EAAEA,GAAG,CAAA,EAAE,KAAK,KAAK,OAAO,CAAC,EAAEyH,EAAE1H,EAAEoH,CAAC,EAAEM,EAAE,KAAK+M,CAAC,EAAErN,IAAIA,EAAEpH,EAAE,SAAS,KAAK,KAAK0H,GAAGA,EAAE,KAAK,YAAYN,CAAC,EAAEpH,EAAE,OAAOoH,EAAE,CAAC,KAAKkd,EAAE,KAAK,KAAK,YAAYtkB,EAAE,OAAC,KAAI6tB,EAAA,KAAK,OAAL,YAAAA,EAAA,UAAY,GAAG,GAAG7tB,GAAGskB,GAAGA,IAAI,KAAK,MAAM,CAAC,MAAM,EAAEA,EAAE,YAAYA,EAAE,OAAQ,EAACA,EAAE,CAAC,CAAC,CAAC,aAAaA,EAAE,OAAU,KAAK,OAAd,SAAqB,KAAK,KAAKA,GAAEuJ,EAAA,KAAK,OAAL,MAAAA,EAAA,UAAYvJ,GAAG,CAAC,EAAAq6F,GAAC,KAAO,CAAC,IAAI,SAAS,CAAC,OAAO,KAAK,QAAQ,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,YAAYr6F,EAAEtkB,EAAE0H,EAAEN,EAAEqN,EAAE,CAAC,KAAK,KAAK,EAAE,KAAK,KAAK6pG,GAAE,KAAK,KAAK,OAAO,KAAK,QAAQh6F,EAAE,KAAK,KAAKtkB,EAAE,KAAK,KAAKoH,EAAE,KAAK,QAAQqN,EAAE/M,EAAE,OAAO,GAAQA,EAAE,CAAC,IAAR,IAAgBA,EAAE,CAAC,IAAR,IAAW,KAAK,KAAK,MAAMA,EAAE,OAAO,CAAC,EAAE,KAAK,IAAI,MAAM,EAAE,KAAK,QAAQA,GAAG,KAAK,KAAK42G,EAAC,CAAC,KAAKh6F,EAAEtkB,EAAE,KAAK0H,EAAEN,EAAE,CAAC,MAAMqN,EAAE,KAAK,QAAQ,IAAI,EAAE,GAAG,GAAYA,IAAT,OAAW6P,EAAE6lC,GAAE,KAAK7lC,EAAEtkB,EAAE,CAAC,EAAE,EAAE,CAAC2H,GAAE2c,CAAC,GAAGA,IAAI,KAAK,MAAMA,IAAI7M,GAAE,IAAI,KAAK,KAAK6M,OAAO,CAAC,MAAMld,EAAEkd,EAAE,IAAIpZ,EAAEk6B,EAAE,IAAI9gB,EAAE7P,EAAE,CAAC,EAAEvJ,EAAE,EAAEA,EAAEuJ,EAAE,OAAO,EAAEvJ,IAAIk6B,EAAE+kB,GAAE,KAAK/iD,EAAEM,EAAEwD,CAAC,EAAElL,EAAEkL,CAAC,EAAEk6B,IAAI3tB,KAAI2tB,EAAE,KAAK,KAAKl6B,CAAC,GAAG,MAAI,CAACvD,GAAEy9B,CAAC,GAAGA,IAAI,KAAK,KAAKl6B,CAAC,GAAEk6B,IAAIk5E,GAAEh6F,EAAEg6F,GAAEh6F,IAAIg6F,KAAIh6F,IAAI8gB,GAAG,IAAI3wB,EAAEvJ,EAAE,CAAC,GAAG,KAAK,KAAKA,CAAC,EAAEk6B,CAAC,CAAC,GAAG,CAACh+B,GAAG,KAAK,EAAEkd,CAAC,CAAC,CAAC,EAAEA,EAAE,CAACA,IAAIg6F,GAAE,KAAK,QAAQ,gBAAgB,KAAK,IAAI,EAAE,KAAK,QAAQ,aAAa,KAAK,KAAKh6F,GAAG,EAAE,CAAC,CAAC,EAACs6F,IAAA,cAAgBv6F,EAAC,CAAC,aAAa,CAAC,MAAM,GAAG,SAAS,EAAE,KAAK,KAAK,CAAC,CAAC,EAAEC,EAAE,CAAC,KAAK,QAAQ,KAAK,IAAI,EAAEA,IAAIg6F,GAAE,OAAOh6F,CAAC,CAAC,EAACu6F,IAAA,cAAgBx6F,EAAC,CAAC,aAAa,CAAC,MAAM,GAAG,SAAS,EAAE,KAAK,KAAK,CAAC,CAAC,EAAEC,EAAE,CAAC,KAAK,QAAQ,gBAAgB,KAAK,KAAK,CAAC,CAACA,GAAGA,IAAIg6F,EAAC,CAAC,CAAC,EAAAQ,IAAC,cAAgBz6F,EAAC,CAAC,YAAYC,EAAEtkB,EAAE0H,EAAEN,EAAEqN,EAAE,CAAC,MAAM6P,EAAEtkB,EAAE0H,EAAEN,EAAEqN,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,KAAK6P,EAAEtkB,EAAE,KAAK,CAAC,IAAIskB,EAAE6lC,GAAE,KAAK7lC,EAAEtkB,EAAE,CAAC,GAAGs+G,MAAK7mG,GAAE,OAAO,MAAM/P,EAAE,KAAK,KAAKN,EAAEkd,IAAIg6F,IAAG52G,IAAI42G,IAAGh6F,EAAE,UAAU5c,EAAE,SAAS4c,EAAE,OAAO5c,EAAE,MAAM4c,EAAE,UAAU5c,EAAE,QAAQ+M,EAAE6P,IAAIg6F,KAAI52G,IAAI42G,IAAGl3G,GAAGA,GAAG,KAAK,QAAQ,oBAAoB,KAAK,KAAK,KAAKM,CAAC,EAAE+M,GAAG,KAAK,QAAQ,iBAAiB,KAAK,KAAK,KAAK6P,CAAC,EAAE,KAAK,KAAKA,CAAC,CAAC,YAAYA,EAAE,OAAa,OAAO,KAAK,MAAxB,WAA6B,KAAK,KAAK,OAAKuJ,EAAA,KAAK,UAAL,YAAAA,EAAc,OAAM,KAAK,QAAQvJ,CAAC,EAAE,KAAK,KAAK,YAAYA,CAAC,CAAC,CAAC,EAACy6F,IAAA,KAAO,CAAC,YAAYz6F,EAAEtkB,EAAE0H,EAAE,CAAC,KAAK,QAAQ4c,EAAE,KAAK,KAAK,EAAE,KAAK,KAAK,OAAO,KAAK,KAAKtkB,EAAE,KAAK,QAAQ0H,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,KAAK4c,EAAE,CAAC6lC,GAAE,KAAK7lC,CAAC,CAAC,CAAC,EAAM,MAA6DorC,GAAEprC,GAAE,uBAAuBorC,IAAAA,MAAAA,GAAIhF,GAAEggB,KAAIpmD,GAAE,kBAAFA,GAAE,gBAAkB,CAAE,IAAE,KAAK,OAAO,EAAE,MAAMrY,IAAE,CAACqY,EAAEtkB,EAAE0H,IAAI,CAAC,MAAMN,GAAEM,GAAA,YAAAA,EAAG,eAAc1H,EAAE,IAAIyU,EAAErN,EAAE,WAAW,GAAYqN,IAAT,OAAW,CAAC,MAAM6P,GAAE5c,GAAA,YAAAA,EAAG,eAAc,KAAKN,EAAE,WAAWqN,EAAE,IAAIi2D,GAAE1qE,EAAE,aAAaC,KAAIqkB,CAAC,EAAEA,EAAE,OAAO5c,GAAG,CAAA,CAAE,CAAC,CAAC,OAAO+M,EAAE,KAAK6P,CAAC,EAAE7P,CAAC,ECJ54N;AAAA;AAAA;AAAA;AAAA,GAIG,IAAAuqG,GAAA,cAAgB16F,EAAC,CAAC,aAAa,CAAC,MAAM,GAAG,SAAS,EAAE,KAAK,cAAc,CAAC,KAAK,IAAI,EAAE,KAAK,KAAK,MAAM,CAAC,kBAAkB,OAAC,MAAMA,EAAE,MAAM,iBAAkB,EAAC,OAAOuJ,EAAA,KAAK,eAAc,eAAnBA,EAAmB,aAAevJ,EAAE,YAAWA,CAAC,CAAC,OAAOA,EAAE,CAAC,MAAMtkB,EAAE,KAAK,OAAQ,EAAC,KAAK,aAAa,KAAK,cAAc,YAAY,KAAK,aAAa,MAAM,OAAOskB,CAAC,EAAE,KAAK,KAAKld,IAAEpH,EAAE,KAAK,WAAW,KAAK,aAAa,CAAC,CAAC,mBAAmB,OAAC,MAAM,qBAAoB6tB,EAAA,KAAK,OAAL,MAAAA,EAAW,aAAa,GAAG,CAAC,sBAAsB,OAAC,MAAM,qBAAoB,GAAGA,EAAA,KAAK,OAAL,MAAAA,EAAW,aAAa,GAAG,CAAC,QAAQ,CAAC,OAAO7tB,EAAC,CAAC,EAAC0H,GAAE,cAAc,GAAGA,GAAe,UAAc,IAAGu3G,IAAA,WAAW,2BAAX,MAAAA,IAAA,gBAAsC,CAAC,WAAWv3G,EAAC,GAAG,MAAM09B,GAAE,WAAW,0BAA0BA,IAAAA,MAAAA,GAAI,CAAC,WAAW19B,EAAC,IAAyD,WAAW,qBAAX,WAAW,mBAAqB,KAAI,KAAK,OAAO,ECJ9yB,MAAMw3G,IAA4BC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCA5BC,IAAyBD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAtC,IAAIE,GACAC,GACAC,GACG,SAASC,IAAkBvD,EAAgBH,EAAW,CACzDuD,GAAW,SAAS,cAAc,OAAO,EACzCC,GAAc,SAAS,cAAc,OAAO,EAC5CC,GAAe,SAAS,cAAc,OAAO,EAC7CF,GAAS,YAAcI,GAAiBxD,CAAc,EAAE,KAAK,QAC7DqD,GAAY,YAAcG,GAAiBxD,CAAc,EAAE,KAAK,QAChEsD,GAAa,YAAcE,GAAiBxD,CAAc,EAAE,MAAM,QAClE,SAAS,KAAK,YAAYoD,EAAQ,EAClC,SAAS,KAAK,YAAYC,EAAW,EACrC,SAAS,KAAK,YAAYC,EAAY,EACtCG,GAAc5D,CAAS,CAC3B,CACO,SAAS4D,GAAc5D,EAAW,CACjCwD,IAAeC,KACXzD,IAAc,SACdwD,GAAY,gBAAgB,OAAO,EACnCC,GAAa,MAAQ,YAGrBA,GAAa,gBAAgB,OAAO,EACpCD,GAAY,MAAQ,WAGhC,CACO,SAASK,IAAkB1D,EAAgB,CAC1CoD,IAAYC,IAAeC,KAC3BF,GAAS,YAAcI,GAAiBxD,CAAc,EAAE,KAAK,QAC7DqD,GAAY,YAAcG,GAAiBxD,CAAc,EAAE,KAAK,QAChEsD,GAAa,YAAcE,GAAiBxD,CAAc,EAAE,MAAM,QAE1E,CACA,SAASwD,GAAiBxD,EAAgB,CACtC,MAAO,CACH,KAAM2D;AAAAA;AAAAA;AAAAA,oCAGsBC,GAAU5D,GAAA,MAAAA,EAAiB,4BACjD,GAAGA,EAAe,0BAA0B,CAAC,IAC7C,IAAI,CAAC;AAAA,6BACU4D,IAAU5D,GAAA,YAAAA,EAAiB,uBAC5C,wGAAwG,CAAC;AAAA,kCACnF4D,IAAU5D,GAAA,YAAAA,EAAiB,4BAA6B,MAAM,CAAC;AAAA,sCAC3D4D,IAAU5D,GAAA,YAAAA,EAAiB,gCAAiC,KAAK,CAAC;AAAA,yBAC/E4D,IAAU5D,GAAA,YAAAA,EAAiB,mBAAoB,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MA2YpE,MAAO2D;AAAAA;AAAAA,2BAEYC,IAAU5D,GAAA,YAAAA,EAAiB,qBAAsB,MAAM,CAAC;AAAA,wBAC3D4D,IAAU5D,GAAA,YAAAA,EAAiB,kBAAmB,SAAS,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAwFxE,KAAM2D;AAAAA;AAAAA,2BAEaC,IAAU5D,GAAA,YAAAA,EAAiB,qBAAsB,MAAM,CAAC;AAAA,wBAC3D4D,IAAU5D,GAAA,YAAAA,EAAiB,kBAAmB,SAAS,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAwFhF,CACA,CACO,MAAM6D,GAAcF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAiBdG,GAAgBH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAmIhBI,GAAcJ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,ECtwB3B,SAASK,IAAsBC,EAAS38G,EAAY,CAChD,KAAM,CAAE,KAAA7D,EAAM,SAAAm2B,CAAU,EAAGtyB,EAC3B,MAAO,CACH,KAAA7D,EACA,SAAAm2B,EACA,SAASsqF,EAAO,CACP,eAAe,IAAID,CAAO,GAC3B,eAAe,OAAOA,EAASC,CAAK,CAE3C,CACT,CACA,CACA,SAASC,IAAoBF,EAASC,EAAO,CACzC,OAAK,eAAe,IAAID,CAAO,GAC3B,eAAe,OAAOA,EAASC,CAAK,EAEjCA,CACX,CACO,SAASE,GAAcH,EAAS,CACnC,OAAO,SAAgBI,EAAmB,CACtC,OAAO,OAAOA,GAAsB,WAC9BF,IAAoBF,EAASI,CAAiB,EAC9CL,IAAsBC,EAASI,CAAiB,CAC9D,CACA,CCvBeV,MAAAA,IAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,ECDf,IAAIW,IAA0C,SAAUC,EAAYz7G,EAAQ3E,EAAKof,EAAM,CACnF,IAAI7X,EAAI,UAAU,OAAQy9B,EAAIz9B,EAAI,EAAI5C,EAASya,IAAS,KAAOA,EAAO,OAAO,yBAAyBza,EAAQ3E,CAAG,EAAIof,EAAM/X,EAC3H,GAAI,OAAO,SAAY,UAAY,OAAO,QAAQ,UAAa,WAAY29B,EAAI,QAAQ,SAASo7E,EAAYz7G,EAAQ3E,EAAKof,CAAI,MACxH,SAASxf,EAAIwgH,EAAW,OAAS,EAAGxgH,GAAK,EAAGA,KAASyH,EAAI+4G,EAAWxgH,CAAC,KAAGolC,GAAKz9B,EAAI,EAAIF,EAAE29B,CAAC,EAAIz9B,EAAI,EAAIF,EAAE1C,EAAQ3E,EAAKglC,CAAC,EAAI39B,EAAE1C,EAAQ3E,CAAG,IAAMglC,GAChJ,OAAOz9B,EAAI,GAAKy9B,GAAK,OAAO,eAAergC,EAAQ3E,EAAKglC,CAAC,EAAGA,CAChE,EAKA,IAAIq7E,GAAU,cAAsBC,EAAW,CAC3C,QAAS,CACL,OAAOC,iBACV,CACL,EACAF,GAAQ,OAAS,CAACX,GAAac,GAAM,EACrCH,GAAUF,IAAW,CACjBF,GAAc,UAAU,CAC5B,EAAGI,EAAO,ECjBV;AAAA;AAAA;AAAA;AAAA,GAIG,MAAM/oE,IAAE,CAAC,UAAU,GAAG,KAAK,OAAO,UAAUpzB,GAAE,QAAQ,GAAG,WAAWld,EAAC,EAAEg+B,IAAE,CAAC9gB,EAAEozB,IAAE,EAAEtS,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,EAAEA,EAAE,IAAI,EAAE,WAAW,oBAAoB,IAAI,CAAC,EAAE,GAAY,IAAT,QAAY,WAAW,oBAAoB,IAAI,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,IAAIA,EAAE,KAAK9gB,CAAC,EAAe,IAAb,WAAe,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE8gB,EAAE,MAAM,CAAC,IAAIA,EAAE,CAAC,MAAMl6B,EAAE,EAAE,IAAI,KAAK,IAAI,EAAE,EAAE,IAAI,KAAK,KAAKk6B,CAAC,EAAE,KAAK,cAAc,EAAEl6B,EAAEoZ,CAAC,CAAC,EAAE,KAAKld,EAAE,CAAC,OAAgBA,IAAT,QAAY,KAAK,EAAE,EAAE,OAAOkd,CAAC,EAAEld,CAAC,CAAC,CAAC,CAAC,GAAc,IAAX,SAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAAEg+B,EAAE,OAAO,SAASA,EAAE,CAAC,MAAMl6B,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,KAAKk6B,CAAC,EAAE,KAAK,cAAc,EAAEl6B,EAAEoZ,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,mCAAmC,CAAC,CAAC,EAAE,SAASpZ,GAAEoZ,EAAE,CAAC,MAAM,CAAC,EAAEozB,IAAc,OAAOA,GAAjB,SAAmBtS,IAAE9gB,EAAE,EAAEozB,CAAC,GAAG,CAACpzB,EAAEld,EAAEswC,IAAI,CAAC,MAAMtS,EAAEh+B,EAAE,eAAeswC,CAAC,EAAE,OAAOtwC,EAAE,YAAY,eAAeswC,EAAEtS,EAAE,CAAC,GAAG9gB,EAAE,QAAQ,EAAE,EAAEA,CAAC,EAAE8gB,EAAE,OAAO,yBAAyBh+B,EAAEswC,CAAC,EAAE,MAAM,GAAGpzB,EAAE,EAAEozB,CAAC,CAAC,CCJvwB;AAAA;AAAA;AAAA;AAAA,GAIG,SAAStS,GAAE,EAAE,CAAC,OAAO9gB,GAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,EAAE,CAAC,CAAC,CCJxCs7F,MAAAA,IAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,ECAFiB,IAAgB1B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAhB2B,IAAuB3B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GCAvB4B,IAAc5B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAd6B,IAAW7B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAX8B,IAAiB9B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAjB+B,IAAe/B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAfgC,IAAgBhC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAhBiC,IAAcjC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAdkC,IAAalC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAbmC,IAAenC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GCAfoC,IAAmBpC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAnBqC,IAAiBrC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAjBsC,IAAkBtC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAlBuC,IAAgBvC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAhBwC,IAAiBxC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAjByC,IAAWzC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAX0C,IAAW1C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAX2C,IAAqB3C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCArB4C,IAAa5C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAb6C,IAAU7C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GCAV8C,IAAS9C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GCAT+C,IAAY/C;AAAAA;AAAAA,QCAZgD,IAAahD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAbiD,IAAgBjD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAhBkD,IAAalD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAbmD,IAAenD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAfoD,IAAepD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAfqD,IAAkBrD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAlBsD,IAActD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAduD,IAAavD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAbwD,IAAYxD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAZyD,IAAYzD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAZ0D,IAAgB1D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAhB2D,IAAgB3D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAhB4D,IAAU5D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAV6D,IAAY7D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAZ8D,IAAwB9D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAxB+D,IAAoB/D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCApBgE,IAAShE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCATiE,IAAejE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAfkE,IAAalE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAbmE,IAAanE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAboE,IAAYpE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAZqE,IAAUrE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GCAVsE,IAAoBtE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCApBuE,IAAwBvE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAxBwE,IAA0BxE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,ECA1ByE,IAA+BzE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCA/B0E,IAAkB1E;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAlB2E,IAAc3E;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SCAd4E,IAAY5E;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAZ6E,IAAa7E;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAb8E,IAAiB9E;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAjB+E,IAAY/E;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAZgF,IAAkBhF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAlBiF,IAAuBjF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,ECAvBkF,IAAYlF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAZmF,IAAmBnF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAnBoF,IAAmBpF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAnBqF,IAAuBrF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GCAvBsF,IAAUtF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GCAVuF,IAAUvF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GCAVwF,IAAUxF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GCAVyF,IAAuBzF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SCAvB0F,IAAmB1F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCDhC,IAAIoB,GAA0C,SAAUC,EAAYz7G,EAAQ3E,EAAKof,EAAM,CACnF,IAAI7X,EAAI,UAAU,OAAQy9B,EAAIz9B,EAAI,EAAI5C,EAASya,IAAS,KAAOA,EAAO,OAAO,yBAAyBza,EAAQ3E,CAAG,EAAIof,EAAM/X,EAC3H,GAAI,OAAO,SAAY,UAAY,OAAO,QAAQ,UAAa,WAAY29B,EAAI,QAAQ,SAASo7E,EAAYz7G,EAAQ3E,EAAKof,CAAI,MACxH,SAASxf,EAAIwgH,EAAW,OAAS,EAAGxgH,GAAK,EAAGA,KAASyH,EAAI+4G,EAAWxgH,CAAC,KAAGolC,GAAKz9B,EAAI,EAAIF,EAAE29B,CAAC,EAAIz9B,EAAI,EAAIF,EAAE1C,EAAQ3E,EAAKglC,CAAC,EAAI39B,EAAE1C,EAAQ3E,CAAG,IAAMglC,GAChJ,OAAOz9B,EAAI,GAAKy9B,GAAK,OAAO,eAAergC,EAAQ3E,EAAKglC,CAAC,EAAGA,CAChE,EAuEA,MAAM0/E,IAAa,CACf,IAAK7C,IACL,WAAYpB,IACZ,kBAAmBC,IACnB,SAAUC,IACV,MAAOC,IACP,YAAaC,IACb,UAAWC,IACX,WAAYC,IACZ,SAAUC,IACV,KAAMqD,IACN,QAASpD,IACT,KAAMqD,IACN,UAAWpD,IACX,cAAeuD,IACf,cAAetD,IACf,YAAaC,IACb,aAAcC,IACd,WAAYC,IACZ,YAAaC,IACb,MAAOC,IACP,MAAOC,IACP,QAASE,IACT,gBAAiBD,IACjB,KAAME,IACN,OAAQE,IACR,kBAAmB0C,IACnB,QAASzC,IACT,WAAYC,IACZ,QAASC,IACT,UAAWC,IACX,UAAWC,IACX,aAAcC,IACd,SAAUC,IACV,QAASC,IACT,OAAQC,IACR,OAAQC,IACR,WAAYC,IACZ,WAAYC,IACZ,KAAMC,IACN,OAAQC,IACR,mBAAoBC,IACpB,eAAgBC,IAChB,IAAKC,IACL,UAAWC,IACX,KAAMuB,IACN,OAAQtB,IACR,kBAAmBmB,IACnB,QAASlB,IACT,OAAQC,IACR,KAAMC,IACN,eAAgBC,IAChB,qBAAsBE,IACtB,mBAAoBD,IACpB,0BAA2BE,IAC3B,aAAcC,IACd,SAAUC,IACV,OAAQC,IACR,QAASC,IACT,YAAaC,IACb,OAAQC,IACR,aAAcC,IACd,OAAQE,IACR,cAAeC,IACf,kBAAmBF,IACnB,cAAeG,GACnB,EACA,IAAIQ,GAAU,cAAsBrE,EAAW,CAC3C,aAAc,CACV,MAAM,GAAG,SAAS,EAClB,KAAK,KAAO,KACZ,KAAK,KAAO,OACZ,KAAK,MAAQ,QAChB,CACD,QAAS,CACL,YAAK,MAAM,QAAU;AAAA,uBACN,mBAAmB,KAAK,KAAK,IAAI;AAAA,uBACjC,uBAAuB,KAAK,IAAI,IAAI;AAAA,MAE5CC,KAAQmE,IAAW,KAAK,IAAI,CAAC,EACvC,CACL,EACAC,GAAQ,OAAS,CAACjF,GAAaE,GAAaY,GAAM,EAClDL,GAAW,CACP/gF,GAAU,CACd,EAAGulF,GAAQ,UAAW,OAAQ,MAAM,EACpCxE,GAAW,CACP/gF,GAAU,CACd,EAAGulF,GAAQ,UAAW,OAAQ,MAAM,EACpCxE,GAAW,CACP/gF,GAAU,CACd,EAAGulF,GAAQ,UAAW,QAAS,MAAM,EACrCA,GAAUxE,GAAW,CACjBF,GAAc,UAAU,CAC5B,EAAG0E,EAAO,ECzKKnF,MAAAA,IAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,ECDf,IAAIW,GAA0C,SAAUC,EAAYz7G,EAAQ3E,EAAKof,EAAM,CACnF,IAAI7X,EAAI,UAAU,OAAQy9B,EAAIz9B,EAAI,EAAI5C,EAASya,IAAS,KAAOA,EAAO,OAAO,yBAAyBza,EAAQ3E,CAAG,EAAIof,EAAM/X,EAC3H,GAAI,OAAO,SAAY,UAAY,OAAO,QAAQ,UAAa,WAAY29B,EAAI,QAAQ,SAASo7E,EAAYz7G,EAAQ3E,EAAKof,CAAI,MACxH,SAASxf,EAAIwgH,EAAW,OAAS,EAAGxgH,GAAK,EAAGA,KAASyH,EAAI+4G,EAAWxgH,CAAC,KAAGolC,GAAKz9B,EAAI,EAAIF,EAAE29B,CAAC,EAAIz9B,EAAI,EAAIF,EAAE1C,EAAQ3E,EAAKglC,CAAC,EAAI39B,EAAE1C,EAAQ3E,CAAG,IAAMglC,GAChJ,OAAOz9B,EAAI,GAAKy9B,GAAK,OAAO,eAAergC,EAAQ3E,EAAKglC,CAAC,EAAGA,CAChE,EAMA,IAAI4/E,GAAW,cAAuBtE,EAAW,CAC7C,aAAc,CACV,MAAM,GAAG,SAAS,EAClB,KAAK,IAAM,sBACX,KAAK,IAAM,QACX,KAAK,KAAO,MACf,CACD,QAAS,CACL,YAAK,MAAM,QAAU;AAAA,uBACN,KAAK,KAAO,uBAAuB,KAAK,IAAI,KAAO,MAAM;AAAA,wBACxD,KAAK,KAAO,uBAAuB,KAAK,IAAI,KAAO,MAAM;AAAA,QAElEC,cAAiB,KAAK,GAAG,QAAQ,KAAK,GAAG,KACnD,CACL,EACAqE,GAAS,OAAS,CAAClF,GAAaE,GAAaY,GAAM,EACnDL,GAAW,CACP/gF,GAAU,CACd,EAAGwlF,GAAS,UAAW,MAAO,MAAM,EACpCzE,GAAW,CACP/gF,GAAU,CACd,EAAGwlF,GAAS,UAAW,MAAO,MAAM,EACpCzE,GAAW,CACP/gF,GAAU,CACd,EAAGwlF,GAAS,UAAW,OAAQ,MAAM,EACrCA,GAAWzE,GAAW,CAClBF,GAAc,WAAW,CAC7B,EAAG2E,EAAQ,ECrCIpF,MAAAA,IAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,ECDf,IAAIW,IAA0C,SAAUC,EAAYz7G,EAAQ3E,EAAKof,EAAM,CACnF,IAAI7X,EAAI,UAAU,OAAQy9B,EAAIz9B,EAAI,EAAI5C,EAASya,IAAS,KAAOA,EAAO,OAAO,yBAAyBza,EAAQ3E,CAAG,EAAIof,EAAM/X,EAC3H,GAAI,OAAO,SAAY,UAAY,OAAO,QAAQ,UAAa,WAAY29B,EAAI,QAAQ,SAASo7E,EAAYz7G,EAAQ3E,EAAKof,CAAI,MACxH,SAASxf,EAAIwgH,EAAW,OAAS,EAAGxgH,GAAK,EAAGA,KAASyH,EAAI+4G,EAAWxgH,CAAC,KAAGolC,GAAKz9B,EAAI,EAAIF,EAAE29B,CAAC,EAAIz9B,EAAI,EAAIF,EAAE1C,EAAQ3E,EAAKglC,CAAC,EAAI39B,EAAE1C,EAAQ3E,CAAG,IAAMglC,GAChJ,OAAOz9B,EAAI,GAAKy9B,GAAK,OAAO,eAAergC,EAAQ3E,EAAKglC,CAAC,EAAGA,CAChE,EAKA,IAAI6/E,GAAoB,cAAgCvE,EAAW,CAC/D,QAAS,CACL,OAAOC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,KASV,CACL,EACAsE,GAAkB,OAAS,CAACnF,GAAac,GAAM,EAC/CqE,GAAoB1E,IAAW,CAC3BF,GAAc,qBAAqB,CACvC,EAAG4E,EAAiB,ECzBLrF,MAAAA,IAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,ECDf,IAAIW,GAA0C,SAAUC,EAAYz7G,EAAQ3E,EAAKof,EAAM,CACnF,IAAI7X,EAAI,UAAU,OAAQy9B,EAAIz9B,EAAI,EAAI5C,EAASya,IAAS,KAAOA,EAAO,OAAO,yBAAyBza,EAAQ3E,CAAG,EAAIof,EAAM/X,EAC3H,GAAI,OAAO,SAAY,UAAY,OAAO,QAAQ,UAAa,WAAY29B,EAAI,QAAQ,SAASo7E,EAAYz7G,EAAQ3E,EAAKof,CAAI,MACxH,SAASxf,EAAIwgH,EAAW,OAAS,EAAGxgH,GAAK,EAAGA,KAASyH,EAAI+4G,EAAWxgH,CAAC,KAAGolC,GAAKz9B,EAAI,EAAIF,EAAE29B,CAAC,EAAIz9B,EAAI,EAAIF,EAAE1C,EAAQ3E,EAAKglC,CAAC,EAAI39B,EAAE1C,EAAQ3E,CAAG,IAAMglC,GAChJ,OAAOz9B,EAAI,GAAKy9B,GAAK,OAAO,eAAergC,EAAQ3E,EAAKglC,CAAC,EAAGA,CAChE,EAMA,IAAI8/E,GAAoB,cAAgCxE,EAAW,CAC/D,aAAc,CACV,MAAM,GAAG,SAAS,EAClB,KAAK,MAAQ,aACb,KAAK,KAAO,IACf,CACD,QAAS,CACL,YAAK,MAAM,QAAU,kCAAkC,KAAK,KAAK,KACjE,KAAK,QAAQ,KAAU,KAAK,KACrBC;AAAAA;AAAAA,WAGV,CACL,EACAuE,GAAkB,OAAS,CAACpF,GAAac,GAAM,EAC/CL,GAAW,CACP/gF,GAAU,CACd,EAAG0lF,GAAkB,UAAW,QAAS,MAAM,EAC/C3E,GAAW,CACP/gF,GAAU,CACd,EAAG0lF,GAAkB,UAAW,OAAQ,MAAM,EAC9CA,GAAoB3E,GAAW,CAC3BF,GAAc,qBAAqB,CACvC,EAAG6E,EAAiB,ECjCLtF,MAAAA,IAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,ECDf,IAAIW,IAA0C,SAAUC,EAAYz7G,EAAQ3E,EAAKof,EAAM,CACnF,IAAI7X,EAAI,UAAU,OAAQy9B,EAAIz9B,EAAI,EAAI5C,EAASya,IAAS,KAAOA,EAAO,OAAO,yBAAyBza,EAAQ3E,CAAG,EAAIof,EAAM/X,EAC3H,GAAI,OAAO,SAAY,UAAY,OAAO,QAAQ,UAAa,WAAY29B,EAAI,QAAQ,SAASo7E,EAAYz7G,EAAQ3E,EAAKof,CAAI,MACxH,SAASxf,EAAIwgH,EAAW,OAAS,EAAGxgH,GAAK,EAAGA,KAASyH,EAAI+4G,EAAWxgH,CAAC,KAAGolC,GAAKz9B,EAAI,EAAIF,EAAE29B,CAAC,EAAIz9B,EAAI,EAAIF,EAAE1C,EAAQ3E,EAAKglC,CAAC,EAAI39B,EAAE1C,EAAQ3E,CAAG,IAAMglC,GAChJ,OAAOz9B,EAAI,GAAKy9B,GAAK,OAAO,eAAergC,EAAQ3E,EAAKglC,CAAC,EAAGA,CAChE,EAMA,IAAI+/E,GAAsB,cAAkCzE,EAAW,CACnE,aAAc,CACV,MAAM,GAAG,SAAS,EAClB,KAAK,OAAS,EACjB,CACD,QAAS,CACL,OAAO,KAAK,mBACf,CACD,mBAAoB,CAChB,MAAM0E,EAAS,KAAK,OAAS,GAAK,GAAK,KAAK,OAEtCC,EADgB,GACeD,EAC/BE,EAAiB,IAAMD,EACvBE,EAAe,IAAMF,EACrBG,EAAa,IAAMH,EAAe,KACxC,OAAO1E;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,eAOAyE,CAAM;AAAA,8BACSE,CAAc,IAAIC,CAAY;AAAA,8BAC9BC,CAAU;AAAA;AAAA;AAAA,KAInC,CACL,EACAL,GAAoB,OAAS,CAACrF,GAAac,GAAM,EACjDL,IAAW,CACP/gF,GAAS,CAAE,KAAM,OAAQ,CAC7B,EAAG2lF,GAAoB,UAAW,SAAU,MAAM,EAClDA,GAAsB5E,IAAW,CAC7BF,GAAc,uBAAuB,CACzC,EAAG8E,EAAmB,EC9CPvF,MAAAA,IAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,ECDf,IAAIW,GAA0C,SAAUC,EAAYz7G,EAAQ3E,EAAKof,EAAM,CACnF,IAAI7X,EAAI,UAAU,OAAQy9B,EAAIz9B,EAAI,EAAI5C,EAASya,IAAS,KAAOA,EAAO,OAAO,yBAAyBza,EAAQ3E,CAAG,EAAIof,EAAM/X,EAC3H,GAAI,OAAO,SAAY,UAAY,OAAO,QAAQ,UAAa,WAAY29B,EAAI,QAAQ,SAASo7E,EAAYz7G,EAAQ3E,EAAKof,CAAI,MACxH,SAASxf,EAAIwgH,EAAW,OAAS,EAAGxgH,GAAK,EAAGA,KAASyH,EAAI+4G,EAAWxgH,CAAC,KAAGolC,GAAKz9B,EAAI,EAAIF,EAAE29B,CAAC,EAAIz9B,EAAI,EAAIF,EAAE1C,EAAQ3E,EAAKglC,CAAC,EAAI39B,EAAE1C,EAAQ3E,CAAG,IAAMglC,GAChJ,OAAOz9B,EAAI,GAAKy9B,GAAK,OAAO,eAAergC,EAAQ3E,EAAKglC,CAAC,EAAGA,CAChE,EAKA,IAAIqgF,GAAa,cAAyB/E,EAAW,CACjD,aAAc,CACV,MAAM,GAAG,SAAS,EAClB,KAAK,MAAQ,GACb,KAAK,OAAS,GACd,KAAK,aAAe,GACvB,CACD,QAAS,CACL,YAAK,MAAM,QAAU;AAAA,eACd,KAAK,KAAK;AAAA,gBACT,KAAK,MAAM;AAAA,uBACJ,qCAAqC,KAAK,YAAY,UAAU;AAAA,MAExEC,iBACV,CACL,EACA8E,GAAW,OAAS,CAAC7E,GAAM,EAC3BL,GAAW,CACP/gF,GAAU,CACd,EAAGimF,GAAW,UAAW,QAAS,MAAM,EACxClF,GAAW,CACP/gF,GAAU,CACd,EAAGimF,GAAW,UAAW,SAAU,MAAM,EACzClF,GAAW,CACP/gF,GAAU,CACd,EAAGimF,GAAW,UAAW,eAAgB,MAAM,EAC/CA,GAAalF,GAAW,CACpBF,GAAc,aAAa,CAC/B,EAAGoF,EAAU,ECtCb;AAAA;AAAA;AAAA;AAAA,GAKA,MAAMnhG,IAAE,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAEld,IAAEkd,GAAG,IAAI,KAAK,CAAC,gBAAgBA,EAAE,OAAO,CAAC,GAAG,IAAAohG,IAAA,KAAO,CAAC,YAAYphG,EAAE,CAAE,CAAA,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,KAAKA,EAAEld,EAAEpH,EAAE,CAAC,KAAK,KAAKskB,EAAE,KAAK,KAAKld,EAAE,KAAK,KAAKpH,CAAC,CAAC,KAAKskB,EAAEld,EAAE,CAAC,OAAO,KAAK,OAAOkd,EAAEld,CAAC,CAAC,CAAC,OAAOkd,EAAEld,EAAE,CAAC,OAAO,KAAK,OAAO,GAAGA,CAAC,CAAC,CAAC,ECJ3S;AAAA;AAAA;AAAA;AAAA,GAIG,MAAMA,IAAEM,IAAE,cAAc1H,GAAC,CAAC,YAAYskB,EAAE,OAAC,GAAG,MAAMA,CAAC,EAAEA,EAAE,OAAO8gB,IAAE,WAAqB9gB,EAAE,OAAZ,WAAkBuJ,EAAAvJ,EAAE,UAAF,YAAAuJ,EAAW,QAAO,EAAE,MAAM,MAAM,oGAAoG,CAAC,CAAC,OAAOvJ,EAAE,CAAC,MAAM,IAAI,OAAO,KAAKA,CAAC,EAAE,OAAQ5c,GAAG4c,EAAE5c,CAAC,GAAI,KAAK,GAAG,EAAE,GAAG,CAAC,OAAOA,EAAE,CAAC1H,CAAC,EAAE,SAAC,GAAY,KAAK,KAAd,OAAiB,CAAC,KAAK,GAAG,IAAI,IAAa0H,EAAE,UAAX,SAAqB,KAAK,GAAG,IAAI,IAAIA,EAAE,QAAQ,KAAK,GAAG,EAAE,MAAM,IAAI,EAAE,OAAQ4c,GAAQA,IAAL,EAAM,CAAE,GAAG,UAAUA,KAAKtkB,EAAEA,EAAEskB,CAAC,GAAG,GAACuJ,EAAA,KAAK,KAAL,MAAAA,EAAS,IAAIvJ,KAAI,KAAK,GAAG,IAAIA,CAAC,EAAE,OAAO,KAAK,OAAOtkB,CAAC,CAAC,CAAC,MAAMolC,EAAE19B,EAAE,QAAQ,UAAU,UAAU4c,KAAK,KAAK,GAAGA,KAAKtkB,IAAIolC,EAAE,OAAO9gB,CAAC,EAAE,KAAK,GAAG,OAAOA,CAAC,GAAG,UAAUA,KAAKtkB,EAAE,CAAC,MAAM0H,EAAE,CAAC,CAAC1H,EAAEskB,CAAC,EAAE5c,IAAI,KAAK,GAAG,IAAI4c,CAAC,IAAGqO,EAAA,KAAK,KAAL,MAAAA,EAAS,IAAIrO,KAAK5c,GAAG09B,EAAE,IAAI9gB,CAAC,EAAE,KAAK,GAAG,IAAIA,CAAC,IAAI8gB,EAAE,OAAO9gB,CAAC,EAAE,KAAK,GAAG,OAAOA,CAAC,GAAG,CAAC,OAAOA,EAAC,CAAC,CAAC,ECJ/tBs7F,IAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,ECDf,IAAIW,GAA0C,SAAUC,EAAYz7G,EAAQ3E,EAAKof,EAAM,CACnF,IAAI7X,EAAI,UAAU,OAAQy9B,EAAIz9B,EAAI,EAAI5C,EAASya,IAAS,KAAOA,EAAO,OAAO,yBAAyBza,EAAQ3E,CAAG,EAAIof,EAAM/X,EAC3H,GAAI,OAAO,SAAY,UAAY,OAAO,QAAQ,UAAa,WAAY29B,EAAI,QAAQ,SAASo7E,EAAYz7G,EAAQ3E,EAAKof,CAAI,MACxH,SAASxf,EAAIwgH,EAAW,OAAS,EAAGxgH,GAAK,EAAGA,KAASyH,EAAI+4G,EAAWxgH,CAAC,KAAGolC,GAAKz9B,EAAI,EAAIF,EAAE29B,CAAC,EAAIz9B,EAAI,EAAIF,EAAE1C,EAAQ3E,EAAKglC,CAAC,EAAI39B,EAAE1C,EAAQ3E,CAAG,IAAMglC,GAChJ,OAAOz9B,EAAI,GAAKy9B,GAAK,OAAO,eAAergC,EAAQ3E,EAAKglC,CAAC,EAAGA,CAChE,EAOA,IAAIugF,GAAU,cAAsBjF,EAAW,CAC3C,aAAc,CACV,MAAM,GAAG,SAAS,EAClB,KAAK,QAAU,gBACf,KAAK,MAAQ,SACb,KAAK,MAAQ,MAChB,CACD,QAAS,CACL,MAAMkF,EAAU,CACZ,CAAC,YAAY,KAAK,OAAO,EAAE,EAAG,GAC9B,CAAC,aAAa,KAAK,KAAK,EAAE,EAAG,EACzC,EACQ,YAAK,MAAM,QAAU;AAAA,uBACN,KAAK,KAAK;AAAA,uCACM,KAAK,KAAK;AAAA,MAElCjF,iBAAoBkF,IAASD,CAAO,CAAC,UAC/C,CACL,EACAD,GAAQ,OAAS,CAAC7F,GAAac,GAAM,EACrCL,GAAW,CACP/gF,GAAU,CACd,EAAGmmF,GAAQ,UAAW,UAAW,MAAM,EACvCpF,GAAW,CACP/gF,GAAU,CACd,EAAGmmF,GAAQ,UAAW,QAAS,MAAM,EACrCpF,GAAW,CACP/gF,GAAU,CACd,EAAGmmF,GAAQ,UAAW,QAAS,MAAM,EACrCA,GAAUpF,GAAW,CACjBF,GAAc,UAAU,CAC5B,EAAGsF,EAAO,EC1CH,MAAMtE,IAAalC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SCAb2G,IAAS3G;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SCAT4G,IAAU5G;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAV6G,IAAa7G;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SCAb8G,IAAS9G;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SCAT+G,IAAY/G;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAZgH,IAAUhH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAViH,IAAWjH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SCAXkH,IAAalH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAbmH,IAASnH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SCAToH,IAAUpH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAVqH,IAAarH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SCAbsH,IAAYtH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SCAZuH,IAAcvH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAdwH,IAAaxH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,ECAbyH,IAAYzH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,ECAZ0H,IAAY1H;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA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AK,CAC3C,YAAK,MAAM,OAAO,KAAK,MAAM,OAAM,CAAE,EAC9B,KAAK,MAAM,OAAOA,CAAG,2DC7C9B,IAAI3zI,EAAOxa,EAEXwa,EAAK,MAAQisG,KACbjsG,EAAK,OAASovG,KACdpvG,EAAK,IAAMwvG,MACXxvG,EAAK,OAAS0vG,MACd1vG,EAAK,KAAO2vG,MAGZ3vG,EAAK,KAAOA,EAAK,IAAI,KACrBA,EAAK,OAASA,EAAK,IAAI,OACvBA,EAAK,OAASA,EAAK,IAAI,OACvBA,EAAK,OAASA,EAAK,IAAI,OACvBA,EAAK,OAASA,EAAK,IAAI,OACvBA,EAAK,UAAYA,EAAK,OAAO,gECd7Bm7C,GAAiB,CACf,QAAS,CACP,KAAM,EACN,OAAQ,CACN,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,kEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,kEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,gEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,kEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,kEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,CACF,CACF,EACD,IAAK,CACH,IAAK,EACL,OAAQ,CACN,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,kEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,kEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,kEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,kEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,iEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,kEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,CACF,CACF,4DCxwBH,IAAI2nH,EAASt9K,EAETwa,EAAOisG,KACP/6D,EAAQk+D,MACR3/G,EAAQ+/G,KAERrvG,EAAS1Q,EAAM,OAEnB,SAASszK,EAAYvyK,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AAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,KAAK,EAAO,KAAK,EAAO,KAAK,EAAO,KAAK,EAAO,KAAK,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,I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AC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GA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AI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,KAAK,EAAO,KAAK,EAAO,KAAK,EAAO,KAAK,EAAO,KAAK,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IA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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,215,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1164,1165,1166,1167,1168,1169,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230]} \ No newline at end of file +{"version":3,"file":"index.umd.js","sources":["../node_modules/.pnpm/@multiplechain+types@0.1.68/node_modules/@multiplechain/types/src/enums.ts","../node_modules/.pnpm/@multiplechain+types@0.1.68/node_modules/@multiplechain/types/src/services/TransactionListenerInterface.ts","../../../../node_modules/.pnpm/vite-plugin-node-polyfills@0.21.0_vite@5.1.4/node_modules/vite-plugin-node-polyfills/shims/global/dist/index.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/bind.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/utils.js","../../../../node_modules/.pnpm/vite-plugin-node-polyfills@0.21.0_vite@5.1.4/node_modules/vite-plugin-node-polyfills/shims/buffer/dist/index.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/core/AxiosError.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/null.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/toFormData.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/buildURL.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/core/InterceptorManager.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/defaults/transitional.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/platform/browser/index.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/platform/common/utils.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/platform/index.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/defaults/index.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/core/transformData.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/cancel/isCancel.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/cancel/CanceledError.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/core/settle.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/cookies.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/combineURLs.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/core/buildFullPath.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/speedometer.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/adapters/xhr.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/adapters/adapters.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/core/dispatchRequest.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/core/mergeConfig.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/env/data.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/validator.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/core/Axios.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/cancel/CancelToken.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/spread.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/axios.js","../node_modules/.pnpm/@noble+hashes@1.3.3/node_modules/@noble/hashes/esm/_assert.js","../node_modules/.pnpm/@noble+hashes@1.3.3/node_modules/@noble/hashes/esm/_u64.js","../node_modules/.pnpm/@noble+hashes@1.3.3/node_modules/@noble/hashes/esm/utils.js","../node_modules/.pnpm/@noble+hashes@1.3.3/node_modules/@noble/hashes/esm/sha3.js","../node_modules/.pnpm/ethereum-cryptography@2.1.3/node_modules/ethereum-cryptography/esm/utils.js","../node_modules/.pnpm/ethereum-cryptography@2.1.3/node_modules/ethereum-cryptography/esm/keccak.js","../node_modules/.pnpm/web3-errors@1.1.4/node_modules/web3-errors/lib/esm/error_codes.js","../node_modules/.pnpm/web3-errors@1.1.4/node_modules/web3-errors/lib/esm/web3_error_base.js","../node_modules/.pnpm/web3-errors@1.1.4/node_modules/web3-errors/lib/esm/errors/utils_errors.js","../node_modules/.pnpm/web3-errors@1.1.4/node_modules/web3-errors/lib/esm/errors/rpc_error_messages.js","../node_modules/.pnpm/web3-errors@1.1.4/node_modules/web3-errors/lib/esm/errors/rpc_errors.js","../node_modules/.pnpm/web3-errors@1.1.4/node_modules/web3-errors/lib/esm/errors/schema_errors.js","../node_modules/.pnpm/zod@3.22.4/node_modules/zod/lib/index.mjs","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/errors.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/constants.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/validation/abi.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/validation/string.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/utils.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/validation/bytes.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/validation/address.js","../node_modules/.pnpm/web3-types@1.5.0/node_modules/web3-types/lib/esm/data_format_types.js","../node_modules/.pnpm/web3-types@1.5.0/node_modules/web3-types/lib/esm/eth_types.js","../node_modules/.pnpm/web3-types@1.5.0/node_modules/web3-types/lib/esm/web3_base_provider.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/validation/numbers.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/validation/block.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/validation/bloom.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/validation/boolean.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/validation/object.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/validation/topic.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/validation/filter.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/formats.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/validator.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/web3_validator.js","../node_modules/.pnpm/web3-validator@2.0.5/node_modules/web3-validator/lib/esm/default_validator.js","../node_modules/.pnpm/web3-utils@4.2.2/node_modules/web3-utils/lib/esm/uint8array.js","../node_modules/.pnpm/web3-utils@4.2.2/node_modules/web3-utils/lib/esm/converters.js","../node_modules/.pnpm/eventemitter3@5.0.1/node_modules/eventemitter3/index.js","../node_modules/.pnpm/bignumber.js@9.1.2/node_modules/bignumber.js/bignumber.mjs","../node_modules/.pnpm/ws@8.16.0/node_modules/ws/browser.js","../node_modules/.pnpm/@multiplechain+utils@0.1.21/node_modules/@multiplechain/utils/src/index.ts","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/_version.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/properties.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/errors.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/data.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/maths.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/base58.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/base64-browser.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/events.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/utf8.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/geturl-browser.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/fetch.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/fixednumber.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/rlp-decode.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/rlp-encode.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/units.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/utils/uuid.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/coders/abstract-coder.js","../node_modules/.pnpm/@noble+hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.js","../node_modules/.pnpm/@noble+hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.js","../node_modules/.pnpm/@noble+hashes@1.3.2/node_modules/@noble/hashes/esm/utils.js","../node_modules/.pnpm/@noble+hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.js","../node_modules/.pnpm/@noble+hashes@1.3.2/node_modules/@noble/hashes/esm/pbkdf2.js","../node_modules/.pnpm/@noble+hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.js","../node_modules/.pnpm/@noble+hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.js","../node_modules/.pnpm/@noble+hashes@1.3.2/node_modules/@noble/hashes/esm/_u64.js","../node_modules/.pnpm/@noble+hashes@1.3.2/node_modules/@noble/hashes/esm/sha512.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/crypto/crypto-browser.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/crypto/hmac.js","../node_modules/.pnpm/@noble+hashes@1.3.2/node_modules/@noble/hashes/esm/sha3.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/crypto/keccak.js","../node_modules/.pnpm/@noble+hashes@1.3.2/node_modules/@noble/hashes/esm/ripemd160.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/crypto/ripemd160.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/crypto/pbkdf2.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/crypto/random.js","../node_modules/.pnpm/@noble+hashes@1.3.2/node_modules/@noble/hashes/esm/scrypt.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/crypto/scrypt.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/crypto/sha2.js","../node_modules/.pnpm/@noble+curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.js","../node_modules/.pnpm/@noble+curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.js","../node_modules/.pnpm/@noble+curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.js","../node_modules/.pnpm/@noble+curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.js","../node_modules/.pnpm/@noble+curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.js","../node_modules/.pnpm/@noble+curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/constants/addresses.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/constants/hashes.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/constants/numbers.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/constants/strings.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/crypto/signature.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/crypto/signing-key.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/crypto/index.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/address/address.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/address/contract-address.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/address/checks.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/typed.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/coders/address.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/coders/anonymous.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/coders/array.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/coders/boolean.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/coders/bytes.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/coders/fixed-bytes.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/coders/null.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/coders/number.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/coders/string.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/coders/tuple.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/hash/id.js","../node_modules/.pnpm/@adraffy+ens-normalize@1.10.1/node_modules/@adraffy/ens-normalize/dist/index.mjs","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/hash/namehash.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/transaction/accesslist.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/transaction/address.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/transaction/transaction.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/hash/message.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/hash/solidity.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/hash/typed-data.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/fragments.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/abi-coder.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/bytes32.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/abi/interface.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/provider.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/contract/wrappers.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/contract/contract.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/contract/factory.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/ens-resolver.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/format.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/plugins-network.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/network.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/subscriber-polling.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/abstract-provider.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/abstract-signer.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/community.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/subscriber-filterid.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/provider-jsonrpc.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/provider-ankr.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/provider-alchemy.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/provider-cloudflare.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/provider-etherscan.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/ws-browser.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/provider-socket.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/provider-websocket.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/provider-infura.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/provider-quicknode.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/provider-fallback.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/default-provider.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/signer-noncemanager.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/provider-browser.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/provider-pocket.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/providers/provider-ipcsocket-browser.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wallet/base-wallet.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wordlists/decode-owl.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wordlists/wordlist.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wordlists/wordlist-owl.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wordlists/lang-en.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wallet/mnemonic.js","../node_modules/.pnpm/aes-js@4.0.0-beta.5/node_modules/aes-js/lib.esm/aes.js","../node_modules/.pnpm/aes-js@4.0.0-beta.5/node_modules/aes-js/lib.esm/mode.js","../node_modules/.pnpm/aes-js@4.0.0-beta.5/node_modules/aes-js/lib.esm/mode-cbc.js","../node_modules/.pnpm/aes-js@4.0.0-beta.5/node_modules/aes-js/lib.esm/mode-ctr.js","../node_modules/.pnpm/aes-js@4.0.0-beta.5/node_modules/aes-js/lib.esm/padding.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wallet/utils.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wallet/json-keystore.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wallet/hdwallet.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wallet/json-crowdsale.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wallet/wallet.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wordlists/bit-reader.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wordlists/decode-owla.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wordlists/wordlist-owla.js","../node_modules/.pnpm/ethers@6.11.1/node_modules/ethers/lib.esm/wordlists/wordlists-browser.js","../src/services/Ethers.ts","../src/services/Provider.ts","../src/browser/Wallet.ts","../node_modules/.pnpm/@wagmi+chains@1.8.0/node_modules/@wagmi/chains/dist/index.mjs","../src/services/Networks.ts","../src/browser/adapters/switcher.ts","../src/browser/adapters/icons.ts","../src/browser/adapters/Phantom.ts","../src/browser/adapters/MetaMask.ts","../src/assets/Contract.ts","../src/services/TransactionSigner.ts","../src/assets/NFT.ts","../src/assets/Coin.ts","../src/assets/Token.ts","../src/models/Transaction.ts","../src/models/ContractTransaction.ts","../src/models/NftTransaction.ts","../src/models/CoinTransaction.ts","../src/models/TokenTransaction.ts","../src/services/TransactionListener.ts","../node_modules/.pnpm/proxy-compare@2.5.1/node_modules/proxy-compare/dist/index.modern.js","../node_modules/.pnpm/valtio@1.11.2_react@18.2.0/node_modules/valtio/esm/vanilla.mjs","../node_modules/.pnpm/valtio@1.11.2_react@18.2.0/node_modules/valtio/esm/vanilla/utils.mjs","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/utils/ConstantsUtil.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/utils/CoreHelperUtil.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/utils/FetchUtil.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/OptionsController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/BlockchainApiController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/SnackController.js","../../../../node_modules/.pnpm/vite-plugin-node-polyfills@0.21.0_vite@5.1.4/node_modules/vite-plugin-node-polyfills/shims/process/dist/index.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/utils/StorageUtil.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/EventsController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/TransactionsController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/ConnectionController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/PublicStateController.js","../node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/dayjs.min.js","../node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/plugin/updateLocale.js","../node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/plugin/relativeTime.js","../node_modules/.pnpm/@web3modal+common@4.1.11/node_modules/@web3modal/common/dist/esm/src/utils/DateUtil.js","../node_modules/.pnpm/@web3modal+common@4.1.11/node_modules/@web3modal/common/dist/esm/src/utils/NetworkUtil.js","../node_modules/.pnpm/@web3modal+common@4.1.11/node_modules/@web3modal/common/dist/esm/src/utils/NumberUtil.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/NetworkController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/utils/ConvertApiUtil.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/RouterController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/ConvertController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/AccountController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/AssetController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/ThemeController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/ConnectorController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/ApiController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/ModalController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/OnRampController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/controllers/SendController.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/utils/AssetUtil.js","../node_modules/.pnpm/@web3modal+core@4.1.11_react@18.2.0/node_modules/@web3modal/core/dist/esm/src/utils/RouterUtil.js","../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/css-tag.js","../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/reactive-element.js","../node_modules/.pnpm/lit-html@3.1.3/node_modules/lit-html/lit-html.js","../node_modules/.pnpm/lit-element@4.0.5/node_modules/lit-element/lit-element.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/convert-input-mask-bottom.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/convert-input-mask-top.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/utils/ThemeUtil.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/utils/WebComponentsUtil.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-card/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-card/index.js","../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/decorators/property.js","../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/decorators/state.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-icon/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/all-wallets.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/arrow-bottom-circle.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/app-store.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/apple.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/arrow-bottom.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/arrow-left.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/arrow-right.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/arrow-top.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/browser.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/checkmark.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/chevron-bottom.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/chevron-left.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/chevron-right.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/chevron-top.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/chrome-store.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/clock.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/close.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/coinPlaceholder.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/compass.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/copy.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/add.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/cursor.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/desktop.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/disconnect.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/discord.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/etherscan.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/extension.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/external-link.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/facebook.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/filters.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/github.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/google.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/help-circle.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/info-circle.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/mail.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/mobile.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/network-placeholder.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/nftPlaceholder.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/off.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/play-store.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/qr-code.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/refresh.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/search.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/send.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/swapHorizontal.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/swapHorizontalBold.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/swapHorizontalMedium.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/swapHorizontalRoundedBold.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/swapVertical.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/telegram.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/twitch.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/twitter.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/twitterIcon.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/verify.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/verify-filled.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/wallet-placeholder.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/wallet.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/walletconnect.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/warning-circle.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/recycle-horizontal.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/bank.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/card.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/plus.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/cursor-transparent.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/checkmark-bold.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-icon/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-image/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-image/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-loading-hexagon/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-loading-hexagon/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-loading-spinner/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-loading-spinner/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-loading-thumbnail/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-loading-thumbnail/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-shimmer/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-shimmer/index.js","../node_modules/.pnpm/lit-html@3.1.3/node_modules/lit-html/directive.js","../node_modules/.pnpm/lit-html@3.1.3/node_modules/lit-html/directives/class-map.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-text/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-text/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/browser.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/dao.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/defi.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/defiAlt.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/eth.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/layers.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/lock.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/login.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/network.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/nft.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/noun.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/profile.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/system.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/coinbase.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/moonpay.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/stripe.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/paypal.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/onramp-card.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/google.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/pencil.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/visual/lightbulb.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-visual/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/components/wui-visual/index.js","../node_modules/.pnpm/lit-html@3.1.3/node_modules/lit-html/directives/if-defined.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/utils/UiHelperUtil.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/layout/wui-flex/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/layout/wui-flex/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-avatar/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-avatar/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-icon-box/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-icon-box/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-account-button/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-account-button/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-wallet-image/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-wallet-image/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-all-wallets-image/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-all-wallets-image/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-button/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-button/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/networkMd.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-card-select-loader/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-card-select-loader/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/networkSm.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/assets/svg/networkLg.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-network-image/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-network-image/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-card-select/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-card-select/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-chip/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-chip/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-connect-button/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-connect-button/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-cta-button/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-cta-button/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-details-group/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-details-group/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-details-group-item/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-details-group-item/index.js","../node_modules/.pnpm/lit-html@3.1.3/node_modules/lit-html/directive-helpers.js","../node_modules/.pnpm/lit-html@3.1.3/node_modules/lit-html/async-directive.js","../node_modules/.pnpm/lit-html@3.1.3/node_modules/lit-html/directives/ref.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-input-text/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-input-text/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-email-input/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-email-input/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-icon-link/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-icon-link/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-input-element/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-input-element/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-input-numeric/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-input-numeric/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-link/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-link/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-item/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-item/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/utils/TypeUtil.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-transaction-visual/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-transaction-visual/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-transaction-list-item/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-transaction-list-item/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-transaction-list-item-loader/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-transaction-list-item-loader/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-tag/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-tag/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-wallet/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-wallet/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-logo/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-logo/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-logo-select/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-logo-select/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-network-button/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-network-button/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-otp/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-otp/index.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/can-promise.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/utils.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/error-correction-level.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/bit-buffer.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/bit-matrix.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/alignment-pattern.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/finder-pattern.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/mask-pattern.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/error-correction-code.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/galois-field.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/polynomial.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/reed-solomon-encoder.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/version-check.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/regex.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/mode.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/version.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/format-info.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/numeric-data.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/alphanumeric-data.js","../node_modules/.pnpm/encode-utf8@1.0.3/node_modules/encode-utf8/index.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/byte-data.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/kanji-data.js","../node_modules/.pnpm/dijkstrajs@1.0.3/node_modules/dijkstrajs/dijkstra.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/segments.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/qrcode.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/renderer/utils.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/renderer/canvas.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/renderer/svg-tag.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/browser.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/utils/QrCode.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-qr-code/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-qr-code/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-search-bar/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-search-bar/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-snackbar/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-snackbar/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-tabs/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-tabs/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-token-button/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-token-button/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-tooltip/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-tooltip/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-tooltip-select/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-tooltip-select/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-token-list-item/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-token-list-item/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-visual-thumbnail/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-visual-thumbnail/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-notice-card/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-notice-card/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-accordion/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-accordion/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-content/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-content/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-network/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-network/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-wallet-transaction/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-wallet-transaction/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-onramp-activity-item/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-onramp-activity-item/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-onramp-provider-item/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-onramp-provider-item/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-promo/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-promo/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-balance/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-balance/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-profile-button/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-profile-button/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-chip-button/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-chip-button/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-compatible-network/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-compatible-network/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-banner/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-banner/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-token/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-token/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-description/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-list-description/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-input-amount/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/utils/ConstantsUtil.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-input-amount/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-preview-item/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/composites/wui-preview-item/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/layout/wui-grid/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/layout/wui-grid/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/layout/wui-separator/styles.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/layout/wui-separator/index.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/utils/MathUtil.js","../node_modules/.pnpm/@web3modal+ui@4.1.11/node_modules/@web3modal/ui/dist/esm/src/utils/TransactionUtil.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/modal/w3m-account-button/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/modal/w3m-button/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/modal/w3m-button/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/modal/w3m-connect-button/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/modal/w3m-modal/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/modal/w3m-modal/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/modal/w3m-network-button/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/modal/w3m-network-button/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/modal/w3m-router/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/modal/w3m-router/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/modal/w3m-onramp-widget/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/modal/w3m-onramp-widget/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-account-settings-view/styles.js","../node_modules/.pnpm/@web3modal+polyfills@4.1.11/node_modules/@web3modal/polyfills/dist/esm/index.js","../node_modules/.pnpm/@web3modal+wallet@4.1.11/node_modules/@web3modal/wallet/dist/esm/src/W3mFrameConstants.js","../node_modules/.pnpm/@web3modal+wallet@4.1.11/node_modules/@web3modal/wallet/dist/esm/src/W3mFrameSchema.js","../node_modules/.pnpm/@web3modal+wallet@4.1.11/node_modules/@web3modal/wallet/dist/esm/src/W3mFrameStorage.js","../node_modules/.pnpm/@web3modal+wallet@4.1.11/node_modules/@web3modal/wallet/dist/esm/src/RegexUtil.js","../node_modules/.pnpm/@web3modal+wallet@4.1.11/node_modules/@web3modal/wallet/dist/esm/src/W3mFrameHelpers.js","../node_modules/.pnpm/@web3modal+wallet@4.1.11/node_modules/@web3modal/wallet/dist/esm/src/W3mFrame.js","../node_modules/.pnpm/@web3modal+wallet@4.1.11/node_modules/@web3modal/wallet/dist/esm/src/W3mFrameProvider.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-account-settings-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-account-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-all-wallets-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-buy-in-progress-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-buy-in-progress-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-connect-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold-utils@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold-utils/dist/esm/src/ConstantsUtil.js","../node_modules/.pnpm/@web3modal+scaffold-utils@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold-utils/dist/esm/src/PresetsUtil.js","../node_modules/.pnpm/@web3modal+scaffold-utils@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold-utils/dist/esm/src/HelpersUtil.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-connect-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/utils/w3m-connecting-widget/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/utils/w3m-connecting-widget/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-connecting-external-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-connecting-wc-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-downloads-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-get-wallet-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-network-switch-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-network-switch-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-networks-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-networks-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-onramp-activity-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-onramp-activity-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-onramp-fiat-select-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-onramp-fiat-select-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-onramp-providers-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-onramp-tokens-select-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-onramp-tokens-select-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-convert-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-convert-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-convert-preview-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-convert-preview-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-convert-select-token-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-convert-select-token-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-transactions-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-transactions-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-what-is-a-network-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-what-is-a-wallet-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-what-is-a-buy-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/utils/w3m-email-otp-widget/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/utils/w3m-email-otp-widget/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-email-verify-otp-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-email-verify-device-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-email-verify-device-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-approve-transaction-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-approve-transaction-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-upgrade-wallet-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-upgrade-to-smart-account-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-update-email-wallet-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-update-email-wallet-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-update-email-primary-otp-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-update-email-secondary-otp-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-unsupported-chain-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-unsupported-chain-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-wallet-receive-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-wallet-receive-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-wallet-compatible-networks-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-wallet-compatible-networks-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-wallet-send-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-wallet-send-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-wallet-send-select-token-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-wallet-send-select-token-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-wallet-send-preview-view/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/views/w3m-wallet-send-preview-view/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-all-wallets-list/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/utils/markWalletsAsInstalled.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-all-wallets-list/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-all-wallets-search/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-all-wallets-search/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-connecting-header/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-connecting-wc-browser/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-connecting-wc-desktop/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-connecting-wc-mobile/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-connecting-wc-qrcode/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-connecting-wc-qrcode/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-connecting-wc-unsupported/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-connecting-wc-web/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-convert-details/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-convert-details/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-convert-input/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-convert-input/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-header/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-header/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-help-widget/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-swap-input/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-swap-input/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-legal-footer/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-legal-footer/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-mobile-download-links/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-mobile-download-links/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-onramp-providers-footer/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-onramp-providers-footer/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-snackbar/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-snackbar/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-email-login-widget/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-email-login-widget/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-account-default-widget/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-account-default-widget/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-account-wallet-features-widget/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/utils/ConstantsUtil.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-account-wallet-features-widget/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-account-activity-widget/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-account-activity-widget/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-account-nfts-widget/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-account-nfts-widget/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-account-tokens-widget/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-account-tokens-widget/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-activity-list/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-activity-list/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-input-token/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-input-token/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-input-address/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-input-address/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-wallet-send-details/styles.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/partials/w3m-wallet-send-details/index.js","../node_modules/.pnpm/@web3modal+scaffold@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold/dist/esm/src/client.js","../../../../node_modules/.pnpm/events@3.3.0/node_modules/events/events.js","../node_modules/.pnpm/@stablelib+int@1.0.1/node_modules/@stablelib/int/lib/int.js","../node_modules/.pnpm/@stablelib+binary@1.0.1/node_modules/@stablelib/binary/lib/binary.js","../node_modules/.pnpm/@stablelib+wipe@1.0.1/node_modules/@stablelib/wipe/lib/wipe.js","../node_modules/.pnpm/@stablelib+chacha@1.0.1/node_modules/@stablelib/chacha/lib/chacha.js","../node_modules/.pnpm/@stablelib+constant-time@1.0.1/node_modules/@stablelib/constant-time/lib/constant-time.js","../node_modules/.pnpm/@stablelib+poly1305@1.0.1/node_modules/@stablelib/poly1305/lib/poly1305.js","../node_modules/.pnpm/@stablelib+chacha20poly1305@1.0.1/node_modules/@stablelib/chacha20poly1305/lib/chacha20poly1305.js","../node_modules/.pnpm/@stablelib+hash@1.0.1/node_modules/@stablelib/hash/lib/hash.js","../node_modules/.pnpm/@stablelib+hmac@1.0.1/node_modules/@stablelib/hmac/lib/hmac.js","../node_modules/.pnpm/@stablelib+hkdf@1.0.1/node_modules/@stablelib/hkdf/lib/hkdf.js","../node_modules/.pnpm/@stablelib+random@1.0.2/node_modules/@stablelib/random/lib/source/browser.js","../../../../node_modules/.pnpm/safe-buffer@5.2.1/node_modules/safe-buffer/index.js","../../../../node_modules/.pnpm/randombytes@2.1.0/node_modules/randombytes/browser.js","../../../../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits_browser.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/stream-browser.js","../../../../node_modules/.pnpm/has-symbols@1.0.3/node_modules/has-symbols/shams.js","../../../../node_modules/.pnpm/has-tostringtag@1.0.2/node_modules/has-tostringtag/shams.js","../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js","../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js","../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js","../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js","../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js","../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js","../../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js","../../../../node_modules/.pnpm/has-symbols@1.0.3/node_modules/has-symbols/index.js","../../../../node_modules/.pnpm/has-proto@1.0.3/node_modules/has-proto/index.js","../../../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js","../../../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js","../../../../node_modules/.pnpm/hasown@2.0.1/node_modules/hasown/index.js","../../../../node_modules/.pnpm/get-intrinsic@1.2.4/node_modules/get-intrinsic/index.js","../../../../node_modules/.pnpm/es-define-property@1.0.0/node_modules/es-define-property/index.js","../../../../node_modules/.pnpm/gopd@1.0.1/node_modules/gopd/index.js","../../../../node_modules/.pnpm/define-data-property@1.1.4/node_modules/define-data-property/index.js","../../../../node_modules/.pnpm/has-property-descriptors@1.0.2/node_modules/has-property-descriptors/index.js","../../../../node_modules/.pnpm/set-function-length@1.2.1/node_modules/set-function-length/index.js","../../../../node_modules/.pnpm/call-bind@1.0.7/node_modules/call-bind/index.js","../../../../node_modules/.pnpm/call-bind@1.0.7/node_modules/call-bind/callBound.js","../../../../node_modules/.pnpm/is-arguments@1.1.1/node_modules/is-arguments/index.js","../../../../node_modules/.pnpm/is-generator-function@1.0.10/node_modules/is-generator-function/index.js","../../../../node_modules/.pnpm/is-callable@1.2.7/node_modules/is-callable/index.js","../../../../node_modules/.pnpm/for-each@0.3.3/node_modules/for-each/index.js","../../../../node_modules/.pnpm/possible-typed-array-names@1.0.0/node_modules/possible-typed-array-names/index.js","../../../../node_modules/.pnpm/available-typed-arrays@1.0.7/node_modules/available-typed-arrays/index.js","../../../../node_modules/.pnpm/which-typed-array@1.1.14/node_modules/which-typed-array/index.js","../../../../node_modules/.pnpm/is-typed-array@1.1.13/node_modules/is-typed-array/index.js","../../../../node_modules/.pnpm/util@0.12.5/node_modules/util/support/types.js","../../../../node_modules/.pnpm/util@0.12.5/node_modules/util/support/isBuffer.js","../../../../node_modules/.pnpm/util@0.12.5/node_modules/util/util.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/buffer_list.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/destroy.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/errors-browser.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/state.js","../../../../node_modules/.pnpm/util-deprecate@1.0.2/node_modules/util-deprecate/browser.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_duplex.js","../../../../node_modules/.pnpm/string_decoder@1.3.0/node_modules/string_decoder/lib/string_decoder.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/end-of-stream.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/async_iterator.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/from-browser.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_readable.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_passthrough.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/pipeline.js","../../../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/readable-browser.js","../../../../node_modules/.pnpm/hash-base@3.1.0/node_modules/hash-base/index.js","../../../../node_modules/.pnpm/md5.js@1.3.5/node_modules/md5.js/index.js","../../../../node_modules/.pnpm/ripemd160@2.0.2/node_modules/ripemd160/index.js","../../../../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/hash.js","../../../../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha.js","../../../../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha1.js","../../../../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha256.js","../../../../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha224.js","../../../../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha512.js","../../../../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha384.js","../../../../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/index.js","../../../../node_modules/.pnpm/stream-browserify@3.0.0/node_modules/stream-browserify/index.js","../../../../node_modules/.pnpm/cipher-base@1.0.4/node_modules/cipher-base/index.js","../../../../node_modules/.pnpm/create-hash@1.2.0/node_modules/create-hash/browser.js","../../../../node_modules/.pnpm/create-hmac@1.1.7/node_modules/create-hmac/legacy.js","../../../../node_modules/.pnpm/create-hash@1.2.0/node_modules/create-hash/md5.js","../../../../node_modules/.pnpm/create-hmac@1.1.7/node_modules/create-hmac/browser.js","../../../../node_modules/.pnpm/browserify-sign@4.2.2/node_modules/browserify-sign/algos.js","../../../../node_modules/.pnpm/pbkdf2@3.1.2/node_modules/pbkdf2/lib/precondition.js","../../../../node_modules/.pnpm/pbkdf2@3.1.2/node_modules/pbkdf2/lib/default-encoding.js","../../../../node_modules/.pnpm/pbkdf2@3.1.2/node_modules/pbkdf2/lib/to-buffer.js","../../../../node_modules/.pnpm/pbkdf2@3.1.2/node_modules/pbkdf2/lib/sync-browser.js","../../../../node_modules/.pnpm/pbkdf2@3.1.2/node_modules/pbkdf2/lib/async.js","../../../../node_modules/.pnpm/pbkdf2@3.1.2/node_modules/pbkdf2/browser.js","../../../../node_modules/.pnpm/des.js@1.1.0/node_modules/des.js/lib/des/utils.js","../../../../node_modules/.pnpm/minimalistic-assert@1.0.1/node_modules/minimalistic-assert/index.js","../../../../node_modules/.pnpm/des.js@1.1.0/node_modules/des.js/lib/des/cipher.js","../../../../node_modules/.pnpm/des.js@1.1.0/node_modules/des.js/lib/des/des.js","../../../../node_modules/.pnpm/des.js@1.1.0/node_modules/des.js/lib/des/cbc.js","../../../../node_modules/.pnpm/des.js@1.1.0/node_modules/des.js/lib/des/ede.js","../../../../node_modules/.pnpm/des.js@1.1.0/node_modules/des.js/lib/des.js","../../../../node_modules/.pnpm/browserify-des@1.0.2/node_modules/browserify-des/index.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/modes/ecb.js","../../../../node_modules/.pnpm/buffer-xor@1.0.3/node_modules/buffer-xor/index.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/modes/cbc.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/modes/cfb.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/modes/cfb8.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/modes/cfb1.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/modes/ofb.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/incr32.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/modes/ctr.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/modes/index.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/aes.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/ghash.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/authCipher.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/streamCipher.js","../../../../node_modules/.pnpm/evp_bytestokey@1.0.3/node_modules/evp_bytestokey/index.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/encrypter.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/decrypter.js","../../../../node_modules/.pnpm/browserify-aes@1.2.0/node_modules/browserify-aes/browser.js","../../../../node_modules/.pnpm/browserify-des@1.0.2/node_modules/browserify-des/modes.js","../../../../node_modules/.pnpm/browserify-cipher@1.0.1/node_modules/browserify-cipher/browser.js","../../../../node_modules/.pnpm/bn.js@4.12.0/node_modules/bn.js/lib/bn.js","../../../../node_modules/.pnpm/brorand@1.1.0/node_modules/brorand/index.js","../../../../node_modules/.pnpm/miller-rabin@4.0.1/node_modules/miller-rabin/lib/mr.js","../../../../node_modules/.pnpm/diffie-hellman@5.0.3/node_modules/diffie-hellman/lib/generatePrime.js","../../../../node_modules/.pnpm/diffie-hellman@5.0.3/node_modules/diffie-hellman/lib/dh.js","../../../../node_modules/.pnpm/diffie-hellman@5.0.3/node_modules/diffie-hellman/browser.js","../../../../node_modules/.pnpm/bn.js@5.2.1/node_modules/bn.js/lib/bn.js","../../../../node_modules/.pnpm/browserify-rsa@4.1.0/node_modules/browserify-rsa/index.js","../../../../node_modules/.pnpm/minimalistic-crypto-utils@1.0.1/node_modules/minimalistic-crypto-utils/lib/utils.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic/utils.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic/curve/base.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic/curve/short.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic/curve/mont.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic/curve/edwards.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic/curve/index.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/utils.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/common.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/sha/common.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/sha/1.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/sha/256.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/sha/224.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/sha/512.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/sha/384.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/sha.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/ripemd.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/hmac.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic/curves.js","../../../../node_modules/.pnpm/hmac-drbg@1.0.1/node_modules/hmac-drbg/lib/hmac-drbg.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic/ec/key.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic/ec/signature.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic/ec/index.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic/eddsa/key.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic/eddsa/signature.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic/eddsa/index.js","../../../../node_modules/.pnpm/elliptic@6.5.4/node_modules/elliptic/lib/elliptic.js","../../../../node_modules/.pnpm/safer-buffer@2.1.2/node_modules/safer-buffer/safer.js","../../../../node_modules/.pnpm/asn1.js@5.4.1/node_modules/asn1.js/lib/asn1/base/reporter.js","../../../../node_modules/.pnpm/asn1.js@5.4.1/node_modules/asn1.js/lib/asn1/base/buffer.js","../../../../node_modules/.pnpm/asn1.js@5.4.1/node_modules/asn1.js/lib/asn1/base/node.js","../../../../node_modules/.pnpm/asn1.js@5.4.1/node_modules/asn1.js/lib/asn1/constants/der.js","../../../../node_modules/.pnpm/asn1.js@5.4.1/node_modules/asn1.js/lib/asn1/encoders/der.js","../../../../node_modules/.pnpm/asn1.js@5.4.1/node_modules/asn1.js/lib/asn1/encoders/pem.js","../../../../node_modules/.pnpm/asn1.js@5.4.1/node_modules/asn1.js/lib/asn1/encoders/index.js","../../../../node_modules/.pnpm/asn1.js@5.4.1/node_modules/asn1.js/lib/asn1/decoders/der.js","../../../../node_modules/.pnpm/asn1.js@5.4.1/node_modules/asn1.js/lib/asn1/decoders/pem.js","../../../../node_modules/.pnpm/asn1.js@5.4.1/node_modules/asn1.js/lib/asn1/decoders/index.js","../../../../node_modules/.pnpm/asn1.js@5.4.1/node_modules/asn1.js/lib/asn1/api.js","../../../../node_modules/.pnpm/asn1.js@5.4.1/node_modules/asn1.js/lib/asn1/base/index.js","../../../../node_modules/.pnpm/asn1.js@5.4.1/node_modules/asn1.js/lib/asn1/constants/index.js","../../../../node_modules/.pnpm/asn1.js@5.4.1/node_modules/asn1.js/lib/asn1.js","../../../../node_modules/.pnpm/parse-asn1@5.1.6/node_modules/parse-asn1/certificate.js","../../../../node_modules/.pnpm/parse-asn1@5.1.6/node_modules/parse-asn1/asn1.js","../../../../node_modules/.pnpm/parse-asn1@5.1.6/node_modules/parse-asn1/fixProc.js","../../../../node_modules/.pnpm/parse-asn1@5.1.6/node_modules/parse-asn1/index.js","../../../../node_modules/.pnpm/browserify-sign@4.2.2/node_modules/browserify-sign/browser/sign.js","../../../../node_modules/.pnpm/browserify-sign@4.2.2/node_modules/browserify-sign/browser/verify.js","../../../../node_modules/.pnpm/browserify-sign@4.2.2/node_modules/browserify-sign/browser/index.js","../../../../node_modules/.pnpm/create-ecdh@4.0.4/node_modules/create-ecdh/browser.js","../../../../node_modules/.pnpm/public-encrypt@4.0.3/node_modules/public-encrypt/mgf.js","../../../../node_modules/.pnpm/public-encrypt@4.0.3/node_modules/public-encrypt/xor.js","../../../../node_modules/.pnpm/public-encrypt@4.0.3/node_modules/public-encrypt/withPublic.js","../../../../node_modules/.pnpm/public-encrypt@4.0.3/node_modules/public-encrypt/publicEncrypt.js","../../../../node_modules/.pnpm/public-encrypt@4.0.3/node_modules/public-encrypt/privateDecrypt.js","../../../../node_modules/.pnpm/public-encrypt@4.0.3/node_modules/public-encrypt/browser.js","../../../../node_modules/.pnpm/randomfill@1.0.4/node_modules/randomfill/browser.js","../../../../node_modules/.pnpm/crypto-browserify@3.12.0/node_modules/crypto-browserify/index.js","../node_modules/.pnpm/@stablelib+random@1.0.2/node_modules/@stablelib/random/lib/source/node.js","../node_modules/.pnpm/@stablelib+random@1.0.2/node_modules/@stablelib/random/lib/source/system.js","../node_modules/.pnpm/@stablelib+random@1.0.2/node_modules/@stablelib/random/lib/random.js","../node_modules/.pnpm/@stablelib+sha256@1.0.1/node_modules/@stablelib/sha256/lib/sha256.js","../node_modules/.pnpm/@stablelib+x25519@1.0.3/node_modules/@stablelib/x25519/lib/x25519.js","../node_modules/.pnpm/uint8arrays@3.1.1/node_modules/uint8arrays/esm/src/util/as-uint8array.js","../node_modules/.pnpm/uint8arrays@3.1.1/node_modules/uint8arrays/esm/src/alloc.js","../node_modules/.pnpm/uint8arrays@3.1.1/node_modules/uint8arrays/esm/src/concat.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/vendor/base-x.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/src/bytes.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/src/bases/base.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/src/bases/identity.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/src/bases/base2.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/src/bases/base8.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/src/bases/base10.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/src/bases/base16.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/src/bases/base32.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/src/bases/base36.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/src/bases/base58.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/src/bases/base64.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/src/bases/base256emoji.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/src/codecs/json.js","../node_modules/.pnpm/multiformats@9.9.0/node_modules/multiformats/esm/src/basics.js","../node_modules/.pnpm/uint8arrays@3.1.1/node_modules/uint8arrays/esm/src/util/bases.js","../node_modules/.pnpm/uint8arrays@3.1.1/node_modules/uint8arrays/esm/src/from-string.js","../node_modules/.pnpm/uint8arrays@3.1.1/node_modules/uint8arrays/esm/src/to-string.js","../node_modules/.pnpm/detect-browser@5.3.0/node_modules/detect-browser/es/index.js","../node_modules/.pnpm/tslib@1.14.1/node_modules/tslib/tslib.js","../node_modules/.pnpm/@walletconnect+time@1.0.2/node_modules/@walletconnect/time/dist/cjs/utils/delay.js","../node_modules/.pnpm/@walletconnect+time@1.0.2/node_modules/@walletconnect/time/dist/cjs/constants/misc.js","../node_modules/.pnpm/@walletconnect+time@1.0.2/node_modules/@walletconnect/time/dist/cjs/constants/time.js","../node_modules/.pnpm/@walletconnect+time@1.0.2/node_modules/@walletconnect/time/dist/cjs/constants/index.js","../node_modules/.pnpm/@walletconnect+time@1.0.2/node_modules/@walletconnect/time/dist/cjs/utils/convert.js","../node_modules/.pnpm/@walletconnect+time@1.0.2/node_modules/@walletconnect/time/dist/cjs/utils/index.js","../node_modules/.pnpm/@walletconnect+time@1.0.2/node_modules/@walletconnect/time/dist/cjs/watch.js","../node_modules/.pnpm/@walletconnect+time@1.0.2/node_modules/@walletconnect/time/dist/cjs/types/watch.js","../node_modules/.pnpm/@walletconnect+time@1.0.2/node_modules/@walletconnect/time/dist/cjs/types/index.js","../node_modules/.pnpm/@walletconnect+time@1.0.2/node_modules/@walletconnect/time/dist/cjs/index.js","../node_modules/.pnpm/@walletconnect+window-getters@1.0.1/node_modules/@walletconnect/window-getters/dist/cjs/index.js","../node_modules/.pnpm/@walletconnect+window-metadata@1.0.1/node_modules/@walletconnect/window-metadata/dist/cjs/index.js","../node_modules/.pnpm/strict-uri-encode@2.0.0/node_modules/strict-uri-encode/index.js","../node_modules/.pnpm/decode-uri-component@0.2.2/node_modules/decode-uri-component/index.js","../node_modules/.pnpm/split-on-first@1.1.0/node_modules/split-on-first/index.js","../node_modules/.pnpm/filter-obj@1.1.0/node_modules/filter-obj/index.js","../node_modules/.pnpm/query-string@7.1.3/node_modules/query-string/index.js","../node_modules/.pnpm/@walletconnect+relay-api@1.0.10/node_modules/@walletconnect/relay-api/dist/index.es.js","../node_modules/.pnpm/@walletconnect+utils@2.11.1/node_modules/@walletconnect/utils/dist/index.es.js","../node_modules/.pnpm/destr@2.0.3/node_modules/destr/dist/index.mjs","../node_modules/.pnpm/unstorage@1.10.2_idb-keyval@6.2.1/node_modules/unstorage/dist/shared/unstorage.8581f561.mjs","../node_modules/.pnpm/unstorage@1.10.2_idb-keyval@6.2.1/node_modules/unstorage/dist/index.mjs","../node_modules/.pnpm/idb-keyval@6.2.1/node_modules/idb-keyval/dist/index.js","../node_modules/.pnpm/@walletconnect+safe-json@1.0.2/node_modules/@walletconnect/safe-json/dist/esm/index.js","../node_modules/.pnpm/@walletconnect+keyvaluestorage@1.1.1/node_modules/@walletconnect/keyvaluestorage/dist/index.es.js","../node_modules/.pnpm/@walletconnect+events@1.0.1/node_modules/@walletconnect/events/dist/esm/events.js","../node_modules/.pnpm/@walletconnect+heartbeat@1.2.1/node_modules/@walletconnect/heartbeat/dist/cjs/types/heartbeat.js","../node_modules/.pnpm/@walletconnect+heartbeat@1.2.1/node_modules/@walletconnect/heartbeat/dist/cjs/types/index.js","../node_modules/.pnpm/@walletconnect+heartbeat@1.2.1/node_modules/@walletconnect/heartbeat/dist/cjs/constants/heartbeat.js","../node_modules/.pnpm/@walletconnect+heartbeat@1.2.1/node_modules/@walletconnect/heartbeat/dist/cjs/constants/index.js","../node_modules/.pnpm/@walletconnect+heartbeat@1.2.1/node_modules/@walletconnect/heartbeat/dist/cjs/heartbeat.js","../node_modules/.pnpm/@walletconnect+heartbeat@1.2.1/node_modules/@walletconnect/heartbeat/dist/cjs/index.js","../node_modules/.pnpm/quick-format-unescaped@4.0.4/node_modules/quick-format-unescaped/index.js","../node_modules/.pnpm/pino@7.11.0/node_modules/pino/browser.js","../node_modules/.pnpm/@walletconnect+logger@2.1.2/node_modules/@walletconnect/logger/dist/index.es.js","../node_modules/.pnpm/@walletconnect+types@2.11.1/node_modules/@walletconnect/types/dist/index.es.js","../node_modules/.pnpm/@stablelib+sha512@1.0.1/node_modules/@stablelib/sha512/lib/sha512.js","../node_modules/.pnpm/@stablelib+ed25519@1.0.3/node_modules/@stablelib/ed25519/lib/ed25519.js","../node_modules/.pnpm/@walletconnect+relay-auth@1.0.4/node_modules/@walletconnect/relay-auth/dist/esm/constants.js","../node_modules/.pnpm/@walletconnect+relay-auth@1.0.4/node_modules/@walletconnect/relay-auth/dist/esm/utils.js","../node_modules/.pnpm/@walletconnect+relay-auth@1.0.4/node_modules/@walletconnect/relay-auth/dist/esm/api.js","../node_modules/.pnpm/@walletconnect+jsonrpc-utils@1.0.8/node_modules/@walletconnect/jsonrpc-utils/dist/esm/constants.js","../node_modules/.pnpm/@walletconnect+jsonrpc-utils@1.0.8/node_modules/@walletconnect/jsonrpc-utils/dist/esm/error.js","../node_modules/.pnpm/@walletconnect+environment@1.0.1/node_modules/@walletconnect/environment/dist/cjs/crypto.js","../node_modules/.pnpm/@walletconnect+environment@1.0.1/node_modules/@walletconnect/environment/dist/cjs/env.js","../node_modules/.pnpm/@walletconnect+environment@1.0.1/node_modules/@walletconnect/environment/dist/cjs/index.js","../node_modules/.pnpm/@walletconnect+jsonrpc-utils@1.0.8/node_modules/@walletconnect/jsonrpc-utils/dist/esm/format.js","../node_modules/.pnpm/@walletconnect+jsonrpc-types@1.0.3/node_modules/@walletconnect/jsonrpc-types/dist/esm/misc.js","../node_modules/.pnpm/@walletconnect+jsonrpc-types@1.0.3/node_modules/@walletconnect/jsonrpc-types/dist/esm/provider.js","../node_modules/.pnpm/@walletconnect+jsonrpc-utils@1.0.8/node_modules/@walletconnect/jsonrpc-utils/dist/esm/url.js","../node_modules/.pnpm/@walletconnect+jsonrpc-utils@1.0.8/node_modules/@walletconnect/jsonrpc-utils/dist/esm/validators.js","../node_modules/.pnpm/@walletconnect+jsonrpc-provider@1.0.13/node_modules/@walletconnect/jsonrpc-provider/dist/esm/provider.js","../node_modules/.pnpm/@walletconnect+jsonrpc-ws-connection@1.0.14/node_modules/@walletconnect/jsonrpc-ws-connection/dist/index.es.js","../node_modules/.pnpm/lodash.isequal@4.5.0/node_modules/lodash.isequal/index.js","../node_modules/.pnpm/unfetch@4.2.0/node_modules/unfetch/dist/unfetch.module.js","../node_modules/.pnpm/isomorphic-unfetch@3.1.0/node_modules/isomorphic-unfetch/browser.js","../node_modules/.pnpm/@walletconnect+core@2.11.1/node_modules/@walletconnect/core/dist/index.es.js","../node_modules/.pnpm/@walletconnect+sign-client@2.11.1/node_modules/@walletconnect/sign-client/dist/index.es.js","../node_modules/.pnpm/cross-fetch@3.1.8/node_modules/cross-fetch/dist/browser-ponyfill.js","../node_modules/.pnpm/@walletconnect+jsonrpc-http-connection@1.0.7/node_modules/@walletconnect/jsonrpc-http-connection/dist/esm/http.js","../node_modules/.pnpm/@walletconnect+universal-provider@2.11.1/node_modules/@walletconnect/universal-provider/dist/index.es.js","../node_modules/.pnpm/@walletconnect+ethereum-provider@2.11.1_react@18.2.0/node_modules/@walletconnect/ethereum-provider/dist/index.es.js","../node_modules/.pnpm/@web3modal+scaffold-utils@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold-utils/dist/esm/src/EthersConstantsUtil.js","../node_modules/.pnpm/@web3modal+scaffold-utils@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold-utils/dist/esm/src/EthersHelpersUtil.js","../node_modules/.pnpm/@web3modal+scaffold-utils@4.1.11_react@18.2.0/node_modules/@web3modal/scaffold-utils/dist/esm/src/EthersStoreUtil.js","../node_modules/.pnpm/@web3modal+ethers@4.1.11_ethers@6.11.1_react@18.2.0/node_modules/@web3modal/ethers/dist/esm/src/client.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/assets/wallet-logo.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/core/constants.js","../node_modules/.pnpm/bn.js@5.2.1/node_modules/bn.js/lib/bn.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/core/error/constants.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/core/error/utils.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/core/error/errors.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/type/Web3Response.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/version.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/core/error/serialize.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/core/error/index.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/core/type.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/core/util.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/lib/ScopedLocalStorage.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/provider/DiagnosticLogger.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/RelayAbstract.js","../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits_browser.js","../node_modules/.pnpm/safe-buffer@5.2.1/node_modules/safe-buffer/index.js","../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/hash.js","../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha.js","../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha1.js","../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha256.js","../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha224.js","../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha512.js","../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha384.js","../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/index.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/Session.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/lib/Cipher.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/connection/WalletLinkHTTP.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/connection/WalletLinkWebSocket.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/connection/WalletLinkConnection.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/lib/cssReset-css.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/lib/cssReset.js","../node_modules/.pnpm/preact@10.20.2/node_modules/preact/dist/preact.module.js","../node_modules/.pnpm/clsx@1.2.1/node_modules/clsx/dist/clsx.m.js","../node_modules/.pnpm/preact@10.20.2/node_modules/preact/hooks/dist/hooks.module.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/icons/CloseIcon.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/icons/CoinbaseWalletRound.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/icons/QRCodeIcon.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/vendor-js/qrcode-svg/index.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/QRCode.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/Spinner/Spinner-css.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/Spinner/Spinner.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/ConnectContent/ConnectContent-css.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/ConnectContent/ConnectContent.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/icons/ArrowLeftIcon.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/icons/LaptopIcon.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/icons/SafeIcon.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/TryExtensionContent/TryExtensionContent-css.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/TryExtensionContent/TryExtensionContent.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/ConnectDialog/ConnectDialog-css.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/ConnectDialog/ConnectDialog.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/LinkFlow/LinkFlow.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/Snackbar/Snackbar-css.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/Snackbar/Snackbar.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/WalletLinkRelayUI.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/WalletLinkRelay.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/Snackbar/index.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/RedirectDialog/RedirectDialog-css.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/walletlink/ui/components/RedirectDialog/RedirectDialog.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/mobile/MobileRelayUI.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/mobile/MobileRelay.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/stream-browser.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/buffer_list.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/destroy.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/errors-browser.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/state.js","../node_modules/.pnpm/util-deprecate@1.0.2/node_modules/util-deprecate/browser.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_duplex.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/end-of-stream.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/async_iterator.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/from-browser.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_readable.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_passthrough.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/pipeline.js","../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/readable-browser.js","../node_modules/.pnpm/keccak@3.0.4/node_modules/keccak/lib/api/keccak.js","../node_modules/.pnpm/keccak@3.0.4/node_modules/keccak/lib/api/shake.js","../node_modules/.pnpm/keccak@3.0.4/node_modules/keccak/lib/api/index.js","../node_modules/.pnpm/keccak@3.0.4/node_modules/keccak/lib/keccak-state-unroll.js","../node_modules/.pnpm/keccak@3.0.4/node_modules/keccak/lib/keccak.js","../node_modules/.pnpm/keccak@3.0.4/node_modules/keccak/js.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/vendor-js/eth-eip712-util/util.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/vendor-js/eth-eip712-util/abi.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/vendor-js/eth-eip712-util/index.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/provider/FilterPolyfill.js","../node_modules/.pnpm/json-rpc-random-id@1.0.1/node_modules/json-rpc-random-id/index.js","../node_modules/.pnpm/pify@3.0.0/node_modules/pify/index.js","../node_modules/.pnpm/@metamask+safe-event-emitter@3.1.1/node_modules/@metamask/safe-event-emitter/dist/cjs/index.js","../node_modules/.pnpm/eth-block-tracker@7.1.0/node_modules/eth-block-tracker/dist/BaseBlockTracker.js","../node_modules/.pnpm/superstruct@1.0.4/node_modules/superstruct/dist/index.mjs","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/assert.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/base64.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/hex.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/bytes.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/checksum.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/coercers.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/collections.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/encryption-types.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/json.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/keyring.js","../node_modules/.pnpm/ms@2.1.2/node_modules/ms/index.js","../node_modules/.pnpm/debug@4.3.4/node_modules/debug/src/common.js","../node_modules/.pnpm/debug@4.3.4/node_modules/debug/src/browser.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/logging.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/misc.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/number.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/opaque.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/time.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/transaction-types.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/internal/constants.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/internal/debug.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/internal/re.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/internal/parse-options.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/internal/identifiers.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/classes/semver.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/parse.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/valid.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/clean.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/inc.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/diff.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/major.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/minor.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/patch.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/prerelease.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/compare.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/rcompare.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/compare-loose.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/compare-build.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/sort.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/rsort.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/gt.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/lt.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/eq.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/neq.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/gte.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/lte.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/cmp.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/coerce.js","../node_modules/.pnpm/yallist@4.0.0/node_modules/yallist/iterator.js","../node_modules/.pnpm/yallist@4.0.0/node_modules/yallist/yallist.js","../node_modules/.pnpm/lru-cache@6.0.0/node_modules/lru-cache/index.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/classes/range.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/classes/comparator.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/functions/satisfies.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/to-comparators.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/max-satisfying.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/min-satisfying.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/min-version.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/valid.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/outside.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/gtr.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/ltr.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/intersects.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/simplify.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/ranges/subset.js","../node_modules/.pnpm/semver@7.6.0/node_modules/semver/index.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/versions.js","../node_modules/.pnpm/@metamask+utils@5.0.2/node_modules/@metamask/utils/dist/index.js","../node_modules/.pnpm/eth-block-tracker@7.1.0/node_modules/eth-block-tracker/dist/logging-utils.js","../node_modules/.pnpm/eth-block-tracker@7.1.0/node_modules/eth-block-tracker/dist/PollingBlockTracker.js","../node_modules/.pnpm/eth-block-tracker@7.1.0/node_modules/eth-block-tracker/dist/SubscribeBlockTracker.js","../node_modules/.pnpm/eth-block-tracker@7.1.0/node_modules/eth-block-tracker/dist/index.js","../node_modules/.pnpm/json-rpc-engine@6.1.0/node_modules/json-rpc-engine/dist/getUniqueId.js","../node_modules/.pnpm/json-rpc-engine@6.1.0/node_modules/json-rpc-engine/dist/idRemapMiddleware.js","../node_modules/.pnpm/json-rpc-engine@6.1.0/node_modules/json-rpc-engine/dist/createAsyncMiddleware.js","../node_modules/.pnpm/json-rpc-engine@6.1.0/node_modules/json-rpc-engine/dist/createScaffoldMiddleware.js","../node_modules/.pnpm/@metamask+safe-event-emitter@2.0.0/node_modules/@metamask/safe-event-emitter/index.js","../node_modules/.pnpm/fast-safe-stringify@2.1.1/node_modules/fast-safe-stringify/index.js","../node_modules/.pnpm/eth-rpc-errors@4.0.3/node_modules/eth-rpc-errors/dist/classes.js","../node_modules/.pnpm/eth-rpc-errors@4.0.3/node_modules/eth-rpc-errors/dist/error-constants.js","../node_modules/.pnpm/eth-rpc-errors@4.0.3/node_modules/eth-rpc-errors/dist/utils.js","../node_modules/.pnpm/eth-rpc-errors@4.0.3/node_modules/eth-rpc-errors/dist/errors.js","../node_modules/.pnpm/eth-rpc-errors@4.0.3/node_modules/eth-rpc-errors/dist/index.js","../node_modules/.pnpm/json-rpc-engine@6.1.0/node_modules/json-rpc-engine/dist/JsonRpcEngine.js","../node_modules/.pnpm/json-rpc-engine@6.1.0/node_modules/json-rpc-engine/dist/mergeMiddleware.js","../node_modules/.pnpm/json-rpc-engine@6.1.0/node_modules/json-rpc-engine/dist/index.js","../node_modules/.pnpm/tslib@2.4.0/node_modules/tslib/tslib.es6.js","../node_modules/.pnpm/async-mutex@0.2.6/node_modules/async-mutex/lib/Semaphore.js","../node_modules/.pnpm/async-mutex@0.2.6/node_modules/async-mutex/lib/Mutex.js","../node_modules/.pnpm/async-mutex@0.2.6/node_modules/async-mutex/lib/withTimeout.js","../node_modules/.pnpm/async-mutex@0.2.6/node_modules/async-mutex/lib/index.js","../node_modules/.pnpm/xtend@4.0.2/node_modules/xtend/immutable.js","../node_modules/.pnpm/eth-query@2.1.2/node_modules/eth-query/index.js","../node_modules/.pnpm/pify@5.0.0/node_modules/pify/index.js","../node_modules/.pnpm/eth-json-rpc-filters@6.0.1/node_modules/eth-json-rpc-filters/base-filter.js","../node_modules/.pnpm/eth-json-rpc-filters@6.0.1/node_modules/eth-json-rpc-filters/base-filter-history.js","../node_modules/.pnpm/eth-json-rpc-filters@6.0.1/node_modules/eth-json-rpc-filters/hexUtils.js","../node_modules/.pnpm/eth-json-rpc-filters@6.0.1/node_modules/eth-json-rpc-filters/log-filter.js","../node_modules/.pnpm/eth-json-rpc-filters@6.0.1/node_modules/eth-json-rpc-filters/getBlocksForRange.js","../node_modules/.pnpm/eth-json-rpc-filters@6.0.1/node_modules/eth-json-rpc-filters/block-filter.js","../node_modules/.pnpm/eth-json-rpc-filters@6.0.1/node_modules/eth-json-rpc-filters/tx-filter.js","../node_modules/.pnpm/eth-json-rpc-filters@6.0.1/node_modules/eth-json-rpc-filters/index.js","../node_modules/.pnpm/eth-json-rpc-filters@6.0.1/node_modules/eth-json-rpc-filters/subscriptionManager.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/provider/SubscriptionManager.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/provider/CoinbaseWalletProvider.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/relay/RelayEventManager.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/CoinbaseWalletSDK.js","../node_modules/.pnpm/@coinbase+wallet-sdk@3.9.1/node_modules/@coinbase/wallet-sdk/dist/index.js","../node_modules/.pnpm/@web3modal+ethers@4.1.11_ethers@6.11.1_react@18.2.0/node_modules/@web3modal/ethers/dist/esm/src/utils/defaultConfig.js","../node_modules/.pnpm/@web3modal+ethers@4.1.11_ethers@6.11.1_react@18.2.0/node_modules/@web3modal/ethers/dist/esm/exports/index.js","../src/browser/adapters/Web3Modal.ts","../src/browser/adapters/OkxWallet.ts","../src/browser/adapters/XdefiWallet.ts","../src/browser/adapters/TrustWallet.ts","../src/browser/adapters/BitgetWallet.ts","../node_modules/.pnpm/@walletconnect+utils@2.12.2/node_modules/@walletconnect/utils/dist/index.es.js","../node_modules/.pnpm/@walletconnect+types@2.12.2/node_modules/@walletconnect/types/dist/index.es.js","../node_modules/.pnpm/@walletconnect+core@2.12.2/node_modules/@walletconnect/core/dist/index.es.js","../node_modules/.pnpm/@walletconnect+sign-client@2.12.2/node_modules/@walletconnect/sign-client/dist/index.es.js","../node_modules/.pnpm/@walletconnect+universal-provider@2.12.2/node_modules/@walletconnect/universal-provider/dist/index.es.js","../node_modules/.pnpm/@walletconnect+ethereum-provider@2.12.2_react@18.2.0/node_modules/@walletconnect/ethereum-provider/dist/index.es.js","../src/browser/adapters/WalletConnect.ts","../src/browser/index.ts","../node_modules/.pnpm/@web3modal+siwe@4.1.11_react@18.2.0/node_modules/@web3modal/siwe/dist/esm/core/utils/ConstantsUtil.js","../node_modules/.pnpm/@web3modal+siwe@4.1.11_react@18.2.0/node_modules/@web3modal/siwe/dist/esm/src/client.js","../node_modules/.pnpm/@web3modal+siwe@4.1.11_react@18.2.0/node_modules/@web3modal/siwe/dist/esm/core/controller/SIWEController.js","../node_modules/.pnpm/@web3modal+siwe@4.1.11_react@18.2.0/node_modules/@web3modal/siwe/dist/esm/scaffold/partials/w3m-connecting-siwe/styles.js","../node_modules/.pnpm/@web3modal+siwe@4.1.11_react@18.2.0/node_modules/@web3modal/siwe/dist/esm/scaffold/partials/w3m-connecting-siwe/index.js","../node_modules/.pnpm/@web3modal+siwe@4.1.11_react@18.2.0/node_modules/@web3modal/siwe/dist/esm/scaffold/views/w3m-connecting-siwe-view/index.js","../node_modules/.pnpm/@web3modal+siwe@4.1.11_react@18.2.0/node_modules/@web3modal/siwe/dist/esm/exports/index.js","../node_modules/.pnpm/@walletconnect+modal-core@2.6.2_react@18.2.0/node_modules/@walletconnect/modal-core/dist/index.js","../node_modules/.pnpm/@walletconnect+modal@2.6.2_react@18.2.0/node_modules/@walletconnect/modal/dist/index.js","../node_modules/.pnpm/@lit+reactive-element@1.6.3/node_modules/@lit/reactive-element/css-tag.js","../node_modules/.pnpm/@lit+reactive-element@1.6.3/node_modules/@lit/reactive-element/reactive-element.js","../node_modules/.pnpm/lit-html@2.8.0/node_modules/lit-html/lit-html.js","../node_modules/.pnpm/lit-element@3.3.3/node_modules/lit-element/lit-element.js","../node_modules/.pnpm/@lit+reactive-element@1.6.3/node_modules/@lit/reactive-element/decorators/custom-element.js","../node_modules/.pnpm/@lit+reactive-element@1.6.3/node_modules/@lit/reactive-element/decorators/property.js","../node_modules/.pnpm/@lit+reactive-element@1.6.3/node_modules/@lit/reactive-element/decorators/state.js","../node_modules/.pnpm/@lit+reactive-element@1.6.3/node_modules/@lit/reactive-element/decorators/query-assigned-elements.js","../node_modules/.pnpm/lit-html@2.8.0/node_modules/lit-html/directive.js","../node_modules/.pnpm/lit-html@2.8.0/node_modules/lit-html/directives/class-map.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/array.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/clamp.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/defaults.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/is-number.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/is-easing-list.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/wrap.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/easing.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/mix.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/noop.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/progress.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/offset.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/interpolate.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/is-cubic-bezier.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/is-easing-generator.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/is-function.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/is-string.es.js","../node_modules/.pnpm/@motionone+utils@10.17.0/node_modules/@motionone/utils/dist/time.es.js","../node_modules/.pnpm/@motionone+easing@10.17.0/node_modules/@motionone/easing/dist/cubic-bezier.es.js","../node_modules/.pnpm/@motionone+easing@10.17.0/node_modules/@motionone/easing/dist/steps.es.js","../node_modules/.pnpm/@motionone+animation@10.17.0/node_modules/@motionone/animation/dist/utils/easing.es.js","../node_modules/.pnpm/@motionone+animation@10.17.0/node_modules/@motionone/animation/dist/Animation.es.js","../node_modules/.pnpm/hey-listen@1.0.8/node_modules/hey-listen/dist/hey-listen.es.js","../node_modules/.pnpm/@motionone+types@10.17.0/node_modules/@motionone/types/dist/MotionValue.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/data.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/utils/transforms.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/utils/css-var.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/utils/feature-detection.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/utils/easing.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/utils/keyframes.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/utils/get-style-name.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/style.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/utils/stop-animation.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/utils/get-unit.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/animate-style.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/utils/options.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/utils/resolve-elements.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/utils/controls.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/utils/stagger.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/create-animate.es.js","../node_modules/.pnpm/@motionone+dom@10.17.0/node_modules/@motionone/dom/dist/animate/index.es.js","../node_modules/.pnpm/motion@10.16.2/node_modules/motion/dist/animate.es.js","../node_modules/.pnpm/lit-html@2.8.0/node_modules/lit-html/directives/if-defined.js","../node_modules/.pnpm/@walletconnect+modal-ui@2.6.2_react@18.2.0/node_modules/@walletconnect/modal-ui/dist/index.js"],"sourcesContent":["/**\n * Asset transactions (COIN, TOKEN, NFT) has two directions\n */\nexport enum AssetDirectionEnum {\n INCOMING = 'INCOMING',\n OUTGOING = 'OUTGOING'\n}\n\n/**\n * There are six types of transactions at the moment.\n * COIN, TOKEN, and NFT transactions are called ASSET transactions\n */\nexport enum TransactionTypeEnum {\n GENERAL = 'GENERAL',\n CONTRACT = 'CONTRACT',\n COIN = 'COIN',\n TOKEN = 'TOKEN',\n NFT = 'NFT'\n}\n\n/**\n * There are 3 available transaction statuses:\n * FAILED --> When a transaction is failed\n * PENDING --> When a transaction has not been concluded\n * CONFIRMED --> When a transaction is confirmed\n */\nexport enum TransactionStatusEnum {\n FAILED = 'FAILED',\n PENDING = 'PENDING',\n CONFIRMED = 'CONFIRMED'\n}\n\nexport enum ErrorTypeEnum {\n RPC_TIMEOUT = 'RPC_TIMEOUT',\n RPC_REQUEST_ERROR = 'RPC_REQUEST_ERROR',\n RPC_ACCESS_DENIED = 'RPC_ACCESS_DENIED',\n WS_URL_NOT_DEFINED = 'WS_URL_NOT_DEFINED',\n WS_CONNECTION_FAILED = 'WS_CONNECTION_FAILED',\n UNACCEPTED_CHAIN = 'UNACCEPTED_CHAIN',\n UNAUTHORIZED_ADDRESS = 'UNAUTHORIZED_ADDRESS',\n INSUFFICIENT_BALANCE = 'INSUFFICIENT_BALANCE',\n INVALID_AMOUNT = 'INVALID_AMOUNT',\n INVALID_ADDRESS = 'INVALID_ADDRESS',\n INVALID_PRIVATE_KEY = 'INVALID_PRIVATE_KEY',\n INVALID_PUBLIC_KEY = 'INVALID_PUBLIC_KEY',\n INVALID_TRANSACTION_ID = 'INVALID_TRANSACTION_ID',\n PROVIDER_IS_REQUIRED = 'PROVIDER_IS_REQUIRED',\n PROVIDER_IS_NOT_INITIALIZED = 'PROVIDER_IS_NOT_INITIALIZED',\n PROVIDER_IS_ALREADY_INITIALIZED = 'PROVIDER_IS_ALREADY_INITIALIZED',\n WALLET_ALREADY_PROCESSING = 'WALLET_ALREADY_PROCESSING',\n WALLET_CONNECT_REJECTED = 'WALLET_CONNECT_REJECTED',\n WALLET_REQUEST_REJECTED = 'WALLET_REQUEST_REJECTED',\n WALLET_CONNECTION_FAILED = 'WALLET_CONNECTION_FAILED',\n WALLET_CONNECTION_TIMEOUT = 'WALLET_CONNECTION_TIMEOUT',\n TRANSACTION_CREATION_FAILED = 'TRANSACTION_CREATION_FAILED',\n TRANSACTION_NOT_FOUND = 'TRANSACTION_NOT_FOUND',\n CLOSED_WALLETCONNECT_MODAL = 'CLOSED_WALLETCONNECT_MODAL',\n PROJECT_ID_IS_REQUIRED = 'PROJECT_ID_IS_REQUIRED',\n METADATA_IS_REQUIRED = 'METADATA_IS_REQUIRED',\n CONFIG_IS_REQUIRED = 'CONFIG_IS_REQUIRED'\n}\n\nexport enum WalletPlatformEnum {\n BROWSER = 'BROWSER',\n MOBILE = 'MOBILE',\n DESKTOP = 'DESKTOP',\n UNIVERSAL = 'UNIVERSAL'\n}\n","import type {\n NftId,\n ContractAddress,\n TransactionId,\n TransferAmount,\n WalletAddress\n} from '../defines'\nimport { TransactionTypeEnum } from '../enums'\n\n/**\n * Filter types for each transaction type in TransactionListenerInterface\n */\nexport interface TransactionListenerFilterInterface {\n signer?: WalletAddress\n}\n\nexport interface ContractTransactionListenerFilterInterface\n extends TransactionListenerFilterInterface {\n address?: ContractAddress\n}\n\nexport interface AssetTransactionListenerFilterInterface\n extends TransactionListenerFilterInterface {\n sender?: WalletAddress\n receiver?: WalletAddress\n}\n\nexport interface CoinTransactionListenerFilterInterface\n extends AssetTransactionListenerFilterInterface {\n amount?: TransferAmount\n}\n\nexport interface TokenTransactionListenerFilterInterface\n extends AssetTransactionListenerFilterInterface,\n ContractTransactionListenerFilterInterface {\n amount?: TransferAmount\n}\n\nexport interface NftTransactionListenerFilterInterface\n extends AssetTransactionListenerFilterInterface,\n ContractTransactionListenerFilterInterface {\n nftId?: NftId\n}\n/**\n * Filter types for each transaction type in TransactionListenerInterface\n */\n\n/**\n * 'DynamicTransactionListenerFilterInterface' connects transaction types to their corresponding filter interfaces\n * Every type of transaction has its own unique filter values.\n * A sender's wallet address is a common value.\n */\nexport type DynamicTransactionListenerFilterType =\n T extends TransactionTypeEnum.GENERAL\n ? TransactionListenerFilterInterface\n : T extends TransactionTypeEnum.CONTRACT\n ? ContractTransactionListenerFilterInterface\n : T extends TransactionTypeEnum.COIN\n ? CoinTransactionListenerFilterInterface\n : T extends TransactionTypeEnum.TOKEN\n ? TokenTransactionListenerFilterInterface\n : T extends TransactionTypeEnum.NFT\n ? NftTransactionListenerFilterInterface\n : never\n\n/**\n * 'TransactionListenerProcessIndex' is an object that connects transaction types to their corresponding process methods.\n * Example: this[TransactionListenerProcessIndex[type]]()\n */\nexport const TransactionListenerProcessIndex = {\n [TransactionTypeEnum.GENERAL]: 'generalProcess',\n [TransactionTypeEnum.CONTRACT]: 'contractProcess',\n [TransactionTypeEnum.COIN]: 'coinProcess',\n [TransactionTypeEnum.TOKEN]: 'tokenProcess',\n [TransactionTypeEnum.NFT]: 'nftProcess'\n}\n\n/**\n * 'DynamicTransactionType' connects transaction types to their corresponding transaction interfaces\n * Every type of transaction has its own unique transaction interface.\n */\nexport type DynamicTransactionType<\n T extends TransactionTypeEnum,\n Transaction,\n ContractTransaction,\n CoinTransaction,\n TokenTransaction,\n NftTransaction\n> = T extends TransactionTypeEnum.GENERAL\n ? Transaction\n : T extends TransactionTypeEnum.CONTRACT\n ? ContractTransaction\n : T extends TransactionTypeEnum.COIN\n ? CoinTransaction\n : T extends TransactionTypeEnum.TOKEN\n ? TokenTransaction\n : T extends TransactionTypeEnum.NFT\n ? NftTransaction\n : never\n\nexport interface TransactionListenerInterface<\n T extends TransactionTypeEnum,\n Transaction,\n CallBackType\n> {\n /**\n * The 'type' property is a generic type that is used to define the type of transaction listener.\n */\n type: T\n\n /**\n * 'status' is a boolean that shows the status of the listener.\n * If 'status' is true, the listener is active.\n * If 'status' is false, the listener is inactive.\n */\n status: boolean\n\n /**\n * 'callback' is an array of callback functions that are triggered when a transaction is detected.\n */\n callbacks: CallBackType[]\n\n /**\n * Triggered transactions are stored in the 'triggeredTransactions' array.\n */\n triggeredTransactions: TransactionId[]\n\n /**\n * 'filter' is an object that has values depending on transaction listener type.\n * E.g. no matter which type of transaction is listening, 'filter' has to have a 'signer' value\n */\n filter?: DynamicTransactionListenerFilterType | Record\n\n /**\n * If the listener is active, the 'stop' method deactivates the listener.\n * @returns {void}\n */\n stop: () => void\n\n /**\n * If the listener is inactive, the 'start' method activates the listener.\n * @returns {void}\n */\n start: () => void\n\n /**\n * The 'getStatus' method returns the status of the listener.\n * @returns {boolean}\n */\n getStatus: () => boolean\n\n /**\n * The 'on' method adds a callback function to the 'callbacks' array and starts the listener.\n * @param {CallBackType} callback - a function that is triggered when a transaction is detected.\n * @return {Promise}\n */\n on: (callback: CallBackType) => Promise\n\n /**\n * The 'trigger' method is triggered when a transaction is detected.\n * @param {Transaction} transaction - a transaction that is detected.\n * @return {void}\n */\n trigger: (transaction: Transaction) => void\n\n /**\n * listener methods for each transaction type\n */\n generalProcess: () => void\n\n contractProcess: () => void\n\n coinProcess: () => void\n\n tokenProcess: () => void\n\n nftProcess: () => void\n}\n","const global = globalThis || void 0 || self;\n\nexport { global as default, global };\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","var buffer = {};\n\nvar base64Js = {};\n\nbase64Js.byteLength = byteLength;\nbase64Js.toByteArray = toByteArray;\nbase64Js.fromByteArray = fromByteArray;\n\nvar lookup = [];\nvar revLookup = [];\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62;\nrevLookup['_'.charCodeAt(0)] = 63;\n\nfunction getLens (b64) {\n var len = b64.length;\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=');\n if (validLen === -1) validLen = len;\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4);\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n\n var curByte = 0;\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen;\n\n var i;\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)];\n arr[curByte++] = (tmp >> 16) & 0xFF;\n arr[curByte++] = (tmp >> 8) & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4);\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2);\n arr[curByte++] = (tmp >> 8) & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp;\n var output = [];\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF);\n output.push(tripletToBase64(tmp));\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp;\n var len = uint8.length;\n var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes\n var parts = [];\n var maxChunkLength = 16383; // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)));\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1];\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n );\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n );\n }\n\n return parts.join('')\n}\n\nvar ieee754 = {};\n\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\n\nieee754.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = (nBytes * 8) - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? (nBytes - 1) : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n\n i += d;\n\n e = s & ((1 << (-nBits)) - 1);\n s >>= (-nBits);\n nBits += eLen;\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1);\n e >>= (-nBits);\n nBits += mLen;\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n};\n\nieee754.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = (nBytes * 8) - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0);\n var i = isLE ? 0 : (nBytes - 1);\n var d = isLE ? 1 : -1;\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0;\n\n value = Math.abs(value);\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m;\n eLen += mLen;\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128;\n};\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n(function (exports) {\n\n\tconst base64 = base64Js;\n\tconst ieee754$1 = ieee754;\n\tconst customInspectSymbol =\n\t (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n\t ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n\t : null;\n\n\texports.Buffer = Buffer;\n\texports.SlowBuffer = SlowBuffer;\n\texports.INSPECT_MAX_BYTES = 50;\n\n\tconst K_MAX_LENGTH = 0x7fffffff;\n\texports.kMaxLength = K_MAX_LENGTH;\n\tconst { Uint8Array: GlobalUint8Array, ArrayBuffer: GlobalArrayBuffer, SharedArrayBuffer: GlobalSharedArrayBuffer } = globalThis;\n\n\t/**\n\t * If `Buffer.TYPED_ARRAY_SUPPORT`:\n\t * === true Use Uint8Array implementation (fastest)\n\t * === false Print warning and recommend using `buffer` v4.x which has an Object\n\t * implementation (most compatible, even IE6)\n\t *\n\t * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n\t * Opera 11.6+, iOS 4.2+.\n\t *\n\t * We report that the browser does not support typed arrays if the are not subclassable\n\t * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n\t * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n\t * for __proto__ and has a buggy typed array implementation.\n\t */\n\tBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n\n\tif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n\t typeof console.error === 'function') {\n\t console.error(\n\t 'This browser lacks typed array (Uint8Array) support which is required by ' +\n\t '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n\t );\n\t}\n\n\tfunction typedArraySupport () {\n\t // Can typed array instances can be augmented?\n\t try {\n\t const arr = new GlobalUint8Array(1);\n\t const proto = { foo: function () { return 42 } };\n\t Object.setPrototypeOf(proto, GlobalUint8Array.prototype);\n\t Object.setPrototypeOf(arr, proto);\n\t return arr.foo() === 42\n\t } catch (e) {\n\t return false\n\t }\n\t}\n\n\tObject.defineProperty(Buffer.prototype, 'parent', {\n\t enumerable: true,\n\t get: function () {\n\t if (!Buffer.isBuffer(this)) return undefined\n\t return this.buffer\n\t }\n\t});\n\n\tObject.defineProperty(Buffer.prototype, 'offset', {\n\t enumerable: true,\n\t get: function () {\n\t if (!Buffer.isBuffer(this)) return undefined\n\t return this.byteOffset\n\t }\n\t});\n\n\tfunction createBuffer (length) {\n\t if (length > K_MAX_LENGTH) {\n\t throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n\t }\n\t // Return an augmented `Uint8Array` instance\n\t const buf = new GlobalUint8Array(length);\n\t Object.setPrototypeOf(buf, Buffer.prototype);\n\t return buf\n\t}\n\n\t/**\n\t * The Buffer constructor returns instances of `Uint8Array` that have their\n\t * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n\t * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n\t * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n\t * returns a single octet.\n\t *\n\t * The `Uint8Array` prototype remains unmodified.\n\t */\n\n\tfunction Buffer (arg, encodingOrOffset, length) {\n\t // Common case.\n\t if (typeof arg === 'number') {\n\t if (typeof encodingOrOffset === 'string') {\n\t throw new TypeError(\n\t 'The \"string\" argument must be of type string. Received type number'\n\t )\n\t }\n\t return allocUnsafe(arg)\n\t }\n\t return from(arg, encodingOrOffset, length)\n\t}\n\n\tBuffer.poolSize = 8192; // not used by this implementation\n\n\tfunction from (value, encodingOrOffset, length) {\n\t if (typeof value === 'string') {\n\t return fromString(value, encodingOrOffset)\n\t }\n\n\t if (GlobalArrayBuffer.isView(value)) {\n\t return fromArrayView(value)\n\t }\n\n\t if (value == null) {\n\t throw new TypeError(\n\t 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t 'or Array-like Object. Received type ' + (typeof value)\n\t )\n\t }\n\n\t if (isInstance(value, GlobalArrayBuffer) ||\n\t (value && isInstance(value.buffer, GlobalArrayBuffer))) {\n\t return fromArrayBuffer(value, encodingOrOffset, length)\n\t }\n\n\t if (typeof GlobalSharedArrayBuffer !== 'undefined' &&\n\t (isInstance(value, GlobalSharedArrayBuffer) ||\n\t (value && isInstance(value.buffer, GlobalSharedArrayBuffer)))) {\n\t return fromArrayBuffer(value, encodingOrOffset, length)\n\t }\n\n\t if (typeof value === 'number') {\n\t throw new TypeError(\n\t 'The \"value\" argument must not be of type number. Received type number'\n\t )\n\t }\n\n\t const valueOf = value.valueOf && value.valueOf();\n\t if (valueOf != null && valueOf !== value) {\n\t return Buffer.from(valueOf, encodingOrOffset, length)\n\t }\n\n\t const b = fromObject(value);\n\t if (b) return b\n\n\t if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n\t typeof value[Symbol.toPrimitive] === 'function') {\n\t return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n\t }\n\n\t throw new TypeError(\n\t 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t 'or Array-like Object. Received type ' + (typeof value)\n\t )\n\t}\n\n\t/**\n\t * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n\t * if value is a number.\n\t * Buffer.from(str[, encoding])\n\t * Buffer.from(array)\n\t * Buffer.from(buffer)\n\t * Buffer.from(arrayBuffer[, byteOffset[, length]])\n\t **/\n\tBuffer.from = function (value, encodingOrOffset, length) {\n\t return from(value, encodingOrOffset, length)\n\t};\n\n\t// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n\t// https://github.com/feross/buffer/pull/148\n\tObject.setPrototypeOf(Buffer.prototype, GlobalUint8Array.prototype);\n\tObject.setPrototypeOf(Buffer, GlobalUint8Array);\n\n\tfunction assertSize (size) {\n\t if (typeof size !== 'number') {\n\t throw new TypeError('\"size\" argument must be of type number')\n\t } else if (size < 0) {\n\t throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n\t }\n\t}\n\n\tfunction alloc (size, fill, encoding) {\n\t assertSize(size);\n\t if (size <= 0) {\n\t return createBuffer(size)\n\t }\n\t if (fill !== undefined) {\n\t // Only pay attention to encoding if it's a string. This\n\t // prevents accidentally sending in a number that would\n\t // be interpreted as a start offset.\n\t return typeof encoding === 'string'\n\t ? createBuffer(size).fill(fill, encoding)\n\t : createBuffer(size).fill(fill)\n\t }\n\t return createBuffer(size)\n\t}\n\n\t/**\n\t * Creates a new filled Buffer instance.\n\t * alloc(size[, fill[, encoding]])\n\t **/\n\tBuffer.alloc = function (size, fill, encoding) {\n\t return alloc(size, fill, encoding)\n\t};\n\n\tfunction allocUnsafe (size) {\n\t assertSize(size);\n\t return createBuffer(size < 0 ? 0 : checked(size) | 0)\n\t}\n\n\t/**\n\t * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n\t * */\n\tBuffer.allocUnsafe = function (size) {\n\t return allocUnsafe(size)\n\t};\n\t/**\n\t * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n\t */\n\tBuffer.allocUnsafeSlow = function (size) {\n\t return allocUnsafe(size)\n\t};\n\n\tfunction fromString (string, encoding) {\n\t if (typeof encoding !== 'string' || encoding === '') {\n\t encoding = 'utf8';\n\t }\n\n\t if (!Buffer.isEncoding(encoding)) {\n\t throw new TypeError('Unknown encoding: ' + encoding)\n\t }\n\n\t const length = byteLength(string, encoding) | 0;\n\t let buf = createBuffer(length);\n\n\t const actual = buf.write(string, encoding);\n\n\t if (actual !== length) {\n\t // Writing a hex string, for example, that contains invalid characters will\n\t // cause everything after the first invalid character to be ignored. (e.g.\n\t // 'abxxcd' will be treated as 'ab')\n\t buf = buf.slice(0, actual);\n\t }\n\n\t return buf\n\t}\n\n\tfunction fromArrayLike (array) {\n\t const length = array.length < 0 ? 0 : checked(array.length) | 0;\n\t const buf = createBuffer(length);\n\t for (let i = 0; i < length; i += 1) {\n\t buf[i] = array[i] & 255;\n\t }\n\t return buf\n\t}\n\n\tfunction fromArrayView (arrayView) {\n\t if (isInstance(arrayView, GlobalUint8Array)) {\n\t const copy = new GlobalUint8Array(arrayView);\n\t return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n\t }\n\t return fromArrayLike(arrayView)\n\t}\n\n\tfunction fromArrayBuffer (array, byteOffset, length) {\n\t if (byteOffset < 0 || array.byteLength < byteOffset) {\n\t throw new RangeError('\"offset\" is outside of buffer bounds')\n\t }\n\n\t if (array.byteLength < byteOffset + (length || 0)) {\n\t throw new RangeError('\"length\" is outside of buffer bounds')\n\t }\n\n\t let buf;\n\t if (byteOffset === undefined && length === undefined) {\n\t buf = new GlobalUint8Array(array);\n\t } else if (length === undefined) {\n\t buf = new GlobalUint8Array(array, byteOffset);\n\t } else {\n\t buf = new GlobalUint8Array(array, byteOffset, length);\n\t }\n\n\t // Return an augmented `Uint8Array` instance\n\t Object.setPrototypeOf(buf, Buffer.prototype);\n\n\t return buf\n\t}\n\n\tfunction fromObject (obj) {\n\t if (Buffer.isBuffer(obj)) {\n\t const len = checked(obj.length) | 0;\n\t const buf = createBuffer(len);\n\n\t if (buf.length === 0) {\n\t return buf\n\t }\n\n\t obj.copy(buf, 0, 0, len);\n\t return buf\n\t }\n\n\t if (obj.length !== undefined) {\n\t if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n\t return createBuffer(0)\n\t }\n\t return fromArrayLike(obj)\n\t }\n\n\t if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n\t return fromArrayLike(obj.data)\n\t }\n\t}\n\n\tfunction checked (length) {\n\t // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n\t // length is NaN (which is otherwise coerced to zero.)\n\t if (length >= K_MAX_LENGTH) {\n\t throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n\t 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n\t }\n\t return length | 0\n\t}\n\n\tfunction SlowBuffer (length) {\n\t if (+length != length) { // eslint-disable-line eqeqeq\n\t length = 0;\n\t }\n\t return Buffer.alloc(+length)\n\t}\n\n\tBuffer.isBuffer = function isBuffer (b) {\n\t return b != null && b._isBuffer === true &&\n\t b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n\t};\n\n\tBuffer.compare = function compare (a, b) {\n\t if (isInstance(a, GlobalUint8Array)) a = Buffer.from(a, a.offset, a.byteLength);\n\t if (isInstance(b, GlobalUint8Array)) b = Buffer.from(b, b.offset, b.byteLength);\n\t if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n\t throw new TypeError(\n\t 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n\t )\n\t }\n\n\t if (a === b) return 0\n\n\t let x = a.length;\n\t let y = b.length;\n\n\t for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n\t if (a[i] !== b[i]) {\n\t x = a[i];\n\t y = b[i];\n\t break\n\t }\n\t }\n\n\t if (x < y) return -1\n\t if (y < x) return 1\n\t return 0\n\t};\n\n\tBuffer.isEncoding = function isEncoding (encoding) {\n\t switch (String(encoding).toLowerCase()) {\n\t case 'hex':\n\t case 'utf8':\n\t case 'utf-8':\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t case 'base64':\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return true\n\t default:\n\t return false\n\t }\n\t};\n\n\tBuffer.concat = function concat (list, length) {\n\t if (!Array.isArray(list)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t }\n\n\t if (list.length === 0) {\n\t return Buffer.alloc(0)\n\t }\n\n\t let i;\n\t if (length === undefined) {\n\t length = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t length += list[i].length;\n\t }\n\t }\n\n\t const buffer = Buffer.allocUnsafe(length);\n\t let pos = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t let buf = list[i];\n\t if (isInstance(buf, GlobalUint8Array)) {\n\t if (pos + buf.length > buffer.length) {\n\t if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf);\n\t buf.copy(buffer, pos);\n\t } else {\n\t GlobalUint8Array.prototype.set.call(\n\t buffer,\n\t buf,\n\t pos\n\t );\n\t }\n\t } else if (!Buffer.isBuffer(buf)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t } else {\n\t buf.copy(buffer, pos);\n\t }\n\t pos += buf.length;\n\t }\n\t return buffer\n\t};\n\n\tfunction byteLength (string, encoding) {\n\t if (Buffer.isBuffer(string)) {\n\t return string.length\n\t }\n\t if (GlobalArrayBuffer.isView(string) || isInstance(string, GlobalArrayBuffer)) {\n\t return string.byteLength\n\t }\n\t if (typeof string !== 'string') {\n\t throw new TypeError(\n\t 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n\t 'Received type ' + typeof string\n\t )\n\t }\n\n\t const len = string.length;\n\t const mustMatch = (arguments.length > 2 && arguments[2] === true);\n\t if (!mustMatch && len === 0) return 0\n\n\t // Use a for loop to avoid recursion\n\t let loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t return len\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8ToBytes(string).length\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return len * 2\n\t case 'hex':\n\t return len >>> 1\n\t case 'base64':\n\t return base64ToBytes(string).length\n\t default:\n\t if (loweredCase) {\n\t return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n\t }\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\tBuffer.byteLength = byteLength;\n\n\tfunction slowToString (encoding, start, end) {\n\t let loweredCase = false;\n\n\t // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n\t // property of a typed array.\n\n\t // This behaves neither like String nor Uint8Array in that we set start/end\n\t // to their upper/lower bounds if the value passed is out of range.\n\t // undefined is handled specially as per ECMA-262 6th Edition,\n\t // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n\t if (start === undefined || start < 0) {\n\t start = 0;\n\t }\n\t // Return early if start > this.length. Done here to prevent potential uint32\n\t // coercion fail below.\n\t if (start > this.length) {\n\t return ''\n\t }\n\n\t if (end === undefined || end > this.length) {\n\t end = this.length;\n\t }\n\n\t if (end <= 0) {\n\t return ''\n\t }\n\n\t // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n\t end >>>= 0;\n\t start >>>= 0;\n\n\t if (end <= start) {\n\t return ''\n\t }\n\n\t if (!encoding) encoding = 'utf8';\n\n\t while (true) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexSlice(this, start, end)\n\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Slice(this, start, end)\n\n\t case 'ascii':\n\t return asciiSlice(this, start, end)\n\n\t case 'latin1':\n\t case 'binary':\n\t return latin1Slice(this, start, end)\n\n\t case 'base64':\n\t return base64Slice(this, start, end)\n\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return utf16leSlice(this, start, end)\n\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t encoding = (encoding + '').toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\n\t// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n\t// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n\t// reliably in a browserify context because there could be multiple different\n\t// copies of the 'buffer' package in use. This method works even for Buffer\n\t// instances that were created from another copy of the `buffer` package.\n\t// See: https://github.com/feross/buffer/issues/154\n\tBuffer.prototype._isBuffer = true;\n\n\tfunction swap (b, n, m) {\n\t const i = b[n];\n\t b[n] = b[m];\n\t b[m] = i;\n\t}\n\n\tBuffer.prototype.swap16 = function swap16 () {\n\t const len = this.length;\n\t if (len % 2 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 16-bits')\n\t }\n\t for (let i = 0; i < len; i += 2) {\n\t swap(this, i, i + 1);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.swap32 = function swap32 () {\n\t const len = this.length;\n\t if (len % 4 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 32-bits')\n\t }\n\t for (let i = 0; i < len; i += 4) {\n\t swap(this, i, i + 3);\n\t swap(this, i + 1, i + 2);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.swap64 = function swap64 () {\n\t const len = this.length;\n\t if (len % 8 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 64-bits')\n\t }\n\t for (let i = 0; i < len; i += 8) {\n\t swap(this, i, i + 7);\n\t swap(this, i + 1, i + 6);\n\t swap(this, i + 2, i + 5);\n\t swap(this, i + 3, i + 4);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.toString = function toString () {\n\t const length = this.length;\n\t if (length === 0) return ''\n\t if (arguments.length === 0) return utf8Slice(this, 0, length)\n\t return slowToString.apply(this, arguments)\n\t};\n\n\tBuffer.prototype.toLocaleString = Buffer.prototype.toString;\n\n\tBuffer.prototype.equals = function equals (b) {\n\t if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n\t if (this === b) return true\n\t return Buffer.compare(this, b) === 0\n\t};\n\n\tBuffer.prototype.inspect = function inspect () {\n\t let str = '';\n\t const max = exports.INSPECT_MAX_BYTES;\n\t str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim();\n\t if (this.length > max) str += ' ... ';\n\t return ''\n\t};\n\tif (customInspectSymbol) {\n\t Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect;\n\t}\n\n\tBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n\t if (isInstance(target, GlobalUint8Array)) {\n\t target = Buffer.from(target, target.offset, target.byteLength);\n\t }\n\t if (!Buffer.isBuffer(target)) {\n\t throw new TypeError(\n\t 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n\t 'Received type ' + (typeof target)\n\t )\n\t }\n\n\t if (start === undefined) {\n\t start = 0;\n\t }\n\t if (end === undefined) {\n\t end = target ? target.length : 0;\n\t }\n\t if (thisStart === undefined) {\n\t thisStart = 0;\n\t }\n\t if (thisEnd === undefined) {\n\t thisEnd = this.length;\n\t }\n\n\t if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n\t throw new RangeError('out of range index')\n\t }\n\n\t if (thisStart >= thisEnd && start >= end) {\n\t return 0\n\t }\n\t if (thisStart >= thisEnd) {\n\t return -1\n\t }\n\t if (start >= end) {\n\t return 1\n\t }\n\n\t start >>>= 0;\n\t end >>>= 0;\n\t thisStart >>>= 0;\n\t thisEnd >>>= 0;\n\n\t if (this === target) return 0\n\n\t let x = thisEnd - thisStart;\n\t let y = end - start;\n\t const len = Math.min(x, y);\n\n\t const thisCopy = this.slice(thisStart, thisEnd);\n\t const targetCopy = target.slice(start, end);\n\n\t for (let i = 0; i < len; ++i) {\n\t if (thisCopy[i] !== targetCopy[i]) {\n\t x = thisCopy[i];\n\t y = targetCopy[i];\n\t break\n\t }\n\t }\n\n\t if (x < y) return -1\n\t if (y < x) return 1\n\t return 0\n\t};\n\n\t// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n\t// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n\t//\n\t// Arguments:\n\t// - buffer - a Buffer to search\n\t// - val - a string, Buffer, or number\n\t// - byteOffset - an index into `buffer`; will be clamped to an int32\n\t// - encoding - an optional encoding, relevant is val is a string\n\t// - dir - true for indexOf, false for lastIndexOf\n\tfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n\t // Empty buffer means no match\n\t if (buffer.length === 0) return -1\n\n\t // Normalize byteOffset\n\t if (typeof byteOffset === 'string') {\n\t encoding = byteOffset;\n\t byteOffset = 0;\n\t } else if (byteOffset > 0x7fffffff) {\n\t byteOffset = 0x7fffffff;\n\t } else if (byteOffset < -0x80000000) {\n\t byteOffset = -0x80000000;\n\t }\n\t byteOffset = +byteOffset; // Coerce to Number.\n\t if (numberIsNaN(byteOffset)) {\n\t // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n\t byteOffset = dir ? 0 : (buffer.length - 1);\n\t }\n\n\t // Normalize byteOffset: negative offsets start from the end of the buffer\n\t if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n\t if (byteOffset >= buffer.length) {\n\t if (dir) return -1\n\t else byteOffset = buffer.length - 1;\n\t } else if (byteOffset < 0) {\n\t if (dir) byteOffset = 0;\n\t else return -1\n\t }\n\n\t // Normalize val\n\t if (typeof val === 'string') {\n\t val = Buffer.from(val, encoding);\n\t }\n\n\t // Finally, search either indexOf (if dir is true) or lastIndexOf\n\t if (Buffer.isBuffer(val)) {\n\t // Special case: looking for empty string/buffer always fails\n\t if (val.length === 0) {\n\t return -1\n\t }\n\t return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n\t } else if (typeof val === 'number') {\n\t val = val & 0xFF; // Search for a byte value [0-255]\n\t if (typeof GlobalUint8Array.prototype.indexOf === 'function') {\n\t if (dir) {\n\t return GlobalUint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n\t } else {\n\t return GlobalUint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n\t }\n\t }\n\t return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n\t }\n\n\t throw new TypeError('val must be string, number or Buffer')\n\t}\n\n\tfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n\t let indexSize = 1;\n\t let arrLength = arr.length;\n\t let valLength = val.length;\n\n\t if (encoding !== undefined) {\n\t encoding = String(encoding).toLowerCase();\n\t if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n\t encoding === 'utf16le' || encoding === 'utf-16le') {\n\t if (arr.length < 2 || val.length < 2) {\n\t return -1\n\t }\n\t indexSize = 2;\n\t arrLength /= 2;\n\t valLength /= 2;\n\t byteOffset /= 2;\n\t }\n\t }\n\n\t function read (buf, i) {\n\t if (indexSize === 1) {\n\t return buf[i]\n\t } else {\n\t return buf.readUInt16BE(i * indexSize)\n\t }\n\t }\n\n\t let i;\n\t if (dir) {\n\t let foundIndex = -1;\n\t for (i = byteOffset; i < arrLength; i++) {\n\t if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n\t if (foundIndex === -1) foundIndex = i;\n\t if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n\t } else {\n\t if (foundIndex !== -1) i -= i - foundIndex;\n\t foundIndex = -1;\n\t }\n\t }\n\t } else {\n\t if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n\t for (i = byteOffset; i >= 0; i--) {\n\t let found = true;\n\t for (let j = 0; j < valLength; j++) {\n\t if (read(arr, i + j) !== read(val, j)) {\n\t found = false;\n\t break\n\t }\n\t }\n\t if (found) return i\n\t }\n\t }\n\n\t return -1\n\t}\n\n\tBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n\t return this.indexOf(val, byteOffset, encoding) !== -1\n\t};\n\n\tBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n\t};\n\n\tBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n\t};\n\n\tfunction hexWrite (buf, string, offset, length) {\n\t offset = Number(offset) || 0;\n\t const remaining = buf.length - offset;\n\t if (!length) {\n\t length = remaining;\n\t } else {\n\t length = Number(length);\n\t if (length > remaining) {\n\t length = remaining;\n\t }\n\t }\n\n\t const strLen = string.length;\n\n\t if (length > strLen / 2) {\n\t length = strLen / 2;\n\t }\n\t let i;\n\t for (i = 0; i < length; ++i) {\n\t const parsed = parseInt(string.substr(i * 2, 2), 16);\n\t if (numberIsNaN(parsed)) return i\n\t buf[offset + i] = parsed;\n\t }\n\t return i\n\t}\n\n\tfunction utf8Write (buf, string, offset, length) {\n\t return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tfunction asciiWrite (buf, string, offset, length) {\n\t return blitBuffer(asciiToBytes(string), buf, offset, length)\n\t}\n\n\tfunction base64Write (buf, string, offset, length) {\n\t return blitBuffer(base64ToBytes(string), buf, offset, length)\n\t}\n\n\tfunction ucs2Write (buf, string, offset, length) {\n\t return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tBuffer.prototype.write = function write (string, offset, length, encoding) {\n\t // Buffer#write(string)\n\t if (offset === undefined) {\n\t encoding = 'utf8';\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, encoding)\n\t } else if (length === undefined && typeof offset === 'string') {\n\t encoding = offset;\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, offset[, length][, encoding])\n\t } else if (isFinite(offset)) {\n\t offset = offset >>> 0;\n\t if (isFinite(length)) {\n\t length = length >>> 0;\n\t if (encoding === undefined) encoding = 'utf8';\n\t } else {\n\t encoding = length;\n\t length = undefined;\n\t }\n\t } else {\n\t throw new Error(\n\t 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n\t )\n\t }\n\n\t const remaining = this.length - offset;\n\t if (length === undefined || length > remaining) length = remaining;\n\n\t if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n\t throw new RangeError('Attempt to write outside buffer bounds')\n\t }\n\n\t if (!encoding) encoding = 'utf8';\n\n\t let loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexWrite(this, string, offset, length)\n\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Write(this, string, offset, length)\n\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t return asciiWrite(this, string, offset, length)\n\n\t case 'base64':\n\t // Warning: maxLength not taken into account in base64Write\n\t return base64Write(this, string, offset, length)\n\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return ucs2Write(this, string, offset, length)\n\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t};\n\n\tBuffer.prototype.toJSON = function toJSON () {\n\t return {\n\t type: 'Buffer',\n\t data: Array.prototype.slice.call(this._arr || this, 0)\n\t }\n\t};\n\n\tfunction base64Slice (buf, start, end) {\n\t if (start === 0 && end === buf.length) {\n\t return base64.fromByteArray(buf)\n\t } else {\n\t return base64.fromByteArray(buf.slice(start, end))\n\t }\n\t}\n\n\tfunction utf8Slice (buf, start, end) {\n\t end = Math.min(buf.length, end);\n\t const res = [];\n\n\t let i = start;\n\t while (i < end) {\n\t const firstByte = buf[i];\n\t let codePoint = null;\n\t let bytesPerSequence = (firstByte > 0xEF)\n\t ? 4\n\t : (firstByte > 0xDF)\n\t ? 3\n\t : (firstByte > 0xBF)\n\t ? 2\n\t : 1;\n\n\t if (i + bytesPerSequence <= end) {\n\t let secondByte, thirdByte, fourthByte, tempCodePoint;\n\n\t switch (bytesPerSequence) {\n\t case 1:\n\t if (firstByte < 0x80) {\n\t codePoint = firstByte;\n\t }\n\t break\n\t case 2:\n\t secondByte = buf[i + 1];\n\t if ((secondByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F);\n\t if (tempCodePoint > 0x7F) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break\n\t case 3:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F);\n\t if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break\n\t case 4:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t fourthByte = buf[i + 3];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F);\n\t if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t }\n\t }\n\n\t if (codePoint === null) {\n\t // we did not generate a valid codePoint so insert a\n\t // replacement char (U+FFFD) and advance only 1 byte\n\t codePoint = 0xFFFD;\n\t bytesPerSequence = 1;\n\t } else if (codePoint > 0xFFFF) {\n\t // encode to utf16 (surrogate pair dance)\n\t codePoint -= 0x10000;\n\t res.push(codePoint >>> 10 & 0x3FF | 0xD800);\n\t codePoint = 0xDC00 | codePoint & 0x3FF;\n\t }\n\n\t res.push(codePoint);\n\t i += bytesPerSequence;\n\t }\n\n\t return decodeCodePointsArray(res)\n\t}\n\n\t// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n\t// the lowest limit is Chrome, with 0x10000 args.\n\t// We go 1 magnitude less, for safety\n\tconst MAX_ARGUMENTS_LENGTH = 0x1000;\n\n\tfunction decodeCodePointsArray (codePoints) {\n\t const len = codePoints.length;\n\t if (len <= MAX_ARGUMENTS_LENGTH) {\n\t return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n\t }\n\n\t // Decode in chunks to avoid \"call stack size exceeded\".\n\t let res = '';\n\t let i = 0;\n\t while (i < len) {\n\t res += String.fromCharCode.apply(\n\t String,\n\t codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n\t );\n\t }\n\t return res\n\t}\n\n\tfunction asciiSlice (buf, start, end) {\n\t let ret = '';\n\t end = Math.min(buf.length, end);\n\n\t for (let i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i] & 0x7F);\n\t }\n\t return ret\n\t}\n\n\tfunction latin1Slice (buf, start, end) {\n\t let ret = '';\n\t end = Math.min(buf.length, end);\n\n\t for (let i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i]);\n\t }\n\t return ret\n\t}\n\n\tfunction hexSlice (buf, start, end) {\n\t const len = buf.length;\n\n\t if (!start || start < 0) start = 0;\n\t if (!end || end < 0 || end > len) end = len;\n\n\t let out = '';\n\t for (let i = start; i < end; ++i) {\n\t out += hexSliceLookupTable[buf[i]];\n\t }\n\t return out\n\t}\n\n\tfunction utf16leSlice (buf, start, end) {\n\t const bytes = buf.slice(start, end);\n\t let res = '';\n\t // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n\t for (let i = 0; i < bytes.length - 1; i += 2) {\n\t res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256));\n\t }\n\t return res\n\t}\n\n\tBuffer.prototype.slice = function slice (start, end) {\n\t const len = this.length;\n\t start = ~~start;\n\t end = end === undefined ? len : ~~end;\n\n\t if (start < 0) {\n\t start += len;\n\t if (start < 0) start = 0;\n\t } else if (start > len) {\n\t start = len;\n\t }\n\n\t if (end < 0) {\n\t end += len;\n\t if (end < 0) end = 0;\n\t } else if (end > len) {\n\t end = len;\n\t }\n\n\t if (end < start) end = start;\n\n\t const newBuf = this.subarray(start, end);\n\t // Return an augmented `Uint8Array` instance\n\t Object.setPrototypeOf(newBuf, Buffer.prototype);\n\n\t return newBuf\n\t};\n\n\t/*\n\t * Need to make sure that buffer isn't trying to write out of bounds.\n\t */\n\tfunction checkOffset (offset, ext, length) {\n\t if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n\t if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n\t}\n\n\tBuffer.prototype.readUintLE =\n\tBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let val = this[offset];\n\t let mul = 1;\n\t let i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\n\t return val\n\t};\n\n\tBuffer.prototype.readUintBE =\n\tBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t checkOffset(offset, byteLength, this.length);\n\t }\n\n\t let val = this[offset + --byteLength];\n\t let mul = 1;\n\t while (byteLength > 0 && (mul *= 0x100)) {\n\t val += this[offset + --byteLength] * mul;\n\t }\n\n\t return val\n\t};\n\n\tBuffer.prototype.readUint8 =\n\tBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t return this[offset]\n\t};\n\n\tBuffer.prototype.readUint16LE =\n\tBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return this[offset] | (this[offset + 1] << 8)\n\t};\n\n\tBuffer.prototype.readUint16BE =\n\tBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return (this[offset] << 8) | this[offset + 1]\n\t};\n\n\tBuffer.prototype.readUint32LE =\n\tBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return ((this[offset]) |\n\t (this[offset + 1] << 8) |\n\t (this[offset + 2] << 16)) +\n\t (this[offset + 3] * 0x1000000)\n\t};\n\n\tBuffer.prototype.readUint32BE =\n\tBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset] * 0x1000000) +\n\t ((this[offset + 1] << 16) |\n\t (this[offset + 2] << 8) |\n\t this[offset + 3])\n\t};\n\n\tBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const lo = first +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 24;\n\n\t const hi = this[++offset] +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t last * 2 ** 24;\n\n\t return BigInt(lo) + (BigInt(hi) << BigInt(32))\n\t});\n\n\tBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const hi = first * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset];\n\n\t const lo = this[++offset] * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t last;\n\n\t return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n\t});\n\n\tBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let val = this[offset];\n\t let mul = 1;\n\t let i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\t mul *= 0x80;\n\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t return val\n\t};\n\n\tBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let i = byteLength;\n\t let mul = 1;\n\t let val = this[offset + --i];\n\t while (i > 0 && (mul *= 0x100)) {\n\t val += this[offset + --i] * mul;\n\t }\n\t mul *= 0x80;\n\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t return val\n\t};\n\n\tBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t if (!(this[offset] & 0x80)) return (this[offset])\n\t return ((0xff - this[offset] + 1) * -1)\n\t};\n\n\tBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t const val = this[offset] | (this[offset + 1] << 8);\n\t return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t const val = this[offset + 1] | (this[offset] << 8);\n\t return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset]) |\n\t (this[offset + 1] << 8) |\n\t (this[offset + 2] << 16) |\n\t (this[offset + 3] << 24)\n\t};\n\n\tBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset] << 24) |\n\t (this[offset + 1] << 16) |\n\t (this[offset + 2] << 8) |\n\t (this[offset + 3])\n\t};\n\n\tBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const val = this[offset + 4] +\n\t this[offset + 5] * 2 ** 8 +\n\t this[offset + 6] * 2 ** 16 +\n\t (last << 24); // Overflow\n\n\t return (BigInt(val) << BigInt(32)) +\n\t BigInt(first +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 24)\n\t});\n\n\tBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const val = (first << 24) + // Overflow\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset];\n\n\t return (BigInt(val) << BigInt(32)) +\n\t BigInt(this[++offset] * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t last)\n\t});\n\n\tBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754$1.read(this, offset, true, 23, 4)\n\t};\n\n\tBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754$1.read(this, offset, false, 23, 4)\n\t};\n\n\tBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754$1.read(this, offset, true, 52, 8)\n\t};\n\n\tBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754$1.read(this, offset, false, 52, 8)\n\t};\n\n\tfunction checkInt (buf, value, offset, ext, max, min) {\n\t if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n\t if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t}\n\n\tBuffer.prototype.writeUintLE =\n\tBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\n\t let mul = 1;\n\t let i = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t this[offset + i] = (value / mul) & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUintBE =\n\tBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\n\t let i = byteLength - 1;\n\t let mul = 1;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t this[offset + i] = (value / mul) & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUint8 =\n\tBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);\n\t this[offset] = (value & 0xff);\n\t return offset + 1\n\t};\n\n\tBuffer.prototype.writeUint16LE =\n\tBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeUint16BE =\n\tBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t this[offset] = (value >>> 8);\n\t this[offset + 1] = (value & 0xff);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeUint32LE =\n\tBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t this[offset + 3] = (value >>> 24);\n\t this[offset + 2] = (value >>> 16);\n\t this[offset + 1] = (value >>> 8);\n\t this[offset] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeUint32BE =\n\tBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t this[offset] = (value >>> 24);\n\t this[offset + 1] = (value >>> 16);\n\t this[offset + 2] = (value >>> 8);\n\t this[offset + 3] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n\t checkIntBI(value, min, max, buf, offset, 7);\n\n\t let lo = Number(value & BigInt(0xffffffff));\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t let hi = Number(value >> BigInt(32) & BigInt(0xffffffff));\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t return offset\n\t}\n\n\tfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n\t checkIntBI(value, min, max, buf, offset, 7);\n\n\t let lo = Number(value & BigInt(0xffffffff));\n\t buf[offset + 7] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 6] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 5] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 4] = lo;\n\t let hi = Number(value >> BigInt(32) & BigInt(0xffffffff));\n\t buf[offset + 3] = hi;\n\t hi = hi >> 8;\n\t buf[offset + 2] = hi;\n\t hi = hi >> 8;\n\t buf[offset + 1] = hi;\n\t hi = hi >> 8;\n\t buf[offset] = hi;\n\t return offset + 8\n\t}\n\n\tBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n\t return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n\t return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t const limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\n\t let i = 0;\n\t let mul = 1;\n\t let sub = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t const limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\n\t let i = byteLength - 1;\n\t let mul = 1;\n\t let sub = 0;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);\n\t if (value < 0) value = 0xff + value + 1;\n\t this[offset] = (value & 0xff);\n\t return offset + 1\n\t};\n\n\tBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t this[offset] = (value >>> 8);\n\t this[offset + 1] = (value & 0xff);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t this[offset + 2] = (value >>> 16);\n\t this[offset + 3] = (value >>> 24);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t if (value < 0) value = 0xffffffff + value + 1;\n\t this[offset] = (value >>> 24);\n\t this[offset + 1] = (value >>> 16);\n\t this[offset + 2] = (value >>> 8);\n\t this[offset + 3] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n\t return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n\t return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n\t});\n\n\tfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t if (offset < 0) throw new RangeError('Index out of range')\n\t}\n\n\tfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 4);\n\t }\n\t ieee754$1.write(buf, value, offset, littleEndian, 23, 4);\n\t return offset + 4\n\t}\n\n\tBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n\t return writeFloat(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n\t return writeFloat(this, value, offset, false, noAssert)\n\t};\n\n\tfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 8);\n\t }\n\t ieee754$1.write(buf, value, offset, littleEndian, 52, 8);\n\t return offset + 8\n\t}\n\n\tBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n\t return writeDouble(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n\t return writeDouble(this, value, offset, false, noAssert)\n\t};\n\n\t// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n\tBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n\t if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n\t if (!start) start = 0;\n\t if (!end && end !== 0) end = this.length;\n\t if (targetStart >= target.length) targetStart = target.length;\n\t if (!targetStart) targetStart = 0;\n\t if (end > 0 && end < start) end = start;\n\n\t // Copy 0 bytes; we're done\n\t if (end === start) return 0\n\t if (target.length === 0 || this.length === 0) return 0\n\n\t // Fatal error conditions\n\t if (targetStart < 0) {\n\t throw new RangeError('targetStart out of bounds')\n\t }\n\t if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n\t if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n\t // Are we oob?\n\t if (end > this.length) end = this.length;\n\t if (target.length - targetStart < end - start) {\n\t end = target.length - targetStart + start;\n\t }\n\n\t const len = end - start;\n\n\t if (this === target && typeof GlobalUint8Array.prototype.copyWithin === 'function') {\n\t // Use built-in when available, missing from IE11\n\t this.copyWithin(targetStart, start, end);\n\t } else {\n\t GlobalUint8Array.prototype.set.call(\n\t target,\n\t this.subarray(start, end),\n\t targetStart\n\t );\n\t }\n\n\t return len\n\t};\n\n\t// Usage:\n\t// buffer.fill(number[, offset[, end]])\n\t// buffer.fill(buffer[, offset[, end]])\n\t// buffer.fill(string[, offset[, end]][, encoding])\n\tBuffer.prototype.fill = function fill (val, start, end, encoding) {\n\t // Handle string cases:\n\t if (typeof val === 'string') {\n\t if (typeof start === 'string') {\n\t encoding = start;\n\t start = 0;\n\t end = this.length;\n\t } else if (typeof end === 'string') {\n\t encoding = end;\n\t end = this.length;\n\t }\n\t if (encoding !== undefined && typeof encoding !== 'string') {\n\t throw new TypeError('encoding must be a string')\n\t }\n\t if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n\t throw new TypeError('Unknown encoding: ' + encoding)\n\t }\n\t if (val.length === 1) {\n\t const code = val.charCodeAt(0);\n\t if ((encoding === 'utf8' && code < 128) ||\n\t encoding === 'latin1') {\n\t // Fast path: If `val` fits into a single byte, use that numeric value.\n\t val = code;\n\t }\n\t }\n\t } else if (typeof val === 'number') {\n\t val = val & 255;\n\t } else if (typeof val === 'boolean') {\n\t val = Number(val);\n\t }\n\n\t // Invalid ranges are not set to a default, so can range check early.\n\t if (start < 0 || this.length < start || this.length < end) {\n\t throw new RangeError('Out of range index')\n\t }\n\n\t if (end <= start) {\n\t return this\n\t }\n\n\t start = start >>> 0;\n\t end = end === undefined ? this.length : end >>> 0;\n\n\t if (!val) val = 0;\n\n\t let i;\n\t if (typeof val === 'number') {\n\t for (i = start; i < end; ++i) {\n\t this[i] = val;\n\t }\n\t } else {\n\t const bytes = Buffer.isBuffer(val)\n\t ? val\n\t : Buffer.from(val, encoding);\n\t const len = bytes.length;\n\t if (len === 0) {\n\t throw new TypeError('The value \"' + val +\n\t '\" is invalid for argument \"value\"')\n\t }\n\t for (i = 0; i < end - start; ++i) {\n\t this[i + start] = bytes[i % len];\n\t }\n\t }\n\n\t return this\n\t};\n\n\t// CUSTOM ERRORS\n\t// =============\n\n\t// Simplified versions from Node, changed for Buffer-only usage\n\tconst errors = {};\n\tfunction E (sym, getMessage, Base) {\n\t errors[sym] = class NodeError extends Base {\n\t constructor () {\n\t super();\n\n\t Object.defineProperty(this, 'message', {\n\t value: getMessage.apply(this, arguments),\n\t writable: true,\n\t configurable: true\n\t });\n\n\t // Add the error code to the name to include it in the stack trace.\n\t this.name = `${this.name} [${sym}]`;\n\t // Access the stack to generate the error message including the error code\n\t // from the name.\n\t this.stack; // eslint-disable-line no-unused-expressions\n\t // Reset the name to the actual name.\n\t delete this.name;\n\t }\n\n\t get code () {\n\t return sym\n\t }\n\n\t set code (value) {\n\t Object.defineProperty(this, 'code', {\n\t configurable: true,\n\t enumerable: true,\n\t value,\n\t writable: true\n\t });\n\t }\n\n\t toString () {\n\t return `${this.name} [${sym}]: ${this.message}`\n\t }\n\t };\n\t}\n\n\tE('ERR_BUFFER_OUT_OF_BOUNDS',\n\t function (name) {\n\t if (name) {\n\t return `${name} is outside of buffer bounds`\n\t }\n\n\t return 'Attempt to access memory outside buffer bounds'\n\t }, RangeError);\n\tE('ERR_INVALID_ARG_TYPE',\n\t function (name, actual) {\n\t return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n\t }, TypeError);\n\tE('ERR_OUT_OF_RANGE',\n\t function (str, range, input) {\n\t let msg = `The value of \"${str}\" is out of range.`;\n\t let received = input;\n\t if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n\t received = addNumericalSeparator(String(input));\n\t } else if (typeof input === 'bigint') {\n\t received = String(input);\n\t if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n\t received = addNumericalSeparator(received);\n\t }\n\t received += 'n';\n\t }\n\t msg += ` It must be ${range}. Received ${received}`;\n\t return msg\n\t }, RangeError);\n\n\tfunction addNumericalSeparator (val) {\n\t let res = '';\n\t let i = val.length;\n\t const start = val[0] === '-' ? 1 : 0;\n\t for (; i >= start + 4; i -= 3) {\n\t res = `_${val.slice(i - 3, i)}${res}`;\n\t }\n\t return `${val.slice(0, i)}${res}`\n\t}\n\n\t// CHECK FUNCTIONS\n\t// ===============\n\n\tfunction checkBounds (buf, offset, byteLength) {\n\t validateNumber(offset, 'offset');\n\t if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n\t boundsError(offset, buf.length - (byteLength + 1));\n\t }\n\t}\n\n\tfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n\t if (value > max || value < min) {\n\t const n = typeof min === 'bigint' ? 'n' : '';\n\t let range;\n\t if (byteLength > 3) {\n\t if (min === 0 || min === BigInt(0)) {\n\t range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`;\n\t } else {\n\t range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n\t `${(byteLength + 1) * 8 - 1}${n}`;\n\t }\n\t } else {\n\t range = `>= ${min}${n} and <= ${max}${n}`;\n\t }\n\t throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n\t }\n\t checkBounds(buf, offset, byteLength);\n\t}\n\n\tfunction validateNumber (value, name) {\n\t if (typeof value !== 'number') {\n\t throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n\t }\n\t}\n\n\tfunction boundsError (value, length, type) {\n\t if (Math.floor(value) !== value) {\n\t validateNumber(value, type);\n\t throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n\t }\n\n\t if (length < 0) {\n\t throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n\t }\n\n\t throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n\t `>= ${type ? 1 : 0} and <= ${length}`,\n\t value)\n\t}\n\n\t// HELPER FUNCTIONS\n\t// ================\n\n\tconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n\n\tfunction base64clean (str) {\n\t // Node takes equal signs as end of the Base64 encoding\n\t str = str.split('=')[0];\n\t // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n\t str = str.trim().replace(INVALID_BASE64_RE, '');\n\t // Node converts strings with length < 2 to ''\n\t if (str.length < 2) return ''\n\t // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n\t while (str.length % 4 !== 0) {\n\t str = str + '=';\n\t }\n\t return str\n\t}\n\n\tfunction utf8ToBytes (string, units) {\n\t units = units || Infinity;\n\t let codePoint;\n\t const length = string.length;\n\t let leadSurrogate = null;\n\t const bytes = [];\n\n\t for (let i = 0; i < length; ++i) {\n\t codePoint = string.charCodeAt(i);\n\n\t // is surrogate component\n\t if (codePoint > 0xD7FF && codePoint < 0xE000) {\n\t // last char was a lead\n\t if (!leadSurrogate) {\n\t // no lead yet\n\t if (codePoint > 0xDBFF) {\n\t // unexpected trail\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t } else if (i + 1 === length) {\n\t // unpaired lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t }\n\n\t // valid lead\n\t leadSurrogate = codePoint;\n\n\t continue\n\t }\n\n\t // 2 leads in a row\n\t if (codePoint < 0xDC00) {\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t leadSurrogate = codePoint;\n\t continue\n\t }\n\n\t // valid surrogate pair\n\t codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n\t } else if (leadSurrogate) {\n\t // valid bmp char, but last char was a lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t }\n\n\t leadSurrogate = null;\n\n\t // encode utf8\n\t if (codePoint < 0x80) {\n\t if ((units -= 1) < 0) break\n\t bytes.push(codePoint);\n\t } else if (codePoint < 0x800) {\n\t if ((units -= 2) < 0) break\n\t bytes.push(\n\t codePoint >> 0x6 | 0xC0,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x10000) {\n\t if ((units -= 3) < 0) break\n\t bytes.push(\n\t codePoint >> 0xC | 0xE0,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x110000) {\n\t if ((units -= 4) < 0) break\n\t bytes.push(\n\t codePoint >> 0x12 | 0xF0,\n\t codePoint >> 0xC & 0x3F | 0x80,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else {\n\t throw new Error('Invalid code point')\n\t }\n\t }\n\n\t return bytes\n\t}\n\n\tfunction asciiToBytes (str) {\n\t const byteArray = [];\n\t for (let i = 0; i < str.length; ++i) {\n\t // Node's code seems to be doing this and not & 0x7F..\n\t byteArray.push(str.charCodeAt(i) & 0xFF);\n\t }\n\t return byteArray\n\t}\n\n\tfunction utf16leToBytes (str, units) {\n\t let c, hi, lo;\n\t const byteArray = [];\n\t for (let i = 0; i < str.length; ++i) {\n\t if ((units -= 2) < 0) break\n\n\t c = str.charCodeAt(i);\n\t hi = c >> 8;\n\t lo = c % 256;\n\t byteArray.push(lo);\n\t byteArray.push(hi);\n\t }\n\n\t return byteArray\n\t}\n\n\tfunction base64ToBytes (str) {\n\t return base64.toByteArray(base64clean(str))\n\t}\n\n\tfunction blitBuffer (src, dst, offset, length) {\n\t let i;\n\t for (i = 0; i < length; ++i) {\n\t if ((i + offset >= dst.length) || (i >= src.length)) break\n\t dst[i + offset] = src[i];\n\t }\n\t return i\n\t}\n\n\t// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n\t// the `instanceof` check but they should be treated as of that type.\n\t// See: https://github.com/feross/buffer/issues/166\n\tfunction isInstance (obj, type) {\n\t return obj instanceof type ||\n\t (obj != null && obj.constructor != null && obj.constructor.name != null &&\n\t obj.constructor.name === type.name)\n\t}\n\tfunction numberIsNaN (obj) {\n\t // For IE11 support\n\t return obj !== obj // eslint-disable-line no-self-compare\n\t}\n\n\t// Create lookup table for `toString('hex')`\n\t// See: https://github.com/feross/buffer/issues/219\n\tconst hexSliceLookupTable = (function () {\n\t const alphabet = '0123456789abcdef';\n\t const table = new Array(256);\n\t for (let i = 0; i < 16; ++i) {\n\t const i16 = i * 16;\n\t for (let j = 0; j < 16; ++j) {\n\t table[i16 + j] = alphabet[i] + alphabet[j];\n\t }\n\t }\n\t return table\n\t})();\n\n\t// Return not function with Error if BigInt not supported\n\tfunction defineBigIntMethod (fn) {\n\t return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n\t}\n\n\tfunction BufferBigIntNotDefined () {\n\t throw new Error('BigInt not supported')\n\t} \n} (buffer));\n\nconst Buffer = buffer.Buffer;\n\nconst Blob = buffer.Blob;\nconst BlobOptions = buffer.BlobOptions;\nconst Buffer$1 = buffer.Buffer;\nconst File = buffer.File;\nconst FileOptions = buffer.FileOptions;\nconst INSPECT_MAX_BYTES = buffer.INSPECT_MAX_BYTES;\nconst SlowBuffer = buffer.SlowBuffer;\nconst TranscodeEncoding = buffer.TranscodeEncoding;\nconst atob = buffer.atob;\nconst btoa = buffer.btoa;\nconst constants = buffer.constants;\nconst isAscii = buffer.isAscii;\nconst isUtf8 = buffer.isUtf8;\nconst kMaxLength = buffer.kMaxLength;\nconst kStringMaxLength = buffer.kStringMaxLength;\nconst resolveObjectURL = buffer.resolveObjectURL;\nconst transcode = buffer.transcode;\nexport { Blob, BlobOptions, Buffer$1 as Buffer, File, FileOptions, INSPECT_MAX_BYTES, SlowBuffer, TranscodeEncoding, atob, btoa, constants, Buffer as default, isAscii, isUtf8, kMaxLength, kStringMaxLength, resolveObjectURL, transcode };\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n let {responseType, withXSRFToken} = config;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let contentType;\n\n if (utils.isFormData(requestData)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else if ((contentType = requestHeaders.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n requestHeaders.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if(platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(config));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(fullPath))) {\n // Add xsrf header\n const xsrfValue = config.xsrfHeaderName && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.6.8\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","function number(n) {\n if (!Number.isSafeInteger(n) || n < 0)\n throw new Error(`Wrong positive integer: ${n}`);\n}\nfunction bool(b) {\n if (typeof b !== 'boolean')\n throw new Error(`Expected boolean, not ${b}`);\n}\n// copied from utils\nfunction isBytes(a) {\n return (a instanceof Uint8Array ||\n (a != null && typeof a === 'object' && a.constructor.name === 'Uint8Array'));\n}\nfunction bytes(b, ...lengths) {\n if (!isBytes(b))\n throw new Error('Expected Uint8Array');\n if (lengths.length > 0 && !lengths.includes(b.length))\n throw new Error(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`);\n}\nfunction hash(hash) {\n if (typeof hash !== 'function' || typeof hash.create !== 'function')\n throw new Error('Hash should be wrapped by utils.wrapConstructor');\n number(hash.outputLen);\n number(hash.blockLen);\n}\nfunction exists(instance, checkFinished = true) {\n if (instance.destroyed)\n throw new Error('Hash instance has been destroyed');\n if (checkFinished && instance.finished)\n throw new Error('Hash#digest() has already been called');\n}\nfunction output(out, instance) {\n bytes(out);\n const min = instance.outputLen;\n if (out.length < min) {\n throw new Error(`digestInto() expects output buffer of length at least ${min}`);\n }\n}\nexport { number, bool, bytes, hash, exists, output };\nconst assert = { number, bool, bytes, hash, exists, output };\nexport default assert;\n//# sourceMappingURL=_assert.js.map","const U32_MASK64 = /* @__PURE__ */ BigInt(2 ** 32 - 1);\nconst _32n = /* @__PURE__ */ BigInt(32);\n// We are not using BigUint64Array, because they are extremely slow as per 2022\nfunction fromBig(n, le = false) {\n if (le)\n return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };\n return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };\n}\nfunction split(lst, le = false) {\n let Ah = new Uint32Array(lst.length);\n let Al = new Uint32Array(lst.length);\n for (let i = 0; i < lst.length; i++) {\n const { h, l } = fromBig(lst[i], le);\n [Ah[i], Al[i]] = [h, l];\n }\n return [Ah, Al];\n}\nconst toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);\n// for Shift in [0, 32)\nconst shrSH = (h, _l, s) => h >>> s;\nconst shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in [1, 32)\nconst rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s));\nconst rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32));\nconst rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s));\n// Right rotate for shift===32 (just swaps l&h)\nconst rotr32H = (_h, l) => l;\nconst rotr32L = (h, _l) => h;\n// Left rotate for Shift in [1, 32)\nconst rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s));\nconst rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s));\n// Left rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s));\nconst rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s));\n// JS uses 32-bit signed integers for bitwise operations which means we cannot\n// simple take carry out of low bit sum by shift, we need to use division.\nfunction add(Ah, Al, Bh, Bl) {\n const l = (Al >>> 0) + (Bl >>> 0);\n return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };\n}\n// Addition with more than 2 elements\nconst add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);\nconst add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;\nconst add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);\nconst add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;\nconst add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);\nconst add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;\n// prettier-ignore\nexport { fromBig, split, toBig, shrSH, shrSL, rotrSH, rotrSL, rotrBH, rotrBL, rotr32H, rotr32L, rotlSH, rotlSL, rotlBH, rotlBL, add, add3L, add3H, add4L, add4H, add5H, add5L, };\n// prettier-ignore\nconst u64 = {\n fromBig, split, toBig,\n shrSH, shrSL,\n rotrSH, rotrSL, rotrBH, rotrBL,\n rotr32H, rotr32L,\n rotlSH, rotlSL, rotlBH, rotlBL,\n add, add3L, add3H, add4L, add4H, add5H, add5L,\n};\nexport default u64;\n//# sourceMappingURL=_u64.js.map","/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n// We use WebCrypto aka globalThis.crypto, which exists in browsers and node.js 16+.\n// node.js versions earlier than v19 don't declare it in global scope.\n// For node.js, package.json#exports field mapping rewrites import\n// from `crypto` to `cryptoNode`, which imports native module.\n// Makes the utils un-importable in browsers without a bundler.\n// Once node.js 18 is deprecated (2025-04-30), we can just drop the import.\nimport { crypto } from '@noble/hashes/crypto';\n// Cast array to different type\nexport const u8 = (arr) => new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);\nexport const u32 = (arr) => new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));\nfunction isBytes(a) {\n return (a instanceof Uint8Array ||\n (a != null && typeof a === 'object' && a.constructor.name === 'Uint8Array'));\n}\n// Cast array to view\nexport const createView = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\n// The rotate right (circular right shift) operation for uint32\nexport const rotr = (word, shift) => (word << (32 - shift)) | (word >>> shift);\n// big-endian hardware is rare. Just in case someone still decides to run hashes:\n// early-throw an error because we don't support BE yet.\n// Other libraries would silently corrupt the data instead of throwing an error,\n// when they don't support it.\nexport const isLE = new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44;\nif (!isLE)\n throw new Error('Non little-endian hardware is not supported');\n// Array where index 0xf0 (240) is mapped to string 'f0'\nconst hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, '0'));\n/**\n * @example bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])) // 'cafe0123'\n */\nexport function bytesToHex(bytes) {\n if (!isBytes(bytes))\n throw new Error('Uint8Array expected');\n // pre-caching improves the speed 6x\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n hex += hexes[bytes[i]];\n }\n return hex;\n}\n// We use optimized technique to convert hex string to byte array\nconst asciis = { _0: 48, _9: 57, _A: 65, _F: 70, _a: 97, _f: 102 };\nfunction asciiToBase16(char) {\n if (char >= asciis._0 && char <= asciis._9)\n return char - asciis._0;\n if (char >= asciis._A && char <= asciis._F)\n return char - (asciis._A - 10);\n if (char >= asciis._a && char <= asciis._f)\n return char - (asciis._a - 10);\n return;\n}\n/**\n * @example hexToBytes('cafe0123') // Uint8Array.from([0xca, 0xfe, 0x01, 0x23])\n */\nexport function hexToBytes(hex) {\n if (typeof hex !== 'string')\n throw new Error('hex string expected, got ' + typeof hex);\n const hl = hex.length;\n const al = hl / 2;\n if (hl % 2)\n throw new Error('padded hex string expected, got unpadded hex of length ' + hl);\n const array = new Uint8Array(al);\n for (let ai = 0, hi = 0; ai < al; ai++, hi += 2) {\n const n1 = asciiToBase16(hex.charCodeAt(hi));\n const n2 = asciiToBase16(hex.charCodeAt(hi + 1));\n if (n1 === undefined || n2 === undefined) {\n const char = hex[hi] + hex[hi + 1];\n throw new Error('hex string expected, got non-hex character \"' + char + '\" at index ' + hi);\n }\n array[ai] = n1 * 16 + n2;\n }\n return array;\n}\n// There is no setImmediate in browser and setTimeout is slow.\n// call of async fn will return Promise, which will be fullfiled only on\n// next scheduler queue processing step and this is exactly what we need.\nexport const nextTick = async () => { };\n// Returns control to thread each 'tick' ms to avoid blocking\nexport async function asyncLoop(iters, tick, cb) {\n let ts = Date.now();\n for (let i = 0; i < iters; i++) {\n cb(i);\n // Date.now() is not monotonic, so in case if clock goes backwards we return return control too\n const diff = Date.now() - ts;\n if (diff >= 0 && diff < tick)\n continue;\n await nextTick();\n ts += diff;\n }\n}\n/**\n * @example utf8ToBytes('abc') // new Uint8Array([97, 98, 99])\n */\nexport function utf8ToBytes(str) {\n if (typeof str !== 'string')\n throw new Error(`utf8ToBytes expected string, got ${typeof str}`);\n return new Uint8Array(new TextEncoder().encode(str)); // https://bugzil.la/1681809\n}\n/**\n * Normalizes (non-hex) string or Uint8Array to Uint8Array.\n * Warning: when Uint8Array is passed, it would NOT get copied.\n * Keep in mind for future mutable operations.\n */\nexport function toBytes(data) {\n if (typeof data === 'string')\n data = utf8ToBytes(data);\n if (!isBytes(data))\n throw new Error(`expected Uint8Array, got ${typeof data}`);\n return data;\n}\n/**\n * Copies several Uint8Arrays into one.\n */\nexport function concatBytes(...arrays) {\n let sum = 0;\n for (let i = 0; i < arrays.length; i++) {\n const a = arrays[i];\n if (!isBytes(a))\n throw new Error('Uint8Array expected');\n sum += a.length;\n }\n const res = new Uint8Array(sum);\n for (let i = 0, pad = 0; i < arrays.length; i++) {\n const a = arrays[i];\n res.set(a, pad);\n pad += a.length;\n }\n return res;\n}\n// For runtime check if class implements interface\nexport class Hash {\n // Safe version that clones internal state\n clone() {\n return this._cloneInto();\n }\n}\nconst toStr = {}.toString;\nexport function checkOpts(defaults, opts) {\n if (opts !== undefined && toStr.call(opts) !== '[object Object]')\n throw new Error('Options should be object or undefined');\n const merged = Object.assign(defaults, opts);\n return merged;\n}\nexport function wrapConstructor(hashCons) {\n const hashC = (msg) => hashCons().update(toBytes(msg)).digest();\n const tmp = hashCons();\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = () => hashCons();\n return hashC;\n}\nexport function wrapConstructorWithOpts(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\nexport function wrapXOFConstructorWithOpts(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\n/**\n * Secure PRNG. Uses `crypto.getRandomValues`, which defers to OS.\n */\nexport function randomBytes(bytesLength = 32) {\n if (crypto && typeof crypto.getRandomValues === 'function') {\n return crypto.getRandomValues(new Uint8Array(bytesLength));\n }\n throw new Error('crypto.getRandomValues must be defined');\n}\n//# sourceMappingURL=utils.js.map","import { bytes, exists, number, output } from './_assert.js';\nimport { rotlBH, rotlBL, rotlSH, rotlSL, split } from './_u64.js';\nimport { Hash, u32, toBytes, wrapConstructor, wrapXOFConstructorWithOpts, } from './utils.js';\n// SHA3 (keccak) is based on a new design: basically, the internal state is bigger than output size.\n// It's called a sponge function.\n// Various per round constants calculations\nconst [SHA3_PI, SHA3_ROTL, _SHA3_IOTA] = [[], [], []];\nconst _0n = /* @__PURE__ */ BigInt(0);\nconst _1n = /* @__PURE__ */ BigInt(1);\nconst _2n = /* @__PURE__ */ BigInt(2);\nconst _7n = /* @__PURE__ */ BigInt(7);\nconst _256n = /* @__PURE__ */ BigInt(256);\nconst _0x71n = /* @__PURE__ */ BigInt(0x71);\nfor (let round = 0, R = _1n, x = 1, y = 0; round < 24; round++) {\n // Pi\n [x, y] = [y, (2 * x + 3 * y) % 5];\n SHA3_PI.push(2 * (5 * y + x));\n // Rotational\n SHA3_ROTL.push((((round + 1) * (round + 2)) / 2) % 64);\n // Iota\n let t = _0n;\n for (let j = 0; j < 7; j++) {\n R = ((R << _1n) ^ ((R >> _7n) * _0x71n)) % _256n;\n if (R & _2n)\n t ^= _1n << ((_1n << /* @__PURE__ */ BigInt(j)) - _1n);\n }\n _SHA3_IOTA.push(t);\n}\nconst [SHA3_IOTA_H, SHA3_IOTA_L] = /* @__PURE__ */ split(_SHA3_IOTA, true);\n// Left rotation (without 0, 32, 64)\nconst rotlH = (h, l, s) => (s > 32 ? rotlBH(h, l, s) : rotlSH(h, l, s));\nconst rotlL = (h, l, s) => (s > 32 ? rotlBL(h, l, s) : rotlSL(h, l, s));\n// Same as keccakf1600, but allows to skip some rounds\nexport function keccakP(s, rounds = 24) {\n const B = new Uint32Array(5 * 2);\n // NOTE: all indices are x2 since we store state as u32 instead of u64 (bigints to slow in js)\n for (let round = 24 - rounds; round < 24; round++) {\n // Theta θ\n for (let x = 0; x < 10; x++)\n B[x] = s[x] ^ s[x + 10] ^ s[x + 20] ^ s[x + 30] ^ s[x + 40];\n for (let x = 0; x < 10; x += 2) {\n const idx1 = (x + 8) % 10;\n const idx0 = (x + 2) % 10;\n const B0 = B[idx0];\n const B1 = B[idx0 + 1];\n const Th = rotlH(B0, B1, 1) ^ B[idx1];\n const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1];\n for (let y = 0; y < 50; y += 10) {\n s[x + y] ^= Th;\n s[x + y + 1] ^= Tl;\n }\n }\n // Rho (ρ) and Pi (π)\n let curH = s[2];\n let curL = s[3];\n for (let t = 0; t < 24; t++) {\n const shift = SHA3_ROTL[t];\n const Th = rotlH(curH, curL, shift);\n const Tl = rotlL(curH, curL, shift);\n const PI = SHA3_PI[t];\n curH = s[PI];\n curL = s[PI + 1];\n s[PI] = Th;\n s[PI + 1] = Tl;\n }\n // Chi (χ)\n for (let y = 0; y < 50; y += 10) {\n for (let x = 0; x < 10; x++)\n B[x] = s[y + x];\n for (let x = 0; x < 10; x++)\n s[y + x] ^= ~B[(x + 2) % 10] & B[(x + 4) % 10];\n }\n // Iota (ι)\n s[0] ^= SHA3_IOTA_H[round];\n s[1] ^= SHA3_IOTA_L[round];\n }\n B.fill(0);\n}\nexport class Keccak extends Hash {\n // NOTE: we accept arguments in bytes instead of bits here.\n constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) {\n super();\n this.blockLen = blockLen;\n this.suffix = suffix;\n this.outputLen = outputLen;\n this.enableXOF = enableXOF;\n this.rounds = rounds;\n this.pos = 0;\n this.posOut = 0;\n this.finished = false;\n this.destroyed = false;\n // Can be passed from user as dkLen\n number(outputLen);\n // 1600 = 5x5 matrix of 64bit. 1600 bits === 200 bytes\n if (0 >= this.blockLen || this.blockLen >= 200)\n throw new Error('Sha3 supports only keccak-f1600 function');\n this.state = new Uint8Array(200);\n this.state32 = u32(this.state);\n }\n keccak() {\n keccakP(this.state32, this.rounds);\n this.posOut = 0;\n this.pos = 0;\n }\n update(data) {\n exists(this);\n const { blockLen, state } = this;\n data = toBytes(data);\n const len = data.length;\n for (let pos = 0; pos < len;) {\n const take = Math.min(blockLen - this.pos, len - pos);\n for (let i = 0; i < take; i++)\n state[this.pos++] ^= data[pos++];\n if (this.pos === blockLen)\n this.keccak();\n }\n return this;\n }\n finish() {\n if (this.finished)\n return;\n this.finished = true;\n const { state, suffix, pos, blockLen } = this;\n // Do the padding\n state[pos] ^= suffix;\n if ((suffix & 0x80) !== 0 && pos === blockLen - 1)\n this.keccak();\n state[blockLen - 1] ^= 0x80;\n this.keccak();\n }\n writeInto(out) {\n exists(this, false);\n bytes(out);\n this.finish();\n const bufferOut = this.state;\n const { blockLen } = this;\n for (let pos = 0, len = out.length; pos < len;) {\n if (this.posOut >= blockLen)\n this.keccak();\n const take = Math.min(blockLen - this.posOut, len - pos);\n out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos);\n this.posOut += take;\n pos += take;\n }\n return out;\n }\n xofInto(out) {\n // Sha3/Keccak usage with XOF is probably mistake, only SHAKE instances can do XOF\n if (!this.enableXOF)\n throw new Error('XOF is not possible for this instance');\n return this.writeInto(out);\n }\n xof(bytes) {\n number(bytes);\n return this.xofInto(new Uint8Array(bytes));\n }\n digestInto(out) {\n output(out, this);\n if (this.finished)\n throw new Error('digest() was already called');\n this.writeInto(out);\n this.destroy();\n return out;\n }\n digest() {\n return this.digestInto(new Uint8Array(this.outputLen));\n }\n destroy() {\n this.destroyed = true;\n this.state.fill(0);\n }\n _cloneInto(to) {\n const { blockLen, suffix, outputLen, rounds, enableXOF } = this;\n to || (to = new Keccak(blockLen, suffix, outputLen, enableXOF, rounds));\n to.state32.set(this.state32);\n to.pos = this.pos;\n to.posOut = this.posOut;\n to.finished = this.finished;\n to.rounds = rounds;\n // Suffix can change in cSHAKE\n to.suffix = suffix;\n to.outputLen = outputLen;\n to.enableXOF = enableXOF;\n to.destroyed = this.destroyed;\n return to;\n }\n}\nconst gen = (suffix, blockLen, outputLen) => wrapConstructor(() => new Keccak(blockLen, suffix, outputLen));\nexport const sha3_224 = /* @__PURE__ */ gen(0x06, 144, 224 / 8);\n/**\n * SHA3-256 hash function\n * @param message - that would be hashed\n */\nexport const sha3_256 = /* @__PURE__ */ gen(0x06, 136, 256 / 8);\nexport const sha3_384 = /* @__PURE__ */ gen(0x06, 104, 384 / 8);\nexport const sha3_512 = /* @__PURE__ */ gen(0x06, 72, 512 / 8);\nexport const keccak_224 = /* @__PURE__ */ gen(0x01, 144, 224 / 8);\n/**\n * keccak-256 hash function. Different from SHA3-256.\n * @param message - that would be hashed\n */\nexport const keccak_256 = /* @__PURE__ */ gen(0x01, 136, 256 / 8);\nexport const keccak_384 = /* @__PURE__ */ gen(0x01, 104, 384 / 8);\nexport const keccak_512 = /* @__PURE__ */ gen(0x01, 72, 512 / 8);\nconst genShake = (suffix, blockLen, outputLen) => wrapXOFConstructorWithOpts((opts = {}) => new Keccak(blockLen, suffix, opts.dkLen === undefined ? outputLen : opts.dkLen, true));\nexport const shake128 = /* @__PURE__ */ genShake(0x1f, 168, 128 / 8);\nexport const shake256 = /* @__PURE__ */ genShake(0x1f, 136, 256 / 8);\n//# sourceMappingURL=sha3.js.map","import assert from \"@noble/hashes/_assert\";\nimport { hexToBytes as _hexToBytes } from \"@noble/hashes/utils\";\nconst assertBool = assert.bool;\nconst assertBytes = assert.bytes;\nexport { assertBool, assertBytes };\nexport { bytesToHex, bytesToHex as toHex, concatBytes, createView, utf8ToBytes } from \"@noble/hashes/utils\";\n// buf.toString('utf8') -> bytesToUtf8(buf)\nexport function bytesToUtf8(data) {\n if (!(data instanceof Uint8Array)) {\n throw new TypeError(`bytesToUtf8 expected Uint8Array, got ${typeof data}`);\n }\n return new TextDecoder().decode(data);\n}\nexport function hexToBytes(data) {\n const sliced = data.startsWith(\"0x\") ? data.substring(2) : data;\n return _hexToBytes(sliced);\n}\n// buf.equals(buf2) -> equalsBytes(buf, buf2)\nexport function equalsBytes(a, b) {\n if (a.length !== b.length) {\n return false;\n }\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n}\n// Internal utils\nexport function wrapHash(hash) {\n return (msg) => {\n assert.bytes(msg);\n return hash(msg);\n };\n}\n// TODO(v3): switch away from node crypto, remove this unnecessary variable.\nexport const crypto = (() => {\n const webCrypto = typeof globalThis === \"object\" && \"crypto\" in globalThis ? globalThis.crypto : undefined;\n const nodeRequire = typeof module !== \"undefined\" &&\n typeof module.require === \"function\" &&\n module.require.bind(module);\n return {\n node: nodeRequire && !webCrypto ? nodeRequire(\"crypto\") : undefined,\n web: webCrypto\n };\n})();\n","import { keccak_224, keccak_256, keccak_384, keccak_512 } from \"@noble/hashes/sha3\";\nimport { wrapHash } from \"./utils.js\";\nexport const keccak224 = wrapHash(keccak_224);\nexport const keccak256 = (() => {\n const k = wrapHash(keccak_256);\n k.create = keccak_256.create;\n return k;\n})();\nexport const keccak384 = wrapHash(keccak_384);\nexport const keccak512 = wrapHash(keccak_512);\n","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\n// Response error\nexport const ERR_RESPONSE = 100;\nexport const ERR_INVALID_RESPONSE = 101;\n// Generic errors\nexport const ERR_PARAM = 200;\nexport const ERR_FORMATTERS = 201;\nexport const ERR_METHOD_NOT_IMPLEMENTED = 202;\nexport const ERR_OPERATION_TIMEOUT = 203;\nexport const ERR_OPERATION_ABORT = 204;\nexport const ERR_ABI_ENCODING = 205;\nexport const ERR_EXISTING_PLUGIN_NAMESPACE = 206;\nexport const ERR_INVALID_METHOD_PARAMS = 207;\n// Contract error codes\nexport const ERR_CONTRACT = 300;\nexport const ERR_CONTRACT_RESOLVER_MISSING = 301;\nexport const ERR_CONTRACT_ABI_MISSING = 302;\nexport const ERR_CONTRACT_REQUIRED_CALLBACK = 303;\nexport const ERR_CONTRACT_EVENT_NOT_EXISTS = 304;\nexport const ERR_CONTRACT_RESERVED_EVENT = 305;\nexport const ERR_CONTRACT_MISSING_DEPLOY_DATA = 306;\nexport const ERR_CONTRACT_MISSING_ADDRESS = 307;\nexport const ERR_CONTRACT_MISSING_FROM_ADDRESS = 308;\nexport const ERR_CONTRACT_INSTANTIATION = 309;\nexport const ERR_CONTRACT_EXECUTION_REVERTED = 310;\nexport const ERR_CONTRACT_TX_DATA_AND_INPUT = 311;\n// Transaction error codes\nexport const ERR_TX = 400;\nexport const ERR_TX_REVERT_INSTRUCTION = 401;\nexport const ERR_TX_REVERT_TRANSACTION = 402;\nexport const ERR_TX_NO_CONTRACT_ADDRESS = 403;\nexport const ERR_TX_CONTRACT_NOT_STORED = 404;\nexport const ERR_TX_REVERT_WITHOUT_REASON = 405;\nexport const ERR_TX_OUT_OF_GAS = 406;\nexport const ERR_RAW_TX_UNDEFINED = 407;\nexport const ERR_TX_INVALID_SENDER = 408;\nexport const ERR_TX_INVALID_CALL = 409;\nexport const ERR_TX_MISSING_CUSTOM_CHAIN = 410;\nexport const ERR_TX_MISSING_CUSTOM_CHAIN_ID = 411;\nexport const ERR_TX_CHAIN_ID_MISMATCH = 412;\nexport const ERR_TX_INVALID_CHAIN_INFO = 413;\nexport const ERR_TX_MISSING_CHAIN_INFO = 414;\nexport const ERR_TX_MISSING_GAS = 415;\nexport const ERR_TX_INVALID_LEGACY_GAS = 416;\nexport const ERR_TX_INVALID_FEE_MARKET_GAS = 417;\nexport const ERR_TX_INVALID_FEE_MARKET_GAS_PRICE = 418;\nexport const ERR_TX_INVALID_LEGACY_FEE_MARKET = 419;\nexport const ERR_TX_INVALID_OBJECT = 420;\nexport const ERR_TX_INVALID_NONCE_OR_CHAIN_ID = 421;\nexport const ERR_TX_UNABLE_TO_POPULATE_NONCE = 422;\nexport const ERR_TX_UNSUPPORTED_EIP_1559 = 423;\nexport const ERR_TX_UNSUPPORTED_TYPE = 424;\nexport const ERR_TX_DATA_AND_INPUT = 425;\nexport const ERR_TX_POLLING_TIMEOUT = 426;\nexport const ERR_TX_RECEIPT_MISSING_OR_BLOCKHASH_NULL = 427;\nexport const ERR_TX_RECEIPT_MISSING_BLOCK_NUMBER = 428;\nexport const ERR_TX_LOCAL_WALLET_NOT_AVAILABLE = 429;\nexport const ERR_TX_NOT_FOUND = 430;\nexport const ERR_TX_SEND_TIMEOUT = 431;\nexport const ERR_TX_BLOCK_TIMEOUT = 432;\nexport const ERR_TX_SIGNING = 433;\nexport const ERR_TX_GAS_MISMATCH = 434;\nexport const ERR_TX_CHAIN_MISMATCH = 435;\nexport const ERR_TX_HARDFORK_MISMATCH = 436;\nexport const ERR_TX_INVALID_RECEIVER = 437;\nexport const ERR_TX_REVERT_TRANSACTION_CUSTOM_ERROR = 438;\nexport const ERR_TX_INVALID_PROPERTIES_FOR_TYPE = 439;\nexport const ERR_TX_MISSING_GAS_INNER_ERROR = 440;\nexport const ERR_TX_GAS_MISMATCH_INNER_ERROR = 441;\n// Connection error codes\nexport const ERR_CONN = 500;\nexport const ERR_CONN_INVALID = 501;\nexport const ERR_CONN_TIMEOUT = 502;\nexport const ERR_CONN_NOT_OPEN = 503;\nexport const ERR_CONN_CLOSE = 504;\nexport const ERR_CONN_MAX_ATTEMPTS = 505;\nexport const ERR_CONN_PENDING_REQUESTS = 506;\nexport const ERR_REQ_ALREADY_SENT = 507;\n// Provider error codes\nexport const ERR_PROVIDER = 600;\nexport const ERR_INVALID_PROVIDER = 601;\nexport const ERR_INVALID_CLIENT = 602;\nexport const ERR_SUBSCRIPTION = 603;\nexport const ERR_WS_PROVIDER = 604;\n// Account error codes\nexport const ERR_PRIVATE_KEY_LENGTH = 701;\nexport const ERR_INVALID_PRIVATE_KEY = 702;\nexport const ERR_UNSUPPORTED_KDF = 703;\nexport const ERR_KEY_DERIVATION_FAIL = 704;\nexport const ERR_KEY_VERSION_UNSUPPORTED = 705;\nexport const ERR_INVALID_PASSWORD = 706;\nexport const ERR_IV_LENGTH = 707;\nexport const ERR_INVALID_KEYSTORE = 708;\nexport const ERR_PBKDF2_ITERATIONS = 709;\n// Signature error codes\nexport const ERR_SIGNATURE_FAILED = 801;\nexport const ERR_INVALID_SIGNATURE = 802;\nexport const GENESIS_BLOCK_NUMBER = '0x0';\n// RPC error codes (EIP-1193)\n// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1193.md#provider-errors\nexport const JSONRPC_ERR_REJECTED_REQUEST = 4001;\nexport const JSONRPC_ERR_UNAUTHORIZED = 4100;\nexport const JSONRPC_ERR_UNSUPPORTED_METHOD = 4200;\nexport const JSONRPC_ERR_DISCONNECTED = 4900;\nexport const JSONRPC_ERR_CHAIN_DISCONNECTED = 4901;\n// ENS error codes\nexport const ERR_ENS_CHECK_INTERFACE_SUPPORT = 901;\nexport const ERR_ENS_UNSUPPORTED_NETWORK = 902;\nexport const ERR_ENS_NETWORK_NOT_SYNCED = 903;\n// Utils error codes\nexport const ERR_INVALID_STRING = 1001;\nexport const ERR_INVALID_BYTES = 1002;\nexport const ERR_INVALID_NUMBER = 1003;\nexport const ERR_INVALID_UNIT = 1004;\nexport const ERR_INVALID_ADDRESS = 1005;\nexport const ERR_INVALID_HEX = 1006;\nexport const ERR_INVALID_TYPE = 1007;\nexport const ERR_INVALID_BOOLEAN = 1008;\nexport const ERR_INVALID_UNSIGNED_INTEGER = 1009;\nexport const ERR_INVALID_SIZE = 1010;\nexport const ERR_INVALID_LARGE_VALUE = 1011;\nexport const ERR_INVALID_BLOCK = 1012;\nexport const ERR_INVALID_TYPE_ABI = 1013;\nexport const ERR_INVALID_NIBBLE_WIDTH = 1014;\n// Validation error codes\nexport const ERR_VALIDATION = 1100;\n// Core error codes\nexport const ERR_CORE_HARDFORK_MISMATCH = 1101;\nexport const ERR_CORE_CHAIN_MISMATCH = 1102;\n// Schema error codes\nexport const ERR_SCHEMA_FORMAT = 1200;\n// RPC error codes (EIP-1474)\n// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1474.md\nexport const ERR_RPC_INVALID_JSON = -32700;\nexport const ERR_RPC_INVALID_REQUEST = -32600;\nexport const ERR_RPC_INVALID_METHOD = -32601;\nexport const ERR_RPC_INVALID_PARAMS = -32602;\nexport const ERR_RPC_INTERNAL_ERROR = -32603;\nexport const ERR_RPC_INVALID_INPUT = -32000;\nexport const ERR_RPC_MISSING_RESOURCE = -32001;\nexport const ERR_RPC_UNAVAILABLE_RESOURCE = -32002;\nexport const ERR_RPC_TRANSACTION_REJECTED = -32003;\nexport const ERR_RPC_UNSUPPORTED_METHOD = -32004;\nexport const ERR_RPC_LIMIT_EXCEEDED = -32005;\nexport const ERR_RPC_NOT_SUPPORTED = -32006;\n//# sourceMappingURL=error_codes.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nexport class BaseWeb3Error extends Error {\n constructor(msg, innerError) {\n super(msg);\n this.innerError = innerError;\n this.name = this.constructor.name;\n if (typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(new.target.constructor);\n }\n else {\n this.stack = new Error().stack;\n }\n }\n static convertToString(value, unquotValue = false) {\n // Using \"null\" value intentionally for validation\n // eslint-disable-next-line no-null/no-null\n if (value === null || value === undefined)\n return 'undefined';\n const result = JSON.stringify(value, (_, v) => (typeof v === 'bigint' ? v.toString() : v));\n return unquotValue && ['bigint', 'string'].includes(typeof value)\n ? result.replace(/['\\\\\"]+/g, '')\n : result;\n }\n toJSON() {\n return {\n name: this.name,\n code: this.code,\n message: this.message,\n innerError: this.innerError,\n };\n }\n}\nexport class InvalidValueError extends BaseWeb3Error {\n constructor(value, msg) {\n super(`Invalid value given \"${BaseWeb3Error.convertToString(value, true)}\". Error: ${msg}.`);\n this.name = this.constructor.name;\n }\n}\n//# sourceMappingURL=web3_error_base.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\n/* eslint-disable max-classes-per-file */\nimport { ERR_INVALID_BYTES, ERR_INVALID_NUMBER, ERR_INVALID_ADDRESS, ERR_INVALID_BLOCK, ERR_INVALID_BOOLEAN, ERR_INVALID_HEX, ERR_INVALID_LARGE_VALUE, ERR_INVALID_NIBBLE_WIDTH, ERR_INVALID_SIZE, ERR_INVALID_STRING, ERR_INVALID_TYPE, ERR_INVALID_TYPE_ABI, ERR_INVALID_UNIT, ERR_INVALID_UNSIGNED_INTEGER, } from '../error_codes.js';\nimport { InvalidValueError } from '../web3_error_base.js';\nexport class InvalidBytesError extends InvalidValueError {\n constructor(value) {\n super(value, 'can not parse as byte data');\n this.code = ERR_INVALID_BYTES;\n }\n}\nexport class InvalidNumberError extends InvalidValueError {\n constructor(value) {\n super(value, 'can not parse as number data');\n this.code = ERR_INVALID_NUMBER;\n }\n}\nexport class InvalidAddressError extends InvalidValueError {\n constructor(value) {\n super(value, 'invalid ethereum address');\n this.code = ERR_INVALID_ADDRESS;\n }\n}\nexport class InvalidStringError extends InvalidValueError {\n constructor(value) {\n super(value, 'not a valid string');\n this.code = ERR_INVALID_STRING;\n }\n}\nexport class InvalidUnitError extends InvalidValueError {\n constructor(value) {\n super(value, 'invalid unit');\n this.code = ERR_INVALID_UNIT;\n }\n}\nexport class HexProcessingError extends InvalidValueError {\n constructor(value) {\n super(value, 'can not be converted to hex');\n this.code = ERR_INVALID_HEX;\n }\n}\nexport class NibbleWidthError extends InvalidValueError {\n constructor(value) {\n super(value, 'value greater than the nibble width');\n this.code = ERR_INVALID_NIBBLE_WIDTH;\n }\n}\nexport class InvalidTypeError extends InvalidValueError {\n constructor(value) {\n super(value, 'invalid type, type not supported');\n this.code = ERR_INVALID_TYPE;\n }\n}\nexport class InvalidBooleanError extends InvalidValueError {\n constructor(value) {\n super(value, 'not a valid boolean.');\n this.code = ERR_INVALID_BOOLEAN;\n }\n}\nexport class InvalidUnsignedIntegerError extends InvalidValueError {\n constructor(value) {\n super(value, 'not a valid unsigned integer.');\n this.code = ERR_INVALID_UNSIGNED_INTEGER;\n }\n}\nexport class InvalidSizeError extends InvalidValueError {\n constructor(value) {\n super(value, 'invalid size given.');\n this.code = ERR_INVALID_SIZE;\n }\n}\nexport class InvalidLargeValueError extends InvalidValueError {\n constructor(value) {\n super(value, 'value is larger than size.');\n this.code = ERR_INVALID_LARGE_VALUE;\n }\n}\nexport class InvalidBlockError extends InvalidValueError {\n constructor(value) {\n super(value, 'invalid string given');\n this.code = ERR_INVALID_BLOCK;\n }\n}\nexport class InvalidTypeAbiInputError extends InvalidValueError {\n constructor(value) {\n super(value, 'components found but type is not tuple');\n this.code = ERR_INVALID_TYPE_ABI;\n }\n}\n//# sourceMappingURL=utils_errors.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { ERR_RPC_INTERNAL_ERROR, ERR_RPC_INVALID_INPUT, ERR_RPC_INVALID_JSON, ERR_RPC_INVALID_METHOD, ERR_RPC_INVALID_PARAMS, ERR_RPC_INVALID_REQUEST, ERR_RPC_LIMIT_EXCEEDED, ERR_RPC_MISSING_RESOURCE, ERR_RPC_NOT_SUPPORTED, ERR_RPC_TRANSACTION_REJECTED, ERR_RPC_UNAVAILABLE_RESOURCE, ERR_RPC_UNSUPPORTED_METHOD, JSONRPC_ERR_CHAIN_DISCONNECTED, JSONRPC_ERR_DISCONNECTED, JSONRPC_ERR_REJECTED_REQUEST, JSONRPC_ERR_UNAUTHORIZED, JSONRPC_ERR_UNSUPPORTED_METHOD, } from '../error_codes.js';\n/**\n * A template string for a generic Rpc Error. The `*code*` will be replaced with the code number.\n * Note: consider in next version that a spelling mistake could be corrected for `occured` and the value could be:\n * \t`An Rpc error has occurred with a code of *code*`\n */\nexport const genericRpcErrorMessageTemplate = 'An Rpc error has occured with a code of *code*';\n/* eslint-disable @typescript-eslint/naming-convention */\nexport const RpcErrorMessages = {\n // EIP-1474 & JSON RPC 2.0\n // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1474.md\n [ERR_RPC_INVALID_JSON]: {\n message: 'Parse error',\n description: 'Invalid JSON',\n },\n [ERR_RPC_INVALID_REQUEST]: {\n message: 'Invalid request',\n description: 'JSON is not a valid request object\t',\n },\n [ERR_RPC_INVALID_METHOD]: {\n message: 'Method not found',\n description: 'Method does not exist\t',\n },\n [ERR_RPC_INVALID_PARAMS]: {\n message: 'Invalid params',\n description: 'Invalid method parameters',\n },\n [ERR_RPC_INTERNAL_ERROR]: {\n message: 'Internal error',\n description: 'Internal JSON-RPC error',\n },\n [ERR_RPC_INVALID_INPUT]: {\n message: 'Invalid input',\n description: 'Missing or invalid parameters',\n },\n [ERR_RPC_MISSING_RESOURCE]: {\n message: 'Resource not found',\n description: 'Requested resource not found',\n },\n [ERR_RPC_UNAVAILABLE_RESOURCE]: {\n message: 'Resource unavailable',\n description: 'Requested resource not available',\n },\n [ERR_RPC_TRANSACTION_REJECTED]: {\n message: 'Transaction rejected',\n description: 'Transaction creation failed',\n },\n [ERR_RPC_UNSUPPORTED_METHOD]: {\n message: 'Method not supported',\n description: 'Method is not implemented',\n },\n [ERR_RPC_LIMIT_EXCEEDED]: {\n message: 'Limit exceeded',\n description: 'Request exceeds defined limit',\n },\n [ERR_RPC_NOT_SUPPORTED]: {\n message: 'JSON-RPC version not supported',\n description: 'Version of JSON-RPC protocol is not supported',\n },\n // EIP-1193\n // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1193.md#provider-errors\n [JSONRPC_ERR_REJECTED_REQUEST]: {\n name: 'User Rejected Request',\n message: 'The user rejected the request.',\n },\n [JSONRPC_ERR_UNAUTHORIZED]: {\n name: 'Unauthorized',\n message: 'The requested method and/or account has not been authorized by the user.',\n },\n [JSONRPC_ERR_UNSUPPORTED_METHOD]: {\n name: 'Unsupported Method',\n message: 'The Provider does not support the requested method.',\n },\n [JSONRPC_ERR_DISCONNECTED]: {\n name: 'Disconnected',\n message: 'The Provider is disconnected from all chains.',\n },\n [JSONRPC_ERR_CHAIN_DISCONNECTED]: {\n name: 'Chain Disconnected',\n message: 'The Provider is not connected to the requested chain.',\n },\n // EIP-1193 - CloseEvent\n // https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent/code\n '0-999': {\n name: '',\n message: 'Not used.',\n },\n 1000: {\n name: 'Normal Closure',\n message: 'The connection successfully completed the purpose for which it was created.',\n },\n 1001: {\n name: 'Going Away',\n message: 'The endpoint is going away, either because of a server failure or because the browser is navigating away from the page that opened the connection.',\n },\n 1002: {\n name: 'Protocol error',\n message: 'The endpoint is terminating the connection due to a protocol error.',\n },\n 1003: {\n name: 'Unsupported Data',\n message: 'The connection is being terminated because the endpoint received data of a type it cannot accept. (For example, a text-only endpoint received binary data.)',\n },\n 1004: {\n name: 'Reserved',\n message: 'Reserved. A meaning might be defined in the future.',\n },\n 1005: {\n name: 'No Status Rcvd',\n message: 'Reserved. Indicates that no status code was provided even though one was expected.',\n },\n 1006: {\n name: 'Abnormal Closure',\n message: 'Reserved. Indicates that a connection was closed abnormally (that is, with no close frame being sent) when a status code is expected.',\n },\n 1007: {\n name: 'Invalid frame payload data',\n message: 'The endpoint is terminating the connection because a message was received that contained inconsistent data (e.g., non-UTF-8 data within a text message).',\n },\n 1008: {\n name: 'Policy Violation',\n message: 'The endpoint is terminating the connection because it received a message that violates its policy. This is a generic status code, used when codes 1003 and 1009 are not suitable.',\n },\n 1009: {\n name: 'Message Too Big',\n message: 'The endpoint is terminating the connection because a data frame was received that is too large.',\n },\n 1010: {\n name: 'Mandatory Ext.',\n message: \"The client is terminating the connection because it expected the server to negotiate one or more extension, but the server didn't.\",\n },\n 1011: {\n name: 'Internal Error',\n message: 'The server is terminating the connection because it encountered an unexpected condition that prevented it from fulfilling the request.',\n },\n 1012: {\n name: 'Service Restart',\n message: 'The server is terminating the connection because it is restarting.',\n },\n 1013: {\n name: 'Try Again Later',\n message: 'The server is terminating the connection due to a temporary condition, e.g. it is overloaded and is casting off some of its clients.',\n },\n 1014: {\n name: 'Bad Gateway',\n message: 'The server was acting as a gateway or proxy and received an invalid response from the upstream server. This is similar to 502 HTTP Status Code.',\n },\n 1015: {\n name: 'TLS handshake',\n message: \"Reserved. Indicates that the connection was closed due to a failure to perform a TLS handshake (e.g., the server certificate can't be verified).\",\n },\n '1016-2999': {\n name: '',\n message: 'For definition by future revisions of the WebSocket Protocol specification, and for definition by extension specifications.',\n },\n '3000-3999': {\n name: '',\n message: 'For use by libraries, frameworks, and applications. These status codes are registered directly with IANA. The interpretation of these codes is undefined by the WebSocket protocol.',\n },\n '4000-4999': {\n name: '',\n message: \"For private use, and thus can't be registered. Such codes can be used by prior agreements between WebSocket applications. The interpretation of these codes is undefined by the WebSocket protocol.\",\n },\n};\n//# sourceMappingURL=rpc_error_messages.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { BaseWeb3Error } from '../web3_error_base.js';\nimport { ERR_RPC_INTERNAL_ERROR, ERR_RPC_INVALID_INPUT, ERR_RPC_INVALID_JSON, ERR_RPC_INVALID_METHOD, ERR_RPC_INVALID_PARAMS, ERR_RPC_INVALID_REQUEST, ERR_RPC_LIMIT_EXCEEDED, ERR_RPC_MISSING_RESOURCE, ERR_RPC_NOT_SUPPORTED, ERR_RPC_TRANSACTION_REJECTED, ERR_RPC_UNAVAILABLE_RESOURCE, ERR_RPC_UNSUPPORTED_METHOD, } from '../error_codes.js';\nimport { RpcErrorMessages, genericRpcErrorMessageTemplate } from './rpc_error_messages.js';\nexport class RpcError extends BaseWeb3Error {\n constructor(rpcError, message) {\n super(message !== null && message !== void 0 ? message : genericRpcErrorMessageTemplate.replace('*code*', rpcError.error.code.toString()));\n this.code = rpcError.error.code;\n this.id = rpcError.id;\n this.jsonrpc = rpcError.jsonrpc;\n this.jsonRpcError = rpcError.error;\n }\n toJSON() {\n return Object.assign(Object.assign({}, super.toJSON()), { error: this.jsonRpcError, id: this.id, jsonRpc: this.jsonrpc });\n }\n}\nexport class EIP1193ProviderRpcError extends BaseWeb3Error {\n constructor(code, data) {\n var _a, _b, _c, _d;\n if (!code) {\n // this case should ideally not happen\n super();\n }\n else if ((_a = RpcErrorMessages[code]) === null || _a === void 0 ? void 0 : _a.message) {\n super(RpcErrorMessages[code].message);\n }\n else {\n // Retrieve the status code object for the given code from the table, by searching through the appropriate range\n const statusCodeRange = Object.keys(RpcErrorMessages).find(statusCode => typeof statusCode === 'string' &&\n code >= parseInt(statusCode.split('-')[0], 10) &&\n code <= parseInt(statusCode.split('-')[1], 10));\n super((_c = (_b = RpcErrorMessages[statusCodeRange !== null && statusCodeRange !== void 0 ? statusCodeRange : '']) === null || _b === void 0 ? void 0 : _b.message) !== null && _c !== void 0 ? _c : genericRpcErrorMessageTemplate.replace('*code*', (_d = code === null || code === void 0 ? void 0 : code.toString()) !== null && _d !== void 0 ? _d : '\"\"'));\n }\n this.code = code;\n this.data = data;\n }\n}\nexport class ParseError extends RpcError {\n constructor(rpcError) {\n super(rpcError, RpcErrorMessages[ERR_RPC_INVALID_JSON].message);\n this.code = ERR_RPC_INVALID_JSON;\n }\n}\nexport class InvalidRequestError extends RpcError {\n constructor(rpcError) {\n super(rpcError, RpcErrorMessages[ERR_RPC_INVALID_REQUEST].message);\n this.code = ERR_RPC_INVALID_REQUEST;\n }\n}\nexport class MethodNotFoundError extends RpcError {\n constructor(rpcError) {\n super(rpcError, RpcErrorMessages[ERR_RPC_INVALID_METHOD].message);\n this.code = ERR_RPC_INVALID_METHOD;\n }\n}\nexport class InvalidParamsError extends RpcError {\n constructor(rpcError) {\n super(rpcError, RpcErrorMessages[ERR_RPC_INVALID_PARAMS].message);\n this.code = ERR_RPC_INVALID_PARAMS;\n }\n}\nexport class InternalError extends RpcError {\n constructor(rpcError) {\n super(rpcError, RpcErrorMessages[ERR_RPC_INTERNAL_ERROR].message);\n this.code = ERR_RPC_INTERNAL_ERROR;\n }\n}\nexport class InvalidInputError extends RpcError {\n constructor(rpcError) {\n super(rpcError, RpcErrorMessages[ERR_RPC_INVALID_INPUT].message);\n this.code = ERR_RPC_INVALID_INPUT;\n }\n}\nexport class MethodNotSupported extends RpcError {\n constructor(rpcError) {\n super(rpcError, RpcErrorMessages[ERR_RPC_UNSUPPORTED_METHOD].message);\n this.code = ERR_RPC_UNSUPPORTED_METHOD;\n }\n}\nexport class ResourceUnavailableError extends RpcError {\n constructor(rpcError) {\n super(rpcError, RpcErrorMessages[ERR_RPC_UNAVAILABLE_RESOURCE].message);\n this.code = ERR_RPC_UNAVAILABLE_RESOURCE;\n }\n}\nexport class ResourcesNotFoundError extends RpcError {\n constructor(rpcError) {\n super(rpcError, RpcErrorMessages[ERR_RPC_MISSING_RESOURCE].message);\n this.code = ERR_RPC_MISSING_RESOURCE;\n }\n}\nexport class VersionNotSupportedError extends RpcError {\n constructor(rpcError) {\n super(rpcError, RpcErrorMessages[ERR_RPC_NOT_SUPPORTED].message);\n this.code = ERR_RPC_NOT_SUPPORTED;\n }\n}\nexport class TransactionRejectedError extends RpcError {\n constructor(rpcError) {\n super(rpcError, RpcErrorMessages[ERR_RPC_TRANSACTION_REJECTED].message);\n this.code = ERR_RPC_TRANSACTION_REJECTED;\n }\n}\nexport class LimitExceededError extends RpcError {\n constructor(rpcError) {\n super(rpcError, RpcErrorMessages[ERR_RPC_LIMIT_EXCEEDED].message);\n this.code = ERR_RPC_LIMIT_EXCEEDED;\n }\n}\nexport const rpcErrorsMap = new Map();\nrpcErrorsMap.set(ERR_RPC_INVALID_JSON, { error: ParseError });\nrpcErrorsMap.set(ERR_RPC_INVALID_REQUEST, {\n error: InvalidRequestError,\n});\nrpcErrorsMap.set(ERR_RPC_INVALID_METHOD, {\n error: MethodNotFoundError,\n});\nrpcErrorsMap.set(ERR_RPC_INVALID_PARAMS, { error: InvalidParamsError });\nrpcErrorsMap.set(ERR_RPC_INTERNAL_ERROR, { error: InternalError });\nrpcErrorsMap.set(ERR_RPC_INVALID_INPUT, { error: InvalidInputError });\nrpcErrorsMap.set(ERR_RPC_UNSUPPORTED_METHOD, {\n error: MethodNotSupported,\n});\nrpcErrorsMap.set(ERR_RPC_UNAVAILABLE_RESOURCE, {\n error: ResourceUnavailableError,\n});\nrpcErrorsMap.set(ERR_RPC_TRANSACTION_REJECTED, {\n error: TransactionRejectedError,\n});\nrpcErrorsMap.set(ERR_RPC_MISSING_RESOURCE, {\n error: ResourcesNotFoundError,\n});\nrpcErrorsMap.set(ERR_RPC_NOT_SUPPORTED, {\n error: VersionNotSupportedError,\n});\nrpcErrorsMap.set(ERR_RPC_LIMIT_EXCEEDED, { error: LimitExceededError });\n//# sourceMappingURL=rpc_errors.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { ERR_SCHEMA_FORMAT } from '../error_codes.js';\nimport { BaseWeb3Error } from '../web3_error_base.js';\nexport class SchemaFormatError extends BaseWeb3Error {\n constructor(type) {\n super(`Format for the type ${type} is unsupported`);\n this.type = type;\n this.code = ERR_SCHEMA_FORMAT;\n }\n toJSON() {\n return Object.assign(Object.assign({}, super.toJSON()), { type: this.type });\n }\n}\n//# sourceMappingURL=schema_errors.js.map","var util;\n(function (util) {\n util.assertEqual = (val) => val;\n function assertIs(_arg) { }\n util.assertIs = assertIs;\n function assertNever(_x) {\n throw new Error();\n }\n util.assertNever = assertNever;\n util.arrayToEnum = (items) => {\n const obj = {};\n for (const item of items) {\n obj[item] = item;\n }\n return obj;\n };\n util.getValidEnumValues = (obj) => {\n const validKeys = util.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== \"number\");\n const filtered = {};\n for (const k of validKeys) {\n filtered[k] = obj[k];\n }\n return util.objectValues(filtered);\n };\n util.objectValues = (obj) => {\n return util.objectKeys(obj).map(function (e) {\n return obj[e];\n });\n };\n util.objectKeys = typeof Object.keys === \"function\" // eslint-disable-line ban/ban\n ? (obj) => Object.keys(obj) // eslint-disable-line ban/ban\n : (object) => {\n const keys = [];\n for (const key in object) {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n keys.push(key);\n }\n }\n return keys;\n };\n util.find = (arr, checker) => {\n for (const item of arr) {\n if (checker(item))\n return item;\n }\n return undefined;\n };\n util.isInteger = typeof Number.isInteger === \"function\"\n ? (val) => Number.isInteger(val) // eslint-disable-line ban/ban\n : (val) => typeof val === \"number\" && isFinite(val) && Math.floor(val) === val;\n function joinValues(array, separator = \" | \") {\n return array\n .map((val) => (typeof val === \"string\" ? `'${val}'` : val))\n .join(separator);\n }\n util.joinValues = joinValues;\n util.jsonStringifyReplacer = (_, value) => {\n if (typeof value === \"bigint\") {\n return value.toString();\n }\n return value;\n };\n})(util || (util = {}));\nvar objectUtil;\n(function (objectUtil) {\n objectUtil.mergeShapes = (first, second) => {\n return {\n ...first,\n ...second, // second overwrites first\n };\n };\n})(objectUtil || (objectUtil = {}));\nconst ZodParsedType = util.arrayToEnum([\n \"string\",\n \"nan\",\n \"number\",\n \"integer\",\n \"float\",\n \"boolean\",\n \"date\",\n \"bigint\",\n \"symbol\",\n \"function\",\n \"undefined\",\n \"null\",\n \"array\",\n \"object\",\n \"unknown\",\n \"promise\",\n \"void\",\n \"never\",\n \"map\",\n \"set\",\n]);\nconst getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return ZodParsedType.undefined;\n case \"string\":\n return ZodParsedType.string;\n case \"number\":\n return isNaN(data) ? ZodParsedType.nan : ZodParsedType.number;\n case \"boolean\":\n return ZodParsedType.boolean;\n case \"function\":\n return ZodParsedType.function;\n case \"bigint\":\n return ZodParsedType.bigint;\n case \"symbol\":\n return ZodParsedType.symbol;\n case \"object\":\n if (Array.isArray(data)) {\n return ZodParsedType.array;\n }\n if (data === null) {\n return ZodParsedType.null;\n }\n if (data.then &&\n typeof data.then === \"function\" &&\n data.catch &&\n typeof data.catch === \"function\") {\n return ZodParsedType.promise;\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return ZodParsedType.map;\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return ZodParsedType.set;\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return ZodParsedType.date;\n }\n return ZodParsedType.object;\n default:\n return ZodParsedType.unknown;\n }\n};\n\nconst ZodIssueCode = util.arrayToEnum([\n \"invalid_type\",\n \"invalid_literal\",\n \"custom\",\n \"invalid_union\",\n \"invalid_union_discriminator\",\n \"invalid_enum_value\",\n \"unrecognized_keys\",\n \"invalid_arguments\",\n \"invalid_return_type\",\n \"invalid_date\",\n \"invalid_string\",\n \"too_small\",\n \"too_big\",\n \"invalid_intersection_types\",\n \"not_multiple_of\",\n \"not_finite\",\n]);\nconst quotelessJson = (obj) => {\n const json = JSON.stringify(obj, null, 2);\n return json.replace(/\"([^\"]+)\":/g, \"$1:\");\n};\nclass ZodError extends Error {\n constructor(issues) {\n super();\n this.issues = [];\n this.addIssue = (sub) => {\n this.issues = [...this.issues, sub];\n };\n this.addIssues = (subs = []) => {\n this.issues = [...this.issues, ...subs];\n };\n const actualProto = new.target.prototype;\n if (Object.setPrototypeOf) {\n // eslint-disable-next-line ban/ban\n Object.setPrototypeOf(this, actualProto);\n }\n else {\n this.__proto__ = actualProto;\n }\n this.name = \"ZodError\";\n this.issues = issues;\n }\n get errors() {\n return this.issues;\n }\n format(_mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const fieldErrors = { _errors: [] };\n const processError = (error) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\") {\n issue.unionErrors.map(processError);\n }\n else if (issue.code === \"invalid_return_type\") {\n processError(issue.returnTypeError);\n }\n else if (issue.code === \"invalid_arguments\") {\n processError(issue.argumentsError);\n }\n else if (issue.path.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < issue.path.length) {\n const el = issue.path[i];\n const terminal = i === issue.path.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || { _errors: [] };\n // if (typeof el === \"string\") {\n // curr[el] = curr[el] || { _errors: [] };\n // } else if (typeof el === \"number\") {\n // const errorArray: any = [];\n // errorArray._errors = [];\n // curr[el] = curr[el] || errorArray;\n // }\n }\n else {\n curr[el] = curr[el] || { _errors: [] };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n };\n processError(this);\n return fieldErrors;\n }\n toString() {\n return this.message;\n }\n get message() {\n return JSON.stringify(this.issues, util.jsonStringifyReplacer, 2);\n }\n get isEmpty() {\n return this.issues.length === 0;\n }\n flatten(mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of this.issues) {\n if (sub.path.length > 0) {\n fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];\n fieldErrors[sub.path[0]].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n }\n get formErrors() {\n return this.flatten();\n }\n}\nZodError.create = (issues) => {\n const error = new ZodError(issues);\n return error;\n};\n\nconst errorMap = (issue, _ctx) => {\n let message;\n switch (issue.code) {\n case ZodIssueCode.invalid_type:\n if (issue.received === ZodParsedType.undefined) {\n message = \"Required\";\n }\n else {\n message = `Expected ${issue.expected}, received ${issue.received}`;\n }\n break;\n case ZodIssueCode.invalid_literal:\n message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util.jsonStringifyReplacer)}`;\n break;\n case ZodIssueCode.unrecognized_keys:\n message = `Unrecognized key(s) in object: ${util.joinValues(issue.keys, \", \")}`;\n break;\n case ZodIssueCode.invalid_union:\n message = `Invalid input`;\n break;\n case ZodIssueCode.invalid_union_discriminator:\n message = `Invalid discriminator value. Expected ${util.joinValues(issue.options)}`;\n break;\n case ZodIssueCode.invalid_enum_value:\n message = `Invalid enum value. Expected ${util.joinValues(issue.options)}, received '${issue.received}'`;\n break;\n case ZodIssueCode.invalid_arguments:\n message = `Invalid function arguments`;\n break;\n case ZodIssueCode.invalid_return_type:\n message = `Invalid function return type`;\n break;\n case ZodIssueCode.invalid_date:\n message = `Invalid date`;\n break;\n case ZodIssueCode.invalid_string:\n if (typeof issue.validation === \"object\") {\n if (\"includes\" in issue.validation) {\n message = `Invalid input: must include \"${issue.validation.includes}\"`;\n if (typeof issue.validation.position === \"number\") {\n message = `${message} at one or more positions greater than or equal to ${issue.validation.position}`;\n }\n }\n else if (\"startsWith\" in issue.validation) {\n message = `Invalid input: must start with \"${issue.validation.startsWith}\"`;\n }\n else if (\"endsWith\" in issue.validation) {\n message = `Invalid input: must end with \"${issue.validation.endsWith}\"`;\n }\n else {\n util.assertNever(issue.validation);\n }\n }\n else if (issue.validation !== \"regex\") {\n message = `Invalid ${issue.validation}`;\n }\n else {\n message = \"Invalid\";\n }\n break;\n case ZodIssueCode.too_small:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact\n ? `exactly equal to `\n : issue.inclusive\n ? `greater than or equal to `\n : `greater than `}${issue.minimum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact\n ? `exactly equal to `\n : issue.inclusive\n ? `greater than or equal to `\n : `greater than `}${new Date(Number(issue.minimum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodIssueCode.too_big:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `less than or equal to`\n : `less than`} ${issue.maximum}`;\n else if (issue.type === \"bigint\")\n message = `BigInt must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `less than or equal to`\n : `less than`} ${issue.maximum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `smaller than or equal to`\n : `smaller than`} ${new Date(Number(issue.maximum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodIssueCode.custom:\n message = `Invalid input`;\n break;\n case ZodIssueCode.invalid_intersection_types:\n message = `Intersection results could not be merged`;\n break;\n case ZodIssueCode.not_multiple_of:\n message = `Number must be a multiple of ${issue.multipleOf}`;\n break;\n case ZodIssueCode.not_finite:\n message = \"Number must be finite\";\n break;\n default:\n message = _ctx.defaultError;\n util.assertNever(issue);\n }\n return { message };\n};\n\nlet overrideErrorMap = errorMap;\nfunction setErrorMap(map) {\n overrideErrorMap = map;\n}\nfunction getErrorMap() {\n return overrideErrorMap;\n}\n\nconst makeIssue = (params) => {\n const { data, path, errorMaps, issueData } = params;\n const fullPath = [...path, ...(issueData.path || [])];\n const fullIssue = {\n ...issueData,\n path: fullPath,\n };\n let errorMessage = \"\";\n const maps = errorMaps\n .filter((m) => !!m)\n .slice()\n .reverse();\n for (const map of maps) {\n errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message;\n }\n return {\n ...issueData,\n path: fullPath,\n message: issueData.message || errorMessage,\n };\n};\nconst EMPTY_PATH = [];\nfunction addIssueToContext(ctx, issueData) {\n const issue = makeIssue({\n issueData: issueData,\n data: ctx.data,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n getErrorMap(),\n errorMap, // then global default map\n ].filter((x) => !!x),\n });\n ctx.common.issues.push(issue);\n}\nclass ParseStatus {\n constructor() {\n this.value = \"valid\";\n }\n dirty() {\n if (this.value === \"valid\")\n this.value = \"dirty\";\n }\n abort() {\n if (this.value !== \"aborted\")\n this.value = \"aborted\";\n }\n static mergeArray(status, results) {\n const arrayValue = [];\n for (const s of results) {\n if (s.status === \"aborted\")\n return INVALID;\n if (s.status === \"dirty\")\n status.dirty();\n arrayValue.push(s.value);\n }\n return { status: status.value, value: arrayValue };\n }\n static async mergeObjectAsync(status, pairs) {\n const syncPairs = [];\n for (const pair of pairs) {\n syncPairs.push({\n key: await pair.key,\n value: await pair.value,\n });\n }\n return ParseStatus.mergeObjectSync(status, syncPairs);\n }\n static mergeObjectSync(status, pairs) {\n const finalObject = {};\n for (const pair of pairs) {\n const { key, value } = pair;\n if (key.status === \"aborted\")\n return INVALID;\n if (value.status === \"aborted\")\n return INVALID;\n if (key.status === \"dirty\")\n status.dirty();\n if (value.status === \"dirty\")\n status.dirty();\n if (key.value !== \"__proto__\" &&\n (typeof value.value !== \"undefined\" || pair.alwaysSet)) {\n finalObject[key.value] = value.value;\n }\n }\n return { status: status.value, value: finalObject };\n }\n}\nconst INVALID = Object.freeze({\n status: \"aborted\",\n});\nconst DIRTY = (value) => ({ status: \"dirty\", value });\nconst OK = (value) => ({ status: \"valid\", value });\nconst isAborted = (x) => x.status === \"aborted\";\nconst isDirty = (x) => x.status === \"dirty\";\nconst isValid = (x) => x.status === \"valid\";\nconst isAsync = (x) => typeof Promise !== \"undefined\" && x instanceof Promise;\n\nvar errorUtil;\n(function (errorUtil) {\n errorUtil.errToObj = (message) => typeof message === \"string\" ? { message } : message || {};\n errorUtil.toString = (message) => typeof message === \"string\" ? message : message === null || message === void 0 ? void 0 : message.message;\n})(errorUtil || (errorUtil = {}));\n\nclass ParseInputLazyPath {\n constructor(parent, value, path, key) {\n this._cachedPath = [];\n this.parent = parent;\n this.data = value;\n this._path = path;\n this._key = key;\n }\n get path() {\n if (!this._cachedPath.length) {\n if (this._key instanceof Array) {\n this._cachedPath.push(...this._path, ...this._key);\n }\n else {\n this._cachedPath.push(...this._path, this._key);\n }\n }\n return this._cachedPath;\n }\n}\nconst handleResult = (ctx, result) => {\n if (isValid(result)) {\n return { success: true, data: result.value };\n }\n else {\n if (!ctx.common.issues.length) {\n throw new Error(\"Validation failed but no issues detected.\");\n }\n return {\n success: false,\n get error() {\n if (this._error)\n return this._error;\n const error = new ZodError(ctx.common.issues);\n this._error = error;\n return this._error;\n },\n };\n }\n};\nfunction processCreateParams(params) {\n if (!params)\n return {};\n const { errorMap, invalid_type_error, required_error, description } = params;\n if (errorMap && (invalid_type_error || required_error)) {\n throw new Error(`Can't use \"invalid_type_error\" or \"required_error\" in conjunction with custom error map.`);\n }\n if (errorMap)\n return { errorMap: errorMap, description };\n const customMap = (iss, ctx) => {\n if (iss.code !== \"invalid_type\")\n return { message: ctx.defaultError };\n if (typeof ctx.data === \"undefined\") {\n return { message: required_error !== null && required_error !== void 0 ? required_error : ctx.defaultError };\n }\n return { message: invalid_type_error !== null && invalid_type_error !== void 0 ? invalid_type_error : ctx.defaultError };\n };\n return { errorMap: customMap, description };\n}\nclass ZodType {\n constructor(def) {\n /** Alias of safeParseAsync */\n this.spa = this.safeParseAsync;\n this._def = def;\n this.parse = this.parse.bind(this);\n this.safeParse = this.safeParse.bind(this);\n this.parseAsync = this.parseAsync.bind(this);\n this.safeParseAsync = this.safeParseAsync.bind(this);\n this.spa = this.spa.bind(this);\n this.refine = this.refine.bind(this);\n this.refinement = this.refinement.bind(this);\n this.superRefine = this.superRefine.bind(this);\n this.optional = this.optional.bind(this);\n this.nullable = this.nullable.bind(this);\n this.nullish = this.nullish.bind(this);\n this.array = this.array.bind(this);\n this.promise = this.promise.bind(this);\n this.or = this.or.bind(this);\n this.and = this.and.bind(this);\n this.transform = this.transform.bind(this);\n this.brand = this.brand.bind(this);\n this.default = this.default.bind(this);\n this.catch = this.catch.bind(this);\n this.describe = this.describe.bind(this);\n this.pipe = this.pipe.bind(this);\n this.readonly = this.readonly.bind(this);\n this.isNullable = this.isNullable.bind(this);\n this.isOptional = this.isOptional.bind(this);\n }\n get description() {\n return this._def.description;\n }\n _getType(input) {\n return getParsedType(input.data);\n }\n _getOrReturnCtx(input, ctx) {\n return (ctx || {\n common: input.parent.common,\n data: input.data,\n parsedType: getParsedType(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n });\n }\n _processInputParams(input) {\n return {\n status: new ParseStatus(),\n ctx: {\n common: input.parent.common,\n data: input.data,\n parsedType: getParsedType(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n },\n };\n }\n _parseSync(input) {\n const result = this._parse(input);\n if (isAsync(result)) {\n throw new Error(\"Synchronous parse encountered promise.\");\n }\n return result;\n }\n _parseAsync(input) {\n const result = this._parse(input);\n return Promise.resolve(result);\n }\n parse(data, params) {\n const result = this.safeParse(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n safeParse(data, params) {\n var _a;\n const ctx = {\n common: {\n issues: [],\n async: (_a = params === null || params === void 0 ? void 0 : params.async) !== null && _a !== void 0 ? _a : false,\n contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,\n },\n path: (params === null || params === void 0 ? void 0 : params.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const result = this._parseSync({ data, path: ctx.path, parent: ctx });\n return handleResult(ctx, result);\n }\n async parseAsync(data, params) {\n const result = await this.safeParseAsync(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n async safeParseAsync(data, params) {\n const ctx = {\n common: {\n issues: [],\n contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,\n async: true,\n },\n path: (params === null || params === void 0 ? void 0 : params.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx });\n const result = await (isAsync(maybeAsyncResult)\n ? maybeAsyncResult\n : Promise.resolve(maybeAsyncResult));\n return handleResult(ctx, result);\n }\n refine(check, message) {\n const getIssueProperties = (val) => {\n if (typeof message === \"string\" || typeof message === \"undefined\") {\n return { message };\n }\n else if (typeof message === \"function\") {\n return message(val);\n }\n else {\n return message;\n }\n };\n return this._refinement((val, ctx) => {\n const result = check(val);\n const setError = () => ctx.addIssue({\n code: ZodIssueCode.custom,\n ...getIssueProperties(val),\n });\n if (typeof Promise !== \"undefined\" && result instanceof Promise) {\n return result.then((data) => {\n if (!data) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n if (!result) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n refinement(check, refinementData) {\n return this._refinement((val, ctx) => {\n if (!check(val)) {\n ctx.addIssue(typeof refinementData === \"function\"\n ? refinementData(val, ctx)\n : refinementData);\n return false;\n }\n else {\n return true;\n }\n });\n }\n _refinement(refinement) {\n return new ZodEffects({\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"refinement\", refinement },\n });\n }\n superRefine(refinement) {\n return this._refinement(refinement);\n }\n optional() {\n return ZodOptional.create(this, this._def);\n }\n nullable() {\n return ZodNullable.create(this, this._def);\n }\n nullish() {\n return this.nullable().optional();\n }\n array() {\n return ZodArray.create(this, this._def);\n }\n promise() {\n return ZodPromise.create(this, this._def);\n }\n or(option) {\n return ZodUnion.create([this, option], this._def);\n }\n and(incoming) {\n return ZodIntersection.create(this, incoming, this._def);\n }\n transform(transform) {\n return new ZodEffects({\n ...processCreateParams(this._def),\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"transform\", transform },\n });\n }\n default(def) {\n const defaultValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodDefault({\n ...processCreateParams(this._def),\n innerType: this,\n defaultValue: defaultValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n });\n }\n brand() {\n return new ZodBranded({\n typeName: ZodFirstPartyTypeKind.ZodBranded,\n type: this,\n ...processCreateParams(this._def),\n });\n }\n catch(def) {\n const catchValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodCatch({\n ...processCreateParams(this._def),\n innerType: this,\n catchValue: catchValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n });\n }\n describe(description) {\n const This = this.constructor;\n return new This({\n ...this._def,\n description,\n });\n }\n pipe(target) {\n return ZodPipeline.create(this, target);\n }\n readonly() {\n return ZodReadonly.create(this);\n }\n isOptional() {\n return this.safeParse(undefined).success;\n }\n isNullable() {\n return this.safeParse(null).success;\n }\n}\nconst cuidRegex = /^c[^\\s-]{8,}$/i;\nconst cuid2Regex = /^[a-z][a-z0-9]*$/;\nconst ulidRegex = /^[0-9A-HJKMNP-TV-Z]{26}$/;\n// const uuidRegex =\n// /^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i;\nconst uuidRegex = /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/i;\n// from https://stackoverflow.com/a/46181/1550155\n// old version: too slow, didn't support unicode\n// const emailRegex = /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i;\n//old email regex\n// const emailRegex = /^(([^<>()[\\].,;:\\s@\"]+(\\.[^<>()[\\].,;:\\s@\"]+)*)|(\".+\"))@((?!-)([^<>()[\\].,;:\\s@\"]+\\.)+[^<>()[\\].,;:\\s@\"]{1,})[^-<>()[\\].,;:\\s@\"]$/i;\n// eslint-disable-next-line\n// const emailRegex =\n// /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\])|(\\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\\.[A-Za-z]{2,})+))$/;\n// const emailRegex =\n// /^[a-zA-Z0-9\\.\\!\\#\\$\\%\\&\\'\\*\\+\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~\\-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n// const emailRegex =\n// /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])$/i;\nconst emailRegex = /^(?!\\.)(?!.*\\.\\.)([A-Z0-9_+-\\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\\-]*\\.)+[A-Z]{2,}$/i;\n// const emailRegex =\n// /^[a-z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-z0-9-]+(?:\\.[a-z0-9\\-]+)*$/i;\n// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression\nconst _emojiRegex = `^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$`;\nlet emojiRegex;\nconst ipv4Regex = /^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/;\nconst ipv6Regex = /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/;\n// Adapted from https://stackoverflow.com/a/3143231\nconst datetimeRegex = (args) => {\n if (args.precision) {\n if (args.offset) {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}\\\\.\\\\d{${args.precision}}(([+-]\\\\d{2}(:?\\\\d{2})?)|Z)$`);\n }\n else {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}\\\\.\\\\d{${args.precision}}Z$`);\n }\n }\n else if (args.precision === 0) {\n if (args.offset) {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(([+-]\\\\d{2}(:?\\\\d{2})?)|Z)$`);\n }\n else {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}Z$`);\n }\n }\n else {\n if (args.offset) {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?(([+-]\\\\d{2}(:?\\\\d{2})?)|Z)$`);\n }\n else {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?Z$`);\n }\n }\n};\nfunction isValidIP(ip, version) {\n if ((version === \"v4\" || !version) && ipv4Regex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6Regex.test(ip)) {\n return true;\n }\n return false;\n}\nclass ZodString extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = String(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.string) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.string,\n received: ctx.parsedType,\n }\n //\n );\n return INVALID;\n }\n const status = new ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.length < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.length > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"length\") {\n const tooBig = input.data.length > check.value;\n const tooSmall = input.data.length < check.value;\n if (tooBig || tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n if (tooBig) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n else if (tooSmall) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n status.dirty();\n }\n }\n else if (check.kind === \"email\") {\n if (!emailRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"email\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"emoji\") {\n if (!emojiRegex) {\n emojiRegex = new RegExp(_emojiRegex, \"u\");\n }\n if (!emojiRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"emoji\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"uuid\") {\n if (!uuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"uuid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid\") {\n if (!cuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cuid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid2\") {\n if (!cuid2Regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cuid2\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ulid\") {\n if (!ulidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"ulid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"url\") {\n try {\n new URL(input.data);\n }\n catch (_a) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"url\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"regex\") {\n check.regex.lastIndex = 0;\n const testResult = check.regex.test(input.data);\n if (!testResult) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"regex\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"trim\") {\n input.data = input.data.trim();\n }\n else if (check.kind === \"includes\") {\n if (!input.data.includes(check.value, check.position)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { includes: check.value, position: check.position },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"toLowerCase\") {\n input.data = input.data.toLowerCase();\n }\n else if (check.kind === \"toUpperCase\") {\n input.data = input.data.toUpperCase();\n }\n else if (check.kind === \"startsWith\") {\n if (!input.data.startsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { startsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"endsWith\") {\n if (!input.data.endsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { endsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"datetime\") {\n const regex = datetimeRegex(check);\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: \"datetime\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ip\") {\n if (!isValidIP(input.data, check.version)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"ip\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _regex(regex, validation, message) {\n return this.refinement((data) => regex.test(data), {\n validation,\n code: ZodIssueCode.invalid_string,\n ...errorUtil.errToObj(message),\n });\n }\n _addCheck(check) {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n email(message) {\n return this._addCheck({ kind: \"email\", ...errorUtil.errToObj(message) });\n }\n url(message) {\n return this._addCheck({ kind: \"url\", ...errorUtil.errToObj(message) });\n }\n emoji(message) {\n return this._addCheck({ kind: \"emoji\", ...errorUtil.errToObj(message) });\n }\n uuid(message) {\n return this._addCheck({ kind: \"uuid\", ...errorUtil.errToObj(message) });\n }\n cuid(message) {\n return this._addCheck({ kind: \"cuid\", ...errorUtil.errToObj(message) });\n }\n cuid2(message) {\n return this._addCheck({ kind: \"cuid2\", ...errorUtil.errToObj(message) });\n }\n ulid(message) {\n return this._addCheck({ kind: \"ulid\", ...errorUtil.errToObj(message) });\n }\n ip(options) {\n return this._addCheck({ kind: \"ip\", ...errorUtil.errToObj(options) });\n }\n datetime(options) {\n var _a;\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"datetime\",\n precision: null,\n offset: false,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"datetime\",\n precision: typeof (options === null || options === void 0 ? void 0 : options.precision) === \"undefined\" ? null : options === null || options === void 0 ? void 0 : options.precision,\n offset: (_a = options === null || options === void 0 ? void 0 : options.offset) !== null && _a !== void 0 ? _a : false,\n ...errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),\n });\n }\n regex(regex, message) {\n return this._addCheck({\n kind: \"regex\",\n regex: regex,\n ...errorUtil.errToObj(message),\n });\n }\n includes(value, options) {\n return this._addCheck({\n kind: \"includes\",\n value: value,\n position: options === null || options === void 0 ? void 0 : options.position,\n ...errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),\n });\n }\n startsWith(value, message) {\n return this._addCheck({\n kind: \"startsWith\",\n value: value,\n ...errorUtil.errToObj(message),\n });\n }\n endsWith(value, message) {\n return this._addCheck({\n kind: \"endsWith\",\n value: value,\n ...errorUtil.errToObj(message),\n });\n }\n min(minLength, message) {\n return this._addCheck({\n kind: \"min\",\n value: minLength,\n ...errorUtil.errToObj(message),\n });\n }\n max(maxLength, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxLength,\n ...errorUtil.errToObj(message),\n });\n }\n length(len, message) {\n return this._addCheck({\n kind: \"length\",\n value: len,\n ...errorUtil.errToObj(message),\n });\n }\n /**\n * @deprecated Use z.string().min(1) instead.\n * @see {@link ZodString.min}\n */\n nonempty(message) {\n return this.min(1, errorUtil.errToObj(message));\n }\n trim() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"trim\" }],\n });\n }\n toLowerCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toLowerCase\" }],\n });\n }\n toUpperCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toUpperCase\" }],\n });\n }\n get isDatetime() {\n return !!this._def.checks.find((ch) => ch.kind === \"datetime\");\n }\n get isEmail() {\n return !!this._def.checks.find((ch) => ch.kind === \"email\");\n }\n get isURL() {\n return !!this._def.checks.find((ch) => ch.kind === \"url\");\n }\n get isEmoji() {\n return !!this._def.checks.find((ch) => ch.kind === \"emoji\");\n }\n get isUUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"uuid\");\n }\n get isCUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid\");\n }\n get isCUID2() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid2\");\n }\n get isULID() {\n return !!this._def.checks.find((ch) => ch.kind === \"ulid\");\n }\n get isIP() {\n return !!this._def.checks.find((ch) => ch.kind === \"ip\");\n }\n get minLength() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxLength() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nZodString.create = (params) => {\n var _a;\n return new ZodString({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodString,\n coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false,\n ...processCreateParams(params),\n });\n};\n// https://stackoverflow.com/questions/3966484/why-does-modulus-operator-return-fractional-number-in-javascript/31711034#31711034\nfunction floatSafeRemainder(val, step) {\n const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n const stepDecCount = (step.toString().split(\".\")[1] || \"\").length;\n const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n const valInt = parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / Math.pow(10, decCount);\n}\nclass ZodNumber extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n this.step = this.multipleOf;\n }\n _parse(input) {\n if (this._def.coerce) {\n input.data = Number(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.number) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.number,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n let ctx = undefined;\n const status = new ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"int\") {\n if (!util.isInteger(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: \"integer\",\n received: \"float\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"min\") {\n const tooSmall = check.inclusive\n ? input.data < check.value\n : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive\n ? input.data > check.value\n : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (floatSafeRemainder(input.data, check.value) !== 0) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"finite\") {\n if (!Number.isFinite(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_finite,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodNumber({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodNumber({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n int(message) {\n return this._addCheck({\n kind: \"int\",\n message: errorUtil.toString(message),\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value: value,\n message: errorUtil.toString(message),\n });\n }\n finite(message) {\n return this._addCheck({\n kind: \"finite\",\n message: errorUtil.toString(message),\n });\n }\n safe(message) {\n return this._addCheck({\n kind: \"min\",\n inclusive: true,\n value: Number.MIN_SAFE_INTEGER,\n message: errorUtil.toString(message),\n })._addCheck({\n kind: \"max\",\n inclusive: true,\n value: Number.MAX_SAFE_INTEGER,\n message: errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n get isInt() {\n return !!this._def.checks.find((ch) => ch.kind === \"int\" ||\n (ch.kind === \"multipleOf\" && util.isInteger(ch.value)));\n }\n get isFinite() {\n let max = null, min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"finite\" ||\n ch.kind === \"int\" ||\n ch.kind === \"multipleOf\") {\n return true;\n }\n else if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n else if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return Number.isFinite(min) && Number.isFinite(max);\n }\n}\nZodNumber.create = (params) => {\n return new ZodNumber({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodNumber,\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n ...processCreateParams(params),\n });\n};\nclass ZodBigInt extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n }\n _parse(input) {\n if (this._def.coerce) {\n input.data = BigInt(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.bigint) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.bigint,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n let ctx = undefined;\n const status = new ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n const tooSmall = check.inclusive\n ? input.data < check.value\n : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n type: \"bigint\",\n minimum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive\n ? input.data > check.value\n : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n type: \"bigint\",\n maximum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (input.data % check.value !== BigInt(0)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodBigInt({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodBigInt({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value,\n message: errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nZodBigInt.create = (params) => {\n var _a;\n return new ZodBigInt({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodBigInt,\n coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false,\n ...processCreateParams(params),\n });\n};\nclass ZodBoolean extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = Boolean(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.boolean) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.boolean,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodBoolean.create = (params) => {\n return new ZodBoolean({\n typeName: ZodFirstPartyTypeKind.ZodBoolean,\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n ...processCreateParams(params),\n });\n};\nclass ZodDate extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = new Date(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.date) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.date,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (isNaN(input.data.getTime())) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_date,\n });\n return INVALID;\n }\n const status = new ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.getTime() < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n message: check.message,\n inclusive: true,\n exact: false,\n minimum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.getTime() > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n message: check.message,\n inclusive: true,\n exact: false,\n maximum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return {\n status: status.value,\n value: new Date(input.data.getTime()),\n };\n }\n _addCheck(check) {\n return new ZodDate({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n min(minDate, message) {\n return this._addCheck({\n kind: \"min\",\n value: minDate.getTime(),\n message: errorUtil.toString(message),\n });\n }\n max(maxDate, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxDate.getTime(),\n message: errorUtil.toString(message),\n });\n }\n get minDate() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min != null ? new Date(min) : null;\n }\n get maxDate() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max != null ? new Date(max) : null;\n }\n}\nZodDate.create = (params) => {\n return new ZodDate({\n checks: [],\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n typeName: ZodFirstPartyTypeKind.ZodDate,\n ...processCreateParams(params),\n });\n};\nclass ZodSymbol extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.symbol) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.symbol,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodSymbol.create = (params) => {\n return new ZodSymbol({\n typeName: ZodFirstPartyTypeKind.ZodSymbol,\n ...processCreateParams(params),\n });\n};\nclass ZodUndefined extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.undefined,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodUndefined.create = (params) => {\n return new ZodUndefined({\n typeName: ZodFirstPartyTypeKind.ZodUndefined,\n ...processCreateParams(params),\n });\n};\nclass ZodNull extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.null) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.null,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodNull.create = (params) => {\n return new ZodNull({\n typeName: ZodFirstPartyTypeKind.ZodNull,\n ...processCreateParams(params),\n });\n};\nclass ZodAny extends ZodType {\n constructor() {\n super(...arguments);\n // to prevent instances of other classes from extending ZodAny. this causes issues with catchall in ZodObject.\n this._any = true;\n }\n _parse(input) {\n return OK(input.data);\n }\n}\nZodAny.create = (params) => {\n return new ZodAny({\n typeName: ZodFirstPartyTypeKind.ZodAny,\n ...processCreateParams(params),\n });\n};\nclass ZodUnknown extends ZodType {\n constructor() {\n super(...arguments);\n // required\n this._unknown = true;\n }\n _parse(input) {\n return OK(input.data);\n }\n}\nZodUnknown.create = (params) => {\n return new ZodUnknown({\n typeName: ZodFirstPartyTypeKind.ZodUnknown,\n ...processCreateParams(params),\n });\n};\nclass ZodNever extends ZodType {\n _parse(input) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.never,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n}\nZodNever.create = (params) => {\n return new ZodNever({\n typeName: ZodFirstPartyTypeKind.ZodNever,\n ...processCreateParams(params),\n });\n};\nclass ZodVoid extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.void,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodVoid.create = (params) => {\n return new ZodVoid({\n typeName: ZodFirstPartyTypeKind.ZodVoid,\n ...processCreateParams(params),\n });\n};\nclass ZodArray extends ZodType {\n _parse(input) {\n const { ctx, status } = this._processInputParams(input);\n const def = this._def;\n if (ctx.parsedType !== ZodParsedType.array) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.array,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (def.exactLength !== null) {\n const tooBig = ctx.data.length > def.exactLength.value;\n const tooSmall = ctx.data.length < def.exactLength.value;\n if (tooBig || tooSmall) {\n addIssueToContext(ctx, {\n code: tooBig ? ZodIssueCode.too_big : ZodIssueCode.too_small,\n minimum: (tooSmall ? def.exactLength.value : undefined),\n maximum: (tooBig ? def.exactLength.value : undefined),\n type: \"array\",\n inclusive: true,\n exact: true,\n message: def.exactLength.message,\n });\n status.dirty();\n }\n }\n if (def.minLength !== null) {\n if (ctx.data.length < def.minLength.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: def.minLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.minLength.message,\n });\n status.dirty();\n }\n }\n if (def.maxLength !== null) {\n if (ctx.data.length > def.maxLength.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: def.maxLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.maxLength.message,\n });\n status.dirty();\n }\n }\n if (ctx.common.async) {\n return Promise.all([...ctx.data].map((item, i) => {\n return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n })).then((result) => {\n return ParseStatus.mergeArray(status, result);\n });\n }\n const result = [...ctx.data].map((item, i) => {\n return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n });\n return ParseStatus.mergeArray(status, result);\n }\n get element() {\n return this._def.type;\n }\n min(minLength, message) {\n return new ZodArray({\n ...this._def,\n minLength: { value: minLength, message: errorUtil.toString(message) },\n });\n }\n max(maxLength, message) {\n return new ZodArray({\n ...this._def,\n maxLength: { value: maxLength, message: errorUtil.toString(message) },\n });\n }\n length(len, message) {\n return new ZodArray({\n ...this._def,\n exactLength: { value: len, message: errorUtil.toString(message) },\n });\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nZodArray.create = (schema, params) => {\n return new ZodArray({\n type: schema,\n minLength: null,\n maxLength: null,\n exactLength: null,\n typeName: ZodFirstPartyTypeKind.ZodArray,\n ...processCreateParams(params),\n });\n};\nfunction deepPartialify(schema) {\n if (schema instanceof ZodObject) {\n const newShape = {};\n for (const key in schema.shape) {\n const fieldSchema = schema.shape[key];\n newShape[key] = ZodOptional.create(deepPartialify(fieldSchema));\n }\n return new ZodObject({\n ...schema._def,\n shape: () => newShape,\n });\n }\n else if (schema instanceof ZodArray) {\n return new ZodArray({\n ...schema._def,\n type: deepPartialify(schema.element),\n });\n }\n else if (schema instanceof ZodOptional) {\n return ZodOptional.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodNullable) {\n return ZodNullable.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodTuple) {\n return ZodTuple.create(schema.items.map((item) => deepPartialify(item)));\n }\n else {\n return schema;\n }\n}\nclass ZodObject extends ZodType {\n constructor() {\n super(...arguments);\n this._cached = null;\n /**\n * @deprecated In most cases, this is no longer needed - unknown properties are now silently stripped.\n * If you want to pass through unknown properties, use `.passthrough()` instead.\n */\n this.nonstrict = this.passthrough;\n // extend<\n // Augmentation extends ZodRawShape,\n // NewOutput extends util.flatten<{\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // }>,\n // NewInput extends util.flatten<{\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }>\n // >(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape,\n // UnknownKeys,\n // Catchall,\n // NewOutput,\n // NewInput\n // > {\n // return new ZodObject({\n // ...this._def,\n // shape: () => ({\n // ...this._def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // }\n /**\n * @deprecated Use `.extend` instead\n * */\n this.augment = this.extend;\n }\n _getCached() {\n if (this._cached !== null)\n return this._cached;\n const shape = this._def.shape();\n const keys = util.objectKeys(shape);\n return (this._cached = { shape, keys });\n }\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.object) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const { status, ctx } = this._processInputParams(input);\n const { shape, keys: shapeKeys } = this._getCached();\n const extraKeys = [];\n if (!(this._def.catchall instanceof ZodNever &&\n this._def.unknownKeys === \"strip\")) {\n for (const key in ctx.data) {\n if (!shapeKeys.includes(key)) {\n extraKeys.push(key);\n }\n }\n }\n const pairs = [];\n for (const key of shapeKeys) {\n const keyValidator = shape[key];\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: keyValidator._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)),\n alwaysSet: key in ctx.data,\n });\n }\n if (this._def.catchall instanceof ZodNever) {\n const unknownKeys = this._def.unknownKeys;\n if (unknownKeys === \"passthrough\") {\n for (const key of extraKeys) {\n pairs.push({\n key: { status: \"valid\", value: key },\n value: { status: \"valid\", value: ctx.data[key] },\n });\n }\n }\n else if (unknownKeys === \"strict\") {\n if (extraKeys.length > 0) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.unrecognized_keys,\n keys: extraKeys,\n });\n status.dirty();\n }\n }\n else if (unknownKeys === \"strip\") ;\n else {\n throw new Error(`Internal ZodObject error: invalid unknownKeys value.`);\n }\n }\n else {\n // run catchall validation\n const catchall = this._def.catchall;\n for (const key of extraKeys) {\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: catchall._parse(new ParseInputLazyPath(ctx, value, ctx.path, key) //, ctx.child(key), value, getParsedType(value)\n ),\n alwaysSet: key in ctx.data,\n });\n }\n }\n if (ctx.common.async) {\n return Promise.resolve()\n .then(async () => {\n const syncPairs = [];\n for (const pair of pairs) {\n const key = await pair.key;\n syncPairs.push({\n key,\n value: await pair.value,\n alwaysSet: pair.alwaysSet,\n });\n }\n return syncPairs;\n })\n .then((syncPairs) => {\n return ParseStatus.mergeObjectSync(status, syncPairs);\n });\n }\n else {\n return ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get shape() {\n return this._def.shape();\n }\n strict(message) {\n errorUtil.errToObj;\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strict\",\n ...(message !== undefined\n ? {\n errorMap: (issue, ctx) => {\n var _a, _b, _c, _d;\n const defaultError = (_c = (_b = (_a = this._def).errorMap) === null || _b === void 0 ? void 0 : _b.call(_a, issue, ctx).message) !== null && _c !== void 0 ? _c : ctx.defaultError;\n if (issue.code === \"unrecognized_keys\")\n return {\n message: (_d = errorUtil.errToObj(message).message) !== null && _d !== void 0 ? _d : defaultError,\n };\n return {\n message: defaultError,\n };\n },\n }\n : {}),\n });\n }\n strip() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strip\",\n });\n }\n passthrough() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"passthrough\",\n });\n }\n // const AugmentFactory =\n // (def: Def) =>\n // (\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape, Augmentation>,\n // Def[\"unknownKeys\"],\n // Def[\"catchall\"]\n // > => {\n // return new ZodObject({\n // ...def,\n // shape: () => ({\n // ...def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // };\n extend(augmentation) {\n return new ZodObject({\n ...this._def,\n shape: () => ({\n ...this._def.shape(),\n ...augmentation,\n }),\n });\n }\n /**\n * Prior to zod@1.0.12 there was a bug in the\n * inferred type of merged objects. Please\n * upgrade if you are experiencing issues.\n */\n merge(merging) {\n const merged = new ZodObject({\n unknownKeys: merging._def.unknownKeys,\n catchall: merging._def.catchall,\n shape: () => ({\n ...this._def.shape(),\n ...merging._def.shape(),\n }),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n });\n return merged;\n }\n // merge<\n // Incoming extends AnyZodObject,\n // Augmentation extends Incoming[\"shape\"],\n // NewOutput extends {\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // },\n // NewInput extends {\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }\n // >(\n // merging: Incoming\n // ): ZodObject<\n // extendShape>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"],\n // NewOutput,\n // NewInput\n // > {\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n setKey(key, schema) {\n return this.augment({ [key]: schema });\n }\n // merge(\n // merging: Incoming\n // ): //ZodObject = (merging) => {\n // ZodObject<\n // extendShape>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"]\n // > {\n // // const mergedShape = objectUtil.mergeShapes(\n // // this._def.shape(),\n // // merging._def.shape()\n // // );\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n catchall(index) {\n return new ZodObject({\n ...this._def,\n catchall: index,\n });\n }\n pick(mask) {\n const shape = {};\n util.objectKeys(mask).forEach((key) => {\n if (mask[key] && this.shape[key]) {\n shape[key] = this.shape[key];\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n omit(mask) {\n const shape = {};\n util.objectKeys(this.shape).forEach((key) => {\n if (!mask[key]) {\n shape[key] = this.shape[key];\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n /**\n * @deprecated\n */\n deepPartial() {\n return deepPartialify(this);\n }\n partial(mask) {\n const newShape = {};\n util.objectKeys(this.shape).forEach((key) => {\n const fieldSchema = this.shape[key];\n if (mask && !mask[key]) {\n newShape[key] = fieldSchema;\n }\n else {\n newShape[key] = fieldSchema.optional();\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n required(mask) {\n const newShape = {};\n util.objectKeys(this.shape).forEach((key) => {\n if (mask && !mask[key]) {\n newShape[key] = this.shape[key];\n }\n else {\n const fieldSchema = this.shape[key];\n let newField = fieldSchema;\n while (newField instanceof ZodOptional) {\n newField = newField._def.innerType;\n }\n newShape[key] = newField;\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n keyof() {\n return createZodEnum(util.objectKeys(this.shape));\n }\n}\nZodObject.create = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.strictCreate = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strict\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.lazycreate = (shape, params) => {\n return new ZodObject({\n shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nclass ZodUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const options = this._def.options;\n function handleResults(results) {\n // return first issue-free validation if it exists\n for (const result of results) {\n if (result.result.status === \"valid\") {\n return result.result;\n }\n }\n for (const result of results) {\n if (result.result.status === \"dirty\") {\n // add issues from dirty option\n ctx.common.issues.push(...result.ctx.common.issues);\n return result.result;\n }\n }\n // return invalid\n const unionErrors = results.map((result) => new ZodError(result.ctx.common.issues));\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union,\n unionErrors,\n });\n return INVALID;\n }\n if (ctx.common.async) {\n return Promise.all(options.map(async (option) => {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n return {\n result: await option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n }),\n ctx: childCtx,\n };\n })).then(handleResults);\n }\n else {\n let dirty = undefined;\n const issues = [];\n for (const option of options) {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n const result = option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n });\n if (result.status === \"valid\") {\n return result;\n }\n else if (result.status === \"dirty\" && !dirty) {\n dirty = { result, ctx: childCtx };\n }\n if (childCtx.common.issues.length) {\n issues.push(childCtx.common.issues);\n }\n }\n if (dirty) {\n ctx.common.issues.push(...dirty.ctx.common.issues);\n return dirty.result;\n }\n const unionErrors = issues.map((issues) => new ZodError(issues));\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union,\n unionErrors,\n });\n return INVALID;\n }\n }\n get options() {\n return this._def.options;\n }\n}\nZodUnion.create = (types, params) => {\n return new ZodUnion({\n options: types,\n typeName: ZodFirstPartyTypeKind.ZodUnion,\n ...processCreateParams(params),\n });\n};\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\n////////// //////////\n////////// ZodDiscriminatedUnion //////////\n////////// //////////\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\nconst getDiscriminator = (type) => {\n if (type instanceof ZodLazy) {\n return getDiscriminator(type.schema);\n }\n else if (type instanceof ZodEffects) {\n return getDiscriminator(type.innerType());\n }\n else if (type instanceof ZodLiteral) {\n return [type.value];\n }\n else if (type instanceof ZodEnum) {\n return type.options;\n }\n else if (type instanceof ZodNativeEnum) {\n // eslint-disable-next-line ban/ban\n return Object.keys(type.enum);\n }\n else if (type instanceof ZodDefault) {\n return getDiscriminator(type._def.innerType);\n }\n else if (type instanceof ZodUndefined) {\n return [undefined];\n }\n else if (type instanceof ZodNull) {\n return [null];\n }\n else {\n return null;\n }\n};\nclass ZodDiscriminatedUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.object) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const discriminator = this.discriminator;\n const discriminatorValue = ctx.data[discriminator];\n const option = this.optionsMap.get(discriminatorValue);\n if (!option) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union_discriminator,\n options: Array.from(this.optionsMap.keys()),\n path: [discriminator],\n });\n return INVALID;\n }\n if (ctx.common.async) {\n return option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n else {\n return option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n get discriminator() {\n return this._def.discriminator;\n }\n get options() {\n return this._def.options;\n }\n get optionsMap() {\n return this._def.optionsMap;\n }\n /**\n * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor.\n * However, it only allows a union of objects, all of which need to share a discriminator property. This property must\n * have a different value for each object in the union.\n * @param discriminator the name of the discriminator property\n * @param types an array of object schemas\n * @param params\n */\n static create(discriminator, options, params) {\n // Get all the valid discriminator values\n const optionsMap = new Map();\n // try {\n for (const type of options) {\n const discriminatorValues = getDiscriminator(type.shape[discriminator]);\n if (!discriminatorValues) {\n throw new Error(`A discriminator value for key \\`${discriminator}\\` could not be extracted from all schema options`);\n }\n for (const value of discriminatorValues) {\n if (optionsMap.has(value)) {\n throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`);\n }\n optionsMap.set(value, type);\n }\n }\n return new ZodDiscriminatedUnion({\n typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion,\n discriminator,\n options,\n optionsMap,\n ...processCreateParams(params),\n });\n }\n}\nfunction mergeValues(a, b) {\n const aType = getParsedType(a);\n const bType = getParsedType(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n else if (aType === ZodParsedType.object && bType === ZodParsedType.object) {\n const bKeys = util.objectKeys(b);\n const sharedKeys = util\n .objectKeys(a)\n .filter((key) => bKeys.indexOf(key) !== -1);\n const newObj = { ...a, ...b };\n for (const key of sharedKeys) {\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newObj[key] = sharedValue.data;\n }\n return { valid: true, data: newObj };\n }\n else if (aType === ZodParsedType.array && bType === ZodParsedType.array) {\n if (a.length !== b.length) {\n return { valid: false };\n }\n const newArray = [];\n for (let index = 0; index < a.length; index++) {\n const itemA = a[index];\n const itemB = b[index];\n const sharedValue = mergeValues(itemA, itemB);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newArray.push(sharedValue.data);\n }\n return { valid: true, data: newArray };\n }\n else if (aType === ZodParsedType.date &&\n bType === ZodParsedType.date &&\n +a === +b) {\n return { valid: true, data: a };\n }\n else {\n return { valid: false };\n }\n}\nclass ZodIntersection extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const handleParsed = (parsedLeft, parsedRight) => {\n if (isAborted(parsedLeft) || isAborted(parsedRight)) {\n return INVALID;\n }\n const merged = mergeValues(parsedLeft.value, parsedRight.value);\n if (!merged.valid) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_intersection_types,\n });\n return INVALID;\n }\n if (isDirty(parsedLeft) || isDirty(parsedRight)) {\n status.dirty();\n }\n return { status: status.value, value: merged.data };\n };\n if (ctx.common.async) {\n return Promise.all([\n this._def.left._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n this._def.right._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n ]).then(([left, right]) => handleParsed(left, right));\n }\n else {\n return handleParsed(this._def.left._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }), this._def.right._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }));\n }\n }\n}\nZodIntersection.create = (left, right, params) => {\n return new ZodIntersection({\n left: left,\n right: right,\n typeName: ZodFirstPartyTypeKind.ZodIntersection,\n ...processCreateParams(params),\n });\n};\nclass ZodTuple extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.array) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.array,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (ctx.data.length < this._def.items.length) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n return INVALID;\n }\n const rest = this._def.rest;\n if (!rest && ctx.data.length > this._def.items.length) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n status.dirty();\n }\n const items = [...ctx.data]\n .map((item, itemIndex) => {\n const schema = this._def.items[itemIndex] || this._def.rest;\n if (!schema)\n return null;\n return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex));\n })\n .filter((x) => !!x); // filter nulls\n if (ctx.common.async) {\n return Promise.all(items).then((results) => {\n return ParseStatus.mergeArray(status, results);\n });\n }\n else {\n return ParseStatus.mergeArray(status, items);\n }\n }\n get items() {\n return this._def.items;\n }\n rest(rest) {\n return new ZodTuple({\n ...this._def,\n rest,\n });\n }\n}\nZodTuple.create = (schemas, params) => {\n if (!Array.isArray(schemas)) {\n throw new Error(\"You must pass an array of schemas to z.tuple([ ... ])\");\n }\n return new ZodTuple({\n items: schemas,\n typeName: ZodFirstPartyTypeKind.ZodTuple,\n rest: null,\n ...processCreateParams(params),\n });\n};\nclass ZodRecord extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.object) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const pairs = [];\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n for (const key in ctx.data) {\n pairs.push({\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)),\n value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)),\n });\n }\n if (ctx.common.async) {\n return ParseStatus.mergeObjectAsync(status, pairs);\n }\n else {\n return ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get element() {\n return this._def.valueType;\n }\n static create(first, second, third) {\n if (second instanceof ZodType) {\n return new ZodRecord({\n keyType: first,\n valueType: second,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(third),\n });\n }\n return new ZodRecord({\n keyType: ZodString.create(),\n valueType: first,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(second),\n });\n }\n}\nclass ZodMap extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.map) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.map,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n const pairs = [...ctx.data.entries()].map(([key, value], index) => {\n return {\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, [index, \"key\"])),\n value: valueType._parse(new ParseInputLazyPath(ctx, value, ctx.path, [index, \"value\"])),\n };\n });\n if (ctx.common.async) {\n const finalMap = new Map();\n return Promise.resolve().then(async () => {\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n });\n }\n else {\n const finalMap = new Map();\n for (const pair of pairs) {\n const key = pair.key;\n const value = pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n }\n }\n}\nZodMap.create = (keyType, valueType, params) => {\n return new ZodMap({\n valueType,\n keyType,\n typeName: ZodFirstPartyTypeKind.ZodMap,\n ...processCreateParams(params),\n });\n};\nclass ZodSet extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.set) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.set,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const def = this._def;\n if (def.minSize !== null) {\n if (ctx.data.size < def.minSize.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: def.minSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.minSize.message,\n });\n status.dirty();\n }\n }\n if (def.maxSize !== null) {\n if (ctx.data.size > def.maxSize.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: def.maxSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.maxSize.message,\n });\n status.dirty();\n }\n }\n const valueType = this._def.valueType;\n function finalizeSet(elements) {\n const parsedSet = new Set();\n for (const element of elements) {\n if (element.status === \"aborted\")\n return INVALID;\n if (element.status === \"dirty\")\n status.dirty();\n parsedSet.add(element.value);\n }\n return { status: status.value, value: parsedSet };\n }\n const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath(ctx, item, ctx.path, i)));\n if (ctx.common.async) {\n return Promise.all(elements).then((elements) => finalizeSet(elements));\n }\n else {\n return finalizeSet(elements);\n }\n }\n min(minSize, message) {\n return new ZodSet({\n ...this._def,\n minSize: { value: minSize, message: errorUtil.toString(message) },\n });\n }\n max(maxSize, message) {\n return new ZodSet({\n ...this._def,\n maxSize: { value: maxSize, message: errorUtil.toString(message) },\n });\n }\n size(size, message) {\n return this.min(size, message).max(size, message);\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nZodSet.create = (valueType, params) => {\n return new ZodSet({\n valueType,\n minSize: null,\n maxSize: null,\n typeName: ZodFirstPartyTypeKind.ZodSet,\n ...processCreateParams(params),\n });\n};\nclass ZodFunction extends ZodType {\n constructor() {\n super(...arguments);\n this.validate = this.implement;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.function) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.function,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n function makeArgsIssue(args, error) {\n return makeIssue({\n data: args,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n getErrorMap(),\n errorMap,\n ].filter((x) => !!x),\n issueData: {\n code: ZodIssueCode.invalid_arguments,\n argumentsError: error,\n },\n });\n }\n function makeReturnsIssue(returns, error) {\n return makeIssue({\n data: returns,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n getErrorMap(),\n errorMap,\n ].filter((x) => !!x),\n issueData: {\n code: ZodIssueCode.invalid_return_type,\n returnTypeError: error,\n },\n });\n }\n const params = { errorMap: ctx.common.contextualErrorMap };\n const fn = ctx.data;\n if (this._def.returns instanceof ZodPromise) {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return OK(async function (...args) {\n const error = new ZodError([]);\n const parsedArgs = await me._def.args\n .parseAsync(args, params)\n .catch((e) => {\n error.addIssue(makeArgsIssue(args, e));\n throw error;\n });\n const result = await Reflect.apply(fn, this, parsedArgs);\n const parsedReturns = await me._def.returns._def.type\n .parseAsync(result, params)\n .catch((e) => {\n error.addIssue(makeReturnsIssue(result, e));\n throw error;\n });\n return parsedReturns;\n });\n }\n else {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return OK(function (...args) {\n const parsedArgs = me._def.args.safeParse(args, params);\n if (!parsedArgs.success) {\n throw new ZodError([makeArgsIssue(args, parsedArgs.error)]);\n }\n const result = Reflect.apply(fn, this, parsedArgs.data);\n const parsedReturns = me._def.returns.safeParse(result, params);\n if (!parsedReturns.success) {\n throw new ZodError([makeReturnsIssue(result, parsedReturns.error)]);\n }\n return parsedReturns.data;\n });\n }\n }\n parameters() {\n return this._def.args;\n }\n returnType() {\n return this._def.returns;\n }\n args(...items) {\n return new ZodFunction({\n ...this._def,\n args: ZodTuple.create(items).rest(ZodUnknown.create()),\n });\n }\n returns(returnType) {\n return new ZodFunction({\n ...this._def,\n returns: returnType,\n });\n }\n implement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n strictImplement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n static create(args, returns, params) {\n return new ZodFunction({\n args: (args\n ? args\n : ZodTuple.create([]).rest(ZodUnknown.create())),\n returns: returns || ZodUnknown.create(),\n typeName: ZodFirstPartyTypeKind.ZodFunction,\n ...processCreateParams(params),\n });\n }\n}\nclass ZodLazy extends ZodType {\n get schema() {\n return this._def.getter();\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const lazySchema = this._def.getter();\n return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx });\n }\n}\nZodLazy.create = (getter, params) => {\n return new ZodLazy({\n getter: getter,\n typeName: ZodFirstPartyTypeKind.ZodLazy,\n ...processCreateParams(params),\n });\n};\nclass ZodLiteral extends ZodType {\n _parse(input) {\n if (input.data !== this._def.value) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_literal,\n expected: this._def.value,\n });\n return INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n get value() {\n return this._def.value;\n }\n}\nZodLiteral.create = (value, params) => {\n return new ZodLiteral({\n value: value,\n typeName: ZodFirstPartyTypeKind.ZodLiteral,\n ...processCreateParams(params),\n });\n};\nfunction createZodEnum(values, params) {\n return new ZodEnum({\n values,\n typeName: ZodFirstPartyTypeKind.ZodEnum,\n ...processCreateParams(params),\n });\n}\nclass ZodEnum extends ZodType {\n _parse(input) {\n if (typeof input.data !== \"string\") {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n addIssueToContext(ctx, {\n expected: util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodIssueCode.invalid_type,\n });\n return INVALID;\n }\n if (this._def.values.indexOf(input.data) === -1) {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n get options() {\n return this._def.values;\n }\n get enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Values() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n extract(values) {\n return ZodEnum.create(values);\n }\n exclude(values) {\n return ZodEnum.create(this.options.filter((opt) => !values.includes(opt)));\n }\n}\nZodEnum.create = createZodEnum;\nclass ZodNativeEnum extends ZodType {\n _parse(input) {\n const nativeEnumValues = util.getValidEnumValues(this._def.values);\n const ctx = this._getOrReturnCtx(input);\n if (ctx.parsedType !== ZodParsedType.string &&\n ctx.parsedType !== ZodParsedType.number) {\n const expectedValues = util.objectValues(nativeEnumValues);\n addIssueToContext(ctx, {\n expected: util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodIssueCode.invalid_type,\n });\n return INVALID;\n }\n if (nativeEnumValues.indexOf(input.data) === -1) {\n const expectedValues = util.objectValues(nativeEnumValues);\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n get enum() {\n return this._def.values;\n }\n}\nZodNativeEnum.create = (values, params) => {\n return new ZodNativeEnum({\n values: values,\n typeName: ZodFirstPartyTypeKind.ZodNativeEnum,\n ...processCreateParams(params),\n });\n};\nclass ZodPromise extends ZodType {\n unwrap() {\n return this._def.type;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.promise &&\n ctx.common.async === false) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.promise,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const promisified = ctx.parsedType === ZodParsedType.promise\n ? ctx.data\n : Promise.resolve(ctx.data);\n return OK(promisified.then((data) => {\n return this._def.type.parseAsync(data, {\n path: ctx.path,\n errorMap: ctx.common.contextualErrorMap,\n });\n }));\n }\n}\nZodPromise.create = (schema, params) => {\n return new ZodPromise({\n type: schema,\n typeName: ZodFirstPartyTypeKind.ZodPromise,\n ...processCreateParams(params),\n });\n};\nclass ZodEffects extends ZodType {\n innerType() {\n return this._def.schema;\n }\n sourceType() {\n return this._def.schema._def.typeName === ZodFirstPartyTypeKind.ZodEffects\n ? this._def.schema.sourceType()\n : this._def.schema;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const effect = this._def.effect || null;\n const checkCtx = {\n addIssue: (arg) => {\n addIssueToContext(ctx, arg);\n if (arg.fatal) {\n status.abort();\n }\n else {\n status.dirty();\n }\n },\n get path() {\n return ctx.path;\n },\n };\n checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx);\n if (effect.type === \"preprocess\") {\n const processed = effect.transform(ctx.data, checkCtx);\n if (ctx.common.issues.length) {\n return {\n status: \"dirty\",\n value: ctx.data,\n };\n }\n if (ctx.common.async) {\n return Promise.resolve(processed).then((processed) => {\n return this._def.schema._parseAsync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n });\n }\n else {\n return this._def.schema._parseSync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n if (effect.type === \"refinement\") {\n const executeRefinement = (acc\n // effect: RefinementEffect\n ) => {\n const result = effect.refinement(acc, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(result);\n }\n if (result instanceof Promise) {\n throw new Error(\"Async refinement encountered during synchronous parse operation. Use .parseAsync instead.\");\n }\n return acc;\n };\n if (ctx.common.async === false) {\n const inner = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inner.status === \"aborted\")\n return INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n // return value is ignored\n executeRefinement(inner.value);\n return { status: status.value, value: inner.value };\n }\n else {\n return this._def.schema\n ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n .then((inner) => {\n if (inner.status === \"aborted\")\n return INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n return executeRefinement(inner.value).then(() => {\n return { status: status.value, value: inner.value };\n });\n });\n }\n }\n if (effect.type === \"transform\") {\n if (ctx.common.async === false) {\n const base = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (!isValid(base))\n return base;\n const result = effect.transform(base.value, checkCtx);\n if (result instanceof Promise) {\n throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);\n }\n return { status: status.value, value: result };\n }\n else {\n return this._def.schema\n ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n .then((base) => {\n if (!isValid(base))\n return base;\n return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({ status: status.value, value: result }));\n });\n }\n }\n util.assertNever(effect);\n }\n}\nZodEffects.create = (schema, effect, params) => {\n return new ZodEffects({\n schema,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect,\n ...processCreateParams(params),\n });\n};\nZodEffects.createWithPreprocess = (preprocess, schema, params) => {\n return new ZodEffects({\n schema,\n effect: { type: \"preprocess\", transform: preprocess },\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n ...processCreateParams(params),\n });\n};\nclass ZodOptional extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === ZodParsedType.undefined) {\n return OK(undefined);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodOptional.create = (type, params) => {\n return new ZodOptional({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodOptional,\n ...processCreateParams(params),\n });\n};\nclass ZodNullable extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === ZodParsedType.null) {\n return OK(null);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodNullable.create = (type, params) => {\n return new ZodNullable({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodNullable,\n ...processCreateParams(params),\n });\n};\nclass ZodDefault extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n let data = ctx.data;\n if (ctx.parsedType === ZodParsedType.undefined) {\n data = this._def.defaultValue();\n }\n return this._def.innerType._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n removeDefault() {\n return this._def.innerType;\n }\n}\nZodDefault.create = (type, params) => {\n return new ZodDefault({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n defaultValue: typeof params.default === \"function\"\n ? params.default\n : () => params.default,\n ...processCreateParams(params),\n });\n};\nclass ZodCatch extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n // newCtx is used to not collect issues from inner types in ctx\n const newCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n };\n const result = this._def.innerType._parse({\n data: newCtx.data,\n path: newCtx.path,\n parent: {\n ...newCtx,\n },\n });\n if (isAsync(result)) {\n return result.then((result) => {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n });\n }\n else {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n }\n }\n removeCatch() {\n return this._def.innerType;\n }\n}\nZodCatch.create = (type, params) => {\n return new ZodCatch({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n catchValue: typeof params.catch === \"function\" ? params.catch : () => params.catch,\n ...processCreateParams(params),\n });\n};\nclass ZodNaN extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.nan) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.nan,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n}\nZodNaN.create = (params) => {\n return new ZodNaN({\n typeName: ZodFirstPartyTypeKind.ZodNaN,\n ...processCreateParams(params),\n });\n};\nconst BRAND = Symbol(\"zod_brand\");\nclass ZodBranded extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const data = ctx.data;\n return this._def.type._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n unwrap() {\n return this._def.type;\n }\n}\nclass ZodPipeline extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.common.async) {\n const handleAsync = async () => {\n const inResult = await this._def.in._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return DIRTY(inResult.value);\n }\n else {\n return this._def.out._parseAsync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n };\n return handleAsync();\n }\n else {\n const inResult = this._def.in._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return {\n status: \"dirty\",\n value: inResult.value,\n };\n }\n else {\n return this._def.out._parseSync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n }\n static create(a, b) {\n return new ZodPipeline({\n in: a,\n out: b,\n typeName: ZodFirstPartyTypeKind.ZodPipeline,\n });\n }\n}\nclass ZodReadonly extends ZodType {\n _parse(input) {\n const result = this._def.innerType._parse(input);\n if (isValid(result)) {\n result.value = Object.freeze(result.value);\n }\n return result;\n }\n}\nZodReadonly.create = (type, params) => {\n return new ZodReadonly({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodReadonly,\n ...processCreateParams(params),\n });\n};\nconst custom = (check, params = {}, \n/**\n * @deprecated\n *\n * Pass `fatal` into the params object instead:\n *\n * ```ts\n * z.string().custom((val) => val.length > 5, { fatal: false })\n * ```\n *\n */\nfatal) => {\n if (check)\n return ZodAny.create().superRefine((data, ctx) => {\n var _a, _b;\n if (!check(data)) {\n const p = typeof params === \"function\"\n ? params(data)\n : typeof params === \"string\"\n ? { message: params }\n : params;\n const _fatal = (_b = (_a = p.fatal) !== null && _a !== void 0 ? _a : fatal) !== null && _b !== void 0 ? _b : true;\n const p2 = typeof p === \"string\" ? { message: p } : p;\n ctx.addIssue({ code: \"custom\", ...p2, fatal: _fatal });\n }\n });\n return ZodAny.create();\n};\nconst late = {\n object: ZodObject.lazycreate,\n};\nvar ZodFirstPartyTypeKind;\n(function (ZodFirstPartyTypeKind) {\n ZodFirstPartyTypeKind[\"ZodString\"] = \"ZodString\";\n ZodFirstPartyTypeKind[\"ZodNumber\"] = \"ZodNumber\";\n ZodFirstPartyTypeKind[\"ZodNaN\"] = \"ZodNaN\";\n ZodFirstPartyTypeKind[\"ZodBigInt\"] = \"ZodBigInt\";\n ZodFirstPartyTypeKind[\"ZodBoolean\"] = \"ZodBoolean\";\n ZodFirstPartyTypeKind[\"ZodDate\"] = \"ZodDate\";\n ZodFirstPartyTypeKind[\"ZodSymbol\"] = \"ZodSymbol\";\n ZodFirstPartyTypeKind[\"ZodUndefined\"] = \"ZodUndefined\";\n ZodFirstPartyTypeKind[\"ZodNull\"] = \"ZodNull\";\n ZodFirstPartyTypeKind[\"ZodAny\"] = \"ZodAny\";\n ZodFirstPartyTypeKind[\"ZodUnknown\"] = \"ZodUnknown\";\n ZodFirstPartyTypeKind[\"ZodNever\"] = \"ZodNever\";\n ZodFirstPartyTypeKind[\"ZodVoid\"] = \"ZodVoid\";\n ZodFirstPartyTypeKind[\"ZodArray\"] = \"ZodArray\";\n ZodFirstPartyTypeKind[\"ZodObject\"] = \"ZodObject\";\n ZodFirstPartyTypeKind[\"ZodUnion\"] = \"ZodUnion\";\n ZodFirstPartyTypeKind[\"ZodDiscriminatedUnion\"] = \"ZodDiscriminatedUnion\";\n ZodFirstPartyTypeKind[\"ZodIntersection\"] = \"ZodIntersection\";\n ZodFirstPartyTypeKind[\"ZodTuple\"] = \"ZodTuple\";\n ZodFirstPartyTypeKind[\"ZodRecord\"] = \"ZodRecord\";\n ZodFirstPartyTypeKind[\"ZodMap\"] = \"ZodMap\";\n ZodFirstPartyTypeKind[\"ZodSet\"] = \"ZodSet\";\n ZodFirstPartyTypeKind[\"ZodFunction\"] = \"ZodFunction\";\n ZodFirstPartyTypeKind[\"ZodLazy\"] = \"ZodLazy\";\n ZodFirstPartyTypeKind[\"ZodLiteral\"] = \"ZodLiteral\";\n ZodFirstPartyTypeKind[\"ZodEnum\"] = \"ZodEnum\";\n ZodFirstPartyTypeKind[\"ZodEffects\"] = \"ZodEffects\";\n ZodFirstPartyTypeKind[\"ZodNativeEnum\"] = \"ZodNativeEnum\";\n ZodFirstPartyTypeKind[\"ZodOptional\"] = \"ZodOptional\";\n ZodFirstPartyTypeKind[\"ZodNullable\"] = \"ZodNullable\";\n ZodFirstPartyTypeKind[\"ZodDefault\"] = \"ZodDefault\";\n ZodFirstPartyTypeKind[\"ZodCatch\"] = \"ZodCatch\";\n ZodFirstPartyTypeKind[\"ZodPromise\"] = \"ZodPromise\";\n ZodFirstPartyTypeKind[\"ZodBranded\"] = \"ZodBranded\";\n ZodFirstPartyTypeKind[\"ZodPipeline\"] = \"ZodPipeline\";\n ZodFirstPartyTypeKind[\"ZodReadonly\"] = \"ZodReadonly\";\n})(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));\nconst instanceOfType = (\n// const instanceOfType = any>(\ncls, params = {\n message: `Input not instance of ${cls.name}`,\n}) => custom((data) => data instanceof cls, params);\nconst stringType = ZodString.create;\nconst numberType = ZodNumber.create;\nconst nanType = ZodNaN.create;\nconst bigIntType = ZodBigInt.create;\nconst booleanType = ZodBoolean.create;\nconst dateType = ZodDate.create;\nconst symbolType = ZodSymbol.create;\nconst undefinedType = ZodUndefined.create;\nconst nullType = ZodNull.create;\nconst anyType = ZodAny.create;\nconst unknownType = ZodUnknown.create;\nconst neverType = ZodNever.create;\nconst voidType = ZodVoid.create;\nconst arrayType = ZodArray.create;\nconst objectType = ZodObject.create;\nconst strictObjectType = ZodObject.strictCreate;\nconst unionType = ZodUnion.create;\nconst discriminatedUnionType = ZodDiscriminatedUnion.create;\nconst intersectionType = ZodIntersection.create;\nconst tupleType = ZodTuple.create;\nconst recordType = ZodRecord.create;\nconst mapType = ZodMap.create;\nconst setType = ZodSet.create;\nconst functionType = ZodFunction.create;\nconst lazyType = ZodLazy.create;\nconst literalType = ZodLiteral.create;\nconst enumType = ZodEnum.create;\nconst nativeEnumType = ZodNativeEnum.create;\nconst promiseType = ZodPromise.create;\nconst effectsType = ZodEffects.create;\nconst optionalType = ZodOptional.create;\nconst nullableType = ZodNullable.create;\nconst preprocessType = ZodEffects.createWithPreprocess;\nconst pipelineType = ZodPipeline.create;\nconst ostring = () => stringType().optional();\nconst onumber = () => numberType().optional();\nconst oboolean = () => booleanType().optional();\nconst coerce = {\n string: ((arg) => ZodString.create({ ...arg, coerce: true })),\n number: ((arg) => ZodNumber.create({ ...arg, coerce: true })),\n boolean: ((arg) => ZodBoolean.create({\n ...arg,\n coerce: true,\n })),\n bigint: ((arg) => ZodBigInt.create({ ...arg, coerce: true })),\n date: ((arg) => ZodDate.create({ ...arg, coerce: true })),\n};\nconst NEVER = INVALID;\n\nvar z = /*#__PURE__*/Object.freeze({\n __proto__: null,\n defaultErrorMap: errorMap,\n setErrorMap: setErrorMap,\n getErrorMap: getErrorMap,\n makeIssue: makeIssue,\n EMPTY_PATH: EMPTY_PATH,\n addIssueToContext: addIssueToContext,\n ParseStatus: ParseStatus,\n INVALID: INVALID,\n DIRTY: DIRTY,\n OK: OK,\n isAborted: isAborted,\n isDirty: isDirty,\n isValid: isValid,\n isAsync: isAsync,\n get util () { return util; },\n get objectUtil () { return objectUtil; },\n ZodParsedType: ZodParsedType,\n getParsedType: getParsedType,\n ZodType: ZodType,\n ZodString: ZodString,\n ZodNumber: ZodNumber,\n ZodBigInt: ZodBigInt,\n ZodBoolean: ZodBoolean,\n ZodDate: ZodDate,\n ZodSymbol: ZodSymbol,\n ZodUndefined: ZodUndefined,\n ZodNull: ZodNull,\n ZodAny: ZodAny,\n ZodUnknown: ZodUnknown,\n ZodNever: ZodNever,\n ZodVoid: ZodVoid,\n ZodArray: ZodArray,\n ZodObject: ZodObject,\n ZodUnion: ZodUnion,\n ZodDiscriminatedUnion: ZodDiscriminatedUnion,\n ZodIntersection: ZodIntersection,\n ZodTuple: ZodTuple,\n ZodRecord: ZodRecord,\n ZodMap: ZodMap,\n ZodSet: ZodSet,\n ZodFunction: ZodFunction,\n ZodLazy: ZodLazy,\n ZodLiteral: ZodLiteral,\n ZodEnum: ZodEnum,\n ZodNativeEnum: ZodNativeEnum,\n ZodPromise: ZodPromise,\n ZodEffects: ZodEffects,\n ZodTransformer: ZodEffects,\n ZodOptional: ZodOptional,\n ZodNullable: ZodNullable,\n ZodDefault: ZodDefault,\n ZodCatch: ZodCatch,\n ZodNaN: ZodNaN,\n BRAND: BRAND,\n ZodBranded: ZodBranded,\n ZodPipeline: ZodPipeline,\n ZodReadonly: ZodReadonly,\n custom: custom,\n Schema: ZodType,\n ZodSchema: ZodType,\n late: late,\n get ZodFirstPartyTypeKind () { return ZodFirstPartyTypeKind; },\n coerce: coerce,\n any: anyType,\n array: arrayType,\n bigint: bigIntType,\n boolean: booleanType,\n date: dateType,\n discriminatedUnion: discriminatedUnionType,\n effect: effectsType,\n 'enum': enumType,\n 'function': functionType,\n 'instanceof': instanceOfType,\n intersection: intersectionType,\n lazy: lazyType,\n literal: literalType,\n map: mapType,\n nan: nanType,\n nativeEnum: nativeEnumType,\n never: neverType,\n 'null': nullType,\n nullable: nullableType,\n number: numberType,\n object: objectType,\n oboolean: oboolean,\n onumber: onumber,\n optional: optionalType,\n ostring: ostring,\n pipeline: pipelineType,\n preprocess: preprocessType,\n promise: promiseType,\n record: recordType,\n set: setType,\n strictObject: strictObjectType,\n string: stringType,\n symbol: symbolType,\n transformer: effectsType,\n tuple: tupleType,\n 'undefined': undefinedType,\n union: unionType,\n unknown: unknownType,\n 'void': voidType,\n NEVER: NEVER,\n ZodIssueCode: ZodIssueCode,\n quotelessJson: quotelessJson,\n ZodError: ZodError\n});\n\nexport { BRAND, DIRTY, EMPTY_PATH, INVALID, NEVER, OK, ParseStatus, ZodType as Schema, ZodAny, ZodArray, ZodBigInt, ZodBoolean, ZodBranded, ZodCatch, ZodDate, ZodDefault, ZodDiscriminatedUnion, ZodEffects, ZodEnum, ZodError, ZodFirstPartyTypeKind, ZodFunction, ZodIntersection, ZodIssueCode, ZodLazy, ZodLiteral, ZodMap, ZodNaN, ZodNativeEnum, ZodNever, ZodNull, ZodNullable, ZodNumber, ZodObject, ZodOptional, ZodParsedType, ZodPipeline, ZodPromise, ZodReadonly, ZodRecord, ZodType as ZodSchema, ZodSet, ZodString, ZodSymbol, ZodEffects as ZodTransformer, ZodTuple, ZodType, ZodUndefined, ZodUnion, ZodUnknown, ZodVoid, addIssueToContext, anyType as any, arrayType as array, bigIntType as bigint, booleanType as boolean, coerce, custom, dateType as date, z as default, errorMap as defaultErrorMap, discriminatedUnionType as discriminatedUnion, effectsType as effect, enumType as enum, functionType as function, getErrorMap, getParsedType, instanceOfType as instanceof, intersectionType as intersection, isAborted, isAsync, isDirty, isValid, late, lazyType as lazy, literalType as literal, makeIssue, mapType as map, nanType as nan, nativeEnumType as nativeEnum, neverType as never, nullType as null, nullableType as nullable, numberType as number, objectType as object, objectUtil, oboolean, onumber, optionalType as optional, ostring, pipelineType as pipeline, preprocessType as preprocess, promiseType as promise, quotelessJson, recordType as record, setType as set, setErrorMap, strictObjectType as strictObject, stringType as string, symbolType as symbol, effectsType as transformer, tupleType as tuple, undefinedType as undefined, unionType as union, unknownType as unknown, util, voidType as void, z };\n","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { BaseWeb3Error, ERR_VALIDATION } from 'web3-errors';\nconst errorFormatter = (error) => {\n if (error.message) {\n return error.message;\n }\n return 'unspecified error';\n};\nexport class Web3ValidatorError extends BaseWeb3Error {\n constructor(errors) {\n super();\n this.code = ERR_VALIDATION;\n this.errors = errors;\n super.message = `Web3 validator found ${errors.length} error[s]:\\n${this._compileErrors().join('\\n')}`;\n }\n _compileErrors() {\n return this.errors.map(errorFormatter);\n }\n}\n//# sourceMappingURL=errors.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nexport const VALID_ETH_BASE_TYPES = ['bool', 'int', 'uint', 'bytes', 'string', 'address', 'tuple'];\n//# sourceMappingURL=constants.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nexport const isAbiParameterSchema = (schema) => typeof schema === 'object' && 'type' in schema && 'name' in schema;\n//# sourceMappingURL=abi.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\n/**\n * checks input if typeof data is valid string input\n */\nexport const isString = (value) => typeof value === 'string';\nexport const isHexStrict = (hex) => typeof hex === 'string' && /^((-)?0x[0-9a-f]+|(0x))$/i.test(hex);\n/**\n * Is the string a hex string.\n *\n * @param value\n * @param length\n * @returns output the string is a hex string\n */\nexport function isHexString(value, length) {\n if (typeof value !== 'string' || !value.match(/^0x[0-9A-Fa-f]*$/))\n return false;\n if (typeof length !== 'undefined' && length > 0 && value.length !== 2 + 2 * length)\n return false;\n return true;\n}\nexport const isHex = (hex) => typeof hex === 'number' ||\n typeof hex === 'bigint' ||\n (typeof hex === 'string' && /^((-0x|0x|-)?[0-9a-f]+|(0x))$/i.test(hex));\nexport const isHexString8Bytes = (value, prefixed = true) => prefixed ? isHexStrict(value) && value.length === 18 : isHex(value) && value.length === 16;\nexport const isHexString32Bytes = (value, prefixed = true) => prefixed ? isHexStrict(value) && value.length === 66 : isHex(value) && value.length === 64;\n/**\n * Returns a `Boolean` on whether or not the a `String` starts with '0x'\n * @param str the string input value\n * @return a boolean if it is or is not hex prefixed\n * @throws if the str input is not a string\n */\nexport function isHexPrefixed(str) {\n if (typeof str !== 'string') {\n throw new Error(`[isHexPrefixed] input must be type 'string', received type ${typeof str}`);\n }\n return str.startsWith('0x');\n}\n/**\n * Checks provided Uint8Array for leading zeroes and throws if found.\n *\n * Examples:\n *\n * Valid values: 0x1, 0x, 0x01, 0x1234\n * Invalid values: 0x0, 0x00, 0x001, 0x0001\n *\n * Note: This method is useful for validating that RLP encoded integers comply with the rule that all\n * integer values encoded to RLP must be in the most compact form and contain no leading zero bytes\n * @param values An object containing string keys and Uint8Array values\n * @throws if any provided value is found to have leading zero bytes\n */\nexport const validateNoLeadingZeroes = function (values) {\n for (const [k, v] of Object.entries(values)) {\n if (v !== undefined && v.length > 0 && v[0] === 0) {\n throw new Error(`${k} cannot have leading zeroes, received: ${v.toString()}`);\n }\n }\n};\n//# sourceMappingURL=string.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { InvalidBytesError, InvalidNumberError } from 'web3-errors';\nimport { VALID_ETH_BASE_TYPES } from './constants.js';\nimport { isAbiParameterSchema } from './validation/abi.js';\nimport { isHexStrict } from './validation/string.js';\nimport { Web3ValidatorError } from './errors.js';\nconst extraTypes = ['hex', 'number', 'blockNumber', 'blockNumberOrTag', 'filter', 'bloom'];\nexport const parseBaseType = (type) => {\n // Remove all empty spaces to avoid any parsing issue.\n let strippedType = type.replace(/ /, '');\n let baseTypeSize;\n let isArray = false;\n let arraySizes = [];\n if (type.includes('[')) {\n // Extract the array type\n strippedType = strippedType.slice(0, strippedType.indexOf('['));\n // Extract array indexes\n arraySizes = [...type.matchAll(/(?:\\[(\\d*)\\])/g)]\n .map(match => parseInt(match[1], 10))\n .map(size => (Number.isNaN(size) ? -1 : size));\n isArray = arraySizes.length > 0;\n }\n if (VALID_ETH_BASE_TYPES.includes(strippedType)) {\n return { baseType: strippedType, isArray, baseTypeSize, arraySizes };\n }\n if (strippedType.startsWith('int')) {\n baseTypeSize = parseInt(strippedType.substring(3), 10);\n strippedType = 'int';\n }\n else if (strippedType.startsWith('uint')) {\n baseTypeSize = parseInt(type.substring(4), 10);\n strippedType = 'uint';\n }\n else if (strippedType.startsWith('bytes')) {\n baseTypeSize = parseInt(strippedType.substring(5), 10);\n strippedType = 'bytes';\n }\n else {\n return { baseType: undefined, isArray: false, baseTypeSize: undefined, arraySizes };\n }\n return { baseType: strippedType, isArray, baseTypeSize, arraySizes };\n};\nconst convertEthType = (type, parentSchema = {}) => {\n const typePropertyPresent = Object.keys(parentSchema).includes('type');\n if (typePropertyPresent) {\n throw new Web3ValidatorError([\n {\n keyword: 'eth',\n message: 'Either \"eth\" or \"type\" can be presented in schema',\n params: { eth: type },\n instancePath: '',\n schemaPath: '',\n },\n ]);\n }\n const { baseType, baseTypeSize } = parseBaseType(type);\n if (!baseType && !extraTypes.includes(type)) {\n throw new Web3ValidatorError([\n {\n keyword: 'eth',\n message: `Eth data type \"${type}\" is not valid`,\n params: { eth: type },\n instancePath: '',\n schemaPath: '',\n },\n ]);\n }\n if (baseType) {\n if (baseType === 'tuple') {\n throw new Error('\"tuple\" type is not implemented directly.');\n }\n return { format: `${baseType}${baseTypeSize !== null && baseTypeSize !== void 0 ? baseTypeSize : ''}`, required: true };\n }\n if (type) {\n return { format: type, required: true };\n }\n return {};\n};\nexport const abiSchemaToJsonSchema = (abis, level = '/0') => {\n const schema = {\n type: 'array',\n items: [],\n maxItems: abis.length,\n minItems: abis.length,\n };\n for (const [index, abi] of abis.entries()) {\n // eslint-disable-next-line no-nested-ternary\n let abiType;\n let abiName;\n let abiComponents = [];\n // If it's a complete Abi Parameter\n // e.g. {name: 'a', type: 'uint'}\n if (isAbiParameterSchema(abi)) {\n abiType = abi.type;\n abiName = abi.name;\n abiComponents = abi.components;\n // If its short form string value e.g. ['uint']\n }\n else if (typeof abi === 'string') {\n abiType = abi;\n abiName = `${level}/${index}`;\n // If it's provided in short form of tuple e.g. [['uint', 'string']]\n }\n else if (Array.isArray(abi)) {\n // If its custom tuple e.g. ['tuple[2]', ['uint', 'string']]\n if (abi[0] &&\n typeof abi[0] === 'string' &&\n abi[0].startsWith('tuple') &&\n !Array.isArray(abi[0]) &&\n abi[1] &&\n Array.isArray(abi[1])) {\n // eslint-disable-next-line prefer-destructuring\n abiType = abi[0];\n abiName = `${level}/${index}`;\n abiComponents = abi[1];\n }\n else {\n abiType = 'tuple';\n abiName = `${level}/${index}`;\n abiComponents = abi;\n }\n }\n const { baseType, isArray, arraySizes } = parseBaseType(abiType);\n let childSchema;\n let lastSchema = schema;\n for (let i = arraySizes.length - 1; i > 0; i -= 1) {\n childSchema = {\n type: 'array',\n $id: abiName,\n items: [],\n maxItems: arraySizes[i],\n minItems: arraySizes[i],\n };\n if (arraySizes[i] < 0) {\n delete childSchema.maxItems;\n delete childSchema.minItems;\n }\n // lastSchema.items is a Schema, concat with 'childSchema'\n if (!Array.isArray(lastSchema.items)) {\n lastSchema.items = [lastSchema.items, childSchema];\n } // lastSchema.items is an empty Scheme array, set it to 'childSchema'\n else if (lastSchema.items.length === 0) {\n lastSchema.items = [childSchema];\n } // lastSchema.items is a non-empty Scheme array, append 'childSchema'\n else {\n lastSchema.items.push(childSchema);\n }\n lastSchema = childSchema;\n }\n if (baseType === 'tuple' && !isArray) {\n const nestedTuple = abiSchemaToJsonSchema(abiComponents, abiName);\n nestedTuple.$id = abiName;\n lastSchema.items.push(nestedTuple);\n }\n else if (baseType === 'tuple' && isArray) {\n const arraySize = arraySizes[0];\n const item = Object.assign({ type: 'array', $id: abiName, items: abiSchemaToJsonSchema(abiComponents, abiName) }, (arraySize >= 0 && { minItems: arraySize, maxItems: arraySize }));\n lastSchema.items.push(item);\n }\n else if (isArray) {\n const arraySize = arraySizes[0];\n const item = Object.assign({ type: 'array', $id: abiName, items: convertEthType(abiType) }, (arraySize >= 0 && { minItems: arraySize, maxItems: arraySize }));\n lastSchema.items.push(item);\n }\n else if (Array.isArray(lastSchema.items)) {\n // Array of non-tuple items\n lastSchema.items.push(Object.assign({ $id: abiName }, convertEthType(abiType)));\n }\n else {\n // Nested object\n lastSchema.items.push(Object.assign({ $id: abiName }, convertEthType(abiType)));\n }\n lastSchema = schema;\n }\n return schema;\n};\nexport const ethAbiToJsonSchema = (abis) => abiSchemaToJsonSchema(abis);\nexport const fetchArrayElement = (data, level) => {\n if (level === 1) {\n return data;\n }\n return fetchArrayElement(data[0], level - 1);\n};\nexport const transformJsonDataToAbiFormat = (abis, data, transformedData) => {\n const newData = [];\n for (const [index, abi] of abis.entries()) {\n // eslint-disable-next-line no-nested-ternary\n let abiType;\n let abiName;\n let abiComponents = [];\n // If it's a complete Abi Parameter\n // e.g. {name: 'a', type: 'uint'}\n if (isAbiParameterSchema(abi)) {\n abiType = abi.type;\n abiName = abi.name;\n abiComponents = abi.components;\n // If its short form string value e.g. ['uint']\n }\n else if (typeof abi === 'string') {\n abiType = abi;\n // If it's provided in short form of tuple e.g. [['uint', 'string']]\n }\n else if (Array.isArray(abi)) {\n // If its custom tuple e.g. ['tuple[2]', ['uint', 'string']]\n if (abi[1] && Array.isArray(abi[1])) {\n abiType = abi[0];\n abiComponents = abi[1];\n }\n else {\n abiType = 'tuple';\n abiComponents = abi;\n }\n }\n const { baseType, isArray, arraySizes } = parseBaseType(abiType);\n const dataItem = Array.isArray(data)\n ? data[index]\n : data[abiName];\n if (baseType === 'tuple' && !isArray) {\n newData.push(transformJsonDataToAbiFormat(abiComponents, dataItem, transformedData));\n }\n else if (baseType === 'tuple' && isArray) {\n const tupleData = [];\n for (const tupleItem of dataItem) {\n // Nested array\n if (arraySizes.length > 1) {\n const nestedItems = fetchArrayElement(tupleItem, arraySizes.length - 1);\n const nestedData = [];\n for (const nestedItem of nestedItems) {\n nestedData.push(transformJsonDataToAbiFormat(abiComponents, nestedItem, transformedData));\n }\n tupleData.push(nestedData);\n }\n else {\n tupleData.push(transformJsonDataToAbiFormat(abiComponents, tupleItem, transformedData));\n }\n }\n newData.push(tupleData);\n }\n else {\n newData.push(dataItem);\n }\n }\n // Have to reassign before pushing to transformedData\n // eslint-disable-next-line no-param-reassign\n transformedData = transformedData !== null && transformedData !== void 0 ? transformedData : [];\n transformedData.push(...newData);\n return transformedData;\n};\n/**\n * Code points to int\n */\nexport const codePointToInt = (codePoint) => {\n if (codePoint >= 48 && codePoint <= 57) {\n /* ['0'..'9'] -> [0..9] */\n return codePoint - 48;\n }\n if (codePoint >= 65 && codePoint <= 70) {\n /* ['A'..'F'] -> [10..15] */\n return codePoint - 55;\n }\n if (codePoint >= 97 && codePoint <= 102) {\n /* ['a'..'f'] -> [10..15] */\n return codePoint - 87;\n }\n throw new Error(`Invalid code point: ${codePoint}`);\n};\n/**\n * Converts value to it's number representation\n */\nexport const hexToNumber = (value) => {\n if (!isHexStrict(value)) {\n throw new Error('Invalid hex string');\n }\n const [negative, hexValue] = value.startsWith('-') ? [true, value.slice(1)] : [false, value];\n const num = BigInt(hexValue);\n if (num > Number.MAX_SAFE_INTEGER) {\n return negative ? -num : num;\n }\n if (num < Number.MIN_SAFE_INTEGER) {\n return num;\n }\n return negative ? -1 * Number(num) : Number(num);\n};\n/**\n * Converts value to it's hex representation\n */\nexport const numberToHex = (value) => {\n if ((typeof value === 'number' || typeof value === 'bigint') && value < 0) {\n return `-0x${value.toString(16).slice(1)}`;\n }\n if ((typeof value === 'number' || typeof value === 'bigint') && value >= 0) {\n return `0x${value.toString(16)}`;\n }\n if (typeof value === 'string' && isHexStrict(value)) {\n const [negative, hex] = value.startsWith('-') ? [true, value.slice(1)] : [false, value];\n const hexValue = hex.split(/^(-)?0(x|X)/).slice(-1)[0];\n return `${negative ? '-' : ''}0x${hexValue.replace(/^0+/, '').toLowerCase()}`;\n }\n if (typeof value === 'string' && !isHexStrict(value)) {\n return numberToHex(BigInt(value));\n }\n throw new InvalidNumberError(value);\n};\n/**\n * Adds a padding on the left of a string, if value is a integer or bigInt will be converted to a hex string.\n */\nexport const padLeft = (value, characterAmount, sign = '0') => {\n if (typeof value === 'string' && !isHexStrict(value)) {\n return value.padStart(characterAmount, sign);\n }\n const hex = typeof value === 'string' && isHexStrict(value) ? value : numberToHex(value);\n const [prefix, hexValue] = hex.startsWith('-') ? ['-0x', hex.slice(3)] : ['0x', hex.slice(2)];\n return `${prefix}${hexValue.padStart(characterAmount, sign)}`;\n};\nexport function uint8ArrayToHexString(uint8Array) {\n let hexString = '0x';\n for (const e of uint8Array) {\n const hex = e.toString(16);\n hexString += hex.length === 1 ? `0${hex}` : hex;\n }\n return hexString;\n}\n// for optimized technique for hex to bytes conversion\nconst charCodeMap = {\n zero: 48,\n nine: 57,\n A: 65,\n F: 70,\n a: 97,\n f: 102,\n};\nfunction charCodeToBase16(char) {\n if (char >= charCodeMap.zero && char <= charCodeMap.nine)\n return char - charCodeMap.zero;\n if (char >= charCodeMap.A && char <= charCodeMap.F)\n return char - (charCodeMap.A - 10);\n if (char >= charCodeMap.a && char <= charCodeMap.f)\n return char - (charCodeMap.a - 10);\n return undefined;\n}\nexport function hexToUint8Array(hex) {\n let offset = 0;\n if (hex.startsWith('0') && (hex[1] === 'x' || hex[1] === 'X')) {\n offset = 2;\n }\n if (hex.length % 2 !== 0) {\n throw new InvalidBytesError(`hex string has odd length: ${hex}`);\n }\n const length = (hex.length - offset) / 2;\n const bytes = new Uint8Array(length);\n for (let index = 0, j = offset; index < length; index += 1) {\n // eslint-disable-next-line no-plusplus\n const nibbleLeft = charCodeToBase16(hex.charCodeAt(j++));\n // eslint-disable-next-line no-plusplus\n const nibbleRight = charCodeToBase16(hex.charCodeAt(j++));\n if (nibbleLeft === undefined || nibbleRight === undefined) {\n throw new InvalidBytesError(`Invalid byte sequence (\"${hex[j - 2]}${hex[j - 1]}\" in \"${hex}\").`);\n }\n bytes[index] = nibbleLeft * 16 + nibbleRight;\n }\n return bytes;\n}\n// @TODO: Remove this function and its usages once all sub dependencies uses version 1.3.3 or above of @noble/hashes\nexport function ensureIfUint8Array(data) {\n var _a;\n if (!(data instanceof Uint8Array) &&\n ((_a = data === null || data === void 0 ? void 0 : data.constructor) === null || _a === void 0 ? void 0 : _a.name) === 'Uint8Array') {\n return Uint8Array.from(data);\n }\n return data;\n}\n//# sourceMappingURL=utils.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { hexToUint8Array, parseBaseType } from '../utils.js';\nimport { isHexStrict } from './string.js';\n/**\n * checks input if typeof data is valid Uint8Array input\n */\nexport const isUint8Array = (data) => { var _a; return data instanceof Uint8Array || ((_a = data === null || data === void 0 ? void 0 : data.constructor) === null || _a === void 0 ? void 0 : _a.name) === 'Uint8Array'; };\nexport const isBytes = (value, options = {\n abiType: 'bytes',\n}) => {\n if (typeof value !== 'string' && !Array.isArray(value) && !isUint8Array(value)) {\n return false;\n }\n // isHexStrict also accepts - prefix which can not exists in bytes\n if (typeof value === 'string' && isHexStrict(value) && value.startsWith('-')) {\n return false;\n }\n if (typeof value === 'string' && !isHexStrict(value)) {\n return false;\n }\n let valueToCheck;\n if (typeof value === 'string') {\n if (value.length % 2 !== 0) {\n // odd length hex\n return false;\n }\n valueToCheck = hexToUint8Array(value);\n }\n else if (Array.isArray(value)) {\n if (value.some(d => d < 0 || d > 255 || !Number.isInteger(d))) {\n return false;\n }\n valueToCheck = new Uint8Array(value);\n }\n else {\n valueToCheck = value;\n }\n if (options === null || options === void 0 ? void 0 : options.abiType) {\n const { baseTypeSize } = parseBaseType(options.abiType);\n return baseTypeSize ? valueToCheck.length === baseTypeSize : true;\n }\n if (options === null || options === void 0 ? void 0 : options.size) {\n return valueToCheck.length === (options === null || options === void 0 ? void 0 : options.size);\n }\n return true;\n};\n//# sourceMappingURL=bytes.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { keccak256 } from 'ethereum-cryptography/keccak.js';\nimport { utf8ToBytes } from 'ethereum-cryptography/utils.js';\nimport { ensureIfUint8Array, uint8ArrayToHexString } from '../utils.js';\nimport { isHexStrict } from './string.js';\nimport { isUint8Array } from './bytes.js';\n/**\n * Checks the checksum of a given address. Will also return false on non-checksum addresses.\n */\nexport const checkAddressCheckSum = (data) => {\n if (!/^(0x)?[0-9a-f]{40}$/i.test(data))\n return false;\n const address = data.slice(2);\n const updatedData = utf8ToBytes(address.toLowerCase());\n const addressHash = uint8ArrayToHexString(keccak256(ensureIfUint8Array(updatedData))).slice(2);\n for (let i = 0; i < 40; i += 1) {\n // the nth letter should be uppercase if the nth digit of casemap is 1\n if ((parseInt(addressHash[i], 16) > 7 && address[i].toUpperCase() !== address[i]) ||\n (parseInt(addressHash[i], 16) <= 7 && address[i].toLowerCase() !== address[i])) {\n return false;\n }\n }\n return true;\n};\n/**\n * Checks if a given string is a valid Ethereum address. It will also check the checksum, if the address has upper and lowercase letters.\n */\nexport const isAddress = (value, checkChecksum = true) => {\n if (typeof value !== 'string' && !isUint8Array(value)) {\n return false;\n }\n let valueToCheck;\n if (isUint8Array(value)) {\n valueToCheck = uint8ArrayToHexString(value);\n }\n else if (typeof value === 'string' && !isHexStrict(value)) {\n valueToCheck = value.toLowerCase().startsWith('0x') ? value : `0x${value}`;\n }\n else {\n valueToCheck = value;\n }\n // check if it has the basic requirements of an address\n if (!/^(0x)?[0-9a-f]{40}$/i.test(valueToCheck)) {\n return false;\n }\n // If it's ALL lowercase or ALL upppercase\n if (/^(0x|0X)?[0-9a-f]{40}$/.test(valueToCheck) ||\n /^(0x|0X)?[0-9A-F]{40}$/.test(valueToCheck)) {\n return true;\n // Otherwise check each case\n }\n return checkChecksum ? checkAddressCheckSum(valueToCheck) : true;\n};\n//# sourceMappingURL=address.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nexport var FMT_NUMBER;\n(function (FMT_NUMBER) {\n FMT_NUMBER[\"NUMBER\"] = \"NUMBER_NUMBER\";\n FMT_NUMBER[\"HEX\"] = \"NUMBER_HEX\";\n FMT_NUMBER[\"STR\"] = \"NUMBER_STR\";\n FMT_NUMBER[\"BIGINT\"] = \"NUMBER_BIGINT\";\n})(FMT_NUMBER || (FMT_NUMBER = {}));\nexport var FMT_BYTES;\n(function (FMT_BYTES) {\n FMT_BYTES[\"HEX\"] = \"BYTES_HEX\";\n FMT_BYTES[\"UINT8ARRAY\"] = \"BYTES_UINT8ARRAY\";\n})(FMT_BYTES || (FMT_BYTES = {}));\nexport const DEFAULT_RETURN_FORMAT = { number: FMT_NUMBER.BIGINT, bytes: FMT_BYTES.HEX };\nexport const ETH_DATA_FORMAT = { number: FMT_NUMBER.HEX, bytes: FMT_BYTES.HEX };\n//# sourceMappingURL=data_format_types.js.map","export var BlockTags;\n(function (BlockTags) {\n BlockTags[\"EARLIEST\"] = \"earliest\";\n BlockTags[\"LATEST\"] = \"latest\";\n BlockTags[\"PENDING\"] = \"pending\";\n BlockTags[\"SAFE\"] = \"safe\";\n BlockTags[\"FINALIZED\"] = \"finalized\";\n})(BlockTags || (BlockTags = {}));\n// This list of hardforks is expected to be in order\n// keep this in mind when making changes to it\nexport var HardforksOrdered;\n(function (HardforksOrdered) {\n HardforksOrdered[\"chainstart\"] = \"chainstart\";\n HardforksOrdered[\"frontier\"] = \"frontier\";\n HardforksOrdered[\"homestead\"] = \"homestead\";\n HardforksOrdered[\"dao\"] = \"dao\";\n HardforksOrdered[\"tangerineWhistle\"] = \"tangerineWhistle\";\n HardforksOrdered[\"spuriousDragon\"] = \"spuriousDragon\";\n HardforksOrdered[\"byzantium\"] = \"byzantium\";\n HardforksOrdered[\"constantinople\"] = \"constantinople\";\n HardforksOrdered[\"petersburg\"] = \"petersburg\";\n HardforksOrdered[\"istanbul\"] = \"istanbul\";\n HardforksOrdered[\"muirGlacier\"] = \"muirGlacier\";\n HardforksOrdered[\"berlin\"] = \"berlin\";\n HardforksOrdered[\"london\"] = \"london\";\n HardforksOrdered[\"altair\"] = \"altair\";\n HardforksOrdered[\"arrowGlacier\"] = \"arrowGlacier\";\n HardforksOrdered[\"grayGlacier\"] = \"grayGlacier\";\n HardforksOrdered[\"bellatrix\"] = \"bellatrix\";\n HardforksOrdered[\"merge\"] = \"merge\";\n HardforksOrdered[\"capella\"] = \"capella\";\n HardforksOrdered[\"shanghai\"] = \"shanghai\";\n})(HardforksOrdered || (HardforksOrdered = {}));\n//# sourceMappingURL=eth_types.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst symbol = Symbol.for('web3/base-provider');\n// Provider interface compatible with EIP-1193\n// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1193.md\nexport class Web3BaseProvider {\n static isWeb3Provider(provider) {\n return (provider instanceof Web3BaseProvider ||\n Boolean(provider && provider[symbol]));\n }\n // To match an object \"instanceof\" does not work if\n // matcher class and object is using different package versions\n // to overcome this bottleneck used this approach.\n // The symbol value for one string will always remain same regardless of package versions\n // eslint-disable-next-line class-methods-use-this\n get [symbol]() {\n return true;\n }\n /**\n * @deprecated Please use `.request` instead.\n * @param payload - Request Payload\n * @param callback - Callback\n */\n send(payload, \n // eslint-disable-next-line @typescript-eslint/ban-types\n callback) {\n this.request(payload)\n .then(response => {\n // eslint-disable-next-line no-null/no-null\n callback(null, response);\n })\n .catch((err) => {\n callback(err);\n });\n }\n /**\n * @deprecated Please use `.request` instead.\n * @param payload - Request Payload\n */\n sendAsync(payload) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request(payload);\n });\n }\n /**\n * Modify the return type of the request method to be fully compatible with EIP-1193\n *\n * [deprecated] In the future major releases (\\>= v5) all providers are supposed to be fully compatible with EIP-1193.\n * So this method will not be needed and would not be available in the future.\n *\n * @returns A new instance of the provider with the request method fully compatible with EIP-1193\n *\n * @example\n * ```ts\n * const provider = new Web3HttpProvider('http://localhost:8545');\n * const fullyCompatibleProvider = provider.asEIP1193Provider();\n * const result = await fullyCompatibleProvider.request({ method: 'eth_getBalance' });\n * console.log(result); // '0x0234c8a3397aab58' or something like that\n * ```\n */\n asEIP1193Provider() {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const newObj = Object.create(this);\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const originalRequest = newObj.request;\n newObj.request = function request(args) {\n return __awaiter(this, void 0, void 0, function* () {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n const response = (yield originalRequest(args));\n return response.result;\n });\n };\n // @ts-expect-error the property should not be available in the new object because of using Object.create(this).\n //\tBut it is available if we do not delete it.\n newObj.asEIP1193Provider = undefined; // to prevent the user for calling this method again\n return newObj;\n }\n}\n//# sourceMappingURL=web3_base_provider.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { parseBaseType, hexToNumber } from '../utils.js';\nimport { isHexStrict } from './string.js';\n/**\n * Checks if a given value is a valid big int\n */\nexport const isBigInt = (value) => typeof value === 'bigint';\n// Note: this could be simplified using ** operator, but babel does not handle it well\n// \tyou can find more at: https://github.com/babel/babel/issues/13109 and https://github.com/web3/web3.js/issues/6187\n/** @internal */\nexport const bigintPower = (base, expo) => {\n let res = base;\n for (let index = 1; index < expo; index += 1) {\n res *= base;\n }\n return res;\n};\nexport const isUInt = (value, options = {\n abiType: 'uint',\n}) => {\n if (!['number', 'string', 'bigint'].includes(typeof value) ||\n (typeof value === 'string' && value.length === 0)) {\n return false;\n }\n let size;\n if (options === null || options === void 0 ? void 0 : options.abiType) {\n const { baseTypeSize } = parseBaseType(options.abiType);\n if (baseTypeSize) {\n size = baseTypeSize;\n }\n }\n else if (options.bitSize) {\n size = options.bitSize;\n }\n const maxSize = bigintPower(BigInt(2), BigInt(size !== null && size !== void 0 ? size : 256)) - BigInt(1);\n try {\n const valueToCheck = typeof value === 'string' && isHexStrict(value)\n ? BigInt(hexToNumber(value))\n : BigInt(value);\n return valueToCheck >= 0 && valueToCheck <= maxSize;\n }\n catch (error) {\n // Some invalid number value given which can not be converted via BigInt\n return false;\n }\n};\nexport const isInt = (value, options = {\n abiType: 'int',\n}) => {\n if (!['number', 'string', 'bigint'].includes(typeof value)) {\n return false;\n }\n if (typeof value === 'number' && value > Number.MAX_SAFE_INTEGER) {\n return false;\n }\n let size;\n if (options === null || options === void 0 ? void 0 : options.abiType) {\n const { baseTypeSize, baseType } = parseBaseType(options.abiType);\n if (baseType !== 'int') {\n return false;\n }\n if (baseTypeSize) {\n size = baseTypeSize;\n }\n }\n else if (options.bitSize) {\n size = options.bitSize;\n }\n const maxSize = bigintPower(BigInt(2), BigInt((size !== null && size !== void 0 ? size : 256) - 1));\n const minSize = BigInt(-1) * bigintPower(BigInt(2), BigInt((size !== null && size !== void 0 ? size : 256) - 1));\n try {\n const valueToCheck = typeof value === 'string' && isHexStrict(value)\n ? BigInt(hexToNumber(value))\n : BigInt(value);\n return valueToCheck >= minSize && valueToCheck <= maxSize;\n }\n catch (error) {\n // Some invalid number value given which can not be converted via BigInt\n return false;\n }\n};\nexport const isNumber = (value) => {\n if (isInt(value)) {\n return true;\n }\n // It would be a decimal number\n if (typeof value === 'string' &&\n /[0-9.]/.test(value) &&\n value.indexOf('.') === value.lastIndexOf('.')) {\n return true;\n }\n if (typeof value === 'number') {\n return true;\n }\n return false;\n};\n//# sourceMappingURL=numbers.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { BlockTags } from 'web3-types';\nimport { isUInt } from './numbers.js';\nexport const isBlockNumber = (value) => isUInt(value);\n/**\n * Returns true if the given blockNumber is 'latest', 'pending', 'earliest, 'safe' or 'finalized'\n */\nexport const isBlockTag = (value) => Object.values(BlockTags).includes(value);\n/**\n * Returns true if given value is valid hex string and not negative, or is a valid BlockTag\n */\nexport const isBlockNumberOrTag = (value) => isBlockTag(value) || isBlockNumber(value);\n//# sourceMappingURL=block.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { keccak256 } from 'ethereum-cryptography/keccak.js';\nimport { codePointToInt, hexToUint8Array, padLeft, uint8ArrayToHexString } from '../utils.js';\nimport { isAddress } from './address.js';\nimport { isHexStrict } from './string.js';\n/**\n * Returns true if the bloom is a valid bloom\n * https://github.com/joshstevens19/ethereum-bloom-filters/blob/fbeb47b70b46243c3963fe1c2988d7461ef17236/src/index.ts#L7\n */\nexport const isBloom = (bloom) => {\n if (typeof bloom !== 'string') {\n return false;\n }\n if (!/^(0x)?[0-9a-f]{512}$/i.test(bloom)) {\n return false;\n }\n if (/^(0x)?[0-9a-f]{512}$/.test(bloom) || /^(0x)?[0-9A-F]{512}$/.test(bloom)) {\n return true;\n }\n return false;\n};\n/**\n * Returns true if the value is part of the given bloom\n * note: false positives are possible.\n */\nexport const isInBloom = (bloom, value) => {\n if (typeof value === 'string' && !isHexStrict(value)) {\n return false;\n }\n if (!isBloom(bloom)) {\n return false;\n }\n const uint8Array = typeof value === 'string' ? hexToUint8Array(value) : value;\n const hash = uint8ArrayToHexString(keccak256(uint8Array)).slice(2);\n for (let i = 0; i < 12; i += 4) {\n // calculate bit position in bloom filter that must be active\n const bitpos = \n // eslint-disable-next-line no-bitwise\n ((parseInt(hash.slice(i, i + 2), 16) << 8) + parseInt(hash.slice(i + 2, i + 4), 16)) &\n 2047;\n // test if bitpos in bloom is active\n const code = codePointToInt(bloom.charCodeAt(bloom.length - 1 - Math.floor(bitpos / 4)));\n // eslint-disable-next-line no-bitwise\n const offset = 1 << bitpos % 4;\n // eslint-disable-next-line no-bitwise\n if ((code & offset) !== offset) {\n return false;\n }\n }\n return true;\n};\n/**\n * Returns true if the ethereum users address is part of the given bloom note: false positives are possible.\n */\nexport const isUserEthereumAddressInBloom = (bloom, ethereumAddress) => {\n if (!isBloom(bloom)) {\n return false;\n }\n if (!isAddress(ethereumAddress)) {\n return false;\n }\n // you have to pad the ethereum address to 32 bytes\n // else the bloom filter does not work\n // this is only if your matching the USERS\n // ethereum address. Contract address do not need this\n // hence why we have 2 methods\n // (0x is not in the 2nd parameter of padleft so 64 chars is fine)\n const address = padLeft(ethereumAddress, 64);\n return isInBloom(bloom, address);\n};\n/**\n * Returns true if the contract address is part of the given bloom.\n * note: false positives are possible.\n */\nexport const isContractAddressInBloom = (bloom, contractAddress) => {\n if (!isBloom(bloom)) {\n return false;\n }\n if (!isAddress(contractAddress)) {\n return false;\n }\n return isInBloom(bloom, contractAddress);\n};\n//# sourceMappingURL=bloom.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { isHexStrict } from './string.js';\nexport const isBoolean = (value) => {\n if (!['number', 'string', 'boolean'].includes(typeof value)) {\n return false;\n }\n if (typeof value === 'boolean') {\n return true;\n }\n if (typeof value === 'string' && !isHexStrict(value)) {\n return value === '1' || value === '0';\n }\n if (typeof value === 'string' && isHexStrict(value)) {\n return value === '0x1' || value === '0x0';\n }\n // type === number\n return value === 1 || value === 0;\n};\n//# sourceMappingURL=boolean.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { TypedArray } from 'web3-types';\n// Explicitly check for the\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const isNullish = (item) => \n// Using \"null\" value intentionally for validation\n// eslint-disable-next-line no-null/no-null\nitem === undefined || item === null;\nexport const isObject = (item) => typeof item === 'object' &&\n !isNullish(item) &&\n !Array.isArray(item) &&\n !(item instanceof TypedArray);\n//# sourceMappingURL=object.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { isBloom, isInBloom } from './bloom.js';\n/**\n * Checks if its a valid topic\n */\nexport const isTopic = (topic) => {\n if (typeof topic !== 'string') {\n return false;\n }\n if (!/^(0x)?[0-9a-f]{64}$/i.test(topic)) {\n return false;\n }\n if (/^(0x)?[0-9a-f]{64}$/.test(topic) || /^(0x)?[0-9A-F]{64}$/.test(topic)) {\n return true;\n }\n return false;\n};\n/**\n * Returns true if the topic is part of the given bloom.\n * note: false positives are possible.\n */\nexport const isTopicInBloom = (bloom, topic) => {\n if (!isBloom(bloom)) {\n return false;\n }\n if (!isTopic(topic)) {\n return false;\n }\n return isInBloom(bloom, topic);\n};\n//# sourceMappingURL=topic.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { isAddress } from './address.js';\nimport { isBlockNumberOrTag } from './block.js';\nimport { isNullish } from './object.js';\nimport { isTopic } from './topic.js';\n/**\n * First we check if all properties in the provided value are expected,\n * then because all Filter properties are optional, we check if the expected properties\n * are defined. If defined and they're not the expected type, we immediately return false,\n * otherwise we return true after all checks pass.\n */\nexport const isFilterObject = (value) => {\n const expectedFilterProperties = [\n 'fromBlock',\n 'toBlock',\n 'address',\n 'topics',\n 'blockHash',\n ];\n if (isNullish(value) || typeof value !== 'object')\n return false;\n if (!Object.keys(value).every(property => expectedFilterProperties.includes(property)))\n return false;\n if ((!isNullish(value.fromBlock) && !isBlockNumberOrTag(value.fromBlock)) ||\n (!isNullish(value.toBlock) && !isBlockNumberOrTag(value.toBlock)))\n return false;\n if (!isNullish(value.address)) {\n if (Array.isArray(value.address)) {\n if (!value.address.every(address => isAddress(address)))\n return false;\n }\n else if (!isAddress(value.address))\n return false;\n }\n if (!isNullish(value.topics)) {\n if (!value.topics.every(topic => {\n if (isNullish(topic))\n return true;\n if (Array.isArray(topic)) {\n return topic.every(nestedTopic => isTopic(nestedTopic));\n }\n if (isTopic(topic))\n return true;\n return false;\n }))\n return false;\n }\n return true;\n};\n//# sourceMappingURL=filter.js.map","import { isAddress } from './validation/address.js';\nimport { isBlockNumber, isBlockNumberOrTag, isBlockTag } from './validation/block.js';\nimport { isBloom } from './validation/bloom.js';\nimport { isBoolean } from './validation/boolean.js';\nimport { isBytes } from './validation/bytes.js';\nimport { isFilterObject } from './validation/filter.js';\nimport { isHexStrict, isString } from './validation/string.js';\nimport { isNumber, isInt, isUInt } from './validation/numbers.js';\nconst formats = {\n address: (data) => isAddress(data),\n bloom: (data) => isBloom(data),\n blockNumber: (data) => isBlockNumber(data),\n blockTag: (data) => isBlockTag(data),\n blockNumberOrTag: (data) => isBlockNumberOrTag(data),\n bool: (data) => isBoolean(data),\n bytes: (data) => isBytes(data),\n filter: (data) => isFilterObject(data),\n hex: (data) => isHexStrict(data),\n uint: (data) => isUInt(data),\n int: (data) => isInt(data),\n number: (data) => isNumber(data),\n string: (data) => isString(data),\n};\n// generate formats for all numbers types\nfor (let bitSize = 8; bitSize <= 256; bitSize += 8) {\n formats[`int${bitSize}`] = data => isInt(data, { bitSize });\n formats[`uint${bitSize}`] = data => isUInt(data, { bitSize });\n}\n// generate bytes\nfor (let size = 1; size <= 32; size += 1) {\n formats[`bytes${size}`] = data => isBytes(data, { size });\n}\nformats.bytes256 = formats.bytes;\nexport default formats;\n//# sourceMappingURL=formats.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { SchemaFormatError } from 'web3-errors';\nimport { z, ZodIssueCode } from 'zod';\nimport { Web3ValidatorError } from './errors.js';\nimport formats from './formats.js';\nconst convertToZod = (schema) => {\n if ((!(schema === null || schema === void 0 ? void 0 : schema.type) || (schema === null || schema === void 0 ? void 0 : schema.type) === 'object') && (schema === null || schema === void 0 ? void 0 : schema.properties)) {\n const obj = {};\n for (const name of Object.keys(schema.properties)) {\n const zItem = convertToZod(schema.properties[name]);\n if (zItem) {\n obj[name] = zItem;\n }\n }\n if (Array.isArray(schema.required)) {\n return z\n .object(obj)\n .partial()\n .required(schema.required.reduce((acc, v) => (Object.assign(Object.assign({}, acc), { [v]: true })), {}));\n }\n return z.object(obj).partial();\n }\n if ((schema === null || schema === void 0 ? void 0 : schema.type) === 'array' && (schema === null || schema === void 0 ? void 0 : schema.items)) {\n if (Array.isArray(schema.items) && schema.items.length > 1\n && schema.maxItems !== undefined\n && new Set(schema.items.map((item) => item.$id)).size === schema.items.length) {\n const arr = [];\n for (const item of schema.items) {\n const zItem = convertToZod(item);\n if (zItem) {\n arr.push(zItem);\n }\n }\n return z.tuple(arr);\n }\n const nextSchema = Array.isArray(schema.items) ? schema.items[0] : schema.items;\n let zodArraySchema = z.array(convertToZod(nextSchema));\n zodArraySchema = schema.minItems !== undefined ? zodArraySchema.min(schema.minItems) : zodArraySchema;\n zodArraySchema = schema.maxItems !== undefined ? zodArraySchema.max(schema.maxItems) : zodArraySchema;\n return zodArraySchema;\n }\n if (schema.oneOf && Array.isArray(schema.oneOf)) {\n return z.union(schema.oneOf.map(oneOfSchema => convertToZod(oneOfSchema)));\n }\n if (schema === null || schema === void 0 ? void 0 : schema.format) {\n if (!formats[schema.format]) {\n throw new SchemaFormatError(schema.format);\n }\n return z.any().refine(formats[schema.format], (value) => ({\n params: { value, format: schema.format },\n }));\n }\n if ((schema === null || schema === void 0 ? void 0 : schema.type) &&\n (schema === null || schema === void 0 ? void 0 : schema.type) !== 'object' &&\n typeof z[String(schema.type)] === 'function') {\n return z[String(schema.type)]();\n }\n return z.object({ data: z.any() }).partial();\n};\nexport class Validator {\n // eslint-disable-next-line no-useless-constructor, @typescript-eslint/no-empty-function\n static factory() {\n if (!Validator.validatorInstance) {\n Validator.validatorInstance = new Validator();\n }\n return Validator.validatorInstance;\n }\n validate(schema, data, options) {\n var _a, _b;\n const zod = convertToZod(schema);\n const result = zod.safeParse(data);\n if (!result.success) {\n const errors = this.convertErrors((_b = (_a = result.error) === null || _a === void 0 ? void 0 : _a.issues) !== null && _b !== void 0 ? _b : []);\n if (errors) {\n if (options === null || options === void 0 ? void 0 : options.silent) {\n return errors;\n }\n throw new Web3ValidatorError(errors);\n }\n }\n return undefined;\n }\n // eslint-disable-next-line class-methods-use-this\n convertErrors(errors) {\n if (errors && Array.isArray(errors) && errors.length > 0) {\n return errors.map((error) => {\n var _a;\n let message;\n let keyword;\n let params;\n let schemaPath;\n schemaPath = error.path.join('/');\n const field = String(error.path[error.path.length - 1]);\n const instancePath = error.path.join('/');\n if (error.code === ZodIssueCode.too_big) {\n keyword = 'maxItems';\n schemaPath = `${instancePath}/maxItems`;\n params = { limit: error.maximum };\n message = `must NOT have more than ${error.maximum} items`;\n }\n else if (error.code === ZodIssueCode.too_small) {\n keyword = 'minItems';\n schemaPath = `${instancePath}/minItems`;\n params = { limit: error.minimum };\n message = `must NOT have fewer than ${error.minimum} items`;\n }\n else if (error.code === ZodIssueCode.custom) {\n const { value, format } = ((_a = error.params) !== null && _a !== void 0 ? _a : {});\n if (typeof value === 'undefined') {\n message = `value at \"/${schemaPath}\" is required`;\n }\n else {\n message = `value \"${\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n typeof value === 'object' ? JSON.stringify(value) : value}\" at \"/${schemaPath}\" must pass \"${format}\" validation`;\n }\n params = { value };\n }\n return {\n keyword: keyword !== null && keyword !== void 0 ? keyword : field,\n instancePath: instancePath ? `/${instancePath}` : '',\n schemaPath: schemaPath ? `#${schemaPath}` : '#',\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n params: params !== null && params !== void 0 ? params : { value: error.message },\n message: message !== null && message !== void 0 ? message : error.message,\n };\n });\n }\n return undefined;\n }\n}\n//# sourceMappingURL=validator.js.map","import { Validator } from './validator.js';\nimport { ethAbiToJsonSchema } from './utils.js';\nimport { Web3ValidatorError } from './errors.js';\nexport class Web3Validator {\n constructor() {\n this._validator = Validator.factory();\n }\n validateJSONSchema(schema, data, options) {\n return this._validator.validate(schema, data, options);\n }\n validate(schema, data, options = { silent: false }) {\n var _a, _b;\n const jsonSchema = ethAbiToJsonSchema(schema);\n if (Array.isArray(jsonSchema.items) &&\n ((_a = jsonSchema.items) === null || _a === void 0 ? void 0 : _a.length) === 0 &&\n data.length === 0) {\n return undefined;\n }\n if (Array.isArray(jsonSchema.items) &&\n ((_b = jsonSchema.items) === null || _b === void 0 ? void 0 : _b.length) === 0 &&\n data.length !== 0) {\n throw new Web3ValidatorError([\n {\n instancePath: '/0',\n schemaPath: '/',\n keyword: 'required',\n message: 'empty schema against data can not be validated',\n params: data,\n },\n ]);\n }\n return this._validator.validate(jsonSchema, data, options);\n }\n}\n//# sourceMappingURL=web3_validator.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nimport { Web3Validator } from './web3_validator.js';\nexport const validator = new Web3Validator();\n//# sourceMappingURL=default_validator.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\nexport function isUint8Array(data) {\n var _a;\n return (data instanceof Uint8Array ||\n ((_a = data === null || data === void 0 ? void 0 : data.constructor) === null || _a === void 0 ? void 0 : _a.name) === 'Uint8Array');\n}\nexport function uint8ArrayConcat(...parts) {\n const length = parts.reduce((prev, part) => {\n const agg = prev + part.length;\n return agg;\n }, 0);\n const result = new Uint8Array(length);\n let offset = 0;\n for (const part of parts) {\n result.set(part, offset);\n offset += part.length;\n }\n return result;\n}\n/**\n * Returns true if the two passed Uint8Arrays have the same content\n */\nexport function uint8ArrayEquals(a, b) {\n if (a === b) {\n return true;\n }\n if (a.byteLength !== b.byteLength) {\n return false;\n }\n for (let i = 0; i < a.byteLength; i += 1) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n}\n//# sourceMappingURL=uint8array.js.map","/*\nThis file is part of web3.js.\n\nweb3.js is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nweb3.js is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with web3.js. If not, see .\n*/\n/**\n * @module Utils\n */\nimport { keccak256 } from 'ethereum-cryptography/keccak.js';\nimport { bytesToUtf8, utf8ToBytes as ecUtf8ToBytes } from 'ethereum-cryptography/utils.js';\nimport { isAddress, isHex, isHexStrict, isInt, isUInt, isNullish, utils, utils as validatorUtils, validator, } from 'web3-validator';\nimport { HexProcessingError, InvalidAddressError, InvalidBooleanError, InvalidBytesError, InvalidNumberError, InvalidUnitError, } from 'web3-errors';\nimport { isUint8Array } from './uint8array.js';\n// Ref: https://ethdocs.org/en/latest/ether.html\n// Note: this could be simplified using ** operator, but babel does not handle it well (https://github.com/babel/babel/issues/13109)\n/** @internal */\nexport const ethUnitMap = {\n noether: BigInt(0),\n wei: BigInt(1),\n kwei: BigInt(1000),\n Kwei: BigInt(1000),\n babbage: BigInt(1000),\n femtoether: BigInt(1000),\n mwei: BigInt(1000000),\n Mwei: BigInt(1000000),\n lovelace: BigInt(1000000),\n picoether: BigInt(1000000),\n gwei: BigInt(1000000000),\n Gwei: BigInt(1000000000),\n shannon: BigInt(1000000000),\n nanoether: BigInt(1000000000),\n nano: BigInt(1000000000),\n szabo: BigInt(1000000000000),\n microether: BigInt(1000000000000),\n micro: BigInt(1000000000000),\n finney: BigInt(1000000000000000),\n milliether: BigInt(1000000000000000),\n milli: BigInt(1000000000000000),\n ether: BigInt('1000000000000000000'),\n kether: BigInt('1000000000000000000000'),\n grand: BigInt('1000000000000000000000'),\n mether: BigInt('1000000000000000000000000'),\n gether: BigInt('1000000000000000000000000000'),\n tether: BigInt('1000000000000000000000000000000'),\n};\n/**\n * Convert a value from bytes to Uint8Array\n * @param data - Data to be converted\n * @returns - The Uint8Array representation of the input data\n *\n * @example\n * ```ts\n * console.log(web3.utils.bytesToUint8Array(\"0xab\")));\n * > Uint8Array(1) [ 171 ]\n * ```\n */\nexport const bytesToUint8Array = (data) => {\n validator.validate(['bytes'], [data]);\n if (isUint8Array(data)) {\n return data;\n }\n if (Array.isArray(data)) {\n return new Uint8Array(data);\n }\n if (typeof data === 'string') {\n return validatorUtils.hexToUint8Array(data);\n }\n throw new InvalidBytesError(data);\n};\n/**\n * @internal\n */\nconst { uint8ArrayToHexString } = validatorUtils;\n/**\n * Convert a byte array to a hex string\n * @param bytes - Byte array to be converted\n * @returns - The hex string representation of the input byte array\n *\n * @example\n * ```ts\n * console.log(web3.utils.bytesToHex(new Uint8Array([72, 12])));\n * > \"0x480c\"\n *\n */\nexport const bytesToHex = (bytes) => uint8ArrayToHexString(bytesToUint8Array(bytes));\n/**\n * Convert a hex string to a byte array\n * @param hex - Hex string to be converted\n * @returns - The byte array representation of the input hex string\n *\n * @example\n * ```ts\n * console.log(web3.utils.hexToBytes('0x74657374'));\n * > Uint8Array(4) [ 116, 101, 115, 116 ]\n * ```\n */\nexport const hexToBytes = (bytes) => {\n if (typeof bytes === 'string' && bytes.slice(0, 2).toLowerCase() !== '0x') {\n return bytesToUint8Array(`0x${bytes}`);\n }\n return bytesToUint8Array(bytes);\n};\n/**\n * Converts value to it's number representation\n * @param value - Hex string to be converted\n * @returns - The number representation of the input value\n *\n * @example\n * ```ts\n * conoslle.log(web3.utils.hexToNumber('0xa'));\n * > 10\n * ```\n */\nexport const hexToNumber = (value) => {\n validator.validate(['hex'], [value]);\n // To avoid duplicate code and circular dependency we will\n // use `hexToNumber` implementation from `web3-validator`\n return validatorUtils.hexToNumber(value);\n};\n/**\n * Converts value to it's number representation @alias `hexToNumber`\n */\nexport const toDecimal = hexToNumber;\n/**\n * Converts value to it's hex representation\n * @param value - Value to be converted\n * @param hexstrict - Add padding to converted value if odd, to make it hexstrict\n * @returns - The hex representation of the input value\n *\n * @example\n * ```ts\n * console.log(web3.utils.numberToHex(10));\n * > \"0xa\"\n * ```\n */\nexport const numberToHex = (value, hexstrict) => {\n if (typeof value !== 'bigint')\n validator.validate(['int'], [value]);\n // To avoid duplicate code and circular dependency we will\n // use `numberToHex` implementation from `web3-validator`\n let updatedValue = validatorUtils.numberToHex(value);\n if (hexstrict) {\n if (!updatedValue.startsWith('-') && updatedValue.length % 2 === 1) {\n // To avoid duplicate a circular dependency we will not be using the padLeft method\n updatedValue = '0x0'.concat(updatedValue.slice(2));\n }\n else if (updatedValue.length % 2 === 0 && updatedValue.startsWith('-'))\n updatedValue = '-0x0'.concat(updatedValue.slice(3));\n }\n return updatedValue;\n};\n/**\n * Converts value to it's hex representation @alias `numberToHex`\n *\n */\nexport const fromDecimal = numberToHex;\n/**\n * Converts value to it's decimal representation in string\n * @param value - Hex string to be converted\n * @returns - The decimal representation of the input value\n *\n * @example\n * ```ts\n * console.log(web3.utils.hexToNumberString('0xa'));\n * > \"10\"\n * ```\n */\nexport const hexToNumberString = (data) => hexToNumber(data).toString();\n/**\n * Should be called to get hex representation (prefixed by 0x) of utf8 string\n * @param str - Utf8 string to be converted\n * @returns - The hex representation of the input string\n *\n * @example\n * ```ts\n * console.log(utf8ToHex('web3.js'));\n * > \"0x776562332e6a73\"\n * ```\n *\n */\nexport const utf8ToHex = (str) => {\n validator.validate(['string'], [str]);\n // To be compatible with 1.x trim null character\n // eslint-disable-next-line no-control-regex\n let strWithoutNullCharacter = str.replace(/^(?:\\u0000)/, '');\n // eslint-disable-next-line no-control-regex\n strWithoutNullCharacter = strWithoutNullCharacter.replace(/(?:\\u0000)$/, '');\n return bytesToHex(new TextEncoder().encode(strWithoutNullCharacter));\n};\n/**\n * @alias utf8ToHex\n */\nexport const fromUtf8 = utf8ToHex;\n/**\n * @alias utf8ToHex\n */\nexport const stringToHex = utf8ToHex;\n/**\n * Should be called to get utf8 from it's hex representation\n * @param str - Hex string to be converted\n * @returns - Utf8 string\n *\n * @example\n * ```ts\n * console.log(web3.utils.hexToUtf8('0x48656c6c6f20576f726c64'));\n * > Hello World\n * ```\n */\nexport const hexToUtf8 = (str) => bytesToUtf8(hexToBytes(str));\n/**\n * @alias hexToUtf8\n */\nexport const toUtf8 = (input) => {\n if (typeof input === 'string') {\n return hexToUtf8(input);\n }\n validator.validate(['bytes'], [input]);\n return bytesToUtf8(input);\n};\nexport const utf8ToBytes = ecUtf8ToBytes;\n/**\n * @alias hexToUtf8\n */\nexport const hexToString = hexToUtf8;\n/**\n * Should be called to get hex representation (prefixed by 0x) of ascii string\n * @param str - String to be converted to hex\n * @returns - Hex string\n *\n * @example\n * ```ts\n * console.log(web3.utils.asciiToHex('Hello World'));\n * > 0x48656c6c6f20576f726c64\n * ```\n */\nexport const asciiToHex = (str) => {\n validator.validate(['string'], [str]);\n let hexString = '';\n for (let i = 0; i < str.length; i += 1) {\n const hexCharCode = str.charCodeAt(i).toString(16);\n // might need a leading 0\n hexString += hexCharCode.length % 2 !== 0 ? `0${hexCharCode}` : hexCharCode;\n }\n return `0x${hexString}`;\n};\n/**\n * @alias asciiToHex\n */\nexport const fromAscii = asciiToHex;\n/**\n * Should be called to get ascii from it's hex representation\n * @param str - Hex string to be converted to ascii\n * @returns - Ascii string\n *\n * @example\n * ```ts\n * console.log(web3.utils.hexToAscii('0x48656c6c6f20576f726c64'));\n * > Hello World\n * ```\n */\nexport const hexToAscii = (str) => {\n const decoder = new TextDecoder('ascii');\n return decoder.decode(hexToBytes(str));\n};\n/**\n * @alias hexToAscii\n */\nexport const toAscii = hexToAscii;\n/**\n * Auto converts any given value into it's hex representation.\n * @param value - Value to be converted to hex\n * @param returnType - If true, it will return the type of the value\n *\n * @example\n * ```ts\n * console.log(web3.utils.toHex(10));\n * > 0xa\n *\n * console.log(web3.utils.toHex('0x123', true));\n * > bytes\n *```\n */\nexport const toHex = (value, returnType) => {\n if (typeof value === 'string' && isAddress(value)) {\n return returnType ? 'address' : `0x${value.toLowerCase().replace(/^0x/i, '')}`;\n }\n if (typeof value === 'boolean') {\n // eslint-disable-next-line no-nested-ternary\n return returnType ? 'bool' : value ? '0x01' : '0x00';\n }\n if (typeof value === 'number') {\n // eslint-disable-next-line no-nested-ternary\n return returnType ? (value < 0 ? 'int256' : 'uint256') : numberToHex(value);\n }\n if (typeof value === 'bigint') {\n return returnType ? 'bigint' : numberToHex(value);\n }\n if (typeof value === 'object' && !!value) {\n return returnType ? 'string' : utf8ToHex(JSON.stringify(value));\n }\n if (typeof value === 'string') {\n if (value.startsWith('-0x') || value.startsWith('-0X')) {\n return returnType ? 'int256' : numberToHex(value);\n }\n if (isHexStrict(value)) {\n return returnType ? 'bytes' : value;\n }\n if (isHex(value) && !isInt(value) && !isUInt(value)) {\n return returnType ? 'bytes' : `0x${value}`;\n }\n if (isHex(value) && !isInt(value) && isUInt(value)) {\n return returnType ? 'uint' : numberToHex(value);\n }\n if (!Number.isFinite(value)) {\n return returnType ? 'string' : utf8ToHex(value);\n }\n }\n throw new HexProcessingError(value);\n};\n/**\n * Converts any given value into it's number representation, if possible, else into it's bigint representation.\n * @param value - The value to convert\n * @returns - Returns the value in number or bigint representation\n *\n * @example\n * ```ts\n * console.log(web3.utils.toNumber(1));\n * > 1\n * console.log(web3.utils.toNumber(Number.MAX_SAFE_INTEGER));\n * > 9007199254740991\n *\n * console.log(web3.utils.toNumber(BigInt(Number.MAX_SAFE_INTEGER)));\n * > 9007199254740991\n *\n * console.log(web3.utils.toNumber(BigInt(Number.MAX_SAFE_INTEGER) + BigInt(1)));\n * > 9007199254740992n\n *\n * ```\n */\nexport const toNumber = (value) => {\n if (typeof value === 'number') {\n if (value > 1e+20) {\n // JavaScript converts numbers >= 10^21 to scientific notation when coerced to strings,\n // leading to potential parsing errors and incorrect representations.\n // For instance, String(10000000000000000000000) yields '1e+22'.\n // Using BigInt prevents this\n return BigInt(value);\n }\n return value;\n }\n if (typeof value === 'bigint') {\n return value >= Number.MIN_SAFE_INTEGER && value <= Number.MAX_SAFE_INTEGER\n ? Number(value)\n : value;\n }\n if (typeof value === 'string' && isHexStrict(value)) {\n return hexToNumber(value);\n }\n try {\n return toNumber(BigInt(value));\n }\n catch (_a) {\n throw new InvalidNumberError(value);\n }\n};\n/**\n * Auto converts any given value into it's bigint representation\n *\n * @param value - The value to convert\n * @returns - Returns the value in bigint representation\n\n * @example\n * ```ts\n * console.log(web3.utils.toBigInt(1));\n * > 1n\n * ```\n */\nexport const toBigInt = (value) => {\n if (typeof value === 'number') {\n return BigInt(value);\n }\n if (typeof value === 'bigint') {\n return value;\n }\n // isHex passes for dec, too\n if (typeof value === 'string' && isHex(value)) {\n if (value.startsWith('-')) {\n return -BigInt(value.substring(1));\n }\n return BigInt(value);\n }\n throw new InvalidNumberError(value);\n};\n/**\n * Takes a number of wei and converts it to any other ether unit.\n * @param number - The value in wei\n * @param unit - The unit to convert to\n * @returns - Returns the converted value in the given unit\n *\n * @example\n * ```ts\n * console.log(web3.utils.fromWei(\"1\", \"ether\"));\n * > 0.000000000000000001\n *\n * console.log(web3.utils.fromWei(\"1\", \"shannon\"));\n * > 0.000000001\n * ```\n */\nexport const fromWei = (number, unit) => {\n const denomination = ethUnitMap[unit];\n if (!denomination) {\n throw new InvalidUnitError(unit);\n }\n // value in wei would always be integer\n // 13456789, 1234\n const value = String(toNumber(number));\n // count number of zeros in denomination\n // 1000000 -> 6\n const numberOfZerosInDenomination = denomination.toString().length - 1;\n if (numberOfZerosInDenomination <= 0) {\n return value.toString();\n }\n // pad the value with required zeros\n // 13456789 -> 13456789, 1234 -> 001234\n const zeroPaddedValue = value.padStart(numberOfZerosInDenomination, '0');\n // get the integer part of value by counting number of zeros from start\n // 13456789 -> '13'\n // 001234 -> ''\n const integer = zeroPaddedValue.slice(0, -numberOfZerosInDenomination);\n // get the fraction part of value by counting number of zeros backward\n // 13456789 -> '456789'\n // 001234 -> '001234'\n const fraction = zeroPaddedValue.slice(-numberOfZerosInDenomination).replace(/\\.?0+$/, '');\n if (integer === '') {\n return `0.${fraction}`;\n }\n if (fraction === '') {\n return integer;\n }\n return `${integer}.${fraction}`;\n};\n/**\n * Takes a number of a unit and converts it to wei.\n *\n * @param number - The number to convert.\n * @param unit - {@link EtherUnits} The unit of the number passed.\n * @returns The number converted to wei.\n *\n * @example\n * ```ts\n * console.log(web3.utils.toWei(\"0.001\", \"ether\"));\n * > 1000000000000000 //(wei)\n * ```\n */\n// todo in 1.x unit defaults to 'ether'\nexport const toWei = (number, unit) => {\n validator.validate(['number'], [number]);\n const denomination = ethUnitMap[unit];\n if (!denomination) {\n throw new InvalidUnitError(unit);\n }\n // if value is decimal e.g. 24.56 extract `integer` and `fraction` part\n // to avoid `fraction` to be null use `concat` with empty string\n const [integer, fraction] = String(typeof number === 'string' && !isHexStrict(number) ? number : toNumber(number))\n .split('.')\n .concat('');\n // join the value removing `.` from\n // 24.56 -> 2456\n const value = BigInt(`${integer}${fraction}`);\n // multiply value with denomination\n // 2456 * 1000000 -> 2456000000\n const updatedValue = value * denomination;\n // count number of zeros in denomination\n const numberOfZerosInDenomination = denomination.toString().length - 1;\n // check which either `fraction` or `denomination` have lower number of zeros\n const decimals = Math.min(fraction.length, numberOfZerosInDenomination);\n if (decimals === 0) {\n return updatedValue.toString();\n }\n // Add zeros to make length equal to required decimal points\n // If string is larger than decimal points required then remove last zeros\n return updatedValue.toString().padStart(decimals, '0').slice(0, -decimals);\n};\n/**\n * Will convert an upper or lowercase Ethereum address to a checksum address.\n * @param address - An address string\n * @returns\tThe checksum address\n * @example\n * ```ts\n * web3.utils.toChecksumAddress('0xc1912fee45d61c87cc5ea59dae31190fffff232d');\n * > \"0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d\"\n * ```\n */\nexport const toChecksumAddress = (address) => {\n if (!isAddress(address, false)) {\n throw new InvalidAddressError(address);\n }\n const lowerCaseAddress = address.toLowerCase().replace(/^0x/i, '');\n // calling `Uint8Array.from` because `noble-hashes` checks with `instanceof Uint8Array` that fails in some edge cases:\n // \thttps://github.com/paulmillr/noble-hashes/issues/25#issuecomment-1750106284\n const hash = utils.uint8ArrayToHexString(keccak256(validatorUtils.ensureIfUint8Array(utf8ToBytes(lowerCaseAddress))));\n if (isNullish(hash) ||\n hash === '0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470')\n return ''; // // EIP-1052 if hash is equal to c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470, keccak was given empty data\n let checksumAddress = '0x';\n const addressHash = hash.replace(/^0x/i, '');\n for (let i = 0; i < lowerCaseAddress.length; i += 1) {\n // If ith character is 8 to f then make it uppercase\n if (parseInt(addressHash[i], 16) > 7) {\n checksumAddress += lowerCaseAddress[i].toUpperCase();\n }\n else {\n checksumAddress += lowerCaseAddress[i];\n }\n }\n return checksumAddress;\n};\nexport const toBool = (value) => {\n if (typeof value === 'boolean') {\n return value;\n }\n if (typeof value === 'number' && (value === 0 || value === 1)) {\n return Boolean(value);\n }\n if (typeof value === 'bigint' && (value === BigInt(0) || value === BigInt(1))) {\n return Boolean(value);\n }\n if (typeof value === 'string' &&\n !isHexStrict(value) &&\n (value === '1' || value === '0' || value === 'false' || value === 'true')) {\n if (value === 'true') {\n return true;\n }\n if (value === 'false') {\n return false;\n }\n return Boolean(Number(value));\n }\n if (typeof value === 'string' && isHexStrict(value) && (value === '0x1' || value === '0x0')) {\n return Boolean(toNumber(value));\n }\n throw new InvalidBooleanError(value);\n};\n//# sourceMappingURL=converters.js.map","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","/*\r\n * bignumber.js v9.1.2\r\n * A JavaScript library for arbitrary-precision arithmetic.\r\n * https://github.com/MikeMcl/bignumber.js\r\n * Copyright (c) 2022 Michael Mclaughlin \r\n * MIT Licensed.\r\n *\r\n * BigNumber.prototype methods | BigNumber methods\r\n * |\r\n * absoluteValue abs | clone\r\n * comparedTo | config set\r\n * decimalPlaces dp | DECIMAL_PLACES\r\n * dividedBy div | ROUNDING_MODE\r\n * dividedToIntegerBy idiv | EXPONENTIAL_AT\r\n * exponentiatedBy pow | RANGE\r\n * integerValue | CRYPTO\r\n * isEqualTo eq | MODULO_MODE\r\n * isFinite | POW_PRECISION\r\n * isGreaterThan gt | FORMAT\r\n * isGreaterThanOrEqualTo gte | ALPHABET\r\n * isInteger | isBigNumber\r\n * isLessThan lt | maximum max\r\n * isLessThanOrEqualTo lte | minimum min\r\n * isNaN | random\r\n * isNegative | sum\r\n * isPositive |\r\n * isZero |\r\n * minus |\r\n * modulo mod |\r\n * multipliedBy times |\r\n * negated |\r\n * plus |\r\n * precision sd |\r\n * shiftedBy |\r\n * squareRoot sqrt |\r\n * toExponential |\r\n * toFixed |\r\n * toFormat |\r\n * toFraction |\r\n * toJSON |\r\n * toNumber |\r\n * toPrecision |\r\n * toString |\r\n * valueOf |\r\n *\r\n */\r\n\r\n\r\nvar\r\n isNumeric = /^-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?$/i,\r\n mathceil = Math.ceil,\r\n mathfloor = Math.floor,\r\n\r\n bignumberError = '[BigNumber Error] ',\r\n tooManyDigits = bignumberError + 'Number primitive has more than 15 significant digits: ',\r\n\r\n BASE = 1e14,\r\n LOG_BASE = 14,\r\n MAX_SAFE_INTEGER = 0x1fffffffffffff, // 2^53 - 1\r\n // MAX_INT32 = 0x7fffffff, // 2^31 - 1\r\n POWS_TEN = [1, 10, 100, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13],\r\n SQRT_BASE = 1e7,\r\n\r\n // EDITABLE\r\n // The limit on the value of DECIMAL_PLACES, TO_EXP_NEG, TO_EXP_POS, MIN_EXP, MAX_EXP, and\r\n // the arguments to toExponential, toFixed, toFormat, and toPrecision.\r\n MAX = 1E9; // 0 to MAX_INT32\r\n\r\n\r\n/*\r\n * Create and return a BigNumber constructor.\r\n */\r\nfunction clone(configObject) {\r\n var div, convertBase, parseNumeric,\r\n P = BigNumber.prototype = { constructor: BigNumber, toString: null, valueOf: null },\r\n ONE = new BigNumber(1),\r\n\r\n\r\n //----------------------------- EDITABLE CONFIG DEFAULTS -------------------------------\r\n\r\n\r\n // The default values below must be integers within the inclusive ranges stated.\r\n // The values can also be changed at run-time using BigNumber.set.\r\n\r\n // The maximum number of decimal places for operations involving division.\r\n DECIMAL_PLACES = 20, // 0 to MAX\r\n\r\n // The rounding mode used when rounding to the above decimal places, and when using\r\n // toExponential, toFixed, toFormat and toPrecision, and round (default value).\r\n // UP 0 Away from zero.\r\n // DOWN 1 Towards zero.\r\n // CEIL 2 Towards +Infinity.\r\n // FLOOR 3 Towards -Infinity.\r\n // HALF_UP 4 Towards nearest neighbour. If equidistant, up.\r\n // HALF_DOWN 5 Towards nearest neighbour. If equidistant, down.\r\n // HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour.\r\n // HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity.\r\n // HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.\r\n ROUNDING_MODE = 4, // 0 to 8\r\n\r\n // EXPONENTIAL_AT : [TO_EXP_NEG , TO_EXP_POS]\r\n\r\n // The exponent value at and beneath which toString returns exponential notation.\r\n // Number type: -7\r\n TO_EXP_NEG = -7, // 0 to -MAX\r\n\r\n // The exponent value at and above which toString returns exponential notation.\r\n // Number type: 21\r\n TO_EXP_POS = 21, // 0 to MAX\r\n\r\n // RANGE : [MIN_EXP, MAX_EXP]\r\n\r\n // The minimum exponent value, beneath which underflow to zero occurs.\r\n // Number type: -324 (5e-324)\r\n MIN_EXP = -1e7, // -1 to -MAX\r\n\r\n // The maximum exponent value, above which overflow to Infinity occurs.\r\n // Number type: 308 (1.7976931348623157e+308)\r\n // For MAX_EXP > 1e7, e.g. new BigNumber('1e100000000').plus(1) may be slow.\r\n MAX_EXP = 1e7, // 1 to MAX\r\n\r\n // Whether to use cryptographically-secure random number generation, if available.\r\n CRYPTO = false, // true or false\r\n\r\n // The modulo mode used when calculating the modulus: a mod n.\r\n // The quotient (q = a / n) is calculated according to the corresponding rounding mode.\r\n // The remainder (r) is calculated as: r = a - n * q.\r\n //\r\n // UP 0 The remainder is positive if the dividend is negative, else is negative.\r\n // DOWN 1 The remainder has the same sign as the dividend.\r\n // This modulo mode is commonly known as 'truncated division' and is\r\n // equivalent to (a % n) in JavaScript.\r\n // FLOOR 3 The remainder has the same sign as the divisor (Python %).\r\n // HALF_EVEN 6 This modulo mode implements the IEEE 754 remainder function.\r\n // EUCLID 9 Euclidian division. q = sign(n) * floor(a / abs(n)).\r\n // The remainder is always positive.\r\n //\r\n // The truncated division, floored division, Euclidian division and IEEE 754 remainder\r\n // modes are commonly used for the modulus operation.\r\n // Although the other rounding modes can also be used, they may not give useful results.\r\n MODULO_MODE = 1, // 0 to 9\r\n\r\n // The maximum number of significant digits of the result of the exponentiatedBy operation.\r\n // If POW_PRECISION is 0, there will be unlimited significant digits.\r\n POW_PRECISION = 0, // 0 to MAX\r\n\r\n // The format specification used by the BigNumber.prototype.toFormat method.\r\n FORMAT = {\r\n prefix: '',\r\n groupSize: 3,\r\n secondaryGroupSize: 0,\r\n groupSeparator: ',',\r\n decimalSeparator: '.',\r\n fractionGroupSize: 0,\r\n fractionGroupSeparator: '\\xA0', // non-breaking space\r\n suffix: ''\r\n },\r\n\r\n // The alphabet used for base conversion. It must be at least 2 characters long, with no '+',\r\n // '-', '.', whitespace, or repeated character.\r\n // '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_'\r\n ALPHABET = '0123456789abcdefghijklmnopqrstuvwxyz',\r\n alphabetHasNormalDecimalDigits = true;\r\n\r\n\r\n //------------------------------------------------------------------------------------------\r\n\r\n\r\n // CONSTRUCTOR\r\n\r\n\r\n /*\r\n * The BigNumber constructor and exported function.\r\n * Create and return a new instance of a BigNumber object.\r\n *\r\n * v {number|string|BigNumber} A numeric value.\r\n * [b] {number} The base of v. Integer, 2 to ALPHABET.length inclusive.\r\n */\r\n function BigNumber(v, b) {\r\n var alphabet, c, caseChanged, e, i, isNum, len, str,\r\n x = this;\r\n\r\n // Enable constructor call without `new`.\r\n if (!(x instanceof BigNumber)) return new BigNumber(v, b);\r\n\r\n if (b == null) {\r\n\r\n if (v && v._isBigNumber === true) {\r\n x.s = v.s;\r\n\r\n if (!v.c || v.e > MAX_EXP) {\r\n x.c = x.e = null;\r\n } else if (v.e < MIN_EXP) {\r\n x.c = [x.e = 0];\r\n } else {\r\n x.e = v.e;\r\n x.c = v.c.slice();\r\n }\r\n\r\n return;\r\n }\r\n\r\n if ((isNum = typeof v == 'number') && v * 0 == 0) {\r\n\r\n // Use `1 / n` to handle minus zero also.\r\n x.s = 1 / v < 0 ? (v = -v, -1) : 1;\r\n\r\n // Fast path for integers, where n < 2147483648 (2**31).\r\n if (v === ~~v) {\r\n for (e = 0, i = v; i >= 10; i /= 10, e++);\r\n\r\n if (e > MAX_EXP) {\r\n x.c = x.e = null;\r\n } else {\r\n x.e = e;\r\n x.c = [v];\r\n }\r\n\r\n return;\r\n }\r\n\r\n str = String(v);\r\n } else {\r\n\r\n if (!isNumeric.test(str = String(v))) return parseNumeric(x, str, isNum);\r\n\r\n x.s = str.charCodeAt(0) == 45 ? (str = str.slice(1), -1) : 1;\r\n }\r\n\r\n // Decimal point?\r\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n\r\n // Exponential form?\r\n if ((i = str.search(/e/i)) > 0) {\r\n\r\n // Determine exponent.\r\n if (e < 0) e = i;\r\n e += +str.slice(i + 1);\r\n str = str.substring(0, i);\r\n } else if (e < 0) {\r\n\r\n // Integer.\r\n e = str.length;\r\n }\r\n\r\n } else {\r\n\r\n // '[BigNumber Error] Base {not a primitive number|not an integer|out of range}: {b}'\r\n intCheck(b, 2, ALPHABET.length, 'Base');\r\n\r\n // Allow exponential notation to be used with base 10 argument, while\r\n // also rounding to DECIMAL_PLACES as with other bases.\r\n if (b == 10 && alphabetHasNormalDecimalDigits) {\r\n x = new BigNumber(v);\r\n return round(x, DECIMAL_PLACES + x.e + 1, ROUNDING_MODE);\r\n }\r\n\r\n str = String(v);\r\n\r\n if (isNum = typeof v == 'number') {\r\n\r\n // Avoid potential interpretation of Infinity and NaN as base 44+ values.\r\n if (v * 0 != 0) return parseNumeric(x, str, isNum, b);\r\n\r\n x.s = 1 / v < 0 ? (str = str.slice(1), -1) : 1;\r\n\r\n // '[BigNumber Error] Number primitive has more than 15 significant digits: {n}'\r\n if (BigNumber.DEBUG && str.replace(/^0\\.0*|\\./, '').length > 15) {\r\n throw Error\r\n (tooManyDigits + v);\r\n }\r\n } else {\r\n x.s = str.charCodeAt(0) === 45 ? (str = str.slice(1), -1) : 1;\r\n }\r\n\r\n alphabet = ALPHABET.slice(0, b);\r\n e = i = 0;\r\n\r\n // Check that str is a valid base b number.\r\n // Don't use RegExp, so alphabet can contain special characters.\r\n for (len = str.length; i < len; i++) {\r\n if (alphabet.indexOf(c = str.charAt(i)) < 0) {\r\n if (c == '.') {\r\n\r\n // If '.' is not the first character and it has not be found before.\r\n if (i > e) {\r\n e = len;\r\n continue;\r\n }\r\n } else if (!caseChanged) {\r\n\r\n // Allow e.g. hexadecimal 'FF' as well as 'ff'.\r\n if (str == str.toUpperCase() && (str = str.toLowerCase()) ||\r\n str == str.toLowerCase() && (str = str.toUpperCase())) {\r\n caseChanged = true;\r\n i = -1;\r\n e = 0;\r\n continue;\r\n }\r\n }\r\n\r\n return parseNumeric(x, String(v), isNum, b);\r\n }\r\n }\r\n\r\n // Prevent later check for length on converted number.\r\n isNum = false;\r\n str = convertBase(str, b, 10, x.s);\r\n\r\n // Decimal point?\r\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n else e = str.length;\r\n }\r\n\r\n // Determine leading zeros.\r\n for (i = 0; str.charCodeAt(i) === 48; i++);\r\n\r\n // Determine trailing zeros.\r\n for (len = str.length; str.charCodeAt(--len) === 48;);\r\n\r\n if (str = str.slice(i, ++len)) {\r\n len -= i;\r\n\r\n // '[BigNumber Error] Number primitive has more than 15 significant digits: {n}'\r\n if (isNum && BigNumber.DEBUG &&\r\n len > 15 && (v > MAX_SAFE_INTEGER || v !== mathfloor(v))) {\r\n throw Error\r\n (tooManyDigits + (x.s * v));\r\n }\r\n\r\n // Overflow?\r\n if ((e = e - i - 1) > MAX_EXP) {\r\n\r\n // Infinity.\r\n x.c = x.e = null;\r\n\r\n // Underflow?\r\n } else if (e < MIN_EXP) {\r\n\r\n // Zero.\r\n x.c = [x.e = 0];\r\n } else {\r\n x.e = e;\r\n x.c = [];\r\n\r\n // Transform base\r\n\r\n // e is the base 10 exponent.\r\n // i is where to slice str to get the first element of the coefficient array.\r\n i = (e + 1) % LOG_BASE;\r\n if (e < 0) i += LOG_BASE; // i < 1\r\n\r\n if (i < len) {\r\n if (i) x.c.push(+str.slice(0, i));\r\n\r\n for (len -= LOG_BASE; i < len;) {\r\n x.c.push(+str.slice(i, i += LOG_BASE));\r\n }\r\n\r\n i = LOG_BASE - (str = str.slice(i)).length;\r\n } else {\r\n i -= len;\r\n }\r\n\r\n for (; i--; str += '0');\r\n x.c.push(+str);\r\n }\r\n } else {\r\n\r\n // Zero.\r\n x.c = [x.e = 0];\r\n }\r\n }\r\n\r\n\r\n // CONSTRUCTOR PROPERTIES\r\n\r\n\r\n BigNumber.clone = clone;\r\n\r\n BigNumber.ROUND_UP = 0;\r\n BigNumber.ROUND_DOWN = 1;\r\n BigNumber.ROUND_CEIL = 2;\r\n BigNumber.ROUND_FLOOR = 3;\r\n BigNumber.ROUND_HALF_UP = 4;\r\n BigNumber.ROUND_HALF_DOWN = 5;\r\n BigNumber.ROUND_HALF_EVEN = 6;\r\n BigNumber.ROUND_HALF_CEIL = 7;\r\n BigNumber.ROUND_HALF_FLOOR = 8;\r\n BigNumber.EUCLID = 9;\r\n\r\n\r\n /*\r\n * Configure infrequently-changing library-wide settings.\r\n *\r\n * Accept an object with the following optional properties (if the value of a property is\r\n * a number, it must be an integer within the inclusive range stated):\r\n *\r\n * DECIMAL_PLACES {number} 0 to MAX\r\n * ROUNDING_MODE {number} 0 to 8\r\n * EXPONENTIAL_AT {number|number[]} -MAX to MAX or [-MAX to 0, 0 to MAX]\r\n * RANGE {number|number[]} -MAX to MAX (not zero) or [-MAX to -1, 1 to MAX]\r\n * CRYPTO {boolean} true or false\r\n * MODULO_MODE {number} 0 to 9\r\n * POW_PRECISION {number} 0 to MAX\r\n * ALPHABET {string} A string of two or more unique characters which does\r\n * not contain '.'.\r\n * FORMAT {object} An object with some of the following properties:\r\n * prefix {string}\r\n * groupSize {number}\r\n * secondaryGroupSize {number}\r\n * groupSeparator {string}\r\n * decimalSeparator {string}\r\n * fractionGroupSize {number}\r\n * fractionGroupSeparator {string}\r\n * suffix {string}\r\n *\r\n * (The values assigned to the above FORMAT object properties are not checked for validity.)\r\n *\r\n * E.g.\r\n * BigNumber.config({ DECIMAL_PLACES : 20, ROUNDING_MODE : 4 })\r\n *\r\n * Ignore properties/parameters set to null or undefined, except for ALPHABET.\r\n *\r\n * Return an object with the properties current values.\r\n */\r\n BigNumber.config = BigNumber.set = function (obj) {\r\n var p, v;\r\n\r\n if (obj != null) {\r\n\r\n if (typeof obj == 'object') {\r\n\r\n // DECIMAL_PLACES {number} Integer, 0 to MAX inclusive.\r\n // '[BigNumber Error] DECIMAL_PLACES {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'DECIMAL_PLACES')) {\r\n v = obj[p];\r\n intCheck(v, 0, MAX, p);\r\n DECIMAL_PLACES = v;\r\n }\r\n\r\n // ROUNDING_MODE {number} Integer, 0 to 8 inclusive.\r\n // '[BigNumber Error] ROUNDING_MODE {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'ROUNDING_MODE')) {\r\n v = obj[p];\r\n intCheck(v, 0, 8, p);\r\n ROUNDING_MODE = v;\r\n }\r\n\r\n // EXPONENTIAL_AT {number|number[]}\r\n // Integer, -MAX to MAX inclusive or\r\n // [integer -MAX to 0 inclusive, 0 to MAX inclusive].\r\n // '[BigNumber Error] EXPONENTIAL_AT {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'EXPONENTIAL_AT')) {\r\n v = obj[p];\r\n if (v && v.pop) {\r\n intCheck(v[0], -MAX, 0, p);\r\n intCheck(v[1], 0, MAX, p);\r\n TO_EXP_NEG = v[0];\r\n TO_EXP_POS = v[1];\r\n } else {\r\n intCheck(v, -MAX, MAX, p);\r\n TO_EXP_NEG = -(TO_EXP_POS = v < 0 ? -v : v);\r\n }\r\n }\r\n\r\n // RANGE {number|number[]} Non-zero integer, -MAX to MAX inclusive or\r\n // [integer -MAX to -1 inclusive, integer 1 to MAX inclusive].\r\n // '[BigNumber Error] RANGE {not a primitive number|not an integer|out of range|cannot be zero}: {v}'\r\n if (obj.hasOwnProperty(p = 'RANGE')) {\r\n v = obj[p];\r\n if (v && v.pop) {\r\n intCheck(v[0], -MAX, -1, p);\r\n intCheck(v[1], 1, MAX, p);\r\n MIN_EXP = v[0];\r\n MAX_EXP = v[1];\r\n } else {\r\n intCheck(v, -MAX, MAX, p);\r\n if (v) {\r\n MIN_EXP = -(MAX_EXP = v < 0 ? -v : v);\r\n } else {\r\n throw Error\r\n (bignumberError + p + ' cannot be zero: ' + v);\r\n }\r\n }\r\n }\r\n\r\n // CRYPTO {boolean} true or false.\r\n // '[BigNumber Error] CRYPTO not true or false: {v}'\r\n // '[BigNumber Error] crypto unavailable'\r\n if (obj.hasOwnProperty(p = 'CRYPTO')) {\r\n v = obj[p];\r\n if (v === !!v) {\r\n if (v) {\r\n if (typeof crypto != 'undefined' && crypto &&\r\n (crypto.getRandomValues || crypto.randomBytes)) {\r\n CRYPTO = v;\r\n } else {\r\n CRYPTO = !v;\r\n throw Error\r\n (bignumberError + 'crypto unavailable');\r\n }\r\n } else {\r\n CRYPTO = v;\r\n }\r\n } else {\r\n throw Error\r\n (bignumberError + p + ' not true or false: ' + v);\r\n }\r\n }\r\n\r\n // MODULO_MODE {number} Integer, 0 to 9 inclusive.\r\n // '[BigNumber Error] MODULO_MODE {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'MODULO_MODE')) {\r\n v = obj[p];\r\n intCheck(v, 0, 9, p);\r\n MODULO_MODE = v;\r\n }\r\n\r\n // POW_PRECISION {number} Integer, 0 to MAX inclusive.\r\n // '[BigNumber Error] POW_PRECISION {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'POW_PRECISION')) {\r\n v = obj[p];\r\n intCheck(v, 0, MAX, p);\r\n POW_PRECISION = v;\r\n }\r\n\r\n // FORMAT {object}\r\n // '[BigNumber Error] FORMAT not an object: {v}'\r\n if (obj.hasOwnProperty(p = 'FORMAT')) {\r\n v = obj[p];\r\n if (typeof v == 'object') FORMAT = v;\r\n else throw Error\r\n (bignumberError + p + ' not an object: ' + v);\r\n }\r\n\r\n // ALPHABET {string}\r\n // '[BigNumber Error] ALPHABET invalid: {v}'\r\n if (obj.hasOwnProperty(p = 'ALPHABET')) {\r\n v = obj[p];\r\n\r\n // Disallow if less than two characters,\r\n // or if it contains '+', '-', '.', whitespace, or a repeated character.\r\n if (typeof v == 'string' && !/^.?$|[+\\-.\\s]|(.).*\\1/.test(v)) {\r\n alphabetHasNormalDecimalDigits = v.slice(0, 10) == '0123456789';\r\n ALPHABET = v;\r\n } else {\r\n throw Error\r\n (bignumberError + p + ' invalid: ' + v);\r\n }\r\n }\r\n\r\n } else {\r\n\r\n // '[BigNumber Error] Object expected: {v}'\r\n throw Error\r\n (bignumberError + 'Object expected: ' + obj);\r\n }\r\n }\r\n\r\n return {\r\n DECIMAL_PLACES: DECIMAL_PLACES,\r\n ROUNDING_MODE: ROUNDING_MODE,\r\n EXPONENTIAL_AT: [TO_EXP_NEG, TO_EXP_POS],\r\n RANGE: [MIN_EXP, MAX_EXP],\r\n CRYPTO: CRYPTO,\r\n MODULO_MODE: MODULO_MODE,\r\n POW_PRECISION: POW_PRECISION,\r\n FORMAT: FORMAT,\r\n ALPHABET: ALPHABET\r\n };\r\n };\r\n\r\n\r\n /*\r\n * Return true if v is a BigNumber instance, otherwise return false.\r\n *\r\n * If BigNumber.DEBUG is true, throw if a BigNumber instance is not well-formed.\r\n *\r\n * v {any}\r\n *\r\n * '[BigNumber Error] Invalid BigNumber: {v}'\r\n */\r\n BigNumber.isBigNumber = function (v) {\r\n if (!v || v._isBigNumber !== true) return false;\r\n if (!BigNumber.DEBUG) return true;\r\n\r\n var i, n,\r\n c = v.c,\r\n e = v.e,\r\n s = v.s;\r\n\r\n out: if ({}.toString.call(c) == '[object Array]') {\r\n\r\n if ((s === 1 || s === -1) && e >= -MAX && e <= MAX && e === mathfloor(e)) {\r\n\r\n // If the first element is zero, the BigNumber value must be zero.\r\n if (c[0] === 0) {\r\n if (e === 0 && c.length === 1) return true;\r\n break out;\r\n }\r\n\r\n // Calculate number of digits that c[0] should have, based on the exponent.\r\n i = (e + 1) % LOG_BASE;\r\n if (i < 1) i += LOG_BASE;\r\n\r\n // Calculate number of digits of c[0].\r\n //if (Math.ceil(Math.log(c[0] + 1) / Math.LN10) == i) {\r\n if (String(c[0]).length == i) {\r\n\r\n for (i = 0; i < c.length; i++) {\r\n n = c[i];\r\n if (n < 0 || n >= BASE || n !== mathfloor(n)) break out;\r\n }\r\n\r\n // Last element cannot be zero, unless it is the only element.\r\n if (n !== 0) return true;\r\n }\r\n }\r\n\r\n // Infinity/NaN\r\n } else if (c === null && e === null && (s === null || s === 1 || s === -1)) {\r\n return true;\r\n }\r\n\r\n throw Error\r\n (bignumberError + 'Invalid BigNumber: ' + v);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the maximum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\r\n BigNumber.maximum = BigNumber.max = function () {\r\n return maxOrMin(arguments, -1);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the minimum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\r\n BigNumber.minimum = BigNumber.min = function () {\r\n return maxOrMin(arguments, 1);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber with a random value equal to or greater than 0 and less than 1,\r\n * and with dp, or DECIMAL_PLACES if dp is omitted, decimal places (or less if trailing\r\n * zeros are produced).\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp}'\r\n * '[BigNumber Error] crypto unavailable'\r\n */\r\n BigNumber.random = (function () {\r\n var pow2_53 = 0x20000000000000;\r\n\r\n // Return a 53 bit integer n, where 0 <= n < 9007199254740992.\r\n // Check if Math.random() produces more than 32 bits of randomness.\r\n // If it does, assume at least 53 bits are produced, otherwise assume at least 30 bits.\r\n // 0x40000000 is 2^30, 0x800000 is 2^23, 0x1fffff is 2^21 - 1.\r\n var random53bitInt = (Math.random() * pow2_53) & 0x1fffff\r\n ? function () { return mathfloor(Math.random() * pow2_53); }\r\n : function () { return ((Math.random() * 0x40000000 | 0) * 0x800000) +\r\n (Math.random() * 0x800000 | 0); };\r\n\r\n return function (dp) {\r\n var a, b, e, k, v,\r\n i = 0,\r\n c = [],\r\n rand = new BigNumber(ONE);\r\n\r\n if (dp == null) dp = DECIMAL_PLACES;\r\n else intCheck(dp, 0, MAX);\r\n\r\n k = mathceil(dp / LOG_BASE);\r\n\r\n if (CRYPTO) {\r\n\r\n // Browsers supporting crypto.getRandomValues.\r\n if (crypto.getRandomValues) {\r\n\r\n a = crypto.getRandomValues(new Uint32Array(k *= 2));\r\n\r\n for (; i < k;) {\r\n\r\n // 53 bits:\r\n // ((Math.pow(2, 32) - 1) * Math.pow(2, 21)).toString(2)\r\n // 11111 11111111 11111111 11111111 11100000 00000000 00000000\r\n // ((Math.pow(2, 32) - 1) >>> 11).toString(2)\r\n // 11111 11111111 11111111\r\n // 0x20000 is 2^21.\r\n v = a[i] * 0x20000 + (a[i + 1] >>> 11);\r\n\r\n // Rejection sampling:\r\n // 0 <= v < 9007199254740992\r\n // Probability that v >= 9e15, is\r\n // 7199254740992 / 9007199254740992 ~= 0.0008, i.e. 1 in 1251\r\n if (v >= 9e15) {\r\n b = crypto.getRandomValues(new Uint32Array(2));\r\n a[i] = b[0];\r\n a[i + 1] = b[1];\r\n } else {\r\n\r\n // 0 <= v <= 8999999999999999\r\n // 0 <= (v % 1e14) <= 99999999999999\r\n c.push(v % 1e14);\r\n i += 2;\r\n }\r\n }\r\n i = k / 2;\r\n\r\n // Node.js supporting crypto.randomBytes.\r\n } else if (crypto.randomBytes) {\r\n\r\n // buffer\r\n a = crypto.randomBytes(k *= 7);\r\n\r\n for (; i < k;) {\r\n\r\n // 0x1000000000000 is 2^48, 0x10000000000 is 2^40\r\n // 0x100000000 is 2^32, 0x1000000 is 2^24\r\n // 11111 11111111 11111111 11111111 11111111 11111111 11111111\r\n // 0 <= v < 9007199254740992\r\n v = ((a[i] & 31) * 0x1000000000000) + (a[i + 1] * 0x10000000000) +\r\n (a[i + 2] * 0x100000000) + (a[i + 3] * 0x1000000) +\r\n (a[i + 4] << 16) + (a[i + 5] << 8) + a[i + 6];\r\n\r\n if (v >= 9e15) {\r\n crypto.randomBytes(7).copy(a, i);\r\n } else {\r\n\r\n // 0 <= (v % 1e14) <= 99999999999999\r\n c.push(v % 1e14);\r\n i += 7;\r\n }\r\n }\r\n i = k / 7;\r\n } else {\r\n CRYPTO = false;\r\n throw Error\r\n (bignumberError + 'crypto unavailable');\r\n }\r\n }\r\n\r\n // Use Math.random.\r\n if (!CRYPTO) {\r\n\r\n for (; i < k;) {\r\n v = random53bitInt();\r\n if (v < 9e15) c[i++] = v % 1e14;\r\n }\r\n }\r\n\r\n k = c[--i];\r\n dp %= LOG_BASE;\r\n\r\n // Convert trailing digits to zeros according to dp.\r\n if (k && dp) {\r\n v = POWS_TEN[LOG_BASE - dp];\r\n c[i] = mathfloor(k / v) * v;\r\n }\r\n\r\n // Remove trailing elements which are zero.\r\n for (; c[i] === 0; c.pop(), i--);\r\n\r\n // Zero?\r\n if (i < 0) {\r\n c = [e = 0];\r\n } else {\r\n\r\n // Remove leading elements which are zero and adjust exponent accordingly.\r\n for (e = -1 ; c[0] === 0; c.splice(0, 1), e -= LOG_BASE);\r\n\r\n // Count the digits of the first element of c to determine leading zeros, and...\r\n for (i = 1, v = c[0]; v >= 10; v /= 10, i++);\r\n\r\n // adjust the exponent accordingly.\r\n if (i < LOG_BASE) e -= LOG_BASE - i;\r\n }\r\n\r\n rand.e = e;\r\n rand.c = c;\r\n return rand;\r\n };\r\n })();\r\n\r\n\r\n /*\r\n * Return a BigNumber whose value is the sum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\r\n BigNumber.sum = function () {\r\n var i = 1,\r\n args = arguments,\r\n sum = new BigNumber(args[0]);\r\n for (; i < args.length;) sum = sum.plus(args[i++]);\r\n return sum;\r\n };\r\n\r\n\r\n // PRIVATE FUNCTIONS\r\n\r\n\r\n // Called by BigNumber and BigNumber.prototype.toString.\r\n convertBase = (function () {\r\n var decimal = '0123456789';\r\n\r\n /*\r\n * Convert string of baseIn to an array of numbers of baseOut.\r\n * Eg. toBaseOut('255', 10, 16) returns [15, 15].\r\n * Eg. toBaseOut('ff', 16, 10) returns [2, 5, 5].\r\n */\r\n function toBaseOut(str, baseIn, baseOut, alphabet) {\r\n var j,\r\n arr = [0],\r\n arrL,\r\n i = 0,\r\n len = str.length;\r\n\r\n for (; i < len;) {\r\n for (arrL = arr.length; arrL--; arr[arrL] *= baseIn);\r\n\r\n arr[0] += alphabet.indexOf(str.charAt(i++));\r\n\r\n for (j = 0; j < arr.length; j++) {\r\n\r\n if (arr[j] > baseOut - 1) {\r\n if (arr[j + 1] == null) arr[j + 1] = 0;\r\n arr[j + 1] += arr[j] / baseOut | 0;\r\n arr[j] %= baseOut;\r\n }\r\n }\r\n }\r\n\r\n return arr.reverse();\r\n }\r\n\r\n // Convert a numeric string of baseIn to a numeric string of baseOut.\r\n // If the caller is toString, we are converting from base 10 to baseOut.\r\n // If the caller is BigNumber, we are converting from baseIn to base 10.\r\n return function (str, baseIn, baseOut, sign, callerIsToString) {\r\n var alphabet, d, e, k, r, x, xc, y,\r\n i = str.indexOf('.'),\r\n dp = DECIMAL_PLACES,\r\n rm = ROUNDING_MODE;\r\n\r\n // Non-integer.\r\n if (i >= 0) {\r\n k = POW_PRECISION;\r\n\r\n // Unlimited precision.\r\n POW_PRECISION = 0;\r\n str = str.replace('.', '');\r\n y = new BigNumber(baseIn);\r\n x = y.pow(str.length - i);\r\n POW_PRECISION = k;\r\n\r\n // Convert str as if an integer, then restore the fraction part by dividing the\r\n // result by its base raised to a power.\r\n\r\n y.c = toBaseOut(toFixedPoint(coeffToString(x.c), x.e, '0'),\r\n 10, baseOut, decimal);\r\n y.e = y.c.length;\r\n }\r\n\r\n // Convert the number as integer.\r\n\r\n xc = toBaseOut(str, baseIn, baseOut, callerIsToString\r\n ? (alphabet = ALPHABET, decimal)\r\n : (alphabet = decimal, ALPHABET));\r\n\r\n // xc now represents str as an integer and converted to baseOut. e is the exponent.\r\n e = k = xc.length;\r\n\r\n // Remove trailing zeros.\r\n for (; xc[--k] == 0; xc.pop());\r\n\r\n // Zero?\r\n if (!xc[0]) return alphabet.charAt(0);\r\n\r\n // Does str represent an integer? If so, no need for the division.\r\n if (i < 0) {\r\n --e;\r\n } else {\r\n x.c = xc;\r\n x.e = e;\r\n\r\n // The sign is needed for correct rounding.\r\n x.s = sign;\r\n x = div(x, y, dp, rm, baseOut);\r\n xc = x.c;\r\n r = x.r;\r\n e = x.e;\r\n }\r\n\r\n // xc now represents str converted to baseOut.\r\n\r\n // THe index of the rounding digit.\r\n d = e + dp + 1;\r\n\r\n // The rounding digit: the digit to the right of the digit that may be rounded up.\r\n i = xc[d];\r\n\r\n // Look at the rounding digits and mode to determine whether to round up.\r\n\r\n k = baseOut / 2;\r\n r = r || d < 0 || xc[d + 1] != null;\r\n\r\n r = rm < 4 ? (i != null || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n : i > k || i == k &&(rm == 4 || r || rm == 6 && xc[d - 1] & 1 ||\r\n rm == (x.s < 0 ? 8 : 7));\r\n\r\n // If the index of the rounding digit is not greater than zero, or xc represents\r\n // zero, then the result of the base conversion is zero or, if rounding up, a value\r\n // such as 0.00001.\r\n if (d < 1 || !xc[0]) {\r\n\r\n // 1^-dp or 0\r\n str = r ? toFixedPoint(alphabet.charAt(1), -dp, alphabet.charAt(0)) : alphabet.charAt(0);\r\n } else {\r\n\r\n // Truncate xc to the required number of decimal places.\r\n xc.length = d;\r\n\r\n // Round up?\r\n if (r) {\r\n\r\n // Rounding up may mean the previous digit has to be rounded up and so on.\r\n for (--baseOut; ++xc[--d] > baseOut;) {\r\n xc[d] = 0;\r\n\r\n if (!d) {\r\n ++e;\r\n xc = [1].concat(xc);\r\n }\r\n }\r\n }\r\n\r\n // Determine trailing zeros.\r\n for (k = xc.length; !xc[--k];);\r\n\r\n // E.g. [4, 11, 15] becomes 4bf.\r\n for (i = 0, str = ''; i <= k; str += alphabet.charAt(xc[i++]));\r\n\r\n // Add leading zeros, decimal point and trailing zeros as required.\r\n str = toFixedPoint(str, e, alphabet.charAt(0));\r\n }\r\n\r\n // The caller will add the sign.\r\n return str;\r\n };\r\n })();\r\n\r\n\r\n // Perform division in the specified base. Called by div and convertBase.\r\n div = (function () {\r\n\r\n // Assume non-zero x and k.\r\n function multiply(x, k, base) {\r\n var m, temp, xlo, xhi,\r\n carry = 0,\r\n i = x.length,\r\n klo = k % SQRT_BASE,\r\n khi = k / SQRT_BASE | 0;\r\n\r\n for (x = x.slice(); i--;) {\r\n xlo = x[i] % SQRT_BASE;\r\n xhi = x[i] / SQRT_BASE | 0;\r\n m = khi * xlo + xhi * klo;\r\n temp = klo * xlo + ((m % SQRT_BASE) * SQRT_BASE) + carry;\r\n carry = (temp / base | 0) + (m / SQRT_BASE | 0) + khi * xhi;\r\n x[i] = temp % base;\r\n }\r\n\r\n if (carry) x = [carry].concat(x);\r\n\r\n return x;\r\n }\r\n\r\n function compare(a, b, aL, bL) {\r\n var i, cmp;\r\n\r\n if (aL != bL) {\r\n cmp = aL > bL ? 1 : -1;\r\n } else {\r\n\r\n for (i = cmp = 0; i < aL; i++) {\r\n\r\n if (a[i] != b[i]) {\r\n cmp = a[i] > b[i] ? 1 : -1;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return cmp;\r\n }\r\n\r\n function subtract(a, b, aL, base) {\r\n var i = 0;\r\n\r\n // Subtract b from a.\r\n for (; aL--;) {\r\n a[aL] -= i;\r\n i = a[aL] < b[aL] ? 1 : 0;\r\n a[aL] = i * base + a[aL] - b[aL];\r\n }\r\n\r\n // Remove leading zeros.\r\n for (; !a[0] && a.length > 1; a.splice(0, 1));\r\n }\r\n\r\n // x: dividend, y: divisor.\r\n return function (x, y, dp, rm, base) {\r\n var cmp, e, i, more, n, prod, prodL, q, qc, rem, remL, rem0, xi, xL, yc0,\r\n yL, yz,\r\n s = x.s == y.s ? 1 : -1,\r\n xc = x.c,\r\n yc = y.c;\r\n\r\n // Either NaN, Infinity or 0?\r\n if (!xc || !xc[0] || !yc || !yc[0]) {\r\n\r\n return new BigNumber(\r\n\r\n // Return NaN if either NaN, or both Infinity or 0.\r\n !x.s || !y.s || (xc ? yc && xc[0] == yc[0] : !yc) ? NaN :\r\n\r\n // Return ±0 if x is ±0 or y is ±Infinity, or return ±Infinity as y is ±0.\r\n xc && xc[0] == 0 || !yc ? s * 0 : s / 0\r\n );\r\n }\r\n\r\n q = new BigNumber(s);\r\n qc = q.c = [];\r\n e = x.e - y.e;\r\n s = dp + e + 1;\r\n\r\n if (!base) {\r\n base = BASE;\r\n e = bitFloor(x.e / LOG_BASE) - bitFloor(y.e / LOG_BASE);\r\n s = s / LOG_BASE | 0;\r\n }\r\n\r\n // Result exponent may be one less then the current value of e.\r\n // The coefficients of the BigNumbers from convertBase may have trailing zeros.\r\n for (i = 0; yc[i] == (xc[i] || 0); i++);\r\n\r\n if (yc[i] > (xc[i] || 0)) e--;\r\n\r\n if (s < 0) {\r\n qc.push(1);\r\n more = true;\r\n } else {\r\n xL = xc.length;\r\n yL = yc.length;\r\n i = 0;\r\n s += 2;\r\n\r\n // Normalise xc and yc so highest order digit of yc is >= base / 2.\r\n\r\n n = mathfloor(base / (yc[0] + 1));\r\n\r\n // Not necessary, but to handle odd bases where yc[0] == (base / 2) - 1.\r\n // if (n > 1 || n++ == 1 && yc[0] < base / 2) {\r\n if (n > 1) {\r\n yc = multiply(yc, n, base);\r\n xc = multiply(xc, n, base);\r\n yL = yc.length;\r\n xL = xc.length;\r\n }\r\n\r\n xi = yL;\r\n rem = xc.slice(0, yL);\r\n remL = rem.length;\r\n\r\n // Add zeros to make remainder as long as divisor.\r\n for (; remL < yL; rem[remL++] = 0);\r\n yz = yc.slice();\r\n yz = [0].concat(yz);\r\n yc0 = yc[0];\r\n if (yc[1] >= base / 2) yc0++;\r\n // Not necessary, but to prevent trial digit n > base, when using base 3.\r\n // else if (base == 3 && yc0 == 1) yc0 = 1 + 1e-15;\r\n\r\n do {\r\n n = 0;\r\n\r\n // Compare divisor and remainder.\r\n cmp = compare(yc, rem, yL, remL);\r\n\r\n // If divisor < remainder.\r\n if (cmp < 0) {\r\n\r\n // Calculate trial digit, n.\r\n\r\n rem0 = rem[0];\r\n if (yL != remL) rem0 = rem0 * base + (rem[1] || 0);\r\n\r\n // n is how many times the divisor goes into the current remainder.\r\n n = mathfloor(rem0 / yc0);\r\n\r\n // Algorithm:\r\n // product = divisor multiplied by trial digit (n).\r\n // Compare product and remainder.\r\n // If product is greater than remainder:\r\n // Subtract divisor from product, decrement trial digit.\r\n // Subtract product from remainder.\r\n // If product was less than remainder at the last compare:\r\n // Compare new remainder and divisor.\r\n // If remainder is greater than divisor:\r\n // Subtract divisor from remainder, increment trial digit.\r\n\r\n if (n > 1) {\r\n\r\n // n may be > base only when base is 3.\r\n if (n >= base) n = base - 1;\r\n\r\n // product = divisor * trial digit.\r\n prod = multiply(yc, n, base);\r\n prodL = prod.length;\r\n remL = rem.length;\r\n\r\n // Compare product and remainder.\r\n // If product > remainder then trial digit n too high.\r\n // n is 1 too high about 5% of the time, and is not known to have\r\n // ever been more than 1 too high.\r\n while (compare(prod, rem, prodL, remL) == 1) {\r\n n--;\r\n\r\n // Subtract divisor from product.\r\n subtract(prod, yL < prodL ? yz : yc, prodL, base);\r\n prodL = prod.length;\r\n cmp = 1;\r\n }\r\n } else {\r\n\r\n // n is 0 or 1, cmp is -1.\r\n // If n is 0, there is no need to compare yc and rem again below,\r\n // so change cmp to 1 to avoid it.\r\n // If n is 1, leave cmp as -1, so yc and rem are compared again.\r\n if (n == 0) {\r\n\r\n // divisor < remainder, so n must be at least 1.\r\n cmp = n = 1;\r\n }\r\n\r\n // product = divisor\r\n prod = yc.slice();\r\n prodL = prod.length;\r\n }\r\n\r\n if (prodL < remL) prod = [0].concat(prod);\r\n\r\n // Subtract product from remainder.\r\n subtract(rem, prod, remL, base);\r\n remL = rem.length;\r\n\r\n // If product was < remainder.\r\n if (cmp == -1) {\r\n\r\n // Compare divisor and new remainder.\r\n // If divisor < new remainder, subtract divisor from remainder.\r\n // Trial digit n too low.\r\n // n is 1 too low about 5% of the time, and very rarely 2 too low.\r\n while (compare(yc, rem, yL, remL) < 1) {\r\n n++;\r\n\r\n // Subtract divisor from remainder.\r\n subtract(rem, yL < remL ? yz : yc, remL, base);\r\n remL = rem.length;\r\n }\r\n }\r\n } else if (cmp === 0) {\r\n n++;\r\n rem = [0];\r\n } // else cmp === 1 and n will be 0\r\n\r\n // Add the next digit, n, to the result array.\r\n qc[i++] = n;\r\n\r\n // Update the remainder.\r\n if (rem[0]) {\r\n rem[remL++] = xc[xi] || 0;\r\n } else {\r\n rem = [xc[xi]];\r\n remL = 1;\r\n }\r\n } while ((xi++ < xL || rem[0] != null) && s--);\r\n\r\n more = rem[0] != null;\r\n\r\n // Leading zero?\r\n if (!qc[0]) qc.splice(0, 1);\r\n }\r\n\r\n if (base == BASE) {\r\n\r\n // To calculate q.e, first get the number of digits of qc[0].\r\n for (i = 1, s = qc[0]; s >= 10; s /= 10, i++);\r\n\r\n round(q, dp + (q.e = i + e * LOG_BASE - 1) + 1, rm, more);\r\n\r\n // Caller is convertBase.\r\n } else {\r\n q.e = e;\r\n q.r = +more;\r\n }\r\n\r\n return q;\r\n };\r\n })();\r\n\r\n\r\n /*\r\n * Return a string representing the value of BigNumber n in fixed-point or exponential\r\n * notation rounded to the specified decimal places or significant digits.\r\n *\r\n * n: a BigNumber.\r\n * i: the index of the last digit required (i.e. the digit that may be rounded up).\r\n * rm: the rounding mode.\r\n * id: 1 (toExponential) or 2 (toPrecision).\r\n */\r\n function format(n, i, rm, id) {\r\n var c0, e, ne, len, str;\r\n\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n\r\n if (!n.c) return n.toString();\r\n\r\n c0 = n.c[0];\r\n ne = n.e;\r\n\r\n if (i == null) {\r\n str = coeffToString(n.c);\r\n str = id == 1 || id == 2 && (ne <= TO_EXP_NEG || ne >= TO_EXP_POS)\r\n ? toExponential(str, ne)\r\n : toFixedPoint(str, ne, '0');\r\n } else {\r\n n = round(new BigNumber(n), i, rm);\r\n\r\n // n.e may have changed if the value was rounded up.\r\n e = n.e;\r\n\r\n str = coeffToString(n.c);\r\n len = str.length;\r\n\r\n // toPrecision returns exponential notation if the number of significant digits\r\n // specified is less than the number of digits necessary to represent the integer\r\n // part of the value in fixed-point notation.\r\n\r\n // Exponential notation.\r\n if (id == 1 || id == 2 && (i <= e || e <= TO_EXP_NEG)) {\r\n\r\n // Append zeros?\r\n for (; len < i; str += '0', len++);\r\n str = toExponential(str, e);\r\n\r\n // Fixed-point notation.\r\n } else {\r\n i -= ne;\r\n str = toFixedPoint(str, e, '0');\r\n\r\n // Append zeros?\r\n if (e + 1 > len) {\r\n if (--i > 0) for (str += '.'; i--; str += '0');\r\n } else {\r\n i += e - len;\r\n if (i > 0) {\r\n if (e + 1 == len) str += '.';\r\n for (; i--; str += '0');\r\n }\r\n }\r\n }\r\n }\r\n\r\n return n.s < 0 && c0 ? '-' + str : str;\r\n }\r\n\r\n\r\n // Handle BigNumber.max and BigNumber.min.\r\n // If any number is NaN, return NaN.\r\n function maxOrMin(args, n) {\r\n var k, y,\r\n i = 1,\r\n x = new BigNumber(args[0]);\r\n\r\n for (; i < args.length; i++) {\r\n y = new BigNumber(args[i]);\r\n if (!y.s || (k = compare(x, y)) === n || k === 0 && x.s === n) {\r\n x = y;\r\n }\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * Strip trailing zeros, calculate base 10 exponent and check against MIN_EXP and MAX_EXP.\r\n * Called by minus, plus and times.\r\n */\r\n function normalise(n, c, e) {\r\n var i = 1,\r\n j = c.length;\r\n\r\n // Remove trailing zeros.\r\n for (; !c[--j]; c.pop());\r\n\r\n // Calculate the base 10 exponent. First get the number of digits of c[0].\r\n for (j = c[0]; j >= 10; j /= 10, i++);\r\n\r\n // Overflow?\r\n if ((e = i + e * LOG_BASE - 1) > MAX_EXP) {\r\n\r\n // Infinity.\r\n n.c = n.e = null;\r\n\r\n // Underflow?\r\n } else if (e < MIN_EXP) {\r\n\r\n // Zero.\r\n n.c = [n.e = 0];\r\n } else {\r\n n.e = e;\r\n n.c = c;\r\n }\r\n\r\n return n;\r\n }\r\n\r\n\r\n // Handle values that fail the validity test in BigNumber.\r\n parseNumeric = (function () {\r\n var basePrefix = /^(-?)0([xbo])(?=\\w[\\w.]*$)/i,\r\n dotAfter = /^([^.]+)\\.$/,\r\n dotBefore = /^\\.([^.]+)$/,\r\n isInfinityOrNaN = /^-?(Infinity|NaN)$/,\r\n whitespaceOrPlus = /^\\s*\\+(?=[\\w.])|^\\s+|\\s+$/g;\r\n\r\n return function (x, str, isNum, b) {\r\n var base,\r\n s = isNum ? str : str.replace(whitespaceOrPlus, '');\r\n\r\n // No exception on ±Infinity or NaN.\r\n if (isInfinityOrNaN.test(s)) {\r\n x.s = isNaN(s) ? null : s < 0 ? -1 : 1;\r\n } else {\r\n if (!isNum) {\r\n\r\n // basePrefix = /^(-?)0([xbo])(?=\\w[\\w.]*$)/i\r\n s = s.replace(basePrefix, function (m, p1, p2) {\r\n base = (p2 = p2.toLowerCase()) == 'x' ? 16 : p2 == 'b' ? 2 : 8;\r\n return !b || b == base ? p1 : m;\r\n });\r\n\r\n if (b) {\r\n base = b;\r\n\r\n // E.g. '1.' to '1', '.1' to '0.1'\r\n s = s.replace(dotAfter, '$1').replace(dotBefore, '0.$1');\r\n }\r\n\r\n if (str != s) return new BigNumber(s, base);\r\n }\r\n\r\n // '[BigNumber Error] Not a number: {n}'\r\n // '[BigNumber Error] Not a base {b} number: {n}'\r\n if (BigNumber.DEBUG) {\r\n throw Error\r\n (bignumberError + 'Not a' + (b ? ' base ' + b : '') + ' number: ' + str);\r\n }\r\n\r\n // NaN\r\n x.s = null;\r\n }\r\n\r\n x.c = x.e = null;\r\n }\r\n })();\r\n\r\n\r\n /*\r\n * Round x to sd significant digits using rounding mode rm. Check for over/under-flow.\r\n * If r is truthy, it is known that there are more digits after the rounding digit.\r\n */\r\n function round(x, sd, rm, r) {\r\n var d, i, j, k, n, ni, rd,\r\n xc = x.c,\r\n pows10 = POWS_TEN;\r\n\r\n // if x is not Infinity or NaN...\r\n if (xc) {\r\n\r\n // rd is the rounding digit, i.e. the digit after the digit that may be rounded up.\r\n // n is a base 1e14 number, the value of the element of array x.c containing rd.\r\n // ni is the index of n within x.c.\r\n // d is the number of digits of n.\r\n // i is the index of rd within n including leading zeros.\r\n // j is the actual index of rd within n (if < 0, rd is a leading zero).\r\n out: {\r\n\r\n // Get the number of digits of the first element of xc.\r\n for (d = 1, k = xc[0]; k >= 10; k /= 10, d++);\r\n i = sd - d;\r\n\r\n // If the rounding digit is in the first element of xc...\r\n if (i < 0) {\r\n i += LOG_BASE;\r\n j = sd;\r\n n = xc[ni = 0];\r\n\r\n // Get the rounding digit at index j of n.\r\n rd = mathfloor(n / pows10[d - j - 1] % 10);\r\n } else {\r\n ni = mathceil((i + 1) / LOG_BASE);\r\n\r\n if (ni >= xc.length) {\r\n\r\n if (r) {\r\n\r\n // Needed by sqrt.\r\n for (; xc.length <= ni; xc.push(0));\r\n n = rd = 0;\r\n d = 1;\r\n i %= LOG_BASE;\r\n j = i - LOG_BASE + 1;\r\n } else {\r\n break out;\r\n }\r\n } else {\r\n n = k = xc[ni];\r\n\r\n // Get the number of digits of n.\r\n for (d = 1; k >= 10; k /= 10, d++);\r\n\r\n // Get the index of rd within n.\r\n i %= LOG_BASE;\r\n\r\n // Get the index of rd within n, adjusted for leading zeros.\r\n // The number of leading zeros of n is given by LOG_BASE - d.\r\n j = i - LOG_BASE + d;\r\n\r\n // Get the rounding digit at index j of n.\r\n rd = j < 0 ? 0 : mathfloor(n / pows10[d - j - 1] % 10);\r\n }\r\n }\r\n\r\n r = r || sd < 0 ||\r\n\r\n // Are there any non-zero digits after the rounding digit?\r\n // The expression n % pows10[d - j - 1] returns all digits of n to the right\r\n // of the digit at j, e.g. if n is 908714 and j is 2, the expression gives 714.\r\n xc[ni + 1] != null || (j < 0 ? n : n % pows10[d - j - 1]);\r\n\r\n r = rm < 4\r\n ? (rd || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n : rd > 5 || rd == 5 && (rm == 4 || r || rm == 6 &&\r\n\r\n // Check whether the digit to the left of the rounding digit is odd.\r\n ((i > 0 ? j > 0 ? n / pows10[d - j] : 0 : xc[ni - 1]) % 10) & 1 ||\r\n rm == (x.s < 0 ? 8 : 7));\r\n\r\n if (sd < 1 || !xc[0]) {\r\n xc.length = 0;\r\n\r\n if (r) {\r\n\r\n // Convert sd to decimal places.\r\n sd -= x.e + 1;\r\n\r\n // 1, 0.1, 0.01, 0.001, 0.0001 etc.\r\n xc[0] = pows10[(LOG_BASE - sd % LOG_BASE) % LOG_BASE];\r\n x.e = -sd || 0;\r\n } else {\r\n\r\n // Zero.\r\n xc[0] = x.e = 0;\r\n }\r\n\r\n return x;\r\n }\r\n\r\n // Remove excess digits.\r\n if (i == 0) {\r\n xc.length = ni;\r\n k = 1;\r\n ni--;\r\n } else {\r\n xc.length = ni + 1;\r\n k = pows10[LOG_BASE - i];\r\n\r\n // E.g. 56700 becomes 56000 if 7 is the rounding digit.\r\n // j > 0 means i > number of leading zeros of n.\r\n xc[ni] = j > 0 ? mathfloor(n / pows10[d - j] % pows10[j]) * k : 0;\r\n }\r\n\r\n // Round up?\r\n if (r) {\r\n\r\n for (; ;) {\r\n\r\n // If the digit to be rounded up is in the first element of xc...\r\n if (ni == 0) {\r\n\r\n // i will be the length of xc[0] before k is added.\r\n for (i = 1, j = xc[0]; j >= 10; j /= 10, i++);\r\n j = xc[0] += k;\r\n for (k = 1; j >= 10; j /= 10, k++);\r\n\r\n // if i != k the length has increased.\r\n if (i != k) {\r\n x.e++;\r\n if (xc[0] == BASE) xc[0] = 1;\r\n }\r\n\r\n break;\r\n } else {\r\n xc[ni] += k;\r\n if (xc[ni] != BASE) break;\r\n xc[ni--] = 0;\r\n k = 1;\r\n }\r\n }\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (i = xc.length; xc[--i] === 0; xc.pop());\r\n }\r\n\r\n // Overflow? Infinity.\r\n if (x.e > MAX_EXP) {\r\n x.c = x.e = null;\r\n\r\n // Underflow? Zero.\r\n } else if (x.e < MIN_EXP) {\r\n x.c = [x.e = 0];\r\n }\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n function valueOf(n) {\r\n var str,\r\n e = n.e;\r\n\r\n if (e === null) return n.toString();\r\n\r\n str = coeffToString(n.c);\r\n\r\n str = e <= TO_EXP_NEG || e >= TO_EXP_POS\r\n ? toExponential(str, e)\r\n : toFixedPoint(str, e, '0');\r\n\r\n return n.s < 0 ? '-' + str : str;\r\n }\r\n\r\n\r\n // PROTOTYPE/INSTANCE METHODS\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the absolute value of this BigNumber.\r\n */\r\n P.absoluteValue = P.abs = function () {\r\n var x = new BigNumber(this);\r\n if (x.s < 0) x.s = 1;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * Return\r\n * 1 if the value of this BigNumber is greater than the value of BigNumber(y, b),\r\n * -1 if the value of this BigNumber is less than the value of BigNumber(y, b),\r\n * 0 if they have the same value,\r\n * or null if the value of either is NaN.\r\n */\r\n P.comparedTo = function (y, b) {\r\n return compare(this, new BigNumber(y, b));\r\n };\r\n\r\n\r\n /*\r\n * If dp is undefined or null or true or false, return the number of decimal places of the\r\n * value of this BigNumber, or null if the value of this BigNumber is ±Infinity or NaN.\r\n *\r\n * Otherwise, if dp is a number, return a new BigNumber whose value is the value of this\r\n * BigNumber rounded to a maximum of dp decimal places using rounding mode rm, or\r\n * ROUNDING_MODE if rm is omitted.\r\n *\r\n * [dp] {number} Decimal places: integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\r\n P.decimalPlaces = P.dp = function (dp, rm) {\r\n var c, n, v,\r\n x = this;\r\n\r\n if (dp != null) {\r\n intCheck(dp, 0, MAX);\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n\r\n return round(new BigNumber(x), dp + x.e + 1, rm);\r\n }\r\n\r\n if (!(c = x.c)) return null;\r\n n = ((v = c.length - 1) - bitFloor(this.e / LOG_BASE)) * LOG_BASE;\r\n\r\n // Subtract the number of trailing zeros of the last number.\r\n if (v = c[v]) for (; v % 10 == 0; v /= 10, n--);\r\n if (n < 0) n = 0;\r\n\r\n return n;\r\n };\r\n\r\n\r\n /*\r\n * n / 0 = I\r\n * n / N = N\r\n * n / I = 0\r\n * 0 / n = 0\r\n * 0 / 0 = N\r\n * 0 / N = N\r\n * 0 / I = 0\r\n * N / n = N\r\n * N / 0 = N\r\n * N / N = N\r\n * N / I = N\r\n * I / n = I\r\n * I / 0 = I\r\n * I / N = N\r\n * I / I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber divided by the value of\r\n * BigNumber(y, b), rounded according to DECIMAL_PLACES and ROUNDING_MODE.\r\n */\r\n P.dividedBy = P.div = function (y, b) {\r\n return div(this, new BigNumber(y, b), DECIMAL_PLACES, ROUNDING_MODE);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the integer part of dividing the value of this\r\n * BigNumber by the value of BigNumber(y, b).\r\n */\r\n P.dividedToIntegerBy = P.idiv = function (y, b) {\r\n return div(this, new BigNumber(y, b), 0, 1);\r\n };\r\n\r\n\r\n /*\r\n * Return a BigNumber whose value is the value of this BigNumber exponentiated by n.\r\n *\r\n * If m is present, return the result modulo m.\r\n * If n is negative round according to DECIMAL_PLACES and ROUNDING_MODE.\r\n * If POW_PRECISION is non-zero and m is not present, round to POW_PRECISION using ROUNDING_MODE.\r\n *\r\n * The modular power operation works efficiently when x, n, and m are integers, otherwise it\r\n * is equivalent to calculating x.exponentiatedBy(n).modulo(m) with a POW_PRECISION of 0.\r\n *\r\n * n {number|string|BigNumber} The exponent. An integer.\r\n * [m] {number|string|BigNumber} The modulus.\r\n *\r\n * '[BigNumber Error] Exponent not an integer: {n}'\r\n */\r\n P.exponentiatedBy = P.pow = function (n, m) {\r\n var half, isModExp, i, k, more, nIsBig, nIsNeg, nIsOdd, y,\r\n x = this;\r\n\r\n n = new BigNumber(n);\r\n\r\n // Allow NaN and ±Infinity, but not other non-integers.\r\n if (n.c && !n.isInteger()) {\r\n throw Error\r\n (bignumberError + 'Exponent not an integer: ' + valueOf(n));\r\n }\r\n\r\n if (m != null) m = new BigNumber(m);\r\n\r\n // Exponent of MAX_SAFE_INTEGER is 15.\r\n nIsBig = n.e > 14;\r\n\r\n // If x is NaN, ±Infinity, ±0 or ±1, or n is ±Infinity, NaN or ±0.\r\n if (!x.c || !x.c[0] || x.c[0] == 1 && !x.e && x.c.length == 1 || !n.c || !n.c[0]) {\r\n\r\n // The sign of the result of pow when x is negative depends on the evenness of n.\r\n // If +n overflows to ±Infinity, the evenness of n would be not be known.\r\n y = new BigNumber(Math.pow(+valueOf(x), nIsBig ? n.s * (2 - isOdd(n)) : +valueOf(n)));\r\n return m ? y.mod(m) : y;\r\n }\r\n\r\n nIsNeg = n.s < 0;\r\n\r\n if (m) {\r\n\r\n // x % m returns NaN if abs(m) is zero, or m is NaN.\r\n if (m.c ? !m.c[0] : !m.s) return new BigNumber(NaN);\r\n\r\n isModExp = !nIsNeg && x.isInteger() && m.isInteger();\r\n\r\n if (isModExp) x = x.mod(m);\r\n\r\n // Overflow to ±Infinity: >=2**1e10 or >=1.0000024**1e15.\r\n // Underflow to ±0: <=0.79**1e10 or <=0.9999975**1e15.\r\n } else if (n.e > 9 && (x.e > 0 || x.e < -1 || (x.e == 0\r\n // [1, 240000000]\r\n ? x.c[0] > 1 || nIsBig && x.c[1] >= 24e7\r\n // [80000000000000] [99999750000000]\r\n : x.c[0] < 8e13 || nIsBig && x.c[0] <= 9999975e7))) {\r\n\r\n // If x is negative and n is odd, k = -0, else k = 0.\r\n k = x.s < 0 && isOdd(n) ? -0 : 0;\r\n\r\n // If x >= 1, k = ±Infinity.\r\n if (x.e > -1) k = 1 / k;\r\n\r\n // If n is negative return ±0, else return ±Infinity.\r\n return new BigNumber(nIsNeg ? 1 / k : k);\r\n\r\n } else if (POW_PRECISION) {\r\n\r\n // Truncating each coefficient array to a length of k after each multiplication\r\n // equates to truncating significant digits to POW_PRECISION + [28, 41],\r\n // i.e. there will be a minimum of 28 guard digits retained.\r\n k = mathceil(POW_PRECISION / LOG_BASE + 2);\r\n }\r\n\r\n if (nIsBig) {\r\n half = new BigNumber(0.5);\r\n if (nIsNeg) n.s = 1;\r\n nIsOdd = isOdd(n);\r\n } else {\r\n i = Math.abs(+valueOf(n));\r\n nIsOdd = i % 2;\r\n }\r\n\r\n y = new BigNumber(ONE);\r\n\r\n // Performs 54 loop iterations for n of 9007199254740991.\r\n for (; ;) {\r\n\r\n if (nIsOdd) {\r\n y = y.times(x);\r\n if (!y.c) break;\r\n\r\n if (k) {\r\n if (y.c.length > k) y.c.length = k;\r\n } else if (isModExp) {\r\n y = y.mod(m); //y = y.minus(div(y, m, 0, MODULO_MODE).times(m));\r\n }\r\n }\r\n\r\n if (i) {\r\n i = mathfloor(i / 2);\r\n if (i === 0) break;\r\n nIsOdd = i % 2;\r\n } else {\r\n n = n.times(half);\r\n round(n, n.e + 1, 1);\r\n\r\n if (n.e > 14) {\r\n nIsOdd = isOdd(n);\r\n } else {\r\n i = +valueOf(n);\r\n if (i === 0) break;\r\n nIsOdd = i % 2;\r\n }\r\n }\r\n\r\n x = x.times(x);\r\n\r\n if (k) {\r\n if (x.c && x.c.length > k) x.c.length = k;\r\n } else if (isModExp) {\r\n x = x.mod(m); //x = x.minus(div(x, m, 0, MODULO_MODE).times(m));\r\n }\r\n }\r\n\r\n if (isModExp) return y;\r\n if (nIsNeg) y = ONE.div(y);\r\n\r\n return m ? y.mod(m) : k ? round(y, POW_PRECISION, ROUNDING_MODE, more) : y;\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber rounded to an integer\r\n * using rounding mode rm, or ROUNDING_MODE if rm is omitted.\r\n *\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {rm}'\r\n */\r\n P.integerValue = function (rm) {\r\n var n = new BigNumber(this);\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n return round(n, n.e + 1, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is equal to the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\r\n P.isEqualTo = P.eq = function (y, b) {\r\n return compare(this, new BigNumber(y, b)) === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is a finite number, otherwise return false.\r\n */\r\n P.isFinite = function () {\r\n return !!this.c;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is greater than the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\r\n P.isGreaterThan = P.gt = function (y, b) {\r\n return compare(this, new BigNumber(y, b)) > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is greater than or equal to the value of\r\n * BigNumber(y, b), otherwise return false.\r\n */\r\n P.isGreaterThanOrEqualTo = P.gte = function (y, b) {\r\n return (b = compare(this, new BigNumber(y, b))) === 1 || b === 0;\r\n\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is an integer, otherwise return false.\r\n */\r\n P.isInteger = function () {\r\n return !!this.c && bitFloor(this.e / LOG_BASE) > this.c.length - 2;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is less than the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\r\n P.isLessThan = P.lt = function (y, b) {\r\n return compare(this, new BigNumber(y, b)) < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is less than or equal to the value of\r\n * BigNumber(y, b), otherwise return false.\r\n */\r\n P.isLessThanOrEqualTo = P.lte = function (y, b) {\r\n return (b = compare(this, new BigNumber(y, b))) === -1 || b === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is NaN, otherwise return false.\r\n */\r\n P.isNaN = function () {\r\n return !this.s;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is negative, otherwise return false.\r\n */\r\n P.isNegative = function () {\r\n return this.s < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is positive, otherwise return false.\r\n */\r\n P.isPositive = function () {\r\n return this.s > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is 0 or -0, otherwise return false.\r\n */\r\n P.isZero = function () {\r\n return !!this.c && this.c[0] == 0;\r\n };\r\n\r\n\r\n /*\r\n * n - 0 = n\r\n * n - N = N\r\n * n - I = -I\r\n * 0 - n = -n\r\n * 0 - 0 = 0\r\n * 0 - N = N\r\n * 0 - I = -I\r\n * N - n = N\r\n * N - 0 = N\r\n * N - N = N\r\n * N - I = N\r\n * I - n = I\r\n * I - 0 = I\r\n * I - N = N\r\n * I - I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber minus the value of\r\n * BigNumber(y, b).\r\n */\r\n P.minus = function (y, b) {\r\n var i, j, t, xLTy,\r\n x = this,\r\n a = x.s;\r\n\r\n y = new BigNumber(y, b);\r\n b = y.s;\r\n\r\n // Either NaN?\r\n if (!a || !b) return new BigNumber(NaN);\r\n\r\n // Signs differ?\r\n if (a != b) {\r\n y.s = -b;\r\n return x.plus(y);\r\n }\r\n\r\n var xe = x.e / LOG_BASE,\r\n ye = y.e / LOG_BASE,\r\n xc = x.c,\r\n yc = y.c;\r\n\r\n if (!xe || !ye) {\r\n\r\n // Either Infinity?\r\n if (!xc || !yc) return xc ? (y.s = -b, y) : new BigNumber(yc ? x : NaN);\r\n\r\n // Either zero?\r\n if (!xc[0] || !yc[0]) {\r\n\r\n // Return y if y is non-zero, x if x is non-zero, or zero if both are zero.\r\n return yc[0] ? (y.s = -b, y) : new BigNumber(xc[0] ? x :\r\n\r\n // IEEE 754 (2008) 6.3: n - n = -0 when rounding to -Infinity\r\n ROUNDING_MODE == 3 ? -0 : 0);\r\n }\r\n }\r\n\r\n xe = bitFloor(xe);\r\n ye = bitFloor(ye);\r\n xc = xc.slice();\r\n\r\n // Determine which is the bigger number.\r\n if (a = xe - ye) {\r\n\r\n if (xLTy = a < 0) {\r\n a = -a;\r\n t = xc;\r\n } else {\r\n ye = xe;\r\n t = yc;\r\n }\r\n\r\n t.reverse();\r\n\r\n // Prepend zeros to equalise exponents.\r\n for (b = a; b--; t.push(0));\r\n t.reverse();\r\n } else {\r\n\r\n // Exponents equal. Check digit by digit.\r\n j = (xLTy = (a = xc.length) < (b = yc.length)) ? a : b;\r\n\r\n for (a = b = 0; b < j; b++) {\r\n\r\n if (xc[b] != yc[b]) {\r\n xLTy = xc[b] < yc[b];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // x < y? Point xc to the array of the bigger number.\r\n if (xLTy) {\r\n t = xc;\r\n xc = yc;\r\n yc = t;\r\n y.s = -y.s;\r\n }\r\n\r\n b = (j = yc.length) - (i = xc.length);\r\n\r\n // Append zeros to xc if shorter.\r\n // No need to add zeros to yc if shorter as subtract only needs to start at yc.length.\r\n if (b > 0) for (; b--; xc[i++] = 0);\r\n b = BASE - 1;\r\n\r\n // Subtract yc from xc.\r\n for (; j > a;) {\r\n\r\n if (xc[--j] < yc[j]) {\r\n for (i = j; i && !xc[--i]; xc[i] = b);\r\n --xc[i];\r\n xc[j] += BASE;\r\n }\r\n\r\n xc[j] -= yc[j];\r\n }\r\n\r\n // Remove leading zeros and adjust exponent accordingly.\r\n for (; xc[0] == 0; xc.splice(0, 1), --ye);\r\n\r\n // Zero?\r\n if (!xc[0]) {\r\n\r\n // Following IEEE 754 (2008) 6.3,\r\n // n - n = +0 but n - n = -0 when rounding towards -Infinity.\r\n y.s = ROUNDING_MODE == 3 ? -1 : 1;\r\n y.c = [y.e = 0];\r\n return y;\r\n }\r\n\r\n // No need to check for Infinity as +x - +y != Infinity && -x - -y != Infinity\r\n // for finite x and y.\r\n return normalise(y, xc, ye);\r\n };\r\n\r\n\r\n /*\r\n * n % 0 = N\r\n * n % N = N\r\n * n % I = n\r\n * 0 % n = 0\r\n * -0 % n = -0\r\n * 0 % 0 = N\r\n * 0 % N = N\r\n * 0 % I = 0\r\n * N % n = N\r\n * N % 0 = N\r\n * N % N = N\r\n * N % I = N\r\n * I % n = N\r\n * I % 0 = N\r\n * I % N = N\r\n * I % I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber modulo the value of\r\n * BigNumber(y, b). The result depends on the value of MODULO_MODE.\r\n */\r\n P.modulo = P.mod = function (y, b) {\r\n var q, s,\r\n x = this;\r\n\r\n y = new BigNumber(y, b);\r\n\r\n // Return NaN if x is Infinity or NaN, or y is NaN or zero.\r\n if (!x.c || !y.s || y.c && !y.c[0]) {\r\n return new BigNumber(NaN);\r\n\r\n // Return x if y is Infinity or x is zero.\r\n } else if (!y.c || x.c && !x.c[0]) {\r\n return new BigNumber(x);\r\n }\r\n\r\n if (MODULO_MODE == 9) {\r\n\r\n // Euclidian division: q = sign(y) * floor(x / abs(y))\r\n // r = x - qy where 0 <= r < abs(y)\r\n s = y.s;\r\n y.s = 1;\r\n q = div(x, y, 0, 3);\r\n y.s = s;\r\n q.s *= s;\r\n } else {\r\n q = div(x, y, 0, MODULO_MODE);\r\n }\r\n\r\n y = x.minus(q.times(y));\r\n\r\n // To match JavaScript %, ensure sign of zero is sign of dividend.\r\n if (!y.c[0] && MODULO_MODE == 1) y.s = x.s;\r\n\r\n return y;\r\n };\r\n\r\n\r\n /*\r\n * n * 0 = 0\r\n * n * N = N\r\n * n * I = I\r\n * 0 * n = 0\r\n * 0 * 0 = 0\r\n * 0 * N = N\r\n * 0 * I = N\r\n * N * n = N\r\n * N * 0 = N\r\n * N * N = N\r\n * N * I = N\r\n * I * n = I\r\n * I * 0 = N\r\n * I * N = N\r\n * I * I = I\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber multiplied by the value\r\n * of BigNumber(y, b).\r\n */\r\n P.multipliedBy = P.times = function (y, b) {\r\n var c, e, i, j, k, m, xcL, xlo, xhi, ycL, ylo, yhi, zc,\r\n base, sqrtBase,\r\n x = this,\r\n xc = x.c,\r\n yc = (y = new BigNumber(y, b)).c;\r\n\r\n // Either NaN, ±Infinity or ±0?\r\n if (!xc || !yc || !xc[0] || !yc[0]) {\r\n\r\n // Return NaN if either is NaN, or one is 0 and the other is Infinity.\r\n if (!x.s || !y.s || xc && !xc[0] && !yc || yc && !yc[0] && !xc) {\r\n y.c = y.e = y.s = null;\r\n } else {\r\n y.s *= x.s;\r\n\r\n // Return ±Infinity if either is ±Infinity.\r\n if (!xc || !yc) {\r\n y.c = y.e = null;\r\n\r\n // Return ±0 if either is ±0.\r\n } else {\r\n y.c = [0];\r\n y.e = 0;\r\n }\r\n }\r\n\r\n return y;\r\n }\r\n\r\n e = bitFloor(x.e / LOG_BASE) + bitFloor(y.e / LOG_BASE);\r\n y.s *= x.s;\r\n xcL = xc.length;\r\n ycL = yc.length;\r\n\r\n // Ensure xc points to longer array and xcL to its length.\r\n if (xcL < ycL) {\r\n zc = xc;\r\n xc = yc;\r\n yc = zc;\r\n i = xcL;\r\n xcL = ycL;\r\n ycL = i;\r\n }\r\n\r\n // Initialise the result array with zeros.\r\n for (i = xcL + ycL, zc = []; i--; zc.push(0));\r\n\r\n base = BASE;\r\n sqrtBase = SQRT_BASE;\r\n\r\n for (i = ycL; --i >= 0;) {\r\n c = 0;\r\n ylo = yc[i] % sqrtBase;\r\n yhi = yc[i] / sqrtBase | 0;\r\n\r\n for (k = xcL, j = i + k; j > i;) {\r\n xlo = xc[--k] % sqrtBase;\r\n xhi = xc[k] / sqrtBase | 0;\r\n m = yhi * xlo + xhi * ylo;\r\n xlo = ylo * xlo + ((m % sqrtBase) * sqrtBase) + zc[j] + c;\r\n c = (xlo / base | 0) + (m / sqrtBase | 0) + yhi * xhi;\r\n zc[j--] = xlo % base;\r\n }\r\n\r\n zc[j] = c;\r\n }\r\n\r\n if (c) {\r\n ++e;\r\n } else {\r\n zc.splice(0, 1);\r\n }\r\n\r\n return normalise(y, zc, e);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber negated,\r\n * i.e. multiplied by -1.\r\n */\r\n P.negated = function () {\r\n var x = new BigNumber(this);\r\n x.s = -x.s || null;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * n + 0 = n\r\n * n + N = N\r\n * n + I = I\r\n * 0 + n = n\r\n * 0 + 0 = 0\r\n * 0 + N = N\r\n * 0 + I = I\r\n * N + n = N\r\n * N + 0 = N\r\n * N + N = N\r\n * N + I = N\r\n * I + n = I\r\n * I + 0 = I\r\n * I + N = N\r\n * I + I = I\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber plus the value of\r\n * BigNumber(y, b).\r\n */\r\n P.plus = function (y, b) {\r\n var t,\r\n x = this,\r\n a = x.s;\r\n\r\n y = new BigNumber(y, b);\r\n b = y.s;\r\n\r\n // Either NaN?\r\n if (!a || !b) return new BigNumber(NaN);\r\n\r\n // Signs differ?\r\n if (a != b) {\r\n y.s = -b;\r\n return x.minus(y);\r\n }\r\n\r\n var xe = x.e / LOG_BASE,\r\n ye = y.e / LOG_BASE,\r\n xc = x.c,\r\n yc = y.c;\r\n\r\n if (!xe || !ye) {\r\n\r\n // Return ±Infinity if either ±Infinity.\r\n if (!xc || !yc) return new BigNumber(a / 0);\r\n\r\n // Either zero?\r\n // Return y if y is non-zero, x if x is non-zero, or zero if both are zero.\r\n if (!xc[0] || !yc[0]) return yc[0] ? y : new BigNumber(xc[0] ? x : a * 0);\r\n }\r\n\r\n xe = bitFloor(xe);\r\n ye = bitFloor(ye);\r\n xc = xc.slice();\r\n\r\n // Prepend zeros to equalise exponents. Faster to use reverse then do unshifts.\r\n if (a = xe - ye) {\r\n if (a > 0) {\r\n ye = xe;\r\n t = yc;\r\n } else {\r\n a = -a;\r\n t = xc;\r\n }\r\n\r\n t.reverse();\r\n for (; a--; t.push(0));\r\n t.reverse();\r\n }\r\n\r\n a = xc.length;\r\n b = yc.length;\r\n\r\n // Point xc to the longer array, and b to the shorter length.\r\n if (a - b < 0) {\r\n t = yc;\r\n yc = xc;\r\n xc = t;\r\n b = a;\r\n }\r\n\r\n // Only start adding at yc.length - 1 as the further digits of xc can be ignored.\r\n for (a = 0; b;) {\r\n a = (xc[--b] = xc[b] + yc[b] + a) / BASE | 0;\r\n xc[b] = BASE === xc[b] ? 0 : xc[b] % BASE;\r\n }\r\n\r\n if (a) {\r\n xc = [a].concat(xc);\r\n ++ye;\r\n }\r\n\r\n // No need to check for zero, as +x + +y != 0 && -x + -y != 0\r\n // ye = MAX_EXP + 1 possible\r\n return normalise(y, xc, ye);\r\n };\r\n\r\n\r\n /*\r\n * If sd is undefined or null or true or false, return the number of significant digits of\r\n * the value of this BigNumber, or null if the value of this BigNumber is ±Infinity or NaN.\r\n * If sd is true include integer-part trailing zeros in the count.\r\n *\r\n * Otherwise, if sd is a number, return a new BigNumber whose value is the value of this\r\n * BigNumber rounded to a maximum of sd significant digits using rounding mode rm, or\r\n * ROUNDING_MODE if rm is omitted.\r\n *\r\n * sd {number|boolean} number: significant digits: integer, 1 to MAX inclusive.\r\n * boolean: whether to count integer-part trailing zeros: true or false.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {sd|rm}'\r\n */\r\n P.precision = P.sd = function (sd, rm) {\r\n var c, n, v,\r\n x = this;\r\n\r\n if (sd != null && sd !== !!sd) {\r\n intCheck(sd, 1, MAX);\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n\r\n return round(new BigNumber(x), sd, rm);\r\n }\r\n\r\n if (!(c = x.c)) return null;\r\n v = c.length - 1;\r\n n = v * LOG_BASE + 1;\r\n\r\n if (v = c[v]) {\r\n\r\n // Subtract the number of trailing zeros of the last element.\r\n for (; v % 10 == 0; v /= 10, n--);\r\n\r\n // Add the number of digits of the first element.\r\n for (v = c[0]; v >= 10; v /= 10, n++);\r\n }\r\n\r\n if (sd && x.e + 1 > n) n = x.e + 1;\r\n\r\n return n;\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber shifted by k places\r\n * (powers of 10). Shift to the right if n > 0, and to the left if n < 0.\r\n *\r\n * k {number} Integer, -MAX_SAFE_INTEGER to MAX_SAFE_INTEGER inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {k}'\r\n */\r\n P.shiftedBy = function (k) {\r\n intCheck(k, -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER);\r\n return this.times('1e' + k);\r\n };\r\n\r\n\r\n /*\r\n * sqrt(-n) = N\r\n * sqrt(N) = N\r\n * sqrt(-I) = N\r\n * sqrt(I) = I\r\n * sqrt(0) = 0\r\n * sqrt(-0) = -0\r\n *\r\n * Return a new BigNumber whose value is the square root of the value of this BigNumber,\r\n * rounded according to DECIMAL_PLACES and ROUNDING_MODE.\r\n */\r\n P.squareRoot = P.sqrt = function () {\r\n var m, n, r, rep, t,\r\n x = this,\r\n c = x.c,\r\n s = x.s,\r\n e = x.e,\r\n dp = DECIMAL_PLACES + 4,\r\n half = new BigNumber('0.5');\r\n\r\n // Negative/NaN/Infinity/zero?\r\n if (s !== 1 || !c || !c[0]) {\r\n return new BigNumber(!s || s < 0 && (!c || c[0]) ? NaN : c ? x : 1 / 0);\r\n }\r\n\r\n // Initial estimate.\r\n s = Math.sqrt(+valueOf(x));\r\n\r\n // Math.sqrt underflow/overflow?\r\n // Pass x to Math.sqrt as integer, then adjust the exponent of the result.\r\n if (s == 0 || s == 1 / 0) {\r\n n = coeffToString(c);\r\n if ((n.length + e) % 2 == 0) n += '0';\r\n s = Math.sqrt(+n);\r\n e = bitFloor((e + 1) / 2) - (e < 0 || e % 2);\r\n\r\n if (s == 1 / 0) {\r\n n = '5e' + e;\r\n } else {\r\n n = s.toExponential();\r\n n = n.slice(0, n.indexOf('e') + 1) + e;\r\n }\r\n\r\n r = new BigNumber(n);\r\n } else {\r\n r = new BigNumber(s + '');\r\n }\r\n\r\n // Check for zero.\r\n // r could be zero if MIN_EXP is changed after the this value was created.\r\n // This would cause a division by zero (x/t) and hence Infinity below, which would cause\r\n // coeffToString to throw.\r\n if (r.c[0]) {\r\n e = r.e;\r\n s = e + dp;\r\n if (s < 3) s = 0;\r\n\r\n // Newton-Raphson iteration.\r\n for (; ;) {\r\n t = r;\r\n r = half.times(t.plus(div(x, t, dp, 1)));\r\n\r\n if (coeffToString(t.c).slice(0, s) === (n = coeffToString(r.c)).slice(0, s)) {\r\n\r\n // The exponent of r may here be one less than the final result exponent,\r\n // e.g 0.0009999 (e-4) --> 0.001 (e-3), so adjust s so the rounding digits\r\n // are indexed correctly.\r\n if (r.e < e) --s;\r\n n = n.slice(s - 3, s + 1);\r\n\r\n // The 4th rounding digit may be in error by -1 so if the 4 rounding digits\r\n // are 9999 or 4999 (i.e. approaching a rounding boundary) continue the\r\n // iteration.\r\n if (n == '9999' || !rep && n == '4999') {\r\n\r\n // On the first iteration only, check to see if rounding up gives the\r\n // exact result as the nines may infinitely repeat.\r\n if (!rep) {\r\n round(t, t.e + DECIMAL_PLACES + 2, 0);\r\n\r\n if (t.times(t).eq(x)) {\r\n r = t;\r\n break;\r\n }\r\n }\r\n\r\n dp += 4;\r\n s += 4;\r\n rep = 1;\r\n } else {\r\n\r\n // If rounding digits are null, 0{0,4} or 50{0,3}, check for exact\r\n // result. If not, then there are further digits and m will be truthy.\r\n if (!+n || !+n.slice(1) && n.charAt(0) == '5') {\r\n\r\n // Truncate to the first rounding digit.\r\n round(r, r.e + DECIMAL_PLACES + 2, 1);\r\n m = !r.times(r).eq(x);\r\n }\r\n\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return round(r, r.e + DECIMAL_PLACES + 1, ROUNDING_MODE, m);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in exponential notation and\r\n * rounded using ROUNDING_MODE to dp fixed decimal places.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\r\n P.toExponential = function (dp, rm) {\r\n if (dp != null) {\r\n intCheck(dp, 0, MAX);\r\n dp++;\r\n }\r\n return format(this, dp, rm, 1);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in fixed-point notation rounding\r\n * to dp fixed decimal places using rounding mode rm, or ROUNDING_MODE if rm is omitted.\r\n *\r\n * Note: as with JavaScript's number type, (-0).toFixed(0) is '0',\r\n * but e.g. (-0.00001).toFixed(0) is '-0'.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\r\n P.toFixed = function (dp, rm) {\r\n if (dp != null) {\r\n intCheck(dp, 0, MAX);\r\n dp = dp + this.e + 1;\r\n }\r\n return format(this, dp, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in fixed-point notation rounded\r\n * using rm or ROUNDING_MODE to dp decimal places, and formatted according to the properties\r\n * of the format or FORMAT object (see BigNumber.set).\r\n *\r\n * The formatting object may contain some or all of the properties shown below.\r\n *\r\n * FORMAT = {\r\n * prefix: '',\r\n * groupSize: 3,\r\n * secondaryGroupSize: 0,\r\n * groupSeparator: ',',\r\n * decimalSeparator: '.',\r\n * fractionGroupSize: 0,\r\n * fractionGroupSeparator: '\\xA0', // non-breaking space\r\n * suffix: ''\r\n * };\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n * [format] {object} Formatting options. See FORMAT pbject above.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n * '[BigNumber Error] Argument not an object: {format}'\r\n */\r\n P.toFormat = function (dp, rm, format) {\r\n var str,\r\n x = this;\r\n\r\n if (format == null) {\r\n if (dp != null && rm && typeof rm == 'object') {\r\n format = rm;\r\n rm = null;\r\n } else if (dp && typeof dp == 'object') {\r\n format = dp;\r\n dp = rm = null;\r\n } else {\r\n format = FORMAT;\r\n }\r\n } else if (typeof format != 'object') {\r\n throw Error\r\n (bignumberError + 'Argument not an object: ' + format);\r\n }\r\n\r\n str = x.toFixed(dp, rm);\r\n\r\n if (x.c) {\r\n var i,\r\n arr = str.split('.'),\r\n g1 = +format.groupSize,\r\n g2 = +format.secondaryGroupSize,\r\n groupSeparator = format.groupSeparator || '',\r\n intPart = arr[0],\r\n fractionPart = arr[1],\r\n isNeg = x.s < 0,\r\n intDigits = isNeg ? intPart.slice(1) : intPart,\r\n len = intDigits.length;\r\n\r\n if (g2) {\r\n i = g1;\r\n g1 = g2;\r\n g2 = i;\r\n len -= i;\r\n }\r\n\r\n if (g1 > 0 && len > 0) {\r\n i = len % g1 || g1;\r\n intPart = intDigits.substr(0, i);\r\n for (; i < len; i += g1) intPart += groupSeparator + intDigits.substr(i, g1);\r\n if (g2 > 0) intPart += groupSeparator + intDigits.slice(i);\r\n if (isNeg) intPart = '-' + intPart;\r\n }\r\n\r\n str = fractionPart\r\n ? intPart + (format.decimalSeparator || '') + ((g2 = +format.fractionGroupSize)\r\n ? fractionPart.replace(new RegExp('\\\\d{' + g2 + '}\\\\B', 'g'),\r\n '$&' + (format.fractionGroupSeparator || ''))\r\n : fractionPart)\r\n : intPart;\r\n }\r\n\r\n return (format.prefix || '') + str + (format.suffix || '');\r\n };\r\n\r\n\r\n /*\r\n * Return an array of two BigNumbers representing the value of this BigNumber as a simple\r\n * fraction with an integer numerator and an integer denominator.\r\n * The denominator will be a positive non-zero value less than or equal to the specified\r\n * maximum denominator. If a maximum denominator is not specified, the denominator will be\r\n * the lowest value necessary to represent the number exactly.\r\n *\r\n * [md] {number|string|BigNumber} Integer >= 1, or Infinity. The maximum denominator.\r\n *\r\n * '[BigNumber Error] Argument {not an integer|out of range} : {md}'\r\n */\r\n P.toFraction = function (md) {\r\n var d, d0, d1, d2, e, exp, n, n0, n1, q, r, s,\r\n x = this,\r\n xc = x.c;\r\n\r\n if (md != null) {\r\n n = new BigNumber(md);\r\n\r\n // Throw if md is less than one or is not an integer, unless it is Infinity.\r\n if (!n.isInteger() && (n.c || n.s !== 1) || n.lt(ONE)) {\r\n throw Error\r\n (bignumberError + 'Argument ' +\r\n (n.isInteger() ? 'out of range: ' : 'not an integer: ') + valueOf(n));\r\n }\r\n }\r\n\r\n if (!xc) return new BigNumber(x);\r\n\r\n d = new BigNumber(ONE);\r\n n1 = d0 = new BigNumber(ONE);\r\n d1 = n0 = new BigNumber(ONE);\r\n s = coeffToString(xc);\r\n\r\n // Determine initial denominator.\r\n // d is a power of 10 and the minimum max denominator that specifies the value exactly.\r\n e = d.e = s.length - x.e - 1;\r\n d.c[0] = POWS_TEN[(exp = e % LOG_BASE) < 0 ? LOG_BASE + exp : exp];\r\n md = !md || n.comparedTo(d) > 0 ? (e > 0 ? d : n1) : n;\r\n\r\n exp = MAX_EXP;\r\n MAX_EXP = 1 / 0;\r\n n = new BigNumber(s);\r\n\r\n // n0 = d1 = 0\r\n n0.c[0] = 0;\r\n\r\n for (; ;) {\r\n q = div(n, d, 0, 1);\r\n d2 = d0.plus(q.times(d1));\r\n if (d2.comparedTo(md) == 1) break;\r\n d0 = d1;\r\n d1 = d2;\r\n n1 = n0.plus(q.times(d2 = n1));\r\n n0 = d2;\r\n d = n.minus(q.times(d2 = d));\r\n n = d2;\r\n }\r\n\r\n d2 = div(md.minus(d0), d1, 0, 1);\r\n n0 = n0.plus(d2.times(n1));\r\n d0 = d0.plus(d2.times(d1));\r\n n0.s = n1.s = x.s;\r\n e = e * 2;\r\n\r\n // Determine which fraction is closer to x, n0/d0 or n1/d1\r\n r = div(n1, d1, e, ROUNDING_MODE).minus(x).abs().comparedTo(\r\n div(n0, d0, e, ROUNDING_MODE).minus(x).abs()) < 1 ? [n1, d1] : [n0, d0];\r\n\r\n MAX_EXP = exp;\r\n\r\n return r;\r\n };\r\n\r\n\r\n /*\r\n * Return the value of this BigNumber converted to a number primitive.\r\n */\r\n P.toNumber = function () {\r\n return +valueOf(this);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber rounded to sd significant digits\r\n * using rounding mode rm or ROUNDING_MODE. If sd is less than the number of digits\r\n * necessary to represent the integer part of the value in fixed-point notation, then use\r\n * exponential notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {sd|rm}'\r\n */\r\n P.toPrecision = function (sd, rm) {\r\n if (sd != null) intCheck(sd, 1, MAX);\r\n return format(this, sd, rm, 2);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in base b, or base 10 if b is\r\n * omitted. If a base is specified, including base 10, round according to DECIMAL_PLACES and\r\n * ROUNDING_MODE. If a base is not specified, and this BigNumber has a positive exponent\r\n * that is equal to or greater than TO_EXP_POS, or a negative exponent equal to or less than\r\n * TO_EXP_NEG, return exponential notation.\r\n *\r\n * [b] {number} Integer, 2 to ALPHABET.length inclusive.\r\n *\r\n * '[BigNumber Error] Base {not a primitive number|not an integer|out of range}: {b}'\r\n */\r\n P.toString = function (b) {\r\n var str,\r\n n = this,\r\n s = n.s,\r\n e = n.e;\r\n\r\n // Infinity or NaN?\r\n if (e === null) {\r\n if (s) {\r\n str = 'Infinity';\r\n if (s < 0) str = '-' + str;\r\n } else {\r\n str = 'NaN';\r\n }\r\n } else {\r\n if (b == null) {\r\n str = e <= TO_EXP_NEG || e >= TO_EXP_POS\r\n ? toExponential(coeffToString(n.c), e)\r\n : toFixedPoint(coeffToString(n.c), e, '0');\r\n } else if (b === 10 && alphabetHasNormalDecimalDigits) {\r\n n = round(new BigNumber(n), DECIMAL_PLACES + e + 1, ROUNDING_MODE);\r\n str = toFixedPoint(coeffToString(n.c), n.e, '0');\r\n } else {\r\n intCheck(b, 2, ALPHABET.length, 'Base');\r\n str = convertBase(toFixedPoint(coeffToString(n.c), e, '0'), 10, b, s, true);\r\n }\r\n\r\n if (s < 0 && n.c[0]) str = '-' + str;\r\n }\r\n\r\n return str;\r\n };\r\n\r\n\r\n /*\r\n * Return as toString, but do not accept a base argument, and include the minus sign for\r\n * negative zero.\r\n */\r\n P.valueOf = P.toJSON = function () {\r\n return valueOf(this);\r\n };\r\n\r\n\r\n P._isBigNumber = true;\r\n\r\n P[Symbol.toStringTag] = 'BigNumber';\r\n\r\n // Node.js v10.12.0+\r\n P[Symbol.for('nodejs.util.inspect.custom')] = P.valueOf;\r\n\r\n if (configObject != null) BigNumber.set(configObject);\r\n\r\n return BigNumber;\r\n}\r\n\r\n\r\n// PRIVATE HELPER FUNCTIONS\r\n\r\n// These functions don't need access to variables,\r\n// e.g. DECIMAL_PLACES, in the scope of the `clone` function above.\r\n\r\n\r\nfunction bitFloor(n) {\r\n var i = n | 0;\r\n return n > 0 || n === i ? i : i - 1;\r\n}\r\n\r\n\r\n// Return a coefficient array as a string of base 10 digits.\r\nfunction coeffToString(a) {\r\n var s, z,\r\n i = 1,\r\n j = a.length,\r\n r = a[0] + '';\r\n\r\n for (; i < j;) {\r\n s = a[i++] + '';\r\n z = LOG_BASE - s.length;\r\n for (; z--; s = '0' + s);\r\n r += s;\r\n }\r\n\r\n // Determine trailing zeros.\r\n for (j = r.length; r.charCodeAt(--j) === 48;);\r\n\r\n return r.slice(0, j + 1 || 1);\r\n}\r\n\r\n\r\n// Compare the value of BigNumbers x and y.\r\nfunction compare(x, y) {\r\n var a, b,\r\n xc = x.c,\r\n yc = y.c,\r\n i = x.s,\r\n j = y.s,\r\n k = x.e,\r\n l = y.e;\r\n\r\n // Either NaN?\r\n if (!i || !j) return null;\r\n\r\n a = xc && !xc[0];\r\n b = yc && !yc[0];\r\n\r\n // Either zero?\r\n if (a || b) return a ? b ? 0 : -j : i;\r\n\r\n // Signs differ?\r\n if (i != j) return i;\r\n\r\n a = i < 0;\r\n b = k == l;\r\n\r\n // Either Infinity?\r\n if (!xc || !yc) return b ? 0 : !xc ^ a ? 1 : -1;\r\n\r\n // Compare exponents.\r\n if (!b) return k > l ^ a ? 1 : -1;\r\n\r\n j = (k = xc.length) < (l = yc.length) ? k : l;\r\n\r\n // Compare digit by digit.\r\n for (i = 0; i < j; i++) if (xc[i] != yc[i]) return xc[i] > yc[i] ^ a ? 1 : -1;\r\n\r\n // Compare lengths.\r\n return k == l ? 0 : k > l ^ a ? 1 : -1;\r\n}\r\n\r\n\r\n/*\r\n * Check that n is a primitive number, an integer, and in range, otherwise throw.\r\n */\r\nfunction intCheck(n, min, max, name) {\r\n if (n < min || n > max || n !== mathfloor(n)) {\r\n throw Error\r\n (bignumberError + (name || 'Argument') + (typeof n == 'number'\r\n ? n < min || n > max ? ' out of range: ' : ' not an integer: '\r\n : ' not a primitive number: ') + String(n));\r\n }\r\n}\r\n\r\n\r\n// Assumes finite n.\r\nfunction isOdd(n) {\r\n var k = n.c.length - 1;\r\n return bitFloor(n.e / LOG_BASE) == k && n.c[k] % 2 != 0;\r\n}\r\n\r\n\r\nfunction toExponential(str, e) {\r\n return (str.length > 1 ? str.charAt(0) + '.' + str.slice(1) : str) +\r\n (e < 0 ? 'e' : 'e+') + e;\r\n}\r\n\r\n\r\nfunction toFixedPoint(str, e, z) {\r\n var len, zs;\r\n\r\n // Negative exponent?\r\n if (e < 0) {\r\n\r\n // Prepend zeros.\r\n for (zs = z + '.'; ++e; zs += z);\r\n str = zs + str;\r\n\r\n // Positive exponent\r\n } else {\r\n len = str.length;\r\n\r\n // Append zeros.\r\n if (++e > len) {\r\n for (zs = z, e -= len; --e; zs += z);\r\n str += zs;\r\n } else if (e < len) {\r\n str = str.slice(0, e) + '.' + str.slice(e);\r\n }\r\n }\r\n\r\n return str;\r\n}\r\n\r\n\r\n// EXPORT\r\n\r\n\r\nexport var BigNumber = clone();\r\n\r\nexport default BigNumber;\r\n","'use strict';\n\nmodule.exports = function () {\n throw new Error(\n 'ws does not work in the browser. Browser clients must use the native ' +\n 'WebSocket object'\n );\n};\n","import { toHex } from 'web3-utils'\nimport BigNumber from 'bignumber.js'\nimport { WebSocket as NodeWebSocket, type ErrorEvent } from 'ws'\n\nconst BASE58_ALPHABET: string = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'\n\n/**\n * Converts the decimal to hexadecimal\n */\nexport const numberToHex = (value: number | string | BigNumber, decimals: number): string => {\n const length = '1' + '0'.repeat(decimals)\n const newValue = new BigNumber(value.toString(10), 10)\n return toHex(newValue.times(length).toString(16))\n}\n\n/**\n * Converts the hexadecimal to decimal\n */\nexport const hexToNumber = (value: string, decimals: number): number => {\n const length = '1' + '0'.repeat(decimals)\n const newValue = new BigNumber(value.toString(), 10)\n return parseFloat(newValue.dividedBy(length).toString())\n}\n\n/**\n * Converts the given data to Base58 string. Given data may be string or an Uint8Array\n * If the given data is a string, it'll be converted to Uint8Array inside of the method\n */\nexport const base58Encode = (input: Uint8Array | string): string => {\n // Convert input to bytes if it's a string\n if (typeof input === 'string') input = new Uint8Array(Buffer.from(input))\n\n const base58Array: string[] = []\n\n // Convert the byte array to a BigInt\n let value = BigInt('0x' + Buffer.from(input).toString('hex'))\n\n // Base58 encoding\n while (value > BigInt(0)) {\n const remainder = Number(value % BigInt(58))\n base58Array.unshift(BASE58_ALPHABET[remainder])\n value = value / BigInt(58)\n }\n\n // Add '1' characters for leading zero bytes\n for (let i = 0; i < input.length; i++) {\n if (input[i] !== 0) break\n base58Array.unshift(BASE58_ALPHABET[0])\n }\n\n return base58Array.join('')\n}\n\n/**\n * Converts the given string to Base58 as an Uint8Array\n */\nexport const base58Decode = (input: string): Uint8Array => {\n let value = BigInt(0)\n\n for (let i = 0; i < input.length; i++)\n value = value * BigInt(58) + BigInt(BASE58_ALPHABET.indexOf(input[i]))\n\n const valueHex: string = value.toString(16)\n\n // Make the string's length even\n const hexString = valueHex.length % 2 === 0 ? valueHex : '0' + valueHex\n\n return new Uint8Array(Buffer.from(hexString, 'hex'))\n}\n\n/**\n * Converts the given buffer to a string\n */\nexport const bufferToString = (input: Buffer): string => {\n return Buffer.from(input).toString('utf8')\n}\n\n/**\n * Converts the given string to a buffer\n */\nexport const stringToBuffer = (input: string): Buffer => {\n return Buffer.from(input, 'utf8')\n}\n\n/**\n * Checks if given value is numeric\n */\nexport const isNumeric = (value: string | number): boolean => {\n return !isNaN(Number(value))\n}\n\n/**\n * Sleeps the given milliseconds\n * @param {number} ms\n * @returns Promise\n */\nexport const sleep = async (ms: number): Promise => {\n await new Promise((resolve) => setTimeout(resolve, ms))\n}\n\n/**\n * Checks if the given objects are equal\n * @param {object} o1\n * @param {object} o2\n * @returns boolean\n */\nexport const objectsEqual = (o1: object, o2: object): boolean => {\n return JSON.stringify(o1) === JSON.stringify(o2)\n}\n\n/**\n * Converts the given number to a readable string\n * @param {number} num\n * @returns string\n */\nexport const toReadableString = (num: number): string => {\n const [coefficient, exponent] = num\n .toExponential()\n .split('e')\n .map((item) => parseFloat(item))\n\n let result = (coefficient * Math.pow(10, exponent)).toString()\n\n result = parseFloat(result).toString()\n\n return result\n}\n\n/**\n * checks if the given url is a valid websocket url\n * @param {string} url\n * @returns {Promise}\n */\nexport const checkWebSocket = async (url: string): Promise => {\n return await new Promise((resolve, reject) => {\n let socket: WebSocket | NodeWebSocket\n\n if (typeof window !== 'undefined') {\n socket = new WebSocket(url)\n } else {\n socket = new NodeWebSocket(url)\n }\n\n socket.onopen = () => {\n resolve(true)\n socket.close()\n }\n\n socket.onerror = (error: ErrorEvent) => {\n reject(new Error(error.message))\n socket.close()\n }\n })\n}\n\nexport const math = {\n add: (a: number, b: number, decimals: number = 18): number => {\n return parseFloat(new BigNumber(a).plus(new BigNumber(b)).toFixed(decimals))\n },\n sub: (a: number, b: number, decimals: number = 18): number => {\n return parseFloat(new BigNumber(a).minus(new BigNumber(b)).toFixed(decimals))\n },\n mul: (a: number, b: number, decimals: number = 18): number => {\n return parseFloat(new BigNumber(a).times(new BigNumber(b)).toFixed(decimals))\n },\n div: (a: number, b: number, decimals: number = 18): number => {\n return parseFloat(new BigNumber(a).div(new BigNumber(b)).toFixed(decimals))\n },\n pow: (a: number, b: number, decimals: number = 18): number => {\n return parseFloat(new BigNumber(a).pow(b).toFixed(decimals))\n },\n sqrt: (a: number, decimals: number = 18): number => {\n return parseFloat(new BigNumber(a).sqrt().toFixed(decimals))\n },\n abs: (a: number, decimals: number = 18): number => {\n return parseFloat(new BigNumber(a).absoluteValue().toFixed(decimals))\n },\n ceil: (a: number, decimals: number = 18): number => {\n return parseFloat(new BigNumber(a).integerValue(BigNumber.ROUND_CEIL).toFixed(decimals))\n },\n floor: (a: number, decimals: number = 18): number => {\n return parseFloat(new BigNumber(a).integerValue(BigNumber.ROUND_FLOOR).toFixed(decimals))\n },\n round: (a: number, decimals: number = 18): number => {\n return parseFloat(new BigNumber(a).integerValue(BigNumber.ROUND_HALF_UP).toFixed(decimals))\n }\n}\n\ndeclare global {\n interface Window {\n opera?: any\n WebViewJavascriptBridge?: any\n webkit?: any\n }\n interface Navigator {\n standalone?: any\n }\n}\n\nexport const isMobile = (): boolean => {\n if (typeof window === 'undefined') {\n return false\n }\n /* eslint-disable */\n return (function (a) {\n return /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(\n a\n ) ||\n /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\\\-(n|u)|c55\\/|capi|ccwa|cdm\\\\-|cell|chtm|cldc|cmd\\\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\\\-|_)|g1 u|g560|gene|gf\\\\-5|g\\\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\\\-(m|p|t)|hei\\\\-|hi(pt|ta)|hp( i|ip)|hs\\\\-c|ht(c(\\\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\\\-(20|go|ma)|i230|iac( |\\\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\\\-[a-w])|libw|lynx|m1\\\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\\\-2|po(ck|rt|se)|prox|psio|pt\\\\-g|qa\\\\-a|qc(07|12|21|32|60|\\\\-[2-7]|i\\\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\\\-|oo|p\\\\-)|sdk\\/|se(c(\\\\-|0|1)|47|mc|nd|ri)|sgh\\\\-|shar|sie(\\\\-|m)|sk\\\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\\\-|v\\\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\\\-|tdg\\\\-|tel(i|m)|tim\\\\-|t\\\\-mo|to(pl|sh)|ts(70|m\\\\-|m3|m5)|tx\\\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\\\-|your|zeto|zte\\\\-/i.test(\n a.substr(0, 4)\n )\n ? true\n : false\n })(navigator.userAgent || navigator.vendor || window.opera)\n /* eslint-enable */\n}\n\nexport const isWebview = (): boolean => {\n if (typeof window === 'undefined') {\n return false\n }\n\n const navigator = window.navigator\n\n /* eslint-disable */\n if (window.WebViewJavascriptBridge) {\n return true\n }\n\n if (window.webkit && window.webkit.messageHandlers) {\n return true\n }\n\n if (navigator.userAgent.match(/WebView/i)) {\n return true\n }\n\n const standalone = navigator.standalone\n const userAgent = navigator.userAgent.toLowerCase()\n const safari = /safari/.test(userAgent)\n const ios = /iphone|ipod|ipad/.test(userAgent)\n\n return ios ? !standalone && !safari : userAgent.includes('wv')\n /* eslint-enable */\n}\n\nexport { toHex }\n","/* Do NOT modify this file; see /src.ts/_admin/update-version.ts */\n/**\n * The current version of Ethers.\n */\nexport const version = \"6.11.1\";\n//# sourceMappingURL=_version.js.map","/**\n * Property helper functions.\n *\n * @_subsection api/utils:Properties [about-properties]\n */\nfunction checkType(value, type, name) {\n const types = type.split(\"|\").map(t => t.trim());\n for (let i = 0; i < types.length; i++) {\n switch (type) {\n case \"any\":\n return;\n case \"bigint\":\n case \"boolean\":\n case \"number\":\n case \"string\":\n if (typeof (value) === type) {\n return;\n }\n }\n }\n const error = new Error(`invalid value for type ${type}`);\n error.code = \"INVALID_ARGUMENT\";\n error.argument = `value.${name}`;\n error.value = value;\n throw error;\n}\n/**\n * Resolves to a new object that is a copy of %%value%%, but with all\n * values resolved.\n */\nexport async function resolveProperties(value) {\n const keys = Object.keys(value);\n const results = await Promise.all(keys.map((k) => Promise.resolve(value[k])));\n return results.reduce((accum, v, index) => {\n accum[keys[index]] = v;\n return accum;\n }, {});\n}\n/**\n * Assigns the %%values%% to %%target%% as read-only values.\n *\n * It %%types%% is specified, the values are checked.\n */\nexport function defineProperties(target, values, types) {\n for (let key in values) {\n let value = values[key];\n const type = (types ? types[key] : null);\n if (type) {\n checkType(value, type, key);\n }\n Object.defineProperty(target, key, { enumerable: true, value, writable: false });\n }\n}\n//# sourceMappingURL=properties.js.map","/**\n * All errors in ethers include properties to ensure they are both\n * human-readable (i.e. ``.message``) and machine-readable (i.e. ``.code``).\n *\n * The [[isError]] function can be used to check the error ``code`` and\n * provide a type guard for the properties present on that error interface.\n *\n * @_section: api/utils/errors:Errors [about-errors]\n */\nimport { version } from \"../_version.js\";\nimport { defineProperties } from \"./properties.js\";\nfunction stringify(value) {\n if (value == null) {\n return \"null\";\n }\n if (Array.isArray(value)) {\n return \"[ \" + (value.map(stringify)).join(\", \") + \" ]\";\n }\n if (value instanceof Uint8Array) {\n const HEX = \"0123456789abcdef\";\n let result = \"0x\";\n for (let i = 0; i < value.length; i++) {\n result += HEX[value[i] >> 4];\n result += HEX[value[i] & 0xf];\n }\n return result;\n }\n if (typeof (value) === \"object\" && typeof (value.toJSON) === \"function\") {\n return stringify(value.toJSON());\n }\n switch (typeof (value)) {\n case \"boolean\":\n case \"symbol\":\n return value.toString();\n case \"bigint\":\n return BigInt(value).toString();\n case \"number\":\n return (value).toString();\n case \"string\":\n return JSON.stringify(value);\n case \"object\": {\n const keys = Object.keys(value);\n keys.sort();\n return \"{ \" + keys.map((k) => `${stringify(k)}: ${stringify(value[k])}`).join(\", \") + \" }\";\n }\n }\n return `[ COULD NOT SERIALIZE ]`;\n}\n/**\n * Returns true if the %%error%% matches an error thrown by ethers\n * that matches the error %%code%%.\n *\n * In TypeScript environments, this can be used to check that %%error%%\n * matches an EthersError type, which means the expected properties will\n * be set.\n *\n * @See [ErrorCodes](api:ErrorCode)\n * @example\n * try {\n * // code....\n * } catch (e) {\n * if (isError(e, \"CALL_EXCEPTION\")) {\n * // The Type Guard has validated this object\n * console.log(e.data);\n * }\n * }\n */\nexport function isError(error, code) {\n return (error && error.code === code);\n}\n/**\n * Returns true if %%error%% is a [[CallExceptionError].\n */\nexport function isCallException(error) {\n return isError(error, \"CALL_EXCEPTION\");\n}\n/**\n * Returns a new Error configured to the format ethers emits errors, with\n * the %%message%%, [[api:ErrorCode]] %%code%% and additional properties\n * for the corresponding EthersError.\n *\n * Each error in ethers includes the version of ethers, a\n * machine-readable [[ErrorCode]], and depending on %%code%%, additional\n * required properties. The error message will also include the %%message%%,\n * ethers version, %%code%% and all additional properties, serialized.\n */\nexport function makeError(message, code, info) {\n let shortMessage = message;\n {\n const details = [];\n if (info) {\n if (\"message\" in info || \"code\" in info || \"name\" in info) {\n throw new Error(`value will overwrite populated values: ${stringify(info)}`);\n }\n for (const key in info) {\n if (key === \"shortMessage\") {\n continue;\n }\n const value = (info[key]);\n // try {\n details.push(key + \"=\" + stringify(value));\n // } catch (error: any) {\n // console.log(\"MMM\", error.message);\n // details.push(key + \"=[could not serialize object]\");\n // }\n }\n }\n details.push(`code=${code}`);\n details.push(`version=${version}`);\n if (details.length) {\n message += \" (\" + details.join(\", \") + \")\";\n }\n }\n let error;\n switch (code) {\n case \"INVALID_ARGUMENT\":\n error = new TypeError(message);\n break;\n case \"NUMERIC_FAULT\":\n case \"BUFFER_OVERRUN\":\n error = new RangeError(message);\n break;\n default:\n error = new Error(message);\n }\n defineProperties(error, { code });\n if (info) {\n Object.assign(error, info);\n }\n if (error.shortMessage == null) {\n defineProperties(error, { shortMessage });\n }\n return error;\n}\n/**\n * Throws an EthersError with %%message%%, %%code%% and additional error\n * %%info%% when %%check%% is falsish..\n *\n * @see [[api:makeError]]\n */\nexport function assert(check, message, code, info) {\n if (!check) {\n throw makeError(message, code, info);\n }\n}\n/**\n * A simple helper to simply ensuring provided arguments match expected\n * constraints, throwing if not.\n *\n * In TypeScript environments, the %%check%% has been asserted true, so\n * any further code does not need additional compile-time checks.\n */\nexport function assertArgument(check, message, name, value) {\n assert(check, message, \"INVALID_ARGUMENT\", { argument: name, value: value });\n}\nexport function assertArgumentCount(count, expectedCount, message) {\n if (message == null) {\n message = \"\";\n }\n if (message) {\n message = \": \" + message;\n }\n assert(count >= expectedCount, \"missing arguemnt\" + message, \"MISSING_ARGUMENT\", {\n count: count,\n expectedCount: expectedCount\n });\n assert(count <= expectedCount, \"too many arguments\" + message, \"UNEXPECTED_ARGUMENT\", {\n count: count,\n expectedCount: expectedCount\n });\n}\nconst _normalizeForms = [\"NFD\", \"NFC\", \"NFKD\", \"NFKC\"].reduce((accum, form) => {\n try {\n // General test for normalize\n /* c8 ignore start */\n if (\"test\".normalize(form) !== \"test\") {\n throw new Error(\"bad\");\n }\n ;\n /* c8 ignore stop */\n if (form === \"NFD\") {\n const check = String.fromCharCode(0xe9).normalize(\"NFD\");\n const expected = String.fromCharCode(0x65, 0x0301);\n /* c8 ignore start */\n if (check !== expected) {\n throw new Error(\"broken\");\n }\n /* c8 ignore stop */\n }\n accum.push(form);\n }\n catch (error) { }\n return accum;\n}, []);\n/**\n * Throws if the normalization %%form%% is not supported.\n */\nexport function assertNormalize(form) {\n assert(_normalizeForms.indexOf(form) >= 0, \"platform missing String.prototype.normalize\", \"UNSUPPORTED_OPERATION\", {\n operation: \"String.prototype.normalize\", info: { form }\n });\n}\n/**\n * Many classes use file-scoped values to guard the constructor,\n * making it effectively private. This facilitates that pattern\n * by ensuring the %%givenGaurd%% matches the file-scoped %%guard%%,\n * throwing if not, indicating the %%className%% if provided.\n */\nexport function assertPrivate(givenGuard, guard, className) {\n if (className == null) {\n className = \"\";\n }\n if (givenGuard !== guard) {\n let method = className, operation = \"new\";\n if (className) {\n method += \".\";\n operation += \" \" + className;\n }\n assert(false, `private constructor; use ${method}from* methods`, \"UNSUPPORTED_OPERATION\", {\n operation\n });\n }\n}\n//# sourceMappingURL=errors.js.map","/**\n * Some data helpers.\n *\n *\n * @_subsection api/utils:Data Helpers [about-data]\n */\nimport { assert, assertArgument } from \"./errors.js\";\nfunction _getBytes(value, name, copy) {\n if (value instanceof Uint8Array) {\n if (copy) {\n return new Uint8Array(value);\n }\n return value;\n }\n if (typeof (value) === \"string\" && value.match(/^0x([0-9a-f][0-9a-f])*$/i)) {\n const result = new Uint8Array((value.length - 2) / 2);\n let offset = 2;\n for (let i = 0; i < result.length; i++) {\n result[i] = parseInt(value.substring(offset, offset + 2), 16);\n offset += 2;\n }\n return result;\n }\n assertArgument(false, \"invalid BytesLike value\", name || \"value\", value);\n}\n/**\n * Get a typed Uint8Array for %%value%%. If already a Uint8Array\n * the original %%value%% is returned; if a copy is required use\n * [[getBytesCopy]].\n *\n * @see: getBytesCopy\n */\nexport function getBytes(value, name) {\n return _getBytes(value, name, false);\n}\n/**\n * Get a typed Uint8Array for %%value%%, creating a copy if necessary\n * to prevent any modifications of the returned value from being\n * reflected elsewhere.\n *\n * @see: getBytes\n */\nexport function getBytesCopy(value, name) {\n return _getBytes(value, name, true);\n}\n/**\n * Returns true if %%value%% is a valid [[HexString]].\n *\n * If %%length%% is ``true`` or a //number//, it also checks that\n * %%value%% is a valid [[DataHexString]] of %%length%% (if a //number//)\n * bytes of data (e.g. ``0x1234`` is 2 bytes).\n */\nexport function isHexString(value, length) {\n if (typeof (value) !== \"string\" || !value.match(/^0x[0-9A-Fa-f]*$/)) {\n return false;\n }\n if (typeof (length) === \"number\" && value.length !== 2 + 2 * length) {\n return false;\n }\n if (length === true && (value.length % 2) !== 0) {\n return false;\n }\n return true;\n}\n/**\n * Returns true if %%value%% is a valid representation of arbitrary\n * data (i.e. a valid [[DataHexString]] or a Uint8Array).\n */\nexport function isBytesLike(value) {\n return (isHexString(value, true) || (value instanceof Uint8Array));\n}\nconst HexCharacters = \"0123456789abcdef\";\n/**\n * Returns a [[DataHexString]] representation of %%data%%.\n */\nexport function hexlify(data) {\n const bytes = getBytes(data);\n let result = \"0x\";\n for (let i = 0; i < bytes.length; i++) {\n const v = bytes[i];\n result += HexCharacters[(v & 0xf0) >> 4] + HexCharacters[v & 0x0f];\n }\n return result;\n}\n/**\n * Returns a [[DataHexString]] by concatenating all values\n * within %%data%%.\n */\nexport function concat(datas) {\n return \"0x\" + datas.map((d) => hexlify(d).substring(2)).join(\"\");\n}\n/**\n * Returns the length of %%data%%, in bytes.\n */\nexport function dataLength(data) {\n if (isHexString(data, true)) {\n return (data.length - 2) / 2;\n }\n return getBytes(data).length;\n}\n/**\n * Returns a [[DataHexString]] by slicing %%data%% from the %%start%%\n * offset to the %%end%% offset.\n *\n * By default %%start%% is 0 and %%end%% is the length of %%data%%.\n */\nexport function dataSlice(data, start, end) {\n const bytes = getBytes(data);\n if (end != null && end > bytes.length) {\n assert(false, \"cannot slice beyond data bounds\", \"BUFFER_OVERRUN\", {\n buffer: bytes, length: bytes.length, offset: end\n });\n }\n return hexlify(bytes.slice((start == null) ? 0 : start, (end == null) ? bytes.length : end));\n}\n/**\n * Return the [[DataHexString]] result by stripping all **leading**\n ** zero bytes from %%data%%.\n */\nexport function stripZerosLeft(data) {\n let bytes = hexlify(data).substring(2);\n while (bytes.startsWith(\"00\")) {\n bytes = bytes.substring(2);\n }\n return \"0x\" + bytes;\n}\nfunction zeroPad(data, length, left) {\n const bytes = getBytes(data);\n assert(length >= bytes.length, \"padding exceeds data length\", \"BUFFER_OVERRUN\", {\n buffer: new Uint8Array(bytes),\n length: length,\n offset: length + 1\n });\n const result = new Uint8Array(length);\n result.fill(0);\n if (left) {\n result.set(bytes, length - bytes.length);\n }\n else {\n result.set(bytes, 0);\n }\n return hexlify(result);\n}\n/**\n * Return the [[DataHexString]] of %%data%% padded on the **left**\n * to %%length%% bytes.\n *\n * If %%data%% already exceeds %%length%%, a [[BufferOverrunError]] is\n * thrown.\n *\n * This pads data the same as **values** are in Solidity\n * (e.g. ``uint128``).\n */\nexport function zeroPadValue(data, length) {\n return zeroPad(data, length, true);\n}\n/**\n * Return the [[DataHexString]] of %%data%% padded on the **right**\n * to %%length%% bytes.\n *\n * If %%data%% already exceeds %%length%%, a [[BufferOverrunError]] is\n * thrown.\n *\n * This pads data the same as **bytes** are in Solidity\n * (e.g. ``bytes16``).\n */\nexport function zeroPadBytes(data, length) {\n return zeroPad(data, length, false);\n}\n//# sourceMappingURL=data.js.map","/**\n * Some mathematic operations.\n *\n * @_subsection: api/utils:Math Helpers [about-maths]\n */\nimport { hexlify, isBytesLike } from \"./data.js\";\nimport { assert, assertArgument } from \"./errors.js\";\nconst BN_0 = BigInt(0);\nconst BN_1 = BigInt(1);\n//const BN_Max256 = (BN_1 << BigInt(256)) - BN_1;\n// IEEE 754 support 53-bits of mantissa\nconst maxValue = 0x1fffffffffffff;\n/**\n * Convert %%value%% from a twos-compliment representation of %%width%%\n * bits to its value.\n *\n * If the highest bit is ``1``, the result will be negative.\n */\nexport function fromTwos(_value, _width) {\n const value = getUint(_value, \"value\");\n const width = BigInt(getNumber(_width, \"width\"));\n assert((value >> width) === BN_0, \"overflow\", \"NUMERIC_FAULT\", {\n operation: \"fromTwos\", fault: \"overflow\", value: _value\n });\n // Top bit set; treat as a negative value\n if (value >> (width - BN_1)) {\n const mask = (BN_1 << width) - BN_1;\n return -(((~value) & mask) + BN_1);\n }\n return value;\n}\n/**\n * Convert %%value%% to a twos-compliment representation of\n * %%width%% bits.\n *\n * The result will always be positive.\n */\nexport function toTwos(_value, _width) {\n let value = getBigInt(_value, \"value\");\n const width = BigInt(getNumber(_width, \"width\"));\n const limit = (BN_1 << (width - BN_1));\n if (value < BN_0) {\n value = -value;\n assert(value <= limit, \"too low\", \"NUMERIC_FAULT\", {\n operation: \"toTwos\", fault: \"overflow\", value: _value\n });\n const mask = (BN_1 << width) - BN_1;\n return ((~value) & mask) + BN_1;\n }\n else {\n assert(value < limit, \"too high\", \"NUMERIC_FAULT\", {\n operation: \"toTwos\", fault: \"overflow\", value: _value\n });\n }\n return value;\n}\n/**\n * Mask %%value%% with a bitmask of %%bits%% ones.\n */\nexport function mask(_value, _bits) {\n const value = getUint(_value, \"value\");\n const bits = BigInt(getNumber(_bits, \"bits\"));\n return value & ((BN_1 << bits) - BN_1);\n}\n/**\n * Gets a BigInt from %%value%%. If it is an invalid value for\n * a BigInt, then an ArgumentError will be thrown for %%name%%.\n */\nexport function getBigInt(value, name) {\n switch (typeof (value)) {\n case \"bigint\": return value;\n case \"number\":\n assertArgument(Number.isInteger(value), \"underflow\", name || \"value\", value);\n assertArgument(value >= -maxValue && value <= maxValue, \"overflow\", name || \"value\", value);\n return BigInt(value);\n case \"string\":\n try {\n if (value === \"\") {\n throw new Error(\"empty string\");\n }\n if (value[0] === \"-\" && value[1] !== \"-\") {\n return -BigInt(value.substring(1));\n }\n return BigInt(value);\n }\n catch (e) {\n assertArgument(false, `invalid BigNumberish string: ${e.message}`, name || \"value\", value);\n }\n }\n assertArgument(false, \"invalid BigNumberish value\", name || \"value\", value);\n}\n/**\n * Returns %%value%% as a bigint, validating it is valid as a bigint\n * value and that it is positive.\n */\nexport function getUint(value, name) {\n const result = getBigInt(value, name);\n assert(result >= BN_0, \"unsigned value cannot be negative\", \"NUMERIC_FAULT\", {\n fault: \"overflow\", operation: \"getUint\", value\n });\n return result;\n}\nconst Nibbles = \"0123456789abcdef\";\n/*\n * Converts %%value%% to a BigInt. If %%value%% is a Uint8Array, it\n * is treated as Big Endian data.\n */\nexport function toBigInt(value) {\n if (value instanceof Uint8Array) {\n let result = \"0x0\";\n for (const v of value) {\n result += Nibbles[v >> 4];\n result += Nibbles[v & 0x0f];\n }\n return BigInt(result);\n }\n return getBigInt(value);\n}\n/**\n * Gets a //number// from %%value%%. If it is an invalid value for\n * a //number//, then an ArgumentError will be thrown for %%name%%.\n */\nexport function getNumber(value, name) {\n switch (typeof (value)) {\n case \"bigint\":\n assertArgument(value >= -maxValue && value <= maxValue, \"overflow\", name || \"value\", value);\n return Number(value);\n case \"number\":\n assertArgument(Number.isInteger(value), \"underflow\", name || \"value\", value);\n assertArgument(value >= -maxValue && value <= maxValue, \"overflow\", name || \"value\", value);\n return value;\n case \"string\":\n try {\n if (value === \"\") {\n throw new Error(\"empty string\");\n }\n return getNumber(BigInt(value), name);\n }\n catch (e) {\n assertArgument(false, `invalid numeric string: ${e.message}`, name || \"value\", value);\n }\n }\n assertArgument(false, \"invalid numeric value\", name || \"value\", value);\n}\n/**\n * Converts %%value%% to a number. If %%value%% is a Uint8Array, it\n * is treated as Big Endian data. Throws if the value is not safe.\n */\nexport function toNumber(value) {\n return getNumber(toBigInt(value));\n}\n/**\n * Converts %%value%% to a Big Endian hexstring, optionally padded to\n * %%width%% bytes.\n */\nexport function toBeHex(_value, _width) {\n const value = getUint(_value, \"value\");\n let result = value.toString(16);\n if (_width == null) {\n // Ensure the value is of even length\n if (result.length % 2) {\n result = \"0\" + result;\n }\n }\n else {\n const width = getNumber(_width, \"width\");\n assert(width * 2 >= result.length, `value exceeds width (${width} bytes)`, \"NUMERIC_FAULT\", {\n operation: \"toBeHex\",\n fault: \"overflow\",\n value: _value\n });\n // Pad the value to the required width\n while (result.length < (width * 2)) {\n result = \"0\" + result;\n }\n }\n return \"0x\" + result;\n}\n/**\n * Converts %%value%% to a Big Endian Uint8Array.\n */\nexport function toBeArray(_value) {\n const value = getUint(_value, \"value\");\n if (value === BN_0) {\n return new Uint8Array([]);\n }\n let hex = value.toString(16);\n if (hex.length % 2) {\n hex = \"0\" + hex;\n }\n const result = new Uint8Array(hex.length / 2);\n for (let i = 0; i < result.length; i++) {\n const offset = i * 2;\n result[i] = parseInt(hex.substring(offset, offset + 2), 16);\n }\n return result;\n}\n/**\n * Returns a [[HexString]] for %%value%% safe to use as a //Quantity//.\n *\n * A //Quantity// does not have and leading 0 values unless the value is\n * the literal value `0x0`. This is most commonly used for JSSON-RPC\n * numeric values.\n */\nexport function toQuantity(value) {\n let result = hexlify(isBytesLike(value) ? value : toBeArray(value)).substring(2);\n while (result.startsWith(\"0\")) {\n result = result.substring(1);\n }\n if (result === \"\") {\n result = \"0\";\n }\n return \"0x\" + result;\n}\n//# sourceMappingURL=maths.js.map","/**\n * The [Base58 Encoding](link-base58) scheme allows a **numeric** value\n * to be encoded as a compact string using a radix of 58 using only\n * alpha-numeric characters. Confusingly similar characters are omitted\n * (i.e. ``\"l0O\"``).\n *\n * Note that Base58 encodes a **numeric** value, not arbitrary bytes,\n * since any zero-bytes on the left would get removed. To mitigate this\n * issue most schemes that use Base58 choose specific high-order values\n * to ensure non-zero prefixes.\n *\n * @_subsection: api/utils:Base58 Encoding [about-base58]\n */\nimport { getBytes } from \"./data.js\";\nimport { assertArgument } from \"./errors.js\";\nimport { toBigInt } from \"./maths.js\";\nconst Alphabet = \"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\";\nlet Lookup = null;\nfunction getAlpha(letter) {\n if (Lookup == null) {\n Lookup = {};\n for (let i = 0; i < Alphabet.length; i++) {\n Lookup[Alphabet[i]] = BigInt(i);\n }\n }\n const result = Lookup[letter];\n assertArgument(result != null, `invalid base58 value`, \"letter\", letter);\n return result;\n}\nconst BN_0 = BigInt(0);\nconst BN_58 = BigInt(58);\n/**\n * Encode %%value%% as a Base58-encoded string.\n */\nexport function encodeBase58(_value) {\n const bytes = getBytes(_value);\n let value = toBigInt(bytes);\n let result = \"\";\n while (value) {\n result = Alphabet[Number(value % BN_58)] + result;\n value /= BN_58;\n }\n // Account for leading padding zeros\n for (let i = 0; i < bytes.length; i++) {\n if (bytes[i]) {\n break;\n }\n result = Alphabet[0] + result;\n }\n return result;\n}\n/**\n * Decode the Base58-encoded %%value%%.\n */\nexport function decodeBase58(value) {\n let result = BN_0;\n for (let i = 0; i < value.length; i++) {\n result *= BN_58;\n result += getAlpha(value[i]);\n }\n return result;\n}\n//# sourceMappingURL=base58.js.map","// utils/base64-browser\nimport { getBytes } from \"./data.js\";\nexport function decodeBase64(textData) {\n textData = atob(textData);\n const data = new Uint8Array(textData.length);\n for (let i = 0; i < textData.length; i++) {\n data[i] = textData.charCodeAt(i);\n }\n return getBytes(data);\n}\nexport function encodeBase64(_data) {\n const data = getBytes(_data);\n let textData = \"\";\n for (let i = 0; i < data.length; i++) {\n textData += String.fromCharCode(data[i]);\n }\n return btoa(textData);\n}\n//# sourceMappingURL=base64-browser.js.map","/**\n * Events allow for applications to use the observer pattern, which\n * allows subscribing and publishing events, outside the normal\n * execution paths.\n *\n * @_section api/utils/events:Events [about-events]\n */\nimport { defineProperties } from \"./properties.js\";\n/**\n * When an [[EventEmitterable]] triggers a [[Listener]], the\n * callback always ahas one additional argument passed, which is\n * an **EventPayload**.\n */\nexport class EventPayload {\n /**\n * The event filter.\n */\n filter;\n /**\n * The **EventEmitterable**.\n */\n emitter;\n #listener;\n /**\n * Create a new **EventPayload** for %%emitter%% with\n * the %%listener%% and for %%filter%%.\n */\n constructor(emitter, listener, filter) {\n this.#listener = listener;\n defineProperties(this, { emitter, filter });\n }\n /**\n * Unregister the triggered listener for future events.\n */\n async removeListener() {\n if (this.#listener == null) {\n return;\n }\n await this.emitter.off(this.filter, this.#listener);\n }\n}\n//# sourceMappingURL=events.js.map","/**\n * Using strings in Ethereum (or any security-basd system) requires\n * additional care. These utilities attempt to mitigate some of the\n * safety issues as well as provide the ability to recover and analyse\n * strings.\n *\n * @_subsection api/utils:Strings and UTF-8 [about-strings]\n */\nimport { getBytes } from \"./data.js\";\nimport { assertArgument, assertNormalize } from \"./errors.js\";\nfunction errorFunc(reason, offset, bytes, output, badCodepoint) {\n assertArgument(false, `invalid codepoint at offset ${offset}; ${reason}`, \"bytes\", bytes);\n}\nfunction ignoreFunc(reason, offset, bytes, output, badCodepoint) {\n // If there is an invalid prefix (including stray continuation), skip any additional continuation bytes\n if (reason === \"BAD_PREFIX\" || reason === \"UNEXPECTED_CONTINUE\") {\n let i = 0;\n for (let o = offset + 1; o < bytes.length; o++) {\n if (bytes[o] >> 6 !== 0x02) {\n break;\n }\n i++;\n }\n return i;\n }\n // This byte runs us past the end of the string, so just jump to the end\n // (but the first byte was read already read and therefore skipped)\n if (reason === \"OVERRUN\") {\n return bytes.length - offset - 1;\n }\n // Nothing to skip\n return 0;\n}\nfunction replaceFunc(reason, offset, bytes, output, badCodepoint) {\n // Overlong representations are otherwise \"valid\" code points; just non-deistingtished\n if (reason === \"OVERLONG\") {\n assertArgument(typeof (badCodepoint) === \"number\", \"invalid bad code point for replacement\", \"badCodepoint\", badCodepoint);\n output.push(badCodepoint);\n return 0;\n }\n // Put the replacement character into the output\n output.push(0xfffd);\n // Otherwise, process as if ignoring errors\n return ignoreFunc(reason, offset, bytes, output, badCodepoint);\n}\n/**\n * A handful of popular, built-in UTF-8 error handling strategies.\n *\n * **``\"error\"``** - throws on ANY illegal UTF-8 sequence or\n * non-canonical (overlong) codepoints (this is the default)\n *\n * **``\"ignore\"``** - silently drops any illegal UTF-8 sequence\n * and accepts non-canonical (overlong) codepoints\n *\n * **``\"replace\"``** - replace any illegal UTF-8 sequence with the\n * UTF-8 replacement character (i.e. ``\"\\\\ufffd\"``) and accepts\n * non-canonical (overlong) codepoints\n *\n * @returns: Record<\"error\" | \"ignore\" | \"replace\", Utf8ErrorFunc>\n */\nexport const Utf8ErrorFuncs = Object.freeze({\n error: errorFunc,\n ignore: ignoreFunc,\n replace: replaceFunc\n});\n// http://stackoverflow.com/questions/13356493/decode-utf-8-with-javascript#13691499\nfunction getUtf8CodePoints(_bytes, onError) {\n if (onError == null) {\n onError = Utf8ErrorFuncs.error;\n }\n const bytes = getBytes(_bytes, \"bytes\");\n const result = [];\n let i = 0;\n // Invalid bytes are ignored\n while (i < bytes.length) {\n const c = bytes[i++];\n // 0xxx xxxx\n if (c >> 7 === 0) {\n result.push(c);\n continue;\n }\n // Multibyte; how many bytes left for this character?\n let extraLength = null;\n let overlongMask = null;\n // 110x xxxx 10xx xxxx\n if ((c & 0xe0) === 0xc0) {\n extraLength = 1;\n overlongMask = 0x7f;\n // 1110 xxxx 10xx xxxx 10xx xxxx\n }\n else if ((c & 0xf0) === 0xe0) {\n extraLength = 2;\n overlongMask = 0x7ff;\n // 1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx\n }\n else if ((c & 0xf8) === 0xf0) {\n extraLength = 3;\n overlongMask = 0xffff;\n }\n else {\n if ((c & 0xc0) === 0x80) {\n i += onError(\"UNEXPECTED_CONTINUE\", i - 1, bytes, result);\n }\n else {\n i += onError(\"BAD_PREFIX\", i - 1, bytes, result);\n }\n continue;\n }\n // Do we have enough bytes in our data?\n if (i - 1 + extraLength >= bytes.length) {\n i += onError(\"OVERRUN\", i - 1, bytes, result);\n continue;\n }\n // Remove the length prefix from the char\n let res = c & ((1 << (8 - extraLength - 1)) - 1);\n for (let j = 0; j < extraLength; j++) {\n let nextChar = bytes[i];\n // Invalid continuation byte\n if ((nextChar & 0xc0) != 0x80) {\n i += onError(\"MISSING_CONTINUE\", i, bytes, result);\n res = null;\n break;\n }\n ;\n res = (res << 6) | (nextChar & 0x3f);\n i++;\n }\n // See above loop for invalid continuation byte\n if (res === null) {\n continue;\n }\n // Maximum code point\n if (res > 0x10ffff) {\n i += onError(\"OUT_OF_RANGE\", i - 1 - extraLength, bytes, result, res);\n continue;\n }\n // Reserved for UTF-16 surrogate halves\n if (res >= 0xd800 && res <= 0xdfff) {\n i += onError(\"UTF16_SURROGATE\", i - 1 - extraLength, bytes, result, res);\n continue;\n }\n // Check for overlong sequences (more bytes than needed)\n if (res <= overlongMask) {\n i += onError(\"OVERLONG\", i - 1 - extraLength, bytes, result, res);\n continue;\n }\n result.push(res);\n }\n return result;\n}\n// http://stackoverflow.com/questions/18729405/how-to-convert-utf8-string-to-byte-array\n/**\n * Returns the UTF-8 byte representation of %%str%%.\n *\n * If %%form%% is specified, the string is normalized.\n */\nexport function toUtf8Bytes(str, form) {\n assertArgument(typeof (str) === \"string\", \"invalid string value\", \"str\", str);\n if (form != null) {\n assertNormalize(form);\n str = str.normalize(form);\n }\n let result = [];\n for (let i = 0; i < str.length; i++) {\n const c = str.charCodeAt(i);\n if (c < 0x80) {\n result.push(c);\n }\n else if (c < 0x800) {\n result.push((c >> 6) | 0xc0);\n result.push((c & 0x3f) | 0x80);\n }\n else if ((c & 0xfc00) == 0xd800) {\n i++;\n const c2 = str.charCodeAt(i);\n assertArgument(i < str.length && ((c2 & 0xfc00) === 0xdc00), \"invalid surrogate pair\", \"str\", str);\n // Surrogate Pair\n const pair = 0x10000 + ((c & 0x03ff) << 10) + (c2 & 0x03ff);\n result.push((pair >> 18) | 0xf0);\n result.push(((pair >> 12) & 0x3f) | 0x80);\n result.push(((pair >> 6) & 0x3f) | 0x80);\n result.push((pair & 0x3f) | 0x80);\n }\n else {\n result.push((c >> 12) | 0xe0);\n result.push(((c >> 6) & 0x3f) | 0x80);\n result.push((c & 0x3f) | 0x80);\n }\n }\n return new Uint8Array(result);\n}\n;\n//export \nfunction _toUtf8String(codePoints) {\n return codePoints.map((codePoint) => {\n if (codePoint <= 0xffff) {\n return String.fromCharCode(codePoint);\n }\n codePoint -= 0x10000;\n return String.fromCharCode((((codePoint >> 10) & 0x3ff) + 0xd800), ((codePoint & 0x3ff) + 0xdc00));\n }).join(\"\");\n}\n/**\n * Returns the string represented by the UTF-8 data %%bytes%%.\n *\n * When %%onError%% function is specified, it is called on UTF-8\n * errors allowing recovery using the [[Utf8ErrorFunc]] API.\n * (default: [error](Utf8ErrorFuncs))\n */\nexport function toUtf8String(bytes, onError) {\n return _toUtf8String(getUtf8CodePoints(bytes, onError));\n}\n/**\n * Returns the UTF-8 code-points for %%str%%.\n *\n * If %%form%% is specified, the string is normalized.\n */\nexport function toUtf8CodePoints(str, form) {\n return getUtf8CodePoints(toUtf8Bytes(str, form));\n}\n//# sourceMappingURL=utf8.js.map","import { assert } from \"./errors.js\";\n// @TODO: timeout is completely ignored; start a Promise.any with a reject?\nexport function createGetUrl(options) {\n async function getUrl(req, _signal) {\n const protocol = req.url.split(\":\")[0].toLowerCase();\n assert(protocol === \"http\" || protocol === \"https\", `unsupported protocol ${protocol}`, \"UNSUPPORTED_OPERATION\", {\n info: { protocol },\n operation: \"request\"\n });\n assert(protocol === \"https\" || !req.credentials || req.allowInsecureAuthentication, \"insecure authorized connections unsupported\", \"UNSUPPORTED_OPERATION\", {\n operation: \"request\"\n });\n let signal = undefined;\n if (_signal) {\n const controller = new AbortController();\n signal = controller.signal;\n _signal.addListener(() => { controller.abort(); });\n }\n const init = {\n method: req.method,\n headers: new Headers(Array.from(req)),\n body: req.body || undefined,\n signal\n };\n const resp = await fetch(req.url, init);\n const headers = {};\n resp.headers.forEach((value, key) => {\n headers[key.toLowerCase()] = value;\n });\n const respBody = await resp.arrayBuffer();\n const body = (respBody == null) ? null : new Uint8Array(respBody);\n return {\n statusCode: resp.status,\n statusMessage: resp.statusText,\n headers, body\n };\n }\n return getUrl;\n}\n// @TODO: remove in v7; provided for backwards compat\nconst defaultGetUrl = createGetUrl({});\nexport async function getUrl(req, _signal) {\n return defaultGetUrl(req, _signal);\n}\n//# sourceMappingURL=geturl-browser.js.map","/**\n * Fetching content from the web is environment-specific, so Ethers\n * provides an abstraction that each environment can implement to provide\n * this service.\n *\n * On [Node.js](link-node), the ``http`` and ``https`` libs are used to\n * create a request object, register event listeners and process data\n * and populate the [[FetchResponse]].\n *\n * In a browser, the [DOM fetch](link-js-fetch) is used, and the resulting\n * ``Promise`` is waited on to retrieve the payload.\n *\n * The [[FetchRequest]] is responsible for handling many common situations,\n * such as redirects, server throttling, authentication, etc.\n *\n * It also handles common gateways, such as IPFS and data URIs.\n *\n * @_section api/utils/fetching:Fetching Web Content [about-fetch]\n */\nimport { decodeBase64, encodeBase64 } from \"./base64.js\";\nimport { hexlify } from \"./data.js\";\nimport { assert, assertArgument } from \"./errors.js\";\nimport { defineProperties } from \"./properties.js\";\nimport { toUtf8Bytes, toUtf8String } from \"./utf8.js\";\nimport { createGetUrl } from \"./geturl.js\";\nconst MAX_ATTEMPTS = 12;\nconst SLOT_INTERVAL = 250;\n// The global FetchGetUrlFunc implementation.\nlet defaultGetUrlFunc = createGetUrl();\nconst reData = new RegExp(\"^data:([^;:]*)?(;base64)?,(.*)$\", \"i\");\nconst reIpfs = new RegExp(\"^ipfs:/\\/(ipfs/)?(.*)$\", \"i\");\n// If locked, new Gateways cannot be added\nlet locked = false;\n// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs\nasync function dataGatewayFunc(url, signal) {\n try {\n const match = url.match(reData);\n if (!match) {\n throw new Error(\"invalid data\");\n }\n return new FetchResponse(200, \"OK\", {\n \"content-type\": (match[1] || \"text/plain\"),\n }, (match[2] ? decodeBase64(match[3]) : unpercent(match[3])));\n }\n catch (error) {\n return new FetchResponse(599, \"BAD REQUEST (invalid data: URI)\", {}, null, new FetchRequest(url));\n }\n}\n/**\n * Returns a [[FetchGatewayFunc]] for fetching content from a standard\n * IPFS gateway hosted at %%baseUrl%%.\n */\nfunction getIpfsGatewayFunc(baseUrl) {\n async function gatewayIpfs(url, signal) {\n try {\n const match = url.match(reIpfs);\n if (!match) {\n throw new Error(\"invalid link\");\n }\n return new FetchRequest(`${baseUrl}${match[2]}`);\n }\n catch (error) {\n return new FetchResponse(599, \"BAD REQUEST (invalid IPFS URI)\", {}, null, new FetchRequest(url));\n }\n }\n return gatewayIpfs;\n}\nconst Gateways = {\n \"data\": dataGatewayFunc,\n \"ipfs\": getIpfsGatewayFunc(\"https:/\\/gateway.ipfs.io/ipfs/\")\n};\nconst fetchSignals = new WeakMap();\n/**\n * @_ignore\n */\nexport class FetchCancelSignal {\n #listeners;\n #cancelled;\n constructor(request) {\n this.#listeners = [];\n this.#cancelled = false;\n fetchSignals.set(request, () => {\n if (this.#cancelled) {\n return;\n }\n this.#cancelled = true;\n for (const listener of this.#listeners) {\n setTimeout(() => { listener(); }, 0);\n }\n this.#listeners = [];\n });\n }\n addListener(listener) {\n assert(!this.#cancelled, \"singal already cancelled\", \"UNSUPPORTED_OPERATION\", {\n operation: \"fetchCancelSignal.addCancelListener\"\n });\n this.#listeners.push(listener);\n }\n get cancelled() { return this.#cancelled; }\n checkSignal() {\n assert(!this.cancelled, \"cancelled\", \"CANCELLED\", {});\n }\n}\n// Check the signal, throwing if it is cancelled\nfunction checkSignal(signal) {\n if (signal == null) {\n throw new Error(\"missing signal; should not happen\");\n }\n signal.checkSignal();\n return signal;\n}\n/**\n * Represents a request for a resource using a URI.\n *\n * By default, the supported schemes are ``HTTP``, ``HTTPS``, ``data:``,\n * and ``IPFS:``.\n *\n * Additional schemes can be added globally using [[registerGateway]].\n *\n * @example:\n * req = new FetchRequest(\"https://www.ricmoo.com\")\n * resp = await req.send()\n * resp.body.length\n * //_result:\n */\nexport class FetchRequest {\n #allowInsecure;\n #gzip;\n #headers;\n #method;\n #timeout;\n #url;\n #body;\n #bodyType;\n #creds;\n // Hooks\n #preflight;\n #process;\n #retry;\n #signal;\n #throttle;\n #getUrlFunc;\n /**\n * The fetch URL to request.\n */\n get url() { return this.#url; }\n set url(url) {\n this.#url = String(url);\n }\n /**\n * The fetch body, if any, to send as the request body. //(default: null)//\n *\n * When setting a body, the intrinsic ``Content-Type`` is automatically\n * set and will be used if **not overridden** by setting a custom\n * header.\n *\n * If %%body%% is null, the body is cleared (along with the\n * intrinsic ``Content-Type``).\n *\n * If %%body%% is a string, the intrinsic ``Content-Type`` is set to\n * ``text/plain``.\n *\n * If %%body%% is a Uint8Array, the intrinsic ``Content-Type`` is set to\n * ``application/octet-stream``.\n *\n * If %%body%% is any other object, the intrinsic ``Content-Type`` is\n * set to ``application/json``.\n */\n get body() {\n if (this.#body == null) {\n return null;\n }\n return new Uint8Array(this.#body);\n }\n set body(body) {\n if (body == null) {\n this.#body = undefined;\n this.#bodyType = undefined;\n }\n else if (typeof (body) === \"string\") {\n this.#body = toUtf8Bytes(body);\n this.#bodyType = \"text/plain\";\n }\n else if (body instanceof Uint8Array) {\n this.#body = body;\n this.#bodyType = \"application/octet-stream\";\n }\n else if (typeof (body) === \"object\") {\n this.#body = toUtf8Bytes(JSON.stringify(body));\n this.#bodyType = \"application/json\";\n }\n else {\n throw new Error(\"invalid body\");\n }\n }\n /**\n * Returns true if the request has a body.\n */\n hasBody() {\n return (this.#body != null);\n }\n /**\n * The HTTP method to use when requesting the URI. If no method\n * has been explicitly set, then ``GET`` is used if the body is\n * null and ``POST`` otherwise.\n */\n get method() {\n if (this.#method) {\n return this.#method;\n }\n if (this.hasBody()) {\n return \"POST\";\n }\n return \"GET\";\n }\n set method(method) {\n if (method == null) {\n method = \"\";\n }\n this.#method = String(method).toUpperCase();\n }\n /**\n * The headers that will be used when requesting the URI. All\n * keys are lower-case.\n *\n * This object is a copy, so any changes will **NOT** be reflected\n * in the ``FetchRequest``.\n *\n * To set a header entry, use the ``setHeader`` method.\n */\n get headers() {\n const headers = Object.assign({}, this.#headers);\n if (this.#creds) {\n headers[\"authorization\"] = `Basic ${encodeBase64(toUtf8Bytes(this.#creds))}`;\n }\n ;\n if (this.allowGzip) {\n headers[\"accept-encoding\"] = \"gzip\";\n }\n if (headers[\"content-type\"] == null && this.#bodyType) {\n headers[\"content-type\"] = this.#bodyType;\n }\n if (this.body) {\n headers[\"content-length\"] = String(this.body.length);\n }\n return headers;\n }\n /**\n * Get the header for %%key%%, ignoring case.\n */\n getHeader(key) {\n return this.headers[key.toLowerCase()];\n }\n /**\n * Set the header for %%key%% to %%value%%. All values are coerced\n * to a string.\n */\n setHeader(key, value) {\n this.#headers[String(key).toLowerCase()] = String(value);\n }\n /**\n * Clear all headers, resetting all intrinsic headers.\n */\n clearHeaders() {\n this.#headers = {};\n }\n [Symbol.iterator]() {\n const headers = this.headers;\n const keys = Object.keys(headers);\n let index = 0;\n return {\n next: () => {\n if (index < keys.length) {\n const key = keys[index++];\n return {\n value: [key, headers[key]], done: false\n };\n }\n return { value: undefined, done: true };\n }\n };\n }\n /**\n * The value that will be sent for the ``Authorization`` header.\n *\n * To set the credentials, use the ``setCredentials`` method.\n */\n get credentials() {\n return this.#creds || null;\n }\n /**\n * Sets an ``Authorization`` for %%username%% with %%password%%.\n */\n setCredentials(username, password) {\n assertArgument(!username.match(/:/), \"invalid basic authentication username\", \"username\", \"[REDACTED]\");\n this.#creds = `${username}:${password}`;\n }\n /**\n * Enable and request gzip-encoded responses. The response will\n * automatically be decompressed. //(default: true)//\n */\n get allowGzip() {\n return this.#gzip;\n }\n set allowGzip(value) {\n this.#gzip = !!value;\n }\n /**\n * Allow ``Authentication`` credentials to be sent over insecure\n * channels. //(default: false)//\n */\n get allowInsecureAuthentication() {\n return !!this.#allowInsecure;\n }\n set allowInsecureAuthentication(value) {\n this.#allowInsecure = !!value;\n }\n /**\n * The timeout (in milliseconds) to wait for a complete response.\n * //(default: 5 minutes)//\n */\n get timeout() { return this.#timeout; }\n set timeout(timeout) {\n assertArgument(timeout >= 0, \"timeout must be non-zero\", \"timeout\", timeout);\n this.#timeout = timeout;\n }\n /**\n * This function is called prior to each request, for example\n * during a redirection or retry in case of server throttling.\n *\n * This offers an opportunity to populate headers or update\n * content before sending a request.\n */\n get preflightFunc() {\n return this.#preflight || null;\n }\n set preflightFunc(preflight) {\n this.#preflight = preflight;\n }\n /**\n * This function is called after each response, offering an\n * opportunity to provide client-level throttling or updating\n * response data.\n *\n * Any error thrown in this causes the ``send()`` to throw.\n *\n * To schedule a retry attempt (assuming the maximum retry limit\n * has not been reached), use [[response.throwThrottleError]].\n */\n get processFunc() {\n return this.#process || null;\n }\n set processFunc(process) {\n this.#process = process;\n }\n /**\n * This function is called on each retry attempt.\n */\n get retryFunc() {\n return this.#retry || null;\n }\n set retryFunc(retry) {\n this.#retry = retry;\n }\n /**\n * This function is called to fetch content from HTTP and\n * HTTPS URLs and is platform specific (e.g. nodejs vs\n * browsers).\n *\n * This is by default the currently registered global getUrl\n * function, which can be changed using [[registerGetUrl]].\n * If this has been set, setting is to ``null`` will cause\n * this FetchRequest (and any future clones) to revert back to\n * using the currently registered global getUrl function.\n *\n * Setting this is generally not necessary, but may be useful\n * for developers that wish to intercept requests or to\n * configurege a proxy or other agent.\n */\n get getUrlFunc() {\n return this.#getUrlFunc || defaultGetUrlFunc;\n }\n set getUrlFunc(value) {\n this.#getUrlFunc = value;\n }\n /**\n * Create a new FetchRequest instance with default values.\n *\n * Once created, each property may be set before issuing a\n * ``.send()`` to make the request.\n */\n constructor(url) {\n this.#url = String(url);\n this.#allowInsecure = false;\n this.#gzip = true;\n this.#headers = {};\n this.#method = \"\";\n this.#timeout = 300000;\n this.#throttle = {\n slotInterval: SLOT_INTERVAL,\n maxAttempts: MAX_ATTEMPTS\n };\n this.#getUrlFunc = null;\n }\n toString() {\n return ``;\n }\n /**\n * Update the throttle parameters used to determine maximum\n * attempts and exponential-backoff properties.\n */\n setThrottleParams(params) {\n if (params.slotInterval != null) {\n this.#throttle.slotInterval = params.slotInterval;\n }\n if (params.maxAttempts != null) {\n this.#throttle.maxAttempts = params.maxAttempts;\n }\n }\n async #send(attempt, expires, delay, _request, _response) {\n if (attempt >= this.#throttle.maxAttempts) {\n return _response.makeServerError(\"exceeded maximum retry limit\");\n }\n assert(getTime() <= expires, \"timeout\", \"TIMEOUT\", {\n operation: \"request.send\", reason: \"timeout\", request: _request\n });\n if (delay > 0) {\n await wait(delay);\n }\n let req = this.clone();\n const scheme = (req.url.split(\":\")[0] || \"\").toLowerCase();\n // Process any Gateways\n if (scheme in Gateways) {\n const result = await Gateways[scheme](req.url, checkSignal(_request.#signal));\n if (result instanceof FetchResponse) {\n let response = result;\n if (this.processFunc) {\n checkSignal(_request.#signal);\n try {\n response = await this.processFunc(req, response);\n }\n catch (error) {\n // Something went wrong during processing; throw a 5xx server error\n if (error.throttle == null || typeof (error.stall) !== \"number\") {\n response.makeServerError(\"error in post-processing function\", error).assertOk();\n }\n // Ignore throttling\n }\n }\n return response;\n }\n req = result;\n }\n // We have a preflight function; update the request\n if (this.preflightFunc) {\n req = await this.preflightFunc(req);\n }\n const resp = await this.getUrlFunc(req, checkSignal(_request.#signal));\n let response = new FetchResponse(resp.statusCode, resp.statusMessage, resp.headers, resp.body, _request);\n if (response.statusCode === 301 || response.statusCode === 302) {\n // Redirect\n try {\n const location = response.headers.location || \"\";\n return req.redirect(location).#send(attempt + 1, expires, 0, _request, response);\n }\n catch (error) { }\n // Things won't get any better on another attempt; abort\n return response;\n }\n else if (response.statusCode === 429) {\n // Throttle\n if (this.retryFunc == null || (await this.retryFunc(req, response, attempt))) {\n const retryAfter = response.headers[\"retry-after\"];\n let delay = this.#throttle.slotInterval * Math.trunc(Math.random() * Math.pow(2, attempt));\n if (typeof (retryAfter) === \"string\" && retryAfter.match(/^[1-9][0-9]*$/)) {\n delay = parseInt(retryAfter);\n }\n return req.clone().#send(attempt + 1, expires, delay, _request, response);\n }\n }\n if (this.processFunc) {\n checkSignal(_request.#signal);\n try {\n response = await this.processFunc(req, response);\n }\n catch (error) {\n // Something went wrong during processing; throw a 5xx server error\n if (error.throttle == null || typeof (error.stall) !== \"number\") {\n response.makeServerError(\"error in post-processing function\", error).assertOk();\n }\n // Throttle\n let delay = this.#throttle.slotInterval * Math.trunc(Math.random() * Math.pow(2, attempt));\n ;\n if (error.stall >= 0) {\n delay = error.stall;\n }\n return req.clone().#send(attempt + 1, expires, delay, _request, response);\n }\n }\n return response;\n }\n /**\n * Resolves to the response by sending the request.\n */\n send() {\n assert(this.#signal == null, \"request already sent\", \"UNSUPPORTED_OPERATION\", { operation: \"fetchRequest.send\" });\n this.#signal = new FetchCancelSignal(this);\n return this.#send(0, getTime() + this.timeout, 0, this, new FetchResponse(0, \"\", {}, null, this));\n }\n /**\n * Cancels the inflight response, causing a ``CANCELLED``\n * error to be rejected from the [[send]].\n */\n cancel() {\n assert(this.#signal != null, \"request has not been sent\", \"UNSUPPORTED_OPERATION\", { operation: \"fetchRequest.cancel\" });\n const signal = fetchSignals.get(this);\n if (!signal) {\n throw new Error(\"missing signal; should not happen\");\n }\n signal();\n }\n /**\n * Returns a new [[FetchRequest]] that represents the redirection\n * to %%location%%.\n */\n redirect(location) {\n // Redirection; for now we only support absolute locations\n const current = this.url.split(\":\")[0].toLowerCase();\n const target = location.split(\":\")[0].toLowerCase();\n // Don't allow redirecting:\n // - non-GET requests\n // - downgrading the security (e.g. https => http)\n // - to non-HTTP (or non-HTTPS) protocols [this could be relaxed?]\n assert(this.method === \"GET\" && (current !== \"https\" || target !== \"http\") && location.match(/^https?:/), `unsupported redirect`, \"UNSUPPORTED_OPERATION\", {\n operation: `redirect(${this.method} ${JSON.stringify(this.url)} => ${JSON.stringify(location)})`\n });\n // Create a copy of this request, with a new URL\n const req = new FetchRequest(location);\n req.method = \"GET\";\n req.allowGzip = this.allowGzip;\n req.timeout = this.timeout;\n req.#headers = Object.assign({}, this.#headers);\n if (this.#body) {\n req.#body = new Uint8Array(this.#body);\n }\n req.#bodyType = this.#bodyType;\n // Do not forward credentials unless on the same domain; only absolute\n //req.allowInsecure = false;\n // paths are currently supported; may want a way to specify to forward?\n //setStore(req.#props, \"creds\", getStore(this.#pros, \"creds\"));\n return req;\n }\n /**\n * Create a new copy of this request.\n */\n clone() {\n const clone = new FetchRequest(this.url);\n // Preserve \"default method\" (i.e. null)\n clone.#method = this.#method;\n // Preserve \"default body\" with type, copying the Uint8Array is present\n if (this.#body) {\n clone.#body = this.#body;\n }\n clone.#bodyType = this.#bodyType;\n // Preserve \"default headers\"\n clone.#headers = Object.assign({}, this.#headers);\n // Credentials is readonly, so we copy internally\n clone.#creds = this.#creds;\n if (this.allowGzip) {\n clone.allowGzip = true;\n }\n clone.timeout = this.timeout;\n if (this.allowInsecureAuthentication) {\n clone.allowInsecureAuthentication = true;\n }\n clone.#preflight = this.#preflight;\n clone.#process = this.#process;\n clone.#retry = this.#retry;\n clone.#getUrlFunc = this.#getUrlFunc;\n return clone;\n }\n /**\n * Locks all static configuration for gateways and FetchGetUrlFunc\n * registration.\n */\n static lockConfig() {\n locked = true;\n }\n /**\n * Get the current Gateway function for %%scheme%%.\n */\n static getGateway(scheme) {\n return Gateways[scheme.toLowerCase()] || null;\n }\n /**\n * Use the %%func%% when fetching URIs using %%scheme%%.\n *\n * This method affects all requests globally.\n *\n * If [[lockConfig]] has been called, no change is made and this\n * throws.\n */\n static registerGateway(scheme, func) {\n scheme = scheme.toLowerCase();\n if (scheme === \"http\" || scheme === \"https\") {\n throw new Error(`cannot intercept ${scheme}; use registerGetUrl`);\n }\n if (locked) {\n throw new Error(\"gateways locked\");\n }\n Gateways[scheme] = func;\n }\n /**\n * Use %%getUrl%% when fetching URIs over HTTP and HTTPS requests.\n *\n * This method affects all requests globally.\n *\n * If [[lockConfig]] has been called, no change is made and this\n * throws.\n */\n static registerGetUrl(getUrl) {\n if (locked) {\n throw new Error(\"gateways locked\");\n }\n defaultGetUrlFunc = getUrl;\n }\n /**\n * Creates a getUrl function that fetches content from HTTP and\n * HTTPS URLs.\n *\n * The available %%options%% are dependent on the platform\n * implementation of the default getUrl function.\n *\n * This is not generally something that is needed, but is useful\n * when trying to customize simple behaviour when fetching HTTP\n * content.\n */\n static createGetUrlFunc(options) {\n return createGetUrl(options);\n }\n /**\n * Creates a function that can \"fetch\" data URIs.\n *\n * Note that this is automatically done internally to support\n * data URIs, so it is not necessary to register it.\n *\n * This is not generally something that is needed, but may\n * be useful in a wrapper to perfom custom data URI functionality.\n */\n static createDataGateway() {\n return dataGatewayFunc;\n }\n /**\n * Creates a function that will fetch IPFS (unvalidated) from\n * a custom gateway baseUrl.\n *\n * The default IPFS gateway used internally is\n * ``\"https:/\\/gateway.ipfs.io/ipfs/\"``.\n */\n static createIpfsGatewayFunc(baseUrl) {\n return getIpfsGatewayFunc(baseUrl);\n }\n}\n;\n/**\n * The response for a FetchRequest.\n */\nexport class FetchResponse {\n #statusCode;\n #statusMessage;\n #headers;\n #body;\n #request;\n #error;\n toString() {\n return ``;\n }\n /**\n * The response status code.\n */\n get statusCode() { return this.#statusCode; }\n /**\n * The response status message.\n */\n get statusMessage() { return this.#statusMessage; }\n /**\n * The response headers. All keys are lower-case.\n */\n get headers() { return Object.assign({}, this.#headers); }\n /**\n * The response body, or ``null`` if there was no body.\n */\n get body() {\n return (this.#body == null) ? null : new Uint8Array(this.#body);\n }\n /**\n * The response body as a UTF-8 encoded string, or the empty\n * string (i.e. ``\"\"``) if there was no body.\n *\n * An error is thrown if the body is invalid UTF-8 data.\n */\n get bodyText() {\n try {\n return (this.#body == null) ? \"\" : toUtf8String(this.#body);\n }\n catch (error) {\n assert(false, \"response body is not valid UTF-8 data\", \"UNSUPPORTED_OPERATION\", {\n operation: \"bodyText\", info: { response: this }\n });\n }\n }\n /**\n * The response body, decoded as JSON.\n *\n * An error is thrown if the body is invalid JSON-encoded data\n * or if there was no body.\n */\n get bodyJson() {\n try {\n return JSON.parse(this.bodyText);\n }\n catch (error) {\n assert(false, \"response body is not valid JSON\", \"UNSUPPORTED_OPERATION\", {\n operation: \"bodyJson\", info: { response: this }\n });\n }\n }\n [Symbol.iterator]() {\n const headers = this.headers;\n const keys = Object.keys(headers);\n let index = 0;\n return {\n next: () => {\n if (index < keys.length) {\n const key = keys[index++];\n return {\n value: [key, headers[key]], done: false\n };\n }\n return { value: undefined, done: true };\n }\n };\n }\n constructor(statusCode, statusMessage, headers, body, request) {\n this.#statusCode = statusCode;\n this.#statusMessage = statusMessage;\n this.#headers = Object.keys(headers).reduce((accum, k) => {\n accum[k.toLowerCase()] = String(headers[k]);\n return accum;\n }, {});\n this.#body = ((body == null) ? null : new Uint8Array(body));\n this.#request = (request || null);\n this.#error = { message: \"\" };\n }\n /**\n * Return a Response with matching headers and body, but with\n * an error status code (i.e. 599) and %%message%% with an\n * optional %%error%%.\n */\n makeServerError(message, error) {\n let statusMessage;\n if (!message) {\n message = `${this.statusCode} ${this.statusMessage}`;\n statusMessage = `CLIENT ESCALATED SERVER ERROR (${message})`;\n }\n else {\n statusMessage = `CLIENT ESCALATED SERVER ERROR (${this.statusCode} ${this.statusMessage}; ${message})`;\n }\n const response = new FetchResponse(599, statusMessage, this.headers, this.body, this.#request || undefined);\n response.#error = { message, error };\n return response;\n }\n /**\n * If called within a [request.processFunc](FetchRequest-processFunc)\n * call, causes the request to retry as if throttled for %%stall%%\n * milliseconds.\n */\n throwThrottleError(message, stall) {\n if (stall == null) {\n stall = -1;\n }\n else {\n assertArgument(Number.isInteger(stall) && stall >= 0, \"invalid stall timeout\", \"stall\", stall);\n }\n const error = new Error(message || \"throttling requests\");\n defineProperties(error, { stall, throttle: true });\n throw error;\n }\n /**\n * Get the header value for %%key%%, ignoring case.\n */\n getHeader(key) {\n return this.headers[key.toLowerCase()];\n }\n /**\n * Returns true if the response has a body.\n */\n hasBody() {\n return (this.#body != null);\n }\n /**\n * The request made for this response.\n */\n get request() { return this.#request; }\n /**\n * Returns true if this response was a success statusCode.\n */\n ok() {\n return (this.#error.message === \"\" && this.statusCode >= 200 && this.statusCode < 300);\n }\n /**\n * Throws a ``SERVER_ERROR`` if this response is not ok.\n */\n assertOk() {\n if (this.ok()) {\n return;\n }\n let { message, error } = this.#error;\n if (message === \"\") {\n message = `server response ${this.statusCode} ${this.statusMessage}`;\n }\n let requestUrl = null;\n if (this.request) {\n requestUrl = this.request.url;\n }\n let responseBody = null;\n try {\n if (this.#body) {\n responseBody = toUtf8String(this.#body);\n }\n }\n catch (e) { }\n assert(false, message, \"SERVER_ERROR\", {\n request: (this.request || \"unknown request\"), response: this, error,\n info: {\n requestUrl, responseBody,\n responseStatus: `${this.statusCode} ${this.statusMessage}`\n }\n });\n }\n}\nfunction getTime() { return (new Date()).getTime(); }\nfunction unpercent(value) {\n return toUtf8Bytes(value.replace(/%([0-9a-f][0-9a-f])/gi, (all, code) => {\n return String.fromCharCode(parseInt(code, 16));\n }));\n}\nfunction wait(delay) {\n return new Promise((resolve) => setTimeout(resolve, delay));\n}\n//# sourceMappingURL=fetch.js.map","/**\n * The **FixedNumber** class permits using values with decimal places,\n * using fixed-pont math.\n *\n * Fixed-point math is still based on integers under-the-hood, but uses an\n * internal offset to store fractional components below, and each operation\n * corrects for this after each operation.\n *\n * @_section: api/utils/fixed-point-math:Fixed-Point Maths [about-fixed-point-math]\n */\nimport { getBytes } from \"./data.js\";\nimport { assert, assertArgument, assertPrivate } from \"./errors.js\";\nimport { getBigInt, getNumber, fromTwos, mask, toBigInt } from \"./maths.js\";\nimport { defineProperties } from \"./properties.js\";\nconst BN_N1 = BigInt(-1);\nconst BN_0 = BigInt(0);\nconst BN_1 = BigInt(1);\nconst BN_5 = BigInt(5);\nconst _guard = {};\n// Constant to pull zeros from for multipliers\nlet Zeros = \"0000\";\nwhile (Zeros.length < 80) {\n Zeros += Zeros;\n}\n// Returns a string \"1\" followed by decimal \"0\"s\nfunction getTens(decimals) {\n let result = Zeros;\n while (result.length < decimals) {\n result += result;\n }\n return BigInt(\"1\" + result.substring(0, decimals));\n}\nfunction checkValue(val, format, safeOp) {\n const width = BigInt(format.width);\n if (format.signed) {\n const limit = (BN_1 << (width - BN_1));\n assert(safeOp == null || (val >= -limit && val < limit), \"overflow\", \"NUMERIC_FAULT\", {\n operation: safeOp, fault: \"overflow\", value: val\n });\n if (val > BN_0) {\n val = fromTwos(mask(val, width), width);\n }\n else {\n val = -fromTwos(mask(-val, width), width);\n }\n }\n else {\n const limit = (BN_1 << width);\n assert(safeOp == null || (val >= 0 && val < limit), \"overflow\", \"NUMERIC_FAULT\", {\n operation: safeOp, fault: \"overflow\", value: val\n });\n val = (((val % limit) + limit) % limit) & (limit - BN_1);\n }\n return val;\n}\nfunction getFormat(value) {\n if (typeof (value) === \"number\") {\n value = `fixed128x${value}`;\n }\n let signed = true;\n let width = 128;\n let decimals = 18;\n if (typeof (value) === \"string\") {\n // Parse the format string\n if (value === \"fixed\") {\n // defaults...\n }\n else if (value === \"ufixed\") {\n signed = false;\n }\n else {\n const match = value.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);\n assertArgument(match, \"invalid fixed format\", \"format\", value);\n signed = (match[1] !== \"u\");\n width = parseInt(match[2]);\n decimals = parseInt(match[3]);\n }\n }\n else if (value) {\n // Extract the values from the object\n const v = value;\n const check = (key, type, defaultValue) => {\n if (v[key] == null) {\n return defaultValue;\n }\n assertArgument(typeof (v[key]) === type, \"invalid fixed format (\" + key + \" not \" + type + \")\", \"format.\" + key, v[key]);\n return v[key];\n };\n signed = check(\"signed\", \"boolean\", signed);\n width = check(\"width\", \"number\", width);\n decimals = check(\"decimals\", \"number\", decimals);\n }\n assertArgument((width % 8) === 0, \"invalid FixedNumber width (not byte aligned)\", \"format.width\", width);\n assertArgument(decimals <= 80, \"invalid FixedNumber decimals (too large)\", \"format.decimals\", decimals);\n const name = (signed ? \"\" : \"u\") + \"fixed\" + String(width) + \"x\" + String(decimals);\n return { signed, width, decimals, name };\n}\nfunction toString(val, decimals) {\n let negative = \"\";\n if (val < BN_0) {\n negative = \"-\";\n val *= BN_N1;\n }\n let str = val.toString();\n // No decimal point for whole values\n if (decimals === 0) {\n return (negative + str);\n }\n // Pad out to the whole component (including a whole digit)\n while (str.length <= decimals) {\n str = Zeros + str;\n }\n // Insert the decimal point\n const index = str.length - decimals;\n str = str.substring(0, index) + \".\" + str.substring(index);\n // Trim the whole component (leaving at least one 0)\n while (str[0] === \"0\" && str[1] !== \".\") {\n str = str.substring(1);\n }\n // Trim the decimal component (leaving at least one 0)\n while (str[str.length - 1] === \"0\" && str[str.length - 2] !== \".\") {\n str = str.substring(0, str.length - 1);\n }\n return (negative + str);\n}\n/**\n * A FixedNumber represents a value over its [[FixedFormat]]\n * arithmetic field.\n *\n * A FixedNumber can be used to perform math, losslessly, on\n * values which have decmial places.\n *\n * A FixedNumber has a fixed bit-width to store values in, and stores all\n * values internally by multiplying the value by 10 raised to the power of\n * %%decimals%%.\n *\n * If operations are performed that cause a value to grow too high (close to\n * positive infinity) or too low (close to negative infinity), the value\n * is said to //overflow//.\n *\n * For example, an 8-bit signed value, with 0 decimals may only be within\n * the range ``-128`` to ``127``; so ``-128 - 1`` will overflow and become\n * ``127``. Likewise, ``127 + 1`` will overflow and become ``-127``.\n *\n * Many operation have a normal and //unsafe// variant. The normal variant\n * will throw a [[NumericFaultError]] on any overflow, while the //unsafe//\n * variant will silently allow overflow, corrupting its value value.\n *\n * If operations are performed that cause a value to become too small\n * (close to zero), the value loses precison and is said to //underflow//.\n *\n * For example, an value with 1 decimal place may store a number as small\n * as ``0.1``, but the value of ``0.1 / 2`` is ``0.05``, which cannot fit\n * into 1 decimal place, so underflow occurs which means precision is lost\n * and the value becomes ``0``.\n *\n * Some operations have a normal and //signalling// variant. The normal\n * variant will silently ignore underflow, while the //signalling// variant\n * will thow a [[NumericFaultError]] on underflow.\n */\nexport class FixedNumber {\n /**\n * The specific fixed-point arithmetic field for this value.\n */\n format;\n #format;\n // The actual value (accounting for decimals)\n #val;\n // A base-10 value to multiple values by to maintain the magnitude\n #tens;\n /**\n * This is a property so console.log shows a human-meaningful value.\n *\n * @private\n */\n _value;\n // Use this when changing this file to get some typing info,\n // but then switch to any to mask the internal type\n //constructor(guard: any, value: bigint, format: _FixedFormat) {\n /**\n * @private\n */\n constructor(guard, value, format) {\n assertPrivate(guard, _guard, \"FixedNumber\");\n this.#val = value;\n this.#format = format;\n const _value = toString(value, format.decimals);\n defineProperties(this, { format: format.name, _value });\n this.#tens = getTens(format.decimals);\n }\n /**\n * If true, negative values are permitted, otherwise only\n * positive values and zero are allowed.\n */\n get signed() { return this.#format.signed; }\n /**\n * The number of bits available to store the value.\n */\n get width() { return this.#format.width; }\n /**\n * The number of decimal places in the fixed-point arithment field.\n */\n get decimals() { return this.#format.decimals; }\n /**\n * The value as an integer, based on the smallest unit the\n * [[decimals]] allow.\n */\n get value() { return this.#val; }\n #checkFormat(other) {\n assertArgument(this.format === other.format, \"incompatible format; use fixedNumber.toFormat\", \"other\", other);\n }\n #checkValue(val, safeOp) {\n /*\n const width = BigInt(this.width);\n if (this.signed) {\n const limit = (BN_1 << (width - BN_1));\n assert(safeOp == null || (val >= -limit && val < limit), \"overflow\", \"NUMERIC_FAULT\", {\n operation: safeOp, fault: \"overflow\", value: val\n });\n \n if (val > BN_0) {\n val = fromTwos(mask(val, width), width);\n } else {\n val = -fromTwos(mask(-val, width), width);\n }\n \n } else {\n const masked = mask(val, width);\n assert(safeOp == null || (val >= 0 && val === masked), \"overflow\", \"NUMERIC_FAULT\", {\n operation: safeOp, fault: \"overflow\", value: val\n });\n val = masked;\n }\n */\n val = checkValue(val, this.#format, safeOp);\n return new FixedNumber(_guard, val, this.#format);\n }\n #add(o, safeOp) {\n this.#checkFormat(o);\n return this.#checkValue(this.#val + o.#val, safeOp);\n }\n /**\n * Returns a new [[FixedNumber]] with the result of %%this%% added\n * to %%other%%, ignoring overflow.\n */\n addUnsafe(other) { return this.#add(other); }\n /**\n * Returns a new [[FixedNumber]] with the result of %%this%% added\n * to %%other%%. A [[NumericFaultError]] is thrown if overflow\n * occurs.\n */\n add(other) { return this.#add(other, \"add\"); }\n #sub(o, safeOp) {\n this.#checkFormat(o);\n return this.#checkValue(this.#val - o.#val, safeOp);\n }\n /**\n * Returns a new [[FixedNumber]] with the result of %%other%% subtracted\n * from %%this%%, ignoring overflow.\n */\n subUnsafe(other) { return this.#sub(other); }\n /**\n * Returns a new [[FixedNumber]] with the result of %%other%% subtracted\n * from %%this%%. A [[NumericFaultError]] is thrown if overflow\n * occurs.\n */\n sub(other) { return this.#sub(other, \"sub\"); }\n #mul(o, safeOp) {\n this.#checkFormat(o);\n return this.#checkValue((this.#val * o.#val) / this.#tens, safeOp);\n }\n /**\n * Returns a new [[FixedNumber]] with the result of %%this%% multiplied\n * by %%other%%, ignoring overflow and underflow (precision loss).\n */\n mulUnsafe(other) { return this.#mul(other); }\n /**\n * Returns a new [[FixedNumber]] with the result of %%this%% multiplied\n * by %%other%%. A [[NumericFaultError]] is thrown if overflow\n * occurs.\n */\n mul(other) { return this.#mul(other, \"mul\"); }\n /**\n * Returns a new [[FixedNumber]] with the result of %%this%% multiplied\n * by %%other%%. A [[NumericFaultError]] is thrown if overflow\n * occurs or if underflow (precision loss) occurs.\n */\n mulSignal(other) {\n this.#checkFormat(other);\n const value = this.#val * other.#val;\n assert((value % this.#tens) === BN_0, \"precision lost during signalling mul\", \"NUMERIC_FAULT\", {\n operation: \"mulSignal\", fault: \"underflow\", value: this\n });\n return this.#checkValue(value / this.#tens, \"mulSignal\");\n }\n #div(o, safeOp) {\n assert(o.#val !== BN_0, \"division by zero\", \"NUMERIC_FAULT\", {\n operation: \"div\", fault: \"divide-by-zero\", value: this\n });\n this.#checkFormat(o);\n return this.#checkValue((this.#val * this.#tens) / o.#val, safeOp);\n }\n /**\n * Returns a new [[FixedNumber]] with the result of %%this%% divided\n * by %%other%%, ignoring underflow (precision loss). A\n * [[NumericFaultError]] is thrown if overflow occurs.\n */\n divUnsafe(other) { return this.#div(other); }\n /**\n * Returns a new [[FixedNumber]] with the result of %%this%% divided\n * by %%other%%, ignoring underflow (precision loss). A\n * [[NumericFaultError]] is thrown if overflow occurs.\n */\n div(other) { return this.#div(other, \"div\"); }\n /**\n * Returns a new [[FixedNumber]] with the result of %%this%% divided\n * by %%other%%. A [[NumericFaultError]] is thrown if underflow\n * (precision loss) occurs.\n */\n divSignal(other) {\n assert(other.#val !== BN_0, \"division by zero\", \"NUMERIC_FAULT\", {\n operation: \"div\", fault: \"divide-by-zero\", value: this\n });\n this.#checkFormat(other);\n const value = (this.#val * this.#tens);\n assert((value % other.#val) === BN_0, \"precision lost during signalling div\", \"NUMERIC_FAULT\", {\n operation: \"divSignal\", fault: \"underflow\", value: this\n });\n return this.#checkValue(value / other.#val, \"divSignal\");\n }\n /**\n * Returns a comparison result between %%this%% and %%other%%.\n *\n * This is suitable for use in sorting, where ``-1`` implies %%this%%\n * is smaller, ``1`` implies %%this%% is larger and ``0`` implies\n * both are equal.\n */\n cmp(other) {\n let a = this.value, b = other.value;\n // Coerce a and b to the same magnitude\n const delta = this.decimals - other.decimals;\n if (delta > 0) {\n b *= getTens(delta);\n }\n else if (delta < 0) {\n a *= getTens(-delta);\n }\n // Comnpare\n if (a < b) {\n return -1;\n }\n if (a > b) {\n return 1;\n }\n return 0;\n }\n /**\n * Returns true if %%other%% is equal to %%this%%.\n */\n eq(other) { return this.cmp(other) === 0; }\n /**\n * Returns true if %%other%% is less than to %%this%%.\n */\n lt(other) { return this.cmp(other) < 0; }\n /**\n * Returns true if %%other%% is less than or equal to %%this%%.\n */\n lte(other) { return this.cmp(other) <= 0; }\n /**\n * Returns true if %%other%% is greater than to %%this%%.\n */\n gt(other) { return this.cmp(other) > 0; }\n /**\n * Returns true if %%other%% is greater than or equal to %%this%%.\n */\n gte(other) { return this.cmp(other) >= 0; }\n /**\n * Returns a new [[FixedNumber]] which is the largest **integer**\n * that is less than or equal to %%this%%.\n *\n * The decimal component of the result will always be ``0``.\n */\n floor() {\n let val = this.#val;\n if (this.#val < BN_0) {\n val -= this.#tens - BN_1;\n }\n val = (this.#val / this.#tens) * this.#tens;\n return this.#checkValue(val, \"floor\");\n }\n /**\n * Returns a new [[FixedNumber]] which is the smallest **integer**\n * that is greater than or equal to %%this%%.\n *\n * The decimal component of the result will always be ``0``.\n */\n ceiling() {\n let val = this.#val;\n if (this.#val > BN_0) {\n val += this.#tens - BN_1;\n }\n val = (this.#val / this.#tens) * this.#tens;\n return this.#checkValue(val, \"ceiling\");\n }\n /**\n * Returns a new [[FixedNumber]] with the decimal component\n * rounded up on ties at %%decimals%% places.\n */\n round(decimals) {\n if (decimals == null) {\n decimals = 0;\n }\n // Not enough precision to not already be rounded\n if (decimals >= this.decimals) {\n return this;\n }\n const delta = this.decimals - decimals;\n const bump = BN_5 * getTens(delta - 1);\n let value = this.value + bump;\n const tens = getTens(delta);\n value = (value / tens) * tens;\n checkValue(value, this.#format, \"round\");\n return new FixedNumber(_guard, value, this.#format);\n }\n /**\n * Returns true if %%this%% is equal to ``0``.\n */\n isZero() { return (this.#val === BN_0); }\n /**\n * Returns true if %%this%% is less than ``0``.\n */\n isNegative() { return (this.#val < BN_0); }\n /**\n * Returns the string representation of %%this%%.\n */\n toString() { return this._value; }\n /**\n * Returns a float approximation.\n *\n * Due to IEEE 754 precission (or lack thereof), this function\n * can only return an approximation and most values will contain\n * rounding errors.\n */\n toUnsafeFloat() { return parseFloat(this.toString()); }\n /**\n * Return a new [[FixedNumber]] with the same value but has had\n * its field set to %%format%%.\n *\n * This will throw if the value cannot fit into %%format%%.\n */\n toFormat(format) {\n return FixedNumber.fromString(this.toString(), format);\n }\n /**\n * Creates a new [[FixedNumber]] for %%value%% divided by\n * %%decimal%% places with %%format%%.\n *\n * This will throw a [[NumericFaultError]] if %%value%% (once adjusted\n * for %%decimals%%) cannot fit in %%format%%, either due to overflow\n * or underflow (precision loss).\n */\n static fromValue(_value, _decimals, _format) {\n const decimals = (_decimals == null) ? 0 : getNumber(_decimals);\n const format = getFormat(_format);\n let value = getBigInt(_value, \"value\");\n const delta = decimals - format.decimals;\n if (delta > 0) {\n const tens = getTens(delta);\n assert((value % tens) === BN_0, \"value loses precision for format\", \"NUMERIC_FAULT\", {\n operation: \"fromValue\", fault: \"underflow\", value: _value\n });\n value /= tens;\n }\n else if (delta < 0) {\n value *= getTens(-delta);\n }\n checkValue(value, format, \"fromValue\");\n return new FixedNumber(_guard, value, format);\n }\n /**\n * Creates a new [[FixedNumber]] for %%value%% with %%format%%.\n *\n * This will throw a [[NumericFaultError]] if %%value%% cannot fit\n * in %%format%%, either due to overflow or underflow (precision loss).\n */\n static fromString(_value, _format) {\n const match = _value.match(/^(-?)([0-9]*)\\.?([0-9]*)$/);\n assertArgument(match && (match[2].length + match[3].length) > 0, \"invalid FixedNumber string value\", \"value\", _value);\n const format = getFormat(_format);\n let whole = (match[2] || \"0\"), decimal = (match[3] || \"\");\n // Pad out the decimals\n while (decimal.length < format.decimals) {\n decimal += Zeros;\n }\n // Check precision is safe\n assert(decimal.substring(format.decimals).match(/^0*$/), \"too many decimals for format\", \"NUMERIC_FAULT\", {\n operation: \"fromString\", fault: \"underflow\", value: _value\n });\n // Remove extra padding\n decimal = decimal.substring(0, format.decimals);\n const value = BigInt(match[1] + whole + decimal);\n checkValue(value, format, \"fromString\");\n return new FixedNumber(_guard, value, format);\n }\n /**\n * Creates a new [[FixedNumber]] with the big-endian representation\n * %%value%% with %%format%%.\n *\n * This will throw a [[NumericFaultError]] if %%value%% cannot fit\n * in %%format%% due to overflow.\n */\n static fromBytes(_value, _format) {\n let value = toBigInt(getBytes(_value, \"value\"));\n const format = getFormat(_format);\n if (format.signed) {\n value = fromTwos(value, format.width);\n }\n checkValue(value, format, \"fromBytes\");\n return new FixedNumber(_guard, value, format);\n }\n}\n//const f1 = FixedNumber.fromString(\"12.56\", \"fixed16x2\");\n//const f2 = FixedNumber.fromString(\"0.3\", \"fixed16x2\");\n//console.log(f1.divSignal(f2));\n//const BUMP = FixedNumber.from(\"0.5\");\n//# sourceMappingURL=fixednumber.js.map","//See: https://github.com/ethereum/wiki/wiki/RLP\nimport { hexlify } from \"./data.js\";\nimport { assert, assertArgument } from \"./errors.js\";\nimport { getBytes } from \"./data.js\";\nfunction hexlifyByte(value) {\n let result = value.toString(16);\n while (result.length < 2) {\n result = \"0\" + result;\n }\n return \"0x\" + result;\n}\nfunction unarrayifyInteger(data, offset, length) {\n let result = 0;\n for (let i = 0; i < length; i++) {\n result = (result * 256) + data[offset + i];\n }\n return result;\n}\nfunction _decodeChildren(data, offset, childOffset, length) {\n const result = [];\n while (childOffset < offset + 1 + length) {\n const decoded = _decode(data, childOffset);\n result.push(decoded.result);\n childOffset += decoded.consumed;\n assert(childOffset <= offset + 1 + length, \"child data too short\", \"BUFFER_OVERRUN\", {\n buffer: data, length, offset\n });\n }\n return { consumed: (1 + length), result: result };\n}\n// returns { consumed: number, result: Object }\nfunction _decode(data, offset) {\n assert(data.length !== 0, \"data too short\", \"BUFFER_OVERRUN\", {\n buffer: data, length: 0, offset: 1\n });\n const checkOffset = (offset) => {\n assert(offset <= data.length, \"data short segment too short\", \"BUFFER_OVERRUN\", {\n buffer: data, length: data.length, offset\n });\n };\n // Array with extra length prefix\n if (data[offset] >= 0xf8) {\n const lengthLength = data[offset] - 0xf7;\n checkOffset(offset + 1 + lengthLength);\n const length = unarrayifyInteger(data, offset + 1, lengthLength);\n checkOffset(offset + 1 + lengthLength + length);\n return _decodeChildren(data, offset, offset + 1 + lengthLength, lengthLength + length);\n }\n else if (data[offset] >= 0xc0) {\n const length = data[offset] - 0xc0;\n checkOffset(offset + 1 + length);\n return _decodeChildren(data, offset, offset + 1, length);\n }\n else if (data[offset] >= 0xb8) {\n const lengthLength = data[offset] - 0xb7;\n checkOffset(offset + 1 + lengthLength);\n const length = unarrayifyInteger(data, offset + 1, lengthLength);\n checkOffset(offset + 1 + lengthLength + length);\n const result = hexlify(data.slice(offset + 1 + lengthLength, offset + 1 + lengthLength + length));\n return { consumed: (1 + lengthLength + length), result: result };\n }\n else if (data[offset] >= 0x80) {\n const length = data[offset] - 0x80;\n checkOffset(offset + 1 + length);\n const result = hexlify(data.slice(offset + 1, offset + 1 + length));\n return { consumed: (1 + length), result: result };\n }\n return { consumed: 1, result: hexlifyByte(data[offset]) };\n}\n/**\n * Decodes %%data%% into the structured data it represents.\n */\nexport function decodeRlp(_data) {\n const data = getBytes(_data, \"data\");\n const decoded = _decode(data, 0);\n assertArgument(decoded.consumed === data.length, \"unexpected junk after rlp payload\", \"data\", _data);\n return decoded.result;\n}\n//# sourceMappingURL=rlp-decode.js.map","//See: https://github.com/ethereum/wiki/wiki/RLP\nimport { getBytes } from \"./data.js\";\nfunction arrayifyInteger(value) {\n const result = [];\n while (value) {\n result.unshift(value & 0xff);\n value >>= 8;\n }\n return result;\n}\nfunction _encode(object) {\n if (Array.isArray(object)) {\n let payload = [];\n object.forEach(function (child) {\n payload = payload.concat(_encode(child));\n });\n if (payload.length <= 55) {\n payload.unshift(0xc0 + payload.length);\n return payload;\n }\n const length = arrayifyInteger(payload.length);\n length.unshift(0xf7 + length.length);\n return length.concat(payload);\n }\n const data = Array.prototype.slice.call(getBytes(object, \"object\"));\n if (data.length === 1 && data[0] <= 0x7f) {\n return data;\n }\n else if (data.length <= 55) {\n data.unshift(0x80 + data.length);\n return data;\n }\n const length = arrayifyInteger(data.length);\n length.unshift(0xb7 + length.length);\n return length.concat(data);\n}\nconst nibbles = \"0123456789abcdef\";\n/**\n * Encodes %%object%% as an RLP-encoded [[DataHexString]].\n */\nexport function encodeRlp(object) {\n let result = \"0x\";\n for (const v of _encode(object)) {\n result += nibbles[v >> 4];\n result += nibbles[v & 0xf];\n }\n return result;\n}\n//# sourceMappingURL=rlp-encode.js.map","/**\n * Most interactions with Ethereum requires integer values, which use\n * the smallest magnitude unit.\n *\n * For example, imagine dealing with dollars and cents. Since dollars\n * are divisible, non-integer values are possible, such as ``$10.77``.\n * By using the smallest indivisible unit (i.e. cents), the value can\n * be kept as the integer ``1077``.\n *\n * When receiving decimal input from the user (as a decimal string),\n * the value should be converted to an integer and when showing a user\n * a value, the integer value should be converted to a decimal string.\n *\n * This creates a clear distinction, between values to be used by code\n * (integers) and values used for display logic to users (decimals).\n *\n * The native unit in Ethereum, //ether// is divisible to 18 decimal places,\n * where each individual unit is called a //wei//.\n *\n * @_subsection api/utils:Unit Conversion [about-units]\n */\nimport { assertArgument } from \"./errors.js\";\nimport { FixedNumber } from \"./fixednumber.js\";\nimport { getNumber } from \"./maths.js\";\nconst names = [\n \"wei\",\n \"kwei\",\n \"mwei\",\n \"gwei\",\n \"szabo\",\n \"finney\",\n \"ether\",\n];\n/**\n * Converts %%value%% into a //decimal string//, assuming %%unit%% decimal\n * places. The %%unit%% may be the number of decimal places or the name of\n * a unit (e.g. ``\"gwei\"`` for 9 decimal places).\n *\n */\nexport function formatUnits(value, unit) {\n let decimals = 18;\n if (typeof (unit) === \"string\") {\n const index = names.indexOf(unit);\n assertArgument(index >= 0, \"invalid unit\", \"unit\", unit);\n decimals = 3 * index;\n }\n else if (unit != null) {\n decimals = getNumber(unit, \"unit\");\n }\n return FixedNumber.fromValue(value, decimals, { decimals, width: 512 }).toString();\n}\n/**\n * Converts the //decimal string// %%value%% to a BigInt, assuming\n * %%unit%% decimal places. The %%unit%% may the number of decimal places\n * or the name of a unit (e.g. ``\"gwei\"`` for 9 decimal places).\n */\nexport function parseUnits(value, unit) {\n assertArgument(typeof (value) === \"string\", \"value must be a string\", \"value\", value);\n let decimals = 18;\n if (typeof (unit) === \"string\") {\n const index = names.indexOf(unit);\n assertArgument(index >= 0, \"invalid unit\", \"unit\", unit);\n decimals = 3 * index;\n }\n else if (unit != null) {\n decimals = getNumber(unit, \"unit\");\n }\n return FixedNumber.fromString(value, { decimals, width: 512 }).value;\n}\n/**\n * Converts %%value%% into a //decimal string// using 18 decimal places.\n */\nexport function formatEther(wei) {\n return formatUnits(wei, 18);\n}\n/**\n * Converts the //decimal string// %%ether%% to a BigInt, using 18\n * decimal places.\n */\nexport function parseEther(ether) {\n return parseUnits(ether, 18);\n}\n//# sourceMappingURL=units.js.map","/**\n * Explain UUID and link to RFC here.\n *\n * @_subsection: api/utils:UUID [about-uuid]\n */\nimport { getBytes, hexlify } from \"./data.js\";\n/**\n * Returns the version 4 [[link-uuid]] for the %%randomBytes%%.\n *\n * @see: https://www.ietf.org/rfc/rfc4122.txt (Section 4.4)\n */\nexport function uuidV4(randomBytes) {\n const bytes = getBytes(randomBytes, \"randomBytes\");\n // Section: 4.1.3:\n // - time_hi_and_version[12:16] = 0b0100\n bytes[6] = (bytes[6] & 0x0f) | 0x40;\n // Section 4.4\n // - clock_seq_hi_and_reserved[6] = 0b0\n // - clock_seq_hi_and_reserved[7] = 0b1\n bytes[8] = (bytes[8] & 0x3f) | 0x80;\n const value = hexlify(bytes);\n return [\n value.substring(2, 10),\n value.substring(10, 14),\n value.substring(14, 18),\n value.substring(18, 22),\n value.substring(22, 34),\n ].join(\"-\");\n}\n//# sourceMappingURL=uuid.js.map","import { defineProperties, concat, getBytesCopy, getNumber, hexlify, toBeArray, toBigInt, toNumber, assert, assertArgument } from \"../../utils/index.js\";\n/**\n * @_ignore:\n */\nexport const WordSize = 32;\nconst Padding = new Uint8Array(WordSize);\n// Properties used to immediate pass through to the underlying object\n// - `then` is used to detect if an object is a Promise for await\nconst passProperties = [\"then\"];\nconst _guard = {};\nfunction throwError(name, error) {\n const wrapped = new Error(`deferred error during ABI decoding triggered accessing ${name}`);\n wrapped.error = error;\n throw wrapped;\n}\n/**\n * A [[Result]] is a sub-class of Array, which allows accessing any\n * of its values either positionally by its index or, if keys are\n * provided by its name.\n *\n * @_docloc: api/abi\n */\nexport class Result extends Array {\n #names;\n /**\n * @private\n */\n constructor(...args) {\n // To properly sub-class Array so the other built-in\n // functions work, the constructor has to behave fairly\n // well. So, in the event we are created via fromItems()\n // we build the read-only Result object we want, but on\n // any other input, we use the default constructor\n // constructor(guard: any, items: Array, keys?: Array);\n const guard = args[0];\n let items = args[1];\n let names = (args[2] || []).slice();\n let wrap = true;\n if (guard !== _guard) {\n items = args;\n names = [];\n wrap = false;\n }\n // Can't just pass in ...items since an array of length 1\n // is a special case in the super.\n super(items.length);\n items.forEach((item, index) => { this[index] = item; });\n // Find all unique keys\n const nameCounts = names.reduce((accum, name) => {\n if (typeof (name) === \"string\") {\n accum.set(name, (accum.get(name) || 0) + 1);\n }\n return accum;\n }, (new Map()));\n // Remove any key thats not unique\n this.#names = Object.freeze(items.map((item, index) => {\n const name = names[index];\n if (name != null && nameCounts.get(name) === 1) {\n return name;\n }\n return null;\n }));\n if (!wrap) {\n return;\n }\n // A wrapped Result is immutable\n Object.freeze(this);\n // Proxy indices and names so we can trap deferred errors\n return new Proxy(this, {\n get: (target, prop, receiver) => {\n if (typeof (prop) === \"string\") {\n // Index accessor\n if (prop.match(/^[0-9]+$/)) {\n const index = getNumber(prop, \"%index\");\n if (index < 0 || index >= this.length) {\n throw new RangeError(\"out of result range\");\n }\n const item = target[index];\n if (item instanceof Error) {\n throwError(`index ${index}`, item);\n }\n return item;\n }\n // Pass important checks (like `then` for Promise) through\n if (passProperties.indexOf(prop) >= 0) {\n return Reflect.get(target, prop, receiver);\n }\n const value = target[prop];\n if (value instanceof Function) {\n // Make sure functions work with private variables\n // See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy#no_private_property_forwarding\n return function (...args) {\n return value.apply((this === receiver) ? target : this, args);\n };\n }\n else if (!(prop in target)) {\n // Possible name accessor\n return target.getValue.apply((this === receiver) ? target : this, [prop]);\n }\n }\n return Reflect.get(target, prop, receiver);\n }\n });\n }\n /**\n * Returns the Result as a normal Array.\n *\n * This will throw if there are any outstanding deferred\n * errors.\n */\n toArray() {\n const result = [];\n this.forEach((item, index) => {\n if (item instanceof Error) {\n throwError(`index ${index}`, item);\n }\n result.push(item);\n });\n return result;\n }\n /**\n * Returns the Result as an Object with each name-value pair.\n *\n * This will throw if any value is unnamed, or if there are\n * any outstanding deferred errors.\n */\n toObject() {\n return this.#names.reduce((accum, name, index) => {\n assert(name != null, \"value at index ${ index } unnamed\", \"UNSUPPORTED_OPERATION\", {\n operation: \"toObject()\"\n });\n // Add values for names that don't conflict\n if (!(name in accum)) {\n accum[name] = this.getValue(name);\n }\n return accum;\n }, {});\n }\n /**\n * @_ignore\n */\n slice(start, end) {\n if (start == null) {\n start = 0;\n }\n if (start < 0) {\n start += this.length;\n if (start < 0) {\n start = 0;\n }\n }\n if (end == null) {\n end = this.length;\n }\n if (end < 0) {\n end += this.length;\n if (end < 0) {\n end = 0;\n }\n }\n if (end > this.length) {\n end = this.length;\n }\n const result = [], names = [];\n for (let i = start; i < end; i++) {\n result.push(this[i]);\n names.push(this.#names[i]);\n }\n return new Result(_guard, result, names);\n }\n /**\n * @_ignore\n */\n filter(callback, thisArg) {\n const result = [], names = [];\n for (let i = 0; i < this.length; i++) {\n const item = this[i];\n if (item instanceof Error) {\n throwError(`index ${i}`, item);\n }\n if (callback.call(thisArg, item, i, this)) {\n result.push(item);\n names.push(this.#names[i]);\n }\n }\n return new Result(_guard, result, names);\n }\n /**\n * @_ignore\n */\n map(callback, thisArg) {\n const result = [];\n for (let i = 0; i < this.length; i++) {\n const item = this[i];\n if (item instanceof Error) {\n throwError(`index ${i}`, item);\n }\n result.push(callback.call(thisArg, item, i, this));\n }\n return result;\n }\n /**\n * Returns the value for %%name%%.\n *\n * Since it is possible to have a key whose name conflicts with\n * a method on a [[Result]] or its superclass Array, or any\n * JavaScript keyword, this ensures all named values are still\n * accessible by name.\n */\n getValue(name) {\n const index = this.#names.indexOf(name);\n if (index === -1) {\n return undefined;\n }\n const value = this[index];\n if (value instanceof Error) {\n throwError(`property ${JSON.stringify(name)}`, value.error);\n }\n return value;\n }\n /**\n * Creates a new [[Result]] for %%items%% with each entry\n * also accessible by its corresponding name in %%keys%%.\n */\n static fromItems(items, keys) {\n return new Result(_guard, items, keys);\n }\n}\n/**\n * Returns all errors found in a [[Result]].\n *\n * Since certain errors encountered when creating a [[Result]] do\n * not impact the ability to continue parsing data, they are\n * deferred until they are actually accessed. Hence a faulty string\n * in an Event that is never used does not impact the program flow.\n *\n * However, sometimes it may be useful to access, identify or\n * validate correctness of a [[Result]].\n *\n * @_docloc api/abi\n */\nexport function checkResultErrors(result) {\n // Find the first error (if any)\n const errors = [];\n const checkErrors = function (path, object) {\n if (!Array.isArray(object)) {\n return;\n }\n for (let key in object) {\n const childPath = path.slice();\n childPath.push(key);\n try {\n checkErrors(childPath, object[key]);\n }\n catch (error) {\n errors.push({ path: childPath, error: error });\n }\n }\n };\n checkErrors([], result);\n return errors;\n}\nfunction getValue(value) {\n let bytes = toBeArray(value);\n assert(bytes.length <= WordSize, \"value out-of-bounds\", \"BUFFER_OVERRUN\", { buffer: bytes, length: WordSize, offset: bytes.length });\n if (bytes.length !== WordSize) {\n bytes = getBytesCopy(concat([Padding.slice(bytes.length % WordSize), bytes]));\n }\n return bytes;\n}\n/**\n * @_ignore\n */\nexport class Coder {\n // The coder name:\n // - address, uint256, tuple, array, etc.\n name;\n // The fully expanded type, including composite types:\n // - address, uint256, tuple(address,bytes), uint256[3][4][], etc.\n type;\n // The localName bound in the signature, in this example it is \"baz\":\n // - tuple(address foo, uint bar) baz\n localName;\n // Whether this type is dynamic:\n // - Dynamic: bytes, string, address[], tuple(boolean[]), etc.\n // - Not Dynamic: address, uint256, boolean[3], tuple(address, uint8)\n dynamic;\n constructor(name, type, localName, dynamic) {\n defineProperties(this, { name, type, localName, dynamic }, {\n name: \"string\", type: \"string\", localName: \"string\", dynamic: \"boolean\"\n });\n }\n _throwError(message, value) {\n assertArgument(false, message, this.localName, value);\n }\n}\n/**\n * @_ignore\n */\nexport class Writer {\n // An array of WordSize lengthed objects to concatenation\n #data;\n #dataLength;\n constructor() {\n this.#data = [];\n this.#dataLength = 0;\n }\n get data() {\n return concat(this.#data);\n }\n get length() { return this.#dataLength; }\n #writeData(data) {\n this.#data.push(data);\n this.#dataLength += data.length;\n return data.length;\n }\n appendWriter(writer) {\n return this.#writeData(getBytesCopy(writer.data));\n }\n // Arrayish item; pad on the right to *nearest* WordSize\n writeBytes(value) {\n let bytes = getBytesCopy(value);\n const paddingOffset = bytes.length % WordSize;\n if (paddingOffset) {\n bytes = getBytesCopy(concat([bytes, Padding.slice(paddingOffset)]));\n }\n return this.#writeData(bytes);\n }\n // Numeric item; pad on the left *to* WordSize\n writeValue(value) {\n return this.#writeData(getValue(value));\n }\n // Inserts a numeric place-holder, returning a callback that can\n // be used to asjust the value later\n writeUpdatableValue() {\n const offset = this.#data.length;\n this.#data.push(Padding);\n this.#dataLength += WordSize;\n return (value) => {\n this.#data[offset] = getValue(value);\n };\n }\n}\n/**\n * @_ignore\n */\nexport class Reader {\n // Allows incomplete unpadded data to be read; otherwise an error\n // is raised if attempting to overrun the buffer. This is required\n // to deal with an old Solidity bug, in which event data for\n // external (not public thoguh) was tightly packed.\n allowLoose;\n #data;\n #offset;\n #bytesRead;\n #parent;\n #maxInflation;\n constructor(data, allowLoose, maxInflation) {\n defineProperties(this, { allowLoose: !!allowLoose });\n this.#data = getBytesCopy(data);\n this.#bytesRead = 0;\n this.#parent = null;\n this.#maxInflation = (maxInflation != null) ? maxInflation : 1024;\n this.#offset = 0;\n }\n get data() { return hexlify(this.#data); }\n get dataLength() { return this.#data.length; }\n get consumed() { return this.#offset; }\n get bytes() { return new Uint8Array(this.#data); }\n #incrementBytesRead(count) {\n if (this.#parent) {\n return this.#parent.#incrementBytesRead(count);\n }\n this.#bytesRead += count;\n // Check for excessive inflation (see: #4537)\n assert(this.#maxInflation < 1 || this.#bytesRead <= this.#maxInflation * this.dataLength, `compressed ABI data exceeds inflation ratio of ${this.#maxInflation} ( see: https:/\\/github.com/ethers-io/ethers.js/issues/4537 )`, \"BUFFER_OVERRUN\", {\n buffer: getBytesCopy(this.#data), offset: this.#offset,\n length: count, info: {\n bytesRead: this.#bytesRead,\n dataLength: this.dataLength\n }\n });\n }\n #peekBytes(offset, length, loose) {\n let alignedLength = Math.ceil(length / WordSize) * WordSize;\n if (this.#offset + alignedLength > this.#data.length) {\n if (this.allowLoose && loose && this.#offset + length <= this.#data.length) {\n alignedLength = length;\n }\n else {\n assert(false, \"data out-of-bounds\", \"BUFFER_OVERRUN\", {\n buffer: getBytesCopy(this.#data),\n length: this.#data.length,\n offset: this.#offset + alignedLength\n });\n }\n }\n return this.#data.slice(this.#offset, this.#offset + alignedLength);\n }\n // Create a sub-reader with the same underlying data, but offset\n subReader(offset) {\n const reader = new Reader(this.#data.slice(this.#offset + offset), this.allowLoose, this.#maxInflation);\n reader.#parent = this;\n return reader;\n }\n // Read bytes\n readBytes(length, loose) {\n let bytes = this.#peekBytes(0, length, !!loose);\n this.#incrementBytesRead(length);\n this.#offset += bytes.length;\n // @TODO: Make sure the length..end bytes are all 0?\n return bytes.slice(0, length);\n }\n // Read a numeric values\n readValue() {\n return toBigInt(this.readBytes(WordSize));\n }\n readIndex() {\n return toNumber(this.readBytes(WordSize));\n }\n}\n//# sourceMappingURL=abstract-coder.js.map","function number(n) {\n if (!Number.isSafeInteger(n) || n < 0)\n throw new Error(`Wrong positive integer: ${n}`);\n}\nfunction bool(b) {\n if (typeof b !== 'boolean')\n throw new Error(`Expected boolean, not ${b}`);\n}\nfunction bytes(b, ...lengths) {\n if (!(b instanceof Uint8Array))\n throw new Error('Expected Uint8Array');\n if (lengths.length > 0 && !lengths.includes(b.length))\n throw new Error(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`);\n}\nfunction hash(hash) {\n if (typeof hash !== 'function' || typeof hash.create !== 'function')\n throw new Error('Hash should be wrapped by utils.wrapConstructor');\n number(hash.outputLen);\n number(hash.blockLen);\n}\nfunction exists(instance, checkFinished = true) {\n if (instance.destroyed)\n throw new Error('Hash instance has been destroyed');\n if (checkFinished && instance.finished)\n throw new Error('Hash#digest() has already been called');\n}\nfunction output(out, instance) {\n bytes(out);\n const min = instance.outputLen;\n if (out.length < min) {\n throw new Error(`digestInto() expects output buffer of length at least ${min}`);\n }\n}\nexport { number, bool, bytes, hash, exists, output };\nconst assert = { number, bool, bytes, hash, exists, output };\nexport default assert;\n//# sourceMappingURL=_assert.js.map","export const crypto = typeof globalThis === 'object' && 'crypto' in globalThis ? globalThis.crypto : undefined;\n//# sourceMappingURL=crypto.js.map","/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n// We use WebCrypto aka globalThis.crypto, which exists in browsers and node.js 16+.\n// node.js versions earlier than v19 don't declare it in global scope.\n// For node.js, package.json#exports field mapping rewrites import\n// from `crypto` to `cryptoNode`, which imports native module.\n// Makes the utils un-importable in browsers without a bundler.\n// Once node.js 18 is deprecated, we can just drop the import.\nimport { crypto } from '@noble/hashes/crypto';\nconst u8a = (a) => a instanceof Uint8Array;\n// Cast array to different type\nexport const u8 = (arr) => new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);\nexport const u32 = (arr) => new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));\n// Cast array to view\nexport const createView = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\n// The rotate right (circular right shift) operation for uint32\nexport const rotr = (word, shift) => (word << (32 - shift)) | (word >>> shift);\n// big-endian hardware is rare. Just in case someone still decides to run hashes:\n// early-throw an error because we don't support BE yet.\nexport const isLE = new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44;\nif (!isLE)\n throw new Error('Non little-endian hardware is not supported');\nconst hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, '0'));\n/**\n * @example bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])) // 'cafe0123'\n */\nexport function bytesToHex(bytes) {\n if (!u8a(bytes))\n throw new Error('Uint8Array expected');\n // pre-caching improves the speed 6x\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n hex += hexes[bytes[i]];\n }\n return hex;\n}\n/**\n * @example hexToBytes('cafe0123') // Uint8Array.from([0xca, 0xfe, 0x01, 0x23])\n */\nexport function hexToBytes(hex) {\n if (typeof hex !== 'string')\n throw new Error('hex string expected, got ' + typeof hex);\n const len = hex.length;\n if (len % 2)\n throw new Error('padded hex string expected, got unpadded hex of length ' + len);\n const array = new Uint8Array(len / 2);\n for (let i = 0; i < array.length; i++) {\n const j = i * 2;\n const hexByte = hex.slice(j, j + 2);\n const byte = Number.parseInt(hexByte, 16);\n if (Number.isNaN(byte) || byte < 0)\n throw new Error('Invalid byte sequence');\n array[i] = byte;\n }\n return array;\n}\n// There is no setImmediate in browser and setTimeout is slow.\n// call of async fn will return Promise, which will be fullfiled only on\n// next scheduler queue processing step and this is exactly what we need.\nexport const nextTick = async () => { };\n// Returns control to thread each 'tick' ms to avoid blocking\nexport async function asyncLoop(iters, tick, cb) {\n let ts = Date.now();\n for (let i = 0; i < iters; i++) {\n cb(i);\n // Date.now() is not monotonic, so in case if clock goes backwards we return return control too\n const diff = Date.now() - ts;\n if (diff >= 0 && diff < tick)\n continue;\n await nextTick();\n ts += diff;\n }\n}\n/**\n * @example utf8ToBytes('abc') // new Uint8Array([97, 98, 99])\n */\nexport function utf8ToBytes(str) {\n if (typeof str !== 'string')\n throw new Error(`utf8ToBytes expected string, got ${typeof str}`);\n return new Uint8Array(new TextEncoder().encode(str)); // https://bugzil.la/1681809\n}\n/**\n * Normalizes (non-hex) string or Uint8Array to Uint8Array.\n * Warning: when Uint8Array is passed, it would NOT get copied.\n * Keep in mind for future mutable operations.\n */\nexport function toBytes(data) {\n if (typeof data === 'string')\n data = utf8ToBytes(data);\n if (!u8a(data))\n throw new Error(`expected Uint8Array, got ${typeof data}`);\n return data;\n}\n/**\n * Copies several Uint8Arrays into one.\n */\nexport function concatBytes(...arrays) {\n const r = new Uint8Array(arrays.reduce((sum, a) => sum + a.length, 0));\n let pad = 0; // walk through each item, ensure they have proper type\n arrays.forEach((a) => {\n if (!u8a(a))\n throw new Error('Uint8Array expected');\n r.set(a, pad);\n pad += a.length;\n });\n return r;\n}\n// For runtime check if class implements interface\nexport class Hash {\n // Safe version that clones internal state\n clone() {\n return this._cloneInto();\n }\n}\nconst toStr = {}.toString;\nexport function checkOpts(defaults, opts) {\n if (opts !== undefined && toStr.call(opts) !== '[object Object]')\n throw new Error('Options should be object or undefined');\n const merged = Object.assign(defaults, opts);\n return merged;\n}\nexport function wrapConstructor(hashCons) {\n const hashC = (msg) => hashCons().update(toBytes(msg)).digest();\n const tmp = hashCons();\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = () => hashCons();\n return hashC;\n}\nexport function wrapConstructorWithOpts(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\nexport function wrapXOFConstructorWithOpts(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\n/**\n * Secure PRNG. Uses `crypto.getRandomValues`, which defers to OS.\n */\nexport function randomBytes(bytesLength = 32) {\n if (crypto && typeof crypto.getRandomValues === 'function') {\n return crypto.getRandomValues(new Uint8Array(bytesLength));\n }\n throw new Error('crypto.getRandomValues must be defined');\n}\n//# sourceMappingURL=utils.js.map","import { hash as assertHash, bytes as assertBytes, exists as assertExists } from './_assert.js';\nimport { Hash, toBytes } from './utils.js';\n// HMAC (RFC 2104)\nexport class HMAC extends Hash {\n constructor(hash, _key) {\n super();\n this.finished = false;\n this.destroyed = false;\n assertHash(hash);\n const key = toBytes(_key);\n this.iHash = hash.create();\n if (typeof this.iHash.update !== 'function')\n throw new Error('Expected instance of class which extends utils.Hash');\n this.blockLen = this.iHash.blockLen;\n this.outputLen = this.iHash.outputLen;\n const blockLen = this.blockLen;\n const pad = new Uint8Array(blockLen);\n // blockLen can be bigger than outputLen\n pad.set(key.length > blockLen ? hash.create().update(key).digest() : key);\n for (let i = 0; i < pad.length; i++)\n pad[i] ^= 0x36;\n this.iHash.update(pad);\n // By doing update (processing of first block) of outer hash here we can re-use it between multiple calls via clone\n this.oHash = hash.create();\n // Undo internal XOR && apply outer XOR\n for (let i = 0; i < pad.length; i++)\n pad[i] ^= 0x36 ^ 0x5c;\n this.oHash.update(pad);\n pad.fill(0);\n }\n update(buf) {\n assertExists(this);\n this.iHash.update(buf);\n return this;\n }\n digestInto(out) {\n assertExists(this);\n assertBytes(out, this.outputLen);\n this.finished = true;\n this.iHash.digestInto(out);\n this.oHash.update(out);\n this.oHash.digestInto(out);\n this.destroy();\n }\n digest() {\n const out = new Uint8Array(this.oHash.outputLen);\n this.digestInto(out);\n return out;\n }\n _cloneInto(to) {\n // Create new instance without calling constructor since key already in state and we don't know it.\n to || (to = Object.create(Object.getPrototypeOf(this), {}));\n const { oHash, iHash, finished, destroyed, blockLen, outputLen } = this;\n to = to;\n to.finished = finished;\n to.destroyed = destroyed;\n to.blockLen = blockLen;\n to.outputLen = outputLen;\n to.oHash = oHash._cloneInto(to.oHash);\n to.iHash = iHash._cloneInto(to.iHash);\n return to;\n }\n destroy() {\n this.destroyed = true;\n this.oHash.destroy();\n this.iHash.destroy();\n }\n}\n/**\n * HMAC: RFC2104 message authentication code.\n * @param hash - function that would be used e.g. sha256\n * @param key - message key\n * @param message - message data\n */\nexport const hmac = (hash, key, message) => new HMAC(hash, key).update(message).digest();\nhmac.create = (hash, key) => new HMAC(hash, key);\n//# sourceMappingURL=hmac.js.map","import { hash as assertHash, number as assertNumber } from './_assert.js';\nimport { hmac } from './hmac.js';\nimport { createView, toBytes, checkOpts, asyncLoop } from './utils.js';\n// Common prologue and epilogue for sync/async functions\nfunction pbkdf2Init(hash, _password, _salt, _opts) {\n assertHash(hash);\n const opts = checkOpts({ dkLen: 32, asyncTick: 10 }, _opts);\n const { c, dkLen, asyncTick } = opts;\n assertNumber(c);\n assertNumber(dkLen);\n assertNumber(asyncTick);\n if (c < 1)\n throw new Error('PBKDF2: iterations (c) should be >= 1');\n const password = toBytes(_password);\n const salt = toBytes(_salt);\n // DK = PBKDF2(PRF, Password, Salt, c, dkLen);\n const DK = new Uint8Array(dkLen);\n // U1 = PRF(Password, Salt + INT_32_BE(i))\n const PRF = hmac.create(hash, password);\n const PRFSalt = PRF._cloneInto().update(salt);\n return { c, dkLen, asyncTick, DK, PRF, PRFSalt };\n}\nfunction pbkdf2Output(PRF, PRFSalt, DK, prfW, u) {\n PRF.destroy();\n PRFSalt.destroy();\n if (prfW)\n prfW.destroy();\n u.fill(0);\n return DK;\n}\n/**\n * PBKDF2-HMAC: RFC 2898 key derivation function\n * @param hash - hash function that would be used e.g. sha256\n * @param password - password from which a derived key is generated\n * @param salt - cryptographic salt\n * @param opts - {c, dkLen} where c is work factor and dkLen is output message size\n */\nexport function pbkdf2(hash, password, salt, opts) {\n const { c, dkLen, DK, PRF, PRFSalt } = pbkdf2Init(hash, password, salt, opts);\n let prfW; // Working copy\n const arr = new Uint8Array(4);\n const view = createView(arr);\n const u = new Uint8Array(PRF.outputLen);\n // DK = T1 + T2 + ⋯ + Tdklen/hlen\n for (let ti = 1, pos = 0; pos < dkLen; ti++, pos += PRF.outputLen) {\n // Ti = F(Password, Salt, c, i)\n const Ti = DK.subarray(pos, pos + PRF.outputLen);\n view.setInt32(0, ti, false);\n // F(Password, Salt, c, i) = U1 ^ U2 ^ ⋯ ^ Uc\n // U1 = PRF(Password, Salt + INT_32_BE(i))\n (prfW = PRFSalt._cloneInto(prfW)).update(arr).digestInto(u);\n Ti.set(u.subarray(0, Ti.length));\n for (let ui = 1; ui < c; ui++) {\n // Uc = PRF(Password, Uc−1)\n PRF._cloneInto(prfW).update(u).digestInto(u);\n for (let i = 0; i < Ti.length; i++)\n Ti[i] ^= u[i];\n }\n }\n return pbkdf2Output(PRF, PRFSalt, DK, prfW, u);\n}\nexport async function pbkdf2Async(hash, password, salt, opts) {\n const { c, dkLen, asyncTick, DK, PRF, PRFSalt } = pbkdf2Init(hash, password, salt, opts);\n let prfW; // Working copy\n const arr = new Uint8Array(4);\n const view = createView(arr);\n const u = new Uint8Array(PRF.outputLen);\n // DK = T1 + T2 + ⋯ + Tdklen/hlen\n for (let ti = 1, pos = 0; pos < dkLen; ti++, pos += PRF.outputLen) {\n // Ti = F(Password, Salt, c, i)\n const Ti = DK.subarray(pos, pos + PRF.outputLen);\n view.setInt32(0, ti, false);\n // F(Password, Salt, c, i) = U1 ^ U2 ^ ⋯ ^ Uc\n // U1 = PRF(Password, Salt + INT_32_BE(i))\n (prfW = PRFSalt._cloneInto(prfW)).update(arr).digestInto(u);\n Ti.set(u.subarray(0, Ti.length));\n await asyncLoop(c - 1, asyncTick, () => {\n // Uc = PRF(Password, Uc−1)\n PRF._cloneInto(prfW).update(u).digestInto(u);\n for (let i = 0; i < Ti.length; i++)\n Ti[i] ^= u[i];\n });\n }\n return pbkdf2Output(PRF, PRFSalt, DK, prfW, u);\n}\n//# sourceMappingURL=pbkdf2.js.map","import { exists, output } from './_assert.js';\nimport { Hash, createView, toBytes } from './utils.js';\n// Polyfill for Safari 14\nfunction setBigUint64(view, byteOffset, value, isLE) {\n if (typeof view.setBigUint64 === 'function')\n return view.setBigUint64(byteOffset, value, isLE);\n const _32n = BigInt(32);\n const _u32_max = BigInt(0xffffffff);\n const wh = Number((value >> _32n) & _u32_max);\n const wl = Number(value & _u32_max);\n const h = isLE ? 4 : 0;\n const l = isLE ? 0 : 4;\n view.setUint32(byteOffset + h, wh, isLE);\n view.setUint32(byteOffset + l, wl, isLE);\n}\n// Base SHA2 class (RFC 6234)\nexport class SHA2 extends Hash {\n constructor(blockLen, outputLen, padOffset, isLE) {\n super();\n this.blockLen = blockLen;\n this.outputLen = outputLen;\n this.padOffset = padOffset;\n this.isLE = isLE;\n this.finished = false;\n this.length = 0;\n this.pos = 0;\n this.destroyed = false;\n this.buffer = new Uint8Array(blockLen);\n this.view = createView(this.buffer);\n }\n update(data) {\n exists(this);\n const { view, buffer, blockLen } = this;\n data = toBytes(data);\n const len = data.length;\n for (let pos = 0; pos < len;) {\n const take = Math.min(blockLen - this.pos, len - pos);\n // Fast path: we have at least one block in input, cast it to view and process\n if (take === blockLen) {\n const dataView = createView(data);\n for (; blockLen <= len - pos; pos += blockLen)\n this.process(dataView, pos);\n continue;\n }\n buffer.set(data.subarray(pos, pos + take), this.pos);\n this.pos += take;\n pos += take;\n if (this.pos === blockLen) {\n this.process(view, 0);\n this.pos = 0;\n }\n }\n this.length += data.length;\n this.roundClean();\n return this;\n }\n digestInto(out) {\n exists(this);\n output(out, this);\n this.finished = true;\n // Padding\n // We can avoid allocation of buffer for padding completely if it\n // was previously not allocated here. But it won't change performance.\n const { buffer, view, blockLen, isLE } = this;\n let { pos } = this;\n // append the bit '1' to the message\n buffer[pos++] = 0b10000000;\n this.buffer.subarray(pos).fill(0);\n // we have less than padOffset left in buffer, so we cannot put length in current block, need process it and pad again\n if (this.padOffset > blockLen - pos) {\n this.process(view, 0);\n pos = 0;\n }\n // Pad until full block byte with zeros\n for (let i = pos; i < blockLen; i++)\n buffer[i] = 0;\n // Note: sha512 requires length to be 128bit integer, but length in JS will overflow before that\n // You need to write around 2 exabytes (u64_max / 8 / (1024**6)) for this to happen.\n // So we just write lowest 64 bits of that value.\n setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE);\n this.process(view, 0);\n const oview = createView(out);\n const len = this.outputLen;\n // NOTE: we do division by 4 later, which should be fused in single op with modulo by JIT\n if (len % 4)\n throw new Error('_sha2: outputLen should be aligned to 32bit');\n const outLen = len / 4;\n const state = this.get();\n if (outLen > state.length)\n throw new Error('_sha2: outputLen bigger than state');\n for (let i = 0; i < outLen; i++)\n oview.setUint32(4 * i, state[i], isLE);\n }\n digest() {\n const { buffer, outputLen } = this;\n this.digestInto(buffer);\n const res = buffer.slice(0, outputLen);\n this.destroy();\n return res;\n }\n _cloneInto(to) {\n to || (to = new this.constructor());\n to.set(...this.get());\n const { blockLen, buffer, length, finished, destroyed, pos } = this;\n to.length = length;\n to.pos = pos;\n to.finished = finished;\n to.destroyed = destroyed;\n if (length % blockLen)\n to.buffer.set(buffer);\n return to;\n }\n}\n//# sourceMappingURL=_sha2.js.map","import { SHA2 } from './_sha2.js';\nimport { rotr, wrapConstructor } from './utils.js';\n// SHA2-256 need to try 2^128 hashes to execute birthday attack.\n// BTC network is doing 2^67 hashes/sec as per early 2023.\n// Choice: a ? b : c\nconst Chi = (a, b, c) => (a & b) ^ (~a & c);\n// Majority function, true if any two inpust is true\nconst Maj = (a, b, c) => (a & b) ^ (a & c) ^ (b & c);\n// Round constants:\n// first 32 bits of the fractional parts of the cube roots of the first 64 primes 2..311)\n// prettier-ignore\nconst SHA256_K = /* @__PURE__ */ new Uint32Array([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n]);\n// Initial state (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):\n// prettier-ignore\nconst IV = /* @__PURE__ */ new Uint32Array([\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n]);\n// Temporary buffer, not used to store anything between runs\n// Named this way because it matches specification.\nconst SHA256_W = /* @__PURE__ */ new Uint32Array(64);\nclass SHA256 extends SHA2 {\n constructor() {\n super(64, 32, 8, false);\n // We cannot use array here since array allows indexing by variable\n // which means optimizer/compiler cannot use registers.\n this.A = IV[0] | 0;\n this.B = IV[1] | 0;\n this.C = IV[2] | 0;\n this.D = IV[3] | 0;\n this.E = IV[4] | 0;\n this.F = IV[5] | 0;\n this.G = IV[6] | 0;\n this.H = IV[7] | 0;\n }\n get() {\n const { A, B, C, D, E, F, G, H } = this;\n return [A, B, C, D, E, F, G, H];\n }\n // prettier-ignore\n set(A, B, C, D, E, F, G, H) {\n this.A = A | 0;\n this.B = B | 0;\n this.C = C | 0;\n this.D = D | 0;\n this.E = E | 0;\n this.F = F | 0;\n this.G = G | 0;\n this.H = H | 0;\n }\n process(view, offset) {\n // Extend the first 16 words into the remaining 48 words w[16..63] of the message schedule array\n for (let i = 0; i < 16; i++, offset += 4)\n SHA256_W[i] = view.getUint32(offset, false);\n for (let i = 16; i < 64; i++) {\n const W15 = SHA256_W[i - 15];\n const W2 = SHA256_W[i - 2];\n const s0 = rotr(W15, 7) ^ rotr(W15, 18) ^ (W15 >>> 3);\n const s1 = rotr(W2, 17) ^ rotr(W2, 19) ^ (W2 >>> 10);\n SHA256_W[i] = (s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16]) | 0;\n }\n // Compression function main loop, 64 rounds\n let { A, B, C, D, E, F, G, H } = this;\n for (let i = 0; i < 64; i++) {\n const sigma1 = rotr(E, 6) ^ rotr(E, 11) ^ rotr(E, 25);\n const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;\n const sigma0 = rotr(A, 2) ^ rotr(A, 13) ^ rotr(A, 22);\n const T2 = (sigma0 + Maj(A, B, C)) | 0;\n H = G;\n G = F;\n F = E;\n E = (D + T1) | 0;\n D = C;\n C = B;\n B = A;\n A = (T1 + T2) | 0;\n }\n // Add the compressed chunk to the current hash value\n A = (A + this.A) | 0;\n B = (B + this.B) | 0;\n C = (C + this.C) | 0;\n D = (D + this.D) | 0;\n E = (E + this.E) | 0;\n F = (F + this.F) | 0;\n G = (G + this.G) | 0;\n H = (H + this.H) | 0;\n this.set(A, B, C, D, E, F, G, H);\n }\n roundClean() {\n SHA256_W.fill(0);\n }\n destroy() {\n this.set(0, 0, 0, 0, 0, 0, 0, 0);\n this.buffer.fill(0);\n }\n}\n// Constants from https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf\nclass SHA224 extends SHA256 {\n constructor() {\n super();\n this.A = 0xc1059ed8 | 0;\n this.B = 0x367cd507 | 0;\n this.C = 0x3070dd17 | 0;\n this.D = 0xf70e5939 | 0;\n this.E = 0xffc00b31 | 0;\n this.F = 0x68581511 | 0;\n this.G = 0x64f98fa7 | 0;\n this.H = 0xbefa4fa4 | 0;\n this.outputLen = 28;\n }\n}\n/**\n * SHA2-256 hash function\n * @param message - data that would be hashed\n */\nexport const sha256 = /* @__PURE__ */ wrapConstructor(() => new SHA256());\nexport const sha224 = /* @__PURE__ */ wrapConstructor(() => new SHA224());\n//# sourceMappingURL=sha256.js.map","const U32_MASK64 = /* @__PURE__ */ BigInt(2 ** 32 - 1);\nconst _32n = /* @__PURE__ */ BigInt(32);\n// We are not using BigUint64Array, because they are extremely slow as per 2022\nfunction fromBig(n, le = false) {\n if (le)\n return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };\n return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };\n}\nfunction split(lst, le = false) {\n let Ah = new Uint32Array(lst.length);\n let Al = new Uint32Array(lst.length);\n for (let i = 0; i < lst.length; i++) {\n const { h, l } = fromBig(lst[i], le);\n [Ah[i], Al[i]] = [h, l];\n }\n return [Ah, Al];\n}\nconst toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);\n// for Shift in [0, 32)\nconst shrSH = (h, _l, s) => h >>> s;\nconst shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in [1, 32)\nconst rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s));\nconst rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32));\nconst rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s));\n// Right rotate for shift===32 (just swaps l&h)\nconst rotr32H = (_h, l) => l;\nconst rotr32L = (h, _l) => h;\n// Left rotate for Shift in [1, 32)\nconst rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s));\nconst rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s));\n// Left rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s));\nconst rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s));\n// JS uses 32-bit signed integers for bitwise operations which means we cannot\n// simple take carry out of low bit sum by shift, we need to use division.\nfunction add(Ah, Al, Bh, Bl) {\n const l = (Al >>> 0) + (Bl >>> 0);\n return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };\n}\n// Addition with more than 2 elements\nconst add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);\nconst add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;\nconst add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);\nconst add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;\nconst add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);\nconst add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;\n// prettier-ignore\nexport { fromBig, split, toBig, shrSH, shrSL, rotrSH, rotrSL, rotrBH, rotrBL, rotr32H, rotr32L, rotlSH, rotlSL, rotlBH, rotlBL, add, add3L, add3H, add4L, add4H, add5H, add5L, };\n// prettier-ignore\nconst u64 = {\n fromBig, split, toBig,\n shrSH, shrSL,\n rotrSH, rotrSL, rotrBH, rotrBL,\n rotr32H, rotr32L,\n rotlSH, rotlSL, rotlBH, rotlBL,\n add, add3L, add3H, add4L, add4H, add5H, add5L,\n};\nexport default u64;\n//# sourceMappingURL=_u64.js.map","import { SHA2 } from './_sha2.js';\nimport u64 from './_u64.js';\nimport { wrapConstructor } from './utils.js';\n// Round contants (first 32 bits of the fractional parts of the cube roots of the first 80 primes 2..409):\n// prettier-ignore\nconst [SHA512_Kh, SHA512_Kl] = /* @__PURE__ */ (() => u64.split([\n '0x428a2f98d728ae22', '0x7137449123ef65cd', '0xb5c0fbcfec4d3b2f', '0xe9b5dba58189dbbc',\n '0x3956c25bf348b538', '0x59f111f1b605d019', '0x923f82a4af194f9b', '0xab1c5ed5da6d8118',\n '0xd807aa98a3030242', '0x12835b0145706fbe', '0x243185be4ee4b28c', '0x550c7dc3d5ffb4e2',\n '0x72be5d74f27b896f', '0x80deb1fe3b1696b1', '0x9bdc06a725c71235', '0xc19bf174cf692694',\n '0xe49b69c19ef14ad2', '0xefbe4786384f25e3', '0x0fc19dc68b8cd5b5', '0x240ca1cc77ac9c65',\n '0x2de92c6f592b0275', '0x4a7484aa6ea6e483', '0x5cb0a9dcbd41fbd4', '0x76f988da831153b5',\n '0x983e5152ee66dfab', '0xa831c66d2db43210', '0xb00327c898fb213f', '0xbf597fc7beef0ee4',\n '0xc6e00bf33da88fc2', '0xd5a79147930aa725', '0x06ca6351e003826f', '0x142929670a0e6e70',\n '0x27b70a8546d22ffc', '0x2e1b21385c26c926', '0x4d2c6dfc5ac42aed', '0x53380d139d95b3df',\n '0x650a73548baf63de', '0x766a0abb3c77b2a8', '0x81c2c92e47edaee6', '0x92722c851482353b',\n '0xa2bfe8a14cf10364', '0xa81a664bbc423001', '0xc24b8b70d0f89791', '0xc76c51a30654be30',\n '0xd192e819d6ef5218', '0xd69906245565a910', '0xf40e35855771202a', '0x106aa07032bbd1b8',\n '0x19a4c116b8d2d0c8', '0x1e376c085141ab53', '0x2748774cdf8eeb99', '0x34b0bcb5e19b48a8',\n '0x391c0cb3c5c95a63', '0x4ed8aa4ae3418acb', '0x5b9cca4f7763e373', '0x682e6ff3d6b2b8a3',\n '0x748f82ee5defb2fc', '0x78a5636f43172f60', '0x84c87814a1f0ab72', '0x8cc702081a6439ec',\n '0x90befffa23631e28', '0xa4506cebde82bde9', '0xbef9a3f7b2c67915', '0xc67178f2e372532b',\n '0xca273eceea26619c', '0xd186b8c721c0c207', '0xeada7dd6cde0eb1e', '0xf57d4f7fee6ed178',\n '0x06f067aa72176fba', '0x0a637dc5a2c898a6', '0x113f9804bef90dae', '0x1b710b35131c471b',\n '0x28db77f523047d84', '0x32caab7b40c72493', '0x3c9ebe0a15c9bebc', '0x431d67c49c100d4c',\n '0x4cc5d4becb3e42b6', '0x597f299cfc657e2a', '0x5fcb6fab3ad6faec', '0x6c44198c4a475817'\n].map(n => BigInt(n))))();\n// Temporary buffer, not used to store anything between runs\nconst SHA512_W_H = /* @__PURE__ */ new Uint32Array(80);\nconst SHA512_W_L = /* @__PURE__ */ new Uint32Array(80);\nexport class SHA512 extends SHA2 {\n constructor() {\n super(128, 64, 16, false);\n // We cannot use array here since array allows indexing by variable which means optimizer/compiler cannot use registers.\n // Also looks cleaner and easier to verify with spec.\n // Initial state (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):\n // h -- high 32 bits, l -- low 32 bits\n this.Ah = 0x6a09e667 | 0;\n this.Al = 0xf3bcc908 | 0;\n this.Bh = 0xbb67ae85 | 0;\n this.Bl = 0x84caa73b | 0;\n this.Ch = 0x3c6ef372 | 0;\n this.Cl = 0xfe94f82b | 0;\n this.Dh = 0xa54ff53a | 0;\n this.Dl = 0x5f1d36f1 | 0;\n this.Eh = 0x510e527f | 0;\n this.El = 0xade682d1 | 0;\n this.Fh = 0x9b05688c | 0;\n this.Fl = 0x2b3e6c1f | 0;\n this.Gh = 0x1f83d9ab | 0;\n this.Gl = 0xfb41bd6b | 0;\n this.Hh = 0x5be0cd19 | 0;\n this.Hl = 0x137e2179 | 0;\n }\n // prettier-ignore\n get() {\n const { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this;\n return [Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl];\n }\n // prettier-ignore\n set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl) {\n this.Ah = Ah | 0;\n this.Al = Al | 0;\n this.Bh = Bh | 0;\n this.Bl = Bl | 0;\n this.Ch = Ch | 0;\n this.Cl = Cl | 0;\n this.Dh = Dh | 0;\n this.Dl = Dl | 0;\n this.Eh = Eh | 0;\n this.El = El | 0;\n this.Fh = Fh | 0;\n this.Fl = Fl | 0;\n this.Gh = Gh | 0;\n this.Gl = Gl | 0;\n this.Hh = Hh | 0;\n this.Hl = Hl | 0;\n }\n process(view, offset) {\n // Extend the first 16 words into the remaining 64 words w[16..79] of the message schedule array\n for (let i = 0; i < 16; i++, offset += 4) {\n SHA512_W_H[i] = view.getUint32(offset);\n SHA512_W_L[i] = view.getUint32((offset += 4));\n }\n for (let i = 16; i < 80; i++) {\n // s0 := (w[i-15] rightrotate 1) xor (w[i-15] rightrotate 8) xor (w[i-15] rightshift 7)\n const W15h = SHA512_W_H[i - 15] | 0;\n const W15l = SHA512_W_L[i - 15] | 0;\n const s0h = u64.rotrSH(W15h, W15l, 1) ^ u64.rotrSH(W15h, W15l, 8) ^ u64.shrSH(W15h, W15l, 7);\n const s0l = u64.rotrSL(W15h, W15l, 1) ^ u64.rotrSL(W15h, W15l, 8) ^ u64.shrSL(W15h, W15l, 7);\n // s1 := (w[i-2] rightrotate 19) xor (w[i-2] rightrotate 61) xor (w[i-2] rightshift 6)\n const W2h = SHA512_W_H[i - 2] | 0;\n const W2l = SHA512_W_L[i - 2] | 0;\n const s1h = u64.rotrSH(W2h, W2l, 19) ^ u64.rotrBH(W2h, W2l, 61) ^ u64.shrSH(W2h, W2l, 6);\n const s1l = u64.rotrSL(W2h, W2l, 19) ^ u64.rotrBL(W2h, W2l, 61) ^ u64.shrSL(W2h, W2l, 6);\n // SHA256_W[i] = s0 + s1 + SHA256_W[i - 7] + SHA256_W[i - 16];\n const SUMl = u64.add4L(s0l, s1l, SHA512_W_L[i - 7], SHA512_W_L[i - 16]);\n const SUMh = u64.add4H(SUMl, s0h, s1h, SHA512_W_H[i - 7], SHA512_W_H[i - 16]);\n SHA512_W_H[i] = SUMh | 0;\n SHA512_W_L[i] = SUMl | 0;\n }\n let { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this;\n // Compression function main loop, 80 rounds\n for (let i = 0; i < 80; i++) {\n // S1 := (e rightrotate 14) xor (e rightrotate 18) xor (e rightrotate 41)\n const sigma1h = u64.rotrSH(Eh, El, 14) ^ u64.rotrSH(Eh, El, 18) ^ u64.rotrBH(Eh, El, 41);\n const sigma1l = u64.rotrSL(Eh, El, 14) ^ u64.rotrSL(Eh, El, 18) ^ u64.rotrBL(Eh, El, 41);\n //const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;\n const CHIh = (Eh & Fh) ^ (~Eh & Gh);\n const CHIl = (El & Fl) ^ (~El & Gl);\n // T1 = H + sigma1 + Chi(E, F, G) + SHA512_K[i] + SHA512_W[i]\n // prettier-ignore\n const T1ll = u64.add5L(Hl, sigma1l, CHIl, SHA512_Kl[i], SHA512_W_L[i]);\n const T1h = u64.add5H(T1ll, Hh, sigma1h, CHIh, SHA512_Kh[i], SHA512_W_H[i]);\n const T1l = T1ll | 0;\n // S0 := (a rightrotate 28) xor (a rightrotate 34) xor (a rightrotate 39)\n const sigma0h = u64.rotrSH(Ah, Al, 28) ^ u64.rotrBH(Ah, Al, 34) ^ u64.rotrBH(Ah, Al, 39);\n const sigma0l = u64.rotrSL(Ah, Al, 28) ^ u64.rotrBL(Ah, Al, 34) ^ u64.rotrBL(Ah, Al, 39);\n const MAJh = (Ah & Bh) ^ (Ah & Ch) ^ (Bh & Ch);\n const MAJl = (Al & Bl) ^ (Al & Cl) ^ (Bl & Cl);\n Hh = Gh | 0;\n Hl = Gl | 0;\n Gh = Fh | 0;\n Gl = Fl | 0;\n Fh = Eh | 0;\n Fl = El | 0;\n ({ h: Eh, l: El } = u64.add(Dh | 0, Dl | 0, T1h | 0, T1l | 0));\n Dh = Ch | 0;\n Dl = Cl | 0;\n Ch = Bh | 0;\n Cl = Bl | 0;\n Bh = Ah | 0;\n Bl = Al | 0;\n const All = u64.add3L(T1l, sigma0l, MAJl);\n Ah = u64.add3H(All, T1h, sigma0h, MAJh);\n Al = All | 0;\n }\n // Add the compressed chunk to the current hash value\n ({ h: Ah, l: Al } = u64.add(this.Ah | 0, this.Al | 0, Ah | 0, Al | 0));\n ({ h: Bh, l: Bl } = u64.add(this.Bh | 0, this.Bl | 0, Bh | 0, Bl | 0));\n ({ h: Ch, l: Cl } = u64.add(this.Ch | 0, this.Cl | 0, Ch | 0, Cl | 0));\n ({ h: Dh, l: Dl } = u64.add(this.Dh | 0, this.Dl | 0, Dh | 0, Dl | 0));\n ({ h: Eh, l: El } = u64.add(this.Eh | 0, this.El | 0, Eh | 0, El | 0));\n ({ h: Fh, l: Fl } = u64.add(this.Fh | 0, this.Fl | 0, Fh | 0, Fl | 0));\n ({ h: Gh, l: Gl } = u64.add(this.Gh | 0, this.Gl | 0, Gh | 0, Gl | 0));\n ({ h: Hh, l: Hl } = u64.add(this.Hh | 0, this.Hl | 0, Hh | 0, Hl | 0));\n this.set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl);\n }\n roundClean() {\n SHA512_W_H.fill(0);\n SHA512_W_L.fill(0);\n }\n destroy() {\n this.buffer.fill(0);\n this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);\n }\n}\nclass SHA512_224 extends SHA512 {\n constructor() {\n super();\n // h -- high 32 bits, l -- low 32 bits\n this.Ah = 0x8c3d37c8 | 0;\n this.Al = 0x19544da2 | 0;\n this.Bh = 0x73e19966 | 0;\n this.Bl = 0x89dcd4d6 | 0;\n this.Ch = 0x1dfab7ae | 0;\n this.Cl = 0x32ff9c82 | 0;\n this.Dh = 0x679dd514 | 0;\n this.Dl = 0x582f9fcf | 0;\n this.Eh = 0x0f6d2b69 | 0;\n this.El = 0x7bd44da8 | 0;\n this.Fh = 0x77e36f73 | 0;\n this.Fl = 0x04c48942 | 0;\n this.Gh = 0x3f9d85a8 | 0;\n this.Gl = 0x6a1d36c8 | 0;\n this.Hh = 0x1112e6ad | 0;\n this.Hl = 0x91d692a1 | 0;\n this.outputLen = 28;\n }\n}\nclass SHA512_256 extends SHA512 {\n constructor() {\n super();\n // h -- high 32 bits, l -- low 32 bits\n this.Ah = 0x22312194 | 0;\n this.Al = 0xfc2bf72c | 0;\n this.Bh = 0x9f555fa3 | 0;\n this.Bl = 0xc84c64c2 | 0;\n this.Ch = 0x2393b86b | 0;\n this.Cl = 0x6f53b151 | 0;\n this.Dh = 0x96387719 | 0;\n this.Dl = 0x5940eabd | 0;\n this.Eh = 0x96283ee2 | 0;\n this.El = 0xa88effe3 | 0;\n this.Fh = 0xbe5e1e25 | 0;\n this.Fl = 0x53863992 | 0;\n this.Gh = 0x2b0199fc | 0;\n this.Gl = 0x2c85b8aa | 0;\n this.Hh = 0x0eb72ddc | 0;\n this.Hl = 0x81c52ca2 | 0;\n this.outputLen = 32;\n }\n}\nclass SHA384 extends SHA512 {\n constructor() {\n super();\n // h -- high 32 bits, l -- low 32 bits\n this.Ah = 0xcbbb9d5d | 0;\n this.Al = 0xc1059ed8 | 0;\n this.Bh = 0x629a292a | 0;\n this.Bl = 0x367cd507 | 0;\n this.Ch = 0x9159015a | 0;\n this.Cl = 0x3070dd17 | 0;\n this.Dh = 0x152fecd8 | 0;\n this.Dl = 0xf70e5939 | 0;\n this.Eh = 0x67332667 | 0;\n this.El = 0xffc00b31 | 0;\n this.Fh = 0x8eb44a87 | 0;\n this.Fl = 0x68581511 | 0;\n this.Gh = 0xdb0c2e0d | 0;\n this.Gl = 0x64f98fa7 | 0;\n this.Hh = 0x47b5481d | 0;\n this.Hl = 0xbefa4fa4 | 0;\n this.outputLen = 48;\n }\n}\nexport const sha512 = /* @__PURE__ */ wrapConstructor(() => new SHA512());\nexport const sha512_224 = /* @__PURE__ */ wrapConstructor(() => new SHA512_224());\nexport const sha512_256 = /* @__PURE__ */ wrapConstructor(() => new SHA512_256());\nexport const sha384 = /* @__PURE__ */ wrapConstructor(() => new SHA384());\n//# sourceMappingURL=sha512.js.map","/* Browser Crypto Shims */\nimport { hmac } from \"@noble/hashes/hmac\";\nimport { pbkdf2 } from \"@noble/hashes/pbkdf2\";\nimport { sha256 } from \"@noble/hashes/sha256\";\nimport { sha512 } from \"@noble/hashes/sha512\";\nimport { assert, assertArgument } from \"../utils/index.js\";\nfunction getGlobal() {\n if (typeof self !== 'undefined') {\n return self;\n }\n if (typeof window !== 'undefined') {\n return window;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n throw new Error('unable to locate global object');\n}\n;\nconst anyGlobal = getGlobal();\nconst crypto = anyGlobal.crypto || anyGlobal.msCrypto;\nexport function createHash(algo) {\n switch (algo) {\n case \"sha256\": return sha256.create();\n case \"sha512\": return sha512.create();\n }\n assertArgument(false, \"invalid hashing algorithm name\", \"algorithm\", algo);\n}\nexport function createHmac(_algo, key) {\n const algo = ({ sha256, sha512 }[_algo]);\n assertArgument(algo != null, \"invalid hmac algorithm\", \"algorithm\", _algo);\n return hmac.create(algo, key);\n}\nexport function pbkdf2Sync(password, salt, iterations, keylen, _algo) {\n const algo = ({ sha256, sha512 }[_algo]);\n assertArgument(algo != null, \"invalid pbkdf2 algorithm\", \"algorithm\", _algo);\n return pbkdf2(algo, password, salt, { c: iterations, dkLen: keylen });\n}\nexport function randomBytes(length) {\n assert(crypto != null, \"platform does not support secure random numbers\", \"UNSUPPORTED_OPERATION\", {\n operation: \"randomBytes\"\n });\n assertArgument(Number.isInteger(length) && length > 0 && length <= 1024, \"invalid length\", \"length\", length);\n const result = new Uint8Array(length);\n crypto.getRandomValues(result);\n return result;\n}\n//# sourceMappingURL=crypto-browser.js.map","/**\n * An **HMAC** enables verification that a given key was used\n * to authenticate a payload.\n *\n * See: [[link-wiki-hmac]]\n *\n * @_subsection: api/crypto:HMAC [about-hmac]\n */\nimport { createHmac } from \"./crypto.js\";\nimport { getBytes, hexlify } from \"../utils/index.js\";\nlet locked = false;\nconst _computeHmac = function (algorithm, key, data) {\n return createHmac(algorithm, key).update(data).digest();\n};\nlet __computeHmac = _computeHmac;\n/**\n * Return the HMAC for %%data%% using the %%key%% key with the underlying\n * %%algo%% used for compression.\n *\n * @example:\n * key = id(\"some-secret\")\n *\n * // Compute the HMAC\n * computeHmac(\"sha256\", key, \"0x1337\")\n * //_result:\n *\n * // To compute the HMAC of UTF-8 data, the data must be\n * // converted to UTF-8 bytes\n * computeHmac(\"sha256\", key, toUtf8Bytes(\"Hello World\"))\n * //_result:\n *\n */\nexport function computeHmac(algorithm, _key, _data) {\n const key = getBytes(_key, \"key\");\n const data = getBytes(_data, \"data\");\n return hexlify(__computeHmac(algorithm, key, data));\n}\ncomputeHmac._ = _computeHmac;\ncomputeHmac.lock = function () { locked = true; };\ncomputeHmac.register = function (func) {\n if (locked) {\n throw new Error(\"computeHmac is locked\");\n }\n __computeHmac = func;\n};\nObject.freeze(computeHmac);\n//# sourceMappingURL=hmac.js.map","import { bytes, exists, number, output } from './_assert.js';\nimport { rotlBH, rotlBL, rotlSH, rotlSL, split } from './_u64.js';\nimport { Hash, u32, toBytes, wrapConstructor, wrapXOFConstructorWithOpts, } from './utils.js';\n// SHA3 (keccak) is based on a new design: basically, the internal state is bigger than output size.\n// It's called a sponge function.\n// Various per round constants calculations\nconst [SHA3_PI, SHA3_ROTL, _SHA3_IOTA] = [[], [], []];\nconst _0n = /* @__PURE__ */ BigInt(0);\nconst _1n = /* @__PURE__ */ BigInt(1);\nconst _2n = /* @__PURE__ */ BigInt(2);\nconst _7n = /* @__PURE__ */ BigInt(7);\nconst _256n = /* @__PURE__ */ BigInt(256);\nconst _0x71n = /* @__PURE__ */ BigInt(0x71);\nfor (let round = 0, R = _1n, x = 1, y = 0; round < 24; round++) {\n // Pi\n [x, y] = [y, (2 * x + 3 * y) % 5];\n SHA3_PI.push(2 * (5 * y + x));\n // Rotational\n SHA3_ROTL.push((((round + 1) * (round + 2)) / 2) % 64);\n // Iota\n let t = _0n;\n for (let j = 0; j < 7; j++) {\n R = ((R << _1n) ^ ((R >> _7n) * _0x71n)) % _256n;\n if (R & _2n)\n t ^= _1n << ((_1n << /* @__PURE__ */ BigInt(j)) - _1n);\n }\n _SHA3_IOTA.push(t);\n}\nconst [SHA3_IOTA_H, SHA3_IOTA_L] = /* @__PURE__ */ split(_SHA3_IOTA, true);\n// Left rotation (without 0, 32, 64)\nconst rotlH = (h, l, s) => (s > 32 ? rotlBH(h, l, s) : rotlSH(h, l, s));\nconst rotlL = (h, l, s) => (s > 32 ? rotlBL(h, l, s) : rotlSL(h, l, s));\n// Same as keccakf1600, but allows to skip some rounds\nexport function keccakP(s, rounds = 24) {\n const B = new Uint32Array(5 * 2);\n // NOTE: all indices are x2 since we store state as u32 instead of u64 (bigints to slow in js)\n for (let round = 24 - rounds; round < 24; round++) {\n // Theta θ\n for (let x = 0; x < 10; x++)\n B[x] = s[x] ^ s[x + 10] ^ s[x + 20] ^ s[x + 30] ^ s[x + 40];\n for (let x = 0; x < 10; x += 2) {\n const idx1 = (x + 8) % 10;\n const idx0 = (x + 2) % 10;\n const B0 = B[idx0];\n const B1 = B[idx0 + 1];\n const Th = rotlH(B0, B1, 1) ^ B[idx1];\n const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1];\n for (let y = 0; y < 50; y += 10) {\n s[x + y] ^= Th;\n s[x + y + 1] ^= Tl;\n }\n }\n // Rho (ρ) and Pi (π)\n let curH = s[2];\n let curL = s[3];\n for (let t = 0; t < 24; t++) {\n const shift = SHA3_ROTL[t];\n const Th = rotlH(curH, curL, shift);\n const Tl = rotlL(curH, curL, shift);\n const PI = SHA3_PI[t];\n curH = s[PI];\n curL = s[PI + 1];\n s[PI] = Th;\n s[PI + 1] = Tl;\n }\n // Chi (χ)\n for (let y = 0; y < 50; y += 10) {\n for (let x = 0; x < 10; x++)\n B[x] = s[y + x];\n for (let x = 0; x < 10; x++)\n s[y + x] ^= ~B[(x + 2) % 10] & B[(x + 4) % 10];\n }\n // Iota (ι)\n s[0] ^= SHA3_IOTA_H[round];\n s[1] ^= SHA3_IOTA_L[round];\n }\n B.fill(0);\n}\nexport class Keccak extends Hash {\n // NOTE: we accept arguments in bytes instead of bits here.\n constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) {\n super();\n this.blockLen = blockLen;\n this.suffix = suffix;\n this.outputLen = outputLen;\n this.enableXOF = enableXOF;\n this.rounds = rounds;\n this.pos = 0;\n this.posOut = 0;\n this.finished = false;\n this.destroyed = false;\n // Can be passed from user as dkLen\n number(outputLen);\n // 1600 = 5x5 matrix of 64bit. 1600 bits === 200 bytes\n if (0 >= this.blockLen || this.blockLen >= 200)\n throw new Error('Sha3 supports only keccak-f1600 function');\n this.state = new Uint8Array(200);\n this.state32 = u32(this.state);\n }\n keccak() {\n keccakP(this.state32, this.rounds);\n this.posOut = 0;\n this.pos = 0;\n }\n update(data) {\n exists(this);\n const { blockLen, state } = this;\n data = toBytes(data);\n const len = data.length;\n for (let pos = 0; pos < len;) {\n const take = Math.min(blockLen - this.pos, len - pos);\n for (let i = 0; i < take; i++)\n state[this.pos++] ^= data[pos++];\n if (this.pos === blockLen)\n this.keccak();\n }\n return this;\n }\n finish() {\n if (this.finished)\n return;\n this.finished = true;\n const { state, suffix, pos, blockLen } = this;\n // Do the padding\n state[pos] ^= suffix;\n if ((suffix & 0x80) !== 0 && pos === blockLen - 1)\n this.keccak();\n state[blockLen - 1] ^= 0x80;\n this.keccak();\n }\n writeInto(out) {\n exists(this, false);\n bytes(out);\n this.finish();\n const bufferOut = this.state;\n const { blockLen } = this;\n for (let pos = 0, len = out.length; pos < len;) {\n if (this.posOut >= blockLen)\n this.keccak();\n const take = Math.min(blockLen - this.posOut, len - pos);\n out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos);\n this.posOut += take;\n pos += take;\n }\n return out;\n }\n xofInto(out) {\n // Sha3/Keccak usage with XOF is probably mistake, only SHAKE instances can do XOF\n if (!this.enableXOF)\n throw new Error('XOF is not possible for this instance');\n return this.writeInto(out);\n }\n xof(bytes) {\n number(bytes);\n return this.xofInto(new Uint8Array(bytes));\n }\n digestInto(out) {\n output(out, this);\n if (this.finished)\n throw new Error('digest() was already called');\n this.writeInto(out);\n this.destroy();\n return out;\n }\n digest() {\n return this.digestInto(new Uint8Array(this.outputLen));\n }\n destroy() {\n this.destroyed = true;\n this.state.fill(0);\n }\n _cloneInto(to) {\n const { blockLen, suffix, outputLen, rounds, enableXOF } = this;\n to || (to = new Keccak(blockLen, suffix, outputLen, enableXOF, rounds));\n to.state32.set(this.state32);\n to.pos = this.pos;\n to.posOut = this.posOut;\n to.finished = this.finished;\n to.rounds = rounds;\n // Suffix can change in cSHAKE\n to.suffix = suffix;\n to.outputLen = outputLen;\n to.enableXOF = enableXOF;\n to.destroyed = this.destroyed;\n return to;\n }\n}\nconst gen = (suffix, blockLen, outputLen) => wrapConstructor(() => new Keccak(blockLen, suffix, outputLen));\nexport const sha3_224 = /* @__PURE__ */ gen(0x06, 144, 224 / 8);\n/**\n * SHA3-256 hash function\n * @param message - that would be hashed\n */\nexport const sha3_256 = /* @__PURE__ */ gen(0x06, 136, 256 / 8);\nexport const sha3_384 = /* @__PURE__ */ gen(0x06, 104, 384 / 8);\nexport const sha3_512 = /* @__PURE__ */ gen(0x06, 72, 512 / 8);\nexport const keccak_224 = /* @__PURE__ */ gen(0x01, 144, 224 / 8);\n/**\n * keccak-256 hash function. Different from SHA3-256.\n * @param message - that would be hashed\n */\nexport const keccak_256 = /* @__PURE__ */ gen(0x01, 136, 256 / 8);\nexport const keccak_384 = /* @__PURE__ */ gen(0x01, 104, 384 / 8);\nexport const keccak_512 = /* @__PURE__ */ gen(0x01, 72, 512 / 8);\nconst genShake = (suffix, blockLen, outputLen) => wrapXOFConstructorWithOpts((opts = {}) => new Keccak(blockLen, suffix, opts.dkLen === undefined ? outputLen : opts.dkLen, true));\nexport const shake128 = /* @__PURE__ */ genShake(0x1f, 168, 128 / 8);\nexport const shake256 = /* @__PURE__ */ genShake(0x1f, 136, 256 / 8);\n//# sourceMappingURL=sha3.js.map","/**\n * Cryptographic hashing functions\n *\n * @_subsection: api/crypto:Hash Functions [about-crypto-hashing]\n */\nimport { keccak_256 } from \"@noble/hashes/sha3\";\nimport { getBytes, hexlify } from \"../utils/index.js\";\nlet locked = false;\nconst _keccak256 = function (data) {\n return keccak_256(data);\n};\nlet __keccak256 = _keccak256;\n/**\n * Compute the cryptographic KECCAK256 hash of %%data%%.\n *\n * The %%data%% **must** be a data representation, to compute the\n * hash of UTF-8 data use the [[id]] function.\n *\n * @returns DataHexstring\n * @example:\n * keccak256(\"0x\")\n * //_result:\n *\n * keccak256(\"0x1337\")\n * //_result:\n *\n * keccak256(new Uint8Array([ 0x13, 0x37 ]))\n * //_result:\n *\n * // Strings are assumed to be DataHexString, otherwise it will\n * // throw. To hash UTF-8 data, see the note above.\n * keccak256(\"Hello World\")\n * //_error:\n */\nexport function keccak256(_data) {\n const data = getBytes(_data, \"data\");\n return hexlify(__keccak256(data));\n}\nkeccak256._ = _keccak256;\nkeccak256.lock = function () { locked = true; };\nkeccak256.register = function (func) {\n if (locked) {\n throw new TypeError(\"keccak256 is locked\");\n }\n __keccak256 = func;\n};\nObject.freeze(keccak256);\n//# sourceMappingURL=keccak.js.map","import { SHA2 } from './_sha2.js';\nimport { wrapConstructor } from './utils.js';\n// https://homes.esat.kuleuven.be/~bosselae/ripemd160.html\n// https://homes.esat.kuleuven.be/~bosselae/ripemd160/pdf/AB-9601/AB-9601.pdf\nconst Rho = /* @__PURE__ */ new Uint8Array([7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8]);\nconst Id = /* @__PURE__ */ Uint8Array.from({ length: 16 }, (_, i) => i);\nconst Pi = /* @__PURE__ */ Id.map((i) => (9 * i + 5) % 16);\nlet idxL = [Id];\nlet idxR = [Pi];\nfor (let i = 0; i < 4; i++)\n for (let j of [idxL, idxR])\n j.push(j[i].map((k) => Rho[k]));\nconst shifts = /* @__PURE__ */ [\n [11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8],\n [12, 13, 11, 15, 6, 9, 9, 7, 12, 15, 11, 13, 7, 8, 7, 7],\n [13, 15, 14, 11, 7, 7, 6, 8, 13, 14, 13, 12, 5, 5, 6, 9],\n [14, 11, 12, 14, 8, 6, 5, 5, 15, 12, 15, 14, 9, 9, 8, 6],\n [15, 12, 13, 13, 9, 5, 8, 6, 14, 11, 12, 11, 8, 6, 5, 5],\n].map((i) => new Uint8Array(i));\nconst shiftsL = /* @__PURE__ */ idxL.map((idx, i) => idx.map((j) => shifts[i][j]));\nconst shiftsR = /* @__PURE__ */ idxR.map((idx, i) => idx.map((j) => shifts[i][j]));\nconst Kl = /* @__PURE__ */ new Uint32Array([\n 0x00000000, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e,\n]);\nconst Kr = /* @__PURE__ */ new Uint32Array([\n 0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0x00000000,\n]);\n// The rotate left (circular left shift) operation for uint32\nconst rotl = (word, shift) => (word << shift) | (word >>> (32 - shift));\n// It's called f() in spec.\nfunction f(group, x, y, z) {\n if (group === 0)\n return x ^ y ^ z;\n else if (group === 1)\n return (x & y) | (~x & z);\n else if (group === 2)\n return (x | ~y) ^ z;\n else if (group === 3)\n return (x & z) | (y & ~z);\n else\n return x ^ (y | ~z);\n}\n// Temporary buffer, not used to store anything between runs\nconst BUF = /* @__PURE__ */ new Uint32Array(16);\nexport class RIPEMD160 extends SHA2 {\n constructor() {\n super(64, 20, 8, true);\n this.h0 = 0x67452301 | 0;\n this.h1 = 0xefcdab89 | 0;\n this.h2 = 0x98badcfe | 0;\n this.h3 = 0x10325476 | 0;\n this.h4 = 0xc3d2e1f0 | 0;\n }\n get() {\n const { h0, h1, h2, h3, h4 } = this;\n return [h0, h1, h2, h3, h4];\n }\n set(h0, h1, h2, h3, h4) {\n this.h0 = h0 | 0;\n this.h1 = h1 | 0;\n this.h2 = h2 | 0;\n this.h3 = h3 | 0;\n this.h4 = h4 | 0;\n }\n process(view, offset) {\n for (let i = 0; i < 16; i++, offset += 4)\n BUF[i] = view.getUint32(offset, true);\n // prettier-ignore\n let al = this.h0 | 0, ar = al, bl = this.h1 | 0, br = bl, cl = this.h2 | 0, cr = cl, dl = this.h3 | 0, dr = dl, el = this.h4 | 0, er = el;\n // Instead of iterating 0 to 80, we split it into 5 groups\n // And use the groups in constants, functions, etc. Much simpler\n for (let group = 0; group < 5; group++) {\n const rGroup = 4 - group;\n const hbl = Kl[group], hbr = Kr[group]; // prettier-ignore\n const rl = idxL[group], rr = idxR[group]; // prettier-ignore\n const sl = shiftsL[group], sr = shiftsR[group]; // prettier-ignore\n for (let i = 0; i < 16; i++) {\n const tl = (rotl(al + f(group, bl, cl, dl) + BUF[rl[i]] + hbl, sl[i]) + el) | 0;\n al = el, el = dl, dl = rotl(cl, 10) | 0, cl = bl, bl = tl; // prettier-ignore\n }\n // 2 loops are 10% faster\n for (let i = 0; i < 16; i++) {\n const tr = (rotl(ar + f(rGroup, br, cr, dr) + BUF[rr[i]] + hbr, sr[i]) + er) | 0;\n ar = er, er = dr, dr = rotl(cr, 10) | 0, cr = br, br = tr; // prettier-ignore\n }\n }\n // Add the compressed chunk to the current hash value\n this.set((this.h1 + cl + dr) | 0, (this.h2 + dl + er) | 0, (this.h3 + el + ar) | 0, (this.h4 + al + br) | 0, (this.h0 + bl + cr) | 0);\n }\n roundClean() {\n BUF.fill(0);\n }\n destroy() {\n this.destroyed = true;\n this.buffer.fill(0);\n this.set(0, 0, 0, 0, 0);\n }\n}\n/**\n * RIPEMD-160 - a hash function from 1990s.\n * @param message - msg that would be hashed\n */\nexport const ripemd160 = /* @__PURE__ */ wrapConstructor(() => new RIPEMD160());\n//# sourceMappingURL=ripemd160.js.map","import { ripemd160 as noble_ripemd160 } from \"@noble/hashes/ripemd160\";\nimport { getBytes, hexlify } from \"../utils/index.js\";\nlet locked = false;\nconst _ripemd160 = function (data) {\n return noble_ripemd160(data);\n};\nlet __ripemd160 = _ripemd160;\n/**\n * Compute the cryptographic RIPEMD-160 hash of %%data%%.\n *\n * @_docloc: api/crypto:Hash Functions\n * @returns DataHexstring\n *\n * @example:\n * ripemd160(\"0x\")\n * //_result:\n *\n * ripemd160(\"0x1337\")\n * //_result:\n *\n * ripemd160(new Uint8Array([ 0x13, 0x37 ]))\n * //_result:\n *\n */\nexport function ripemd160(_data) {\n const data = getBytes(_data, \"data\");\n return hexlify(__ripemd160(data));\n}\nripemd160._ = _ripemd160;\nripemd160.lock = function () { locked = true; };\nripemd160.register = function (func) {\n if (locked) {\n throw new TypeError(\"ripemd160 is locked\");\n }\n __ripemd160 = func;\n};\nObject.freeze(ripemd160);\n//# sourceMappingURL=ripemd160.js.map","/**\n * A **Password-Based Key-Derivation Function** is designed to create\n * a sequence of bytes suitible as a **key** from a human-rememberable\n * password.\n *\n * @_subsection: api/crypto:Passwords [about-pbkdf]\n */\nimport { pbkdf2Sync } from \"./crypto.js\";\nimport { getBytes, hexlify } from \"../utils/index.js\";\nlet locked = false;\nconst _pbkdf2 = function (password, salt, iterations, keylen, algo) {\n return pbkdf2Sync(password, salt, iterations, keylen, algo);\n};\nlet __pbkdf2 = _pbkdf2;\n/**\n * Return the [[link-pbkdf2]] for %%keylen%% bytes for %%password%% using\n * the %%salt%% and using %%iterations%% of %%algo%%.\n *\n * This PBKDF is outdated and should not be used in new projects, but is\n * required to decrypt older files.\n *\n * @example:\n * // The password must be converted to bytes, and it is generally\n * // best practices to ensure the string has been normalized. Many\n * // formats explicitly indicate the normalization form to use.\n * password = \"hello\"\n * passwordBytes = toUtf8Bytes(password, \"NFKC\")\n *\n * salt = id(\"some-salt\")\n *\n * // Compute the PBKDF2\n * pbkdf2(passwordBytes, salt, 1024, 16, \"sha256\")\n * //_result:\n */\nexport function pbkdf2(_password, _salt, iterations, keylen, algo) {\n const password = getBytes(_password, \"password\");\n const salt = getBytes(_salt, \"salt\");\n return hexlify(__pbkdf2(password, salt, iterations, keylen, algo));\n}\npbkdf2._ = _pbkdf2;\npbkdf2.lock = function () { locked = true; };\npbkdf2.register = function (func) {\n if (locked) {\n throw new Error(\"pbkdf2 is locked\");\n }\n __pbkdf2 = func;\n};\nObject.freeze(pbkdf2);\n//# sourceMappingURL=pbkdf2.js.map","/**\n * A **Cryptographically Secure Random Value** is one that has been\n * generated with additional care take to prevent side-channels\n * from allowing others to detect it and prevent others from through\n * coincidence generate the same values.\n *\n * @_subsection: api/crypto:Random Values [about-crypto-random]\n */\nimport { randomBytes as crypto_random } from \"./crypto.js\";\nlet locked = false;\nconst _randomBytes = function (length) {\n return new Uint8Array(crypto_random(length));\n};\nlet __randomBytes = _randomBytes;\n/**\n * Return %%length%% bytes of cryptographically secure random data.\n *\n * @example:\n * randomBytes(8)\n * //_result:\n */\nexport function randomBytes(length) {\n return __randomBytes(length);\n}\nrandomBytes._ = _randomBytes;\nrandomBytes.lock = function () { locked = true; };\nrandomBytes.register = function (func) {\n if (locked) {\n throw new Error(\"randomBytes is locked\");\n }\n __randomBytes = func;\n};\nObject.freeze(randomBytes);\n//# sourceMappingURL=random.js.map","import { number as assertNumber } from './_assert.js';\nimport { sha256 } from './sha256.js';\nimport { pbkdf2 } from './pbkdf2.js';\nimport { asyncLoop, checkOpts, u32 } from './utils.js';\n// RFC 7914 Scrypt KDF\n// Left rotate for uint32\nconst rotl = (a, b) => (a << b) | (a >>> (32 - b));\n// The main Scrypt loop: uses Salsa extensively.\n// Six versions of the function were tried, this is the fastest one.\n// prettier-ignore\nfunction XorAndSalsa(prev, pi, input, ii, out, oi) {\n // Based on https://cr.yp.to/salsa20.html\n // Xor blocks\n let y00 = prev[pi++] ^ input[ii++], y01 = prev[pi++] ^ input[ii++];\n let y02 = prev[pi++] ^ input[ii++], y03 = prev[pi++] ^ input[ii++];\n let y04 = prev[pi++] ^ input[ii++], y05 = prev[pi++] ^ input[ii++];\n let y06 = prev[pi++] ^ input[ii++], y07 = prev[pi++] ^ input[ii++];\n let y08 = prev[pi++] ^ input[ii++], y09 = prev[pi++] ^ input[ii++];\n let y10 = prev[pi++] ^ input[ii++], y11 = prev[pi++] ^ input[ii++];\n let y12 = prev[pi++] ^ input[ii++], y13 = prev[pi++] ^ input[ii++];\n let y14 = prev[pi++] ^ input[ii++], y15 = prev[pi++] ^ input[ii++];\n // Save state to temporary variables (salsa)\n let x00 = y00, x01 = y01, x02 = y02, x03 = y03, x04 = y04, x05 = y05, x06 = y06, x07 = y07, x08 = y08, x09 = y09, x10 = y10, x11 = y11, x12 = y12, x13 = y13, x14 = y14, x15 = y15;\n // Main loop (salsa)\n for (let i = 0; i < 8; i += 2) {\n x04 ^= rotl(x00 + x12 | 0, 7);\n x08 ^= rotl(x04 + x00 | 0, 9);\n x12 ^= rotl(x08 + x04 | 0, 13);\n x00 ^= rotl(x12 + x08 | 0, 18);\n x09 ^= rotl(x05 + x01 | 0, 7);\n x13 ^= rotl(x09 + x05 | 0, 9);\n x01 ^= rotl(x13 + x09 | 0, 13);\n x05 ^= rotl(x01 + x13 | 0, 18);\n x14 ^= rotl(x10 + x06 | 0, 7);\n x02 ^= rotl(x14 + x10 | 0, 9);\n x06 ^= rotl(x02 + x14 | 0, 13);\n x10 ^= rotl(x06 + x02 | 0, 18);\n x03 ^= rotl(x15 + x11 | 0, 7);\n x07 ^= rotl(x03 + x15 | 0, 9);\n x11 ^= rotl(x07 + x03 | 0, 13);\n x15 ^= rotl(x11 + x07 | 0, 18);\n x01 ^= rotl(x00 + x03 | 0, 7);\n x02 ^= rotl(x01 + x00 | 0, 9);\n x03 ^= rotl(x02 + x01 | 0, 13);\n x00 ^= rotl(x03 + x02 | 0, 18);\n x06 ^= rotl(x05 + x04 | 0, 7);\n x07 ^= rotl(x06 + x05 | 0, 9);\n x04 ^= rotl(x07 + x06 | 0, 13);\n x05 ^= rotl(x04 + x07 | 0, 18);\n x11 ^= rotl(x10 + x09 | 0, 7);\n x08 ^= rotl(x11 + x10 | 0, 9);\n x09 ^= rotl(x08 + x11 | 0, 13);\n x10 ^= rotl(x09 + x08 | 0, 18);\n x12 ^= rotl(x15 + x14 | 0, 7);\n x13 ^= rotl(x12 + x15 | 0, 9);\n x14 ^= rotl(x13 + x12 | 0, 13);\n x15 ^= rotl(x14 + x13 | 0, 18);\n }\n // Write output (salsa)\n out[oi++] = (y00 + x00) | 0;\n out[oi++] = (y01 + x01) | 0;\n out[oi++] = (y02 + x02) | 0;\n out[oi++] = (y03 + x03) | 0;\n out[oi++] = (y04 + x04) | 0;\n out[oi++] = (y05 + x05) | 0;\n out[oi++] = (y06 + x06) | 0;\n out[oi++] = (y07 + x07) | 0;\n out[oi++] = (y08 + x08) | 0;\n out[oi++] = (y09 + x09) | 0;\n out[oi++] = (y10 + x10) | 0;\n out[oi++] = (y11 + x11) | 0;\n out[oi++] = (y12 + x12) | 0;\n out[oi++] = (y13 + x13) | 0;\n out[oi++] = (y14 + x14) | 0;\n out[oi++] = (y15 + x15) | 0;\n}\nfunction BlockMix(input, ii, out, oi, r) {\n // The block B is r 128-byte chunks (which is equivalent of 2r 64-byte chunks)\n let head = oi + 0;\n let tail = oi + 16 * r;\n for (let i = 0; i < 16; i++)\n out[tail + i] = input[ii + (2 * r - 1) * 16 + i]; // X ← B[2r−1]\n for (let i = 0; i < r; i++, head += 16, ii += 16) {\n // We write odd & even Yi at same time. Even: 0bXXXXX0 Odd: 0bXXXXX1\n XorAndSalsa(out, tail, input, ii, out, head); // head[i] = Salsa(blockIn[2*i] ^ tail[i-1])\n if (i > 0)\n tail += 16; // First iteration overwrites tmp value in tail\n XorAndSalsa(out, head, input, (ii += 16), out, tail); // tail[i] = Salsa(blockIn[2*i+1] ^ head[i])\n }\n}\n// Common prologue and epilogue for sync/async functions\nfunction scryptInit(password, salt, _opts) {\n // Maxmem - 1GB+1KB by default\n const opts = checkOpts({\n dkLen: 32,\n asyncTick: 10,\n maxmem: 1024 ** 3 + 1024,\n }, _opts);\n const { N, r, p, dkLen, asyncTick, maxmem, onProgress } = opts;\n assertNumber(N);\n assertNumber(r);\n assertNumber(p);\n assertNumber(dkLen);\n assertNumber(asyncTick);\n assertNumber(maxmem);\n if (onProgress !== undefined && typeof onProgress !== 'function')\n throw new Error('progressCb should be function');\n const blockSize = 128 * r;\n const blockSize32 = blockSize / 4;\n if (N <= 1 || (N & (N - 1)) !== 0 || N >= 2 ** (blockSize / 8) || N > 2 ** 32) {\n // NOTE: we limit N to be less than 2**32 because of 32 bit variant of Integrify function\n // There is no JS engines that allows alocate more than 4GB per single Uint8Array for now, but can change in future.\n throw new Error('Scrypt: N must be larger than 1, a power of 2, less than 2^(128 * r / 8) and less than 2^32');\n }\n if (p < 0 || p > ((2 ** 32 - 1) * 32) / blockSize) {\n throw new Error('Scrypt: p must be a positive integer less than or equal to ((2^32 - 1) * 32) / (128 * r)');\n }\n if (dkLen < 0 || dkLen > (2 ** 32 - 1) * 32) {\n throw new Error('Scrypt: dkLen should be positive integer less than or equal to (2^32 - 1) * 32');\n }\n const memUsed = blockSize * (N + p);\n if (memUsed > maxmem) {\n throw new Error(`Scrypt: parameters too large, ${memUsed} (128 * r * (N + p)) > ${maxmem} (maxmem)`);\n }\n // [B0...Bp−1] ← PBKDF2HMAC-SHA256(Passphrase, Salt, 1, blockSize*ParallelizationFactor)\n // Since it has only one iteration there is no reason to use async variant\n const B = pbkdf2(sha256, password, salt, { c: 1, dkLen: blockSize * p });\n const B32 = u32(B);\n // Re-used between parallel iterations. Array(iterations) of B\n const V = u32(new Uint8Array(blockSize * N));\n const tmp = u32(new Uint8Array(blockSize));\n let blockMixCb = () => { };\n if (onProgress) {\n const totalBlockMix = 2 * N * p;\n // Invoke callback if progress changes from 10.01 to 10.02\n // Allows to draw smooth progress bar on up to 8K screen\n const callbackPer = Math.max(Math.floor(totalBlockMix / 10000), 1);\n let blockMixCnt = 0;\n blockMixCb = () => {\n blockMixCnt++;\n if (onProgress && (!(blockMixCnt % callbackPer) || blockMixCnt === totalBlockMix))\n onProgress(blockMixCnt / totalBlockMix);\n };\n }\n return { N, r, p, dkLen, blockSize32, V, B32, B, tmp, blockMixCb, asyncTick };\n}\nfunction scryptOutput(password, dkLen, B, V, tmp) {\n const res = pbkdf2(sha256, password, B, { c: 1, dkLen });\n B.fill(0);\n V.fill(0);\n tmp.fill(0);\n return res;\n}\n/**\n * Scrypt KDF from RFC 7914.\n * @param password - pass\n * @param salt - salt\n * @param opts - parameters\n * - `N` is cpu/mem work factor (power of 2 e.g. 2**18)\n * - `r` is block size (8 is common), fine-tunes sequential memory read size and performance\n * - `p` is parallelization factor (1 is common)\n * - `dkLen` is output key length in bytes e.g. 32.\n * - `asyncTick` - (default: 10) max time in ms for which async function can block execution\n * - `maxmem` - (default: `1024 ** 3 + 1024` aka 1GB+1KB). A limit that the app could use for scrypt\n * - `onProgress` - callback function that would be executed for progress report\n * @returns Derived key\n */\nexport function scrypt(password, salt, opts) {\n const { N, r, p, dkLen, blockSize32, V, B32, B, tmp, blockMixCb } = scryptInit(password, salt, opts);\n for (let pi = 0; pi < p; pi++) {\n const Pi = blockSize32 * pi;\n for (let i = 0; i < blockSize32; i++)\n V[i] = B32[Pi + i]; // V[0] = B[i]\n for (let i = 0, pos = 0; i < N - 1; i++) {\n BlockMix(V, pos, V, (pos += blockSize32), r); // V[i] = BlockMix(V[i-1]);\n blockMixCb();\n }\n BlockMix(V, (N - 1) * blockSize32, B32, Pi, r); // Process last element\n blockMixCb();\n for (let i = 0; i < N; i++) {\n // First u32 of the last 64-byte block (u32 is LE)\n const j = B32[Pi + blockSize32 - 16] % N; // j = Integrify(X) % iterations\n for (let k = 0; k < blockSize32; k++)\n tmp[k] = B32[Pi + k] ^ V[j * blockSize32 + k]; // tmp = B ^ V[j]\n BlockMix(tmp, 0, B32, Pi, r); // B = BlockMix(B ^ V[j])\n blockMixCb();\n }\n }\n return scryptOutput(password, dkLen, B, V, tmp);\n}\n/**\n * Scrypt KDF from RFC 7914.\n */\nexport async function scryptAsync(password, salt, opts) {\n const { N, r, p, dkLen, blockSize32, V, B32, B, tmp, blockMixCb, asyncTick } = scryptInit(password, salt, opts);\n for (let pi = 0; pi < p; pi++) {\n const Pi = blockSize32 * pi;\n for (let i = 0; i < blockSize32; i++)\n V[i] = B32[Pi + i]; // V[0] = B[i]\n let pos = 0;\n await asyncLoop(N - 1, asyncTick, () => {\n BlockMix(V, pos, V, (pos += blockSize32), r); // V[i] = BlockMix(V[i-1]);\n blockMixCb();\n });\n BlockMix(V, (N - 1) * blockSize32, B32, Pi, r); // Process last element\n blockMixCb();\n await asyncLoop(N, asyncTick, () => {\n // First u32 of the last 64-byte block (u32 is LE)\n const j = B32[Pi + blockSize32 - 16] % N; // j = Integrify(X) % iterations\n for (let k = 0; k < blockSize32; k++)\n tmp[k] = B32[Pi + k] ^ V[j * blockSize32 + k]; // tmp = B ^ V[j]\n BlockMix(tmp, 0, B32, Pi, r); // B = BlockMix(B ^ V[j])\n blockMixCb();\n });\n }\n return scryptOutput(password, dkLen, B, V, tmp);\n}\n//# sourceMappingURL=scrypt.js.map","import { scrypt as _nobleSync, scryptAsync as _nobleAsync } from \"@noble/hashes/scrypt\";\nimport { getBytes, hexlify as H } from \"../utils/index.js\";\nlet lockedSync = false, lockedAsync = false;\nconst _scryptAsync = async function (passwd, salt, N, r, p, dkLen, onProgress) {\n return await _nobleAsync(passwd, salt, { N, r, p, dkLen, onProgress });\n};\nconst _scryptSync = function (passwd, salt, N, r, p, dkLen) {\n return _nobleSync(passwd, salt, { N, r, p, dkLen });\n};\nlet __scryptAsync = _scryptAsync;\nlet __scryptSync = _scryptSync;\n/**\n * The [[link-wiki-scrypt]] uses a memory and cpu hard method of\n * derivation to increase the resource cost to brute-force a password\n * for a given key.\n *\n * This means this algorithm is intentionally slow, and can be tuned to\n * become slower. As computation and memory speed improve over time,\n * increasing the difficulty maintains the cost of an attacker.\n *\n * For example, if a target time of 5 seconds is used, a legitimate user\n * which knows their password requires only 5 seconds to unlock their\n * account. A 6 character password has 68 billion possibilities, which\n * would require an attacker to invest over 10,000 years of CPU time. This\n * is of course a crude example (as password generally aren't random),\n * but demonstrates to value of imposing large costs to decryption.\n *\n * For this reason, if building a UI which involved decrypting or\n * encrypting datsa using scrypt, it is recommended to use a\n * [[ProgressCallback]] (as event short periods can seem lik an eternity\n * if the UI freezes). Including the phrase //\"decrypting\"// in the UI\n * can also help, assuring the user their waiting is for a good reason.\n *\n * @_docloc: api/crypto:Passwords\n *\n * @example:\n * // The password must be converted to bytes, and it is generally\n * // best practices to ensure the string has been normalized. Many\n * // formats explicitly indicate the normalization form to use.\n * password = \"hello\"\n * passwordBytes = toUtf8Bytes(password, \"NFKC\")\n *\n * salt = id(\"some-salt\")\n *\n * // Compute the scrypt\n * scrypt(passwordBytes, salt, 1024, 8, 1, 16)\n * //_result:\n */\nexport async function scrypt(_passwd, _salt, N, r, p, dkLen, progress) {\n const passwd = getBytes(_passwd, \"passwd\");\n const salt = getBytes(_salt, \"salt\");\n return H(await __scryptAsync(passwd, salt, N, r, p, dkLen, progress));\n}\nscrypt._ = _scryptAsync;\nscrypt.lock = function () { lockedAsync = true; };\nscrypt.register = function (func) {\n if (lockedAsync) {\n throw new Error(\"scrypt is locked\");\n }\n __scryptAsync = func;\n};\nObject.freeze(scrypt);\n/**\n * Provides a synchronous variant of [[scrypt]].\n *\n * This will completely lock up and freeze the UI in a browser and will\n * prevent any event loop from progressing. For this reason, it is\n * preferred to use the [async variant](scrypt).\n *\n * @_docloc: api/crypto:Passwords\n *\n * @example:\n * // The password must be converted to bytes, and it is generally\n * // best practices to ensure the string has been normalized. Many\n * // formats explicitly indicate the normalization form to use.\n * password = \"hello\"\n * passwordBytes = toUtf8Bytes(password, \"NFKC\")\n *\n * salt = id(\"some-salt\")\n *\n * // Compute the scrypt\n * scryptSync(passwordBytes, salt, 1024, 8, 1, 16)\n * //_result:\n */\nexport function scryptSync(_passwd, _salt, N, r, p, dkLen) {\n const passwd = getBytes(_passwd, \"passwd\");\n const salt = getBytes(_salt, \"salt\");\n return H(__scryptSync(passwd, salt, N, r, p, dkLen));\n}\nscryptSync._ = _scryptSync;\nscryptSync.lock = function () { lockedSync = true; };\nscryptSync.register = function (func) {\n if (lockedSync) {\n throw new Error(\"scryptSync is locked\");\n }\n __scryptSync = func;\n};\nObject.freeze(scryptSync);\n//# sourceMappingURL=scrypt.js.map","import { createHash } from \"./crypto.js\";\nimport { getBytes, hexlify } from \"../utils/index.js\";\nconst _sha256 = function (data) {\n return createHash(\"sha256\").update(data).digest();\n};\nconst _sha512 = function (data) {\n return createHash(\"sha512\").update(data).digest();\n};\nlet __sha256 = _sha256;\nlet __sha512 = _sha512;\nlet locked256 = false, locked512 = false;\n/**\n * Compute the cryptographic SHA2-256 hash of %%data%%.\n *\n * @_docloc: api/crypto:Hash Functions\n * @returns DataHexstring\n *\n * @example:\n * sha256(\"0x\")\n * //_result:\n *\n * sha256(\"0x1337\")\n * //_result:\n *\n * sha256(new Uint8Array([ 0x13, 0x37 ]))\n * //_result:\n *\n */\nexport function sha256(_data) {\n const data = getBytes(_data, \"data\");\n return hexlify(__sha256(data));\n}\nsha256._ = _sha256;\nsha256.lock = function () { locked256 = true; };\nsha256.register = function (func) {\n if (locked256) {\n throw new Error(\"sha256 is locked\");\n }\n __sha256 = func;\n};\nObject.freeze(sha256);\n/**\n * Compute the cryptographic SHA2-512 hash of %%data%%.\n *\n * @_docloc: api/crypto:Hash Functions\n * @returns DataHexstring\n *\n * @example:\n * sha512(\"0x\")\n * //_result:\n *\n * sha512(\"0x1337\")\n * //_result:\n *\n * sha512(new Uint8Array([ 0x13, 0x37 ]))\n * //_result:\n */\nexport function sha512(_data) {\n const data = getBytes(_data, \"data\");\n return hexlify(__sha512(data));\n}\nsha512._ = _sha512;\nsha512.lock = function () { locked512 = true; };\nsha512.register = function (func) {\n if (locked512) {\n throw new Error(\"sha512 is locked\");\n }\n __sha512 = func;\n};\nObject.freeze(sha256);\n//# sourceMappingURL=sha2.js.map","/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n// 100 lines of code in the file are duplicated from noble-hashes (utils).\n// This is OK: `abstract` directory does not use noble-hashes.\n// User may opt-in into using different hashing library. This way, noble-hashes\n// won't be included into their bundle.\nconst _0n = BigInt(0);\nconst _1n = BigInt(1);\nconst _2n = BigInt(2);\nconst u8a = (a) => a instanceof Uint8Array;\nconst hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, '0'));\n/**\n * @example bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])) // 'cafe0123'\n */\nexport function bytesToHex(bytes) {\n if (!u8a(bytes))\n throw new Error('Uint8Array expected');\n // pre-caching improves the speed 6x\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n hex += hexes[bytes[i]];\n }\n return hex;\n}\nexport function numberToHexUnpadded(num) {\n const hex = num.toString(16);\n return hex.length & 1 ? `0${hex}` : hex;\n}\nexport function hexToNumber(hex) {\n if (typeof hex !== 'string')\n throw new Error('hex string expected, got ' + typeof hex);\n // Big Endian\n return BigInt(hex === '' ? '0' : `0x${hex}`);\n}\n/**\n * @example hexToBytes('cafe0123') // Uint8Array.from([0xca, 0xfe, 0x01, 0x23])\n */\nexport function hexToBytes(hex) {\n if (typeof hex !== 'string')\n throw new Error('hex string expected, got ' + typeof hex);\n const len = hex.length;\n if (len % 2)\n throw new Error('padded hex string expected, got unpadded hex of length ' + len);\n const array = new Uint8Array(len / 2);\n for (let i = 0; i < array.length; i++) {\n const j = i * 2;\n const hexByte = hex.slice(j, j + 2);\n const byte = Number.parseInt(hexByte, 16);\n if (Number.isNaN(byte) || byte < 0)\n throw new Error('Invalid byte sequence');\n array[i] = byte;\n }\n return array;\n}\n// BE: Big Endian, LE: Little Endian\nexport function bytesToNumberBE(bytes) {\n return hexToNumber(bytesToHex(bytes));\n}\nexport function bytesToNumberLE(bytes) {\n if (!u8a(bytes))\n throw new Error('Uint8Array expected');\n return hexToNumber(bytesToHex(Uint8Array.from(bytes).reverse()));\n}\nexport function numberToBytesBE(n, len) {\n return hexToBytes(n.toString(16).padStart(len * 2, '0'));\n}\nexport function numberToBytesLE(n, len) {\n return numberToBytesBE(n, len).reverse();\n}\n// Unpadded, rarely used\nexport function numberToVarBytesBE(n) {\n return hexToBytes(numberToHexUnpadded(n));\n}\n/**\n * Takes hex string or Uint8Array, converts to Uint8Array.\n * Validates output length.\n * Will throw error for other types.\n * @param title descriptive title for an error e.g. 'private key'\n * @param hex hex string or Uint8Array\n * @param expectedLength optional, will compare to result array's length\n * @returns\n */\nexport function ensureBytes(title, hex, expectedLength) {\n let res;\n if (typeof hex === 'string') {\n try {\n res = hexToBytes(hex);\n }\n catch (e) {\n throw new Error(`${title} must be valid hex string, got \"${hex}\". Cause: ${e}`);\n }\n }\n else if (u8a(hex)) {\n // Uint8Array.from() instead of hash.slice() because node.js Buffer\n // is instance of Uint8Array, and its slice() creates **mutable** copy\n res = Uint8Array.from(hex);\n }\n else {\n throw new Error(`${title} must be hex string or Uint8Array`);\n }\n const len = res.length;\n if (typeof expectedLength === 'number' && len !== expectedLength)\n throw new Error(`${title} expected ${expectedLength} bytes, got ${len}`);\n return res;\n}\n/**\n * Copies several Uint8Arrays into one.\n */\nexport function concatBytes(...arrays) {\n const r = new Uint8Array(arrays.reduce((sum, a) => sum + a.length, 0));\n let pad = 0; // walk through each item, ensure they have proper type\n arrays.forEach((a) => {\n if (!u8a(a))\n throw new Error('Uint8Array expected');\n r.set(a, pad);\n pad += a.length;\n });\n return r;\n}\nexport function equalBytes(b1, b2) {\n // We don't care about timing attacks here\n if (b1.length !== b2.length)\n return false;\n for (let i = 0; i < b1.length; i++)\n if (b1[i] !== b2[i])\n return false;\n return true;\n}\n/**\n * @example utf8ToBytes('abc') // new Uint8Array([97, 98, 99])\n */\nexport function utf8ToBytes(str) {\n if (typeof str !== 'string')\n throw new Error(`utf8ToBytes expected string, got ${typeof str}`);\n return new Uint8Array(new TextEncoder().encode(str)); // https://bugzil.la/1681809\n}\n// Bit operations\n/**\n * Calculates amount of bits in a bigint.\n * Same as `n.toString(2).length`\n */\nexport function bitLen(n) {\n let len;\n for (len = 0; n > _0n; n >>= _1n, len += 1)\n ;\n return len;\n}\n/**\n * Gets single bit at position.\n * NOTE: first bit position is 0 (same as arrays)\n * Same as `!!+Array.from(n.toString(2)).reverse()[pos]`\n */\nexport function bitGet(n, pos) {\n return (n >> BigInt(pos)) & _1n;\n}\n/**\n * Sets single bit at position.\n */\nexport const bitSet = (n, pos, value) => {\n return n | ((value ? _1n : _0n) << BigInt(pos));\n};\n/**\n * Calculate mask for N bits. Not using ** operator with bigints because of old engines.\n * Same as BigInt(`0b${Array(i).fill('1').join('')}`)\n */\nexport const bitMask = (n) => (_2n << BigInt(n - 1)) - _1n;\n// DRBG\nconst u8n = (data) => new Uint8Array(data); // creates Uint8Array\nconst u8fr = (arr) => Uint8Array.from(arr); // another shortcut\n/**\n * Minimal HMAC-DRBG from NIST 800-90 for RFC6979 sigs.\n * @returns function that will call DRBG until 2nd arg returns something meaningful\n * @example\n * const drbg = createHmacDRBG(32, 32, hmac);\n * drbg(seed, bytesToKey); // bytesToKey must return Key or undefined\n */\nexport function createHmacDrbg(hashLen, qByteLen, hmacFn) {\n if (typeof hashLen !== 'number' || hashLen < 2)\n throw new Error('hashLen must be a number');\n if (typeof qByteLen !== 'number' || qByteLen < 2)\n throw new Error('qByteLen must be a number');\n if (typeof hmacFn !== 'function')\n throw new Error('hmacFn must be a function');\n // Step B, Step C: set hashLen to 8*ceil(hlen/8)\n let v = u8n(hashLen); // Minimal non-full-spec HMAC-DRBG from NIST 800-90 for RFC6979 sigs.\n let k = u8n(hashLen); // Steps B and C of RFC6979 3.2: set hashLen, in our case always same\n let i = 0; // Iterations counter, will throw when over 1000\n const reset = () => {\n v.fill(1);\n k.fill(0);\n i = 0;\n };\n const h = (...b) => hmacFn(k, v, ...b); // hmac(k)(v, ...values)\n const reseed = (seed = u8n()) => {\n // HMAC-DRBG reseed() function. Steps D-G\n k = h(u8fr([0x00]), seed); // k = hmac(k || v || 0x00 || seed)\n v = h(); // v = hmac(k || v)\n if (seed.length === 0)\n return;\n k = h(u8fr([0x01]), seed); // k = hmac(k || v || 0x01 || seed)\n v = h(); // v = hmac(k || v)\n };\n const gen = () => {\n // HMAC-DRBG generate() function\n if (i++ >= 1000)\n throw new Error('drbg: tried 1000 values');\n let len = 0;\n const out = [];\n while (len < qByteLen) {\n v = h();\n const sl = v.slice();\n out.push(sl);\n len += v.length;\n }\n return concatBytes(...out);\n };\n const genUntil = (seed, pred) => {\n reset();\n reseed(seed); // Steps D-G\n let res = undefined; // Step H: grind until k is in [1..n-1]\n while (!(res = pred(gen())))\n reseed();\n reset();\n return res;\n };\n return genUntil;\n}\n// Validating curves and fields\nconst validatorFns = {\n bigint: (val) => typeof val === 'bigint',\n function: (val) => typeof val === 'function',\n boolean: (val) => typeof val === 'boolean',\n string: (val) => typeof val === 'string',\n stringOrUint8Array: (val) => typeof val === 'string' || val instanceof Uint8Array,\n isSafeInteger: (val) => Number.isSafeInteger(val),\n array: (val) => Array.isArray(val),\n field: (val, object) => object.Fp.isValid(val),\n hash: (val) => typeof val === 'function' && Number.isSafeInteger(val.outputLen),\n};\n// type Record = { [P in K]: T; }\nexport function validateObject(object, validators, optValidators = {}) {\n const checkField = (fieldName, type, isOptional) => {\n const checkVal = validatorFns[type];\n if (typeof checkVal !== 'function')\n throw new Error(`Invalid validator \"${type}\", expected function`);\n const val = object[fieldName];\n if (isOptional && val === undefined)\n return;\n if (!checkVal(val, object)) {\n throw new Error(`Invalid param ${String(fieldName)}=${val} (${typeof val}), expected ${type}`);\n }\n };\n for (const [fieldName, type] of Object.entries(validators))\n checkField(fieldName, type, false);\n for (const [fieldName, type] of Object.entries(optValidators))\n checkField(fieldName, type, true);\n return object;\n}\n// validate type tests\n// const o: { a: number; b: number; c: number } = { a: 1, b: 5, c: 6 };\n// const z0 = validateObject(o, { a: 'isSafeInteger' }, { c: 'bigint' }); // Ok!\n// // Should fail type-check\n// const z1 = validateObject(o, { a: 'tmp' }, { c: 'zz' });\n// const z2 = validateObject(o, { a: 'isSafeInteger' }, { c: 'zz' });\n// const z3 = validateObject(o, { test: 'boolean', z: 'bug' });\n// const z4 = validateObject(o, { a: 'boolean', z: 'bug' });\n//# sourceMappingURL=utils.js.map","/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n// Utilities for modular arithmetics and finite fields\nimport { bitMask, numberToBytesBE, numberToBytesLE, bytesToNumberBE, bytesToNumberLE, ensureBytes, validateObject, } from './utils.js';\n// prettier-ignore\nconst _0n = BigInt(0), _1n = BigInt(1), _2n = BigInt(2), _3n = BigInt(3);\n// prettier-ignore\nconst _4n = BigInt(4), _5n = BigInt(5), _8n = BigInt(8);\n// prettier-ignore\nconst _9n = BigInt(9), _16n = BigInt(16);\n// Calculates a modulo b\nexport function mod(a, b) {\n const result = a % b;\n return result >= _0n ? result : b + result;\n}\n/**\n * Efficiently raise num to power and do modular division.\n * Unsafe in some contexts: uses ladder, so can expose bigint bits.\n * @example\n * pow(2n, 6n, 11n) // 64n % 11n == 9n\n */\n// TODO: use field version && remove\nexport function pow(num, power, modulo) {\n if (modulo <= _0n || power < _0n)\n throw new Error('Expected power/modulo > 0');\n if (modulo === _1n)\n return _0n;\n let res = _1n;\n while (power > _0n) {\n if (power & _1n)\n res = (res * num) % modulo;\n num = (num * num) % modulo;\n power >>= _1n;\n }\n return res;\n}\n// Does x ^ (2 ^ power) mod p. pow2(30, 4) == 30 ^ (2 ^ 4)\nexport function pow2(x, power, modulo) {\n let res = x;\n while (power-- > _0n) {\n res *= res;\n res %= modulo;\n }\n return res;\n}\n// Inverses number over modulo\nexport function invert(number, modulo) {\n if (number === _0n || modulo <= _0n) {\n throw new Error(`invert: expected positive integers, got n=${number} mod=${modulo}`);\n }\n // Euclidean GCD https://brilliant.org/wiki/extended-euclidean-algorithm/\n // Fermat's little theorem \"CT-like\" version inv(n) = n^(m-2) mod m is 30x slower.\n let a = mod(number, modulo);\n let b = modulo;\n // prettier-ignore\n let x = _0n, y = _1n, u = _1n, v = _0n;\n while (a !== _0n) {\n // JIT applies optimization if those two lines follow each other\n const q = b / a;\n const r = b % a;\n const m = x - u * q;\n const n = y - v * q;\n // prettier-ignore\n b = a, a = r, x = u, y = v, u = m, v = n;\n }\n const gcd = b;\n if (gcd !== _1n)\n throw new Error('invert: does not exist');\n return mod(x, modulo);\n}\n/**\n * Tonelli-Shanks square root search algorithm.\n * 1. https://eprint.iacr.org/2012/685.pdf (page 12)\n * 2. Square Roots from 1; 24, 51, 10 to Dan Shanks\n * Will start an infinite loop if field order P is not prime.\n * @param P field order\n * @returns function that takes field Fp (created from P) and number n\n */\nexport function tonelliShanks(P) {\n // Legendre constant: used to calculate Legendre symbol (a | p),\n // which denotes the value of a^((p-1)/2) (mod p).\n // (a | p) ≡ 1 if a is a square (mod p)\n // (a | p) ≡ -1 if a is not a square (mod p)\n // (a | p) ≡ 0 if a ≡ 0 (mod p)\n const legendreC = (P - _1n) / _2n;\n let Q, S, Z;\n // Step 1: By factoring out powers of 2 from p - 1,\n // find q and s such that p - 1 = q*(2^s) with q odd\n for (Q = P - _1n, S = 0; Q % _2n === _0n; Q /= _2n, S++)\n ;\n // Step 2: Select a non-square z such that (z | p) ≡ -1 and set c ≡ zq\n for (Z = _2n; Z < P && pow(Z, legendreC, P) !== P - _1n; Z++)\n ;\n // Fast-path\n if (S === 1) {\n const p1div4 = (P + _1n) / _4n;\n return function tonelliFast(Fp, n) {\n const root = Fp.pow(n, p1div4);\n if (!Fp.eql(Fp.sqr(root), n))\n throw new Error('Cannot find square root');\n return root;\n };\n }\n // Slow-path\n const Q1div2 = (Q + _1n) / _2n;\n return function tonelliSlow(Fp, n) {\n // Step 0: Check that n is indeed a square: (n | p) should not be ≡ -1\n if (Fp.pow(n, legendreC) === Fp.neg(Fp.ONE))\n throw new Error('Cannot find square root');\n let r = S;\n // TODO: will fail at Fp2/etc\n let g = Fp.pow(Fp.mul(Fp.ONE, Z), Q); // will update both x and b\n let x = Fp.pow(n, Q1div2); // first guess at the square root\n let b = Fp.pow(n, Q); // first guess at the fudge factor\n while (!Fp.eql(b, Fp.ONE)) {\n if (Fp.eql(b, Fp.ZERO))\n return Fp.ZERO; // https://en.wikipedia.org/wiki/Tonelli%E2%80%93Shanks_algorithm (4. If t = 0, return r = 0)\n // Find m such b^(2^m)==1\n let m = 1;\n for (let t2 = Fp.sqr(b); m < r; m++) {\n if (Fp.eql(t2, Fp.ONE))\n break;\n t2 = Fp.sqr(t2); // t2 *= t2\n }\n // NOTE: r-m-1 can be bigger than 32, need to convert to bigint before shift, otherwise there will be overflow\n const ge = Fp.pow(g, _1n << BigInt(r - m - 1)); // ge = 2^(r-m-1)\n g = Fp.sqr(ge); // g = ge * ge\n x = Fp.mul(x, ge); // x *= ge\n b = Fp.mul(b, g); // b *= g\n r = m;\n }\n return x;\n };\n}\nexport function FpSqrt(P) {\n // NOTE: different algorithms can give different roots, it is up to user to decide which one they want.\n // For example there is FpSqrtOdd/FpSqrtEven to choice root based on oddness (used for hash-to-curve).\n // P ≡ 3 (mod 4)\n // √n = n^((P+1)/4)\n if (P % _4n === _3n) {\n // Not all roots possible!\n // const ORDER =\n // 0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaabn;\n // const NUM = 72057594037927816n;\n const p1div4 = (P + _1n) / _4n;\n return function sqrt3mod4(Fp, n) {\n const root = Fp.pow(n, p1div4);\n // Throw if root**2 != n\n if (!Fp.eql(Fp.sqr(root), n))\n throw new Error('Cannot find square root');\n return root;\n };\n }\n // Atkin algorithm for q ≡ 5 (mod 8), https://eprint.iacr.org/2012/685.pdf (page 10)\n if (P % _8n === _5n) {\n const c1 = (P - _5n) / _8n;\n return function sqrt5mod8(Fp, n) {\n const n2 = Fp.mul(n, _2n);\n const v = Fp.pow(n2, c1);\n const nv = Fp.mul(n, v);\n const i = Fp.mul(Fp.mul(nv, _2n), v);\n const root = Fp.mul(nv, Fp.sub(i, Fp.ONE));\n if (!Fp.eql(Fp.sqr(root), n))\n throw new Error('Cannot find square root');\n return root;\n };\n }\n // P ≡ 9 (mod 16)\n if (P % _16n === _9n) {\n // NOTE: tonelli is too slow for bls-Fp2 calculations even on start\n // Means we cannot use sqrt for constants at all!\n //\n // const c1 = Fp.sqrt(Fp.negate(Fp.ONE)); // 1. c1 = sqrt(-1) in F, i.e., (c1^2) == -1 in F\n // const c2 = Fp.sqrt(c1); // 2. c2 = sqrt(c1) in F, i.e., (c2^2) == c1 in F\n // const c3 = Fp.sqrt(Fp.negate(c1)); // 3. c3 = sqrt(-c1) in F, i.e., (c3^2) == -c1 in F\n // const c4 = (P + _7n) / _16n; // 4. c4 = (q + 7) / 16 # Integer arithmetic\n // sqrt = (x) => {\n // let tv1 = Fp.pow(x, c4); // 1. tv1 = x^c4\n // let tv2 = Fp.mul(c1, tv1); // 2. tv2 = c1 * tv1\n // const tv3 = Fp.mul(c2, tv1); // 3. tv3 = c2 * tv1\n // let tv4 = Fp.mul(c3, tv1); // 4. tv4 = c3 * tv1\n // const e1 = Fp.equals(Fp.square(tv2), x); // 5. e1 = (tv2^2) == x\n // const e2 = Fp.equals(Fp.square(tv3), x); // 6. e2 = (tv3^2) == x\n // tv1 = Fp.cmov(tv1, tv2, e1); // 7. tv1 = CMOV(tv1, tv2, e1) # Select tv2 if (tv2^2) == x\n // tv2 = Fp.cmov(tv4, tv3, e2); // 8. tv2 = CMOV(tv4, tv3, e2) # Select tv3 if (tv3^2) == x\n // const e3 = Fp.equals(Fp.square(tv2), x); // 9. e3 = (tv2^2) == x\n // return Fp.cmov(tv1, tv2, e3); // 10. z = CMOV(tv1, tv2, e3) # Select the sqrt from tv1 and tv2\n // }\n }\n // Other cases: Tonelli-Shanks algorithm\n return tonelliShanks(P);\n}\n// Little-endian check for first LE bit (last BE bit);\nexport const isNegativeLE = (num, modulo) => (mod(num, modulo) & _1n) === _1n;\n// prettier-ignore\nconst FIELD_FIELDS = [\n 'create', 'isValid', 'is0', 'neg', 'inv', 'sqrt', 'sqr',\n 'eql', 'add', 'sub', 'mul', 'pow', 'div',\n 'addN', 'subN', 'mulN', 'sqrN'\n];\nexport function validateField(field) {\n const initial = {\n ORDER: 'bigint',\n MASK: 'bigint',\n BYTES: 'isSafeInteger',\n BITS: 'isSafeInteger',\n };\n const opts = FIELD_FIELDS.reduce((map, val) => {\n map[val] = 'function';\n return map;\n }, initial);\n return validateObject(field, opts);\n}\n// Generic field functions\n/**\n * Same as `pow` but for Fp: non-constant-time.\n * Unsafe in some contexts: uses ladder, so can expose bigint bits.\n */\nexport function FpPow(f, num, power) {\n // Should have same speed as pow for bigints\n // TODO: benchmark!\n if (power < _0n)\n throw new Error('Expected power > 0');\n if (power === _0n)\n return f.ONE;\n if (power === _1n)\n return num;\n let p = f.ONE;\n let d = num;\n while (power > _0n) {\n if (power & _1n)\n p = f.mul(p, d);\n d = f.sqr(d);\n power >>= _1n;\n }\n return p;\n}\n/**\n * Efficiently invert an array of Field elements.\n * `inv(0)` will return `undefined` here: make sure to throw an error.\n */\nexport function FpInvertBatch(f, nums) {\n const tmp = new Array(nums.length);\n // Walk from first to last, multiply them by each other MOD p\n const lastMultiplied = nums.reduce((acc, num, i) => {\n if (f.is0(num))\n return acc;\n tmp[i] = acc;\n return f.mul(acc, num);\n }, f.ONE);\n // Invert last element\n const inverted = f.inv(lastMultiplied);\n // Walk from last to first, multiply them by inverted each other MOD p\n nums.reduceRight((acc, num, i) => {\n if (f.is0(num))\n return acc;\n tmp[i] = f.mul(acc, tmp[i]);\n return f.mul(acc, num);\n }, inverted);\n return tmp;\n}\nexport function FpDiv(f, lhs, rhs) {\n return f.mul(lhs, typeof rhs === 'bigint' ? invert(rhs, f.ORDER) : f.inv(rhs));\n}\n// This function returns True whenever the value x is a square in the field F.\nexport function FpIsSquare(f) {\n const legendreConst = (f.ORDER - _1n) / _2n; // Integer arithmetic\n return (x) => {\n const p = f.pow(x, legendreConst);\n return f.eql(p, f.ZERO) || f.eql(p, f.ONE);\n };\n}\n// CURVE.n lengths\nexport function nLength(n, nBitLength) {\n // Bit size, byte size of CURVE.n\n const _nBitLength = nBitLength !== undefined ? nBitLength : n.toString(2).length;\n const nByteLength = Math.ceil(_nBitLength / 8);\n return { nBitLength: _nBitLength, nByteLength };\n}\n/**\n * Initializes a finite field over prime. **Non-primes are not supported.**\n * Do not init in loop: slow. Very fragile: always run a benchmark on a change.\n * Major performance optimizations:\n * * a) denormalized operations like mulN instead of mul\n * * b) same object shape: never add or remove keys\n * * c) Object.freeze\n * @param ORDER prime positive bigint\n * @param bitLen how many bits the field consumes\n * @param isLE (def: false) if encoding / decoding should be in little-endian\n * @param redef optional faster redefinitions of sqrt and other methods\n */\nexport function Field(ORDER, bitLen, isLE = false, redef = {}) {\n if (ORDER <= _0n)\n throw new Error(`Expected Field ORDER > 0, got ${ORDER}`);\n const { nBitLength: BITS, nByteLength: BYTES } = nLength(ORDER, bitLen);\n if (BYTES > 2048)\n throw new Error('Field lengths over 2048 bytes are not supported');\n const sqrtP = FpSqrt(ORDER);\n const f = Object.freeze({\n ORDER,\n BITS,\n BYTES,\n MASK: bitMask(BITS),\n ZERO: _0n,\n ONE: _1n,\n create: (num) => mod(num, ORDER),\n isValid: (num) => {\n if (typeof num !== 'bigint')\n throw new Error(`Invalid field element: expected bigint, got ${typeof num}`);\n return _0n <= num && num < ORDER; // 0 is valid element, but it's not invertible\n },\n is0: (num) => num === _0n,\n isOdd: (num) => (num & _1n) === _1n,\n neg: (num) => mod(-num, ORDER),\n eql: (lhs, rhs) => lhs === rhs,\n sqr: (num) => mod(num * num, ORDER),\n add: (lhs, rhs) => mod(lhs + rhs, ORDER),\n sub: (lhs, rhs) => mod(lhs - rhs, ORDER),\n mul: (lhs, rhs) => mod(lhs * rhs, ORDER),\n pow: (num, power) => FpPow(f, num, power),\n div: (lhs, rhs) => mod(lhs * invert(rhs, ORDER), ORDER),\n // Same as above, but doesn't normalize\n sqrN: (num) => num * num,\n addN: (lhs, rhs) => lhs + rhs,\n subN: (lhs, rhs) => lhs - rhs,\n mulN: (lhs, rhs) => lhs * rhs,\n inv: (num) => invert(num, ORDER),\n sqrt: redef.sqrt || ((n) => sqrtP(f, n)),\n invertBatch: (lst) => FpInvertBatch(f, lst),\n // TODO: do we really need constant cmov?\n // We don't have const-time bigints anyway, so probably will be not very useful\n cmov: (a, b, c) => (c ? b : a),\n toBytes: (num) => (isLE ? numberToBytesLE(num, BYTES) : numberToBytesBE(num, BYTES)),\n fromBytes: (bytes) => {\n if (bytes.length !== BYTES)\n throw new Error(`Fp.fromBytes: expected ${BYTES}, got ${bytes.length}`);\n return isLE ? bytesToNumberLE(bytes) : bytesToNumberBE(bytes);\n },\n });\n return Object.freeze(f);\n}\nexport function FpSqrtOdd(Fp, elm) {\n if (!Fp.isOdd)\n throw new Error(`Field doesn't have isOdd`);\n const root = Fp.sqrt(elm);\n return Fp.isOdd(root) ? root : Fp.neg(root);\n}\nexport function FpSqrtEven(Fp, elm) {\n if (!Fp.isOdd)\n throw new Error(`Field doesn't have isOdd`);\n const root = Fp.sqrt(elm);\n return Fp.isOdd(root) ? Fp.neg(root) : root;\n}\n/**\n * \"Constant-time\" private key generation utility.\n * Same as mapKeyToField, but accepts less bytes (40 instead of 48 for 32-byte field).\n * Which makes it slightly more biased, less secure.\n * @deprecated use mapKeyToField instead\n */\nexport function hashToPrivateScalar(hash, groupOrder, isLE = false) {\n hash = ensureBytes('privateHash', hash);\n const hashLen = hash.length;\n const minLen = nLength(groupOrder).nByteLength + 8;\n if (minLen < 24 || hashLen < minLen || hashLen > 1024)\n throw new Error(`hashToPrivateScalar: expected ${minLen}-1024 bytes of input, got ${hashLen}`);\n const num = isLE ? bytesToNumberLE(hash) : bytesToNumberBE(hash);\n return mod(num, groupOrder - _1n) + _1n;\n}\n/**\n * Returns total number of bytes consumed by the field element.\n * For example, 32 bytes for usual 256-bit weierstrass curve.\n * @param fieldOrder number of field elements, usually CURVE.n\n * @returns byte length of field\n */\nexport function getFieldBytesLength(fieldOrder) {\n if (typeof fieldOrder !== 'bigint')\n throw new Error('field order must be bigint');\n const bitLength = fieldOrder.toString(2).length;\n return Math.ceil(bitLength / 8);\n}\n/**\n * Returns minimal amount of bytes that can be safely reduced\n * by field order.\n * Should be 2^-128 for 128-bit curve such as P256.\n * @param fieldOrder number of field elements, usually CURVE.n\n * @returns byte length of target hash\n */\nexport function getMinHashLength(fieldOrder) {\n const length = getFieldBytesLength(fieldOrder);\n return length + Math.ceil(length / 2);\n}\n/**\n * \"Constant-time\" private key generation utility.\n * Can take (n + n/2) or more bytes of uniform input e.g. from CSPRNG or KDF\n * and convert them into private scalar, with the modulo bias being negligible.\n * Needs at least 48 bytes of input for 32-byte private key.\n * https://research.kudelskisecurity.com/2020/07/28/the-definitive-guide-to-modulo-bias-and-how-to-avoid-it/\n * FIPS 186-5, A.2 https://csrc.nist.gov/publications/detail/fips/186/5/final\n * RFC 9380, https://www.rfc-editor.org/rfc/rfc9380#section-5\n * @param hash hash output from SHA3 or a similar function\n * @param groupOrder size of subgroup - (e.g. secp256k1.CURVE.n)\n * @param isLE interpret hash bytes as LE num\n * @returns valid private scalar\n */\nexport function mapHashToField(key, fieldOrder, isLE = false) {\n const len = key.length;\n const fieldLen = getFieldBytesLength(fieldOrder);\n const minLen = getMinHashLength(fieldOrder);\n // No small numbers: need to understand bias story. No huge numbers: easier to detect JS timings.\n if (len < 16 || len < minLen || len > 1024)\n throw new Error(`expected ${minLen}-1024 bytes of input, got ${len}`);\n const num = isLE ? bytesToNumberBE(key) : bytesToNumberLE(key);\n // `mod(x, 11)` can sometimes produce 0. `mod(x, 10) + 1` is the same, but no 0\n const reduced = mod(num, fieldOrder - _1n) + _1n;\n return isLE ? numberToBytesLE(reduced, fieldLen) : numberToBytesBE(reduced, fieldLen);\n}\n//# sourceMappingURL=modular.js.map","/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n// Abelian group utilities\nimport { validateField, nLength } from './modular.js';\nimport { validateObject } from './utils.js';\nconst _0n = BigInt(0);\nconst _1n = BigInt(1);\n// Elliptic curve multiplication of Point by scalar. Fragile.\n// Scalars should always be less than curve order: this should be checked inside of a curve itself.\n// Creates precomputation tables for fast multiplication:\n// - private scalar is split by fixed size windows of W bits\n// - every window point is collected from window's table & added to accumulator\n// - since windows are different, same point inside tables won't be accessed more than once per calc\n// - each multiplication is 'Math.ceil(CURVE_ORDER / 𝑊) + 1' point additions (fixed for any scalar)\n// - +1 window is neccessary for wNAF\n// - wNAF reduces table size: 2x less memory + 2x faster generation, but 10% slower multiplication\n// TODO: Research returning 2d JS array of windows, instead of a single window. This would allow\n// windows to be in different memory locations\nexport function wNAF(c, bits) {\n const constTimeNegate = (condition, item) => {\n const neg = item.negate();\n return condition ? neg : item;\n };\n const opts = (W) => {\n const windows = Math.ceil(bits / W) + 1; // +1, because\n const windowSize = 2 ** (W - 1); // -1 because we skip zero\n return { windows, windowSize };\n };\n return {\n constTimeNegate,\n // non-const time multiplication ladder\n unsafeLadder(elm, n) {\n let p = c.ZERO;\n let d = elm;\n while (n > _0n) {\n if (n & _1n)\n p = p.add(d);\n d = d.double();\n n >>= _1n;\n }\n return p;\n },\n /**\n * Creates a wNAF precomputation window. Used for caching.\n * Default window size is set by `utils.precompute()` and is equal to 8.\n * Number of precomputed points depends on the curve size:\n * 2^(𝑊−1) * (Math.ceil(𝑛 / 𝑊) + 1), where:\n * - 𝑊 is the window size\n * - 𝑛 is the bitlength of the curve order.\n * For a 256-bit curve and window size 8, the number of precomputed points is 128 * 33 = 4224.\n * @returns precomputed point tables flattened to a single array\n */\n precomputeWindow(elm, W) {\n const { windows, windowSize } = opts(W);\n const points = [];\n let p = elm;\n let base = p;\n for (let window = 0; window < windows; window++) {\n base = p;\n points.push(base);\n // =1, because we skip zero\n for (let i = 1; i < windowSize; i++) {\n base = base.add(p);\n points.push(base);\n }\n p = base.double();\n }\n return points;\n },\n /**\n * Implements ec multiplication using precomputed tables and w-ary non-adjacent form.\n * @param W window size\n * @param precomputes precomputed tables\n * @param n scalar (we don't check here, but should be less than curve order)\n * @returns real and fake (for const-time) points\n */\n wNAF(W, precomputes, n) {\n // TODO: maybe check that scalar is less than group order? wNAF behavious is undefined otherwise\n // But need to carefully remove other checks before wNAF. ORDER == bits here\n const { windows, windowSize } = opts(W);\n let p = c.ZERO;\n let f = c.BASE;\n const mask = BigInt(2 ** W - 1); // Create mask with W ones: 0b1111 for W=4 etc.\n const maxNumber = 2 ** W;\n const shiftBy = BigInt(W);\n for (let window = 0; window < windows; window++) {\n const offset = window * windowSize;\n // Extract W bits.\n let wbits = Number(n & mask);\n // Shift number by W bits.\n n >>= shiftBy;\n // If the bits are bigger than max size, we'll split those.\n // +224 => 256 - 32\n if (wbits > windowSize) {\n wbits -= maxNumber;\n n += _1n;\n }\n // This code was first written with assumption that 'f' and 'p' will never be infinity point:\n // since each addition is multiplied by 2 ** W, it cannot cancel each other. However,\n // there is negate now: it is possible that negated element from low value\n // would be the same as high element, which will create carry into next window.\n // It's not obvious how this can fail, but still worth investigating later.\n // Check if we're onto Zero point.\n // Add random point inside current window to f.\n const offset1 = offset;\n const offset2 = offset + Math.abs(wbits) - 1; // -1 because we skip zero\n const cond1 = window % 2 !== 0;\n const cond2 = wbits < 0;\n if (wbits === 0) {\n // The most important part for const-time getPublicKey\n f = f.add(constTimeNegate(cond1, precomputes[offset1]));\n }\n else {\n p = p.add(constTimeNegate(cond2, precomputes[offset2]));\n }\n }\n // JIT-compiler should not eliminate f here, since it will later be used in normalizeZ()\n // Even if the variable is still unused, there are some checks which will\n // throw an exception, so compiler needs to prove they won't happen, which is hard.\n // At this point there is a way to F be infinity-point even if p is not,\n // which makes it less const-time: around 1 bigint multiply.\n return { p, f };\n },\n wNAFCached(P, precomputesMap, n, transform) {\n // @ts-ignore\n const W = P._WINDOW_SIZE || 1;\n // Calculate precomputes on a first run, reuse them after\n let comp = precomputesMap.get(P);\n if (!comp) {\n comp = this.precomputeWindow(P, W);\n if (W !== 1) {\n precomputesMap.set(P, transform(comp));\n }\n }\n return this.wNAF(W, comp, n);\n },\n };\n}\nexport function validateBasic(curve) {\n validateField(curve.Fp);\n validateObject(curve, {\n n: 'bigint',\n h: 'bigint',\n Gx: 'field',\n Gy: 'field',\n }, {\n nBitLength: 'isSafeInteger',\n nByteLength: 'isSafeInteger',\n });\n // Set defaults\n return Object.freeze({\n ...nLength(curve.n, curve.nBitLength),\n ...curve,\n ...{ p: curve.Fp.ORDER },\n });\n}\n//# sourceMappingURL=curve.js.map","/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n// Short Weierstrass curve. The formula is: y² = x³ + ax + b\nimport * as mod from './modular.js';\nimport * as ut from './utils.js';\nimport { ensureBytes } from './utils.js';\nimport { wNAF, validateBasic } from './curve.js';\nfunction validatePointOpts(curve) {\n const opts = validateBasic(curve);\n ut.validateObject(opts, {\n a: 'field',\n b: 'field',\n }, {\n allowedPrivateKeyLengths: 'array',\n wrapPrivateKey: 'boolean',\n isTorsionFree: 'function',\n clearCofactor: 'function',\n allowInfinityPoint: 'boolean',\n fromBytes: 'function',\n toBytes: 'function',\n });\n const { endo, Fp, a } = opts;\n if (endo) {\n if (!Fp.eql(a, Fp.ZERO)) {\n throw new Error('Endomorphism can only be defined for Koblitz curves that have a=0');\n }\n if (typeof endo !== 'object' ||\n typeof endo.beta !== 'bigint' ||\n typeof endo.splitScalar !== 'function') {\n throw new Error('Expected endomorphism with beta: bigint and splitScalar: function');\n }\n }\n return Object.freeze({ ...opts });\n}\n// ASN.1 DER encoding utilities\nconst { bytesToNumberBE: b2n, hexToBytes: h2b } = ut;\nexport const DER = {\n // asn.1 DER encoding utils\n Err: class DERErr extends Error {\n constructor(m = '') {\n super(m);\n }\n },\n _parseInt(data) {\n const { Err: E } = DER;\n if (data.length < 2 || data[0] !== 0x02)\n throw new E('Invalid signature integer tag');\n const len = data[1];\n const res = data.subarray(2, len + 2);\n if (!len || res.length !== len)\n throw new E('Invalid signature integer: wrong length');\n // https://crypto.stackexchange.com/a/57734 Leftmost bit of first byte is 'negative' flag,\n // since we always use positive integers here. It must always be empty:\n // - add zero byte if exists\n // - if next byte doesn't have a flag, leading zero is not allowed (minimal encoding)\n if (res[0] & 0b10000000)\n throw new E('Invalid signature integer: negative');\n if (res[0] === 0x00 && !(res[1] & 0b10000000))\n throw new E('Invalid signature integer: unnecessary leading zero');\n return { d: b2n(res), l: data.subarray(len + 2) }; // d is data, l is left\n },\n toSig(hex) {\n // parse DER signature\n const { Err: E } = DER;\n const data = typeof hex === 'string' ? h2b(hex) : hex;\n if (!(data instanceof Uint8Array))\n throw new Error('ui8a expected');\n let l = data.length;\n if (l < 2 || data[0] != 0x30)\n throw new E('Invalid signature tag');\n if (data[1] !== l - 2)\n throw new E('Invalid signature: incorrect length');\n const { d: r, l: sBytes } = DER._parseInt(data.subarray(2));\n const { d: s, l: rBytesLeft } = DER._parseInt(sBytes);\n if (rBytesLeft.length)\n throw new E('Invalid signature: left bytes after parsing');\n return { r, s };\n },\n hexFromSig(sig) {\n // Add leading zero if first byte has negative bit enabled. More details in '_parseInt'\n const slice = (s) => (Number.parseInt(s[0], 16) & 0b1000 ? '00' + s : s);\n const h = (num) => {\n const hex = num.toString(16);\n return hex.length & 1 ? `0${hex}` : hex;\n };\n const s = slice(h(sig.s));\n const r = slice(h(sig.r));\n const shl = s.length / 2;\n const rhl = r.length / 2;\n const sl = h(shl);\n const rl = h(rhl);\n return `30${h(rhl + shl + 4)}02${rl}${r}02${sl}${s}`;\n },\n};\n// Be friendly to bad ECMAScript parsers by not using bigint literals\n// prettier-ignore\nconst _0n = BigInt(0), _1n = BigInt(1), _2n = BigInt(2), _3n = BigInt(3), _4n = BigInt(4);\nexport function weierstrassPoints(opts) {\n const CURVE = validatePointOpts(opts);\n const { Fp } = CURVE; // All curves has same field / group length as for now, but they can differ\n const toBytes = CURVE.toBytes ||\n ((_c, point, _isCompressed) => {\n const a = point.toAffine();\n return ut.concatBytes(Uint8Array.from([0x04]), Fp.toBytes(a.x), Fp.toBytes(a.y));\n });\n const fromBytes = CURVE.fromBytes ||\n ((bytes) => {\n // const head = bytes[0];\n const tail = bytes.subarray(1);\n // if (head !== 0x04) throw new Error('Only non-compressed encoding is supported');\n const x = Fp.fromBytes(tail.subarray(0, Fp.BYTES));\n const y = Fp.fromBytes(tail.subarray(Fp.BYTES, 2 * Fp.BYTES));\n return { x, y };\n });\n /**\n * y² = x³ + ax + b: Short weierstrass curve formula\n * @returns y²\n */\n function weierstrassEquation(x) {\n const { a, b } = CURVE;\n const x2 = Fp.sqr(x); // x * x\n const x3 = Fp.mul(x2, x); // x2 * x\n return Fp.add(Fp.add(x3, Fp.mul(x, a)), b); // x3 + a * x + b\n }\n // Validate whether the passed curve params are valid.\n // We check if curve equation works for generator point.\n // `assertValidity()` won't work: `isTorsionFree()` is not available at this point in bls12-381.\n // ProjectivePoint class has not been initialized yet.\n if (!Fp.eql(Fp.sqr(CURVE.Gy), weierstrassEquation(CURVE.Gx)))\n throw new Error('bad generator point: equation left != right');\n // Valid group elements reside in range 1..n-1\n function isWithinCurveOrder(num) {\n return typeof num === 'bigint' && _0n < num && num < CURVE.n;\n }\n function assertGE(num) {\n if (!isWithinCurveOrder(num))\n throw new Error('Expected valid bigint: 0 < bigint < curve.n');\n }\n // Validates if priv key is valid and converts it to bigint.\n // Supports options allowedPrivateKeyLengths and wrapPrivateKey.\n function normPrivateKeyToScalar(key) {\n const { allowedPrivateKeyLengths: lengths, nByteLength, wrapPrivateKey, n } = CURVE;\n if (lengths && typeof key !== 'bigint') {\n if (key instanceof Uint8Array)\n key = ut.bytesToHex(key);\n // Normalize to hex string, pad. E.g. P521 would norm 130-132 char hex to 132-char bytes\n if (typeof key !== 'string' || !lengths.includes(key.length))\n throw new Error('Invalid key');\n key = key.padStart(nByteLength * 2, '0');\n }\n let num;\n try {\n num =\n typeof key === 'bigint'\n ? key\n : ut.bytesToNumberBE(ensureBytes('private key', key, nByteLength));\n }\n catch (error) {\n throw new Error(`private key must be ${nByteLength} bytes, hex or bigint, not ${typeof key}`);\n }\n if (wrapPrivateKey)\n num = mod.mod(num, n); // disabled by default, enabled for BLS\n assertGE(num); // num in range [1..N-1]\n return num;\n }\n const pointPrecomputes = new Map();\n function assertPrjPoint(other) {\n if (!(other instanceof Point))\n throw new Error('ProjectivePoint expected');\n }\n /**\n * Projective Point works in 3d / projective (homogeneous) coordinates: (x, y, z) ∋ (x=x/z, y=y/z)\n * Default Point works in 2d / affine coordinates: (x, y)\n * We're doing calculations in projective, because its operations don't require costly inversion.\n */\n class Point {\n constructor(px, py, pz) {\n this.px = px;\n this.py = py;\n this.pz = pz;\n if (px == null || !Fp.isValid(px))\n throw new Error('x required');\n if (py == null || !Fp.isValid(py))\n throw new Error('y required');\n if (pz == null || !Fp.isValid(pz))\n throw new Error('z required');\n }\n // Does not validate if the point is on-curve.\n // Use fromHex instead, or call assertValidity() later.\n static fromAffine(p) {\n const { x, y } = p || {};\n if (!p || !Fp.isValid(x) || !Fp.isValid(y))\n throw new Error('invalid affine point');\n if (p instanceof Point)\n throw new Error('projective point not allowed');\n const is0 = (i) => Fp.eql(i, Fp.ZERO);\n // fromAffine(x:0, y:0) would produce (x:0, y:0, z:1), but we need (x:0, y:1, z:0)\n if (is0(x) && is0(y))\n return Point.ZERO;\n return new Point(x, y, Fp.ONE);\n }\n get x() {\n return this.toAffine().x;\n }\n get y() {\n return this.toAffine().y;\n }\n /**\n * Takes a bunch of Projective Points but executes only one\n * inversion on all of them. Inversion is very slow operation,\n * so this improves performance massively.\n * Optimization: converts a list of projective points to a list of identical points with Z=1.\n */\n static normalizeZ(points) {\n const toInv = Fp.invertBatch(points.map((p) => p.pz));\n return points.map((p, i) => p.toAffine(toInv[i])).map(Point.fromAffine);\n }\n /**\n * Converts hash string or Uint8Array to Point.\n * @param hex short/long ECDSA hex\n */\n static fromHex(hex) {\n const P = Point.fromAffine(fromBytes(ensureBytes('pointHex', hex)));\n P.assertValidity();\n return P;\n }\n // Multiplies generator point by privateKey.\n static fromPrivateKey(privateKey) {\n return Point.BASE.multiply(normPrivateKeyToScalar(privateKey));\n }\n // \"Private method\", don't use it directly\n _setWindowSize(windowSize) {\n this._WINDOW_SIZE = windowSize;\n pointPrecomputes.delete(this);\n }\n // A point on curve is valid if it conforms to equation.\n assertValidity() {\n if (this.is0()) {\n // (0, 1, 0) aka ZERO is invalid in most contexts.\n // In BLS, ZERO can be serialized, so we allow it.\n // (0, 0, 0) is wrong representation of ZERO and is always invalid.\n if (CURVE.allowInfinityPoint && !Fp.is0(this.py))\n return;\n throw new Error('bad point: ZERO');\n }\n // Some 3rd-party test vectors require different wording between here & `fromCompressedHex`\n const { x, y } = this.toAffine();\n // Check if x, y are valid field elements\n if (!Fp.isValid(x) || !Fp.isValid(y))\n throw new Error('bad point: x or y not FE');\n const left = Fp.sqr(y); // y²\n const right = weierstrassEquation(x); // x³ + ax + b\n if (!Fp.eql(left, right))\n throw new Error('bad point: equation left != right');\n if (!this.isTorsionFree())\n throw new Error('bad point: not in prime-order subgroup');\n }\n hasEvenY() {\n const { y } = this.toAffine();\n if (Fp.isOdd)\n return !Fp.isOdd(y);\n throw new Error(\"Field doesn't support isOdd\");\n }\n /**\n * Compare one point to another.\n */\n equals(other) {\n assertPrjPoint(other);\n const { px: X1, py: Y1, pz: Z1 } = this;\n const { px: X2, py: Y2, pz: Z2 } = other;\n const U1 = Fp.eql(Fp.mul(X1, Z2), Fp.mul(X2, Z1));\n const U2 = Fp.eql(Fp.mul(Y1, Z2), Fp.mul(Y2, Z1));\n return U1 && U2;\n }\n /**\n * Flips point to one corresponding to (x, -y) in Affine coordinates.\n */\n negate() {\n return new Point(this.px, Fp.neg(this.py), this.pz);\n }\n // Renes-Costello-Batina exception-free doubling formula.\n // There is 30% faster Jacobian formula, but it is not complete.\n // https://eprint.iacr.org/2015/1060, algorithm 3\n // Cost: 8M + 3S + 3*a + 2*b3 + 15add.\n double() {\n const { a, b } = CURVE;\n const b3 = Fp.mul(b, _3n);\n const { px: X1, py: Y1, pz: Z1 } = this;\n let X3 = Fp.ZERO, Y3 = Fp.ZERO, Z3 = Fp.ZERO; // prettier-ignore\n let t0 = Fp.mul(X1, X1); // step 1\n let t1 = Fp.mul(Y1, Y1);\n let t2 = Fp.mul(Z1, Z1);\n let t3 = Fp.mul(X1, Y1);\n t3 = Fp.add(t3, t3); // step 5\n Z3 = Fp.mul(X1, Z1);\n Z3 = Fp.add(Z3, Z3);\n X3 = Fp.mul(a, Z3);\n Y3 = Fp.mul(b3, t2);\n Y3 = Fp.add(X3, Y3); // step 10\n X3 = Fp.sub(t1, Y3);\n Y3 = Fp.add(t1, Y3);\n Y3 = Fp.mul(X3, Y3);\n X3 = Fp.mul(t3, X3);\n Z3 = Fp.mul(b3, Z3); // step 15\n t2 = Fp.mul(a, t2);\n t3 = Fp.sub(t0, t2);\n t3 = Fp.mul(a, t3);\n t3 = Fp.add(t3, Z3);\n Z3 = Fp.add(t0, t0); // step 20\n t0 = Fp.add(Z3, t0);\n t0 = Fp.add(t0, t2);\n t0 = Fp.mul(t0, t3);\n Y3 = Fp.add(Y3, t0);\n t2 = Fp.mul(Y1, Z1); // step 25\n t2 = Fp.add(t2, t2);\n t0 = Fp.mul(t2, t3);\n X3 = Fp.sub(X3, t0);\n Z3 = Fp.mul(t2, t1);\n Z3 = Fp.add(Z3, Z3); // step 30\n Z3 = Fp.add(Z3, Z3);\n return new Point(X3, Y3, Z3);\n }\n // Renes-Costello-Batina exception-free addition formula.\n // There is 30% faster Jacobian formula, but it is not complete.\n // https://eprint.iacr.org/2015/1060, algorithm 1\n // Cost: 12M + 0S + 3*a + 3*b3 + 23add.\n add(other) {\n assertPrjPoint(other);\n const { px: X1, py: Y1, pz: Z1 } = this;\n const { px: X2, py: Y2, pz: Z2 } = other;\n let X3 = Fp.ZERO, Y3 = Fp.ZERO, Z3 = Fp.ZERO; // prettier-ignore\n const a = CURVE.a;\n const b3 = Fp.mul(CURVE.b, _3n);\n let t0 = Fp.mul(X1, X2); // step 1\n let t1 = Fp.mul(Y1, Y2);\n let t2 = Fp.mul(Z1, Z2);\n let t3 = Fp.add(X1, Y1);\n let t4 = Fp.add(X2, Y2); // step 5\n t3 = Fp.mul(t3, t4);\n t4 = Fp.add(t0, t1);\n t3 = Fp.sub(t3, t4);\n t4 = Fp.add(X1, Z1);\n let t5 = Fp.add(X2, Z2); // step 10\n t4 = Fp.mul(t4, t5);\n t5 = Fp.add(t0, t2);\n t4 = Fp.sub(t4, t5);\n t5 = Fp.add(Y1, Z1);\n X3 = Fp.add(Y2, Z2); // step 15\n t5 = Fp.mul(t5, X3);\n X3 = Fp.add(t1, t2);\n t5 = Fp.sub(t5, X3);\n Z3 = Fp.mul(a, t4);\n X3 = Fp.mul(b3, t2); // step 20\n Z3 = Fp.add(X3, Z3);\n X3 = Fp.sub(t1, Z3);\n Z3 = Fp.add(t1, Z3);\n Y3 = Fp.mul(X3, Z3);\n t1 = Fp.add(t0, t0); // step 25\n t1 = Fp.add(t1, t0);\n t2 = Fp.mul(a, t2);\n t4 = Fp.mul(b3, t4);\n t1 = Fp.add(t1, t2);\n t2 = Fp.sub(t0, t2); // step 30\n t2 = Fp.mul(a, t2);\n t4 = Fp.add(t4, t2);\n t0 = Fp.mul(t1, t4);\n Y3 = Fp.add(Y3, t0);\n t0 = Fp.mul(t5, t4); // step 35\n X3 = Fp.mul(t3, X3);\n X3 = Fp.sub(X3, t0);\n t0 = Fp.mul(t3, t1);\n Z3 = Fp.mul(t5, Z3);\n Z3 = Fp.add(Z3, t0); // step 40\n return new Point(X3, Y3, Z3);\n }\n subtract(other) {\n return this.add(other.negate());\n }\n is0() {\n return this.equals(Point.ZERO);\n }\n wNAF(n) {\n return wnaf.wNAFCached(this, pointPrecomputes, n, (comp) => {\n const toInv = Fp.invertBatch(comp.map((p) => p.pz));\n return comp.map((p, i) => p.toAffine(toInv[i])).map(Point.fromAffine);\n });\n }\n /**\n * Non-constant-time multiplication. Uses double-and-add algorithm.\n * It's faster, but should only be used when you don't care about\n * an exposed private key e.g. sig verification, which works over *public* keys.\n */\n multiplyUnsafe(n) {\n const I = Point.ZERO;\n if (n === _0n)\n return I;\n assertGE(n); // Will throw on 0\n if (n === _1n)\n return this;\n const { endo } = CURVE;\n if (!endo)\n return wnaf.unsafeLadder(this, n);\n // Apply endomorphism\n let { k1neg, k1, k2neg, k2 } = endo.splitScalar(n);\n let k1p = I;\n let k2p = I;\n let d = this;\n while (k1 > _0n || k2 > _0n) {\n if (k1 & _1n)\n k1p = k1p.add(d);\n if (k2 & _1n)\n k2p = k2p.add(d);\n d = d.double();\n k1 >>= _1n;\n k2 >>= _1n;\n }\n if (k1neg)\n k1p = k1p.negate();\n if (k2neg)\n k2p = k2p.negate();\n k2p = new Point(Fp.mul(k2p.px, endo.beta), k2p.py, k2p.pz);\n return k1p.add(k2p);\n }\n /**\n * Constant time multiplication.\n * Uses wNAF method. Windowed method may be 10% faster,\n * but takes 2x longer to generate and consumes 2x memory.\n * Uses precomputes when available.\n * Uses endomorphism for Koblitz curves.\n * @param scalar by which the point would be multiplied\n * @returns New point\n */\n multiply(scalar) {\n assertGE(scalar);\n let n = scalar;\n let point, fake; // Fake point is used to const-time mult\n const { endo } = CURVE;\n if (endo) {\n const { k1neg, k1, k2neg, k2 } = endo.splitScalar(n);\n let { p: k1p, f: f1p } = this.wNAF(k1);\n let { p: k2p, f: f2p } = this.wNAF(k2);\n k1p = wnaf.constTimeNegate(k1neg, k1p);\n k2p = wnaf.constTimeNegate(k2neg, k2p);\n k2p = new Point(Fp.mul(k2p.px, endo.beta), k2p.py, k2p.pz);\n point = k1p.add(k2p);\n fake = f1p.add(f2p);\n }\n else {\n const { p, f } = this.wNAF(n);\n point = p;\n fake = f;\n }\n // Normalize `z` for both points, but return only real one\n return Point.normalizeZ([point, fake])[0];\n }\n /**\n * Efficiently calculate `aP + bQ`. Unsafe, can expose private key, if used incorrectly.\n * Not using Strauss-Shamir trick: precomputation tables are faster.\n * The trick could be useful if both P and Q are not G (not in our case).\n * @returns non-zero affine point\n */\n multiplyAndAddUnsafe(Q, a, b) {\n const G = Point.BASE; // No Strauss-Shamir trick: we have 10% faster G precomputes\n const mul = (P, a // Select faster multiply() method\n ) => (a === _0n || a === _1n || !P.equals(G) ? P.multiplyUnsafe(a) : P.multiply(a));\n const sum = mul(this, a).add(mul(Q, b));\n return sum.is0() ? undefined : sum;\n }\n // Converts Projective point to affine (x, y) coordinates.\n // Can accept precomputed Z^-1 - for example, from invertBatch.\n // (x, y, z) ∋ (x=x/z, y=y/z)\n toAffine(iz) {\n const { px: x, py: y, pz: z } = this;\n const is0 = this.is0();\n // If invZ was 0, we return zero point. However we still want to execute\n // all operations, so we replace invZ with a random number, 1.\n if (iz == null)\n iz = is0 ? Fp.ONE : Fp.inv(z);\n const ax = Fp.mul(x, iz);\n const ay = Fp.mul(y, iz);\n const zz = Fp.mul(z, iz);\n if (is0)\n return { x: Fp.ZERO, y: Fp.ZERO };\n if (!Fp.eql(zz, Fp.ONE))\n throw new Error('invZ was invalid');\n return { x: ax, y: ay };\n }\n isTorsionFree() {\n const { h: cofactor, isTorsionFree } = CURVE;\n if (cofactor === _1n)\n return true; // No subgroups, always torsion-free\n if (isTorsionFree)\n return isTorsionFree(Point, this);\n throw new Error('isTorsionFree() has not been declared for the elliptic curve');\n }\n clearCofactor() {\n const { h: cofactor, clearCofactor } = CURVE;\n if (cofactor === _1n)\n return this; // Fast-path\n if (clearCofactor)\n return clearCofactor(Point, this);\n return this.multiplyUnsafe(CURVE.h);\n }\n toRawBytes(isCompressed = true) {\n this.assertValidity();\n return toBytes(Point, this, isCompressed);\n }\n toHex(isCompressed = true) {\n return ut.bytesToHex(this.toRawBytes(isCompressed));\n }\n }\n Point.BASE = new Point(CURVE.Gx, CURVE.Gy, Fp.ONE);\n Point.ZERO = new Point(Fp.ZERO, Fp.ONE, Fp.ZERO);\n const _bits = CURVE.nBitLength;\n const wnaf = wNAF(Point, CURVE.endo ? Math.ceil(_bits / 2) : _bits);\n // Validate if generator point is on curve\n return {\n CURVE,\n ProjectivePoint: Point,\n normPrivateKeyToScalar,\n weierstrassEquation,\n isWithinCurveOrder,\n };\n}\nfunction validateOpts(curve) {\n const opts = validateBasic(curve);\n ut.validateObject(opts, {\n hash: 'hash',\n hmac: 'function',\n randomBytes: 'function',\n }, {\n bits2int: 'function',\n bits2int_modN: 'function',\n lowS: 'boolean',\n });\n return Object.freeze({ lowS: true, ...opts });\n}\nexport function weierstrass(curveDef) {\n const CURVE = validateOpts(curveDef);\n const { Fp, n: CURVE_ORDER } = CURVE;\n const compressedLen = Fp.BYTES + 1; // e.g. 33 for 32\n const uncompressedLen = 2 * Fp.BYTES + 1; // e.g. 65 for 32\n function isValidFieldElement(num) {\n return _0n < num && num < Fp.ORDER; // 0 is banned since it's not invertible FE\n }\n function modN(a) {\n return mod.mod(a, CURVE_ORDER);\n }\n function invN(a) {\n return mod.invert(a, CURVE_ORDER);\n }\n const { ProjectivePoint: Point, normPrivateKeyToScalar, weierstrassEquation, isWithinCurveOrder, } = weierstrassPoints({\n ...CURVE,\n toBytes(_c, point, isCompressed) {\n const a = point.toAffine();\n const x = Fp.toBytes(a.x);\n const cat = ut.concatBytes;\n if (isCompressed) {\n return cat(Uint8Array.from([point.hasEvenY() ? 0x02 : 0x03]), x);\n }\n else {\n return cat(Uint8Array.from([0x04]), x, Fp.toBytes(a.y));\n }\n },\n fromBytes(bytes) {\n const len = bytes.length;\n const head = bytes[0];\n const tail = bytes.subarray(1);\n // this.assertValidity() is done inside of fromHex\n if (len === compressedLen && (head === 0x02 || head === 0x03)) {\n const x = ut.bytesToNumberBE(tail);\n if (!isValidFieldElement(x))\n throw new Error('Point is not on curve');\n const y2 = weierstrassEquation(x); // y² = x³ + ax + b\n let y = Fp.sqrt(y2); // y = y² ^ (p+1)/4\n const isYOdd = (y & _1n) === _1n;\n // ECDSA\n const isHeadOdd = (head & 1) === 1;\n if (isHeadOdd !== isYOdd)\n y = Fp.neg(y);\n return { x, y };\n }\n else if (len === uncompressedLen && head === 0x04) {\n const x = Fp.fromBytes(tail.subarray(0, Fp.BYTES));\n const y = Fp.fromBytes(tail.subarray(Fp.BYTES, 2 * Fp.BYTES));\n return { x, y };\n }\n else {\n throw new Error(`Point of length ${len} was invalid. Expected ${compressedLen} compressed bytes or ${uncompressedLen} uncompressed bytes`);\n }\n },\n });\n const numToNByteStr = (num) => ut.bytesToHex(ut.numberToBytesBE(num, CURVE.nByteLength));\n function isBiggerThanHalfOrder(number) {\n const HALF = CURVE_ORDER >> _1n;\n return number > HALF;\n }\n function normalizeS(s) {\n return isBiggerThanHalfOrder(s) ? modN(-s) : s;\n }\n // slice bytes num\n const slcNum = (b, from, to) => ut.bytesToNumberBE(b.slice(from, to));\n /**\n * ECDSA signature with its (r, s) properties. Supports DER & compact representations.\n */\n class Signature {\n constructor(r, s, recovery) {\n this.r = r;\n this.s = s;\n this.recovery = recovery;\n this.assertValidity();\n }\n // pair (bytes of r, bytes of s)\n static fromCompact(hex) {\n const l = CURVE.nByteLength;\n hex = ensureBytes('compactSignature', hex, l * 2);\n return new Signature(slcNum(hex, 0, l), slcNum(hex, l, 2 * l));\n }\n // DER encoded ECDSA signature\n // https://bitcoin.stackexchange.com/questions/57644/what-are-the-parts-of-a-bitcoin-transaction-input-script\n static fromDER(hex) {\n const { r, s } = DER.toSig(ensureBytes('DER', hex));\n return new Signature(r, s);\n }\n assertValidity() {\n // can use assertGE here\n if (!isWithinCurveOrder(this.r))\n throw new Error('r must be 0 < r < CURVE.n');\n if (!isWithinCurveOrder(this.s))\n throw new Error('s must be 0 < s < CURVE.n');\n }\n addRecoveryBit(recovery) {\n return new Signature(this.r, this.s, recovery);\n }\n recoverPublicKey(msgHash) {\n const { r, s, recovery: rec } = this;\n const h = bits2int_modN(ensureBytes('msgHash', msgHash)); // Truncate hash\n if (rec == null || ![0, 1, 2, 3].includes(rec))\n throw new Error('recovery id invalid');\n const radj = rec === 2 || rec === 3 ? r + CURVE.n : r;\n if (radj >= Fp.ORDER)\n throw new Error('recovery id 2 or 3 invalid');\n const prefix = (rec & 1) === 0 ? '02' : '03';\n const R = Point.fromHex(prefix + numToNByteStr(radj));\n const ir = invN(radj); // r^-1\n const u1 = modN(-h * ir); // -hr^-1\n const u2 = modN(s * ir); // sr^-1\n const Q = Point.BASE.multiplyAndAddUnsafe(R, u1, u2); // (sr^-1)R-(hr^-1)G = -(hr^-1)G + (sr^-1)\n if (!Q)\n throw new Error('point at infinify'); // unsafe is fine: no priv data leaked\n Q.assertValidity();\n return Q;\n }\n // Signatures should be low-s, to prevent malleability.\n hasHighS() {\n return isBiggerThanHalfOrder(this.s);\n }\n normalizeS() {\n return this.hasHighS() ? new Signature(this.r, modN(-this.s), this.recovery) : this;\n }\n // DER-encoded\n toDERRawBytes() {\n return ut.hexToBytes(this.toDERHex());\n }\n toDERHex() {\n return DER.hexFromSig({ r: this.r, s: this.s });\n }\n // padded bytes of r, then padded bytes of s\n toCompactRawBytes() {\n return ut.hexToBytes(this.toCompactHex());\n }\n toCompactHex() {\n return numToNByteStr(this.r) + numToNByteStr(this.s);\n }\n }\n const utils = {\n isValidPrivateKey(privateKey) {\n try {\n normPrivateKeyToScalar(privateKey);\n return true;\n }\n catch (error) {\n return false;\n }\n },\n normPrivateKeyToScalar: normPrivateKeyToScalar,\n /**\n * Produces cryptographically secure private key from random of size\n * (groupLen + ceil(groupLen / 2)) with modulo bias being negligible.\n */\n randomPrivateKey: () => {\n const length = mod.getMinHashLength(CURVE.n);\n return mod.mapHashToField(CURVE.randomBytes(length), CURVE.n);\n },\n /**\n * Creates precompute table for an arbitrary EC point. Makes point \"cached\".\n * Allows to massively speed-up `point.multiply(scalar)`.\n * @returns cached point\n * @example\n * const fast = utils.precompute(8, ProjectivePoint.fromHex(someonesPubKey));\n * fast.multiply(privKey); // much faster ECDH now\n */\n precompute(windowSize = 8, point = Point.BASE) {\n point._setWindowSize(windowSize);\n point.multiply(BigInt(3)); // 3 is arbitrary, just need any number here\n return point;\n },\n };\n /**\n * Computes public key for a private key. Checks for validity of the private key.\n * @param privateKey private key\n * @param isCompressed whether to return compact (default), or full key\n * @returns Public key, full when isCompressed=false; short when isCompressed=true\n */\n function getPublicKey(privateKey, isCompressed = true) {\n return Point.fromPrivateKey(privateKey).toRawBytes(isCompressed);\n }\n /**\n * Quick and dirty check for item being public key. Does not validate hex, or being on-curve.\n */\n function isProbPub(item) {\n const arr = item instanceof Uint8Array;\n const str = typeof item === 'string';\n const len = (arr || str) && item.length;\n if (arr)\n return len === compressedLen || len === uncompressedLen;\n if (str)\n return len === 2 * compressedLen || len === 2 * uncompressedLen;\n if (item instanceof Point)\n return true;\n return false;\n }\n /**\n * ECDH (Elliptic Curve Diffie Hellman).\n * Computes shared public key from private key and public key.\n * Checks: 1) private key validity 2) shared key is on-curve.\n * Does NOT hash the result.\n * @param privateA private key\n * @param publicB different public key\n * @param isCompressed whether to return compact (default), or full key\n * @returns shared public key\n */\n function getSharedSecret(privateA, publicB, isCompressed = true) {\n if (isProbPub(privateA))\n throw new Error('first arg must be private key');\n if (!isProbPub(publicB))\n throw new Error('second arg must be public key');\n const b = Point.fromHex(publicB); // check for being on-curve\n return b.multiply(normPrivateKeyToScalar(privateA)).toRawBytes(isCompressed);\n }\n // RFC6979: ensure ECDSA msg is X bytes and < N. RFC suggests optional truncating via bits2octets.\n // FIPS 186-4 4.6 suggests the leftmost min(nBitLen, outLen) bits, which matches bits2int.\n // bits2int can produce res>N, we can do mod(res, N) since the bitLen is the same.\n // int2octets can't be used; pads small msgs with 0: unacceptatble for trunc as per RFC vectors\n const bits2int = CURVE.bits2int ||\n function (bytes) {\n // For curves with nBitLength % 8 !== 0: bits2octets(bits2octets(m)) !== bits2octets(m)\n // for some cases, since bytes.length * 8 is not actual bitLength.\n const num = ut.bytesToNumberBE(bytes); // check for == u8 done here\n const delta = bytes.length * 8 - CURVE.nBitLength; // truncate to nBitLength leftmost bits\n return delta > 0 ? num >> BigInt(delta) : num;\n };\n const bits2int_modN = CURVE.bits2int_modN ||\n function (bytes) {\n return modN(bits2int(bytes)); // can't use bytesToNumberBE here\n };\n // NOTE: pads output with zero as per spec\n const ORDER_MASK = ut.bitMask(CURVE.nBitLength);\n /**\n * Converts to bytes. Checks if num in `[0..ORDER_MASK-1]` e.g.: `[0..2^256-1]`.\n */\n function int2octets(num) {\n if (typeof num !== 'bigint')\n throw new Error('bigint expected');\n if (!(_0n <= num && num < ORDER_MASK))\n throw new Error(`bigint expected < 2^${CURVE.nBitLength}`);\n // works with order, can have different size than numToField!\n return ut.numberToBytesBE(num, CURVE.nByteLength);\n }\n // Steps A, D of RFC6979 3.2\n // Creates RFC6979 seed; converts msg/privKey to numbers.\n // Used only in sign, not in verify.\n // NOTE: we cannot assume here that msgHash has same amount of bytes as curve order, this will be wrong at least for P521.\n // Also it can be bigger for P224 + SHA256\n function prepSig(msgHash, privateKey, opts = defaultSigOpts) {\n if (['recovered', 'canonical'].some((k) => k in opts))\n throw new Error('sign() legacy options not supported');\n const { hash, randomBytes } = CURVE;\n let { lowS, prehash, extraEntropy: ent } = opts; // generates low-s sigs by default\n if (lowS == null)\n lowS = true; // RFC6979 3.2: we skip step A, because we already provide hash\n msgHash = ensureBytes('msgHash', msgHash);\n if (prehash)\n msgHash = ensureBytes('prehashed msgHash', hash(msgHash));\n // We can't later call bits2octets, since nested bits2int is broken for curves\n // with nBitLength % 8 !== 0. Because of that, we unwrap it here as int2octets call.\n // const bits2octets = (bits) => int2octets(bits2int_modN(bits))\n const h1int = bits2int_modN(msgHash);\n const d = normPrivateKeyToScalar(privateKey); // validate private key, convert to bigint\n const seedArgs = [int2octets(d), int2octets(h1int)];\n // extraEntropy. RFC6979 3.6: additional k' (optional).\n if (ent != null) {\n // K = HMAC_K(V || 0x00 || int2octets(x) || bits2octets(h1) || k')\n const e = ent === true ? randomBytes(Fp.BYTES) : ent; // generate random bytes OR pass as-is\n seedArgs.push(ensureBytes('extraEntropy', e)); // check for being bytes\n }\n const seed = ut.concatBytes(...seedArgs); // Step D of RFC6979 3.2\n const m = h1int; // NOTE: no need to call bits2int second time here, it is inside truncateHash!\n // Converts signature params into point w r/s, checks result for validity.\n function k2sig(kBytes) {\n // RFC 6979 Section 3.2, step 3: k = bits2int(T)\n const k = bits2int(kBytes); // Cannot use fields methods, since it is group element\n if (!isWithinCurveOrder(k))\n return; // Important: all mod() calls here must be done over N\n const ik = invN(k); // k^-1 mod n\n const q = Point.BASE.multiply(k).toAffine(); // q = Gk\n const r = modN(q.x); // r = q.x mod n\n if (r === _0n)\n return;\n // Can use scalar blinding b^-1(bm + bdr) where b ∈ [1,q−1] according to\n // https://tches.iacr.org/index.php/TCHES/article/view/7337/6509. We've decided against it:\n // a) dependency on CSPRNG b) 15% slowdown c) doesn't really help since bigints are not CT\n const s = modN(ik * modN(m + r * d)); // Not using blinding here\n if (s === _0n)\n return;\n let recovery = (q.x === r ? 0 : 2) | Number(q.y & _1n); // recovery bit (2 or 3, when q.x > n)\n let normS = s;\n if (lowS && isBiggerThanHalfOrder(s)) {\n normS = normalizeS(s); // if lowS was passed, ensure s is always\n recovery ^= 1; // // in the bottom half of N\n }\n return new Signature(r, normS, recovery); // use normS, not s\n }\n return { seed, k2sig };\n }\n const defaultSigOpts = { lowS: CURVE.lowS, prehash: false };\n const defaultVerOpts = { lowS: CURVE.lowS, prehash: false };\n /**\n * Signs message hash with a private key.\n * ```\n * sign(m, d, k) where\n * (x, y) = G × k\n * r = x mod n\n * s = (m + dr)/k mod n\n * ```\n * @param msgHash NOT message. msg needs to be hashed to `msgHash`, or use `prehash`.\n * @param privKey private key\n * @param opts lowS for non-malleable sigs. extraEntropy for mixing randomness into k. prehash will hash first arg.\n * @returns signature with recovery param\n */\n function sign(msgHash, privKey, opts = defaultSigOpts) {\n const { seed, k2sig } = prepSig(msgHash, privKey, opts); // Steps A, D of RFC6979 3.2.\n const C = CURVE;\n const drbg = ut.createHmacDrbg(C.hash.outputLen, C.nByteLength, C.hmac);\n return drbg(seed, k2sig); // Steps B, C, D, E, F, G\n }\n // Enable precomputes. Slows down first publicKey computation by 20ms.\n Point.BASE._setWindowSize(8);\n // utils.precompute(8, ProjectivePoint.BASE)\n /**\n * Verifies a signature against message hash and public key.\n * Rejects lowS signatures by default: to override,\n * specify option `{lowS: false}`. Implements section 4.1.4 from https://www.secg.org/sec1-v2.pdf:\n *\n * ```\n * verify(r, s, h, P) where\n * U1 = hs^-1 mod n\n * U2 = rs^-1 mod n\n * R = U1⋅G - U2⋅P\n * mod(R.x, n) == r\n * ```\n */\n function verify(signature, msgHash, publicKey, opts = defaultVerOpts) {\n const sg = signature;\n msgHash = ensureBytes('msgHash', msgHash);\n publicKey = ensureBytes('publicKey', publicKey);\n if ('strict' in opts)\n throw new Error('options.strict was renamed to lowS');\n const { lowS, prehash } = opts;\n let _sig = undefined;\n let P;\n try {\n if (typeof sg === 'string' || sg instanceof Uint8Array) {\n // Signature can be represented in 2 ways: compact (2*nByteLength) & DER (variable-length).\n // Since DER can also be 2*nByteLength bytes, we check for it first.\n try {\n _sig = Signature.fromDER(sg);\n }\n catch (derError) {\n if (!(derError instanceof DER.Err))\n throw derError;\n _sig = Signature.fromCompact(sg);\n }\n }\n else if (typeof sg === 'object' && typeof sg.r === 'bigint' && typeof sg.s === 'bigint') {\n const { r, s } = sg;\n _sig = new Signature(r, s);\n }\n else {\n throw new Error('PARSE');\n }\n P = Point.fromHex(publicKey);\n }\n catch (error) {\n if (error.message === 'PARSE')\n throw new Error(`signature must be Signature instance, Uint8Array or hex string`);\n return false;\n }\n if (lowS && _sig.hasHighS())\n return false;\n if (prehash)\n msgHash = CURVE.hash(msgHash);\n const { r, s } = _sig;\n const h = bits2int_modN(msgHash); // Cannot use fields methods, since it is group element\n const is = invN(s); // s^-1\n const u1 = modN(h * is); // u1 = hs^-1 mod n\n const u2 = modN(r * is); // u2 = rs^-1 mod n\n const R = Point.BASE.multiplyAndAddUnsafe(P, u1, u2)?.toAffine(); // R = u1⋅G + u2⋅P\n if (!R)\n return false;\n const v = modN(R.x);\n return v === r;\n }\n return {\n CURVE,\n getPublicKey,\n getSharedSecret,\n sign,\n verify,\n ProjectivePoint: Point,\n Signature,\n utils,\n };\n}\n/**\n * Implementation of the Shallue and van de Woestijne method for any weierstrass curve.\n * TODO: check if there is a way to merge this with uvRatio in Edwards; move to modular.\n * b = True and y = sqrt(u / v) if (u / v) is square in F, and\n * b = False and y = sqrt(Z * (u / v)) otherwise.\n * @param Fp\n * @param Z\n * @returns\n */\nexport function SWUFpSqrtRatio(Fp, Z) {\n // Generic implementation\n const q = Fp.ORDER;\n let l = _0n;\n for (let o = q - _1n; o % _2n === _0n; o /= _2n)\n l += _1n;\n const c1 = l; // 1. c1, the largest integer such that 2^c1 divides q - 1.\n // We need 2n ** c1 and 2n ** (c1-1). We can't use **; but we can use <<.\n // 2n ** c1 == 2n << (c1-1)\n const _2n_pow_c1_1 = _2n << (c1 - _1n - _1n);\n const _2n_pow_c1 = _2n_pow_c1_1 * _2n;\n const c2 = (q - _1n) / _2n_pow_c1; // 2. c2 = (q - 1) / (2^c1) # Integer arithmetic\n const c3 = (c2 - _1n) / _2n; // 3. c3 = (c2 - 1) / 2 # Integer arithmetic\n const c4 = _2n_pow_c1 - _1n; // 4. c4 = 2^c1 - 1 # Integer arithmetic\n const c5 = _2n_pow_c1_1; // 5. c5 = 2^(c1 - 1) # Integer arithmetic\n const c6 = Fp.pow(Z, c2); // 6. c6 = Z^c2\n const c7 = Fp.pow(Z, (c2 + _1n) / _2n); // 7. c7 = Z^((c2 + 1) / 2)\n let sqrtRatio = (u, v) => {\n let tv1 = c6; // 1. tv1 = c6\n let tv2 = Fp.pow(v, c4); // 2. tv2 = v^c4\n let tv3 = Fp.sqr(tv2); // 3. tv3 = tv2^2\n tv3 = Fp.mul(tv3, v); // 4. tv3 = tv3 * v\n let tv5 = Fp.mul(u, tv3); // 5. tv5 = u * tv3\n tv5 = Fp.pow(tv5, c3); // 6. tv5 = tv5^c3\n tv5 = Fp.mul(tv5, tv2); // 7. tv5 = tv5 * tv2\n tv2 = Fp.mul(tv5, v); // 8. tv2 = tv5 * v\n tv3 = Fp.mul(tv5, u); // 9. tv3 = tv5 * u\n let tv4 = Fp.mul(tv3, tv2); // 10. tv4 = tv3 * tv2\n tv5 = Fp.pow(tv4, c5); // 11. tv5 = tv4^c5\n let isQR = Fp.eql(tv5, Fp.ONE); // 12. isQR = tv5 == 1\n tv2 = Fp.mul(tv3, c7); // 13. tv2 = tv3 * c7\n tv5 = Fp.mul(tv4, tv1); // 14. tv5 = tv4 * tv1\n tv3 = Fp.cmov(tv2, tv3, isQR); // 15. tv3 = CMOV(tv2, tv3, isQR)\n tv4 = Fp.cmov(tv5, tv4, isQR); // 16. tv4 = CMOV(tv5, tv4, isQR)\n // 17. for i in (c1, c1 - 1, ..., 2):\n for (let i = c1; i > _1n; i--) {\n let tv5 = i - _2n; // 18. tv5 = i - 2\n tv5 = _2n << (tv5 - _1n); // 19. tv5 = 2^tv5\n let tvv5 = Fp.pow(tv4, tv5); // 20. tv5 = tv4^tv5\n const e1 = Fp.eql(tvv5, Fp.ONE); // 21. e1 = tv5 == 1\n tv2 = Fp.mul(tv3, tv1); // 22. tv2 = tv3 * tv1\n tv1 = Fp.mul(tv1, tv1); // 23. tv1 = tv1 * tv1\n tvv5 = Fp.mul(tv4, tv1); // 24. tv5 = tv4 * tv1\n tv3 = Fp.cmov(tv2, tv3, e1); // 25. tv3 = CMOV(tv2, tv3, e1)\n tv4 = Fp.cmov(tvv5, tv4, e1); // 26. tv4 = CMOV(tv5, tv4, e1)\n }\n return { isValid: isQR, value: tv3 };\n };\n if (Fp.ORDER % _4n === _3n) {\n // sqrt_ratio_3mod4(u, v)\n const c1 = (Fp.ORDER - _3n) / _4n; // 1. c1 = (q - 3) / 4 # Integer arithmetic\n const c2 = Fp.sqrt(Fp.neg(Z)); // 2. c2 = sqrt(-Z)\n sqrtRatio = (u, v) => {\n let tv1 = Fp.sqr(v); // 1. tv1 = v^2\n const tv2 = Fp.mul(u, v); // 2. tv2 = u * v\n tv1 = Fp.mul(tv1, tv2); // 3. tv1 = tv1 * tv2\n let y1 = Fp.pow(tv1, c1); // 4. y1 = tv1^c1\n y1 = Fp.mul(y1, tv2); // 5. y1 = y1 * tv2\n const y2 = Fp.mul(y1, c2); // 6. y2 = y1 * c2\n const tv3 = Fp.mul(Fp.sqr(y1), v); // 7. tv3 = y1^2; 8. tv3 = tv3 * v\n const isQR = Fp.eql(tv3, u); // 9. isQR = tv3 == u\n let y = Fp.cmov(y2, y1, isQR); // 10. y = CMOV(y2, y1, isQR)\n return { isValid: isQR, value: y }; // 11. return (isQR, y) isQR ? y : y*c2\n };\n }\n // No curves uses that\n // if (Fp.ORDER % _8n === _5n) // sqrt_ratio_5mod8\n return sqrtRatio;\n}\n/**\n * Simplified Shallue-van de Woestijne-Ulas Method\n * https://www.rfc-editor.org/rfc/rfc9380#section-6.6.2\n */\nexport function mapToCurveSimpleSWU(Fp, opts) {\n mod.validateField(Fp);\n if (!Fp.isValid(opts.A) || !Fp.isValid(opts.B) || !Fp.isValid(opts.Z))\n throw new Error('mapToCurveSimpleSWU: invalid opts');\n const sqrtRatio = SWUFpSqrtRatio(Fp, opts.Z);\n if (!Fp.isOdd)\n throw new Error('Fp.isOdd is not implemented!');\n // Input: u, an element of F.\n // Output: (x, y), a point on E.\n return (u) => {\n // prettier-ignore\n let tv1, tv2, tv3, tv4, tv5, tv6, x, y;\n tv1 = Fp.sqr(u); // 1. tv1 = u^2\n tv1 = Fp.mul(tv1, opts.Z); // 2. tv1 = Z * tv1\n tv2 = Fp.sqr(tv1); // 3. tv2 = tv1^2\n tv2 = Fp.add(tv2, tv1); // 4. tv2 = tv2 + tv1\n tv3 = Fp.add(tv2, Fp.ONE); // 5. tv3 = tv2 + 1\n tv3 = Fp.mul(tv3, opts.B); // 6. tv3 = B * tv3\n tv4 = Fp.cmov(opts.Z, Fp.neg(tv2), !Fp.eql(tv2, Fp.ZERO)); // 7. tv4 = CMOV(Z, -tv2, tv2 != 0)\n tv4 = Fp.mul(tv4, opts.A); // 8. tv4 = A * tv4\n tv2 = Fp.sqr(tv3); // 9. tv2 = tv3^2\n tv6 = Fp.sqr(tv4); // 10. tv6 = tv4^2\n tv5 = Fp.mul(tv6, opts.A); // 11. tv5 = A * tv6\n tv2 = Fp.add(tv2, tv5); // 12. tv2 = tv2 + tv5\n tv2 = Fp.mul(tv2, tv3); // 13. tv2 = tv2 * tv3\n tv6 = Fp.mul(tv6, tv4); // 14. tv6 = tv6 * tv4\n tv5 = Fp.mul(tv6, opts.B); // 15. tv5 = B * tv6\n tv2 = Fp.add(tv2, tv5); // 16. tv2 = tv2 + tv5\n x = Fp.mul(tv1, tv3); // 17. x = tv1 * tv3\n const { isValid, value } = sqrtRatio(tv2, tv6); // 18. (is_gx1_square, y1) = sqrt_ratio(tv2, tv6)\n y = Fp.mul(tv1, u); // 19. y = tv1 * u -> Z * u^3 * y1\n y = Fp.mul(y, value); // 20. y = y * y1\n x = Fp.cmov(x, tv3, isValid); // 21. x = CMOV(x, tv3, is_gx1_square)\n y = Fp.cmov(y, value, isValid); // 22. y = CMOV(y, y1, is_gx1_square)\n const e1 = Fp.isOdd(u) === Fp.isOdd(y); // 23. e1 = sgn0(u) == sgn0(y)\n y = Fp.cmov(Fp.neg(y), y, e1); // 24. y = CMOV(-y, y, e1)\n x = Fp.div(x, tv4); // 25. x = x / tv4\n return { x, y };\n };\n}\n//# sourceMappingURL=weierstrass.js.map","/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nimport { hmac } from '@noble/hashes/hmac';\nimport { concatBytes, randomBytes } from '@noble/hashes/utils';\nimport { weierstrass } from './abstract/weierstrass.js';\n// connects noble-curves to noble-hashes\nexport function getHash(hash) {\n return {\n hash,\n hmac: (key, ...msgs) => hmac(hash, key, concatBytes(...msgs)),\n randomBytes,\n };\n}\nexport function createCurve(curveDef, defHash) {\n const create = (hash) => weierstrass({ ...curveDef, ...getHash(hash) });\n return Object.freeze({ ...create(defHash), create });\n}\n//# sourceMappingURL=_shortw_utils.js.map","/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nimport { sha256 } from '@noble/hashes/sha256';\nimport { randomBytes } from '@noble/hashes/utils';\nimport { Field, mod, pow2 } from './abstract/modular.js';\nimport { mapToCurveSimpleSWU } from './abstract/weierstrass.js';\nimport { bytesToNumberBE, concatBytes, ensureBytes, numberToBytesBE } from './abstract/utils.js';\nimport { createHasher, isogenyMap } from './abstract/hash-to-curve.js';\nimport { createCurve } from './_shortw_utils.js';\nconst secp256k1P = BigInt('0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f');\nconst secp256k1N = BigInt('0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141');\nconst _1n = BigInt(1);\nconst _2n = BigInt(2);\nconst divNearest = (a, b) => (a + b / _2n) / b;\n/**\n * √n = n^((p+1)/4) for fields p = 3 mod 4. We unwrap the loop and multiply bit-by-bit.\n * (P+1n/4n).toString(2) would produce bits [223x 1, 0, 22x 1, 4x 0, 11, 00]\n */\nfunction sqrtMod(y) {\n const P = secp256k1P;\n // prettier-ignore\n const _3n = BigInt(3), _6n = BigInt(6), _11n = BigInt(11), _22n = BigInt(22);\n // prettier-ignore\n const _23n = BigInt(23), _44n = BigInt(44), _88n = BigInt(88);\n const b2 = (y * y * y) % P; // x^3, 11\n const b3 = (b2 * b2 * y) % P; // x^7\n const b6 = (pow2(b3, _3n, P) * b3) % P;\n const b9 = (pow2(b6, _3n, P) * b3) % P;\n const b11 = (pow2(b9, _2n, P) * b2) % P;\n const b22 = (pow2(b11, _11n, P) * b11) % P;\n const b44 = (pow2(b22, _22n, P) * b22) % P;\n const b88 = (pow2(b44, _44n, P) * b44) % P;\n const b176 = (pow2(b88, _88n, P) * b88) % P;\n const b220 = (pow2(b176, _44n, P) * b44) % P;\n const b223 = (pow2(b220, _3n, P) * b3) % P;\n const t1 = (pow2(b223, _23n, P) * b22) % P;\n const t2 = (pow2(t1, _6n, P) * b2) % P;\n const root = pow2(t2, _2n, P);\n if (!Fp.eql(Fp.sqr(root), y))\n throw new Error('Cannot find square root');\n return root;\n}\nconst Fp = Field(secp256k1P, undefined, undefined, { sqrt: sqrtMod });\nexport const secp256k1 = createCurve({\n a: BigInt(0),\n b: BigInt(7),\n Fp,\n n: secp256k1N,\n // Base point (x, y) aka generator point\n Gx: BigInt('55066263022277343669578718895168534326250603453777594175500187360389116729240'),\n Gy: BigInt('32670510020758816978083085130507043184471273380659243275938904335757337482424'),\n h: BigInt(1),\n lowS: true,\n /**\n * secp256k1 belongs to Koblitz curves: it has efficiently computable endomorphism.\n * Endomorphism uses 2x less RAM, speeds up precomputation by 2x and ECDH / key recovery by 20%.\n * For precomputed wNAF it trades off 1/2 init time & 1/3 ram for 20% perf hit.\n * Explanation: https://gist.github.com/paulmillr/eb670806793e84df628a7c434a873066\n */\n endo: {\n beta: BigInt('0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee'),\n splitScalar: (k) => {\n const n = secp256k1N;\n const a1 = BigInt('0x3086d221a7d46bcde86c90e49284eb15');\n const b1 = -_1n * BigInt('0xe4437ed6010e88286f547fa90abfe4c3');\n const a2 = BigInt('0x114ca50f7a8e2f3f657c1108d9d44cfd8');\n const b2 = a1;\n const POW_2_128 = BigInt('0x100000000000000000000000000000000'); // (2n**128n).toString(16)\n const c1 = divNearest(b2 * k, n);\n const c2 = divNearest(-b1 * k, n);\n let k1 = mod(k - c1 * a1 - c2 * a2, n);\n let k2 = mod(-c1 * b1 - c2 * b2, n);\n const k1neg = k1 > POW_2_128;\n const k2neg = k2 > POW_2_128;\n if (k1neg)\n k1 = n - k1;\n if (k2neg)\n k2 = n - k2;\n if (k1 > POW_2_128 || k2 > POW_2_128) {\n throw new Error('splitScalar: Endomorphism failed, k=' + k);\n }\n return { k1neg, k1, k2neg, k2 };\n },\n },\n}, sha256);\n// Schnorr signatures are superior to ECDSA from above. Below is Schnorr-specific BIP0340 code.\n// https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki\nconst _0n = BigInt(0);\nconst fe = (x) => typeof x === 'bigint' && _0n < x && x < secp256k1P;\nconst ge = (x) => typeof x === 'bigint' && _0n < x && x < secp256k1N;\n/** An object mapping tags to their tagged hash prefix of [SHA256(tag) | SHA256(tag)] */\nconst TAGGED_HASH_PREFIXES = {};\nfunction taggedHash(tag, ...messages) {\n let tagP = TAGGED_HASH_PREFIXES[tag];\n if (tagP === undefined) {\n const tagH = sha256(Uint8Array.from(tag, (c) => c.charCodeAt(0)));\n tagP = concatBytes(tagH, tagH);\n TAGGED_HASH_PREFIXES[tag] = tagP;\n }\n return sha256(concatBytes(tagP, ...messages));\n}\n// ECDSA compact points are 33-byte. Schnorr is 32: we strip first byte 0x02 or 0x03\nconst pointToBytes = (point) => point.toRawBytes(true).slice(1);\nconst numTo32b = (n) => numberToBytesBE(n, 32);\nconst modP = (x) => mod(x, secp256k1P);\nconst modN = (x) => mod(x, secp256k1N);\nconst Point = secp256k1.ProjectivePoint;\nconst GmulAdd = (Q, a, b) => Point.BASE.multiplyAndAddUnsafe(Q, a, b);\n// Calculate point, scalar and bytes\nfunction schnorrGetExtPubKey(priv) {\n let d_ = secp256k1.utils.normPrivateKeyToScalar(priv); // same method executed in fromPrivateKey\n let p = Point.fromPrivateKey(d_); // P = d'⋅G; 0 < d' < n check is done inside\n const scalar = p.hasEvenY() ? d_ : modN(-d_);\n return { scalar: scalar, bytes: pointToBytes(p) };\n}\n/**\n * lift_x from BIP340. Convert 32-byte x coordinate to elliptic curve point.\n * @returns valid point checked for being on-curve\n */\nfunction lift_x(x) {\n if (!fe(x))\n throw new Error('bad x: need 0 < x < p'); // Fail if x ≥ p.\n const xx = modP(x * x);\n const c = modP(xx * x + BigInt(7)); // Let c = x³ + 7 mod p.\n let y = sqrtMod(c); // Let y = c^(p+1)/4 mod p.\n if (y % _2n !== _0n)\n y = modP(-y); // Return the unique point P such that x(P) = x and\n const p = new Point(x, y, _1n); // y(P) = y if y mod 2 = 0 or y(P) = p-y otherwise.\n p.assertValidity();\n return p;\n}\n/**\n * Create tagged hash, convert it to bigint, reduce modulo-n.\n */\nfunction challenge(...args) {\n return modN(bytesToNumberBE(taggedHash('BIP0340/challenge', ...args)));\n}\n/**\n * Schnorr public key is just `x` coordinate of Point as per BIP340.\n */\nfunction schnorrGetPublicKey(privateKey) {\n return schnorrGetExtPubKey(privateKey).bytes; // d'=int(sk). Fail if d'=0 or d'≥n. Ret bytes(d'⋅G)\n}\n/**\n * Creates Schnorr signature as per BIP340. Verifies itself before returning anything.\n * auxRand is optional and is not the sole source of k generation: bad CSPRNG won't be dangerous.\n */\nfunction schnorrSign(message, privateKey, auxRand = randomBytes(32)) {\n const m = ensureBytes('message', message);\n const { bytes: px, scalar: d } = schnorrGetExtPubKey(privateKey); // checks for isWithinCurveOrder\n const a = ensureBytes('auxRand', auxRand, 32); // Auxiliary random data a: a 32-byte array\n const t = numTo32b(d ^ bytesToNumberBE(taggedHash('BIP0340/aux', a))); // Let t be the byte-wise xor of bytes(d) and hash/aux(a)\n const rand = taggedHash('BIP0340/nonce', t, px, m); // Let rand = hash/nonce(t || bytes(P) || m)\n const k_ = modN(bytesToNumberBE(rand)); // Let k' = int(rand) mod n\n if (k_ === _0n)\n throw new Error('sign failed: k is zero'); // Fail if k' = 0.\n const { bytes: rx, scalar: k } = schnorrGetExtPubKey(k_); // Let R = k'⋅G.\n const e = challenge(rx, px, m); // Let e = int(hash/challenge(bytes(R) || bytes(P) || m)) mod n.\n const sig = new Uint8Array(64); // Let sig = bytes(R) || bytes((k + ed) mod n).\n sig.set(rx, 0);\n sig.set(numTo32b(modN(k + e * d)), 32);\n // If Verify(bytes(P), m, sig) (see below) returns failure, abort\n if (!schnorrVerify(sig, m, px))\n throw new Error('sign: Invalid signature produced');\n return sig;\n}\n/**\n * Verifies Schnorr signature.\n * Will swallow errors & return false except for initial type validation of arguments.\n */\nfunction schnorrVerify(signature, message, publicKey) {\n const sig = ensureBytes('signature', signature, 64);\n const m = ensureBytes('message', message);\n const pub = ensureBytes('publicKey', publicKey, 32);\n try {\n const P = lift_x(bytesToNumberBE(pub)); // P = lift_x(int(pk)); fail if that fails\n const r = bytesToNumberBE(sig.subarray(0, 32)); // Let r = int(sig[0:32]); fail if r ≥ p.\n if (!fe(r))\n return false;\n const s = bytesToNumberBE(sig.subarray(32, 64)); // Let s = int(sig[32:64]); fail if s ≥ n.\n if (!ge(s))\n return false;\n const e = challenge(numTo32b(r), pointToBytes(P), m); // int(challenge(bytes(r)||bytes(P)||m))%n\n const R = GmulAdd(P, s, modN(-e)); // R = s⋅G - e⋅P\n if (!R || !R.hasEvenY() || R.toAffine().x !== r)\n return false; // -eP == (n-e)P\n return true; // Fail if is_infinite(R) / not has_even_y(R) / x(R) ≠ r.\n }\n catch (error) {\n return false;\n }\n}\nexport const schnorr = /* @__PURE__ */ (() => ({\n getPublicKey: schnorrGetPublicKey,\n sign: schnorrSign,\n verify: schnorrVerify,\n utils: {\n randomPrivateKey: secp256k1.utils.randomPrivateKey,\n lift_x,\n pointToBytes,\n numberToBytesBE,\n bytesToNumberBE,\n taggedHash,\n mod,\n },\n}))();\nconst isoMap = /* @__PURE__ */ (() => isogenyMap(Fp, [\n // xNum\n [\n '0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7',\n '0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581',\n '0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262',\n '0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c',\n ],\n // xDen\n [\n '0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b',\n '0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14',\n '0x0000000000000000000000000000000000000000000000000000000000000001', // LAST 1\n ],\n // yNum\n [\n '0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c',\n '0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3',\n '0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931',\n '0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84',\n ],\n // yDen\n [\n '0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b',\n '0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573',\n '0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f',\n '0x0000000000000000000000000000000000000000000000000000000000000001', // LAST 1\n ],\n].map((i) => i.map((j) => BigInt(j)))))();\nconst mapSWU = /* @__PURE__ */ (() => mapToCurveSimpleSWU(Fp, {\n A: BigInt('0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533'),\n B: BigInt('1771'),\n Z: Fp.create(BigInt('-11')),\n}))();\nconst htf = /* @__PURE__ */ (() => createHasher(secp256k1.ProjectivePoint, (scalars) => {\n const { x, y } = mapSWU(Fp.create(scalars[0]));\n return isoMap(x, y);\n}, {\n DST: 'secp256k1_XMD:SHA-256_SSWU_RO_',\n encodeDST: 'secp256k1_XMD:SHA-256_SSWU_NU_',\n p: Fp.ORDER,\n m: 1,\n k: 128,\n expand: 'xmd',\n hash: sha256,\n}))();\nexport const hashToCurve = /* @__PURE__ */ (() => htf.hashToCurve)();\nexport const encodeToCurve = /* @__PURE__ */ (() => htf.encodeToCurve)();\n//# sourceMappingURL=secp256k1.js.map","/**\n * A constant for the zero address.\n *\n * (**i.e.** ``\"0x0000000000000000000000000000000000000000\"``)\n */\nexport const ZeroAddress = \"0x0000000000000000000000000000000000000000\";\n//# sourceMappingURL=addresses.js.map","/**\n * A constant for the zero hash.\n *\n * (**i.e.** ``\"0x0000000000000000000000000000000000000000000000000000000000000000\"``)\n */\nexport const ZeroHash = \"0x0000000000000000000000000000000000000000000000000000000000000000\";\n//# sourceMappingURL=hashes.js.map","/**\n * A constant for the order N for the secp256k1 curve.\n *\n * (**i.e.** ``0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141n``)\n */\nexport const N = BigInt(\"0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141\");\n/**\n * A constant for the number of wei in a single ether.\n *\n * (**i.e.** ``1000000000000000000n``)\n */\nexport const WeiPerEther = BigInt(\"1000000000000000000\");\n/**\n * A constant for the maximum value for a ``uint256``.\n *\n * (**i.e.** ``0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn``)\n */\nexport const MaxUint256 = BigInt(\"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\");\n/**\n * A constant for the minimum value for an ``int256``.\n *\n * (**i.e.** ``-8000000000000000000000000000000000000000000000000000000000000000n``)\n */\nexport const MinInt256 = BigInt(\"0x8000000000000000000000000000000000000000000000000000000000000000\") * BigInt(-1);\n/**\n * A constant for the maximum value for an ``int256``.\n *\n * (**i.e.** ``0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn``)\n */\nexport const MaxInt256 = BigInt(\"0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\");\n//# sourceMappingURL=numbers.js.map","// NFKC (composed) // (decomposed)\n/**\n * A constant for the ether symbol (normalized using NFKC).\n *\n * (**i.e.** ``\"\\\\u039e\"``)\n */\nexport const EtherSymbol = \"\\u039e\"; // \"\\uD835\\uDF63\";\n/**\n * A constant for the [[link-eip-191]] personal message prefix.\n *\n * (**i.e.** ``\"\\\\x19Ethereum Signed Message:\\\\n\"``)\n */\nexport const MessagePrefix = \"\\x19Ethereum Signed Message:\\n\";\n//# sourceMappingURL=strings.js.map","import { ZeroHash } from \"../constants/index.js\";\nimport { concat, dataLength, getBigInt, getBytes, getNumber, hexlify, toBeArray, isHexString, zeroPadValue, assertArgument, assertPrivate } from \"../utils/index.js\";\n// Constants\nconst BN_0 = BigInt(0);\nconst BN_1 = BigInt(1);\nconst BN_2 = BigInt(2);\nconst BN_27 = BigInt(27);\nconst BN_28 = BigInt(28);\nconst BN_35 = BigInt(35);\nconst _guard = {};\nfunction toUint256(value) {\n return zeroPadValue(toBeArray(value), 32);\n}\n/**\n * A Signature @TODO\n *\n *\n * @_docloc: api/crypto:Signing\n */\nexport class Signature {\n #r;\n #s;\n #v;\n #networkV;\n /**\n * The ``r`` value for a signautre.\n *\n * This represents the ``x`` coordinate of a \"reference\" or\n * challenge point, from which the ``y`` can be computed.\n */\n get r() { return this.#r; }\n set r(value) {\n assertArgument(dataLength(value) === 32, \"invalid r\", \"value\", value);\n this.#r = hexlify(value);\n }\n /**\n * The ``s`` value for a signature.\n */\n get s() { return this.#s; }\n set s(_value) {\n assertArgument(dataLength(_value) === 32, \"invalid s\", \"value\", _value);\n const value = hexlify(_value);\n assertArgument(parseInt(value.substring(0, 3)) < 8, \"non-canonical s\", \"value\", value);\n this.#s = value;\n }\n /**\n * The ``v`` value for a signature.\n *\n * Since a given ``x`` value for ``r`` has two possible values for\n * its correspondin ``y``, the ``v`` indicates which of the two ``y``\n * values to use.\n *\n * It is normalized to the values ``27`` or ``28`` for legacy\n * purposes.\n */\n get v() { return this.#v; }\n set v(value) {\n const v = getNumber(value, \"value\");\n assertArgument(v === 27 || v === 28, \"invalid v\", \"v\", value);\n this.#v = v;\n }\n /**\n * The EIP-155 ``v`` for legacy transactions. For non-legacy\n * transactions, this value is ``null``.\n */\n get networkV() { return this.#networkV; }\n /**\n * The chain ID for EIP-155 legacy transactions. For non-legacy\n * transactions, this value is ``null``.\n */\n get legacyChainId() {\n const v = this.networkV;\n if (v == null) {\n return null;\n }\n return Signature.getChainId(v);\n }\n /**\n * The ``yParity`` for the signature.\n *\n * See ``v`` for more details on how this value is used.\n */\n get yParity() {\n return (this.v === 27) ? 0 : 1;\n }\n /**\n * The [[link-eip-2098]] compact representation of the ``yParity``\n * and ``s`` compacted into a single ``bytes32``.\n */\n get yParityAndS() {\n // The EIP-2098 compact representation\n const yParityAndS = getBytes(this.s);\n if (this.yParity) {\n yParityAndS[0] |= 0x80;\n }\n return hexlify(yParityAndS);\n }\n /**\n * The [[link-eip-2098]] compact representation.\n */\n get compactSerialized() {\n return concat([this.r, this.yParityAndS]);\n }\n /**\n * The serialized representation.\n */\n get serialized() {\n return concat([this.r, this.s, (this.yParity ? \"0x1c\" : \"0x1b\")]);\n }\n /**\n * @private\n */\n constructor(guard, r, s, v) {\n assertPrivate(guard, _guard, \"Signature\");\n this.#r = r;\n this.#s = s;\n this.#v = v;\n this.#networkV = null;\n }\n [Symbol.for('nodejs.util.inspect.custom')]() {\n return `Signature { r: \"${this.r}\", s: \"${this.s}\", yParity: ${this.yParity}, networkV: ${this.networkV} }`;\n }\n /**\n * Returns a new identical [[Signature]].\n */\n clone() {\n const clone = new Signature(_guard, this.r, this.s, this.v);\n if (this.networkV) {\n clone.#networkV = this.networkV;\n }\n return clone;\n }\n /**\n * Returns a representation that is compatible with ``JSON.stringify``.\n */\n toJSON() {\n const networkV = this.networkV;\n return {\n _type: \"signature\",\n networkV: ((networkV != null) ? networkV.toString() : null),\n r: this.r, s: this.s, v: this.v,\n };\n }\n /**\n * Compute the chain ID from the ``v`` in a legacy EIP-155 transactions.\n *\n * @example:\n * Signature.getChainId(45)\n * //_result:\n *\n * Signature.getChainId(46)\n * //_result:\n */\n static getChainId(v) {\n const bv = getBigInt(v, \"v\");\n // The v is not an EIP-155 v, so it is the unspecified chain ID\n if ((bv == BN_27) || (bv == BN_28)) {\n return BN_0;\n }\n // Bad value for an EIP-155 v\n assertArgument(bv >= BN_35, \"invalid EIP-155 v\", \"v\", v);\n return (bv - BN_35) / BN_2;\n }\n /**\n * Compute the ``v`` for a chain ID for a legacy EIP-155 transactions.\n *\n * Legacy transactions which use [[link-eip-155]] hijack the ``v``\n * property to include the chain ID.\n *\n * @example:\n * Signature.getChainIdV(5, 27)\n * //_result:\n *\n * Signature.getChainIdV(5, 28)\n * //_result:\n *\n */\n static getChainIdV(chainId, v) {\n return (getBigInt(chainId) * BN_2) + BigInt(35 + v - 27);\n }\n /**\n * Compute the normalized legacy transaction ``v`` from a ``yParirty``,\n * a legacy transaction ``v`` or a legacy [[link-eip-155]] transaction.\n *\n * @example:\n * // The values 0 and 1 imply v is actually yParity\n * Signature.getNormalizedV(0)\n * //_result:\n *\n * // Legacy non-EIP-1559 transaction (i.e. 27 or 28)\n * Signature.getNormalizedV(27)\n * //_result:\n *\n * // Legacy EIP-155 transaction (i.e. >= 35)\n * Signature.getNormalizedV(46)\n * //_result:\n *\n * // Invalid values throw\n * Signature.getNormalizedV(5)\n * //_error:\n */\n static getNormalizedV(v) {\n const bv = getBigInt(v);\n if (bv === BN_0 || bv === BN_27) {\n return 27;\n }\n if (bv === BN_1 || bv === BN_28) {\n return 28;\n }\n assertArgument(bv >= BN_35, \"invalid v\", \"v\", v);\n // Otherwise, EIP-155 v means odd is 27 and even is 28\n return (bv & BN_1) ? 27 : 28;\n }\n /**\n * Creates a new [[Signature]].\n *\n * If no %%sig%% is provided, a new [[Signature]] is created\n * with default values.\n *\n * If %%sig%% is a string, it is parsed.\n */\n static from(sig) {\n function assertError(check, message) {\n assertArgument(check, message, \"signature\", sig);\n }\n ;\n if (sig == null) {\n return new Signature(_guard, ZeroHash, ZeroHash, 27);\n }\n if (typeof (sig) === \"string\") {\n const bytes = getBytes(sig, \"signature\");\n if (bytes.length === 64) {\n const r = hexlify(bytes.slice(0, 32));\n const s = bytes.slice(32, 64);\n const v = (s[0] & 0x80) ? 28 : 27;\n s[0] &= 0x7f;\n return new Signature(_guard, r, hexlify(s), v);\n }\n if (bytes.length === 65) {\n const r = hexlify(bytes.slice(0, 32));\n const s = bytes.slice(32, 64);\n assertError((s[0] & 0x80) === 0, \"non-canonical s\");\n const v = Signature.getNormalizedV(bytes[64]);\n return new Signature(_guard, r, hexlify(s), v);\n }\n assertError(false, \"invalid raw signature length\");\n }\n if (sig instanceof Signature) {\n return sig.clone();\n }\n // Get r\n const _r = sig.r;\n assertError(_r != null, \"missing r\");\n const r = toUint256(_r);\n // Get s; by any means necessary (we check consistency below)\n const s = (function (s, yParityAndS) {\n if (s != null) {\n return toUint256(s);\n }\n if (yParityAndS != null) {\n assertError(isHexString(yParityAndS, 32), \"invalid yParityAndS\");\n const bytes = getBytes(yParityAndS);\n bytes[0] &= 0x7f;\n return hexlify(bytes);\n }\n assertError(false, \"missing s\");\n })(sig.s, sig.yParityAndS);\n assertError((getBytes(s)[0] & 0x80) == 0, \"non-canonical s\");\n // Get v; by any means necessary (we check consistency below)\n const { networkV, v } = (function (_v, yParityAndS, yParity) {\n if (_v != null) {\n const v = getBigInt(_v);\n return {\n networkV: ((v >= BN_35) ? v : undefined),\n v: Signature.getNormalizedV(v)\n };\n }\n if (yParityAndS != null) {\n assertError(isHexString(yParityAndS, 32), \"invalid yParityAndS\");\n return { v: ((getBytes(yParityAndS)[0] & 0x80) ? 28 : 27) };\n }\n if (yParity != null) {\n switch (getNumber(yParity, \"sig.yParity\")) {\n case 0: return { v: 27 };\n case 1: return { v: 28 };\n }\n assertError(false, \"invalid yParity\");\n }\n assertError(false, \"missing v\");\n })(sig.v, sig.yParityAndS, sig.yParity);\n const result = new Signature(_guard, r, s, v);\n if (networkV) {\n result.#networkV = networkV;\n }\n // If multiple of v, yParity, yParityAndS we given, check they match\n assertError(sig.yParity == null || getNumber(sig.yParity, \"sig.yParity\") === result.yParity, \"yParity mismatch\");\n assertError(sig.yParityAndS == null || sig.yParityAndS === result.yParityAndS, \"yParityAndS mismatch\");\n return result;\n }\n}\n//# sourceMappingURL=signature.js.map","/**\n * Add details about signing here.\n *\n * @_subsection: api/crypto:Signing [about-signing]\n */\nimport { secp256k1 } from \"@noble/curves/secp256k1\";\nimport { concat, dataLength, getBytes, getBytesCopy, hexlify, toBeHex, assertArgument } from \"../utils/index.js\";\nimport { Signature } from \"./signature.js\";\n/**\n * A **SigningKey** provides high-level access to the elliptic curve\n * cryptography (ECC) operations and key management.\n */\nexport class SigningKey {\n #privateKey;\n /**\n * Creates a new **SigningKey** for %%privateKey%%.\n */\n constructor(privateKey) {\n assertArgument(dataLength(privateKey) === 32, \"invalid private key\", \"privateKey\", \"[REDACTED]\");\n this.#privateKey = hexlify(privateKey);\n }\n /**\n * The private key.\n */\n get privateKey() { return this.#privateKey; }\n /**\n * The uncompressed public key.\n *\n * This will always begin with the prefix ``0x04`` and be 132\n * characters long (the ``0x`` prefix and 130 hexadecimal nibbles).\n */\n get publicKey() { return SigningKey.computePublicKey(this.#privateKey); }\n /**\n * The compressed public key.\n *\n * This will always begin with either the prefix ``0x02`` or ``0x03``\n * and be 68 characters long (the ``0x`` prefix and 33 hexadecimal\n * nibbles)\n */\n get compressedPublicKey() { return SigningKey.computePublicKey(this.#privateKey, true); }\n /**\n * Return the signature of the signed %%digest%%.\n */\n sign(digest) {\n assertArgument(dataLength(digest) === 32, \"invalid digest length\", \"digest\", digest);\n const sig = secp256k1.sign(getBytesCopy(digest), getBytesCopy(this.#privateKey), {\n lowS: true\n });\n return Signature.from({\n r: toBeHex(sig.r, 32),\n s: toBeHex(sig.s, 32),\n v: (sig.recovery ? 0x1c : 0x1b)\n });\n }\n /**\n * Returns the [[link-wiki-ecdh]] shared secret between this\n * private key and the %%other%% key.\n *\n * The %%other%% key may be any type of key, a raw public key,\n * a compressed/uncompressed pubic key or aprivate key.\n *\n * Best practice is usually to use a cryptographic hash on the\n * returned value before using it as a symetric secret.\n *\n * @example:\n * sign1 = new SigningKey(id(\"some-secret-1\"))\n * sign2 = new SigningKey(id(\"some-secret-2\"))\n *\n * // Notice that privA.computeSharedSecret(pubB)...\n * sign1.computeSharedSecret(sign2.publicKey)\n * //_result:\n *\n * // ...is equal to privB.computeSharedSecret(pubA).\n * sign2.computeSharedSecret(sign1.publicKey)\n * //_result:\n */\n computeSharedSecret(other) {\n const pubKey = SigningKey.computePublicKey(other);\n return hexlify(secp256k1.getSharedSecret(getBytesCopy(this.#privateKey), getBytes(pubKey), false));\n }\n /**\n * Compute the public key for %%key%%, optionally %%compressed%%.\n *\n * The %%key%% may be any type of key, a raw public key, a\n * compressed/uncompressed public key or private key.\n *\n * @example:\n * sign = new SigningKey(id(\"some-secret\"));\n *\n * // Compute the uncompressed public key for a private key\n * SigningKey.computePublicKey(sign.privateKey)\n * //_result:\n *\n * // Compute the compressed public key for a private key\n * SigningKey.computePublicKey(sign.privateKey, true)\n * //_result:\n *\n * // Compute the uncompressed public key\n * SigningKey.computePublicKey(sign.publicKey, false);\n * //_result:\n *\n * // Compute the Compressed a public key\n * SigningKey.computePublicKey(sign.publicKey, true);\n * //_result:\n */\n static computePublicKey(key, compressed) {\n let bytes = getBytes(key, \"key\");\n // private key\n if (bytes.length === 32) {\n const pubKey = secp256k1.getPublicKey(bytes, !!compressed);\n return hexlify(pubKey);\n }\n // raw public key; use uncompressed key with 0x04 prefix\n if (bytes.length === 64) {\n const pub = new Uint8Array(65);\n pub[0] = 0x04;\n pub.set(bytes, 1);\n bytes = pub;\n }\n const point = secp256k1.ProjectivePoint.fromHex(bytes);\n return hexlify(point.toRawBytes(compressed));\n }\n /**\n * Returns the public key for the private key which produced the\n * %%signature%% for the given %%digest%%.\n *\n * @example:\n * key = new SigningKey(id(\"some-secret\"))\n * digest = id(\"hello world\")\n * sig = key.sign(digest)\n *\n * // Notice the signer public key...\n * key.publicKey\n * //_result:\n *\n * // ...is equal to the recovered public key\n * SigningKey.recoverPublicKey(digest, sig)\n * //_result:\n *\n */\n static recoverPublicKey(digest, signature) {\n assertArgument(dataLength(digest) === 32, \"invalid digest length\", \"digest\", digest);\n const sig = Signature.from(signature);\n let secpSig = secp256k1.Signature.fromCompact(getBytesCopy(concat([sig.r, sig.s])));\n secpSig = secpSig.addRecoveryBit(sig.yParity);\n const pubKey = secpSig.recoverPublicKey(getBytesCopy(digest));\n assertArgument(pubKey != null, \"invalid signautre for digest\", \"signature\", signature);\n return \"0x\" + pubKey.toHex(false);\n }\n /**\n * Returns the point resulting from adding the ellipic curve points\n * %%p0%% and %%p1%%.\n *\n * This is not a common function most developers should require, but\n * can be useful for certain privacy-specific techniques.\n *\n * For example, it is used by [[HDNodeWallet]] to compute child\n * addresses from parent public keys and chain codes.\n */\n static addPoints(p0, p1, compressed) {\n const pub0 = secp256k1.ProjectivePoint.fromHex(SigningKey.computePublicKey(p0).substring(2));\n const pub1 = secp256k1.ProjectivePoint.fromHex(SigningKey.computePublicKey(p1).substring(2));\n return \"0x\" + pub0.add(pub1).toHex(!!compressed);\n }\n}\n//# sourceMappingURL=signing-key.js.map","/**\n * A fundamental building block of Ethereum is the underlying\n * cryptographic primitives.\n *\n * @_section: api/crypto:Cryptographic Functions [about-crypto]\n */\nnull;\n// We import all these so we can export lock()\nimport { computeHmac } from \"./hmac.js\";\nimport { keccak256 } from \"./keccak.js\";\nimport { ripemd160 } from \"./ripemd160.js\";\nimport { pbkdf2 } from \"./pbkdf2.js\";\nimport { randomBytes } from \"./random.js\";\nimport { scrypt, scryptSync } from \"./scrypt.js\";\nimport { sha256, sha512 } from \"./sha2.js\";\nexport { computeHmac, randomBytes, keccak256, ripemd160, sha256, sha512, pbkdf2, scrypt, scryptSync };\nexport { SigningKey } from \"./signing-key.js\";\nexport { Signature } from \"./signature.js\";\n/**\n * Once called, prevents any future change to the underlying cryptographic\n * primitives using the ``.register`` feature for hooks.\n */\nfunction lock() {\n computeHmac.lock();\n keccak256.lock();\n pbkdf2.lock();\n randomBytes.lock();\n ripemd160.lock();\n scrypt.lock();\n scryptSync.lock();\n sha256.lock();\n sha512.lock();\n randomBytes.lock();\n}\nexport { lock };\n//# sourceMappingURL=index.js.map","import { keccak256 } from \"../crypto/index.js\";\nimport { getBytes, assertArgument } from \"../utils/index.js\";\nconst BN_0 = BigInt(0);\nconst BN_36 = BigInt(36);\nfunction getChecksumAddress(address) {\n // if (!isHexString(address, 20)) {\n // logger.throwArgumentError(\"invalid address\", \"address\", address);\n // }\n address = address.toLowerCase();\n const chars = address.substring(2).split(\"\");\n const expanded = new Uint8Array(40);\n for (let i = 0; i < 40; i++) {\n expanded[i] = chars[i].charCodeAt(0);\n }\n const hashed = getBytes(keccak256(expanded));\n for (let i = 0; i < 40; i += 2) {\n if ((hashed[i >> 1] >> 4) >= 8) {\n chars[i] = chars[i].toUpperCase();\n }\n if ((hashed[i >> 1] & 0x0f) >= 8) {\n chars[i + 1] = chars[i + 1].toUpperCase();\n }\n }\n return \"0x\" + chars.join(\"\");\n}\n// See: https://en.wikipedia.org/wiki/International_Bank_Account_Number\n// Create lookup table\nconst ibanLookup = {};\nfor (let i = 0; i < 10; i++) {\n ibanLookup[String(i)] = String(i);\n}\nfor (let i = 0; i < 26; i++) {\n ibanLookup[String.fromCharCode(65 + i)] = String(10 + i);\n}\n// How many decimal digits can we process? (for 64-bit float, this is 15)\n// i.e. Math.floor(Math.log10(Number.MAX_SAFE_INTEGER));\nconst safeDigits = 15;\nfunction ibanChecksum(address) {\n address = address.toUpperCase();\n address = address.substring(4) + address.substring(0, 2) + \"00\";\n let expanded = address.split(\"\").map((c) => { return ibanLookup[c]; }).join(\"\");\n // Javascript can handle integers safely up to 15 (decimal) digits\n while (expanded.length >= safeDigits) {\n let block = expanded.substring(0, safeDigits);\n expanded = parseInt(block, 10) % 97 + expanded.substring(block.length);\n }\n let checksum = String(98 - (parseInt(expanded, 10) % 97));\n while (checksum.length < 2) {\n checksum = \"0\" + checksum;\n }\n return checksum;\n}\n;\nconst Base36 = (function () {\n ;\n const result = {};\n for (let i = 0; i < 36; i++) {\n const key = \"0123456789abcdefghijklmnopqrstuvwxyz\"[i];\n result[key] = BigInt(i);\n }\n return result;\n})();\nfunction fromBase36(value) {\n value = value.toLowerCase();\n let result = BN_0;\n for (let i = 0; i < value.length; i++) {\n result = result * BN_36 + Base36[value[i]];\n }\n return result;\n}\n/**\n * Returns a normalized and checksumed address for %%address%%.\n * This accepts non-checksum addresses, checksum addresses and\n * [[getIcapAddress]] formats.\n *\n * The checksum in Ethereum uses the capitalization (upper-case\n * vs lower-case) of the characters within an address to encode\n * its checksum, which offers, on average, a checksum of 15-bits.\n *\n * If %%address%% contains both upper-case and lower-case, it is\n * assumed to already be a checksum address and its checksum is\n * validated, and if the address fails its expected checksum an\n * error is thrown.\n *\n * If you wish the checksum of %%address%% to be ignore, it should\n * be converted to lower-case (i.e. ``.toLowercase()``) before\n * being passed in. This should be a very rare situation though,\n * that you wish to bypass the safegaurds in place to protect\n * against an address that has been incorrectly copied from another\n * source.\n *\n * @example:\n * // Adds the checksum (via upper-casing specific letters)\n * getAddress(\"0x8ba1f109551bd432803012645ac136ddd64dba72\")\n * //_result:\n *\n * // Converts ICAP address and adds checksum\n * getAddress(\"XE65GB6LDNXYOFTX0NSV3FUWKOWIXAMJK36\");\n * //_result:\n *\n * // Throws an error if an address contains mixed case,\n * // but the checksum fails\n * getAddress(\"0x8Ba1f109551bD432803012645Ac136ddd64DBA72\")\n * //_error:\n */\nexport function getAddress(address) {\n assertArgument(typeof (address) === \"string\", \"invalid address\", \"address\", address);\n if (address.match(/^(0x)?[0-9a-fA-F]{40}$/)) {\n // Missing the 0x prefix\n if (!address.startsWith(\"0x\")) {\n address = \"0x\" + address;\n }\n const result = getChecksumAddress(address);\n // It is a checksummed address with a bad checksum\n assertArgument(!address.match(/([A-F].*[a-f])|([a-f].*[A-F])/) || result === address, \"bad address checksum\", \"address\", address);\n return result;\n }\n // Maybe ICAP? (we only support direct mode)\n if (address.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)) {\n // It is an ICAP address with a bad checksum\n assertArgument(address.substring(2, 4) === ibanChecksum(address), \"bad icap checksum\", \"address\", address);\n let result = fromBase36(address.substring(4)).toString(16);\n while (result.length < 40) {\n result = \"0\" + result;\n }\n return getChecksumAddress(\"0x\" + result);\n }\n assertArgument(false, \"invalid address\", \"address\", address);\n}\n/**\n * The [ICAP Address format](link-icap) format is an early checksum\n * format which attempts to be compatible with the banking\n * industry [IBAN format](link-wiki-iban) for bank accounts.\n *\n * It is no longer common or a recommended format.\n *\n * @example:\n * getIcapAddress(\"0x8ba1f109551bd432803012645ac136ddd64dba72\");\n * //_result:\n *\n * getIcapAddress(\"XE65GB6LDNXYOFTX0NSV3FUWKOWIXAMJK36\");\n * //_result:\n *\n * // Throws an error if the ICAP checksum is wrong\n * getIcapAddress(\"XE65GB6LDNXYOFTX0NSV3FUWKOWIXAMJK37\");\n * //_error:\n */\nexport function getIcapAddress(address) {\n //let base36 = _base16To36(getAddress(address).substring(2)).toUpperCase();\n let base36 = BigInt(getAddress(address)).toString(36).toUpperCase();\n while (base36.length < 30) {\n base36 = \"0\" + base36;\n }\n return \"XE\" + ibanChecksum(\"XE00\" + base36) + base36;\n}\n//# sourceMappingURL=address.js.map","import { keccak256 } from \"../crypto/index.js\";\nimport { concat, dataSlice, getBigInt, getBytes, encodeRlp, assertArgument } from \"../utils/index.js\";\nimport { getAddress } from \"./address.js\";\n// http://ethereum.stackexchange.com/questions/760/how-is-the-address-of-an-ethereum-contract-computed\n/**\n * Returns the address that would result from a ``CREATE`` for %%tx%%.\n *\n * This can be used to compute the address a contract will be\n * deployed to by an EOA when sending a deployment transaction (i.e.\n * when the ``to`` address is ``null``).\n *\n * This can also be used to compute the address a contract will be\n * deployed to by a contract, by using the contract's address as the\n * ``to`` and the contract's nonce.\n *\n * @example\n * from = \"0x8ba1f109551bD432803012645Ac136ddd64DBA72\";\n * nonce = 5;\n *\n * getCreateAddress({ from, nonce });\n * //_result:\n */\nexport function getCreateAddress(tx) {\n const from = getAddress(tx.from);\n const nonce = getBigInt(tx.nonce, \"tx.nonce\");\n let nonceHex = nonce.toString(16);\n if (nonceHex === \"0\") {\n nonceHex = \"0x\";\n }\n else if (nonceHex.length % 2) {\n nonceHex = \"0x0\" + nonceHex;\n }\n else {\n nonceHex = \"0x\" + nonceHex;\n }\n return getAddress(dataSlice(keccak256(encodeRlp([from, nonceHex])), 12));\n}\n/**\n * Returns the address that would result from a ``CREATE2`` operation\n * with the given %%from%%, %%salt%% and %%initCodeHash%%.\n *\n * To compute the %%initCodeHash%% from a contract's init code, use\n * the [[keccak256]] function.\n *\n * For a quick overview and example of ``CREATE2``, see [[link-ricmoo-wisps]].\n *\n * @example\n * // The address of the contract\n * from = \"0x8ba1f109551bD432803012645Ac136ddd64DBA72\"\n *\n * // The salt\n * salt = id(\"HelloWorld\")\n *\n * // The hash of the initCode\n * initCode = \"0x6394198df16000526103ff60206004601c335afa6040516060f3\";\n * initCodeHash = keccak256(initCode)\n *\n * getCreate2Address(from, salt, initCodeHash)\n * //_result:\n */\nexport function getCreate2Address(_from, _salt, _initCodeHash) {\n const from = getAddress(_from);\n const salt = getBytes(_salt, \"salt\");\n const initCodeHash = getBytes(_initCodeHash, \"initCodeHash\");\n assertArgument(salt.length === 32, \"salt must be 32 bytes\", \"salt\", _salt);\n assertArgument(initCodeHash.length === 32, \"initCodeHash must be 32 bytes\", \"initCodeHash\", _initCodeHash);\n return getAddress(dataSlice(keccak256(concat([\"0xff\", from, salt, initCodeHash])), 12));\n}\n//# sourceMappingURL=contract-address.js.map","import { assert, assertArgument } from \"../utils/index.js\";\nimport { getAddress } from \"./address.js\";\n/**\n * Returns true if %%value%% is an object which implements the\n * [[Addressable]] interface.\n *\n * @example:\n * // Wallets and AbstractSigner sub-classes\n * isAddressable(Wallet.createRandom())\n * //_result:\n *\n * // Contracts\n * contract = new Contract(\"dai.tokens.ethers.eth\", [ ], provider)\n * isAddressable(contract)\n * //_result:\n */\nexport function isAddressable(value) {\n return (value && typeof (value.getAddress) === \"function\");\n}\n/**\n * Returns true if %%value%% is a valid address.\n *\n * @example:\n * // Valid address\n * isAddress(\"0x8ba1f109551bD432803012645Ac136ddd64DBA72\")\n * //_result:\n *\n * // Valid ICAP address\n * isAddress(\"XE65GB6LDNXYOFTX0NSV3FUWKOWIXAMJK36\")\n * //_result:\n *\n * // Invalid checksum\n * isAddress(\"0x8Ba1f109551bD432803012645Ac136ddd64DBa72\")\n * //_result:\n *\n * // Invalid ICAP checksum\n * isAddress(\"0x8Ba1f109551bD432803012645Ac136ddd64DBA72\")\n * //_result:\n *\n * // Not an address (an ENS name requires a provided and an\n * // asynchronous API to access)\n * isAddress(\"ricmoo.eth\")\n * //_result:\n */\nexport function isAddress(value) {\n try {\n getAddress(value);\n return true;\n }\n catch (error) { }\n return false;\n}\nasync function checkAddress(target, promise) {\n const result = await promise;\n if (result == null || result === \"0x0000000000000000000000000000000000000000\") {\n assert(typeof (target) !== \"string\", \"unconfigured name\", \"UNCONFIGURED_NAME\", { value: target });\n assertArgument(false, \"invalid AddressLike value; did not resolve to a value address\", \"target\", target);\n }\n return getAddress(result);\n}\n/**\n * Resolves to an address for the %%target%%, which may be any\n * supported address type, an [[Addressable]] or a Promise which\n * resolves to an address.\n *\n * If an ENS name is provided, but that name has not been correctly\n * configured a [[UnconfiguredNameError]] is thrown.\n *\n * @example:\n * addr = \"0x6B175474E89094C44Da98b954EedeAC495271d0F\"\n *\n * // Addresses are return synchronously\n * resolveAddress(addr, provider)\n * //_result:\n *\n * // Address promises are resolved asynchronously\n * resolveAddress(Promise.resolve(addr))\n * //_result:\n *\n * // ENS names are resolved asynchronously\n * resolveAddress(\"dai.tokens.ethers.eth\", provider)\n * //_result:\n *\n * // Addressable objects are resolved asynchronously\n * contract = new Contract(addr, [ ])\n * resolveAddress(contract, provider)\n * //_result:\n *\n * // Unconfigured ENS names reject\n * resolveAddress(\"nothing-here.ricmoo.eth\", provider)\n * //_error:\n *\n * // ENS names require a NameResolver object passed in\n * // (notice the provider was omitted)\n * resolveAddress(\"nothing-here.ricmoo.eth\")\n * //_error:\n */\nexport function resolveAddress(target, resolver) {\n if (typeof (target) === \"string\") {\n if (target.match(/^0x[0-9a-f]{40}$/i)) {\n return getAddress(target);\n }\n assert(resolver != null, \"ENS resolution requires a provider\", \"UNSUPPORTED_OPERATION\", { operation: \"resolveName\" });\n return checkAddress(target, resolver.resolveName(target));\n }\n else if (isAddressable(target)) {\n return checkAddress(target, target.getAddress());\n }\n else if (target && typeof (target.then) === \"function\") {\n return checkAddress(target, target);\n }\n assertArgument(false, \"unsupported addressable value\", \"target\", target);\n}\n//# sourceMappingURL=checks.js.map","/**\n * A Typed object allows a value to have its type explicitly\n * specified.\n *\n * For example, in Solidity, the value ``45`` could represent a\n * ``uint8`` or a ``uint256``. The value ``0x1234`` could represent\n * a ``bytes2`` or ``bytes``.\n *\n * Since JavaScript has no meaningful way to explicitly inform any\n * APIs which what the type is, this allows transparent interoperation\n * with Soldity.\n *\n * @_subsection: api/abi:Typed Values\n */\nimport { assertPrivate, defineProperties } from \"../utils/index.js\";\nconst _gaurd = {};\nfunction n(value, width) {\n let signed = false;\n if (width < 0) {\n signed = true;\n width *= -1;\n }\n // @TODO: Check range is valid for value\n return new Typed(_gaurd, `${signed ? \"\" : \"u\"}int${width}`, value, { signed, width });\n}\nfunction b(value, size) {\n // @TODO: Check range is valid for value\n return new Typed(_gaurd, `bytes${(size) ? size : \"\"}`, value, { size });\n}\nconst _typedSymbol = Symbol.for(\"_ethers_typed\");\n/**\n * The **Typed** class to wrap values providing explicit type information.\n */\nexport class Typed {\n /**\n * The type, as a Solidity-compatible type.\n */\n type;\n /**\n * The actual value.\n */\n value;\n #options;\n /**\n * @_ignore:\n */\n _typedSymbol;\n /**\n * @_ignore:\n */\n constructor(gaurd, type, value, options) {\n if (options == null) {\n options = null;\n }\n assertPrivate(_gaurd, gaurd, \"Typed\");\n defineProperties(this, { _typedSymbol, type, value });\n this.#options = options;\n // Check the value is valid\n this.format();\n }\n /**\n * Format the type as a Human-Readable type.\n */\n format() {\n if (this.type === \"array\") {\n throw new Error(\"\");\n }\n else if (this.type === \"dynamicArray\") {\n throw new Error(\"\");\n }\n else if (this.type === \"tuple\") {\n return `tuple(${this.value.map((v) => v.format()).join(\",\")})`;\n }\n return this.type;\n }\n /**\n * The default value returned by this type.\n */\n defaultValue() {\n return 0;\n }\n /**\n * The minimum value for numeric types.\n */\n minValue() {\n return 0;\n }\n /**\n * The maximum value for numeric types.\n */\n maxValue() {\n return 0;\n }\n /**\n * Returns ``true`` and provides a type guard is this is a [[TypedBigInt]].\n */\n isBigInt() {\n return !!(this.type.match(/^u?int[0-9]+$/));\n }\n /**\n * Returns ``true`` and provides a type guard is this is a [[TypedData]].\n */\n isData() {\n return this.type.startsWith(\"bytes\");\n }\n /**\n * Returns ``true`` and provides a type guard is this is a [[TypedString]].\n */\n isString() {\n return (this.type === \"string\");\n }\n /**\n * Returns the tuple name, if this is a tuple. Throws otherwise.\n */\n get tupleName() {\n if (this.type !== \"tuple\") {\n throw TypeError(\"not a tuple\");\n }\n return this.#options;\n }\n // Returns the length of this type as an array\n // - `null` indicates the length is unforced, it could be dynamic\n // - `-1` indicates the length is dynamic\n // - any other value indicates it is a static array and is its length\n /**\n * Returns the length of the array type or ``-1`` if it is dynamic.\n *\n * Throws if the type is not an array.\n */\n get arrayLength() {\n if (this.type !== \"array\") {\n throw TypeError(\"not an array\");\n }\n if (this.#options === true) {\n return -1;\n }\n if (this.#options === false) {\n return (this.value).length;\n }\n return null;\n }\n /**\n * Returns a new **Typed** of %%type%% with the %%value%%.\n */\n static from(type, value) {\n return new Typed(_gaurd, type, value);\n }\n /**\n * Return a new ``uint8`` type for %%v%%.\n */\n static uint8(v) { return n(v, 8); }\n /**\n * Return a new ``uint16`` type for %%v%%.\n */\n static uint16(v) { return n(v, 16); }\n /**\n * Return a new ``uint24`` type for %%v%%.\n */\n static uint24(v) { return n(v, 24); }\n /**\n * Return a new ``uint32`` type for %%v%%.\n */\n static uint32(v) { return n(v, 32); }\n /**\n * Return a new ``uint40`` type for %%v%%.\n */\n static uint40(v) { return n(v, 40); }\n /**\n * Return a new ``uint48`` type for %%v%%.\n */\n static uint48(v) { return n(v, 48); }\n /**\n * Return a new ``uint56`` type for %%v%%.\n */\n static uint56(v) { return n(v, 56); }\n /**\n * Return a new ``uint64`` type for %%v%%.\n */\n static uint64(v) { return n(v, 64); }\n /**\n * Return a new ``uint72`` type for %%v%%.\n */\n static uint72(v) { return n(v, 72); }\n /**\n * Return a new ``uint80`` type for %%v%%.\n */\n static uint80(v) { return n(v, 80); }\n /**\n * Return a new ``uint88`` type for %%v%%.\n */\n static uint88(v) { return n(v, 88); }\n /**\n * Return a new ``uint96`` type for %%v%%.\n */\n static uint96(v) { return n(v, 96); }\n /**\n * Return a new ``uint104`` type for %%v%%.\n */\n static uint104(v) { return n(v, 104); }\n /**\n * Return a new ``uint112`` type for %%v%%.\n */\n static uint112(v) { return n(v, 112); }\n /**\n * Return a new ``uint120`` type for %%v%%.\n */\n static uint120(v) { return n(v, 120); }\n /**\n * Return a new ``uint128`` type for %%v%%.\n */\n static uint128(v) { return n(v, 128); }\n /**\n * Return a new ``uint136`` type for %%v%%.\n */\n static uint136(v) { return n(v, 136); }\n /**\n * Return a new ``uint144`` type for %%v%%.\n */\n static uint144(v) { return n(v, 144); }\n /**\n * Return a new ``uint152`` type for %%v%%.\n */\n static uint152(v) { return n(v, 152); }\n /**\n * Return a new ``uint160`` type for %%v%%.\n */\n static uint160(v) { return n(v, 160); }\n /**\n * Return a new ``uint168`` type for %%v%%.\n */\n static uint168(v) { return n(v, 168); }\n /**\n * Return a new ``uint176`` type for %%v%%.\n */\n static uint176(v) { return n(v, 176); }\n /**\n * Return a new ``uint184`` type for %%v%%.\n */\n static uint184(v) { return n(v, 184); }\n /**\n * Return a new ``uint192`` type for %%v%%.\n */\n static uint192(v) { return n(v, 192); }\n /**\n * Return a new ``uint200`` type for %%v%%.\n */\n static uint200(v) { return n(v, 200); }\n /**\n * Return a new ``uint208`` type for %%v%%.\n */\n static uint208(v) { return n(v, 208); }\n /**\n * Return a new ``uint216`` type for %%v%%.\n */\n static uint216(v) { return n(v, 216); }\n /**\n * Return a new ``uint224`` type for %%v%%.\n */\n static uint224(v) { return n(v, 224); }\n /**\n * Return a new ``uint232`` type for %%v%%.\n */\n static uint232(v) { return n(v, 232); }\n /**\n * Return a new ``uint240`` type for %%v%%.\n */\n static uint240(v) { return n(v, 240); }\n /**\n * Return a new ``uint248`` type for %%v%%.\n */\n static uint248(v) { return n(v, 248); }\n /**\n * Return a new ``uint256`` type for %%v%%.\n */\n static uint256(v) { return n(v, 256); }\n /**\n * Return a new ``uint256`` type for %%v%%.\n */\n static uint(v) { return n(v, 256); }\n /**\n * Return a new ``int8`` type for %%v%%.\n */\n static int8(v) { return n(v, -8); }\n /**\n * Return a new ``int16`` type for %%v%%.\n */\n static int16(v) { return n(v, -16); }\n /**\n * Return a new ``int24`` type for %%v%%.\n */\n static int24(v) { return n(v, -24); }\n /**\n * Return a new ``int32`` type for %%v%%.\n */\n static int32(v) { return n(v, -32); }\n /**\n * Return a new ``int40`` type for %%v%%.\n */\n static int40(v) { return n(v, -40); }\n /**\n * Return a new ``int48`` type for %%v%%.\n */\n static int48(v) { return n(v, -48); }\n /**\n * Return a new ``int56`` type for %%v%%.\n */\n static int56(v) { return n(v, -56); }\n /**\n * Return a new ``int64`` type for %%v%%.\n */\n static int64(v) { return n(v, -64); }\n /**\n * Return a new ``int72`` type for %%v%%.\n */\n static int72(v) { return n(v, -72); }\n /**\n * Return a new ``int80`` type for %%v%%.\n */\n static int80(v) { return n(v, -80); }\n /**\n * Return a new ``int88`` type for %%v%%.\n */\n static int88(v) { return n(v, -88); }\n /**\n * Return a new ``int96`` type for %%v%%.\n */\n static int96(v) { return n(v, -96); }\n /**\n * Return a new ``int104`` type for %%v%%.\n */\n static int104(v) { return n(v, -104); }\n /**\n * Return a new ``int112`` type for %%v%%.\n */\n static int112(v) { return n(v, -112); }\n /**\n * Return a new ``int120`` type for %%v%%.\n */\n static int120(v) { return n(v, -120); }\n /**\n * Return a new ``int128`` type for %%v%%.\n */\n static int128(v) { return n(v, -128); }\n /**\n * Return a new ``int136`` type for %%v%%.\n */\n static int136(v) { return n(v, -136); }\n /**\n * Return a new ``int144`` type for %%v%%.\n */\n static int144(v) { return n(v, -144); }\n /**\n * Return a new ``int52`` type for %%v%%.\n */\n static int152(v) { return n(v, -152); }\n /**\n * Return a new ``int160`` type for %%v%%.\n */\n static int160(v) { return n(v, -160); }\n /**\n * Return a new ``int168`` type for %%v%%.\n */\n static int168(v) { return n(v, -168); }\n /**\n * Return a new ``int176`` type for %%v%%.\n */\n static int176(v) { return n(v, -176); }\n /**\n * Return a new ``int184`` type for %%v%%.\n */\n static int184(v) { return n(v, -184); }\n /**\n * Return a new ``int92`` type for %%v%%.\n */\n static int192(v) { return n(v, -192); }\n /**\n * Return a new ``int200`` type for %%v%%.\n */\n static int200(v) { return n(v, -200); }\n /**\n * Return a new ``int208`` type for %%v%%.\n */\n static int208(v) { return n(v, -208); }\n /**\n * Return a new ``int216`` type for %%v%%.\n */\n static int216(v) { return n(v, -216); }\n /**\n * Return a new ``int224`` type for %%v%%.\n */\n static int224(v) { return n(v, -224); }\n /**\n * Return a new ``int232`` type for %%v%%.\n */\n static int232(v) { return n(v, -232); }\n /**\n * Return a new ``int240`` type for %%v%%.\n */\n static int240(v) { return n(v, -240); }\n /**\n * Return a new ``int248`` type for %%v%%.\n */\n static int248(v) { return n(v, -248); }\n /**\n * Return a new ``int256`` type for %%v%%.\n */\n static int256(v) { return n(v, -256); }\n /**\n * Return a new ``int256`` type for %%v%%.\n */\n static int(v) { return n(v, -256); }\n /**\n * Return a new ``bytes1`` type for %%v%%.\n */\n static bytes1(v) { return b(v, 1); }\n /**\n * Return a new ``bytes2`` type for %%v%%.\n */\n static bytes2(v) { return b(v, 2); }\n /**\n * Return a new ``bytes3`` type for %%v%%.\n */\n static bytes3(v) { return b(v, 3); }\n /**\n * Return a new ``bytes4`` type for %%v%%.\n */\n static bytes4(v) { return b(v, 4); }\n /**\n * Return a new ``bytes5`` type for %%v%%.\n */\n static bytes5(v) { return b(v, 5); }\n /**\n * Return a new ``bytes6`` type for %%v%%.\n */\n static bytes6(v) { return b(v, 6); }\n /**\n * Return a new ``bytes7`` type for %%v%%.\n */\n static bytes7(v) { return b(v, 7); }\n /**\n * Return a new ``bytes8`` type for %%v%%.\n */\n static bytes8(v) { return b(v, 8); }\n /**\n * Return a new ``bytes9`` type for %%v%%.\n */\n static bytes9(v) { return b(v, 9); }\n /**\n * Return a new ``bytes10`` type for %%v%%.\n */\n static bytes10(v) { return b(v, 10); }\n /**\n * Return a new ``bytes11`` type for %%v%%.\n */\n static bytes11(v) { return b(v, 11); }\n /**\n * Return a new ``bytes12`` type for %%v%%.\n */\n static bytes12(v) { return b(v, 12); }\n /**\n * Return a new ``bytes13`` type for %%v%%.\n */\n static bytes13(v) { return b(v, 13); }\n /**\n * Return a new ``bytes14`` type for %%v%%.\n */\n static bytes14(v) { return b(v, 14); }\n /**\n * Return a new ``bytes15`` type for %%v%%.\n */\n static bytes15(v) { return b(v, 15); }\n /**\n * Return a new ``bytes16`` type for %%v%%.\n */\n static bytes16(v) { return b(v, 16); }\n /**\n * Return a new ``bytes17`` type for %%v%%.\n */\n static bytes17(v) { return b(v, 17); }\n /**\n * Return a new ``bytes18`` type for %%v%%.\n */\n static bytes18(v) { return b(v, 18); }\n /**\n * Return a new ``bytes19`` type for %%v%%.\n */\n static bytes19(v) { return b(v, 19); }\n /**\n * Return a new ``bytes20`` type for %%v%%.\n */\n static bytes20(v) { return b(v, 20); }\n /**\n * Return a new ``bytes21`` type for %%v%%.\n */\n static bytes21(v) { return b(v, 21); }\n /**\n * Return a new ``bytes22`` type for %%v%%.\n */\n static bytes22(v) { return b(v, 22); }\n /**\n * Return a new ``bytes23`` type for %%v%%.\n */\n static bytes23(v) { return b(v, 23); }\n /**\n * Return a new ``bytes24`` type for %%v%%.\n */\n static bytes24(v) { return b(v, 24); }\n /**\n * Return a new ``bytes25`` type for %%v%%.\n */\n static bytes25(v) { return b(v, 25); }\n /**\n * Return a new ``bytes26`` type for %%v%%.\n */\n static bytes26(v) { return b(v, 26); }\n /**\n * Return a new ``bytes27`` type for %%v%%.\n */\n static bytes27(v) { return b(v, 27); }\n /**\n * Return a new ``bytes28`` type for %%v%%.\n */\n static bytes28(v) { return b(v, 28); }\n /**\n * Return a new ``bytes29`` type for %%v%%.\n */\n static bytes29(v) { return b(v, 29); }\n /**\n * Return a new ``bytes30`` type for %%v%%.\n */\n static bytes30(v) { return b(v, 30); }\n /**\n * Return a new ``bytes31`` type for %%v%%.\n */\n static bytes31(v) { return b(v, 31); }\n /**\n * Return a new ``bytes32`` type for %%v%%.\n */\n static bytes32(v) { return b(v, 32); }\n /**\n * Return a new ``address`` type for %%v%%.\n */\n static address(v) { return new Typed(_gaurd, \"address\", v); }\n /**\n * Return a new ``bool`` type for %%v%%.\n */\n static bool(v) { return new Typed(_gaurd, \"bool\", !!v); }\n /**\n * Return a new ``bytes`` type for %%v%%.\n */\n static bytes(v) { return new Typed(_gaurd, \"bytes\", v); }\n /**\n * Return a new ``string`` type for %%v%%.\n */\n static string(v) { return new Typed(_gaurd, \"string\", v); }\n /**\n * Return a new ``array`` type for %%v%%, allowing %%dynamic%% length.\n */\n static array(v, dynamic) {\n throw new Error(\"not implemented yet\");\n return new Typed(_gaurd, \"array\", v, dynamic);\n }\n /**\n * Return a new ``tuple`` type for %%v%%, with the optional %%name%%.\n */\n static tuple(v, name) {\n throw new Error(\"not implemented yet\");\n return new Typed(_gaurd, \"tuple\", v, name);\n }\n /**\n * Return a new ``uint8`` type for %%v%%.\n */\n static overrides(v) {\n return new Typed(_gaurd, \"overrides\", Object.assign({}, v));\n }\n /**\n * Returns true only if %%value%% is a [[Typed]] instance.\n */\n static isTyped(value) {\n return (value\n && typeof (value) === \"object\"\n && \"_typedSymbol\" in value\n && value._typedSymbol === _typedSymbol);\n }\n /**\n * If the value is a [[Typed]] instance, validates the underlying value\n * and returns it, otherwise returns value directly.\n *\n * This is useful for functions that with to accept either a [[Typed]]\n * object or values.\n */\n static dereference(value, type) {\n if (Typed.isTyped(value)) {\n if (value.type !== type) {\n throw new Error(`invalid type: expecetd ${type}, got ${value.type}`);\n }\n return value.value;\n }\n return value;\n }\n}\n//# sourceMappingURL=typed.js.map","import { getAddress } from \"../../address/index.js\";\nimport { toBeHex } from \"../../utils/maths.js\";\nimport { Typed } from \"../typed.js\";\nimport { Coder } from \"./abstract-coder.js\";\n/**\n * @_ignore\n */\nexport class AddressCoder extends Coder {\n constructor(localName) {\n super(\"address\", \"address\", localName, false);\n }\n defaultValue() {\n return \"0x0000000000000000000000000000000000000000\";\n }\n encode(writer, _value) {\n let value = Typed.dereference(_value, \"string\");\n try {\n value = getAddress(value);\n }\n catch (error) {\n return this._throwError(error.message, _value);\n }\n return writer.writeValue(value);\n }\n decode(reader) {\n return getAddress(toBeHex(reader.readValue(), 20));\n }\n}\n//# sourceMappingURL=address.js.map","import { Coder } from \"./abstract-coder.js\";\n/**\n * Clones the functionality of an existing Coder, but without a localName\n *\n * @_ignore\n */\nexport class AnonymousCoder extends Coder {\n coder;\n constructor(coder) {\n super(coder.name, coder.type, \"_\", coder.dynamic);\n this.coder = coder;\n }\n defaultValue() {\n return this.coder.defaultValue();\n }\n encode(writer, value) {\n return this.coder.encode(writer, value);\n }\n decode(reader) {\n return this.coder.decode(reader);\n }\n}\n//# sourceMappingURL=anonymous.js.map","import { defineProperties, isError, assert, assertArgument, assertArgumentCount } from \"../../utils/index.js\";\nimport { Typed } from \"../typed.js\";\nimport { Coder, Result, WordSize, Writer } from \"./abstract-coder.js\";\nimport { AnonymousCoder } from \"./anonymous.js\";\n/**\n * @_ignore\n */\nexport function pack(writer, coders, values) {\n let arrayValues = [];\n if (Array.isArray(values)) {\n arrayValues = values;\n }\n else if (values && typeof (values) === \"object\") {\n let unique = {};\n arrayValues = coders.map((coder) => {\n const name = coder.localName;\n assert(name, \"cannot encode object for signature with missing names\", \"INVALID_ARGUMENT\", { argument: \"values\", info: { coder }, value: values });\n assert(!unique[name], \"cannot encode object for signature with duplicate names\", \"INVALID_ARGUMENT\", { argument: \"values\", info: { coder }, value: values });\n unique[name] = true;\n return values[name];\n });\n }\n else {\n assertArgument(false, \"invalid tuple value\", \"tuple\", values);\n }\n assertArgument(coders.length === arrayValues.length, \"types/value length mismatch\", \"tuple\", values);\n let staticWriter = new Writer();\n let dynamicWriter = new Writer();\n let updateFuncs = [];\n coders.forEach((coder, index) => {\n let value = arrayValues[index];\n if (coder.dynamic) {\n // Get current dynamic offset (for the future pointer)\n let dynamicOffset = dynamicWriter.length;\n // Encode the dynamic value into the dynamicWriter\n coder.encode(dynamicWriter, value);\n // Prepare to populate the correct offset once we are done\n let updateFunc = staticWriter.writeUpdatableValue();\n updateFuncs.push((baseOffset) => {\n updateFunc(baseOffset + dynamicOffset);\n });\n }\n else {\n coder.encode(staticWriter, value);\n }\n });\n // Backfill all the dynamic offsets, now that we know the static length\n updateFuncs.forEach((func) => { func(staticWriter.length); });\n let length = writer.appendWriter(staticWriter);\n length += writer.appendWriter(dynamicWriter);\n return length;\n}\n/**\n * @_ignore\n */\nexport function unpack(reader, coders) {\n let values = [];\n let keys = [];\n // A reader anchored to this base\n let baseReader = reader.subReader(0);\n coders.forEach((coder) => {\n let value = null;\n if (coder.dynamic) {\n let offset = reader.readIndex();\n let offsetReader = baseReader.subReader(offset);\n try {\n value = coder.decode(offsetReader);\n }\n catch (error) {\n // Cannot recover from this\n if (isError(error, \"BUFFER_OVERRUN\")) {\n throw error;\n }\n value = error;\n value.baseType = coder.name;\n value.name = coder.localName;\n value.type = coder.type;\n }\n }\n else {\n try {\n value = coder.decode(reader);\n }\n catch (error) {\n // Cannot recover from this\n if (isError(error, \"BUFFER_OVERRUN\")) {\n throw error;\n }\n value = error;\n value.baseType = coder.name;\n value.name = coder.localName;\n value.type = coder.type;\n }\n }\n if (value == undefined) {\n throw new Error(\"investigate\");\n }\n values.push(value);\n keys.push(coder.localName || null);\n });\n return Result.fromItems(values, keys);\n}\n/**\n * @_ignore\n */\nexport class ArrayCoder extends Coder {\n coder;\n length;\n constructor(coder, length, localName) {\n const type = (coder.type + \"[\" + (length >= 0 ? length : \"\") + \"]\");\n const dynamic = (length === -1 || coder.dynamic);\n super(\"array\", type, localName, dynamic);\n defineProperties(this, { coder, length });\n }\n defaultValue() {\n // Verifies the child coder is valid (even if the array is dynamic or 0-length)\n const defaultChild = this.coder.defaultValue();\n const result = [];\n for (let i = 0; i < this.length; i++) {\n result.push(defaultChild);\n }\n return result;\n }\n encode(writer, _value) {\n const value = Typed.dereference(_value, \"array\");\n if (!Array.isArray(value)) {\n this._throwError(\"expected array value\", value);\n }\n let count = this.length;\n if (count === -1) {\n count = value.length;\n writer.writeValue(value.length);\n }\n assertArgumentCount(value.length, count, \"coder array\" + (this.localName ? (\" \" + this.localName) : \"\"));\n let coders = [];\n for (let i = 0; i < value.length; i++) {\n coders.push(this.coder);\n }\n return pack(writer, coders, value);\n }\n decode(reader) {\n let count = this.length;\n if (count === -1) {\n count = reader.readIndex();\n // Check that there is *roughly* enough data to ensure\n // stray random data is not being read as a length. Each\n // slot requires at least 32 bytes for their value (or 32\n // bytes as a link to the data). This could use a much\n // tighter bound, but we are erroring on the side of safety.\n assert(count * WordSize <= reader.dataLength, \"insufficient data length\", \"BUFFER_OVERRUN\", { buffer: reader.bytes, offset: count * WordSize, length: reader.dataLength });\n }\n let coders = [];\n for (let i = 0; i < count; i++) {\n coders.push(new AnonymousCoder(this.coder));\n }\n return unpack(reader, coders);\n }\n}\n//# sourceMappingURL=array.js.map","import { Typed } from \"../typed.js\";\nimport { Coder } from \"./abstract-coder.js\";\n/**\n * @_ignore\n */\nexport class BooleanCoder extends Coder {\n constructor(localName) {\n super(\"bool\", \"bool\", localName, false);\n }\n defaultValue() {\n return false;\n }\n encode(writer, _value) {\n const value = Typed.dereference(_value, \"bool\");\n return writer.writeValue(value ? 1 : 0);\n }\n decode(reader) {\n return !!reader.readValue();\n }\n}\n//# sourceMappingURL=boolean.js.map","import { getBytesCopy, hexlify } from \"../../utils/index.js\";\nimport { Coder } from \"./abstract-coder.js\";\n/**\n * @_ignore\n */\nexport class DynamicBytesCoder extends Coder {\n constructor(type, localName) {\n super(type, type, localName, true);\n }\n defaultValue() {\n return \"0x\";\n }\n encode(writer, value) {\n value = getBytesCopy(value);\n let length = writer.writeValue(value.length);\n length += writer.writeBytes(value);\n return length;\n }\n decode(reader) {\n return reader.readBytes(reader.readIndex(), true);\n }\n}\n/**\n * @_ignore\n */\nexport class BytesCoder extends DynamicBytesCoder {\n constructor(localName) {\n super(\"bytes\", localName);\n }\n decode(reader) {\n return hexlify(super.decode(reader));\n }\n}\n//# sourceMappingURL=bytes.js.map","import { defineProperties, getBytesCopy, hexlify } from \"../../utils/index.js\";\nimport { Typed } from \"../typed.js\";\nimport { Coder } from \"./abstract-coder.js\";\n/**\n * @_ignore\n */\nexport class FixedBytesCoder extends Coder {\n size;\n constructor(size, localName) {\n let name = \"bytes\" + String(size);\n super(name, name, localName, false);\n defineProperties(this, { size }, { size: \"number\" });\n }\n defaultValue() {\n return (\"0x0000000000000000000000000000000000000000000000000000000000000000\").substring(0, 2 + this.size * 2);\n }\n encode(writer, _value) {\n let data = getBytesCopy(Typed.dereference(_value, this.type));\n if (data.length !== this.size) {\n this._throwError(\"incorrect data length\", _value);\n }\n return writer.writeBytes(data);\n }\n decode(reader) {\n return hexlify(reader.readBytes(this.size));\n }\n}\n//# sourceMappingURL=fixed-bytes.js.map","import { Coder } from \"./abstract-coder.js\";\nconst Empty = new Uint8Array([]);\n/**\n * @_ignore\n */\nexport class NullCoder extends Coder {\n constructor(localName) {\n super(\"null\", \"\", localName, false);\n }\n defaultValue() {\n return null;\n }\n encode(writer, value) {\n if (value != null) {\n this._throwError(\"not null\", value);\n }\n return writer.writeBytes(Empty);\n }\n decode(reader) {\n reader.readBytes(0);\n return null;\n }\n}\n//# sourceMappingURL=null.js.map","import { defineProperties, fromTwos, getBigInt, mask, toTwos } from \"../../utils/index.js\";\nimport { Typed } from \"../typed.js\";\nimport { Coder, WordSize } from \"./abstract-coder.js\";\nconst BN_0 = BigInt(0);\nconst BN_1 = BigInt(1);\nconst BN_MAX_UINT256 = BigInt(\"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\");\n/**\n * @_ignore\n */\nexport class NumberCoder extends Coder {\n size;\n signed;\n constructor(size, signed, localName) {\n const name = ((signed ? \"int\" : \"uint\") + (size * 8));\n super(name, name, localName, false);\n defineProperties(this, { size, signed }, { size: \"number\", signed: \"boolean\" });\n }\n defaultValue() {\n return 0;\n }\n encode(writer, _value) {\n let value = getBigInt(Typed.dereference(_value, this.type));\n // Check bounds are safe for encoding\n let maxUintValue = mask(BN_MAX_UINT256, WordSize * 8);\n if (this.signed) {\n let bounds = mask(maxUintValue, (this.size * 8) - 1);\n if (value > bounds || value < -(bounds + BN_1)) {\n this._throwError(\"value out-of-bounds\", _value);\n }\n value = toTwos(value, 8 * WordSize);\n }\n else if (value < BN_0 || value > mask(maxUintValue, this.size * 8)) {\n this._throwError(\"value out-of-bounds\", _value);\n }\n return writer.writeValue(value);\n }\n decode(reader) {\n let value = mask(reader.readValue(), this.size * 8);\n if (this.signed) {\n value = fromTwos(value, this.size * 8);\n }\n return value;\n }\n}\n//# sourceMappingURL=number.js.map","import { toUtf8Bytes, toUtf8String } from \"../../utils/utf8.js\";\nimport { Typed } from \"../typed.js\";\nimport { DynamicBytesCoder } from \"./bytes.js\";\n/**\n * @_ignore\n */\nexport class StringCoder extends DynamicBytesCoder {\n constructor(localName) {\n super(\"string\", localName);\n }\n defaultValue() {\n return \"\";\n }\n encode(writer, _value) {\n return super.encode(writer, toUtf8Bytes(Typed.dereference(_value, \"string\")));\n }\n decode(reader) {\n return toUtf8String(super.decode(reader));\n }\n}\n//# sourceMappingURL=string.js.map","import { defineProperties } from \"../../utils/properties.js\";\nimport { Typed } from \"../typed.js\";\nimport { Coder } from \"./abstract-coder.js\";\nimport { pack, unpack } from \"./array.js\";\n/**\n * @_ignore\n */\nexport class TupleCoder extends Coder {\n coders;\n constructor(coders, localName) {\n let dynamic = false;\n const types = [];\n coders.forEach((coder) => {\n if (coder.dynamic) {\n dynamic = true;\n }\n types.push(coder.type);\n });\n const type = (\"tuple(\" + types.join(\",\") + \")\");\n super(\"tuple\", type, localName, dynamic);\n defineProperties(this, { coders: Object.freeze(coders.slice()) });\n }\n defaultValue() {\n const values = [];\n this.coders.forEach((coder) => {\n values.push(coder.defaultValue());\n });\n // We only output named properties for uniquely named coders\n const uniqueNames = this.coders.reduce((accum, coder) => {\n const name = coder.localName;\n if (name) {\n if (!accum[name]) {\n accum[name] = 0;\n }\n accum[name]++;\n }\n return accum;\n }, {});\n // Add named values\n this.coders.forEach((coder, index) => {\n let name = coder.localName;\n if (!name || uniqueNames[name] !== 1) {\n return;\n }\n if (name === \"length\") {\n name = \"_length\";\n }\n if (values[name] != null) {\n return;\n }\n values[name] = values[index];\n });\n return Object.freeze(values);\n }\n encode(writer, _value) {\n const value = Typed.dereference(_value, \"tuple\");\n return pack(writer, this.coders, value);\n }\n decode(reader) {\n return unpack(reader, this.coders);\n }\n}\n//# sourceMappingURL=tuple.js.map","import { keccak256 } from \"../crypto/index.js\";\nimport { toUtf8Bytes } from \"../utils/index.js\";\n/**\n * A simple hashing function which operates on UTF-8 strings to\n * compute an 32-byte identifier.\n *\n * This simply computes the [UTF-8 bytes](toUtf8Bytes) and computes\n * the [[keccak256]].\n *\n * @example:\n * id(\"hello world\")\n * //_result:\n */\nexport function id(value) {\n return keccak256(toUtf8Bytes(value));\n}\n//# sourceMappingURL=id.js.map","// created 2023-09-25T01:01:55.148Z\n// compressed base64-encoded blob for include-ens data\n// source: https://github.com/adraffy/ens-normalize.js/blob/main/src/make.js\n// see: https://github.com/adraffy/ens-normalize.js#security\n// SHA-256: 0565ed049b9cf1614bb9e11ba7d8ac6a6fb96c893253d890f7e2b2884b9ded32\nvar COMPRESSED$1 = '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';\nconst FENCED = new Map([[8217,\"apostrophe\"],[8260,\"fraction slash\"],[12539,\"middle dot\"]]);\nconst NSM_MAX = 4;\n\nfunction decode_arithmetic(bytes) {\r\n\tlet pos = 0;\r\n\tfunction u16() { return (bytes[pos++] << 8) | bytes[pos++]; }\r\n\t\r\n\t// decode the frequency table\r\n\tlet symbol_count = u16();\r\n\tlet total = 1;\r\n\tlet acc = [0, 1]; // first symbol has frequency 1\r\n\tfor (let i = 1; i < symbol_count; i++) {\r\n\t\tacc.push(total += u16());\r\n\t}\r\n\r\n\t// skip the sized-payload that the last 3 symbols index into\r\n\tlet skip = u16();\r\n\tlet pos_payload = pos;\r\n\tpos += skip;\r\n\r\n\tlet read_width = 0;\r\n\tlet read_buffer = 0; \r\n\tfunction read_bit() {\r\n\t\tif (read_width == 0) {\r\n\t\t\t// this will read beyond end of buffer\r\n\t\t\t// but (undefined|0) => zero pad\r\n\t\t\tread_buffer = (read_buffer << 8) | bytes[pos++];\r\n\t\t\tread_width = 8;\r\n\t\t}\r\n\t\treturn (read_buffer >> --read_width) & 1;\r\n\t}\r\n\r\n\tconst N = 31;\r\n\tconst FULL = 2**N;\r\n\tconst HALF = FULL >>> 1;\r\n\tconst QRTR = HALF >> 1;\r\n\tconst MASK = FULL - 1;\r\n\r\n\t// fill register\r\n\tlet register = 0;\r\n\tfor (let i = 0; i < N; i++) register = (register << 1) | read_bit();\r\n\r\n\tlet symbols = [];\r\n\tlet low = 0;\r\n\tlet range = FULL; // treat like a float\r\n\twhile (true) {\r\n\t\tlet value = Math.floor((((register - low + 1) * total) - 1) / range);\r\n\t\tlet start = 0;\r\n\t\tlet end = symbol_count;\r\n\t\twhile (end - start > 1) { // binary search\r\n\t\t\tlet mid = (start + end) >>> 1;\r\n\t\t\tif (value < acc[mid]) {\r\n\t\t\t\tend = mid;\r\n\t\t\t} else {\r\n\t\t\t\tstart = mid;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (start == 0) break; // first symbol is end mark\r\n\t\tsymbols.push(start);\r\n\t\tlet a = low + Math.floor(range * acc[start] / total);\r\n\t\tlet b = low + Math.floor(range * acc[start+1] / total) - 1;\r\n\t\twhile (((a ^ b) & HALF) == 0) {\r\n\t\t\tregister = (register << 1) & MASK | read_bit();\r\n\t\t\ta = (a << 1) & MASK;\r\n\t\t\tb = (b << 1) & MASK | 1;\r\n\t\t}\r\n\t\twhile (a & ~b & QRTR) {\r\n\t\t\tregister = (register & HALF) | ((register << 1) & (MASK >>> 1)) | read_bit();\r\n\t\t\ta = (a << 1) ^ HALF;\r\n\t\t\tb = ((b ^ HALF) << 1) | HALF | 1;\r\n\t\t}\r\n\t\tlow = a;\r\n\t\trange = 1 + b - a;\r\n\t}\r\n\tlet offset = symbol_count - 4;\r\n\treturn symbols.map(x => { // index into payload\r\n\t\tswitch (x - offset) {\r\n\t\t\tcase 3: return offset + 0x10100 + ((bytes[pos_payload++] << 16) | (bytes[pos_payload++] << 8) | bytes[pos_payload++]);\r\n\t\t\tcase 2: return offset + 0x100 + ((bytes[pos_payload++] << 8) | bytes[pos_payload++]);\r\n\t\t\tcase 1: return offset + bytes[pos_payload++];\r\n\t\t\tdefault: return x - 1;\r\n\t\t}\r\n\t});\r\n}\t\r\n\r\n// returns an iterator which returns the next symbol\r\nfunction read_payload(v) {\r\n\tlet pos = 0;\r\n\treturn () => v[pos++];\r\n}\r\nfunction read_compressed_payload(s) {\r\n\treturn read_payload(decode_arithmetic(unsafe_atob(s)));\r\n}\r\n\r\n// unsafe in the sense:\r\n// expected well-formed Base64 w/o padding \r\n// 20220922: added for https://github.com/adraffy/ens-normalize.js/issues/4\r\nfunction unsafe_atob(s) {\r\n\tlet lookup = [];\r\n\t[...'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'].forEach((c, i) => lookup[c.charCodeAt(0)] = i);\r\n\tlet n = s.length;\r\n\tlet ret = new Uint8Array((6 * n) >> 3);\r\n\tfor (let i = 0, pos = 0, width = 0, carry = 0; i < n; i++) {\r\n\t\tcarry = (carry << 6) | lookup[s.charCodeAt(i)];\r\n\t\twidth += 6;\r\n\t\tif (width >= 8) {\r\n\t\t\tret[pos++] = (carry >> (width -= 8));\r\n\t\t}\r\n\t}\r\n\treturn ret;\r\n}\r\n\r\n// eg. [0,1,2,3...] => [0,-1,1,-2,...]\r\nfunction signed(i) { \r\n\treturn (i & 1) ? (~i >> 1) : (i >> 1);\r\n}\r\n\r\nfunction read_deltas(n, next) {\r\n\tlet v = Array(n);\r\n\tfor (let i = 0, x = 0; i < n; i++) v[i] = x += signed(next());\r\n\treturn v;\r\n}\r\n\r\n// [123][5] => [0 3] [1 1] [0 0]\r\nfunction read_sorted(next, prev = 0) {\r\n\tlet ret = [];\r\n\twhile (true) {\r\n\t\tlet x = next();\r\n\t\tlet n = next();\r\n\t\tif (!n) break;\r\n\t\tprev += x;\r\n\t\tfor (let i = 0; i < n; i++) {\r\n\t\t\tret.push(prev + i);\r\n\t\t}\r\n\t\tprev += n + 1;\r\n\t}\r\n\treturn ret;\r\n}\r\n\r\nfunction read_sorted_arrays(next) {\r\n\treturn read_array_while(() => { \r\n\t\tlet v = read_sorted(next);\r\n\t\tif (v.length) return v;\r\n\t});\r\n}\r\n\r\n// returns map of x => ys\r\nfunction read_mapped(next) {\r\n\tlet ret = [];\r\n\twhile (true) {\r\n\t\tlet w = next();\r\n\t\tif (w == 0) break;\r\n\t\tret.push(read_linear_table(w, next));\r\n\t}\r\n\twhile (true) {\r\n\t\tlet w = next() - 1;\r\n\t\tif (w < 0) break;\r\n\t\tret.push(read_replacement_table(w, next));\r\n\t}\r\n\treturn ret.flat();\r\n}\r\n\r\n// read until next is falsy\r\n// return array of read values\r\nfunction read_array_while(next) {\r\n\tlet v = [];\r\n\twhile (true) {\r\n\t\tlet x = next(v.length);\r\n\t\tif (!x) break;\r\n\t\tv.push(x);\r\n\t}\r\n\treturn v;\r\n}\r\n\r\n// read w columns of length n\r\n// return as n rows of length w\r\nfunction read_transposed(n, w, next) {\r\n\tlet m = Array(n).fill().map(() => []);\r\n\tfor (let i = 0; i < w; i++) {\r\n\t\tread_deltas(n, next).forEach((x, j) => m[j].push(x));\r\n\t}\r\n\treturn m;\r\n}\r\n \r\n// returns [[x, ys], [x+dx, ys+dy], [x+2*dx, ys+2*dy], ...]\r\n// where dx/dy = steps, n = run size, w = length of y\r\nfunction read_linear_table(w, next) {\r\n\tlet dx = 1 + next();\r\n\tlet dy = next();\r\n\tlet vN = read_array_while(next);\r\n\tlet m = read_transposed(vN.length, 1+w, next);\r\n\treturn m.flatMap((v, i) => {\r\n\t\tlet [x, ...ys] = v;\r\n\t\treturn Array(vN[i]).fill().map((_, j) => {\r\n\t\t\tlet j_dy = j * dy;\r\n\t\t\treturn [x + j * dx, ys.map(y => y + j_dy)];\r\n\t\t});\r\n\t});\r\n}\r\n\r\n// return [[x, ys...], ...]\r\n// where w = length of y\r\nfunction read_replacement_table(w, next) { \r\n\tlet n = 1 + next();\r\n\tlet m = read_transposed(n, 1+w, next);\r\n\treturn m.map(v => [v[0], v.slice(1)]);\r\n}\r\n\r\n\r\nfunction read_trie(next) {\r\n\tlet ret = [];\r\n\tlet sorted = read_sorted(next); \r\n\texpand(decode([]), []);\r\n\treturn ret; // not sorted\r\n\tfunction decode(Q) { // characters that lead into this node\r\n\t\tlet S = next(); // state: valid, save, check\r\n\t\tlet B = read_array_while(() => { // buckets leading to new nodes\r\n\t\t\tlet cps = read_sorted(next).map(i => sorted[i]);\r\n\t\t\tif (cps.length) return decode(cps);\r\n\t\t});\r\n\t\treturn {S, B, Q};\r\n\t}\r\n\tfunction expand({S, B}, cps, saved) {\r\n\t\tif (S & 4 && saved === cps[cps.length-1]) return;\r\n\t\tif (S & 2) saved = cps[cps.length-1];\r\n\t\tif (S & 1) ret.push(cps); \r\n\t\tfor (let br of B) {\r\n\t\t\tfor (let cp of br.Q) {\r\n\t\t\t\texpand(br, [...cps, cp], saved);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\n\nfunction hex_cp(cp) {\r\n\treturn cp.toString(16).toUpperCase().padStart(2, '0');\r\n}\r\n\r\nfunction quote_cp(cp) {\r\n\treturn `{${hex_cp(cp)}}`; // raffy convention: like \"\\u{X}\" w/o the \"\\u\"\r\n}\r\n\r\n/*\r\nexport function explode_cp(s) {\r\n\treturn [...s].map(c => c.codePointAt(0));\r\n}\r\n*/\r\nfunction explode_cp(s) { // this is about 2x faster\r\n\tlet cps = [];\r\n\tfor (let pos = 0, len = s.length; pos < len; ) {\r\n\t\tlet cp = s.codePointAt(pos);\r\n\t\tpos += cp < 0x10000 ? 1 : 2;\r\n\t\tcps.push(cp);\r\n\t}\r\n\treturn cps;\r\n}\r\n\r\nfunction str_from_cps(cps) {\r\n\tconst chunk = 4096;\r\n\tlet len = cps.length;\r\n\tif (len < chunk) return String.fromCodePoint(...cps);\r\n\tlet buf = [];\r\n\tfor (let i = 0; i < len; ) {\r\n\t\tbuf.push(String.fromCodePoint(...cps.slice(i, i += chunk)));\r\n\t}\r\n\treturn buf.join('');\r\n}\r\n\r\nfunction compare_arrays(a, b) {\r\n\tlet n = a.length;\r\n\tlet c = n - b.length;\r\n\tfor (let i = 0; c == 0 && i < n; i++) c = a[i] - b[i];\r\n\treturn c;\r\n}\n\n// created 2023-09-25T01:01:55.148Z\n// compressed base64-encoded blob for include-nf data\n// source: https://github.com/adraffy/ens-normalize.js/blob/main/src/make.js\n// see: https://github.com/adraffy/ens-normalize.js#security\n// SHA-256: a974b6f8541fc29d919bc85118af0a44015851fab5343f8679cb31be2bdb209e\nvar COMPRESSED = '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';\n\n// https://unicode.org/reports/tr15/\r\n// for reference implementation\r\n// see: /derive/nf.js\r\n\r\n\r\n// algorithmic hangul\r\n// https://www.unicode.org/versions/Unicode15.0.0/ch03.pdf (page 144)\r\nconst S0 = 0xAC00;\r\nconst L0 = 0x1100;\r\nconst V0 = 0x1161;\r\nconst T0 = 0x11A7;\r\nconst L_COUNT = 19;\r\nconst V_COUNT = 21;\r\nconst T_COUNT = 28;\r\nconst N_COUNT = V_COUNT * T_COUNT;\r\nconst S_COUNT = L_COUNT * N_COUNT;\r\nconst S1 = S0 + S_COUNT;\r\nconst L1 = L0 + L_COUNT;\r\nconst V1 = V0 + V_COUNT;\r\nconst T1 = T0 + T_COUNT;\r\n\r\nfunction unpack_cc(packed) {\r\n\treturn (packed >> 24) & 0xFF;\r\n}\r\nfunction unpack_cp(packed) {\r\n\treturn packed & 0xFFFFFF;\r\n}\r\n\r\nlet SHIFTED_RANK, EXCLUSIONS, DECOMP, RECOMP;\r\n\r\nfunction init$1() {\r\n\t//console.time('nf');\r\n\tlet r = read_compressed_payload(COMPRESSED);\r\n\tSHIFTED_RANK = new Map(read_sorted_arrays(r).flatMap((v, i) => v.map(x => [x, (i+1) << 24]))); // pre-shifted\r\n\tEXCLUSIONS = new Set(read_sorted(r));\r\n\tDECOMP = new Map();\r\n\tRECOMP = new Map();\r\n\tfor (let [cp, cps] of read_mapped(r)) {\r\n\t\tif (!EXCLUSIONS.has(cp) && cps.length == 2) {\r\n\t\t\tlet [a, b] = cps;\r\n\t\t\tlet bucket = RECOMP.get(a);\r\n\t\t\tif (!bucket) {\r\n\t\t\t\tbucket = new Map();\r\n\t\t\t\tRECOMP.set(a, bucket);\r\n\t\t\t}\r\n\t\t\tbucket.set(b, cp);\r\n\t\t}\r\n\t\tDECOMP.set(cp, cps.reverse()); // stored reversed\r\n\t}\r\n\t//console.timeEnd('nf');\r\n\t// 20230905: 11ms\r\n}\r\n\r\nfunction is_hangul(cp) {\r\n\treturn cp >= S0 && cp < S1;\r\n}\r\n\r\nfunction compose_pair(a, b) {\r\n\tif (a >= L0 && a < L1 && b >= V0 && b < V1) {\r\n\t\treturn S0 + (a - L0) * N_COUNT + (b - V0) * T_COUNT;\r\n\t} else if (is_hangul(a) && b > T0 && b < T1 && (a - S0) % T_COUNT == 0) {\r\n\t\treturn a + (b - T0);\r\n\t} else {\r\n\t\tlet recomp = RECOMP.get(a);\r\n\t\tif (recomp) {\r\n\t\t\trecomp = recomp.get(b);\r\n\t\t\tif (recomp) {\r\n\t\t\t\treturn recomp;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn -1;\r\n\t}\r\n}\r\n\r\nfunction decomposed(cps) {\r\n\tif (!SHIFTED_RANK) init$1();\r\n\tlet ret = [];\r\n\tlet buf = [];\r\n\tlet check_order = false;\r\n\tfunction add(cp) {\r\n\t\tlet cc = SHIFTED_RANK.get(cp);\r\n\t\tif (cc) {\r\n\t\t\tcheck_order = true;\r\n\t\t\tcp |= cc;\r\n\t\t}\r\n\t\tret.push(cp);\r\n\t}\r\n\tfor (let cp of cps) {\r\n\t\twhile (true) {\r\n\t\t\tif (cp < 0x80) {\r\n\t\t\t\tret.push(cp);\r\n\t\t\t} else if (is_hangul(cp)) {\r\n\t\t\t\tlet s_index = cp - S0;\r\n\t\t\t\tlet l_index = s_index / N_COUNT | 0;\r\n\t\t\t\tlet v_index = (s_index % N_COUNT) / T_COUNT | 0;\r\n\t\t\t\tlet t_index = s_index % T_COUNT;\r\n\t\t\t\tadd(L0 + l_index);\r\n\t\t\t\tadd(V0 + v_index);\r\n\t\t\t\tif (t_index > 0) add(T0 + t_index);\r\n\t\t\t} else {\r\n\t\t\t\tlet mapped = DECOMP.get(cp);\r\n\t\t\t\tif (mapped) {\r\n\t\t\t\t\tbuf.push(...mapped);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tadd(cp);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (!buf.length) break;\r\n\t\t\tcp = buf.pop();\r\n\t\t}\r\n\t}\r\n\tif (check_order && ret.length > 1) {\r\n\t\tlet prev_cc = unpack_cc(ret[0]);\r\n\t\tfor (let i = 1; i < ret.length; i++) {\r\n\t\t\tlet cc = unpack_cc(ret[i]);\r\n\t\t\tif (cc == 0 || prev_cc <= cc) {\r\n\t\t\t\tprev_cc = cc;\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tlet j = i-1;\r\n\t\t\twhile (true) {\r\n\t\t\t\tlet tmp = ret[j+1];\r\n\t\t\t\tret[j+1] = ret[j];\r\n\t\t\t\tret[j] = tmp;\r\n\t\t\t\tif (!j) break;\r\n\t\t\t\tprev_cc = unpack_cc(ret[--j]);\r\n\t\t\t\tif (prev_cc <= cc) break;\r\n\t\t\t}\r\n\t\t\tprev_cc = unpack_cc(ret[i]);\r\n\t\t}\r\n\t}\r\n\treturn ret;\r\n}\r\n\r\nfunction composed_from_decomposed(v) {\r\n\tlet ret = [];\r\n\tlet stack = [];\r\n\tlet prev_cp = -1;\r\n\tlet prev_cc = 0;\r\n\tfor (let packed of v) {\r\n\t\tlet cc = unpack_cc(packed);\r\n\t\tlet cp = unpack_cp(packed);\r\n\t\tif (prev_cp == -1) {\r\n\t\t\tif (cc == 0) {\r\n\t\t\t\tprev_cp = cp;\r\n\t\t\t} else {\r\n\t\t\t\tret.push(cp);\r\n\t\t\t}\r\n\t\t} else if (prev_cc > 0 && prev_cc >= cc) {\r\n\t\t\tif (cc == 0) {\r\n\t\t\t\tret.push(prev_cp, ...stack);\r\n\t\t\t\tstack.length = 0;\r\n\t\t\t\tprev_cp = cp;\r\n\t\t\t} else {\r\n\t\t\t\tstack.push(cp);\r\n\t\t\t}\r\n\t\t\tprev_cc = cc;\r\n\t\t} else {\r\n\t\t\tlet composed = compose_pair(prev_cp, cp);\r\n\t\t\tif (composed >= 0) {\r\n\t\t\t\tprev_cp = composed;\r\n\t\t\t} else if (prev_cc == 0 && cc == 0) {\r\n\t\t\t\tret.push(prev_cp);\r\n\t\t\t\tprev_cp = cp;\r\n\t\t\t} else {\r\n\t\t\t\tstack.push(cp);\r\n\t\t\t\tprev_cc = cc;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (prev_cp >= 0) {\r\n\t\tret.push(prev_cp, ...stack);\t\r\n\t}\r\n\treturn ret;\r\n}\r\n\r\n// note: cps can be iterable\r\nfunction nfd(cps) {\r\n\treturn decomposed(cps).map(unpack_cp);\r\n}\r\nfunction nfc(cps) {\r\n\treturn composed_from_decomposed(decomposed(cps));\r\n}\n\nconst HYPHEN = 0x2D;\r\nconst STOP = 0x2E;\r\nconst STOP_CH = '.';\r\nconst FE0F = 0xFE0F;\r\nconst UNIQUE_PH = 1;\r\n\r\n// 20230913: replace [...v] with Array_from(v) to avoid large spreads\r\nconst Array_from = x => Array.from(x); // Array.from.bind(Array);\r\n\r\nfunction group_has_cp(g, cp) {\r\n\t// 20230913: keep primary and secondary distinct instead of creating valid union\r\n\treturn g.P.has(cp) || g.Q.has(cp);\r\n}\r\n\r\nclass Emoji extends Array {\r\n\tget is_emoji() { return true; } // free tagging system\r\n}\r\n\r\nlet MAPPED, IGNORED, CM, NSM, ESCAPE, NFC_CHECK, GROUPS, WHOLE_VALID, WHOLE_MAP, VALID, EMOJI_LIST, EMOJI_ROOT;\r\n\r\nfunction init() {\r\n\tif (MAPPED) return;\r\n\t\r\n\tlet r = read_compressed_payload(COMPRESSED$1);\r\n\tconst read_sorted_array = () => read_sorted(r);\r\n\tconst read_sorted_set = () => new Set(read_sorted_array());\r\n\tconst set_add_many = (set, v) => v.forEach(x => set.add(x));\r\n\r\n\tMAPPED = new Map(read_mapped(r)); \r\n\tIGNORED = read_sorted_set(); // ignored characters are not valid, so just read raw codepoints\r\n\r\n\t/*\r\n\t// direct include from payload is smaller than the decompression code\r\n\tconst FENCED = new Map(read_array_while(() => {\r\n\t\tlet cp = r();\r\n\t\tif (cp) return [cp, read_str(r())];\r\n\t}));\r\n\t*/\r\n\t// 20230217: we still need all CM for proper error formatting\r\n\t// but norm only needs NSM subset that are potentially-valid\r\n\tCM = read_sorted_array();\r\n\tNSM = new Set(read_sorted_array().map(i => CM[i]));\r\n\tCM = new Set(CM);\r\n\t\r\n\tESCAPE = read_sorted_set(); // characters that should not be printed\r\n\tNFC_CHECK = read_sorted_set(); // only needed to illustrate ens_tokenize() transformations\r\n\r\n\tlet chunks = read_sorted_arrays(r);\r\n\tlet unrestricted = r();\r\n\t//const read_chunked = () => new Set(read_sorted_array().flatMap(i => chunks[i]).concat(read_sorted_array()));\r\n\tconst read_chunked = () => {\r\n\t\t// 20230921: build set in parts, 2x faster\r\n\t\tlet set = new Set();\r\n\t\tread_sorted_array().forEach(i => set_add_many(set, chunks[i]));\r\n\t\tset_add_many(set, read_sorted_array());\r\n\t\treturn set; \r\n\t};\r\n\tGROUPS = read_array_while(i => {\r\n\t\t// minifier property mangling seems unsafe\r\n\t\t// so these are manually renamed to single chars\r\n\t\tlet N = read_array_while(r).map(x => x+0x60);\r\n\t\tif (N.length) {\r\n\t\t\tlet R = i >= unrestricted; // unrestricted then restricted\r\n\t\t\tN[0] -= 32; // capitalize\r\n\t\t\tN = str_from_cps(N);\r\n\t\t\tif (R) N=`Restricted[${N}]`;\r\n\t\t\tlet P = read_chunked(); // primary\r\n\t\t\tlet Q = read_chunked(); // secondary\r\n\t\t\tlet M = !r(); // not-whitelisted, check for NSM\r\n\t\t\t// *** this code currently isn't needed ***\r\n\t\t\t/*\r\n\t\t\tlet V = [...P, ...Q].sort((a, b) => a-b); // derive: sorted valid\r\n\t\t\tlet M = r()-1; // number of combining mark\r\n\t\t\tif (M < 0) { // whitelisted\r\n\t\t\t\tM = new Map(read_array_while(() => {\r\n\t\t\t\t\tlet i = r();\r\n\t\t\t\t\tif (i) return [V[i-1], read_array_while(() => {\r\n\t\t\t\t\t\tlet v = read_array_while(r);\r\n\t\t\t\t\t\tif (v.length) return v.map(x => x-1);\r\n\t\t\t\t\t})];\r\n\t\t\t\t}));\r\n\t\t\t}*/\r\n\t\t\treturn {N, P, Q, M, R};\r\n\t\t}\r\n\t});\r\n\r\n\t// decode compressed wholes\r\n\tWHOLE_VALID = read_sorted_set();\r\n\tWHOLE_MAP = new Map();\r\n\tlet wholes = read_sorted_array().concat(Array_from(WHOLE_VALID)).sort((a, b) => a-b); // must be sorted\r\n\twholes.forEach((cp, i) => {\r\n\t\tlet d = r(); \r\n\t\tlet w = wholes[i] = d ? wholes[i-d] : {V: [], M: new Map()};\r\n\t\tw.V.push(cp); // add to member set\r\n\t\tif (!WHOLE_VALID.has(cp)) {\r\n\t\t\tWHOLE_MAP.set(cp, w); // register with whole map\r\n\t\t}\r\n\t});\r\n\r\n\t// compute confusable-extent complements\r\n\t// usage: WHOLE_MAP.get(cp).M.get(cp) = complement set\r\n\tfor (let {V, M} of new Set(WHOLE_MAP.values())) {\r\n\t\t// connect all groups that have each whole character\r\n\t\tlet recs = [];\r\n\t\tfor (let cp of V) {\r\n\t\t\tlet gs = GROUPS.filter(g => group_has_cp(g, cp));\r\n\t\t\tlet rec = recs.find(({G}) => gs.some(g => G.has(g)));\r\n\t\t\tif (!rec) {\r\n\t\t\t\trec = {G: new Set(), V: []};\r\n\t\t\t\trecs.push(rec);\r\n\t\t\t}\r\n\t\t\trec.V.push(cp);\r\n\t\t\tset_add_many(rec.G, gs);\r\n\t\t}\r\n\t\t// per character cache groups which are not a member of the extent\r\n\t\tlet union = recs.flatMap(x => Array_from(x.G)); // all of the groups used by this whole\r\n\t\tfor (let {G, V} of recs) {\r\n\t\t\tlet complement = new Set(union.filter(g => !G.has(g))); // groups not covered by the extent\r\n\t\t\tfor (let cp of V) {\r\n\t\t\t\tM.set(cp, complement); // this is the same reference\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// compute valid set\r\n\t// 20230924: VALID was union but can be re-used\r\n\tVALID = new Set(); // exists in 1+ groups\r\n\tlet multi = new Set(); // exists in 2+ groups\r\n\tconst add_to_union = cp => VALID.has(cp) ? multi.add(cp) : VALID.add(cp);\r\n\tfor (let g of GROUPS) {\r\n\t\tfor (let cp of g.P) add_to_union(cp);\r\n\t\tfor (let cp of g.Q) add_to_union(cp);\r\n\t}\r\n\t// dual purpose WHOLE_MAP: return placeholder if unique non-confusable\r\n\tfor (let cp of VALID) {\r\n\t\tif (!WHOLE_MAP.has(cp) && !multi.has(cp)) {\r\n\t\t\tWHOLE_MAP.set(cp, UNIQUE_PH);\r\n\t\t}\r\n\t}\r\n\t// add all decomposed parts\r\n\t// see derive: \"Valid is Closed (via Brute-force)\"\r\n\tset_add_many(VALID, nfd(VALID));\r\n\t\r\n\t// decode emoji\r\n\t// 20230719: emoji are now fully-expanded to avoid quirk logic \r\n\tEMOJI_LIST = read_trie(r).map(v => Emoji.from(v)).sort(compare_arrays);\r\n\tEMOJI_ROOT = new Map(); // this has approx 7K nodes (2+ per emoji)\r\n\tfor (let cps of EMOJI_LIST) {\r\n\t\t// 20230719: change to *slightly* stricter algorithm which disallows \r\n\t\t// insertion of misplaced FE0F in emoji sequences (matching ENSIP-15)\r\n\t\t// example: beautified [A B] (eg. flag emoji) \r\n\t\t// before: allow: [A FE0F B], error: [A FE0F FE0F B] \r\n\t\t// after: error: both\r\n\t\t// note: this code now matches ENSNormalize.{cs,java} logic\r\n\t\tlet prev = [EMOJI_ROOT];\r\n\t\tfor (let cp of cps) {\r\n\t\t\tlet next = prev.map(node => {\r\n\t\t\t\tlet child = node.get(cp);\r\n\t\t\t\tif (!child) {\r\n\t\t\t\t\t// should this be object? \r\n\t\t\t\t\t// (most have 1-2 items, few have many)\r\n\t\t\t\t\t// 20230719: no, v8 default map is 4?\r\n\t\t\t\t\tchild = new Map();\r\n\t\t\t\t\tnode.set(cp, child);\r\n\t\t\t\t}\r\n\t\t\t\treturn child;\r\n\t\t\t});\r\n\t\t\tif (cp === FE0F) {\r\n\t\t\t\tprev.push(...next); // less than 20 elements\r\n\t\t\t} else {\r\n\t\t\t\tprev = next;\r\n\t\t\t}\r\n\t\t}\r\n\t\tfor (let x of prev) {\r\n\t\t\tx.V = cps;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n// if escaped: {HEX}\r\n// else: \"x\" {HEX}\r\nfunction quoted_cp(cp) {\r\n\treturn (should_escape(cp) ? '' : `${bidi_qq(safe_str_from_cps([cp]))} `) + quote_cp(cp);\r\n}\r\n\r\n// 20230211: some messages can be mixed-directional and result in spillover\r\n// use 200E after a quoted string to force the remainder of a string from \r\n// acquring the direction of the quote\r\n// https://www.w3.org/International/questions/qa-bidi-unicode-controls#exceptions\r\nfunction bidi_qq(s) {\r\n\treturn `\"${s}\"\\u200E`; // strong LTR\r\n}\r\n\r\nfunction check_label_extension(cps) {\r\n\tif (cps.length >= 4 && cps[2] == HYPHEN && cps[3] == HYPHEN) {\r\n\t\tthrow new Error(`invalid label extension: \"${str_from_cps(cps.slice(0, 4))}\"`); // this can only be ascii so cant be bidi\r\n\t}\r\n}\r\nfunction check_leading_underscore(cps) {\r\n\tconst UNDERSCORE = 0x5F;\r\n\tfor (let i = cps.lastIndexOf(UNDERSCORE); i > 0; ) {\r\n\t\tif (cps[--i] !== UNDERSCORE) {\r\n\t\t\tthrow new Error('underscore allowed only at start');\r\n\t\t}\r\n\t}\r\n}\r\n// check that a fenced cp is not leading, trailing, or touching another fenced cp\r\nfunction check_fenced(cps) {\r\n\tlet cp = cps[0];\r\n\tlet prev = FENCED.get(cp);\r\n\tif (prev) throw error_placement(`leading ${prev}`);\r\n\tlet n = cps.length;\r\n\tlet last = -1; // prevents trailing from throwing\r\n\tfor (let i = 1; i < n; i++) {\r\n\t\tcp = cps[i];\r\n\t\tlet match = FENCED.get(cp);\r\n\t\tif (match) {\r\n\t\t\t// since cps[0] isn't fenced, cps[1] cannot throw\r\n\t\t\tif (last == i) throw error_placement(`${prev} + ${match}`);\r\n\t\t\tlast = i + 1;\r\n\t\t\tprev = match;\r\n\t\t}\r\n\t}\r\n\tif (last == n) throw error_placement(`trailing ${prev}`);\r\n}\r\n\r\n// create a safe to print string \r\n// invisibles are escaped\r\n// leading cm uses placeholder\r\n// if cps exceed max, middle truncate with ellipsis\r\n// quoter(cp) => string, eg. 3000 => \"{3000}\"\r\n// note: in html, you'd call this function then replace [<>&] with entities\r\nfunction safe_str_from_cps(cps, max = Infinity, quoter = quote_cp) {\r\n\t//if (Number.isInteger(cps)) cps = [cps];\r\n\t//if (!Array.isArray(cps)) throw new TypeError(`expected codepoints`);\r\n\tlet buf = [];\r\n\tif (is_combining_mark(cps[0])) buf.push('◌');\r\n\tif (cps.length > max) {\r\n\t\tmax >>= 1;\r\n\t\tcps = [...cps.slice(0, max), 0x2026, ...cps.slice(-max)];\r\n\t}\r\n\tlet prev = 0;\r\n\tlet n = cps.length;\r\n\tfor (let i = 0; i < n; i++) {\r\n\t\tlet cp = cps[i];\r\n\t\tif (should_escape(cp)) {\r\n\t\t\tbuf.push(str_from_cps(cps.slice(prev, i)));\r\n\t\t\tbuf.push(quoter(cp));\r\n\t\t\tprev = i + 1;\r\n\t\t}\r\n\t}\r\n\tbuf.push(str_from_cps(cps.slice(prev, n)));\r\n\treturn buf.join('');\r\n}\r\n\r\n// note: set(s) cannot be exposed because they can be modified\r\n// note: Object.freeze() doesn't work\r\nfunction is_combining_mark(cp) {\r\n\tinit();\r\n\treturn CM.has(cp);\r\n}\r\nfunction should_escape(cp) {\r\n\tinit();\r\n\treturn ESCAPE.has(cp);\r\n}\r\n\r\n// return all supported emoji as fully-qualified emoji \r\n// ordered by length then lexicographic \r\nfunction ens_emoji() {\r\n\tinit();\r\n\treturn EMOJI_LIST.map(x => x.slice()); // emoji are exposed so copy\r\n}\r\n\r\nfunction ens_normalize_fragment(frag, decompose) {\r\n\tinit();\r\n\tlet nf = decompose ? nfd : nfc;\r\n\treturn frag.split(STOP_CH).map(label => str_from_cps(tokens_from_str(explode_cp(label), nf, filter_fe0f).flat())).join(STOP_CH);\r\n}\r\n\r\nfunction ens_normalize(name) {\r\n\treturn flatten(split(name, nfc, filter_fe0f));\r\n}\r\n\r\nfunction ens_beautify(name) {\r\n\tlet labels = split(name, nfc, x => x); // emoji not exposed\r\n\tfor (let {type, output, error} of labels) {\r\n\t\tif (error) break; // flatten will throw\r\n\r\n\t\t// replace leading/trailing hyphen\r\n\t\t// 20230121: consider beautifing all or leading/trailing hyphen to unicode variant\r\n\t\t// not exactly the same in every font, but very similar: \"-\" vs \"‐\"\r\n\t\t/*\r\n\t\tconst UNICODE_HYPHEN = 0x2010;\r\n\t\t// maybe this should replace all for visual consistancy?\r\n\t\t// `node tools/reg-count.js regex ^-\\{2,\\}` => 592\r\n\t\t//for (let i = 0; i < output.length; i++) if (output[i] == 0x2D) output[i] = 0x2010;\r\n\t\tif (output[0] == HYPHEN) output[0] = UNICODE_HYPHEN;\r\n\t\tlet end = output.length-1;\r\n\t\tif (output[end] == HYPHEN) output[end] = UNICODE_HYPHEN;\r\n\t\t*/\r\n\t\t// 20230123: WHATWG URL uses \"CheckHyphens\" false\r\n\t\t// https://url.spec.whatwg.org/#idna\r\n\r\n\t\t// update ethereum symbol\r\n\t\t// ξ => Ξ if not greek\r\n\t\tif (type !== 'Greek') array_replace(output, 0x3BE, 0x39E);\r\n\r\n\t\t// 20221213: fixes bidi subdomain issue, but breaks invariant (200E is disallowed)\r\n\t\t// could be fixed with special case for: 2D (.) + 200E (LTR)\r\n\t\t// https://discuss.ens.domains/t/bidi-label-ordering-spoof/15824\r\n\t\t//output.splice(0, 0, 0x200E);\r\n\t}\r\n\treturn flatten(labels);\r\n}\r\n\r\nfunction array_replace(v, a, b) {\r\n\tlet prev = 0;\r\n\twhile (true) {\r\n\t\tlet next = v.indexOf(a, prev);\r\n\t\tif (next < 0) break;\r\n\t\tv[next] = b; \r\n\t\tprev = next + 1;\r\n\t}\r\n}\r\n\r\nfunction ens_split(name, preserve_emoji) {\r\n\treturn split(name, nfc, preserve_emoji ? x => x.slice() : filter_fe0f); // emoji are exposed so copy\r\n}\r\n\r\nfunction split(name, nf, ef) {\r\n\tif (!name) return []; // 20230719: empty name allowance\r\n\tinit();\r\n\tlet offset = 0;\r\n\t// https://unicode.org/reports/tr46/#Validity_Criteria\r\n\t// 4.) \"The label must not contain a U+002E ( . ) FULL STOP.\"\r\n\treturn name.split(STOP_CH).map(label => {\r\n\t\tlet input = explode_cp(label);\r\n\t\tlet info = {\r\n\t\t\tinput,\r\n\t\t\toffset, // codepoint, not substring!\r\n\t\t};\r\n\t\toffset += input.length + 1; // + stop\r\n\t\ttry {\r\n\t\t\t// 1.) \"The label must be in Unicode Normalization Form NFC\"\r\n\t\t\tlet tokens = info.tokens = tokens_from_str(input, nf, ef);\r\n\t\t\tlet token_count = tokens.length;\r\n\t\t\tlet type;\r\n\t\t\tif (!token_count) { // the label was effectively empty (could of had ignored characters)\r\n\t\t\t\t//norm = [];\r\n\t\t\t\t//type = 'None'; // use this instead of next match, \"ASCII\"\r\n\t\t\t\t// 20230120: change to strict\r\n\t\t\t\t// https://discuss.ens.domains/t/ens-name-normalization-2nd/14564/59\r\n\t\t\t\tthrow new Error(`empty label`);\r\n\t\t\t} \r\n\t\t\tlet norm = info.output = tokens.flat();\r\n\t\t\tcheck_leading_underscore(norm);\r\n\t\t\tlet emoji = info.emoji = token_count > 1 || tokens[0].is_emoji; // same as: tokens.some(x => x.is_emoji);\r\n\t\t\tif (!emoji && norm.every(cp => cp < 0x80)) { // special case for ascii\r\n\t\t\t\t// 20230123: matches matches WHATWG, see note 3.3\r\n\t\t\t\tcheck_label_extension(norm); // only needed for ascii\r\n\t\t\t\t// cant have fenced\r\n\t\t\t\t// cant have cm\r\n\t\t\t\t// cant have wholes\r\n\t\t\t\t// see derive: \"Fastpath ASCII\"\r\n\t\t\t\ttype = 'ASCII';\r\n\t\t\t} else {\r\n\t\t\t\tlet chars = tokens.flatMap(x => x.is_emoji ? [] : x); // all of the nfc tokens concat together\r\n\t\t\t\tif (!chars.length) { // theres no text, just emoji\r\n\t\t\t\t\ttype = 'Emoji';\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// 5.) \"The label must not begin with a combining mark, that is: General_Category=Mark.\"\r\n\t\t\t\t\tif (CM.has(norm[0])) throw error_placement('leading combining mark');\r\n\t\t\t\t\tfor (let i = 1; i < token_count; i++) { // we've already checked the first token\r\n\t\t\t\t\t\tlet cps = tokens[i];\r\n\t\t\t\t\t\tif (!cps.is_emoji && CM.has(cps[0])) { // every text token has emoji neighbors, eg. EtEEEtEt...\r\n\t\t\t\t\t\t\t// bidi_qq() not needed since emoji is LTR and cps is a CM\r\n\t\t\t\t\t\t\tthrow error_placement(`emoji + combining mark: \"${str_from_cps(tokens[i-1])} + ${safe_str_from_cps([cps[0]])}\"`); \r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcheck_fenced(norm);\r\n\t\t\t\t\tlet unique = Array_from(new Set(chars));\r\n\t\t\t\t\tlet [g] = determine_group(unique); // take the first match\r\n\t\t\t\t\t// see derive: \"Matching Groups have Same CM Style\"\r\n\t\t\t\t\t// alternative: could form a hybrid type: Latin/Japanese/...\t\r\n\t\t\t\t\tcheck_group(g, chars); // need text in order\r\n\t\t\t\t\tcheck_whole(g, unique); // only need unique text (order would be required for multiple-char confusables)\r\n\t\t\t\t\ttype = g.N;\r\n\t\t\t\t\t// 20230121: consider exposing restricted flag\r\n\t\t\t\t\t// it's simpler to just check for 'Restricted'\r\n\t\t\t\t\t// or even better: type.endsWith(']')\r\n\t\t\t\t\t//if (g.R) info.restricted = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tinfo.type = type;\r\n\t\t} catch (err) {\r\n\t\t\tinfo.error = err; // use full error object\r\n\t\t}\r\n\t\treturn info;\r\n\t});\r\n}\r\n\r\nfunction check_whole(group, unique) {\r\n\tlet maker;\r\n\tlet shared = [];\r\n\tfor (let cp of unique) {\r\n\t\tlet whole = WHOLE_MAP.get(cp);\r\n\t\tif (whole === UNIQUE_PH) return; // unique, non-confusable\r\n\t\tif (whole) {\r\n\t\t\tlet set = whole.M.get(cp); // groups which have a character that look-like this character\r\n\t\t\tmaker = maker ? maker.filter(g => set.has(g)) : Array_from(set);\r\n\t\t\tif (!maker.length) return; // confusable intersection is empty\r\n\t\t} else {\r\n\t\t\tshared.push(cp); \r\n\t\t}\r\n\t}\r\n\tif (maker) {\r\n\t\t// we have 1+ confusable\r\n\t\t// check if any of the remaining groups\r\n\t\t// contain the shared characters too\r\n\t\tfor (let g of maker) {\r\n\t\t\tif (shared.every(cp => group_has_cp(g, cp))) {\r\n\t\t\t\tthrow new Error(`whole-script confusable: ${group.N}/${g.N}`);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n// assumption: unique.size > 0\r\n// returns list of matching groups\r\nfunction determine_group(unique) {\r\n\tlet groups = GROUPS;\r\n\tfor (let cp of unique) {\r\n\t\t// note: we need to dodge CM that are whitelisted\r\n\t\t// but that code isn't currently necessary\r\n\t\tlet gs = groups.filter(g => group_has_cp(g, cp));\r\n\t\tif (!gs.length) {\r\n\t\t\tif (!GROUPS.some(g => group_has_cp(g, cp))) { \r\n\t\t\t\t// the character was composed of valid parts\r\n\t\t\t\t// but it's NFC form is invalid\r\n\t\t\t\t// 20230716: change to more exact statement, see: ENSNormalize.{cs,java}\r\n\t\t\t\t// note: this doesn't have to be a composition\r\n\t\t\t\t// 20230720: change to full check\r\n\t\t\t\tthrow error_disallowed(cp); // this should be rare\r\n\t\t\t} else {\r\n\t\t\t\t// there is no group that contains all these characters\r\n\t\t\t\t// throw using the highest priority group that matched\r\n\t\t\t\t// https://www.unicode.org/reports/tr39/#mixed_script_confusables\r\n\t\t\t\tthrow error_group_member(groups[0], cp);\r\n\t\t\t}\r\n\t\t}\r\n\t\tgroups = gs;\r\n\t\tif (gs.length == 1) break; // there is only one group left\r\n\t}\r\n\t// there are at least 1 group(s) with all of these characters\r\n\treturn groups;\r\n}\r\n\r\n// throw on first error\r\nfunction flatten(split) {\r\n\treturn split.map(({input, error, output}) => {\r\n\t\tif (error) {\r\n\t\t\t// don't print label again if just a single label\r\n\t\t\tlet msg = error.message;\r\n\t\t\t// bidi_qq() only necessary if msg is digits\r\n\t\t\tthrow new Error(split.length == 1 ? msg : `Invalid label ${bidi_qq(safe_str_from_cps(input, 63))}: ${msg}`); \r\n\t\t}\r\n\t\treturn str_from_cps(output);\r\n\t}).join(STOP_CH);\r\n}\r\n\r\nfunction error_disallowed(cp) {\r\n\t// TODO: add cp to error?\r\n\treturn new Error(`disallowed character: ${quoted_cp(cp)}`); \r\n}\r\nfunction error_group_member(g, cp) {\r\n\tlet quoted = quoted_cp(cp);\r\n\tlet gg = GROUPS.find(g => g.P.has(cp)); // only check primary\r\n\tif (gg) {\r\n\t\tquoted = `${gg.N} ${quoted}`;\r\n\t}\r\n\treturn new Error(`illegal mixture: ${g.N} + ${quoted}`);\r\n}\r\nfunction error_placement(where) {\r\n\treturn new Error(`illegal placement: ${where}`);\r\n}\r\n\r\n// assumption: cps.length > 0\r\n// assumption: cps[0] isn't a CM\r\n// assumption: the previous character isn't an emoji\r\nfunction check_group(g, cps) {\r\n\tfor (let cp of cps) {\r\n\t\tif (!group_has_cp(g, cp)) {\r\n\t\t\t// for whitelisted scripts, this will throw illegal mixture on invalid cm, eg. \"e{300}{300}\"\r\n\t\t\t// at the moment, it's unnecessary to introduce an extra error type\r\n\t\t\t// until there exists a whitelisted multi-character\r\n\t\t\t// eg. if (M < 0 && is_combining_mark(cp)) { ... }\r\n\t\t\t// there are 3 cases:\r\n\t\t\t// 1. illegal cm for wrong group => mixture error\r\n\t\t\t// 2. illegal cm for same group => cm error\r\n\t\t\t// requires set of whitelist cm per group: \r\n\t\t\t// eg. new Set([...g.P, ...g.Q].flatMap(nfc).filter(cp => CM.has(cp)))\r\n\t\t\t// 3. wrong group => mixture error\r\n\t\t\tthrow error_group_member(g, cp);\r\n\t\t}\r\n\t}\r\n\t//if (M >= 0) { // we have a known fixed cm count\r\n\tif (g.M) { // we need to check for NSM\r\n\t\tlet decomposed = nfd(cps);\r\n\t\tfor (let i = 1, e = decomposed.length; i < e; i++) { // see: assumption\r\n\t\t\t// 20230210: bugfix: using cps instead of decomposed h/t Carbon225\r\n\t\t\t/*\r\n\t\t\tif (CM.has(decomposed[i])) {\r\n\t\t\t\tlet j = i + 1;\r\n\t\t\t\twhile (j < e && CM.has(decomposed[j])) j++;\r\n\t\t\t\tif (j - i > M) {\r\n\t\t\t\t\tthrow new Error(`too many combining marks: ${g.N} ${bidi_qq(str_from_cps(decomposed.slice(i-1, j)))} (${j-i}/${M})`);\r\n\t\t\t\t}\r\n\t\t\t\ti = j;\r\n\t\t\t}\r\n\t\t\t*/\r\n\t\t\t// 20230217: switch to NSM counting\r\n\t\t\t// https://www.unicode.org/reports/tr39/#Optional_Detection\r\n\t\t\tif (NSM.has(decomposed[i])) {\r\n\t\t\t\tlet j = i + 1;\r\n\t\t\t\tfor (let cp; j < e && NSM.has(cp = decomposed[j]); j++) {\r\n\t\t\t\t\t// a. Forbid sequences of the same nonspacing mark.\r\n\t\t\t\t\tfor (let k = i; k < j; k++) { // O(n^2) but n < 100\r\n\t\t\t\t\t\tif (decomposed[k] == cp) {\r\n\t\t\t\t\t\t\tthrow new Error(`duplicate non-spacing marks: ${quoted_cp(cp)}`);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t// parse to end so we have full nsm count\r\n\t\t\t\t// b. Forbid sequences of more than 4 nonspacing marks (gc=Mn or gc=Me).\r\n\t\t\t\tif (j - i > NSM_MAX) {\r\n\t\t\t\t\t// note: this slice starts with a base char or spacing-mark cm\r\n\t\t\t\t\tthrow new Error(`excessive non-spacing marks: ${bidi_qq(safe_str_from_cps(decomposed.slice(i-1, j)))} (${j-i}/${NSM_MAX})`);\r\n\t\t\t\t}\r\n\t\t\t\ti = j;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t// *** this code currently isn't needed ***\r\n\t/*\r\n\tlet cm_whitelist = M instanceof Map;\r\n\tfor (let i = 0, e = cps.length; i < e; ) {\r\n\t\tlet cp = cps[i++];\r\n\t\tlet seqs = cm_whitelist && M.get(cp);\r\n\t\tif (seqs) { \r\n\t\t\t// list of codepoints that can follow\r\n\t\t\t// if this exists, this will always be 1+\r\n\t\t\tlet j = i;\r\n\t\t\twhile (j < e && CM.has(cps[j])) j++;\r\n\t\t\tlet cms = cps.slice(i, j);\r\n\t\t\tlet match = seqs.find(seq => !compare_arrays(seq, cms));\r\n\t\t\tif (!match) throw new Error(`disallowed combining mark sequence: \"${safe_str_from_cps([cp, ...cms])}\"`);\r\n\t\t\ti = j;\r\n\t\t} else if (!V.has(cp)) {\r\n\t\t\t// https://www.unicode.org/reports/tr39/#mixed_script_confusables\r\n\t\t\tlet quoted = quoted_cp(cp);\r\n\t\t\tfor (let cp of cps) {\r\n\t\t\t\tlet u = UNIQUE.get(cp);\r\n\t\t\t\tif (u && u !== g) {\r\n\t\t\t\t\t// if both scripts are restricted this error is confusing\r\n\t\t\t\t\t// because we don't differentiate RestrictedA from RestrictedB \r\n\t\t\t\t\tif (!u.R) quoted = `${quoted} is ${u.N}`;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthrow new Error(`disallowed ${g.N} character: ${quoted}`);\r\n\t\t\t//throw new Error(`disallowed character: ${quoted} (expected ${g.N})`);\r\n\t\t\t//throw new Error(`${g.N} does not allow: ${quoted}`);\r\n\t\t}\r\n\t}\r\n\tif (!cm_whitelist) {\r\n\t\tlet decomposed = nfd(cps);\r\n\t\tfor (let i = 1, e = decomposed.length; i < e; i++) { // we know it can't be cm leading\r\n\t\t\tif (CM.has(decomposed[i])) {\r\n\t\t\t\tlet j = i + 1;\r\n\t\t\t\twhile (j < e && CM.has(decomposed[j])) j++;\r\n\t\t\t\tif (j - i > M) {\r\n\t\t\t\t\tthrow new Error(`too many combining marks: \"${str_from_cps(decomposed.slice(i-1, j))}\" (${j-i}/${M})`);\r\n\t\t\t\t}\r\n\t\t\t\ti = j;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t*/\r\n}\r\n\r\n// given a list of codepoints\r\n// returns a list of lists, where emoji are a fully-qualified (as Array subclass)\r\n// eg. explode_cp(\"abc💩d\") => [[61, 62, 63], Emoji[1F4A9, FE0F], [64]]\r\n// 20230818: rename for 'process' name collision h/t Javarome\r\n// https://github.com/adraffy/ens-normalize.js/issues/23\r\nfunction tokens_from_str(input, nf, ef) {\r\n\tlet ret = [];\r\n\tlet chars = [];\r\n\tinput = input.slice().reverse(); // flip so we can pop\r\n\twhile (input.length) {\r\n\t\tlet emoji = consume_emoji_reversed(input);\r\n\t\tif (emoji) {\r\n\t\t\tif (chars.length) {\r\n\t\t\t\tret.push(nf(chars));\r\n\t\t\t\tchars = [];\r\n\t\t\t}\r\n\t\t\tret.push(ef(emoji));\r\n\t\t} else {\r\n\t\t\tlet cp = input.pop();\r\n\t\t\tif (VALID.has(cp)) {\r\n\t\t\t\tchars.push(cp);\r\n\t\t\t} else {\r\n\t\t\t\tlet cps = MAPPED.get(cp);\r\n\t\t\t\tif (cps) {\r\n\t\t\t\t\tchars.push(...cps); // less than 10 elements\r\n\t\t\t\t} else if (!IGNORED.has(cp)) {\r\n\t\t\t\t\t// 20230912: unicode 15.1 changed the order of processing such that\r\n\t\t\t\t\t// disallowed parts are only rejected after NFC\r\n\t\t\t\t\t// https://unicode.org/reports/tr46/#Validity_Criteria\r\n\t\t\t\t\t// this doesn't impact normalization as of today\r\n\t\t\t\t\t// technically, this error can be removed as the group logic will apply similar logic\r\n\t\t\t\t\t// however the error type might be less clear\r\n\t\t\t\t\tthrow error_disallowed(cp);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (chars.length) {\r\n\t\tret.push(nf(chars));\r\n\t}\r\n\treturn ret;\r\n}\r\n\r\nfunction filter_fe0f(cps) {\r\n\treturn cps.filter(cp => cp != FE0F);\r\n}\r\n\r\n// given array of codepoints\r\n// returns the longest valid emoji sequence (or undefined if no match)\r\n// *MUTATES* the supplied array\r\n// disallows interleaved ignored characters\r\n// fills (optional) eaten array with matched codepoints\r\nfunction consume_emoji_reversed(cps, eaten) {\r\n\tlet node = EMOJI_ROOT;\r\n\tlet emoji;\r\n\tlet pos = cps.length;\r\n\twhile (pos) {\r\n\t\tnode = node.get(cps[--pos]);\r\n\t\tif (!node) break;\r\n\t\tlet {V} = node;\r\n\t\tif (V) { // this is a valid emoji (so far)\r\n\t\t\temoji = V;\r\n\t\t\tif (eaten) eaten.push(...cps.slice(pos).reverse()); // (optional) copy input, used for ens_tokenize()\r\n\t\t\tcps.length = pos; // truncate\r\n\t\t}\r\n\t}\r\n\treturn emoji;\r\n}\r\n\r\n// ************************************************************\r\n// tokenizer \r\n\r\nconst TY_VALID = 'valid';\r\nconst TY_MAPPED = 'mapped';\r\nconst TY_IGNORED = 'ignored';\r\nconst TY_DISALLOWED = 'disallowed';\r\nconst TY_EMOJI = 'emoji';\r\nconst TY_NFC = 'nfc';\r\nconst TY_STOP = 'stop';\r\n\r\nfunction ens_tokenize(name, {\r\n\tnf = true, // collapse unnormalized runs into a single token\r\n} = {}) {\r\n\tinit();\r\n\tlet input = explode_cp(name).reverse();\r\n\tlet eaten = [];\r\n\tlet tokens = [];\r\n\twhile (input.length) {\r\n\t\tlet emoji = consume_emoji_reversed(input, eaten);\r\n\t\tif (emoji) {\r\n\t\t\ttokens.push({\r\n\t\t\t\ttype: TY_EMOJI,\r\n\t\t\t\temoji: emoji.slice(), // copy emoji\r\n\t\t\t\tinput: eaten,\r\n\t\t\t\tcps: filter_fe0f(emoji)\r\n\t\t\t});\r\n\t\t\teaten = []; // reset buffer\r\n\t\t} else {\r\n\t\t\tlet cp = input.pop();\r\n\t\t\tif (cp == STOP) {\r\n\t\t\t\ttokens.push({type: TY_STOP, cp});\r\n\t\t\t} else if (VALID.has(cp)) {\r\n\t\t\t\ttokens.push({type: TY_VALID, cps: [cp]});\r\n\t\t\t} else if (IGNORED.has(cp)) {\r\n\t\t\t\ttokens.push({type: TY_IGNORED, cp});\r\n\t\t\t} else {\r\n\t\t\t\tlet cps = MAPPED.get(cp);\r\n\t\t\t\tif (cps) {\r\n\t\t\t\t\ttokens.push({type: TY_MAPPED, cp, cps: cps.slice()});\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttokens.push({type: TY_DISALLOWED, cp});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (nf) {\r\n\t\tfor (let i = 0, start = -1; i < tokens.length; i++) {\r\n\t\t\tlet token = tokens[i];\r\n\t\t\tif (is_valid_or_mapped(token.type)) {\r\n\t\t\t\tif (requires_check(token.cps)) { // normalization might be needed\r\n\t\t\t\t\tlet end = i + 1;\r\n\t\t\t\t\tfor (let pos = end; pos < tokens.length; pos++) { // find adjacent text\r\n\t\t\t\t\t\tlet {type, cps} = tokens[pos];\r\n\t\t\t\t\t\tif (is_valid_or_mapped(type)) {\r\n\t\t\t\t\t\t\tif (!requires_check(cps)) break;\r\n\t\t\t\t\t\t\tend = pos + 1;\r\n\t\t\t\t\t\t} else if (type !== TY_IGNORED) { // || type !== TY_DISALLOWED) { \r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (start < 0) start = i;\r\n\t\t\t\t\tlet slice = tokens.slice(start, end);\r\n\t\t\t\t\tlet cps0 = slice.flatMap(x => is_valid_or_mapped(x.type) ? x.cps : []); // strip junk tokens\r\n\t\t\t\t\tlet cps = nfc(cps0);\r\n\t\t\t\t\tif (compare_arrays(cps, cps0)) { // bundle into an nfc token\r\n\t\t\t\t\t\ttokens.splice(start, end - start, {\r\n\t\t\t\t\t\t\ttype: TY_NFC, \r\n\t\t\t\t\t\t\tinput: cps0, // there are 3 states: tokens0 ==(process)=> input ==(nfc)=> tokens/cps\r\n\t\t\t\t\t\t\tcps, \r\n\t\t\t\t\t\t\ttokens0: collapse_valid_tokens(slice),\r\n\t\t\t\t\t\t\ttokens: ens_tokenize(str_from_cps(cps), {nf: false})\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\ti = start;\r\n\t\t\t\t\t} else { \r\n\t\t\t\t\t\ti = end - 1; // skip to end of slice\r\n\t\t\t\t\t}\r\n\t\t\t\t\tstart = -1; // reset\r\n\t\t\t\t} else {\r\n\t\t\t\t\tstart = i; // remember last\r\n\t\t\t\t}\r\n\t\t\t} else if (token.type !== TY_IGNORED) { // 20221024: is this correct?\r\n\t\t\t\tstart = -1; // reset\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn collapse_valid_tokens(tokens);\r\n}\r\n\r\nfunction is_valid_or_mapped(type) {\r\n\treturn type == TY_VALID || type == TY_MAPPED;\r\n}\r\n\r\nfunction requires_check(cps) {\r\n\treturn cps.some(cp => NFC_CHECK.has(cp));\r\n}\r\n\r\nfunction collapse_valid_tokens(tokens) {\r\n\tfor (let i = 0; i < tokens.length; i++) {\r\n\t\tif (tokens[i].type == TY_VALID) {\r\n\t\t\tlet j = i + 1;\r\n\t\t\twhile (j < tokens.length && tokens[j].type == TY_VALID) j++;\r\n\t\t\ttokens.splice(i, j - i, {type: TY_VALID, cps: tokens.slice(i, j).flatMap(x => x.cps)});\r\n\t\t}\r\n\t}\r\n\treturn tokens;\r\n}\n\nexport { ens_beautify, ens_emoji, ens_normalize, ens_normalize_fragment, ens_split, ens_tokenize, is_combining_mark, nfc, nfd, safe_str_from_cps, should_escape };\n","import { keccak256 } from \"../crypto/index.js\";\nimport { concat, hexlify, assertArgument, toUtf8Bytes } from \"../utils/index.js\";\nimport { ens_normalize } from \"@adraffy/ens-normalize\";\nconst Zeros = new Uint8Array(32);\nZeros.fill(0);\nfunction checkComponent(comp) {\n assertArgument(comp.length !== 0, \"invalid ENS name; empty component\", \"comp\", comp);\n return comp;\n}\nfunction ensNameSplit(name) {\n const bytes = toUtf8Bytes(ensNormalize(name));\n const comps = [];\n if (name.length === 0) {\n return comps;\n }\n let last = 0;\n for (let i = 0; i < bytes.length; i++) {\n const d = bytes[i];\n // A separator (i.e. \".\"); copy this component\n if (d === 0x2e) {\n comps.push(checkComponent(bytes.slice(last, i)));\n last = i + 1;\n }\n }\n // There was a stray separator at the end of the name\n assertArgument(last < bytes.length, \"invalid ENS name; empty component\", \"name\", name);\n comps.push(checkComponent(bytes.slice(last)));\n return comps;\n}\n/**\n * Returns the ENS %%name%% normalized.\n */\nexport function ensNormalize(name) {\n try {\n if (name.length === 0) {\n throw new Error(\"empty label\");\n }\n return ens_normalize(name);\n }\n catch (error) {\n assertArgument(false, `invalid ENS name (${error.message})`, \"name\", name);\n }\n}\n/**\n * Returns ``true`` if %%name%% is a valid ENS name.\n */\nexport function isValidName(name) {\n try {\n return (ensNameSplit(name).length !== 0);\n }\n catch (error) { }\n return false;\n}\n/**\n * Returns the [[link-namehash]] for %%name%%.\n */\nexport function namehash(name) {\n assertArgument(typeof (name) === \"string\", \"invalid ENS name; not a string\", \"name\", name);\n assertArgument(name.length, `invalid ENS name (empty label)`, \"name\", name);\n let result = Zeros;\n const comps = ensNameSplit(name);\n while (comps.length) {\n result = keccak256(concat([result, keccak256((comps.pop()))]));\n }\n return hexlify(result);\n}\n/**\n * Returns the DNS encoded %%name%%.\n *\n * This is used for various parts of ENS name resolution, such\n * as the wildcard resolution.\n */\nexport function dnsEncode(name, _maxLength) {\n const length = (_maxLength != null) ? _maxLength : 63;\n assertArgument(length <= 255, \"DNS encoded label cannot exceed 255\", \"length\", length);\n return hexlify(concat(ensNameSplit(name).map((comp) => {\n assertArgument(comp.length <= length, `label ${JSON.stringify(name)} exceeds ${length} bytes`, \"name\", name);\n const bytes = new Uint8Array(comp.length + 1);\n bytes.set(comp, 1);\n bytes[0] = bytes.length - 1;\n return bytes;\n }))) + \"00\";\n}\n//# sourceMappingURL=namehash.js.map","import { getAddress } from \"../address/index.js\";\nimport { assertArgument, isHexString } from \"../utils/index.js\";\nfunction accessSetify(addr, storageKeys) {\n return {\n address: getAddress(addr),\n storageKeys: storageKeys.map((storageKey, index) => {\n assertArgument(isHexString(storageKey, 32), \"invalid slot\", `storageKeys[${index}]`, storageKey);\n return storageKey.toLowerCase();\n })\n };\n}\n/**\n * Returns a [[AccessList]] from any ethers-supported access-list structure.\n */\nexport function accessListify(value) {\n if (Array.isArray(value)) {\n return value.map((set, index) => {\n if (Array.isArray(set)) {\n assertArgument(set.length === 2, \"invalid slot set\", `value[${index}]`, set);\n return accessSetify(set[0], set[1]);\n }\n assertArgument(set != null && typeof (set) === \"object\", \"invalid address-slot set\", \"value\", value);\n return accessSetify(set.address, set.storageKeys);\n });\n }\n assertArgument(value != null && typeof (value) === \"object\", \"invalid access list\", \"value\", value);\n const result = Object.keys(value).map((addr) => {\n const storageKeys = value[addr].reduce((accum, storageKey) => {\n accum[storageKey] = true;\n return accum;\n }, {});\n return accessSetify(addr, Object.keys(storageKeys).sort());\n });\n result.sort((a, b) => (a.address.localeCompare(b.address)));\n return result;\n}\n//# sourceMappingURL=accesslist.js.map","import { getAddress } from \"../address/index.js\";\nimport { keccak256, SigningKey } from \"../crypto/index.js\";\n/**\n * Returns the address for the %%key%%.\n *\n * The key may be any standard form of public key or a private key.\n */\nexport function computeAddress(key) {\n let pubkey;\n if (typeof (key) === \"string\") {\n pubkey = SigningKey.computePublicKey(key, false);\n }\n else {\n pubkey = key.publicKey;\n }\n return getAddress(keccak256(\"0x\" + pubkey.substring(4)).substring(26));\n}\n/**\n * Returns the recovered address for the private key that was\n * used to sign %%digest%% that resulted in %%signature%%.\n */\nexport function recoverAddress(digest, signature) {\n return computeAddress(SigningKey.recoverPublicKey(digest, signature));\n}\n//# sourceMappingURL=address.js.map","import { getAddress } from \"../address/index.js\";\nimport { ZeroAddress } from \"../constants/addresses.js\";\nimport { keccak256, Signature, SigningKey } from \"../crypto/index.js\";\nimport { concat, decodeRlp, encodeRlp, getBytes, getBigInt, getNumber, hexlify, assert, assertArgument, isHexString, toBeArray, zeroPadValue } from \"../utils/index.js\";\nimport { accessListify } from \"./accesslist.js\";\nimport { recoverAddress } from \"./address.js\";\nconst BN_0 = BigInt(0);\nconst BN_2 = BigInt(2);\nconst BN_27 = BigInt(27);\nconst BN_28 = BigInt(28);\nconst BN_35 = BigInt(35);\nconst BN_MAX_UINT = BigInt(\"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\");\nfunction handleAddress(value) {\n if (value === \"0x\") {\n return null;\n }\n return getAddress(value);\n}\nfunction handleAccessList(value, param) {\n try {\n return accessListify(value);\n }\n catch (error) {\n assertArgument(false, error.message, param, value);\n }\n}\nfunction handleNumber(_value, param) {\n if (_value === \"0x\") {\n return 0;\n }\n return getNumber(_value, param);\n}\nfunction handleUint(_value, param) {\n if (_value === \"0x\") {\n return BN_0;\n }\n const value = getBigInt(_value, param);\n assertArgument(value <= BN_MAX_UINT, \"value exceeds uint size\", param, value);\n return value;\n}\nfunction formatNumber(_value, name) {\n const value = getBigInt(_value, \"value\");\n const result = toBeArray(value);\n assertArgument(result.length <= 32, `value too large`, `tx.${name}`, value);\n return result;\n}\nfunction formatAccessList(value) {\n return accessListify(value).map((set) => [set.address, set.storageKeys]);\n}\nfunction formatHashes(value, param) {\n assertArgument(Array.isArray(value), `invalid ${param}`, \"value\", value);\n for (let i = 0; i < value.length; i++) {\n assertArgument(isHexString(value[i], 32), \"invalid ${ param } hash\", `value[${i}]`, value[i]);\n }\n return value;\n}\nfunction _parseLegacy(data) {\n const fields = decodeRlp(data);\n assertArgument(Array.isArray(fields) && (fields.length === 9 || fields.length === 6), \"invalid field count for legacy transaction\", \"data\", data);\n const tx = {\n type: 0,\n nonce: handleNumber(fields[0], \"nonce\"),\n gasPrice: handleUint(fields[1], \"gasPrice\"),\n gasLimit: handleUint(fields[2], \"gasLimit\"),\n to: handleAddress(fields[3]),\n value: handleUint(fields[4], \"value\"),\n data: hexlify(fields[5]),\n chainId: BN_0\n };\n // Legacy unsigned transaction\n if (fields.length === 6) {\n return tx;\n }\n const v = handleUint(fields[6], \"v\");\n const r = handleUint(fields[7], \"r\");\n const s = handleUint(fields[8], \"s\");\n if (r === BN_0 && s === BN_0) {\n // EIP-155 unsigned transaction\n tx.chainId = v;\n }\n else {\n // Compute the EIP-155 chain ID (or 0 for legacy)\n let chainId = (v - BN_35) / BN_2;\n if (chainId < BN_0) {\n chainId = BN_0;\n }\n tx.chainId = chainId;\n // Signed Legacy Transaction\n assertArgument(chainId !== BN_0 || (v === BN_27 || v === BN_28), \"non-canonical legacy v\", \"v\", fields[6]);\n tx.signature = Signature.from({\n r: zeroPadValue(fields[7], 32),\n s: zeroPadValue(fields[8], 32),\n v\n });\n tx.hash = keccak256(data);\n }\n return tx;\n}\nfunction _serializeLegacy(tx, sig) {\n const fields = [\n formatNumber(tx.nonce, \"nonce\"),\n formatNumber(tx.gasPrice || 0, \"gasPrice\"),\n formatNumber(tx.gasLimit, \"gasLimit\"),\n (tx.to || \"0x\"),\n formatNumber(tx.value, \"value\"),\n tx.data,\n ];\n let chainId = BN_0;\n if (tx.chainId != BN_0) {\n // A chainId was provided; if non-zero we'll use EIP-155\n chainId = getBigInt(tx.chainId, \"tx.chainId\");\n // We have a chainId in the tx and an EIP-155 v in the signature,\n // make sure they agree with each other\n assertArgument(!sig || sig.networkV == null || sig.legacyChainId === chainId, \"tx.chainId/sig.v mismatch\", \"sig\", sig);\n }\n else if (tx.signature) {\n // No explicit chainId, but EIP-155 have a derived implicit chainId\n const legacy = tx.signature.legacyChainId;\n if (legacy != null) {\n chainId = legacy;\n }\n }\n // Requesting an unsigned transaction\n if (!sig) {\n // We have an EIP-155 transaction (chainId was specified and non-zero)\n if (chainId !== BN_0) {\n fields.push(toBeArray(chainId));\n fields.push(\"0x\");\n fields.push(\"0x\");\n }\n return encodeRlp(fields);\n }\n // @TODO: We should probably check that tx.signature, chainId, and sig\n // match but that logic could break existing code, so schedule\n // this for the next major bump.\n // Compute the EIP-155 v\n let v = BigInt(27 + sig.yParity);\n if (chainId !== BN_0) {\n v = Signature.getChainIdV(chainId, sig.v);\n }\n else if (BigInt(sig.v) !== v) {\n assertArgument(false, \"tx.chainId/sig.v mismatch\", \"sig\", sig);\n }\n // Add the signature\n fields.push(toBeArray(v));\n fields.push(toBeArray(sig.r));\n fields.push(toBeArray(sig.s));\n return encodeRlp(fields);\n}\nfunction _parseEipSignature(tx, fields) {\n let yParity;\n try {\n yParity = handleNumber(fields[0], \"yParity\");\n if (yParity !== 0 && yParity !== 1) {\n throw new Error(\"bad yParity\");\n }\n }\n catch (error) {\n assertArgument(false, \"invalid yParity\", \"yParity\", fields[0]);\n }\n const r = zeroPadValue(fields[1], 32);\n const s = zeroPadValue(fields[2], 32);\n const signature = Signature.from({ r, s, yParity });\n tx.signature = signature;\n}\nfunction _parseEip1559(data) {\n const fields = decodeRlp(getBytes(data).slice(1));\n assertArgument(Array.isArray(fields) && (fields.length === 9 || fields.length === 12), \"invalid field count for transaction type: 2\", \"data\", hexlify(data));\n const tx = {\n type: 2,\n chainId: handleUint(fields[0], \"chainId\"),\n nonce: handleNumber(fields[1], \"nonce\"),\n maxPriorityFeePerGas: handleUint(fields[2], \"maxPriorityFeePerGas\"),\n maxFeePerGas: handleUint(fields[3], \"maxFeePerGas\"),\n gasPrice: null,\n gasLimit: handleUint(fields[4], \"gasLimit\"),\n to: handleAddress(fields[5]),\n value: handleUint(fields[6], \"value\"),\n data: hexlify(fields[7]),\n accessList: handleAccessList(fields[8], \"accessList\"),\n };\n // Unsigned EIP-1559 Transaction\n if (fields.length === 9) {\n return tx;\n }\n tx.hash = keccak256(data);\n _parseEipSignature(tx, fields.slice(9));\n return tx;\n}\nfunction _serializeEip1559(tx, sig) {\n const fields = [\n formatNumber(tx.chainId, \"chainId\"),\n formatNumber(tx.nonce, \"nonce\"),\n formatNumber(tx.maxPriorityFeePerGas || 0, \"maxPriorityFeePerGas\"),\n formatNumber(tx.maxFeePerGas || 0, \"maxFeePerGas\"),\n formatNumber(tx.gasLimit, \"gasLimit\"),\n (tx.to || \"0x\"),\n formatNumber(tx.value, \"value\"),\n tx.data,\n formatAccessList(tx.accessList || [])\n ];\n if (sig) {\n fields.push(formatNumber(sig.yParity, \"yParity\"));\n fields.push(toBeArray(sig.r));\n fields.push(toBeArray(sig.s));\n }\n return concat([\"0x02\", encodeRlp(fields)]);\n}\nfunction _parseEip2930(data) {\n const fields = decodeRlp(getBytes(data).slice(1));\n assertArgument(Array.isArray(fields) && (fields.length === 8 || fields.length === 11), \"invalid field count for transaction type: 1\", \"data\", hexlify(data));\n const tx = {\n type: 1,\n chainId: handleUint(fields[0], \"chainId\"),\n nonce: handleNumber(fields[1], \"nonce\"),\n gasPrice: handleUint(fields[2], \"gasPrice\"),\n gasLimit: handleUint(fields[3], \"gasLimit\"),\n to: handleAddress(fields[4]),\n value: handleUint(fields[5], \"value\"),\n data: hexlify(fields[6]),\n accessList: handleAccessList(fields[7], \"accessList\")\n };\n // Unsigned EIP-2930 Transaction\n if (fields.length === 8) {\n return tx;\n }\n tx.hash = keccak256(data);\n _parseEipSignature(tx, fields.slice(8));\n return tx;\n}\nfunction _serializeEip2930(tx, sig) {\n const fields = [\n formatNumber(tx.chainId, \"chainId\"),\n formatNumber(tx.nonce, \"nonce\"),\n formatNumber(tx.gasPrice || 0, \"gasPrice\"),\n formatNumber(tx.gasLimit, \"gasLimit\"),\n (tx.to || \"0x\"),\n formatNumber(tx.value, \"value\"),\n tx.data,\n formatAccessList(tx.accessList || [])\n ];\n if (sig) {\n fields.push(formatNumber(sig.yParity, \"recoveryParam\"));\n fields.push(toBeArray(sig.r));\n fields.push(toBeArray(sig.s));\n }\n return concat([\"0x01\", encodeRlp(fields)]);\n}\nfunction _parseEip4844(data) {\n const fields = decodeRlp(getBytes(data).slice(1));\n assertArgument(Array.isArray(fields) && (fields.length === 11 || fields.length === 14), \"invalid field count for transaction type: 3\", \"data\", hexlify(data));\n const tx = {\n type: 3,\n chainId: handleUint(fields[0], \"chainId\"),\n nonce: handleNumber(fields[1], \"nonce\"),\n maxPriorityFeePerGas: handleUint(fields[2], \"maxPriorityFeePerGas\"),\n maxFeePerGas: handleUint(fields[3], \"maxFeePerGas\"),\n gasPrice: null,\n gasLimit: handleUint(fields[4], \"gasLimit\"),\n to: handleAddress(fields[5]),\n value: handleUint(fields[6], \"value\"),\n data: hexlify(fields[7]),\n accessList: handleAccessList(fields[8], \"accessList\"),\n maxFeePerBlobGas: handleUint(fields[9], \"maxFeePerBlobGas\"),\n blobVersionedHashes: fields[10]\n };\n assertArgument(tx.to != null, \"invalid address for transaction type: 3\", \"data\", data);\n assertArgument(Array.isArray(tx.blobVersionedHashes), \"invalid blobVersionedHashes: must be an array\", \"data\", data);\n for (let i = 0; i < tx.blobVersionedHashes.length; i++) {\n assertArgument(isHexString(tx.blobVersionedHashes[i], 32), `invalid blobVersionedHash at index ${i}: must be length 32`, \"data\", data);\n }\n // Unsigned EIP-4844 Transaction\n if (fields.length === 11) {\n return tx;\n }\n tx.hash = keccak256(data);\n _parseEipSignature(tx, fields.slice(11));\n return tx;\n}\nfunction _serializeEip4844(tx, sig) {\n const fields = [\n formatNumber(tx.chainId, \"chainId\"),\n formatNumber(tx.nonce, \"nonce\"),\n formatNumber(tx.maxPriorityFeePerGas || 0, \"maxPriorityFeePerGas\"),\n formatNumber(tx.maxFeePerGas || 0, \"maxFeePerGas\"),\n formatNumber(tx.gasLimit, \"gasLimit\"),\n (tx.to || ZeroAddress),\n formatNumber(tx.value, \"value\"),\n tx.data,\n formatAccessList(tx.accessList || []),\n formatNumber(tx.maxFeePerBlobGas || 0, \"maxFeePerBlobGas\"),\n formatHashes(tx.blobVersionedHashes || [], \"blobVersionedHashes\")\n ];\n if (sig) {\n fields.push(formatNumber(sig.yParity, \"yParity\"));\n fields.push(toBeArray(sig.r));\n fields.push(toBeArray(sig.s));\n }\n return concat([\"0x03\", encodeRlp(fields)]);\n}\n/**\n * A **Transaction** describes an operation to be executed on\n * Ethereum by an Externally Owned Account (EOA). It includes\n * who (the [[to]] address), what (the [[data]]) and how much (the\n * [[value]] in ether) the operation should entail.\n *\n * @example:\n * tx = new Transaction()\n * //_result:\n *\n * tx.data = \"0x1234\";\n * //_result:\n */\nexport class Transaction {\n #type;\n #to;\n #data;\n #nonce;\n #gasLimit;\n #gasPrice;\n #maxPriorityFeePerGas;\n #maxFeePerGas;\n #value;\n #chainId;\n #sig;\n #accessList;\n #maxFeePerBlobGas;\n #blobVersionedHashes;\n /**\n * The transaction type.\n *\n * If null, the type will be automatically inferred based on\n * explicit properties.\n */\n get type() { return this.#type; }\n set type(value) {\n switch (value) {\n case null:\n this.#type = null;\n break;\n case 0:\n case \"legacy\":\n this.#type = 0;\n break;\n case 1:\n case \"berlin\":\n case \"eip-2930\":\n this.#type = 1;\n break;\n case 2:\n case \"london\":\n case \"eip-1559\":\n this.#type = 2;\n break;\n case 3:\n case \"cancun\":\n case \"eip-4844\":\n this.#type = 3;\n break;\n default:\n assertArgument(false, \"unsupported transaction type\", \"type\", value);\n }\n }\n /**\n * The name of the transaction type.\n */\n get typeName() {\n switch (this.type) {\n case 0: return \"legacy\";\n case 1: return \"eip-2930\";\n case 2: return \"eip-1559\";\n case 3: return \"eip-4844\";\n }\n return null;\n }\n /**\n * The ``to`` address for the transaction or ``null`` if the\n * transaction is an ``init`` transaction.\n */\n get to() {\n const value = this.#to;\n if (value == null && this.type === 3) {\n return ZeroAddress;\n }\n return value;\n }\n set to(value) {\n this.#to = (value == null) ? null : getAddress(value);\n }\n /**\n * The transaction nonce.\n */\n get nonce() { return this.#nonce; }\n set nonce(value) { this.#nonce = getNumber(value, \"value\"); }\n /**\n * The gas limit.\n */\n get gasLimit() { return this.#gasLimit; }\n set gasLimit(value) { this.#gasLimit = getBigInt(value); }\n /**\n * The gas price.\n *\n * On legacy networks this defines the fee that will be paid. On\n * EIP-1559 networks, this should be ``null``.\n */\n get gasPrice() {\n const value = this.#gasPrice;\n if (value == null && (this.type === 0 || this.type === 1)) {\n return BN_0;\n }\n return value;\n }\n set gasPrice(value) {\n this.#gasPrice = (value == null) ? null : getBigInt(value, \"gasPrice\");\n }\n /**\n * The maximum priority fee per unit of gas to pay. On legacy\n * networks this should be ``null``.\n */\n get maxPriorityFeePerGas() {\n const value = this.#maxPriorityFeePerGas;\n if (value == null) {\n if (this.type === 2 || this.type === 3) {\n return BN_0;\n }\n return null;\n }\n return value;\n }\n set maxPriorityFeePerGas(value) {\n this.#maxPriorityFeePerGas = (value == null) ? null : getBigInt(value, \"maxPriorityFeePerGas\");\n }\n /**\n * The maximum total fee per unit of gas to pay. On legacy\n * networks this should be ``null``.\n */\n get maxFeePerGas() {\n const value = this.#maxFeePerGas;\n if (value == null) {\n if (this.type === 2 || this.type === 3) {\n return BN_0;\n }\n return null;\n }\n return value;\n }\n set maxFeePerGas(value) {\n this.#maxFeePerGas = (value == null) ? null : getBigInt(value, \"maxFeePerGas\");\n }\n /**\n * The transaction data. For ``init`` transactions this is the\n * deployment code.\n */\n get data() { return this.#data; }\n set data(value) { this.#data = hexlify(value); }\n /**\n * The amount of ether (in wei) to send in this transactions.\n */\n get value() { return this.#value; }\n set value(value) {\n this.#value = getBigInt(value, \"value\");\n }\n /**\n * The chain ID this transaction is valid on.\n */\n get chainId() { return this.#chainId; }\n set chainId(value) { this.#chainId = getBigInt(value); }\n /**\n * If signed, the signature for this transaction.\n */\n get signature() { return this.#sig || null; }\n set signature(value) {\n this.#sig = (value == null) ? null : Signature.from(value);\n }\n /**\n * The access list.\n *\n * An access list permits discounted (but pre-paid) access to\n * bytecode and state variable access within contract execution.\n */\n get accessList() {\n const value = this.#accessList || null;\n if (value == null) {\n if (this.type === 1 || this.type === 2 || this.type === 3) {\n // @TODO: in v7, this should assign the value or become\n // a live object itself, otherwise mutation is inconsistent\n return [];\n }\n return null;\n }\n return value;\n }\n set accessList(value) {\n this.#accessList = (value == null) ? null : accessListify(value);\n }\n /**\n * The max fee per blob gas for Cancun transactions.\n */\n get maxFeePerBlobGas() {\n const value = this.#maxFeePerBlobGas;\n if (value == null && this.type === 3) {\n return BN_0;\n }\n return value;\n }\n set maxFeePerBlobGas(value) {\n this.#maxFeePerBlobGas = (value == null) ? null : getBigInt(value, \"maxFeePerBlobGas\");\n }\n /**\n * The BLOB versioned hashes for Cancun transactions.\n */\n get blobVersionedHashes() {\n // @TODO: Mutation is inconsistent; if unset, the returned value\n // cannot mutate the object, if set it can\n let value = this.#blobVersionedHashes;\n if (value == null && this.type === 3) {\n return [];\n }\n return value;\n }\n set blobVersionedHashes(value) {\n if (value != null) {\n assertArgument(Array.isArray(value), \"blobVersionedHashes must be an Array\", \"value\", value);\n value = value.slice();\n for (let i = 0; i < value.length; i++) {\n assertArgument(isHexString(value[i], 32), \"invalid blobVersionedHash\", `value[${i}]`, value[i]);\n }\n }\n this.#blobVersionedHashes = value;\n }\n /**\n * Creates a new Transaction with default values.\n */\n constructor() {\n this.#type = null;\n this.#to = null;\n this.#nonce = 0;\n this.#gasLimit = BN_0;\n this.#gasPrice = null;\n this.#maxPriorityFeePerGas = null;\n this.#maxFeePerGas = null;\n this.#data = \"0x\";\n this.#value = BN_0;\n this.#chainId = BN_0;\n this.#sig = null;\n this.#accessList = null;\n this.#maxFeePerBlobGas = null;\n this.#blobVersionedHashes = null;\n }\n /**\n * The transaction hash, if signed. Otherwise, ``null``.\n */\n get hash() {\n if (this.signature == null) {\n return null;\n }\n return keccak256(this.serialized);\n }\n /**\n * The pre-image hash of this transaction.\n *\n * This is the digest that a [[Signer]] must sign to authorize\n * this transaction.\n */\n get unsignedHash() {\n return keccak256(this.unsignedSerialized);\n }\n /**\n * The sending address, if signed. Otherwise, ``null``.\n */\n get from() {\n if (this.signature == null) {\n return null;\n }\n return recoverAddress(this.unsignedHash, this.signature);\n }\n /**\n * The public key of the sender, if signed. Otherwise, ``null``.\n */\n get fromPublicKey() {\n if (this.signature == null) {\n return null;\n }\n return SigningKey.recoverPublicKey(this.unsignedHash, this.signature);\n }\n /**\n * Returns true if signed.\n *\n * This provides a Type Guard that properties requiring a signed\n * transaction are non-null.\n */\n isSigned() {\n return this.signature != null;\n }\n /**\n * The serialized transaction.\n *\n * This throws if the transaction is unsigned. For the pre-image,\n * use [[unsignedSerialized]].\n */\n get serialized() {\n assert(this.signature != null, \"cannot serialize unsigned transaction; maybe you meant .unsignedSerialized\", \"UNSUPPORTED_OPERATION\", { operation: \".serialized\" });\n switch (this.inferType()) {\n case 0:\n return _serializeLegacy(this, this.signature);\n case 1:\n return _serializeEip2930(this, this.signature);\n case 2:\n return _serializeEip1559(this, this.signature);\n case 3:\n return _serializeEip4844(this, this.signature);\n }\n assert(false, \"unsupported transaction type\", \"UNSUPPORTED_OPERATION\", { operation: \".serialized\" });\n }\n /**\n * The transaction pre-image.\n *\n * The hash of this is the digest which needs to be signed to\n * authorize this transaction.\n */\n get unsignedSerialized() {\n switch (this.inferType()) {\n case 0:\n return _serializeLegacy(this);\n case 1:\n return _serializeEip2930(this);\n case 2:\n return _serializeEip1559(this);\n case 3:\n return _serializeEip4844(this);\n }\n assert(false, \"unsupported transaction type\", \"UNSUPPORTED_OPERATION\", { operation: \".unsignedSerialized\" });\n }\n /**\n * Return the most \"likely\" type; currently the highest\n * supported transaction type.\n */\n inferType() {\n const types = this.inferTypes();\n // Prefer London (EIP-1559) over Cancun (BLOb)\n if (types.indexOf(2) >= 0) {\n return 2;\n }\n // Return the highest inferred type\n return (types.pop());\n }\n /**\n * Validates the explicit properties and returns a list of compatible\n * transaction types.\n */\n inferTypes() {\n // Checks that there are no conflicting properties set\n const hasGasPrice = this.gasPrice != null;\n const hasFee = (this.maxFeePerGas != null || this.maxPriorityFeePerGas != null);\n const hasAccessList = (this.accessList != null);\n const hasBlob = (this.#maxFeePerBlobGas != null || this.#blobVersionedHashes);\n //if (hasGasPrice && hasFee) {\n // throw new Error(\"transaction cannot have gasPrice and maxFeePerGas\");\n //}\n if (this.maxFeePerGas != null && this.maxPriorityFeePerGas != null) {\n assert(this.maxFeePerGas >= this.maxPriorityFeePerGas, \"priorityFee cannot be more than maxFee\", \"BAD_DATA\", { value: this });\n }\n //if (this.type === 2 && hasGasPrice) {\n // throw new Error(\"eip-1559 transaction cannot have gasPrice\");\n //}\n assert(!hasFee || (this.type !== 0 && this.type !== 1), \"transaction type cannot have maxFeePerGas or maxPriorityFeePerGas\", \"BAD_DATA\", { value: this });\n assert(this.type !== 0 || !hasAccessList, \"legacy transaction cannot have accessList\", \"BAD_DATA\", { value: this });\n const types = [];\n // Explicit type\n if (this.type != null) {\n types.push(this.type);\n }\n else {\n if (hasFee) {\n types.push(2);\n }\n else if (hasGasPrice) {\n types.push(1);\n if (!hasAccessList) {\n types.push(0);\n }\n }\n else if (hasAccessList) {\n types.push(1);\n types.push(2);\n }\n else if (hasBlob && this.to) {\n types.push(3);\n }\n else {\n types.push(0);\n types.push(1);\n types.push(2);\n types.push(3);\n }\n }\n types.sort();\n return types;\n }\n /**\n * Returns true if this transaction is a legacy transaction (i.e.\n * ``type === 0``).\n *\n * This provides a Type Guard that the related properties are\n * non-null.\n */\n isLegacy() {\n return (this.type === 0);\n }\n /**\n * Returns true if this transaction is berlin hardform transaction (i.e.\n * ``type === 1``).\n *\n * This provides a Type Guard that the related properties are\n * non-null.\n */\n isBerlin() {\n return (this.type === 1);\n }\n /**\n * Returns true if this transaction is london hardform transaction (i.e.\n * ``type === 2``).\n *\n * This provides a Type Guard that the related properties are\n * non-null.\n */\n isLondon() {\n return (this.type === 2);\n }\n /**\n * Returns true if this transaction is an [[link-eip-4844]] BLOB\n * transaction.\n *\n * This provides a Type Guard that the related properties are\n * non-null.\n */\n isCancun() {\n return (this.type === 3);\n }\n /**\n * Create a copy of this transaciton.\n */\n clone() {\n return Transaction.from(this);\n }\n /**\n * Return a JSON-friendly object.\n */\n toJSON() {\n const s = (v) => {\n if (v == null) {\n return null;\n }\n return v.toString();\n };\n return {\n type: this.type,\n to: this.to,\n // from: this.from,\n data: this.data,\n nonce: this.nonce,\n gasLimit: s(this.gasLimit),\n gasPrice: s(this.gasPrice),\n maxPriorityFeePerGas: s(this.maxPriorityFeePerGas),\n maxFeePerGas: s(this.maxFeePerGas),\n value: s(this.value),\n chainId: s(this.chainId),\n sig: this.signature ? this.signature.toJSON() : null,\n accessList: this.accessList\n };\n }\n /**\n * Create a **Transaction** from a serialized transaction or a\n * Transaction-like object.\n */\n static from(tx) {\n if (tx == null) {\n return new Transaction();\n }\n if (typeof (tx) === \"string\") {\n const payload = getBytes(tx);\n if (payload[0] >= 0x7f) { // @TODO: > vs >= ??\n return Transaction.from(_parseLegacy(payload));\n }\n switch (payload[0]) {\n case 1: return Transaction.from(_parseEip2930(payload));\n case 2: return Transaction.from(_parseEip1559(payload));\n case 3: return Transaction.from(_parseEip4844(payload));\n }\n assert(false, \"unsupported transaction type\", \"UNSUPPORTED_OPERATION\", { operation: \"from\" });\n }\n const result = new Transaction();\n if (tx.type != null) {\n result.type = tx.type;\n }\n if (tx.to != null) {\n result.to = tx.to;\n }\n if (tx.nonce != null) {\n result.nonce = tx.nonce;\n }\n if (tx.gasLimit != null) {\n result.gasLimit = tx.gasLimit;\n }\n if (tx.gasPrice != null) {\n result.gasPrice = tx.gasPrice;\n }\n if (tx.maxPriorityFeePerGas != null) {\n result.maxPriorityFeePerGas = tx.maxPriorityFeePerGas;\n }\n if (tx.maxFeePerGas != null) {\n result.maxFeePerGas = tx.maxFeePerGas;\n }\n if (tx.maxFeePerBlobGas != null) {\n result.maxFeePerBlobGas = tx.maxFeePerBlobGas;\n }\n if (tx.data != null) {\n result.data = tx.data;\n }\n if (tx.value != null) {\n result.value = tx.value;\n }\n if (tx.chainId != null) {\n result.chainId = tx.chainId;\n }\n if (tx.signature != null) {\n result.signature = Signature.from(tx.signature);\n }\n if (tx.accessList != null) {\n result.accessList = tx.accessList;\n }\n if (tx.blobVersionedHashes != null) {\n result.blobVersionedHashes = tx.blobVersionedHashes;\n }\n if (tx.hash != null) {\n assertArgument(result.isSigned(), \"unsigned transaction cannot define hash\", \"tx\", tx);\n assertArgument(result.hash === tx.hash, \"hash mismatch\", \"tx\", tx);\n }\n if (tx.from != null) {\n assertArgument(result.isSigned(), \"unsigned transaction cannot define from\", \"tx\", tx);\n assertArgument(result.from.toLowerCase() === (tx.from || \"\").toLowerCase(), \"from mismatch\", \"tx\", tx);\n }\n return result;\n }\n}\n//# sourceMappingURL=transaction.js.map","import { keccak256 } from \"../crypto/index.js\";\nimport { MessagePrefix } from \"../constants/index.js\";\nimport { recoverAddress } from \"../transaction/index.js\";\nimport { concat, toUtf8Bytes } from \"../utils/index.js\";\n/**\n * Computes the [[link-eip-191]] personal-sign message digest to sign.\n *\n * This prefixes the message with [[MessagePrefix]] and the decimal length\n * of %%message%% and computes the [[keccak256]] digest.\n *\n * If %%message%% is a string, it is converted to its UTF-8 bytes\n * first. To compute the digest of a [[DataHexString]], it must be converted\n * to [bytes](getBytes).\n *\n * @example:\n * hashMessage(\"Hello World\")\n * //_result:\n *\n * // Hashes the SIX (6) string characters, i.e.\n * // [ \"0\", \"x\", \"4\", \"2\", \"4\", \"3\" ]\n * hashMessage(\"0x4243\")\n * //_result:\n *\n * // Hashes the TWO (2) bytes [ 0x42, 0x43 ]...\n * hashMessage(getBytes(\"0x4243\"))\n * //_result:\n *\n * // ...which is equal to using data\n * hashMessage(new Uint8Array([ 0x42, 0x43 ]))\n * //_result:\n *\n */\nexport function hashMessage(message) {\n if (typeof (message) === \"string\") {\n message = toUtf8Bytes(message);\n }\n return keccak256(concat([\n toUtf8Bytes(MessagePrefix),\n toUtf8Bytes(String(message.length)),\n message\n ]));\n}\n/**\n * Return the address of the private key that produced\n * the signature %%sig%% during signing for %%message%%.\n */\nexport function verifyMessage(message, sig) {\n const digest = hashMessage(message);\n return recoverAddress(digest, sig);\n}\n//# sourceMappingURL=message.js.map","import { getAddress } from \"../address/index.js\";\nimport { keccak256 as _keccak256, sha256 as _sha256 } from \"../crypto/index.js\";\nimport { concat, dataLength, getBytes, hexlify, toBeArray, toTwos, toUtf8Bytes, zeroPadBytes, zeroPadValue, assertArgument } from \"../utils/index.js\";\nconst regexBytes = new RegExp(\"^bytes([0-9]+)$\");\nconst regexNumber = new RegExp(\"^(u?int)([0-9]*)$\");\nconst regexArray = new RegExp(\"^(.*)\\\\[([0-9]*)\\\\]$\");\nfunction _pack(type, value, isArray) {\n switch (type) {\n case \"address\":\n if (isArray) {\n return getBytes(zeroPadValue(value, 32));\n }\n return getBytes(getAddress(value));\n case \"string\":\n return toUtf8Bytes(value);\n case \"bytes\":\n return getBytes(value);\n case \"bool\":\n value = (!!value ? \"0x01\" : \"0x00\");\n if (isArray) {\n return getBytes(zeroPadValue(value, 32));\n }\n return getBytes(value);\n }\n let match = type.match(regexNumber);\n if (match) {\n let signed = (match[1] === \"int\");\n let size = parseInt(match[2] || \"256\");\n assertArgument((!match[2] || match[2] === String(size)) && (size % 8 === 0) && size !== 0 && size <= 256, \"invalid number type\", \"type\", type);\n if (isArray) {\n size = 256;\n }\n if (signed) {\n value = toTwos(value, size);\n }\n return getBytes(zeroPadValue(toBeArray(value), size / 8));\n }\n match = type.match(regexBytes);\n if (match) {\n const size = parseInt(match[1]);\n assertArgument(String(size) === match[1] && size !== 0 && size <= 32, \"invalid bytes type\", \"type\", type);\n assertArgument(dataLength(value) === size, `invalid value for ${type}`, \"value\", value);\n if (isArray) {\n return getBytes(zeroPadBytes(value, 32));\n }\n return value;\n }\n match = type.match(regexArray);\n if (match && Array.isArray(value)) {\n const baseType = match[1];\n const count = parseInt(match[2] || String(value.length));\n assertArgument(count === value.length, `invalid array length for ${type}`, \"value\", value);\n const result = [];\n value.forEach(function (value) {\n result.push(_pack(baseType, value, true));\n });\n return getBytes(concat(result));\n }\n assertArgument(false, \"invalid type\", \"type\", type);\n}\n// @TODO: Array Enum\n/**\n * Computes the [[link-solc-packed]] representation of %%values%%\n * respectively to their %%types%%.\n *\n * @example:\n * addr = \"0x8ba1f109551bd432803012645ac136ddd64dba72\"\n * solidityPacked([ \"address\", \"uint\" ], [ addr, 45 ]);\n * //_result:\n */\nexport function solidityPacked(types, values) {\n assertArgument(types.length === values.length, \"wrong number of values; expected ${ types.length }\", \"values\", values);\n const tight = [];\n types.forEach(function (type, index) {\n tight.push(_pack(type, values[index]));\n });\n return hexlify(concat(tight));\n}\n/**\n * Computes the [[link-solc-packed]] [[keccak256]] hash of %%values%%\n * respectively to their %%types%%.\n *\n * @example:\n * addr = \"0x8ba1f109551bd432803012645ac136ddd64dba72\"\n * solidityPackedKeccak256([ \"address\", \"uint\" ], [ addr, 45 ]);\n * //_result:\n */\nexport function solidityPackedKeccak256(types, values) {\n return _keccak256(solidityPacked(types, values));\n}\n/**\n * Computes the [[link-solc-packed]] [[sha256]] hash of %%values%%\n * respectively to their %%types%%.\n *\n * @example:\n * addr = \"0x8ba1f109551bd432803012645ac136ddd64dba72\"\n * solidityPackedSha256([ \"address\", \"uint\" ], [ addr, 45 ]);\n * //_result:\n */\nexport function solidityPackedSha256(types, values) {\n return _sha256(solidityPacked(types, values));\n}\n//# sourceMappingURL=solidity.js.map","//import { TypedDataDomain, TypedDataField } from \"@ethersproject/providerabstract-signer\";\nimport { getAddress } from \"../address/index.js\";\nimport { keccak256 } from \"../crypto/index.js\";\nimport { recoverAddress } from \"../transaction/index.js\";\nimport { concat, defineProperties, getBigInt, getBytes, hexlify, isHexString, mask, toBeHex, toQuantity, toTwos, zeroPadValue, assertArgument } from \"../utils/index.js\";\nimport { id } from \"./id.js\";\nconst padding = new Uint8Array(32);\npadding.fill(0);\nconst BN__1 = BigInt(-1);\nconst BN_0 = BigInt(0);\nconst BN_1 = BigInt(1);\nconst BN_MAX_UINT256 = BigInt(\"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\");\n;\n;\nfunction hexPadRight(value) {\n const bytes = getBytes(value);\n const padOffset = bytes.length % 32;\n if (padOffset) {\n return concat([bytes, padding.slice(padOffset)]);\n }\n return hexlify(bytes);\n}\nconst hexTrue = toBeHex(BN_1, 32);\nconst hexFalse = toBeHex(BN_0, 32);\nconst domainFieldTypes = {\n name: \"string\",\n version: \"string\",\n chainId: \"uint256\",\n verifyingContract: \"address\",\n salt: \"bytes32\"\n};\nconst domainFieldNames = [\n \"name\", \"version\", \"chainId\", \"verifyingContract\", \"salt\"\n];\nfunction checkString(key) {\n return function (value) {\n assertArgument(typeof (value) === \"string\", `invalid domain value for ${JSON.stringify(key)}`, `domain.${key}`, value);\n return value;\n };\n}\nconst domainChecks = {\n name: checkString(\"name\"),\n version: checkString(\"version\"),\n chainId: function (_value) {\n const value = getBigInt(_value, \"domain.chainId\");\n assertArgument(value >= 0, \"invalid chain ID\", \"domain.chainId\", _value);\n if (Number.isSafeInteger(value)) {\n return Number(value);\n }\n return toQuantity(value);\n },\n verifyingContract: function (value) {\n try {\n return getAddress(value).toLowerCase();\n }\n catch (error) { }\n assertArgument(false, `invalid domain value \"verifyingContract\"`, \"domain.verifyingContract\", value);\n },\n salt: function (value) {\n const bytes = getBytes(value, \"domain.salt\");\n assertArgument(bytes.length === 32, `invalid domain value \"salt\"`, \"domain.salt\", value);\n return hexlify(bytes);\n }\n};\nfunction getBaseEncoder(type) {\n // intXX and uintXX\n {\n const match = type.match(/^(u?)int(\\d+)$/);\n if (match) {\n const signed = (match[1] === \"\");\n const width = parseInt(match[2]);\n assertArgument(width % 8 === 0 && width !== 0 && width <= 256 && match[2] === String(width), \"invalid numeric width\", \"type\", type);\n const boundsUpper = mask(BN_MAX_UINT256, signed ? (width - 1) : width);\n const boundsLower = signed ? ((boundsUpper + BN_1) * BN__1) : BN_0;\n return function (_value) {\n const value = getBigInt(_value, \"value\");\n assertArgument(value >= boundsLower && value <= boundsUpper, `value out-of-bounds for ${type}`, \"value\", value);\n return toBeHex(signed ? toTwos(value, 256) : value, 32);\n };\n }\n }\n // bytesXX\n {\n const match = type.match(/^bytes(\\d+)$/);\n if (match) {\n const width = parseInt(match[1]);\n assertArgument(width !== 0 && width <= 32 && match[1] === String(width), \"invalid bytes width\", \"type\", type);\n return function (value) {\n const bytes = getBytes(value);\n assertArgument(bytes.length === width, `invalid length for ${type}`, \"value\", value);\n return hexPadRight(value);\n };\n }\n }\n switch (type) {\n case \"address\": return function (value) {\n return zeroPadValue(getAddress(value), 32);\n };\n case \"bool\": return function (value) {\n return ((!value) ? hexFalse : hexTrue);\n };\n case \"bytes\": return function (value) {\n return keccak256(value);\n };\n case \"string\": return function (value) {\n return id(value);\n };\n }\n return null;\n}\nfunction encodeType(name, fields) {\n return `${name}(${fields.map(({ name, type }) => (type + \" \" + name)).join(\",\")})`;\n}\n// foo[][3] => { base: \"foo\", index: \"[][3]\", array: {\n// base: \"foo\", prefix: \"foo[]\", count: 3 } }\nfunction splitArray(type) {\n const match = type.match(/^([^\\x5b]*)((\\x5b\\d*\\x5d)*)(\\x5b(\\d*)\\x5d)$/);\n if (match) {\n return {\n base: match[1],\n index: (match[2] + match[4]),\n array: {\n base: match[1],\n prefix: (match[1] + match[2]),\n count: (match[5] ? parseInt(match[5]) : -1),\n }\n };\n }\n return { base: type };\n}\n/**\n * A **TypedDataEncode** prepares and encodes [[link-eip-712]] payloads\n * for signed typed data.\n *\n * This is useful for those that wish to compute various components of a\n * typed data hash, primary types, or sub-components, but generally the\n * higher level [[Signer-signTypedData]] is more useful.\n */\nexport class TypedDataEncoder {\n /**\n * The primary type for the structured [[types]].\n *\n * This is derived automatically from the [[types]], since no\n * recursion is possible, once the DAG for the types is consturcted\n * internally, the primary type must be the only remaining type with\n * no parent nodes.\n */\n primaryType;\n #types;\n /**\n * The types.\n */\n get types() {\n return JSON.parse(this.#types);\n }\n #fullTypes;\n #encoderCache;\n /**\n * Create a new **TypedDataEncoder** for %%types%%.\n *\n * This performs all necessary checking that types are valid and\n * do not violate the [[link-eip-712]] structural constraints as\n * well as computes the [[primaryType]].\n */\n constructor(_types) {\n this.#fullTypes = new Map();\n this.#encoderCache = new Map();\n // Link struct types to their direct child structs\n const links = new Map();\n // Link structs to structs which contain them as a child\n const parents = new Map();\n // Link all subtypes within a given struct\n const subtypes = new Map();\n const types = {};\n Object.keys(_types).forEach((type) => {\n types[type] = _types[type].map(({ name, type }) => {\n // Normalize the base type (unless name conflict)\n let { base, index } = splitArray(type);\n if (base === \"int\" && !_types[\"int\"]) {\n base = \"int256\";\n }\n if (base === \"uint\" && !_types[\"uint\"]) {\n base = \"uint256\";\n }\n return { name, type: (base + (index || \"\")) };\n });\n links.set(type, new Set());\n parents.set(type, []);\n subtypes.set(type, new Set());\n });\n this.#types = JSON.stringify(types);\n for (const name in types) {\n const uniqueNames = new Set();\n for (const field of types[name]) {\n // Check each field has a unique name\n assertArgument(!uniqueNames.has(field.name), `duplicate variable name ${JSON.stringify(field.name)} in ${JSON.stringify(name)}`, \"types\", _types);\n uniqueNames.add(field.name);\n // Get the base type (drop any array specifiers)\n const baseType = splitArray(field.type).base;\n assertArgument(baseType !== name, `circular type reference to ${JSON.stringify(baseType)}`, \"types\", _types);\n // Is this a base encoding type?\n const encoder = getBaseEncoder(baseType);\n if (encoder) {\n continue;\n }\n assertArgument(parents.has(baseType), `unknown type ${JSON.stringify(baseType)}`, \"types\", _types);\n // Add linkage\n parents.get(baseType).push(name);\n links.get(name).add(baseType);\n }\n }\n // Deduce the primary type\n const primaryTypes = Array.from(parents.keys()).filter((n) => (parents.get(n).length === 0));\n assertArgument(primaryTypes.length !== 0, \"missing primary type\", \"types\", _types);\n assertArgument(primaryTypes.length === 1, `ambiguous primary types or unused types: ${primaryTypes.map((t) => (JSON.stringify(t))).join(\", \")}`, \"types\", _types);\n defineProperties(this, { primaryType: primaryTypes[0] });\n // Check for circular type references\n function checkCircular(type, found) {\n assertArgument(!found.has(type), `circular type reference to ${JSON.stringify(type)}`, \"types\", _types);\n found.add(type);\n for (const child of links.get(type)) {\n if (!parents.has(child)) {\n continue;\n }\n // Recursively check children\n checkCircular(child, found);\n // Mark all ancestors as having this decendant\n for (const subtype of found) {\n subtypes.get(subtype).add(child);\n }\n }\n found.delete(type);\n }\n checkCircular(this.primaryType, new Set());\n // Compute each fully describe type\n for (const [name, set] of subtypes) {\n const st = Array.from(set);\n st.sort();\n this.#fullTypes.set(name, encodeType(name, types[name]) + st.map((t) => encodeType(t, types[t])).join(\"\"));\n }\n }\n /**\n * Returnthe encoder for the specific %%type%%.\n */\n getEncoder(type) {\n let encoder = this.#encoderCache.get(type);\n if (!encoder) {\n encoder = this.#getEncoder(type);\n this.#encoderCache.set(type, encoder);\n }\n return encoder;\n }\n #getEncoder(type) {\n // Basic encoder type (address, bool, uint256, etc)\n {\n const encoder = getBaseEncoder(type);\n if (encoder) {\n return encoder;\n }\n }\n // Array\n const array = splitArray(type).array;\n if (array) {\n const subtype = array.prefix;\n const subEncoder = this.getEncoder(subtype);\n return (value) => {\n assertArgument(array.count === -1 || array.count === value.length, `array length mismatch; expected length ${array.count}`, \"value\", value);\n let result = value.map(subEncoder);\n if (this.#fullTypes.has(subtype)) {\n result = result.map(keccak256);\n }\n return keccak256(concat(result));\n };\n }\n // Struct\n const fields = this.types[type];\n if (fields) {\n const encodedType = id(this.#fullTypes.get(type));\n return (value) => {\n const values = fields.map(({ name, type }) => {\n const result = this.getEncoder(type)(value[name]);\n if (this.#fullTypes.has(type)) {\n return keccak256(result);\n }\n return result;\n });\n values.unshift(encodedType);\n return concat(values);\n };\n }\n assertArgument(false, `unknown type: ${type}`, \"type\", type);\n }\n /**\n * Return the full type for %%name%%.\n */\n encodeType(name) {\n const result = this.#fullTypes.get(name);\n assertArgument(result, `unknown type: ${JSON.stringify(name)}`, \"name\", name);\n return result;\n }\n /**\n * Return the encoded %%value%% for the %%type%%.\n */\n encodeData(type, value) {\n return this.getEncoder(type)(value);\n }\n /**\n * Returns the hash of %%value%% for the type of %%name%%.\n */\n hashStruct(name, value) {\n return keccak256(this.encodeData(name, value));\n }\n /**\n * Return the fulled encoded %%value%% for the [[types]].\n */\n encode(value) {\n return this.encodeData(this.primaryType, value);\n }\n /**\n * Return the hash of the fully encoded %%value%% for the [[types]].\n */\n hash(value) {\n return this.hashStruct(this.primaryType, value);\n }\n /**\n * @_ignore:\n */\n _visit(type, value, callback) {\n // Basic encoder type (address, bool, uint256, etc)\n {\n const encoder = getBaseEncoder(type);\n if (encoder) {\n return callback(type, value);\n }\n }\n // Array\n const array = splitArray(type).array;\n if (array) {\n assertArgument(array.count === -1 || array.count === value.length, `array length mismatch; expected length ${array.count}`, \"value\", value);\n return value.map((v) => this._visit(array.prefix, v, callback));\n }\n // Struct\n const fields = this.types[type];\n if (fields) {\n return fields.reduce((accum, { name, type }) => {\n accum[name] = this._visit(type, value[name], callback);\n return accum;\n }, {});\n }\n assertArgument(false, `unknown type: ${type}`, \"type\", type);\n }\n /**\n * Call %%calback%% for each value in %%value%%, passing the type and\n * component within %%value%%.\n *\n * This is useful for replacing addresses or other transformation that\n * may be desired on each component, based on its type.\n */\n visit(value, callback) {\n return this._visit(this.primaryType, value, callback);\n }\n /**\n * Create a new **TypedDataEncoder** for %%types%%.\n */\n static from(types) {\n return new TypedDataEncoder(types);\n }\n /**\n * Return the primary type for %%types%%.\n */\n static getPrimaryType(types) {\n return TypedDataEncoder.from(types).primaryType;\n }\n /**\n * Return the hashed struct for %%value%% using %%types%% and %%name%%.\n */\n static hashStruct(name, types, value) {\n return TypedDataEncoder.from(types).hashStruct(name, value);\n }\n /**\n * Return the domain hash for %%domain%%.\n */\n static hashDomain(domain) {\n const domainFields = [];\n for (const name in domain) {\n if (domain[name] == null) {\n continue;\n }\n const type = domainFieldTypes[name];\n assertArgument(type, `invalid typed-data domain key: ${JSON.stringify(name)}`, \"domain\", domain);\n domainFields.push({ name, type });\n }\n domainFields.sort((a, b) => {\n return domainFieldNames.indexOf(a.name) - domainFieldNames.indexOf(b.name);\n });\n return TypedDataEncoder.hashStruct(\"EIP712Domain\", { EIP712Domain: domainFields }, domain);\n }\n /**\n * Return the fully encoded [[link-eip-712]] %%value%% for %%types%% with %%domain%%.\n */\n static encode(domain, types, value) {\n return concat([\n \"0x1901\",\n TypedDataEncoder.hashDomain(domain),\n TypedDataEncoder.from(types).hash(value)\n ]);\n }\n /**\n * Return the hash of the fully encoded [[link-eip-712]] %%value%% for %%types%% with %%domain%%.\n */\n static hash(domain, types, value) {\n return keccak256(TypedDataEncoder.encode(domain, types, value));\n }\n // Replaces all address types with ENS names with their looked up address\n /**\n * Resolves to the value from resolving all addresses in %%value%% for\n * %%types%% and the %%domain%%.\n */\n static async resolveNames(domain, types, value, resolveName) {\n // Make a copy to isolate it from the object passed in\n domain = Object.assign({}, domain);\n // Allow passing null to ignore value\n for (const key in domain) {\n if (domain[key] == null) {\n delete domain[key];\n }\n }\n // Look up all ENS names\n const ensCache = {};\n // Do we need to look up the domain's verifyingContract?\n if (domain.verifyingContract && !isHexString(domain.verifyingContract, 20)) {\n ensCache[domain.verifyingContract] = \"0x\";\n }\n // We are going to use the encoder to visit all the base values\n const encoder = TypedDataEncoder.from(types);\n // Get a list of all the addresses\n encoder.visit(value, (type, value) => {\n if (type === \"address\" && !isHexString(value, 20)) {\n ensCache[value] = \"0x\";\n }\n return value;\n });\n // Lookup each name\n for (const name in ensCache) {\n ensCache[name] = await resolveName(name);\n }\n // Replace the domain verifyingContract if needed\n if (domain.verifyingContract && ensCache[domain.verifyingContract]) {\n domain.verifyingContract = ensCache[domain.verifyingContract];\n }\n // Replace all ENS names with their address\n value = encoder.visit(value, (type, value) => {\n if (type === \"address\" && ensCache[value]) {\n return ensCache[value];\n }\n return value;\n });\n return { domain, value };\n }\n /**\n * Returns the JSON-encoded payload expected by nodes which implement\n * the JSON-RPC [[link-eip-712]] method.\n */\n static getPayload(domain, types, value) {\n // Validate the domain fields\n TypedDataEncoder.hashDomain(domain);\n // Derive the EIP712Domain Struct reference type\n const domainValues = {};\n const domainTypes = [];\n domainFieldNames.forEach((name) => {\n const value = domain[name];\n if (value == null) {\n return;\n }\n domainValues[name] = domainChecks[name](value);\n domainTypes.push({ name, type: domainFieldTypes[name] });\n });\n const encoder = TypedDataEncoder.from(types);\n // Get the normalized types\n types = encoder.types;\n const typesWithDomain = Object.assign({}, types);\n assertArgument(typesWithDomain.EIP712Domain == null, \"types must not contain EIP712Domain type\", \"types.EIP712Domain\", types);\n typesWithDomain.EIP712Domain = domainTypes;\n // Validate the data structures and types\n encoder.encode(value);\n return {\n types: typesWithDomain,\n domain: domainValues,\n primaryType: encoder.primaryType,\n message: encoder.visit(value, (type, value) => {\n // bytes\n if (type.match(/^bytes(\\d*)/)) {\n return hexlify(getBytes(value));\n }\n // uint or int\n if (type.match(/^u?int/)) {\n return getBigInt(value).toString();\n }\n switch (type) {\n case \"address\":\n return value.toLowerCase();\n case \"bool\":\n return !!value;\n case \"string\":\n assertArgument(typeof (value) === \"string\", \"invalid string\", \"value\", value);\n return value;\n }\n assertArgument(false, \"unsupported type\", \"type\", type);\n })\n };\n }\n}\n/**\n * Compute the address used to sign the typed data for the %%signature%%.\n */\nexport function verifyTypedData(domain, types, value, signature) {\n return recoverAddress(TypedDataEncoder.hash(domain, types, value), signature);\n}\n//# sourceMappingURL=typed-data.js.map","/**\n * A fragment is a single item from an ABI, which may represent any of:\n *\n * - [Functions](FunctionFragment)\n * - [Events](EventFragment)\n * - [Constructors](ConstructorFragment)\n * - Custom [Errors](ErrorFragment)\n * - [Fallback or Receive](FallbackFragment) functions\n *\n * @_subsection api/abi/abi-coder:Fragments [about-fragments]\n */\nimport { defineProperties, getBigInt, getNumber, assert, assertPrivate, assertArgument } from \"../utils/index.js\";\nimport { id } from \"../hash/index.js\";\n;\n// [ \"a\", \"b\" ] => { \"a\": 1, \"b\": 1 }\nfunction setify(items) {\n const result = new Set();\n items.forEach((k) => result.add(k));\n return Object.freeze(result);\n}\nconst _kwVisibDeploy = \"external public payable override\";\nconst KwVisibDeploy = setify(_kwVisibDeploy.split(\" \"));\n// Visibility Keywords\nconst _kwVisib = \"constant external internal payable private public pure view override\";\nconst KwVisib = setify(_kwVisib.split(\" \"));\nconst _kwTypes = \"constructor error event fallback function receive struct\";\nconst KwTypes = setify(_kwTypes.split(\" \"));\nconst _kwModifiers = \"calldata memory storage payable indexed\";\nconst KwModifiers = setify(_kwModifiers.split(\" \"));\nconst _kwOther = \"tuple returns\";\n// All Keywords\nconst _keywords = [_kwTypes, _kwModifiers, _kwOther, _kwVisib].join(\" \");\nconst Keywords = setify(_keywords.split(\" \"));\n// Single character tokens\nconst SimpleTokens = {\n \"(\": \"OPEN_PAREN\", \")\": \"CLOSE_PAREN\",\n \"[\": \"OPEN_BRACKET\", \"]\": \"CLOSE_BRACKET\",\n \",\": \"COMMA\", \"@\": \"AT\"\n};\n// Parser regexes to consume the next token\nconst regexWhitespacePrefix = new RegExp(\"^(\\\\s*)\");\nconst regexNumberPrefix = new RegExp(\"^([0-9]+)\");\nconst regexIdPrefix = new RegExp(\"^([a-zA-Z$_][a-zA-Z0-9$_]*)\");\n// Parser regexs to check validity\nconst regexId = new RegExp(\"^([a-zA-Z$_][a-zA-Z0-9$_]*)$\");\nconst regexType = new RegExp(\"^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$\");\nclass TokenString {\n #offset;\n #tokens;\n get offset() { return this.#offset; }\n get length() { return this.#tokens.length - this.#offset; }\n constructor(tokens) {\n this.#offset = 0;\n this.#tokens = tokens.slice();\n }\n clone() { return new TokenString(this.#tokens); }\n reset() { this.#offset = 0; }\n #subTokenString(from = 0, to = 0) {\n return new TokenString(this.#tokens.slice(from, to).map((t) => {\n return Object.freeze(Object.assign({}, t, {\n match: (t.match - from),\n linkBack: (t.linkBack - from),\n linkNext: (t.linkNext - from),\n }));\n }));\n }\n // Pops and returns the value of the next token, if it is a keyword in allowed; throws if out of tokens\n popKeyword(allowed) {\n const top = this.peek();\n if (top.type !== \"KEYWORD\" || !allowed.has(top.text)) {\n throw new Error(`expected keyword ${top.text}`);\n }\n return this.pop().text;\n }\n // Pops and returns the value of the next token if it is `type`; throws if out of tokens\n popType(type) {\n if (this.peek().type !== type) {\n const top = this.peek();\n throw new Error(`expected ${type}; got ${top.type} ${JSON.stringify(top.text)}`);\n }\n return this.pop().text;\n }\n // Pops and returns a \"(\" TOKENS \")\"\n popParen() {\n const top = this.peek();\n if (top.type !== \"OPEN_PAREN\") {\n throw new Error(\"bad start\");\n }\n const result = this.#subTokenString(this.#offset + 1, top.match + 1);\n this.#offset = top.match + 1;\n return result;\n }\n // Pops and returns the items within \"(\" ITEM1 \",\" ITEM2 \",\" ... \")\"\n popParams() {\n const top = this.peek();\n if (top.type !== \"OPEN_PAREN\") {\n throw new Error(\"bad start\");\n }\n const result = [];\n while (this.#offset < top.match - 1) {\n const link = this.peek().linkNext;\n result.push(this.#subTokenString(this.#offset + 1, link));\n this.#offset = link;\n }\n this.#offset = top.match + 1;\n return result;\n }\n // Returns the top Token, throwing if out of tokens\n peek() {\n if (this.#offset >= this.#tokens.length) {\n throw new Error(\"out-of-bounds\");\n }\n return this.#tokens[this.#offset];\n }\n // Returns the next value, if it is a keyword in `allowed`\n peekKeyword(allowed) {\n const top = this.peekType(\"KEYWORD\");\n return (top != null && allowed.has(top)) ? top : null;\n }\n // Returns the value of the next token if it is `type`\n peekType(type) {\n if (this.length === 0) {\n return null;\n }\n const top = this.peek();\n return (top.type === type) ? top.text : null;\n }\n // Returns the next token; throws if out of tokens\n pop() {\n const result = this.peek();\n this.#offset++;\n return result;\n }\n toString() {\n const tokens = [];\n for (let i = this.#offset; i < this.#tokens.length; i++) {\n const token = this.#tokens[i];\n tokens.push(`${token.type}:${token.text}`);\n }\n return ``;\n }\n}\nfunction lex(text) {\n const tokens = [];\n const throwError = (message) => {\n const token = (offset < text.length) ? JSON.stringify(text[offset]) : \"$EOI\";\n throw new Error(`invalid token ${token} at ${offset}: ${message}`);\n };\n let brackets = [];\n let commas = [];\n let offset = 0;\n while (offset < text.length) {\n // Strip off any leading whitespace\n let cur = text.substring(offset);\n let match = cur.match(regexWhitespacePrefix);\n if (match) {\n offset += match[1].length;\n cur = text.substring(offset);\n }\n const token = { depth: brackets.length, linkBack: -1, linkNext: -1, match: -1, type: \"\", text: \"\", offset, value: -1 };\n tokens.push(token);\n let type = (SimpleTokens[cur[0]] || \"\");\n if (type) {\n token.type = type;\n token.text = cur[0];\n offset++;\n if (type === \"OPEN_PAREN\") {\n brackets.push(tokens.length - 1);\n commas.push(tokens.length - 1);\n }\n else if (type == \"CLOSE_PAREN\") {\n if (brackets.length === 0) {\n throwError(\"no matching open bracket\");\n }\n token.match = brackets.pop();\n (tokens[token.match]).match = tokens.length - 1;\n token.depth--;\n token.linkBack = commas.pop();\n (tokens[token.linkBack]).linkNext = tokens.length - 1;\n }\n else if (type === \"COMMA\") {\n token.linkBack = commas.pop();\n (tokens[token.linkBack]).linkNext = tokens.length - 1;\n commas.push(tokens.length - 1);\n }\n else if (type === \"OPEN_BRACKET\") {\n token.type = \"BRACKET\";\n }\n else if (type === \"CLOSE_BRACKET\") {\n // Remove the CLOSE_BRACKET\n let suffix = tokens.pop().text;\n if (tokens.length > 0 && tokens[tokens.length - 1].type === \"NUMBER\") {\n const value = tokens.pop().text;\n suffix = value + suffix;\n (tokens[tokens.length - 1]).value = getNumber(value);\n }\n if (tokens.length === 0 || tokens[tokens.length - 1].type !== \"BRACKET\") {\n throw new Error(\"missing opening bracket\");\n }\n (tokens[tokens.length - 1]).text += suffix;\n }\n continue;\n }\n match = cur.match(regexIdPrefix);\n if (match) {\n token.text = match[1];\n offset += token.text.length;\n if (Keywords.has(token.text)) {\n token.type = \"KEYWORD\";\n continue;\n }\n if (token.text.match(regexType)) {\n token.type = \"TYPE\";\n continue;\n }\n token.type = \"ID\";\n continue;\n }\n match = cur.match(regexNumberPrefix);\n if (match) {\n token.text = match[1];\n token.type = \"NUMBER\";\n offset += token.text.length;\n continue;\n }\n throw new Error(`unexpected token ${JSON.stringify(cur[0])} at position ${offset}`);\n }\n return new TokenString(tokens.map((t) => Object.freeze(t)));\n}\n// Check only one of `allowed` is in `set`\nfunction allowSingle(set, allowed) {\n let included = [];\n for (const key in allowed.keys()) {\n if (set.has(key)) {\n included.push(key);\n }\n }\n if (included.length > 1) {\n throw new Error(`conflicting types: ${included.join(\", \")}`);\n }\n}\n// Functions to process a Solidity Signature TokenString from left-to-right for...\n// ...the name with an optional type, returning the name\nfunction consumeName(type, tokens) {\n if (tokens.peekKeyword(KwTypes)) {\n const keyword = tokens.pop().text;\n if (keyword !== type) {\n throw new Error(`expected ${type}, got ${keyword}`);\n }\n }\n return tokens.popType(\"ID\");\n}\n// ...all keywords matching allowed, returning the keywords\nfunction consumeKeywords(tokens, allowed) {\n const keywords = new Set();\n while (true) {\n const keyword = tokens.peekType(\"KEYWORD\");\n if (keyword == null || (allowed && !allowed.has(keyword))) {\n break;\n }\n tokens.pop();\n if (keywords.has(keyword)) {\n throw new Error(`duplicate keywords: ${JSON.stringify(keyword)}`);\n }\n keywords.add(keyword);\n }\n return Object.freeze(keywords);\n}\n// ...all visibility keywords, returning the coalesced mutability\nfunction consumeMutability(tokens) {\n let modifiers = consumeKeywords(tokens, KwVisib);\n // Detect conflicting modifiers\n allowSingle(modifiers, setify(\"constant payable nonpayable\".split(\" \")));\n allowSingle(modifiers, setify(\"pure view payable nonpayable\".split(\" \")));\n // Process mutability states\n if (modifiers.has(\"view\")) {\n return \"view\";\n }\n if (modifiers.has(\"pure\")) {\n return \"pure\";\n }\n if (modifiers.has(\"payable\")) {\n return \"payable\";\n }\n if (modifiers.has(\"nonpayable\")) {\n return \"nonpayable\";\n }\n // Process legacy `constant` last\n if (modifiers.has(\"constant\")) {\n return \"view\";\n }\n return \"nonpayable\";\n}\n// ...a parameter list, returning the ParamType list\nfunction consumeParams(tokens, allowIndexed) {\n return tokens.popParams().map((t) => ParamType.from(t, allowIndexed));\n}\n// ...a gas limit, returning a BigNumber or null if none\nfunction consumeGas(tokens) {\n if (tokens.peekType(\"AT\")) {\n tokens.pop();\n if (tokens.peekType(\"NUMBER\")) {\n return getBigInt(tokens.pop().text);\n }\n throw new Error(\"invalid gas\");\n }\n return null;\n}\nfunction consumeEoi(tokens) {\n if (tokens.length) {\n throw new Error(`unexpected tokens at offset ${tokens.offset}: ${tokens.toString()}`);\n }\n}\nconst regexArrayType = new RegExp(/^(.*)\\[([0-9]*)\\]$/);\nfunction verifyBasicType(type) {\n const match = type.match(regexType);\n assertArgument(match, \"invalid type\", \"type\", type);\n if (type === \"uint\") {\n return \"uint256\";\n }\n if (type === \"int\") {\n return \"int256\";\n }\n if (match[2]) {\n // bytesXX\n const length = parseInt(match[2]);\n assertArgument(length !== 0 && length <= 32, \"invalid bytes length\", \"type\", type);\n }\n else if (match[3]) {\n // intXX or uintXX\n const size = parseInt(match[3]);\n assertArgument(size !== 0 && size <= 256 && (size % 8) === 0, \"invalid numeric width\", \"type\", type);\n }\n return type;\n}\n// Make the Fragment constructors effectively private\nconst _guard = {};\nconst internal = Symbol.for(\"_ethers_internal\");\nconst ParamTypeInternal = \"_ParamTypeInternal\";\nconst ErrorFragmentInternal = \"_ErrorInternal\";\nconst EventFragmentInternal = \"_EventInternal\";\nconst ConstructorFragmentInternal = \"_ConstructorInternal\";\nconst FallbackFragmentInternal = \"_FallbackInternal\";\nconst FunctionFragmentInternal = \"_FunctionInternal\";\nconst StructFragmentInternal = \"_StructInternal\";\n/**\n * Each input and output of a [[Fragment]] is an Array of **ParamType**.\n */\nexport class ParamType {\n /**\n * The local name of the parameter (or ``\"\"`` if unbound)\n */\n name;\n /**\n * The fully qualified type (e.g. ``\"address\"``, ``\"tuple(address)\"``,\n * ``\"uint256[3][]\"``)\n */\n type;\n /**\n * The base type (e.g. ``\"address\"``, ``\"tuple\"``, ``\"array\"``)\n */\n baseType;\n /**\n * True if the parameters is indexed.\n *\n * For non-indexable types this is ``null``.\n */\n indexed;\n /**\n * The components for the tuple.\n *\n * For non-tuple types this is ``null``.\n */\n components;\n /**\n * The array length, or ``-1`` for dynamic-lengthed arrays.\n *\n * For non-array types this is ``null``.\n */\n arrayLength;\n /**\n * The type of each child in the array.\n *\n * For non-array types this is ``null``.\n */\n arrayChildren;\n /**\n * @private\n */\n constructor(guard, name, type, baseType, indexed, components, arrayLength, arrayChildren) {\n assertPrivate(guard, _guard, \"ParamType\");\n Object.defineProperty(this, internal, { value: ParamTypeInternal });\n if (components) {\n components = Object.freeze(components.slice());\n }\n if (baseType === \"array\") {\n if (arrayLength == null || arrayChildren == null) {\n throw new Error(\"\");\n }\n }\n else if (arrayLength != null || arrayChildren != null) {\n throw new Error(\"\");\n }\n if (baseType === \"tuple\") {\n if (components == null) {\n throw new Error(\"\");\n }\n }\n else if (components != null) {\n throw new Error(\"\");\n }\n defineProperties(this, {\n name, type, baseType, indexed, components, arrayLength, arrayChildren\n });\n }\n /**\n * Return a string representation of this type.\n *\n * For example,\n *\n * ``sighash\" => \"(uint256,address)\"``\n *\n * ``\"minimal\" => \"tuple(uint256,address) indexed\"``\n *\n * ``\"full\" => \"tuple(uint256 foo, address bar) indexed baz\"``\n */\n format(format) {\n if (format == null) {\n format = \"sighash\";\n }\n if (format === \"json\") {\n const name = this.name || \"\";\n if (this.isArray()) {\n const result = JSON.parse(this.arrayChildren.format(\"json\"));\n result.name = name;\n result.type += `[${(this.arrayLength < 0 ? \"\" : String(this.arrayLength))}]`;\n return JSON.stringify(result);\n }\n const result = {\n type: ((this.baseType === \"tuple\") ? \"tuple\" : this.type),\n name\n };\n if (typeof (this.indexed) === \"boolean\") {\n result.indexed = this.indexed;\n }\n if (this.isTuple()) {\n result.components = this.components.map((c) => JSON.parse(c.format(format)));\n }\n return JSON.stringify(result);\n }\n let result = \"\";\n // Array\n if (this.isArray()) {\n result += this.arrayChildren.format(format);\n result += `[${(this.arrayLength < 0 ? \"\" : String(this.arrayLength))}]`;\n }\n else {\n if (this.isTuple()) {\n result += \"(\" + this.components.map((comp) => comp.format(format)).join((format === \"full\") ? \", \" : \",\") + \")\";\n }\n else {\n result += this.type;\n }\n }\n if (format !== \"sighash\") {\n if (this.indexed === true) {\n result += \" indexed\";\n }\n if (format === \"full\" && this.name) {\n result += \" \" + this.name;\n }\n }\n return result;\n }\n /**\n * Returns true if %%this%% is an Array type.\n *\n * This provides a type gaurd ensuring that [[arrayChildren]]\n * and [[arrayLength]] are non-null.\n */\n isArray() {\n return (this.baseType === \"array\");\n }\n /**\n * Returns true if %%this%% is a Tuple type.\n *\n * This provides a type gaurd ensuring that [[components]]\n * is non-null.\n */\n isTuple() {\n return (this.baseType === \"tuple\");\n }\n /**\n * Returns true if %%this%% is an Indexable type.\n *\n * This provides a type gaurd ensuring that [[indexed]]\n * is non-null.\n */\n isIndexable() {\n return (this.indexed != null);\n }\n /**\n * Walks the **ParamType** with %%value%%, calling %%process%%\n * on each type, destructing the %%value%% recursively.\n */\n walk(value, process) {\n if (this.isArray()) {\n if (!Array.isArray(value)) {\n throw new Error(\"invalid array value\");\n }\n if (this.arrayLength !== -1 && value.length !== this.arrayLength) {\n throw new Error(\"array is wrong length\");\n }\n const _this = this;\n return value.map((v) => (_this.arrayChildren.walk(v, process)));\n }\n if (this.isTuple()) {\n if (!Array.isArray(value)) {\n throw new Error(\"invalid tuple value\");\n }\n if (value.length !== this.components.length) {\n throw new Error(\"array is wrong length\");\n }\n const _this = this;\n return value.map((v, i) => (_this.components[i].walk(v, process)));\n }\n return process(this.type, value);\n }\n #walkAsync(promises, value, process, setValue) {\n if (this.isArray()) {\n if (!Array.isArray(value)) {\n throw new Error(\"invalid array value\");\n }\n if (this.arrayLength !== -1 && value.length !== this.arrayLength) {\n throw new Error(\"array is wrong length\");\n }\n const childType = this.arrayChildren;\n const result = value.slice();\n result.forEach((value, index) => {\n childType.#walkAsync(promises, value, process, (value) => {\n result[index] = value;\n });\n });\n setValue(result);\n return;\n }\n if (this.isTuple()) {\n const components = this.components;\n // Convert the object into an array\n let result;\n if (Array.isArray(value)) {\n result = value.slice();\n }\n else {\n if (value == null || typeof (value) !== \"object\") {\n throw new Error(\"invalid tuple value\");\n }\n result = components.map((param) => {\n if (!param.name) {\n throw new Error(\"cannot use object value with unnamed components\");\n }\n if (!(param.name in value)) {\n throw new Error(`missing value for component ${param.name}`);\n }\n return value[param.name];\n });\n }\n if (result.length !== this.components.length) {\n throw new Error(\"array is wrong length\");\n }\n result.forEach((value, index) => {\n components[index].#walkAsync(promises, value, process, (value) => {\n result[index] = value;\n });\n });\n setValue(result);\n return;\n }\n const result = process(this.type, value);\n if (result.then) {\n promises.push((async function () { setValue(await result); })());\n }\n else {\n setValue(result);\n }\n }\n /**\n * Walks the **ParamType** with %%value%%, asynchronously calling\n * %%process%% on each type, destructing the %%value%% recursively.\n *\n * This can be used to resolve ENS naes by walking and resolving each\n * ``\"address\"`` type.\n */\n async walkAsync(value, process) {\n const promises = [];\n const result = [value];\n this.#walkAsync(promises, value, process, (value) => {\n result[0] = value;\n });\n if (promises.length) {\n await Promise.all(promises);\n }\n return result[0];\n }\n /**\n * Creates a new **ParamType** for %%obj%%.\n *\n * If %%allowIndexed%% then the ``indexed`` keyword is permitted,\n * otherwise the ``indexed`` keyword will throw an error.\n */\n static from(obj, allowIndexed) {\n if (ParamType.isParamType(obj)) {\n return obj;\n }\n if (typeof (obj) === \"string\") {\n try {\n return ParamType.from(lex(obj), allowIndexed);\n }\n catch (error) {\n assertArgument(false, \"invalid param type\", \"obj\", obj);\n }\n }\n else if (obj instanceof TokenString) {\n let type = \"\", baseType = \"\";\n let comps = null;\n if (consumeKeywords(obj, setify([\"tuple\"])).has(\"tuple\") || obj.peekType(\"OPEN_PAREN\")) {\n // Tuple\n baseType = \"tuple\";\n comps = obj.popParams().map((t) => ParamType.from(t));\n type = `tuple(${comps.map((c) => c.format()).join(\",\")})`;\n }\n else {\n // Normal\n type = verifyBasicType(obj.popType(\"TYPE\"));\n baseType = type;\n }\n // Check for Array\n let arrayChildren = null;\n let arrayLength = null;\n while (obj.length && obj.peekType(\"BRACKET\")) {\n const bracket = obj.pop(); //arrays[i];\n arrayChildren = new ParamType(_guard, \"\", type, baseType, null, comps, arrayLength, arrayChildren);\n arrayLength = bracket.value;\n type += bracket.text;\n baseType = \"array\";\n comps = null;\n }\n let indexed = null;\n const keywords = consumeKeywords(obj, KwModifiers);\n if (keywords.has(\"indexed\")) {\n if (!allowIndexed) {\n throw new Error(\"\");\n }\n indexed = true;\n }\n const name = (obj.peekType(\"ID\") ? obj.pop().text : \"\");\n if (obj.length) {\n throw new Error(\"leftover tokens\");\n }\n return new ParamType(_guard, name, type, baseType, indexed, comps, arrayLength, arrayChildren);\n }\n const name = obj.name;\n assertArgument(!name || (typeof (name) === \"string\" && name.match(regexId)), \"invalid name\", \"obj.name\", name);\n let indexed = obj.indexed;\n if (indexed != null) {\n assertArgument(allowIndexed, \"parameter cannot be indexed\", \"obj.indexed\", obj.indexed);\n indexed = !!indexed;\n }\n let type = obj.type;\n let arrayMatch = type.match(regexArrayType);\n if (arrayMatch) {\n const arrayLength = parseInt(arrayMatch[2] || \"-1\");\n const arrayChildren = ParamType.from({\n type: arrayMatch[1],\n components: obj.components\n });\n return new ParamType(_guard, name || \"\", type, \"array\", indexed, null, arrayLength, arrayChildren);\n }\n if (type === \"tuple\" || type.startsWith(\"tuple(\" /* fix: ) */) || type.startsWith(\"(\" /* fix: ) */)) {\n const comps = (obj.components != null) ? obj.components.map((c) => ParamType.from(c)) : null;\n const tuple = new ParamType(_guard, name || \"\", type, \"tuple\", indexed, comps, null, null);\n // @TODO: use lexer to validate and normalize type\n return tuple;\n }\n type = verifyBasicType(obj.type);\n return new ParamType(_guard, name || \"\", type, type, indexed, null, null, null);\n }\n /**\n * Returns true if %%value%% is a **ParamType**.\n */\n static isParamType(value) {\n return (value && value[internal] === ParamTypeInternal);\n }\n}\n/**\n * An abstract class to represent An individual fragment from a parse ABI.\n */\nexport class Fragment {\n /**\n * The type of the fragment.\n */\n type;\n /**\n * The inputs for the fragment.\n */\n inputs;\n /**\n * @private\n */\n constructor(guard, type, inputs) {\n assertPrivate(guard, _guard, \"Fragment\");\n inputs = Object.freeze(inputs.slice());\n defineProperties(this, { type, inputs });\n }\n /**\n * Creates a new **Fragment** for %%obj%%, wich can be any supported\n * ABI frgament type.\n */\n static from(obj) {\n if (typeof (obj) === \"string\") {\n // Try parsing JSON...\n try {\n Fragment.from(JSON.parse(obj));\n }\n catch (e) { }\n // ...otherwise, use the human-readable lexer\n return Fragment.from(lex(obj));\n }\n if (obj instanceof TokenString) {\n // Human-readable ABI (already lexed)\n const type = obj.peekKeyword(KwTypes);\n switch (type) {\n case \"constructor\": return ConstructorFragment.from(obj);\n case \"error\": return ErrorFragment.from(obj);\n case \"event\": return EventFragment.from(obj);\n case \"fallback\":\n case \"receive\":\n return FallbackFragment.from(obj);\n case \"function\": return FunctionFragment.from(obj);\n case \"struct\": return StructFragment.from(obj);\n }\n }\n else if (typeof (obj) === \"object\") {\n // JSON ABI\n switch (obj.type) {\n case \"constructor\": return ConstructorFragment.from(obj);\n case \"error\": return ErrorFragment.from(obj);\n case \"event\": return EventFragment.from(obj);\n case \"fallback\":\n case \"receive\":\n return FallbackFragment.from(obj);\n case \"function\": return FunctionFragment.from(obj);\n case \"struct\": return StructFragment.from(obj);\n }\n assert(false, `unsupported type: ${obj.type}`, \"UNSUPPORTED_OPERATION\", {\n operation: \"Fragment.from\"\n });\n }\n assertArgument(false, \"unsupported frgament object\", \"obj\", obj);\n }\n /**\n * Returns true if %%value%% is a [[ConstructorFragment]].\n */\n static isConstructor(value) {\n return ConstructorFragment.isFragment(value);\n }\n /**\n * Returns true if %%value%% is an [[ErrorFragment]].\n */\n static isError(value) {\n return ErrorFragment.isFragment(value);\n }\n /**\n * Returns true if %%value%% is an [[EventFragment]].\n */\n static isEvent(value) {\n return EventFragment.isFragment(value);\n }\n /**\n * Returns true if %%value%% is a [[FunctionFragment]].\n */\n static isFunction(value) {\n return FunctionFragment.isFragment(value);\n }\n /**\n * Returns true if %%value%% is a [[StructFragment]].\n */\n static isStruct(value) {\n return StructFragment.isFragment(value);\n }\n}\n/**\n * An abstract class to represent An individual fragment\n * which has a name from a parse ABI.\n */\nexport class NamedFragment extends Fragment {\n /**\n * The name of the fragment.\n */\n name;\n /**\n * @private\n */\n constructor(guard, type, name, inputs) {\n super(guard, type, inputs);\n assertArgument(typeof (name) === \"string\" && name.match(regexId), \"invalid identifier\", \"name\", name);\n inputs = Object.freeze(inputs.slice());\n defineProperties(this, { name });\n }\n}\nfunction joinParams(format, params) {\n return \"(\" + params.map((p) => p.format(format)).join((format === \"full\") ? \", \" : \",\") + \")\";\n}\n/**\n * A Fragment which represents a //Custom Error//.\n */\nexport class ErrorFragment extends NamedFragment {\n /**\n * @private\n */\n constructor(guard, name, inputs) {\n super(guard, \"error\", name, inputs);\n Object.defineProperty(this, internal, { value: ErrorFragmentInternal });\n }\n /**\n * The Custom Error selector.\n */\n get selector() {\n return id(this.format(\"sighash\")).substring(0, 10);\n }\n /**\n * Returns a string representation of this fragment as %%format%%.\n */\n format(format) {\n if (format == null) {\n format = \"sighash\";\n }\n if (format === \"json\") {\n return JSON.stringify({\n type: \"error\",\n name: this.name,\n inputs: this.inputs.map((input) => JSON.parse(input.format(format))),\n });\n }\n const result = [];\n if (format !== \"sighash\") {\n result.push(\"error\");\n }\n result.push(this.name + joinParams(format, this.inputs));\n return result.join(\" \");\n }\n /**\n * Returns a new **ErrorFragment** for %%obj%%.\n */\n static from(obj) {\n if (ErrorFragment.isFragment(obj)) {\n return obj;\n }\n if (typeof (obj) === \"string\") {\n return ErrorFragment.from(lex(obj));\n }\n else if (obj instanceof TokenString) {\n const name = consumeName(\"error\", obj);\n const inputs = consumeParams(obj);\n consumeEoi(obj);\n return new ErrorFragment(_guard, name, inputs);\n }\n return new ErrorFragment(_guard, obj.name, obj.inputs ? obj.inputs.map(ParamType.from) : []);\n }\n /**\n * Returns ``true`` and provides a type guard if %%value%% is an\n * **ErrorFragment**.\n */\n static isFragment(value) {\n return (value && value[internal] === ErrorFragmentInternal);\n }\n}\n/**\n * A Fragment which represents an Event.\n */\nexport class EventFragment extends NamedFragment {\n /**\n * Whether this event is anonymous.\n */\n anonymous;\n /**\n * @private\n */\n constructor(guard, name, inputs, anonymous) {\n super(guard, \"event\", name, inputs);\n Object.defineProperty(this, internal, { value: EventFragmentInternal });\n defineProperties(this, { anonymous });\n }\n /**\n * The Event topic hash.\n */\n get topicHash() {\n return id(this.format(\"sighash\"));\n }\n /**\n * Returns a string representation of this event as %%format%%.\n */\n format(format) {\n if (format == null) {\n format = \"sighash\";\n }\n if (format === \"json\") {\n return JSON.stringify({\n type: \"event\",\n anonymous: this.anonymous,\n name: this.name,\n inputs: this.inputs.map((i) => JSON.parse(i.format(format)))\n });\n }\n const result = [];\n if (format !== \"sighash\") {\n result.push(\"event\");\n }\n result.push(this.name + joinParams(format, this.inputs));\n if (format !== \"sighash\" && this.anonymous) {\n result.push(\"anonymous\");\n }\n return result.join(\" \");\n }\n /**\n * Return the topic hash for an event with %%name%% and %%params%%.\n */\n static getTopicHash(name, params) {\n params = (params || []).map((p) => ParamType.from(p));\n const fragment = new EventFragment(_guard, name, params, false);\n return fragment.topicHash;\n }\n /**\n * Returns a new **EventFragment** for %%obj%%.\n */\n static from(obj) {\n if (EventFragment.isFragment(obj)) {\n return obj;\n }\n if (typeof (obj) === \"string\") {\n try {\n return EventFragment.from(lex(obj));\n }\n catch (error) {\n assertArgument(false, \"invalid event fragment\", \"obj\", obj);\n }\n }\n else if (obj instanceof TokenString) {\n const name = consumeName(\"event\", obj);\n const inputs = consumeParams(obj, true);\n const anonymous = !!consumeKeywords(obj, setify([\"anonymous\"])).has(\"anonymous\");\n consumeEoi(obj);\n return new EventFragment(_guard, name, inputs, anonymous);\n }\n return new EventFragment(_guard, obj.name, obj.inputs ? obj.inputs.map((p) => ParamType.from(p, true)) : [], !!obj.anonymous);\n }\n /**\n * Returns ``true`` and provides a type guard if %%value%% is an\n * **EventFragment**.\n */\n static isFragment(value) {\n return (value && value[internal] === EventFragmentInternal);\n }\n}\n/**\n * A Fragment which represents a constructor.\n */\nexport class ConstructorFragment extends Fragment {\n /**\n * Whether the constructor can receive an endowment.\n */\n payable;\n /**\n * The recommended gas limit for deployment or ``null``.\n */\n gas;\n /**\n * @private\n */\n constructor(guard, type, inputs, payable, gas) {\n super(guard, type, inputs);\n Object.defineProperty(this, internal, { value: ConstructorFragmentInternal });\n defineProperties(this, { payable, gas });\n }\n /**\n * Returns a string representation of this constructor as %%format%%.\n */\n format(format) {\n assert(format != null && format !== \"sighash\", \"cannot format a constructor for sighash\", \"UNSUPPORTED_OPERATION\", { operation: \"format(sighash)\" });\n if (format === \"json\") {\n return JSON.stringify({\n type: \"constructor\",\n stateMutability: (this.payable ? \"payable\" : \"undefined\"),\n payable: this.payable,\n gas: ((this.gas != null) ? this.gas : undefined),\n inputs: this.inputs.map((i) => JSON.parse(i.format(format)))\n });\n }\n const result = [`constructor${joinParams(format, this.inputs)}`];\n if (this.payable) {\n result.push(\"payable\");\n }\n if (this.gas != null) {\n result.push(`@${this.gas.toString()}`);\n }\n return result.join(\" \");\n }\n /**\n * Returns a new **ConstructorFragment** for %%obj%%.\n */\n static from(obj) {\n if (ConstructorFragment.isFragment(obj)) {\n return obj;\n }\n if (typeof (obj) === \"string\") {\n try {\n return ConstructorFragment.from(lex(obj));\n }\n catch (error) {\n assertArgument(false, \"invalid constuctor fragment\", \"obj\", obj);\n }\n }\n else if (obj instanceof TokenString) {\n consumeKeywords(obj, setify([\"constructor\"]));\n const inputs = consumeParams(obj);\n const payable = !!consumeKeywords(obj, KwVisibDeploy).has(\"payable\");\n const gas = consumeGas(obj);\n consumeEoi(obj);\n return new ConstructorFragment(_guard, \"constructor\", inputs, payable, gas);\n }\n return new ConstructorFragment(_guard, \"constructor\", obj.inputs ? obj.inputs.map(ParamType.from) : [], !!obj.payable, (obj.gas != null) ? obj.gas : null);\n }\n /**\n * Returns ``true`` and provides a type guard if %%value%% is a\n * **ConstructorFragment**.\n */\n static isFragment(value) {\n return (value && value[internal] === ConstructorFragmentInternal);\n }\n}\n/**\n * A Fragment which represents a method.\n */\nexport class FallbackFragment extends Fragment {\n /**\n * If the function can be sent value during invocation.\n */\n payable;\n constructor(guard, inputs, payable) {\n super(guard, \"fallback\", inputs);\n Object.defineProperty(this, internal, { value: FallbackFragmentInternal });\n defineProperties(this, { payable });\n }\n /**\n * Returns a string representation of this fallback as %%format%%.\n */\n format(format) {\n const type = ((this.inputs.length === 0) ? \"receive\" : \"fallback\");\n if (format === \"json\") {\n const stateMutability = (this.payable ? \"payable\" : \"nonpayable\");\n return JSON.stringify({ type, stateMutability });\n }\n return `${type}()${this.payable ? \" payable\" : \"\"}`;\n }\n /**\n * Returns a new **FallbackFragment** for %%obj%%.\n */\n static from(obj) {\n if (FallbackFragment.isFragment(obj)) {\n return obj;\n }\n if (typeof (obj) === \"string\") {\n try {\n return FallbackFragment.from(lex(obj));\n }\n catch (error) {\n assertArgument(false, \"invalid fallback fragment\", \"obj\", obj);\n }\n }\n else if (obj instanceof TokenString) {\n const errorObj = obj.toString();\n const topIsValid = obj.peekKeyword(setify([\"fallback\", \"receive\"]));\n assertArgument(topIsValid, \"type must be fallback or receive\", \"obj\", errorObj);\n const type = obj.popKeyword(setify([\"fallback\", \"receive\"]));\n // receive()\n if (type === \"receive\") {\n const inputs = consumeParams(obj);\n assertArgument(inputs.length === 0, `receive cannot have arguments`, \"obj.inputs\", inputs);\n consumeKeywords(obj, setify([\"payable\"]));\n consumeEoi(obj);\n return new FallbackFragment(_guard, [], true);\n }\n // fallback() [payable]\n // fallback(bytes) [payable] returns (bytes)\n let inputs = consumeParams(obj);\n if (inputs.length) {\n assertArgument(inputs.length === 1 && inputs[0].type === \"bytes\", \"invalid fallback inputs\", \"obj.inputs\", inputs.map((i) => i.format(\"minimal\")).join(\", \"));\n }\n else {\n inputs = [ParamType.from(\"bytes\")];\n }\n const mutability = consumeMutability(obj);\n assertArgument(mutability === \"nonpayable\" || mutability === \"payable\", \"fallback cannot be constants\", \"obj.stateMutability\", mutability);\n if (consumeKeywords(obj, setify([\"returns\"])).has(\"returns\")) {\n const outputs = consumeParams(obj);\n assertArgument(outputs.length === 1 && outputs[0].type === \"bytes\", \"invalid fallback outputs\", \"obj.outputs\", outputs.map((i) => i.format(\"minimal\")).join(\", \"));\n }\n consumeEoi(obj);\n return new FallbackFragment(_guard, inputs, mutability === \"payable\");\n }\n if (obj.type === \"receive\") {\n return new FallbackFragment(_guard, [], true);\n }\n if (obj.type === \"fallback\") {\n const inputs = [ParamType.from(\"bytes\")];\n const payable = (obj.stateMutability === \"payable\");\n return new FallbackFragment(_guard, inputs, payable);\n }\n assertArgument(false, \"invalid fallback description\", \"obj\", obj);\n }\n /**\n * Returns ``true`` and provides a type guard if %%value%% is a\n * **FallbackFragment**.\n */\n static isFragment(value) {\n return (value && value[internal] === FallbackFragmentInternal);\n }\n}\n/**\n * A Fragment which represents a method.\n */\nexport class FunctionFragment extends NamedFragment {\n /**\n * If the function is constant (e.g. ``pure`` or ``view`` functions).\n */\n constant;\n /**\n * The returned types for the result of calling this function.\n */\n outputs;\n /**\n * The state mutability (e.g. ``payable``, ``nonpayable``, ``view``\n * or ``pure``)\n */\n stateMutability;\n /**\n * If the function can be sent value during invocation.\n */\n payable;\n /**\n * The recommended gas limit to send when calling this function.\n */\n gas;\n /**\n * @private\n */\n constructor(guard, name, stateMutability, inputs, outputs, gas) {\n super(guard, \"function\", name, inputs);\n Object.defineProperty(this, internal, { value: FunctionFragmentInternal });\n outputs = Object.freeze(outputs.slice());\n const constant = (stateMutability === \"view\" || stateMutability === \"pure\");\n const payable = (stateMutability === \"payable\");\n defineProperties(this, { constant, gas, outputs, payable, stateMutability });\n }\n /**\n * The Function selector.\n */\n get selector() {\n return id(this.format(\"sighash\")).substring(0, 10);\n }\n /**\n * Returns a string representation of this function as %%format%%.\n */\n format(format) {\n if (format == null) {\n format = \"sighash\";\n }\n if (format === \"json\") {\n return JSON.stringify({\n type: \"function\",\n name: this.name,\n constant: this.constant,\n stateMutability: ((this.stateMutability !== \"nonpayable\") ? this.stateMutability : undefined),\n payable: this.payable,\n gas: ((this.gas != null) ? this.gas : undefined),\n inputs: this.inputs.map((i) => JSON.parse(i.format(format))),\n outputs: this.outputs.map((o) => JSON.parse(o.format(format))),\n });\n }\n const result = [];\n if (format !== \"sighash\") {\n result.push(\"function\");\n }\n result.push(this.name + joinParams(format, this.inputs));\n if (format !== \"sighash\") {\n if (this.stateMutability !== \"nonpayable\") {\n result.push(this.stateMutability);\n }\n if (this.outputs && this.outputs.length) {\n result.push(\"returns\");\n result.push(joinParams(format, this.outputs));\n }\n if (this.gas != null) {\n result.push(`@${this.gas.toString()}`);\n }\n }\n return result.join(\" \");\n }\n /**\n * Return the selector for a function with %%name%% and %%params%%.\n */\n static getSelector(name, params) {\n params = (params || []).map((p) => ParamType.from(p));\n const fragment = new FunctionFragment(_guard, name, \"view\", params, [], null);\n return fragment.selector;\n }\n /**\n * Returns a new **FunctionFragment** for %%obj%%.\n */\n static from(obj) {\n if (FunctionFragment.isFragment(obj)) {\n return obj;\n }\n if (typeof (obj) === \"string\") {\n try {\n return FunctionFragment.from(lex(obj));\n }\n catch (error) {\n assertArgument(false, \"invalid function fragment\", \"obj\", obj);\n }\n }\n else if (obj instanceof TokenString) {\n const name = consumeName(\"function\", obj);\n const inputs = consumeParams(obj);\n const mutability = consumeMutability(obj);\n let outputs = [];\n if (consumeKeywords(obj, setify([\"returns\"])).has(\"returns\")) {\n outputs = consumeParams(obj);\n }\n const gas = consumeGas(obj);\n consumeEoi(obj);\n return new FunctionFragment(_guard, name, mutability, inputs, outputs, gas);\n }\n let stateMutability = obj.stateMutability;\n // Use legacy Solidity ABI logic if stateMutability is missing\n if (stateMutability == null) {\n stateMutability = \"payable\";\n if (typeof (obj.constant) === \"boolean\") {\n stateMutability = \"view\";\n if (!obj.constant) {\n stateMutability = \"payable\";\n if (typeof (obj.payable) === \"boolean\" && !obj.payable) {\n stateMutability = \"nonpayable\";\n }\n }\n }\n else if (typeof (obj.payable) === \"boolean\" && !obj.payable) {\n stateMutability = \"nonpayable\";\n }\n }\n // @TODO: verifyState for stateMutability (e.g. throw if\n // payable: false but stateMutability is \"nonpayable\")\n return new FunctionFragment(_guard, obj.name, stateMutability, obj.inputs ? obj.inputs.map(ParamType.from) : [], obj.outputs ? obj.outputs.map(ParamType.from) : [], (obj.gas != null) ? obj.gas : null);\n }\n /**\n * Returns ``true`` and provides a type guard if %%value%% is a\n * **FunctionFragment**.\n */\n static isFragment(value) {\n return (value && value[internal] === FunctionFragmentInternal);\n }\n}\n/**\n * A Fragment which represents a structure.\n */\nexport class StructFragment extends NamedFragment {\n /**\n * @private\n */\n constructor(guard, name, inputs) {\n super(guard, \"struct\", name, inputs);\n Object.defineProperty(this, internal, { value: StructFragmentInternal });\n }\n /**\n * Returns a string representation of this struct as %%format%%.\n */\n format() {\n throw new Error(\"@TODO\");\n }\n /**\n * Returns a new **StructFragment** for %%obj%%.\n */\n static from(obj) {\n if (typeof (obj) === \"string\") {\n try {\n return StructFragment.from(lex(obj));\n }\n catch (error) {\n assertArgument(false, \"invalid struct fragment\", \"obj\", obj);\n }\n }\n else if (obj instanceof TokenString) {\n const name = consumeName(\"struct\", obj);\n const inputs = consumeParams(obj);\n consumeEoi(obj);\n return new StructFragment(_guard, name, inputs);\n }\n return new StructFragment(_guard, obj.name, obj.inputs ? obj.inputs.map(ParamType.from) : []);\n }\n // @TODO: fix this return type\n /**\n * Returns ``true`` and provides a type guard if %%value%% is a\n * **StructFragment**.\n */\n static isFragment(value) {\n return (value && value[internal] === StructFragmentInternal);\n }\n}\n//# sourceMappingURL=fragments.js.map","/**\n * When sending values to or receiving values from a [[Contract]], the\n * data is generally encoded using the [ABI standard](link-solc-abi).\n *\n * The AbiCoder provides a utility to encode values to ABI data and\n * decode values from ABI data.\n *\n * Most of the time, developers should favour the [[Contract]] class,\n * which further abstracts a lot of the finer details of ABI data.\n *\n * @_section api/abi/abi-coder:ABI Encoding\n */\n// See: https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI\nimport { assertArgumentCount, assertArgument } from \"../utils/index.js\";\nimport { Reader, Writer } from \"./coders/abstract-coder.js\";\nimport { AddressCoder } from \"./coders/address.js\";\nimport { ArrayCoder } from \"./coders/array.js\";\nimport { BooleanCoder } from \"./coders/boolean.js\";\nimport { BytesCoder } from \"./coders/bytes.js\";\nimport { FixedBytesCoder } from \"./coders/fixed-bytes.js\";\nimport { NullCoder } from \"./coders/null.js\";\nimport { NumberCoder } from \"./coders/number.js\";\nimport { StringCoder } from \"./coders/string.js\";\nimport { TupleCoder } from \"./coders/tuple.js\";\nimport { ParamType } from \"./fragments.js\";\nimport { getAddress } from \"../address/index.js\";\nimport { getBytes, hexlify, makeError } from \"../utils/index.js\";\n// https://docs.soliditylang.org/en/v0.8.17/control-structures.html\nconst PanicReasons = new Map();\nPanicReasons.set(0x00, \"GENERIC_PANIC\");\nPanicReasons.set(0x01, \"ASSERT_FALSE\");\nPanicReasons.set(0x11, \"OVERFLOW\");\nPanicReasons.set(0x12, \"DIVIDE_BY_ZERO\");\nPanicReasons.set(0x21, \"ENUM_RANGE_ERROR\");\nPanicReasons.set(0x22, \"BAD_STORAGE_DATA\");\nPanicReasons.set(0x31, \"STACK_UNDERFLOW\");\nPanicReasons.set(0x32, \"ARRAY_RANGE_ERROR\");\nPanicReasons.set(0x41, \"OUT_OF_MEMORY\");\nPanicReasons.set(0x51, \"UNINITIALIZED_FUNCTION_CALL\");\nconst paramTypeBytes = new RegExp(/^bytes([0-9]*)$/);\nconst paramTypeNumber = new RegExp(/^(u?int)([0-9]*)$/);\nlet defaultCoder = null;\nlet defaultMaxInflation = 1024;\nfunction getBuiltinCallException(action, tx, data, abiCoder) {\n let message = \"missing revert data\";\n let reason = null;\n const invocation = null;\n let revert = null;\n if (data) {\n message = \"execution reverted\";\n const bytes = getBytes(data);\n data = hexlify(data);\n if (bytes.length === 0) {\n message += \" (no data present; likely require(false) occurred\";\n reason = \"require(false)\";\n }\n else if (bytes.length % 32 !== 4) {\n message += \" (could not decode reason; invalid data length)\";\n }\n else if (hexlify(bytes.slice(0, 4)) === \"0x08c379a0\") {\n // Error(string)\n try {\n reason = abiCoder.decode([\"string\"], bytes.slice(4))[0];\n revert = {\n signature: \"Error(string)\",\n name: \"Error\",\n args: [reason]\n };\n message += `: ${JSON.stringify(reason)}`;\n }\n catch (error) {\n message += \" (could not decode reason; invalid string data)\";\n }\n }\n else if (hexlify(bytes.slice(0, 4)) === \"0x4e487b71\") {\n // Panic(uint256)\n try {\n const code = Number(abiCoder.decode([\"uint256\"], bytes.slice(4))[0]);\n revert = {\n signature: \"Panic(uint256)\",\n name: \"Panic\",\n args: [code]\n };\n reason = `Panic due to ${PanicReasons.get(code) || \"UNKNOWN\"}(${code})`;\n message += `: ${reason}`;\n }\n catch (error) {\n message += \" (could not decode panic code)\";\n }\n }\n else {\n message += \" (unknown custom error)\";\n }\n }\n const transaction = {\n to: (tx.to ? getAddress(tx.to) : null),\n data: (tx.data || \"0x\")\n };\n if (tx.from) {\n transaction.from = getAddress(tx.from);\n }\n return makeError(message, \"CALL_EXCEPTION\", {\n action, data, reason, transaction, invocation, revert\n });\n}\n/**\n * The **AbiCoder** is a low-level class responsible for encoding JavaScript\n * values into binary data and decoding binary data into JavaScript values.\n */\nexport class AbiCoder {\n #getCoder(param) {\n if (param.isArray()) {\n return new ArrayCoder(this.#getCoder(param.arrayChildren), param.arrayLength, param.name);\n }\n if (param.isTuple()) {\n return new TupleCoder(param.components.map((c) => this.#getCoder(c)), param.name);\n }\n switch (param.baseType) {\n case \"address\":\n return new AddressCoder(param.name);\n case \"bool\":\n return new BooleanCoder(param.name);\n case \"string\":\n return new StringCoder(param.name);\n case \"bytes\":\n return new BytesCoder(param.name);\n case \"\":\n return new NullCoder(param.name);\n }\n // u?int[0-9]*\n let match = param.type.match(paramTypeNumber);\n if (match) {\n let size = parseInt(match[2] || \"256\");\n assertArgument(size !== 0 && size <= 256 && (size % 8) === 0, \"invalid \" + match[1] + \" bit length\", \"param\", param);\n return new NumberCoder(size / 8, (match[1] === \"int\"), param.name);\n }\n // bytes[0-9]+\n match = param.type.match(paramTypeBytes);\n if (match) {\n let size = parseInt(match[1]);\n assertArgument(size !== 0 && size <= 32, \"invalid bytes length\", \"param\", param);\n return new FixedBytesCoder(size, param.name);\n }\n assertArgument(false, \"invalid type\", \"type\", param.type);\n }\n /**\n * Get the default values for the given %%types%%.\n *\n * For example, a ``uint`` is by default ``0`` and ``bool``\n * is by default ``false``.\n */\n getDefaultValue(types) {\n const coders = types.map((type) => this.#getCoder(ParamType.from(type)));\n const coder = new TupleCoder(coders, \"_\");\n return coder.defaultValue();\n }\n /**\n * Encode the %%values%% as the %%types%% into ABI data.\n *\n * @returns DataHexstring\n */\n encode(types, values) {\n assertArgumentCount(values.length, types.length, \"types/values length mismatch\");\n const coders = types.map((type) => this.#getCoder(ParamType.from(type)));\n const coder = (new TupleCoder(coders, \"_\"));\n const writer = new Writer();\n coder.encode(writer, values);\n return writer.data;\n }\n /**\n * Decode the ABI %%data%% as the %%types%% into values.\n *\n * If %%loose%% decoding is enabled, then strict padding is\n * not enforced. Some older versions of Solidity incorrectly\n * padded event data emitted from ``external`` functions.\n */\n decode(types, data, loose) {\n const coders = types.map((type) => this.#getCoder(ParamType.from(type)));\n const coder = new TupleCoder(coders, \"_\");\n return coder.decode(new Reader(data, loose, defaultMaxInflation));\n }\n static _setDefaultMaxInflation(value) {\n assertArgument(typeof (value) === \"number\" && Number.isInteger(value), \"invalid defaultMaxInflation factor\", \"value\", value);\n defaultMaxInflation = value;\n }\n /**\n * Returns the shared singleton instance of a default [[AbiCoder]].\n *\n * On the first call, the instance is created internally.\n */\n static defaultAbiCoder() {\n if (defaultCoder == null) {\n defaultCoder = new AbiCoder();\n }\n return defaultCoder;\n }\n /**\n * Returns an ethers-compatible [[CallExceptionError]] Error for the given\n * result %%data%% for the [[CallExceptionAction]] %%action%% against\n * the Transaction %%tx%%.\n */\n static getBuiltinCallException(action, tx, data) {\n return getBuiltinCallException(action, tx, data, AbiCoder.defaultAbiCoder());\n }\n}\n//# sourceMappingURL=abi-coder.js.map","/**\n * About bytes32 strings...\n *\n * @_docloc: api/utils:Bytes32 Strings\n */\nimport { getBytes, toUtf8Bytes, toUtf8String, zeroPadBytes } from \"../utils/index.js\";\n/**\n * Encodes %%text%% as a Bytes32 string.\n */\nexport function encodeBytes32String(text) {\n // Get the bytes\n const bytes = toUtf8Bytes(text);\n // Check we have room for null-termination\n if (bytes.length > 31) {\n throw new Error(\"bytes32 string must be less than 32 bytes\");\n }\n // Zero-pad (implicitly null-terminates)\n return zeroPadBytes(bytes, 32);\n}\n/**\n * Encodes the Bytes32-encoded %%bytes%% into a string.\n */\nexport function decodeBytes32String(_bytes) {\n const data = getBytes(_bytes, \"bytes\");\n // Must be 32 bytes with a null-termination\n if (data.length !== 32) {\n throw new Error(\"invalid bytes32 - not 32 bytes long\");\n }\n if (data[31] !== 0) {\n throw new Error(\"invalid bytes32 string - no null terminator\");\n }\n // Find the null termination\n let length = 31;\n while (data[length - 1] === 0) {\n length--;\n }\n // Determine the string value\n return toUtf8String(data.slice(0, length));\n}\n//# sourceMappingURL=bytes32.js.map","/**\n * The Interface class is a low-level class that accepts an\n * ABI and provides all the necessary functionality to encode\n * and decode paramaters to and results from methods, events\n * and errors.\n *\n * It also provides several convenience methods to automatically\n * search and find matching transactions and events to parse them.\n *\n * @_subsection api/abi:Interfaces [interfaces]\n */\nimport { keccak256 } from \"../crypto/index.js\";\nimport { id } from \"../hash/index.js\";\nimport { concat, dataSlice, getBigInt, getBytes, getBytesCopy, hexlify, zeroPadBytes, zeroPadValue, isHexString, defineProperties, assertArgument, toBeHex, assert } from \"../utils/index.js\";\nimport { AbiCoder } from \"./abi-coder.js\";\nimport { checkResultErrors, Result } from \"./coders/abstract-coder.js\";\nimport { ConstructorFragment, ErrorFragment, EventFragment, Fragment, FunctionFragment, ParamType } from \"./fragments.js\";\nimport { Typed } from \"./typed.js\";\nexport { checkResultErrors, Result };\n/**\n * When using the [[Interface-parseLog]] to automatically match a Log to its event\n * for parsing, a **LogDescription** is returned.\n */\nexport class LogDescription {\n /**\n * The matching fragment for the ``topic0``.\n */\n fragment;\n /**\n * The name of the Event.\n */\n name;\n /**\n * The full Event signature.\n */\n signature;\n /**\n * The topic hash for the Event.\n */\n topic;\n /**\n * The arguments passed into the Event with ``emit``.\n */\n args;\n /**\n * @_ignore:\n */\n constructor(fragment, topic, args) {\n const name = fragment.name, signature = fragment.format();\n defineProperties(this, {\n fragment, name, signature, topic, args\n });\n }\n}\n/**\n * When using the [[Interface-parseTransaction]] to automatically match\n * a transaction data to its function for parsing,\n * a **TransactionDescription** is returned.\n */\nexport class TransactionDescription {\n /**\n * The matching fragment from the transaction ``data``.\n */\n fragment;\n /**\n * The name of the Function from the transaction ``data``.\n */\n name;\n /**\n * The arguments passed to the Function from the transaction ``data``.\n */\n args;\n /**\n * The full Function signature from the transaction ``data``.\n */\n signature;\n /**\n * The selector for the Function from the transaction ``data``.\n */\n selector;\n /**\n * The ``value`` (in wei) from the transaction.\n */\n value;\n /**\n * @_ignore:\n */\n constructor(fragment, selector, args, value) {\n const name = fragment.name, signature = fragment.format();\n defineProperties(this, {\n fragment, name, args, signature, selector, value\n });\n }\n}\n/**\n * When using the [[Interface-parseError]] to automatically match an\n * error for a call result for parsing, an **ErrorDescription** is returned.\n */\nexport class ErrorDescription {\n /**\n * The matching fragment.\n */\n fragment;\n /**\n * The name of the Error.\n */\n name;\n /**\n * The arguments passed to the Error with ``revert``.\n */\n args;\n /**\n * The full Error signature.\n */\n signature;\n /**\n * The selector for the Error.\n */\n selector;\n /**\n * @_ignore:\n */\n constructor(fragment, selector, args) {\n const name = fragment.name, signature = fragment.format();\n defineProperties(this, {\n fragment, name, args, signature, selector\n });\n }\n}\n/**\n * An **Indexed** is used as a value when a value that does not\n * fit within a topic (i.e. not a fixed-length, 32-byte type). It\n * is the ``keccak256`` of the value, and used for types such as\n * arrays, tuples, bytes and strings.\n */\nexport class Indexed {\n /**\n * The ``keccak256`` of the value logged.\n */\n hash;\n /**\n * @_ignore:\n */\n _isIndexed;\n /**\n * Returns ``true`` if %%value%% is an **Indexed**.\n *\n * This provides a Type Guard for property access.\n */\n static isIndexed(value) {\n return !!(value && value._isIndexed);\n }\n /**\n * @_ignore:\n */\n constructor(hash) {\n defineProperties(this, { hash, _isIndexed: true });\n }\n}\n// https://docs.soliditylang.org/en/v0.8.13/control-structures.html?highlight=panic#panic-via-assert-and-error-via-require\nconst PanicReasons = {\n \"0\": \"generic panic\",\n \"1\": \"assert(false)\",\n \"17\": \"arithmetic overflow\",\n \"18\": \"division or modulo by zero\",\n \"33\": \"enum overflow\",\n \"34\": \"invalid encoded storage byte array accessed\",\n \"49\": \"out-of-bounds array access; popping on an empty array\",\n \"50\": \"out-of-bounds access of an array or bytesN\",\n \"65\": \"out of memory\",\n \"81\": \"uninitialized function\",\n};\nconst BuiltinErrors = {\n \"0x08c379a0\": {\n signature: \"Error(string)\",\n name: \"Error\",\n inputs: [\"string\"],\n reason: (message) => {\n return `reverted with reason string ${JSON.stringify(message)}`;\n }\n },\n \"0x4e487b71\": {\n signature: \"Panic(uint256)\",\n name: \"Panic\",\n inputs: [\"uint256\"],\n reason: (code) => {\n let reason = \"unknown panic code\";\n if (code >= 0 && code <= 0xff && PanicReasons[code.toString()]) {\n reason = PanicReasons[code.toString()];\n }\n return `reverted with panic code 0x${code.toString(16)} (${reason})`;\n }\n }\n};\n/**\n * An Interface abstracts many of the low-level details for\n * encoding and decoding the data on the blockchain.\n *\n * An ABI provides information on how to encode data to send to\n * a Contract, how to decode the results and events and how to\n * interpret revert errors.\n *\n * The ABI can be specified by [any supported format](InterfaceAbi).\n */\nexport class Interface {\n /**\n * All the Contract ABI members (i.e. methods, events, errors, etc).\n */\n fragments;\n /**\n * The Contract constructor.\n */\n deploy;\n /**\n * The Fallback method, if any.\n */\n fallback;\n /**\n * If receiving ether is supported.\n */\n receive;\n #errors;\n #events;\n #functions;\n // #structs: Map;\n #abiCoder;\n /**\n * Create a new Interface for the %%fragments%%.\n */\n constructor(fragments) {\n let abi = [];\n if (typeof (fragments) === \"string\") {\n abi = JSON.parse(fragments);\n }\n else {\n abi = fragments;\n }\n this.#functions = new Map();\n this.#errors = new Map();\n this.#events = new Map();\n // this.#structs = new Map();\n const frags = [];\n for (const a of abi) {\n try {\n frags.push(Fragment.from(a));\n }\n catch (error) {\n console.log(`[Warning] Invalid Fragment ${JSON.stringify(a)}:`, error.message);\n }\n }\n defineProperties(this, {\n fragments: Object.freeze(frags)\n });\n let fallback = null;\n let receive = false;\n this.#abiCoder = this.getAbiCoder();\n // Add all fragments by their signature\n this.fragments.forEach((fragment, index) => {\n let bucket;\n switch (fragment.type) {\n case \"constructor\":\n if (this.deploy) {\n console.log(\"duplicate definition - constructor\");\n return;\n }\n //checkNames(fragment, \"input\", fragment.inputs);\n defineProperties(this, { deploy: fragment });\n return;\n case \"fallback\":\n if (fragment.inputs.length === 0) {\n receive = true;\n }\n else {\n assertArgument(!fallback || fragment.payable !== fallback.payable, \"conflicting fallback fragments\", `fragments[${index}]`, fragment);\n fallback = fragment;\n receive = fallback.payable;\n }\n return;\n case \"function\":\n //checkNames(fragment, \"input\", fragment.inputs);\n //checkNames(fragment, \"output\", (fragment).outputs);\n bucket = this.#functions;\n break;\n case \"event\":\n //checkNames(fragment, \"input\", fragment.inputs);\n bucket = this.#events;\n break;\n case \"error\":\n bucket = this.#errors;\n break;\n default:\n return;\n }\n // Two identical entries; ignore it\n const signature = fragment.format();\n if (bucket.has(signature)) {\n return;\n }\n bucket.set(signature, fragment);\n });\n // If we do not have a constructor add a default\n if (!this.deploy) {\n defineProperties(this, {\n deploy: ConstructorFragment.from(\"constructor()\")\n });\n }\n defineProperties(this, { fallback, receive });\n }\n /**\n * Returns the entire Human-Readable ABI, as an array of\n * signatures, optionally as %%minimal%% strings, which\n * removes parameter names and unneceesary spaces.\n */\n format(minimal) {\n const format = (minimal ? \"minimal\" : \"full\");\n const abi = this.fragments.map((f) => f.format(format));\n return abi;\n }\n /**\n * Return the JSON-encoded ABI. This is the format Solidiy\n * returns.\n */\n formatJson() {\n const abi = this.fragments.map((f) => f.format(\"json\"));\n // We need to re-bundle the JSON fragments a bit\n return JSON.stringify(abi.map((j) => JSON.parse(j)));\n }\n /**\n * The ABI coder that will be used to encode and decode binary\n * data.\n */\n getAbiCoder() {\n return AbiCoder.defaultAbiCoder();\n }\n // Find a function definition by any means necessary (unless it is ambiguous)\n #getFunction(key, values, forceUnique) {\n // Selector\n if (isHexString(key)) {\n const selector = key.toLowerCase();\n for (const fragment of this.#functions.values()) {\n if (selector === fragment.selector) {\n return fragment;\n }\n }\n return null;\n }\n // It is a bare name, look up the function (will return null if ambiguous)\n if (key.indexOf(\"(\") === -1) {\n const matching = [];\n for (const [name, fragment] of this.#functions) {\n if (name.split(\"(\" /* fix:) */)[0] === key) {\n matching.push(fragment);\n }\n }\n if (values) {\n const lastValue = (values.length > 0) ? values[values.length - 1] : null;\n let valueLength = values.length;\n let allowOptions = true;\n if (Typed.isTyped(lastValue) && lastValue.type === \"overrides\") {\n allowOptions = false;\n valueLength--;\n }\n // Remove all matches that don't have a compatible length. The args\n // may contain an overrides, so the match may have n or n - 1 parameters\n for (let i = matching.length - 1; i >= 0; i--) {\n const inputs = matching[i].inputs.length;\n if (inputs !== valueLength && (!allowOptions || inputs !== valueLength - 1)) {\n matching.splice(i, 1);\n }\n }\n // Remove all matches that don't match the Typed signature\n for (let i = matching.length - 1; i >= 0; i--) {\n const inputs = matching[i].inputs;\n for (let j = 0; j < values.length; j++) {\n // Not a typed value\n if (!Typed.isTyped(values[j])) {\n continue;\n }\n // We are past the inputs\n if (j >= inputs.length) {\n if (values[j].type === \"overrides\") {\n continue;\n }\n matching.splice(i, 1);\n break;\n }\n // Make sure the value type matches the input type\n if (values[j].type !== inputs[j].baseType) {\n matching.splice(i, 1);\n break;\n }\n }\n }\n }\n // We found a single matching signature with an overrides, but the\n // last value is something that cannot possibly be an options\n if (matching.length === 1 && values && values.length !== matching[0].inputs.length) {\n const lastArg = values[values.length - 1];\n if (lastArg == null || Array.isArray(lastArg) || typeof (lastArg) !== \"object\") {\n matching.splice(0, 1);\n }\n }\n if (matching.length === 0) {\n return null;\n }\n if (matching.length > 1 && forceUnique) {\n const matchStr = matching.map((m) => JSON.stringify(m.format())).join(\", \");\n assertArgument(false, `ambiguous function description (i.e. matches ${matchStr})`, \"key\", key);\n }\n return matching[0];\n }\n // Normalize the signature and lookup the function\n const result = this.#functions.get(FunctionFragment.from(key).format());\n if (result) {\n return result;\n }\n return null;\n }\n /**\n * Get the function name for %%key%%, which may be a function selector,\n * function name or function signature that belongs to the ABI.\n */\n getFunctionName(key) {\n const fragment = this.#getFunction(key, null, false);\n assertArgument(fragment, \"no matching function\", \"key\", key);\n return fragment.name;\n }\n /**\n * Returns true if %%key%% (a function selector, function name or\n * function signature) is present in the ABI.\n *\n * In the case of a function name, the name may be ambiguous, so\n * accessing the [[FunctionFragment]] may require refinement.\n */\n hasFunction(key) {\n return !!this.#getFunction(key, null, false);\n }\n /**\n * Get the [[FunctionFragment]] for %%key%%, which may be a function\n * selector, function name or function signature that belongs to the ABI.\n *\n * If %%values%% is provided, it will use the Typed API to handle\n * ambiguous cases where multiple functions match by name.\n *\n * If the %%key%% and %%values%% do not refine to a single function in\n * the ABI, this will throw.\n */\n getFunction(key, values) {\n return this.#getFunction(key, values || null, true);\n }\n /**\n * Iterate over all functions, calling %%callback%%, sorted by their name.\n */\n forEachFunction(callback) {\n const names = Array.from(this.#functions.keys());\n names.sort((a, b) => a.localeCompare(b));\n for (let i = 0; i < names.length; i++) {\n const name = names[i];\n callback((this.#functions.get(name)), i);\n }\n }\n // Find an event definition by any means necessary (unless it is ambiguous)\n #getEvent(key, values, forceUnique) {\n // EventTopic\n if (isHexString(key)) {\n const eventTopic = key.toLowerCase();\n for (const fragment of this.#events.values()) {\n if (eventTopic === fragment.topicHash) {\n return fragment;\n }\n }\n return null;\n }\n // It is a bare name, look up the function (will return null if ambiguous)\n if (key.indexOf(\"(\") === -1) {\n const matching = [];\n for (const [name, fragment] of this.#events) {\n if (name.split(\"(\" /* fix:) */)[0] === key) {\n matching.push(fragment);\n }\n }\n if (values) {\n // Remove all matches that don't have a compatible length.\n for (let i = matching.length - 1; i >= 0; i--) {\n if (matching[i].inputs.length < values.length) {\n matching.splice(i, 1);\n }\n }\n // Remove all matches that don't match the Typed signature\n for (let i = matching.length - 1; i >= 0; i--) {\n const inputs = matching[i].inputs;\n for (let j = 0; j < values.length; j++) {\n // Not a typed value\n if (!Typed.isTyped(values[j])) {\n continue;\n }\n // Make sure the value type matches the input type\n if (values[j].type !== inputs[j].baseType) {\n matching.splice(i, 1);\n break;\n }\n }\n }\n }\n if (matching.length === 0) {\n return null;\n }\n if (matching.length > 1 && forceUnique) {\n const matchStr = matching.map((m) => JSON.stringify(m.format())).join(\", \");\n assertArgument(false, `ambiguous event description (i.e. matches ${matchStr})`, \"key\", key);\n }\n return matching[0];\n }\n // Normalize the signature and lookup the function\n const result = this.#events.get(EventFragment.from(key).format());\n if (result) {\n return result;\n }\n return null;\n }\n /**\n * Get the event name for %%key%%, which may be a topic hash,\n * event name or event signature that belongs to the ABI.\n */\n getEventName(key) {\n const fragment = this.#getEvent(key, null, false);\n assertArgument(fragment, \"no matching event\", \"key\", key);\n return fragment.name;\n }\n /**\n * Returns true if %%key%% (an event topic hash, event name or\n * event signature) is present in the ABI.\n *\n * In the case of an event name, the name may be ambiguous, so\n * accessing the [[EventFragment]] may require refinement.\n */\n hasEvent(key) {\n return !!this.#getEvent(key, null, false);\n }\n /**\n * Get the [[EventFragment]] for %%key%%, which may be a topic hash,\n * event name or event signature that belongs to the ABI.\n *\n * If %%values%% is provided, it will use the Typed API to handle\n * ambiguous cases where multiple events match by name.\n *\n * If the %%key%% and %%values%% do not refine to a single event in\n * the ABI, this will throw.\n */\n getEvent(key, values) {\n return this.#getEvent(key, values || null, true);\n }\n /**\n * Iterate over all events, calling %%callback%%, sorted by their name.\n */\n forEachEvent(callback) {\n const names = Array.from(this.#events.keys());\n names.sort((a, b) => a.localeCompare(b));\n for (let i = 0; i < names.length; i++) {\n const name = names[i];\n callback((this.#events.get(name)), i);\n }\n }\n /**\n * Get the [[ErrorFragment]] for %%key%%, which may be an error\n * selector, error name or error signature that belongs to the ABI.\n *\n * If %%values%% is provided, it will use the Typed API to handle\n * ambiguous cases where multiple errors match by name.\n *\n * If the %%key%% and %%values%% do not refine to a single error in\n * the ABI, this will throw.\n */\n getError(key, values) {\n if (isHexString(key)) {\n const selector = key.toLowerCase();\n if (BuiltinErrors[selector]) {\n return ErrorFragment.from(BuiltinErrors[selector].signature);\n }\n for (const fragment of this.#errors.values()) {\n if (selector === fragment.selector) {\n return fragment;\n }\n }\n return null;\n }\n // It is a bare name, look up the function (will return null if ambiguous)\n if (key.indexOf(\"(\") === -1) {\n const matching = [];\n for (const [name, fragment] of this.#errors) {\n if (name.split(\"(\" /* fix:) */)[0] === key) {\n matching.push(fragment);\n }\n }\n if (matching.length === 0) {\n if (key === \"Error\") {\n return ErrorFragment.from(\"error Error(string)\");\n }\n if (key === \"Panic\") {\n return ErrorFragment.from(\"error Panic(uint256)\");\n }\n return null;\n }\n else if (matching.length > 1) {\n const matchStr = matching.map((m) => JSON.stringify(m.format())).join(\", \");\n assertArgument(false, `ambiguous error description (i.e. ${matchStr})`, \"name\", key);\n }\n return matching[0];\n }\n // Normalize the signature and lookup the function\n key = ErrorFragment.from(key).format();\n if (key === \"Error(string)\") {\n return ErrorFragment.from(\"error Error(string)\");\n }\n if (key === \"Panic(uint256)\") {\n return ErrorFragment.from(\"error Panic(uint256)\");\n }\n const result = this.#errors.get(key);\n if (result) {\n return result;\n }\n return null;\n }\n /**\n * Iterate over all errors, calling %%callback%%, sorted by their name.\n */\n forEachError(callback) {\n const names = Array.from(this.#errors.keys());\n names.sort((a, b) => a.localeCompare(b));\n for (let i = 0; i < names.length; i++) {\n const name = names[i];\n callback((this.#errors.get(name)), i);\n }\n }\n // Get the 4-byte selector used by Solidity to identify a function\n /*\ngetSelector(fragment: ErrorFragment | FunctionFragment): string {\n if (typeof(fragment) === \"string\") {\n const matches: Array = [ ];\n\n try { matches.push(this.getFunction(fragment)); } catch (error) { }\n try { matches.push(this.getError(fragment)); } catch (_) { }\n\n if (matches.length === 0) {\n logger.throwArgumentError(\"unknown fragment\", \"key\", fragment);\n } else if (matches.length > 1) {\n logger.throwArgumentError(\"ambiguous fragment matches function and error\", \"key\", fragment);\n }\n\n fragment = matches[0];\n }\n\n return dataSlice(id(fragment.format()), 0, 4);\n}\n */\n // Get the 32-byte topic hash used by Solidity to identify an event\n /*\n getEventTopic(fragment: EventFragment): string {\n //if (typeof(fragment) === \"string\") { fragment = this.getEvent(eventFragment); }\n return id(fragment.format());\n }\n */\n _decodeParams(params, data) {\n return this.#abiCoder.decode(params, data);\n }\n _encodeParams(params, values) {\n return this.#abiCoder.encode(params, values);\n }\n /**\n * Encodes a ``tx.data`` object for deploying the Contract with\n * the %%values%% as the constructor arguments.\n */\n encodeDeploy(values) {\n return this._encodeParams(this.deploy.inputs, values || []);\n }\n /**\n * Decodes the result %%data%% (e.g. from an ``eth_call``) for the\n * specified error (see [[getError]] for valid values for\n * %%key%%).\n *\n * Most developers should prefer the [[parseCallResult]] method instead,\n * which will automatically detect a ``CALL_EXCEPTION`` and throw the\n * corresponding error.\n */\n decodeErrorResult(fragment, data) {\n if (typeof (fragment) === \"string\") {\n const f = this.getError(fragment);\n assertArgument(f, \"unknown error\", \"fragment\", fragment);\n fragment = f;\n }\n assertArgument(dataSlice(data, 0, 4) === fragment.selector, `data signature does not match error ${fragment.name}.`, \"data\", data);\n return this._decodeParams(fragment.inputs, dataSlice(data, 4));\n }\n /**\n * Encodes the transaction revert data for a call result that\n * reverted from the the Contract with the sepcified %%error%%\n * (see [[getError]] for valid values for %%fragment%%) with the %%values%%.\n *\n * This is generally not used by most developers, unless trying to mock\n * a result from a Contract.\n */\n encodeErrorResult(fragment, values) {\n if (typeof (fragment) === \"string\") {\n const f = this.getError(fragment);\n assertArgument(f, \"unknown error\", \"fragment\", fragment);\n fragment = f;\n }\n return concat([\n fragment.selector,\n this._encodeParams(fragment.inputs, values || [])\n ]);\n }\n /**\n * Decodes the %%data%% from a transaction ``tx.data`` for\n * the function specified (see [[getFunction]] for valid values\n * for %%fragment%%).\n *\n * Most developers should prefer the [[parseTransaction]] method\n * instead, which will automatically detect the fragment.\n */\n decodeFunctionData(fragment, data) {\n if (typeof (fragment) === \"string\") {\n const f = this.getFunction(fragment);\n assertArgument(f, \"unknown function\", \"fragment\", fragment);\n fragment = f;\n }\n assertArgument(dataSlice(data, 0, 4) === fragment.selector, `data signature does not match function ${fragment.name}.`, \"data\", data);\n return this._decodeParams(fragment.inputs, dataSlice(data, 4));\n }\n /**\n * Encodes the ``tx.data`` for a transaction that calls the function\n * specified (see [[getFunction]] for valid values for %%fragment%%) with\n * the %%values%%.\n */\n encodeFunctionData(fragment, values) {\n if (typeof (fragment) === \"string\") {\n const f = this.getFunction(fragment);\n assertArgument(f, \"unknown function\", \"fragment\", fragment);\n fragment = f;\n }\n return concat([\n fragment.selector,\n this._encodeParams(fragment.inputs, values || [])\n ]);\n }\n /**\n * Decodes the result %%data%% (e.g. from an ``eth_call``) for the\n * specified function (see [[getFunction]] for valid values for\n * %%key%%).\n *\n * Most developers should prefer the [[parseCallResult]] method instead,\n * which will automatically detect a ``CALL_EXCEPTION`` and throw the\n * corresponding error.\n */\n decodeFunctionResult(fragment, data) {\n if (typeof (fragment) === \"string\") {\n const f = this.getFunction(fragment);\n assertArgument(f, \"unknown function\", \"fragment\", fragment);\n fragment = f;\n }\n let message = \"invalid length for result data\";\n const bytes = getBytesCopy(data);\n if ((bytes.length % 32) === 0) {\n try {\n return this.#abiCoder.decode(fragment.outputs, bytes);\n }\n catch (error) {\n message = \"could not decode result data\";\n }\n }\n // Call returned data with no error, but the data is junk\n assert(false, message, \"BAD_DATA\", {\n value: hexlify(bytes),\n info: { method: fragment.name, signature: fragment.format() }\n });\n }\n makeError(_data, tx) {\n const data = getBytes(_data, \"data\");\n const error = AbiCoder.getBuiltinCallException(\"call\", tx, data);\n // Not a built-in error; try finding a custom error\n const customPrefix = \"execution reverted (unknown custom error)\";\n if (error.message.startsWith(customPrefix)) {\n const selector = hexlify(data.slice(0, 4));\n const ef = this.getError(selector);\n if (ef) {\n try {\n const args = this.#abiCoder.decode(ef.inputs, data.slice(4));\n error.revert = {\n name: ef.name, signature: ef.format(), args\n };\n error.reason = error.revert.signature;\n error.message = `execution reverted: ${error.reason}`;\n }\n catch (e) {\n error.message = `execution reverted (coult not decode custom error)`;\n }\n }\n }\n // Add the invocation, if available\n const parsed = this.parseTransaction(tx);\n if (parsed) {\n error.invocation = {\n method: parsed.name,\n signature: parsed.signature,\n args: parsed.args\n };\n }\n return error;\n }\n /**\n * Encodes the result data (e.g. from an ``eth_call``) for the\n * specified function (see [[getFunction]] for valid values\n * for %%fragment%%) with %%values%%.\n *\n * This is generally not used by most developers, unless trying to mock\n * a result from a Contract.\n */\n encodeFunctionResult(fragment, values) {\n if (typeof (fragment) === \"string\") {\n const f = this.getFunction(fragment);\n assertArgument(f, \"unknown function\", \"fragment\", fragment);\n fragment = f;\n }\n return hexlify(this.#abiCoder.encode(fragment.outputs, values || []));\n }\n /*\n spelunk(inputs: Array, values: ReadonlyArray, processfunc: (type: string, value: any) => Promise): Promise> {\n const promises: Array> = [ ];\n const process = function(type: ParamType, value: any): any {\n if (type.baseType === \"array\") {\n return descend(type.child\n }\n if (type. === \"address\") {\n }\n };\n \n const descend = function (inputs: Array, values: ReadonlyArray) {\n if (inputs.length !== values.length) { throw new Error(\"length mismatch\"); }\n \n };\n \n const result: Array = [ ];\n values.forEach((value, index) => {\n if (value == null) {\n topics.push(null);\n } else if (param.baseType === \"array\" || param.baseType === \"tuple\") {\n logger.throwArgumentError(\"filtering with tuples or arrays not supported\", (\"contract.\" + param.name), value);\n } else if (Array.isArray(value)) {\n topics.push(value.map((value) => encodeTopic(param, value)));\n } else {\n topics.push(encodeTopic(param, value));\n }\n });\n }\n */\n // Create the filter for the event with search criteria (e.g. for eth_filterLog)\n encodeFilterTopics(fragment, values) {\n if (typeof (fragment) === \"string\") {\n const f = this.getEvent(fragment);\n assertArgument(f, \"unknown event\", \"eventFragment\", fragment);\n fragment = f;\n }\n assert(values.length <= fragment.inputs.length, `too many arguments for ${fragment.format()}`, \"UNEXPECTED_ARGUMENT\", { count: values.length, expectedCount: fragment.inputs.length });\n const topics = [];\n if (!fragment.anonymous) {\n topics.push(fragment.topicHash);\n }\n // @TODO: Use the coders for this; to properly support tuples, etc.\n const encodeTopic = (param, value) => {\n if (param.type === \"string\") {\n return id(value);\n }\n else if (param.type === \"bytes\") {\n return keccak256(hexlify(value));\n }\n if (param.type === \"bool\" && typeof (value) === \"boolean\") {\n value = (value ? \"0x01\" : \"0x00\");\n }\n else if (param.type.match(/^u?int/)) {\n value = toBeHex(value); // @TODO: Should this toTwos??\n }\n else if (param.type.match(/^bytes/)) {\n value = zeroPadBytes(value, 32);\n }\n else if (param.type === \"address\") {\n // Check addresses are valid\n this.#abiCoder.encode([\"address\"], [value]);\n }\n return zeroPadValue(hexlify(value), 32);\n };\n values.forEach((value, index) => {\n const param = fragment.inputs[index];\n if (!param.indexed) {\n assertArgument(value == null, \"cannot filter non-indexed parameters; must be null\", (\"contract.\" + param.name), value);\n return;\n }\n if (value == null) {\n topics.push(null);\n }\n else if (param.baseType === \"array\" || param.baseType === \"tuple\") {\n assertArgument(false, \"filtering with tuples or arrays not supported\", (\"contract.\" + param.name), value);\n }\n else if (Array.isArray(value)) {\n topics.push(value.map((value) => encodeTopic(param, value)));\n }\n else {\n topics.push(encodeTopic(param, value));\n }\n });\n // Trim off trailing nulls\n while (topics.length && topics[topics.length - 1] === null) {\n topics.pop();\n }\n return topics;\n }\n encodeEventLog(fragment, values) {\n if (typeof (fragment) === \"string\") {\n const f = this.getEvent(fragment);\n assertArgument(f, \"unknown event\", \"eventFragment\", fragment);\n fragment = f;\n }\n const topics = [];\n const dataTypes = [];\n const dataValues = [];\n if (!fragment.anonymous) {\n topics.push(fragment.topicHash);\n }\n assertArgument(values.length === fragment.inputs.length, \"event arguments/values mismatch\", \"values\", values);\n fragment.inputs.forEach((param, index) => {\n const value = values[index];\n if (param.indexed) {\n if (param.type === \"string\") {\n topics.push(id(value));\n }\n else if (param.type === \"bytes\") {\n topics.push(keccak256(value));\n }\n else if (param.baseType === \"tuple\" || param.baseType === \"array\") {\n // @TODO\n throw new Error(\"not implemented\");\n }\n else {\n topics.push(this.#abiCoder.encode([param.type], [value]));\n }\n }\n else {\n dataTypes.push(param);\n dataValues.push(value);\n }\n });\n return {\n data: this.#abiCoder.encode(dataTypes, dataValues),\n topics: topics\n };\n }\n // Decode a filter for the event and the search criteria\n decodeEventLog(fragment, data, topics) {\n if (typeof (fragment) === \"string\") {\n const f = this.getEvent(fragment);\n assertArgument(f, \"unknown event\", \"eventFragment\", fragment);\n fragment = f;\n }\n if (topics != null && !fragment.anonymous) {\n const eventTopic = fragment.topicHash;\n assertArgument(isHexString(topics[0], 32) && topics[0].toLowerCase() === eventTopic, \"fragment/topic mismatch\", \"topics[0]\", topics[0]);\n topics = topics.slice(1);\n }\n const indexed = [];\n const nonIndexed = [];\n const dynamic = [];\n fragment.inputs.forEach((param, index) => {\n if (param.indexed) {\n if (param.type === \"string\" || param.type === \"bytes\" || param.baseType === \"tuple\" || param.baseType === \"array\") {\n indexed.push(ParamType.from({ type: \"bytes32\", name: param.name }));\n dynamic.push(true);\n }\n else {\n indexed.push(param);\n dynamic.push(false);\n }\n }\n else {\n nonIndexed.push(param);\n dynamic.push(false);\n }\n });\n const resultIndexed = (topics != null) ? this.#abiCoder.decode(indexed, concat(topics)) : null;\n const resultNonIndexed = this.#abiCoder.decode(nonIndexed, data, true);\n //const result: (Array & { [ key: string ]: any }) = [ ];\n const values = [];\n const keys = [];\n let nonIndexedIndex = 0, indexedIndex = 0;\n fragment.inputs.forEach((param, index) => {\n let value = null;\n if (param.indexed) {\n if (resultIndexed == null) {\n value = new Indexed(null);\n }\n else if (dynamic[index]) {\n value = new Indexed(resultIndexed[indexedIndex++]);\n }\n else {\n try {\n value = resultIndexed[indexedIndex++];\n }\n catch (error) {\n value = error;\n }\n }\n }\n else {\n try {\n value = resultNonIndexed[nonIndexedIndex++];\n }\n catch (error) {\n value = error;\n }\n }\n values.push(value);\n keys.push(param.name || null);\n });\n return Result.fromItems(values, keys);\n }\n /**\n * Parses a transaction, finding the matching function and extracts\n * the parameter values along with other useful function details.\n *\n * If the matching function cannot be found, return null.\n */\n parseTransaction(tx) {\n const data = getBytes(tx.data, \"tx.data\");\n const value = getBigInt((tx.value != null) ? tx.value : 0, \"tx.value\");\n const fragment = this.getFunction(hexlify(data.slice(0, 4)));\n if (!fragment) {\n return null;\n }\n const args = this.#abiCoder.decode(fragment.inputs, data.slice(4));\n return new TransactionDescription(fragment, fragment.selector, args, value);\n }\n parseCallResult(data) {\n throw new Error(\"@TODO\");\n }\n /**\n * Parses a receipt log, finding the matching event and extracts\n * the parameter values along with other useful event details.\n *\n * If the matching event cannot be found, returns null.\n */\n parseLog(log) {\n const fragment = this.getEvent(log.topics[0]);\n if (!fragment || fragment.anonymous) {\n return null;\n }\n // @TODO: If anonymous, and the only method, and the input count matches, should we parse?\n // Probably not, because just because it is the only event in the ABI does\n // not mean we have the full ABI; maybe just a fragment?\n return new LogDescription(fragment, fragment.topicHash, this.decodeEventLog(fragment, log.data, log.topics));\n }\n /**\n * Parses a revert data, finding the matching error and extracts\n * the parameter values along with other useful error details.\n *\n * If the matching error cannot be found, returns null.\n */\n parseError(data) {\n const hexData = hexlify(data);\n const fragment = this.getError(dataSlice(hexData, 0, 4));\n if (!fragment) {\n return null;\n }\n const args = this.#abiCoder.decode(fragment.inputs, dataSlice(hexData, 4));\n return new ErrorDescription(fragment, fragment.selector, args);\n }\n /**\n * Creates a new [[Interface]] from the ABI %%value%%.\n *\n * The %%value%% may be provided as an existing [[Interface]] object,\n * a JSON-encoded ABI or any Human-Readable ABI format.\n */\n static from(value) {\n // Already an Interface, which is immutable\n if (value instanceof Interface) {\n return value;\n }\n // JSON\n if (typeof (value) === \"string\") {\n return new Interface(JSON.parse(value));\n }\n // Maybe an interface from an older version, or from a symlinked copy\n if (typeof (value.format) === \"function\") {\n return new Interface(value.format(\"json\"));\n }\n // Array of fragments\n return new Interface(value);\n }\n}\n//# sourceMappingURL=interface.js.map","//import { resolveAddress } from \"@ethersproject/address\";\nimport { defineProperties, getBigInt, getNumber, hexlify, resolveProperties, assert, assertArgument, isError, makeError } from \"../utils/index.js\";\nimport { accessListify } from \"../transaction/index.js\";\nconst BN_0 = BigInt(0);\n// -----------------------\nfunction getValue(value) {\n if (value == null) {\n return null;\n }\n return value;\n}\nfunction toJson(value) {\n if (value == null) {\n return null;\n }\n return value.toString();\n}\n// @TODO? implements Required\n/**\n * A **FeeData** wraps all the fee-related values associated with\n * the network.\n */\nexport class FeeData {\n /**\n * The gas price for legacy networks.\n */\n gasPrice;\n /**\n * The maximum fee to pay per gas.\n *\n * The base fee per gas is defined by the network and based on\n * congestion, increasing the cost during times of heavy load\n * and lowering when less busy.\n *\n * The actual fee per gas will be the base fee for the block\n * and the priority fee, up to the max fee per gas.\n *\n * This will be ``null`` on legacy networks (i.e. [pre-EIP-1559](link-eip-1559))\n */\n maxFeePerGas;\n /**\n * The additional amout to pay per gas to encourage a validator\n * to include the transaction.\n *\n * The purpose of this is to compensate the validator for the\n * adjusted risk for including a given transaction.\n *\n * This will be ``null`` on legacy networks (i.e. [pre-EIP-1559](link-eip-1559))\n */\n maxPriorityFeePerGas;\n /**\n * Creates a new FeeData for %%gasPrice%%, %%maxFeePerGas%% and\n * %%maxPriorityFeePerGas%%.\n */\n constructor(gasPrice, maxFeePerGas, maxPriorityFeePerGas) {\n defineProperties(this, {\n gasPrice: getValue(gasPrice),\n maxFeePerGas: getValue(maxFeePerGas),\n maxPriorityFeePerGas: getValue(maxPriorityFeePerGas)\n });\n }\n /**\n * Returns a JSON-friendly value.\n */\n toJSON() {\n const { gasPrice, maxFeePerGas, maxPriorityFeePerGas } = this;\n return {\n _type: \"FeeData\",\n gasPrice: toJson(gasPrice),\n maxFeePerGas: toJson(maxFeePerGas),\n maxPriorityFeePerGas: toJson(maxPriorityFeePerGas),\n };\n }\n}\n;\n/**\n * Returns a copy of %%req%% with all properties coerced to their strict\n * types.\n */\nexport function copyRequest(req) {\n const result = {};\n // These could be addresses, ENS names or Addressables\n if (req.to) {\n result.to = req.to;\n }\n if (req.from) {\n result.from = req.from;\n }\n if (req.data) {\n result.data = hexlify(req.data);\n }\n const bigIntKeys = \"chainId,gasLimit,gasPrice,maxFeePerGas,maxPriorityFeePerGas,value\".split(/,/);\n for (const key of bigIntKeys) {\n if (!(key in req) || req[key] == null) {\n continue;\n }\n result[key] = getBigInt(req[key], `request.${key}`);\n }\n const numberKeys = \"type,nonce\".split(/,/);\n for (const key of numberKeys) {\n if (!(key in req) || req[key] == null) {\n continue;\n }\n result[key] = getNumber(req[key], `request.${key}`);\n }\n if (req.accessList) {\n result.accessList = accessListify(req.accessList);\n }\n if (\"blockTag\" in req) {\n result.blockTag = req.blockTag;\n }\n if (\"enableCcipRead\" in req) {\n result.enableCcipRead = !!req.enableCcipRead;\n }\n if (\"customData\" in req) {\n result.customData = req.customData;\n }\n return result;\n}\n/**\n * A **Block** represents the data associated with a full block on\n * Ethereum.\n */\nexport class Block {\n /**\n * The provider connected to the block used to fetch additional details\n * if necessary.\n */\n provider;\n /**\n * The block number, sometimes called the block height. This is a\n * sequential number that is one higher than the parent block.\n */\n number;\n /**\n * The block hash.\n *\n * This hash includes all properties, so can be safely used to identify\n * an exact set of block properties.\n */\n hash;\n /**\n * The timestamp for this block, which is the number of seconds since\n * epoch that this block was included.\n */\n timestamp;\n /**\n * The block hash of the parent block.\n */\n parentHash;\n /**\n * The hash tree root of the parent beacon block for the given\n * execution block. See [[link-eip-4788]].\n */\n parentBeaconBlockRoot;\n /**\n * The nonce.\n *\n * On legacy networks, this is the random number inserted which\n * permitted the difficulty target to be reached.\n */\n nonce;\n /**\n * The difficulty target.\n *\n * On legacy networks, this is the proof-of-work target required\n * for a block to meet the protocol rules to be included.\n *\n * On modern networks, this is a random number arrived at using\n * randao. @TODO: Find links?\n */\n difficulty;\n /**\n * The total gas limit for this block.\n */\n gasLimit;\n /**\n * The total gas used in this block.\n */\n gasUsed;\n /**\n * The root hash for the global state after applying changes\n * in this block.\n */\n stateRoot;\n /**\n * The hash of the transaction receipts trie.\n */\n receiptsRoot;\n /**\n * The total amount of blob gas consumed by the transactions\n * within the block. See [[link-eip-4844]].\n */\n blobGasUsed;\n /**\n * The running total of blob gas consumed in excess of the\n * target, prior to the block. See [[link-eip-4844]].\n */\n excessBlobGas;\n /**\n * The miner coinbase address, wihch receives any subsidies for\n * including this block.\n */\n miner;\n /**\n * Any extra data the validator wished to include.\n */\n extraData;\n /**\n * The base fee per gas that all transactions in this block were\n * charged.\n *\n * This adjusts after each block, depending on how congested the network\n * is.\n */\n baseFeePerGas;\n #transactions;\n /**\n * Create a new **Block** object.\n *\n * This should generally not be necessary as the unless implementing a\n * low-level library.\n */\n constructor(block, provider) {\n this.#transactions = block.transactions.map((tx) => {\n if (typeof (tx) !== \"string\") {\n return new TransactionResponse(tx, provider);\n }\n return tx;\n });\n defineProperties(this, {\n provider,\n hash: getValue(block.hash),\n number: block.number,\n timestamp: block.timestamp,\n parentHash: block.parentHash,\n parentBeaconBlockRoot: block.parentBeaconBlockRoot,\n nonce: block.nonce,\n difficulty: block.difficulty,\n gasLimit: block.gasLimit,\n gasUsed: block.gasUsed,\n blobGasUsed: block.blobGasUsed,\n excessBlobGas: block.excessBlobGas,\n miner: block.miner,\n extraData: block.extraData,\n baseFeePerGas: getValue(block.baseFeePerGas),\n stateRoot: block.stateRoot,\n receiptsRoot: block.receiptsRoot,\n });\n }\n /**\n * Returns the list of transaction hashes, in the order\n * they were executed within the block.\n */\n get transactions() {\n return this.#transactions.map((tx) => {\n if (typeof (tx) === \"string\") {\n return tx;\n }\n return tx.hash;\n });\n }\n /**\n * Returns the complete transactions, in the order they\n * were executed within the block.\n *\n * This is only available for blocks which prefetched\n * transactions, by passing ``true`` to %%prefetchTxs%%\n * into [[Provider-getBlock]].\n */\n get prefetchedTransactions() {\n const txs = this.#transactions.slice();\n // Doesn't matter...\n if (txs.length === 0) {\n return [];\n }\n // Make sure we prefetched the transactions\n assert(typeof (txs[0]) === \"object\", \"transactions were not prefetched with block request\", \"UNSUPPORTED_OPERATION\", {\n operation: \"transactionResponses()\"\n });\n return txs;\n }\n /**\n * Returns a JSON-friendly value.\n */\n toJSON() {\n const { baseFeePerGas, difficulty, extraData, gasLimit, gasUsed, hash, miner, nonce, number, parentHash, parentBeaconBlockRoot, stateRoot, receiptsRoot, timestamp, transactions } = this;\n return {\n _type: \"Block\",\n baseFeePerGas: toJson(baseFeePerGas),\n difficulty: toJson(difficulty),\n extraData,\n gasLimit: toJson(gasLimit),\n gasUsed: toJson(gasUsed),\n blobGasUsed: toJson(this.blobGasUsed),\n excessBlobGas: toJson(this.excessBlobGas),\n hash, miner, nonce, number, parentHash, timestamp,\n parentBeaconBlockRoot, stateRoot, receiptsRoot,\n transactions,\n };\n }\n [Symbol.iterator]() {\n let index = 0;\n const txs = this.transactions;\n return {\n next: () => {\n if (index < this.length) {\n return {\n value: txs[index++], done: false\n };\n }\n return { value: undefined, done: true };\n }\n };\n }\n /**\n * The number of transactions in this block.\n */\n get length() { return this.#transactions.length; }\n /**\n * The [[link-js-date]] this block was included at.\n */\n get date() {\n if (this.timestamp == null) {\n return null;\n }\n return new Date(this.timestamp * 1000);\n }\n /**\n * Get the transaction at %%indexe%% within this block.\n */\n async getTransaction(indexOrHash) {\n // Find the internal value by its index or hash\n let tx = undefined;\n if (typeof (indexOrHash) === \"number\") {\n tx = this.#transactions[indexOrHash];\n }\n else {\n const hash = indexOrHash.toLowerCase();\n for (const v of this.#transactions) {\n if (typeof (v) === \"string\") {\n if (v !== hash) {\n continue;\n }\n tx = v;\n break;\n }\n else {\n if (v.hash === hash) {\n continue;\n }\n tx = v;\n break;\n }\n }\n }\n if (tx == null) {\n throw new Error(\"no such tx\");\n }\n if (typeof (tx) === \"string\") {\n return (await this.provider.getTransaction(tx));\n }\n else {\n return tx;\n }\n }\n /**\n * If a **Block** was fetched with a request to include the transactions\n * this will allow synchronous access to those transactions.\n *\n * If the transactions were not prefetched, this will throw.\n */\n getPrefetchedTransaction(indexOrHash) {\n const txs = this.prefetchedTransactions;\n if (typeof (indexOrHash) === \"number\") {\n return txs[indexOrHash];\n }\n indexOrHash = indexOrHash.toLowerCase();\n for (const tx of txs) {\n if (tx.hash === indexOrHash) {\n return tx;\n }\n }\n assertArgument(false, \"no matching transaction\", \"indexOrHash\", indexOrHash);\n }\n /**\n * Returns true if this block been mined. This provides a type guard\n * for all properties on a [[MinedBlock]].\n */\n isMined() { return !!this.hash; }\n /**\n * Returns true if this block is an [[link-eip-2930]] block.\n */\n isLondon() {\n return !!this.baseFeePerGas;\n }\n /**\n * @_ignore:\n */\n orphanedEvent() {\n if (!this.isMined()) {\n throw new Error(\"\");\n }\n return createOrphanedBlockFilter(this);\n }\n}\n//////////////////////\n// Log\n/**\n * A **Log** in Ethereum represents an event that has been included in a\n * transaction using the ``LOG*`` opcodes, which are most commonly used by\n * Solidity's emit for announcing events.\n */\nexport class Log {\n /**\n * The provider connected to the log used to fetch additional details\n * if necessary.\n */\n provider;\n /**\n * The transaction hash of the transaction this log occurred in. Use the\n * [[Log-getTransaction]] to get the [[TransactionResponse]].\n */\n transactionHash;\n /**\n * The block hash of the block this log occurred in. Use the\n * [[Log-getBlock]] to get the [[Block]].\n */\n blockHash;\n /**\n * The block number of the block this log occurred in. It is preferred\n * to use the [[Block-hash]] when fetching the related [[Block]],\n * since in the case of an orphaned block, the block at that height may\n * have changed.\n */\n blockNumber;\n /**\n * If the **Log** represents a block that was removed due to an orphaned\n * block, this will be true.\n *\n * This can only happen within an orphan event listener.\n */\n removed;\n /**\n * The address of the contract that emitted this log.\n */\n address;\n /**\n * The data included in this log when it was emitted.\n */\n data;\n /**\n * The indexed topics included in this log when it was emitted.\n *\n * All topics are included in the bloom filters, so they can be\n * efficiently filtered using the [[Provider-getLogs]] method.\n */\n topics;\n /**\n * The index within the block this log occurred at. This is generally\n * not useful to developers, but can be used with the various roots\n * to proof inclusion within a block.\n */\n index;\n /**\n * The index within the transaction of this log.\n */\n transactionIndex;\n /**\n * @_ignore:\n */\n constructor(log, provider) {\n this.provider = provider;\n const topics = Object.freeze(log.topics.slice());\n defineProperties(this, {\n transactionHash: log.transactionHash,\n blockHash: log.blockHash,\n blockNumber: log.blockNumber,\n removed: log.removed,\n address: log.address,\n data: log.data,\n topics,\n index: log.index,\n transactionIndex: log.transactionIndex,\n });\n }\n /**\n * Returns a JSON-compatible object.\n */\n toJSON() {\n const { address, blockHash, blockNumber, data, index, removed, topics, transactionHash, transactionIndex } = this;\n return {\n _type: \"log\",\n address, blockHash, blockNumber, data, index,\n removed, topics, transactionHash, transactionIndex\n };\n }\n /**\n * Returns the block that this log occurred in.\n */\n async getBlock() {\n const block = await this.provider.getBlock(this.blockHash);\n assert(!!block, \"failed to find transaction\", \"UNKNOWN_ERROR\", {});\n return block;\n }\n /**\n * Returns the transaction that this log occurred in.\n */\n async getTransaction() {\n const tx = await this.provider.getTransaction(this.transactionHash);\n assert(!!tx, \"failed to find transaction\", \"UNKNOWN_ERROR\", {});\n return tx;\n }\n /**\n * Returns the transaction receipt fot the transaction that this\n * log occurred in.\n */\n async getTransactionReceipt() {\n const receipt = await this.provider.getTransactionReceipt(this.transactionHash);\n assert(!!receipt, \"failed to find transaction receipt\", \"UNKNOWN_ERROR\", {});\n return receipt;\n }\n /**\n * @_ignore:\n */\n removedEvent() {\n return createRemovedLogFilter(this);\n }\n}\n//////////////////////\n// Transaction Receipt\n/*\nexport interface LegacyTransactionReceipt {\n byzantium: false;\n status: null;\n root: string;\n}\n\nexport interface ByzantiumTransactionReceipt {\n byzantium: true;\n status: number;\n root: null;\n}\n*/\n/**\n * A **TransactionReceipt** includes additional information about a\n * transaction that is only available after it has been mined.\n */\nexport class TransactionReceipt {\n /**\n * The provider connected to the log used to fetch additional details\n * if necessary.\n */\n provider;\n /**\n * The address the transaction was sent to.\n */\n to;\n /**\n * The sender of the transaction.\n */\n from;\n /**\n * The address of the contract if the transaction was directly\n * responsible for deploying one.\n *\n * This is non-null **only** if the ``to`` is empty and the ``data``\n * was successfully executed as initcode.\n */\n contractAddress;\n /**\n * The transaction hash.\n */\n hash;\n /**\n * The index of this transaction within the block transactions.\n */\n index;\n /**\n * The block hash of the [[Block]] this transaction was included in.\n */\n blockHash;\n /**\n * The block number of the [[Block]] this transaction was included in.\n */\n blockNumber;\n /**\n * The bloom filter bytes that represent all logs that occurred within\n * this transaction. This is generally not useful for most developers,\n * but can be used to validate the included logs.\n */\n logsBloom;\n /**\n * The actual amount of gas used by this transaction.\n *\n * When creating a transaction, the amount of gas that will be used can\n * only be approximated, but the sender must pay the gas fee for the\n * entire gas limit. After the transaction, the difference is refunded.\n */\n gasUsed;\n /**\n * The gas used for BLObs. See [[link-eip-4844]].\n */\n blobGasUsed;\n /**\n * The amount of gas used by all transactions within the block for this\n * and all transactions with a lower ``index``.\n *\n * This is generally not useful for developers but can be used to\n * validate certain aspects of execution.\n */\n cumulativeGasUsed;\n /**\n * The actual gas price used during execution.\n *\n * Due to the complexity of [[link-eip-1559]] this value can only\n * be caluclated after the transaction has been mined, snce the base\n * fee is protocol-enforced.\n */\n gasPrice;\n /**\n * The price paid per BLOB in gas. See [[link-eip-4844]].\n */\n blobGasPrice;\n /**\n * The [[link-eip-2718]] transaction type.\n */\n type;\n //readonly byzantium!: boolean;\n /**\n * The status of this transaction, indicating success (i.e. ``1``) or\n * a revert (i.e. ``0``).\n *\n * This is available in post-byzantium blocks, but some backends may\n * backfill this value.\n */\n status;\n /**\n * The root hash of this transaction.\n *\n * This is no present and was only included in pre-byzantium blocks, but\n * could be used to validate certain parts of the receipt.\n */\n root;\n #logs;\n /**\n * @_ignore:\n */\n constructor(tx, provider) {\n this.#logs = Object.freeze(tx.logs.map((log) => {\n return new Log(log, provider);\n }));\n let gasPrice = BN_0;\n if (tx.effectiveGasPrice != null) {\n gasPrice = tx.effectiveGasPrice;\n }\n else if (tx.gasPrice != null) {\n gasPrice = tx.gasPrice;\n }\n defineProperties(this, {\n provider,\n to: tx.to,\n from: tx.from,\n contractAddress: tx.contractAddress,\n hash: tx.hash,\n index: tx.index,\n blockHash: tx.blockHash,\n blockNumber: tx.blockNumber,\n logsBloom: tx.logsBloom,\n gasUsed: tx.gasUsed,\n cumulativeGasUsed: tx.cumulativeGasUsed,\n blobGasUsed: tx.blobGasUsed,\n gasPrice,\n blobGasPrice: tx.blobGasPrice,\n type: tx.type,\n //byzantium: tx.byzantium,\n status: tx.status,\n root: tx.root\n });\n }\n /**\n * The logs for this transaction.\n */\n get logs() { return this.#logs; }\n /**\n * Returns a JSON-compatible representation.\n */\n toJSON() {\n const { to, from, contractAddress, hash, index, blockHash, blockNumber, logsBloom, logs, //byzantium, \n status, root } = this;\n return {\n _type: \"TransactionReceipt\",\n blockHash, blockNumber,\n //byzantium, \n contractAddress,\n cumulativeGasUsed: toJson(this.cumulativeGasUsed),\n from,\n gasPrice: toJson(this.gasPrice),\n blobGasUsed: toJson(this.blobGasUsed),\n blobGasPrice: toJson(this.blobGasPrice),\n gasUsed: toJson(this.gasUsed),\n hash, index, logs, logsBloom, root, status, to\n };\n }\n /**\n * @_ignore:\n */\n get length() { return this.logs.length; }\n [Symbol.iterator]() {\n let index = 0;\n return {\n next: () => {\n if (index < this.length) {\n return { value: this.logs[index++], done: false };\n }\n return { value: undefined, done: true };\n }\n };\n }\n /**\n * The total fee for this transaction, in wei.\n */\n get fee() {\n return this.gasUsed * this.gasPrice;\n }\n /**\n * Resolves to the block this transaction occurred in.\n */\n async getBlock() {\n const block = await this.provider.getBlock(this.blockHash);\n if (block == null) {\n throw new Error(\"TODO\");\n }\n return block;\n }\n /**\n * Resolves to the transaction this transaction occurred in.\n */\n async getTransaction() {\n const tx = await this.provider.getTransaction(this.hash);\n if (tx == null) {\n throw new Error(\"TODO\");\n }\n return tx;\n }\n /**\n * Resolves to the return value of the execution of this transaction.\n *\n * Support for this feature is limited, as it requires an archive node\n * with the ``debug_`` or ``trace_`` API enabled.\n */\n async getResult() {\n return (await this.provider.getTransactionResult(this.hash));\n }\n /**\n * Resolves to the number of confirmations this transaction has.\n */\n async confirmations() {\n return (await this.provider.getBlockNumber()) - this.blockNumber + 1;\n }\n /**\n * @_ignore:\n */\n removedEvent() {\n return createRemovedTransactionFilter(this);\n }\n /**\n * @_ignore:\n */\n reorderedEvent(other) {\n assert(!other || other.isMined(), \"unmined 'other' transction cannot be orphaned\", \"UNSUPPORTED_OPERATION\", { operation: \"reorderedEvent(other)\" });\n return createReorderedTransactionFilter(this, other);\n }\n}\n/**\n * A **TransactionResponse** includes all properties about a transaction\n * that was sent to the network, which may or may not be included in a\n * block.\n *\n * The [[TransactionResponse-isMined]] can be used to check if the\n * transaction has been mined as well as type guard that the otherwise\n * possibly ``null`` properties are defined.\n */\nexport class TransactionResponse {\n /**\n * The provider this is connected to, which will influence how its\n * methods will resolve its async inspection methods.\n */\n provider;\n /**\n * The block number of the block that this transaction was included in.\n *\n * This is ``null`` for pending transactions.\n */\n blockNumber;\n /**\n * The blockHash of the block that this transaction was included in.\n *\n * This is ``null`` for pending transactions.\n */\n blockHash;\n /**\n * The index within the block that this transaction resides at.\n */\n index;\n /**\n * The transaction hash.\n */\n hash;\n /**\n * The [[link-eip-2718]] transaction envelope type. This is\n * ``0`` for legacy transactions types.\n */\n type;\n /**\n * The receiver of this transaction.\n *\n * If ``null``, then the transaction is an initcode transaction.\n * This means the result of executing the [[data]] will be deployed\n * as a new contract on chain (assuming it does not revert) and the\n * address may be computed using [[getCreateAddress]].\n */\n to;\n /**\n * The sender of this transaction. It is implicitly computed\n * from the transaction pre-image hash (as the digest) and the\n * [[signature]] using ecrecover.\n */\n from;\n /**\n * The nonce, which is used to prevent replay attacks and offer\n * a method to ensure transactions from a given sender are explicitly\n * ordered.\n *\n * When sending a transaction, this must be equal to the number of\n * transactions ever sent by [[from]].\n */\n nonce;\n /**\n * The maximum units of gas this transaction can consume. If execution\n * exceeds this, the entries transaction is reverted and the sender\n * is charged for the full amount, despite not state changes being made.\n */\n gasLimit;\n /**\n * The gas price can have various values, depending on the network.\n *\n * In modern networks, for transactions that are included this is\n * the //effective gas price// (the fee per gas that was actually\n * charged), while for transactions that have not been included yet\n * is the [[maxFeePerGas]].\n *\n * For legacy transactions, or transactions on legacy networks, this\n * is the fee that will be charged per unit of gas the transaction\n * consumes.\n */\n gasPrice;\n /**\n * The maximum priority fee (per unit of gas) to allow a\n * validator to charge the sender. This is inclusive of the\n * [[maxFeeFeePerGas]].\n */\n maxPriorityFeePerGas;\n /**\n * The maximum fee (per unit of gas) to allow this transaction\n * to charge the sender.\n */\n maxFeePerGas;\n /**\n * The [[link-eip-4844]] max fee per BLOb gas.\n */\n maxFeePerBlobGas;\n /**\n * The data.\n */\n data;\n /**\n * The value, in wei. Use [[formatEther]] to format this value\n * as ether.\n */\n value;\n /**\n * The chain ID.\n */\n chainId;\n /**\n * The signature.\n */\n signature;\n /**\n * The [[link-eip-2930]] access list for transaction types that\n * support it, otherwise ``null``.\n */\n accessList;\n /**\n * The [[link-eip-4844]] BLOb versioned hashes.\n */\n blobVersionedHashes;\n #startBlock;\n /**\n * @_ignore:\n */\n constructor(tx, provider) {\n this.provider = provider;\n this.blockNumber = (tx.blockNumber != null) ? tx.blockNumber : null;\n this.blockHash = (tx.blockHash != null) ? tx.blockHash : null;\n this.hash = tx.hash;\n this.index = tx.index;\n this.type = tx.type;\n this.from = tx.from;\n this.to = tx.to || null;\n this.gasLimit = tx.gasLimit;\n this.nonce = tx.nonce;\n this.data = tx.data;\n this.value = tx.value;\n this.gasPrice = tx.gasPrice;\n this.maxPriorityFeePerGas = (tx.maxPriorityFeePerGas != null) ? tx.maxPriorityFeePerGas : null;\n this.maxFeePerGas = (tx.maxFeePerGas != null) ? tx.maxFeePerGas : null;\n this.maxFeePerBlobGas = (tx.maxFeePerBlobGas != null) ? tx.maxFeePerBlobGas : null;\n this.chainId = tx.chainId;\n this.signature = tx.signature;\n this.accessList = (tx.accessList != null) ? tx.accessList : null;\n this.blobVersionedHashes = (tx.blobVersionedHashes != null) ? tx.blobVersionedHashes : null;\n this.#startBlock = -1;\n }\n /**\n * Returns a JSON-compatible representation of this transaction.\n */\n toJSON() {\n const { blockNumber, blockHash, index, hash, type, to, from, nonce, data, signature, accessList, blobVersionedHashes } = this;\n return {\n _type: \"TransactionResponse\",\n accessList, blockNumber, blockHash,\n blobVersionedHashes,\n chainId: toJson(this.chainId),\n data, from,\n gasLimit: toJson(this.gasLimit),\n gasPrice: toJson(this.gasPrice),\n hash,\n maxFeePerGas: toJson(this.maxFeePerGas),\n maxPriorityFeePerGas: toJson(this.maxPriorityFeePerGas),\n maxFeePerBlobGas: toJson(this.maxFeePerBlobGas),\n nonce, signature, to, index, type,\n value: toJson(this.value),\n };\n }\n /**\n * Resolves to the Block that this transaction was included in.\n *\n * This will return null if the transaction has not been included yet.\n */\n async getBlock() {\n let blockNumber = this.blockNumber;\n if (blockNumber == null) {\n const tx = await this.getTransaction();\n if (tx) {\n blockNumber = tx.blockNumber;\n }\n }\n if (blockNumber == null) {\n return null;\n }\n const block = this.provider.getBlock(blockNumber);\n if (block == null) {\n throw new Error(\"TODO\");\n }\n return block;\n }\n /**\n * Resolves to this transaction being re-requested from the\n * provider. This can be used if you have an unmined transaction\n * and wish to get an up-to-date populated instance.\n */\n async getTransaction() {\n return this.provider.getTransaction(this.hash);\n }\n /**\n * Resolve to the number of confirmations this transaction has.\n */\n async confirmations() {\n if (this.blockNumber == null) {\n const { tx, blockNumber } = await resolveProperties({\n tx: this.getTransaction(),\n blockNumber: this.provider.getBlockNumber()\n });\n // Not mined yet...\n if (tx == null || tx.blockNumber == null) {\n return 0;\n }\n return blockNumber - tx.blockNumber + 1;\n }\n const blockNumber = await this.provider.getBlockNumber();\n return blockNumber - this.blockNumber + 1;\n }\n /**\n * Resolves once this transaction has been mined and has\n * %%confirms%% blocks including it (default: ``1``) with an\n * optional %%timeout%%.\n *\n * This can resolve to ``null`` only if %%confirms%% is ``0``\n * and the transaction has not been mined, otherwise this will\n * wait until enough confirmations have completed.\n */\n async wait(_confirms, _timeout) {\n const confirms = (_confirms == null) ? 1 : _confirms;\n const timeout = (_timeout == null) ? 0 : _timeout;\n let startBlock = this.#startBlock;\n let nextScan = -1;\n let stopScanning = (startBlock === -1) ? true : false;\n const checkReplacement = async () => {\n // Get the current transaction count for this sender\n if (stopScanning) {\n return null;\n }\n const { blockNumber, nonce } = await resolveProperties({\n blockNumber: this.provider.getBlockNumber(),\n nonce: this.provider.getTransactionCount(this.from)\n });\n // No transaction or our nonce has not been mined yet; but we\n // can start scanning later when we do start\n if (nonce < this.nonce) {\n startBlock = blockNumber;\n return;\n }\n // We were mined; no replacement\n if (stopScanning) {\n return null;\n }\n const mined = await this.getTransaction();\n if (mined && mined.blockNumber != null) {\n return;\n }\n // We were replaced; start scanning for that transaction\n // Starting to scan; look back a few extra blocks for safety\n if (nextScan === -1) {\n nextScan = startBlock - 3;\n if (nextScan < this.#startBlock) {\n nextScan = this.#startBlock;\n }\n }\n while (nextScan <= blockNumber) {\n // Get the next block to scan\n if (stopScanning) {\n return null;\n }\n const block = await this.provider.getBlock(nextScan, true);\n // This should not happen; but we'll try again shortly\n if (block == null) {\n return;\n }\n // We were mined; no replacement\n for (const hash of block) {\n if (hash === this.hash) {\n return;\n }\n }\n // Search for the transaction that replaced us\n for (let i = 0; i < block.length; i++) {\n const tx = await block.getTransaction(i);\n if (tx.from === this.from && tx.nonce === this.nonce) {\n // Get the receipt\n if (stopScanning) {\n return null;\n }\n const receipt = await this.provider.getTransactionReceipt(tx.hash);\n // This should not happen; but we'll try again shortly\n if (receipt == null) {\n return;\n }\n // We will retry this on the next block (this case could be optimized)\n if ((blockNumber - receipt.blockNumber + 1) < confirms) {\n return;\n }\n // The reason we were replaced\n let reason = \"replaced\";\n if (tx.data === this.data && tx.to === this.to && tx.value === this.value) {\n reason = \"repriced\";\n }\n else if (tx.data === \"0x\" && tx.from === tx.to && tx.value === BN_0) {\n reason = \"cancelled\";\n }\n assert(false, \"transaction was replaced\", \"TRANSACTION_REPLACED\", {\n cancelled: (reason === \"replaced\" || reason === \"cancelled\"),\n reason,\n replacement: tx.replaceableTransaction(startBlock),\n hash: tx.hash,\n receipt\n });\n }\n }\n nextScan++;\n }\n return;\n };\n const checkReceipt = (receipt) => {\n if (receipt == null || receipt.status !== 0) {\n return receipt;\n }\n assert(false, \"transaction execution reverted\", \"CALL_EXCEPTION\", {\n action: \"sendTransaction\",\n data: null, reason: null, invocation: null, revert: null,\n transaction: {\n to: receipt.to,\n from: receipt.from,\n data: \"\" // @TODO: in v7, split out sendTransaction properties\n }, receipt\n });\n };\n const receipt = await this.provider.getTransactionReceipt(this.hash);\n if (confirms === 0) {\n return checkReceipt(receipt);\n }\n if (receipt) {\n if ((await receipt.confirmations()) >= confirms) {\n return checkReceipt(receipt);\n }\n }\n else {\n // Check for a replacement; throws if a replacement was found\n await checkReplacement();\n // Allow null only when the confirms is 0\n if (confirms === 0) {\n return null;\n }\n }\n const waiter = new Promise((resolve, reject) => {\n // List of things to cancel when we have a result (one way or the other)\n const cancellers = [];\n const cancel = () => { cancellers.forEach((c) => c()); };\n // On cancel, stop scanning for replacements\n cancellers.push(() => { stopScanning = true; });\n // Set up any timeout requested\n if (timeout > 0) {\n const timer = setTimeout(() => {\n cancel();\n reject(makeError(\"wait for transaction timeout\", \"TIMEOUT\"));\n }, timeout);\n cancellers.push(() => { clearTimeout(timer); });\n }\n const txListener = async (receipt) => {\n // Done; return it!\n if ((await receipt.confirmations()) >= confirms) {\n cancel();\n try {\n resolve(checkReceipt(receipt));\n }\n catch (error) {\n reject(error);\n }\n }\n };\n cancellers.push(() => { this.provider.off(this.hash, txListener); });\n this.provider.on(this.hash, txListener);\n // We support replacement detection; start checking\n if (startBlock >= 0) {\n const replaceListener = async () => {\n try {\n // Check for a replacement; this throws only if one is found\n await checkReplacement();\n }\n catch (error) {\n // We were replaced (with enough confirms); re-throw the error\n if (isError(error, \"TRANSACTION_REPLACED\")) {\n cancel();\n reject(error);\n return;\n }\n }\n // Rescheudle a check on the next block\n if (!stopScanning) {\n this.provider.once(\"block\", replaceListener);\n }\n };\n cancellers.push(() => { this.provider.off(\"block\", replaceListener); });\n this.provider.once(\"block\", replaceListener);\n }\n });\n return await waiter;\n }\n /**\n * Returns ``true`` if this transaction has been included.\n *\n * This is effective only as of the time the TransactionResponse\n * was instantiated. To get up-to-date information, use\n * [[getTransaction]].\n *\n * This provides a Type Guard that this transaction will have\n * non-null property values for properties that are null for\n * unmined transactions.\n */\n isMined() {\n return (this.blockHash != null);\n }\n /**\n * Returns true if the transaction is a legacy (i.e. ``type == 0``)\n * transaction.\n *\n * This provides a Type Guard that this transaction will have\n * the ``null``-ness for hardfork-specific properties set correctly.\n */\n isLegacy() {\n return (this.type === 0);\n }\n /**\n * Returns true if the transaction is a Berlin (i.e. ``type == 1``)\n * transaction. See [[link-eip-2070]].\n *\n * This provides a Type Guard that this transaction will have\n * the ``null``-ness for hardfork-specific properties set correctly.\n */\n isBerlin() {\n return (this.type === 1);\n }\n /**\n * Returns true if the transaction is a London (i.e. ``type == 2``)\n * transaction. See [[link-eip-1559]].\n *\n * This provides a Type Guard that this transaction will have\n * the ``null``-ness for hardfork-specific properties set correctly.\n */\n isLondon() {\n return (this.type === 2);\n }\n /**\n * Returns true if hte transaction is a Cancun (i.e. ``type == 3``)\n * transaction. See [[link-eip-4844]].\n */\n isCancun() {\n return (this.type === 3);\n }\n /**\n * Returns a filter which can be used to listen for orphan events\n * that evict this transaction.\n */\n removedEvent() {\n assert(this.isMined(), \"unmined transaction canot be orphaned\", \"UNSUPPORTED_OPERATION\", { operation: \"removeEvent()\" });\n return createRemovedTransactionFilter(this);\n }\n /**\n * Returns a filter which can be used to listen for orphan events\n * that re-order this event against %%other%%.\n */\n reorderedEvent(other) {\n assert(this.isMined(), \"unmined transaction canot be orphaned\", \"UNSUPPORTED_OPERATION\", { operation: \"removeEvent()\" });\n assert(!other || other.isMined(), \"unmined 'other' transaction canot be orphaned\", \"UNSUPPORTED_OPERATION\", { operation: \"removeEvent()\" });\n return createReorderedTransactionFilter(this, other);\n }\n /**\n * Returns a new TransactionResponse instance which has the ability to\n * detect (and throw an error) if the transaction is replaced, which\n * will begin scanning at %%startBlock%%.\n *\n * This should generally not be used by developers and is intended\n * primarily for internal use. Setting an incorrect %%startBlock%% can\n * have devastating performance consequences if used incorrectly.\n */\n replaceableTransaction(startBlock) {\n assertArgument(Number.isInteger(startBlock) && startBlock >= 0, \"invalid startBlock\", \"startBlock\", startBlock);\n const tx = new TransactionResponse(this, this.provider);\n tx.#startBlock = startBlock;\n return tx;\n }\n}\nfunction createOrphanedBlockFilter(block) {\n return { orphan: \"drop-block\", hash: block.hash, number: block.number };\n}\nfunction createReorderedTransactionFilter(tx, other) {\n return { orphan: \"reorder-transaction\", tx, other };\n}\nfunction createRemovedTransactionFilter(tx) {\n return { orphan: \"drop-transaction\", tx };\n}\nfunction createRemovedLogFilter(log) {\n return { orphan: \"drop-log\", log: {\n transactionHash: log.transactionHash,\n blockHash: log.blockHash,\n blockNumber: log.blockNumber,\n address: log.address,\n data: log.data,\n topics: Object.freeze(log.topics.slice()),\n index: log.index\n } };\n}\n//# sourceMappingURL=provider.js.map","// import from provider.ts instead of index.ts to prevent circular dep\n// from EtherscanProvider\nimport { Log, TransactionReceipt, TransactionResponse } from \"../providers/provider.js\";\nimport { defineProperties, EventPayload } from \"../utils/index.js\";\n/**\n * An **EventLog** contains additional properties parsed from the [[Log]].\n */\nexport class EventLog extends Log {\n /**\n * The Contract Interface.\n */\n interface;\n /**\n * The matching event.\n */\n fragment;\n /**\n * The parsed arguments passed to the event by ``emit``.\n */\n args;\n /**\n * @_ignore:\n */\n constructor(log, iface, fragment) {\n super(log, log.provider);\n const args = iface.decodeEventLog(fragment, log.data, log.topics);\n defineProperties(this, { args, fragment, interface: iface });\n }\n /**\n * The name of the event.\n */\n get eventName() { return this.fragment.name; }\n /**\n * The signature of the event.\n */\n get eventSignature() { return this.fragment.format(); }\n}\n/**\n * An **EventLog** contains additional properties parsed from the [[Log]].\n */\nexport class UndecodedEventLog extends Log {\n /**\n * The error encounted when trying to decode the log.\n */\n error;\n /**\n * @_ignore:\n */\n constructor(log, error) {\n super(log, log.provider);\n defineProperties(this, { error });\n }\n}\n/**\n * A **ContractTransactionReceipt** includes the parsed logs from a\n * [[TransactionReceipt]].\n */\nexport class ContractTransactionReceipt extends TransactionReceipt {\n #iface;\n /**\n * @_ignore:\n */\n constructor(iface, provider, tx) {\n super(tx, provider);\n this.#iface = iface;\n }\n /**\n * The parsed logs for any [[Log]] which has a matching event in the\n * Contract ABI.\n */\n get logs() {\n return super.logs.map((log) => {\n const fragment = log.topics.length ? this.#iface.getEvent(log.topics[0]) : null;\n if (fragment) {\n try {\n return new EventLog(log, this.#iface, fragment);\n }\n catch (error) {\n return new UndecodedEventLog(log, error);\n }\n }\n return log;\n });\n }\n}\n/**\n * A **ContractTransactionResponse** will return a\n * [[ContractTransactionReceipt]] when waited on.\n */\nexport class ContractTransactionResponse extends TransactionResponse {\n #iface;\n /**\n * @_ignore:\n */\n constructor(iface, provider, tx) {\n super(tx, provider);\n this.#iface = iface;\n }\n /**\n * Resolves once this transaction has been mined and has\n * %%confirms%% blocks including it (default: ``1``) with an\n * optional %%timeout%%.\n *\n * This can resolve to ``null`` only if %%confirms%% is ``0``\n * and the transaction has not been mined, otherwise this will\n * wait until enough confirmations have completed.\n */\n async wait(confirms, timeout) {\n const receipt = await super.wait(confirms, timeout);\n if (receipt == null) {\n return null;\n }\n return new ContractTransactionReceipt(this.#iface, this.provider, receipt);\n }\n}\n/**\n * A **ContractUnknownEventPayload** is included as the last parameter to\n * Contract Events when the event does not match any events in the ABI.\n */\nexport class ContractUnknownEventPayload extends EventPayload {\n /**\n * The log with no matching events.\n */\n log;\n /**\n * @_event:\n */\n constructor(contract, listener, filter, log) {\n super(contract, listener, filter);\n defineProperties(this, { log });\n }\n /**\n * Resolves to the block the event occured in.\n */\n async getBlock() {\n return await this.log.getBlock();\n }\n /**\n * Resolves to the transaction the event occured in.\n */\n async getTransaction() {\n return await this.log.getTransaction();\n }\n /**\n * Resolves to the transaction receipt the event occured in.\n */\n async getTransactionReceipt() {\n return await this.log.getTransactionReceipt();\n }\n}\n/**\n * A **ContractEventPayload** is included as the last parameter to\n * Contract Events when the event is known.\n */\nexport class ContractEventPayload extends ContractUnknownEventPayload {\n /**\n * @_ignore:\n */\n constructor(contract, listener, filter, fragment, _log) {\n super(contract, listener, filter, new EventLog(_log, contract.interface, fragment));\n const args = contract.interface.decodeEventLog(fragment, this.log.data, this.log.topics);\n defineProperties(this, { args, fragment });\n }\n /**\n * The event name.\n */\n get eventName() {\n return this.fragment.name;\n }\n /**\n * The event signature.\n */\n get eventSignature() {\n return this.fragment.format();\n }\n}\n//# sourceMappingURL=wrappers.js.map","import { Interface, Typed } from \"../abi/index.js\";\nimport { isAddressable, resolveAddress } from \"../address/index.js\";\n// import from provider.ts instead of index.ts to prevent circular dep\n// from EtherscanProvider\nimport { copyRequest, Log } from \"../providers/provider.js\";\nimport { defineProperties, getBigInt, isCallException, isHexString, resolveProperties, isError, makeError, assert, assertArgument } from \"../utils/index.js\";\nimport { ContractEventPayload, ContractUnknownEventPayload, ContractTransactionResponse, EventLog, UndecodedEventLog } from \"./wrappers.js\";\nconst BN_0 = BigInt(0);\nfunction canCall(value) {\n return (value && typeof (value.call) === \"function\");\n}\nfunction canEstimate(value) {\n return (value && typeof (value.estimateGas) === \"function\");\n}\nfunction canResolve(value) {\n return (value && typeof (value.resolveName) === \"function\");\n}\nfunction canSend(value) {\n return (value && typeof (value.sendTransaction) === \"function\");\n}\nfunction getResolver(value) {\n if (value != null) {\n if (canResolve(value)) {\n return value;\n }\n if (value.provider) {\n return value.provider;\n }\n }\n return undefined;\n}\nclass PreparedTopicFilter {\n #filter;\n fragment;\n constructor(contract, fragment, args) {\n defineProperties(this, { fragment });\n if (fragment.inputs.length < args.length) {\n throw new Error(\"too many arguments\");\n }\n // Recursively descend into args and resolve any addresses\n const runner = getRunner(contract.runner, \"resolveName\");\n const resolver = canResolve(runner) ? runner : null;\n this.#filter = (async function () {\n const resolvedArgs = await Promise.all(fragment.inputs.map((param, index) => {\n const arg = args[index];\n if (arg == null) {\n return null;\n }\n return param.walkAsync(args[index], (type, value) => {\n if (type === \"address\") {\n if (Array.isArray(value)) {\n return Promise.all(value.map((v) => resolveAddress(v, resolver)));\n }\n return resolveAddress(value, resolver);\n }\n return value;\n });\n }));\n return contract.interface.encodeFilterTopics(fragment, resolvedArgs);\n })();\n }\n getTopicFilter() {\n return this.#filter;\n }\n}\n// A = Arguments passed in as a tuple\n// R = The result type of the call (i.e. if only one return type,\n// the qualified type, otherwise Result)\n// D = The type the default call will return (i.e. R for view/pure,\n// TransactionResponse otherwise)\n//export interface ContractMethod = Array, R = any, D extends R | ContractTransactionResponse = ContractTransactionResponse> {\nfunction getRunner(value, feature) {\n if (value == null) {\n return null;\n }\n if (typeof (value[feature]) === \"function\") {\n return value;\n }\n if (value.provider && typeof (value.provider[feature]) === \"function\") {\n return value.provider;\n }\n return null;\n}\nfunction getProvider(value) {\n if (value == null) {\n return null;\n }\n return value.provider || null;\n}\n/**\n * @_ignore:\n */\nexport async function copyOverrides(arg, allowed) {\n // Make sure the overrides passed in are a valid overrides object\n const _overrides = Typed.dereference(arg, \"overrides\");\n assertArgument(typeof (_overrides) === \"object\", \"invalid overrides parameter\", \"overrides\", arg);\n // Create a shallow copy (we'll deep-ify anything needed during normalizing)\n const overrides = copyRequest(_overrides);\n assertArgument(overrides.to == null || (allowed || []).indexOf(\"to\") >= 0, \"cannot override to\", \"overrides.to\", overrides.to);\n assertArgument(overrides.data == null || (allowed || []).indexOf(\"data\") >= 0, \"cannot override data\", \"overrides.data\", overrides.data);\n // Resolve any from\n if (overrides.from) {\n overrides.from = overrides.from;\n }\n return overrides;\n}\n/**\n * @_ignore:\n */\nexport async function resolveArgs(_runner, inputs, args) {\n // Recursively descend into args and resolve any addresses\n const runner = getRunner(_runner, \"resolveName\");\n const resolver = canResolve(runner) ? runner : null;\n return await Promise.all(inputs.map((param, index) => {\n return param.walkAsync(args[index], (type, value) => {\n value = Typed.dereference(value, type);\n if (type === \"address\") {\n return resolveAddress(value, resolver);\n }\n return value;\n });\n }));\n}\nfunction buildWrappedFallback(contract) {\n const populateTransaction = async function (overrides) {\n // If an overrides was passed in, copy it and normalize the values\n const tx = (await copyOverrides(overrides, [\"data\"]));\n tx.to = await contract.getAddress();\n if (tx.from) {\n tx.from = await resolveAddress(tx.from, getResolver(contract.runner));\n }\n const iface = contract.interface;\n const noValue = (getBigInt((tx.value || BN_0), \"overrides.value\") === BN_0);\n const noData = ((tx.data || \"0x\") === \"0x\");\n if (iface.fallback && !iface.fallback.payable && iface.receive && !noData && !noValue) {\n assertArgument(false, \"cannot send data to receive or send value to non-payable fallback\", \"overrides\", overrides);\n }\n assertArgument(iface.fallback || noData, \"cannot send data to receive-only contract\", \"overrides.data\", tx.data);\n // Only allow payable contracts to set non-zero value\n const payable = iface.receive || (iface.fallback && iface.fallback.payable);\n assertArgument(payable || noValue, \"cannot send value to non-payable fallback\", \"overrides.value\", tx.value);\n // Only allow fallback contracts to set non-empty data\n assertArgument(iface.fallback || noData, \"cannot send data to receive-only contract\", \"overrides.data\", tx.data);\n return tx;\n };\n const staticCall = async function (overrides) {\n const runner = getRunner(contract.runner, \"call\");\n assert(canCall(runner), \"contract runner does not support calling\", \"UNSUPPORTED_OPERATION\", { operation: \"call\" });\n const tx = await populateTransaction(overrides);\n try {\n return await runner.call(tx);\n }\n catch (error) {\n if (isCallException(error) && error.data) {\n throw contract.interface.makeError(error.data, tx);\n }\n throw error;\n }\n };\n const send = async function (overrides) {\n const runner = contract.runner;\n assert(canSend(runner), \"contract runner does not support sending transactions\", \"UNSUPPORTED_OPERATION\", { operation: \"sendTransaction\" });\n const tx = await runner.sendTransaction(await populateTransaction(overrides));\n const provider = getProvider(contract.runner);\n // @TODO: the provider can be null; make a custom dummy provider that will throw a\n // meaningful error\n return new ContractTransactionResponse(contract.interface, provider, tx);\n };\n const estimateGas = async function (overrides) {\n const runner = getRunner(contract.runner, \"estimateGas\");\n assert(canEstimate(runner), \"contract runner does not support gas estimation\", \"UNSUPPORTED_OPERATION\", { operation: \"estimateGas\" });\n return await runner.estimateGas(await populateTransaction(overrides));\n };\n const method = async (overrides) => {\n return await send(overrides);\n };\n defineProperties(method, {\n _contract: contract,\n estimateGas,\n populateTransaction,\n send, staticCall\n });\n return method;\n}\nfunction buildWrappedMethod(contract, key) {\n const getFragment = function (...args) {\n const fragment = contract.interface.getFunction(key, args);\n assert(fragment, \"no matching fragment\", \"UNSUPPORTED_OPERATION\", {\n operation: \"fragment\",\n info: { key, args }\n });\n return fragment;\n };\n const populateTransaction = async function (...args) {\n const fragment = getFragment(...args);\n // If an overrides was passed in, copy it and normalize the values\n let overrides = {};\n if (fragment.inputs.length + 1 === args.length) {\n overrides = await copyOverrides(args.pop());\n if (overrides.from) {\n overrides.from = await resolveAddress(overrides.from, getResolver(contract.runner));\n }\n }\n if (fragment.inputs.length !== args.length) {\n throw new Error(\"internal error: fragment inputs doesn't match arguments; should not happen\");\n }\n const resolvedArgs = await resolveArgs(contract.runner, fragment.inputs, args);\n return Object.assign({}, overrides, await resolveProperties({\n to: contract.getAddress(),\n data: contract.interface.encodeFunctionData(fragment, resolvedArgs)\n }));\n };\n const staticCall = async function (...args) {\n const result = await staticCallResult(...args);\n if (result.length === 1) {\n return result[0];\n }\n return result;\n };\n const send = async function (...args) {\n const runner = contract.runner;\n assert(canSend(runner), \"contract runner does not support sending transactions\", \"UNSUPPORTED_OPERATION\", { operation: \"sendTransaction\" });\n const tx = await runner.sendTransaction(await populateTransaction(...args));\n const provider = getProvider(contract.runner);\n // @TODO: the provider can be null; make a custom dummy provider that will throw a\n // meaningful error\n return new ContractTransactionResponse(contract.interface, provider, tx);\n };\n const estimateGas = async function (...args) {\n const runner = getRunner(contract.runner, \"estimateGas\");\n assert(canEstimate(runner), \"contract runner does not support gas estimation\", \"UNSUPPORTED_OPERATION\", { operation: \"estimateGas\" });\n return await runner.estimateGas(await populateTransaction(...args));\n };\n const staticCallResult = async function (...args) {\n const runner = getRunner(contract.runner, \"call\");\n assert(canCall(runner), \"contract runner does not support calling\", \"UNSUPPORTED_OPERATION\", { operation: \"call\" });\n const tx = await populateTransaction(...args);\n let result = \"0x\";\n try {\n result = await runner.call(tx);\n }\n catch (error) {\n if (isCallException(error) && error.data) {\n throw contract.interface.makeError(error.data, tx);\n }\n throw error;\n }\n const fragment = getFragment(...args);\n return contract.interface.decodeFunctionResult(fragment, result);\n };\n const method = async (...args) => {\n const fragment = getFragment(...args);\n if (fragment.constant) {\n return await staticCall(...args);\n }\n return await send(...args);\n };\n defineProperties(method, {\n name: contract.interface.getFunctionName(key),\n _contract: contract, _key: key,\n getFragment,\n estimateGas,\n populateTransaction,\n send, staticCall, staticCallResult,\n });\n // Only works on non-ambiguous keys (refined fragment is always non-ambiguous)\n Object.defineProperty(method, \"fragment\", {\n configurable: false,\n enumerable: true,\n get: () => {\n const fragment = contract.interface.getFunction(key);\n assert(fragment, \"no matching fragment\", \"UNSUPPORTED_OPERATION\", {\n operation: \"fragment\",\n info: { key }\n });\n return fragment;\n }\n });\n return method;\n}\nfunction buildWrappedEvent(contract, key) {\n const getFragment = function (...args) {\n const fragment = contract.interface.getEvent(key, args);\n assert(fragment, \"no matching fragment\", \"UNSUPPORTED_OPERATION\", {\n operation: \"fragment\",\n info: { key, args }\n });\n return fragment;\n };\n const method = function (...args) {\n return new PreparedTopicFilter(contract, getFragment(...args), args);\n };\n defineProperties(method, {\n name: contract.interface.getEventName(key),\n _contract: contract, _key: key,\n getFragment\n });\n // Only works on non-ambiguous keys (refined fragment is always non-ambiguous)\n Object.defineProperty(method, \"fragment\", {\n configurable: false,\n enumerable: true,\n get: () => {\n const fragment = contract.interface.getEvent(key);\n assert(fragment, \"no matching fragment\", \"UNSUPPORTED_OPERATION\", {\n operation: \"fragment\",\n info: { key }\n });\n return fragment;\n }\n });\n return method;\n}\n// The combination of TypeScrype, Private Fields and Proxies makes\n// the world go boom; so we hide variables with some trickery keeping\n// a symbol attached to each BaseContract which its sub-class (even\n// via a Proxy) can reach and use to look up its internal values.\nconst internal = Symbol.for(\"_ethersInternal_contract\");\nconst internalValues = new WeakMap();\nfunction setInternal(contract, values) {\n internalValues.set(contract[internal], values);\n}\nfunction getInternal(contract) {\n return internalValues.get(contract[internal]);\n}\nfunction isDeferred(value) {\n return (value && typeof (value) === \"object\" && (\"getTopicFilter\" in value) &&\n (typeof (value.getTopicFilter) === \"function\") && value.fragment);\n}\nasync function getSubInfo(contract, event) {\n let topics;\n let fragment = null;\n // Convert named events to topicHash and get the fragment for\n // events which need deconstructing.\n if (Array.isArray(event)) {\n const topicHashify = function (name) {\n if (isHexString(name, 32)) {\n return name;\n }\n const fragment = contract.interface.getEvent(name);\n assertArgument(fragment, \"unknown fragment\", \"name\", name);\n return fragment.topicHash;\n };\n // Array of Topics and Names; e.g. `[ \"0x1234...89ab\", \"Transfer(address)\" ]`\n topics = event.map((e) => {\n if (e == null) {\n return null;\n }\n if (Array.isArray(e)) {\n return e.map(topicHashify);\n }\n return topicHashify(e);\n });\n }\n else if (event === \"*\") {\n topics = [null];\n }\n else if (typeof (event) === \"string\") {\n if (isHexString(event, 32)) {\n // Topic Hash\n topics = [event];\n }\n else {\n // Name or Signature; e.g. `\"Transfer\", `\"Transfer(address)\"`\n fragment = contract.interface.getEvent(event);\n assertArgument(fragment, \"unknown fragment\", \"event\", event);\n topics = [fragment.topicHash];\n }\n }\n else if (isDeferred(event)) {\n // Deferred Topic Filter; e.g. `contract.filter.Transfer(from)`\n topics = await event.getTopicFilter();\n }\n else if (\"fragment\" in event) {\n // ContractEvent; e.g. `contract.filter.Transfer`\n fragment = event.fragment;\n topics = [fragment.topicHash];\n }\n else {\n assertArgument(false, \"unknown event name\", \"event\", event);\n }\n // Normalize topics and sort TopicSets\n topics = topics.map((t) => {\n if (t == null) {\n return null;\n }\n if (Array.isArray(t)) {\n const items = Array.from(new Set(t.map((t) => t.toLowerCase())).values());\n if (items.length === 1) {\n return items[0];\n }\n items.sort();\n return items;\n }\n return t.toLowerCase();\n });\n const tag = topics.map((t) => {\n if (t == null) {\n return \"null\";\n }\n if (Array.isArray(t)) {\n return t.join(\"|\");\n }\n return t;\n }).join(\"&\");\n return { fragment, tag, topics };\n}\nasync function hasSub(contract, event) {\n const { subs } = getInternal(contract);\n return subs.get((await getSubInfo(contract, event)).tag) || null;\n}\nasync function getSub(contract, operation, event) {\n // Make sure our runner can actually subscribe to events\n const provider = getProvider(contract.runner);\n assert(provider, \"contract runner does not support subscribing\", \"UNSUPPORTED_OPERATION\", { operation });\n const { fragment, tag, topics } = await getSubInfo(contract, event);\n const { addr, subs } = getInternal(contract);\n let sub = subs.get(tag);\n if (!sub) {\n const address = (addr ? addr : contract);\n const filter = { address, topics };\n const listener = (log) => {\n let foundFragment = fragment;\n if (foundFragment == null) {\n try {\n foundFragment = contract.interface.getEvent(log.topics[0]);\n }\n catch (error) { }\n }\n // If fragment is null, we do not deconstruct the args to emit\n if (foundFragment) {\n const _foundFragment = foundFragment;\n const args = fragment ? contract.interface.decodeEventLog(fragment, log.data, log.topics) : [];\n emit(contract, event, args, (listener) => {\n return new ContractEventPayload(contract, listener, event, _foundFragment, log);\n });\n }\n else {\n emit(contract, event, [], (listener) => {\n return new ContractUnknownEventPayload(contract, listener, event, log);\n });\n }\n };\n let starting = [];\n const start = () => {\n if (starting.length) {\n return;\n }\n starting.push(provider.on(filter, listener));\n };\n const stop = async () => {\n if (starting.length == 0) {\n return;\n }\n let started = starting;\n starting = [];\n await Promise.all(started);\n provider.off(filter, listener);\n };\n sub = { tag, listeners: [], start, stop };\n subs.set(tag, sub);\n }\n return sub;\n}\n// We use this to ensure one emit resolves before firing the next to\n// ensure correct ordering (note this cannot throw and just adds the\n// notice to the event queu using setTimeout).\nlet lastEmit = Promise.resolve();\nasync function _emit(contract, event, args, payloadFunc) {\n await lastEmit;\n const sub = await hasSub(contract, event);\n if (!sub) {\n return false;\n }\n const count = sub.listeners.length;\n sub.listeners = sub.listeners.filter(({ listener, once }) => {\n const passArgs = Array.from(args);\n if (payloadFunc) {\n passArgs.push(payloadFunc(once ? null : listener));\n }\n try {\n listener.call(contract, ...passArgs);\n }\n catch (error) { }\n return !once;\n });\n if (sub.listeners.length === 0) {\n sub.stop();\n getInternal(contract).subs.delete(sub.tag);\n }\n return (count > 0);\n}\nasync function emit(contract, event, args, payloadFunc) {\n try {\n await lastEmit;\n }\n catch (error) { }\n const resultPromise = _emit(contract, event, args, payloadFunc);\n lastEmit = resultPromise;\n return await resultPromise;\n}\nconst passProperties = [\"then\"];\nexport class BaseContract {\n /**\n * The target to connect to.\n *\n * This can be an address, ENS name or any [[Addressable]], such as\n * another contract. To get the resovled address, use the ``getAddress``\n * method.\n */\n target;\n /**\n * The contract Interface.\n */\n interface;\n /**\n * The connected runner. This is generally a [[Provider]] or a\n * [[Signer]], which dictates what operations are supported.\n *\n * For example, a **Contract** connected to a [[Provider]] may\n * only execute read-only operations.\n */\n runner;\n /**\n * All the Events available on this contract.\n */\n filters;\n /**\n * @_ignore:\n */\n [internal];\n /**\n * The fallback or receive function if any.\n */\n fallback;\n /**\n * Creates a new contract connected to %%target%% with the %%abi%% and\n * optionally connected to a %%runner%% to perform operations on behalf\n * of.\n */\n constructor(target, abi, runner, _deployTx) {\n assertArgument(typeof (target) === \"string\" || isAddressable(target), \"invalid value for Contract target\", \"target\", target);\n if (runner == null) {\n runner = null;\n }\n const iface = Interface.from(abi);\n defineProperties(this, { target, runner, interface: iface });\n Object.defineProperty(this, internal, { value: {} });\n let addrPromise;\n let addr = null;\n let deployTx = null;\n if (_deployTx) {\n const provider = getProvider(runner);\n // @TODO: the provider can be null; make a custom dummy provider that will throw a\n // meaningful error\n deployTx = new ContractTransactionResponse(this.interface, provider, _deployTx);\n }\n let subs = new Map();\n // Resolve the target as the address\n if (typeof (target) === \"string\") {\n if (isHexString(target)) {\n addr = target;\n addrPromise = Promise.resolve(target);\n }\n else {\n const resolver = getRunner(runner, \"resolveName\");\n if (!canResolve(resolver)) {\n throw makeError(\"contract runner does not support name resolution\", \"UNSUPPORTED_OPERATION\", {\n operation: \"resolveName\"\n });\n }\n addrPromise = resolver.resolveName(target).then((addr) => {\n if (addr == null) {\n throw makeError(\"an ENS name used for a contract target must be correctly configured\", \"UNCONFIGURED_NAME\", {\n value: target\n });\n }\n getInternal(this).addr = addr;\n return addr;\n });\n }\n }\n else {\n addrPromise = target.getAddress().then((addr) => {\n if (addr == null) {\n throw new Error(\"TODO\");\n }\n getInternal(this).addr = addr;\n return addr;\n });\n }\n // Set our private values\n setInternal(this, { addrPromise, addr, deployTx, subs });\n // Add the event filters\n const filters = new Proxy({}, {\n get: (target, prop, receiver) => {\n // Pass important checks (like `then` for Promise) through\n if (typeof (prop) === \"symbol\" || passProperties.indexOf(prop) >= 0) {\n return Reflect.get(target, prop, receiver);\n }\n try {\n return this.getEvent(prop);\n }\n catch (error) {\n if (!isError(error, \"INVALID_ARGUMENT\") || error.argument !== \"key\") {\n throw error;\n }\n }\n return undefined;\n },\n has: (target, prop) => {\n // Pass important checks (like `then` for Promise) through\n if (passProperties.indexOf(prop) >= 0) {\n return Reflect.has(target, prop);\n }\n return Reflect.has(target, prop) || this.interface.hasEvent(String(prop));\n }\n });\n defineProperties(this, { filters });\n defineProperties(this, {\n fallback: ((iface.receive || iface.fallback) ? (buildWrappedFallback(this)) : null)\n });\n // Return a Proxy that will respond to functions\n return new Proxy(this, {\n get: (target, prop, receiver) => {\n if (typeof (prop) === \"symbol\" || prop in target || passProperties.indexOf(prop) >= 0) {\n return Reflect.get(target, prop, receiver);\n }\n // Undefined properties should return undefined\n try {\n return target.getFunction(prop);\n }\n catch (error) {\n if (!isError(error, \"INVALID_ARGUMENT\") || error.argument !== \"key\") {\n throw error;\n }\n }\n return undefined;\n },\n has: (target, prop) => {\n if (typeof (prop) === \"symbol\" || prop in target || passProperties.indexOf(prop) >= 0) {\n return Reflect.has(target, prop);\n }\n return target.interface.hasFunction(prop);\n }\n });\n }\n /**\n * Return a new Contract instance with the same target and ABI, but\n * a different %%runner%%.\n */\n connect(runner) {\n return new BaseContract(this.target, this.interface, runner);\n }\n /**\n * Return a new Contract instance with the same ABI and runner, but\n * a different %%target%%.\n */\n attach(target) {\n return new BaseContract(target, this.interface, this.runner);\n }\n /**\n * Return the resolved address of this Contract.\n */\n async getAddress() { return await getInternal(this).addrPromise; }\n /**\n * Return the deployed bytecode or null if no bytecode is found.\n */\n async getDeployedCode() {\n const provider = getProvider(this.runner);\n assert(provider, \"runner does not support .provider\", \"UNSUPPORTED_OPERATION\", { operation: \"getDeployedCode\" });\n const code = await provider.getCode(await this.getAddress());\n if (code === \"0x\") {\n return null;\n }\n return code;\n }\n /**\n * Resolve to this Contract once the bytecode has been deployed, or\n * resolve immediately if already deployed.\n */\n async waitForDeployment() {\n // We have the deployement transaction; just use that (throws if deployement fails)\n const deployTx = this.deploymentTransaction();\n if (deployTx) {\n await deployTx.wait();\n return this;\n }\n // Check for code\n const code = await this.getDeployedCode();\n if (code != null) {\n return this;\n }\n // Make sure we can subscribe to a provider event\n const provider = getProvider(this.runner);\n assert(provider != null, \"contract runner does not support .provider\", \"UNSUPPORTED_OPERATION\", { operation: \"waitForDeployment\" });\n return new Promise((resolve, reject) => {\n const checkCode = async () => {\n try {\n const code = await this.getDeployedCode();\n if (code != null) {\n return resolve(this);\n }\n provider.once(\"block\", checkCode);\n }\n catch (error) {\n reject(error);\n }\n };\n checkCode();\n });\n }\n /**\n * Return the transaction used to deploy this contract.\n *\n * This is only available if this instance was returned from a\n * [[ContractFactory]].\n */\n deploymentTransaction() {\n return getInternal(this).deployTx;\n }\n /**\n * Return the function for a given name. This is useful when a contract\n * method name conflicts with a JavaScript name such as ``prototype`` or\n * when using a Contract programatically.\n */\n getFunction(key) {\n if (typeof (key) !== \"string\") {\n key = key.format();\n }\n const func = buildWrappedMethod(this, key);\n return func;\n }\n /**\n * Return the event for a given name. This is useful when a contract\n * event name conflicts with a JavaScript name such as ``prototype`` or\n * when using a Contract programatically.\n */\n getEvent(key) {\n if (typeof (key) !== \"string\") {\n key = key.format();\n }\n return buildWrappedEvent(this, key);\n }\n /**\n * @_ignore:\n */\n async queryTransaction(hash) {\n throw new Error(\"@TODO\");\n }\n /*\n // @TODO: this is a non-backwards compatible change, but will be added\n // in v7 and in a potential SmartContract class in an upcoming\n // v6 release\n async getTransactionReceipt(hash: string): Promise {\n const provider = getProvider(this.runner);\n assert(provider, \"contract runner does not have a provider\",\n \"UNSUPPORTED_OPERATION\", { operation: \"queryTransaction\" });\n\n const receipt = await provider.getTransactionReceipt(hash);\n if (receipt == null) { return null; }\n\n return new ContractTransactionReceipt(this.interface, provider, receipt);\n }\n */\n /**\n * Provide historic access to event data for %%event%% in the range\n * %%fromBlock%% (default: ``0``) to %%toBlock%% (default: ``\"latest\"``)\n * inclusive.\n */\n async queryFilter(event, fromBlock, toBlock) {\n if (fromBlock == null) {\n fromBlock = 0;\n }\n if (toBlock == null) {\n toBlock = \"latest\";\n }\n const { addr, addrPromise } = getInternal(this);\n const address = (addr ? addr : (await addrPromise));\n const { fragment, topics } = await getSubInfo(this, event);\n const filter = { address, topics, fromBlock, toBlock };\n const provider = getProvider(this.runner);\n assert(provider, \"contract runner does not have a provider\", \"UNSUPPORTED_OPERATION\", { operation: \"queryFilter\" });\n return (await provider.getLogs(filter)).map((log) => {\n let foundFragment = fragment;\n if (foundFragment == null) {\n try {\n foundFragment = this.interface.getEvent(log.topics[0]);\n }\n catch (error) { }\n }\n if (foundFragment) {\n try {\n return new EventLog(log, this.interface, foundFragment);\n }\n catch (error) {\n return new UndecodedEventLog(log, error);\n }\n }\n return new Log(log, provider);\n });\n }\n /**\n * Add an event %%listener%% for the %%event%%.\n */\n async on(event, listener) {\n const sub = await getSub(this, \"on\", event);\n sub.listeners.push({ listener, once: false });\n sub.start();\n return this;\n }\n /**\n * Add an event %%listener%% for the %%event%%, but remove the listener\n * after it is fired once.\n */\n async once(event, listener) {\n const sub = await getSub(this, \"once\", event);\n sub.listeners.push({ listener, once: true });\n sub.start();\n return this;\n }\n /**\n * Emit an %%event%% calling all listeners with %%args%%.\n *\n * Resolves to ``true`` if any listeners were called.\n */\n async emit(event, ...args) {\n return await emit(this, event, args, null);\n }\n /**\n * Resolves to the number of listeners of %%event%% or the total number\n * of listeners if unspecified.\n */\n async listenerCount(event) {\n if (event) {\n const sub = await hasSub(this, event);\n if (!sub) {\n return 0;\n }\n return sub.listeners.length;\n }\n const { subs } = getInternal(this);\n let total = 0;\n for (const { listeners } of subs.values()) {\n total += listeners.length;\n }\n return total;\n }\n /**\n * Resolves to the listeners subscribed to %%event%% or all listeners\n * if unspecified.\n */\n async listeners(event) {\n if (event) {\n const sub = await hasSub(this, event);\n if (!sub) {\n return [];\n }\n return sub.listeners.map(({ listener }) => listener);\n }\n const { subs } = getInternal(this);\n let result = [];\n for (const { listeners } of subs.values()) {\n result = result.concat(listeners.map(({ listener }) => listener));\n }\n return result;\n }\n /**\n * Remove the %%listener%% from the listeners for %%event%% or remove\n * all listeners if unspecified.\n */\n async off(event, listener) {\n const sub = await hasSub(this, event);\n if (!sub) {\n return this;\n }\n if (listener) {\n const index = sub.listeners.map(({ listener }) => listener).indexOf(listener);\n if (index >= 0) {\n sub.listeners.splice(index, 1);\n }\n }\n if (listener == null || sub.listeners.length === 0) {\n sub.stop();\n getInternal(this).subs.delete(sub.tag);\n }\n return this;\n }\n /**\n * Remove all the listeners for %%event%% or remove all listeners if\n * unspecified.\n */\n async removeAllListeners(event) {\n if (event) {\n const sub = await hasSub(this, event);\n if (!sub) {\n return this;\n }\n sub.stop();\n getInternal(this).subs.delete(sub.tag);\n }\n else {\n const { subs } = getInternal(this);\n for (const { tag, stop } of subs.values()) {\n stop();\n subs.delete(tag);\n }\n }\n return this;\n }\n /**\n * Alias for [on].\n */\n async addListener(event, listener) {\n return await this.on(event, listener);\n }\n /**\n * Alias for [off].\n */\n async removeListener(event, listener) {\n return await this.off(event, listener);\n }\n /**\n * Create a new Class for the %%abi%%.\n */\n static buildClass(abi) {\n class CustomContract extends BaseContract {\n constructor(address, runner = null) {\n super(address, abi, runner);\n }\n }\n return CustomContract;\n }\n ;\n /**\n * Create a new BaseContract with a specified Interface.\n */\n static from(target, abi, runner) {\n if (runner == null) {\n runner = null;\n }\n const contract = new this(target, abi, runner);\n return contract;\n }\n}\nfunction _ContractBase() {\n return BaseContract;\n}\n/**\n * A [[BaseContract]] with no type guards on its methods or events.\n */\nexport class Contract extends _ContractBase() {\n}\n//# sourceMappingURL=contract.js.map","import { Interface } from \"../abi/index.js\";\nimport { getCreateAddress } from \"../address/index.js\";\nimport { concat, defineProperties, getBytes, hexlify, assert, assertArgument } from \"../utils/index.js\";\nimport { BaseContract, copyOverrides, resolveArgs } from \"./contract.js\";\n// A = Arguments to the constructor\n// I = Interface of deployed contracts\n/**\n * A **ContractFactory** is used to deploy a Contract to the blockchain.\n */\nexport class ContractFactory {\n /**\n * The Contract Interface.\n */\n interface;\n /**\n * The Contract deployment bytecode. Often called the initcode.\n */\n bytecode;\n /**\n * The ContractRunner to deploy the Contract as.\n */\n runner;\n /**\n * Create a new **ContractFactory** with %%abi%% and %%bytecode%%,\n * optionally connected to %%runner%%.\n *\n * The %%bytecode%% may be the ``bytecode`` property within the\n * standard Solidity JSON output.\n */\n constructor(abi, bytecode, runner) {\n const iface = Interface.from(abi);\n // Dereference Solidity bytecode objects and allow a missing `0x`-prefix\n if (bytecode instanceof Uint8Array) {\n bytecode = hexlify(getBytes(bytecode));\n }\n else {\n if (typeof (bytecode) === \"object\") {\n bytecode = bytecode.object;\n }\n if (!bytecode.startsWith(\"0x\")) {\n bytecode = \"0x\" + bytecode;\n }\n bytecode = hexlify(getBytes(bytecode));\n }\n defineProperties(this, {\n bytecode, interface: iface, runner: (runner || null)\n });\n }\n attach(target) {\n return new BaseContract(target, this.interface, this.runner);\n }\n /**\n * Resolves to the transaction to deploy the contract, passing %%args%%\n * into the constructor.\n */\n async getDeployTransaction(...args) {\n let overrides = {};\n const fragment = this.interface.deploy;\n if (fragment.inputs.length + 1 === args.length) {\n overrides = await copyOverrides(args.pop());\n }\n if (fragment.inputs.length !== args.length) {\n throw new Error(\"incorrect number of arguments to constructor\");\n }\n const resolvedArgs = await resolveArgs(this.runner, fragment.inputs, args);\n const data = concat([this.bytecode, this.interface.encodeDeploy(resolvedArgs)]);\n return Object.assign({}, overrides, { data });\n }\n /**\n * Resolves to the Contract deployed by passing %%args%% into the\n * constructor.\n *\n * This will resolve to the Contract before it has been deployed to the\n * network, so the [[BaseContract-waitForDeployment]] should be used before\n * sending any transactions to it.\n */\n async deploy(...args) {\n const tx = await this.getDeployTransaction(...args);\n assert(this.runner && typeof (this.runner.sendTransaction) === \"function\", \"factory runner does not support sending transactions\", \"UNSUPPORTED_OPERATION\", {\n operation: \"sendTransaction\"\n });\n const sentTx = await this.runner.sendTransaction(tx);\n const address = getCreateAddress(sentTx);\n return new BaseContract(address, this.interface, this.runner, sentTx);\n }\n /**\n * Return a new **ContractFactory** with the same ABI and bytecode,\n * but connected to %%runner%%.\n */\n connect(runner) {\n return new ContractFactory(this.interface, this.bytecode, runner);\n }\n /**\n * Create a new **ContractFactory** from the standard Solidity JSON output.\n */\n static fromSolidity(output, runner) {\n assertArgument(output != null, \"bad compiler output\", \"output\", output);\n if (typeof (output) === \"string\") {\n output = JSON.parse(output);\n }\n const abi = output.abi;\n let bytecode = \"\";\n if (output.bytecode) {\n bytecode = output.bytecode;\n }\n else if (output.evm && output.evm.bytecode) {\n bytecode = output.evm.bytecode;\n }\n return new this(abi, bytecode, runner);\n }\n}\n//# sourceMappingURL=factory.js.map","/**\n * ENS is a service which allows easy-to-remember names to map to\n * network addresses.\n *\n * @_section: api/providers/ens-resolver:ENS Resolver [about-ens-rsolver]\n */\nimport { getAddress } from \"../address/index.js\";\nimport { ZeroAddress } from \"../constants/index.js\";\nimport { Contract } from \"../contract/index.js\";\nimport { dnsEncode, namehash } from \"../hash/index.js\";\nimport { hexlify, isHexString, toBeHex, defineProperties, encodeBase58, assert, assertArgument, isError, FetchRequest } from \"../utils/index.js\";\n// @TODO: This should use the fetch-data:ipfs gateway\n// Trim off the ipfs:// prefix and return the default gateway URL\nfunction getIpfsLink(link) {\n if (link.match(/^ipfs:\\/\\/ipfs\\//i)) {\n link = link.substring(12);\n }\n else if (link.match(/^ipfs:\\/\\//i)) {\n link = link.substring(7);\n }\n else {\n assertArgument(false, \"unsupported IPFS format\", \"link\", link);\n }\n return `https:/\\/gateway.ipfs.io/ipfs/${link}`;\n}\n;\n;\n/**\n * A provider plugin super-class for processing multicoin address types.\n */\nexport class MulticoinProviderPlugin {\n /**\n * The name.\n */\n name;\n /**\n * Creates a new **MulticoinProviderPluing** for %%name%%.\n */\n constructor(name) {\n defineProperties(this, { name });\n }\n connect(proivder) {\n return this;\n }\n /**\n * Returns ``true`` if %%coinType%% is supported by this plugin.\n */\n supportsCoinType(coinType) {\n return false;\n }\n /**\n * Resovles to the encoded %%address%% for %%coinType%%.\n */\n async encodeAddress(coinType, address) {\n throw new Error(\"unsupported coin\");\n }\n /**\n * Resovles to the decoded %%data%% for %%coinType%%.\n */\n async decodeAddress(coinType, data) {\n throw new Error(\"unsupported coin\");\n }\n}\nconst BasicMulticoinPluginId = \"org.ethers.plugins.provider.BasicMulticoin\";\n/**\n * A **BasicMulticoinProviderPlugin** provides service for common\n * coin types, which do not require additional libraries to encode or\n * decode.\n */\nexport class BasicMulticoinProviderPlugin extends MulticoinProviderPlugin {\n /**\n * Creates a new **BasicMulticoinProviderPlugin**.\n */\n constructor() {\n super(BasicMulticoinPluginId);\n }\n}\nconst matcherIpfs = new RegExp(\"^(ipfs):/\\/(.*)$\", \"i\");\nconst matchers = [\n new RegExp(\"^(https):/\\/(.*)$\", \"i\"),\n new RegExp(\"^(data):(.*)$\", \"i\"),\n matcherIpfs,\n new RegExp(\"^eip155:[0-9]+/(erc[0-9]+):(.*)$\", \"i\"),\n];\n/**\n * A connected object to a resolved ENS name resolver, which can be\n * used to query additional details.\n */\nexport class EnsResolver {\n /**\n * The connected provider.\n */\n provider;\n /**\n * The address of the resolver.\n */\n address;\n /**\n * The name this resolver was resolved against.\n */\n name;\n // For EIP-2544 names, the ancestor that provided the resolver\n #supports2544;\n #resolver;\n constructor(provider, address, name) {\n defineProperties(this, { provider, address, name });\n this.#supports2544 = null;\n this.#resolver = new Contract(address, [\n \"function supportsInterface(bytes4) view returns (bool)\",\n \"function resolve(bytes, bytes) view returns (bytes)\",\n \"function addr(bytes32) view returns (address)\",\n \"function addr(bytes32, uint) view returns (bytes)\",\n \"function text(bytes32, string) view returns (string)\",\n \"function contenthash(bytes32) view returns (bytes)\",\n ], provider);\n }\n /**\n * Resolves to true if the resolver supports wildcard resolution.\n */\n async supportsWildcard() {\n if (this.#supports2544 == null) {\n this.#supports2544 = (async () => {\n try {\n return await this.#resolver.supportsInterface(\"0x9061b923\");\n }\n catch (error) {\n // Wildcard resolvers must understand supportsInterface\n // and return true.\n if (isError(error, \"CALL_EXCEPTION\")) {\n return false;\n }\n // Let future attempts try again...\n this.#supports2544 = null;\n throw error;\n }\n })();\n }\n return await this.#supports2544;\n }\n async #fetch(funcName, params) {\n params = (params || []).slice();\n const iface = this.#resolver.interface;\n // The first parameters is always the nodehash\n params.unshift(namehash(this.name));\n let fragment = null;\n if (await this.supportsWildcard()) {\n fragment = iface.getFunction(funcName);\n assert(fragment, \"missing fragment\", \"UNKNOWN_ERROR\", {\n info: { funcName }\n });\n params = [\n dnsEncode(this.name, 255),\n iface.encodeFunctionData(fragment, params)\n ];\n funcName = \"resolve(bytes,bytes)\";\n }\n params.push({\n enableCcipRead: true\n });\n try {\n const result = await this.#resolver[funcName](...params);\n if (fragment) {\n return iface.decodeFunctionResult(fragment, result)[0];\n }\n return result;\n }\n catch (error) {\n if (!isError(error, \"CALL_EXCEPTION\")) {\n throw error;\n }\n }\n return null;\n }\n /**\n * Resolves to the address for %%coinType%% or null if the\n * provided %%coinType%% has not been configured.\n */\n async getAddress(coinType) {\n if (coinType == null) {\n coinType = 60;\n }\n if (coinType === 60) {\n try {\n const result = await this.#fetch(\"addr(bytes32)\");\n // No address\n if (result == null || result === ZeroAddress) {\n return null;\n }\n return result;\n }\n catch (error) {\n if (isError(error, \"CALL_EXCEPTION\")) {\n return null;\n }\n throw error;\n }\n }\n // Try decoding its EVM canonical chain as an EVM chain address first\n if (coinType >= 0 && coinType < 0x80000000) {\n let ethCoinType = coinType + 0x80000000;\n const data = await this.#fetch(\"addr(bytes32,uint)\", [ethCoinType]);\n if (isHexString(data, 20)) {\n return getAddress(data);\n }\n }\n let coinPlugin = null;\n for (const plugin of this.provider.plugins) {\n if (!(plugin instanceof MulticoinProviderPlugin)) {\n continue;\n }\n if (plugin.supportsCoinType(coinType)) {\n coinPlugin = plugin;\n break;\n }\n }\n if (coinPlugin == null) {\n return null;\n }\n // keccak256(\"addr(bytes32,uint256\")\n const data = await this.#fetch(\"addr(bytes32,uint)\", [coinType]);\n // No address\n if (data == null || data === \"0x\") {\n return null;\n }\n // Compute the address\n const address = await coinPlugin.decodeAddress(coinType, data);\n if (address != null) {\n return address;\n }\n assert(false, `invalid coin data`, \"UNSUPPORTED_OPERATION\", {\n operation: `getAddress(${coinType})`,\n info: { coinType, data }\n });\n }\n /**\n * Resolves to the EIP-634 text record for %%key%%, or ``null``\n * if unconfigured.\n */\n async getText(key) {\n const data = await this.#fetch(\"text(bytes32,string)\", [key]);\n if (data == null || data === \"0x\") {\n return null;\n }\n return data;\n }\n /**\n * Rsolves to the content-hash or ``null`` if unconfigured.\n */\n async getContentHash() {\n // keccak256(\"contenthash()\")\n const data = await this.#fetch(\"contenthash(bytes32)\");\n // No contenthash\n if (data == null || data === \"0x\") {\n return null;\n }\n // IPFS (CID: 1, Type: 70=DAG-PB, 72=libp2p-key)\n const ipfs = data.match(/^0x(e3010170|e5010172)(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);\n if (ipfs) {\n const scheme = (ipfs[1] === \"e3010170\") ? \"ipfs\" : \"ipns\";\n const length = parseInt(ipfs[4], 16);\n if (ipfs[5].length === length * 2) {\n return `${scheme}:/\\/${encodeBase58(\"0x\" + ipfs[2])}`;\n }\n }\n // Swarm (CID: 1, Type: swarm-manifest; hash/length hard-coded to keccak256/32)\n const swarm = data.match(/^0xe40101fa011b20([0-9a-f]*)$/);\n if (swarm && swarm[1].length === 64) {\n return `bzz:/\\/${swarm[1]}`;\n }\n assert(false, `invalid or unsupported content hash data`, \"UNSUPPORTED_OPERATION\", {\n operation: \"getContentHash()\",\n info: { data }\n });\n }\n /**\n * Resolves to the avatar url or ``null`` if the avatar is either\n * unconfigured or incorrectly configured (e.g. references an NFT\n * not owned by the address).\n *\n * If diagnosing issues with configurations, the [[_getAvatar]]\n * method may be useful.\n */\n async getAvatar() {\n const avatar = await this._getAvatar();\n return avatar.url;\n }\n /**\n * When resolving an avatar, there are many steps involved, such\n * fetching metadata and possibly validating ownership of an\n * NFT.\n *\n * This method can be used to examine each step and the value it\n * was working from.\n */\n async _getAvatar() {\n const linkage = [{ type: \"name\", value: this.name }];\n try {\n // test data for ricmoo.eth\n //const avatar = \"eip155:1/erc721:0x265385c7f4132228A0d54EB1A9e7460b91c0cC68/29233\";\n const avatar = await this.getText(\"avatar\");\n if (avatar == null) {\n linkage.push({ type: \"!avatar\", value: \"\" });\n return { url: null, linkage };\n }\n linkage.push({ type: \"avatar\", value: avatar });\n for (let i = 0; i < matchers.length; i++) {\n const match = avatar.match(matchers[i]);\n if (match == null) {\n continue;\n }\n const scheme = match[1].toLowerCase();\n switch (scheme) {\n case \"https\":\n case \"data\":\n linkage.push({ type: \"url\", value: avatar });\n return { linkage, url: avatar };\n case \"ipfs\": {\n const url = getIpfsLink(avatar);\n linkage.push({ type: \"ipfs\", value: avatar });\n linkage.push({ type: \"url\", value: url });\n return { linkage, url };\n }\n case \"erc721\":\n case \"erc1155\": {\n // Depending on the ERC type, use tokenURI(uint256) or url(uint256)\n const selector = (scheme === \"erc721\") ? \"tokenURI(uint256)\" : \"uri(uint256)\";\n linkage.push({ type: scheme, value: avatar });\n // The owner of this name\n const owner = await this.getAddress();\n if (owner == null) {\n linkage.push({ type: \"!owner\", value: \"\" });\n return { url: null, linkage };\n }\n const comps = (match[2] || \"\").split(\"/\");\n if (comps.length !== 2) {\n linkage.push({ type: `!${scheme}caip`, value: (match[2] || \"\") });\n return { url: null, linkage };\n }\n const tokenId = comps[1];\n const contract = new Contract(comps[0], [\n // ERC-721\n \"function tokenURI(uint) view returns (string)\",\n \"function ownerOf(uint) view returns (address)\",\n // ERC-1155\n \"function uri(uint) view returns (string)\",\n \"function balanceOf(address, uint256) view returns (uint)\"\n ], this.provider);\n // Check that this account owns the token\n if (scheme === \"erc721\") {\n const tokenOwner = await contract.ownerOf(tokenId);\n if (owner !== tokenOwner) {\n linkage.push({ type: \"!owner\", value: tokenOwner });\n return { url: null, linkage };\n }\n linkage.push({ type: \"owner\", value: tokenOwner });\n }\n else if (scheme === \"erc1155\") {\n const balance = await contract.balanceOf(owner, tokenId);\n if (!balance) {\n linkage.push({ type: \"!balance\", value: \"0\" });\n return { url: null, linkage };\n }\n linkage.push({ type: \"balance\", value: balance.toString() });\n }\n // Call the token contract for the metadata URL\n let metadataUrl = await contract[selector](tokenId);\n if (metadataUrl == null || metadataUrl === \"0x\") {\n linkage.push({ type: \"!metadata-url\", value: \"\" });\n return { url: null, linkage };\n }\n linkage.push({ type: \"metadata-url-base\", value: metadataUrl });\n // ERC-1155 allows a generic {id} in the URL\n if (scheme === \"erc1155\") {\n metadataUrl = metadataUrl.replace(\"{id}\", toBeHex(tokenId, 32).substring(2));\n linkage.push({ type: \"metadata-url-expanded\", value: metadataUrl });\n }\n // Transform IPFS metadata links\n if (metadataUrl.match(/^ipfs:/i)) {\n metadataUrl = getIpfsLink(metadataUrl);\n }\n linkage.push({ type: \"metadata-url\", value: metadataUrl });\n // Get the token metadata\n let metadata = {};\n const response = await (new FetchRequest(metadataUrl)).send();\n response.assertOk();\n try {\n metadata = response.bodyJson;\n }\n catch (error) {\n try {\n linkage.push({ type: \"!metadata\", value: response.bodyText });\n }\n catch (error) {\n const bytes = response.body;\n if (bytes) {\n linkage.push({ type: \"!metadata\", value: hexlify(bytes) });\n }\n return { url: null, linkage };\n }\n return { url: null, linkage };\n }\n if (!metadata) {\n linkage.push({ type: \"!metadata\", value: \"\" });\n return { url: null, linkage };\n }\n linkage.push({ type: \"metadata\", value: JSON.stringify(metadata) });\n // Pull the image URL out\n let imageUrl = metadata.image;\n if (typeof (imageUrl) !== \"string\") {\n linkage.push({ type: \"!imageUrl\", value: \"\" });\n return { url: null, linkage };\n }\n if (imageUrl.match(/^(https:\\/\\/|data:)/i)) {\n // Allow\n }\n else {\n // Transform IPFS link to gateway\n const ipfs = imageUrl.match(matcherIpfs);\n if (ipfs == null) {\n linkage.push({ type: \"!imageUrl-ipfs\", value: imageUrl });\n return { url: null, linkage };\n }\n linkage.push({ type: \"imageUrl-ipfs\", value: imageUrl });\n imageUrl = getIpfsLink(imageUrl);\n }\n linkage.push({ type: \"url\", value: imageUrl });\n return { linkage, url: imageUrl };\n }\n }\n }\n }\n catch (error) { }\n return { linkage, url: null };\n }\n static async getEnsAddress(provider) {\n const network = await provider.getNetwork();\n const ensPlugin = network.getPlugin(\"org.ethers.plugins.network.Ens\");\n // No ENS...\n assert(ensPlugin, \"network does not support ENS\", \"UNSUPPORTED_OPERATION\", {\n operation: \"getEnsAddress\", info: { network }\n });\n return ensPlugin.address;\n }\n static async #getResolver(provider, name) {\n const ensAddr = await EnsResolver.getEnsAddress(provider);\n try {\n const contract = new Contract(ensAddr, [\n \"function resolver(bytes32) view returns (address)\"\n ], provider);\n const addr = await contract.resolver(namehash(name), {\n enableCcipRead: true\n });\n if (addr === ZeroAddress) {\n return null;\n }\n return addr;\n }\n catch (error) {\n // ENS registry cannot throw errors on resolver(bytes32),\n // so probably a link error\n throw error;\n }\n return null;\n }\n /**\n * Resolve to the ENS resolver for %%name%% using %%provider%% or\n * ``null`` if unconfigured.\n */\n static async fromName(provider, name) {\n let currentName = name;\n while (true) {\n if (currentName === \"\" || currentName === \".\") {\n return null;\n }\n // Optimization since the eth node cannot change and does\n // not have a wildcard resolver\n if (name !== \"eth\" && currentName === \"eth\") {\n return null;\n }\n // Check the current node for a resolver\n const addr = await EnsResolver.#getResolver(provider, currentName);\n // Found a resolver!\n if (addr != null) {\n const resolver = new EnsResolver(provider, addr, name);\n // Legacy resolver found, using EIP-2544 so it isn't safe to use\n if (currentName !== name && !(await resolver.supportsWildcard())) {\n return null;\n }\n return resolver;\n }\n // Get the parent node\n currentName = currentName.split(\".\").slice(1).join(\".\");\n }\n }\n}\n//# sourceMappingURL=ens-resolver.js.map","/**\n * @_ignore\n */\nimport { getAddress, getCreateAddress } from \"../address/index.js\";\nimport { Signature } from \"../crypto/index.js\";\nimport { accessListify } from \"../transaction/index.js\";\nimport { getBigInt, getNumber, hexlify, isHexString, zeroPadValue, assert, assertArgument } from \"../utils/index.js\";\nconst BN_0 = BigInt(0);\nexport function allowNull(format, nullValue) {\n return (function (value) {\n if (value == null) {\n return nullValue;\n }\n return format(value);\n });\n}\nexport function arrayOf(format, allowNull) {\n return ((array) => {\n if (allowNull && array == null) {\n return null;\n }\n if (!Array.isArray(array)) {\n throw new Error(\"not an array\");\n }\n return array.map((i) => format(i));\n });\n}\n// Requires an object which matches a fleet of other formatters\n// Any FormatFunc may return `undefined` to have the value omitted\n// from the result object. Calls preserve `this`.\nexport function object(format, altNames) {\n return ((value) => {\n const result = {};\n for (const key in format) {\n let srcKey = key;\n if (altNames && key in altNames && !(srcKey in value)) {\n for (const altKey of altNames[key]) {\n if (altKey in value) {\n srcKey = altKey;\n break;\n }\n }\n }\n try {\n const nv = format[key](value[srcKey]);\n if (nv !== undefined) {\n result[key] = nv;\n }\n }\n catch (error) {\n const message = (error instanceof Error) ? error.message : \"not-an-error\";\n assert(false, `invalid value for value.${key} (${message})`, \"BAD_DATA\", { value });\n }\n }\n return result;\n });\n}\nexport function formatBoolean(value) {\n switch (value) {\n case true:\n case \"true\":\n return true;\n case false:\n case \"false\":\n return false;\n }\n assertArgument(false, `invalid boolean; ${JSON.stringify(value)}`, \"value\", value);\n}\nexport function formatData(value) {\n assertArgument(isHexString(value, true), \"invalid data\", \"value\", value);\n return value;\n}\nexport function formatHash(value) {\n assertArgument(isHexString(value, 32), \"invalid hash\", \"value\", value);\n return value;\n}\nexport function formatUint256(value) {\n if (!isHexString(value)) {\n throw new Error(\"invalid uint256\");\n }\n return zeroPadValue(value, 32);\n}\nconst _formatLog = object({\n address: getAddress,\n blockHash: formatHash,\n blockNumber: getNumber,\n data: formatData,\n index: getNumber,\n removed: allowNull(formatBoolean, false),\n topics: arrayOf(formatHash),\n transactionHash: formatHash,\n transactionIndex: getNumber,\n}, {\n index: [\"logIndex\"]\n});\nexport function formatLog(value) {\n return _formatLog(value);\n}\nconst _formatBlock = object({\n hash: allowNull(formatHash),\n parentHash: formatHash,\n parentBeaconBlockRoot: allowNull(formatHash, null),\n number: getNumber,\n timestamp: getNumber,\n nonce: allowNull(formatData),\n difficulty: getBigInt,\n gasLimit: getBigInt,\n gasUsed: getBigInt,\n stateRoot: allowNull(formatHash, null),\n receiptsRoot: allowNull(formatHash, null),\n blobGasUsed: allowNull(getBigInt, null),\n excessBlobGas: allowNull(getBigInt, null),\n miner: allowNull(getAddress),\n extraData: formatData,\n baseFeePerGas: allowNull(getBigInt)\n});\nexport function formatBlock(value) {\n const result = _formatBlock(value);\n result.transactions = value.transactions.map((tx) => {\n if (typeof (tx) === \"string\") {\n return tx;\n }\n return formatTransactionResponse(tx);\n });\n return result;\n}\nconst _formatReceiptLog = object({\n transactionIndex: getNumber,\n blockNumber: getNumber,\n transactionHash: formatHash,\n address: getAddress,\n topics: arrayOf(formatHash),\n data: formatData,\n index: getNumber,\n blockHash: formatHash,\n}, {\n index: [\"logIndex\"]\n});\nexport function formatReceiptLog(value) {\n return _formatReceiptLog(value);\n}\nconst _formatTransactionReceipt = object({\n to: allowNull(getAddress, null),\n from: allowNull(getAddress, null),\n contractAddress: allowNull(getAddress, null),\n // should be allowNull(hash), but broken-EIP-658 support is handled in receipt\n index: getNumber,\n root: allowNull(hexlify),\n gasUsed: getBigInt,\n blobGasUsed: allowNull(getBigInt, null),\n logsBloom: allowNull(formatData),\n blockHash: formatHash,\n hash: formatHash,\n logs: arrayOf(formatReceiptLog),\n blockNumber: getNumber,\n //confirmations: allowNull(getNumber, null),\n cumulativeGasUsed: getBigInt,\n effectiveGasPrice: allowNull(getBigInt),\n blobGasPrice: allowNull(getBigInt, null),\n status: allowNull(getNumber),\n type: allowNull(getNumber, 0)\n}, {\n effectiveGasPrice: [\"gasPrice\"],\n hash: [\"transactionHash\"],\n index: [\"transactionIndex\"],\n});\nexport function formatTransactionReceipt(value) {\n return _formatTransactionReceipt(value);\n}\nexport function formatTransactionResponse(value) {\n // Some clients (TestRPC) do strange things like return 0x0 for the\n // 0 address; correct this to be a real address\n if (value.to && getBigInt(value.to) === BN_0) {\n value.to = \"0x0000000000000000000000000000000000000000\";\n }\n const result = object({\n hash: formatHash,\n // Some nodes do not return this, usually test nodes (like Ganache)\n index: allowNull(getNumber, undefined),\n type: (value) => {\n if (value === \"0x\" || value == null) {\n return 0;\n }\n return getNumber(value);\n },\n accessList: allowNull(accessListify, null),\n blobVersionedHashes: allowNull(arrayOf(formatHash, true), null),\n blockHash: allowNull(formatHash, null),\n blockNumber: allowNull(getNumber, null),\n transactionIndex: allowNull(getNumber, null),\n from: getAddress,\n // either (gasPrice) or (maxPriorityFeePerGas + maxFeePerGas) must be set\n gasPrice: allowNull(getBigInt),\n maxPriorityFeePerGas: allowNull(getBigInt),\n maxFeePerGas: allowNull(getBigInt),\n maxFeePerBlobGas: allowNull(getBigInt, null),\n gasLimit: getBigInt,\n to: allowNull(getAddress, null),\n value: getBigInt,\n nonce: getNumber,\n data: formatData,\n creates: allowNull(getAddress, null),\n chainId: allowNull(getBigInt, null)\n }, {\n data: [\"input\"],\n gasLimit: [\"gas\"],\n index: [\"transactionIndex\"]\n })(value);\n // If to and creates are empty, populate the creates from the value\n if (result.to == null && result.creates == null) {\n result.creates = getCreateAddress(result);\n }\n // @TODO: Check fee data\n // Add an access list to supported transaction types\n if ((value.type === 1 || value.type === 2) && value.accessList == null) {\n result.accessList = [];\n }\n // Compute the signature\n if (value.signature) {\n result.signature = Signature.from(value.signature);\n }\n else {\n result.signature = Signature.from(value);\n }\n // Some backends omit ChainId on legacy transactions, but we can compute it\n if (result.chainId == null) {\n const chainId = result.signature.legacyChainId;\n if (chainId != null) {\n result.chainId = chainId;\n }\n }\n // @TODO: check chainID\n /*\n if (value.chainId != null) {\n let chainId = value.chainId;\n\n if (isHexString(chainId)) {\n chainId = BigNumber.from(chainId).toNumber();\n }\n\n result.chainId = chainId;\n\n } else {\n let chainId = value.networkId;\n\n // geth-etc returns chainId\n if (chainId == null && result.v == null) {\n chainId = value.chainId;\n }\n\n if (isHexString(chainId)) {\n chainId = BigNumber.from(chainId).toNumber();\n }\n\n if (typeof(chainId) !== \"number\" && result.v != null) {\n chainId = (result.v - 35) / 2;\n if (chainId < 0) { chainId = 0; }\n chainId = parseInt(chainId);\n }\n\n if (typeof(chainId) !== \"number\") { chainId = 0; }\n\n result.chainId = chainId;\n }\n */\n // 0x0000... should actually be null\n if (result.blockHash && getBigInt(result.blockHash) === BN_0) {\n result.blockHash = null;\n }\n return result;\n}\n//# sourceMappingURL=format.js.map","import { defineProperties } from \"../utils/properties.js\";\nimport { assertArgument } from \"../utils/index.js\";\nconst EnsAddress = \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\";\n/**\n * A **NetworkPlugin** provides additional functionality on a [[Network]].\n */\nexport class NetworkPlugin {\n /**\n * The name of the plugin.\n *\n * It is recommended to use reverse-domain-notation, which permits\n * unique names with a known authority as well as hierarchal entries.\n */\n name;\n /**\n * Creates a new **NetworkPlugin**.\n */\n constructor(name) {\n defineProperties(this, { name });\n }\n /**\n * Creates a copy of this plugin.\n */\n clone() {\n return new NetworkPlugin(this.name);\n }\n}\n/**\n * A **GasCostPlugin** allows a network to provide alternative values when\n * computing the intrinsic gas required for a transaction.\n */\nexport class GasCostPlugin extends NetworkPlugin {\n /**\n * The block number to treat these values as valid from.\n *\n * This allows a hardfork to have updated values included as well as\n * mulutiple hardforks to be supported.\n */\n effectiveBlock;\n /**\n * The transactions base fee.\n */\n txBase;\n /**\n * The fee for creating a new account.\n */\n txCreate;\n /**\n * The fee per zero-byte in the data.\n */\n txDataZero;\n /**\n * The fee per non-zero-byte in the data.\n */\n txDataNonzero;\n /**\n * The fee per storage key in the [[link-eip-2930]] access list.\n */\n txAccessListStorageKey;\n /**\n * The fee per address in the [[link-eip-2930]] access list.\n */\n txAccessListAddress;\n /**\n * Creates a new GasCostPlugin from %%effectiveBlock%% until the\n * latest block or another GasCostPlugin supercedes that block number,\n * with the associated %%costs%%.\n */\n constructor(effectiveBlock, costs) {\n if (effectiveBlock == null) {\n effectiveBlock = 0;\n }\n super(`org.ethers.network.plugins.GasCost#${(effectiveBlock || 0)}`);\n const props = { effectiveBlock };\n function set(name, nullish) {\n let value = (costs || {})[name];\n if (value == null) {\n value = nullish;\n }\n assertArgument(typeof (value) === \"number\", `invalud value for ${name}`, \"costs\", costs);\n props[name] = value;\n }\n set(\"txBase\", 21000);\n set(\"txCreate\", 32000);\n set(\"txDataZero\", 4);\n set(\"txDataNonzero\", 16);\n set(\"txAccessListStorageKey\", 1900);\n set(\"txAccessListAddress\", 2400);\n defineProperties(this, props);\n }\n clone() {\n return new GasCostPlugin(this.effectiveBlock, this);\n }\n}\n/**\n * An **EnsPlugin** allows a [[Network]] to specify the ENS Registry\n * Contract address and the target network to use when using that\n * contract.\n *\n * Various testnets have their own instance of the contract to use, but\n * in general, the mainnet instance supports multi-chain addresses and\n * should be used.\n */\nexport class EnsPlugin extends NetworkPlugin {\n /**\n * The ENS Registrty Contract address.\n */\n address;\n /**\n * The chain ID that the ENS contract lives on.\n */\n targetNetwork;\n /**\n * Creates a new **EnsPlugin** connected to %%address%% on the\n * %%targetNetwork%%. The default ENS address and mainnet is used\n * if unspecified.\n */\n constructor(address, targetNetwork) {\n super(\"org.ethers.plugins.network.Ens\");\n defineProperties(this, {\n address: (address || EnsAddress),\n targetNetwork: ((targetNetwork == null) ? 1 : targetNetwork)\n });\n }\n clone() {\n return new EnsPlugin(this.address, this.targetNetwork);\n }\n}\n/**\n * A **FeeDataNetworkPlugin** allows a network to provide and alternate\n * means to specify its fee data.\n *\n * For example, a network which does not support [[link-eip-1559]] may\n * choose to use a Gas Station site to approximate the gas price.\n */\nexport class FeeDataNetworkPlugin extends NetworkPlugin {\n #feeDataFunc;\n /**\n * The fee data function provided to the constructor.\n */\n get feeDataFunc() {\n return this.#feeDataFunc;\n }\n /**\n * Creates a new **FeeDataNetworkPlugin**.\n */\n constructor(feeDataFunc) {\n super(\"org.ethers.plugins.network.FeeData\");\n this.#feeDataFunc = feeDataFunc;\n }\n /**\n * Resolves to the fee data.\n */\n async getFeeData(provider) {\n return await this.#feeDataFunc(provider);\n }\n clone() {\n return new FeeDataNetworkPlugin(this.#feeDataFunc);\n }\n}\nexport class FetchUrlFeeDataNetworkPlugin extends NetworkPlugin {\n #url;\n #processFunc;\n /**\n * The URL to initialize the FetchRequest with in %%processFunc%%.\n */\n get url() { return this.#url; }\n /**\n * The callback to use when computing the FeeData.\n */\n get processFunc() { return this.#processFunc; }\n /**\n * Creates a new **FetchUrlFeeDataNetworkPlugin** which will\n * be used when computing the fee data for the network.\n */\n constructor(url, processFunc) {\n super(\"org.ethers.plugins.network.FetchUrlFeeDataPlugin\");\n this.#url = url;\n this.#processFunc = processFunc;\n }\n // We are immutable, so we can serve as our own clone\n clone() { return this; }\n}\n/*\nexport class CustomBlockNetworkPlugin extends NetworkPlugin {\n readonly #blockFunc: (provider: Provider, block: BlockParams) => Block;\n readonly #blockWithTxsFunc: (provider: Provider, block: BlockParams) => Block;\n\n constructor(blockFunc: (provider: Provider, block: BlockParams) => Block, blockWithTxsFunc: (provider: Provider, block: BlockParams) => Block) {\n super(\"org.ethers.network-plugins.custom-block\");\n this.#blockFunc = blockFunc;\n this.#blockWithTxsFunc = blockWithTxsFunc;\n }\n\n async getBlock(provider: Provider, block: BlockParams): Promise> {\n return await this.#blockFunc(provider, block);\n }\n\n async getBlockions(provider: Provider, block: BlockParams): Promise> {\n return await this.#blockWithTxsFunc(provider, block);\n }\n\n clone(): CustomBlockNetworkPlugin {\n return new CustomBlockNetworkPlugin(this.#blockFunc, this.#blockWithTxsFunc);\n }\n}\n*/\n//# sourceMappingURL=plugins-network.js.map","/**\n * A **Network** encapsulates the various properties required to\n * interact with a specific chain.\n *\n * @_subsection: api/providers:Networks [networks]\n */\nimport { accessListify } from \"../transaction/index.js\";\nimport { getBigInt, assert, assertArgument } from \"../utils/index.js\";\nimport { EnsPlugin, FetchUrlFeeDataNetworkPlugin, GasCostPlugin } from \"./plugins-network.js\";\n/* * * *\n// Networks which operation against an L2 can use this plugin to\n// specify how to access L1, for the purpose of resolving ENS,\n// for example.\nexport class LayerOneConnectionPlugin extends NetworkPlugin {\n readonly provider!: Provider;\n// @TODO: Rename to ChainAccess and allow for connecting to any chain\n constructor(provider: Provider) {\n super(\"org.ethers.plugins.layer-one-connection\");\n defineProperties(this, { provider });\n }\n\n clone(): LayerOneConnectionPlugin {\n return new LayerOneConnectionPlugin(this.provider);\n }\n}\n*/\nconst Networks = new Map();\n/**\n * A **Network** provides access to a chain's properties and allows\n * for plug-ins to extend functionality.\n */\nexport class Network {\n #name;\n #chainId;\n #plugins;\n /**\n * Creates a new **Network** for %%name%% and %%chainId%%.\n */\n constructor(name, chainId) {\n this.#name = name;\n this.#chainId = getBigInt(chainId);\n this.#plugins = new Map();\n }\n /**\n * Returns a JSON-compatible representation of a Network.\n */\n toJSON() {\n return { name: this.name, chainId: String(this.chainId) };\n }\n /**\n * The network common name.\n *\n * This is the canonical name, as networks migh have multiple\n * names.\n */\n get name() { return this.#name; }\n set name(value) { this.#name = value; }\n /**\n * The network chain ID.\n */\n get chainId() { return this.#chainId; }\n set chainId(value) { this.#chainId = getBigInt(value, \"chainId\"); }\n /**\n * Returns true if %%other%% matches this network. Any chain ID\n * must match, and if no chain ID is present, the name must match.\n *\n * This method does not currently check for additional properties,\n * such as ENS address or plug-in compatibility.\n */\n matches(other) {\n if (other == null) {\n return false;\n }\n if (typeof (other) === \"string\") {\n try {\n return (this.chainId === getBigInt(other));\n }\n catch (error) { }\n return (this.name === other);\n }\n if (typeof (other) === \"number\" || typeof (other) === \"bigint\") {\n try {\n return (this.chainId === getBigInt(other));\n }\n catch (error) { }\n return false;\n }\n if (typeof (other) === \"object\") {\n if (other.chainId != null) {\n try {\n return (this.chainId === getBigInt(other.chainId));\n }\n catch (error) { }\n return false;\n }\n if (other.name != null) {\n return (this.name === other.name);\n }\n return false;\n }\n return false;\n }\n /**\n * Returns the list of plugins currently attached to this Network.\n */\n get plugins() {\n return Array.from(this.#plugins.values());\n }\n /**\n * Attach a new %%plugin%% to this Network. The network name\n * must be unique, excluding any fragment.\n */\n attachPlugin(plugin) {\n if (this.#plugins.get(plugin.name)) {\n throw new Error(`cannot replace existing plugin: ${plugin.name} `);\n }\n this.#plugins.set(plugin.name, plugin.clone());\n return this;\n }\n /**\n * Return the plugin, if any, matching %%name%% exactly. Plugins\n * with fragments will not be returned unless %%name%% includes\n * a fragment.\n */\n getPlugin(name) {\n return (this.#plugins.get(name)) || null;\n }\n /**\n * Gets a list of all plugins that match %%name%%, with otr without\n * a fragment.\n */\n getPlugins(basename) {\n return (this.plugins.filter((p) => (p.name.split(\"#\")[0] === basename)));\n }\n /**\n * Create a copy of this Network.\n */\n clone() {\n const clone = new Network(this.name, this.chainId);\n this.plugins.forEach((plugin) => {\n clone.attachPlugin(plugin.clone());\n });\n return clone;\n }\n /**\n * Compute the intrinsic gas required for a transaction.\n *\n * A GasCostPlugin can be attached to override the default\n * values.\n */\n computeIntrinsicGas(tx) {\n const costs = this.getPlugin(\"org.ethers.plugins.network.GasCost\") || (new GasCostPlugin());\n let gas = costs.txBase;\n if (tx.to == null) {\n gas += costs.txCreate;\n }\n if (tx.data) {\n for (let i = 2; i < tx.data.length; i += 2) {\n if (tx.data.substring(i, i + 2) === \"00\") {\n gas += costs.txDataZero;\n }\n else {\n gas += costs.txDataNonzero;\n }\n }\n }\n if (tx.accessList) {\n const accessList = accessListify(tx.accessList);\n for (const addr in accessList) {\n gas += costs.txAccessListAddress + costs.txAccessListStorageKey * accessList[addr].storageKeys.length;\n }\n }\n return gas;\n }\n /**\n * Returns a new Network for the %%network%% name or chainId.\n */\n static from(network) {\n injectCommonNetworks();\n // Default network\n if (network == null) {\n return Network.from(\"mainnet\");\n }\n // Canonical name or chain ID\n if (typeof (network) === \"number\") {\n network = BigInt(network);\n }\n if (typeof (network) === \"string\" || typeof (network) === \"bigint\") {\n const networkFunc = Networks.get(network);\n if (networkFunc) {\n return networkFunc();\n }\n if (typeof (network) === \"bigint\") {\n return new Network(\"unknown\", network);\n }\n assertArgument(false, \"unknown network\", \"network\", network);\n }\n // Clonable with network-like abilities\n if (typeof (network.clone) === \"function\") {\n const clone = network.clone();\n //if (typeof(network.name) !== \"string\" || typeof(network.chainId) !== \"number\") {\n //}\n return clone;\n }\n // Networkish\n if (typeof (network) === \"object\") {\n assertArgument(typeof (network.name) === \"string\" && typeof (network.chainId) === \"number\", \"invalid network object name or chainId\", \"network\", network);\n const custom = new Network((network.name), (network.chainId));\n if (network.ensAddress || network.ensNetwork != null) {\n custom.attachPlugin(new EnsPlugin(network.ensAddress, network.ensNetwork));\n }\n //if ((network).layerOneConnection) {\n // custom.attachPlugin(new LayerOneConnectionPlugin((network).layerOneConnection));\n //}\n return custom;\n }\n assertArgument(false, \"invalid network\", \"network\", network);\n }\n /**\n * Register %%nameOrChainId%% with a function which returns\n * an instance of a Network representing that chain.\n */\n static register(nameOrChainId, networkFunc) {\n if (typeof (nameOrChainId) === \"number\") {\n nameOrChainId = BigInt(nameOrChainId);\n }\n const existing = Networks.get(nameOrChainId);\n if (existing) {\n assertArgument(false, `conflicting network for ${JSON.stringify(existing.name)}`, \"nameOrChainId\", nameOrChainId);\n }\n Networks.set(nameOrChainId, networkFunc);\n }\n}\n// We don't want to bring in formatUnits because it is backed by\n// FixedNumber and we want to keep Networks tiny. The values\n// included by the Gas Stations are also IEEE 754 with lots of\n// rounding issues and exceed the strict checks formatUnits has.\nfunction parseUnits(_value, decimals) {\n const value = String(_value);\n if (!value.match(/^[0-9.]+$/)) {\n throw new Error(`invalid gwei value: ${_value}`);\n }\n // Break into [ whole, fraction ]\n const comps = value.split(\".\");\n if (comps.length === 1) {\n comps.push(\"\");\n }\n // More than 1 decimal point or too many fractional positions\n if (comps.length !== 2) {\n throw new Error(`invalid gwei value: ${_value}`);\n }\n // Pad the fraction to 9 decimalplaces\n while (comps[1].length < decimals) {\n comps[1] += \"0\";\n }\n // Too many decimals and some non-zero ending, take the ceiling\n if (comps[1].length > 9) {\n let frac = BigInt(comps[1].substring(0, 9));\n if (!comps[1].substring(9).match(/^0+$/)) {\n frac++;\n }\n comps[1] = frac.toString();\n }\n return BigInt(comps[0] + comps[1]);\n}\n// Used by Polygon to use a gas station for fee data\nfunction getGasStationPlugin(url) {\n return new FetchUrlFeeDataNetworkPlugin(url, async (fetchFeeData, provider, request) => {\n // Prevent Cloudflare from blocking our request in node.js\n request.setHeader(\"User-Agent\", \"ethers\");\n let response;\n try {\n const [_response, _feeData] = await Promise.all([\n request.send(), fetchFeeData()\n ]);\n response = _response;\n const payload = response.bodyJson.standard;\n const feeData = {\n gasPrice: _feeData.gasPrice,\n maxFeePerGas: parseUnits(payload.maxFee, 9),\n maxPriorityFeePerGas: parseUnits(payload.maxPriorityFee, 9),\n };\n return feeData;\n }\n catch (error) {\n assert(false, `error encountered with polygon gas station (${JSON.stringify(request.url)})`, \"SERVER_ERROR\", { request, response, error });\n }\n });\n}\n// See: https://chainlist.org\nlet injected = false;\nfunction injectCommonNetworks() {\n if (injected) {\n return;\n }\n injected = true;\n /// Register popular Ethereum networks\n function registerEth(name, chainId, options) {\n const func = function () {\n const network = new Network(name, chainId);\n // We use 0 to disable ENS\n if (options.ensNetwork != null) {\n network.attachPlugin(new EnsPlugin(null, options.ensNetwork));\n }\n network.attachPlugin(new GasCostPlugin());\n (options.plugins || []).forEach((plugin) => {\n network.attachPlugin(plugin);\n });\n return network;\n };\n // Register the network by name and chain ID\n Network.register(name, func);\n Network.register(chainId, func);\n if (options.altNames) {\n options.altNames.forEach((name) => {\n Network.register(name, func);\n });\n }\n }\n registerEth(\"mainnet\", 1, { ensNetwork: 1, altNames: [\"homestead\"] });\n registerEth(\"ropsten\", 3, { ensNetwork: 3 });\n registerEth(\"rinkeby\", 4, { ensNetwork: 4 });\n registerEth(\"goerli\", 5, { ensNetwork: 5 });\n registerEth(\"kovan\", 42, { ensNetwork: 42 });\n registerEth(\"sepolia\", 11155111, { ensNetwork: 11155111 });\n registerEth(\"holesky\", 17000, { ensNetwork: 17000 });\n registerEth(\"classic\", 61, {});\n registerEth(\"classicKotti\", 6, {});\n registerEth(\"arbitrum\", 42161, {\n ensNetwork: 1,\n });\n registerEth(\"arbitrum-goerli\", 421613, {});\n registerEth(\"arbitrum-sepolia\", 421614, {});\n registerEth(\"base\", 8453, { ensNetwork: 1 });\n registerEth(\"base-goerli\", 84531, {});\n registerEth(\"base-sepolia\", 84532, {});\n registerEth(\"bnb\", 56, { ensNetwork: 1 });\n registerEth(\"bnbt\", 97, {});\n registerEth(\"linea\", 59144, { ensNetwork: 1 });\n registerEth(\"linea-goerli\", 59140, {});\n registerEth(\"matic\", 137, {\n ensNetwork: 1,\n plugins: [\n getGasStationPlugin(\"https:/\\/gasstation.polygon.technology/v2\")\n ]\n });\n registerEth(\"matic-mumbai\", 80001, {\n altNames: [\"maticMumbai\", \"maticmum\"],\n plugins: [\n getGasStationPlugin(\"https:/\\/gasstation-testnet.polygon.technology/v2\")\n ]\n });\n registerEth(\"optimism\", 10, {\n ensNetwork: 1,\n plugins: []\n });\n registerEth(\"optimism-goerli\", 420, {});\n registerEth(\"optimism-sepolia\", 11155420, {});\n registerEth(\"xdai\", 100, { ensNetwork: 1 });\n}\n//# sourceMappingURL=network.js.map","import { assert, isHexString } from \"../utils/index.js\";\nfunction copy(obj) {\n return JSON.parse(JSON.stringify(obj));\n}\n/**\n * Return the polling subscriber for common events.\n *\n * @_docloc: api/providers/abstract-provider\n */\nexport function getPollingSubscriber(provider, event) {\n if (event === \"block\") {\n return new PollingBlockSubscriber(provider);\n }\n if (isHexString(event, 32)) {\n return new PollingTransactionSubscriber(provider, event);\n }\n assert(false, \"unsupported polling event\", \"UNSUPPORTED_OPERATION\", {\n operation: \"getPollingSubscriber\", info: { event }\n });\n}\n// @TODO: refactor this\n/**\n * A **PollingBlockSubscriber** polls at a regular interval for a change\n * in the block number.\n *\n * @_docloc: api/providers/abstract-provider\n */\nexport class PollingBlockSubscriber {\n #provider;\n #poller;\n #interval;\n // The most recent block we have scanned for events. The value -2\n // indicates we still need to fetch an initial block number\n #blockNumber;\n /**\n * Create a new **PollingBlockSubscriber** attached to %%provider%%.\n */\n constructor(provider) {\n this.#provider = provider;\n this.#poller = null;\n this.#interval = 4000;\n this.#blockNumber = -2;\n }\n /**\n * The polling interval.\n */\n get pollingInterval() { return this.#interval; }\n set pollingInterval(value) { this.#interval = value; }\n async #poll() {\n try {\n const blockNumber = await this.#provider.getBlockNumber();\n // Bootstrap poll to setup our initial block number\n if (this.#blockNumber === -2) {\n this.#blockNumber = blockNumber;\n return;\n }\n // @TODO: Put a cap on the maximum number of events per loop?\n if (blockNumber !== this.#blockNumber) {\n for (let b = this.#blockNumber + 1; b <= blockNumber; b++) {\n // We have been stopped\n if (this.#poller == null) {\n return;\n }\n await this.#provider.emit(\"block\", b);\n }\n this.#blockNumber = blockNumber;\n }\n }\n catch (error) {\n // @TODO: Minor bump, add an \"error\" event to let subscribers\n // know things went awry.\n //console.log(error);\n }\n // We have been stopped\n if (this.#poller == null) {\n return;\n }\n this.#poller = this.#provider._setTimeout(this.#poll.bind(this), this.#interval);\n }\n start() {\n if (this.#poller) {\n return;\n }\n this.#poller = this.#provider._setTimeout(this.#poll.bind(this), this.#interval);\n this.#poll();\n }\n stop() {\n if (!this.#poller) {\n return;\n }\n this.#provider._clearTimeout(this.#poller);\n this.#poller = null;\n }\n pause(dropWhilePaused) {\n this.stop();\n if (dropWhilePaused) {\n this.#blockNumber = -2;\n }\n }\n resume() {\n this.start();\n }\n}\n/**\n * An **OnBlockSubscriber** can be sub-classed, with a [[_poll]]\n * implmentation which will be called on every new block.\n *\n * @_docloc: api/providers/abstract-provider\n */\nexport class OnBlockSubscriber {\n #provider;\n #poll;\n #running;\n /**\n * Create a new **OnBlockSubscriber** attached to %%provider%%.\n */\n constructor(provider) {\n this.#provider = provider;\n this.#running = false;\n this.#poll = (blockNumber) => {\n this._poll(blockNumber, this.#provider);\n };\n }\n /**\n * Called on every new block.\n */\n async _poll(blockNumber, provider) {\n throw new Error(\"sub-classes must override this\");\n }\n start() {\n if (this.#running) {\n return;\n }\n this.#running = true;\n this.#poll(-2);\n this.#provider.on(\"block\", this.#poll);\n }\n stop() {\n if (!this.#running) {\n return;\n }\n this.#running = false;\n this.#provider.off(\"block\", this.#poll);\n }\n pause(dropWhilePaused) { this.stop(); }\n resume() { this.start(); }\n}\nexport class PollingBlockTagSubscriber extends OnBlockSubscriber {\n #tag;\n #lastBlock;\n constructor(provider, tag) {\n super(provider);\n this.#tag = tag;\n this.#lastBlock = -2;\n }\n pause(dropWhilePaused) {\n if (dropWhilePaused) {\n this.#lastBlock = -2;\n }\n super.pause(dropWhilePaused);\n }\n async _poll(blockNumber, provider) {\n const block = await provider.getBlock(this.#tag);\n if (block == null) {\n return;\n }\n if (this.#lastBlock === -2) {\n this.#lastBlock = block.number;\n }\n else if (block.number > this.#lastBlock) {\n provider.emit(this.#tag, block.number);\n this.#lastBlock = block.number;\n }\n }\n}\n/**\n * @_ignore:\n *\n * @_docloc: api/providers/abstract-provider\n */\nexport class PollingOrphanSubscriber extends OnBlockSubscriber {\n #filter;\n constructor(provider, filter) {\n super(provider);\n this.#filter = copy(filter);\n }\n async _poll(blockNumber, provider) {\n throw new Error(\"@TODO\");\n console.log(this.#filter);\n }\n}\n/**\n * A **PollingTransactionSubscriber** will poll for a given transaction\n * hash for its receipt.\n *\n * @_docloc: api/providers/abstract-provider\n */\nexport class PollingTransactionSubscriber extends OnBlockSubscriber {\n #hash;\n /**\n * Create a new **PollingTransactionSubscriber** attached to\n * %%provider%%, listening for %%hash%%.\n */\n constructor(provider, hash) {\n super(provider);\n this.#hash = hash;\n }\n async _poll(blockNumber, provider) {\n const tx = await provider.getTransactionReceipt(this.#hash);\n if (tx) {\n provider.emit(this.#hash, tx);\n }\n }\n}\n/**\n * A **PollingEventSubscriber** will poll for a given filter for its logs.\n *\n * @_docloc: api/providers/abstract-provider\n */\nexport class PollingEventSubscriber {\n #provider;\n #filter;\n #poller;\n #running;\n // The most recent block we have scanned for events. The value -2\n // indicates we still need to fetch an initial block number\n #blockNumber;\n /**\n * Create a new **PollingTransactionSubscriber** attached to\n * %%provider%%, listening for %%filter%%.\n */\n constructor(provider, filter) {\n this.#provider = provider;\n this.#filter = copy(filter);\n this.#poller = this.#poll.bind(this);\n this.#running = false;\n this.#blockNumber = -2;\n }\n async #poll(blockNumber) {\n // The initial block hasn't been determined yet\n if (this.#blockNumber === -2) {\n return;\n }\n const filter = copy(this.#filter);\n filter.fromBlock = this.#blockNumber + 1;\n filter.toBlock = blockNumber;\n const logs = await this.#provider.getLogs(filter);\n // No logs could just mean the node has not indexed them yet,\n // so we keep a sliding window of 60 blocks to keep scanning\n if (logs.length === 0) {\n if (this.#blockNumber < blockNumber - 60) {\n this.#blockNumber = blockNumber - 60;\n }\n return;\n }\n for (const log of logs) {\n this.#provider.emit(this.#filter, log);\n // Only advance the block number when logs were found to\n // account for networks (like BNB and Polygon) which may\n // sacrifice event consistency for block event speed\n this.#blockNumber = log.blockNumber;\n }\n }\n start() {\n if (this.#running) {\n return;\n }\n this.#running = true;\n if (this.#blockNumber === -2) {\n this.#provider.getBlockNumber().then((blockNumber) => {\n this.#blockNumber = blockNumber;\n });\n }\n this.#provider.on(\"block\", this.#poller);\n }\n stop() {\n if (!this.#running) {\n return;\n }\n this.#running = false;\n this.#provider.off(\"block\", this.#poller);\n }\n pause(dropWhilePaused) {\n this.stop();\n if (dropWhilePaused) {\n this.#blockNumber = -2;\n }\n }\n resume() {\n this.start();\n }\n}\n//# sourceMappingURL=subscriber-polling.js.map","/**\n * The available providers should suffice for most developers purposes,\n * but the [[AbstractProvider]] class has many features which enable\n * sub-classing it for specific purposes.\n *\n * @_section: api/providers/abstract-provider: Subclassing Provider [abstract-provider]\n */\n// @TODO\n// Event coalescence\n// When we register an event with an async value (e.g. address is a Signer\n// or ENS name), we need to add it immeidately for the Event API, but also\n// need time to resolve the address. Upon resolving the address, we need to\n// migrate the listener to the static event. We also need to maintain a map\n// of Signer/ENS name to address so we can sync respond to listenerCount.\nimport { getAddress, resolveAddress } from \"../address/index.js\";\nimport { ZeroAddress } from \"../constants/index.js\";\nimport { Contract } from \"../contract/index.js\";\nimport { namehash } from \"../hash/index.js\";\nimport { Transaction } from \"../transaction/index.js\";\nimport { concat, dataLength, dataSlice, hexlify, isHexString, getBigInt, getBytes, getNumber, isCallException, isError, makeError, assert, assertArgument, FetchRequest, toBeArray, toQuantity, defineProperties, EventPayload, resolveProperties, toUtf8String } from \"../utils/index.js\";\nimport { EnsResolver } from \"./ens-resolver.js\";\nimport { formatBlock, formatLog, formatTransactionReceipt, formatTransactionResponse } from \"./format.js\";\nimport { Network } from \"./network.js\";\nimport { copyRequest, Block, FeeData, Log, TransactionReceipt, TransactionResponse } from \"./provider.js\";\nimport { PollingBlockSubscriber, PollingBlockTagSubscriber, PollingEventSubscriber, PollingOrphanSubscriber, PollingTransactionSubscriber } from \"./subscriber-polling.js\";\n// Constants\nconst BN_2 = BigInt(2);\nconst MAX_CCIP_REDIRECTS = 10;\nfunction isPromise(value) {\n return (value && typeof (value.then) === \"function\");\n}\nfunction getTag(prefix, value) {\n return prefix + \":\" + JSON.stringify(value, (k, v) => {\n if (v == null) {\n return \"null\";\n }\n if (typeof (v) === \"bigint\") {\n return `bigint:${v.toString()}`;\n }\n if (typeof (v) === \"string\") {\n return v.toLowerCase();\n }\n // Sort object keys\n if (typeof (v) === \"object\" && !Array.isArray(v)) {\n const keys = Object.keys(v);\n keys.sort();\n return keys.reduce((accum, key) => {\n accum[key] = v[key];\n return accum;\n }, {});\n }\n return v;\n });\n}\n/**\n * An **UnmanagedSubscriber** is useful for events which do not require\n * any additional management, such as ``\"debug\"`` which only requires\n * emit in synchronous event loop triggered calls.\n */\nexport class UnmanagedSubscriber {\n /**\n * The name fof the event.\n */\n name;\n /**\n * Create a new UnmanagedSubscriber with %%name%%.\n */\n constructor(name) { defineProperties(this, { name }); }\n start() { }\n stop() { }\n pause(dropWhilePaused) { }\n resume() { }\n}\nfunction copy(value) {\n return JSON.parse(JSON.stringify(value));\n}\nfunction concisify(items) {\n items = Array.from((new Set(items)).values());\n items.sort();\n return items;\n}\nasync function getSubscription(_event, provider) {\n if (_event == null) {\n throw new Error(\"invalid event\");\n }\n // Normalize topic array info an EventFilter\n if (Array.isArray(_event)) {\n _event = { topics: _event };\n }\n if (typeof (_event) === \"string\") {\n switch (_event) {\n case \"block\":\n case \"debug\":\n case \"error\":\n case \"finalized\":\n case \"network\":\n case \"pending\":\n case \"safe\": {\n return { type: _event, tag: _event };\n }\n }\n }\n if (isHexString(_event, 32)) {\n const hash = _event.toLowerCase();\n return { type: \"transaction\", tag: getTag(\"tx\", { hash }), hash };\n }\n if (_event.orphan) {\n const event = _event;\n // @TODO: Should lowercase and whatnot things here instead of copy...\n return { type: \"orphan\", tag: getTag(\"orphan\", event), filter: copy(event) };\n }\n if ((_event.address || _event.topics)) {\n const event = _event;\n const filter = {\n topics: ((event.topics || []).map((t) => {\n if (t == null) {\n return null;\n }\n if (Array.isArray(t)) {\n return concisify(t.map((t) => t.toLowerCase()));\n }\n return t.toLowerCase();\n }))\n };\n if (event.address) {\n const addresses = [];\n const promises = [];\n const addAddress = (addr) => {\n if (isHexString(addr)) {\n addresses.push(addr);\n }\n else {\n promises.push((async () => {\n addresses.push(await resolveAddress(addr, provider));\n })());\n }\n };\n if (Array.isArray(event.address)) {\n event.address.forEach(addAddress);\n }\n else {\n addAddress(event.address);\n }\n if (promises.length) {\n await Promise.all(promises);\n }\n filter.address = concisify(addresses.map((a) => a.toLowerCase()));\n }\n return { filter, tag: getTag(\"event\", filter), type: \"event\" };\n }\n assertArgument(false, \"unknown ProviderEvent\", \"event\", _event);\n}\nfunction getTime() { return (new Date()).getTime(); }\nconst defaultOptions = {\n cacheTimeout: 250,\n pollingInterval: 4000\n};\n/**\n * An **AbstractProvider** provides a base class for other sub-classes to\n * implement the [[Provider]] API by normalizing input arguments and\n * formatting output results as well as tracking events for consistent\n * behaviour on an eventually-consistent network.\n */\nexport class AbstractProvider {\n #subs;\n #plugins;\n // null=unpaused, true=paused+dropWhilePaused, false=paused\n #pausedState;\n #destroyed;\n #networkPromise;\n #anyNetwork;\n #performCache;\n // The most recent block number if running an event or -1 if no \"block\" event\n #lastBlockNumber;\n #nextTimer;\n #timers;\n #disableCcipRead;\n #options;\n /**\n * Create a new **AbstractProvider** connected to %%network%%, or\n * use the various network detection capabilities to discover the\n * [[Network]] if necessary.\n */\n constructor(_network, options) {\n this.#options = Object.assign({}, defaultOptions, options || {});\n if (_network === \"any\") {\n this.#anyNetwork = true;\n this.#networkPromise = null;\n }\n else if (_network) {\n const network = Network.from(_network);\n this.#anyNetwork = false;\n this.#networkPromise = Promise.resolve(network);\n setTimeout(() => { this.emit(\"network\", network, null); }, 0);\n }\n else {\n this.#anyNetwork = false;\n this.#networkPromise = null;\n }\n this.#lastBlockNumber = -1;\n this.#performCache = new Map();\n this.#subs = new Map();\n this.#plugins = new Map();\n this.#pausedState = null;\n this.#destroyed = false;\n this.#nextTimer = 1;\n this.#timers = new Map();\n this.#disableCcipRead = false;\n }\n get pollingInterval() { return this.#options.pollingInterval; }\n /**\n * Returns ``this``, to allow an **AbstractProvider** to implement\n * the [[ContractRunner]] interface.\n */\n get provider() { return this; }\n /**\n * Returns all the registered plug-ins.\n */\n get plugins() {\n return Array.from(this.#plugins.values());\n }\n /**\n * Attach a new plug-in.\n */\n attachPlugin(plugin) {\n if (this.#plugins.get(plugin.name)) {\n throw new Error(`cannot replace existing plugin: ${plugin.name} `);\n }\n this.#plugins.set(plugin.name, plugin.connect(this));\n return this;\n }\n /**\n * Get a plugin by name.\n */\n getPlugin(name) {\n return (this.#plugins.get(name)) || null;\n }\n /**\n * Prevent any CCIP-read operation, regardless of whether requested\n * in a [[call]] using ``enableCcipRead``.\n */\n get disableCcipRead() { return this.#disableCcipRead; }\n set disableCcipRead(value) { this.#disableCcipRead = !!value; }\n // Shares multiple identical requests made during the same 250ms\n async #perform(req) {\n const timeout = this.#options.cacheTimeout;\n // Caching disabled\n if (timeout < 0) {\n return await this._perform(req);\n }\n // Create a tag\n const tag = getTag(req.method, req);\n let perform = this.#performCache.get(tag);\n if (!perform) {\n perform = this._perform(req);\n this.#performCache.set(tag, perform);\n setTimeout(() => {\n if (this.#performCache.get(tag) === perform) {\n this.#performCache.delete(tag);\n }\n }, timeout);\n }\n return await perform;\n }\n /**\n * Resolves to the data for executing the CCIP-read operations.\n */\n async ccipReadFetch(tx, calldata, urls) {\n if (this.disableCcipRead || urls.length === 0 || tx.to == null) {\n return null;\n }\n const sender = tx.to.toLowerCase();\n const data = calldata.toLowerCase();\n const errorMessages = [];\n for (let i = 0; i < urls.length; i++) {\n const url = urls[i];\n // URL expansion\n const href = url.replace(\"{sender}\", sender).replace(\"{data}\", data);\n // If no {data} is present, use POST; otherwise GET\n //const json: string | null = (url.indexOf(\"{data}\") >= 0) ? null: JSON.stringify({ data, sender });\n //const result = await fetchJson({ url: href, errorPassThrough: true }, json, (value, response) => {\n // value.status = response.statusCode;\n // return value;\n //});\n const request = new FetchRequest(href);\n if (url.indexOf(\"{data}\") === -1) {\n request.body = { data, sender };\n }\n this.emit(\"debug\", { action: \"sendCcipReadFetchRequest\", request, index: i, urls });\n let errorMessage = \"unknown error\";\n const resp = await request.send();\n try {\n const result = resp.bodyJson;\n if (result.data) {\n this.emit(\"debug\", { action: \"receiveCcipReadFetchResult\", request, result });\n return result.data;\n }\n if (result.message) {\n errorMessage = result.message;\n }\n this.emit(\"debug\", { action: \"receiveCcipReadFetchError\", request, result });\n }\n catch (error) { }\n // 4xx indicates the result is not present; stop\n assert(resp.statusCode < 400 || resp.statusCode >= 500, `response not found during CCIP fetch: ${errorMessage}`, \"OFFCHAIN_FAULT\", { reason: \"404_MISSING_RESOURCE\", transaction: tx, info: { url, errorMessage } });\n // 5xx indicates server issue; try the next url\n errorMessages.push(errorMessage);\n }\n assert(false, `error encountered during CCIP fetch: ${errorMessages.map((m) => JSON.stringify(m)).join(\", \")}`, \"OFFCHAIN_FAULT\", {\n reason: \"500_SERVER_ERROR\",\n transaction: tx, info: { urls, errorMessages }\n });\n }\n /**\n * Provides the opportunity for a sub-class to wrap a block before\n * returning it, to add additional properties or an alternate\n * sub-class of [[Block]].\n */\n _wrapBlock(value, network) {\n return new Block(formatBlock(value), this);\n }\n /**\n * Provides the opportunity for a sub-class to wrap a log before\n * returning it, to add additional properties or an alternate\n * sub-class of [[Log]].\n */\n _wrapLog(value, network) {\n return new Log(formatLog(value), this);\n }\n /**\n * Provides the opportunity for a sub-class to wrap a transaction\n * receipt before returning it, to add additional properties or an\n * alternate sub-class of [[TransactionReceipt]].\n */\n _wrapTransactionReceipt(value, network) {\n return new TransactionReceipt(formatTransactionReceipt(value), this);\n }\n /**\n * Provides the opportunity for a sub-class to wrap a transaction\n * response before returning it, to add additional properties or an\n * alternate sub-class of [[TransactionResponse]].\n */\n _wrapTransactionResponse(tx, network) {\n return new TransactionResponse(formatTransactionResponse(tx), this);\n }\n /**\n * Resolves to the Network, forcing a network detection using whatever\n * technique the sub-class requires.\n *\n * Sub-classes **must** override this.\n */\n _detectNetwork() {\n assert(false, \"sub-classes must implement this\", \"UNSUPPORTED_OPERATION\", {\n operation: \"_detectNetwork\"\n });\n }\n /**\n * Sub-classes should use this to perform all built-in operations. All\n * methods sanitizes and normalizes the values passed into this.\n *\n * Sub-classes **must** override this.\n */\n async _perform(req) {\n assert(false, `unsupported method: ${req.method}`, \"UNSUPPORTED_OPERATION\", {\n operation: req.method,\n info: req\n });\n }\n // State\n async getBlockNumber() {\n const blockNumber = getNumber(await this.#perform({ method: \"getBlockNumber\" }), \"%response\");\n if (this.#lastBlockNumber >= 0) {\n this.#lastBlockNumber = blockNumber;\n }\n return blockNumber;\n }\n /**\n * Returns or resolves to the address for %%address%%, resolving ENS\n * names and [[Addressable]] objects and returning if already an\n * address.\n */\n _getAddress(address) {\n return resolveAddress(address, this);\n }\n /**\n * Returns or resolves to a valid block tag for %%blockTag%%, resolving\n * negative values and returning if already a valid block tag.\n */\n _getBlockTag(blockTag) {\n if (blockTag == null) {\n return \"latest\";\n }\n switch (blockTag) {\n case \"earliest\":\n return \"0x0\";\n case \"finalized\":\n case \"latest\":\n case \"pending\":\n case \"safe\":\n return blockTag;\n }\n if (isHexString(blockTag)) {\n if (isHexString(blockTag, 32)) {\n return blockTag;\n }\n return toQuantity(blockTag);\n }\n if (typeof (blockTag) === \"bigint\") {\n blockTag = getNumber(blockTag, \"blockTag\");\n }\n if (typeof (blockTag) === \"number\") {\n if (blockTag >= 0) {\n return toQuantity(blockTag);\n }\n if (this.#lastBlockNumber >= 0) {\n return toQuantity(this.#lastBlockNumber + blockTag);\n }\n return this.getBlockNumber().then((b) => toQuantity(b + blockTag));\n }\n assertArgument(false, \"invalid blockTag\", \"blockTag\", blockTag);\n }\n /**\n * Returns or resolves to a filter for %%filter%%, resolving any ENS\n * names or [[Addressable]] object and returning if already a valid\n * filter.\n */\n _getFilter(filter) {\n // Create a canonical representation of the topics\n const topics = (filter.topics || []).map((t) => {\n if (t == null) {\n return null;\n }\n if (Array.isArray(t)) {\n return concisify(t.map((t) => t.toLowerCase()));\n }\n return t.toLowerCase();\n });\n const blockHash = (\"blockHash\" in filter) ? filter.blockHash : undefined;\n const resolve = (_address, fromBlock, toBlock) => {\n let address = undefined;\n switch (_address.length) {\n case 0: break;\n case 1:\n address = _address[0];\n break;\n default:\n _address.sort();\n address = _address;\n }\n if (blockHash) {\n if (fromBlock != null || toBlock != null) {\n throw new Error(\"invalid filter\");\n }\n }\n const filter = {};\n if (address) {\n filter.address = address;\n }\n if (topics.length) {\n filter.topics = topics;\n }\n if (fromBlock) {\n filter.fromBlock = fromBlock;\n }\n if (toBlock) {\n filter.toBlock = toBlock;\n }\n if (blockHash) {\n filter.blockHash = blockHash;\n }\n return filter;\n };\n // Addresses could be async (ENS names or Addressables)\n let address = [];\n if (filter.address) {\n if (Array.isArray(filter.address)) {\n for (const addr of filter.address) {\n address.push(this._getAddress(addr));\n }\n }\n else {\n address.push(this._getAddress(filter.address));\n }\n }\n let fromBlock = undefined;\n if (\"fromBlock\" in filter) {\n fromBlock = this._getBlockTag(filter.fromBlock);\n }\n let toBlock = undefined;\n if (\"toBlock\" in filter) {\n toBlock = this._getBlockTag(filter.toBlock);\n }\n if (address.filter((a) => (typeof (a) !== \"string\")).length ||\n (fromBlock != null && typeof (fromBlock) !== \"string\") ||\n (toBlock != null && typeof (toBlock) !== \"string\")) {\n return Promise.all([Promise.all(address), fromBlock, toBlock]).then((result) => {\n return resolve(result[0], result[1], result[2]);\n });\n }\n return resolve(address, fromBlock, toBlock);\n }\n /**\n * Returns or resovles to a transaction for %%request%%, resolving\n * any ENS names or [[Addressable]] and returning if already a valid\n * transaction.\n */\n _getTransactionRequest(_request) {\n const request = copyRequest(_request);\n const promises = [];\n [\"to\", \"from\"].forEach((key) => {\n if (request[key] == null) {\n return;\n }\n const addr = resolveAddress(request[key], this);\n if (isPromise(addr)) {\n promises.push((async function () { request[key] = await addr; })());\n }\n else {\n request[key] = addr;\n }\n });\n if (request.blockTag != null) {\n const blockTag = this._getBlockTag(request.blockTag);\n if (isPromise(blockTag)) {\n promises.push((async function () { request.blockTag = await blockTag; })());\n }\n else {\n request.blockTag = blockTag;\n }\n }\n if (promises.length) {\n return (async function () {\n await Promise.all(promises);\n return request;\n })();\n }\n return request;\n }\n async getNetwork() {\n // No explicit network was set and this is our first time\n if (this.#networkPromise == null) {\n // Detect the current network (shared with all calls)\n const detectNetwork = (async () => {\n try {\n const network = await this._detectNetwork();\n this.emit(\"network\", network, null);\n return network;\n }\n catch (error) {\n if (this.#networkPromise === detectNetwork) {\n this.#networkPromise = null;\n }\n throw error;\n }\n })();\n this.#networkPromise = detectNetwork;\n return (await detectNetwork).clone();\n }\n const networkPromise = this.#networkPromise;\n const [expected, actual] = await Promise.all([\n networkPromise,\n this._detectNetwork() // The actual connected network\n ]);\n if (expected.chainId !== actual.chainId) {\n if (this.#anyNetwork) {\n // The \"any\" network can change, so notify listeners\n this.emit(\"network\", actual, expected);\n // Update the network if something else hasn't already changed it\n if (this.#networkPromise === networkPromise) {\n this.#networkPromise = Promise.resolve(actual);\n }\n }\n else {\n // Otherwise, we do not allow changes to the underlying network\n assert(false, `network changed: ${expected.chainId} => ${actual.chainId} `, \"NETWORK_ERROR\", {\n event: \"changed\"\n });\n }\n }\n return expected.clone();\n }\n async getFeeData() {\n const network = await this.getNetwork();\n const getFeeDataFunc = async () => {\n const { _block, gasPrice, priorityFee } = await resolveProperties({\n _block: this.#getBlock(\"latest\", false),\n gasPrice: ((async () => {\n try {\n const value = await this.#perform({ method: \"getGasPrice\" });\n return getBigInt(value, \"%response\");\n }\n catch (error) { }\n return null;\n })()),\n priorityFee: ((async () => {\n try {\n const value = await this.#perform({ method: \"getPriorityFee\" });\n return getBigInt(value, \"%response\");\n }\n catch (error) { }\n return null;\n })())\n });\n let maxFeePerGas = null;\n let maxPriorityFeePerGas = null;\n // These are the recommended EIP-1559 heuristics for fee data\n const block = this._wrapBlock(_block, network);\n if (block && block.baseFeePerGas) {\n maxPriorityFeePerGas = (priorityFee != null) ? priorityFee : BigInt(\"1000000000\");\n maxFeePerGas = (block.baseFeePerGas * BN_2) + maxPriorityFeePerGas;\n }\n return new FeeData(gasPrice, maxFeePerGas, maxPriorityFeePerGas);\n };\n // Check for a FeeDataNetWorkPlugin\n const plugin = network.getPlugin(\"org.ethers.plugins.network.FetchUrlFeeDataPlugin\");\n if (plugin) {\n const req = new FetchRequest(plugin.url);\n const feeData = await plugin.processFunc(getFeeDataFunc, this, req);\n return new FeeData(feeData.gasPrice, feeData.maxFeePerGas, feeData.maxPriorityFeePerGas);\n }\n return await getFeeDataFunc();\n }\n async estimateGas(_tx) {\n let tx = this._getTransactionRequest(_tx);\n if (isPromise(tx)) {\n tx = await tx;\n }\n return getBigInt(await this.#perform({\n method: \"estimateGas\", transaction: tx\n }), \"%response\");\n }\n async #call(tx, blockTag, attempt) {\n assert(attempt < MAX_CCIP_REDIRECTS, \"CCIP read exceeded maximum redirections\", \"OFFCHAIN_FAULT\", {\n reason: \"TOO_MANY_REDIRECTS\",\n transaction: Object.assign({}, tx, { blockTag, enableCcipRead: true })\n });\n // This came in as a PerformActionTransaction, so to/from are safe; we can cast\n const transaction = copyRequest(tx);\n try {\n return hexlify(await this._perform({ method: \"call\", transaction, blockTag }));\n }\n catch (error) {\n // CCIP Read OffchainLookup\n if (!this.disableCcipRead && isCallException(error) && error.data && attempt >= 0 && blockTag === \"latest\" && transaction.to != null && dataSlice(error.data, 0, 4) === \"0x556f1830\") {\n const data = error.data;\n const txSender = await resolveAddress(transaction.to, this);\n // Parse the CCIP Read Arguments\n let ccipArgs;\n try {\n ccipArgs = parseOffchainLookup(dataSlice(error.data, 4));\n }\n catch (error) {\n assert(false, error.message, \"OFFCHAIN_FAULT\", {\n reason: \"BAD_DATA\", transaction, info: { data }\n });\n }\n // Check the sender of the OffchainLookup matches the transaction\n assert(ccipArgs.sender.toLowerCase() === txSender.toLowerCase(), \"CCIP Read sender mismatch\", \"CALL_EXCEPTION\", {\n action: \"call\",\n data,\n reason: \"OffchainLookup\",\n transaction: transaction,\n invocation: null,\n revert: {\n signature: \"OffchainLookup(address,string[],bytes,bytes4,bytes)\",\n name: \"OffchainLookup\",\n args: ccipArgs.errorArgs\n }\n });\n const ccipResult = await this.ccipReadFetch(transaction, ccipArgs.calldata, ccipArgs.urls);\n assert(ccipResult != null, \"CCIP Read failed to fetch data\", \"OFFCHAIN_FAULT\", {\n reason: \"FETCH_FAILED\", transaction, info: { data: error.data, errorArgs: ccipArgs.errorArgs }\n });\n const tx = {\n to: txSender,\n data: concat([ccipArgs.selector, encodeBytes([ccipResult, ccipArgs.extraData])])\n };\n this.emit(\"debug\", { action: \"sendCcipReadCall\", transaction: tx });\n try {\n const result = await this.#call(tx, blockTag, attempt + 1);\n this.emit(\"debug\", { action: \"receiveCcipReadCallResult\", transaction: Object.assign({}, tx), result });\n return result;\n }\n catch (error) {\n this.emit(\"debug\", { action: \"receiveCcipReadCallError\", transaction: Object.assign({}, tx), error });\n throw error;\n }\n }\n throw error;\n }\n }\n async #checkNetwork(promise) {\n const { value } = await resolveProperties({\n network: this.getNetwork(),\n value: promise\n });\n return value;\n }\n async call(_tx) {\n const { tx, blockTag } = await resolveProperties({\n tx: this._getTransactionRequest(_tx),\n blockTag: this._getBlockTag(_tx.blockTag)\n });\n return await this.#checkNetwork(this.#call(tx, blockTag, _tx.enableCcipRead ? 0 : -1));\n }\n // Account\n async #getAccountValue(request, _address, _blockTag) {\n let address = this._getAddress(_address);\n let blockTag = this._getBlockTag(_blockTag);\n if (typeof (address) !== \"string\" || typeof (blockTag) !== \"string\") {\n [address, blockTag] = await Promise.all([address, blockTag]);\n }\n return await this.#checkNetwork(this.#perform(Object.assign(request, { address, blockTag })));\n }\n async getBalance(address, blockTag) {\n return getBigInt(await this.#getAccountValue({ method: \"getBalance\" }, address, blockTag), \"%response\");\n }\n async getTransactionCount(address, blockTag) {\n return getNumber(await this.#getAccountValue({ method: \"getTransactionCount\" }, address, blockTag), \"%response\");\n }\n async getCode(address, blockTag) {\n return hexlify(await this.#getAccountValue({ method: \"getCode\" }, address, blockTag));\n }\n async getStorage(address, _position, blockTag) {\n const position = getBigInt(_position, \"position\");\n return hexlify(await this.#getAccountValue({ method: \"getStorage\", position }, address, blockTag));\n }\n // Write\n async broadcastTransaction(signedTx) {\n const { blockNumber, hash, network } = await resolveProperties({\n blockNumber: this.getBlockNumber(),\n hash: this._perform({\n method: \"broadcastTransaction\",\n signedTransaction: signedTx\n }),\n network: this.getNetwork()\n });\n const tx = Transaction.from(signedTx);\n if (tx.hash !== hash) {\n throw new Error(\"@TODO: the returned hash did not match\");\n }\n return this._wrapTransactionResponse(tx, network).replaceableTransaction(blockNumber);\n }\n async #getBlock(block, includeTransactions) {\n // @TODO: Add CustomBlockPlugin check\n if (isHexString(block, 32)) {\n return await this.#perform({\n method: \"getBlock\", blockHash: block, includeTransactions\n });\n }\n let blockTag = this._getBlockTag(block);\n if (typeof (blockTag) !== \"string\") {\n blockTag = await blockTag;\n }\n return await this.#perform({\n method: \"getBlock\", blockTag, includeTransactions\n });\n }\n // Queries\n async getBlock(block, prefetchTxs) {\n const { network, params } = await resolveProperties({\n network: this.getNetwork(),\n params: this.#getBlock(block, !!prefetchTxs)\n });\n if (params == null) {\n return null;\n }\n return this._wrapBlock(params, network);\n }\n async getTransaction(hash) {\n const { network, params } = await resolveProperties({\n network: this.getNetwork(),\n params: this.#perform({ method: \"getTransaction\", hash })\n });\n if (params == null) {\n return null;\n }\n return this._wrapTransactionResponse(params, network);\n }\n async getTransactionReceipt(hash) {\n const { network, params } = await resolveProperties({\n network: this.getNetwork(),\n params: this.#perform({ method: \"getTransactionReceipt\", hash })\n });\n if (params == null) {\n return null;\n }\n // Some backends did not backfill the effectiveGasPrice into old transactions\n // in the receipt, so we look it up manually and inject it.\n if (params.gasPrice == null && params.effectiveGasPrice == null) {\n const tx = await this.#perform({ method: \"getTransaction\", hash });\n if (tx == null) {\n throw new Error(\"report this; could not find tx or effectiveGasPrice\");\n }\n params.effectiveGasPrice = tx.gasPrice;\n }\n return this._wrapTransactionReceipt(params, network);\n }\n async getTransactionResult(hash) {\n const { result } = await resolveProperties({\n network: this.getNetwork(),\n result: this.#perform({ method: \"getTransactionResult\", hash })\n });\n if (result == null) {\n return null;\n }\n return hexlify(result);\n }\n // Bloom-filter Queries\n async getLogs(_filter) {\n let filter = this._getFilter(_filter);\n if (isPromise(filter)) {\n filter = await filter;\n }\n const { network, params } = await resolveProperties({\n network: this.getNetwork(),\n params: this.#perform({ method: \"getLogs\", filter })\n });\n return params.map((p) => this._wrapLog(p, network));\n }\n // ENS\n _getProvider(chainId) {\n assert(false, \"provider cannot connect to target network\", \"UNSUPPORTED_OPERATION\", {\n operation: \"_getProvider()\"\n });\n }\n async getResolver(name) {\n return await EnsResolver.fromName(this, name);\n }\n async getAvatar(name) {\n const resolver = await this.getResolver(name);\n if (resolver) {\n return await resolver.getAvatar();\n }\n return null;\n }\n async resolveName(name) {\n const resolver = await this.getResolver(name);\n if (resolver) {\n return await resolver.getAddress();\n }\n return null;\n }\n async lookupAddress(address) {\n address = getAddress(address);\n const node = namehash(address.substring(2).toLowerCase() + \".addr.reverse\");\n try {\n const ensAddr = await EnsResolver.getEnsAddress(this);\n const ensContract = new Contract(ensAddr, [\n \"function resolver(bytes32) view returns (address)\"\n ], this);\n const resolver = await ensContract.resolver(node);\n if (resolver == null || resolver === ZeroAddress) {\n return null;\n }\n const resolverContract = new Contract(resolver, [\n \"function name(bytes32) view returns (string)\"\n ], this);\n const name = await resolverContract.name(node);\n // Failed forward resolution\n const check = await this.resolveName(name);\n if (check !== address) {\n return null;\n }\n return name;\n }\n catch (error) {\n // No data was returned from the resolver\n if (isError(error, \"BAD_DATA\") && error.value === \"0x\") {\n return null;\n }\n // Something reerted\n if (isError(error, \"CALL_EXCEPTION\")) {\n return null;\n }\n throw error;\n }\n return null;\n }\n async waitForTransaction(hash, _confirms, timeout) {\n const confirms = (_confirms != null) ? _confirms : 1;\n if (confirms === 0) {\n return this.getTransactionReceipt(hash);\n }\n return new Promise(async (resolve, reject) => {\n let timer = null;\n const listener = (async (blockNumber) => {\n try {\n const receipt = await this.getTransactionReceipt(hash);\n if (receipt != null) {\n if (blockNumber - receipt.blockNumber + 1 >= confirms) {\n resolve(receipt);\n //this.off(\"block\", listener);\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n return;\n }\n }\n }\n catch (error) {\n console.log(\"EEE\", error);\n }\n this.once(\"block\", listener);\n });\n if (timeout != null) {\n timer = setTimeout(() => {\n if (timer == null) {\n return;\n }\n timer = null;\n this.off(\"block\", listener);\n reject(makeError(\"timeout\", \"TIMEOUT\", { reason: \"timeout\" }));\n }, timeout);\n }\n listener(await this.getBlockNumber());\n });\n }\n async waitForBlock(blockTag) {\n assert(false, \"not implemented yet\", \"NOT_IMPLEMENTED\", {\n operation: \"waitForBlock\"\n });\n }\n /**\n * Clear a timer created using the [[_setTimeout]] method.\n */\n _clearTimeout(timerId) {\n const timer = this.#timers.get(timerId);\n if (!timer) {\n return;\n }\n if (timer.timer) {\n clearTimeout(timer.timer);\n }\n this.#timers.delete(timerId);\n }\n /**\n * Create a timer that will execute %%func%% after at least %%timeout%%\n * (in ms). If %%timeout%% is unspecified, then %%func%% will execute\n * in the next event loop.\n *\n * [Pausing](AbstractProvider-paused) the provider will pause any\n * associated timers.\n */\n _setTimeout(_func, timeout) {\n if (timeout == null) {\n timeout = 0;\n }\n const timerId = this.#nextTimer++;\n const func = () => {\n this.#timers.delete(timerId);\n _func();\n };\n if (this.paused) {\n this.#timers.set(timerId, { timer: null, func, time: timeout });\n }\n else {\n const timer = setTimeout(func, timeout);\n this.#timers.set(timerId, { timer, func, time: getTime() });\n }\n return timerId;\n }\n /**\n * Perform %%func%% on each subscriber.\n */\n _forEachSubscriber(func) {\n for (const sub of this.#subs.values()) {\n func(sub.subscriber);\n }\n }\n /**\n * Sub-classes may override this to customize subscription\n * implementations.\n */\n _getSubscriber(sub) {\n switch (sub.type) {\n case \"debug\":\n case \"error\":\n case \"network\":\n return new UnmanagedSubscriber(sub.type);\n case \"block\": {\n const subscriber = new PollingBlockSubscriber(this);\n subscriber.pollingInterval = this.pollingInterval;\n return subscriber;\n }\n case \"safe\":\n case \"finalized\":\n return new PollingBlockTagSubscriber(this, sub.type);\n case \"event\":\n return new PollingEventSubscriber(this, sub.filter);\n case \"transaction\":\n return new PollingTransactionSubscriber(this, sub.hash);\n case \"orphan\":\n return new PollingOrphanSubscriber(this, sub.filter);\n }\n throw new Error(`unsupported event: ${sub.type}`);\n }\n /**\n * If a [[Subscriber]] fails and needs to replace itself, this\n * method may be used.\n *\n * For example, this is used for providers when using the\n * ``eth_getFilterChanges`` method, which can return null if state\n * filters are not supported by the backend, allowing the Subscriber\n * to swap in a [[PollingEventSubscriber]].\n */\n _recoverSubscriber(oldSub, newSub) {\n for (const sub of this.#subs.values()) {\n if (sub.subscriber === oldSub) {\n if (sub.started) {\n sub.subscriber.stop();\n }\n sub.subscriber = newSub;\n if (sub.started) {\n newSub.start();\n }\n if (this.#pausedState != null) {\n newSub.pause(this.#pausedState);\n }\n break;\n }\n }\n }\n async #hasSub(event, emitArgs) {\n let sub = await getSubscription(event, this);\n // This is a log that is removing an existing log; we actually want\n // to emit an orphan event for the removed log\n if (sub.type === \"event\" && emitArgs && emitArgs.length > 0 && emitArgs[0].removed === true) {\n sub = await getSubscription({ orphan: \"drop-log\", log: emitArgs[0] }, this);\n }\n return this.#subs.get(sub.tag) || null;\n }\n async #getSub(event) {\n const subscription = await getSubscription(event, this);\n // Prevent tampering with our tag in any subclass' _getSubscriber\n const tag = subscription.tag;\n let sub = this.#subs.get(tag);\n if (!sub) {\n const subscriber = this._getSubscriber(subscription);\n const addressableMap = new WeakMap();\n const nameMap = new Map();\n sub = { subscriber, tag, addressableMap, nameMap, started: false, listeners: [] };\n this.#subs.set(tag, sub);\n }\n return sub;\n }\n async on(event, listener) {\n const sub = await this.#getSub(event);\n sub.listeners.push({ listener, once: false });\n if (!sub.started) {\n sub.subscriber.start();\n sub.started = true;\n if (this.#pausedState != null) {\n sub.subscriber.pause(this.#pausedState);\n }\n }\n return this;\n }\n async once(event, listener) {\n const sub = await this.#getSub(event);\n sub.listeners.push({ listener, once: true });\n if (!sub.started) {\n sub.subscriber.start();\n sub.started = true;\n if (this.#pausedState != null) {\n sub.subscriber.pause(this.#pausedState);\n }\n }\n return this;\n }\n async emit(event, ...args) {\n const sub = await this.#hasSub(event, args);\n // If there is not subscription or if a recent emit removed\n // the last of them (which also deleted the sub) do nothing\n if (!sub || sub.listeners.length === 0) {\n return false;\n }\n ;\n const count = sub.listeners.length;\n sub.listeners = sub.listeners.filter(({ listener, once }) => {\n const payload = new EventPayload(this, (once ? null : listener), event);\n try {\n listener.call(this, ...args, payload);\n }\n catch (error) { }\n return !once;\n });\n if (sub.listeners.length === 0) {\n if (sub.started) {\n sub.subscriber.stop();\n }\n this.#subs.delete(sub.tag);\n }\n return (count > 0);\n }\n async listenerCount(event) {\n if (event) {\n const sub = await this.#hasSub(event);\n if (!sub) {\n return 0;\n }\n return sub.listeners.length;\n }\n let total = 0;\n for (const { listeners } of this.#subs.values()) {\n total += listeners.length;\n }\n return total;\n }\n async listeners(event) {\n if (event) {\n const sub = await this.#hasSub(event);\n if (!sub) {\n return [];\n }\n return sub.listeners.map(({ listener }) => listener);\n }\n let result = [];\n for (const { listeners } of this.#subs.values()) {\n result = result.concat(listeners.map(({ listener }) => listener));\n }\n return result;\n }\n async off(event, listener) {\n const sub = await this.#hasSub(event);\n if (!sub) {\n return this;\n }\n if (listener) {\n const index = sub.listeners.map(({ listener }) => listener).indexOf(listener);\n if (index >= 0) {\n sub.listeners.splice(index, 1);\n }\n }\n if (!listener || sub.listeners.length === 0) {\n if (sub.started) {\n sub.subscriber.stop();\n }\n this.#subs.delete(sub.tag);\n }\n return this;\n }\n async removeAllListeners(event) {\n if (event) {\n const { tag, started, subscriber } = await this.#getSub(event);\n if (started) {\n subscriber.stop();\n }\n this.#subs.delete(tag);\n }\n else {\n for (const [tag, { started, subscriber }] of this.#subs) {\n if (started) {\n subscriber.stop();\n }\n this.#subs.delete(tag);\n }\n }\n return this;\n }\n // Alias for \"on\"\n async addListener(event, listener) {\n return await this.on(event, listener);\n }\n // Alias for \"off\"\n async removeListener(event, listener) {\n return this.off(event, listener);\n }\n /**\n * If this provider has been destroyed using the [[destroy]] method.\n *\n * Once destroyed, all resources are reclaimed, internal event loops\n * and timers are cleaned up and no further requests may be sent to\n * the provider.\n */\n get destroyed() {\n return this.#destroyed;\n }\n /**\n * Sub-classes may use this to shutdown any sockets or release their\n * resources and reject any pending requests.\n *\n * Sub-classes **must** call ``super.destroy()``.\n */\n destroy() {\n // Stop all listeners\n this.removeAllListeners();\n // Shut down all tiemrs\n for (const timerId of this.#timers.keys()) {\n this._clearTimeout(timerId);\n }\n this.#destroyed = true;\n }\n /**\n * Whether the provider is currently paused.\n *\n * A paused provider will not emit any events, and generally should\n * not make any requests to the network, but that is up to sub-classes\n * to manage.\n *\n * Setting ``paused = true`` is identical to calling ``.pause(false)``,\n * which will buffer any events that occur while paused until the\n * provider is unpaused.\n */\n get paused() { return (this.#pausedState != null); }\n set paused(pause) {\n if (!!pause === this.paused) {\n return;\n }\n if (this.paused) {\n this.resume();\n }\n else {\n this.pause(false);\n }\n }\n /**\n * Pause the provider. If %%dropWhilePaused%%, any events that occur\n * while paused are dropped, otherwise all events will be emitted once\n * the provider is unpaused.\n */\n pause(dropWhilePaused) {\n this.#lastBlockNumber = -1;\n if (this.#pausedState != null) {\n if (this.#pausedState == !!dropWhilePaused) {\n return;\n }\n assert(false, \"cannot change pause type; resume first\", \"UNSUPPORTED_OPERATION\", {\n operation: \"pause\"\n });\n }\n this._forEachSubscriber((s) => s.pause(dropWhilePaused));\n this.#pausedState = !!dropWhilePaused;\n for (const timer of this.#timers.values()) {\n // Clear the timer\n if (timer.timer) {\n clearTimeout(timer.timer);\n }\n // Remaining time needed for when we become unpaused\n timer.time = getTime() - timer.time;\n }\n }\n /**\n * Resume the provider.\n */\n resume() {\n if (this.#pausedState == null) {\n return;\n }\n this._forEachSubscriber((s) => s.resume());\n this.#pausedState = null;\n for (const timer of this.#timers.values()) {\n // Remaining time when we were paused\n let timeout = timer.time;\n if (timeout < 0) {\n timeout = 0;\n }\n // Start time (in cause paused, so we con compute remaininf time)\n timer.time = getTime();\n // Start the timer\n setTimeout(timer.func, timeout);\n }\n }\n}\nfunction _parseString(result, start) {\n try {\n const bytes = _parseBytes(result, start);\n if (bytes) {\n return toUtf8String(bytes);\n }\n }\n catch (error) { }\n return null;\n}\nfunction _parseBytes(result, start) {\n if (result === \"0x\") {\n return null;\n }\n try {\n const offset = getNumber(dataSlice(result, start, start + 32));\n const length = getNumber(dataSlice(result, offset, offset + 32));\n return dataSlice(result, offset + 32, offset + 32 + length);\n }\n catch (error) { }\n return null;\n}\nfunction numPad(value) {\n const result = toBeArray(value);\n if (result.length > 32) {\n throw new Error(\"internal; should not happen\");\n }\n const padded = new Uint8Array(32);\n padded.set(result, 32 - result.length);\n return padded;\n}\nfunction bytesPad(value) {\n if ((value.length % 32) === 0) {\n return value;\n }\n const result = new Uint8Array(Math.ceil(value.length / 32) * 32);\n result.set(value);\n return result;\n}\nconst empty = new Uint8Array([]);\n// ABI Encodes a series of (bytes, bytes, ...)\nfunction encodeBytes(datas) {\n const result = [];\n let byteCount = 0;\n // Add place-holders for pointers as we add items\n for (let i = 0; i < datas.length; i++) {\n result.push(empty);\n byteCount += 32;\n }\n for (let i = 0; i < datas.length; i++) {\n const data = getBytes(datas[i]);\n // Update the bytes offset\n result[i] = numPad(byteCount);\n // The length and padded value of data\n result.push(numPad(data.length));\n result.push(bytesPad(data));\n byteCount += 32 + Math.ceil(data.length / 32) * 32;\n }\n return concat(result);\n}\nconst zeros = \"0x0000000000000000000000000000000000000000000000000000000000000000\";\nfunction parseOffchainLookup(data) {\n const result = {\n sender: \"\", urls: [], calldata: \"\", selector: \"\", extraData: \"\", errorArgs: []\n };\n assert(dataLength(data) >= 5 * 32, \"insufficient OffchainLookup data\", \"OFFCHAIN_FAULT\", {\n reason: \"insufficient OffchainLookup data\"\n });\n const sender = dataSlice(data, 0, 32);\n assert(dataSlice(sender, 0, 12) === dataSlice(zeros, 0, 12), \"corrupt OffchainLookup sender\", \"OFFCHAIN_FAULT\", {\n reason: \"corrupt OffchainLookup sender\"\n });\n result.sender = dataSlice(sender, 12);\n // Read the URLs from the response\n try {\n const urls = [];\n const urlsOffset = getNumber(dataSlice(data, 32, 64));\n const urlsLength = getNumber(dataSlice(data, urlsOffset, urlsOffset + 32));\n const urlsData = dataSlice(data, urlsOffset + 32);\n for (let u = 0; u < urlsLength; u++) {\n const url = _parseString(urlsData, u * 32);\n if (url == null) {\n throw new Error(\"abort\");\n }\n urls.push(url);\n }\n result.urls = urls;\n }\n catch (error) {\n assert(false, \"corrupt OffchainLookup urls\", \"OFFCHAIN_FAULT\", {\n reason: \"corrupt OffchainLookup urls\"\n });\n }\n // Get the CCIP calldata to forward\n try {\n const calldata = _parseBytes(data, 64);\n if (calldata == null) {\n throw new Error(\"abort\");\n }\n result.calldata = calldata;\n }\n catch (error) {\n assert(false, \"corrupt OffchainLookup calldata\", \"OFFCHAIN_FAULT\", {\n reason: \"corrupt OffchainLookup calldata\"\n });\n }\n // Get the callbackSelector (bytes4)\n assert(dataSlice(data, 100, 128) === dataSlice(zeros, 0, 28), \"corrupt OffchainLookup callbaackSelector\", \"OFFCHAIN_FAULT\", {\n reason: \"corrupt OffchainLookup callbaackSelector\"\n });\n result.selector = dataSlice(data, 96, 100);\n // Get the extra data to send back to the contract as context\n try {\n const extraData = _parseBytes(data, 128);\n if (extraData == null) {\n throw new Error(\"abort\");\n }\n result.extraData = extraData;\n }\n catch (error) {\n assert(false, \"corrupt OffchainLookup extraData\", \"OFFCHAIN_FAULT\", {\n reason: \"corrupt OffchainLookup extraData\"\n });\n }\n result.errorArgs = \"sender,urls,calldata,selector,extraData\".split(/,/).map((k) => result[k]);\n return result;\n}\n//# sourceMappingURL=abstract-provider.js.map","/**\n * Generally the [[Wallet]] and [[JsonRpcSigner]] and their sub-classes\n * are sufficent for most developers, but this is provided to\n * fascilitate more complex Signers.\n *\n * @_section: api/providers/abstract-signer: Subclassing Signer [abstract-signer]\n */\nimport { resolveAddress } from \"../address/index.js\";\nimport { Transaction } from \"../transaction/index.js\";\nimport { defineProperties, getBigInt, resolveProperties, assert, assertArgument } from \"../utils/index.js\";\nimport { copyRequest } from \"./provider.js\";\nfunction checkProvider(signer, operation) {\n if (signer.provider) {\n return signer.provider;\n }\n assert(false, \"missing provider\", \"UNSUPPORTED_OPERATION\", { operation });\n}\nasync function populate(signer, tx) {\n let pop = copyRequest(tx);\n if (pop.to != null) {\n pop.to = resolveAddress(pop.to, signer);\n }\n if (pop.from != null) {\n const from = pop.from;\n pop.from = Promise.all([\n signer.getAddress(),\n resolveAddress(from, signer)\n ]).then(([address, from]) => {\n assertArgument(address.toLowerCase() === from.toLowerCase(), \"transaction from mismatch\", \"tx.from\", from);\n return address;\n });\n }\n else {\n pop.from = signer.getAddress();\n }\n return await resolveProperties(pop);\n}\n/**\n * An **AbstractSigner** includes most of teh functionality required\n * to get a [[Signer]] working as expected, but requires a few\n * Signer-specific methods be overridden.\n *\n */\nexport class AbstractSigner {\n /**\n * The provider this signer is connected to.\n */\n provider;\n /**\n * Creates a new Signer connected to %%provider%%.\n */\n constructor(provider) {\n defineProperties(this, { provider: (provider || null) });\n }\n async getNonce(blockTag) {\n return checkProvider(this, \"getTransactionCount\").getTransactionCount(await this.getAddress(), blockTag);\n }\n async populateCall(tx) {\n const pop = await populate(this, tx);\n return pop;\n }\n async populateTransaction(tx) {\n const provider = checkProvider(this, \"populateTransaction\");\n const pop = await populate(this, tx);\n if (pop.nonce == null) {\n pop.nonce = await this.getNonce(\"pending\");\n }\n if (pop.gasLimit == null) {\n pop.gasLimit = await this.estimateGas(pop);\n }\n // Populate the chain ID\n const network = await (this.provider).getNetwork();\n if (pop.chainId != null) {\n const chainId = getBigInt(pop.chainId);\n assertArgument(chainId === network.chainId, \"transaction chainId mismatch\", \"tx.chainId\", tx.chainId);\n }\n else {\n pop.chainId = network.chainId;\n }\n // Do not allow mixing pre-eip-1559 and eip-1559 properties\n const hasEip1559 = (pop.maxFeePerGas != null || pop.maxPriorityFeePerGas != null);\n if (pop.gasPrice != null && (pop.type === 2 || hasEip1559)) {\n assertArgument(false, \"eip-1559 transaction do not support gasPrice\", \"tx\", tx);\n }\n else if ((pop.type === 0 || pop.type === 1) && hasEip1559) {\n assertArgument(false, \"pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas\", \"tx\", tx);\n }\n if ((pop.type === 2 || pop.type == null) && (pop.maxFeePerGas != null && pop.maxPriorityFeePerGas != null)) {\n // Fully-formed EIP-1559 transaction (skip getFeeData)\n pop.type = 2;\n }\n else if (pop.type === 0 || pop.type === 1) {\n // Explicit Legacy or EIP-2930 transaction\n // We need to get fee data to determine things\n const feeData = await provider.getFeeData();\n assert(feeData.gasPrice != null, \"network does not support gasPrice\", \"UNSUPPORTED_OPERATION\", {\n operation: \"getGasPrice\"\n });\n // Populate missing gasPrice\n if (pop.gasPrice == null) {\n pop.gasPrice = feeData.gasPrice;\n }\n }\n else {\n // We need to get fee data to determine things\n const feeData = await provider.getFeeData();\n if (pop.type == null) {\n // We need to auto-detect the intended type of this transaction...\n if (feeData.maxFeePerGas != null && feeData.maxPriorityFeePerGas != null) {\n // The network supports EIP-1559!\n // Upgrade transaction from null to eip-1559\n pop.type = 2;\n if (pop.gasPrice != null) {\n // Using legacy gasPrice property on an eip-1559 network,\n // so use gasPrice as both fee properties\n const gasPrice = pop.gasPrice;\n delete pop.gasPrice;\n pop.maxFeePerGas = gasPrice;\n pop.maxPriorityFeePerGas = gasPrice;\n }\n else {\n // Populate missing fee data\n if (pop.maxFeePerGas == null) {\n pop.maxFeePerGas = feeData.maxFeePerGas;\n }\n if (pop.maxPriorityFeePerGas == null) {\n pop.maxPriorityFeePerGas = feeData.maxPriorityFeePerGas;\n }\n }\n }\n else if (feeData.gasPrice != null) {\n // Network doesn't support EIP-1559...\n // ...but they are trying to use EIP-1559 properties\n assert(!hasEip1559, \"network does not support EIP-1559\", \"UNSUPPORTED_OPERATION\", {\n operation: \"populateTransaction\"\n });\n // Populate missing fee data\n if (pop.gasPrice == null) {\n pop.gasPrice = feeData.gasPrice;\n }\n // Explicitly set untyped transaction to legacy\n // @TODO: Maybe this shold allow type 1?\n pop.type = 0;\n }\n else {\n // getFeeData has failed us.\n assert(false, \"failed to get consistent fee data\", \"UNSUPPORTED_OPERATION\", {\n operation: \"signer.getFeeData\"\n });\n }\n }\n else if (pop.type === 2) {\n // Explicitly using EIP-1559\n // Populate missing fee data\n if (pop.maxFeePerGas == null) {\n pop.maxFeePerGas = feeData.maxFeePerGas;\n }\n if (pop.maxPriorityFeePerGas == null) {\n pop.maxPriorityFeePerGas = feeData.maxPriorityFeePerGas;\n }\n }\n }\n //@TOOD: Don't await all over the place; save them up for\n // the end for better batching\n return await resolveProperties(pop);\n }\n async estimateGas(tx) {\n return checkProvider(this, \"estimateGas\").estimateGas(await this.populateCall(tx));\n }\n async call(tx) {\n return checkProvider(this, \"call\").call(await this.populateCall(tx));\n }\n async resolveName(name) {\n const provider = checkProvider(this, \"resolveName\");\n return await provider.resolveName(name);\n }\n async sendTransaction(tx) {\n const provider = checkProvider(this, \"sendTransaction\");\n const pop = await this.populateTransaction(tx);\n delete pop.from;\n const txObj = Transaction.from(pop);\n return await provider.broadcastTransaction(await this.signTransaction(txObj));\n }\n}\n/**\n * A **VoidSigner** is a class deisgned to allow an address to be used\n * in any API which accepts a Signer, but for which there are no\n * credentials available to perform any actual signing.\n *\n * This for example allow impersonating an account for the purpose of\n * static calls or estimating gas, but does not allow sending transactions.\n */\nexport class VoidSigner extends AbstractSigner {\n /**\n * The signer address.\n */\n address;\n /**\n * Creates a new **VoidSigner** with %%address%% attached to\n * %%provider%%.\n */\n constructor(address, provider) {\n super(provider);\n defineProperties(this, { address });\n }\n async getAddress() { return this.address; }\n connect(provider) {\n return new VoidSigner(this.address, provider);\n }\n #throwUnsupported(suffix, operation) {\n assert(false, `VoidSigner cannot sign ${suffix}`, \"UNSUPPORTED_OPERATION\", { operation });\n }\n async signTransaction(tx) {\n this.#throwUnsupported(\"transactions\", \"signTransaction\");\n }\n async signMessage(message) {\n this.#throwUnsupported(\"messages\", \"signMessage\");\n }\n async signTypedData(domain, types, value) {\n this.#throwUnsupported(\"typed-data\", \"signTypedData\");\n }\n}\n//# sourceMappingURL=abstract-signer.js.map","/**\n * There are many awesome community services that provide Ethereum\n * nodes both for developers just starting out and for large-scale\n * communities.\n *\n * @_section: api/providers/thirdparty: Community Providers [thirdparty]\n */\n// Show the throttle message only once per service\nconst shown = new Set();\n/**\n * Displays a warning in tht console when the community resource is\n * being used too heavily by the app, recommending the developer\n * acquire their own credentials instead of using the community\n * credentials.\n *\n * The notification will only occur once per service.\n */\nexport function showThrottleMessage(service) {\n if (shown.has(service)) {\n return;\n }\n shown.add(service);\n console.log(\"========= NOTICE =========\");\n console.log(`Request-Rate Exceeded for ${service} (this message will not be repeated)`);\n console.log(\"\");\n console.log(\"The default API keys for each service are provided as a highly-throttled,\");\n console.log(\"community resource for low-traffic projects and early prototyping.\");\n console.log(\"\");\n console.log(\"While your application will continue to function, we highly recommended\");\n console.log(\"signing up for your own API keys to improve performance, increase your\");\n console.log(\"request rate/limit and enable other perks, such as metrics and advanced APIs.\");\n console.log(\"\");\n console.log(\"For more details: https:/\\/docs.ethers.org/api-keys/\");\n console.log(\"==========================\");\n}\n//# sourceMappingURL=community.js.map","import { isError } from \"../utils/index.js\";\nimport { PollingEventSubscriber } from \"./subscriber-polling.js\";\nfunction copy(obj) {\n return JSON.parse(JSON.stringify(obj));\n}\n/**\n * Some backends support subscribing to events using a Filter ID.\n *\n * When subscribing with this technique, the node issues a unique\n * //Filter ID//. At this point the node dedicates resources to\n * the filter, so that periodic calls to follow up on the //Filter ID//\n * will receive any events since the last call.\n *\n * @_docloc: api/providers/abstract-provider\n */\nexport class FilterIdSubscriber {\n #provider;\n #filterIdPromise;\n #poller;\n #running;\n #network;\n #hault;\n /**\n * Creates a new **FilterIdSubscriber** which will used [[_subscribe]]\n * and [[_emitResults]] to setup the subscription and provide the event\n * to the %%provider%%.\n */\n constructor(provider) {\n this.#provider = provider;\n this.#filterIdPromise = null;\n this.#poller = this.#poll.bind(this);\n this.#running = false;\n this.#network = null;\n this.#hault = false;\n }\n /**\n * Sub-classes **must** override this to begin the subscription.\n */\n _subscribe(provider) {\n throw new Error(\"subclasses must override this\");\n }\n /**\n * Sub-classes **must** override this handle the events.\n */\n _emitResults(provider, result) {\n throw new Error(\"subclasses must override this\");\n }\n /**\n * Sub-classes **must** override this handle recovery on errors.\n */\n _recover(provider) {\n throw new Error(\"subclasses must override this\");\n }\n async #poll(blockNumber) {\n try {\n // Subscribe if necessary\n if (this.#filterIdPromise == null) {\n this.#filterIdPromise = this._subscribe(this.#provider);\n }\n // Get the Filter ID\n let filterId = null;\n try {\n filterId = await this.#filterIdPromise;\n }\n catch (error) {\n if (!isError(error, \"UNSUPPORTED_OPERATION\") || error.operation !== \"eth_newFilter\") {\n throw error;\n }\n }\n // The backend does not support Filter ID; downgrade to\n // polling\n if (filterId == null) {\n this.#filterIdPromise = null;\n this.#provider._recoverSubscriber(this, this._recover(this.#provider));\n return;\n }\n const network = await this.#provider.getNetwork();\n if (!this.#network) {\n this.#network = network;\n }\n if (this.#network.chainId !== network.chainId) {\n throw new Error(\"chaid changed\");\n }\n if (this.#hault) {\n return;\n }\n const result = await this.#provider.send(\"eth_getFilterChanges\", [filterId]);\n await this._emitResults(this.#provider, result);\n }\n catch (error) {\n console.log(\"@TODO\", error);\n }\n this.#provider.once(\"block\", this.#poller);\n }\n #teardown() {\n const filterIdPromise = this.#filterIdPromise;\n if (filterIdPromise) {\n this.#filterIdPromise = null;\n filterIdPromise.then((filterId) => {\n this.#provider.send(\"eth_uninstallFilter\", [filterId]);\n });\n }\n }\n start() {\n if (this.#running) {\n return;\n }\n this.#running = true;\n this.#poll(-2);\n }\n stop() {\n if (!this.#running) {\n return;\n }\n this.#running = false;\n this.#hault = true;\n this.#teardown();\n this.#provider.off(\"block\", this.#poller);\n }\n pause(dropWhilePaused) {\n if (dropWhilePaused) {\n this.#teardown();\n }\n this.#provider.off(\"block\", this.#poller);\n }\n resume() { this.start(); }\n}\n/**\n * A **FilterIdSubscriber** for receiving contract events.\n *\n * @_docloc: api/providers/abstract-provider\n */\nexport class FilterIdEventSubscriber extends FilterIdSubscriber {\n #event;\n /**\n * Creates a new **FilterIdEventSubscriber** attached to %%provider%%\n * listening for %%filter%%.\n */\n constructor(provider, filter) {\n super(provider);\n this.#event = copy(filter);\n }\n _recover(provider) {\n return new PollingEventSubscriber(provider, this.#event);\n }\n async _subscribe(provider) {\n const filterId = await provider.send(\"eth_newFilter\", [this.#event]);\n return filterId;\n }\n async _emitResults(provider, results) {\n for (const result of results) {\n provider.emit(this.#event, provider._wrapLog(result, provider._network));\n }\n }\n}\n/**\n * A **FilterIdSubscriber** for receiving pending transactions events.\n *\n * @_docloc: api/providers/abstract-provider\n */\nexport class FilterIdPendingSubscriber extends FilterIdSubscriber {\n async _subscribe(provider) {\n return await provider.send(\"eth_newPendingTransactionFilter\", []);\n }\n async _emitResults(provider, results) {\n for (const result of results) {\n provider.emit(\"pending\", result);\n }\n }\n}\n//# sourceMappingURL=subscriber-filterid.js.map","/**\n * One of the most common ways to interact with the blockchain is\n * by a node running a JSON-RPC interface which can be connected to,\n * based on the transport, using:\n *\n * - HTTP or HTTPS - [[JsonRpcProvider]]\n * - WebSocket - [[WebSocketProvider]]\n * - IPC - [[IpcSocketProvider]]\n *\n * @_section: api/providers/jsonrpc:JSON-RPC Provider [about-jsonrpcProvider]\n */\n// @TODO:\n// - Add the batching API\n// https://playground.open-rpc.org/?schemaUrl=https://raw.githubusercontent.com/ethereum/eth1.0-apis/assembled-spec/openrpc.json&uiSchema%5BappBar%5D%5Bui:splitView%5D=true&uiSchema%5BappBar%5D%5Bui:input%5D=false&uiSchema%5BappBar%5D%5Bui:examplesDropdown%5D=false\nimport { AbiCoder } from \"../abi/index.js\";\nimport { getAddress, resolveAddress } from \"../address/index.js\";\nimport { TypedDataEncoder } from \"../hash/index.js\";\nimport { accessListify } from \"../transaction/index.js\";\nimport { defineProperties, getBigInt, hexlify, isHexString, toQuantity, toUtf8Bytes, isError, makeError, assert, assertArgument, FetchRequest, resolveProperties } from \"../utils/index.js\";\nimport { AbstractProvider, UnmanagedSubscriber } from \"./abstract-provider.js\";\nimport { AbstractSigner } from \"./abstract-signer.js\";\nimport { Network } from \"./network.js\";\nimport { FilterIdEventSubscriber, FilterIdPendingSubscriber } from \"./subscriber-filterid.js\";\nimport { PollingEventSubscriber } from \"./subscriber-polling.js\";\nconst Primitive = \"bigint,boolean,function,number,string,symbol\".split(/,/g);\n//const Methods = \"getAddress,then\".split(/,/g);\nfunction deepCopy(value) {\n if (value == null || Primitive.indexOf(typeof (value)) >= 0) {\n return value;\n }\n // Keep any Addressable\n if (typeof (value.getAddress) === \"function\") {\n return value;\n }\n if (Array.isArray(value)) {\n return (value.map(deepCopy));\n }\n if (typeof (value) === \"object\") {\n return Object.keys(value).reduce((accum, key) => {\n accum[key] = value[key];\n return accum;\n }, {});\n }\n throw new Error(`should not happen: ${value} (${typeof (value)})`);\n}\nfunction stall(duration) {\n return new Promise((resolve) => { setTimeout(resolve, duration); });\n}\nfunction getLowerCase(value) {\n if (value) {\n return value.toLowerCase();\n }\n return value;\n}\nfunction isPollable(value) {\n return (value && typeof (value.pollingInterval) === \"number\");\n}\nconst defaultOptions = {\n polling: false,\n staticNetwork: null,\n batchStallTime: 10,\n batchMaxSize: (1 << 20),\n batchMaxCount: 100,\n cacheTimeout: 250,\n pollingInterval: 4000\n};\n// @TODO: Unchecked Signers\nexport class JsonRpcSigner extends AbstractSigner {\n address;\n constructor(provider, address) {\n super(provider);\n address = getAddress(address);\n defineProperties(this, { address });\n }\n connect(provider) {\n assert(false, \"cannot reconnect JsonRpcSigner\", \"UNSUPPORTED_OPERATION\", {\n operation: \"signer.connect\"\n });\n }\n async getAddress() {\n return this.address;\n }\n // JSON-RPC will automatially fill in nonce, etc. so we just check from\n async populateTransaction(tx) {\n return await this.populateCall(tx);\n }\n // Returns just the hash of the transaction after sent, which is what\n // the bare JSON-RPC API does;\n async sendUncheckedTransaction(_tx) {\n const tx = deepCopy(_tx);\n const promises = [];\n // Make sure the from matches the sender\n if (tx.from) {\n const _from = tx.from;\n promises.push((async () => {\n const from = await resolveAddress(_from, this.provider);\n assertArgument(from != null && from.toLowerCase() === this.address.toLowerCase(), \"from address mismatch\", \"transaction\", _tx);\n tx.from = from;\n })());\n }\n else {\n tx.from = this.address;\n }\n // The JSON-RPC for eth_sendTransaction uses 90000 gas; if the user\n // wishes to use this, it is easy to specify explicitly, otherwise\n // we look it up for them.\n if (tx.gasLimit == null) {\n promises.push((async () => {\n tx.gasLimit = await this.provider.estimateGas({ ...tx, from: this.address });\n })());\n }\n // The address may be an ENS name or Addressable\n if (tx.to != null) {\n const _to = tx.to;\n promises.push((async () => {\n tx.to = await resolveAddress(_to, this.provider);\n })());\n }\n // Wait until all of our properties are filled in\n if (promises.length) {\n await Promise.all(promises);\n }\n const hexTx = this.provider.getRpcTransaction(tx);\n return this.provider.send(\"eth_sendTransaction\", [hexTx]);\n }\n async sendTransaction(tx) {\n // This cannot be mined any earlier than any recent block\n const blockNumber = await this.provider.getBlockNumber();\n // Send the transaction\n const hash = await this.sendUncheckedTransaction(tx);\n // Unfortunately, JSON-RPC only provides and opaque transaction hash\n // for a response, and we need the actual transaction, so we poll\n // for it; it should show up very quickly\n return await (new Promise((resolve, reject) => {\n const timeouts = [1000, 100];\n let invalids = 0;\n const checkTx = async () => {\n try {\n // Try getting the transaction\n const tx = await this.provider.getTransaction(hash);\n if (tx != null) {\n resolve(tx.replaceableTransaction(blockNumber));\n return;\n }\n }\n catch (error) {\n // If we were cancelled: stop polling.\n // If the data is bad: the node returns bad transactions\n // If the network changed: calling again will also fail\n // If unsupported: likely destroyed\n if (isError(error, \"CANCELLED\") || isError(error, \"BAD_DATA\") ||\n isError(error, \"NETWORK_ERROR\" || isError(error, \"UNSUPPORTED_OPERATION\"))) {\n if (error.info == null) {\n error.info = {};\n }\n error.info.sendTransactionHash = hash;\n reject(error);\n return;\n }\n // Stop-gap for misbehaving backends; see #4513\n if (isError(error, \"INVALID_ARGUMENT\")) {\n invalids++;\n if (error.info == null) {\n error.info = {};\n }\n error.info.sendTransactionHash = hash;\n if (invalids > 10) {\n reject(error);\n return;\n }\n }\n // Notify anyone that cares; but we will try again, since\n // it is likely an intermittent service error\n this.provider.emit(\"error\", makeError(\"failed to fetch transation after sending (will try again)\", \"UNKNOWN_ERROR\", { error }));\n }\n // Wait another 4 seconds\n this.provider._setTimeout(() => { checkTx(); }, timeouts.pop() || 4000);\n };\n checkTx();\n }));\n }\n async signTransaction(_tx) {\n const tx = deepCopy(_tx);\n // Make sure the from matches the sender\n if (tx.from) {\n const from = await resolveAddress(tx.from, this.provider);\n assertArgument(from != null && from.toLowerCase() === this.address.toLowerCase(), \"from address mismatch\", \"transaction\", _tx);\n tx.from = from;\n }\n else {\n tx.from = this.address;\n }\n const hexTx = this.provider.getRpcTransaction(tx);\n return await this.provider.send(\"eth_signTransaction\", [hexTx]);\n }\n async signMessage(_message) {\n const message = ((typeof (_message) === \"string\") ? toUtf8Bytes(_message) : _message);\n return await this.provider.send(\"personal_sign\", [\n hexlify(message), this.address.toLowerCase()\n ]);\n }\n async signTypedData(domain, types, _value) {\n const value = deepCopy(_value);\n // Populate any ENS names (in-place)\n const populated = await TypedDataEncoder.resolveNames(domain, types, value, async (value) => {\n const address = await resolveAddress(value);\n assertArgument(address != null, \"TypedData does not support null address\", \"value\", value);\n return address;\n });\n return await this.provider.send(\"eth_signTypedData_v4\", [\n this.address.toLowerCase(),\n JSON.stringify(TypedDataEncoder.getPayload(populated.domain, types, populated.value))\n ]);\n }\n async unlock(password) {\n return this.provider.send(\"personal_unlockAccount\", [\n this.address.toLowerCase(), password, null\n ]);\n }\n // https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_sign\n async _legacySignMessage(_message) {\n const message = ((typeof (_message) === \"string\") ? toUtf8Bytes(_message) : _message);\n return await this.provider.send(\"eth_sign\", [\n this.address.toLowerCase(), hexlify(message)\n ]);\n }\n}\n/**\n * The JsonRpcApiProvider is an abstract class and **MUST** be\n * sub-classed.\n *\n * It provides the base for all JSON-RPC-based Provider interaction.\n *\n * Sub-classing Notes:\n * - a sub-class MUST override _send\n * - a sub-class MUST call the `_start()` method once connected\n */\nexport class JsonRpcApiProvider extends AbstractProvider {\n #options;\n // The next ID to use for the JSON-RPC ID field\n #nextId;\n // Payloads are queued and triggered in batches using the drainTimer\n #payloads;\n #drainTimer;\n #notReady;\n #network;\n #pendingDetectNetwork;\n #scheduleDrain() {\n if (this.#drainTimer) {\n return;\n }\n // If we aren't using batching, no harm in sending it immediately\n const stallTime = (this._getOption(\"batchMaxCount\") === 1) ? 0 : this._getOption(\"batchStallTime\");\n this.#drainTimer = setTimeout(() => {\n this.#drainTimer = null;\n const payloads = this.#payloads;\n this.#payloads = [];\n while (payloads.length) {\n // Create payload batches that satisfy our batch constraints\n const batch = [(payloads.shift())];\n while (payloads.length) {\n if (batch.length === this.#options.batchMaxCount) {\n break;\n }\n batch.push((payloads.shift()));\n const bytes = JSON.stringify(batch.map((p) => p.payload));\n if (bytes.length > this.#options.batchMaxSize) {\n payloads.unshift((batch.pop()));\n break;\n }\n }\n // Process the result to each payload\n (async () => {\n const payload = ((batch.length === 1) ? batch[0].payload : batch.map((p) => p.payload));\n this.emit(\"debug\", { action: \"sendRpcPayload\", payload });\n try {\n const result = await this._send(payload);\n this.emit(\"debug\", { action: \"receiveRpcResult\", result });\n // Process results in batch order\n for (const { resolve, reject, payload } of batch) {\n if (this.destroyed) {\n reject(makeError(\"provider destroyed; cancelled request\", \"UNSUPPORTED_OPERATION\", { operation: payload.method }));\n continue;\n }\n // Find the matching result\n const resp = result.filter((r) => (r.id === payload.id))[0];\n // No result; the node failed us in unexpected ways\n if (resp == null) {\n const error = makeError(\"missing response for request\", \"BAD_DATA\", {\n value: result, info: { payload }\n });\n this.emit(\"error\", error);\n reject(error);\n continue;\n }\n // The response is an error\n if (\"error\" in resp) {\n reject(this.getRpcError(payload, resp));\n continue;\n }\n // All good; send the result\n resolve(resp.result);\n }\n }\n catch (error) {\n this.emit(\"debug\", { action: \"receiveRpcError\", error });\n for (const { reject } of batch) {\n // @TODO: augment the error with the payload\n reject(error);\n }\n }\n })();\n }\n }, stallTime);\n }\n constructor(network, options) {\n super(network, options);\n this.#nextId = 1;\n this.#options = Object.assign({}, defaultOptions, options || {});\n this.#payloads = [];\n this.#drainTimer = null;\n this.#network = null;\n this.#pendingDetectNetwork = null;\n {\n let resolve = null;\n const promise = new Promise((_resolve) => {\n resolve = _resolve;\n });\n this.#notReady = { promise, resolve };\n }\n const staticNetwork = this._getOption(\"staticNetwork\");\n if (typeof (staticNetwork) === \"boolean\") {\n assertArgument(!staticNetwork || network !== \"any\", \"staticNetwork cannot be used on special network 'any'\", \"options\", options);\n if (staticNetwork && network != null) {\n this.#network = Network.from(network);\n }\n }\n else if (staticNetwork) {\n // Make sure any static network is compatbile with the provided netwrok\n assertArgument(network == null || staticNetwork.matches(network), \"staticNetwork MUST match network object\", \"options\", options);\n this.#network = staticNetwork;\n }\n }\n /**\n * Returns the value associated with the option %%key%%.\n *\n * Sub-classes can use this to inquire about configuration options.\n */\n _getOption(key) {\n return this.#options[key];\n }\n /**\n * Gets the [[Network]] this provider has committed to. On each call, the network\n * is detected, and if it has changed, the call will reject.\n */\n get _network() {\n assert(this.#network, \"network is not available yet\", \"NETWORK_ERROR\");\n return this.#network;\n }\n /**\n * Resolves to the non-normalized value by performing %%req%%.\n *\n * Sub-classes may override this to modify behavior of actions,\n * and should generally call ``super._perform`` as a fallback.\n */\n async _perform(req) {\n // Legacy networks do not like the type field being passed along (which\n // is fair), so we delete type if it is 0 and a non-EIP-1559 network\n if (req.method === \"call\" || req.method === \"estimateGas\") {\n let tx = req.transaction;\n if (tx && tx.type != null && getBigInt(tx.type)) {\n // If there are no EIP-1559 properties, it might be non-EIP-a559\n if (tx.maxFeePerGas == null && tx.maxPriorityFeePerGas == null) {\n const feeData = await this.getFeeData();\n if (feeData.maxFeePerGas == null && feeData.maxPriorityFeePerGas == null) {\n // Network doesn't know about EIP-1559 (and hence type)\n req = Object.assign({}, req, {\n transaction: Object.assign({}, tx, { type: undefined })\n });\n }\n }\n }\n }\n const request = this.getRpcRequest(req);\n if (request != null) {\n return await this.send(request.method, request.args);\n }\n return super._perform(req);\n }\n /**\n * Sub-classes may override this; it detects the *actual* network that\n * we are **currently** connected to.\n *\n * Keep in mind that [[send]] may only be used once [[ready]], otherwise the\n * _send primitive must be used instead.\n */\n async _detectNetwork() {\n const network = this._getOption(\"staticNetwork\");\n if (network) {\n if (network === true) {\n if (this.#network) {\n return this.#network;\n }\n }\n else {\n return network;\n }\n }\n if (this.#pendingDetectNetwork) {\n return await this.#pendingDetectNetwork;\n }\n // If we are ready, use ``send``, which enabled requests to be batched\n if (this.ready) {\n this.#pendingDetectNetwork = (async () => {\n try {\n const result = Network.from(getBigInt(await this.send(\"eth_chainId\", [])));\n this.#pendingDetectNetwork = null;\n return result;\n }\n catch (error) {\n this.#pendingDetectNetwork = null;\n throw error;\n }\n })();\n return await this.#pendingDetectNetwork;\n }\n // We are not ready yet; use the primitive _send\n this.#pendingDetectNetwork = (async () => {\n const payload = {\n id: this.#nextId++, method: \"eth_chainId\", params: [], jsonrpc: \"2.0\"\n };\n this.emit(\"debug\", { action: \"sendRpcPayload\", payload });\n let result;\n try {\n result = (await this._send(payload))[0];\n this.#pendingDetectNetwork = null;\n }\n catch (error) {\n this.#pendingDetectNetwork = null;\n this.emit(\"debug\", { action: \"receiveRpcError\", error });\n throw error;\n }\n this.emit(\"debug\", { action: \"receiveRpcResult\", result });\n if (\"result\" in result) {\n return Network.from(getBigInt(result.result));\n }\n throw this.getRpcError(payload, result);\n })();\n return await this.#pendingDetectNetwork;\n }\n /**\n * Sub-classes **MUST** call this. Until [[_start]] has been called, no calls\n * will be passed to [[_send]] from [[send]]. If it is overridden, then\n * ``super._start()`` **MUST** be called.\n *\n * Calling it multiple times is safe and has no effect.\n */\n _start() {\n if (this.#notReady == null || this.#notReady.resolve == null) {\n return;\n }\n this.#notReady.resolve();\n this.#notReady = null;\n (async () => {\n // Bootstrap the network\n while (this.#network == null && !this.destroyed) {\n try {\n this.#network = await this._detectNetwork();\n }\n catch (error) {\n if (this.destroyed) {\n break;\n }\n console.log(\"JsonRpcProvider failed to detect network and cannot start up; retry in 1s (perhaps the URL is wrong or the node is not started)\");\n this.emit(\"error\", makeError(\"failed to bootstrap network detection\", \"NETWORK_ERROR\", { event: \"initial-network-discovery\", info: { error } }));\n await stall(1000);\n }\n }\n // Start dispatching requests\n this.#scheduleDrain();\n })();\n }\n /**\n * Resolves once the [[_start]] has been called. This can be used in\n * sub-classes to defer sending data until the connection has been\n * established.\n */\n async _waitUntilReady() {\n if (this.#notReady == null) {\n return;\n }\n return await this.#notReady.promise;\n }\n /**\n * Return a Subscriber that will manage the %%sub%%.\n *\n * Sub-classes may override this to modify the behavior of\n * subscription management.\n */\n _getSubscriber(sub) {\n // Pending Filters aren't availble via polling\n if (sub.type === \"pending\") {\n return new FilterIdPendingSubscriber(this);\n }\n if (sub.type === \"event\") {\n if (this._getOption(\"polling\")) {\n return new PollingEventSubscriber(this, sub.filter);\n }\n return new FilterIdEventSubscriber(this, sub.filter);\n }\n // Orphaned Logs are handled automatically, by the filter, since\n // logs with removed are emitted by it\n if (sub.type === \"orphan\" && sub.filter.orphan === \"drop-log\") {\n return new UnmanagedSubscriber(\"orphan\");\n }\n return super._getSubscriber(sub);\n }\n /**\n * Returns true only if the [[_start]] has been called.\n */\n get ready() { return this.#notReady == null; }\n /**\n * Returns %%tx%% as a normalized JSON-RPC transaction request,\n * which has all values hexlified and any numeric values converted\n * to Quantity values.\n */\n getRpcTransaction(tx) {\n const result = {};\n // JSON-RPC now requires numeric values to be \"quantity\" values\n [\"chainId\", \"gasLimit\", \"gasPrice\", \"type\", \"maxFeePerGas\", \"maxPriorityFeePerGas\", \"nonce\", \"value\"].forEach((key) => {\n if (tx[key] == null) {\n return;\n }\n let dstKey = key;\n if (key === \"gasLimit\") {\n dstKey = \"gas\";\n }\n result[dstKey] = toQuantity(getBigInt(tx[key], `tx.${key}`));\n });\n // Make sure addresses and data are lowercase\n [\"from\", \"to\", \"data\"].forEach((key) => {\n if (tx[key] == null) {\n return;\n }\n result[key] = hexlify(tx[key]);\n });\n // Normalize the access list object\n if (tx.accessList) {\n result[\"accessList\"] = accessListify(tx.accessList);\n }\n return result;\n }\n /**\n * Returns the request method and arguments required to perform\n * %%req%%.\n */\n getRpcRequest(req) {\n switch (req.method) {\n case \"chainId\":\n return { method: \"eth_chainId\", args: [] };\n case \"getBlockNumber\":\n return { method: \"eth_blockNumber\", args: [] };\n case \"getGasPrice\":\n return { method: \"eth_gasPrice\", args: [] };\n case \"getPriorityFee\":\n return { method: \"eth_maxPriorityFeePerGas\", args: [] };\n case \"getBalance\":\n return {\n method: \"eth_getBalance\",\n args: [getLowerCase(req.address), req.blockTag]\n };\n case \"getTransactionCount\":\n return {\n method: \"eth_getTransactionCount\",\n args: [getLowerCase(req.address), req.blockTag]\n };\n case \"getCode\":\n return {\n method: \"eth_getCode\",\n args: [getLowerCase(req.address), req.blockTag]\n };\n case \"getStorage\":\n return {\n method: \"eth_getStorageAt\",\n args: [\n getLowerCase(req.address),\n (\"0x\" + req.position.toString(16)),\n req.blockTag\n ]\n };\n case \"broadcastTransaction\":\n return {\n method: \"eth_sendRawTransaction\",\n args: [req.signedTransaction]\n };\n case \"getBlock\":\n if (\"blockTag\" in req) {\n return {\n method: \"eth_getBlockByNumber\",\n args: [req.blockTag, !!req.includeTransactions]\n };\n }\n else if (\"blockHash\" in req) {\n return {\n method: \"eth_getBlockByHash\",\n args: [req.blockHash, !!req.includeTransactions]\n };\n }\n break;\n case \"getTransaction\":\n return {\n method: \"eth_getTransactionByHash\",\n args: [req.hash]\n };\n case \"getTransactionReceipt\":\n return {\n method: \"eth_getTransactionReceipt\",\n args: [req.hash]\n };\n case \"call\":\n return {\n method: \"eth_call\",\n args: [this.getRpcTransaction(req.transaction), req.blockTag]\n };\n case \"estimateGas\": {\n return {\n method: \"eth_estimateGas\",\n args: [this.getRpcTransaction(req.transaction)]\n };\n }\n case \"getLogs\":\n if (req.filter && req.filter.address != null) {\n if (Array.isArray(req.filter.address)) {\n req.filter.address = req.filter.address.map(getLowerCase);\n }\n else {\n req.filter.address = getLowerCase(req.filter.address);\n }\n }\n return { method: \"eth_getLogs\", args: [req.filter] };\n }\n return null;\n }\n /**\n * Returns an ethers-style Error for the given JSON-RPC error\n * %%payload%%, coalescing the various strings and error shapes\n * that different nodes return, coercing them into a machine-readable\n * standardized error.\n */\n getRpcError(payload, _error) {\n const { method } = payload;\n const { error } = _error;\n if (method === \"eth_estimateGas\" && error.message) {\n const msg = error.message;\n if (!msg.match(/revert/i) && msg.match(/insufficient funds/i)) {\n return makeError(\"insufficient funds\", \"INSUFFICIENT_FUNDS\", {\n transaction: (payload.params[0]),\n info: { payload, error }\n });\n }\n }\n if (method === \"eth_call\" || method === \"eth_estimateGas\") {\n const result = spelunkData(error);\n const e = AbiCoder.getBuiltinCallException((method === \"eth_call\") ? \"call\" : \"estimateGas\", (payload.params[0]), (result ? result.data : null));\n e.info = { error, payload };\n return e;\n }\n // Only estimateGas and call can return arbitrary contract-defined text, so now we\n // we can process text safely.\n const message = JSON.stringify(spelunkMessage(error));\n if (typeof (error.message) === \"string\" && error.message.match(/user denied|ethers-user-denied/i)) {\n const actionMap = {\n eth_sign: \"signMessage\",\n personal_sign: \"signMessage\",\n eth_signTypedData_v4: \"signTypedData\",\n eth_signTransaction: \"signTransaction\",\n eth_sendTransaction: \"sendTransaction\",\n eth_requestAccounts: \"requestAccess\",\n wallet_requestAccounts: \"requestAccess\",\n };\n return makeError(`user rejected action`, \"ACTION_REJECTED\", {\n action: (actionMap[method] || \"unknown\"),\n reason: \"rejected\",\n info: { payload, error }\n });\n }\n if (method === \"eth_sendRawTransaction\" || method === \"eth_sendTransaction\") {\n const transaction = (payload.params[0]);\n if (message.match(/insufficient funds|base fee exceeds gas limit/i)) {\n return makeError(\"insufficient funds for intrinsic transaction cost\", \"INSUFFICIENT_FUNDS\", {\n transaction, info: { error }\n });\n }\n if (message.match(/nonce/i) && message.match(/too low/i)) {\n return makeError(\"nonce has already been used\", \"NONCE_EXPIRED\", { transaction, info: { error } });\n }\n // \"replacement transaction underpriced\"\n if (message.match(/replacement transaction/i) && message.match(/underpriced/i)) {\n return makeError(\"replacement fee too low\", \"REPLACEMENT_UNDERPRICED\", { transaction, info: { error } });\n }\n if (message.match(/only replay-protected/i)) {\n return makeError(\"legacy pre-eip-155 transactions not supported\", \"UNSUPPORTED_OPERATION\", {\n operation: method, info: { transaction, info: { error } }\n });\n }\n }\n let unsupported = !!message.match(/the method .* does not exist/i);\n if (!unsupported) {\n if (error && error.details && error.details.startsWith(\"Unauthorized method:\")) {\n unsupported = true;\n }\n }\n if (unsupported) {\n return makeError(\"unsupported operation\", \"UNSUPPORTED_OPERATION\", {\n operation: payload.method, info: { error, payload }\n });\n }\n return makeError(\"could not coalesce error\", \"UNKNOWN_ERROR\", { error, payload });\n }\n /**\n * Requests the %%method%% with %%params%% via the JSON-RPC protocol\n * over the underlying channel. This can be used to call methods\n * on the backend that do not have a high-level API within the Provider\n * API.\n *\n * This method queues requests according to the batch constraints\n * in the options, assigns the request a unique ID.\n *\n * **Do NOT override** this method in sub-classes; instead\n * override [[_send]] or force the options values in the\n * call to the constructor to modify this method's behavior.\n */\n send(method, params) {\n // @TODO: cache chainId?? purge on switch_networks\n // We have been destroyed; no operations are supported anymore\n if (this.destroyed) {\n return Promise.reject(makeError(\"provider destroyed; cancelled request\", \"UNSUPPORTED_OPERATION\", { operation: method }));\n }\n const id = this.#nextId++;\n const promise = new Promise((resolve, reject) => {\n this.#payloads.push({\n resolve, reject,\n payload: { method, params, id, jsonrpc: \"2.0\" }\n });\n });\n // If there is not a pending drainTimer, set one\n this.#scheduleDrain();\n return promise;\n }\n /**\n * Resolves to the [[Signer]] account for %%address%% managed by\n * the client.\n *\n * If the %%address%% is a number, it is used as an index in the\n * the accounts from [[listAccounts]].\n *\n * This can only be used on clients which manage accounts (such as\n * Geth with imported account or MetaMask).\n *\n * Throws if the account doesn't exist.\n */\n async getSigner(address) {\n if (address == null) {\n address = 0;\n }\n const accountsPromise = this.send(\"eth_accounts\", []);\n // Account index\n if (typeof (address) === \"number\") {\n const accounts = (await accountsPromise);\n if (address >= accounts.length) {\n throw new Error(\"no such account\");\n }\n return new JsonRpcSigner(this, accounts[address]);\n }\n const { accounts } = await resolveProperties({\n network: this.getNetwork(),\n accounts: accountsPromise\n });\n // Account address\n address = getAddress(address);\n for (const account of accounts) {\n if (getAddress(account) === address) {\n return new JsonRpcSigner(this, address);\n }\n }\n throw new Error(\"invalid account\");\n }\n async listAccounts() {\n const accounts = await this.send(\"eth_accounts\", []);\n return accounts.map((a) => new JsonRpcSigner(this, a));\n }\n destroy() {\n // Stop processing requests\n if (this.#drainTimer) {\n clearTimeout(this.#drainTimer);\n this.#drainTimer = null;\n }\n // Cancel all pending requests\n for (const { payload, reject } of this.#payloads) {\n reject(makeError(\"provider destroyed; cancelled request\", \"UNSUPPORTED_OPERATION\", { operation: payload.method }));\n }\n this.#payloads = [];\n // Parent clean-up\n super.destroy();\n }\n}\n// @TODO: remove this in v7, it is not exported because this functionality\n// is exposed in the JsonRpcApiProvider by setting polling to true. It should\n// be safe to remove regardless, because it isn't reachable, but just in case.\n/**\n * @_ignore:\n */\nexport class JsonRpcApiPollingProvider extends JsonRpcApiProvider {\n #pollingInterval;\n constructor(network, options) {\n super(network, options);\n this.#pollingInterval = 4000;\n }\n _getSubscriber(sub) {\n const subscriber = super._getSubscriber(sub);\n if (isPollable(subscriber)) {\n subscriber.pollingInterval = this.#pollingInterval;\n }\n return subscriber;\n }\n /**\n * The polling interval (default: 4000 ms)\n */\n get pollingInterval() { return this.#pollingInterval; }\n set pollingInterval(value) {\n if (!Number.isInteger(value) || value < 0) {\n throw new Error(\"invalid interval\");\n }\n this.#pollingInterval = value;\n this._forEachSubscriber((sub) => {\n if (isPollable(sub)) {\n sub.pollingInterval = this.#pollingInterval;\n }\n });\n }\n}\n/**\n * The JsonRpcProvider is one of the most common Providers,\n * which performs all operations over HTTP (or HTTPS) requests.\n *\n * Events are processed by polling the backend for the current block\n * number; when it advances, all block-base events are then checked\n * for updates.\n */\nexport class JsonRpcProvider extends JsonRpcApiPollingProvider {\n #connect;\n constructor(url, network, options) {\n if (url == null) {\n url = \"http:/\\/localhost:8545\";\n }\n super(network, options);\n if (typeof (url) === \"string\") {\n this.#connect = new FetchRequest(url);\n }\n else {\n this.#connect = url.clone();\n }\n }\n _getConnection() {\n return this.#connect.clone();\n }\n async send(method, params) {\n // All requests are over HTTP, so we can just start handling requests\n // We do this here rather than the constructor so that we don't send any\n // requests to the network (i.e. eth_chainId) until we absolutely have to.\n await this._start();\n return await super.send(method, params);\n }\n async _send(payload) {\n // Configure a POST connection for the requested method\n const request = this._getConnection();\n request.body = JSON.stringify(payload);\n request.setHeader(\"content-type\", \"application/json\");\n const response = await request.send();\n response.assertOk();\n let resp = response.bodyJson;\n if (!Array.isArray(resp)) {\n resp = [resp];\n }\n return resp;\n }\n}\nfunction spelunkData(value) {\n if (value == null) {\n return null;\n }\n // These *are* the droids we're looking for.\n if (typeof (value.message) === \"string\" && value.message.match(/revert/i) && isHexString(value.data)) {\n return { message: value.message, data: value.data };\n }\n // Spelunk further...\n if (typeof (value) === \"object\") {\n for (const key in value) {\n const result = spelunkData(value[key]);\n if (result) {\n return result;\n }\n }\n return null;\n }\n // Might be a JSON string we can further descend...\n if (typeof (value) === \"string\") {\n try {\n return spelunkData(JSON.parse(value));\n }\n catch (error) { }\n }\n return null;\n}\nfunction _spelunkMessage(value, result) {\n if (value == null) {\n return;\n }\n // These *are* the droids we're looking for.\n if (typeof (value.message) === \"string\") {\n result.push(value.message);\n }\n // Spelunk further...\n if (typeof (value) === \"object\") {\n for (const key in value) {\n _spelunkMessage(value[key], result);\n }\n }\n // Might be a JSON string we can further descend...\n if (typeof (value) === \"string\") {\n try {\n return _spelunkMessage(JSON.parse(value), result);\n }\n catch (error) { }\n }\n}\nfunction spelunkMessage(value) {\n const result = [];\n _spelunkMessage(value, result);\n return result;\n}\n//# sourceMappingURL=provider-jsonrpc.js.map","/**\n * [[link-ankr]] provides a third-party service for connecting to\n * various blockchains over JSON-RPC.\n *\n * **Supported Networks**\n *\n * - Ethereum Mainnet (``mainnet``)\n * - Goerli Testnet (``goerli``)\n * - Sepolia Testnet (``sepolia``)\n * - Arbitrum (``arbitrum``)\n * - Base (``base``)\n * - Base Goerlia Testnet (``base-goerli``)\n * - Base Sepolia Testnet (``base-sepolia``)\n * - BNB (``bnb``)\n * - BNB Testnet (``bnbt``)\n * - Optimism (``optimism``)\n * - Optimism Goerli Testnet (``optimism-goerli``)\n * - Optimism Sepolia Testnet (``optimism-sepolia``)\n * - Polygon (``matic``)\n * - Polygon Mumbai Testnet (``matic-mumbai``)\n *\n * @_subsection: api/providers/thirdparty:Ankr [providers-ankr]\n */\nimport { defineProperties, FetchRequest, assertArgument } from \"../utils/index.js\";\nimport { showThrottleMessage } from \"./community.js\";\nimport { Network } from \"./network.js\";\nimport { JsonRpcProvider } from \"./provider-jsonrpc.js\";\nconst defaultApiKey = \"9f7d929b018cdffb338517efa06f58359e86ff1ffd350bc889738523659e7972\";\nfunction getHost(name) {\n switch (name) {\n case \"mainnet\":\n return \"rpc.ankr.com/eth\";\n case \"goerli\":\n return \"rpc.ankr.com/eth_goerli\";\n case \"sepolia\":\n return \"rpc.ankr.com/eth_sepolia\";\n case \"arbitrum\":\n return \"rpc.ankr.com/arbitrum\";\n case \"base\":\n return \"rpc.ankr.com/base\";\n case \"base-goerli\":\n return \"rpc.ankr.com/base_goerli\";\n case \"base-sepolia\":\n return \"rpc.ankr.com/base_sepolia\";\n case \"bnb\":\n return \"rpc.ankr.com/bsc\";\n case \"bnbt\":\n return \"rpc.ankr.com/bsc_testnet_chapel\";\n case \"matic\":\n return \"rpc.ankr.com/polygon\";\n case \"matic-mumbai\":\n return \"rpc.ankr.com/polygon_mumbai\";\n case \"optimism\":\n return \"rpc.ankr.com/optimism\";\n case \"optimism-goerli\":\n return \"rpc.ankr.com/optimism_testnet\";\n case \"optimism-sepolia\":\n return \"rpc.ankr.com/optimism_sepolia\";\n }\n assertArgument(false, \"unsupported network\", \"network\", name);\n}\n/**\n * The **AnkrProvider** connects to the [[link-ankr]]\n * JSON-RPC end-points.\n *\n * By default, a highly-throttled API key is used, which is\n * appropriate for quick prototypes and simple scripts. To\n * gain access to an increased rate-limit, it is highly\n * recommended to [sign up here](link-ankr-signup).\n */\nexport class AnkrProvider extends JsonRpcProvider {\n /**\n * The API key for the Ankr connection.\n */\n apiKey;\n /**\n * Create a new **AnkrProvider**.\n *\n * By default connecting to ``mainnet`` with a highly throttled\n * API key.\n */\n constructor(_network, apiKey) {\n if (_network == null) {\n _network = \"mainnet\";\n }\n const network = Network.from(_network);\n if (apiKey == null) {\n apiKey = defaultApiKey;\n }\n // Ankr does not support filterId, so we force polling\n const options = { polling: true, staticNetwork: network };\n const request = AnkrProvider.getRequest(network, apiKey);\n super(request, network, options);\n defineProperties(this, { apiKey });\n }\n _getProvider(chainId) {\n try {\n return new AnkrProvider(chainId, this.apiKey);\n }\n catch (error) { }\n return super._getProvider(chainId);\n }\n /**\n * Returns a prepared request for connecting to %%network%% with\n * %%apiKey%%.\n */\n static getRequest(network, apiKey) {\n if (apiKey == null) {\n apiKey = defaultApiKey;\n }\n const request = new FetchRequest(`https:/\\/${getHost(network.name)}/${apiKey}`);\n request.allowGzip = true;\n if (apiKey === defaultApiKey) {\n request.retryFunc = async (request, response, attempt) => {\n showThrottleMessage(\"AnkrProvider\");\n return true;\n };\n }\n return request;\n }\n getRpcError(payload, error) {\n if (payload.method === \"eth_sendRawTransaction\") {\n if (error && error.error && error.error.message === \"INTERNAL_ERROR: could not replace existing tx\") {\n error.error.message = \"replacement transaction underpriced\";\n }\n }\n return super.getRpcError(payload, error);\n }\n isCommunityResource() {\n return (this.apiKey === defaultApiKey);\n }\n}\n//# sourceMappingURL=provider-ankr.js.map","/**\n * [[link-alchemy]] provides a third-party service for connecting to\n * various blockchains over JSON-RPC.\n *\n * **Supported Networks**\n *\n * - Ethereum Mainnet (``mainnet``)\n * - Goerli Testnet (``goerli``)\n * - Sepolia Testnet (``sepolia``)\n * - Arbitrum (``arbitrum``)\n * - Arbitrum Goerli Testnet (``arbitrum-goerli``)\n * - Arbitrum Sepolia Testnet (``arbitrum-sepolia``)\n * - Base (``base``)\n * - Base Goerlia Testnet (``base-goerli``)\n * - Base Sepolia Testnet (``base-sepolia``)\n * - Optimism (``optimism``)\n * - Optimism Goerli Testnet (``optimism-goerli``)\n * - Optimism Sepolia Testnet (``optimism-sepolia``)\n * - Polygon (``matic``)\n * - Polygon Mumbai Testnet (``matic-mumbai``)\n *\n * @_subsection: api/providers/thirdparty:Alchemy [providers-alchemy]\n */\nimport { defineProperties, resolveProperties, assert, assertArgument, FetchRequest } from \"../utils/index.js\";\nimport { showThrottleMessage } from \"./community.js\";\nimport { Network } from \"./network.js\";\nimport { JsonRpcProvider } from \"./provider-jsonrpc.js\";\nconst defaultApiKey = \"_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC\";\nfunction getHost(name) {\n switch (name) {\n case \"mainnet\":\n return \"eth-mainnet.alchemyapi.io\";\n case \"goerli\":\n return \"eth-goerli.g.alchemy.com\";\n case \"sepolia\":\n return \"eth-sepolia.g.alchemy.com\";\n case \"arbitrum\":\n return \"arb-mainnet.g.alchemy.com\";\n case \"arbitrum-goerli\":\n return \"arb-goerli.g.alchemy.com\";\n case \"arbitrum-sepolia\":\n return \"arb-sepolia.g.alchemy.com\";\n case \"base\":\n return \"base-mainnet.g.alchemy.com\";\n case \"base-goerli\":\n return \"base-goerli.g.alchemy.com\";\n case \"base-sepolia\":\n return \"base-sepolia.g.alchemy.com\";\n case \"matic\":\n return \"polygon-mainnet.g.alchemy.com\";\n case \"matic-mumbai\":\n return \"polygon-mumbai.g.alchemy.com\";\n case \"optimism\":\n return \"opt-mainnet.g.alchemy.com\";\n case \"optimism-goerli\":\n return \"opt-goerli.g.alchemy.com\";\n case \"optimism-sepolia\":\n return \"opt-sepolia.g.alchemy.com\";\n }\n assertArgument(false, \"unsupported network\", \"network\", name);\n}\n/**\n * The **AlchemyProvider** connects to the [[link-alchemy]]\n * JSON-RPC end-points.\n *\n * By default, a highly-throttled API key is used, which is\n * appropriate for quick prototypes and simple scripts. To\n * gain access to an increased rate-limit, it is highly\n * recommended to [sign up here](link-alchemy-signup).\n *\n * @_docloc: api/providers/thirdparty\n */\nexport class AlchemyProvider extends JsonRpcProvider {\n apiKey;\n constructor(_network, apiKey) {\n if (_network == null) {\n _network = \"mainnet\";\n }\n const network = Network.from(_network);\n if (apiKey == null) {\n apiKey = defaultApiKey;\n }\n const request = AlchemyProvider.getRequest(network, apiKey);\n super(request, network, { staticNetwork: network });\n defineProperties(this, { apiKey });\n }\n _getProvider(chainId) {\n try {\n return new AlchemyProvider(chainId, this.apiKey);\n }\n catch (error) { }\n return super._getProvider(chainId);\n }\n async _perform(req) {\n // https://docs.alchemy.com/reference/trace-transaction\n if (req.method === \"getTransactionResult\") {\n const { trace, tx } = await resolveProperties({\n trace: this.send(\"trace_transaction\", [req.hash]),\n tx: this.getTransaction(req.hash)\n });\n if (trace == null || tx == null) {\n return null;\n }\n let data;\n let error = false;\n try {\n data = trace[0].result.output;\n error = (trace[0].error === \"Reverted\");\n }\n catch (error) { }\n if (data) {\n assert(!error, \"an error occurred during transaction executions\", \"CALL_EXCEPTION\", {\n action: \"getTransactionResult\",\n data,\n reason: null,\n transaction: tx,\n invocation: null,\n revert: null // @TODO\n });\n return data;\n }\n assert(false, \"could not parse trace result\", \"BAD_DATA\", { value: trace });\n }\n return await super._perform(req);\n }\n isCommunityResource() {\n return (this.apiKey === defaultApiKey);\n }\n static getRequest(network, apiKey) {\n if (apiKey == null) {\n apiKey = defaultApiKey;\n }\n const request = new FetchRequest(`https:/\\/${getHost(network.name)}/v2/${apiKey}`);\n request.allowGzip = true;\n if (apiKey === defaultApiKey) {\n request.retryFunc = async (request, response, attempt) => {\n showThrottleMessage(\"alchemy\");\n return true;\n };\n }\n return request;\n }\n}\n//# sourceMappingURL=provider-alchemy.js.map","/**\n * About Cloudflare\n *\n * @_subsection: api/providers/thirdparty:Cloudflare [providers-cloudflare]\n */\nimport { assertArgument } from \"../utils/index.js\";\nimport { Network } from \"./network.js\";\nimport { JsonRpcProvider } from \"./provider-jsonrpc.js\";\n/**\n * About Cloudflare...\n */\nexport class CloudflareProvider extends JsonRpcProvider {\n constructor(_network) {\n if (_network == null) {\n _network = \"mainnet\";\n }\n const network = Network.from(_network);\n assertArgument(network.name === \"mainnet\", \"unsupported network\", \"network\", _network);\n super(\"https:/\\/cloudflare-eth.com/\", network, { staticNetwork: network });\n }\n}\n//# sourceMappingURL=provider-cloudflare.js.map","/**\n * [[link-etherscan]] provides a third-party service for connecting to\n * various blockchains over a combination of JSON-RPC and custom API\n * endpoints.\n *\n * **Supported Networks**\n *\n * - Ethereum Mainnet (``mainnet``)\n * - Goerli Testnet (``goerli``)\n * - Sepolia Testnet (``sepolia``)\n * - Sepolia Testnet (``holesky``)\n * - Arbitrum (``arbitrum``)\n * - Arbitrum Goerli Testnet (``arbitrum-goerli``)\n * - BNB Smart Chain Mainnet (``bnb``)\n * - BNB Smart Chain Testnet (``bnbt``)\n * - Optimism (``optimism``)\n * - Optimism Goerli Testnet (``optimism-goerli``)\n * - Polygon (``matic``)\n * - Polygon Mumbai Testnet (``matic-mumbai``)\n *\n * @_subsection api/providers/thirdparty:Etherscan [providers-etherscan]\n */\nimport { AbiCoder } from \"../abi/index.js\";\nimport { Contract } from \"../contract/index.js\";\nimport { accessListify, Transaction } from \"../transaction/index.js\";\nimport { defineProperties, hexlify, toQuantity, FetchRequest, assert, assertArgument, isError, \n// parseUnits,\ntoUtf8String } from \"../utils/index.js\";\nimport { AbstractProvider } from \"./abstract-provider.js\";\nimport { Network } from \"./network.js\";\nimport { NetworkPlugin } from \"./plugins-network.js\";\nimport { showThrottleMessage } from \"./community.js\";\nconst THROTTLE = 2000;\nfunction isPromise(value) {\n return (value && typeof (value.then) === \"function\");\n}\nconst EtherscanPluginId = \"org.ethers.plugins.provider.Etherscan\";\n/**\n * A Network can include an **EtherscanPlugin** to provide\n * a custom base URL.\n *\n * @_docloc: api/providers/thirdparty:Etherscan\n */\nexport class EtherscanPlugin extends NetworkPlugin {\n /**\n * The Etherscan API base URL.\n */\n baseUrl;\n /**\n * Creates a new **EtherscanProvider** which will use\n * %%baseUrl%%.\n */\n constructor(baseUrl) {\n super(EtherscanPluginId);\n defineProperties(this, { baseUrl });\n }\n clone() {\n return new EtherscanPlugin(this.baseUrl);\n }\n}\nconst skipKeys = [\"enableCcipRead\"];\nlet nextId = 1;\n/**\n * The **EtherscanBaseProvider** is the super-class of\n * [[EtherscanProvider]], which should generally be used instead.\n *\n * Since the **EtherscanProvider** includes additional code for\n * [[Contract]] access, in //rare cases// that contracts are not\n * used, this class can reduce code size.\n *\n * @_docloc: api/providers/thirdparty:Etherscan\n */\nexport class EtherscanProvider extends AbstractProvider {\n /**\n * The connected network.\n */\n network;\n /**\n * The API key or null if using the community provided bandwidth.\n */\n apiKey;\n #plugin;\n /**\n * Creates a new **EtherscanBaseProvider**.\n */\n constructor(_network, _apiKey) {\n const apiKey = (_apiKey != null) ? _apiKey : null;\n super();\n const network = Network.from(_network);\n this.#plugin = network.getPlugin(EtherscanPluginId);\n defineProperties(this, { apiKey, network });\n // Test that the network is supported by Etherscan\n this.getBaseUrl();\n }\n /**\n * Returns the base URL.\n *\n * If an [[EtherscanPlugin]] is configured on the\n * [[EtherscanBaseProvider_network]], returns the plugin's\n * baseUrl.\n */\n getBaseUrl() {\n if (this.#plugin) {\n return this.#plugin.baseUrl;\n }\n switch (this.network.name) {\n case \"mainnet\":\n return \"https:/\\/api.etherscan.io\";\n case \"goerli\":\n return \"https:/\\/api-goerli.etherscan.io\";\n case \"sepolia\":\n return \"https:/\\/api-sepolia.etherscan.io\";\n case \"holesky\":\n return \"https:/\\/api-holesky.etherscan.io\";\n case \"arbitrum\":\n return \"https:/\\/api.arbiscan.io\";\n case \"arbitrum-goerli\":\n return \"https:/\\/api-goerli.arbiscan.io\";\n case \"bnb\":\n return \"https:/\\/api.bscscan.com\";\n case \"bnbt\":\n return \"https:/\\/api-testnet.bscscan.com\";\n case \"matic\":\n return \"https:/\\/api.polygonscan.com\";\n case \"matic-mumbai\":\n return \"https:/\\/api-testnet.polygonscan.com\";\n case \"optimism\":\n return \"https:/\\/api-optimistic.etherscan.io\";\n case \"optimism-goerli\":\n return \"https:/\\/api-goerli-optimistic.etherscan.io\";\n default:\n }\n assertArgument(false, \"unsupported network\", \"network\", this.network);\n }\n /**\n * Returns the URL for the %%module%% and %%params%%.\n */\n getUrl(module, params) {\n const query = Object.keys(params).reduce((accum, key) => {\n const value = params[key];\n if (value != null) {\n accum += `&${key}=${value}`;\n }\n return accum;\n }, \"\");\n const apiKey = ((this.apiKey) ? `&apikey=${this.apiKey}` : \"\");\n return `${this.getBaseUrl()}/api?module=${module}${query}${apiKey}`;\n }\n /**\n * Returns the URL for using POST requests.\n */\n getPostUrl() {\n return `${this.getBaseUrl()}/api`;\n }\n /**\n * Returns the parameters for using POST requests.\n */\n getPostData(module, params) {\n params.module = module;\n params.apikey = this.apiKey;\n return params;\n }\n async detectNetwork() {\n return this.network;\n }\n /**\n * Resolves to the result of calling %%module%% with %%params%%.\n *\n * If %%post%%, the request is made as a POST request.\n */\n async fetch(module, params, post) {\n const id = nextId++;\n const url = (post ? this.getPostUrl() : this.getUrl(module, params));\n const payload = (post ? this.getPostData(module, params) : null);\n this.emit(\"debug\", { action: \"sendRequest\", id, url, payload: payload });\n const request = new FetchRequest(url);\n request.setThrottleParams({ slotInterval: 1000 });\n request.retryFunc = (req, resp, attempt) => {\n if (this.isCommunityResource()) {\n showThrottleMessage(\"Etherscan\");\n }\n return Promise.resolve(true);\n };\n request.processFunc = async (request, response) => {\n const result = response.hasBody() ? JSON.parse(toUtf8String(response.body)) : {};\n const throttle = ((typeof (result.result) === \"string\") ? result.result : \"\").toLowerCase().indexOf(\"rate limit\") >= 0;\n if (module === \"proxy\") {\n // This JSON response indicates we are being throttled\n if (result && result.status == 0 && result.message == \"NOTOK\" && throttle) {\n this.emit(\"debug\", { action: \"receiveError\", id, reason: \"proxy-NOTOK\", error: result });\n response.throwThrottleError(result.result, THROTTLE);\n }\n }\n else {\n if (throttle) {\n this.emit(\"debug\", { action: \"receiveError\", id, reason: \"null result\", error: result.result });\n response.throwThrottleError(result.result, THROTTLE);\n }\n }\n return response;\n };\n if (payload) {\n request.setHeader(\"content-type\", \"application/x-www-form-urlencoded; charset=UTF-8\");\n request.body = Object.keys(payload).map((k) => `${k}=${payload[k]}`).join(\"&\");\n }\n const response = await request.send();\n try {\n response.assertOk();\n }\n catch (error) {\n this.emit(\"debug\", { action: \"receiveError\", id, error, reason: \"assertOk\" });\n assert(false, \"response error\", \"SERVER_ERROR\", { request, response });\n }\n if (!response.hasBody()) {\n this.emit(\"debug\", { action: \"receiveError\", id, error: \"missing body\", reason: \"null body\" });\n assert(false, \"missing response\", \"SERVER_ERROR\", { request, response });\n }\n const result = JSON.parse(toUtf8String(response.body));\n if (module === \"proxy\") {\n if (result.jsonrpc != \"2.0\") {\n this.emit(\"debug\", { action: \"receiveError\", id, result, reason: \"invalid JSON-RPC\" });\n assert(false, \"invalid JSON-RPC response (missing jsonrpc='2.0')\", \"SERVER_ERROR\", { request, response, info: { result } });\n }\n if (result.error) {\n this.emit(\"debug\", { action: \"receiveError\", id, result, reason: \"JSON-RPC error\" });\n assert(false, \"error response\", \"SERVER_ERROR\", { request, response, info: { result } });\n }\n this.emit(\"debug\", { action: \"receiveRequest\", id, result });\n return result.result;\n }\n else {\n // getLogs, getHistory have weird success responses\n if (result.status == 0 && (result.message === \"No records found\" || result.message === \"No transactions found\")) {\n this.emit(\"debug\", { action: \"receiveRequest\", id, result });\n return result.result;\n }\n if (result.status != 1 || (typeof (result.message) === \"string\" && !result.message.match(/^OK/))) {\n this.emit(\"debug\", { action: \"receiveError\", id, result });\n assert(false, \"error response\", \"SERVER_ERROR\", { request, response, info: { result } });\n }\n this.emit(\"debug\", { action: \"receiveRequest\", id, result });\n return result.result;\n }\n }\n /**\n * Returns %%transaction%% normalized for the Etherscan API.\n */\n _getTransactionPostData(transaction) {\n const result = {};\n for (let key in transaction) {\n if (skipKeys.indexOf(key) >= 0) {\n continue;\n }\n if (transaction[key] == null) {\n continue;\n }\n let value = transaction[key];\n if (key === \"type\" && value === 0) {\n continue;\n }\n if (key === \"blockTag\" && value === \"latest\") {\n continue;\n }\n // Quantity-types require no leading zero, unless 0\n if ({ type: true, gasLimit: true, gasPrice: true, maxFeePerGs: true, maxPriorityFeePerGas: true, nonce: true, value: true }[key]) {\n value = toQuantity(value);\n }\n else if (key === \"accessList\") {\n value = \"[\" + accessListify(value).map((set) => {\n return `{address:\"${set.address}\",storageKeys:[\"${set.storageKeys.join('\",\"')}\"]}`;\n }).join(\",\") + \"]\";\n }\n else {\n value = hexlify(value);\n }\n result[key] = value;\n }\n return result;\n }\n /**\n * Throws the normalized Etherscan error.\n */\n _checkError(req, error, transaction) {\n // Pull any message out if, possible\n let message = \"\";\n if (isError(error, \"SERVER_ERROR\")) {\n // Check for an error emitted by a proxy call\n try {\n message = error.info.result.error.message;\n }\n catch (e) { }\n if (!message) {\n try {\n message = error.info.message;\n }\n catch (e) { }\n }\n }\n if (req.method === \"estimateGas\") {\n if (!message.match(/revert/i) && message.match(/insufficient funds/i)) {\n assert(false, \"insufficient funds\", \"INSUFFICIENT_FUNDS\", {\n transaction: req.transaction\n });\n }\n }\n if (req.method === \"call\" || req.method === \"estimateGas\") {\n if (message.match(/execution reverted/i)) {\n let data = \"\";\n try {\n data = error.info.result.error.data;\n }\n catch (error) { }\n const e = AbiCoder.getBuiltinCallException(req.method, req.transaction, data);\n e.info = { request: req, error };\n throw e;\n }\n }\n if (message) {\n if (req.method === \"broadcastTransaction\") {\n const transaction = Transaction.from(req.signedTransaction);\n if (message.match(/replacement/i) && message.match(/underpriced/i)) {\n assert(false, \"replacement fee too low\", \"REPLACEMENT_UNDERPRICED\", {\n transaction\n });\n }\n if (message.match(/insufficient funds/)) {\n assert(false, \"insufficient funds for intrinsic transaction cost\", \"INSUFFICIENT_FUNDS\", {\n transaction\n });\n }\n if (message.match(/same hash was already imported|transaction nonce is too low|nonce too low/)) {\n assert(false, \"nonce has already been used\", \"NONCE_EXPIRED\", {\n transaction\n });\n }\n }\n }\n // Something we could not process\n throw error;\n }\n async _detectNetwork() {\n return this.network;\n }\n async _perform(req) {\n switch (req.method) {\n case \"chainId\":\n return this.network.chainId;\n case \"getBlockNumber\":\n return this.fetch(\"proxy\", { action: \"eth_blockNumber\" });\n case \"getGasPrice\":\n return this.fetch(\"proxy\", { action: \"eth_gasPrice\" });\n case \"getPriorityFee\":\n // This is temporary until Etherscan completes support\n if (this.network.name === \"mainnet\") {\n return \"1000000000\";\n }\n else if (this.network.name === \"optimism\") {\n return \"1000000\";\n }\n else {\n throw new Error(\"fallback onto the AbstractProvider default\");\n }\n /* Working with Etherscan to get this added:\n try {\n const test = await this.fetch(\"proxy\", {\n action: \"eth_maxPriorityFeePerGas\"\n });\n console.log(test);\n return test;\n } catch (e) {\n console.log(\"DEBUG\", e);\n throw e;\n }\n */\n /* This might be safe; but due to rounding neither myself\n or Etherscan are necessarily comfortable with this. :)\n try {\n const result = await this.fetch(\"gastracker\", { action: \"gasoracle\" });\n console.log(result);\n const gasPrice = parseUnits(result.SafeGasPrice, \"gwei\");\n const baseFee = parseUnits(result.suggestBaseFee, \"gwei\");\n const priorityFee = gasPrice - baseFee;\n if (priorityFee < 0) { throw new Error(\"negative priority fee; defer to abstract provider default\"); }\n return priorityFee;\n } catch (error) {\n console.log(\"DEBUG\", error);\n throw error;\n }\n */\n case \"getBalance\":\n // Returns base-10 result\n return this.fetch(\"account\", {\n action: \"balance\",\n address: req.address,\n tag: req.blockTag\n });\n case \"getTransactionCount\":\n return this.fetch(\"proxy\", {\n action: \"eth_getTransactionCount\",\n address: req.address,\n tag: req.blockTag\n });\n case \"getCode\":\n return this.fetch(\"proxy\", {\n action: \"eth_getCode\",\n address: req.address,\n tag: req.blockTag\n });\n case \"getStorage\":\n return this.fetch(\"proxy\", {\n action: \"eth_getStorageAt\",\n address: req.address,\n position: req.position,\n tag: req.blockTag\n });\n case \"broadcastTransaction\":\n return this.fetch(\"proxy\", {\n action: \"eth_sendRawTransaction\",\n hex: req.signedTransaction\n }, true).catch((error) => {\n return this._checkError(req, error, req.signedTransaction);\n });\n case \"getBlock\":\n if (\"blockTag\" in req) {\n return this.fetch(\"proxy\", {\n action: \"eth_getBlockByNumber\",\n tag: req.blockTag,\n boolean: (req.includeTransactions ? \"true\" : \"false\")\n });\n }\n assert(false, \"getBlock by blockHash not supported by Etherscan\", \"UNSUPPORTED_OPERATION\", {\n operation: \"getBlock(blockHash)\"\n });\n case \"getTransaction\":\n return this.fetch(\"proxy\", {\n action: \"eth_getTransactionByHash\",\n txhash: req.hash\n });\n case \"getTransactionReceipt\":\n return this.fetch(\"proxy\", {\n action: \"eth_getTransactionReceipt\",\n txhash: req.hash\n });\n case \"call\": {\n if (req.blockTag !== \"latest\") {\n throw new Error(\"EtherscanProvider does not support blockTag for call\");\n }\n const postData = this._getTransactionPostData(req.transaction);\n postData.module = \"proxy\";\n postData.action = \"eth_call\";\n try {\n return await this.fetch(\"proxy\", postData, true);\n }\n catch (error) {\n return this._checkError(req, error, req.transaction);\n }\n }\n case \"estimateGas\": {\n const postData = this._getTransactionPostData(req.transaction);\n postData.module = \"proxy\";\n postData.action = \"eth_estimateGas\";\n try {\n return await this.fetch(\"proxy\", postData, true);\n }\n catch (error) {\n return this._checkError(req, error, req.transaction);\n }\n }\n /*\n case \"getLogs\": {\n // Needs to complain if more than one address is passed in\n const args: Record = { action: \"getLogs\" }\n \n if (params.filter.fromBlock) {\n args.fromBlock = checkLogTag(params.filter.fromBlock);\n }\n \n if (params.filter.toBlock) {\n args.toBlock = checkLogTag(params.filter.toBlock);\n }\n \n if (params.filter.address) {\n args.address = params.filter.address;\n }\n \n // @TODO: We can handle slightly more complicated logs using the logs API\n if (params.filter.topics && params.filter.topics.length > 0) {\n if (params.filter.topics.length > 1) {\n logger.throwError(\"unsupported topic count\", Logger.Errors.UNSUPPORTED_OPERATION, { topics: params.filter.topics });\n }\n if (params.filter.topics.length === 1) {\n const topic0 = params.filter.topics[0];\n if (typeof(topic0) !== \"string\" || topic0.length !== 66) {\n logger.throwError(\"unsupported topic format\", Logger.Errors.UNSUPPORTED_OPERATION, { topic0: topic0 });\n }\n args.topic0 = topic0;\n }\n }\n \n const logs: Array = await this.fetch(\"logs\", args);\n \n // Cache txHash => blockHash\n let blocks: { [tag: string]: string } = {};\n \n // Add any missing blockHash to the logs\n for (let i = 0; i < logs.length; i++) {\n const log = logs[i];\n if (log.blockHash != null) { continue; }\n if (blocks[log.blockNumber] == null) {\n const block = await this.getBlock(log.blockNumber);\n if (block) {\n blocks[log.blockNumber] = block.hash;\n }\n }\n \n log.blockHash = blocks[log.blockNumber];\n }\n \n return logs;\n }\n */\n default:\n break;\n }\n return super._perform(req);\n }\n async getNetwork() {\n return this.network;\n }\n /**\n * Resolves to the current price of ether.\n *\n * This returns ``0`` on any network other than ``mainnet``.\n */\n async getEtherPrice() {\n if (this.network.name !== \"mainnet\") {\n return 0.0;\n }\n return parseFloat((await this.fetch(\"stats\", { action: \"ethprice\" })).ethusd);\n }\n /**\n * Resolves to a [Contract]] for %%address%%, using the\n * Etherscan API to retreive the Contract ABI.\n */\n async getContract(_address) {\n let address = this._getAddress(_address);\n if (isPromise(address)) {\n address = await address;\n }\n try {\n const resp = await this.fetch(\"contract\", {\n action: \"getabi\", address\n });\n const abi = JSON.parse(resp);\n return new Contract(address, abi, this);\n }\n catch (error) {\n return null;\n }\n }\n isCommunityResource() {\n return (this.apiKey == null);\n }\n}\n//# sourceMappingURL=provider-etherscan.js.map","function getGlobal() {\n if (typeof self !== 'undefined') {\n return self;\n }\n if (typeof window !== 'undefined') {\n return window;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n throw new Error('unable to locate global object');\n}\n;\nconst _WebSocket = getGlobal().WebSocket;\nexport { _WebSocket as WebSocket };\n//# sourceMappingURL=ws-browser.js.map","/**\n * Generic long-lived socket provider.\n *\n * Sub-classing notes\n * - a sub-class MUST call the `_start()` method once connected\n * - a sub-class MUST override the `_write(string)` method\n * - a sub-class MUST call `_processMessage(string)` for each message\n *\n * @_subsection: api/providers/abstract-provider:Socket Providers [about-socketProvider]\n */\nimport { UnmanagedSubscriber } from \"./abstract-provider.js\";\nimport { assert, assertArgument, makeError } from \"../utils/index.js\";\nimport { JsonRpcApiProvider } from \"./provider-jsonrpc.js\";\n/**\n * A **SocketSubscriber** uses a socket transport to handle events and\n * should use [[_emit]] to manage the events.\n */\nexport class SocketSubscriber {\n #provider;\n #filter;\n /**\n * The filter.\n */\n get filter() { return JSON.parse(this.#filter); }\n #filterId;\n #paused;\n #emitPromise;\n /**\n * Creates a new **SocketSubscriber** attached to %%provider%% listening\n * to %%filter%%.\n */\n constructor(provider, filter) {\n this.#provider = provider;\n this.#filter = JSON.stringify(filter);\n this.#filterId = null;\n this.#paused = null;\n this.#emitPromise = null;\n }\n start() {\n this.#filterId = this.#provider.send(\"eth_subscribe\", this.filter).then((filterId) => {\n ;\n this.#provider._register(filterId, this);\n return filterId;\n });\n }\n stop() {\n (this.#filterId).then((filterId) => {\n this.#provider.send(\"eth_unsubscribe\", [filterId]);\n });\n this.#filterId = null;\n }\n // @TODO: pause should trap the current blockNumber, unsub, and on resume use getLogs\n // and resume\n pause(dropWhilePaused) {\n assert(dropWhilePaused, \"preserve logs while paused not supported by SocketSubscriber yet\", \"UNSUPPORTED_OPERATION\", { operation: \"pause(false)\" });\n this.#paused = !!dropWhilePaused;\n }\n resume() {\n this.#paused = null;\n }\n /**\n * @_ignore:\n */\n _handleMessage(message) {\n if (this.#filterId == null) {\n return;\n }\n if (this.#paused === null) {\n let emitPromise = this.#emitPromise;\n if (emitPromise == null) {\n emitPromise = this._emit(this.#provider, message);\n }\n else {\n emitPromise = emitPromise.then(async () => {\n await this._emit(this.#provider, message);\n });\n }\n this.#emitPromise = emitPromise.then(() => {\n if (this.#emitPromise === emitPromise) {\n this.#emitPromise = null;\n }\n });\n }\n }\n /**\n * Sub-classes **must** override this to emit the events on the\n * provider.\n */\n async _emit(provider, message) {\n throw new Error(\"sub-classes must implemente this; _emit\");\n }\n}\n/**\n * A **SocketBlockSubscriber** listens for ``newHeads`` events and emits\n * ``\"block\"`` events.\n */\nexport class SocketBlockSubscriber extends SocketSubscriber {\n /**\n * @_ignore:\n */\n constructor(provider) {\n super(provider, [\"newHeads\"]);\n }\n async _emit(provider, message) {\n provider.emit(\"block\", parseInt(message.number));\n }\n}\n/**\n * A **SocketPendingSubscriber** listens for pending transacitons and emits\n * ``\"pending\"`` events.\n */\nexport class SocketPendingSubscriber extends SocketSubscriber {\n /**\n * @_ignore:\n */\n constructor(provider) {\n super(provider, [\"newPendingTransactions\"]);\n }\n async _emit(provider, message) {\n provider.emit(\"pending\", message);\n }\n}\n/**\n * A **SocketEventSubscriber** listens for event logs.\n */\nexport class SocketEventSubscriber extends SocketSubscriber {\n #logFilter;\n /**\n * The filter.\n */\n get logFilter() { return JSON.parse(this.#logFilter); }\n /**\n * @_ignore:\n */\n constructor(provider, filter) {\n super(provider, [\"logs\", filter]);\n this.#logFilter = JSON.stringify(filter);\n }\n async _emit(provider, message) {\n provider.emit(this.logFilter, provider._wrapLog(message, provider._network));\n }\n}\n/**\n * A **SocketProvider** is backed by a long-lived connection over a\n * socket, which can subscribe and receive real-time messages over\n * its communication channel.\n */\nexport class SocketProvider extends JsonRpcApiProvider {\n #callbacks;\n // Maps each filterId to its subscriber\n #subs;\n // If any events come in before a subscriber has finished\n // registering, queue them\n #pending;\n /**\n * Creates a new **SocketProvider** connected to %%network%%.\n *\n * If unspecified, the network will be discovered.\n */\n constructor(network, _options) {\n // Copy the options\n const options = Object.assign({}, (_options != null) ? _options : {});\n // Support for batches is generally not supported for\n // connection-base providers; if this changes in the future\n // the _send should be updated to reflect this\n assertArgument(options.batchMaxCount == null || options.batchMaxCount === 1, \"sockets-based providers do not support batches\", \"options.batchMaxCount\", _options);\n options.batchMaxCount = 1;\n // Socket-based Providers (generally) cannot change their network,\n // since they have a long-lived connection; but let people override\n // this if they have just cause.\n if (options.staticNetwork == null) {\n options.staticNetwork = true;\n }\n super(network, options);\n this.#callbacks = new Map();\n this.#subs = new Map();\n this.#pending = new Map();\n }\n // This value is only valid after _start has been called\n /*\n get _network(): Network {\n if (this.#network == null) {\n throw new Error(\"this shouldn't happen\");\n }\n return this.#network.clone();\n }\n */\n _getSubscriber(sub) {\n switch (sub.type) {\n case \"close\":\n return new UnmanagedSubscriber(\"close\");\n case \"block\":\n return new SocketBlockSubscriber(this);\n case \"pending\":\n return new SocketPendingSubscriber(this);\n case \"event\":\n return new SocketEventSubscriber(this, sub.filter);\n case \"orphan\":\n // Handled auto-matically within AbstractProvider\n // when the log.removed = true\n if (sub.filter.orphan === \"drop-log\") {\n return new UnmanagedSubscriber(\"drop-log\");\n }\n }\n return super._getSubscriber(sub);\n }\n /**\n * Register a new subscriber. This is used internalled by Subscribers\n * and generally is unecessary unless extending capabilities.\n */\n _register(filterId, subscriber) {\n this.#subs.set(filterId, subscriber);\n const pending = this.#pending.get(filterId);\n if (pending) {\n for (const message of pending) {\n subscriber._handleMessage(message);\n }\n this.#pending.delete(filterId);\n }\n }\n async _send(payload) {\n // WebSocket provider doesn't accept batches\n assertArgument(!Array.isArray(payload), \"WebSocket does not support batch send\", \"payload\", payload);\n // @TODO: stringify payloads here and store to prevent mutations\n // Prepare a promise to respond to\n const promise = new Promise((resolve, reject) => {\n this.#callbacks.set(payload.id, { payload, resolve, reject });\n });\n // Wait until the socket is connected before writing to it\n await this._waitUntilReady();\n // Write the request to the socket\n await this._write(JSON.stringify(payload));\n return [await promise];\n }\n // Sub-classes must call this once they are connected\n /*\n async _start(): Promise {\n if (this.#ready) { return; }\n\n for (const { payload } of this.#callbacks.values()) {\n await this._write(JSON.stringify(payload));\n }\n\n this.#ready = (async function() {\n await super._start();\n })();\n }\n */\n /**\n * Sub-classes **must** call this with messages received over their\n * transport to be processed and dispatched.\n */\n async _processMessage(message) {\n const result = (JSON.parse(message));\n if (result && typeof (result) === \"object\" && \"id\" in result) {\n const callback = this.#callbacks.get(result.id);\n if (callback == null) {\n this.emit(\"error\", makeError(\"received result for unknown id\", \"UNKNOWN_ERROR\", {\n reasonCode: \"UNKNOWN_ID\",\n result\n }));\n return;\n }\n this.#callbacks.delete(result.id);\n callback.resolve(result);\n }\n else if (result && result.method === \"eth_subscription\") {\n const filterId = result.params.subscription;\n const subscriber = this.#subs.get(filterId);\n if (subscriber) {\n subscriber._handleMessage(result.params.result);\n }\n else {\n let pending = this.#pending.get(filterId);\n if (pending == null) {\n pending = [];\n this.#pending.set(filterId, pending);\n }\n pending.push(result.params.result);\n }\n }\n else {\n this.emit(\"error\", makeError(\"received unexpected message\", \"UNKNOWN_ERROR\", {\n reasonCode: \"UNEXPECTED_MESSAGE\",\n result\n }));\n return;\n }\n }\n /**\n * Sub-classes **must** override this to send %%message%% over their\n * transport.\n */\n async _write(message) {\n throw new Error(\"sub-classes must override this\");\n }\n}\n//# sourceMappingURL=provider-socket.js.map","import { WebSocket as _WebSocket } from \"./ws.js\"; /*-browser*/\nimport { SocketProvider } from \"./provider-socket.js\";\n/**\n * A JSON-RPC provider which is backed by a WebSocket.\n *\n * WebSockets are often preferred because they retain a live connection\n * to a server, which permits more instant access to events.\n *\n * However, this incurs higher server infrasturture costs, so additional\n * resources may be required to host your own WebSocket nodes and many\n * third-party services charge additional fees for WebSocket endpoints.\n */\nexport class WebSocketProvider extends SocketProvider {\n #connect;\n #websocket;\n get websocket() {\n if (this.#websocket == null) {\n throw new Error(\"websocket closed\");\n }\n return this.#websocket;\n }\n constructor(url, network, options) {\n super(network, options);\n if (typeof (url) === \"string\") {\n this.#connect = () => { return new _WebSocket(url); };\n this.#websocket = this.#connect();\n }\n else if (typeof (url) === \"function\") {\n this.#connect = url;\n this.#websocket = url();\n }\n else {\n this.#connect = null;\n this.#websocket = url;\n }\n this.websocket.onopen = async () => {\n try {\n await this._start();\n this.resume();\n }\n catch (error) {\n console.log(\"failed to start WebsocketProvider\", error);\n // @TODO: now what? Attempt reconnect?\n }\n };\n this.websocket.onmessage = (message) => {\n this._processMessage(message.data);\n };\n /*\n this.websocket.onclose = (event) => {\n // @TODO: What event.code should we reconnect on?\n const reconnect = false;\n if (reconnect) {\n this.pause(true);\n if (this.#connect) {\n this.#websocket = this.#connect();\n this.#websocket.onopen = ...\n // @TODO: this requires the super class to rebroadcast; move it there\n }\n this._reconnect();\n }\n };\n */\n }\n async _write(message) {\n this.websocket.send(message);\n }\n async destroy() {\n if (this.#websocket != null) {\n this.#websocket.close();\n this.#websocket = null;\n }\n super.destroy();\n }\n}\n//# sourceMappingURL=provider-websocket.js.map","/**\n * [[link-infura]] provides a third-party service for connecting to\n * various blockchains over JSON-RPC.\n *\n * **Supported Networks**\n *\n * - Ethereum Mainnet (``mainnet``)\n * - Goerli Testnet (``goerli``)\n * - Sepolia Testnet (``sepolia``)\n * - Arbitrum (``arbitrum``)\n * - Arbitrum Goerli Testnet (``arbitrum-goerli``)\n * - Arbitrum Sepolia Testnet (``arbitrum-sepolia``)\n * - Base (``base``)\n * - Base Goerlia Testnet (``base-goerli``)\n * - Base Sepolia Testnet (``base-sepolia``)\n * - BNB Smart Chain Mainnet (``bnb``)\n * - BNB Smart Chain Testnet (``bnbt``)\n * - Linea (``linea``)\n * - Linea Goerlia Testnet (``linea-goerli``)\n * - Optimism (``optimism``)\n * - Optimism Goerli Testnet (``optimism-goerli``)\n * - Optimism Sepolia Testnet (``optimism-sepolia``)\n * - Polygon (``matic``)\n * - Polygon Mumbai Testnet (``matic-mumbai``)\n *\n * @_subsection: api/providers/thirdparty:INFURA [providers-infura]\n */\nimport { defineProperties, FetchRequest, assert, assertArgument } from \"../utils/index.js\";\nimport { showThrottleMessage } from \"./community.js\";\nimport { Network } from \"./network.js\";\nimport { JsonRpcProvider } from \"./provider-jsonrpc.js\";\nimport { WebSocketProvider } from \"./provider-websocket.js\";\nconst defaultProjectId = \"84842078b09946638c03157f83405213\";\nfunction getHost(name) {\n switch (name) {\n case \"mainnet\":\n return \"mainnet.infura.io\";\n case \"goerli\":\n return \"goerli.infura.io\";\n case \"sepolia\":\n return \"sepolia.infura.io\";\n case \"arbitrum\":\n return \"arbitrum-mainnet.infura.io\";\n case \"arbitrum-goerli\":\n return \"arbitrum-goerli.infura.io\";\n case \"arbitrum-sepolia\":\n return \"arbitrum-sepolia.infura.io\";\n case \"base\":\n return \"base-mainnet.infura.io\";\n case \"base-goerlia\":\n return \"base-goerli.infura.io\";\n case \"base-sepolia\":\n return \"base-sepolia.infura.io\";\n case \"bnb\":\n return \"bnbsmartchain-mainnet.infura.io\";\n case \"bnbt\":\n return \"bnbsmartchain-testnet.infura.io\";\n case \"linea\":\n return \"linea-mainnet.infura.io\";\n case \"linea-goerli\":\n return \"linea-goerli.infura.io\";\n case \"matic\":\n return \"polygon-mainnet.infura.io\";\n case \"matic-mumbai\":\n return \"polygon-mumbai.infura.io\";\n case \"optimism\":\n return \"optimism-mainnet.infura.io\";\n case \"optimism-goerli\":\n return \"optimism-goerli.infura.io\";\n case \"optimism-sepolia\":\n return \"optimism-sepolia.infura.io\";\n }\n assertArgument(false, \"unsupported network\", \"network\", name);\n}\n/**\n * The **InfuraWebSocketProvider** connects to the [[link-infura]]\n * WebSocket end-points.\n *\n * By default, a highly-throttled API key is used, which is\n * appropriate for quick prototypes and simple scripts. To\n * gain access to an increased rate-limit, it is highly\n * recommended to [sign up here](link-infura-signup).\n */\nexport class InfuraWebSocketProvider extends WebSocketProvider {\n /**\n * The Project ID for the INFURA connection.\n */\n projectId;\n /**\n * The Project Secret.\n *\n * If null, no authenticated requests are made. This should not\n * be used outside of private contexts.\n */\n projectSecret;\n /**\n * Creates a new **InfuraWebSocketProvider**.\n */\n constructor(network, projectId) {\n const provider = new InfuraProvider(network, projectId);\n const req = provider._getConnection();\n assert(!req.credentials, \"INFURA WebSocket project secrets unsupported\", \"UNSUPPORTED_OPERATION\", { operation: \"InfuraProvider.getWebSocketProvider()\" });\n const url = req.url.replace(/^http/i, \"ws\").replace(\"/v3/\", \"/ws/v3/\");\n super(url, network);\n defineProperties(this, {\n projectId: provider.projectId,\n projectSecret: provider.projectSecret\n });\n }\n isCommunityResource() {\n return (this.projectId === defaultProjectId);\n }\n}\n/**\n * The **InfuraProvider** connects to the [[link-infura]]\n * JSON-RPC end-points.\n *\n * By default, a highly-throttled API key is used, which is\n * appropriate for quick prototypes and simple scripts. To\n * gain access to an increased rate-limit, it is highly\n * recommended to [sign up here](link-infura-signup).\n */\nexport class InfuraProvider extends JsonRpcProvider {\n /**\n * The Project ID for the INFURA connection.\n */\n projectId;\n /**\n * The Project Secret.\n *\n * If null, no authenticated requests are made. This should not\n * be used outside of private contexts.\n */\n projectSecret;\n /**\n * Creates a new **InfuraProvider**.\n */\n constructor(_network, projectId, projectSecret) {\n if (_network == null) {\n _network = \"mainnet\";\n }\n const network = Network.from(_network);\n if (projectId == null) {\n projectId = defaultProjectId;\n }\n if (projectSecret == null) {\n projectSecret = null;\n }\n const request = InfuraProvider.getRequest(network, projectId, projectSecret);\n super(request, network, { staticNetwork: network });\n defineProperties(this, { projectId, projectSecret });\n }\n _getProvider(chainId) {\n try {\n return new InfuraProvider(chainId, this.projectId, this.projectSecret);\n }\n catch (error) { }\n return super._getProvider(chainId);\n }\n isCommunityResource() {\n return (this.projectId === defaultProjectId);\n }\n /**\n * Creates a new **InfuraWebSocketProvider**.\n */\n static getWebSocketProvider(network, projectId) {\n return new InfuraWebSocketProvider(network, projectId);\n }\n /**\n * Returns a prepared request for connecting to %%network%%\n * with %%projectId%% and %%projectSecret%%.\n */\n static getRequest(network, projectId, projectSecret) {\n if (projectId == null) {\n projectId = defaultProjectId;\n }\n if (projectSecret == null) {\n projectSecret = null;\n }\n const request = new FetchRequest(`https:/\\/${getHost(network.name)}/v3/${projectId}`);\n request.allowGzip = true;\n if (projectSecret) {\n request.setCredentials(\"\", projectSecret);\n }\n if (projectId === defaultProjectId) {\n request.retryFunc = async (request, response, attempt) => {\n showThrottleMessage(\"InfuraProvider\");\n return true;\n };\n }\n return request;\n }\n}\n//# sourceMappingURL=provider-infura.js.map","/**\n * [[link-quicknode]] provides a third-party service for connecting to\n * various blockchains over JSON-RPC.\n *\n * **Supported Networks**\n *\n * - Ethereum Mainnet (``mainnet``)\n * - Goerli Testnet (``goerli``)\n * - Sepolia Testnet (``sepolia``)\n * - Holesky Testnet (``holesky``)\n * - Arbitrum (``arbitrum``)\n * - Arbitrum Goerli Testnet (``arbitrum-goerli``)\n * - Arbitrum Sepolia Testnet (``arbitrum-sepolia``)\n * - Base Mainnet (``base``);\n * - Base Goerli Testnet (``base-goerli``);\n * - Base Sepolia Testnet (``base-sepolia``);\n * - BNB Smart Chain Mainnet (``bnb``)\n * - BNB Smart Chain Testnet (``bnbt``)\n * - Optimism (``optimism``)\n * - Optimism Goerli Testnet (``optimism-goerli``)\n * - Optimism Sepolia Testnet (``optimism-sepolia``)\n * - Polygon (``matic``)\n * - Polygon Mumbai Testnet (``matic-mumbai``)\n *\n * @_subsection: api/providers/thirdparty:QuickNode [providers-quicknode]\n */\nimport { defineProperties, FetchRequest, assertArgument } from \"../utils/index.js\";\nimport { showThrottleMessage } from \"./community.js\";\nimport { Network } from \"./network.js\";\nimport { JsonRpcProvider } from \"./provider-jsonrpc.js\";\nconst defaultToken = \"919b412a057b5e9c9b6dce193c5a60242d6efadb\";\nfunction getHost(name) {\n switch (name) {\n case \"mainnet\":\n return \"ethers.quiknode.pro\";\n case \"goerli\":\n return \"ethers.ethereum-goerli.quiknode.pro\";\n case \"sepolia\":\n return \"ethers.ethereum-sepolia.quiknode.pro\";\n case \"holesky\":\n return \"ethers.ethereum-holesky.quiknode.pro\";\n case \"arbitrum\":\n return \"ethers.arbitrum-mainnet.quiknode.pro\";\n case \"arbitrum-goerli\":\n return \"ethers.arbitrum-goerli.quiknode.pro\";\n case \"arbitrum-sepolia\":\n return \"ethers.arbitrum-sepolia.quiknode.pro\";\n case \"base\":\n return \"ethers.base-mainnet.quiknode.pro\";\n case \"base-goerli\":\n return \"ethers.base-goerli.quiknode.pro\";\n case \"base-spolia\":\n return \"ethers.base-sepolia.quiknode.pro\";\n case \"bnb\":\n return \"ethers.bsc.quiknode.pro\";\n case \"bnbt\":\n return \"ethers.bsc-testnet.quiknode.pro\";\n case \"matic\":\n return \"ethers.matic.quiknode.pro\";\n case \"matic-mumbai\":\n return \"ethers.matic-testnet.quiknode.pro\";\n case \"optimism\":\n return \"ethers.optimism.quiknode.pro\";\n case \"optimism-goerli\":\n return \"ethers.optimism-goerli.quiknode.pro\";\n case \"optimism-sepolia\":\n return \"ethers.optimism-sepolia.quiknode.pro\";\n case \"xdai\":\n return \"ethers.xdai.quiknode.pro\";\n }\n assertArgument(false, \"unsupported network\", \"network\", name);\n}\n/*\n@TODO:\n These networks are not currently present in the Network\n default included networks. Research them and ensure they\n are EVM compatible and work with ethers\n\n http://ethers.matic-amoy.quiknode.pro\n\n http://ethers.avalanche-mainnet.quiknode.pro\n http://ethers.avalanche-testnet.quiknode.pro\n http://ethers.blast-sepolia.quiknode.pro\n http://ethers.celo-mainnet.quiknode.pro\n http://ethers.fantom.quiknode.pro\n http://ethers.imx-demo.quiknode.pro\n http://ethers.imx-mainnet.quiknode.pro\n http://ethers.imx-testnet.quiknode.pro\n http://ethers.near-mainnet.quiknode.pro\n http://ethers.near-testnet.quiknode.pro\n http://ethers.nova-mainnet.quiknode.pro\n http://ethers.scroll-mainnet.quiknode.pro\n http://ethers.scroll-testnet.quiknode.pro\n http://ethers.tron-mainnet.quiknode.pro\n http://ethers.zkevm-mainnet.quiknode.pro\n http://ethers.zkevm-testnet.quiknode.pro\n http://ethers.zksync-mainnet.quiknode.pro\n http://ethers.zksync-testnet.quiknode.pro\n*/\n/**\n * The **QuickNodeProvider** connects to the [[link-quicknode]]\n * JSON-RPC end-points.\n *\n * By default, a highly-throttled API token is used, which is\n * appropriate for quick prototypes and simple scripts. To\n * gain access to an increased rate-limit, it is highly\n * recommended to [sign up here](link-quicknode).\n */\nexport class QuickNodeProvider extends JsonRpcProvider {\n /**\n * The API token.\n */\n token;\n /**\n * Creates a new **QuickNodeProvider**.\n */\n constructor(_network, token) {\n if (_network == null) {\n _network = \"mainnet\";\n }\n const network = Network.from(_network);\n if (token == null) {\n token = defaultToken;\n }\n const request = QuickNodeProvider.getRequest(network, token);\n super(request, network, { staticNetwork: network });\n defineProperties(this, { token });\n }\n _getProvider(chainId) {\n try {\n return new QuickNodeProvider(chainId, this.token);\n }\n catch (error) { }\n return super._getProvider(chainId);\n }\n isCommunityResource() {\n return (this.token === defaultToken);\n }\n /**\n * Returns a new request prepared for %%network%% and the\n * %%token%%.\n */\n static getRequest(network, token) {\n if (token == null) {\n token = defaultToken;\n }\n const request = new FetchRequest(`https:/\\/${getHost(network.name)}/${token}`);\n request.allowGzip = true;\n //if (projectSecret) { request.setCredentials(\"\", projectSecret); }\n if (token === defaultToken) {\n request.retryFunc = async (request, response, attempt) => {\n showThrottleMessage(\"QuickNodeProvider\");\n return true;\n };\n }\n return request;\n }\n}\n//# sourceMappingURL=provider-quicknode.js.map","/**\n * A **FallbackProvider** provides resilience, security and performance\n * in a way that is customizable and configurable.\n *\n * @_section: api/providers/fallback-provider:Fallback Provider [about-fallback-provider]\n */\nimport { assert, assertArgument, getBigInt, getNumber, isError } from \"../utils/index.js\";\nimport { AbstractProvider } from \"./abstract-provider.js\";\nimport { Network } from \"./network.js\";\nconst BN_1 = BigInt(\"1\");\nconst BN_2 = BigInt(\"2\");\nfunction shuffle(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n const tmp = array[i];\n array[i] = array[j];\n array[j] = tmp;\n }\n}\nfunction stall(duration) {\n return new Promise((resolve) => { setTimeout(resolve, duration); });\n}\nfunction getTime() { return (new Date()).getTime(); }\nfunction stringify(value) {\n return JSON.stringify(value, (key, value) => {\n if (typeof (value) === \"bigint\") {\n return { type: \"bigint\", value: value.toString() };\n }\n return value;\n });\n}\n;\nconst defaultConfig = { stallTimeout: 400, priority: 1, weight: 1 };\nconst defaultState = {\n blockNumber: -2, requests: 0, lateResponses: 0, errorResponses: 0,\n outOfSync: -1, unsupportedEvents: 0, rollingDuration: 0, score: 0,\n _network: null, _updateNumber: null, _totalTime: 0,\n _lastFatalError: null, _lastFatalErrorTimestamp: 0\n};\nasync function waitForSync(config, blockNumber) {\n while (config.blockNumber < 0 || config.blockNumber < blockNumber) {\n if (!config._updateNumber) {\n config._updateNumber = (async () => {\n try {\n const blockNumber = await config.provider.getBlockNumber();\n if (blockNumber > config.blockNumber) {\n config.blockNumber = blockNumber;\n }\n }\n catch (error) {\n config.blockNumber = -2;\n config._lastFatalError = error;\n config._lastFatalErrorTimestamp = getTime();\n }\n config._updateNumber = null;\n })();\n }\n await config._updateNumber;\n config.outOfSync++;\n if (config._lastFatalError) {\n break;\n }\n }\n}\nfunction _normalize(value) {\n if (value == null) {\n return \"null\";\n }\n if (Array.isArray(value)) {\n return \"[\" + (value.map(_normalize)).join(\",\") + \"]\";\n }\n if (typeof (value) === \"object\" && typeof (value.toJSON) === \"function\") {\n return _normalize(value.toJSON());\n }\n switch (typeof (value)) {\n case \"boolean\":\n case \"symbol\":\n return value.toString();\n case \"bigint\":\n case \"number\":\n return BigInt(value).toString();\n case \"string\":\n return JSON.stringify(value);\n case \"object\": {\n const keys = Object.keys(value);\n keys.sort();\n return \"{\" + keys.map((k) => `${JSON.stringify(k)}:${_normalize(value[k])}`).join(\",\") + \"}\";\n }\n }\n console.log(\"Could not serialize\", value);\n throw new Error(\"Hmm...\");\n}\nfunction normalizeResult(value) {\n if (\"error\" in value) {\n const error = value.error;\n return { tag: _normalize(error), value: error };\n }\n const result = value.result;\n return { tag: _normalize(result), value: result };\n}\n// This strategy picks the highest weight result, as long as the weight is\n// equal to or greater than quorum\nfunction checkQuorum(quorum, results) {\n const tally = new Map();\n for (const { value, tag, weight } of results) {\n const t = tally.get(tag) || { value, weight: 0 };\n t.weight += weight;\n tally.set(tag, t);\n }\n let best = null;\n for (const r of tally.values()) {\n if (r.weight >= quorum && (!best || r.weight > best.weight)) {\n best = r;\n }\n }\n if (best) {\n return best.value;\n }\n return undefined;\n}\nfunction getMedian(quorum, results) {\n let resultWeight = 0;\n const errorMap = new Map();\n let bestError = null;\n const values = [];\n for (const { value, tag, weight } of results) {\n if (value instanceof Error) {\n const e = errorMap.get(tag) || { value, weight: 0 };\n e.weight += weight;\n errorMap.set(tag, e);\n if (bestError == null || e.weight > bestError.weight) {\n bestError = e;\n }\n }\n else {\n values.push(BigInt(value));\n resultWeight += weight;\n }\n }\n if (resultWeight < quorum) {\n // We have quorum for an error\n if (bestError && bestError.weight >= quorum) {\n return bestError.value;\n }\n // We do not have quorum for a result\n return undefined;\n }\n // Get the sorted values\n values.sort((a, b) => ((a < b) ? -1 : (b > a) ? 1 : 0));\n const mid = Math.floor(values.length / 2);\n // Odd-length; take the middle value\n if (values.length % 2) {\n return values[mid];\n }\n // Even length; take the ceiling of the mean of the center two values\n return (values[mid - 1] + values[mid] + BN_1) / BN_2;\n}\nfunction getAnyResult(quorum, results) {\n // If any value or error meets quorum, that is our preferred result\n const result = checkQuorum(quorum, results);\n if (result !== undefined) {\n return result;\n }\n // Otherwise, do we have any result?\n for (const r of results) {\n if (r.value) {\n return r.value;\n }\n }\n // Nope!\n return undefined;\n}\nfunction getFuzzyMode(quorum, results) {\n if (quorum === 1) {\n return getNumber(getMedian(quorum, results), \"%internal\");\n }\n const tally = new Map();\n const add = (result, weight) => {\n const t = tally.get(result) || { result, weight: 0 };\n t.weight += weight;\n tally.set(result, t);\n };\n for (const { weight, value } of results) {\n const r = getNumber(value);\n add(r - 1, weight);\n add(r, weight);\n add(r + 1, weight);\n }\n let bestWeight = 0;\n let bestResult = undefined;\n for (const { weight, result } of tally.values()) {\n // Use this result, if this result meets quorum and has either:\n // - a better weight\n // - or equal weight, but the result is larger\n if (weight >= quorum && (weight > bestWeight || (bestResult != null && weight === bestWeight && result > bestResult))) {\n bestWeight = weight;\n bestResult = result;\n }\n }\n return bestResult;\n}\n/**\n * A **FallbackProvider** manages several [[Providers]] providing\n * resilience by switching between slow or misbehaving nodes, security\n * by requiring multiple backends to aggree and performance by allowing\n * faster backends to respond earlier.\n *\n */\nexport class FallbackProvider extends AbstractProvider {\n /**\n * The number of backends that must agree on a value before it is\n * accpeted.\n */\n quorum;\n /**\n * @_ignore:\n */\n eventQuorum;\n /**\n * @_ignore:\n */\n eventWorkers;\n #configs;\n #height;\n #initialSyncPromise;\n /**\n * Creates a new **FallbackProvider** with %%providers%% connected to\n * %%network%%.\n *\n * If a [[Provider]] is included in %%providers%%, defaults are used\n * for the configuration.\n */\n constructor(providers, network, options) {\n super(network, options);\n this.#configs = providers.map((p) => {\n if (p instanceof AbstractProvider) {\n return Object.assign({ provider: p }, defaultConfig, defaultState);\n }\n else {\n return Object.assign({}, defaultConfig, p, defaultState);\n }\n });\n this.#height = -2;\n this.#initialSyncPromise = null;\n if (options && options.quorum != null) {\n this.quorum = options.quorum;\n }\n else {\n this.quorum = Math.ceil(this.#configs.reduce((accum, config) => {\n accum += config.weight;\n return accum;\n }, 0) / 2);\n }\n this.eventQuorum = 1;\n this.eventWorkers = 1;\n assertArgument(this.quorum <= this.#configs.reduce((a, c) => (a + c.weight), 0), \"quorum exceed provider wieght\", \"quorum\", this.quorum);\n }\n get providerConfigs() {\n return this.#configs.map((c) => {\n const result = Object.assign({}, c);\n for (const key in result) {\n if (key[0] === \"_\") {\n delete result[key];\n }\n }\n return result;\n });\n }\n async _detectNetwork() {\n return Network.from(getBigInt(await this._perform({ method: \"chainId\" })));\n }\n // @TODO: Add support to select providers to be the event subscriber\n //_getSubscriber(sub: Subscription): Subscriber {\n // throw new Error(\"@TODO\");\n //}\n /**\n * Transforms a %%req%% into the correct method call on %%provider%%.\n */\n async _translatePerform(provider, req) {\n switch (req.method) {\n case \"broadcastTransaction\":\n return await provider.broadcastTransaction(req.signedTransaction);\n case \"call\":\n return await provider.call(Object.assign({}, req.transaction, { blockTag: req.blockTag }));\n case \"chainId\":\n return (await provider.getNetwork()).chainId;\n case \"estimateGas\":\n return await provider.estimateGas(req.transaction);\n case \"getBalance\":\n return await provider.getBalance(req.address, req.blockTag);\n case \"getBlock\": {\n const block = (\"blockHash\" in req) ? req.blockHash : req.blockTag;\n return await provider.getBlock(block, req.includeTransactions);\n }\n case \"getBlockNumber\":\n return await provider.getBlockNumber();\n case \"getCode\":\n return await provider.getCode(req.address, req.blockTag);\n case \"getGasPrice\":\n return (await provider.getFeeData()).gasPrice;\n case \"getPriorityFee\":\n return (await provider.getFeeData()).maxPriorityFeePerGas;\n case \"getLogs\":\n return await provider.getLogs(req.filter);\n case \"getStorage\":\n return await provider.getStorage(req.address, req.position, req.blockTag);\n case \"getTransaction\":\n return await provider.getTransaction(req.hash);\n case \"getTransactionCount\":\n return await provider.getTransactionCount(req.address, req.blockTag);\n case \"getTransactionReceipt\":\n return await provider.getTransactionReceipt(req.hash);\n case \"getTransactionResult\":\n return await provider.getTransactionResult(req.hash);\n }\n }\n // Grab the next (random) config that is not already part of\n // the running set\n #getNextConfig(running) {\n // @TODO: Maybe do a check here to favour (heavily) providers that\n // do not require waitForSync and disfavour providers that\n // seem down-ish or are behaving slowly\n const configs = Array.from(running).map((r) => r.config);\n // Shuffle the states, sorted by priority\n const allConfigs = this.#configs.slice();\n shuffle(allConfigs);\n allConfigs.sort((a, b) => (a.priority - b.priority));\n for (const config of allConfigs) {\n if (config._lastFatalError) {\n continue;\n }\n if (configs.indexOf(config) === -1) {\n return config;\n }\n }\n return null;\n }\n // Adds a new runner (if available) to running.\n #addRunner(running, req) {\n const config = this.#getNextConfig(running);\n // No runners available\n if (config == null) {\n return null;\n }\n // Create a new runner\n const runner = {\n config, result: null, didBump: false,\n perform: null, staller: null\n };\n const now = getTime();\n // Start performing this operation\n runner.perform = (async () => {\n try {\n config.requests++;\n const result = await this._translatePerform(config.provider, req);\n runner.result = { result };\n }\n catch (error) {\n config.errorResponses++;\n runner.result = { error };\n }\n const dt = (getTime() - now);\n config._totalTime += dt;\n config.rollingDuration = 0.95 * config.rollingDuration + 0.05 * dt;\n runner.perform = null;\n })();\n // Start a staller; when this times out, it's time to force\n // kicking off another runner because we are taking too long\n runner.staller = (async () => {\n await stall(config.stallTimeout);\n runner.staller = null;\n })();\n running.add(runner);\n return runner;\n }\n // Initializes the blockNumber and network for each runner and\n // blocks until initialized\n async #initialSync() {\n let initialSync = this.#initialSyncPromise;\n if (!initialSync) {\n const promises = [];\n this.#configs.forEach((config) => {\n promises.push((async () => {\n await waitForSync(config, 0);\n if (!config._lastFatalError) {\n config._network = await config.provider.getNetwork();\n }\n })());\n });\n this.#initialSyncPromise = initialSync = (async () => {\n // Wait for all providers to have a block number and network\n await Promise.all(promises);\n // Check all the networks match\n let chainId = null;\n for (const config of this.#configs) {\n if (config._lastFatalError) {\n continue;\n }\n const network = (config._network);\n if (chainId == null) {\n chainId = network.chainId;\n }\n else if (network.chainId !== chainId) {\n assert(false, \"cannot mix providers on different networks\", \"UNSUPPORTED_OPERATION\", {\n operation: \"new FallbackProvider\"\n });\n }\n }\n })();\n }\n await initialSync;\n }\n async #checkQuorum(running, req) {\n // Get all the result objects\n const results = [];\n for (const runner of running) {\n if (runner.result != null) {\n const { tag, value } = normalizeResult(runner.result);\n results.push({ tag, value, weight: runner.config.weight });\n }\n }\n // Are there enough results to event meet quorum?\n if (results.reduce((a, r) => (a + r.weight), 0) < this.quorum) {\n return undefined;\n }\n switch (req.method) {\n case \"getBlockNumber\": {\n // We need to get the bootstrap block height\n if (this.#height === -2) {\n this.#height = Math.ceil(getNumber(getMedian(this.quorum, this.#configs.filter((c) => (!c._lastFatalError)).map((c) => ({\n value: c.blockNumber,\n tag: getNumber(c.blockNumber).toString(),\n weight: c.weight\n })))));\n }\n // Find the mode across all the providers, allowing for\n // a little drift between block heights\n const mode = getFuzzyMode(this.quorum, results);\n if (mode === undefined) {\n return undefined;\n }\n if (mode > this.#height) {\n this.#height = mode;\n }\n return this.#height;\n }\n case \"getGasPrice\":\n case \"getPriorityFee\":\n case \"estimateGas\":\n return getMedian(this.quorum, results);\n case \"getBlock\":\n // Pending blocks are in the mempool and already\n // quite untrustworthy; just grab anything\n if (\"blockTag\" in req && req.blockTag === \"pending\") {\n return getAnyResult(this.quorum, results);\n }\n return checkQuorum(this.quorum, results);\n case \"call\":\n case \"chainId\":\n case \"getBalance\":\n case \"getTransactionCount\":\n case \"getCode\":\n case \"getStorage\":\n case \"getTransaction\":\n case \"getTransactionReceipt\":\n case \"getLogs\":\n return checkQuorum(this.quorum, results);\n case \"broadcastTransaction\":\n return getAnyResult(this.quorum, results);\n }\n assert(false, \"unsupported method\", \"UNSUPPORTED_OPERATION\", {\n operation: `_perform(${stringify(req.method)})`\n });\n }\n async #waitForQuorum(running, req) {\n if (running.size === 0) {\n throw new Error(\"no runners?!\");\n }\n // Any promises that are interesting to watch for; an expired stall\n // or a successful perform\n const interesting = [];\n let newRunners = 0;\n for (const runner of running) {\n // No responses, yet; keep an eye on it\n if (runner.perform) {\n interesting.push(runner.perform);\n }\n // Still stalling...\n if (runner.staller) {\n interesting.push(runner.staller);\n continue;\n }\n // This runner has already triggered another runner\n if (runner.didBump) {\n continue;\n }\n // Got a response (result or error) or stalled; kick off another runner\n runner.didBump = true;\n newRunners++;\n }\n // Check if we have reached quorum on a result (or error)\n const value = await this.#checkQuorum(running, req);\n if (value !== undefined) {\n if (value instanceof Error) {\n throw value;\n }\n return value;\n }\n // Add any new runners, because a staller timed out or a result\n // or error response came in.\n for (let i = 0; i < newRunners; i++) {\n this.#addRunner(running, req);\n }\n // All providers have returned, and we have no result\n assert(interesting.length > 0, \"quorum not met\", \"SERVER_ERROR\", {\n request: \"%sub-requests\",\n info: { request: req, results: Array.from(running).map((r) => stringify(r.result)) }\n });\n // Wait for someone to either complete its perform or stall out\n await Promise.race(interesting);\n // This is recursive, but at worst case the depth is 2x the\n // number of providers (each has a perform and a staller)\n return await this.#waitForQuorum(running, req);\n }\n async _perform(req) {\n // Broadcasting a transaction is rare (ish) and already incurs\n // a cost on the user, so spamming is safe-ish. Just send it to\n // every backend.\n if (req.method === \"broadcastTransaction\") {\n // Once any broadcast provides a positive result, use it. No\n // need to wait for anyone else\n const results = this.#configs.map((c) => null);\n const broadcasts = this.#configs.map(async ({ provider, weight }, index) => {\n try {\n const result = await provider._perform(req);\n results[index] = Object.assign(normalizeResult({ result }), { weight });\n }\n catch (error) {\n results[index] = Object.assign(normalizeResult({ error }), { weight });\n }\n });\n // As each promise finishes...\n while (true) {\n // Check for a valid broadcast result\n const done = results.filter((r) => (r != null));\n for (const { value } of done) {\n if (!(value instanceof Error)) {\n return value;\n }\n }\n // Check for a legit broadcast error (one which we cannot\n // recover from; some nodes may return the following red\n // herring events:\n // - alredy seend (UNKNOWN_ERROR)\n // - NONCE_EXPIRED\n // - REPLACEMENT_UNDERPRICED\n const result = checkQuorum(this.quorum, results.filter((r) => (r != null)));\n if (isError(result, \"INSUFFICIENT_FUNDS\")) {\n throw result;\n }\n // Kick off the next provider (if any)\n const waiting = broadcasts.filter((b, i) => (results[i] == null));\n if (waiting.length === 0) {\n break;\n }\n await Promise.race(waiting);\n }\n // Use standard quorum results; any result was returned above,\n // so this will find any error that met quorum if any\n const result = getAnyResult(this.quorum, results);\n assert(result !== undefined, \"problem multi-broadcasting\", \"SERVER_ERROR\", {\n request: \"%sub-requests\",\n info: { request: req, results: results.map(stringify) }\n });\n if (result instanceof Error) {\n throw result;\n }\n return result;\n }\n await this.#initialSync();\n // Bootstrap enough runners to meet quorum\n const running = new Set();\n let inflightQuorum = 0;\n while (true) {\n const runner = this.#addRunner(running, req);\n if (runner == null) {\n break;\n }\n inflightQuorum += runner.config.weight;\n if (inflightQuorum >= this.quorum) {\n break;\n }\n }\n const result = await this.#waitForQuorum(running, req);\n // Track requests sent to a provider that are still\n // outstanding after quorum has been otherwise found\n for (const runner of running) {\n if (runner.perform && runner.result == null) {\n runner.config.lateResponses++;\n }\n }\n return result;\n }\n async destroy() {\n for (const { provider } of this.#configs) {\n provider.destroy();\n }\n super.destroy();\n }\n}\n//# sourceMappingURL=provider-fallback.js.map","import { assert } from \"../utils/index.js\";\nimport { AnkrProvider } from \"./provider-ankr.js\";\nimport { AlchemyProvider } from \"./provider-alchemy.js\";\nimport { CloudflareProvider } from \"./provider-cloudflare.js\";\nimport { EtherscanProvider } from \"./provider-etherscan.js\";\nimport { InfuraProvider } from \"./provider-infura.js\";\n//import { PocketProvider } from \"./provider-pocket.js\";\nimport { QuickNodeProvider } from \"./provider-quicknode.js\";\nimport { FallbackProvider } from \"./provider-fallback.js\";\nimport { JsonRpcProvider } from \"./provider-jsonrpc.js\";\nimport { Network } from \"./network.js\";\nimport { WebSocketProvider } from \"./provider-websocket.js\";\nfunction isWebSocketLike(value) {\n return (value && typeof (value.send) === \"function\" &&\n typeof (value.close) === \"function\");\n}\nconst Testnets = \"goerli kovan sepolia classicKotti optimism-goerli arbitrum-goerli matic-mumbai bnbt\".split(\" \");\n/**\n * Returns a default provider for %%network%%.\n *\n * If %%network%% is a [[WebSocketLike]] or string that begins with\n * ``\"ws:\"`` or ``\"wss:\"``, a [[WebSocketProvider]] is returned backed\n * by that WebSocket or URL.\n *\n * If %%network%% is a string that begins with ``\"HTTP:\"`` or ``\"HTTPS:\"``,\n * a [[JsonRpcProvider]] is returned connected to that URL.\n *\n * Otherwise, a default provider is created backed by well-known public\n * Web3 backends (such as [[link-infura]]) using community-provided API\n * keys.\n *\n * The %%options%% allows specifying custom API keys per backend (setting\n * an API key to ``\"-\"`` will omit that provider) and ``options.exclusive``\n * can be set to either a backend name or and array of backend names, which\n * will whitelist **only** those backends.\n *\n * Current backend strings supported are:\n * - ``\"alchemy\"``\n * - ``\"ankr\"``\n * - ``\"cloudflare\"``\n * - ``\"etherscan\"``\n * - ``\"infura\"``\n * - ``\"publicPolygon\"``\n * - ``\"quicknode\"``\n *\n * @example:\n * // Connect to a local Geth node\n * provider = getDefaultProvider(\"http://localhost:8545/\");\n *\n * // Connect to Ethereum mainnet with any current and future\n * // third-party services available\n * provider = getDefaultProvider(\"mainnet\");\n *\n * // Connect to Polygon, but only allow Etherscan and\n * // INFURA and use \"MY_API_KEY\" in calls to Etherscan.\n * provider = getDefaultProvider(\"matic\", {\n * etherscan: \"MY_API_KEY\",\n * exclusive: [ \"etherscan\", \"infura\" ]\n * });\n */\nexport function getDefaultProvider(network, options) {\n if (options == null) {\n options = {};\n }\n const allowService = (name) => {\n if (options[name] === \"-\") {\n return false;\n }\n if (typeof (options.exclusive) === \"string\") {\n return (name === options.exclusive);\n }\n if (Array.isArray(options.exclusive)) {\n return (options.exclusive.indexOf(name) !== -1);\n }\n return true;\n };\n if (typeof (network) === \"string\" && network.match(/^https?:/)) {\n return new JsonRpcProvider(network);\n }\n if (typeof (network) === \"string\" && network.match(/^wss?:/) || isWebSocketLike(network)) {\n return new WebSocketProvider(network);\n }\n // Get the network and name, if possible\n let staticNetwork = null;\n try {\n staticNetwork = Network.from(network);\n }\n catch (error) { }\n const providers = [];\n if (allowService(\"publicPolygon\") && staticNetwork) {\n if (staticNetwork.name === \"matic\") {\n providers.push(new JsonRpcProvider(\"https:/\\/polygon-rpc.com/\", staticNetwork, { staticNetwork }));\n }\n }\n if (allowService(\"alchemy\")) {\n try {\n providers.push(new AlchemyProvider(network, options.alchemy));\n }\n catch (error) { }\n }\n if (allowService(\"ankr\") && options.ankr != null) {\n try {\n providers.push(new AnkrProvider(network, options.ankr));\n }\n catch (error) { }\n }\n if (allowService(\"cloudflare\")) {\n try {\n providers.push(new CloudflareProvider(network));\n }\n catch (error) { }\n }\n if (allowService(\"etherscan\")) {\n try {\n providers.push(new EtherscanProvider(network, options.etherscan));\n }\n catch (error) { }\n }\n if (allowService(\"infura\")) {\n try {\n let projectId = options.infura;\n let projectSecret = undefined;\n if (typeof (projectId) === \"object\") {\n projectSecret = projectId.projectSecret;\n projectId = projectId.projectId;\n }\n providers.push(new InfuraProvider(network, projectId, projectSecret));\n }\n catch (error) { }\n }\n /*\n if (options.pocket !== \"-\") {\n try {\n let appId = options.pocket;\n let secretKey: undefined | string = undefined;\n let loadBalancer: undefined | boolean = undefined;\n if (typeof(appId) === \"object\") {\n loadBalancer = !!appId.loadBalancer;\n secretKey = appId.secretKey;\n appId = appId.appId;\n }\n providers.push(new PocketProvider(network, appId, secretKey, loadBalancer));\n } catch (error) { console.log(error); }\n }\n */\n if (allowService(\"quicknode\")) {\n try {\n let token = options.quicknode;\n providers.push(new QuickNodeProvider(network, token));\n }\n catch (error) { }\n }\n assert(providers.length, \"unsupported default network\", \"UNSUPPORTED_OPERATION\", {\n operation: \"getDefaultProvider\"\n });\n // No need for a FallbackProvider\n if (providers.length === 1) {\n return providers[0];\n }\n // We use the floor because public third-party providers can be unreliable,\n // so a low number of providers with a large quorum will fail too often\n let quorum = Math.floor(providers.length / 2);\n if (quorum > 2) {\n quorum = 2;\n }\n // Testnets don't need as strong a security gaurantee and speed is\n // more useful during testing\n if (staticNetwork && Testnets.indexOf(staticNetwork.name) !== -1) {\n quorum = 1;\n }\n // Provided override qorum takes priority\n if (options && options.quorum) {\n quorum = options.quorum;\n }\n return new FallbackProvider(providers, undefined, { quorum });\n}\n//# sourceMappingURL=default-provider.js.map","import { defineProperties } from \"../utils/index.js\";\nimport { AbstractSigner } from \"./abstract-signer.js\";\n/**\n * A **NonceManager** wraps another [[Signer]] and automatically manages\n * the nonce, ensuring serialized and sequential nonces are used during\n * transaction.\n */\nexport class NonceManager extends AbstractSigner {\n /**\n * The Signer being managed.\n */\n signer;\n #noncePromise;\n #delta;\n /**\n * Creates a new **NonceManager** to manage %%signer%%.\n */\n constructor(signer) {\n super(signer.provider);\n defineProperties(this, { signer });\n this.#noncePromise = null;\n this.#delta = 0;\n }\n async getAddress() {\n return this.signer.getAddress();\n }\n connect(provider) {\n return new NonceManager(this.signer.connect(provider));\n }\n async getNonce(blockTag) {\n if (blockTag === \"pending\") {\n if (this.#noncePromise == null) {\n this.#noncePromise = super.getNonce(\"pending\");\n }\n const delta = this.#delta;\n return (await this.#noncePromise) + delta;\n }\n return super.getNonce(blockTag);\n }\n /**\n * Manually increment the nonce. This may be useful when managng\n * offline transactions.\n */\n increment() {\n this.#delta++;\n }\n /**\n * Resets the nonce, causing the **NonceManager** to reload the current\n * nonce from the blockchain on the next transaction.\n */\n reset() {\n this.#delta = 0;\n this.#noncePromise = null;\n }\n async sendTransaction(tx) {\n const noncePromise = this.getNonce(\"pending\");\n this.increment();\n tx = await this.signer.populateTransaction(tx);\n tx.nonce = await noncePromise;\n // @TODO: Maybe handle interesting/recoverable errors?\n // Like don't increment if the tx was certainly not sent\n return await this.signer.sendTransaction(tx);\n }\n signTransaction(tx) {\n return this.signer.signTransaction(tx);\n }\n signMessage(message) {\n return this.signer.signMessage(message);\n }\n signTypedData(domain, types, value) {\n return this.signer.signTypedData(domain, types, value);\n }\n}\n//# sourceMappingURL=signer-noncemanager.js.map","import { assertArgument } from \"../utils/index.js\";\nimport { JsonRpcApiPollingProvider } from \"./provider-jsonrpc.js\";\n;\n/**\n * A **BrowserProvider** is intended to wrap an injected provider which\n * adheres to the [[link-eip-1193]] standard, which most (if not all)\n * currently do.\n */\nexport class BrowserProvider extends JsonRpcApiPollingProvider {\n #request;\n /**\n * Connnect to the %%ethereum%% provider, optionally forcing the\n * %%network%%.\n */\n constructor(ethereum, network) {\n assertArgument(ethereum && ethereum.request, \"invalid EIP-1193 provider\", \"ethereum\", ethereum);\n super(network, { batchMaxCount: 1 });\n this.#request = async (method, params) => {\n const payload = { method, params };\n this.emit(\"debug\", { action: \"sendEip1193Request\", payload });\n try {\n const result = await ethereum.request(payload);\n this.emit(\"debug\", { action: \"receiveEip1193Result\", result });\n return result;\n }\n catch (e) {\n const error = new Error(e.message);\n error.code = e.code;\n error.data = e.data;\n error.payload = payload;\n this.emit(\"debug\", { action: \"receiveEip1193Error\", error });\n throw error;\n }\n };\n }\n async send(method, params) {\n await this._start();\n return await super.send(method, params);\n }\n async _send(payload) {\n assertArgument(!Array.isArray(payload), \"EIP-1193 does not support batch request\", \"payload\", payload);\n try {\n const result = await this.#request(payload.method, payload.params || []);\n return [{ id: payload.id, result }];\n }\n catch (e) {\n return [{\n id: payload.id,\n error: { code: e.code, data: e.data, message: e.message }\n }];\n }\n }\n getRpcError(payload, error) {\n error = JSON.parse(JSON.stringify(error));\n // EIP-1193 gives us some machine-readable error codes, so rewrite\n // them into \n switch (error.error.code || -1) {\n case 4001:\n error.error.message = `ethers-user-denied: ${error.error.message}`;\n break;\n case 4200:\n error.error.message = `ethers-unsupported: ${error.error.message}`;\n break;\n }\n return super.getRpcError(payload, error);\n }\n /**\n * Resolves to ``true`` if the provider manages the %%address%%.\n */\n async hasSigner(address) {\n if (address == null) {\n address = 0;\n }\n const accounts = await this.send(\"eth_accounts\", []);\n if (typeof (address) === \"number\") {\n return (accounts.length > address);\n }\n address = address.toLowerCase();\n return accounts.filter((a) => (a.toLowerCase() === address)).length !== 0;\n }\n async getSigner(address) {\n if (address == null) {\n address = 0;\n }\n if (!(await this.hasSigner(address))) {\n try {\n //const resp = \n await this.#request(\"eth_requestAccounts\", []);\n //console.log(\"RESP\", resp);\n }\n catch (error) {\n const payload = error.payload;\n throw this.getRpcError(payload, { id: payload.id, error });\n }\n }\n return await super.getSigner(address);\n }\n}\n//# sourceMappingURL=provider-browser.js.map","/**\n * [[link-pocket]] provides a third-party service for connecting to\n * various blockchains over JSON-RPC.\n *\n * **Supported Networks**\n *\n * - Ethereum Mainnet (``mainnet``)\n * - Goerli Testnet (``goerli``)\n * - Polygon (``matic``)\n * - Arbitrum (``arbitrum``)\n *\n * @_subsection: api/providers/thirdparty:Pocket [providers-pocket]\n */\nimport { defineProperties, FetchRequest, assertArgument } from \"../utils/index.js\";\nimport { showThrottleMessage } from \"./community.js\";\nimport { Network } from \"./network.js\";\nimport { JsonRpcProvider } from \"./provider-jsonrpc.js\";\nconst defaultApplicationId = \"62e1ad51b37b8e00394bda3b\";\nfunction getHost(name) {\n switch (name) {\n case \"mainnet\":\n return \"eth-mainnet.gateway.pokt.network\";\n case \"goerli\":\n return \"eth-goerli.gateway.pokt.network\";\n case \"matic\":\n return \"poly-mainnet.gateway.pokt.network\";\n case \"matic-mumbai\":\n return \"polygon-mumbai-rpc.gateway.pokt.network\";\n }\n assertArgument(false, \"unsupported network\", \"network\", name);\n}\n/**\n * The **PocketProvider** connects to the [[link-pocket]]\n * JSON-RPC end-points.\n *\n * By default, a highly-throttled API key is used, which is\n * appropriate for quick prototypes and simple scripts. To\n * gain access to an increased rate-limit, it is highly\n * recommended to [sign up here](link-pocket-signup).\n */\nexport class PocketProvider extends JsonRpcProvider {\n /**\n * The Application ID for the Pocket connection.\n */\n applicationId;\n /**\n * The Application Secret for making authenticated requests\n * to the Pocket connection.\n */\n applicationSecret;\n /**\n * Create a new **PocketProvider**.\n *\n * By default connecting to ``mainnet`` with a highly throttled\n * API key.\n */\n constructor(_network, applicationId, applicationSecret) {\n if (_network == null) {\n _network = \"mainnet\";\n }\n const network = Network.from(_network);\n if (applicationId == null) {\n applicationId = defaultApplicationId;\n }\n if (applicationSecret == null) {\n applicationSecret = null;\n }\n const options = { staticNetwork: network };\n const request = PocketProvider.getRequest(network, applicationId, applicationSecret);\n super(request, network, options);\n defineProperties(this, { applicationId, applicationSecret });\n }\n _getProvider(chainId) {\n try {\n return new PocketProvider(chainId, this.applicationId, this.applicationSecret);\n }\n catch (error) { }\n return super._getProvider(chainId);\n }\n /**\n * Returns a prepared request for connecting to %%network%% with\n * %%applicationId%%.\n */\n static getRequest(network, applicationId, applicationSecret) {\n if (applicationId == null) {\n applicationId = defaultApplicationId;\n }\n const request = new FetchRequest(`https:/\\/${getHost(network.name)}/v1/lb/${applicationId}`);\n request.allowGzip = true;\n if (applicationSecret) {\n request.setCredentials(\"\", applicationSecret);\n }\n if (applicationId === defaultApplicationId) {\n request.retryFunc = async (request, response, attempt) => {\n showThrottleMessage(\"PocketProvider\");\n return true;\n };\n }\n return request;\n }\n isCommunityResource() {\n return (this.applicationId === defaultApplicationId);\n }\n}\n//# sourceMappingURL=provider-pocket.js.map","const IpcSocketProvider = undefined;\nexport { IpcSocketProvider };\n//# sourceMappingURL=provider-ipcsocket-browser.js.map","import { getAddress, resolveAddress } from \"../address/index.js\";\nimport { hashMessage, TypedDataEncoder } from \"../hash/index.js\";\nimport { AbstractSigner } from \"../providers/index.js\";\nimport { computeAddress, Transaction } from \"../transaction/index.js\";\nimport { defineProperties, resolveProperties, assert, assertArgument } from \"../utils/index.js\";\n/**\n * The **BaseWallet** is a stream-lined implementation of a\n * [[Signer]] that operates with a private key.\n *\n * It is preferred to use the [[Wallet]] class, as it offers\n * additional functionality and simplifies loading a variety\n * of JSON formats, Mnemonic Phrases, etc.\n *\n * This class may be of use for those attempting to implement\n * a minimal Signer.\n */\nexport class BaseWallet extends AbstractSigner {\n /**\n * The wallet address.\n */\n address;\n #signingKey;\n /**\n * Creates a new BaseWallet for %%privateKey%%, optionally\n * connected to %%provider%%.\n *\n * If %%provider%% is not specified, only offline methods can\n * be used.\n */\n constructor(privateKey, provider) {\n super(provider);\n assertArgument(privateKey && typeof (privateKey.sign) === \"function\", \"invalid private key\", \"privateKey\", \"[ REDACTED ]\");\n this.#signingKey = privateKey;\n const address = computeAddress(this.signingKey.publicKey);\n defineProperties(this, { address });\n }\n // Store private values behind getters to reduce visibility\n // in console.log\n /**\n * The [[SigningKey]] used for signing payloads.\n */\n get signingKey() { return this.#signingKey; }\n /**\n * The private key for this wallet.\n */\n get privateKey() { return this.signingKey.privateKey; }\n async getAddress() { return this.address; }\n connect(provider) {\n return new BaseWallet(this.#signingKey, provider);\n }\n async signTransaction(tx) {\n // Replace any Addressable or ENS name with an address\n const { to, from } = await resolveProperties({\n to: (tx.to ? resolveAddress(tx.to, this.provider) : undefined),\n from: (tx.from ? resolveAddress(tx.from, this.provider) : undefined)\n });\n if (to != null) {\n tx.to = to;\n }\n if (from != null) {\n tx.from = from;\n }\n if (tx.from != null) {\n assertArgument(getAddress((tx.from)) === this.address, \"transaction from address mismatch\", \"tx.from\", tx.from);\n delete tx.from;\n }\n // Build the transaction\n const btx = Transaction.from(tx);\n btx.signature = this.signingKey.sign(btx.unsignedHash);\n return btx.serialized;\n }\n async signMessage(message) {\n return this.signMessageSync(message);\n }\n // @TODO: Add a secialized signTx and signTyped sync that enforces\n // all parameters are known?\n /**\n * Returns the signature for %%message%% signed with this wallet.\n */\n signMessageSync(message) {\n return this.signingKey.sign(hashMessage(message)).serialized;\n }\n async signTypedData(domain, types, value) {\n // Populate any ENS names\n const populated = await TypedDataEncoder.resolveNames(domain, types, value, async (name) => {\n // @TODO: this should use resolveName; addresses don't\n // need a provider\n assert(this.provider != null, \"cannot resolve ENS names without a provider\", \"UNSUPPORTED_OPERATION\", {\n operation: \"resolveName\",\n info: { name }\n });\n const address = await this.provider.resolveName(name);\n assert(address != null, \"unconfigured ENS name\", \"UNCONFIGURED_NAME\", {\n value: name\n });\n return address;\n });\n return this.signingKey.sign(TypedDataEncoder.hash(populated.domain, types, populated.value)).serialized;\n }\n}\n//# sourceMappingURL=base-wallet.js.map","import { assertArgument } from \"../utils/index.js\";\nconst subsChrs = \" !#$%&'()*+,-./<=>?@[]^_`{|}~\";\nconst Word = /^[a-z]*$/i;\nfunction unfold(words, sep) {\n let initial = 97;\n return words.reduce((accum, word) => {\n if (word === sep) {\n initial++;\n }\n else if (word.match(Word)) {\n accum.push(String.fromCharCode(initial) + word);\n }\n else {\n initial = 97;\n accum.push(word);\n }\n return accum;\n }, []);\n}\n/**\n * @_ignore\n */\nexport function decode(data, subs) {\n // Replace all the substitutions with their expanded form\n for (let i = subsChrs.length - 1; i >= 0; i--) {\n data = data.split(subsChrs[i]).join(subs.substring(2 * i, 2 * i + 2));\n }\n // Get all tle clumps; each suffix, first-increment and second-increment\n const clumps = [];\n const leftover = data.replace(/(:|([0-9])|([A-Z][a-z]*))/g, (all, item, semi, word) => {\n if (semi) {\n for (let i = parseInt(semi); i >= 0; i--) {\n clumps.push(\";\");\n }\n }\n else {\n clumps.push(item.toLowerCase());\n }\n return \"\";\n });\n /* c8 ignore start */\n if (leftover) {\n throw new Error(`leftovers: ${JSON.stringify(leftover)}`);\n }\n /* c8 ignore stop */\n return unfold(unfold(clumps, \";\"), \":\");\n}\n/**\n * @_ignore\n */\nexport function decodeOwl(data) {\n assertArgument(data[0] === \"0\", \"unsupported auwl data\", \"data\", data);\n return decode(data.substring(1 + 2 * subsChrs.length), data.substring(1, 1 + 2 * subsChrs.length));\n}\n//# sourceMappingURL=decode-owl.js.map","import { defineProperties } from \"../utils/index.js\";\n/**\n * A Wordlist represents a collection of language-specific\n * words used to encode and devoce [[link-bip-39]] encoded data\n * by mapping words to 11-bit values and vice versa.\n */\nexport class Wordlist {\n locale;\n /**\n * Creates a new Wordlist instance.\n *\n * Sub-classes MUST call this if they provide their own constructor,\n * passing in the locale string of the language.\n *\n * Generally there is no need to create instances of a Wordlist,\n * since each language-specific Wordlist creates an instance and\n * there is no state kept internally, so they are safe to share.\n */\n constructor(locale) {\n defineProperties(this, { locale });\n }\n /**\n * Sub-classes may override this to provide a language-specific\n * method for spliting %%phrase%% into individual words.\n *\n * By default, %%phrase%% is split using any sequences of\n * white-space as defined by regular expressions (i.e. ``/\\s+/``).\n */\n split(phrase) {\n return phrase.toLowerCase().split(/\\s+/g);\n }\n /**\n * Sub-classes may override this to provider a language-specific\n * method for joining %%words%% into a phrase.\n *\n * By default, %%words%% are joined by a single space.\n */\n join(words) {\n return words.join(\" \");\n }\n}\n//# sourceMappingURL=wordlist.js.map","// Use the encode-latin.js script to create the necessary\n// data files to be consumed by this class\nimport { id } from \"../hash/index.js\";\nimport { assertArgument } from \"../utils/index.js\";\nimport { decodeOwl } from \"./decode-owl.js\";\nimport { Wordlist } from \"./wordlist.js\";\n/**\n * An OWL format Wordlist is an encoding method that exploits\n * the general locality of alphabetically sorted words to\n * achieve a simple but effective means of compression.\n *\n * This class is generally not useful to most developers as\n * it is used mainly internally to keep Wordlists for languages\n * based on ASCII-7 small.\n *\n * If necessary, there are tools within the ``generation/`` folder\n * to create the necessary data.\n */\nexport class WordlistOwl extends Wordlist {\n #data;\n #checksum;\n /**\n * Creates a new Wordlist for %%locale%% using the OWL %%data%%\n * and validated against the %%checksum%%.\n */\n constructor(locale, data, checksum) {\n super(locale);\n this.#data = data;\n this.#checksum = checksum;\n this.#words = null;\n }\n /**\n * The OWL-encoded data.\n */\n get _data() { return this.#data; }\n /**\n * Decode all the words for the wordlist.\n */\n _decodeWords() {\n return decodeOwl(this.#data);\n }\n #words;\n #loadWords() {\n if (this.#words == null) {\n const words = this._decodeWords();\n // Verify the computed list matches the official list\n const checksum = id(words.join(\"\\n\") + \"\\n\");\n /* c8 ignore start */\n if (checksum !== this.#checksum) {\n throw new Error(`BIP39 Wordlist for ${this.locale} FAILED`);\n }\n /* c8 ignore stop */\n this.#words = words;\n }\n return this.#words;\n }\n getWord(index) {\n const words = this.#loadWords();\n assertArgument(index >= 0 && index < words.length, `invalid word index: ${index}`, \"index\", index);\n return words[index];\n }\n getWordIndex(word) {\n return this.#loadWords().indexOf(word);\n }\n}\n//# sourceMappingURL=wordlist-owl.js.map","import { WordlistOwl } from \"./wordlist-owl.js\";\nconst words = \"0erleonalorenseinceregesticitStanvetearctssi#ch2Athck&tneLl0And#Il.yLeOutO=S|S%b/ra@SurdU'0Ce[Cid|CountCu'Hie=IdOu,-Qui*Ro[TT]T%T*[Tu$0AptDD-tD*[Ju,M.UltV<)Vi)0Rob-0FairF%dRaid0A(EEntRee0Ead0MRRp%tS!_rmBumCoholErtI&LLeyLowMo,O}PhaReadySoT Ways0A>urAz(gOngOuntU'd0Aly,Ch%Ci|G G!GryIm$K!Noun)Nu$O` Sw T&naTiqueXietyY1ArtOlogyPe?P!Pro=Ril1ChCt-EaEnaGueMMedM%MyOundR<+Re,Ri=RowTTefa@Ti,Tw%k0KPe@SaultSetSi,SumeThma0H!>OmTa{T&dT.udeTra@0Ct]D.Gu,NtTh%ToTumn0Era+OcadoOid0AkeA*AyEsomeFulKw?d0Is:ByChel%C#D+GL<)Lc#y~MbooN_{Ad!AftAmA}AshAt AwlAzyEamEd.EekEwI{etImeIspIt-OpO[Ou^OwdUci$UelUi'Umb!Un^UshYY,$2BeLtu*PPbo?dRiousRr|Rta(R=Sh]/omTe3C!:DMa+MpN)Ng R(gShUght WnY3AlBa>BrisCadeCemb CideCl(eC%a>C*a'ErF&'F(eFyG*eLayLiv M3AgramAlAm#dAryCeE'lEtFf G.$Gn.yLemmaNn NosaurRe@RtSag*eScov Sea'ShSmi[S%d Splay/<)V tVideV%)Zzy5Ct%Cum|G~Lph(Ma(Na>NkeyN%OrSeUb!Ve_ftAg#AmaA,-AwEamE[IftIllInkIpI=OpUmY2CkMbNeR(g/T^Ty1Arf1Nam-:G G!RlyRnR`Sily/Sy1HoOlogyOnomy0GeItUca>1F%t0G1GhtTh 2BowD E@r-EgSe0B?kBodyBra)Er+Ot]PloyPow Pty0Ab!A@DD![D%'EmyErgyF%)Ga+G(eH<)JoyLi,OughR-hRollSu*T Ti*TryVelope1Isode0U$Uip0AA'OdeOs]R%Upt0CapeSayS&)Ta>0Ern$H-s1Id&)IlOkeOl=1A@Amp!Ce[Ch<+C.eCludeCu'Ecu>Erci'Hau,Hib.I!I,ItOt-PM&'Mu}Pa@Po'Pro=Pul'0ChCludeComeC*a'DexD-a>Do%Du,ryFN Noc|PutQuirySSue0Em1Ory:CketGu?RZz3AlousAns~yWel9BInKeUr}yY5D+I)MpNg!Ni%Nk/:Ng?oo3EnEpT^upY3CkDD}yNdNgdomSsTT^&TeTt&Wi4EeIfeO{Ow:BBelB%Dd DyKeMpNgua+PtopR+T T(UghUndryVaWWnWsu.Y Zy3Ad AfArnA=Ctu*FtGG$G&dIsu*M#NdNg`NsOp?dSs#Tt Vel3ArB tyBr?yC&'FeFtGhtKeMbM.NkOnQuid/Tt!VeZ?d5AdAnB, C$CkG-NelyNgOpTt yUdUn+VeY$5CkyGga+Mb N?N^Xury3R-s:Ch(eDG-G}tIdIlInJ%KeMm$NNa+Nda>NgoNs]Nu$P!Rb!R^Rg(R(eRketRria+SkSs/ T^T i$ThTrixTt XimumZe3AdowAnAsu*AtCh<-D$DiaLodyLtMb M%yNt]NuRcyR+R.RryShSsa+T$Thod3Dd!DnightLk~]M-NdNimumN%Nu>Rac!Rr%S ySs/akeXXedXtu*5Bi!DelDifyMM|N.%NkeyN, N`OnR$ReRn(gSqu.oTh T]T%Unta(U'VeVie5ChFf(LeLtiplySc!SeumShroomS-/Tu$3Self/ yTh:I=MePk(Rrow/yT]Tu*3ArCkEdGati=G!@I` PhewR=/TTw%kUtr$V WsXt3CeGht5B!I'M(eeOd!Rm$R`SeTab!TeTh(gTi)VelW5C!?Mb R'T:K0EyJe@Li+Scu*S =Ta(Vious0CurEAyEa'Ed+U{UgUn+2EmEtIntL?LeLi)NdNyOlPul?Rt]S.]Ssib!/TatoTt yV tyWd W _@i)Ai'Ed-tEf Epa*Es|EttyEv|I)IdeIm?yIntI%.yIs#Iva>IzeOb!mO)[Odu)Of.OgramOje@Omo>OofOp tyOsp O>@OudOvide2Bl-Dd(g~LpL'Mpk(N^PilPpyR^a'R.yRpo'R'ShTZz!3Ramid:99Al.yAntumArt E,]I{ItIzO>:Bb.Cco#CeCkD?DioIlInI'~yMpN^NdomN+PidReTeTh V&WZ%3AdyAlAs#BelBuildC$lCei=CipeC%dCyc!Du)F!@F%mFu'G]G*tGul?Je@LaxLea'LiefLyMa(Memb M(dMo=Nd NewNtOp&PairPeatPla)P%tQui*ScueSemb!Si,Sour)Sp#'SultTi*T*atTurnUn]Ve$ViewW?d2Y`m0BBb#CeChDeD+F!GhtGidNgOtPp!SkTu$V$V 5AdA,BotBu,CketM<)OfOkieOmSeTa>UghUndU>Y$5Bb DeGLeNNwayR$:DDd!D}[FeIlLadLm#L#LtLu>MeMp!NdTisfyToshiU)Usa+VeY1A!AnA*Att E}HemeHoolI&)I[%sOrp]OutRapRe&RiptRub1AAr^As#AtC#dC*tCt]Cur.yEdEkGm|Le@~M(?Ni%N'Nt&)RiesRvi)Ss]Tt!TupV&_dowAftAllowA*EdEllEriffIeldIftI}IpIv O{OeOotOpOrtOuld O=RimpRugUff!Y0Bl(gCkDeE+GhtGnL|Lk~yLv Mil?Mp!N)NgR&/ Tua>XZe1A>Et^IIllInIrtUll0AbAmEepEnd I)IdeIghtImOgAyEakEelEmEpE*oI{IllIngO{Oma^O}OolOryO=Ra>gyReetRikeR#gRugg!Ud|UffUmb!Y!0Bje@Bm.BwayC)[ChDd&Ff G?G+,ItMm NNnyN'tP PplyP*meReRfa)R+Rpri'RroundR=ySpe@/a(1AllowAmpApArmE?EetIftImIngIt^Ord1MbolMptomRup/em:B!Ck!GIlL|LkNkPeR+tSk/eTtooXi3A^Am~NNGradeHoldOnP Set1BOng::Rd3Ar~ow9UUngU`:3BraRo9NeO\";\nconst checksum = \"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60\";\nlet wordlist = null;\n/**\n * The [[link-bip39-en]] for [mnemonic phrases](link-bip-39).\n *\n * @_docloc: api/wordlists\n */\nexport class LangEn extends WordlistOwl {\n /**\n * Creates a new instance of the English language Wordlist.\n *\n * This should be unnecessary most of the time as the exported\n * [[langEn]] should suffice.\n *\n * @_ignore:\n */\n constructor() { super(\"en\", words, checksum); }\n /**\n * Returns a singleton instance of a ``LangEn``, creating it\n * if this is the first time being called.\n */\n static wordlist() {\n if (wordlist == null) {\n wordlist = new LangEn();\n }\n return wordlist;\n }\n}\n//# sourceMappingURL=lang-en.js.map","import { pbkdf2, sha256 } from \"../crypto/index.js\";\nimport { defineProperties, getBytes, hexlify, assertNormalize, assertPrivate, assertArgument, toUtf8Bytes } from \"../utils/index.js\";\nimport { LangEn } from \"../wordlists/lang-en.js\";\n// Returns a byte with the MSB bits set\nfunction getUpperMask(bits) {\n return ((1 << bits) - 1) << (8 - bits) & 0xff;\n}\n// Returns a byte with the LSB bits set\nfunction getLowerMask(bits) {\n return ((1 << bits) - 1) & 0xff;\n}\nfunction mnemonicToEntropy(mnemonic, wordlist) {\n assertNormalize(\"NFKD\");\n if (wordlist == null) {\n wordlist = LangEn.wordlist();\n }\n const words = wordlist.split(mnemonic);\n assertArgument((words.length % 3) === 0 && words.length >= 12 && words.length <= 24, \"invalid mnemonic length\", \"mnemonic\", \"[ REDACTED ]\");\n const entropy = new Uint8Array(Math.ceil(11 * words.length / 8));\n let offset = 0;\n for (let i = 0; i < words.length; i++) {\n let index = wordlist.getWordIndex(words[i].normalize(\"NFKD\"));\n assertArgument(index >= 0, `invalid mnemonic word at index ${i}`, \"mnemonic\", \"[ REDACTED ]\");\n for (let bit = 0; bit < 11; bit++) {\n if (index & (1 << (10 - bit))) {\n entropy[offset >> 3] |= (1 << (7 - (offset % 8)));\n }\n offset++;\n }\n }\n const entropyBits = 32 * words.length / 3;\n const checksumBits = words.length / 3;\n const checksumMask = getUpperMask(checksumBits);\n const checksum = getBytes(sha256(entropy.slice(0, entropyBits / 8)))[0] & checksumMask;\n assertArgument(checksum === (entropy[entropy.length - 1] & checksumMask), \"invalid mnemonic checksum\", \"mnemonic\", \"[ REDACTED ]\");\n return hexlify(entropy.slice(0, entropyBits / 8));\n}\nfunction entropyToMnemonic(entropy, wordlist) {\n assertArgument((entropy.length % 4) === 0 && entropy.length >= 16 && entropy.length <= 32, \"invalid entropy size\", \"entropy\", \"[ REDACTED ]\");\n if (wordlist == null) {\n wordlist = LangEn.wordlist();\n }\n const indices = [0];\n let remainingBits = 11;\n for (let i = 0; i < entropy.length; i++) {\n // Consume the whole byte (with still more to go)\n if (remainingBits > 8) {\n indices[indices.length - 1] <<= 8;\n indices[indices.length - 1] |= entropy[i];\n remainingBits -= 8;\n // This byte will complete an 11-bit index\n }\n else {\n indices[indices.length - 1] <<= remainingBits;\n indices[indices.length - 1] |= entropy[i] >> (8 - remainingBits);\n // Start the next word\n indices.push(entropy[i] & getLowerMask(8 - remainingBits));\n remainingBits += 3;\n }\n }\n // Compute the checksum bits\n const checksumBits = entropy.length / 4;\n const checksum = parseInt(sha256(entropy).substring(2, 4), 16) & getUpperMask(checksumBits);\n // Shift the checksum into the word indices\n indices[indices.length - 1] <<= checksumBits;\n indices[indices.length - 1] |= (checksum >> (8 - checksumBits));\n return wordlist.join(indices.map((index) => wordlist.getWord(index)));\n}\nconst _guard = {};\n/**\n * A **Mnemonic** wraps all properties required to compute [[link-bip-39]]\n * seeds and convert between phrases and entropy.\n */\nexport class Mnemonic {\n /**\n * The mnemonic phrase of 12, 15, 18, 21 or 24 words.\n *\n * Use the [[wordlist]] ``split`` method to get the individual words.\n */\n phrase;\n /**\n * The password used for this mnemonic. If no password is used this\n * is the empty string (i.e. ``\"\"``) as per the specification.\n */\n password;\n /**\n * The wordlist for this mnemonic.\n */\n wordlist;\n /**\n * The underlying entropy which the mnemonic encodes.\n */\n entropy;\n /**\n * @private\n */\n constructor(guard, entropy, phrase, password, wordlist) {\n if (password == null) {\n password = \"\";\n }\n if (wordlist == null) {\n wordlist = LangEn.wordlist();\n }\n assertPrivate(guard, _guard, \"Mnemonic\");\n defineProperties(this, { phrase, password, wordlist, entropy });\n }\n /**\n * Returns the seed for the mnemonic.\n */\n computeSeed() {\n const salt = toUtf8Bytes(\"mnemonic\" + this.password, \"NFKD\");\n return pbkdf2(toUtf8Bytes(this.phrase, \"NFKD\"), salt, 2048, 64, \"sha512\");\n }\n /**\n * Creates a new Mnemonic for the %%phrase%%.\n *\n * The default %%password%% is the empty string and the default\n * wordlist is the [English wordlists](LangEn).\n */\n static fromPhrase(phrase, password, wordlist) {\n // Normalize the case and space; throws if invalid\n const entropy = mnemonicToEntropy(phrase, wordlist);\n phrase = entropyToMnemonic(getBytes(entropy), wordlist);\n return new Mnemonic(_guard, entropy, phrase, password, wordlist);\n }\n /**\n * Create a new **Mnemonic** from the %%entropy%%.\n *\n * The default %%password%% is the empty string and the default\n * wordlist is the [English wordlists](LangEn).\n */\n static fromEntropy(_entropy, password, wordlist) {\n const entropy = getBytes(_entropy, \"entropy\");\n const phrase = entropyToMnemonic(entropy, wordlist);\n return new Mnemonic(_guard, hexlify(entropy), phrase, password, wordlist);\n }\n /**\n * Returns the phrase for %%mnemonic%%.\n */\n static entropyToPhrase(_entropy, wordlist) {\n const entropy = getBytes(_entropy, \"entropy\");\n return entropyToMnemonic(entropy, wordlist);\n }\n /**\n * Returns the entropy for %%phrase%%.\n */\n static phraseToEntropy(phrase, wordlist) {\n return mnemonicToEntropy(phrase, wordlist);\n }\n /**\n * Returns true if %%phrase%% is a valid [[link-bip-39]] phrase.\n *\n * This checks all the provided words belong to the %%wordlist%%,\n * that the length is valid and the checksum is correct.\n */\n static isValidMnemonic(phrase, wordlist) {\n try {\n mnemonicToEntropy(phrase, wordlist);\n return true;\n }\n catch (error) { }\n return false;\n }\n}\n//# sourceMappingURL=mnemonic.js.map","/*! MIT License. Copyright 2015-2022 Richard Moore . See LICENSE.txt. */\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar _AES_key, _AES_Kd, _AES_Ke;\n// Number of rounds by keysize\nconst numberOfRounds = { 16: 10, 24: 12, 32: 14 };\n// Round constant words\nconst rcon = [0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91];\n// S-box and Inverse S-box (S is for Substitution)\nconst S = [0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16];\nconst Si = [0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25, 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d];\n// Transformations for encryption\nconst T1 = [0xc66363a5, 0xf87c7c84, 0xee777799, 0xf67b7b8d, 0xfff2f20d, 0xd66b6bbd, 0xde6f6fb1, 0x91c5c554, 0x60303050, 0x02010103, 0xce6767a9, 0x562b2b7d, 0xe7fefe19, 0xb5d7d762, 0x4dababe6, 0xec76769a, 0x8fcaca45, 0x1f82829d, 0x89c9c940, 0xfa7d7d87, 0xeffafa15, 0xb25959eb, 0x8e4747c9, 0xfbf0f00b, 0x41adadec, 0xb3d4d467, 0x5fa2a2fd, 0x45afafea, 0x239c9cbf, 0x53a4a4f7, 0xe4727296, 0x9bc0c05b, 0x75b7b7c2, 0xe1fdfd1c, 0x3d9393ae, 0x4c26266a, 0x6c36365a, 0x7e3f3f41, 0xf5f7f702, 0x83cccc4f, 0x6834345c, 0x51a5a5f4, 0xd1e5e534, 0xf9f1f108, 0xe2717193, 0xabd8d873, 0x62313153, 0x2a15153f, 0x0804040c, 0x95c7c752, 0x46232365, 0x9dc3c35e, 0x30181828, 0x379696a1, 0x0a05050f, 0x2f9a9ab5, 0x0e070709, 0x24121236, 0x1b80809b, 0xdfe2e23d, 0xcdebeb26, 0x4e272769, 0x7fb2b2cd, 0xea75759f, 0x1209091b, 0x1d83839e, 0x582c2c74, 0x341a1a2e, 0x361b1b2d, 0xdc6e6eb2, 0xb45a5aee, 0x5ba0a0fb, 0xa45252f6, 0x763b3b4d, 0xb7d6d661, 0x7db3b3ce, 0x5229297b, 0xdde3e33e, 0x5e2f2f71, 0x13848497, 0xa65353f5, 0xb9d1d168, 0x00000000, 0xc1eded2c, 0x40202060, 0xe3fcfc1f, 0x79b1b1c8, 0xb65b5bed, 0xd46a6abe, 0x8dcbcb46, 0x67bebed9, 0x7239394b, 0x944a4ade, 0x984c4cd4, 0xb05858e8, 0x85cfcf4a, 0xbbd0d06b, 0xc5efef2a, 0x4faaaae5, 0xedfbfb16, 0x864343c5, 0x9a4d4dd7, 0x66333355, 0x11858594, 0x8a4545cf, 0xe9f9f910, 0x04020206, 0xfe7f7f81, 0xa05050f0, 0x783c3c44, 0x259f9fba, 0x4ba8a8e3, 0xa25151f3, 0x5da3a3fe, 0x804040c0, 0x058f8f8a, 0x3f9292ad, 0x219d9dbc, 0x70383848, 0xf1f5f504, 0x63bcbcdf, 0x77b6b6c1, 0xafdada75, 0x42212163, 0x20101030, 0xe5ffff1a, 0xfdf3f30e, 0xbfd2d26d, 0x81cdcd4c, 0x180c0c14, 0x26131335, 0xc3ecec2f, 0xbe5f5fe1, 0x359797a2, 0x884444cc, 0x2e171739, 0x93c4c457, 0x55a7a7f2, 0xfc7e7e82, 0x7a3d3d47, 0xc86464ac, 0xba5d5de7, 0x3219192b, 0xe6737395, 0xc06060a0, 0x19818198, 0x9e4f4fd1, 0xa3dcdc7f, 0x44222266, 0x542a2a7e, 0x3b9090ab, 0x0b888883, 0x8c4646ca, 0xc7eeee29, 0x6bb8b8d3, 0x2814143c, 0xa7dede79, 0xbc5e5ee2, 0x160b0b1d, 0xaddbdb76, 0xdbe0e03b, 0x64323256, 0x743a3a4e, 0x140a0a1e, 0x924949db, 0x0c06060a, 0x4824246c, 0xb85c5ce4, 0x9fc2c25d, 0xbdd3d36e, 0x43acacef, 0xc46262a6, 0x399191a8, 0x319595a4, 0xd3e4e437, 0xf279798b, 0xd5e7e732, 0x8bc8c843, 0x6e373759, 0xda6d6db7, 0x018d8d8c, 0xb1d5d564, 0x9c4e4ed2, 0x49a9a9e0, 0xd86c6cb4, 0xac5656fa, 0xf3f4f407, 0xcfeaea25, 0xca6565af, 0xf47a7a8e, 0x47aeaee9, 0x10080818, 0x6fbabad5, 0xf0787888, 0x4a25256f, 0x5c2e2e72, 0x381c1c24, 0x57a6a6f1, 0x73b4b4c7, 0x97c6c651, 0xcbe8e823, 0xa1dddd7c, 0xe874749c, 0x3e1f1f21, 0x964b4bdd, 0x61bdbddc, 0x0d8b8b86, 0x0f8a8a85, 0xe0707090, 0x7c3e3e42, 0x71b5b5c4, 0xcc6666aa, 0x904848d8, 0x06030305, 0xf7f6f601, 0x1c0e0e12, 0xc26161a3, 0x6a35355f, 0xae5757f9, 0x69b9b9d0, 0x17868691, 0x99c1c158, 0x3a1d1d27, 0x279e9eb9, 0xd9e1e138, 0xebf8f813, 0x2b9898b3, 0x22111133, 0xd26969bb, 0xa9d9d970, 0x078e8e89, 0x339494a7, 0x2d9b9bb6, 0x3c1e1e22, 0x15878792, 0xc9e9e920, 0x87cece49, 0xaa5555ff, 0x50282878, 0xa5dfdf7a, 0x038c8c8f, 0x59a1a1f8, 0x09898980, 0x1a0d0d17, 0x65bfbfda, 0xd7e6e631, 0x844242c6, 0xd06868b8, 0x824141c3, 0x299999b0, 0x5a2d2d77, 0x1e0f0f11, 0x7bb0b0cb, 0xa85454fc, 0x6dbbbbd6, 0x2c16163a];\nconst T2 = [0xa5c66363, 0x84f87c7c, 0x99ee7777, 0x8df67b7b, 0x0dfff2f2, 0xbdd66b6b, 0xb1de6f6f, 0x5491c5c5, 0x50603030, 0x03020101, 0xa9ce6767, 0x7d562b2b, 0x19e7fefe, 0x62b5d7d7, 0xe64dabab, 0x9aec7676, 0x458fcaca, 0x9d1f8282, 0x4089c9c9, 0x87fa7d7d, 0x15effafa, 0xebb25959, 0xc98e4747, 0x0bfbf0f0, 0xec41adad, 0x67b3d4d4, 0xfd5fa2a2, 0xea45afaf, 0xbf239c9c, 0xf753a4a4, 0x96e47272, 0x5b9bc0c0, 0xc275b7b7, 0x1ce1fdfd, 0xae3d9393, 0x6a4c2626, 0x5a6c3636, 0x417e3f3f, 0x02f5f7f7, 0x4f83cccc, 0x5c683434, 0xf451a5a5, 0x34d1e5e5, 0x08f9f1f1, 0x93e27171, 0x73abd8d8, 0x53623131, 0x3f2a1515, 0x0c080404, 0x5295c7c7, 0x65462323, 0x5e9dc3c3, 0x28301818, 0xa1379696, 0x0f0a0505, 0xb52f9a9a, 0x090e0707, 0x36241212, 0x9b1b8080, 0x3ddfe2e2, 0x26cdebeb, 0x694e2727, 0xcd7fb2b2, 0x9fea7575, 0x1b120909, 0x9e1d8383, 0x74582c2c, 0x2e341a1a, 0x2d361b1b, 0xb2dc6e6e, 0xeeb45a5a, 0xfb5ba0a0, 0xf6a45252, 0x4d763b3b, 0x61b7d6d6, 0xce7db3b3, 0x7b522929, 0x3edde3e3, 0x715e2f2f, 0x97138484, 0xf5a65353, 0x68b9d1d1, 0x00000000, 0x2cc1eded, 0x60402020, 0x1fe3fcfc, 0xc879b1b1, 0xedb65b5b, 0xbed46a6a, 0x468dcbcb, 0xd967bebe, 0x4b723939, 0xde944a4a, 0xd4984c4c, 0xe8b05858, 0x4a85cfcf, 0x6bbbd0d0, 0x2ac5efef, 0xe54faaaa, 0x16edfbfb, 0xc5864343, 0xd79a4d4d, 0x55663333, 0x94118585, 0xcf8a4545, 0x10e9f9f9, 0x06040202, 0x81fe7f7f, 0xf0a05050, 0x44783c3c, 0xba259f9f, 0xe34ba8a8, 0xf3a25151, 0xfe5da3a3, 0xc0804040, 0x8a058f8f, 0xad3f9292, 0xbc219d9d, 0x48703838, 0x04f1f5f5, 0xdf63bcbc, 0xc177b6b6, 0x75afdada, 0x63422121, 0x30201010, 0x1ae5ffff, 0x0efdf3f3, 0x6dbfd2d2, 0x4c81cdcd, 0x14180c0c, 0x35261313, 0x2fc3ecec, 0xe1be5f5f, 0xa2359797, 0xcc884444, 0x392e1717, 0x5793c4c4, 0xf255a7a7, 0x82fc7e7e, 0x477a3d3d, 0xacc86464, 0xe7ba5d5d, 0x2b321919, 0x95e67373, 0xa0c06060, 0x98198181, 0xd19e4f4f, 0x7fa3dcdc, 0x66442222, 0x7e542a2a, 0xab3b9090, 0x830b8888, 0xca8c4646, 0x29c7eeee, 0xd36bb8b8, 0x3c281414, 0x79a7dede, 0xe2bc5e5e, 0x1d160b0b, 0x76addbdb, 0x3bdbe0e0, 0x56643232, 0x4e743a3a, 0x1e140a0a, 0xdb924949, 0x0a0c0606, 0x6c482424, 0xe4b85c5c, 0x5d9fc2c2, 0x6ebdd3d3, 0xef43acac, 0xa6c46262, 0xa8399191, 0xa4319595, 0x37d3e4e4, 0x8bf27979, 0x32d5e7e7, 0x438bc8c8, 0x596e3737, 0xb7da6d6d, 0x8c018d8d, 0x64b1d5d5, 0xd29c4e4e, 0xe049a9a9, 0xb4d86c6c, 0xfaac5656, 0x07f3f4f4, 0x25cfeaea, 0xafca6565, 0x8ef47a7a, 0xe947aeae, 0x18100808, 0xd56fbaba, 0x88f07878, 0x6f4a2525, 0x725c2e2e, 0x24381c1c, 0xf157a6a6, 0xc773b4b4, 0x5197c6c6, 0x23cbe8e8, 0x7ca1dddd, 0x9ce87474, 0x213e1f1f, 0xdd964b4b, 0xdc61bdbd, 0x860d8b8b, 0x850f8a8a, 0x90e07070, 0x427c3e3e, 0xc471b5b5, 0xaacc6666, 0xd8904848, 0x05060303, 0x01f7f6f6, 0x121c0e0e, 0xa3c26161, 0x5f6a3535, 0xf9ae5757, 0xd069b9b9, 0x91178686, 0x5899c1c1, 0x273a1d1d, 0xb9279e9e, 0x38d9e1e1, 0x13ebf8f8, 0xb32b9898, 0x33221111, 0xbbd26969, 0x70a9d9d9, 0x89078e8e, 0xa7339494, 0xb62d9b9b, 0x223c1e1e, 0x92158787, 0x20c9e9e9, 0x4987cece, 0xffaa5555, 0x78502828, 0x7aa5dfdf, 0x8f038c8c, 0xf859a1a1, 0x80098989, 0x171a0d0d, 0xda65bfbf, 0x31d7e6e6, 0xc6844242, 0xb8d06868, 0xc3824141, 0xb0299999, 0x775a2d2d, 0x111e0f0f, 0xcb7bb0b0, 0xfca85454, 0xd66dbbbb, 0x3a2c1616];\nconst T3 = [0x63a5c663, 0x7c84f87c, 0x7799ee77, 0x7b8df67b, 0xf20dfff2, 0x6bbdd66b, 0x6fb1de6f, 0xc55491c5, 0x30506030, 0x01030201, 0x67a9ce67, 0x2b7d562b, 0xfe19e7fe, 0xd762b5d7, 0xabe64dab, 0x769aec76, 0xca458fca, 0x829d1f82, 0xc94089c9, 0x7d87fa7d, 0xfa15effa, 0x59ebb259, 0x47c98e47, 0xf00bfbf0, 0xadec41ad, 0xd467b3d4, 0xa2fd5fa2, 0xafea45af, 0x9cbf239c, 0xa4f753a4, 0x7296e472, 0xc05b9bc0, 0xb7c275b7, 0xfd1ce1fd, 0x93ae3d93, 0x266a4c26, 0x365a6c36, 0x3f417e3f, 0xf702f5f7, 0xcc4f83cc, 0x345c6834, 0xa5f451a5, 0xe534d1e5, 0xf108f9f1, 0x7193e271, 0xd873abd8, 0x31536231, 0x153f2a15, 0x040c0804, 0xc75295c7, 0x23654623, 0xc35e9dc3, 0x18283018, 0x96a13796, 0x050f0a05, 0x9ab52f9a, 0x07090e07, 0x12362412, 0x809b1b80, 0xe23ddfe2, 0xeb26cdeb, 0x27694e27, 0xb2cd7fb2, 0x759fea75, 0x091b1209, 0x839e1d83, 0x2c74582c, 0x1a2e341a, 0x1b2d361b, 0x6eb2dc6e, 0x5aeeb45a, 0xa0fb5ba0, 0x52f6a452, 0x3b4d763b, 0xd661b7d6, 0xb3ce7db3, 0x297b5229, 0xe33edde3, 0x2f715e2f, 0x84971384, 0x53f5a653, 0xd168b9d1, 0x00000000, 0xed2cc1ed, 0x20604020, 0xfc1fe3fc, 0xb1c879b1, 0x5bedb65b, 0x6abed46a, 0xcb468dcb, 0xbed967be, 0x394b7239, 0x4ade944a, 0x4cd4984c, 0x58e8b058, 0xcf4a85cf, 0xd06bbbd0, 0xef2ac5ef, 0xaae54faa, 0xfb16edfb, 0x43c58643, 0x4dd79a4d, 0x33556633, 0x85941185, 0x45cf8a45, 0xf910e9f9, 0x02060402, 0x7f81fe7f, 0x50f0a050, 0x3c44783c, 0x9fba259f, 0xa8e34ba8, 0x51f3a251, 0xa3fe5da3, 0x40c08040, 0x8f8a058f, 0x92ad3f92, 0x9dbc219d, 0x38487038, 0xf504f1f5, 0xbcdf63bc, 0xb6c177b6, 0xda75afda, 0x21634221, 0x10302010, 0xff1ae5ff, 0xf30efdf3, 0xd26dbfd2, 0xcd4c81cd, 0x0c14180c, 0x13352613, 0xec2fc3ec, 0x5fe1be5f, 0x97a23597, 0x44cc8844, 0x17392e17, 0xc45793c4, 0xa7f255a7, 0x7e82fc7e, 0x3d477a3d, 0x64acc864, 0x5de7ba5d, 0x192b3219, 0x7395e673, 0x60a0c060, 0x81981981, 0x4fd19e4f, 0xdc7fa3dc, 0x22664422, 0x2a7e542a, 0x90ab3b90, 0x88830b88, 0x46ca8c46, 0xee29c7ee, 0xb8d36bb8, 0x143c2814, 0xde79a7de, 0x5ee2bc5e, 0x0b1d160b, 0xdb76addb, 0xe03bdbe0, 0x32566432, 0x3a4e743a, 0x0a1e140a, 0x49db9249, 0x060a0c06, 0x246c4824, 0x5ce4b85c, 0xc25d9fc2, 0xd36ebdd3, 0xacef43ac, 0x62a6c462, 0x91a83991, 0x95a43195, 0xe437d3e4, 0x798bf279, 0xe732d5e7, 0xc8438bc8, 0x37596e37, 0x6db7da6d, 0x8d8c018d, 0xd564b1d5, 0x4ed29c4e, 0xa9e049a9, 0x6cb4d86c, 0x56faac56, 0xf407f3f4, 0xea25cfea, 0x65afca65, 0x7a8ef47a, 0xaee947ae, 0x08181008, 0xbad56fba, 0x7888f078, 0x256f4a25, 0x2e725c2e, 0x1c24381c, 0xa6f157a6, 0xb4c773b4, 0xc65197c6, 0xe823cbe8, 0xdd7ca1dd, 0x749ce874, 0x1f213e1f, 0x4bdd964b, 0xbddc61bd, 0x8b860d8b, 0x8a850f8a, 0x7090e070, 0x3e427c3e, 0xb5c471b5, 0x66aacc66, 0x48d89048, 0x03050603, 0xf601f7f6, 0x0e121c0e, 0x61a3c261, 0x355f6a35, 0x57f9ae57, 0xb9d069b9, 0x86911786, 0xc15899c1, 0x1d273a1d, 0x9eb9279e, 0xe138d9e1, 0xf813ebf8, 0x98b32b98, 0x11332211, 0x69bbd269, 0xd970a9d9, 0x8e89078e, 0x94a73394, 0x9bb62d9b, 0x1e223c1e, 0x87921587, 0xe920c9e9, 0xce4987ce, 0x55ffaa55, 0x28785028, 0xdf7aa5df, 0x8c8f038c, 0xa1f859a1, 0x89800989, 0x0d171a0d, 0xbfda65bf, 0xe631d7e6, 0x42c68442, 0x68b8d068, 0x41c38241, 0x99b02999, 0x2d775a2d, 0x0f111e0f, 0xb0cb7bb0, 0x54fca854, 0xbbd66dbb, 0x163a2c16];\nconst T4 = [0x6363a5c6, 0x7c7c84f8, 0x777799ee, 0x7b7b8df6, 0xf2f20dff, 0x6b6bbdd6, 0x6f6fb1de, 0xc5c55491, 0x30305060, 0x01010302, 0x6767a9ce, 0x2b2b7d56, 0xfefe19e7, 0xd7d762b5, 0xababe64d, 0x76769aec, 0xcaca458f, 0x82829d1f, 0xc9c94089, 0x7d7d87fa, 0xfafa15ef, 0x5959ebb2, 0x4747c98e, 0xf0f00bfb, 0xadadec41, 0xd4d467b3, 0xa2a2fd5f, 0xafafea45, 0x9c9cbf23, 0xa4a4f753, 0x727296e4, 0xc0c05b9b, 0xb7b7c275, 0xfdfd1ce1, 0x9393ae3d, 0x26266a4c, 0x36365a6c, 0x3f3f417e, 0xf7f702f5, 0xcccc4f83, 0x34345c68, 0xa5a5f451, 0xe5e534d1, 0xf1f108f9, 0x717193e2, 0xd8d873ab, 0x31315362, 0x15153f2a, 0x04040c08, 0xc7c75295, 0x23236546, 0xc3c35e9d, 0x18182830, 0x9696a137, 0x05050f0a, 0x9a9ab52f, 0x0707090e, 0x12123624, 0x80809b1b, 0xe2e23ddf, 0xebeb26cd, 0x2727694e, 0xb2b2cd7f, 0x75759fea, 0x09091b12, 0x83839e1d, 0x2c2c7458, 0x1a1a2e34, 0x1b1b2d36, 0x6e6eb2dc, 0x5a5aeeb4, 0xa0a0fb5b, 0x5252f6a4, 0x3b3b4d76, 0xd6d661b7, 0xb3b3ce7d, 0x29297b52, 0xe3e33edd, 0x2f2f715e, 0x84849713, 0x5353f5a6, 0xd1d168b9, 0x00000000, 0xeded2cc1, 0x20206040, 0xfcfc1fe3, 0xb1b1c879, 0x5b5bedb6, 0x6a6abed4, 0xcbcb468d, 0xbebed967, 0x39394b72, 0x4a4ade94, 0x4c4cd498, 0x5858e8b0, 0xcfcf4a85, 0xd0d06bbb, 0xefef2ac5, 0xaaaae54f, 0xfbfb16ed, 0x4343c586, 0x4d4dd79a, 0x33335566, 0x85859411, 0x4545cf8a, 0xf9f910e9, 0x02020604, 0x7f7f81fe, 0x5050f0a0, 0x3c3c4478, 0x9f9fba25, 0xa8a8e34b, 0x5151f3a2, 0xa3a3fe5d, 0x4040c080, 0x8f8f8a05, 0x9292ad3f, 0x9d9dbc21, 0x38384870, 0xf5f504f1, 0xbcbcdf63, 0xb6b6c177, 0xdada75af, 0x21216342, 0x10103020, 0xffff1ae5, 0xf3f30efd, 0xd2d26dbf, 0xcdcd4c81, 0x0c0c1418, 0x13133526, 0xecec2fc3, 0x5f5fe1be, 0x9797a235, 0x4444cc88, 0x1717392e, 0xc4c45793, 0xa7a7f255, 0x7e7e82fc, 0x3d3d477a, 0x6464acc8, 0x5d5de7ba, 0x19192b32, 0x737395e6, 0x6060a0c0, 0x81819819, 0x4f4fd19e, 0xdcdc7fa3, 0x22226644, 0x2a2a7e54, 0x9090ab3b, 0x8888830b, 0x4646ca8c, 0xeeee29c7, 0xb8b8d36b, 0x14143c28, 0xdede79a7, 0x5e5ee2bc, 0x0b0b1d16, 0xdbdb76ad, 0xe0e03bdb, 0x32325664, 0x3a3a4e74, 0x0a0a1e14, 0x4949db92, 0x06060a0c, 0x24246c48, 0x5c5ce4b8, 0xc2c25d9f, 0xd3d36ebd, 0xacacef43, 0x6262a6c4, 0x9191a839, 0x9595a431, 0xe4e437d3, 0x79798bf2, 0xe7e732d5, 0xc8c8438b, 0x3737596e, 0x6d6db7da, 0x8d8d8c01, 0xd5d564b1, 0x4e4ed29c, 0xa9a9e049, 0x6c6cb4d8, 0x5656faac, 0xf4f407f3, 0xeaea25cf, 0x6565afca, 0x7a7a8ef4, 0xaeaee947, 0x08081810, 0xbabad56f, 0x787888f0, 0x25256f4a, 0x2e2e725c, 0x1c1c2438, 0xa6a6f157, 0xb4b4c773, 0xc6c65197, 0xe8e823cb, 0xdddd7ca1, 0x74749ce8, 0x1f1f213e, 0x4b4bdd96, 0xbdbddc61, 0x8b8b860d, 0x8a8a850f, 0x707090e0, 0x3e3e427c, 0xb5b5c471, 0x6666aacc, 0x4848d890, 0x03030506, 0xf6f601f7, 0x0e0e121c, 0x6161a3c2, 0x35355f6a, 0x5757f9ae, 0xb9b9d069, 0x86869117, 0xc1c15899, 0x1d1d273a, 0x9e9eb927, 0xe1e138d9, 0xf8f813eb, 0x9898b32b, 0x11113322, 0x6969bbd2, 0xd9d970a9, 0x8e8e8907, 0x9494a733, 0x9b9bb62d, 0x1e1e223c, 0x87879215, 0xe9e920c9, 0xcece4987, 0x5555ffaa, 0x28287850, 0xdfdf7aa5, 0x8c8c8f03, 0xa1a1f859, 0x89898009, 0x0d0d171a, 0xbfbfda65, 0xe6e631d7, 0x4242c684, 0x6868b8d0, 0x4141c382, 0x9999b029, 0x2d2d775a, 0x0f0f111e, 0xb0b0cb7b, 0x5454fca8, 0xbbbbd66d, 0x16163a2c];\n// Transformations for decryption\nconst T5 = [0x51f4a750, 0x7e416553, 0x1a17a4c3, 0x3a275e96, 0x3bab6bcb, 0x1f9d45f1, 0xacfa58ab, 0x4be30393, 0x2030fa55, 0xad766df6, 0x88cc7691, 0xf5024c25, 0x4fe5d7fc, 0xc52acbd7, 0x26354480, 0xb562a38f, 0xdeb15a49, 0x25ba1b67, 0x45ea0e98, 0x5dfec0e1, 0xc32f7502, 0x814cf012, 0x8d4697a3, 0x6bd3f9c6, 0x038f5fe7, 0x15929c95, 0xbf6d7aeb, 0x955259da, 0xd4be832d, 0x587421d3, 0x49e06929, 0x8ec9c844, 0x75c2896a, 0xf48e7978, 0x99583e6b, 0x27b971dd, 0xbee14fb6, 0xf088ad17, 0xc920ac66, 0x7dce3ab4, 0x63df4a18, 0xe51a3182, 0x97513360, 0x62537f45, 0xb16477e0, 0xbb6bae84, 0xfe81a01c, 0xf9082b94, 0x70486858, 0x8f45fd19, 0x94de6c87, 0x527bf8b7, 0xab73d323, 0x724b02e2, 0xe31f8f57, 0x6655ab2a, 0xb2eb2807, 0x2fb5c203, 0x86c57b9a, 0xd33708a5, 0x302887f2, 0x23bfa5b2, 0x02036aba, 0xed16825c, 0x8acf1c2b, 0xa779b492, 0xf307f2f0, 0x4e69e2a1, 0x65daf4cd, 0x0605bed5, 0xd134621f, 0xc4a6fe8a, 0x342e539d, 0xa2f355a0, 0x058ae132, 0xa4f6eb75, 0x0b83ec39, 0x4060efaa, 0x5e719f06, 0xbd6e1051, 0x3e218af9, 0x96dd063d, 0xdd3e05ae, 0x4de6bd46, 0x91548db5, 0x71c45d05, 0x0406d46f, 0x605015ff, 0x1998fb24, 0xd6bde997, 0x894043cc, 0x67d99e77, 0xb0e842bd, 0x07898b88, 0xe7195b38, 0x79c8eedb, 0xa17c0a47, 0x7c420fe9, 0xf8841ec9, 0x00000000, 0x09808683, 0x322bed48, 0x1e1170ac, 0x6c5a724e, 0xfd0efffb, 0x0f853856, 0x3daed51e, 0x362d3927, 0x0a0fd964, 0x685ca621, 0x9b5b54d1, 0x24362e3a, 0x0c0a67b1, 0x9357e70f, 0xb4ee96d2, 0x1b9b919e, 0x80c0c54f, 0x61dc20a2, 0x5a774b69, 0x1c121a16, 0xe293ba0a, 0xc0a02ae5, 0x3c22e043, 0x121b171d, 0x0e090d0b, 0xf28bc7ad, 0x2db6a8b9, 0x141ea9c8, 0x57f11985, 0xaf75074c, 0xee99ddbb, 0xa37f60fd, 0xf701269f, 0x5c72f5bc, 0x44663bc5, 0x5bfb7e34, 0x8b432976, 0xcb23c6dc, 0xb6edfc68, 0xb8e4f163, 0xd731dcca, 0x42638510, 0x13972240, 0x84c61120, 0x854a247d, 0xd2bb3df8, 0xaef93211, 0xc729a16d, 0x1d9e2f4b, 0xdcb230f3, 0x0d8652ec, 0x77c1e3d0, 0x2bb3166c, 0xa970b999, 0x119448fa, 0x47e96422, 0xa8fc8cc4, 0xa0f03f1a, 0x567d2cd8, 0x223390ef, 0x87494ec7, 0xd938d1c1, 0x8ccaa2fe, 0x98d40b36, 0xa6f581cf, 0xa57ade28, 0xdab78e26, 0x3fadbfa4, 0x2c3a9de4, 0x5078920d, 0x6a5fcc9b, 0x547e4662, 0xf68d13c2, 0x90d8b8e8, 0x2e39f75e, 0x82c3aff5, 0x9f5d80be, 0x69d0937c, 0x6fd52da9, 0xcf2512b3, 0xc8ac993b, 0x10187da7, 0xe89c636e, 0xdb3bbb7b, 0xcd267809, 0x6e5918f4, 0xec9ab701, 0x834f9aa8, 0xe6956e65, 0xaaffe67e, 0x21bccf08, 0xef15e8e6, 0xbae79bd9, 0x4a6f36ce, 0xea9f09d4, 0x29b07cd6, 0x31a4b2af, 0x2a3f2331, 0xc6a59430, 0x35a266c0, 0x744ebc37, 0xfc82caa6, 0xe090d0b0, 0x33a7d815, 0xf104984a, 0x41ecdaf7, 0x7fcd500e, 0x1791f62f, 0x764dd68d, 0x43efb04d, 0xccaa4d54, 0xe49604df, 0x9ed1b5e3, 0x4c6a881b, 0xc12c1fb8, 0x4665517f, 0x9d5eea04, 0x018c355d, 0xfa877473, 0xfb0b412e, 0xb3671d5a, 0x92dbd252, 0xe9105633, 0x6dd64713, 0x9ad7618c, 0x37a10c7a, 0x59f8148e, 0xeb133c89, 0xcea927ee, 0xb761c935, 0xe11ce5ed, 0x7a47b13c, 0x9cd2df59, 0x55f2733f, 0x1814ce79, 0x73c737bf, 0x53f7cdea, 0x5ffdaa5b, 0xdf3d6f14, 0x7844db86, 0xcaaff381, 0xb968c43e, 0x3824342c, 0xc2a3405f, 0x161dc372, 0xbce2250c, 0x283c498b, 0xff0d9541, 0x39a80171, 0x080cb3de, 0xd8b4e49c, 0x6456c190, 0x7bcb8461, 0xd532b670, 0x486c5c74, 0xd0b85742];\nconst T6 = [0x5051f4a7, 0x537e4165, 0xc31a17a4, 0x963a275e, 0xcb3bab6b, 0xf11f9d45, 0xabacfa58, 0x934be303, 0x552030fa, 0xf6ad766d, 0x9188cc76, 0x25f5024c, 0xfc4fe5d7, 0xd7c52acb, 0x80263544, 0x8fb562a3, 0x49deb15a, 0x6725ba1b, 0x9845ea0e, 0xe15dfec0, 0x02c32f75, 0x12814cf0, 0xa38d4697, 0xc66bd3f9, 0xe7038f5f, 0x9515929c, 0xebbf6d7a, 0xda955259, 0x2dd4be83, 0xd3587421, 0x2949e069, 0x448ec9c8, 0x6a75c289, 0x78f48e79, 0x6b99583e, 0xdd27b971, 0xb6bee14f, 0x17f088ad, 0x66c920ac, 0xb47dce3a, 0x1863df4a, 0x82e51a31, 0x60975133, 0x4562537f, 0xe0b16477, 0x84bb6bae, 0x1cfe81a0, 0x94f9082b, 0x58704868, 0x198f45fd, 0x8794de6c, 0xb7527bf8, 0x23ab73d3, 0xe2724b02, 0x57e31f8f, 0x2a6655ab, 0x07b2eb28, 0x032fb5c2, 0x9a86c57b, 0xa5d33708, 0xf2302887, 0xb223bfa5, 0xba02036a, 0x5ced1682, 0x2b8acf1c, 0x92a779b4, 0xf0f307f2, 0xa14e69e2, 0xcd65daf4, 0xd50605be, 0x1fd13462, 0x8ac4a6fe, 0x9d342e53, 0xa0a2f355, 0x32058ae1, 0x75a4f6eb, 0x390b83ec, 0xaa4060ef, 0x065e719f, 0x51bd6e10, 0xf93e218a, 0x3d96dd06, 0xaedd3e05, 0x464de6bd, 0xb591548d, 0x0571c45d, 0x6f0406d4, 0xff605015, 0x241998fb, 0x97d6bde9, 0xcc894043, 0x7767d99e, 0xbdb0e842, 0x8807898b, 0x38e7195b, 0xdb79c8ee, 0x47a17c0a, 0xe97c420f, 0xc9f8841e, 0x00000000, 0x83098086, 0x48322bed, 0xac1e1170, 0x4e6c5a72, 0xfbfd0eff, 0x560f8538, 0x1e3daed5, 0x27362d39, 0x640a0fd9, 0x21685ca6, 0xd19b5b54, 0x3a24362e, 0xb10c0a67, 0x0f9357e7, 0xd2b4ee96, 0x9e1b9b91, 0x4f80c0c5, 0xa261dc20, 0x695a774b, 0x161c121a, 0x0ae293ba, 0xe5c0a02a, 0x433c22e0, 0x1d121b17, 0x0b0e090d, 0xadf28bc7, 0xb92db6a8, 0xc8141ea9, 0x8557f119, 0x4caf7507, 0xbbee99dd, 0xfda37f60, 0x9ff70126, 0xbc5c72f5, 0xc544663b, 0x345bfb7e, 0x768b4329, 0xdccb23c6, 0x68b6edfc, 0x63b8e4f1, 0xcad731dc, 0x10426385, 0x40139722, 0x2084c611, 0x7d854a24, 0xf8d2bb3d, 0x11aef932, 0x6dc729a1, 0x4b1d9e2f, 0xf3dcb230, 0xec0d8652, 0xd077c1e3, 0x6c2bb316, 0x99a970b9, 0xfa119448, 0x2247e964, 0xc4a8fc8c, 0x1aa0f03f, 0xd8567d2c, 0xef223390, 0xc787494e, 0xc1d938d1, 0xfe8ccaa2, 0x3698d40b, 0xcfa6f581, 0x28a57ade, 0x26dab78e, 0xa43fadbf, 0xe42c3a9d, 0x0d507892, 0x9b6a5fcc, 0x62547e46, 0xc2f68d13, 0xe890d8b8, 0x5e2e39f7, 0xf582c3af, 0xbe9f5d80, 0x7c69d093, 0xa96fd52d, 0xb3cf2512, 0x3bc8ac99, 0xa710187d, 0x6ee89c63, 0x7bdb3bbb, 0x09cd2678, 0xf46e5918, 0x01ec9ab7, 0xa8834f9a, 0x65e6956e, 0x7eaaffe6, 0x0821bccf, 0xe6ef15e8, 0xd9bae79b, 0xce4a6f36, 0xd4ea9f09, 0xd629b07c, 0xaf31a4b2, 0x312a3f23, 0x30c6a594, 0xc035a266, 0x37744ebc, 0xa6fc82ca, 0xb0e090d0, 0x1533a7d8, 0x4af10498, 0xf741ecda, 0x0e7fcd50, 0x2f1791f6, 0x8d764dd6, 0x4d43efb0, 0x54ccaa4d, 0xdfe49604, 0xe39ed1b5, 0x1b4c6a88, 0xb8c12c1f, 0x7f466551, 0x049d5eea, 0x5d018c35, 0x73fa8774, 0x2efb0b41, 0x5ab3671d, 0x5292dbd2, 0x33e91056, 0x136dd647, 0x8c9ad761, 0x7a37a10c, 0x8e59f814, 0x89eb133c, 0xeecea927, 0x35b761c9, 0xede11ce5, 0x3c7a47b1, 0x599cd2df, 0x3f55f273, 0x791814ce, 0xbf73c737, 0xea53f7cd, 0x5b5ffdaa, 0x14df3d6f, 0x867844db, 0x81caaff3, 0x3eb968c4, 0x2c382434, 0x5fc2a340, 0x72161dc3, 0x0cbce225, 0x8b283c49, 0x41ff0d95, 0x7139a801, 0xde080cb3, 0x9cd8b4e4, 0x906456c1, 0x617bcb84, 0x70d532b6, 0x74486c5c, 0x42d0b857];\nconst T7 = [0xa75051f4, 0x65537e41, 0xa4c31a17, 0x5e963a27, 0x6bcb3bab, 0x45f11f9d, 0x58abacfa, 0x03934be3, 0xfa552030, 0x6df6ad76, 0x769188cc, 0x4c25f502, 0xd7fc4fe5, 0xcbd7c52a, 0x44802635, 0xa38fb562, 0x5a49deb1, 0x1b6725ba, 0x0e9845ea, 0xc0e15dfe, 0x7502c32f, 0xf012814c, 0x97a38d46, 0xf9c66bd3, 0x5fe7038f, 0x9c951592, 0x7aebbf6d, 0x59da9552, 0x832dd4be, 0x21d35874, 0x692949e0, 0xc8448ec9, 0x896a75c2, 0x7978f48e, 0x3e6b9958, 0x71dd27b9, 0x4fb6bee1, 0xad17f088, 0xac66c920, 0x3ab47dce, 0x4a1863df, 0x3182e51a, 0x33609751, 0x7f456253, 0x77e0b164, 0xae84bb6b, 0xa01cfe81, 0x2b94f908, 0x68587048, 0xfd198f45, 0x6c8794de, 0xf8b7527b, 0xd323ab73, 0x02e2724b, 0x8f57e31f, 0xab2a6655, 0x2807b2eb, 0xc2032fb5, 0x7b9a86c5, 0x08a5d337, 0x87f23028, 0xa5b223bf, 0x6aba0203, 0x825ced16, 0x1c2b8acf, 0xb492a779, 0xf2f0f307, 0xe2a14e69, 0xf4cd65da, 0xbed50605, 0x621fd134, 0xfe8ac4a6, 0x539d342e, 0x55a0a2f3, 0xe132058a, 0xeb75a4f6, 0xec390b83, 0xefaa4060, 0x9f065e71, 0x1051bd6e, 0x8af93e21, 0x063d96dd, 0x05aedd3e, 0xbd464de6, 0x8db59154, 0x5d0571c4, 0xd46f0406, 0x15ff6050, 0xfb241998, 0xe997d6bd, 0x43cc8940, 0x9e7767d9, 0x42bdb0e8, 0x8b880789, 0x5b38e719, 0xeedb79c8, 0x0a47a17c, 0x0fe97c42, 0x1ec9f884, 0x00000000, 0x86830980, 0xed48322b, 0x70ac1e11, 0x724e6c5a, 0xfffbfd0e, 0x38560f85, 0xd51e3dae, 0x3927362d, 0xd9640a0f, 0xa621685c, 0x54d19b5b, 0x2e3a2436, 0x67b10c0a, 0xe70f9357, 0x96d2b4ee, 0x919e1b9b, 0xc54f80c0, 0x20a261dc, 0x4b695a77, 0x1a161c12, 0xba0ae293, 0x2ae5c0a0, 0xe0433c22, 0x171d121b, 0x0d0b0e09, 0xc7adf28b, 0xa8b92db6, 0xa9c8141e, 0x198557f1, 0x074caf75, 0xddbbee99, 0x60fda37f, 0x269ff701, 0xf5bc5c72, 0x3bc54466, 0x7e345bfb, 0x29768b43, 0xc6dccb23, 0xfc68b6ed, 0xf163b8e4, 0xdccad731, 0x85104263, 0x22401397, 0x112084c6, 0x247d854a, 0x3df8d2bb, 0x3211aef9, 0xa16dc729, 0x2f4b1d9e, 0x30f3dcb2, 0x52ec0d86, 0xe3d077c1, 0x166c2bb3, 0xb999a970, 0x48fa1194, 0x642247e9, 0x8cc4a8fc, 0x3f1aa0f0, 0x2cd8567d, 0x90ef2233, 0x4ec78749, 0xd1c1d938, 0xa2fe8cca, 0x0b3698d4, 0x81cfa6f5, 0xde28a57a, 0x8e26dab7, 0xbfa43fad, 0x9de42c3a, 0x920d5078, 0xcc9b6a5f, 0x4662547e, 0x13c2f68d, 0xb8e890d8, 0xf75e2e39, 0xaff582c3, 0x80be9f5d, 0x937c69d0, 0x2da96fd5, 0x12b3cf25, 0x993bc8ac, 0x7da71018, 0x636ee89c, 0xbb7bdb3b, 0x7809cd26, 0x18f46e59, 0xb701ec9a, 0x9aa8834f, 0x6e65e695, 0xe67eaaff, 0xcf0821bc, 0xe8e6ef15, 0x9bd9bae7, 0x36ce4a6f, 0x09d4ea9f, 0x7cd629b0, 0xb2af31a4, 0x23312a3f, 0x9430c6a5, 0x66c035a2, 0xbc37744e, 0xcaa6fc82, 0xd0b0e090, 0xd81533a7, 0x984af104, 0xdaf741ec, 0x500e7fcd, 0xf62f1791, 0xd68d764d, 0xb04d43ef, 0x4d54ccaa, 0x04dfe496, 0xb5e39ed1, 0x881b4c6a, 0x1fb8c12c, 0x517f4665, 0xea049d5e, 0x355d018c, 0x7473fa87, 0x412efb0b, 0x1d5ab367, 0xd25292db, 0x5633e910, 0x47136dd6, 0x618c9ad7, 0x0c7a37a1, 0x148e59f8, 0x3c89eb13, 0x27eecea9, 0xc935b761, 0xe5ede11c, 0xb13c7a47, 0xdf599cd2, 0x733f55f2, 0xce791814, 0x37bf73c7, 0xcdea53f7, 0xaa5b5ffd, 0x6f14df3d, 0xdb867844, 0xf381caaf, 0xc43eb968, 0x342c3824, 0x405fc2a3, 0xc372161d, 0x250cbce2, 0x498b283c, 0x9541ff0d, 0x017139a8, 0xb3de080c, 0xe49cd8b4, 0xc1906456, 0x84617bcb, 0xb670d532, 0x5c74486c, 0x5742d0b8];\nconst T8 = [0xf4a75051, 0x4165537e, 0x17a4c31a, 0x275e963a, 0xab6bcb3b, 0x9d45f11f, 0xfa58abac, 0xe303934b, 0x30fa5520, 0x766df6ad, 0xcc769188, 0x024c25f5, 0xe5d7fc4f, 0x2acbd7c5, 0x35448026, 0x62a38fb5, 0xb15a49de, 0xba1b6725, 0xea0e9845, 0xfec0e15d, 0x2f7502c3, 0x4cf01281, 0x4697a38d, 0xd3f9c66b, 0x8f5fe703, 0x929c9515, 0x6d7aebbf, 0x5259da95, 0xbe832dd4, 0x7421d358, 0xe0692949, 0xc9c8448e, 0xc2896a75, 0x8e7978f4, 0x583e6b99, 0xb971dd27, 0xe14fb6be, 0x88ad17f0, 0x20ac66c9, 0xce3ab47d, 0xdf4a1863, 0x1a3182e5, 0x51336097, 0x537f4562, 0x6477e0b1, 0x6bae84bb, 0x81a01cfe, 0x082b94f9, 0x48685870, 0x45fd198f, 0xde6c8794, 0x7bf8b752, 0x73d323ab, 0x4b02e272, 0x1f8f57e3, 0x55ab2a66, 0xeb2807b2, 0xb5c2032f, 0xc57b9a86, 0x3708a5d3, 0x2887f230, 0xbfa5b223, 0x036aba02, 0x16825ced, 0xcf1c2b8a, 0x79b492a7, 0x07f2f0f3, 0x69e2a14e, 0xdaf4cd65, 0x05bed506, 0x34621fd1, 0xa6fe8ac4, 0x2e539d34, 0xf355a0a2, 0x8ae13205, 0xf6eb75a4, 0x83ec390b, 0x60efaa40, 0x719f065e, 0x6e1051bd, 0x218af93e, 0xdd063d96, 0x3e05aedd, 0xe6bd464d, 0x548db591, 0xc45d0571, 0x06d46f04, 0x5015ff60, 0x98fb2419, 0xbde997d6, 0x4043cc89, 0xd99e7767, 0xe842bdb0, 0x898b8807, 0x195b38e7, 0xc8eedb79, 0x7c0a47a1, 0x420fe97c, 0x841ec9f8, 0x00000000, 0x80868309, 0x2bed4832, 0x1170ac1e, 0x5a724e6c, 0x0efffbfd, 0x8538560f, 0xaed51e3d, 0x2d392736, 0x0fd9640a, 0x5ca62168, 0x5b54d19b, 0x362e3a24, 0x0a67b10c, 0x57e70f93, 0xee96d2b4, 0x9b919e1b, 0xc0c54f80, 0xdc20a261, 0x774b695a, 0x121a161c, 0x93ba0ae2, 0xa02ae5c0, 0x22e0433c, 0x1b171d12, 0x090d0b0e, 0x8bc7adf2, 0xb6a8b92d, 0x1ea9c814, 0xf1198557, 0x75074caf, 0x99ddbbee, 0x7f60fda3, 0x01269ff7, 0x72f5bc5c, 0x663bc544, 0xfb7e345b, 0x4329768b, 0x23c6dccb, 0xedfc68b6, 0xe4f163b8, 0x31dccad7, 0x63851042, 0x97224013, 0xc6112084, 0x4a247d85, 0xbb3df8d2, 0xf93211ae, 0x29a16dc7, 0x9e2f4b1d, 0xb230f3dc, 0x8652ec0d, 0xc1e3d077, 0xb3166c2b, 0x70b999a9, 0x9448fa11, 0xe9642247, 0xfc8cc4a8, 0xf03f1aa0, 0x7d2cd856, 0x3390ef22, 0x494ec787, 0x38d1c1d9, 0xcaa2fe8c, 0xd40b3698, 0xf581cfa6, 0x7ade28a5, 0xb78e26da, 0xadbfa43f, 0x3a9de42c, 0x78920d50, 0x5fcc9b6a, 0x7e466254, 0x8d13c2f6, 0xd8b8e890, 0x39f75e2e, 0xc3aff582, 0x5d80be9f, 0xd0937c69, 0xd52da96f, 0x2512b3cf, 0xac993bc8, 0x187da710, 0x9c636ee8, 0x3bbb7bdb, 0x267809cd, 0x5918f46e, 0x9ab701ec, 0x4f9aa883, 0x956e65e6, 0xffe67eaa, 0xbccf0821, 0x15e8e6ef, 0xe79bd9ba, 0x6f36ce4a, 0x9f09d4ea, 0xb07cd629, 0xa4b2af31, 0x3f23312a, 0xa59430c6, 0xa266c035, 0x4ebc3774, 0x82caa6fc, 0x90d0b0e0, 0xa7d81533, 0x04984af1, 0xecdaf741, 0xcd500e7f, 0x91f62f17, 0x4dd68d76, 0xefb04d43, 0xaa4d54cc, 0x9604dfe4, 0xd1b5e39e, 0x6a881b4c, 0x2c1fb8c1, 0x65517f46, 0x5eea049d, 0x8c355d01, 0x877473fa, 0x0b412efb, 0x671d5ab3, 0xdbd25292, 0x105633e9, 0xd647136d, 0xd7618c9a, 0xa10c7a37, 0xf8148e59, 0x133c89eb, 0xa927eece, 0x61c935b7, 0x1ce5ede1, 0x47b13c7a, 0xd2df599c, 0xf2733f55, 0x14ce7918, 0xc737bf73, 0xf7cdea53, 0xfdaa5b5f, 0x3d6f14df, 0x44db8678, 0xaff381ca, 0x68c43eb9, 0x24342c38, 0xa3405fc2, 0x1dc37216, 0xe2250cbc, 0x3c498b28, 0x0d9541ff, 0xa8017139, 0x0cb3de08, 0xb4e49cd8, 0x56c19064, 0xcb84617b, 0x32b670d5, 0x6c5c7448, 0xb85742d0];\n// Transformations for decryption key expansion\nconst U1 = [0x00000000, 0x0e090d0b, 0x1c121a16, 0x121b171d, 0x3824342c, 0x362d3927, 0x24362e3a, 0x2a3f2331, 0x70486858, 0x7e416553, 0x6c5a724e, 0x62537f45, 0x486c5c74, 0x4665517f, 0x547e4662, 0x5a774b69, 0xe090d0b0, 0xee99ddbb, 0xfc82caa6, 0xf28bc7ad, 0xd8b4e49c, 0xd6bde997, 0xc4a6fe8a, 0xcaaff381, 0x90d8b8e8, 0x9ed1b5e3, 0x8ccaa2fe, 0x82c3aff5, 0xa8fc8cc4, 0xa6f581cf, 0xb4ee96d2, 0xbae79bd9, 0xdb3bbb7b, 0xd532b670, 0xc729a16d, 0xc920ac66, 0xe31f8f57, 0xed16825c, 0xff0d9541, 0xf104984a, 0xab73d323, 0xa57ade28, 0xb761c935, 0xb968c43e, 0x9357e70f, 0x9d5eea04, 0x8f45fd19, 0x814cf012, 0x3bab6bcb, 0x35a266c0, 0x27b971dd, 0x29b07cd6, 0x038f5fe7, 0x0d8652ec, 0x1f9d45f1, 0x119448fa, 0x4be30393, 0x45ea0e98, 0x57f11985, 0x59f8148e, 0x73c737bf, 0x7dce3ab4, 0x6fd52da9, 0x61dc20a2, 0xad766df6, 0xa37f60fd, 0xb16477e0, 0xbf6d7aeb, 0x955259da, 0x9b5b54d1, 0x894043cc, 0x87494ec7, 0xdd3e05ae, 0xd33708a5, 0xc12c1fb8, 0xcf2512b3, 0xe51a3182, 0xeb133c89, 0xf9082b94, 0xf701269f, 0x4de6bd46, 0x43efb04d, 0x51f4a750, 0x5ffdaa5b, 0x75c2896a, 0x7bcb8461, 0x69d0937c, 0x67d99e77, 0x3daed51e, 0x33a7d815, 0x21bccf08, 0x2fb5c203, 0x058ae132, 0x0b83ec39, 0x1998fb24, 0x1791f62f, 0x764dd68d, 0x7844db86, 0x6a5fcc9b, 0x6456c190, 0x4e69e2a1, 0x4060efaa, 0x527bf8b7, 0x5c72f5bc, 0x0605bed5, 0x080cb3de, 0x1a17a4c3, 0x141ea9c8, 0x3e218af9, 0x302887f2, 0x223390ef, 0x2c3a9de4, 0x96dd063d, 0x98d40b36, 0x8acf1c2b, 0x84c61120, 0xaef93211, 0xa0f03f1a, 0xb2eb2807, 0xbce2250c, 0xe6956e65, 0xe89c636e, 0xfa877473, 0xf48e7978, 0xdeb15a49, 0xd0b85742, 0xc2a3405f, 0xccaa4d54, 0x41ecdaf7, 0x4fe5d7fc, 0x5dfec0e1, 0x53f7cdea, 0x79c8eedb, 0x77c1e3d0, 0x65daf4cd, 0x6bd3f9c6, 0x31a4b2af, 0x3fadbfa4, 0x2db6a8b9, 0x23bfa5b2, 0x09808683, 0x07898b88, 0x15929c95, 0x1b9b919e, 0xa17c0a47, 0xaf75074c, 0xbd6e1051, 0xb3671d5a, 0x99583e6b, 0x97513360, 0x854a247d, 0x8b432976, 0xd134621f, 0xdf3d6f14, 0xcd267809, 0xc32f7502, 0xe9105633, 0xe7195b38, 0xf5024c25, 0xfb0b412e, 0x9ad7618c, 0x94de6c87, 0x86c57b9a, 0x88cc7691, 0xa2f355a0, 0xacfa58ab, 0xbee14fb6, 0xb0e842bd, 0xea9f09d4, 0xe49604df, 0xf68d13c2, 0xf8841ec9, 0xd2bb3df8, 0xdcb230f3, 0xcea927ee, 0xc0a02ae5, 0x7a47b13c, 0x744ebc37, 0x6655ab2a, 0x685ca621, 0x42638510, 0x4c6a881b, 0x5e719f06, 0x5078920d, 0x0a0fd964, 0x0406d46f, 0x161dc372, 0x1814ce79, 0x322bed48, 0x3c22e043, 0x2e39f75e, 0x2030fa55, 0xec9ab701, 0xe293ba0a, 0xf088ad17, 0xfe81a01c, 0xd4be832d, 0xdab78e26, 0xc8ac993b, 0xc6a59430, 0x9cd2df59, 0x92dbd252, 0x80c0c54f, 0x8ec9c844, 0xa4f6eb75, 0xaaffe67e, 0xb8e4f163, 0xb6edfc68, 0x0c0a67b1, 0x02036aba, 0x10187da7, 0x1e1170ac, 0x342e539d, 0x3a275e96, 0x283c498b, 0x26354480, 0x7c420fe9, 0x724b02e2, 0x605015ff, 0x6e5918f4, 0x44663bc5, 0x4a6f36ce, 0x587421d3, 0x567d2cd8, 0x37a10c7a, 0x39a80171, 0x2bb3166c, 0x25ba1b67, 0x0f853856, 0x018c355d, 0x13972240, 0x1d9e2f4b, 0x47e96422, 0x49e06929, 0x5bfb7e34, 0x55f2733f, 0x7fcd500e, 0x71c45d05, 0x63df4a18, 0x6dd64713, 0xd731dcca, 0xd938d1c1, 0xcb23c6dc, 0xc52acbd7, 0xef15e8e6, 0xe11ce5ed, 0xf307f2f0, 0xfd0efffb, 0xa779b492, 0xa970b999, 0xbb6bae84, 0xb562a38f, 0x9f5d80be, 0x91548db5, 0x834f9aa8, 0x8d4697a3];\nconst U2 = [0x00000000, 0x0b0e090d, 0x161c121a, 0x1d121b17, 0x2c382434, 0x27362d39, 0x3a24362e, 0x312a3f23, 0x58704868, 0x537e4165, 0x4e6c5a72, 0x4562537f, 0x74486c5c, 0x7f466551, 0x62547e46, 0x695a774b, 0xb0e090d0, 0xbbee99dd, 0xa6fc82ca, 0xadf28bc7, 0x9cd8b4e4, 0x97d6bde9, 0x8ac4a6fe, 0x81caaff3, 0xe890d8b8, 0xe39ed1b5, 0xfe8ccaa2, 0xf582c3af, 0xc4a8fc8c, 0xcfa6f581, 0xd2b4ee96, 0xd9bae79b, 0x7bdb3bbb, 0x70d532b6, 0x6dc729a1, 0x66c920ac, 0x57e31f8f, 0x5ced1682, 0x41ff0d95, 0x4af10498, 0x23ab73d3, 0x28a57ade, 0x35b761c9, 0x3eb968c4, 0x0f9357e7, 0x049d5eea, 0x198f45fd, 0x12814cf0, 0xcb3bab6b, 0xc035a266, 0xdd27b971, 0xd629b07c, 0xe7038f5f, 0xec0d8652, 0xf11f9d45, 0xfa119448, 0x934be303, 0x9845ea0e, 0x8557f119, 0x8e59f814, 0xbf73c737, 0xb47dce3a, 0xa96fd52d, 0xa261dc20, 0xf6ad766d, 0xfda37f60, 0xe0b16477, 0xebbf6d7a, 0xda955259, 0xd19b5b54, 0xcc894043, 0xc787494e, 0xaedd3e05, 0xa5d33708, 0xb8c12c1f, 0xb3cf2512, 0x82e51a31, 0x89eb133c, 0x94f9082b, 0x9ff70126, 0x464de6bd, 0x4d43efb0, 0x5051f4a7, 0x5b5ffdaa, 0x6a75c289, 0x617bcb84, 0x7c69d093, 0x7767d99e, 0x1e3daed5, 0x1533a7d8, 0x0821bccf, 0x032fb5c2, 0x32058ae1, 0x390b83ec, 0x241998fb, 0x2f1791f6, 0x8d764dd6, 0x867844db, 0x9b6a5fcc, 0x906456c1, 0xa14e69e2, 0xaa4060ef, 0xb7527bf8, 0xbc5c72f5, 0xd50605be, 0xde080cb3, 0xc31a17a4, 0xc8141ea9, 0xf93e218a, 0xf2302887, 0xef223390, 0xe42c3a9d, 0x3d96dd06, 0x3698d40b, 0x2b8acf1c, 0x2084c611, 0x11aef932, 0x1aa0f03f, 0x07b2eb28, 0x0cbce225, 0x65e6956e, 0x6ee89c63, 0x73fa8774, 0x78f48e79, 0x49deb15a, 0x42d0b857, 0x5fc2a340, 0x54ccaa4d, 0xf741ecda, 0xfc4fe5d7, 0xe15dfec0, 0xea53f7cd, 0xdb79c8ee, 0xd077c1e3, 0xcd65daf4, 0xc66bd3f9, 0xaf31a4b2, 0xa43fadbf, 0xb92db6a8, 0xb223bfa5, 0x83098086, 0x8807898b, 0x9515929c, 0x9e1b9b91, 0x47a17c0a, 0x4caf7507, 0x51bd6e10, 0x5ab3671d, 0x6b99583e, 0x60975133, 0x7d854a24, 0x768b4329, 0x1fd13462, 0x14df3d6f, 0x09cd2678, 0x02c32f75, 0x33e91056, 0x38e7195b, 0x25f5024c, 0x2efb0b41, 0x8c9ad761, 0x8794de6c, 0x9a86c57b, 0x9188cc76, 0xa0a2f355, 0xabacfa58, 0xb6bee14f, 0xbdb0e842, 0xd4ea9f09, 0xdfe49604, 0xc2f68d13, 0xc9f8841e, 0xf8d2bb3d, 0xf3dcb230, 0xeecea927, 0xe5c0a02a, 0x3c7a47b1, 0x37744ebc, 0x2a6655ab, 0x21685ca6, 0x10426385, 0x1b4c6a88, 0x065e719f, 0x0d507892, 0x640a0fd9, 0x6f0406d4, 0x72161dc3, 0x791814ce, 0x48322bed, 0x433c22e0, 0x5e2e39f7, 0x552030fa, 0x01ec9ab7, 0x0ae293ba, 0x17f088ad, 0x1cfe81a0, 0x2dd4be83, 0x26dab78e, 0x3bc8ac99, 0x30c6a594, 0x599cd2df, 0x5292dbd2, 0x4f80c0c5, 0x448ec9c8, 0x75a4f6eb, 0x7eaaffe6, 0x63b8e4f1, 0x68b6edfc, 0xb10c0a67, 0xba02036a, 0xa710187d, 0xac1e1170, 0x9d342e53, 0x963a275e, 0x8b283c49, 0x80263544, 0xe97c420f, 0xe2724b02, 0xff605015, 0xf46e5918, 0xc544663b, 0xce4a6f36, 0xd3587421, 0xd8567d2c, 0x7a37a10c, 0x7139a801, 0x6c2bb316, 0x6725ba1b, 0x560f8538, 0x5d018c35, 0x40139722, 0x4b1d9e2f, 0x2247e964, 0x2949e069, 0x345bfb7e, 0x3f55f273, 0x0e7fcd50, 0x0571c45d, 0x1863df4a, 0x136dd647, 0xcad731dc, 0xc1d938d1, 0xdccb23c6, 0xd7c52acb, 0xe6ef15e8, 0xede11ce5, 0xf0f307f2, 0xfbfd0eff, 0x92a779b4, 0x99a970b9, 0x84bb6bae, 0x8fb562a3, 0xbe9f5d80, 0xb591548d, 0xa8834f9a, 0xa38d4697];\nconst U3 = [0x00000000, 0x0d0b0e09, 0x1a161c12, 0x171d121b, 0x342c3824, 0x3927362d, 0x2e3a2436, 0x23312a3f, 0x68587048, 0x65537e41, 0x724e6c5a, 0x7f456253, 0x5c74486c, 0x517f4665, 0x4662547e, 0x4b695a77, 0xd0b0e090, 0xddbbee99, 0xcaa6fc82, 0xc7adf28b, 0xe49cd8b4, 0xe997d6bd, 0xfe8ac4a6, 0xf381caaf, 0xb8e890d8, 0xb5e39ed1, 0xa2fe8cca, 0xaff582c3, 0x8cc4a8fc, 0x81cfa6f5, 0x96d2b4ee, 0x9bd9bae7, 0xbb7bdb3b, 0xb670d532, 0xa16dc729, 0xac66c920, 0x8f57e31f, 0x825ced16, 0x9541ff0d, 0x984af104, 0xd323ab73, 0xde28a57a, 0xc935b761, 0xc43eb968, 0xe70f9357, 0xea049d5e, 0xfd198f45, 0xf012814c, 0x6bcb3bab, 0x66c035a2, 0x71dd27b9, 0x7cd629b0, 0x5fe7038f, 0x52ec0d86, 0x45f11f9d, 0x48fa1194, 0x03934be3, 0x0e9845ea, 0x198557f1, 0x148e59f8, 0x37bf73c7, 0x3ab47dce, 0x2da96fd5, 0x20a261dc, 0x6df6ad76, 0x60fda37f, 0x77e0b164, 0x7aebbf6d, 0x59da9552, 0x54d19b5b, 0x43cc8940, 0x4ec78749, 0x05aedd3e, 0x08a5d337, 0x1fb8c12c, 0x12b3cf25, 0x3182e51a, 0x3c89eb13, 0x2b94f908, 0x269ff701, 0xbd464de6, 0xb04d43ef, 0xa75051f4, 0xaa5b5ffd, 0x896a75c2, 0x84617bcb, 0x937c69d0, 0x9e7767d9, 0xd51e3dae, 0xd81533a7, 0xcf0821bc, 0xc2032fb5, 0xe132058a, 0xec390b83, 0xfb241998, 0xf62f1791, 0xd68d764d, 0xdb867844, 0xcc9b6a5f, 0xc1906456, 0xe2a14e69, 0xefaa4060, 0xf8b7527b, 0xf5bc5c72, 0xbed50605, 0xb3de080c, 0xa4c31a17, 0xa9c8141e, 0x8af93e21, 0x87f23028, 0x90ef2233, 0x9de42c3a, 0x063d96dd, 0x0b3698d4, 0x1c2b8acf, 0x112084c6, 0x3211aef9, 0x3f1aa0f0, 0x2807b2eb, 0x250cbce2, 0x6e65e695, 0x636ee89c, 0x7473fa87, 0x7978f48e, 0x5a49deb1, 0x5742d0b8, 0x405fc2a3, 0x4d54ccaa, 0xdaf741ec, 0xd7fc4fe5, 0xc0e15dfe, 0xcdea53f7, 0xeedb79c8, 0xe3d077c1, 0xf4cd65da, 0xf9c66bd3, 0xb2af31a4, 0xbfa43fad, 0xa8b92db6, 0xa5b223bf, 0x86830980, 0x8b880789, 0x9c951592, 0x919e1b9b, 0x0a47a17c, 0x074caf75, 0x1051bd6e, 0x1d5ab367, 0x3e6b9958, 0x33609751, 0x247d854a, 0x29768b43, 0x621fd134, 0x6f14df3d, 0x7809cd26, 0x7502c32f, 0x5633e910, 0x5b38e719, 0x4c25f502, 0x412efb0b, 0x618c9ad7, 0x6c8794de, 0x7b9a86c5, 0x769188cc, 0x55a0a2f3, 0x58abacfa, 0x4fb6bee1, 0x42bdb0e8, 0x09d4ea9f, 0x04dfe496, 0x13c2f68d, 0x1ec9f884, 0x3df8d2bb, 0x30f3dcb2, 0x27eecea9, 0x2ae5c0a0, 0xb13c7a47, 0xbc37744e, 0xab2a6655, 0xa621685c, 0x85104263, 0x881b4c6a, 0x9f065e71, 0x920d5078, 0xd9640a0f, 0xd46f0406, 0xc372161d, 0xce791814, 0xed48322b, 0xe0433c22, 0xf75e2e39, 0xfa552030, 0xb701ec9a, 0xba0ae293, 0xad17f088, 0xa01cfe81, 0x832dd4be, 0x8e26dab7, 0x993bc8ac, 0x9430c6a5, 0xdf599cd2, 0xd25292db, 0xc54f80c0, 0xc8448ec9, 0xeb75a4f6, 0xe67eaaff, 0xf163b8e4, 0xfc68b6ed, 0x67b10c0a, 0x6aba0203, 0x7da71018, 0x70ac1e11, 0x539d342e, 0x5e963a27, 0x498b283c, 0x44802635, 0x0fe97c42, 0x02e2724b, 0x15ff6050, 0x18f46e59, 0x3bc54466, 0x36ce4a6f, 0x21d35874, 0x2cd8567d, 0x0c7a37a1, 0x017139a8, 0x166c2bb3, 0x1b6725ba, 0x38560f85, 0x355d018c, 0x22401397, 0x2f4b1d9e, 0x642247e9, 0x692949e0, 0x7e345bfb, 0x733f55f2, 0x500e7fcd, 0x5d0571c4, 0x4a1863df, 0x47136dd6, 0xdccad731, 0xd1c1d938, 0xc6dccb23, 0xcbd7c52a, 0xe8e6ef15, 0xe5ede11c, 0xf2f0f307, 0xfffbfd0e, 0xb492a779, 0xb999a970, 0xae84bb6b, 0xa38fb562, 0x80be9f5d, 0x8db59154, 0x9aa8834f, 0x97a38d46];\nconst U4 = [0x00000000, 0x090d0b0e, 0x121a161c, 0x1b171d12, 0x24342c38, 0x2d392736, 0x362e3a24, 0x3f23312a, 0x48685870, 0x4165537e, 0x5a724e6c, 0x537f4562, 0x6c5c7448, 0x65517f46, 0x7e466254, 0x774b695a, 0x90d0b0e0, 0x99ddbbee, 0x82caa6fc, 0x8bc7adf2, 0xb4e49cd8, 0xbde997d6, 0xa6fe8ac4, 0xaff381ca, 0xd8b8e890, 0xd1b5e39e, 0xcaa2fe8c, 0xc3aff582, 0xfc8cc4a8, 0xf581cfa6, 0xee96d2b4, 0xe79bd9ba, 0x3bbb7bdb, 0x32b670d5, 0x29a16dc7, 0x20ac66c9, 0x1f8f57e3, 0x16825ced, 0x0d9541ff, 0x04984af1, 0x73d323ab, 0x7ade28a5, 0x61c935b7, 0x68c43eb9, 0x57e70f93, 0x5eea049d, 0x45fd198f, 0x4cf01281, 0xab6bcb3b, 0xa266c035, 0xb971dd27, 0xb07cd629, 0x8f5fe703, 0x8652ec0d, 0x9d45f11f, 0x9448fa11, 0xe303934b, 0xea0e9845, 0xf1198557, 0xf8148e59, 0xc737bf73, 0xce3ab47d, 0xd52da96f, 0xdc20a261, 0x766df6ad, 0x7f60fda3, 0x6477e0b1, 0x6d7aebbf, 0x5259da95, 0x5b54d19b, 0x4043cc89, 0x494ec787, 0x3e05aedd, 0x3708a5d3, 0x2c1fb8c1, 0x2512b3cf, 0x1a3182e5, 0x133c89eb, 0x082b94f9, 0x01269ff7, 0xe6bd464d, 0xefb04d43, 0xf4a75051, 0xfdaa5b5f, 0xc2896a75, 0xcb84617b, 0xd0937c69, 0xd99e7767, 0xaed51e3d, 0xa7d81533, 0xbccf0821, 0xb5c2032f, 0x8ae13205, 0x83ec390b, 0x98fb2419, 0x91f62f17, 0x4dd68d76, 0x44db8678, 0x5fcc9b6a, 0x56c19064, 0x69e2a14e, 0x60efaa40, 0x7bf8b752, 0x72f5bc5c, 0x05bed506, 0x0cb3de08, 0x17a4c31a, 0x1ea9c814, 0x218af93e, 0x2887f230, 0x3390ef22, 0x3a9de42c, 0xdd063d96, 0xd40b3698, 0xcf1c2b8a, 0xc6112084, 0xf93211ae, 0xf03f1aa0, 0xeb2807b2, 0xe2250cbc, 0x956e65e6, 0x9c636ee8, 0x877473fa, 0x8e7978f4, 0xb15a49de, 0xb85742d0, 0xa3405fc2, 0xaa4d54cc, 0xecdaf741, 0xe5d7fc4f, 0xfec0e15d, 0xf7cdea53, 0xc8eedb79, 0xc1e3d077, 0xdaf4cd65, 0xd3f9c66b, 0xa4b2af31, 0xadbfa43f, 0xb6a8b92d, 0xbfa5b223, 0x80868309, 0x898b8807, 0x929c9515, 0x9b919e1b, 0x7c0a47a1, 0x75074caf, 0x6e1051bd, 0x671d5ab3, 0x583e6b99, 0x51336097, 0x4a247d85, 0x4329768b, 0x34621fd1, 0x3d6f14df, 0x267809cd, 0x2f7502c3, 0x105633e9, 0x195b38e7, 0x024c25f5, 0x0b412efb, 0xd7618c9a, 0xde6c8794, 0xc57b9a86, 0xcc769188, 0xf355a0a2, 0xfa58abac, 0xe14fb6be, 0xe842bdb0, 0x9f09d4ea, 0x9604dfe4, 0x8d13c2f6, 0x841ec9f8, 0xbb3df8d2, 0xb230f3dc, 0xa927eece, 0xa02ae5c0, 0x47b13c7a, 0x4ebc3774, 0x55ab2a66, 0x5ca62168, 0x63851042, 0x6a881b4c, 0x719f065e, 0x78920d50, 0x0fd9640a, 0x06d46f04, 0x1dc37216, 0x14ce7918, 0x2bed4832, 0x22e0433c, 0x39f75e2e, 0x30fa5520, 0x9ab701ec, 0x93ba0ae2, 0x88ad17f0, 0x81a01cfe, 0xbe832dd4, 0xb78e26da, 0xac993bc8, 0xa59430c6, 0xd2df599c, 0xdbd25292, 0xc0c54f80, 0xc9c8448e, 0xf6eb75a4, 0xffe67eaa, 0xe4f163b8, 0xedfc68b6, 0x0a67b10c, 0x036aba02, 0x187da710, 0x1170ac1e, 0x2e539d34, 0x275e963a, 0x3c498b28, 0x35448026, 0x420fe97c, 0x4b02e272, 0x5015ff60, 0x5918f46e, 0x663bc544, 0x6f36ce4a, 0x7421d358, 0x7d2cd856, 0xa10c7a37, 0xa8017139, 0xb3166c2b, 0xba1b6725, 0x8538560f, 0x8c355d01, 0x97224013, 0x9e2f4b1d, 0xe9642247, 0xe0692949, 0xfb7e345b, 0xf2733f55, 0xcd500e7f, 0xc45d0571, 0xdf4a1863, 0xd647136d, 0x31dccad7, 0x38d1c1d9, 0x23c6dccb, 0x2acbd7c5, 0x15e8e6ef, 0x1ce5ede1, 0x07f2f0f3, 0x0efffbfd, 0x79b492a7, 0x70b999a9, 0x6bae84bb, 0x62a38fb5, 0x5d80be9f, 0x548db591, 0x4f9aa883, 0x4697a38d];\nfunction convertToInt32(bytes) {\n const result = [];\n for (let i = 0; i < bytes.length; i += 4) {\n result.push((bytes[i] << 24) | (bytes[i + 1] << 16) | (bytes[i + 2] << 8) | bytes[i + 3]);\n }\n return result;\n}\nexport class AES {\n get key() { return __classPrivateFieldGet(this, _AES_key, \"f\").slice(); }\n constructor(key) {\n _AES_key.set(this, void 0);\n _AES_Kd.set(this, void 0);\n _AES_Ke.set(this, void 0);\n if (!(this instanceof AES)) {\n throw Error('AES must be instanitated with `new`');\n }\n __classPrivateFieldSet(this, _AES_key, new Uint8Array(key), \"f\");\n const rounds = numberOfRounds[this.key.length];\n if (rounds == null) {\n throw new TypeError('invalid key size (must be 16, 24 or 32 bytes)');\n }\n // encryption round keys\n __classPrivateFieldSet(this, _AES_Ke, [], \"f\");\n // decryption round keys\n __classPrivateFieldSet(this, _AES_Kd, [], \"f\");\n for (let i = 0; i <= rounds; i++) {\n __classPrivateFieldGet(this, _AES_Ke, \"f\").push([0, 0, 0, 0]);\n __classPrivateFieldGet(this, _AES_Kd, \"f\").push([0, 0, 0, 0]);\n }\n const roundKeyCount = (rounds + 1) * 4;\n const KC = this.key.length / 4;\n // convert the key into ints\n const tk = convertToInt32(this.key);\n // copy values into round key arrays\n let index;\n for (let i = 0; i < KC; i++) {\n index = i >> 2;\n __classPrivateFieldGet(this, _AES_Ke, \"f\")[index][i % 4] = tk[i];\n __classPrivateFieldGet(this, _AES_Kd, \"f\")[rounds - index][i % 4] = tk[i];\n }\n // key expansion (fips-197 section 5.2)\n let rconpointer = 0;\n let t = KC, tt;\n while (t < roundKeyCount) {\n tt = tk[KC - 1];\n tk[0] ^= ((S[(tt >> 16) & 0xFF] << 24) ^\n (S[(tt >> 8) & 0xFF] << 16) ^\n (S[tt & 0xFF] << 8) ^\n S[(tt >> 24) & 0xFF] ^\n (rcon[rconpointer] << 24));\n rconpointer += 1;\n // key expansion (for non-256 bit)\n if (KC != 8) {\n for (let i = 1; i < KC; i++) {\n tk[i] ^= tk[i - 1];\n }\n // key expansion for 256-bit keys is \"slightly different\" (fips-197)\n }\n else {\n for (let i = 1; i < (KC / 2); i++) {\n tk[i] ^= tk[i - 1];\n }\n tt = tk[(KC / 2) - 1];\n tk[KC / 2] ^= (S[tt & 0xFF] ^\n (S[(tt >> 8) & 0xFF] << 8) ^\n (S[(tt >> 16) & 0xFF] << 16) ^\n (S[(tt >> 24) & 0xFF] << 24));\n for (let i = (KC / 2) + 1; i < KC; i++) {\n tk[i] ^= tk[i - 1];\n }\n }\n // copy values into round key arrays\n let i = 0, r, c;\n while (i < KC && t < roundKeyCount) {\n r = t >> 2;\n c = t % 4;\n __classPrivateFieldGet(this, _AES_Ke, \"f\")[r][c] = tk[i];\n __classPrivateFieldGet(this, _AES_Kd, \"f\")[rounds - r][c] = tk[i++];\n t++;\n }\n }\n // inverse-cipher-ify the decryption round key (fips-197 section 5.3)\n for (let r = 1; r < rounds; r++) {\n for (let c = 0; c < 4; c++) {\n tt = __classPrivateFieldGet(this, _AES_Kd, \"f\")[r][c];\n __classPrivateFieldGet(this, _AES_Kd, \"f\")[r][c] = (U1[(tt >> 24) & 0xFF] ^\n U2[(tt >> 16) & 0xFF] ^\n U3[(tt >> 8) & 0xFF] ^\n U4[tt & 0xFF]);\n }\n }\n }\n encrypt(plaintext) {\n if (plaintext.length != 16) {\n throw new TypeError('invalid plaintext size (must be 16 bytes)');\n }\n const rounds = __classPrivateFieldGet(this, _AES_Ke, \"f\").length - 1;\n const a = [0, 0, 0, 0];\n // convert plaintext to (ints ^ key)\n let t = convertToInt32(plaintext);\n for (let i = 0; i < 4; i++) {\n t[i] ^= __classPrivateFieldGet(this, _AES_Ke, \"f\")[0][i];\n }\n // apply round transforms\n for (let r = 1; r < rounds; r++) {\n for (let i = 0; i < 4; i++) {\n a[i] = (T1[(t[i] >> 24) & 0xff] ^\n T2[(t[(i + 1) % 4] >> 16) & 0xff] ^\n T3[(t[(i + 2) % 4] >> 8) & 0xff] ^\n T4[t[(i + 3) % 4] & 0xff] ^\n __classPrivateFieldGet(this, _AES_Ke, \"f\")[r][i]);\n }\n t = a.slice();\n }\n // the last round is special\n const result = new Uint8Array(16);\n let tt = 0;\n for (let i = 0; i < 4; i++) {\n tt = __classPrivateFieldGet(this, _AES_Ke, \"f\")[rounds][i];\n result[4 * i] = (S[(t[i] >> 24) & 0xff] ^ (tt >> 24)) & 0xff;\n result[4 * i + 1] = (S[(t[(i + 1) % 4] >> 16) & 0xff] ^ (tt >> 16)) & 0xff;\n result[4 * i + 2] = (S[(t[(i + 2) % 4] >> 8) & 0xff] ^ (tt >> 8)) & 0xff;\n result[4 * i + 3] = (S[t[(i + 3) % 4] & 0xff] ^ tt) & 0xff;\n }\n return result;\n }\n decrypt(ciphertext) {\n if (ciphertext.length != 16) {\n throw new TypeError('invalid ciphertext size (must be 16 bytes)');\n }\n const rounds = __classPrivateFieldGet(this, _AES_Kd, \"f\").length - 1;\n const a = [0, 0, 0, 0];\n // convert plaintext to (ints ^ key)\n let t = convertToInt32(ciphertext);\n for (let i = 0; i < 4; i++) {\n t[i] ^= __classPrivateFieldGet(this, _AES_Kd, \"f\")[0][i];\n }\n // apply round transforms\n for (let r = 1; r < rounds; r++) {\n for (let i = 0; i < 4; i++) {\n a[i] = (T5[(t[i] >> 24) & 0xff] ^\n T6[(t[(i + 3) % 4] >> 16) & 0xff] ^\n T7[(t[(i + 2) % 4] >> 8) & 0xff] ^\n T8[t[(i + 1) % 4] & 0xff] ^\n __classPrivateFieldGet(this, _AES_Kd, \"f\")[r][i]);\n }\n t = a.slice();\n }\n // the last round is special\n const result = new Uint8Array(16);\n let tt = 0;\n for (let i = 0; i < 4; i++) {\n tt = __classPrivateFieldGet(this, _AES_Kd, \"f\")[rounds][i];\n result[4 * i] = (Si[(t[i] >> 24) & 0xff] ^ (tt >> 24)) & 0xff;\n result[4 * i + 1] = (Si[(t[(i + 3) % 4] >> 16) & 0xff] ^ (tt >> 16)) & 0xff;\n result[4 * i + 2] = (Si[(t[(i + 2) % 4] >> 8) & 0xff] ^ (tt >> 8)) & 0xff;\n result[4 * i + 3] = (Si[t[(i + 1) % 4] & 0xff] ^ tt) & 0xff;\n }\n return result;\n }\n}\n_AES_key = new WeakMap(), _AES_Kd = new WeakMap(), _AES_Ke = new WeakMap();\n//# sourceMappingURL=aes.js.map","import { AES } from \"./aes.js\";\nexport class ModeOfOperation {\n constructor(name, key, cls) {\n if (cls && !(this instanceof cls)) {\n throw new Error(`${name} must be instantiated with \"new\"`);\n }\n Object.defineProperties(this, {\n aes: { enumerable: true, value: new AES(key) },\n name: { enumerable: true, value: name }\n });\n }\n}\n//# sourceMappingURL=mode.js.map","// Cipher Block Chaining\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _CBC_iv, _CBC_lastBlock;\nimport { ModeOfOperation } from \"./mode.js\";\nexport class CBC extends ModeOfOperation {\n constructor(key, iv) {\n super(\"ECC\", key, CBC);\n _CBC_iv.set(this, void 0);\n _CBC_lastBlock.set(this, void 0);\n if (iv) {\n if (iv.length % 16) {\n throw new TypeError(\"invalid iv size (must be 16 bytes)\");\n }\n __classPrivateFieldSet(this, _CBC_iv, new Uint8Array(iv), \"f\");\n }\n else {\n __classPrivateFieldSet(this, _CBC_iv, new Uint8Array(16), \"f\");\n }\n __classPrivateFieldSet(this, _CBC_lastBlock, this.iv, \"f\");\n }\n get iv() { return new Uint8Array(__classPrivateFieldGet(this, _CBC_iv, \"f\")); }\n encrypt(plaintext) {\n if (plaintext.length % 16) {\n throw new TypeError(\"invalid plaintext size (must be multiple of 16 bytes)\");\n }\n const ciphertext = new Uint8Array(plaintext.length);\n for (let i = 0; i < plaintext.length; i += 16) {\n for (let j = 0; j < 16; j++) {\n __classPrivateFieldGet(this, _CBC_lastBlock, \"f\")[j] ^= plaintext[i + j];\n }\n __classPrivateFieldSet(this, _CBC_lastBlock, this.aes.encrypt(__classPrivateFieldGet(this, _CBC_lastBlock, \"f\")), \"f\");\n ciphertext.set(__classPrivateFieldGet(this, _CBC_lastBlock, \"f\"), i);\n }\n return ciphertext;\n }\n decrypt(ciphertext) {\n if (ciphertext.length % 16) {\n throw new TypeError(\"invalid ciphertext size (must be multiple of 16 bytes)\");\n }\n const plaintext = new Uint8Array(ciphertext.length);\n for (let i = 0; i < ciphertext.length; i += 16) {\n const block = this.aes.decrypt(ciphertext.subarray(i, i + 16));\n for (let j = 0; j < 16; j++) {\n plaintext[i + j] = block[j] ^ __classPrivateFieldGet(this, _CBC_lastBlock, \"f\")[j];\n __classPrivateFieldGet(this, _CBC_lastBlock, \"f\")[j] = ciphertext[i + j];\n }\n }\n return plaintext;\n }\n}\n_CBC_iv = new WeakMap(), _CBC_lastBlock = new WeakMap();\n//# sourceMappingURL=mode-cbc.js.map","// Counter Mode\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _CTR_remaining, _CTR_remainingIndex, _CTR_counter;\nimport { ModeOfOperation } from \"./mode.js\";\nexport class CTR extends ModeOfOperation {\n constructor(key, initialValue) {\n super(\"CTR\", key, CTR);\n // Remaining bytes for the one-time pad\n _CTR_remaining.set(this, void 0);\n _CTR_remainingIndex.set(this, void 0);\n // The current counter\n _CTR_counter.set(this, void 0);\n __classPrivateFieldSet(this, _CTR_counter, new Uint8Array(16), \"f\");\n __classPrivateFieldGet(this, _CTR_counter, \"f\").fill(0);\n __classPrivateFieldSet(this, _CTR_remaining, __classPrivateFieldGet(this, _CTR_counter, \"f\"), \"f\"); // This will be discarded immediately\n __classPrivateFieldSet(this, _CTR_remainingIndex, 16, \"f\");\n if (initialValue == null) {\n initialValue = 1;\n }\n if (typeof (initialValue) === \"number\") {\n this.setCounterValue(initialValue);\n }\n else {\n this.setCounterBytes(initialValue);\n }\n }\n get counter() { return new Uint8Array(__classPrivateFieldGet(this, _CTR_counter, \"f\")); }\n setCounterValue(value) {\n if (!Number.isInteger(value) || value < 0 || value > Number.MAX_SAFE_INTEGER) {\n throw new TypeError(\"invalid counter initial integer value\");\n }\n for (let index = 15; index >= 0; --index) {\n __classPrivateFieldGet(this, _CTR_counter, \"f\")[index] = value % 256;\n value = Math.floor(value / 256);\n }\n }\n setCounterBytes(value) {\n if (value.length !== 16) {\n throw new TypeError(\"invalid counter initial Uint8Array value length\");\n }\n __classPrivateFieldGet(this, _CTR_counter, \"f\").set(value);\n }\n increment() {\n for (let i = 15; i >= 0; i--) {\n if (__classPrivateFieldGet(this, _CTR_counter, \"f\")[i] === 255) {\n __classPrivateFieldGet(this, _CTR_counter, \"f\")[i] = 0;\n }\n else {\n __classPrivateFieldGet(this, _CTR_counter, \"f\")[i]++;\n break;\n }\n }\n }\n encrypt(plaintext) {\n var _a, _b;\n const crypttext = new Uint8Array(plaintext);\n for (let i = 0; i < crypttext.length; i++) {\n if (__classPrivateFieldGet(this, _CTR_remainingIndex, \"f\") === 16) {\n __classPrivateFieldSet(this, _CTR_remaining, this.aes.encrypt(__classPrivateFieldGet(this, _CTR_counter, \"f\")), \"f\");\n __classPrivateFieldSet(this, _CTR_remainingIndex, 0, \"f\");\n this.increment();\n }\n crypttext[i] ^= __classPrivateFieldGet(this, _CTR_remaining, \"f\")[__classPrivateFieldSet(this, _CTR_remainingIndex, (_b = __classPrivateFieldGet(this, _CTR_remainingIndex, \"f\"), _a = _b++, _b), \"f\"), _a];\n }\n return crypttext;\n }\n decrypt(ciphertext) {\n return this.encrypt(ciphertext);\n }\n}\n_CTR_remaining = new WeakMap(), _CTR_remainingIndex = new WeakMap(), _CTR_counter = new WeakMap();\n//# sourceMappingURL=mode-ctr.js.map","export function pkcs7Pad(data) {\n const padder = 16 - (data.length % 16);\n const result = new Uint8Array(data.length + padder);\n result.set(data);\n for (let i = data.length; i < result.length; i++) {\n result[i] = padder;\n }\n return result;\n}\nexport function pkcs7Strip(data) {\n if (data.length < 16) {\n throw new TypeError('PKCS#7 invalid length');\n }\n const padder = data[data.length - 1];\n if (padder > 16) {\n throw new TypeError('PKCS#7 padding byte out of range');\n }\n const length = data.length - padder;\n for (let i = 0; i < padder; i++) {\n if (data[length + i] !== padder) {\n throw new TypeError('PKCS#7 invalid padding byte');\n }\n }\n return new Uint8Array(data.subarray(0, length));\n}\n//# sourceMappingURL=padding.js.map","/**\n * @_ignore\n */\nimport { getBytesCopy, assertArgument, toUtf8Bytes } from \"../utils/index.js\";\nexport function looseArrayify(hexString) {\n if (typeof (hexString) === \"string\" && !hexString.startsWith(\"0x\")) {\n hexString = \"0x\" + hexString;\n }\n return getBytesCopy(hexString);\n}\nexport function zpad(value, length) {\n value = String(value);\n while (value.length < length) {\n value = '0' + value;\n }\n return value;\n}\nexport function getPassword(password) {\n if (typeof (password) === 'string') {\n return toUtf8Bytes(password, \"NFKC\");\n }\n return getBytesCopy(password);\n}\nexport function spelunk(object, _path) {\n const match = _path.match(/^([a-z0-9$_.-]*)(:([a-z]+))?(!)?$/i);\n assertArgument(match != null, \"invalid path\", \"path\", _path);\n const path = match[1];\n const type = match[3];\n const reqd = (match[4] === \"!\");\n let cur = object;\n for (const comp of path.toLowerCase().split('.')) {\n // Search for a child object with a case-insensitive matching key\n if (Array.isArray(cur)) {\n if (!comp.match(/^[0-9]+$/)) {\n break;\n }\n cur = cur[parseInt(comp)];\n }\n else if (typeof (cur) === \"object\") {\n let found = null;\n for (const key in cur) {\n if (key.toLowerCase() === comp) {\n found = cur[key];\n break;\n }\n }\n cur = found;\n }\n else {\n cur = null;\n }\n if (cur == null) {\n break;\n }\n }\n assertArgument(!reqd || cur != null, \"missing required value\", \"path\", path);\n if (type && cur != null) {\n if (type === \"int\") {\n if (typeof (cur) === \"string\" && cur.match(/^-?[0-9]+$/)) {\n return parseInt(cur);\n }\n else if (Number.isSafeInteger(cur)) {\n return cur;\n }\n }\n if (type === \"number\") {\n if (typeof (cur) === \"string\" && cur.match(/^-?[0-9.]*$/)) {\n return parseFloat(cur);\n }\n }\n if (type === \"data\") {\n if (typeof (cur) === \"string\") {\n return looseArrayify(cur);\n }\n }\n if (type === \"array\" && Array.isArray(cur)) {\n return cur;\n }\n if (type === typeof (cur)) {\n return cur;\n }\n assertArgument(false, `wrong type found for ${type} `, \"path\", path);\n }\n return cur;\n}\n/*\nexport function follow(object: any, path: string): null | string {\n let currentChild = object;\n\n for (const comp of path.toLowerCase().split('/')) {\n\n // Search for a child object with a case-insensitive matching key\n let matchingChild = null;\n for (const key in currentChild) {\n if (key.toLowerCase() === comp) {\n matchingChild = currentChild[key];\n break;\n }\n }\n\n if (matchingChild === null) { return null; }\n\n currentChild = matchingChild;\n }\n\n return currentChild;\n}\n\n// \"path/to/something:type!\"\nexport function followRequired(data: any, path: string): string {\n const value = follow(data, path);\n if (value != null) { return value; }\n return logger.throwArgumentError(\"invalid value\", `data:${ path }`,\n JSON.stringify(data));\n}\n*/\n// See: https://www.ietf.org/rfc/rfc4122.txt (Section 4.4)\n/*\nexport function uuidV4(randomBytes: BytesLike): string {\n const bytes = getBytes(randomBytes, \"randomBytes\");\n\n // Section: 4.1.3:\n // - time_hi_and_version[12:16] = 0b0100\n bytes[6] = (bytes[6] & 0x0f) | 0x40;\n\n // Section 4.4\n // - clock_seq_hi_and_reserved[6] = 0b0\n // - clock_seq_hi_and_reserved[7] = 0b1\n bytes[8] = (bytes[8] & 0x3f) | 0x80;\n\n const value = hexlify(bytes);\n\n return [\n value.substring(2, 10),\n value.substring(10, 14),\n value.substring(14, 18),\n value.substring(18, 22),\n value.substring(22, 34),\n ].join(\"-\");\n}\n*/\n//# sourceMappingURL=utils.js.map","/**\n * The JSON Wallet formats allow a simple way to store the private\n * keys needed in Ethereum along with related information and allows\n * for extensible forms of encryption.\n *\n * These utilities facilitate decrypting and encrypting the most common\n * JSON Wallet formats.\n *\n * @_subsection: api/wallet:JSON Wallets [json-wallets]\n */\nimport { CTR } from \"aes-js\";\nimport { getAddress } from \"../address/index.js\";\nimport { keccak256, pbkdf2, randomBytes, scrypt, scryptSync } from \"../crypto/index.js\";\nimport { computeAddress } from \"../transaction/index.js\";\nimport { concat, getBytes, hexlify, uuidV4, assert, assertArgument } from \"../utils/index.js\";\nimport { getPassword, spelunk, zpad } from \"./utils.js\";\nimport { version } from \"../_version.js\";\nconst defaultPath = \"m/44'/60'/0'/0/0\";\n/**\n * Returns true if %%json%% is a valid JSON Keystore Wallet.\n */\nexport function isKeystoreJson(json) {\n try {\n const data = JSON.parse(json);\n const version = ((data.version != null) ? parseInt(data.version) : 0);\n if (version === 3) {\n return true;\n }\n }\n catch (error) { }\n return false;\n}\nfunction decrypt(data, key, ciphertext) {\n const cipher = spelunk(data, \"crypto.cipher:string\");\n if (cipher === \"aes-128-ctr\") {\n const iv = spelunk(data, \"crypto.cipherparams.iv:data!\");\n const aesCtr = new CTR(key, iv);\n return hexlify(aesCtr.decrypt(ciphertext));\n }\n assert(false, \"unsupported cipher\", \"UNSUPPORTED_OPERATION\", {\n operation: \"decrypt\"\n });\n}\nfunction getAccount(data, _key) {\n const key = getBytes(_key);\n const ciphertext = spelunk(data, \"crypto.ciphertext:data!\");\n const computedMAC = hexlify(keccak256(concat([key.slice(16, 32), ciphertext]))).substring(2);\n assertArgument(computedMAC === spelunk(data, \"crypto.mac:string!\").toLowerCase(), \"incorrect password\", \"password\", \"[ REDACTED ]\");\n const privateKey = decrypt(data, key.slice(0, 16), ciphertext);\n const address = computeAddress(privateKey);\n if (data.address) {\n let check = data.address.toLowerCase();\n if (!check.startsWith(\"0x\")) {\n check = \"0x\" + check;\n }\n assertArgument(getAddress(check) === address, \"keystore address/privateKey mismatch\", \"address\", data.address);\n }\n const account = { address, privateKey };\n // Version 0.1 x-ethers metadata must contain an encrypted mnemonic phrase\n const version = spelunk(data, \"x-ethers.version:string\");\n if (version === \"0.1\") {\n const mnemonicKey = key.slice(32, 64);\n const mnemonicCiphertext = spelunk(data, \"x-ethers.mnemonicCiphertext:data!\");\n const mnemonicIv = spelunk(data, \"x-ethers.mnemonicCounter:data!\");\n const mnemonicAesCtr = new CTR(mnemonicKey, mnemonicIv);\n account.mnemonic = {\n path: (spelunk(data, \"x-ethers.path:string\") || defaultPath),\n locale: (spelunk(data, \"x-ethers.locale:string\") || \"en\"),\n entropy: hexlify(getBytes(mnemonicAesCtr.decrypt(mnemonicCiphertext)))\n };\n }\n return account;\n}\nfunction getDecryptKdfParams(data) {\n const kdf = spelunk(data, \"crypto.kdf:string\");\n if (kdf && typeof (kdf) === \"string\") {\n if (kdf.toLowerCase() === \"scrypt\") {\n const salt = spelunk(data, \"crypto.kdfparams.salt:data!\");\n const N = spelunk(data, \"crypto.kdfparams.n:int!\");\n const r = spelunk(data, \"crypto.kdfparams.r:int!\");\n const p = spelunk(data, \"crypto.kdfparams.p:int!\");\n // Make sure N is a power of 2\n assertArgument(N > 0 && (N & (N - 1)) === 0, \"invalid kdf.N\", \"kdf.N\", N);\n assertArgument(r > 0 && p > 0, \"invalid kdf\", \"kdf\", kdf);\n const dkLen = spelunk(data, \"crypto.kdfparams.dklen:int!\");\n assertArgument(dkLen === 32, \"invalid kdf.dklen\", \"kdf.dflen\", dkLen);\n return { name: \"scrypt\", salt, N, r, p, dkLen: 64 };\n }\n else if (kdf.toLowerCase() === \"pbkdf2\") {\n const salt = spelunk(data, \"crypto.kdfparams.salt:data!\");\n const prf = spelunk(data, \"crypto.kdfparams.prf:string!\");\n const algorithm = prf.split(\"-\").pop();\n assertArgument(algorithm === \"sha256\" || algorithm === \"sha512\", \"invalid kdf.pdf\", \"kdf.pdf\", prf);\n const count = spelunk(data, \"crypto.kdfparams.c:int!\");\n const dkLen = spelunk(data, \"crypto.kdfparams.dklen:int!\");\n assertArgument(dkLen === 32, \"invalid kdf.dklen\", \"kdf.dklen\", dkLen);\n return { name: \"pbkdf2\", salt, count, dkLen, algorithm };\n }\n }\n assertArgument(false, \"unsupported key-derivation function\", \"kdf\", kdf);\n}\n/**\n * Returns the account details for the JSON Keystore Wallet %%json%%\n * using %%password%%.\n *\n * It is preferred to use the [async version](decryptKeystoreJson)\n * instead, which allows a [[ProgressCallback]] to keep the user informed\n * as to the decryption status.\n *\n * This method will block the event loop (freezing all UI) until decryption\n * is complete, which can take quite some time, depending on the wallet\n * paramters and platform.\n */\nexport function decryptKeystoreJsonSync(json, _password) {\n const data = JSON.parse(json);\n const password = getPassword(_password);\n const params = getDecryptKdfParams(data);\n if (params.name === \"pbkdf2\") {\n const { salt, count, dkLen, algorithm } = params;\n const key = pbkdf2(password, salt, count, dkLen, algorithm);\n return getAccount(data, key);\n }\n assert(params.name === \"scrypt\", \"cannot be reached\", \"UNKNOWN_ERROR\", { params });\n const { salt, N, r, p, dkLen } = params;\n const key = scryptSync(password, salt, N, r, p, dkLen);\n return getAccount(data, key);\n}\nfunction stall(duration) {\n return new Promise((resolve) => { setTimeout(() => { resolve(); }, duration); });\n}\n/**\n * Resolves to the decrypted JSON Keystore Wallet %%json%% using the\n * %%password%%.\n *\n * If provided, %%progress%% will be called periodically during the\n * decrpytion to provide feedback, and if the function returns\n * ``false`` will halt decryption.\n *\n * The %%progressCallback%% will **always** receive ``0`` before\n * decryption begins and ``1`` when complete.\n */\nexport async function decryptKeystoreJson(json, _password, progress) {\n const data = JSON.parse(json);\n const password = getPassword(_password);\n const params = getDecryptKdfParams(data);\n if (params.name === \"pbkdf2\") {\n if (progress) {\n progress(0);\n await stall(0);\n }\n const { salt, count, dkLen, algorithm } = params;\n const key = pbkdf2(password, salt, count, dkLen, algorithm);\n if (progress) {\n progress(1);\n await stall(0);\n }\n return getAccount(data, key);\n }\n assert(params.name === \"scrypt\", \"cannot be reached\", \"UNKNOWN_ERROR\", { params });\n const { salt, N, r, p, dkLen } = params;\n const key = await scrypt(password, salt, N, r, p, dkLen, progress);\n return getAccount(data, key);\n}\nfunction getEncryptKdfParams(options) {\n // Check/generate the salt\n const salt = (options.salt != null) ? getBytes(options.salt, \"options.salt\") : randomBytes(32);\n // Override the scrypt password-based key derivation function parameters\n let N = (1 << 17), r = 8, p = 1;\n if (options.scrypt) {\n if (options.scrypt.N) {\n N = options.scrypt.N;\n }\n if (options.scrypt.r) {\n r = options.scrypt.r;\n }\n if (options.scrypt.p) {\n p = options.scrypt.p;\n }\n }\n assertArgument(typeof (N) === \"number\" && N > 0 && Number.isSafeInteger(N) && (BigInt(N) & BigInt(N - 1)) === BigInt(0), \"invalid scrypt N parameter\", \"options.N\", N);\n assertArgument(typeof (r) === \"number\" && r > 0 && Number.isSafeInteger(r), \"invalid scrypt r parameter\", \"options.r\", r);\n assertArgument(typeof (p) === \"number\" && p > 0 && Number.isSafeInteger(p), \"invalid scrypt p parameter\", \"options.p\", p);\n return { name: \"scrypt\", dkLen: 32, salt, N, r, p };\n}\nfunction _encryptKeystore(key, kdf, account, options) {\n const privateKey = getBytes(account.privateKey, \"privateKey\");\n // Override initialization vector\n const iv = (options.iv != null) ? getBytes(options.iv, \"options.iv\") : randomBytes(16);\n assertArgument(iv.length === 16, \"invalid options.iv length\", \"options.iv\", options.iv);\n // Override the uuid\n const uuidRandom = (options.uuid != null) ? getBytes(options.uuid, \"options.uuid\") : randomBytes(16);\n assertArgument(uuidRandom.length === 16, \"invalid options.uuid length\", \"options.uuid\", options.iv);\n // This will be used to encrypt the wallet (as per Web3 secret storage)\n // - 32 bytes As normal for the Web3 secret storage (derivedKey, macPrefix)\n // - 32 bytes AES key to encrypt mnemonic with (required here to be Ethers Wallet)\n const derivedKey = key.slice(0, 16);\n const macPrefix = key.slice(16, 32);\n // Encrypt the private key\n const aesCtr = new CTR(derivedKey, iv);\n const ciphertext = getBytes(aesCtr.encrypt(privateKey));\n // Compute the message authentication code, used to check the password\n const mac = keccak256(concat([macPrefix, ciphertext]));\n // See: https://github.com/ethereum/wiki/wiki/Web3-Secret-Storage-Definition\n const data = {\n address: account.address.substring(2).toLowerCase(),\n id: uuidV4(uuidRandom),\n version: 3,\n Crypto: {\n cipher: \"aes-128-ctr\",\n cipherparams: {\n iv: hexlify(iv).substring(2),\n },\n ciphertext: hexlify(ciphertext).substring(2),\n kdf: \"scrypt\",\n kdfparams: {\n salt: hexlify(kdf.salt).substring(2),\n n: kdf.N,\n dklen: 32,\n p: kdf.p,\n r: kdf.r\n },\n mac: mac.substring(2)\n }\n };\n // If we have a mnemonic, encrypt it into the JSON wallet\n if (account.mnemonic) {\n const client = (options.client != null) ? options.client : `ethers/${version}`;\n const path = account.mnemonic.path || defaultPath;\n const locale = account.mnemonic.locale || \"en\";\n const mnemonicKey = key.slice(32, 64);\n const entropy = getBytes(account.mnemonic.entropy, \"account.mnemonic.entropy\");\n const mnemonicIv = randomBytes(16);\n const mnemonicAesCtr = new CTR(mnemonicKey, mnemonicIv);\n const mnemonicCiphertext = getBytes(mnemonicAesCtr.encrypt(entropy));\n const now = new Date();\n const timestamp = (now.getUTCFullYear() + \"-\" +\n zpad(now.getUTCMonth() + 1, 2) + \"-\" +\n zpad(now.getUTCDate(), 2) + \"T\" +\n zpad(now.getUTCHours(), 2) + \"-\" +\n zpad(now.getUTCMinutes(), 2) + \"-\" +\n zpad(now.getUTCSeconds(), 2) + \".0Z\");\n const gethFilename = (\"UTC--\" + timestamp + \"--\" + data.address);\n data[\"x-ethers\"] = {\n client, gethFilename, path, locale,\n mnemonicCounter: hexlify(mnemonicIv).substring(2),\n mnemonicCiphertext: hexlify(mnemonicCiphertext).substring(2),\n version: \"0.1\"\n };\n }\n return JSON.stringify(data);\n}\n/**\n * Return the JSON Keystore Wallet for %%account%% encrypted with\n * %%password%%.\n *\n * The %%options%% can be used to tune the password-based key\n * derivation function parameters, explicitly set the random values\n * used. Any provided [[ProgressCallback]] is ignord.\n */\nexport function encryptKeystoreJsonSync(account, password, options) {\n if (options == null) {\n options = {};\n }\n const passwordBytes = getPassword(password);\n const kdf = getEncryptKdfParams(options);\n const key = scryptSync(passwordBytes, kdf.salt, kdf.N, kdf.r, kdf.p, 64);\n return _encryptKeystore(getBytes(key), kdf, account, options);\n}\n/**\n * Resolved to the JSON Keystore Wallet for %%account%% encrypted\n * with %%password%%.\n *\n * The %%options%% can be used to tune the password-based key\n * derivation function parameters, explicitly set the random values\n * used and provide a [[ProgressCallback]] to receive periodic updates\n * on the completion status..\n */\nexport async function encryptKeystoreJson(account, password, options) {\n if (options == null) {\n options = {};\n }\n const passwordBytes = getPassword(password);\n const kdf = getEncryptKdfParams(options);\n const key = await scrypt(passwordBytes, kdf.salt, kdf.N, kdf.r, kdf.p, 64, options.progressCallback);\n return _encryptKeystore(getBytes(key), kdf, account, options);\n}\n//# sourceMappingURL=json-keystore.js.map","/**\n * Explain HD Wallets..\n *\n * @_subsection: api/wallet:HD Wallets [hd-wallets]\n */\nimport { computeHmac, randomBytes, ripemd160, SigningKey, sha256 } from \"../crypto/index.js\";\nimport { VoidSigner } from \"../providers/index.js\";\nimport { computeAddress } from \"../transaction/index.js\";\nimport { concat, dataSlice, decodeBase58, defineProperties, encodeBase58, getBytes, hexlify, isBytesLike, getNumber, toBeArray, toBigInt, toBeHex, assertPrivate, assert, assertArgument } from \"../utils/index.js\";\nimport { LangEn } from \"../wordlists/lang-en.js\";\nimport { BaseWallet } from \"./base-wallet.js\";\nimport { Mnemonic } from \"./mnemonic.js\";\nimport { encryptKeystoreJson, encryptKeystoreJsonSync, } from \"./json-keystore.js\";\n/**\n * The default derivation path for Ethereum HD Nodes. (i.e. ``\"m/44'/60'/0'/0/0\"``)\n */\nexport const defaultPath = \"m/44'/60'/0'/0/0\";\n// \"Bitcoin seed\"\nconst MasterSecret = new Uint8Array([66, 105, 116, 99, 111, 105, 110, 32, 115, 101, 101, 100]);\nconst HardenedBit = 0x80000000;\nconst N = BigInt(\"0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141\");\nconst Nibbles = \"0123456789abcdef\";\nfunction zpad(value, length) {\n let result = \"\";\n while (value) {\n result = Nibbles[value % 16] + result;\n value = Math.trunc(value / 16);\n }\n while (result.length < length * 2) {\n result = \"0\" + result;\n }\n return \"0x\" + result;\n}\nfunction encodeBase58Check(_value) {\n const value = getBytes(_value);\n const check = dataSlice(sha256(sha256(value)), 0, 4);\n const bytes = concat([value, check]);\n return encodeBase58(bytes);\n}\nconst _guard = {};\nfunction ser_I(index, chainCode, publicKey, privateKey) {\n const data = new Uint8Array(37);\n if (index & HardenedBit) {\n assert(privateKey != null, \"cannot derive child of neutered node\", \"UNSUPPORTED_OPERATION\", {\n operation: \"deriveChild\"\n });\n // Data = 0x00 || ser_256(k_par)\n data.set(getBytes(privateKey), 1);\n }\n else {\n // Data = ser_p(point(k_par))\n data.set(getBytes(publicKey));\n }\n // Data += ser_32(i)\n for (let i = 24; i >= 0; i -= 8) {\n data[33 + (i >> 3)] = ((index >> (24 - i)) & 0xff);\n }\n const I = getBytes(computeHmac(\"sha512\", chainCode, data));\n return { IL: I.slice(0, 32), IR: I.slice(32) };\n}\nfunction derivePath(node, path) {\n const components = path.split(\"/\");\n assertArgument(components.length > 0, \"invalid path\", \"path\", path);\n if (components[0] === \"m\") {\n assertArgument(node.depth === 0, `cannot derive root path (i.e. path starting with \"m/\") for a node at non-zero depth ${node.depth}`, \"path\", path);\n components.shift();\n }\n let result = node;\n for (let i = 0; i < components.length; i++) {\n const component = components[i];\n if (component.match(/^[0-9]+'$/)) {\n const index = parseInt(component.substring(0, component.length - 1));\n assertArgument(index < HardenedBit, \"invalid path index\", `path[${i}]`, component);\n result = result.deriveChild(HardenedBit + index);\n }\n else if (component.match(/^[0-9]+$/)) {\n const index = parseInt(component);\n assertArgument(index < HardenedBit, \"invalid path index\", `path[${i}]`, component);\n result = result.deriveChild(index);\n }\n else {\n assertArgument(false, \"invalid path component\", `path[${i}]`, component);\n }\n }\n return result;\n}\n/**\n * An **HDNodeWallet** is a [[Signer]] backed by the private key derived\n * from an HD Node using the [[link-bip-32]] stantard.\n *\n * An HD Node forms a hierarchal structure with each HD Node having a\n * private key and the ability to derive child HD Nodes, defined by\n * a path indicating the index of each child.\n */\nexport class HDNodeWallet extends BaseWallet {\n /**\n * The compressed public key.\n */\n publicKey;\n /**\n * The fingerprint.\n *\n * A fingerprint allows quick qay to detect parent and child nodes,\n * but developers should be prepared to deal with collisions as it\n * is only 4 bytes.\n */\n fingerprint;\n /**\n * The parent fingerprint.\n */\n parentFingerprint;\n /**\n * The mnemonic used to create this HD Node, if available.\n *\n * Sources such as extended keys do not encode the mnemonic, in\n * which case this will be ``null``.\n */\n mnemonic;\n /**\n * The chaincode, which is effectively a public key used\n * to derive children.\n */\n chainCode;\n /**\n * The derivation path of this wallet.\n *\n * Since extended keys do not provider full path details, this\n * may be ``null``, if instantiated from a source that does not\n * enocde it.\n */\n path;\n /**\n * The child index of this wallet. Values over ``2 *\\* 31`` indicate\n * the node is hardened.\n */\n index;\n /**\n * The depth of this wallet, which is the number of components\n * in its path.\n */\n depth;\n /**\n * @private\n */\n constructor(guard, signingKey, parentFingerprint, chainCode, path, index, depth, mnemonic, provider) {\n super(signingKey, provider);\n assertPrivate(guard, _guard, \"HDNodeWallet\");\n defineProperties(this, { publicKey: signingKey.compressedPublicKey });\n const fingerprint = dataSlice(ripemd160(sha256(this.publicKey)), 0, 4);\n defineProperties(this, {\n parentFingerprint, fingerprint,\n chainCode, path, index, depth\n });\n defineProperties(this, { mnemonic });\n }\n connect(provider) {\n return new HDNodeWallet(_guard, this.signingKey, this.parentFingerprint, this.chainCode, this.path, this.index, this.depth, this.mnemonic, provider);\n }\n #account() {\n const account = { address: this.address, privateKey: this.privateKey };\n const m = this.mnemonic;\n if (this.path && m && m.wordlist.locale === \"en\" && m.password === \"\") {\n account.mnemonic = {\n path: this.path,\n locale: \"en\",\n entropy: m.entropy\n };\n }\n return account;\n }\n /**\n * Resolves to a [JSON Keystore Wallet](json-wallets) encrypted with\n * %%password%%.\n *\n * If %%progressCallback%% is specified, it will receive periodic\n * updates as the encryption process progreses.\n */\n async encrypt(password, progressCallback) {\n return await encryptKeystoreJson(this.#account(), password, { progressCallback });\n }\n /**\n * Returns a [JSON Keystore Wallet](json-wallets) encryped with\n * %%password%%.\n *\n * It is preferred to use the [async version](encrypt) instead,\n * which allows a [[ProgressCallback]] to keep the user informed.\n *\n * This method will block the event loop (freezing all UI) until\n * it is complete, which may be a non-trivial duration.\n */\n encryptSync(password) {\n return encryptKeystoreJsonSync(this.#account(), password);\n }\n /**\n * The extended key.\n *\n * This key will begin with the prefix ``xpriv`` and can be used to\n * reconstruct this HD Node to derive its children.\n */\n get extendedKey() {\n // We only support the mainnet values for now, but if anyone needs\n // testnet values, let me know. I believe current sentiment is that\n // we should always use mainnet, and use BIP-44 to derive the network\n // - Mainnet: public=0x0488B21E, private=0x0488ADE4\n // - Testnet: public=0x043587CF, private=0x04358394\n assert(this.depth < 256, \"Depth too deep\", \"UNSUPPORTED_OPERATION\", { operation: \"extendedKey\" });\n return encodeBase58Check(concat([\n \"0x0488ADE4\", zpad(this.depth, 1), this.parentFingerprint,\n zpad(this.index, 4), this.chainCode,\n concat([\"0x00\", this.privateKey])\n ]));\n }\n /**\n * Returns true if this wallet has a path, providing a Type Guard\n * that the path is non-null.\n */\n hasPath() { return (this.path != null); }\n /**\n * Returns a neutered HD Node, which removes the private details\n * of an HD Node.\n *\n * A neutered node has no private key, but can be used to derive\n * child addresses and other public data about the HD Node.\n */\n neuter() {\n return new HDNodeVoidWallet(_guard, this.address, this.publicKey, this.parentFingerprint, this.chainCode, this.path, this.index, this.depth, this.provider);\n }\n /**\n * Return the child for %%index%%.\n */\n deriveChild(_index) {\n const index = getNumber(_index, \"index\");\n assertArgument(index <= 0xffffffff, \"invalid index\", \"index\", index);\n // Base path\n let path = this.path;\n if (path) {\n path += \"/\" + (index & ~HardenedBit);\n if (index & HardenedBit) {\n path += \"'\";\n }\n }\n const { IR, IL } = ser_I(index, this.chainCode, this.publicKey, this.privateKey);\n const ki = new SigningKey(toBeHex((toBigInt(IL) + BigInt(this.privateKey)) % N, 32));\n return new HDNodeWallet(_guard, ki, this.fingerprint, hexlify(IR), path, index, this.depth + 1, this.mnemonic, this.provider);\n }\n /**\n * Return the HDNode for %%path%% from this node.\n */\n derivePath(path) {\n return derivePath(this, path);\n }\n static #fromSeed(_seed, mnemonic) {\n assertArgument(isBytesLike(_seed), \"invalid seed\", \"seed\", \"[REDACTED]\");\n const seed = getBytes(_seed, \"seed\");\n assertArgument(seed.length >= 16 && seed.length <= 64, \"invalid seed\", \"seed\", \"[REDACTED]\");\n const I = getBytes(computeHmac(\"sha512\", MasterSecret, seed));\n const signingKey = new SigningKey(hexlify(I.slice(0, 32)));\n return new HDNodeWallet(_guard, signingKey, \"0x00000000\", hexlify(I.slice(32)), \"m\", 0, 0, mnemonic, null);\n }\n /**\n * Creates a new HD Node from %%extendedKey%%.\n *\n * If the %%extendedKey%% will either have a prefix or ``xpub`` or\n * ``xpriv``, returning a neutered HD Node ([[HDNodeVoidWallet]])\n * or full HD Node ([[HDNodeWallet) respectively.\n */\n static fromExtendedKey(extendedKey) {\n const bytes = toBeArray(decodeBase58(extendedKey)); // @TODO: redact\n assertArgument(bytes.length === 82 || encodeBase58Check(bytes.slice(0, 78)) === extendedKey, \"invalid extended key\", \"extendedKey\", \"[ REDACTED ]\");\n const depth = bytes[4];\n const parentFingerprint = hexlify(bytes.slice(5, 9));\n const index = parseInt(hexlify(bytes.slice(9, 13)).substring(2), 16);\n const chainCode = hexlify(bytes.slice(13, 45));\n const key = bytes.slice(45, 78);\n switch (hexlify(bytes.slice(0, 4))) {\n // Public Key\n case \"0x0488b21e\":\n case \"0x043587cf\": {\n const publicKey = hexlify(key);\n return new HDNodeVoidWallet(_guard, computeAddress(publicKey), publicKey, parentFingerprint, chainCode, null, index, depth, null);\n }\n // Private Key\n case \"0x0488ade4\":\n case \"0x04358394 \":\n if (key[0] !== 0) {\n break;\n }\n return new HDNodeWallet(_guard, new SigningKey(key.slice(1)), parentFingerprint, chainCode, null, index, depth, null, null);\n }\n assertArgument(false, \"invalid extended key prefix\", \"extendedKey\", \"[ REDACTED ]\");\n }\n /**\n * Creates a new random HDNode.\n */\n static createRandom(password, path, wordlist) {\n if (password == null) {\n password = \"\";\n }\n if (path == null) {\n path = defaultPath;\n }\n if (wordlist == null) {\n wordlist = LangEn.wordlist();\n }\n const mnemonic = Mnemonic.fromEntropy(randomBytes(16), password, wordlist);\n return HDNodeWallet.#fromSeed(mnemonic.computeSeed(), mnemonic).derivePath(path);\n }\n /**\n * Create an HD Node from %%mnemonic%%.\n */\n static fromMnemonic(mnemonic, path) {\n if (!path) {\n path = defaultPath;\n }\n return HDNodeWallet.#fromSeed(mnemonic.computeSeed(), mnemonic).derivePath(path);\n }\n /**\n * Creates an HD Node from a mnemonic %%phrase%%.\n */\n static fromPhrase(phrase, password, path, wordlist) {\n if (password == null) {\n password = \"\";\n }\n if (path == null) {\n path = defaultPath;\n }\n if (wordlist == null) {\n wordlist = LangEn.wordlist();\n }\n const mnemonic = Mnemonic.fromPhrase(phrase, password, wordlist);\n return HDNodeWallet.#fromSeed(mnemonic.computeSeed(), mnemonic).derivePath(path);\n }\n /**\n * Creates an HD Node from a %%seed%%.\n */\n static fromSeed(seed) {\n return HDNodeWallet.#fromSeed(seed, null);\n }\n}\n/**\n * A **HDNodeVoidWallet** cannot sign, but provides access to\n * the children nodes of a [[link-bip-32]] HD wallet addresses.\n *\n * The can be created by using an extended ``xpub`` key to\n * [[HDNodeWallet_fromExtendedKey]] or by\n * [nuetering](HDNodeWallet-neuter) a [[HDNodeWallet]].\n */\nexport class HDNodeVoidWallet extends VoidSigner {\n /**\n * The compressed public key.\n */\n publicKey;\n /**\n * The fingerprint.\n *\n * A fingerprint allows quick qay to detect parent and child nodes,\n * but developers should be prepared to deal with collisions as it\n * is only 4 bytes.\n */\n fingerprint;\n /**\n * The parent node fingerprint.\n */\n parentFingerprint;\n /**\n * The chaincode, which is effectively a public key used\n * to derive children.\n */\n chainCode;\n /**\n * The derivation path of this wallet.\n *\n * Since extended keys do not provider full path details, this\n * may be ``null``, if instantiated from a source that does not\n * enocde it.\n */\n path;\n /**\n * The child index of this wallet. Values over ``2 *\\* 31`` indicate\n * the node is hardened.\n */\n index;\n /**\n * The depth of this wallet, which is the number of components\n * in its path.\n */\n depth;\n /**\n * @private\n */\n constructor(guard, address, publicKey, parentFingerprint, chainCode, path, index, depth, provider) {\n super(address, provider);\n assertPrivate(guard, _guard, \"HDNodeVoidWallet\");\n defineProperties(this, { publicKey });\n const fingerprint = dataSlice(ripemd160(sha256(publicKey)), 0, 4);\n defineProperties(this, {\n publicKey, fingerprint, parentFingerprint, chainCode, path, index, depth\n });\n }\n connect(provider) {\n return new HDNodeVoidWallet(_guard, this.address, this.publicKey, this.parentFingerprint, this.chainCode, this.path, this.index, this.depth, provider);\n }\n /**\n * The extended key.\n *\n * This key will begin with the prefix ``xpub`` and can be used to\n * reconstruct this neutered key to derive its children addresses.\n */\n get extendedKey() {\n // We only support the mainnet values for now, but if anyone needs\n // testnet values, let me know. I believe current sentiment is that\n // we should always use mainnet, and use BIP-44 to derive the network\n // - Mainnet: public=0x0488B21E, private=0x0488ADE4\n // - Testnet: public=0x043587CF, private=0x04358394\n assert(this.depth < 256, \"Depth too deep\", \"UNSUPPORTED_OPERATION\", { operation: \"extendedKey\" });\n return encodeBase58Check(concat([\n \"0x0488B21E\",\n zpad(this.depth, 1),\n this.parentFingerprint,\n zpad(this.index, 4),\n this.chainCode,\n this.publicKey,\n ]));\n }\n /**\n * Returns true if this wallet has a path, providing a Type Guard\n * that the path is non-null.\n */\n hasPath() { return (this.path != null); }\n /**\n * Return the child for %%index%%.\n */\n deriveChild(_index) {\n const index = getNumber(_index, \"index\");\n assertArgument(index <= 0xffffffff, \"invalid index\", \"index\", index);\n // Base path\n let path = this.path;\n if (path) {\n path += \"/\" + (index & ~HardenedBit);\n if (index & HardenedBit) {\n path += \"'\";\n }\n }\n const { IR, IL } = ser_I(index, this.chainCode, this.publicKey, null);\n const Ki = SigningKey.addPoints(IL, this.publicKey, true);\n const address = computeAddress(Ki);\n return new HDNodeVoidWallet(_guard, address, Ki, this.fingerprint, hexlify(IR), path, index, this.depth + 1, this.provider);\n }\n /**\n * Return the signer for %%path%% from this node.\n */\n derivePath(path) {\n return derivePath(this, path);\n }\n}\n/*\nexport class HDNodeWalletManager {\n #root: HDNodeWallet;\n\n constructor(phrase: string, password?: null | string, path?: null | string, locale?: null | Wordlist) {\n if (password == null) { password = \"\"; }\n if (path == null) { path = \"m/44'/60'/0'/0\"; }\n if (locale == null) { locale = LangEn.wordlist(); }\n this.#root = HDNodeWallet.fromPhrase(phrase, password, path, locale);\n }\n\n getSigner(index?: number): HDNodeWallet {\n return this.#root.deriveChild((index == null) ? 0: index);\n }\n}\n*/\n/**\n * Returns the [[link-bip-32]] path for the account at %%index%%.\n *\n * This is the pattern used by wallets like Ledger.\n *\n * There is also an [alternate pattern](getIndexedAccountPath) used by\n * some software.\n */\nexport function getAccountPath(_index) {\n const index = getNumber(_index, \"index\");\n assertArgument(index >= 0 && index < HardenedBit, \"invalid account index\", \"index\", index);\n return `m/44'/60'/${index}'/0/0`;\n}\n/**\n * Returns the path using an alternative pattern for deriving accounts,\n * at %%index%%.\n *\n * This derivation path uses the //index// component rather than the\n * //account// component to derive sequential accounts.\n *\n * This is the pattern used by wallets like MetaMask.\n */\nexport function getIndexedAccountPath(_index) {\n const index = getNumber(_index, \"index\");\n assertArgument(index >= 0 && index < HardenedBit, \"invalid account index\", \"index\", index);\n return `m/44'/60'/0'/0/${index}`;\n}\n//# sourceMappingURL=hdwallet.js.map","/**\n * @_subsection: api/wallet:JSON Wallets [json-wallets]\n */\nimport { CBC, pkcs7Strip } from \"aes-js\";\nimport { getAddress } from \"../address/index.js\";\nimport { pbkdf2 } from \"../crypto/index.js\";\nimport { id } from \"../hash/index.js\";\nimport { getBytes, assertArgument } from \"../utils/index.js\";\nimport { getPassword, looseArrayify, spelunk } from \"./utils.js\";\n/**\n * Returns true if %%json%% is a valid JSON Crowdsale wallet.\n */\nexport function isCrowdsaleJson(json) {\n try {\n const data = JSON.parse(json);\n if (data.encseed) {\n return true;\n }\n }\n catch (error) { }\n return false;\n}\n// See: https://github.com/ethereum/pyethsaletool\n/**\n * Before Ethereum launched, it was necessary to create a wallet\n * format for backers to use, which would be used to receive ether\n * as a reward for contributing to the project.\n *\n * The [[link-crowdsale]] format is now obsolete, but it is still\n * useful to support and the additional code is fairly trivial as\n * all the primitives required are used through core portions of\n * the library.\n */\nexport function decryptCrowdsaleJson(json, _password) {\n const data = JSON.parse(json);\n const password = getPassword(_password);\n // Ethereum Address\n const address = getAddress(spelunk(data, \"ethaddr:string!\"));\n // Encrypted Seed\n const encseed = looseArrayify(spelunk(data, \"encseed:string!\"));\n assertArgument(encseed && (encseed.length % 16) === 0, \"invalid encseed\", \"json\", json);\n const key = getBytes(pbkdf2(password, password, 2000, 32, \"sha256\")).slice(0, 16);\n const iv = encseed.slice(0, 16);\n const encryptedSeed = encseed.slice(16);\n // Decrypt the seed\n const aesCbc = new CBC(key, iv);\n const seed = pkcs7Strip(getBytes(aesCbc.decrypt(encryptedSeed)));\n // This wallet format is weird... Convert the binary encoded hex to a string.\n let seedHex = \"\";\n for (let i = 0; i < seed.length; i++) {\n seedHex += String.fromCharCode(seed[i]);\n }\n return { address, privateKey: id(seedHex) };\n}\n//# sourceMappingURL=json-crowdsale.js.map","import { SigningKey } from \"../crypto/index.js\";\nimport { assertArgument } from \"../utils/index.js\";\nimport { BaseWallet } from \"./base-wallet.js\";\nimport { HDNodeWallet } from \"./hdwallet.js\";\nimport { decryptCrowdsaleJson, isCrowdsaleJson } from \"./json-crowdsale.js\";\nimport { decryptKeystoreJson, decryptKeystoreJsonSync, encryptKeystoreJson, encryptKeystoreJsonSync, isKeystoreJson } from \"./json-keystore.js\";\nimport { Mnemonic } from \"./mnemonic.js\";\nfunction stall(duration) {\n return new Promise((resolve) => { setTimeout(() => { resolve(); }, duration); });\n}\n/**\n * A **Wallet** manages a single private key which is used to sign\n * transactions, messages and other common payloads.\n *\n * This class is generally the main entry point for developers\n * that wish to use a private key directly, as it can create\n * instances from a large variety of common sources, including\n * raw private key, [[link-bip-39]] mnemonics and encrypte JSON\n * wallets.\n */\nexport class Wallet extends BaseWallet {\n /**\n * Create a new wallet for the private %%key%%, optionally connected\n * to %%provider%%.\n */\n constructor(key, provider) {\n if (typeof (key) === \"string\" && !key.startsWith(\"0x\")) {\n key = \"0x\" + key;\n }\n let signingKey = (typeof (key) === \"string\") ? new SigningKey(key) : key;\n super(signingKey, provider);\n }\n connect(provider) {\n return new Wallet(this.signingKey, provider);\n }\n /**\n * Resolves to a [JSON Keystore Wallet](json-wallets) encrypted with\n * %%password%%.\n *\n * If %%progressCallback%% is specified, it will receive periodic\n * updates as the encryption process progreses.\n */\n async encrypt(password, progressCallback) {\n const account = { address: this.address, privateKey: this.privateKey };\n return await encryptKeystoreJson(account, password, { progressCallback });\n }\n /**\n * Returns a [JSON Keystore Wallet](json-wallets) encryped with\n * %%password%%.\n *\n * It is preferred to use the [async version](encrypt) instead,\n * which allows a [[ProgressCallback]] to keep the user informed.\n *\n * This method will block the event loop (freezing all UI) until\n * it is complete, which may be a non-trivial duration.\n */\n encryptSync(password) {\n const account = { address: this.address, privateKey: this.privateKey };\n return encryptKeystoreJsonSync(account, password);\n }\n static #fromAccount(account) {\n assertArgument(account, \"invalid JSON wallet\", \"json\", \"[ REDACTED ]\");\n if (\"mnemonic\" in account && account.mnemonic && account.mnemonic.locale === \"en\") {\n const mnemonic = Mnemonic.fromEntropy(account.mnemonic.entropy);\n const wallet = HDNodeWallet.fromMnemonic(mnemonic, account.mnemonic.path);\n if (wallet.address === account.address && wallet.privateKey === account.privateKey) {\n return wallet;\n }\n console.log(\"WARNING: JSON mismatch address/privateKey != mnemonic; fallback onto private key\");\n }\n const wallet = new Wallet(account.privateKey);\n assertArgument(wallet.address === account.address, \"address/privateKey mismatch\", \"json\", \"[ REDACTED ]\");\n return wallet;\n }\n /**\n * Creates (asynchronously) a **Wallet** by decrypting the %%json%%\n * with %%password%%.\n *\n * If %%progress%% is provided, it is called periodically during\n * decryption so that any UI can be updated.\n */\n static async fromEncryptedJson(json, password, progress) {\n let account = null;\n if (isKeystoreJson(json)) {\n account = await decryptKeystoreJson(json, password, progress);\n }\n else if (isCrowdsaleJson(json)) {\n if (progress) {\n progress(0);\n await stall(0);\n }\n account = decryptCrowdsaleJson(json, password);\n if (progress) {\n progress(1);\n await stall(0);\n }\n }\n return Wallet.#fromAccount(account);\n }\n /**\n * Creates a **Wallet** by decrypting the %%json%% with %%password%%.\n *\n * The [[fromEncryptedJson]] method is preferred, as this method\n * will lock up and freeze the UI during decryption, which may take\n * some time.\n */\n static fromEncryptedJsonSync(json, password) {\n let account = null;\n if (isKeystoreJson(json)) {\n account = decryptKeystoreJsonSync(json, password);\n }\n else if (isCrowdsaleJson(json)) {\n account = decryptCrowdsaleJson(json, password);\n }\n else {\n assertArgument(false, \"invalid JSON wallet\", \"json\", \"[ REDACTED ]\");\n }\n return Wallet.#fromAccount(account);\n }\n /**\n * Creates a new random [[HDNodeWallet]] using the available\n * [cryptographic random source](randomBytes).\n *\n * If there is no crytographic random source, this will throw.\n */\n static createRandom(provider) {\n const wallet = HDNodeWallet.createRandom();\n if (provider) {\n return wallet.connect(provider);\n }\n return wallet;\n }\n /**\n * Creates a [[HDNodeWallet]] for %%phrase%%.\n */\n static fromPhrase(phrase, provider) {\n const wallet = HDNodeWallet.fromPhrase(phrase);\n if (provider) {\n return wallet.connect(provider);\n }\n return wallet;\n }\n}\n//# sourceMappingURL=wallet.js.map","const Base64 = \")!@#$%^&*(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_\";\n/**\n * @_ignore\n */\nexport function decodeBits(width, data) {\n const maxValue = (1 << width) - 1;\n const result = [];\n let accum = 0, bits = 0, flood = 0;\n for (let i = 0; i < data.length; i++) {\n // Accumulate 6 bits of data\n accum = ((accum << 6) | Base64.indexOf(data[i]));\n bits += 6;\n // While we have enough for a word...\n while (bits >= width) {\n // ...read the word\n const value = (accum >> (bits - width));\n accum &= (1 << (bits - width)) - 1;\n bits -= width;\n // A value of 0 indicates we exceeded maxValue, it\n // floods over into the next value\n if (value === 0) {\n flood += maxValue;\n }\n else {\n result.push(value + flood);\n flood = 0;\n }\n }\n }\n return result;\n}\n//# sourceMappingURL=bit-reader.js.map","import { assertArgument } from \"../utils/index.js\";\nimport { decodeBits } from \"./bit-reader.js\";\nimport { decodeOwl } from \"./decode-owl.js\";\n/**\n * @_ignore\n */\nexport function decodeOwlA(data, accents) {\n let words = decodeOwl(data).join(\",\");\n // Inject the accents\n accents.split(/,/g).forEach((accent) => {\n const match = accent.match(/^([a-z]*)([0-9]+)([0-9])(.*)$/);\n assertArgument(match !== null, \"internal error parsing accents\", \"accents\", accents);\n let posOffset = 0;\n const positions = decodeBits(parseInt(match[3]), match[4]);\n const charCode = parseInt(match[2]);\n const regex = new RegExp(`([${match[1]}])`, \"g\");\n words = words.replace(regex, (all, letter) => {\n const rem = --positions[posOffset];\n if (rem === 0) {\n letter = String.fromCharCode(letter.charCodeAt(0), charCode);\n posOffset++;\n }\n return letter;\n });\n });\n return words.split(\",\");\n}\n//# sourceMappingURL=decode-owla.js.map","import { WordlistOwl } from \"./wordlist-owl.js\";\nimport { decodeOwlA } from \"./decode-owla.js\";\n/**\n * An OWL-A format Wordlist extends the OWL format to add an\n * overlay onto an OWL format Wordlist to support diacritic\n * marks.\n *\n * This class is generally not useful to most developers as\n * it is used mainly internally to keep Wordlists for languages\n * based on latin-1 small.\n *\n * If necessary, there are tools within the ``generation/`` folder\n * to create the necessary data.\n */\nexport class WordlistOwlA extends WordlistOwl {\n #accent;\n /**\n * Creates a new Wordlist for %%locale%% using the OWLA %%data%%\n * and %%accent%% data and validated against the %%checksum%%.\n */\n constructor(locale, data, accent, checksum) {\n super(locale, data, checksum);\n this.#accent = accent;\n }\n /**\n * The OWLA-encoded accent data.\n */\n get _accent() { return this.#accent; }\n /**\n * Decode all the words for the wordlist.\n */\n _decodeWords() {\n return decodeOwlA(this._data, this._accent);\n }\n}\n//# sourceMappingURL=wordlist-owla.js.map","import { LangEn } from \"./lang-en.js\";\nexport const wordlists = {\n en: LangEn.wordlist(),\n};\n//# sourceMappingURL=wordlists-browser.js.map","import type {\n Block,\n BlockTag,\n EthersError,\n InterfaceAbi,\n JsonRpcSigner,\n TransactionReceipt,\n TransactionResponse\n} from 'ethers'\nimport {\n ErrorTypeEnum,\n type BlockNumber,\n type ContractAddress,\n type PrivateKey,\n type TransactionId,\n type WalletAddress\n} from '@multiplechain/types'\nimport { sleep, checkWebSocket } from '@multiplechain/utils'\nimport type { EvmNetworkConfigInterface } from './Provider'\nimport type { TransactionData } from '../services/TransactionSigner'\nimport { Wallet, Contract, ContractFactory, JsonRpcProvider, WebSocketProvider } from 'ethers'\n\nexport type { EthersError } from 'ethers'\n\nexport class Ethers {\n /**\n * Network configuration of the provider\n */\n network: EvmNetworkConfigInterface\n\n /**\n * JSON RPC provider\n */\n jsonRpcProvider: JsonRpcProvider\n\n /**\n * WebSocket provider\n */\n webSocketProvider?: WebSocketProvider\n\n /**\n * @param network - Network configuration of the provider\n */\n constructor(network: EvmNetworkConfigInterface) {\n this.network = network\n this.jsonRpcProvider = new JsonRpcProvider(network.rpcUrl)\n }\n\n /**\n * @returns Ethers jsonRpc provider\n */\n public get jsonRpc(): JsonRpcProvider {\n return this.jsonRpcProvider\n }\n\n /**\n * @returns Ethers webSocket provider\n */\n public get webSocket(): WebSocketProvider | undefined {\n return this.webSocketProvider\n }\n\n /**\n * @returns Ethers webSocket provider\n */\n public async connectWebSocket(): Promise {\n return await new Promise((resolve, reject) => {\n if (this.network.wsUrl === undefined) {\n reject(new Error(ErrorTypeEnum.WS_URL_NOT_DEFINED))\n } else {\n const url = this.network.wsUrl\n checkWebSocket(url)\n .then((status: any) => {\n if (status instanceof Error) {\n reject(status)\n } else {\n resolve((this.webSocketProvider = new WebSocketProvider(url)))\n }\n })\n .catch(reject)\n }\n })\n }\n\n /**\n * @param address contract address\n * @param abi contract abi\n * @param signer signer of the contract\n * @returns contract instance\n */\n public contract(\n address: string,\n abi: InterfaceAbi,\n signer?: JsonRpcSigner | JsonRpcProvider\n ): Contract {\n return new Contract(address, abi, signer)\n }\n\n /**\n * @param privateKey private key of the wallet\n * @param provider provider of the blockchain network\n * @returns wallet instance\n */\n public wallet(privateKey: PrivateKey, provider?: JsonRpcProvider): Wallet {\n return new Wallet(privateKey, provider ?? this.jsonRpc)\n }\n\n /**\n * @param abi contract abi\n * @param bytecode contract bytecode\n * @param signer signer of the contract\n * @returns contract factory instance\n */\n public contractFactory(\n abi: InterfaceAbi,\n bytecode: string,\n signer?: JsonRpcSigner | JsonRpcProvider\n ): ContractFactory {\n return new ContractFactory(abi, bytecode, signer)\n }\n\n /**\n * @param address contract address\n * @returns contract bytecode\n */\n async getByteCode(address: ContractAddress): Promise {\n try {\n return await this.jsonRpc.getCode(address)\n } catch (error) {\n const e = error as EthersError\n if (e.code === 'UNCONFIGURED_NAME') {\n await sleep(1000)\n return await this.getByteCode(address)\n } else {\n throw error\n }\n }\n }\n\n /**\n * @param data transaction data\n * @returns transaction estimate gas\n */\n public async getEstimateGas(data: TransactionData): Promise {\n return Number(await this.jsonRpcProvider.estimateGas(data))\n }\n\n /**\n * @returns gas price\n */\n public async getGasPrice(): Promise {\n return (await this.jsonRpc.send('eth_gasPrice', [])).toString() as string\n }\n\n /**\n * @param address wallet address\n * @returns nonce of the wallet\n */\n public async getNonce(address: WalletAddress): Promise {\n return await this.jsonRpcProvider.getTransactionCount(address)\n }\n\n /**\n * @param block block number or block hash\n * @param prefetchTxs whether to prefetch transactions\n * @returns block information\n */\n public async getBlock(block: BlockTag | string, prefetchTxs?: boolean): Promise {\n return await this.jsonRpcProvider.getBlock(block, prefetchTxs)\n }\n\n /**\n * @returns block number\n */\n async getBlockNumber(): Promise {\n return await this.jsonRpcProvider.getBlockNumber()\n }\n\n /**\n * @param id transaction id\n * @returns transaction information\n */\n async getTransaction(id: TransactionId): Promise {\n return await this.jsonRpcProvider.getTransaction(id)\n }\n\n /**\n * @param id transaction id\n * @returns transaction receipt\n */\n async getTransactionReceipt(id: TransactionId): Promise {\n return await this.jsonRpcProvider.getTransactionReceipt(id)\n }\n\n /**\n * @param address wallet address\n * @param limit how many block to go back\n * @returns transactions\n */\n async getLastTransactions(\n address: WalletAddress,\n limit: number = 0\n ): Promise {\n const txPromises = []\n const blockPromises = []\n const transactions: TransactionResponse[] = []\n\n const block = await this.getBlock('pending')\n const blockNumber = block?.number ?? (await this.getBlockNumber())\n\n for (let i = blockNumber; i > blockNumber - limit; i--) {\n const block = await this.getBlock(i, true)\n if (block === null) {\n continue\n }\n blockPromises.push(block)\n }\n\n const blocks = await Promise.all(blockPromises)\n for (const block of blocks) {\n for (const txHash of block.transactions) {\n txPromises.push(this.getTransaction(txHash))\n }\n }\n\n const txs = await Promise.all(txPromises)\n for (const tx of txs) {\n if (\n tx?.from.toLowerCase() === address.toLowerCase() ||\n tx?.to?.toLowerCase() === address.toLowerCase()\n ) {\n transactions.push(tx)\n }\n }\n\n return transactions\n }\n\n /**\n * @param address wallet address\n * @param limit how many block to go back\n * @returns last transaction\n */\n async getLastTransaction(\n address: WalletAddress,\n limit: number = 0\n ): Promise {\n const block = await this.getBlock('pending')\n const blockNumber = block?.number ?? (await this.getBlockNumber())\n for (let i = blockNumber; i > blockNumber - limit; i--) {\n const block = await this.getBlock(i, true)\n if (block === null) {\n continue\n }\n for (const txId of block.transactions) {\n const tx = await this.getTransaction(txId)\n if (\n tx?.from.toLowerCase() === address.toLowerCase() ||\n tx?.to?.toLowerCase() === address.toLowerCase()\n ) {\n return tx\n }\n }\n }\n\n return null\n }\n\n /**\n * @param address wallet address\n * @returns balance of the wallet\n */\n async getBalance(address: WalletAddress): Promise {\n return await this.jsonRpcProvider.getBalance(address)\n }\n}\n","import axios from 'axios'\nimport { Ethers } from './Ethers'\nimport {\n ErrorTypeEnum,\n type NetworkConfigInterface,\n type ProviderInterface\n} from '@multiplechain/types'\n\nimport { checkWebSocket } from '@multiplechain/utils'\n\nexport interface EvmNetworkConfigInterface extends NetworkConfigInterface {\n id: number\n hexId?: string\n rpcUrl: string\n name?: string\n mainnetId?: number\n explorerUrl: string\n nativeCurrency: {\n name?: string\n symbol: string\n decimals: number\n }\n}\n\nexport class Provider implements ProviderInterface {\n /**\n * Network configuration of the provider\n */\n public network: EvmNetworkConfigInterface\n\n /**\n * Ethers service\n */\n public ethers: Ethers\n\n /**\n * Static instance of the provider\n */\n private static _instance: Provider\n\n /**\n * @param network - Network configuration of the provider\n */\n constructor(network: EvmNetworkConfigInterface) {\n this.update(network)\n }\n\n /**\n * Get the static instance of the provider\n * @returns Provider\n */\n static get instance(): Provider {\n if (Provider._instance === undefined) {\n throw new Error(ErrorTypeEnum.PROVIDER_IS_NOT_INITIALIZED)\n }\n return Provider._instance\n }\n\n /**\n * Initialize the static instance of the provider\n * @param network - Network configuration of the provider\n */\n static initialize(network: EvmNetworkConfigInterface): void {\n if (Provider._instance !== undefined) {\n throw new Error(ErrorTypeEnum.PROVIDER_IS_ALREADY_INITIALIZED)\n }\n Provider._instance = new Provider(network)\n }\n\n /**\n * Check RPC connection\n * @param url - RPC URL\n * @returns RPC connection status\n */\n async checkRpcConnection(url?: string): Promise {\n try {\n const response = await axios.post(url ?? this.network.rpcUrl, {\n jsonrpc: '2.0',\n method: 'eth_blockNumber',\n params: [],\n id: 1\n })\n\n if (response.status !== 200) {\n return new Error(response.statusText + ': ' + JSON.stringify(response.data))\n }\n\n return true\n } catch (error) {\n return error as any\n }\n }\n\n /**\n * Check WS connection\n * @param url - Websocket URL\n * @returns WS connection status\n */\n async checkWsConnection(url?: string): Promise {\n try {\n const result: any = await checkWebSocket(url ?? this.network.wsUrl ?? '')\n\n if (result instanceof Error) {\n return result\n }\n\n return true\n } catch (error) {\n return error as Error\n }\n }\n\n /**\n * Update network configuration of the provider\n * @param network - Network configuration of the provider\n */\n update(network: EvmNetworkConfigInterface): void {\n this.network = network\n Provider._instance = this\n this.ethers = new Ethers(network)\n }\n\n /**\n * Get the current network configuration is testnet or not\n * @returns Testnet status\n */\n isTestnet(): boolean {\n return this.network?.testnet ?? false\n }\n}\n","import {\n type WalletInterface,\n type WalletAdapterInterface,\n type WalletPlatformEnum,\n ErrorTypeEnum,\n type ConnectConfig,\n type UnknownConfig,\n type TransactionId,\n type SignedMessage,\n type WalletAddress\n} from '@multiplechain/types'\nimport { Provider } from '../services/Provider'\nimport type { EIP1193Provider } from './adapters/EIP6963'\nimport { toHex } from '@multiplechain/utils'\nimport type { TransactionSigner } from '../services/TransactionSigner'\n\nconst rejectMap = (error: any, reject: (a: any) => any): any => {\n console.error('MultipleChain EVM Wallet Error:', error)\n\n const errorMessage = String(error.message ?? '')\n if (\n errorMessage === 'Not supported chainId' ||\n errorMessage.includes('chain ID') ||\n errorMessage.includes('networkConfigurationId') ||\n errorMessage.includes('The Provider is not connected to the requested chain.')\n ) {\n return reject(new Error(ErrorTypeEnum.UNACCEPTED_CHAIN))\n } else if (\n error.code === 4001 ||\n error.error === 'Rejected by user' ||\n errorMessage === 'cancelled' ||\n errorMessage === 'User canceled' ||\n errorMessage === 'user reject this request' ||\n errorMessage === 'User rejected the transaction' ||\n errorMessage === 'An unexpected error occurred' ||\n errorMessage === 'User disapproved requested chains'\n ) {\n return reject(new Error(ErrorTypeEnum.WALLET_REQUEST_REJECTED))\n } else if (\n errorMessage.includes('User') ||\n errorMessage.includes('Rejected') ||\n errorMessage.includes('cancelled') ||\n errorMessage.includes('canceled') ||\n errorMessage.includes('rejected') ||\n errorMessage.includes('disapproved requested chains')\n ) {\n return reject(new Error(ErrorTypeEnum.WALLET_REQUEST_REJECTED))\n } else if (errorMessage.includes('Invalid RPC URL')) {\n return reject(new Error(ErrorTypeEnum.RPC_REQUEST_ERROR))\n } else if (\n error.code === -32000 ||\n errorMessage.includes('timeout') ||\n errorMessage.includes('request timed out')\n ) {\n return reject(new Error(ErrorTypeEnum.RPC_TIMEOUT))\n } else if (error.code === -32603 || error.code === -32602) {\n return reject(new Error(ErrorTypeEnum.TRANSACTION_CREATION_FAILED))\n } else if (error.code === -32601) {\n return reject(new Error(ErrorTypeEnum.RPC_REQUEST_ERROR))\n } else if (\n error.code === -32002 ||\n error.message === 'Already processing eth_requestAccounts. Please wait.'\n ) {\n return reject(new Error(ErrorTypeEnum.WALLET_ALREADY_PROCESSING))\n } else if (error.message === 'User closed modal') {\n return reject(new Error(ErrorTypeEnum.CLOSED_WALLETCONNECT_MODAL))\n } else if (error.message === 'transaction underpriced') {\n return reject(new Error(ErrorTypeEnum.TRANSACTION_CREATION_FAILED))\n }\n\n return reject(error)\n}\n\ntype WalletAdapter = WalletAdapterInterface & {\n provider?:\n | EIP1193Provider\n | { on: (eventName: string, callback: (...args: any[]) => void) => void }\n}\n\nexport interface RequestType {\n method: string\n params?: any[] | object\n}\n\nexport class Wallet implements WalletInterface {\n adapter: WalletAdapter\n\n walletProvider: EIP1193Provider\n\n networkProvider: Provider\n\n /**\n * @param adapter - Wallet adapter\n * @param provider - Blockchain network provider\n */\n constructor(adapter: WalletAdapter, provider?: Provider) {\n this.adapter = adapter\n this.networkProvider = provider ?? Provider.instance\n }\n\n /**\n * @param payload RequestType\n * @returns any\n */\n async request(payload: RequestType): Promise {\n const res = await this.walletProvider.request(payload)\n if (res?.error !== undefined) {\n const error = res.error as {\n code: number\n message: string\n }\n if (error.code === -32000) {\n throw new Error(ErrorTypeEnum.RPC_TIMEOUT)\n }\n throw new Error(error.message)\n }\n return res\n }\n\n /**\n * @returns Wallet ID\n */\n getId(): string {\n return this.adapter.id\n }\n\n /**\n * @returns Wallet name\n */\n getName(): string {\n return this.adapter.name\n }\n\n /**\n * @returns Wallet icon\n */\n getIcon(): string {\n return this.adapter.icon\n }\n\n /**\n * @returns Wallet platforms\n */\n getPlatforms(): WalletPlatformEnum[] {\n return this.adapter.platforms\n }\n\n /**\n * @returns Wallet download link\n */\n getDownloadLink(): string | undefined {\n return this.adapter.downloadLink\n }\n\n /**\n * @param url - Deep link URL\n * @param config - Deep link configuration\n * @returns Deep link\n */\n createDeepLink(url: string, config?: UnknownConfig): string | null {\n if (this.adapter.createDeepLink === undefined) {\n return null\n }\n\n return this.adapter.createDeepLink(url, config)\n }\n\n /**\n * @param config - Connection configuration\n * @returns WalletAddress\n */\n async connect(config?: ConnectConfig): Promise {\n return await new Promise((resolve, reject) => {\n this.adapter\n .connect(this.networkProvider, config)\n .then(async (provider) => {\n this.walletProvider = provider\n\n const chainId = await this.getChainId()\n\n if (this.networkProvider.network.id !== chainId) {\n reject(ErrorTypeEnum.UNACCEPTED_CHAIN)\n return\n }\n\n resolve(await this.getAddress())\n })\n .catch((error) => {\n const customReject = (error: any): void => {\n if (error.message === ErrorTypeEnum.WALLET_REQUEST_REJECTED) {\n reject(new Error(ErrorTypeEnum.WALLET_CONNECT_REJECTED))\n } else {\n reject(error)\n }\n }\n rejectMap(error, customReject)\n })\n })\n }\n\n /**\n * @returns boolean\n */\n async isDetected(): Promise {\n return await this.adapter.isDetected()\n }\n\n /**\n * @returns boolean\n */\n async isConnected(): Promise {\n return await this.adapter.isConnected()\n }\n\n /**\n * @returns number\n */\n async getChainId(): Promise {\n const chainId = await this.request({ method: 'eth_chainId' })\n return typeof chainId === 'number' ? chainId : parseInt(chainId as string, 16)\n }\n\n /**\n * @returns WalletAddress\n */\n async getAddress(): Promise {\n return (await this.walletProvider.request({ method: 'eth_accounts' }))[0]\n }\n\n /**\n * @param message - Message to sign\n * @returns SignedMessage\n */\n async signMessage(message: string): Promise {\n const address = await this.getAddress()\n return await new Promise((resolve, reject) => {\n this.walletProvider\n .request({\n method: 'personal_sign',\n params: [message, address]\n })\n .then((signature: string) => {\n resolve(signature)\n })\n .catch((error) => {\n rejectMap(error, reject)\n })\n })\n }\n\n /**\n * @param transactionSigner - Transaction signer\n * @returns TransactionId\n */\n async sendTransaction(transactionSigner: TransactionSigner): Promise {\n return await new Promise((resolve, reject) => {\n const data = transactionSigner.getRawData()\n data.gas = toHex(data.gasLimit as number)\n delete data.chainId\n delete data.nonce\n delete data.gasLimit\n delete data.gasPrice\n this.walletProvider\n .request({\n method: 'eth_sendTransaction',\n params: [data]\n })\n .then((txHash: string) => {\n resolve(txHash)\n })\n .catch((error) => {\n rejectMap(error, reject)\n })\n })\n }\n\n /**\n * @param eventName - Event name\n * @param callback - Event callback\n */\n on(eventName: string, callback: (...args: any[]) => void): void {\n if (this.adapter?.provider?.on !== undefined) {\n this.adapter.provider.on(eventName, callback)\n } else {\n this.walletProvider.on(eventName, callback)\n }\n }\n}\n","// src/arbitrum.ts\nvar arbitrum = {\n id: 42161,\n name: \"Arbitrum One\",\n network: \"arbitrum\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://arb-mainnet.g.alchemy.com/v2\"],\n webSocket: [\"wss://arb-mainnet.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://arbitrum-mainnet.infura.io/v3\"],\n webSocket: [\"wss://arbitrum-mainnet.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://arb1.arbitrum.io/rpc\"]\n },\n public: {\n http: [\"https://arb1.arbitrum.io/rpc\"]\n }\n },\n blockExplorers: {\n etherscan: { name: \"Arbiscan\", url: \"https://arbiscan.io\" },\n default: { name: \"Arbiscan\", url: \"https://arbiscan.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 7654707\n }\n }\n};\n\n// src/arbitrumGoerli.ts\nvar arbitrumGoerli = {\n id: 421613,\n name: \"Arbitrum Goerli\",\n network: \"arbitrum-goerli\",\n nativeCurrency: {\n name: \"Arbitrum Goerli Ether\",\n symbol: \"ETH\",\n decimals: 18\n },\n rpcUrls: {\n alchemy: {\n http: [\"https://arb-goerli.g.alchemy.com/v2\"],\n webSocket: [\"wss://arb-goerli.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://arbitrum-goerli.infura.io/v3\"],\n webSocket: [\"wss://arbitrum-goerli.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://goerli-rollup.arbitrum.io/rpc\"]\n },\n public: {\n http: [\"https://goerli-rollup.arbitrum.io/rpc\"]\n }\n },\n blockExplorers: {\n etherscan: { name: \"Arbiscan\", url: \"https://goerli.arbiscan.io/\" },\n default: { name: \"Arbiscan\", url: \"https://goerli.arbiscan.io/\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 88114\n }\n },\n testnet: true\n};\n\n// src/arbitrumNova.ts\nvar arbitrumNova = {\n id: 42170,\n name: \"Arbitrum Nova\",\n network: \"arbitrum-nova\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n blast: {\n http: [\"https://arbitrum-nova.public.blastapi.io\"],\n webSocket: [\"wss://arbitrum-nova.public.blastapi.io\"]\n },\n default: {\n http: [\"https://nova.arbitrum.io/rpc\"]\n },\n public: {\n http: [\"https://nova.arbitrum.io/rpc\"]\n }\n },\n blockExplorers: {\n etherscan: { name: \"Arbiscan\", url: \"https://nova.arbiscan.io\" },\n blockScout: {\n name: \"BlockScout\",\n url: \"https://nova-explorer.arbitrum.io/\"\n },\n default: { name: \"Arbiscan\", url: \"https://nova.arbiscan.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 1746963\n }\n }\n};\n\n// src/aurora.ts\nvar aurora = {\n id: 1313161554,\n name: \"Aurora\",\n network: \"aurora\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n infura: { http: [\"https://aurora-mainnet.infura.io/v3\"] },\n default: { http: [\"https://mainnet.aurora.dev\"] },\n public: { http: [\"https://mainnet.aurora.dev\"] }\n },\n blockExplorers: {\n etherscan: { name: \"Aurorascan\", url: \"https://aurorascan.dev\" },\n default: { name: \"Aurorascan\", url: \"https://aurorascan.dev\" }\n }\n};\n\n// src/auroraTestnet.ts\nvar auroraTestnet = {\n id: 1313161555,\n name: \"Aurora Testnet\",\n network: \"aurora-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n infura: { http: [\"https://aurora-testnet.infura.io/v3\"] },\n default: { http: [\"https://testnet.aurora.dev\"] },\n public: { http: [\"https://testnet.aurora.dev\"] }\n },\n blockExplorers: {\n etherscan: { name: \"Aurorascan\", url: \"https://testnet.aurorascan.dev\" },\n default: { name: \"Aurorascan\", url: \"https://testnet.aurorascan.dev\" }\n },\n testnet: true\n};\n\n// src/avalanche.ts\nvar avalanche = {\n id: 43114,\n name: \"Avalanche\",\n network: \"avalanche\",\n nativeCurrency: {\n decimals: 18,\n name: \"Avalanche\",\n symbol: \"AVAX\"\n },\n rpcUrls: {\n default: { http: [\"https://api.avax.network/ext/bc/C/rpc\"] },\n public: { http: [\"https://api.avax.network/ext/bc/C/rpc\"] }\n },\n blockExplorers: {\n etherscan: { name: \"SnowTrace\", url: \"https://snowtrace.io\" },\n default: { name: \"SnowTrace\", url: \"https://snowtrace.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 11907934\n }\n }\n};\n\n// src/avalancheFuji.ts\nvar avalancheFuji = {\n id: 43113,\n name: \"Avalanche Fuji\",\n network: \"avalanche-fuji\",\n nativeCurrency: {\n decimals: 18,\n name: \"Avalanche Fuji\",\n symbol: \"AVAX\"\n },\n rpcUrls: {\n default: { http: [\"https://api.avax-test.network/ext/bc/C/rpc\"] },\n public: { http: [\"https://api.avax-test.network/ext/bc/C/rpc\"] }\n },\n blockExplorers: {\n etherscan: { name: \"SnowTrace\", url: \"https://testnet.snowtrace.io\" },\n default: { name: \"SnowTrace\", url: \"https://testnet.snowtrace.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 7096959\n }\n },\n testnet: true\n};\n\n// src/base.ts\nvar base = {\n id: 8453,\n network: \"base\",\n name: \"Base\",\n nativeCurrency: { name: \"Base\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.base.org\"]\n },\n public: {\n http: [\"https://mainnet.base.org\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"Basescout\",\n url: \"https://base.blockscout.com\"\n },\n default: {\n name: \"Basescan\",\n url: \"https://basescan.org\"\n },\n etherscan: {\n name: \"Basescan\",\n url: \"https://basescan.org\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 5022\n }\n }\n};\n\n// src/baseGoerli.ts\nvar baseGoerli = {\n id: 84531,\n network: \"base-goerli\",\n name: \"Base Goerli\",\n nativeCurrency: { name: \"Base Goerli\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://goerli.base.org\"]\n },\n public: {\n http: [\"https://goerli.base.org\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Basescan\",\n url: \"https://goerli.basescan.org\"\n },\n default: {\n name: \"Basescan\",\n url: \"https://goerli.basescan.org\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 1376988\n }\n },\n testnet: true\n};\n\n// src/bearNetworkChainMainnet.ts\nvar bearNetworkChainMainnet = {\n id: 641230,\n name: \"Bear Network Chain Mainnet\",\n network: \"BearNetworkChainMainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"BearNetworkChain\",\n symbol: \"BRNKC\"\n },\n rpcUrls: {\n public: { http: [\"https://brnkc-mainnet.bearnetwork.net\"] },\n default: { http: [\"https://brnkc-mainnet.bearnetwork.net\"] }\n },\n blockExplorers: {\n default: { name: \"BrnkScan\", url: \"https://brnkscan.bearnetwork.net\" }\n }\n};\n\n// src/bearNetworkChainTestnet.ts\nvar bearNetworkChainTestnet = {\n id: 751230,\n name: \"Bear Network Chain Testnet\",\n network: \"BearNetworkChainTestnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"tBRNKC\",\n symbol: \"tBRNKC\"\n },\n rpcUrls: {\n public: { http: [\"https://brnkc-test.bearnetwork.net\"] },\n default: { http: [\"https://brnkc-test.bearnetwork.net\"] }\n },\n blockExplorers: {\n default: {\n name: \"BrnkTestScan\",\n url: \"https://brnktest-scan.bearnetwork.net\"\n }\n },\n testnet: true\n};\n\n// src/boba.ts\nvar boba = {\n id: 288,\n name: \"Boba Network\",\n network: \"boba\",\n nativeCurrency: {\n decimals: 18,\n name: \"Boba\",\n symbol: \"BOBA\"\n },\n rpcUrls: {\n default: { http: [\"https://mainnet.boba.network\"] },\n public: { http: [\"https://mainnet.boba.network\"] }\n },\n blockExplorers: {\n etherscan: { name: \"BOBAScan\", url: \"https://bobascan.com\" },\n default: { name: \"BOBAScan\", url: \"https://bobascan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 446859\n }\n }\n};\n\n// src/bronos.ts\nvar bronos = {\n id: 1039,\n name: \"Bronos\",\n network: \"bronos\",\n nativeCurrency: {\n decimals: 18,\n name: \"BRO\",\n symbol: \"BRO\"\n },\n rpcUrls: {\n default: { http: [\"https://evm.bronos.org\"] },\n public: { http: [\"https://evm.bronos.org\"] }\n },\n blockExplorers: {\n default: { name: \"BronoScan\", url: \"https://broscan.bronos.org\" }\n }\n};\n\n// src/bronosTestnet.ts\nvar bronosTestnet = {\n id: 1038,\n name: \"Bronos Testnet\",\n network: \"bronos-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Bronos Coin\",\n symbol: \"tBRO\"\n },\n rpcUrls: {\n default: { http: [\"https://evm-testnet.bronos.org\"] },\n public: { http: [\"https://evm-testnet.bronos.org\"] }\n },\n blockExplorers: {\n default: { name: \"BronoScan\", url: \"https://tbroscan.bronos.org\" }\n },\n testnet: true\n};\n\n// src/bsc.ts\nvar bsc = {\n id: 56,\n name: \"BNB Smart Chain\",\n network: \"bsc\",\n nativeCurrency: {\n decimals: 18,\n name: \"BNB\",\n symbol: \"BNB\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.ankr.com/bsc\"] },\n public: { http: [\"https://rpc.ankr.com/bsc\"] }\n },\n blockExplorers: {\n etherscan: { name: \"BscScan\", url: \"https://bscscan.com\" },\n default: { name: \"BscScan\", url: \"https://bscscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 15921452\n }\n }\n};\n\n// src/bscTestnet.ts\nvar bscTestnet = {\n id: 97,\n name: \"Binance Smart Chain Testnet\",\n network: \"bsc-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"BNB\",\n symbol: \"tBNB\"\n },\n rpcUrls: {\n default: { http: [\"https://data-seed-prebsc-1-s1.binance.org:8545\"] },\n public: { http: [\"https://data-seed-prebsc-1-s1.binance.org:8545\"] }\n },\n blockExplorers: {\n etherscan: { name: \"BscScan\", url: \"https://testnet.bscscan.com\" },\n default: { name: \"BscScan\", url: \"https://testnet.bscscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 17422483\n }\n },\n testnet: true\n};\n\n// src/bxn.ts\nvar bxn = {\n id: 4999,\n name: \"BlackFort Exchange Network\",\n network: \"bxn\",\n nativeCurrency: { name: \"BlackFort Token\", symbol: \"BXN\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.blackfort.network/rpc\"]\n },\n public: {\n http: [\"https://mainnet.blackfort.network/rpc\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://explorer.blackfort.network\"\n }\n }\n};\n\n// src/bxnTestnet.ts\nvar bxnTestnet = {\n id: 4777,\n name: \"BlackFort Exchange Network Testnet\",\n network: \"bxnTestnet\",\n nativeCurrency: {\n name: \"BlackFort Testnet Token\",\n symbol: \"TBXN\",\n decimals: 18\n },\n rpcUrls: {\n default: {\n http: [\"https://testnet.blackfort.network/rpc\"]\n },\n public: {\n http: [\"https://testnet.blackfort.network/rpc\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://testnet-explorer.blackfort.network\"\n }\n }\n};\n\n// src/canto.ts\nvar canto = {\n id: 7700,\n name: \"Canto\",\n network: \"canto\",\n nativeCurrency: {\n decimals: 18,\n name: \"Canto\",\n symbol: \"CANTO\"\n },\n rpcUrls: {\n default: { http: [\"https://canto.gravitychain.io\"] },\n public: { http: [\"https://canto.gravitychain.io\"] }\n },\n blockExplorers: {\n default: {\n name: \"Tuber.Build (Blockscout)\",\n url: \"https://tuber.build\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 2905789\n }\n }\n};\n\n// src/celo.ts\nvar celo = {\n id: 42220,\n name: \"Celo\",\n network: \"celo\",\n nativeCurrency: {\n decimals: 18,\n name: \"CELO\",\n symbol: \"CELO\"\n },\n rpcUrls: {\n default: { http: [\"https://forno.celo.org\"] },\n infura: {\n http: [\"https://celo-mainnet.infura.io/v3\"]\n },\n public: {\n http: [\"https://forno.celo.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Celo Explorer\",\n url: \"https://explorer.celo.org/mainnet\"\n },\n etherscan: { name: \"CeloScan\", url: \"https://celoscan.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 13112599\n }\n },\n testnet: false\n};\n\n// src/celoAlfajores.ts\nvar celoAlfajores = {\n id: 44787,\n name: \"Alfajores\",\n network: \"celo-alfajores\",\n nativeCurrency: {\n decimals: 18,\n name: \"CELO\",\n symbol: \"A-CELO\"\n },\n rpcUrls: {\n default: {\n http: [\"https://alfajores-forno.celo-testnet.org\"]\n },\n infura: {\n http: [\"https://celo-alfajores.infura.io/v3\"]\n },\n public: {\n http: [\"https://alfajores-forno.celo-testnet.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Celo Explorer\",\n url: \"https://explorer.celo.org/alfajores\"\n },\n etherscan: { name: \"CeloScan\", url: \"https://alfajores.celoscan.io/\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 14569001\n }\n },\n testnet: true\n};\n\n// src/celoCannoli.ts\nvar celoCannoli = {\n id: 17323,\n name: \"Cannoli\",\n network: \"celo-cannoli\",\n nativeCurrency: {\n decimals: 18,\n name: \"CELO\",\n symbol: \"C-CELO\"\n },\n rpcUrls: {\n default: {\n http: [\"https://forno.cannoli.celo-testnet.org\"]\n },\n public: {\n http: [\"https://forno.cannoli.celo-testnet.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Celo Explorer\",\n url: \"https://explorer.celo.org/cannoli\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0x5Acb0aa8BF4E8Ff0d882Ee187140713C12BF9718\",\n blockCreated: 87429\n }\n },\n testnet: true\n};\n\n// src/classic.ts\nvar classic = {\n id: 61,\n name: \"Ethereum Classic\",\n network: \"classic\",\n nativeCurrency: {\n decimals: 18,\n name: \"ETC\",\n symbol: \"ETC\"\n },\n rpcUrls: {\n default: { http: [\"https://etc.rivet.link\"] },\n public: { http: [\"https://etc.rivet.link\"] }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://blockscout.com/etc/mainnet\"\n }\n }\n};\n\n// src/confluxESpace.ts\nvar confluxESpace = {\n id: 1030,\n name: \"Conflux eSpace\",\n network: \"cfx-espace\",\n nativeCurrency: { name: \"Conflux\", symbol: \"CFX\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://evm.confluxrpc.org\"]\n },\n public: {\n http: [\"https://evm.confluxrpc.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"ConfluxScan\",\n url: \"https://evm.confluxscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xEFf0078910f638cd81996cc117bccD3eDf2B072F\",\n blockCreated: 68602935\n }\n }\n};\n\n// src/cronos.ts\nvar cronos = {\n id: 25,\n name: \"Cronos Mainnet\",\n network: \"cronos\",\n nativeCurrency: {\n decimals: 18,\n name: \"Cronos\",\n symbol: \"CRO\"\n },\n rpcUrls: {\n default: { http: [\"https://evm.cronos.org\"] },\n public: { http: [\"https://evm.cronos.org\"] }\n },\n blockExplorers: {\n default: { name: \"Cronoscan\", url: \"https://cronoscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 1963112\n }\n }\n};\n\n// src/cronosTestnet.ts\nvar cronosTestnet = {\n id: 338,\n name: \"Cronos Testnet\",\n network: \"cronos-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"CRO\",\n symbol: \"tCRO\"\n },\n rpcUrls: {\n default: { http: [\"https://evm-t3.cronos.org\"] },\n public: { http: [\"https://evm-t3.cronos.org\"] }\n },\n blockExplorers: {\n default: {\n name: \"Cronos Explorer\",\n url: \"https://cronos.org/explorer/testnet3\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 10191251\n }\n },\n testnet: true\n};\n\n// src/crossbell.ts\nvar crossbell = {\n id: 3737,\n network: \"crossbell\",\n name: \"Crossbell\",\n nativeCurrency: {\n decimals: 18,\n name: \"CSB\",\n symbol: \"CSB\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.crossbell.io\"]\n },\n public: {\n http: [\"https://rpc.crossbell.io\"]\n }\n },\n blockExplorers: {\n default: { name: \"CrossScan\", url: \"https://scan.crossbell.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xBB9759009cDaC82774EfC84D94cD9F7440f75Fcf\",\n blockCreated: 23499787\n }\n }\n};\n\n// src/dfk.ts\nvar dfk = {\n id: 53935,\n name: \"DFK Chain\",\n network: \"dfk\",\n nativeCurrency: {\n decimals: 18,\n name: \"Jewel\",\n symbol: \"JEWEL\"\n },\n rpcUrls: {\n default: {\n http: [\"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"]\n },\n public: {\n http: [\"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"DFKSubnetScan\",\n url: \"https://subnets.avax.network/defi-kingdoms\"\n },\n default: {\n name: \"DFKSubnetScan\",\n url: \"https://subnets.avax.network/defi-kingdoms\"\n }\n }\n};\n\n// src/dogechain.ts\nvar dogechain = {\n id: 2e3,\n name: \"Dogechain\",\n network: \"dogechain\",\n nativeCurrency: {\n decimals: 18,\n name: \"Dogechain\",\n symbol: \"DC\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.dogechain.dog\"] },\n public: { http: [\"https://rpc.dogechain.dog\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"DogeChainExplorer\",\n url: \"https://explorer.dogechain.dog\"\n },\n default: {\n name: \"DogeChainExplorer\",\n url: \"https://explorer.dogechain.dog\"\n }\n }\n};\n\n// src/edgeware.ts\nvar edgeware = {\n id: 2021,\n name: \"Edgeware EdgeEVM Mainnet\",\n network: \"edgeware\",\n nativeCurrency: {\n decimals: 18,\n name: \"Edgeware\",\n symbol: \"EDG\"\n },\n rpcUrls: {\n default: { http: [\"https://edgeware-evm.jelliedowl.net\"] },\n public: { http: [\"https://edgeware-evm.jelliedowl.net\"] }\n },\n blockExplorers: {\n etherscan: { name: \"Edgscan by Bharathcoorg\", url: \"https://edgscan.live\" },\n default: { name: \"Edgscan by Bharathcoorg\", url: \"https://edgscan.live\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 18117872\n }\n }\n};\n\n// src/edgewareTestnet.ts\nvar edgewareTestnet = {\n id: 2022,\n name: \"Beresheet BereEVM Testnet\",\n network: \"edgewareTestnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Testnet EDG\",\n symbol: \"tEDG\"\n },\n rpcUrls: {\n default: { http: [\"https://beresheet-evm.jelliedowl.net\"] },\n public: { http: [\"https://beresheet-evm.jelliedowl.net\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"Edgscan by Bharathcoorg\",\n url: \"https://testnet.edgscan.live\"\n },\n default: {\n name: \"Edgscan by Bharathcoorg\",\n url: \"https://testnet.edgscan.live\"\n }\n }\n};\n\n// src/emerald.ts\nvar emerald = {\n id: 42262,\n name: \"Oasis Emerald\",\n network: \"emerald\",\n nativeCurrency: {\n decimals: 18,\n name: \"Oasis ROSE\",\n symbol: \"ROSE\"\n },\n rpcUrls: {\n default: {\n http: [\"https://emerald.oasis.dev\"],\n webSocket: [\"wss://emerald.oasis.dev/ws\"]\n },\n public: {\n http: [\"https://emerald.oasis.dev\"],\n webSocket: [\"wss://emerald.oasis.dev/ws\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Oasis Explorer\",\n url: \"https://explorer.emerald.oasis.dev\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 1481392\n }\n }\n};\n\n// src/eos.ts\nvar eos = {\n id: 17777,\n name: \"EOS EVM\",\n network: \"eos\",\n nativeCurrency: {\n decimals: 18,\n name: \"EOS\",\n symbol: \"EOS\"\n },\n rpcUrls: {\n default: { http: [\"https://api.evm.eosnetwork.com\"] },\n public: { http: [\"https://api.evm.eosnetwork.com\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"EOS EVM Explorer\",\n url: \"https://explorer.evm.eosnetwork.com\"\n },\n default: {\n name: \"EOS EVM Explorer\",\n url: \"https://explorer.evm.eosnetwork.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 7943933\n }\n }\n};\n\n// src/eosTestnet.ts\nvar eosTestnet = {\n id: 15557,\n name: \"EOS EVM Testnet\",\n network: \"eos\",\n nativeCurrency: {\n decimals: 18,\n name: \"EOS\",\n symbol: \"EOS\"\n },\n rpcUrls: {\n default: { http: [\"https://api.testnet.evm.eosnetwork.com\"] },\n public: { http: [\"https://api.testnet.evm.eosnetwork.com\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"EOS EVM Testnet Explorer\",\n url: \"https://explorer.testnet.evm.eosnetwork.com\"\n },\n default: {\n name: \"EOS EVM Testnet Explorer\",\n url: \"https://explorer.testnet.evm.eosnetwork.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 9067940\n }\n },\n testnet: true\n};\n\n// src/evmos.ts\nvar evmos = {\n id: 9001,\n name: \"Evmos\",\n network: \"evmos\",\n nativeCurrency: {\n decimals: 18,\n name: \"Evmos\",\n symbol: \"EVMOS\"\n },\n rpcUrls: {\n default: { http: [\"https://eth.bd.evmos.org:8545\"] },\n public: { http: [\"https://eth.bd.evmos.org:8545\"] }\n },\n blockExplorers: {\n default: { name: \"Evmos Block Explorer\", url: \"https://escan.live\" }\n }\n};\n\n// src/evmosTestnet.ts\nvar evmosTestnet = {\n id: 9e3,\n name: \"Evmos Testnet\",\n network: \"evmos-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Evmos\",\n symbol: \"EVMOS\"\n },\n rpcUrls: {\n default: { http: [\"https://eth.bd.evmos.dev:8545\"] },\n public: { http: [\"https://eth.bd.evmos.dev:8545\"] }\n },\n blockExplorers: {\n default: {\n name: \"Evmos Testnet Block Explorer\",\n url: \"https://evm.evmos.dev/\"\n }\n }\n};\n\n// src/ekta.ts\nvar ekta = {\n id: 1994,\n name: \"Ekta\",\n network: \"ekta\",\n nativeCurrency: {\n decimals: 18,\n name: \"EKTA\",\n symbol: \"EKTA\"\n },\n rpcUrls: {\n public: { http: [\"https://main.ekta.io\"] },\n default: { http: [\"https://main.ekta.io\"] }\n },\n blockExplorers: {\n default: { name: \"Ektascan\", url: \"https://ektascan.io\" }\n }\n};\n\n// src/ektaTestnet.ts\nvar ektaTestnet = {\n id: 1004,\n name: \"Ekta Testnet\",\n network: \"ekta-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"EKTA\",\n symbol: \"EKTA\"\n },\n rpcUrls: {\n public: { http: [\"https://test.ekta.io:8545\"] },\n default: { http: [\"https://test.ekta.io:8545\"] }\n },\n blockExplorers: {\n default: { name: \"Test Ektascan\", url: \"https://test.ektascan.io\" }\n },\n testnet: true\n};\n\n// src/ewc.ts\nvar ewc = {\n id: 246,\n name: \"Energy Web Chain\",\n network: \"ewc\",\n nativeCurrency: { name: \"EWT\", symbol: \"EWT\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.energyweb.org\"]\n },\n public: {\n http: [\"https://rpc.energyweb.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Energy Web Chain Explorer\",\n url: \"https://explorer.energyweb.org\"\n }\n },\n contracts: {\n ensRegistry: {\n address: \"0x0A6d64413c07E10E890220BBE1c49170080C6Ca0\"\n }\n }\n};\n\n// src/fantom.ts\nvar fantom = {\n id: 250,\n name: \"Fantom\",\n network: \"fantom\",\n nativeCurrency: {\n decimals: 18,\n name: \"Fantom\",\n symbol: \"FTM\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.ankr.com/fantom\"] },\n public: { http: [\"https://rpc.ankr.com/fantom\"] }\n },\n blockExplorers: {\n etherscan: { name: \"FTMScan\", url: \"https://ftmscan.com\" },\n default: { name: \"FTMScan\", url: \"https://ftmscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 33001987\n }\n }\n};\n\n// src/fantomTestnet.ts\nvar fantomTestnet = {\n id: 4002,\n name: \"Fantom Testnet\",\n network: \"fantom-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Fantom\",\n symbol: \"FTM\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.testnet.fantom.network\"] },\n public: { http: [\"https://rpc.testnet.fantom.network\"] }\n },\n blockExplorers: {\n etherscan: { name: \"FTMScan\", url: \"https://testnet.ftmscan.com\" },\n default: { name: \"FTMScan\", url: \"https://testnet.ftmscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 8328688\n }\n }\n};\n\n// src/fibo.ts\nvar fibo = {\n id: 12306,\n name: \"Fibo Chain\",\n network: \"fibochain\",\n nativeCurrency: {\n decimals: 18,\n name: \"fibo\",\n symbol: \"FIBO\"\n },\n rpcUrls: {\n default: { http: [\"https://network.hzroc.art\"] },\n public: { http: [\"https://network.hzroc.art\"] }\n },\n blockExplorers: {\n default: { name: \"FiboScan\", url: \"https://scan.fibochain.org\" }\n }\n};\n\n// src/filecoin.ts\nvar filecoin = {\n id: 314,\n name: \"Filecoin Mainnet\",\n network: \"filecoin-mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"filecoin\",\n symbol: \"FIL\"\n },\n rpcUrls: {\n default: { http: [\"https://api.node.glif.io/rpc/v1\"] },\n public: { http: [\"https://api.node.glif.io/rpc/v1\"] }\n },\n blockExplorers: {\n default: { name: \"Filfox\", url: \"https://filfox.info/en\" },\n filscan: { name: \"Filscan\", url: \"https://filscan.io\" },\n filscout: { name: \"Filscout\", url: \"https://filscout.io/en\" },\n glif: { name: \"Glif\", url: \"https://explorer.glif.io\" }\n }\n};\n\n// src/filecoinCalibration.ts\nvar filecoinCalibration = {\n id: 314159,\n name: \"Filecoin Calibration\",\n network: \"filecoin-calibration\",\n nativeCurrency: {\n decimals: 18,\n name: \"testnet filecoin\",\n symbol: \"tFIL\"\n },\n rpcUrls: {\n default: { http: [\"https://api.calibration.node.glif.io/rpc/v1\"] },\n public: { http: [\"https://api.calibration.node.glif.io/rpc/v1\"] }\n },\n blockExplorers: {\n default: { name: \"Filscan\", url: \"https://calibration.filscan.io\" }\n }\n};\n\n// src/filecoinHyperspace.ts\nvar filecoinHyperspace = {\n id: 3141,\n name: \"Filecoin Hyperspace\",\n network: \"filecoin-hyperspace\",\n nativeCurrency: {\n decimals: 18,\n name: \"testnet filecoin\",\n symbol: \"tFIL\"\n },\n rpcUrls: {\n default: { http: [\"https://api.hyperspace.node.glif.io/rpc/v1\"] },\n public: { http: [\"https://api.hyperspace.node.glif.io/rpc/v1\"] }\n },\n blockExplorers: {\n default: { name: \"Filfox\", url: \"https://hyperspace.filfox.info/en\" },\n filscan: { name: \"Filscan\", url: \"https://hyperspace.filscan.io\" }\n }\n};\n\n// src/flare.ts\nvar flare = {\n id: 14,\n name: \"Flare Mainnet\",\n network: \"flare-mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"flare\",\n symbol: \"FLR\"\n },\n rpcUrls: {\n default: { http: [\"https://flare-api.flare.network/ext/C/rpc\"] },\n public: { http: [\"https://flare-api.flare.network/ext/C/rpc\"] }\n },\n blockExplorers: {\n default: {\n name: \"Flare Explorer\",\n url: \"https://flare-explorer.flare.network\"\n }\n }\n};\n\n// src/flareTestnet.ts\nvar flareTestnet = {\n id: 114,\n name: \"Coston2\",\n network: \"coston2\",\n nativeCurrency: {\n decimals: 18,\n name: \"coston2flare\",\n symbol: \"C2FLR\"\n },\n rpcUrls: {\n default: { http: [\"https://coston2-api.flare.network/ext/C/rpc\"] },\n public: { http: [\"https://coston2-api.flare.network/ext/C/rpc\"] }\n },\n blockExplorers: {\n default: {\n name: \"Coston2 Explorer\",\n url: \"https://coston2-explorer.flare.network\"\n }\n },\n testnet: true\n};\n\n// src/foundry.ts\nvar foundry = {\n id: 31337,\n name: \"Foundry\",\n network: \"foundry\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: {\n http: [\"http://127.0.0.1:8545\"],\n webSocket: [\"ws://127.0.0.1:8545\"]\n },\n public: {\n http: [\"http://127.0.0.1:8545\"],\n webSocket: [\"ws://127.0.0.1:8545\"]\n }\n }\n};\n\n// src/fuse.ts\nvar fuse = {\n id: 122,\n name: \"Fuse\",\n network: \"fuse\",\n nativeCurrency: { name: \"Fuse\", symbol: \"FUSE\", decimals: 18 },\n rpcUrls: {\n default: { http: [\"https://rpc.fuse.io\"] },\n public: { http: [\"https://fuse-mainnet.chainstacklabs.com\"] }\n },\n blockExplorers: {\n default: { name: \"Fuse Explorer\", url: \"https://explorer.fuse.io\" }\n }\n};\n\n// src/fuseSparknet.ts\nvar fuseSparknet = {\n id: 123,\n name: \"Fuse Sparknet\",\n network: \"fuse\",\n nativeCurrency: { name: \"Spark\", symbol: \"SPARK\", decimals: 18 },\n rpcUrls: {\n default: { http: [\"https://rpc.fusespark.io\"] },\n public: { http: [\"https://rpc.fusespark.io\"] }\n },\n blockExplorers: {\n default: {\n name: \"Sparkent Explorer\",\n url: \"https://explorer.fusespark.io\"\n }\n }\n};\n\n// src/iotex.ts\nvar iotex = {\n id: 4689,\n name: \"IoTeX\",\n network: \"iotex\",\n nativeCurrency: {\n decimals: 18,\n name: \"IoTeX\",\n symbol: \"IOTX\"\n },\n rpcUrls: {\n default: {\n http: [\"https://babel-api.mainnet.iotex.io\"],\n webSocket: [\"wss://babel-api.mainnet.iotex.io\"]\n },\n public: {\n http: [\"https://babel-api.mainnet.iotex.io\"],\n webSocket: [\"wss://babel-api.mainnet.iotex.io\"]\n }\n },\n blockExplorers: {\n default: { name: \"IoTeXScan\", url: \"https://iotexscan.io\" }\n }\n};\n\n// src/iotexTestnet.ts\nvar iotexTestnet = {\n id: 4690,\n name: \"IoTeX Testnet\",\n network: \"iotex-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"IoTeX\",\n symbol: \"IOTX\"\n },\n rpcUrls: {\n default: {\n http: [\"https://babel-api.testnet.iotex.io\"],\n webSocket: [\"wss://babel-api.testnet.iotex.io\"]\n },\n public: {\n http: [\"https://babel-api.testnet.iotex.io\"],\n webSocket: [\"wss://babel-api.testnet.iotex.io\"]\n }\n },\n blockExplorers: {\n default: { name: \"IoTeXScan\", url: \"https://testnet.iotexscan.io\" }\n }\n};\n\n// src/gobi.ts\nvar gobi = {\n id: 1663,\n name: \"Horizen Gobi Testnet\",\n network: \"gobi\",\n nativeCurrency: {\n decimals: 18,\n name: \"Test ZEN\",\n symbol: \"tZEN\"\n },\n rpcUrls: {\n public: { http: [\"https://gobi-testnet.horizenlabs.io/ethv1\"] },\n default: { http: [\"https://gobi-testnet.horizenlabs.io/ethv1\"] }\n },\n blockExplorers: {\n default: { name: \"Gobi Explorer\", url: \"https://gobi-explorer.horizen.io\" }\n },\n contracts: {},\n testnet: true\n};\n\n// src/goerli.ts\nvar goerli = {\n id: 5,\n network: \"goerli\",\n name: \"Goerli\",\n nativeCurrency: { name: \"Goerli Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://eth-goerli.g.alchemy.com/v2\"],\n webSocket: [\"wss://eth-goerli.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://goerli.infura.io/v3\"],\n webSocket: [\"wss://goerli.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://rpc.ankr.com/eth_goerli\"]\n },\n public: {\n http: [\"https://rpc.ankr.com/eth_goerli\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://goerli.etherscan.io\"\n },\n default: {\n name: \"Etherscan\",\n url: \"https://goerli.etherscan.io\"\n }\n },\n contracts: {\n ensRegistry: {\n address: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"\n },\n ensUniversalResolver: {\n address: \"0x56522D00C410a43BFfDF00a9A569489297385790\",\n blockCreated: 8765204\n },\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 6507670\n }\n },\n testnet: true\n};\n\n// src/gnosis.ts\nvar gnosis = {\n id: 100,\n name: \"Gnosis\",\n network: \"gnosis\",\n nativeCurrency: {\n decimals: 18,\n name: \"Gnosis\",\n symbol: \"xDAI\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.gnosischain.com\"] },\n public: { http: [\"https://rpc.gnosischain.com\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"Gnosisscan\",\n url: \"https://gnosisscan.io\"\n },\n default: {\n name: \"Gnosis Chain Explorer\",\n url: \"https://blockscout.com/xdai/mainnet\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 21022491\n }\n }\n};\n\n// src/gnosisChiado.ts\nvar gnosisChiado = {\n id: 10200,\n name: \"Gnosis Chiado\",\n network: \"chiado\",\n nativeCurrency: {\n decimals: 18,\n name: \"Gnosis\",\n symbol: \"xDAI\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.chiadochain.net\"] },\n public: { http: [\"https://rpc.chiadochain.net\"] }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://blockscout.chiadochain.net\"\n }\n }\n};\n\n// src/hardhat.ts\nvar hardhat = {\n id: 31337,\n name: \"Hardhat\",\n network: \"hardhat\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: { http: [\"http://127.0.0.1:8545\"] },\n public: { http: [\"http://127.0.0.1:8545\"] }\n }\n};\n\n// src/harmonyOne.ts\nvar harmonyOne = {\n id: 16666e5,\n name: \"Harmony One\",\n network: \"harmony\",\n nativeCurrency: {\n name: \"Harmony\",\n symbol: \"ONE\",\n decimals: 18\n },\n rpcUrls: {\n public: { http: [\"https://rpc.ankr.com/harmony\"] },\n default: { http: [\"https://rpc.ankr.com/harmony\"] }\n },\n blockExplorers: {\n default: { name: \"Harmony Explorer\", url: \"https://explorer.harmony.one\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 24185753\n }\n }\n};\n\n// src/haqqMainnet.ts\nvar haqqMainnet = {\n id: 11235,\n name: \"HAQQ Mainnet\",\n network: \"haqq-mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Islamic Coin\",\n symbol: \"ISLM\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.eth.haqq.network\"]\n },\n public: {\n http: [\"https://rpc.eth.haqq.network\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"HAQQ Explorer\",\n url: \"https://explorer.haqq.network\"\n }\n }\n};\n\n// src/haqqTestedge2.ts\nvar haqqTestedge2 = {\n id: 54211,\n name: \"HAQQ Testedge 2\",\n network: \"haqq-testedge-2\",\n nativeCurrency: {\n decimals: 18,\n name: \"Islamic Coin\",\n symbol: \"ISLMT\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.eth.testedge2.haqq.network\"]\n },\n public: {\n http: [\"https://rpc.eth.testedge2.haqq.network\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"HAQQ Explorer\",\n url: \"https://explorer.testedge2.haqq.network\"\n }\n }\n};\n\n// src/klaytn.ts\nvar klaytn = {\n id: 8217,\n name: \"Klaytn\",\n network: \"klaytn\",\n nativeCurrency: {\n decimals: 18,\n name: \"Klaytn\",\n symbol: \"KLAY\"\n },\n rpcUrls: {\n default: { http: [\"https://cypress.fautor.app/archive\"] },\n public: { http: [\"https://cypress.fautor.app/archive\"] }\n },\n blockExplorers: {\n etherscan: { name: \"KlaytnScope\", url: \"https://scope.klaytn.com\" },\n default: { name: \"KlaytnScope\", url: \"https://scope.klaytn.com\" }\n }\n};\n\n// src/linea.ts\nvar linea = {\n id: 59144,\n name: \"Linea Mainnet\",\n network: \"linea-mainnet\",\n nativeCurrency: { name: \"Linea Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n infura: {\n http: [\"https://linea-mainnet.infura.io/v3\"],\n webSocket: [\"wss://linea-mainnet.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://rpc.linea.build\"],\n webSocket: [\"wss://rpc.linea.build\"]\n },\n public: {\n http: [\"https://rpc.linea.build\"],\n webSocket: [\"wss://rpc.linea.build\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Etherscan\",\n url: \"https://lineascan.build\"\n },\n etherscan: {\n name: \"Etherscan\",\n url: \"https://lineascan.build\"\n },\n blockscout: {\n name: \"Blockscout\",\n url: \"https://explorer.linea.build\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 42\n }\n },\n testnet: false\n};\n\n// src/lineaTestnet.ts\nvar lineaTestnet = {\n id: 59140,\n name: \"Linea Goerli Testnet\",\n network: \"linea-testnet\",\n nativeCurrency: { name: \"Linea Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n infura: {\n http: [\"https://linea-goerli.infura.io/v3\"],\n webSocket: [\"wss://linea-goerli.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://rpc.goerli.linea.build\"],\n webSocket: [\"wss://rpc.goerli.linea.build\"]\n },\n public: {\n http: [\"https://rpc.goerli.linea.build\"],\n webSocket: [\"wss://rpc.goerli.linea.build\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Etherscan\",\n url: \"https://goerli.lineascan.build\"\n },\n etherscan: {\n name: \"Etherscan\",\n url: \"https://goerli.lineascan.build\"\n },\n blockscout: {\n name: \"Blockscout\",\n url: \"https://explorer.goerli.linea.build\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 498623\n }\n },\n testnet: true\n};\n\n// src/localhost.ts\nvar localhost = {\n id: 1337,\n name: \"Localhost\",\n network: \"localhost\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: { http: [\"http://127.0.0.1:8545\"] },\n public: { http: [\"http://127.0.0.1:8545\"] }\n }\n};\n\n// src/mainnet.ts\nvar mainnet = {\n id: 1,\n network: \"homestead\",\n name: \"Ethereum\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://eth-mainnet.g.alchemy.com/v2\"],\n webSocket: [\"wss://eth-mainnet.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://mainnet.infura.io/v3\"],\n webSocket: [\"wss://mainnet.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://cloudflare-eth.com\"]\n },\n public: {\n http: [\"https://cloudflare-eth.com\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://etherscan.io\"\n },\n default: {\n name: \"Etherscan\",\n url: \"https://etherscan.io\"\n }\n },\n contracts: {\n ensRegistry: {\n address: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"\n },\n ensUniversalResolver: {\n address: \"0xc0497E381f536Be9ce14B0dD3817cBcAe57d2F62\",\n blockCreated: 16966585\n },\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 14353601\n }\n }\n};\n\n// src/mantle.ts\nvar mantle = {\n id: 5e3,\n name: \"Mantle\",\n network: \"mantle\",\n nativeCurrency: {\n decimals: 18,\n name: \"MNT\",\n symbol: \"MNT\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.mantle.xyz\"] },\n public: { http: [\"https://rpc.mantle.xyz\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"Mantle Explorer\",\n url: \"https://explorer.mantle.xyz\"\n },\n default: {\n name: \"Mantle Explorer\",\n url: \"https://explorer.mantle.xyz\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 304717\n }\n }\n};\n\n// src/mantleTestnet.ts\nvar mantleTestnet = {\n id: 5001,\n name: \"Mantle Testnet\",\n network: \"mantle\",\n nativeCurrency: {\n decimals: 18,\n name: \"MNT\",\n symbol: \"MNT\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.testnet.mantle.xyz\"] },\n public: { http: [\"https://rpc.testnet.mantle.xyz\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"Mantle Testnet Explorer\",\n url: \"https://explorer.testnet.mantle.xyz\"\n },\n default: {\n name: \"Mantle Testnet Explorer\",\n url: \"https://explorer.testnet.mantle.xyz\"\n }\n },\n testnet: true\n};\n\n// src/metis.ts\nvar metis = {\n id: 1088,\n name: \"Metis\",\n network: \"andromeda\",\n nativeCurrency: {\n decimals: 18,\n name: \"Metis\",\n symbol: \"METIS\"\n },\n rpcUrls: {\n default: { http: [\"https://andromeda.metis.io/?owner=1088\"] },\n public: { http: [\"https://andromeda.metis.io/?owner=1088\"] }\n },\n blockExplorers: {\n default: {\n name: \"Andromeda Explorer\",\n url: \"https://andromeda-explorer.metis.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 2338552\n }\n }\n};\n\n// src/metisGoerli.ts\nvar metisGoerli = {\n id: 599,\n name: \"Metis Goerli\",\n network: \"metis-goerli\",\n nativeCurrency: {\n decimals: 18,\n name: \"Metis Goerli\",\n symbol: \"METIS\"\n },\n rpcUrls: {\n default: { http: [\"https://goerli.gateway.metisdevops.link\"] },\n public: { http: [\"https://goerli.gateway.metisdevops.link\"] }\n },\n blockExplorers: {\n default: {\n name: \"Metis Goerli Explorer\",\n url: \"https://goerli.explorer.metisdevops.link\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 1006207\n }\n }\n};\n\n// src/mev.ts\nvar mev = {\n id: 7518,\n network: \"MEVerse\",\n name: \"MEVerse Chain Mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"MEVerse\",\n symbol: \"MEV\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.meversemainnet.io\"]\n },\n public: {\n http: [\"https://rpc.meversemainnet.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Explorer\",\n url: \"https://www.meversescan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 86881340\n }\n }\n};\n\n// src/mevTestnet.ts\nvar mevTestnet = {\n id: 4759,\n network: \"MEVerse Testnet\",\n name: \"MEVerse Chain Testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"MEVerse\",\n symbol: \"MEV\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.meversetestnet.io\"]\n },\n public: {\n http: [\"https://rpc.meversetestnet.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Explorer\",\n url: \"https://testnet.meversescan.io/\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 64371115\n }\n },\n testnet: true\n};\n\n// src/modeTestnet.ts\nvar modeTestnet = {\n id: 919,\n name: \"Mode Testnet\",\n network: \"mode-testnet\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://sepolia.mode.network\"]\n },\n public: {\n http: [\"https://sepolia.mode.network\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://sepolia.explorer.mode.network\"\n }\n },\n testnet: true\n};\n\n// src/moonbaseAlpha.ts\nvar moonbaseAlpha = {\n id: 1287,\n name: \"Moonbase Alpha\",\n network: \"moonbase-alpha\",\n nativeCurrency: {\n decimals: 18,\n name: \"DEV\",\n symbol: \"DEV\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.api.moonbase.moonbeam.network\"],\n webSocket: [\"wss://wss.api.moonbase.moonbeam.network\"]\n },\n public: {\n http: [\"https://rpc.api.moonbase.moonbeam.network\"],\n webSocket: [\"wss://wss.api.moonbase.moonbeam.network\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Moonscan\",\n url: \"https://moonbase.moonscan.io\"\n },\n etherscan: {\n name: \"Moonscan\",\n url: \"https://moonbase.moonscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 1850686\n }\n },\n testnet: true\n};\n\n// src/moonbeam.ts\nvar moonbeam = {\n id: 1284,\n name: \"Moonbeam\",\n network: \"moonbeam\",\n nativeCurrency: {\n decimals: 18,\n name: \"GLMR\",\n symbol: \"GLMR\"\n },\n rpcUrls: {\n public: {\n http: [\"https://moonbeam.public.blastapi.io\"],\n webSocket: [\"wss://moonbeam.public.blastapi.io\"]\n },\n default: {\n http: [\"https://moonbeam.public.blastapi.io\"],\n webSocket: [\"wss://moonbeam.public.blastapi.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Moonscan\",\n url: \"https://moonscan.io\"\n },\n etherscan: {\n name: \"Moonscan\",\n url: \"https://moonscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 609002\n }\n },\n testnet: false\n};\n\n// src/moonriver.ts\nvar moonriver = {\n id: 1285,\n name: \"Moonriver\",\n network: \"moonriver\",\n nativeCurrency: {\n decimals: 18,\n name: \"MOVR\",\n symbol: \"MOVR\"\n },\n rpcUrls: {\n public: {\n http: [\"https://moonriver.public.blastapi.io\"],\n webSocket: [\"wss://moonriver.public.blastapi.io\"]\n },\n default: {\n http: [\"https://moonriver.public.blastapi.io\"],\n webSocket: [\"wss://moonriver.public.blastapi.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Moonscan\",\n url: \"https://moonriver.moonscan.io\"\n },\n etherscan: {\n name: \"Moonscan\",\n url: \"https://moonriver.moonscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 1597904\n }\n },\n testnet: false\n};\n\n// src/neonDevnet.ts\nvar neonDevnet = {\n id: 245022926,\n network: \"neonDevnet\",\n name: \"Neon EVM DevNet\",\n nativeCurrency: { name: \"NEON\", symbol: \"NEON\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://devnet.neonevm.org\"]\n },\n public: {\n http: [\"https://devnet.neonevm.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Neonscan\",\n url: \"https://neonscan.org\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 205206112\n }\n },\n testnet: true\n};\n\n// src/nexi.ts\nvar nexi = {\n id: 4242,\n name: \"Nexi\",\n network: \"nexi\",\n nativeCurrency: { name: \"Nexi\", symbol: \"NEXI\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.chain.nexi.technology\"]\n },\n public: {\n http: [\"https://rpc.chain.nexi.technology\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"NexiScan\",\n url: \"https://www.nexiscan.com\"\n },\n default: {\n name: \"NexiScan\",\n url: \"https://www.nexiscan.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0x0277A46Cc69A57eE3A6C8c158bA874832F718B8E\",\n blockCreated: 25770160\n }\n }\n};\n\n// src/nexilix.ts\nvar nexilix = {\n id: 240,\n name: \"Nexilix Smart Chain\",\n network: \"nexilix\",\n nativeCurrency: {\n decimals: 18,\n name: \"Nexilix\",\n symbol: \"NEXILIX\"\n },\n rpcUrls: {\n default: { http: [\"https://rpcurl.pos.nexilix.com\"] },\n public: { http: [\"https://rpcurl.pos.nexilix.com\"] }\n },\n blockExplorers: {\n etherscan: { name: \"NexilixScan\", url: \"https://scan.nexilix.com\" },\n default: { name: \"NexilixScan\", url: \"https://scan.nexilix.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0x58381c8e2BF9d0C2C4259cA14BdA9Afe02831244\",\n blockCreated: 74448\n }\n }\n};\n\n// src/oasys.ts\nvar oasys = {\n id: 248,\n name: \"Oasys\",\n network: \"oasys\",\n nativeCurrency: { name: \"Oasys\", symbol: \"OAS\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.mainnet.oasys.games\"]\n },\n public: {\n http: [\"https://rpc.mainnet.oasys.games\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"OasysScan\",\n url: \"https://scan.oasys.games\"\n }\n }\n};\n\n// src/okc.ts\nvar okc = {\n id: 66,\n name: \"OKC\",\n network: \"okc\",\n nativeCurrency: {\n decimals: 18,\n name: \"OKT\",\n symbol: \"OKT\"\n },\n rpcUrls: {\n default: { http: [\"https://exchainrpc.okex.org\"] },\n public: { http: [\"https://exchainrpc.okex.org\"] }\n },\n blockExplorers: {\n default: { name: \"oklink\", url: \"https://www.oklink.com/okc\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 10364792\n }\n }\n};\n\n// src/optimism.ts\nvar optimism = {\n id: 10,\n name: \"OP Mainnet\",\n network: \"optimism\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://opt-mainnet.g.alchemy.com/v2\"],\n webSocket: [\"wss://opt-mainnet.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://optimism-mainnet.infura.io/v3\"],\n webSocket: [\"wss://optimism-mainnet.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://mainnet.optimism.io\"]\n },\n public: {\n http: [\"https://mainnet.optimism.io\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://optimistic.etherscan.io\"\n },\n default: {\n name: \"Optimism Explorer\",\n url: \"https://explorer.optimism.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 4286263\n }\n }\n};\n\n// src/optimismGoerli.ts\nvar optimismGoerli = {\n id: 420,\n name: \"Optimism Goerli\",\n network: \"optimism-goerli\",\n nativeCurrency: { name: \"Goerli Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://opt-goerli.g.alchemy.com/v2\"],\n webSocket: [\"wss://opt-goerli.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://optimism-goerli.infura.io/v3\"],\n webSocket: [\"wss://optimism-goerli.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://goerli.optimism.io\"]\n },\n public: {\n http: [\"https://goerli.optimism.io\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://goerli-optimism.etherscan.io\"\n },\n default: {\n name: \"Etherscan\",\n url: \"https://goerli-optimism.etherscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 49461\n }\n },\n testnet: true\n};\n\n// src/polygon.ts\nvar polygon = {\n id: 137,\n name: \"Polygon\",\n network: \"matic\",\n nativeCurrency: { name: \"MATIC\", symbol: \"MATIC\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://polygon-mainnet.g.alchemy.com/v2\"],\n webSocket: [\"wss://polygon-mainnet.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://polygon-mainnet.infura.io/v3\"],\n webSocket: [\"wss://polygon-mainnet.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://polygon-rpc.com\"]\n },\n public: {\n http: [\"https://polygon-rpc.com\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"PolygonScan\",\n url: \"https://polygonscan.com\"\n },\n default: {\n name: \"PolygonScan\",\n url: \"https://polygonscan.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 25770160\n }\n }\n};\n\n// src/polygonMumbai.ts\nvar polygonMumbai = {\n id: 80001,\n name: \"Polygon Mumbai\",\n network: \"maticmum\",\n nativeCurrency: { name: \"MATIC\", symbol: \"MATIC\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://polygon-mumbai.g.alchemy.com/v2\"],\n webSocket: [\"wss://polygon-mumbai.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://polygon-mumbai.infura.io/v3\"],\n webSocket: [\"wss://polygon-mumbai.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://matic-mumbai.chainstacklabs.com\"]\n },\n public: {\n http: [\"https://matic-mumbai.chainstacklabs.com\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"PolygonScan\",\n url: \"https://mumbai.polygonscan.com\"\n },\n default: {\n name: \"PolygonScan\",\n url: \"https://mumbai.polygonscan.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 25770160\n }\n },\n testnet: true\n};\n\n// src/polygonZkEvmTestnet.ts\nvar polygonZkEvmTestnet = {\n id: 1442,\n name: \"Polygon zkEVM Testnet\",\n network: \"polygon-zkevm-testnet\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.public.zkevm-test.net\"]\n },\n public: {\n http: [\"https://rpc.public.zkevm-test.net\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"Blockscout\",\n url: \"https://explorer.public.zkevm-test.net\"\n },\n default: {\n name: \"PolygonScan\",\n url: \"https://testnet-zkevm.polygonscan.com\"\n }\n },\n testnet: true,\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 525686\n }\n }\n};\n\n// src/polygonZkEvm.ts\nvar polygonZkEvm = {\n id: 1101,\n name: \"Polygon zkEVM\",\n network: \"polygon-zkevm\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://zkevm-rpc.com\"]\n },\n public: {\n http: [\"https://zkevm-rpc.com\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"PolygonScan\",\n url: \"https://zkevm.polygonscan.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 57746\n }\n }\n};\n\n// src/pulsechain.ts\nvar pulsechain = {\n id: 369,\n network: \"pulsechain\",\n name: \"PulseChain\",\n nativeCurrency: { name: \"Pulse\", symbol: \"PLS\", decimals: 18 },\n testnet: false,\n rpcUrls: {\n default: {\n http: [\"https://rpc.pulsechain.com\"],\n webSocket: [\"wss://ws.pulsechain.com\"]\n },\n public: {\n http: [\"https://rpc.pulsechain.com\"],\n webSocket: [\"wss://ws.pulsechain.com\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"PulseScan\",\n url: \"https://scan.pulsechain.com\"\n }\n },\n contracts: {\n ensRegistry: {\n address: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"\n },\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 14353601\n }\n }\n};\n\n// src/pulsechainV4.ts\nvar pulsechainV4 = {\n id: 943,\n network: \"pulsechainV4\",\n name: \"PulseChain V4\",\n testnet: true,\n nativeCurrency: { name: \"V4 Pulse\", symbol: \"v4PLS\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.v4.testnet.pulsechain.com\"],\n webSocket: [\"wss://ws.v4.testnet.pulsechain.com\"]\n },\n public: {\n http: [\"https://rpc.v4.testnet.pulsechain.com\"],\n webSocket: [\"wss://ws.v4.testnet.pulsechain.com\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"PulseScan\",\n url: \"https://scan.v4.testnet.pulsechain.com\"\n }\n },\n contracts: {\n ensRegistry: {\n address: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"\n },\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 14353601\n }\n }\n};\n\n// src/qMainnet.ts\nvar qMainnet = {\n id: 35441,\n name: \"Q Mainnet\",\n network: \"q-mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Q\",\n symbol: \"Q\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.q.org\"] },\n public: { http: [\"https://rpc.q.org\"] }\n },\n blockExplorers: {\n default: {\n name: \"Q Mainnet Explorer\",\n url: \"https://explorer.q.org\"\n }\n }\n};\n\n// src/qTestnet.ts\nvar qTestnet = {\n id: 35443,\n name: \"Q Testnet\",\n network: \"q-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Q\",\n symbol: \"Q\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.qtestnet.org\"] },\n public: { http: [\"https://rpc.qtestnet.org\"] }\n },\n blockExplorers: {\n default: {\n name: \"Q Testnet Explorer\",\n url: \"https://explorer.qtestnet.org\"\n }\n },\n testnet: true\n};\n\n// src/rollux.ts\nvar rollux = {\n id: 570,\n name: \"Rollux Mainnet\",\n network: \"rollux\",\n nativeCurrency: {\n decimals: 18,\n name: \"Syscoin\",\n symbol: \"SYS\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.rollux.com\"],\n webSocket: [\"wss://rpc.rollux.com/wss\"]\n },\n public: { http: [\"https://rollux.public-rpc.com\"] }\n },\n blockExplorers: {\n default: { name: \"RolluxExplorer\", url: \"https://explorer.rollux.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 119222\n }\n }\n};\n\n// src/rolluxTestnet.ts\nvar rolluxTestnet = {\n id: 57e3,\n name: \"Rollux Testnet\",\n network: \"rollux-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Syscoin\",\n symbol: \"SYS\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc-tanenbaum.rollux.com/\"],\n webSocket: [\"wss://rpc-tanenbaum.rollux.com/wss\"]\n },\n public: { http: [\"https://rpc-tanenbaum.rollux.com/\"] }\n },\n blockExplorers: {\n default: {\n name: \"RolluxTestnetExplorer\",\n url: \"https://rollux.tanenbaum.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 1813675\n }\n }\n};\n\n// src/ronin.ts\nvar ronin = {\n id: 2020,\n name: \"Ronin\",\n network: \"ronin\",\n nativeCurrency: { name: \"RON\", symbol: \"RON\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://api.roninchain.com/rpc\"]\n },\n public: {\n http: [\"https://api.roninchain.com/rpc\"]\n }\n },\n blockExplorers: {\n default: { name: \"Ronin Explorer\", url: \"https://app.roninchain.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 26023535\n }\n }\n};\n\n// src/saigon.ts\nvar saigon = {\n id: 2021,\n name: \"Saigon Testnet\",\n network: \"saigon\",\n nativeCurrency: { name: \"RON\", symbol: \"RON\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://saigon-testnet.roninchain.com/rpc\"]\n },\n public: {\n http: [\"https://saigon-testnet.roninchain.com/rpc\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Saigon Explorer\",\n url: \"https://saigon-explorer.roninchain.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 18736871\n }\n },\n testnet: true\n};\n\n// src/scrollSepolia.ts\nvar scrollSepolia = {\n id: 534351,\n name: \"Scroll Sepolia\",\n network: \"scroll-sepolia\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://sepolia-rpc.scroll.io\"],\n webSocket: [\"wss://sepolia-rpc.scroll.io/ws\"]\n },\n public: {\n http: [\"https://sepolia-rpc.scroll.io\"],\n webSocket: [\"wss://sepolia-rpc.scroll.io/ws\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://sepolia-blockscout.scroll.io\"\n }\n },\n testnet: true\n};\n\n// src/scrollTestnet.ts\nvar scrollTestnet = {\n id: 534353,\n name: \"Scroll Testnet\",\n network: \"scroll-testnet\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://alpha-rpc.scroll.io/l2\"],\n webSocket: [\"wss://alpha-rpc.scroll.io/l2/ws\"]\n },\n public: {\n http: [\"https://alpha-rpc.scroll.io/l2\"],\n webSocket: [\"wss://alpha-rpc.scroll.io/l2/ws\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://blockscout.scroll.io\"\n }\n },\n testnet: true\n};\n\n// src/sapphire.ts\nvar sapphire = {\n id: 23294,\n name: \"Oasis Sapphire\",\n network: \"sapphire\",\n nativeCurrency: {\n decimals: 18,\n name: \"Oasis ROSE\",\n symbol: \"ROSE\"\n },\n rpcUrls: {\n default: {\n http: [\"https://sapphire.oasis.io\"],\n webSocket: [\"wss://sapphire.oasis.io/ws\"]\n },\n public: {\n http: [\"https://sapphire.oasis.io\"],\n webSocket: [\"wss://sapphire.oasis.io/ws\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Oasis Explorer\",\n url: \"https://explorer.oasis.io/mainnet/sapphire\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 734531\n }\n }\n};\n\n// src/sapphireTestnet.ts\nvar sapphireTestnet = {\n id: 23295,\n name: \"Oasis Sapphire Testnet\",\n network: \"sapphireTestnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Oasis TEST\",\n symbol: \"TEST\"\n },\n rpcUrls: {\n default: {\n http: [\"https://testnet.sapphire.oasis.dev\"],\n webSocket: [\"wss://testnet.sapphire.oasis.dev/ws\"]\n },\n public: {\n http: [\"https://testnet.sapphire.oasis.dev\"],\n webSocket: [\"wss://testnet.sapphire.oasis.dev/ws\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Oasis Explorer\",\n url: \"https://explorer.oasis.io/testnet/sapphire\"\n }\n }\n};\n\n// src/sepolia.ts\nvar sepolia = {\n id: 11155111,\n network: \"sepolia\",\n name: \"Sepolia\",\n nativeCurrency: { name: \"Sepolia Ether\", symbol: \"SEP\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://eth-sepolia.g.alchemy.com/v2\"],\n webSocket: [\"wss://eth-sepolia.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://sepolia.infura.io/v3\"],\n webSocket: [\"wss://sepolia.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://rpc.sepolia.org\"]\n },\n public: {\n http: [\"https://rpc.sepolia.org\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://sepolia.etherscan.io\"\n },\n default: {\n name: \"Etherscan\",\n url: \"https://sepolia.etherscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 6507670\n }\n },\n testnet: true\n};\n\n// src/skale/brawl.ts\nvar skaleBlockBrawlers = {\n id: 391845894,\n name: \"SKALE | Block Brawlers\",\n network: \"skale-brawl\",\n nativeCurrency: { name: \"BRAWL\", symbol: \"BRAWL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/frayed-decent-antares\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/frayed-decent-antares\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/frayed-decent-antares\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/frayed-decent-antares\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://frayed-decent-antares.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://frayed-decent-antares.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/calypso.ts\nvar skaleCalypso = {\n id: 1564830818,\n name: \"SKALE | Calypso NFT Hub\",\n network: \"skale-calypso\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/honorable-steel-rasalhague\"],\n webSocket: [\n \"wss://mainnet.skalenodes.com/v1/ws/honorable-steel-rasalhague\"\n ]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/honorable-steel-rasalhague\"],\n webSocket: [\n \"wss://mainnet.skalenodes.com/v1/ws/honorable-steel-rasalhague\"\n ]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://honorable-steel-rasalhague.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://honorable-steel-rasalhague.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 3107626\n }\n }\n};\n\n// src/skale/calypsoTestnet.ts\nvar skaleCalypsoTestnet = {\n id: 344106930,\n name: \"SKALE | Calypso NFT Hub Testnet\",\n network: \"skale-calypso-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-utter-unripe-menkar\"\n ],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-utter-unripe-menkar\"\n ]\n },\n public: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-utter-unripe-menkar\"\n ],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-utter-unripe-menkar\"\n ]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://staging-utter-unripe-menkar.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-utter-unripe-menkar.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 2131424\n }\n },\n testnet: true\n};\n\n// src/skale/chaosTestnet.ts\nvar skaleChaosTestnet = {\n id: 1351057110,\n name: \"SKALE | Chaos Testnet\",\n network: \"skale-chaos-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-fast-active-bellatrix\"\n ],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-fast-active-bellatrix\"\n ]\n },\n public: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-fast-active-bellatrix\"\n ],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-fast-active-bellatrix\"\n ]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://staging-fast-active-bellatrix.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-fast-active-bellatrix.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 1192202\n }\n },\n testnet: true\n};\n\n// src/skale/cryptoBlades.ts\nvar skaleCryptoBlades = {\n id: 1026062157,\n name: \"SKALE | CryptoBlades\",\n network: \"skale-cryptoblades\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/affectionate-immediate-pollux\"],\n webSocket: [\n \"wss://mainnet.skalenodes.com/v1/ws/affectionate-immediate-pollux\"\n ]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/affectionate-immediate-pollux\"],\n webSocket: [\n \"wss://mainnet.skalenodes.com/v1/ws/affectionate-immediate-pollux\"\n ]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://affectionate-immediate-pollux.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://affectionate-immediate-pollux.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/cryptoColosseum.ts\nvar skaleCryptoColosseum = {\n id: 2046399126,\n name: \"SKALE | Crypto Colosseum\",\n network: \"skale-crypto-coloseeum\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/haunting-devoted-deneb\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/haunting-devoted-deneb\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/haunting-devoted-deneb\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/haunting-devoted-deneb\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://haunting-devoted-deneb.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://haunting-devoted-deneb.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/europa.ts\nvar skaleEuropa = {\n id: 2046399126,\n name: \"SKALE | Europa Liquidity Hub\",\n network: \"skale-europa\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/elated-tan-skat\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/elated-tan-skat\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/elated-tan-skat\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/elated-tan-skat\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://elated-tan-skat.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://elated-tan-skat.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 3113495\n }\n }\n};\n\n// src/skale/europaTestnet.ts\nvar skaleEuropaTestnet = {\n id: 476158412,\n name: \"SKALE | Europa Liquidity Hub Testnet\",\n network: \"skale-europa-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://staging-v3.skalenodes.com/v1/staging-legal-crazy-castor\"],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-legal-crazy-castor\"\n ]\n },\n public: {\n http: [\"https://staging-v3.skalenodes.com/v1/staging-legal-crazy-castor\"],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-legal-crazy-castor\"\n ]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://staging-legal-crazy-castor.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-legal-crazy-castor.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 2071911\n }\n },\n testnet: true\n};\n\n// src/skale/exorde.ts\nvar skaleExorde = {\n id: 2139927552,\n name: \"SKALE | Exorde\",\n network: \"skale-exorde\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/light-vast-diphda\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/light-vast-diphda\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/light-vast-diphda\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/light-vast-diphda\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://light-vast-diphda.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://light-vast-diphda.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/humanProtocol.ts\nvar skaleHumanProtocol = {\n id: 1273227453,\n name: \"SKALE | Human Protocol\",\n network: \"skale-human-protocol\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/wan-red-ain\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/wan-red-ain\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/wan-red-ain\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/wan-red-ain\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://wan-red-ain.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://wan-red-ain.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/nebula.ts\nvar skaleNebula = {\n id: 1482601649,\n name: \"SKALE | Nebula Gaming Hub\",\n network: \"skale-nebula\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/green-giddy-denebola\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/green-giddy-denebola\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/green-giddy-denebola\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/green-giddy-denebola\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://green-giddy-denebola.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://green-giddy-denebola.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 2372986\n }\n }\n};\n\n// src/skale/nebulaTestnet.ts\nvar skaleNebulaTestnet = {\n id: 503129905,\n name: \"SKALE | Nebula Gaming Hub Testnet\",\n network: \"skale-nebula-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://staging-v3.skalenodes.com/v1/staging-faint-slimy-achird\"],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-faint-slimy-achird\"\n ]\n },\n public: {\n http: [\"https://staging-v3.skalenodes.com/v1/staging-faint-slimy-achird\"],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-faint-slimy-achird\"\n ]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://staging-faint-slimy-achird.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-faint-slimy-achird.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 2205882\n }\n },\n testnet: true\n};\n\n// src/skale/razor.ts\nvar skaleRazor = {\n id: 278611351,\n name: \"SKALE | Razor Network\",\n network: \"skale-razor\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/turbulent-unique-scheat\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/turbulent-unique-scheat\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/turbulent-unique-scheat\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/turbulent-unique-scheat\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://turbulent-unique-scheat.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://turbulent-unique-scheat.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/titan.ts\nvar skaleTitan = {\n id: 1350216234,\n name: \"SKALE | Titan Community Hub\",\n network: \"skale-titan\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/parallel-stormy-spica\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/parallel-stormy-spica\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/parallel-stormy-spica\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/parallel-stormy-spica\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://parallel-stormy-spica.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://parallel-stormy-spica.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 2076458\n }\n }\n};\n\n// src/skale/titanTestnet.ts\nvar skaleTitanTestnet = {\n id: 1517929550,\n name: \"SKALE | Titan Community Hub Testnet\",\n network: \"skale-titan-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-aware-chief-gianfar\"\n ],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-aware-chief-gianfar\"\n ]\n },\n public: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-aware-chief-gianfar\"\n ],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-aware-chief-gianfar\"\n ]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://staging-aware-chief-gianfar.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-aware-chief-gianfar.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 2085155\n }\n },\n testnet: true\n};\n\n// src/songbird.ts\nvar songbird = {\n id: 19,\n name: \"Songbird Mainnet\",\n network: \"songbird-mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"songbird\",\n symbol: \"SGB\"\n },\n rpcUrls: {\n default: { http: [\"https://songbird-api.flare.network/ext/C/rpc\"] },\n public: { http: [\"https://songbird-api.flare.network/ext/C/rpc\"] }\n },\n blockExplorers: {\n default: {\n name: \"Songbird Explorer\",\n url: \"https://songbird-explorer.flare.network\"\n }\n }\n};\n\n// src/songbirdTestnet.ts\nvar songbirdTestnet = {\n id: 16,\n name: \"Coston\",\n network: \"coston\",\n nativeCurrency: {\n decimals: 18,\n name: \"costonflare\",\n symbol: \"CFLR\"\n },\n rpcUrls: {\n default: { http: [\"https://coston-api.flare.network/ext/C/rpc\"] },\n public: { http: [\"https://coston-api.flare.network/ext/C/rpc\"] }\n },\n blockExplorers: {\n default: {\n name: \"Coston Explorer\",\n url: \"https://coston-explorer.flare.network\"\n }\n },\n testnet: true\n};\n\n// src/shardeumSphinx.ts\nvar shardeumSphinx = {\n id: 8082,\n name: \"Shardeum Sphinx\",\n network: \"shmSphinx\",\n nativeCurrency: { name: \"SHARDEUM\", symbol: \"SHM\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://sphinx.shardeum.org\"]\n },\n public: {\n http: [\"https://sphinx.shardeum.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Shardeum Explorer\",\n url: \"https://explorer-sphinx.shardeum.org\"\n }\n },\n testnet: true\n};\n\n// src/syscoin.ts\nvar syscoin = {\n id: 57,\n name: \"Syscoin Mainnet\",\n network: \"syscoin\",\n nativeCurrency: {\n decimals: 18,\n name: \"Syscoin\",\n symbol: \"SYS\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.syscoin.org\"],\n webSocket: [\"wss://rpc.syscoin.org/wss\"]\n },\n public: {\n http: [\"https://rpc.syscoin.org\"],\n webSocket: [\"wss://rpc.syscoin.org/wss\"]\n }\n },\n blockExplorers: {\n default: { name: \"SyscoinExplorer\", url: \"https://explorer.syscoin.org\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 287139\n }\n }\n};\n\n// src/syscoinTestnet.ts\nvar syscoinTestnet = {\n id: 5700,\n name: \"Syscoin Tanenbaum Testnet\",\n network: \"syscoin-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Syscoin\",\n symbol: \"SYS\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.tanenbaum.io\"],\n webSocket: [\"wss://rpc.tanenbaum.io/wss\"]\n },\n public: {\n http: [\"https://rpc.tanenbaum.io\"],\n webSocket: [\"wss://rpc.tanenbaum.io/wss\"]\n }\n },\n blockExplorers: {\n default: { name: \"SyscoinTestnetExplorer\", url: \"https://tanenbaum.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 271288\n }\n }\n};\n\n// src/taraxa.ts\nvar taraxa = {\n id: 841,\n name: \"Taraxa Mainnet\",\n network: \"taraxa\",\n nativeCurrency: { name: \"Tara\", symbol: \"TARA\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.mainnet.taraxa.io\"]\n },\n public: {\n http: [\"https://rpc.mainnet.taraxa.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Taraxa Explorer\",\n url: \"https://explorer.mainnet.taraxa.io\"\n }\n }\n};\n\n// src/taikoTestnetSepolia.ts\nvar taikoTestnetSepolia = {\n id: 167005,\n name: \"Taiko (Alpha-3 Testnet)\",\n network: \"taiko-sepolia\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.test.taiko.xyz\"]\n },\n public: {\n http: [\"https://rpc.test.taiko.xyz\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"blockscout\",\n url: \"https://explorer.test.taiko.xyz\"\n }\n }\n};\n\n// src/taraxaTestnet.ts\nvar taraxaTestnet = {\n id: 842,\n name: \"Taraxa Testnet\",\n network: \"taraxa-testnet\",\n nativeCurrency: { name: \"Tara\", symbol: \"TARA\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.testnet.taraxa.io\"]\n },\n public: {\n http: [\"https://rpc.testnet.taraxa.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Taraxa Explorer\",\n url: \"https://explorer.testnet.taraxa.io\"\n }\n },\n testnet: true\n};\n\n// src/telos.ts\nvar telos = {\n id: 40,\n name: \"Telos\",\n network: \"telos\",\n nativeCurrency: {\n decimals: 18,\n name: \"Telos\",\n symbol: \"TLOS\"\n },\n rpcUrls: {\n default: { http: [\"https://mainnet.telos.net/evm\"] },\n public: { http: [\"https://mainnet.telos.net/evm\"] }\n },\n blockExplorers: {\n default: {\n name: \"Teloscan\",\n url: \"https://www.teloscan.io/\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 246530709\n }\n }\n};\n\n// src/telosTestnet.ts\nvar telosTestnet = {\n id: 41,\n name: \"Telos\",\n network: \"telosTestnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Telos\",\n symbol: \"TLOS\"\n },\n rpcUrls: {\n default: { http: [\"https://testnet.telos.net/evm\"] },\n public: { http: [\"https://testnet.telos.net/evm\"] }\n },\n blockExplorers: {\n default: {\n name: \"Teloscan (testnet)\",\n url: \"https://testnet.teloscan.io/\"\n }\n },\n testnet: true\n};\n\n// src/thunderTestnet.ts\nvar thunderTestnet = {\n id: 997,\n name: \"5ireChain Thunder Testnet\",\n network: \"5ireChain\",\n nativeCurrency: { name: \"5ire Token\", symbol: \"5IRE\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc-testnet.5ire.network\"]\n },\n public: {\n http: [\"https://rpc-testnet.5ire.network\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"5ireChain Explorer\",\n url: \"https://explorer.5ire.network\"\n }\n },\n testnet: true\n};\n\n// src/volta.ts\nvar volta = {\n id: 73799,\n name: \"Volta Chain\",\n network: \"volta\",\n nativeCurrency: { name: \"VT\", symbol: \"VT\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://volta-rpc.energyweb.org\"]\n },\n public: {\n http: [\"https://volta-rpc.energyweb.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Volta Explorer\",\n url: \"https://volta-explorer.energyweb.org\"\n }\n },\n contracts: {\n ensRegistry: {\n address: \"0xd7CeF70Ba7efc2035256d828d5287e2D285CD1ac\"\n }\n }\n};\n\n// src/wanchain.ts\nvar wanchain = {\n id: 888,\n name: \"Wanchain\",\n network: \"wanchain\",\n nativeCurrency: { name: \"WANCHAIN\", symbol: \"WAN\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\n \"https://gwan-ssl.wandevs.org:56891\",\n \"https://gwan2-ssl.wandevs.org\"\n ]\n },\n public: {\n http: [\n \"https://gwan-ssl.wandevs.org:56891\",\n \"https://gwan2-ssl.wandevs.org\"\n ]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"WanScan\",\n url: \"https://wanscan.org\"\n },\n default: {\n name: \"WanScan\",\n url: \"https://wanscan.org\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcDF6A1566e78EB4594c86Fe73Fcdc82429e97fbB\",\n blockCreated: 25312390\n }\n }\n};\n\n// src/wanchainTestnet.ts\nvar wanchainTestnet = {\n id: 999,\n name: \"Wanchain Testnet\",\n network: \"wanchainTestnet\",\n nativeCurrency: { name: \"WANCHAIN\", symbol: \"WANt\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://gwan-ssl.wandevs.org:46891\"]\n },\n public: {\n http: [\"https://gwan-ssl.wandevs.org:46891\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"WanScanTest\",\n url: \"https://wanscan.org\"\n },\n default: {\n name: \"WanScanTest\",\n url: \"https://wanscan.org\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0x11c89bF4496c39FB80535Ffb4c92715839CC5324\",\n blockCreated: 24743448\n }\n },\n testnet: true\n};\n\n// src/xdc.ts\nvar xdc = {\n id: 50,\n name: \"XinFin Network\",\n network: \"xdc\",\n nativeCurrency: {\n decimals: 18,\n name: \"XDC\",\n symbol: \"XDC\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.xinfin.network\"] },\n public: { http: [\"https://rpc.xinfin.network\"] }\n },\n blockExplorers: {\n xinfin: { name: \"XinFin\", url: \"https://explorer.xinfin.network\" },\n default: { name: \"Blocksscan\", url: \"https://xdc.blocksscan.io\" }\n }\n};\n\n// src/xdcTestnet.ts\nvar xdcTestnet = {\n id: 51,\n name: \"Apothem Network\",\n network: \"xdc-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"TXDC\",\n symbol: \"TXDC\"\n },\n rpcUrls: {\n default: { http: [\"https://erpc.apothem.network\"] },\n public: { http: [\"https://erpc.apothem.network\"] }\n },\n blockExplorers: {\n xinfin: { name: \"XinFin\", url: \"https://explorer.apothem.network\" },\n default: { name: \"Blocksscan\", url: \"https://apothem.blocksscan.io\" }\n }\n};\n\n// src/zhejiang.ts\nvar zhejiang = {\n id: 1337803,\n network: \"zhejiang\",\n name: \"Zhejiang\",\n nativeCurrency: { name: \"Zhejiang Ether\", symbol: \"ZhejETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.zhejiang.ethpandaops.io\"]\n },\n public: {\n http: [\"https://rpc.zhejiang.ethpandaops.io\"]\n }\n },\n blockExplorers: {\n beaconchain: {\n name: \"Etherscan\",\n url: \"https://zhejiang.beaconcha.in\"\n },\n blockscout: {\n name: \"Blockscout\",\n url: \"https://blockscout.com/eth/zhejiang-testnet\"\n },\n default: {\n name: \"Beaconchain\",\n url: \"https://zhejiang.beaconcha.in\"\n }\n },\n testnet: true\n};\n\n// src/zkSync.ts\nvar zkSync = {\n id: 324,\n name: \"zkSync Era\",\n network: \"zksync-era\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.era.zksync.io\"],\n webSocket: [\"wss://mainnet.era.zksync.io/ws\"]\n },\n public: {\n http: [\"https://mainnet.era.zksync.io\"],\n webSocket: [\"wss://mainnet.era.zksync.io/ws\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"zkExplorer\",\n url: \"https://explorer.zksync.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xF9cda624FBC7e059355ce98a31693d299FACd963\"\n }\n }\n};\n\n// src/zkSyncTestnet.ts\nvar zkSyncTestnet = {\n id: 280,\n name: \"zkSync Era Testnet\",\n network: \"zksync-era-testnet\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://testnet.era.zksync.dev\"],\n webSocket: [\"wss://testnet.era.zksync.dev/ws\"]\n },\n public: {\n http: [\"https://testnet.era.zksync.dev\"],\n webSocket: [\"wss://testnet.era.zksync.dev/ws\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"zkExplorer\",\n url: \"https://goerli.explorer.zksync.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xF9cda624FBC7e059355ce98a31693d299FACd963\"\n }\n },\n testnet: true\n};\n\n// src/zetachainAthensTestnet.ts\nvar zetachainAthensTestnet = {\n id: 7001,\n name: \"ZetaChain Athens Testnet\",\n network: \"zetachain-athens-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Zeta\",\n symbol: \"aZETA\"\n },\n rpcUrls: {\n public: {\n http: [\"https://zetachain-athens-evm.blockpi.network/v1/rpc/public\"]\n },\n default: {\n http: [\"https://zetachain-athens-evm.blockpi.network/v1/rpc/public\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"ZetaScan\",\n url: \"https://athens3.explorer.zetachain.com\"\n }\n },\n testnet: true\n};\n\n// src/zora.ts\nvar zora = {\n id: 7777777,\n name: \"Zora\",\n network: \"zora\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.zora.energy\"],\n webSocket: [\"wss://rpc.zora.energy\"]\n },\n public: {\n http: [\"https://rpc.zora.energy\"],\n webSocket: [\"wss://rpc.zora.energy\"]\n }\n },\n blockExplorers: {\n default: { name: \"Explorer\", url: \"https://explorer.zora.energy\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 5882\n }\n }\n};\n\n// src/zoraTestnet.ts\nvar zoraTestnet = {\n id: 999,\n name: \"Zora Goerli Testnet\",\n network: \"zora-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Zora Goerli\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: {\n http: [\"https://testnet.rpc.zora.energy\"],\n webSocket: [\"wss://testnet.rpc.zora.energy\"]\n },\n public: {\n http: [\"https://testnet.rpc.zora.energy\"],\n webSocket: [\"wss://testnet.rpc.zora.energy\"]\n }\n },\n blockExplorers: {\n default: { name: \"Explorer\", url: \"https://testnet.explorer.zora.energy\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 189123\n }\n },\n testnet: true\n};\nexport {\n arbitrum,\n arbitrumGoerli,\n arbitrumNova,\n aurora,\n auroraTestnet,\n avalanche,\n avalancheFuji,\n base,\n baseGoerli,\n bearNetworkChainMainnet,\n bearNetworkChainTestnet,\n boba,\n bronos,\n bronosTestnet,\n bsc,\n bscTestnet,\n bxn,\n bxnTestnet,\n canto,\n celo,\n celoAlfajores,\n celoCannoli,\n classic,\n confluxESpace,\n cronos,\n cronosTestnet,\n crossbell,\n dfk,\n dogechain,\n edgeware,\n edgewareTestnet,\n ekta,\n ektaTestnet,\n emerald,\n eos,\n eosTestnet,\n evmos,\n evmosTestnet,\n ewc,\n fantom,\n fantomTestnet,\n fibo,\n filecoin,\n filecoinCalibration,\n filecoinHyperspace,\n flare,\n flareTestnet,\n foundry,\n fuse,\n fuseSparknet,\n gnosis,\n gnosisChiado,\n gobi,\n goerli,\n haqqMainnet,\n haqqTestedge2,\n hardhat,\n harmonyOne,\n iotex,\n iotexTestnet,\n klaytn,\n linea,\n lineaTestnet,\n localhost,\n mainnet,\n mantle,\n mantleTestnet,\n metis,\n metisGoerli,\n mev,\n mevTestnet,\n modeTestnet,\n moonbaseAlpha,\n moonbeam,\n moonriver,\n neonDevnet,\n nexi,\n nexilix,\n oasys,\n okc,\n optimism,\n optimismGoerli,\n polygon,\n polygonMumbai,\n polygonZkEvm,\n polygonZkEvmTestnet,\n pulsechain,\n pulsechainV4,\n qMainnet,\n qTestnet,\n rollux,\n rolluxTestnet,\n ronin,\n saigon,\n sapphire,\n sapphireTestnet,\n scrollSepolia,\n scrollTestnet,\n sepolia,\n shardeumSphinx,\n skaleBlockBrawlers,\n skaleCalypso,\n skaleCalypsoTestnet,\n skaleChaosTestnet,\n skaleCryptoBlades,\n skaleCryptoColosseum,\n skaleEuropa,\n skaleEuropaTestnet,\n skaleExorde,\n skaleHumanProtocol,\n skaleNebula,\n skaleNebulaTestnet,\n skaleRazor,\n skaleTitan,\n skaleTitanTestnet,\n songbird,\n songbirdTestnet,\n syscoin,\n syscoinTestnet,\n taikoTestnetSepolia,\n taraxa,\n taraxaTestnet,\n telos,\n telosTestnet,\n thunderTestnet,\n volta,\n wanchain,\n wanchainTestnet,\n xdc,\n xdcTestnet,\n zetachainAthensTestnet,\n zhejiang,\n zkSync,\n zkSyncTestnet,\n zora,\n zoraTestnet\n};\n","import * as wagmiChains from '@wagmi/chains'\nimport type { EvmNetworkConfigInterface } from './Provider'\n\nconst networks: Record = {}\n\nfor (const key of Object.keys(wagmiChains)) {\n const wagmiChain: wagmiChains.Chain = wagmiChains[key as keyof typeof wagmiChains]\n\n let backupRpcUrl = ''\n if (wagmiChain.rpcUrls?.infura !== undefined) {\n backupRpcUrl = wagmiChain.rpcUrls.infura.http[0]\n } else if (wagmiChain.rpcUrls?.alchemy !== undefined) {\n backupRpcUrl = wagmiChain.rpcUrls.alchemy.http[0]\n }\n\n const network: EvmNetworkConfigInterface = {\n id: wagmiChain.id,\n name: wagmiChain.name,\n testnet: wagmiChain.testnet ?? false,\n nativeCurrency: wagmiChain.nativeCurrency,\n hexId: '0x' + Number(wagmiChain.id).toString(16),\n explorerUrl: wagmiChain.blockExplorers?.default.url ?? '',\n rpcUrl: wagmiChain.rpcUrls?.default.http[0] ?? backupRpcUrl\n }\n\n if (wagmiChain.rpcUrls?.default.webSocket !== undefined) {\n network.wsUrl = wagmiChain.rpcUrls.default.webSocket[0]\n }\n\n if (wagmiChain.rpcUrls?.infura?.webSocket !== undefined && network.wsUrl === undefined) {\n network.wsUrl = wagmiChain.rpcUrls.infura.webSocket[0]\n }\n\n if (wagmiChain.rpcUrls?.alchemy?.webSocket !== undefined && network.wsUrl === undefined) {\n network.wsUrl = wagmiChain.rpcUrls.alchemy.webSocket[0]\n }\n\n if (network.wsUrl === undefined) {\n delete network.wsUrl\n }\n\n networks[key === 'mainnet' ? 'ethereum' : key] = network\n}\n\nconst findById = (id: number): EvmNetworkConfigInterface | undefined => {\n return Object.values(networks).find((network) => network.id === id)\n}\n\nconst findByKey = (key: string): EvmNetworkConfigInterface | undefined => {\n return networks[key]\n}\n\nconst findByName = (name: string): EvmNetworkConfigInterface | undefined => {\n return Object.values(networks).find((network) => network.name?.includes(name))\n}\n\nconst findByHexId = (hexId: string): EvmNetworkConfigInterface | undefined => {\n return Object.values(networks).find((network) => network.hexId === hexId)\n}\n\nconst findBySymbol = (symbol: string): EvmNetworkConfigInterface | undefined => {\n return Object.values(networks).find((network) => network.nativeCurrency.symbol === symbol)\n}\n\nconst getTestnets = (): EvmNetworkConfigInterface[] => {\n return Object.values(networks).filter((network) => network.testnet ?? false)\n}\n\nconst getMainnets = (): EvmNetworkConfigInterface[] => {\n return Object.values(networks).filter((network) => !(network.testnet ?? false))\n}\n\nconst getAll = (): EvmNetworkConfigInterface[] => {\n return Object.values(networks)\n}\n\nconst add = (key: string, network: EvmNetworkConfigInterface): void => {\n networks[key] = network\n}\n\nexport default {\n add,\n getAll,\n findById,\n findByKey,\n findByName,\n findByHexId,\n findBySymbol,\n getTestnets,\n getMainnets,\n ...networks\n}\n","import type { RequestType } from '../Wallet'\nimport networks from '../../services/Networks'\nimport type { EIP1193Provider } from './EIP6963'\nimport { ErrorTypeEnum } from '@multiplechain/types'\nimport type { EvmNetworkConfigInterface, Provider } from '../../services/Provider'\n\nexport const switcher = async (wallet: EIP1193Provider, provider?: Provider): Promise => {\n const network = provider?.network\n\n const request = async (params: RequestType): Promise => {\n const res = await wallet.request(params)\n if (res?.error !== undefined) {\n const error = res.error as {\n code: number\n message: string\n }\n if (error.code === -32000) {\n throw new Error(ErrorTypeEnum.RPC_TIMEOUT)\n }\n throw new Error(error.message)\n }\n\n return res\n }\n\n const addNetwork = async (network: EvmNetworkConfigInterface): Promise => {\n return await new Promise((resolve, reject) => {\n try {\n request({\n method: 'wallet_addEthereumChain',\n params: [\n {\n chainId: network.hexId,\n chainName: network.name,\n rpcUrls: [network.rpcUrl],\n nativeCurrency: network.nativeCurrency,\n blockExplorerUrls: [network.explorerUrl]\n }\n ]\n })\n .then(() => {\n resolve(true)\n })\n .catch((error) => {\n reject(error)\n })\n } catch (error) {\n reject(error)\n }\n })\n }\n\n const changeNetwork = async (_network: EvmNetworkConfigInterface): Promise => {\n return await new Promise((resolve, reject) => {\n const chainId = `0x${_network.id.toString(16)}`\n request({\n method: 'wallet_switchEthereumChain',\n params: [{ chainId }]\n })\n .then(() => {\n resolve(true)\n })\n .catch((error) => {\n if (\n error.code === 4902 ||\n String(error.message).includes('wallet_addEthereumChain')\n ) {\n const network = networks.findById(_network.id)\n if (network === undefined) {\n resolve(true)\n return\n }\n addNetwork(network)\n .then(() => {\n resolve(true)\n })\n .catch((error) => {\n reject(error)\n })\n } else {\n reject(error)\n }\n })\n })\n }\n\n const getChainId = async (): Promise => {\n return parseInt((await request({ method: 'eth_chainId' })) as string, 16)\n }\n\n const maybeSwitch = async (): Promise => {\n return await new Promise((resolve, reject) => {\n if (network === undefined) {\n resolve(true)\n return\n }\n try {\n const check = async (): Promise => {\n if ((await getChainId()) !== network.id) {\n changeNetwork(network)\n .then(() => {\n setTimeout(() => {\n resolve(true)\n }, 1000)\n })\n .catch((error) => {\n reject(error)\n })\n } else {\n resolve(true)\n }\n }\n void check()\n } catch (error) {\n reject(error)\n }\n })\n }\n\n return await maybeSwitch()\n}\n","export default {\n metaMask:\n 'data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2233%22%20viewBox%3D%220%200%2035%2033%22%20width%3D%2235%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%22.25%22%3E%3Cpath%20d%3D%22m32.9582%201-13.1341%209.7183%202.4424-5.72731z%22%20fill%3D%22%23e17726%22%20stroke%3D%22%23e17726%22%2F%3E%3Cg%20fill%3D%22%23e27625%22%20stroke%3D%22%23e27625%22%3E%3Cpath%20d%3D%22m2.66296%201%2013.01714%209.809-2.3254-5.81802z%22%2F%3E%3Cpath%20d%3D%22m28.2295%2023.5335-3.4947%205.3386%207.4829%202.0603%202.1436-7.2823z%22%2F%3E%3Cpath%20d%3D%22m1.27281%2023.6501%202.13055%207.2823%207.46994-2.0603-3.48166-5.3386z%22%2F%3E%3Cpath%20d%3D%22m10.4706%2014.5149-2.0786%203.1358%207.405.3369-.2469-7.969z%22%2F%3E%3Cpath%20d%3D%22m25.1505%2014.5149-5.1575-4.58704-.1688%208.05974%207.4049-.3369z%22%2F%3E%3Cpath%20d%3D%22m10.8733%2028.8721%204.4819-2.1639-3.8583-3.0062z%22%2F%3E%3Cpath%20d%3D%22m20.2659%2026.7082%204.4689%202.1639-.6105-5.1701z%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22m24.7348%2028.8721-4.469-2.1639.3638%202.9025-.039%201.231z%22%20fill%3D%22%23d5bfb2%22%20stroke%3D%22%23d5bfb2%22%2F%3E%3Cpath%20d%3D%22m10.8732%2028.8721%204.1572%201.9696-.026-1.231.3508-2.9025z%22%20fill%3D%22%23d5bfb2%22%20stroke%3D%22%23d5bfb2%22%2F%3E%3Cpath%20d%3D%22m15.1084%2021.7842-3.7155-1.0884%202.6243-1.2051z%22%20fill%3D%22%23233447%22%20stroke%3D%22%23233447%22%2F%3E%3Cpath%20d%3D%22m20.5126%2021.7842%201.0913-2.2935%202.6372%201.2051z%22%20fill%3D%22%23233447%22%20stroke%3D%22%23233447%22%2F%3E%3Cpath%20d%3D%22m10.8733%2028.8721.6495-5.3386-4.13117.1167z%22%20fill%3D%22%23cc6228%22%20stroke%3D%22%23cc6228%22%2F%3E%3Cpath%20d%3D%22m24.0982%2023.5335.6366%205.3386%203.4946-5.2219z%22%20fill%3D%22%23cc6228%22%20stroke%3D%22%23cc6228%22%2F%3E%3Cpath%20d%3D%22m27.2291%2017.6507-7.405.3369.6885%203.7966%201.0913-2.2935%202.6372%201.2051z%22%20fill%3D%22%23cc6228%22%20stroke%3D%22%23cc6228%22%2F%3E%3Cpath%20d%3D%22m11.3929%2020.6958%202.6242-1.2051%201.0913%202.2935.6885-3.7966-7.40495-.3369z%22%20fill%3D%22%23cc6228%22%20stroke%3D%22%23cc6228%22%2F%3E%3Cpath%20d%3D%22m8.392%2017.6507%203.1049%206.0513-.1039-3.0062z%22%20fill%3D%22%23e27525%22%20stroke%3D%22%23e27525%22%2F%3E%3Cpath%20d%3D%22m24.2412%2020.6958-.1169%203.0062%203.1049-6.0513z%22%20fill%3D%22%23e27525%22%20stroke%3D%22%23e27525%22%2F%3E%3Cpath%20d%3D%22m15.797%2017.9876-.6886%203.7967.8704%204.4833.1949-5.9087z%22%20fill%3D%22%23e27525%22%20stroke%3D%22%23e27525%22%2F%3E%3Cpath%20d%3D%22m19.8242%2017.9876-.3638%202.3584.1819%205.9216.8704-4.4833z%22%20fill%3D%22%23e27525%22%20stroke%3D%22%23e27525%22%2F%3E%3Cpath%20d%3D%22m20.5127%2021.7842-.8704%204.4834.6236.4406%203.8584-3.0062.1169-3.0062z%22%20fill%3D%22%23f5841f%22%20stroke%3D%22%23f5841f%22%2F%3E%3Cpath%20d%3D%22m11.3929%2020.6958.104%203.0062%203.8583%203.0062.6236-.4406-.8704-4.4834z%22%20fill%3D%22%23f5841f%22%20stroke%3D%22%23f5841f%22%2F%3E%3Cpath%20d%3D%22m20.5906%2030.8417.039-1.231-.3378-.2851h-4.9626l-.3248.2851.026%201.231-4.1572-1.9696%201.4551%201.1921%202.9489%202.0344h5.0536l2.962-2.0344%201.442-1.1921z%22%20fill%3D%22%23c0ac9d%22%20stroke%3D%22%23c0ac9d%22%2F%3E%3Cpath%20d%3D%22m20.2659%2026.7082-.6236-.4406h-3.6635l-.6236.4406-.3508%202.9025.3248-.2851h4.9626l.3378.2851z%22%20fill%3D%22%23161616%22%20stroke%3D%22%23161616%22%2F%3E%3Cpath%20d%3D%22m33.5168%2011.3532%201.1043-5.36447-1.6629-4.98873-12.6923%209.3944%204.8846%204.1205%206.8983%202.0085%201.52-1.7752-.6626-.4795%201.0523-.9588-.8054-.622%201.0523-.8034z%22%20fill%3D%22%23763e1a%22%20stroke%3D%22%23763e1a%22%2F%3E%3Cpath%20d%3D%22m1%205.98873%201.11724%205.36447-.71451.5313%201.06527.8034-.80545.622%201.05228.9588-.66255.4795%201.51997%201.7752%206.89835-2.0085%204.8846-4.1205-12.69233-9.3944z%22%20fill%3D%22%23763e1a%22%20stroke%3D%22%23763e1a%22%2F%3E%3Cpath%20d%3D%22m32.0489%2016.5234-6.8983-2.0085%202.0786%203.1358-3.1049%206.0513%204.1052-.0519h6.1318z%22%20fill%3D%22%23f5841f%22%20stroke%3D%22%23f5841f%22%2F%3E%3Cpath%20d%3D%22m10.4705%2014.5149-6.89828%202.0085-2.29944%207.1267h6.11883l4.10519.0519-3.10487-6.0513z%22%20fill%3D%22%23f5841f%22%20stroke%3D%22%23f5841f%22%2F%3E%3Cpath%20d%3D%22m19.8241%2017.9876.4417-7.5932%202.0007-5.4034h-8.9119l2.0006%205.4034.4417%207.5932.1689%202.3842.013%205.8958h3.6635l.013-5.8958z%22%20fill%3D%22%23f5841f%22%20stroke%3D%22%23f5841f%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E',\n walletConnect:\n 'data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGJhc2VQcm9maWxlPSJiYXNpYyIgaWQ9IkxheWVyXzEiCgkgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzODcuNiAyMzcuNiIKCSB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBhdGggaWQ9IldhbGxldENvbm5lY3RfMDAwMDAwNzM3MDMwNjM0MzgyMjA2NDI3MzAwMDAwMDI5MTc3MTc1NTIyMzY0NzI0OTZfIiBmaWxsPSIjM0I5OUZDIiBkPSJNNzkuNCw0Ni40CgljNjMuMi02MS45LDE2NS43LTYxLjksMjI4LjksMGw3LjYsNy40YzMuMiwzLjEsMy4yLDguMSwwLDExLjJsLTI2LDI1LjVjLTEuNiwxLjUtNC4xLDEuNS01LjcsMGwtMTAuNS0xMC4zCgljLTQ0LjEtNDMuMi0xMTUuNi00My4yLTE1OS43LDBsLTExLjIsMTFjLTEuNiwxLjUtNC4xLDEuNS01LjcsMEw3MSw2NS44Yy0zLjItMy4xLTMuMi04LjEsMC0xMS4yTDc5LjQsNDYuNHogTTM2Mi4xLDk5LjFsMjMuMiwyMi43CgljMy4yLDMuMSwzLjIsOC4xLDAsMTEuMkwyODAuOCwyMzUuM2MtMy4yLDMuMS04LjMsMy4xLTExLjQsMGMwLDAsMCwwLDAsMGwtNzQuMS03Mi42Yy0wLjgtMC44LTIuMS0wLjgtMi45LDBjMCwwLDAsMCwwLDAKCWwtNzQuMSw3Mi42Yy0zLjIsMy4xLTguMywzLjEtMTEuNCwwYzAsMCwwLDAsMCwwTDIuNCwxMzNjLTMuMi0zLjEtMy4yLTguMSwwLTExLjJsMjMuMi0yMi43YzMuMi0zLjEsOC4zLTMuMSwxMS40LDBsNzQuMSw3Mi42CgljMC44LDAuOCwyLjEsMC44LDIuOSwwYzAsMCwwLDAsMCwwbDc0LjEtNzIuNmMzLjItMy4xLDguMy0zLjEsMTEuNCwwYzAsMCwwLDAsMCwwbDc0LjEsNzIuNmMwLjgsMC44LDIuMSwwLjgsMi45LDBsNzQuMS03Mi42CglDMzUzLjgsOTYsMzU4LjksOTYsMzYyLjEsOTkuMXoiLz4KPC9zdmc+',\n web3modal:\n 'data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKIHdpZHRoPSI0MDAuMDAwMDAwcHQiIGhlaWdodD0iNDAwLjAwMDAwMHB0IiB2aWV3Qm94PSIwIDAgNDAwLjAwMDAwMCA0MDAuMDAwMDAwIgogcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCI+Cgo8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCw0MDAuMDAwMDAwKSBzY2FsZSgwLjEwMDAwMCwtMC4xMDAwMDApIgpmaWxsPSIjMDAwMDAwIiBzdHJva2U9Im5vbmUiPgo8cGF0aCBkPSJNMCAyMDAwIGwwIC0yMDAwIDIwMDAgMCAyMDAwIDAgMCAyMDAwIDAgMjAwMCAtMjAwMCAwIC0yMDAwIDAgMAotMjAwMHogbTIyNjQgNzM2IGMxMjQgLTMyIDI2MSAtOTggMzYzIC0xNzUgOTEgLTY5IDE3MyAtMTUzIDE3MyAtMTc4IDAgLTE3Ci0xODcgLTIwMiAtMjA1IC0yMDMgLTYgMCAtMzEgMjEgLTU1IDQ2IC0yMjcgMjM0IC01NjkgMjk5IC04NTcgMTY0IC03OSAtMzYKLTEzMSAtNzMgLTIxMyAtMTQ5IC0zNiAtMzMgLTcyIC02MCAtODAgLTYxIC0yMCAwIC0yMDAgMTgxIC0yMDAgMjAyIDAgMjQgNDkKNzggMTM2IDE0OCAxMzYgMTA5IDI4MSAxNzkgNDQxIDIxNSAxMDYgMjMgMTE5IDI0IDI2MyAyMCAxMDQgLTMgMTU4IC0xMCAyMzQKLTI5eiBtLTEyODQgLTYwMyBjMTQgLTkgMTMwIC0xMjAgMjU4IC0yNDYgbDIzMyAtMjMxIDU3IDU1IGMzMSAyOSAxNDUgMTQxCjI1MyAyNDYgMTEwIDEwOSAyMDMgMTkzIDIxMyAxOTMgMjAgMCAzOSAtMTggNTIyIC00OTAgMyAtMiA3OCA2OCAxNjcgMTU2IDI3MAoyNjYgMzQ0IDMzNCAzNjIgMzM0IDEwIDAgNTcgLTM5IDEwNiAtODcgNjcgLTY1IDg5IC05MyA4OSAtMTEzIDAgLTIxIC02NiAtOTAKLTM0MSAtMzYwIC0xODggLTE4NCAtMzUwIC0zMzkgLTM2MCAtMzQ0IC0xMSAtNSAtMjcgLTUgLTM4IDAgLTExIDUgLTEyOCAxMTYKLTI2MSAyNDcgLTEzMyAxMzEgLTI0NSAyMzYgLTI0OCAyMzIgLTEzNiAtMTM4IC00OTAgLTQ3MyAtNTA4IC00NzkgLTI4IC0xMQotMTYgLTIyIC00NTEgNDA2IC0yMDMgMTk5IC0yODMgMjg0IC0yODMgMzAwIDAgMjggMTcxIDE5OCAyMDAgMTk4IDMgMCAxNyAtNwozMCAtMTd6Ii8+CjwvZz4KPC9zdmc+Cg==',\n phantom:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAKkElEQVR4Ae2dQW8bxxmGv9ldGmikJFQBO4bdWERiA40OkQrIl+QgGkjbS4rYaN2iJ4f9A61/gaV/kPyB0j61hY0qBYoe0oOpg32RgUg9OAGcoEycCk4MWFQsqYBJ7mTeJdehKFLcXc7sDnfmAShSFFei9nvnnW9mvh0yUsBqlRebtFci8hcY8RIjNovnOZF4jhfFfbH39eLnJTIQTrze+704D/XO89RgTDzm/g4Xz+F5j6Y3LlVYgyTDSAKdgD+96BAt+cTLpgZUNSJYdZ9oQzz8R4EKtUuVH9VpTMYSwM3q07LQ6zXxsEyW1BHBuy4c4sblyos1SkgiAdjAa0fNo0IliSPEEgCsvkW7IvD8T2TRELYs3GAl1hFRX7ha/X+pTc3bnUTOoivIE1wqXIjqBk6UF9368+4VEfxPbPD1BzFqiVj9rfrdxSivHymAW9XdP3LmX+8fulm0pigCuypytWujXnikAPALOPkfkGVC4ct/re4cma8NzQFgIVARWSYexp33f/OH6RsDfzboyW7C94m1/dzQEMPEnw1KDAd2Ad1s3wY/PxQR09Xq9qGYHhJAp9+32X7e6IwOvENJ4YEuANYvhhD/JUuOYRd6p44POIAIfpUsOYcfcIHnAujM79u5fQMod2Md8FwAjPErZDGEH1wgyAFs328eHrVnLlVmGoEDNKlZJotR+OQGawWBABxG75HFKMSwcAn3Tve7BbKYRhlfGGaHWuRuk8U4kAc4YnbItn5DaYrZQYcTL5HFSFxyFxxmBWAsvoi9EIBd9TMVXLDjiCnAWbIYi8e5dYC4FI4xcRPW+WNGx8R9odB5rpf9PU57u5yaz4gaTzjpCGdU8sgykuMnGRVnGL0849AJ8fiF6fjX0zx+xIUQfNr62g8e6wDnvOihUEDKBYI5Aq359BlGp37iiuAfbt1JgIiOn3Tp3JxL+8IZ/vfQpwef+sHjrBD9f9E6QA8I0tybnrB2OUEfBhzk3BtucHtwv00PPstOCMYLAIE+94YT3FQGfRhwhNNnHLq/2ab6Fz6ljbECQCuce9Oh0lmXsgbvZfFtT9y3AyGkiccMKwDVKfD9zM279MIU0b276YgA+Z8xDgB7n5t3gn5XZ0JhpiUCIwSA/h2tK4s+PgkQwf4epdId5FoAyOrnF71gwmbSgGAfPxJzBt+oHR1Eujx80kBLnz/v0tIvChMZ/JDzIjHEjKNKcicABPzn73ra9/VRCOcLVJIrAaCvf+fdQqKpWl2BAFS6QC4EAMuH3c+fz19Kg+CrdIGJF0Bo+Uj48ooVwBBKrzui5Xu5svxBwAWOv6Lmf5xYAWCYtBhkyWasZZ46oyZUEymAxbfdQAAmcfpVNaGaqKwJrf2tcr77+2Ggm8NN9rLxxDhAJ9PPNvjNZzwo78J9XBC4pMeGnFCQB0yEA0D55QyTPQRu817rQCkXhHj+rdHvaZxj+1Hx/2vvAFkHHy137ePWoTo+fP/vfzaPLPgcdWxcOzdOAFkHH9REAIfZNip+N9dbiY9dvzP82EFMTRkkgDDhyzL4aN2jWilW6wa5AFp5lGPjuMDUNElHWwEg4ct6Ja+xHS04g17X2I5W3/et4uXeUWgpACzl6rCMG7V1DnodLD7psWminQAwwaPLUq7qtfi4fyP3SWBYuqULU9PRTg+uGuonarDiJHYq3EIbAcDydVvOxQJMlBY6qLuKOnWb9aymFgJAa0HGrxtR1uLhWoNae5Rj4xaqPouYV8RBCwFkPdw7CgRx2FJsUHR6hGshwIO6B4Cl7LjdXVOBADJvdsFJ0rhwEy156ZcFqn/epq2vO3P5aLWl15yRS7Q49p1fHTx2Sgh99jU3kfXv7cnPATIVQHAx5oQs66JWv3SWEjHOsb3kKgmE5WNBxBId7C8gm8wEgOvz8l7KJRtcLSSbTASABEjHizN1RtVWM6kLILg617ByLhmo2mcodQFY609G1MWluKQqAATeWn8yth7mQAAo7rAkQ9XOYqkJAImftf5kbD1Ut2ScmgBs4pecra/UbRSRigBs6x8PlVVDqQjAtv7kwP5VVg0pF4Bt/eNR/zxe5XBclAvAtv7koOWrTACBUgEcT7ixsqVDGruEKRXAuZ/a1p8UzP2nUTKuTABo+aquaTcB7CaeRsm4sgideMVaf1JQOZTWnsHKBHA2B9u0ZUWanyOgRACw/0neoDFLEHgIIC2UCMDaf3Jg/eNsIhEXJQI49apN/pKAD4xI+0MjlETKxD18xgXWn/aHRQDpAkDfb8rWbTLZWG9ncqWwdAHgEy90II2Tub/LpfTXaPmqKn5GocAB9Oj/v32k/oSivx7X7R582s7E+kPkC2Ame/vHSVVRQ9+LjISt/kWbNtezCz6QLoCs+3/YMk6qSiHKSNgQ/Ht3sg0+kF6lmcauGsNAf4yduTrvQ40Awr8R5hjhxaJxgENl3fJDpDvAsQwFsH5HbSaNYK/1BB/E6QZw/N3bLW2CD3JTp92fSXeyc3kuEAa//wod/F3sBnJU3QOOxfQubmnO8kUhFwIYlEnLvJYeLf5urTXw8iys2//r782g9G32dTf43OHwebz+8TdIFrl2gQ+RLgD802lWAQ3LpLe+8qXsNob/B8Ef1bVkMY0rA+kCULGLxTCOyqSxCyeuphlnWrrjLPrZtkykJ4E7T9I5WVGGUet3W4mSQghn7eNm4Cx5Dj6Q7gAoZVoktaC/jzIOR/AxZIu64TQCf/8/LWXX4emIJ/7VusxPEEfyM671Dv/dPBjqxZk3hwjCJO1UN1sPh6rPuonazrbeiZoqRITqSkYB9zdbtHSyQDKBqJJaOpjUJE01SlZukIDJWuBAq0RfjD45642V84iyeYBQAEmvDNJ58iRPeIxYg0jNCYYIYLvYDi5KTtD5UCYx/PqsHVi+DbxaOAtyAN4ghXQ+N6fZrRTGcrFIxHp2yN4X8wa4IRlrPLEBTxsI4EuZc+bDgBD2d9VudmCJB+d8x5bvmk0dAqiTxUiE7zccTqxOFiNxROydAjkbZDESHwIQg686WYzEo9aGc6ky0+A2DzAOTryO2AejAEZ8jSymsYkvgQBEIlgji2Gwj/A1EECB2h+RxSja1K7hPhAA+gJxVyOLEYjx//XfV2bqeNwzE8hWyGIEosu/ET5+LoDLlRdrZF0g/zCqdWMd0LcWYF0g77R4u9L7/QEBQBliSPghWXIKXwn7/pBDq4Eu+cuYJCBLrkBML1deXu5//pAAMCJok38BK0VkyQk8iOmgnwysB4BN+ERXyZILxKJPpd/6Q4YWhPy28tJ1oRwrgomHr/yu8tLQib6RtWA3qzvL4mXXyDKB8Kui3//gqFdEKga8Vf3uoririlXDIlkmAC5W+djVXwcufjSRq0H/Ut0uueTcZsRKZNEWZPtI+Ib1+f3ELge2XYK+iOB/WBDD+O7aTiQS1YPDDTzmVsVfLJMle8T0LnG20jvFG/3QMbhZfVoWg4z3xa+5Qpb0GSPwP/wKCXTyA7fsMHrP53zB5glqQP/uMFbzOa2hhiOO1Q9DySVBq9XtYou8BfGGS2JtoYTRg3jjs+EognNeOvgmWIkMpH/KnTHMvrIG69ZoivP0Zads39koULMuI+D9fA+fpXSL3JH8YAAAAABJRU5ErkJggg==',\n trustWallet:\n 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTgiIGhlaWdodD0iNjUiIHZpZXdCb3g9IjAgMCA1OCA2NSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAgOS4zODk0OUwyOC44OTA3IDBWNjUuMDA0MkM4LjI1NDUgNTYuMzM2OSAwIDM5LjcyNDggMCAzMC4zMzUzVjkuMzg5NDlaIiBmaWxsPSIjMDUwMEZGIi8+CjxwYXRoIGQ9Ik01Ny43ODIyIDkuMzg5NDlMMjguODkxNSAwVjY1LjAwNDJDNDkuNTI3NyA1Ni4zMzY5IDU3Ljc4MjIgMzkuNzI0OCA1Ny43ODIyIDMwLjMzNTNWOS4zODk0OVoiIGZpbGw9InVybCgjcGFpbnQwX2xpbmVhcl8yMjAxXzY5NDIpIi8+CjxkZWZzPgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfMjIwMV82OTQyIiB4MT0iNTEuMzYxNSIgeTE9Ii00LjE1MjkzIiB4Mj0iMjkuNTM4NCIgeTI9IjY0LjUxNDciIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agb2Zmc2V0PSIwLjAyMTEyIiBzdG9wLWNvbG9yPSIjMDAwMEZGIi8+CjxzdG9wIG9mZnNldD0iMC4wNzYyNDIzIiBzdG9wLWNvbG9yPSIjMDA5NEZGIi8+CjxzdG9wIG9mZnNldD0iMC4xNjMwODkiIHN0b3AtY29sb3I9IiM0OEZGOTEiLz4KPHN0b3Agb2Zmc2V0PSIwLjQyMDA0OSIgc3RvcC1jb2xvcj0iIzAwOTRGRiIvPgo8c3RvcCBvZmZzZXQ9IjAuNjgyODg2IiBzdG9wLWNvbG9yPSIjMDAzOEZGIi8+CjxzdG9wIG9mZnNldD0iMC45MDI0NjUiIHN0b3AtY29sb3I9IiMwNTAwRkYiLz4KPC9saW5lYXJHcmFkaWVudD4KPC9kZWZzPgo8L3N2Zz4K',\n bitgetWallet:\n 'data:image/png;base64,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',\n okxWallet:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJDSURBVHgB7Zq9jtpAEMfHlhEgQLiioXEkoAGECwoKxMcTRHmC5E3IoyRPkPAEkI7unJYmTgEFTYwA8a3NTKScLnCHN6c9r1e3P2llWQy7M/s1Gv1twCP0ej37dDq9x+Zut1t3t9vZjDEHIiSRSPg4ZpDL5fxkMvn1cDh8m0wmfugfO53OoFQq/crn8wxfY9EymQyrVCqMfHvScZx1p9ls3pFxXBy/bKlUipGPrVbLuQqAfsCliq3zl0H84zwtjQrOw4Mt1W63P5LvBm2d+Xz+YzqdgkqUy+WgWCy+Mc/nc282m4FqLBYL+3g8fjDxenq72WxANZbLJeA13zDX67UDioL5ybXwafMYu64Ltn3bdDweQ5R97fd7GyhBQMipx4POeEDHIu2LfDdBIGGz+hJ9CQ1ABjoA2egAZPM6AgiCAEQhsi/C4jHyPA/6/f5NG3Ks2+3CYDC4aTccDrn6ojG54MnEvG00GoVmWLIRNZ7wTCwDHYBsdACy0QHIhiuRETxlICWpMMhGZHmqS8qH6JLyGegAZKMDkI0uKf8X4SWlaZo+Pp1bRrwlJU8ZKLIvUjKh0WiQ3sRUbNVq9c5Ebew7KEo2m/1p4jJ4qAmDaqDQBzj5XyiAT4VCQezJigAU+IDU+z8vJFnGWeC+bKQV/5VZ71FV6L7PA3gg3tXrdQ+DgLhC+75Wq3no69P3MC0NFQpx2lL04Ql9gHK1bRDjsSBIvScBnDTk1WrlGIZBorIDEYJj+rhdgnQ67VmWRe0zlplXl81vcyEt0rSoYDUAAAAASUVORK5CYII=',\n xdefiWallet:\n 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yMTkxXzQyOTApIj4KPHJlY3Qgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiIHJ4PSIxMDQiIGZpbGw9IiMzMzVERTUiLz4KPHBhdGggZD0iTTQ2My40MzggMjQxLjI0N0M0NjAuNzY1IDIwNS4xMzUgNDQ4LjU4IDE3MC4zMzggNDI4LjA4NyAxNDAuMjcxQzQwNy41OTkgMTEwLjIwOSAzNzkuNTA5IDg1LjkxODIgMzQ2LjU3OSA2OS43OTZDMzEzLjY1MyA1My42NzggMjc3LjAzMiA0Ni4yODA0IDI0MC4zMiA0OC4zMzYzQzIwMy42MDUgNTAuMzkyMSAxNjguMDY5IDYxLjgyNTUgMTM3LjIxMiA4MS41MjAxQzEwNi4zNTQgMTAxLjIxIDgxLjIzOTQgMTI4LjQ4IDY0LjMzODYgMTYwLjYzNkw2My41MzYgMTYyLjI1N0M1OC4xOTcxIDE3My4xMjYgNTQuNTg3OCAxODQuNzQ1IDUyLjg0MTEgMTk2LjY5N0M0Ny44NDU1IDIzMi4wMjEgNTUuNTkyIDI2My40NiA3NS44Mjc1IDI4Ny42NjdDOTcuOTU5OSAzMTQuMTM2IDEzMy45OTMgMzI5Ljg3OSAxNzcuMjE1IDMzMS45NDdDMjI5LjgzMiAzMzQuNTU1IDI4Mi4xNDggMzIwLjQzNCAzMTkuMjc1IDI5NC40NThMMzQxLjI4NyAzMDcuMzUzQzMyMC4yNTggMzI1LjI5MSAyNzEuNjM3IDM1Ny41OTQgMTkxLjExMiAzNjIuMDA5QzEwMC43MTkgMzY2LjkzIDYzLjA0MjUgMzM4LjAwMSA2Mi42OTA1IDMzNy43MDZMNTYuMzUxNyAzNDUuNDAzTDQ4IDM1NS4yNzNDNDkuNjAwOCAzNTYuNiA4NS43Mjg1IDM4NS4zMzUgMTcwLjU3NiAzODUuMzM1QzE3Ny41MiAzODUuMzM1IDE4NC44MTYgMzg1LjMzNSAxOTIuNDEyIDM4NC43NDZDMjg5Ljg3MyAzNzkuMzkxIDM0My40NzYgMzM3LjU3NSAzNjIuMjMxIDMxOS42MjlMMzgwLjY0MiAzMzAuNjM3QzM2OC4yNjEgMzQ2LjY1OCAzNTMuMDI1IDM2MC4zMzMgMzM1LjY3IDM3MC45ODJDMjc0LjUwNCA0MDkuODQ5IDE5Ni43MDggNDE0Ljg2NyAxNDIuMjQyIDQxMi4xNjJMMTQxLjA5NiA0MzQuODMxQzE1MC4yNDIgNDM1LjI3MyAxNTkuMDM1IDQzNS40NzEgMTY3LjU4IDQzNS40NzFDMzIxLjA0OCA0MzUuNDcxIDM4My4xMzIgMzY2LjcxOSA0MDAuNTM5IDM0Mi4wNjJMNDE0LjkyNSAzNTAuNDg3QzQwMS4xMzUgMzczLjYwMyAzODIuMzkzIDM5My41NjcgMzU5LjkzMSA0MDguOTM5QzMzMy4wMzQgNDI3LjM0NSAzMDEuNzM1IDQzOC41MzggMjY5LjExNCA0NDEuNDE1TDI3MS4xMTQgNDY0QzMwNy43MzkgNDYwLjc4NiAzNDIuODg4IDQ0OC4yMzYgMzczLjA4OSA0MjcuNTgxQzQwMy4yOSA0MDYuOTI2IDQyNy41MDggMzc4Ljg4MSA0NDMuMzQ5IDM0Ni4yMDdDNDU5LjE4NSAzMTMuNTI5IDQ2Ni4xMTYgMjc3LjM1OCA0NjMuNDM4IDI0MS4yNDdaTTM3NC44MSAyNDQuNzM5QzM2NC42MjYgMjQ0LjczOSAzNTYuMzY4IDIzNi42MTMgMzU2LjM2OCAyMjYuNTg2QzM1Ni4zNjggMjE2LjU2IDM2NC42MjEgMjA4LjQzMyAzNzQuODEgMjA4LjQzM0MzODQuOTkgMjA4LjQzMyAzOTMuMjQ3IDIxNi41NiAzOTMuMjQ3IDIyNi41ODZDMzkzLjI0NyAyMzYuNjEzIDM4NC45OTQgMjQ0LjczOSAzNzQuODEgMjQ0LjczOVoiIGZpbGw9IiNFQ0VDRUMiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMTkxXzQyOTAiPgo8cmVjdCB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K'\n}\n","import icons from './icons'\nimport type { EIP1193Provider } from './EIP6963'\nimport { WalletPlatformEnum } from '@multiplechain/types'\nimport type { Provider } from '../../services/Provider'\nimport type { WalletAdapterInterface } from '@multiplechain/types'\n\nconst Phantom: WalletAdapterInterface = {\n id: 'phantom',\n name: 'Phantom',\n icon: icons.phantom,\n provider: window?.phantom?.ethereum,\n downloadLink: 'https://phantom.app/',\n platforms: [WalletPlatformEnum.BROWSER, WalletPlatformEnum.MOBILE],\n isDetected: () => Boolean(window?.phantom?.ethereum),\n createDeepLink: (url: string): string => `https://phantom.app/ul/browse/${url}?ref=${url}`,\n isConnected: async () => {\n return Boolean(\n (await window?.phantom?.ethereum?.request({ method: 'eth_accounts' })).length\n )\n },\n connect: async (): Promise => {\n return await new Promise((resolve, reject) => {\n const phantom = window?.phantom?.ethereum\n try {\n phantom\n ?.request({ method: 'eth_requestAccounts' })\n .then(() => {\n resolve(phantom)\n })\n .catch((error: any) => {\n reject(error)\n })\n } catch (error) {\n reject(error)\n }\n })\n }\n}\n\nexport default Phantom\n","import icons from './icons'\nimport { switcher } from './switcher'\nimport type { WindowEthereum } from './types'\nimport type { EIP1193Provider } from './EIP6963'\nimport { WalletPlatformEnum } from '@multiplechain/types'\nimport type { Provider } from '../../services/Provider'\nimport type { WalletAdapterInterface } from '@multiplechain/types'\n\nconst MetaMask: WalletAdapterInterface = {\n id: 'metamask',\n name: 'MetaMask',\n icon: icons.metaMask,\n downloadLink: 'https://metamask.io/download/',\n provider: window.ethereum as unknown as WindowEthereum,\n platforms: [WalletPlatformEnum.BROWSER, WalletPlatformEnum.MOBILE],\n isDetected: () => Boolean((window?.ethereum as unknown as WindowEthereum)?.isMetaMask),\n createDeepLink: (url: string): string => `https://metamask.app.link/dapp/${url}`,\n isConnected: async () => {\n return Boolean(\n (\n await (window?.ethereum as unknown as WindowEthereum).request({\n method: 'eth_accounts'\n })\n ).length\n )\n },\n connect: async (provider?: Provider): Promise => {\n return await new Promise((resolve, reject) => {\n const metamaskProvider = window?.ethereum as unknown as WindowEthereum\n try {\n metamaskProvider\n ?.request({ method: 'eth_requestAccounts' })\n .then(() => {\n switcher(metamaskProvider, provider)\n .then(() => {\n resolve(metamaskProvider)\n })\n .catch((error: any) => {\n reject(error)\n })\n })\n .catch((error: any) => {\n reject(error)\n })\n } catch (error) {\n reject(error)\n }\n })\n }\n}\n\nexport default MetaMask\n","import { Provider } from '../services/Provider'\nimport type { Ethers } from '../services/Ethers'\nimport type { ContractAddress, ContractInterface, WalletAddress } from '@multiplechain/types'\nimport type { Contract as EthersContract, InterfaceAbi } from 'ethers'\nimport type { TransactionData } from '../services/TransactionSigner'\n\nexport class Contract implements ContractInterface {\n /**\n * Contract address\n */\n address: ContractAddress\n\n /**\n * Cached static methods\n */\n cachedMethods: Record = {}\n\n /**\n * Contract ABI\n */\n ABI: InterfaceAbi\n\n /**\n * Ethers contract\n */\n ethersContract: EthersContract\n\n /**\n * Blockchain network provider\n */\n provider: Provider\n\n /**\n * Ethers service\n */\n ethers: Ethers\n\n /**\n * @param address Contract address\n * @param provider Blockchain network provider\n * @param ABI Contract ABI\n */\n constructor(address: ContractAddress, provider?: Provider, ABI?: InterfaceAbi) {\n this.ABI = ABI ?? []\n this.address = address\n this.provider = provider ?? Provider.instance\n this.ethers = this.provider.ethers\n this.ethersContract = this.ethers.contract(address, this.ABI, this.ethers.jsonRpc)\n }\n\n /**\n * @returns Contract address\n */\n getAddress(): ContractAddress {\n return this.address\n }\n\n /**\n * @param method Method name\n * @param args Method parameters\n * @returns Method result\n */\n async callMethod(method: string, ...args: unknown[]): Promise {\n return this.ethersContract[method](...args) // eslint-disable-line\n }\n\n /**\n * @param method Method name\n * @param args Method parameters\n * @returns Method result\n */\n async callMethodWithCache(method: string, ...args: unknown[]): Promise {\n if (this.cachedMethods[method] !== undefined) {\n return this.cachedMethods[method]\n }\n\n return (this.cachedMethods[method] = await this.callMethod(method, ...args))\n }\n\n /**\n * @param method Method name\n * @param args Sender wallet address\n * @returns Encoded method data\n */\n async getMethodData(method: string, ...args: unknown[]): Promise {\n return this.ethersContract.interface.encodeFunctionData(method, args)\n }\n\n /**\n * @param method Method name\n * @param from Sender wallet address\n * @param args Method parameters\n * @returns Gas limit\n */\n async getMethodEstimateGas(\n method: string,\n from: WalletAddress,\n ...args: unknown[]\n ): Promise {\n return Number(await this.ethersContract[method].estimateGas(...args, { from })) // eslint-disable-line\n }\n\n /**\n * @param method Method name\n * @param from Sender wallet address\n * @param args Method parameters\n * @returns Transaction data\n */\n async createTransactionData(\n method: string,\n from: WalletAddress,\n ...args: unknown[]\n ): Promise {\n const [gasPrice, nonce, data, gasLimit] = await Promise.all([\n this.provider.ethers.getGasPrice(),\n this.provider.ethers.getNonce(from),\n this.getMethodData(method, ...args), // eslint-disable-line\n this.getMethodEstimateGas(method, from, ...args) // eslint-disable-line\n ])\n\n return {\n from,\n data,\n nonce,\n gasPrice,\n gasLimit,\n value: '0x0',\n to: this.getAddress(),\n chainId: this.provider.network.id\n }\n }\n}\n","import type { EthersError } from './Ethers'\nimport { Provider } from '../services/Provider'\nimport type { TransactionRequest, Wallet, BigNumberish } from 'ethers'\nimport {\n ErrorTypeEnum,\n type PrivateKey,\n type TransactionId,\n type TransactionSignerInterface\n} from '@multiplechain/types'\n\nexport interface TransactionData extends TransactionRequest {\n gas?: BigNumberish\n}\n\nexport class TransactionSigner implements TransactionSignerInterface {\n /**\n * Transaction data from the blockchain network\n */\n rawData: TransactionData\n\n /**\n * Signed transaction data\n */\n signedData: string\n\n /**\n * Wallet instance from ethers with the private key\n */\n wallet: Wallet\n\n /**\n * Blockchain network provider\n */\n provider: Provider\n\n /**\n * @param rawData Transaction data\n * @param provider Blockchain network provider\n */\n constructor(rawData: TransactionData, provider?: Provider) {\n this.rawData = rawData\n this.provider = provider ?? Provider.instance\n }\n\n /**\n * Sign the transaction\n * @param privateKey - Transaction data\n * @returns Signed transaction data\n */\n public async sign(privateKey: PrivateKey): Promise {\n try {\n this.wallet = this.provider.ethers.wallet(privateKey)\n this.signedData = await this.wallet.signTransaction(this.rawData)\n return this\n } catch (error) {\n const e = error as EthersError\n if (e?.shortMessage.includes('transaction from address mismatch')) {\n throw new Error(ErrorTypeEnum.INVALID_PRIVATE_KEY)\n }\n\n throw error\n }\n }\n\n /**\n * Send the transaction to the blockchain network\n * @returns Transaction data\n */\n async send(): Promise {\n return (await this.provider.ethers.jsonRpc.send('eth_sendRawTransaction', [\n this.signedData\n ])) as TransactionId\n }\n\n /**\n * Get the raw transaction data\n * @returns Transaction data\n */\n getRawData(): TransactionData {\n return this.rawData\n }\n\n /**\n * Get the signed transaction data\n * @returns Signed transaction data\n */\n getSignedData(): string {\n return this.signedData\n }\n}\n","import { Contract } from './Contract'\nimport type { InterfaceAbi } from 'ethers'\nimport ERC721 from '../../resources/ERC721.json'\nimport type { Provider } from '../services/Provider'\nimport { TransactionSigner } from '../services/TransactionSigner'\nimport {\n ErrorTypeEnum,\n type ContractAddress,\n type NftId,\n type NftInterface,\n type WalletAddress\n} from '@multiplechain/types'\n\nexport class NFT extends Contract implements NftInterface {\n /**\n * @param address Contract address\n * @param provider Blockchain network provider\n * @param ABI Contract ABI\n */\n constructor(address: ContractAddress, provider?: Provider, ABI?: InterfaceAbi) {\n super(address, provider, ABI ?? ERC721)\n }\n\n /**\n * @returns NFT name\n */\n async getName(): Promise {\n return (await this.callMethodWithCache('name')) as string\n }\n\n /**\n * @returns NFT symbol\n */\n async getSymbol(): Promise {\n return (await this.callMethodWithCache('symbol')) as string\n }\n\n /**\n * @param owner Wallet address\n * @returns Wallet balance as currency of NFT\n */\n async getBalance(owner: WalletAddress): Promise {\n return Number(await this.callMethod('balanceOf', owner))\n }\n\n /**\n * @param nftId NFT ID\n * @returns Wallet address of the owner of the NFT\n */\n async getOwner(nftId: NftId): Promise {\n return (await this.callMethod('ownerOf', nftId)) as WalletAddress\n }\n\n /**\n * @param nftId NFT ID\n * @returns URI of the NFT\n */\n async getTokenURI(nftId: NftId): Promise {\n return (await this.callMethodWithCache('tokenURI', nftId)) as string\n }\n\n /**\n * @param nftId ID of the NFT that will be transferred\n * @returns Wallet address of the approved spender\n */\n async getApproved(nftId: NftId): Promise {\n const address = (await this.callMethod('getApproved', nftId)) as WalletAddress\n return address === '0x0000000000000000000000000000000000000000' ? null : address\n }\n\n /**\n * @param sender Sender address\n * @param receiver Receiver address\n * @param nftId NFT ID\n * @returns Transaction signer\n */\n async transfer(\n sender: WalletAddress,\n receiver: WalletAddress,\n nftId: NftId\n ): Promise {\n return await this.transferFrom(sender, sender, receiver, nftId)\n }\n\n /**\n * @param spender Spender address\n * @param owner Owner address\n * @param receiver Receiver address\n * @param nftId NFT ID\n * @returns Transaction signer\n */\n async transferFrom(\n spender: WalletAddress,\n owner: WalletAddress,\n receiver: WalletAddress,\n nftId: NftId\n ): Promise {\n // Check if tokens exist\n const balance = await this.getBalance(owner)\n\n if (balance <= 0) {\n throw new Error(ErrorTypeEnum.INSUFFICIENT_BALANCE)\n }\n\n // Check ownership\n const originalOwner = await this.getOwner(nftId)\n if (originalOwner !== owner) {\n throw new Error(ErrorTypeEnum.UNAUTHORIZED_ADDRESS)\n }\n\n // check if spender different from owner\n if (spender !== owner) {\n const approved = await this.getApproved(nftId)\n if (approved !== spender) {\n throw new Error(ErrorTypeEnum.UNAUTHORIZED_ADDRESS)\n }\n }\n\n return new TransactionSigner(\n await this.createTransactionData('transferFrom', spender, owner, receiver, nftId)\n )\n }\n\n /**\n * Gives permission to the spender to spend owner's tokens\n * @param owner Address of owner of the tokens that will be used\n * @param spender Address of the spender that will use the tokens of owner\n * @param nftId ID of the NFT that will be transferred\n * @returns Transaction signer\n */\n async approve(\n owner: WalletAddress,\n spender: WalletAddress,\n nftId: NftId\n ): Promise {\n // Check if tokens exist\n const balance = await this.getBalance(owner)\n\n if (balance <= 0) {\n throw new Error(ErrorTypeEnum.INSUFFICIENT_BALANCE)\n }\n\n // Check ownership\n const originalOwner = await this.getOwner(nftId)\n if (originalOwner !== owner) {\n throw new Error(ErrorTypeEnum.UNAUTHORIZED_ADDRESS)\n }\n\n return new TransactionSigner(\n await this.createTransactionData('approve', owner, spender, nftId)\n )\n }\n}\n","import { Provider } from '../services/Provider'\nimport { hexToNumber, numberToHex } from '@multiplechain/utils'\nimport { TransactionSigner } from '../services/TransactionSigner'\nimport type { TransactionData } from '../services/TransactionSigner'\nimport {\n ErrorTypeEnum,\n type CoinInterface,\n type TransferAmount,\n type WalletAddress\n} from '@multiplechain/types'\n\nexport class Coin implements CoinInterface {\n /**\n * Blockchain network provider\n */\n provider: Provider\n\n /**\n * @param provider network provider\n */\n constructor(provider?: Provider) {\n this.provider = provider ?? Provider.instance\n }\n\n /**\n * @returns Coin name\n */\n getName(): string {\n return (\n this.provider.network.nativeCurrency.name ?? this.provider.network.nativeCurrency.symbol\n )\n }\n\n /**\n * @returns Coin symbol\n */\n getSymbol(): string {\n return this.provider.network.nativeCurrency.symbol\n }\n\n /**\n * @returns Decimal value of the coin\n */\n getDecimals(): number {\n return this.provider.network.nativeCurrency.decimals\n }\n\n /**\n * @param owner Wallet address\n * @returns Wallet balance as currency of COIN\n */\n async getBalance(owner: WalletAddress): Promise {\n const balance = await this.provider.ethers.getBalance(owner)\n return hexToNumber(balance.toString(), this.getDecimals())\n }\n\n /**\n * @param sender Sender wallet address\n * @param receiver Receiver wallet address\n * @param amount Amount of assets that will be transferred\n * @returns Transaction signer\n */\n async transfer(\n sender: WalletAddress,\n receiver: WalletAddress,\n amount: TransferAmount\n ): Promise {\n if (amount < 0) {\n throw new Error(ErrorTypeEnum.INVALID_AMOUNT)\n }\n\n if (amount > (await this.getBalance(sender))) {\n throw new Error(ErrorTypeEnum.INSUFFICIENT_BALANCE)\n }\n\n const hexAmount = numberToHex(amount, this.getDecimals())\n\n const txData: TransactionData = {\n data: '0x',\n to: receiver,\n from: sender,\n value: hexAmount,\n chainId: this.provider.network.id\n }\n\n const [gasPrice, nonce, gasLimit] = await Promise.all([\n this.provider.ethers.getGasPrice(),\n this.provider.ethers.getNonce(sender),\n this.provider.ethers.getEstimateGas(txData)\n ])\n\n txData.nonce = nonce\n txData.gasPrice = gasPrice\n txData.gasLimit = gasLimit\n\n return new TransactionSigner(txData)\n }\n}\n","import { Contract } from './Contract'\nimport type { InterfaceAbi } from 'ethers'\nimport ERC20 from '../../resources/ERC20.json'\nimport type { Provider } from '../services/Provider'\nimport { hexToNumber, numberToHex } from '@multiplechain/utils'\nimport { TransactionSigner } from '../services/TransactionSigner'\nimport {\n ErrorTypeEnum,\n type ContractAddress,\n type TokenInterface,\n type TransferAmount,\n type WalletAddress\n} from '@multiplechain/types'\n\nexport class Token extends Contract implements TokenInterface {\n /**\n * @param address Contract address\n * @param provider Blockchain network provider\n * @param ABI Contract ABI\n */\n constructor(address: ContractAddress, provider?: Provider, ABI?: InterfaceAbi) {\n super(address, provider, ABI ?? ERC20)\n }\n\n /**\n * @returns Token name\n */\n async getName(): Promise {\n return (await this.callMethodWithCache('name')) as string\n }\n\n /**\n * @returns Token symbol\n */\n async getSymbol(): Promise {\n return (await this.callMethodWithCache('symbol')) as string\n }\n\n /**\n * @returns Decimal value of the token\n */\n async getDecimals(): Promise {\n return Number(await this.callMethodWithCache('decimals'))\n }\n\n /**\n * @param owner Wallet address\n * @returns Wallet balance as currency of TOKEN\n */\n async getBalance(owner: WalletAddress): Promise {\n const [decimals, balance] = await Promise.all([\n this.getDecimals(),\n this.callMethod('balanceOf', owner)\n ])\n return hexToNumber(balance as string, decimals)\n }\n\n /**\n * @returns Total supply of the token\n */\n async getTotalSupply(): Promise {\n const [decimals, totalSupply] = await Promise.all([\n this.getDecimals(),\n this.callMethod('totalSupply')\n ])\n return hexToNumber(totalSupply as string, decimals)\n }\n\n /**\n * @param owner Address of owner of the tokens that is being used\n * @param spender Address of the spender that is using the tokens of owner\n * @returns Amount of tokens that the spender is allowed to spend\n */\n async getAllowance(owner: WalletAddress, spender: WalletAddress): Promise {\n const [decimals, allowance] = await Promise.all([\n this.getDecimals(),\n await this.callMethod('allowance', owner, spender)\n ])\n return hexToNumber(allowance as string, decimals)\n }\n\n /**\n * transfer() method is the main method for processing transfers for fungible assets (TOKEN, COIN)\n * @param sender Sender wallet address\n * @param receiver Receiver wallet address\n * @param amount Amount of assets that will be transferred\n * @returns Transaction signer\n */\n async transfer(\n sender: WalletAddress,\n receiver: WalletAddress,\n amount: TransferAmount\n ): Promise {\n if (amount <= 0) {\n throw new Error(ErrorTypeEnum.INVALID_AMOUNT)\n }\n\n const balance = await this.getBalance(sender)\n\n if (amount > balance) {\n throw new Error(ErrorTypeEnum.INSUFFICIENT_BALANCE)\n }\n\n const hexAmount = numberToHex(amount, await this.getDecimals())\n\n return new TransactionSigner(\n await this.createTransactionData('transfer', sender, receiver, hexAmount)\n )\n }\n\n /**\n * @param spender Address of the spender of transaction\n * @param owner Sender wallet address\n * @param receiver Receiver wallet address\n * @param amount Amount of tokens that will be transferred\n * @returns Transaction signer\n */\n async transferFrom(\n spender: WalletAddress,\n owner: WalletAddress,\n receiver: WalletAddress,\n amount: TransferAmount\n ): Promise {\n if (amount < 0) {\n throw new Error(ErrorTypeEnum.INVALID_AMOUNT)\n }\n\n const balance = await this.getBalance(owner)\n\n if (amount > balance) {\n throw new Error(ErrorTypeEnum.INSUFFICIENT_BALANCE)\n }\n\n const allowance = await this.getAllowance(owner, spender)\n\n if (allowance === 0) {\n throw new Error(ErrorTypeEnum.UNAUTHORIZED_ADDRESS)\n }\n\n if (amount > allowance) {\n throw new Error(ErrorTypeEnum.INVALID_AMOUNT)\n }\n\n const hexAmount = numberToHex(amount, await this.getDecimals())\n\n return new TransactionSigner(\n await this.createTransactionData('transferFrom', spender, owner, receiver, hexAmount)\n )\n }\n\n /**\n * Gives permission to the spender to spend owner's tokens\n * @param owner Address of owner of the tokens that will be used\n * @param spender Address of the spender that will use the tokens of owner\n * @param amount Amount of the tokens that will be used\n * @returns Transaction signer\n */\n async approve(\n owner: WalletAddress,\n spender: WalletAddress,\n amount: TransferAmount\n ): Promise {\n if (amount < 0) {\n throw new Error(ErrorTypeEnum.INVALID_AMOUNT)\n }\n\n const balance = await this.getBalance(owner)\n\n if (amount > balance) {\n throw new Error(ErrorTypeEnum.INSUFFICIENT_BALANCE)\n }\n\n const hexAmount = numberToHex(amount, await this.getDecimals())\n\n return new TransactionSigner(\n await this.createTransactionData('approve', owner, spender, hexAmount)\n )\n }\n}\n","import { Provider } from '../services/Provider'\nimport { ErrorTypeEnum, TransactionStatusEnum } from '@multiplechain/types'\nimport {\n TransactionTypeEnum,\n type BlockConfirmationCount,\n type BlockNumber,\n type BlockTimestamp,\n type TransactionFee,\n type TransactionId,\n type TransactionInterface,\n type WalletAddress\n} from '@multiplechain/types'\nimport type { TransactionReceipt, TransactionResponse } from 'ethers'\nimport type { Ethers } from '../services/Ethers'\nimport { hexToNumber } from '@multiplechain/utils'\nimport { NFT } from '../assets/NFT'\n\nconst selectors = {\n // ERC20\n [TransactionTypeEnum.TOKEN]: [\n '0xa9059cbb', // transfer(address,uint256)\n '0x095ea7b3', // approve(address,uint256)\n '0x23b872dd' // transferFrom(address,address,uint256)\n ],\n // ERC721, ERC1155\n [TransactionTypeEnum.NFT]: [\n // ERC721\n '0x23b872dd', // transferFrom(address,address,uint256)\n '0x095ea7b3', // approve(address,uint256)\n '0x42842e0e', // safeTransferFrom(address,address,uint256)\n '0xb88d4fde', // safeTransferFrom(address,address,uint256,bytes)\n // ERC1155\n '0xf242432a', // safeTransferFrom(address,address,uint256,uint256,bytes)\n '0x2eb2c2d6', // safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\n '0x29535c7e' // setApprovalForAll(address,bool)\n ]\n}\n\ninterface TransactionData {\n response: TransactionResponse\n receipt: TransactionReceipt | null\n}\n\nexport class Transaction implements TransactionInterface {\n /**\n * Each transaction has its own unique ID defined by the user\n */\n id: TransactionId\n\n /**\n * Blockchain network provider\n */\n provider: Provider\n\n /**\n * Ethers service\n */\n ethers: Ethers\n\n /**\n * Transaction data after completed\n */\n data: TransactionData\n\n /**\n * @param id Transaction id\n * @param provider Blockchain network provider\n */\n constructor(id: TransactionId, provider?: Provider) {\n this.id = id\n this.provider = provider ?? Provider.instance\n this.ethers = this.provider.ethers\n }\n\n /**\n * @returns Transaction data\n */\n async getData(): Promise {\n if (this.data?.response !== undefined && this.data?.receipt !== null) {\n return this.data\n }\n try {\n const response = await this.ethers.getTransaction(this.id)\n if (response === null) {\n return null\n }\n const receipt = await this.ethers.getTransactionReceipt(this.id)\n return (this.data = { response, receipt })\n } catch (error) {\n if (error instanceof Error && String(error.message).includes('timeout')) {\n throw new Error(ErrorTypeEnum.RPC_TIMEOUT)\n }\n throw new Error(ErrorTypeEnum.RPC_REQUEST_ERROR)\n }\n }\n\n /**\n * @param ms - Milliseconds to wait for the transaction to be confirmed. Default is 4000ms\n * @returns Status of the transaction\n */\n async wait(ms: number = 4000): Promise {\n return await new Promise((resolve, reject) => {\n const check = async (): Promise => {\n try {\n const status = await this.getStatus()\n if (status !== TransactionStatusEnum.PENDING) {\n resolve(status)\n return\n }\n setTimeout(check, ms)\n } catch (error) {\n reject(TransactionStatusEnum.FAILED)\n }\n }\n void check()\n })\n }\n\n /**\n * @returns Transaction id from the blockchain network\n */\n getId(): TransactionId {\n return this.id\n }\n\n /**\n * @returns Type of the transaction\n */\n async getType(): Promise {\n const txData = await this.getData()\n\n if (txData === null) {\n return TransactionTypeEnum.GENERAL\n }\n\n const contractBytecode = await this.provider.ethers.getByteCode(txData.response.to ?? '')\n\n if (contractBytecode === '0x' || txData.response.data === '0x') {\n return TransactionTypeEnum.COIN\n }\n\n const type = Object.entries(selectors).find(([_key, values]) => {\n return values.includes(txData.response.data.slice(0, 10))\n })\n\n if (type !== undefined) {\n const tryNft = new NFT(txData.response.to ?? '')\n try {\n await tryNft.getApproved(1)\n return TransactionTypeEnum.NFT\n } catch {\n return TransactionTypeEnum.TOKEN\n }\n }\n\n return TransactionTypeEnum.CONTRACT\n }\n\n /**\n * @returns URL of the transaction on the blockchain explorer\n */\n getUrl(): string {\n let explorerUrl = this.provider.network.explorerUrl\n explorerUrl += explorerUrl.endsWith('/') ? '' : '/'\n explorerUrl += 'tx/' + this.id\n return explorerUrl\n }\n\n /**\n * @returns Signer wallet address of the transaction\n */\n async getSigner(): Promise {\n const data = await this.getData()\n return data?.response.from ?? ''\n }\n\n /**\n * @returns Fee of the transaction\n */\n async getFee(): Promise {\n const data = await this.getData()\n if (data?.response?.gasPrice === undefined || data?.receipt?.gasUsed === undefined) {\n return 0\n }\n return hexToNumber(\n (data?.response.gasPrice * data?.receipt.gasUsed).toString(),\n this.provider.network.nativeCurrency.decimals\n )\n }\n\n /**\n * @returns Block number that transaction\n */\n async getBlockNumber(): Promise {\n const data = await this.getData()\n return data?.response.blockNumber ?? 0\n }\n\n /**\n * @returns Timestamp of the block that transaction\n */\n async getBlockTimestamp(): Promise {\n const blockNumber = await this.getBlockNumber()\n const block = await this.ethers.getBlock(blockNumber)\n return block?.timestamp ?? 0\n }\n\n /**\n * @returns Confirmation count of the block that transaction\n */\n async getBlockConfirmationCount(): Promise {\n const blockNumber = await this.getBlockNumber()\n const blockCount = await this.ethers.getBlockNumber()\n const confirmations = blockCount - blockNumber\n return confirmations < 0 ? 0 : confirmations\n }\n\n /**\n * @returns Status of the transaction\n */\n async getStatus(): Promise {\n const data = await this.getData()\n if (data?.response.blockNumber !== null && data?.receipt !== null) {\n if (data?.receipt.status === 1) {\n return TransactionStatusEnum.CONFIRMED\n } else {\n return TransactionStatusEnum.FAILED\n }\n }\n return TransactionStatusEnum.PENDING\n }\n}\n","import { Transaction } from './Transaction'\nimport type {\n ContractAddress,\n ContractTransactionInterface,\n TransactionId\n} from '@multiplechain/types'\nimport {\n Interface,\n type InterfaceAbi,\n type TransactionResponse,\n type TransactionDescription\n} from 'ethers'\nimport type { Provider } from '../services/Provider'\n\nexport class ContractTransaction extends Transaction implements ContractTransactionInterface {\n /**\n */\n ABI: InterfaceAbi\n\n /**\n * @param id Transaction id\n * @param provider Blockchain network provider\n * @param ABI Contract ABI\n */\n constructor(id: TransactionId, provider?: Provider, ABI?: InterfaceAbi) {\n super(id, provider)\n this.ABI = ABI ?? []\n }\n\n /**\n * @returns Contract address of the transaction\n */\n async getAddress(): Promise {\n const data = await this.getData()\n return data?.response.to ?? ''\n }\n\n /**\n * @param response Transaction response\n * @returns Decoded transaction data\n */\n async decodeData(response?: TransactionResponse): Promise {\n if (response === undefined) {\n const data = await this.getData()\n if (data === null) return null\n response = data.response\n }\n\n return new Interface(this.ABI).parseTransaction({\n data: response.data ?? '',\n value: response.value ?? 0\n })\n }\n}\n","import type { InterfaceAbi } from 'ethers'\nimport ERC721 from '../../resources/ERC721.json'\nimport type { Provider } from '../services/Provider'\nimport { ContractTransaction } from './ContractTransaction'\nimport type {\n NftId,\n NftTransactionInterface,\n TransactionId,\n WalletAddress\n} from '@multiplechain/types'\nimport { TransactionStatusEnum, AssetDirectionEnum } from '@multiplechain/types'\n\nexport class NftTransaction extends ContractTransaction implements NftTransactionInterface {\n /**\n * @param id Transaction id\n * @param provider Blockchain network provider\n * @param ABI Contract ABI\n */\n constructor(id: TransactionId, provider?: Provider, ABI?: InterfaceAbi) {\n super(id, provider, ABI ?? (ERC721 as InterfaceAbi))\n }\n\n /**\n * @returns Receiver wallet address\n */\n async getReceiver(): Promise {\n const decoded = await this.decodeData()\n\n if (decoded === null) {\n return ''\n }\n\n if (decoded.name === 'transferFrom') {\n return decoded.args[1]\n }\n\n return decoded.args[0]\n }\n\n /**\n * @returns Sender wallet address\n */\n async getSender(): Promise {\n const decoded = await this.decodeData()\n\n if (decoded === null) {\n return ''\n }\n\n if (decoded.name === 'transferFrom') {\n return decoded.args[0]\n }\n\n return await this.getSigner()\n }\n\n /**\n * @returns NFT ID\n */\n async getNftId(): Promise {\n return Number((await this.decodeData())?.args[2] ?? 0)\n }\n\n /**\n * @param direction - Direction of the transaction (nft)\n * @param address - Wallet address of the receiver or sender of the transaction, dependant on direction\n * @param nftId ID of the NFT that will be transferred\n * @returns Status of the transaction\n */\n async verifyTransfer(\n direction: AssetDirectionEnum,\n address: WalletAddress,\n nftId: NftId\n ): Promise {\n const status = await this.getStatus()\n\n if (status === TransactionStatusEnum.PENDING) {\n return TransactionStatusEnum.PENDING\n }\n\n if ((await this.getNftId()) !== nftId) {\n return TransactionStatusEnum.FAILED\n }\n\n if (direction === AssetDirectionEnum.INCOMING) {\n if ((await this.getReceiver()).toLowerCase() !== address.toLowerCase()) {\n return TransactionStatusEnum.FAILED\n }\n } else {\n if ((await this.getSender()).toLowerCase() !== address.toLowerCase()) {\n return TransactionStatusEnum.FAILED\n }\n }\n\n return TransactionStatusEnum.CONFIRMED\n }\n}\n","import { Transaction } from './Transaction'\nimport { hexToNumber } from '@multiplechain/utils'\nimport { TransactionStatusEnum, AssetDirectionEnum } from '@multiplechain/types'\nimport type { WalletAddress, CoinTransactionInterface, TransferAmount } from '@multiplechain/types'\n\nexport class CoinTransaction extends Transaction implements CoinTransactionInterface {\n /**\n * @returns Wallet address of the receiver of transaction\n */\n async getReceiver(): Promise {\n const data = await this.getData()\n return data?.response.to ?? ''\n }\n\n /**\n * @returns Wallet address of the sender of transaction\n */\n async getSender(): Promise {\n return await this.getSigner()\n }\n\n /**\n * @returns Amount of coin that will be transferred\n */\n async getAmount(): Promise {\n const data = await this.getData()\n const { decimals } = this.provider.network.nativeCurrency\n return hexToNumber((data?.response.value ?? 0).toString(), decimals)\n }\n\n /**\n * @param direction - Direction of the transaction (asset)\n * @param address - Wallet address of the receiver or sender of the transaction, dependant on direction\n * @param amount Amount of assets that will be transferred\n * @returns Status of the transaction\n */\n async verifyTransfer(\n direction: AssetDirectionEnum,\n address: WalletAddress,\n amount: TransferAmount\n ): Promise {\n const status = await this.getStatus()\n\n if (status === TransactionStatusEnum.PENDING) {\n return TransactionStatusEnum.PENDING\n }\n\n if ((await this.getAmount()) !== amount) {\n return TransactionStatusEnum.FAILED\n }\n\n if (direction === AssetDirectionEnum.INCOMING) {\n if ((await this.getReceiver()).toLowerCase() !== address.toLowerCase()) {\n return TransactionStatusEnum.FAILED\n }\n } else {\n if ((await this.getSender()).toLowerCase() !== address.toLowerCase()) {\n return TransactionStatusEnum.FAILED\n }\n }\n\n return TransactionStatusEnum.CONFIRMED\n }\n}\n","import { Token } from '../assets/Token'\nimport type { InterfaceAbi } from 'ethers'\nimport ERC20 from '../../resources/ERC20.json'\nimport { hexToNumber } from '@multiplechain/utils'\nimport type { Provider } from '../services/Provider'\nimport { ContractTransaction } from './ContractTransaction'\nimport { TransactionStatusEnum, AssetDirectionEnum } from '@multiplechain/types'\nimport type {\n TransactionId,\n TokenTransactionInterface,\n WalletAddress,\n TransferAmount\n} from '@multiplechain/types'\n\nexport class TokenTransaction extends ContractTransaction implements TokenTransactionInterface {\n /**\n * @param id Transaction id\n * @param provider Blockchain network provider\n * @param ABI Contract ABI\n */\n constructor(id: TransactionId, provider?: Provider, ABI?: InterfaceAbi) {\n super(id, provider, ABI ?? (ERC20 as InterfaceAbi))\n }\n\n /**\n * @returns Receiver wallet address\n */\n async getReceiver(): Promise {\n const decoded = await this.decodeData()\n\n if (decoded === null) {\n return ''\n }\n\n if (decoded.name === 'transferFrom') {\n return decoded.args[1]\n }\n\n return decoded.args[0]\n }\n\n /**\n * @returns Wallet address of the sender of transaction\n */\n async getSender(): Promise {\n const decoded = await this.decodeData()\n\n if (decoded === null) {\n return ''\n }\n\n if (decoded.name === 'transferFrom') {\n return decoded.args[0]\n }\n\n return await this.getSigner()\n }\n\n /**\n * @returns Amount of tokens that will be transferred\n */\n async getAmount(): Promise {\n const token = new Token(await this.getAddress())\n const decoded = await this.decodeData()\n if (decoded === null) {\n return 0\n }\n\n if (decoded.name === 'transferFrom') {\n return hexToNumber((decoded.args[2] as bigint).toString(), await token.getDecimals())\n }\n\n return hexToNumber((decoded.args[1] as bigint).toString(), await token.getDecimals())\n }\n\n /**\n * @param direction - Direction of the transaction (token)\n * @param address - Wallet address of the owner or spender of the transaction, dependant on direction\n * @param amount Amount of tokens that will be approved\n * @returns Status of the transaction\n */\n async verifyTransfer(\n direction: AssetDirectionEnum,\n address: WalletAddress,\n amount: TransferAmount\n ): Promise {\n const status = await this.getStatus()\n\n if (status === TransactionStatusEnum.PENDING) {\n return TransactionStatusEnum.PENDING\n }\n\n if ((await this.getAmount()) !== amount) {\n return TransactionStatusEnum.FAILED\n }\n\n if (direction === AssetDirectionEnum.INCOMING) {\n if ((await this.getReceiver()).toLowerCase() !== address.toLowerCase()) {\n return TransactionStatusEnum.FAILED\n }\n } else {\n if ((await this.getSender()).toLowerCase() !== address.toLowerCase()) {\n return TransactionStatusEnum.FAILED\n }\n }\n\n return TransactionStatusEnum.CONFIRMED\n }\n}\n","import type {\n TransactionTypeEnum,\n DynamicTransactionType,\n TransactionListenerInterface,\n DynamicTransactionListenerFilterType,\n TransactionId\n} from '@multiplechain/types'\n\nimport { Provider } from './Provider'\nimport type { Ethers } from './Ethers'\nimport { id, zeroPadValue } from 'ethers'\nimport { objectsEqual } from '@multiplechain/utils'\nimport { Transaction } from '../models/Transaction'\nimport { NftTransaction } from '../models/NftTransaction'\nimport { CoinTransaction } from '../models/CoinTransaction'\nimport { TokenTransaction } from '../models/TokenTransaction'\nimport { ErrorTypeEnum, TransactionListenerProcessIndex } from '@multiplechain/types'\nimport { ContractTransaction } from '../models/ContractTransaction'\nimport {\n type WebSocketProvider,\n type JsonRpcApiProvider,\n type EventFilter,\n type Log,\n type TransactionResponse\n} from 'ethers'\n\ntype TransactionListenerTriggerType = DynamicTransactionType<\n T,\n Transaction,\n ContractTransaction,\n CoinTransaction,\n TokenTransaction,\n NftTransaction\n>\n\ntype TransactionListenerCallbackType<\n T extends TransactionTypeEnum,\n Transaction = TransactionListenerTriggerType\n> = (transaction: Transaction) => void\n\nexport class TransactionListener<\n T extends TransactionTypeEnum,\n DTransaction extends TransactionListenerTriggerType,\n CallBackType extends TransactionListenerCallbackType\n> implements TransactionListenerInterface\n{\n /**\n * Transaction type\n */\n type: T\n\n /**\n * Provider\n */\n provider: Provider\n\n /**\n * Listener status\n */\n status: boolean = false\n\n /**\n * JSON-RPC provider\n */\n ethers: Ethers\n\n /**\n * JSON-RPC provider\n */\n jsonRpc: JsonRpcApiProvider\n\n /**\n * WebSocket provider\n */\n webSocket: WebSocketProvider\n\n /**\n * Transaction listener callback\n */\n callbacks: CallBackType[] = []\n\n /**\n * Dynamic stop method\n */\n dynamicStop: () => void = () => {}\n\n /**\n * Triggered transactions\n */\n triggeredTransactions: TransactionId[] = []\n\n /**\n * Transaction listener filter\n */\n filter?: DynamicTransactionListenerFilterType | Record\n\n /**\n * @param type - Transaction type\n * @param filter - Transaction listener filter\n * @param provider - Provider\n */\n constructor(type: T, filter?: DynamicTransactionListenerFilterType, provider?: Provider) {\n this.type = type\n this.filter = filter ?? {}\n this.provider = provider ?? Provider.instance\n this.ethers = this.provider.ethers\n this.jsonRpc = this.provider.ethers.jsonRpc\n }\n\n /**\n * Close the listener\n */\n stop(): void {\n if (this.status) {\n this.status = false\n this.dynamicStop()\n }\n }\n\n /**\n * Start the listener\n */\n start(): void {\n if (!this.status) {\n this.status = true\n // @ts-expect-error allow dynamic access\n this[TransactionListenerProcessIndex[this.type]]()\n }\n }\n\n /**\n * Get the listener status\n * @returns - Listener status\n */\n getStatus(): boolean {\n return this.status\n }\n\n /**\n * Listen to the transaction events\n * @param callback - Callback function\n * @returns - listener status\n */\n async on(callback: CallBackType): Promise {\n if (this.webSocket === undefined) {\n const socket = await this.provider.ethers.connectWebSocket()\n if (typeof socket === 'string') {\n throw new Error(ErrorTypeEnum.WS_CONNECTION_FAILED)\n } else {\n this.webSocket = socket\n }\n }\n\n this.start()\n this.callbacks.push(callback)\n\n return true\n }\n\n /**\n * Trigger the event when a transaction is detected\n * @param transaction - Transaction data\n */\n trigger(transaction: TransactionListenerTriggerType): void {\n if (!this.triggeredTransactions.includes(transaction.id)) {\n this.triggeredTransactions.push(transaction.id)\n this.callbacks.forEach((callback) => {\n callback(transaction as unknown as DTransaction)\n })\n }\n }\n\n /**\n * General transaction process\n */\n generalProcess(): void {\n const callback = async (transactionId: string): Promise => {\n if (this.filter?.signer !== undefined) {\n const transaction = await this.ethers.getTransaction(transactionId)\n if (transaction?.from.toLowerCase() !== this.filter.signer.toLowerCase()) {\n return\n }\n }\n\n this.trigger(new Transaction(transactionId))\n }\n\n void this.webSocket.on('pending', callback)\n this.dynamicStop = () => {\n void this.webSocket.off('pending', callback)\n }\n }\n\n /**\n * Contract transaction process\n */\n contractProcess(): void {\n const filter = this\n .filter as DynamicTransactionListenerFilterType\n\n let params: string | EventFilter\n if (filter.address === undefined) {\n params = 'pending'\n } else {\n params = {\n address: filter.address\n }\n }\n\n const checkSigner = (transaction: TransactionResponse | null): boolean => {\n if (transaction === null) {\n return false\n }\n\n interface ParamsType {\n signer?: string\n }\n\n const expectedParams: ParamsType = {}\n const receivedParams: ParamsType = {}\n\n if (filter.signer !== undefined) {\n expectedParams.signer = filter.signer.toLowerCase()\n receivedParams.signer = transaction.from.toLowerCase()\n }\n\n if (!objectsEqual(expectedParams, receivedParams)) {\n return false\n }\n\n return true\n }\n\n const callback = async (transactionIdOrLog: string | Log): Promise => {\n let transaction: TransactionResponse | null\n if (typeof transactionIdOrLog === 'string') {\n transaction = await this.ethers.getTransaction(transactionIdOrLog)\n\n if (!checkSigner(transaction)) {\n return\n }\n\n const contractBytecode = await this.ethers.getByteCode(transaction?.to ?? '')\n\n if (contractBytecode === '0x') {\n return\n }\n } else {\n transaction = await this.ethers.getTransaction(transactionIdOrLog.transactionHash)\n }\n\n if (!checkSigner(transaction)) {\n return\n }\n\n // @ts-expect-error already checking ing checkSigner\n this.trigger(new ContractTransaction(transaction.hash))\n }\n\n void this.webSocket.on(params, callback)\n this.dynamicStop = () => {\n void this.webSocket.off(params, callback)\n }\n }\n\n /**\n * Coin transaction process\n */\n coinProcess(): void {\n const filter = this.filter as DynamicTransactionListenerFilterType\n\n if (\n filter.signer !== undefined &&\n filter.sender !== undefined &&\n filter.signer !== filter.sender\n ) {\n throw new Error(\n 'Sender and signer must be the same in coin transactions. Or only one of them can be defined.'\n )\n }\n\n const callback = async (transactionId: string): Promise => {\n const tx = await this.ethers.getTransaction(transactionId)\n\n if (tx === null) {\n return\n }\n\n const sender = filter.sender ?? filter.signer\n\n interface ParamsType {\n sender?: string\n receiver?: string\n }\n\n const expectedParams: ParamsType = {}\n const receivedParams: ParamsType = {}\n\n if (sender !== undefined) {\n expectedParams.sender = sender.toLowerCase()\n receivedParams.sender = tx.from.toLowerCase()\n }\n\n if (filter.receiver !== undefined) {\n expectedParams.receiver = filter.receiver.toLowerCase()\n receivedParams.receiver = tx.to?.toLowerCase()\n }\n\n if (!objectsEqual(expectedParams, receivedParams)) {\n return\n }\n\n const contractBytecode = await this.ethers.getByteCode(tx?.to ?? '')\n\n if (contractBytecode !== '0x') {\n return\n }\n\n const transaction = new CoinTransaction(transactionId)\n\n if (filter.amount !== undefined) {\n await transaction.wait()\n const amount = await transaction.getAmount()\n if (amount !== filter.amount) {\n return\n }\n }\n\n this.trigger(transaction)\n }\n\n void this.webSocket.on('pending', callback)\n this.dynamicStop = () => {\n void this.webSocket.off('pending', callback)\n }\n }\n\n /**\n * Token transaction process\n */\n tokenProcess(): void {\n const filter = this\n .filter as DynamicTransactionListenerFilterType\n\n const params: EventFilter = {\n address: filter.address,\n topics: [\n id('Transfer(address,address,uint256)'),\n filter.sender !== undefined ? zeroPadValue(filter.sender, 32) : null,\n filter.receiver !== undefined ? zeroPadValue(filter.receiver, 32) : null\n ]\n }\n\n const callback = async (transactionLog: Log): Promise => {\n const transaction = new TokenTransaction(transactionLog.transactionHash)\n const data = await transaction.getData()\n\n if (data === null) {\n return\n }\n\n const decodedData = await transaction.decodeData(data.response)\n\n if (decodedData === null) {\n return\n }\n\n if (decodedData.name !== 'transfer' && decodedData.name !== 'transferFrom') {\n return\n }\n\n interface ParamsType {\n signer?: string\n }\n\n const expectedParams: ParamsType = {}\n const receivedParams: ParamsType = {}\n\n if (filter.signer !== undefined) {\n expectedParams.signer = filter.signer.toLowerCase()\n receivedParams.signer = data.response.from.toLowerCase()\n }\n\n if (!objectsEqual(expectedParams, receivedParams)) {\n return\n }\n\n if (filter.amount !== undefined) {\n await transaction.wait()\n const amount = await transaction.getAmount()\n if (amount !== filter.amount) {\n return\n }\n }\n\n this.trigger(transaction)\n }\n\n void this.webSocket.on(params, callback)\n this.dynamicStop = () => {\n void this.webSocket.off(params, callback)\n }\n }\n\n /**\n * NFT transaction process\n */\n nftProcess(): void {\n const filter = this.filter as DynamicTransactionListenerFilterType\n\n const params: EventFilter = {\n address: filter.address,\n topics: [\n id('Transfer(address,address,uint256)'),\n filter.sender !== undefined ? zeroPadValue(filter.sender, 32) : null,\n filter.receiver !== undefined ? zeroPadValue(filter.receiver, 32) : null,\n filter.nftId !== undefined\n ? zeroPadValue(`0x0${filter.nftId.toString(16)}`, 32)\n : null\n ]\n }\n\n const callback = async (transactionLog: Log): Promise => {\n const transaction = new NftTransaction(transactionLog.transactionHash)\n const data = await transaction.getData()\n\n if (data === null) {\n return\n }\n\n const decodedData = await transaction.decodeData(data.response)\n\n if (decodedData === null) {\n return\n }\n\n if (decodedData.name !== 'transferFrom') {\n return\n }\n\n interface ParamsType {\n signer?: string\n }\n\n const expectedParams: ParamsType = {}\n const receivedParams: ParamsType = {}\n\n if (filter.signer !== undefined) {\n expectedParams.signer = filter.signer.toLowerCase()\n receivedParams.signer = data.response.from.toLowerCase()\n }\n\n if (!objectsEqual(expectedParams, receivedParams)) {\n return\n }\n\n this.trigger(transaction)\n }\n\n void this.webSocket.on(params, callback)\n this.dynamicStop = () => {\n void this.webSocket.off(params, callback)\n }\n }\n}\n","const e=Symbol(),t=Symbol(),r=\"a\",n=\"w\";let o=(e,t)=>new Proxy(e,t);const s=Object.getPrototypeOf,c=new WeakMap,l=e=>e&&(c.has(e)?c.get(e):s(e)===Object.prototype||s(e)===Array.prototype),f=e=>\"object\"==typeof e&&null!==e,i=e=>{if(Array.isArray(e))return Array.from(e);const t=Object.getOwnPropertyDescriptors(e);return Object.values(t).forEach(e=>{e.configurable=!0}),Object.create(s(e),t)},u=e=>e[t]||e,a=(s,c,f,p)=>{if(!l(s))return s;let g=p&&p.get(s);if(!g){const e=u(s);g=(e=>Object.values(Object.getOwnPropertyDescriptors(e)).some(e=>!e.configurable&&!e.writable))(e)?[e,i(e)]:[e],null==p||p.set(s,g)}const[y,h]=g;let w=f&&f.get(y);return w&&w[1].f===!!h||(w=((o,s)=>{const c={f:s};let l=!1;const f=(e,t)=>{if(!l){let s=c[r].get(o);if(s||(s={},c[r].set(o,s)),e===n)s[n]=!0;else{let r=s[e];r||(r=new Set,s[e]=r),r.add(t)}}},i={get:(e,n)=>n===t?o:(f(\"k\",n),a(Reflect.get(e,n),c[r],c.c,c.t)),has:(t,n)=>n===e?(l=!0,c[r].delete(o),!0):(f(\"h\",n),Reflect.has(t,n)),getOwnPropertyDescriptor:(e,t)=>(f(\"o\",t),Reflect.getOwnPropertyDescriptor(e,t)),ownKeys:e=>(f(n),Reflect.ownKeys(e))};return s&&(i.set=i.deleteProperty=()=>!1),[i,c]})(y,!!h),w[1].p=o(h||y,w[0]),f&&f.set(y,w)),w[1][r]=c,w[1].c=f,w[1].t=p,w[1].p},p=(e,t,r,o)=>{if(Object.is(e,t))return!1;if(!f(e)||!f(t))return!0;const s=r.get(u(e));if(!s)return!0;if(o){const r=o.get(e);if(r&&r.n===t)return r.g;o.set(e,{n:t,g:!1})}let c=null;try{for(const r of s.h||[])if(c=Reflect.has(e,r)!==Reflect.has(t,r),c)return c;if(!0===s[n]){if(c=((e,t)=>{const r=Reflect.ownKeys(e),n=Reflect.ownKeys(t);return r.length!==n.length||r.some((e,t)=>e!==n[t])})(e,t),c)return c}else for(const r of s.o||[])if(c=!!Reflect.getOwnPropertyDescriptor(e,r)!=!!Reflect.getOwnPropertyDescriptor(t,r),c)return c;for(const n of s.k||[])if(c=p(e[n],t[n],r,o),c)return c;return null===c&&(c=!0),c}finally{o&&o.set(e,{n:t,g:c})}},g=t=>!!l(t)&&e in t,y=e=>l(e)&&e[t]||null,h=(e,t=!0)=>{c.set(e,t)},w=(e,t,r)=>{const o=[],s=new WeakSet,c=(e,l)=>{if(s.has(e))return;f(e)&&s.add(e);const i=f(e)&&t.get(u(e));if(i){var a,p;if(null==(a=i.h)||a.forEach(e=>{const t=`:has(${String(e)})`;o.push(l?[...l,t]:[t])}),!0===i[n]){const e=\":ownKeys\";o.push(l?[...l,e]:[e])}else{var g;null==(g=i.o)||g.forEach(e=>{const t=`:hasOwn(${String(e)})`;o.push(l?[...l,t]:[t])})}null==(p=i.k)||p.forEach(t=>{r&&!(\"value\"in(Object.getOwnPropertyDescriptor(e,t)||{}))||c(e[t],l?[...l,t]:[t])})}else l&&o.push(l)};return c(e),o},O=e=>{o=e};export{w as affectedToPathList,a as createProxy,y as getUntracked,p as isChanged,h as markToTrack,O as replaceNewProxy,g as trackMemo};\n//# sourceMappingURL=index.modern.mjs.map\n","import { markToTrack, getUntracked } from 'proxy-compare';\n\nconst isObject = (x) => typeof x === \"object\" && x !== null;\nconst proxyStateMap = /* @__PURE__ */ new WeakMap();\nconst refSet = /* @__PURE__ */ new WeakSet();\nconst buildProxyFunction = (objectIs = Object.is, newProxy = (target, handler) => new Proxy(target, handler), canProxy = (x) => isObject(x) && !refSet.has(x) && (Array.isArray(x) || !(Symbol.iterator in x)) && !(x instanceof WeakMap) && !(x instanceof WeakSet) && !(x instanceof Error) && !(x instanceof Number) && !(x instanceof Date) && !(x instanceof String) && !(x instanceof RegExp) && !(x instanceof ArrayBuffer), defaultHandlePromise = (promise) => {\n switch (promise.status) {\n case \"fulfilled\":\n return promise.value;\n case \"rejected\":\n throw promise.reason;\n default:\n throw promise;\n }\n}, snapCache = /* @__PURE__ */ new WeakMap(), createSnapshot = (target, version, handlePromise = defaultHandlePromise) => {\n const cache = snapCache.get(target);\n if ((cache == null ? void 0 : cache[0]) === version) {\n return cache[1];\n }\n const snap = Array.isArray(target) ? [] : Object.create(Object.getPrototypeOf(target));\n markToTrack(snap, true);\n snapCache.set(target, [version, snap]);\n Reflect.ownKeys(target).forEach((key) => {\n if (Object.getOwnPropertyDescriptor(snap, key)) {\n return;\n }\n const value = Reflect.get(target, key);\n const desc = {\n value,\n enumerable: true,\n // This is intentional to avoid copying with proxy-compare.\n // It's still non-writable, so it avoids assigning a value.\n configurable: true\n };\n if (refSet.has(value)) {\n markToTrack(value, false);\n } else if (value instanceof Promise) {\n delete desc.value;\n desc.get = () => handlePromise(value);\n } else if (proxyStateMap.has(value)) {\n const [target2, ensureVersion] = proxyStateMap.get(\n value\n );\n desc.value = createSnapshot(\n target2,\n ensureVersion(),\n handlePromise\n );\n }\n Object.defineProperty(snap, key, desc);\n });\n return Object.preventExtensions(snap);\n}, proxyCache = /* @__PURE__ */ new WeakMap(), versionHolder = [1, 1], proxyFunction = (initialObject) => {\n if (!isObject(initialObject)) {\n throw new Error(\"object required\");\n }\n const found = proxyCache.get(initialObject);\n if (found) {\n return found;\n }\n let version = versionHolder[0];\n const listeners = /* @__PURE__ */ new Set();\n const notifyUpdate = (op, nextVersion = ++versionHolder[0]) => {\n if (version !== nextVersion) {\n version = nextVersion;\n listeners.forEach((listener) => listener(op, nextVersion));\n }\n };\n let checkVersion = versionHolder[1];\n const ensureVersion = (nextCheckVersion = ++versionHolder[1]) => {\n if (checkVersion !== nextCheckVersion && !listeners.size) {\n checkVersion = nextCheckVersion;\n propProxyStates.forEach(([propProxyState]) => {\n const propVersion = propProxyState[1](nextCheckVersion);\n if (propVersion > version) {\n version = propVersion;\n }\n });\n }\n return version;\n };\n const createPropListener = (prop) => (op, nextVersion) => {\n const newOp = [...op];\n newOp[1] = [prop, ...newOp[1]];\n notifyUpdate(newOp, nextVersion);\n };\n const propProxyStates = /* @__PURE__ */ new Map();\n const addPropListener = (prop, propProxyState) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && propProxyStates.has(prop)) {\n throw new Error(\"prop listener already exists\");\n }\n if (listeners.size) {\n const remove = propProxyState[3](createPropListener(prop));\n propProxyStates.set(prop, [propProxyState, remove]);\n } else {\n propProxyStates.set(prop, [propProxyState]);\n }\n };\n const removePropListener = (prop) => {\n var _a;\n const entry = propProxyStates.get(prop);\n if (entry) {\n propProxyStates.delete(prop);\n (_a = entry[1]) == null ? void 0 : _a.call(entry);\n }\n };\n const addListener = (listener) => {\n listeners.add(listener);\n if (listeners.size === 1) {\n propProxyStates.forEach(([propProxyState, prevRemove], prop) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && prevRemove) {\n throw new Error(\"remove already exists\");\n }\n const remove = propProxyState[3](createPropListener(prop));\n propProxyStates.set(prop, [propProxyState, remove]);\n });\n }\n const removeListener = () => {\n listeners.delete(listener);\n if (listeners.size === 0) {\n propProxyStates.forEach(([propProxyState, remove], prop) => {\n if (remove) {\n remove();\n propProxyStates.set(prop, [propProxyState]);\n }\n });\n }\n };\n return removeListener;\n };\n const baseObject = Array.isArray(initialObject) ? [] : Object.create(Object.getPrototypeOf(initialObject));\n const handler = {\n deleteProperty(target, prop) {\n const prevValue = Reflect.get(target, prop);\n removePropListener(prop);\n const deleted = Reflect.deleteProperty(target, prop);\n if (deleted) {\n notifyUpdate([\"delete\", [prop], prevValue]);\n }\n return deleted;\n },\n set(target, prop, value, receiver) {\n const hasPrevValue = Reflect.has(target, prop);\n const prevValue = Reflect.get(target, prop, receiver);\n if (hasPrevValue && (objectIs(prevValue, value) || proxyCache.has(value) && objectIs(prevValue, proxyCache.get(value)))) {\n return true;\n }\n removePropListener(prop);\n if (isObject(value)) {\n value = getUntracked(value) || value;\n }\n let nextValue = value;\n if (value instanceof Promise) {\n value.then((v) => {\n value.status = \"fulfilled\";\n value.value = v;\n notifyUpdate([\"resolve\", [prop], v]);\n }).catch((e) => {\n value.status = \"rejected\";\n value.reason = e;\n notifyUpdate([\"reject\", [prop], e]);\n });\n } else {\n if (!proxyStateMap.has(value) && canProxy(value)) {\n nextValue = proxyFunction(value);\n }\n const childProxyState = !refSet.has(nextValue) && proxyStateMap.get(nextValue);\n if (childProxyState) {\n addPropListener(prop, childProxyState);\n }\n }\n Reflect.set(target, prop, nextValue, receiver);\n notifyUpdate([\"set\", [prop], value, prevValue]);\n return true;\n }\n };\n const proxyObject = newProxy(baseObject, handler);\n proxyCache.set(initialObject, proxyObject);\n const proxyState = [\n baseObject,\n ensureVersion,\n createSnapshot,\n addListener\n ];\n proxyStateMap.set(proxyObject, proxyState);\n Reflect.ownKeys(initialObject).forEach((key) => {\n const desc = Object.getOwnPropertyDescriptor(\n initialObject,\n key\n );\n if (\"value\" in desc) {\n proxyObject[key] = initialObject[key];\n delete desc.value;\n delete desc.writable;\n }\n Object.defineProperty(baseObject, key, desc);\n });\n return proxyObject;\n}) => [\n // public functions\n proxyFunction,\n // shared state\n proxyStateMap,\n refSet,\n // internal things\n objectIs,\n newProxy,\n canProxy,\n defaultHandlePromise,\n snapCache,\n createSnapshot,\n proxyCache,\n versionHolder\n];\nconst [defaultProxyFunction] = buildProxyFunction();\nfunction proxy(initialObject = {}) {\n return defaultProxyFunction(initialObject);\n}\nfunction getVersion(proxyObject) {\n const proxyState = proxyStateMap.get(proxyObject);\n return proxyState == null ? void 0 : proxyState[1]();\n}\nfunction subscribe(proxyObject, callback, notifyInSync) {\n const proxyState = proxyStateMap.get(proxyObject);\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && !proxyState) {\n console.warn(\"Please use proxy object\");\n }\n let promise;\n const ops = [];\n const addListener = proxyState[3];\n let isListenerActive = false;\n const listener = (op) => {\n ops.push(op);\n if (notifyInSync) {\n callback(ops.splice(0));\n return;\n }\n if (!promise) {\n promise = Promise.resolve().then(() => {\n promise = void 0;\n if (isListenerActive) {\n callback(ops.splice(0));\n }\n });\n }\n };\n const removeListener = addListener(listener);\n isListenerActive = true;\n return () => {\n isListenerActive = false;\n removeListener();\n };\n}\nfunction snapshot(proxyObject, handlePromise) {\n const proxyState = proxyStateMap.get(proxyObject);\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && !proxyState) {\n console.warn(\"Please use proxy object\");\n }\n const [target, ensureVersion, createSnapshot] = proxyState;\n return createSnapshot(target, ensureVersion(), handlePromise);\n}\nfunction ref(obj) {\n refSet.add(obj);\n return obj;\n}\nconst unstable_buildProxyFunction = buildProxyFunction;\n\nexport { getVersion, proxy, ref, snapshot, subscribe, unstable_buildProxyFunction };\n","import { subscribe, snapshot, proxy, getVersion, ref, unstable_buildProxyFunction } from 'valtio/vanilla';\n\nfunction subscribeKey(proxyObject, key, callback, notifyInSync) {\n let prevValue = proxyObject[key];\n return subscribe(\n proxyObject,\n () => {\n const nextValue = proxyObject[key];\n if (!Object.is(prevValue, nextValue)) {\n callback(prevValue = nextValue);\n }\n },\n notifyInSync\n );\n}\n\nlet currentCleanups;\nfunction watch(callback, options) {\n let alive = true;\n const cleanups = /* @__PURE__ */ new Set();\n const subscriptions = /* @__PURE__ */ new Map();\n const cleanup = () => {\n if (alive) {\n alive = false;\n cleanups.forEach((clean) => clean());\n cleanups.clear();\n subscriptions.forEach((unsubscribe) => unsubscribe());\n subscriptions.clear();\n }\n };\n const revalidate = () => {\n if (!alive) {\n return;\n }\n cleanups.forEach((clean) => clean());\n cleanups.clear();\n const proxiesToSubscribe = /* @__PURE__ */ new Set();\n const parent = currentCleanups;\n currentCleanups = cleanups;\n try {\n const cleanupReturn = callback((proxyObject) => {\n proxiesToSubscribe.add(proxyObject);\n return proxyObject;\n });\n if (cleanupReturn) {\n cleanups.add(cleanupReturn);\n }\n } finally {\n currentCleanups = parent;\n }\n subscriptions.forEach((unsubscribe, proxyObject) => {\n if (proxiesToSubscribe.has(proxyObject)) {\n proxiesToSubscribe.delete(proxyObject);\n } else {\n subscriptions.delete(proxyObject);\n unsubscribe();\n }\n });\n proxiesToSubscribe.forEach((proxyObject) => {\n const unsubscribe = subscribe(proxyObject, revalidate, options == null ? void 0 : options.sync);\n subscriptions.set(proxyObject, unsubscribe);\n });\n };\n if (currentCleanups) {\n currentCleanups.add(cleanup);\n }\n revalidate();\n return cleanup;\n}\n\nconst DEVTOOLS = Symbol();\nfunction devtools(proxyObject, options) {\n if (typeof options === \"string\") {\n console.warn(\n \"string name option is deprecated, use { name }. https://github.com/pmndrs/valtio/pull/400\"\n );\n options = { name: options };\n }\n const { enabled, name = \"\", ...rest } = options || {};\n let extension;\n try {\n extension = (enabled != null ? enabled : (import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") && window.__REDUX_DEVTOOLS_EXTENSION__;\n } catch {\n }\n if (!extension) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && enabled) {\n console.warn(\"[Warning] Please install/enable Redux devtools extension\");\n }\n return;\n }\n let isTimeTraveling = false;\n const devtools2 = extension.connect({ name, ...rest });\n const unsub1 = subscribe(proxyObject, (ops) => {\n const action = ops.filter(([_, path]) => path[0] !== DEVTOOLS).map(([op, path]) => `${op}:${path.map(String).join(\".\")}`).join(\", \");\n if (!action) {\n return;\n }\n if (isTimeTraveling) {\n isTimeTraveling = false;\n } else {\n const snapWithoutDevtools = Object.assign({}, snapshot(proxyObject));\n delete snapWithoutDevtools[DEVTOOLS];\n devtools2.send(\n {\n type: action,\n updatedAt: (/* @__PURE__ */ new Date()).toLocaleString()\n },\n snapWithoutDevtools\n );\n }\n });\n const unsub2 = devtools2.subscribe((message) => {\n var _a, _b, _c, _d, _e, _f;\n if (message.type === \"ACTION\" && message.payload) {\n try {\n Object.assign(proxyObject, JSON.parse(message.payload));\n } catch (e) {\n console.error(\n \"please dispatch a serializable value that JSON.parse() and proxy() support\\n\",\n e\n );\n }\n }\n if (message.type === \"DISPATCH\" && message.state) {\n if (((_a = message.payload) == null ? void 0 : _a.type) === \"JUMP_TO_ACTION\" || ((_b = message.payload) == null ? void 0 : _b.type) === \"JUMP_TO_STATE\") {\n isTimeTraveling = true;\n const state = JSON.parse(message.state);\n Object.assign(proxyObject, state);\n }\n proxyObject[DEVTOOLS] = message;\n } else if (message.type === \"DISPATCH\" && ((_c = message.payload) == null ? void 0 : _c.type) === \"COMMIT\") {\n devtools2.init(snapshot(proxyObject));\n } else if (message.type === \"DISPATCH\" && ((_d = message.payload) == null ? void 0 : _d.type) === \"IMPORT_STATE\") {\n const actions = (_e = message.payload.nextLiftedState) == null ? void 0 : _e.actionsById;\n const computedStates = ((_f = message.payload.nextLiftedState) == null ? void 0 : _f.computedStates) || [];\n isTimeTraveling = true;\n computedStates.forEach(({ state }, index) => {\n const action = actions[index] || \"No action found\";\n Object.assign(proxyObject, state);\n if (index === 0) {\n devtools2.init(snapshot(proxyObject));\n } else {\n devtools2.send(action, snapshot(proxyObject));\n }\n });\n }\n });\n devtools2.init(snapshot(proxyObject));\n return () => {\n unsub1();\n unsub2 == null ? void 0 : unsub2();\n };\n}\n\nconst sourceObjectMap = /* @__PURE__ */ new WeakMap();\nconst derivedObjectMap = /* @__PURE__ */ new WeakMap();\nconst markPending = (sourceObject, callback) => {\n const sourceObjectEntry = sourceObjectMap.get(sourceObject);\n if (sourceObjectEntry) {\n sourceObjectEntry[0].forEach((subscription) => {\n const { d: derivedObject } = subscription;\n if (sourceObject !== derivedObject) {\n markPending(derivedObject);\n }\n });\n ++sourceObjectEntry[2];\n if (callback) {\n sourceObjectEntry[3].add(callback);\n }\n }\n};\nconst checkPending = (sourceObject, callback) => {\n const sourceObjectEntry = sourceObjectMap.get(sourceObject);\n if (sourceObjectEntry == null ? void 0 : sourceObjectEntry[2]) {\n sourceObjectEntry[3].add(callback);\n return true;\n }\n return false;\n};\nconst unmarkPending = (sourceObject) => {\n const sourceObjectEntry = sourceObjectMap.get(sourceObject);\n if (sourceObjectEntry) {\n --sourceObjectEntry[2];\n if (!sourceObjectEntry[2]) {\n sourceObjectEntry[3].forEach((callback) => callback());\n sourceObjectEntry[3].clear();\n }\n sourceObjectEntry[0].forEach((subscription) => {\n const { d: derivedObject } = subscription;\n if (sourceObject !== derivedObject) {\n unmarkPending(derivedObject);\n }\n });\n }\n};\nconst addSubscription = (subscription) => {\n const { s: sourceObject, d: derivedObject } = subscription;\n let derivedObjectEntry = derivedObjectMap.get(derivedObject);\n if (!derivedObjectEntry) {\n derivedObjectEntry = [/* @__PURE__ */ new Set()];\n derivedObjectMap.set(subscription.d, derivedObjectEntry);\n }\n derivedObjectEntry[0].add(subscription);\n let sourceObjectEntry = sourceObjectMap.get(sourceObject);\n if (!sourceObjectEntry) {\n const subscriptions = /* @__PURE__ */ new Set();\n const unsubscribe = subscribe(\n sourceObject,\n (ops) => {\n subscriptions.forEach((subscription2) => {\n const {\n d: derivedObject2,\n c: callback,\n n: notifyInSync,\n i: ignoreKeys\n } = subscription2;\n if (sourceObject === derivedObject2 && ops.every(\n (op) => op[1].length === 1 && ignoreKeys.includes(op[1][0])\n )) {\n return;\n }\n if (subscription2.p) {\n return;\n }\n markPending(sourceObject, callback);\n if (notifyInSync) {\n unmarkPending(sourceObject);\n } else {\n subscription2.p = Promise.resolve().then(() => {\n delete subscription2.p;\n unmarkPending(sourceObject);\n });\n }\n });\n },\n true\n );\n sourceObjectEntry = [subscriptions, unsubscribe, 0, /* @__PURE__ */ new Set()];\n sourceObjectMap.set(sourceObject, sourceObjectEntry);\n }\n sourceObjectEntry[0].add(subscription);\n};\nconst removeSubscription = (subscription) => {\n const { s: sourceObject, d: derivedObject } = subscription;\n const derivedObjectEntry = derivedObjectMap.get(derivedObject);\n derivedObjectEntry == null ? void 0 : derivedObjectEntry[0].delete(subscription);\n if ((derivedObjectEntry == null ? void 0 : derivedObjectEntry[0].size) === 0) {\n derivedObjectMap.delete(derivedObject);\n }\n const sourceObjectEntry = sourceObjectMap.get(sourceObject);\n if (sourceObjectEntry) {\n const [subscriptions, unsubscribe] = sourceObjectEntry;\n subscriptions.delete(subscription);\n if (!subscriptions.size) {\n unsubscribe();\n sourceObjectMap.delete(sourceObject);\n }\n }\n};\nconst listSubscriptions = (derivedObject) => {\n const derivedObjectEntry = derivedObjectMap.get(derivedObject);\n if (derivedObjectEntry) {\n return Array.from(derivedObjectEntry[0]);\n }\n return [];\n};\nconst unstable_deriveSubscriptions = {\n add: addSubscription,\n remove: removeSubscription,\n list: listSubscriptions\n};\nfunction derive(derivedFns, options) {\n const proxyObject = (options == null ? void 0 : options.proxy) || proxy({});\n const notifyInSync = !!(options == null ? void 0 : options.sync);\n const derivedKeys = Object.keys(derivedFns);\n derivedKeys.forEach((key) => {\n if (Object.getOwnPropertyDescriptor(proxyObject, key)) {\n throw new Error(\"object property already defined\");\n }\n const fn = derivedFns[key];\n let lastDependencies = null;\n const evaluate = () => {\n if (lastDependencies) {\n if (Array.from(lastDependencies).map(([p]) => checkPending(p, evaluate)).some((isPending) => isPending)) {\n return;\n }\n if (Array.from(lastDependencies).every(\n ([p, entry]) => getVersion(p) === entry.v\n )) {\n return;\n }\n }\n const dependencies = /* @__PURE__ */ new Map();\n const get = (p) => {\n dependencies.set(p, { v: getVersion(p) });\n return p;\n };\n const value = fn(get);\n const subscribeToDependencies = () => {\n dependencies.forEach((entry, p) => {\n var _a;\n const lastSubscription = (_a = lastDependencies == null ? void 0 : lastDependencies.get(p)) == null ? void 0 : _a.s;\n if (lastSubscription) {\n entry.s = lastSubscription;\n } else {\n const subscription = {\n s: p,\n // sourceObject\n d: proxyObject,\n // derivedObject\n k: key,\n // derived key\n c: evaluate,\n // callback\n n: notifyInSync,\n i: derivedKeys\n // ignoringKeys\n };\n addSubscription(subscription);\n entry.s = subscription;\n }\n });\n lastDependencies == null ? void 0 : lastDependencies.forEach((entry, p) => {\n if (!dependencies.has(p) && entry.s) {\n removeSubscription(entry.s);\n }\n });\n lastDependencies = dependencies;\n };\n if (value instanceof Promise) {\n value.finally(subscribeToDependencies);\n } else {\n subscribeToDependencies();\n }\n proxyObject[key] = value;\n };\n evaluate();\n });\n return proxyObject;\n}\nfunction underive(proxyObject, options) {\n const keysToDelete = (options == null ? void 0 : options.delete) ? /* @__PURE__ */ new Set() : null;\n listSubscriptions(proxyObject).forEach((subscription) => {\n const { k: key } = subscription;\n if (!(options == null ? void 0 : options.keys) || options.keys.includes(key)) {\n removeSubscription(subscription);\n if (keysToDelete) {\n keysToDelete.add(key);\n }\n }\n });\n if (keysToDelete) {\n keysToDelete.forEach((key) => {\n delete proxyObject[key];\n });\n }\n}\n\nfunction addComputed_DEPRECATED(proxyObject, computedFns_FAKE, targetObject = proxyObject) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\n \"addComputed is deprecated. Please consider using `derive`. Falling back to emulation with derive. https://github.com/pmndrs/valtio/pull/201\"\n );\n }\n const derivedFns = {};\n Object.keys(computedFns_FAKE).forEach((key) => {\n derivedFns[key] = (get) => computedFns_FAKE[key](get(proxyObject));\n });\n return derive(derivedFns, { proxy: targetObject });\n}\n\nfunction proxyWithComputed_DEPRECATED(initialObject, computedFns) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\n 'proxyWithComputed is deprecated. Please follow \"Computed Properties\" guide in docs.'\n );\n }\n Object.keys(computedFns).forEach((key) => {\n if (Object.getOwnPropertyDescriptor(initialObject, key)) {\n throw new Error(\"object property already defined\");\n }\n const computedFn = computedFns[key];\n const { get, set } = typeof computedFn === \"function\" ? { get: computedFn } : computedFn;\n const desc = {};\n desc.get = () => get(snapshot(proxyObject));\n if (set) {\n desc.set = (newValue) => set(proxyObject, newValue);\n }\n Object.defineProperty(initialObject, key, desc);\n });\n const proxyObject = proxy(initialObject);\n return proxyObject;\n}\n\nconst isObject = (x) => typeof x === \"object\" && x !== null;\nlet refSet;\nconst deepClone = (obj) => {\n if (!refSet) {\n refSet = unstable_buildProxyFunction()[2];\n }\n if (!isObject(obj) || refSet.has(obj)) {\n return obj;\n }\n const baseObject = Array.isArray(obj) ? [] : Object.create(Object.getPrototypeOf(obj));\n Reflect.ownKeys(obj).forEach((key) => {\n baseObject[key] = deepClone(obj[key]);\n });\n return baseObject;\n};\nfunction proxyWithHistory(initialValue, skipSubscribe = false) {\n const proxyObject = proxy({\n value: initialValue,\n history: ref({\n wip: void 0,\n // to avoid infinite loop\n snapshots: [],\n index: -1\n }),\n clone: deepClone,\n canUndo: () => proxyObject.history.index > 0,\n undo: () => {\n if (proxyObject.canUndo()) {\n proxyObject.value = proxyObject.history.wip = proxyObject.clone(\n proxyObject.history.snapshots[--proxyObject.history.index]\n );\n }\n },\n canRedo: () => proxyObject.history.index < proxyObject.history.snapshots.length - 1,\n redo: () => {\n if (proxyObject.canRedo()) {\n proxyObject.value = proxyObject.history.wip = proxyObject.clone(\n proxyObject.history.snapshots[++proxyObject.history.index]\n );\n }\n },\n saveHistory: () => {\n proxyObject.history.snapshots.splice(proxyObject.history.index + 1);\n proxyObject.history.snapshots.push(snapshot(proxyObject).value);\n ++proxyObject.history.index;\n },\n subscribe: () => subscribe(proxyObject, (ops) => {\n if (ops.every(\n (op) => op[1][0] === \"value\" && (op[0] !== \"set\" || op[2] !== proxyObject.history.wip)\n )) {\n proxyObject.saveHistory();\n }\n })\n });\n proxyObject.saveHistory();\n if (!skipSubscribe) {\n proxyObject.subscribe();\n }\n return proxyObject;\n}\n\nfunction proxySet(initialValues) {\n const set = proxy({\n data: Array.from(new Set(initialValues)),\n has(value) {\n return this.data.indexOf(value) !== -1;\n },\n add(value) {\n let hasProxy = false;\n if (typeof value === \"object\" && value !== null) {\n hasProxy = this.data.indexOf(proxy(value)) !== -1;\n }\n if (this.data.indexOf(value) === -1 && !hasProxy) {\n this.data.push(value);\n }\n return this;\n },\n delete(value) {\n const index = this.data.indexOf(value);\n if (index === -1) {\n return false;\n }\n this.data.splice(index, 1);\n return true;\n },\n clear() {\n this.data.splice(0);\n },\n get size() {\n return this.data.length;\n },\n forEach(cb) {\n this.data.forEach((value) => {\n cb(value, value, this);\n });\n },\n get [Symbol.toStringTag]() {\n return \"Set\";\n },\n toJSON() {\n return new Set(this.data);\n },\n [Symbol.iterator]() {\n return this.data[Symbol.iterator]();\n },\n values() {\n return this.data.values();\n },\n keys() {\n return this.data.values();\n },\n entries() {\n return new Set(this.data).entries();\n }\n });\n Object.defineProperties(set, {\n data: {\n enumerable: false\n },\n size: {\n enumerable: false\n },\n toJSON: {\n enumerable: false\n }\n });\n Object.seal(set);\n return set;\n}\n\nfunction proxyMap(entries) {\n const map = proxy({\n data: Array.from(entries || []),\n has(key) {\n return this.data.some((p) => p[0] === key);\n },\n set(key, value) {\n const record = this.data.find((p) => p[0] === key);\n if (record) {\n record[1] = value;\n } else {\n this.data.push([key, value]);\n }\n return this;\n },\n get(key) {\n var _a;\n return (_a = this.data.find((p) => p[0] === key)) == null ? void 0 : _a[1];\n },\n delete(key) {\n const index = this.data.findIndex((p) => p[0] === key);\n if (index === -1) {\n return false;\n }\n this.data.splice(index, 1);\n return true;\n },\n clear() {\n this.data.splice(0);\n },\n get size() {\n return this.data.length;\n },\n toJSON() {\n return new Map(this.data);\n },\n forEach(cb) {\n this.data.forEach((p) => {\n cb(p[1], p[0], this);\n });\n },\n keys() {\n return this.data.map((p) => p[0]).values();\n },\n values() {\n return this.data.map((p) => p[1]).values();\n },\n entries() {\n return new Map(this.data).entries();\n },\n get [Symbol.toStringTag]() {\n return \"Map\";\n },\n [Symbol.iterator]() {\n return this.entries();\n }\n });\n Object.defineProperties(map, {\n data: {\n enumerable: false\n },\n size: {\n enumerable: false\n },\n toJSON: {\n enumerable: false\n }\n });\n Object.seal(map);\n return map;\n}\n\nexport { addComputed_DEPRECATED as addComputed, derive, devtools, proxyMap, proxySet, proxyWithComputed_DEPRECATED as proxyWithComputed, proxyWithHistory, subscribeKey, underive, unstable_deriveSubscriptions, watch };\n","const SECURE_SITE = 'https://secure.walletconnect.com';\nexport const ONRAMP_PROVIDERS = [\n {\n label: 'Coinbase',\n name: 'coinbase',\n feeRange: '1-2%',\n url: ''\n }\n];\nexport const ConstantsUtil = {\n FOUR_MINUTES_MS: 240000,\n TEN_SEC_MS: 10000,\n ONE_SEC_MS: 1000,\n SECURE_SITE,\n SECURE_SITE_DASHBOARD: `${SECURE_SITE}/dashboard`,\n SECURE_SITE_FAVICON: `${SECURE_SITE}/images/favicon.png`,\n RESTRICTED_TIMEZONES: [\n 'ASIA/SHANGHAI',\n 'ASIA/URUMQI',\n 'ASIA/CHONGQING',\n 'ASIA/HARBIN',\n 'ASIA/KASHGAR',\n 'ASIA/MACAU',\n 'ASIA/HONG_KONG',\n 'ASIA/MACAO',\n 'ASIA/BEIJING',\n 'ASIA/HARBIN'\n ],\n WC_COINBASE_PAY_SDK_CHAINS: [\n 'ethereum',\n 'arbitrum',\n 'polygon',\n 'avalanche-c-chain',\n 'optimism',\n 'celo',\n 'base'\n ],\n WC_COINBASE_PAY_SDK_FALLBACK_CHAIN: 'ethereum',\n WC_COINBASE_PAY_SDK_CHAIN_NAME_MAP: {\n Ethereum: 'ethereum',\n 'Arbitrum One': 'arbitrum',\n Polygon: 'polygon',\n Avalanche: 'avalanche-c-chain',\n 'OP Mainnet': 'optimism',\n Celo: 'celo',\n Base: 'base'\n },\n WC_COINBASE_ONRAMP_APP_ID: 'bf18c88d-495a-463b-b249-0b9d3656cf5e',\n SUGGESTED_TOKENS: [\n 'ETH',\n 'UNI',\n '1INCH',\n 'AAVE',\n 'SOL',\n 'ADA',\n 'AVAX',\n 'DOT',\n 'LINK',\n 'NITRO',\n 'GAIA',\n 'MILK',\n 'TRX',\n 'NEAR',\n 'GNO',\n 'WBTC',\n 'DAI',\n 'WETH',\n 'USDC',\n 'USDT',\n 'ARB',\n 'BAL',\n 'BICO',\n 'CRV',\n 'ENS',\n 'MATIC',\n 'OP'\n ],\n POPULAR_TOKENS: [\n 'ETH',\n 'UNI',\n '1INCH',\n 'AAVE',\n 'SOL',\n 'ADA',\n 'AVAX',\n 'DOT',\n 'LINK',\n 'NITRO',\n 'GAIA',\n 'MILK',\n 'TRX',\n 'NEAR',\n 'GNO',\n 'WBTC',\n 'DAI',\n 'WETH',\n 'USDC',\n 'USDT',\n 'ARB',\n 'BAL',\n 'BICO',\n 'CRV',\n 'ENS',\n 'MATIC',\n 'OP',\n 'DAI',\n 'CHAMP',\n 'WOLF',\n 'SALE',\n 'BAL',\n 'BUSD',\n 'MUST',\n 'BTCpx',\n 'ROUTE',\n 'HEX',\n 'WELT',\n 'amDAI',\n 'VSQ',\n 'VISION',\n 'AURUM',\n 'pSP',\n 'SNX',\n 'VC',\n 'LINK',\n 'CHP',\n 'amUSDT',\n 'SPHERE',\n 'FOX',\n 'GIDDY',\n 'GFC',\n 'OMEN',\n 'OX_OLD',\n 'DE',\n 'WNT'\n ],\n NATIVE_TOKEN_ADDRESS: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',\n CONVERT_SLIPPAGE_TOLERANCE: 1\n};\n//# sourceMappingURL=ConstantsUtil.js.map","import { ConstantsUtil } from './ConstantsUtil.js';\nexport const CoreHelperUtil = {\n isMobile() {\n if (typeof window !== 'undefined') {\n return Boolean(window.matchMedia('(pointer:coarse)').matches ||\n /Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent));\n }\n return false;\n },\n checkCaipNetwork(network, networkName = '') {\n return network?.id.toLocaleLowerCase().includes(networkName.toLowerCase());\n },\n isAndroid() {\n const ua = window.navigator.userAgent.toLowerCase();\n return CoreHelperUtil.isMobile() && ua.includes('android');\n },\n isIos() {\n const ua = window.navigator.userAgent.toLowerCase();\n return CoreHelperUtil.isMobile() && (ua.includes('iphone') || ua.includes('ipad'));\n },\n isClient() {\n return typeof window !== 'undefined';\n },\n isPairingExpired(expiry) {\n return expiry ? expiry - Date.now() <= ConstantsUtil.TEN_SEC_MS : true;\n },\n isAllowedRetry(lastRetry) {\n return Date.now() - lastRetry >= ConstantsUtil.ONE_SEC_MS;\n },\n copyToClopboard(text) {\n navigator.clipboard.writeText(text);\n },\n getPairingExpiry() {\n return Date.now() + ConstantsUtil.FOUR_MINUTES_MS;\n },\n getPlainAddress(caipAddress) {\n return caipAddress.split(':')[2];\n },\n async wait(milliseconds) {\n return new Promise(resolve => {\n setTimeout(resolve, milliseconds);\n });\n },\n debounce(func, timeout = 500) {\n let timer = undefined;\n return (...args) => {\n function next() {\n func(...args);\n }\n if (timer) {\n clearTimeout(timer);\n }\n timer = setTimeout(next, timeout);\n };\n },\n isHttpUrl(url) {\n return url.startsWith('http://') || url.startsWith('https://');\n },\n formatNativeUrl(appUrl, wcUri) {\n if (CoreHelperUtil.isHttpUrl(appUrl)) {\n return this.formatUniversalUrl(appUrl, wcUri);\n }\n let safeAppUrl = appUrl;\n if (!safeAppUrl.includes('://')) {\n safeAppUrl = appUrl.replaceAll('/', '').replaceAll(':', '');\n safeAppUrl = `${safeAppUrl}://`;\n }\n if (!safeAppUrl.endsWith('/')) {\n safeAppUrl = `${safeAppUrl}/`;\n }\n const encodedWcUrl = encodeURIComponent(wcUri);\n return {\n redirect: `${safeAppUrl}wc?uri=${encodedWcUrl}`,\n href: safeAppUrl\n };\n },\n formatUniversalUrl(appUrl, wcUri) {\n if (!CoreHelperUtil.isHttpUrl(appUrl)) {\n return this.formatNativeUrl(appUrl, wcUri);\n }\n let safeAppUrl = appUrl;\n if (!safeAppUrl.endsWith('/')) {\n safeAppUrl = `${safeAppUrl}/`;\n }\n const encodedWcUrl = encodeURIComponent(wcUri);\n return {\n redirect: `${safeAppUrl}wc?uri=${encodedWcUrl}`,\n href: safeAppUrl\n };\n },\n openHref(href, target, features) {\n window.open(href, target, features || 'noreferrer noopener');\n },\n async preloadImage(src) {\n const imagePromise = new Promise((resolve, reject) => {\n const image = new Image();\n image.onload = resolve;\n image.onerror = reject;\n image.crossOrigin = 'anonymous';\n image.src = src;\n });\n return Promise.race([imagePromise, CoreHelperUtil.wait(2000)]);\n },\n formatBalance(balance, symbol) {\n let formattedBalance = undefined;\n if (balance === '0') {\n formattedBalance = '0.000';\n }\n else if (typeof balance === 'string') {\n const number = Number(balance);\n if (number) {\n formattedBalance = number.toString().match(/^-?\\d+(?:\\.\\d{0,3})?/u)?.[0];\n }\n }\n return formattedBalance ? `${formattedBalance} ${symbol ?? ''}` : `0.000 ${symbol ?? ''}`;\n },\n formatBalance2(balance, symbol) {\n let formattedBalance = undefined;\n if (balance === '0') {\n formattedBalance = '0';\n }\n else if (typeof balance === 'string') {\n const number = Number(balance);\n if (number) {\n formattedBalance = number.toString().match(/^-?\\d+(?:\\.\\d{0,3})?/u)?.[0];\n }\n }\n return {\n value: formattedBalance ?? '0',\n rest: formattedBalance === '0' ? '000' : '',\n symbol\n };\n },\n isRestrictedRegion() {\n try {\n const { timeZone } = new Intl.DateTimeFormat().resolvedOptions();\n const capTimeZone = timeZone.toUpperCase();\n return ConstantsUtil.RESTRICTED_TIMEZONES.includes(capTimeZone);\n }\n catch {\n return false;\n }\n },\n getApiUrl() {\n return CoreHelperUtil.isRestrictedRegion()\n ? 'https://api.web3modal.org'\n : 'https://api.web3modal.com';\n },\n getBlockchainApiUrl() {\n return CoreHelperUtil.isRestrictedRegion()\n ? 'https://rpc.walletconnect.org'\n : 'https://rpc.walletconnect.com';\n },\n getAnalyticsUrl() {\n return CoreHelperUtil.isRestrictedRegion()\n ? 'https://pulse.walletconnect.org'\n : 'https://pulse.walletconnect.com';\n },\n getUUID() {\n if (crypto?.randomUUID) {\n return crypto.randomUUID();\n }\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/gu, c => {\n const r = (Math.random() * 16) | 0;\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n },\n parseError(error) {\n if (typeof error === 'string') {\n return error;\n }\n else if (typeof error?.issues?.[0]?.message === 'string') {\n return error.issues[0].message;\n }\n else if (error instanceof Error) {\n return error.message;\n }\n return 'Unknown error';\n },\n sortRequestedNetworks(approvedIds, requestedNetworks = []) {\n const approvedIndexMap = {};\n if (requestedNetworks && approvedIds) {\n approvedIds.forEach((id, index) => {\n approvedIndexMap[id] = index;\n });\n requestedNetworks.sort((a, b) => {\n const indexA = approvedIndexMap[a.id];\n const indexB = approvedIndexMap[b.id];\n if (indexA !== undefined && indexB !== undefined) {\n return indexA - indexB;\n }\n else if (indexA !== undefined) {\n return -1;\n }\n else if (indexB !== undefined) {\n return 1;\n }\n return 0;\n });\n }\n return requestedNetworks;\n },\n calculateBalance(array) {\n let sum = 0;\n for (const item of array) {\n sum += item.value ?? 0;\n }\n return sum;\n },\n formatTokenBalance(number) {\n const roundedNumber = number.toFixed(2);\n const [dollars, pennies] = roundedNumber.split('.');\n return { dollars, pennies };\n },\n isAddress(address) {\n if (!/^(?:0x)?[0-9a-f]{40}$/iu.test(address)) {\n return false;\n }\n else if (/^(?:0x)?[0-9a-f]{40}$/iu.test(address) || /^(?:0x)?[0-9A-F]{40}$/iu.test(address)) {\n return true;\n }\n return false;\n }\n};\n//# sourceMappingURL=CoreHelperUtil.js.map","export class FetchUtil {\n constructor({ baseUrl }) {\n this.baseUrl = baseUrl;\n }\n async get({ headers, signal, ...args }) {\n const url = this.createUrl(args);\n const response = await fetch(url, { method: 'GET', headers, signal, cache: 'no-cache' });\n return response.json();\n }\n async getBlob({ headers, signal, ...args }) {\n const url = this.createUrl(args);\n const response = await fetch(url, { method: 'GET', headers, signal });\n return response.blob();\n }\n async post({ body, headers, signal, ...args }) {\n const url = this.createUrl(args);\n const response = await fetch(url, {\n method: 'POST',\n headers,\n body: body ? JSON.stringify(body) : undefined,\n signal\n });\n return response.json();\n }\n async put({ body, headers, signal, ...args }) {\n const url = this.createUrl(args);\n const response = await fetch(url, {\n method: 'PUT',\n headers,\n body: body ? JSON.stringify(body) : undefined,\n signal\n });\n return response.json();\n }\n async delete({ body, headers, signal, ...args }) {\n const url = this.createUrl(args);\n const response = await fetch(url, {\n method: 'DELETE',\n headers,\n body: body ? JSON.stringify(body) : undefined,\n signal\n });\n return response.json();\n }\n createUrl({ path, params }) {\n const url = new URL(path, this.baseUrl);\n if (params) {\n Object.entries(params).forEach(([key, value]) => {\n if (value) {\n url.searchParams.append(key, value);\n }\n });\n }\n return url;\n }\n}\n//# sourceMappingURL=FetchUtil.js.map","import { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { proxy } from 'valtio/vanilla';\nconst state = proxy({\n projectId: '',\n sdkType: 'w3m',\n sdkVersion: 'html-wagmi-undefined'\n});\nexport const OptionsController = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n setProjectId(projectId) {\n state.projectId = projectId;\n },\n setAllWallets(allWallets) {\n state.allWallets = allWallets;\n },\n setIncludeWalletIds(includeWalletIds) {\n state.includeWalletIds = includeWalletIds;\n },\n setExcludeWalletIds(excludeWalletIds) {\n state.excludeWalletIds = excludeWalletIds;\n },\n setFeaturedWalletIds(featuredWalletIds) {\n state.featuredWalletIds = featuredWalletIds;\n },\n setTokens(tokens) {\n state.tokens = tokens;\n },\n setTermsConditionsUrl(termsConditionsUrl) {\n state.termsConditionsUrl = termsConditionsUrl;\n },\n setPrivacyPolicyUrl(privacyPolicyUrl) {\n state.privacyPolicyUrl = privacyPolicyUrl;\n },\n setCustomWallets(customWallets) {\n state.customWallets = customWallets;\n },\n setIsSiweEnabled(isSiweEnabled) {\n state.isSiweEnabled = isSiweEnabled;\n },\n setEnableAnalytics(enableAnalytics) {\n state.enableAnalytics = enableAnalytics;\n },\n setSdkVersion(sdkVersion) {\n state.sdkVersion = sdkVersion;\n },\n setMetadata(metadata) {\n state.metadata = metadata;\n },\n setOnrampEnabled(enableOnramp) {\n state.enableOnramp = enableOnramp;\n },\n setWalletFeaturesEnabled(enableWalletFeatures) {\n state.enableWalletFeatures = enableWalletFeatures;\n }\n};\n//# sourceMappingURL=OptionsController.js.map","import { ConstantsUtil } from '../utils/ConstantsUtil.js';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { FetchUtil } from '../utils/FetchUtil.js';\nimport { OptionsController } from './OptionsController.js';\nconst DEFAULT_OPTIONS = {\n purchaseCurrencies: [\n {\n id: '2b92315d-eab7-5bef-84fa-089a131333f5',\n name: 'USD Coin',\n symbol: 'USDC',\n networks: [\n {\n name: 'ethereum-mainnet',\n display_name: 'Ethereum',\n chain_id: '1',\n contract_address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'\n },\n {\n name: 'polygon-mainnet',\n display_name: 'Polygon',\n chain_id: '137',\n contract_address: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174'\n }\n ]\n },\n {\n id: '2b92315d-eab7-5bef-84fa-089a131333f5',\n name: 'Ether',\n symbol: 'ETH',\n networks: [\n {\n name: 'ethereum-mainnet',\n display_name: 'Ethereum',\n chain_id: '1',\n contract_address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'\n },\n {\n name: 'polygon-mainnet',\n display_name: 'Polygon',\n chain_id: '137',\n contract_address: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174'\n }\n ]\n }\n ],\n paymentCurrencies: [\n {\n id: 'USD',\n payment_method_limits: [\n {\n id: 'card',\n min: '10.00',\n max: '7500.00'\n },\n {\n id: 'ach_bank_account',\n min: '10.00',\n max: '25000.00'\n }\n ]\n },\n {\n id: 'EUR',\n payment_method_limits: [\n {\n id: 'card',\n min: '10.00',\n max: '7500.00'\n },\n {\n id: 'ach_bank_account',\n min: '10.00',\n max: '25000.00'\n }\n ]\n }\n ]\n};\nconst baseUrl = CoreHelperUtil.getBlockchainApiUrl();\nconst api = new FetchUtil({ baseUrl });\nexport const BlockchainApiController = {\n fetchIdentity({ address }) {\n return api.get({\n path: `/v1/identity/${address}`,\n params: {\n projectId: OptionsController.state.projectId\n }\n });\n },\n fetchTransactions({ account, projectId, cursor, onramp, signal }) {\n const queryParams = cursor ? { cursor } : {};\n return api.get({\n path: `/v1/account/${account}/history?projectId=${projectId}${onramp ? `&onramp=${onramp}` : ''}`,\n params: queryParams,\n signal\n });\n },\n fetchConvertTokens({ projectId, chainId }) {\n return api.get({\n path: `/v1/convert/tokens?projectId=${projectId}&chainId=${chainId}`\n });\n },\n fetchTokenPrice({ projectId, addresses }) {\n return api.post({\n path: '/v1/fungible/price',\n body: {\n projectId,\n currency: 'usd',\n addresses\n },\n headers: {\n 'Content-Type': 'application/json'\n }\n });\n },\n fetchConvertAllowance({ projectId, tokenAddress, userAddress }) {\n const { sdkType, sdkVersion } = OptionsController.state;\n return api.get({\n path: `/v1/convert/allowance?projectId=${projectId}&tokenAddress=${tokenAddress}&userAddress=${userAddress}`,\n headers: {\n 'Content-Type': 'application/json',\n 'x-sdk-type': sdkType,\n 'x-sdk-version': sdkVersion\n }\n });\n },\n fetchGasPrice({ projectId, chainId }) {\n const { sdkType, sdkVersion } = OptionsController.state;\n return api.get({\n path: `/v1/convert/gas-price?projectId=${projectId}&chainId=${chainId}`,\n headers: {\n 'Content-Type': 'application/json',\n 'x-sdk-type': sdkType,\n 'x-sdk-version': sdkVersion\n }\n });\n },\n generateConvertCalldata({ amount, from, projectId, to, userAddress }) {\n return api.post({\n path: '/v1/convert/build-transaction',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: {\n amount,\n eip155: {\n slippage: ConstantsUtil.CONVERT_SLIPPAGE_TOLERANCE\n },\n from,\n projectId,\n to,\n userAddress\n }\n });\n },\n generateApproveCalldata({ from, projectId, to, userAddress }) {\n const { sdkType, sdkVersion } = OptionsController.state;\n return api.get({\n path: `/v1/convert/build-approve?projectId=${projectId}&userAddress=${userAddress}&from=${from}&to=${to}`,\n headers: {\n 'Content-Type': 'application/json',\n 'x-sdk-type': sdkType,\n 'x-sdk-version': sdkVersion\n }\n });\n },\n async getBalance(address, chainId) {\n const { sdkType, sdkVersion } = OptionsController.state;\n return api.get({\n path: `/v1/account/${address}/balance`,\n headers: {\n 'x-sdk-type': sdkType,\n 'x-sdk-version': sdkVersion\n },\n params: {\n currency: 'usd',\n projectId: OptionsController.state.projectId,\n chainId\n }\n });\n },\n async generateOnRampURL({ destinationWallets, partnerUserId, defaultNetwork, purchaseAmount, paymentAmount }) {\n const response = await api.post({\n path: `/v1/generators/onrampurl?projectId=${OptionsController.state.projectId}`,\n body: {\n destinationWallets,\n defaultNetwork,\n partnerUserId,\n defaultExperience: 'buy',\n presetCryptoAmount: purchaseAmount,\n presetFiatAmount: paymentAmount\n }\n });\n return response.url;\n },\n async getOnrampOptions() {\n try {\n const response = await api.get({\n path: `/v1/onramp/options?projectId=${OptionsController.state.projectId}`\n });\n return response;\n }\n catch (e) {\n return DEFAULT_OPTIONS;\n }\n },\n async getOnrampQuote({ purchaseCurrency, paymentCurrency, amount, network }) {\n try {\n const response = await api.post({\n path: `/v1/onramp/quote?projectId=${OptionsController.state.projectId}`,\n body: {\n purchaseCurrency,\n paymentCurrency,\n amount,\n network\n }\n });\n return response;\n }\n catch (e) {\n return {\n coinbaseFee: { amount, currency: paymentCurrency.id },\n networkFee: { amount, currency: paymentCurrency.id },\n paymentSubtotal: { amount, currency: paymentCurrency.id },\n paymentTotal: { amount, currency: paymentCurrency.id },\n purchaseAmount: { amount, currency: paymentCurrency.id },\n quoteId: 'mocked-quote-id'\n };\n }\n }\n};\n//# sourceMappingURL=BlockchainApiController.js.map","import { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { proxy } from 'valtio/vanilla';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nconst state = proxy({\n message: '',\n variant: 'success',\n open: false\n});\nexport const SnackController = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n showSuccess(message) {\n state.message = message;\n state.variant = 'success';\n state.open = true;\n },\n showError(message) {\n const errorMessage = CoreHelperUtil.parseError(message);\n state.message = errorMessage;\n state.variant = 'error';\n state.open = true;\n },\n hide() {\n state.open = false;\n }\n};\n//# sourceMappingURL=SnackController.js.map","function getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nvar browser = {exports: {}};\n\n// shim for using process in browser\nvar process = browser.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ());\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] };\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\nvar browserExports = browser.exports;\nconst process$1 = /*@__PURE__*/getDefaultExportFromCjs(browserExports);\n\nexport { process$1 as default, process$1 as process };\n//# sourceMappingURL=index.js.map\n","const WC_DEEPLINK = 'WALLETCONNECT_DEEPLINK_CHOICE';\nconst W3M_RECENT = '@w3m/recent';\nconst W3M_CONNECTED_WALLET_IMAGE_URL = '@w3m/connected_wallet_image_url';\nconst W3M_CONNECTED_CONNECTOR = '@w3m/connected_connector';\nexport const StorageUtil = {\n setWalletConnectDeepLink({ href, name }) {\n try {\n localStorage.setItem(WC_DEEPLINK, JSON.stringify({ href, name }));\n }\n catch {\n console.info('Unable to set WalletConnect deep link');\n }\n },\n getWalletConnectDeepLink() {\n try {\n const deepLink = localStorage.getItem(WC_DEEPLINK);\n if (deepLink) {\n return JSON.parse(deepLink);\n }\n }\n catch {\n console.info('Unable to get WalletConnect deep link');\n }\n return undefined;\n },\n deleteWalletConnectDeepLink() {\n try {\n localStorage.removeItem(WC_DEEPLINK);\n }\n catch {\n console.info('Unable to delete WalletConnect deep link');\n }\n },\n setWeb3ModalRecent(wallet) {\n try {\n const recentWallets = StorageUtil.getRecentWallets();\n const exists = recentWallets.find(w => w.id === wallet.id);\n if (!exists) {\n recentWallets.unshift(wallet);\n if (recentWallets.length > 2) {\n recentWallets.pop();\n }\n localStorage.setItem(W3M_RECENT, JSON.stringify(recentWallets));\n }\n }\n catch {\n console.info('Unable to set Web3Modal recent');\n }\n },\n getRecentWallets() {\n try {\n const recent = localStorage.getItem(W3M_RECENT);\n return recent ? JSON.parse(recent) : [];\n }\n catch {\n console.info('Unable to get Web3Modal recent');\n }\n return [];\n },\n setConnectedWalletImageUrl(imageUrl) {\n try {\n localStorage.setItem(W3M_CONNECTED_WALLET_IMAGE_URL, imageUrl);\n }\n catch {\n console.info('Unable to set Connected Wallet Image Url');\n }\n },\n getConnectedWalletImageUrl() {\n try {\n return localStorage.getItem(W3M_CONNECTED_WALLET_IMAGE_URL);\n }\n catch {\n console.info('Unable to set Connected Wallet Image Url');\n }\n return undefined;\n },\n setConnectedConnector(connectorType) {\n try {\n localStorage.setItem(W3M_CONNECTED_CONNECTOR, connectorType);\n }\n catch {\n console.info('Unable to set Connected Connector');\n }\n },\n getConnectedConnector() {\n try {\n return localStorage.getItem(W3M_CONNECTED_CONNECTOR);\n }\n catch {\n console.info('Unable to get Connected Connector');\n }\n return undefined;\n }\n};\n//# sourceMappingURL=StorageUtil.js.map","import { proxy, subscribe as sub } from 'valtio/vanilla';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { FetchUtil } from '../utils/FetchUtil.js';\nimport { OptionsController } from './OptionsController.js';\nconst baseUrl = CoreHelperUtil.getAnalyticsUrl();\nconst api = new FetchUtil({ baseUrl });\nconst excluded = ['MODAL_CREATED'];\nconst state = proxy({\n timestamp: Date.now(),\n data: {\n type: 'track',\n event: 'MODAL_CREATED'\n }\n});\nexport const EventsController = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n _getApiHeaders() {\n const { projectId, sdkType, sdkVersion } = OptionsController.state;\n return {\n 'x-project-id': projectId,\n 'x-sdk-type': sdkType,\n 'x-sdk-version': sdkVersion\n };\n },\n async _sendAnalyticsEvent(payload) {\n try {\n if (excluded.includes(payload.data.event) || typeof window === 'undefined') {\n return;\n }\n await api.post({\n path: '/e',\n headers: EventsController._getApiHeaders(),\n body: {\n eventId: CoreHelperUtil.getUUID(),\n url: window.location.href,\n domain: window.location.hostname,\n timestamp: payload.timestamp,\n props: payload.data\n }\n });\n }\n catch {\n }\n },\n sendEvent(data) {\n state.timestamp = Date.now();\n state.data = data;\n if (OptionsController.state.enableAnalytics) {\n EventsController._sendAnalyticsEvent(state);\n }\n }\n};\n//# sourceMappingURL=EventsController.js.map","import { proxy, subscribe as sub } from 'valtio/vanilla';\nimport { OptionsController } from './OptionsController.js';\nimport { EventsController } from './EventsController.js';\nimport { SnackController } from './SnackController.js';\nimport { BlockchainApiController } from './BlockchainApiController.js';\nconst state = proxy({\n transactions: [],\n coinbaseTransactions: {},\n transactionsByYear: {},\n loading: false,\n empty: false,\n next: undefined\n});\nexport const TransactionsController = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n async fetchTransactions(accountAddress, onramp) {\n const { projectId } = OptionsController.state;\n if (!projectId || !accountAddress) {\n throw new Error(\"Transactions can't be fetched without a projectId and an accountAddress\");\n }\n state.loading = true;\n try {\n const response = await BlockchainApiController.fetchTransactions({\n account: accountAddress,\n projectId,\n cursor: state.next,\n onramp\n });\n const nonSpamTransactions = this.filterSpamTransactions(response.data);\n const filteredTransactions = [...state.transactions, ...nonSpamTransactions];\n state.loading = false;\n if (onramp === 'coinbase') {\n state.coinbaseTransactions = this.groupTransactionsByYearAndMonth(state.coinbaseTransactions, response.data);\n }\n else {\n state.transactions = filteredTransactions;\n state.transactionsByYear = this.groupTransactionsByYearAndMonth(state.transactionsByYear, nonSpamTransactions);\n }\n state.empty = filteredTransactions.length === 0;\n state.next = response.next ? response.next : undefined;\n }\n catch (error) {\n EventsController.sendEvent({\n type: 'track',\n event: 'ERROR_FETCH_TRANSACTIONS',\n properties: {\n address: accountAddress,\n projectId,\n cursor: state.next\n }\n });\n SnackController.showError('Failed to fetch transactions');\n state.loading = false;\n state.empty = true;\n state.next = undefined;\n }\n },\n groupTransactionsByYearAndMonth(transactionsMap = {}, transactions = []) {\n const grouped = transactionsMap;\n transactions.forEach(transaction => {\n const year = new Date(transaction.metadata.minedAt).getFullYear();\n const month = new Date(transaction.metadata.minedAt).getMonth();\n const yearTransactions = grouped[year] ?? {};\n const monthTransactions = yearTransactions[month] ?? [];\n const newMonthTransactions = monthTransactions.filter(tx => tx.id !== transaction.id);\n grouped[year] = {\n ...yearTransactions,\n [month]: [...newMonthTransactions, transaction].sort((a, b) => new Date(b.metadata.minedAt).getTime() - new Date(a.metadata.minedAt).getTime())\n };\n });\n return grouped;\n },\n filterSpamTransactions(transactions) {\n return transactions.filter(transaction => {\n const isAllSpam = transaction.transfers.every(transfer => transfer.nft_info?.flags.is_spam === true);\n return !isAllSpam;\n });\n },\n clearCursor() {\n state.next = undefined;\n },\n resetTransactions() {\n state.transactions = [];\n state.transactionsByYear = {};\n state.loading = false;\n state.empty = false;\n state.next = undefined;\n }\n};\n//# sourceMappingURL=TransactionsController.js.map","import { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { proxy, ref } from 'valtio/vanilla';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { StorageUtil } from '../utils/StorageUtil.js';\nimport { TransactionsController } from './TransactionsController.js';\nconst state = proxy({\n wcError: false,\n buffering: false\n});\nexport const ConnectionController = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n _getClient() {\n if (!state._client) {\n throw new Error('ConnectionController client not set');\n }\n return state._client;\n },\n setClient(client) {\n state._client = ref(client);\n },\n connectWalletConnect() {\n state.wcPromise = this._getClient().connectWalletConnect(uri => {\n state.wcUri = uri;\n state.wcPairingExpiry = CoreHelperUtil.getPairingExpiry();\n });\n StorageUtil.setConnectedConnector('WALLET_CONNECT');\n },\n async connectExternal(options) {\n await this._getClient().connectExternal?.(options);\n StorageUtil.setConnectedConnector(options.type);\n },\n async signMessage(message) {\n return this._getClient().signMessage(message);\n },\n parseUnits(value, decimals) {\n return this._getClient().parseUnits(value, decimals);\n },\n formatUnits(value, decimals) {\n return this._getClient().formatUnits(value, decimals);\n },\n async sendTransaction(args) {\n return this._getClient().sendTransaction(args);\n },\n async estimateGas(args) {\n return this._getClient().estimateGas(args);\n },\n checkInstalled(ids) {\n return this._getClient().checkInstalled?.(ids);\n },\n resetWcConnection() {\n state.wcUri = undefined;\n state.wcPairingExpiry = undefined;\n state.wcPromise = undefined;\n state.wcLinking = undefined;\n state.recentWallet = undefined;\n TransactionsController.resetTransactions();\n StorageUtil.deleteWalletConnectDeepLink();\n },\n setWcLinking(wcLinking) {\n state.wcLinking = wcLinking;\n },\n setWcError(wcError) {\n state.wcError = wcError;\n state.buffering = false;\n },\n setRecentWallet(wallet) {\n state.recentWallet = wallet;\n },\n setBuffering(buffering) {\n state.buffering = buffering;\n },\n async disconnect() {\n await this._getClient().disconnect();\n this.resetWcConnection();\n }\n};\n//# sourceMappingURL=ConnectionController.js.map","import { proxy, subscribe as sub } from 'valtio/vanilla';\nconst state = proxy({\n loading: false,\n open: false,\n selectedNetworkId: undefined\n});\nexport const PublicStateController = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n set(newState) {\n Object.assign(state, { ...state, ...newState });\n }\n};\n//# sourceMappingURL=PublicStateController.js.map","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)0,p<=y.r||!y.r){p<=1&&c>0&&(y=h[c-1]);var v=l[y.l];u&&(p=u(\"\"+p)),a=\"string\"==typeof v?v.replace(\"%d\",p):v(p,n,y.l,s);break}}if(n)return a;var M=s?l.future:l.past;return\"function\"==typeof M?M(a):M.replace(\"%s\",a)},n.to=function(r,e){return i(r,e,this,!0)},n.from=function(r,e){return i(r,e,this)};var d=function(r){return r.$u?t.utc():t()};n.toNow=function(r){return this.to(d(this),r)},n.fromNow=function(r){return this.from(d(this),r)}}}));","import dayjs from 'dayjs';\nimport updateLocale from 'dayjs/plugin/updateLocale.js';\nimport relativeTime from 'dayjs/plugin/relativeTime.js';\ndayjs.extend(relativeTime);\ndayjs.extend(updateLocale);\ndayjs.updateLocale('en', {\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: '%s sec',\n m: '1 min',\n mm: '%d min',\n h: '1 hr',\n hh: '%d hrs',\n d: '1 d',\n dd: '%d d',\n M: '1 mo',\n MM: '%d mo',\n y: '1 yr',\n yy: '%d yr'\n }\n});\nexport const DateUtil = {\n getYear(date = new Date().toISOString()) {\n return dayjs(date).year();\n },\n getRelativeDateFromNow(date) {\n return dayjs(date).fromNow(true);\n },\n formatDate(date, format = 'DD MMM') {\n return dayjs(date).format(format);\n }\n};\n//# sourceMappingURL=DateUtil.js.map","export const NetworkUtil = {\n caipNetworkIdToNumber(caipnetworkId) {\n return caipnetworkId ? Number(caipnetworkId.split(':')[1]) : undefined;\n }\n};\n//# sourceMappingURL=NetworkUtil.js.map","import BigNumber from 'bignumber.js';\nexport const NumberUtil = {\n bigNumber(value) {\n return new BigNumber(value);\n },\n multiply(a, b) {\n if (a === undefined || b === undefined) {\n return BigNumber(0);\n }\n const aBigNumber = new BigNumber(a);\n const bBigNumber = new BigNumber(b);\n return aBigNumber.multipliedBy(bBigNumber);\n }\n};\n//# sourceMappingURL=NumberUtil.js.map","import { subscribeKey as subKey } from 'valtio/utils';\nimport { proxy, ref, subscribe as sub } from 'valtio/vanilla';\nimport { PublicStateController } from './PublicStateController.js';\nimport { EventsController } from './EventsController.js';\nimport { ModalController } from './ModalController.js';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { NetworkUtil } from '@web3modal/common';\nconst state = proxy({\n supportsAllNetworks: true,\n isDefaultCaipNetwork: false,\n smartAccountEnabledNetworks: []\n});\nexport const NetworkController = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n _getClient() {\n if (!state._client) {\n throw new Error('NetworkController client not set');\n }\n return state._client;\n },\n setClient(client) {\n state._client = ref(client);\n },\n setCaipNetwork(caipNetwork) {\n state.caipNetwork = caipNetwork;\n PublicStateController.set({ selectedNetworkId: caipNetwork?.id });\n if (!this.state.allowUnsupportedChain) {\n this.checkIfSupportedNetwork();\n }\n },\n setDefaultCaipNetwork(caipNetwork) {\n state.caipNetwork = caipNetwork;\n PublicStateController.set({ selectedNetworkId: caipNetwork?.id });\n state.isDefaultCaipNetwork = true;\n },\n setRequestedCaipNetworks(requestedNetworks) {\n state.requestedCaipNetworks = requestedNetworks;\n },\n setAllowUnsupportedChain(allowUnsupportedChain) {\n state.allowUnsupportedChain = allowUnsupportedChain;\n },\n setSmartAccountEnabledNetworks(smartAccountEnabledNetworks) {\n state.smartAccountEnabledNetworks = smartAccountEnabledNetworks;\n },\n getRequestedCaipNetworks() {\n const { approvedCaipNetworkIds, requestedCaipNetworks } = state;\n const approvedIds = approvedCaipNetworkIds;\n const requestedNetworks = requestedCaipNetworks;\n return CoreHelperUtil.sortRequestedNetworks(approvedIds, requestedNetworks);\n },\n async getApprovedCaipNetworksData() {\n const data = await this._getClient().getApprovedCaipNetworksData();\n state.supportsAllNetworks = data.supportsAllNetworks;\n state.approvedCaipNetworkIds = data.approvedCaipNetworkIds;\n },\n async switchActiveNetwork(network) {\n await this._getClient().switchCaipNetwork(network);\n state.caipNetwork = network;\n if (network) {\n EventsController.sendEvent({\n type: 'track',\n event: 'SWITCH_NETWORK',\n properties: { network: network.id }\n });\n }\n },\n checkIfSupportedNetwork() {\n state.isUnsupportedChain = !state.requestedCaipNetworks?.some(network => network.id === state.caipNetwork?.id);\n if (state.isUnsupportedChain) {\n this.showUnsupportedChainUI();\n }\n },\n checkIfSmartAccountEnabled() {\n const networkId = NetworkUtil.caipNetworkIdToNumber(state.caipNetwork?.id);\n if (!networkId) {\n return false;\n }\n return Boolean(state.smartAccountEnabledNetworks?.includes(networkId));\n },\n resetNetwork() {\n if (!state.isDefaultCaipNetwork) {\n state.caipNetwork = undefined;\n }\n state.approvedCaipNetworkIds = undefined;\n state.supportsAllNetworks = true;\n state.smartAccountEnabledNetworks = [];\n },\n showUnsupportedChainUI() {\n setTimeout(() => {\n ModalController.open({ view: 'UnsupportedChain' });\n }, 300);\n }\n};\n//# sourceMappingURL=NetworkController.js.map","import { NetworkController } from '../controllers/NetworkController.js';\nimport { AccountController } from '../controllers/AccountController.js';\nimport { ConnectionController } from '../controllers/ConnectionController.js';\nimport { ConstantsUtil } from '../utils/ConstantsUtil.js';\nimport { BlockchainApiController } from '../controllers/BlockchainApiController.js';\nimport { OptionsController } from '../controllers/OptionsController.js';\nexport const ConvertApiUtil = {\n async getTokenList() {\n const response = await BlockchainApiController.fetchConvertTokens({\n chainId: NetworkController.state.caipNetwork?.id,\n projectId: OptionsController.state.projectId\n });\n const tokens = response.tokens.map(token => {\n return {\n ...token,\n eip2612: false,\n quantity: {\n decimals: '0',\n numeric: '0'\n },\n price: 0,\n value: 0\n };\n });\n return tokens;\n },\n async fetchGasPrice() {\n const projectId = OptionsController.state.projectId;\n const caipNetwork = NetworkController.state.caipNetwork;\n if (!caipNetwork) {\n return null;\n }\n return await BlockchainApiController.fetchGasPrice({\n projectId,\n chainId: caipNetwork.id\n });\n },\n async fetchConvertAllowance({ tokenAddress, userAddress, sourceTokenAmount, sourceTokenDecimals }) {\n const projectId = OptionsController.state.projectId;\n const response = await BlockchainApiController.fetchConvertAllowance({\n projectId,\n tokenAddress,\n userAddress\n });\n if (response?.allowance && sourceTokenAmount && sourceTokenDecimals) {\n const parsedValue = ConnectionController.parseUnits(sourceTokenAmount, sourceTokenDecimals);\n const hasAllowance = BigInt(response.allowance) >= parsedValue;\n return hasAllowance;\n }\n return false;\n },\n async getMyTokensWithBalance() {\n const address = AccountController.state.address;\n const caipNetwork = NetworkController.state.caipNetwork;\n if (!address || !caipNetwork) {\n return [];\n }\n const response = await BlockchainApiController.getBalance(address, caipNetwork.id);\n const balances = response.balances;\n return this.mapBalancesToConvertTokens(balances);\n },\n mapBalancesToConvertTokens(balances) {\n return balances.map(token => {\n return {\n symbol: token.symbol,\n name: token.name,\n address: token?.address\n ? token.address\n : `${NetworkController.state.caipNetwork?.id}:${ConstantsUtil.NATIVE_TOKEN_ADDRESS}`,\n decimals: parseInt(token.quantity.decimals, 10),\n logoUri: token.iconUrl,\n eip2612: false,\n quantity: token.quantity,\n price: token.price,\n value: token.value\n };\n });\n }\n};\n//# sourceMappingURL=ConvertApiUtil.js.map","import { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { proxy } from 'valtio/vanilla';\nconst state = proxy({\n view: 'Connect',\n history: ['Connect'],\n transactionStack: []\n});\nexport const RouterController = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n pushTransactionStack(action) {\n state.transactionStack.push(action);\n },\n popTransactionStack(cancel) {\n const action = state.transactionStack.pop();\n if (!action) {\n return;\n }\n if (cancel) {\n this.goBack();\n action?.onCancel?.();\n }\n else {\n if (action.goBack) {\n this.goBack();\n }\n else if (action.view) {\n this.reset(action.view);\n }\n action?.onSuccess?.();\n }\n },\n push(view, data) {\n if (view !== state.view) {\n state.view = view;\n state.history.push(view);\n state.data = data;\n }\n },\n reset(view) {\n state.view = view;\n state.history = [view];\n },\n replace(view, data) {\n if (state.history.length > 1 && state.history.at(-1) !== view) {\n state.view = view;\n state.history[state.history.length - 1] = view;\n state.data = data;\n }\n },\n goBack() {\n if (state.history.length > 1) {\n state.history.pop();\n const [last] = state.history.slice(-1);\n if (last) {\n state.view = last;\n }\n }\n },\n goBackToIndex(historyIndex) {\n if (state.history.length > 1) {\n state.history = state.history.slice(0, historyIndex + 1);\n const [last] = state.history.slice(-1);\n if (last) {\n state.view = last;\n }\n }\n }\n};\n//# sourceMappingURL=RouterController.js.map","import { subscribeKey as subKey } from 'valtio/utils';\nimport { proxy, subscribe as sub } from 'valtio/vanilla';\nimport { AccountController } from './AccountController.js';\nimport { ConstantsUtil } from '../utils/ConstantsUtil.js';\nimport { ConnectionController } from './ConnectionController.js';\nimport { ConvertApiUtil } from '../utils/ConvertApiUtil.js';\nimport { SnackController } from './SnackController.js';\nimport { RouterController } from './RouterController.js';\nimport { NumberUtil } from '@web3modal/common';\nimport { NetworkController } from './NetworkController.js';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { BlockchainApiController } from './BlockchainApiController.js';\nimport { OptionsController } from './OptionsController.js';\nexport const INITIAL_GAS_LIMIT = 150000;\nclass TransactionError extends Error {\n constructor(message, shortMessage) {\n super(message);\n this.name = 'TransactionError';\n this.shortMessage = shortMessage;\n }\n}\nconst state = proxy({\n initialized: false,\n loading: false,\n loadingPrices: false,\n approvalTransaction: undefined,\n convertTransaction: undefined,\n transactionError: undefined,\n transactionLoading: false,\n sourceToken: undefined,\n sourceTokenAmount: '',\n sourceTokenPriceInUSD: 0,\n toToken: undefined,\n toTokenAmount: '',\n toTokenPriceInUSD: 0,\n networkPrice: '0',\n networkBalanceInUSD: '0',\n inputError: undefined,\n slippage: ConstantsUtil.CONVERT_SLIPPAGE_TOLERANCE,\n tokens: undefined,\n popularTokens: undefined,\n suggestedTokens: undefined,\n foundTokens: undefined,\n myTokensWithBalance: undefined,\n tokensPriceMap: {},\n gasFee: BigInt(0),\n gasPriceInUSD: 0,\n priceImpact: undefined,\n maxSlippage: undefined\n});\nexport const ConvertController = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n getParams() {\n const { address } = AccountController.state;\n const networkAddress = `${NetworkController.state.caipNetwork?.id}:${ConstantsUtil.NATIVE_TOKEN_ADDRESS}`;\n if (!address) {\n throw new Error('No address found to swap the tokens from.');\n }\n return {\n networkAddress,\n fromAddress: address,\n fromCaipAddress: AccountController.state.caipAddress,\n sourceTokenAddress: state.sourceToken?.address,\n toTokenAddress: state.toToken?.address,\n toTokenAmount: state.toTokenAmount,\n toTokenDecimals: state.toToken?.decimals,\n sourceTokenAmount: state.sourceTokenAmount,\n sourceTokenDecimals: state.sourceToken?.decimals\n };\n },\n setLoading(loading) {\n state.loading = loading;\n },\n setSourceToken(sourceToken) {\n if (!sourceToken) {\n return;\n }\n state.sourceToken = sourceToken;\n this.setTokenValues(sourceToken.address, 'sourceToken');\n },\n setSourceTokenAmount(amount) {\n const { sourceTokenAddress } = this.getParams();\n state.sourceTokenAmount = amount;\n if (sourceTokenAddress) {\n this.setTokenValues(sourceTokenAddress, 'sourceToken');\n }\n },\n setToToken(toToken) {\n const { sourceTokenAddress, sourceTokenAmount } = this.getParams();\n if (!toToken) {\n state.toTokenAmount = '0';\n state.toTokenPriceInUSD = 0;\n return;\n }\n state.toToken = toToken;\n this.setTokenValues(toToken.address, 'toToken');\n if (sourceTokenAddress && sourceTokenAmount) {\n this.makeChecks();\n }\n },\n setToTokenAmount(amount) {\n const { toTokenAddress } = this.getParams();\n state.toTokenAmount = amount;\n if (toTokenAddress) {\n this.setTokenValues(toTokenAddress, 'toToken');\n }\n },\n async setTokenValues(address, target) {\n let price = state.tokensPriceMap[address] || 0;\n if (!price) {\n price = await this.getAddressPrice(address);\n }\n if (target === 'sourceToken') {\n state.sourceTokenPriceInUSD = price;\n }\n else if (target === 'toToken') {\n state.toTokenPriceInUSD = price;\n }\n },\n switchTokens() {\n const newSourceToken = state.toToken ? { ...state.toToken } : undefined;\n const newToToken = state.sourceToken ? { ...state.sourceToken } : undefined;\n this.setSourceToken(newSourceToken);\n this.setToToken(newToToken);\n this.setSourceTokenAmount(state.toTokenAmount || '0');\n ConvertController.convertTokens();\n },\n resetTokens() {\n state.tokens = undefined;\n state.popularTokens = undefined;\n state.myTokensWithBalance = undefined;\n state.initialized = false;\n },\n resetValues() {\n const { networkAddress } = this.getParams();\n const networkToken = state.tokens?.find(token => token.address === networkAddress);\n this.setSourceToken(networkToken);\n state.sourceTokenPriceInUSD = state.tokensPriceMap[networkAddress] || 0;\n state.sourceTokenAmount = '0';\n this.setToToken(undefined);\n state.gasPriceInUSD = 0;\n },\n clearError() {\n state.transactionError = undefined;\n },\n async initializeState() {\n if (!state.initialized) {\n await this.fetchTokens();\n state.initialized = true;\n }\n },\n async fetchTokens() {\n const { networkAddress } = this.getParams();\n await this.getTokenList();\n await this.getNetworkTokenPrice();\n await this.getMyTokensWithBalance();\n const networkToken = state.tokens?.find(token => token.address === networkAddress);\n if (networkToken) {\n this.setSourceToken(networkToken);\n }\n },\n async getTokenList() {\n const tokens = await ConvertApiUtil.getTokenList();\n state.tokens = tokens;\n state.popularTokens = tokens\n .sort((aTokenInfo, bTokenInfo) => {\n if (aTokenInfo.symbol < bTokenInfo.symbol) {\n return -1;\n }\n if (aTokenInfo.symbol > bTokenInfo.symbol) {\n return 1;\n }\n return 0;\n })\n .filter(token => {\n if (ConstantsUtil.POPULAR_TOKENS.includes(token.symbol)) {\n return true;\n }\n return false;\n }, {});\n state.suggestedTokens = tokens.filter(token => {\n if (ConstantsUtil.SUGGESTED_TOKENS.includes(token.symbol)) {\n return true;\n }\n return false;\n }, {});\n },\n async getAddressPrice(address) {\n const existPrice = state.tokensPriceMap[address];\n if (existPrice) {\n return existPrice;\n }\n const response = await BlockchainApiController.fetchTokenPrice({\n projectId: OptionsController.state.projectId,\n addresses: [address]\n });\n const fungibles = response.fungibles || [];\n const allTokens = [...(state.tokens || []), ...(state.myTokensWithBalance || [])];\n const symbol = allTokens?.find(token => token.address === address)?.symbol;\n const price = fungibles.find(p => p.symbol === symbol)?.price || '0';\n const priceAsFloat = parseFloat(price);\n state.tokensPriceMap[address] = priceAsFloat;\n return priceAsFloat;\n },\n async getNetworkTokenPrice() {\n const { networkAddress } = this.getParams();\n const response = await BlockchainApiController.fetchTokenPrice({\n projectId: OptionsController.state.projectId,\n addresses: [networkAddress]\n });\n const token = response.fungibles?.[0];\n const price = token?.price || '0';\n state.tokensPriceMap[networkAddress] = parseFloat(price);\n state.networkPrice = price;\n },\n async getMyTokensWithBalance() {\n const balances = await ConvertApiUtil.getMyTokensWithBalance();\n if (!balances) {\n return;\n }\n await this.getInitialGasPrice();\n this.setBalances(balances);\n },\n setBalances(balances) {\n const { networkAddress } = this.getParams();\n const networkToken = balances.find(token => token.address === networkAddress);\n balances.forEach(token => {\n state.tokensPriceMap[token.address] = token.price || 0;\n });\n state.myTokensWithBalance = balances;\n state.networkBalanceInUSD = networkToken\n ? NumberUtil.multiply(networkToken.quantity.numeric, networkToken.price).toString()\n : '0';\n },\n async getInitialGasPrice() {\n const res = await ConvertApiUtil.fetchGasPrice();\n if (!res) {\n return;\n }\n const value = res.instant;\n const gasFee = BigInt(value);\n const gasLimit = BigInt(INITIAL_GAS_LIMIT);\n const gasPrice = this.calculateGasPriceInUSD(gasLimit, gasFee);\n state.gasPriceInUSD = gasPrice;\n },\n async refreshConvertValues() {\n const { fromAddress, toTokenDecimals, toTokenAddress } = this.getParams();\n if (fromAddress && toTokenAddress && toTokenDecimals && !state.loading) {\n const transaction = await this.getTransaction();\n this.setTransactionDetails(transaction);\n }\n },\n calculateGasPriceInEther(gas, gasPrice) {\n const totalGasCostInWei = gasPrice * gas;\n const totalGasCostInEther = Number(totalGasCostInWei) / 1e18;\n return totalGasCostInEther;\n },\n calculateGasPriceInUSD(gas, gasPrice) {\n const totalGasCostInEther = this.calculateGasPriceInEther(gas, gasPrice);\n const networkPriceInUSD = NumberUtil.bigNumber(state.networkPrice);\n const gasCostInUSD = networkPriceInUSD.multipliedBy(totalGasCostInEther);\n return gasCostInUSD.toNumber();\n },\n calculatePriceImpact(toTokenAmount, gasPriceInUSD) {\n const sourceTokenAmount = state.sourceTokenAmount;\n const sourceTokenPrice = state.sourceTokenPriceInUSD;\n const toTokenPrice = state.toTokenPriceInUSD;\n const totalCostInUSD = NumberUtil.bigNumber(sourceTokenAmount)\n .multipliedBy(sourceTokenPrice)\n .plus(gasPriceInUSD);\n const effectivePricePerToToken = totalCostInUSD.dividedBy(toTokenAmount);\n const priceImpact = effectivePricePerToToken\n .minus(toTokenPrice)\n .dividedBy(toTokenPrice)\n .multipliedBy(100);\n return priceImpact.toNumber();\n },\n calculateMaxSlippage() {\n const slippageToleranceDecimal = NumberUtil.bigNumber(state.slippage).dividedBy(100);\n const maxSlippageAmount = NumberUtil.multiply(state.sourceTokenAmount, slippageToleranceDecimal);\n return maxSlippageAmount.toNumber();\n },\n async convertTokens() {\n const { sourceTokenAddress, toTokenAddress } = this.getParams();\n if (!sourceTokenAddress || !toTokenAddress) {\n return;\n }\n await this.makeChecks();\n },\n async makeChecks() {\n const { toTokenDecimals, toTokenAddress } = this.getParams();\n if (!toTokenDecimals || !toTokenAddress) {\n return;\n }\n state.loading = true;\n const transaction = await this.getTransaction();\n this.setTransactionDetails(transaction);\n state.loading = false;\n },\n async getTransaction() {\n const { fromCaipAddress, sourceTokenAddress, sourceTokenAmount, sourceTokenDecimals } = this.getParams();\n if (!fromCaipAddress ||\n !sourceTokenAddress ||\n !sourceTokenAmount ||\n parseFloat(sourceTokenAmount) === 0 ||\n !sourceTokenDecimals) {\n return undefined;\n }\n const hasAllowance = await ConvertApiUtil.fetchConvertAllowance({\n userAddress: fromCaipAddress,\n tokenAddress: sourceTokenAddress,\n sourceTokenAmount,\n sourceTokenDecimals\n });\n let transaction = undefined;\n if (hasAllowance) {\n state.approvalTransaction = undefined;\n transaction = await this.createConvert();\n state.convertTransaction = transaction;\n }\n else {\n state.convertTransaction = undefined;\n transaction = await this.createTokenAllowance();\n state.approvalTransaction = transaction;\n }\n return transaction;\n },\n getToAmount() {\n const { sourceTokenDecimals } = this.getParams();\n const decimals = sourceTokenDecimals || 18;\n const multiplier = 10 ** decimals;\n const toTokenConvertedAmount = state.sourceTokenPriceInUSD && state.toTokenPriceInUSD && state.sourceTokenAmount\n ? NumberUtil.bigNumber(state.sourceTokenAmount)\n .multipliedBy(state.sourceTokenPriceInUSD)\n .dividedBy(state.toTokenPriceInUSD)\n : NumberUtil.bigNumber(0);\n return toTokenConvertedAmount.multipliedBy(multiplier).toString();\n },\n async createTokenAllowance() {\n const { fromCaipAddress, fromAddress, sourceTokenAddress, toTokenAddress } = this.getParams();\n if (!fromCaipAddress || !toTokenAddress) {\n return undefined;\n }\n if (!sourceTokenAddress) {\n throw new Error('>>> createTokenAllowance - No source token address found.');\n }\n const response = await BlockchainApiController.generateApproveCalldata({\n projectId: OptionsController.state.projectId,\n from: sourceTokenAddress,\n to: toTokenAddress,\n userAddress: fromCaipAddress\n });\n const gasLimit = await ConnectionController.estimateGas({\n address: fromAddress,\n to: CoreHelperUtil.getPlainAddress(response.tx.to),\n data: response.tx.data\n });\n const toAmount = this.getToAmount();\n const transaction = {\n data: response.tx.data,\n to: CoreHelperUtil.getPlainAddress(response.tx.from),\n gas: gasLimit,\n gasPrice: BigInt(response.tx.eip155.gasPrice),\n value: BigInt(response.tx.value),\n toAmount\n };\n return transaction;\n },\n async sendTransactionForApproval(data) {\n const { fromAddress } = this.getParams();\n state.transactionLoading = true;\n RouterController.pushTransactionStack({\n view: null,\n goBack: true\n });\n try {\n await ConnectionController.sendTransaction({\n address: fromAddress,\n to: data.to,\n data: data.data,\n value: BigInt(data.value),\n gasPrice: BigInt(data.gasPrice)\n });\n state.approvalTransaction = undefined;\n state.transactionLoading = false;\n this.makeChecks();\n }\n catch (err) {\n const error = err;\n state.transactionError = error?.shortMessage;\n state.transactionLoading = false;\n }\n },\n async createConvert() {\n const { networkAddress, fromCaipAddress, sourceTokenAddress, sourceTokenDecimals, sourceTokenAmount, toTokenAddress } = this.getParams();\n if (!fromCaipAddress ||\n !sourceTokenAmount ||\n !sourceTokenAddress ||\n !toTokenAddress ||\n !sourceTokenDecimals) {\n return undefined;\n }\n try {\n const amount = ConnectionController.parseUnits(sourceTokenAmount, sourceTokenDecimals).toString();\n const response = await BlockchainApiController.generateConvertCalldata({\n projectId: OptionsController.state.projectId,\n userAddress: fromCaipAddress,\n from: sourceTokenAddress,\n to: toTokenAddress,\n amount\n });\n const isSourceTokenIsNetworkToken = sourceTokenAddress === networkAddress;\n const toAmount = this.getToAmount();\n const gas = BigInt(response.tx.eip155.gas);\n const gasPrice = BigInt(response.tx.eip155.gasPrice);\n const transaction = {\n data: response.tx.data,\n to: CoreHelperUtil.getPlainAddress(response.tx.to),\n gas,\n gasPrice,\n value: isSourceTokenIsNetworkToken ? BigInt(amount) : BigInt('0'),\n toAmount\n };\n state.gasPriceInUSD = this.calculateGasPriceInUSD(gas, gasPrice);\n return transaction;\n }\n catch (error) {\n return undefined;\n }\n },\n async sendTransactionForConvert(data) {\n if (!data) {\n return undefined;\n }\n const { fromAddress } = this.getParams();\n state.transactionLoading = true;\n RouterController.pushTransactionStack({\n view: 'Account',\n goBack: false,\n onSuccess() {\n ConvertController.resetValues();\n }\n });\n try {\n const transactionHash = await ConnectionController.sendTransaction({\n address: fromAddress,\n to: data.to,\n data: data.data,\n gas: data.gas,\n gasPrice: BigInt(data.gasPrice),\n value: data.value\n });\n state.transactionLoading = false;\n setTimeout(() => {\n this.resetValues();\n this.getMyTokensWithBalance();\n }, 1000);\n return transactionHash;\n }\n catch (err) {\n const error = err;\n state.transactionError = error?.shortMessage;\n state.transactionLoading = false;\n SnackController.showError(error?.shortMessage || 'Transaction error');\n return undefined;\n }\n },\n getToTokenValues(amountBigInt, decimals) {\n const { toTokenAddress } = this.getParams();\n if (!toTokenAddress) {\n return {\n toTokenAmount: '0',\n toTokenPriceInUSD: 0\n };\n }\n const toTokenAmount = NumberUtil.bigNumber(amountBigInt)\n .dividedBy(10 ** decimals)\n .toFixed(20);\n const toTokenPrice = state.tokensPriceMap[toTokenAddress] || '0';\n const toTokenPriceInUSD = NumberUtil.bigNumber(toTokenPrice).toNumber();\n return {\n toTokenAmount,\n toTokenPriceInUSD\n };\n },\n isInsufficientNetworkTokenForGas() {\n return NumberUtil.bigNumber(NumberUtil.bigNumber(state.gasPriceInUSD || '0')).isGreaterThan(state.networkBalanceInUSD);\n },\n setTransactionDetails(transaction) {\n const { toTokenAddress, toTokenDecimals } = this.getParams();\n if (!transaction || !toTokenAddress || !toTokenDecimals) {\n return;\n }\n const insufficientNetworkToken = this.isInsufficientNetworkTokenForGas();\n if (insufficientNetworkToken) {\n state.inputError = 'Insufficient balance';\n }\n else {\n state.inputError = undefined;\n }\n const { toTokenAmount, toTokenPriceInUSD } = this.getToTokenValues(transaction.toAmount, toTokenDecimals);\n state.toTokenAmount = toTokenAmount;\n state.toTokenPriceInUSD = toTokenPriceInUSD;\n state.gasPriceInUSD = this.calculateGasPriceInUSD(transaction.gas, transaction.gasPrice);\n state.priceImpact = this.calculatePriceImpact(state.toTokenAmount, state.gasPriceInUSD);\n state.maxSlippage = this.calculateMaxSlippage();\n }\n};\n//# sourceMappingURL=ConvertController.js.map","import { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { proxy, ref, subscribe as sub } from 'valtio/vanilla';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { BlockchainApiController } from './BlockchainApiController.js';\nimport { SnackController } from './SnackController.js';\nimport { ConvertController } from './ConvertController.js';\nimport { ConvertApiUtil } from '../utils/ConvertApiUtil.js';\nconst state = proxy({\n isConnected: false,\n currentTab: 0,\n tokenBalance: [],\n smartAccountDeployed: false\n});\nexport const AccountController = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n setIsConnected(isConnected) {\n state.isConnected = isConnected;\n },\n setCaipAddress(caipAddress) {\n state.caipAddress = caipAddress;\n state.address = caipAddress ? CoreHelperUtil.getPlainAddress(caipAddress) : undefined;\n },\n setBalance(balance, balanceSymbol) {\n state.balance = balance;\n state.balanceSymbol = balanceSymbol;\n },\n setProfileName(profileName) {\n state.profileName = profileName;\n },\n setProfileImage(profileImage) {\n state.profileImage = profileImage;\n },\n setAddressExplorerUrl(explorerUrl) {\n state.addressExplorerUrl = explorerUrl;\n },\n setSmartAccountDeployed(isDeployed) {\n state.smartAccountDeployed = isDeployed;\n },\n setCurrentTab(currentTab) {\n state.currentTab = currentTab;\n },\n setTokenBalance(tokenBalance) {\n if (tokenBalance) {\n state.tokenBalance = ref(tokenBalance);\n }\n },\n setConnectedWalletInfo(connectedWalletInfo) {\n state.connectedWalletInfo = connectedWalletInfo;\n },\n setPreferredAccountType(preferredAccountType) {\n state.preferredAccountType = preferredAccountType;\n },\n async fetchTokenBalance() {\n try {\n if (state.address) {\n const response = await BlockchainApiController.getBalance(state.address);\n this.setTokenBalance(response.balances);\n ConvertController.setBalances(ConvertApiUtil.mapBalancesToConvertTokens(response.balances));\n }\n }\n catch (error) {\n SnackController.showError('Failed to fetch token balance');\n }\n },\n resetAccount() {\n state.isConnected = false;\n state.smartAccountDeployed = false;\n state.currentTab = 0;\n state.caipAddress = undefined;\n state.address = undefined;\n state.balance = undefined;\n state.balanceSymbol = undefined;\n state.profileName = undefined;\n state.profileImage = undefined;\n state.addressExplorerUrl = undefined;\n state.tokenBalance = [];\n state.connectedWalletInfo = undefined;\n state.preferredAccountType = undefined;\n }\n};\n//# sourceMappingURL=AccountController.js.map","import { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { proxy, subscribe as sub } from 'valtio/vanilla';\nconst state = proxy({\n walletImages: {},\n networkImages: {},\n connectorImages: {},\n tokenImages: {},\n currencyImages: {}\n});\nexport const AssetController = {\n state,\n subscribeNetworkImages(callback) {\n return sub(state.networkImages, () => callback(state.networkImages));\n },\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n setWalletImage(key, value) {\n state.walletImages[key] = value;\n },\n setNetworkImage(key, value) {\n state.networkImages[key] = value;\n },\n setConnectorImage(key, value) {\n state.connectorImages[key] = value;\n },\n setTokenImage(key, value) {\n state.tokenImages[key] = value;\n },\n setCurrencyImage(key, value) {\n state.currencyImages[key] = value;\n }\n};\n//# sourceMappingURL=AssetController.js.map","import { proxy, subscribe as sub, snapshot } from 'valtio/vanilla';\nimport { ConnectorController } from './ConnectorController.js';\nconst state = proxy({\n themeMode: 'dark',\n themeVariables: {}\n});\nexport const ThemeController = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n setThemeMode(themeMode) {\n state.themeMode = themeMode;\n try {\n const emailConnector = ConnectorController.getEmailConnector();\n if (emailConnector) {\n emailConnector.provider.syncTheme({\n themeMode: ThemeController.getSnapshot().themeMode\n });\n }\n }\n catch {\n console.info('Unable to sync theme to email connector');\n }\n },\n setThemeVariables(themeVariables) {\n state.themeVariables = { ...state.themeVariables, ...themeVariables };\n try {\n const emailConnector = ConnectorController.getEmailConnector();\n if (emailConnector) {\n emailConnector.provider.syncTheme({\n themeVariables: ThemeController.getSnapshot().themeVariables\n });\n }\n }\n catch {\n console.info('Unable to sync theme to email connector');\n }\n },\n getSnapshot() {\n return snapshot(state);\n }\n};\n//# sourceMappingURL=ThemeController.js.map","import { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { proxy, ref, snapshot } from 'valtio/vanilla';\nimport { OptionsController } from './OptionsController.js';\nimport { ThemeController } from './ThemeController.js';\nconst state = proxy({\n connectors: []\n});\nexport const ConnectorController = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n setConnectors(connectors) {\n state.connectors = connectors.map(c => ref(c));\n },\n addConnector(connector) {\n state.connectors.push(ref(connector));\n if (connector.id === 'w3mEmail') {\n const emailConnector = connector;\n const optionsState = snapshot(OptionsController.state);\n emailConnector?.provider?.syncDappData?.({\n metadata: optionsState.metadata,\n sdkVersion: optionsState.sdkVersion,\n projectId: optionsState.projectId\n });\n emailConnector.provider.syncTheme({\n themeMode: ThemeController.getSnapshot().themeMode,\n themeVariables: ThemeController.getSnapshot().themeVariables\n });\n }\n },\n getEmailConnector() {\n return state.connectors.find(c => c.type === 'EMAIL');\n },\n getAnnouncedConnectorRdns() {\n return state.connectors.filter(c => c.type === 'ANNOUNCED').map(c => c.info?.rdns);\n },\n getConnectors() {\n return state.connectors;\n },\n getConnector(id, rdns) {\n return state.connectors.find(c => c.explorerId === id || c.info?.rdns === rdns);\n }\n};\n//# sourceMappingURL=ConnectorController.js.map","import { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { proxy } from 'valtio/vanilla';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { FetchUtil } from '../utils/FetchUtil.js';\nimport { StorageUtil } from '../utils/StorageUtil.js';\nimport { AssetController } from './AssetController.js';\nimport { ConnectorController } from './ConnectorController.js';\nimport { NetworkController } from './NetworkController.js';\nimport { OptionsController } from './OptionsController.js';\nconst baseUrl = CoreHelperUtil.getApiUrl();\nexport const api = new FetchUtil({ baseUrl });\nconst entries = '40';\nconst recommendedEntries = '4';\nconst state = proxy({\n page: 1,\n count: 0,\n featured: [],\n recommended: [],\n wallets: [],\n search: [],\n isAnalyticsEnabled: false\n});\nexport const ApiController = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n _getApiHeaders() {\n const { projectId, sdkType, sdkVersion } = OptionsController.state;\n return {\n 'x-project-id': projectId,\n 'x-sdk-type': sdkType,\n 'x-sdk-version': sdkVersion\n };\n },\n async _fetchWalletImage(imageId) {\n const imageUrl = `${api.baseUrl}/getWalletImage/${imageId}`;\n const blob = await api.getBlob({ path: imageUrl, headers: ApiController._getApiHeaders() });\n AssetController.setWalletImage(imageId, URL.createObjectURL(blob));\n },\n async _fetchNetworkImage(imageId) {\n const imageUrl = `${api.baseUrl}/public/getAssetImage/${imageId}`;\n const blob = await api.getBlob({ path: imageUrl, headers: ApiController._getApiHeaders() });\n AssetController.setNetworkImage(imageId, URL.createObjectURL(blob));\n },\n async _fetchConnectorImage(imageId) {\n const imageUrl = `${api.baseUrl}/public/getAssetImage/${imageId}`;\n const blob = await api.getBlob({ path: imageUrl, headers: ApiController._getApiHeaders() });\n AssetController.setConnectorImage(imageId, URL.createObjectURL(blob));\n },\n async _fetchCurrencyImage(countryCode) {\n const imageUrl = `${api.baseUrl}/public/getCurrencyImage/${countryCode}`;\n const blob = await api.getBlob({ path: imageUrl, headers: ApiController._getApiHeaders() });\n AssetController.setCurrencyImage(countryCode, URL.createObjectURL(blob));\n },\n async _fetchTokenImage(symbol) {\n const imageUrl = `${api.baseUrl}/public/getTokenImage/${symbol}`;\n const blob = await api.getBlob({ path: imageUrl, headers: ApiController._getApiHeaders() });\n AssetController.setTokenImage(symbol, URL.createObjectURL(blob));\n },\n async fetchNetworkImages() {\n const { requestedCaipNetworks } = NetworkController.state;\n const ids = requestedCaipNetworks?.map(({ imageId }) => imageId).filter(Boolean);\n if (ids) {\n await Promise.allSettled(ids.map(id => ApiController._fetchNetworkImage(id)));\n }\n },\n async fetchConnectorImages() {\n const { connectors } = ConnectorController.state;\n const ids = connectors.map(({ imageId }) => imageId).filter(Boolean);\n await Promise.allSettled(ids.map(id => ApiController._fetchConnectorImage(id)));\n },\n async fetchCurrencyImages(currencies = []) {\n await Promise.allSettled(currencies.map(currency => ApiController._fetchCurrencyImage(currency)));\n },\n async fetchTokenImages(tokens = []) {\n await Promise.allSettled(tokens.map(token => ApiController._fetchTokenImage(token)));\n },\n async fetchFeaturedWallets() {\n const { featuredWalletIds } = OptionsController.state;\n if (featuredWalletIds?.length) {\n const { data } = await api.get({\n path: '/getWallets',\n headers: ApiController._getApiHeaders(),\n params: {\n page: '1',\n entries: featuredWalletIds?.length\n ? String(featuredWalletIds.length)\n : recommendedEntries,\n include: featuredWalletIds?.join(',')\n }\n });\n data.sort((a, b) => featuredWalletIds.indexOf(a.id) - featuredWalletIds.indexOf(b.id));\n const images = data.map(d => d.image_id).filter(Boolean);\n await Promise.allSettled(images.map(id => ApiController._fetchWalletImage(id)));\n state.featured = data;\n }\n },\n async fetchRecommendedWallets() {\n const { includeWalletIds, excludeWalletIds, featuredWalletIds } = OptionsController.state;\n const exclude = [...(excludeWalletIds ?? []), ...(featuredWalletIds ?? [])].filter(Boolean);\n const { data, count } = await api.get({\n path: '/getWallets',\n headers: ApiController._getApiHeaders(),\n params: {\n page: '1',\n chains: NetworkController.state.caipNetwork?.id,\n entries: recommendedEntries,\n include: includeWalletIds?.join(','),\n exclude: exclude?.join(',')\n }\n });\n const recent = StorageUtil.getRecentWallets();\n const recommendedImages = data.map(d => d.image_id).filter(Boolean);\n const recentImages = recent.map(r => r.image_id).filter(Boolean);\n await Promise.allSettled([...recommendedImages, ...recentImages].map(id => ApiController._fetchWalletImage(id)));\n state.recommended = data;\n state.count = count ?? 0;\n },\n async fetchWallets({ page }) {\n const { includeWalletIds, excludeWalletIds, featuredWalletIds } = OptionsController.state;\n const exclude = [\n ...state.recommended.map(({ id }) => id),\n ...(excludeWalletIds ?? []),\n ...(featuredWalletIds ?? [])\n ].filter(Boolean);\n const { data, count } = await api.get({\n path: '/getWallets',\n headers: ApiController._getApiHeaders(),\n params: {\n page: String(page),\n entries,\n chains: NetworkController.state.caipNetwork?.id,\n include: includeWalletIds?.join(','),\n exclude: exclude.join(',')\n }\n });\n const images = data.map(w => w.image_id).filter(Boolean);\n await Promise.allSettled([\n ...images.map(id => ApiController._fetchWalletImage(id)),\n CoreHelperUtil.wait(300)\n ]);\n state.wallets = [...state.wallets, ...data];\n state.count = count > state.count ? count : state.count;\n state.page = page;\n },\n async searchWallet({ search }) {\n const { includeWalletIds, excludeWalletIds } = OptionsController.state;\n state.search = [];\n const { data } = await api.get({\n path: '/getWallets',\n headers: ApiController._getApiHeaders(),\n params: {\n page: '1',\n entries: '100',\n search,\n chains: NetworkController.state.caipNetwork?.id,\n include: includeWalletIds?.join(','),\n exclude: excludeWalletIds?.join(',')\n }\n });\n const images = data.map(w => w.image_id).filter(Boolean);\n await Promise.allSettled([\n ...images.map(id => ApiController._fetchWalletImage(id)),\n CoreHelperUtil.wait(300)\n ]);\n state.search = data;\n },\n async reFetchWallets() {\n state.page = 1;\n state.wallets = [];\n await ApiController.fetchFeaturedWallets();\n await ApiController.fetchRecommendedWallets();\n },\n prefetch() {\n const promises = [\n ApiController.fetchFeaturedWallets(),\n ApiController.fetchRecommendedWallets(),\n ApiController.fetchNetworkImages(),\n ApiController.fetchConnectorImages()\n ];\n if (OptionsController.state.enableAnalytics === undefined) {\n promises.push(ApiController.fetchAnalyticsConfig());\n }\n state.prefetchPromise = Promise.race([Promise.allSettled(promises), CoreHelperUtil.wait(3000)]);\n },\n async fetchAnalyticsConfig() {\n const { isAnalyticsEnabled } = await api.get({\n path: '/getAnalyticsConfig',\n headers: ApiController._getApiHeaders()\n });\n OptionsController.setEnableAnalytics(isAnalyticsEnabled);\n }\n};\n//# sourceMappingURL=ApiController.js.map","import { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { proxy, subscribe as sub } from 'valtio/vanilla';\nimport { AccountController } from './AccountController.js';\nimport { ApiController } from './ApiController.js';\nimport { EventsController } from './EventsController.js';\nimport { PublicStateController } from './PublicStateController.js';\nimport { RouterController } from './RouterController.js';\nconst state = proxy({\n loading: false,\n open: false\n});\nexport const ModalController = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n async open(options) {\n await ApiController.state.prefetchPromise;\n const connected = AccountController.state.isConnected;\n if (options?.view) {\n RouterController.reset(options.view);\n }\n else if (connected) {\n RouterController.reset('Account');\n }\n else {\n RouterController.reset('Connect');\n }\n state.open = true;\n PublicStateController.set({ open: true });\n EventsController.sendEvent({\n type: 'track',\n event: 'MODAL_OPEN',\n properties: { connected }\n });\n },\n close() {\n const connected = AccountController.state.isConnected;\n state.open = false;\n PublicStateController.set({ open: false });\n EventsController.sendEvent({\n type: 'track',\n event: 'MODAL_CLOSE',\n properties: { connected }\n });\n },\n setLoading(loading) {\n state.loading = loading;\n PublicStateController.set({ loading });\n }\n};\n//# sourceMappingURL=ModalController.js.map","import { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { proxy, subscribe as sub } from 'valtio/vanilla';\nimport { ONRAMP_PROVIDERS } from '../utils/ConstantsUtil.js';\nimport { BlockchainApiController } from './BlockchainApiController.js';\nimport { ApiController } from './ApiController.js';\nexport const USDC_CURRENCY_DEFAULT = {\n id: '2b92315d-eab7-5bef-84fa-089a131333f5',\n name: 'USD Coin',\n symbol: 'USDC',\n networks: [\n {\n name: 'ethereum-mainnet',\n display_name: 'Ethereum',\n chain_id: '1',\n contract_address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'\n },\n {\n name: 'polygon-mainnet',\n display_name: 'Polygon',\n chain_id: '137',\n contract_address: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174'\n }\n ]\n};\nexport const USD_CURRENCY_DEFAULT = {\n id: 'USD',\n payment_method_limits: [\n {\n id: 'card',\n min: '10.00',\n max: '7500.00'\n },\n {\n id: 'ach_bank_account',\n min: '10.00',\n max: '25000.00'\n }\n ]\n};\nconst defaultState = {\n providers: ONRAMP_PROVIDERS,\n selectedProvider: null,\n error: null,\n purchaseCurrency: USDC_CURRENCY_DEFAULT,\n paymentCurrency: USD_CURRENCY_DEFAULT,\n purchaseCurrencies: [USDC_CURRENCY_DEFAULT],\n paymentCurrencies: [],\n quotesLoading: false\n};\nconst state = proxy(defaultState);\nexport const OnRampController = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n setSelectedProvider(provider) {\n state.selectedProvider = provider;\n },\n setPurchaseCurrency(currency) {\n state.purchaseCurrency = currency;\n },\n setPaymentCurrency(currency) {\n state.paymentCurrency = currency;\n },\n setPurchaseAmount(amount) {\n this.state.purchaseAmount = amount;\n },\n setPaymentAmount(amount) {\n this.state.paymentAmount = amount;\n },\n async getAvailableCurrencies() {\n const options = await BlockchainApiController.getOnrampOptions();\n state.purchaseCurrencies = options.purchaseCurrencies;\n state.paymentCurrencies = options.paymentCurrencies;\n state.paymentCurrency = options.paymentCurrencies[0] || USD_CURRENCY_DEFAULT;\n state.purchaseCurrency = options.purchaseCurrencies[0] || USDC_CURRENCY_DEFAULT;\n await ApiController.fetchCurrencyImages(options.paymentCurrencies.map(currency => currency.id));\n await ApiController.fetchTokenImages(options.purchaseCurrencies.map(currency => currency.symbol));\n },\n async getQuote() {\n state.quotesLoading = true;\n try {\n const quote = await BlockchainApiController.getOnrampQuote({\n purchaseCurrency: state.purchaseCurrency,\n paymentCurrency: state.paymentCurrency,\n amount: state.paymentAmount?.toString() || '0',\n network: state.purchaseCurrency?.symbol\n });\n state.quotesLoading = false;\n state.purchaseAmount = Number(quote.purchaseAmount.amount);\n return quote;\n }\n catch (error) {\n state.error = error.message;\n state.quotesLoading = false;\n return null;\n }\n finally {\n state.quotesLoading = false;\n }\n },\n resetState() {\n state.providers = ONRAMP_PROVIDERS;\n state.selectedProvider = null;\n state.error = null;\n state.purchaseCurrency = USDC_CURRENCY_DEFAULT;\n state.paymentCurrency = USD_CURRENCY_DEFAULT;\n state.purchaseCurrencies = [USDC_CURRENCY_DEFAULT];\n state.paymentCurrencies = [];\n state.paymentAmount = undefined;\n state.purchaseAmount = undefined;\n state.quotesLoading = false;\n }\n};\n//# sourceMappingURL=OnRampController.js.map","import { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { proxy, ref, subscribe as sub } from 'valtio/vanilla';\nconst state = proxy({});\nexport const SendController = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n setToken(token) {\n if (token) {\n state.token = ref(token);\n }\n },\n setTokenAmount(sendTokenAmount) {\n state.sendTokenAmount = sendTokenAmount;\n },\n setReceiverAddress(receiverAddress) {\n state.receiverAddress = receiverAddress;\n },\n setReceiverProfileImageUrl(receiverProfileImageUrl) {\n state.receiverProfileImageUrl = receiverProfileImageUrl;\n },\n setReceiverProfileName(receiverProfileName) {\n state.receiverProfileName = receiverProfileName;\n },\n resetSend() {\n state.token = undefined;\n state.sendTokenAmount = undefined;\n state.receiverAddress = undefined;\n state.receiverProfileImageUrl = undefined;\n state.receiverProfileName = undefined;\n }\n};\n//# sourceMappingURL=SendController.js.map","import { AssetController } from '../controllers/AssetController.js';\nexport const AssetUtil = {\n getWalletImage(wallet) {\n if (wallet?.image_url) {\n return wallet?.image_url;\n }\n if (wallet?.image_id) {\n return AssetController.state.walletImages[wallet.image_id];\n }\n return undefined;\n },\n getNetworkImage(network) {\n if (network?.imageUrl) {\n return network?.imageUrl;\n }\n if (network?.imageId) {\n return AssetController.state.networkImages[network.imageId];\n }\n return undefined;\n },\n getConnectorImage(connector) {\n if (connector?.imageUrl) {\n return connector.imageUrl;\n }\n if (connector?.imageId) {\n return AssetController.state.connectorImages[connector.imageId];\n }\n return undefined;\n }\n};\n//# sourceMappingURL=AssetUtil.js.map","import { RouterController } from '../controllers/RouterController.js';\nimport { ModalController } from '../controllers/ModalController.js';\nexport const RouterUtil = {\n goBackOrCloseModal() {\n if (RouterController.state.history.length > 1) {\n RouterController.goBack();\n }\n else {\n ModalController.close();\n }\n },\n navigateAfterNetworkSwitch() {\n const { history } = RouterController.state;\n const networkSelectIndex = history.findIndex(name => name === 'Networks');\n if (networkSelectIndex >= 1) {\n RouterController.goBackToIndex(networkSelectIndex - 1);\n }\n else {\n ModalController.close();\n }\n }\n};\n//# sourceMappingURL=RouterUtil.js.map","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:r,getOwnPropertyNames:h,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),y={attribute:!0,type:String,converter:u,reflect:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=y){if(s.state&&(s.attribute=!1),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);void 0!==r&&e(this.prototype,t,r)}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get(){return e?.call(this)},set(s){const r=e?.call(this);h.call(this,s),this.requestUpdate(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??y}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...h(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$EC(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const r=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==r?this.removeAttribute(e):this.setAttribute(e,r),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),r=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f)(this[t],s))return;this.P(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),!0===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t)!0!==i.wrapped||this._$AL.has(s)||void 0===this[s]||this.P(s,this[s],i)}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EU()}catch(s){throw t=!1,this._$EU(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU()}updated(t){}firstUpdated(t){}}b.elementStyles=[],b.shadowRootOptions={mode:\"open\"},b[d(\"elementProperties\")]=new Map,b[d(\"finalized\")]=new Map,p?.({ReactiveElement:b}),(a.reactiveElementVersions??=[]).push(\"2.0.4\");export{b as ReactiveElement,u as defaultConverter,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=Symbol.for(\"lit-noChange\"),T=Symbol.for(\"lit-nothing\"),A=new WeakMap,E=r.createTreeWalker(r,129);function C(t,i){if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const P=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"\":\"\",c=f;for(let i=0;i\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[C(t,l+(t[s]||\"\")+(2===i?\"\":\"\")),o]};class V{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=P(t,s);if(this.el=V.createElement(f,n),E.currentNode=this.el.content,2===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=E.nextNode())&&d.length0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=T}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=N(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==w,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new M(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{z as _$LH,x as html,w as noChange,T as nothing,j as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as i}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class s extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(i,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return i}}s._$litElement$=!0,s[(\"finalized\",\"finalized\")]=!0,globalThis.litElementHydrateSupport?.({LitElement:s});const r=globalThis.litElementPolyfillSupport;r?.({LitElement:s});const o={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(globalThis.litElementVersions??=[]).push(\"4.0.5\");export{s as LitElement,o as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","import { svg } from 'lit';\nexport const convertInputMaskBottomSvg = svg `\n \n \n \n \n \n`;\n//# sourceMappingURL=convert-input-mask-bottom.js.map","import { svg } from 'lit';\nexport const convertInputMaskTopSvg = svg `\n \n \n \n \n \n`;\n//# sourceMappingURL=convert-input-mask-top.js.map","import { css, unsafeCSS } from 'lit';\nlet themeTag = undefined;\nlet darkModeTag = undefined;\nlet lightModeTag = undefined;\nexport function initializeTheming(themeVariables, themeMode) {\n themeTag = document.createElement('style');\n darkModeTag = document.createElement('style');\n lightModeTag = document.createElement('style');\n themeTag.textContent = createRootStyles(themeVariables).core.cssText;\n darkModeTag.textContent = createRootStyles(themeVariables).dark.cssText;\n lightModeTag.textContent = createRootStyles(themeVariables).light.cssText;\n document.head.appendChild(themeTag);\n document.head.appendChild(darkModeTag);\n document.head.appendChild(lightModeTag);\n setColorTheme(themeMode);\n}\nexport function setColorTheme(themeMode) {\n if (darkModeTag && lightModeTag) {\n if (themeMode === 'light') {\n darkModeTag.removeAttribute('media');\n lightModeTag.media = 'enabled';\n }\n else {\n lightModeTag.removeAttribute('media');\n darkModeTag.media = 'enabled';\n }\n }\n}\nexport function setThemeVariables(themeVariables) {\n if (themeTag && darkModeTag && lightModeTag) {\n themeTag.textContent = createRootStyles(themeVariables).core.cssText;\n darkModeTag.textContent = createRootStyles(themeVariables).dark.cssText;\n lightModeTag.textContent = createRootStyles(themeVariables).light.cssText;\n }\n}\nfunction createRootStyles(themeVariables) {\n return {\n core: css `\n @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');\n :root {\n --w3m-color-mix-strength: ${unsafeCSS(themeVariables?.['--w3m-color-mix-strength']\n ? `${themeVariables['--w3m-color-mix-strength']}%`\n : '0%')};\n --w3m-font-family: ${unsafeCSS(themeVariables?.['--w3m-font-family'] ||\n 'Inter, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;')};\n --w3m-font-size-master: ${unsafeCSS(themeVariables?.['--w3m-font-size-master'] || '10px')};\n --w3m-border-radius-master: ${unsafeCSS(themeVariables?.['--w3m-border-radius-master'] || '4px')};\n --w3m-z-index: ${unsafeCSS(themeVariables?.['--w3m-z-index'] || 999)};\n\n --wui-font-family: var(--w3m-font-family);\n\n --wui-font-size-mini: calc(var(--w3m-font-size-master) * 0.8);\n --wui-font-size-micro: var(--w3m-font-size-master);\n --wui-font-size-tiny: calc(var(--w3m-font-size-master) * 1.2);\n --wui-font-size-small: calc(var(--w3m-font-size-master) * 1.4);\n --wui-font-size-paragraph: calc(var(--w3m-font-size-master) * 1.6);\n --wui-font-size-medium: calc(var(--w3m-font-size-master) * 1.8);\n --wui-font-size-large: calc(var(--w3m-font-size-master) * 2);\n --wui-font-size-medium-title: calc(var(--w3m-font-size-master) * 2.4);\n --wui-font-size-2xl: calc(var(--w3m-font-size-master) * 4);\n\n --wui-border-radius-5xs: var(--w3m-border-radius-master);\n --wui-border-radius-4xs: calc(var(--w3m-border-radius-master) * 1.5);\n --wui-border-radius-3xs: calc(var(--w3m-border-radius-master) * 2);\n --wui-border-radius-xxs: calc(var(--w3m-border-radius-master) * 3);\n --wui-border-radius-xs: calc(var(--w3m-border-radius-master) * 4);\n --wui-border-radius-s: calc(var(--w3m-border-radius-master) * 5);\n --wui-border-radius-m: calc(var(--w3m-border-radius-master) * 7);\n --wui-border-radius-l: calc(var(--w3m-border-radius-master) * 9);\n --wui-border-radius-3xl: calc(var(--w3m-border-radius-master) * 20);\n\n --wui-font-weight-light: 400;\n --wui-font-weight-regular: 500;\n --wui-font-weight-medium: 600;\n --wui-font-weight-bold: 700;\n\n --wui-letter-spacing-2xl: -1.6px;\n --wui-letter-spacing-medium-title: -0.96px;\n --wui-letter-spacing-large: -0.8px;\n --wui-letter-spacing-medium: -0.72px;\n --wui-letter-spacing-paragraph: -0.64px;\n --wui-letter-spacing-small: -0.56px;\n --wui-letter-spacing-tiny: -0.48px;\n --wui-letter-spacing-micro: -0.2px;\n --wui-letter-spacing-mini: -0.16px;\n\n --wui-spacing-0: 0px;\n --wui-spacing-4xs: 2px;\n --wui-spacing-3xs: 4px;\n --wui-spacing-xxs: 6px;\n --wui-spacing-2xs: 7px;\n --wui-spacing-xs: 8px;\n --wui-spacing-1xs: 10px;\n --wui-spacing-s: 12px;\n --wui-spacing-m: 14px;\n --wui-spacing-l: 16px;\n --wui-spacing-2l: 18px;\n --wui-spacing-xl: 20px;\n --wui-spacing-xxl: 24px;\n --wui-spacing-2xl: 32px;\n --wui-spacing-3xl: 40px;\n --wui-spacing-4xl: 90px;\n\n --wui-icon-box-size-xxs: 14px;\n --wui-icon-box-size-xs: 20px;\n --wui-icon-box-size-sm: 24px;\n --wui-icon-box-size-md: 32px;\n --wui-icon-box-size-lg: 40px;\n --wui-icon-box-size-xl: 64px;\n\n --wui-icon-size-inherit: inherit;\n --wui-icon-size-xxs: 10px;\n --wui-icon-size-xs: 12px;\n --wui-icon-size-sm: 14px;\n --wui-icon-size-md: 16px;\n --wui-icon-size-mdl: 18px;\n --wui-icon-size-lg: 20px;\n --wui-icon-size-xl: 24px;\n\n --wui-wallet-image-size-inherit: inherit;\n --wui-wallet-image-size-sm: 40px;\n --wui-wallet-image-size-md: 56px;\n --wui-wallet-image-size-lg: 80px;\n\n --wui-visual-size-size-inherit: inherit;\n --wui-visual-size-sm: 40px;\n --wui-visual-size-md: 55px;\n --wui-visual-size-lg: 80px;\n\n --wui-box-size-md: 100px;\n --wui-box-size-lg: 120px;\n\n --wui-ease-out-power-2: cubic-bezier(0, 0, 0.22, 1);\n --wui-ease-out-power-1: cubic-bezier(0, 0, 0.55, 1);\n\n --wui-ease-in-power-3: cubic-bezier(0.66, 0, 1, 1);\n --wui-ease-in-power-2: cubic-bezier(0.45, 0, 1, 1);\n --wui-ease-in-power-1: cubic-bezier(0.3, 0, 1, 1);\n\n --wui-ease-inout-power-1: cubic-bezier(0.45, 0, 0.55, 1);\n\n --wui-duration-lg: 200ms;\n --wui-duration-md: 125ms;\n --wui-duration-sm: 75ms;\n\n --wui-path-network-sm: path(\n 'M15.4 2.1a5.21 5.21 0 0 1 5.2 0l11.61 6.7a5.21 5.21 0 0 1 2.61 4.52v13.4c0 1.87-1 3.59-2.6 4.52l-11.61 6.7c-1.62.93-3.6.93-5.22 0l-11.6-6.7a5.21 5.21 0 0 1-2.61-4.51v-13.4c0-1.87 1-3.6 2.6-4.52L15.4 2.1Z'\n );\n\n --wui-path-network-md: path(\n 'M43.4605 10.7248L28.0485 1.61089C25.5438 0.129705 22.4562 0.129705 19.9515 1.61088L4.53951 10.7248C2.03626 12.2051 0.5 14.9365 0.5 17.886V36.1139C0.5 39.0635 2.03626 41.7949 4.53951 43.2752L19.9515 52.3891C22.4562 53.8703 25.5438 53.8703 28.0485 52.3891L43.4605 43.2752C45.9637 41.7949 47.5 39.0635 47.5 36.114V17.8861C47.5 14.9365 45.9637 12.2051 43.4605 10.7248Z'\n );\n\n --wui-path-network-lg: path(\n 'M78.3244 18.926L50.1808 2.45078C45.7376 -0.150261 40.2624 -0.150262 35.8192 2.45078L7.6756 18.926C3.23322 21.5266 0.5 26.3301 0.5 31.5248V64.4752C0.5 69.6699 3.23322 74.4734 7.6756 77.074L35.8192 93.5492C40.2624 96.1503 45.7376 96.1503 50.1808 93.5492L78.3244 77.074C82.7668 74.4734 85.5 69.6699 85.5 64.4752V31.5248C85.5 26.3301 82.7668 21.5266 78.3244 18.926Z'\n );\n\n --wui-width-network-sm: 36px;\n --wui-width-network-md: 48px;\n --wui-width-network-lg: 86px;\n\n --wui-height-network-sm: 40px;\n --wui-height-network-md: 54px;\n --wui-height-network-lg: 96px;\n\n --wui-icon-size-network-xs: 12px;\n --wui-icon-size-network-sm: 16px;\n --wui-icon-size-network-md: 24px;\n --wui-icon-size-network-lg: 42px;\n\n --wui-color-inherit: inherit;\n\n --wui-color-inverse-100: #fff;\n --wui-color-inverse-000: #000;\n\n --wui-cover: rgba(20, 20, 20, 0.8);\n\n --wui-color-modal-bg: var(--wui-color-modal-bg-base);\n\n --wui-color-blue-100: var(--wui-color-blue-base-100);\n\n --wui-color-accent-100: var(--wui-color-accent-base-100);\n --wui-color-accent-090: var(--wui-color-accent-base-090);\n --wui-color-accent-080: var(--wui-color-accent-base-080);\n\n --wui-accent-glass-090: var(--wui-accent-glass-base-090);\n --wui-accent-glass-080: var(--wui-accent-glass-base-080);\n --wui-accent-glass-020: var(--wui-accent-glass-base-020);\n --wui-accent-glass-015: var(--wui-accent-glass-base-015);\n --wui-accent-glass-010: var(--wui-accent-glass-base-010);\n --wui-accent-glass-005: var(--wui-accent-glass-base-005);\n --wui-accent-glass-002: var(--wui-accent-glass-base-002);\n\n --wui-color-fg-100: var(--wui-color-fg-base-100);\n --wui-color-fg-125: var(--wui-color-fg-base-125);\n --wui-color-fg-150: var(--wui-color-fg-base-150);\n --wui-color-fg-175: var(--wui-color-fg-base-175);\n --wui-color-fg-200: var(--wui-color-fg-base-200);\n --wui-color-fg-225: var(--wui-color-fg-base-225);\n --wui-color-fg-250: var(--wui-color-fg-base-250);\n --wui-color-fg-275: var(--wui-color-fg-base-275);\n --wui-color-fg-300: var(--wui-color-fg-base-300);\n\n --wui-color-bg-100: var(--wui-color-bg-base-100);\n --wui-color-bg-125: var(--wui-color-bg-base-125);\n --wui-color-bg-150: var(--wui-color-bg-base-150);\n --wui-color-bg-175: var(--wui-color-bg-base-175);\n --wui-color-bg-200: var(--wui-color-bg-base-200);\n --wui-color-bg-225: var(--wui-color-bg-base-225);\n --wui-color-bg-250: var(--wui-color-bg-base-250);\n --wui-color-bg-275: var(--wui-color-bg-base-275);\n --wui-color-bg-300: var(--wui-color-bg-base-300);\n\n --wui-color-success-100: var(--wui-color-success-base-100);\n --wui-color-error-100: var(--wui-color-error-base-100);\n\n --wui-icon-box-bg-error-100: var(--wui-icon-box-bg-error-base-100);\n --wui-icon-box-bg-blue-100: var(--wui-icon-box-bg-blue-base-100);\n --wui-icon-box-bg-success-100: var(--wui-icon-box-bg-success-base-100);\n --wui-icon-box-bg-inverse-100: var(--wui-icon-box-bg-inverse-base-100);\n\n --wui-all-wallets-bg-100: var(--wui-all-wallets-bg-base-100);\n\n --wui-avatar-border: var(--wui-avatar-border-base);\n\n --wui-thumbnail-border: var(--wui-thumbnail-border-base);\n\n --wui-box-shadow-blue: rgba(71, 161, 255, 0.16);\n }\n\n @supports (background: color-mix(in srgb, white 50%, black)) {\n :root {\n --wui-color-modal-bg: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-modal-bg-base)\n );\n\n --wui-box-shadow-blue: color-mix(in srgb, var(--wui-color-accent-100) 16%, transparent);\n\n --wui-color-accent-090: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 90%,\n var(--w3m-default)\n );\n --wui-color-accent-080: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 80%,\n var(--w3m-default)\n );\n\n --wui-color-accent-090: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 90%,\n transparent\n );\n --wui-color-accent-080: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 80%,\n transparent\n );\n\n --wui-accent-glass-090: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 90%,\n transparent\n );\n --wui-accent-glass-080: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 80%,\n transparent\n );\n --wui-accent-glass-020: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 20%,\n transparent\n );\n --wui-accent-glass-015: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 15%,\n transparent\n );\n --wui-accent-glass-010: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 10%,\n transparent\n );\n --wui-accent-glass-005: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 5%,\n transparent\n );\n --wui-color-accent-002: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 2%,\n transparent\n );\n\n --wui-color-fg-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-base-100)\n );\n --wui-color-fg-125: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-base-125)\n );\n --wui-color-fg-150: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-base-150)\n );\n --wui-color-fg-175: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-base-175)\n );\n --wui-color-fg-200: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-base-200)\n );\n --wui-color-fg-225: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-base-225)\n );\n --wui-color-fg-250: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-base-250)\n );\n --wui-color-fg-275: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-base-275)\n );\n --wui-color-fg-300: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-base-300)\n );\n\n --wui-color-bg-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-base-100)\n );\n --wui-color-bg-125: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-base-125)\n );\n --wui-color-bg-150: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-base-150)\n );\n --wui-color-bg-175: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-base-175)\n );\n --wui-color-bg-200: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-base-200)\n );\n --wui-color-bg-225: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-base-225)\n );\n --wui-color-bg-250: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-base-250)\n );\n --wui-color-bg-275: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-base-275)\n );\n --wui-color-bg-300: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-base-300)\n );\n\n --wui-color-success-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-success-base-100)\n );\n --wui-color-error-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-error-base-100)\n );\n\n --wui-icon-box-bg-error-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-icon-box-bg-error-base-100)\n );\n --wui-icon-box-bg-accent-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-icon-box-bg-blue-base-100)\n );\n --wui-icon-box-bg-success-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-icon-box-bg-success-base-100)\n );\n --wui-icon-box-bg-inverse-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-icon-box-bg-inverse-base-100)\n );\n\n --wui-all-wallets-bg-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-all-wallets-bg-base-100)\n );\n\n --wui-avatar-border: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-avatar-border-base)\n );\n\n --wui-thumbnail-border: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-thumbnail-border-base)\n );\n }\n }\n `,\n light: css `\n :root {\n --w3m-color-mix: ${unsafeCSS(themeVariables?.['--w3m-color-mix'] || '#fff')};\n --w3m-accent: ${unsafeCSS(themeVariables?.['--w3m-accent'] || '#47a1ff')};\n --w3m-default: #fff;\n\n --wui-color-modal-bg-base: #191a1a;\n\n --wui-color-blue-base-100: #47a1ff;\n\n --wui-color-accent-base-100: var(--w3m-accent);\n --wui-color-accent-base-090: #59aaff;\n --wui-color-accent-base-080: #6cb4ff;\n\n --wui-accent-glass-base-090: rgba(71, 161, 255, 0.9);\n --wui-accent-glass-base-080: rgba(71, 161, 255, 0.8);\n --wui-accent-glass-base-020: rgba(71, 161, 255, 0.2);\n --wui-accent-glass-base-015: rgba(71, 161, 255, 0.15);\n --wui-accent-glass-base-010: rgba(71, 161, 255, 0.1);\n --wui-accent-glass-base-005: rgba(71, 161, 255, 0.05);\n --wui-accent-glass-base-002: rgba(71, 161, 255, 0.02);\n\n --wui-color-fg-base-100: #e4e7e7;\n --wui-color-fg-base-125: #d0d5d5;\n --wui-color-fg-base-150: #a8b1b1;\n --wui-color-fg-base-175: #a8b0b0;\n --wui-color-fg-base-200: #949e9e;\n --wui-color-fg-base-225: #868f8f;\n --wui-color-fg-base-250: #788080;\n --wui-color-fg-base-275: #788181;\n --wui-color-fg-base-300: #6e7777;\n\n --wui-color-bg-base-100: #141414;\n --wui-color-bg-base-125: #191a1a;\n --wui-color-bg-base-150: #1e1f1f;\n --wui-color-bg-base-175: #222525;\n --wui-color-bg-base-200: #272a2a;\n --wui-color-bg-base-225: #2c3030;\n --wui-color-bg-base-250: #313535;\n --wui-color-bg-base-275: #363b3b;\n --wui-color-bg-base-300: #3b4040;\n\n --wui-color-success-base-100: #26d962;\n --wui-color-error-base-100: #f25a67;\n\n --wui-success-glass-001: rgba(38, 217, 98, 0.01);\n --wui-success-glass-002: rgba(38, 217, 98, 0.02);\n --wui-success-glass-005: rgba(38, 217, 98, 0.05);\n --wui-success-glass-010: rgba(38, 217, 98, 0.1);\n --wui-success-glass-015: rgba(38, 217, 98, 0.15);\n --wui-success-glass-020: rgba(38, 217, 98, 0.2);\n --wui-success-glass-025: rgba(38, 217, 98, 0.25);\n --wui-success-glass-030: rgba(38, 217, 98, 0.3);\n --wui-success-glass-060: rgba(38, 217, 98, 0.6);\n --wui-success-glass-080: rgba(38, 217, 98, 0.8);\n\n --wui-error-glass-001: rgba(242, 90, 103, 0.01);\n --wui-error-glass-002: rgba(242, 90, 103, 0.02);\n --wui-error-glass-005: rgba(242, 90, 103, 0.05);\n --wui-error-glass-010: rgba(242, 90, 103, 0.1);\n --wui-error-glass-015: rgba(242, 90, 103, 0.15);\n --wui-error-glass-020: rgba(242, 90, 103, 0.2);\n --wui-error-glass-025: rgba(242, 90, 103, 0.25);\n --wui-error-glass-030: rgba(242, 90, 103, 0.3);\n --wui-error-glass-060: rgba(242, 90, 103, 0.6);\n --wui-error-glass-080: rgba(242, 90, 103, 0.8);\n\n --wui-icon-box-bg-error-base-100: #3c2426;\n --wui-icon-box-bg-blue-base-100: #20303f;\n --wui-icon-box-bg-success-base-100: #1f3a28;\n --wui-icon-box-bg-inverse-base-100: #243240;\n\n --wui-all-wallets-bg-base-100: #222b35;\n\n --wui-avatar-border-base: #252525;\n\n --wui-thumbnail-border-base: #252525;\n\n --wui-gray-glass-001: rgba(255, 255, 255, 0.01);\n --wui-gray-glass-002: rgba(255, 255, 255, 0.02);\n --wui-gray-glass-005: rgba(255, 255, 255, 0.05);\n --wui-gray-glass-010: rgba(255, 255, 255, 0.1);\n --wui-gray-glass-015: rgba(255, 255, 255, 0.15);\n --wui-gray-glass-020: rgba(255, 255, 255, 0.2);\n --wui-gray-glass-025: rgba(255, 255, 255, 0.25);\n --wui-gray-glass-030: rgba(255, 255, 255, 0.3);\n --wui-gray-glass-060: rgba(255, 255, 255, 0.6);\n --wui-gray-glass-080: rgba(255, 255, 255, 0.8);\n --wui-gray-glass-090: rgba(255, 255, 255, 0.9);\n }\n `,\n dark: css `\n :root {\n --w3m-color-mix: ${unsafeCSS(themeVariables?.['--w3m-color-mix'] || '#000')};\n --w3m-accent: ${unsafeCSS(themeVariables?.['--w3m-accent'] || '#3396ff')};\n --w3m-default: #000;\n\n --wui-color-modal-bg-base: #fff;\n\n --wui-color-blue-base-100: #3396ff;\n\n --wui-color-accent-base-100: var(--w3m-accent);\n --wui-color-accent-base-090: #2d7dd2;\n --wui-color-accent-base-080: #2978cc;\n\n --wui-accent-glass-base-090: rgba(51, 150, 255, 0.9);\n --wui-accent-glass-base-080: rgba(51, 150, 255, 0.8);\n --wui-accent-glass-base-020: rgba(51, 150, 255, 0.2);\n --wui-accent-glass-base-015: rgba(51, 150, 255, 0.15);\n --wui-accent-glass-base-010: rgba(51, 150, 255, 0.1);\n --wui-accent-glass-base-005: rgba(51, 150, 255, 0.05);\n --wui-accent-glass-base-002: rgba(51, 150, 255, 0.02);\n\n --wui-color-fg-base-100: #141414;\n --wui-color-fg-base-125: #2d3131;\n --wui-color-fg-base-150: #474d4d;\n --wui-color-fg-base-175: #636d6d;\n --wui-color-fg-base-200: #798686;\n --wui-color-fg-base-225: #828f8f;\n --wui-color-fg-base-250: #8b9797;\n --wui-color-fg-base-275: #95a0a0;\n --wui-color-fg-base-300: #9ea9a9;\n\n --wui-color-bg-base-100: #ffffff;\n --wui-color-bg-base-125: #f5fafa;\n --wui-color-bg-base-150: #f3f8f8;\n --wui-color-bg-base-175: #eef4f4;\n --wui-color-bg-base-200: #eaf1f1;\n --wui-color-bg-base-225: #e5eded;\n --wui-color-bg-base-250: #e1e9e9;\n --wui-color-bg-base-275: #dce7e7;\n --wui-color-bg-base-300: #d8e3e3;\n\n --wui-color-success-base-100: #26b562;\n --wui-color-error-base-100: #f05142;\n\n --wui-success-glass-001: rgba(38, 181, 98, 0.01);\n --wui-success-glass-002: rgba(38, 181, 98, 0.02);\n --wui-success-glass-005: rgba(38, 181, 98, 0.05);\n --wui-success-glass-010: rgba(38, 181, 98, 0.1);\n --wui-success-glass-015: rgba(38, 181, 98, 0.15);\n --wui-success-glass-020: rgba(38, 181, 98, 0.2);\n --wui-success-glass-025: rgba(38, 181, 98, 0.25);\n --wui-success-glass-030: rgba(38, 181, 98, 0.3);\n --wui-success-glass-060: rgba(38, 181, 98, 0.6);\n --wui-success-glass-080: rgba(38, 181, 98, 0.8);\n\n --wui-error-glass-001: rgba(240, 81, 66, 0.01);\n --wui-error-glass-002: rgba(240, 81, 66, 0.02);\n --wui-error-glass-005: rgba(240, 81, 66, 0.05);\n --wui-error-glass-010: rgba(240, 81, 66, 0.1);\n --wui-error-glass-015: rgba(240, 81, 66, 0.15);\n --wui-error-glass-020: rgba(240, 81, 66, 0.2);\n --wui-error-glass-025: rgba(240, 81, 66, 0.25);\n --wui-error-glass-030: rgba(240, 81, 66, 0.3);\n --wui-error-glass-060: rgba(240, 81, 66, 0.6);\n --wui-error-glass-080: rgba(240, 81, 66, 0.8);\n\n --wui-icon-box-bg-error-base-100: #f4dfdd;\n --wui-icon-box-bg-blue-base-100: #d9ecfb;\n --wui-icon-box-bg-success-base-100: #daf0e4;\n --wui-icon-box-bg-inverse-base-100: #dcecfc;\n\n --wui-all-wallets-bg-base-100: #e8f1fa;\n\n --wui-avatar-border-base: #f3f4f4;\n\n --wui-thumbnail-border-base: #eaefef;\n\n --wui-gray-glass-001: rgba(0, 0, 0, 0.01);\n --wui-gray-glass-002: rgba(0, 0, 0, 0.02);\n --wui-gray-glass-005: rgba(0, 0, 0, 0.05);\n --wui-gray-glass-010: rgba(0, 0, 0, 0.1);\n --wui-gray-glass-015: rgba(0, 0, 0, 0.15);\n --wui-gray-glass-020: rgba(0, 0, 0, 0.2);\n --wui-gray-glass-025: rgba(0, 0, 0, 0.25);\n --wui-gray-glass-030: rgba(0, 0, 0, 0.3);\n --wui-gray-glass-060: rgba(0, 0, 0, 0.6);\n --wui-gray-glass-080: rgba(0, 0, 0, 0.8);\n --wui-gray-glass-090: rgba(0, 0, 0, 0.9);\n }\n `\n };\n}\nexport const resetStyles = css `\n *,\n *::after,\n *::before,\n :host {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n font-style: normal;\n text-rendering: optimizeSpeed;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n -webkit-tap-highlight-color: transparent;\n font-family: var(--wui-font-family);\n backface-visibility: hidden;\n }\n`;\nexport const elementStyles = css `\n button,\n a {\n cursor: pointer;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n transition:\n background-color var(--wui-ease-inout-power-1) var(--wui-duration-md),\n color var(--wui-ease-inout-power-1) var(--wui-duration-md),\n box-shadow var(--wui-ease-inout-power-1) var(--wui-duration-md);\n will-change: background-color, color;\n outline: none;\n border: 1px solid transparent;\n column-gap: var(--wui-spacing-3xs);\n background-color: transparent;\n text-decoration: none;\n }\n\n @media (hover: hover) and (pointer: fine) {\n button:hover:enabled {\n background-color: var(--wui-gray-glass-005);\n }\n\n button:active:enabled {\n background-color: var(--wui-gray-glass-010);\n }\n\n button[data-variant='fill']:hover:enabled {\n background-color: var(--wui-color-accent-090);\n }\n\n button[data-variant='accentBg']:hover:enabled {\n background: var(--wui-accent-glass-015);\n }\n\n button[data-variant='accentBg']:active:enabled {\n background: var(--wui-accent-glass-020);\n }\n }\n\n button:disabled {\n cursor: not-allowed;\n background-color: var(--wui-gray-glass-005);\n }\n\n button[data-variant='shade']:disabled,\n button[data-variant='accent']:disabled,\n button[data-variant='accentBg']:disabled {\n background-color: var(--wui-gray-glass-010);\n color: var(--wui-gray-glass-015);\n filter: grayscale(1);\n }\n\n button:disabled > wui-wallet-image,\n button:disabled > wui-all-wallets-image,\n button:disabled > wui-network-image,\n button:disabled > wui-image,\n button:disabled > wui-icon-box,\n button:disabled > wui-transaction-visual,\n button:disabled > wui-logo {\n filter: grayscale(1);\n }\n\n button:focus-visible,\n a:focus-visible {\n border: 1px solid var(--wui-color-accent-100);\n background-color: var(--wui-gray-glass-005);\n -webkit-box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n -moz-box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n }\n\n button[data-variant='fill']:focus-visible {\n background-color: var(--wui-color-accent-090);\n }\n\n button[data-variant='fill'] {\n color: var(--wui-color-inverse-100);\n background-color: var(--wui-color-accent-100);\n }\n\n button[data-variant='fill']:disabled {\n color: var(--wui-gray-glass-015);\n background-color: var(--wui-gray-glass-015);\n }\n\n button[data-variant='fill']:disabled > wui-icon {\n color: var(--wui-gray-glass-015);\n }\n\n button[data-variant='shade'] {\n color: var(--wui-color-fg-200);\n }\n\n button[data-variant='accent'],\n button[data-variant='accentBg'] {\n color: var(--wui-color-accent-100);\n }\n\n button[data-variant='accentBg'] {\n background: var(--wui-accent-glass-010);\n border: 1px solid var(--wui-accent-glass-010);\n }\n\n button[data-variant='fullWidth'] {\n width: 100%;\n border-radius: var(--wui-border-radius-xs);\n height: 56px;\n border: none;\n background-color: var(--wui-gray-glass-002);\n color: var(--wui-color-fg-200);\n gap: var(--wui-spacing-xs);\n }\n\n button:active:enabled {\n background-color: var(--wui-gray-glass-010);\n }\n\n button[data-variant='fill']:active:enabled {\n background-color: var(--wui-color-accent-080);\n border: 1px solid var(--wui-gray-glass-010);\n }\n\n input {\n border: none;\n outline: none;\n appearance: none;\n }\n`;\nexport const colorStyles = css `\n .wui-color-inherit {\n color: var(--wui-color-inherit);\n }\n\n .wui-color-accent-100 {\n color: var(--wui-color-accent-100);\n }\n\n .wui-color-error-100 {\n color: var(--wui-color-error-100);\n }\n\n .wui-color-success-100 {\n color: var(--wui-color-success-100);\n }\n\n .wui-color-inverse-100 {\n color: var(--wui-color-inverse-100);\n }\n\n .wui-color-inverse-000 {\n color: var(--wui-color-inverse-000);\n }\n\n .wui-color-fg-100 {\n color: var(--wui-color-fg-100);\n }\n\n .wui-color-fg-200 {\n color: var(--wui-color-fg-200);\n }\n\n .wui-color-fg-300 {\n color: var(--wui-color-fg-300);\n }\n\n .wui-bg-color-inherit {\n background-color: var(--wui-color-inherit);\n }\n\n .wui-bg-color-blue-100 {\n background-color: var(--wui-color-accent-100);\n }\n\n .wui-bg-color-error-100 {\n background-color: var(--wui-color-error-100);\n }\n\n .wui-bg-color-success-100 {\n background-color: var(--wui-color-success-100);\n }\n\n .wui-bg-color-inverse-100 {\n background-color: var(--wui-color-inverse-100);\n }\n\n .wui-bg-color-inverse-000 {\n background-color: var(--wui-color-inverse-000);\n }\n\n .wui-bg-color-fg-100 {\n background-color: var(--wui-color-fg-100);\n }\n\n .wui-bg-color-fg-200 {\n background-color: var(--wui-color-fg-200);\n }\n\n .wui-bg-color-fg-300 {\n background-color: var(--wui-color-fg-300);\n }\n`;\n//# sourceMappingURL=ThemeUtil.js.map","function standardCustomElement(tagName, descriptor) {\n const { kind, elements } = descriptor;\n return {\n kind,\n elements,\n finisher(clazz) {\n if (!customElements.get(tagName)) {\n customElements.define(tagName, clazz);\n }\n }\n };\n}\nfunction legacyCustomElement(tagName, clazz) {\n if (!customElements.get(tagName)) {\n customElements.define(tagName, clazz);\n }\n return clazz;\n}\nexport function customElement(tagName) {\n return function create(classOrDescriptor) {\n return typeof classOrDescriptor === 'function'\n ? legacyCustomElement(tagName, classOrDescriptor)\n : standardCustomElement(tagName, classOrDescriptor);\n };\n}\n//# sourceMappingURL=WebComponentsUtil.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n border-radius: clamp(0px, var(--wui-border-radius-l), 44px);\n box-shadow: 0 0 0 1px var(--wui-gray-glass-005);\n background-color: var(--wui-color-modal-bg);\n overflow: hidden;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html } from 'lit';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiCard = class WuiCard extends LitElement {\n render() {\n return html ``;\n }\n};\nWuiCard.styles = [resetStyles, styles];\nWuiCard = __decorate([\n customElement('wui-card')\n], WuiCard);\nexport { WuiCard };\n//# sourceMappingURL=index.js.map","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.P(o,void 0,t),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,r?{...t,wrapped:!0}:t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","import { css } from 'lit';\nexport default css `\n :host {\n display: flex;\n aspect-ratio: 1 / 1;\n color: var(--local-color);\n width: var(--local-width);\n }\n\n svg {\n width: inherit;\n height: inherit;\n object-fit: contain;\n object-position: center;\n }\n`;\n//# sourceMappingURL=styles.js.map","import { svg } from 'lit';\nexport const allWalletsSvg = svg `\n \n`;\n//# sourceMappingURL=all-wallets.js.map","import { svg } from 'lit';\nexport const arrowBottomCircleSvg = svg `\n `;\n//# sourceMappingURL=arrow-bottom-circle.js.map","import { svg } from 'lit';\nexport const appStoreSvg = svg `\n\n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=app-store.js.map","import { svg } from 'lit';\nexport const appleSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=apple.js.map","import { svg } from 'lit';\nexport const arrowBottomSvg = svg `\n \n`;\n//# sourceMappingURL=arrow-bottom.js.map","import { svg } from 'lit';\nexport const arrowLeftSvg = svg `\n \n`;\n//# sourceMappingURL=arrow-left.js.map","import { svg } from 'lit';\nexport const arrowRightSvg = svg `\n \n`;\n//# sourceMappingURL=arrow-right.js.map","import { svg } from 'lit';\nexport const arrowTopSvg = svg `\n \n`;\n//# sourceMappingURL=arrow-top.js.map","import { svg } from 'lit';\nexport const browserSvg = svg `\n \n \n`;\n//# sourceMappingURL=browser.js.map","import { svg } from 'lit';\nexport const checkmarkSvg = svg `\n `;\n//# sourceMappingURL=checkmark.js.map","import { svg } from 'lit';\nexport const chevronBottomSvg = svg `\n \n`;\n//# sourceMappingURL=chevron-bottom.js.map","import { svg } from 'lit';\nexport const chevronLeftSvg = svg `\n \n`;\n//# sourceMappingURL=chevron-left.js.map","import { svg } from 'lit';\nexport const chevronRightSvg = svg `\n \n`;\n//# sourceMappingURL=chevron-right.js.map","import { svg } from 'lit';\nexport const chevronTopSvg = svg `\n \n`;\n//# sourceMappingURL=chevron-top.js.map","import { svg } from 'lit';\nexport const chromeStoreSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=chrome-store.js.map","import { svg } from 'lit';\nexport const clockSvg = svg `\n \n`;\n//# sourceMappingURL=clock.js.map","import { svg } from 'lit';\nexport const closeSvg = svg `\n \n`;\n//# sourceMappingURL=close.js.map","import { svg } from 'lit';\nexport const coinPlaceholderSvg = svg `\n \n`;\n//# sourceMappingURL=coinPlaceholder.js.map","import { svg } from 'lit';\nexport const compassSvg = svg `\n \n`;\n//# sourceMappingURL=compass.js.map","import { svg } from 'lit';\nexport const copySvg = svg `\n `;\n//# sourceMappingURL=copy.js.map","import { svg } from 'lit';\nexport const addSvg = svg `\n `;\n//# sourceMappingURL=add.js.map","import { svg } from 'lit';\nexport const cursorSvg = svg ` \n \n`;\n//# sourceMappingURL=cursor.js.map","import { svg } from 'lit';\nexport const desktopSvg = svg `\n \n \n`;\n//# sourceMappingURL=desktop.js.map","import { svg } from 'lit';\nexport const disconnectSvg = svg `\n \n`;\n//# sourceMappingURL=disconnect.js.map","import { svg } from 'lit';\nexport const discordSvg = svg `\n \n \n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=discord.js.map","import { svg } from 'lit';\nexport const etherscanSvg = svg `\n \n`;\n//# sourceMappingURL=etherscan.js.map","import { svg } from 'lit';\nexport const extensionSvg = svg `\n \n`;\n//# sourceMappingURL=extension.js.map","import { svg } from 'lit';\nexport const externalLinkSvg = svg `\n \n`;\n//# sourceMappingURL=external-link.js.map","import { svg } from 'lit';\nexport const facebookSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=facebook.js.map","import { svg } from 'lit';\nexport const filtersSvg = svg `\n \n`;\n//# sourceMappingURL=filters.js.map","import { svg } from 'lit';\nexport const githubSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=github.js.map","import { svg } from 'lit';\nexport const googleSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=google.js.map","import { svg } from 'lit';\nexport const helpCircleSvg = svg `\n \n \n`;\n//# sourceMappingURL=help-circle.js.map","import { svg } from 'lit';\nexport const infoCircleSvg = svg `\n \n \n`;\n//# sourceMappingURL=info-circle.js.map","import { svg } from 'lit';\nexport const mailSvg = svg `\n \n`;\n//# sourceMappingURL=mail.js.map","import { svg } from 'lit';\nexport const mobileSvg = svg `\n \n \n`;\n//# sourceMappingURL=mobile.js.map","import { svg } from 'lit';\nexport const networkPlaceholderSvg = svg `\n \n \n`;\n//# sourceMappingURL=network-placeholder.js.map","import { svg } from 'lit';\nexport const nftPlaceholderSvg = svg `\n \n`;\n//# sourceMappingURL=nftPlaceholder.js.map","import { svg } from 'lit';\nexport const offSvg = svg `\n \n`;\n//# sourceMappingURL=off.js.map","import { svg } from 'lit';\nexport const playStoreSvg = svg ` \n \n \n \n \n \n \n`;\n//# sourceMappingURL=play-store.js.map","import { svg } from 'lit';\nexport const qrCodeIcon = svg `\n \n`;\n//# sourceMappingURL=qr-code.js.map","import { svg } from 'lit';\nexport const refreshSvg = svg `\n \n`;\n//# sourceMappingURL=refresh.js.map","import { svg } from 'lit';\nexport const searchSvg = svg `\n \n`;\n//# sourceMappingURL=search.js.map","import { svg } from 'lit';\nexport const sendSvg = svg `\n \n `;\n//# sourceMappingURL=send.js.map","import { svg } from 'lit';\nexport const swapHorizontalSvg = svg `\n \n`;\n//# sourceMappingURL=swapHorizontal.js.map","import { svg } from 'lit';\nexport const swapHorizontalBoldSvg = svg `\n \n`;\n//# sourceMappingURL=swapHorizontalBold.js.map","import { svg } from 'lit';\nexport const swapHorizontalMediumSvg = svg `\n \n\n\n`;\n//# sourceMappingURL=swapHorizontalMedium.js.map","import { svg } from 'lit';\nexport const swapHorizontalRoundedBoldSvg = svg `\n \n`;\n//# sourceMappingURL=swapHorizontalRoundedBold.js.map","import { svg } from 'lit';\nexport const swapVerticalSvg = svg `\n \n`;\n//# sourceMappingURL=swapVertical.js.map","import { svg } from 'lit';\nexport const telegramSvg = svg `\n \n \n \n \n \n \n \n \n \n \n `;\n//# sourceMappingURL=telegram.js.map","import { svg } from 'lit';\nexport const twitchSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=twitch.js.map","import { svg } from 'lit';\nexport const twitterSvg = svg `\n \n \n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=twitter.js.map","import { svg } from 'lit';\nexport const twitterIconSvg = svg `\n \n`;\n//# sourceMappingURL=twitterIcon.js.map","import { svg } from 'lit';\nexport const verifySvg = svg `\n \n`;\n//# sourceMappingURL=verify.js.map","import { svg } from 'lit';\nexport const verifyFilledSvg = svg `\n \n`;\n//# sourceMappingURL=verify-filled.js.map","import { svg } from 'lit';\nexport const walletPlaceholderSvg = svg `\n \n \n \n \n`;\n//# sourceMappingURL=wallet-placeholder.js.map","import { svg } from 'lit';\nexport const walletSvg = svg `\n \n`;\n//# sourceMappingURL=wallet.js.map","import { svg } from 'lit';\nexport const walletConnectSvg = svg `\n \n \n`;\n//# sourceMappingURL=walletconnect.js.map","import { svg } from 'lit';\nexport const warningCircleSvg = svg `\n \n \n`;\n//# sourceMappingURL=warning-circle.js.map","import { svg } from 'lit';\nexport const recycleHorizontalSvg = svg `\n `;\n//# sourceMappingURL=recycle-horizontal.js.map","import { svg } from 'lit';\nexport const bankSvg = svg `\n `;\n//# sourceMappingURL=bank.js.map","import { svg } from 'lit';\nexport const cardSvg = svg `\n `;\n//# sourceMappingURL=card.js.map","import { svg } from 'lit';\nexport const plusSvg = svg `\n `;\n//# sourceMappingURL=plus.js.map","import { svg } from 'lit';\nexport const cursorTransparentSvg = svg `\n \n \n \n `;\n//# sourceMappingURL=cursor-transparent.js.map","import { svg } from 'lit';\nexport const checkmarkBoldSvg = svg `\n \n`;\n//# sourceMappingURL=checkmark-bold.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { colorStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nimport { allWalletsSvg } from '../../assets/svg/all-wallets.js';\nimport { arrowBottomCircleSvg } from '../../assets/svg/arrow-bottom-circle.js';\nimport { appStoreSvg } from '../../assets/svg/app-store.js';\nimport { appleSvg } from '../../assets/svg/apple.js';\nimport { arrowBottomSvg } from '../../assets/svg/arrow-bottom.js';\nimport { arrowLeftSvg } from '../../assets/svg/arrow-left.js';\nimport { arrowRightSvg } from '../../assets/svg/arrow-right.js';\nimport { arrowTopSvg } from '../../assets/svg/arrow-top.js';\nimport { browserSvg } from '../../assets/svg/browser.js';\nimport { checkmarkSvg } from '../../assets/svg/checkmark.js';\nimport { chevronBottomSvg } from '../../assets/svg/chevron-bottom.js';\nimport { chevronLeftSvg } from '../../assets/svg/chevron-left.js';\nimport { chevronRightSvg } from '../../assets/svg/chevron-right.js';\nimport { chevronTopSvg } from '../../assets/svg/chevron-top.js';\nimport { chromeStoreSvg } from '../../assets/svg/chrome-store.js';\nimport { clockSvg } from '../../assets/svg/clock.js';\nimport { closeSvg } from '../../assets/svg/close.js';\nimport { coinPlaceholderSvg } from '../../assets/svg/coinPlaceholder.js';\nimport { compassSvg } from '../../assets/svg/compass.js';\nimport { copySvg } from '../../assets/svg/copy.js';\nimport { addSvg } from '../../assets/svg/add.js';\nimport { cursorSvg } from '../../assets/svg/cursor.js';\nimport { desktopSvg } from '../../assets/svg/desktop.js';\nimport { disconnectSvg } from '../../assets/svg/disconnect.js';\nimport { discordSvg } from '../../assets/svg/discord.js';\nimport { etherscanSvg } from '../../assets/svg/etherscan.js';\nimport { extensionSvg } from '../../assets/svg/extension.js';\nimport { externalLinkSvg } from '../../assets/svg/external-link.js';\nimport { facebookSvg } from '../../assets/svg/facebook.js';\nimport { filtersSvg } from '../../assets/svg/filters.js';\nimport { githubSvg } from '../../assets/svg/github.js';\nimport { googleSvg } from '../../assets/svg/google.js';\nimport { helpCircleSvg } from '../../assets/svg/help-circle.js';\nimport { infoCircleSvg } from '../../assets/svg/info-circle.js';\nimport { mailSvg } from '../../assets/svg/mail.js';\nimport { mobileSvg } from '../../assets/svg/mobile.js';\nimport { networkPlaceholderSvg } from '../../assets/svg/network-placeholder.js';\nimport { nftPlaceholderSvg } from '../../assets/svg/nftPlaceholder.js';\nimport { offSvg } from '../../assets/svg/off.js';\nimport { playStoreSvg } from '../../assets/svg/play-store.js';\nimport { qrCodeIcon } from '../../assets/svg/qr-code.js';\nimport { refreshSvg } from '../../assets/svg/refresh.js';\nimport { searchSvg } from '../../assets/svg/search.js';\nimport { sendSvg } from '../../assets/svg/send.js';\nimport { swapHorizontalSvg } from '../../assets/svg/swapHorizontal.js';\nimport { swapHorizontalBoldSvg } from '../../assets/svg/swapHorizontalBold.js';\nimport { swapHorizontalMediumSvg } from '../../assets/svg/swapHorizontalMedium.js';\nimport { swapHorizontalRoundedBoldSvg } from '../../assets/svg/swapHorizontalRoundedBold.js';\nimport { swapVerticalSvg } from '../../assets/svg/swapVertical.js';\nimport { telegramSvg } from '../../assets/svg/telegram.js';\nimport { twitchSvg } from '../../assets/svg/twitch.js';\nimport { twitterSvg } from '../../assets/svg/twitter.js';\nimport { twitterIconSvg } from '../../assets/svg/twitterIcon.js';\nimport { verifySvg } from '../../assets/svg/verify.js';\nimport { verifyFilledSvg } from '../../assets/svg/verify-filled.js';\nimport { walletPlaceholderSvg } from '../../assets/svg/wallet-placeholder.js';\nimport { walletSvg } from '../../assets/svg/wallet.js';\nimport { walletConnectSvg } from '../../assets/svg/walletconnect.js';\nimport { warningCircleSvg } from '../../assets/svg/warning-circle.js';\nimport { recycleHorizontalSvg } from '../../assets/svg/recycle-horizontal.js';\nimport { bankSvg } from '../../assets/svg/bank.js';\nimport { cardSvg } from '../../assets/svg/card.js';\nimport { plusSvg } from '../../assets/svg/plus.js';\nimport { cursorTransparentSvg } from '../../assets/svg/cursor-transparent.js';\nimport { checkmarkBoldSvg } from '../../assets/svg/checkmark-bold.js';\nconst svgOptions = {\n add: addSvg,\n allWallets: allWalletsSvg,\n arrowBottomCircle: arrowBottomCircleSvg,\n appStore: appStoreSvg,\n apple: appleSvg,\n arrowBottom: arrowBottomSvg,\n arrowLeft: arrowLeftSvg,\n arrowRight: arrowRightSvg,\n arrowTop: arrowTopSvg,\n bank: bankSvg,\n browser: browserSvg,\n card: cardSvg,\n checkmark: checkmarkSvg,\n checkmarkBold: checkmarkBoldSvg,\n chevronBottom: chevronBottomSvg,\n chevronLeft: chevronLeftSvg,\n chevronRight: chevronRightSvg,\n chevronTop: chevronTopSvg,\n chromeStore: chromeStoreSvg,\n clock: clockSvg,\n close: closeSvg,\n compass: compassSvg,\n coinPlaceholder: coinPlaceholderSvg,\n copy: copySvg,\n cursor: cursorSvg,\n cursorTransparent: cursorTransparentSvg,\n desktop: desktopSvg,\n disconnect: disconnectSvg,\n discord: discordSvg,\n etherscan: etherscanSvg,\n extension: extensionSvg,\n externalLink: externalLinkSvg,\n facebook: facebookSvg,\n filters: filtersSvg,\n github: githubSvg,\n google: googleSvg,\n helpCircle: helpCircleSvg,\n infoCircle: infoCircleSvg,\n mail: mailSvg,\n mobile: mobileSvg,\n networkPlaceholder: networkPlaceholderSvg,\n nftPlaceholder: nftPlaceholderSvg,\n off: offSvg,\n playStore: playStoreSvg,\n plus: plusSvg,\n qrCode: qrCodeIcon,\n recycleHorizontal: recycleHorizontalSvg,\n refresh: refreshSvg,\n search: searchSvg,\n send: sendSvg,\n swapHorizontal: swapHorizontalSvg,\n swapHorizontalMedium: swapHorizontalMediumSvg,\n swapHorizontalBold: swapHorizontalBoldSvg,\n swapHorizontalRoundedBold: swapHorizontalRoundedBoldSvg,\n swapVertical: swapVerticalSvg,\n telegram: telegramSvg,\n twitch: twitchSvg,\n twitter: twitterSvg,\n twitterIcon: twitterIconSvg,\n verify: verifySvg,\n verifyFilled: verifyFilledSvg,\n wallet: walletSvg,\n walletConnect: walletConnectSvg,\n walletPlaceholder: walletPlaceholderSvg,\n warningCircle: warningCircleSvg\n};\nlet WuiIcon = class WuiIcon extends LitElement {\n constructor() {\n super(...arguments);\n this.size = 'md';\n this.name = 'copy';\n this.color = 'fg-300';\n }\n render() {\n this.style.cssText = `\n --local-color: ${`var(--wui-color-${this.color});`}\n --local-width: ${`var(--wui-icon-size-${this.size});`}\n `;\n return html `${svgOptions[this.name]}`;\n }\n};\nWuiIcon.styles = [resetStyles, colorStyles, styles];\n__decorate([\n property()\n], WuiIcon.prototype, \"size\", void 0);\n__decorate([\n property()\n], WuiIcon.prototype, \"name\", void 0);\n__decorate([\n property()\n], WuiIcon.prototype, \"color\", void 0);\nWuiIcon = __decorate([\n customElement('wui-icon')\n], WuiIcon);\nexport { WuiIcon };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n width: var(--local-width);\n height: var(--local-height);\n }\n\n img {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center center;\n border-radius: inherit;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { colorStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiImage = class WuiImage extends LitElement {\n constructor() {\n super(...arguments);\n this.src = './path/to/image.jpg';\n this.alt = 'Image';\n this.size = undefined;\n }\n render() {\n this.style.cssText = `\n --local-width: ${this.size ? `var(--wui-icon-size-${this.size});` : '100%'};\n --local-height: ${this.size ? `var(--wui-icon-size-${this.size});` : '100%'};\n `;\n return html `${this.alt}`;\n }\n};\nWuiImage.styles = [resetStyles, colorStyles, styles];\n__decorate([\n property()\n], WuiImage.prototype, \"src\", void 0);\n__decorate([\n property()\n], WuiImage.prototype, \"alt\", void 0);\n__decorate([\n property()\n], WuiImage.prototype, \"size\", void 0);\nWuiImage = __decorate([\n customElement('wui-image')\n], WuiImage);\nexport { WuiImage };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n width: var(--wui-box-size-lg);\n height: var(--wui-box-size-lg);\n }\n\n svg {\n width: var(--wui-box-size-lg);\n height: var(--wui-box-size-lg);\n fill: none;\n stroke: transparent;\n stroke-linecap: round;\n }\n\n use {\n stroke: var(--wui-color-accent-100);\n stroke-width: 2px;\n stroke-dasharray: 54, 118;\n stroke-dashoffset: 172;\n animation: dash 1s linear infinite;\n }\n\n @keyframes dash {\n to {\n stroke-dashoffset: 0px;\n }\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiLoadingHexagon = class WuiLoadingHexagon extends LitElement {\n render() {\n return html `\n \n \n \n \n `;\n }\n};\nWuiLoadingHexagon.styles = [resetStyles, styles];\nWuiLoadingHexagon = __decorate([\n customElement('wui-loading-hexagon')\n], WuiLoadingHexagon);\nexport { WuiLoadingHexagon };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: flex;\n }\n\n :host([data-size='sm']) > svg {\n width: 12px;\n height: 12px;\n }\n\n :host([data-size='md']) > svg {\n width: 16px;\n height: 16px;\n }\n\n :host([data-size='lg']) > svg {\n width: 24px;\n height: 24px;\n }\n\n :host([data-size='xl']) > svg {\n width: 32px;\n height: 32px;\n }\n\n svg {\n animation: rotate 2s linear infinite;\n }\n\n circle {\n fill: none;\n stroke: var(--local-color);\n stroke-width: 4px;\n stroke-dasharray: 1, 124;\n stroke-dashoffset: 0;\n stroke-linecap: round;\n animation: dash 1.5s ease-in-out infinite;\n }\n\n :host([data-size='md']) > svg > circle {\n stroke-width: 6px;\n }\n\n :host([data-size='sm']) > svg > circle {\n stroke-width: 8px;\n }\n\n @keyframes rotate {\n 100% {\n transform: rotate(360deg);\n }\n }\n\n @keyframes dash {\n 0% {\n stroke-dasharray: 1, 124;\n stroke-dashoffset: 0;\n }\n\n 50% {\n stroke-dasharray: 90, 124;\n stroke-dashoffset: -35;\n }\n\n 100% {\n stroke-dashoffset: -125;\n }\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiLoadingSpinner = class WuiLoadingSpinner extends LitElement {\n constructor() {\n super(...arguments);\n this.color = 'accent-100';\n this.size = 'lg';\n }\n render() {\n this.style.cssText = `--local-color: var(--wui-color-${this.color});`;\n this.dataset['size'] = this.size;\n return html `\n \n `;\n }\n};\nWuiLoadingSpinner.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiLoadingSpinner.prototype, \"color\", void 0);\n__decorate([\n property()\n], WuiLoadingSpinner.prototype, \"size\", void 0);\nWuiLoadingSpinner = __decorate([\n customElement('wui-loading-spinner')\n], WuiLoadingSpinner);\nexport { WuiLoadingSpinner };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n width: var(--wui-box-size-md);\n height: var(--wui-box-size-md);\n }\n\n svg {\n width: var(--wui-box-size-md);\n height: var(--wui-box-size-md);\n }\n\n rect {\n fill: none;\n stroke: var(--wui-color-accent-100);\n stroke-width: 4px;\n stroke-linecap: round;\n animation: dash 1s linear infinite;\n }\n\n @keyframes dash {\n to {\n stroke-dashoffset: 0px;\n }\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiLoadingThumbnail = class WuiLoadingThumbnail extends LitElement {\n constructor() {\n super(...arguments);\n this.radius = 36;\n }\n render() {\n return this.svgLoaderTemplate();\n }\n svgLoaderTemplate() {\n const radius = this.radius > 50 ? 50 : this.radius;\n const standardValue = 36;\n const radiusFactor = standardValue - radius;\n const dashArrayStart = 116 + radiusFactor;\n const dashArrayEnd = 245 + radiusFactor;\n const dashOffset = 360 + radiusFactor * 1.75;\n return html `\n \n \n \n `;\n }\n};\nWuiLoadingThumbnail.styles = [resetStyles, styles];\n__decorate([\n property({ type: Number })\n], WuiLoadingThumbnail.prototype, \"radius\", void 0);\nWuiLoadingThumbnail = __decorate([\n customElement('wui-loading-thumbnail')\n], WuiLoadingThumbnail);\nexport { WuiLoadingThumbnail };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-005);\n background: linear-gradient(\n 120deg,\n var(--wui-color-bg-200) 5%,\n var(--wui-color-bg-200) 48%,\n var(--wui-color-bg-300) 55%,\n var(--wui-color-bg-300) 60%,\n var(--wui-color-bg-300) calc(60% + 10px),\n var(--wui-color-bg-200) calc(60% + 12px),\n var(--wui-color-bg-200) 100%\n );\n background-size: 250%;\n animation: shimmer 3s linear infinite reverse;\n }\n\n @keyframes shimmer {\n from {\n background-position: -250% 0;\n }\n to {\n background-position: 250% 0;\n }\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiShimmer = class WuiShimmer extends LitElement {\n constructor() {\n super(...arguments);\n this.width = '';\n this.height = '';\n this.borderRadius = 'm';\n }\n render() {\n this.style.cssText = `\n width: ${this.width};\n height: ${this.height};\n border-radius: ${`clamp(0px,var(--wui-border-radius-${this.borderRadius}), 40px)`};\n `;\n return html ``;\n }\n};\nWuiShimmer.styles = [styles];\n__decorate([\n property()\n], WuiShimmer.prototype, \"width\", void 0);\n__decorate([\n property()\n], WuiShimmer.prototype, \"height\", void 0);\n__decorate([\n property()\n], WuiShimmer.prototype, \"borderRadius\", void 0);\nWuiShimmer = __decorate([\n customElement('wui-shimmer')\n], WuiShimmer);\nexport { WuiShimmer };\n//# sourceMappingURL=index.js.map","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{noChange as t}from\"../lit-html.js\";import{directive as s,Directive as i,PartType as r}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=s(class extends i{constructor(t){if(super(t),t.type!==r.ATTRIBUTE||\"class\"!==t.name||t.strings?.length>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter((s=>t[s])).join(\" \")+\" \"}update(s,[i]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(\" \").split(/\\s/).filter((t=>\"\"!==t))));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)))}return t}});export{e as classMap};\n//# sourceMappingURL=class-map.js.map\n","import { css } from 'lit';\nexport default css `\n :host {\n display: inline-flex !important;\n }\n\n slot {\n width: 100%;\n display: inline-block;\n font-style: normal;\n font-family: var(--wui-font-family);\n font-feature-settings:\n 'tnum' on,\n 'lnum' on,\n 'case' on;\n line-height: 130%;\n font-weight: var(--wui-font-weight-regular);\n overflow: inherit;\n text-overflow: inherit;\n text-align: var(--local-align);\n color: var(--local-color);\n }\n\n .wui-font-medium-400 {\n font-size: var(--wui-font-size-medium);\n font-weight: var(--wui-font-weight-light);\n letter-spacing: var(--wui-letter-spacing-medium);\n }\n\n .wui-font-medium-600 {\n font-size: var(--wui-font-size-medium);\n letter-spacing: var(--wui-letter-spacing-medium);\n }\n\n .wui-font-medium-title-600 {\n font-size: var(--wui-font-size-medium-title);\n letter-spacing: var(--wui-letter-spacing-medium-title);\n }\n\n .wui-font-mini-700 {\n font-size: var(--wui-font-size-mini);\n letter-spacing: var(--wui-letter-spacing-mini);\n text-transform: uppercase;\n }\n\n .wui-font-large-500,\n .wui-font-large-600,\n .wui-font-large-700 {\n font-size: var(--wui-font-size-large);\n letter-spacing: var(--wui-letter-spacing-large);\n }\n\n .wui-font-2xl-500,\n .wui-font-2xl-600,\n .wui-font-2xl-700 {\n font-size: var(--wui-font-size-2xl);\n letter-spacing: var(--wui-letter-spacing-2xl);\n }\n\n .wui-font-paragraph-400,\n .wui-font-paragraph-500,\n .wui-font-paragraph-600,\n .wui-font-paragraph-700 {\n font-size: var(--wui-font-size-paragraph);\n letter-spacing: var(--wui-letter-spacing-paragraph);\n }\n\n .wui-font-small-400,\n .wui-font-small-500,\n .wui-font-small-600 {\n font-size: var(--wui-font-size-small);\n letter-spacing: var(--wui-letter-spacing-small);\n }\n\n .wui-font-tiny-400,\n .wui-font-tiny-500,\n .wui-font-tiny-600 {\n font-size: var(--wui-font-size-tiny);\n letter-spacing: var(--wui-letter-spacing-tiny);\n }\n\n .wui-font-micro-700,\n .wui-font-micro-600 {\n font-size: var(--wui-font-size-micro);\n letter-spacing: var(--wui-letter-spacing-micro);\n text-transform: uppercase;\n }\n\n .wui-font-tiny-400,\n .wui-font-small-400,\n .wui-font-paragraph-400 {\n font-weight: var(--wui-font-weight-light);\n }\n\n .wui-font-large-700,\n .wui-font-paragraph-700,\n .wui-font-micro-700,\n .wui-font-mini-700 {\n font-weight: var(--wui-font-weight-bold);\n }\n\n .wui-font-medium-600,\n .wui-font-medium-title-600,\n .wui-font-large-600,\n .wui-font-paragraph-600,\n .wui-font-small-600,\n .wui-font-tiny-600,\n .wui-font-micro-600 {\n font-weight: var(--wui-font-weight-medium);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiText = class WuiText extends LitElement {\n constructor() {\n super(...arguments);\n this.variant = 'paragraph-500';\n this.color = 'fg-300';\n this.align = 'left';\n }\n render() {\n const classes = {\n [`wui-font-${this.variant}`]: true,\n [`wui-color-${this.color}`]: true\n };\n this.style.cssText = `\n --local-align: ${this.align};\n --local-color: var(--wui-color-${this.color});\n `;\n return html ``;\n }\n};\nWuiText.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiText.prototype, \"variant\", void 0);\n__decorate([\n property()\n], WuiText.prototype, \"color\", void 0);\n__decorate([\n property()\n], WuiText.prototype, \"align\", void 0);\nWuiText = __decorate([\n customElement('wui-text')\n], WuiText);\nexport { WuiText };\n//# sourceMappingURL=index.js.map","import { svg } from 'lit';\nexport const browserSvg = svg `\n \n \n \n \n \n \n \n `;\n//# sourceMappingURL=browser.js.map","import { svg } from 'lit';\nexport const daoSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n//# sourceMappingURL=dao.js.map","import { svg } from 'lit';\nexport const defiSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=defi.js.map","import { svg } from 'lit';\nexport const defiAltSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n `;\n//# sourceMappingURL=defiAlt.js.map","import { svg } from 'lit';\nexport const ethSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n//# sourceMappingURL=eth.js.map","import { svg } from 'lit';\nexport const layersSvg = svg `\n \n \n \n \n \n`;\n//# sourceMappingURL=layers.js.map","import { svg } from 'lit';\nexport const lockSvg = svg `\n \n \n \n \n \n`;\n//# sourceMappingURL=lock.js.map","import { svg } from 'lit';\nexport const loginSvg = svg `\n \n \n \n \n \n \n \n \n \n `;\n//# sourceMappingURL=login.js.map","import { svg } from 'lit';\nexport const networkSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=network.js.map","import { svg } from 'lit';\nexport const nftSvg = svg `\n \n \n \n \n \n \n \n \n \n `;\n//# sourceMappingURL=nft.js.map","import { svg } from 'lit';\nexport const nounSvg = svg `\n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=noun.js.map","import { svg } from 'lit';\nexport const profileSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n//# sourceMappingURL=profile.js.map","import { svg } from 'lit';\nexport const systemSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n//# sourceMappingURL=system.js.map","import { svg } from 'lit';\nexport const coinbaseSvg = svg `\n \n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=coinbase.js.map","import { svg } from 'lit';\nexport const moonpaySvg = svg `\n \n \n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=moonpay.js.map","import { svg } from 'lit';\nexport const stripeSvg = svg `\n \n \n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=stripe.js.map","import { svg } from 'lit';\nexport const paypalSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n`;\n//# sourceMappingURL=paypal.js.map","import { svg } from 'lit';\nexport const onrampCardSvg = svg `\n\n \n \n \n \n \n\n\n \n \n \n\n`;\n//# sourceMappingURL=onramp-card.js.map","import { svg } from 'lit';\nexport const googleSvg = svg `\n \n \n \n \n \n \n \n \n\n`;\n//# sourceMappingURL=google.js.map","import { svg } from 'lit';\nexport const pencilSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n`;\n//# sourceMappingURL=pencil.js.map","import { svg } from 'lit';\nexport const lightbulbSvg = svg `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n`;\n//# sourceMappingURL=lightbulb.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n width: var(--local-size);\n height: var(--local-size);\n }\n\n :host svg {\n width: 100%;\n height: 100%;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { browserSvg } from '../../assets/visual/browser.js';\nimport { daoSvg } from '../../assets/visual/dao.js';\nimport { defiSvg } from '../../assets/visual/defi.js';\nimport { defiAltSvg } from '../../assets/visual/defiAlt.js';\nimport { ethSvg } from '../../assets/visual/eth.js';\nimport { layersSvg } from '../../assets/visual/layers.js';\nimport { lockSvg } from '../../assets/visual/lock.js';\nimport { loginSvg } from '../../assets/visual/login.js';\nimport { networkSvg } from '../../assets/visual/network.js';\nimport { nftSvg } from '../../assets/visual/nft.js';\nimport { nounSvg } from '../../assets/visual/noun.js';\nimport { profileSvg } from '../../assets/visual/profile.js';\nimport { systemSvg } from '../../assets/visual/system.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport { coinbaseSvg } from '../../assets/visual/coinbase.js';\nimport { moonpaySvg } from '../../assets/visual/moonpay.js';\nimport { stripeSvg } from '../../assets/visual/stripe.js';\nimport { paypalSvg } from '../../assets/visual/paypal.js';\nimport { onrampCardSvg } from '../../assets/visual/onramp-card.js';\nimport { googleSvg } from '../../assets/visual/google.js';\nimport { pencilSvg } from '../../assets/visual/pencil.js';\nimport { lightbulbSvg } from '../../assets/visual/lightbulb.js';\nimport styles from './styles.js';\nconst svgOptions = {\n browser: browserSvg,\n dao: daoSvg,\n defi: defiSvg,\n defiAlt: defiAltSvg,\n eth: ethSvg,\n layers: layersSvg,\n lock: lockSvg,\n login: loginSvg,\n network: networkSvg,\n nft: nftSvg,\n noun: nounSvg,\n profile: profileSvg,\n system: systemSvg,\n coinbase: coinbaseSvg,\n onrampCard: onrampCardSvg,\n moonpay: moonpaySvg,\n stripe: stripeSvg,\n paypal: paypalSvg,\n google: googleSvg,\n pencil: pencilSvg,\n lightbulb: lightbulbSvg\n};\nlet WuiVisual = class WuiVisual extends LitElement {\n constructor() {\n super(...arguments);\n this.name = 'browser';\n this.size = 'md';\n }\n render() {\n this.style.cssText = `\n --local-size: var(--wui-visual-size-${this.size});\n `;\n return html `${svgOptions[this.name]}`;\n }\n};\nWuiVisual.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiVisual.prototype, \"name\", void 0);\n__decorate([\n property()\n], WuiVisual.prototype, \"size\", void 0);\nWuiVisual = __decorate([\n customElement('wui-visual')\n], WuiVisual);\nexport { WuiVisual };\n//# sourceMappingURL=index.js.map","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=o=>o??t;export{o as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","export const UiHelperUtil = {\n getSpacingStyles(spacing, index) {\n if (Array.isArray(spacing)) {\n return spacing[index] ? `var(--wui-spacing-${spacing[index]})` : undefined;\n }\n else if (typeof spacing === 'string') {\n return `var(--wui-spacing-${spacing})`;\n }\n return undefined;\n },\n getFormattedDate(date) {\n return new Intl.DateTimeFormat('en-US', { month: 'short', day: 'numeric' }).format(date);\n },\n getHostName(url) {\n const newUrl = new URL(url);\n return newUrl.hostname;\n },\n getTruncateString({ string, charsStart, charsEnd, truncate }) {\n if (string.length <= charsStart + charsEnd) {\n return string;\n }\n if (truncate === 'end') {\n return `${string.substring(0, charsStart)}...`;\n }\n else if (truncate === 'start') {\n return `...${string.substring(string.length - charsEnd)}`;\n }\n return `${string.substring(0, Math.floor(charsStart))}...${string.substring(string.length - Math.floor(charsEnd))}`;\n },\n generateAvatarColors(address) {\n const hash = address.toLowerCase().replace(/^0x/iu, '');\n const baseColor = hash.substring(0, 6);\n const rgbColor = this.hexToRgb(baseColor);\n const masterBorderRadius = getComputedStyle(document.documentElement).getPropertyValue('--w3m-border-radius-master');\n const radius = Number(masterBorderRadius?.replace('px', ''));\n const edge = 100 - 3 * radius;\n const gradientCircle = `${edge}% ${edge}% at 65% 40%`;\n const colors = [];\n for (let i = 0; i < 5; i += 1) {\n const tintedColor = this.tintColor(rgbColor, 0.15 * i);\n colors.push(`rgb(${tintedColor[0]}, ${tintedColor[1]}, ${tintedColor[2]})`);\n }\n return `\n --local-color-1: ${colors[0]};\n --local-color-2: ${colors[1]};\n --local-color-3: ${colors[2]};\n --local-color-4: ${colors[3]};\n --local-color-5: ${colors[4]};\n --local-radial-circle: ${gradientCircle}\n `;\n },\n hexToRgb(hex) {\n const bigint = parseInt(hex, 16);\n const r = (bigint >> 16) & 255;\n const g = (bigint >> 8) & 255;\n const b = bigint & 255;\n return [r, g, b];\n },\n tintColor(rgb, tint) {\n const [r, g, b] = rgb;\n const tintedR = Math.round(r + (255 - r) * tint);\n const tintedG = Math.round(g + (255 - g) * tint);\n const tintedB = Math.round(b + (255 - b) * tint);\n return [tintedR, tintedG, tintedB];\n },\n isNumber(character) {\n const regex = {\n number: /^[0-9]+$/u\n };\n return regex.number.test(character);\n },\n getColorTheme(theme) {\n if (theme) {\n return theme;\n }\n else if (typeof window !== 'undefined' && window.matchMedia) {\n if (window.matchMedia('(prefers-color-scheme: dark)').matches) {\n return 'dark';\n }\n return 'light';\n }\n return 'dark';\n },\n splitBalance(input) {\n const parts = input.split('.');\n if (parts.length === 2) {\n return [parts[0], parts[1]];\n }\n return ['0', '00'];\n },\n roundNumber(number, threshold, fixed) {\n const roundedNumber = Math.abs(number) >= threshold ? Number(number.toFixed(fixed)) : number;\n return roundedNumber;\n },\n formatNumberToLocalString(value, decimals = 2) {\n if (value === undefined) {\n return '0.00';\n }\n if (typeof value === 'number') {\n return value.toLocaleString('en-US', {\n maximumFractionDigits: decimals,\n minimumFractionDigits: decimals\n });\n }\n return parseFloat(value).toLocaleString('en-US', {\n maximumFractionDigits: decimals,\n minimumFractionDigits: decimals\n });\n }\n};\n//# sourceMappingURL=UiHelperUtil.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: flex;\n width: inherit;\n height: inherit;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { UiHelperUtil } from '../../utils/UiHelperUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiFlex = class WuiFlex extends LitElement {\n render() {\n this.style.cssText = `\n flex-direction: ${this.flexDirection};\n flex-wrap: ${this.flexWrap};\n flex-basis: ${this.flexBasis};\n flex-grow: ${this.flexGrow};\n flex-shrink: ${this.flexShrink};\n align-items: ${this.alignItems};\n justify-content: ${this.justifyContent};\n column-gap: ${this.columnGap && `var(--wui-spacing-${this.columnGap})`};\n row-gap: ${this.rowGap && `var(--wui-spacing-${this.rowGap})`};\n gap: ${this.gap && `var(--wui-spacing-${this.gap})`};\n padding-top: ${this.padding && UiHelperUtil.getSpacingStyles(this.padding, 0)};\n padding-right: ${this.padding && UiHelperUtil.getSpacingStyles(this.padding, 1)};\n padding-bottom: ${this.padding && UiHelperUtil.getSpacingStyles(this.padding, 2)};\n padding-left: ${this.padding && UiHelperUtil.getSpacingStyles(this.padding, 3)};\n margin-top: ${this.margin && UiHelperUtil.getSpacingStyles(this.margin, 0)};\n margin-right: ${this.margin && UiHelperUtil.getSpacingStyles(this.margin, 1)};\n margin-bottom: ${this.margin && UiHelperUtil.getSpacingStyles(this.margin, 2)};\n margin-left: ${this.margin && UiHelperUtil.getSpacingStyles(this.margin, 3)};\n `;\n return html ``;\n }\n};\nWuiFlex.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiFlex.prototype, \"flexDirection\", void 0);\n__decorate([\n property()\n], WuiFlex.prototype, \"flexWrap\", void 0);\n__decorate([\n property()\n], WuiFlex.prototype, \"flexBasis\", void 0);\n__decorate([\n property()\n], WuiFlex.prototype, \"flexGrow\", void 0);\n__decorate([\n property()\n], WuiFlex.prototype, \"flexShrink\", void 0);\n__decorate([\n property()\n], WuiFlex.prototype, \"alignItems\", void 0);\n__decorate([\n property()\n], WuiFlex.prototype, \"justifyContent\", void 0);\n__decorate([\n property()\n], WuiFlex.prototype, \"columnGap\", void 0);\n__decorate([\n property()\n], WuiFlex.prototype, \"rowGap\", void 0);\n__decorate([\n property()\n], WuiFlex.prototype, \"gap\", void 0);\n__decorate([\n property()\n], WuiFlex.prototype, \"padding\", void 0);\n__decorate([\n property()\n], WuiFlex.prototype, \"margin\", void 0);\nWuiFlex = __decorate([\n customElement('wui-flex')\n], WuiFlex);\nexport { WuiFlex };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n width: var(--wui-icon-box-size-xl);\n height: var(--wui-icon-box-size-xl);\n border-radius: var(--wui-border-radius-3xl);\n box-shadow: 0 0 0 8px var(--wui-gray-glass-005);\n overflow: hidden;\n position: relative;\n }\n\n :host([data-variant='generated']) {\n --mixed-local-color-1: var(--local-color-1);\n --mixed-local-color-2: var(--local-color-2);\n --mixed-local-color-3: var(--local-color-3);\n --mixed-local-color-4: var(--local-color-4);\n --mixed-local-color-5: var(--local-color-5);\n }\n\n @supports (background: color-mix(in srgb, white 50%, black)) {\n :host([data-variant='generated']) {\n --mixed-local-color-1: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--local-color-1)\n );\n --mixed-local-color-2: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--local-color-2)\n );\n --mixed-local-color-3: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--local-color-3)\n );\n --mixed-local-color-4: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--local-color-4)\n );\n --mixed-local-color-5: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--local-color-5)\n );\n }\n }\n\n :host([data-variant='generated']) {\n box-shadow: 0 0 0 8px var(--wui-gray-glass-005);\n background: radial-gradient(\n var(--local-radial-circle),\n #fff 0.52%,\n var(--mixed-local-color-5) 31.25%,\n var(--mixed-local-color-3) 51.56%,\n var(--mixed-local-color-2) 65.63%,\n var(--mixed-local-color-1) 82.29%,\n var(--mixed-local-color-4) 100%\n );\n }\n\n :host([data-variant='default']) {\n box-shadow: 0 0 0 8px var(--wui-gray-glass-005);\n background: radial-gradient(\n 75.29% 75.29% at 64.96% 24.36%,\n #fff 0.52%,\n #f5ccfc 31.25%,\n #dba4f5 51.56%,\n #9a8ee8 65.63%,\n #6493da 82.29%,\n #6ebdea 100%\n );\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-image/index.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { UiHelperUtil } from '../../utils/UiHelperUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiAvatar = class WuiAvatar extends LitElement {\n constructor() {\n super(...arguments);\n this.imageSrc = undefined;\n this.alt = undefined;\n this.address = undefined;\n }\n render() {\n return html `${this.visualTemplate()}`;\n }\n visualTemplate() {\n if (this.imageSrc) {\n this.dataset['variant'] = 'image';\n return html ``;\n }\n else if (this.address) {\n this.dataset['variant'] = 'generated';\n const cssColors = UiHelperUtil.generateAvatarColors(this.address);\n this.style.cssText = cssColors;\n return null;\n }\n this.dataset['variant'] = 'default';\n return null;\n }\n};\nWuiAvatar.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiAvatar.prototype, \"imageSrc\", void 0);\n__decorate([\n property()\n], WuiAvatar.prototype, \"alt\", void 0);\n__decorate([\n property()\n], WuiAvatar.prototype, \"address\", void 0);\nWuiAvatar = __decorate([\n customElement('wui-avatar')\n], WuiAvatar);\nexport { WuiAvatar };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n position: relative;\n overflow: hidden;\n background-color: var(--wui-gray-glass-020);\n border-radius: var(--local-border-radius);\n border: var(--local-border);\n box-sizing: content-box;\n width: var(--local-size);\n height: var(--local-size);\n min-height: var(--local-size);\n min-width: var(--local-size);\n }\n\n @supports (background: color-mix(in srgb, white 50%, black)) {\n :host {\n background-color: color-mix(in srgb, var(--local-bg-value) var(--local-bg-mix), transparent);\n }\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiIconBox = class WuiIconBox extends LitElement {\n constructor() {\n super(...arguments);\n this.size = 'md';\n this.backgroundColor = 'accent-100';\n this.iconColor = 'accent-100';\n this.background = 'transparent';\n this.border = false;\n this.borderColor = 'wui-color-bg-125';\n this.icon = 'copy';\n }\n render() {\n const iconSize = this.iconSize || this.size;\n const isLg = this.size === 'lg';\n const isXl = this.size === 'xl';\n const bgMix = isLg ? '12%' : '16%';\n const borderRadius = isLg ? 'xxs' : isXl ? 's' : '3xl';\n const isGray = this.background === 'gray';\n const isOpaque = this.background === 'opaque';\n const isColorChange = (this.backgroundColor === 'accent-100' && isOpaque) ||\n (this.backgroundColor === 'success-100' && isOpaque) ||\n (this.backgroundColor === 'error-100' && isOpaque) ||\n (this.backgroundColor === 'inverse-100' && isOpaque);\n let bgValueVariable = `var(--wui-color-${this.backgroundColor})`;\n if (isColorChange) {\n bgValueVariable = `var(--wui-icon-box-bg-${this.backgroundColor})`;\n }\n else if (isGray) {\n bgValueVariable = `var(--wui-gray-${this.backgroundColor})`;\n }\n this.style.cssText = `\n --local-bg-value: ${bgValueVariable};\n --local-bg-mix: ${isColorChange || isGray ? `100%` : bgMix};\n --local-border-radius: var(--wui-border-radius-${borderRadius});\n --local-size: var(--wui-icon-box-size-${this.size});\n --local-border: ${this.borderColor === 'wui-color-bg-125' ? `2px` : `1px`} solid ${this.border ? `var(--${this.borderColor})` : `transparent`}\n `;\n return html ` `;\n }\n};\nWuiIconBox.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiIconBox.prototype, \"size\", void 0);\n__decorate([\n property()\n], WuiIconBox.prototype, \"backgroundColor\", void 0);\n__decorate([\n property()\n], WuiIconBox.prototype, \"iconColor\", void 0);\n__decorate([\n property()\n], WuiIconBox.prototype, \"iconSize\", void 0);\n__decorate([\n property()\n], WuiIconBox.prototype, \"background\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiIconBox.prototype, \"border\", void 0);\n__decorate([\n property()\n], WuiIconBox.prototype, \"borderColor\", void 0);\n__decorate([\n property()\n], WuiIconBox.prototype, \"icon\", void 0);\nWuiIconBox = __decorate([\n customElement('wui-icon-box')\n], WuiIconBox);\nexport { WuiIconBox };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n }\n\n button {\n border-radius: var(--wui-border-radius-3xl);\n background: var(--wui-gray-glass-002);\n display: flex;\n gap: var(--wui-spacing-xs);\n padding: var(--wui-spacing-3xs) var(--wui-spacing-xs) var(--wui-spacing-3xs)\n var(--wui-spacing-xs);\n border: 1px solid var(--wui-gray-glass-005);\n }\n\n button:disabled {\n background: var(--wui-gray-glass-015);\n }\n\n button:disabled > wui-text {\n color: var(--wui-gray-glass-015);\n }\n\n button:disabled > wui-flex > wui-text {\n color: var(--wui-gray-glass-015);\n }\n\n button:disabled > wui-image,\n button:disabled > wui-icon-box,\n button:disabled > wui-flex > wui-avatar {\n filter: grayscale(1);\n }\n\n button:has(wui-image) {\n padding: var(--wui-spacing-3xs) var(--wui-spacing-3xs) var(--wui-spacing-3xs)\n var(--wui-spacing-xs);\n }\n\n wui-text {\n color: var(--wui-color-fg-100);\n }\n\n wui-flex > wui-text {\n color: var(--wui-color-fg-200);\n }\n\n wui-image,\n wui-icon-box {\n border-radius: var(--wui-border-radius-3xl);\n width: 24px;\n height: 24px;\n box-shadow: 0 0 0 2px var(--wui-gray-glass-005);\n }\n\n wui-flex {\n border-radius: var(--wui-border-radius-3xl);\n border: 1px solid var(--wui-gray-glass-005);\n background: var(--wui-gray-glass-005);\n padding: 4px var(--wui-spacing-m) 4px var(--wui-spacing-xxs);\n }\n\n button.local-no-balance {\n border-radius: 0px;\n border: none;\n background: transparent;\n }\n\n wui-avatar {\n width: 20px;\n height: 20px;\n box-shadow: 0 0 0 2px var(--wui-accent-glass-010);\n }\n\n @media (max-width: 500px) {\n button {\n gap: 0px;\n padding: var(--wui-spacing-3xs) var(--wui-spacing-xs) !important;\n height: 32px;\n }\n wui-image,\n wui-icon-box,\n button > wui-text {\n visibility: hidden;\n width: 0px;\n height: 0px;\n }\n button {\n border-radius: 0px;\n border: none;\n background: transparent;\n padding: 0px;\n }\n }\n\n @media (hover: hover) and (pointer: fine) {\n button:hover:enabled > wui-flex > wui-text {\n color: var(--wui-color-fg-175);\n }\n\n button:active:enabled > wui-flex > wui-text {\n color: var(--wui-color-fg-175);\n }\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport '../../components/wui-image/index.js';\nimport '../../components/wui-text/index.js';\nimport '../../layout/wui-flex/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { UiHelperUtil } from '../../utils/UiHelperUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../wui-avatar/index.js';\nimport '../wui-icon-box/index.js';\nimport styles from './styles.js';\nlet WuiAccountButton = class WuiAccountButton extends LitElement {\n constructor() {\n super(...arguments);\n this.networkSrc = undefined;\n this.avatarSrc = undefined;\n this.balance = undefined;\n this.isUnsupportedChain = undefined;\n this.disabled = false;\n this.isProfileName = false;\n this.address = '';\n this.profileName = '';\n this.charsStart = 4;\n this.charsEnd = 6;\n }\n render() {\n return html `\n \n ${this.balanceTemplate()}\n \n \n \n ${this.address\n ? UiHelperUtil.getTruncateString({\n string: this.isProfileName ? this.profileName : this.address,\n charsStart: this.isProfileName ? 18 : this.charsStart,\n charsEnd: this.isProfileName ? 0 : this.charsEnd,\n truncate: this.isProfileName ? 'end' : 'middle'\n })\n : null}\n \n \n \n `;\n }\n balanceTemplate() {\n if (this.isUnsupportedChain) {\n return html ` \n Switch Network`;\n }\n if (this.balance) {\n const networkElement = this.networkSrc\n ? html ``\n : html `\n \n `;\n return html `\n ${networkElement}\n ${this.balance}\n `;\n }\n return null;\n }\n};\nWuiAccountButton.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiAccountButton.prototype, \"networkSrc\", void 0);\n__decorate([\n property()\n], WuiAccountButton.prototype, \"avatarSrc\", void 0);\n__decorate([\n property()\n], WuiAccountButton.prototype, \"balance\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiAccountButton.prototype, \"isUnsupportedChain\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiAccountButton.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiAccountButton.prototype, \"isProfileName\", void 0);\n__decorate([\n property()\n], WuiAccountButton.prototype, \"address\", void 0);\n__decorate([\n property()\n], WuiAccountButton.prototype, \"profileName\", void 0);\n__decorate([\n property()\n], WuiAccountButton.prototype, \"charsStart\", void 0);\n__decorate([\n property()\n], WuiAccountButton.prototype, \"charsEnd\", void 0);\nWuiAccountButton = __decorate([\n customElement('wui-account-button')\n], WuiAccountButton);\nexport { WuiAccountButton };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n position: relative;\n background-color: var(--wui-gray-glass-002);\n display: flex;\n justify-content: center;\n align-items: center;\n width: var(--local-size);\n height: var(--local-size);\n border-radius: inherit;\n border-radius: var(--local-border-radius);\n }\n\n :host > wui-flex {\n overflow: hidden;\n border-radius: inherit;\n border-radius: var(--local-border-radius);\n }\n\n :host::after {\n content: '';\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n border-radius: inherit;\n border: 1px solid var(--wui-gray-glass-010);\n pointer-events: none;\n }\n\n :host([name='Extension'])::after {\n border: 1px solid var(--wui-accent-glass-010);\n }\n\n :host([data-wallet-icon='allWallets']) {\n background-color: var(--wui-all-wallets-bg-100);\n }\n\n :host([data-wallet-icon='allWallets'])::after {\n border: 1px solid var(--wui-accent-glass-010);\n }\n\n wui-icon[data-parent-size='inherit'] {\n width: 75%;\n height: 75%;\n align-items: center;\n }\n\n wui-icon[data-parent-size='sm'] {\n width: 18px;\n height: 18px;\n }\n\n wui-icon[data-parent-size='md'] {\n width: 24px;\n height: 24px;\n }\n\n wui-icon[data-parent-size='lg'] {\n width: 42px;\n height: 42px;\n }\n\n wui-icon[data-parent-size='full'] {\n width: 100%;\n height: 100%;\n }\n\n :host > wui-icon-box {\n position: absolute;\n overflow: hidden;\n right: -1px;\n bottom: -2px;\n z-index: 1;\n border: 2px solid var(--wui-color-bg-base-150, #1e1f1f);\n padding: 1px;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-image/index.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../wui-icon-box/index.js';\nimport styles from './styles.js';\nlet WuiWalletImage = class WuiWalletImage extends LitElement {\n constructor() {\n super(...arguments);\n this.size = 'md';\n this.name = '';\n this.installed = false;\n this.badgeSize = 'xs';\n }\n render() {\n let borderRadius = 'xxs';\n if (this.size === 'lg') {\n borderRadius = 'm';\n }\n else if (this.size === 'md') {\n borderRadius = 'xs';\n }\n else {\n borderRadius = 'xxs';\n }\n this.style.cssText = `\n --local-border-radius: var(--wui-border-radius-${borderRadius});\n --local-size: var(--wui-wallet-image-size-${this.size});\n `;\n if (this.walletIcon) {\n this.dataset['walletIcon'] = this.walletIcon;\n }\n return html `\n ${this.templateVisual()} \n `;\n }\n templateVisual() {\n if (this.imageSrc) {\n return html ``;\n }\n else if (this.walletIcon) {\n return html ``;\n }\n return html ``;\n }\n};\nWuiWalletImage.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiWalletImage.prototype, \"size\", void 0);\n__decorate([\n property()\n], WuiWalletImage.prototype, \"name\", void 0);\n__decorate([\n property()\n], WuiWalletImage.prototype, \"imageSrc\", void 0);\n__decorate([\n property()\n], WuiWalletImage.prototype, \"walletIcon\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiWalletImage.prototype, \"installed\", void 0);\n__decorate([\n property()\n], WuiWalletImage.prototype, \"badgeSize\", void 0);\nWuiWalletImage = __decorate([\n customElement('wui-wallet-image')\n], WuiWalletImage);\nexport { WuiWalletImage };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n position: relative;\n border-radius: var(--wui-border-radius-xxs);\n width: 40px;\n height: 40px;\n overflow: hidden;\n background: var(--wui-gray-glass-002);\n display: flex;\n justify-content: center;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--wui-spacing-4xs);\n padding: 3.75px !important;\n }\n\n :host::after {\n content: '';\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n border-radius: inherit;\n border: 1px solid var(--wui-gray-glass-010);\n pointer-events: none;\n }\n\n :host > wui-wallet-image {\n width: 14px;\n height: 14px;\n border-radius: var(--wui-border-radius-5xs);\n }\n\n :host > wui-flex {\n padding: 2px;\n position: fixed;\n overflow: hidden;\n left: 34px;\n bottom: 8px;\n background: var(--dark-background-150, #1e1f1f);\n border-radius: 50%;\n z-index: 2;\n display: flex;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../wui-wallet-image/index.js';\nimport '../wui-icon-box/index.js';\nimport styles from './styles.js';\nconst TOTAL_IMAGES = 4;\nlet WuiAllWalletsImage = class WuiAllWalletsImage extends LitElement {\n constructor() {\n super(...arguments);\n this.walletImages = [];\n }\n render() {\n const isPlaceholders = this.walletImages.length < TOTAL_IMAGES;\n return html `${this.walletImages\n .slice(0, TOTAL_IMAGES)\n .map(({ src, walletName }) => html `\n \n `)}\n ${isPlaceholders\n ? [...Array(TOTAL_IMAGES - this.walletImages.length)].map(() => html ` `)\n : null}\n \n \n `;\n }\n};\nWuiAllWalletsImage.styles = [resetStyles, styles];\n__decorate([\n property({ type: Array })\n], WuiAllWalletsImage.prototype, \"walletImages\", void 0);\nWuiAllWalletsImage = __decorate([\n customElement('wui-all-wallets-image')\n], WuiAllWalletsImage);\nexport { WuiAllWalletsImage };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n width: var(--local-width);\n position: relative;\n }\n\n button {\n border: 1px solid var(--wui-gray-glass-010);\n border-radius: var(--local-border-radius);\n width: var(--local-width);\n white-space: nowrap;\n }\n\n button:disabled {\n border: 1px solid var(--wui-gray-glass-010);\n }\n\n /* xs settings */\n button[data-size='xs'] {\n padding: var(--wui-spacing-xs) var(--wui-spacing-1xs);\n }\n\n button[data-size='xs'][data-icon-left='true'][data-icon-right='false'] {\n padding-left: var(--wui-spacing-xxs);\n }\n\n button[data-size='xs'][data-icon-right='true'][data-icon-left='false'] {\n padding-right: var(--wui-spacing-xxs);\n }\n\n /* sm settings */\n button[data-size='sm'] {\n padding: var(--wui-spacing-xxs) var(--wui-spacing-s);\n }\n\n button[data-size='sm'][data-icon-left='true'][data-icon-right='false'] {\n padding: var(--wui-spacing-xxs) var(--wui-spacing-s) var(--wui-spacing-xxs)\n var(--wui-spacing-xs);\n }\n\n button[data-size='sm'][data-icon-right='true'][data-icon-left='false'] {\n padding: var(--wui-spacing-xxs) var(--wui-spacing-xs) var(--wui-spacing-xxs)\n var(--wui-spacing-s);\n }\n\n /* md settings */\n button[data-size='md'] {\n padding: 8.2px var(--wui-spacing-l) 9px var(--wui-spacing-l);\n }\n\n button[data-size='md'][data-icon-left='true'][data-icon-right='false'] {\n padding: 8.2px var(--wui-spacing-l) 9px var(--wui-spacing-s);\n }\n\n button[data-size='md'][data-icon-right='true'][data-icon-left='false'] {\n padding: 8.2px var(--wui-spacing-s) 9px var(--wui-spacing-l);\n }\n\n /* lg settings */\n button[data-size='lg'] {\n padding: var(--wui-spacing-m) var(--wui-spacing-2l);\n }\n\n button[data-size='lg'][data-icon-left='true'][data-icon-right='false'] {\n padding-left: var(--wui-spacing-m);\n }\n\n button[data-size='lg'][data-icon-right='true'][data-icon-left='false'] {\n padding-right: var(--wui-spacing-m);\n }\n\n button > wui-text {\n transition: opacity var(--wui-ease-out-power-1) var(--wui-duration-md);\n will-change: opacity;\n opacity: var(--local-opacity-100);\n }\n\n ::slotted(*) {\n transition: opacity var(--wui-ease-out-power-1) var(--wui-duration-md);\n will-change: opacity;\n opacity: var(--local-opacity-100);\n }\n\n wui-loading-spinner {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n opacity: var(--local-opacity-000);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-loading-spinner/index.js';\nimport '../../components/wui-text/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nconst TEXT_VARIANT_BY_SIZE = {\n xs: 'small-600',\n sm: 'paragraph-600',\n md: 'small-600',\n mdl: 'small-600',\n lg: 'paragraph-600'\n};\nlet WuiButton = class WuiButton extends LitElement {\n constructor() {\n super(...arguments);\n this.size = 'md';\n this.disabled = false;\n this.fullWidth = false;\n this.loading = false;\n this.variant = 'fill';\n this.hasIconLeft = false;\n this.hasIconRight = false;\n this.borderRadius = 'm';\n }\n render() {\n this.style.cssText = `\n --local-width: ${this.fullWidth ? '100%' : 'auto'};\n --local-opacity-100: ${this.loading ? 0 : 1};\n --local-opacity-000: ${this.loading ? 1 : 0};\n --local-border-radius: var(--wui-border-radius-${this.borderRadius});\n `;\n const textVariant = this.textVariant ?? TEXT_VARIANT_BY_SIZE[this.size];\n return html `\n \n ${this.loadingTemplate()}\n this.handleSlotLeftChange()}>\n \n \n \n this.handleSlotRightChange()}>\n \n `;\n }\n handleSlotLeftChange() {\n this.hasIconLeft = true;\n }\n handleSlotRightChange() {\n this.hasIconRight = true;\n }\n loadingTemplate() {\n if (this.loading) {\n return html ``;\n }\n return html ``;\n }\n};\nWuiButton.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiButton.prototype, \"size\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiButton.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiButton.prototype, \"fullWidth\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiButton.prototype, \"loading\", void 0);\n__decorate([\n property()\n], WuiButton.prototype, \"variant\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiButton.prototype, \"hasIconLeft\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiButton.prototype, \"hasIconRight\", void 0);\n__decorate([\n property()\n], WuiButton.prototype, \"borderRadius\", void 0);\n__decorate([\n property()\n], WuiButton.prototype, \"textVariant\", void 0);\nWuiButton = __decorate([\n customElement('wui-button')\n], WuiButton);\nexport { WuiButton };\n//# sourceMappingURL=index.js.map","import { svg } from 'lit';\nexport const networkSvgMd = svg `\n \n`;\n//# sourceMappingURL=networkMd.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 76px;\n row-gap: var(--wui-spacing-xs);\n padding: var(--wui-spacing-xs) 10px;\n background-color: var(--wui-gray-glass-002);\n border-radius: clamp(0px, var(--wui-border-radius-xs), 20px);\n position: relative;\n }\n\n wui-shimmer[data-type='network'] {\n border: none;\n -webkit-clip-path: var(--wui-path-network);\n clip-path: var(--wui-path-network);\n }\n\n svg {\n position: absolute;\n width: 48px;\n height: 54px;\n z-index: 1;\n }\n\n svg > path {\n stroke: var(--wui-gray-glass-010);\n stroke-width: 1px;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { networkSvgMd } from '../../assets/svg/networkMd.js';\nimport '../../components/wui-shimmer/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiCardSelectLoader = class WuiCardSelectLoader extends LitElement {\n constructor() {\n super(...arguments);\n this.type = 'wallet';\n }\n render() {\n return html `\n ${this.shimmerTemplate()}\n \n `;\n }\n shimmerTemplate() {\n if (this.type === 'network') {\n return html ` \n ${networkSvgMd}`;\n }\n return html ``;\n }\n};\nWuiCardSelectLoader.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiCardSelectLoader.prototype, \"type\", void 0);\nWuiCardSelectLoader = __decorate([\n customElement('wui-card-select-loader')\n], WuiCardSelectLoader);\nexport { WuiCardSelectLoader };\n//# sourceMappingURL=index.js.map","import { svg } from 'lit';\nexport const networkSvgSm = svg `\n \n \n \n`;\n//# sourceMappingURL=networkSm.js.map","import { svg } from 'lit';\nexport const networkSvgLg = svg `\n \n`;\n//# sourceMappingURL=networkLg.js.map","import { css } from 'lit';\nexport default css `\n :host {\n position: relative;\n border-radius: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\n width: var(--local-width);\n height: var(--local-height);\n }\n\n svg {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 1;\n fill: var(--wui-gray-glass-002);\n }\n\n svg > path {\n stroke: var(--local-stroke);\n }\n\n wui-image {\n width: 100%;\n height: 100%;\n -webkit-clip-path: var(--local-path);\n clip-path: var(--local-path);\n background: var(--wui-gray-glass-002);\n }\n\n wui-icon {\n transform: translateY(-5%);\n width: var(--local-icon-size);\n height: var(--local-icon-size);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { networkSvgSm } from '../../assets/svg/networkSm.js';\nimport { networkSvgMd } from '../../assets/svg/networkMd.js';\nimport { networkSvgLg } from '../../assets/svg/networkLg.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-image/index.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiNetworkImage = class WuiNetworkImage extends LitElement {\n constructor() {\n super(...arguments);\n this.size = 'md';\n this.name = 'uknown';\n this.selected = false;\n }\n render() {\n const networkImagesBySize = { sm: networkSvgSm, md: networkSvgMd, lg: networkSvgLg };\n this.style.cssText = `\n --local-stroke: ${this.selected ? 'var(--wui-color-accent-100)' : 'var(--wui-gray-glass-010)'};\n --local-path: var(--wui-path-network-${this.size});\n --local-width: var(--wui-width-network-${this.size});\n --local-height: var(--wui-height-network-${this.size});\n --local-icon-size: var(--wui-icon-size-network-${this.size});\n `;\n return html `${this.templateVisual()} ${networkImagesBySize[this.size]}`;\n }\n templateVisual() {\n if (this.imageSrc) {\n return html ``;\n }\n return html ``;\n }\n};\nWuiNetworkImage.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiNetworkImage.prototype, \"size\", void 0);\n__decorate([\n property()\n], WuiNetworkImage.prototype, \"name\", void 0);\n__decorate([\n property()\n], WuiNetworkImage.prototype, \"imageSrc\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiNetworkImage.prototype, \"selected\", void 0);\nWuiNetworkImage = __decorate([\n customElement('wui-network-image')\n], WuiNetworkImage);\nexport { WuiNetworkImage };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n flex-direction: column;\n width: 76px;\n row-gap: var(--wui-spacing-xs);\n padding: var(--wui-spacing-xs) var(--wui-spacing-0);\n background-color: var(--wui-gray-glass-002);\n border-radius: clamp(0px, var(--wui-border-radius-xs), 20px);\n }\n\n button > wui-text {\n color: var(--wui-color-fg-100);\n max-width: var(--wui-icon-box-size-xl);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n justify-content: center;\n }\n\n button:disabled > wui-text {\n color: var(--wui-gray-glass-015);\n }\n\n [data-selected='true'] {\n background-color: var(--wui-accent-glass-020);\n }\n\n @media (hover: hover) and (pointer: fine) {\n [data-selected='true']:hover:enabled {\n background-color: var(--wui-accent-glass-015);\n }\n }\n\n [data-selected='true']:active:enabled {\n background-color: var(--wui-accent-glass-010);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport '../../components/wui-text/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../wui-network-image/index.js';\nimport '../wui-wallet-image/index.js';\nimport styles from './styles.js';\nlet WuiCardSelect = class WuiCardSelect extends LitElement {\n constructor() {\n super(...arguments);\n this.name = 'Unknown';\n this.type = 'wallet';\n this.imageSrc = undefined;\n this.disabled = false;\n this.selected = false;\n this.installed = false;\n }\n render() {\n return html `\n \n `;\n }\n imageTemplate() {\n if (this.type === 'network') {\n return html `\n \n \n `;\n }\n return html `\n \n \n `;\n }\n};\nWuiCardSelect.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiCardSelect.prototype, \"name\", void 0);\n__decorate([\n property()\n], WuiCardSelect.prototype, \"type\", void 0);\n__decorate([\n property()\n], WuiCardSelect.prototype, \"imageSrc\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiCardSelect.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiCardSelect.prototype, \"selected\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiCardSelect.prototype, \"installed\", void 0);\nWuiCardSelect = __decorate([\n customElement('wui-card-select')\n], WuiCardSelect);\nexport { WuiCardSelect };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n a {\n border: 1px solid var(--wui-gray-glass-010);\n border-radius: var(--wui-border-radius-3xl);\n }\n\n wui-image {\n border-radius: var(--wui-border-radius-3xl);\n overflow: hidden;\n }\n\n a.disabled > wui-icon,\n a.disabled > wui-image {\n filter: grayscale(1);\n }\n\n a[data-variant='fill'] {\n color: var(--wui-color-inverse-100);\n background-color: var(--wui-color-accent-100);\n }\n\n a[data-variant='shade'],\n a[data-variant='shadeSmall'] {\n background-color: transparent;\n background-color: var(--wui-gray-glass-010);\n color: var(--wui-color-fg-200);\n }\n\n a[data-variant='success'] {\n column-gap: var(--wui-spacing-xxs);\n border: 1px solid var(--wui-success-glass-010);\n background-color: var(--wui-success-glass-010);\n color: var(--wui-color-success-100);\n }\n\n a[data-variant='error'] {\n column-gap: var(--wui-spacing-xxs);\n border: 1px solid var(--wui-error-glass-010);\n background-color: var(--wui-error-glass-010);\n color: var(--wui-color-error-100);\n }\n\n a[data-variant='transparent'] {\n column-gap: var(--wui-spacing-xxs);\n background-color: transparent;\n color: var(--wui-color-fg-150);\n }\n\n a[data-variant='transparent'],\n a[data-variant='success'],\n a[data-variant='shadeSmall'],\n a[data-variant='error'] {\n padding: 7px var(--wui-spacing-s) 7px 10px;\n }\n\n a[data-variant='transparent']:has(wui-text:first-child),\n a[data-variant='success']:has(wui-text:first-child),\n a[data-variant='shadeSmall']:has(wui-text:first-child),\n a[data-variant='error']:has(wui-text:first-child) {\n padding: 7px var(--wui-spacing-s);\n }\n\n a[data-variant='fill'],\n a[data-variant='shade'] {\n column-gap: var(--wui-spacing-xs);\n padding: var(--wui-spacing-xxs) var(--wui-spacing-m) var(--wui-spacing-xxs)\n var(--wui-spacing-xs);\n }\n\n a[data-variant='fill']:has(wui-text:first-child),\n a[data-variant='shade']:has(wui-text:first-child) {\n padding: 9px var(--wui-spacing-m) 9px var(--wui-spacing-m);\n }\n\n a[data-variant='fill'] > wui-image,\n a[data-variant='shade'] > wui-image {\n width: 24px;\n height: 24px;\n }\n\n a[data-variant='fill'] > wui-image {\n box-shadow: inset 0 0 0 1px var(--wui-color-accent-090);\n }\n\n a[data-variant='shade'] > wui-image,\n a[data-variant='shadeSmall'] > wui-image {\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-010);\n }\n\n a[data-variant='fill'] > wui-icon,\n a[data-variant='shade'] > wui-icon {\n width: 14px;\n height: 14px;\n }\n\n a[data-variant='transparent'] > wui-image,\n a[data-variant='success'] > wui-image,\n a[data-variant='shadeSmall'] > wui-image,\n a[data-variant='error'] > wui-image {\n width: 14px;\n height: 14px;\n }\n\n a[data-variant='transparent'] > wui-icon,\n a[data-variant='success'] > wui-icon,\n a[data-variant='shadeSmall'] > wui-icon,\n a[data-variant='error'] > wui-icon {\n width: 12px;\n height: 12px;\n }\n\n a[data-variant='fill']:focus-visible {\n background-color: var(--wui-color-accent-090);\n }\n\n a[data-variant='shade']:focus-visible,\n a[data-variant='shadeSmall']:focus-visible {\n background-color: var(--wui-gray-glass-015);\n }\n\n a[data-variant='transparent']:focus-visible {\n background-color: var(--wui-gray-glass-005);\n }\n\n a[data-variant='success']:focus-visible {\n background-color: var(--wui-success-glass-015);\n }\n\n a[data-variant='error']:focus-visible {\n background-color: var(--wui-error-glass-015);\n }\n\n a.disabled {\n color: var(--wui-gray-glass-015);\n background-color: var(--wui-gray-glass-015);\n pointer-events: none;\n }\n\n @media (hover: hover) and (pointer: fine) {\n a[data-variant='fill']:hover {\n background-color: var(--wui-color-accent-090);\n }\n\n a[data-variant='shade']:hover,\n a[data-variant='shadeSmall']:hover {\n background-color: var(--wui-gray-glass-015);\n }\n\n a[data-variant='transparent']:hover {\n background-color: var(--wui-gray-glass-005);\n }\n\n a[data-variant='success']:hover {\n background-color: var(--wui-success-glass-015);\n }\n\n a[data-variant='error']:hover {\n background-color: var(--wui-error-glass-015);\n }\n }\n\n a[data-variant='fill']:active {\n background-color: var(--wui-color-accent-080);\n }\n\n a[data-variant='shade']:active,\n a[data-variant='shadeSmall']:active {\n background-color: var(--wui-gray-glass-020);\n }\n\n a[data-variant='transparent']:active {\n background-color: var(--wui-gray-glass-010);\n }\n\n a[data-variant='success']:active {\n background-color: var(--wui-success-glass-020);\n }\n\n a[data-variant='error']:active {\n background-color: var(--wui-error-glass-020);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-image/index.js';\nimport '../../components/wui-text/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { UiHelperUtil } from '../../utils/UiHelperUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiChip = class WuiChip extends LitElement {\n constructor() {\n super(...arguments);\n this.variant = 'fill';\n this.imageSrc = undefined;\n this.disabled = false;\n this.icon = 'externalLink';\n this.href = '';\n this.text = undefined;\n }\n render() {\n const isSmall = this.variant === 'success' || this.variant === 'transparent' || this.variant === 'shadeSmall';\n const textVariant = isSmall ? 'small-600' : 'paragraph-600';\n return html `\n \n ${this.imageTemplate()}\n \n ${this.title ? this.title : UiHelperUtil.getHostName(this.href)}\n \n \n \n `;\n }\n imageTemplate() {\n if (this.imageSrc) {\n return html ``;\n }\n return null;\n }\n};\nWuiChip.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiChip.prototype, \"variant\", void 0);\n__decorate([\n property()\n], WuiChip.prototype, \"imageSrc\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiChip.prototype, \"disabled\", void 0);\n__decorate([\n property()\n], WuiChip.prototype, \"icon\", void 0);\n__decorate([\n property()\n], WuiChip.prototype, \"href\", void 0);\n__decorate([\n property()\n], WuiChip.prototype, \"text\", void 0);\nWuiChip = __decorate([\n customElement('wui-chip')\n], WuiChip);\nexport { WuiChip };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n position: relative;\n display: block;\n }\n\n button {\n background: var(--wui-color-accent-100);\n border: 1px solid var(--wui-gray-glass-010);\n border-radius: var(--wui-border-radius-m);\n gap: var(--wui-spacing-xs);\n }\n\n button.loading {\n background: var(--wui-gray-glass-010);\n border: 1px solid var(--wui-gray-glass-010);\n pointer-events: none;\n }\n\n button:disabled {\n background-color: var(--wui-gray-glass-015);\n border: 1px solid var(--wui-gray-glass-010);\n }\n\n button:disabled > wui-text {\n color: var(--wui-gray-glass-015);\n }\n\n @media (hover: hover) and (pointer: fine) {\n button:hover:enabled {\n background-color: var(--wui-color-accent-090);\n }\n\n button:active:enabled {\n background-color: var(--wui-color-accent-080);\n }\n }\n\n button:focus-visible {\n border: 1px solid var(--wui-gray-glass-010);\n background-color: var(--wui-color-accent-090);\n -webkit-box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n -moz-box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n }\n\n button[data-size='sm'] {\n padding: 6.75px 10px 7.25px;\n }\n\n ::slotted(*) {\n transition: opacity var(--wui-ease-out-power-1) var(--wui-duration-md);\n will-change: opacity;\n opacity: var(--local-opacity-100);\n }\n\n button > wui-text {\n transition: opacity var(--wui-ease-out-power-1) var(--wui-duration-md);\n will-change: opacity;\n opacity: var(--local-opacity-100);\n color: var(--wui-color-inverse-100);\n }\n\n button[data-size='md'] {\n padding: 9px var(--wui-spacing-l) 9px var(--wui-spacing-l);\n }\n\n button[data-size='md'] + wui-text {\n padding-left: var(--wui-spacing-3xs);\n }\n\n @media (max-width: 500px) {\n button[data-size='md'] {\n height: 32px;\n padding: 5px 12px;\n }\n\n button[data-size='md'] > wui-text > slot {\n font-size: 14px !important;\n }\n }\n\n wui-loading-spinner {\n width: 14px;\n height: 14px;\n }\n\n wui-loading-spinner::slotted(svg) {\n width: 10px !important;\n height: 10px !important;\n }\n\n button[data-size='sm'] > wui-loading-spinner {\n width: 12px;\n height: 12px;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-loading-spinner/index.js';\nimport '../../components/wui-text/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiConnectButton = class WuiConnectButton extends LitElement {\n constructor() {\n super(...arguments);\n this.size = 'md';\n this.loading = false;\n }\n render() {\n const textVariant = this.size === 'md' ? 'paragraph-600' : 'small-600';\n return html `\n \n `;\n }\n loadingTemplate() {\n if (!this.loading) {\n return null;\n }\n return html ``;\n }\n};\nWuiConnectButton.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiConnectButton.prototype, \"size\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiConnectButton.prototype, \"loading\", void 0);\nWuiConnectButton = __decorate([\n customElement('wui-connect-button')\n], WuiConnectButton);\nexport { WuiConnectButton };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-flex {\n width: 100%;\n background-color: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-xs);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-text/index.js';\nimport '../../composites/wui-button/index.js';\nimport '../../layout/wui-flex/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiCtaButton = class WuiCtaButton extends LitElement {\n constructor() {\n super(...arguments);\n this.disabled = false;\n this.label = '';\n this.buttonLabel = '';\n }\n render() {\n return html `\n \n ${this.label}\n \n ${this.buttonLabel}\n \n \n \n `;\n }\n};\nWuiCtaButton.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property({ type: Boolean })\n], WuiCtaButton.prototype, \"disabled\", void 0);\n__decorate([\n property()\n], WuiCtaButton.prototype, \"label\", void 0);\n__decorate([\n property()\n], WuiCtaButton.prototype, \"buttonLabel\", void 0);\nWuiCtaButton = __decorate([\n customElement('wui-cta-button')\n], WuiCtaButton);\nexport { WuiCtaButton };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n padding: var(--wui-spacing-l) var(--wui-spacing-m);\n background-color: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-xs);\n width: 100%;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport '../../layout/wui-flex/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiDetailsGroup = class WuiDetailsGroup extends LitElement {\n render() {\n return html `\n \n \n \n `;\n }\n};\nWuiDetailsGroup.styles = [resetStyles, elementStyles, styles];\nWuiDetailsGroup = __decorate([\n customElement('wui-details-group')\n], WuiDetailsGroup);\nexport { WuiDetailsGroup };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: flex;\n flex-direction: row;\n gap: var(--wui-spacing-l);\n width: 100%;\n border-radius: var(--wui-border-radius-xs);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../layout/wui-flex/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiDetailsGroupItem = class WuiDetailsGroupItem extends LitElement {\n constructor() {\n super(...arguments);\n this.name = '';\n }\n render() {\n return html `\n \n ${this.name}\n \n \n \n \n `;\n }\n};\nWuiDetailsGroupItem.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiDetailsGroupItem.prototype, \"name\", void 0);\nWuiDetailsGroupItem = __decorate([\n customElement('wui-details-group-item')\n], WuiDetailsGroupItem);\nexport { WuiDetailsGroupItem };\n//# sourceMappingURL=index.js.map","import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:t}=o,i=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,n={HTML:1,SVG:2},e=(o,t)=>void 0===t?void 0!==o?._$litType$:o?._$litType$===t,l=o=>null!=o?._$litType$?.h,c=o=>void 0!==o?._$litDirective$,d=o=>o?._$litDirective$,f=o=>void 0===o.strings,s=()=>document.createComment(\"\"),r=(o,i,n)=>{const e=o._$AA.parentNode,l=void 0===i?o._$AB:i._$AA;if(void 0===n){const i=e.insertBefore(s(),l),c=e.insertBefore(s(),l);n=new t(i,c,o,o.options)}else{const t=n._$AB.nextSibling,i=n._$AM,c=i!==o;if(c){let t;n._$AQ?.(o),n._$AM=o,void 0!==n._$AP&&(t=o._$AU)!==i._$AU&&n._$AP(t)}if(t!==l||c){let o=n._$AA;for(;o!==t;){const t=o.nextSibling;e.insertBefore(o,l),o=t}}}return n},v=(o,t,i=o)=>(o._$AI(t,i),o),u={},m=(o,t=u)=>o._$AH=t,p=o=>o._$AH,h=o=>{o._$AP?.(!1,!0);let t=o._$AA;const i=o._$AB.nextSibling;for(;t!==i;){const o=t.nextSibling;t.remove(),t=o}},j=o=>{o._$AR()};export{n as TemplateResultType,j as clearPart,p as getCommittedValue,d as getDirectiveClass,r as insertPart,l as isCompiledTemplateResult,c as isDirectiveResult,i as isPrimitive,f as isSingleExpression,e as isTemplateResult,h as removePart,v as setChildPartValue,m as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","import{isSingleExpression as i}from\"./directive-helpers.js\";import{Directive as t,PartType as e}from\"./directive.js\";export{directive}from\"./directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=(i,t)=>{const e=i._$AN;if(void 0===e)return!1;for(const i of e)i._$AO?.(t,!1),s(i,t);return!0},o=i=>{let t,e;do{if(void 0===(t=i._$AM))break;e=t._$AN,e.delete(i),i=t}while(0===e?.size)},r=i=>{for(let t;t=i._$AM;i=t){let e=t._$AN;if(void 0===e)t._$AN=e=new Set;else if(e.has(i))break;e.add(i),c(t)}};function h(i){void 0!==this._$AN?(o(this),this._$AM=i,r(this)):this._$AM=i}function n(i,t=!1,e=0){const r=this._$AH,h=this._$AN;if(void 0!==h&&0!==h.size)if(t)if(Array.isArray(r))for(let i=e;i{i.type==e.CHILD&&(i._$AP??=n,i._$AQ??=h)};class f extends t{constructor(){super(...arguments),this._$AN=void 0}_$AT(i,t,e){super._$AT(i,t,e),r(this),this.isConnected=i._$AU}_$AO(i,t=!0){i!==this.isConnected&&(this.isConnected=i,i?this.reconnected?.():this.disconnected?.()),t&&(s(this,i),o(this))}setValue(t){if(i(this._$Ct))this._$Ct._$AI(t,this);else{const i=[...this._$Ct._$AH];i[this._$Ci]=t,this._$Ct._$AI(i,this,0)}}disconnected(){}reconnected(){}}export{f as AsyncDirective,t as Directive,e as PartType};\n//# sourceMappingURL=async-directive.js.map\n","import{nothing as t}from\"../lit-html.js\";import{AsyncDirective as i}from\"../async-directive.js\";import{directive as s}from\"../directive.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=()=>new h;class h{}const o=new WeakMap,n=s(class extends i{render(i){return t}update(i,[s]){const e=s!==this.Y;return e&&void 0!==this.Y&&this.rt(void 0),(e||this.lt!==this.ct)&&(this.Y=s,this.ht=i.options?.host,this.rt(this.ct=i.element)),t}rt(t){if(\"function\"==typeof this.Y){const i=this.ht??globalThis;let s=o.get(i);void 0===s&&(s=new WeakMap,o.set(i,s)),void 0!==s.get(this.Y)&&this.Y.call(this.ht,void 0),s.set(this.Y,t),void 0!==t&&this.Y.call(this.ht,t)}else this.Y.value=t}get lt(){return\"function\"==typeof this.Y?o.get(this.ht??globalThis)?.get(this.Y):this.Y?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});export{e as createRef,n as ref};\n//# sourceMappingURL=ref.js.map\n","import { css } from 'lit';\nexport default css `\n :host {\n position: relative;\n width: 100%;\n display: inline-block;\n color: var(--wui-color-fg-275);\n }\n\n input {\n width: 100%;\n border-radius: var(--wui-border-radius-xs);\n border: 1px solid var(--wui-gray-glass-005);\n background: var(--wui-gray-glass-005);\n font-size: var(--wui-font-size-paragraph);\n font-weight: var(--wui-font-weight-light);\n letter-spacing: var(--wui-letter-spacing-paragraph);\n color: var(--wui-color-fg-100);\n transition:\n background-color var(--wui-ease-inout-power-1) var(--wui-duration-md),\n border-color var(--wui-ease-inout-power-1) var(--wui-duration-md),\n box-shadow var(--wui-ease-inout-power-1) var(--wui-duration-md);\n will-change: background-color, border-color, box-shadow;\n caret-color: var(--wui-color-accent-100);\n }\n\n input:disabled {\n cursor: not-allowed;\n border: 1px solid var(--wui-gray-glass-010);\n }\n\n input:disabled::placeholder,\n input:disabled + wui-icon {\n color: var(--wui-color-fg-300);\n }\n\n input::placeholder {\n color: var(--wui-color-fg-275);\n }\n\n input:focus:enabled {\n background-color: var(--wui-gray-glass-010);\n border: 1px solid var(--wui-color-accent-100);\n -webkit-box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n -moz-box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n }\n\n input:hover:enabled {\n background-color: var(--wui-gray-glass-010);\n }\n\n wui-icon {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n pointer-events: none;\n }\n\n .wui-size-sm {\n padding: 9px var(--wui-spacing-m) 10px var(--wui-spacing-s);\n }\n\n wui-icon + .wui-size-sm {\n padding: 9px var(--wui-spacing-m) 10px 36px;\n }\n\n wui-icon[data-input='sm'] {\n left: var(--wui-spacing-s);\n }\n\n .wui-size-md {\n padding: 15px var(--wui-spacing-m) var(--wui-spacing-l) var(--wui-spacing-m);\n }\n\n wui-icon + .wui-size-md,\n wui-loading-spinner + .wui-size-md {\n padding: 10.5px var(--wui-spacing-3xl) 10.5px 40px;\n }\n\n wui-icon[data-input='md'] {\n left: var(--wui-spacing-l);\n }\n\n .wui-size-lg {\n padding: var(--wui-spacing-s) var(--wui-spacing-s) var(--wui-spacing-s) var(--wui-spacing-l);\n letter-spacing: var(--wui-letter-spacing-medium-title);\n font-size: var(--wui-font-size-medium-title);\n font-weight: var(--wui-font-weight-light);\n line-height: 130%;\n color: var(--wui-color-fg-100);\n height: 64px;\n }\n\n wui-icon + .wui-size-lg,\n wui-loading-spinner + .wui-size-lg {\n padding-left: 50px;\n }\n\n wui-icon[data-input='lg'] {\n left: var(--wui-spacing-l);\n }\n\n input:placeholder-shown ~ ::slotted(wui-input-element),\n input:placeholder-shown ~ ::slotted(wui-icon) {\n opacity: 0;\n pointer-events: none;\n }\n\n input::-webkit-outer-spin-button,\n input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n input[type='number'] {\n -moz-appearance: textfield;\n }\n\n ::slotted(wui-input-element),\n ::slotted(wui-icon) {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n }\n\n ::slotted(wui-input-element) {\n right: var(--wui-spacing-m);\n }\n\n ::slotted(wui-icon) {\n right: 0px;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { createRef, ref } from 'lit/directives/ref.js';\nimport '../../components/wui-icon/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiInputText = class WuiInputText extends LitElement {\n constructor() {\n super(...arguments);\n this.inputElementRef = createRef();\n this.size = 'md';\n this.disabled = false;\n this.placeholder = '';\n this.type = 'text';\n this.value = '';\n }\n render() {\n const sizeClass = `wui-size-${this.size}`;\n return html ` ${this.templateIcon()}\n \n `;\n }\n templateIcon() {\n if (this.icon) {\n return html ``;\n }\n return null;\n }\n dispatchInputChangeEvent() {\n this.dispatchEvent(new CustomEvent('inputChange', {\n detail: this.inputElementRef.value?.value,\n bubbles: true,\n composed: true\n }));\n }\n};\nWuiInputText.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiInputText.prototype, \"size\", void 0);\n__decorate([\n property()\n], WuiInputText.prototype, \"icon\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiInputText.prototype, \"disabled\", void 0);\n__decorate([\n property()\n], WuiInputText.prototype, \"placeholder\", void 0);\n__decorate([\n property()\n], WuiInputText.prototype, \"type\", void 0);\n__decorate([\n property()\n], WuiInputText.prototype, \"keyHint\", void 0);\n__decorate([\n property()\n], WuiInputText.prototype, \"value\", void 0);\nWuiInputText = __decorate([\n customElement('wui-input-text')\n], WuiInputText);\nexport { WuiInputText };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n position: relative;\n display: inline-block;\n }\n\n wui-text {\n margin: var(--wui-spacing-xxs) var(--wui-spacing-m) var(--wui-spacing-0) var(--wui-spacing-m);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-text/index.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../wui-input-text/index.js';\nimport styles from './styles.js';\nlet WuiEmailInput = class WuiEmailInput extends LitElement {\n constructor() {\n super(...arguments);\n this.disabled = false;\n }\n render() {\n return html `\n \n ${this.templateError()}\n `;\n }\n templateError() {\n if (this.errorMessage) {\n return html `${this.errorMessage}`;\n }\n return null;\n }\n};\nWuiEmailInput.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiEmailInput.prototype, \"errorMessage\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiEmailInput.prototype, \"disabled\", void 0);\n__decorate([\n property()\n], WuiEmailInput.prototype, \"value\", void 0);\nWuiEmailInput = __decorate([\n customElement('wui-email-input')\n], WuiEmailInput);\nexport { WuiEmailInput };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n border-radius: var(--local-border-radius);\n color: var(--wui-color-fg-100);\n padding: var(--local-padding);\n }\n\n @media (max-width: 700px) {\n button {\n padding: var(--wui-spacing-s);\n }\n }\n\n button > wui-icon {\n pointer-events: none;\n }\n\n button:disabled > wui-icon {\n color: var(--wui-color-bg-300) !important;\n }\n\n button:disabled {\n background-color: transparent;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport { colorStyles, elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiIconLink = class WuiIconLink extends LitElement {\n constructor() {\n super(...arguments);\n this.size = 'md';\n this.disabled = false;\n this.icon = 'copy';\n this.iconColor = 'inherit';\n }\n render() {\n const borderRadius = this.size === 'lg' ? '--wui-border-radius-xs' : '--wui-border-radius-xxs';\n const padding = this.size === 'lg' ? '--wui-spacing-1xs' : '--wui-spacing-2xs';\n this.style.cssText = `\n --local-border-radius: var(${borderRadius});\n --local-padding: var(${padding});\n`;\n return html `\n \n `;\n }\n};\nWuiIconLink.styles = [resetStyles, elementStyles, colorStyles, styles];\n__decorate([\n property()\n], WuiIconLink.prototype, \"size\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiIconLink.prototype, \"disabled\", void 0);\n__decorate([\n property()\n], WuiIconLink.prototype, \"icon\", void 0);\n__decorate([\n property()\n], WuiIconLink.prototype, \"iconColor\", void 0);\nWuiIconLink = __decorate([\n customElement('wui-icon-link')\n], WuiIconLink);\nexport { WuiIconLink };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n background-color: var(--wui-color-fg-300);\n border-radius: var(--wui-border-radius-4xs);\n width: 16px;\n height: 16px;\n }\n\n button:disabled {\n background-color: var(--wui-color-bg-300);\n }\n\n wui-icon {\n color: var(--wui-color-bg-200) !important;\n }\n\n button:focus-visible {\n background-color: var(--wui-color-fg-250);\n border: 1px solid var(--wui-color-accent-100);\n }\n\n button:active:enabled {\n background-color: var(--wui-color-fg-225);\n }\n\n @media (hover: hover) and (pointer: fine) {\n button:hover:enabled {\n background-color: var(--wui-color-fg-250);\n }\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiInputElement = class WuiInputElement extends LitElement {\n constructor() {\n super(...arguments);\n this.icon = 'copy';\n }\n render() {\n return html `\n \n `;\n }\n};\nWuiInputElement.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiInputElement.prototype, \"icon\", void 0);\nWuiInputElement = __decorate([\n customElement('wui-input-element')\n], WuiInputElement);\nexport { WuiInputElement };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n position: relative;\n display: inline-block;\n }\n\n input {\n width: 50px;\n height: 50px;\n background: var(--wui-gray-glass-010);\n border-radius: var(--wui-border-radius-xs);\n border: 1px solid var(--wui-gray-glass-005);\n font-family: var(--wui-font-family);\n font-size: var(--wui-font-size-large);\n font-weight: var(--wui-font-weight-regular);\n letter-spacing: var(--wui-letter-spacing-large);\n text-align: center;\n color: var(--wui-color-fg-100);\n caret-color: var(--wui-color-accent-100);\n transition:\n background-color var(--wui-ease-inout-power-1) var(--wui-duration-md),\n border-color var(--wui-ease-inout-power-1) var(--wui-duration-md),\n box-shadow var(--wui-ease-inout-power-1) var(--wui-duration-md);\n will-change: background-color, border-color, box-shadow;\n box-sizing: border-box;\n -webkit-appearance: none;\n -moz-appearance: textfield;\n padding: 0px;\n }\n\n input::-webkit-outer-spin-button,\n input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n input[type='number'] {\n -moz-appearance: textfield;\n }\n\n input:disabled {\n cursor: not-allowed;\n border: 1px solid var(--wui-gray-glass-010);\n background: var(--wui-gray-glass-005);\n }\n\n input:focus:enabled {\n background-color: var(--wui-gray-glass-015);\n border: 1px solid var(--wui-color-accent-100);\n -webkit-box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n -moz-box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n }\n\n @media (hover: hover) and (pointer: fine) {\n input:hover:enabled {\n background-color: var(--wui-gray-glass-015);\n }\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiInputNumeric = class WuiInputNumeric extends LitElement {\n constructor() {\n super(...arguments);\n this.disabled = false;\n this.value = '';\n }\n render() {\n return html ` `;\n }\n};\nWuiInputNumeric.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property({ type: Boolean })\n], WuiInputNumeric.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: String })\n], WuiInputNumeric.prototype, \"value\", void 0);\nWuiInputNumeric = __decorate([\n customElement('wui-input-numeric')\n], WuiInputNumeric);\nexport { WuiInputNumeric };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n padding: var(--wui-spacing-4xs) var(--wui-spacing-xxs);\n border-radius: var(--wui-border-radius-3xs);\n background-color: transparent;\n color: var(--wui-color-accent-100);\n }\n\n button:disabled {\n background-color: transparent;\n color: var(--wui-gray-glass-015);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-text/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiLink = class WuiLink extends LitElement {\n constructor() {\n super(...arguments);\n this.disabled = false;\n this.color = 'inherit';\n }\n render() {\n return html `\n \n `;\n }\n};\nWuiLink.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property({ type: Boolean })\n], WuiLink.prototype, \"disabled\", void 0);\n__decorate([\n property()\n], WuiLink.prototype, \"color\", void 0);\nWuiLink = __decorate([\n customElement('wui-link')\n], WuiLink);\nexport { WuiLink };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n column-gap: var(--wui-spacing-s);\n padding: 11px 18px 11px var(--wui-spacing-s);\n width: 100%;\n background-color: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-xs);\n color: var(--wui-color-fg-250);\n transition:\n color var(--wui-ease-out-power-1) var(--wui-duration-md),\n background-color var(--wui-ease-out-power-1) var(--wui-duration-md);\n will-change: color, background-color;\n }\n\n button[data-iconvariant='square'],\n button[data-iconvariant='square-blue'] {\n padding: 6px 18px 6px 9px;\n }\n\n button > wui-flex {\n flex: 1;\n }\n\n button > wui-image {\n width: 32px;\n height: 32px;\n box-shadow: 0 0 0 2px var(--wui-gray-glass-005);\n border-radius: var(--wui-border-radius-3xl);\n }\n\n button > wui-icon {\n width: 36px;\n height: 36px;\n transition: opacity var(--wui-ease-out-power-1) var(--wui-duration-md);\n will-change: opacity;\n }\n\n button > wui-icon-box[data-variant='blue'] {\n box-shadow: 0 0 0 2px var(--wui-accent-glass-005);\n }\n\n button > wui-icon-box[data-variant='overlay'] {\n box-shadow: 0 0 0 2px var(--wui-gray-glass-005);\n }\n\n button > wui-icon-box[data-variant='square-blue'] {\n border-radius: var(--wui-border-radius-3xs);\n position: relative;\n border: none;\n width: 36px;\n height: 36px;\n }\n\n button > wui-icon-box[data-variant='square-blue']::after {\n content: '';\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n border-radius: inherit;\n border: 1px solid var(--wui-accent-glass-010);\n pointer-events: none;\n }\n\n button > wui-icon:last-child {\n width: 14px;\n height: 14px;\n }\n\n button:disabled {\n background-color: var(--wui-gray-glass-015);\n color: var(--wui-gray-glass-015);\n }\n\n button[data-loading='true'] > wui-icon {\n opacity: 0;\n }\n\n wui-loading-spinner {\n position: absolute;\n right: 18px;\n top: 50%;\n transform: translateY(-50%);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-image/index.js';\nimport '../../components/wui-loading-spinner/index.js';\nimport '../../components/wui-text/index.js';\nimport '../../layout/wui-flex/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../wui-icon-box/index.js';\nimport styles from './styles.js';\nlet WuiListItem = class WuiListItem extends LitElement {\n constructor() {\n super(...arguments);\n this.variant = 'icon';\n this.disabled = false;\n this.imageSrc = undefined;\n this.alt = undefined;\n this.chevron = false;\n this.loading = false;\n }\n render() {\n return html `\n \n ${this.loadingTemplate()} ${this.visualTemplate()}\n \n \n \n ${this.chevronTemplate()}\n \n `;\n }\n visualTemplate() {\n if (this.variant === 'image' && this.imageSrc) {\n return html ``;\n }\n if (this.iconVariant === 'square' && this.icon && this.variant === 'icon') {\n return html ``;\n }\n if (this.variant === 'icon' && this.icon && this.iconVariant) {\n const color = ['blue', 'square-blue'].includes(this.iconVariant) ? 'accent-100' : 'fg-200';\n const size = this.iconVariant === 'square-blue' ? 'mdl' : 'md';\n const iconSize = this.iconSize ? this.iconSize : size;\n return html `\n \n `;\n }\n return null;\n }\n loadingTemplate() {\n if (this.loading) {\n return html ``;\n }\n return html ``;\n }\n chevronTemplate() {\n if (this.chevron) {\n return html ``;\n }\n return null;\n }\n};\nWuiListItem.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiListItem.prototype, \"icon\", void 0);\n__decorate([\n property()\n], WuiListItem.prototype, \"iconSize\", void 0);\n__decorate([\n property()\n], WuiListItem.prototype, \"variant\", void 0);\n__decorate([\n property()\n], WuiListItem.prototype, \"iconVariant\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiListItem.prototype, \"disabled\", void 0);\n__decorate([\n property()\n], WuiListItem.prototype, \"imageSrc\", void 0);\n__decorate([\n property()\n], WuiListItem.prototype, \"alt\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiListItem.prototype, \"chevron\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiListItem.prototype, \"loading\", void 0);\nWuiListItem = __decorate([\n customElement('wui-list-item')\n], WuiListItem);\nexport { WuiListItem };\n//# sourceMappingURL=index.js.map","export var TransactionTypePastTense;\n(function (TransactionTypePastTense) {\n TransactionTypePastTense[\"approve\"] = \"approved\";\n TransactionTypePastTense[\"bought\"] = \"bought\";\n TransactionTypePastTense[\"borrow\"] = \"borrowed\";\n TransactionTypePastTense[\"burn\"] = \"burnt\";\n TransactionTypePastTense[\"cancel\"] = \"canceled\";\n TransactionTypePastTense[\"claim\"] = \"claimed\";\n TransactionTypePastTense[\"deploy\"] = \"deployed\";\n TransactionTypePastTense[\"deposit\"] = \"deposited\";\n TransactionTypePastTense[\"execute\"] = \"executed\";\n TransactionTypePastTense[\"mint\"] = \"minted\";\n TransactionTypePastTense[\"receive\"] = \"received\";\n TransactionTypePastTense[\"repay\"] = \"repaid\";\n TransactionTypePastTense[\"send\"] = \"sent\";\n TransactionTypePastTense[\"sell\"] = \"sold\";\n TransactionTypePastTense[\"stake\"] = \"staked\";\n TransactionTypePastTense[\"trade\"] = \"swapped\";\n TransactionTypePastTense[\"unstake\"] = \"unstaked\";\n TransactionTypePastTense[\"withdraw\"] = \"withdrawn\";\n})(TransactionTypePastTense || (TransactionTypePastTense = {}));\n//# sourceMappingURL=TypeUtil.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-flex {\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n width: 40px;\n height: 40px;\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-005);\n background-color: var(--wui-gray-glass-005);\n }\n\n :host > wui-flex wui-image {\n display: block;\n }\n\n :host > wui-flex,\n :host > wui-flex wui-image,\n .swap-images-container,\n .swap-images-container.nft,\n wui-image.nft {\n border-top-left-radius: var(--local-left-border-radius);\n border-top-right-radius: var(--local-right-border-radius);\n border-bottom-left-radius: var(--local-left-border-radius);\n border-bottom-right-radius: var(--local-right-border-radius);\n }\n\n wui-icon {\n width: 20px;\n height: 20px;\n }\n\n wui-icon-box {\n position: absolute;\n right: 0;\n bottom: 0;\n transform: translate(20%, 20%);\n }\n\n .swap-images-container {\n position: relative;\n width: 40px;\n height: 40px;\n overflow: hidden;\n }\n\n .swap-images-container wui-image:first-child {\n position: absolute;\n width: 40px;\n height: 40px;\n top: 0;\n left: 0%;\n clip-path: inset(0px calc(50% + 2px) 0px 0%);\n }\n\n .swap-images-container wui-image:last-child {\n clip-path: inset(0px 0px 0px calc(50% + 2px));\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../../components/wui-image/index.js';\nimport '../wui-icon-box/index.js';\nimport styles from './styles.js';\nlet WuiTransactionVisual = class WuiTransactionVisual extends LitElement {\n constructor() {\n super(...arguments);\n this.images = [];\n this.secondImage = {\n type: undefined,\n url: ''\n };\n }\n render() {\n const [firstImage, secondImage] = this.images;\n const isLeftNFT = firstImage?.type === 'NFT';\n const isRightNFT = secondImage?.url ? secondImage.type === 'NFT' : isLeftNFT;\n const leftRadius = isLeftNFT ? 'var(--wui-border-radius-xxs)' : 'var(--wui-border-radius-s)';\n const rightRadius = isRightNFT ? 'var(--wui-border-radius-xxs)' : 'var(--wui-border-radius-s)';\n this.style.cssText = `\n --local-left-border-radius: ${leftRadius};\n --local-right-border-radius: ${rightRadius};\n `;\n return html ` ${this.templateVisual()} ${this.templateIcon()} `;\n }\n templateVisual() {\n const [firstImage, secondImage] = this.images;\n const firstImageType = firstImage?.type;\n const haveTwoImages = this.images.length === 2;\n if (haveTwoImages && (firstImage?.url || secondImage?.url)) {\n return html `
\n ${firstImage?.url\n ? html ``\n : null}\n ${secondImage?.url\n ? html ``\n : null}\n
`;\n }\n else if (firstImage?.url) {\n return html ``;\n }\n else if (firstImageType === 'NFT') {\n return html ``;\n }\n return html ``;\n }\n templateIcon() {\n let color = 'accent-100';\n let icon = undefined;\n icon = this.getIcon();\n if (this.status) {\n color = this.getStatusColor();\n }\n if (!icon) {\n return null;\n }\n return html `\n \n `;\n }\n getDirectionIcon() {\n switch (this.direction) {\n case 'in':\n return 'arrowBottom';\n case 'out':\n return 'arrowTop';\n default:\n return undefined;\n }\n }\n getIcon() {\n if (this.onlyDirectionIcon) {\n return this.getDirectionIcon();\n }\n if (this.type === 'trade') {\n return 'swapHorizontalBold';\n }\n else if (this.type === 'approve') {\n return 'checkmark';\n }\n else if (this.type === 'cancel') {\n return 'close';\n }\n return this.getDirectionIcon();\n }\n getStatusColor() {\n switch (this.status) {\n case 'confirmed':\n return 'success-100';\n case 'failed':\n return 'error-100';\n case 'pending':\n return 'inverse-100';\n default:\n return 'accent-100';\n }\n }\n};\nWuiTransactionVisual.styles = [styles];\n__decorate([\n property()\n], WuiTransactionVisual.prototype, \"type\", void 0);\n__decorate([\n property()\n], WuiTransactionVisual.prototype, \"status\", void 0);\n__decorate([\n property()\n], WuiTransactionVisual.prototype, \"direction\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiTransactionVisual.prototype, \"onlyDirectionIcon\", void 0);\n__decorate([\n property({ type: Array })\n], WuiTransactionVisual.prototype, \"images\", void 0);\n__decorate([\n property({ type: Object })\n], WuiTransactionVisual.prototype, \"secondImage\", void 0);\nWuiTransactionVisual = __decorate([\n customElement('wui-transaction-visual')\n], WuiTransactionVisual);\nexport { WuiTransactionVisual };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-flex:first-child {\n align-items: center;\n column-gap: var(--wui-spacing-s);\n padding: 6.5px var(--wui-spacing-xs) 6.5px var(--wui-spacing-xs);\n width: 100%;\n }\n\n :host > wui-flex:first-child wui-text:nth-child(1) {\n text-transform: capitalize;\n }\n\n wui-transaction-visual {\n width: 40px;\n height: 40px;\n }\n\n wui-flex {\n flex: 1;\n }\n\n :host wui-flex wui-flex {\n overflow: hidden;\n }\n\n :host .description-container wui-text span {\n word-break: break-all;\n }\n\n :host .description-container wui-text {\n overflow: hidden;\n }\n\n :host .description-separator-icon {\n margin: 0px 6px;\n }\n\n :host wui-text > span {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport { TransactionTypePastTense } from '../../utils/TypeUtil.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport '../../components/wui-text/index.js';\nimport '../wui-transaction-visual/index.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nlet WuiTransactionListItem = class WuiTransactionListItem extends LitElement {\n constructor() {\n super(...arguments);\n this.type = 'approve';\n this.onlyDirectionIcon = false;\n this.images = [];\n this.price = [];\n this.amount = [];\n this.symbol = [];\n }\n render() {\n return html `\n \n \n \n \n ${TransactionTypePastTense[this.type] || this.type}\n \n \n ${this.templateDescription()} ${this.templateSecondDescription()}\n \n \n ${this.date}\n \n `;\n }\n templateDescription() {\n const description = this.descriptions?.[0];\n return description\n ? html `\n \n ${description}\n \n `\n : null;\n }\n templateSecondDescription() {\n const description = this.descriptions?.[1];\n return description\n ? html `\n \n \n ${description}\n \n `\n : null;\n }\n};\nWuiTransactionListItem.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiTransactionListItem.prototype, \"type\", void 0);\n__decorate([\n property({ type: Array })\n], WuiTransactionListItem.prototype, \"descriptions\", void 0);\n__decorate([\n property()\n], WuiTransactionListItem.prototype, \"date\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiTransactionListItem.prototype, \"onlyDirectionIcon\", void 0);\n__decorate([\n property()\n], WuiTransactionListItem.prototype, \"status\", void 0);\n__decorate([\n property()\n], WuiTransactionListItem.prototype, \"direction\", void 0);\n__decorate([\n property({ type: Array })\n], WuiTransactionListItem.prototype, \"images\", void 0);\n__decorate([\n property({ type: Array })\n], WuiTransactionListItem.prototype, \"price\", void 0);\n__decorate([\n property({ type: Array })\n], WuiTransactionListItem.prototype, \"amount\", void 0);\n__decorate([\n property({ type: Array })\n], WuiTransactionListItem.prototype, \"symbol\", void 0);\nWuiTransactionListItem = __decorate([\n customElement('wui-transaction-list-item')\n], WuiTransactionListItem);\nexport { WuiTransactionListItem };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-flex:first-child {\n column-gap: var(--wui-spacing-s);\n padding: 7px var(--wui-spacing-l) 7px var(--wui-spacing-xs);\n width: 100%;\n }\n\n wui-flex {\n display: flex;\n flex: 1;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport '../../components/wui-text/index.js';\nimport '../wui-transaction-visual/index.js';\nimport styles from './styles.js';\nlet WuiTransactionListItemLoader = class WuiTransactionListItemLoader extends LitElement {\n render() {\n return html `\n \n \n \n \n \n \n \n \n `;\n }\n};\nWuiTransactionListItemLoader.styles = [resetStyles, styles];\nWuiTransactionListItemLoader = __decorate([\n customElement('wui-transaction-list-item-loader')\n], WuiTransactionListItemLoader);\nexport { WuiTransactionListItemLoader };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: flex;\n justify-content: center;\n align-items: center;\n height: var(--wui-spacing-m);\n padding: 0 var(--wui-spacing-3xs) !important;\n border-radius: var(--wui-border-radius-5xs);\n }\n\n :host > wui-text {\n transform: translateY(5%);\n }\n\n :host([data-variant='main']) {\n background-color: var(--wui-accent-glass-015);\n color: var(--wui-color-accent-100);\n }\n\n :host([data-variant='shade']) {\n background-color: var(--wui-gray-glass-010);\n color: var(--wui-color-fg-200);\n }\n\n :host([data-variant='success']) {\n background-color: var(--wui-icon-box-bg-success-100);\n color: var(--wui-color-success-100);\n }\n\n :host([data-variant='error']) {\n background-color: var(--wui-icon-box-bg-error-100);\n color: var(--wui-color-error-100);\n }\n\n :host([data-size='lg']) {\n padding: 9px 5px !important;\n }\n\n :host([data-size='lg']) > wui-text {\n transform: translateY(2%);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-text/index.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiTag = class WuiTag extends LitElement {\n constructor() {\n super(...arguments);\n this.variant = 'main';\n this.size = 'lg';\n }\n render() {\n this.dataset['variant'] = this.variant;\n this.dataset['size'] = this.size;\n const textVariant = this.size === 'md' ? 'mini-700' : 'micro-700';\n return html `\n \n \n \n `;\n }\n};\nWuiTag.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiTag.prototype, \"variant\", void 0);\n__decorate([\n property()\n], WuiTag.prototype, \"size\", void 0);\nWuiTag = __decorate([\n customElement('wui-tag')\n], WuiTag);\nexport { WuiTag };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n column-gap: var(--wui-spacing-s);\n padding: 7px var(--wui-spacing-l) 7px var(--wui-spacing-xs);\n width: 100%;\n background-color: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-xs);\n color: var(--wui-color-fg-100);\n }\n\n button > wui-text:nth-child(2) {\n display: flex;\n flex: 1;\n }\n\n wui-icon {\n color: var(--wui-color-fg-200) !important;\n }\n\n button:disabled {\n background-color: var(--wui-gray-glass-015);\n color: var(--wui-gray-glass-015);\n }\n\n button:disabled > wui-tag {\n background-color: var(--wui-gray-glass-010);\n color: var(--wui-color-fg-300);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../composites/wui-icon-box/index.js';\nimport '../../components/wui-text/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../wui-all-wallets-image/index.js';\nimport '../wui-tag/index.js';\nimport '../wui-wallet-image/index.js';\nimport styles from './styles.js';\nlet WuiListWallet = class WuiListWallet extends LitElement {\n constructor() {\n super(...arguments);\n this.walletImages = [];\n this.imageSrc = '';\n this.name = '';\n this.installed = false;\n this.disabled = false;\n this.showAllWallets = false;\n }\n render() {\n return html `\n \n `;\n }\n templateAllWallets() {\n if (this.showAllWallets && this.imageSrc) {\n return html ` `;\n }\n else if (this.showAllWallets && this.walletIcon) {\n return html ` `;\n }\n return null;\n }\n templateWalletImage() {\n if (!this.showAllWallets && this.imageSrc) {\n return html ``;\n }\n else if (!this.showAllWallets && !this.imageSrc) {\n return html ``;\n }\n return null;\n }\n templateStatus() {\n if (this.tagLabel && this.tagVariant) {\n return html `${this.tagLabel}`;\n }\n else if (this.icon) {\n return html ``;\n }\n return null;\n }\n};\nWuiListWallet.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property({ type: Array })\n], WuiListWallet.prototype, \"walletImages\", void 0);\n__decorate([\n property()\n], WuiListWallet.prototype, \"imageSrc\", void 0);\n__decorate([\n property()\n], WuiListWallet.prototype, \"name\", void 0);\n__decorate([\n property()\n], WuiListWallet.prototype, \"tagLabel\", void 0);\n__decorate([\n property()\n], WuiListWallet.prototype, \"tagVariant\", void 0);\n__decorate([\n property()\n], WuiListWallet.prototype, \"icon\", void 0);\n__decorate([\n property()\n], WuiListWallet.prototype, \"walletIcon\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiListWallet.prototype, \"installed\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiListWallet.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiListWallet.prototype, \"showAllWallets\", void 0);\nWuiListWallet = __decorate([\n customElement('wui-list-wallet')\n], WuiListWallet);\nexport { WuiListWallet };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n width: 40px;\n height: 40px;\n border-radius: var(--wui-border-radius-3xl);\n border: 1px solid var(--wui-gray-glass-010);\n overflow: hidden;\n }\n\n wui-icon {\n width: 100%;\n height: 100%;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiLogo = class WuiLogo extends LitElement {\n constructor() {\n super(...arguments);\n this.logo = 'google';\n }\n render() {\n return html ` `;\n }\n};\nWuiLogo.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiLogo.prototype, \"logo\", void 0);\nWuiLogo = __decorate([\n customElement('wui-logo')\n], WuiLogo);\nexport { WuiLogo };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n }\n\n button {\n width: 50px;\n height: 50px;\n background: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-xs);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../wui-logo/index.js';\nimport styles from './styles.js';\nlet WuiLogoSelect = class WuiLogoSelect extends LitElement {\n constructor() {\n super(...arguments);\n this.logo = 'google';\n this.disabled = false;\n }\n render() {\n return html `\n \n `;\n }\n};\nWuiLogoSelect.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiLogoSelect.prototype, \"logo\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiLogoSelect.prototype, \"disabled\", void 0);\nWuiLogoSelect = __decorate([\n customElement('wui-logo-select')\n], WuiLogoSelect);\nexport { WuiLogoSelect };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n }\n\n button {\n border-radius: var(--wui-border-radius-3xl);\n display: flex;\n gap: var(--wui-spacing-xs);\n padding: var(--wui-spacing-2xs) var(--wui-spacing-s) var(--wui-spacing-2xs)\n var(--wui-spacing-xs);\n border: 1px solid var(--wui-gray-glass-010);\n background-color: var(--wui-gray-glass-005);\n color: var(--wui-color-fg-100);\n }\n\n button:disabled {\n border: 1px solid var(--wui-gray-glass-005);\n background-color: var(--wui-gray-glass-015);\n color: var(--wui-gray-glass-015);\n }\n\n @media (hover: hover) and (pointer: fine) {\n button:hover:enabled {\n background-color: var(--wui-gray-glass-010);\n }\n\n button:active:enabled {\n background-color: var(--wui-gray-glass-015);\n }\n }\n\n wui-image,\n wui-icon-box {\n border-radius: var(--wui-border-radius-3xl);\n width: 24px;\n height: 24px;\n box-shadow: 0 0 0 2px var(--wui-gray-glass-005);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-image/index.js';\nimport '../../components/wui-text/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../wui-icon-box/index.js';\nimport styles from './styles.js';\nlet WuiNetworkButton = class WuiNetworkButton extends LitElement {\n constructor() {\n super(...arguments);\n this.imageSrc = undefined;\n this.isUnsupportedChain = undefined;\n this.disabled = false;\n }\n render() {\n return html `\n \n `;\n }\n visualTemplate() {\n if (this.isUnsupportedChain) {\n return html `\n \n `;\n }\n if (this.imageSrc) {\n return html ``;\n }\n return html `\n \n `;\n }\n};\nWuiNetworkButton.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiNetworkButton.prototype, \"imageSrc\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiNetworkButton.prototype, \"isUnsupportedChain\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiNetworkButton.prototype, \"disabled\", void 0);\nWuiNetworkButton = __decorate([\n customElement('wui-network-button')\n], WuiNetworkButton);\nexport { WuiNetworkButton };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n position: relative;\n display: block;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport '../../layout/wui-flex/index.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { UiHelperUtil } from '../../utils/UiHelperUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../wui-input-numeric/index.js';\nimport { WuiInputNumeric } from '../wui-input-numeric/index.js';\nimport styles from './styles.js';\nlet WuiOtp = class WuiOtp extends LitElement {\n constructor() {\n super(...arguments);\n this.length = 6;\n this.otp = '';\n this.values = Array.from({ length: this.length }).map(() => '');\n this.numerics = [];\n this.shouldInputBeEnabled = (index) => {\n const previousInputs = this.values.slice(0, index);\n return previousInputs.every(input => input !== '');\n };\n this.handleKeyDown = (e, index) => {\n const inputElement = e.target;\n const input = this.getInputElement(inputElement);\n const keyArr = ['ArrowLeft', 'ArrowRight', 'Shift', 'Delete'];\n if (!input) {\n return;\n }\n if (keyArr.includes(e.key)) {\n e.preventDefault();\n }\n const currentCaretPos = input.selectionStart;\n switch (e.key) {\n case 'ArrowLeft':\n if (currentCaretPos) {\n input.setSelectionRange(currentCaretPos + 1, currentCaretPos + 1);\n }\n this.focusInputField('prev', index);\n break;\n case 'ArrowRight':\n this.focusInputField('next', index);\n break;\n case 'Shift':\n this.focusInputField('next', index);\n break;\n case 'Delete':\n if (input.value === '') {\n this.focusInputField('prev', index);\n }\n else {\n this.updateInput(input, index, '');\n }\n break;\n case 'Backspace':\n if (input.value === '') {\n this.focusInputField('prev', index);\n }\n else {\n this.updateInput(input, index, '');\n }\n break;\n default:\n }\n };\n this.focusInputField = (dir, index) => {\n if (dir === 'next') {\n const nextIndex = index + 1;\n if (!this.shouldInputBeEnabled(nextIndex)) {\n return;\n }\n const numeric = this.numerics[nextIndex < this.length ? nextIndex : index];\n const input = numeric ? this.getInputElement(numeric) : undefined;\n if (input) {\n input.disabled = false;\n input.focus();\n }\n }\n if (dir === 'prev') {\n const nextIndex = index - 1;\n const numeric = this.numerics[nextIndex > -1 ? nextIndex : index];\n const input = numeric ? this.getInputElement(numeric) : undefined;\n if (input) {\n input.focus();\n }\n }\n };\n }\n firstUpdated() {\n if (this.otp) {\n this.values = this.otp.split('');\n }\n const numericElements = this.shadowRoot?.querySelectorAll('wui-input-numeric');\n if (numericElements) {\n this.numerics = Array.from(numericElements);\n }\n this.numerics[0]?.focus();\n }\n render() {\n return html `\n \n ${Array.from({ length: this.length }).map((_, index) => html `\n this.handleInput(e, index)}\n @click=${(e) => this.selectInput(e)}\n @keydown=${(e) => this.handleKeyDown(e, index)}\n .disabled=${!this.shouldInputBeEnabled(index)}\n .value=${this.values[index] || ''}\n >\n \n `)}\n \n `;\n }\n updateInput(element, index, value) {\n const numeric = this.numerics[index];\n const input = element || (numeric ? this.getInputElement(numeric) : undefined);\n if (input) {\n input.value = value;\n this.values = this.values.map((val, i) => (i === index ? value : val));\n }\n }\n selectInput(e) {\n const targetElement = e.target;\n if (targetElement) {\n const inputElement = this.getInputElement(targetElement);\n inputElement?.select();\n }\n }\n handleInput(e, index) {\n const inputElement = e.target;\n const input = this.getInputElement(inputElement);\n if (input) {\n const inputValue = input.value;\n if (e.inputType === 'insertFromPaste') {\n this.handlePaste(input, inputValue, index);\n }\n else {\n const isValid = UiHelperUtil.isNumber(inputValue);\n if (isValid && e.data) {\n this.updateInput(input, index, e.data);\n this.focusInputField('next', index);\n }\n else {\n this.updateInput(input, index, '');\n }\n }\n }\n this.dispatchInputChangeEvent();\n }\n handlePaste(input, inputValue, index) {\n const value = inputValue[0];\n const isValid = value && UiHelperUtil.isNumber(value);\n if (isValid) {\n this.updateInput(input, index, value);\n const inputString = inputValue.substring(1);\n if (index + 1 < this.length && inputString.length) {\n const nextNumeric = this.numerics[index + 1];\n const nextInput = nextNumeric ? this.getInputElement(nextNumeric) : undefined;\n if (nextInput) {\n this.handlePaste(nextInput, inputString, index + 1);\n }\n }\n else {\n this.focusInputField('next', index);\n }\n }\n else {\n this.updateInput(input, index, '');\n }\n }\n getInputElement(el) {\n if (el.shadowRoot?.querySelector('input')) {\n return el.shadowRoot.querySelector('input');\n }\n return null;\n }\n dispatchInputChangeEvent() {\n const value = this.values.join('');\n this.dispatchEvent(new CustomEvent('inputChange', {\n detail: value,\n bubbles: true,\n composed: true\n }));\n }\n};\nWuiOtp.styles = [resetStyles, styles];\n__decorate([\n property({ type: Number })\n], WuiOtp.prototype, \"length\", void 0);\n__decorate([\n property({ type: String })\n], WuiOtp.prototype, \"otp\", void 0);\n__decorate([\n state()\n], WuiOtp.prototype, \"values\", void 0);\nWuiOtp = __decorate([\n customElement('wui-otp')\n], WuiOtp);\nexport { WuiOtp };\n//# sourceMappingURL=index.js.map","// can-promise has a crash in some versions of react native that dont have\n// standard global objects\n// https://github.com/soldair/node-qrcode/issues/157\n\nmodule.exports = function () {\n return typeof Promise === 'function' && Promise.prototype && Promise.prototype.then\n}\n","let toSJISFunction\nconst CODEWORDS_COUNT = [\n 0, // Not used\n 26, 44, 70, 100, 134, 172, 196, 242, 292, 346,\n 404, 466, 532, 581, 655, 733, 815, 901, 991, 1085,\n 1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, 2185,\n 2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706\n]\n\n/**\n * Returns the QR Code size for the specified version\n *\n * @param {Number} version QR Code version\n * @return {Number} size of QR code\n */\nexports.getSymbolSize = function getSymbolSize (version) {\n if (!version) throw new Error('\"version\" cannot be null or undefined')\n if (version < 1 || version > 40) throw new Error('\"version\" should be in range from 1 to 40')\n return version * 4 + 17\n}\n\n/**\n * Returns the total number of codewords used to store data and EC information.\n *\n * @param {Number} version QR Code version\n * @return {Number} Data length in bits\n */\nexports.getSymbolTotalCodewords = function getSymbolTotalCodewords (version) {\n return CODEWORDS_COUNT[version]\n}\n\n/**\n * Encode data with Bose-Chaudhuri-Hocquenghem\n *\n * @param {Number} data Value to encode\n * @return {Number} Encoded value\n */\nexports.getBCHDigit = function (data) {\n let digit = 0\n\n while (data !== 0) {\n digit++\n data >>>= 1\n }\n\n return digit\n}\n\nexports.setToSJISFunction = function setToSJISFunction (f) {\n if (typeof f !== 'function') {\n throw new Error('\"toSJISFunc\" is not a valid function.')\n }\n\n toSJISFunction = f\n}\n\nexports.isKanjiModeEnabled = function () {\n return typeof toSJISFunction !== 'undefined'\n}\n\nexports.toSJIS = function toSJIS (kanji) {\n return toSJISFunction(kanji)\n}\n","exports.L = { bit: 1 }\nexports.M = { bit: 0 }\nexports.Q = { bit: 3 }\nexports.H = { bit: 2 }\n\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n const lcStr = string.toLowerCase()\n\n switch (lcStr) {\n case 'l':\n case 'low':\n return exports.L\n\n case 'm':\n case 'medium':\n return exports.M\n\n case 'q':\n case 'quartile':\n return exports.Q\n\n case 'h':\n case 'high':\n return exports.H\n\n default:\n throw new Error('Unknown EC Level: ' + string)\n }\n}\n\nexports.isValid = function isValid (level) {\n return level && typeof level.bit !== 'undefined' &&\n level.bit >= 0 && level.bit < 4\n}\n\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n}\n","function BitBuffer () {\n this.buffer = []\n this.length = 0\n}\n\nBitBuffer.prototype = {\n\n get: function (index) {\n const bufIndex = Math.floor(index / 8)\n return ((this.buffer[bufIndex] >>> (7 - index % 8)) & 1) === 1\n },\n\n put: function (num, length) {\n for (let i = 0; i < length; i++) {\n this.putBit(((num >>> (length - i - 1)) & 1) === 1)\n }\n },\n\n getLengthInBits: function () {\n return this.length\n },\n\n putBit: function (bit) {\n const bufIndex = Math.floor(this.length / 8)\n if (this.buffer.length <= bufIndex) {\n this.buffer.push(0)\n }\n\n if (bit) {\n this.buffer[bufIndex] |= (0x80 >>> (this.length % 8))\n }\n\n this.length++\n }\n}\n\nmodule.exports = BitBuffer\n","/**\n * Helper class to handle QR Code symbol modules\n *\n * @param {Number} size Symbol size\n */\nfunction BitMatrix (size) {\n if (!size || size < 1) {\n throw new Error('BitMatrix size must be defined and greater than 0')\n }\n\n this.size = size\n this.data = new Uint8Array(size * size)\n this.reservedBit = new Uint8Array(size * size)\n}\n\n/**\n * Set bit value at specified location\n * If reserved flag is set, this bit will be ignored during masking process\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n * @param {Boolean} reserved\n */\nBitMatrix.prototype.set = function (row, col, value, reserved) {\n const index = row * this.size + col\n this.data[index] = value\n if (reserved) this.reservedBit[index] = true\n}\n\n/**\n * Returns bit value at specified location\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.get = function (row, col) {\n return this.data[row * this.size + col]\n}\n\n/**\n * Applies xor operator at specified location\n * (used during masking process)\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n */\nBitMatrix.prototype.xor = function (row, col, value) {\n this.data[row * this.size + col] ^= value\n}\n\n/**\n * Check if bit at specified location is reserved\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.isReserved = function (row, col) {\n return this.reservedBit[row * this.size + col]\n}\n\nmodule.exports = BitMatrix\n","/**\n * Alignment pattern are fixed reference pattern in defined positions\n * in a matrix symbology, which enables the decode software to re-synchronise\n * the coordinate mapping of the image modules in the event of moderate amounts\n * of distortion of the image.\n *\n * Alignment patterns are present only in QR Code symbols of version 2 or larger\n * and their number depends on the symbol version.\n */\n\nconst getSymbolSize = require('./utils').getSymbolSize\n\n/**\n * Calculate the row/column coordinates of the center module of each alignment pattern\n * for the specified QR Code version.\n *\n * The alignment patterns are positioned symmetrically on either side of the diagonal\n * running from the top left corner of the symbol to the bottom right corner.\n *\n * Since positions are simmetrical only half of the coordinates are returned.\n * Each item of the array will represent in turn the x and y coordinate.\n * @see {@link getPositions}\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinate\n */\nexports.getRowColCoords = function getRowColCoords (version) {\n if (version === 1) return []\n\n const posCount = Math.floor(version / 7) + 2\n const size = getSymbolSize(version)\n const intervals = size === 145 ? 26 : Math.ceil((size - 13) / (2 * posCount - 2)) * 2\n const positions = [size - 7] // Last coord is always (size - 7)\n\n for (let i = 1; i < posCount - 1; i++) {\n positions[i] = positions[i - 1] - intervals\n }\n\n positions.push(6) // First coord is always 6\n\n return positions.reverse()\n}\n\n/**\n * Returns an array containing the positions of each alignment pattern.\n * Each array's element represent the center point of the pattern as (x, y) coordinates\n *\n * Coordinates are calculated expanding the row/column coordinates returned by {@link getRowColCoords}\n * and filtering out the items that overlaps with finder pattern\n *\n * @example\n * For a Version 7 symbol {@link getRowColCoords} returns values 6, 22 and 38.\n * The alignment patterns, therefore, are to be centered on (row, column)\n * positions (6,22), (22,6), (22,22), (22,38), (38,22), (38,38).\n * Note that the coordinates (6,6), (6,38), (38,6) are occupied by finder patterns\n * and are not therefore used for alignment patterns.\n *\n * let pos = getPositions(7)\n * // [[6,22], [22,6], [22,22], [22,38], [38,22], [38,38]]\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n const coords = []\n const pos = exports.getRowColCoords(version)\n const posLength = pos.length\n\n for (let i = 0; i < posLength; i++) {\n for (let j = 0; j < posLength; j++) {\n // Skip if position is occupied by finder patterns\n if ((i === 0 && j === 0) || // top-left\n (i === 0 && j === posLength - 1) || // bottom-left\n (i === posLength - 1 && j === 0)) { // top-right\n continue\n }\n\n coords.push([pos[i], pos[j]])\n }\n }\n\n return coords\n}\n","const getSymbolSize = require('./utils').getSymbolSize\nconst FINDER_PATTERN_SIZE = 7\n\n/**\n * Returns an array containing the positions of each finder pattern.\n * Each array's element represent the top-left point of the pattern as (x, y) coordinates\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n const size = getSymbolSize(version)\n\n return [\n // top-left\n [0, 0],\n // top-right\n [size - FINDER_PATTERN_SIZE, 0],\n // bottom-left\n [0, size - FINDER_PATTERN_SIZE]\n ]\n}\n","/**\n * Data mask pattern reference\n * @type {Object}\n */\nexports.Patterns = {\n PATTERN000: 0,\n PATTERN001: 1,\n PATTERN010: 2,\n PATTERN011: 3,\n PATTERN100: 4,\n PATTERN101: 5,\n PATTERN110: 6,\n PATTERN111: 7\n}\n\n/**\n * Weighted penalty scores for the undesirable features\n * @type {Object}\n */\nconst PenaltyScores = {\n N1: 3,\n N2: 3,\n N3: 40,\n N4: 10\n}\n\n/**\n * Check if mask pattern value is valid\n *\n * @param {Number} mask Mask pattern\n * @return {Boolean} true if valid, false otherwise\n */\nexports.isValid = function isValid (mask) {\n return mask != null && mask !== '' && !isNaN(mask) && mask >= 0 && mask <= 7\n}\n\n/**\n * Returns mask pattern from a value.\n * If value is not valid, returns undefined\n *\n * @param {Number|String} value Mask pattern value\n * @return {Number} Valid mask pattern or undefined\n */\nexports.from = function from (value) {\n return exports.isValid(value) ? parseInt(value, 10) : undefined\n}\n\n/**\n* Find adjacent modules in row/column with the same color\n* and assign a penalty value.\n*\n* Points: N1 + i\n* i is the amount by which the number of adjacent modules of the same color exceeds 5\n*/\nexports.getPenaltyN1 = function getPenaltyN1 (data) {\n const size = data.size\n let points = 0\n let sameCountCol = 0\n let sameCountRow = 0\n let lastCol = null\n let lastRow = null\n\n for (let row = 0; row < size; row++) {\n sameCountCol = sameCountRow = 0\n lastCol = lastRow = null\n\n for (let col = 0; col < size; col++) {\n let module = data.get(row, col)\n if (module === lastCol) {\n sameCountCol++\n } else {\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)\n lastCol = module\n sameCountCol = 1\n }\n\n module = data.get(col, row)\n if (module === lastRow) {\n sameCountRow++\n } else {\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)\n lastRow = module\n sameCountRow = 1\n }\n }\n\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)\n }\n\n return points\n}\n\n/**\n * Find 2x2 blocks with the same color and assign a penalty value\n *\n * Points: N2 * (m - 1) * (n - 1)\n */\nexports.getPenaltyN2 = function getPenaltyN2 (data) {\n const size = data.size\n let points = 0\n\n for (let row = 0; row < size - 1; row++) {\n for (let col = 0; col < size - 1; col++) {\n const last = data.get(row, col) +\n data.get(row, col + 1) +\n data.get(row + 1, col) +\n data.get(row + 1, col + 1)\n\n if (last === 4 || last === 0) points++\n }\n }\n\n return points * PenaltyScores.N2\n}\n\n/**\n * Find 1:1:3:1:1 ratio (dark:light:dark:light:dark) pattern in row/column,\n * preceded or followed by light area 4 modules wide\n *\n * Points: N3 * number of pattern found\n */\nexports.getPenaltyN3 = function getPenaltyN3 (data) {\n const size = data.size\n let points = 0\n let bitsCol = 0\n let bitsRow = 0\n\n for (let row = 0; row < size; row++) {\n bitsCol = bitsRow = 0\n for (let col = 0; col < size; col++) {\n bitsCol = ((bitsCol << 1) & 0x7FF) | data.get(row, col)\n if (col >= 10 && (bitsCol === 0x5D0 || bitsCol === 0x05D)) points++\n\n bitsRow = ((bitsRow << 1) & 0x7FF) | data.get(col, row)\n if (col >= 10 && (bitsRow === 0x5D0 || bitsRow === 0x05D)) points++\n }\n }\n\n return points * PenaltyScores.N3\n}\n\n/**\n * Calculate proportion of dark modules in entire symbol\n *\n * Points: N4 * k\n *\n * k is the rating of the deviation of the proportion of dark modules\n * in the symbol from 50% in steps of 5%\n */\nexports.getPenaltyN4 = function getPenaltyN4 (data) {\n let darkCount = 0\n const modulesCount = data.data.length\n\n for (let i = 0; i < modulesCount; i++) darkCount += data.data[i]\n\n const k = Math.abs(Math.ceil((darkCount * 100 / modulesCount) / 5) - 10)\n\n return k * PenaltyScores.N4\n}\n\n/**\n * Return mask value at given position\n *\n * @param {Number} maskPattern Pattern reference value\n * @param {Number} i Row\n * @param {Number} j Column\n * @return {Boolean} Mask value\n */\nfunction getMaskAt (maskPattern, i, j) {\n switch (maskPattern) {\n case exports.Patterns.PATTERN000: return (i + j) % 2 === 0\n case exports.Patterns.PATTERN001: return i % 2 === 0\n case exports.Patterns.PATTERN010: return j % 3 === 0\n case exports.Patterns.PATTERN011: return (i + j) % 3 === 0\n case exports.Patterns.PATTERN100: return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 === 0\n case exports.Patterns.PATTERN101: return (i * j) % 2 + (i * j) % 3 === 0\n case exports.Patterns.PATTERN110: return ((i * j) % 2 + (i * j) % 3) % 2 === 0\n case exports.Patterns.PATTERN111: return ((i * j) % 3 + (i + j) % 2) % 2 === 0\n\n default: throw new Error('bad maskPattern:' + maskPattern)\n }\n}\n\n/**\n * Apply a mask pattern to a BitMatrix\n *\n * @param {Number} pattern Pattern reference number\n * @param {BitMatrix} data BitMatrix data\n */\nexports.applyMask = function applyMask (pattern, data) {\n const size = data.size\n\n for (let col = 0; col < size; col++) {\n for (let row = 0; row < size; row++) {\n if (data.isReserved(row, col)) continue\n data.xor(row, col, getMaskAt(pattern, row, col))\n }\n }\n}\n\n/**\n * Returns the best mask pattern for data\n *\n * @param {BitMatrix} data\n * @return {Number} Mask pattern reference number\n */\nexports.getBestMask = function getBestMask (data, setupFormatFunc) {\n const numPatterns = Object.keys(exports.Patterns).length\n let bestPattern = 0\n let lowerPenalty = Infinity\n\n for (let p = 0; p < numPatterns; p++) {\n setupFormatFunc(p)\n exports.applyMask(p, data)\n\n // Calculate penalty\n const penalty =\n exports.getPenaltyN1(data) +\n exports.getPenaltyN2(data) +\n exports.getPenaltyN3(data) +\n exports.getPenaltyN4(data)\n\n // Undo previously applied mask\n exports.applyMask(p, data)\n\n if (penalty < lowerPenalty) {\n lowerPenalty = penalty\n bestPattern = p\n }\n }\n\n return bestPattern\n}\n","const ECLevel = require('./error-correction-level')\r\n\r\nconst EC_BLOCKS_TABLE = [\r\n// L M Q H\r\n 1, 1, 1, 1,\r\n 1, 1, 1, 1,\r\n 1, 1, 2, 2,\r\n 1, 2, 2, 4,\r\n 1, 2, 4, 4,\r\n 2, 4, 4, 4,\r\n 2, 4, 6, 5,\r\n 2, 4, 6, 6,\r\n 2, 5, 8, 8,\r\n 4, 5, 8, 8,\r\n 4, 5, 8, 11,\r\n 4, 8, 10, 11,\r\n 4, 9, 12, 16,\r\n 4, 9, 16, 16,\r\n 6, 10, 12, 18,\r\n 6, 10, 17, 16,\r\n 6, 11, 16, 19,\r\n 6, 13, 18, 21,\r\n 7, 14, 21, 25,\r\n 8, 16, 20, 25,\r\n 8, 17, 23, 25,\r\n 9, 17, 23, 34,\r\n 9, 18, 25, 30,\r\n 10, 20, 27, 32,\r\n 12, 21, 29, 35,\r\n 12, 23, 34, 37,\r\n 12, 25, 34, 40,\r\n 13, 26, 35, 42,\r\n 14, 28, 38, 45,\r\n 15, 29, 40, 48,\r\n 16, 31, 43, 51,\r\n 17, 33, 45, 54,\r\n 18, 35, 48, 57,\r\n 19, 37, 51, 60,\r\n 19, 38, 53, 63,\r\n 20, 40, 56, 66,\r\n 21, 43, 59, 70,\r\n 22, 45, 62, 74,\r\n 24, 47, 65, 77,\r\n 25, 49, 68, 81\r\n]\r\n\r\nconst EC_CODEWORDS_TABLE = [\r\n// L M Q H\r\n 7, 10, 13, 17,\r\n 10, 16, 22, 28,\r\n 15, 26, 36, 44,\r\n 20, 36, 52, 64,\r\n 26, 48, 72, 88,\r\n 36, 64, 96, 112,\r\n 40, 72, 108, 130,\r\n 48, 88, 132, 156,\r\n 60, 110, 160, 192,\r\n 72, 130, 192, 224,\r\n 80, 150, 224, 264,\r\n 96, 176, 260, 308,\r\n 104, 198, 288, 352,\r\n 120, 216, 320, 384,\r\n 132, 240, 360, 432,\r\n 144, 280, 408, 480,\r\n 168, 308, 448, 532,\r\n 180, 338, 504, 588,\r\n 196, 364, 546, 650,\r\n 224, 416, 600, 700,\r\n 224, 442, 644, 750,\r\n 252, 476, 690, 816,\r\n 270, 504, 750, 900,\r\n 300, 560, 810, 960,\r\n 312, 588, 870, 1050,\r\n 336, 644, 952, 1110,\r\n 360, 700, 1020, 1200,\r\n 390, 728, 1050, 1260,\r\n 420, 784, 1140, 1350,\r\n 450, 812, 1200, 1440,\r\n 480, 868, 1290, 1530,\r\n 510, 924, 1350, 1620,\r\n 540, 980, 1440, 1710,\r\n 570, 1036, 1530, 1800,\r\n 570, 1064, 1590, 1890,\r\n 600, 1120, 1680, 1980,\r\n 630, 1204, 1770, 2100,\r\n 660, 1260, 1860, 2220,\r\n 720, 1316, 1950, 2310,\r\n 750, 1372, 2040, 2430\r\n]\r\n\r\n/**\r\n * Returns the number of error correction block that the QR Code should contain\r\n * for the specified version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction blocks\r\n */\r\nexports.getBlocksCount = function getBlocksCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n\r\n/**\r\n * Returns the number of error correction codewords to use for the specified\r\n * version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction codewords\r\n */\r\nexports.getTotalCodewordsCount = function getTotalCodewordsCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n","const EXP_TABLE = new Uint8Array(512)\nconst LOG_TABLE = new Uint8Array(256)\n/**\n * Precompute the log and anti-log tables for faster computation later\n *\n * For each possible value in the galois field 2^8, we will pre-compute\n * the logarithm and anti-logarithm (exponential) of this value\n *\n * ref {@link https://en.wikiversity.org/wiki/Reed%E2%80%93Solomon_codes_for_coders#Introduction_to_mathematical_fields}\n */\n;(function initTables () {\n let x = 1\n for (let i = 0; i < 255; i++) {\n EXP_TABLE[i] = x\n LOG_TABLE[x] = i\n\n x <<= 1 // multiply by 2\n\n // The QR code specification says to use byte-wise modulo 100011101 arithmetic.\n // This means that when a number is 256 or larger, it should be XORed with 0x11D.\n if (x & 0x100) { // similar to x >= 256, but a lot faster (because 0x100 == 256)\n x ^= 0x11D\n }\n }\n\n // Optimization: double the size of the anti-log table so that we don't need to mod 255 to\n // stay inside the bounds (because we will mainly use this table for the multiplication of\n // two GF numbers, no more).\n // @see {@link mul}\n for (let i = 255; i < 512; i++) {\n EXP_TABLE[i] = EXP_TABLE[i - 255]\n }\n}())\n\n/**\n * Returns log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.log = function log (n) {\n if (n < 1) throw new Error('log(' + n + ')')\n return LOG_TABLE[n]\n}\n\n/**\n * Returns anti-log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.exp = function exp (n) {\n return EXP_TABLE[n]\n}\n\n/**\n * Multiplies two number inside Galois Field\n *\n * @param {Number} x\n * @param {Number} y\n * @return {Number}\n */\nexports.mul = function mul (x, y) {\n if (x === 0 || y === 0) return 0\n\n // should be EXP_TABLE[(LOG_TABLE[x] + LOG_TABLE[y]) % 255] if EXP_TABLE wasn't oversized\n // @see {@link initTables}\n return EXP_TABLE[LOG_TABLE[x] + LOG_TABLE[y]]\n}\n","const GF = require('./galois-field')\n\n/**\n * Multiplies two polynomials inside Galois Field\n *\n * @param {Uint8Array} p1 Polynomial\n * @param {Uint8Array} p2 Polynomial\n * @return {Uint8Array} Product of p1 and p2\n */\nexports.mul = function mul (p1, p2) {\n const coeff = new Uint8Array(p1.length + p2.length - 1)\n\n for (let i = 0; i < p1.length; i++) {\n for (let j = 0; j < p2.length; j++) {\n coeff[i + j] ^= GF.mul(p1[i], p2[j])\n }\n }\n\n return coeff\n}\n\n/**\n * Calculate the remainder of polynomials division\n *\n * @param {Uint8Array} divident Polynomial\n * @param {Uint8Array} divisor Polynomial\n * @return {Uint8Array} Remainder\n */\nexports.mod = function mod (divident, divisor) {\n let result = new Uint8Array(divident)\n\n while ((result.length - divisor.length) >= 0) {\n const coeff = result[0]\n\n for (let i = 0; i < divisor.length; i++) {\n result[i] ^= GF.mul(divisor[i], coeff)\n }\n\n // remove all zeros from buffer head\n let offset = 0\n while (offset < result.length && result[offset] === 0) offset++\n result = result.slice(offset)\n }\n\n return result\n}\n\n/**\n * Generate an irreducible generator polynomial of specified degree\n * (used by Reed-Solomon encoder)\n *\n * @param {Number} degree Degree of the generator polynomial\n * @return {Uint8Array} Buffer containing polynomial coefficients\n */\nexports.generateECPolynomial = function generateECPolynomial (degree) {\n let poly = new Uint8Array([1])\n for (let i = 0; i < degree; i++) {\n poly = exports.mul(poly, new Uint8Array([1, GF.exp(i)]))\n }\n\n return poly\n}\n","const Polynomial = require('./polynomial')\n\nfunction ReedSolomonEncoder (degree) {\n this.genPoly = undefined\n this.degree = degree\n\n if (this.degree) this.initialize(this.degree)\n}\n\n/**\n * Initialize the encoder.\n * The input param should correspond to the number of error correction codewords.\n *\n * @param {Number} degree\n */\nReedSolomonEncoder.prototype.initialize = function initialize (degree) {\n // create an irreducible generator polynomial\n this.degree = degree\n this.genPoly = Polynomial.generateECPolynomial(this.degree)\n}\n\n/**\n * Encodes a chunk of data\n *\n * @param {Uint8Array} data Buffer containing input data\n * @return {Uint8Array} Buffer containing encoded data\n */\nReedSolomonEncoder.prototype.encode = function encode (data) {\n if (!this.genPoly) {\n throw new Error('Encoder not initialized')\n }\n\n // Calculate EC for this data block\n // extends data size to data+genPoly size\n const paddedData = new Uint8Array(data.length + this.degree)\n paddedData.set(data)\n\n // The error correction codewords are the remainder after dividing the data codewords\n // by a generator polynomial\n const remainder = Polynomial.mod(paddedData, this.genPoly)\n\n // return EC data blocks (last n byte, where n is the degree of genPoly)\n // If coefficients number in remainder are less than genPoly degree,\n // pad with 0s to the left to reach the needed number of coefficients\n const start = this.degree - remainder.length\n if (start > 0) {\n const buff = new Uint8Array(this.degree)\n buff.set(remainder, start)\n\n return buff\n }\n\n return remainder\n}\n\nmodule.exports = ReedSolomonEncoder\n","/**\n * Check if QR Code version is valid\n *\n * @param {Number} version QR Code version\n * @return {Boolean} true if valid version, false otherwise\n */\nexports.isValid = function isValid (version) {\n return !isNaN(version) && version >= 1 && version <= 40\n}\n","const numeric = '[0-9]+'\nconst alphanumeric = '[A-Z $%*+\\\\-./:]+'\nlet kanji = '(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|' +\n '[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|' +\n '[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|' +\n '[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+'\nkanji = kanji.replace(/u/g, '\\\\u')\n\nconst byte = '(?:(?![A-Z0-9 $%*+\\\\-./:]|' + kanji + ')(?:.|[\\r\\n]))+'\n\nexports.KANJI = new RegExp(kanji, 'g')\nexports.BYTE_KANJI = new RegExp('[^A-Z0-9 $%*+\\\\-./:]+', 'g')\nexports.BYTE = new RegExp(byte, 'g')\nexports.NUMERIC = new RegExp(numeric, 'g')\nexports.ALPHANUMERIC = new RegExp(alphanumeric, 'g')\n\nconst TEST_KANJI = new RegExp('^' + kanji + '$')\nconst TEST_NUMERIC = new RegExp('^' + numeric + '$')\nconst TEST_ALPHANUMERIC = new RegExp('^[A-Z0-9 $%*+\\\\-./:]+$')\n\nexports.testKanji = function testKanji (str) {\n return TEST_KANJI.test(str)\n}\n\nexports.testNumeric = function testNumeric (str) {\n return TEST_NUMERIC.test(str)\n}\n\nexports.testAlphanumeric = function testAlphanumeric (str) {\n return TEST_ALPHANUMERIC.test(str)\n}\n","const VersionCheck = require('./version-check')\nconst Regex = require('./regex')\n\n/**\n * Numeric mode encodes data from the decimal digit set (0 - 9)\n * (byte values 30HEX to 39HEX).\n * Normally, 3 data characters are represented by 10 bits.\n *\n * @type {Object}\n */\nexports.NUMERIC = {\n id: 'Numeric',\n bit: 1 << 0,\n ccBits: [10, 12, 14]\n}\n\n/**\n * Alphanumeric mode encodes data from a set of 45 characters,\n * i.e. 10 numeric digits (0 - 9),\n * 26 alphabetic characters (A - Z),\n * and 9 symbols (SP, $, %, *, +, -, ., /, :).\n * Normally, two input characters are represented by 11 bits.\n *\n * @type {Object}\n */\nexports.ALPHANUMERIC = {\n id: 'Alphanumeric',\n bit: 1 << 1,\n ccBits: [9, 11, 13]\n}\n\n/**\n * In byte mode, data is encoded at 8 bits per character.\n *\n * @type {Object}\n */\nexports.BYTE = {\n id: 'Byte',\n bit: 1 << 2,\n ccBits: [8, 16, 16]\n}\n\n/**\n * The Kanji mode efficiently encodes Kanji characters in accordance with\n * the Shift JIS system based on JIS X 0208.\n * The Shift JIS values are shifted from the JIS X 0208 values.\n * JIS X 0208 gives details of the shift coded representation.\n * Each two-byte character value is compacted to a 13-bit binary codeword.\n *\n * @type {Object}\n */\nexports.KANJI = {\n id: 'Kanji',\n bit: 1 << 3,\n ccBits: [8, 10, 12]\n}\n\n/**\n * Mixed mode will contain a sequences of data in a combination of any of\n * the modes described above\n *\n * @type {Object}\n */\nexports.MIXED = {\n bit: -1\n}\n\n/**\n * Returns the number of bits needed to store the data length\n * according to QR Code specifications.\n *\n * @param {Mode} mode Data mode\n * @param {Number} version QR Code version\n * @return {Number} Number of bits\n */\nexports.getCharCountIndicator = function getCharCountIndicator (mode, version) {\n if (!mode.ccBits) throw new Error('Invalid mode: ' + mode)\n\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid version: ' + version)\n }\n\n if (version >= 1 && version < 10) return mode.ccBits[0]\n else if (version < 27) return mode.ccBits[1]\n return mode.ccBits[2]\n}\n\n/**\n * Returns the most efficient mode to store the specified data\n *\n * @param {String} dataStr Input data string\n * @return {Mode} Best mode\n */\nexports.getBestModeForData = function getBestModeForData (dataStr) {\n if (Regex.testNumeric(dataStr)) return exports.NUMERIC\n else if (Regex.testAlphanumeric(dataStr)) return exports.ALPHANUMERIC\n else if (Regex.testKanji(dataStr)) return exports.KANJI\n else return exports.BYTE\n}\n\n/**\n * Return mode name as string\n *\n * @param {Mode} mode Mode object\n * @returns {String} Mode name\n */\nexports.toString = function toString (mode) {\n if (mode && mode.id) return mode.id\n throw new Error('Invalid mode')\n}\n\n/**\n * Check if input param is a valid mode object\n *\n * @param {Mode} mode Mode object\n * @returns {Boolean} True if valid mode, false otherwise\n */\nexports.isValid = function isValid (mode) {\n return mode && mode.bit && mode.ccBits\n}\n\n/**\n * Get mode object from its name\n *\n * @param {String} string Mode name\n * @returns {Mode} Mode object\n */\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n const lcStr = string.toLowerCase()\n\n switch (lcStr) {\n case 'numeric':\n return exports.NUMERIC\n case 'alphanumeric':\n return exports.ALPHANUMERIC\n case 'kanji':\n return exports.KANJI\n case 'byte':\n return exports.BYTE\n default:\n throw new Error('Unknown mode: ' + string)\n }\n}\n\n/**\n * Returns mode from a value.\n * If value is not a valid mode, returns defaultValue\n *\n * @param {Mode|String} value Encoding mode\n * @param {Mode} defaultValue Fallback value\n * @return {Mode} Encoding mode\n */\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n}\n","const Utils = require('./utils')\nconst ECCode = require('./error-correction-code')\nconst ECLevel = require('./error-correction-level')\nconst Mode = require('./mode')\nconst VersionCheck = require('./version-check')\n\n// Generator polynomial used to encode version information\nconst G18 = (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0)\nconst G18_BCH = Utils.getBCHDigit(G18)\n\nfunction getBestVersionForDataLength (mode, length, errorCorrectionLevel) {\n for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, mode)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\nfunction getReservedBitsCount (mode, version) {\n // Character count indicator + mode indicator bits\n return Mode.getCharCountIndicator(mode, version) + 4\n}\n\nfunction getTotalBitsFromDataArray (segments, version) {\n let totalBits = 0\n\n segments.forEach(function (data) {\n const reservedBits = getReservedBitsCount(data.mode, version)\n totalBits += reservedBits + data.getBitsLength()\n })\n\n return totalBits\n}\n\nfunction getBestVersionForMixedData (segments, errorCorrectionLevel) {\n for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {\n const length = getTotalBitsFromDataArray(segments, currentVersion)\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, Mode.MIXED)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\n/**\n * Returns version number from a value.\n * If value is not a valid version, returns defaultValue\n *\n * @param {Number|String} value QR Code version\n * @param {Number} defaultValue Fallback value\n * @return {Number} QR Code version number\n */\nexports.from = function from (value, defaultValue) {\n if (VersionCheck.isValid(value)) {\n return parseInt(value, 10)\n }\n\n return defaultValue\n}\n\n/**\n * Returns how much data can be stored with the specified QR code version\n * and error correction level\n *\n * @param {Number} version QR Code version (1-40)\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} Quantity of storable data\n */\nexports.getCapacity = function getCapacity (version, errorCorrectionLevel, mode) {\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid QR Code version')\n }\n\n // Use Byte mode as default\n if (typeof mode === 'undefined') mode = Mode.BYTE\n\n // Total codewords for this QR code version (Data + Error correction)\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n\n // Total number of error correction codewords\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n\n // Total number of data codewords\n const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8\n\n if (mode === Mode.MIXED) return dataTotalCodewordsBits\n\n const usableBits = dataTotalCodewordsBits - getReservedBitsCount(mode, version)\n\n // Return max number of storable codewords\n switch (mode) {\n case Mode.NUMERIC:\n return Math.floor((usableBits / 10) * 3)\n\n case Mode.ALPHANUMERIC:\n return Math.floor((usableBits / 11) * 2)\n\n case Mode.KANJI:\n return Math.floor(usableBits / 13)\n\n case Mode.BYTE:\n default:\n return Math.floor(usableBits / 8)\n }\n}\n\n/**\n * Returns the minimum version needed to contain the amount of data\n *\n * @param {Segment} data Segment of data\n * @param {Number} [errorCorrectionLevel=H] Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} QR Code version\n */\nexports.getBestVersionForData = function getBestVersionForData (data, errorCorrectionLevel) {\n let seg\n\n const ecl = ECLevel.from(errorCorrectionLevel, ECLevel.M)\n\n if (Array.isArray(data)) {\n if (data.length > 1) {\n return getBestVersionForMixedData(data, ecl)\n }\n\n if (data.length === 0) {\n return 1\n }\n\n seg = data[0]\n } else {\n seg = data\n }\n\n return getBestVersionForDataLength(seg.mode, seg.getLength(), ecl)\n}\n\n/**\n * Returns version information with relative error correction bits\n *\n * The version information is included in QR Code symbols of version 7 or larger.\n * It consists of an 18-bit sequence containing 6 data bits,\n * with 12 error correction bits calculated using the (18, 6) Golay code.\n *\n * @param {Number} version QR Code version\n * @return {Number} Encoded version info bits\n */\nexports.getEncodedBits = function getEncodedBits (version) {\n if (!VersionCheck.isValid(version) || version < 7) {\n throw new Error('Invalid QR Code version')\n }\n\n let d = version << 12\n\n while (Utils.getBCHDigit(d) - G18_BCH >= 0) {\n d ^= (G18 << (Utils.getBCHDigit(d) - G18_BCH))\n }\n\n return (version << 12) | d\n}\n","const Utils = require('./utils')\n\nconst G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0)\nconst G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1)\nconst G15_BCH = Utils.getBCHDigit(G15)\n\n/**\n * Returns format information with relative error correction bits\n *\n * The format information is a 15-bit sequence containing 5 data bits,\n * with 10 error correction bits calculated using the (15, 5) BCH code.\n *\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Number} mask Mask pattern\n * @return {Number} Encoded format information bits\n */\nexports.getEncodedBits = function getEncodedBits (errorCorrectionLevel, mask) {\n const data = ((errorCorrectionLevel.bit << 3) | mask)\n let d = data << 10\n\n while (Utils.getBCHDigit(d) - G15_BCH >= 0) {\n d ^= (G15 << (Utils.getBCHDigit(d) - G15_BCH))\n }\n\n // xor final data with mask pattern in order to ensure that\n // no combination of Error Correction Level and data mask pattern\n // will result in an all-zero data string\n return ((data << 10) | d) ^ G15_MASK\n}\n","const Mode = require('./mode')\n\nfunction NumericData (data) {\n this.mode = Mode.NUMERIC\n this.data = data.toString()\n}\n\nNumericData.getBitsLength = function getBitsLength (length) {\n return 10 * Math.floor(length / 3) + ((length % 3) ? ((length % 3) * 3 + 1) : 0)\n}\n\nNumericData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nNumericData.prototype.getBitsLength = function getBitsLength () {\n return NumericData.getBitsLength(this.data.length)\n}\n\nNumericData.prototype.write = function write (bitBuffer) {\n let i, group, value\n\n // The input data string is divided into groups of three digits,\n // and each group is converted to its 10-bit binary equivalent.\n for (i = 0; i + 3 <= this.data.length; i += 3) {\n group = this.data.substr(i, 3)\n value = parseInt(group, 10)\n\n bitBuffer.put(value, 10)\n }\n\n // If the number of input digits is not an exact multiple of three,\n // the final one or two digits are converted to 4 or 7 bits respectively.\n const remainingNum = this.data.length - i\n if (remainingNum > 0) {\n group = this.data.substr(i)\n value = parseInt(group, 10)\n\n bitBuffer.put(value, remainingNum * 3 + 1)\n }\n}\n\nmodule.exports = NumericData\n","const Mode = require('./mode')\n\n/**\n * Array of characters available in alphanumeric mode\n *\n * As per QR Code specification, to each character\n * is assigned a value from 0 to 44 which in this case coincides\n * with the array index\n *\n * @type {Array}\n */\nconst ALPHA_NUM_CHARS = [\n '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\n 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',\n 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',\n ' ', '$', '%', '*', '+', '-', '.', '/', ':'\n]\n\nfunction AlphanumericData (data) {\n this.mode = Mode.ALPHANUMERIC\n this.data = data\n}\n\nAlphanumericData.getBitsLength = function getBitsLength (length) {\n return 11 * Math.floor(length / 2) + 6 * (length % 2)\n}\n\nAlphanumericData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nAlphanumericData.prototype.getBitsLength = function getBitsLength () {\n return AlphanumericData.getBitsLength(this.data.length)\n}\n\nAlphanumericData.prototype.write = function write (bitBuffer) {\n let i\n\n // Input data characters are divided into groups of two characters\n // and encoded as 11-bit binary codes.\n for (i = 0; i + 2 <= this.data.length; i += 2) {\n // The character value of the first character is multiplied by 45\n let value = ALPHA_NUM_CHARS.indexOf(this.data[i]) * 45\n\n // The character value of the second digit is added to the product\n value += ALPHA_NUM_CHARS.indexOf(this.data[i + 1])\n\n // The sum is then stored as 11-bit binary number\n bitBuffer.put(value, 11)\n }\n\n // If the number of input data characters is not a multiple of two,\n // the character value of the final character is encoded as a 6-bit binary number.\n if (this.data.length % 2) {\n bitBuffer.put(ALPHA_NUM_CHARS.indexOf(this.data[i]), 6)\n }\n}\n\nmodule.exports = AlphanumericData\n","'use strict'\n\nmodule.exports = function encodeUtf8 (input) {\n var result = []\n var size = input.length\n\n for (var index = 0; index < size; index++) {\n var point = input.charCodeAt(index)\n\n if (point >= 0xD800 && point <= 0xDBFF && size > index + 1) {\n var second = input.charCodeAt(index + 1)\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n point = (point - 0xD800) * 0x400 + second - 0xDC00 + 0x10000\n index += 1\n }\n }\n\n // US-ASCII\n if (point < 0x80) {\n result.push(point)\n continue\n }\n\n // 2-byte UTF-8\n if (point < 0x800) {\n result.push((point >> 6) | 192)\n result.push((point & 63) | 128)\n continue\n }\n\n // 3-byte UTF-8\n if (point < 0xD800 || (point >= 0xE000 && point < 0x10000)) {\n result.push((point >> 12) | 224)\n result.push(((point >> 6) & 63) | 128)\n result.push((point & 63) | 128)\n continue\n }\n\n // 4-byte UTF-8\n if (point >= 0x10000 && point <= 0x10FFFF) {\n result.push((point >> 18) | 240)\n result.push(((point >> 12) & 63) | 128)\n result.push(((point >> 6) & 63) | 128)\n result.push((point & 63) | 128)\n continue\n }\n\n // Invalid character\n result.push(0xEF, 0xBF, 0xBD)\n }\n\n return new Uint8Array(result).buffer\n}\n","const encodeUtf8 = require('encode-utf8')\nconst Mode = require('./mode')\n\nfunction ByteData (data) {\n this.mode = Mode.BYTE\n if (typeof (data) === 'string') {\n data = encodeUtf8(data)\n }\n this.data = new Uint8Array(data)\n}\n\nByteData.getBitsLength = function getBitsLength (length) {\n return length * 8\n}\n\nByteData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nByteData.prototype.getBitsLength = function getBitsLength () {\n return ByteData.getBitsLength(this.data.length)\n}\n\nByteData.prototype.write = function (bitBuffer) {\n for (let i = 0, l = this.data.length; i < l; i++) {\n bitBuffer.put(this.data[i], 8)\n }\n}\n\nmodule.exports = ByteData\n","const Mode = require('./mode')\nconst Utils = require('./utils')\n\nfunction KanjiData (data) {\n this.mode = Mode.KANJI\n this.data = data\n}\n\nKanjiData.getBitsLength = function getBitsLength (length) {\n return length * 13\n}\n\nKanjiData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nKanjiData.prototype.getBitsLength = function getBitsLength () {\n return KanjiData.getBitsLength(this.data.length)\n}\n\nKanjiData.prototype.write = function (bitBuffer) {\n let i\n\n // In the Shift JIS system, Kanji characters are represented by a two byte combination.\n // These byte values are shifted from the JIS X 0208 values.\n // JIS X 0208 gives details of the shift coded representation.\n for (i = 0; i < this.data.length; i++) {\n let value = Utils.toSJIS(this.data[i])\n\n // For characters with Shift JIS values from 0x8140 to 0x9FFC:\n if (value >= 0x8140 && value <= 0x9FFC) {\n // Subtract 0x8140 from Shift JIS value\n value -= 0x8140\n\n // For characters with Shift JIS values from 0xE040 to 0xEBBF\n } else if (value >= 0xE040 && value <= 0xEBBF) {\n // Subtract 0xC140 from Shift JIS value\n value -= 0xC140\n } else {\n throw new Error(\n 'Invalid SJIS character: ' + this.data[i] + '\\n' +\n 'Make sure your charset is UTF-8')\n }\n\n // Multiply most significant byte of result by 0xC0\n // and add least significant byte to product\n value = (((value >>> 8) & 0xff) * 0xC0) + (value & 0xff)\n\n // Convert result to a 13-bit binary string\n bitBuffer.put(value, 13)\n }\n}\n\nmodule.exports = KanjiData\n","'use strict';\n\n/******************************************************************************\n * Created 2008-08-19.\n *\n * Dijkstra path-finding functions. Adapted from the Dijkstar Python project.\n *\n * Copyright (C) 2008\n * Wyatt Baldwin \n * All rights reserved\n *\n * Licensed under the MIT license.\n *\n * http://www.opensource.org/licenses/mit-license.php\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n *****************************************************************************/\nvar dijkstra = {\n single_source_shortest_paths: function(graph, s, d) {\n // Predecessor map for each node that has been encountered.\n // node ID => predecessor node ID\n var predecessors = {};\n\n // Costs of shortest paths from s to all nodes encountered.\n // node ID => cost\n var costs = {};\n costs[s] = 0;\n\n // Costs of shortest paths from s to all nodes encountered; differs from\n // `costs` in that it provides easy access to the node that currently has\n // the known shortest path from s.\n // XXX: Do we actually need both `costs` and `open`?\n var open = dijkstra.PriorityQueue.make();\n open.push(s, 0);\n\n var closest,\n u, v,\n cost_of_s_to_u,\n adjacent_nodes,\n cost_of_e,\n cost_of_s_to_u_plus_cost_of_e,\n cost_of_s_to_v,\n first_visit;\n while (!open.empty()) {\n // In the nodes remaining in graph that have a known cost from s,\n // find the node, u, that currently has the shortest path from s.\n closest = open.pop();\n u = closest.value;\n cost_of_s_to_u = closest.cost;\n\n // Get nodes adjacent to u...\n adjacent_nodes = graph[u] || {};\n\n // ...and explore the edges that connect u to those nodes, updating\n // the cost of the shortest paths to any or all of those nodes as\n // necessary. v is the node across the current edge from u.\n for (v in adjacent_nodes) {\n if (adjacent_nodes.hasOwnProperty(v)) {\n // Get the cost of the edge running from u to v.\n cost_of_e = adjacent_nodes[v];\n\n // Cost of s to u plus the cost of u to v across e--this is *a*\n // cost from s to v that may or may not be less than the current\n // known cost to v.\n cost_of_s_to_u_plus_cost_of_e = cost_of_s_to_u + cost_of_e;\n\n // If we haven't visited v yet OR if the current known cost from s to\n // v is greater than the new cost we just found (cost of s to u plus\n // cost of u to v across e), update v's cost in the cost list and\n // update v's predecessor in the predecessor list (it's now u).\n cost_of_s_to_v = costs[v];\n first_visit = (typeof costs[v] === 'undefined');\n if (first_visit || cost_of_s_to_v > cost_of_s_to_u_plus_cost_of_e) {\n costs[v] = cost_of_s_to_u_plus_cost_of_e;\n open.push(v, cost_of_s_to_u_plus_cost_of_e);\n predecessors[v] = u;\n }\n }\n }\n }\n\n if (typeof d !== 'undefined' && typeof costs[d] === 'undefined') {\n var msg = ['Could not find a path from ', s, ' to ', d, '.'].join('');\n throw new Error(msg);\n }\n\n return predecessors;\n },\n\n extract_shortest_path_from_predecessor_list: function(predecessors, d) {\n var nodes = [];\n var u = d;\n var predecessor;\n while (u) {\n nodes.push(u);\n predecessor = predecessors[u];\n u = predecessors[u];\n }\n nodes.reverse();\n return nodes;\n },\n\n find_path: function(graph, s, d) {\n var predecessors = dijkstra.single_source_shortest_paths(graph, s, d);\n return dijkstra.extract_shortest_path_from_predecessor_list(\n predecessors, d);\n },\n\n /**\n * A very naive priority queue implementation.\n */\n PriorityQueue: {\n make: function (opts) {\n var T = dijkstra.PriorityQueue,\n t = {},\n key;\n opts = opts || {};\n for (key in T) {\n if (T.hasOwnProperty(key)) {\n t[key] = T[key];\n }\n }\n t.queue = [];\n t.sorter = opts.sorter || T.default_sorter;\n return t;\n },\n\n default_sorter: function (a, b) {\n return a.cost - b.cost;\n },\n\n /**\n * Add a new item to the queue and ensure the highest priority element\n * is at the front of the queue.\n */\n push: function (value, cost) {\n var item = {value: value, cost: cost};\n this.queue.push(item);\n this.queue.sort(this.sorter);\n },\n\n /**\n * Return the highest priority element in the queue.\n */\n pop: function () {\n return this.queue.shift();\n },\n\n empty: function () {\n return this.queue.length === 0;\n }\n }\n};\n\n\n// node.js module exports\nif (typeof module !== 'undefined') {\n module.exports = dijkstra;\n}\n","const Mode = require('./mode')\nconst NumericData = require('./numeric-data')\nconst AlphanumericData = require('./alphanumeric-data')\nconst ByteData = require('./byte-data')\nconst KanjiData = require('./kanji-data')\nconst Regex = require('./regex')\nconst Utils = require('./utils')\nconst dijkstra = require('dijkstrajs')\n\n/**\n * Returns UTF8 byte length\n *\n * @param {String} str Input string\n * @return {Number} Number of byte\n */\nfunction getStringByteLength (str) {\n return unescape(encodeURIComponent(str)).length\n}\n\n/**\n * Get a list of segments of the specified mode\n * from a string\n *\n * @param {Mode} mode Segment mode\n * @param {String} str String to process\n * @return {Array} Array of object with segments data\n */\nfunction getSegments (regex, mode, str) {\n const segments = []\n let result\n\n while ((result = regex.exec(str)) !== null) {\n segments.push({\n data: result[0],\n index: result.index,\n mode: mode,\n length: result[0].length\n })\n }\n\n return segments\n}\n\n/**\n * Extracts a series of segments with the appropriate\n * modes from a string\n *\n * @param {String} dataStr Input string\n * @return {Array} Array of object with segments data\n */\nfunction getSegmentsFromString (dataStr) {\n const numSegs = getSegments(Regex.NUMERIC, Mode.NUMERIC, dataStr)\n const alphaNumSegs = getSegments(Regex.ALPHANUMERIC, Mode.ALPHANUMERIC, dataStr)\n let byteSegs\n let kanjiSegs\n\n if (Utils.isKanjiModeEnabled()) {\n byteSegs = getSegments(Regex.BYTE, Mode.BYTE, dataStr)\n kanjiSegs = getSegments(Regex.KANJI, Mode.KANJI, dataStr)\n } else {\n byteSegs = getSegments(Regex.BYTE_KANJI, Mode.BYTE, dataStr)\n kanjiSegs = []\n }\n\n const segs = numSegs.concat(alphaNumSegs, byteSegs, kanjiSegs)\n\n return segs\n .sort(function (s1, s2) {\n return s1.index - s2.index\n })\n .map(function (obj) {\n return {\n data: obj.data,\n mode: obj.mode,\n length: obj.length\n }\n })\n}\n\n/**\n * Returns how many bits are needed to encode a string of\n * specified length with the specified mode\n *\n * @param {Number} length String length\n * @param {Mode} mode Segment mode\n * @return {Number} Bit length\n */\nfunction getSegmentBitsLength (length, mode) {\n switch (mode) {\n case Mode.NUMERIC:\n return NumericData.getBitsLength(length)\n case Mode.ALPHANUMERIC:\n return AlphanumericData.getBitsLength(length)\n case Mode.KANJI:\n return KanjiData.getBitsLength(length)\n case Mode.BYTE:\n return ByteData.getBitsLength(length)\n }\n}\n\n/**\n * Merges adjacent segments which have the same mode\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction mergeSegments (segs) {\n return segs.reduce(function (acc, curr) {\n const prevSeg = acc.length - 1 >= 0 ? acc[acc.length - 1] : null\n if (prevSeg && prevSeg.mode === curr.mode) {\n acc[acc.length - 1].data += curr.data\n return acc\n }\n\n acc.push(curr)\n return acc\n }, [])\n}\n\n/**\n * Generates a list of all possible nodes combination which\n * will be used to build a segments graph.\n *\n * Nodes are divided by groups. Each group will contain a list of all the modes\n * in which is possible to encode the given text.\n *\n * For example the text '12345' can be encoded as Numeric, Alphanumeric or Byte.\n * The group for '12345' will contain then 3 objects, one for each\n * possible encoding mode.\n *\n * Each node represents a possible segment.\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction buildNodes (segs) {\n const nodes = []\n for (let i = 0; i < segs.length; i++) {\n const seg = segs[i]\n\n switch (seg.mode) {\n case Mode.NUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.ALPHANUMERIC, length: seg.length },\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ])\n break\n case Mode.ALPHANUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ])\n break\n case Mode.KANJI:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ])\n break\n case Mode.BYTE:\n nodes.push([\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ])\n }\n }\n\n return nodes\n}\n\n/**\n * Builds a graph from a list of nodes.\n * All segments in each node group will be connected with all the segments of\n * the next group and so on.\n *\n * At each connection will be assigned a weight depending on the\n * segment's byte length.\n *\n * @param {Array} nodes Array of object with segments data\n * @param {Number} version QR Code version\n * @return {Object} Graph of all possible segments\n */\nfunction buildGraph (nodes, version) {\n const table = {}\n const graph = { start: {} }\n let prevNodeIds = ['start']\n\n for (let i = 0; i < nodes.length; i++) {\n const nodeGroup = nodes[i]\n const currentNodeIds = []\n\n for (let j = 0; j < nodeGroup.length; j++) {\n const node = nodeGroup[j]\n const key = '' + i + j\n\n currentNodeIds.push(key)\n table[key] = { node: node, lastCount: 0 }\n graph[key] = {}\n\n for (let n = 0; n < prevNodeIds.length; n++) {\n const prevNodeId = prevNodeIds[n]\n\n if (table[prevNodeId] && table[prevNodeId].node.mode === node.mode) {\n graph[prevNodeId][key] =\n getSegmentBitsLength(table[prevNodeId].lastCount + node.length, node.mode) -\n getSegmentBitsLength(table[prevNodeId].lastCount, node.mode)\n\n table[prevNodeId].lastCount += node.length\n } else {\n if (table[prevNodeId]) table[prevNodeId].lastCount = node.length\n\n graph[prevNodeId][key] = getSegmentBitsLength(node.length, node.mode) +\n 4 + Mode.getCharCountIndicator(node.mode, version) // switch cost\n }\n }\n }\n\n prevNodeIds = currentNodeIds\n }\n\n for (let n = 0; n < prevNodeIds.length; n++) {\n graph[prevNodeIds[n]].end = 0\n }\n\n return { map: graph, table: table }\n}\n\n/**\n * Builds a segment from a specified data and mode.\n * If a mode is not specified, the more suitable will be used.\n *\n * @param {String} data Input data\n * @param {Mode | String} modesHint Data mode\n * @return {Segment} Segment\n */\nfunction buildSingleSegment (data, modesHint) {\n let mode\n const bestMode = Mode.getBestModeForData(data)\n\n mode = Mode.from(modesHint, bestMode)\n\n // Make sure data can be encoded\n if (mode !== Mode.BYTE && mode.bit < bestMode.bit) {\n throw new Error('\"' + data + '\"' +\n ' cannot be encoded with mode ' + Mode.toString(mode) +\n '.\\n Suggested mode is: ' + Mode.toString(bestMode))\n }\n\n // Use Mode.BYTE if Kanji support is disabled\n if (mode === Mode.KANJI && !Utils.isKanjiModeEnabled()) {\n mode = Mode.BYTE\n }\n\n switch (mode) {\n case Mode.NUMERIC:\n return new NumericData(data)\n\n case Mode.ALPHANUMERIC:\n return new AlphanumericData(data)\n\n case Mode.KANJI:\n return new KanjiData(data)\n\n case Mode.BYTE:\n return new ByteData(data)\n }\n}\n\n/**\n * Builds a list of segments from an array.\n * Array can contain Strings or Objects with segment's info.\n *\n * For each item which is a string, will be generated a segment with the given\n * string and the more appropriate encoding mode.\n *\n * For each item which is an object, will be generated a segment with the given\n * data and mode.\n * Objects must contain at least the property \"data\".\n * If property \"mode\" is not present, the more suitable mode will be used.\n *\n * @param {Array} array Array of objects with segments data\n * @return {Array} Array of Segments\n */\nexports.fromArray = function fromArray (array) {\n return array.reduce(function (acc, seg) {\n if (typeof seg === 'string') {\n acc.push(buildSingleSegment(seg, null))\n } else if (seg.data) {\n acc.push(buildSingleSegment(seg.data, seg.mode))\n }\n\n return acc\n }, [])\n}\n\n/**\n * Builds an optimized sequence of segments from a string,\n * which will produce the shortest possible bitstream.\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @return {Array} Array of segments\n */\nexports.fromString = function fromString (data, version) {\n const segs = getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n\n const nodes = buildNodes(segs)\n const graph = buildGraph(nodes, version)\n const path = dijkstra.find_path(graph.map, 'start', 'end')\n\n const optimizedSegs = []\n for (let i = 1; i < path.length - 1; i++) {\n optimizedSegs.push(graph.table[path[i]].node)\n }\n\n return exports.fromArray(mergeSegments(optimizedSegs))\n}\n\n/**\n * Splits a string in various segments with the modes which\n * best represent their content.\n * The produced segments are far from being optimized.\n * The output of this function is only used to estimate a QR Code version\n * which may contain the data.\n *\n * @param {string} data Input string\n * @return {Array} Array of segments\n */\nexports.rawSplit = function rawSplit (data) {\n return exports.fromArray(\n getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n )\n}\n","const Utils = require('./utils')\nconst ECLevel = require('./error-correction-level')\nconst BitBuffer = require('./bit-buffer')\nconst BitMatrix = require('./bit-matrix')\nconst AlignmentPattern = require('./alignment-pattern')\nconst FinderPattern = require('./finder-pattern')\nconst MaskPattern = require('./mask-pattern')\nconst ECCode = require('./error-correction-code')\nconst ReedSolomonEncoder = require('./reed-solomon-encoder')\nconst Version = require('./version')\nconst FormatInfo = require('./format-info')\nconst Mode = require('./mode')\nconst Segments = require('./segments')\n\n/**\n * QRCode for JavaScript\n *\n * modified by Ryan Day for nodejs support\n * Copyright (c) 2011 Ryan Day\n *\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/mit-license.php\n *\n//---------------------------------------------------------------------\n// QRCode for JavaScript\n//\n// Copyright (c) 2009 Kazuhiko Arase\n//\n// URL: http://www.d-project.com/\n//\n// Licensed under the MIT license:\n// http://www.opensource.org/licenses/mit-license.php\n//\n// The word \"QR Code\" is registered trademark of\n// DENSO WAVE INCORPORATED\n// http://www.denso-wave.com/qrcode/faqpatent-e.html\n//\n//---------------------------------------------------------------------\n*/\n\n/**\n * Add finder patterns bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupFinderPattern (matrix, version) {\n const size = matrix.size\n const pos = FinderPattern.getPositions(version)\n\n for (let i = 0; i < pos.length; i++) {\n const row = pos[i][0]\n const col = pos[i][1]\n\n for (let r = -1; r <= 7; r++) {\n if (row + r <= -1 || size <= row + r) continue\n\n for (let c = -1; c <= 7; c++) {\n if (col + c <= -1 || size <= col + c) continue\n\n if ((r >= 0 && r <= 6 && (c === 0 || c === 6)) ||\n (c >= 0 && c <= 6 && (r === 0 || r === 6)) ||\n (r >= 2 && r <= 4 && c >= 2 && c <= 4)) {\n matrix.set(row + r, col + c, true, true)\n } else {\n matrix.set(row + r, col + c, false, true)\n }\n }\n }\n }\n}\n\n/**\n * Add timing pattern bits to matrix\n *\n * Note: this function must be called before {@link setupAlignmentPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n */\nfunction setupTimingPattern (matrix) {\n const size = matrix.size\n\n for (let r = 8; r < size - 8; r++) {\n const value = r % 2 === 0\n matrix.set(r, 6, value, true)\n matrix.set(6, r, value, true)\n }\n}\n\n/**\n * Add alignment patterns bits to matrix\n *\n * Note: this function must be called after {@link setupTimingPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupAlignmentPattern (matrix, version) {\n const pos = AlignmentPattern.getPositions(version)\n\n for (let i = 0; i < pos.length; i++) {\n const row = pos[i][0]\n const col = pos[i][1]\n\n for (let r = -2; r <= 2; r++) {\n for (let c = -2; c <= 2; c++) {\n if (r === -2 || r === 2 || c === -2 || c === 2 ||\n (r === 0 && c === 0)) {\n matrix.set(row + r, col + c, true, true)\n } else {\n matrix.set(row + r, col + c, false, true)\n }\n }\n }\n }\n}\n\n/**\n * Add version info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupVersionInfo (matrix, version) {\n const size = matrix.size\n const bits = Version.getEncodedBits(version)\n let row, col, mod\n\n for (let i = 0; i < 18; i++) {\n row = Math.floor(i / 3)\n col = i % 3 + size - 8 - 3\n mod = ((bits >> i) & 1) === 1\n\n matrix.set(row, col, mod, true)\n matrix.set(col, row, mod, true)\n }\n}\n\n/**\n * Add format info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {Number} maskPattern Mask pattern reference value\n */\nfunction setupFormatInfo (matrix, errorCorrectionLevel, maskPattern) {\n const size = matrix.size\n const bits = FormatInfo.getEncodedBits(errorCorrectionLevel, maskPattern)\n let i, mod\n\n for (i = 0; i < 15; i++) {\n mod = ((bits >> i) & 1) === 1\n\n // vertical\n if (i < 6) {\n matrix.set(i, 8, mod, true)\n } else if (i < 8) {\n matrix.set(i + 1, 8, mod, true)\n } else {\n matrix.set(size - 15 + i, 8, mod, true)\n }\n\n // horizontal\n if (i < 8) {\n matrix.set(8, size - i - 1, mod, true)\n } else if (i < 9) {\n matrix.set(8, 15 - i - 1 + 1, mod, true)\n } else {\n matrix.set(8, 15 - i - 1, mod, true)\n }\n }\n\n // fixed module\n matrix.set(size - 8, 8, 1, true)\n}\n\n/**\n * Add encoded data bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Uint8Array} data Data codewords\n */\nfunction setupData (matrix, data) {\n const size = matrix.size\n let inc = -1\n let row = size - 1\n let bitIndex = 7\n let byteIndex = 0\n\n for (let col = size - 1; col > 0; col -= 2) {\n if (col === 6) col--\n\n while (true) {\n for (let c = 0; c < 2; c++) {\n if (!matrix.isReserved(row, col - c)) {\n let dark = false\n\n if (byteIndex < data.length) {\n dark = (((data[byteIndex] >>> bitIndex) & 1) === 1)\n }\n\n matrix.set(row, col - c, dark)\n bitIndex--\n\n if (bitIndex === -1) {\n byteIndex++\n bitIndex = 7\n }\n }\n }\n\n row += inc\n\n if (row < 0 || size <= row) {\n row -= inc\n inc = -inc\n break\n }\n }\n }\n}\n\n/**\n * Create encoded codewords from data input\n *\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {ByteData} data Data input\n * @return {Uint8Array} Buffer containing encoded codewords\n */\nfunction createData (version, errorCorrectionLevel, segments) {\n // Prepare data buffer\n const buffer = new BitBuffer()\n\n segments.forEach(function (data) {\n // prefix data with mode indicator (4 bits)\n buffer.put(data.mode.bit, 4)\n\n // Prefix data with character count indicator.\n // The character count indicator is a string of bits that represents the\n // number of characters that are being encoded.\n // The character count indicator must be placed after the mode indicator\n // and must be a certain number of bits long, depending on the QR version\n // and data mode\n // @see {@link Mode.getCharCountIndicator}.\n buffer.put(data.getLength(), Mode.getCharCountIndicator(data.mode, version))\n\n // add binary data sequence to buffer\n data.write(buffer)\n })\n\n // Calculate required number of bits\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8\n\n // Add a terminator.\n // If the bit string is shorter than the total number of required bits,\n // a terminator of up to four 0s must be added to the right side of the string.\n // If the bit string is more than four bits shorter than the required number of bits,\n // add four 0s to the end.\n if (buffer.getLengthInBits() + 4 <= dataTotalCodewordsBits) {\n buffer.put(0, 4)\n }\n\n // If the bit string is fewer than four bits shorter, add only the number of 0s that\n // are needed to reach the required number of bits.\n\n // After adding the terminator, if the number of bits in the string is not a multiple of 8,\n // pad the string on the right with 0s to make the string's length a multiple of 8.\n while (buffer.getLengthInBits() % 8 !== 0) {\n buffer.putBit(0)\n }\n\n // Add pad bytes if the string is still shorter than the total number of required bits.\n // Extend the buffer to fill the data capacity of the symbol corresponding to\n // the Version and Error Correction Level by adding the Pad Codewords 11101100 (0xEC)\n // and 00010001 (0x11) alternately.\n const remainingByte = (dataTotalCodewordsBits - buffer.getLengthInBits()) / 8\n for (let i = 0; i < remainingByte; i++) {\n buffer.put(i % 2 ? 0x11 : 0xEC, 8)\n }\n\n return createCodewords(buffer, version, errorCorrectionLevel)\n}\n\n/**\n * Encode input data with Reed-Solomon and return codewords with\n * relative error correction bits\n *\n * @param {BitBuffer} bitBuffer Data to encode\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @return {Uint8Array} Buffer containing encoded codewords\n */\nfunction createCodewords (bitBuffer, version, errorCorrectionLevel) {\n // Total codewords for this QR code version (Data + Error correction)\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n\n // Total number of error correction codewords\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n\n // Total number of data codewords\n const dataTotalCodewords = totalCodewords - ecTotalCodewords\n\n // Total number of blocks\n const ecTotalBlocks = ECCode.getBlocksCount(version, errorCorrectionLevel)\n\n // Calculate how many blocks each group should contain\n const blocksInGroup2 = totalCodewords % ecTotalBlocks\n const blocksInGroup1 = ecTotalBlocks - blocksInGroup2\n\n const totalCodewordsInGroup1 = Math.floor(totalCodewords / ecTotalBlocks)\n\n const dataCodewordsInGroup1 = Math.floor(dataTotalCodewords / ecTotalBlocks)\n const dataCodewordsInGroup2 = dataCodewordsInGroup1 + 1\n\n // Number of EC codewords is the same for both groups\n const ecCount = totalCodewordsInGroup1 - dataCodewordsInGroup1\n\n // Initialize a Reed-Solomon encoder with a generator polynomial of degree ecCount\n const rs = new ReedSolomonEncoder(ecCount)\n\n let offset = 0\n const dcData = new Array(ecTotalBlocks)\n const ecData = new Array(ecTotalBlocks)\n let maxDataSize = 0\n const buffer = new Uint8Array(bitBuffer.buffer)\n\n // Divide the buffer into the required number of blocks\n for (let b = 0; b < ecTotalBlocks; b++) {\n const dataSize = b < blocksInGroup1 ? dataCodewordsInGroup1 : dataCodewordsInGroup2\n\n // extract a block of data from buffer\n dcData[b] = buffer.slice(offset, offset + dataSize)\n\n // Calculate EC codewords for this data block\n ecData[b] = rs.encode(dcData[b])\n\n offset += dataSize\n maxDataSize = Math.max(maxDataSize, dataSize)\n }\n\n // Create final data\n // Interleave the data and error correction codewords from each block\n const data = new Uint8Array(totalCodewords)\n let index = 0\n let i, r\n\n // Add data codewords\n for (i = 0; i < maxDataSize; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n if (i < dcData[r].length) {\n data[index++] = dcData[r][i]\n }\n }\n }\n\n // Apped EC codewords\n for (i = 0; i < ecCount; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n data[index++] = ecData[r][i]\n }\n }\n\n return data\n}\n\n/**\n * Build QR Code symbol\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @param {ErrorCorretionLevel} errorCorrectionLevel Error level\n * @param {MaskPattern} maskPattern Mask pattern\n * @return {Object} Object containing symbol data\n */\nfunction createSymbol (data, version, errorCorrectionLevel, maskPattern) {\n let segments\n\n if (Array.isArray(data)) {\n segments = Segments.fromArray(data)\n } else if (typeof data === 'string') {\n let estimatedVersion = version\n\n if (!estimatedVersion) {\n const rawSegments = Segments.rawSplit(data)\n\n // Estimate best version that can contain raw splitted segments\n estimatedVersion = Version.getBestVersionForData(rawSegments, errorCorrectionLevel)\n }\n\n // Build optimized segments\n // If estimated version is undefined, try with the highest version\n segments = Segments.fromString(data, estimatedVersion || 40)\n } else {\n throw new Error('Invalid data')\n }\n\n // Get the min version that can contain data\n const bestVersion = Version.getBestVersionForData(segments, errorCorrectionLevel)\n\n // If no version is found, data cannot be stored\n if (!bestVersion) {\n throw new Error('The amount of data is too big to be stored in a QR Code')\n }\n\n // If not specified, use min version as default\n if (!version) {\n version = bestVersion\n\n // Check if the specified version can contain the data\n } else if (version < bestVersion) {\n throw new Error('\\n' +\n 'The chosen QR Code version cannot contain this amount of data.\\n' +\n 'Minimum version required to store current data is: ' + bestVersion + '.\\n'\n )\n }\n\n const dataBits = createData(version, errorCorrectionLevel, segments)\n\n // Allocate matrix buffer\n const moduleCount = Utils.getSymbolSize(version)\n const modules = new BitMatrix(moduleCount)\n\n // Add function modules\n setupFinderPattern(modules, version)\n setupTimingPattern(modules)\n setupAlignmentPattern(modules, version)\n\n // Add temporary dummy bits for format info just to set them as reserved.\n // This is needed to prevent these bits from being masked by {@link MaskPattern.applyMask}\n // since the masking operation must be performed only on the encoding region.\n // These blocks will be replaced with correct values later in code.\n setupFormatInfo(modules, errorCorrectionLevel, 0)\n\n if (version >= 7) {\n setupVersionInfo(modules, version)\n }\n\n // Add data codewords\n setupData(modules, dataBits)\n\n if (isNaN(maskPattern)) {\n // Find best mask pattern\n maskPattern = MaskPattern.getBestMask(modules,\n setupFormatInfo.bind(null, modules, errorCorrectionLevel))\n }\n\n // Apply mask pattern\n MaskPattern.applyMask(maskPattern, modules)\n\n // Replace format info bits with correct values\n setupFormatInfo(modules, errorCorrectionLevel, maskPattern)\n\n return {\n modules: modules,\n version: version,\n errorCorrectionLevel: errorCorrectionLevel,\n maskPattern: maskPattern,\n segments: segments\n }\n}\n\n/**\n * QR Code\n *\n * @param {String | Array} data Input data\n * @param {Object} options Optional configurations\n * @param {Number} options.version QR Code version\n * @param {String} options.errorCorrectionLevel Error correction level\n * @param {Function} options.toSJISFunc Helper func to convert utf8 to sjis\n */\nexports.create = function create (data, options) {\n if (typeof data === 'undefined' || data === '') {\n throw new Error('No input text')\n }\n\n let errorCorrectionLevel = ECLevel.M\n let version\n let mask\n\n if (typeof options !== 'undefined') {\n // Use higher error correction level as default\n errorCorrectionLevel = ECLevel.from(options.errorCorrectionLevel, ECLevel.M)\n version = Version.from(options.version)\n mask = MaskPattern.from(options.maskPattern)\n\n if (options.toSJISFunc) {\n Utils.setToSJISFunction(options.toSJISFunc)\n }\n }\n\n return createSymbol(data, version, errorCorrectionLevel, mask)\n}\n","function hex2rgba (hex) {\n if (typeof hex === 'number') {\n hex = hex.toString()\n }\n\n if (typeof hex !== 'string') {\n throw new Error('Color should be defined as hex string')\n }\n\n let hexCode = hex.slice().replace('#', '').split('')\n if (hexCode.length < 3 || hexCode.length === 5 || hexCode.length > 8) {\n throw new Error('Invalid hex color: ' + hex)\n }\n\n // Convert from short to long form (fff -> ffffff)\n if (hexCode.length === 3 || hexCode.length === 4) {\n hexCode = Array.prototype.concat.apply([], hexCode.map(function (c) {\n return [c, c]\n }))\n }\n\n // Add default alpha value\n if (hexCode.length === 6) hexCode.push('F', 'F')\n\n const hexValue = parseInt(hexCode.join(''), 16)\n\n return {\n r: (hexValue >> 24) & 255,\n g: (hexValue >> 16) & 255,\n b: (hexValue >> 8) & 255,\n a: hexValue & 255,\n hex: '#' + hexCode.slice(0, 6).join('')\n }\n}\n\nexports.getOptions = function getOptions (options) {\n if (!options) options = {}\n if (!options.color) options.color = {}\n\n const margin = typeof options.margin === 'undefined' ||\n options.margin === null ||\n options.margin < 0\n ? 4\n : options.margin\n\n const width = options.width && options.width >= 21 ? options.width : undefined\n const scale = options.scale || 4\n\n return {\n width: width,\n scale: width ? 4 : scale,\n margin: margin,\n color: {\n dark: hex2rgba(options.color.dark || '#000000ff'),\n light: hex2rgba(options.color.light || '#ffffffff')\n },\n type: options.type,\n rendererOpts: options.rendererOpts || {}\n }\n}\n\nexports.getScale = function getScale (qrSize, opts) {\n return opts.width && opts.width >= qrSize + opts.margin * 2\n ? opts.width / (qrSize + opts.margin * 2)\n : opts.scale\n}\n\nexports.getImageWidth = function getImageWidth (qrSize, opts) {\n const scale = exports.getScale(qrSize, opts)\n return Math.floor((qrSize + opts.margin * 2) * scale)\n}\n\nexports.qrToImageData = function qrToImageData (imgData, qr, opts) {\n const size = qr.modules.size\n const data = qr.modules.data\n const scale = exports.getScale(size, opts)\n const symbolSize = Math.floor((size + opts.margin * 2) * scale)\n const scaledMargin = opts.margin * scale\n const palette = [opts.color.light, opts.color.dark]\n\n for (let i = 0; i < symbolSize; i++) {\n for (let j = 0; j < symbolSize; j++) {\n let posDst = (i * symbolSize + j) * 4\n let pxColor = opts.color.light\n\n if (i >= scaledMargin && j >= scaledMargin &&\n i < symbolSize - scaledMargin && j < symbolSize - scaledMargin) {\n const iSrc = Math.floor((i - scaledMargin) / scale)\n const jSrc = Math.floor((j - scaledMargin) / scale)\n pxColor = palette[data[iSrc * size + jSrc] ? 1 : 0]\n }\n\n imgData[posDst++] = pxColor.r\n imgData[posDst++] = pxColor.g\n imgData[posDst++] = pxColor.b\n imgData[posDst] = pxColor.a\n }\n }\n}\n","const Utils = require('./utils')\n\nfunction clearCanvas (ctx, canvas, size) {\n ctx.clearRect(0, 0, canvas.width, canvas.height)\n\n if (!canvas.style) canvas.style = {}\n canvas.height = size\n canvas.width = size\n canvas.style.height = size + 'px'\n canvas.style.width = size + 'px'\n}\n\nfunction getCanvasElement () {\n try {\n return document.createElement('canvas')\n } catch (e) {\n throw new Error('You need to specify a canvas element')\n }\n}\n\nexports.render = function render (qrData, canvas, options) {\n let opts = options\n let canvasEl = canvas\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!canvas) {\n canvasEl = getCanvasElement()\n }\n\n opts = Utils.getOptions(opts)\n const size = Utils.getImageWidth(qrData.modules.size, opts)\n\n const ctx = canvasEl.getContext('2d')\n const image = ctx.createImageData(size, size)\n Utils.qrToImageData(image.data, qrData, opts)\n\n clearCanvas(ctx, canvasEl, size)\n ctx.putImageData(image, 0, 0)\n\n return canvasEl\n}\n\nexports.renderToDataURL = function renderToDataURL (qrData, canvas, options) {\n let opts = options\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!opts) opts = {}\n\n const canvasEl = exports.render(qrData, canvas, opts)\n\n const type = opts.type || 'image/png'\n const rendererOpts = opts.rendererOpts || {}\n\n return canvasEl.toDataURL(type, rendererOpts.quality)\n}\n","const Utils = require('./utils')\n\nfunction getColorAttrib (color, attrib) {\n const alpha = color.a / 255\n const str = attrib + '=\"' + color.hex + '\"'\n\n return alpha < 1\n ? str + ' ' + attrib + '-opacity=\"' + alpha.toFixed(2).slice(1) + '\"'\n : str\n}\n\nfunction svgCmd (cmd, x, y) {\n let str = cmd + x\n if (typeof y !== 'undefined') str += ' ' + y\n\n return str\n}\n\nfunction qrToPath (data, size, margin) {\n let path = ''\n let moveBy = 0\n let newRow = false\n let lineLength = 0\n\n for (let i = 0; i < data.length; i++) {\n const col = Math.floor(i % size)\n const row = Math.floor(i / size)\n\n if (!col && !newRow) newRow = true\n\n if (data[i]) {\n lineLength++\n\n if (!(i > 0 && col > 0 && data[i - 1])) {\n path += newRow\n ? svgCmd('M', col + margin, 0.5 + row + margin)\n : svgCmd('m', moveBy, 0)\n\n moveBy = 0\n newRow = false\n }\n\n if (!(col + 1 < size && data[i + 1])) {\n path += svgCmd('h', lineLength)\n lineLength = 0\n }\n } else {\n moveBy++\n }\n }\n\n return path\n}\n\nexports.render = function render (qrData, options, cb) {\n const opts = Utils.getOptions(options)\n const size = qrData.modules.size\n const data = qrData.modules.data\n const qrcodesize = size + opts.margin * 2\n\n const bg = !opts.color.light.a\n ? ''\n : ''\n\n const path =\n ''\n\n const viewBox = 'viewBox=\"' + '0 0 ' + qrcodesize + ' ' + qrcodesize + '\"'\n\n const width = !opts.width ? '' : 'width=\"' + opts.width + '\" height=\"' + opts.width + '\" '\n\n const svgTag = '' + bg + path + '\\n'\n\n if (typeof cb === 'function') {\n cb(null, svgTag)\n }\n\n return svgTag\n}\n","\nconst canPromise = require('./can-promise')\n\nconst QRCode = require('./core/qrcode')\nconst CanvasRenderer = require('./renderer/canvas')\nconst SvgRenderer = require('./renderer/svg-tag.js')\n\nfunction renderCanvas (renderFunc, canvas, text, opts, cb) {\n const args = [].slice.call(arguments, 1)\n const argsNum = args.length\n const isLastArgCb = typeof args[argsNum - 1] === 'function'\n\n if (!isLastArgCb && !canPromise()) {\n throw new Error('Callback required as last argument')\n }\n\n if (isLastArgCb) {\n if (argsNum < 2) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 2) {\n cb = text\n text = canvas\n canvas = opts = undefined\n } else if (argsNum === 3) {\n if (canvas.getContext && typeof cb === 'undefined') {\n cb = opts\n opts = undefined\n } else {\n cb = opts\n opts = text\n text = canvas\n canvas = undefined\n }\n }\n } else {\n if (argsNum < 1) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 1) {\n text = canvas\n canvas = opts = undefined\n } else if (argsNum === 2 && !canvas.getContext) {\n opts = text\n text = canvas\n canvas = undefined\n }\n\n return new Promise(function (resolve, reject) {\n try {\n const data = QRCode.create(text, opts)\n resolve(renderFunc(data, canvas, opts))\n } catch (e) {\n reject(e)\n }\n })\n }\n\n try {\n const data = QRCode.create(text, opts)\n cb(null, renderFunc(data, canvas, opts))\n } catch (e) {\n cb(e)\n }\n}\n\nexports.create = QRCode.create\nexports.toCanvas = renderCanvas.bind(null, CanvasRenderer.render)\nexports.toDataURL = renderCanvas.bind(null, CanvasRenderer.renderToDataURL)\n\n// only svg for now.\nexports.toString = renderCanvas.bind(null, function (data, _, opts) {\n return SvgRenderer.render(data, opts)\n})\n","import { svg } from 'lit';\nimport QRCodeUtil from 'qrcode';\nconst CONNECTING_ERROR_MARGIN = 0.1;\nconst CIRCLE_SIZE_MODIFIER = 2.5;\nconst QRCODE_MATRIX_MARGIN = 7;\nfunction isAdjecentDots(cy, otherCy, cellSize) {\n if (cy === otherCy) {\n return false;\n }\n const diff = cy - otherCy < 0 ? otherCy - cy : cy - otherCy;\n return diff <= cellSize + CONNECTING_ERROR_MARGIN;\n}\nfunction getMatrix(value, errorCorrectionLevel) {\n const arr = Array.prototype.slice.call(QRCodeUtil.create(value, { errorCorrectionLevel }).modules.data, 0);\n const sqrt = Math.sqrt(arr.length);\n return arr.reduce((rows, key, index) => (index % sqrt === 0 ? rows.push([key]) : rows[rows.length - 1].push(key)) && rows, []);\n}\nexport const QrCodeUtil = {\n generate(uri, size, logoSize) {\n const dotColor = '#141414';\n const edgeColor = 'transparent';\n const strokeWidth = 5;\n const dots = [];\n const matrix = getMatrix(uri, 'Q');\n const cellSize = size / matrix.length;\n const qrList = [\n { x: 0, y: 0 },\n { x: 1, y: 0 },\n { x: 0, y: 1 }\n ];\n qrList.forEach(({ x, y }) => {\n const x1 = (matrix.length - QRCODE_MATRIX_MARGIN) * cellSize * x;\n const y1 = (matrix.length - QRCODE_MATRIX_MARGIN) * cellSize * y;\n const borderRadius = 0.45;\n for (let i = 0; i < qrList.length; i += 1) {\n const dotSize = cellSize * (QRCODE_MATRIX_MARGIN - i * 2);\n dots.push(svg `\n \n `);\n }\n });\n const clearArenaSize = Math.floor((logoSize + 25) / cellSize);\n const matrixMiddleStart = matrix.length / 2 - clearArenaSize / 2;\n const matrixMiddleEnd = matrix.length / 2 + clearArenaSize / 2 - 1;\n const circles = [];\n matrix.forEach((row, i) => {\n row.forEach((_, j) => {\n if (matrix[i][j]) {\n if (!((i < QRCODE_MATRIX_MARGIN && j < QRCODE_MATRIX_MARGIN) ||\n (i > matrix.length - (QRCODE_MATRIX_MARGIN + 1) && j < QRCODE_MATRIX_MARGIN) ||\n (i < QRCODE_MATRIX_MARGIN && j > matrix.length - (QRCODE_MATRIX_MARGIN + 1)))) {\n if (!(i > matrixMiddleStart &&\n i < matrixMiddleEnd &&\n j > matrixMiddleStart &&\n j < matrixMiddleEnd)) {\n const cx = i * cellSize + cellSize / 2;\n const cy = j * cellSize + cellSize / 2;\n circles.push([cx, cy]);\n }\n }\n }\n });\n });\n const circlesToConnect = {};\n circles.forEach(([cx, cy]) => {\n if (circlesToConnect[cx]) {\n circlesToConnect[cx]?.push(cy);\n }\n else {\n circlesToConnect[cx] = [cy];\n }\n });\n Object.entries(circlesToConnect)\n .map(([cx, cys]) => {\n const newCys = cys.filter(cy => cys.every(otherCy => !isAdjecentDots(cy, otherCy, cellSize)));\n return [Number(cx), newCys];\n })\n .forEach(([cx, cys]) => {\n cys.forEach(cy => {\n dots.push(svg ``);\n });\n });\n Object.entries(circlesToConnect)\n .filter(([_, cys]) => cys.length > 1)\n .map(([cx, cys]) => {\n const newCys = cys.filter(cy => cys.some(otherCy => isAdjecentDots(cy, otherCy, cellSize)));\n return [Number(cx), newCys];\n })\n .map(([cx, cys]) => {\n cys.sort((a, b) => (a < b ? -1 : 1));\n const groups = [];\n for (const cy of cys) {\n const group = groups.find(item => item.some(otherCy => isAdjecentDots(cy, otherCy, cellSize)));\n if (group) {\n group.push(cy);\n }\n else {\n groups.push([cy]);\n }\n }\n return [cx, groups.map(item => [item[0], item[item.length - 1]])];\n })\n .forEach(([cx, groups]) => {\n groups.forEach(([y1, y2]) => {\n dots.push(svg `\n \n `);\n });\n });\n return dots;\n }\n};\n//# sourceMappingURL=QrCode.js.map","import { css } from 'lit';\nexport default css `\n :host {\n position: relative;\n user-select: none;\n display: block;\n overflow: hidden;\n aspect-ratio: 1 / 1;\n width: var(--local-size);\n }\n\n :host([data-theme='dark']) {\n border-radius: clamp(0px, var(--wui-border-radius-l), 40px);\n background-color: var(--wui-color-inverse-100);\n padding: var(--wui-spacing-l);\n }\n\n :host([data-theme='light']) {\n box-shadow: 0 0 0 1px var(--wui-color-bg-125);\n background-color: var(--wui-color-bg-125);\n }\n\n :host([data-clear='true']) > wui-icon {\n display: none;\n }\n\n svg:first-child,\n wui-image,\n wui-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translateY(-50%) translateX(-50%);\n }\n\n wui-image {\n width: 25%;\n height: 25%;\n border-radius: var(--wui-border-radius-xs);\n }\n\n wui-icon {\n width: 100%;\n height: 100%;\n color: #3396ff !important;\n transform: translateY(-50%) translateX(-50%) scale(0.25);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement, svg } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-image/index.js';\nimport { QrCodeUtil } from '../../utils/QrCode.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiQrCode = class WuiQrCode extends LitElement {\n constructor() {\n super(...arguments);\n this.uri = '';\n this.size = 0;\n this.theme = 'dark';\n this.imageSrc = undefined;\n this.alt = undefined;\n this.arenaClear = undefined;\n }\n render() {\n this.dataset['theme'] = this.theme;\n this.dataset['clear'] = String(this.arenaClear);\n this.style.cssText = `--local-size: ${this.size}px`;\n return html `${this.templateVisual()} ${this.templateSvg()}`;\n }\n templateSvg() {\n const size = this.theme === 'light' ? this.size : this.size - 16 * 2;\n return svg `\n \n ${QrCodeUtil.generate(this.uri, size, this.arenaClear ? 0 : size / 4)}\n \n `;\n }\n templateVisual() {\n if (this.imageSrc) {\n return html ``;\n }\n return html ``;\n }\n};\nWuiQrCode.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiQrCode.prototype, \"uri\", void 0);\n__decorate([\n property({ type: Number })\n], WuiQrCode.prototype, \"size\", void 0);\n__decorate([\n property()\n], WuiQrCode.prototype, \"theme\", void 0);\n__decorate([\n property()\n], WuiQrCode.prototype, \"imageSrc\", void 0);\n__decorate([\n property()\n], WuiQrCode.prototype, \"alt\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiQrCode.prototype, \"arenaClear\", void 0);\nWuiQrCode = __decorate([\n customElement('wui-qr-code')\n], WuiQrCode);\nexport { WuiQrCode };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n position: relative;\n display: inline-block;\n width: 100%;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { createRef, ref } from 'lit/directives/ref.js';\nimport '../../composites/wui-input-element/index.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../wui-input-text/index.js';\nimport styles from './styles.js';\nlet WuiSearchBar = class WuiSearchBar extends LitElement {\n constructor() {\n super(...arguments);\n this.inputComponentRef = createRef();\n }\n render() {\n return html `\n \n \n \n `;\n }\n clearValue() {\n const inputComponent = this.inputComponentRef.value;\n const inputElement = inputComponent?.inputElementRef.value;\n if (inputElement) {\n inputElement.value = '';\n inputElement.focus();\n inputElement.dispatchEvent(new Event('input'));\n }\n }\n};\nWuiSearchBar.styles = [resetStyles, styles];\nWuiSearchBar = __decorate([\n customElement('wui-search-bar')\n], WuiSearchBar);\nexport { WuiSearchBar };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: flex;\n column-gap: var(--wui-spacing-xs);\n align-items: center;\n padding: var(--wui-spacing-xs) var(--wui-spacing-m) var(--wui-spacing-xs) var(--wui-spacing-xs);\n border-radius: var(--wui-border-radius-3xl);\n border: 1px solid var(--wui-gray-glass-005);\n box-sizing: border-box;\n max-height: 40px;\n background-color: var(--wui-color-bg-175);\n box-shadow:\n 0px 14px 64px -4px rgba(0, 0, 0, 0.15),\n 0px 8px 22px -6px rgba(0, 0, 0, 0.15);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-text/index.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../wui-icon-box/index.js';\nimport styles from './styles.js';\nlet WuiSnackbar = class WuiSnackbar extends LitElement {\n constructor() {\n super(...arguments);\n this.backgroundColor = 'accent-100';\n this.iconColor = 'accent-100';\n this.icon = 'checkmark';\n this.message = '';\n }\n render() {\n return html `\n \n ${this.message}\n `;\n }\n};\nWuiSnackbar.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiSnackbar.prototype, \"backgroundColor\", void 0);\n__decorate([\n property()\n], WuiSnackbar.prototype, \"iconColor\", void 0);\n__decorate([\n property()\n], WuiSnackbar.prototype, \"icon\", void 0);\n__decorate([\n property()\n], WuiSnackbar.prototype, \"message\", void 0);\nWuiSnackbar = __decorate([\n customElement('wui-snackbar')\n], WuiSnackbar);\nexport { WuiSnackbar };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: inline-flex;\n background-color: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-3xl);\n padding: var(--wui-spacing-3xs);\n position: relative;\n height: 36px;\n overflow: hidden;\n }\n\n :host::before {\n content: '';\n position: absolute;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: var(--local-tab-width);\n height: 28px;\n border-radius: var(--wui-border-radius-3xl);\n background-color: var(--wui-gray-glass-002);\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-002);\n transform: translateX(calc(var(--local-tab) * var(--local-tab-width)));\n transition: transform var(--wui-ease-out-power-1) var(--wui-duration-md);\n will-change: background-color, opacity;\n }\n\n :host([data-type='flex'])::before {\n left: 3px;\n transform: translateX(calc((var(--local-tab) * 34px) + (var(--local-tab) * 4px)));\n }\n\n :host([data-type='flex']) {\n display: flex;\n padding: 0px 0px 0px 12px;\n gap: 4px;\n }\n\n :host([data-type='flex']) > button > wui-text {\n position: absolute;\n left: 18px;\n opacity: 0;\n }\n\n button[data-active='true'] > wui-icon,\n button[data-active='true'] > wui-text {\n color: var(--wui-color-fg-100);\n }\n\n button[data-active='false'] > wui-icon,\n button[data-active='false'] > wui-text {\n color: var(--wui-color-fg-200);\n }\n\n button[data-active='true']:disabled,\n button[data-active='false']:disabled {\n background-color: transparent;\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n button[data-active='true']:disabled > wui-text {\n color: var(--wui-color-fg-200);\n }\n\n button[data-active='false']:disabled > wui-text {\n color: var(--wui-color-fg-300);\n }\n\n button > wui-icon,\n button > wui-text {\n pointer-events: none;\n transition: color var(--wui-e ase-out-power-1) var(--wui-duration-md);\n will-change: color;\n }\n\n button {\n width: var(--local-tab-width);\n transition: background-color var(--wui-ease-out-power-1) var(--wui-duration-md);\n will-change: background-color;\n }\n\n :host([data-type='flex']) > button {\n width: 34px;\n position: relative;\n display: flex;\n justify-content: flex-start;\n }\n\n button:hover:enabled,\n button:active:enabled {\n background-color: transparent !important;\n }\n\n button:hover:enabled > wui-icon,\n button:active:enabled > wui-icon {\n color: var(--wui-color-fg-125);\n }\n\n button:hover:enabled > wui-text,\n button:active:enabled > wui-text {\n color: var(--wui-color-fg-125);\n }\n\n button {\n border-radius: var(--wui-border-radius-3xl);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport '../../components/wui-icon/index.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiTabs = class WuiTabs extends LitElement {\n constructor() {\n super(...arguments);\n this.tabs = [];\n this.onTabChange = () => null;\n this.buttons = [];\n this.disabled = false;\n this.localTabWidth = '100px';\n this.activeTab = 0;\n this.isDense = false;\n }\n render() {\n this.isDense = this.tabs.length > 3;\n this.style.cssText = `\n --local-tab: ${this.activeTab};\n --local-tab-width: ${this.localTabWidth};\n `;\n this.dataset['type'] = this.isDense ? 'flex' : 'block';\n return this.tabs.map((tab, index) => {\n const isActive = index === this.activeTab;\n return html `\n this.onTabClick(index)}\n data-active=${isActive}\n data-testid=\"tab-${tab.label?.toLowerCase()}\"\n >\n ${this.iconTemplate(tab)}\n ${tab.label} \n \n `;\n });\n }\n firstUpdated() {\n if (this.shadowRoot && this.isDense) {\n this.buttons = [...this.shadowRoot.querySelectorAll('button')];\n setTimeout(() => {\n this.animateTabs(0, true);\n }, 0);\n }\n }\n iconTemplate(tab) {\n if (tab.icon) {\n return html ``;\n }\n return null;\n }\n onTabClick(index) {\n if (this.buttons) {\n this.animateTabs(index, false);\n }\n this.activeTab = index;\n this.onTabChange(index);\n }\n animateTabs(index, initialAnimation) {\n const passiveBtn = this.buttons[this.activeTab];\n const activeBtn = this.buttons[index];\n const passiveBtnText = passiveBtn?.querySelector('wui-text');\n const activeBtnText = activeBtn?.querySelector('wui-text');\n const activeBtnBounds = activeBtn?.getBoundingClientRect();\n const activeBtnTextBounds = activeBtnText?.getBoundingClientRect();\n if (passiveBtn && passiveBtnText && !initialAnimation && index !== this.activeTab) {\n passiveBtnText.animate([{ opacity: 0 }], {\n duration: 50,\n easing: 'ease',\n fill: 'forwards'\n });\n passiveBtn.animate([{ width: `34px` }], {\n duration: 500,\n easing: 'ease',\n fill: 'forwards'\n });\n }\n if (activeBtn && activeBtnBounds && activeBtnTextBounds && activeBtnText) {\n if (index !== this.activeTab || initialAnimation) {\n this.localTabWidth = `${Math.round(activeBtnBounds.width + activeBtnTextBounds.width) + 6}px`;\n activeBtn.animate([{ width: `${activeBtnBounds.width + activeBtnTextBounds.width}px` }], {\n duration: initialAnimation ? 0 : 500,\n fill: 'forwards',\n easing: 'ease'\n });\n activeBtnText.animate([{ opacity: 1 }], {\n duration: initialAnimation ? 0 : 125,\n delay: initialAnimation ? 0 : 200,\n fill: 'forwards',\n easing: 'ease'\n });\n }\n }\n }\n};\nWuiTabs.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property({ type: Array })\n], WuiTabs.prototype, \"tabs\", void 0);\n__decorate([\n property()\n], WuiTabs.prototype, \"onTabChange\", void 0);\n__decorate([\n property({ type: Array })\n], WuiTabs.prototype, \"buttons\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiTabs.prototype, \"disabled\", void 0);\n__decorate([\n property()\n], WuiTabs.prototype, \"localTabWidth\", void 0);\n__decorate([\n state()\n], WuiTabs.prototype, \"activeTab\", void 0);\n__decorate([\n state()\n], WuiTabs.prototype, \"isDense\", void 0);\nWuiTabs = __decorate([\n customElement('wui-tabs')\n], WuiTabs);\nexport { WuiTabs };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n }\n\n :host > button {\n gap: var(--wui-spacing-xxs);\n padding: var(--wui-spacing-xs);\n padding-right: var(--wui-spacing-1xs);\n height: 40px;\n border-radius: var(--wui-border-radius-3xl);\n background: var(--wui-gray-glass-002);\n border-width: 0px;\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-002);\n }\n\n :host > button wui-image {\n width: 24px;\n height: 24px;\n border-radius: var(--wui-border-radius-s);\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-010);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport '../../components/wui-text/index.js';\nimport '../../components/wui-image/index.js';\nimport '../wui-icon-box/index.js';\nimport styles from './styles.js';\nlet WuiTokenButton = class WuiTokenButton extends LitElement {\n constructor() {\n super(...arguments);\n this.text = '';\n }\n render() {\n return html `\n \n `;\n }\n tokenTemplate() {\n if (this.imageSrc) {\n return html ``;\n }\n return html `\n \n `;\n }\n};\nWuiTokenButton.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiTokenButton.prototype, \"imageSrc\", void 0);\n__decorate([\n property()\n], WuiTokenButton.prototype, \"text\", void 0);\nWuiTokenButton = __decorate([\n customElement('wui-token-button')\n], WuiTokenButton);\nexport { WuiTokenButton };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n padding: 9px var(--wui-spacing-s) 10px var(--wui-spacing-s);\n border-radius: var(--wui-border-radius-xxs);\n\n color: var(--wui-color-bg-100);\n position: relative;\n }\n\n :host([data-variant='shade']) {\n background-color: var(--wui-color-bg-150);\n border: 1px solid var(--wui-gray-glass-005);\n }\n\n :host([data-variant='shade']) > wui-text {\n color: var(--wui-color-fg-150);\n }\n\n :host([data-variant='fill']) {\n background-color: var(--wui-color-fg-100);\n border: none;\n }\n\n wui-icon {\n position: absolute;\n width: 12px !important;\n height: 4px !important;\n }\n\n wui-icon[data-placement='top'] {\n bottom: 0px;\n left: 50%;\n transform: translate(-50%, 95%);\n }\n\n wui-icon[data-placement='bottom'] {\n top: 0;\n left: 50%;\n transform: translate(-50%, -95%) rotate(180deg);\n }\n\n wui-icon[data-placement='right'] {\n top: 50%;\n left: 0;\n transform: translate(-65%, -50%) rotate(90deg);\n }\n\n wui-icon[data-placement='left'] {\n top: 50%;\n right: 0%;\n transform: translate(65%, -50%) rotate(270deg);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-text/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiTooltip = class WuiTooltip extends LitElement {\n constructor() {\n super(...arguments);\n this.placement = 'top';\n this.variant = 'fill';\n this.message = '';\n }\n render() {\n this.dataset['variant'] = this.variant;\n return html `\n ${this.message}`;\n }\n};\nWuiTooltip.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiTooltip.prototype, \"placement\", void 0);\n__decorate([\n property()\n], WuiTooltip.prototype, \"variant\", void 0);\n__decorate([\n property()\n], WuiTooltip.prototype, \"message\", void 0);\nWuiTooltip = __decorate([\n customElement('wui-tooltip')\n], WuiTooltip);\nexport { WuiTooltip };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n position: relative;\n }\n\n button {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 48px;\n width: 100%;\n background-color: var(--wui-accent-glass-010);\n border-radius: var(--wui-border-radius-xs);\n border: 1px solid var(--wui-accent-glass-010);\n transition: background-color var(--wui-ease-out-power-1) var(--wui-duration-md);\n will-change: background-color;\n }\n\n wui-tooltip {\n padding: 7px var(--wui-spacing-s) 8px var(--wui-spacing-s);\n position: absolute;\n top: -8px;\n left: 50%;\n transform: translate(-50%, -100%);\n opacity: 0;\n display: none;\n }\n\n @media (hover: hover) and (pointer: fine) {\n button:hover:enabled {\n background-color: var(--wui-accent-glass-015);\n }\n\n button:active:enabled {\n background-color: var(--wui-accent-glass-020);\n }\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nimport '../wui-tooltip/index.js';\nimport '../../components/wui-icon/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nlet WuiTooltipSelect = class WuiTooltipSelect extends LitElement {\n constructor() {\n super(...arguments);\n this.text = '';\n this.icon = 'card';\n }\n render() {\n return html `\n \n \n `;\n }\n onMouseEnter() {\n const element = this.shadowRoot?.querySelector('wui-tooltip');\n if (element) {\n element.style.display = 'flex';\n element?.animate([{ opacity: 0 }, { opacity: 1 }], {\n fill: 'forwards',\n easing: 'ease',\n duration: 250\n });\n }\n }\n onMouseLeave() {\n const element = this.shadowRoot?.querySelector('wui-tooltip');\n if (element) {\n element.style.display = 'none';\n element?.animate([{ opacity: 1 }, { opacity: 0 }], {\n fill: 'forwards',\n easing: 'ease',\n duration: 200\n });\n }\n }\n};\nWuiTooltipSelect.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiTooltipSelect.prototype, \"text\", void 0);\n__decorate([\n property()\n], WuiTooltipSelect.prototype, \"icon\", void 0);\nWuiTooltipSelect = __decorate([\n customElement('wui-tooltip-select')\n], WuiTooltipSelect);\nexport { WuiTooltipSelect };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-flex {\n cursor: pointer;\n display: flex;\n column-gap: var(--wui-spacing-s);\n padding: var(--wui-spacing-xs);\n padding-right: var(--wui-spacing-l);\n width: 100%;\n background-color: transparent;\n border-radius: var(--wui-border-radius-xs);\n color: var(--wui-color-fg-250);\n transition: background-color 0.2s linear;\n }\n\n :host > wui-flex:hover {\n background-color: var(--wui-gray-glass-002);\n }\n\n :host([disabled]) > wui-flex {\n opacity: 0.6;\n }\n\n :host([disabled]) > wui-flex:hover {\n background-color: transparent;\n }\n\n :host > wui-flex > wui-flex {\n flex: 1;\n }\n\n :host > wui-flex > wui-image {\n width: 40px;\n height: 40px;\n border-radius: var(--wui-border-radius-3xl);\n position: relative;\n }\n\n :host > wui-flex > wui-image::after {\n position: absolute;\n content: '';\n inset: 0;\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-010);\n border-radius: var(--wui-border-radius-l);\n }\n\n button > wui-icon-box[data-variant='square-blue'] {\n border-radius: var(--wui-border-radius-3xs);\n position: relative;\n border: none;\n width: 36px;\n height: 36px;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-image/index.js';\nimport '../../components/wui-loading-spinner/index.js';\nimport '../../components/wui-text/index.js';\nimport '../../layout/wui-flex/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../wui-icon-box/index.js';\nimport styles from './styles.js';\nimport { UiHelperUtil } from '../../utils/UiHelperUtil.js';\nimport { NumberUtil } from '@web3modal/common';\nlet WuiTokenListItem = class WuiTokenListItem extends LitElement {\n constructor() {\n super(...arguments);\n this.imageSrc = undefined;\n this.name = undefined;\n this.symbol = undefined;\n this.price = undefined;\n this.amount = undefined;\n }\n render() {\n const value = NumberUtil.multiply(this.price, this.amount)?.toFixed(3);\n return html `\n \n ${this.visualTemplate()}\n \n \n ${this.name}\n ${value\n ? html `\n \n $${UiHelperUtil.formatNumberToLocalString(value, 3)}\n \n `\n : null}\n \n \n ${this.symbol}\n ${this.amount &&\n html `${UiHelperUtil.formatNumberToLocalString(this.amount, 4)}`}\n \n \n \n `;\n }\n visualTemplate() {\n if (this.imageSrc) {\n return html ``;\n }\n return null;\n }\n};\nWuiTokenListItem.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiTokenListItem.prototype, \"imageSrc\", void 0);\n__decorate([\n property()\n], WuiTokenListItem.prototype, \"name\", void 0);\n__decorate([\n property()\n], WuiTokenListItem.prototype, \"symbol\", void 0);\n__decorate([\n property()\n], WuiTokenListItem.prototype, \"price\", void 0);\n__decorate([\n property()\n], WuiTokenListItem.prototype, \"amount\", void 0);\nWuiTokenListItem = __decorate([\n customElement('wui-token-list-item')\n], WuiTokenListItem);\nexport { WuiTokenListItem };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: flex;\n justify-content: center;\n align-items: center;\n width: var(--wui-icon-box-size-xl);\n height: var(--wui-icon-box-size-xl);\n box-shadow: 0 0 0 8px var(--wui-thumbnail-border);\n border-radius: var(--local-border-radius);\n overflow: hidden;\n }\n\n wui-icon {\n width: 32px;\n height: 32px;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-image/index.js';\nimport '../../components/wui-icon/index.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiVisualThumbnail = class WuiVisualThumbnail extends LitElement {\n render() {\n this.style.cssText = `--local-border-radius: ${this.borderRadiusFull ? '1000px' : '20px'};`;\n return html `${this.templateVisual()}`;\n }\n templateVisual() {\n if (this.imageSrc) {\n return html ``;\n }\n return html ``;\n }\n};\nWuiVisualThumbnail.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiVisualThumbnail.prototype, \"imageSrc\", void 0);\n__decorate([\n property()\n], WuiVisualThumbnail.prototype, \"alt\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiVisualThumbnail.prototype, \"borderRadiusFull\", void 0);\nWuiVisualThumbnail = __decorate([\n customElement('wui-visual-thumbnail')\n], WuiVisualThumbnail);\nexport { WuiVisualThumbnail };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n }\n\n button {\n width: 100%;\n display: block;\n padding-top: var(--wui-spacing-l);\n padding-bottom: var(--wui-spacing-l);\n padding-left: var(--wui-spacing-s);\n padding-right: var(--wui-spacing-2l);\n border-radius: var(--wui-border-radius-s);\n background-color: var(--wui-accent-glass-015);\n }\n\n button:hover {\n background-color: var(--wui-accent-glass-010) !important;\n }\n\n button:active {\n background-color: var(--wui-accent-glass-020) !important;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport '../../layout/wui-flex/index.js';\nimport '../../components/wui-text/index.js';\nimport '../../composites/wui-button/index.js';\nimport '../../composites/wui-icon-box/index.js';\nimport { resetStyles, elementStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nimport { property } from 'lit/decorators.js';\nlet WuiNoticeCard = class WuiNoticeCard extends LitElement {\n constructor() {\n super(...arguments);\n this.label = '';\n this.description = '';\n this.icon = 'wallet';\n }\n render() {\n return html `\n \n `;\n }\n};\nWuiNoticeCard.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiNoticeCard.prototype, \"label\", void 0);\n__decorate([\n property()\n], WuiNoticeCard.prototype, \"description\", void 0);\n__decorate([\n property()\n], WuiNoticeCard.prototype, \"icon\", void 0);\nWuiNoticeCard = __decorate([\n customElement('wui-notice-card')\n], WuiNoticeCard);\nexport { WuiNoticeCard };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n height: auto;\n position: relative;\n flex-direction: column;\n gap: var(--wui-spacing-s);\n padding: 17px 18px 17px var(--wui-spacing-m);\n width: 100%;\n background-color: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-xs);\n color: var(--wui-color-fg-250);\n }\n\n .overflowedContent {\n width: 100%;\n overflow: hidden;\n }\n\n .overflowedContent[data-active='false']:after {\n content: '';\n position: absolute;\n top: 50%;\n left: 0;\n right: 0;\n bottom: 0;\n background: linear-gradient(to top, var(--wui-color-bg-200), transparent);\n border-bottom-left-radius: var(--wui-border-radius-xs);\n border-bottom-right-radius: var(--wui-border-radius-xs);\n }\n\n .heightContent {\n max-height: 100px;\n }\n\n pre {\n text-align: left;\n white-space: pre-wrap;\n height: auto;\n overflow-x: auto;\n overflow-wrap: anywhere;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-text/index.js';\nimport '../../layout/wui-flex/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nconst MAX_HEIGHT = 100;\nlet WuiListAccordion = class WuiListAccordion extends LitElement {\n constructor() {\n super(...arguments);\n this.textTitle = '';\n this.overflowedContent = '';\n this.toggled = false;\n this.enableAccordion = false;\n this.scrollElement = undefined;\n this.scrollHeightElement = 0;\n }\n updated(changedProperties) {\n super.updated(changedProperties);\n if (changedProperties.has('textTitle') || changedProperties.has('overflowedContent')) {\n setTimeout(() => {\n this.checkHeight();\n }, 1);\n }\n }\n checkHeight() {\n this.updateComplete.then(() => {\n const heightElement = this.shadowRoot?.querySelector('.heightContent');\n const textElement = this.shadowRoot?.querySelector('.textContent');\n if (heightElement && textElement) {\n this.scrollElement = heightElement;\n const scrollHeight = textElement?.scrollHeight;\n if (scrollHeight && scrollHeight > MAX_HEIGHT) {\n this.enableAccordion = true;\n this.scrollHeightElement = scrollHeight;\n this.requestUpdate();\n }\n }\n });\n }\n render() {\n return html `\n \n `;\n }\n onClick() {\n const icon = this.shadowRoot?.querySelector('wui-icon');\n if (this.enableAccordion) {\n this.toggled = !this.toggled;\n this.requestUpdate();\n if (this.scrollElement) {\n this.scrollElement.animate([\n { maxHeight: this.toggled ? `${MAX_HEIGHT}px` : `${this.scrollHeightElement}px` },\n { maxHeight: this.toggled ? `${this.scrollHeightElement}px` : `${MAX_HEIGHT}px` }\n ], {\n duration: 300,\n fill: 'forwards',\n easing: 'ease'\n });\n }\n if (icon) {\n icon.animate([\n { transform: this.toggled ? `rotate(0deg)` : `rotate(180deg)` },\n { transform: this.toggled ? `rotate(180deg)` : `rotate(0deg)` }\n ], {\n duration: 300,\n fill: 'forwards',\n easing: 'ease'\n });\n }\n }\n }\n chevronTemplate() {\n if (this.enableAccordion) {\n return html ` `;\n }\n return null;\n }\n};\nWuiListAccordion.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiListAccordion.prototype, \"textTitle\", void 0);\n__decorate([\n property()\n], WuiListAccordion.prototype, \"overflowedContent\", void 0);\nWuiListAccordion = __decorate([\n customElement('wui-list-accordion')\n], WuiListAccordion);\nexport { WuiListAccordion };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: flex;\n column-gap: var(--wui-spacing-s);\n padding: 17px 18px 17px var(--wui-spacing-m);\n width: 100%;\n background-color: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-xs);\n color: var(--wui-color-fg-250);\n }\n\n wui-image {\n width: var(--wui-icon-size-lg);\n height: var(--wui-icon-size-lg);\n border-radius: var(--wui-border-radius-3xl);\n }\n\n wui-icon {\n width: var(--wui-icon-size-lg);\n height: var(--wui-icon-size-lg);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-image/index.js';\nimport '../../components/wui-text/index.js';\nimport '../../layout/wui-flex/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiListContent = class WuiListContent extends LitElement {\n constructor() {\n super(...arguments);\n this.imageSrc = undefined;\n this.textTitle = '';\n this.textValue = undefined;\n }\n render() {\n return html `\n \n \n ${this.textTitle}\n \n ${this.templateContent()}\n \n `;\n }\n templateContent() {\n if (this.imageSrc) {\n return html ``;\n }\n else if (this.textValue) {\n return html ` ${this.textValue} `;\n }\n return html ``;\n }\n};\nWuiListContent.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiListContent.prototype, \"imageSrc\", void 0);\n__decorate([\n property()\n], WuiListContent.prototype, \"textTitle\", void 0);\n__decorate([\n property()\n], WuiListContent.prototype, \"textValue\", void 0);\nWuiListContent = __decorate([\n customElement('wui-list-content')\n], WuiListContent);\nexport { WuiListContent };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n column-gap: var(--wui-spacing-s);\n padding: 7px var(--wui-spacing-l) 7px var(--wui-spacing-xs);\n width: 100%;\n background-color: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-xs);\n color: var(--wui-color-fg-100);\n }\n\n button > wui-text:nth-child(2) {\n display: flex;\n flex: 1;\n }\n\n button[data-transparent='true'] {\n pointer-events: none;\n background-color: transparent;\n }\n\n wui-icon {\n color: var(--wui-color-fg-200) !important;\n }\n\n button:disabled {\n background-color: var(--wui-gray-glass-015);\n color: var(--wui-gray-glass-015);\n }\n\n button:disabled > wui-tag {\n background-color: var(--wui-gray-glass-010);\n color: var(--wui-color-fg-300);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-text/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../wui-network-image/index.js';\nimport styles from './styles.js';\nlet WuiListNetwork = class WuiListNetwork extends LitElement {\n constructor() {\n super(...arguments);\n this.imageSrc = '';\n this.name = '';\n this.disabled = false;\n this.transparent = false;\n }\n render() {\n return html `\n \n `;\n }\n templateNetworkImage() {\n if (this.imageSrc) {\n return html ``;\n }\n if (!this.imageSrc) {\n return html ``;\n }\n return null;\n }\n};\nWuiListNetwork.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiListNetwork.prototype, \"imageSrc\", void 0);\n__decorate([\n property()\n], WuiListNetwork.prototype, \"name\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiListNetwork.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiListNetwork.prototype, \"transparent\", void 0);\nWuiListNetwork = __decorate([\n customElement('wui-list-network')\n], WuiListNetwork);\nexport { WuiListNetwork };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: flex;\n flex-direction: column;\n gap: var(--wui-spacing-l);\n padding: 17px 18px 17px var(--wui-spacing-m);\n width: 100%;\n background-color: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-xs);\n color: var(--wui-color-fg-250);\n }\n\n wui-image {\n width: var(--wui-icon-size-lg);\n height: var(--wui-icon-size-lg);\n border-radius: var(--wui-border-radius-3xl);\n }\n\n wui-icon {\n width: var(--wui-icon-size-lg);\n height: var(--wui-icon-size-lg);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-image/index.js';\nimport '../../components/wui-text/index.js';\nimport '../wui-chip/index.js';\nimport '../../layout/wui-flex/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiListWalletTransaction = class WuiListWalletTransaction extends LitElement {\n constructor() {\n super(...arguments);\n this.amount = '';\n this.networkCurreny = '';\n this.networkImageUrl = '';\n this.receiverAddress = '';\n this.addressExplorerUrl = '';\n }\n render() {\n return html `\n \n Sending\n \n \n ${this.amount} ${this.networkCurreny}\n \n ${this.templateNetworkVisual()}\n \n \n \n To\n \n \n `;\n }\n templateNetworkVisual() {\n if (this.networkImageUrl) {\n return html ``;\n }\n return html ``;\n }\n};\nWuiListWalletTransaction.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiListWalletTransaction.prototype, \"amount\", void 0);\n__decorate([\n property()\n], WuiListWalletTransaction.prototype, \"networkCurreny\", void 0);\n__decorate([\n property()\n], WuiListWalletTransaction.prototype, \"networkImageUrl\", void 0);\n__decorate([\n property()\n], WuiListWalletTransaction.prototype, \"receiverAddress\", void 0);\n__decorate([\n property()\n], WuiListWalletTransaction.prototype, \"addressExplorerUrl\", void 0);\nWuiListWalletTransaction = __decorate([\n customElement('wui-list-wallet-transaction')\n], WuiListWalletTransaction);\nexport { WuiListWalletTransaction };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n width: 100%;\n }\n\n :host > wui-flex {\n width: 100%;\n padding: var(--wui-spacing-s);\n border-radius: var(--wui-border-radius-xs);\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n gap: var(--wui-spacing-s);\n }\n\n :host > wui-flex:hover {\n background-color: var(--wui-gray-glass-002);\n }\n\n .purchase-image-container {\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n width: var(--wui-icon-box-size-lg);\n height: var(--wui-icon-box-size-lg);\n }\n\n .purchase-image-container wui-image {\n width: 100%;\n height: 100%;\n position: relative;\n border-radius: calc(var(--wui-icon-box-size-lg) / 2);\n }\n\n .purchase-image-container wui-image::after {\n content: '';\n display: block;\n width: 100%;\n height: 100%;\n position: absolute;\n inset: 0;\n border-radius: calc(var(--wui-icon-box-size-lg) / 2);\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-005);\n }\n\n .purchase-image-container wui-icon-box {\n position: absolute;\n right: 0;\n bottom: 0;\n transform: translate(20%, 20%);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-text/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nimport { ApiController } from '@web3modal/core';\nlet WuiOnRampActivityItem = class WuiOnRampActivityItem extends LitElement {\n constructor() {\n super(...arguments);\n this.disabled = false;\n this.color = 'inherit';\n this.label = 'Bought';\n this.purchaseValue = '';\n this.purchaseCurrency = '';\n this.date = '';\n this.completed = false;\n this.inProgress = false;\n this.failed = false;\n this.onClick = null;\n this.symbol = '';\n }\n firstUpdated() {\n if (!this.icon) {\n this.fetchTokenImage();\n }\n }\n render() {\n return html `\n \n ${this.imageTemplate()}\n \n \n ${this.statusIconTemplate()}\n ${this.label}\n \n \n + ${this.purchaseValue} ${this.purchaseCurrency}\n \n \n ${this.inProgress\n ? html ``\n : html `${this.date}`}\n \n `;\n }\n async fetchTokenImage() {\n await ApiController._fetchTokenImage(this.purchaseCurrency);\n }\n statusIconTemplate() {\n if (this.inProgress) {\n return null;\n }\n return this.completed ? this.boughtIconTemplate() : this.errorIconTemplate();\n }\n errorIconTemplate() {\n return html ``;\n }\n imageTemplate() {\n const icon = this.icon || `https://avatar.vercel.sh/andrew.svg?size=50&text=${this.symbol}`;\n return html `\n \n `;\n }\n boughtIconTemplate() {\n return html ``;\n }\n};\nWuiOnRampActivityItem.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property({ type: Boolean })\n], WuiOnRampActivityItem.prototype, \"disabled\", void 0);\n__decorate([\n property()\n], WuiOnRampActivityItem.prototype, \"color\", void 0);\n__decorate([\n property()\n], WuiOnRampActivityItem.prototype, \"label\", void 0);\n__decorate([\n property()\n], WuiOnRampActivityItem.prototype, \"purchaseValue\", void 0);\n__decorate([\n property()\n], WuiOnRampActivityItem.prototype, \"purchaseCurrency\", void 0);\n__decorate([\n property()\n], WuiOnRampActivityItem.prototype, \"date\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiOnRampActivityItem.prototype, \"completed\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiOnRampActivityItem.prototype, \"inProgress\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiOnRampActivityItem.prototype, \"failed\", void 0);\n__decorate([\n property()\n], WuiOnRampActivityItem.prototype, \"onClick\", void 0);\n__decorate([\n property()\n], WuiOnRampActivityItem.prototype, \"symbol\", void 0);\n__decorate([\n property()\n], WuiOnRampActivityItem.prototype, \"icon\", void 0);\nWuiOnRampActivityItem = __decorate([\n customElement('wui-onramp-activity-item')\n], WuiOnRampActivityItem);\nexport { WuiOnRampActivityItem };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n padding: var(--wui-spacing-s);\n border-radius: var(--wui-border-radius-xs);\n background-color: var(--wui-gray-glass-002);\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n gap: var(--wui-spacing-s);\n transition: background-color var(--wui-ease-out-power-1) var(--wui-duration-md);\n will-change: background-color;\n }\n\n button:hover {\n background-color: var(--wui-gray-glass-005);\n }\n\n .provider-image {\n width: var(--wui-spacing-3xl);\n min-width: var(--wui-spacing-3xl);\n height: var(--wui-spacing-3xl);\n border-radius: calc(var(--wui-border-radius-xs) - calc(var(--wui-spacing-s) / 2));\n position: relative;\n overflow: hidden;\n }\n\n .provider-image::after {\n content: '';\n display: block;\n width: 100%;\n height: 100%;\n position: absolute;\n inset: 0;\n border-radius: calc(var(--wui-border-radius-xs) - calc(var(--wui-spacing-s) / 2));\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-005);\n }\n\n .network-icon {\n width: var(--wui-spacing-m);\n height: var(--wui-spacing-m);\n border-radius: calc(var(--wui-spacing-m) / 2);\n overflow: hidden;\n box-shadow:\n 0 0 0 3px var(--wui-gray-glass-002),\n 0 0 0 3px var(--wui-color-modal-bg);\n transition: box-shadow var(--wui-ease-out-power-1) var(--wui-duration-md);\n will-change: box-shadow;\n }\n\n button:hover .network-icon {\n box-shadow:\n 0 0 0 3px var(--wui-gray-glass-005),\n 0 0 0 3px var(--wui-color-modal-bg);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { AssetUtil, NetworkController } from '@web3modal/core';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-text/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nlet WuiOnRampProviderItem = class WuiOnRampProviderItem extends LitElement {\n constructor() {\n super(...arguments);\n this.disabled = false;\n this.color = 'inherit';\n this.label = '';\n this.feeRange = '';\n this.loading = false;\n this.onClick = null;\n }\n render() {\n return html `\n \n `;\n }\n networksTemplate() {\n const networks = NetworkController.getRequestedCaipNetworks();\n const slicedNetworks = networks?.filter(network => network?.imageId)?.slice(0, 5);\n return html `\n \n ${slicedNetworks?.map(network => html `\n \n \n \n `)}\n \n `;\n }\n};\nWuiOnRampProviderItem.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property({ type: Boolean })\n], WuiOnRampProviderItem.prototype, \"disabled\", void 0);\n__decorate([\n property()\n], WuiOnRampProviderItem.prototype, \"color\", void 0);\n__decorate([\n property()\n], WuiOnRampProviderItem.prototype, \"name\", void 0);\n__decorate([\n property()\n], WuiOnRampProviderItem.prototype, \"label\", void 0);\n__decorate([\n property()\n], WuiOnRampProviderItem.prototype, \"feeRange\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiOnRampProviderItem.prototype, \"loading\", void 0);\n__decorate([\n property()\n], WuiOnRampProviderItem.prototype, \"onClick\", void 0);\nWuiOnRampProviderItem = __decorate([\n customElement('wui-onramp-provider-item')\n], WuiOnRampProviderItem);\nexport { WuiOnRampProviderItem };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n display: flex;\n gap: var(--wui-spacing-3xs);\n align-items: center;\n padding: 6.25px var(--wui-spacing-xs) 7.25px var(--wui-spacing-s);\n background-color: var(--wui-gray-glass-090);\n border-radius: var(--wui-border-radius-3xl);\n border: 1px solid var(--wui-gray-glass-060);\n transition: background-color var(--wui-duration-md) var(--wui-ease-inout-power-1);\n will-change: background-color;\n }\n\n @media (hover: hover) and (pointer: fine) {\n button:hover:enabled {\n background-color: var(--wui-gray-glass-080);\n }\n\n button:active:enabled {\n background-color: var(--wui-gray-glass-060);\n }\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nimport '../../components/wui-text/index.js';\nimport '../../components/wui-icon/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nlet WuiPromo = class WuiPromo extends LitElement {\n constructor() {\n super(...arguments);\n this.text = '';\n }\n render() {\n return html ``;\n }\n};\nWuiPromo.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiPromo.prototype, \"text\", void 0);\nWuiPromo = __decorate([\n customElement('wui-promo')\n], WuiPromo);\nexport { WuiPromo };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n span {\n font-weight: 500;\n font-size: 40px;\n color: var(--wui-color-fg-100);\n line-height: 130%; /* 52px */\n letter-spacing: -1.6px;\n text-align: center;\n }\n\n .pennies {\n color: var(--wui-color-fg-200);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nlet WuiBalance = class WuiBalance extends LitElement {\n constructor() {\n super(...arguments);\n this.dollars = '0';\n this.pennies = '00';\n }\n render() {\n return html `$${this.dollars}.${this.pennies}`;\n }\n};\nWuiBalance.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiBalance.prototype, \"dollars\", void 0);\n__decorate([\n property()\n], WuiBalance.prototype, \"pennies\", void 0);\nWuiBalance = __decorate([\n customElement('wui-balance')\n], WuiBalance);\nexport { WuiBalance };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n background-color: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-3xl);\n border: 1px solid var(--wui-gray-glass-002);\n padding: var(--wui-spacing-xs) var(--wui-spacing-s) var(--wui-spacing-xs) var(--wui-spacing-xs);\n position: relative;\n }\n\n wui-avatar {\n width: 32px;\n height: 32px;\n box-shadow: 0 0 0 0;\n outline: 3px solid var(--wui-gray-glass-005);\n }\n\n wui-icon-box,\n wui-image {\n width: 16px;\n height: 16px;\n border-radius: var(--wui-border-radius-3xl);\n position: absolute;\n left: 26px;\n top: 24px;\n }\n\n wui-image {\n outline: 2px solid var(--wui-color-bg-125);\n }\n\n wui-icon-box {\n outline: 2px solid var(--wui-color-bg-200);\n background-color: var(--wui-color-bg-250);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-text/index.js';\nimport '../../components/wui-image/index.js';\nimport '../../layout/wui-flex/index.js';\nimport '../wui-avatar/index.js';\nimport '../wui-icon-box/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nimport { UiHelperUtil } from '../../utils/UiHelperUtil.js';\nlet WuiProfileButton = class WuiProfileButton extends LitElement {\n constructor() {\n super(...arguments);\n this.networkSrc = undefined;\n this.avatarSrc = undefined;\n this.isProfileName = false;\n this.address = '';\n this.icon = 'chevronBottom';\n }\n render() {\n return html ``;\n }\n networkImageTemplate() {\n if (this.networkSrc) {\n return html ``;\n }\n return html `\n \n `;\n }\n};\nWuiProfileButton.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiProfileButton.prototype, \"networkSrc\", void 0);\n__decorate([\n property()\n], WuiProfileButton.prototype, \"avatarSrc\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiProfileButton.prototype, \"isProfileName\", void 0);\n__decorate([\n property()\n], WuiProfileButton.prototype, \"address\", void 0);\n__decorate([\n property()\n], WuiProfileButton.prototype, \"icon\", void 0);\nWuiProfileButton = __decorate([\n customElement('wui-profile-button')\n], WuiProfileButton);\nexport { WuiProfileButton };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n border: 1px solid var(--wui-gray-glass-010);\n border-radius: var(--wui-border-radius-3xl);\n }\n\n wui-image {\n border-radius: var(--wui-border-radius-3xl);\n overflow: hidden;\n }\n\n button.disabled > wui-icon,\n button.disabled > wui-image {\n filter: grayscale(1);\n }\n\n button[data-variant='fill'] {\n color: var(--wui-color-inverse-100);\n background-color: var(--wui-color-accent-100);\n }\n\n button[data-variant='shade'],\n button[data-variant='shadeSmall'] {\n background-color: transparent;\n background-color: var(--wui-gray-glass-010);\n color: var(--wui-color-fg-200);\n }\n\n button[data-variant='success'] {\n column-gap: var(--wui-spacing-xxs);\n border: 1px solid var(--wui-success-glass-010);\n background-color: var(--wui-success-glass-010);\n color: var(--wui-color-success-100);\n }\n\n button[data-variant='error'] {\n column-gap: var(--wui-spacing-xxs);\n border: 1px solid var(--wui-error-glass-010);\n background-color: var(--wui-error-glass-010);\n color: var(--wui-color-error-100);\n }\n\n button[data-variant='transparent'] {\n column-gap: var(--wui-spacing-xxs);\n background-color: transparent;\n color: var(--wui-color-fg-150);\n }\n\n button[data-variant='transparent'],\n button[data-variant='success'],\n button[data-variant='shadeSmall'],\n button[data-variant='error'] {\n padding: 7px var(--wui-spacing-s) 7px 8px;\n }\n\n button[data-variant='transparent']:has(wui-text:first-child),\n button[data-variant='success']:has(wui-text:first-child),\n button[data-variant='shadeSmall']:has(wui-text:first-child),\n button[data-variant='error']:has(wui-text:first-child) {\n padding: 7px var(--wui-spacing-s);\n }\n\n button[data-variant='fill'],\n button[data-variant='shade'] {\n column-gap: var(--wui-spacing-xs);\n padding: var(--wui-spacing-xxs) var(--wui-spacing-m) var(--wui-spacing-xxs)\n var(--wui-spacing-xs);\n }\n\n button[data-variant='fill']:has(wui-text:first-child),\n button[data-variant='shade']:has(wui-text:first-child) {\n padding: 9px var(--wui-spacing-m) 9px var(--wui-spacing-m);\n }\n\n button[data-variant='fill'] > wui-image,\n button[data-variant='shade'] > wui-image {\n width: 24px;\n height: 24px;\n }\n\n button[data-variant='fill'] > wui-image {\n box-shadow: inset 0 0 0 1px var(--wui-color-accent-090);\n }\n\n button[data-variant='shade'] > wui-image,\n button[data-variant='shadeSmall'] > wui-image {\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-010);\n }\n\n button[data-variant='fill'] > wui-icon,\n button[data-variant='shade'] > wui-icon {\n width: 14px;\n height: 14px;\n }\n\n button[data-variant='transparent'] > wui-image,\n button[data-variant='success'] > wui-image,\n button[data-variant='shadeSmall'] > wui-image,\n button[data-variant='error'] > wui-image {\n width: 14px;\n height: 14px;\n }\n\n button[data-variant='transparent'] > wui-icon,\n button[data-variant='success'] > wui-icon,\n button[data-variant='shadeSmall'] > wui-icon,\n button[data-variant='error'] > wui-icon {\n width: 12px;\n height: 12px;\n }\n\n button[data-variant='fill']:focus-visible {\n background-color: var(--wui-color-accent-090);\n }\n\n button[data-variant='shade']:focus-visible,\n button[data-variant='shadeSmall']:focus-visible {\n background-color: var(--wui-gray-glass-015);\n }\n\n button[data-variant='transparent']:focus-visible {\n background-color: var(--wui-gray-glass-005);\n }\n\n button[data-variant='success']:focus-visible {\n background-color: var(--wui-success-glass-015);\n }\n\n button[data-variant='error']:focus-visible {\n background-color: var(--wui-error-glass-015);\n }\n\n button.disabled {\n color: var(--wui-gray-glass-015);\n background-color: var(--wui-gray-glass-015);\n pointer-events: none;\n }\n\n @media (hover: hover) and (pointer: fine) {\n button[data-variant='fill']:hover {\n background-color: var(--wui-color-accent-090);\n }\n\n button[data-variant='shade']:hover,\n button[data-variant='shadeSmall']:hover {\n background-color: var(--wui-gray-glass-015);\n }\n\n button[data-variant='transparent']:hover {\n background-color: var(--wui-gray-glass-005);\n }\n\n button[data-variant='success']:hover {\n background-color: var(--wui-success-glass-015);\n }\n\n button[data-variant='error']:hover {\n background-color: var(--wui-error-glass-015);\n }\n }\n\n button[data-variant='fill']:active {\n background-color: var(--wui-color-accent-080);\n }\n\n button[data-variant='shade']:active,\n button[data-variant='shadeSmall']:active {\n background-color: var(--wui-gray-glass-020);\n }\n\n button[data-variant='transparent']:active {\n background-color: var(--wui-gray-glass-010);\n }\n\n button[data-variant='success']:active {\n background-color: var(--wui-success-glass-020);\n }\n\n button[data-variant='error']:active {\n background-color: var(--wui-error-glass-020);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-image/index.js';\nimport '../../components/wui-text/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiChipButton = class WuiChipButton extends LitElement {\n constructor() {\n super(...arguments);\n this.variant = 'fill';\n this.imageSrc = '';\n this.disabled = false;\n this.icon = 'externalLink';\n this.text = '';\n }\n render() {\n const isSmall = this.variant === 'success' || this.variant === 'transparent' || this.variant === 'shadeSmall';\n const textVariant = isSmall ? 'small-600' : 'paragraph-600';\n return html `\n \n `;\n }\n};\nWuiChipButton.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiChipButton.prototype, \"variant\", void 0);\n__decorate([\n property()\n], WuiChipButton.prototype, \"imageSrc\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiChipButton.prototype, \"disabled\", void 0);\n__decorate([\n property()\n], WuiChipButton.prototype, \"icon\", void 0);\n__decorate([\n property()\n], WuiChipButton.prototype, \"text\", void 0);\nWuiChipButton = __decorate([\n customElement('wui-chip-button')\n], WuiChipButton);\nexport { WuiChipButton };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n display: flex;\n gap: var(--wui-spacing-xl);\n width: 100%;\n background-color: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-xxs);\n padding: var(--wui-spacing-m) var(--wui-spacing-s);\n }\n\n wui-text {\n width: 100%;\n }\n\n wui-flex {\n width: auto;\n }\n\n .network-icon {\n width: var(--wui-spacing-2l);\n height: var(--wui-spacing-2l);\n border-radius: calc(var(--wui-spacing-2l) / 2);\n overflow: hidden;\n box-shadow:\n 0 0 0 3px var(--wui-gray-glass-002),\n 0 0 0 3px var(--wui-color-modal-bg);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-icon/index.js';\nimport '../../components/wui-text/index.js';\nimport '../../components/wui-image/index.js';\nimport '../../layout/wui-flex/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiCompatibleNetwork = class WuiCompatibleNetwork extends LitElement {\n constructor() {\n super(...arguments);\n this.networkImages = [''];\n this.text = '';\n }\n render() {\n return html `\n \n `;\n }\n networksTemplate() {\n const slicedNetworks = this.networkImages.slice(0, 5);\n return html ` \n ${slicedNetworks?.map(network => html ` `)}\n `;\n }\n};\nWuiCompatibleNetwork.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property({ type: Array })\n], WuiCompatibleNetwork.prototype, \"networkImages\", void 0);\n__decorate([\n property()\n], WuiCompatibleNetwork.prototype, \"text\", void 0);\nWuiCompatibleNetwork = __decorate([\n customElement('wui-compatible-network')\n], WuiCompatibleNetwork);\nexport { WuiCompatibleNetwork };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-flex {\n width: 100%;\n background-color: var(--wui-gray-glass-005);\n border-radius: var(--wui-border-radius-s);\n padding: var(--wui-spacing-1xs) var(--wui-spacing-s) var(--wui-spacing-1xs)\n var(--wui-spacing-1xs);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-text/index.js';\nimport '../wui-icon-box/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiBanner = class WuiBanner extends LitElement {\n constructor() {\n super(...arguments);\n this.icon = 'externalLink';\n this.text = '';\n }\n render() {\n return html `\n \n \n ${this.text}\n \n `;\n }\n};\nWuiBanner.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiBanner.prototype, \"icon\", void 0);\n__decorate([\n property()\n], WuiBanner.prototype, \"text\", void 0);\nWuiBanner = __decorate([\n customElement('wui-banner')\n], WuiBanner);\nexport { WuiBanner };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n padding: 6.5px var(--wui-spacing-l) 6.5px var(--wui-spacing-xs);\n display: flex;\n justify-content: space-between;\n width: 100%;\n border-radius: var(--wui-border-radius-xs);\n background-color: var(--wui-gray-glass-002);\n }\n\n button[data-clickable='false'] {\n pointer-events: none;\n background-color: transparent;\n }\n\n wui-image {\n width: var(--wui-spacing-3xl);\n height: var(--wui-spacing-3xl);\n border-radius: var(--wui-border-radius-3xl);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-text/index.js';\nimport '../../components/wui-image/index.js';\nimport '../../layout/wui-flex/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nimport { UiHelperUtil } from '../../utils/UiHelperUtil.js';\nlet WuiListToken = class WuiListToken extends LitElement {\n constructor() {\n super(...arguments);\n this.tokenName = '';\n this.tokenImageUrl = '';\n this.tokenValue = 0.0;\n this.tokenAmount = '0.0';\n this.tokenCurrency = '';\n this.clickable = false;\n }\n render() {\n return html `\n \n `;\n }\n};\nWuiListToken.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiListToken.prototype, \"tokenName\", void 0);\n__decorate([\n property()\n], WuiListToken.prototype, \"tokenImageUrl\", void 0);\n__decorate([\n property({ type: Number })\n], WuiListToken.prototype, \"tokenValue\", void 0);\n__decorate([\n property()\n], WuiListToken.prototype, \"tokenAmount\", void 0);\n__decorate([\n property()\n], WuiListToken.prototype, \"tokenCurrency\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiListToken.prototype, \"clickable\", void 0);\nWuiListToken = __decorate([\n customElement('wui-list-token')\n], WuiListToken);\nexport { WuiListToken };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n button {\n width: 100%;\n display: flex;\n gap: var(--wui-spacing-s);\n align-items: center;\n justify-content: flex-start;\n padding: var(--wui-spacing-s) var(--wui-spacing-m) var(--wui-spacing-s) var(--wui-spacing-s);\n background-color: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-xs);\n }\n\n wui-icon-box {\n width: var(--wui-spacing-2xl);\n height: var(--wui-spacing-2xl);\n }\n\n wui-flex {\n width: auto;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-text/index.js';\nimport '../../components/wui-image/index.js';\nimport '../../layout/wui-flex/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiListDescription = class WuiListDescription extends LitElement {\n constructor() {\n super(...arguments);\n this.icon = 'card';\n this.text = '';\n this.description = '';\n this.tag = undefined;\n this.iconBackgroundColor = 'accent-100';\n this.iconColor = 'accent-100';\n this.disabled = false;\n }\n render() {\n return html `\n \n `;\n }\n titleTemplate() {\n if (this.tag) {\n return html ` ${this.text}${this.tag}\n `;\n }\n return html `${this.text}`;\n }\n};\nWuiListDescription.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiListDescription.prototype, \"icon\", void 0);\n__decorate([\n property()\n], WuiListDescription.prototype, \"text\", void 0);\n__decorate([\n property()\n], WuiListDescription.prototype, \"description\", void 0);\n__decorate([\n property()\n], WuiListDescription.prototype, \"tag\", void 0);\n__decorate([\n property()\n], WuiListDescription.prototype, \"iconBackgroundColor\", void 0);\n__decorate([\n property()\n], WuiListDescription.prototype, \"iconColor\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiListDescription.prototype, \"disabled\", void 0);\nWuiListDescription = __decorate([\n customElement('wui-list-description')\n], WuiListDescription);\nexport { WuiListDescription };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n position: relative;\n display: inline-block;\n }\n\n input {\n background: transparent;\n width: 100%;\n height: auto;\n font-family: var(--wui-font-family);\n color: var(--wui-color-fg-100);\n\n font-feature-settings: 'case' on;\n font-size: 32px;\n font-weight: var(--wui-font-weight-light);\n caret-color: var(--wui-color-accent-100);\n line-height: 130%;\n letter-spacing: -1.28px;\n box-sizing: border-box;\n -webkit-appearance: none;\n -moz-appearance: textfield;\n padding: 0px;\n }\n\n input::-webkit-outer-spin-button,\n input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n input::placeholder {\n color: var(--wui-color-fg-275);\n }\n`;\n//# sourceMappingURL=styles.js.map","export const specialCharactersRegex = /[.*+?^${}()|[\\]\\\\]/gu;\nexport const numbersRegex = /[0-9,.]/u;\n//# sourceMappingURL=ConstantsUtil.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nimport { createRef, ref } from 'lit/directives/ref.js';\nimport { numbersRegex, specialCharactersRegex } from '../../utils/ConstantsUtil.js';\nlet WuiInputAmount = class WuiInputAmount extends LitElement {\n constructor() {\n super(...arguments);\n this.inputElementRef = createRef();\n this.disabled = false;\n this.value = '';\n this.placeholder = '0';\n }\n render() {\n if (this.inputElementRef?.value && this.value) {\n this.inputElementRef.value.value = this.value;\n }\n return html ` `;\n }\n dispatchInputChangeEvent(e) {\n const inputChar = e.data;\n if (inputChar) {\n if (!numbersRegex.test(inputChar) && this.inputElementRef?.value) {\n this.inputElementRef.value.value = this.value.replace(new RegExp(inputChar.replace(specialCharactersRegex, '\\\\$&'), 'gu'), '');\n }\n }\n this.dispatchEvent(new CustomEvent('inputChange', {\n detail: this.inputElementRef.value?.value,\n bubbles: true,\n composed: true\n }));\n }\n};\nWuiInputAmount.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property({ type: Boolean })\n], WuiInputAmount.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: String })\n], WuiInputAmount.prototype, \"value\", void 0);\n__decorate([\n property({ type: String })\n], WuiInputAmount.prototype, \"placeholder\", void 0);\nWuiInputAmount = __decorate([\n customElement('wui-input-amount')\n], WuiInputAmount);\nexport { WuiInputAmount };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: flex;\n gap: var(--wui-spacing-xs);\n border-radius: var(--wui-border-radius-3xl);\n border: 1px solid var(--wui-gray-glass-002);\n background: var(--wui-gray-glass-002);\n padding: var(--wui-spacing-2xs) var(--wui-spacing-xs) var(--wui-spacing-2xs)\n var(--wui-spacing-s);\n align-items: center;\n }\n\n wui-avatar,\n wui-icon,\n wui-image {\n width: 32px;\n height: 32px;\n border: 1px solid var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-3xl);\n box-shadow: 0 0 0 2px var(--wui-gray-glass-002);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-text/index.js';\nimport '../../components/wui-image/index.js';\nimport '../../components/wui-icon/index.js';\nimport '../wui-avatar/index.js';\nimport '../../layout/wui-flex/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiPreviewItem = class WuiPreviewItem extends LitElement {\n constructor() {\n super(...arguments);\n this.text = '';\n this.address = '';\n this.isAddress = false;\n }\n render() {\n return html `${this.text}\n ${this.imageTemplate()}`;\n }\n imageTemplate() {\n if (this.isAddress) {\n return html ``;\n }\n else if (this.imageSrc) {\n return html ``;\n }\n return html ``;\n }\n};\nWuiPreviewItem.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiPreviewItem.prototype, \"text\", void 0);\n__decorate([\n property()\n], WuiPreviewItem.prototype, \"address\", void 0);\n__decorate([\n property()\n], WuiPreviewItem.prototype, \"imageSrc\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiPreviewItem.prototype, \"isAddress\", void 0);\nWuiPreviewItem = __decorate([\n customElement('wui-preview-item')\n], WuiPreviewItem);\nexport { WuiPreviewItem };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: grid;\n width: inherit;\n height: inherit;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { UiHelperUtil } from '../../utils/UiHelperUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiGrid = class WuiGrid extends LitElement {\n render() {\n this.style.cssText = `\n grid-template-rows: ${this.gridTemplateRows};\n grid-template-columns: ${this.gridTemplateColumns};\n justify-items: ${this.justifyItems};\n align-items: ${this.alignItems};\n justify-content: ${this.justifyContent};\n align-content: ${this.alignContent};\n column-gap: ${this.columnGap && `var(--wui-spacing-${this.columnGap})`};\n row-gap: ${this.rowGap && `var(--wui-spacing-${this.rowGap})`};\n gap: ${this.gap && `var(--wui-spacing-${this.gap})`};\n padding-top: ${this.padding && UiHelperUtil.getSpacingStyles(this.padding, 0)};\n padding-right: ${this.padding && UiHelperUtil.getSpacingStyles(this.padding, 1)};\n padding-bottom: ${this.padding && UiHelperUtil.getSpacingStyles(this.padding, 2)};\n padding-left: ${this.padding && UiHelperUtil.getSpacingStyles(this.padding, 3)};\n margin-top: ${this.margin && UiHelperUtil.getSpacingStyles(this.margin, 0)};\n margin-right: ${this.margin && UiHelperUtil.getSpacingStyles(this.margin, 1)};\n margin-bottom: ${this.margin && UiHelperUtil.getSpacingStyles(this.margin, 2)};\n margin-left: ${this.margin && UiHelperUtil.getSpacingStyles(this.margin, 3)};\n `;\n return html ``;\n }\n};\nWuiGrid.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiGrid.prototype, \"gridTemplateRows\", void 0);\n__decorate([\n property()\n], WuiGrid.prototype, \"gridTemplateColumns\", void 0);\n__decorate([\n property()\n], WuiGrid.prototype, \"justifyItems\", void 0);\n__decorate([\n property()\n], WuiGrid.prototype, \"alignItems\", void 0);\n__decorate([\n property()\n], WuiGrid.prototype, \"justifyContent\", void 0);\n__decorate([\n property()\n], WuiGrid.prototype, \"alignContent\", void 0);\n__decorate([\n property()\n], WuiGrid.prototype, \"columnGap\", void 0);\n__decorate([\n property()\n], WuiGrid.prototype, \"rowGap\", void 0);\n__decorate([\n property()\n], WuiGrid.prototype, \"gap\", void 0);\n__decorate([\n property()\n], WuiGrid.prototype, \"padding\", void 0);\n__decorate([\n property()\n], WuiGrid.prototype, \"margin\", void 0);\nWuiGrid = __decorate([\n customElement('wui-grid')\n], WuiGrid);\nexport { WuiGrid };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n position: relative;\n display: flex;\n width: 100%;\n height: 1px;\n background-color: var(--wui-gray-glass-005);\n justify-content: center;\n align-items: center;\n }\n\n :host > wui-text {\n position: absolute;\n padding: 0px 10px;\n background-color: var(--wui-color-modal-bg);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '../../components/wui-text/index.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiSeparator = class WuiSeparator extends LitElement {\n constructor() {\n super(...arguments);\n this.text = '';\n }\n render() {\n return html `${this.template()}`;\n }\n template() {\n if (this.text) {\n return html `${this.text}`;\n }\n return null;\n }\n};\nWuiSeparator.styles = [resetStyles, styles];\n__decorate([\n property()\n], WuiSeparator.prototype, \"text\", void 0);\nWuiSeparator = __decorate([\n customElement('wui-separator')\n], WuiSeparator);\nexport { WuiSeparator };\n//# sourceMappingURL=index.js.map","export const MathUtil = {\n interpolate(inputRange, outputRange, value) {\n if (inputRange.length !== 2 || outputRange.length !== 2) {\n throw new Error('inputRange and outputRange must be an array of length 2');\n }\n const originalRangeMin = inputRange[0] || 0;\n const originalRangeMax = inputRange[1] || 0;\n const newRangeMin = outputRange[0] || 0;\n const newRangeMax = outputRange[1] || 0;\n if (value < originalRangeMin) {\n return newRangeMin;\n }\n if (value > originalRangeMax) {\n return newRangeMax;\n }\n return (((newRangeMax - newRangeMin) / (originalRangeMax - originalRangeMin)) *\n (value - originalRangeMin) +\n newRangeMin);\n }\n};\n//# sourceMappingURL=MathUtil.js.map","import { DateUtil } from '@web3modal/common';\nimport { UiHelperUtil } from './UiHelperUtil.js';\nconst FLOAT_FIXED_VALUE = 3;\nconst plusTypes = ['receive', 'deposit', 'borrow', 'claim'];\nconst minusTypes = ['withdraw', 'repay', 'burn'];\nexport const TransactionUtil = {\n getMonthName(monthNumber) {\n const date = new Date();\n date.setMonth(monthNumber);\n return date.toLocaleString('en-US', {\n month: 'long'\n });\n },\n getTransactionGroupTitle(year, month) {\n const currentYear = DateUtil.getYear();\n const monthName = this.getMonthName(month);\n const isCurrentYear = year === currentYear;\n const groupTitle = isCurrentYear ? monthName : `${monthName} ${year}`;\n return groupTitle;\n },\n getTransactionImages(transfers) {\n const [transfer, secondTransfer] = transfers;\n const isAllNFT = Boolean(transfer) && transfers?.every(item => Boolean(item.nft_info));\n const haveMultipleTransfers = transfers?.length > 1;\n const haveTwoTransfers = transfers?.length === 2;\n if (haveTwoTransfers && !isAllNFT) {\n return [this.getTransactionImage(transfer), this.getTransactionImage(secondTransfer)];\n }\n if (haveMultipleTransfers) {\n return transfers.map(item => this.getTransactionImage(item));\n }\n return [this.getTransactionImage(transfer)];\n },\n getTransactionImage(transfer) {\n return {\n type: TransactionUtil.getTransactionTransferTokenType(transfer),\n url: TransactionUtil.getTransactionImageURL(transfer)\n };\n },\n getTransactionImageURL(transfer) {\n let imageURL = undefined;\n const isNFT = Boolean(transfer?.nft_info);\n const isFungible = Boolean(transfer?.fungible_info);\n if (transfer && isNFT) {\n imageURL = transfer?.nft_info?.content?.preview?.url;\n }\n else if (transfer && isFungible) {\n imageURL = transfer?.fungible_info?.icon?.url;\n }\n return imageURL;\n },\n getTransactionTransferTokenType(transfer) {\n if (transfer?.fungible_info) {\n return 'FUNGIBLE';\n }\n else if (transfer?.nft_info) {\n return 'NFT';\n }\n return undefined;\n },\n getTransactionDescriptions(transaction) {\n const type = transaction?.metadata?.operationType;\n const transfers = transaction?.transfers;\n const haveTransfer = transaction?.transfers?.length > 0;\n const haveMultipleTransfers = transaction?.transfers?.length > 1;\n const isFungible = haveTransfer && transfers?.every(transfer => Boolean(transfer?.fungible_info));\n const [firstTransfer, secondTransfer] = transfers;\n let firstDescription = this.getTransferDescription(firstTransfer);\n let secondDescription = this.getTransferDescription(secondTransfer);\n if (!haveTransfer) {\n const isSendOrReceive = type === 'send' || type === 'receive';\n if (isSendOrReceive && isFungible) {\n firstDescription = UiHelperUtil.getTruncateString({\n string: transaction?.metadata.sentFrom,\n charsStart: 4,\n charsEnd: 6,\n truncate: 'middle'\n });\n secondDescription = UiHelperUtil.getTruncateString({\n string: transaction?.metadata.sentTo,\n charsStart: 4,\n charsEnd: 6,\n truncate: 'middle'\n });\n return [firstDescription, secondDescription];\n }\n return [transaction.metadata.status];\n }\n if (haveMultipleTransfers) {\n return transfers.map(item => this.getTransferDescription(item));\n }\n let prefix = '';\n if (plusTypes.includes(type)) {\n prefix = '+';\n }\n else if (minusTypes.includes(type)) {\n prefix = '-';\n }\n firstDescription = prefix.concat(firstDescription);\n return [firstDescription];\n },\n getTransferDescription(transfer) {\n let description = '';\n if (!transfer) {\n return description;\n }\n if (transfer?.nft_info) {\n description = transfer?.nft_info?.name || '-';\n }\n else if (transfer?.fungible_info) {\n description = this.getFungibleTransferDescription(transfer) || '-';\n }\n return description;\n },\n getFungibleTransferDescription(transfer) {\n if (!transfer) {\n return null;\n }\n const quantity = this.getQuantityFixedValue(transfer?.quantity.numeric);\n const description = [quantity, transfer?.fungible_info?.symbol].join(' ').trim();\n return description;\n },\n getQuantityFixedValue(value) {\n if (!value) {\n return null;\n }\n const parsedValue = parseFloat(value);\n return parsedValue.toFixed(FLOAT_FIXED_VALUE);\n }\n};\n//# sourceMappingURL=TransactionUtil.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController, AssetUtil, CoreHelperUtil, ModalController, NetworkController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nlet W3mAccountButton = class W3mAccountButton extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.disabled = false;\n this.balance = 'show';\n this.charsStart = 4;\n this.charsEnd = 6;\n this.address = AccountController.state.address;\n this.balanceVal = AccountController.state.balance;\n this.balanceSymbol = AccountController.state.balanceSymbol;\n this.profileName = AccountController.state.profileName;\n this.profileImage = AccountController.state.profileImage;\n this.network = NetworkController.state.caipNetwork;\n this.isUnsupportedChain = NetworkController.state.isUnsupportedChain;\n this.unsubscribe.push(...[\n AccountController.subscribe(val => {\n if (val.isConnected) {\n this.address = val.address;\n this.balanceVal = val.balance;\n this.profileName = val.profileName;\n this.profileImage = val.profileImage;\n this.balanceSymbol = val.balanceSymbol;\n }\n else {\n this.address = '';\n this.balanceVal = '';\n this.profileName = '';\n this.profileImage = '';\n this.balanceSymbol = '';\n }\n }),\n NetworkController.subscribeKey('caipNetwork', val => (this.network = val)),\n NetworkController.subscribeKey('isUnsupportedChain', val => (this.isUnsupportedChain = val))\n ]);\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n const networkImage = AssetUtil.getNetworkImage(this.network);\n const showBalance = this.balance === 'show';\n return html `\n \n \n `;\n }\n onClick() {\n if (this.isUnsupportedChain) {\n ModalController.open({ view: 'UnsupportedChain' });\n }\n else {\n ModalController.open();\n }\n }\n};\n__decorate([\n property({ type: Boolean })\n], W3mAccountButton.prototype, \"disabled\", void 0);\n__decorate([\n property()\n], W3mAccountButton.prototype, \"balance\", void 0);\n__decorate([\n property()\n], W3mAccountButton.prototype, \"charsStart\", void 0);\n__decorate([\n property()\n], W3mAccountButton.prototype, \"charsEnd\", void 0);\n__decorate([\n state()\n], W3mAccountButton.prototype, \"address\", void 0);\n__decorate([\n state()\n], W3mAccountButton.prototype, \"balanceVal\", void 0);\n__decorate([\n state()\n], W3mAccountButton.prototype, \"balanceSymbol\", void 0);\n__decorate([\n state()\n], W3mAccountButton.prototype, \"profileName\", void 0);\n__decorate([\n state()\n], W3mAccountButton.prototype, \"profileImage\", void 0);\n__decorate([\n state()\n], W3mAccountButton.prototype, \"network\", void 0);\n__decorate([\n state()\n], W3mAccountButton.prototype, \"isUnsupportedChain\", void 0);\nW3mAccountButton = __decorate([\n customElement('w3m-account-button')\n], W3mAccountButton);\nexport { W3mAccountButton };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n width: max-content;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nlet W3mButton = class W3mButton extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.disabled = false;\n this.balance = undefined;\n this.size = undefined;\n this.label = undefined;\n this.loadingLabel = undefined;\n this.charsStart = 4;\n this.charsEnd = 6;\n this.isAccount = AccountController.state.isConnected;\n this.unsubscribe.push(AccountController.subscribeKey('isConnected', val => {\n this.isAccount = val;\n }));\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return this.isAccount\n ? html `\n \n \n `\n : html `\n \n `;\n }\n};\nW3mButton.styles = styles;\n__decorate([\n property({ type: Boolean })\n], W3mButton.prototype, \"disabled\", void 0);\n__decorate([\n property()\n], W3mButton.prototype, \"balance\", void 0);\n__decorate([\n property()\n], W3mButton.prototype, \"size\", void 0);\n__decorate([\n property()\n], W3mButton.prototype, \"label\", void 0);\n__decorate([\n property()\n], W3mButton.prototype, \"loadingLabel\", void 0);\n__decorate([\n property()\n], W3mButton.prototype, \"charsStart\", void 0);\n__decorate([\n property()\n], W3mButton.prototype, \"charsEnd\", void 0);\n__decorate([\n state()\n], W3mButton.prototype, \"isAccount\", void 0);\nW3mButton = __decorate([\n customElement('w3m-button')\n], W3mButton);\nexport { W3mButton };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ModalController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nlet W3mConnectButton = class W3mConnectButton extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.size = 'md';\n this.label = 'Connect Wallet';\n this.loadingLabel = 'Connecting...';\n this.open = ModalController.state.open;\n this.loading = ModalController.state.loading;\n this.unsubscribe.push(ModalController.subscribe(val => {\n this.open = val.open;\n this.loading = val.loading;\n }));\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n const isLoading = this.loading || this.open;\n return html `\n \n ${isLoading ? this.loadingLabel : this.label}\n \n `;\n }\n onClick() {\n if (this.open) {\n ModalController.close();\n }\n else if (!this.loading) {\n ModalController.open();\n }\n }\n};\n__decorate([\n property()\n], W3mConnectButton.prototype, \"size\", void 0);\n__decorate([\n property()\n], W3mConnectButton.prototype, \"label\", void 0);\n__decorate([\n property()\n], W3mConnectButton.prototype, \"loadingLabel\", void 0);\n__decorate([\n state()\n], W3mConnectButton.prototype, \"open\", void 0);\n__decorate([\n state()\n], W3mConnectButton.prototype, \"loading\", void 0);\nW3mConnectButton = __decorate([\n customElement('w3m-connect-button')\n], W3mConnectButton);\nexport { W3mConnectButton };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n z-index: var(--w3m-z-index);\n display: block;\n backface-visibility: hidden;\n will-change: opacity;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n pointer-events: none;\n opacity: 0;\n background-color: var(--wui-cover);\n }\n\n @keyframes zoom-in {\n 0% {\n transform: scale(0.95) translateY(0);\n }\n 100% {\n transform: scale(1) translateY(0);\n }\n }\n\n @keyframes slide-in {\n 0% {\n transform: scale(1) translateY(50px);\n }\n 100% {\n transform: scale(1) translateY(0);\n }\n }\n\n wui-card {\n max-width: 360px;\n width: 100%;\n position: relative;\n animation-duration: 0.2s;\n animation-name: zoom-in;\n animation-fill-mode: backwards;\n animation-timing-function: var(--wui-ease-out-power-2);\n outline: none;\n }\n\n wui-flex {\n overflow-x: hidden;\n overflow-y: auto;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n }\n\n @media (max-height: 700px) and (min-width: 431px) {\n wui-flex {\n align-items: flex-start;\n }\n\n wui-card {\n margin: var(--wui-spacing-xxl) 0px;\n }\n }\n\n @media (max-width: 430px) {\n wui-flex {\n align-items: flex-end;\n }\n\n wui-card {\n max-width: 100%;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom: none;\n animation-name: slide-in;\n }\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController, ApiController, ConnectionController, EventsController, ModalController, OptionsController, RouterController, SnackController, ThemeController } from '@web3modal/core';\nimport { UiHelperUtil, customElement, initializeTheming } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport styles from './styles.js';\nconst SCROLL_LOCK = 'scroll-lock';\nlet W3mModal = class W3mModal extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.abortController = undefined;\n this.open = ModalController.state.open;\n this.caipAddress = AccountController.state.caipAddress;\n this.isSiweEnabled = OptionsController.state.isSiweEnabled;\n this.initializeTheming();\n ApiController.prefetch();\n this.unsubscribe.push(ModalController.subscribeKey('open', val => (val ? this.onOpen() : this.onClose())), AccountController.subscribe(newAccountState => this.onNewAccountState(newAccountState)));\n EventsController.sendEvent({ type: 'track', event: 'MODAL_LOADED' });\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n this.onRemoveKeyboardListener();\n }\n render() {\n return this.open\n ? html `\n \n \n \n \n \n \n \n `\n : null;\n }\n async onOverlayClick(event) {\n if (event.target === event.currentTarget) {\n await this.handleClose();\n }\n }\n async handleClose() {\n if (this.isSiweEnabled) {\n const { SIWEController } = await import('@web3modal/siwe');\n if (SIWEController.state.status !== 'success') {\n await ConnectionController.disconnect();\n }\n }\n ModalController.close();\n }\n initializeTheming() {\n const { themeVariables, themeMode } = ThemeController.state;\n const defaultThemeMode = UiHelperUtil.getColorTheme(themeMode);\n initializeTheming(themeVariables, defaultThemeMode);\n }\n async onClose() {\n this.onScrollUnlock();\n await this.animate([{ opacity: 1 }, { opacity: 0 }], {\n duration: 200,\n easing: 'ease',\n fill: 'forwards'\n }).finished;\n SnackController.hide();\n this.open = false;\n this.onRemoveKeyboardListener();\n }\n async onOpen() {\n this.onScrollLock();\n this.open = true;\n await this.animate([{ opacity: 0 }, { opacity: 1 }], {\n duration: 200,\n easing: 'ease',\n fill: 'forwards'\n }).finished;\n this.onAddKeyboardListener();\n }\n onScrollLock() {\n const styleTag = document.createElement('style');\n styleTag.dataset['w3m'] = SCROLL_LOCK;\n styleTag.textContent = `\n html, body {\n touch-action: none;\n overflow: hidden;\n overscroll-behavior: contain;\n }\n w3m-modal {\n pointer-events: auto;\n }\n `;\n document.head.appendChild(styleTag);\n }\n onScrollUnlock() {\n const styleTag = document.head.querySelector(`style[data-w3m=\"${SCROLL_LOCK}\"]`);\n if (styleTag) {\n styleTag.remove();\n }\n }\n onAddKeyboardListener() {\n this.abortController = new AbortController();\n const card = this.shadowRoot?.querySelector('wui-card');\n card?.focus();\n window.addEventListener('keydown', event => {\n if (event.key === 'Escape') {\n this.handleClose();\n }\n else if (event.key === 'Tab') {\n const { tagName } = event.target;\n if (tagName && !tagName.includes('W3M-') && !tagName.includes('WUI-')) {\n card?.focus();\n }\n }\n }, this.abortController);\n }\n onRemoveKeyboardListener() {\n this.abortController?.abort();\n this.abortController = undefined;\n }\n async onNewAccountState(newState) {\n const { isConnected, caipAddress: newCaipAddress } = newState;\n if (this.isSiweEnabled) {\n const { SIWEController } = await import('@web3modal/siwe');\n if (isConnected && !this.caipAddress) {\n this.caipAddress = newCaipAddress;\n }\n if (isConnected && newCaipAddress && this.caipAddress !== newCaipAddress) {\n await SIWEController.signOut();\n this.onSiweNavigation();\n this.caipAddress = newCaipAddress;\n }\n try {\n const session = await SIWEController.getSession();\n if (session && !isConnected) {\n await SIWEController.signOut();\n }\n else if (isConnected && !session) {\n this.onSiweNavigation();\n }\n }\n catch (error) {\n if (isConnected) {\n this.onSiweNavigation();\n }\n }\n }\n }\n onSiweNavigation() {\n if (this.open) {\n RouterController.push('ConnectingSiwe');\n }\n else {\n ModalController.open({\n view: 'ConnectingSiwe'\n });\n }\n }\n};\nW3mModal.styles = styles;\n__decorate([\n state()\n], W3mModal.prototype, \"open\", void 0);\n__decorate([\n state()\n], W3mModal.prototype, \"caipAddress\", void 0);\n__decorate([\n state()\n], W3mModal.prototype, \"isSiweEnabled\", void 0);\nW3mModal = __decorate([\n customElement('w3m-modal')\n], W3mModal);\nexport { W3mModal };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n width: max-content;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController, AssetUtil, EventsController, ModalController, NetworkController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nlet W3mNetworkButton = class W3mNetworkButton extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.disabled = false;\n this.network = NetworkController.state.caipNetwork;\n this.connected = AccountController.state.isConnected;\n this.loading = ModalController.state.loading;\n this.isUnsupportedChain = NetworkController.state.isUnsupportedChain;\n this.unsubscribe.push(...[\n NetworkController.subscribeKey('caipNetwork', val => (this.network = val)),\n AccountController.subscribeKey('isConnected', val => (this.connected = val)),\n ModalController.subscribeKey('loading', val => (this.loading = val)),\n NetworkController.subscribeKey('isUnsupportedChain', val => (this.isUnsupportedChain = val))\n ]);\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return html `\n \n ${this.isUnsupportedChain\n ? 'Switch Network'\n : this.network?.name ?? (this.connected ? 'Unknown Network' : 'Select Network')}\n \n `;\n }\n onClick() {\n if (!this.loading) {\n EventsController.sendEvent({ type: 'track', event: 'CLICK_NETWORKS' });\n ModalController.open({ view: 'Networks' });\n }\n }\n};\nW3mNetworkButton.styles = styles;\n__decorate([\n property({ type: Boolean })\n], W3mNetworkButton.prototype, \"disabled\", void 0);\n__decorate([\n state()\n], W3mNetworkButton.prototype, \"network\", void 0);\n__decorate([\n state()\n], W3mNetworkButton.prototype, \"connected\", void 0);\n__decorate([\n state()\n], W3mNetworkButton.prototype, \"loading\", void 0);\n__decorate([\n state()\n], W3mNetworkButton.prototype, \"isUnsupportedChain\", void 0);\nW3mNetworkButton = __decorate([\n customElement('w3m-network-button')\n], W3mNetworkButton);\nexport { W3mNetworkButton };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n will-change: transform, opacity;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { RouterController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport styles from './styles.js';\nlet W3mRouter = class W3mRouter extends LitElement {\n constructor() {\n super();\n this.resizeObserver = undefined;\n this.prevHeight = '0px';\n this.prevHistoryLength = 1;\n this.unsubscribe = [];\n this.view = RouterController.state.view;\n this.unsubscribe.push(RouterController.subscribeKey('view', val => this.onViewChange(val)));\n }\n firstUpdated() {\n this.resizeObserver = new ResizeObserver(async ([content]) => {\n const height = `${content?.contentRect.height}px`;\n if (this.prevHeight !== '0px') {\n await this.animate([{ height: this.prevHeight }, { height }], {\n duration: 150,\n easing: 'ease',\n fill: 'forwards'\n }).finished;\n this.style.height = 'auto';\n }\n this.prevHeight = height;\n });\n this.resizeObserver.observe(this.getWrapper());\n }\n disconnectedCallback() {\n this.resizeObserver?.unobserve(this.getWrapper());\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return html `
${this.viewTemplate()}
`;\n }\n viewTemplate() {\n switch (this.view) {\n case 'Connect':\n return html ``;\n case 'ConnectingWalletConnect':\n return html ``;\n case 'ConnectingExternal':\n return html ``;\n case 'ConnectingSiwe':\n return html ``;\n case 'AllWallets':\n return html ``;\n case 'Networks':\n return html ``;\n case 'SwitchNetwork':\n return html ``;\n case 'Account':\n return html ``;\n case 'AccountSettings':\n return html ``;\n case 'WhatIsAWallet':\n return html ``;\n case 'WhatIsANetwork':\n return html ``;\n case 'GetWallet':\n return html ``;\n case 'Downloads':\n return html ``;\n case 'EmailVerifyOtp':\n return html ``;\n case 'EmailVerifyDevice':\n return html ``;\n case 'ApproveTransaction':\n return html ``;\n case 'Transactions':\n return html ``;\n case 'UpgradeEmailWallet':\n return html ``;\n case 'UpgradeToSmartAccount':\n return html ``;\n case 'UpdateEmailWallet':\n return html ``;\n case 'UpdateEmailPrimaryOtp':\n return html ``;\n case 'UpdateEmailSecondaryOtp':\n return html ``;\n case 'UnsupportedChain':\n return html ``;\n case 'OnRampProviders':\n return html ``;\n case 'OnRampActivity':\n return html ``;\n case 'OnRampTokenSelect':\n return html ``;\n case 'OnRampFiatSelect':\n return html ``;\n case 'WhatIsABuy':\n return html ``;\n case 'BuyInProgress':\n return html ``;\n case 'WalletReceive':\n return html ``;\n case 'WalletCompatibleNetworks':\n return html ``;\n case 'Convert':\n return html ``;\n case 'ConvertSelectToken':\n return html ``;\n case 'ConvertPreview':\n return html ``;\n case 'WalletSend':\n return html ``;\n case 'WalletSendSelectToken':\n return html ``;\n case 'WalletSendPreview':\n return html ``;\n default:\n return html ``;\n }\n }\n async onViewChange(newView) {\n const { history } = RouterController.state;\n let xOut = -10;\n let xIn = 10;\n if (history.length < this.prevHistoryLength) {\n xOut = 10;\n xIn = -10;\n }\n this.prevHistoryLength = history.length;\n await this.animate([\n { opacity: 1, transform: 'translateX(0px)' },\n { opacity: 0, transform: `translateX(${xOut}px)` }\n ], { duration: 150, easing: 'ease', fill: 'forwards' }).finished;\n this.view = newView;\n await this.animate([\n { opacity: 0, transform: `translateX(${xIn}px)` },\n { opacity: 1, transform: 'translateX(0px)' }\n ], { duration: 150, easing: 'ease', fill: 'forwards', delay: 50 }).finished;\n }\n getWrapper() {\n return this.shadowRoot?.querySelector('div');\n }\n};\nW3mRouter.styles = styles;\n__decorate([\n state()\n], W3mRouter.prototype, \"view\", void 0);\nW3mRouter = __decorate([\n customElement('w3m-router')\n], W3mRouter);\nexport { W3mRouter };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-flex {\n width: 100%;\n max-width: 360px;\n }\n\n :host > wui-flex > wui-flex {\n border-radius: var(--wui-border-radius-l);\n width: 100%;\n }\n\n .amounts-container {\n width: 100%;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController, ModalController, OnRampController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport styles from './styles.js';\nconst PAYMENT_CURRENCY_SYMBOLS = {\n USD: '$',\n EUR: '€',\n GBP: '£'\n};\nconst BUY_PRESET_AMOUNTS = [100, 250, 500, 1000];\nlet W3mOnrampWidget = class W3mOnrampWidget extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.disabled = false;\n this.connected = AccountController.state.isConnected;\n this.loading = ModalController.state.loading;\n this.paymentCurrency = OnRampController.state.paymentCurrency;\n this.paymentAmount = OnRampController.state.paymentAmount;\n this.purchaseAmount = OnRampController.state.purchaseAmount;\n this.quoteLoading = OnRampController.state.quotesLoading;\n this.unsubscribe.push(...[\n AccountController.subscribeKey('isConnected', val => {\n this.connected = val;\n }),\n ModalController.subscribeKey('loading', val => {\n this.loading = val;\n }),\n OnRampController.subscribe(val => {\n this.paymentCurrency = val.paymentCurrency;\n this.paymentAmount = val.paymentAmount;\n this.purchaseAmount = val.purchaseAmount;\n this.quoteLoading = val.quotesLoading;\n })\n ]);\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return html `\n \n \n \n \n \n ${BUY_PRESET_AMOUNTS.map(amount => html ` this.selectPresetAmount(amount)}\n >${`${PAYMENT_CURRENCY_SYMBOLS[this.paymentCurrency?.id || 'USD']} ${amount}`}`)}\n \n ${this.templateButton()}\n \n \n `;\n }\n templateButton() {\n return this.connected\n ? html `\n Get quotes\n `\n : html `\n Connect wallet\n `;\n }\n getQuotes() {\n if (!this.loading) {\n ModalController.open({ view: 'OnRampProviders' });\n }\n }\n openModal() {\n ModalController.open({ view: 'Connect' });\n }\n async onPaymentAmountChange(event) {\n OnRampController.setPaymentAmount(Number(event.detail));\n await OnRampController.getQuote();\n }\n async selectPresetAmount(amount) {\n OnRampController.setPaymentAmount(amount);\n await OnRampController.getQuote();\n }\n};\nW3mOnrampWidget.styles = styles;\n__decorate([\n property({ type: Boolean })\n], W3mOnrampWidget.prototype, \"disabled\", void 0);\n__decorate([\n state()\n], W3mOnrampWidget.prototype, \"connected\", void 0);\n__decorate([\n state()\n], W3mOnrampWidget.prototype, \"loading\", void 0);\n__decorate([\n state()\n], W3mOnrampWidget.prototype, \"paymentCurrency\", void 0);\n__decorate([\n state()\n], W3mOnrampWidget.prototype, \"paymentAmount\", void 0);\n__decorate([\n state()\n], W3mOnrampWidget.prototype, \"purchaseAmount\", void 0);\n__decorate([\n state()\n], W3mOnrampWidget.prototype, \"quoteLoading\", void 0);\nW3mOnrampWidget = __decorate([\n customElement('w3m-onramp-widget')\n], W3mOnrampWidget);\nexport { W3mOnrampWidget };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-flex {\n width: 100%;\n }\n\n wui-icon-link {\n margin-right: calc(var(--wui-icon-box-size-md) * -1);\n }\n\n .account-links {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .account-links wui-flex {\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n background: red;\n align-items: center;\n justify-content: center;\n height: 48px;\n padding: 10px;\n flex: 1 0 0;\n\n border-radius: var(--XS, 16px);\n border: 1px solid var(--dark-accent-glass-010, rgba(71, 161, 255, 0.1));\n background: var(--dark-accent-glass-010, rgba(71, 161, 255, 0.1));\n transition: background-color var(--wui-ease-out-power-1) var(--wui-duration-md);\n will-change: background-color;\n }\n\n .account-links wui-flex:hover {\n background: var(--dark-accent-glass-015, rgba(71, 161, 255, 0.15));\n }\n\n .account-links wui-flex wui-icon {\n width: var(--S, 20px);\n height: var(--S, 20px);\n }\n\n .account-links wui-flex wui-icon svg path {\n stroke: #47a1ff;\n }\n`;\n//# sourceMappingURL=styles.js.map","import { Buffer } from 'buffer';\nif (typeof window !== 'undefined') {\n if (!window.Buffer) {\n window.Buffer = Buffer;\n }\n if (!window.global) {\n window.global = window;\n }\n if (!window.process) {\n window.process = {};\n }\n if (!window.process?.env) {\n window.process = { env: {} };\n }\n}\n//# sourceMappingURL=index.js.map","export const SECURE_SITE_SDK = process.env['NEXT_PUBLIC_SECURE_SITE_SDK_URL'] || 'https://secure.walletconnect.com/sdk';\nexport const W3mFrameConstants = {\n APP_EVENT_KEY: '@w3m-app/',\n FRAME_EVENT_KEY: '@w3m-frame/',\n RPC_METHOD_KEY: 'RPC_',\n STORAGE_KEY: '@w3m-storage/',\n SESSION_TOKEN_KEY: 'SESSION_TOKEN_KEY',\n EMAIL_LOGIN_USED_KEY: 'EMAIL_LOGIN_USED_KEY',\n LAST_USED_CHAIN_KEY: 'LAST_USED_CHAIN_KEY',\n LAST_EMAIL_LOGIN_TIME: 'LAST_EMAIL_LOGIN_TIME',\n EMAIL: 'EMAIL',\n PREFERRED_ACCOUNT_TYPE: 'PREFERRED_ACCOUNT_TYPE',\n SMART_ACCOUNT_ENABLED: 'SMART_ACCOUNT_ENABLED',\n SMART_ACCOUNT_ENABLED_NETWORKS: 'SMART_ACCOUNT_ENABLED_NETWORKS',\n APP_SWITCH_NETWORK: '@w3m-app/SWITCH_NETWORK',\n APP_CONNECT_EMAIL: '@w3m-app/CONNECT_EMAIL',\n APP_CONNECT_DEVICE: '@w3m-app/CONNECT_DEVICE',\n APP_CONNECT_OTP: '@w3m-app/CONNECT_OTP',\n APP_GET_USER: '@w3m-app/GET_USER',\n APP_SIGN_OUT: '@w3m-app/SIGN_OUT',\n APP_IS_CONNECTED: '@w3m-app/IS_CONNECTED',\n APP_GET_CHAIN_ID: '@w3m-app/GET_CHAIN_ID',\n APP_RPC_REQUEST: '@w3m-app/RPC_REQUEST',\n APP_UPDATE_EMAIL: '@w3m-app/UPDATE_EMAIL',\n APP_UPDATE_EMAIL_PRIMARY_OTP: '@w3m-app/UPDATE_EMAIL_PRIMARY_OTP',\n APP_UPDATE_EMAIL_SECONDARY_OTP: '@w3m-app/UPDATE_EMAIL_SECONDARY_OTP',\n APP_AWAIT_UPDATE_EMAIL: '@w3m-app/AWAIT_UPDATE_EMAIL',\n APP_SYNC_THEME: '@w3m-app/SYNC_THEME',\n APP_SYNC_DAPP_DATA: '@w3m-app/SYNC_DAPP_DATA',\n APP_GET_SMART_ACCOUNT_ENABLED_NETWORKS: '@w3m-app/GET_SMART_ACCOUNT_ENABLED_NETWORKS',\n APP_INIT_SMART_ACCOUNT: '@w3m-app/INIT_SMART_ACCOUNT',\n APP_SET_PREFERRED_ACCOUNT: '@w3m-app/SET_PREFERRED_ACCOUNT',\n FRAME_SWITCH_NETWORK_ERROR: '@w3m-frame/SWITCH_NETWORK_ERROR',\n FRAME_SWITCH_NETWORK_SUCCESS: '@w3m-frame/SWITCH_NETWORK_SUCCESS',\n FRAME_CONNECT_EMAIL_ERROR: '@w3m-frame/CONNECT_EMAIL_ERROR',\n FRAME_CONNECT_EMAIL_SUCCESS: '@w3m-frame/CONNECT_EMAIL_SUCCESS',\n FRAME_CONNECT_DEVICE_ERROR: '@w3m-frame/CONNECT_DEVICE_ERROR',\n FRAME_CONNECT_DEVICE_SUCCESS: '@w3m-frame/CONNECT_DEVICE_SUCCESS',\n FRAME_CONNECT_OTP_SUCCESS: '@w3m-frame/CONNECT_OTP_SUCCESS',\n FRAME_CONNECT_OTP_ERROR: '@w3m-frame/CONNECT_OTP_ERROR',\n FRAME_GET_USER_SUCCESS: '@w3m-frame/GET_USER_SUCCESS',\n FRAME_GET_USER_ERROR: '@w3m-frame/GET_USER_ERROR',\n FRAME_SIGN_OUT_SUCCESS: '@w3m-frame/SIGN_OUT_SUCCESS',\n FRAME_SIGN_OUT_ERROR: '@w3m-frame/SIGN_OUT_ERROR',\n FRAME_IS_CONNECTED_SUCCESS: '@w3m-frame/IS_CONNECTED_SUCCESS',\n FRAME_IS_CONNECTED_ERROR: '@w3m-frame/IS_CONNECTED_ERROR',\n FRAME_GET_CHAIN_ID_SUCCESS: '@w3m-frame/GET_CHAIN_ID_SUCCESS',\n FRAME_GET_CHAIN_ID_ERROR: '@w3m-frame/GET_CHAIN_ID_ERROR',\n FRAME_RPC_REQUEST_SUCCESS: '@w3m-frame/RPC_REQUEST_SUCCESS',\n FRAME_RPC_REQUEST_ERROR: '@w3m-frame/RPC_REQUEST_ERROR',\n FRAME_SESSION_UPDATE: '@w3m-frame/SESSION_UPDATE',\n FRAME_UPDATE_EMAIL_SUCCESS: '@w3m-frame/UPDATE_EMAIL_SUCCESS',\n FRAME_UPDATE_EMAIL_ERROR: '@w3m-frame/UPDATE_EMAIL_ERROR',\n FRAME_UPDATE_EMAIL_PRIMARY_OTP_SUCCESS: '@w3m-frame/UPDATE_EMAIL_PRIMARY_OTP_SUCCESS',\n FRAME_UPDATE_EMAIL_PRIMARY_OTP_ERROR: '@w3m-frame/UPDATE_EMAIL_PRIMARY_OTP_ERROR',\n FRAME_UPDATE_EMAIL_SECONDARY_OTP_SUCCESS: '@w3m-frame/UPDATE_EMAIL_SECONDARY_OTP_SUCCESS',\n FRAME_UPDATE_EMAIL_SECONDARY_OTP_ERROR: '@w3m-frame/UPDATE_EMAIL_SECONDARY_OTP_ERROR',\n FRAME_SYNC_THEME_SUCCESS: '@w3m-frame/SYNC_THEME_SUCCESS',\n FRAME_SYNC_THEME_ERROR: '@w3m-frame/SYNC_THEME_ERROR',\n FRAME_SYNC_DAPP_DATA_SUCCESS: '@w3m-frame/SYNC_DAPP_DATA_SUCCESS',\n FRAME_SYNC_DAPP_DATA_ERROR: '@w3m-frame/SYNC_DAPP_DATA_ERROR',\n FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS: '@w3m-frame/GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS',\n FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR: '@w3m-frame/GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR',\n FRAME_INIT_SMART_ACCOUNT_SUCCESS: '@w3m-frame/INIT_SMART_ACCOUNT_SUCCESS',\n FRAME_INIT_SMART_ACCOUNT_ERROR: '@w3m-frame/INIT_SMART_ACCOUNT_ERROR',\n FRAME_SET_PREFERRED_ACCOUNT_SUCCESS: '@w3m-frame/SET_PREFERRED_ACCOUNT_SUCCESS',\n FRAME_SET_PREFERRED_ACCOUNT_ERROR: '@w3m-frame/SET_PREFERRED_ACCOUNT_ERROR',\n RPC_RESPONSE_TYPE_ERROR: 'RPC_RESPONSE_ERROR',\n RPC_RESPONSE_TYPE_TX: 'RPC_RESPONSE_TRANSACTION_HASH',\n RPC_RESPONSE_TYPE_OBJECT: 'RPC_RESPONSE_OBJECT'\n};\nexport const W3mFrameRpcConstants = {\n SAFE_RPC_METHODS: [\n 'eth_accounts',\n 'eth_blockNumber',\n 'eth_call',\n 'eth_chainId',\n 'eth_estimateGas',\n 'eth_feeHistory',\n 'eth_gasPrice',\n 'eth_getAccount',\n 'eth_getBalance',\n 'eth_getBlockByHash',\n 'eth_getBlockByNumber',\n 'eth_getBlockReceipts',\n 'eth_getBlockTransactionCountByHash',\n 'eth_getBlockTransactionCountByNumber',\n 'eth_getCode',\n 'eth_getFilterChanges',\n 'eth_getFilterLogs',\n 'eth_getLogs',\n 'eth_getProof',\n 'eth_getStorageAt',\n 'eth_getTransactionByBlockHashAndIndex',\n 'eth_getTransactionByBlockNumberAndIndex',\n 'eth_getTransactionByHash',\n 'eth_getTransactionCount',\n 'eth_getTransactionReceipt',\n 'eth_getUncleCountByBlockHash',\n 'eth_getUncleCountByBlockNumber',\n 'eth_maxPriorityFeePerGas',\n 'eth_newBlockFilter',\n 'eth_newFilter',\n 'eth_newPendingTransactionFilter',\n 'eth_sendRawTransaction',\n 'eth_syncing',\n 'eth_uninstallFilter'\n ],\n NOT_SAFE_RPC_METHODS: ['personal_sign', 'eth_signTypedData_v4', 'eth_sendTransaction'],\n GET_CHAIN_ID: 'eth_chainId',\n RPC_METHOD_NOT_ALLOWED_MESSAGE: 'Requested RPC call is not allowed',\n RPC_METHOD_NOT_ALLOWED_UI_MESSAGE: 'Action not allowed',\n ACCOUNT_TYPES: {\n EOA: 'eoa',\n SMART_ACCOUNT: 'smartAccount'\n }\n};\n//# sourceMappingURL=W3mFrameConstants.js.map","import { z } from 'zod';\nimport { W3mFrameConstants } from './W3mFrameConstants.js';\nconst zError = z.object({ message: z.string() });\nfunction zType(key) {\n return z.literal(W3mFrameConstants[key]);\n}\nexport const GetTransactionByHashResponse = z.object({\n accessList: z.array(z.string()),\n blockHash: z.string().nullable(),\n blockNumber: z.string().nullable(),\n chainId: z.string(),\n from: z.string(),\n gas: z.string(),\n hash: z.string(),\n input: z.string().nullable(),\n maxFeePerGas: z.string(),\n maxPriorityFeePerGas: z.string(),\n nonce: z.string(),\n r: z.string(),\n s: z.string(),\n to: z.string(),\n transactionIndex: z.string().nullable(),\n type: z.string(),\n v: z.string(),\n value: z.string()\n});\nexport const AppSwitchNetworkRequest = z.object({ chainId: z.number() });\nexport const AppConnectEmailRequest = z.object({ email: z.string().email() });\nexport const AppConnectOtpRequest = z.object({ otp: z.string() });\nexport const AppGetUserRequest = z.object({\n chainId: z.optional(z.number()),\n preferredAccountType: z.optional(z.string())\n});\nexport const AppUpdateEmailRequest = z.object({ email: z.string().email() });\nexport const AppUpdateEmailPrimaryOtpRequest = z.object({ otp: z.string() });\nexport const AppUpdateEmailSecondaryOtpRequest = z.object({ otp: z.string() });\nexport const AppSyncThemeRequest = z.object({\n themeMode: z.optional(z.enum(['light', 'dark'])),\n themeVariables: z.optional(z.record(z.string(), z.string().or(z.number())))\n});\nexport const AppSyncDappDataRequest = z.object({\n metadata: z\n .object({\n name: z.string(),\n description: z.string(),\n url: z.string(),\n icons: z.array(z.string())\n })\n .optional(),\n sdkVersion: z.string(),\n projectId: z.string()\n});\nexport const AppSetPreferredAccountRequest = z.object({ type: z.string() });\nexport const FrameConnectEmailResponse = z.object({\n action: z.enum(['VERIFY_DEVICE', 'VERIFY_OTP'])\n});\nexport const FrameUpdateEmailResponse = z.object({\n action: z.enum(['VERIFY_PRIMARY_OTP', 'VERIFY_SECONDARY_OTP'])\n});\nexport const FrameGetUserResponse = z.object({\n email: z.string().email(),\n address: z.string(),\n chainId: z.number(),\n smartAccountDeployed: z.optional(z.boolean()),\n preferredAccountType: z.optional(z.string())\n});\nexport const FrameIsConnectedResponse = z.object({ isConnected: z.boolean() });\nexport const FrameGetChainIdResponse = z.object({ chainId: z.number() });\nexport const FrameSwitchNetworkResponse = z.object({ chainId: z.number() });\nexport const FrameUpdateEmailSecondaryOtpResolver = z.object({ newEmail: z.string().email() });\nexport const FrameGetSmartAccountEnabledNetworksResponse = z.object({\n smartAccountEnabledNetworks: z.array(z.number())\n});\nexport const FrameInitSmartAccountResponse = z.object({\n address: z.string(),\n isDeployed: z.boolean()\n});\nexport const FrameSetPreferredAccountResponse = z.object({ type: z.string(), address: z.string() });\nexport const RpcResponse = z.any();\nexport const RpcEthAccountsRequest = z.object({\n method: z.literal('eth_accounts')\n});\nexport const RpcEthBlockNumber = z.object({\n method: z.literal('eth_blockNumber')\n});\nexport const RpcEthCall = z.object({\n method: z.literal('eth_call'),\n params: z.array(z.any())\n});\nexport const RpcEthChainId = z.object({\n method: z.literal('eth_chainId')\n});\nexport const RpcEthEstimateGas = z.object({\n method: z.literal('eth_estimateGas'),\n params: z.array(z.any())\n});\nexport const RpcEthFeeHistory = z.object({\n method: z.literal('eth_feeHistory'),\n params: z.array(z.any())\n});\nexport const RpcEthGasPrice = z.object({\n method: z.literal('eth_gasPrice')\n});\nexport const RpcEthGetAccount = z.object({\n method: z.literal('eth_getAccount'),\n params: z.array(z.any())\n});\nexport const RpcEthGetBalance = z.object({\n method: z.literal('eth_getBalance'),\n params: z.array(z.any())\n});\nexport const RpcEthGetBlockyByHash = z.object({\n method: z.literal('eth_getBlockByHash'),\n params: z.array(z.any())\n});\nexport const RpcEthGetBlockByNumber = z.object({\n method: z.literal('eth_getBlockByNumber'),\n params: z.array(z.any())\n});\nexport const RpcEthGetBlockReceipts = z.object({\n method: z.literal('eth_getBlockReceipts'),\n params: z.array(z.any())\n});\nexport const RcpEthGetBlockTransactionCountByHash = z.object({\n method: z.literal('eth_getBlockTransactionCountByHash'),\n params: z.array(z.any())\n});\nexport const RcpEthGetBlockTransactionCountByNumber = z.object({\n method: z.literal('eth_getBlockTransactionCountByNumber'),\n params: z.array(z.any())\n});\nexport const RpcEthGetCode = z.object({\n method: z.literal('eth_getCode'),\n params: z.array(z.any())\n});\nexport const RpcEthGetFilter = z.object({\n method: z.literal('eth_getFilterChanges'),\n params: z.array(z.any())\n});\nexport const RpcEthGetFilterLogs = z.object({\n method: z.literal('eth_getFilterLogs'),\n params: z.array(z.any())\n});\nexport const RpcEthGetLogs = z.object({\n method: z.literal('eth_getLogs'),\n params: z.array(z.any())\n});\nexport const RpcEthGetProof = z.object({\n method: z.literal('eth_getProof'),\n params: z.array(z.any())\n});\nexport const RpcEthGetStorageAt = z.object({\n method: z.literal('eth_getStorageAt'),\n params: z.array(z.any())\n});\nexport const RpcEthGetTransactionByBlockHashAndIndex = z.object({\n method: z.literal('eth_getTransactionByBlockHashAndIndex'),\n params: z.array(z.any())\n});\nexport const RpcEthGetTransactionByBlockNumberAndIndex = z.object({\n method: z.literal('eth_getTransactionByBlockNumberAndIndex'),\n params: z.array(z.any())\n});\nexport const RpcEthGetTransactionByHash = z.object({\n method: z.literal('eth_getTransactionByHash'),\n params: z.array(z.any())\n});\nexport const RpcEthGetTransactionCount = z.object({\n method: z.literal('eth_getTransactionCount'),\n params: z.array(z.any())\n});\nexport const RpcEthGetTransactionReceipt = z.object({\n method: z.literal('eth_getTransactionReceipt'),\n params: z.array(z.any())\n});\nexport const RpcEthGetUncleCountByBlockHash = z.object({\n method: z.literal('eth_getUncleCountByBlockHash'),\n params: z.array(z.any())\n});\nexport const RpcEthGetUncleCountByBlockNumber = z.object({\n method: z.literal('eth_getUncleCountByBlockNumber'),\n params: z.array(z.any())\n});\nexport const RpcEthMaxPriorityFeePerGas = z.object({\n method: z.literal('eth_maxPriorityFeePerGas')\n});\nexport const RpcEthNewBlockFilter = z.object({\n method: z.literal('eth_newBlockFilter')\n});\nexport const RpcEthNewFilter = z.object({\n method: z.literal('eth_newFilter'),\n params: z.array(z.any())\n});\nexport const RpcEthNewPendingTransactionFilter = z.object({\n method: z.literal('eth_newPendingTransactionFilter')\n});\nexport const RpcEthSendRawTransaction = z.object({\n method: z.literal('eth_sendRawTransaction'),\n params: z.array(z.any())\n});\nexport const RpcEthSyncing = z.object({\n method: z.literal('eth_syncing'),\n params: z.array(z.any())\n});\nexport const RpcUnistallFilter = z.object({\n method: z.literal('eth_uninstallFilter'),\n params: z.array(z.any())\n});\nexport const RpcPersonalSignRequest = z.object({\n method: z.literal('personal_sign'),\n params: z.array(z.any())\n});\nexport const RpcEthSignTypedDataV4 = z.object({\n method: z.literal('eth_signTypedData_v4'),\n params: z.array(z.any())\n});\nexport const RpcEthSendTransactionRequest = z.object({\n method: z.literal('eth_sendTransaction'),\n params: z.array(z.any())\n});\nexport const FrameSession = z.object({\n token: z.string()\n});\nexport const W3mFrameSchema = {\n appEvent: z\n .object({ type: zType('APP_SWITCH_NETWORK'), payload: AppSwitchNetworkRequest })\n .or(z.object({ type: zType('APP_CONNECT_EMAIL'), payload: AppConnectEmailRequest }))\n .or(z.object({ type: zType('APP_CONNECT_DEVICE') }))\n .or(z.object({ type: zType('APP_CONNECT_OTP'), payload: AppConnectOtpRequest }))\n .or(z.object({ type: zType('APP_GET_USER'), payload: z.optional(AppGetUserRequest) }))\n .or(z.object({ type: zType('APP_SIGN_OUT') }))\n .or(z.object({ type: zType('APP_IS_CONNECTED'), payload: z.optional(FrameSession) }))\n .or(z.object({ type: zType('APP_GET_CHAIN_ID') }))\n .or(z.object({ type: zType('APP_GET_SMART_ACCOUNT_ENABLED_NETWORKS') }))\n .or(z.object({ type: zType('APP_INIT_SMART_ACCOUNT') }))\n .or(z.object({ type: zType('APP_SET_PREFERRED_ACCOUNT'), payload: AppSetPreferredAccountRequest }))\n .or(z.object({\n type: zType('APP_RPC_REQUEST'),\n payload: RpcPersonalSignRequest.or(RpcEthSendTransactionRequest)\n .or(RpcEthAccountsRequest)\n .or(RpcEthBlockNumber)\n .or(RpcEthCall)\n .or(RpcEthChainId)\n .or(RpcEthEstimateGas)\n .or(RpcEthFeeHistory)\n .or(RpcEthGasPrice)\n .or(RpcEthGetAccount)\n .or(RpcEthGetBalance)\n .or(RpcEthGetBlockyByHash)\n .or(RpcEthGetBlockByNumber)\n .or(RpcEthGetBlockReceipts)\n .or(RcpEthGetBlockTransactionCountByHash)\n .or(RcpEthGetBlockTransactionCountByNumber)\n .or(RpcEthGetCode)\n .or(RpcEthGetFilter)\n .or(RpcEthGetFilterLogs)\n .or(RpcEthGetLogs)\n .or(RpcEthGetProof)\n .or(RpcEthGetStorageAt)\n .or(RpcEthGetTransactionByBlockHashAndIndex)\n .or(RpcEthGetTransactionByBlockNumberAndIndex)\n .or(RpcEthGetTransactionByHash)\n .or(RpcEthGetTransactionCount)\n .or(RpcEthGetTransactionReceipt)\n .or(RpcEthGetUncleCountByBlockHash)\n .or(RpcEthGetUncleCountByBlockNumber)\n .or(RpcEthMaxPriorityFeePerGas)\n .or(RpcEthNewBlockFilter)\n .or(RpcEthNewFilter)\n .or(RpcEthNewPendingTransactionFilter)\n .or(RpcEthSendRawTransaction)\n .or(RpcEthSyncing)\n .or(RpcUnistallFilter)\n .or(RpcPersonalSignRequest)\n .or(RpcEthSignTypedDataV4)\n .or(RpcEthSendTransactionRequest)\n }))\n .or(z.object({ type: zType('APP_UPDATE_EMAIL'), payload: AppUpdateEmailRequest }))\n .or(z.object({\n type: zType('APP_UPDATE_EMAIL_PRIMARY_OTP'),\n payload: AppUpdateEmailPrimaryOtpRequest\n }))\n .or(z.object({\n type: zType('APP_UPDATE_EMAIL_SECONDARY_OTP'),\n payload: AppUpdateEmailSecondaryOtpRequest\n }))\n .or(z.object({ type: zType('APP_SYNC_THEME'), payload: AppSyncThemeRequest }))\n .or(z.object({ type: zType('APP_SYNC_DAPP_DATA'), payload: AppSyncDappDataRequest })),\n frameEvent: z\n .object({ type: zType('FRAME_SWITCH_NETWORK_ERROR'), payload: zError })\n .or(z.object({ type: zType('FRAME_SWITCH_NETWORK_SUCCESS'), payload: FrameSwitchNetworkResponse }))\n .or(z.object({ type: zType('FRAME_CONNECT_EMAIL_ERROR'), payload: zError }))\n .or(z.object({ type: zType('FRAME_CONNECT_EMAIL_SUCCESS'), payload: FrameConnectEmailResponse }))\n .or(z.object({ type: zType('FRAME_CONNECT_OTP_ERROR'), payload: zError }))\n .or(z.object({ type: zType('FRAME_CONNECT_OTP_SUCCESS') }))\n .or(z.object({ type: zType('FRAME_CONNECT_DEVICE_ERROR'), payload: zError }))\n .or(z.object({ type: zType('FRAME_CONNECT_DEVICE_SUCCESS') }))\n .or(z.object({ type: zType('FRAME_GET_USER_ERROR'), payload: zError }))\n .or(z.object({ type: zType('FRAME_GET_USER_SUCCESS'), payload: FrameGetUserResponse }))\n .or(z.object({ type: zType('FRAME_SIGN_OUT_ERROR'), payload: zError }))\n .or(z.object({ type: zType('FRAME_SIGN_OUT_SUCCESS') }))\n .or(z.object({ type: zType('FRAME_IS_CONNECTED_ERROR'), payload: zError }))\n .or(z.object({ type: zType('FRAME_IS_CONNECTED_SUCCESS'), payload: FrameIsConnectedResponse }))\n .or(z.object({ type: zType('FRAME_GET_CHAIN_ID_ERROR'), payload: zError }))\n .or(z.object({ type: zType('FRAME_GET_CHAIN_ID_SUCCESS'), payload: FrameGetChainIdResponse }))\n .or(z.object({ type: zType('FRAME_RPC_REQUEST_ERROR'), payload: zError }))\n .or(z.object({ type: zType('FRAME_RPC_REQUEST_SUCCESS'), payload: RpcResponse }))\n .or(z.object({ type: zType('FRAME_SESSION_UPDATE'), payload: FrameSession }))\n .or(z.object({ type: zType('FRAME_UPDATE_EMAIL_ERROR'), payload: zError }))\n .or(z.object({ type: zType('FRAME_UPDATE_EMAIL_SUCCESS'), payload: FrameUpdateEmailResponse }))\n .or(z.object({ type: zType('FRAME_UPDATE_EMAIL_PRIMARY_OTP_ERROR'), payload: zError }))\n .or(z.object({ type: zType('FRAME_UPDATE_EMAIL_PRIMARY_OTP_SUCCESS') }))\n .or(z.object({ type: zType('FRAME_UPDATE_EMAIL_SECONDARY_OTP_ERROR'), payload: zError }))\n .or(z.object({\n type: zType('FRAME_UPDATE_EMAIL_SECONDARY_OTP_SUCCESS'),\n payload: FrameUpdateEmailSecondaryOtpResolver\n }))\n .or(z.object({ type: zType('FRAME_SYNC_THEME_ERROR'), payload: zError }))\n .or(z.object({ type: zType('FRAME_SYNC_THEME_SUCCESS') }))\n .or(z.object({ type: zType('FRAME_SYNC_DAPP_DATA_ERROR'), payload: zError }))\n .or(z.object({ type: zType('FRAME_SYNC_DAPP_DATA_SUCCESS') }))\n .or(z.object({\n type: zType('FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS'),\n payload: FrameGetSmartAccountEnabledNetworksResponse\n }))\n .or(z.object({\n type: zType('FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR'),\n payload: zError\n }))\n .or(z.object({ type: zType('FRAME_INIT_SMART_ACCOUNT_ERROR'), payload: zError }))\n .or(z.object({\n type: zType('FRAME_SET_PREFERRED_ACCOUNT_SUCCESS'),\n payload: FrameSetPreferredAccountResponse\n }))\n .or(z.object({ type: zType('FRAME_SET_PREFERRED_ACCOUNT_ERROR'), payload: zError }))\n};\n//# sourceMappingURL=W3mFrameSchema.js.map","import { W3mFrameConstants } from './W3mFrameConstants.js';\nimport { W3mFrameHelpers } from './W3mFrameHelpers.js';\nexport const W3mFrameStorage = {\n set(key, value) {\n if (W3mFrameHelpers.isClient) {\n localStorage.setItem(`${W3mFrameConstants.STORAGE_KEY}${key}`, value);\n }\n },\n get(key) {\n if (W3mFrameHelpers.isClient) {\n return localStorage.getItem(`${W3mFrameConstants.STORAGE_KEY}${key}`);\n }\n return null;\n },\n delete(key) {\n if (W3mFrameHelpers.isClient) {\n localStorage.removeItem(`${W3mFrameConstants.STORAGE_KEY}${key}`);\n }\n }\n};\n//# sourceMappingURL=W3mFrameStorage.js.map","export const RegexUtil = {\n address: /^0x(?:[A-Fa-f0-9]{40})$/u,\n transactionHash: /^0x(?:[A-Fa-f0-9]{64})$/u,\n signedMessage: /^0x(?:[A-Fa-f0-9]{130})$/u\n};\n//# sourceMappingURL=RegexUtil.js.map","import { W3mFrameStorage } from './W3mFrameStorage.js';\nimport { W3mFrameConstants, W3mFrameRpcConstants } from './W3mFrameConstants.js';\nimport { RegexUtil } from './RegexUtil.js';\nconst RESTRICTED_TIMEZONES = [\n 'ASIA/SHANGHAI',\n 'ASIA/URUMQI',\n 'ASIA/CHONGQING',\n 'ASIA/HARBIN',\n 'ASIA/KASHGAR',\n 'ASIA/MACAU',\n 'ASIA/HONG_KONG',\n 'ASIA/MACAO',\n 'ASIA/BEIJING',\n 'ASIA/HARBIN'\n];\nconst EMAIL_MINIMUM_TIMEOUT = 30 * 1000;\nexport const W3mFrameHelpers = {\n getBlockchainApiUrl() {\n try {\n const { timeZone } = new Intl.DateTimeFormat().resolvedOptions();\n const capTimeZone = timeZone.toUpperCase();\n return RESTRICTED_TIMEZONES.includes(capTimeZone)\n ? 'https://rpc.walletconnect.org'\n : 'https://rpc.walletconnect.com';\n }\n catch {\n return false;\n }\n },\n checkIfAllowedToTriggerEmail() {\n const lastEmailLoginTime = W3mFrameStorage.get(W3mFrameConstants.LAST_EMAIL_LOGIN_TIME);\n if (lastEmailLoginTime) {\n const difference = Date.now() - Number(lastEmailLoginTime);\n if (difference < EMAIL_MINIMUM_TIMEOUT) {\n const cooldownSec = Math.ceil((EMAIL_MINIMUM_TIMEOUT - difference) / 1000);\n throw new Error(`Please try again after ${cooldownSec} seconds`);\n }\n }\n },\n getTimeToNextEmailLogin() {\n const lastEmailLoginTime = W3mFrameStorage.get(W3mFrameConstants.LAST_EMAIL_LOGIN_TIME);\n if (lastEmailLoginTime) {\n const difference = Date.now() - Number(lastEmailLoginTime);\n if (difference < EMAIL_MINIMUM_TIMEOUT) {\n return Math.ceil((EMAIL_MINIMUM_TIMEOUT - difference) / 1000);\n }\n }\n return 0;\n },\n checkIfRequestExists(request) {\n const method = this.getRequestMethod(request);\n return (W3mFrameRpcConstants.NOT_SAFE_RPC_METHODS.includes(method) ||\n W3mFrameRpcConstants.SAFE_RPC_METHODS.includes(method));\n },\n getRequestMethod(request) {\n return request?.payload?.method;\n },\n getResponseType(response) {\n const { type, payload } = response;\n const isError = type === W3mFrameConstants.FRAME_RPC_REQUEST_ERROR;\n if (isError) {\n return W3mFrameConstants.RPC_RESPONSE_TYPE_ERROR;\n }\n const isPayloadString = typeof payload === 'string';\n const isTransactionHash = isPayloadString &&\n (payload.match(RegexUtil.transactionHash) || payload.match(RegexUtil.signedMessage));\n if (isTransactionHash) {\n return W3mFrameConstants.RPC_RESPONSE_TYPE_TX;\n }\n return W3mFrameConstants.RPC_RESPONSE_TYPE_OBJECT;\n },\n checkIfRequestIsAllowed(request) {\n const method = this.getRequestMethod(request);\n return W3mFrameRpcConstants.SAFE_RPC_METHODS.includes(method);\n },\n isClient: typeof window !== 'undefined'\n};\n//# sourceMappingURL=W3mFrameHelpers.js.map","import { SECURE_SITE_SDK, W3mFrameConstants } from './W3mFrameConstants.js';\nimport { W3mFrameSchema } from './W3mFrameSchema.js';\nimport { W3mFrameHelpers } from './W3mFrameHelpers.js';\nexport class W3mFrame {\n constructor(projectId, isAppClient = false) {\n this.iframe = null;\n this.rpcUrl = W3mFrameHelpers.getBlockchainApiUrl();\n this.events = {\n onFrameEvent: (callback) => {\n if (W3mFrameHelpers.isClient) {\n window.addEventListener('message', ({ data }) => {\n if (!data.type?.includes(W3mFrameConstants.FRAME_EVENT_KEY)) {\n return;\n }\n const frameEvent = W3mFrameSchema.frameEvent.parse(data);\n callback(frameEvent);\n });\n }\n },\n onAppEvent: (callback) => {\n if (W3mFrameHelpers.isClient) {\n window.addEventListener('message', ({ data }) => {\n if (!data.type?.includes(W3mFrameConstants.APP_EVENT_KEY)) {\n return;\n }\n const appEvent = W3mFrameSchema.appEvent.parse(data);\n callback(appEvent);\n });\n }\n },\n postAppEvent: (event) => {\n if (W3mFrameHelpers.isClient) {\n if (!this.iframe?.contentWindow) {\n throw new Error('W3mFrame: iframe is not set');\n }\n W3mFrameSchema.appEvent.parse(event);\n window.postMessage(event);\n this.iframe.contentWindow.postMessage(event, '*');\n }\n },\n postFrameEvent: (event) => {\n if (W3mFrameHelpers.isClient) {\n if (!parent) {\n throw new Error('W3mFrame: parent is not set');\n }\n W3mFrameSchema.frameEvent.parse(event);\n parent.postMessage(event, '*');\n }\n }\n };\n this.projectId = projectId;\n this.frameLoadPromise = new Promise((resolve, reject) => {\n this.frameLoadPromiseResolver = { resolve, reject };\n });\n if (isAppClient) {\n this.frameLoadPromise = new Promise((resolve, reject) => {\n this.frameLoadPromiseResolver = { resolve, reject };\n });\n if (W3mFrameHelpers.isClient) {\n const iframe = document.createElement('iframe');\n iframe.id = 'w3m-iframe';\n iframe.src = `${SECURE_SITE_SDK}?projectId=${projectId}`;\n iframe.style.position = 'fixed';\n iframe.style.zIndex = '999999';\n iframe.style.display = 'none';\n iframe.style.borderBottomLeftRadius = `clamp(0px, var(--wui-border-radius-l), 44px)`;\n iframe.style.borderBottomRightRadius = `clamp(0px, var(--wui-border-radius-l), 44px)`;\n iframe.style.opacity = '0';\n iframe.style.borderBottomLeftRadius = `clamp(0px, var(--wui-border-radius-l), 44px)`;\n iframe.style.borderBottomRightRadius = `clamp(0px, var(--wui-border-radius-l), 44px)`;\n document.body.appendChild(iframe);\n this.iframe = iframe;\n this.iframe.onload = () => {\n this.frameLoadPromiseResolver?.resolve(undefined);\n };\n this.iframe.onerror = () => {\n this.frameLoadPromiseResolver?.reject('Unable to load email login dependency');\n };\n }\n }\n }\n get networks() {\n const data = [\n 1, 5, 11155111, 10, 420, 42161, 421613, 137, 80001, 42220, 1313161554, 1313161555, 56, 97,\n 43114, 43113, 324, 280, 100, 8453, 84531, 7777777, 999\n ].map(id => ({\n [id]: {\n rpcUrl: `${this.rpcUrl}/v1/?chainId=eip155:${id}&projectId=${this.projectId}`,\n chainId: id\n }\n }));\n return Object.assign({}, ...data);\n }\n}\n//# sourceMappingURL=W3mFrame.js.map","import { W3mFrame } from './W3mFrame.js';\nimport { W3mFrameConstants, W3mFrameRpcConstants } from './W3mFrameConstants.js';\nimport { W3mFrameStorage } from './W3mFrameStorage.js';\nimport { W3mFrameHelpers } from './W3mFrameHelpers.js';\nexport class W3mFrameProvider {\n constructor(projectId) {\n this.connectEmailResolver = undefined;\n this.connectDeviceResolver = undefined;\n this.connectOtpResolver = undefined;\n this.connectResolver = undefined;\n this.disconnectResolver = undefined;\n this.isConnectedResolver = undefined;\n this.getChainIdResolver = undefined;\n this.switchChainResolver = undefined;\n this.rpcRequestResolver = undefined;\n this.updateEmailResolver = undefined;\n this.updateEmailPrimaryOtpResolver = undefined;\n this.updateEmailSecondaryOtpResolver = undefined;\n this.syncThemeResolver = undefined;\n this.syncDappDataResolver = undefined;\n this.smartAccountEnabledNetworksResolver = undefined;\n this.setPreferredAccountResolver = undefined;\n this.w3mFrame = new W3mFrame(projectId, true);\n this.w3mFrame.events.onFrameEvent(event => {\n console.log('💻 received', event);\n switch (event.type) {\n case W3mFrameConstants.FRAME_CONNECT_EMAIL_SUCCESS:\n return this.onConnectEmailSuccess(event);\n case W3mFrameConstants.FRAME_CONNECT_EMAIL_ERROR:\n return this.onConnectEmailError(event);\n case W3mFrameConstants.FRAME_CONNECT_DEVICE_SUCCESS:\n return this.onConnectDeviceSuccess();\n case W3mFrameConstants.FRAME_CONNECT_DEVICE_ERROR:\n return this.onConnectDeviceError(event);\n case W3mFrameConstants.FRAME_CONNECT_OTP_SUCCESS:\n return this.onConnectOtpSuccess();\n case W3mFrameConstants.FRAME_CONNECT_OTP_ERROR:\n return this.onConnectOtpError(event);\n case W3mFrameConstants.FRAME_GET_USER_SUCCESS:\n return this.onConnectSuccess(event);\n case W3mFrameConstants.FRAME_GET_USER_ERROR:\n return this.onConnectError(event);\n case W3mFrameConstants.FRAME_IS_CONNECTED_SUCCESS:\n return this.onIsConnectedSuccess(event);\n case W3mFrameConstants.FRAME_IS_CONNECTED_ERROR:\n return this.onIsConnectedError(event);\n case W3mFrameConstants.FRAME_GET_CHAIN_ID_SUCCESS:\n return this.onGetChainIdSuccess(event);\n case W3mFrameConstants.FRAME_GET_CHAIN_ID_ERROR:\n return this.onGetChainIdError(event);\n case W3mFrameConstants.FRAME_SIGN_OUT_SUCCESS:\n return this.onSignOutSuccess();\n case W3mFrameConstants.FRAME_SIGN_OUT_ERROR:\n return this.onSignOutError(event);\n case W3mFrameConstants.FRAME_SWITCH_NETWORK_SUCCESS:\n return this.onSwitchChainSuccess(event);\n case W3mFrameConstants.FRAME_SWITCH_NETWORK_ERROR:\n return this.onSwitchChainError(event);\n case W3mFrameConstants.FRAME_RPC_REQUEST_SUCCESS:\n return this.onRpcRequestSuccess(event);\n case W3mFrameConstants.FRAME_RPC_REQUEST_ERROR:\n return this.onRpcRequestError(event);\n case W3mFrameConstants.FRAME_SESSION_UPDATE:\n return this.onSessionUpdate(event);\n case W3mFrameConstants.FRAME_UPDATE_EMAIL_SUCCESS:\n return this.onUpdateEmailSuccess(event);\n case W3mFrameConstants.FRAME_UPDATE_EMAIL_ERROR:\n return this.onUpdateEmailError(event);\n case W3mFrameConstants.FRAME_UPDATE_EMAIL_PRIMARY_OTP_SUCCESS:\n return this.onUpdateEmailPrimaryOtpSuccess();\n case W3mFrameConstants.FRAME_UPDATE_EMAIL_PRIMARY_OTP_ERROR:\n return this.onUpdateEmailPrimaryOtpError(event);\n case W3mFrameConstants.FRAME_UPDATE_EMAIL_SECONDARY_OTP_SUCCESS:\n return this.onUpdateEmailSecondaryOtpSuccess(event);\n case W3mFrameConstants.FRAME_UPDATE_EMAIL_SECONDARY_OTP_ERROR:\n return this.onUpdateEmailSecondaryOtpError(event);\n case W3mFrameConstants.FRAME_SYNC_THEME_SUCCESS:\n return this.onSyncThemeSuccess();\n case W3mFrameConstants.FRAME_SYNC_THEME_ERROR:\n return this.onSyncThemeError(event);\n case W3mFrameConstants.FRAME_SYNC_DAPP_DATA_SUCCESS:\n return this.onSyncDappDataSuccess();\n case W3mFrameConstants.FRAME_SYNC_DAPP_DATA_ERROR:\n return this.onSyncDappDataError(event);\n case W3mFrameConstants.FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS:\n return this.onSmartAccountEnabledNetworksSuccess(event);\n case W3mFrameConstants.FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR:\n return this.onSmartAccountEnabledNetworksError(event);\n case W3mFrameConstants.FRAME_SET_PREFERRED_ACCOUNT_SUCCESS:\n return this.onSetPreferredAccountSuccess();\n case W3mFrameConstants.FRAME_SET_PREFERRED_ACCOUNT_ERROR:\n return this.onSetPreferredAccountError();\n default:\n return null;\n }\n });\n }\n getLoginEmailUsed() {\n return Boolean(W3mFrameStorage.get(W3mFrameConstants.EMAIL_LOGIN_USED_KEY));\n }\n getEmail() {\n return W3mFrameStorage.get(W3mFrameConstants.EMAIL);\n }\n rejectRpcRequest() {\n this.rpcRequestResolver?.reject();\n }\n async connectEmail(payload) {\n await this.w3mFrame.frameLoadPromise;\n W3mFrameHelpers.checkIfAllowedToTriggerEmail();\n this.w3mFrame.events.postAppEvent({ type: W3mFrameConstants.APP_CONNECT_EMAIL, payload });\n return new Promise((resolve, reject) => {\n this.connectEmailResolver = { resolve, reject };\n });\n }\n async connectDevice() {\n await this.w3mFrame.frameLoadPromise;\n this.w3mFrame.events.postAppEvent({ type: W3mFrameConstants.APP_CONNECT_DEVICE });\n return new Promise((resolve, reject) => {\n this.connectDeviceResolver = { resolve, reject };\n });\n }\n async connectOtp(payload) {\n await this.w3mFrame.frameLoadPromise;\n this.w3mFrame.events.postAppEvent({ type: W3mFrameConstants.APP_CONNECT_OTP, payload });\n return new Promise((resolve, reject) => {\n this.connectOtpResolver = { resolve, reject };\n });\n }\n async isConnected() {\n await this.w3mFrame.frameLoadPromise;\n this.w3mFrame.events.postAppEvent({\n type: W3mFrameConstants.APP_IS_CONNECTED,\n payload: undefined\n });\n return new Promise((resolve, reject) => {\n this.isConnectedResolver = { resolve, reject };\n });\n }\n async getChainId() {\n await this.w3mFrame.frameLoadPromise;\n this.w3mFrame.events.postAppEvent({ type: W3mFrameConstants.APP_GET_CHAIN_ID });\n return new Promise((resolve, reject) => {\n this.getChainIdResolver = { resolve, reject };\n });\n }\n async updateEmail(payload) {\n await this.w3mFrame.frameLoadPromise;\n W3mFrameHelpers.checkIfAllowedToTriggerEmail();\n this.w3mFrame.events.postAppEvent({ type: W3mFrameConstants.APP_UPDATE_EMAIL, payload });\n return new Promise((resolve, reject) => {\n this.updateEmailResolver = { resolve, reject };\n });\n }\n async updateEmailPrimaryOtp(payload) {\n await this.w3mFrame.frameLoadPromise;\n this.w3mFrame.events.postAppEvent({\n type: W3mFrameConstants.APP_UPDATE_EMAIL_PRIMARY_OTP,\n payload\n });\n return new Promise((resolve, reject) => {\n this.updateEmailPrimaryOtpResolver = { resolve, reject };\n });\n }\n async updateEmailSecondaryOtp(payload) {\n await this.w3mFrame.frameLoadPromise;\n this.w3mFrame.events.postAppEvent({\n type: W3mFrameConstants.APP_UPDATE_EMAIL_SECONDARY_OTP,\n payload\n });\n return new Promise((resolve, reject) => {\n this.updateEmailSecondaryOtpResolver = { resolve, reject };\n });\n }\n async syncTheme(payload) {\n await this.w3mFrame.frameLoadPromise;\n this.w3mFrame.events.postAppEvent({ type: W3mFrameConstants.APP_SYNC_THEME, payload });\n return new Promise((resolve, reject) => {\n this.syncThemeResolver = { resolve, reject };\n });\n }\n async syncDappData(payload) {\n await this.w3mFrame.frameLoadPromise;\n this.w3mFrame.events.postAppEvent({ type: W3mFrameConstants.APP_SYNC_DAPP_DATA, payload });\n return new Promise((resolve, reject) => {\n this.syncDappDataResolver = { resolve, reject };\n });\n }\n async getSmartAccountEnabledNetworks() {\n await this.w3mFrame.frameLoadPromise;\n this.w3mFrame.events.postAppEvent({\n type: W3mFrameConstants.APP_GET_SMART_ACCOUNT_ENABLED_NETWORKS\n });\n return new Promise((resolve, reject) => {\n this.smartAccountEnabledNetworksResolver = { resolve, reject };\n });\n }\n async setPreferredAccount(type) {\n await this.w3mFrame.frameLoadPromise;\n this.w3mFrame.events.postAppEvent({\n type: W3mFrameConstants.APP_SET_PREFERRED_ACCOUNT,\n payload: { type }\n });\n return new Promise((resolve, reject) => {\n this.setPreferredAccountResolver = { resolve, reject };\n });\n }\n async connect(payload) {\n const chainId = payload?.chainId ?? this.getLastUsedChainId() ?? 1;\n await this.w3mFrame.frameLoadPromise;\n this.w3mFrame.events.postAppEvent({\n type: W3mFrameConstants.APP_GET_USER,\n payload: { chainId }\n });\n return new Promise((resolve, reject) => {\n this.connectResolver = { resolve, reject };\n });\n }\n async switchNetwork(chainId) {\n await this.w3mFrame.frameLoadPromise;\n this.w3mFrame.events.postAppEvent({\n type: W3mFrameConstants.APP_SWITCH_NETWORK,\n payload: { chainId }\n });\n return new Promise((resolve, reject) => {\n this.switchChainResolver = { resolve, reject };\n });\n }\n async disconnect() {\n await this.w3mFrame.frameLoadPromise;\n this.w3mFrame.events.postAppEvent({ type: W3mFrameConstants.APP_SIGN_OUT });\n return new Promise((resolve, reject) => {\n this.disconnectResolver = { resolve, reject };\n });\n }\n async request(req) {\n await this.w3mFrame.frameLoadPromise;\n if (W3mFrameRpcConstants.GET_CHAIN_ID === req.method) {\n return this.getLastUsedChainId();\n }\n this.w3mFrame.events.postAppEvent({\n type: W3mFrameConstants.APP_RPC_REQUEST,\n payload: req\n });\n return new Promise((resolve, reject) => {\n this.rpcRequestResolver = { resolve, reject };\n });\n }\n onRpcRequest(callback) {\n this.w3mFrame.events.onAppEvent(event => {\n if (event.type.includes(W3mFrameConstants.RPC_METHOD_KEY)) {\n callback(event);\n }\n });\n }\n onRpcResponse(callback) {\n this.w3mFrame.events.onFrameEvent(event => {\n if (event.type.includes(W3mFrameConstants.RPC_METHOD_KEY)) {\n callback(event);\n }\n });\n }\n onIsConnected(callback) {\n this.w3mFrame.events.onFrameEvent(event => {\n if (event.type === W3mFrameConstants.FRAME_GET_USER_SUCCESS) {\n callback(event.payload);\n }\n });\n }\n onNotConnected(callback) {\n this.w3mFrame.events.onFrameEvent(event => {\n if (event.type === W3mFrameConstants.FRAME_IS_CONNECTED_ERROR) {\n callback();\n }\n if (event.type === W3mFrameConstants.FRAME_IS_CONNECTED_SUCCESS &&\n !event.payload.isConnected) {\n callback();\n }\n });\n }\n onSetPreferredAccount(callback) {\n this.w3mFrame.events.onFrameEvent(event => {\n if (event.type === W3mFrameConstants.FRAME_SET_PREFERRED_ACCOUNT_SUCCESS) {\n callback(event.payload);\n }\n else if (event.type === W3mFrameConstants.FRAME_SET_PREFERRED_ACCOUNT_ERROR) {\n callback({ type: W3mFrameRpcConstants.ACCOUNT_TYPES.EOA });\n }\n });\n }\n onGetSmartAccountEnabledNetworks(callback) {\n this.w3mFrame.events.onFrameEvent(event => {\n if (event.type === W3mFrameConstants.FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS) {\n callback(event.payload.smartAccountEnabledNetworks);\n }\n else if (event.type === W3mFrameConstants.FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR) {\n callback([]);\n }\n });\n }\n onConnectEmailSuccess(event) {\n this.connectEmailResolver?.resolve(event.payload);\n this.setNewLastEmailLoginTime();\n }\n onConnectEmailError(event) {\n this.connectEmailResolver?.reject(event.payload.message);\n }\n onConnectDeviceSuccess() {\n this.connectDeviceResolver?.resolve(undefined);\n }\n onConnectDeviceError(event) {\n this.connectDeviceResolver?.reject(event.payload.message);\n }\n onConnectOtpSuccess() {\n this.connectOtpResolver?.resolve(undefined);\n }\n onConnectOtpError(event) {\n this.connectOtpResolver?.reject(event.payload.message);\n }\n onConnectSuccess(event) {\n this.setEmailLoginSuccess(event.payload.email);\n this.setLastUsedChainId(event.payload.chainId);\n this.connectResolver?.resolve(event.payload);\n }\n onConnectError(event) {\n this.connectResolver?.reject(event.payload.message);\n }\n onIsConnectedSuccess(event) {\n if (!event.payload.isConnected) {\n this.deleteEmailLoginCache();\n }\n this.isConnectedResolver?.resolve(event.payload);\n }\n onIsConnectedError(event) {\n this.isConnectedResolver?.reject(event.payload.message);\n }\n onGetChainIdSuccess(event) {\n this.setLastUsedChainId(event.payload.chainId);\n this.getChainIdResolver?.resolve(event.payload);\n }\n onGetChainIdError(event) {\n this.getChainIdResolver?.reject(event.payload.message);\n }\n onSignOutSuccess() {\n this.disconnectResolver?.resolve(undefined);\n this.deleteEmailLoginCache();\n }\n onSignOutError(event) {\n this.disconnectResolver?.reject(event.payload.message);\n }\n onSwitchChainSuccess(event) {\n this.setLastUsedChainId(event.payload.chainId);\n this.switchChainResolver?.resolve(event.payload);\n }\n onSwitchChainError(event) {\n this.switchChainResolver?.reject(event.payload.message);\n }\n onRpcRequestSuccess(event) {\n this.rpcRequestResolver?.resolve(event.payload);\n }\n onRpcRequestError(event) {\n this.rpcRequestResolver?.reject(event.payload.message);\n }\n onSessionUpdate(event) {\n const { payload } = event;\n if (payload) {\n }\n }\n onUpdateEmailSuccess(event) {\n this.updateEmailResolver?.resolve(event.payload);\n this.setNewLastEmailLoginTime();\n }\n onUpdateEmailError(event) {\n this.updateEmailResolver?.reject(event.payload.message);\n }\n onUpdateEmailPrimaryOtpSuccess() {\n this.updateEmailPrimaryOtpResolver?.resolve(undefined);\n }\n onUpdateEmailPrimaryOtpError(event) {\n this.updateEmailPrimaryOtpResolver?.reject(event.payload.message);\n }\n onUpdateEmailSecondaryOtpSuccess(event) {\n const { newEmail } = event.payload;\n this.setEmailLoginSuccess(newEmail);\n this.updateEmailSecondaryOtpResolver?.resolve({ newEmail });\n }\n onUpdateEmailSecondaryOtpError(event) {\n this.updateEmailSecondaryOtpResolver?.reject(event.payload.message);\n }\n onSyncThemeSuccess() {\n this.syncThemeResolver?.resolve(undefined);\n }\n onSyncThemeError(event) {\n this.syncThemeResolver?.reject(event.payload.message);\n }\n onSyncDappDataSuccess() {\n this.syncDappDataResolver?.resolve(undefined);\n }\n onSyncDappDataError(event) {\n this.syncDappDataResolver?.reject(event.payload.message);\n }\n onSmartAccountEnabledNetworksSuccess(event) {\n this.persistSmartAccountEnabledNetworks(event.payload.smartAccountEnabledNetworks);\n this.smartAccountEnabledNetworksResolver?.resolve(event.payload);\n }\n onSmartAccountEnabledNetworksError(event) {\n this.persistSmartAccountEnabledNetworks([]);\n this.smartAccountEnabledNetworksResolver?.reject(event.payload.message);\n }\n onSetPreferredAccountSuccess() {\n this.setPreferredAccountResolver?.resolve(undefined);\n }\n onSetPreferredAccountError() {\n this.setPreferredAccountResolver?.reject();\n }\n setNewLastEmailLoginTime() {\n W3mFrameStorage.set(W3mFrameConstants.LAST_EMAIL_LOGIN_TIME, Date.now().toString());\n }\n setEmailLoginSuccess(email) {\n W3mFrameStorage.set(W3mFrameConstants.EMAIL, email);\n W3mFrameStorage.set(W3mFrameConstants.EMAIL_LOGIN_USED_KEY, 'true');\n W3mFrameStorage.delete(W3mFrameConstants.LAST_EMAIL_LOGIN_TIME);\n }\n deleteEmailLoginCache() {\n W3mFrameStorage.delete(W3mFrameConstants.EMAIL_LOGIN_USED_KEY);\n W3mFrameStorage.delete(W3mFrameConstants.EMAIL);\n W3mFrameStorage.delete(W3mFrameConstants.LAST_USED_CHAIN_KEY);\n }\n setLastUsedChainId(chainId) {\n W3mFrameStorage.set(W3mFrameConstants.LAST_USED_CHAIN_KEY, String(chainId));\n }\n getLastUsedChainId() {\n return Number(W3mFrameStorage.get(W3mFrameConstants.LAST_USED_CHAIN_KEY));\n }\n persistSmartAccountEnabledNetworks(networks) {\n W3mFrameStorage.set(W3mFrameConstants.SMART_ACCOUNT_ENABLED_NETWORKS, networks.join(','));\n }\n}\n//# sourceMappingURL=W3mFrameProvider.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController, ConnectionController, AssetController, CoreHelperUtil, EventsController, ModalController, NetworkController, RouterController, SnackController, StorageUtil, ConnectorController } from '@web3modal/core';\nimport { UiHelperUtil, customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nimport { W3mFrameRpcConstants } from '@web3modal/wallet';\nlet W3mAccountSettingsView = class W3mAccountSettingsView extends LitElement {\n constructor() {\n super();\n this.usubscribe = [];\n this.networkImages = AssetController.state.networkImages;\n this.address = AccountController.state.address;\n this.profileImage = AccountController.state.profileImage;\n this.profileName = AccountController.state.profileName;\n this.network = NetworkController.state.caipNetwork;\n this.preferredAccountType = AccountController.state.preferredAccountType;\n this.disconnecting = false;\n this.loading = false;\n this.usubscribe.push(...[\n AccountController.subscribe(val => {\n if (val.address) {\n this.address = val.address;\n this.profileImage = val.profileImage;\n this.profileName = val.profileName;\n this.preferredAccountType = val.preferredAccountType;\n }\n else {\n ModalController.close();\n }\n })\n ], NetworkController.subscribeKey('caipNetwork', val => {\n if (val?.id) {\n this.network = val;\n }\n }));\n }\n disconnectedCallback() {\n this.usubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n if (!this.address) {\n throw new Error('w3m-account-settings-view: No account provided');\n }\n const networkImage = this.networkImages[this.network?.imageId ?? ''];\n return html `\n \n \n \n \n \n ${this.profileName\n ? UiHelperUtil.getTruncateString({\n string: this.profileName,\n charsStart: 20,\n charsEnd: 0,\n truncate: 'end'\n })\n : UiHelperUtil.getTruncateString({\n string: this.address,\n charsStart: 4,\n charsEnd: 6,\n truncate: 'middle'\n })}\n \n \n \n \n \n\n \n \n ${this.emailBtnTemplate()}\n \n \n ${this.network?.name ?? 'Unknown'}\n \n \n ${this.togglePreferredAccountBtnTemplate()}\n \n Disconnect\n \n \n \n `;\n }\n isAllowedNetworkSwitch() {\n const { requestedCaipNetworks } = NetworkController.state;\n const isMultiNetwork = requestedCaipNetworks ? requestedCaipNetworks.length > 1 : false;\n const isValidNetwork = requestedCaipNetworks?.find(({ id }) => id === this.network?.id);\n return isMultiNetwork || !isValidNetwork;\n }\n onCopyAddress() {\n try {\n if (this.address) {\n CoreHelperUtil.copyToClopboard(this.address);\n SnackController.showSuccess('Address copied');\n }\n }\n catch {\n SnackController.showError('Failed to copy');\n }\n }\n emailBtnTemplate() {\n const type = StorageUtil.getConnectedConnector();\n const emailConnector = ConnectorController.getEmailConnector();\n if (!emailConnector || type !== 'EMAIL') {\n return null;\n }\n const email = emailConnector.provider.getEmail() ?? '';\n return html `\n this.onGoToUpdateEmail(email)}\n >\n ${email}\n \n `;\n }\n togglePreferredAccountBtnTemplate() {\n const networkEnabled = NetworkController.checkIfSmartAccountEnabled();\n const type = StorageUtil.getConnectedConnector();\n const emailConnector = ConnectorController.getEmailConnector();\n if (!emailConnector || type !== 'EMAIL' || !networkEnabled) {\n return null;\n }\n const text = this.preferredAccountType === W3mFrameRpcConstants.ACCOUNT_TYPES.SMART_ACCOUNT\n ? 'Switch to your EOA'\n : 'Switch to your smart account';\n return html `\n \n ${text}\n \n `;\n }\n async changePreferredAccountType() {\n const smartAccountEnabled = NetworkController.checkIfSmartAccountEnabled();\n const accountTypeTarget = this.preferredAccountType === W3mFrameRpcConstants.ACCOUNT_TYPES.SMART_ACCOUNT ||\n !smartAccountEnabled\n ? W3mFrameRpcConstants.ACCOUNT_TYPES.EOA\n : W3mFrameRpcConstants.ACCOUNT_TYPES.SMART_ACCOUNT;\n const emailConnector = ConnectorController.getEmailConnector();\n if (!emailConnector) {\n return;\n }\n this.loading = true;\n await emailConnector?.provider.setPreferredAccount(accountTypeTarget);\n this.loading = false;\n this.requestUpdate();\n }\n onGoToUpdateEmail(email) {\n RouterController.push('UpdateEmailWallet', { email });\n }\n onNetworks() {\n if (this.isAllowedNetworkSwitch()) {\n RouterController.push('Networks');\n }\n }\n async onDisconnect() {\n try {\n this.disconnecting = true;\n await ConnectionController.disconnect();\n EventsController.sendEvent({ type: 'track', event: 'DISCONNECT_SUCCESS' });\n ModalController.close();\n }\n catch {\n EventsController.sendEvent({ type: 'track', event: 'DISCONNECT_ERROR' });\n SnackController.showError('Failed to disconnect');\n }\n finally {\n this.disconnecting = false;\n }\n }\n};\nW3mAccountSettingsView.styles = styles;\n__decorate([\n state()\n], W3mAccountSettingsView.prototype, \"address\", void 0);\n__decorate([\n state()\n], W3mAccountSettingsView.prototype, \"profileImage\", void 0);\n__decorate([\n state()\n], W3mAccountSettingsView.prototype, \"profileName\", void 0);\n__decorate([\n state()\n], W3mAccountSettingsView.prototype, \"network\", void 0);\n__decorate([\n state()\n], W3mAccountSettingsView.prototype, \"preferredAccountType\", void 0);\n__decorate([\n state()\n], W3mAccountSettingsView.prototype, \"disconnecting\", void 0);\n__decorate([\n state()\n], W3mAccountSettingsView.prototype, \"loading\", void 0);\nW3mAccountSettingsView = __decorate([\n customElement('w3m-account-settings-view')\n], W3mAccountSettingsView);\nexport { W3mAccountSettingsView };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { OptionsController, StorageUtil } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nlet W3mAccountView = class W3mAccountView extends LitElement {\n render() {\n const type = StorageUtil.getConnectedConnector();\n return html `\n ${OptionsController.state.enableWalletFeatures && type === 'EMAIL'\n ? this.walletFeaturesTemplate()\n : this.defaultTemplate()}\n `;\n }\n walletFeaturesTemplate() {\n return html ``;\n }\n defaultTemplate() {\n return html ``;\n }\n};\nW3mAccountView = __decorate([\n customElement('w3m-account-view')\n], W3mAccountView);\nexport { W3mAccountView };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { CoreHelperUtil, RouterController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nlet W3mAllWalletsView = class W3mAllWalletsView extends LitElement {\n constructor() {\n super(...arguments);\n this.search = '';\n this.onDebouncedSearch = CoreHelperUtil.debounce((value) => {\n this.search = value;\n });\n }\n render() {\n const isSearch = this.search.length >= 2;\n return html `\n \n \n ${this.qrButtonTemplate()}\n \n ${isSearch\n ? html ``\n : html ``}\n `;\n }\n onInputChange(event) {\n this.onDebouncedSearch(event.detail);\n }\n qrButtonTemplate() {\n if (CoreHelperUtil.isMobile()) {\n return html `\n \n `;\n }\n return null;\n }\n onWalletConnectQr() {\n RouterController.push('ConnectingWalletConnect');\n }\n};\n__decorate([\n state()\n], W3mAllWalletsView.prototype, \"search\", void 0);\nW3mAllWalletsView = __decorate([\n customElement('w3m-all-wallets-view')\n], W3mAllWalletsView);\nexport { W3mAllWalletsView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n @keyframes shake {\n 0% {\n transform: translateX(0);\n }\n 25% {\n transform: translateX(3px);\n }\n 50% {\n transform: translateX(-3px);\n }\n 75% {\n transform: translateX(3px);\n }\n 100% {\n transform: translateX(0);\n }\n }\n\n wui-flex:first-child:not(:only-child) {\n position: relative;\n }\n\n wui-loading-thumbnail {\n position: absolute;\n }\n\n wui-visual {\n width: var(--wui-wallet-image-size-lg);\n height: var(--wui-wallet-image-size-lg);\n border-radius: calc(var(--wui-border-radius-5xs) * 9 - var(--wui-border-radius-xxs));\n position: relative;\n overflow: hidden;\n }\n\n wui-visual::after {\n content: '';\n display: block;\n width: 100%;\n height: 100%;\n position: absolute;\n inset: 0;\n border-radius: calc(var(--wui-border-radius-5xs) * 9 - var(--wui-border-radius-xxs));\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-005);\n }\n\n wui-icon-box {\n position: absolute;\n right: calc(var(--wui-spacing-3xs) * -1);\n bottom: calc(var(--wui-spacing-3xs) * -1);\n opacity: 0;\n transform: scale(0.5);\n transition:\n opacity var(--wui-ease-out-power-2) var(--wui-duration-lg),\n transform var(--wui-ease-out-power-2) var(--wui-duration-lg);\n will-change: opacity, transform;\n }\n\n wui-text[align='center'] {\n width: 100%;\n padding: 0px var(--wui-spacing-l);\n }\n\n [data-error='true'] wui-icon-box {\n opacity: 1;\n transform: scale(1);\n }\n\n [data-error='true'] > wui-flex:first-child {\n animation: shake 250ms cubic-bezier(0.36, 0.07, 0.19, 0.97) both;\n }\n\n [data-retry='false'] wui-link {\n display: none;\n }\n\n [data-retry='true'] wui-link {\n display: block;\n opacity: 1;\n }\n\n wui-link {\n padding: var(--wui-spacing-4xs) var(--wui-spacing-xxs);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController, ConnectionController, CoreHelperUtil, OnRampController, RouterController, SnackController, ThemeController, BlockchainApiController, OptionsController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nlet W3mBuyInProgressView = class W3mBuyInProgressView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.selectedOnRampProvider = OnRampController.state.selectedProvider;\n this.uri = ConnectionController.state.wcUri;\n this.ready = false;\n this.showRetry = false;\n this.buffering = false;\n this.error = false;\n this.startTime = null;\n this.isMobile = false;\n this.onRetry = undefined;\n this.unsubscribe.push(...[\n OnRampController.subscribeKey('selectedProvider', val => {\n this.selectedOnRampProvider = val;\n })\n ]);\n this.watchTransactions();\n }\n disconnectedCallback() {\n if (this.intervalId) {\n clearInterval(this.intervalId);\n }\n }\n render() {\n let label = 'Continue in external window';\n if (this.error) {\n label = 'Buy failed';\n }\n else if (this.selectedOnRampProvider) {\n label = `Buy in ${this.selectedOnRampProvider?.label}`;\n }\n const subLabel = this.error\n ? 'Buy can be declined from your side or due to and error on the provider app'\n : `We’ll notify you once your Buy is processed`;\n return html `\n \n \n \n \n\n ${this.error ? null : this.loaderTemplate()}\n\n \n \n\n \n \n ${label}\n \n ${subLabel}\n \n\n ${this.error ? this.tryAgainTemplate() : null}\n \n\n \n \n \n Copy link\n \n \n `;\n }\n watchTransactions() {\n if (!this.selectedOnRampProvider) {\n return;\n }\n switch (this.selectedOnRampProvider.name) {\n case 'coinbase':\n this.startTime = Date.now();\n this.initializeCoinbaseTransactions();\n break;\n default:\n break;\n }\n }\n async initializeCoinbaseTransactions() {\n await this.watchCoinbaseTransactions();\n this.intervalId = setInterval(() => this.watchCoinbaseTransactions(), 4000);\n }\n async watchCoinbaseTransactions() {\n try {\n const address = AccountController.state.address;\n const projectId = OptionsController.state.projectId;\n if (!address) {\n throw new Error('No address found');\n }\n const coinbaseResponse = await BlockchainApiController.fetchTransactions({\n account: address,\n onramp: 'coinbase',\n projectId\n });\n const newTransactions = coinbaseResponse.data.filter(tx => new Date(tx.metadata.minedAt) > new Date(this.startTime) ||\n tx.metadata.status === 'ONRAMP_TRANSACTION_STATUS_IN_PROGRESS');\n if (newTransactions.length) {\n clearInterval(this.intervalId);\n RouterController.replace('OnRampActivity');\n }\n else if (this.startTime && Date.now() - this.startTime >= 180000) {\n clearInterval(this.intervalId);\n this.error = true;\n }\n }\n catch (error) {\n SnackController.showError(error);\n }\n }\n onTryAgain() {\n if (!this.selectedOnRampProvider) {\n return;\n }\n this.error = false;\n CoreHelperUtil.openHref(this.selectedOnRampProvider.url, 'popupWindow', 'width=600,height=800,scrollbars=yes');\n }\n tryAgainTemplate() {\n if (!this.selectedOnRampProvider?.url) {\n return null;\n }\n return html `\n \n Try again\n `;\n }\n loaderTemplate() {\n const borderRadiusMaster = ThemeController.state.themeVariables['--w3m-border-radius-master'];\n const radius = borderRadiusMaster ? parseInt(borderRadiusMaster.replace('px', ''), 10) : 4;\n return html ``;\n }\n onCopyUri() {\n if (!this.selectedOnRampProvider?.url) {\n SnackController.showError('No link found');\n RouterController.goBack();\n return;\n }\n try {\n CoreHelperUtil.copyToClopboard(this.selectedOnRampProvider.url);\n SnackController.showSuccess('Link copied');\n }\n catch {\n SnackController.showError('Failed to copy');\n }\n }\n};\nW3mBuyInProgressView.styles = styles;\n__decorate([\n state()\n], W3mBuyInProgressView.prototype, \"selectedOnRampProvider\", void 0);\n__decorate([\n state()\n], W3mBuyInProgressView.prototype, \"uri\", void 0);\n__decorate([\n state()\n], W3mBuyInProgressView.prototype, \"ready\", void 0);\n__decorate([\n state()\n], W3mBuyInProgressView.prototype, \"showRetry\", void 0);\n__decorate([\n state()\n], W3mBuyInProgressView.prototype, \"buffering\", void 0);\n__decorate([\n state()\n], W3mBuyInProgressView.prototype, \"error\", void 0);\n__decorate([\n state()\n], W3mBuyInProgressView.prototype, \"intervalId\", void 0);\n__decorate([\n state()\n], W3mBuyInProgressView.prototype, \"startTime\", void 0);\n__decorate([\n property({ type: Boolean })\n], W3mBuyInProgressView.prototype, \"isMobile\", void 0);\n__decorate([\n property()\n], W3mBuyInProgressView.prototype, \"onRetry\", void 0);\nW3mBuyInProgressView = __decorate([\n customElement('w3m-buy-in-progress-view')\n], W3mBuyInProgressView);\nexport { W3mBuyInProgressView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-flex {\n max-height: clamp(360px, 540px, 80vh);\n overflow: scroll;\n scrollbar-width: none;\n }\n\n wui-flex::-webkit-scrollbar {\n display: none;\n }\n`;\n//# sourceMappingURL=styles.js.map","export const ConstantsUtil = {\n WALLET_CONNECT_CONNECTOR_ID: 'walletConnect',\n INJECTED_CONNECTOR_ID: 'injected',\n COINBASE_CONNECTOR_ID: 'coinbaseWallet',\n COINBASE_SDK_CONNECTOR_ID: 'coinbaseWalletSDK',\n SAFE_CONNECTOR_ID: 'safe',\n LEDGER_CONNECTOR_ID: 'ledger',\n EIP6963_CONNECTOR_ID: 'eip6963',\n EMAIL_CONNECTOR_ID: 'w3mEmail',\n EIP155: 'eip155',\n ADD_CHAIN_METHOD: 'wallet_addEthereumChain',\n EIP6963_ANNOUNCE_EVENT: 'eip6963:announceProvider',\n EIP6963_REQUEST_EVENT: 'eip6963:requestProvider',\n CONNECTOR_RDNS_MAP: {\n coinbaseWallet: 'com.coinbase.wallet'\n },\n VERSION: '4.1.11'\n};\n//# sourceMappingURL=ConstantsUtil.js.map","import { ConstantsUtil } from './ConstantsUtil.js';\nexport const PresetsUtil = {\n ConnectorExplorerIds: {\n [ConstantsUtil.COINBASE_CONNECTOR_ID]: 'fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa',\n [ConstantsUtil.SAFE_CONNECTOR_ID]: '225affb176778569276e484e1b92637ad061b01e13a048b35a9d280c3b58970f',\n [ConstantsUtil.LEDGER_CONNECTOR_ID]: '19177a98252e07ddfc9af2083ba8e07ef627cb6103467ffebb3f8f4205fd7927'\n },\n EIP155NetworkImageIds: {\n 1: '692ed6ba-e569-459a-556a-776476829e00',\n 42161: '3bff954d-5cb0-47a0-9a23-d20192e74600',\n 43114: '30c46e53-e989-45fb-4549-be3bd4eb3b00',\n 56: '93564157-2e8e-4ce7-81df-b264dbee9b00',\n 250: '06b26297-fe0c-4733-5d6b-ffa5498aac00',\n 10: 'ab9c186a-c52f-464b-2906-ca59d760a400',\n 137: '41d04d42-da3b-4453-8506-668cc0727900',\n 100: '02b53f6a-e3d4-479e-1cb4-21178987d100',\n 9001: 'f926ff41-260d-4028-635e-91913fc28e00',\n 324: 'b310f07f-4ef7-49f3-7073-2a0a39685800',\n 314: '5a73b3dd-af74-424e-cae0-0de859ee9400',\n 4689: '34e68754-e536-40da-c153-6ef2e7188a00',\n 1088: '3897a66d-40b9-4833-162f-a2c90531c900',\n 1284: '161038da-44ae-4ec7-1208-0ea569454b00',\n 1285: 'f1d73bb6-5450-4e18-38f7-fb6484264a00',\n 7777777: '845c60df-d429-4991-e687-91ae45791600',\n 42220: 'ab781bbc-ccc6-418d-d32d-789b15da1f00',\n 8453: '7289c336-3981-4081-c5f4-efc26ac64a00',\n 1313161554: '3ff73439-a619-4894-9262-4470c773a100',\n 2020: 'b8101fc0-9c19-4b6f-ec65-f6dfff106e00',\n 2021: 'b8101fc0-9c19-4b6f-ec65-f6dfff106e00',\n '5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp': 'a1b58899-f671-4276-6a5e-56ca5bd59700',\n '4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z': 'a1b58899-f671-4276-6a5e-56ca5bd59700',\n EtWTRABZaYq6iMfeYKouRu166VU2xqa1: 'a1b58899-f671-4276-6a5e-56ca5bd59700'\n },\n ConnectorImageIds: {\n [ConstantsUtil.COINBASE_CONNECTOR_ID]: '0c2840c3-5b04-4c44-9661-fbd4b49e1800',\n [ConstantsUtil.COINBASE_SDK_CONNECTOR_ID]: '0c2840c3-5b04-4c44-9661-fbd4b49e1800',\n [ConstantsUtil.SAFE_CONNECTOR_ID]: '461db637-8616-43ce-035a-d89b8a1d5800',\n [ConstantsUtil.LEDGER_CONNECTOR_ID]: '54a1aa77-d202-4f8d-0fb2-5d2bb6db0300',\n [ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID]: 'ef1a1fcf-7fe8-4d69-bd6d-fda1345b4400',\n [ConstantsUtil.INJECTED_CONNECTOR_ID]: '07ba87ed-43aa-4adf-4540-9e6a2b9cae00'\n },\n ConnectorNamesMap: {\n [ConstantsUtil.INJECTED_CONNECTOR_ID]: 'Browser Wallet',\n [ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID]: 'WalletConnect',\n [ConstantsUtil.COINBASE_CONNECTOR_ID]: 'Coinbase',\n [ConstantsUtil.COINBASE_SDK_CONNECTOR_ID]: 'Coinbase',\n [ConstantsUtil.LEDGER_CONNECTOR_ID]: 'Ledger',\n [ConstantsUtil.SAFE_CONNECTOR_ID]: 'Safe'\n },\n ConnectorTypesMap: {\n [ConstantsUtil.INJECTED_CONNECTOR_ID]: 'INJECTED',\n [ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID]: 'WALLET_CONNECT',\n [ConstantsUtil.EIP6963_CONNECTOR_ID]: 'ANNOUNCED',\n [ConstantsUtil.EMAIL_CONNECTOR_ID]: 'EMAIL'\n },\n WalletConnectRpcChainIds: [\n 1,\n 5,\n 11155111,\n 10,\n 420,\n 42161,\n 421613,\n 137,\n 80001,\n 42220,\n 1313161554,\n 1313161555,\n 56,\n 97,\n 43114,\n 43113,\n 100,\n 8453,\n 84531,\n 7777777,\n 999,\n 324,\n 280\n ]\n};\n//# sourceMappingURL=PresetsUtil.js.map","import { ConstantsUtil } from './ConstantsUtil.js';\nexport const HelpersUtil = {\n getCaipTokens(tokens) {\n if (!tokens) {\n return undefined;\n }\n const caipTokens = {};\n Object.entries(tokens).forEach(([id, token]) => {\n caipTokens[`${ConstantsUtil.EIP155}:${id}`] = token;\n });\n return caipTokens;\n }\n};\n//# sourceMappingURL=HelpersUtil.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ApiController, AssetUtil, ConnectionController, ConnectorController, CoreHelperUtil, EventsController, OptionsController, RouterController, StorageUtil } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nimport { ConstantsUtil } from '@web3modal/scaffold-utils';\nlet W3mConnectView = class W3mConnectView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.connectors = ConnectorController.state.connectors;\n this.count = ApiController.state.count;\n this.unsubscribe.push(ConnectorController.subscribeKey('connectors', val => (this.connectors = val)), ApiController.subscribeKey('count', val => (this.count = val)));\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return html `\n \n \n\n ${this.walletConnectConnectorTemplate()} ${this.recentTemplate()}\n ${this.announcedTemplate()} ${this.injectedTemplate()} ${this.featuredTemplate()}\n ${this.customTemplate()} ${this.recommendedTemplate()} ${this.externalTemplate()}\n ${this.allWalletsTemplate()}\n \n \n `;\n }\n walletConnectConnectorTemplate() {\n if (CoreHelperUtil.isMobile()) {\n return null;\n }\n const connector = this.connectors.find(c => c.type === 'WALLET_CONNECT');\n if (!connector) {\n return null;\n }\n return html `\n this.onConnector(connector)}\n tagLabel=\"qr code\"\n tagVariant=\"main\"\n data-testid=\"wallet-selector-walletconnect\"\n >\n \n `;\n }\n customTemplate() {\n const { customWallets } = OptionsController.state;\n if (!customWallets?.length) {\n return null;\n }\n const wallets = this.filterOutDuplicateWallets(customWallets);\n return wallets.map(wallet => html `\n this.onConnectWallet(wallet)}\n data-testid=${`wallet-selector-${wallet.id}`}\n >\n \n `);\n }\n featuredTemplate() {\n const connector = this.connectors.find(c => c.type === 'WALLET_CONNECT');\n if (!connector) {\n return null;\n }\n const { featured } = ApiController.state;\n if (!featured.length) {\n return null;\n }\n const wallets = this.filterOutDuplicateWallets(featured);\n return wallets.map(wallet => html `\n this.onConnectWallet(wallet)}\n >\n \n `);\n }\n recentTemplate() {\n const recent = StorageUtil.getRecentWallets();\n return recent.map(wallet => html `\n this.onConnectWallet(wallet)}\n tagLabel=\"recent\"\n tagVariant=\"shade\"\n >\n \n `);\n }\n announcedTemplate() {\n return this.connectors.map(connector => {\n if (connector.type !== 'ANNOUNCED') {\n return null;\n }\n return html `\n this.onConnector(connector)}\n tagVariant=\"success\"\n .installed=${true}\n >\n \n `;\n });\n }\n injectedTemplate() {\n return this.connectors.map(connector => {\n if (connector.type !== 'INJECTED') {\n return null;\n }\n if (!ConnectionController.checkInstalled()) {\n return null;\n }\n return html `\n this.onConnector(connector)}\n >\n \n `;\n });\n }\n externalTemplate() {\n const announcedRdns = ConnectorController.getAnnouncedConnectorRdns();\n return this.connectors.map(connector => {\n if (['WALLET_CONNECT', 'INJECTED', 'ANNOUNCED', 'EMAIL'].includes(connector.type)) {\n return null;\n }\n if (announcedRdns.includes(ConstantsUtil.CONNECTOR_RDNS_MAP[connector.id])) {\n return null;\n }\n return html `\n this.onConnector(connector)}\n >\n \n `;\n });\n }\n allWalletsTemplate() {\n const connector = this.connectors.find(c => c.type === 'WALLET_CONNECT');\n const { allWallets } = OptionsController.state;\n if (!connector || allWallets === 'HIDE') {\n return null;\n }\n if (allWallets === 'ONLY_MOBILE' && !CoreHelperUtil.isMobile()) {\n return null;\n }\n const featuredCount = ApiController.state.featured.length;\n const rawCount = this.count + featuredCount;\n const roundedCount = rawCount < 10 ? rawCount : Math.floor(rawCount / 10) * 10;\n const tagLabel = roundedCount < rawCount ? `${roundedCount}+` : `${roundedCount}`;\n return html `\n \n `;\n }\n recommendedTemplate() {\n const connector = this.connectors.find(c => c.type === 'WALLET_CONNECT');\n if (!connector) {\n return null;\n }\n const { recommended } = ApiController.state;\n const { customWallets, featuredWalletIds } = OptionsController.state;\n const { connectors } = ConnectorController.state;\n const recent = StorageUtil.getRecentWallets();\n const injected = connectors.filter(c => c.type === 'INJECTED');\n const filteredInjected = injected.filter(i => i.name !== 'Browser Wallet');\n if (featuredWalletIds || customWallets || !recommended.length) {\n return null;\n }\n const overrideLength = filteredInjected.length + recent.length;\n const maxRecommended = Math.max(0, 2 - overrideLength);\n const wallets = this.filterOutDuplicateWallets(recommended).slice(0, maxRecommended);\n return wallets.map(wallet => html `\n this.onConnectWallet(wallet)}\n >\n \n `);\n }\n onConnector(connector) {\n if (connector.type === 'WALLET_CONNECT') {\n if (CoreHelperUtil.isMobile()) {\n RouterController.push('AllWallets');\n }\n else {\n RouterController.push('ConnectingWalletConnect');\n }\n }\n else {\n RouterController.push('ConnectingExternal', { connector });\n }\n }\n filterOutDuplicateWallets(wallets) {\n const recent = StorageUtil.getRecentWallets();\n const connectorRDNSs = this.connectors\n .map(connector => connector.info?.rdns)\n .filter(Boolean);\n const recentRDNSs = recent.map(wallet => wallet.rdns).filter(Boolean);\n const allRDNSs = connectorRDNSs.concat(recentRDNSs);\n const filtered = wallets.filter(wallet => !allRDNSs.includes(String(wallet?.rdns)));\n return filtered;\n }\n onAllWallets() {\n EventsController.sendEvent({ type: 'track', event: 'CLICK_ALL_WALLETS' });\n RouterController.push('AllWallets');\n }\n onConnectWallet(wallet) {\n RouterController.push('ConnectingWalletConnect', { wallet });\n }\n};\nW3mConnectView.styles = styles;\n__decorate([\n state()\n], W3mConnectView.prototype, \"connectors\", void 0);\n__decorate([\n state()\n], W3mConnectView.prototype, \"count\", void 0);\nW3mConnectView = __decorate([\n customElement('w3m-connect-view')\n], W3mConnectView);\nexport { W3mConnectView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n @keyframes shake {\n 0% {\n transform: translateX(0);\n }\n 25% {\n transform: translateX(3px);\n }\n 50% {\n transform: translateX(-3px);\n }\n 75% {\n transform: translateX(3px);\n }\n 100% {\n transform: translateX(0);\n }\n }\n\n wui-flex:first-child:not(:only-child) {\n position: relative;\n }\n\n wui-loading-thumbnail {\n position: absolute;\n }\n\n wui-icon-box {\n position: absolute;\n right: calc(var(--wui-spacing-3xs) * -1);\n bottom: calc(var(--wui-spacing-3xs) * -1);\n opacity: 0;\n transform: scale(0.5);\n transition-property: opacity, transform;\n transition-duration: var(--wui-duration-lg);\n transition-timing-function: var(--wui-ease-out-power-2);\n will-change: opacity, transform;\n }\n\n wui-text[align='center'] {\n width: 100%;\n padding: 0px var(--wui-spacing-l);\n }\n\n [data-error='true'] wui-icon-box {\n opacity: 1;\n transform: scale(1);\n }\n\n [data-error='true'] > wui-flex:first-child {\n animation: shake 250ms cubic-bezier(0.36, 0.07, 0.19, 0.97) both;\n }\n\n [data-retry='false'] wui-link {\n display: none;\n }\n\n [data-retry='true'] wui-link {\n display: block;\n opacity: 1;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AssetUtil, ConnectionController, CoreHelperUtil, RouterController, SnackController, ThemeController } from '@web3modal/core';\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nexport class W3mConnectingWidget extends LitElement {\n constructor() {\n super();\n this.wallet = RouterController.state.data?.wallet;\n this.connector = RouterController.state.data?.connector;\n this.timeout = undefined;\n this.secondaryBtnLabel = 'Try again';\n this.secondaryBtnIcon = 'refresh';\n this.secondaryLabel = 'Accept connection request in the wallet';\n this.onConnect = undefined;\n this.onRender = undefined;\n this.onAutoConnect = undefined;\n this.isWalletConnect = true;\n this.unsubscribe = [];\n this.imageSrc = AssetUtil.getWalletImage(this.wallet) ?? AssetUtil.getConnectorImage(this.connector);\n this.name = this.wallet?.name ?? this.connector?.name ?? 'Wallet';\n this.isRetrying = false;\n this.uri = ConnectionController.state.wcUri;\n this.error = ConnectionController.state.wcError;\n this.ready = false;\n this.showRetry = false;\n this.buffering = false;\n this.isMobile = false;\n this.onRetry = undefined;\n this.unsubscribe.push(...[\n ConnectionController.subscribeKey('wcUri', val => {\n this.uri = val;\n if (this.isRetrying && this.onRetry) {\n this.isRetrying = false;\n this.onConnect?.();\n }\n }),\n ConnectionController.subscribeKey('wcError', val => (this.error = val)),\n ConnectionController.subscribeKey('buffering', val => (this.buffering = val))\n ]);\n }\n firstUpdated() {\n this.onAutoConnect?.();\n this.showRetry = !this.onAutoConnect;\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n clearTimeout(this.timeout);\n }\n render() {\n this.onRender?.();\n this.onShowRetry();\n const subLabel = this.error\n ? 'Connection can be declined if a previous request is still active'\n : this.secondaryLabel;\n let label = `Continue in ${this.name}`;\n if (this.buffering) {\n label = 'Connecting...';\n }\n if (this.error) {\n label = 'Connection declined';\n }\n return html `\n \n \n \n\n ${this.error ? null : this.loaderTemplate()}\n\n \n \n\n \n \n ${label}\n \n ${subLabel}\n \n\n \n \n ${this.secondaryBtnLabel}\n \n \n\n ${this.isWalletConnect\n ? html `\n \n \n \n Copy link\n \n \n `\n : null}\n\n \n `;\n }\n onShowRetry() {\n if (this.error && !this.showRetry) {\n this.showRetry = true;\n const retryButton = this.shadowRoot?.querySelector('wui-button');\n retryButton?.animate([{ opacity: 0 }, { opacity: 1 }], {\n fill: 'forwards',\n easing: 'ease'\n });\n }\n }\n onTryAgain() {\n if (!this.buffering) {\n ConnectionController.setWcError(false);\n if (this.onRetry) {\n this.isRetrying = true;\n this.onRetry?.();\n }\n else {\n this.onConnect?.();\n }\n }\n }\n loaderTemplate() {\n const borderRadiusMaster = ThemeController.state.themeVariables['--w3m-border-radius-master'];\n const radius = borderRadiusMaster ? parseInt(borderRadiusMaster.replace('px', ''), 10) : 4;\n return html ``;\n }\n onCopyUri() {\n try {\n if (this.uri) {\n CoreHelperUtil.copyToClopboard(this.uri);\n SnackController.showSuccess('Link copied');\n }\n }\n catch {\n SnackController.showError('Failed to copy');\n }\n }\n}\nW3mConnectingWidget.styles = styles;\n__decorate([\n state()\n], W3mConnectingWidget.prototype, \"uri\", void 0);\n__decorate([\n state()\n], W3mConnectingWidget.prototype, \"error\", void 0);\n__decorate([\n state()\n], W3mConnectingWidget.prototype, \"ready\", void 0);\n__decorate([\n state()\n], W3mConnectingWidget.prototype, \"showRetry\", void 0);\n__decorate([\n state()\n], W3mConnectingWidget.prototype, \"buffering\", void 0);\n__decorate([\n property({ type: Boolean })\n], W3mConnectingWidget.prototype, \"isMobile\", void 0);\n__decorate([\n property()\n], W3mConnectingWidget.prototype, \"onRetry\", void 0);\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ConnectionController, EventsController, ModalController, OptionsController, RouterController, StorageUtil } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { W3mConnectingWidget } from '../../utils/w3m-connecting-widget/index.js';\nlet W3mConnectingExternalView = class W3mConnectingExternalView extends W3mConnectingWidget {\n constructor() {\n super();\n if (!this.connector) {\n throw new Error('w3m-connecting-view: No connector provided');\n }\n EventsController.sendEvent({\n type: 'track',\n event: 'SELECT_WALLET',\n properties: {\n name: this.connector.name ?? 'Unknown',\n platform: 'browser'\n }\n });\n this.onConnect = this.onConnectProxy.bind(this);\n this.onAutoConnect = this.onConnectProxy.bind(this);\n this.isWalletConnect = false;\n }\n async onConnectProxy() {\n try {\n this.error = false;\n if (this.connector) {\n if (this.connector.imageUrl) {\n StorageUtil.setConnectedWalletImageUrl(this.connector.imageUrl);\n }\n await ConnectionController.connectExternal(this.connector);\n if (OptionsController.state.isSiweEnabled) {\n RouterController.push('ConnectingSiwe');\n }\n else {\n ModalController.close();\n }\n EventsController.sendEvent({\n type: 'track',\n event: 'CONNECT_SUCCESS',\n properties: { method: 'browser', name: this.connector.name || 'Unknown' }\n });\n }\n }\n catch (error) {\n EventsController.sendEvent({\n type: 'track',\n event: 'CONNECT_ERROR',\n properties: { message: error?.message ?? 'Unknown' }\n });\n this.error = true;\n }\n }\n};\nW3mConnectingExternalView = __decorate([\n customElement('w3m-connecting-external-view')\n], W3mConnectingExternalView);\nexport { W3mConnectingExternalView };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AssetUtil, ConnectionController, ConnectorController, ConstantsUtil, CoreHelperUtil, EventsController, ModalController, OptionsController, RouterController, SnackController, StorageUtil } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nlet W3mConnectingWcView = class W3mConnectingWcView extends LitElement {\n constructor() {\n super();\n this.interval = undefined;\n this.lastRetry = Date.now();\n this.wallet = RouterController.state.data?.wallet;\n this.platform = undefined;\n this.platforms = [];\n this.initializeConnection();\n this.interval = setInterval(this.initializeConnection.bind(this), ConstantsUtil.TEN_SEC_MS);\n }\n disconnectedCallback() {\n clearTimeout(this.interval);\n }\n render() {\n if (!this.wallet) {\n return html ``;\n }\n this.determinePlatforms();\n return html `\n ${this.headerTemplate()}\n
${this.platformTemplate()}
\n `;\n }\n async initializeConnection(retry = false) {\n try {\n const { wcPairingExpiry } = ConnectionController.state;\n if (retry || CoreHelperUtil.isPairingExpired(wcPairingExpiry)) {\n ConnectionController.connectWalletConnect();\n if (this.wallet) {\n const url = AssetUtil.getWalletImage(this.wallet);\n if (url) {\n StorageUtil.setConnectedWalletImageUrl(url);\n }\n }\n else {\n const connectors = ConnectorController.state.connectors;\n const connector = connectors.find(c => c.type === 'WALLET_CONNECT');\n const url = AssetUtil.getConnectorImage(connector);\n if (url) {\n StorageUtil.setConnectedWalletImageUrl(url);\n }\n }\n await ConnectionController.state.wcPromise;\n this.finalizeConnection();\n if (OptionsController.state.isSiweEnabled) {\n RouterController.push('ConnectingSiwe');\n }\n else {\n ModalController.close();\n }\n }\n }\n catch (error) {\n EventsController.sendEvent({\n type: 'track',\n event: 'CONNECT_ERROR',\n properties: { message: error?.message ?? 'Unknown' }\n });\n ConnectionController.setWcError(true);\n if (CoreHelperUtil.isAllowedRetry(this.lastRetry)) {\n SnackController.showError('Declined');\n this.lastRetry = Date.now();\n this.initializeConnection(true);\n }\n }\n }\n finalizeConnection() {\n const { wcLinking, recentWallet } = ConnectionController.state;\n if (wcLinking) {\n StorageUtil.setWalletConnectDeepLink(wcLinking);\n }\n if (recentWallet) {\n StorageUtil.setWeb3ModalRecent(recentWallet);\n }\n EventsController.sendEvent({\n type: 'track',\n event: 'CONNECT_SUCCESS',\n properties: {\n method: wcLinking ? 'mobile' : 'qrcode',\n name: this.wallet?.name || 'Unknown'\n }\n });\n }\n determinePlatforms() {\n if (!this.wallet) {\n throw new Error('w3m-connecting-wc-view:determinePlatforms No wallet');\n }\n if (this.platform) {\n return;\n }\n const { mobile_link, desktop_link, webapp_link, injected, rdns } = this.wallet;\n const injectedIds = injected?.map(({ injected_id }) => injected_id).filter(Boolean);\n const browserIds = rdns ? [rdns] : injectedIds ?? [];\n const isBrowser = browserIds.length;\n const isMobileWc = mobile_link;\n const isWebWc = webapp_link;\n const isBrowserInstalled = ConnectionController.checkInstalled(browserIds);\n const isBrowserWc = isBrowser && isBrowserInstalled;\n const isDesktopWc = desktop_link && !CoreHelperUtil.isMobile();\n if (isBrowserWc) {\n this.platforms.push('browser');\n }\n if (isMobileWc) {\n this.platforms.push(CoreHelperUtil.isMobile() ? 'mobile' : 'qrcode');\n }\n if (isWebWc) {\n this.platforms.push('web');\n }\n if (isDesktopWc) {\n this.platforms.push('desktop');\n }\n if (!isBrowserWc && isBrowser) {\n this.platforms.push('unsupported');\n }\n this.platform = this.platforms[0];\n }\n platformTemplate() {\n switch (this.platform) {\n case 'browser':\n return html ``;\n case 'desktop':\n return html `\n this.initializeConnection(true)}>\n \n `;\n case 'web':\n return html `\n this.initializeConnection(true)}>\n \n `;\n case 'mobile':\n return html `\n this.initializeConnection(true)}>\n \n `;\n case 'qrcode':\n return html ``;\n default:\n return html ``;\n }\n }\n headerTemplate() {\n const multiPlatform = this.platforms.length > 1;\n if (!multiPlatform) {\n return null;\n }\n return html `\n \n \n `;\n }\n async onSelectPlatform(platform) {\n const container = this.shadowRoot?.querySelector('div');\n if (container) {\n await container.animate([{ opacity: 1 }, { opacity: 0 }], {\n duration: 200,\n fill: 'forwards',\n easing: 'ease'\n }).finished;\n this.platform = platform;\n container.animate([{ opacity: 0 }, { opacity: 1 }], {\n duration: 200,\n fill: 'forwards',\n easing: 'ease'\n });\n }\n }\n};\n__decorate([\n state()\n], W3mConnectingWcView.prototype, \"platform\", void 0);\n__decorate([\n state()\n], W3mConnectingWcView.prototype, \"platforms\", void 0);\nW3mConnectingWcView = __decorate([\n customElement('w3m-connecting-wc-view')\n], W3mConnectingWcView);\nexport { W3mConnectingWcView };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { CoreHelperUtil, RouterController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nlet W3mDownloadsView = class W3mDownloadsView extends LitElement {\n constructor() {\n super(...arguments);\n this.wallet = RouterController.state.data?.wallet;\n }\n render() {\n if (!this.wallet) {\n throw new Error('w3m-downloads-view');\n }\n return html `\n \n ${this.chromeTemplate()} ${this.iosTemplate()} ${this.androidTemplate()}\n ${this.homepageTemplate()}\n \n `;\n }\n chromeTemplate() {\n if (!this.wallet?.chrome_store) {\n return null;\n }\n return html `\n Chrome Extension\n `;\n }\n iosTemplate() {\n if (!this.wallet?.app_store) {\n return null;\n }\n return html `\n iOS App\n `;\n }\n androidTemplate() {\n if (!this.wallet?.play_store) {\n return null;\n }\n return html `\n Android App\n `;\n }\n homepageTemplate() {\n if (!this.wallet?.homepage) {\n return null;\n }\n return html `\n \n Website\n \n `;\n }\n onChromeStore() {\n if (this.wallet?.chrome_store) {\n CoreHelperUtil.openHref(this.wallet.chrome_store, '_blank');\n }\n }\n onAppStore() {\n if (this.wallet?.app_store) {\n CoreHelperUtil.openHref(this.wallet.app_store, '_blank');\n }\n }\n onPlayStore() {\n if (this.wallet?.play_store) {\n CoreHelperUtil.openHref(this.wallet.play_store, '_blank');\n }\n }\n onHomePage() {\n if (this.wallet?.homepage) {\n CoreHelperUtil.openHref(this.wallet.homepage, '_blank');\n }\n }\n};\nW3mDownloadsView = __decorate([\n customElement('w3m-downloads-view')\n], W3mDownloadsView);\nexport { W3mDownloadsView };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ApiController, AssetUtil, CoreHelperUtil, OptionsController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nconst EXPLORER = 'https://walletconnect.com/explorer';\nlet W3mGetWalletView = class W3mGetWalletView extends LitElement {\n render() {\n return html `\n \n ${this.recommendedWalletsTemplate()}\n {\n CoreHelperUtil.openHref('https://walletconnect.com/explorer?type=wallet', '_blank');\n }}\n >\n \n `;\n }\n recommendedWalletsTemplate() {\n const { recommended, featured } = ApiController.state;\n const { customWallets } = OptionsController.state;\n const wallets = [...featured, ...(customWallets ?? []), ...recommended].slice(0, 4);\n return wallets.map(wallet => html `\n {\n CoreHelperUtil.openHref(wallet.homepage ?? EXPLORER, '_blank');\n }}\n >\n `);\n }\n};\nW3mGetWalletView = __decorate([\n customElement('w3m-get-wallet-view')\n], W3mGetWalletView);\nexport { W3mGetWalletView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n @keyframes shake {\n 0% {\n transform: translateX(0);\n }\n 25% {\n transform: translateX(3px);\n }\n 50% {\n transform: translateX(-3px);\n }\n 75% {\n transform: translateX(3px);\n }\n 100% {\n transform: translateX(0);\n }\n }\n\n wui-flex:first-child:not(:only-child) {\n position: relative;\n }\n\n wui-loading-hexagon {\n position: absolute;\n }\n\n wui-icon-box {\n position: absolute;\n right: 4px;\n bottom: 0;\n opacity: 0;\n transform: scale(0.5);\n z-index: 1;\n }\n\n wui-button {\n display: none;\n }\n\n [data-error='true'] wui-icon-box {\n opacity: 1;\n transform: scale(1);\n }\n\n [data-error='true'] > wui-flex:first-child {\n animation: shake 250ms cubic-bezier(0.36, 0.07, 0.19, 0.97) both;\n }\n\n wui-button[data-retry='true'] {\n display: block;\n opacity: 1;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AssetUtil, ConnectorController, NetworkController, OptionsController, RouterController, RouterUtil, StorageUtil } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nlet W3mNetworkSwitchView = class W3mNetworkSwitchView extends LitElement {\n constructor() {\n super();\n this.network = RouterController.state.data?.network;\n this.unsubscribe = [];\n this.showRetry = false;\n this.error = false;\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n firstUpdated() {\n this.onSwitchNetwork();\n }\n render() {\n if (!this.network) {\n throw new Error('w3m-network-switch-view: No network provided');\n }\n this.onShowRetry();\n const label = this.getLabel();\n const subLabel = this.getSubLabel();\n return html `\n \n \n \n\n ${this.error ? null : html ``}\n\n \n \n\n \n ${label}\n ${subLabel}\n \n\n \n \n Try again\n \n \n `;\n }\n getSubLabel() {\n const type = StorageUtil.getConnectedConnector();\n const emailConnector = ConnectorController.getEmailConnector();\n if (emailConnector && type === 'EMAIL') {\n return '';\n }\n return this.error\n ? 'Switch can be declined if chain is not supported by a wallet or previous request is still active'\n : 'Accept connection request in your wallet';\n }\n getLabel() {\n const type = StorageUtil.getConnectedConnector();\n const emailConnector = ConnectorController.getEmailConnector();\n if (emailConnector && type === 'EMAIL') {\n return `Switching to ${this.network?.name ?? 'Unknown'} network...`;\n }\n return this.error ? 'Switch declined' : 'Approve in wallet';\n }\n onShowRetry() {\n if (this.error && !this.showRetry) {\n this.showRetry = true;\n const retryButton = this.shadowRoot?.querySelector('wui-button');\n retryButton?.animate([{ opacity: 0 }, { opacity: 1 }], {\n fill: 'forwards',\n easing: 'ease'\n });\n }\n }\n async onSwitchNetwork() {\n try {\n this.error = false;\n if (this.network) {\n await NetworkController.switchActiveNetwork(this.network);\n if (!OptionsController.state.isSiweEnabled) {\n RouterUtil.navigateAfterNetworkSwitch();\n }\n }\n }\n catch {\n this.error = true;\n }\n }\n};\nW3mNetworkSwitchView.styles = styles;\n__decorate([\n state()\n], W3mNetworkSwitchView.prototype, \"showRetry\", void 0);\n__decorate([\n state()\n], W3mNetworkSwitchView.prototype, \"error\", void 0);\nW3mNetworkSwitchView = __decorate([\n customElement('w3m-network-switch-view')\n], W3mNetworkSwitchView);\nexport { W3mNetworkSwitchView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-grid {\n max-height: 360px;\n overflow: auto;\n }\n\n wui-grid::-webkit-scrollbar {\n display: none;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController, AssetUtil, CoreHelperUtil, EventsController, NetworkController, RouterController, RouterUtil } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nlet W3mNetworksView = class W3mNetworksView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.caipNetwork = NetworkController.state.caipNetwork;\n this.unsubscribe.push(NetworkController.subscribeKey('caipNetwork', val => (this.caipNetwork = val)));\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return html `\n \n ${this.networksTemplate()}\n \n\n \n\n \n \n Your connected wallet may not support some of the networks available for this dApp\n \n \n \n What is a network\n \n \n `;\n }\n onNetworkHelp() {\n EventsController.sendEvent({ type: 'track', event: 'CLICK_NETWORK_HELP' });\n RouterController.push('WhatIsANetwork');\n }\n networksTemplate() {\n const { approvedCaipNetworkIds, requestedCaipNetworks, supportsAllNetworks } = NetworkController.state;\n const sortedNetworks = CoreHelperUtil.sortRequestedNetworks(approvedCaipNetworkIds, requestedCaipNetworks);\n return sortedNetworks?.map(network => html `\n this.onSwitchNetwork(network)}\n .disabled=${!supportsAllNetworks && !approvedCaipNetworkIds?.includes(network.id)}\n data-testid=${`w3m-network-switch-${network.name ?? network.id}`}\n >\n `);\n }\n async onSwitchNetwork(network) {\n const { isConnected } = AccountController.state;\n const { approvedCaipNetworkIds, supportsAllNetworks, caipNetwork } = NetworkController.state;\n const { data } = RouterController.state;\n if (isConnected && caipNetwork?.id !== network.id) {\n if (approvedCaipNetworkIds?.includes(network.id)) {\n await NetworkController.switchActiveNetwork(network);\n RouterUtil.navigateAfterNetworkSwitch();\n }\n else if (supportsAllNetworks) {\n RouterController.push('SwitchNetwork', { ...data, network });\n }\n }\n else if (!isConnected) {\n NetworkController.setCaipNetwork(network);\n RouterController.push('Connect');\n }\n }\n};\nW3mNetworksView.styles = styles;\n__decorate([\n state()\n], W3mNetworksView.prototype, \"caipNetwork\", void 0);\nW3mNetworksView = __decorate([\n customElement('w3m-networks-view')\n], W3mNetworksView);\nexport { W3mNetworksView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-flex {\n height: 500px;\n overflow-y: auto;\n overflow-x: hidden;\n scrollbar-width: none;\n padding: var(--wui-spacing-m);\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n }\n\n :host > wui-flex > wui-flex {\n width: 100%;\n }\n\n wui-transaction-list-item-loader {\n width: 100%;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { DateUtil } from '@web3modal/common';\nimport { AccountController, AssetController, OnRampController, OptionsController, TransactionsController } from '@web3modal/core';\nimport { TransactionUtil, customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport styles from './styles.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nconst LOADING_ITEM_COUNT = 7;\nlet W3mOnRampActivityView = class W3mOnRampActivityView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.refetchTimeout = undefined;\n this.selectedOnRampProvider = OnRampController.state.selectedProvider;\n this.loading = false;\n this.coinbaseTransactions = TransactionsController.state.coinbaseTransactions;\n this.tokenImages = AssetController.state.tokenImages;\n this.unsubscribe.push(...[\n OnRampController.subscribeKey('selectedProvider', val => {\n this.selectedOnRampProvider = val;\n }),\n AssetController.subscribeKey('tokenImages', val => (this.tokenImages = val)),\n () => {\n clearTimeout(this.refetchTimeout);\n },\n TransactionsController.subscribe(val => {\n this.coinbaseTransactions = { ...val.coinbaseTransactions };\n })\n ]);\n TransactionsController.clearCursor();\n this.fetchTransactions();\n }\n render() {\n return html `\n \n ${this.loading ? this.templateLoading() : this.templateTransactionsByYear()}\n \n `;\n }\n templateTransactions(transactions) {\n return transactions?.map(transaction => {\n const date = DateUtil.formatDate(transaction?.metadata?.minedAt);\n const transfer = transaction.transfers[0];\n const fungibleInfo = transfer?.fungible_info;\n if (!fungibleInfo) {\n return null;\n }\n const icon = fungibleInfo?.icon?.url || this.tokenImages?.[fungibleInfo.symbol || ''];\n return html `\n \n `;\n });\n }\n templateTransactionsByYear() {\n const sortedYearKeys = Object.keys(this.coinbaseTransactions).sort().reverse();\n return sortedYearKeys.map(year => {\n const yearInt = parseInt(year, 10);\n const sortedMonthIndexes = new Array(12)\n .fill(null)\n .map((_, idx) => idx)\n .reverse();\n return sortedMonthIndexes.map(month => {\n const groupTitle = TransactionUtil.getTransactionGroupTitle(yearInt, month);\n const transactions = this.coinbaseTransactions[yearInt]?.[month];\n if (!transactions) {\n return null;\n }\n return html `\n \n \n ${groupTitle}\n \n \n ${this.templateTransactions(transactions)}\n \n \n `;\n });\n });\n }\n async fetchTransactions() {\n const provider = 'coinbase';\n if (provider === 'coinbase') {\n await this.fetchCoinbaseTransactions();\n }\n }\n async fetchCoinbaseTransactions() {\n const address = AccountController.state.address;\n const projectId = OptionsController.state.projectId;\n if (!address) {\n throw new Error('No address found');\n }\n if (!projectId) {\n throw new Error('No projectId found');\n }\n this.loading = true;\n await TransactionsController.fetchTransactions(address, 'coinbase');\n this.loading = false;\n this.refetchLoadingTransactions();\n }\n refetchLoadingTransactions() {\n const today = new Date();\n const currentMonthTxs = this.coinbaseTransactions[today.getFullYear()]?.[today.getMonth()] || [];\n const loadingTransactions = currentMonthTxs.filter(transaction => transaction.metadata.status === 'ONRAMP_TRANSACTION_STATUS_IN_PROGRESS');\n if (loadingTransactions.length === 0) {\n clearTimeout(this.refetchTimeout);\n return;\n }\n this.refetchTimeout = setTimeout(async () => {\n const address = AccountController.state.address;\n await TransactionsController.fetchTransactions(address, 'coinbase');\n this.refetchLoadingTransactions();\n }, 3000);\n }\n templateLoading() {\n return Array(LOADING_ITEM_COUNT)\n .fill(html ` `)\n .map(item => item);\n }\n};\nW3mOnRampActivityView.styles = styles;\n__decorate([\n state()\n], W3mOnRampActivityView.prototype, \"selectedOnRampProvider\", void 0);\n__decorate([\n state()\n], W3mOnRampActivityView.prototype, \"loading\", void 0);\n__decorate([\n state()\n], W3mOnRampActivityView.prototype, \"coinbaseTransactions\", void 0);\n__decorate([\n state()\n], W3mOnRampActivityView.prototype, \"tokenImages\", void 0);\nW3mOnRampActivityView = __decorate([\n customElement('w3m-onramp-activity-view')\n], W3mOnRampActivityView);\nexport { W3mOnRampActivityView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-grid {\n max-height: 360px;\n overflow: auto;\n }\n\n wui-grid::-webkit-scrollbar {\n display: none;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { OnRampController, ModalController, AssetController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport styles from './styles.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nlet W3mOnrampFiatSelectView = class W3mOnrampFiatSelectView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.selectedCurrency = OnRampController.state.paymentCurrency;\n this.currencies = OnRampController.state.paymentCurrencies;\n this.currencyImages = AssetController.state.currencyImages;\n this.unsubscribe.push(...[\n OnRampController.subscribe(val => {\n this.selectedCurrency = val.paymentCurrency;\n this.currencies = val.paymentCurrencies;\n }),\n AssetController.subscribeKey('currencyImages', val => (this.currencyImages = val))\n ]);\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return html `\n \n ${this.currenciesTemplate()}\n \n \n `;\n }\n currenciesTemplate() {\n return this.currencies.map(currency => html `\n this.selectCurrency(currency)}\n variant=\"image\"\n >\n ${currency.id}\n \n `);\n }\n selectCurrency(currency) {\n if (!currency) {\n return;\n }\n OnRampController.setPaymentCurrency(currency);\n ModalController.close();\n }\n};\nW3mOnrampFiatSelectView.styles = styles;\n__decorate([\n state()\n], W3mOnrampFiatSelectView.prototype, \"selectedCurrency\", void 0);\n__decorate([\n state()\n], W3mOnrampFiatSelectView.prototype, \"currencies\", void 0);\n__decorate([\n state()\n], W3mOnrampFiatSelectView.prototype, \"currencyImages\", void 0);\nW3mOnrampFiatSelectView = __decorate([\n customElement('w3m-onramp-fiat-select-view')\n], W3mOnrampFiatSelectView);\nexport { W3mOnrampFiatSelectView };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { CoreHelperUtil, AccountController, ConstantsUtil, OnRampController, RouterController, NetworkController, BlockchainApiController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nlet W3mOnRampProvidersView = class W3mOnRampProvidersView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.providers = OnRampController.state.providers;\n this.unsubscribe.push(...[\n OnRampController.subscribeKey('providers', val => {\n this.providers = val;\n })\n ]);\n }\n firstUpdated() {\n const urlPromises = this.providers.map(async (provider) => {\n if (provider.name === 'coinbase') {\n return await this.getCoinbaseOnRampURL();\n }\n return Promise.resolve(provider?.url);\n });\n Promise.all(urlPromises).then(urls => {\n this.providers = this.providers.map((provider, index) => ({\n ...provider,\n url: urls[index] || ''\n }));\n });\n }\n render() {\n return html `\n \n ${this.onRampProvidersTemplate()}\n \n \n `;\n }\n onRampProvidersTemplate() {\n return this.providers.map(provider => html `\n {\n this.onClickProvider(provider);\n }}\n ?disabled=${!provider.url}\n >\n `);\n }\n onClickProvider(provider) {\n OnRampController.setSelectedProvider(provider);\n RouterController.push('BuyInProgress');\n CoreHelperUtil.openHref(provider.url, 'popupWindow', 'width=600,height=800,scrollbars=yes');\n }\n async getCoinbaseOnRampURL() {\n const address = AccountController.state.address;\n const network = NetworkController.state.caipNetwork;\n if (!address) {\n throw new Error('No address found');\n }\n if (!network?.name) {\n throw new Error('No network found');\n }\n const defaultNetwork = ConstantsUtil.WC_COINBASE_PAY_SDK_CHAIN_NAME_MAP[network.name] ?? ConstantsUtil.WC_COINBASE_PAY_SDK_FALLBACK_CHAIN;\n const purchaseCurrency = OnRampController.state.purchaseCurrency;\n const assets = purchaseCurrency\n ? [purchaseCurrency.symbol]\n : OnRampController.state.purchaseCurrencies.map(currency => currency.symbol);\n return await BlockchainApiController.generateOnRampURL({\n defaultNetwork,\n destinationWallets: [\n { address, blockchains: ConstantsUtil.WC_COINBASE_PAY_SDK_CHAINS, assets }\n ],\n partnerUserId: address,\n purchaseAmount: OnRampController.state.purchaseAmount\n });\n }\n};\n__decorate([\n state()\n], W3mOnRampProvidersView.prototype, \"providers\", void 0);\nW3mOnRampProvidersView = __decorate([\n customElement('w3m-onramp-providers-view')\n], W3mOnRampProvidersView);\nexport { W3mOnRampProvidersView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-grid {\n max-height: 360px;\n overflow: auto;\n }\n\n wui-grid::-webkit-scrollbar {\n display: none;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { OnRampController, ModalController, AssetController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport styles from './styles.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nlet W3mOnrampTokensView = class W3mOnrampTokensView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.selectedCurrency = OnRampController.state.purchaseCurrencies;\n this.tokens = OnRampController.state.purchaseCurrencies;\n this.tokenImages = AssetController.state.tokenImages;\n this.unsubscribe.push(...[\n OnRampController.subscribe(val => {\n this.selectedCurrency = val.purchaseCurrencies;\n this.tokens = val.purchaseCurrencies;\n }),\n AssetController.subscribeKey('tokenImages', val => (this.tokenImages = val))\n ]);\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return html `\n \n ${this.currenciesTemplate()}\n \n \n `;\n }\n currenciesTemplate() {\n return this.tokens.map(token => html `\n this.selectToken(token)}\n variant=\"image\"\n >\n \n ${token.name}\n ${token.symbol}\n \n \n `);\n }\n selectToken(currency) {\n if (!currency) {\n return;\n }\n OnRampController.setPurchaseCurrency(currency);\n ModalController.close();\n }\n};\nW3mOnrampTokensView.styles = styles;\n__decorate([\n state()\n], W3mOnrampTokensView.prototype, \"selectedCurrency\", void 0);\n__decorate([\n state()\n], W3mOnrampTokensView.prototype, \"tokens\", void 0);\n__decorate([\n state()\n], W3mOnrampTokensView.prototype, \"tokenImages\", void 0);\nW3mOnrampTokensView = __decorate([\n customElement('w3m-onramp-token-select-view')\n], W3mOnrampTokensView);\nexport { W3mOnrampTokensView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-flex:first-child {\n overflow-y: auto;\n overflow-x: hidden;\n scrollbar-width: none;\n }\n\n wui-loading-hexagon {\n position: absolute;\n }\n\n .action-button {\n width: 100%;\n border-radius: var(--wui-border-radius-xs);\n }\n\n .action-button:disabled {\n border-color: 1px solid var(--wui-gray-glass-005);\n }\n\n .convert-inputs-container {\n position: relative;\n }\n\n .replace-tokens-button {\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n gap: var(--wui-spacing-1xs);\n height: 40px;\n width: 40px;\n padding: var(--wui-spacing-xs);\n border: none;\n border-radius: var(--wui-border-radius-xxs);\n background: var(--wui-gray-glass-005);\n transition: background-color var(--wui-duration-md) var(--wui-ease-out-power-1);\n will-change: background-color;\n z-index: 20;\n }\n\n .replace-tokens-button:hover {\n background: var(--wui-gray-glass-010);\n }\n\n .details-container > wui-flex {\n background: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-xxs);\n width: 100%;\n }\n\n .details-container > wui-flex > button {\n border: none;\n background: none;\n padding: var(--wui-spacing-s);\n border-radius: var(--wui-border-radius-xxs);\n transition: background 0.2s linear;\n }\n\n .details-container > wui-flex > button:hover {\n background: var(--wui-gray-glass-002);\n }\n\n .details-content-container {\n padding: var(--wui-spacing-1xs);\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .details-content-container > wui-flex {\n width: 100%;\n }\n\n .details-row {\n width: 100%;\n padding: var(--wui-spacing-s) var(--wui-spacing-xl);\n border-radius: var(--wui-border-radius-xxs);\n background: var(--wui-gray-glass-002);\n }\n\n .free-badge {\n background: rgba(38, 217, 98, 0.15);\n border-radius: var(--wui-border-radius-4xs);\n padding: 4.5px 6px;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { UiHelperUtil, customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport styles from './styles.js';\nimport { ConvertController, RouterController, CoreHelperUtil, NetworkController, ModalController, ConstantsUtil } from '@web3modal/core';\nimport { NumberUtil } from '@web3modal/common';\nlet W3mConvertView = class W3mConvertView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.detailsOpen = false;\n this.caipNetworkId = NetworkController.state.caipNetwork?.id;\n this.initialized = ConvertController.state.initialized;\n this.loading = ConvertController.state.loading;\n this.loadingPrices = ConvertController.state.loadingPrices;\n this.sourceToken = ConvertController.state.sourceToken;\n this.sourceTokenAmount = ConvertController.state.sourceTokenAmount;\n this.sourceTokenPriceInUSD = ConvertController.state.sourceTokenPriceInUSD;\n this.toToken = ConvertController.state.toToken;\n this.toTokenAmount = ConvertController.state.toTokenAmount;\n this.toTokenPriceInUSD = ConvertController.state.toTokenPriceInUSD;\n this.inputError = ConvertController.state.inputError;\n this.gasPriceInUSD = ConvertController.state.gasPriceInUSD;\n this.priceImpact = ConvertController.state.priceImpact;\n this.maxSlippage = ConvertController.state.maxSlippage;\n this.transactionLoading = ConvertController.state.transactionLoading;\n this.onDebouncedGetSwapCalldata = CoreHelperUtil.debounce(async () => {\n await ConvertController.convertTokens();\n }, 500);\n NetworkController.subscribeKey('caipNetwork', newCaipNetwork => {\n if (this.caipNetworkId !== newCaipNetwork?.id) {\n this.caipNetworkId = newCaipNetwork?.id;\n ConvertController.resetTokens();\n ConvertController.resetValues();\n ConvertController.initializeState();\n }\n });\n this.unsubscribe.push(...[\n ModalController.subscribeKey('open', isOpen => {\n if (!isOpen) {\n ConvertController.resetValues();\n }\n }),\n RouterController.subscribeKey('view', newRoute => {\n if (!newRoute.includes('Convert')) {\n ConvertController.resetValues();\n }\n }),\n ConvertController.subscribe(newState => {\n this.initialized = newState.initialized;\n this.loading = newState.loading;\n this.loadingPrices = newState.loadingPrices;\n this.transactionLoading = newState.transactionLoading;\n this.sourceToken = newState.sourceToken;\n this.sourceTokenAmount = newState.sourceTokenAmount;\n this.sourceTokenPriceInUSD = newState.sourceTokenPriceInUSD;\n this.toToken = newState.toToken;\n this.toTokenAmount = newState.toTokenAmount;\n this.toTokenPriceInUSD = newState.toTokenPriceInUSD;\n this.inputError = newState.inputError;\n this.gasPriceInUSD = newState.gasPriceInUSD;\n this.priceImpact = newState.priceImpact;\n this.maxSlippage = newState.maxSlippage;\n })\n ]);\n this.watchTokensAndValues();\n }\n firstUpdated() {\n if (!this.initialized) {\n ConvertController.initializeState();\n }\n }\n disconnectedCallback() {\n ConvertController.setLoading(false);\n this.unsubscribe.forEach(unsubscribe => unsubscribe?.());\n clearInterval(this.interval);\n }\n render() {\n return html `\n \n ${this.initialized ? this.templateSwap() : this.templateLoading()}\n \n `;\n }\n watchTokensAndValues() {\n this.interval = setInterval(() => {\n ConvertController.getNetworkTokenPrice();\n ConvertController.getMyTokensWithBalance();\n ConvertController.refreshConvertValues();\n }, 20000);\n }\n templateSwap() {\n return html `\n \n \n ${this.templateTokenInput('sourceToken', this.sourceToken)}\n ${this.templateTokenInput('toToken', this.toToken)} ${this.templateReplaceTokensButton()}\n \n ${this.templateDetails()} ${this.templateActionButton()}\n \n `;\n }\n actionButtonLabel() {\n if (this.inputError) {\n return this.inputError;\n }\n return 'Review convert';\n }\n templateReplaceTokensButton() {\n return html `\n \n `;\n }\n templateLoading() {\n return html `\n \n\n \n `;\n }\n templateTokenInput(target, token) {\n const myToken = ConvertController.state.myTokensWithBalance?.find(ct => ct?.address === token?.address);\n const amount = target === 'toToken' ? this.toTokenAmount : this.sourceTokenAmount;\n const price = target === 'toToken' ? this.toTokenPriceInUSD : this.sourceTokenPriceInUSD;\n let value = parseFloat(amount) * price;\n if (target === 'toToken') {\n value -= this.gasPriceInUSD || 0;\n }\n return html ``;\n }\n onSetMaxValue(target, balance) {\n const token = target === 'sourceToken' ? this.sourceToken : this.toToken;\n const isNetworkToken = token?.address === ConstantsUtil.NATIVE_TOKEN_ADDRESS;\n let value = '0';\n if (!balance) {\n value = '0';\n this.handleChangeAmount(target, value);\n return;\n }\n if (!this.gasPriceInUSD) {\n value = balance;\n this.handleChangeAmount(target, value);\n return;\n }\n const amountOfTokenGasRequires = NumberUtil.bigNumber(this.gasPriceInUSD.toFixed(5)).dividedBy(this.sourceTokenPriceInUSD);\n const maxValue = isNetworkToken\n ? NumberUtil.bigNumber(balance).minus(amountOfTokenGasRequires)\n : NumberUtil.bigNumber(balance);\n this.handleChangeAmount(target, maxValue.isGreaterThan(0) ? maxValue.toFixed(20) : '0');\n }\n templateDetails() {\n if (this.loading || this.inputError) {\n return null;\n }\n if (!this.sourceToken || !this.toToken || !this.sourceTokenAmount || !this.toTokenAmount) {\n return null;\n }\n const toTokenConvertedAmount = this.sourceTokenPriceInUSD && this.toTokenPriceInUSD\n ? (1 / this.toTokenPriceInUSD) * this.sourceTokenPriceInUSD\n : 0;\n return html `\n \n `;\n }\n handleChangeAmount(target, value) {\n ConvertController.clearError();\n if (target === 'sourceToken') {\n ConvertController.setSourceTokenAmount(value);\n }\n else {\n ConvertController.setToTokenAmount(value);\n }\n this.onDebouncedGetSwapCalldata();\n }\n templateActionButton() {\n const haveNoTokenSelected = !this.toToken || !this.sourceToken;\n const loading = this.loading || this.loadingPrices || this.transactionLoading;\n return html ` \n \n ${this.actionButtonLabel()}\n \n `;\n }\n onSwitchTokens() {\n ConvertController.switchTokens();\n }\n onConvertPreview() {\n RouterController.push('ConvertPreview');\n }\n};\nW3mConvertView.styles = styles;\n__decorate([\n state()\n], W3mConvertView.prototype, \"interval\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"detailsOpen\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"caipNetworkId\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"initialized\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"loading\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"loadingPrices\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"sourceToken\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"sourceTokenAmount\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"sourceTokenPriceInUSD\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"toToken\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"toTokenAmount\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"toTokenPriceInUSD\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"inputError\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"gasPriceInUSD\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"priceImpact\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"maxSlippage\", void 0);\n__decorate([\n state()\n], W3mConvertView.prototype, \"transactionLoading\", void 0);\nW3mConvertView = __decorate([\n customElement('w3m-convert-view')\n], W3mConvertView);\nexport { W3mConvertView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-flex:first-child {\n overflow-y: auto;\n overflow-x: hidden;\n scrollbar-width: none;\n }\n\n .preview-container,\n .details-container {\n width: 100%;\n }\n\n .token-image {\n width: 24px;\n height: 24px;\n box-shadow: 0 0 0 2px var(--wui-gray-glass-005);\n border-radius: 12px;\n }\n\n wui-loading-hexagon {\n position: absolute;\n }\n\n .token-item {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--wui-spacing-xxs);\n padding: var(--wui-spacing-xs);\n height: 40px;\n border: none;\n border-radius: 80px;\n background: var(--wui-gray-glass-002);\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-002);\n cursor: pointer;\n transition: background 0.2s linear;\n }\n\n .token-item:hover {\n background: var(--wui-gray-glass-005);\n }\n\n .preview-token-details-container {\n width: 100%;\n }\n\n .details-row {\n width: 100%;\n padding: var(--wui-spacing-s) var(--wui-spacing-xl);\n border-radius: var(--wui-border-radius-xxs);\n background: var(--wui-gray-glass-002);\n }\n\n .action-buttons-container {\n width: 100%;\n gap: var(--wui-spacing-xs);\n }\n\n .action-buttons-container > button {\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n height: 48px;\n border-radius: var(--wui-border-radius-xs);\n border: none;\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-010);\n }\n\n .action-buttons-container > button:disabled {\n opacity: 0.8;\n cursor: not-allowed;\n }\n\n .cancel-button:hover,\n .convert-button:hover {\n cursor: pointer;\n }\n\n .action-buttons-container > button.cancel-button {\n flex: 2;\n }\n\n .action-buttons-container > button.convert-button {\n flex: 4;\n background-color: var(--wui-color-accent-090);\n }\n\n .action-buttons-container > button.convert-button > wui-text {\n color: white;\n }\n\n .details-container > wui-flex {\n background: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-xxs);\n width: 100%;\n }\n\n .details-container > wui-flex > button {\n border: none;\n background: none;\n padding: var(--wui-spacing-s);\n border-radius: var(--wui-border-radius-xxs);\n transition: background 0.2s linear;\n }\n\n .details-container > wui-flex > button:hover {\n background: var(--wui-gray-glass-002);\n }\n\n .details-content-container {\n padding: var(--wui-spacing-1xs);\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .details-content-container > wui-flex {\n width: 100%;\n }\n\n .details-row {\n width: 100%;\n padding: var(--wui-spacing-s) var(--wui-spacing-xl);\n border-radius: var(--wui-border-radius-xxs);\n background: var(--wui-gray-glass-002);\n }\n\n .free-badge {\n background: rgba(38, 217, 98, 0.15);\n border-radius: var(--wui-border-radius-4xs);\n padding: 4.5px 6px;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { UiHelperUtil, customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nimport { AccountController, NetworkController, RouterController, ConvertController, ConstantsUtil } from '@web3modal/core';\nimport { state } from 'lit/decorators.js';\nlet W3mConvertPreviewView = class W3mConvertPreviewView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.detailsOpen = true;\n this.approvalTransaction = ConvertController.state.approvalTransaction;\n this.convertTransaction = ConvertController.state.convertTransaction;\n this.sourceToken = ConvertController.state.sourceToken;\n this.sourceTokenAmount = ConvertController.state.sourceTokenAmount ?? '';\n this.sourceTokenPriceInUSD = ConvertController.state.sourceTokenPriceInUSD;\n this.toToken = ConvertController.state.toToken;\n this.toTokenAmount = ConvertController.state.toTokenAmount ?? '';\n this.toTokenPriceInUSD = ConvertController.state.toTokenPriceInUSD;\n this.caipNetwork = NetworkController.state.caipNetwork;\n this.transactionLoading = ConvertController.state.transactionLoading;\n this.balanceSymbol = AccountController.state.balanceSymbol;\n this.gasPriceInUSD = ConvertController.state.gasPriceInUSD;\n this.priceImpact = ConvertController.state.priceImpact;\n this.maxSlippage = ConvertController.state.maxSlippage;\n this.unsubscribe.push(...[\n AccountController.subscribeKey('balanceSymbol', newBalanceSymbol => {\n if (this.balanceSymbol !== newBalanceSymbol) {\n RouterController.goBack();\n }\n }),\n NetworkController.subscribeKey('caipNetwork', newCaipNetwork => {\n if (this.caipNetwork !== newCaipNetwork) {\n this.caipNetwork = newCaipNetwork;\n }\n }),\n ConvertController.subscribe(newState => {\n this.approvalTransaction = newState.approvalTransaction;\n this.convertTransaction = newState.convertTransaction;\n this.sourceToken = newState.sourceToken;\n this.gasPriceInUSD = newState.gasPriceInUSD;\n this.toToken = newState.toToken;\n this.transactionLoading = newState.transactionLoading;\n this.gasPriceInUSD = newState.gasPriceInUSD;\n this.toTokenPriceInUSD = newState.toTokenPriceInUSD;\n this.sourceTokenAmount = newState.sourceTokenAmount ?? '';\n this.toTokenAmount = newState.toTokenAmount ?? '';\n this.priceImpact = newState.priceImpact;\n this.maxSlippage = newState.maxSlippage;\n })\n ]);\n }\n render() {\n return html `\n ${this.templateSwap()}\n `;\n }\n templateSwap() {\n const sourceTokenText = `${UiHelperUtil.formatNumberToLocalString(parseFloat(this.sourceTokenAmount))} ${this.sourceToken?.symbol}`;\n const toTokenText = `${UiHelperUtil.formatNumberToLocalString(parseFloat(this.toTokenAmount))} ${this.toToken?.symbol}`;\n const sourceTokenValue = parseFloat(this.sourceTokenAmount) * this.sourceTokenPriceInUSD;\n const toTokenValue = parseFloat(this.toTokenAmount) * this.toTokenPriceInUSD - (this.gasPriceInUSD || 0);\n const sentPrice = UiHelperUtil.formatNumberToLocalString(sourceTokenValue);\n const receivePrice = UiHelperUtil.formatNumberToLocalString(toTokenValue);\n return html `\n \n \n \n \n Send\n $${sentPrice}\n \n \n \n \n \n \n \n Receive\n $${receivePrice}\n \n \n \n \n \n\n ${this.templateDetails()}\n\n \n \n Review transaction carefully\n \n\n \n \n Cancel\n \n \n ${this.transactionLoading\n ? html ``\n : html `\n ${this.actionButtonLabel()}\n `}\n \n \n \n `;\n }\n templateDetails() {\n const toTokenConvertedAmount = this.sourceTokenPriceInUSD && this.toTokenPriceInUSD\n ? (1 / this.toTokenPriceInUSD) * this.sourceTokenPriceInUSD\n : 0;\n return html `\n \n `;\n }\n actionButtonLabel() {\n if (this.approvalTransaction) {\n return 'Approve';\n }\n return 'Convert';\n }\n onCancelTransaction() {\n RouterController.goBack();\n }\n onSendTransaction() {\n if (this.approvalTransaction) {\n ConvertController.sendTransactionForApproval(this.approvalTransaction);\n }\n else {\n ConvertController.sendTransactionForConvert(this.convertTransaction);\n }\n }\n};\nW3mConvertPreviewView.styles = styles;\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"detailsOpen\", void 0);\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"approvalTransaction\", void 0);\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"convertTransaction\", void 0);\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"sourceToken\", void 0);\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"sourceTokenAmount\", void 0);\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"sourceTokenPriceInUSD\", void 0);\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"toToken\", void 0);\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"toTokenAmount\", void 0);\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"toTokenPriceInUSD\", void 0);\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"caipNetwork\", void 0);\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"transactionLoading\", void 0);\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"balanceSymbol\", void 0);\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"gasPriceInUSD\", void 0);\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"priceImpact\", void 0);\n__decorate([\n state()\n], W3mConvertPreviewView.prototype, \"maxSlippage\", void 0);\nW3mConvertPreviewView = __decorate([\n customElement('w3m-convert-preview-view')\n], W3mConvertPreviewView);\nexport { W3mConvertPreviewView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n --tokens-scroll--top-opacity: 0;\n --tokens-scroll--bottom-opacity: 1;\n --suggested-tokens-scroll--left-opacity: 0;\n --suggested-tokens-scroll--right-opacity: 1;\n }\n\n :host > wui-flex:first-child {\n overflow-y: hidden;\n overflow-x: hidden;\n scrollbar-width: none;\n scrollbar-height: none;\n }\n\n wui-loading-hexagon {\n position: absolute;\n }\n\n .search-input-container,\n .suggested-tokens-container {\n padding-left: var(--wui-spacing-s);\n padding-right: var(--wui-spacing-s);\n }\n\n .tokens-container .tokens {\n padding: 0px var(--wui-spacing-s);\n padding-bottom: var(--wui-spacing-s);\n }\n\n .search-input-container {\n padding-top: var(--wui-spacing-s);\n }\n\n .suggested-tokens-container {\n overflow-x: auto;\n mask-image: linear-gradient(\n to right,\n rgba(0, 0, 0, calc(1 - var(--suggested-tokens-scroll--left-opacity))) 0px,\n rgba(200, 200, 200, calc(1 - var(--suggested-tokens-scroll--left-opacity))) 1px,\n black 50px,\n black 90px,\n black calc(100% - 90px),\n black calc(100% - 50px),\n rgba(155, 155, 155, calc(1 - var(--suggested-tokens-scroll--right-opacity))) calc(100% - 1px),\n rgba(0, 0, 0, calc(1 - var(--suggested-tokens-scroll--right-opacity))) 100%\n );\n }\n\n .suggested-tokens-container::-webkit-scrollbar {\n display: none;\n }\n\n .tokens-container {\n border-top: 1px solid var(--wui-gray-glass-005);\n height: 100%;\n max-height: 390px;\n }\n\n .tokens {\n width: 100%;\n overflow-y: auto;\n mask-image: linear-gradient(\n to bottom,\n rgba(0, 0, 0, calc(1 - var(--tokens-scroll--top-opacity))) 0px,\n rgba(200, 200, 200, calc(1 - var(--tokens-scroll--top-opacity))) 1px,\n black 50px,\n black 90px,\n black calc(100% - 90px),\n black calc(100% - 50px),\n rgba(155, 155, 155, calc(1 - var(--tokens-scroll--bottom-opacity))) calc(100% - 1px),\n rgba(0, 0, 0, calc(1 - var(--tokens-scroll--bottom-opacity))) 100%\n );\n }\n\n .network-search-input,\n .select-network-button {\n height: 40px;\n }\n\n .select-network-button {\n border: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: var(--wui-spacing-xs);\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-005);\n background-color: transparent;\n border-radius: var(--wui-border-radius-xxs);\n padding: var(--wui-spacing-xs);\n align-items: center;\n transition: background-color 0.2s linear;\n }\n\n .select-network-button:hover {\n background-color: var(--wui-gray-glass-002);\n }\n\n .select-network-button > wui-image {\n width: 26px;\n height: 26px;\n border-radius: var(--wui-border-radius-xs);\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-010);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement, MathUtil } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nimport { RouterController, ConvertController } from '@web3modal/core';\nimport { state } from 'lit/decorators.js';\nlet W3mConvertSelectTokenView = class W3mConvertSelectTokenView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.targetToken = RouterController.state.data?.target;\n this.sourceToken = ConvertController.state.sourceToken;\n this.toToken = ConvertController.state.toToken;\n this.searchValue = '';\n this.unsubscribe.push(...[\n ConvertController.subscribe(newState => {\n this.sourceToken = newState.sourceToken;\n this.toToken = newState.toToken;\n })\n ]);\n this.watchTokens();\n }\n updated() {\n const suggestedTokensContainer = this.renderRoot?.querySelector('.suggested-tokens-container');\n suggestedTokensContainer?.addEventListener('scroll', this.handleSuggestedTokensScroll.bind(this));\n const tokensList = this.renderRoot?.querySelector('.tokens');\n tokensList?.addEventListener('scroll', this.handleTokenListScroll.bind(this));\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n const suggestedTokensContainer = this.renderRoot?.querySelector('.suggested-tokens-container');\n const tokensList = this.renderRoot?.querySelector('.tokens');\n suggestedTokensContainer?.removeEventListener('scroll', this.handleSuggestedTokensScroll.bind(this));\n tokensList?.removeEventListener('scroll', this.handleTokenListScroll.bind(this));\n clearInterval(this.interval);\n }\n render() {\n return html `\n \n ${this.templateSearchInput()} ${this.templateSuggestedTokens()} ${this.templateTokens()}\n \n `;\n }\n watchTokens() {\n this.interval = setInterval(() => {\n ConvertController.getNetworkTokenPrice();\n ConvertController.getMyTokensWithBalance();\n }, 5000);\n }\n onSelectToken(token) {\n if (this.targetToken === 'sourceToken') {\n ConvertController.setSourceToken(token);\n }\n else {\n ConvertController.setToToken(token);\n }\n RouterController.goBack();\n }\n templateSearchInput() {\n return html `\n \n \n \n `;\n }\n templateTokens() {\n const yourTokens = ConvertController.state.myTokensWithBalance\n ? Object.values(ConvertController.state.myTokensWithBalance)\n : [];\n const tokens = ConvertController.state.popularTokens\n ? ConvertController.state.popularTokens\n : [];\n const filteredYourTokens = this.filterTokensWithText(yourTokens, this.searchValue);\n const filteredTokens = this.filterTokensWithText(tokens, this.searchValue);\n return html `\n \n \n ${filteredYourTokens?.length > 0\n ? html `\n \n Your tokens\n \n ${filteredYourTokens.map(token => {\n const selected = token.symbol === this.sourceToken?.symbol ||\n token.symbol === this.toToken?.symbol;\n return html `\n {\n if (!selected) {\n this.onSelectToken(token);\n }\n }}\n >\n \n `;\n })}\n `\n : null}\n\n \n Popular tokens\n \n\n ${filteredTokens?.length > 0\n ? filteredTokens.map(token => html `\n this.onSelectToken(token)}\n >\n \n `)\n : null}\n \n \n `;\n }\n templateSuggestedTokens() {\n const tokens = ConvertController.state.suggestedTokens\n ? ConvertController.state.suggestedTokens.slice(0, 8)\n : null;\n if (!tokens) {\n return null;\n }\n return html `\n \n ${tokens.map(token => html `\n this.onSelectToken(token)}\n >\n \n `)}\n \n `;\n }\n onSearchInputChange(event) {\n this.searchValue = event.detail;\n }\n handleSuggestedTokensScroll() {\n const container = this.renderRoot?.querySelector('.suggested-tokens-container');\n if (!container) {\n return;\n }\n container.style.setProperty('--suggested-tokens-scroll--left-opacity', MathUtil.interpolate([0, 100], [0, 1], container.scrollLeft).toString());\n container.style.setProperty('--suggested-tokens-scroll--right-opacity', MathUtil.interpolate([0, 100], [0, 1], container.scrollWidth - container.scrollLeft - container.offsetWidth).toString());\n }\n handleTokenListScroll() {\n const container = this.renderRoot?.querySelector('.tokens');\n if (!container) {\n return;\n }\n container.style.setProperty('--tokens-scroll--top-opacity', MathUtil.interpolate([0, 100], [0, 1], container.scrollTop).toString());\n container.style.setProperty('--tokens-scroll--bottom-opacity', MathUtil.interpolate([0, 100], [0, 1], container.scrollHeight - container.scrollTop - container.offsetHeight).toString());\n }\n filterTokensWithText(tokens, text) {\n return tokens.filter(token => `${token.symbol} ${token.name} ${token.address}`.toLowerCase().includes(text.toLowerCase()));\n }\n};\nW3mConvertSelectTokenView.styles = styles;\n__decorate([\n state()\n], W3mConvertSelectTokenView.prototype, \"interval\", void 0);\n__decorate([\n state()\n], W3mConvertSelectTokenView.prototype, \"targetToken\", void 0);\n__decorate([\n state()\n], W3mConvertSelectTokenView.prototype, \"sourceToken\", void 0);\n__decorate([\n state()\n], W3mConvertSelectTokenView.prototype, \"toToken\", void 0);\n__decorate([\n state()\n], W3mConvertSelectTokenView.prototype, \"searchValue\", void 0);\nW3mConvertSelectTokenView = __decorate([\n customElement('w3m-convert-select-token-view')\n], W3mConvertSelectTokenView);\nexport { W3mConvertSelectTokenView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-flex:first-child {\n height: 500px;\n overflow-y: auto;\n overflow-x: hidden;\n scrollbar-width: none;\n padding: var(--wui-spacing-m);\n }\n\n :host > wui-flex:first-child::-webkit-scrollbar {\n display: none;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nlet W3mTransactionsView = class W3mTransactionsView extends LitElement {\n render() {\n return html `\n \n \n \n `;\n }\n};\nW3mTransactionsView.styles = styles;\nW3mTransactionsView = __decorate([\n customElement('w3m-transactions-view')\n], W3mTransactionsView);\nexport { W3mTransactionsView };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { CoreHelperUtil } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nconst data = [\n {\n images: ['network', 'layers', 'system'],\n title: 'The system’s nuts and bolts',\n text: 'A network is what brings the blockchain to life, as this technical infrastructure allows apps to access the ledger and smart contract services.'\n },\n {\n images: ['noun', 'defiAlt', 'dao'],\n title: 'Designed for different uses',\n text: 'Each network is designed differently, and may therefore suit certain apps and experiences.'\n }\n];\nlet W3mWhatIsANetworkView = class W3mWhatIsANetworkView extends LitElement {\n render() {\n return html `\n \n \n {\n CoreHelperUtil.openHref('https://ethereum.org/en/developers/docs/networks/', '_blank');\n }}\n >\n Learn more\n \n \n \n `;\n }\n};\nW3mWhatIsANetworkView = __decorate([\n customElement('w3m-what-is-a-network-view')\n], W3mWhatIsANetworkView);\nexport { W3mWhatIsANetworkView };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { EventsController, RouterController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nconst data = [\n {\n images: ['login', 'profile', 'lock'],\n title: 'One login for all of web3',\n text: 'Log in to any app by connecting your wallet. Say goodbye to countless passwords!'\n },\n {\n images: ['defi', 'nft', 'eth'],\n title: 'A home for your digital assets',\n text: 'A wallet lets you store, send and receive digital assets like cryptocurrencies and NFTs.'\n },\n {\n images: ['browser', 'noun', 'dao'],\n title: 'Your gateway to a new web',\n text: 'With your wallet, you can explore and interact with DeFi, NFTs, DAOs, and much more.'\n }\n];\nlet W3mWhatIsAWalletView = class W3mWhatIsAWalletView extends LitElement {\n render() {\n return html `\n \n \n \n \n Get a wallet\n \n \n `;\n }\n onGetWallet() {\n EventsController.sendEvent({ type: 'track', event: 'CLICK_GET_WALLET' });\n RouterController.push('GetWallet');\n }\n};\nW3mWhatIsAWalletView = __decorate([\n customElement('w3m-what-is-a-wallet-view')\n], W3mWhatIsAWalletView);\nexport { W3mWhatIsAWalletView };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { RouterController } from '@web3modal/core';\nimport { LitElement, html } from 'lit';\nlet W3mWhatIsABuyView = class W3mWhatIsABuyView extends LitElement {\n render() {\n return html `\n \n \n \n \n Quickly and easily buy digital assets!\n \n \n Simply select your preferred onramp provider and add digital assets to your account\n using your credit card or bank transfer\n \n \n \n \n Buy\n \n \n `;\n }\n};\nW3mWhatIsABuyView = __decorate([\n customElement('w3m-what-is-a-buy-view')\n], W3mWhatIsABuyView);\nexport { W3mWhatIsABuyView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-loading-spinner {\n margin: 9px auto;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { RouterController, SnackController, ConnectorController, CoreHelperUtil } from '@web3modal/core';\nimport { state } from 'lit/decorators.js';\nimport styles from './styles.js';\nimport { W3mFrameHelpers } from '@web3modal/wallet';\nconst OTP_LENGTH = 6;\nlet W3mEmailOtpWidget = class W3mEmailOtpWidget extends LitElement {\n firstUpdated() {\n this.startOTPTimeout();\n }\n disconnectedCallback() {\n clearTimeout(this.OTPTimeout);\n }\n constructor() {\n super();\n this.loading = false;\n this.timeoutTimeLeft = W3mFrameHelpers.getTimeToNextEmailLogin();\n this.error = '';\n this.otp = '';\n this.email = RouterController.state.data?.email;\n this.emailConnector = ConnectorController.getEmailConnector();\n }\n render() {\n if (!this.email) {\n throw new Error('w3m-email-otp-widget: No email provided');\n }\n const isResendDisabled = Boolean(this.timeoutTimeLeft);\n const footerLabels = this.getFooterLabels(isResendDisabled);\n return html `\n \n \n Enter the code we sent to\n ${this.email}\n \n\n The code expires in 20 minutes\n\n ${this.loading\n ? html ``\n : html ` \n \n ${this.error\n ? html `\n \n ${this.error}. Try Again\n \n `\n : null}\n `}\n\n \n ${footerLabels.title}\n \n ${footerLabels.action}\n \n \n \n `;\n }\n startOTPTimeout() {\n this.timeoutTimeLeft = W3mFrameHelpers.getTimeToNextEmailLogin();\n this.OTPTimeout = setInterval(() => {\n if (this.timeoutTimeLeft > 0) {\n this.timeoutTimeLeft = W3mFrameHelpers.getTimeToNextEmailLogin();\n }\n else {\n clearInterval(this.OTPTimeout);\n }\n }, 1000);\n }\n async onOtpInputChange(event) {\n try {\n if (!this.loading) {\n this.otp = event.detail;\n if (this.emailConnector && this.otp.length === OTP_LENGTH) {\n this.loading = true;\n await this.onOtpSubmit?.(this.otp);\n }\n }\n }\n catch (error) {\n this.error = CoreHelperUtil.parseError(error);\n this.loading = false;\n }\n }\n async onResendCode() {\n try {\n if (this.onOtpResend) {\n if (!this.loading && !this.timeoutTimeLeft) {\n this.error = '';\n this.otp = '';\n const emailConnector = ConnectorController.getEmailConnector();\n if (!emailConnector || !this.email) {\n throw new Error('w3m-email-otp-widget: Unable to resend email');\n }\n this.loading = true;\n await this.onOtpResend(this.email);\n this.startOTPTimeout();\n SnackController.showSuccess('Code email resent');\n }\n }\n else if (this.onStartOver) {\n this.onStartOver();\n }\n }\n catch (error) {\n SnackController.showError(error);\n }\n finally {\n this.loading = false;\n }\n }\n getFooterLabels(isResendDisabled) {\n if (this.onStartOver) {\n return {\n title: 'Something wrong?',\n action: `Try again ${isResendDisabled ? `in ${this.timeoutTimeLeft}s` : ''}`\n };\n }\n return {\n title: `Didn't receive it?`,\n action: `Resend ${isResendDisabled ? `in ${this.timeoutTimeLeft}s` : 'Code'}`\n };\n }\n};\nW3mEmailOtpWidget.styles = styles;\n__decorate([\n state()\n], W3mEmailOtpWidget.prototype, \"loading\", void 0);\n__decorate([\n state()\n], W3mEmailOtpWidget.prototype, \"timeoutTimeLeft\", void 0);\n__decorate([\n state()\n], W3mEmailOtpWidget.prototype, \"error\", void 0);\nW3mEmailOtpWidget = __decorate([\n customElement('w3m-email-otp-widget')\n], W3mEmailOtpWidget);\nexport { W3mEmailOtpWidget };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { W3mEmailOtpWidget } from '../../utils/w3m-email-otp-widget/index.js';\nimport { EventsController, ConnectionController, ModalController, NetworkController, RouterController, AccountController } from '@web3modal/core';\nimport { state } from 'lit/decorators.js';\nlet W3mEmailVerifyOtpView = class W3mEmailVerifyOtpView extends W3mEmailOtpWidget {\n constructor() {\n super();\n this.unsubscribe = [];\n this.smartAccountDeployed = AccountController.state.smartAccountDeployed;\n this.onOtpSubmit = async (otp) => {\n try {\n if (this.emailConnector) {\n const smartAccountEnabled = NetworkController.checkIfSmartAccountEnabled();\n await this.emailConnector.provider.connectOtp({ otp });\n EventsController.sendEvent({ type: 'track', event: 'EMAIL_VERIFICATION_CODE_PASS' });\n await ConnectionController.connectExternal(this.emailConnector);\n EventsController.sendEvent({\n type: 'track',\n event: 'CONNECT_SUCCESS',\n properties: { method: 'email', name: this.emailConnector.name || 'Unknown' }\n });\n if (smartAccountEnabled && !this.smartAccountDeployed) {\n RouterController.push('UpgradeToSmartAccount');\n }\n else {\n ModalController.close();\n }\n }\n }\n catch (error) {\n EventsController.sendEvent({ type: 'track', event: 'EMAIL_VERIFICATION_CODE_FAIL' });\n throw error;\n }\n };\n this.onOtpResend = async (email) => {\n if (this.emailConnector) {\n await this.emailConnector.provider.connectEmail({ email });\n EventsController.sendEvent({ type: 'track', event: 'EMAIL_VERIFICATION_CODE_SENT' });\n }\n };\n this.unsubscribe.push(AccountController.subscribeKey('smartAccountDeployed', val => {\n this.smartAccountDeployed = val;\n }));\n }\n};\n__decorate([\n state()\n], W3mEmailVerifyOtpView.prototype, \"smartAccountDeployed\", void 0);\nW3mEmailVerifyOtpView = __decorate([\n customElement('w3m-email-verify-otp-view')\n], W3mEmailVerifyOtpView);\nexport { W3mEmailVerifyOtpView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-icon-box {\n height: var(--wui-icon-box-size-xl);\n width: var(--wui-icon-box-size-xl);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nimport { RouterController, ConnectorController, SnackController, EventsController } from '@web3modal/core';\nimport { state } from 'lit/decorators.js';\nlet W3mEmailVerifyDeviceView = class W3mEmailVerifyDeviceView extends LitElement {\n constructor() {\n super();\n this.email = RouterController.state.data?.email;\n this.emailConnector = ConnectorController.getEmailConnector();\n this.loading = false;\n this.listenForDeviceApproval();\n }\n render() {\n if (!this.email) {\n throw new Error('w3m-email-verify-device-view: No email provided');\n }\n if (!this.emailConnector) {\n throw new Error('w3m-email-verify-device-view: No email connector provided');\n }\n return html `\n \n \n\n \n \n \n Approve the login link we sent to\n \n ${this.email}\n \n\n \n The code expires in 20 minutes\n \n\n \n \n Didn't receive it?\n \n \n Resend email\n \n \n \n \n `;\n }\n async listenForDeviceApproval() {\n if (this.emailConnector) {\n try {\n await this.emailConnector.provider.connectDevice();\n EventsController.sendEvent({ type: 'track', event: 'DEVICE_REGISTERED_FOR_EMAIL' });\n EventsController.sendEvent({ type: 'track', event: 'EMAIL_VERIFICATION_CODE_SENT' });\n RouterController.replace('EmailVerifyOtp', { email: this.email });\n }\n catch (error) {\n RouterController.goBack();\n }\n }\n }\n async onResendCode() {\n try {\n if (!this.loading) {\n if (!this.emailConnector || !this.email) {\n throw new Error('w3m-email-login-widget: Unable to resend email');\n }\n this.loading = true;\n await this.emailConnector.provider.connectEmail({ email: this.email });\n this.listenForDeviceApproval();\n SnackController.showSuccess('Code email resent');\n }\n }\n catch (error) {\n SnackController.showError(error);\n }\n finally {\n this.loading = false;\n }\n }\n};\nW3mEmailVerifyDeviceView.styles = styles;\n__decorate([\n state()\n], W3mEmailVerifyDeviceView.prototype, \"loading\", void 0);\nW3mEmailVerifyDeviceView = __decorate([\n customElement('w3m-email-verify-device-view')\n], W3mEmailVerifyDeviceView);\nexport { W3mEmailVerifyDeviceView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n div {\n width: 100%;\n height: 400px;\n }\n\n [data-ready='false'] {\n transform: scale(1.05);\n }\n\n @media (max-width: 430px) {\n [data-ready='false'] {\n transform: translateY(-50px);\n }\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport styles from './styles.js';\nimport { ModalController, ConnectorController, ThemeController, RouterController } from '@web3modal/core';\nconst PAGE_HEIGHT = 400;\nconst PAGE_WIDTH = 360;\nconst HEADER_HEIGHT = 64;\nlet W3mApproveTransactionView = class W3mApproveTransactionView extends LitElement {\n constructor() {\n super();\n this.bodyObserver = undefined;\n this.unsubscribe = [];\n this.iframe = document.getElementById('w3m-iframe');\n this.ready = false;\n this.unsubscribe.push(...[\n ModalController.subscribeKey('open', isOpen => {\n if (!isOpen) {\n this.onHideIframe();\n RouterController.popTransactionStack();\n }\n })\n ]);\n }\n disconnectedCallback() {\n this.onHideIframe();\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n this.bodyObserver?.unobserve(window.document.body);\n }\n async firstUpdated() {\n await this.syncTheme();\n this.iframe.style.display = 'block';\n this.bodyObserver = new ResizeObserver(() => {\n this.iframe.style.width = `${PAGE_WIDTH}px`;\n this.iframe.style.height = `${PAGE_HEIGHT}px`;\n this.iframe.style.left = `calc(50% - ${PAGE_WIDTH / 2}px)`;\n this.iframe.style.top = `calc(50% - ${PAGE_HEIGHT / 2}px + ${HEADER_HEIGHT / 2}px)`;\n this.ready = true;\n });\n this.bodyObserver.observe(window.document.body);\n }\n render() {\n if (this.ready) {\n this.onShowIframe();\n }\n return html `
`;\n }\n onShowIframe() {\n const isMobile = window.innerWidth <= 430;\n this.iframe.animate([\n { opacity: 0, transform: isMobile ? 'translateY(50px)' : 'scale(.95)' },\n { opacity: 1, transform: isMobile ? 'translateY(0)' : 'scale(1)' }\n ], { duration: 200, easing: 'ease', fill: 'forwards' });\n }\n async onHideIframe() {\n this.iframe.style.display = 'none';\n await this.iframe.animate([{ opacity: 1 }, { opacity: 0 }], {\n duration: 200,\n easing: 'ease',\n fill: 'forwards'\n }).finished;\n }\n async syncTheme() {\n const emailConnector = ConnectorController.getEmailConnector();\n if (emailConnector) {\n await emailConnector.provider.syncTheme({\n themeVariables: ThemeController.getSnapshot().themeVariables\n });\n }\n }\n};\nW3mApproveTransactionView.styles = styles;\n__decorate([\n state()\n], W3mApproveTransactionView.prototype, \"ready\", void 0);\nW3mApproveTransactionView = __decorate([\n customElement('w3m-approve-transaction-view')\n], W3mApproveTransactionView);\nexport { W3mApproveTransactionView };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { ConstantsUtil } from '@web3modal/core';\nimport { LitElement, html } from 'lit';\nlet W3mUpgradeWalletView = class W3mUpgradeWalletView extends LitElement {\n render() {\n return html `\n \n Follow the instructions on\n \n \n \n You will have to reconnect for security reasons\n \n \n `;\n }\n};\nW3mUpgradeWalletView = __decorate([\n customElement('w3m-upgrade-wallet-view')\n], W3mUpgradeWalletView);\nexport { W3mUpgradeWalletView };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { ConnectorController, RouterController, SnackController } from '@web3modal/core';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { W3mFrameRpcConstants } from '@web3modal/wallet';\nlet W3mUpgradeToSmartAccountView = class W3mUpgradeToSmartAccountView extends LitElement {\n constructor() {\n super(...arguments);\n this.emailConnector = ConnectorController.getEmailConnector();\n this.loading = false;\n this.setPreferSmartAccount = async () => {\n if (this.emailConnector) {\n try {\n this.loading = true;\n await this.emailConnector.provider.setPreferredAccount(W3mFrameRpcConstants.ACCOUNT_TYPES.SMART_ACCOUNT);\n await this.emailConnector.provider.connect();\n this.loading = false;\n RouterController.push('Account');\n }\n catch (e) {\n SnackController.showError('Error upgrading to smart account');\n }\n }\n };\n }\n render() {\n return html `\n \n ${this.onboardingTemplate()} ${this.buttonsTemplate()}\n \n Learn more\n \n \n \n `;\n }\n onboardingTemplate() {\n return html ` \n \n \n \n \n \n \n \n Discover Smart Accounts\n \n \n Access advanced features such as username, social login, improved security and a smoother\n user experience!\n \n \n `;\n }\n buttonsTemplate() {\n return html `\n \n Do it later\n \n Continue\n \n `;\n }\n redirectToAccount() {\n RouterController.push('Account');\n }\n};\n__decorate([\n state()\n], W3mUpgradeToSmartAccountView.prototype, \"emailConnector\", void 0);\n__decorate([\n state()\n], W3mUpgradeToSmartAccountView.prototype, \"loading\", void 0);\nW3mUpgradeToSmartAccountView = __decorate([\n customElement('w3m-upgrade-to-smart-account-view')\n], W3mUpgradeToSmartAccountView);\nexport { W3mUpgradeToSmartAccountView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-email-input {\n width: 100%;\n }\n\n form {\n width: 100%;\n display: block;\n position: relative;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ConnectorController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { ref, createRef } from 'lit/directives/ref.js';\nimport styles from './styles.js';\nimport { SnackController, RouterController, EventsController } from '@web3modal/core';\nlet W3mUpdateEmailWalletView = class W3mUpdateEmailWalletView extends LitElement {\n constructor() {\n super(...arguments);\n this.formRef = createRef();\n this.initialEmail = RouterController.state.data?.email ?? '';\n this.email = '';\n this.loading = false;\n }\n firstUpdated() {\n this.formRef.value?.addEventListener('keydown', event => {\n if (event.key === 'Enter') {\n this.onSubmitEmail(event);\n }\n });\n }\n render() {\n const showSubmit = !this.loading && this.email.length > 3 && this.email !== this.initialEmail;\n return html `\n \n
\n \n \n \n \n\n \n \n Cancel\n \n\n \n Save\n \n \n
\n `;\n }\n onEmailInputChange(event) {\n this.email = event.detail;\n }\n async onSubmitEmail(event) {\n try {\n if (this.loading) {\n return;\n }\n this.loading = true;\n event.preventDefault();\n const emailConnector = ConnectorController.getEmailConnector();\n if (!emailConnector) {\n throw new Error('w3m-update-email-wallet: Email connector not found');\n }\n const response = await emailConnector.provider.updateEmail({ email: this.email });\n EventsController.sendEvent({ type: 'track', event: 'EMAIL_EDIT' });\n if (response.action === 'VERIFY_SECONDARY_OTP') {\n RouterController.push('UpdateEmailSecondaryOtp', {\n email: this.initialEmail,\n newEmail: this.email\n });\n }\n else {\n RouterController.push('UpdateEmailPrimaryOtp', {\n email: this.initialEmail,\n newEmail: this.email\n });\n }\n }\n catch (error) {\n SnackController.showError(error);\n this.loading = false;\n }\n }\n};\nW3mUpdateEmailWalletView.styles = styles;\n__decorate([\n state()\n], W3mUpdateEmailWalletView.prototype, \"email\", void 0);\n__decorate([\n state()\n], W3mUpdateEmailWalletView.prototype, \"loading\", void 0);\nW3mUpdateEmailWalletView = __decorate([\n customElement('w3m-update-email-wallet-view')\n], W3mUpdateEmailWalletView);\nexport { W3mUpdateEmailWalletView };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { W3mEmailOtpWidget } from '../../utils/w3m-email-otp-widget/index.js';\nimport { EventsController, RouterController } from '@web3modal/core';\nlet W3mUpdateEmailPrimaryOtpView = class W3mUpdateEmailPrimaryOtpView extends W3mEmailOtpWidget {\n constructor() {\n super();\n this.email = RouterController.state.data?.email;\n this.onOtpSubmit = async (otp) => {\n try {\n if (this.emailConnector) {\n await this.emailConnector.provider.updateEmailPrimaryOtp({ otp });\n EventsController.sendEvent({ type: 'track', event: 'EMAIL_VERIFICATION_CODE_PASS' });\n RouterController.replace('UpdateEmailSecondaryOtp', RouterController.state.data);\n }\n }\n catch (error) {\n EventsController.sendEvent({ type: 'track', event: 'EMAIL_VERIFICATION_CODE_FAIL' });\n throw error;\n }\n };\n this.onStartOver = () => {\n RouterController.replace('UpdateEmailWallet', RouterController.state.data);\n };\n }\n};\nW3mUpdateEmailPrimaryOtpView = __decorate([\n customElement('w3m-update-email-primary-otp-view')\n], W3mUpdateEmailPrimaryOtpView);\nexport { W3mUpdateEmailPrimaryOtpView };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { W3mEmailOtpWidget } from '../../utils/w3m-email-otp-widget/index.js';\nimport { EventsController, RouterController } from '@web3modal/core';\nlet W3mUpdateEmailSecondaryOtpView = class W3mUpdateEmailSecondaryOtpView extends W3mEmailOtpWidget {\n constructor() {\n super();\n this.email = RouterController.state.data?.newEmail;\n this.onOtpSubmit = async (otp) => {\n try {\n if (this.emailConnector) {\n await this.emailConnector.provider.updateEmailSecondaryOtp({ otp });\n EventsController.sendEvent({ type: 'track', event: 'EMAIL_VERIFICATION_CODE_PASS' });\n RouterController.reset('Account');\n }\n }\n catch (error) {\n EventsController.sendEvent({ type: 'track', event: 'EMAIL_VERIFICATION_CODE_FAIL' });\n throw error;\n }\n };\n this.onStartOver = () => {\n RouterController.replace('UpdateEmailWallet', RouterController.state.data);\n };\n }\n};\nW3mUpdateEmailSecondaryOtpView = __decorate([\n customElement('w3m-update-email-secondary-otp-view')\n], W3mUpdateEmailSecondaryOtpView);\nexport { W3mUpdateEmailSecondaryOtpView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-flex {\n max-height: clamp(360px, 540px, 80vh);\n overflow: scroll;\n scrollbar-width: none;\n }\n\n :host > wui-flex::-webkit-scrollbar {\n display: none;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController, AssetUtil, ConnectionController, CoreHelperUtil, EventsController, ModalController, NetworkController, RouterController, RouterUtil, SnackController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nlet W3mUnsupportedChainView = class W3mUnsupportedChainView extends LitElement {\n constructor() {\n super(...arguments);\n this.disconecting = false;\n }\n render() {\n return html `\n \n \n \n This app doesn’t support your current network. Switch to an available option following\n to continue.\n \n \n\n \n ${this.networksTemplate()}\n \n\n \n \n \n Disconnect\n \n \n \n `;\n }\n networksTemplate() {\n const { approvedCaipNetworkIds, requestedCaipNetworks } = NetworkController.state;\n const sortedNetworks = CoreHelperUtil.sortRequestedNetworks(approvedCaipNetworkIds, requestedCaipNetworks);\n return sortedNetworks.map(network => html `\n this.onSwitchNetwork(network)}\n >\n \n `);\n }\n async onDisconnect() {\n try {\n this.disconecting = true;\n await ConnectionController.disconnect();\n EventsController.sendEvent({\n type: 'track',\n event: 'DISCONNECT_SUCCESS'\n });\n ModalController.close();\n }\n catch {\n EventsController.sendEvent({ type: 'track', event: 'DISCONNECT_ERROR' });\n SnackController.showError('Failed to disconnect');\n }\n finally {\n this.disconecting = false;\n }\n }\n async onSwitchNetwork(network) {\n const { isConnected } = AccountController.state;\n const { approvedCaipNetworkIds, supportsAllNetworks, caipNetwork } = NetworkController.state;\n const { data } = RouterController.state;\n if (isConnected && caipNetwork?.id !== network.id) {\n if (approvedCaipNetworkIds?.includes(network.id)) {\n await NetworkController.switchActiveNetwork(network);\n RouterUtil.navigateAfterNetworkSwitch();\n }\n else if (supportsAllNetworks) {\n RouterController.push('SwitchNetwork', { ...data, network });\n }\n }\n else if (!isConnected) {\n NetworkController.setCaipNetwork(network);\n RouterController.push('Connect');\n }\n }\n};\nW3mUnsupportedChainView.styles = styles;\n__decorate([\n state()\n], W3mUnsupportedChainView.prototype, \"disconecting\", void 0);\nW3mUnsupportedChainView = __decorate([\n customElement('w3m-unsupported-chain-view')\n], W3mUnsupportedChainView);\nexport { W3mUnsupportedChainView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-compatible-network {\n margin-top: var(--wui-spacing-l);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController, AssetUtil, CoreHelperUtil, NetworkController, RouterController, SnackController, ThemeController } from '@web3modal/core';\nimport { UiHelperUtil, customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nimport { state } from 'lit/decorators.js';\nimport { W3mFrameRpcConstants } from '@web3modal/wallet';\nlet W3mWalletReceiveView = class W3mWalletReceiveView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.address = AccountController.state.address;\n this.profileName = AccountController.state.profileName;\n this.network = NetworkController.state.caipNetwork;\n this.preferredAccountType = AccountController.state.preferredAccountType;\n this.unsubscribe.push(...[\n AccountController.subscribe(val => {\n if (val.address) {\n this.address = val.address;\n this.profileName = val.profileName;\n this.preferredAccountType = val.preferredAccountType;\n }\n else {\n SnackController.showError('Account not found');\n }\n })\n ], NetworkController.subscribeKey('caipNetwork', val => {\n if (val?.id) {\n this.network = val;\n }\n }));\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n if (!this.address) {\n throw new Error('w3m-wallet-receive-view: No account provided');\n }\n const networkImage = AssetUtil.getNetworkImage(this.network);\n return html ` \n \n \n \n \n Copy your address or scan this QR code\n \n \n ${this.networkTemplate()}\n `;\n }\n networkTemplate() {\n const networks = NetworkController.getRequestedCaipNetworks();\n const isNetworkEnabledForSmartAccounts = NetworkController.checkIfSmartAccountEnabled();\n const caipNetwork = NetworkController.state.caipNetwork;\n if (this.preferredAccountType === W3mFrameRpcConstants.ACCOUNT_TYPES.SMART_ACCOUNT &&\n isNetworkEnabledForSmartAccounts) {\n if (!caipNetwork) {\n return null;\n }\n return html ``;\n }\n const slicedNetworks = networks?.filter(network => network?.imageId)?.slice(0, 5);\n const imagesArray = slicedNetworks.map(AssetUtil.getNetworkImage).filter(Boolean);\n return html ``;\n }\n onReceiveClick() {\n RouterController.push('WalletCompatibleNetworks');\n }\n onCopyClick() {\n try {\n if (this.address) {\n CoreHelperUtil.copyToClopboard(this.address);\n SnackController.showSuccess('Address copied');\n }\n }\n catch {\n SnackController.showError('Failed to copy');\n }\n }\n};\nW3mWalletReceiveView.styles = styles;\n__decorate([\n state()\n], W3mWalletReceiveView.prototype, \"address\", void 0);\n__decorate([\n state()\n], W3mWalletReceiveView.prototype, \"profileName\", void 0);\n__decorate([\n state()\n], W3mWalletReceiveView.prototype, \"network\", void 0);\n__decorate([\n state()\n], W3mWalletReceiveView.prototype, \"preferredAccountType\", void 0);\nW3mWalletReceiveView = __decorate([\n customElement('w3m-wallet-receive-view')\n], W3mWalletReceiveView);\nexport { W3mWalletReceiveView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-flex {\n max-height: clamp(360px, 540px, 80vh);\n overflow: scroll;\n scrollbar-width: none;\n }\n\n :host > wui-flex::-webkit-scrollbar {\n display: none;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController, AssetUtil, CoreHelperUtil, NetworkController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nimport { W3mFrameRpcConstants } from '@web3modal/wallet';\nimport { state } from 'lit/decorators.js';\nlet W3mWalletCompatibleNetworksView = class W3mWalletCompatibleNetworksView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.preferredAccountType = AccountController.state.preferredAccountType;\n this.unsubscribe.push(AccountController.subscribeKey('preferredAccountType', val => {\n this.preferredAccountType = val;\n }));\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return html ` \n \n ${this.networkTemplate()}\n `;\n }\n networkTemplate() {\n const { approvedCaipNetworkIds, requestedCaipNetworks, caipNetwork } = NetworkController.state;\n const isNetworkEnabledForSmartAccounts = NetworkController.checkIfSmartAccountEnabled();\n let sortedNetworks = CoreHelperUtil.sortRequestedNetworks(approvedCaipNetworkIds, requestedCaipNetworks);\n if (isNetworkEnabledForSmartAccounts &&\n this.preferredAccountType === W3mFrameRpcConstants.ACCOUNT_TYPES.SMART_ACCOUNT) {\n if (!caipNetwork) {\n return null;\n }\n sortedNetworks = [caipNetwork];\n }\n return sortedNetworks.map(network => html `\n \n \n `);\n }\n};\nW3mWalletCompatibleNetworksView.styles = styles;\n__decorate([\n state()\n], W3mWalletCompatibleNetworksView.prototype, \"preferredAccountType\", void 0);\nW3mWalletCompatibleNetworksView = __decorate([\n customElement('w3m-wallet-compatible-networks-view')\n], W3mWalletCompatibleNetworksView);\nexport { W3mWalletCompatibleNetworksView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n }\n\n wui-flex {\n position: relative;\n }\n\n wui-icon-box {\n width: 40px;\n height: 40px;\n border-radius: var(--wui-border-radius-xs) !important;\n border: 5px solid var(--wui-color-bg-125);\n background: var(--wui-color-bg-175);\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 1;\n }\n\n wui-button {\n --local-border-radius: var(--wui-border-radius-xs) !important;\n }\n\n .inputContainer {\n height: fit-content;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nimport { CoreHelperUtil, RouterController, SendController } from '@web3modal/core';\nimport { state } from 'lit/decorators.js';\nlet W3mWalletSendView = class W3mWalletSendView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.token = SendController.state.token;\n this.sendTokenAmount = SendController.state.sendTokenAmount;\n this.receiverAddress = SendController.state.receiverAddress;\n this.message = 'Preview Send';\n this.unsubscribe.push(...[\n SendController.subscribe(val => {\n this.token = val.token;\n this.sendTokenAmount = val.sendTokenAmount;\n this.receiverAddress = val.receiverAddress;\n })\n ]);\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n this.getMessage();\n return html ` \n \n \n \n \n \n \n \n ${this.message}\n \n \n `;\n }\n onButtonClick() {\n RouterController.push('WalletSendPreview');\n }\n getMessage() {\n this.message = 'Preview Send';\n if (this.receiverAddress && !CoreHelperUtil.isAddress(this.receiverAddress)) {\n this.message = 'Invalid Address';\n }\n if (!this.receiverAddress) {\n this.message = 'Add Address';\n }\n if (this.sendTokenAmount &&\n this.token &&\n this.sendTokenAmount > Number(this.token.quantity.numeric)) {\n this.message = 'Insufficient Funds';\n }\n if (!this.sendTokenAmount) {\n this.message = 'Add Amount';\n }\n if (!this.token) {\n this.message = 'Select Token';\n }\n }\n};\nW3mWalletSendView.styles = styles;\n__decorate([\n state()\n], W3mWalletSendView.prototype, \"token\", void 0);\n__decorate([\n state()\n], W3mWalletSendView.prototype, \"sendTokenAmount\", void 0);\n__decorate([\n state()\n], W3mWalletSendView.prototype, \"receiverAddress\", void 0);\n__decorate([\n state()\n], W3mWalletSendView.prototype, \"message\", void 0);\nW3mWalletSendView = __decorate([\n customElement('w3m-wallet-send-view')\n], W3mWalletSendView);\nexport { W3mWalletSendView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n .contentContainer {\n height: 440px;\n overflow: scroll;\n scrollbar-width: none;\n }\n\n wui-icon-box {\n width: 40px;\n height: 40px;\n border-radius: var(--wui-border-radius-xxs);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nimport { AccountController, CoreHelperUtil, RouterController, SendController } from '@web3modal/core';\nimport { state } from 'lit/decorators.js';\nlet W3mSendSelectTokenView = class W3mSendSelectTokenView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.tokenBalance = AccountController.state.tokenBalance;\n this.search = '';\n this.onDebouncedSearch = CoreHelperUtil.debounce((value) => {\n this.search = value;\n });\n this.unsubscribe.push(...[\n AccountController.subscribe(val => {\n this.tokenBalance = val.tokenBalance;\n })\n ]);\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return html `\n \n ${this.templateSearchInput()} ${this.templateTokens()}\n \n `;\n }\n templateSearchInput() {\n return html `\n \n \n \n `;\n }\n templateTokens() {\n if (this.search) {\n this.tokens = this.tokenBalance?.filter(token => token.name.toLowerCase().includes(this.search.toLowerCase()));\n }\n else {\n this.tokens = this.tokenBalance;\n }\n return html `\n \n \n Your tokens\n \n \n ${this.tokens && this.tokens.length > 0\n ? this.tokens.map(token => html ``)\n : html `\n \n \n No tokens found\n Your tokens will appear here\n \n Buy\n `}\n \n \n `;\n }\n onBuyClick() {\n RouterController.push('OnRampProviders');\n }\n onInputChange(event) {\n this.onDebouncedSearch(event.detail);\n }\n handleTokenClick(token) {\n SendController.setToken(token);\n SendController.setTokenAmount(undefined);\n RouterController.goBack();\n }\n};\nW3mSendSelectTokenView.styles = styles;\n__decorate([\n state()\n], W3mSendSelectTokenView.prototype, \"tokenBalance\", void 0);\n__decorate([\n state()\n], W3mSendSelectTokenView.prototype, \"tokens\", void 0);\n__decorate([\n state()\n], W3mSendSelectTokenView.prototype, \"search\", void 0);\nW3mSendSelectTokenView = __decorate([\n customElement('w3m-wallet-send-select-token-view')\n], W3mSendSelectTokenView);\nexport { W3mSendSelectTokenView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-avatar,\n wui-image {\n display: ruby;\n width: 32px;\n height: 32px;\n border-radius: var(--wui-border-radius-3xl);\n }\n\n .sendButton {\n width: 70%;\n --local-width: 100% !important;\n --local-border-radius: var(--wui-border-radius-xs) !important;\n }\n\n .cancelButton {\n width: 30%;\n --local-width: 100% !important;\n --local-border-radius: var(--wui-border-radius-xs) !important;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { UiHelperUtil, customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nimport { state } from 'lit/decorators.js';\nimport { NetworkController, RouterController, SendController } from '@web3modal/core';\nlet W3mWalletSendPreviewView = class W3mWalletSendPreviewView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.token = SendController.state.token;\n this.sendTokenAmount = SendController.state.sendTokenAmount;\n this.receiverAddress = SendController.state.receiverAddress;\n this.caipNetwork = NetworkController.state.caipNetwork;\n this.unsubscribe.push(...[\n SendController.subscribe(val => {\n this.token = val.token;\n this.sendTokenAmount = val.sendTokenAmount;\n this.receiverAddress = val.receiverAddress;\n }),\n NetworkController.subscribeKey('caipNetwork', val => (this.caipNetwork = val))\n ]);\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return html ` \n \n \n \n Send\n ${this.sendValueTemplate()}\n \n \n \n \n \n \n \n To\n \n \n \n \n \n \n \n Review transaction carefully\n \n \n \n Cancel\n \n \n Send\n \n \n `;\n }\n sendValueTemplate() {\n if (this.token && this.sendTokenAmount) {\n const price = this.token.price;\n const totalValue = price * this.sendTokenAmount;\n return html `$${totalValue.toFixed(2)}`;\n }\n return null;\n }\n onSendClick() {\n RouterController.reset('Account');\n setTimeout(() => {\n SendController.resetSend();\n }, 200);\n }\n onCancelClick() {\n RouterController.goBack();\n }\n};\nW3mWalletSendPreviewView.styles = styles;\n__decorate([\n state()\n], W3mWalletSendPreviewView.prototype, \"token\", void 0);\n__decorate([\n state()\n], W3mWalletSendPreviewView.prototype, \"sendTokenAmount\", void 0);\n__decorate([\n state()\n], W3mWalletSendPreviewView.prototype, \"receiverAddress\", void 0);\n__decorate([\n state()\n], W3mWalletSendPreviewView.prototype, \"caipNetwork\", void 0);\nW3mWalletSendPreviewView = __decorate([\n customElement('w3m-wallet-send-preview-view')\n], W3mWalletSendPreviewView);\nexport { W3mWalletSendPreviewView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-grid {\n max-height: clamp(360px, 400px, 80vh);\n overflow: scroll;\n scrollbar-width: none;\n grid-auto-rows: min-content;\n grid-template-columns: repeat(auto-fill, 76px);\n }\n\n @media (max-width: 435px) {\n wui-grid {\n grid-template-columns: repeat(auto-fill, 77px);\n }\n }\n\n wui-grid[data-scroll='false'] {\n overflow: hidden;\n }\n\n wui-grid::-webkit-scrollbar {\n display: none;\n }\n\n wui-loading-spinner {\n padding-top: var(--wui-spacing-l);\n padding-bottom: var(--wui-spacing-l);\n justify-content: center;\n grid-column: 1 / span 4;\n }\n`;\n//# sourceMappingURL=styles.js.map","import { ConnectorController } from '@web3modal/core';\nexport function markWalletsAsInstalled(wallets) {\n const { connectors } = ConnectorController.state;\n const installedConnectors = connectors\n .filter(c => c.type === 'ANNOUNCED')\n .reduce((acum, val) => {\n if (!val.info?.rdns) {\n return acum;\n }\n acum[val.info.rdns] = true;\n return acum;\n }, {});\n const walletsWithInstalled = wallets.map(wallet => ({\n ...wallet,\n installed: Boolean(wallet.rdns) && Boolean(installedConnectors[wallet.rdns ?? ''])\n }));\n const sortedWallets = walletsWithInstalled.sort((a, b) => Number(b.installed) - Number(a.installed));\n return sortedWallets;\n}\n//# sourceMappingURL=markWalletsAsInstalled.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ApiController, AssetUtil, ConnectorController, RouterController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nimport { markWalletsAsInstalled } from '../../utils/markWalletsAsInstalled.js';\nconst PAGINATOR_ID = 'local-paginator';\nlet W3mAllWalletsList = class W3mAllWalletsList extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.paginationObserver = undefined;\n this.initial = !ApiController.state.wallets.length;\n this.wallets = ApiController.state.wallets;\n this.recommended = ApiController.state.recommended;\n this.featured = ApiController.state.featured;\n this.unsubscribe.push(...[\n ApiController.subscribeKey('wallets', val => (this.wallets = val)),\n ApiController.subscribeKey('recommended', val => (this.recommended = val)),\n ApiController.subscribeKey('featured', val => (this.featured = val))\n ]);\n }\n firstUpdated() {\n this.initialFetch();\n this.createPaginationObserver();\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n this.paginationObserver?.disconnect();\n }\n render() {\n return html `\n \n ${this.initial ? this.shimmerTemplate(16) : this.walletsTemplate()}\n ${this.paginationLoaderTemplate()}\n \n `;\n }\n async initialFetch() {\n const gridEl = this.shadowRoot?.querySelector('wui-grid');\n if (this.initial && gridEl) {\n await ApiController.fetchWallets({ page: 1 });\n await gridEl.animate([{ opacity: 1 }, { opacity: 0 }], {\n duration: 200,\n fill: 'forwards',\n easing: 'ease'\n }).finished;\n this.initial = false;\n gridEl.animate([{ opacity: 0 }, { opacity: 1 }], {\n duration: 200,\n fill: 'forwards',\n easing: 'ease'\n });\n }\n }\n shimmerTemplate(items, id) {\n return [...Array(items)].map(() => html `\n \n `);\n }\n walletsTemplate() {\n const wallets = [...this.featured, ...this.recommended, ...this.wallets];\n const walletsWithInstalled = markWalletsAsInstalled(wallets);\n return walletsWithInstalled.map(wallet => html `\n this.onConnectWallet(wallet)}\n .installed=${wallet.installed}\n >\n `);\n }\n paginationLoaderTemplate() {\n const { wallets, recommended, featured, count } = ApiController.state;\n const columns = window.innerWidth < 352 ? 3 : 4;\n const currentWallets = wallets.length + recommended.length;\n const minimumRows = Math.ceil(currentWallets / columns);\n let shimmerCount = minimumRows * columns - currentWallets + columns;\n shimmerCount -= wallets.length ? featured.length % columns : 0;\n if (count === 0 && featured.length > 0) {\n return null;\n }\n if (count === 0 || [...featured, ...wallets, ...recommended].length < count) {\n return this.shimmerTemplate(shimmerCount, PAGINATOR_ID);\n }\n return null;\n }\n createPaginationObserver() {\n const loaderEl = this.shadowRoot?.querySelector(`#${PAGINATOR_ID}`);\n if (loaderEl) {\n this.paginationObserver = new IntersectionObserver(([element]) => {\n if (element?.isIntersecting && !this.initial) {\n const { page, count, wallets } = ApiController.state;\n if (wallets.length < count) {\n ApiController.fetchWallets({ page: page + 1 });\n }\n }\n });\n this.paginationObserver.observe(loaderEl);\n }\n }\n onConnectWallet(wallet) {\n const connector = ConnectorController.getConnector(wallet.id, wallet.rdns);\n if (connector) {\n RouterController.push('ConnectingExternal', { connector });\n }\n else {\n RouterController.push('ConnectingWalletConnect', { wallet });\n }\n }\n};\nW3mAllWalletsList.styles = styles;\n__decorate([\n state()\n], W3mAllWalletsList.prototype, \"initial\", void 0);\n__decorate([\n state()\n], W3mAllWalletsList.prototype, \"wallets\", void 0);\n__decorate([\n state()\n], W3mAllWalletsList.prototype, \"recommended\", void 0);\n__decorate([\n state()\n], W3mAllWalletsList.prototype, \"featured\", void 0);\nW3mAllWalletsList = __decorate([\n customElement('w3m-all-wallets-list')\n], W3mAllWalletsList);\nexport { W3mAllWalletsList };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-grid,\n wui-loading-spinner,\n wui-flex {\n height: 360px;\n }\n\n wui-grid {\n overflow: scroll;\n scrollbar-width: none;\n grid-auto-rows: min-content;\n }\n\n wui-grid[data-scroll='false'] {\n overflow: hidden;\n }\n\n wui-grid::-webkit-scrollbar {\n display: none;\n }\n\n wui-loading-spinner {\n justify-content: center;\n align-items: center;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ApiController, AssetUtil, ConnectorController, RouterController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nimport { markWalletsAsInstalled } from '../../utils/markWalletsAsInstalled.js';\nlet W3mAllWalletsSearch = class W3mAllWalletsSearch extends LitElement {\n constructor() {\n super(...arguments);\n this.prevQuery = '';\n this.loading = true;\n this.query = '';\n }\n render() {\n this.onSearch();\n return this.loading\n ? html ``\n : this.walletsTemplate();\n }\n async onSearch() {\n if (this.query !== this.prevQuery) {\n this.prevQuery = this.query;\n this.loading = true;\n await ApiController.searchWallet({ search: this.query });\n this.loading = false;\n }\n }\n walletsTemplate() {\n const { search } = ApiController.state;\n const wallets = markWalletsAsInstalled(search);\n if (!search.length) {\n return html `\n \n \n No Wallet found\n \n `;\n }\n return html `\n \n ${wallets.map(wallet => html `\n this.onConnectWallet(wallet)}\n .installed=${wallet.installed}\n >\n `)}\n \n `;\n }\n onConnectWallet(wallet) {\n const connector = ConnectorController.getConnector(wallet.id, wallet.rdns);\n if (connector) {\n RouterController.push('ConnectingExternal', { connector });\n }\n else {\n RouterController.push('ConnectingWalletConnect', { wallet });\n }\n }\n};\nW3mAllWalletsSearch.styles = styles;\n__decorate([\n state()\n], W3mAllWalletsSearch.prototype, \"loading\", void 0);\n__decorate([\n property()\n], W3mAllWalletsSearch.prototype, \"query\", void 0);\nW3mAllWalletsSearch = __decorate([\n customElement('w3m-all-wallets-search')\n], W3mAllWalletsSearch);\nexport { W3mAllWalletsSearch };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ConnectionController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nlet W3mConnectingHeader = class W3mConnectingHeader extends LitElement {\n constructor() {\n super();\n this.platformTabs = [];\n this.unsubscribe = [];\n this.platforms = [];\n this.onSelectPlatfrom = undefined;\n this.buffering = false;\n this.unsubscribe.push(ConnectionController.subscribeKey('buffering', val => (this.buffering = val)));\n }\n disconnectCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n const tabs = this.generateTabs();\n return html `\n \n \n \n `;\n }\n generateTabs() {\n const tabs = this.platforms.map(platform => {\n if (platform === 'browser') {\n return { label: 'Browser', icon: 'extension', platform: 'browser' };\n }\n else if (platform === 'mobile') {\n return { label: 'Mobile', icon: 'mobile', platform: 'mobile' };\n }\n else if (platform === 'qrcode') {\n return { label: 'Mobile', icon: 'mobile', platform: 'qrcode' };\n }\n else if (platform === 'web') {\n return { label: 'Webapp', icon: 'browser', platform: 'web' };\n }\n else if (platform === 'desktop') {\n return { label: 'Desktop', icon: 'desktop', platform: 'desktop' };\n }\n return { label: 'Browser', icon: 'extension', platform: 'unsupported' };\n });\n this.platformTabs = tabs.map(({ platform }) => platform);\n return tabs;\n }\n onTabChange(index) {\n const tab = this.platformTabs[index];\n if (tab) {\n this.onSelectPlatfrom?.(tab);\n }\n }\n};\n__decorate([\n property({ type: Array })\n], W3mConnectingHeader.prototype, \"platforms\", void 0);\n__decorate([\n property()\n], W3mConnectingHeader.prototype, \"onSelectPlatfrom\", void 0);\n__decorate([\n state()\n], W3mConnectingHeader.prototype, \"buffering\", void 0);\nW3mConnectingHeader = __decorate([\n customElement('w3m-connecting-header')\n], W3mConnectingHeader);\nexport { W3mConnectingHeader };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ConnectionController, ConnectorController, EventsController, ModalController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { W3mConnectingWidget } from '../../utils/w3m-connecting-widget/index.js';\nlet W3mConnectingWcBrowser = class W3mConnectingWcBrowser extends W3mConnectingWidget {\n constructor() {\n super();\n if (!this.wallet) {\n throw new Error('w3m-connecting-wc-browser: No wallet provided');\n }\n this.onConnect = this.onConnectProxy.bind(this);\n this.onAutoConnect = this.onConnectProxy.bind(this);\n EventsController.sendEvent({\n type: 'track',\n event: 'SELECT_WALLET',\n properties: { name: this.wallet.name, platform: 'browser' }\n });\n }\n async onConnectProxy() {\n try {\n this.error = false;\n const { connectors } = ConnectorController.state;\n const announcedConnector = connectors.find(c => c.type === 'ANNOUNCED' && c.info?.rdns === this.wallet?.rdns);\n const injectedConnector = connectors.find(c => c.type === 'INJECTED');\n if (announcedConnector) {\n await ConnectionController.connectExternal(announcedConnector);\n }\n else if (injectedConnector) {\n await ConnectionController.connectExternal(injectedConnector);\n }\n ModalController.close();\n EventsController.sendEvent({\n type: 'track',\n event: 'CONNECT_SUCCESS',\n properties: { method: 'browser', name: this.wallet?.name || 'Unknown' }\n });\n }\n catch (error) {\n EventsController.sendEvent({\n type: 'track',\n event: 'CONNECT_ERROR',\n properties: { message: error?.message ?? 'Unknown' }\n });\n this.error = true;\n }\n }\n};\nW3mConnectingWcBrowser = __decorate([\n customElement('w3m-connecting-wc-browser')\n], W3mConnectingWcBrowser);\nexport { W3mConnectingWcBrowser };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ConnectionController, CoreHelperUtil, EventsController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { W3mConnectingWidget } from '../../utils/w3m-connecting-widget/index.js';\nlet W3mConnectingWcDesktop = class W3mConnectingWcDesktop extends W3mConnectingWidget {\n constructor() {\n super();\n if (!this.wallet) {\n throw new Error('w3m-connecting-wc-desktop: No wallet provided');\n }\n this.onConnect = this.onConnectProxy.bind(this);\n this.onRender = this.onRenderProxy.bind(this);\n EventsController.sendEvent({\n type: 'track',\n event: 'SELECT_WALLET',\n properties: { name: this.wallet.name, platform: 'desktop' }\n });\n }\n onRenderProxy() {\n if (!this.ready && this.uri) {\n this.ready = true;\n this.timeout = setTimeout(() => {\n this.onConnect?.();\n }, 200);\n }\n }\n onConnectProxy() {\n if (this.wallet?.desktop_link && this.uri) {\n try {\n this.error = false;\n const { desktop_link, name } = this.wallet;\n const { redirect, href } = CoreHelperUtil.formatNativeUrl(desktop_link, this.uri);\n ConnectionController.setWcLinking({ name, href });\n ConnectionController.setRecentWallet(this.wallet);\n CoreHelperUtil.openHref(redirect, '_blank');\n }\n catch {\n this.error = true;\n }\n }\n }\n};\nW3mConnectingWcDesktop = __decorate([\n customElement('w3m-connecting-wc-desktop')\n], W3mConnectingWcDesktop);\nexport { W3mConnectingWcDesktop };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ConnectionController, CoreHelperUtil, EventsController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { W3mConnectingWidget } from '../../utils/w3m-connecting-widget/index.js';\nlet W3mConnectingWcMobile = class W3mConnectingWcMobile extends W3mConnectingWidget {\n constructor() {\n super();\n if (!this.wallet) {\n throw new Error('w3m-connecting-wc-mobile: No wallet provided');\n }\n this.onConnect = this.onConnectProxy.bind(this);\n this.onRender = this.onRenderProxy.bind(this);\n document.addEventListener('visibilitychange', this.onBuffering.bind(this));\n EventsController.sendEvent({\n type: 'track',\n event: 'SELECT_WALLET',\n properties: { name: this.wallet.name, platform: 'mobile' }\n });\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n document.removeEventListener('visibilitychange', this.onBuffering.bind(this));\n }\n onRenderProxy() {\n if (!this.ready && this.uri) {\n this.ready = true;\n this.onConnect?.();\n }\n }\n onConnectProxy() {\n if (this.wallet?.mobile_link && this.uri) {\n try {\n this.error = false;\n const { mobile_link, name } = this.wallet;\n const { redirect, href } = CoreHelperUtil.formatNativeUrl(mobile_link, this.uri);\n ConnectionController.setWcLinking({ name, href });\n ConnectionController.setRecentWallet(this.wallet);\n CoreHelperUtil.openHref(redirect, '_self');\n }\n catch {\n this.error = true;\n }\n }\n }\n onBuffering() {\n const isIos = CoreHelperUtil.isIos();\n if (document?.visibilityState === 'visible' && !this.error && isIos) {\n ConnectionController.setBuffering(true);\n setTimeout(() => {\n ConnectionController.setBuffering(false);\n }, 5000);\n }\n }\n};\nW3mConnectingWcMobile = __decorate([\n customElement('w3m-connecting-wc-mobile')\n], W3mConnectingWcMobile);\nexport { W3mConnectingWcMobile };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n @keyframes fadein {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n\n wui-shimmer {\n width: 100%;\n aspect-ratio: 1 / 1;\n border-radius: clamp(0px, var(--wui-border-radius-l), 40px) !important;\n }\n\n wui-qr-code {\n opacity: 0;\n animation-duration: 200ms;\n animation-timing-function: ease;\n animation-name: fadein;\n animation-fill-mode: forwards;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AssetUtil, ConnectionController, EventsController, ThemeController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { W3mConnectingWidget } from '../../utils/w3m-connecting-widget/index.js';\nimport styles from './styles.js';\nlet W3mConnectingWcQrcode = class W3mConnectingWcQrcode extends W3mConnectingWidget {\n constructor() {\n super();\n this.forceUpdate = () => {\n this.requestUpdate();\n };\n window.addEventListener('resize', this.forceUpdate);\n EventsController.sendEvent({\n type: 'track',\n event: 'SELECT_WALLET',\n properties: { name: this.wallet?.name ?? 'WalletConnect', platform: 'qrcode' }\n });\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n window.removeEventListener('resize', this.forceUpdate);\n }\n render() {\n this.onRenderProxy();\n return html `\n \n ${this.qrCodeTemplate()} \n\n \n Scan this QR Code with your phone\n \n ${this.copyTemplate()}\n \n\n \n `;\n }\n onRenderProxy() {\n if (!this.ready && this.uri) {\n this.timeout = setTimeout(() => {\n this.ready = true;\n }, 200);\n }\n }\n qrCodeTemplate() {\n if (!this.uri || !this.ready) {\n return null;\n }\n const size = this.getBoundingClientRect().width - 40;\n const alt = this.wallet ? this.wallet.name : undefined;\n ConnectionController.setWcLinking(undefined);\n ConnectionController.setRecentWallet(this.wallet);\n return html ` `;\n }\n copyTemplate() {\n const inactive = !this.uri || !this.ready;\n return html `\n \n Copy link\n `;\n }\n};\nW3mConnectingWcQrcode.styles = styles;\nW3mConnectingWcQrcode = __decorate([\n customElement('w3m-connecting-wc-qrcode')\n], W3mConnectingWcQrcode);\nexport { W3mConnectingWcQrcode };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AssetUtil, EventsController, RouterController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nlet W3mConnectingWcUnsupported = class W3mConnectingWcUnsupported extends LitElement {\n constructor() {\n super();\n this.wallet = RouterController.state.data?.wallet;\n if (!this.wallet) {\n throw new Error('w3m-connecting-wc-unsupported: No wallet provided');\n }\n EventsController.sendEvent({\n type: 'track',\n event: 'SELECT_WALLET',\n properties: { name: this.wallet.name, platform: 'browser' }\n });\n }\n render() {\n return html `\n \n \n\n Not Detected\n \n\n \n `;\n }\n};\nW3mConnectingWcUnsupported = __decorate([\n customElement('w3m-connecting-wc-unsupported')\n], W3mConnectingWcUnsupported);\nexport { W3mConnectingWcUnsupported };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ConnectionController, CoreHelperUtil, EventsController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { W3mConnectingWidget } from '../../utils/w3m-connecting-widget/index.js';\nlet W3mConnectingWcWeb = class W3mConnectingWcWeb extends W3mConnectingWidget {\n constructor() {\n super();\n if (!this.wallet) {\n throw new Error('w3m-connecting-wc-web: No wallet provided');\n }\n this.onConnect = this.onConnectProxy.bind(this);\n this.secondaryBtnLabel = 'Open';\n this.secondaryLabel = 'Open and continue in a new browser tab';\n this.secondaryBtnIcon = 'externalLink';\n EventsController.sendEvent({\n type: 'track',\n event: 'SELECT_WALLET',\n properties: { name: this.wallet.name, platform: 'web' }\n });\n }\n onConnectProxy() {\n if (this.wallet?.webapp_link && this.uri) {\n try {\n this.error = false;\n const { webapp_link, name } = this.wallet;\n const { redirect, href } = CoreHelperUtil.formatUniversalUrl(webapp_link, this.uri);\n ConnectionController.setWcLinking({ name, href });\n ConnectionController.setRecentWallet(this.wallet);\n CoreHelperUtil.openHref(redirect, '_blank');\n }\n catch {\n this.error = true;\n }\n }\n }\n};\nW3mConnectingWcWeb = __decorate([\n customElement('w3m-connecting-wc-web')\n], W3mConnectingWcWeb);\nexport { W3mConnectingWcWeb };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n width: 100%;\n }\n\n .details-container > wui-flex {\n background: var(--wui-gray-glass-002);\n border-radius: var(--wui-border-radius-xxs);\n width: 100%;\n }\n\n .details-container > wui-flex > button {\n border: none;\n background: none;\n padding: var(--wui-spacing-s);\n border-radius: var(--wui-border-radius-xxs);\n cursor: pointer;\n }\n\n .details-content-container {\n padding: var(--wui-spacing-1xs);\n padding-top: 0px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .details-content-container > wui-flex {\n width: 100%;\n }\n\n .details-row {\n width: 100%;\n padding: var(--wui-spacing-s);\n padding-left: var(--wui-spacing-s);\n padding-right: var(--wui-spacing-1xs);\n border-radius: calc(var(--wui-border-radius-5xs) + var(--wui-border-radius-4xs));\n background: var(--wui-gray-glass-002);\n }\n\n .details-row.provider-free-row {\n padding-right: var(--wui-spacing-xs);\n }\n\n .free-badge {\n background: rgba(38, 217, 98, 0.15);\n border-radius: var(--wui-border-radius-4xs);\n padding: 4.5px 6px;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport styles from './styles.js';\nimport { UiHelperUtil, customElement } from '@web3modal/ui';\nlet WuiConvertDetails = class WuiConvertDetails extends LitElement {\n constructor() {\n super(...arguments);\n this.detailsOpen = false;\n this.slippageRate = 1;\n }\n render() {\n return html `\n \n \n \n ${this.detailsOpen\n ? html `\n \n \n \n Network cost\n \n $${UiHelperUtil.formatNumberToLocalString(this.gasPriceInUSD, 3)}\n \n \n \n ${this.priceImpact\n ? html ` \n \n Price impact\n \n \n ${UiHelperUtil.formatNumberToLocalString(this.priceImpact, 3)}%\n \n \n \n `\n : null}\n ${this.maxSlippage && this.sourceTokenSymbol\n ? html `\n \n Max. slippage\n \n \n ${UiHelperUtil.formatNumberToLocalString(this.maxSlippage, 6)}\n ${this.sourceTokenSymbol} ${this.slippageRate}%\n \n \n \n `\n : null}\n \n \n Provider fee\n \n Free\n \n \n \n \n `\n : null}\n \n \n `;\n }\n toggleDetails() {\n this.detailsOpen = !this.detailsOpen;\n }\n};\nWuiConvertDetails.styles = [styles];\n__decorate([\n property()\n], WuiConvertDetails.prototype, \"detailsOpen\", void 0);\n__decorate([\n property()\n], WuiConvertDetails.prototype, \"sourceTokenSymbol\", void 0);\n__decorate([\n property()\n], WuiConvertDetails.prototype, \"sourceTokenPrice\", void 0);\n__decorate([\n property()\n], WuiConvertDetails.prototype, \"toTokenSymbol\", void 0);\n__decorate([\n property()\n], WuiConvertDetails.prototype, \"toTokenConvertedAmount\", void 0);\n__decorate([\n property()\n], WuiConvertDetails.prototype, \"gasPriceInUSD\", void 0);\n__decorate([\n property()\n], WuiConvertDetails.prototype, \"priceImpact\", void 0);\n__decorate([\n property()\n], WuiConvertDetails.prototype, \"slippageRate\", void 0);\n__decorate([\n property()\n], WuiConvertDetails.prototype, \"maxSlippage\", void 0);\nWuiConvertDetails = __decorate([\n customElement('w3m-convert-details')\n], WuiConvertDetails);\nexport { WuiConvertDetails };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host > wui-flex {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n border-radius: var(--wui-border-radius-s);\n padding: var(--wui-spacing-xl);\n padding-right: var(--wui-spacing-s);\n width: 100%;\n height: 100px;\n box-sizing: border-box;\n position: relative;\n }\n\n :host > wui-flex > svg.input_mask {\n position: absolute;\n inset: 0;\n z-index: 5;\n }\n\n :host wui-flex .input_mask__border,\n :host wui-flex .input_mask__background {\n transition: fill var(--wui-duration-md) var(--wui-ease-out-power-1);\n will-change: fill;\n }\n\n :host wui-flex .input_mask__border {\n fill: var(--wui-gray-glass-005);\n }\n\n :host wui-flex .input_mask__background {\n fill: var(--wui-gray-glass-002);\n }\n\n :host wui-flex.focus .input_mask__border {\n fill: var(--wui-gray-glass-020);\n }\n\n :host > wui-flex .swap-input,\n :host > wui-flex .swap-token-button {\n z-index: 10;\n }\n\n :host > wui-flex .swap-input {\n -webkit-mask-image: linear-gradient(\n 270deg,\n transparent 0px,\n transparent 8px,\n black 24px,\n black 25px,\n black 32px,\n black 100%\n );\n mask-image: linear-gradient(\n 270deg,\n transparent 0px,\n transparent 8px,\n black 24px,\n black 25px,\n black 32px,\n black 100%\n );\n }\n\n :host > wui-flex .swap-input input {\n background: none;\n border: none;\n height: 42px;\n width: 100%;\n font-size: 32px;\n font-style: normal;\n font-weight: 400;\n line-height: 130%;\n letter-spacing: -1.28px;\n outline: none;\n caret-color: var(--wui-color-accent-100);\n color: var(--wui-color-fg-100);\n }\n\n :host > wui-flex .swap-input input:focus-visible {\n outline: none;\n }\n\n :host > wui-flex .swap-input input::-webkit-outer-spin-button,\n :host > wui-flex .swap-input input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n .token-select-button {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--wui-spacing-xxs);\n padding: var(--wui-spacing-xs);\n padding-right: var(--wui-spacing-1xs);\n height: 40px;\n border: none;\n border-radius: 80px;\n background: var(--wui-gray-glass-002);\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-002);\n cursor: pointer;\n transition: background 0.2s linear;\n }\n\n .token-select-button:hover {\n background: var(--wui-gray-glass-005);\n }\n\n .token-select-button wui-image {\n width: 24px;\n height: 24px;\n border-radius: var(--wui-border-radius-s);\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-010);\n }\n\n .max-value-button {\n background-color: transparent;\n border: none;\n cursor: pointer;\n color: var(--wui-gray-glass-020);\n padding-left: 0px;\n }\n\n .market-value {\n min-height: 18px;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { EventsController, RouterController } from '@web3modal/core';\nimport { NumberUtil } from '@web3modal/common';\nimport { UiHelperUtil, customElement, convertInputMaskBottomSvg, convertInputMaskTopSvg } from '@web3modal/ui';\nimport styles from './styles.js';\nconst MINIMUM_USD_VALUE_TO_CONVERT = 0.00005;\nlet W3mConvertInput = class W3mConvertInput extends LitElement {\n constructor() {\n super(...arguments);\n this.focused = false;\n this.price = 0;\n this.marketValue = '$1.0345,00';\n this.target = 'sourceToken';\n this.onSetAmount = null;\n this.onSetMaxValue = null;\n }\n render() {\n const marketValue = this.marketValue || '0';\n const isMarketValueGreaterThanZero = NumberUtil.bigNumber(marketValue).isGreaterThan(0);\n return html `\n \n ${this.target === 'sourceToken' ? convertInputMaskTopSvg : convertInputMaskBottomSvg}\n \n this.onFocusChange(true)}\n @focusout=${() => this.onFocusChange(false)}\n ?disabled=${this.disabled}\n .value=${this.value}\n @input=${this.dispatchInputChangeEvent}\n @keydown=${this.handleKeydown}\n placeholder=\"0\"\n />\n \n ${isMarketValueGreaterThanZero ? `$${this.marketValue}` : null}\n \n \n ${this.templateTokenSelectButton()}\n \n `;\n }\n handleKeydown(event) {\n const allowedKeys = [\n 'Backspace',\n 'Meta',\n 'Ctrl',\n 'a',\n 'c',\n 'v',\n 'ArrowLeft',\n 'ArrowRight',\n 'Tab'\n ];\n const isComma = event.key === ',';\n const isDot = event.key === '.';\n const isNumericKey = event.key >= '0' && event.key <= '9';\n const currentValue = this.value;\n if (!isNumericKey && !allowedKeys.includes(event.key) && !isDot && !isComma) {\n event.preventDefault();\n }\n if (isComma || isDot) {\n if (currentValue?.includes('.') || currentValue?.includes(',')) {\n event.preventDefault();\n }\n }\n }\n dispatchInputChangeEvent(event) {\n if (!this.onSetAmount) {\n return;\n }\n const value = event.target.value;\n if (value === ',' || value === '.') {\n this.onSetAmount(this.target, '0.');\n }\n else if (value.endsWith(',')) {\n this.onSetAmount(this.target, value.replace(',', '.'));\n }\n else {\n this.onSetAmount(this.target, value);\n }\n }\n setMaxValueToInput() {\n this.onSetMaxValue?.(this.target, this.balance);\n }\n templateTokenSelectButton() {\n if (!this.token) {\n return html ` \n Select token\n `;\n }\n const tokenElement = this.token.logoUri\n ? html ``\n : html `\n \n `;\n return html `\n \n \n ${tokenElement}\n ${this.token.symbol}\n \n ${this.tokenBalanceTemplate()} \n \n `;\n }\n tokenBalanceTemplate() {\n const balanceValueInUSD = NumberUtil.multiply(this.balance, this.price);\n const haveBalance = balanceValueInUSD\n ? balanceValueInUSD?.isGreaterThan(MINIMUM_USD_VALUE_TO_CONVERT)\n : false;\n return html `\n ${haveBalance\n ? html `\n ${UiHelperUtil.formatNumberToLocalString(this.balance, 3)}\n `\n : null}\n ${this.target === 'sourceToken' ? this.tokenActionButtonTemplate(haveBalance) : null}\n `;\n }\n tokenActionButtonTemplate(haveBalance) {\n if (haveBalance) {\n return html ` `;\n }\n return html ` `;\n }\n onFocusChange(state) {\n this.focused = state;\n }\n onSelectToken() {\n EventsController.sendEvent({ type: 'track', event: 'CLICK_SELECT_TOKEN_TO_SWAP' });\n RouterController.push('ConvertSelectToken', {\n target: this.target\n });\n }\n onBuyToken() {\n RouterController.push('OnRampProviders');\n }\n};\nW3mConvertInput.styles = [styles];\n__decorate([\n property()\n], W3mConvertInput.prototype, \"focused\", void 0);\n__decorate([\n property()\n], W3mConvertInput.prototype, \"balance\", void 0);\n__decorate([\n property()\n], W3mConvertInput.prototype, \"value\", void 0);\n__decorate([\n property()\n], W3mConvertInput.prototype, \"price\", void 0);\n__decorate([\n property()\n], W3mConvertInput.prototype, \"marketValue\", void 0);\n__decorate([\n property()\n], W3mConvertInput.prototype, \"disabled\", void 0);\n__decorate([\n property()\n], W3mConvertInput.prototype, \"target\", void 0);\n__decorate([\n property()\n], W3mConvertInput.prototype, \"token\", void 0);\n__decorate([\n property()\n], W3mConvertInput.prototype, \"onSetAmount\", void 0);\n__decorate([\n property()\n], W3mConvertInput.prototype, \"onSetMaxValue\", void 0);\nW3mConvertInput = __decorate([\n customElement('w3m-convert-input')\n], W3mConvertInput);\nexport { W3mConvertInput };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-icon-link[data-hidden='true'] {\n opacity: 0 !important;\n pointer-events: none;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ConnectionController, ConnectorController, EventsController, ModalController, OptionsController, RouterController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport styles from './styles.js';\nfunction headings() {\n const connectorName = RouterController.state.data?.connector?.name;\n const walletName = RouterController.state.data?.wallet?.name;\n const networkName = RouterController.state.data?.network?.name;\n const name = walletName ?? connectorName;\n const connectors = ConnectorController.getConnectors();\n const isEmail = connectors.length === 1 && connectors[0]?.id === 'w3m-email';\n return {\n Connect: `Connect ${isEmail ? 'Email' : ''} Wallet`,\n Account: undefined,\n AccountSettings: undefined,\n ConnectingExternal: name ?? 'Connect Wallet',\n ConnectingWalletConnect: name ?? 'WalletConnect',\n ConnectingSiwe: 'Sign In',\n Networks: 'Choose Network',\n SwitchNetwork: networkName ?? 'Switch Network',\n AllWallets: 'All Wallets',\n WhatIsANetwork: 'What is a network?',\n WhatIsAWallet: 'What is a wallet?',\n GetWallet: 'Get a wallet',\n Downloads: name ? `Get ${name}` : 'Downloads',\n EmailVerifyOtp: 'Confirm Email',\n EmailVerifyDevice: 'Register Device',\n ApproveTransaction: 'Approve Transaction',\n Transactions: 'Activity',\n UpgradeEmailWallet: 'Upgrade your Wallet',\n UpgradeToSmartAccount: undefined,\n UpdateEmailWallet: 'Edit Email',\n UpdateEmailPrimaryOtp: 'Confirm Current Email',\n UpdateEmailSecondaryOtp: 'Confirm New Email',\n UnsupportedChain: 'Switch Network',\n OnRampProviders: 'Choose Provider',\n OnRampActivity: 'Activity',\n WhatIsABuy: 'What is Buy?',\n BuyInProgress: 'Buy',\n OnRampTokenSelect: 'Select Token',\n OnRampFiatSelect: 'Select Currency',\n WalletReceive: 'Receive',\n WalletCompatibleNetworks: 'Compatible Networks',\n Convert: 'Convert',\n ConvertSelectToken: 'Select token',\n ConvertPreview: 'Preview convert',\n WalletSend: 'Send',\n WalletSendPreview: 'Review send',\n WalletSendSelectToken: 'Select Token'\n };\n}\nlet W3mHeader = class W3mHeader extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.heading = headings()[RouterController.state.view];\n this.buffering = false;\n this.showBack = false;\n this.unsubscribe.push(RouterController.subscribeKey('view', val => {\n this.onViewChange(val);\n this.onHistoryChange();\n }), ConnectionController.subscribeKey('buffering', val => (this.buffering = val)));\n }\n disconnectCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return html `\n \n ${this.dynamicButtonTemplate()} ${this.titleTemplate()}\n \n \n ${this.separatorTemplate()}\n `;\n }\n onWalletHelp() {\n EventsController.sendEvent({ type: 'track', event: 'CLICK_WALLET_HELP' });\n RouterController.push('WhatIsAWallet');\n }\n async onClose() {\n if (OptionsController.state.isSiweEnabled) {\n const { SIWEController } = await import('@web3modal/siwe');\n if (SIWEController.state.status !== 'success') {\n await ConnectionController.disconnect();\n }\n }\n ModalController.close();\n }\n titleTemplate() {\n return html `${this.heading}`;\n }\n dynamicButtonTemplate() {\n const { view } = RouterController.state;\n const isConnectHelp = view === 'Connect';\n const isApproveTransaction = view === 'ApproveTransaction';\n const isUpgradeToSmartAccounts = view === 'UpgradeToSmartAccount';\n const shouldHideBack = isApproveTransaction || isUpgradeToSmartAccounts;\n if (this.showBack && !shouldHideBack) {\n return html ``;\n }\n return html ``;\n }\n separatorTemplate() {\n if (!this.heading) {\n return null;\n }\n return html ``;\n }\n getPadding() {\n if (this.heading) {\n return ['l', '2l', 'l', '2l'];\n }\n return ['l', '2l', '0', '2l'];\n }\n async onViewChange(view) {\n const headingEl = this.shadowRoot?.querySelector('wui-text');\n if (headingEl) {\n const preset = headings()[view];\n await headingEl.animate([{ opacity: 1 }, { opacity: 0 }], {\n duration: 200,\n fill: 'forwards',\n easing: 'ease'\n }).finished;\n this.heading = preset;\n headingEl.animate([{ opacity: 0 }, { opacity: 1 }], {\n duration: 200,\n fill: 'forwards',\n easing: 'ease'\n });\n }\n }\n async onHistoryChange() {\n const { history } = RouterController.state;\n const buttonEl = this.shadowRoot?.querySelector('#dynamic');\n if (history.length > 1 && !this.showBack && buttonEl) {\n await buttonEl.animate([{ opacity: 1 }, { opacity: 0 }], {\n duration: 200,\n fill: 'forwards',\n easing: 'ease'\n }).finished;\n this.showBack = true;\n buttonEl.animate([{ opacity: 0 }, { opacity: 1 }], {\n duration: 200,\n fill: 'forwards',\n easing: 'ease'\n });\n }\n else if (history.length <= 1 && this.showBack && buttonEl) {\n await buttonEl.animate([{ opacity: 1 }, { opacity: 0 }], {\n duration: 200,\n fill: 'forwards',\n easing: 'ease'\n }).finished;\n this.showBack = false;\n buttonEl.animate([{ opacity: 0 }, { opacity: 1 }], {\n duration: 200,\n fill: 'forwards',\n easing: 'ease'\n });\n }\n }\n onGoBack() {\n if (RouterController.state.view === 'ConnectingSiwe') {\n RouterController.push('Connect');\n }\n else {\n RouterController.goBack();\n }\n }\n};\nW3mHeader.styles = [styles];\n__decorate([\n state()\n], W3mHeader.prototype, \"heading\", void 0);\n__decorate([\n state()\n], W3mHeader.prototype, \"buffering\", void 0);\n__decorate([\n state()\n], W3mHeader.prototype, \"showBack\", void 0);\nW3mHeader = __decorate([\n customElement('w3m-header')\n], W3mHeader);\nexport { W3mHeader };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nlet W3mHelpWidget = class W3mHelpWidget extends LitElement {\n constructor() {\n super(...arguments);\n this.data = [];\n }\n render() {\n return html `\n \n ${this.data.map(item => html `\n \n \n ${item.images.map(image => html ``)}\n \n \n \n \n ${item.title}\n \n ${item.text}\n \n `)}\n \n `;\n }\n};\n__decorate([\n property({ type: Array })\n], W3mHelpWidget.prototype, \"data\", void 0);\nW3mHelpWidget = __decorate([\n customElement('w3m-help-widget')\n], W3mHelpWidget);\nexport { W3mHelpWidget };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n width: 100%;\n }\n\n wui-loading-spinner {\n position: absolute;\n top: 50%;\n right: 20px;\n transform: translateY(-50%);\n }\n\n .currency-container {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n right: var(--wui-spacing-1xs);\n height: 40px;\n padding: var(--wui-spacing-xs) var(--wui-spacing-1xs) var(--wui-spacing-xs)\n var(--wui-spacing-xs);\n min-width: 95px;\n border-radius: var(--FULL, 1000px);\n border: 1px solid var(--wui-gray-glass-002);\n background: var(--wui-gray-glass-002);\n cursor: pointer;\n }\n\n .currency-container > wui-image {\n height: 24px;\n width: 24px;\n border-radius: 50%;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { html, LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { customElement } from '@web3modal/ui';\nimport styles from './styles.js';\nimport { AssetController, ModalController, OnRampController } from '@web3modal/core';\nlet W3mInputCurrency = class W3mInputCurrency extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.type = 'Token';\n this.value = 0;\n this.currencies = [];\n this.selectedCurrency = this.currencies?.[0];\n this.currencyImages = AssetController.state.currencyImages;\n this.tokenImages = AssetController.state.tokenImages;\n this.unsubscribe.push(OnRampController.subscribeKey('purchaseCurrency', val => {\n if (!val || this.type === 'Fiat') {\n return;\n }\n this.selectedCurrency = this.formatPurchaseCurrency(val);\n }), OnRampController.subscribeKey('paymentCurrency', val => {\n if (!val || this.type === 'Token') {\n return;\n }\n this.selectedCurrency = this.formatPaymentCurrency(val);\n }), OnRampController.subscribe(val => {\n if (this.type === 'Fiat') {\n this.currencies = val.purchaseCurrencies.map(this.formatPurchaseCurrency);\n }\n else {\n this.currencies = val.paymentCurrencies.map(this.formatPaymentCurrency);\n }\n }), AssetController.subscribe(val => {\n this.currencyImages = { ...val.currencyImages };\n this.tokenImages = { ...val.tokenImages };\n }));\n }\n firstUpdated() {\n OnRampController.getAvailableCurrencies();\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n const symbol = this.selectedCurrency?.symbol || '';\n const image = this.currencyImages[symbol] || this.tokenImages[symbol];\n return html `\n ${this.selectedCurrency\n ? html ` ModalController.open({ view: `OnRamp${this.type}Select` })}\n >\n \n ${this.selectedCurrency.symbol}\n `\n : html ``}\n `;\n }\n formatPaymentCurrency(currency) {\n return {\n name: currency.id,\n symbol: currency.id\n };\n }\n formatPurchaseCurrency(currency) {\n return {\n name: currency.name,\n symbol: currency.symbol\n };\n }\n};\nW3mInputCurrency.styles = styles;\n__decorate([\n property({ type: String })\n], W3mInputCurrency.prototype, \"type\", void 0);\n__decorate([\n property({ type: Number })\n], W3mInputCurrency.prototype, \"value\", void 0);\n__decorate([\n state()\n], W3mInputCurrency.prototype, \"currencies\", void 0);\n__decorate([\n state()\n], W3mInputCurrency.prototype, \"selectedCurrency\", void 0);\n__decorate([\n state()\n], W3mInputCurrency.prototype, \"currencyImages\", void 0);\n__decorate([\n state()\n], W3mInputCurrency.prototype, \"tokenImages\", void 0);\nW3mInputCurrency = __decorate([\n customElement('w3m-swap-input')\n], W3mInputCurrency);\nexport { W3mInputCurrency };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-flex {\n background-color: var(--wui-gray-glass-005);\n }\n\n a {\n text-decoration: none;\n color: var(--wui-color-fg-175);\n font-weight: 500;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { OptionsController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nlet W3mLegalFooter = class W3mLegalFooter extends LitElement {\n render() {\n const { termsConditionsUrl, privacyPolicyUrl } = OptionsController.state;\n if (!termsConditionsUrl && !privacyPolicyUrl) {\n return null;\n }\n return html `\n \n \n By connecting your wallet, you agree to our
\n ${this.termsTemplate()} ${this.andTemplate()} ${this.privacyTemplate()}\n
\n
\n `;\n }\n andTemplate() {\n const { termsConditionsUrl, privacyPolicyUrl } = OptionsController.state;\n return termsConditionsUrl && privacyPolicyUrl ? 'and' : '';\n }\n termsTemplate() {\n const { termsConditionsUrl } = OptionsController.state;\n if (!termsConditionsUrl) {\n return null;\n }\n return html `Terms of Service`;\n }\n privacyTemplate() {\n const { privacyPolicyUrl } = OptionsController.state;\n if (!privacyPolicyUrl) {\n return null;\n }\n return html `Privacy Policy`;\n }\n};\nW3mLegalFooter.styles = [styles];\nW3mLegalFooter = __decorate([\n customElement('w3m-legal-footer')\n], W3mLegalFooter);\nexport { W3mLegalFooter };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n padding: 0 var(--wui-spacing-xl) var(--wui-spacing-xl);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { CoreHelperUtil, RouterController } from '@web3modal/core';\nimport { UiHelperUtil, customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport styles from './styles.js';\nlet W3mMobileDownloadLinks = class W3mMobileDownloadLinks extends LitElement {\n constructor() {\n super(...arguments);\n this.wallet = undefined;\n }\n render() {\n if (!this.wallet) {\n this.style.display = 'none';\n return null;\n }\n const { name, app_store, play_store, chrome_store, homepage } = this.wallet;\n const isMobile = CoreHelperUtil.isMobile();\n const isIos = CoreHelperUtil.isIos();\n const isAndroid = CoreHelperUtil.isAndroid();\n const isMultiple = [app_store, play_store, homepage, chrome_store].filter(Boolean).length > 1;\n const shortName = UiHelperUtil.getTruncateString({\n string: name,\n charsStart: 12,\n charsEnd: 0,\n truncate: 'end'\n });\n if (isMultiple && !isMobile) {\n return html `\n RouterController.push('Downloads', { wallet: this.wallet })}\n >\n `;\n }\n if (!isMultiple && homepage) {\n return html `\n \n `;\n }\n if (app_store && isIos) {\n return html `\n \n `;\n }\n if (play_store && isAndroid) {\n return html `\n \n `;\n }\n this.style.display = 'none';\n return null;\n }\n onAppStore() {\n if (this.wallet?.app_store) {\n CoreHelperUtil.openHref(this.wallet.app_store, '_blank');\n }\n }\n onPlayStore() {\n if (this.wallet?.play_store) {\n CoreHelperUtil.openHref(this.wallet.play_store, '_blank');\n }\n }\n onHomePage() {\n if (this.wallet?.homepage) {\n CoreHelperUtil.openHref(this.wallet.homepage, '_blank');\n }\n }\n};\nW3mMobileDownloadLinks.styles = [styles];\n__decorate([\n property({ type: Object })\n], W3mMobileDownloadLinks.prototype, \"wallet\", void 0);\nW3mMobileDownloadLinks = __decorate([\n customElement('w3m-mobile-download-links')\n], W3mMobileDownloadLinks);\nexport { W3mMobileDownloadLinks };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-flex {\n border-top: 1px solid var(--wui-gray-glass-005);\n }\n\n a {\n text-decoration: none;\n color: var(--wui-color-fg-175);\n font-weight: 500;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--wui-spacing-3xs);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { OptionsController, RouterController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nlet W3mOnRampProvidersFooter = class W3mOnRampProvidersFooter extends LitElement {\n render() {\n const { termsConditionsUrl, privacyPolicyUrl } = OptionsController.state;\n if (!termsConditionsUrl && !privacyPolicyUrl) {\n return null;\n }\n return html `\n \n \n We work with the best providers to give you the lowest fees and best support. More options\n coming soon!\n \n\n ${this.howDoesItWorkTemplate()}\n \n `;\n }\n howDoesItWorkTemplate() {\n return html ` \n \n How does it work?\n `;\n }\n onWhatIsBuy() {\n RouterController.push('WhatIsABuy');\n }\n};\nW3mOnRampProvidersFooter.styles = [styles];\nW3mOnRampProvidersFooter = __decorate([\n customElement('w3m-onramp-providers-footer')\n], W3mOnRampProvidersFooter);\nexport { W3mOnRampProvidersFooter };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n position: absolute;\n opacity: 0;\n pointer-events: none;\n top: 11px;\n left: 50%;\n width: max-content;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { SnackController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport styles from './styles.js';\nconst presets = {\n success: {\n backgroundColor: 'success-100',\n iconColor: 'success-100',\n icon: 'checkmark'\n },\n error: {\n backgroundColor: 'error-100',\n iconColor: 'error-100',\n icon: 'close'\n }\n};\nlet W3mSnackBar = class W3mSnackBar extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.timeout = undefined;\n this.open = SnackController.state.open;\n this.unsubscribe.push(SnackController.subscribeKey('open', val => {\n this.open = val;\n this.onOpen();\n }));\n }\n disconnectedCallback() {\n clearTimeout(this.timeout);\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n const { message, variant } = SnackController.state;\n const preset = presets[variant];\n return html `\n \n `;\n }\n onOpen() {\n clearTimeout(this.timeout);\n if (this.open) {\n this.animate([\n { opacity: 0, transform: 'translateX(-50%) scale(0.85)' },\n { opacity: 1, transform: 'translateX(-50%) scale(1)' }\n ], {\n duration: 150,\n fill: 'forwards',\n easing: 'ease'\n });\n this.timeout = setTimeout(() => SnackController.hide(), 2500);\n }\n else {\n this.animate([\n { opacity: 1, transform: 'translateX(-50%) scale(1)' },\n { opacity: 0, transform: 'translateX(-50%) scale(0.85)' }\n ], {\n duration: 150,\n fill: 'forwards',\n easing: 'ease'\n });\n }\n }\n};\nW3mSnackBar.styles = styles;\n__decorate([\n state()\n], W3mSnackBar.prototype, \"open\", void 0);\nW3mSnackBar = __decorate([\n customElement('w3m-snackbar')\n], W3mSnackBar);\nexport { W3mSnackBar };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-separator {\n margin: var(--wui-spacing-s) calc(var(--wui-spacing-s) * -1);\n width: calc(100% + var(--wui-spacing-s) * 2);\n }\n\n wui-email-input {\n width: 100%;\n }\n\n form {\n width: 100%;\n display: block;\n position: relative;\n }\n\n wui-icon-link,\n wui-loading-spinner {\n position: absolute;\n top: 21px;\n transform: translateY(-50%);\n }\n\n wui-icon-link {\n right: var(--wui-spacing-xs);\n }\n\n wui-loading-spinner {\n right: var(--wui-spacing-m);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ConnectorController, CoreHelperUtil } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { ref, createRef } from 'lit/directives/ref.js';\nimport styles from './styles.js';\nimport { SnackController, RouterController, EventsController } from '@web3modal/core';\nlet W3mEmailLoginWidget = class W3mEmailLoginWidget extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.formRef = createRef();\n this.connectors = ConnectorController.state.connectors;\n this.email = '';\n this.loading = false;\n this.error = '';\n this.unsubscribe.push(ConnectorController.subscribeKey('connectors', val => (this.connectors = val)));\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n firstUpdated() {\n this.formRef.value?.addEventListener('keydown', event => {\n if (event.key === 'Enter') {\n this.onSubmitEmail(event);\n }\n });\n }\n render() {\n const multipleConnectors = this.connectors.length > 1;\n const connector = this.connectors.find(c => c.type === 'EMAIL');\n if (!connector) {\n return null;\n }\n return html `\n
\n \n \n\n ${this.submitButtonTemplate()}${this.loadingTemplate()}\n \n \n\n ${multipleConnectors ? html `` : null}\n `;\n }\n submitButtonTemplate() {\n const showSubmit = !this.loading && this.email.length > 3;\n return showSubmit\n ? html `\n \n \n `\n : null;\n }\n loadingTemplate() {\n return this.loading\n ? html ``\n : null;\n }\n onEmailInputChange(event) {\n this.email = event.detail.trim();\n this.error = '';\n }\n async onSubmitEmail(event) {\n try {\n if (this.loading) {\n return;\n }\n this.loading = true;\n event.preventDefault();\n const emailConnector = ConnectorController.getEmailConnector();\n if (!emailConnector) {\n throw new Error('w3m-email-login-widget: Email connector not found');\n }\n const { action } = await emailConnector.provider.connectEmail({ email: this.email });\n EventsController.sendEvent({ type: 'track', event: 'EMAIL_SUBMITTED' });\n if (action === 'VERIFY_OTP') {\n EventsController.sendEvent({ type: 'track', event: 'EMAIL_VERIFICATION_CODE_SENT' });\n RouterController.push('EmailVerifyOtp', { email: this.email });\n }\n else if (action === 'VERIFY_DEVICE') {\n RouterController.push('EmailVerifyDevice', { email: this.email });\n }\n }\n catch (error) {\n const parsedError = CoreHelperUtil.parseError(error);\n if (parsedError?.includes('Invalid email')) {\n this.error = 'Invalid email. Try again.';\n }\n else {\n SnackController.showError(error);\n }\n }\n finally {\n this.loading = false;\n }\n }\n onFocusEvent() {\n EventsController.sendEvent({ type: 'track', event: 'EMAIL_LOGIN_SELECTED' });\n }\n};\nW3mEmailLoginWidget.styles = styles;\n__decorate([\n state()\n], W3mEmailLoginWidget.prototype, \"connectors\", void 0);\n__decorate([\n state()\n], W3mEmailLoginWidget.prototype, \"email\", void 0);\n__decorate([\n state()\n], W3mEmailLoginWidget.prototype, \"loading\", void 0);\n__decorate([\n state()\n], W3mEmailLoginWidget.prototype, \"error\", void 0);\nW3mEmailLoginWidget = __decorate([\n customElement('w3m-email-login-widget')\n], W3mEmailLoginWidget);\nexport { W3mEmailLoginWidget };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-flex {\n width: 100%;\n }\n\n :host > wui-flex:first-child {\n transform: translateY(calc(var(--wui-spacing-xxs) * -1));\n }\n\n wui-icon-link {\n margin-right: calc(var(--wui-icon-box-size-md) * -1);\n }\n\n wui-notice-card {\n margin-bottom: var(--wui-spacing-3xs);\n }\n\n w3m-transactions-view {\n max-height: 200px;\n }\n\n .tab-content-container {\n height: 300px;\n overflow-y: auto;\n overflow-x: hidden;\n scrollbar-width: none;\n }\n\n .account-button {\n width: auto;\n border: none;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--wui-spacing-s);\n height: 48px;\n padding: var(--wui-spacing-xs);\n padding-right: var(--wui-spacing-s);\n box-shadow: inset 0 0 0 1px var(--wui-gray-glass-002);\n background-color: var(--wui-gray-glass-002);\n border-radius: 24px;\n transaction: background-color 0.2s linear;\n }\n\n .account-button:hover {\n background-color: var(--wui-gray-glass-005);\n }\n\n .avatar-container {\n position: relative;\n }\n\n wui-avatar.avatar {\n width: 32px;\n height: 32px;\n box-shadow: 0 0 0 2px var(--wui-gray-glass-005);\n }\n\n wui-avatar.network-avatar {\n width: 16px;\n height: 16px;\n position: absolute;\n left: 100%;\n top: 100%;\n transform: translate(-75%, -75%);\n box-shadow: 0 0 0 2px var(--wui-gray-glass-005);\n }\n\n .account-links {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .account-links wui-flex {\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n background: red;\n align-items: center;\n justify-content: center;\n height: 48px;\n padding: 10px;\n flex: 1 0 0;\n border-radius: var(--XS, 16px);\n border: 1px solid var(--dark-accent-glass-010, rgba(71, 161, 255, 0.1));\n background: var(--dark-accent-glass-010, rgba(71, 161, 255, 0.1));\n transition: background-color var(--wui-ease-out-power-1) var(--wui-duration-md);\n will-change: background-color;\n }\n\n .account-links wui-flex:hover {\n background: var(--dark-accent-glass-015, rgba(71, 161, 255, 0.15));\n }\n\n .account-links wui-flex wui-icon {\n width: var(--S, 20px);\n height: var(--S, 20px);\n }\n\n .account-links wui-flex wui-icon svg path {\n stroke: #47a1ff;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController, CoreHelperUtil, ModalController, NetworkController, RouterController, AssetUtil, StorageUtil, ConnectorController, EventsController, ConnectionController, SnackController, ConstantsUtil, OptionsController } from '@web3modal/core';\nimport { UiHelperUtil, customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nlet W3mAccountDefaultWidget = class W3mAccountDefaultWidget extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.address = AccountController.state.address;\n this.profileImage = AccountController.state.profileImage;\n this.profileName = AccountController.state.profileName;\n this.network = NetworkController.state.caipNetwork;\n this.disconnecting = false;\n this.balance = AccountController.state.balance;\n this.balanceSymbol = AccountController.state.balanceSymbol;\n this.unsubscribe.push(...[\n AccountController.subscribe(val => {\n if (val.address) {\n this.address = val.address;\n this.profileImage = val.profileImage;\n this.profileName = val.profileName;\n this.balance = val.balance;\n this.balanceSymbol = val.balanceSymbol;\n }\n else if (!this.disconnecting) {\n SnackController.showError('Account not found');\n }\n })\n ], NetworkController.subscribeKey('caipNetwork', val => {\n if (val?.id) {\n this.network = val;\n }\n }));\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n if (!this.address) {\n throw new Error('w3m-account-view: No account provided');\n }\n const networkImage = AssetUtil.getNetworkImage(this.network);\n return html `\n \n \n \n \n ${this.profileName\n ? UiHelperUtil.getTruncateString({\n string: this.profileName,\n charsStart: 20,\n charsEnd: 0,\n truncate: 'end'\n })\n : UiHelperUtil.getTruncateString({\n string: this.address ? this.address : '',\n charsStart: 4,\n charsEnd: 4,\n truncate: 'middle'\n })}\n \n \n \n ${CoreHelperUtil.formatBalance(this.balance, this.balanceSymbol)}\n \n ${this.explorerBtnTemplate()}\n \n\n \n ${this.emailCardTemplate()} ${this.emailBtnTemplate()}\n\n \n \n ${this.network?.name ?? 'Unknown'}\n \n \n ${this.onrampTemplate()}\n \n Activity\n \n \n Disconnect\n \n `;\n }\n onrampTemplate() {\n const { enableOnramp } = OptionsController.state;\n if (!enableOnramp) {\n return null;\n }\n return html `\n \n Buy crypto\n \n `;\n }\n emailCardTemplate() {\n const type = StorageUtil.getConnectedConnector();\n const emailConnector = ConnectorController.getEmailConnector();\n const { origin } = location;\n if (!emailConnector || type !== 'EMAIL' || origin.includes(ConstantsUtil.SECURE_SITE)) {\n return null;\n }\n return html `\n \n `;\n }\n handleClickPay() {\n RouterController.push('OnRampProviders');\n }\n explorerBtnTemplate() {\n const { addressExplorerUrl } = AccountController.state;\n if (!addressExplorerUrl) {\n return null;\n }\n return html `\n \n \n Block Explorer\n \n \n `;\n }\n emailBtnTemplate() {\n const type = StorageUtil.getConnectedConnector();\n const emailConnector = ConnectorController.getEmailConnector();\n if (!emailConnector || type !== 'EMAIL') {\n return null;\n }\n const email = emailConnector.provider.getEmail() ?? '';\n return html `\n this.onGoToUpdateEmail(email)}\n >\n ${email}\n \n `;\n }\n isAllowedNetworkSwitch() {\n const { requestedCaipNetworks } = NetworkController.state;\n const isMultiNetwork = requestedCaipNetworks ? requestedCaipNetworks.length > 1 : false;\n const isValidNetwork = requestedCaipNetworks?.find(({ id }) => id === this.network?.id);\n return isMultiNetwork || !isValidNetwork;\n }\n onCopyAddress() {\n try {\n if (this.address) {\n CoreHelperUtil.copyToClopboard(this.address);\n SnackController.showSuccess('Address copied');\n }\n }\n catch {\n SnackController.showError('Failed to copy');\n }\n }\n onNetworks() {\n if (this.isAllowedNetworkSwitch()) {\n EventsController.sendEvent({ type: 'track', event: 'CLICK_NETWORKS' });\n RouterController.push('Networks');\n }\n }\n onTransactions() {\n EventsController.sendEvent({ type: 'track', event: 'CLICK_TRANSACTIONS' });\n RouterController.push('Transactions');\n }\n async onDisconnect() {\n try {\n this.disconnecting = true;\n await ConnectionController.disconnect();\n EventsController.sendEvent({ type: 'track', event: 'DISCONNECT_SUCCESS' });\n ModalController.close();\n }\n catch {\n EventsController.sendEvent({ type: 'track', event: 'DISCONNECT_ERROR' });\n SnackController.showError('Failed to disconnect');\n }\n finally {\n this.disconnecting = false;\n }\n }\n onExplorer() {\n const { addressExplorerUrl } = AccountController.state;\n if (addressExplorerUrl) {\n CoreHelperUtil.openHref(addressExplorerUrl, '_blank');\n }\n }\n onGoToUpgradeView() {\n EventsController.sendEvent({ type: 'track', event: 'EMAIL_UPGRADE_FROM_MODAL' });\n RouterController.push('UpgradeEmailWallet');\n }\n onGoToUpdateEmail(email) {\n RouterController.push('UpdateEmailWallet', { email });\n }\n};\nW3mAccountDefaultWidget.styles = styles;\n__decorate([\n state()\n], W3mAccountDefaultWidget.prototype, \"address\", void 0);\n__decorate([\n state()\n], W3mAccountDefaultWidget.prototype, \"profileImage\", void 0);\n__decorate([\n state()\n], W3mAccountDefaultWidget.prototype, \"profileName\", void 0);\n__decorate([\n state()\n], W3mAccountDefaultWidget.prototype, \"network\", void 0);\n__decorate([\n state()\n], W3mAccountDefaultWidget.prototype, \"disconnecting\", void 0);\n__decorate([\n state()\n], W3mAccountDefaultWidget.prototype, \"balance\", void 0);\n__decorate([\n state()\n], W3mAccountDefaultWidget.prototype, \"balanceSymbol\", void 0);\nW3mAccountDefaultWidget = __decorate([\n customElement('w3m-account-default-widget')\n], W3mAccountDefaultWidget);\nexport { W3mAccountDefaultWidget };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n wui-flex {\n width: 100%;\n }\n\n wui-promo {\n position: absolute;\n top: -32px;\n }\n\n wui-profile-button {\n margin-top: calc(-1 * var(--wui-spacing-2l));\n }\n\n wui-promo + wui-profile-button {\n margin-top: var(--wui-spacing-2l);\n }\n\n wui-tooltip-select {\n width: 100%;\n }\n\n wui-tabs {\n width: 100%;\n }\n\n .contentContainer {\n height: 280px;\n }\n\n .contentContainer > wui-icon-box {\n width: 40px;\n height: 40px;\n border-radius: var(--wui-border-radius-xxs);\n }\n\n .contentContainer > .textContent {\n width: 65%;\n }\n`;\n//# sourceMappingURL=styles.js.map","export const ConstantsUtil = {\n ACCOUNT_TABS: [{ label: 'Tokens' }, { label: 'NFTs' }, { label: 'Activity' }]\n};\n//# sourceMappingURL=ConstantsUtil.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController, ModalController, NetworkController, AssetUtil, RouterController, CoreHelperUtil } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './styles.js';\nimport { ConstantsUtil } from '../../utils/ConstantsUtil.js';\nimport { W3mFrameRpcConstants } from '@web3modal/wallet';\nlet W3mAccountWalletFeaturesWidget = class W3mAccountWalletFeaturesWidget extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.address = AccountController.state.address;\n this.profileImage = AccountController.state.profileImage;\n this.profileName = AccountController.state.profileName;\n this.smartAccountDeployed = AccountController.state.smartAccountDeployed;\n this.network = NetworkController.state.caipNetwork;\n this.currentTab = AccountController.state.currentTab;\n this.tokenBalance = AccountController.state.tokenBalance;\n this.preferredAccountType = AccountController.state.preferredAccountType;\n this.unsubscribe.push(...[\n AccountController.subscribe(val => {\n if (val.address) {\n this.address = val.address;\n this.profileImage = val.profileImage;\n this.profileName = val.profileName;\n this.currentTab = val.currentTab;\n this.tokenBalance = val.tokenBalance;\n this.smartAccountDeployed = val.smartAccountDeployed;\n this.preferredAccountType = val.preferredAccountType;\n }\n else {\n ModalController.close();\n }\n })\n ], NetworkController.subscribe(val => {\n this.network = val.caipNetwork;\n }));\n this.watchConvertValues();\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n clearInterval(this.watchTokenBalance);\n }\n firstUpdated() {\n AccountController.fetchTokenBalance();\n }\n render() {\n if (!this.address) {\n throw new Error('w3m-account-view: No account provided');\n }\n const networkImage = AssetUtil.getNetworkImage(this.network);\n return html `\n ${this.activateAccountTemplate()}\n \n ${this.tokenBalanceTemplate()}\n \n \n \n \n \n \n\n \n ${this.listContentTemplate()}\n `;\n }\n watchConvertValues() {\n this.watchTokenBalance = setInterval(() => AccountController.fetchTokenBalance(), 10000);\n }\n listContentTemplate() {\n if (this.currentTab === 0) {\n return html ``;\n }\n if (this.currentTab === 1) {\n return html ``;\n }\n if (this.currentTab === 2) {\n return html ``;\n }\n return html ``;\n }\n tokenBalanceTemplate() {\n if (this.tokenBalance && this.tokenBalance?.length >= 0) {\n const value = CoreHelperUtil.calculateBalance(this.tokenBalance);\n const { dollars = '0', pennies = '00' } = CoreHelperUtil.formatTokenBalance(value);\n return html ``;\n }\n return html ``;\n }\n activateAccountTemplate() {\n const smartAccountEnabled = NetworkController.checkIfSmartAccountEnabled();\n if (!smartAccountEnabled ||\n this.preferredAccountType !== W3mFrameRpcConstants.ACCOUNT_TYPES.EOA ||\n this.smartAccountDeployed) {\n return null;\n }\n return html ` `;\n }\n onTabChange(index) {\n AccountController.setCurrentTab(index);\n }\n onProfileButtonClick() {\n RouterController.push('AccountSettings');\n }\n onBuyClick() {\n RouterController.push('OnRampProviders');\n }\n onConvertClick() {\n RouterController.push('Convert');\n }\n onReceiveClick() {\n RouterController.push('WalletReceive');\n }\n onSendClick() {\n RouterController.push('WalletSend');\n }\n onUpdateToSmartAccount() {\n RouterController.push('UpgradeToSmartAccount');\n }\n};\nW3mAccountWalletFeaturesWidget.styles = styles;\n__decorate([\n state()\n], W3mAccountWalletFeaturesWidget.prototype, \"watchTokenBalance\", void 0);\n__decorate([\n state()\n], W3mAccountWalletFeaturesWidget.prototype, \"address\", void 0);\n__decorate([\n state()\n], W3mAccountWalletFeaturesWidget.prototype, \"profileImage\", void 0);\n__decorate([\n state()\n], W3mAccountWalletFeaturesWidget.prototype, \"profileName\", void 0);\n__decorate([\n state()\n], W3mAccountWalletFeaturesWidget.prototype, \"smartAccountDeployed\", void 0);\n__decorate([\n state()\n], W3mAccountWalletFeaturesWidget.prototype, \"network\", void 0);\n__decorate([\n state()\n], W3mAccountWalletFeaturesWidget.prototype, \"currentTab\", void 0);\n__decorate([\n state()\n], W3mAccountWalletFeaturesWidget.prototype, \"tokenBalance\", void 0);\n__decorate([\n state()\n], W3mAccountWalletFeaturesWidget.prototype, \"preferredAccountType\", void 0);\nW3mAccountWalletFeaturesWidget = __decorate([\n customElement('w3m-account-wallet-features-widget')\n], W3mAccountWalletFeaturesWidget);\nexport { W3mAccountWalletFeaturesWidget };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n width: 100%;\n max-height: 280px;\n overflow: scroll;\n scrollbar-width: none;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nlet W3mAccountActivityWidget = class W3mAccountActivityWidget extends LitElement {\n render() {\n return html ``;\n }\n};\nW3mAccountActivityWidget.styles = styles;\nW3mAccountActivityWidget = __decorate([\n customElement('w3m-account-activity-widget')\n], W3mAccountActivityWidget);\nexport { W3mAccountActivityWidget };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n .contentContainer {\n height: 280px;\n }\n\n .contentContainer > wui-icon-box {\n width: 40px;\n height: 40px;\n border-radius: var(--wui-border-radius-xxs);\n }\n\n .contentContainer > .textContent {\n width: 65%;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { RouterController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nlet W3mAccountNftsWidget = class W3mAccountNftsWidget extends LitElement {\n render() {\n return html `${this.nftTemplate()}`;\n }\n nftTemplate() {\n return html ` \n \n \n No NFTs yet\n Transfer from another wallets to get started\n \n Receive NFTs\n `;\n }\n onReceiveClick() {\n RouterController.push('WalletReceive');\n }\n};\nW3mAccountNftsWidget.styles = styles;\nW3mAccountNftsWidget = __decorate([\n customElement('w3m-account-nfts-widget')\n], W3mAccountNftsWidget);\nexport { W3mAccountNftsWidget };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n width: 100%;\n }\n\n wui-flex {\n width: 100%;\n }\n\n .contentContainer {\n max-height: 280px;\n overflow: scroll;\n scrollbar-width: none;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController, RouterController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nimport { state } from 'lit/decorators.js';\nlet W3mAccountTokensWidget = class W3mAccountTokensWidget extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.tokenBalance = AccountController.state.tokenBalance;\n this.unsubscribe.push(...[\n AccountController.subscribe(val => {\n this.tokenBalance = val.tokenBalance;\n })\n ]);\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return html `${this.tokenTemplate()}`;\n }\n tokenTemplate() {\n if (this.tokenBalance && this.tokenBalance?.length > 0) {\n return html `\n ${this.tokenItemTemplate()}\n `;\n }\n return html ` `;\n }\n tokenItemTemplate() {\n return this.tokenBalance?.map(token => html ``);\n }\n onReceiveClick() {\n RouterController.push('WalletReceive');\n }\n onBuyClick() {\n RouterController.push('OnRampProviders');\n }\n};\nW3mAccountTokensWidget.styles = styles;\n__decorate([\n state()\n], W3mAccountTokensWidget.prototype, \"tokenBalance\", void 0);\nW3mAccountTokensWidget = __decorate([\n customElement('w3m-account-tokens-widget')\n], W3mAccountTokensWidget);\nexport { W3mAccountTokensWidget };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n min-height: 100%;\n }\n\n .contentContainer {\n height: 280px;\n }\n\n .contentContainer > wui-icon-box {\n width: 40px;\n height: 40px;\n border-radius: var(--wui-border-radius-xxs);\n }\n\n .contentContainer > .textContent {\n width: 65%;\n }\n\n .emptyContainer {\n height: 100%;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { DateUtil } from '@web3modal/common';\nimport { AccountController, EventsController, OptionsController, RouterController, TransactionsController } from '@web3modal/core';\nimport { TransactionUtil, customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport styles from './styles.js';\nconst PAGINATOR_ID = 'last-transaction';\nconst LOADING_ITEM_COUNT = 7;\nlet W3mActivityList = class W3mActivityList extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.paginationObserver = undefined;\n this.page = 'activity';\n this.address = AccountController.state.address;\n this.transactionsByYear = TransactionsController.state.transactionsByYear;\n this.loading = TransactionsController.state.loading;\n this.empty = TransactionsController.state.empty;\n this.next = TransactionsController.state.next;\n TransactionsController.clearCursor();\n this.unsubscribe.push(...[\n AccountController.subscribe(val => {\n if (val.isConnected) {\n if (this.address !== val.address) {\n this.address = val.address;\n TransactionsController.resetTransactions();\n TransactionsController.fetchTransactions(val.address);\n }\n }\n }),\n TransactionsController.subscribe(val => {\n this.transactionsByYear = val.transactionsByYear;\n this.loading = val.loading;\n this.empty = val.empty;\n this.next = val.next;\n })\n ]);\n }\n firstUpdated() {\n TransactionsController.fetchTransactions(this.address);\n this.createPaginationObserver();\n }\n updated() {\n this.setPaginationObserver();\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return html ` ${this.empty ? null : this.templateTransactionsByYear()}\n ${this.loading ? this.templateLoading() : null}\n ${!this.loading && this.empty ? this.templateEmpty() : null}`;\n }\n templateTransactionsByYear() {\n const sortedYearKeys = Object.keys(this.transactionsByYear).sort().reverse();\n return sortedYearKeys.map((year, index) => {\n const isLastGroup = index === sortedYearKeys.length - 1;\n const yearInt = parseInt(year, 10);\n const sortedMonthIndexes = new Array(12)\n .fill(null)\n .map((_, idx) => idx)\n .reverse();\n return sortedMonthIndexes.map(month => {\n const groupTitle = TransactionUtil.getTransactionGroupTitle(yearInt, month);\n const transactions = this.transactionsByYear[yearInt]?.[month];\n if (!transactions) {\n return null;\n }\n return html `\n \n \n ${groupTitle}\n \n \n ${this.templateTransactions(transactions, isLastGroup)}\n \n \n `;\n });\n });\n }\n templateRenderTransaction(transaction, isLastTransaction) {\n const { date, descriptions, direction, isAllNFT, images, status, transfers, type } = this.getTransactionListItemProps(transaction);\n const haveMultipleTransfers = transfers?.length > 1;\n const haveTwoTransfers = transfers?.length === 2;\n if (haveTwoTransfers && !isAllNFT) {\n return html `\n \n `;\n }\n if (haveMultipleTransfers) {\n return transfers.map((transfer, index) => {\n const description = TransactionUtil.getTransferDescription(transfer);\n const isLastTransfer = isLastTransaction && index === transfers.length - 1;\n return html ` `;\n });\n }\n return html `\n \n `;\n }\n templateTransactions(transactions, isLastGroup) {\n return transactions.map((transaction, index) => {\n const isLastTransaction = isLastGroup && index === transactions.length - 1;\n return html `${this.templateRenderTransaction(transaction, isLastTransaction)}`;\n });\n }\n emptyStateActivity() {\n return html `\n \n \n No Transactions yet\n Start trading on dApps
\n to grow your wallet!\n
\n `;\n }\n emptyStateAccount() {\n return html `\n \n \n No activity yet\n Your next transactions will appear here\n \n Trade\n `;\n }\n templateEmpty() {\n if (this.page === 'account') {\n return html `${this.emptyStateAccount()}`;\n }\n return html `${this.emptyStateActivity()}`;\n }\n templateLoading() {\n if (this.page === 'activity') {\n return Array(LOADING_ITEM_COUNT)\n .fill(html ` `)\n .map(item => item);\n }\n return null;\n }\n onReceiveClick() {\n RouterController.push('WalletReceive');\n }\n createPaginationObserver() {\n const { projectId } = OptionsController.state;\n this.paginationObserver = new IntersectionObserver(([element]) => {\n if (element?.isIntersecting && !this.loading) {\n TransactionsController.fetchTransactions(this.address);\n EventsController.sendEvent({\n type: 'track',\n event: 'LOAD_MORE_TRANSACTIONS',\n properties: {\n address: this.address,\n projectId,\n cursor: this.next\n }\n });\n }\n }, {});\n this.setPaginationObserver();\n }\n setPaginationObserver() {\n this.paginationObserver?.disconnect();\n const lastItem = this.shadowRoot?.querySelector(`#${PAGINATOR_ID}`);\n if (lastItem) {\n this.paginationObserver?.observe(lastItem);\n }\n }\n getTransactionListItemProps(transaction) {\n const date = DateUtil.formatDate(transaction?.metadata?.minedAt);\n const descriptions = TransactionUtil.getTransactionDescriptions(transaction);\n const transfers = transaction?.transfers;\n const transfer = transaction?.transfers?.[0];\n const isAllNFT = Boolean(transfer) && transaction?.transfers?.every(item => Boolean(item.nft_info));\n const images = TransactionUtil.getTransactionImages(transfers);\n return {\n date,\n direction: transfer?.direction,\n descriptions,\n isAllNFT,\n images,\n status: transaction.metadata?.status,\n transfers,\n type: transaction.metadata?.operationType\n };\n }\n};\nW3mActivityList.styles = styles;\n__decorate([\n property()\n], W3mActivityList.prototype, \"page\", void 0);\n__decorate([\n state()\n], W3mActivityList.prototype, \"address\", void 0);\n__decorate([\n state()\n], W3mActivityList.prototype, \"transactionsByYear\", void 0);\n__decorate([\n state()\n], W3mActivityList.prototype, \"loading\", void 0);\n__decorate([\n state()\n], W3mActivityList.prototype, \"empty\", void 0);\n__decorate([\n state()\n], W3mActivityList.prototype, \"next\", void 0);\nW3mActivityList = __decorate([\n customElement('w3m-activity-list')\n], W3mActivityList);\nexport { W3mActivityList };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n width: 100%;\n height: 100px;\n border-radius: var(--wui-border-radius-s);\n border: 1px solid var(--wui-gray-glass-002);\n background-color: var(--wui-gray-glass-002);\n transition: background-color var(--wui-ease-out-power-1) var(--wui-duration-lg);\n will-change: background-color;\n }\n\n :host(:hover) {\n background-color: var(--wui-gray-glass-005);\n }\n\n wui-flex {\n width: 100%;\n height: fit-content;\n }\n\n wui-button {\n width: 100%;\n display: flex;\n justify-content: flex-end;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { UiHelperUtil, customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nimport { property } from 'lit/decorators.js';\nimport { RouterController, SendController } from '@web3modal/core';\nlet W3mInputToken = class W3mInputToken extends LitElement {\n render() {\n return html ` \n \n \n ${this.buttonTemplate()}\n \n \n ${this.sendValueTemplate()}\n \n ${this.maxAmountTemplate()} ${this.actionTemplate()}\n \n \n `;\n }\n buttonTemplate() {\n if (this.token) {\n return html `Select token`;\n }\n return html `Select token`;\n }\n handleSelectButtonClick() {\n RouterController.push('WalletSendSelectToken');\n }\n sendValueTemplate() {\n if (this.token && this.sendTokenAmount) {\n const price = this.token.price;\n const totalValue = price * this.sendTokenAmount;\n return html `$${totalValue.toFixed(2)}`;\n }\n return null;\n }\n maxAmountTemplate() {\n if (this.token) {\n if (this.sendTokenAmount && this.sendTokenAmount > Number(this.token.quantity.numeric)) {\n return html ` \n ${UiHelperUtil.roundNumber(Number(this.token.quantity.numeric), 6, 5)}\n `;\n }\n return html ` \n ${UiHelperUtil.roundNumber(Number(this.token.quantity.numeric), 6, 5)}\n `;\n }\n return null;\n }\n actionTemplate() {\n if (this.token) {\n if (this.sendTokenAmount && this.sendTokenAmount > Number(this.token.quantity.numeric)) {\n return html `Buy`;\n }\n return html `Max`;\n }\n return null;\n }\n onInputChange(event) {\n SendController.setTokenAmount(event.detail);\n }\n onMaxClick() {\n if (this.token) {\n SendController.setTokenAmount(Number(this.token?.quantity.numeric));\n }\n }\n onBuyClick() {\n RouterController.push('OnRampProviders');\n }\n};\nW3mInputToken.styles = styles;\n__decorate([\n property({ type: Object })\n], W3mInputToken.prototype, \"token\", void 0);\n__decorate([\n property({ type: Number })\n], W3mInputToken.prototype, \"sendTokenAmount\", void 0);\nW3mInputToken = __decorate([\n customElement('w3m-input-token')\n], W3mInputToken);\nexport { W3mInputToken };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n width: 100%;\n height: 100px;\n border-radius: var(--wui-border-radius-s);\n border: 1px solid var(--wui-gray-glass-002);\n background-color: var(--wui-gray-glass-002);\n transition: background-color var(--wui-ease-out-power-1) var(--wui-duration-lg);\n will-change: background-color;\n position: relative;\n }\n\n :host(:hover) {\n background-color: var(--wui-gray-glass-005);\n }\n\n wui-flex {\n width: 100%;\n height: fit-content;\n }\n\n wui-button {\n display: ruby;\n color: var(--wui-color-fg-100);\n margin: 0 var(--wui-spacing-xs);\n }\n\n .instruction {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n }\n\n textarea {\n background: transparent;\n width: 100%;\n font-family: var(--w3m-font-family);\n font-size: var(--wui-font-size-medium);\n font-style: normal;\n font-weight: var(--wui-font-weight-light);\n line-height: 130%;\n letter-spacing: var(--wui-letter-spacing-medium);\n color: var(--wui-color-fg-100);\n caret-color: var(--wui-color-accent-100);\n box-sizing: border-box;\n -webkit-appearance: none;\n -moz-appearance: textfield;\n padding: 0px;\n border: none;\n outline: none;\n appearance: none;\n resize: none;\n overflow: hidden;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nimport { property, state } from 'lit/decorators.js';\nimport { SendController } from '@web3modal/core';\nimport { createRef, ref } from 'lit/directives/ref.js';\nlet W3mInputAddress = class W3mInputAddress extends LitElement {\n constructor() {\n super(...arguments);\n this.inputElementRef = createRef();\n this.instructionElementRef = createRef();\n this.instructionHidden = Boolean(this.receiverAddress);\n }\n firstUpdated() {\n if (this.receiverAddress) {\n this.instructionHidden = true;\n }\n this.checkHidden();\n }\n render() {\n return html ` \n \n Type or\n \n \n Paste\n \n address\n \n \n${this.receiverAddress ?? ''}\n `;\n }\n async focusInput() {\n if (this.instructionElementRef.value) {\n this.instructionHidden = true;\n await this.toggleInstructionFocus(false);\n this.instructionElementRef.value.style.pointerEvents = 'none';\n this.inputElementRef.value?.focus();\n if (this.inputElementRef.value) {\n this.inputElementRef.value.selectionStart = this.inputElementRef.value.selectionEnd =\n this.inputElementRef.value.value.length;\n }\n }\n }\n async focusInstruction() {\n if (this.instructionElementRef.value) {\n this.instructionHidden = false;\n await this.toggleInstructionFocus(true);\n this.instructionElementRef.value.style.pointerEvents = 'auto';\n this.inputElementRef.value?.blur();\n }\n }\n async toggleInstructionFocus(focus) {\n if (this.instructionElementRef.value) {\n await this.instructionElementRef.value.animate([{ opacity: focus ? 0 : 1 }, { opacity: focus ? 1 : 0 }], {\n duration: 100,\n easing: 'ease',\n fill: 'forwards'\n }).finished;\n }\n }\n onBoxClick() {\n if (!this.receiverAddress && !this.instructionHidden) {\n this.focusInput();\n }\n }\n onBlur() {\n if (!this.receiverAddress && this.instructionHidden) {\n this.focusInstruction();\n }\n }\n checkHidden() {\n if (this.instructionHidden) {\n this.focusInput();\n }\n }\n async onPasteClick() {\n const text = await navigator.clipboard.readText();\n SendController.setReceiverAddress(text);\n }\n onInputChange(e) {\n const element = e.target;\n if (element.value && !this.instructionHidden) {\n this.focusInput();\n }\n SendController.setReceiverAddress(element.value);\n }\n};\nW3mInputAddress.styles = styles;\n__decorate([\n property()\n], W3mInputAddress.prototype, \"receiverAddress\", void 0);\n__decorate([\n state()\n], W3mInputAddress.prototype, \"instructionHidden\", void 0);\nW3mInputAddress = __decorate([\n customElement('w3m-input-address')\n], W3mInputAddress);\nexport { W3mInputAddress };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: flex;\n width: 100%;\n flex-direction: column;\n gap: var(--wui-border-radius-1xs);\n border-radius: var(--wui-border-radius-s);\n background: var(--wui-gray-glass-002);\n padding: var(--wui-spacing-s) var(--wui-spacing-1xs) var(--wui-spacing-1xs)\n var(--wui-spacing-1xs);\n }\n\n wui-text {\n padding: 0 var(--wui-spacing-1xs);\n }\n\n wui-flex {\n margin-top: var(--wui-spacing-1xs);\n }\n\n .network {\n cursor: pointer;\n transition: background-color var(--wui-ease-out-power-1) var(--wui-duration-lg);\n will-change: background-color;\n }\n\n .network:focus-visible {\n border: 1px solid var(--wui-color-accent-100);\n background-color: var(--wui-gray-glass-005);\n -webkit-box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n -moz-box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n }\n\n .network:hover {\n background-color: var(--wui-gray-glass-005);\n }\n\n .network:active {\n background-color: var(--wui-gray-glass-010);\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { UiHelperUtil, customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nimport { property } from 'lit/decorators.js';\nimport { AssetUtil, RouterController } from '@web3modal/core';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nlet W3mWalletSendDetails = class W3mWalletSendDetails extends LitElement {\n render() {\n return html ` Details\n \n \n \n \n ${this.networkTemplate()}\n `;\n }\n networkTemplate() {\n if (this.caipNetwork?.name) {\n return html ` this.onNetworkClick(this.caipNetwork)}\n class=\"network\"\n textTitle=\"Network\"\n imageSrc=${ifDefined(AssetUtil.getNetworkImage(this.caipNetwork))}\n >`;\n }\n return null;\n }\n onNetworkClick(network) {\n if (network) {\n RouterController.push('Networks', { network });\n }\n }\n};\nW3mWalletSendDetails.styles = styles;\n__decorate([\n property()\n], W3mWalletSendDetails.prototype, \"receiverAddress\", void 0);\n__decorate([\n property({ type: Object })\n], W3mWalletSendDetails.prototype, \"caipNetwork\", void 0);\nW3mWalletSendDetails = __decorate([\n customElement('w3m-wallet-send-details')\n], W3mWalletSendDetails);\nexport { W3mWalletSendDetails };\n//# sourceMappingURL=index.js.map","import { AccountController, BlockchainApiController, ConnectionController, ConnectorController, CoreHelperUtil, EventsController, ModalController, NetworkController, OptionsController, PublicStateController, ThemeController, SnackController, RouterController } from '@web3modal/core';\nimport { setColorTheme, setThemeVariables } from '@web3modal/ui';\nlet isInitialized = false;\nexport class Web3ModalScaffold {\n constructor(options) {\n this.initPromise = undefined;\n this.setIsConnected = isConnected => {\n AccountController.setIsConnected(isConnected);\n };\n this.getIsConnectedState = () => AccountController.state.isConnected;\n this.setCaipAddress = caipAddress => {\n AccountController.setCaipAddress(caipAddress);\n };\n this.setBalance = (balance, balanceSymbol) => {\n AccountController.setBalance(balance, balanceSymbol);\n };\n this.setProfileName = profileName => {\n AccountController.setProfileName(profileName);\n };\n this.setProfileImage = profileImage => {\n AccountController.setProfileImage(profileImage);\n };\n this.resetAccount = () => {\n AccountController.resetAccount();\n };\n this.setCaipNetwork = caipNetwork => {\n NetworkController.setCaipNetwork(caipNetwork);\n };\n this.getCaipNetwork = () => NetworkController.state.caipNetwork;\n this.setRequestedCaipNetworks = requestedCaipNetworks => {\n NetworkController.setRequestedCaipNetworks(requestedCaipNetworks);\n };\n this.getApprovedCaipNetworksData = () => NetworkController.getApprovedCaipNetworksData();\n this.resetNetwork = () => {\n NetworkController.resetNetwork();\n };\n this.setConnectors = connectors => {\n ConnectorController.setConnectors(connectors);\n };\n this.addConnector = connector => {\n ConnectorController.addConnector(connector);\n };\n this.getConnectors = () => ConnectorController.getConnectors();\n this.resetWcConnection = () => {\n ConnectionController.resetWcConnection();\n };\n this.fetchIdentity = request => BlockchainApiController.fetchIdentity(request);\n this.setAddressExplorerUrl = addressExplorerUrl => {\n AccountController.setAddressExplorerUrl(addressExplorerUrl);\n };\n this.setSmartAccountDeployed = isDeployed => {\n AccountController.setSmartAccountDeployed(isDeployed);\n };\n this.setConnectedWalletInfo = connectedWalletInfo => {\n AccountController.setConnectedWalletInfo(connectedWalletInfo);\n };\n this.setSmartAccountEnabledNetworks = smartAccountEnabledNetworks => {\n NetworkController.setSmartAccountEnabledNetworks(smartAccountEnabledNetworks);\n };\n this.setPreferredAccountType = preferredAccountType => {\n AccountController.setPreferredAccountType(preferredAccountType);\n };\n this.initControllers(options);\n this.initOrContinue();\n }\n async open(options) {\n await this.initOrContinue();\n ModalController.open(options);\n }\n async close() {\n await this.initOrContinue();\n ModalController.close();\n }\n setLoading(loading) {\n ModalController.setLoading(loading);\n }\n getThemeMode() {\n return ThemeController.state.themeMode;\n }\n getThemeVariables() {\n return ThemeController.state.themeVariables;\n }\n setThemeMode(themeMode) {\n ThemeController.setThemeMode(themeMode);\n setColorTheme(ThemeController.state.themeMode);\n }\n setThemeVariables(themeVariables) {\n ThemeController.setThemeVariables(themeVariables);\n setThemeVariables(ThemeController.state.themeVariables);\n }\n subscribeTheme(callback) {\n return ThemeController.subscribe(callback);\n }\n getWalletInfo() {\n return AccountController.state.connectedWalletInfo;\n }\n subscribeWalletInfo(callback) {\n return AccountController.subscribeKey('connectedWalletInfo', callback);\n }\n getState() {\n return PublicStateController.state;\n }\n subscribeState(callback) {\n return PublicStateController.subscribe(callback);\n }\n showErrorMessage(message) {\n SnackController.showError(message);\n }\n showSuccessMessage(message) {\n SnackController.showSuccess(message);\n }\n getEvent() {\n return { ...EventsController.state };\n }\n subscribeEvents(callback) {\n return EventsController.subscribe(callback);\n }\n redirect(route) {\n RouterController.push(route);\n }\n popTransactionStack(cancel) {\n RouterController.popTransactionStack(cancel);\n }\n isOpen() {\n return ModalController.state.open;\n }\n isTransactionStackEmpty() {\n return RouterController.state.transactionStack.length === 0;\n }\n async initControllers(options) {\n NetworkController.setClient(options.networkControllerClient);\n NetworkController.setDefaultCaipNetwork(options.defaultChain);\n OptionsController.setProjectId(options.projectId);\n OptionsController.setAllWallets(options.allWallets);\n OptionsController.setIncludeWalletIds(options.includeWalletIds);\n OptionsController.setExcludeWalletIds(options.excludeWalletIds);\n OptionsController.setFeaturedWalletIds(options.featuredWalletIds);\n OptionsController.setTokens(options.tokens);\n OptionsController.setTermsConditionsUrl(options.termsConditionsUrl);\n OptionsController.setPrivacyPolicyUrl(options.privacyPolicyUrl);\n OptionsController.setCustomWallets(options.customWallets);\n OptionsController.setEnableAnalytics(options.enableAnalytics);\n OptionsController.setSdkVersion(options._sdkVersion);\n ConnectionController.setClient(options.connectionControllerClient);\n if (options.siweControllerClient) {\n const { SIWEController } = await import('@web3modal/siwe');\n SIWEController.setSIWEClient(options.siweControllerClient);\n }\n if (options.metadata) {\n OptionsController.setMetadata(options.metadata);\n }\n if (options.themeMode) {\n ThemeController.setThemeMode(options.themeMode);\n }\n if (options.themeVariables) {\n ThemeController.setThemeVariables(options.themeVariables);\n }\n if (options.enableOnramp) {\n OptionsController.setOnrampEnabled(Boolean(options.enableOnramp));\n }\n if (options.enableWalletFeatures) {\n OptionsController.setWalletFeaturesEnabled(Boolean(options.enableWalletFeatures));\n }\n if (options.allowUnsupportedChain) {\n NetworkController.setAllowUnsupportedChain(options.allowUnsupportedChain);\n }\n }\n async initOrContinue() {\n if (!this.initPromise && !isInitialized && CoreHelperUtil.isClient()) {\n isInitialized = true;\n this.initPromise = new Promise(async (resolve) => {\n await Promise.all([import('@web3modal/ui'), import('./modal/w3m-modal/index.js')]);\n const modal = document.createElement('w3m-modal');\n document.body.insertAdjacentElement('beforeend', modal);\n resolve();\n });\n }\n return this.initPromise;\n }\n}\n//# sourceMappingURL=client.js.map","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package int provides helper functions for integerss.\n */\n// Shim using 16-bit pieces.\nfunction imulShim(a, b) {\n var ah = (a >>> 16) & 0xffff, al = a & 0xffff;\n var bh = (b >>> 16) & 0xffff, bl = b & 0xffff;\n return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0) | 0);\n}\n/** 32-bit integer multiplication. */\n// Use system Math.imul if available, otherwise use our shim.\nexports.mul = Math.imul || imulShim;\n/** 32-bit integer addition. */\nfunction add(a, b) {\n return (a + b) | 0;\n}\nexports.add = add;\n/** 32-bit integer subtraction. */\nfunction sub(a, b) {\n return (a - b) | 0;\n}\nexports.sub = sub;\n/** 32-bit integer left rotation */\nfunction rotl(x, n) {\n return x << n | x >>> (32 - n);\n}\nexports.rotl = rotl;\n/** 32-bit integer left rotation */\nfunction rotr(x, n) {\n return x << (32 - n) | x >>> n;\n}\nexports.rotr = rotr;\nfunction isIntegerShim(n) {\n return typeof n === \"number\" && isFinite(n) && Math.floor(n) === n;\n}\n/**\n * Returns true if the argument is an integer number.\n *\n * In ES2015, Number.isInteger.\n */\nexports.isInteger = Number.isInteger || isIntegerShim;\n/**\n * Math.pow(2, 53) - 1\n *\n * In ES2015 Number.MAX_SAFE_INTEGER.\n */\nexports.MAX_SAFE_INTEGER = 9007199254740991;\n/**\n * Returns true if the argument is a safe integer number\n * (-MIN_SAFE_INTEGER < number <= MAX_SAFE_INTEGER)\n *\n * In ES2015, Number.isSafeInteger.\n */\nexports.isSafeInteger = function (n) {\n return exports.isInteger(n) && (n >= -exports.MAX_SAFE_INTEGER && n <= exports.MAX_SAFE_INTEGER);\n};\n//# sourceMappingURL=int.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package binary provides functions for encoding and decoding numbers in byte arrays.\n */\nvar int_1 = require(\"@stablelib/int\");\n// TODO(dchest): add asserts for correct value ranges and array offsets.\n/**\n * Reads 2 bytes from array starting at offset as big-endian\n * signed 16-bit integer and returns it.\n */\nfunction readInt16BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return (((array[offset + 0] << 8) | array[offset + 1]) << 16) >> 16;\n}\nexports.readInt16BE = readInt16BE;\n/**\n * Reads 2 bytes from array starting at offset as big-endian\n * unsigned 16-bit integer and returns it.\n */\nfunction readUint16BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return ((array[offset + 0] << 8) | array[offset + 1]) >>> 0;\n}\nexports.readUint16BE = readUint16BE;\n/**\n * Reads 2 bytes from array starting at offset as little-endian\n * signed 16-bit integer and returns it.\n */\nfunction readInt16LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return (((array[offset + 1] << 8) | array[offset]) << 16) >> 16;\n}\nexports.readInt16LE = readInt16LE;\n/**\n * Reads 2 bytes from array starting at offset as little-endian\n * unsigned 16-bit integer and returns it.\n */\nfunction readUint16LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return ((array[offset + 1] << 8) | array[offset]) >>> 0;\n}\nexports.readUint16LE = readUint16LE;\n/**\n * Writes 2-byte big-endian representation of 16-bit unsigned\n * value to byte array starting at offset.\n *\n * If byte array is not given, creates a new 2-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint16BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(2); }\n if (offset === void 0) { offset = 0; }\n out[offset + 0] = value >>> 8;\n out[offset + 1] = value >>> 0;\n return out;\n}\nexports.writeUint16BE = writeUint16BE;\nexports.writeInt16BE = writeUint16BE;\n/**\n * Writes 2-byte little-endian representation of 16-bit unsigned\n * value to array starting at offset.\n *\n * If byte array is not given, creates a new 2-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint16LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(2); }\n if (offset === void 0) { offset = 0; }\n out[offset + 0] = value >>> 0;\n out[offset + 1] = value >>> 8;\n return out;\n}\nexports.writeUint16LE = writeUint16LE;\nexports.writeInt16LE = writeUint16LE;\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * signed 32-bit integer and returns it.\n */\nfunction readInt32BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return (array[offset] << 24) |\n (array[offset + 1] << 16) |\n (array[offset + 2] << 8) |\n array[offset + 3];\n}\nexports.readInt32BE = readInt32BE;\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * unsigned 32-bit integer and returns it.\n */\nfunction readUint32BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return ((array[offset] << 24) |\n (array[offset + 1] << 16) |\n (array[offset + 2] << 8) |\n array[offset + 3]) >>> 0;\n}\nexports.readUint32BE = readUint32BE;\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * signed 32-bit integer and returns it.\n */\nfunction readInt32LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return (array[offset + 3] << 24) |\n (array[offset + 2] << 16) |\n (array[offset + 1] << 8) |\n array[offset];\n}\nexports.readInt32LE = readInt32LE;\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * unsigned 32-bit integer and returns it.\n */\nfunction readUint32LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return ((array[offset + 3] << 24) |\n (array[offset + 2] << 16) |\n (array[offset + 1] << 8) |\n array[offset]) >>> 0;\n}\nexports.readUint32LE = readUint32LE;\n/**\n * Writes 4-byte big-endian representation of 32-bit unsigned\n * value to byte array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint32BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(4); }\n if (offset === void 0) { offset = 0; }\n out[offset + 0] = value >>> 24;\n out[offset + 1] = value >>> 16;\n out[offset + 2] = value >>> 8;\n out[offset + 3] = value >>> 0;\n return out;\n}\nexports.writeUint32BE = writeUint32BE;\nexports.writeInt32BE = writeUint32BE;\n/**\n * Writes 4-byte little-endian representation of 32-bit unsigned\n * value to array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint32LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(4); }\n if (offset === void 0) { offset = 0; }\n out[offset + 0] = value >>> 0;\n out[offset + 1] = value >>> 8;\n out[offset + 2] = value >>> 16;\n out[offset + 3] = value >>> 24;\n return out;\n}\nexports.writeUint32LE = writeUint32LE;\nexports.writeInt32LE = writeUint32LE;\n/**\n * Reads 8 bytes from array starting at offset as big-endian\n * signed 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports exact\n * numbers in range -9007199254740991 to 9007199254740991.\n * If the number stored in the byte array is outside this range,\n * the result is not exact.\n */\nfunction readInt64BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var hi = readInt32BE(array, offset);\n var lo = readInt32BE(array, offset + 4);\n return hi * 0x100000000 + lo - ((lo >> 31) * 0x100000000);\n}\nexports.readInt64BE = readInt64BE;\n/**\n * Reads 8 bytes from array starting at offset as big-endian\n * unsigned 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports values up to 2^53-1.\n */\nfunction readUint64BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var hi = readUint32BE(array, offset);\n var lo = readUint32BE(array, offset + 4);\n return hi * 0x100000000 + lo;\n}\nexports.readUint64BE = readUint64BE;\n/**\n * Reads 8 bytes from array starting at offset as little-endian\n * signed 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports exact\n * numbers in range -9007199254740991 to 9007199254740991.\n * If the number stored in the byte array is outside this range,\n * the result is not exact.\n */\nfunction readInt64LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var lo = readInt32LE(array, offset);\n var hi = readInt32LE(array, offset + 4);\n return hi * 0x100000000 + lo - ((lo >> 31) * 0x100000000);\n}\nexports.readInt64LE = readInt64LE;\n/**\n * Reads 8 bytes from array starting at offset as little-endian\n * unsigned 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports values up to 2^53-1.\n */\nfunction readUint64LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var lo = readUint32LE(array, offset);\n var hi = readUint32LE(array, offset + 4);\n return hi * 0x100000000 + lo;\n}\nexports.readUint64LE = readUint64LE;\n/**\n * Writes 8-byte big-endian representation of 64-bit unsigned\n * value to byte array starting at offset.\n *\n * Due to JavaScript limitation, supports values up to 2^53-1.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint64BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(8); }\n if (offset === void 0) { offset = 0; }\n writeUint32BE(value / 0x100000000 >>> 0, out, offset);\n writeUint32BE(value >>> 0, out, offset + 4);\n return out;\n}\nexports.writeUint64BE = writeUint64BE;\nexports.writeInt64BE = writeUint64BE;\n/**\n * Writes 8-byte little-endian representation of 64-bit unsigned\n * value to byte array starting at offset.\n *\n * Due to JavaScript limitation, supports values up to 2^53-1.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint64LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(8); }\n if (offset === void 0) { offset = 0; }\n writeUint32LE(value >>> 0, out, offset);\n writeUint32LE(value / 0x100000000 >>> 0, out, offset + 4);\n return out;\n}\nexports.writeUint64LE = writeUint64LE;\nexports.writeInt64LE = writeUint64LE;\n/**\n * Reads bytes from array starting at offset as big-endian\n * unsigned bitLen-bit integer and returns it.\n *\n * Supports bit lengths divisible by 8, up to 48.\n */\nfunction readUintBE(bitLength, array, offset) {\n if (offset === void 0) { offset = 0; }\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"readUintBE supports only bitLengths divisible by 8\");\n }\n if (bitLength / 8 > array.length - offset) {\n throw new Error(\"readUintBE: array is too short for the given bitLength\");\n }\n var result = 0;\n var mul = 1;\n for (var i = bitLength / 8 + offset - 1; i >= offset; i--) {\n result += array[i] * mul;\n mul *= 256;\n }\n return result;\n}\nexports.readUintBE = readUintBE;\n/**\n * Reads bytes from array starting at offset as little-endian\n * unsigned bitLen-bit integer and returns it.\n *\n * Supports bit lengths divisible by 8, up to 48.\n */\nfunction readUintLE(bitLength, array, offset) {\n if (offset === void 0) { offset = 0; }\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"readUintLE supports only bitLengths divisible by 8\");\n }\n if (bitLength / 8 > array.length - offset) {\n throw new Error(\"readUintLE: array is too short for the given bitLength\");\n }\n var result = 0;\n var mul = 1;\n for (var i = offset; i < offset + bitLength / 8; i++) {\n result += array[i] * mul;\n mul *= 256;\n }\n return result;\n}\nexports.readUintLE = readUintLE;\n/**\n * Writes a big-endian representation of bitLen-bit unsigned\n * value to array starting at offset.\n *\n * Supports bit lengths divisible by 8, up to 48.\n *\n * If byte array is not given, creates a new one.\n *\n * Returns the output byte array.\n */\nfunction writeUintBE(bitLength, value, out, offset) {\n if (out === void 0) { out = new Uint8Array(bitLength / 8); }\n if (offset === void 0) { offset = 0; }\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"writeUintBE supports only bitLengths divisible by 8\");\n }\n if (!int_1.isSafeInteger(value)) {\n throw new Error(\"writeUintBE value must be an integer\");\n }\n var div = 1;\n for (var i = bitLength / 8 + offset - 1; i >= offset; i--) {\n out[i] = (value / div) & 0xff;\n div *= 256;\n }\n return out;\n}\nexports.writeUintBE = writeUintBE;\n/**\n * Writes a little-endian representation of bitLen-bit unsigned\n * value to array starting at offset.\n *\n * Supports bit lengths divisible by 8, up to 48.\n *\n * If byte array is not given, creates a new one.\n *\n * Returns the output byte array.\n */\nfunction writeUintLE(bitLength, value, out, offset) {\n if (out === void 0) { out = new Uint8Array(bitLength / 8); }\n if (offset === void 0) { offset = 0; }\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"writeUintLE supports only bitLengths divisible by 8\");\n }\n if (!int_1.isSafeInteger(value)) {\n throw new Error(\"writeUintLE value must be an integer\");\n }\n var div = 1;\n for (var i = offset; i < offset + bitLength / 8; i++) {\n out[i] = (value / div) & 0xff;\n div *= 256;\n }\n return out;\n}\nexports.writeUintLE = writeUintLE;\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * 32-bit floating-point number and returns it.\n */\nfunction readFloat32BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat32(offset);\n}\nexports.readFloat32BE = readFloat32BE;\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * 32-bit floating-point number and returns it.\n */\nfunction readFloat32LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat32(offset, true);\n}\nexports.readFloat32LE = readFloat32LE;\n/**\n * Reads 8 bytes from array starting at offset as big-endian\n * 64-bit floating-point number (\"double\") and returns it.\n */\nfunction readFloat64BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat64(offset);\n}\nexports.readFloat64BE = readFloat64BE;\n/**\n * Reads 8 bytes from array starting at offset as little-endian\n * 64-bit floating-point number (\"double\") and returns it.\n */\nfunction readFloat64LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat64(offset, true);\n}\nexports.readFloat64LE = readFloat64LE;\n/**\n * Writes 4-byte big-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeFloat32BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(4); }\n if (offset === void 0) { offset = 0; }\n var view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat32(offset, value);\n return out;\n}\nexports.writeFloat32BE = writeFloat32BE;\n/**\n * Writes 4-byte little-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeFloat32LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(4); }\n if (offset === void 0) { offset = 0; }\n var view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat32(offset, value, true);\n return out;\n}\nexports.writeFloat32LE = writeFloat32LE;\n/**\n * Writes 8-byte big-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeFloat64BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(8); }\n if (offset === void 0) { offset = 0; }\n var view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat64(offset, value);\n return out;\n}\nexports.writeFloat64BE = writeFloat64BE;\n/**\n * Writes 8-byte little-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeFloat64LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(8); }\n if (offset === void 0) { offset = 0; }\n var view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat64(offset, value, true);\n return out;\n}\nexports.writeFloat64LE = writeFloat64LE;\n//# sourceMappingURL=binary.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Sets all values in the given array to zero and returns it.\n *\n * The fact that it sets bytes to zero can be relied on.\n *\n * There is no guarantee that this function makes data disappear from memory,\n * as runtime implementation can, for example, have copying garbage collector\n * that will make copies of sensitive data before we wipe it. Or that an\n * operating system will write our data to swap or sleep image. Another thing\n * is that an optimizing compiler can remove calls to this function or make it\n * no-op. There's nothing we can do with it, so we just do our best and hope\n * that everything will be okay and good will triumph over evil.\n */\nfunction wipe(array) {\n // Right now it's similar to array.fill(0). If it turns\n // out that runtimes optimize this call away, maybe\n // we can try something else.\n for (var i = 0; i < array.length; i++) {\n array[i] = 0;\n }\n return array;\n}\nexports.wipe = wipe;\n//# sourceMappingURL=wipe.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package chacha implements ChaCha stream cipher.\n */\nvar binary_1 = require(\"@stablelib/binary\");\nvar wipe_1 = require(\"@stablelib/wipe\");\n// Number of ChaCha rounds (ChaCha20).\nvar ROUNDS = 20;\n// Applies the ChaCha core function to 16-byte input,\n// 32-byte key key, and puts the result into 64-byte array out.\nfunction core(out, input, key) {\n var j0 = 0x61707865; // \"expa\" -- ChaCha's \"sigma\" constant\n var j1 = 0x3320646E; // \"nd 3\" for 32-byte keys\n var j2 = 0x79622D32; // \"2-by\"\n var j3 = 0x6B206574; // \"te k\"\n var j4 = (key[3] << 24) | (key[2] << 16) | (key[1] << 8) | key[0];\n var j5 = (key[7] << 24) | (key[6] << 16) | (key[5] << 8) | key[4];\n var j6 = (key[11] << 24) | (key[10] << 16) | (key[9] << 8) | key[8];\n var j7 = (key[15] << 24) | (key[14] << 16) | (key[13] << 8) | key[12];\n var j8 = (key[19] << 24) | (key[18] << 16) | (key[17] << 8) | key[16];\n var j9 = (key[23] << 24) | (key[22] << 16) | (key[21] << 8) | key[20];\n var j10 = (key[27] << 24) | (key[26] << 16) | (key[25] << 8) | key[24];\n var j11 = (key[31] << 24) | (key[30] << 16) | (key[29] << 8) | key[28];\n var j12 = (input[3] << 24) | (input[2] << 16) | (input[1] << 8) | input[0];\n var j13 = (input[7] << 24) | (input[6] << 16) | (input[5] << 8) | input[4];\n var j14 = (input[11] << 24) | (input[10] << 16) | (input[9] << 8) | input[8];\n var j15 = (input[15] << 24) | (input[14] << 16) | (input[13] << 8) | input[12];\n var x0 = j0;\n var x1 = j1;\n var x2 = j2;\n var x3 = j3;\n var x4 = j4;\n var x5 = j5;\n var x6 = j6;\n var x7 = j7;\n var x8 = j8;\n var x9 = j9;\n var x10 = j10;\n var x11 = j11;\n var x12 = j12;\n var x13 = j13;\n var x14 = j14;\n var x15 = j15;\n for (var i = 0; i < ROUNDS; i += 2) {\n x0 = x0 + x4 | 0;\n x12 ^= x0;\n x12 = x12 >>> (32 - 16) | x12 << 16;\n x8 = x8 + x12 | 0;\n x4 ^= x8;\n x4 = x4 >>> (32 - 12) | x4 << 12;\n x1 = x1 + x5 | 0;\n x13 ^= x1;\n x13 = x13 >>> (32 - 16) | x13 << 16;\n x9 = x9 + x13 | 0;\n x5 ^= x9;\n x5 = x5 >>> (32 - 12) | x5 << 12;\n x2 = x2 + x6 | 0;\n x14 ^= x2;\n x14 = x14 >>> (32 - 16) | x14 << 16;\n x10 = x10 + x14 | 0;\n x6 ^= x10;\n x6 = x6 >>> (32 - 12) | x6 << 12;\n x3 = x3 + x7 | 0;\n x15 ^= x3;\n x15 = x15 >>> (32 - 16) | x15 << 16;\n x11 = x11 + x15 | 0;\n x7 ^= x11;\n x7 = x7 >>> (32 - 12) | x7 << 12;\n x2 = x2 + x6 | 0;\n x14 ^= x2;\n x14 = x14 >>> (32 - 8) | x14 << 8;\n x10 = x10 + x14 | 0;\n x6 ^= x10;\n x6 = x6 >>> (32 - 7) | x6 << 7;\n x3 = x3 + x7 | 0;\n x15 ^= x3;\n x15 = x15 >>> (32 - 8) | x15 << 8;\n x11 = x11 + x15 | 0;\n x7 ^= x11;\n x7 = x7 >>> (32 - 7) | x7 << 7;\n x1 = x1 + x5 | 0;\n x13 ^= x1;\n x13 = x13 >>> (32 - 8) | x13 << 8;\n x9 = x9 + x13 | 0;\n x5 ^= x9;\n x5 = x5 >>> (32 - 7) | x5 << 7;\n x0 = x0 + x4 | 0;\n x12 ^= x0;\n x12 = x12 >>> (32 - 8) | x12 << 8;\n x8 = x8 + x12 | 0;\n x4 ^= x8;\n x4 = x4 >>> (32 - 7) | x4 << 7;\n x0 = x0 + x5 | 0;\n x15 ^= x0;\n x15 = x15 >>> (32 - 16) | x15 << 16;\n x10 = x10 + x15 | 0;\n x5 ^= x10;\n x5 = x5 >>> (32 - 12) | x5 << 12;\n x1 = x1 + x6 | 0;\n x12 ^= x1;\n x12 = x12 >>> (32 - 16) | x12 << 16;\n x11 = x11 + x12 | 0;\n x6 ^= x11;\n x6 = x6 >>> (32 - 12) | x6 << 12;\n x2 = x2 + x7 | 0;\n x13 ^= x2;\n x13 = x13 >>> (32 - 16) | x13 << 16;\n x8 = x8 + x13 | 0;\n x7 ^= x8;\n x7 = x7 >>> (32 - 12) | x7 << 12;\n x3 = x3 + x4 | 0;\n x14 ^= x3;\n x14 = x14 >>> (32 - 16) | x14 << 16;\n x9 = x9 + x14 | 0;\n x4 ^= x9;\n x4 = x4 >>> (32 - 12) | x4 << 12;\n x2 = x2 + x7 | 0;\n x13 ^= x2;\n x13 = x13 >>> (32 - 8) | x13 << 8;\n x8 = x8 + x13 | 0;\n x7 ^= x8;\n x7 = x7 >>> (32 - 7) | x7 << 7;\n x3 = x3 + x4 | 0;\n x14 ^= x3;\n x14 = x14 >>> (32 - 8) | x14 << 8;\n x9 = x9 + x14 | 0;\n x4 ^= x9;\n x4 = x4 >>> (32 - 7) | x4 << 7;\n x1 = x1 + x6 | 0;\n x12 ^= x1;\n x12 = x12 >>> (32 - 8) | x12 << 8;\n x11 = x11 + x12 | 0;\n x6 ^= x11;\n x6 = x6 >>> (32 - 7) | x6 << 7;\n x0 = x0 + x5 | 0;\n x15 ^= x0;\n x15 = x15 >>> (32 - 8) | x15 << 8;\n x10 = x10 + x15 | 0;\n x5 ^= x10;\n x5 = x5 >>> (32 - 7) | x5 << 7;\n }\n binary_1.writeUint32LE(x0 + j0 | 0, out, 0);\n binary_1.writeUint32LE(x1 + j1 | 0, out, 4);\n binary_1.writeUint32LE(x2 + j2 | 0, out, 8);\n binary_1.writeUint32LE(x3 + j3 | 0, out, 12);\n binary_1.writeUint32LE(x4 + j4 | 0, out, 16);\n binary_1.writeUint32LE(x5 + j5 | 0, out, 20);\n binary_1.writeUint32LE(x6 + j6 | 0, out, 24);\n binary_1.writeUint32LE(x7 + j7 | 0, out, 28);\n binary_1.writeUint32LE(x8 + j8 | 0, out, 32);\n binary_1.writeUint32LE(x9 + j9 | 0, out, 36);\n binary_1.writeUint32LE(x10 + j10 | 0, out, 40);\n binary_1.writeUint32LE(x11 + j11 | 0, out, 44);\n binary_1.writeUint32LE(x12 + j12 | 0, out, 48);\n binary_1.writeUint32LE(x13 + j13 | 0, out, 52);\n binary_1.writeUint32LE(x14 + j14 | 0, out, 56);\n binary_1.writeUint32LE(x15 + j15 | 0, out, 60);\n}\n/**\n * Encrypt src with ChaCha20 stream generated for the given 32-byte key and\n * 8-byte (as in original implementation) or 12-byte (as in RFC7539) nonce and\n * write the result into dst and return it.\n *\n * dst and src may be the same, but otherwise must not overlap.\n *\n * If nonce is 12 bytes, users should not encrypt more than 256 GiB with the\n * same key and nonce, otherwise the stream will repeat. The function will\n * throw error if counter overflows to prevent this.\n *\n * If nonce is 8 bytes, the output is practically unlimited (2^70 bytes, which\n * is more than a million petabytes). However, it is not recommended to\n * generate 8-byte nonces randomly, as the chance of collision is high.\n *\n * Never use the same key and nonce to encrypt more than one message.\n *\n * If nonceInplaceCounterLength is not 0, the nonce is assumed to be a 16-byte\n * array with stream counter in first nonceInplaceCounterLength bytes and nonce\n * in the last remaining bytes. The counter will be incremented inplace for\n * each ChaCha block. This is useful if you need to encrypt one stream of data\n * in chunks.\n */\nfunction streamXOR(key, nonce, src, dst, nonceInplaceCounterLength) {\n if (nonceInplaceCounterLength === void 0) { nonceInplaceCounterLength = 0; }\n // We only support 256-bit keys.\n if (key.length !== 32) {\n throw new Error(\"ChaCha: key size must be 32 bytes\");\n }\n if (dst.length < src.length) {\n throw new Error(\"ChaCha: destination is shorter than source\");\n }\n var nc;\n var counterLength;\n if (nonceInplaceCounterLength === 0) {\n if (nonce.length !== 8 && nonce.length !== 12) {\n throw new Error(\"ChaCha nonce must be 8 or 12 bytes\");\n }\n nc = new Uint8Array(16);\n // First counterLength bytes of nc are counter, starting with zero.\n counterLength = nc.length - nonce.length;\n // Last bytes of nc after counterLength are nonce, set them.\n nc.set(nonce, counterLength);\n }\n else {\n if (nonce.length !== 16) {\n throw new Error(\"ChaCha nonce with counter must be 16 bytes\");\n }\n // This will update passed nonce with counter inplace.\n nc = nonce;\n counterLength = nonceInplaceCounterLength;\n }\n // Allocate temporary space for ChaCha block.\n var block = new Uint8Array(64);\n for (var i = 0; i < src.length; i += 64) {\n // Generate a block.\n core(block, nc, key);\n // XOR block bytes with src into dst.\n for (var j = i; j < i + 64 && j < src.length; j++) {\n dst[j] = src[j] ^ block[j - i];\n }\n // Increment counter.\n incrementCounter(nc, 0, counterLength);\n }\n // Cleanup temporary space.\n wipe_1.wipe(block);\n if (nonceInplaceCounterLength === 0) {\n // Cleanup counter.\n wipe_1.wipe(nc);\n }\n return dst;\n}\nexports.streamXOR = streamXOR;\n/**\n * Generate ChaCha20 stream for the given 32-byte key and 8-byte or 12-byte\n * nonce and write it into dst and return it.\n *\n * Never use the same key and nonce to generate more than one stream.\n *\n * If nonceInplaceCounterLength is not 0, it behaves the same with respect to\n * the nonce as described in the streamXOR documentation.\n *\n * stream is like streamXOR with all-zero src.\n */\nfunction stream(key, nonce, dst, nonceInplaceCounterLength) {\n if (nonceInplaceCounterLength === void 0) { nonceInplaceCounterLength = 0; }\n wipe_1.wipe(dst);\n return streamXOR(key, nonce, dst, dst, nonceInplaceCounterLength);\n}\nexports.stream = stream;\nfunction incrementCounter(counter, pos, len) {\n var carry = 1;\n while (len--) {\n carry = carry + (counter[pos] & 0xff) | 0;\n counter[pos] = carry & 0xff;\n carry >>>= 8;\n pos++;\n }\n if (carry > 0) {\n throw new Error(\"ChaCha: counter overflow\");\n }\n}\n//# sourceMappingURL=chacha.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package constant-time provides functions for performing algorithmically constant-time operations.\n */\n/**\n * NOTE! Due to the inability to guarantee real constant time evaluation of\n * anything in JavaScript VM, this is module is the best effort.\n */\n/**\n * Returns resultIfOne if subject is 1, or resultIfZero if subject is 0.\n *\n * Supports only 32-bit integers, so resultIfOne or resultIfZero are not\n * integers, they'll be converted to them with bitwise operations.\n */\nfunction select(subject, resultIfOne, resultIfZero) {\n return (~(subject - 1) & resultIfOne) | ((subject - 1) & resultIfZero);\n}\nexports.select = select;\n/**\n * Returns 1 if a <= b, or 0 if not.\n * Arguments must be positive 32-bit integers less than or equal to 2^31 - 1.\n */\nfunction lessOrEqual(a, b) {\n return (((a | 0) - (b | 0) - 1) >>> 31) & 1;\n}\nexports.lessOrEqual = lessOrEqual;\n/**\n * Returns 1 if a and b are of equal length and their contents\n * are equal, or 0 otherwise.\n *\n * Note that unlike in equal(), zero-length inputs are considered\n * the same, so this function will return 1.\n */\nfunction compare(a, b) {\n if (a.length !== b.length) {\n return 0;\n }\n var result = 0;\n for (var i = 0; i < a.length; i++) {\n result |= a[i] ^ b[i];\n }\n return (1 & ((result - 1) >>> 8));\n}\nexports.compare = compare;\n/**\n * Returns true if a and b are of equal non-zero length,\n * and their contents are equal, or false otherwise.\n *\n * Note that unlike in compare() zero-length inputs are considered\n * _not_ equal, so this function will return false.\n */\nfunction equal(a, b) {\n if (a.length === 0 || b.length === 0) {\n return false;\n }\n return compare(a, b) !== 0;\n}\nexports.equal = equal;\n//# sourceMappingURL=constant-time.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package poly1305 implements Poly1305 one-time message authentication algorithm.\n */\nvar constant_time_1 = require(\"@stablelib/constant-time\");\nvar wipe_1 = require(\"@stablelib/wipe\");\nexports.DIGEST_LENGTH = 16;\n// Port of Andrew Moon's Poly1305-donna-16. Public domain.\n// https://github.com/floodyberry/poly1305-donna\n/**\n * Poly1305 computes 16-byte authenticator of message using\n * a one-time 32-byte key.\n *\n * Important: key should be used for only one message,\n * it should never repeat.\n */\nvar Poly1305 = /** @class */ (function () {\n function Poly1305(key) {\n this.digestLength = exports.DIGEST_LENGTH;\n this._buffer = new Uint8Array(16);\n this._r = new Uint16Array(10);\n this._h = new Uint16Array(10);\n this._pad = new Uint16Array(8);\n this._leftover = 0;\n this._fin = 0;\n this._finished = false;\n var t0 = key[0] | key[1] << 8;\n this._r[0] = (t0) & 0x1fff;\n var t1 = key[2] | key[3] << 8;\n this._r[1] = ((t0 >>> 13) | (t1 << 3)) & 0x1fff;\n var t2 = key[4] | key[5] << 8;\n this._r[2] = ((t1 >>> 10) | (t2 << 6)) & 0x1f03;\n var t3 = key[6] | key[7] << 8;\n this._r[3] = ((t2 >>> 7) | (t3 << 9)) & 0x1fff;\n var t4 = key[8] | key[9] << 8;\n this._r[4] = ((t3 >>> 4) | (t4 << 12)) & 0x00ff;\n this._r[5] = ((t4 >>> 1)) & 0x1ffe;\n var t5 = key[10] | key[11] << 8;\n this._r[6] = ((t4 >>> 14) | (t5 << 2)) & 0x1fff;\n var t6 = key[12] | key[13] << 8;\n this._r[7] = ((t5 >>> 11) | (t6 << 5)) & 0x1f81;\n var t7 = key[14] | key[15] << 8;\n this._r[8] = ((t6 >>> 8) | (t7 << 8)) & 0x1fff;\n this._r[9] = ((t7 >>> 5)) & 0x007f;\n this._pad[0] = key[16] | key[17] << 8;\n this._pad[1] = key[18] | key[19] << 8;\n this._pad[2] = key[20] | key[21] << 8;\n this._pad[3] = key[22] | key[23] << 8;\n this._pad[4] = key[24] | key[25] << 8;\n this._pad[5] = key[26] | key[27] << 8;\n this._pad[6] = key[28] | key[29] << 8;\n this._pad[7] = key[30] | key[31] << 8;\n }\n Poly1305.prototype._blocks = function (m, mpos, bytes) {\n var hibit = this._fin ? 0 : 1 << 11;\n var h0 = this._h[0], h1 = this._h[1], h2 = this._h[2], h3 = this._h[3], h4 = this._h[4], h5 = this._h[5], h6 = this._h[6], h7 = this._h[7], h8 = this._h[8], h9 = this._h[9];\n var r0 = this._r[0], r1 = this._r[1], r2 = this._r[2], r3 = this._r[3], r4 = this._r[4], r5 = this._r[5], r6 = this._r[6], r7 = this._r[7], r8 = this._r[8], r9 = this._r[9];\n while (bytes >= 16) {\n var t0 = m[mpos + 0] | m[mpos + 1] << 8;\n h0 += (t0) & 0x1fff;\n var t1 = m[mpos + 2] | m[mpos + 3] << 8;\n h1 += ((t0 >>> 13) | (t1 << 3)) & 0x1fff;\n var t2 = m[mpos + 4] | m[mpos + 5] << 8;\n h2 += ((t1 >>> 10) | (t2 << 6)) & 0x1fff;\n var t3 = m[mpos + 6] | m[mpos + 7] << 8;\n h3 += ((t2 >>> 7) | (t3 << 9)) & 0x1fff;\n var t4 = m[mpos + 8] | m[mpos + 9] << 8;\n h4 += ((t3 >>> 4) | (t4 << 12)) & 0x1fff;\n h5 += ((t4 >>> 1)) & 0x1fff;\n var t5 = m[mpos + 10] | m[mpos + 11] << 8;\n h6 += ((t4 >>> 14) | (t5 << 2)) & 0x1fff;\n var t6 = m[mpos + 12] | m[mpos + 13] << 8;\n h7 += ((t5 >>> 11) | (t6 << 5)) & 0x1fff;\n var t7 = m[mpos + 14] | m[mpos + 15] << 8;\n h8 += ((t6 >>> 8) | (t7 << 8)) & 0x1fff;\n h9 += ((t7 >>> 5)) | hibit;\n var c = 0;\n var d0 = c;\n d0 += h0 * r0;\n d0 += h1 * (5 * r9);\n d0 += h2 * (5 * r8);\n d0 += h3 * (5 * r7);\n d0 += h4 * (5 * r6);\n c = (d0 >>> 13);\n d0 &= 0x1fff;\n d0 += h5 * (5 * r5);\n d0 += h6 * (5 * r4);\n d0 += h7 * (5 * r3);\n d0 += h8 * (5 * r2);\n d0 += h9 * (5 * r1);\n c += (d0 >>> 13);\n d0 &= 0x1fff;\n var d1 = c;\n d1 += h0 * r1;\n d1 += h1 * r0;\n d1 += h2 * (5 * r9);\n d1 += h3 * (5 * r8);\n d1 += h4 * (5 * r7);\n c = (d1 >>> 13);\n d1 &= 0x1fff;\n d1 += h5 * (5 * r6);\n d1 += h6 * (5 * r5);\n d1 += h7 * (5 * r4);\n d1 += h8 * (5 * r3);\n d1 += h9 * (5 * r2);\n c += (d1 >>> 13);\n d1 &= 0x1fff;\n var d2 = c;\n d2 += h0 * r2;\n d2 += h1 * r1;\n d2 += h2 * r0;\n d2 += h3 * (5 * r9);\n d2 += h4 * (5 * r8);\n c = (d2 >>> 13);\n d2 &= 0x1fff;\n d2 += h5 * (5 * r7);\n d2 += h6 * (5 * r6);\n d2 += h7 * (5 * r5);\n d2 += h8 * (5 * r4);\n d2 += h9 * (5 * r3);\n c += (d2 >>> 13);\n d2 &= 0x1fff;\n var d3 = c;\n d3 += h0 * r3;\n d3 += h1 * r2;\n d3 += h2 * r1;\n d3 += h3 * r0;\n d3 += h4 * (5 * r9);\n c = (d3 >>> 13);\n d3 &= 0x1fff;\n d3 += h5 * (5 * r8);\n d3 += h6 * (5 * r7);\n d3 += h7 * (5 * r6);\n d3 += h8 * (5 * r5);\n d3 += h9 * (5 * r4);\n c += (d3 >>> 13);\n d3 &= 0x1fff;\n var d4 = c;\n d4 += h0 * r4;\n d4 += h1 * r3;\n d4 += h2 * r2;\n d4 += h3 * r1;\n d4 += h4 * r0;\n c = (d4 >>> 13);\n d4 &= 0x1fff;\n d4 += h5 * (5 * r9);\n d4 += h6 * (5 * r8);\n d4 += h7 * (5 * r7);\n d4 += h8 * (5 * r6);\n d4 += h9 * (5 * r5);\n c += (d4 >>> 13);\n d4 &= 0x1fff;\n var d5 = c;\n d5 += h0 * r5;\n d5 += h1 * r4;\n d5 += h2 * r3;\n d5 += h3 * r2;\n d5 += h4 * r1;\n c = (d5 >>> 13);\n d5 &= 0x1fff;\n d5 += h5 * r0;\n d5 += h6 * (5 * r9);\n d5 += h7 * (5 * r8);\n d5 += h8 * (5 * r7);\n d5 += h9 * (5 * r6);\n c += (d5 >>> 13);\n d5 &= 0x1fff;\n var d6 = c;\n d6 += h0 * r6;\n d6 += h1 * r5;\n d6 += h2 * r4;\n d6 += h3 * r3;\n d6 += h4 * r2;\n c = (d6 >>> 13);\n d6 &= 0x1fff;\n d6 += h5 * r1;\n d6 += h6 * r0;\n d6 += h7 * (5 * r9);\n d6 += h8 * (5 * r8);\n d6 += h9 * (5 * r7);\n c += (d6 >>> 13);\n d6 &= 0x1fff;\n var d7 = c;\n d7 += h0 * r7;\n d7 += h1 * r6;\n d7 += h2 * r5;\n d7 += h3 * r4;\n d7 += h4 * r3;\n c = (d7 >>> 13);\n d7 &= 0x1fff;\n d7 += h5 * r2;\n d7 += h6 * r1;\n d7 += h7 * r0;\n d7 += h8 * (5 * r9);\n d7 += h9 * (5 * r8);\n c += (d7 >>> 13);\n d7 &= 0x1fff;\n var d8 = c;\n d8 += h0 * r8;\n d8 += h1 * r7;\n d8 += h2 * r6;\n d8 += h3 * r5;\n d8 += h4 * r4;\n c = (d8 >>> 13);\n d8 &= 0x1fff;\n d8 += h5 * r3;\n d8 += h6 * r2;\n d8 += h7 * r1;\n d8 += h8 * r0;\n d8 += h9 * (5 * r9);\n c += (d8 >>> 13);\n d8 &= 0x1fff;\n var d9 = c;\n d9 += h0 * r9;\n d9 += h1 * r8;\n d9 += h2 * r7;\n d9 += h3 * r6;\n d9 += h4 * r5;\n c = (d9 >>> 13);\n d9 &= 0x1fff;\n d9 += h5 * r4;\n d9 += h6 * r3;\n d9 += h7 * r2;\n d9 += h8 * r1;\n d9 += h9 * r0;\n c += (d9 >>> 13);\n d9 &= 0x1fff;\n c = (((c << 2) + c)) | 0;\n c = (c + d0) | 0;\n d0 = c & 0x1fff;\n c = (c >>> 13);\n d1 += c;\n h0 = d0;\n h1 = d1;\n h2 = d2;\n h3 = d3;\n h4 = d4;\n h5 = d5;\n h6 = d6;\n h7 = d7;\n h8 = d8;\n h9 = d9;\n mpos += 16;\n bytes -= 16;\n }\n this._h[0] = h0;\n this._h[1] = h1;\n this._h[2] = h2;\n this._h[3] = h3;\n this._h[4] = h4;\n this._h[5] = h5;\n this._h[6] = h6;\n this._h[7] = h7;\n this._h[8] = h8;\n this._h[9] = h9;\n };\n Poly1305.prototype.finish = function (mac, macpos) {\n if (macpos === void 0) { macpos = 0; }\n var g = new Uint16Array(10);\n var c;\n var mask;\n var f;\n var i;\n if (this._leftover) {\n i = this._leftover;\n this._buffer[i++] = 1;\n for (; i < 16; i++) {\n this._buffer[i] = 0;\n }\n this._fin = 1;\n this._blocks(this._buffer, 0, 16);\n }\n c = this._h[1] >>> 13;\n this._h[1] &= 0x1fff;\n for (i = 2; i < 10; i++) {\n this._h[i] += c;\n c = this._h[i] >>> 13;\n this._h[i] &= 0x1fff;\n }\n this._h[0] += (c * 5);\n c = this._h[0] >>> 13;\n this._h[0] &= 0x1fff;\n this._h[1] += c;\n c = this._h[1] >>> 13;\n this._h[1] &= 0x1fff;\n this._h[2] += c;\n g[0] = this._h[0] + 5;\n c = g[0] >>> 13;\n g[0] &= 0x1fff;\n for (i = 1; i < 10; i++) {\n g[i] = this._h[i] + c;\n c = g[i] >>> 13;\n g[i] &= 0x1fff;\n }\n g[9] -= (1 << 13);\n mask = (c ^ 1) - 1;\n for (i = 0; i < 10; i++) {\n g[i] &= mask;\n }\n mask = ~mask;\n for (i = 0; i < 10; i++) {\n this._h[i] = (this._h[i] & mask) | g[i];\n }\n this._h[0] = ((this._h[0]) | (this._h[1] << 13)) & 0xffff;\n this._h[1] = ((this._h[1] >>> 3) | (this._h[2] << 10)) & 0xffff;\n this._h[2] = ((this._h[2] >>> 6) | (this._h[3] << 7)) & 0xffff;\n this._h[3] = ((this._h[3] >>> 9) | (this._h[4] << 4)) & 0xffff;\n this._h[4] = ((this._h[4] >>> 12) | (this._h[5] << 1) | (this._h[6] << 14)) & 0xffff;\n this._h[5] = ((this._h[6] >>> 2) | (this._h[7] << 11)) & 0xffff;\n this._h[6] = ((this._h[7] >>> 5) | (this._h[8] << 8)) & 0xffff;\n this._h[7] = ((this._h[8] >>> 8) | (this._h[9] << 5)) & 0xffff;\n f = this._h[0] + this._pad[0];\n this._h[0] = f & 0xffff;\n for (i = 1; i < 8; i++) {\n f = (((this._h[i] + this._pad[i]) | 0) + (f >>> 16)) | 0;\n this._h[i] = f & 0xffff;\n }\n mac[macpos + 0] = this._h[0] >>> 0;\n mac[macpos + 1] = this._h[0] >>> 8;\n mac[macpos + 2] = this._h[1] >>> 0;\n mac[macpos + 3] = this._h[1] >>> 8;\n mac[macpos + 4] = this._h[2] >>> 0;\n mac[macpos + 5] = this._h[2] >>> 8;\n mac[macpos + 6] = this._h[3] >>> 0;\n mac[macpos + 7] = this._h[3] >>> 8;\n mac[macpos + 8] = this._h[4] >>> 0;\n mac[macpos + 9] = this._h[4] >>> 8;\n mac[macpos + 10] = this._h[5] >>> 0;\n mac[macpos + 11] = this._h[5] >>> 8;\n mac[macpos + 12] = this._h[6] >>> 0;\n mac[macpos + 13] = this._h[6] >>> 8;\n mac[macpos + 14] = this._h[7] >>> 0;\n mac[macpos + 15] = this._h[7] >>> 8;\n this._finished = true;\n return this;\n };\n Poly1305.prototype.update = function (m) {\n var mpos = 0;\n var bytes = m.length;\n var want;\n if (this._leftover) {\n want = (16 - this._leftover);\n if (want > bytes) {\n want = bytes;\n }\n for (var i = 0; i < want; i++) {\n this._buffer[this._leftover + i] = m[mpos + i];\n }\n bytes -= want;\n mpos += want;\n this._leftover += want;\n if (this._leftover < 16) {\n return this;\n }\n this._blocks(this._buffer, 0, 16);\n this._leftover = 0;\n }\n if (bytes >= 16) {\n want = bytes - (bytes % 16);\n this._blocks(m, mpos, want);\n mpos += want;\n bytes -= want;\n }\n if (bytes) {\n for (var i = 0; i < bytes; i++) {\n this._buffer[this._leftover + i] = m[mpos + i];\n }\n this._leftover += bytes;\n }\n return this;\n };\n Poly1305.prototype.digest = function () {\n // TODO(dchest): it behaves differently than other hashes/HMAC,\n // because it throws when finished — others just return saved result.\n if (this._finished) {\n throw new Error(\"Poly1305 was finished\");\n }\n var mac = new Uint8Array(16);\n this.finish(mac);\n return mac;\n };\n Poly1305.prototype.clean = function () {\n wipe_1.wipe(this._buffer);\n wipe_1.wipe(this._r);\n wipe_1.wipe(this._h);\n wipe_1.wipe(this._pad);\n this._leftover = 0;\n this._fin = 0;\n this._finished = true; // mark as finished even if not\n return this;\n };\n return Poly1305;\n}());\nexports.Poly1305 = Poly1305;\n/**\n * Returns 16-byte authenticator of data using a one-time 32-byte key.\n *\n * Important: key should be used for only one message, it should never repeat.\n */\nfunction oneTimeAuth(key, data) {\n var h = new Poly1305(key);\n h.update(data);\n var digest = h.digest();\n h.clean();\n return digest;\n}\nexports.oneTimeAuth = oneTimeAuth;\n/**\n * Returns true if two authenticators are 16-byte long and equal.\n * Uses contant-time comparison to avoid leaking timing information.\n */\nfunction equal(a, b) {\n if (a.length !== exports.DIGEST_LENGTH || b.length !== exports.DIGEST_LENGTH) {\n return false;\n }\n return constant_time_1.equal(a, b);\n}\nexports.equal = equal;\n//# sourceMappingURL=poly1305.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar chacha_1 = require(\"@stablelib/chacha\");\nvar poly1305_1 = require(\"@stablelib/poly1305\");\nvar wipe_1 = require(\"@stablelib/wipe\");\nvar binary_1 = require(\"@stablelib/binary\");\nvar constant_time_1 = require(\"@stablelib/constant-time\");\nexports.KEY_LENGTH = 32;\nexports.NONCE_LENGTH = 12;\nexports.TAG_LENGTH = 16;\nvar ZEROS = new Uint8Array(16);\n/**\n * ChaCha20-Poly1305 Authenticated Encryption with Associated Data.\n *\n * Defined in RFC7539.\n */\nvar ChaCha20Poly1305 = /** @class */ (function () {\n /**\n * Creates a new instance with the given 32-byte key.\n */\n function ChaCha20Poly1305(key) {\n this.nonceLength = exports.NONCE_LENGTH;\n this.tagLength = exports.TAG_LENGTH;\n if (key.length !== exports.KEY_LENGTH) {\n throw new Error(\"ChaCha20Poly1305 needs 32-byte key\");\n }\n // Copy key.\n this._key = new Uint8Array(key);\n }\n /**\n * Encrypts and authenticates plaintext, authenticates associated data,\n * and returns sealed ciphertext, which includes authentication tag.\n *\n * RFC7539 specifies 12 bytes for nonce. It may be this 12-byte nonce\n * (\"IV\"), or full 16-byte counter (called \"32-bit fixed-common part\")\n * and nonce.\n *\n * If dst is given (it must be the size of plaintext + the size of tag\n * length) the result will be put into it. Dst and plaintext must not\n * overlap.\n */\n ChaCha20Poly1305.prototype.seal = function (nonce, plaintext, associatedData, dst) {\n if (nonce.length > 16) {\n throw new Error(\"ChaCha20Poly1305: incorrect nonce length\");\n }\n // Allocate space for counter, and set nonce as last bytes of it.\n var counter = new Uint8Array(16);\n counter.set(nonce, counter.length - nonce.length);\n // Generate authentication key by taking first 32-bytes of stream.\n // We pass full counter, which has 12-byte nonce and 4-byte block counter,\n // and it will get incremented after generating the block, which is\n // exactly what we need: we only use the first 32 bytes of 64-byte\n // ChaCha block and discard the next 32 bytes.\n var authKey = new Uint8Array(32);\n chacha_1.stream(this._key, counter, authKey, 4);\n // Allocate space for sealed ciphertext.\n var resultLength = plaintext.length + this.tagLength;\n var result;\n if (dst) {\n if (dst.length !== resultLength) {\n throw new Error(\"ChaCha20Poly1305: incorrect destination length\");\n }\n result = dst;\n }\n else {\n result = new Uint8Array(resultLength);\n }\n // Encrypt plaintext.\n chacha_1.streamXOR(this._key, counter, plaintext, result, 4);\n // Authenticate.\n // XXX: can \"simplify\" here: pass full result (which is already padded\n // due to zeroes prepared for tag), and ciphertext length instead of\n // subarray of result.\n this._authenticate(result.subarray(result.length - this.tagLength, result.length), authKey, result.subarray(0, result.length - this.tagLength), associatedData);\n // Cleanup.\n wipe_1.wipe(counter);\n return result;\n };\n /**\n * Authenticates sealed ciphertext (which includes authentication tag) and\n * associated data, decrypts ciphertext and returns decrypted plaintext.\n *\n * RFC7539 specifies 12 bytes for nonce. It may be this 12-byte nonce\n * (\"IV\"), or full 16-byte counter (called \"32-bit fixed-common part\")\n * and nonce.\n *\n * If authentication fails, it returns null.\n *\n * If dst is given (it must be of ciphertext length minus tag length),\n * the result will be put into it. Dst and plaintext must not overlap.\n */\n ChaCha20Poly1305.prototype.open = function (nonce, sealed, associatedData, dst) {\n if (nonce.length > 16) {\n throw new Error(\"ChaCha20Poly1305: incorrect nonce length\");\n }\n // Sealed ciphertext should at least contain tag.\n if (sealed.length < this.tagLength) {\n // TODO(dchest): should we throw here instead?\n return null;\n }\n // Allocate space for counter, and set nonce as last bytes of it.\n var counter = new Uint8Array(16);\n counter.set(nonce, counter.length - nonce.length);\n // Generate authentication key by taking first 32-bytes of stream.\n var authKey = new Uint8Array(32);\n chacha_1.stream(this._key, counter, authKey, 4);\n // Authenticate.\n // XXX: can simplify and avoid allocation: since authenticate()\n // already allocates tag (from Poly1305.digest(), it can return)\n // it instead of copying to calculatedTag. But then in seal()\n // we'll need to copy it.\n var calculatedTag = new Uint8Array(this.tagLength);\n this._authenticate(calculatedTag, authKey, sealed.subarray(0, sealed.length - this.tagLength), associatedData);\n // Constant-time compare tags and return null if they differ.\n if (!constant_time_1.equal(calculatedTag, sealed.subarray(sealed.length - this.tagLength, sealed.length))) {\n return null;\n }\n // Allocate space for decrypted plaintext.\n var resultLength = sealed.length - this.tagLength;\n var result;\n if (dst) {\n if (dst.length !== resultLength) {\n throw new Error(\"ChaCha20Poly1305: incorrect destination length\");\n }\n result = dst;\n }\n else {\n result = new Uint8Array(resultLength);\n }\n // Decrypt.\n chacha_1.streamXOR(this._key, counter, sealed.subarray(0, sealed.length - this.tagLength), result, 4);\n // Cleanup.\n wipe_1.wipe(counter);\n return result;\n };\n ChaCha20Poly1305.prototype.clean = function () {\n wipe_1.wipe(this._key);\n return this;\n };\n ChaCha20Poly1305.prototype._authenticate = function (tagOut, authKey, ciphertext, associatedData) {\n // Initialize Poly1305 with authKey.\n var h = new poly1305_1.Poly1305(authKey);\n // Authenticate padded associated data.\n if (associatedData) {\n h.update(associatedData);\n if (associatedData.length % 16 > 0) {\n h.update(ZEROS.subarray(associatedData.length % 16));\n }\n }\n // Authenticate padded ciphertext.\n h.update(ciphertext);\n if (ciphertext.length % 16 > 0) {\n h.update(ZEROS.subarray(ciphertext.length % 16));\n }\n // Authenticate length of associated data.\n // XXX: can avoid allocation here?\n var length = new Uint8Array(8);\n if (associatedData) {\n binary_1.writeUint64LE(associatedData.length, length);\n }\n h.update(length);\n // Authenticate length of ciphertext.\n binary_1.writeUint64LE(ciphertext.length, length);\n h.update(length);\n // Get tag and copy it into tagOut.\n var tag = h.digest();\n for (var i = 0; i < tag.length; i++) {\n tagOut[i] = tag[i];\n }\n // Cleanup.\n h.clean();\n wipe_1.wipe(tag);\n wipe_1.wipe(length);\n };\n return ChaCha20Poly1305;\n}());\nexports.ChaCha20Poly1305 = ChaCha20Poly1305;\n//# sourceMappingURL=chacha20poly1305.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction isSerializableHash(h) {\n return (typeof h.saveState !== \"undefined\" &&\n typeof h.restoreState !== \"undefined\" &&\n typeof h.cleanSavedState !== \"undefined\");\n}\nexports.isSerializableHash = isSerializableHash;\n// TODO(dchest): figure out the standardized interface for XOF such as\n// SHAKE and BLAKE2X.\n//# sourceMappingURL=hash.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package hmac implements HMAC algorithm.\n */\nvar hash_1 = require(\"@stablelib/hash\");\nvar constant_time_1 = require(\"@stablelib/constant-time\");\nvar wipe_1 = require(\"@stablelib/wipe\");\n/**\n * HMAC implements hash-based message authentication algorithm.\n */\nvar HMAC = /** @class */ (function () {\n /**\n * Constructs a new HMAC with the given Hash and secret key.\n */\n function HMAC(hash, key) {\n this._finished = false; // true if HMAC was finalized\n // Initialize inner and outer hashes.\n this._inner = new hash();\n this._outer = new hash();\n // Set block and digest sizes for this HMAC\n // instance to values from the hash.\n this.blockSize = this._outer.blockSize;\n this.digestLength = this._outer.digestLength;\n // Pad temporary stores a key (or its hash) padded with zeroes.\n var pad = new Uint8Array(this.blockSize);\n if (key.length > this.blockSize) {\n // If key is bigger than hash block size, it must be\n // hashed and this hash is used as a key instead.\n this._inner.update(key).finish(pad).clean();\n }\n else {\n // Otherwise, copy the key into pad.\n pad.set(key);\n }\n // Now two different keys are derived from padded key\n // by xoring a different byte value to each.\n // To make inner hash key, xor byte 0x36 into pad.\n for (var i = 0; i < pad.length; i++) {\n pad[i] ^= 0x36;\n }\n // Update inner hash with the result.\n this._inner.update(pad);\n // To make outer hash key, xor byte 0x5c into pad.\n // But since we already xored 0x36 there, we must\n // first undo this by xoring it again.\n for (var i = 0; i < pad.length; i++) {\n pad[i] ^= 0x36 ^ 0x5c;\n }\n // Update outer hash with the result.\n this._outer.update(pad);\n // Save states of both hashes, so that we can quickly restore\n // them later in reset() without the need to remember the actual\n // key and perform this initialization again.\n if (hash_1.isSerializableHash(this._inner) && hash_1.isSerializableHash(this._outer)) {\n this._innerKeyedState = this._inner.saveState();\n this._outerKeyedState = this._outer.saveState();\n }\n // Clean pad.\n wipe_1.wipe(pad);\n }\n /**\n * Returns HMAC state to the state initialized with key\n * to make it possible to run HMAC over the other data with the same\n * key without creating a new instance.\n */\n HMAC.prototype.reset = function () {\n if (!hash_1.isSerializableHash(this._inner) || !hash_1.isSerializableHash(this._outer)) {\n throw new Error(\"hmac: can't reset() because hash doesn't implement restoreState()\");\n }\n // Restore keyed states of inner and outer hashes.\n this._inner.restoreState(this._innerKeyedState);\n this._outer.restoreState(this._outerKeyedState);\n this._finished = false;\n return this;\n };\n /**\n * Cleans HMAC state.\n */\n HMAC.prototype.clean = function () {\n if (hash_1.isSerializableHash(this._inner)) {\n this._inner.cleanSavedState(this._innerKeyedState);\n }\n if (hash_1.isSerializableHash(this._outer)) {\n this._outer.cleanSavedState(this._outerKeyedState);\n }\n this._inner.clean();\n this._outer.clean();\n };\n /**\n * Updates state with provided data.\n */\n HMAC.prototype.update = function (data) {\n this._inner.update(data);\n return this;\n };\n /**\n * Finalizes HMAC and puts the result in out.\n */\n HMAC.prototype.finish = function (out) {\n if (this._finished) {\n // If HMAC was finalized, outer hash is also finalized,\n // so it produces the same digest it produced when it\n // was finalized.\n this._outer.finish(out);\n return this;\n }\n // Finalize inner hash and store the result temporarily.\n this._inner.finish(out);\n // Update outer hash with digest of inner hash and and finalize it.\n this._outer.update(out.subarray(0, this.digestLength)).finish(out);\n this._finished = true;\n return this;\n };\n /**\n * Returns the computed message authentication code.\n */\n HMAC.prototype.digest = function () {\n var out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n };\n /**\n * Saves HMAC state.\n * This function is needed for PBKDF2 optimization.\n */\n HMAC.prototype.saveState = function () {\n if (!hash_1.isSerializableHash(this._inner)) {\n throw new Error(\"hmac: can't saveState() because hash doesn't implement it\");\n }\n return this._inner.saveState();\n };\n HMAC.prototype.restoreState = function (savedState) {\n if (!hash_1.isSerializableHash(this._inner) || !hash_1.isSerializableHash(this._outer)) {\n throw new Error(\"hmac: can't restoreState() because hash doesn't implement it\");\n }\n this._inner.restoreState(savedState);\n this._outer.restoreState(this._outerKeyedState);\n this._finished = false;\n return this;\n };\n HMAC.prototype.cleanSavedState = function (savedState) {\n if (!hash_1.isSerializableHash(this._inner)) {\n throw new Error(\"hmac: can't cleanSavedState() because hash doesn't implement it\");\n }\n this._inner.cleanSavedState(savedState);\n };\n return HMAC;\n}());\nexports.HMAC = HMAC;\n/**\n * Returns HMAC using the given hash constructor for the key over data.\n */\nfunction hmac(hash, key, data) {\n var h = new HMAC(hash, key);\n h.update(data);\n var digest = h.digest();\n h.clean();\n return digest;\n}\nexports.hmac = hmac;\n/**\n * Returns true if two HMAC digests are equal.\n * Uses constant-time comparison to avoid leaking timing information.\n *\n * Example:\n *\n * const receivedDigest = ...\n * const realDigest = hmac(SHA256, key, data);\n * if (!equal(receivedDigest, realDigest)) {\n * throw new Error(\"Authentication error\");\n * }\n */\nexports.equal = constant_time_1.equal;\n//# sourceMappingURL=hmac.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar hmac_1 = require(\"@stablelib/hmac\");\nvar wipe_1 = require(\"@stablelib/wipe\");\n/**\n * HMAC-based Extract-and-Expand Key Derivation Function.\n *\n * Implements HKDF from RFC5869.\n *\n * Expands the given master key with salt and info into\n * a limited stream of key material.\n */\nvar HKDF = /** @class */ (function () {\n /**\n * Create a new HKDF instance for the given hash function\n * with the master key, optional salt, and info.\n *\n * - Master key is a high-entropy secret key (not a password).\n * - Salt is a non-secret random value.\n * - Info is application- and/or context-specific information.\n */\n function HKDF(hash, key, salt, info) {\n if (salt === void 0) { salt = new Uint8Array(0); }\n this._counter = new Uint8Array(1); // starts with zero\n this._hash = hash;\n this._info = info;\n // HKDF-Extract uses salt as HMAC key, and key as data.\n var okm = hmac_1.hmac(this._hash, salt, key);\n // Initialize HMAC for expanding with extracted key.\n this._hmac = new hmac_1.HMAC(hash, okm);\n // Allocate buffer.\n this._buffer = new Uint8Array(this._hmac.digestLength);\n this._bufpos = this._buffer.length;\n }\n // Fill buffer with new block of HKDF-Extract output.\n HKDF.prototype._fillBuffer = function () {\n // Increment counter.\n this._counter[0]++;\n var ctr = this._counter[0];\n // Check if counter overflowed.\n if (ctr === 0) {\n throw new Error(\"hkdf: cannot expand more\");\n }\n // Prepare HMAC instance for new data with old key.\n this._hmac.reset();\n // Hash in previous output if it was generated\n // (i.e. counter is greater than 1).\n if (ctr > 1) {\n this._hmac.update(this._buffer);\n }\n // Hash in info if it exists.\n if (this._info) {\n this._hmac.update(this._info);\n }\n // Hash in the counter.\n this._hmac.update(this._counter);\n // Output result to buffer and clean HMAC instance.\n this._hmac.finish(this._buffer);\n // Reset buffer position.\n this._bufpos = 0;\n };\n /**\n * Expand returns next key material of the given length.\n *\n * It throws if expansion limit is reached (which is\n * 254 digests of the underlying HMAC function).\n */\n HKDF.prototype.expand = function (length) {\n var out = new Uint8Array(length);\n for (var i = 0; i < out.length; i++) {\n if (this._bufpos === this._buffer.length) {\n this._fillBuffer();\n }\n out[i] = this._buffer[this._bufpos++];\n }\n return out;\n };\n HKDF.prototype.clean = function () {\n this._hmac.clean();\n wipe_1.wipe(this._buffer);\n wipe_1.wipe(this._counter);\n this._bufpos = 0;\n };\n return HKDF;\n}());\nexports.HKDF = HKDF;\n// TODO(dchest): maybe implement deriveKey?\n//# sourceMappingURL=hkdf.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrowserRandomSource = void 0;\nconst QUOTA = 65536;\nclass BrowserRandomSource {\n constructor() {\n this.isAvailable = false;\n this.isInstantiated = false;\n const browserCrypto = typeof self !== 'undefined'\n ? (self.crypto || self.msCrypto) // IE11 has msCrypto\n : null;\n if (browserCrypto && browserCrypto.getRandomValues !== undefined) {\n this._crypto = browserCrypto;\n this.isAvailable = true;\n this.isInstantiated = true;\n }\n }\n randomBytes(length) {\n if (!this.isAvailable || !this._crypto) {\n throw new Error(\"Browser random byte generator is not available.\");\n }\n const out = new Uint8Array(length);\n for (let i = 0; i < out.length; i += QUOTA) {\n this._crypto.getRandomValues(out.subarray(i, i + Math.min(out.length - i, QUOTA)));\n }\n return out;\n }\n}\nexports.BrowserRandomSource = BrowserRandomSource;\n//# sourceMappingURL=browser.js.map","/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","'use strict'\n\n// limit of Crypto.getRandomValues()\n// https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues\nvar MAX_BYTES = 65536\n\n// Node supports requesting up to this number of bytes\n// https://github.com/nodejs/node/blob/master/lib/internal/crypto/random.js#L48\nvar MAX_UINT32 = 4294967295\n\nfunction oldBrowser () {\n throw new Error('Secure random number generation is not supported by this browser.\\nUse Chrome, Firefox or Internet Explorer 11')\n}\n\nvar Buffer = require('safe-buffer').Buffer\nvar crypto = global.crypto || global.msCrypto\n\nif (crypto && crypto.getRandomValues) {\n module.exports = randomBytes\n} else {\n module.exports = oldBrowser\n}\n\nfunction randomBytes (size, cb) {\n // phantomjs needs to throw\n if (size > MAX_UINT32) throw new RangeError('requested too many random bytes')\n\n var bytes = Buffer.allocUnsafe(size)\n\n if (size > 0) { // getRandomValues fails on IE if size == 0\n if (size > MAX_BYTES) { // this is the max bytes crypto.getRandomValues\n // can do at once see https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues\n for (var generated = 0; generated < size; generated += MAX_BYTES) {\n // buffer.slice automatically checks if the end is past the end of\n // the buffer so we don't have to here\n crypto.getRandomValues(bytes.slice(generated, generated + MAX_BYTES))\n }\n } else {\n crypto.getRandomValues(bytes)\n }\n }\n\n if (typeof cb === 'function') {\n return process.nextTick(function () {\n cb(null, bytes)\n })\n }\n\n return bytes\n}\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","module.exports = require('events').EventEmitter;\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\nvar test = {\n\t__proto__: null,\n\tfoo: {}\n};\n\nvar $Object = Object;\n\n/** @type {import('.')} */\nmodule.exports = function hasProto() {\n\t// @ts-expect-error: TS errors on an inherited property for some reason\n\treturn { __proto__: test }.foo === test.foo\n\t\t&& !(test instanceof $Object);\n};\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","'use strict';\n\nvar undefined;\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\nvar hasProto = require('has-proto')();\n\nvar getProto = Object.getPrototypeOf || (\n\thasProto\n\t\t? function (x) { return x.__proto__; } // eslint-disable-line no-proto\n\t\t: null\n);\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\n/** @type {import('.')} */\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true) || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\n\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = require('es-errors/type');\nvar $floor = GetIntrinsic('%Math.floor%');\n\n/** @typedef {(...args: unknown[]) => unknown} Func */\n\n/** @type {(fn: T, length: number, loose?: boolean) => T} */\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\nvar setFunctionLength = require('set-function-length');\n\nvar $TypeError = require('es-errors/type');\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $defineProperty = require('es-define-property');\nvar $max = GetIntrinsic('%Math.max%');\n\nmodule.exports = function callBind(originalFunction) {\n\tif (typeof originalFunction !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\tvar func = $reflectApply(bind, $call, arguments);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\t1 + $max(0, originalFunction.length - (arguments.length - 1)),\n\t\ttrue\n\t);\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\n\nvar isStandardArguments = function isArguments(value) {\n\tif (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {\n\t\treturn false;\n\t}\n\treturn $toString(value) === '[object Arguments]';\n};\n\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null &&\n\t\ttypeof value === 'object' &&\n\t\ttypeof value.length === 'number' &&\n\t\tvalue.length >= 0 &&\n\t\t$toString(value) !== '[object Array]' &&\n\t\t$toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\nvar fnToStr = Function.prototype.toString;\nvar isFnRegex = /^\\s*(?:function)?\\*/;\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar getProto = Object.getPrototypeOf;\nvar getGeneratorFunc = function () { // eslint-disable-line consistent-return\n\tif (!hasToStringTag) {\n\t\treturn false;\n\t}\n\ttry {\n\t\treturn Function('return function*() {}')();\n\t} catch (e) {\n\t}\n};\nvar GeneratorFunction;\n\nmodule.exports = function isGeneratorFunction(fn) {\n\tif (typeof fn !== 'function') {\n\t\treturn false;\n\t}\n\tif (isFnRegex.test(fnToStr.call(fn))) {\n\t\treturn true;\n\t}\n\tif (!hasToStringTag) {\n\t\tvar str = toStr.call(fn);\n\t\treturn str === '[object GeneratorFunction]';\n\t}\n\tif (!getProto) {\n\t\treturn false;\n\t}\n\tif (typeof GeneratorFunction === 'undefined') {\n\t\tvar generatorFunc = getGeneratorFunc();\n\t\tGeneratorFunction = generatorFunc ? getProto(generatorFunc) : false;\n\t}\n\treturn getProto(fn) === GeneratorFunction;\n};\n","'use strict';\n\nvar fnToStr = Function.prototype.toString;\nvar reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply;\nvar badArrayLike;\nvar isCallableMarker;\nif (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') {\n\ttry {\n\t\tbadArrayLike = Object.defineProperty({}, 'length', {\n\t\t\tget: function () {\n\t\t\t\tthrow isCallableMarker;\n\t\t\t}\n\t\t});\n\t\tisCallableMarker = {};\n\t\t// eslint-disable-next-line no-throw-literal\n\t\treflectApply(function () { throw 42; }, null, badArrayLike);\n\t} catch (_) {\n\t\tif (_ !== isCallableMarker) {\n\t\t\treflectApply = null;\n\t\t}\n\t}\n} else {\n\treflectApply = null;\n}\n\nvar constructorRegex = /^\\s*class\\b/;\nvar isES6ClassFn = function isES6ClassFunction(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\treturn constructorRegex.test(fnStr);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionToStr(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar objectClass = '[object Object]';\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar ddaClass = '[object HTMLAllCollection]'; // IE 11\nvar ddaClass2 = '[object HTML document.all class]';\nvar ddaClass3 = '[object HTMLCollection]'; // IE 9-10\nvar hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; // better: use `has-tostringtag`\n\nvar isIE68 = !(0 in [,]); // eslint-disable-line no-sparse-arrays, comma-spacing\n\nvar isDDA = function isDocumentDotAll() { return false; };\nif (typeof document === 'object') {\n\t// Firefox 3 canonicalizes DDA to undefined when it's not accessed directly\n\tvar all = document.all;\n\tif (toStr.call(all) === toStr.call(document.all)) {\n\t\tisDDA = function isDocumentDotAll(value) {\n\t\t\t/* globals document: false */\n\t\t\t// in IE 6-8, typeof document.all is \"object\" and it's truthy\n\t\t\tif ((isIE68 || !value) && (typeof value === 'undefined' || typeof value === 'object')) {\n\t\t\t\ttry {\n\t\t\t\t\tvar str = toStr.call(value);\n\t\t\t\t\treturn (\n\t\t\t\t\t\tstr === ddaClass\n\t\t\t\t\t\t|| str === ddaClass2\n\t\t\t\t\t\t|| str === ddaClass3 // opera 12.16\n\t\t\t\t\t\t|| str === objectClass // IE 6-8\n\t\t\t\t\t) && value('') == null; // eslint-disable-line eqeqeq\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t}\n}\n\nmodule.exports = reflectApply\n\t? function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\ttry {\n\t\t\treflectApply(value, null, badArrayLike);\n\t\t} catch (e) {\n\t\t\tif (e !== isCallableMarker) { return false; }\n\t\t}\n\t\treturn !isES6ClassFn(value) && tryFunctionObject(value);\n\t}\n\t: function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\tif (hasToStringTag) { return tryFunctionObject(value); }\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tvar strClass = toStr.call(value);\n\t\tif (strClass !== fnClass && strClass !== genClass && !(/^\\[object HTML/).test(strClass)) { return false; }\n\t\treturn tryFunctionObject(value);\n\t};\n","'use strict';\n\nvar isCallable = require('is-callable');\n\nvar toStr = Object.prototype.toString;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar forEachArray = function forEachArray(array, iterator, receiver) {\n for (var i = 0, len = array.length; i < len; i++) {\n if (hasOwnProperty.call(array, i)) {\n if (receiver == null) {\n iterator(array[i], i, array);\n } else {\n iterator.call(receiver, array[i], i, array);\n }\n }\n }\n};\n\nvar forEachString = function forEachString(string, iterator, receiver) {\n for (var i = 0, len = string.length; i < len; i++) {\n // no such thing as a sparse string.\n if (receiver == null) {\n iterator(string.charAt(i), i, string);\n } else {\n iterator.call(receiver, string.charAt(i), i, string);\n }\n }\n};\n\nvar forEachObject = function forEachObject(object, iterator, receiver) {\n for (var k in object) {\n if (hasOwnProperty.call(object, k)) {\n if (receiver == null) {\n iterator(object[k], k, object);\n } else {\n iterator.call(receiver, object[k], k, object);\n }\n }\n }\n};\n\nvar forEach = function forEach(list, iterator, thisArg) {\n if (!isCallable(iterator)) {\n throw new TypeError('iterator must be a function');\n }\n\n var receiver;\n if (arguments.length >= 3) {\n receiver = thisArg;\n }\n\n if (toStr.call(list) === '[object Array]') {\n forEachArray(list, iterator, receiver);\n } else if (typeof list === 'string') {\n forEachString(list, iterator, receiver);\n } else {\n forEachObject(list, iterator, receiver);\n }\n};\n\nmodule.exports = forEach;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = [\n\t'Float32Array',\n\t'Float64Array',\n\t'Int8Array',\n\t'Int16Array',\n\t'Int32Array',\n\t'Uint8Array',\n\t'Uint8ClampedArray',\n\t'Uint16Array',\n\t'Uint32Array',\n\t'BigInt64Array',\n\t'BigUint64Array'\n];\n","'use strict';\n\nvar possibleNames = require('possible-typed-array-names');\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\n\n/** @type {import('.')} */\nmodule.exports = function availableTypedArrays() {\n\tvar /** @type {ReturnType} */ out = [];\n\tfor (var i = 0; i < possibleNames.length; i++) {\n\t\tif (typeof g[possibleNames[i]] === 'function') {\n\t\t\t// @ts-expect-error\n\t\t\tout[out.length] = possibleNames[i];\n\t\t}\n\t}\n\treturn out;\n};\n","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBind = require('call-bind');\nvar callBound = require('call-bind/callBound');\nvar gOPD = require('gopd');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $slice = callBound('String.prototype.slice');\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\n\nvar $indexOf = callBound('Array.prototype.indexOf', true) || /** @type {(array: readonly unknown[], value: unknown) => keyof array} */ function indexOf(array, value) {\n\tfor (var i = 0; i < array.length; i += 1) {\n\t\tif (array[i] === value) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\n\n/** @typedef {Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array | BigInt64Array | BigUint64Array} TypedArray */\n/** @typedef {'Int8Array' | 'Uint8Array' | 'Uint8ClampedArray' | 'Int16Array' | 'Uint16Array' | 'Int32Array' | 'Uint32Array' | 'Float32Array' | 'Float64Array' | 'BigInt64Array' | 'BigUint64Array'} TypedArrayName */\n/** @type {{ [k in `\\$${TypedArrayName}`]?: (receiver: TypedArray) => string | typeof Uint8Array.prototype.slice.call | typeof Uint8Array.prototype.set.call } & { __proto__: null }} */\nvar cache = { __proto__: null };\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tif (Symbol.toStringTag in arr) {\n\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\t// @ts-expect-error TS won't narrow inside a closure\n\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\tif (!descriptor) {\n\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\t// @ts-expect-error TS won't narrow inside a closure\n\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t}\n\t\t\t// @ts-expect-error TODO: fix\n\t\t\tcache['$' + typedArray] = callBind(descriptor.get);\n\t\t}\n\t});\n} else {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tvar fn = arr.slice || arr.set;\n\t\tif (fn) {\n\t\t\t// @ts-expect-error TODO: fix\n\t\t\tcache['$' + typedArray] = callBind(fn);\n\t\t}\n\t});\n}\n\n/** @type {import('.')} */\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\t/** @type {ReturnType} */ var found = false;\n\tforEach(\n\t\t// eslint-disable-next-line no-extra-parens\n\t\t/** @type {Record<`\\$${TypedArrayName}`, typeof cache>} */ /** @type {any} */ (cache),\n\t\t/** @type {(getter: typeof cache, name: `\\$${TypedArrayName}`) => void} */ function (getter, typedArray) {\n\t\t\tif (!found) {\n\t\t\t\ttry {\n\t\t\t\t// @ts-expect-error TODO: fix\n\t\t\t\t\tif ('$' + getter(value) === typedArray) {\n\t\t\t\t\t\tfound = $slice(typedArray, 1);\n\t\t\t\t\t}\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t}\n\t);\n\treturn found;\n};\n\n/** @type {import('.')} */\nvar trySlices = function tryAllSlices(value) {\n\t/** @type {ReturnType} */ var found = false;\n\tforEach(\n\t\t// eslint-disable-next-line no-extra-parens\n\t\t/** @type {any} */ (cache),\n\t\t/** @type {(getter: typeof cache, name: `\\$${TypedArrayName}`) => void} */ function (getter, name) {\n\t\t\tif (!found) {\n\t\t\t\ttry {\n\t\t\t\t// @ts-expect-error TODO: fix\n\t\t\t\t\tgetter(value);\n\t\t\t\t\tfound = $slice(name, 1);\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t}\n\t);\n\treturn found;\n};\n\n/** @type {import('.')} */\nmodule.exports = function whichTypedArray(value) {\n\tif (!value || typeof value !== 'object') { return false; }\n\tif (!hasToStringTag) {\n\t\tvar tag = $slice($toString(value), 8, -1);\n\t\tif ($indexOf(typedArrays, tag) > -1) {\n\t\t\treturn tag;\n\t\t}\n\t\tif (tag !== 'Object') {\n\t\t\treturn false;\n\t\t}\n\t\t// node < 0.6 hits here on real Typed Arrays\n\t\treturn trySlices(value);\n\t}\n\tif (!gOPD) { return null; } // unknown engine\n\treturn tryTypedArrays(value);\n};\n","'use strict';\n\nvar whichTypedArray = require('which-typed-array');\n\n/** @type {import('.')} */\nmodule.exports = function isTypedArray(value) {\n\treturn !!whichTypedArray(value);\n};\n","// Currently in sync with Node.js lib/internal/util/types.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\n'use strict';\n\nvar isArgumentsObject = require('is-arguments');\nvar isGeneratorFunction = require('is-generator-function');\nvar whichTypedArray = require('which-typed-array');\nvar isTypedArray = require('is-typed-array');\n\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\n\nvar BigIntSupported = typeof BigInt !== 'undefined';\nvar SymbolSupported = typeof Symbol !== 'undefined';\n\nvar ObjectToString = uncurryThis(Object.prototype.toString);\n\nvar numberValue = uncurryThis(Number.prototype.valueOf);\nvar stringValue = uncurryThis(String.prototype.valueOf);\nvar booleanValue = uncurryThis(Boolean.prototype.valueOf);\n\nif (BigIntSupported) {\n var bigIntValue = uncurryThis(BigInt.prototype.valueOf);\n}\n\nif (SymbolSupported) {\n var symbolValue = uncurryThis(Symbol.prototype.valueOf);\n}\n\nfunction checkBoxedPrimitive(value, prototypeValueOf) {\n if (typeof value !== 'object') {\n return false;\n }\n try {\n prototypeValueOf(value);\n return true;\n } catch(e) {\n return false;\n }\n}\n\nexports.isArgumentsObject = isArgumentsObject;\nexports.isGeneratorFunction = isGeneratorFunction;\nexports.isTypedArray = isTypedArray;\n\n// Taken from here and modified for better browser support\n// https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js\nfunction isPromise(input) {\n\treturn (\n\t\t(\n\t\t\ttypeof Promise !== 'undefined' &&\n\t\t\tinput instanceof Promise\n\t\t) ||\n\t\t(\n\t\t\tinput !== null &&\n\t\t\ttypeof input === 'object' &&\n\t\t\ttypeof input.then === 'function' &&\n\t\t\ttypeof input.catch === 'function'\n\t\t)\n\t);\n}\nexports.isPromise = isPromise;\n\nfunction isArrayBufferView(value) {\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n return ArrayBuffer.isView(value);\n }\n\n return (\n isTypedArray(value) ||\n isDataView(value)\n );\n}\nexports.isArrayBufferView = isArrayBufferView;\n\n\nfunction isUint8Array(value) {\n return whichTypedArray(value) === 'Uint8Array';\n}\nexports.isUint8Array = isUint8Array;\n\nfunction isUint8ClampedArray(value) {\n return whichTypedArray(value) === 'Uint8ClampedArray';\n}\nexports.isUint8ClampedArray = isUint8ClampedArray;\n\nfunction isUint16Array(value) {\n return whichTypedArray(value) === 'Uint16Array';\n}\nexports.isUint16Array = isUint16Array;\n\nfunction isUint32Array(value) {\n return whichTypedArray(value) === 'Uint32Array';\n}\nexports.isUint32Array = isUint32Array;\n\nfunction isInt8Array(value) {\n return whichTypedArray(value) === 'Int8Array';\n}\nexports.isInt8Array = isInt8Array;\n\nfunction isInt16Array(value) {\n return whichTypedArray(value) === 'Int16Array';\n}\nexports.isInt16Array = isInt16Array;\n\nfunction isInt32Array(value) {\n return whichTypedArray(value) === 'Int32Array';\n}\nexports.isInt32Array = isInt32Array;\n\nfunction isFloat32Array(value) {\n return whichTypedArray(value) === 'Float32Array';\n}\nexports.isFloat32Array = isFloat32Array;\n\nfunction isFloat64Array(value) {\n return whichTypedArray(value) === 'Float64Array';\n}\nexports.isFloat64Array = isFloat64Array;\n\nfunction isBigInt64Array(value) {\n return whichTypedArray(value) === 'BigInt64Array';\n}\nexports.isBigInt64Array = isBigInt64Array;\n\nfunction isBigUint64Array(value) {\n return whichTypedArray(value) === 'BigUint64Array';\n}\nexports.isBigUint64Array = isBigUint64Array;\n\nfunction isMapToString(value) {\n return ObjectToString(value) === '[object Map]';\n}\nisMapToString.working = (\n typeof Map !== 'undefined' &&\n isMapToString(new Map())\n);\n\nfunction isMap(value) {\n if (typeof Map === 'undefined') {\n return false;\n }\n\n return isMapToString.working\n ? isMapToString(value)\n : value instanceof Map;\n}\nexports.isMap = isMap;\n\nfunction isSetToString(value) {\n return ObjectToString(value) === '[object Set]';\n}\nisSetToString.working = (\n typeof Set !== 'undefined' &&\n isSetToString(new Set())\n);\nfunction isSet(value) {\n if (typeof Set === 'undefined') {\n return false;\n }\n\n return isSetToString.working\n ? isSetToString(value)\n : value instanceof Set;\n}\nexports.isSet = isSet;\n\nfunction isWeakMapToString(value) {\n return ObjectToString(value) === '[object WeakMap]';\n}\nisWeakMapToString.working = (\n typeof WeakMap !== 'undefined' &&\n isWeakMapToString(new WeakMap())\n);\nfunction isWeakMap(value) {\n if (typeof WeakMap === 'undefined') {\n return false;\n }\n\n return isWeakMapToString.working\n ? isWeakMapToString(value)\n : value instanceof WeakMap;\n}\nexports.isWeakMap = isWeakMap;\n\nfunction isWeakSetToString(value) {\n return ObjectToString(value) === '[object WeakSet]';\n}\nisWeakSetToString.working = (\n typeof WeakSet !== 'undefined' &&\n isWeakSetToString(new WeakSet())\n);\nfunction isWeakSet(value) {\n return isWeakSetToString(value);\n}\nexports.isWeakSet = isWeakSet;\n\nfunction isArrayBufferToString(value) {\n return ObjectToString(value) === '[object ArrayBuffer]';\n}\nisArrayBufferToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n isArrayBufferToString(new ArrayBuffer())\n);\nfunction isArrayBuffer(value) {\n if (typeof ArrayBuffer === 'undefined') {\n return false;\n }\n\n return isArrayBufferToString.working\n ? isArrayBufferToString(value)\n : value instanceof ArrayBuffer;\n}\nexports.isArrayBuffer = isArrayBuffer;\n\nfunction isDataViewToString(value) {\n return ObjectToString(value) === '[object DataView]';\n}\nisDataViewToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n typeof DataView !== 'undefined' &&\n isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1))\n);\nfunction isDataView(value) {\n if (typeof DataView === 'undefined') {\n return false;\n }\n\n return isDataViewToString.working\n ? isDataViewToString(value)\n : value instanceof DataView;\n}\nexports.isDataView = isDataView;\n\n// Store a copy of SharedArrayBuffer in case it's deleted elsewhere\nvar SharedArrayBufferCopy = typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : undefined;\nfunction isSharedArrayBufferToString(value) {\n return ObjectToString(value) === '[object SharedArrayBuffer]';\n}\nfunction isSharedArrayBuffer(value) {\n if (typeof SharedArrayBufferCopy === 'undefined') {\n return false;\n }\n\n if (typeof isSharedArrayBufferToString.working === 'undefined') {\n isSharedArrayBufferToString.working = isSharedArrayBufferToString(new SharedArrayBufferCopy());\n }\n\n return isSharedArrayBufferToString.working\n ? isSharedArrayBufferToString(value)\n : value instanceof SharedArrayBufferCopy;\n}\nexports.isSharedArrayBuffer = isSharedArrayBuffer;\n\nfunction isAsyncFunction(value) {\n return ObjectToString(value) === '[object AsyncFunction]';\n}\nexports.isAsyncFunction = isAsyncFunction;\n\nfunction isMapIterator(value) {\n return ObjectToString(value) === '[object Map Iterator]';\n}\nexports.isMapIterator = isMapIterator;\n\nfunction isSetIterator(value) {\n return ObjectToString(value) === '[object Set Iterator]';\n}\nexports.isSetIterator = isSetIterator;\n\nfunction isGeneratorObject(value) {\n return ObjectToString(value) === '[object Generator]';\n}\nexports.isGeneratorObject = isGeneratorObject;\n\nfunction isWebAssemblyCompiledModule(value) {\n return ObjectToString(value) === '[object WebAssembly.Module]';\n}\nexports.isWebAssemblyCompiledModule = isWebAssemblyCompiledModule;\n\nfunction isNumberObject(value) {\n return checkBoxedPrimitive(value, numberValue);\n}\nexports.isNumberObject = isNumberObject;\n\nfunction isStringObject(value) {\n return checkBoxedPrimitive(value, stringValue);\n}\nexports.isStringObject = isStringObject;\n\nfunction isBooleanObject(value) {\n return checkBoxedPrimitive(value, booleanValue);\n}\nexports.isBooleanObject = isBooleanObject;\n\nfunction isBigIntObject(value) {\n return BigIntSupported && checkBoxedPrimitive(value, bigIntValue);\n}\nexports.isBigIntObject = isBigIntObject;\n\nfunction isSymbolObject(value) {\n return SymbolSupported && checkBoxedPrimitive(value, symbolValue);\n}\nexports.isSymbolObject = isSymbolObject;\n\nfunction isBoxedPrimitive(value) {\n return (\n isNumberObject(value) ||\n isStringObject(value) ||\n isBooleanObject(value) ||\n isBigIntObject(value) ||\n isSymbolObject(value)\n );\n}\nexports.isBoxedPrimitive = isBoxedPrimitive;\n\nfunction isAnyArrayBuffer(value) {\n return typeof Uint8Array !== 'undefined' && (\n isArrayBuffer(value) ||\n isSharedArrayBuffer(value)\n );\n}\nexports.isAnyArrayBuffer = isAnyArrayBuffer;\n\n['isProxy', 'isExternal', 'isModuleNamespaceObject'].forEach(function(method) {\n Object.defineProperty(exports, method, {\n enumerable: false,\n value: function() {\n throw new Error(method + ' is not supported in userland');\n }\n });\n});\n","module.exports = function isBuffer(arg) {\n return arg instanceof Buffer;\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnvRegex = /^$/;\n\nif (process.env.NODE_DEBUG) {\n var debugEnv = process.env.NODE_DEBUG;\n debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g, '\\\\$&')\n .replace(/\\*/g, '.*')\n .replace(/,/g, '$|^')\n .toUpperCase();\n debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');\n}\nexports.debuglog = function(set) {\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (debugEnvRegex.test(set)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').slice(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.slice(1, -1);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nexports.types = require('./support/types');\n\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\nexports.types.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\nexports.types.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\nexports.types.isNativeError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb.bind(null, null, ret)) },\n function(rej) { process.nextTick(callbackifyOnRejected.bind(null, rej, cb)) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\nvar _require2 = require('util'),\n inspect = _require2.inspect;\nvar custom = inspect && inspect.custom || 'inspect';\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\nmodule.exports = /*#__PURE__*/function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) ret += s + p.data;\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n }\n\n // Consumes a specified amount of bytes or characters from the buffered data.\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n }\n\n // Consumes a specified amount of characters from the buffered data.\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Consumes a specified amount of bytes from the buffered data.\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Make sure the linked list only shows the minimal necessary information.\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread(_objectSpread({}, options), {}, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n return BufferList;\n}();","'use strict';\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n return this;\n}\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n return Math.floor(hwm);\n }\n\n // Default value\n return state.objectMode ? 16 : 16 * 1024;\n}\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\nmodule.exports = Writable;\n\n/* */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n\n/**/\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\nvar Buffer = require('buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\nvar destroyImpl = require('./internal/streams/destroy');\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nrequire('inherits')(Writable, Stream);\nfunction nop() {}\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'finish' (and potentially 'end')\n this.autoDestroy = !!options.autoDestroy;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex);\n\n // legacy.\n this.writable = true;\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END();\n // TODO: defer error events consistently everywhere, not just the cb\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n return true;\n}\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n return ret;\n}\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n if (entry === null) state.lastBufferedRequest = null;\n }\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\nWritable.prototype._writev = null;\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n errorOrDestroy(stream, err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n return need;\n}\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n\n // reuse the free corkReq.\n state.corkedRequestsFree.next = corkReq;\n}\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/**/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n};\n/**/\n\nmodule.exports = Duplex;\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\nrequire('inherits')(Duplex, Readable);\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n process.nextTick(onEndNT, this);\n}\nfunction onEndNT(self) {\n self.end();\n}\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\n/**/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n callback.apply(this, args);\n };\n}\nfunction noop() {}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n var writableEnded = stream._writableState && stream._writableState.finished;\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n var onclose = function onclose() {\n var err;\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\nmodule.exports = eos;","'use strict';\n\nvar _Object$setPrototypeO;\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar finished = require('./end-of-stream');\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n if (resolve !== null) {\n var data = iter[kStream].read();\n // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n next: function next() {\n var _this = this;\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n if (error !== null) {\n return Promise.reject(error);\n }\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n }\n\n // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n var lastPromise = this[kLastPromise];\n var promise;\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n promise = new Promise(this[kHandlePromise]);\n }\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject];\n // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n iterator[kError] = err;\n return;\n }\n var resolve = iterator[kLastResolve];\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\nmodule.exports = createReadableStreamAsyncIterator;","module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nmodule.exports = Readable;\n\n/**/\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n\n/**/\nvar EE = require('events').EventEmitter;\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\nvar Buffer = require('buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\nvar debugUtil = require('util');\nvar debug;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\nvar BufferList = require('./internal/streams/buffer_list');\nvar destroyImpl = require('./internal/streams/destroy');\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;\n\n// Lazy loaded to improve the startup performance.\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\nrequire('inherits')(Readable, Stream);\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'end' (and potentially 'finish')\n this.autoDestroy = !!options.autoDestroy;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options);\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex);\n\n // legacy\n this.readable = true;\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n Stream.call(this);\n}\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n }\n\n // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n return er;\n}\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder;\n // If setEncoding(null), decoder.encoding equals utf8\n this._readableState.encoding = this._readableState.decoder.encoding;\n\n // Iterate over current buffer to convert already stored Buffers:\n var p = this._readableState.buffer.head;\n var content = '';\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n this._readableState.buffer.clear();\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n};\n\n// Don't raise the hwm > 1GB\nvar MAX_HWM = 0x40000000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n }\n\n // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n return dest;\n};\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n for (var i = 0; i < len; i++) dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0;\n\n // Try start flowing on next tick if stream isn't explicitly paused\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true;\n\n // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n state.paused = false;\n return this;\n};\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n if (!state.reading) {\n stream.read(0);\n }\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n this._readableState.paused = true;\n return this;\n};\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null);\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n return this;\n};\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n return createReadableStreamAsyncIterator(this);\n };\n}\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n});\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length);\n\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n return from(Readable, iterable, opts);\n };\n}\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\nvar Duplex = require('./_stream_duplex');\nrequire('inherits')(Transform, Duplex);\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null)\n // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\nfunction prefinish() {\n var _this = this;\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null)\n // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n'use strict';\n\nmodule.exports = PassThrough;\nvar Transform = require('./_stream_transform');\nrequire('inherits')(PassThrough, Transform);\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nvar eos;\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\nvar _require$codes = require('../../../errors').codes,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = require('./end-of-stream');\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true;\n\n // request.destroy just do .end - .abort is what we want\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\nfunction call(fn) {\n fn();\n}\nfunction pipe(from, to) {\n return from.pipe(to);\n}\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\nmodule.exports = pipeline;","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\nexports.finished = require('./lib/internal/streams/end-of-stream.js');\nexports.pipeline = require('./lib/internal/streams/pipeline.js');\n","'use strict'\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('readable-stream').Transform\nvar inherits = require('inherits')\n\nfunction throwIfNotStringOrBuffer (val, prefix) {\n if (!Buffer.isBuffer(val) && typeof val !== 'string') {\n throw new TypeError(prefix + ' must be a string or a buffer')\n }\n}\n\nfunction HashBase (blockSize) {\n Transform.call(this)\n\n this._block = Buffer.allocUnsafe(blockSize)\n this._blockSize = blockSize\n this._blockOffset = 0\n this._length = [0, 0, 0, 0]\n\n this._finalized = false\n}\n\ninherits(HashBase, Transform)\n\nHashBase.prototype._transform = function (chunk, encoding, callback) {\n var error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype._flush = function (callback) {\n var error = null\n try {\n this.push(this.digest())\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype.update = function (data, encoding) {\n throwIfNotStringOrBuffer(data, 'Data')\n if (this._finalized) throw new Error('Digest already called')\n if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)\n\n // consume data\n var block = this._block\n var offset = 0\n while (this._blockOffset + data.length - offset >= this._blockSize) {\n for (var i = this._blockOffset; i < this._blockSize;) block[i++] = data[offset++]\n this._update()\n this._blockOffset = 0\n }\n while (offset < data.length) block[this._blockOffset++] = data[offset++]\n\n // update length\n for (var j = 0, carry = data.length * 8; carry > 0; ++j) {\n this._length[j] += carry\n carry = (this._length[j] / 0x0100000000) | 0\n if (carry > 0) this._length[j] -= 0x0100000000 * carry\n }\n\n return this\n}\n\nHashBase.prototype._update = function () {\n throw new Error('_update is not implemented')\n}\n\nHashBase.prototype.digest = function (encoding) {\n if (this._finalized) throw new Error('Digest already called')\n this._finalized = true\n\n var digest = this._digest()\n if (encoding !== undefined) digest = digest.toString(encoding)\n\n // reset state\n this._block.fill(0)\n this._blockOffset = 0\n for (var i = 0; i < 4; ++i) this._length[i] = 0\n\n return digest\n}\n\nHashBase.prototype._digest = function () {\n throw new Error('_digest is not implemented')\n}\n\nmodule.exports = HashBase\n","'use strict'\nvar inherits = require('inherits')\nvar HashBase = require('hash-base')\nvar Buffer = require('safe-buffer').Buffer\n\nvar ARRAY16 = new Array(16)\n\nfunction MD5 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n}\n\ninherits(MD5, HashBase)\n\nMD5.prototype._update = function () {\n var M = ARRAY16\n for (var i = 0; i < 16; ++i) M[i] = this._block.readInt32LE(i * 4)\n\n var a = this._a\n var b = this._b\n var c = this._c\n var d = this._d\n\n a = fnF(a, b, c, d, M[0], 0xd76aa478, 7)\n d = fnF(d, a, b, c, M[1], 0xe8c7b756, 12)\n c = fnF(c, d, a, b, M[2], 0x242070db, 17)\n b = fnF(b, c, d, a, M[3], 0xc1bdceee, 22)\n a = fnF(a, b, c, d, M[4], 0xf57c0faf, 7)\n d = fnF(d, a, b, c, M[5], 0x4787c62a, 12)\n c = fnF(c, d, a, b, M[6], 0xa8304613, 17)\n b = fnF(b, c, d, a, M[7], 0xfd469501, 22)\n a = fnF(a, b, c, d, M[8], 0x698098d8, 7)\n d = fnF(d, a, b, c, M[9], 0x8b44f7af, 12)\n c = fnF(c, d, a, b, M[10], 0xffff5bb1, 17)\n b = fnF(b, c, d, a, M[11], 0x895cd7be, 22)\n a = fnF(a, b, c, d, M[12], 0x6b901122, 7)\n d = fnF(d, a, b, c, M[13], 0xfd987193, 12)\n c = fnF(c, d, a, b, M[14], 0xa679438e, 17)\n b = fnF(b, c, d, a, M[15], 0x49b40821, 22)\n\n a = fnG(a, b, c, d, M[1], 0xf61e2562, 5)\n d = fnG(d, a, b, c, M[6], 0xc040b340, 9)\n c = fnG(c, d, a, b, M[11], 0x265e5a51, 14)\n b = fnG(b, c, d, a, M[0], 0xe9b6c7aa, 20)\n a = fnG(a, b, c, d, M[5], 0xd62f105d, 5)\n d = fnG(d, a, b, c, M[10], 0x02441453, 9)\n c = fnG(c, d, a, b, M[15], 0xd8a1e681, 14)\n b = fnG(b, c, d, a, M[4], 0xe7d3fbc8, 20)\n a = fnG(a, b, c, d, M[9], 0x21e1cde6, 5)\n d = fnG(d, a, b, c, M[14], 0xc33707d6, 9)\n c = fnG(c, d, a, b, M[3], 0xf4d50d87, 14)\n b = fnG(b, c, d, a, M[8], 0x455a14ed, 20)\n a = fnG(a, b, c, d, M[13], 0xa9e3e905, 5)\n d = fnG(d, a, b, c, M[2], 0xfcefa3f8, 9)\n c = fnG(c, d, a, b, M[7], 0x676f02d9, 14)\n b = fnG(b, c, d, a, M[12], 0x8d2a4c8a, 20)\n\n a = fnH(a, b, c, d, M[5], 0xfffa3942, 4)\n d = fnH(d, a, b, c, M[8], 0x8771f681, 11)\n c = fnH(c, d, a, b, M[11], 0x6d9d6122, 16)\n b = fnH(b, c, d, a, M[14], 0xfde5380c, 23)\n a = fnH(a, b, c, d, M[1], 0xa4beea44, 4)\n d = fnH(d, a, b, c, M[4], 0x4bdecfa9, 11)\n c = fnH(c, d, a, b, M[7], 0xf6bb4b60, 16)\n b = fnH(b, c, d, a, M[10], 0xbebfbc70, 23)\n a = fnH(a, b, c, d, M[13], 0x289b7ec6, 4)\n d = fnH(d, a, b, c, M[0], 0xeaa127fa, 11)\n c = fnH(c, d, a, b, M[3], 0xd4ef3085, 16)\n b = fnH(b, c, d, a, M[6], 0x04881d05, 23)\n a = fnH(a, b, c, d, M[9], 0xd9d4d039, 4)\n d = fnH(d, a, b, c, M[12], 0xe6db99e5, 11)\n c = fnH(c, d, a, b, M[15], 0x1fa27cf8, 16)\n b = fnH(b, c, d, a, M[2], 0xc4ac5665, 23)\n\n a = fnI(a, b, c, d, M[0], 0xf4292244, 6)\n d = fnI(d, a, b, c, M[7], 0x432aff97, 10)\n c = fnI(c, d, a, b, M[14], 0xab9423a7, 15)\n b = fnI(b, c, d, a, M[5], 0xfc93a039, 21)\n a = fnI(a, b, c, d, M[12], 0x655b59c3, 6)\n d = fnI(d, a, b, c, M[3], 0x8f0ccc92, 10)\n c = fnI(c, d, a, b, M[10], 0xffeff47d, 15)\n b = fnI(b, c, d, a, M[1], 0x85845dd1, 21)\n a = fnI(a, b, c, d, M[8], 0x6fa87e4f, 6)\n d = fnI(d, a, b, c, M[15], 0xfe2ce6e0, 10)\n c = fnI(c, d, a, b, M[6], 0xa3014314, 15)\n b = fnI(b, c, d, a, M[13], 0x4e0811a1, 21)\n a = fnI(a, b, c, d, M[4], 0xf7537e82, 6)\n d = fnI(d, a, b, c, M[11], 0xbd3af235, 10)\n c = fnI(c, d, a, b, M[2], 0x2ad7d2bb, 15)\n b = fnI(b, c, d, a, M[9], 0xeb86d391, 21)\n\n this._a = (this._a + a) | 0\n this._b = (this._b + b) | 0\n this._c = (this._c + c) | 0\n this._d = (this._d + d) | 0\n}\n\nMD5.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = Buffer.allocUnsafe(16)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fnF (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnG (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnH (a, b, c, d, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnI (a, b, c, d, m, k, s) {\n return (rotl((a + ((c ^ (b | (~d)))) + m + k) | 0, s) + b) | 0\n}\n\nmodule.exports = MD5\n","'use strict'\nvar Buffer = require('buffer').Buffer\nvar inherits = require('inherits')\nvar HashBase = require('hash-base')\n\nvar ARRAY16 = new Array(16)\n\nvar zl = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n]\n\nvar zr = [\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n]\n\nvar sl = [\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n]\n\nvar sr = [\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n]\n\nvar hl = [0x00000000, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e]\nvar hr = [0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0x00000000]\n\nfunction RIPEMD160 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n}\n\ninherits(RIPEMD160, HashBase)\n\nRIPEMD160.prototype._update = function () {\n var words = ARRAY16\n for (var j = 0; j < 16; ++j) words[j] = this._block.readInt32LE(j * 4)\n\n var al = this._a | 0\n var bl = this._b | 0\n var cl = this._c | 0\n var dl = this._d | 0\n var el = this._e | 0\n\n var ar = this._a | 0\n var br = this._b | 0\n var cr = this._c | 0\n var dr = this._d | 0\n var er = this._e | 0\n\n // computation\n for (var i = 0; i < 80; i += 1) {\n var tl\n var tr\n if (i < 16) {\n tl = fn1(al, bl, cl, dl, el, words[zl[i]], hl[0], sl[i])\n tr = fn5(ar, br, cr, dr, er, words[zr[i]], hr[0], sr[i])\n } else if (i < 32) {\n tl = fn2(al, bl, cl, dl, el, words[zl[i]], hl[1], sl[i])\n tr = fn4(ar, br, cr, dr, er, words[zr[i]], hr[1], sr[i])\n } else if (i < 48) {\n tl = fn3(al, bl, cl, dl, el, words[zl[i]], hl[2], sl[i])\n tr = fn3(ar, br, cr, dr, er, words[zr[i]], hr[2], sr[i])\n } else if (i < 64) {\n tl = fn4(al, bl, cl, dl, el, words[zl[i]], hl[3], sl[i])\n tr = fn2(ar, br, cr, dr, er, words[zr[i]], hr[3], sr[i])\n } else { // if (i<80) {\n tl = fn5(al, bl, cl, dl, el, words[zl[i]], hl[4], sl[i])\n tr = fn1(ar, br, cr, dr, er, words[zr[i]], hr[4], sr[i])\n }\n\n al = el\n el = dl\n dl = rotl(cl, 10)\n cl = bl\n bl = tl\n\n ar = er\n er = dr\n dr = rotl(cr, 10)\n cr = br\n br = tr\n }\n\n // update state\n var t = (this._b + cl + dr) | 0\n this._b = (this._c + dl + er) | 0\n this._c = (this._d + el + ar) | 0\n this._d = (this._e + al + br) | 0\n this._e = (this._a + bl + cr) | 0\n this._a = t\n}\n\nRIPEMD160.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = Buffer.alloc ? Buffer.alloc(20) : new Buffer(20)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n buffer.writeInt32LE(this._e, 16)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fn1 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn2 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn3 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b | (~c)) ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn4 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn5 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ (c | (~d))) + m + k) | 0, s) + e) | 0\n}\n\nmodule.exports = RIPEMD160\n","var Buffer = require('safe-buffer').Buffer\n\n// prototype class for hash functions\nfunction Hash (blockSize, finalSize) {\n this._block = Buffer.alloc(blockSize)\n this._finalSize = finalSize\n this._blockSize = blockSize\n this._len = 0\n}\n\nHash.prototype.update = function (data, enc) {\n if (typeof data === 'string') {\n enc = enc || 'utf8'\n data = Buffer.from(data, enc)\n }\n\n var block = this._block\n var blockSize = this._blockSize\n var length = data.length\n var accum = this._len\n\n for (var offset = 0; offset < length;) {\n var assigned = accum % blockSize\n var remainder = Math.min(length - offset, blockSize - assigned)\n\n for (var i = 0; i < remainder; i++) {\n block[assigned + i] = data[offset + i]\n }\n\n accum += remainder\n offset += remainder\n\n if ((accum % blockSize) === 0) {\n this._update(block)\n }\n }\n\n this._len += length\n return this\n}\n\nHash.prototype.digest = function (enc) {\n var rem = this._len % this._blockSize\n\n this._block[rem] = 0x80\n\n // zero (rem + 1) trailing bits, where (rem + 1) is the smallest\n // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize\n this._block.fill(0, rem + 1)\n\n if (rem >= this._finalSize) {\n this._update(this._block)\n this._block.fill(0)\n }\n\n var bits = this._len * 8\n\n // uint32\n if (bits <= 0xffffffff) {\n this._block.writeUInt32BE(bits, this._blockSize - 4)\n\n // uint64\n } else {\n var lowBits = (bits & 0xffffffff) >>> 0\n var highBits = (bits - lowBits) / 0x100000000\n\n this._block.writeUInt32BE(highBits, this._blockSize - 8)\n this._block.writeUInt32BE(lowBits, this._blockSize - 4)\n }\n\n this._update(this._block)\n var hash = this._hash()\n\n return enc ? hash.toString(enc) : hash\n}\n\nHash.prototype._update = function () {\n throw new Error('_update must be implemented by subclass')\n}\n\nmodule.exports = Hash\n","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined\n * in FIPS PUB 180-1\n * This source code is derived from sha1.js of the same repository.\n * The difference between SHA-0 and SHA-1 is just a bitwise rotate left\n * operation was added.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha, Hash)\n\nSha.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha\n","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined\n * in FIPS PUB 180-1\n * Version 2.1a Copyright Paul Johnston 2000 - 2002.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for details.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha1 () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha1, Hash)\n\nSha1.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl1 (num) {\n return (num << 1) | (num >>> 31)\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha1.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16])\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha1.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha1\n","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,\n 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,\n 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,\n 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,\n 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,\n 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,\n 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,\n 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,\n 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,\n 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,\n 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,\n 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,\n 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,\n 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,\n 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,\n 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2\n]\n\nvar W = new Array(64)\n\nfunction Sha256 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha256, Hash)\n\nSha256.prototype.init = function () {\n this._a = 0x6a09e667\n this._b = 0xbb67ae85\n this._c = 0x3c6ef372\n this._d = 0xa54ff53a\n this._e = 0x510e527f\n this._f = 0x9b05688c\n this._g = 0x1f83d9ab\n this._h = 0x5be0cd19\n\n return this\n}\n\nfunction ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x) {\n return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10)\n}\n\nfunction sigma1 (x) {\n return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7)\n}\n\nfunction gamma0 (x) {\n return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ (x >>> 3)\n}\n\nfunction gamma1 (x) {\n return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ (x >>> 10)\n}\n\nSha256.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n var f = this._f | 0\n var g = this._g | 0\n var h = this._h | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 64; ++i) W[i] = (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) | 0\n\n for (var j = 0; j < 64; ++j) {\n var T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + W[j]) | 0\n var T2 = (sigma0(a) + maj(a, b, c)) | 0\n\n h = g\n g = f\n f = e\n e = (d + T1) | 0\n d = c\n c = b\n b = a\n a = (T1 + T2) | 0\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n this._f = (f + this._f) | 0\n this._g = (g + this._g) | 0\n this._h = (h + this._h) | 0\n}\n\nSha256.prototype._hash = function () {\n var H = Buffer.allocUnsafe(32)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n H.writeInt32BE(this._h, 28)\n\n return H\n}\n\nmodule.exports = Sha256\n","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Sha256 = require('./sha256')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(64)\n\nfunction Sha224 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha224, Sha256)\n\nSha224.prototype.init = function () {\n this._a = 0xc1059ed8\n this._b = 0x367cd507\n this._c = 0x3070dd17\n this._d = 0xf70e5939\n this._e = 0xffc00b31\n this._f = 0x68581511\n this._g = 0x64f98fa7\n this._h = 0xbefa4fa4\n\n return this\n}\n\nSha224.prototype._hash = function () {\n var H = Buffer.allocUnsafe(28)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n\n return H\n}\n\nmodule.exports = Sha224\n","var inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n]\n\nvar W = new Array(160)\n\nfunction Sha512 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha512, Hash)\n\nSha512.prototype.init = function () {\n this._ah = 0x6a09e667\n this._bh = 0xbb67ae85\n this._ch = 0x3c6ef372\n this._dh = 0xa54ff53a\n this._eh = 0x510e527f\n this._fh = 0x9b05688c\n this._gh = 0x1f83d9ab\n this._hh = 0x5be0cd19\n\n this._al = 0xf3bcc908\n this._bl = 0x84caa73b\n this._cl = 0xfe94f82b\n this._dl = 0x5f1d36f1\n this._el = 0xade682d1\n this._fl = 0x2b3e6c1f\n this._gl = 0xfb41bd6b\n this._hl = 0x137e2179\n\n return this\n}\n\nfunction Ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x, xl) {\n return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25)\n}\n\nfunction sigma1 (x, xl) {\n return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23)\n}\n\nfunction Gamma0 (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7)\n}\n\nfunction Gamma0l (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25)\n}\n\nfunction Gamma1 (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6)\n}\n\nfunction Gamma1l (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26)\n}\n\nfunction getCarry (a, b) {\n return (a >>> 0) < (b >>> 0) ? 1 : 0\n}\n\nSha512.prototype._update = function (M) {\n var W = this._w\n\n var ah = this._ah | 0\n var bh = this._bh | 0\n var ch = this._ch | 0\n var dh = this._dh | 0\n var eh = this._eh | 0\n var fh = this._fh | 0\n var gh = this._gh | 0\n var hh = this._hh | 0\n\n var al = this._al | 0\n var bl = this._bl | 0\n var cl = this._cl | 0\n var dl = this._dl | 0\n var el = this._el | 0\n var fl = this._fl | 0\n var gl = this._gl | 0\n var hl = this._hl | 0\n\n for (var i = 0; i < 32; i += 2) {\n W[i] = M.readInt32BE(i * 4)\n W[i + 1] = M.readInt32BE(i * 4 + 4)\n }\n for (; i < 160; i += 2) {\n var xh = W[i - 15 * 2]\n var xl = W[i - 15 * 2 + 1]\n var gamma0 = Gamma0(xh, xl)\n var gamma0l = Gamma0l(xl, xh)\n\n xh = W[i - 2 * 2]\n xl = W[i - 2 * 2 + 1]\n var gamma1 = Gamma1(xh, xl)\n var gamma1l = Gamma1l(xl, xh)\n\n // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n var Wi7h = W[i - 7 * 2]\n var Wi7l = W[i - 7 * 2 + 1]\n\n var Wi16h = W[i - 16 * 2]\n var Wi16l = W[i - 16 * 2 + 1]\n\n var Wil = (gamma0l + Wi7l) | 0\n var Wih = (gamma0 + Wi7h + getCarry(Wil, gamma0l)) | 0\n Wil = (Wil + gamma1l) | 0\n Wih = (Wih + gamma1 + getCarry(Wil, gamma1l)) | 0\n Wil = (Wil + Wi16l) | 0\n Wih = (Wih + Wi16h + getCarry(Wil, Wi16l)) | 0\n\n W[i] = Wih\n W[i + 1] = Wil\n }\n\n for (var j = 0; j < 160; j += 2) {\n Wih = W[j]\n Wil = W[j + 1]\n\n var majh = maj(ah, bh, ch)\n var majl = maj(al, bl, cl)\n\n var sigma0h = sigma0(ah, al)\n var sigma0l = sigma0(al, ah)\n var sigma1h = sigma1(eh, el)\n var sigma1l = sigma1(el, eh)\n\n // t1 = h + sigma1 + ch + K[j] + W[j]\n var Kih = K[j]\n var Kil = K[j + 1]\n\n var chh = Ch(eh, fh, gh)\n var chl = Ch(el, fl, gl)\n\n var t1l = (hl + sigma1l) | 0\n var t1h = (hh + sigma1h + getCarry(t1l, hl)) | 0\n t1l = (t1l + chl) | 0\n t1h = (t1h + chh + getCarry(t1l, chl)) | 0\n t1l = (t1l + Kil) | 0\n t1h = (t1h + Kih + getCarry(t1l, Kil)) | 0\n t1l = (t1l + Wil) | 0\n t1h = (t1h + Wih + getCarry(t1l, Wil)) | 0\n\n // t2 = sigma0 + maj\n var t2l = (sigma0l + majl) | 0\n var t2h = (sigma0h + majh + getCarry(t2l, sigma0l)) | 0\n\n hh = gh\n hl = gl\n gh = fh\n gl = fl\n fh = eh\n fl = el\n el = (dl + t1l) | 0\n eh = (dh + t1h + getCarry(el, dl)) | 0\n dh = ch\n dl = cl\n ch = bh\n cl = bl\n bh = ah\n bl = al\n al = (t1l + t2l) | 0\n ah = (t1h + t2h + getCarry(al, t1l)) | 0\n }\n\n this._al = (this._al + al) | 0\n this._bl = (this._bl + bl) | 0\n this._cl = (this._cl + cl) | 0\n this._dl = (this._dl + dl) | 0\n this._el = (this._el + el) | 0\n this._fl = (this._fl + fl) | 0\n this._gl = (this._gl + gl) | 0\n this._hl = (this._hl + hl) | 0\n\n this._ah = (this._ah + ah + getCarry(this._al, al)) | 0\n this._bh = (this._bh + bh + getCarry(this._bl, bl)) | 0\n this._ch = (this._ch + ch + getCarry(this._cl, cl)) | 0\n this._dh = (this._dh + dh + getCarry(this._dl, dl)) | 0\n this._eh = (this._eh + eh + getCarry(this._el, el)) | 0\n this._fh = (this._fh + fh + getCarry(this._fl, fl)) | 0\n this._gh = (this._gh + gh + getCarry(this._gl, gl)) | 0\n this._hh = (this._hh + hh + getCarry(this._hl, hl)) | 0\n}\n\nSha512.prototype._hash = function () {\n var H = Buffer.allocUnsafe(64)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n writeInt64BE(this._gh, this._gl, 48)\n writeInt64BE(this._hh, this._hl, 56)\n\n return H\n}\n\nmodule.exports = Sha512\n","var inherits = require('inherits')\nvar SHA512 = require('./sha512')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(160)\n\nfunction Sha384 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha384, SHA512)\n\nSha384.prototype.init = function () {\n this._ah = 0xcbbb9d5d\n this._bh = 0x629a292a\n this._ch = 0x9159015a\n this._dh = 0x152fecd8\n this._eh = 0x67332667\n this._fh = 0x8eb44a87\n this._gh = 0xdb0c2e0d\n this._hh = 0x47b5481d\n\n this._al = 0xc1059ed8\n this._bl = 0x367cd507\n this._cl = 0x3070dd17\n this._dl = 0xf70e5939\n this._el = 0xffc00b31\n this._fl = 0x68581511\n this._gl = 0x64f98fa7\n this._hl = 0xbefa4fa4\n\n return this\n}\n\nSha384.prototype._hash = function () {\n var H = Buffer.allocUnsafe(48)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n\n return H\n}\n\nmodule.exports = Sha384\n","var exports = module.exports = function SHA (algorithm) {\n algorithm = algorithm.toLowerCase()\n\n var Algorithm = exports[algorithm]\n if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)')\n\n return new Algorithm()\n}\n\nexports.sha = require('./sha')\nexports.sha1 = require('./sha1')\nexports.sha224 = require('./sha224')\nexports.sha256 = require('./sha256')\nexports.sha384 = require('./sha384')\nexports.sha512 = require('./sha512')\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = require('events').EventEmitter;\nvar inherits = require('inherits');\n\ninherits(Stream, EE);\nStream.Readable = require('readable-stream/lib/_stream_readable.js');\nStream.Writable = require('readable-stream/lib/_stream_writable.js');\nStream.Duplex = require('readable-stream/lib/_stream_duplex.js');\nStream.Transform = require('readable-stream/lib/_stream_transform.js');\nStream.PassThrough = require('readable-stream/lib/_stream_passthrough.js');\nStream.finished = require('readable-stream/lib/internal/streams/end-of-stream.js')\nStream.pipeline = require('readable-stream/lib/internal/streams/pipeline.js')\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain);\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n dest.end();\n }\n\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n if (typeof dest.destroy === 'function') dest.destroy();\n }\n\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if (EE.listenerCount(this, 'error') === 0) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror);\n\n // remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata);\n dest.removeListener('drain', ondrain);\n\n source.removeListener('end', onend);\n source.removeListener('close', onclose);\n\n source.removeListener('error', onerror);\n dest.removeListener('error', onerror);\n\n source.removeListener('end', cleanup);\n source.removeListener('close', cleanup);\n\n dest.removeListener('close', cleanup);\n }\n\n source.on('end', cleanup);\n source.on('close', cleanup);\n\n dest.on('close', cleanup);\n\n dest.emit('pipe', source);\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n};\n","var Buffer = require('safe-buffer').Buffer\nvar Transform = require('stream').Transform\nvar StringDecoder = require('string_decoder').StringDecoder\nvar inherits = require('inherits')\n\nfunction CipherBase (hashMode) {\n Transform.call(this)\n this.hashMode = typeof hashMode === 'string'\n if (this.hashMode) {\n this[hashMode] = this._finalOrDigest\n } else {\n this.final = this._finalOrDigest\n }\n if (this._final) {\n this.__final = this._final\n this._final = null\n }\n this._decoder = null\n this._encoding = null\n}\ninherits(CipherBase, Transform)\n\nCipherBase.prototype.update = function (data, inputEnc, outputEnc) {\n if (typeof data === 'string') {\n data = Buffer.from(data, inputEnc)\n }\n\n var outData = this._update(data)\n if (this.hashMode) return this\n\n if (outputEnc) {\n outData = this._toString(outData, outputEnc)\n }\n\n return outData\n}\n\nCipherBase.prototype.setAutoPadding = function () {}\nCipherBase.prototype.getAuthTag = function () {\n throw new Error('trying to get auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAuthTag = function () {\n throw new Error('trying to set auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAAD = function () {\n throw new Error('trying to set aad in unsupported state')\n}\n\nCipherBase.prototype._transform = function (data, _, next) {\n var err\n try {\n if (this.hashMode) {\n this._update(data)\n } else {\n this.push(this._update(data))\n }\n } catch (e) {\n err = e\n } finally {\n next(err)\n }\n}\nCipherBase.prototype._flush = function (done) {\n var err\n try {\n this.push(this.__final())\n } catch (e) {\n err = e\n }\n\n done(err)\n}\nCipherBase.prototype._finalOrDigest = function (outputEnc) {\n var outData = this.__final() || Buffer.alloc(0)\n if (outputEnc) {\n outData = this._toString(outData, outputEnc, true)\n }\n return outData\n}\n\nCipherBase.prototype._toString = function (value, enc, fin) {\n if (!this._decoder) {\n this._decoder = new StringDecoder(enc)\n this._encoding = enc\n }\n\n if (this._encoding !== enc) throw new Error('can\\'t switch encodings')\n\n var out = this._decoder.write(value)\n if (fin) {\n out += this._decoder.end()\n }\n\n return out\n}\n\nmodule.exports = CipherBase\n","'use strict'\nvar inherits = require('inherits')\nvar MD5 = require('md5.js')\nvar RIPEMD160 = require('ripemd160')\nvar sha = require('sha.js')\nvar Base = require('cipher-base')\n\nfunction Hash (hash) {\n Base.call(this, 'digest')\n\n this._hash = hash\n}\n\ninherits(Hash, Base)\n\nHash.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHash.prototype._final = function () {\n return this._hash.digest()\n}\n\nmodule.exports = function createHash (alg) {\n alg = alg.toLowerCase()\n if (alg === 'md5') return new MD5()\n if (alg === 'rmd160' || alg === 'ripemd160') return new RIPEMD160()\n\n return new Hash(sha(alg))\n}\n","'use strict'\nvar inherits = require('inherits')\nvar Buffer = require('safe-buffer').Buffer\n\nvar Base = require('cipher-base')\n\nvar ZEROS = Buffer.alloc(128)\nvar blocksize = 64\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n this._alg = alg\n this._key = key\n\n if (key.length > blocksize) {\n key = alg(key)\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = this._ipad = Buffer.allocUnsafe(blocksize)\n var opad = this._opad = Buffer.allocUnsafe(blocksize)\n\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n\n this._hash = [ipad]\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.push(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._alg(Buffer.concat(this._hash))\n return this._alg(Buffer.concat([this._opad, h]))\n}\nmodule.exports = Hmac\n","var MD5 = require('md5.js')\n\nmodule.exports = function (buffer) {\n return new MD5().update(buffer).digest()\n}\n","'use strict'\nvar inherits = require('inherits')\nvar Legacy = require('./legacy')\nvar Base = require('cipher-base')\nvar Buffer = require('safe-buffer').Buffer\nvar md5 = require('create-hash/md5')\nvar RIPEMD160 = require('ripemd160')\n\nvar sha = require('sha.js')\n\nvar ZEROS = Buffer.alloc(128)\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64\n\n this._alg = alg\n this._key = key\n if (key.length > blocksize) {\n var hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n key = hash.update(key).digest()\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = this._ipad = Buffer.allocUnsafe(blocksize)\n var opad = this._opad = Buffer.allocUnsafe(blocksize)\n\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n this._hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n this._hash.update(ipad)\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._hash.digest()\n var hash = this._alg === 'rmd160' ? new RIPEMD160() : sha(this._alg)\n return hash.update(this._opad).update(h).digest()\n}\n\nmodule.exports = function createHmac (alg, key) {\n alg = alg.toLowerCase()\n if (alg === 'rmd160' || alg === 'ripemd160') {\n return new Hmac('rmd160', key)\n }\n if (alg === 'md5') {\n return new Legacy(md5, key)\n }\n return new Hmac(alg, key)\n}\n","'use strict';\n\nmodule.exports = require('./browser/algorithms.json');\n","var MAX_ALLOC = Math.pow(2, 30) - 1 // default in iojs\n\nmodule.exports = function (iterations, keylen) {\n if (typeof iterations !== 'number') {\n throw new TypeError('Iterations not a number')\n }\n\n if (iterations < 0) {\n throw new TypeError('Bad iterations')\n }\n\n if (typeof keylen !== 'number') {\n throw new TypeError('Key length not a number')\n }\n\n if (keylen < 0 || keylen > MAX_ALLOC || keylen !== keylen) { /* eslint no-self-compare: 0 */\n throw new TypeError('Bad key length')\n }\n}\n","var defaultEncoding\n/* istanbul ignore next */\nif (global.process && global.process.browser) {\n defaultEncoding = 'utf-8'\n} else if (global.process && global.process.version) {\n var pVersionMajor = parseInt(process.version.split('.')[0].slice(1), 10)\n\n defaultEncoding = pVersionMajor >= 6 ? 'utf-8' : 'binary'\n} else {\n defaultEncoding = 'utf-8'\n}\nmodule.exports = defaultEncoding\n","var Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function (thing, encoding, name) {\n if (Buffer.isBuffer(thing)) {\n return thing\n } else if (typeof thing === 'string') {\n return Buffer.from(thing, encoding)\n } else if (ArrayBuffer.isView(thing)) {\n return Buffer.from(thing.buffer)\n } else {\n throw new TypeError(name + ' must be a string, a Buffer, a typed array or a DataView')\n }\n}\n","var md5 = require('create-hash/md5')\nvar RIPEMD160 = require('ripemd160')\nvar sha = require('sha.js')\nvar Buffer = require('safe-buffer').Buffer\n\nvar checkParameters = require('./precondition')\nvar defaultEncoding = require('./default-encoding')\nvar toBuffer = require('./to-buffer')\n\nvar ZEROS = Buffer.alloc(128)\nvar sizes = {\n md5: 16,\n sha1: 20,\n sha224: 28,\n sha256: 32,\n sha384: 48,\n sha512: 64,\n rmd160: 20,\n ripemd160: 20\n}\n\nfunction Hmac (alg, key, saltLen) {\n var hash = getDigest(alg)\n var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64\n\n if (key.length > blocksize) {\n key = hash(key)\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = Buffer.allocUnsafe(blocksize + sizes[alg])\n var opad = Buffer.allocUnsafe(blocksize + sizes[alg])\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n\n var ipad1 = Buffer.allocUnsafe(blocksize + saltLen + 4)\n ipad.copy(ipad1, 0, 0, blocksize)\n this.ipad1 = ipad1\n this.ipad2 = ipad\n this.opad = opad\n this.alg = alg\n this.blocksize = blocksize\n this.hash = hash\n this.size = sizes[alg]\n}\n\nHmac.prototype.run = function (data, ipad) {\n data.copy(ipad, this.blocksize)\n var h = this.hash(ipad)\n h.copy(this.opad, this.blocksize)\n return this.hash(this.opad)\n}\n\nfunction getDigest (alg) {\n function shaFunc (data) {\n return sha(alg).update(data).digest()\n }\n function rmd160Func (data) {\n return new RIPEMD160().update(data).digest()\n }\n\n if (alg === 'rmd160' || alg === 'ripemd160') return rmd160Func\n if (alg === 'md5') return md5\n return shaFunc\n}\n\nfunction pbkdf2 (password, salt, iterations, keylen, digest) {\n checkParameters(iterations, keylen)\n password = toBuffer(password, defaultEncoding, 'Password')\n salt = toBuffer(salt, defaultEncoding, 'Salt')\n\n digest = digest || 'sha1'\n\n var hmac = new Hmac(digest, password, salt.length)\n\n var DK = Buffer.allocUnsafe(keylen)\n var block1 = Buffer.allocUnsafe(salt.length + 4)\n salt.copy(block1, 0, 0, salt.length)\n\n var destPos = 0\n var hLen = sizes[digest]\n var l = Math.ceil(keylen / hLen)\n\n for (var i = 1; i <= l; i++) {\n block1.writeUInt32BE(i, salt.length)\n\n var T = hmac.run(block1, hmac.ipad1)\n var U = T\n\n for (var j = 1; j < iterations; j++) {\n U = hmac.run(U, hmac.ipad2)\n for (var k = 0; k < hLen; k++) T[k] ^= U[k]\n }\n\n T.copy(DK, destPos)\n destPos += hLen\n }\n\n return DK\n}\n\nmodule.exports = pbkdf2\n","var Buffer = require('safe-buffer').Buffer\n\nvar checkParameters = require('./precondition')\nvar defaultEncoding = require('./default-encoding')\nvar sync = require('./sync')\nvar toBuffer = require('./to-buffer')\n\nvar ZERO_BUF\nvar subtle = global.crypto && global.crypto.subtle\nvar toBrowser = {\n sha: 'SHA-1',\n 'sha-1': 'SHA-1',\n sha1: 'SHA-1',\n sha256: 'SHA-256',\n 'sha-256': 'SHA-256',\n sha384: 'SHA-384',\n 'sha-384': 'SHA-384',\n 'sha-512': 'SHA-512',\n sha512: 'SHA-512'\n}\nvar checks = []\nfunction checkNative (algo) {\n if (global.process && !global.process.browser) {\n return Promise.resolve(false)\n }\n if (!subtle || !subtle.importKey || !subtle.deriveBits) {\n return Promise.resolve(false)\n }\n if (checks[algo] !== undefined) {\n return checks[algo]\n }\n ZERO_BUF = ZERO_BUF || Buffer.alloc(8)\n var prom = browserPbkdf2(ZERO_BUF, ZERO_BUF, 10, 128, algo)\n .then(function () {\n return true\n }).catch(function () {\n return false\n })\n checks[algo] = prom\n return prom\n}\nvar nextTick\nfunction getNextTick () {\n if (nextTick) {\n return nextTick\n }\n if (global.process && global.process.nextTick) {\n nextTick = global.process.nextTick\n } else if (global.queueMicrotask) {\n nextTick = global.queueMicrotask\n } else if (global.setImmediate) {\n nextTick = global.setImmediate\n } else {\n nextTick = global.setTimeout\n }\n return nextTick\n}\nfunction browserPbkdf2 (password, salt, iterations, length, algo) {\n return subtle.importKey(\n 'raw', password, { name: 'PBKDF2' }, false, ['deriveBits']\n ).then(function (key) {\n return subtle.deriveBits({\n name: 'PBKDF2',\n salt: salt,\n iterations: iterations,\n hash: {\n name: algo\n }\n }, key, length << 3)\n }).then(function (res) {\n return Buffer.from(res)\n })\n}\n\nfunction resolvePromise (promise, callback) {\n promise.then(function (out) {\n getNextTick()(function () {\n callback(null, out)\n })\n }, function (e) {\n getNextTick()(function () {\n callback(e)\n })\n })\n}\nmodule.exports = function (password, salt, iterations, keylen, digest, callback) {\n if (typeof digest === 'function') {\n callback = digest\n digest = undefined\n }\n\n digest = digest || 'sha1'\n var algo = toBrowser[digest.toLowerCase()]\n\n if (!algo || typeof global.Promise !== 'function') {\n getNextTick()(function () {\n var out\n try {\n out = sync(password, salt, iterations, keylen, digest)\n } catch (e) {\n return callback(e)\n }\n callback(null, out)\n })\n return\n }\n\n checkParameters(iterations, keylen)\n password = toBuffer(password, defaultEncoding, 'Password')\n salt = toBuffer(salt, defaultEncoding, 'Salt')\n if (typeof callback !== 'function') throw new Error('No callback provided to pbkdf2')\n\n resolvePromise(checkNative(algo).then(function (resp) {\n if (resp) return browserPbkdf2(password, salt, iterations, keylen, algo)\n\n return sync(password, salt, iterations, keylen, digest)\n }), callback)\n}\n","exports.pbkdf2 = require('./lib/async')\nexports.pbkdf2Sync = require('./lib/sync')\n","'use strict';\n\nexports.readUInt32BE = function readUInt32BE(bytes, off) {\n var res = (bytes[0 + off] << 24) |\n (bytes[1 + off] << 16) |\n (bytes[2 + off] << 8) |\n bytes[3 + off];\n return res >>> 0;\n};\n\nexports.writeUInt32BE = function writeUInt32BE(bytes, value, off) {\n bytes[0 + off] = value >>> 24;\n bytes[1 + off] = (value >>> 16) & 0xff;\n bytes[2 + off] = (value >>> 8) & 0xff;\n bytes[3 + off] = value & 0xff;\n};\n\nexports.ip = function ip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n }\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.rip = function rip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 0; i < 4; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n for (var i = 4; i < 8; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.pc1 = function pc1(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n // 7, 15, 23, 31, 39, 47, 55, 63\n // 6, 14, 22, 30, 39, 47, 55, 63\n // 5, 13, 21, 29, 39, 47, 55, 63\n // 4, 12, 20, 28\n for (var i = 7; i >= 5; i--) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n\n // 1, 9, 17, 25, 33, 41, 49, 57\n // 2, 10, 18, 26, 34, 42, 50, 58\n // 3, 11, 19, 27, 35, 43, 51, 59\n // 36, 44, 52, 60\n for (var i = 1; i <= 3; i++) {\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.r28shl = function r28shl(num, shift) {\n return ((num << shift) & 0xfffffff) | (num >>> (28 - shift));\n};\n\nvar pc2table = [\n // inL => outL\n 14, 11, 17, 4, 27, 23, 25, 0,\n 13, 22, 7, 18, 5, 9, 16, 24,\n 2, 20, 12, 21, 1, 8, 15, 26,\n\n // inR => outR\n 15, 4, 25, 19, 9, 1, 26, 16,\n 5, 11, 23, 8, 12, 7, 17, 0,\n 22, 3, 10, 14, 6, 20, 27, 24\n];\n\nexports.pc2 = function pc2(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n var len = pc2table.length >>> 1;\n for (var i = 0; i < len; i++) {\n outL <<= 1;\n outL |= (inL >>> pc2table[i]) & 0x1;\n }\n for (var i = len; i < pc2table.length; i++) {\n outR <<= 1;\n outR |= (inR >>> pc2table[i]) & 0x1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.expand = function expand(r, out, off) {\n var outL = 0;\n var outR = 0;\n\n outL = ((r & 1) << 5) | (r >>> 27);\n for (var i = 23; i >= 15; i -= 4) {\n outL <<= 6;\n outL |= (r >>> i) & 0x3f;\n }\n for (var i = 11; i >= 3; i -= 4) {\n outR |= (r >>> i) & 0x3f;\n outR <<= 6;\n }\n outR |= ((r & 0x1f) << 1) | (r >>> 31);\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nvar sTable = [\n 14, 0, 4, 15, 13, 7, 1, 4, 2, 14, 15, 2, 11, 13, 8, 1,\n 3, 10, 10, 6, 6, 12, 12, 11, 5, 9, 9, 5, 0, 3, 7, 8,\n 4, 15, 1, 12, 14, 8, 8, 2, 13, 4, 6, 9, 2, 1, 11, 7,\n 15, 5, 12, 11, 9, 3, 7, 14, 3, 10, 10, 0, 5, 6, 0, 13,\n\n 15, 3, 1, 13, 8, 4, 14, 7, 6, 15, 11, 2, 3, 8, 4, 14,\n 9, 12, 7, 0, 2, 1, 13, 10, 12, 6, 0, 9, 5, 11, 10, 5,\n 0, 13, 14, 8, 7, 10, 11, 1, 10, 3, 4, 15, 13, 4, 1, 2,\n 5, 11, 8, 6, 12, 7, 6, 12, 9, 0, 3, 5, 2, 14, 15, 9,\n\n 10, 13, 0, 7, 9, 0, 14, 9, 6, 3, 3, 4, 15, 6, 5, 10,\n 1, 2, 13, 8, 12, 5, 7, 14, 11, 12, 4, 11, 2, 15, 8, 1,\n 13, 1, 6, 10, 4, 13, 9, 0, 8, 6, 15, 9, 3, 8, 0, 7,\n 11, 4, 1, 15, 2, 14, 12, 3, 5, 11, 10, 5, 14, 2, 7, 12,\n\n 7, 13, 13, 8, 14, 11, 3, 5, 0, 6, 6, 15, 9, 0, 10, 3,\n 1, 4, 2, 7, 8, 2, 5, 12, 11, 1, 12, 10, 4, 14, 15, 9,\n 10, 3, 6, 15, 9, 0, 0, 6, 12, 10, 11, 1, 7, 13, 13, 8,\n 15, 9, 1, 4, 3, 5, 14, 11, 5, 12, 2, 7, 8, 2, 4, 14,\n\n 2, 14, 12, 11, 4, 2, 1, 12, 7, 4, 10, 7, 11, 13, 6, 1,\n 8, 5, 5, 0, 3, 15, 15, 10, 13, 3, 0, 9, 14, 8, 9, 6,\n 4, 11, 2, 8, 1, 12, 11, 7, 10, 1, 13, 14, 7, 2, 8, 13,\n 15, 6, 9, 15, 12, 0, 5, 9, 6, 10, 3, 4, 0, 5, 14, 3,\n\n 12, 10, 1, 15, 10, 4, 15, 2, 9, 7, 2, 12, 6, 9, 8, 5,\n 0, 6, 13, 1, 3, 13, 4, 14, 14, 0, 7, 11, 5, 3, 11, 8,\n 9, 4, 14, 3, 15, 2, 5, 12, 2, 9, 8, 5, 12, 15, 3, 10,\n 7, 11, 0, 14, 4, 1, 10, 7, 1, 6, 13, 0, 11, 8, 6, 13,\n\n 4, 13, 11, 0, 2, 11, 14, 7, 15, 4, 0, 9, 8, 1, 13, 10,\n 3, 14, 12, 3, 9, 5, 7, 12, 5, 2, 10, 15, 6, 8, 1, 6,\n 1, 6, 4, 11, 11, 13, 13, 8, 12, 1, 3, 4, 7, 10, 14, 7,\n 10, 9, 15, 5, 6, 0, 8, 15, 0, 14, 5, 2, 9, 3, 2, 12,\n\n 13, 1, 2, 15, 8, 13, 4, 8, 6, 10, 15, 3, 11, 7, 1, 4,\n 10, 12, 9, 5, 3, 6, 14, 11, 5, 0, 0, 14, 12, 9, 7, 2,\n 7, 2, 11, 1, 4, 14, 1, 7, 9, 4, 12, 10, 14, 8, 2, 13,\n 0, 15, 6, 12, 10, 9, 13, 0, 15, 3, 3, 5, 5, 6, 8, 11\n];\n\nexports.substitute = function substitute(inL, inR) {\n var out = 0;\n for (var i = 0; i < 4; i++) {\n var b = (inL >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n for (var i = 0; i < 4; i++) {\n var b = (inR >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[4 * 0x40 + i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n return out >>> 0;\n};\n\nvar permuteTable = [\n 16, 25, 12, 11, 3, 20, 4, 15, 31, 17, 9, 6, 27, 14, 1, 22,\n 30, 24, 8, 18, 0, 5, 29, 23, 13, 19, 2, 26, 10, 21, 28, 7\n];\n\nexports.permute = function permute(num) {\n var out = 0;\n for (var i = 0; i < permuteTable.length; i++) {\n out <<= 1;\n out |= (num >>> permuteTable[i]) & 0x1;\n }\n return out >>> 0;\n};\n\nexports.padSplit = function padSplit(num, size, group) {\n var str = num.toString(2);\n while (str.length < size)\n str = '0' + str;\n\n var out = [];\n for (var i = 0; i < size; i += group)\n out.push(str.slice(i, i + group));\n return out.join(' ');\n};\n","module.exports = assert;\n\nfunction assert(val, msg) {\n if (!val)\n throw new Error(msg || 'Assertion failed');\n}\n\nassert.equal = function assertEqual(l, r, msg) {\n if (l != r)\n throw new Error(msg || ('Assertion failed: ' + l + ' != ' + r));\n};\n","'use strict';\n\nvar assert = require('minimalistic-assert');\n\nfunction Cipher(options) {\n this.options = options;\n\n this.type = this.options.type;\n this.blockSize = 8;\n this._init();\n\n this.buffer = new Array(this.blockSize);\n this.bufferOff = 0;\n this.padding = options.padding !== false\n}\nmodule.exports = Cipher;\n\nCipher.prototype._init = function _init() {\n // Might be overrided\n};\n\nCipher.prototype.update = function update(data) {\n if (data.length === 0)\n return [];\n\n if (this.type === 'decrypt')\n return this._updateDecrypt(data);\n else\n return this._updateEncrypt(data);\n};\n\nCipher.prototype._buffer = function _buffer(data, off) {\n // Append data to buffer\n var min = Math.min(this.buffer.length - this.bufferOff, data.length - off);\n for (var i = 0; i < min; i++)\n this.buffer[this.bufferOff + i] = data[off + i];\n this.bufferOff += min;\n\n // Shift next\n return min;\n};\n\nCipher.prototype._flushBuffer = function _flushBuffer(out, off) {\n this._update(this.buffer, 0, out, off);\n this.bufferOff = 0;\n return this.blockSize;\n};\n\nCipher.prototype._updateEncrypt = function _updateEncrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = ((this.bufferOff + data.length) / this.blockSize) | 0;\n var out = new Array(count * this.blockSize);\n\n if (this.bufferOff !== 0) {\n inputOff += this._buffer(data, inputOff);\n\n if (this.bufferOff === this.buffer.length)\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Write blocks\n var max = data.length - ((data.length - inputOff) % this.blockSize);\n for (; inputOff < max; inputOff += this.blockSize) {\n this._update(data, inputOff, out, outputOff);\n outputOff += this.blockSize;\n }\n\n // Queue rest\n for (; inputOff < data.length; inputOff++, this.bufferOff++)\n this.buffer[this.bufferOff] = data[inputOff];\n\n return out;\n};\n\nCipher.prototype._updateDecrypt = function _updateDecrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = Math.ceil((this.bufferOff + data.length) / this.blockSize) - 1;\n var out = new Array(count * this.blockSize);\n\n // TODO(indutny): optimize it, this is far from optimal\n for (; count > 0; count--) {\n inputOff += this._buffer(data, inputOff);\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Buffer rest of the input\n inputOff += this._buffer(data, inputOff);\n\n return out;\n};\n\nCipher.prototype.final = function final(buffer) {\n var first;\n if (buffer)\n first = this.update(buffer);\n\n var last;\n if (this.type === 'encrypt')\n last = this._finalEncrypt();\n else\n last = this._finalDecrypt();\n\n if (first)\n return first.concat(last);\n else\n return last;\n};\n\nCipher.prototype._pad = function _pad(buffer, off) {\n if (off === 0)\n return false;\n\n while (off < buffer.length)\n buffer[off++] = 0;\n\n return true;\n};\n\nCipher.prototype._finalEncrypt = function _finalEncrypt() {\n if (!this._pad(this.buffer, this.bufferOff))\n return [];\n\n var out = new Array(this.blockSize);\n this._update(this.buffer, 0, out, 0);\n return out;\n};\n\nCipher.prototype._unpad = function _unpad(buffer) {\n return buffer;\n};\n\nCipher.prototype._finalDecrypt = function _finalDecrypt() {\n assert.equal(this.bufferOff, this.blockSize, 'Not enough data to decrypt');\n var out = new Array(this.blockSize);\n this._flushBuffer(out, 0);\n\n return this._unpad(out);\n};\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar utils = require('./utils');\nvar Cipher = require('./cipher');\n\nfunction DESState() {\n this.tmp = new Array(2);\n this.keys = null;\n}\n\nfunction DES(options) {\n Cipher.call(this, options);\n\n var state = new DESState();\n this._desState = state;\n\n this.deriveKeys(state, options.key);\n}\ninherits(DES, Cipher);\nmodule.exports = DES;\n\nDES.create = function create(options) {\n return new DES(options);\n};\n\nvar shiftTable = [\n 1, 1, 2, 2, 2, 2, 2, 2,\n 1, 2, 2, 2, 2, 2, 2, 1\n];\n\nDES.prototype.deriveKeys = function deriveKeys(state, key) {\n state.keys = new Array(16 * 2);\n\n assert.equal(key.length, this.blockSize, 'Invalid key length');\n\n var kL = utils.readUInt32BE(key, 0);\n var kR = utils.readUInt32BE(key, 4);\n\n utils.pc1(kL, kR, state.tmp, 0);\n kL = state.tmp[0];\n kR = state.tmp[1];\n for (var i = 0; i < state.keys.length; i += 2) {\n var shift = shiftTable[i >>> 1];\n kL = utils.r28shl(kL, shift);\n kR = utils.r28shl(kR, shift);\n utils.pc2(kL, kR, state.keys, i);\n }\n};\n\nDES.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._desState;\n\n var l = utils.readUInt32BE(inp, inOff);\n var r = utils.readUInt32BE(inp, inOff + 4);\n\n // Initial Permutation\n utils.ip(l, r, state.tmp, 0);\n l = state.tmp[0];\n r = state.tmp[1];\n\n if (this.type === 'encrypt')\n this._encrypt(state, l, r, state.tmp, 0);\n else\n this._decrypt(state, l, r, state.tmp, 0);\n\n l = state.tmp[0];\n r = state.tmp[1];\n\n utils.writeUInt32BE(out, l, outOff);\n utils.writeUInt32BE(out, r, outOff + 4);\n};\n\nDES.prototype._pad = function _pad(buffer, off) {\n if (this.padding === false) {\n return false;\n }\n\n var value = buffer.length - off;\n for (var i = off; i < buffer.length; i++)\n buffer[i] = value;\n\n return true;\n};\n\nDES.prototype._unpad = function _unpad(buffer) {\n if (this.padding === false) {\n return buffer;\n }\n\n var pad = buffer[buffer.length - 1];\n for (var i = buffer.length - pad; i < buffer.length; i++)\n assert.equal(buffer[i], pad);\n\n return buffer.slice(0, buffer.length - pad);\n};\n\nDES.prototype._encrypt = function _encrypt(state, lStart, rStart, out, off) {\n var l = lStart;\n var r = rStart;\n\n // Apply f() x16 times\n for (var i = 0; i < state.keys.length; i += 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(r, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = r;\n r = (l ^ f) >>> 0;\n l = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(r, l, out, off);\n};\n\nDES.prototype._decrypt = function _decrypt(state, lStart, rStart, out, off) {\n var l = rStart;\n var r = lStart;\n\n // Apply f() x16 times\n for (var i = state.keys.length - 2; i >= 0; i -= 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(l, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = l;\n l = (r ^ f) >>> 0;\n r = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(l, r, out, off);\n};\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar proto = {};\n\nfunction CBCState(iv) {\n assert.equal(iv.length, 8, 'Invalid IV length');\n\n this.iv = new Array(8);\n for (var i = 0; i < this.iv.length; i++)\n this.iv[i] = iv[i];\n}\n\nfunction instantiate(Base) {\n function CBC(options) {\n Base.call(this, options);\n this._cbcInit();\n }\n inherits(CBC, Base);\n\n var keys = Object.keys(proto);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n CBC.prototype[key] = proto[key];\n }\n\n CBC.create = function create(options) {\n return new CBC(options);\n };\n\n return CBC;\n}\n\nexports.instantiate = instantiate;\n\nproto._cbcInit = function _cbcInit() {\n var state = new CBCState(this.options.iv);\n this._cbcState = state;\n};\n\nproto._update = function _update(inp, inOff, out, outOff) {\n var state = this._cbcState;\n var superProto = this.constructor.super_.prototype;\n\n var iv = state.iv;\n if (this.type === 'encrypt') {\n for (var i = 0; i < this.blockSize; i++)\n iv[i] ^= inp[inOff + i];\n\n superProto._update.call(this, iv, 0, out, outOff);\n\n for (var i = 0; i < this.blockSize; i++)\n iv[i] = out[outOff + i];\n } else {\n superProto._update.call(this, inp, inOff, out, outOff);\n\n for (var i = 0; i < this.blockSize; i++)\n out[outOff + i] ^= iv[i];\n\n for (var i = 0; i < this.blockSize; i++)\n iv[i] = inp[inOff + i];\n }\n};\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar Cipher = require('./cipher');\nvar DES = require('./des');\n\nfunction EDEState(type, key) {\n assert.equal(key.length, 24, 'Invalid key length');\n\n var k1 = key.slice(0, 8);\n var k2 = key.slice(8, 16);\n var k3 = key.slice(16, 24);\n\n if (type === 'encrypt') {\n this.ciphers = [\n DES.create({ type: 'encrypt', key: k1 }),\n DES.create({ type: 'decrypt', key: k2 }),\n DES.create({ type: 'encrypt', key: k3 })\n ];\n } else {\n this.ciphers = [\n DES.create({ type: 'decrypt', key: k3 }),\n DES.create({ type: 'encrypt', key: k2 }),\n DES.create({ type: 'decrypt', key: k1 })\n ];\n }\n}\n\nfunction EDE(options) {\n Cipher.call(this, options);\n\n var state = new EDEState(this.type, this.options.key);\n this._edeState = state;\n}\ninherits(EDE, Cipher);\n\nmodule.exports = EDE;\n\nEDE.create = function create(options) {\n return new EDE(options);\n};\n\nEDE.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._edeState;\n\n state.ciphers[0]._update(inp, inOff, out, outOff);\n state.ciphers[1]._update(out, outOff, out, outOff);\n state.ciphers[2]._update(out, outOff, out, outOff);\n};\n\nEDE.prototype._pad = DES.prototype._pad;\nEDE.prototype._unpad = DES.prototype._unpad;\n","'use strict';\n\nexports.utils = require('./des/utils');\nexports.Cipher = require('./des/cipher');\nexports.DES = require('./des/des');\nexports.CBC = require('./des/cbc');\nexports.EDE = require('./des/ede');\n","var CipherBase = require('cipher-base')\nvar des = require('des.js')\nvar inherits = require('inherits')\nvar Buffer = require('safe-buffer').Buffer\n\nvar modes = {\n 'des-ede3-cbc': des.CBC.instantiate(des.EDE),\n 'des-ede3': des.EDE,\n 'des-ede-cbc': des.CBC.instantiate(des.EDE),\n 'des-ede': des.EDE,\n 'des-cbc': des.CBC.instantiate(des.DES),\n 'des-ecb': des.DES\n}\nmodes.des = modes['des-cbc']\nmodes.des3 = modes['des-ede3-cbc']\nmodule.exports = DES\ninherits(DES, CipherBase)\nfunction DES (opts) {\n CipherBase.call(this)\n var modeName = opts.mode.toLowerCase()\n var mode = modes[modeName]\n var type\n if (opts.decrypt) {\n type = 'decrypt'\n } else {\n type = 'encrypt'\n }\n var key = opts.key\n if (!Buffer.isBuffer(key)) {\n key = Buffer.from(key)\n }\n if (modeName === 'des-ede' || modeName === 'des-ede-cbc') {\n key = Buffer.concat([key, key.slice(0, 8)])\n }\n var iv = opts.iv\n if (!Buffer.isBuffer(iv)) {\n iv = Buffer.from(iv)\n }\n this._des = mode.create({\n key: key,\n iv: iv,\n type: type\n })\n}\nDES.prototype._update = function (data) {\n return Buffer.from(this._des.update(data))\n}\nDES.prototype._final = function () {\n return Buffer.from(this._des.final())\n}\n","exports.encrypt = function (self, block) {\n return self._cipher.encryptBlock(block)\n}\n\nexports.decrypt = function (self, block) {\n return self._cipher.decryptBlock(block)\n}\n","module.exports = function xor (a, b) {\n var length = Math.min(a.length, b.length)\n var buffer = new Buffer(length)\n\n for (var i = 0; i < length; ++i) {\n buffer[i] = a[i] ^ b[i]\n }\n\n return buffer\n}\n","var xor = require('buffer-xor')\n\nexports.encrypt = function (self, block) {\n var data = xor(block, self._prev)\n\n self._prev = self._cipher.encryptBlock(data)\n return self._prev\n}\n\nexports.decrypt = function (self, block) {\n var pad = self._prev\n\n self._prev = block\n var out = self._cipher.decryptBlock(block)\n\n return xor(out, pad)\n}\n","var Buffer = require('safe-buffer').Buffer\nvar xor = require('buffer-xor')\n\nfunction encryptStart (self, data, decrypt) {\n var len = data.length\n var out = xor(data, self._cache)\n self._cache = self._cache.slice(len)\n self._prev = Buffer.concat([self._prev, decrypt ? data : out])\n return out\n}\n\nexports.encrypt = function (self, data, decrypt) {\n var out = Buffer.allocUnsafe(0)\n var len\n\n while (data.length) {\n if (self._cache.length === 0) {\n self._cache = self._cipher.encryptBlock(self._prev)\n self._prev = Buffer.allocUnsafe(0)\n }\n\n if (self._cache.length <= data.length) {\n len = self._cache.length\n out = Buffer.concat([out, encryptStart(self, data.slice(0, len), decrypt)])\n data = data.slice(len)\n } else {\n out = Buffer.concat([out, encryptStart(self, data, decrypt)])\n break\n }\n }\n\n return out\n}\n","var Buffer = require('safe-buffer').Buffer\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad = self._cipher.encryptBlock(self._prev)\n var out = pad[0] ^ byteParam\n\n self._prev = Buffer.concat([\n self._prev.slice(1),\n Buffer.from([decrypt ? byteParam : out])\n ])\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\n}\n","var Buffer = require('safe-buffer').Buffer\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad\n var i = -1\n var len = 8\n var out = 0\n var bit, value\n while (++i < len) {\n pad = self._cipher.encryptBlock(self._prev)\n bit = (byteParam & (1 << (7 - i))) ? 0x80 : 0\n value = pad[0] ^ bit\n out += ((value & 0x80) >> (i % 8))\n self._prev = shiftIn(self._prev, decrypt ? bit : value)\n }\n return out\n}\n\nfunction shiftIn (buffer, value) {\n var len = buffer.length\n var i = -1\n var out = Buffer.allocUnsafe(buffer.length)\n buffer = Buffer.concat([buffer, Buffer.from([value])])\n\n while (++i < len) {\n out[i] = buffer[i] << 1 | buffer[i + 1] >> (7)\n }\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\n}\n","var xor = require('buffer-xor')\n\nfunction getBlock (self) {\n self._prev = self._cipher.encryptBlock(self._prev)\n return self._prev\n}\n\nexports.encrypt = function (self, chunk) {\n while (self._cache.length < chunk.length) {\n self._cache = Buffer.concat([self._cache, getBlock(self)])\n }\n\n var pad = self._cache.slice(0, chunk.length)\n self._cache = self._cache.slice(chunk.length)\n return xor(chunk, pad)\n}\n","function incr32 (iv) {\n var len = iv.length\n var item\n while (len--) {\n item = iv.readUInt8(len)\n if (item === 255) {\n iv.writeUInt8(0, len)\n } else {\n item++\n iv.writeUInt8(item, len)\n break\n }\n }\n}\nmodule.exports = incr32\n","var xor = require('buffer-xor')\nvar Buffer = require('safe-buffer').Buffer\nvar incr32 = require('../incr32')\n\nfunction getBlock (self) {\n var out = self._cipher.encryptBlockRaw(self._prev)\n incr32(self._prev)\n return out\n}\n\nvar blockSize = 16\nexports.encrypt = function (self, chunk) {\n var chunkNum = Math.ceil(chunk.length / blockSize)\n var start = self._cache.length\n self._cache = Buffer.concat([\n self._cache,\n Buffer.allocUnsafe(chunkNum * blockSize)\n ])\n for (var i = 0; i < chunkNum; i++) {\n var out = getBlock(self)\n var offset = start + i * blockSize\n self._cache.writeUInt32BE(out[0], offset + 0)\n self._cache.writeUInt32BE(out[1], offset + 4)\n self._cache.writeUInt32BE(out[2], offset + 8)\n self._cache.writeUInt32BE(out[3], offset + 12)\n }\n var pad = self._cache.slice(0, chunk.length)\n self._cache = self._cache.slice(chunk.length)\n return xor(chunk, pad)\n}\n","var modeModules = {\n ECB: require('./ecb'),\n CBC: require('./cbc'),\n CFB: require('./cfb'),\n CFB8: require('./cfb8'),\n CFB1: require('./cfb1'),\n OFB: require('./ofb'),\n CTR: require('./ctr'),\n GCM: require('./ctr')\n}\n\nvar modes = require('./list.json')\n\nfor (var key in modes) {\n modes[key].module = modeModules[modes[key].mode]\n}\n\nmodule.exports = modes\n","// based on the aes implimentation in triple sec\n// https://github.com/keybase/triplesec\n// which is in turn based on the one from crypto-js\n// https://code.google.com/p/crypto-js/\n\nvar Buffer = require('safe-buffer').Buffer\n\nfunction asUInt32Array (buf) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n\n var len = (buf.length / 4) | 0\n var out = new Array(len)\n\n for (var i = 0; i < len; i++) {\n out[i] = buf.readUInt32BE(i * 4)\n }\n\n return out\n}\n\nfunction scrubVec (v) {\n for (var i = 0; i < v.length; v++) {\n v[i] = 0\n }\n}\n\nfunction cryptBlock (M, keySchedule, SUB_MIX, SBOX, nRounds) {\n var SUB_MIX0 = SUB_MIX[0]\n var SUB_MIX1 = SUB_MIX[1]\n var SUB_MIX2 = SUB_MIX[2]\n var SUB_MIX3 = SUB_MIX[3]\n\n var s0 = M[0] ^ keySchedule[0]\n var s1 = M[1] ^ keySchedule[1]\n var s2 = M[2] ^ keySchedule[2]\n var s3 = M[3] ^ keySchedule[3]\n var t0, t1, t2, t3\n var ksRow = 4\n\n for (var round = 1; round < nRounds; round++) {\n t0 = SUB_MIX0[s0 >>> 24] ^ SUB_MIX1[(s1 >>> 16) & 0xff] ^ SUB_MIX2[(s2 >>> 8) & 0xff] ^ SUB_MIX3[s3 & 0xff] ^ keySchedule[ksRow++]\n t1 = SUB_MIX0[s1 >>> 24] ^ SUB_MIX1[(s2 >>> 16) & 0xff] ^ SUB_MIX2[(s3 >>> 8) & 0xff] ^ SUB_MIX3[s0 & 0xff] ^ keySchedule[ksRow++]\n t2 = SUB_MIX0[s2 >>> 24] ^ SUB_MIX1[(s3 >>> 16) & 0xff] ^ SUB_MIX2[(s0 >>> 8) & 0xff] ^ SUB_MIX3[s1 & 0xff] ^ keySchedule[ksRow++]\n t3 = SUB_MIX0[s3 >>> 24] ^ SUB_MIX1[(s0 >>> 16) & 0xff] ^ SUB_MIX2[(s1 >>> 8) & 0xff] ^ SUB_MIX3[s2 & 0xff] ^ keySchedule[ksRow++]\n s0 = t0\n s1 = t1\n s2 = t2\n s3 = t3\n }\n\n t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++]\n t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++]\n t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++]\n t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++]\n t0 = t0 >>> 0\n t1 = t1 >>> 0\n t2 = t2 >>> 0\n t3 = t3 >>> 0\n\n return [t0, t1, t2, t3]\n}\n\n// AES constants\nvar RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]\nvar G = (function () {\n // Compute double table\n var d = new Array(256)\n for (var j = 0; j < 256; j++) {\n if (j < 128) {\n d[j] = j << 1\n } else {\n d[j] = (j << 1) ^ 0x11b\n }\n }\n\n var SBOX = []\n var INV_SBOX = []\n var SUB_MIX = [[], [], [], []]\n var INV_SUB_MIX = [[], [], [], []]\n\n // Walk GF(2^8)\n var x = 0\n var xi = 0\n for (var i = 0; i < 256; ++i) {\n // Compute sbox\n var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4)\n sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63\n SBOX[x] = sx\n INV_SBOX[sx] = x\n\n // Compute multiplication\n var x2 = d[x]\n var x4 = d[x2]\n var x8 = d[x4]\n\n // Compute sub bytes, mix columns tables\n var t = (d[sx] * 0x101) ^ (sx * 0x1010100)\n SUB_MIX[0][x] = (t << 24) | (t >>> 8)\n SUB_MIX[1][x] = (t << 16) | (t >>> 16)\n SUB_MIX[2][x] = (t << 8) | (t >>> 24)\n SUB_MIX[3][x] = t\n\n // Compute inv sub bytes, inv mix columns tables\n t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100)\n INV_SUB_MIX[0][sx] = (t << 24) | (t >>> 8)\n INV_SUB_MIX[1][sx] = (t << 16) | (t >>> 16)\n INV_SUB_MIX[2][sx] = (t << 8) | (t >>> 24)\n INV_SUB_MIX[3][sx] = t\n\n if (x === 0) {\n x = xi = 1\n } else {\n x = x2 ^ d[d[d[x8 ^ x2]]]\n xi ^= d[d[xi]]\n }\n }\n\n return {\n SBOX: SBOX,\n INV_SBOX: INV_SBOX,\n SUB_MIX: SUB_MIX,\n INV_SUB_MIX: INV_SUB_MIX\n }\n})()\n\nfunction AES (key) {\n this._key = asUInt32Array(key)\n this._reset()\n}\n\nAES.blockSize = 4 * 4\nAES.keySize = 256 / 8\nAES.prototype.blockSize = AES.blockSize\nAES.prototype.keySize = AES.keySize\nAES.prototype._reset = function () {\n var keyWords = this._key\n var keySize = keyWords.length\n var nRounds = keySize + 6\n var ksRows = (nRounds + 1) * 4\n\n var keySchedule = []\n for (var k = 0; k < keySize; k++) {\n keySchedule[k] = keyWords[k]\n }\n\n for (k = keySize; k < ksRows; k++) {\n var t = keySchedule[k - 1]\n\n if (k % keySize === 0) {\n t = (t << 8) | (t >>> 24)\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n\n t ^= RCON[(k / keySize) | 0] << 24\n } else if (keySize > 6 && k % keySize === 4) {\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n }\n\n keySchedule[k] = keySchedule[k - keySize] ^ t\n }\n\n var invKeySchedule = []\n for (var ik = 0; ik < ksRows; ik++) {\n var ksR = ksRows - ik\n var tt = keySchedule[ksR - (ik % 4 ? 0 : 4)]\n\n if (ik < 4 || ksR <= 4) {\n invKeySchedule[ik] = tt\n } else {\n invKeySchedule[ik] =\n G.INV_SUB_MIX[0][G.SBOX[tt >>> 24]] ^\n G.INV_SUB_MIX[1][G.SBOX[(tt >>> 16) & 0xff]] ^\n G.INV_SUB_MIX[2][G.SBOX[(tt >>> 8) & 0xff]] ^\n G.INV_SUB_MIX[3][G.SBOX[tt & 0xff]]\n }\n }\n\n this._nRounds = nRounds\n this._keySchedule = keySchedule\n this._invKeySchedule = invKeySchedule\n}\n\nAES.prototype.encryptBlockRaw = function (M) {\n M = asUInt32Array(M)\n return cryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX, this._nRounds)\n}\n\nAES.prototype.encryptBlock = function (M) {\n var out = this.encryptBlockRaw(M)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[1], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[3], 12)\n return buf\n}\n\nAES.prototype.decryptBlock = function (M) {\n M = asUInt32Array(M)\n\n // swap\n var m1 = M[1]\n M[1] = M[3]\n M[3] = m1\n\n var out = cryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX, this._nRounds)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[3], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[1], 12)\n return buf\n}\n\nAES.prototype.scrub = function () {\n scrubVec(this._keySchedule)\n scrubVec(this._invKeySchedule)\n scrubVec(this._key)\n}\n\nmodule.exports.AES = AES\n","var Buffer = require('safe-buffer').Buffer\nvar ZEROES = Buffer.alloc(16, 0)\n\nfunction toArray (buf) {\n return [\n buf.readUInt32BE(0),\n buf.readUInt32BE(4),\n buf.readUInt32BE(8),\n buf.readUInt32BE(12)\n ]\n}\n\nfunction fromArray (out) {\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0] >>> 0, 0)\n buf.writeUInt32BE(out[1] >>> 0, 4)\n buf.writeUInt32BE(out[2] >>> 0, 8)\n buf.writeUInt32BE(out[3] >>> 0, 12)\n return buf\n}\n\nfunction GHASH (key) {\n this.h = key\n this.state = Buffer.alloc(16, 0)\n this.cache = Buffer.allocUnsafe(0)\n}\n\n// from http://bitwiseshiftleft.github.io/sjcl/doc/symbols/src/core_gcm.js.html\n// by Juho Vähä-Herttua\nGHASH.prototype.ghash = function (block) {\n var i = -1\n while (++i < block.length) {\n this.state[i] ^= block[i]\n }\n this._multiply()\n}\n\nGHASH.prototype._multiply = function () {\n var Vi = toArray(this.h)\n var Zi = [0, 0, 0, 0]\n var j, xi, lsbVi\n var i = -1\n while (++i < 128) {\n xi = (this.state[~~(i / 8)] & (1 << (7 - (i % 8)))) !== 0\n if (xi) {\n // Z_i+1 = Z_i ^ V_i\n Zi[0] ^= Vi[0]\n Zi[1] ^= Vi[1]\n Zi[2] ^= Vi[2]\n Zi[3] ^= Vi[3]\n }\n\n // Store the value of LSB(V_i)\n lsbVi = (Vi[3] & 1) !== 0\n\n // V_i+1 = V_i >> 1\n for (j = 3; j > 0; j--) {\n Vi[j] = (Vi[j] >>> 1) | ((Vi[j - 1] & 1) << 31)\n }\n Vi[0] = Vi[0] >>> 1\n\n // If LSB(V_i) is 1, V_i+1 = (V_i >> 1) ^ R\n if (lsbVi) {\n Vi[0] = Vi[0] ^ (0xe1 << 24)\n }\n }\n this.state = fromArray(Zi)\n}\n\nGHASH.prototype.update = function (buf) {\n this.cache = Buffer.concat([this.cache, buf])\n var chunk\n while (this.cache.length >= 16) {\n chunk = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n this.ghash(chunk)\n }\n}\n\nGHASH.prototype.final = function (abl, bl) {\n if (this.cache.length) {\n this.ghash(Buffer.concat([this.cache, ZEROES], 16))\n }\n\n this.ghash(fromArray([0, abl, 0, bl]))\n return this.state\n}\n\nmodule.exports = GHASH\n","var aes = require('./aes')\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('cipher-base')\nvar inherits = require('inherits')\nvar GHASH = require('./ghash')\nvar xor = require('buffer-xor')\nvar incr32 = require('./incr32')\n\nfunction xorTest (a, b) {\n var out = 0\n if (a.length !== b.length) out++\n\n var len = Math.min(a.length, b.length)\n for (var i = 0; i < len; ++i) {\n out += (a[i] ^ b[i])\n }\n\n return out\n}\n\nfunction calcIv (self, iv, ck) {\n if (iv.length === 12) {\n self._finID = Buffer.concat([iv, Buffer.from([0, 0, 0, 1])])\n return Buffer.concat([iv, Buffer.from([0, 0, 0, 2])])\n }\n var ghash = new GHASH(ck)\n var len = iv.length\n var toPad = len % 16\n ghash.update(iv)\n if (toPad) {\n toPad = 16 - toPad\n ghash.update(Buffer.alloc(toPad, 0))\n }\n ghash.update(Buffer.alloc(8, 0))\n var ivBits = len * 8\n var tail = Buffer.alloc(8)\n tail.writeUIntBE(ivBits, 0, 8)\n ghash.update(tail)\n self._finID = ghash.state\n var out = Buffer.from(self._finID)\n incr32(out)\n return out\n}\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n var h = Buffer.alloc(4, 0)\n\n this._cipher = new aes.AES(key)\n var ck = this._cipher.encryptBlock(h)\n this._ghash = new GHASH(ck)\n iv = calcIv(this, iv, ck)\n\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._alen = 0\n this._len = 0\n this._mode = mode\n\n this._authTag = null\n this._called = false\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n if (!this._called && this._alen) {\n var rump = 16 - (this._alen % 16)\n if (rump < 16) {\n rump = Buffer.alloc(rump, 0)\n this._ghash.update(rump)\n }\n }\n\n this._called = true\n var out = this._mode.encrypt(this, chunk)\n if (this._decrypt) {\n this._ghash.update(chunk)\n } else {\n this._ghash.update(out)\n }\n this._len += chunk.length\n return out\n}\n\nStreamCipher.prototype._final = function () {\n if (this._decrypt && !this._authTag) throw new Error('Unsupported state or unable to authenticate data')\n\n var tag = xor(this._ghash.final(this._alen * 8, this._len * 8), this._cipher.encryptBlock(this._finID))\n if (this._decrypt && xorTest(tag, this._authTag)) throw new Error('Unsupported state or unable to authenticate data')\n\n this._authTag = tag\n this._cipher.scrub()\n}\n\nStreamCipher.prototype.getAuthTag = function getAuthTag () {\n if (this._decrypt || !Buffer.isBuffer(this._authTag)) throw new Error('Attempting to get auth tag in unsupported state')\n\n return this._authTag\n}\n\nStreamCipher.prototype.setAuthTag = function setAuthTag (tag) {\n if (!this._decrypt) throw new Error('Attempting to set auth tag in unsupported state')\n\n this._authTag = tag\n}\n\nStreamCipher.prototype.setAAD = function setAAD (buf) {\n if (this._called) throw new Error('Attempting to set AAD in unsupported state')\n\n this._ghash.update(buf)\n this._alen += buf.length\n}\n\nmodule.exports = StreamCipher\n","var aes = require('./aes')\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('cipher-base')\nvar inherits = require('inherits')\n\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._mode = mode\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n return this._mode.encrypt(this, chunk, this._decrypt)\n}\n\nStreamCipher.prototype._final = function () {\n this._cipher.scrub()\n}\n\nmodule.exports = StreamCipher\n","var Buffer = require('safe-buffer').Buffer\nvar MD5 = require('md5.js')\n\n/* eslint-disable camelcase */\nfunction EVP_BytesToKey (password, salt, keyBits, ivLen) {\n if (!Buffer.isBuffer(password)) password = Buffer.from(password, 'binary')\n if (salt) {\n if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, 'binary')\n if (salt.length !== 8) throw new RangeError('salt should be Buffer with 8 byte length')\n }\n\n var keyLen = keyBits / 8\n var key = Buffer.alloc(keyLen)\n var iv = Buffer.alloc(ivLen || 0)\n var tmp = Buffer.alloc(0)\n\n while (keyLen > 0 || ivLen > 0) {\n var hash = new MD5()\n hash.update(tmp)\n hash.update(password)\n if (salt) hash.update(salt)\n tmp = hash.digest()\n\n var used = 0\n\n if (keyLen > 0) {\n var keyStart = key.length - keyLen\n used = Math.min(keyLen, tmp.length)\n tmp.copy(key, keyStart, 0, used)\n keyLen -= used\n }\n\n if (used < tmp.length && ivLen > 0) {\n var ivStart = iv.length - ivLen\n var length = Math.min(ivLen, tmp.length - used)\n tmp.copy(iv, ivStart, used, used + length)\n ivLen -= length\n }\n }\n\n tmp.fill(0)\n return { key: key, iv: iv }\n}\n\nmodule.exports = EVP_BytesToKey\n","var MODES = require('./modes')\nvar AuthCipher = require('./authCipher')\nvar Buffer = require('safe-buffer').Buffer\nvar StreamCipher = require('./streamCipher')\nvar Transform = require('cipher-base')\nvar aes = require('./aes')\nvar ebtk = require('evp_bytestokey')\nvar inherits = require('inherits')\n\nfunction Cipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Cipher, Transform)\n\nCipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n\n while ((chunk = this._cache.get())) {\n thing = this._mode.encrypt(this, chunk)\n out.push(thing)\n }\n\n return Buffer.concat(out)\n}\n\nvar PADDING = Buffer.alloc(16, 0x10)\n\nCipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n chunk = this._mode.encrypt(this, chunk)\n this._cipher.scrub()\n return chunk\n }\n\n if (!chunk.equals(PADDING)) {\n this._cipher.scrub()\n throw new Error('data not multiple of block length')\n }\n}\n\nCipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function () {\n if (this.cache.length > 15) {\n var out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n return null\n}\n\nSplitter.prototype.flush = function () {\n var len = 16 - this.cache.length\n var padBuff = Buffer.allocUnsafe(len)\n\n var i = -1\n while (++i < len) {\n padBuff.writeUInt8(len, i)\n }\n\n return Buffer.concat([this.cache, padBuff])\n}\n\nfunction createCipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv)\n }\n\n return new Cipher(config.module, password, iv)\n}\n\nfunction createCipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createCipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createCipheriv = createCipheriv\nexports.createCipher = createCipher\n","var AuthCipher = require('./authCipher')\nvar Buffer = require('safe-buffer').Buffer\nvar MODES = require('./modes')\nvar StreamCipher = require('./streamCipher')\nvar Transform = require('cipher-base')\nvar aes = require('./aes')\nvar ebtk = require('evp_bytestokey')\nvar inherits = require('inherits')\n\nfunction Decipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._last = void 0\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Decipher, Transform)\n\nDecipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n while ((chunk = this._cache.get(this._autopadding))) {\n thing = this._mode.decrypt(this, chunk)\n out.push(thing)\n }\n return Buffer.concat(out)\n}\n\nDecipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n return unpad(this._mode.decrypt(this, chunk))\n } else if (chunk) {\n throw new Error('data not multiple of block length')\n }\n}\n\nDecipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function (autoPadding) {\n var out\n if (autoPadding) {\n if (this.cache.length > 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n } else {\n if (this.cache.length >= 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n }\n\n return null\n}\n\nSplitter.prototype.flush = function () {\n if (this.cache.length) return this.cache\n}\n\nfunction unpad (last) {\n var padded = last[15]\n if (padded < 1 || padded > 16) {\n throw new Error('unable to decrypt data')\n }\n var i = -1\n while (++i < padded) {\n if (last[(i + (16 - padded))] !== padded) {\n throw new Error('unable to decrypt data')\n }\n }\n if (padded === 16) return\n\n return last.slice(0, 16 - padded)\n}\n\nfunction createDecipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv, true)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv, true)\n }\n\n return new Decipher(config.module, password, iv)\n}\n\nfunction createDecipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createDecipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createDecipher = createDecipher\nexports.createDecipheriv = createDecipheriv\n","var ciphers = require('./encrypter')\nvar deciphers = require('./decrypter')\nvar modes = require('./modes/list.json')\n\nfunction getCiphers () {\n return Object.keys(modes)\n}\n\nexports.createCipher = exports.Cipher = ciphers.createCipher\nexports.createCipheriv = exports.Cipheriv = ciphers.createCipheriv\nexports.createDecipher = exports.Decipher = deciphers.createDecipher\nexports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n","exports['des-ecb'] = {\n key: 8,\n iv: 0\n}\nexports['des-cbc'] = exports.des = {\n key: 8,\n iv: 8\n}\nexports['des-ede3-cbc'] = exports.des3 = {\n key: 24,\n iv: 8\n}\nexports['des-ede3'] = {\n key: 24,\n iv: 0\n}\nexports['des-ede-cbc'] = {\n key: 16,\n iv: 8\n}\nexports['des-ede'] = {\n key: 16,\n iv: 0\n}\n","var DES = require('browserify-des')\nvar aes = require('browserify-aes/browser')\nvar aesModes = require('browserify-aes/modes')\nvar desModes = require('browserify-des/modes')\nvar ebtk = require('evp_bytestokey')\n\nfunction createCipher (suite, password) {\n suite = suite.toLowerCase()\n\n var keyLen, ivLen\n if (aesModes[suite]) {\n keyLen = aesModes[suite].key\n ivLen = aesModes[suite].iv\n } else if (desModes[suite]) {\n keyLen = desModes[suite].key * 8\n ivLen = desModes[suite].iv\n } else {\n throw new TypeError('invalid suite type')\n }\n\n var keys = ebtk(password, false, keyLen, ivLen)\n return createCipheriv(suite, keys.key, keys.iv)\n}\n\nfunction createDecipher (suite, password) {\n suite = suite.toLowerCase()\n\n var keyLen, ivLen\n if (aesModes[suite]) {\n keyLen = aesModes[suite].key\n ivLen = aesModes[suite].iv\n } else if (desModes[suite]) {\n keyLen = desModes[suite].key * 8\n ivLen = desModes[suite].iv\n } else {\n throw new TypeError('invalid suite type')\n }\n\n var keys = ebtk(password, false, keyLen, ivLen)\n return createDecipheriv(suite, keys.key, keys.iv)\n}\n\nfunction createCipheriv (suite, key, iv) {\n suite = suite.toLowerCase()\n if (aesModes[suite]) return aes.createCipheriv(suite, key, iv)\n if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite })\n\n throw new TypeError('invalid suite type')\n}\n\nfunction createDecipheriv (suite, key, iv) {\n suite = suite.toLowerCase()\n if (aesModes[suite]) return aes.createDecipheriv(suite, key, iv)\n if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite, decrypt: true })\n\n throw new TypeError('invalid suite type')\n}\n\nfunction getCiphers () {\n return Object.keys(desModes).concat(aes.getCiphers())\n}\n\nexports.createCipher = exports.Cipher = createCipher\nexports.createCipheriv = exports.Cipheriv = createCipheriv\nexports.createDecipher = exports.Decipher = createDecipher\nexports.createDecipheriv = exports.Decipheriv = createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // 'A' - 'F'\n if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n // '0' - '9'\n } else {\n return (c - 48) & 0xf;\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this.strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","var r;\n\nmodule.exports = function rand(len) {\n if (!r)\n r = new Rand(null);\n\n return r.generate(len);\n};\n\nfunction Rand(rand) {\n this.rand = rand;\n}\nmodule.exports.Rand = Rand;\n\nRand.prototype.generate = function generate(len) {\n return this._rand(len);\n};\n\n// Emulate crypto API using randy\nRand.prototype._rand = function _rand(n) {\n if (this.rand.getBytes)\n return this.rand.getBytes(n);\n\n var res = new Uint8Array(n);\n for (var i = 0; i < res.length; i++)\n res[i] = this.rand.getByte();\n return res;\n};\n\nif (typeof self === 'object') {\n if (self.crypto && self.crypto.getRandomValues) {\n // Modern browsers\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.crypto.getRandomValues(arr);\n return arr;\n };\n } else if (self.msCrypto && self.msCrypto.getRandomValues) {\n // IE\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.msCrypto.getRandomValues(arr);\n return arr;\n };\n\n // Safari's WebWorkers do not have `crypto`\n } else if (typeof window === 'object') {\n // Old junk\n Rand.prototype._rand = function() {\n throw new Error('Not implemented yet');\n };\n }\n} else {\n // Node.js or Web worker with no crypto support\n try {\n var crypto = require('crypto');\n if (typeof crypto.randomBytes !== 'function')\n throw new Error('Not supported');\n\n Rand.prototype._rand = function _rand(n) {\n return crypto.randomBytes(n);\n };\n } catch (e) {\n }\n}\n","var bn = require('bn.js');\nvar brorand = require('brorand');\n\nfunction MillerRabin(rand) {\n this.rand = rand || new brorand.Rand();\n}\nmodule.exports = MillerRabin;\n\nMillerRabin.create = function create(rand) {\n return new MillerRabin(rand);\n};\n\nMillerRabin.prototype._randbelow = function _randbelow(n) {\n var len = n.bitLength();\n var min_bytes = Math.ceil(len / 8);\n\n // Generage random bytes until a number less than n is found.\n // This ensures that 0..n-1 have an equal probability of being selected.\n do\n var a = new bn(this.rand.generate(min_bytes));\n while (a.cmp(n) >= 0);\n\n return a;\n};\n\nMillerRabin.prototype._randrange = function _randrange(start, stop) {\n // Generate a random number greater than or equal to start and less than stop.\n var size = stop.sub(start);\n return start.add(this._randbelow(size));\n};\n\nMillerRabin.prototype.test = function test(n, k, cb) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n\n if (!k)\n k = Math.max(1, (len / 48) | 0);\n\n // Find d and s, (n - 1) = (2 ^ s) * d;\n var n1 = n.subn(1);\n for (var s = 0; !n1.testn(s); s++) {}\n var d = n.shrn(s);\n\n var rn1 = n1.toRed(red);\n\n var prime = true;\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n if (cb)\n cb(a);\n\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0)\n continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n\n if (x.cmp(rone) === 0)\n return false;\n if (x.cmp(rn1) === 0)\n break;\n }\n\n if (i === s)\n return false;\n }\n\n return prime;\n};\n\nMillerRabin.prototype.getDivisor = function getDivisor(n, k) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n\n if (!k)\n k = Math.max(1, (len / 48) | 0);\n\n // Find d and s, (n - 1) = (2 ^ s) * d;\n var n1 = n.subn(1);\n for (var s = 0; !n1.testn(s); s++) {}\n var d = n.shrn(s);\n\n var rn1 = n1.toRed(red);\n\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n\n var g = n.gcd(a);\n if (g.cmpn(1) !== 0)\n return g;\n\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0)\n continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n\n if (x.cmp(rone) === 0)\n return x.fromRed().subn(1).gcd(n);\n if (x.cmp(rn1) === 0)\n break;\n }\n\n if (i === s) {\n x = x.redSqr();\n return x.fromRed().subn(1).gcd(n);\n }\n }\n\n return false;\n};\n","var randomBytes = require('randombytes');\nmodule.exports = findPrime;\nfindPrime.simpleSieve = simpleSieve;\nfindPrime.fermatTest = fermatTest;\nvar BN = require('bn.js');\nvar TWENTYFOUR = new BN(24);\nvar MillerRabin = require('miller-rabin');\nvar millerRabin = new MillerRabin();\nvar ONE = new BN(1);\nvar TWO = new BN(2);\nvar FIVE = new BN(5);\nvar SIXTEEN = new BN(16);\nvar EIGHT = new BN(8);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar ELEVEN = new BN(11);\nvar FOUR = new BN(4);\nvar TWELVE = new BN(12);\nvar primes = null;\n\nfunction _getPrimes() {\n if (primes !== null)\n return primes;\n\n var limit = 0x100000;\n var res = [];\n res[0] = 2;\n for (var i = 1, k = 3; k < limit; k += 2) {\n var sqrt = Math.ceil(Math.sqrt(k));\n for (var j = 0; j < i && res[j] <= sqrt; j++)\n if (k % res[j] === 0)\n break;\n\n if (i !== j && res[j] <= sqrt)\n continue;\n\n res[i++] = k;\n }\n primes = res;\n return res;\n}\n\nfunction simpleSieve(p) {\n var primes = _getPrimes();\n\n for (var i = 0; i < primes.length; i++)\n if (p.modn(primes[i]) === 0) {\n if (p.cmpn(primes[i]) === 0) {\n return true;\n } else {\n return false;\n }\n }\n\n return true;\n}\n\nfunction fermatTest(p) {\n var red = BN.mont(p);\n return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1) === 0;\n}\n\nfunction findPrime(bits, gen) {\n if (bits < 16) {\n // this is what openssl does\n if (gen === 2 || gen === 5) {\n return new BN([0x8c, 0x7b]);\n } else {\n return new BN([0x8c, 0x27]);\n }\n }\n gen = new BN(gen);\n\n var num, n2;\n\n while (true) {\n num = new BN(randomBytes(Math.ceil(bits / 8)));\n while (num.bitLength() > bits) {\n num.ishrn(1);\n }\n if (num.isEven()) {\n num.iadd(ONE);\n }\n if (!num.testn(1)) {\n num.iadd(TWO);\n }\n if (!gen.cmp(TWO)) {\n while (num.mod(TWENTYFOUR).cmp(ELEVEN)) {\n num.iadd(FOUR);\n }\n } else if (!gen.cmp(FIVE)) {\n while (num.mod(TEN).cmp(THREE)) {\n num.iadd(FOUR);\n }\n }\n n2 = num.shrn(1);\n if (simpleSieve(n2) && simpleSieve(num) &&\n fermatTest(n2) && fermatTest(num) &&\n millerRabin.test(n2) && millerRabin.test(num)) {\n return num;\n }\n }\n\n}\n","var BN = require('bn.js');\nvar MillerRabin = require('miller-rabin');\nvar millerRabin = new MillerRabin();\nvar TWENTYFOUR = new BN(24);\nvar ELEVEN = new BN(11);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar primes = require('./generatePrime');\nvar randomBytes = require('randombytes');\nmodule.exports = DH;\n\nfunction setPublicKey(pub, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(pub)) {\n pub = new Buffer(pub, enc);\n }\n this._pub = new BN(pub);\n return this;\n}\n\nfunction setPrivateKey(priv, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(priv)) {\n priv = new Buffer(priv, enc);\n }\n this._priv = new BN(priv);\n return this;\n}\n\nvar primeCache = {};\nfunction checkPrime(prime, generator) {\n var gen = generator.toString('hex');\n var hex = [gen, prime.toString(16)].join('_');\n if (hex in primeCache) {\n return primeCache[hex];\n }\n var error = 0;\n\n if (prime.isEven() ||\n !primes.simpleSieve ||\n !primes.fermatTest(prime) ||\n !millerRabin.test(prime)) {\n //not a prime so +1\n error += 1;\n\n if (gen === '02' || gen === '05') {\n // we'd be able to check the generator\n // it would fail so +8\n error += 8;\n } else {\n //we wouldn't be able to test the generator\n // so +4\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n }\n if (!millerRabin.test(prime.shrn(1))) {\n //not a safe prime\n error += 2;\n }\n var rem;\n switch (gen) {\n case '02':\n if (prime.mod(TWENTYFOUR).cmp(ELEVEN)) {\n // unsuidable generator\n error += 8;\n }\n break;\n case '05':\n rem = prime.mod(TEN);\n if (rem.cmp(THREE) && rem.cmp(SEVEN)) {\n // prime mod 10 needs to equal 3 or 7\n error += 8;\n }\n break;\n default:\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n}\n\nfunction DH(prime, generator, malleable) {\n this.setGenerator(generator);\n this.__prime = new BN(prime);\n this._prime = BN.mont(this.__prime);\n this._primeLen = prime.length;\n this._pub = undefined;\n this._priv = undefined;\n this._primeCode = undefined;\n if (malleable) {\n this.setPublicKey = setPublicKey;\n this.setPrivateKey = setPrivateKey;\n } else {\n this._primeCode = 8;\n }\n}\nObject.defineProperty(DH.prototype, 'verifyError', {\n enumerable: true,\n get: function () {\n if (typeof this._primeCode !== 'number') {\n this._primeCode = checkPrime(this.__prime, this.__gen);\n }\n return this._primeCode;\n }\n});\nDH.prototype.generateKeys = function () {\n if (!this._priv) {\n this._priv = new BN(randomBytes(this._primeLen));\n }\n this._pub = this._gen.toRed(this._prime).redPow(this._priv).fromRed();\n return this.getPublicKey();\n};\n\nDH.prototype.computeSecret = function (other) {\n other = new BN(other);\n other = other.toRed(this._prime);\n var secret = other.redPow(this._priv).fromRed();\n var out = new Buffer(secret.toArray());\n var prime = this.getPrime();\n if (out.length < prime.length) {\n var front = new Buffer(prime.length - out.length);\n front.fill(0);\n out = Buffer.concat([front, out]);\n }\n return out;\n};\n\nDH.prototype.getPublicKey = function getPublicKey(enc) {\n return formatReturnValue(this._pub, enc);\n};\n\nDH.prototype.getPrivateKey = function getPrivateKey(enc) {\n return formatReturnValue(this._priv, enc);\n};\n\nDH.prototype.getPrime = function (enc) {\n return formatReturnValue(this.__prime, enc);\n};\n\nDH.prototype.getGenerator = function (enc) {\n return formatReturnValue(this._gen, enc);\n};\n\nDH.prototype.setGenerator = function (gen, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(gen)) {\n gen = new Buffer(gen, enc);\n }\n this.__gen = gen;\n this._gen = new BN(gen);\n return this;\n};\n\nfunction formatReturnValue(bn, enc) {\n var buf = new Buffer(bn.toArray());\n if (!enc) {\n return buf;\n } else {\n return buf.toString(enc);\n }\n}\n","var generatePrime = require('./lib/generatePrime')\nvar primes = require('./lib/primes.json')\n\nvar DH = require('./lib/dh')\n\nfunction getDiffieHellman (mod) {\n var prime = new Buffer(primes[mod].prime, 'hex')\n var gen = new Buffer(primes[mod].gen, 'hex')\n\n return new DH(prime, gen)\n}\n\nvar ENCODINGS = {\n 'binary': true, 'hex': true, 'base64': true\n}\n\nfunction createDiffieHellman (prime, enc, generator, genc) {\n if (Buffer.isBuffer(enc) || ENCODINGS[enc] === undefined) {\n return createDiffieHellman(prime, 'binary', enc, generator)\n }\n\n enc = enc || 'binary'\n genc = genc || 'binary'\n generator = generator || new Buffer([2])\n\n if (!Buffer.isBuffer(generator)) {\n generator = new Buffer(generator, genc)\n }\n\n if (typeof prime === 'number') {\n return new DH(generatePrime(prime, generator), generator, true)\n }\n\n if (!Buffer.isBuffer(prime)) {\n prime = new Buffer(prime, enc)\n }\n\n return new DH(prime, generator, true)\n}\n\nexports.DiffieHellmanGroup = exports.createDiffieHellmanGroup = exports.getDiffieHellman = getDiffieHellman\nexports.createDiffieHellman = exports.DiffieHellman = createDiffieHellman\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [number & 0x3ffffff];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [0];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this._strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // '0' - '9'\n if (c >= 48 && c <= 57) {\n return c - 48;\n // 'A' - 'F'\n } else if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n } else {\n assert(false, 'Invalid character in ' + string);\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this._strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var b = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n b = c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n b = c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n b = c;\n }\n assert(c >= 0 && b < mul, 'Invalid character');\n r += b;\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [0];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this._strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n function move (dest, src) {\n dest.words = src.words;\n dest.length = src.length;\n dest.negative = src.negative;\n dest.red = src.red;\n }\n\n BN.prototype._move = function _move (dest) {\n move(dest, this);\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype._strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n // Check Symbol.for because not everywhere where Symbol defined\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Browser_compatibility\n if (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function') {\n try {\n BN.prototype[Symbol.for('nodejs.util.inspect.custom')] = inspect;\n } catch (e) {\n BN.prototype.inspect = inspect;\n }\n } else {\n BN.prototype.inspect = inspect;\n }\n\n function inspect () {\n return (this.red ? '';\n }\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modrn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16, 2);\n };\n\n if (Buffer) {\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n return this.toArrayLike(Buffer, endian, length);\n };\n }\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n var allocate = function allocate (ArrayType, size) {\n if (ArrayType.allocUnsafe) {\n return ArrayType.allocUnsafe(size);\n }\n return new ArrayType(size);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n this._strip();\n\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n var res = allocate(ArrayType, reqLength);\n var postfix = endian === 'le' ? 'LE' : 'BE';\n this['_toArrayLike' + postfix](res, byteLength);\n return res;\n };\n\n BN.prototype._toArrayLikeLE = function _toArrayLikeLE (res, byteLength) {\n var position = 0;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position++] = word & 0xff;\n if (position < res.length) {\n res[position++] = (word >> 8) & 0xff;\n }\n if (position < res.length) {\n res[position++] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position < res.length) {\n res[position++] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position < res.length) {\n res[position++] = carry;\n\n while (position < res.length) {\n res[position++] = 0;\n }\n }\n };\n\n BN.prototype._toArrayLikeBE = function _toArrayLikeBE (res, byteLength) {\n var position = res.length - 1;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position--] = word & 0xff;\n if (position >= 0) {\n res[position--] = (word >> 8) & 0xff;\n }\n if (position >= 0) {\n res[position--] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position >= 0) {\n res[position--] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position >= 0) {\n res[position--] = carry;\n\n while (position >= 0) {\n res[position--] = 0;\n }\n }\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] >>> wbit) & 0x01;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this._strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this._strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this._strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this._strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this._strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this._strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n function jumboMulTo (self, num, out) {\n // Temporary disable, see https://github.com/indutny/bn.js/issues/211\n // var fftm = new FFTM();\n // return fftm.mulp(self, num, out);\n return bigMulTo(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out._strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this._strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) <= num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this._strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this._strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this._strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q._strip();\n }\n a._strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || (r2 === 1 && cmp === 0)) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modrn = function modrn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return isNegNum ? -acc : acc;\n };\n\n // WARNING: DEPRECATED\n BN.prototype.modn = function modn (num) {\n return this.modrn(num);\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n this._strip();\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this._strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is a BN v4 instance\n r.strip();\n } else {\n // r is a BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n\n move(a, a.umod(this.m)._forceRed(this));\n return a;\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","var BN = require('bn.js')\nvar randomBytes = require('randombytes')\n\nfunction blind (priv) {\n var r = getr(priv)\n var blinder = r.toRed(BN.mont(priv.modulus)).redPow(new BN(priv.publicExponent)).fromRed()\n return { blinder: blinder, unblinder: r.invm(priv.modulus) }\n}\n\nfunction getr (priv) {\n var len = priv.modulus.byteLength()\n var r\n do {\n r = new BN(randomBytes(len))\n } while (r.cmp(priv.modulus) >= 0 || !r.umod(priv.prime1) || !r.umod(priv.prime2))\n return r\n}\n\nfunction crt (msg, priv) {\n var blinds = blind(priv)\n var len = priv.modulus.byteLength()\n var blinded = new BN(msg).mul(blinds.blinder).umod(priv.modulus)\n var c1 = blinded.toRed(BN.mont(priv.prime1))\n var c2 = blinded.toRed(BN.mont(priv.prime2))\n var qinv = priv.coefficient\n var p = priv.prime1\n var q = priv.prime2\n var m1 = c1.redPow(priv.exponent1).fromRed()\n var m2 = c2.redPow(priv.exponent2).fromRed()\n var h = m1.isub(m2).imul(qinv).umod(p).imul(q)\n return m2.iadd(h).imul(blinds.unblinder).umod(priv.modulus).toArrayLike(Buffer, 'be', len)\n}\ncrt.getr = getr\n\nmodule.exports = crt\n","'use strict';\n\nvar utils = exports;\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg !== 'string') {\n for (var i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (var i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else {\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n var hi = c >> 8;\n var lo = c & 0xff;\n if (hi)\n res.push(hi, lo);\n else\n res.push(lo);\n }\n }\n return res;\n}\nutils.toArray = toArray;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nutils.zero2 = zero2;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nutils.toHex = toHex;\n\nutils.encode = function encode(arr, enc) {\n if (enc === 'hex')\n return toHex(arr);\n else\n return arr;\n};\n","'use strict';\n\nvar utils = exports;\nvar BN = require('bn.js');\nvar minAssert = require('minimalistic-assert');\nvar minUtils = require('minimalistic-crypto-utils');\n\nutils.assert = minAssert;\nutils.toArray = minUtils.toArray;\nutils.zero2 = minUtils.zero2;\nutils.toHex = minUtils.toHex;\nutils.encode = minUtils.encode;\n\n// Represent num in a w-NAF form\nfunction getNAF(num, w, bits) {\n var naf = new Array(Math.max(num.bitLength(), bits) + 1);\n naf.fill(0);\n\n var ws = 1 << (w + 1);\n var k = num.clone();\n\n for (var i = 0; i < naf.length; i++) {\n var z;\n var mod = k.andln(ws - 1);\n if (k.isOdd()) {\n if (mod > (ws >> 1) - 1)\n z = (ws >> 1) - mod;\n else\n z = mod;\n k.isubn(z);\n } else {\n z = 0;\n }\n\n naf[i] = z;\n k.iushrn(1);\n }\n\n return naf;\n}\nutils.getNAF = getNAF;\n\n// Represent k1, k2 in a Joint Sparse Form\nfunction getJSF(k1, k2) {\n var jsf = [\n [],\n [],\n ];\n\n k1 = k1.clone();\n k2 = k2.clone();\n var d1 = 0;\n var d2 = 0;\n var m8;\n while (k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0) {\n // First phase\n var m14 = (k1.andln(3) + d1) & 3;\n var m24 = (k2.andln(3) + d2) & 3;\n if (m14 === 3)\n m14 = -1;\n if (m24 === 3)\n m24 = -1;\n var u1;\n if ((m14 & 1) === 0) {\n u1 = 0;\n } else {\n m8 = (k1.andln(7) + d1) & 7;\n if ((m8 === 3 || m8 === 5) && m24 === 2)\n u1 = -m14;\n else\n u1 = m14;\n }\n jsf[0].push(u1);\n\n var u2;\n if ((m24 & 1) === 0) {\n u2 = 0;\n } else {\n m8 = (k2.andln(7) + d2) & 7;\n if ((m8 === 3 || m8 === 5) && m14 === 2)\n u2 = -m24;\n else\n u2 = m24;\n }\n jsf[1].push(u2);\n\n // Second phase\n if (2 * d1 === u1 + 1)\n d1 = 1 - d1;\n if (2 * d2 === u2 + 1)\n d2 = 1 - d2;\n k1.iushrn(1);\n k2.iushrn(1);\n }\n\n return jsf;\n}\nutils.getJSF = getJSF;\n\nfunction cachedProperty(obj, name, computer) {\n var key = '_' + name;\n obj.prototype[name] = function cachedProperty() {\n return this[key] !== undefined ? this[key] :\n this[key] = computer.call(this);\n };\n}\nutils.cachedProperty = cachedProperty;\n\nfunction parseBytes(bytes) {\n return typeof bytes === 'string' ? utils.toArray(bytes, 'hex') :\n bytes;\n}\nutils.parseBytes = parseBytes;\n\nfunction intFromLE(bytes) {\n return new BN(bytes, 'hex', 'le');\n}\nutils.intFromLE = intFromLE;\n\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar getNAF = utils.getNAF;\nvar getJSF = utils.getJSF;\nvar assert = utils.assert;\n\nfunction BaseCurve(type, conf) {\n this.type = type;\n this.p = new BN(conf.p, 16);\n\n // Use Montgomery, when there is no fast reduction for the prime\n this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p);\n\n // Useful for many curves\n this.zero = new BN(0).toRed(this.red);\n this.one = new BN(1).toRed(this.red);\n this.two = new BN(2).toRed(this.red);\n\n // Curve configuration, optional\n this.n = conf.n && new BN(conf.n, 16);\n this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed);\n\n // Temporary arrays\n this._wnafT1 = new Array(4);\n this._wnafT2 = new Array(4);\n this._wnafT3 = new Array(4);\n this._wnafT4 = new Array(4);\n\n this._bitLength = this.n ? this.n.bitLength() : 0;\n\n // Generalized Greg Maxwell's trick\n var adjustCount = this.n && this.p.div(this.n);\n if (!adjustCount || adjustCount.cmpn(100) > 0) {\n this.redN = null;\n } else {\n this._maxwellTrick = true;\n this.redN = this.n.toRed(this.red);\n }\n}\nmodule.exports = BaseCurve;\n\nBaseCurve.prototype.point = function point() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype.validate = function validate() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) {\n assert(p.precomputed);\n var doubles = p._getDoubles();\n\n var naf = getNAF(k, 1, this._bitLength);\n var I = (1 << (doubles.step + 1)) - (doubles.step % 2 === 0 ? 2 : 1);\n I /= 3;\n\n // Translate into more windowed form\n var repr = [];\n var j;\n var nafW;\n for (j = 0; j < naf.length; j += doubles.step) {\n nafW = 0;\n for (var l = j + doubles.step - 1; l >= j; l--)\n nafW = (nafW << 1) + naf[l];\n repr.push(nafW);\n }\n\n var a = this.jpoint(null, null, null);\n var b = this.jpoint(null, null, null);\n for (var i = I; i > 0; i--) {\n for (j = 0; j < repr.length; j++) {\n nafW = repr[j];\n if (nafW === i)\n b = b.mixedAdd(doubles.points[j]);\n else if (nafW === -i)\n b = b.mixedAdd(doubles.points[j].neg());\n }\n a = a.add(b);\n }\n return a.toP();\n};\n\nBaseCurve.prototype._wnafMul = function _wnafMul(p, k) {\n var w = 4;\n\n // Precompute window\n var nafPoints = p._getNAFPoints(w);\n w = nafPoints.wnd;\n var wnd = nafPoints.points;\n\n // Get NAF form\n var naf = getNAF(k, w, this._bitLength);\n\n // Add `this`*(N+1) for every w-NAF index\n var acc = this.jpoint(null, null, null);\n for (var i = naf.length - 1; i >= 0; i--) {\n // Count zeroes\n for (var l = 0; i >= 0 && naf[i] === 0; i--)\n l++;\n if (i >= 0)\n l++;\n acc = acc.dblp(l);\n\n if (i < 0)\n break;\n var z = naf[i];\n assert(z !== 0);\n if (p.type === 'affine') {\n // J +- P\n if (z > 0)\n acc = acc.mixedAdd(wnd[(z - 1) >> 1]);\n else\n acc = acc.mixedAdd(wnd[(-z - 1) >> 1].neg());\n } else {\n // J +- J\n if (z > 0)\n acc = acc.add(wnd[(z - 1) >> 1]);\n else\n acc = acc.add(wnd[(-z - 1) >> 1].neg());\n }\n }\n return p.type === 'affine' ? acc.toP() : acc;\n};\n\nBaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,\n points,\n coeffs,\n len,\n jacobianResult) {\n var wndWidth = this._wnafT1;\n var wnd = this._wnafT2;\n var naf = this._wnafT3;\n\n // Fill all arrays\n var max = 0;\n var i;\n var j;\n var p;\n for (i = 0; i < len; i++) {\n p = points[i];\n var nafPoints = p._getNAFPoints(defW);\n wndWidth[i] = nafPoints.wnd;\n wnd[i] = nafPoints.points;\n }\n\n // Comb small window NAFs\n for (i = len - 1; i >= 1; i -= 2) {\n var a = i - 1;\n var b = i;\n if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength);\n naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength);\n max = Math.max(naf[a].length, max);\n max = Math.max(naf[b].length, max);\n continue;\n }\n\n var comb = [\n points[a], /* 1 */\n null, /* 3 */\n null, /* 5 */\n points[b], /* 7 */\n ];\n\n // Try to avoid Projective points, if possible\n if (points[a].y.cmp(points[b].y) === 0) {\n comb[1] = points[a].add(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].add(points[b].neg());\n } else {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n }\n\n var index = [\n -3, /* -1 -1 */\n -1, /* -1 0 */\n -5, /* -1 1 */\n -7, /* 0 -1 */\n 0, /* 0 0 */\n 7, /* 0 1 */\n 5, /* 1 -1 */\n 1, /* 1 0 */\n 3, /* 1 1 */\n ];\n\n var jsf = getJSF(coeffs[a], coeffs[b]);\n max = Math.max(jsf[0].length, max);\n naf[a] = new Array(max);\n naf[b] = new Array(max);\n for (j = 0; j < max; j++) {\n var ja = jsf[0][j] | 0;\n var jb = jsf[1][j] | 0;\n\n naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];\n naf[b][j] = 0;\n wnd[a] = comb;\n }\n }\n\n var acc = this.jpoint(null, null, null);\n var tmp = this._wnafT4;\n for (i = max; i >= 0; i--) {\n var k = 0;\n\n while (i >= 0) {\n var zero = true;\n for (j = 0; j < len; j++) {\n tmp[j] = naf[j][i] | 0;\n if (tmp[j] !== 0)\n zero = false;\n }\n if (!zero)\n break;\n k++;\n i--;\n }\n if (i >= 0)\n k++;\n acc = acc.dblp(k);\n if (i < 0)\n break;\n\n for (j = 0; j < len; j++) {\n var z = tmp[j];\n p;\n if (z === 0)\n continue;\n else if (z > 0)\n p = wnd[j][(z - 1) >> 1];\n else if (z < 0)\n p = wnd[j][(-z - 1) >> 1].neg();\n\n if (p.type === 'affine')\n acc = acc.mixedAdd(p);\n else\n acc = acc.add(p);\n }\n }\n // Zeroify references\n for (i = 0; i < len; i++)\n wnd[i] = null;\n\n if (jacobianResult)\n return acc;\n else\n return acc.toP();\n};\n\nfunction BasePoint(curve, type) {\n this.curve = curve;\n this.type = type;\n this.precomputed = null;\n}\nBaseCurve.BasePoint = BasePoint;\n\nBasePoint.prototype.eq = function eq(/*other*/) {\n throw new Error('Not implemented');\n};\n\nBasePoint.prototype.validate = function validate() {\n return this.curve.validate(this);\n};\n\nBaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n bytes = utils.toArray(bytes, enc);\n\n var len = this.p.byteLength();\n\n // uncompressed, hybrid-odd, hybrid-even\n if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) &&\n bytes.length - 1 === 2 * len) {\n if (bytes[0] === 0x06)\n assert(bytes[bytes.length - 1] % 2 === 0);\n else if (bytes[0] === 0x07)\n assert(bytes[bytes.length - 1] % 2 === 1);\n\n var res = this.point(bytes.slice(1, 1 + len),\n bytes.slice(1 + len, 1 + 2 * len));\n\n return res;\n } else if ((bytes[0] === 0x02 || bytes[0] === 0x03) &&\n bytes.length - 1 === len) {\n return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03);\n }\n throw new Error('Unknown point format');\n};\n\nBasePoint.prototype.encodeCompressed = function encodeCompressed(enc) {\n return this.encode(enc, true);\n};\n\nBasePoint.prototype._encode = function _encode(compact) {\n var len = this.curve.p.byteLength();\n var x = this.getX().toArray('be', len);\n\n if (compact)\n return [ this.getY().isEven() ? 0x02 : 0x03 ].concat(x);\n\n return [ 0x04 ].concat(x, this.getY().toArray('be', len));\n};\n\nBasePoint.prototype.encode = function encode(enc, compact) {\n return utils.encode(this._encode(compact), enc);\n};\n\nBasePoint.prototype.precompute = function precompute(power) {\n if (this.precomputed)\n return this;\n\n var precomputed = {\n doubles: null,\n naf: null,\n beta: null,\n };\n precomputed.naf = this._getNAFPoints(8);\n precomputed.doubles = this._getDoubles(4, power);\n precomputed.beta = this._getBeta();\n this.precomputed = precomputed;\n\n return this;\n};\n\nBasePoint.prototype._hasDoubles = function _hasDoubles(k) {\n if (!this.precomputed)\n return false;\n\n var doubles = this.precomputed.doubles;\n if (!doubles)\n return false;\n\n return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step);\n};\n\nBasePoint.prototype._getDoubles = function _getDoubles(step, power) {\n if (this.precomputed && this.precomputed.doubles)\n return this.precomputed.doubles;\n\n var doubles = [ this ];\n var acc = this;\n for (var i = 0; i < power; i += step) {\n for (var j = 0; j < step; j++)\n acc = acc.dbl();\n doubles.push(acc);\n }\n return {\n step: step,\n points: doubles,\n };\n};\n\nBasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) {\n if (this.precomputed && this.precomputed.naf)\n return this.precomputed.naf;\n\n var res = [ this ];\n var max = (1 << wnd) - 1;\n var dbl = max === 1 ? null : this.dbl();\n for (var i = 1; i < max; i++)\n res[i] = res[i - 1].add(dbl);\n return {\n wnd: wnd,\n points: res,\n };\n};\n\nBasePoint.prototype._getBeta = function _getBeta() {\n return null;\n};\n\nBasePoint.prototype.dblp = function dblp(k) {\n var r = this;\n for (var i = 0; i < k; i++)\n r = r.dbl();\n return r;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction ShortCurve(conf) {\n Base.call(this, 'short', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.tinv = this.two.redInvm();\n\n this.zeroA = this.a.fromRed().cmpn(0) === 0;\n this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0;\n\n // If the curve is endomorphic, precalculate beta and lambda\n this.endo = this._getEndomorphism(conf);\n this._endoWnafT1 = new Array(4);\n this._endoWnafT2 = new Array(4);\n}\ninherits(ShortCurve, Base);\nmodule.exports = ShortCurve;\n\nShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) {\n // No efficient endomorphism\n if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1)\n return;\n\n // Compute beta and lambda, that lambda * P = (beta * Px; Py)\n var beta;\n var lambda;\n if (conf.beta) {\n beta = new BN(conf.beta, 16).toRed(this.red);\n } else {\n var betas = this._getEndoRoots(this.p);\n // Choose the smallest beta\n beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1];\n beta = beta.toRed(this.red);\n }\n if (conf.lambda) {\n lambda = new BN(conf.lambda, 16);\n } else {\n // Choose the lambda that is matching selected beta\n var lambdas = this._getEndoRoots(this.n);\n if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) {\n lambda = lambdas[0];\n } else {\n lambda = lambdas[1];\n assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0);\n }\n }\n\n // Get basis vectors, used for balanced length-two representation\n var basis;\n if (conf.basis) {\n basis = conf.basis.map(function(vec) {\n return {\n a: new BN(vec.a, 16),\n b: new BN(vec.b, 16),\n };\n });\n } else {\n basis = this._getEndoBasis(lambda);\n }\n\n return {\n beta: beta,\n lambda: lambda,\n basis: basis,\n };\n};\n\nShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) {\n // Find roots of for x^2 + x + 1 in F\n // Root = (-1 +- Sqrt(-3)) / 2\n //\n var red = num === this.p ? this.red : BN.mont(num);\n var tinv = new BN(2).toRed(red).redInvm();\n var ntinv = tinv.redNeg();\n\n var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv);\n\n var l1 = ntinv.redAdd(s).fromRed();\n var l2 = ntinv.redSub(s).fromRed();\n return [ l1, l2 ];\n};\n\nShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) {\n // aprxSqrt >= sqrt(this.n)\n var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2));\n\n // 3.74\n // Run EGCD, until r(L + 1) < aprxSqrt\n var u = lambda;\n var v = this.n.clone();\n var x1 = new BN(1);\n var y1 = new BN(0);\n var x2 = new BN(0);\n var y2 = new BN(1);\n\n // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n)\n var a0;\n var b0;\n // First vector\n var a1;\n var b1;\n // Second vector\n var a2;\n var b2;\n\n var prevR;\n var i = 0;\n var r;\n var x;\n while (u.cmpn(0) !== 0) {\n var q = v.div(u);\n r = v.sub(q.mul(u));\n x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n\n if (!a1 && r.cmp(aprxSqrt) < 0) {\n a0 = prevR.neg();\n b0 = x1;\n a1 = r.neg();\n b1 = x;\n } else if (a1 && ++i === 2) {\n break;\n }\n prevR = r;\n\n v = u;\n u = r;\n x2 = x1;\n x1 = x;\n y2 = y1;\n y1 = y;\n }\n a2 = r.neg();\n b2 = x;\n\n var len1 = a1.sqr().add(b1.sqr());\n var len2 = a2.sqr().add(b2.sqr());\n if (len2.cmp(len1) >= 0) {\n a2 = a0;\n b2 = b0;\n }\n\n // Normalize signs\n if (a1.negative) {\n a1 = a1.neg();\n b1 = b1.neg();\n }\n if (a2.negative) {\n a2 = a2.neg();\n b2 = b2.neg();\n }\n\n return [\n { a: a1, b: b1 },\n { a: a2, b: b2 },\n ];\n};\n\nShortCurve.prototype._endoSplit = function _endoSplit(k) {\n var basis = this.endo.basis;\n var v1 = basis[0];\n var v2 = basis[1];\n\n var c1 = v2.b.mul(k).divRound(this.n);\n var c2 = v1.b.neg().mul(k).divRound(this.n);\n\n var p1 = c1.mul(v1.a);\n var p2 = c2.mul(v2.a);\n var q1 = c1.mul(v1.b);\n var q2 = c2.mul(v2.b);\n\n // Calculate answer\n var k1 = k.sub(p1).sub(p2);\n var k2 = q1.add(q2).neg();\n return { k1: k1, k2: k2 };\n};\n\nShortCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b);\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n // XXX Is there any way to tell if the number is odd without converting it\n // to non-red form?\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nShortCurve.prototype.validate = function validate(point) {\n if (point.inf)\n return true;\n\n var x = point.x;\n var y = point.y;\n\n var ax = this.a.redMul(x);\n var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);\n return y.redSqr().redISub(rhs).cmpn(0) === 0;\n};\n\nShortCurve.prototype._endoWnafMulAdd =\n function _endoWnafMulAdd(points, coeffs, jacobianResult) {\n var npoints = this._endoWnafT1;\n var ncoeffs = this._endoWnafT2;\n for (var i = 0; i < points.length; i++) {\n var split = this._endoSplit(coeffs[i]);\n var p = points[i];\n var beta = p._getBeta();\n\n if (split.k1.negative) {\n split.k1.ineg();\n p = p.neg(true);\n }\n if (split.k2.negative) {\n split.k2.ineg();\n beta = beta.neg(true);\n }\n\n npoints[i * 2] = p;\n npoints[i * 2 + 1] = beta;\n ncoeffs[i * 2] = split.k1;\n ncoeffs[i * 2 + 1] = split.k2;\n }\n var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult);\n\n // Clean-up references to points and coefficients\n for (var j = 0; j < i * 2; j++) {\n npoints[j] = null;\n ncoeffs[j] = null;\n }\n return res;\n };\n\nfunction Point(curve, x, y, isRed) {\n Base.BasePoint.call(this, curve, 'affine');\n if (x === null && y === null) {\n this.x = null;\n this.y = null;\n this.inf = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n // Force redgomery representation when loading from JSON\n if (isRed) {\n this.x.forceRed(this.curve.red);\n this.y.forceRed(this.curve.red);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n this.inf = false;\n }\n}\ninherits(Point, Base.BasePoint);\n\nShortCurve.prototype.point = function point(x, y, isRed) {\n return new Point(this, x, y, isRed);\n};\n\nShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) {\n return Point.fromJSON(this, obj, red);\n};\n\nPoint.prototype._getBeta = function _getBeta() {\n if (!this.curve.endo)\n return;\n\n var pre = this.precomputed;\n if (pre && pre.beta)\n return pre.beta;\n\n var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);\n if (pre) {\n var curve = this.curve;\n var endoMul = function(p) {\n return curve.point(p.x.redMul(curve.endo.beta), p.y);\n };\n pre.beta = beta;\n beta.precomputed = {\n beta: null,\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(endoMul),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(endoMul),\n },\n };\n }\n return beta;\n};\n\nPoint.prototype.toJSON = function toJSON() {\n if (!this.precomputed)\n return [ this.x, this.y ];\n\n return [ this.x, this.y, this.precomputed && {\n doubles: this.precomputed.doubles && {\n step: this.precomputed.doubles.step,\n points: this.precomputed.doubles.points.slice(1),\n },\n naf: this.precomputed.naf && {\n wnd: this.precomputed.naf.wnd,\n points: this.precomputed.naf.points.slice(1),\n },\n } ];\n};\n\nPoint.fromJSON = function fromJSON(curve, obj, red) {\n if (typeof obj === 'string')\n obj = JSON.parse(obj);\n var res = curve.point(obj[0], obj[1], red);\n if (!obj[2])\n return res;\n\n function obj2point(obj) {\n return curve.point(obj[0], obj[1], red);\n }\n\n var pre = obj[2];\n res.precomputed = {\n beta: null,\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: [ res ].concat(pre.doubles.points.map(obj2point)),\n },\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: [ res ].concat(pre.naf.points.map(obj2point)),\n },\n };\n return res;\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n return this.inf;\n};\n\nPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.inf)\n return p;\n\n // P + O = P\n if (p.inf)\n return this;\n\n // P + P = 2P\n if (this.eq(p))\n return this.dbl();\n\n // P + (-P) = O\n if (this.neg().eq(p))\n return this.curve.point(null, null);\n\n // P + Q = O\n if (this.x.cmp(p.x) === 0)\n return this.curve.point(null, null);\n\n var c = this.y.redSub(p.y);\n if (c.cmpn(0) !== 0)\n c = c.redMul(this.x.redSub(p.x).redInvm());\n var nx = c.redSqr().redISub(this.x).redISub(p.x);\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.inf)\n return this;\n\n // 2P = O\n var ys1 = this.y.redAdd(this.y);\n if (ys1.cmpn(0) === 0)\n return this.curve.point(null, null);\n\n var a = this.curve.a;\n\n var x2 = this.x.redSqr();\n var dyinv = ys1.redInvm();\n var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv);\n\n var nx = c.redSqr().redISub(this.x.redAdd(this.x));\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.getX = function getX() {\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n return this.y.fromRed();\n};\n\nPoint.prototype.mul = function mul(k) {\n k = new BN(k, 16);\n if (this.isInfinity())\n return this;\n else if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else if (this.curve.endo)\n return this.curve._endoWnafMulAdd([ this ], [ k ]);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs, true);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2, true);\n};\n\nPoint.prototype.eq = function eq(p) {\n return this === p ||\n this.inf === p.inf &&\n (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);\n};\n\nPoint.prototype.neg = function neg(_precompute) {\n if (this.inf)\n return this;\n\n var res = this.curve.point(this.x, this.y.redNeg());\n if (_precompute && this.precomputed) {\n var pre = this.precomputed;\n var negate = function(p) {\n return p.neg();\n };\n res.precomputed = {\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(negate),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(negate),\n },\n };\n }\n return res;\n};\n\nPoint.prototype.toJ = function toJ() {\n if (this.inf)\n return this.curve.jpoint(null, null, null);\n\n var res = this.curve.jpoint(this.x, this.y, this.curve.one);\n return res;\n};\n\nfunction JPoint(curve, x, y, z) {\n Base.BasePoint.call(this, curve, 'jacobian');\n if (x === null && y === null && z === null) {\n this.x = this.curve.one;\n this.y = this.curve.one;\n this.z = new BN(0);\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = new BN(z, 16);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n\n this.zOne = this.z === this.curve.one;\n}\ninherits(JPoint, Base.BasePoint);\n\nShortCurve.prototype.jpoint = function jpoint(x, y, z) {\n return new JPoint(this, x, y, z);\n};\n\nJPoint.prototype.toP = function toP() {\n if (this.isInfinity())\n return this.curve.point(null, null);\n\n var zinv = this.z.redInvm();\n var zinv2 = zinv.redSqr();\n var ax = this.x.redMul(zinv2);\n var ay = this.y.redMul(zinv2).redMul(zinv);\n\n return this.curve.point(ax, ay);\n};\n\nJPoint.prototype.neg = function neg() {\n return this.curve.jpoint(this.x, this.y.redNeg(), this.z);\n};\n\nJPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.isInfinity())\n return p;\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 12M + 4S + 7A\n var pz2 = p.z.redSqr();\n var z2 = this.z.redSqr();\n var u1 = this.x.redMul(pz2);\n var u2 = p.x.redMul(z2);\n var s1 = this.y.redMul(pz2.redMul(p.z));\n var s2 = p.y.redMul(z2.redMul(this.z));\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(p.z).redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mixedAdd = function mixedAdd(p) {\n // O + P = P\n if (this.isInfinity())\n return p.toJ();\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 8M + 3S + 7A\n var z2 = this.z.redSqr();\n var u1 = this.x;\n var u2 = p.x.redMul(z2);\n var s1 = this.y;\n var s2 = p.y.redMul(z2).redMul(this.z);\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.dblp = function dblp(pow) {\n if (pow === 0)\n return this;\n if (this.isInfinity())\n return this;\n if (!pow)\n return this.dbl();\n\n var i;\n if (this.curve.zeroA || this.curve.threeA) {\n var r = this;\n for (i = 0; i < pow; i++)\n r = r.dbl();\n return r;\n }\n\n // 1M + 2S + 1A + N * (4S + 5M + 8A)\n // N = 1 => 6M + 6S + 9A\n var a = this.curve.a;\n var tinv = this.curve.tinv;\n\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n // Reuse results\n var jyd = jy.redAdd(jy);\n for (i = 0; i < pow; i++) {\n var jx2 = jx.redSqr();\n var jyd2 = jyd.redSqr();\n var jyd4 = jyd2.redSqr();\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var t1 = jx.redMul(jyd2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n var dny = c.redMul(t2);\n dny = dny.redIAdd(dny).redISub(jyd4);\n var nz = jyd.redMul(jz);\n if (i + 1 < pow)\n jz4 = jz4.redMul(jyd4);\n\n jx = nx;\n jz = nz;\n jyd = dny;\n }\n\n return this.curve.jpoint(jx, jyd.redMul(tinv), jz);\n};\n\nJPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n if (this.curve.zeroA)\n return this._zeroDbl();\n else if (this.curve.threeA)\n return this._threeDbl();\n else\n return this._dbl();\n};\n\nJPoint.prototype._zeroDbl = function _zeroDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 14A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // T = M ^ 2 - 2*S\n var t = m.redSqr().redISub(s).redISub(s);\n\n // 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2*Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-dbl-2009-l\n // 2M + 5S + 13A\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = B^2\n var c = b.redSqr();\n // D = 2 * ((X1 + B)^2 - A - C)\n var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);\n d = d.redIAdd(d);\n // E = 3 * A\n var e = a.redAdd(a).redIAdd(a);\n // F = E^2\n var f = e.redSqr();\n\n // 8 * C\n var c8 = c.redIAdd(c);\n c8 = c8.redIAdd(c8);\n c8 = c8.redIAdd(c8);\n\n // X3 = F - 2 * D\n nx = f.redISub(d).redISub(d);\n // Y3 = E * (D - X3) - 8 * C\n ny = e.redMul(d.redISub(nx)).redISub(c8);\n // Z3 = 2 * Y1 * Z1\n nz = this.y.redMul(this.z);\n nz = nz.redIAdd(nz);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._threeDbl = function _threeDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 15A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a\n var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a);\n // T = M^2 - 2 * S\n var t = m.redSqr().redISub(s).redISub(s);\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2 * Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b\n // 3M + 5S\n\n // delta = Z1^2\n var delta = this.z.redSqr();\n // gamma = Y1^2\n var gamma = this.y.redSqr();\n // beta = X1 * gamma\n var beta = this.x.redMul(gamma);\n // alpha = 3 * (X1 - delta) * (X1 + delta)\n var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));\n alpha = alpha.redAdd(alpha).redIAdd(alpha);\n // X3 = alpha^2 - 8 * beta\n var beta4 = beta.redIAdd(beta);\n beta4 = beta4.redIAdd(beta4);\n var beta8 = beta4.redAdd(beta4);\n nx = alpha.redSqr().redISub(beta8);\n // Z3 = (Y1 + Z1)^2 - gamma - delta\n nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);\n // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2\n var ggamma8 = gamma.redSqr();\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._dbl = function _dbl() {\n var a = this.curve.a;\n\n // 4M + 6S + 10A\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n var jx2 = jx.redSqr();\n var jy2 = jy.redSqr();\n\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var jxd4 = jx.redAdd(jx);\n jxd4 = jxd4.redIAdd(jxd4);\n var t1 = jxd4.redMul(jy2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n\n var jyd8 = jy2.redSqr();\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n var ny = c.redMul(t2).redISub(jyd8);\n var nz = jy.redAdd(jy).redMul(jz);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.trpl = function trpl() {\n if (!this.curve.zeroA)\n return this.dbl().add(this);\n\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl\n // 5M + 10S + ...\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // ZZ = Z1^2\n var zz = this.z.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // M = 3 * XX + a * ZZ2; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // MM = M^2\n var mm = m.redSqr();\n // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM\n var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n e = e.redIAdd(e);\n e = e.redAdd(e).redIAdd(e);\n e = e.redISub(mm);\n // EE = E^2\n var ee = e.redSqr();\n // T = 16*YYYY\n var t = yyyy.redIAdd(yyyy);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n // U = (M + E)^2 - MM - EE - T\n var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t);\n // X3 = 4 * (X1 * EE - 4 * YY * U)\n var yyu4 = yy.redMul(u);\n yyu4 = yyu4.redIAdd(yyu4);\n yyu4 = yyu4.redIAdd(yyu4);\n var nx = this.x.redMul(ee).redISub(yyu4);\n nx = nx.redIAdd(nx);\n nx = nx.redIAdd(nx);\n // Y3 = 8 * Y1 * (U * (T - U) - E * EE)\n var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n // Z3 = (Z1 + E)^2 - ZZ - EE\n var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mul = function mul(k, kbase) {\n k = new BN(k, kbase);\n\n return this.curve._wnafMul(this, k);\n};\n\nJPoint.prototype.eq = function eq(p) {\n if (p.type === 'affine')\n return this.eq(p.toJ());\n\n if (this === p)\n return true;\n\n // x1 * z2^2 == x2 * z1^2\n var z2 = this.z.redSqr();\n var pz2 = p.z.redSqr();\n if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)\n return false;\n\n // y1 * z2^3 == y2 * z1^3\n var z3 = z2.redMul(this.z);\n var pz3 = pz2.redMul(p.z);\n return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;\n};\n\nJPoint.prototype.eqXToP = function eqXToP(x) {\n var zs = this.z.redSqr();\n var rx = x.toRed(this.curve.red).redMul(zs);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(zs);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\nJPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nJPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar utils = require('../utils');\n\nfunction MontCurve(conf) {\n Base.call(this, 'mont', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.i4 = new BN(4).toRed(this.red).redInvm();\n this.two = new BN(2).toRed(this.red);\n this.a24 = this.i4.redMul(this.a.redAdd(this.two));\n}\ninherits(MontCurve, Base);\nmodule.exports = MontCurve;\n\nMontCurve.prototype.validate = function validate(point) {\n var x = point.normalize().x;\n var x2 = x.redSqr();\n var rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x);\n var y = rhs.redSqrt();\n\n return y.redSqr().cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, z) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && z === null) {\n this.x = this.curve.one;\n this.z = this.curve.zero;\n } else {\n this.x = new BN(x, 16);\n this.z = new BN(z, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n }\n}\ninherits(Point, Base.BasePoint);\n\nMontCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n return this.point(utils.toArray(bytes, enc), 1);\n};\n\nMontCurve.prototype.point = function point(x, z) {\n return new Point(this, x, z);\n};\n\nMontCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nPoint.prototype.precompute = function precompute() {\n // No-op\n};\n\nPoint.prototype._encode = function _encode() {\n return this.getX().toArray('be', this.curve.p.byteLength());\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1] || curve.one);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n\nPoint.prototype.dbl = function dbl() {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#doubling-dbl-1987-m-3\n // 2M + 2S + 4A\n\n // A = X1 + Z1\n var a = this.x.redAdd(this.z);\n // AA = A^2\n var aa = a.redSqr();\n // B = X1 - Z1\n var b = this.x.redSub(this.z);\n // BB = B^2\n var bb = b.redSqr();\n // C = AA - BB\n var c = aa.redSub(bb);\n // X3 = AA * BB\n var nx = aa.redMul(bb);\n // Z3 = C * (BB + A24 * C)\n var nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.add = function add() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.diffAdd = function diffAdd(p, diff) {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#diffadd-dadd-1987-m-3\n // 4M + 2S + 6A\n\n // A = X2 + Z2\n var a = this.x.redAdd(this.z);\n // B = X2 - Z2\n var b = this.x.redSub(this.z);\n // C = X3 + Z3\n var c = p.x.redAdd(p.z);\n // D = X3 - Z3\n var d = p.x.redSub(p.z);\n // DA = D * A\n var da = d.redMul(a);\n // CB = C * B\n var cb = c.redMul(b);\n // X5 = Z1 * (DA + CB)^2\n var nx = diff.z.redMul(da.redAdd(cb).redSqr());\n // Z5 = X1 * (DA - CB)^2\n var nz = diff.x.redMul(da.redISub(cb).redSqr());\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.mul = function mul(k) {\n var t = k.clone();\n var a = this; // (N / 2) * Q + Q\n var b = this.curve.point(null, null); // (N / 2) * Q\n var c = this; // Q\n\n for (var bits = []; t.cmpn(0) !== 0; t.iushrn(1))\n bits.push(t.andln(1));\n\n for (var i = bits.length - 1; i >= 0; i--) {\n if (bits[i] === 0) {\n // N * Q + Q = ((N / 2) * Q + Q)) + (N / 2) * Q\n a = a.diffAdd(b, c);\n // N * Q = 2 * ((N / 2) * Q + Q))\n b = b.dbl();\n } else {\n // N * Q = ((N / 2) * Q + Q) + ((N / 2) * Q)\n b = a.diffAdd(b, c);\n // N * Q + Q = 2 * ((N / 2) * Q + Q)\n a = a.dbl();\n }\n }\n return b;\n};\n\nPoint.prototype.mulAdd = function mulAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.jumlAdd = function jumlAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.eq = function eq(other) {\n return this.getX().cmp(other.getX()) === 0;\n};\n\nPoint.prototype.normalize = function normalize() {\n this.x = this.x.redMul(this.z.redInvm());\n this.z = this.curve.one;\n return this;\n};\n\nPoint.prototype.getX = function getX() {\n // Normalize coordinates\n this.normalize();\n\n return this.x.fromRed();\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction EdwardsCurve(conf) {\n // NOTE: Important as we are creating point in Base.call()\n this.twisted = (conf.a | 0) !== 1;\n this.mOneA = this.twisted && (conf.a | 0) === -1;\n this.extended = this.mOneA;\n\n Base.call(this, 'edwards', conf);\n\n this.a = new BN(conf.a, 16).umod(this.red.m);\n this.a = this.a.toRed(this.red);\n this.c = new BN(conf.c, 16).toRed(this.red);\n this.c2 = this.c.redSqr();\n this.d = new BN(conf.d, 16).toRed(this.red);\n this.dd = this.d.redAdd(this.d);\n\n assert(!this.twisted || this.c.fromRed().cmpn(1) === 0);\n this.oneC = (conf.c | 0) === 1;\n}\ninherits(EdwardsCurve, Base);\nmodule.exports = EdwardsCurve;\n\nEdwardsCurve.prototype._mulA = function _mulA(num) {\n if (this.mOneA)\n return num.redNeg();\n else\n return this.a.redMul(num);\n};\n\nEdwardsCurve.prototype._mulC = function _mulC(num) {\n if (this.oneC)\n return num;\n else\n return this.c.redMul(num);\n};\n\n// Just for compatibility with Short curve\nEdwardsCurve.prototype.jpoint = function jpoint(x, y, z, t) {\n return this.point(x, y, z, t);\n};\n\nEdwardsCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var x2 = x.redSqr();\n var rhs = this.c2.redSub(this.a.redMul(x2));\n var lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2));\n\n var y2 = rhs.redMul(lhs.redInvm());\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.pointFromY = function pointFromY(y, odd) {\n y = new BN(y, 16);\n if (!y.red)\n y = y.toRed(this.red);\n\n // x^2 = (y^2 - c^2) / (c^2 d y^2 - a)\n var y2 = y.redSqr();\n var lhs = y2.redSub(this.c2);\n var rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a);\n var x2 = lhs.redMul(rhs.redInvm());\n\n if (x2.cmp(this.zero) === 0) {\n if (odd)\n throw new Error('invalid point');\n else\n return this.point(this.zero, y);\n }\n\n var x = x2.redSqrt();\n if (x.redSqr().redSub(x2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n if (x.fromRed().isOdd() !== odd)\n x = x.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.validate = function validate(point) {\n if (point.isInfinity())\n return true;\n\n // Curve: A * X^2 + Y^2 = C^2 * (1 + D * X^2 * Y^2)\n point.normalize();\n\n var x2 = point.x.redSqr();\n var y2 = point.y.redSqr();\n var lhs = x2.redMul(this.a).redAdd(y2);\n var rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));\n\n return lhs.cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, y, z, t) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && y === null && z === null) {\n this.x = this.curve.zero;\n this.y = this.curve.one;\n this.z = this.curve.one;\n this.t = this.curve.zero;\n this.zOne = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = z ? new BN(z, 16) : this.curve.one;\n this.t = t && new BN(t, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n if (this.t && !this.t.red)\n this.t = this.t.toRed(this.curve.red);\n this.zOne = this.z === this.curve.one;\n\n // Use extended coordinates\n if (this.curve.extended && !this.t) {\n this.t = this.x.redMul(this.y);\n if (!this.zOne)\n this.t = this.t.redMul(this.z.redInvm());\n }\n }\n}\ninherits(Point, Base.BasePoint);\n\nEdwardsCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nEdwardsCurve.prototype.point = function point(x, y, z, t) {\n return new Point(this, x, y, z, t);\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1], obj[2]);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.x.cmpn(0) === 0 &&\n (this.y.cmp(this.z) === 0 ||\n (this.zOne && this.y.cmp(this.curve.c) === 0));\n};\n\nPoint.prototype._extDbl = function _extDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #doubling-dbl-2008-hwcd\n // 4M + 4S\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = 2 * Z1^2\n var c = this.z.redSqr();\n c = c.redIAdd(c);\n // D = a * A\n var d = this.curve._mulA(a);\n // E = (X1 + Y1)^2 - A - B\n var e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b);\n // G = D + B\n var g = d.redAdd(b);\n // F = G - C\n var f = g.redSub(c);\n // H = D - B\n var h = d.redSub(b);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projDbl = function _projDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #doubling-dbl-2008-bbjlp\n // #doubling-dbl-2007-bl\n // and others\n // Generally 3M + 4S or 2M + 4S\n\n // B = (X1 + Y1)^2\n var b = this.x.redAdd(this.y).redSqr();\n // C = X1^2\n var c = this.x.redSqr();\n // D = Y1^2\n var d = this.y.redSqr();\n\n var nx;\n var ny;\n var nz;\n var e;\n var h;\n var j;\n if (this.curve.twisted) {\n // E = a * C\n e = this.curve._mulA(c);\n // F = E + D\n var f = e.redAdd(d);\n if (this.zOne) {\n // X3 = (B - C - D) * (F - 2)\n nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two));\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F^2 - 2 * F\n nz = f.redSqr().redSub(f).redSub(f);\n } else {\n // H = Z1^2\n h = this.z.redSqr();\n // J = F - 2 * H\n j = f.redSub(h).redISub(h);\n // X3 = (B-C-D)*J\n nx = b.redSub(c).redISub(d).redMul(j);\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F * J\n nz = f.redMul(j);\n }\n } else {\n // E = C + D\n e = c.redAdd(d);\n // H = (c * Z1)^2\n h = this.curve._mulC(this.z).redSqr();\n // J = E - 2 * H\n j = e.redSub(h).redSub(h);\n // X3 = c * (B - E) * J\n nx = this.curve._mulC(b.redISub(e)).redMul(j);\n // Y3 = c * E * (C - D)\n ny = this.curve._mulC(e).redMul(c.redISub(d));\n // Z3 = E * J\n nz = e.redMul(j);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n // Double in extended coordinates\n if (this.curve.extended)\n return this._extDbl();\n else\n return this._projDbl();\n};\n\nPoint.prototype._extAdd = function _extAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #addition-add-2008-hwcd-3\n // 8M\n\n // A = (Y1 - X1) * (Y2 - X2)\n var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x));\n // B = (Y1 + X1) * (Y2 + X2)\n var b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x));\n // C = T1 * k * T2\n var c = this.t.redMul(this.curve.dd).redMul(p.t);\n // D = Z1 * 2 * Z2\n var d = this.z.redMul(p.z.redAdd(p.z));\n // E = B - A\n var e = b.redSub(a);\n // F = D - C\n var f = d.redSub(c);\n // G = D + C\n var g = d.redAdd(c);\n // H = B + A\n var h = b.redAdd(a);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projAdd = function _projAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #addition-add-2008-bbjlp\n // #addition-add-2007-bl\n // 10M + 1S\n\n // A = Z1 * Z2\n var a = this.z.redMul(p.z);\n // B = A^2\n var b = a.redSqr();\n // C = X1 * X2\n var c = this.x.redMul(p.x);\n // D = Y1 * Y2\n var d = this.y.redMul(p.y);\n // E = d * C * D\n var e = this.curve.d.redMul(c).redMul(d);\n // F = B - E\n var f = b.redSub(e);\n // G = B + E\n var g = b.redAdd(e);\n // X3 = A * F * ((X1 + Y1) * (X2 + Y2) - C - D)\n var tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d);\n var nx = a.redMul(f).redMul(tmp);\n var ny;\n var nz;\n if (this.curve.twisted) {\n // Y3 = A * G * (D - a * C)\n ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c)));\n // Z3 = F * G\n nz = f.redMul(g);\n } else {\n // Y3 = A * G * (D - C)\n ny = a.redMul(g).redMul(d.redSub(c));\n // Z3 = c * F * G\n nz = this.curve._mulC(f).redMul(g);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.add = function add(p) {\n if (this.isInfinity())\n return p;\n if (p.isInfinity())\n return this;\n\n if (this.curve.extended)\n return this._extAdd(p);\n else\n return this._projAdd(p);\n};\n\nPoint.prototype.mul = function mul(k) {\n if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, false);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, true);\n};\n\nPoint.prototype.normalize = function normalize() {\n if (this.zOne)\n return this;\n\n // Normalize coordinates\n var zi = this.z.redInvm();\n this.x = this.x.redMul(zi);\n this.y = this.y.redMul(zi);\n if (this.t)\n this.t = this.t.redMul(zi);\n this.z = this.curve.one;\n this.zOne = true;\n return this;\n};\n\nPoint.prototype.neg = function neg() {\n return this.curve.point(this.x.redNeg(),\n this.y,\n this.z,\n this.t && this.t.redNeg());\n};\n\nPoint.prototype.getX = function getX() {\n this.normalize();\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n this.normalize();\n return this.y.fromRed();\n};\n\nPoint.prototype.eq = function eq(other) {\n return this === other ||\n this.getX().cmp(other.getX()) === 0 &&\n this.getY().cmp(other.getY()) === 0;\n};\n\nPoint.prototype.eqXToP = function eqXToP(x) {\n var rx = x.toRed(this.curve.red).redMul(this.z);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(this.z);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\n// Compatibility with BaseCurve\nPoint.prototype.toP = Point.prototype.normalize;\nPoint.prototype.mixedAdd = Point.prototype.add;\n","'use strict';\n\nvar curve = exports;\n\ncurve.base = require('./base');\ncurve.short = require('./short');\ncurve.mont = require('./mont');\ncurve.edwards = require('./edwards');\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nexports.inherits = inherits;\n\nfunction isSurrogatePair(msg, i) {\n if ((msg.charCodeAt(i) & 0xFC00) !== 0xD800) {\n return false;\n }\n if (i < 0 || i + 1 >= msg.length) {\n return false;\n }\n return (msg.charCodeAt(i + 1) & 0xFC00) === 0xDC00;\n}\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg === 'string') {\n if (!enc) {\n // Inspired by stringToUtf8ByteArray() in closure-library by Google\n // https://github.com/google/closure-library/blob/8598d87242af59aac233270742c8984e2b2bdbe0/closure/goog/crypt/crypt.js#L117-L143\n // Apache License 2.0\n // https://github.com/google/closure-library/blob/master/LICENSE\n var p = 0;\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n if (c < 128) {\n res[p++] = c;\n } else if (c < 2048) {\n res[p++] = (c >> 6) | 192;\n res[p++] = (c & 63) | 128;\n } else if (isSurrogatePair(msg, i)) {\n c = 0x10000 + ((c & 0x03FF) << 10) + (msg.charCodeAt(++i) & 0x03FF);\n res[p++] = (c >> 18) | 240;\n res[p++] = ((c >> 12) & 63) | 128;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n } else {\n res[p++] = (c >> 12) | 224;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n }\n }\n } else if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n }\n } else {\n for (i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n }\n return res;\n}\nexports.toArray = toArray;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nexports.toHex = toHex;\n\nfunction htonl(w) {\n var res = (w >>> 24) |\n ((w >>> 8) & 0xff00) |\n ((w << 8) & 0xff0000) |\n ((w & 0xff) << 24);\n return res >>> 0;\n}\nexports.htonl = htonl;\n\nfunction toHex32(msg, endian) {\n var res = '';\n for (var i = 0; i < msg.length; i++) {\n var w = msg[i];\n if (endian === 'little')\n w = htonl(w);\n res += zero8(w.toString(16));\n }\n return res;\n}\nexports.toHex32 = toHex32;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nexports.zero2 = zero2;\n\nfunction zero8(word) {\n if (word.length === 7)\n return '0' + word;\n else if (word.length === 6)\n return '00' + word;\n else if (word.length === 5)\n return '000' + word;\n else if (word.length === 4)\n return '0000' + word;\n else if (word.length === 3)\n return '00000' + word;\n else if (word.length === 2)\n return '000000' + word;\n else if (word.length === 1)\n return '0000000' + word;\n else\n return word;\n}\nexports.zero8 = zero8;\n\nfunction join32(msg, start, end, endian) {\n var len = end - start;\n assert(len % 4 === 0);\n var res = new Array(len / 4);\n for (var i = 0, k = start; i < res.length; i++, k += 4) {\n var w;\n if (endian === 'big')\n w = (msg[k] << 24) | (msg[k + 1] << 16) | (msg[k + 2] << 8) | msg[k + 3];\n else\n w = (msg[k + 3] << 24) | (msg[k + 2] << 16) | (msg[k + 1] << 8) | msg[k];\n res[i] = w >>> 0;\n }\n return res;\n}\nexports.join32 = join32;\n\nfunction split32(msg, endian) {\n var res = new Array(msg.length * 4);\n for (var i = 0, k = 0; i < msg.length; i++, k += 4) {\n var m = msg[i];\n if (endian === 'big') {\n res[k] = m >>> 24;\n res[k + 1] = (m >>> 16) & 0xff;\n res[k + 2] = (m >>> 8) & 0xff;\n res[k + 3] = m & 0xff;\n } else {\n res[k + 3] = m >>> 24;\n res[k + 2] = (m >>> 16) & 0xff;\n res[k + 1] = (m >>> 8) & 0xff;\n res[k] = m & 0xff;\n }\n }\n return res;\n}\nexports.split32 = split32;\n\nfunction rotr32(w, b) {\n return (w >>> b) | (w << (32 - b));\n}\nexports.rotr32 = rotr32;\n\nfunction rotl32(w, b) {\n return (w << b) | (w >>> (32 - b));\n}\nexports.rotl32 = rotl32;\n\nfunction sum32(a, b) {\n return (a + b) >>> 0;\n}\nexports.sum32 = sum32;\n\nfunction sum32_3(a, b, c) {\n return (a + b + c) >>> 0;\n}\nexports.sum32_3 = sum32_3;\n\nfunction sum32_4(a, b, c, d) {\n return (a + b + c + d) >>> 0;\n}\nexports.sum32_4 = sum32_4;\n\nfunction sum32_5(a, b, c, d, e) {\n return (a + b + c + d + e) >>> 0;\n}\nexports.sum32_5 = sum32_5;\n\nfunction sum64(buf, pos, ah, al) {\n var bh = buf[pos];\n var bl = buf[pos + 1];\n\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n buf[pos] = hi >>> 0;\n buf[pos + 1] = lo;\n}\nexports.sum64 = sum64;\n\nfunction sum64_hi(ah, al, bh, bl) {\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n return hi >>> 0;\n}\nexports.sum64_hi = sum64_hi;\n\nfunction sum64_lo(ah, al, bh, bl) {\n var lo = al + bl;\n return lo >>> 0;\n}\nexports.sum64_lo = sum64_lo;\n\nfunction sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n\n var hi = ah + bh + ch + dh + carry;\n return hi >>> 0;\n}\nexports.sum64_4_hi = sum64_4_hi;\n\nfunction sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {\n var lo = al + bl + cl + dl;\n return lo >>> 0;\n}\nexports.sum64_4_lo = sum64_4_lo;\n\nfunction sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n lo = (lo + el) >>> 0;\n carry += lo < el ? 1 : 0;\n\n var hi = ah + bh + ch + dh + eh + carry;\n return hi >>> 0;\n}\nexports.sum64_5_hi = sum64_5_hi;\n\nfunction sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var lo = al + bl + cl + dl + el;\n\n return lo >>> 0;\n}\nexports.sum64_5_lo = sum64_5_lo;\n\nfunction rotr64_hi(ah, al, num) {\n var r = (al << (32 - num)) | (ah >>> num);\n return r >>> 0;\n}\nexports.rotr64_hi = rotr64_hi;\n\nfunction rotr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.rotr64_lo = rotr64_lo;\n\nfunction shr64_hi(ah, al, num) {\n return ah >>> num;\n}\nexports.shr64_hi = shr64_hi;\n\nfunction shr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.shr64_lo = shr64_lo;\n","'use strict';\n\nvar utils = require('./utils');\nvar assert = require('minimalistic-assert');\n\nfunction BlockHash() {\n this.pending = null;\n this.pendingTotal = 0;\n this.blockSize = this.constructor.blockSize;\n this.outSize = this.constructor.outSize;\n this.hmacStrength = this.constructor.hmacStrength;\n this.padLength = this.constructor.padLength / 8;\n this.endian = 'big';\n\n this._delta8 = this.blockSize / 8;\n this._delta32 = this.blockSize / 32;\n}\nexports.BlockHash = BlockHash;\n\nBlockHash.prototype.update = function update(msg, enc) {\n // Convert message to array, pad it, and join into 32bit blocks\n msg = utils.toArray(msg, enc);\n if (!this.pending)\n this.pending = msg;\n else\n this.pending = this.pending.concat(msg);\n this.pendingTotal += msg.length;\n\n // Enough data, try updating\n if (this.pending.length >= this._delta8) {\n msg = this.pending;\n\n // Process pending data in blocks\n var r = msg.length % this._delta8;\n this.pending = msg.slice(msg.length - r, msg.length);\n if (this.pending.length === 0)\n this.pending = null;\n\n msg = utils.join32(msg, 0, msg.length - r, this.endian);\n for (var i = 0; i < msg.length; i += this._delta32)\n this._update(msg, i, i + this._delta32);\n }\n\n return this;\n};\n\nBlockHash.prototype.digest = function digest(enc) {\n this.update(this._pad());\n assert(this.pending === null);\n\n return this._digest(enc);\n};\n\nBlockHash.prototype._pad = function pad() {\n var len = this.pendingTotal;\n var bytes = this._delta8;\n var k = bytes - ((len + this.padLength) % bytes);\n var res = new Array(k + this.padLength);\n res[0] = 0x80;\n for (var i = 1; i < k; i++)\n res[i] = 0;\n\n // Append length\n len <<= 3;\n if (this.endian === 'big') {\n for (var t = 8; t < this.padLength; t++)\n res[i++] = 0;\n\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = len & 0xff;\n } else {\n res[i++] = len & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n\n for (t = 8; t < this.padLength; t++)\n res[i++] = 0;\n }\n\n return res;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar rotr32 = utils.rotr32;\n\nfunction ft_1(s, x, y, z) {\n if (s === 0)\n return ch32(x, y, z);\n if (s === 1 || s === 3)\n return p32(x, y, z);\n if (s === 2)\n return maj32(x, y, z);\n}\nexports.ft_1 = ft_1;\n\nfunction ch32(x, y, z) {\n return (x & y) ^ ((~x) & z);\n}\nexports.ch32 = ch32;\n\nfunction maj32(x, y, z) {\n return (x & y) ^ (x & z) ^ (y & z);\n}\nexports.maj32 = maj32;\n\nfunction p32(x, y, z) {\n return x ^ y ^ z;\n}\nexports.p32 = p32;\n\nfunction s0_256(x) {\n return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22);\n}\nexports.s0_256 = s0_256;\n\nfunction s1_256(x) {\n return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25);\n}\nexports.s1_256 = s1_256;\n\nfunction g0_256(x) {\n return rotr32(x, 7) ^ rotr32(x, 18) ^ (x >>> 3);\n}\nexports.g0_256 = g0_256;\n\nfunction g1_256(x) {\n return rotr32(x, 17) ^ rotr32(x, 19) ^ (x >>> 10);\n}\nexports.g1_256 = g1_256;\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_5 = utils.sum32_5;\nvar ft_1 = shaCommon.ft_1;\nvar BlockHash = common.BlockHash;\n\nvar sha1_K = [\n 0x5A827999, 0x6ED9EBA1,\n 0x8F1BBCDC, 0xCA62C1D6\n];\n\nfunction SHA1() {\n if (!(this instanceof SHA1))\n return new SHA1();\n\n BlockHash.call(this);\n this.h = [\n 0x67452301, 0xefcdab89, 0x98badcfe,\n 0x10325476, 0xc3d2e1f0 ];\n this.W = new Array(80);\n}\n\nutils.inherits(SHA1, BlockHash);\nmodule.exports = SHA1;\n\nSHA1.blockSize = 512;\nSHA1.outSize = 160;\nSHA1.hmacStrength = 80;\nSHA1.padLength = 64;\n\nSHA1.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n\n for(; i < W.length; i++)\n W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n\n for (i = 0; i < W.length; i++) {\n var s = ~~(i / 20);\n var t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]);\n e = d;\n d = c;\n c = rotl32(b, 30);\n b = a;\n a = t;\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n};\n\nSHA1.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\nvar assert = require('minimalistic-assert');\n\nvar sum32 = utils.sum32;\nvar sum32_4 = utils.sum32_4;\nvar sum32_5 = utils.sum32_5;\nvar ch32 = shaCommon.ch32;\nvar maj32 = shaCommon.maj32;\nvar s0_256 = shaCommon.s0_256;\nvar s1_256 = shaCommon.s1_256;\nvar g0_256 = shaCommon.g0_256;\nvar g1_256 = shaCommon.g1_256;\n\nvar BlockHash = common.BlockHash;\n\nvar sha256_K = [\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,\n 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,\n 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,\n 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,\n 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n];\n\nfunction SHA256() {\n if (!(this instanceof SHA256))\n return new SHA256();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,\n 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n ];\n this.k = sha256_K;\n this.W = new Array(64);\n}\nutils.inherits(SHA256, BlockHash);\nmodule.exports = SHA256;\n\nSHA256.blockSize = 512;\nSHA256.outSize = 256;\nSHA256.hmacStrength = 192;\nSHA256.padLength = 64;\n\nSHA256.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i++)\n W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n var f = this.h[5];\n var g = this.h[6];\n var h = this.h[7];\n\n assert(this.k.length === W.length);\n for (i = 0; i < W.length; i++) {\n var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]);\n var T2 = sum32(s0_256(a), maj32(a, b, c));\n h = g;\n g = f;\n f = e;\n e = sum32(d, T1);\n d = c;\n c = b;\n b = a;\n a = sum32(T1, T2);\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n this.h[5] = sum32(this.h[5], f);\n this.h[6] = sum32(this.h[6], g);\n this.h[7] = sum32(this.h[7], h);\n};\n\nSHA256.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar SHA256 = require('./256');\n\nfunction SHA224() {\n if (!(this instanceof SHA224))\n return new SHA224();\n\n SHA256.call(this);\n this.h = [\n 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,\n 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 ];\n}\nutils.inherits(SHA224, SHA256);\nmodule.exports = SHA224;\n\nSHA224.blockSize = 512;\nSHA224.outSize = 224;\nSHA224.hmacStrength = 192;\nSHA224.padLength = 64;\n\nSHA224.prototype._digest = function digest(enc) {\n // Just truncate output\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 7), 'big');\n else\n return utils.split32(this.h.slice(0, 7), 'big');\n};\n\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar assert = require('minimalistic-assert');\n\nvar rotr64_hi = utils.rotr64_hi;\nvar rotr64_lo = utils.rotr64_lo;\nvar shr64_hi = utils.shr64_hi;\nvar shr64_lo = utils.shr64_lo;\nvar sum64 = utils.sum64;\nvar sum64_hi = utils.sum64_hi;\nvar sum64_lo = utils.sum64_lo;\nvar sum64_4_hi = utils.sum64_4_hi;\nvar sum64_4_lo = utils.sum64_4_lo;\nvar sum64_5_hi = utils.sum64_5_hi;\nvar sum64_5_lo = utils.sum64_5_lo;\n\nvar BlockHash = common.BlockHash;\n\nvar sha512_K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n];\n\nfunction SHA512() {\n if (!(this instanceof SHA512))\n return new SHA512();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xf3bcc908,\n 0xbb67ae85, 0x84caa73b,\n 0x3c6ef372, 0xfe94f82b,\n 0xa54ff53a, 0x5f1d36f1,\n 0x510e527f, 0xade682d1,\n 0x9b05688c, 0x2b3e6c1f,\n 0x1f83d9ab, 0xfb41bd6b,\n 0x5be0cd19, 0x137e2179 ];\n this.k = sha512_K;\n this.W = new Array(160);\n}\nutils.inherits(SHA512, BlockHash);\nmodule.exports = SHA512;\n\nSHA512.blockSize = 1024;\nSHA512.outSize = 512;\nSHA512.hmacStrength = 192;\nSHA512.padLength = 128;\n\nSHA512.prototype._prepareBlock = function _prepareBlock(msg, start) {\n var W = this.W;\n\n // 32 x 32bit words\n for (var i = 0; i < 32; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i += 2) {\n var c0_hi = g1_512_hi(W[i - 4], W[i - 3]); // i - 2\n var c0_lo = g1_512_lo(W[i - 4], W[i - 3]);\n var c1_hi = W[i - 14]; // i - 7\n var c1_lo = W[i - 13];\n var c2_hi = g0_512_hi(W[i - 30], W[i - 29]); // i - 15\n var c2_lo = g0_512_lo(W[i - 30], W[i - 29]);\n var c3_hi = W[i - 32]; // i - 16\n var c3_lo = W[i - 31];\n\n W[i] = sum64_4_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n W[i + 1] = sum64_4_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n }\n};\n\nSHA512.prototype._update = function _update(msg, start) {\n this._prepareBlock(msg, start);\n\n var W = this.W;\n\n var ah = this.h[0];\n var al = this.h[1];\n var bh = this.h[2];\n var bl = this.h[3];\n var ch = this.h[4];\n var cl = this.h[5];\n var dh = this.h[6];\n var dl = this.h[7];\n var eh = this.h[8];\n var el = this.h[9];\n var fh = this.h[10];\n var fl = this.h[11];\n var gh = this.h[12];\n var gl = this.h[13];\n var hh = this.h[14];\n var hl = this.h[15];\n\n assert(this.k.length === W.length);\n for (var i = 0; i < W.length; i += 2) {\n var c0_hi = hh;\n var c0_lo = hl;\n var c1_hi = s1_512_hi(eh, el);\n var c1_lo = s1_512_lo(eh, el);\n var c2_hi = ch64_hi(eh, el, fh, fl, gh, gl);\n var c2_lo = ch64_lo(eh, el, fh, fl, gh, gl);\n var c3_hi = this.k[i];\n var c3_lo = this.k[i + 1];\n var c4_hi = W[i];\n var c4_lo = W[i + 1];\n\n var T1_hi = sum64_5_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n var T1_lo = sum64_5_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n\n c0_hi = s0_512_hi(ah, al);\n c0_lo = s0_512_lo(ah, al);\n c1_hi = maj64_hi(ah, al, bh, bl, ch, cl);\n c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);\n\n var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo);\n var T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);\n\n hh = gh;\n hl = gl;\n\n gh = fh;\n gl = fl;\n\n fh = eh;\n fl = el;\n\n eh = sum64_hi(dh, dl, T1_hi, T1_lo);\n el = sum64_lo(dl, dl, T1_hi, T1_lo);\n\n dh = ch;\n dl = cl;\n\n ch = bh;\n cl = bl;\n\n bh = ah;\n bl = al;\n\n ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo);\n al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);\n }\n\n sum64(this.h, 0, ah, al);\n sum64(this.h, 2, bh, bl);\n sum64(this.h, 4, ch, cl);\n sum64(this.h, 6, dh, dl);\n sum64(this.h, 8, eh, el);\n sum64(this.h, 10, fh, fl);\n sum64(this.h, 12, gh, gl);\n sum64(this.h, 14, hh, hl);\n};\n\nSHA512.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n\nfunction ch64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ ((~xh) & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction ch64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ ((~xl) & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ (xh & zh) ^ (yh & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ (xl & zl) ^ (yl & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 28);\n var c1_hi = rotr64_hi(xl, xh, 2); // 34\n var c2_hi = rotr64_hi(xl, xh, 7); // 39\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 28);\n var c1_lo = rotr64_lo(xl, xh, 2); // 34\n var c2_lo = rotr64_lo(xl, xh, 7); // 39\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 14);\n var c1_hi = rotr64_hi(xh, xl, 18);\n var c2_hi = rotr64_hi(xl, xh, 9); // 41\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 14);\n var c1_lo = rotr64_lo(xh, xl, 18);\n var c2_lo = rotr64_lo(xl, xh, 9); // 41\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 1);\n var c1_hi = rotr64_hi(xh, xl, 8);\n var c2_hi = shr64_hi(xh, xl, 7);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 1);\n var c1_lo = rotr64_lo(xh, xl, 8);\n var c2_lo = shr64_lo(xh, xl, 7);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 19);\n var c1_hi = rotr64_hi(xl, xh, 29); // 61\n var c2_hi = shr64_hi(xh, xl, 6);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 19);\n var c1_lo = rotr64_lo(xl, xh, 29); // 61\n var c2_lo = shr64_lo(xh, xl, 6);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n","'use strict';\n\nvar utils = require('../utils');\n\nvar SHA512 = require('./512');\n\nfunction SHA384() {\n if (!(this instanceof SHA384))\n return new SHA384();\n\n SHA512.call(this);\n this.h = [\n 0xcbbb9d5d, 0xc1059ed8,\n 0x629a292a, 0x367cd507,\n 0x9159015a, 0x3070dd17,\n 0x152fecd8, 0xf70e5939,\n 0x67332667, 0xffc00b31,\n 0x8eb44a87, 0x68581511,\n 0xdb0c2e0d, 0x64f98fa7,\n 0x47b5481d, 0xbefa4fa4 ];\n}\nutils.inherits(SHA384, SHA512);\nmodule.exports = SHA384;\n\nSHA384.blockSize = 1024;\nSHA384.outSize = 384;\nSHA384.hmacStrength = 192;\nSHA384.padLength = 128;\n\nSHA384.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 12), 'big');\n else\n return utils.split32(this.h.slice(0, 12), 'big');\n};\n","'use strict';\n\nexports.sha1 = require('./sha/1');\nexports.sha224 = require('./sha/224');\nexports.sha256 = require('./sha/256');\nexports.sha384 = require('./sha/384');\nexports.sha512 = require('./sha/512');\n","'use strict';\n\nvar utils = require('./utils');\nvar common = require('./common');\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_3 = utils.sum32_3;\nvar sum32_4 = utils.sum32_4;\nvar BlockHash = common.BlockHash;\n\nfunction RIPEMD160() {\n if (!(this instanceof RIPEMD160))\n return new RIPEMD160();\n\n BlockHash.call(this);\n\n this.h = [ 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0 ];\n this.endian = 'little';\n}\nutils.inherits(RIPEMD160, BlockHash);\nexports.ripemd160 = RIPEMD160;\n\nRIPEMD160.blockSize = 512;\nRIPEMD160.outSize = 160;\nRIPEMD160.hmacStrength = 192;\nRIPEMD160.padLength = 64;\n\nRIPEMD160.prototype._update = function update(msg, start) {\n var A = this.h[0];\n var B = this.h[1];\n var C = this.h[2];\n var D = this.h[3];\n var E = this.h[4];\n var Ah = A;\n var Bh = B;\n var Ch = C;\n var Dh = D;\n var Eh = E;\n for (var j = 0; j < 80; j++) {\n var T = sum32(\n rotl32(\n sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)),\n s[j]),\n E);\n A = E;\n E = D;\n D = rotl32(C, 10);\n C = B;\n B = T;\n T = sum32(\n rotl32(\n sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)),\n sh[j]),\n Eh);\n Ah = Eh;\n Eh = Dh;\n Dh = rotl32(Ch, 10);\n Ch = Bh;\n Bh = T;\n }\n T = sum32_3(this.h[1], C, Dh);\n this.h[1] = sum32_3(this.h[2], D, Eh);\n this.h[2] = sum32_3(this.h[3], E, Ah);\n this.h[3] = sum32_3(this.h[4], A, Bh);\n this.h[4] = sum32_3(this.h[0], B, Ch);\n this.h[0] = T;\n};\n\nRIPEMD160.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'little');\n else\n return utils.split32(this.h, 'little');\n};\n\nfunction f(j, x, y, z) {\n if (j <= 15)\n return x ^ y ^ z;\n else if (j <= 31)\n return (x & y) | ((~x) & z);\n else if (j <= 47)\n return (x | (~y)) ^ z;\n else if (j <= 63)\n return (x & z) | (y & (~z));\n else\n return x ^ (y | (~z));\n}\n\nfunction K(j) {\n if (j <= 15)\n return 0x00000000;\n else if (j <= 31)\n return 0x5a827999;\n else if (j <= 47)\n return 0x6ed9eba1;\n else if (j <= 63)\n return 0x8f1bbcdc;\n else\n return 0xa953fd4e;\n}\n\nfunction Kh(j) {\n if (j <= 15)\n return 0x50a28be6;\n else if (j <= 31)\n return 0x5c4dd124;\n else if (j <= 47)\n return 0x6d703ef3;\n else if (j <= 63)\n return 0x7a6d76e9;\n else\n return 0x00000000;\n}\n\nvar r = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n];\n\nvar rh = [\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n];\n\nvar s = [\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n];\n\nvar sh = [\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n];\n","'use strict';\n\nvar utils = require('./utils');\nvar assert = require('minimalistic-assert');\n\nfunction Hmac(hash, key, enc) {\n if (!(this instanceof Hmac))\n return new Hmac(hash, key, enc);\n this.Hash = hash;\n this.blockSize = hash.blockSize / 8;\n this.outSize = hash.outSize / 8;\n this.inner = null;\n this.outer = null;\n\n this._init(utils.toArray(key, enc));\n}\nmodule.exports = Hmac;\n\nHmac.prototype._init = function init(key) {\n // Shorten key, if needed\n if (key.length > this.blockSize)\n key = new this.Hash().update(key).digest();\n assert(key.length <= this.blockSize);\n\n // Add padding to key\n for (var i = key.length; i < this.blockSize; i++)\n key.push(0);\n\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x36;\n this.inner = new this.Hash().update(key);\n\n // 0x36 ^ 0x5c = 0x6a\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x6a;\n this.outer = new this.Hash().update(key);\n};\n\nHmac.prototype.update = function update(msg, enc) {\n this.inner.update(msg, enc);\n return this;\n};\n\nHmac.prototype.digest = function digest(enc) {\n this.outer.update(this.inner.digest());\n return this.outer.digest(enc);\n};\n","var hash = exports;\n\nhash.utils = require('./hash/utils');\nhash.common = require('./hash/common');\nhash.sha = require('./hash/sha');\nhash.ripemd = require('./hash/ripemd');\nhash.hmac = require('./hash/hmac');\n\n// Proxy hash functions to the main object\nhash.sha1 = hash.sha.sha1;\nhash.sha256 = hash.sha.sha256;\nhash.sha224 = hash.sha.sha224;\nhash.sha384 = hash.sha.sha384;\nhash.sha512 = hash.sha.sha512;\nhash.ripemd160 = hash.ripemd.ripemd160;\n","module.exports = {\n doubles: {\n step: 4,\n points: [\n [\n 'e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a',\n 'f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821',\n ],\n [\n '8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508',\n '11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf',\n ],\n [\n '175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739',\n 'd3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695',\n ],\n [\n '363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640',\n '4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9',\n ],\n [\n '8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c',\n '4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36',\n ],\n [\n '723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda',\n '96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f',\n ],\n [\n 'eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa',\n '5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999',\n ],\n [\n '100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0',\n 'cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09',\n ],\n [\n 'e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d',\n '9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d',\n ],\n [\n 'feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d',\n 'e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088',\n ],\n [\n 'da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1',\n '9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d',\n ],\n [\n '53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0',\n '5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8',\n ],\n [\n '8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047',\n '10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a',\n ],\n [\n '385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862',\n '283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453',\n ],\n [\n '6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7',\n '7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160',\n ],\n [\n '3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd',\n '56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0',\n ],\n [\n '85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83',\n '7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6',\n ],\n [\n '948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a',\n '53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589',\n ],\n [\n '6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8',\n 'bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17',\n ],\n [\n 'e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d',\n '4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda',\n ],\n [\n 'e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725',\n '7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd',\n ],\n [\n '213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754',\n '4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2',\n ],\n [\n '4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c',\n '17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6',\n ],\n [\n 'fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6',\n '6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f',\n ],\n [\n '76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39',\n 'c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01',\n ],\n [\n 'c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891',\n '893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3',\n ],\n [\n 'd895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b',\n 'febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f',\n ],\n [\n 'b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03',\n '2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7',\n ],\n [\n 'e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d',\n 'eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78',\n ],\n [\n 'a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070',\n '7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1',\n ],\n [\n '90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4',\n 'e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150',\n ],\n [\n '8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da',\n '662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82',\n ],\n [\n 'e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11',\n '1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc',\n ],\n [\n '8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e',\n 'efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b',\n ],\n [\n 'e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41',\n '2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51',\n ],\n [\n 'b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef',\n '67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45',\n ],\n [\n 'd68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8',\n 'db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120',\n ],\n [\n '324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d',\n '648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84',\n ],\n [\n '4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96',\n '35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d',\n ],\n [\n '9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd',\n 'ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d',\n ],\n [\n '6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5',\n '9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8',\n ],\n [\n 'a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266',\n '40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8',\n ],\n [\n '7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71',\n '34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac',\n ],\n [\n '928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac',\n 'c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f',\n ],\n [\n '85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751',\n '1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962',\n ],\n [\n 'ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e',\n '493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907',\n ],\n [\n '827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241',\n 'c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec',\n ],\n [\n 'eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3',\n 'be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d',\n ],\n [\n 'e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f',\n '4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414',\n ],\n [\n '1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19',\n 'aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd',\n ],\n [\n '146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be',\n 'b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0',\n ],\n [\n 'fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9',\n '6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811',\n ],\n [\n 'da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2',\n '8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1',\n ],\n [\n 'a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13',\n '7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c',\n ],\n [\n '174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c',\n 'ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73',\n ],\n [\n '959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba',\n '2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd',\n ],\n [\n 'd2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151',\n 'e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405',\n ],\n [\n '64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073',\n 'd99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589',\n ],\n [\n '8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458',\n '38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e',\n ],\n [\n '13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b',\n '69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27',\n ],\n [\n 'bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366',\n 'd3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1',\n ],\n [\n '8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa',\n '40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482',\n ],\n [\n '8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0',\n '620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945',\n ],\n [\n 'dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787',\n '7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573',\n ],\n [\n 'f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e',\n 'ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82',\n ],\n ],\n },\n naf: {\n wnd: 7,\n points: [\n [\n 'f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9',\n '388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672',\n ],\n [\n '2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4',\n 'd8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6',\n ],\n [\n '5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc',\n '6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da',\n ],\n [\n 'acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe',\n 'cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37',\n ],\n [\n '774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb',\n 'd984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b',\n ],\n [\n 'f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8',\n 'ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81',\n ],\n [\n 'd7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e',\n '581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58',\n ],\n [\n 'defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34',\n '4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77',\n ],\n [\n '2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c',\n '85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a',\n ],\n [\n '352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5',\n '321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c',\n ],\n [\n '2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f',\n '2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67',\n ],\n [\n '9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714',\n '73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402',\n ],\n [\n 'daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729',\n 'a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55',\n ],\n [\n 'c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db',\n '2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482',\n ],\n [\n '6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4',\n 'e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82',\n ],\n [\n '1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5',\n 'b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396',\n ],\n [\n '605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479',\n '2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49',\n ],\n [\n '62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d',\n '80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf',\n ],\n [\n '80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f',\n '1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a',\n ],\n [\n '7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb',\n 'd0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7',\n ],\n [\n 'd528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9',\n 'eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933',\n ],\n [\n '49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963',\n '758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a',\n ],\n [\n '77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74',\n '958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6',\n ],\n [\n 'f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530',\n 'e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37',\n ],\n [\n '463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b',\n '5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e',\n ],\n [\n 'f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247',\n 'cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6',\n ],\n [\n 'caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1',\n 'cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476',\n ],\n [\n '2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120',\n '4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40',\n ],\n [\n '7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435',\n '91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61',\n ],\n [\n '754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18',\n '673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683',\n ],\n [\n 'e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8',\n '59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5',\n ],\n [\n '186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb',\n '3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b',\n ],\n [\n 'df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f',\n '55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417',\n ],\n [\n '5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143',\n 'efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868',\n ],\n [\n '290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba',\n 'e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a',\n ],\n [\n 'af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45',\n 'f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6',\n ],\n [\n '766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a',\n '744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996',\n ],\n [\n '59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e',\n 'c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e',\n ],\n [\n 'f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8',\n 'e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d',\n ],\n [\n '7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c',\n '30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2',\n ],\n [\n '948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519',\n 'e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e',\n ],\n [\n '7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab',\n '100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437',\n ],\n [\n '3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca',\n 'ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311',\n ],\n [\n 'd3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf',\n '8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4',\n ],\n [\n '1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610',\n '68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575',\n ],\n [\n '733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4',\n 'f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d',\n ],\n [\n '15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c',\n 'd56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d',\n ],\n [\n 'a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940',\n 'edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629',\n ],\n [\n 'e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980',\n 'a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06',\n ],\n [\n '311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3',\n '66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374',\n ],\n [\n '34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf',\n '9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee',\n ],\n [\n 'f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63',\n '4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1',\n ],\n [\n 'd7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448',\n 'fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b',\n ],\n [\n '32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf',\n '5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661',\n ],\n [\n '7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5',\n '8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6',\n ],\n [\n 'ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6',\n '8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e',\n ],\n [\n '16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5',\n '5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d',\n ],\n [\n 'eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99',\n 'f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc',\n ],\n [\n '78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51',\n 'f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4',\n ],\n [\n '494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5',\n '42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c',\n ],\n [\n 'a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5',\n '204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b',\n ],\n [\n 'c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997',\n '4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913',\n ],\n [\n '841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881',\n '73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154',\n ],\n [\n '5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5',\n '39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865',\n ],\n [\n '36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66',\n 'd2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc',\n ],\n [\n '336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726',\n 'ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224',\n ],\n [\n '8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede',\n '6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e',\n ],\n [\n '1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94',\n '60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6',\n ],\n [\n '85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31',\n '3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511',\n ],\n [\n '29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51',\n 'b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b',\n ],\n [\n 'a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252',\n 'ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2',\n ],\n [\n '4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5',\n 'cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c',\n ],\n [\n 'd24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b',\n '6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3',\n ],\n [\n 'ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4',\n '322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d',\n ],\n [\n 'af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f',\n '6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700',\n ],\n [\n 'e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889',\n '2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4',\n ],\n [\n '591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246',\n 'b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196',\n ],\n [\n '11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984',\n '998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4',\n ],\n [\n '3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a',\n 'b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257',\n ],\n [\n 'cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030',\n 'bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13',\n ],\n [\n 'c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197',\n '6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096',\n ],\n [\n 'c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593',\n 'c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38',\n ],\n [\n 'a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef',\n '21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f',\n ],\n [\n '347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38',\n '60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448',\n ],\n [\n 'da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a',\n '49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a',\n ],\n [\n 'c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111',\n '5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4',\n ],\n [\n '4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502',\n '7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437',\n ],\n [\n '3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea',\n 'be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7',\n ],\n [\n 'cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26',\n '8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d',\n ],\n [\n 'b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986',\n '39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a',\n ],\n [\n 'd4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e',\n '62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54',\n ],\n [\n '48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4',\n '25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77',\n ],\n [\n 'dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda',\n 'ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517',\n ],\n [\n '6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859',\n 'cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10',\n ],\n [\n 'e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f',\n 'f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125',\n ],\n [\n 'eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c',\n '6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e',\n ],\n [\n '13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942',\n 'fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1',\n ],\n [\n 'ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a',\n '1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2',\n ],\n [\n 'b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80',\n '5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423',\n ],\n [\n 'ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d',\n '438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8',\n ],\n [\n '8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1',\n 'cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758',\n ],\n [\n '52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63',\n 'c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375',\n ],\n [\n 'e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352',\n '6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d',\n ],\n [\n '7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193',\n 'ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec',\n ],\n [\n '5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00',\n '9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0',\n ],\n [\n '32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58',\n 'ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c',\n ],\n [\n 'e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7',\n 'd3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4',\n ],\n [\n '8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8',\n 'c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f',\n ],\n [\n '4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e',\n '67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649',\n ],\n [\n '3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d',\n 'cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826',\n ],\n [\n '674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b',\n '299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5',\n ],\n [\n 'd32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f',\n 'f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87',\n ],\n [\n '30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6',\n '462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b',\n ],\n [\n 'be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297',\n '62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc',\n ],\n [\n '93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a',\n '7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c',\n ],\n [\n 'b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c',\n 'ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f',\n ],\n [\n 'd5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52',\n '4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a',\n ],\n [\n 'd3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb',\n 'bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46',\n ],\n [\n '463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065',\n 'bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f',\n ],\n [\n '7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917',\n '603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03',\n ],\n [\n '74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9',\n 'cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08',\n ],\n [\n '30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3',\n '553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8',\n ],\n [\n '9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57',\n '712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373',\n ],\n [\n '176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66',\n 'ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3',\n ],\n [\n '75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8',\n '9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8',\n ],\n [\n '809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721',\n '9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1',\n ],\n [\n '1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180',\n '4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9',\n ],\n ],\n },\n};\n","'use strict';\n\nvar curves = exports;\n\nvar hash = require('hash.js');\nvar curve = require('./curve');\nvar utils = require('./utils');\n\nvar assert = utils.assert;\n\nfunction PresetCurve(options) {\n if (options.type === 'short')\n this.curve = new curve.short(options);\n else if (options.type === 'edwards')\n this.curve = new curve.edwards(options);\n else\n this.curve = new curve.mont(options);\n this.g = this.curve.g;\n this.n = this.curve.n;\n this.hash = options.hash;\n\n assert(this.g.validate(), 'Invalid curve');\n assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O');\n}\ncurves.PresetCurve = PresetCurve;\n\nfunction defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n get: function() {\n var curve = new PresetCurve(options);\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n value: curve,\n });\n return curve;\n },\n });\n}\n\ndefineCurve('p192', {\n type: 'short',\n prime: 'p192',\n p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc',\n b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1',\n n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831',\n hash: hash.sha256,\n gRed: false,\n g: [\n '188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012',\n '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811',\n ],\n});\n\ndefineCurve('p224', {\n type: 'short',\n prime: 'p224',\n p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe',\n b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4',\n n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d',\n hash: hash.sha256,\n gRed: false,\n g: [\n 'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21',\n 'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34',\n ],\n});\n\ndefineCurve('p256', {\n type: 'short',\n prime: null,\n p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff',\n a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc',\n b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b',\n n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551',\n hash: hash.sha256,\n gRed: false,\n g: [\n '6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296',\n '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5',\n ],\n});\n\ndefineCurve('p384', {\n type: 'short',\n prime: null,\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 ffffffff',\n a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 fffffffc',\n b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' +\n '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef',\n n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' +\n 'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973',\n hash: hash.sha384,\n gRed: false,\n g: [\n 'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' +\n '5502f25d bf55296c 3a545e38 72760ab7',\n '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' +\n '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f',\n ],\n});\n\ndefineCurve('p521', {\n type: 'short',\n prime: null,\n p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff',\n a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff fffffffc',\n b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' +\n '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' +\n '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00',\n n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' +\n 'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409',\n hash: hash.sha512,\n gRed: false,\n g: [\n '000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' +\n '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' +\n 'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66',\n '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' +\n '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' +\n '3fad0761 353c7086 a272c240 88be9476 9fd16650',\n ],\n});\n\ndefineCurve('curve25519', {\n type: 'mont',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '76d06',\n b: '1',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '9',\n ],\n});\n\ndefineCurve('ed25519', {\n type: 'edwards',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '-1',\n c: '1',\n // -121665 * (121666^(-1)) (mod P)\n d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a',\n\n // 4/5\n '6666666666666666666666666666666666666666666666666666666666666658',\n ],\n});\n\nvar pre;\ntry {\n pre = require('./precomputed/secp256k1');\n} catch (e) {\n pre = undefined;\n}\n\ndefineCurve('secp256k1', {\n type: 'short',\n prime: 'k256',\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f',\n a: '0',\n b: '7',\n n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141',\n h: '1',\n hash: hash.sha256,\n\n // Precomputed endomorphism\n beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee',\n lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72',\n basis: [\n {\n a: '3086d221a7d46bcde86c90e49284eb15',\n b: '-e4437ed6010e88286f547fa90abfe4c3',\n },\n {\n a: '114ca50f7a8e2f3f657c1108d9d44cfd8',\n b: '3086d221a7d46bcde86c90e49284eb15',\n },\n ],\n\n gRed: false,\n g: [\n '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',\n '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',\n pre,\n ],\n});\n","'use strict';\n\nvar hash = require('hash.js');\nvar utils = require('minimalistic-crypto-utils');\nvar assert = require('minimalistic-assert');\n\nfunction HmacDRBG(options) {\n if (!(this instanceof HmacDRBG))\n return new HmacDRBG(options);\n this.hash = options.hash;\n this.predResist = !!options.predResist;\n\n this.outLen = this.hash.outSize;\n this.minEntropy = options.minEntropy || this.hash.hmacStrength;\n\n this._reseed = null;\n this.reseedInterval = null;\n this.K = null;\n this.V = null;\n\n var entropy = utils.toArray(options.entropy, options.entropyEnc || 'hex');\n var nonce = utils.toArray(options.nonce, options.nonceEnc || 'hex');\n var pers = utils.toArray(options.pers, options.persEnc || 'hex');\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n this._init(entropy, nonce, pers);\n}\nmodule.exports = HmacDRBG;\n\nHmacDRBG.prototype._init = function init(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n\n this.K = new Array(this.outLen / 8);\n this.V = new Array(this.outLen / 8);\n for (var i = 0; i < this.V.length; i++) {\n this.K[i] = 0x00;\n this.V[i] = 0x01;\n }\n\n this._update(seed);\n this._reseed = 1;\n this.reseedInterval = 0x1000000000000; // 2^48\n};\n\nHmacDRBG.prototype._hmac = function hmac() {\n return new hash.hmac(this.hash, this.K);\n};\n\nHmacDRBG.prototype._update = function update(seed) {\n var kmac = this._hmac()\n .update(this.V)\n .update([ 0x00 ]);\n if (seed)\n kmac = kmac.update(seed);\n this.K = kmac.digest();\n this.V = this._hmac().update(this.V).digest();\n if (!seed)\n return;\n\n this.K = this._hmac()\n .update(this.V)\n .update([ 0x01 ])\n .update(seed)\n .digest();\n this.V = this._hmac().update(this.V).digest();\n};\n\nHmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) {\n // Optional entropy enc\n if (typeof entropyEnc !== 'string') {\n addEnc = add;\n add = entropyEnc;\n entropyEnc = null;\n }\n\n entropy = utils.toArray(entropy, entropyEnc);\n add = utils.toArray(add, addEnc);\n\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n\n this._update(entropy.concat(add || []));\n this._reseed = 1;\n};\n\nHmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) {\n if (this._reseed > this.reseedInterval)\n throw new Error('Reseed is required');\n\n // Optional encoding\n if (typeof enc !== 'string') {\n addEnc = add;\n add = enc;\n enc = null;\n }\n\n // Optional additional data\n if (add) {\n add = utils.toArray(add, addEnc || 'hex');\n this._update(add);\n }\n\n var temp = [];\n while (temp.length < len) {\n this.V = this._hmac().update(this.V).digest();\n temp = temp.concat(this.V);\n }\n\n var res = temp.slice(0, len);\n this._update(add);\n this._reseed++;\n return utils.encode(res, enc);\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction KeyPair(ec, options) {\n this.ec = ec;\n this.priv = null;\n this.pub = null;\n\n // KeyPair(ec, { priv: ..., pub: ... })\n if (options.priv)\n this._importPrivate(options.priv, options.privEnc);\n if (options.pub)\n this._importPublic(options.pub, options.pubEnc);\n}\nmodule.exports = KeyPair;\n\nKeyPair.fromPublic = function fromPublic(ec, pub, enc) {\n if (pub instanceof KeyPair)\n return pub;\n\n return new KeyPair(ec, {\n pub: pub,\n pubEnc: enc,\n });\n};\n\nKeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {\n if (priv instanceof KeyPair)\n return priv;\n\n return new KeyPair(ec, {\n priv: priv,\n privEnc: enc,\n });\n};\n\nKeyPair.prototype.validate = function validate() {\n var pub = this.getPublic();\n\n if (pub.isInfinity())\n return { result: false, reason: 'Invalid public key' };\n if (!pub.validate())\n return { result: false, reason: 'Public key is not a point' };\n if (!pub.mul(this.ec.curve.n).isInfinity())\n return { result: false, reason: 'Public key * N != O' };\n\n return { result: true, reason: null };\n};\n\nKeyPair.prototype.getPublic = function getPublic(compact, enc) {\n // compact is optional argument\n if (typeof compact === 'string') {\n enc = compact;\n compact = null;\n }\n\n if (!this.pub)\n this.pub = this.ec.g.mul(this.priv);\n\n if (!enc)\n return this.pub;\n\n return this.pub.encode(enc, compact);\n};\n\nKeyPair.prototype.getPrivate = function getPrivate(enc) {\n if (enc === 'hex')\n return this.priv.toString(16, 2);\n else\n return this.priv;\n};\n\nKeyPair.prototype._importPrivate = function _importPrivate(key, enc) {\n this.priv = new BN(key, enc || 16);\n\n // Ensure that the priv won't be bigger than n, otherwise we may fail\n // in fixed multiplication method\n this.priv = this.priv.umod(this.ec.curve.n);\n};\n\nKeyPair.prototype._importPublic = function _importPublic(key, enc) {\n if (key.x || key.y) {\n // Montgomery points only have an `x` coordinate.\n // Weierstrass/Edwards points on the other hand have both `x` and\n // `y` coordinates.\n if (this.ec.curve.type === 'mont') {\n assert(key.x, 'Need x coordinate');\n } else if (this.ec.curve.type === 'short' ||\n this.ec.curve.type === 'edwards') {\n assert(key.x && key.y, 'Need both x and y coordinate');\n }\n this.pub = this.ec.curve.point(key.x, key.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key, enc);\n};\n\n// ECDH\nKeyPair.prototype.derive = function derive(pub) {\n if(!pub.validate()) {\n assert(pub.validate(), 'public point not validated');\n }\n return pub.mul(this.priv).getX();\n};\n\n// ECDSA\nKeyPair.prototype.sign = function sign(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n};\n\nKeyPair.prototype.verify = function verify(msg, signature) {\n return this.ec.verify(msg, signature, this);\n};\n\nKeyPair.prototype.inspect = function inspect() {\n return '';\n};\n","'use strict';\n\nvar BN = require('bn.js');\n\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction Signature(options, enc) {\n if (options instanceof Signature)\n return options;\n\n if (this._importDER(options, enc))\n return;\n\n assert(options.r && options.s, 'Signature without r or s');\n this.r = new BN(options.r, 16);\n this.s = new BN(options.s, 16);\n if (options.recoveryParam === undefined)\n this.recoveryParam = null;\n else\n this.recoveryParam = options.recoveryParam;\n}\nmodule.exports = Signature;\n\nfunction Position() {\n this.place = 0;\n}\n\nfunction getLength(buf, p) {\n var initial = buf[p.place++];\n if (!(initial & 0x80)) {\n return initial;\n }\n var octetLen = initial & 0xf;\n\n // Indefinite length or overflow\n if (octetLen === 0 || octetLen > 4) {\n return false;\n }\n\n var val = 0;\n for (var i = 0, off = p.place; i < octetLen; i++, off++) {\n val <<= 8;\n val |= buf[off];\n val >>>= 0;\n }\n\n // Leading zeroes\n if (val <= 0x7f) {\n return false;\n }\n\n p.place = off;\n return val;\n}\n\nfunction rmPadding(buf) {\n var i = 0;\n var len = buf.length - 1;\n while (!buf[i] && !(buf[i + 1] & 0x80) && i < len) {\n i++;\n }\n if (i === 0) {\n return buf;\n }\n return buf.slice(i);\n}\n\nSignature.prototype._importDER = function _importDER(data, enc) {\n data = utils.toArray(data, enc);\n var p = new Position();\n if (data[p.place++] !== 0x30) {\n return false;\n }\n var len = getLength(data, p);\n if (len === false) {\n return false;\n }\n if ((len + p.place) !== data.length) {\n return false;\n }\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var rlen = getLength(data, p);\n if (rlen === false) {\n return false;\n }\n var r = data.slice(p.place, rlen + p.place);\n p.place += rlen;\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var slen = getLength(data, p);\n if (slen === false) {\n return false;\n }\n if (data.length !== slen + p.place) {\n return false;\n }\n var s = data.slice(p.place, slen + p.place);\n if (r[0] === 0) {\n if (r[1] & 0x80) {\n r = r.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n if (s[0] === 0) {\n if (s[1] & 0x80) {\n s = s.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n\n this.r = new BN(r);\n this.s = new BN(s);\n this.recoveryParam = null;\n\n return true;\n};\n\nfunction constructLength(arr, len) {\n if (len < 0x80) {\n arr.push(len);\n return;\n }\n var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);\n arr.push(octets | 0x80);\n while (--octets) {\n arr.push((len >>> (octets << 3)) & 0xff);\n }\n arr.push(len);\n}\n\nSignature.prototype.toDER = function toDER(enc) {\n var r = this.r.toArray();\n var s = this.s.toArray();\n\n // Pad values\n if (r[0] & 0x80)\n r = [ 0 ].concat(r);\n // Pad values\n if (s[0] & 0x80)\n s = [ 0 ].concat(s);\n\n r = rmPadding(r);\n s = rmPadding(s);\n\n while (!s[0] && !(s[1] & 0x80)) {\n s = s.slice(1);\n }\n var arr = [ 0x02 ];\n constructLength(arr, r.length);\n arr = arr.concat(r);\n arr.push(0x02);\n constructLength(arr, s.length);\n var backHalf = arr.concat(s);\n var res = [ 0x30 ];\n constructLength(res, backHalf.length);\n res = res.concat(backHalf);\n return utils.encode(res, enc);\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar HmacDRBG = require('hmac-drbg');\nvar utils = require('../utils');\nvar curves = require('../curves');\nvar rand = require('brorand');\nvar assert = utils.assert;\n\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EC(options) {\n if (!(this instanceof EC))\n return new EC(options);\n\n // Shortcut `elliptic.ec(curve-name)`\n if (typeof options === 'string') {\n assert(Object.prototype.hasOwnProperty.call(curves, options),\n 'Unknown curve ' + options);\n\n options = curves[options];\n }\n\n // Shortcut for `elliptic.ec(elliptic.curves.curveName)`\n if (options instanceof curves.PresetCurve)\n options = { curve: options };\n\n this.curve = options.curve.curve;\n this.n = this.curve.n;\n this.nh = this.n.ushrn(1);\n this.g = this.curve.g;\n\n // Point on curve\n this.g = options.curve.g;\n this.g.precompute(options.curve.n.bitLength() + 1);\n\n // Hash for function for DRBG\n this.hash = options.hash || options.curve.hash;\n}\nmodule.exports = EC;\n\nEC.prototype.keyPair = function keyPair(options) {\n return new KeyPair(this, options);\n};\n\nEC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) {\n return KeyPair.fromPrivate(this, priv, enc);\n};\n\nEC.prototype.keyFromPublic = function keyFromPublic(pub, enc) {\n return KeyPair.fromPublic(this, pub, enc);\n};\n\nEC.prototype.genKeyPair = function genKeyPair(options) {\n if (!options)\n options = {};\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n entropy: options.entropy || rand(this.hash.hmacStrength),\n entropyEnc: options.entropy && options.entropyEnc || 'utf8',\n nonce: this.n.toArray(),\n });\n\n var bytes = this.n.byteLength();\n var ns2 = this.n.sub(new BN(2));\n for (;;) {\n var priv = new BN(drbg.generate(bytes));\n if (priv.cmp(ns2) > 0)\n continue;\n\n priv.iaddn(1);\n return this.keyFromPrivate(priv);\n }\n};\n\nEC.prototype._truncateToN = function _truncateToN(msg, truncOnly) {\n var delta = msg.byteLength() * 8 - this.n.bitLength();\n if (delta > 0)\n msg = msg.ushrn(delta);\n if (!truncOnly && msg.cmp(this.n) >= 0)\n return msg.sub(this.n);\n else\n return msg;\n};\n\nEC.prototype.sign = function sign(msg, key, enc, options) {\n if (typeof enc === 'object') {\n options = enc;\n enc = null;\n }\n if (!options)\n options = {};\n\n key = this.keyFromPrivate(key, enc);\n msg = this._truncateToN(new BN(msg, 16));\n\n // Zero-extend key to provide enough entropy\n var bytes = this.n.byteLength();\n var bkey = key.getPrivate().toArray('be', bytes);\n\n // Zero-extend nonce to have the same byte size as N\n var nonce = msg.toArray('be', bytes);\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n entropy: bkey,\n nonce: nonce,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n });\n\n // Number of bytes to generate\n var ns1 = this.n.sub(new BN(1));\n\n for (var iter = 0; ; iter++) {\n var k = options.k ?\n options.k(iter) :\n new BN(drbg.generate(this.n.byteLength()));\n k = this._truncateToN(k, true);\n if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0)\n continue;\n\n var kp = this.g.mul(k);\n if (kp.isInfinity())\n continue;\n\n var kpX = kp.getX();\n var r = kpX.umod(this.n);\n if (r.cmpn(0) === 0)\n continue;\n\n var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));\n s = s.umod(this.n);\n if (s.cmpn(0) === 0)\n continue;\n\n var recoveryParam = (kp.getY().isOdd() ? 1 : 0) |\n (kpX.cmp(r) !== 0 ? 2 : 0);\n\n // Use complement of `s`, if it is > `n / 2`\n if (options.canonical && s.cmp(this.nh) > 0) {\n s = this.n.sub(s);\n recoveryParam ^= 1;\n }\n\n return new Signature({ r: r, s: s, recoveryParam: recoveryParam });\n }\n};\n\nEC.prototype.verify = function verify(msg, signature, key, enc) {\n msg = this._truncateToN(new BN(msg, 16));\n key = this.keyFromPublic(key, enc);\n signature = new Signature(signature, 'hex');\n\n // Perform primitive values validation\n var r = signature.r;\n var s = signature.s;\n if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0)\n return false;\n if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0)\n return false;\n\n // Validate signature\n var sinv = s.invm(this.n);\n var u1 = sinv.mul(msg).umod(this.n);\n var u2 = sinv.mul(r).umod(this.n);\n var p;\n\n if (!this.curve._maxwellTrick) {\n p = this.g.mulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n return p.getX().umod(this.n).cmp(r) === 0;\n }\n\n // NOTE: Greg Maxwell's trick, inspired by:\n // https://git.io/vad3K\n\n p = this.g.jmulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n // Compare `p.x` of Jacobian point with `r`,\n // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the\n // inverse of `p.z^2`\n return p.eqXToP(r);\n};\n\nEC.prototype.recoverPubKey = function(msg, signature, j, enc) {\n assert((3 & j) === j, 'The recovery param is more than two bits');\n signature = new Signature(signature, enc);\n\n var n = this.n;\n var e = new BN(msg);\n var r = signature.r;\n var s = signature.s;\n\n // A set LSB signifies that the y-coordinate is odd\n var isYOdd = j & 1;\n var isSecondKey = j >> 1;\n if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)\n throw new Error('Unable to find sencond key candinate');\n\n // 1.1. Let x = r + jn.\n if (isSecondKey)\n r = this.curve.pointFromX(r.add(this.curve.n), isYOdd);\n else\n r = this.curve.pointFromX(r, isYOdd);\n\n var rInv = signature.r.invm(n);\n var s1 = n.sub(e).mul(rInv).umod(n);\n var s2 = s.mul(rInv).umod(n);\n\n // 1.6.1 Compute Q = r^-1 (sR - eG)\n // Q = r^-1 (sR + -eG)\n return this.g.mulAdd(s1, r, s2);\n};\n\nEC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {\n signature = new Signature(signature, enc);\n if (signature.recoveryParam !== null)\n return signature.recoveryParam;\n\n for (var i = 0; i < 4; i++) {\n var Qprime;\n try {\n Qprime = this.recoverPubKey(e, signature, i);\n } catch (e) {\n continue;\n }\n\n if (Qprime.eq(Q))\n return i;\n }\n throw new Error('Unable to find valid recovery factor');\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar cachedProperty = utils.cachedProperty;\n\n/**\n* @param {EDDSA} eddsa - instance\n* @param {Object} params - public/private key parameters\n*\n* @param {Array} [params.secret] - secret seed bytes\n* @param {Point} [params.pub] - public key point (aka `A` in eddsa terms)\n* @param {Array} [params.pub] - public key point encoded as bytes\n*\n*/\nfunction KeyPair(eddsa, params) {\n this.eddsa = eddsa;\n this._secret = parseBytes(params.secret);\n if (eddsa.isPoint(params.pub))\n this._pub = params.pub;\n else\n this._pubBytes = parseBytes(params.pub);\n}\n\nKeyPair.fromPublic = function fromPublic(eddsa, pub) {\n if (pub instanceof KeyPair)\n return pub;\n return new KeyPair(eddsa, { pub: pub });\n};\n\nKeyPair.fromSecret = function fromSecret(eddsa, secret) {\n if (secret instanceof KeyPair)\n return secret;\n return new KeyPair(eddsa, { secret: secret });\n};\n\nKeyPair.prototype.secret = function secret() {\n return this._secret;\n};\n\ncachedProperty(KeyPair, 'pubBytes', function pubBytes() {\n return this.eddsa.encodePoint(this.pub());\n});\n\ncachedProperty(KeyPair, 'pub', function pub() {\n if (this._pubBytes)\n return this.eddsa.decodePoint(this._pubBytes);\n return this.eddsa.g.mul(this.priv());\n});\n\ncachedProperty(KeyPair, 'privBytes', function privBytes() {\n var eddsa = this.eddsa;\n var hash = this.hash();\n var lastIx = eddsa.encodingLength - 1;\n\n var a = hash.slice(0, eddsa.encodingLength);\n a[0] &= 248;\n a[lastIx] &= 127;\n a[lastIx] |= 64;\n\n return a;\n});\n\ncachedProperty(KeyPair, 'priv', function priv() {\n return this.eddsa.decodeInt(this.privBytes());\n});\n\ncachedProperty(KeyPair, 'hash', function hash() {\n return this.eddsa.hash().update(this.secret()).digest();\n});\n\ncachedProperty(KeyPair, 'messagePrefix', function messagePrefix() {\n return this.hash().slice(this.eddsa.encodingLength);\n});\n\nKeyPair.prototype.sign = function sign(message) {\n assert(this._secret, 'KeyPair can only verify');\n return this.eddsa.sign(message, this);\n};\n\nKeyPair.prototype.verify = function verify(message, sig) {\n return this.eddsa.verify(message, sig, this);\n};\n\nKeyPair.prototype.getSecret = function getSecret(enc) {\n assert(this._secret, 'KeyPair is public only');\n return utils.encode(this.secret(), enc);\n};\n\nKeyPair.prototype.getPublic = function getPublic(enc) {\n return utils.encode(this.pubBytes(), enc);\n};\n\nmodule.exports = KeyPair;\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar cachedProperty = utils.cachedProperty;\nvar parseBytes = utils.parseBytes;\n\n/**\n* @param {EDDSA} eddsa - eddsa instance\n* @param {Array|Object} sig -\n* @param {Array|Point} [sig.R] - R point as Point or bytes\n* @param {Array|bn} [sig.S] - S scalar as bn or bytes\n* @param {Array} [sig.Rencoded] - R point encoded\n* @param {Array} [sig.Sencoded] - S scalar encoded\n*/\nfunction Signature(eddsa, sig) {\n this.eddsa = eddsa;\n\n if (typeof sig !== 'object')\n sig = parseBytes(sig);\n\n if (Array.isArray(sig)) {\n sig = {\n R: sig.slice(0, eddsa.encodingLength),\n S: sig.slice(eddsa.encodingLength),\n };\n }\n\n assert(sig.R && sig.S, 'Signature without R or S');\n\n if (eddsa.isPoint(sig.R))\n this._R = sig.R;\n if (sig.S instanceof BN)\n this._S = sig.S;\n\n this._Rencoded = Array.isArray(sig.R) ? sig.R : sig.Rencoded;\n this._Sencoded = Array.isArray(sig.S) ? sig.S : sig.Sencoded;\n}\n\ncachedProperty(Signature, 'S', function S() {\n return this.eddsa.decodeInt(this.Sencoded());\n});\n\ncachedProperty(Signature, 'R', function R() {\n return this.eddsa.decodePoint(this.Rencoded());\n});\n\ncachedProperty(Signature, 'Rencoded', function Rencoded() {\n return this.eddsa.encodePoint(this.R());\n});\n\ncachedProperty(Signature, 'Sencoded', function Sencoded() {\n return this.eddsa.encodeInt(this.S());\n});\n\nSignature.prototype.toBytes = function toBytes() {\n return this.Rencoded().concat(this.Sencoded());\n};\n\nSignature.prototype.toHex = function toHex() {\n return utils.encode(this.toBytes(), 'hex').toUpperCase();\n};\n\nmodule.exports = Signature;\n","'use strict';\n\nvar hash = require('hash.js');\nvar curves = require('../curves');\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EDDSA(curve) {\n assert(curve === 'ed25519', 'only tested with ed25519 so far');\n\n if (!(this instanceof EDDSA))\n return new EDDSA(curve);\n\n curve = curves[curve].curve;\n this.curve = curve;\n this.g = curve.g;\n this.g.precompute(curve.n.bitLength() + 1);\n\n this.pointClass = curve.point().constructor;\n this.encodingLength = Math.ceil(curve.n.bitLength() / 8);\n this.hash = hash.sha512;\n}\n\nmodule.exports = EDDSA;\n\n/**\n* @param {Array|String} message - message bytes\n* @param {Array|String|KeyPair} secret - secret bytes or a keypair\n* @returns {Signature} - signature\n*/\nEDDSA.prototype.sign = function sign(message, secret) {\n message = parseBytes(message);\n var key = this.keyFromSecret(secret);\n var r = this.hashInt(key.messagePrefix(), message);\n var R = this.g.mul(r);\n var Rencoded = this.encodePoint(R);\n var s_ = this.hashInt(Rencoded, key.pubBytes(), message)\n .mul(key.priv());\n var S = r.add(s_).umod(this.curve.n);\n return this.makeSignature({ R: R, S: S, Rencoded: Rencoded });\n};\n\n/**\n* @param {Array} message - message bytes\n* @param {Array|String|Signature} sig - sig bytes\n* @param {Array|String|Point|KeyPair} pub - public key\n* @returns {Boolean} - true if public key matches sig of message\n*/\nEDDSA.prototype.verify = function verify(message, sig, pub) {\n message = parseBytes(message);\n sig = this.makeSignature(sig);\n var key = this.keyFromPublic(pub);\n var h = this.hashInt(sig.Rencoded(), key.pubBytes(), message);\n var SG = this.g.mul(sig.S());\n var RplusAh = sig.R().add(key.pub().mul(h));\n return RplusAh.eq(SG);\n};\n\nEDDSA.prototype.hashInt = function hashInt() {\n var hash = this.hash();\n for (var i = 0; i < arguments.length; i++)\n hash.update(arguments[i]);\n return utils.intFromLE(hash.digest()).umod(this.curve.n);\n};\n\nEDDSA.prototype.keyFromPublic = function keyFromPublic(pub) {\n return KeyPair.fromPublic(this, pub);\n};\n\nEDDSA.prototype.keyFromSecret = function keyFromSecret(secret) {\n return KeyPair.fromSecret(this, secret);\n};\n\nEDDSA.prototype.makeSignature = function makeSignature(sig) {\n if (sig instanceof Signature)\n return sig;\n return new Signature(this, sig);\n};\n\n/**\n* * https://tools.ietf.org/html/draft-josefsson-eddsa-ed25519-03#section-5.2\n*\n* EDDSA defines methods for encoding and decoding points and integers. These are\n* helper convenience methods, that pass along to utility functions implied\n* parameters.\n*\n*/\nEDDSA.prototype.encodePoint = function encodePoint(point) {\n var enc = point.getY().toArray('le', this.encodingLength);\n enc[this.encodingLength - 1] |= point.getX().isOdd() ? 0x80 : 0;\n return enc;\n};\n\nEDDSA.prototype.decodePoint = function decodePoint(bytes) {\n bytes = utils.parseBytes(bytes);\n\n var lastIx = bytes.length - 1;\n var normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & ~0x80);\n var xIsOdd = (bytes[lastIx] & 0x80) !== 0;\n\n var y = utils.intFromLE(normed);\n return this.curve.pointFromY(y, xIsOdd);\n};\n\nEDDSA.prototype.encodeInt = function encodeInt(num) {\n return num.toArray('le', this.encodingLength);\n};\n\nEDDSA.prototype.decodeInt = function decodeInt(bytes) {\n return utils.intFromLE(bytes);\n};\n\nEDDSA.prototype.isPoint = function isPoint(val) {\n return val instanceof this.pointClass;\n};\n","'use strict';\n\nvar elliptic = exports;\n\nelliptic.version = require('../package.json').version;\nelliptic.utils = require('./elliptic/utils');\nelliptic.rand = require('brorand');\nelliptic.curve = require('./elliptic/curve');\nelliptic.curves = require('./elliptic/curves');\n\n// Protocols\nelliptic.ec = require('./elliptic/ec');\nelliptic.eddsa = require('./elliptic/eddsa');\n","/* eslint-disable node/no-deprecated-api */\n\n'use strict'\n\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\nvar safer = {}\n\nvar key\n\nfor (key in buffer) {\n if (!buffer.hasOwnProperty(key)) continue\n if (key === 'SlowBuffer' || key === 'Buffer') continue\n safer[key] = buffer[key]\n}\n\nvar Safer = safer.Buffer = {}\nfor (key in Buffer) {\n if (!Buffer.hasOwnProperty(key)) continue\n if (key === 'allocUnsafe' || key === 'allocUnsafeSlow') continue\n Safer[key] = Buffer[key]\n}\n\nsafer.Buffer.prototype = Buffer.prototype\n\nif (!Safer.from || Safer.from === Uint8Array.from) {\n Safer.from = function (value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('The \"value\" argument must not be of type number. Received type ' + typeof value)\n }\n if (value && typeof value.length === 'undefined') {\n throw new TypeError('The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type ' + typeof value)\n }\n return Buffer(value, encodingOrOffset, length)\n }\n}\n\nif (!Safer.alloc) {\n Safer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('The \"size\" argument must be of type number. Received type ' + typeof size)\n }\n if (size < 0 || size >= 2 * (1 << 30)) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n var buf = Buffer(size)\n if (!fill || fill.length === 0) {\n buf.fill(0)\n } else if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n return buf\n }\n}\n\nif (!safer.kStringMaxLength) {\n try {\n safer.kStringMaxLength = process.binding('buffer').kStringMaxLength\n } catch (e) {\n // we can't determine kStringMaxLength in environments where process.binding\n // is unsupported, so let's not set it\n }\n}\n\nif (!safer.constants) {\n safer.constants = {\n MAX_LENGTH: safer.kMaxLength\n }\n if (safer.kStringMaxLength) {\n safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength\n }\n}\n\nmodule.exports = safer\n","'use strict';\n\nconst inherits = require('inherits');\n\nfunction Reporter(options) {\n this._reporterState = {\n obj: null,\n path: [],\n options: options || {},\n errors: []\n };\n}\nexports.Reporter = Reporter;\n\nReporter.prototype.isError = function isError(obj) {\n return obj instanceof ReporterError;\n};\n\nReporter.prototype.save = function save() {\n const state = this._reporterState;\n\n return { obj: state.obj, pathLen: state.path.length };\n};\n\nReporter.prototype.restore = function restore(data) {\n const state = this._reporterState;\n\n state.obj = data.obj;\n state.path = state.path.slice(0, data.pathLen);\n};\n\nReporter.prototype.enterKey = function enterKey(key) {\n return this._reporterState.path.push(key);\n};\n\nReporter.prototype.exitKey = function exitKey(index) {\n const state = this._reporterState;\n\n state.path = state.path.slice(0, index - 1);\n};\n\nReporter.prototype.leaveKey = function leaveKey(index, key, value) {\n const state = this._reporterState;\n\n this.exitKey(index);\n if (state.obj !== null)\n state.obj[key] = value;\n};\n\nReporter.prototype.path = function path() {\n return this._reporterState.path.join('/');\n};\n\nReporter.prototype.enterObject = function enterObject() {\n const state = this._reporterState;\n\n const prev = state.obj;\n state.obj = {};\n return prev;\n};\n\nReporter.prototype.leaveObject = function leaveObject(prev) {\n const state = this._reporterState;\n\n const now = state.obj;\n state.obj = prev;\n return now;\n};\n\nReporter.prototype.error = function error(msg) {\n let err;\n const state = this._reporterState;\n\n const inherited = msg instanceof ReporterError;\n if (inherited) {\n err = msg;\n } else {\n err = new ReporterError(state.path.map(function(elem) {\n return '[' + JSON.stringify(elem) + ']';\n }).join(''), msg.message || msg, msg.stack);\n }\n\n if (!state.options.partial)\n throw err;\n\n if (!inherited)\n state.errors.push(err);\n\n return err;\n};\n\nReporter.prototype.wrapResult = function wrapResult(result) {\n const state = this._reporterState;\n if (!state.options.partial)\n return result;\n\n return {\n result: this.isError(result) ? null : result,\n errors: state.errors\n };\n};\n\nfunction ReporterError(path, msg) {\n this.path = path;\n this.rethrow(msg);\n}\ninherits(ReporterError, Error);\n\nReporterError.prototype.rethrow = function rethrow(msg) {\n this.message = msg + ' at: ' + (this.path || '(shallow)');\n if (Error.captureStackTrace)\n Error.captureStackTrace(this, ReporterError);\n\n if (!this.stack) {\n try {\n // IE only adds stack when thrown\n throw new Error(this.message);\n } catch (e) {\n this.stack = e.stack;\n }\n }\n return this;\n};\n","'use strict';\n\nconst inherits = require('inherits');\nconst Reporter = require('../base/reporter').Reporter;\nconst Buffer = require('safer-buffer').Buffer;\n\nfunction DecoderBuffer(base, options) {\n Reporter.call(this, options);\n if (!Buffer.isBuffer(base)) {\n this.error('Input not Buffer');\n return;\n }\n\n this.base = base;\n this.offset = 0;\n this.length = base.length;\n}\ninherits(DecoderBuffer, Reporter);\nexports.DecoderBuffer = DecoderBuffer;\n\nDecoderBuffer.isDecoderBuffer = function isDecoderBuffer(data) {\n if (data instanceof DecoderBuffer) {\n return true;\n }\n\n // Or accept compatible API\n const isCompatible = typeof data === 'object' &&\n Buffer.isBuffer(data.base) &&\n data.constructor.name === 'DecoderBuffer' &&\n typeof data.offset === 'number' &&\n typeof data.length === 'number' &&\n typeof data.save === 'function' &&\n typeof data.restore === 'function' &&\n typeof data.isEmpty === 'function' &&\n typeof data.readUInt8 === 'function' &&\n typeof data.skip === 'function' &&\n typeof data.raw === 'function';\n\n return isCompatible;\n};\n\nDecoderBuffer.prototype.save = function save() {\n return { offset: this.offset, reporter: Reporter.prototype.save.call(this) };\n};\n\nDecoderBuffer.prototype.restore = function restore(save) {\n // Return skipped data\n const res = new DecoderBuffer(this.base);\n res.offset = save.offset;\n res.length = this.offset;\n\n this.offset = save.offset;\n Reporter.prototype.restore.call(this, save.reporter);\n\n return res;\n};\n\nDecoderBuffer.prototype.isEmpty = function isEmpty() {\n return this.offset === this.length;\n};\n\nDecoderBuffer.prototype.readUInt8 = function readUInt8(fail) {\n if (this.offset + 1 <= this.length)\n return this.base.readUInt8(this.offset++, true);\n else\n return this.error(fail || 'DecoderBuffer overrun');\n};\n\nDecoderBuffer.prototype.skip = function skip(bytes, fail) {\n if (!(this.offset + bytes <= this.length))\n return this.error(fail || 'DecoderBuffer overrun');\n\n const res = new DecoderBuffer(this.base);\n\n // Share reporter state\n res._reporterState = this._reporterState;\n\n res.offset = this.offset;\n res.length = this.offset + bytes;\n this.offset += bytes;\n return res;\n};\n\nDecoderBuffer.prototype.raw = function raw(save) {\n return this.base.slice(save ? save.offset : this.offset, this.length);\n};\n\nfunction EncoderBuffer(value, reporter) {\n if (Array.isArray(value)) {\n this.length = 0;\n this.value = value.map(function(item) {\n if (!EncoderBuffer.isEncoderBuffer(item))\n item = new EncoderBuffer(item, reporter);\n this.length += item.length;\n return item;\n }, this);\n } else if (typeof value === 'number') {\n if (!(0 <= value && value <= 0xff))\n return reporter.error('non-byte EncoderBuffer value');\n this.value = value;\n this.length = 1;\n } else if (typeof value === 'string') {\n this.value = value;\n this.length = Buffer.byteLength(value);\n } else if (Buffer.isBuffer(value)) {\n this.value = value;\n this.length = value.length;\n } else {\n return reporter.error('Unsupported type: ' + typeof value);\n }\n}\nexports.EncoderBuffer = EncoderBuffer;\n\nEncoderBuffer.isEncoderBuffer = function isEncoderBuffer(data) {\n if (data instanceof EncoderBuffer) {\n return true;\n }\n\n // Or accept compatible API\n const isCompatible = typeof data === 'object' &&\n data.constructor.name === 'EncoderBuffer' &&\n typeof data.length === 'number' &&\n typeof data.join === 'function';\n\n return isCompatible;\n};\n\nEncoderBuffer.prototype.join = function join(out, offset) {\n if (!out)\n out = Buffer.alloc(this.length);\n if (!offset)\n offset = 0;\n\n if (this.length === 0)\n return out;\n\n if (Array.isArray(this.value)) {\n this.value.forEach(function(item) {\n item.join(out, offset);\n offset += item.length;\n });\n } else {\n if (typeof this.value === 'number')\n out[offset] = this.value;\n else if (typeof this.value === 'string')\n out.write(this.value, offset);\n else if (Buffer.isBuffer(this.value))\n this.value.copy(out, offset);\n offset += this.length;\n }\n\n return out;\n};\n","'use strict';\n\nconst Reporter = require('../base/reporter').Reporter;\nconst EncoderBuffer = require('../base/buffer').EncoderBuffer;\nconst DecoderBuffer = require('../base/buffer').DecoderBuffer;\nconst assert = require('minimalistic-assert');\n\n// Supported tags\nconst tags = [\n 'seq', 'seqof', 'set', 'setof', 'objid', 'bool',\n 'gentime', 'utctime', 'null_', 'enum', 'int', 'objDesc',\n 'bitstr', 'bmpstr', 'charstr', 'genstr', 'graphstr', 'ia5str', 'iso646str',\n 'numstr', 'octstr', 'printstr', 't61str', 'unistr', 'utf8str', 'videostr'\n];\n\n// Public methods list\nconst methods = [\n 'key', 'obj', 'use', 'optional', 'explicit', 'implicit', 'def', 'choice',\n 'any', 'contains'\n].concat(tags);\n\n// Overrided methods list\nconst overrided = [\n '_peekTag', '_decodeTag', '_use',\n '_decodeStr', '_decodeObjid', '_decodeTime',\n '_decodeNull', '_decodeInt', '_decodeBool', '_decodeList',\n\n '_encodeComposite', '_encodeStr', '_encodeObjid', '_encodeTime',\n '_encodeNull', '_encodeInt', '_encodeBool'\n];\n\nfunction Node(enc, parent, name) {\n const state = {};\n this._baseState = state;\n\n state.name = name;\n state.enc = enc;\n\n state.parent = parent || null;\n state.children = null;\n\n // State\n state.tag = null;\n state.args = null;\n state.reverseArgs = null;\n state.choice = null;\n state.optional = false;\n state.any = false;\n state.obj = false;\n state.use = null;\n state.useDecoder = null;\n state.key = null;\n state['default'] = null;\n state.explicit = null;\n state.implicit = null;\n state.contains = null;\n\n // Should create new instance on each method\n if (!state.parent) {\n state.children = [];\n this._wrap();\n }\n}\nmodule.exports = Node;\n\nconst stateProps = [\n 'enc', 'parent', 'children', 'tag', 'args', 'reverseArgs', 'choice',\n 'optional', 'any', 'obj', 'use', 'alteredUse', 'key', 'default', 'explicit',\n 'implicit', 'contains'\n];\n\nNode.prototype.clone = function clone() {\n const state = this._baseState;\n const cstate = {};\n stateProps.forEach(function(prop) {\n cstate[prop] = state[prop];\n });\n const res = new this.constructor(cstate.parent);\n res._baseState = cstate;\n return res;\n};\n\nNode.prototype._wrap = function wrap() {\n const state = this._baseState;\n methods.forEach(function(method) {\n this[method] = function _wrappedMethod() {\n const clone = new this.constructor(this);\n state.children.push(clone);\n return clone[method].apply(clone, arguments);\n };\n }, this);\n};\n\nNode.prototype._init = function init(body) {\n const state = this._baseState;\n\n assert(state.parent === null);\n body.call(this);\n\n // Filter children\n state.children = state.children.filter(function(child) {\n return child._baseState.parent === this;\n }, this);\n assert.equal(state.children.length, 1, 'Root node can have only one child');\n};\n\nNode.prototype._useArgs = function useArgs(args) {\n const state = this._baseState;\n\n // Filter children and args\n const children = args.filter(function(arg) {\n return arg instanceof this.constructor;\n }, this);\n args = args.filter(function(arg) {\n return !(arg instanceof this.constructor);\n }, this);\n\n if (children.length !== 0) {\n assert(state.children === null);\n state.children = children;\n\n // Replace parent to maintain backward link\n children.forEach(function(child) {\n child._baseState.parent = this;\n }, this);\n }\n if (args.length !== 0) {\n assert(state.args === null);\n state.args = args;\n state.reverseArgs = args.map(function(arg) {\n if (typeof arg !== 'object' || arg.constructor !== Object)\n return arg;\n\n const res = {};\n Object.keys(arg).forEach(function(key) {\n if (key == (key | 0))\n key |= 0;\n const value = arg[key];\n res[value] = key;\n });\n return res;\n });\n }\n};\n\n//\n// Overrided methods\n//\n\noverrided.forEach(function(method) {\n Node.prototype[method] = function _overrided() {\n const state = this._baseState;\n throw new Error(method + ' not implemented for encoding: ' + state.enc);\n };\n});\n\n//\n// Public methods\n//\n\ntags.forEach(function(tag) {\n Node.prototype[tag] = function _tagMethod() {\n const state = this._baseState;\n const args = Array.prototype.slice.call(arguments);\n\n assert(state.tag === null);\n state.tag = tag;\n\n this._useArgs(args);\n\n return this;\n };\n});\n\nNode.prototype.use = function use(item) {\n assert(item);\n const state = this._baseState;\n\n assert(state.use === null);\n state.use = item;\n\n return this;\n};\n\nNode.prototype.optional = function optional() {\n const state = this._baseState;\n\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.def = function def(val) {\n const state = this._baseState;\n\n assert(state['default'] === null);\n state['default'] = val;\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.explicit = function explicit(num) {\n const state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.explicit = num;\n\n return this;\n};\n\nNode.prototype.implicit = function implicit(num) {\n const state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.implicit = num;\n\n return this;\n};\n\nNode.prototype.obj = function obj() {\n const state = this._baseState;\n const args = Array.prototype.slice.call(arguments);\n\n state.obj = true;\n\n if (args.length !== 0)\n this._useArgs(args);\n\n return this;\n};\n\nNode.prototype.key = function key(newKey) {\n const state = this._baseState;\n\n assert(state.key === null);\n state.key = newKey;\n\n return this;\n};\n\nNode.prototype.any = function any() {\n const state = this._baseState;\n\n state.any = true;\n\n return this;\n};\n\nNode.prototype.choice = function choice(obj) {\n const state = this._baseState;\n\n assert(state.choice === null);\n state.choice = obj;\n this._useArgs(Object.keys(obj).map(function(key) {\n return obj[key];\n }));\n\n return this;\n};\n\nNode.prototype.contains = function contains(item) {\n const state = this._baseState;\n\n assert(state.use === null);\n state.contains = item;\n\n return this;\n};\n\n//\n// Decoding\n//\n\nNode.prototype._decode = function decode(input, options) {\n const state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return input.wrapResult(state.children[0]._decode(input, options));\n\n let result = state['default'];\n let present = true;\n\n let prevKey = null;\n if (state.key !== null)\n prevKey = input.enterKey(state.key);\n\n // Check if tag is there\n if (state.optional) {\n let tag = null;\n if (state.explicit !== null)\n tag = state.explicit;\n else if (state.implicit !== null)\n tag = state.implicit;\n else if (state.tag !== null)\n tag = state.tag;\n\n if (tag === null && !state.any) {\n // Trial and Error\n const save = input.save();\n try {\n if (state.choice === null)\n this._decodeGeneric(state.tag, input, options);\n else\n this._decodeChoice(input, options);\n present = true;\n } catch (e) {\n present = false;\n }\n input.restore(save);\n } else {\n present = this._peekTag(input, tag, state.any);\n\n if (input.isError(present))\n return present;\n }\n }\n\n // Push object on stack\n let prevObj;\n if (state.obj && present)\n prevObj = input.enterObject();\n\n if (present) {\n // Unwrap explicit values\n if (state.explicit !== null) {\n const explicit = this._decodeTag(input, state.explicit);\n if (input.isError(explicit))\n return explicit;\n input = explicit;\n }\n\n const start = input.offset;\n\n // Unwrap implicit and normal values\n if (state.use === null && state.choice === null) {\n let save;\n if (state.any)\n save = input.save();\n const body = this._decodeTag(\n input,\n state.implicit !== null ? state.implicit : state.tag,\n state.any\n );\n if (input.isError(body))\n return body;\n\n if (state.any)\n result = input.raw(save);\n else\n input = body;\n }\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), start, input.length, 'tagged');\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), input.offset, input.length, 'content');\n\n // Select proper method for tag\n if (state.any) {\n // no-op\n } else if (state.choice === null) {\n result = this._decodeGeneric(state.tag, input, options);\n } else {\n result = this._decodeChoice(input, options);\n }\n\n if (input.isError(result))\n return result;\n\n // Decode children\n if (!state.any && state.choice === null && state.children !== null) {\n state.children.forEach(function decodeChildren(child) {\n // NOTE: We are ignoring errors here, to let parser continue with other\n // parts of encoded data\n child._decode(input, options);\n });\n }\n\n // Decode contained/encoded by schema, only in bit or octet strings\n if (state.contains && (state.tag === 'octstr' || state.tag === 'bitstr')) {\n const data = new DecoderBuffer(result);\n result = this._getUse(state.contains, input._reporterState.obj)\n ._decode(data, options);\n }\n }\n\n // Pop object\n if (state.obj && present)\n result = input.leaveObject(prevObj);\n\n // Set key\n if (state.key !== null && (result !== null || present === true))\n input.leaveKey(prevKey, state.key, result);\n else if (prevKey !== null)\n input.exitKey(prevKey);\n\n return result;\n};\n\nNode.prototype._decodeGeneric = function decodeGeneric(tag, input, options) {\n const state = this._baseState;\n\n if (tag === 'seq' || tag === 'set')\n return null;\n if (tag === 'seqof' || tag === 'setof')\n return this._decodeList(input, tag, state.args[0], options);\n else if (/str$/.test(tag))\n return this._decodeStr(input, tag, options);\n else if (tag === 'objid' && state.args)\n return this._decodeObjid(input, state.args[0], state.args[1], options);\n else if (tag === 'objid')\n return this._decodeObjid(input, null, null, options);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._decodeTime(input, tag, options);\n else if (tag === 'null_')\n return this._decodeNull(input, options);\n else if (tag === 'bool')\n return this._decodeBool(input, options);\n else if (tag === 'objDesc')\n return this._decodeStr(input, tag, options);\n else if (tag === 'int' || tag === 'enum')\n return this._decodeInt(input, state.args && state.args[0], options);\n\n if (state.use !== null) {\n return this._getUse(state.use, input._reporterState.obj)\n ._decode(input, options);\n } else {\n return input.error('unknown tag: ' + tag);\n }\n};\n\nNode.prototype._getUse = function _getUse(entity, obj) {\n\n const state = this._baseState;\n // Create altered use decoder if implicit is set\n state.useDecoder = this._use(entity, obj);\n assert(state.useDecoder._baseState.parent === null);\n state.useDecoder = state.useDecoder._baseState.children[0];\n if (state.implicit !== state.useDecoder._baseState.implicit) {\n state.useDecoder = state.useDecoder.clone();\n state.useDecoder._baseState.implicit = state.implicit;\n }\n return state.useDecoder;\n};\n\nNode.prototype._decodeChoice = function decodeChoice(input, options) {\n const state = this._baseState;\n let result = null;\n let match = false;\n\n Object.keys(state.choice).some(function(key) {\n const save = input.save();\n const node = state.choice[key];\n try {\n const value = node._decode(input, options);\n if (input.isError(value))\n return false;\n\n result = { type: key, value: value };\n match = true;\n } catch (e) {\n input.restore(save);\n return false;\n }\n return true;\n }, this);\n\n if (!match)\n return input.error('Choice not matched');\n\n return result;\n};\n\n//\n// Encoding\n//\n\nNode.prototype._createEncoderBuffer = function createEncoderBuffer(data) {\n return new EncoderBuffer(data, this.reporter);\n};\n\nNode.prototype._encode = function encode(data, reporter, parent) {\n const state = this._baseState;\n if (state['default'] !== null && state['default'] === data)\n return;\n\n const result = this._encodeValue(data, reporter, parent);\n if (result === undefined)\n return;\n\n if (this._skipDefault(result, reporter, parent))\n return;\n\n return result;\n};\n\nNode.prototype._encodeValue = function encode(data, reporter, parent) {\n const state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return state.children[0]._encode(data, reporter || new Reporter());\n\n let result = null;\n\n // Set reporter to share it with a child class\n this.reporter = reporter;\n\n // Check if data is there\n if (state.optional && data === undefined) {\n if (state['default'] !== null)\n data = state['default'];\n else\n return;\n }\n\n // Encode children first\n let content = null;\n let primitive = false;\n if (state.any) {\n // Anything that was given is translated to buffer\n result = this._createEncoderBuffer(data);\n } else if (state.choice) {\n result = this._encodeChoice(data, reporter);\n } else if (state.contains) {\n content = this._getUse(state.contains, parent)._encode(data, reporter);\n primitive = true;\n } else if (state.children) {\n content = state.children.map(function(child) {\n if (child._baseState.tag === 'null_')\n return child._encode(null, reporter, data);\n\n if (child._baseState.key === null)\n return reporter.error('Child should have a key');\n const prevKey = reporter.enterKey(child._baseState.key);\n\n if (typeof data !== 'object')\n return reporter.error('Child expected, but input is not object');\n\n const res = child._encode(data[child._baseState.key], reporter, data);\n reporter.leaveKey(prevKey);\n\n return res;\n }, this).filter(function(child) {\n return child;\n });\n content = this._createEncoderBuffer(content);\n } else {\n if (state.tag === 'seqof' || state.tag === 'setof') {\n // TODO(indutny): this should be thrown on DSL level\n if (!(state.args && state.args.length === 1))\n return reporter.error('Too many args for : ' + state.tag);\n\n if (!Array.isArray(data))\n return reporter.error('seqof/setof, but data is not Array');\n\n const child = this.clone();\n child._baseState.implicit = null;\n content = this._createEncoderBuffer(data.map(function(item) {\n const state = this._baseState;\n\n return this._getUse(state.args[0], data)._encode(item, reporter);\n }, child));\n } else if (state.use !== null) {\n result = this._getUse(state.use, parent)._encode(data, reporter);\n } else {\n content = this._encodePrimitive(state.tag, data);\n primitive = true;\n }\n }\n\n // Encode data itself\n if (!state.any && state.choice === null) {\n const tag = state.implicit !== null ? state.implicit : state.tag;\n const cls = state.implicit === null ? 'universal' : 'context';\n\n if (tag === null) {\n if (state.use === null)\n reporter.error('Tag could be omitted only for .use()');\n } else {\n if (state.use === null)\n result = this._encodeComposite(tag, primitive, cls, content);\n }\n }\n\n // Wrap in explicit\n if (state.explicit !== null)\n result = this._encodeComposite(state.explicit, false, 'context', result);\n\n return result;\n};\n\nNode.prototype._encodeChoice = function encodeChoice(data, reporter) {\n const state = this._baseState;\n\n const node = state.choice[data.type];\n if (!node) {\n assert(\n false,\n data.type + ' not found in ' +\n JSON.stringify(Object.keys(state.choice)));\n }\n return node._encode(data.value, reporter);\n};\n\nNode.prototype._encodePrimitive = function encodePrimitive(tag, data) {\n const state = this._baseState;\n\n if (/str$/.test(tag))\n return this._encodeStr(data, tag);\n else if (tag === 'objid' && state.args)\n return this._encodeObjid(data, state.reverseArgs[0], state.args[1]);\n else if (tag === 'objid')\n return this._encodeObjid(data, null, null);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._encodeTime(data, tag);\n else if (tag === 'null_')\n return this._encodeNull();\n else if (tag === 'int' || tag === 'enum')\n return this._encodeInt(data, state.args && state.reverseArgs[0]);\n else if (tag === 'bool')\n return this._encodeBool(data);\n else if (tag === 'objDesc')\n return this._encodeStr(data, tag);\n else\n throw new Error('Unsupported tag: ' + tag);\n};\n\nNode.prototype._isNumstr = function isNumstr(str) {\n return /^[0-9 ]*$/.test(str);\n};\n\nNode.prototype._isPrintstr = function isPrintstr(str) {\n return /^[A-Za-z0-9 '()+,-./:=?]*$/.test(str);\n};\n","'use strict';\n\n// Helper\nfunction reverse(map) {\n const res = {};\n\n Object.keys(map).forEach(function(key) {\n // Convert key to integer if it is stringified\n if ((key | 0) == key)\n key = key | 0;\n\n const value = map[key];\n res[value] = key;\n });\n\n return res;\n}\n\nexports.tagClass = {\n 0: 'universal',\n 1: 'application',\n 2: 'context',\n 3: 'private'\n};\nexports.tagClassByName = reverse(exports.tagClass);\n\nexports.tag = {\n 0x00: 'end',\n 0x01: 'bool',\n 0x02: 'int',\n 0x03: 'bitstr',\n 0x04: 'octstr',\n 0x05: 'null_',\n 0x06: 'objid',\n 0x07: 'objDesc',\n 0x08: 'external',\n 0x09: 'real',\n 0x0a: 'enum',\n 0x0b: 'embed',\n 0x0c: 'utf8str',\n 0x0d: 'relativeOid',\n 0x10: 'seq',\n 0x11: 'set',\n 0x12: 'numstr',\n 0x13: 'printstr',\n 0x14: 't61str',\n 0x15: 'videostr',\n 0x16: 'ia5str',\n 0x17: 'utctime',\n 0x18: 'gentime',\n 0x19: 'graphstr',\n 0x1a: 'iso646str',\n 0x1b: 'genstr',\n 0x1c: 'unistr',\n 0x1d: 'charstr',\n 0x1e: 'bmpstr'\n};\nexports.tagByName = reverse(exports.tag);\n","'use strict';\n\nconst inherits = require('inherits');\nconst Buffer = require('safer-buffer').Buffer;\nconst Node = require('../base/node');\n\n// Import DER constants\nconst der = require('../constants/der');\n\nfunction DEREncoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n}\nmodule.exports = DEREncoder;\n\nDEREncoder.prototype.encode = function encode(data, reporter) {\n return this.tree._encode(data, reporter).join();\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n Node.call(this, 'der', parent);\n}\ninherits(DERNode, Node);\n\nDERNode.prototype._encodeComposite = function encodeComposite(tag,\n primitive,\n cls,\n content) {\n const encodedTag = encodeTag(tag, primitive, cls, this.reporter);\n\n // Short form\n if (content.length < 0x80) {\n const header = Buffer.alloc(2);\n header[0] = encodedTag;\n header[1] = content.length;\n return this._createEncoderBuffer([ header, content ]);\n }\n\n // Long form\n // Count octets required to store length\n let lenOctets = 1;\n for (let i = content.length; i >= 0x100; i >>= 8)\n lenOctets++;\n\n const header = Buffer.alloc(1 + 1 + lenOctets);\n header[0] = encodedTag;\n header[1] = 0x80 | lenOctets;\n\n for (let i = 1 + lenOctets, j = content.length; j > 0; i--, j >>= 8)\n header[i] = j & 0xff;\n\n return this._createEncoderBuffer([ header, content ]);\n};\n\nDERNode.prototype._encodeStr = function encodeStr(str, tag) {\n if (tag === 'bitstr') {\n return this._createEncoderBuffer([ str.unused | 0, str.data ]);\n } else if (tag === 'bmpstr') {\n const buf = Buffer.alloc(str.length * 2);\n for (let i = 0; i < str.length; i++) {\n buf.writeUInt16BE(str.charCodeAt(i), i * 2);\n }\n return this._createEncoderBuffer(buf);\n } else if (tag === 'numstr') {\n if (!this._isNumstr(str)) {\n return this.reporter.error('Encoding of string type: numstr supports ' +\n 'only digits and space');\n }\n return this._createEncoderBuffer(str);\n } else if (tag === 'printstr') {\n if (!this._isPrintstr(str)) {\n return this.reporter.error('Encoding of string type: printstr supports ' +\n 'only latin upper and lower case letters, ' +\n 'digits, space, apostrophe, left and rigth ' +\n 'parenthesis, plus sign, comma, hyphen, ' +\n 'dot, slash, colon, equal sign, ' +\n 'question mark');\n }\n return this._createEncoderBuffer(str);\n } else if (/str$/.test(tag)) {\n return this._createEncoderBuffer(str);\n } else if (tag === 'objDesc') {\n return this._createEncoderBuffer(str);\n } else {\n return this.reporter.error('Encoding of string type: ' + tag +\n ' unsupported');\n }\n};\n\nDERNode.prototype._encodeObjid = function encodeObjid(id, values, relative) {\n if (typeof id === 'string') {\n if (!values)\n return this.reporter.error('string objid given, but no values map found');\n if (!values.hasOwnProperty(id))\n return this.reporter.error('objid not found in values map');\n id = values[id].split(/[\\s.]+/g);\n for (let i = 0; i < id.length; i++)\n id[i] |= 0;\n } else if (Array.isArray(id)) {\n id = id.slice();\n for (let i = 0; i < id.length; i++)\n id[i] |= 0;\n }\n\n if (!Array.isArray(id)) {\n return this.reporter.error('objid() should be either array or string, ' +\n 'got: ' + JSON.stringify(id));\n }\n\n if (!relative) {\n if (id[1] >= 40)\n return this.reporter.error('Second objid identifier OOB');\n id.splice(0, 2, id[0] * 40 + id[1]);\n }\n\n // Count number of octets\n let size = 0;\n for (let i = 0; i < id.length; i++) {\n let ident = id[i];\n for (size++; ident >= 0x80; ident >>= 7)\n size++;\n }\n\n const objid = Buffer.alloc(size);\n let offset = objid.length - 1;\n for (let i = id.length - 1; i >= 0; i--) {\n let ident = id[i];\n objid[offset--] = ident & 0x7f;\n while ((ident >>= 7) > 0)\n objid[offset--] = 0x80 | (ident & 0x7f);\n }\n\n return this._createEncoderBuffer(objid);\n};\n\nfunction two(num) {\n if (num < 10)\n return '0' + num;\n else\n return num;\n}\n\nDERNode.prototype._encodeTime = function encodeTime(time, tag) {\n let str;\n const date = new Date(time);\n\n if (tag === 'gentime') {\n str = [\n two(date.getUTCFullYear()),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else if (tag === 'utctime') {\n str = [\n two(date.getUTCFullYear() % 100),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else {\n this.reporter.error('Encoding ' + tag + ' time is not supported yet');\n }\n\n return this._encodeStr(str, 'octstr');\n};\n\nDERNode.prototype._encodeNull = function encodeNull() {\n return this._createEncoderBuffer('');\n};\n\nDERNode.prototype._encodeInt = function encodeInt(num, values) {\n if (typeof num === 'string') {\n if (!values)\n return this.reporter.error('String int or enum given, but no values map');\n if (!values.hasOwnProperty(num)) {\n return this.reporter.error('Values map doesn\\'t contain: ' +\n JSON.stringify(num));\n }\n num = values[num];\n }\n\n // Bignum, assume big endian\n if (typeof num !== 'number' && !Buffer.isBuffer(num)) {\n const numArray = num.toArray();\n if (!num.sign && numArray[0] & 0x80) {\n numArray.unshift(0);\n }\n num = Buffer.from(numArray);\n }\n\n if (Buffer.isBuffer(num)) {\n let size = num.length;\n if (num.length === 0)\n size++;\n\n const out = Buffer.alloc(size);\n num.copy(out);\n if (num.length === 0)\n out[0] = 0;\n return this._createEncoderBuffer(out);\n }\n\n if (num < 0x80)\n return this._createEncoderBuffer(num);\n\n if (num < 0x100)\n return this._createEncoderBuffer([0, num]);\n\n let size = 1;\n for (let i = num; i >= 0x100; i >>= 8)\n size++;\n\n const out = new Array(size);\n for (let i = out.length - 1; i >= 0; i--) {\n out[i] = num & 0xff;\n num >>= 8;\n }\n if(out[0] & 0x80) {\n out.unshift(0);\n }\n\n return this._createEncoderBuffer(Buffer.from(out));\n};\n\nDERNode.prototype._encodeBool = function encodeBool(value) {\n return this._createEncoderBuffer(value ? 0xff : 0);\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getEncoder('der').tree;\n};\n\nDERNode.prototype._skipDefault = function skipDefault(dataBuffer, reporter, parent) {\n const state = this._baseState;\n let i;\n if (state['default'] === null)\n return false;\n\n const data = dataBuffer.join();\n if (state.defaultBuffer === undefined)\n state.defaultBuffer = this._encodeValue(state['default'], reporter, parent).join();\n\n if (data.length !== state.defaultBuffer.length)\n return false;\n\n for (i=0; i < data.length; i++)\n if (data[i] !== state.defaultBuffer[i])\n return false;\n\n return true;\n};\n\n// Utility methods\n\nfunction encodeTag(tag, primitive, cls, reporter) {\n let res;\n\n if (tag === 'seqof')\n tag = 'seq';\n else if (tag === 'setof')\n tag = 'set';\n\n if (der.tagByName.hasOwnProperty(tag))\n res = der.tagByName[tag];\n else if (typeof tag === 'number' && (tag | 0) === tag)\n res = tag;\n else\n return reporter.error('Unknown tag: ' + tag);\n\n if (res >= 0x1f)\n return reporter.error('Multi-octet tag encoding unsupported');\n\n if (!primitive)\n res |= 0x20;\n\n res |= (der.tagClassByName[cls || 'universal'] << 6);\n\n return res;\n}\n","'use strict';\n\nconst inherits = require('inherits');\n\nconst DEREncoder = require('./der');\n\nfunction PEMEncoder(entity) {\n DEREncoder.call(this, entity);\n this.enc = 'pem';\n}\ninherits(PEMEncoder, DEREncoder);\nmodule.exports = PEMEncoder;\n\nPEMEncoder.prototype.encode = function encode(data, options) {\n const buf = DEREncoder.prototype.encode.call(this, data);\n\n const p = buf.toString('base64');\n const out = [ '-----BEGIN ' + options.label + '-----' ];\n for (let i = 0; i < p.length; i += 64)\n out.push(p.slice(i, i + 64));\n out.push('-----END ' + options.label + '-----');\n return out.join('\\n');\n};\n","'use strict';\n\nconst encoders = exports;\n\nencoders.der = require('./der');\nencoders.pem = require('./pem');\n","'use strict';\n\nconst inherits = require('inherits');\n\nconst bignum = require('bn.js');\nconst DecoderBuffer = require('../base/buffer').DecoderBuffer;\nconst Node = require('../base/node');\n\n// Import DER constants\nconst der = require('../constants/der');\n\nfunction DERDecoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n}\nmodule.exports = DERDecoder;\n\nDERDecoder.prototype.decode = function decode(data, options) {\n if (!DecoderBuffer.isDecoderBuffer(data)) {\n data = new DecoderBuffer(data, options);\n }\n\n return this.tree._decode(data, options);\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n Node.call(this, 'der', parent);\n}\ninherits(DERNode, Node);\n\nDERNode.prototype._peekTag = function peekTag(buffer, tag, any) {\n if (buffer.isEmpty())\n return false;\n\n const state = buffer.save();\n const decodedTag = derDecodeTag(buffer, 'Failed to peek tag: \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n buffer.restore(state);\n\n return decodedTag.tag === tag || decodedTag.tagStr === tag ||\n (decodedTag.tagStr + 'of') === tag || any;\n};\n\nDERNode.prototype._decodeTag = function decodeTag(buffer, tag, any) {\n const decodedTag = derDecodeTag(buffer,\n 'Failed to decode tag of \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n let len = derDecodeLen(buffer,\n decodedTag.primitive,\n 'Failed to get length of \"' + tag + '\"');\n\n // Failure\n if (buffer.isError(len))\n return len;\n\n if (!any &&\n decodedTag.tag !== tag &&\n decodedTag.tagStr !== tag &&\n decodedTag.tagStr + 'of' !== tag) {\n return buffer.error('Failed to match tag: \"' + tag + '\"');\n }\n\n if (decodedTag.primitive || len !== null)\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n\n // Indefinite length... find END tag\n const state = buffer.save();\n const res = this._skipUntilEnd(\n buffer,\n 'Failed to skip indefinite length body: \"' + this.tag + '\"');\n if (buffer.isError(res))\n return res;\n\n len = buffer.offset - state.offset;\n buffer.restore(state);\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n};\n\nDERNode.prototype._skipUntilEnd = function skipUntilEnd(buffer, fail) {\n for (;;) {\n const tag = derDecodeTag(buffer, fail);\n if (buffer.isError(tag))\n return tag;\n const len = derDecodeLen(buffer, tag.primitive, fail);\n if (buffer.isError(len))\n return len;\n\n let res;\n if (tag.primitive || len !== null)\n res = buffer.skip(len);\n else\n res = this._skipUntilEnd(buffer, fail);\n\n // Failure\n if (buffer.isError(res))\n return res;\n\n if (tag.tagStr === 'end')\n break;\n }\n};\n\nDERNode.prototype._decodeList = function decodeList(buffer, tag, decoder,\n options) {\n const result = [];\n while (!buffer.isEmpty()) {\n const possibleEnd = this._peekTag(buffer, 'end');\n if (buffer.isError(possibleEnd))\n return possibleEnd;\n\n const res = decoder.decode(buffer, 'der', options);\n if (buffer.isError(res) && possibleEnd)\n break;\n result.push(res);\n }\n return result;\n};\n\nDERNode.prototype._decodeStr = function decodeStr(buffer, tag) {\n if (tag === 'bitstr') {\n const unused = buffer.readUInt8();\n if (buffer.isError(unused))\n return unused;\n return { unused: unused, data: buffer.raw() };\n } else if (tag === 'bmpstr') {\n const raw = buffer.raw();\n if (raw.length % 2 === 1)\n return buffer.error('Decoding of string type: bmpstr length mismatch');\n\n let str = '';\n for (let i = 0; i < raw.length / 2; i++) {\n str += String.fromCharCode(raw.readUInt16BE(i * 2));\n }\n return str;\n } else if (tag === 'numstr') {\n const numstr = buffer.raw().toString('ascii');\n if (!this._isNumstr(numstr)) {\n return buffer.error('Decoding of string type: ' +\n 'numstr unsupported characters');\n }\n return numstr;\n } else if (tag === 'octstr') {\n return buffer.raw();\n } else if (tag === 'objDesc') {\n return buffer.raw();\n } else if (tag === 'printstr') {\n const printstr = buffer.raw().toString('ascii');\n if (!this._isPrintstr(printstr)) {\n return buffer.error('Decoding of string type: ' +\n 'printstr unsupported characters');\n }\n return printstr;\n } else if (/str$/.test(tag)) {\n return buffer.raw().toString();\n } else {\n return buffer.error('Decoding of string type: ' + tag + ' unsupported');\n }\n};\n\nDERNode.prototype._decodeObjid = function decodeObjid(buffer, values, relative) {\n let result;\n const identifiers = [];\n let ident = 0;\n let subident = 0;\n while (!buffer.isEmpty()) {\n subident = buffer.readUInt8();\n ident <<= 7;\n ident |= subident & 0x7f;\n if ((subident & 0x80) === 0) {\n identifiers.push(ident);\n ident = 0;\n }\n }\n if (subident & 0x80)\n identifiers.push(ident);\n\n const first = (identifiers[0] / 40) | 0;\n const second = identifiers[0] % 40;\n\n if (relative)\n result = identifiers;\n else\n result = [first, second].concat(identifiers.slice(1));\n\n if (values) {\n let tmp = values[result.join(' ')];\n if (tmp === undefined)\n tmp = values[result.join('.')];\n if (tmp !== undefined)\n result = tmp;\n }\n\n return result;\n};\n\nDERNode.prototype._decodeTime = function decodeTime(buffer, tag) {\n const str = buffer.raw().toString();\n\n let year;\n let mon;\n let day;\n let hour;\n let min;\n let sec;\n if (tag === 'gentime') {\n year = str.slice(0, 4) | 0;\n mon = str.slice(4, 6) | 0;\n day = str.slice(6, 8) | 0;\n hour = str.slice(8, 10) | 0;\n min = str.slice(10, 12) | 0;\n sec = str.slice(12, 14) | 0;\n } else if (tag === 'utctime') {\n year = str.slice(0, 2) | 0;\n mon = str.slice(2, 4) | 0;\n day = str.slice(4, 6) | 0;\n hour = str.slice(6, 8) | 0;\n min = str.slice(8, 10) | 0;\n sec = str.slice(10, 12) | 0;\n if (year < 70)\n year = 2000 + year;\n else\n year = 1900 + year;\n } else {\n return buffer.error('Decoding ' + tag + ' time is not supported yet');\n }\n\n return Date.UTC(year, mon - 1, day, hour, min, sec, 0);\n};\n\nDERNode.prototype._decodeNull = function decodeNull() {\n return null;\n};\n\nDERNode.prototype._decodeBool = function decodeBool(buffer) {\n const res = buffer.readUInt8();\n if (buffer.isError(res))\n return res;\n else\n return res !== 0;\n};\n\nDERNode.prototype._decodeInt = function decodeInt(buffer, values) {\n // Bigint, return as it is (assume big endian)\n const raw = buffer.raw();\n let res = new bignum(raw);\n\n if (values)\n res = values[res.toString(10)] || res;\n\n return res;\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getDecoder('der').tree;\n};\n\n// Utility methods\n\nfunction derDecodeTag(buf, fail) {\n let tag = buf.readUInt8(fail);\n if (buf.isError(tag))\n return tag;\n\n const cls = der.tagClass[tag >> 6];\n const primitive = (tag & 0x20) === 0;\n\n // Multi-octet tag - load\n if ((tag & 0x1f) === 0x1f) {\n let oct = tag;\n tag = 0;\n while ((oct & 0x80) === 0x80) {\n oct = buf.readUInt8(fail);\n if (buf.isError(oct))\n return oct;\n\n tag <<= 7;\n tag |= oct & 0x7f;\n }\n } else {\n tag &= 0x1f;\n }\n const tagStr = der.tag[tag];\n\n return {\n cls: cls,\n primitive: primitive,\n tag: tag,\n tagStr: tagStr\n };\n}\n\nfunction derDecodeLen(buf, primitive, fail) {\n let len = buf.readUInt8(fail);\n if (buf.isError(len))\n return len;\n\n // Indefinite form\n if (!primitive && len === 0x80)\n return null;\n\n // Definite form\n if ((len & 0x80) === 0) {\n // Short form\n return len;\n }\n\n // Long form\n const num = len & 0x7f;\n if (num > 4)\n return buf.error('length octect is too long');\n\n len = 0;\n for (let i = 0; i < num; i++) {\n len <<= 8;\n const j = buf.readUInt8(fail);\n if (buf.isError(j))\n return j;\n len |= j;\n }\n\n return len;\n}\n","'use strict';\n\nconst inherits = require('inherits');\nconst Buffer = require('safer-buffer').Buffer;\n\nconst DERDecoder = require('./der');\n\nfunction PEMDecoder(entity) {\n DERDecoder.call(this, entity);\n this.enc = 'pem';\n}\ninherits(PEMDecoder, DERDecoder);\nmodule.exports = PEMDecoder;\n\nPEMDecoder.prototype.decode = function decode(data, options) {\n const lines = data.toString().split(/[\\r\\n]+/g);\n\n const label = options.label.toUpperCase();\n\n const re = /^-----(BEGIN|END) ([^-]+)-----$/;\n let start = -1;\n let end = -1;\n for (let i = 0; i < lines.length; i++) {\n const match = lines[i].match(re);\n if (match === null)\n continue;\n\n if (match[2] !== label)\n continue;\n\n if (start === -1) {\n if (match[1] !== 'BEGIN')\n break;\n start = i;\n } else {\n if (match[1] !== 'END')\n break;\n end = i;\n break;\n }\n }\n if (start === -1 || end === -1)\n throw new Error('PEM section not found for: ' + label);\n\n const base64 = lines.slice(start + 1, end).join('');\n // Remove excessive symbols\n base64.replace(/[^a-z0-9+/=]+/gi, '');\n\n const input = Buffer.from(base64, 'base64');\n return DERDecoder.prototype.decode.call(this, input, options);\n};\n","'use strict';\n\nconst decoders = exports;\n\ndecoders.der = require('./der');\ndecoders.pem = require('./pem');\n","'use strict';\n\nconst encoders = require('./encoders');\nconst decoders = require('./decoders');\nconst inherits = require('inherits');\n\nconst api = exports;\n\napi.define = function define(name, body) {\n return new Entity(name, body);\n};\n\nfunction Entity(name, body) {\n this.name = name;\n this.body = body;\n\n this.decoders = {};\n this.encoders = {};\n}\n\nEntity.prototype._createNamed = function createNamed(Base) {\n const name = this.name;\n\n function Generated(entity) {\n this._initNamed(entity, name);\n }\n inherits(Generated, Base);\n Generated.prototype._initNamed = function _initNamed(entity, name) {\n Base.call(this, entity, name);\n };\n\n return new Generated(this);\n};\n\nEntity.prototype._getDecoder = function _getDecoder(enc) {\n enc = enc || 'der';\n // Lazily create decoder\n if (!this.decoders.hasOwnProperty(enc))\n this.decoders[enc] = this._createNamed(decoders[enc]);\n return this.decoders[enc];\n};\n\nEntity.prototype.decode = function decode(data, enc, options) {\n return this._getDecoder(enc).decode(data, options);\n};\n\nEntity.prototype._getEncoder = function _getEncoder(enc) {\n enc = enc || 'der';\n // Lazily create encoder\n if (!this.encoders.hasOwnProperty(enc))\n this.encoders[enc] = this._createNamed(encoders[enc]);\n return this.encoders[enc];\n};\n\nEntity.prototype.encode = function encode(data, enc, /* internal */ reporter) {\n return this._getEncoder(enc).encode(data, reporter);\n};\n","'use strict';\n\nconst base = exports;\n\nbase.Reporter = require('./reporter').Reporter;\nbase.DecoderBuffer = require('./buffer').DecoderBuffer;\nbase.EncoderBuffer = require('./buffer').EncoderBuffer;\nbase.Node = require('./node');\n","'use strict';\n\nconst constants = exports;\n\n// Helper\nconstants._reverse = function reverse(map) {\n const res = {};\n\n Object.keys(map).forEach(function(key) {\n // Convert key to integer if it is stringified\n if ((key | 0) == key)\n key = key | 0;\n\n const value = map[key];\n res[value] = key;\n });\n\n return res;\n};\n\nconstants.der = require('./der');\n","'use strict';\n\nconst asn1 = exports;\n\nasn1.bignum = require('bn.js');\n\nasn1.define = require('./asn1/api').define;\nasn1.base = require('./asn1/base');\nasn1.constants = require('./asn1/constants');\nasn1.decoders = require('./asn1/decoders');\nasn1.encoders = require('./asn1/encoders');\n","// from https://github.com/Rantanen/node-dtls/blob/25a7dc861bda38cfeac93a723500eea4f0ac2e86/Certificate.js\n// thanks to @Rantanen\n\n'use strict'\n\nvar asn = require('asn1.js')\n\nvar Time = asn.define('Time', function () {\n this.choice({\n utcTime: this.utctime(),\n generalTime: this.gentime()\n })\n})\n\nvar AttributeTypeValue = asn.define('AttributeTypeValue', function () {\n this.seq().obj(\n this.key('type').objid(),\n this.key('value').any()\n )\n})\n\nvar AlgorithmIdentifier = asn.define('AlgorithmIdentifier', function () {\n this.seq().obj(\n this.key('algorithm').objid(),\n this.key('parameters').optional(),\n this.key('curve').objid().optional()\n )\n})\n\nvar SubjectPublicKeyInfo = asn.define('SubjectPublicKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPublicKey').bitstr()\n )\n})\n\nvar RelativeDistinguishedName = asn.define('RelativeDistinguishedName', function () {\n this.setof(AttributeTypeValue)\n})\n\nvar RDNSequence = asn.define('RDNSequence', function () {\n this.seqof(RelativeDistinguishedName)\n})\n\nvar Name = asn.define('Name', function () {\n this.choice({\n rdnSequence: this.use(RDNSequence)\n })\n})\n\nvar Validity = asn.define('Validity', function () {\n this.seq().obj(\n this.key('notBefore').use(Time),\n this.key('notAfter').use(Time)\n )\n})\n\nvar Extension = asn.define('Extension', function () {\n this.seq().obj(\n this.key('extnID').objid(),\n this.key('critical').bool().def(false),\n this.key('extnValue').octstr()\n )\n})\n\nvar TBSCertificate = asn.define('TBSCertificate', function () {\n this.seq().obj(\n this.key('version').explicit(0).int().optional(),\n this.key('serialNumber').int(),\n this.key('signature').use(AlgorithmIdentifier),\n this.key('issuer').use(Name),\n this.key('validity').use(Validity),\n this.key('subject').use(Name),\n this.key('subjectPublicKeyInfo').use(SubjectPublicKeyInfo),\n this.key('issuerUniqueID').implicit(1).bitstr().optional(),\n this.key('subjectUniqueID').implicit(2).bitstr().optional(),\n this.key('extensions').explicit(3).seqof(Extension).optional()\n )\n})\n\nvar X509Certificate = asn.define('X509Certificate', function () {\n this.seq().obj(\n this.key('tbsCertificate').use(TBSCertificate),\n this.key('signatureAlgorithm').use(AlgorithmIdentifier),\n this.key('signatureValue').bitstr()\n )\n})\n\nmodule.exports = X509Certificate\n","// from https://github.com/indutny/self-signed/blob/gh-pages/lib/asn1.js\n// Fedor, you are amazing.\n'use strict'\n\nvar asn1 = require('asn1.js')\n\nexports.certificate = require('./certificate')\n\nvar RSAPrivateKey = asn1.define('RSAPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('modulus').int(),\n this.key('publicExponent').int(),\n this.key('privateExponent').int(),\n this.key('prime1').int(),\n this.key('prime2').int(),\n this.key('exponent1').int(),\n this.key('exponent2').int(),\n this.key('coefficient').int()\n )\n})\nexports.RSAPrivateKey = RSAPrivateKey\n\nvar RSAPublicKey = asn1.define('RSAPublicKey', function () {\n this.seq().obj(\n this.key('modulus').int(),\n this.key('publicExponent').int()\n )\n})\nexports.RSAPublicKey = RSAPublicKey\n\nvar PublicKey = asn1.define('SubjectPublicKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPublicKey').bitstr()\n )\n})\nexports.PublicKey = PublicKey\n\nvar AlgorithmIdentifier = asn1.define('AlgorithmIdentifier', function () {\n this.seq().obj(\n this.key('algorithm').objid(),\n this.key('none').null_().optional(),\n this.key('curve').objid().optional(),\n this.key('params').seq().obj(\n this.key('p').int(),\n this.key('q').int(),\n this.key('g').int()\n ).optional()\n )\n})\n\nvar PrivateKeyInfo = asn1.define('PrivateKeyInfo', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPrivateKey').octstr()\n )\n})\nexports.PrivateKey = PrivateKeyInfo\nvar EncryptedPrivateKeyInfo = asn1.define('EncryptedPrivateKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').seq().obj(\n this.key('id').objid(),\n this.key('decrypt').seq().obj(\n this.key('kde').seq().obj(\n this.key('id').objid(),\n this.key('kdeparams').seq().obj(\n this.key('salt').octstr(),\n this.key('iters').int()\n )\n ),\n this.key('cipher').seq().obj(\n this.key('algo').objid(),\n this.key('iv').octstr()\n )\n )\n ),\n this.key('subjectPrivateKey').octstr()\n )\n})\n\nexports.EncryptedPrivateKey = EncryptedPrivateKeyInfo\n\nvar DSAPrivateKey = asn1.define('DSAPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('p').int(),\n this.key('q').int(),\n this.key('g').int(),\n this.key('pub_key').int(),\n this.key('priv_key').int()\n )\n})\nexports.DSAPrivateKey = DSAPrivateKey\n\nexports.DSAparam = asn1.define('DSAparam', function () {\n this.int()\n})\n\nvar ECPrivateKey = asn1.define('ECPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('privateKey').octstr(),\n this.key('parameters').optional().explicit(0).use(ECParameters),\n this.key('publicKey').optional().explicit(1).bitstr()\n )\n})\nexports.ECPrivateKey = ECPrivateKey\n\nvar ECParameters = asn1.define('ECParameters', function () {\n this.choice({\n namedCurve: this.objid()\n })\n})\n\nexports.signature = asn1.define('signature', function () {\n this.seq().obj(\n this.key('r').int(),\n this.key('s').int()\n )\n})\n","// adapted from https://github.com/apatil/pemstrip\nvar findProc = /Proc-Type: 4,ENCRYPTED[\\n\\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\\n\\r]+([0-9A-z\\n\\r+/=]+)[\\n\\r]+/m\nvar startRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m\nvar fullRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\\n\\r+/=]+)-----END \\1-----$/m\nvar evp = require('evp_bytestokey')\nvar ciphers = require('browserify-aes')\nvar Buffer = require('safe-buffer').Buffer\nmodule.exports = function (okey, password) {\n var key = okey.toString()\n var match = key.match(findProc)\n var decrypted\n if (!match) {\n var match2 = key.match(fullRegex)\n decrypted = Buffer.from(match2[2].replace(/[\\r\\n]/g, ''), 'base64')\n } else {\n var suite = 'aes' + match[1]\n var iv = Buffer.from(match[2], 'hex')\n var cipherText = Buffer.from(match[3].replace(/[\\r\\n]/g, ''), 'base64')\n var cipherKey = evp(password, iv.slice(0, 8), parseInt(match[1], 10)).key\n var out = []\n var cipher = ciphers.createDecipheriv(suite, cipherKey, iv)\n out.push(cipher.update(cipherText))\n out.push(cipher.final())\n decrypted = Buffer.concat(out)\n }\n var tag = key.match(startRegex)[1]\n return {\n tag: tag,\n data: decrypted\n }\n}\n","var asn1 = require('./asn1')\nvar aesid = require('./aesid.json')\nvar fixProc = require('./fixProc')\nvar ciphers = require('browserify-aes')\nvar compat = require('pbkdf2')\nvar Buffer = require('safe-buffer').Buffer\nmodule.exports = parseKeys\n\nfunction parseKeys (buffer) {\n var password\n if (typeof buffer === 'object' && !Buffer.isBuffer(buffer)) {\n password = buffer.passphrase\n buffer = buffer.key\n }\n if (typeof buffer === 'string') {\n buffer = Buffer.from(buffer)\n }\n\n var stripped = fixProc(buffer, password)\n\n var type = stripped.tag\n var data = stripped.data\n var subtype, ndata\n switch (type) {\n case 'CERTIFICATE':\n ndata = asn1.certificate.decode(data, 'der').tbsCertificate.subjectPublicKeyInfo\n // falls through\n case 'PUBLIC KEY':\n if (!ndata) {\n ndata = asn1.PublicKey.decode(data, 'der')\n }\n subtype = ndata.algorithm.algorithm.join('.')\n switch (subtype) {\n case '1.2.840.113549.1.1.1':\n return asn1.RSAPublicKey.decode(ndata.subjectPublicKey.data, 'der')\n case '1.2.840.10045.2.1':\n ndata.subjectPrivateKey = ndata.subjectPublicKey\n return {\n type: 'ec',\n data: ndata\n }\n case '1.2.840.10040.4.1':\n ndata.algorithm.params.pub_key = asn1.DSAparam.decode(ndata.subjectPublicKey.data, 'der')\n return {\n type: 'dsa',\n data: ndata.algorithm.params\n }\n default: throw new Error('unknown key id ' + subtype)\n }\n // throw new Error('unknown key type ' + type)\n case 'ENCRYPTED PRIVATE KEY':\n data = asn1.EncryptedPrivateKey.decode(data, 'der')\n data = decrypt(data, password)\n // falls through\n case 'PRIVATE KEY':\n ndata = asn1.PrivateKey.decode(data, 'der')\n subtype = ndata.algorithm.algorithm.join('.')\n switch (subtype) {\n case '1.2.840.113549.1.1.1':\n return asn1.RSAPrivateKey.decode(ndata.subjectPrivateKey, 'der')\n case '1.2.840.10045.2.1':\n return {\n curve: ndata.algorithm.curve,\n privateKey: asn1.ECPrivateKey.decode(ndata.subjectPrivateKey, 'der').privateKey\n }\n case '1.2.840.10040.4.1':\n ndata.algorithm.params.priv_key = asn1.DSAparam.decode(ndata.subjectPrivateKey, 'der')\n return {\n type: 'dsa',\n params: ndata.algorithm.params\n }\n default: throw new Error('unknown key id ' + subtype)\n }\n // throw new Error('unknown key type ' + type)\n case 'RSA PUBLIC KEY':\n return asn1.RSAPublicKey.decode(data, 'der')\n case 'RSA PRIVATE KEY':\n return asn1.RSAPrivateKey.decode(data, 'der')\n case 'DSA PRIVATE KEY':\n return {\n type: 'dsa',\n params: asn1.DSAPrivateKey.decode(data, 'der')\n }\n case 'EC PRIVATE KEY':\n data = asn1.ECPrivateKey.decode(data, 'der')\n return {\n curve: data.parameters.value,\n privateKey: data.privateKey\n }\n default: throw new Error('unknown key type ' + type)\n }\n}\nparseKeys.signature = asn1.signature\nfunction decrypt (data, password) {\n var salt = data.algorithm.decrypt.kde.kdeparams.salt\n var iters = parseInt(data.algorithm.decrypt.kde.kdeparams.iters.toString(), 10)\n var algo = aesid[data.algorithm.decrypt.cipher.algo.join('.')]\n var iv = data.algorithm.decrypt.cipher.iv\n var cipherText = data.subjectPrivateKey\n var keylen = parseInt(algo.split('-')[1], 10) / 8\n var key = compat.pbkdf2Sync(password, salt, iters, keylen, 'sha1')\n var cipher = ciphers.createDecipheriv(algo, key, iv)\n var out = []\n out.push(cipher.update(cipherText))\n out.push(cipher.final())\n return Buffer.concat(out)\n}\n","'use strict';\n\n// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js\nvar Buffer = require('safe-buffer').Buffer;\nvar createHmac = require('create-hmac');\nvar crt = require('browserify-rsa');\nvar EC = require('elliptic').ec;\nvar BN = require('bn.js');\nvar parseKeys = require('parse-asn1');\nvar curves = require('./curves.json');\n\nvar RSA_PKCS1_PADDING = 1;\n\nfunction sign(hash, key, hashType, signType, tag) {\n var priv = parseKeys(key);\n if (priv.curve) {\n // rsa keys can be interpreted as ecdsa ones in openssl\n if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') { throw new Error('wrong private key type'); }\n return ecSign(hash, priv);\n } else if (priv.type === 'dsa') {\n if (signType !== 'dsa') { throw new Error('wrong private key type'); }\n return dsaSign(hash, priv, hashType);\n }\n if (signType !== 'rsa' && signType !== 'ecdsa/rsa') { throw new Error('wrong private key type'); }\n if (key.padding !== undefined && key.padding !== RSA_PKCS1_PADDING) { throw new Error('illegal or unsupported padding mode'); }\n\n hash = Buffer.concat([tag, hash]);\n var len = priv.modulus.byteLength();\n var pad = [0, 1];\n while (hash.length + pad.length + 1 < len) { pad.push(0xff); }\n pad.push(0x00);\n var i = -1;\n while (++i < hash.length) { pad.push(hash[i]); }\n\n var out = crt(pad, priv);\n return out;\n}\n\nfunction ecSign(hash, priv) {\n var curveId = curves[priv.curve.join('.')];\n if (!curveId) { throw new Error('unknown curve ' + priv.curve.join('.')); }\n\n var curve = new EC(curveId);\n var key = curve.keyFromPrivate(priv.privateKey);\n var out = key.sign(hash);\n\n return Buffer.from(out.toDER());\n}\n\nfunction dsaSign(hash, priv, algo) {\n var x = priv.params.priv_key;\n var p = priv.params.p;\n var q = priv.params.q;\n var g = priv.params.g;\n var r = new BN(0);\n var k;\n var H = bits2int(hash, q).mod(q);\n var s = false;\n var kv = getKey(x, q, hash, algo);\n while (s === false) {\n k = makeKey(q, kv, algo);\n r = makeR(g, k, p, q);\n s = k.invm(q).imul(H.add(x.mul(r))).mod(q);\n if (s.cmpn(0) === 0) {\n s = false;\n r = new BN(0);\n }\n }\n return toDER(r, s);\n}\n\nfunction toDER(r, s) {\n r = r.toArray();\n s = s.toArray();\n\n // Pad values\n if (r[0] & 0x80) { r = [0].concat(r); }\n if (s[0] & 0x80) { s = [0].concat(s); }\n\n var total = r.length + s.length + 4;\n var res = [\n 0x30, total, 0x02, r.length\n ];\n res = res.concat(r, [0x02, s.length], s);\n return Buffer.from(res);\n}\n\nfunction getKey(x, q, hash, algo) {\n x = Buffer.from(x.toArray());\n if (x.length < q.byteLength()) {\n var zeros = Buffer.alloc(q.byteLength() - x.length);\n x = Buffer.concat([zeros, x]);\n }\n var hlen = hash.length;\n var hbits = bits2octets(hash, q);\n var v = Buffer.alloc(hlen);\n v.fill(1);\n var k = Buffer.alloc(hlen);\n k = createHmac(algo, k).update(v).update(Buffer.from([0])).update(x).update(hbits).digest();\n v = createHmac(algo, k).update(v).digest();\n k = createHmac(algo, k).update(v).update(Buffer.from([1])).update(x).update(hbits).digest();\n v = createHmac(algo, k).update(v).digest();\n return { k: k, v: v };\n}\n\nfunction bits2int(obits, q) {\n var bits = new BN(obits);\n var shift = (obits.length << 3) - q.bitLength();\n if (shift > 0) { bits.ishrn(shift); }\n return bits;\n}\n\nfunction bits2octets(bits, q) {\n bits = bits2int(bits, q);\n bits = bits.mod(q);\n var out = Buffer.from(bits.toArray());\n if (out.length < q.byteLength()) {\n var zeros = Buffer.alloc(q.byteLength() - out.length);\n out = Buffer.concat([zeros, out]);\n }\n return out;\n}\n\nfunction makeKey(q, kv, algo) {\n var t;\n var k;\n\n do {\n t = Buffer.alloc(0);\n\n while (t.length * 8 < q.bitLength()) {\n kv.v = createHmac(algo, kv.k).update(kv.v).digest();\n t = Buffer.concat([t, kv.v]);\n }\n\n k = bits2int(t, q);\n kv.k = createHmac(algo, kv.k).update(kv.v).update(Buffer.from([0])).digest();\n kv.v = createHmac(algo, kv.k).update(kv.v).digest();\n } while (k.cmp(q) !== -1);\n\n return k;\n}\n\nfunction makeR(g, k, p, q) {\n return g.toRed(BN.mont(p)).redPow(k).fromRed().mod(q);\n}\n\nmodule.exports = sign;\nmodule.exports.getKey = getKey;\nmodule.exports.makeKey = makeKey;\n","'use strict';\n\n// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js\nvar Buffer = require('safe-buffer').Buffer;\nvar BN = require('bn.js');\nvar EC = require('elliptic').ec;\nvar parseKeys = require('parse-asn1');\nvar curves = require('./curves.json');\n\nfunction verify(sig, hash, key, signType, tag) {\n var pub = parseKeys(key);\n if (pub.type === 'ec') {\n // rsa keys can be interpreted as ecdsa ones in openssl\n if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') { throw new Error('wrong public key type'); }\n return ecVerify(sig, hash, pub);\n } else if (pub.type === 'dsa') {\n if (signType !== 'dsa') { throw new Error('wrong public key type'); }\n return dsaVerify(sig, hash, pub);\n }\n if (signType !== 'rsa' && signType !== 'ecdsa/rsa') { throw new Error('wrong public key type'); }\n\n hash = Buffer.concat([tag, hash]);\n var len = pub.modulus.byteLength();\n var pad = [1];\n var padNum = 0;\n while (hash.length + pad.length + 2 < len) {\n pad.push(0xff);\n padNum += 1;\n }\n pad.push(0x00);\n var i = -1;\n while (++i < hash.length) {\n pad.push(hash[i]);\n }\n pad = Buffer.from(pad);\n var red = BN.mont(pub.modulus);\n sig = new BN(sig).toRed(red);\n\n sig = sig.redPow(new BN(pub.publicExponent));\n sig = Buffer.from(sig.fromRed().toArray());\n var out = padNum < 8 ? 1 : 0;\n len = Math.min(sig.length, pad.length);\n if (sig.length !== pad.length) { out = 1; }\n\n i = -1;\n while (++i < len) { out |= sig[i] ^ pad[i]; }\n return out === 0;\n}\n\nfunction ecVerify(sig, hash, pub) {\n var curveId = curves[pub.data.algorithm.curve.join('.')];\n if (!curveId) { throw new Error('unknown curve ' + pub.data.algorithm.curve.join('.')); }\n\n var curve = new EC(curveId);\n var pubkey = pub.data.subjectPrivateKey.data;\n\n return curve.verify(hash, sig, pubkey);\n}\n\nfunction dsaVerify(sig, hash, pub) {\n var p = pub.data.p;\n var q = pub.data.q;\n var g = pub.data.g;\n var y = pub.data.pub_key;\n var unpacked = parseKeys.signature.decode(sig, 'der');\n var s = unpacked.s;\n var r = unpacked.r;\n checkValue(s, q);\n checkValue(r, q);\n var montp = BN.mont(p);\n var w = s.invm(q);\n var v = g.toRed(montp)\n .redPow(new BN(hash).mul(w).mod(q))\n .fromRed()\n .mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed())\n .mod(p)\n .mod(q);\n return v.cmp(r) === 0;\n}\n\nfunction checkValue(b, q) {\n if (b.cmpn(0) <= 0) { throw new Error('invalid sig'); }\n if (b.cmp(q) >= 0) { throw new Error('invalid sig'); }\n}\n\nmodule.exports = verify;\n","'use strict';\n\nvar Buffer = require('safe-buffer').Buffer;\nvar createHash = require('create-hash');\nvar stream = require('readable-stream');\nvar inherits = require('inherits');\nvar sign = require('./sign');\nvar verify = require('./verify');\n\nvar algorithms = require('./algorithms.json');\nObject.keys(algorithms).forEach(function (key) {\n algorithms[key].id = Buffer.from(algorithms[key].id, 'hex');\n algorithms[key.toLowerCase()] = algorithms[key];\n});\n\nfunction Sign(algorithm) {\n stream.Writable.call(this);\n\n var data = algorithms[algorithm];\n if (!data) { throw new Error('Unknown message digest'); }\n\n this._hashType = data.hash;\n this._hash = createHash(data.hash);\n this._tag = data.id;\n this._signType = data.sign;\n}\ninherits(Sign, stream.Writable);\n\nSign.prototype._write = function _write(data, _, done) {\n this._hash.update(data);\n done();\n};\n\nSign.prototype.update = function update(data, enc) {\n this._hash.update(typeof data === 'string' ? Buffer.from(data, enc) : data);\n\n return this;\n};\n\nSign.prototype.sign = function signMethod(key, enc) {\n this.end();\n var hash = this._hash.digest();\n var sig = sign(hash, key, this._hashType, this._signType, this._tag);\n\n return enc ? sig.toString(enc) : sig;\n};\n\nfunction Verify(algorithm) {\n stream.Writable.call(this);\n\n var data = algorithms[algorithm];\n if (!data) { throw new Error('Unknown message digest'); }\n\n this._hash = createHash(data.hash);\n this._tag = data.id;\n this._signType = data.sign;\n}\ninherits(Verify, stream.Writable);\n\nVerify.prototype._write = function _write(data, _, done) {\n this._hash.update(data);\n done();\n};\n\nVerify.prototype.update = function update(data, enc) {\n this._hash.update(typeof data === 'string' ? Buffer.from(data, enc) : data);\n\n return this;\n};\n\nVerify.prototype.verify = function verifyMethod(key, sig, enc) {\n var sigBuffer = typeof sig === 'string' ? Buffer.from(sig, enc) : sig;\n\n this.end();\n var hash = this._hash.digest();\n return verify(sigBuffer, hash, key, this._signType, this._tag);\n};\n\nfunction createSign(algorithm) {\n return new Sign(algorithm);\n}\n\nfunction createVerify(algorithm) {\n return new Verify(algorithm);\n}\n\nmodule.exports = {\n Sign: createSign,\n Verify: createVerify,\n createSign: createSign,\n createVerify: createVerify\n};\n","var elliptic = require('elliptic')\nvar BN = require('bn.js')\n\nmodule.exports = function createECDH (curve) {\n return new ECDH(curve)\n}\n\nvar aliases = {\n secp256k1: {\n name: 'secp256k1',\n byteLength: 32\n },\n secp224r1: {\n name: 'p224',\n byteLength: 28\n },\n prime256v1: {\n name: 'p256',\n byteLength: 32\n },\n prime192v1: {\n name: 'p192',\n byteLength: 24\n },\n ed25519: {\n name: 'ed25519',\n byteLength: 32\n },\n secp384r1: {\n name: 'p384',\n byteLength: 48\n },\n secp521r1: {\n name: 'p521',\n byteLength: 66\n }\n}\n\naliases.p224 = aliases.secp224r1\naliases.p256 = aliases.secp256r1 = aliases.prime256v1\naliases.p192 = aliases.secp192r1 = aliases.prime192v1\naliases.p384 = aliases.secp384r1\naliases.p521 = aliases.secp521r1\n\nfunction ECDH (curve) {\n this.curveType = aliases[curve]\n if (!this.curveType) {\n this.curveType = {\n name: curve\n }\n }\n this.curve = new elliptic.ec(this.curveType.name) // eslint-disable-line new-cap\n this.keys = void 0\n}\n\nECDH.prototype.generateKeys = function (enc, format) {\n this.keys = this.curve.genKeyPair()\n return this.getPublicKey(enc, format)\n}\n\nECDH.prototype.computeSecret = function (other, inenc, enc) {\n inenc = inenc || 'utf8'\n if (!Buffer.isBuffer(other)) {\n other = new Buffer(other, inenc)\n }\n var otherPub = this.curve.keyFromPublic(other).getPublic()\n var out = otherPub.mul(this.keys.getPrivate()).getX()\n return formatReturnValue(out, enc, this.curveType.byteLength)\n}\n\nECDH.prototype.getPublicKey = function (enc, format) {\n var key = this.keys.getPublic(format === 'compressed', true)\n if (format === 'hybrid') {\n if (key[key.length - 1] % 2) {\n key[0] = 7\n } else {\n key[0] = 6\n }\n }\n return formatReturnValue(key, enc)\n}\n\nECDH.prototype.getPrivateKey = function (enc) {\n return formatReturnValue(this.keys.getPrivate(), enc)\n}\n\nECDH.prototype.setPublicKey = function (pub, enc) {\n enc = enc || 'utf8'\n if (!Buffer.isBuffer(pub)) {\n pub = new Buffer(pub, enc)\n }\n this.keys._importPublic(pub)\n return this\n}\n\nECDH.prototype.setPrivateKey = function (priv, enc) {\n enc = enc || 'utf8'\n if (!Buffer.isBuffer(priv)) {\n priv = new Buffer(priv, enc)\n }\n\n var _priv = new BN(priv)\n _priv = _priv.toString(16)\n this.keys = this.curve.genKeyPair()\n this.keys._importPrivate(_priv)\n return this\n}\n\nfunction formatReturnValue (bn, enc, len) {\n if (!Array.isArray(bn)) {\n bn = bn.toArray()\n }\n var buf = new Buffer(bn)\n if (len && buf.length < len) {\n var zeros = new Buffer(len - buf.length)\n zeros.fill(0)\n buf = Buffer.concat([zeros, buf])\n }\n if (!enc) {\n return buf\n } else {\n return buf.toString(enc)\n }\n}\n","var createHash = require('create-hash')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function (seed, len) {\n var t = Buffer.alloc(0)\n var i = 0\n var c\n while (t.length < len) {\n c = i2ops(i++)\n t = Buffer.concat([t, createHash('sha1').update(seed).update(c).digest()])\n }\n return t.slice(0, len)\n}\n\nfunction i2ops (c) {\n var out = Buffer.allocUnsafe(4)\n out.writeUInt32BE(c, 0)\n return out\n}\n","module.exports = function xor (a, b) {\n var len = a.length\n var i = -1\n while (++i < len) {\n a[i] ^= b[i]\n }\n return a\n}\n","var BN = require('bn.js')\nvar Buffer = require('safe-buffer').Buffer\n\nfunction withPublic (paddedMsg, key) {\n return Buffer.from(paddedMsg\n .toRed(BN.mont(key.modulus))\n .redPow(new BN(key.publicExponent))\n .fromRed()\n .toArray())\n}\n\nmodule.exports = withPublic\n","var parseKeys = require('parse-asn1')\nvar randomBytes = require('randombytes')\nvar createHash = require('create-hash')\nvar mgf = require('./mgf')\nvar xor = require('./xor')\nvar BN = require('bn.js')\nvar withPublic = require('./withPublic')\nvar crt = require('browserify-rsa')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function publicEncrypt (publicKey, msg, reverse) {\n var padding\n if (publicKey.padding) {\n padding = publicKey.padding\n } else if (reverse) {\n padding = 1\n } else {\n padding = 4\n }\n var key = parseKeys(publicKey)\n var paddedMsg\n if (padding === 4) {\n paddedMsg = oaep(key, msg)\n } else if (padding === 1) {\n paddedMsg = pkcs1(key, msg, reverse)\n } else if (padding === 3) {\n paddedMsg = new BN(msg)\n if (paddedMsg.cmp(key.modulus) >= 0) {\n throw new Error('data too long for modulus')\n }\n } else {\n throw new Error('unknown padding')\n }\n if (reverse) {\n return crt(paddedMsg, key)\n } else {\n return withPublic(paddedMsg, key)\n }\n}\n\nfunction oaep (key, msg) {\n var k = key.modulus.byteLength()\n var mLen = msg.length\n var iHash = createHash('sha1').update(Buffer.alloc(0)).digest()\n var hLen = iHash.length\n var hLen2 = 2 * hLen\n if (mLen > k - hLen2 - 2) {\n throw new Error('message too long')\n }\n var ps = Buffer.alloc(k - mLen - hLen2 - 2)\n var dblen = k - hLen - 1\n var seed = randomBytes(hLen)\n var maskedDb = xor(Buffer.concat([iHash, ps, Buffer.alloc(1, 1), msg], dblen), mgf(seed, dblen))\n var maskedSeed = xor(seed, mgf(maskedDb, hLen))\n return new BN(Buffer.concat([Buffer.alloc(1), maskedSeed, maskedDb], k))\n}\nfunction pkcs1 (key, msg, reverse) {\n var mLen = msg.length\n var k = key.modulus.byteLength()\n if (mLen > k - 11) {\n throw new Error('message too long')\n }\n var ps\n if (reverse) {\n ps = Buffer.alloc(k - mLen - 3, 0xff)\n } else {\n ps = nonZero(k - mLen - 3)\n }\n return new BN(Buffer.concat([Buffer.from([0, reverse ? 1 : 2]), ps, Buffer.alloc(1), msg], k))\n}\nfunction nonZero (len) {\n var out = Buffer.allocUnsafe(len)\n var i = 0\n var cache = randomBytes(len * 2)\n var cur = 0\n var num\n while (i < len) {\n if (cur === cache.length) {\n cache = randomBytes(len * 2)\n cur = 0\n }\n num = cache[cur++]\n if (num) {\n out[i++] = num\n }\n }\n return out\n}\n","var parseKeys = require('parse-asn1')\nvar mgf = require('./mgf')\nvar xor = require('./xor')\nvar BN = require('bn.js')\nvar crt = require('browserify-rsa')\nvar createHash = require('create-hash')\nvar withPublic = require('./withPublic')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function privateDecrypt (privateKey, enc, reverse) {\n var padding\n if (privateKey.padding) {\n padding = privateKey.padding\n } else if (reverse) {\n padding = 1\n } else {\n padding = 4\n }\n\n var key = parseKeys(privateKey)\n var k = key.modulus.byteLength()\n if (enc.length > k || new BN(enc).cmp(key.modulus) >= 0) {\n throw new Error('decryption error')\n }\n var msg\n if (reverse) {\n msg = withPublic(new BN(enc), key)\n } else {\n msg = crt(enc, key)\n }\n var zBuffer = Buffer.alloc(k - msg.length)\n msg = Buffer.concat([zBuffer, msg], k)\n if (padding === 4) {\n return oaep(key, msg)\n } else if (padding === 1) {\n return pkcs1(key, msg, reverse)\n } else if (padding === 3) {\n return msg\n } else {\n throw new Error('unknown padding')\n }\n}\n\nfunction oaep (key, msg) {\n var k = key.modulus.byteLength()\n var iHash = createHash('sha1').update(Buffer.alloc(0)).digest()\n var hLen = iHash.length\n if (msg[0] !== 0) {\n throw new Error('decryption error')\n }\n var maskedSeed = msg.slice(1, hLen + 1)\n var maskedDb = msg.slice(hLen + 1)\n var seed = xor(maskedSeed, mgf(maskedDb, hLen))\n var db = xor(maskedDb, mgf(seed, k - hLen - 1))\n if (compare(iHash, db.slice(0, hLen))) {\n throw new Error('decryption error')\n }\n var i = hLen\n while (db[i] === 0) {\n i++\n }\n if (db[i++] !== 1) {\n throw new Error('decryption error')\n }\n return db.slice(i)\n}\n\nfunction pkcs1 (key, msg, reverse) {\n var p1 = msg.slice(0, 2)\n var i = 2\n var status = 0\n while (msg[i++] !== 0) {\n if (i >= msg.length) {\n status++\n break\n }\n }\n var ps = msg.slice(2, i - 1)\n\n if ((p1.toString('hex') !== '0002' && !reverse) || (p1.toString('hex') !== '0001' && reverse)) {\n status++\n }\n if (ps.length < 8) {\n status++\n }\n if (status) {\n throw new Error('decryption error')\n }\n return msg.slice(i)\n}\nfunction compare (a, b) {\n a = Buffer.from(a)\n b = Buffer.from(b)\n var dif = 0\n var len = a.length\n if (a.length !== b.length) {\n dif++\n len = Math.min(a.length, b.length)\n }\n var i = -1\n while (++i < len) {\n dif += (a[i] ^ b[i])\n }\n return dif\n}\n","exports.publicEncrypt = require('./publicEncrypt')\nexports.privateDecrypt = require('./privateDecrypt')\n\nexports.privateEncrypt = function privateEncrypt (key, buf) {\n return exports.publicEncrypt(key, buf, true)\n}\n\nexports.publicDecrypt = function publicDecrypt (key, buf) {\n return exports.privateDecrypt(key, buf, true)\n}\n","'use strict'\n\nfunction oldBrowser () {\n throw new Error('secure random number generation not supported by this browser\\nuse chrome, FireFox or Internet Explorer 11')\n}\nvar safeBuffer = require('safe-buffer')\nvar randombytes = require('randombytes')\nvar Buffer = safeBuffer.Buffer\nvar kBufferMaxLength = safeBuffer.kMaxLength\nvar crypto = global.crypto || global.msCrypto\nvar kMaxUint32 = Math.pow(2, 32) - 1\nfunction assertOffset (offset, length) {\n if (typeof offset !== 'number' || offset !== offset) { // eslint-disable-line no-self-compare\n throw new TypeError('offset must be a number')\n }\n\n if (offset > kMaxUint32 || offset < 0) {\n throw new TypeError('offset must be a uint32')\n }\n\n if (offset > kBufferMaxLength || offset > length) {\n throw new RangeError('offset out of range')\n }\n}\n\nfunction assertSize (size, offset, length) {\n if (typeof size !== 'number' || size !== size) { // eslint-disable-line no-self-compare\n throw new TypeError('size must be a number')\n }\n\n if (size > kMaxUint32 || size < 0) {\n throw new TypeError('size must be a uint32')\n }\n\n if (size + offset > length || size > kBufferMaxLength) {\n throw new RangeError('buffer too small')\n }\n}\nif ((crypto && crypto.getRandomValues) || !process.browser) {\n exports.randomFill = randomFill\n exports.randomFillSync = randomFillSync\n} else {\n exports.randomFill = oldBrowser\n exports.randomFillSync = oldBrowser\n}\nfunction randomFill (buf, offset, size, cb) {\n if (!Buffer.isBuffer(buf) && !(buf instanceof global.Uint8Array)) {\n throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array')\n }\n\n if (typeof offset === 'function') {\n cb = offset\n offset = 0\n size = buf.length\n } else if (typeof size === 'function') {\n cb = size\n size = buf.length - offset\n } else if (typeof cb !== 'function') {\n throw new TypeError('\"cb\" argument must be a function')\n }\n assertOffset(offset, buf.length)\n assertSize(size, offset, buf.length)\n return actualFill(buf, offset, size, cb)\n}\n\nfunction actualFill (buf, offset, size, cb) {\n if (process.browser) {\n var ourBuf = buf.buffer\n var uint = new Uint8Array(ourBuf, offset, size)\n crypto.getRandomValues(uint)\n if (cb) {\n process.nextTick(function () {\n cb(null, buf)\n })\n return\n }\n return buf\n }\n if (cb) {\n randombytes(size, function (err, bytes) {\n if (err) {\n return cb(err)\n }\n bytes.copy(buf, offset)\n cb(null, buf)\n })\n return\n }\n var bytes = randombytes(size)\n bytes.copy(buf, offset)\n return buf\n}\nfunction randomFillSync (buf, offset, size) {\n if (typeof offset === 'undefined') {\n offset = 0\n }\n if (!Buffer.isBuffer(buf) && !(buf instanceof global.Uint8Array)) {\n throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array')\n }\n\n assertOffset(offset, buf.length)\n\n if (size === undefined) size = buf.length - offset\n\n assertSize(size, offset, buf.length)\n\n return actualFill(buf, offset, size)\n}\n","'use strict'\n\nexports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = require('randombytes')\nexports.createHash = exports.Hash = require('create-hash')\nexports.createHmac = exports.Hmac = require('create-hmac')\n\nvar algos = require('browserify-sign/algos')\nvar algoKeys = Object.keys(algos)\nvar hashes = ['sha1', 'sha224', 'sha256', 'sha384', 'sha512', 'md5', 'rmd160'].concat(algoKeys)\nexports.getHashes = function () {\n return hashes\n}\n\nvar p = require('pbkdf2')\nexports.pbkdf2 = p.pbkdf2\nexports.pbkdf2Sync = p.pbkdf2Sync\n\nvar aes = require('browserify-cipher')\n\nexports.Cipher = aes.Cipher\nexports.createCipher = aes.createCipher\nexports.Cipheriv = aes.Cipheriv\nexports.createCipheriv = aes.createCipheriv\nexports.Decipher = aes.Decipher\nexports.createDecipher = aes.createDecipher\nexports.Decipheriv = aes.Decipheriv\nexports.createDecipheriv = aes.createDecipheriv\nexports.getCiphers = aes.getCiphers\nexports.listCiphers = aes.listCiphers\n\nvar dh = require('diffie-hellman')\n\nexports.DiffieHellmanGroup = dh.DiffieHellmanGroup\nexports.createDiffieHellmanGroup = dh.createDiffieHellmanGroup\nexports.getDiffieHellman = dh.getDiffieHellman\nexports.createDiffieHellman = dh.createDiffieHellman\nexports.DiffieHellman = dh.DiffieHellman\n\nvar sign = require('browserify-sign')\n\nexports.createSign = sign.createSign\nexports.Sign = sign.Sign\nexports.createVerify = sign.createVerify\nexports.Verify = sign.Verify\n\nexports.createECDH = require('create-ecdh')\n\nvar publicEncrypt = require('public-encrypt')\n\nexports.publicEncrypt = publicEncrypt.publicEncrypt\nexports.privateEncrypt = publicEncrypt.privateEncrypt\nexports.publicDecrypt = publicEncrypt.publicDecrypt\nexports.privateDecrypt = publicEncrypt.privateDecrypt\n\n// the least I can do is make error messages for the rest of the node.js/crypto api.\n// ;[\n// 'createCredentials'\n// ].forEach(function (name) {\n// exports[name] = function () {\n// throw new Error([\n// 'sorry, ' + name + ' is not implemented yet',\n// 'we accept pull requests',\n// 'https://github.com/crypto-browserify/crypto-browserify'\n// ].join('\\n'))\n// }\n// })\n\nvar rf = require('randomfill')\n\nexports.randomFill = rf.randomFill\nexports.randomFillSync = rf.randomFillSync\n\nexports.createCredentials = function () {\n throw new Error([\n 'sorry, createCredentials is not implemented yet',\n 'we accept pull requests',\n 'https://github.com/crypto-browserify/crypto-browserify'\n ].join('\\n'))\n}\n\nexports.constants = {\n 'DH_CHECK_P_NOT_SAFE_PRIME': 2,\n 'DH_CHECK_P_NOT_PRIME': 1,\n 'DH_UNABLE_TO_CHECK_GENERATOR': 4,\n 'DH_NOT_SUITABLE_GENERATOR': 8,\n 'NPN_ENABLED': 1,\n 'ALPN_ENABLED': 1,\n 'RSA_PKCS1_PADDING': 1,\n 'RSA_SSLV23_PADDING': 2,\n 'RSA_NO_PADDING': 3,\n 'RSA_PKCS1_OAEP_PADDING': 4,\n 'RSA_X931_PADDING': 5,\n 'RSA_PKCS1_PSS_PADDING': 6,\n 'POINT_CONVERSION_COMPRESSED': 2,\n 'POINT_CONVERSION_UNCOMPRESSED': 4,\n 'POINT_CONVERSION_HYBRID': 6\n}\n","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NodeRandomSource = void 0;\nconst wipe_1 = require(\"@stablelib/wipe\");\nclass NodeRandomSource {\n constructor() {\n this.isAvailable = false;\n this.isInstantiated = false;\n if (typeof require !== \"undefined\") {\n const nodeCrypto = require(\"crypto\");\n if (nodeCrypto && nodeCrypto.randomBytes) {\n this._crypto = nodeCrypto;\n this.isAvailable = true;\n this.isInstantiated = true;\n }\n }\n }\n randomBytes(length) {\n if (!this.isAvailable || !this._crypto) {\n throw new Error(\"Node.js random byte generator is not available.\");\n }\n // Get random bytes (result is Buffer).\n let buffer = this._crypto.randomBytes(length);\n // Make sure we got the length that we requested.\n if (buffer.length !== length) {\n throw new Error(\"NodeRandomSource: got fewer bytes than requested\");\n }\n // Allocate output array.\n const out = new Uint8Array(length);\n // Copy bytes from buffer to output.\n for (let i = 0; i < out.length; i++) {\n out[i] = buffer[i];\n }\n // Cleanup.\n (0, wipe_1.wipe)(buffer);\n return out;\n }\n}\nexports.NodeRandomSource = NodeRandomSource;\n//# sourceMappingURL=node.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SystemRandomSource = void 0;\nconst browser_1 = require(\"./browser\");\nconst node_1 = require(\"./node\");\nclass SystemRandomSource {\n constructor() {\n this.isAvailable = false;\n this.name = \"\";\n // Try browser.\n this._source = new browser_1.BrowserRandomSource();\n if (this._source.isAvailable) {\n this.isAvailable = true;\n this.name = \"Browser\";\n return;\n }\n // If no browser source, try Node.\n this._source = new node_1.NodeRandomSource();\n if (this._source.isAvailable) {\n this.isAvailable = true;\n this.name = \"Node\";\n return;\n }\n // No sources, we're out of options.\n }\n randomBytes(length) {\n if (!this.isAvailable) {\n throw new Error(\"System random byte generator is not available.\");\n }\n return this._source.randomBytes(length);\n }\n}\nexports.SystemRandomSource = SystemRandomSource;\n//# sourceMappingURL=system.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.randomStringForEntropy = exports.randomString = exports.randomUint32 = exports.randomBytes = exports.defaultRandomSource = void 0;\nconst system_1 = require(\"./source/system\");\nconst binary_1 = require(\"@stablelib/binary\");\nconst wipe_1 = require(\"@stablelib/wipe\");\nexports.defaultRandomSource = new system_1.SystemRandomSource();\nfunction randomBytes(length, prng = exports.defaultRandomSource) {\n return prng.randomBytes(length);\n}\nexports.randomBytes = randomBytes;\n/**\n * Returns a uniformly random unsigned 32-bit integer.\n */\nfunction randomUint32(prng = exports.defaultRandomSource) {\n // Generate 4-byte random buffer.\n const buf = randomBytes(4, prng);\n // Convert bytes from buffer into a 32-bit integer.\n // It's not important which byte order to use, since\n // the result is random.\n const result = (0, binary_1.readUint32LE)(buf);\n // Clean the buffer.\n (0, wipe_1.wipe)(buf);\n return result;\n}\nexports.randomUint32 = randomUint32;\n/** 62 alphanumeric characters for default charset of randomString() */\nconst ALPHANUMERIC = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\n/**\n * Returns a uniform random string of the given length\n * with characters from the given charset.\n *\n * Charset must not have more than 256 characters.\n *\n * Default charset generates case-sensitive alphanumeric\n * strings (0-9, A-Z, a-z).\n */\nfunction randomString(length, charset = ALPHANUMERIC, prng = exports.defaultRandomSource) {\n if (charset.length < 2) {\n throw new Error(\"randomString charset is too short\");\n }\n if (charset.length > 256) {\n throw new Error(\"randomString charset is too long\");\n }\n let out = '';\n const charsLen = charset.length;\n const maxByte = 256 - (256 % charsLen);\n while (length > 0) {\n const buf = randomBytes(Math.ceil(length * 256 / maxByte), prng);\n for (let i = 0; i < buf.length && length > 0; i++) {\n const randomByte = buf[i];\n if (randomByte < maxByte) {\n out += charset.charAt(randomByte % charsLen);\n length--;\n }\n }\n (0, wipe_1.wipe)(buf);\n }\n return out;\n}\nexports.randomString = randomString;\n/**\n * Returns uniform random string containing at least the given\n * number of bits of entropy.\n *\n * For example, randomStringForEntropy(128) will return a 22-character\n * alphanumeric string, while randomStringForEntropy(128, \"0123456789\")\n * will return a 39-character numeric string, both will contain at\n * least 128 bits of entropy.\n *\n * Default charset generates case-sensitive alphanumeric\n * strings (0-9, A-Z, a-z).\n */\nfunction randomStringForEntropy(bits, charset = ALPHANUMERIC, prng = exports.defaultRandomSource) {\n const length = Math.ceil(bits / (Math.log(charset.length) / Math.LN2));\n return randomString(length, charset, prng);\n}\nexports.randomStringForEntropy = randomStringForEntropy;\n//# sourceMappingURL=random.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar binary_1 = require(\"@stablelib/binary\");\nvar wipe_1 = require(\"@stablelib/wipe\");\nexports.DIGEST_LENGTH = 32;\nexports.BLOCK_SIZE = 64;\n/**\n * SHA2-256 cryptographic hash algorithm.\n */\nvar SHA256 = /** @class */ (function () {\n function SHA256() {\n /** Length of hash output */\n this.digestLength = exports.DIGEST_LENGTH;\n /** Block size */\n this.blockSize = exports.BLOCK_SIZE;\n // Note: Int32Array is used instead of Uint32Array for performance reasons.\n this._state = new Int32Array(8); // hash state\n this._temp = new Int32Array(64); // temporary state\n this._buffer = new Uint8Array(128); // buffer for data to hash\n this._bufferLength = 0; // number of bytes in buffer\n this._bytesHashed = 0; // number of total bytes hashed\n this._finished = false; // indicates whether the hash was finalized\n this.reset();\n }\n SHA256.prototype._initState = function () {\n this._state[0] = 0x6a09e667;\n this._state[1] = 0xbb67ae85;\n this._state[2] = 0x3c6ef372;\n this._state[3] = 0xa54ff53a;\n this._state[4] = 0x510e527f;\n this._state[5] = 0x9b05688c;\n this._state[6] = 0x1f83d9ab;\n this._state[7] = 0x5be0cd19;\n };\n /**\n * Resets hash state making it possible\n * to re-use this instance to hash other data.\n */\n SHA256.prototype.reset = function () {\n this._initState();\n this._bufferLength = 0;\n this._bytesHashed = 0;\n this._finished = false;\n return this;\n };\n /**\n * Cleans internal buffers and resets hash state.\n */\n SHA256.prototype.clean = function () {\n wipe_1.wipe(this._buffer);\n wipe_1.wipe(this._temp);\n this.reset();\n };\n /**\n * Updates hash state with the given data.\n *\n * Throws error when trying to update already finalized hash:\n * instance must be reset to update it again.\n */\n SHA256.prototype.update = function (data, dataLength) {\n if (dataLength === void 0) { dataLength = data.length; }\n if (this._finished) {\n throw new Error(\"SHA256: can't update because hash was finished.\");\n }\n var dataPos = 0;\n this._bytesHashed += dataLength;\n if (this._bufferLength > 0) {\n while (this._bufferLength < this.blockSize && dataLength > 0) {\n this._buffer[this._bufferLength++] = data[dataPos++];\n dataLength--;\n }\n if (this._bufferLength === this.blockSize) {\n hashBlocks(this._temp, this._state, this._buffer, 0, this.blockSize);\n this._bufferLength = 0;\n }\n }\n if (dataLength >= this.blockSize) {\n dataPos = hashBlocks(this._temp, this._state, data, dataPos, dataLength);\n dataLength %= this.blockSize;\n }\n while (dataLength > 0) {\n this._buffer[this._bufferLength++] = data[dataPos++];\n dataLength--;\n }\n return this;\n };\n /**\n * Finalizes hash state and puts hash into out.\n * If hash was already finalized, puts the same value.\n */\n SHA256.prototype.finish = function (out) {\n if (!this._finished) {\n var bytesHashed = this._bytesHashed;\n var left = this._bufferLength;\n var bitLenHi = (bytesHashed / 0x20000000) | 0;\n var bitLenLo = bytesHashed << 3;\n var padLength = (bytesHashed % 64 < 56) ? 64 : 128;\n this._buffer[left] = 0x80;\n for (var i = left + 1; i < padLength - 8; i++) {\n this._buffer[i] = 0;\n }\n binary_1.writeUint32BE(bitLenHi, this._buffer, padLength - 8);\n binary_1.writeUint32BE(bitLenLo, this._buffer, padLength - 4);\n hashBlocks(this._temp, this._state, this._buffer, 0, padLength);\n this._finished = true;\n }\n for (var i = 0; i < this.digestLength / 4; i++) {\n binary_1.writeUint32BE(this._state[i], out, i * 4);\n }\n return this;\n };\n /**\n * Returns the final hash digest.\n */\n SHA256.prototype.digest = function () {\n var out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n };\n /**\n * Function useful for HMAC/PBKDF2 optimization.\n * Returns hash state to be used with restoreState().\n * Only chain value is saved, not buffers or other\n * state variables.\n */\n SHA256.prototype.saveState = function () {\n if (this._finished) {\n throw new Error(\"SHA256: cannot save finished state\");\n }\n return {\n state: new Int32Array(this._state),\n buffer: this._bufferLength > 0 ? new Uint8Array(this._buffer) : undefined,\n bufferLength: this._bufferLength,\n bytesHashed: this._bytesHashed\n };\n };\n /**\n * Function useful for HMAC/PBKDF2 optimization.\n * Restores state saved by saveState() and sets bytesHashed\n * to the given value.\n */\n SHA256.prototype.restoreState = function (savedState) {\n this._state.set(savedState.state);\n this._bufferLength = savedState.bufferLength;\n if (savedState.buffer) {\n this._buffer.set(savedState.buffer);\n }\n this._bytesHashed = savedState.bytesHashed;\n this._finished = false;\n return this;\n };\n /**\n * Cleans state returned by saveState().\n */\n SHA256.prototype.cleanSavedState = function (savedState) {\n wipe_1.wipe(savedState.state);\n if (savedState.buffer) {\n wipe_1.wipe(savedState.buffer);\n }\n savedState.bufferLength = 0;\n savedState.bytesHashed = 0;\n };\n return SHA256;\n}());\nexports.SHA256 = SHA256;\n// Constants\nvar K = new Int32Array([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b,\n 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01,\n 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7,\n 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152,\n 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,\n 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc,\n 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819,\n 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08,\n 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f,\n 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n]);\nfunction hashBlocks(w, v, p, pos, len) {\n while (len >= 64) {\n var a = v[0];\n var b = v[1];\n var c = v[2];\n var d = v[3];\n var e = v[4];\n var f = v[5];\n var g = v[6];\n var h = v[7];\n for (var i = 0; i < 16; i++) {\n var j = pos + i * 4;\n w[i] = binary_1.readUint32BE(p, j);\n }\n for (var i = 16; i < 64; i++) {\n var u = w[i - 2];\n var t1 = (u >>> 17 | u << (32 - 17)) ^ (u >>> 19 | u << (32 - 19)) ^ (u >>> 10);\n u = w[i - 15];\n var t2 = (u >>> 7 | u << (32 - 7)) ^ (u >>> 18 | u << (32 - 18)) ^ (u >>> 3);\n w[i] = (t1 + w[i - 7] | 0) + (t2 + w[i - 16] | 0);\n }\n for (var i = 0; i < 64; i++) {\n var t1 = (((((e >>> 6 | e << (32 - 6)) ^ (e >>> 11 | e << (32 - 11)) ^\n (e >>> 25 | e << (32 - 25))) + ((e & f) ^ (~e & g))) | 0) +\n ((h + ((K[i] + w[i]) | 0)) | 0)) | 0;\n var t2 = (((a >>> 2 | a << (32 - 2)) ^ (a >>> 13 | a << (32 - 13)) ^\n (a >>> 22 | a << (32 - 22))) + ((a & b) ^ (a & c) ^ (b & c))) | 0;\n h = g;\n g = f;\n f = e;\n e = (d + t1) | 0;\n d = c;\n c = b;\n b = a;\n a = (t1 + t2) | 0;\n }\n v[0] += a;\n v[1] += b;\n v[2] += c;\n v[3] += d;\n v[4] += e;\n v[5] += f;\n v[6] += g;\n v[7] += h;\n pos += 64;\n len -= 64;\n }\n return pos;\n}\nfunction hash(data) {\n var h = new SHA256();\n h.update(data);\n var digest = h.digest();\n h.clean();\n return digest;\n}\nexports.hash = hash;\n//# sourceMappingURL=sha256.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sharedKey = exports.generateKeyPair = exports.generateKeyPairFromSeed = exports.scalarMultBase = exports.scalarMult = exports.SHARED_KEY_LENGTH = exports.SECRET_KEY_LENGTH = exports.PUBLIC_KEY_LENGTH = void 0;\n/**\n * Package x25519 implements X25519 key agreement.\n */\nconst random_1 = require(\"@stablelib/random\");\nconst wipe_1 = require(\"@stablelib/wipe\");\nexports.PUBLIC_KEY_LENGTH = 32;\nexports.SECRET_KEY_LENGTH = 32;\nexports.SHARED_KEY_LENGTH = 32;\n// Returns new zero-filled 16-element GF (Float64Array).\n// If passed an array of numbers, prefills the returned\n// array with them.\n//\n// We use Float64Array, because we need 48-bit numbers\n// for this implementation.\nfunction gf(init) {\n const r = new Float64Array(16);\n if (init) {\n for (let i = 0; i < init.length; i++) {\n r[i] = init[i];\n }\n }\n return r;\n}\n// Base point.\nconst _9 = new Uint8Array(32);\n_9[0] = 9;\nconst _121665 = gf([0xdb41, 1]);\nfunction car25519(o) {\n let c = 1;\n for (let i = 0; i < 16; i++) {\n let v = o[i] + c + 65535;\n c = Math.floor(v / 65536);\n o[i] = v - c * 65536;\n }\n o[0] += c - 1 + 37 * (c - 1);\n}\nfunction sel25519(p, q, b) {\n const c = ~(b - 1);\n for (let i = 0; i < 16; i++) {\n const t = c & (p[i] ^ q[i]);\n p[i] ^= t;\n q[i] ^= t;\n }\n}\nfunction pack25519(o, n) {\n const m = gf();\n const t = gf();\n for (let i = 0; i < 16; i++) {\n t[i] = n[i];\n }\n car25519(t);\n car25519(t);\n car25519(t);\n for (let j = 0; j < 2; j++) {\n m[0] = t[0] - 0xffed;\n for (let i = 1; i < 15; i++) {\n m[i] = t[i] - 0xffff - ((m[i - 1] >> 16) & 1);\n m[i - 1] &= 0xffff;\n }\n m[15] = t[15] - 0x7fff - ((m[14] >> 16) & 1);\n const b = (m[15] >> 16) & 1;\n m[14] &= 0xffff;\n sel25519(t, m, 1 - b);\n }\n for (let i = 0; i < 16; i++) {\n o[2 * i] = t[i] & 0xff;\n o[2 * i + 1] = t[i] >> 8;\n }\n}\nfunction unpack25519(o, n) {\n for (let i = 0; i < 16; i++) {\n o[i] = n[2 * i] + (n[2 * i + 1] << 8);\n }\n o[15] &= 0x7fff;\n}\nfunction add(o, a, b) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] + b[i];\n }\n}\nfunction sub(o, a, b) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] - b[i];\n }\n}\nfunction mul(o, a, b) {\n let v, c, t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0, t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0, t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0, t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0, b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3], b4 = b[4], b5 = b[5], b6 = b[6], b7 = b[7], b8 = b[8], b9 = b[9], b10 = b[10], b11 = b[11], b12 = b[12], b13 = b[13], b14 = b[14], b15 = b[15];\n v = a[0];\n t0 += v * b0;\n t1 += v * b1;\n t2 += v * b2;\n t3 += v * b3;\n t4 += v * b4;\n t5 += v * b5;\n t6 += v * b6;\n t7 += v * b7;\n t8 += v * b8;\n t9 += v * b9;\n t10 += v * b10;\n t11 += v * b11;\n t12 += v * b12;\n t13 += v * b13;\n t14 += v * b14;\n t15 += v * b15;\n v = a[1];\n t1 += v * b0;\n t2 += v * b1;\n t3 += v * b2;\n t4 += v * b3;\n t5 += v * b4;\n t6 += v * b5;\n t7 += v * b6;\n t8 += v * b7;\n t9 += v * b8;\n t10 += v * b9;\n t11 += v * b10;\n t12 += v * b11;\n t13 += v * b12;\n t14 += v * b13;\n t15 += v * b14;\n t16 += v * b15;\n v = a[2];\n t2 += v * b0;\n t3 += v * b1;\n t4 += v * b2;\n t5 += v * b3;\n t6 += v * b4;\n t7 += v * b5;\n t8 += v * b6;\n t9 += v * b7;\n t10 += v * b8;\n t11 += v * b9;\n t12 += v * b10;\n t13 += v * b11;\n t14 += v * b12;\n t15 += v * b13;\n t16 += v * b14;\n t17 += v * b15;\n v = a[3];\n t3 += v * b0;\n t4 += v * b1;\n t5 += v * b2;\n t6 += v * b3;\n t7 += v * b4;\n t8 += v * b5;\n t9 += v * b6;\n t10 += v * b7;\n t11 += v * b8;\n t12 += v * b9;\n t13 += v * b10;\n t14 += v * b11;\n t15 += v * b12;\n t16 += v * b13;\n t17 += v * b14;\n t18 += v * b15;\n v = a[4];\n t4 += v * b0;\n t5 += v * b1;\n t6 += v * b2;\n t7 += v * b3;\n t8 += v * b4;\n t9 += v * b5;\n t10 += v * b6;\n t11 += v * b7;\n t12 += v * b8;\n t13 += v * b9;\n t14 += v * b10;\n t15 += v * b11;\n t16 += v * b12;\n t17 += v * b13;\n t18 += v * b14;\n t19 += v * b15;\n v = a[5];\n t5 += v * b0;\n t6 += v * b1;\n t7 += v * b2;\n t8 += v * b3;\n t9 += v * b4;\n t10 += v * b5;\n t11 += v * b6;\n t12 += v * b7;\n t13 += v * b8;\n t14 += v * b9;\n t15 += v * b10;\n t16 += v * b11;\n t17 += v * b12;\n t18 += v * b13;\n t19 += v * b14;\n t20 += v * b15;\n v = a[6];\n t6 += v * b0;\n t7 += v * b1;\n t8 += v * b2;\n t9 += v * b3;\n t10 += v * b4;\n t11 += v * b5;\n t12 += v * b6;\n t13 += v * b7;\n t14 += v * b8;\n t15 += v * b9;\n t16 += v * b10;\n t17 += v * b11;\n t18 += v * b12;\n t19 += v * b13;\n t20 += v * b14;\n t21 += v * b15;\n v = a[7];\n t7 += v * b0;\n t8 += v * b1;\n t9 += v * b2;\n t10 += v * b3;\n t11 += v * b4;\n t12 += v * b5;\n t13 += v * b6;\n t14 += v * b7;\n t15 += v * b8;\n t16 += v * b9;\n t17 += v * b10;\n t18 += v * b11;\n t19 += v * b12;\n t20 += v * b13;\n t21 += v * b14;\n t22 += v * b15;\n v = a[8];\n t8 += v * b0;\n t9 += v * b1;\n t10 += v * b2;\n t11 += v * b3;\n t12 += v * b4;\n t13 += v * b5;\n t14 += v * b6;\n t15 += v * b7;\n t16 += v * b8;\n t17 += v * b9;\n t18 += v * b10;\n t19 += v * b11;\n t20 += v * b12;\n t21 += v * b13;\n t22 += v * b14;\n t23 += v * b15;\n v = a[9];\n t9 += v * b0;\n t10 += v * b1;\n t11 += v * b2;\n t12 += v * b3;\n t13 += v * b4;\n t14 += v * b5;\n t15 += v * b6;\n t16 += v * b7;\n t17 += v * b8;\n t18 += v * b9;\n t19 += v * b10;\n t20 += v * b11;\n t21 += v * b12;\n t22 += v * b13;\n t23 += v * b14;\n t24 += v * b15;\n v = a[10];\n t10 += v * b0;\n t11 += v * b1;\n t12 += v * b2;\n t13 += v * b3;\n t14 += v * b4;\n t15 += v * b5;\n t16 += v * b6;\n t17 += v * b7;\n t18 += v * b8;\n t19 += v * b9;\n t20 += v * b10;\n t21 += v * b11;\n t22 += v * b12;\n t23 += v * b13;\n t24 += v * b14;\n t25 += v * b15;\n v = a[11];\n t11 += v * b0;\n t12 += v * b1;\n t13 += v * b2;\n t14 += v * b3;\n t15 += v * b4;\n t16 += v * b5;\n t17 += v * b6;\n t18 += v * b7;\n t19 += v * b8;\n t20 += v * b9;\n t21 += v * b10;\n t22 += v * b11;\n t23 += v * b12;\n t24 += v * b13;\n t25 += v * b14;\n t26 += v * b15;\n v = a[12];\n t12 += v * b0;\n t13 += v * b1;\n t14 += v * b2;\n t15 += v * b3;\n t16 += v * b4;\n t17 += v * b5;\n t18 += v * b6;\n t19 += v * b7;\n t20 += v * b8;\n t21 += v * b9;\n t22 += v * b10;\n t23 += v * b11;\n t24 += v * b12;\n t25 += v * b13;\n t26 += v * b14;\n t27 += v * b15;\n v = a[13];\n t13 += v * b0;\n t14 += v * b1;\n t15 += v * b2;\n t16 += v * b3;\n t17 += v * b4;\n t18 += v * b5;\n t19 += v * b6;\n t20 += v * b7;\n t21 += v * b8;\n t22 += v * b9;\n t23 += v * b10;\n t24 += v * b11;\n t25 += v * b12;\n t26 += v * b13;\n t27 += v * b14;\n t28 += v * b15;\n v = a[14];\n t14 += v * b0;\n t15 += v * b1;\n t16 += v * b2;\n t17 += v * b3;\n t18 += v * b4;\n t19 += v * b5;\n t20 += v * b6;\n t21 += v * b7;\n t22 += v * b8;\n t23 += v * b9;\n t24 += v * b10;\n t25 += v * b11;\n t26 += v * b12;\n t27 += v * b13;\n t28 += v * b14;\n t29 += v * b15;\n v = a[15];\n t15 += v * b0;\n t16 += v * b1;\n t17 += v * b2;\n t18 += v * b3;\n t19 += v * b4;\n t20 += v * b5;\n t21 += v * b6;\n t22 += v * b7;\n t23 += v * b8;\n t24 += v * b9;\n t25 += v * b10;\n t26 += v * b11;\n t27 += v * b12;\n t28 += v * b13;\n t29 += v * b14;\n t30 += v * b15;\n t0 += 38 * t16;\n t1 += 38 * t17;\n t2 += 38 * t18;\n t3 += 38 * t19;\n t4 += 38 * t20;\n t5 += 38 * t21;\n t6 += 38 * t22;\n t7 += 38 * t23;\n t8 += 38 * t24;\n t9 += 38 * t25;\n t10 += 38 * t26;\n t11 += 38 * t27;\n t12 += 38 * t28;\n t13 += 38 * t29;\n t14 += 38 * t30;\n // t15 left as is\n // first car\n c = 1;\n v = t0 + c + 65535;\n c = Math.floor(v / 65536);\n t0 = v - c * 65536;\n v = t1 + c + 65535;\n c = Math.floor(v / 65536);\n t1 = v - c * 65536;\n v = t2 + c + 65535;\n c = Math.floor(v / 65536);\n t2 = v - c * 65536;\n v = t3 + c + 65535;\n c = Math.floor(v / 65536);\n t3 = v - c * 65536;\n v = t4 + c + 65535;\n c = Math.floor(v / 65536);\n t4 = v - c * 65536;\n v = t5 + c + 65535;\n c = Math.floor(v / 65536);\n t5 = v - c * 65536;\n v = t6 + c + 65535;\n c = Math.floor(v / 65536);\n t6 = v - c * 65536;\n v = t7 + c + 65535;\n c = Math.floor(v / 65536);\n t7 = v - c * 65536;\n v = t8 + c + 65535;\n c = Math.floor(v / 65536);\n t8 = v - c * 65536;\n v = t9 + c + 65535;\n c = Math.floor(v / 65536);\n t9 = v - c * 65536;\n v = t10 + c + 65535;\n c = Math.floor(v / 65536);\n t10 = v - c * 65536;\n v = t11 + c + 65535;\n c = Math.floor(v / 65536);\n t11 = v - c * 65536;\n v = t12 + c + 65535;\n c = Math.floor(v / 65536);\n t12 = v - c * 65536;\n v = t13 + c + 65535;\n c = Math.floor(v / 65536);\n t13 = v - c * 65536;\n v = t14 + c + 65535;\n c = Math.floor(v / 65536);\n t14 = v - c * 65536;\n v = t15 + c + 65535;\n c = Math.floor(v / 65536);\n t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\n // second car\n c = 1;\n v = t0 + c + 65535;\n c = Math.floor(v / 65536);\n t0 = v - c * 65536;\n v = t1 + c + 65535;\n c = Math.floor(v / 65536);\n t1 = v - c * 65536;\n v = t2 + c + 65535;\n c = Math.floor(v / 65536);\n t2 = v - c * 65536;\n v = t3 + c + 65535;\n c = Math.floor(v / 65536);\n t3 = v - c * 65536;\n v = t4 + c + 65535;\n c = Math.floor(v / 65536);\n t4 = v - c * 65536;\n v = t5 + c + 65535;\n c = Math.floor(v / 65536);\n t5 = v - c * 65536;\n v = t6 + c + 65535;\n c = Math.floor(v / 65536);\n t6 = v - c * 65536;\n v = t7 + c + 65535;\n c = Math.floor(v / 65536);\n t7 = v - c * 65536;\n v = t8 + c + 65535;\n c = Math.floor(v / 65536);\n t8 = v - c * 65536;\n v = t9 + c + 65535;\n c = Math.floor(v / 65536);\n t9 = v - c * 65536;\n v = t10 + c + 65535;\n c = Math.floor(v / 65536);\n t10 = v - c * 65536;\n v = t11 + c + 65535;\n c = Math.floor(v / 65536);\n t11 = v - c * 65536;\n v = t12 + c + 65535;\n c = Math.floor(v / 65536);\n t12 = v - c * 65536;\n v = t13 + c + 65535;\n c = Math.floor(v / 65536);\n t13 = v - c * 65536;\n v = t14 + c + 65535;\n c = Math.floor(v / 65536);\n t14 = v - c * 65536;\n v = t15 + c + 65535;\n c = Math.floor(v / 65536);\n t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\n o[0] = t0;\n o[1] = t1;\n o[2] = t2;\n o[3] = t3;\n o[4] = t4;\n o[5] = t5;\n o[6] = t6;\n o[7] = t7;\n o[8] = t8;\n o[9] = t9;\n o[10] = t10;\n o[11] = t11;\n o[12] = t12;\n o[13] = t13;\n o[14] = t14;\n o[15] = t15;\n}\nfunction square(o, a) {\n mul(o, a, a);\n}\nfunction inv25519(o, inp) {\n const c = gf();\n for (let i = 0; i < 16; i++) {\n c[i] = inp[i];\n }\n for (let i = 253; i >= 0; i--) {\n square(c, c);\n if (i !== 2 && i !== 4) {\n mul(c, c, inp);\n }\n }\n for (let i = 0; i < 16; i++) {\n o[i] = c[i];\n }\n}\nfunction scalarMult(n, p) {\n const z = new Uint8Array(32);\n const x = new Float64Array(80);\n const a = gf(), b = gf(), c = gf(), d = gf(), e = gf(), f = gf();\n for (let i = 0; i < 31; i++) {\n z[i] = n[i];\n }\n z[31] = (n[31] & 127) | 64;\n z[0] &= 248;\n unpack25519(x, p);\n for (let i = 0; i < 16; i++) {\n b[i] = x[i];\n }\n a[0] = d[0] = 1;\n for (let i = 254; i >= 0; --i) {\n const r = (z[i >>> 3] >>> (i & 7)) & 1;\n sel25519(a, b, r);\n sel25519(c, d, r);\n add(e, a, c);\n sub(a, a, c);\n add(c, b, d);\n sub(b, b, d);\n square(d, e);\n square(f, a);\n mul(a, c, a);\n mul(c, b, e);\n add(e, a, c);\n sub(a, a, c);\n square(b, a);\n sub(c, d, f);\n mul(a, c, _121665);\n add(a, a, d);\n mul(c, c, a);\n mul(a, d, f);\n mul(d, b, x);\n square(b, e);\n sel25519(a, b, r);\n sel25519(c, d, r);\n }\n for (let i = 0; i < 16; i++) {\n x[i + 16] = a[i];\n x[i + 32] = c[i];\n x[i + 48] = b[i];\n x[i + 64] = d[i];\n }\n const x32 = x.subarray(32);\n const x16 = x.subarray(16);\n inv25519(x32, x32);\n mul(x16, x16, x32);\n const q = new Uint8Array(32);\n pack25519(q, x16);\n return q;\n}\nexports.scalarMult = scalarMult;\nfunction scalarMultBase(n) {\n return scalarMult(n, _9);\n}\nexports.scalarMultBase = scalarMultBase;\nfunction generateKeyPairFromSeed(seed) {\n if (seed.length !== exports.SECRET_KEY_LENGTH) {\n throw new Error(`x25519: seed must be ${exports.SECRET_KEY_LENGTH} bytes`);\n }\n const secretKey = new Uint8Array(seed);\n const publicKey = scalarMultBase(secretKey);\n return {\n publicKey,\n secretKey\n };\n}\nexports.generateKeyPairFromSeed = generateKeyPairFromSeed;\nfunction generateKeyPair(prng) {\n const seed = (0, random_1.randomBytes)(32, prng);\n const result = generateKeyPairFromSeed(seed);\n (0, wipe_1.wipe)(seed);\n return result;\n}\nexports.generateKeyPair = generateKeyPair;\n/**\n * Returns a shared key between our secret key and a peer's public key.\n *\n * Throws an error if the given keys are of wrong length.\n *\n * If rejectZero is true throws if the calculated shared key is all-zero.\n * From RFC 7748:\n *\n * > Protocol designers using Diffie-Hellman over the curves defined in\n * > this document must not assume \"contributory behavior\". Specially,\n * > contributory behavior means that both parties' private keys\n * > contribute to the resulting shared key. Since curve25519 and\n * > curve448 have cofactors of 8 and 4 (respectively), an input point of\n * > small order will eliminate any contribution from the other party's\n * > private key. This situation can be detected by checking for the all-\n * > zero output, which implementations MAY do, as specified in Section 6.\n * > However, a large number of existing implementations do not do this.\n *\n * IMPORTANT: the returned key is a raw result of scalar multiplication.\n * To use it as a key material, hash it with a cryptographic hash function.\n */\nfunction sharedKey(mySecretKey, theirPublicKey, rejectZero = false) {\n if (mySecretKey.length !== exports.PUBLIC_KEY_LENGTH) {\n throw new Error(\"X25519: incorrect secret key length\");\n }\n if (theirPublicKey.length !== exports.PUBLIC_KEY_LENGTH) {\n throw new Error(\"X25519: incorrect public key length\");\n }\n const result = scalarMult(mySecretKey, theirPublicKey);\n if (rejectZero) {\n let zeros = 0;\n for (let i = 0; i < result.length; i++) {\n zeros |= result[i];\n }\n if (zeros === 0) {\n throw new Error(\"X25519: invalid shared key\");\n }\n }\n return result;\n}\nexports.sharedKey = sharedKey;\n//# sourceMappingURL=x25519.js.map","export function asUint8Array(buf) {\n if (globalThis.Buffer != null) {\n return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);\n }\n return buf;\n}","import { asUint8Array } from './util/as-uint8array.js';\nexport function alloc(size = 0) {\n if (globalThis.Buffer != null && globalThis.Buffer.alloc != null) {\n return asUint8Array(globalThis.Buffer.alloc(size));\n }\n return new Uint8Array(size);\n}\nexport function allocUnsafe(size = 0) {\n if (globalThis.Buffer != null && globalThis.Buffer.allocUnsafe != null) {\n return asUint8Array(globalThis.Buffer.allocUnsafe(size));\n }\n return new Uint8Array(size);\n}","import { allocUnsafe } from './alloc.js';\nimport { asUint8Array } from './util/as-uint8array.js';\nexport function concat(arrays, length) {\n if (!length) {\n length = arrays.reduce((acc, curr) => acc + curr.length, 0);\n }\n const output = allocUnsafe(length);\n let offset = 0;\n for (const arr of arrays) {\n output.set(arr, offset);\n offset += arr.length;\n }\n return asUint8Array(output);\n}","function base(ALPHABET, name) {\n if (ALPHABET.length >= 255) {\n throw new TypeError('Alphabet too long');\n }\n var BASE_MAP = new Uint8Array(256);\n for (var j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255;\n }\n for (var i = 0; i < ALPHABET.length; i++) {\n var x = ALPHABET.charAt(i);\n var xc = x.charCodeAt(0);\n if (BASE_MAP[xc] !== 255) {\n throw new TypeError(x + ' is ambiguous');\n }\n BASE_MAP[xc] = i;\n }\n var BASE = ALPHABET.length;\n var LEADER = ALPHABET.charAt(0);\n var FACTOR = Math.log(BASE) / Math.log(256);\n var iFACTOR = Math.log(256) / Math.log(BASE);\n function encode(source) {\n if (source instanceof Uint8Array);\n else if (ArrayBuffer.isView(source)) {\n source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength);\n } else if (Array.isArray(source)) {\n source = Uint8Array.from(source);\n }\n if (!(source instanceof Uint8Array)) {\n throw new TypeError('Expected Uint8Array');\n }\n if (source.length === 0) {\n return '';\n }\n var zeroes = 0;\n var length = 0;\n var pbegin = 0;\n var pend = source.length;\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++;\n zeroes++;\n }\n var size = (pend - pbegin) * iFACTOR + 1 >>> 0;\n var b58 = new Uint8Array(size);\n while (pbegin !== pend) {\n var carry = source[pbegin];\n var i = 0;\n for (var it1 = size - 1; (carry !== 0 || i < length) && it1 !== -1; it1--, i++) {\n carry += 256 * b58[it1] >>> 0;\n b58[it1] = carry % BASE >>> 0;\n carry = carry / BASE >>> 0;\n }\n if (carry !== 0) {\n throw new Error('Non-zero carry');\n }\n length = i;\n pbegin++;\n }\n var it2 = size - length;\n while (it2 !== size && b58[it2] === 0) {\n it2++;\n }\n var str = LEADER.repeat(zeroes);\n for (; it2 < size; ++it2) {\n str += ALPHABET.charAt(b58[it2]);\n }\n return str;\n }\n function decodeUnsafe(source) {\n if (typeof source !== 'string') {\n throw new TypeError('Expected String');\n }\n if (source.length === 0) {\n return new Uint8Array();\n }\n var psz = 0;\n if (source[psz] === ' ') {\n return;\n }\n var zeroes = 0;\n var length = 0;\n while (source[psz] === LEADER) {\n zeroes++;\n psz++;\n }\n var size = (source.length - psz) * FACTOR + 1 >>> 0;\n var b256 = new Uint8Array(size);\n while (source[psz]) {\n var carry = BASE_MAP[source.charCodeAt(psz)];\n if (carry === 255) {\n return;\n }\n var i = 0;\n for (var it3 = size - 1; (carry !== 0 || i < length) && it3 !== -1; it3--, i++) {\n carry += BASE * b256[it3] >>> 0;\n b256[it3] = carry % 256 >>> 0;\n carry = carry / 256 >>> 0;\n }\n if (carry !== 0) {\n throw new Error('Non-zero carry');\n }\n length = i;\n psz++;\n }\n if (source[psz] === ' ') {\n return;\n }\n var it4 = size - length;\n while (it4 !== size && b256[it4] === 0) {\n it4++;\n }\n var vch = new Uint8Array(zeroes + (size - it4));\n var j = zeroes;\n while (it4 !== size) {\n vch[j++] = b256[it4++];\n }\n return vch;\n }\n function decode(string) {\n var buffer = decodeUnsafe(string);\n if (buffer) {\n return buffer;\n }\n throw new Error(`Non-${ name } character`);\n }\n return {\n encode: encode,\n decodeUnsafe: decodeUnsafe,\n decode: decode\n };\n}\nvar src = base;\nvar _brrp__multiformats_scope_baseX = src;\nexport default _brrp__multiformats_scope_baseX;","const empty = new Uint8Array(0);\nconst toHex = d => d.reduce((hex, byte) => hex + byte.toString(16).padStart(2, '0'), '');\nconst fromHex = hex => {\n const hexes = hex.match(/../g);\n return hexes ? new Uint8Array(hexes.map(b => parseInt(b, 16))) : empty;\n};\nconst equals = (aa, bb) => {\n if (aa === bb)\n return true;\n if (aa.byteLength !== bb.byteLength) {\n return false;\n }\n for (let ii = 0; ii < aa.byteLength; ii++) {\n if (aa[ii] !== bb[ii]) {\n return false;\n }\n }\n return true;\n};\nconst coerce = o => {\n if (o instanceof Uint8Array && o.constructor.name === 'Uint8Array')\n return o;\n if (o instanceof ArrayBuffer)\n return new Uint8Array(o);\n if (ArrayBuffer.isView(o)) {\n return new Uint8Array(o.buffer, o.byteOffset, o.byteLength);\n }\n throw new Error('Unknown type, must be binary type');\n};\nconst isBinary = o => o instanceof ArrayBuffer || ArrayBuffer.isView(o);\nconst fromString = str => new TextEncoder().encode(str);\nconst toString = b => new TextDecoder().decode(b);\nexport {\n equals,\n coerce,\n isBinary,\n fromHex,\n toHex,\n fromString,\n toString,\n empty\n};","import basex from '../../vendor/base-x.js';\nimport { coerce } from '../bytes.js';\nclass Encoder {\n constructor(name, prefix, baseEncode) {\n this.name = name;\n this.prefix = prefix;\n this.baseEncode = baseEncode;\n }\n encode(bytes) {\n if (bytes instanceof Uint8Array) {\n return `${ this.prefix }${ this.baseEncode(bytes) }`;\n } else {\n throw Error('Unknown type, must be binary type');\n }\n }\n}\nclass Decoder {\n constructor(name, prefix, baseDecode) {\n this.name = name;\n this.prefix = prefix;\n if (prefix.codePointAt(0) === undefined) {\n throw new Error('Invalid prefix character');\n }\n this.prefixCodePoint = prefix.codePointAt(0);\n this.baseDecode = baseDecode;\n }\n decode(text) {\n if (typeof text === 'string') {\n if (text.codePointAt(0) !== this.prefixCodePoint) {\n throw Error(`Unable to decode multibase string ${ JSON.stringify(text) }, ${ this.name } decoder only supports inputs prefixed with ${ this.prefix }`);\n }\n return this.baseDecode(text.slice(this.prefix.length));\n } else {\n throw Error('Can only multibase decode strings');\n }\n }\n or(decoder) {\n return or(this, decoder);\n }\n}\nclass ComposedDecoder {\n constructor(decoders) {\n this.decoders = decoders;\n }\n or(decoder) {\n return or(this, decoder);\n }\n decode(input) {\n const prefix = input[0];\n const decoder = this.decoders[prefix];\n if (decoder) {\n return decoder.decode(input);\n } else {\n throw RangeError(`Unable to decode multibase string ${ JSON.stringify(input) }, only inputs prefixed with ${ Object.keys(this.decoders) } are supported`);\n }\n }\n}\nexport const or = (left, right) => new ComposedDecoder({\n ...left.decoders || { [left.prefix]: left },\n ...right.decoders || { [right.prefix]: right }\n});\nexport class Codec {\n constructor(name, prefix, baseEncode, baseDecode) {\n this.name = name;\n this.prefix = prefix;\n this.baseEncode = baseEncode;\n this.baseDecode = baseDecode;\n this.encoder = new Encoder(name, prefix, baseEncode);\n this.decoder = new Decoder(name, prefix, baseDecode);\n }\n encode(input) {\n return this.encoder.encode(input);\n }\n decode(input) {\n return this.decoder.decode(input);\n }\n}\nexport const from = ({name, prefix, encode, decode}) => new Codec(name, prefix, encode, decode);\nexport const baseX = ({prefix, name, alphabet}) => {\n const {encode, decode} = basex(alphabet, name);\n return from({\n prefix,\n name,\n encode,\n decode: text => coerce(decode(text))\n });\n};\nconst decode = (string, alphabet, bitsPerChar, name) => {\n const codes = {};\n for (let i = 0; i < alphabet.length; ++i) {\n codes[alphabet[i]] = i;\n }\n let end = string.length;\n while (string[end - 1] === '=') {\n --end;\n }\n const out = new Uint8Array(end * bitsPerChar / 8 | 0);\n let bits = 0;\n let buffer = 0;\n let written = 0;\n for (let i = 0; i < end; ++i) {\n const value = codes[string[i]];\n if (value === undefined) {\n throw new SyntaxError(`Non-${ name } character`);\n }\n buffer = buffer << bitsPerChar | value;\n bits += bitsPerChar;\n if (bits >= 8) {\n bits -= 8;\n out[written++] = 255 & buffer >> bits;\n }\n }\n if (bits >= bitsPerChar || 255 & buffer << 8 - bits) {\n throw new SyntaxError('Unexpected end of data');\n }\n return out;\n};\nconst encode = (data, alphabet, bitsPerChar) => {\n const pad = alphabet[alphabet.length - 1] === '=';\n const mask = (1 << bitsPerChar) - 1;\n let out = '';\n let bits = 0;\n let buffer = 0;\n for (let i = 0; i < data.length; ++i) {\n buffer = buffer << 8 | data[i];\n bits += 8;\n while (bits > bitsPerChar) {\n bits -= bitsPerChar;\n out += alphabet[mask & buffer >> bits];\n }\n }\n if (bits) {\n out += alphabet[mask & buffer << bitsPerChar - bits];\n }\n if (pad) {\n while (out.length * bitsPerChar & 7) {\n out += '=';\n }\n }\n return out;\n};\nexport const rfc4648 = ({name, prefix, bitsPerChar, alphabet}) => {\n return from({\n prefix,\n name,\n encode(input) {\n return encode(input, alphabet, bitsPerChar);\n },\n decode(input) {\n return decode(input, alphabet, bitsPerChar, name);\n }\n });\n};","import { from } from './base.js';\nimport {\n fromString,\n toString\n} from '../bytes.js';\nexport const identity = from({\n prefix: '\\0',\n name: 'identity',\n encode: buf => toString(buf),\n decode: str => fromString(str)\n});","import { rfc4648 } from './base.js';\nexport const base2 = rfc4648({\n prefix: '0',\n name: 'base2',\n alphabet: '01',\n bitsPerChar: 1\n});","import { rfc4648 } from './base.js';\nexport const base8 = rfc4648({\n prefix: '7',\n name: 'base8',\n alphabet: '01234567',\n bitsPerChar: 3\n});","import { baseX } from './base.js';\nexport const base10 = baseX({\n prefix: '9',\n name: 'base10',\n alphabet: '0123456789'\n});","import { rfc4648 } from './base.js';\nexport const base16 = rfc4648({\n prefix: 'f',\n name: 'base16',\n alphabet: '0123456789abcdef',\n bitsPerChar: 4\n});\nexport const base16upper = rfc4648({\n prefix: 'F',\n name: 'base16upper',\n alphabet: '0123456789ABCDEF',\n bitsPerChar: 4\n});","import { rfc4648 } from './base.js';\nexport const base32 = rfc4648({\n prefix: 'b',\n name: 'base32',\n alphabet: 'abcdefghijklmnopqrstuvwxyz234567',\n bitsPerChar: 5\n});\nexport const base32upper = rfc4648({\n prefix: 'B',\n name: 'base32upper',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567',\n bitsPerChar: 5\n});\nexport const base32pad = rfc4648({\n prefix: 'c',\n name: 'base32pad',\n alphabet: 'abcdefghijklmnopqrstuvwxyz234567=',\n bitsPerChar: 5\n});\nexport const base32padupper = rfc4648({\n prefix: 'C',\n name: 'base32padupper',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=',\n bitsPerChar: 5\n});\nexport const base32hex = rfc4648({\n prefix: 'v',\n name: 'base32hex',\n alphabet: '0123456789abcdefghijklmnopqrstuv',\n bitsPerChar: 5\n});\nexport const base32hexupper = rfc4648({\n prefix: 'V',\n name: 'base32hexupper',\n alphabet: '0123456789ABCDEFGHIJKLMNOPQRSTUV',\n bitsPerChar: 5\n});\nexport const base32hexpad = rfc4648({\n prefix: 't',\n name: 'base32hexpad',\n alphabet: '0123456789abcdefghijklmnopqrstuv=',\n bitsPerChar: 5\n});\nexport const base32hexpadupper = rfc4648({\n prefix: 'T',\n name: 'base32hexpadupper',\n alphabet: '0123456789ABCDEFGHIJKLMNOPQRSTUV=',\n bitsPerChar: 5\n});\nexport const base32z = rfc4648({\n prefix: 'h',\n name: 'base32z',\n alphabet: 'ybndrfg8ejkmcpqxot1uwisza345h769',\n bitsPerChar: 5\n});","import { baseX } from './base.js';\nexport const base36 = baseX({\n prefix: 'k',\n name: 'base36',\n alphabet: '0123456789abcdefghijklmnopqrstuvwxyz'\n});\nexport const base36upper = baseX({\n prefix: 'K',\n name: 'base36upper',\n alphabet: '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'\n});","import { baseX } from './base.js';\nexport const base58btc = baseX({\n name: 'base58btc',\n prefix: 'z',\n alphabet: '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'\n});\nexport const base58flickr = baseX({\n name: 'base58flickr',\n prefix: 'Z',\n alphabet: '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ'\n});","import { rfc4648 } from './base.js';\nexport const base64 = rfc4648({\n prefix: 'm',\n name: 'base64',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n bitsPerChar: 6\n});\nexport const base64pad = rfc4648({\n prefix: 'M',\n name: 'base64pad',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',\n bitsPerChar: 6\n});\nexport const base64url = rfc4648({\n prefix: 'u',\n name: 'base64url',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_',\n bitsPerChar: 6\n});\nexport const base64urlpad = rfc4648({\n prefix: 'U',\n name: 'base64urlpad',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=',\n bitsPerChar: 6\n});","import { from } from './base.js';\nconst alphabet = Array.from('\\uD83D\\uDE80\\uD83E\\uDE90\\u2604\\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\\u2600\\uD83D\\uDCBB\\uD83D\\uDDA5\\uD83D\\uDCBE\\uD83D\\uDCBF\\uD83D\\uDE02\\u2764\\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\\u263A\\uD83D\\uDC4C\\uD83E\\uDD17\\uD83D\\uDC9C\\uD83D\\uDE14\\uD83D\\uDE0E\\uD83D\\uDE07\\uD83C\\uDF39\\uD83E\\uDD26\\uD83C\\uDF89\\uD83D\\uDC9E\\u270C\\u2728\\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\\u2763\\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\\u270B\\uD83D\\uDE1A\\uD83D\\uDE1D\\uD83D\\uDE34\\uD83C\\uDF1F\\uD83D\\uDE2C\\uD83D\\uDE43\\uD83C\\uDF40\\uD83C\\uDF37\\uD83D\\uDE3B\\uD83D\\uDE13\\u2B50\\u2705\\uD83E\\uDD7A\\uD83C\\uDF08\\uD83D\\uDE08\\uD83E\\uDD18\\uD83D\\uDCA6\\u2714\\uD83D\\uDE23\\uD83C\\uDFC3\\uD83D\\uDC90\\u2639\\uD83C\\uDF8A\\uD83D\\uDC98\\uD83D\\uDE20\\u261D\\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\\u26BD\\uD83E\\uDD19\\u2615\\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\\u26A1\\uD83C\\uDF1E\\uD83C\\uDF88\\u274C\\u270A\\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\\u2708\\uD83C\\uDF80\\uD83C\\uDF7A\\uD83E\\uDD13\\uD83D\\uDE19\\uD83D\\uDC9F\\uD83C\\uDF31\\uD83D\\uDE16\\uD83D\\uDC76\\uD83E\\uDD74\\u25B6\\u27A1\\u2753\\uD83D\\uDC8E\\uD83D\\uDCB8\\u2B07\\uD83D\\uDE28\\uD83C\\uDF1A\\uD83E\\uDD8B\\uD83D\\uDE37\\uD83D\\uDD7A\\u26A0\\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\\u260E\\uD83D\\uDCA7\\uD83D\\uDE2F\\uD83D\\uDC86\\uD83D\\uDC46\\uD83C\\uDFA4\\uD83D\\uDE47\\uD83C\\uDF51\\u2744\\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');\nconst alphabetBytesToChars = alphabet.reduce((p, c, i) => {\n p[i] = c;\n return p;\n}, []);\nconst alphabetCharsToBytes = alphabet.reduce((p, c, i) => {\n p[c.codePointAt(0)] = i;\n return p;\n}, []);\nfunction encode(data) {\n return data.reduce((p, c) => {\n p += alphabetBytesToChars[c];\n return p;\n }, '');\n}\nfunction decode(str) {\n const byts = [];\n for (const char of str) {\n const byt = alphabetCharsToBytes[char.codePointAt(0)];\n if (byt === undefined) {\n throw new Error(`Non-base256emoji character: ${ char }`);\n }\n byts.push(byt);\n }\n return new Uint8Array(byts);\n}\nexport const base256emoji = from({\n prefix: '\\uD83D\\uDE80',\n name: 'base256emoji',\n encode,\n decode\n});","const textEncoder = new TextEncoder();\nconst textDecoder = new TextDecoder();\nexport const name = 'json';\nexport const code = 512;\nexport const encode = node => textEncoder.encode(JSON.stringify(node));\nexport const decode = data => JSON.parse(textDecoder.decode(data));","import * as identityBase from './bases/identity.js';\nimport * as base2 from './bases/base2.js';\nimport * as base8 from './bases/base8.js';\nimport * as base10 from './bases/base10.js';\nimport * as base16 from './bases/base16.js';\nimport * as base32 from './bases/base32.js';\nimport * as base36 from './bases/base36.js';\nimport * as base58 from './bases/base58.js';\nimport * as base64 from './bases/base64.js';\nimport * as base256emoji from './bases/base256emoji.js';\nimport * as sha2 from './hashes/sha2.js';\nimport * as identity from './hashes/identity.js';\nimport * as raw from './codecs/raw.js';\nimport * as json from './codecs/json.js';\nimport {\n CID,\n hasher,\n digest,\n varint,\n bytes\n} from './index.js';\nconst bases = {\n ...identityBase,\n ...base2,\n ...base8,\n ...base10,\n ...base16,\n ...base32,\n ...base36,\n ...base58,\n ...base64,\n ...base256emoji\n};\nconst hashes = {\n ...sha2,\n ...identity\n};\nconst codecs = {\n raw,\n json\n};\nexport {\n CID,\n hasher,\n digest,\n varint,\n bytes,\n hashes,\n bases,\n codecs\n};","import { bases } from 'multiformats/basics';\nimport { allocUnsafe } from '../alloc.js';\nfunction createCodec(name, prefix, encode, decode) {\n return {\n name,\n prefix,\n encoder: {\n name,\n prefix,\n encode\n },\n decoder: { decode }\n };\n}\nconst string = createCodec('utf8', 'u', buf => {\n const decoder = new TextDecoder('utf8');\n return 'u' + decoder.decode(buf);\n}, str => {\n const encoder = new TextEncoder();\n return encoder.encode(str.substring(1));\n});\nconst ascii = createCodec('ascii', 'a', buf => {\n let string = 'a';\n for (let i = 0; i < buf.length; i++) {\n string += String.fromCharCode(buf[i]);\n }\n return string;\n}, str => {\n str = str.substring(1);\n const buf = allocUnsafe(str.length);\n for (let i = 0; i < str.length; i++) {\n buf[i] = str.charCodeAt(i);\n }\n return buf;\n});\nconst BASES = {\n utf8: string,\n 'utf-8': string,\n hex: bases.base16,\n latin1: ascii,\n ascii: ascii,\n binary: ascii,\n ...bases\n};\nexport default BASES;","import bases from './util/bases.js';\nimport { asUint8Array } from './util/as-uint8array.js';\nexport function fromString(string, encoding = 'utf8') {\n const base = bases[encoding];\n if (!base) {\n throw new Error(`Unsupported encoding \"${ encoding }\"`);\n }\n if ((encoding === 'utf8' || encoding === 'utf-8') && globalThis.Buffer != null && globalThis.Buffer.from != null) {\n return asUint8Array(globalThis.Buffer.from(string, 'utf-8'));\n }\n return base.decoder.decode(`${ base.prefix }${ string }`);\n}","import bases from './util/bases.js';\nexport function toString(array, encoding = 'utf8') {\n const base = bases[encoding];\n if (!base) {\n throw new Error(`Unsupported encoding \"${ encoding }\"`);\n }\n if ((encoding === 'utf8' || encoding === 'utf-8') && globalThis.Buffer != null && globalThis.Buffer.from != null) {\n return globalThis.Buffer.from(array.buffer, array.byteOffset, array.byteLength).toString('utf8');\n }\n return base.encoder.encode(array).substring(1);\n}","var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar BrowserInfo = /** @class */ (function () {\n function BrowserInfo(name, version, os) {\n this.name = name;\n this.version = version;\n this.os = os;\n this.type = 'browser';\n }\n return BrowserInfo;\n}());\nexport { BrowserInfo };\nvar NodeInfo = /** @class */ (function () {\n function NodeInfo(version) {\n this.version = version;\n this.type = 'node';\n this.name = 'node';\n this.os = process.platform;\n }\n return NodeInfo;\n}());\nexport { NodeInfo };\nvar SearchBotDeviceInfo = /** @class */ (function () {\n function SearchBotDeviceInfo(name, version, os, bot) {\n this.name = name;\n this.version = version;\n this.os = os;\n this.bot = bot;\n this.type = 'bot-device';\n }\n return SearchBotDeviceInfo;\n}());\nexport { SearchBotDeviceInfo };\nvar BotInfo = /** @class */ (function () {\n function BotInfo() {\n this.type = 'bot';\n this.bot = true; // NOTE: deprecated test name instead\n this.name = 'bot';\n this.version = null;\n this.os = null;\n }\n return BotInfo;\n}());\nexport { BotInfo };\nvar ReactNativeInfo = /** @class */ (function () {\n function ReactNativeInfo() {\n this.type = 'react-native';\n this.name = 'react-native';\n this.version = null;\n this.os = null;\n }\n return ReactNativeInfo;\n}());\nexport { ReactNativeInfo };\n// tslint:disable-next-line:max-line-length\nvar SEARCHBOX_UA_REGEX = /alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/;\nvar SEARCHBOT_OS_REGEX = /(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\\ Jeeves\\/Teoma|ia_archiver)/;\nvar REQUIRED_VERSION_PARTS = 3;\nvar userAgentRules = [\n ['aol', /AOLShield\\/([0-9\\._]+)/],\n ['edge', /Edge\\/([0-9\\._]+)/],\n ['edge-ios', /EdgiOS\\/([0-9\\._]+)/],\n ['yandexbrowser', /YaBrowser\\/([0-9\\._]+)/],\n ['kakaotalk', /KAKAOTALK\\s([0-9\\.]+)/],\n ['samsung', /SamsungBrowser\\/([0-9\\.]+)/],\n ['silk', /\\bSilk\\/([0-9._-]+)\\b/],\n ['miui', /MiuiBrowser\\/([0-9\\.]+)$/],\n ['beaker', /BeakerBrowser\\/([0-9\\.]+)/],\n ['edge-chromium', /EdgA?\\/([0-9\\.]+)/],\n [\n 'chromium-webview',\n /(?!Chrom.*OPR)wv\\).*Chrom(?:e|ium)\\/([0-9\\.]+)(:?\\s|$)/,\n ],\n ['chrome', /(?!Chrom.*OPR)Chrom(?:e|ium)\\/([0-9\\.]+)(:?\\s|$)/],\n ['phantomjs', /PhantomJS\\/([0-9\\.]+)(:?\\s|$)/],\n ['crios', /CriOS\\/([0-9\\.]+)(:?\\s|$)/],\n ['firefox', /Firefox\\/([0-9\\.]+)(?:\\s|$)/],\n ['fxios', /FxiOS\\/([0-9\\.]+)/],\n ['opera-mini', /Opera Mini.*Version\\/([0-9\\.]+)/],\n ['opera', /Opera\\/([0-9\\.]+)(?:\\s|$)/],\n ['opera', /OPR\\/([0-9\\.]+)(:?\\s|$)/],\n ['pie', /^Microsoft Pocket Internet Explorer\\/(\\d+\\.\\d+)$/],\n ['pie', /^Mozilla\\/\\d\\.\\d+\\s\\(compatible;\\s(?:MSP?IE|MSInternet Explorer) (\\d+\\.\\d+);.*Windows CE.*\\)$/],\n ['netfront', /^Mozilla\\/\\d\\.\\d+.*NetFront\\/(\\d.\\d)/],\n ['ie', /Trident\\/7\\.0.*rv\\:([0-9\\.]+).*\\).*Gecko$/],\n ['ie', /MSIE\\s([0-9\\.]+);.*Trident\\/[4-7].0/],\n ['ie', /MSIE\\s(7\\.0)/],\n ['bb10', /BB10;\\sTouch.*Version\\/([0-9\\.]+)/],\n ['android', /Android\\s([0-9\\.]+)/],\n ['ios', /Version\\/([0-9\\._]+).*Mobile.*Safari.*/],\n ['safari', /Version\\/([0-9\\._]+).*Safari/],\n ['facebook', /FB[AS]V\\/([0-9\\.]+)/],\n ['instagram', /Instagram\\s([0-9\\.]+)/],\n ['ios-webview', /AppleWebKit\\/([0-9\\.]+).*Mobile/],\n ['ios-webview', /AppleWebKit\\/([0-9\\.]+).*Gecko\\)$/],\n ['curl', /^curl\\/([0-9\\.]+)$/],\n ['searchbot', SEARCHBOX_UA_REGEX],\n];\nvar operatingSystemRules = [\n ['iOS', /iP(hone|od|ad)/],\n ['Android OS', /Android/],\n ['BlackBerry OS', /BlackBerry|BB10/],\n ['Windows Mobile', /IEMobile/],\n ['Amazon OS', /Kindle/],\n ['Windows 3.11', /Win16/],\n ['Windows 95', /(Windows 95)|(Win95)|(Windows_95)/],\n ['Windows 98', /(Windows 98)|(Win98)/],\n ['Windows 2000', /(Windows NT 5.0)|(Windows 2000)/],\n ['Windows XP', /(Windows NT 5.1)|(Windows XP)/],\n ['Windows Server 2003', /(Windows NT 5.2)/],\n ['Windows Vista', /(Windows NT 6.0)/],\n ['Windows 7', /(Windows NT 6.1)/],\n ['Windows 8', /(Windows NT 6.2)/],\n ['Windows 8.1', /(Windows NT 6.3)/],\n ['Windows 10', /(Windows NT 10.0)/],\n ['Windows ME', /Windows ME/],\n ['Windows CE', /Windows CE|WinCE|Microsoft Pocket Internet Explorer/],\n ['Open BSD', /OpenBSD/],\n ['Sun OS', /SunOS/],\n ['Chrome OS', /CrOS/],\n ['Linux', /(Linux)|(X11)/],\n ['Mac OS', /(Mac_PowerPC)|(Macintosh)/],\n ['QNX', /QNX/],\n ['BeOS', /BeOS/],\n ['OS/2', /OS\\/2/],\n];\nexport function detect(userAgent) {\n if (!!userAgent) {\n return parseUserAgent(userAgent);\n }\n if (typeof document === 'undefined' &&\n typeof navigator !== 'undefined' &&\n navigator.product === 'ReactNative') {\n return new ReactNativeInfo();\n }\n if (typeof navigator !== 'undefined') {\n return parseUserAgent(navigator.userAgent);\n }\n return getNodeVersion();\n}\nfunction matchUserAgent(ua) {\n // opted for using reduce here rather than Array#first with a regex.test call\n // this is primarily because using the reduce we only perform the regex\n // execution once rather than once for the test and for the exec again below\n // probably something that needs to be benchmarked though\n return (ua !== '' &&\n userAgentRules.reduce(function (matched, _a) {\n var browser = _a[0], regex = _a[1];\n if (matched) {\n return matched;\n }\n var uaMatch = regex.exec(ua);\n return !!uaMatch && [browser, uaMatch];\n }, false));\n}\nexport function browserName(ua) {\n var data = matchUserAgent(ua);\n return data ? data[0] : null;\n}\nexport function parseUserAgent(ua) {\n var matchedRule = matchUserAgent(ua);\n if (!matchedRule) {\n return null;\n }\n var name = matchedRule[0], match = matchedRule[1];\n if (name === 'searchbot') {\n return new BotInfo();\n }\n // Do not use RegExp for split operation as some browser do not support it (See: http://blog.stevenlevithan.com/archives/cross-browser-split)\n var versionParts = match[1] && match[1].split('.').join('_').split('_').slice(0, 3);\n if (versionParts) {\n if (versionParts.length < REQUIRED_VERSION_PARTS) {\n versionParts = __spreadArray(__spreadArray([], versionParts, true), createVersionParts(REQUIRED_VERSION_PARTS - versionParts.length), true);\n }\n }\n else {\n versionParts = [];\n }\n var version = versionParts.join('.');\n var os = detectOS(ua);\n var searchBotMatch = SEARCHBOT_OS_REGEX.exec(ua);\n if (searchBotMatch && searchBotMatch[1]) {\n return new SearchBotDeviceInfo(name, version, os, searchBotMatch[1]);\n }\n return new BrowserInfo(name, version, os);\n}\nexport function detectOS(ua) {\n for (var ii = 0, count = operatingSystemRules.length; ii < count; ii++) {\n var _a = operatingSystemRules[ii], os = _a[0], regex = _a[1];\n var match = regex.exec(ua);\n if (match) {\n return os;\n }\n }\n return null;\n}\nexport function getNodeVersion() {\n var isNode = typeof process !== 'undefined' && process.version;\n return isNode ? new NodeInfo(process.version.slice(1)) : null;\n}\nfunction createVersionParts(count) {\n var output = [];\n for (var ii = 0; ii < count; ii++) {\n output.push('0');\n }\n return output;\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\n/* global global, define, System, Reflect, Promise */\r\nvar __extends;\r\nvar __assign;\r\nvar __rest;\r\nvar __decorate;\r\nvar __param;\r\nvar __metadata;\r\nvar __awaiter;\r\nvar __generator;\r\nvar __exportStar;\r\nvar __values;\r\nvar __read;\r\nvar __spread;\r\nvar __spreadArrays;\r\nvar __await;\r\nvar __asyncGenerator;\r\nvar __asyncDelegator;\r\nvar __asyncValues;\r\nvar __makeTemplateObject;\r\nvar __importStar;\r\nvar __importDefault;\r\nvar __classPrivateFieldGet;\r\nvar __classPrivateFieldSet;\r\nvar __createBinding;\r\n(function (factory) {\r\n var root = typeof global === \"object\" ? global : typeof self === \"object\" ? self : typeof this === \"object\" ? this : {};\r\n if (typeof define === \"function\" && define.amd) {\r\n define(\"tslib\", [\"exports\"], function (exports) { factory(createExporter(root, createExporter(exports))); });\r\n }\r\n else if (typeof module === \"object\" && typeof module.exports === \"object\") {\r\n factory(createExporter(root, createExporter(module.exports)));\r\n }\r\n else {\r\n factory(createExporter(root));\r\n }\r\n function createExporter(exports, previous) {\r\n if (exports !== root) {\r\n if (typeof Object.create === \"function\") {\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n }\r\n else {\r\n exports.__esModule = true;\r\n }\r\n }\r\n return function (id, v) { return exports[id] = previous ? previous(id, v) : v; };\r\n }\r\n})\r\n(function (exporter) {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\n __extends = function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n\r\n __assign = Object.assign || function (t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n\r\n __rest = function (s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n };\r\n\r\n __decorate = function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n };\r\n\r\n __param = function (paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n };\r\n\r\n __metadata = function (metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n };\r\n\r\n __awaiter = function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n };\r\n\r\n __generator = function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n };\r\n\r\n __createBinding = function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n };\r\n\r\n __exportStar = function (m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n };\r\n\r\n __values = function (o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n };\r\n\r\n __read = function (o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n };\r\n\r\n __spread = function () {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n };\r\n\r\n __spreadArrays = function () {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n };\r\n\r\n __await = function (v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n };\r\n\r\n __asyncGenerator = function (thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n };\r\n\r\n __asyncDelegator = function (o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n };\r\n\r\n __asyncValues = function (o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n };\r\n\r\n __makeTemplateObject = function (cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n };\r\n\r\n __importStar = function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result[\"default\"] = mod;\r\n return result;\r\n };\r\n\r\n __importDefault = function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n };\r\n\r\n __classPrivateFieldGet = function (receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n };\r\n\r\n __classPrivateFieldSet = function (receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n };\r\n\r\n exporter(\"__extends\", __extends);\r\n exporter(\"__assign\", __assign);\r\n exporter(\"__rest\", __rest);\r\n exporter(\"__decorate\", __decorate);\r\n exporter(\"__param\", __param);\r\n exporter(\"__metadata\", __metadata);\r\n exporter(\"__awaiter\", __awaiter);\r\n exporter(\"__generator\", __generator);\r\n exporter(\"__exportStar\", __exportStar);\r\n exporter(\"__createBinding\", __createBinding);\r\n exporter(\"__values\", __values);\r\n exporter(\"__read\", __read);\r\n exporter(\"__spread\", __spread);\r\n exporter(\"__spreadArrays\", __spreadArrays);\r\n exporter(\"__await\", __await);\r\n exporter(\"__asyncGenerator\", __asyncGenerator);\r\n exporter(\"__asyncDelegator\", __asyncDelegator);\r\n exporter(\"__asyncValues\", __asyncValues);\r\n exporter(\"__makeTemplateObject\", __makeTemplateObject);\r\n exporter(\"__importStar\", __importStar);\r\n exporter(\"__importDefault\", __importDefault);\r\n exporter(\"__classPrivateFieldGet\", __classPrivateFieldGet);\r\n exporter(\"__classPrivateFieldSet\", __classPrivateFieldSet);\r\n});\r\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.delay = void 0;\nfunction delay(timeout) {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve(true);\n }, timeout);\n });\n}\nexports.delay = delay;\n//# sourceMappingURL=delay.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ONE_THOUSAND = exports.ONE_HUNDRED = void 0;\nexports.ONE_HUNDRED = 100;\nexports.ONE_THOUSAND = 1000;\n//# sourceMappingURL=misc.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ONE_YEAR = exports.FOUR_WEEKS = exports.THREE_WEEKS = exports.TWO_WEEKS = exports.ONE_WEEK = exports.THIRTY_DAYS = exports.SEVEN_DAYS = exports.FIVE_DAYS = exports.THREE_DAYS = exports.ONE_DAY = exports.TWENTY_FOUR_HOURS = exports.TWELVE_HOURS = exports.SIX_HOURS = exports.THREE_HOURS = exports.ONE_HOUR = exports.SIXTY_MINUTES = exports.THIRTY_MINUTES = exports.TEN_MINUTES = exports.FIVE_MINUTES = exports.ONE_MINUTE = exports.SIXTY_SECONDS = exports.THIRTY_SECONDS = exports.TEN_SECONDS = exports.FIVE_SECONDS = exports.ONE_SECOND = void 0;\nexports.ONE_SECOND = 1;\nexports.FIVE_SECONDS = 5;\nexports.TEN_SECONDS = 10;\nexports.THIRTY_SECONDS = 30;\nexports.SIXTY_SECONDS = 60;\nexports.ONE_MINUTE = exports.SIXTY_SECONDS;\nexports.FIVE_MINUTES = exports.ONE_MINUTE * 5;\nexports.TEN_MINUTES = exports.ONE_MINUTE * 10;\nexports.THIRTY_MINUTES = exports.ONE_MINUTE * 30;\nexports.SIXTY_MINUTES = exports.ONE_MINUTE * 60;\nexports.ONE_HOUR = exports.SIXTY_MINUTES;\nexports.THREE_HOURS = exports.ONE_HOUR * 3;\nexports.SIX_HOURS = exports.ONE_HOUR * 6;\nexports.TWELVE_HOURS = exports.ONE_HOUR * 12;\nexports.TWENTY_FOUR_HOURS = exports.ONE_HOUR * 24;\nexports.ONE_DAY = exports.TWENTY_FOUR_HOURS;\nexports.THREE_DAYS = exports.ONE_DAY * 3;\nexports.FIVE_DAYS = exports.ONE_DAY * 5;\nexports.SEVEN_DAYS = exports.ONE_DAY * 7;\nexports.THIRTY_DAYS = exports.ONE_DAY * 30;\nexports.ONE_WEEK = exports.SEVEN_DAYS;\nexports.TWO_WEEKS = exports.ONE_WEEK * 2;\nexports.THREE_WEEKS = exports.ONE_WEEK * 3;\nexports.FOUR_WEEKS = exports.ONE_WEEK * 4;\nexports.ONE_YEAR = exports.ONE_DAY * 365;\n//# sourceMappingURL=time.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./misc\"), exports);\ntslib_1.__exportStar(require(\"./time\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromMiliseconds = exports.toMiliseconds = void 0;\nconst constants_1 = require(\"../constants\");\nfunction toMiliseconds(seconds) {\n return seconds * constants_1.ONE_THOUSAND;\n}\nexports.toMiliseconds = toMiliseconds;\nfunction fromMiliseconds(miliseconds) {\n return Math.floor(miliseconds / constants_1.ONE_THOUSAND);\n}\nexports.fromMiliseconds = fromMiliseconds;\n//# sourceMappingURL=convert.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./delay\"), exports);\ntslib_1.__exportStar(require(\"./convert\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Watch = void 0;\nclass Watch {\n constructor() {\n this.timestamps = new Map();\n }\n start(label) {\n if (this.timestamps.has(label)) {\n throw new Error(`Watch already started for label: ${label}`);\n }\n this.timestamps.set(label, { started: Date.now() });\n }\n stop(label) {\n const timestamp = this.get(label);\n if (typeof timestamp.elapsed !== \"undefined\") {\n throw new Error(`Watch already stopped for label: ${label}`);\n }\n const elapsed = Date.now() - timestamp.started;\n this.timestamps.set(label, { started: timestamp.started, elapsed });\n }\n get(label) {\n const timestamp = this.timestamps.get(label);\n if (typeof timestamp === \"undefined\") {\n throw new Error(`No timestamp found for label: ${label}`);\n }\n return timestamp;\n }\n elapsed(label) {\n const timestamp = this.get(label);\n const elapsed = timestamp.elapsed || Date.now() - timestamp.started;\n return elapsed;\n }\n}\nexports.Watch = Watch;\nexports.default = Watch;\n//# sourceMappingURL=watch.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IWatch = void 0;\nclass IWatch {\n}\nexports.IWatch = IWatch;\n//# sourceMappingURL=watch.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./watch\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./utils\"), exports);\ntslib_1.__exportStar(require(\"./watch\"), exports);\ntslib_1.__exportStar(require(\"./types\"), exports);\ntslib_1.__exportStar(require(\"./constants\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getLocalStorage = exports.getLocalStorageOrThrow = exports.getCrypto = exports.getCryptoOrThrow = exports.getLocation = exports.getLocationOrThrow = exports.getNavigator = exports.getNavigatorOrThrow = exports.getDocument = exports.getDocumentOrThrow = exports.getFromWindowOrThrow = exports.getFromWindow = void 0;\nfunction getFromWindow(name) {\n let res = undefined;\n if (typeof window !== \"undefined\" && typeof window[name] !== \"undefined\") {\n res = window[name];\n }\n return res;\n}\nexports.getFromWindow = getFromWindow;\nfunction getFromWindowOrThrow(name) {\n const res = getFromWindow(name);\n if (!res) {\n throw new Error(`${name} is not defined in Window`);\n }\n return res;\n}\nexports.getFromWindowOrThrow = getFromWindowOrThrow;\nfunction getDocumentOrThrow() {\n return getFromWindowOrThrow(\"document\");\n}\nexports.getDocumentOrThrow = getDocumentOrThrow;\nfunction getDocument() {\n return getFromWindow(\"document\");\n}\nexports.getDocument = getDocument;\nfunction getNavigatorOrThrow() {\n return getFromWindowOrThrow(\"navigator\");\n}\nexports.getNavigatorOrThrow = getNavigatorOrThrow;\nfunction getNavigator() {\n return getFromWindow(\"navigator\");\n}\nexports.getNavigator = getNavigator;\nfunction getLocationOrThrow() {\n return getFromWindowOrThrow(\"location\");\n}\nexports.getLocationOrThrow = getLocationOrThrow;\nfunction getLocation() {\n return getFromWindow(\"location\");\n}\nexports.getLocation = getLocation;\nfunction getCryptoOrThrow() {\n return getFromWindowOrThrow(\"crypto\");\n}\nexports.getCryptoOrThrow = getCryptoOrThrow;\nfunction getCrypto() {\n return getFromWindow(\"crypto\");\n}\nexports.getCrypto = getCrypto;\nfunction getLocalStorageOrThrow() {\n return getFromWindowOrThrow(\"localStorage\");\n}\nexports.getLocalStorageOrThrow = getLocalStorageOrThrow;\nfunction getLocalStorage() {\n return getFromWindow(\"localStorage\");\n}\nexports.getLocalStorage = getLocalStorage;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getWindowMetadata = void 0;\nconst window_getters_1 = require(\"@walletconnect/window-getters\");\nfunction getWindowMetadata() {\n let doc;\n let loc;\n try {\n doc = window_getters_1.getDocumentOrThrow();\n loc = window_getters_1.getLocationOrThrow();\n }\n catch (e) {\n return null;\n }\n function getIcons() {\n const links = doc.getElementsByTagName(\"link\");\n const icons = [];\n for (let i = 0; i < links.length; i++) {\n const link = links[i];\n const rel = link.getAttribute(\"rel\");\n if (rel) {\n if (rel.toLowerCase().indexOf(\"icon\") > -1) {\n const href = link.getAttribute(\"href\");\n if (href) {\n if (href.toLowerCase().indexOf(\"https:\") === -1 &&\n href.toLowerCase().indexOf(\"http:\") === -1 &&\n href.indexOf(\"//\") !== 0) {\n let absoluteHref = loc.protocol + \"//\" + loc.host;\n if (href.indexOf(\"/\") === 0) {\n absoluteHref += href;\n }\n else {\n const path = loc.pathname.split(\"/\");\n path.pop();\n const finalPath = path.join(\"/\");\n absoluteHref += finalPath + \"/\" + href;\n }\n icons.push(absoluteHref);\n }\n else if (href.indexOf(\"//\") === 0) {\n const absoluteUrl = loc.protocol + href;\n icons.push(absoluteUrl);\n }\n else {\n icons.push(href);\n }\n }\n }\n }\n }\n return icons;\n }\n function getWindowMetadataOfAny(...args) {\n const metaTags = doc.getElementsByTagName(\"meta\");\n for (let i = 0; i < metaTags.length; i++) {\n const tag = metaTags[i];\n const attributes = [\"itemprop\", \"property\", \"name\"]\n .map((target) => tag.getAttribute(target))\n .filter((attr) => {\n if (attr) {\n return args.includes(attr);\n }\n return false;\n });\n if (attributes.length && attributes) {\n const content = tag.getAttribute(\"content\");\n if (content) {\n return content;\n }\n }\n }\n return \"\";\n }\n function getName() {\n let name = getWindowMetadataOfAny(\"name\", \"og:site_name\", \"og:title\", \"twitter:title\");\n if (!name) {\n name = doc.title;\n }\n return name;\n }\n function getDescription() {\n const description = getWindowMetadataOfAny(\"description\", \"og:description\", \"twitter:description\", \"keywords\");\n return description;\n }\n const name = getName();\n const description = getDescription();\n const url = loc.origin;\n const icons = getIcons();\n const meta = {\n description,\n url,\n icons,\n name,\n };\n return meta;\n}\nexports.getWindowMetadata = getWindowMetadata;\n//# sourceMappingURL=index.js.map","'use strict';\nmodule.exports = str => encodeURIComponent(str).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n","'use strict';\nvar token = '%[a-f0-9]{2}';\nvar singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nvar multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch (err) {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tvar left = components.slice(0, split);\n\tvar right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch (err) {\n\t\tvar tokens = input.match(singleMatcher) || [];\n\n\t\tfor (var i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tvar replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD'\n\t};\n\n\tvar match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch (err) {\n\t\t\tvar result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tvar entries = Object.keys(replaceMap);\n\n\tfor (var i = 0; i < entries.length; i++) {\n\t\t// Replace all decoded components\n\t\tvar key = entries[i];\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nmodule.exports = function (encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\tencodedURI = encodedURI.replace(/\\+/g, ' ');\n\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch (err) {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n};\n","'use strict';\n\nmodule.exports = (string, separator) => {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (separator === '') {\n\t\treturn [string];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [string];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n};\n","'use strict';\nmodule.exports = function (obj, predicate) {\n\tvar ret = {};\n\tvar keys = Object.keys(obj);\n\tvar isArr = Array.isArray(predicate);\n\n\tfor (var i = 0; i < keys.length; i++) {\n\t\tvar key = keys[i];\n\t\tvar val = obj[key];\n\n\t\tif (isArr ? predicate.indexOf(key) !== -1 : predicate(key, val, obj)) {\n\t\t\tret[key] = val;\n\t\t}\n\t}\n\n\treturn ret;\n};\n","'use strict';\nconst strictUriEncode = require('strict-uri-encode');\nconst decodeComponent = require('decode-uri-component');\nconst splitOnFirst = require('split-on-first');\nconst filterObject = require('filter-obj');\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\nconst encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[', index, ']'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join('')\n\t\t\t\t];\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[]'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '[]=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'colon-list-separator':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), ':list='].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), ':list=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\tcase 'bracket-separator': {\n\t\t\tconst keyValueSep = options.arrayFormat === 'bracket-separator' ?\n\t\t\t\t'[]=' :\n\t\t\t\t'=';\n\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\t// Translate null to an empty string so that it doesn't serialize as 'null'\n\t\t\t\tvalue = value === null ? '' : value;\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), keyValueSep, encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\t\t}\n\n\t\tdefault:\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, encode(key, options)];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '=', encode(value, options)].join('')];\n\t\t\t};\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)\\]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[\\])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'colon-list-separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(:list)$/.exec(key);\n\t\t\t\tkey = key.replace(/:list$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : value === null ? value : decode(value, options);\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\n\t\tcase 'bracket-separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = /(\\[\\])$/.test(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!isArray) {\n\t\t\t\t\taccumulator[key] = value ? decode(value, options) : value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst arrayValue = value === null ?\n\t\t\t\t\t[] :\n\t\t\t\t\tvalue.split(options.arrayFormatSeparator).map(item => decode(item, options));\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = arrayValue;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], arrayValue);\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nfunction parseValue(value, options) {\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\tvalue = Number(value);\n\t} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\tvalue = value.toLowerCase() === 'true';\n\t}\n\n\treturn value;\n}\n\nfunction parse(query, options) {\n\toptions = Object.assign({\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst ret = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn ret;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn ret;\n\t}\n\n\tfor (const param of query.split('&')) {\n\t\tif (param === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet [key, value] = splitOnFirst(options.decode ? param.replace(/\\+/g, ' ') : param, '=');\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : ['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options);\n\t\tformatter(decode(key, options), value, ret);\n\t}\n\n\tfor (const key of Object.keys(ret)) {\n\t\tconst value = ret[key];\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const k of Object.keys(value)) {\n\t\t\t\tvalue[k] = parseValue(value[k], options);\n\t\t\t}\n\t\t} else {\n\t\t\tret[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn ret;\n\t}\n\n\treturn (options.sort === true ? Object.keys(ret).sort() : Object.keys(ret).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = ret[key];\n\t\tif (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(value);\n\t\t} else {\n\t\t\tresult[key] = value;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexports.extract = extract;\nexports.parse = parse;\n\nexports.stringify = (object, options) => {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ','\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key])) ||\n\t\t(options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const key of Object.keys(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = object[key];\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n\t\t\t\treturn encode(key, options) + '[]';\n\t\t\t}\n\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n};\n\nexports.parseUrl = (url, options) => {\n\toptions = Object.assign({\n\t\tdecode: true\n\t}, options);\n\n\tconst [url_, hash] = splitOnFirst(url, '#');\n\n\treturn Object.assign(\n\t\t{\n\t\t\turl: url_.split('?')[0] || '',\n\t\t\tquery: parse(extract(url), options)\n\t\t},\n\t\toptions && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}\n\t);\n};\n\nexports.stringifyUrl = (object, options) => {\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\t[encodeFragmentIdentifier]: true\n\t}, options);\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = exports.extract(object.url);\n\tconst parsedQueryFromUrl = exports.parse(queryFromUrl, {sort: false});\n\n\tconst query = Object.assign(parsedQueryFromUrl, object.query);\n\tlet queryString = exports.stringify(query, options);\n\tif (queryString) {\n\t\tqueryString = `?${queryString}`;\n\t}\n\n\tlet hash = getHash(object.url);\n\tif (object.fragmentIdentifier) {\n\t\thash = `#${options[encodeFragmentIdentifier] ? encode(object.fragmentIdentifier, options) : object.fragmentIdentifier}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n};\n\nexports.pick = (input, filter, options) => {\n\toptions = Object.assign({\n\t\tparseFragmentIdentifier: true,\n\t\t[encodeFragmentIdentifier]: false\n\t}, options);\n\n\tconst {url, query, fragmentIdentifier} = exports.parseUrl(input, options);\n\treturn exports.stringifyUrl({\n\t\turl,\n\t\tquery: filterObject(query, filter),\n\t\tfragmentIdentifier\n\t}, options);\n};\n\nexports.exclude = (input, filter, options) => {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn exports.pick(input, exclusionFilter, options);\n};\n","function e(s,r,i=\"string\"){if(!s[r]||typeof s[r]!==i)throw new Error(`Missing or invalid \"${r}\" param`)}function l(s,r){let i=!0;return r.forEach(t=>{t in s||(i=!1)}),i}function f(s,r){return Array.isArray(s)?s.length===r:Object.keys(s).length===r}function w(s,r){return Array.isArray(s)?s.length>=r:Object.keys(s).length>=r}function u(s,r,i){return(i.length?w(s,r.length):f(s,r.length))?l(s,r):!1}function n(s,r,i=\"_\"){const t=s.split(i);return t[t.length-1].trim().toLowerCase()===r.trim().toLowerCase()}function R(s){return b(s.method)&&a(s.params)}function b(s){return n(s,\"subscribe\")}function a(s){return u(s,[\"topic\"],[])}function P(s){return c(s.method)&&h(s.params)}function c(s){return n(s,\"publish\")}function h(s){return u(s,[\"message\",\"topic\",\"ttl\"],[\"prompt\",\"tag\"])}function _(s){return o(s.method)&&p(s.params)}function o(s){return n(s,\"unsubscribe\")}function p(s){return u(s,[\"id\",\"topic\"],[])}function S(s){return m(s.method)&&d(s.params)}function m(s){return n(s,\"subscription\")}function d(s){return u(s,[\"id\",\"data\"],[])}function g(s){if(!b(s.method))throw new Error(\"JSON-RPC Request has invalid subscribe method\");if(!a(s.params))throw new Error(\"JSON-RPC Request has invalid subscribe params\");const r=s.params;return e(r,\"topic\"),r}function q(s){if(!c(s.method))throw new Error(\"JSON-RPC Request has invalid publish method\");if(!h(s.params))throw new Error(\"JSON-RPC Request has invalid publish params\");const r=s.params;return e(r,\"topic\"),e(r,\"message\"),e(r,\"ttl\",\"number\"),r}function E(s){if(!o(s.method))throw new Error(\"JSON-RPC Request has invalid unsubscribe method\");if(!p(s.params))throw new Error(\"JSON-RPC Request has invalid unsubscribe params\");const r=s.params;return e(r,\"id\"),r}function k(s){if(!m(s.method))throw new Error(\"JSON-RPC Request has invalid subscription method\");if(!d(s.params))throw new Error(\"JSON-RPC Request has invalid subscription params\");const r=s.params;return e(r,\"id\"),e(r,\"data\"),r}const C={waku:{publish:\"waku_publish\",batchPublish:\"waku_batchPublish\",subscribe:\"waku_subscribe\",batchSubscribe:\"waku_batchSubscribe\",subscription:\"waku_subscription\",unsubscribe:\"waku_unsubscribe\",batchUnsubscribe:\"waku_batchUnsubscribe\",batchFetchMessages:\"waku_batchFetchMessages\"},irn:{publish:\"irn_publish\",batchPublish:\"irn_batchPublish\",subscribe:\"irn_subscribe\",batchSubscribe:\"irn_batchSubscribe\",subscription:\"irn_subscription\",unsubscribe:\"irn_unsubscribe\",batchUnsubscribe:\"irn_batchUnsubscribe\",batchFetchMessages:\"irn_batchFetchMessages\"},iridium:{publish:\"iridium_publish\",batchPublish:\"iridium_batchPublish\",subscribe:\"iridium_subscribe\",batchSubscribe:\"iridium_batchSubscribe\",subscription:\"iridium_subscription\",unsubscribe:\"iridium_unsubscribe\",batchUnsubscribe:\"iridium_batchUnsubscribe\",batchFetchMessages:\"iridium_batchFetchMessages\"}};export{C as RELAY_JSONRPC,c as isPublishMethod,h as isPublishParams,P as isPublishRequest,b as isSubscribeMethod,a as isSubscribeParams,R as isSubscribeRequest,m as isSubscriptionMethod,d as isSubscriptionParams,S as isSubscriptionRequest,o as isUnsubscribeMethod,p as isUnsubscribeParams,_ as isUnsubscribeRequest,q as parsePublishRequest,g as parseSubscribeRequest,k as parseSubscriptionRequest,E as parseUnsubscribeRequest};\n//# sourceMappingURL=index.es.js.map\n","import{ChaCha20Poly1305 as ue}from\"@stablelib/chacha20poly1305\";import{HKDF as On}from\"@stablelib/hkdf\";import{randomBytes as le}from\"@stablelib/random\";import{SHA256 as Sn,hash as de}from\"@stablelib/sha256\";import*as fe from\"@stablelib/x25519\";import{toString as v,fromString as E,concat as pe}from\"uint8arrays\";import{detect as wn}from\"detect-browser\";import{toMiliseconds as W,FIVE_MINUTES as me,fromMiliseconds as In}from\"@walletconnect/time\";import{getDocument as ye,getNavigator as ge,getLocation as he}from\"@walletconnect/window-getters\";import{getWindowMetadata as Tn}from\"@walletconnect/window-metadata\";import*as M from\"query-string\";import{RELAY_JSONRPC as Pn}from\"@walletconnect/relay-api\";const K=\":\";function ve(e){const[n,t]=e.split(K);return{namespace:n,reference:t}}function Ee(e){const{namespace:n,reference:t}=e;return[n,t].join(K)}function z(e){const[n,t,r]=e.split(K);return{namespace:n,reference:t,address:r}}function be(e){const{namespace:n,reference:t,address:r}=e;return[n,t,r].join(K)}function Y(e,n){const t=[];return e.forEach(r=>{const o=n(r);t.includes(o)||t.push(o)}),t}function Ne(e){const{address:n}=z(e);return n}function Oe(e){const{namespace:n,reference:t}=z(e);return Ee({namespace:n,reference:t})}function Rn(e,n){const{namespace:t,reference:r}=ve(n);return be({namespace:t,reference:r,address:e})}function An(e){return Y(e,Ne)}function Se(e){return Y(e,Oe)}function Un(e,n=[]){const t=[];return Object.keys(e).forEach(r=>{if(n.length&&!n.includes(r))return;const o=e[r];t.push(...o.accounts)}),t}function _n(e,n=[]){const t=[];return Object.keys(e).forEach(r=>{if(n.length&&!n.includes(r))return;const o=e[r];t.push(...Se(o.accounts))}),t}function $n(e,n=[]){const t=[];return Object.keys(e).forEach(r=>{if(n.length&&!n.includes(r))return;const o=e[r];t.push(...L(r,o))}),t}function L(e,n){return e.includes(\":\")?[e]:n.chains||[]}const x=e=>e?.split(\":\"),we=e=>{const n=e&&x(e);if(n)return n[3]},Cn=e=>{const n=e&&x(e);if(n)return n[2]+\":\"+n[3]},Ie=e=>{const n=e&&x(e);if(n)return n.pop()},jn=(e,n)=>{const t=`${e.domain} wants you to sign in with your Ethereum account:`,r=Ie(n),o=e.statement,s=`URI: ${e.aud}`,i=`Version: ${e.version}`,d=`Chain ID: ${we(n)}`,l=`Nonce: ${e.nonce}`,c=`Issued At: ${e.iat}`,u=e.resources&&e.resources.length>0?`Resources:\n${e.resources.map(a=>`- ${a}`).join(`\n`)}`:void 0;return[t,r,\"\",o,\"\",s,i,d,l,c,u].filter(a=>a!=null).join(`\n`)},J=\"base10\",p=\"base16\",F=\"base64pad\",H=\"utf8\",Q=0,_=1,Dn=0,Te=1,Z=12,X=32;function kn(){const e=fe.generateKeyPair();return{privateKey:v(e.secretKey,p),publicKey:v(e.publicKey,p)}}function Vn(){const e=le(X);return v(e,p)}function Mn(e,n){const t=fe.sharedKey(E(e,p),E(n,p),!0),r=new On(Sn,t).expand(X);return v(r,p)}function Kn(e){const n=de(E(e,p));return v(n,p)}function Ln(e){const n=de(E(e,H));return v(n,p)}function Pe(e){return E(`${e}`,J)}function j(e){return Number(v(e,J))}function xn(e){const n=Pe(typeof e.type<\"u\"?e.type:Q);if(j(n)===_&&typeof e.senderPublicKey>\"u\")throw new Error(\"Missing sender public key for type 1 envelope\");const t=typeof e.senderPublicKey<\"u\"?E(e.senderPublicKey,p):void 0,r=typeof e.iv<\"u\"?E(e.iv,p):le(Z),o=new ue(E(e.symKey,p)).seal(r,E(e.message,H));return Re({type:n,sealed:o,iv:r,senderPublicKey:t})}function Fn(e){const n=new ue(E(e.symKey,p)),{sealed:t,iv:r}=ee(e.encoded),o=n.open(r,t);if(o===null)throw new Error(\"Failed to decrypt\");return v(o,H)}function Re(e){if(j(e.type)===_){if(typeof e.senderPublicKey>\"u\")throw new Error(\"Missing sender public key for type 1 envelope\");return v(pe([e.type,e.senderPublicKey,e.iv,e.sealed]),F)}return v(pe([e.type,e.iv,e.sealed]),F)}function ee(e){const n=E(e,F),t=n.slice(Dn,Te),r=Te;if(j(t)===_){const d=r+X,l=d+Z,c=n.slice(r,d),u=n.slice(d,l),a=n.slice(l);return{type:t,sealed:a,iv:u,senderPublicKey:c}}const o=r+Z,s=n.slice(r,o),i=n.slice(o);return{type:t,sealed:i,iv:s}}function Hn(e,n){const t=ee(e);return Ae({type:j(t.type),senderPublicKey:typeof t.senderPublicKey<\"u\"?v(t.senderPublicKey,p):void 0,receiverPublicKey:n?.receiverPublicKey})}function Ae(e){const n=e?.type||Q;if(n===_){if(typeof e?.senderPublicKey>\"u\")throw new Error(\"missing sender public key\");if(typeof e?.receiverPublicKey>\"u\")throw new Error(\"missing receiver public key\")}return{type:n,senderPublicKey:e?.senderPublicKey,receiverPublicKey:e?.receiverPublicKey}}function qn(e){return e.type===_&&typeof e.senderPublicKey==\"string\"&&typeof e.receiverPublicKey==\"string\"}var Bn=Object.defineProperty,Ue=Object.getOwnPropertySymbols,Gn=Object.prototype.hasOwnProperty,Wn=Object.prototype.propertyIsEnumerable,_e=(e,n,t)=>n in e?Bn(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,$e=(e,n)=>{for(var t in n||(n={}))Gn.call(n,t)&&_e(e,t,n[t]);if(Ue)for(var t of Ue(n))Wn.call(n,t)&&_e(e,t,n[t]);return e};const Ce=\"ReactNative\",m={reactNative:\"react-native\",node:\"node\",browser:\"browser\",unknown:\"unknown\"},q=\" \",zn=\":\",je=\"/\",ne=2,Yn=1e3,De=\"js\";function te(){return typeof process<\"u\"&&typeof process.versions<\"u\"&&typeof process.versions.node<\"u\"}function $(){return!ye()&&!!ge()&&navigator.product===Ce}function D(){return!te()&&!!ge()&&!!ye()}function R(){return $()?m.reactNative:te()?m.node:D()?m.browser:m.unknown}function Jn(){var e;try{return $()&&typeof global<\"u\"&&typeof(global==null?void 0:global.Application)<\"u\"?(e=global.Application)==null?void 0:e.applicationId:void 0}catch{return}}function ke(e,n){let t=M.parse(e);return t=$e($e({},t),n),e=M.stringify(t),e}function Qn(){return Tn()||{name:\"\",description:\"\",url:\"\",icons:[\"\"]}}function Zn(e,n){var t;const r=R(),o={protocol:e,version:n,env:r};return r===\"browser\"&&(o.host=((t=he())==null?void 0:t.host)||\"unknown\"),o}function Ve(){if(R()===m.reactNative&&typeof global<\"u\"&&typeof(global==null?void 0:global.Platform)<\"u\"){const{OS:t,Version:r}=global.Platform;return[t,r].join(\"-\")}const e=wn();if(e===null)return\"unknown\";const n=e.os?e.os.replace(\" \",\"\").toLowerCase():\"unknown\";return e.type===\"browser\"?[n,e.name,e.version].join(\"-\"):[n,e.version].join(\"-\")}function Me(){var e;const n=R();return n===m.browser?[n,((e=he())==null?void 0:e.host)||\"unknown\"].join(\":\"):n}function Ke(e,n,t){const r=Ve(),o=Me();return[[e,n].join(\"-\"),[De,t].join(\"-\"),r,o].join(\"/\")}function Xn({protocol:e,version:n,relayUrl:t,sdkVersion:r,auth:o,projectId:s,useOnCloseEvent:i,bundleId:d}){const l=t.split(\"?\"),c=Ke(e,n,r),u={auth:o,ua:c,projectId:s,useOnCloseEvent:i||void 0,origin:d||void 0},a=ke(l[1]||\"\",u);return l[0]+\"?\"+a}function et(e){let n=(e.match(/^[^:]+(?=:\\/\\/)/gi)||[])[0];const t=typeof n<\"u\"?e.split(\"://\")[1]:e;return n=n===\"wss\"?\"https\":\"http\",[n,t].join(\"://\")}function nt(e,n,t){if(!e[n]||typeof e[n]!==t)throw new Error(`Missing or invalid \"${n}\" param`)}function Le(e,n=ne){return xe(e.split(je),n)}function tt(e){return Le(e).join(q)}function O(e,n){return e.filter(t=>n.includes(t)).length===e.length}function xe(e,n=ne){return e.slice(Math.max(e.length-n,0))}function rt(e){return Object.fromEntries(e.entries())}function ot(e){return new Map(Object.entries(e))}function st(e,n){const t={};return Object.keys(e).forEach(r=>{t[r]=n(e[r])}),t}const it=e=>e;function Fe(e){return e.trim().replace(/^\\w/,n=>n.toUpperCase())}function ct(e){return e.split(q).map(n=>Fe(n)).join(q)}function at(e=me,n){const t=W(e||me);let r,o,s;return{resolve:i=>{s&&r&&(clearTimeout(s),r(i))},reject:i=>{s&&o&&(clearTimeout(s),o(i))},done:()=>new Promise((i,d)=>{s=setTimeout(()=>{d(new Error(n))},t),r=i,o=d})}}function ut(e,n,t){return new Promise(async(r,o)=>{const s=setTimeout(()=>o(new Error(t)),n);try{const i=await e;r(i)}catch(i){o(i)}clearTimeout(s)})}function re(e,n){if(typeof n==\"string\"&&n.startsWith(`${e}:`))return n;if(e.toLowerCase()===\"topic\"){if(typeof n!=\"string\")throw new Error('Value must be \"string\" for expirer target type: topic');return`topic:${n}`}else if(e.toLowerCase()===\"id\"){if(typeof n!=\"number\")throw new Error('Value must be \"number\" for expirer target type: id');return`id:${n}`}throw new Error(`Unknown expirer target type: ${e}`)}function lt(e){return re(\"topic\",e)}function dt(e){return re(\"id\",e)}function ft(e){const[n,t]=e.split(\":\"),r={id:void 0,topic:void 0};if(n===\"topic\"&&typeof t==\"string\")r.topic=t;else if(n===\"id\"&&Number.isInteger(Number(t)))r.id=Number(t);else throw new Error(`Invalid target, expected id:number or topic:string, got ${n}:${t}`);return r}function pt(e,n){return In((n||Date.now())+W(e))}function mt(e){return Date.now()>=W(e)}function yt(e,n){return`${e}${n?`:${n}`:\"\"}`}function S(e=[],n=[]){return[...new Set([...e,...n])]}async function gt({id:e,topic:n,wcDeepLink:t}){try{if(!t)return;const r=typeof t==\"string\"?JSON.parse(t):t;let o=r?.href;if(typeof o!=\"string\")return;o.endsWith(\"/\")&&(o=o.slice(0,-1));const s=`${o}/wc?requestId=${e}&sessionTopic=${n}`,i=R();i===m.browser?s.startsWith(\"https://\")?window.open(s,\"_blank\",\"noreferrer noopener\"):window.open(s,\"_self\",\"noreferrer noopener\"):i===m.reactNative&&typeof(global==null?void 0:global.Linking)<\"u\"&&await global.Linking.openURL(s)}catch(r){console.error(r)}}async function ht(e,n){try{return await e.getItem(n)||(D()?localStorage.getItem(n):void 0)}catch(t){console.error(t)}}const He=\"irn\";function vt(e){return e?.relay||{protocol:He}}function Et(e){const n=Pn[e];if(typeof n>\"u\")throw new Error(`Relay Protocol not supported: ${e}`);return n}var bt=Object.defineProperty,Nt=Object.defineProperties,Ot=Object.getOwnPropertyDescriptors,qe=Object.getOwnPropertySymbols,St=Object.prototype.hasOwnProperty,wt=Object.prototype.propertyIsEnumerable,Be=(e,n,t)=>n in e?bt(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,It=(e,n)=>{for(var t in n||(n={}))St.call(n,t)&&Be(e,t,n[t]);if(qe)for(var t of qe(n))wt.call(n,t)&&Be(e,t,n[t]);return e},Tt=(e,n)=>Nt(e,Ot(n));function Ge(e,n=\"-\"){const t={},r=\"relay\"+n;return Object.keys(e).forEach(o=>{if(o.startsWith(r)){const s=o.replace(r,\"\"),i=e[o];t[s]=i}}),t}function Pt(e){e=e.includes(\"wc://\")?e.replace(\"wc://\",\"\"):e,e=e.includes(\"wc:\")?e.replace(\"wc:\",\"\"):e;const n=e.indexOf(\":\"),t=e.indexOf(\"?\")!==-1?e.indexOf(\"?\"):void 0,r=e.substring(0,n),o=e.substring(n+1,t).split(\"@\"),s=typeof t<\"u\"?e.substring(t):\"\",i=M.parse(s);return{protocol:r,topic:We(o[0]),version:parseInt(o[1],10),symKey:i.symKey,relay:Ge(i),expiryTimestamp:i.expiryTimestamp?parseInt(i.expiryTimestamp,10):void 0}}function We(e){return e.startsWith(\"//\")?e.substring(2):e}function ze(e,n=\"-\"){const t=\"relay\",r={};return Object.keys(e).forEach(o=>{const s=t+n+o;e[o]&&(r[s]=e[o])}),r}function Rt(e){return`${e.protocol}:${e.topic}@${e.version}?`+M.stringify(Tt(It({symKey:e.symKey},ze(e.relay)),{expiryTimestamp:e.expiryTimestamp}))}var At=Object.defineProperty,Ut=Object.defineProperties,_t=Object.getOwnPropertyDescriptors,Ye=Object.getOwnPropertySymbols,$t=Object.prototype.hasOwnProperty,Ct=Object.prototype.propertyIsEnumerable,Je=(e,n,t)=>n in e?At(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,jt=(e,n)=>{for(var t in n||(n={}))$t.call(n,t)&&Je(e,t,n[t]);if(Ye)for(var t of Ye(n))Ct.call(n,t)&&Je(e,t,n[t]);return e},Dt=(e,n)=>Ut(e,_t(n));function A(e){const n=[];return e.forEach(t=>{const[r,o]=t.split(\":\");n.push(`${r}:${o}`)}),n}function Qe(e){const n=[];return Object.values(e).forEach(t=>{n.push(...A(t.accounts))}),n}function Ze(e,n){const t=[];return Object.values(e).forEach(r=>{A(r.accounts).includes(n)&&t.push(...r.methods)}),t}function Xe(e,n){const t=[];return Object.values(e).forEach(r=>{A(r.accounts).includes(n)&&t.push(...r.events)}),t}function kt(e,n){const t=ln(e,n);if(t)throw new Error(t.message);const r={};for(const[o,s]of Object.entries(e))r[o]={methods:s.methods,events:s.events,chains:s.accounts.map(i=>`${i.split(\":\")[0]}:${i.split(\":\")[1]}`)};return r}function Vt(e){const{proposal:{requiredNamespaces:n,optionalNamespaces:t={}},supportedNamespaces:r}=e,o=se(n),s=se(t),i={};Object.keys(r).forEach(c=>{const u=r[c].chains,a=r[c].methods,b=r[c].events,I=r[c].accounts;u.forEach(y=>{if(!I.some(f=>f.includes(y)))throw new Error(`No accounts provided for chain ${y} in namespace ${c}`)}),i[c]={chains:u,methods:a,events:b,accounts:I}});const d=fn(n,i,\"approve()\");if(d)throw new Error(d.message);const l={};return!Object.keys(n).length&&!Object.keys(t).length?i:(Object.keys(o).forEach(c=>{const u=r[c].chains.filter(y=>{var f,h;return(h=(f=o[c])==null?void 0:f.chains)==null?void 0:h.includes(y)}),a=r[c].methods.filter(y=>{var f,h;return(h=(f=o[c])==null?void 0:f.methods)==null?void 0:h.includes(y)}),b=r[c].events.filter(y=>{var f,h;return(h=(f=o[c])==null?void 0:f.events)==null?void 0:h.includes(y)}),I=u.map(y=>r[c].accounts.filter(f=>f.includes(`${y}:`))).flat();l[c]={chains:u,methods:a,events:b,accounts:I}}),Object.keys(s).forEach(c=>{var u,a,b,I,y,f;if(!r[c])return;const h=(a=(u=s[c])==null?void 0:u.chains)==null?void 0:a.filter(T=>r[c].chains.includes(T)),En=r[c].methods.filter(T=>{var P,C;return(C=(P=s[c])==null?void 0:P.methods)==null?void 0:C.includes(T)}),bn=r[c].events.filter(T=>{var P,C;return(C=(P=s[c])==null?void 0:P.events)==null?void 0:C.includes(T)}),Nn=h?.map(T=>r[c].accounts.filter(P=>P.includes(`${T}:`))).flat();l[c]={chains:S((b=l[c])==null?void 0:b.chains,h),methods:S((I=l[c])==null?void 0:I.methods,En),events:S((y=l[c])==null?void 0:y.events,bn),accounts:S((f=l[c])==null?void 0:f.accounts,Nn)}}),l)}function oe(e){return e.includes(\":\")}function en(e){return oe(e)?e.split(\":\")[0]:e}function se(e){var n,t,r;const o={};if(!B(e))return o;for(const[s,i]of Object.entries(e)){const d=oe(s)?[s]:i.chains,l=i.methods||[],c=i.events||[],u=en(s);o[u]=Dt(jt({},o[u]),{chains:S(d,(n=o[u])==null?void 0:n.chains),methods:S(l,(t=o[u])==null?void 0:t.methods),events:S(c,(r=o[u])==null?void 0:r.events)})}return o}const nn={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}},tn={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 N(e,n){const{message:t,code:r}=tn[e];return{message:n?`${t} ${n}`:t,code:r}}function U(e,n){const{message:t,code:r}=nn[e];return{message:n?`${t} ${n}`:t,code:r}}function k(e,n){return Array.isArray(e)?typeof n<\"u\"&&e.length?e.every(n):!0:!1}function B(e){return Object.getPrototypeOf(e)===Object.prototype&&Object.keys(e).length}function w(e){return typeof e>\"u\"}function g(e,n){return n&&w(e)?!0:typeof e==\"string\"&&!!e.trim().length}function G(e,n){return n&&w(e)?!0:typeof e==\"number\"&&!isNaN(e)}function Mt(e,n){const{requiredNamespaces:t}=n,r=Object.keys(e.namespaces),o=Object.keys(t);let s=!0;return O(o,r)?(r.forEach(i=>{const{accounts:d,methods:l,events:c}=e.namespaces[i],u=A(d),a=t[i];(!O(L(i,a),u)||!O(a.methods,l)||!O(a.events,c))&&(s=!1)}),s):!1}function V(e){return g(e,!1)&&e.includes(\":\")?e.split(\":\").length===2:!1}function rn(e){if(g(e,!1)&&e.includes(\":\")){const n=e.split(\":\");if(n.length===3){const t=n[0]+\":\"+n[1];return!!n[2]&&V(t)}}return!1}function Kt(e){if(g(e,!1))try{return typeof new URL(e)<\"u\"}catch{return!1}return!1}function Lt(e){var n;return(n=e?.proposer)==null?void 0:n.publicKey}function xt(e){return e?.topic}function Ft(e,n){let t=null;return g(e?.publicKey,!1)||(t=N(\"MISSING_OR_INVALID\",`${n} controller public key should be a string`)),t}function ie(e){let n=!0;return k(e)?e.length&&(n=e.every(t=>g(t,!1))):n=!1,n}function on(e,n,t){let r=null;return k(n)&&n.length?n.forEach(o=>{r||V(o)||(r=U(\"UNSUPPORTED_CHAINS\",`${t}, chain ${o} should be a string and conform to \"namespace:chainId\" format`))}):V(e)||(r=U(\"UNSUPPORTED_CHAINS\",`${t}, 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\"] }`)),r}function sn(e,n,t){let r=null;return Object.entries(e).forEach(([o,s])=>{if(r)return;const i=on(o,L(o,s),`${n} ${t}`);i&&(r=i)}),r}function cn(e,n){let t=null;return k(e)?e.forEach(r=>{t||rn(r)||(t=U(\"UNSUPPORTED_ACCOUNTS\",`${n}, account ${r} should be a string and conform to \"namespace:chainId:address\" format`))}):t=U(\"UNSUPPORTED_ACCOUNTS\",`${n}, accounts should be an array of strings conforming to \"namespace:chainId:address\" format`),t}function an(e,n){let t=null;return Object.values(e).forEach(r=>{if(t)return;const o=cn(r?.accounts,`${n} namespace`);o&&(t=o)}),t}function un(e,n){let t=null;return ie(e?.methods)?ie(e?.events)||(t=U(\"UNSUPPORTED_EVENTS\",`${n}, events should be an array of strings or empty array for no events`)):t=U(\"UNSUPPORTED_METHODS\",`${n}, methods should be an array of strings or empty array for no methods`),t}function ce(e,n){let t=null;return Object.values(e).forEach(r=>{if(t)return;const o=un(r,`${n}, namespace`);o&&(t=o)}),t}function Ht(e,n,t){let r=null;if(e&&B(e)){const o=ce(e,n);o&&(r=o);const s=sn(e,n,t);s&&(r=s)}else r=N(\"MISSING_OR_INVALID\",`${n}, ${t} should be an object with data`);return r}function ln(e,n){let t=null;if(e&&B(e)){const r=ce(e,n);r&&(t=r);const o=an(e,n);o&&(t=o)}else t=N(\"MISSING_OR_INVALID\",`${n}, namespaces should be an object with data`);return t}function dn(e){return g(e.protocol,!0)}function qt(e,n){let t=!1;return n&&!e?t=!0:e&&k(e)&&e.length&&e.forEach(r=>{t=dn(r)}),t}function Bt(e){return typeof e==\"number\"}function Gt(e){return typeof e<\"u\"&&typeof e!==null}function Wt(e){return!(!e||typeof e!=\"object\"||!e.code||!G(e.code,!1)||!e.message||!g(e.message,!1))}function zt(e){return!(w(e)||!g(e.method,!1))}function Yt(e){return!(w(e)||w(e.result)&&w(e.error)||!G(e.id,!1)||!g(e.jsonrpc,!1))}function Jt(e){return!(w(e)||!g(e.name,!1))}function Qt(e,n){return!(!V(n)||!Qe(e).includes(n))}function Zt(e,n,t){return g(t,!1)?Ze(e,n).includes(t):!1}function Xt(e,n,t){return g(t,!1)?Xe(e,n).includes(t):!1}function fn(e,n,t){let r=null;const o=er(e),s=nr(n),i=Object.keys(o),d=Object.keys(s),l=pn(Object.keys(e)),c=pn(Object.keys(n)),u=l.filter(a=>!c.includes(a));return u.length&&(r=N(\"NON_CONFORMING_NAMESPACES\",`${t} namespaces keys don't satisfy requiredNamespaces.\n Required: ${u.toString()}\n Received: ${Object.keys(n).toString()}`)),O(i,d)||(r=N(\"NON_CONFORMING_NAMESPACES\",`${t} namespaces chains don't satisfy required namespaces.\n Required: ${i.toString()}\n Approved: ${d.toString()}`)),Object.keys(n).forEach(a=>{if(!a.includes(\":\")||r)return;const b=A(n[a].accounts);b.includes(a)||(r=N(\"NON_CONFORMING_NAMESPACES\",`${t} namespaces accounts don't satisfy namespace accounts for ${a}\n Required: ${a}\n Approved: ${b.toString()}`))}),i.forEach(a=>{r||(O(o[a].methods,s[a].methods)?O(o[a].events,s[a].events)||(r=N(\"NON_CONFORMING_NAMESPACES\",`${t} namespaces events don't satisfy namespace events for ${a}`)):r=N(\"NON_CONFORMING_NAMESPACES\",`${t} namespaces methods don't satisfy namespace methods for ${a}`))}),r}function er(e){const n={};return Object.keys(e).forEach(t=>{var r;t.includes(\":\")?n[t]=e[t]:(r=e[t].chains)==null||r.forEach(o=>{n[o]={methods:e[t].methods,events:e[t].events}})}),n}function pn(e){return[...new Set(e.map(n=>n.includes(\":\")?n.split(\":\")[0]:n))]}function nr(e){const n={};return Object.keys(e).forEach(t=>{if(t.includes(\":\"))n[t]=e[t];else{const r=A(e[t].accounts);r?.forEach(o=>{n[o]={accounts:e[t].accounts.filter(s=>s.includes(`${o}:`)),methods:e[t].methods,events:e[t].events}})}}),n}function tr(e,n){return G(e,!1)&&e<=n.max&&e>=n.min}function rr(){const e=R();return new Promise(n=>{switch(e){case m.browser:n(mn());break;case m.reactNative:n(yn());break;case m.node:n(gn());break;default:n(!0)}})}function mn(){return D()&&navigator?.onLine}async function yn(){if($()&&typeof global<\"u\"&&global!=null&&global.NetInfo){const e=await(global==null?void 0:global.NetInfo.fetch());return e?.isConnected}return!0}function gn(){return!0}function or(e){switch(R()){case m.browser:hn(e);break;case m.reactNative:vn(e);break;case m.node:break}}function hn(e){!$()&&D()&&(window.addEventListener(\"online\",()=>e(!0)),window.addEventListener(\"offline\",()=>e(!1)))}function vn(e){$()&&typeof global<\"u\"&&global!=null&&global.NetInfo&&global?.NetInfo.addEventListener(n=>e(n?.isConnected))}const ae={};class sr{static get(n){return ae[n]}static set(n,t){ae[n]=t}static delete(n){delete ae[n]}}export{J as BASE10,p as BASE16,F as BASE64,zn as COLON,ne as DEFAULT_DEPTH,q as EMPTY_SPACE,m as ENV_MAP,tn as INTERNAL_ERRORS,sr as MemoryStore,Yn as ONE_THOUSAND,Ce as REACT_NATIVE_PRODUCT,He as RELAYER_DEFAULT_PROTOCOL,nn as SDK_ERRORS,De as SDK_TYPE,je as SLASH,Q as TYPE_0,_ as TYPE_1,H as UTF8,ke as appendToQueryString,nt as assertType,Vt as buildApprovedNamespaces,pt as calcExpiry,ct as capitalize,Fe as capitalizeWord,at as createDelayedPromise,ut as createExpiringPromise,j as decodeTypeByte,Fn as decrypt,Mn as deriveSymKey,ee as deserialize,Pe as encodeTypeByte,xn as encrypt,yt as engineEvent,it as enumify,be as formatAccountId,Rn as formatAccountWithChain,Ee as formatChainId,re as formatExpirerTarget,dt as formatIdTarget,jn as formatMessage,tt as formatMessageContext,ze as formatRelayParams,Xn as formatRelayRpcUrl,lt as formatTopicTarget,Ke as formatUA,Rt as formatUri,kn as generateKeyPair,Vn as generateRandomBytes32,A as getAccountsChains,Un as getAccountsFromNamespaces,Ne as getAddressFromAccount,An as getAddressesFromAccounts,Qn as getAppMetadata,mn as getBrowserOnlineStatus,Jn as getBundleId,Oe as getChainFromAccount,Se as getChainsFromAccounts,L as getChainsFromNamespace,_n as getChainsFromNamespaces,$n as getChainsFromRequiredNamespaces,ht as getDeepLink,Ie as getDidAddress,x as getDidAddressSegments,we as getDidChainId,R as getEnvironment,et as getHttpUrl,N as getInternalError,Me as getJavascriptID,Ve as getJavascriptOS,xe as getLastItems,Cn as getNamespacedDidChainId,Qe as getNamespacesChains,Xe as getNamespacesEventsForChainId,Ze as getNamespacesMethodsForChainId,gn as getNodeOnlineStatus,yn as getReactNativeOnlineStatus,Zn as getRelayClientMetadata,Et as getRelayProtocolApi,vt as getRelayProtocolName,kt as getRequiredNamespacesFromNamespaces,U as getSdkError,Y as getUniqueValues,gt as handleDeeplinkRedirect,O as hasOverlap,Kn as hashKey,Ln as hashMessage,D as isBrowser,oe as isCaipNamespace,fn as isConformingNamespaces,mt as isExpired,te as isNode,rr as isOnline,Lt as isProposalStruct,$ as isReactNative,Mt as isSessionCompatible,xt as isSessionStruct,qn as isTypeOneEnvelope,w as isUndefined,rn as isValidAccountId,cn as isValidAccounts,un as isValidActions,k as isValidArray,V as isValidChainId,on as isValidChains,Ft as isValidController,Wt as isValidErrorReason,Jt as isValidEvent,Bt as isValidId,an as isValidNamespaceAccounts,ce as isValidNamespaceActions,sn as isValidNamespaceChains,ie as isValidNamespaceMethodsOrEvents,ln as isValidNamespaces,Qt as isValidNamespacesChainId,Xt as isValidNamespacesEvent,Zt as isValidNamespacesRequest,G as isValidNumber,B as isValidObject,Gt as isValidParams,dn as isValidRelay,qt as isValidRelays,zt as isValidRequest,tr as isValidRequestExpiry,Ht as isValidRequiredNamespaces,Yt as isValidResponse,g as isValidString,Kt as isValidUrl,st as mapEntries,rt as mapToObj,S as mergeArrays,se as normalizeNamespaces,ot as objToMap,z as parseAccountId,ve as parseChainId,Le as parseContextNames,ft as parseExpirerTarget,en as parseNamespaceKey,Ge as parseRelayParams,We as parseTopic,Pt as parseUri,Re as serialize,hn as subscribeToBrowserNetworkChange,or as subscribeToNetworkChange,vn as subscribeToReactNativeNetworkChange,Hn as validateDecoding,Ae as validateEncoding};\n//# sourceMappingURL=index.es.js.map\n","const suspectProtoRx = /\"(?:_|\\\\u0{2}5[Ff]){2}(?:p|\\\\u0{2}70)(?:r|\\\\u0{2}72)(?:o|\\\\u0{2}6[Ff])(?:t|\\\\u0{2}74)(?:o|\\\\u0{2}6[Ff])(?:_|\\\\u0{2}5[Ff]){2}\"\\s*:/;\nconst suspectConstructorRx = /\"(?:c|\\\\u0063)(?:o|\\\\u006[Ff])(?:n|\\\\u006[Ee])(?:s|\\\\u0073)(?:t|\\\\u0074)(?:r|\\\\u0072)(?:u|\\\\u0075)(?:c|\\\\u0063)(?:t|\\\\u0074)(?:o|\\\\u006[Ff])(?:r|\\\\u0072)\"\\s*:/;\nconst JsonSigRx = /^\\s*[\"[{]|^\\s*-?\\d{1,16}(\\.\\d{1,17})?([Ee][+-]?\\d+)?\\s*$/;\nfunction jsonParseTransform(key, value) {\n if (key === \"__proto__\" || key === \"constructor\" && value && typeof value === \"object\" && \"prototype\" in value) {\n warnKeyDropped(key);\n return;\n }\n return value;\n}\nfunction warnKeyDropped(key) {\n console.warn(`[destr] Dropping \"${key}\" key to prevent prototype pollution.`);\n}\nfunction destr(value, options = {}) {\n if (typeof value !== \"string\") {\n return value;\n }\n const _value = value.trim();\n if (\n // eslint-disable-next-line unicorn/prefer-at\n value[0] === '\"' && value.endsWith('\"') && !value.includes(\"\\\\\")\n ) {\n return _value.slice(1, -1);\n }\n if (_value.length <= 9) {\n const _lval = _value.toLowerCase();\n if (_lval === \"true\") {\n return true;\n }\n if (_lval === \"false\") {\n return false;\n }\n if (_lval === \"undefined\") {\n return void 0;\n }\n if (_lval === \"null\") {\n return null;\n }\n if (_lval === \"nan\") {\n return Number.NaN;\n }\n if (_lval === \"infinity\") {\n return Number.POSITIVE_INFINITY;\n }\n if (_lval === \"-infinity\") {\n return Number.NEGATIVE_INFINITY;\n }\n }\n if (!JsonSigRx.test(value)) {\n if (options.strict) {\n throw new SyntaxError(\"[destr] Invalid JSON\");\n }\n return value;\n }\n try {\n if (suspectProtoRx.test(value) || suspectConstructorRx.test(value)) {\n if (options.strict) {\n throw new Error(\"[destr] Possible prototype pollution\");\n }\n return JSON.parse(value, jsonParseTransform);\n }\n return JSON.parse(value);\n } catch (error) {\n if (options.strict) {\n throw error;\n }\n return value;\n }\n}\nfunction safeDestr(value, options = {}) {\n return destr(value, { ...options, strict: true });\n}\n\nexport { destr as default, destr, safeDestr };\n","function wrapToPromise(value) {\n if (!value || typeof value.then !== \"function\") {\n return Promise.resolve(value);\n }\n return value;\n}\nfunction asyncCall(function_, ...arguments_) {\n try {\n return wrapToPromise(function_(...arguments_));\n } catch (error) {\n return Promise.reject(error);\n }\n}\nfunction isPrimitive(value) {\n const type = typeof value;\n return value === null || type !== \"object\" && type !== \"function\";\n}\nfunction isPureObject(value) {\n const proto = Object.getPrototypeOf(value);\n return !proto || proto.isPrototypeOf(Object);\n}\nfunction stringify(value) {\n if (isPrimitive(value)) {\n return String(value);\n }\n if (isPureObject(value) || Array.isArray(value)) {\n return JSON.stringify(value);\n }\n if (typeof value.toJSON === \"function\") {\n return stringify(value.toJSON());\n }\n throw new Error(\"[unstorage] Cannot stringify value!\");\n}\nfunction checkBufferSupport() {\n if (typeof Buffer === void 0) {\n throw new TypeError(\"[unstorage] Buffer is not supported!\");\n }\n}\nconst BASE64_PREFIX = \"base64:\";\nfunction serializeRaw(value) {\n if (typeof value === \"string\") {\n return value;\n }\n checkBufferSupport();\n const base64 = Buffer.from(value).toString(\"base64\");\n return BASE64_PREFIX + base64;\n}\nfunction deserializeRaw(value) {\n if (typeof value !== \"string\") {\n return value;\n }\n if (!value.startsWith(BASE64_PREFIX)) {\n return value;\n }\n checkBufferSupport();\n return Buffer.from(value.slice(BASE64_PREFIX.length), \"base64\");\n}\n\nconst storageKeyProperties = [\n \"hasItem\",\n \"getItem\",\n \"getItemRaw\",\n \"setItem\",\n \"setItemRaw\",\n \"removeItem\",\n \"getMeta\",\n \"setMeta\",\n \"removeMeta\",\n \"getKeys\",\n \"clear\",\n \"mount\",\n \"unmount\"\n];\nfunction prefixStorage(storage, base) {\n base = normalizeBaseKey(base);\n if (!base) {\n return storage;\n }\n const nsStorage = { ...storage };\n for (const property of storageKeyProperties) {\n nsStorage[property] = (key = \"\", ...args) => (\n // @ts-ignore\n storage[property](base + key, ...args)\n );\n }\n nsStorage.getKeys = (key = \"\", ...arguments_) => storage.getKeys(base + key, ...arguments_).then((keys) => keys.map((key2) => key2.slice(base.length)));\n return nsStorage;\n}\nfunction normalizeKey(key) {\n if (!key) {\n return \"\";\n }\n return key.split(\"?\")[0].replace(/[/\\\\]/g, \":\").replace(/:+/g, \":\").replace(/^:|:$/g, \"\");\n}\nfunction joinKeys(...keys) {\n return normalizeKey(keys.join(\":\"));\n}\nfunction normalizeBaseKey(base) {\n base = normalizeKey(base);\n return base ? base + \":\" : \"\";\n}\n\nexport { normalizeKey as a, asyncCall as b, serializeRaw as c, deserializeRaw as d, joinKeys as j, normalizeBaseKey as n, prefixStorage as p, stringify as s };\n","import destr from 'destr';\nimport { n as normalizeBaseKey, a as normalizeKey, b as asyncCall, d as deserializeRaw, s as stringify, c as serializeRaw, j as joinKeys } from './shared/unstorage.8581f561.mjs';\nexport { p as prefixStorage } from './shared/unstorage.8581f561.mjs';\n\nfunction defineDriver(factory) {\n return factory;\n}\n\nconst DRIVER_NAME = \"memory\";\nconst memory = defineDriver(() => {\n const data = /* @__PURE__ */ new Map();\n return {\n name: DRIVER_NAME,\n options: {},\n hasItem(key) {\n return data.has(key);\n },\n getItem(key) {\n return data.get(key) ?? null;\n },\n getItemRaw(key) {\n return data.get(key) ?? null;\n },\n setItem(key, value) {\n data.set(key, value);\n },\n setItemRaw(key, value) {\n data.set(key, value);\n },\n removeItem(key) {\n data.delete(key);\n },\n getKeys() {\n return Array.from(data.keys());\n },\n clear() {\n data.clear();\n },\n dispose() {\n data.clear();\n }\n };\n});\n\nfunction createStorage(options = {}) {\n const context = {\n mounts: { \"\": options.driver || memory() },\n mountpoints: [\"\"],\n watching: false,\n watchListeners: [],\n unwatch: {}\n };\n const getMount = (key) => {\n for (const base of context.mountpoints) {\n if (key.startsWith(base)) {\n return {\n base,\n relativeKey: key.slice(base.length),\n driver: context.mounts[base]\n };\n }\n }\n return {\n base: \"\",\n relativeKey: key,\n driver: context.mounts[\"\"]\n };\n };\n const getMounts = (base, includeParent) => {\n return context.mountpoints.filter(\n (mountpoint) => mountpoint.startsWith(base) || includeParent && base.startsWith(mountpoint)\n ).map((mountpoint) => ({\n relativeBase: base.length > mountpoint.length ? base.slice(mountpoint.length) : void 0,\n mountpoint,\n driver: context.mounts[mountpoint]\n }));\n };\n const onChange = (event, key) => {\n if (!context.watching) {\n return;\n }\n key = normalizeKey(key);\n for (const listener of context.watchListeners) {\n listener(event, key);\n }\n };\n const startWatch = async () => {\n if (context.watching) {\n return;\n }\n context.watching = true;\n for (const mountpoint in context.mounts) {\n context.unwatch[mountpoint] = await watch(\n context.mounts[mountpoint],\n onChange,\n mountpoint\n );\n }\n };\n const stopWatch = async () => {\n if (!context.watching) {\n return;\n }\n for (const mountpoint in context.unwatch) {\n await context.unwatch[mountpoint]();\n }\n context.unwatch = {};\n context.watching = false;\n };\n const runBatch = (items, commonOptions, cb) => {\n const batches = /* @__PURE__ */ new Map();\n const getBatch = (mount) => {\n let batch = batches.get(mount.base);\n if (!batch) {\n batch = {\n driver: mount.driver,\n base: mount.base,\n items: []\n };\n batches.set(mount.base, batch);\n }\n return batch;\n };\n for (const item of items) {\n const isStringItem = typeof item === \"string\";\n const key = normalizeKey(isStringItem ? item : item.key);\n const value = isStringItem ? void 0 : item.value;\n const options2 = isStringItem || !item.options ? commonOptions : { ...commonOptions, ...item.options };\n const mount = getMount(key);\n getBatch(mount).items.push({\n key,\n value,\n relativeKey: mount.relativeKey,\n options: options2\n });\n }\n return Promise.all([...batches.values()].map((batch) => cb(batch))).then(\n (r) => r.flat()\n );\n };\n const storage = {\n // Item\n hasItem(key, opts = {}) {\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n return asyncCall(driver.hasItem, relativeKey, opts);\n },\n getItem(key, opts = {}) {\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n return asyncCall(driver.getItem, relativeKey, opts).then(\n (value) => destr(value)\n );\n },\n getItems(items, commonOptions) {\n return runBatch(items, commonOptions, (batch) => {\n if (batch.driver.getItems) {\n return asyncCall(\n batch.driver.getItems,\n batch.items.map((item) => ({\n key: item.relativeKey,\n options: item.options\n })),\n commonOptions\n ).then(\n (r) => r.map((item) => ({\n key: joinKeys(batch.base, item.key),\n value: destr(item.value)\n }))\n );\n }\n return Promise.all(\n batch.items.map((item) => {\n return asyncCall(\n batch.driver.getItem,\n item.relativeKey,\n item.options\n ).then((value) => ({\n key: item.key,\n value: destr(value)\n }));\n })\n );\n });\n },\n getItemRaw(key, opts = {}) {\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n if (driver.getItemRaw) {\n return asyncCall(driver.getItemRaw, relativeKey, opts);\n }\n return asyncCall(driver.getItem, relativeKey, opts).then(\n (value) => deserializeRaw(value)\n );\n },\n async setItem(key, value, opts = {}) {\n if (value === void 0) {\n return storage.removeItem(key);\n }\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n if (!driver.setItem) {\n return;\n }\n await asyncCall(driver.setItem, relativeKey, stringify(value), opts);\n if (!driver.watch) {\n onChange(\"update\", key);\n }\n },\n async setItems(items, commonOptions) {\n await runBatch(items, commonOptions, async (batch) => {\n if (batch.driver.setItems) {\n return asyncCall(\n batch.driver.setItems,\n batch.items.map((item) => ({\n key: item.relativeKey,\n value: stringify(item.value),\n options: item.options\n })),\n commonOptions\n );\n }\n if (!batch.driver.setItem) {\n return;\n }\n await Promise.all(\n batch.items.map((item) => {\n return asyncCall(\n batch.driver.setItem,\n item.relativeKey,\n stringify(item.value),\n item.options\n );\n })\n );\n });\n },\n async setItemRaw(key, value, opts = {}) {\n if (value === void 0) {\n return storage.removeItem(key, opts);\n }\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n if (driver.setItemRaw) {\n await asyncCall(driver.setItemRaw, relativeKey, value, opts);\n } else if (driver.setItem) {\n await asyncCall(driver.setItem, relativeKey, serializeRaw(value), opts);\n } else {\n return;\n }\n if (!driver.watch) {\n onChange(\"update\", key);\n }\n },\n async removeItem(key, opts = {}) {\n if (typeof opts === \"boolean\") {\n opts = { removeMeta: opts };\n }\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n if (!driver.removeItem) {\n return;\n }\n await asyncCall(driver.removeItem, relativeKey, opts);\n if (opts.removeMeta || opts.removeMata) {\n await asyncCall(driver.removeItem, relativeKey + \"$\", opts);\n }\n if (!driver.watch) {\n onChange(\"remove\", key);\n }\n },\n // Meta\n async getMeta(key, opts = {}) {\n if (typeof opts === \"boolean\") {\n opts = { nativeOnly: opts };\n }\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n const meta = /* @__PURE__ */ Object.create(null);\n if (driver.getMeta) {\n Object.assign(meta, await asyncCall(driver.getMeta, relativeKey, opts));\n }\n if (!opts.nativeOnly) {\n const value = await asyncCall(\n driver.getItem,\n relativeKey + \"$\",\n opts\n ).then((value_) => destr(value_));\n if (value && typeof value === \"object\") {\n if (typeof value.atime === \"string\") {\n value.atime = new Date(value.atime);\n }\n if (typeof value.mtime === \"string\") {\n value.mtime = new Date(value.mtime);\n }\n Object.assign(meta, value);\n }\n }\n return meta;\n },\n setMeta(key, value, opts = {}) {\n return this.setItem(key + \"$\", value, opts);\n },\n removeMeta(key, opts = {}) {\n return this.removeItem(key + \"$\", opts);\n },\n // Keys\n async getKeys(base, opts = {}) {\n base = normalizeBaseKey(base);\n const mounts = getMounts(base, true);\n let maskedMounts = [];\n const allKeys = [];\n for (const mount of mounts) {\n const rawKeys = await asyncCall(\n mount.driver.getKeys,\n mount.relativeBase,\n opts\n );\n const keys = rawKeys.map((key) => mount.mountpoint + normalizeKey(key)).filter((key) => !maskedMounts.some((p) => key.startsWith(p)));\n allKeys.push(...keys);\n maskedMounts = [\n mount.mountpoint,\n ...maskedMounts.filter((p) => !p.startsWith(mount.mountpoint))\n ];\n }\n return base ? allKeys.filter((key) => key.startsWith(base) && !key.endsWith(\"$\")) : allKeys.filter((key) => !key.endsWith(\"$\"));\n },\n // Utils\n async clear(base, opts = {}) {\n base = normalizeBaseKey(base);\n await Promise.all(\n getMounts(base, false).map(async (m) => {\n if (m.driver.clear) {\n return asyncCall(m.driver.clear, m.relativeBase, opts);\n }\n if (m.driver.removeItem) {\n const keys = await m.driver.getKeys(m.relativeBase || \"\", opts);\n return Promise.all(\n keys.map((key) => m.driver.removeItem(key, opts))\n );\n }\n })\n );\n },\n async dispose() {\n await Promise.all(\n Object.values(context.mounts).map((driver) => dispose(driver))\n );\n },\n async watch(callback) {\n await startWatch();\n context.watchListeners.push(callback);\n return async () => {\n context.watchListeners = context.watchListeners.filter(\n (listener) => listener !== callback\n );\n if (context.watchListeners.length === 0) {\n await stopWatch();\n }\n };\n },\n async unwatch() {\n context.watchListeners = [];\n await stopWatch();\n },\n // Mount\n mount(base, driver) {\n base = normalizeBaseKey(base);\n if (base && context.mounts[base]) {\n throw new Error(`already mounted at ${base}`);\n }\n if (base) {\n context.mountpoints.push(base);\n context.mountpoints.sort((a, b) => b.length - a.length);\n }\n context.mounts[base] = driver;\n if (context.watching) {\n Promise.resolve(watch(driver, onChange, base)).then((unwatcher) => {\n context.unwatch[base] = unwatcher;\n }).catch(console.error);\n }\n return storage;\n },\n async unmount(base, _dispose = true) {\n base = normalizeBaseKey(base);\n if (!base || !context.mounts[base]) {\n return;\n }\n if (context.watching && base in context.unwatch) {\n context.unwatch[base]();\n delete context.unwatch[base];\n }\n if (_dispose) {\n await dispose(context.mounts[base]);\n }\n context.mountpoints = context.mountpoints.filter((key) => key !== base);\n delete context.mounts[base];\n },\n getMount(key = \"\") {\n key = normalizeKey(key) + \":\";\n const m = getMount(key);\n return {\n driver: m.driver,\n base: m.base\n };\n },\n getMounts(base = \"\", opts = {}) {\n base = normalizeKey(base);\n const mounts = getMounts(base, opts.parents);\n return mounts.map((m) => ({\n driver: m.driver,\n base: m.mountpoint\n }));\n }\n };\n return storage;\n}\nasync function snapshot(storage, base) {\n base = normalizeBaseKey(base);\n const keys = await storage.getKeys(base);\n const snapshot2 = {};\n await Promise.all(\n keys.map(async (key) => {\n snapshot2[key.slice(base.length)] = await storage.getItem(key);\n })\n );\n return snapshot2;\n}\nasync function restoreSnapshot(driver, snapshot2, base = \"\") {\n base = normalizeBaseKey(base);\n await Promise.all(\n Object.entries(snapshot2).map((e) => driver.setItem(base + e[0], e[1]))\n );\n}\nfunction watch(driver, onChange, base) {\n return driver.watch ? driver.watch((event, key) => onChange(event, base + key)) : () => {\n };\n}\nasync function dispose(driver) {\n if (typeof driver.dispose === \"function\") {\n await asyncCall(driver.dispose);\n }\n}\n\nconst builtinDrivers = {\n azureAppConfiguration: \"unstorage/drivers/azure-app-configuration\",\n azureCosmos: \"unstorage/drivers/azure-cosmos\",\n azureKeyVault: \"unstorage/drivers/azure-key-vault\",\n azureStorageBlob: \"unstorage/drivers/azure-storage-blob\",\n azureStorageTable: \"unstorage/drivers/azure-storage-table\",\n cloudflareKVBinding: \"unstorage/drivers/cloudflare-kv-binding\",\n cloudflareKVHTTP: \"unstorage/drivers/cloudflare-kv-http\",\n cloudflareR2Binding: \"unstorage/drivers/cloudflare-r2-binding\",\n fs: \"unstorage/drivers/fs\",\n fsLite: \"unstorage/drivers/fs-lite\",\n github: \"unstorage/drivers/github\",\n http: \"unstorage/drivers/http\",\n indexedb: \"unstorage/drivers/indexedb\",\n localStorage: \"unstorage/drivers/localstorage\",\n lruCache: \"unstorage/drivers/lru-cache\",\n memory: \"unstorage/drivers/memory\",\n mongodb: \"unstorage/drivers/mongodb\",\n netlifyBlobs: \"unstorage/drivers/netlify-blobs\",\n overlay: \"unstorage/drivers/overlay\",\n planetscale: \"unstorage/drivers/planetscale\",\n redis: \"unstorage/drivers/redis\",\n sessionStorage: \"unstorage/drivers/session-storage\",\n vercelKV: \"unstorage/drivers/vercel-kv\",\n /** @deprecated */\n \"cloudflare-kv-binding\": \"unstorage/drivers/cloudflare-kv-binding\",\n /** @deprecated */\n \"cloudflare-kv-http\": \"unstorage/drivers/cloudflare-kv-http\"\n};\n\nexport { builtinDrivers, createStorage, defineDriver, joinKeys, normalizeBaseKey, normalizeKey, restoreSnapshot, snapshot };\n","function promisifyRequest(request) {\n return new Promise((resolve, reject) => {\n // @ts-ignore - file size hacks\n request.oncomplete = request.onsuccess = () => resolve(request.result);\n // @ts-ignore - file size hacks\n request.onabort = request.onerror = () => reject(request.error);\n });\n}\nfunction createStore(dbName, storeName) {\n const request = indexedDB.open(dbName);\n request.onupgradeneeded = () => request.result.createObjectStore(storeName);\n const dbp = promisifyRequest(request);\n return (txMode, callback) => dbp.then((db) => callback(db.transaction(storeName, txMode).objectStore(storeName)));\n}\nlet defaultGetStoreFunc;\nfunction defaultGetStore() {\n if (!defaultGetStoreFunc) {\n defaultGetStoreFunc = createStore('keyval-store', 'keyval');\n }\n return defaultGetStoreFunc;\n}\n/**\n * Get a value by its key.\n *\n * @param key\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction get(key, customStore = defaultGetStore()) {\n return customStore('readonly', (store) => promisifyRequest(store.get(key)));\n}\n/**\n * Set a value with a key.\n *\n * @param key\n * @param value\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction set(key, value, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n store.put(value, key);\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Set multiple values at once. This is faster than calling set() multiple times.\n * It's also atomic – if one of the pairs can't be added, none will be added.\n *\n * @param entries Array of entries, where each entry is an array of `[key, value]`.\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction setMany(entries, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n entries.forEach((entry) => store.put(entry[1], entry[0]));\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Get multiple values by their keys\n *\n * @param keys\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction getMany(keys, customStore = defaultGetStore()) {\n return customStore('readonly', (store) => Promise.all(keys.map((key) => promisifyRequest(store.get(key)))));\n}\n/**\n * Update a value. This lets you see the old value and update it as an atomic operation.\n *\n * @param key\n * @param updater A callback that takes the old value and returns a new value.\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction update(key, updater, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => \n // Need to create the promise manually.\n // If I try to chain promises, the transaction closes in browsers\n // that use a promise polyfill (IE10/11).\n new Promise((resolve, reject) => {\n store.get(key).onsuccess = function () {\n try {\n store.put(updater(this.result), key);\n resolve(promisifyRequest(store.transaction));\n }\n catch (err) {\n reject(err);\n }\n };\n }));\n}\n/**\n * Delete a particular key from the store.\n *\n * @param key\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction del(key, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n store.delete(key);\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Delete multiple keys at once.\n *\n * @param keys List of keys to delete.\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction delMany(keys, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n keys.forEach((key) => store.delete(key));\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Clear all values in the store.\n *\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction clear(customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n store.clear();\n return promisifyRequest(store.transaction);\n });\n}\nfunction eachCursor(store, callback) {\n store.openCursor().onsuccess = function () {\n if (!this.result)\n return;\n callback(this.result);\n this.result.continue();\n };\n return promisifyRequest(store.transaction);\n}\n/**\n * Get all keys in the store.\n *\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction keys(customStore = defaultGetStore()) {\n return customStore('readonly', (store) => {\n // Fast path for modern browsers\n if (store.getAllKeys) {\n return promisifyRequest(store.getAllKeys());\n }\n const items = [];\n return eachCursor(store, (cursor) => items.push(cursor.key)).then(() => items);\n });\n}\n/**\n * Get all values in the store.\n *\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction values(customStore = defaultGetStore()) {\n return customStore('readonly', (store) => {\n // Fast path for modern browsers\n if (store.getAll) {\n return promisifyRequest(store.getAll());\n }\n const items = [];\n return eachCursor(store, (cursor) => items.push(cursor.value)).then(() => items);\n });\n}\n/**\n * Get all entries in the store. Each entry is an array of `[key, value]`.\n *\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction entries(customStore = defaultGetStore()) {\n return customStore('readonly', (store) => {\n // Fast path for modern browsers\n // (although, hopefully we'll get a simpler path some day)\n if (store.getAll && store.getAllKeys) {\n return Promise.all([\n promisifyRequest(store.getAllKeys()),\n promisifyRequest(store.getAll()),\n ]).then(([keys, values]) => keys.map((key, i) => [key, values[i]]));\n }\n const items = [];\n return customStore('readonly', (store) => eachCursor(store, (cursor) => items.push([cursor.key, cursor.value])).then(() => items));\n });\n}\n\nexport { clear, createStore, del, delMany, entries, get, getMany, keys, promisifyRequest, set, setMany, update, values };\n","const JSONStringify = data => JSON.stringify(data, (_, value) => typeof value === \"bigint\" ? value.toString() + \"n\" : value);\nconst JSONParse = json => {\n const numbersBiggerThanMaxInt = /([\\[:])?(\\d{17,}|(?:[9](?:[1-9]07199254740991|0[1-9]7199254740991|00[8-9]199254740991|007[2-9]99254740991|007199[3-9]54740991|0071992[6-9]4740991|00719925[5-9]740991|007199254[8-9]40991|0071992547[5-9]0991|00719925474[1-9]991|00719925474099[2-9])))([,\\}\\]])/g;\n const serializedData = json.replace(numbersBiggerThanMaxInt, \"$1\\\"$2n\\\"$3\");\n return JSON.parse(serializedData, (_, value) => {\n const isCustomFormatBigInt = typeof value === \"string\" && value.match(/^\\d+n$/);\n if (isCustomFormatBigInt)\n return BigInt(value.substring(0, value.length - 1));\n return value;\n });\n};\nexport function safeJsonParse(value) {\n if (typeof value !== \"string\") {\n throw new Error(`Cannot safe json parse value of type ${typeof value}`);\n }\n try {\n return JSONParse(value);\n }\n catch (_a) {\n return value;\n }\n}\nexport function safeJsonStringify(value) {\n return typeof value === \"string\" ? value : JSONStringify(value) || \"\";\n}\n//# sourceMappingURL=index.js.map","import{createStorage as w}from\"unstorage\";import{createStore as I,get as u,set as p,del as b,keys as v,clear as S}from\"idb-keyval\";import{safeJsonStringify as g,safeJsonParse as d}from\"@walletconnect/safe-json\";function C(i){return i}const x=\"idb-keyval\";var z=(i={})=>{const t=i.base&&i.base.length>0?`${i.base}:`:\"\",e=s=>t+s;let n;return i.dbName&&i.storeName&&(n=I(i.dbName,i.storeName)),{name:x,options:i,async hasItem(s){return!(typeof await u(e(s),n)>\"u\")},async getItem(s){return await u(e(s),n)??null},setItem(s,a){return p(e(s),a,n)},removeItem(s){return b(e(s),n)},getKeys(){return v(n)},clear(){return S(n)}}};const D=\"WALLET_CONNECT_V2_INDEXED_DB\",E=\"keyvaluestorage\";class _{constructor(){this.indexedDb=w({driver:z({dbName:D,storeName:E})})}async getKeys(){return this.indexedDb.getKeys()}async getEntries(){return(await this.indexedDb.getItems(await this.indexedDb.getKeys())).map(t=>[t.key,t.value])}async getItem(t){const e=await this.indexedDb.getItem(t);if(e!==null)return e}async setItem(t,e){await this.indexedDb.setItem(t,g(e))}async removeItem(t){await this.indexedDb.removeItem(t)}}var l=typeof globalThis<\"u\"?globalThis:typeof window<\"u\"?window:typeof global<\"u\"?global:typeof self<\"u\"?self:{},c={exports:{}};(function(){let i;function t(){}i=t,i.prototype.getItem=function(e){return this.hasOwnProperty(e)?String(this[e]):null},i.prototype.setItem=function(e,n){this[e]=String(n)},i.prototype.removeItem=function(e){delete this[e]},i.prototype.clear=function(){const e=this;Object.keys(e).forEach(function(n){e[n]=void 0,delete e[n]})},i.prototype.key=function(e){return e=e||0,Object.keys(this)[e]},i.prototype.__defineGetter__(\"length\",function(){return Object.keys(this).length}),typeof l<\"u\"&&l.localStorage?c.exports=l.localStorage:typeof window<\"u\"&&window.localStorage?c.exports=window.localStorage:c.exports=new t})();function k(i){var t;return[i[0],d((t=i[1])!=null?t:\"\")]}class K{constructor(){this.localStorage=c.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(k)}async getItem(t){const e=this.localStorage.getItem(t);if(e!==null)return d(e)}async setItem(t,e){this.localStorage.setItem(t,g(e))}async removeItem(t){this.localStorage.removeItem(t)}}const N=\"wc_storage_version\",y=1,O=async(i,t,e)=>{const n=N,s=await t.getItem(n);if(s&&s>=y){e(t);return}const a=await i.getKeys();if(!a.length){e(t);return}const m=[];for(;a.length;){const r=a.shift();if(!r)continue;const o=r.toLowerCase();if(o.includes(\"wc@\")||o.includes(\"walletconnect\")||o.includes(\"wc_\")||o.includes(\"wallet_connect\")){const f=await i.getItem(r);await t.setItem(r,f),m.push(r)}}await t.setItem(n,y),e(t),j(i,m)},j=async(i,t)=>{t.length&&t.forEach(async e=>{await i.removeItem(e)})};class h{constructor(){this.initialized=!1,this.setInitialized=e=>{this.storage=e,this.initialized=!0};const t=new K;this.storage=t;try{const e=new _;O(t,e,this.setInitialized)}catch{this.initialized=!0}}async getKeys(){return await this.initialize(),this.storage.getKeys()}async getEntries(){return await this.initialize(),this.storage.getEntries()}async getItem(t){return await this.initialize(),this.storage.getItem(t)}async setItem(t,e){return await this.initialize(),this.storage.setItem(t,e)}async removeItem(t){return await this.initialize(),this.storage.removeItem(t)}async initialize(){this.initialized||await new Promise(t=>{const e=setInterval(()=>{this.initialized&&(clearInterval(e),t())},20)})}}export{h as KeyValueStorage,h as default};\n//# sourceMappingURL=index.es.js.map\n","export class IEvents {\n}\n//# sourceMappingURL=events.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IHeartBeat = void 0;\nconst events_1 = require(\"@walletconnect/events\");\nclass IHeartBeat extends events_1.IEvents {\n constructor(opts) {\n super();\n }\n}\nexports.IHeartBeat = IHeartBeat;\n//# sourceMappingURL=heartbeat.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./heartbeat\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HEARTBEAT_EVENTS = exports.HEARTBEAT_INTERVAL = void 0;\nconst time_1 = require(\"@walletconnect/time\");\nexports.HEARTBEAT_INTERVAL = time_1.FIVE_SECONDS;\nexports.HEARTBEAT_EVENTS = {\n pulse: \"heartbeat_pulse\",\n};\n//# sourceMappingURL=heartbeat.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./heartbeat\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HeartBeat = void 0;\nconst tslib_1 = require(\"tslib\");\nconst events_1 = require(\"events\");\nconst time_1 = require(\"@walletconnect/time\");\nconst types_1 = require(\"./types\");\nconst constants_1 = require(\"./constants\");\nclass HeartBeat extends types_1.IHeartBeat {\n constructor(opts) {\n super(opts);\n this.events = new events_1.EventEmitter();\n this.interval = constants_1.HEARTBEAT_INTERVAL;\n this.interval = (opts === null || opts === void 0 ? void 0 : opts.interval) || constants_1.HEARTBEAT_INTERVAL;\n }\n static init(opts) {\n return tslib_1.__awaiter(this, void 0, void 0, function* () {\n const heartbeat = new HeartBeat(opts);\n yield heartbeat.init();\n return heartbeat;\n });\n }\n init() {\n return tslib_1.__awaiter(this, void 0, void 0, function* () {\n yield this.initialize();\n });\n }\n stop() {\n clearInterval(this.intervalRef);\n }\n on(event, listener) {\n this.events.on(event, listener);\n }\n once(event, listener) {\n this.events.once(event, listener);\n }\n off(event, listener) {\n this.events.off(event, listener);\n }\n removeListener(event, listener) {\n this.events.removeListener(event, listener);\n }\n initialize() {\n return tslib_1.__awaiter(this, void 0, void 0, function* () {\n this.intervalRef = setInterval(() => this.pulse(), time_1.toMiliseconds(this.interval));\n });\n }\n pulse() {\n this.events.emit(constants_1.HEARTBEAT_EVENTS.pulse);\n }\n}\nexports.HeartBeat = HeartBeat;\n//# sourceMappingURL=heartbeat.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./heartbeat\"), exports);\ntslib_1.__exportStar(require(\"./types\"), exports);\ntslib_1.__exportStar(require(\"./constants\"), exports);\n//# sourceMappingURL=index.js.map","'use strict'\nfunction tryStringify (o) {\n try { return JSON.stringify(o) } catch(e) { return '\"[Circular]\"' }\n}\n\nmodule.exports = format\n\nfunction format(f, args, opts) {\n var ss = (opts && opts.stringify) || tryStringify\n var offset = 1\n if (typeof f === 'object' && f !== null) {\n var len = args.length + offset\n if (len === 1) return f\n var objects = new Array(len)\n objects[0] = ss(f)\n for (var index = 1; index < len; index++) {\n objects[index] = ss(args[index])\n }\n return objects.join(' ')\n }\n if (typeof f !== 'string') {\n return f\n }\n var argLen = args.length\n if (argLen === 0) return f\n var str = ''\n var a = 1 - offset\n var lastPos = -1\n var flen = (f && f.length) || 0\n for (var i = 0; i < flen;) {\n if (f.charCodeAt(i) === 37 && i + 1 < flen) {\n lastPos = lastPos > -1 ? lastPos : 0\n switch (f.charCodeAt(i + 1)) {\n case 100: // 'd'\n case 102: // 'f'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Number(args[a])\n lastPos = i + 2\n i++\n break\n case 105: // 'i'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Math.floor(Number(args[a]))\n lastPos = i + 2\n i++\n break\n case 79: // 'O'\n case 111: // 'o'\n case 106: // 'j'\n if (a >= argLen)\n break\n if (args[a] === undefined) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n var type = typeof args[a]\n if (type === 'string') {\n str += '\\'' + args[a] + '\\''\n lastPos = i + 2\n i++\n break\n }\n if (type === 'function') {\n str += args[a].name || ''\n lastPos = i + 2\n i++\n break\n }\n str += ss(args[a])\n lastPos = i + 2\n i++\n break\n case 115: // 's'\n if (a >= argLen)\n break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += String(args[a])\n lastPos = i + 2\n i++\n break\n case 37: // '%'\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += '%'\n lastPos = i + 2\n i++\n a--\n break\n }\n ++a\n }\n ++i\n }\n if (lastPos === -1)\n return f\n else if (lastPos < flen) {\n str += f.slice(lastPos)\n }\n\n return str\n}\n","'use strict'\n\nconst format = require('quick-format-unescaped')\n\nmodule.exports = pino\n\nconst _console = pfGlobalThisOrFallback().console || {}\nconst stdSerializers = {\n mapHttpRequest: mock,\n mapHttpResponse: mock,\n wrapRequestSerializer: passthrough,\n wrapResponseSerializer: passthrough,\n wrapErrorSerializer: passthrough,\n req: mock,\n res: mock,\n err: asErrValue\n}\n\nfunction shouldSerialize (serialize, serializers) {\n if (Array.isArray(serialize)) {\n const hasToFilter = serialize.filter(function (k) {\n return k !== '!stdSerializers.err'\n })\n return hasToFilter\n } else if (serialize === true) {\n return Object.keys(serializers)\n }\n\n return false\n}\n\nfunction pino (opts) {\n opts = opts || {}\n opts.browser = opts.browser || {}\n\n const transmit = opts.browser.transmit\n if (transmit && typeof transmit.send !== 'function') { throw Error('pino: transmit option must have a send function') }\n\n const proto = opts.browser.write || _console\n if (opts.browser.write) opts.browser.asObject = true\n const serializers = opts.serializers || {}\n const serialize = shouldSerialize(opts.browser.serialize, serializers)\n let stdErrSerialize = opts.browser.serialize\n\n if (\n Array.isArray(opts.browser.serialize) &&\n opts.browser.serialize.indexOf('!stdSerializers.err') > -1\n ) stdErrSerialize = false\n\n const levels = ['error', 'fatal', 'warn', 'info', 'debug', 'trace']\n\n if (typeof proto === 'function') {\n proto.error = proto.fatal = proto.warn =\n proto.info = proto.debug = proto.trace = proto\n }\n if (opts.enabled === false) opts.level = 'silent'\n const level = opts.level || 'info'\n const logger = Object.create(proto)\n if (!logger.log) logger.log = noop\n\n Object.defineProperty(logger, 'levelVal', {\n get: getLevelVal\n })\n Object.defineProperty(logger, 'level', {\n get: getLevel,\n set: setLevel\n })\n\n const setOpts = {\n transmit,\n serialize,\n asObject: opts.browser.asObject,\n levels,\n timestamp: getTimeFunction(opts)\n }\n logger.levels = pino.levels\n logger.level = level\n\n logger.setMaxListeners = logger.getMaxListeners =\n logger.emit = logger.addListener = logger.on =\n logger.prependListener = logger.once =\n logger.prependOnceListener = logger.removeListener =\n logger.removeAllListeners = logger.listeners =\n logger.listenerCount = logger.eventNames =\n logger.write = logger.flush = noop\n logger.serializers = serializers\n logger._serialize = serialize\n logger._stdErrSerialize = stdErrSerialize\n logger.child = child\n\n if (transmit) logger._logEvent = createLogEventShape()\n\n function getLevelVal () {\n return this.level === 'silent'\n ? Infinity\n : this.levels.values[this.level]\n }\n\n function getLevel () {\n return this._level\n }\n function setLevel (level) {\n if (level !== 'silent' && !this.levels.values[level]) {\n throw Error('unknown level ' + level)\n }\n this._level = level\n\n set(setOpts, logger, 'error', 'log') // <-- must stay first\n set(setOpts, logger, 'fatal', 'error')\n set(setOpts, logger, 'warn', 'error')\n set(setOpts, logger, 'info', 'log')\n set(setOpts, logger, 'debug', 'log')\n set(setOpts, logger, 'trace', 'log')\n }\n\n function child (bindings, childOptions) {\n if (!bindings) {\n throw new Error('missing bindings for child Pino')\n }\n childOptions = childOptions || {}\n if (serialize && bindings.serializers) {\n childOptions.serializers = bindings.serializers\n }\n const childOptionsSerializers = childOptions.serializers\n if (serialize && childOptionsSerializers) {\n var childSerializers = Object.assign({}, serializers, childOptionsSerializers)\n var childSerialize = opts.browser.serialize === true\n ? Object.keys(childSerializers)\n : serialize\n delete bindings.serializers\n applySerializers([bindings], childSerialize, childSerializers, this._stdErrSerialize)\n }\n function Child (parent) {\n this._childLevel = (parent._childLevel | 0) + 1\n this.error = bind(parent, bindings, 'error')\n this.fatal = bind(parent, bindings, 'fatal')\n this.warn = bind(parent, bindings, 'warn')\n this.info = bind(parent, bindings, 'info')\n this.debug = bind(parent, bindings, 'debug')\n this.trace = bind(parent, bindings, 'trace')\n if (childSerializers) {\n this.serializers = childSerializers\n this._serialize = childSerialize\n }\n if (transmit) {\n this._logEvent = createLogEventShape(\n [].concat(parent._logEvent.bindings, bindings)\n )\n }\n }\n Child.prototype = this\n return new Child(this)\n }\n return logger\n}\n\npino.levels = {\n values: {\n fatal: 60,\n error: 50,\n warn: 40,\n info: 30,\n debug: 20,\n trace: 10\n },\n labels: {\n 10: 'trace',\n 20: 'debug',\n 30: 'info',\n 40: 'warn',\n 50: 'error',\n 60: 'fatal'\n }\n}\n\npino.stdSerializers = stdSerializers\npino.stdTimeFunctions = Object.assign({}, { nullTime, epochTime, unixTime, isoTime })\n\nfunction set (opts, logger, level, fallback) {\n const proto = Object.getPrototypeOf(logger)\n logger[level] = logger.levelVal > logger.levels.values[level]\n ? noop\n : (proto[level] ? proto[level] : (_console[level] || _console[fallback] || noop))\n\n wrap(opts, logger, level)\n}\n\nfunction wrap (opts, logger, level) {\n if (!opts.transmit && logger[level] === noop) return\n\n logger[level] = (function (write) {\n return function LOG () {\n const ts = opts.timestamp()\n const args = new Array(arguments.length)\n const proto = (Object.getPrototypeOf && Object.getPrototypeOf(this) === _console) ? _console : this\n for (var i = 0; i < args.length; i++) args[i] = arguments[i]\n\n if (opts.serialize && !opts.asObject) {\n applySerializers(args, this._serialize, this.serializers, this._stdErrSerialize)\n }\n if (opts.asObject) write.call(proto, asObject(this, level, args, ts))\n else write.apply(proto, args)\n\n if (opts.transmit) {\n const transmitLevel = opts.transmit.level || logger.level\n const transmitValue = pino.levels.values[transmitLevel]\n const methodValue = pino.levels.values[level]\n if (methodValue < transmitValue) return\n transmit(this, {\n ts,\n methodLevel: level,\n methodValue,\n transmitLevel,\n transmitValue: pino.levels.values[opts.transmit.level || logger.level],\n send: opts.transmit.send,\n val: logger.levelVal\n }, args)\n }\n }\n })(logger[level])\n}\n\nfunction asObject (logger, level, args, ts) {\n if (logger._serialize) applySerializers(args, logger._serialize, logger.serializers, logger._stdErrSerialize)\n const argsCloned = args.slice()\n let msg = argsCloned[0]\n const o = {}\n if (ts) {\n o.time = ts\n }\n o.level = pino.levels.values[level]\n let lvl = (logger._childLevel | 0) + 1\n if (lvl < 1) lvl = 1\n // deliberate, catching objects, arrays\n if (msg !== null && typeof msg === 'object') {\n while (lvl-- && typeof argsCloned[0] === 'object') {\n Object.assign(o, argsCloned.shift())\n }\n msg = argsCloned.length ? format(argsCloned.shift(), argsCloned) : undefined\n } else if (typeof msg === 'string') msg = format(argsCloned.shift(), argsCloned)\n if (msg !== undefined) o.msg = msg\n return o\n}\n\nfunction applySerializers (args, serialize, serializers, stdErrSerialize) {\n for (const i in args) {\n if (stdErrSerialize && args[i] instanceof Error) {\n args[i] = pino.stdSerializers.err(args[i])\n } else if (typeof args[i] === 'object' && !Array.isArray(args[i])) {\n for (const k in args[i]) {\n if (serialize && serialize.indexOf(k) > -1 && k in serializers) {\n args[i][k] = serializers[k](args[i][k])\n }\n }\n }\n }\n}\n\nfunction bind (parent, bindings, level) {\n return function () {\n const args = new Array(1 + arguments.length)\n args[0] = bindings\n for (var i = 1; i < args.length; i++) {\n args[i] = arguments[i - 1]\n }\n return parent[level].apply(this, args)\n }\n}\n\nfunction transmit (logger, opts, args) {\n const send = opts.send\n const ts = opts.ts\n const methodLevel = opts.methodLevel\n const methodValue = opts.methodValue\n const val = opts.val\n const bindings = logger._logEvent.bindings\n\n applySerializers(\n args,\n logger._serialize || Object.keys(logger.serializers),\n logger.serializers,\n logger._stdErrSerialize === undefined ? true : logger._stdErrSerialize\n )\n logger._logEvent.ts = ts\n logger._logEvent.messages = args.filter(function (arg) {\n // bindings can only be objects, so reference equality check via indexOf is fine\n return bindings.indexOf(arg) === -1\n })\n\n logger._logEvent.level.label = methodLevel\n logger._logEvent.level.value = methodValue\n\n send(methodLevel, logger._logEvent, val)\n\n logger._logEvent = createLogEventShape(bindings)\n}\n\nfunction createLogEventShape (bindings) {\n return {\n ts: 0,\n messages: [],\n bindings: bindings || [],\n level: { label: '', value: 0 }\n }\n}\n\nfunction asErrValue (err) {\n const obj = {\n type: err.constructor.name,\n msg: err.message,\n stack: err.stack\n }\n for (const key in err) {\n if (obj[key] === undefined) {\n obj[key] = err[key]\n }\n }\n return obj\n}\n\nfunction getTimeFunction (opts) {\n if (typeof opts.timestamp === 'function') {\n return opts.timestamp\n }\n if (opts.timestamp === false) {\n return nullTime\n }\n return epochTime\n}\n\nfunction mock () { return {} }\nfunction passthrough (a) { return a }\nfunction noop () {}\n\nfunction nullTime () { return false }\nfunction epochTime () { return Date.now() }\nfunction unixTime () { return Math.round(Date.now() / 1000.0) }\nfunction isoTime () { return new Date(Date.now()).toISOString() } // using Date.now() for testability\n\n/* eslint-disable */\n/* istanbul ignore next */\nfunction pfGlobalThisOrFallback () {\n function defd (o) { return typeof o !== 'undefined' && o }\n try {\n if (typeof globalThis !== 'undefined') return globalThis\n Object.defineProperty(Object.prototype, 'globalThis', {\n get: function () {\n delete Object.prototype.globalThis\n return (this.globalThis = this)\n },\n configurable: true\n })\n return globalThis\n } catch (e) {\n return defd(self) || defd(window) || defd(this) || {}\n }\n}\n/* eslint-enable */\n","import h,{levels as s}from\"pino\";import{default as U}from\"pino\";import{safeJsonStringify as u}from\"@walletconnect/safe-json\";const c={level:\"info\"},n=\"custom_context\",l=1e3*1024;class O{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 d{constructor(e){this.head=null,this.tail=null,this.lengthInNodes=0,this.maxSizeInBytes=e,this.sizeInBytes=0}append(e){const t=new O(e);if(t.size>this.maxSizeInBytes)throw new 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.tail=t):(this.head=t,this.tail=t),this.lengthInNodes++,this.sizeInBytes+=t.size}shift(){if(!this.head)return;const e=this.head;this.head=this.head.next,this.head||(this.tail=null),this.lengthInNodes--,this.sizeInBytes-=e.size}toArray(){const e=[];let t=this.head;for(;t!==null;)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};const t=e.value;return e=e.next,{done:!1,value:t}}}}}class L{constructor(e,t=l){this.level=e??\"error\",this.levelValue=s.values[this.level],this.MAX_LOG_SIZE_IN_BYTES=t,this.logs=new d(this.MAX_LOG_SIZE_IN_BYTES)}forwardToConsole(e,t){t===s.values.error?console.error(e):t===s.values.warn?console.warn(e):t===s.values.debug?console.debug(e):t===s.values.trace?console.trace(e):console.log(e)}appendToLogs(e){this.logs.append(u({timestamp:new Date().toISOString(),log:e}));const t=typeof e==\"string\"?JSON.parse(e).level:e.level;t>=this.levelValue&&this.forwardToConsole(e,t)}getLogs(){return this.logs}clearLogs(){this.logs=new d(this.MAX_LOG_SIZE_IN_BYTES)}getLogArray(){return Array.from(this.logs)}logsToBlob(e){const t=this.getLogArray();return t.push(u({extraMetadata:e})),new Blob(t,{type:\"application/json\"})}}class m{constructor(e,t=l){this.baseChunkLogger=new L(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){const t=URL.createObjectURL(this.logsToBlob(e)),o=document.createElement(\"a\");o.href=t,o.download=`walletconnect-logs-${new Date().toISOString()}.txt`,document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(t)}}class B{constructor(e,t=l){this.baseChunkLogger=new L(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 x=Object.defineProperty,S=Object.defineProperties,_=Object.getOwnPropertyDescriptors,p=Object.getOwnPropertySymbols,T=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,f=(r,e,t)=>e in r?x(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,i=(r,e)=>{for(var t in e||(e={}))T.call(e,t)&&f(r,t,e[t]);if(p)for(var t of p(e))z.call(e,t)&&f(r,t,e[t]);return r},g=(r,e)=>S(r,_(e));function k(r){return g(i({},r),{level:r?.level||c.level})}function v(r,e=n){return r[e]||\"\"}function b(r,e,t=n){return r[t]=e,r}function y(r,e=n){let t=\"\";return typeof r.bindings>\"u\"?t=v(r,e):t=r.bindings().context||\"\",t}function w(r,e,t=n){const o=y(r,t);return o.trim()?`${o}/${e}`:e}function E(r,e,t=n){const o=w(r,e,t),a=r.child({context:o});return b(a,o,t)}function C(r){var e,t;const o=new m((e=r.opts)==null?void 0:e.level,r.maxSizeInBytes);return{logger:h(g(i({},r.opts),{level:\"trace\",browser:g(i({},(t=r.opts)==null?void 0:t.browser),{write:a=>o.write(a)})})),chunkLoggerController:o}}function I(r){var e;const t=new B((e=r.opts)==null?void 0:e.level,r.maxSizeInBytes);return{logger:h(g(i({},r.opts),{level:\"trace\"}),t),chunkLoggerController:t}}function A(r){return typeof r.loggerOverride<\"u\"&&typeof r.loggerOverride!=\"string\"?{logger:r.loggerOverride,chunkLoggerController:null}:typeof window<\"u\"?C(r):I(r)}export{l as MAX_LOG_SIZE_IN_BYTES_DEFAULT,n as PINO_CUSTOM_CONTEXT_KEY,c as PINO_LOGGER_DEFAULTS,w as formatChildLoggerContext,E as generateChildLogger,C as generateClientLogger,A as generatePlatformLogger,I as generateServerLogger,v as getBrowserLoggerContext,k as getDefaultLoggerOptions,y as getLoggerContext,U as pino,b as setBrowserLoggerContext};\n//# sourceMappingURL=index.es.js.map\n","import{IEvents as e}from\"@walletconnect/events\";import c,{EventEmitter as i}from\"events\";class n extends e{constructor(s){super(),this.opts=s,this.protocol=\"wc\",this.version=2}}class l{constructor(s,t,o){this.core=s,this.logger=t}}class h extends e{constructor(s,t){super(),this.core=s,this.logger=t,this.records=new Map}}class a{constructor(s,t){this.logger=s,this.core=t}}class u extends e{constructor(s,t){super(),this.relayer=s,this.logger=t}}class g extends e{constructor(s){super()}}class p{constructor(s,t,o,M){this.core=s,this.logger=t,this.name=o}}class I{constructor(){this.map=new Map}}class d extends e{constructor(s,t){super(),this.relayer=s,this.logger=t}}class x{constructor(s,t){this.core=s,this.logger=t}}class E extends e{constructor(s,t){super(),this.core=s,this.logger=t}}class m{constructor(s,t){this.logger=s,this.core=t}}class y{constructor(s,t){this.projectId=s,this.logger=t}}class v{constructor(s,t){this.projectId=s,this.logger=t}}class C extends c{constructor(){super()}}class b{constructor(s){this.opts=s,this.protocol=\"wc\",this.version=2}}class S extends i{constructor(){super()}}class w{constructor(s){this.client=s}}export{n as ICore,l as ICrypto,v as IEchoClient,w as IEngine,S as IEngineEvents,E as IExpirer,h as IJsonRpcHistory,x as IKeyChain,a as IMessageTracker,m as IPairing,u as IPublisher,g as IRelayer,b as ISignClient,C as ISignClientEvents,p as IStore,d as ISubscriber,I as ISubscriberTopicMap,y as IVerify};\n//# sourceMappingURL=index.es.js.map\n","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar binary_1 = require(\"@stablelib/binary\");\nvar wipe_1 = require(\"@stablelib/wipe\");\nexports.DIGEST_LENGTH = 64;\nexports.BLOCK_SIZE = 128;\n/**\n * SHA-2-512 cryptographic hash algorithm.\n */\nvar SHA512 = /** @class */ (function () {\n function SHA512() {\n /** Length of hash output */\n this.digestLength = exports.DIGEST_LENGTH;\n /** Block size */\n this.blockSize = exports.BLOCK_SIZE;\n // Note: Int32Array is used instead of Uint32Array for performance reasons.\n this._stateHi = new Int32Array(8); // hash state, high bytes\n this._stateLo = new Int32Array(8); // hash state, low bytes\n this._tempHi = new Int32Array(16); // temporary state, high bytes\n this._tempLo = new Int32Array(16); // temporary state, low bytes\n this._buffer = new Uint8Array(256); // buffer for data to hash\n this._bufferLength = 0; // number of bytes in buffer\n this._bytesHashed = 0; // number of total bytes hashed\n this._finished = false; // indicates whether the hash was finalized\n this.reset();\n }\n SHA512.prototype._initState = function () {\n this._stateHi[0] = 0x6a09e667;\n this._stateHi[1] = 0xbb67ae85;\n this._stateHi[2] = 0x3c6ef372;\n this._stateHi[3] = 0xa54ff53a;\n this._stateHi[4] = 0x510e527f;\n this._stateHi[5] = 0x9b05688c;\n this._stateHi[6] = 0x1f83d9ab;\n this._stateHi[7] = 0x5be0cd19;\n this._stateLo[0] = 0xf3bcc908;\n this._stateLo[1] = 0x84caa73b;\n this._stateLo[2] = 0xfe94f82b;\n this._stateLo[3] = 0x5f1d36f1;\n this._stateLo[4] = 0xade682d1;\n this._stateLo[5] = 0x2b3e6c1f;\n this._stateLo[6] = 0xfb41bd6b;\n this._stateLo[7] = 0x137e2179;\n };\n /**\n * Resets hash state making it possible\n * to re-use this instance to hash other data.\n */\n SHA512.prototype.reset = function () {\n this._initState();\n this._bufferLength = 0;\n this._bytesHashed = 0;\n this._finished = false;\n return this;\n };\n /**\n * Cleans internal buffers and resets hash state.\n */\n SHA512.prototype.clean = function () {\n wipe_1.wipe(this._buffer);\n wipe_1.wipe(this._tempHi);\n wipe_1.wipe(this._tempLo);\n this.reset();\n };\n /**\n * Updates hash state with the given data.\n *\n * Throws error when trying to update already finalized hash:\n * instance must be reset to update it again.\n */\n SHA512.prototype.update = function (data, dataLength) {\n if (dataLength === void 0) { dataLength = data.length; }\n if (this._finished) {\n throw new Error(\"SHA512: can't update because hash was finished.\");\n }\n var dataPos = 0;\n this._bytesHashed += dataLength;\n if (this._bufferLength > 0) {\n while (this._bufferLength < exports.BLOCK_SIZE && dataLength > 0) {\n this._buffer[this._bufferLength++] = data[dataPos++];\n dataLength--;\n }\n if (this._bufferLength === this.blockSize) {\n hashBlocks(this._tempHi, this._tempLo, this._stateHi, this._stateLo, this._buffer, 0, this.blockSize);\n this._bufferLength = 0;\n }\n }\n if (dataLength >= this.blockSize) {\n dataPos = hashBlocks(this._tempHi, this._tempLo, this._stateHi, this._stateLo, data, dataPos, dataLength);\n dataLength %= this.blockSize;\n }\n while (dataLength > 0) {\n this._buffer[this._bufferLength++] = data[dataPos++];\n dataLength--;\n }\n return this;\n };\n /**\n * Finalizes hash state and puts hash into out.\n * If hash was already finalized, puts the same value.\n */\n SHA512.prototype.finish = function (out) {\n if (!this._finished) {\n var bytesHashed = this._bytesHashed;\n var left = this._bufferLength;\n var bitLenHi = (bytesHashed / 0x20000000) | 0;\n var bitLenLo = bytesHashed << 3;\n var padLength = (bytesHashed % 128 < 112) ? 128 : 256;\n this._buffer[left] = 0x80;\n for (var i = left + 1; i < padLength - 8; i++) {\n this._buffer[i] = 0;\n }\n binary_1.writeUint32BE(bitLenHi, this._buffer, padLength - 8);\n binary_1.writeUint32BE(bitLenLo, this._buffer, padLength - 4);\n hashBlocks(this._tempHi, this._tempLo, this._stateHi, this._stateLo, this._buffer, 0, padLength);\n this._finished = true;\n }\n for (var i = 0; i < this.digestLength / 8; i++) {\n binary_1.writeUint32BE(this._stateHi[i], out, i * 8);\n binary_1.writeUint32BE(this._stateLo[i], out, i * 8 + 4);\n }\n return this;\n };\n /**\n * Returns the final hash digest.\n */\n SHA512.prototype.digest = function () {\n var out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n };\n /**\n * Function useful for HMAC/PBKDF2 optimization. Returns hash state to be\n * used with restoreState(). Only chain value is saved, not buffers or\n * other state variables.\n */\n SHA512.prototype.saveState = function () {\n if (this._finished) {\n throw new Error(\"SHA256: cannot save finished state\");\n }\n return {\n stateHi: new Int32Array(this._stateHi),\n stateLo: new Int32Array(this._stateLo),\n buffer: this._bufferLength > 0 ? new Uint8Array(this._buffer) : undefined,\n bufferLength: this._bufferLength,\n bytesHashed: this._bytesHashed\n };\n };\n /**\n * Function useful for HMAC/PBKDF2 optimization. Restores state saved by\n * saveState() and sets bytesHashed to the given value.\n */\n SHA512.prototype.restoreState = function (savedState) {\n this._stateHi.set(savedState.stateHi);\n this._stateLo.set(savedState.stateLo);\n this._bufferLength = savedState.bufferLength;\n if (savedState.buffer) {\n this._buffer.set(savedState.buffer);\n }\n this._bytesHashed = savedState.bytesHashed;\n this._finished = false;\n return this;\n };\n /**\n * Cleans state returned by saveState().\n */\n SHA512.prototype.cleanSavedState = function (savedState) {\n wipe_1.wipe(savedState.stateHi);\n wipe_1.wipe(savedState.stateLo);\n if (savedState.buffer) {\n wipe_1.wipe(savedState.buffer);\n }\n savedState.bufferLength = 0;\n savedState.bytesHashed = 0;\n };\n return SHA512;\n}());\nexports.SHA512 = SHA512;\n// Constants\nvar K = new Int32Array([\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n]);\nfunction hashBlocks(wh, wl, hh, hl, m, pos, len) {\n var ah0 = hh[0], ah1 = hh[1], ah2 = hh[2], ah3 = hh[3], ah4 = hh[4], ah5 = hh[5], ah6 = hh[6], ah7 = hh[7], al0 = hl[0], al1 = hl[1], al2 = hl[2], al3 = hl[3], al4 = hl[4], al5 = hl[5], al6 = hl[6], al7 = hl[7];\n var h, l;\n var th, tl;\n var a, b, c, d;\n while (len >= 128) {\n for (var i = 0; i < 16; i++) {\n var j = 8 * i + pos;\n wh[i] = binary_1.readUint32BE(m, j);\n wl[i] = binary_1.readUint32BE(m, j + 4);\n }\n for (var i = 0; i < 80; i++) {\n var bh0 = ah0;\n var bh1 = ah1;\n var bh2 = ah2;\n var bh3 = ah3;\n var bh4 = ah4;\n var bh5 = ah5;\n var bh6 = ah6;\n var bh7 = ah7;\n var bl0 = al0;\n var bl1 = al1;\n var bl2 = al2;\n var bl3 = al3;\n var bl4 = al4;\n var bl5 = al5;\n var bl6 = al6;\n var bl7 = al7;\n // add\n h = ah7;\n l = al7;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n // Sigma1\n h = ((ah4 >>> 14) | (al4 << (32 - 14))) ^ ((ah4 >>> 18) |\n (al4 << (32 - 18))) ^ ((al4 >>> (41 - 32)) | (ah4 << (32 - (41 - 32))));\n l = ((al4 >>> 14) | (ah4 << (32 - 14))) ^ ((al4 >>> 18) |\n (ah4 << (32 - 18))) ^ ((ah4 >>> (41 - 32)) | (al4 << (32 - (41 - 32))));\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n // Ch\n h = (ah4 & ah5) ^ (~ah4 & ah6);\n l = (al4 & al5) ^ (~al4 & al6);\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n // K\n h = K[i * 2];\n l = K[i * 2 + 1];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n // w\n h = wh[i % 16];\n l = wl[i % 16];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n th = c & 0xffff | d << 16;\n tl = a & 0xffff | b << 16;\n // add\n h = th;\n l = tl;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n // Sigma0\n h = ((ah0 >>> 28) | (al0 << (32 - 28))) ^ ((al0 >>> (34 - 32)) |\n (ah0 << (32 - (34 - 32)))) ^ ((al0 >>> (39 - 32)) | (ah0 << (32 - (39 - 32))));\n l = ((al0 >>> 28) | (ah0 << (32 - 28))) ^ ((ah0 >>> (34 - 32)) |\n (al0 << (32 - (34 - 32)))) ^ ((ah0 >>> (39 - 32)) | (al0 << (32 - (39 - 32))));\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n // Maj\n h = (ah0 & ah1) ^ (ah0 & ah2) ^ (ah1 & ah2);\n l = (al0 & al1) ^ (al0 & al2) ^ (al1 & al2);\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n bh7 = (c & 0xffff) | (d << 16);\n bl7 = (a & 0xffff) | (b << 16);\n // add\n h = bh3;\n l = bl3;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = th;\n l = tl;\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n bh3 = (c & 0xffff) | (d << 16);\n bl3 = (a & 0xffff) | (b << 16);\n ah1 = bh0;\n ah2 = bh1;\n ah3 = bh2;\n ah4 = bh3;\n ah5 = bh4;\n ah6 = bh5;\n ah7 = bh6;\n ah0 = bh7;\n al1 = bl0;\n al2 = bl1;\n al3 = bl2;\n al4 = bl3;\n al5 = bl4;\n al6 = bl5;\n al7 = bl6;\n al0 = bl7;\n if (i % 16 === 15) {\n for (var j = 0; j < 16; j++) {\n // add\n h = wh[j];\n l = wl[j];\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = wh[(j + 9) % 16];\n l = wl[(j + 9) % 16];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n // sigma0\n th = wh[(j + 1) % 16];\n tl = wl[(j + 1) % 16];\n h = ((th >>> 1) | (tl << (32 - 1))) ^ ((th >>> 8) |\n (tl << (32 - 8))) ^ (th >>> 7);\n l = ((tl >>> 1) | (th << (32 - 1))) ^ ((tl >>> 8) |\n (th << (32 - 8))) ^ ((tl >>> 7) | (th << (32 - 7)));\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n // sigma1\n th = wh[(j + 14) % 16];\n tl = wl[(j + 14) % 16];\n h = ((th >>> 19) | (tl << (32 - 19))) ^ ((tl >>> (61 - 32)) |\n (th << (32 - (61 - 32)))) ^ (th >>> 6);\n l = ((tl >>> 19) | (th << (32 - 19))) ^ ((th >>> (61 - 32)) |\n (tl << (32 - (61 - 32)))) ^ ((tl >>> 6) | (th << (32 - 6)));\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n wh[j] = (c & 0xffff) | (d << 16);\n wl[j] = (a & 0xffff) | (b << 16);\n }\n }\n }\n // add\n h = ah0;\n l = al0;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[0];\n l = hl[0];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[0] = ah0 = (c & 0xffff) | (d << 16);\n hl[0] = al0 = (a & 0xffff) | (b << 16);\n h = ah1;\n l = al1;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[1];\n l = hl[1];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[1] = ah1 = (c & 0xffff) | (d << 16);\n hl[1] = al1 = (a & 0xffff) | (b << 16);\n h = ah2;\n l = al2;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[2];\n l = hl[2];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[2] = ah2 = (c & 0xffff) | (d << 16);\n hl[2] = al2 = (a & 0xffff) | (b << 16);\n h = ah3;\n l = al3;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[3];\n l = hl[3];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[3] = ah3 = (c & 0xffff) | (d << 16);\n hl[3] = al3 = (a & 0xffff) | (b << 16);\n h = ah4;\n l = al4;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[4];\n l = hl[4];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[4] = ah4 = (c & 0xffff) | (d << 16);\n hl[4] = al4 = (a & 0xffff) | (b << 16);\n h = ah5;\n l = al5;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[5];\n l = hl[5];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[5] = ah5 = (c & 0xffff) | (d << 16);\n hl[5] = al5 = (a & 0xffff) | (b << 16);\n h = ah6;\n l = al6;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[6];\n l = hl[6];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[6] = ah6 = (c & 0xffff) | (d << 16);\n hl[6] = al6 = (a & 0xffff) | (b << 16);\n h = ah7;\n l = al7;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[7];\n l = hl[7];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[7] = ah7 = (c & 0xffff) | (d << 16);\n hl[7] = al7 = (a & 0xffff) | (b << 16);\n pos += 128;\n len -= 128;\n }\n return pos;\n}\nfunction hash(data) {\n var h = new SHA512();\n h.update(data);\n var digest = h.digest();\n h.clean();\n return digest;\n}\nexports.hash = hash;\n//# sourceMappingURL=sha512.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.convertSecretKeyToX25519 = exports.convertPublicKeyToX25519 = exports.verify = exports.sign = exports.extractPublicKeyFromSecretKey = exports.generateKeyPair = exports.generateKeyPairFromSeed = exports.SEED_LENGTH = exports.SECRET_KEY_LENGTH = exports.PUBLIC_KEY_LENGTH = exports.SIGNATURE_LENGTH = void 0;\n/**\n * Package ed25519 implements Ed25519 public-key signature algorithm.\n */\nconst random_1 = require(\"@stablelib/random\");\nconst sha512_1 = require(\"@stablelib/sha512\");\nconst wipe_1 = require(\"@stablelib/wipe\");\nexports.SIGNATURE_LENGTH = 64;\nexports.PUBLIC_KEY_LENGTH = 32;\nexports.SECRET_KEY_LENGTH = 64;\nexports.SEED_LENGTH = 32;\n// Returns new zero-filled 16-element GF (Float64Array).\n// If passed an array of numbers, prefills the returned\n// array with them.\n//\n// We use Float64Array, because we need 48-bit numbers\n// for this implementation.\nfunction gf(init) {\n const r = new Float64Array(16);\n if (init) {\n for (let i = 0; i < init.length; i++) {\n r[i] = init[i];\n }\n }\n return r;\n}\n// Base point.\nconst _9 = new Uint8Array(32);\n_9[0] = 9;\nconst gf0 = gf();\nconst gf1 = gf([1]);\nconst D = gf([\n 0x78a3, 0x1359, 0x4dca, 0x75eb, 0xd8ab, 0x4141, 0x0a4d, 0x0070,\n 0xe898, 0x7779, 0x4079, 0x8cc7, 0xfe73, 0x2b6f, 0x6cee, 0x5203\n]);\nconst D2 = gf([\n 0xf159, 0x26b2, 0x9b94, 0xebd6, 0xb156, 0x8283, 0x149a, 0x00e0,\n 0xd130, 0xeef3, 0x80f2, 0x198e, 0xfce7, 0x56df, 0xd9dc, 0x2406\n]);\nconst X = gf([\n 0xd51a, 0x8f25, 0x2d60, 0xc956, 0xa7b2, 0x9525, 0xc760, 0x692c,\n 0xdc5c, 0xfdd6, 0xe231, 0xc0a4, 0x53fe, 0xcd6e, 0x36d3, 0x2169\n]);\nconst Y = gf([\n 0x6658, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666,\n 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666\n]);\nconst I = gf([\n 0xa0b0, 0x4a0e, 0x1b27, 0xc4ee, 0xe478, 0xad2f, 0x1806, 0x2f43,\n 0xd7a7, 0x3dfb, 0x0099, 0x2b4d, 0xdf0b, 0x4fc1, 0x2480, 0x2b83\n]);\nfunction set25519(r, a) {\n for (let i = 0; i < 16; i++) {\n r[i] = a[i] | 0;\n }\n}\nfunction car25519(o) {\n let c = 1;\n for (let i = 0; i < 16; i++) {\n let v = o[i] + c + 65535;\n c = Math.floor(v / 65536);\n o[i] = v - c * 65536;\n }\n o[0] += c - 1 + 37 * (c - 1);\n}\nfunction sel25519(p, q, b) {\n const c = ~(b - 1);\n for (let i = 0; i < 16; i++) {\n const t = c & (p[i] ^ q[i]);\n p[i] ^= t;\n q[i] ^= t;\n }\n}\nfunction pack25519(o, n) {\n const m = gf();\n const t = gf();\n for (let i = 0; i < 16; i++) {\n t[i] = n[i];\n }\n car25519(t);\n car25519(t);\n car25519(t);\n for (let j = 0; j < 2; j++) {\n m[0] = t[0] - 0xffed;\n for (let i = 1; i < 15; i++) {\n m[i] = t[i] - 0xffff - ((m[i - 1] >> 16) & 1);\n m[i - 1] &= 0xffff;\n }\n m[15] = t[15] - 0x7fff - ((m[14] >> 16) & 1);\n const b = (m[15] >> 16) & 1;\n m[14] &= 0xffff;\n sel25519(t, m, 1 - b);\n }\n for (let i = 0; i < 16; i++) {\n o[2 * i] = t[i] & 0xff;\n o[2 * i + 1] = t[i] >> 8;\n }\n}\nfunction verify32(x, y) {\n let d = 0;\n for (let i = 0; i < 32; i++) {\n d |= x[i] ^ y[i];\n }\n return (1 & ((d - 1) >>> 8)) - 1;\n}\nfunction neq25519(a, b) {\n const c = new Uint8Array(32);\n const d = new Uint8Array(32);\n pack25519(c, a);\n pack25519(d, b);\n return verify32(c, d);\n}\nfunction par25519(a) {\n const d = new Uint8Array(32);\n pack25519(d, a);\n return d[0] & 1;\n}\nfunction unpack25519(o, n) {\n for (let i = 0; i < 16; i++) {\n o[i] = n[2 * i] + (n[2 * i + 1] << 8);\n }\n o[15] &= 0x7fff;\n}\nfunction add(o, a, b) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] + b[i];\n }\n}\nfunction sub(o, a, b) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] - b[i];\n }\n}\nfunction mul(o, a, b) {\n let v, c, t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0, t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0, t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0, t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0, b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3], b4 = b[4], b5 = b[5], b6 = b[6], b7 = b[7], b8 = b[8], b9 = b[9], b10 = b[10], b11 = b[11], b12 = b[12], b13 = b[13], b14 = b[14], b15 = b[15];\n v = a[0];\n t0 += v * b0;\n t1 += v * b1;\n t2 += v * b2;\n t3 += v * b3;\n t4 += v * b4;\n t5 += v * b5;\n t6 += v * b6;\n t7 += v * b7;\n t8 += v * b8;\n t9 += v * b9;\n t10 += v * b10;\n t11 += v * b11;\n t12 += v * b12;\n t13 += v * b13;\n t14 += v * b14;\n t15 += v * b15;\n v = a[1];\n t1 += v * b0;\n t2 += v * b1;\n t3 += v * b2;\n t4 += v * b3;\n t5 += v * b4;\n t6 += v * b5;\n t7 += v * b6;\n t8 += v * b7;\n t9 += v * b8;\n t10 += v * b9;\n t11 += v * b10;\n t12 += v * b11;\n t13 += v * b12;\n t14 += v * b13;\n t15 += v * b14;\n t16 += v * b15;\n v = a[2];\n t2 += v * b0;\n t3 += v * b1;\n t4 += v * b2;\n t5 += v * b3;\n t6 += v * b4;\n t7 += v * b5;\n t8 += v * b6;\n t9 += v * b7;\n t10 += v * b8;\n t11 += v * b9;\n t12 += v * b10;\n t13 += v * b11;\n t14 += v * b12;\n t15 += v * b13;\n t16 += v * b14;\n t17 += v * b15;\n v = a[3];\n t3 += v * b0;\n t4 += v * b1;\n t5 += v * b2;\n t6 += v * b3;\n t7 += v * b4;\n t8 += v * b5;\n t9 += v * b6;\n t10 += v * b7;\n t11 += v * b8;\n t12 += v * b9;\n t13 += v * b10;\n t14 += v * b11;\n t15 += v * b12;\n t16 += v * b13;\n t17 += v * b14;\n t18 += v * b15;\n v = a[4];\n t4 += v * b0;\n t5 += v * b1;\n t6 += v * b2;\n t7 += v * b3;\n t8 += v * b4;\n t9 += v * b5;\n t10 += v * b6;\n t11 += v * b7;\n t12 += v * b8;\n t13 += v * b9;\n t14 += v * b10;\n t15 += v * b11;\n t16 += v * b12;\n t17 += v * b13;\n t18 += v * b14;\n t19 += v * b15;\n v = a[5];\n t5 += v * b0;\n t6 += v * b1;\n t7 += v * b2;\n t8 += v * b3;\n t9 += v * b4;\n t10 += v * b5;\n t11 += v * b6;\n t12 += v * b7;\n t13 += v * b8;\n t14 += v * b9;\n t15 += v * b10;\n t16 += v * b11;\n t17 += v * b12;\n t18 += v * b13;\n t19 += v * b14;\n t20 += v * b15;\n v = a[6];\n t6 += v * b0;\n t7 += v * b1;\n t8 += v * b2;\n t9 += v * b3;\n t10 += v * b4;\n t11 += v * b5;\n t12 += v * b6;\n t13 += v * b7;\n t14 += v * b8;\n t15 += v * b9;\n t16 += v * b10;\n t17 += v * b11;\n t18 += v * b12;\n t19 += v * b13;\n t20 += v * b14;\n t21 += v * b15;\n v = a[7];\n t7 += v * b0;\n t8 += v * b1;\n t9 += v * b2;\n t10 += v * b3;\n t11 += v * b4;\n t12 += v * b5;\n t13 += v * b6;\n t14 += v * b7;\n t15 += v * b8;\n t16 += v * b9;\n t17 += v * b10;\n t18 += v * b11;\n t19 += v * b12;\n t20 += v * b13;\n t21 += v * b14;\n t22 += v * b15;\n v = a[8];\n t8 += v * b0;\n t9 += v * b1;\n t10 += v * b2;\n t11 += v * b3;\n t12 += v * b4;\n t13 += v * b5;\n t14 += v * b6;\n t15 += v * b7;\n t16 += v * b8;\n t17 += v * b9;\n t18 += v * b10;\n t19 += v * b11;\n t20 += v * b12;\n t21 += v * b13;\n t22 += v * b14;\n t23 += v * b15;\n v = a[9];\n t9 += v * b0;\n t10 += v * b1;\n t11 += v * b2;\n t12 += v * b3;\n t13 += v * b4;\n t14 += v * b5;\n t15 += v * b6;\n t16 += v * b7;\n t17 += v * b8;\n t18 += v * b9;\n t19 += v * b10;\n t20 += v * b11;\n t21 += v * b12;\n t22 += v * b13;\n t23 += v * b14;\n t24 += v * b15;\n v = a[10];\n t10 += v * b0;\n t11 += v * b1;\n t12 += v * b2;\n t13 += v * b3;\n t14 += v * b4;\n t15 += v * b5;\n t16 += v * b6;\n t17 += v * b7;\n t18 += v * b8;\n t19 += v * b9;\n t20 += v * b10;\n t21 += v * b11;\n t22 += v * b12;\n t23 += v * b13;\n t24 += v * b14;\n t25 += v * b15;\n v = a[11];\n t11 += v * b0;\n t12 += v * b1;\n t13 += v * b2;\n t14 += v * b3;\n t15 += v * b4;\n t16 += v * b5;\n t17 += v * b6;\n t18 += v * b7;\n t19 += v * b8;\n t20 += v * b9;\n t21 += v * b10;\n t22 += v * b11;\n t23 += v * b12;\n t24 += v * b13;\n t25 += v * b14;\n t26 += v * b15;\n v = a[12];\n t12 += v * b0;\n t13 += v * b1;\n t14 += v * b2;\n t15 += v * b3;\n t16 += v * b4;\n t17 += v * b5;\n t18 += v * b6;\n t19 += v * b7;\n t20 += v * b8;\n t21 += v * b9;\n t22 += v * b10;\n t23 += v * b11;\n t24 += v * b12;\n t25 += v * b13;\n t26 += v * b14;\n t27 += v * b15;\n v = a[13];\n t13 += v * b0;\n t14 += v * b1;\n t15 += v * b2;\n t16 += v * b3;\n t17 += v * b4;\n t18 += v * b5;\n t19 += v * b6;\n t20 += v * b7;\n t21 += v * b8;\n t22 += v * b9;\n t23 += v * b10;\n t24 += v * b11;\n t25 += v * b12;\n t26 += v * b13;\n t27 += v * b14;\n t28 += v * b15;\n v = a[14];\n t14 += v * b0;\n t15 += v * b1;\n t16 += v * b2;\n t17 += v * b3;\n t18 += v * b4;\n t19 += v * b5;\n t20 += v * b6;\n t21 += v * b7;\n t22 += v * b8;\n t23 += v * b9;\n t24 += v * b10;\n t25 += v * b11;\n t26 += v * b12;\n t27 += v * b13;\n t28 += v * b14;\n t29 += v * b15;\n v = a[15];\n t15 += v * b0;\n t16 += v * b1;\n t17 += v * b2;\n t18 += v * b3;\n t19 += v * b4;\n t20 += v * b5;\n t21 += v * b6;\n t22 += v * b7;\n t23 += v * b8;\n t24 += v * b9;\n t25 += v * b10;\n t26 += v * b11;\n t27 += v * b12;\n t28 += v * b13;\n t29 += v * b14;\n t30 += v * b15;\n t0 += 38 * t16;\n t1 += 38 * t17;\n t2 += 38 * t18;\n t3 += 38 * t19;\n t4 += 38 * t20;\n t5 += 38 * t21;\n t6 += 38 * t22;\n t7 += 38 * t23;\n t8 += 38 * t24;\n t9 += 38 * t25;\n t10 += 38 * t26;\n t11 += 38 * t27;\n t12 += 38 * t28;\n t13 += 38 * t29;\n t14 += 38 * t30;\n // t15 left as is\n // first car\n c = 1;\n v = t0 + c + 65535;\n c = Math.floor(v / 65536);\n t0 = v - c * 65536;\n v = t1 + c + 65535;\n c = Math.floor(v / 65536);\n t1 = v - c * 65536;\n v = t2 + c + 65535;\n c = Math.floor(v / 65536);\n t2 = v - c * 65536;\n v = t3 + c + 65535;\n c = Math.floor(v / 65536);\n t3 = v - c * 65536;\n v = t4 + c + 65535;\n c = Math.floor(v / 65536);\n t4 = v - c * 65536;\n v = t5 + c + 65535;\n c = Math.floor(v / 65536);\n t5 = v - c * 65536;\n v = t6 + c + 65535;\n c = Math.floor(v / 65536);\n t6 = v - c * 65536;\n v = t7 + c + 65535;\n c = Math.floor(v / 65536);\n t7 = v - c * 65536;\n v = t8 + c + 65535;\n c = Math.floor(v / 65536);\n t8 = v - c * 65536;\n v = t9 + c + 65535;\n c = Math.floor(v / 65536);\n t9 = v - c * 65536;\n v = t10 + c + 65535;\n c = Math.floor(v / 65536);\n t10 = v - c * 65536;\n v = t11 + c + 65535;\n c = Math.floor(v / 65536);\n t11 = v - c * 65536;\n v = t12 + c + 65535;\n c = Math.floor(v / 65536);\n t12 = v - c * 65536;\n v = t13 + c + 65535;\n c = Math.floor(v / 65536);\n t13 = v - c * 65536;\n v = t14 + c + 65535;\n c = Math.floor(v / 65536);\n t14 = v - c * 65536;\n v = t15 + c + 65535;\n c = Math.floor(v / 65536);\n t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\n // second car\n c = 1;\n v = t0 + c + 65535;\n c = Math.floor(v / 65536);\n t0 = v - c * 65536;\n v = t1 + c + 65535;\n c = Math.floor(v / 65536);\n t1 = v - c * 65536;\n v = t2 + c + 65535;\n c = Math.floor(v / 65536);\n t2 = v - c * 65536;\n v = t3 + c + 65535;\n c = Math.floor(v / 65536);\n t3 = v - c * 65536;\n v = t4 + c + 65535;\n c = Math.floor(v / 65536);\n t4 = v - c * 65536;\n v = t5 + c + 65535;\n c = Math.floor(v / 65536);\n t5 = v - c * 65536;\n v = t6 + c + 65535;\n c = Math.floor(v / 65536);\n t6 = v - c * 65536;\n v = t7 + c + 65535;\n c = Math.floor(v / 65536);\n t7 = v - c * 65536;\n v = t8 + c + 65535;\n c = Math.floor(v / 65536);\n t8 = v - c * 65536;\n v = t9 + c + 65535;\n c = Math.floor(v / 65536);\n t9 = v - c * 65536;\n v = t10 + c + 65535;\n c = Math.floor(v / 65536);\n t10 = v - c * 65536;\n v = t11 + c + 65535;\n c = Math.floor(v / 65536);\n t11 = v - c * 65536;\n v = t12 + c + 65535;\n c = Math.floor(v / 65536);\n t12 = v - c * 65536;\n v = t13 + c + 65535;\n c = Math.floor(v / 65536);\n t13 = v - c * 65536;\n v = t14 + c + 65535;\n c = Math.floor(v / 65536);\n t14 = v - c * 65536;\n v = t15 + c + 65535;\n c = Math.floor(v / 65536);\n t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\n o[0] = t0;\n o[1] = t1;\n o[2] = t2;\n o[3] = t3;\n o[4] = t4;\n o[5] = t5;\n o[6] = t6;\n o[7] = t7;\n o[8] = t8;\n o[9] = t9;\n o[10] = t10;\n o[11] = t11;\n o[12] = t12;\n o[13] = t13;\n o[14] = t14;\n o[15] = t15;\n}\nfunction square(o, a) {\n mul(o, a, a);\n}\nfunction inv25519(o, i) {\n const c = gf();\n let a;\n for (a = 0; a < 16; a++) {\n c[a] = i[a];\n }\n for (a = 253; a >= 0; a--) {\n square(c, c);\n if (a !== 2 && a !== 4) {\n mul(c, c, i);\n }\n }\n for (a = 0; a < 16; a++) {\n o[a] = c[a];\n }\n}\nfunction pow2523(o, i) {\n const c = gf();\n let a;\n for (a = 0; a < 16; a++) {\n c[a] = i[a];\n }\n for (a = 250; a >= 0; a--) {\n square(c, c);\n if (a !== 1) {\n mul(c, c, i);\n }\n }\n for (a = 0; a < 16; a++) {\n o[a] = c[a];\n }\n}\nfunction edadd(p, q) {\n const a = gf(), b = gf(), c = gf(), d = gf(), e = gf(), f = gf(), g = gf(), h = gf(), t = gf();\n sub(a, p[1], p[0]);\n sub(t, q[1], q[0]);\n mul(a, a, t);\n add(b, p[0], p[1]);\n add(t, q[0], q[1]);\n mul(b, b, t);\n mul(c, p[3], q[3]);\n mul(c, c, D2);\n mul(d, p[2], q[2]);\n add(d, d, d);\n sub(e, b, a);\n sub(f, d, c);\n add(g, d, c);\n add(h, b, a);\n mul(p[0], e, f);\n mul(p[1], h, g);\n mul(p[2], g, f);\n mul(p[3], e, h);\n}\nfunction cswap(p, q, b) {\n for (let i = 0; i < 4; i++) {\n sel25519(p[i], q[i], b);\n }\n}\nfunction pack(r, p) {\n const tx = gf(), ty = gf(), zi = gf();\n inv25519(zi, p[2]);\n mul(tx, p[0], zi);\n mul(ty, p[1], zi);\n pack25519(r, ty);\n r[31] ^= par25519(tx) << 7;\n}\nfunction scalarmult(p, q, s) {\n set25519(p[0], gf0);\n set25519(p[1], gf1);\n set25519(p[2], gf1);\n set25519(p[3], gf0);\n for (let i = 255; i >= 0; --i) {\n const b = (s[(i / 8) | 0] >> (i & 7)) & 1;\n cswap(p, q, b);\n edadd(q, p);\n edadd(p, p);\n cswap(p, q, b);\n }\n}\nfunction scalarbase(p, s) {\n const q = [gf(), gf(), gf(), gf()];\n set25519(q[0], X);\n set25519(q[1], Y);\n set25519(q[2], gf1);\n mul(q[3], X, Y);\n scalarmult(p, q, s);\n}\n// Generates key pair from secret 32-byte seed.\nfunction generateKeyPairFromSeed(seed) {\n if (seed.length !== exports.SEED_LENGTH) {\n throw new Error(`ed25519: seed must be ${exports.SEED_LENGTH} bytes`);\n }\n const d = (0, sha512_1.hash)(seed);\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n const publicKey = new Uint8Array(32);\n const p = [gf(), gf(), gf(), gf()];\n scalarbase(p, d);\n pack(publicKey, p);\n const secretKey = new Uint8Array(64);\n secretKey.set(seed);\n secretKey.set(publicKey, 32);\n return {\n publicKey,\n secretKey\n };\n}\nexports.generateKeyPairFromSeed = generateKeyPairFromSeed;\nfunction generateKeyPair(prng) {\n const seed = (0, random_1.randomBytes)(32, prng);\n const result = generateKeyPairFromSeed(seed);\n (0, wipe_1.wipe)(seed);\n return result;\n}\nexports.generateKeyPair = generateKeyPair;\nfunction extractPublicKeyFromSecretKey(secretKey) {\n if (secretKey.length !== exports.SECRET_KEY_LENGTH) {\n throw new Error(`ed25519: secret key must be ${exports.SECRET_KEY_LENGTH} bytes`);\n }\n return new Uint8Array(secretKey.subarray(32));\n}\nexports.extractPublicKeyFromSecretKey = extractPublicKeyFromSecretKey;\nconst L = new Float64Array([\n 0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2,\n 0xde, 0xf9, 0xde, 0x14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x10\n]);\nfunction modL(r, x) {\n let carry;\n let i;\n let j;\n let k;\n for (i = 63; i >= 32; --i) {\n carry = 0;\n for (j = i - 32, k = i - 12; j < k; ++j) {\n x[j] += carry - 16 * x[i] * L[j - (i - 32)];\n carry = Math.floor((x[j] + 128) / 256);\n x[j] -= carry * 256;\n }\n x[j] += carry;\n x[i] = 0;\n }\n carry = 0;\n for (j = 0; j < 32; j++) {\n x[j] += carry - (x[31] >> 4) * L[j];\n carry = x[j] >> 8;\n x[j] &= 255;\n }\n for (j = 0; j < 32; j++) {\n x[j] -= carry * L[j];\n }\n for (i = 0; i < 32; i++) {\n x[i + 1] += x[i] >> 8;\n r[i] = x[i] & 255;\n }\n}\nfunction reduce(r) {\n const x = new Float64Array(64);\n for (let i = 0; i < 64; i++) {\n x[i] = r[i];\n }\n for (let i = 0; i < 64; i++) {\n r[i] = 0;\n }\n modL(r, x);\n}\n// Returns 64-byte signature of the message under the 64-byte secret key.\nfunction sign(secretKey, message) {\n const x = new Float64Array(64);\n const p = [gf(), gf(), gf(), gf()];\n const d = (0, sha512_1.hash)(secretKey.subarray(0, 32));\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n const signature = new Uint8Array(64);\n signature.set(d.subarray(32), 32);\n const hs = new sha512_1.SHA512();\n hs.update(signature.subarray(32));\n hs.update(message);\n const r = hs.digest();\n hs.clean();\n reduce(r);\n scalarbase(p, r);\n pack(signature, p);\n hs.reset();\n hs.update(signature.subarray(0, 32));\n hs.update(secretKey.subarray(32));\n hs.update(message);\n const h = hs.digest();\n reduce(h);\n for (let i = 0; i < 32; i++) {\n x[i] = r[i];\n }\n for (let i = 0; i < 32; i++) {\n for (let j = 0; j < 32; j++) {\n x[i + j] += h[i] * d[j];\n }\n }\n modL(signature.subarray(32), x);\n return signature;\n}\nexports.sign = sign;\nfunction unpackneg(r, p) {\n const t = gf(), chk = gf(), num = gf(), den = gf(), den2 = gf(), den4 = gf(), den6 = gf();\n set25519(r[2], gf1);\n unpack25519(r[1], p);\n square(num, r[1]);\n mul(den, num, D);\n sub(num, num, r[2]);\n add(den, r[2], den);\n square(den2, den);\n square(den4, den2);\n mul(den6, den4, den2);\n mul(t, den6, num);\n mul(t, t, den);\n pow2523(t, t);\n mul(t, t, num);\n mul(t, t, den);\n mul(t, t, den);\n mul(r[0], t, den);\n square(chk, r[0]);\n mul(chk, chk, den);\n if (neq25519(chk, num)) {\n mul(r[0], r[0], I);\n }\n square(chk, r[0]);\n mul(chk, chk, den);\n if (neq25519(chk, num)) {\n return -1;\n }\n if (par25519(r[0]) === (p[31] >> 7)) {\n sub(r[0], gf0, r[0]);\n }\n mul(r[3], r[0], r[1]);\n return 0;\n}\nfunction verify(publicKey, message, signature) {\n const t = new Uint8Array(32);\n const p = [gf(), gf(), gf(), gf()];\n const q = [gf(), gf(), gf(), gf()];\n if (signature.length !== exports.SIGNATURE_LENGTH) {\n throw new Error(`ed25519: signature must be ${exports.SIGNATURE_LENGTH} bytes`);\n }\n if (unpackneg(q, publicKey)) {\n return false;\n }\n const hs = new sha512_1.SHA512();\n hs.update(signature.subarray(0, 32));\n hs.update(publicKey);\n hs.update(message);\n const h = hs.digest();\n reduce(h);\n scalarmult(p, q, h);\n scalarbase(q, signature.subarray(32));\n edadd(p, q);\n pack(t, p);\n if (verify32(signature, t)) {\n return false;\n }\n return true;\n}\nexports.verify = verify;\n/**\n * Convert Ed25519 public key to X25519 public key.\n *\n * Throws if given an invalid public key.\n */\nfunction convertPublicKeyToX25519(publicKey) {\n let q = [gf(), gf(), gf(), gf()];\n if (unpackneg(q, publicKey)) {\n throw new Error(\"Ed25519: invalid public key\");\n }\n // Formula: montgomeryX = (edwardsY + 1)*inverse(1 - edwardsY) mod p\n let a = gf();\n let b = gf();\n let y = q[1];\n add(a, gf1, y);\n sub(b, gf1, y);\n inv25519(b, b);\n mul(a, a, b);\n let z = new Uint8Array(32);\n pack25519(z, a);\n return z;\n}\nexports.convertPublicKeyToX25519 = convertPublicKeyToX25519;\n/**\n * Convert Ed25519 secret (private) key to X25519 secret key.\n */\nfunction convertSecretKeyToX25519(secretKey) {\n const d = (0, sha512_1.hash)(secretKey.subarray(0, 32));\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n const o = new Uint8Array(d.subarray(0, 32));\n (0, wipe_1.wipe)(d);\n return o;\n}\nexports.convertSecretKeyToX25519 = convertSecretKeyToX25519;\n//# sourceMappingURL=ed25519.js.map","export const JWT_IRIDIUM_ALG = \"EdDSA\";\nexport const JWT_IRIDIUM_TYP = \"JWT\";\nexport const JWT_DELIMITER = \".\";\nexport const JWT_ENCODING = \"base64url\";\nexport const JSON_ENCODING = \"utf8\";\nexport const DATA_ENCODING = \"utf8\";\nexport const DID_DELIMITER = \":\";\nexport const DID_PREFIX = \"did\";\nexport const DID_METHOD = \"key\";\nexport const MULTICODEC_ED25519_ENCODING = \"base58btc\";\nexport const MULTICODEC_ED25519_BASE = \"z\";\nexport const MULTICODEC_ED25519_HEADER = \"K36\";\nexport const MULTICODEC_ED25519_LENGTH = 32;\nexport const KEY_PAIR_SEED_LENGTH = 32;\n//# sourceMappingURL=constants.js.map","import { concat } from \"uint8arrays/concat\";\nimport { toString } from \"uint8arrays/to-string\";\nimport { fromString } from \"uint8arrays/from-string\";\nimport { safeJsonParse, safeJsonStringify } from \"@walletconnect/safe-json\";\nimport { DATA_ENCODING, DID_DELIMITER, DID_METHOD, DID_PREFIX, JSON_ENCODING, JWT_DELIMITER, JWT_ENCODING, MULTICODEC_ED25519_BASE, MULTICODEC_ED25519_ENCODING, MULTICODEC_ED25519_HEADER, MULTICODEC_ED25519_LENGTH, } from \"./constants\";\nexport function decodeJSON(str) {\n return safeJsonParse(toString(fromString(str, JWT_ENCODING), JSON_ENCODING));\n}\nexport function encodeJSON(val) {\n return toString(fromString(safeJsonStringify(val), JSON_ENCODING), JWT_ENCODING);\n}\nexport function encodeIss(publicKey) {\n const header = fromString(MULTICODEC_ED25519_HEADER, MULTICODEC_ED25519_ENCODING);\n const multicodec = MULTICODEC_ED25519_BASE +\n toString(concat([header, publicKey]), MULTICODEC_ED25519_ENCODING);\n return [DID_PREFIX, DID_METHOD, multicodec].join(DID_DELIMITER);\n}\nexport function decodeIss(issuer) {\n const [prefix, method, multicodec] = issuer.split(DID_DELIMITER);\n if (prefix !== DID_PREFIX || method !== DID_METHOD) {\n throw new Error(`Issuer must be a DID with method \"key\"`);\n }\n const base = multicodec.slice(0, 1);\n if (base !== MULTICODEC_ED25519_BASE) {\n throw new Error(`Issuer must be a key in mulicodec format`);\n }\n const bytes = fromString(multicodec.slice(1), MULTICODEC_ED25519_ENCODING);\n const type = toString(bytes.slice(0, 2), MULTICODEC_ED25519_ENCODING);\n if (type !== MULTICODEC_ED25519_HEADER) {\n throw new Error(`Issuer must be a public key with type \"Ed25519\"`);\n }\n const publicKey = bytes.slice(2);\n if (publicKey.length !== MULTICODEC_ED25519_LENGTH) {\n throw new Error(`Issuer must be a public key with length 32 bytes`);\n }\n return publicKey;\n}\nexport function encodeSig(bytes) {\n return toString(bytes, JWT_ENCODING);\n}\nexport function decodeSig(encoded) {\n return fromString(encoded, JWT_ENCODING);\n}\nexport function encodeData(params) {\n return fromString([encodeJSON(params.header), encodeJSON(params.payload)].join(JWT_DELIMITER), DATA_ENCODING);\n}\nexport function decodeData(data) {\n const params = toString(data, DATA_ENCODING).split(JWT_DELIMITER);\n const header = decodeJSON(params[0]);\n const payload = decodeJSON(params[1]);\n return { header, payload };\n}\nexport function encodeJWT(params) {\n return [\n encodeJSON(params.header),\n encodeJSON(params.payload),\n encodeSig(params.signature),\n ].join(JWT_DELIMITER);\n}\nexport function decodeJWT(jwt) {\n const params = jwt.split(JWT_DELIMITER);\n const header = decodeJSON(params[0]);\n const payload = decodeJSON(params[1]);\n const signature = decodeSig(params[2]);\n const data = fromString(params.slice(0, 2).join(JWT_DELIMITER), DATA_ENCODING);\n return { header, payload, signature, data };\n}\n//# sourceMappingURL=utils.js.map","import * as ed25519 from \"@stablelib/ed25519\";\nimport { randomBytes } from \"@stablelib/random\";\nimport { fromMiliseconds } from \"@walletconnect/time\";\nimport { JWT_IRIDIUM_ALG, JWT_IRIDIUM_TYP, KEY_PAIR_SEED_LENGTH, } from \"./constants\";\nimport { decodeIss, decodeJWT, encodeData, encodeIss, encodeJWT, } from \"./utils\";\nexport function generateKeyPair(seed = randomBytes(KEY_PAIR_SEED_LENGTH)) {\n return ed25519.generateKeyPairFromSeed(seed);\n}\nexport async function signJWT(sub, aud, ttl, keyPair, iat = fromMiliseconds(Date.now())) {\n const header = { alg: JWT_IRIDIUM_ALG, typ: JWT_IRIDIUM_TYP };\n const iss = encodeIss(keyPair.publicKey);\n const exp = iat + ttl;\n const payload = { iss, sub, aud, iat, exp };\n const data = encodeData({ header, payload });\n const signature = ed25519.sign(keyPair.secretKey, data);\n return encodeJWT({ header, payload, signature });\n}\nexport async function verifyJWT(jwt) {\n const { header, payload, data, signature } = decodeJWT(jwt);\n if (header.alg !== JWT_IRIDIUM_ALG || header.typ !== JWT_IRIDIUM_TYP) {\n throw new Error(\"JWT must use EdDSA algorithm\");\n }\n const publicKey = decodeIss(payload.iss);\n return ed25519.verify(publicKey, data, signature);\n}\n//# sourceMappingURL=api.js.map","export const PARSE_ERROR = \"PARSE_ERROR\";\nexport const INVALID_REQUEST = \"INVALID_REQUEST\";\nexport const METHOD_NOT_FOUND = \"METHOD_NOT_FOUND\";\nexport const INVALID_PARAMS = \"INVALID_PARAMS\";\nexport const INTERNAL_ERROR = \"INTERNAL_ERROR\";\nexport const SERVER_ERROR = \"SERVER_ERROR\";\nexport const RESERVED_ERROR_CODES = [-32700, -32600, -32601, -32602, -32603];\nexport const SERVER_ERROR_CODE_RANGE = [-32000, -32099];\nexport const STANDARD_ERROR_MAP = {\n [PARSE_ERROR]: { code: -32700, message: \"Parse error\" },\n [INVALID_REQUEST]: { code: -32600, message: \"Invalid Request\" },\n [METHOD_NOT_FOUND]: { code: -32601, message: \"Method not found\" },\n [INVALID_PARAMS]: { code: -32602, message: \"Invalid params\" },\n [INTERNAL_ERROR]: { code: -32603, message: \"Internal error\" },\n [SERVER_ERROR]: { code: -32000, message: \"Server error\" },\n};\nexport const DEFAULT_ERROR = SERVER_ERROR;\n//# sourceMappingURL=constants.js.map","import { SERVER_ERROR_CODE_RANGE, RESERVED_ERROR_CODES, STANDARD_ERROR_MAP, DEFAULT_ERROR, } from \"./constants\";\nexport function isServerErrorCode(code) {\n return code <= SERVER_ERROR_CODE_RANGE[0] && code >= SERVER_ERROR_CODE_RANGE[1];\n}\nexport function isReservedErrorCode(code) {\n return RESERVED_ERROR_CODES.includes(code);\n}\nexport function isValidErrorCode(code) {\n return typeof code === \"number\";\n}\nexport function getError(type) {\n if (!Object.keys(STANDARD_ERROR_MAP).includes(type)) {\n return STANDARD_ERROR_MAP[DEFAULT_ERROR];\n }\n return STANDARD_ERROR_MAP[type];\n}\nexport function getErrorByCode(code) {\n const match = Object.values(STANDARD_ERROR_MAP).find(e => e.code === code);\n if (!match) {\n return STANDARD_ERROR_MAP[DEFAULT_ERROR];\n }\n return match;\n}\nexport function validateJsonRpcError(response) {\n if (typeof response.error.code === \"undefined\") {\n return { valid: false, error: \"Missing code for JSON-RPC error\" };\n }\n if (typeof response.error.message === \"undefined\") {\n return { valid: false, error: \"Missing message for JSON-RPC error\" };\n }\n if (!isValidErrorCode(response.error.code)) {\n return {\n valid: false,\n error: `Invalid error code type for JSON-RPC: ${response.error.code}`,\n };\n }\n if (isReservedErrorCode(response.error.code)) {\n const error = getErrorByCode(response.error.code);\n if (error.message !== STANDARD_ERROR_MAP[DEFAULT_ERROR].message &&\n response.error.message === error.message) {\n return {\n valid: false,\n error: `Invalid error code message for JSON-RPC: ${response.error.code}`,\n };\n }\n }\n return { valid: true };\n}\nexport function parseConnectionError(e, url, type) {\n return e.message.includes(\"getaddrinfo ENOTFOUND\") || e.message.includes(\"connect ECONNREFUSED\")\n ? new Error(`Unavailable ${type} RPC url at ${url}`)\n : e;\n}\n//# sourceMappingURL=error.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isBrowserCryptoAvailable = exports.getSubtleCrypto = exports.getBrowerCrypto = void 0;\nfunction getBrowerCrypto() {\n return (global === null || global === void 0 ? void 0 : global.crypto) || (global === null || global === void 0 ? void 0 : global.msCrypto) || {};\n}\nexports.getBrowerCrypto = getBrowerCrypto;\nfunction getSubtleCrypto() {\n const browserCrypto = getBrowerCrypto();\n return browserCrypto.subtle || browserCrypto.webkitSubtle;\n}\nexports.getSubtleCrypto = getSubtleCrypto;\nfunction isBrowserCryptoAvailable() {\n return !!getBrowerCrypto() && !!getSubtleCrypto();\n}\nexports.isBrowserCryptoAvailable = isBrowserCryptoAvailable;\n//# sourceMappingURL=crypto.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isBrowser = exports.isNode = exports.isReactNative = void 0;\nfunction isReactNative() {\n return (typeof document === \"undefined\" &&\n typeof navigator !== \"undefined\" &&\n navigator.product === \"ReactNative\");\n}\nexports.isReactNative = isReactNative;\nfunction isNode() {\n return (typeof process !== \"undefined\" &&\n typeof process.versions !== \"undefined\" &&\n typeof process.versions.node !== \"undefined\");\n}\nexports.isNode = isNode;\nfunction isBrowser() {\n return !isReactNative() && !isNode();\n}\nexports.isBrowser = isBrowser;\n//# sourceMappingURL=env.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./crypto\"), exports);\ntslib_1.__exportStar(require(\"./env\"), exports);\n//# sourceMappingURL=index.js.map","import { getError, getErrorByCode, isReservedErrorCode } from \"./error\";\nimport { INTERNAL_ERROR, SERVER_ERROR } from \"./constants\";\nexport function payloadId(entropy = 3) {\n const date = Date.now() * Math.pow(10, entropy);\n const extra = Math.floor(Math.random() * Math.pow(10, entropy));\n return date + extra;\n}\nexport function getBigIntRpcId(entropy = 6) {\n return BigInt(payloadId(entropy));\n}\nexport function formatJsonRpcRequest(method, params, id) {\n return {\n id: id || payloadId(),\n jsonrpc: \"2.0\",\n method,\n params,\n };\n}\nexport function formatJsonRpcResult(id, result) {\n return {\n id,\n jsonrpc: \"2.0\",\n result,\n };\n}\nexport function formatJsonRpcError(id, error, data) {\n return {\n id,\n jsonrpc: \"2.0\",\n error: formatErrorMessage(error, data),\n };\n}\nexport function formatErrorMessage(error, data) {\n if (typeof error === \"undefined\") {\n return getError(INTERNAL_ERROR);\n }\n if (typeof error === \"string\") {\n error = Object.assign(Object.assign({}, getError(SERVER_ERROR)), { message: error });\n }\n if (typeof data !== \"undefined\") {\n error.data = data;\n }\n if (isReservedErrorCode(error.code)) {\n error = getErrorByCode(error.code);\n }\n return error;\n}\n//# sourceMappingURL=format.js.map","export class IEvents {\n}\n//# sourceMappingURL=misc.js.map","import { IEvents } from \"./misc\";\nexport class IJsonRpcConnection extends IEvents {\n constructor(opts) {\n super();\n }\n}\nexport class IBaseJsonRpcProvider extends IEvents {\n constructor() {\n super();\n }\n}\nexport class IJsonRpcProvider extends IBaseJsonRpcProvider {\n constructor(connection) {\n super();\n }\n}\n//# sourceMappingURL=provider.js.map","const HTTP_REGEX = \"^https?:\";\nconst WS_REGEX = \"^wss?:\";\nfunction getUrlProtocol(url) {\n const matches = url.match(new RegExp(/^\\w+:/, \"gi\"));\n if (!matches || !matches.length)\n return;\n return matches[0];\n}\nfunction matchRegexProtocol(url, regex) {\n const protocol = getUrlProtocol(url);\n if (typeof protocol === \"undefined\")\n return false;\n return new RegExp(regex).test(protocol);\n}\nexport function isHttpUrl(url) {\n return matchRegexProtocol(url, HTTP_REGEX);\n}\nexport function isWsUrl(url) {\n return matchRegexProtocol(url, WS_REGEX);\n}\nexport function isLocalhostUrl(url) {\n return new RegExp(\"wss?://localhost(:d{2,5})?\").test(url);\n}\n//# sourceMappingURL=url.js.map","export function isJsonRpcPayload(payload) {\n return (typeof payload === \"object\" &&\n \"id\" in payload &&\n \"jsonrpc\" in payload &&\n payload.jsonrpc === \"2.0\");\n}\nexport function isJsonRpcRequest(payload) {\n return isJsonRpcPayload(payload) && \"method\" in payload;\n}\nexport function isJsonRpcResponse(payload) {\n return isJsonRpcPayload(payload) && (isJsonRpcResult(payload) || isJsonRpcError(payload));\n}\nexport function isJsonRpcResult(payload) {\n return \"result\" in payload;\n}\nexport function isJsonRpcError(payload) {\n return \"error\" in payload;\n}\nexport function isJsonRpcValidationInvalid(validation) {\n return \"error\" in validation && validation.valid === false;\n}\n//# sourceMappingURL=validators.js.map","import { EventEmitter } from \"events\";\nimport { IJsonRpcProvider, isJsonRpcResponse, formatJsonRpcRequest, isJsonRpcError, getBigIntRpcId, } from \"@walletconnect/jsonrpc-utils\";\nexport class JsonRpcProvider extends IJsonRpcProvider {\n constructor(connection) {\n super(connection);\n this.events = new EventEmitter();\n this.hasRegisteredEventListeners = false;\n this.connection = this.setConnection(connection);\n if (this.connection.connected) {\n this.registerEventListeners();\n }\n }\n async connect(connection = this.connection) {\n await this.open(connection);\n }\n async disconnect() {\n await this.close();\n }\n on(event, listener) {\n this.events.on(event, listener);\n }\n once(event, listener) {\n this.events.once(event, listener);\n }\n off(event, listener) {\n this.events.off(event, listener);\n }\n removeListener(event, listener) {\n this.events.removeListener(event, listener);\n }\n async request(request, context) {\n return this.requestStrict(formatJsonRpcRequest(request.method, request.params || [], request.id || getBigIntRpcId().toString()), context);\n }\n async requestStrict(request, context) {\n return new Promise(async (resolve, reject) => {\n if (!this.connection.connected) {\n try {\n await this.open();\n }\n catch (e) {\n reject(e);\n }\n }\n this.events.on(`${request.id}`, response => {\n if (isJsonRpcError(response)) {\n reject(response.error);\n }\n else {\n resolve(response.result);\n }\n });\n try {\n await this.connection.send(request, context);\n }\n catch (e) {\n reject(e);\n }\n });\n }\n setConnection(connection = this.connection) {\n return connection;\n }\n onPayload(payload) {\n this.events.emit(\"payload\", payload);\n if (isJsonRpcResponse(payload)) {\n this.events.emit(`${payload.id}`, payload);\n }\n else {\n this.events.emit(\"message\", {\n type: payload.method,\n data: payload.params,\n });\n }\n }\n onClose(event) {\n if (event && event.code === 3000) {\n this.events.emit(\"error\", new Error(`WebSocket connection closed abnormally with code: ${event.code} ${event.reason ? `(${event.reason})` : \"\"}`));\n }\n this.events.emit(\"disconnect\");\n }\n async open(connection = this.connection) {\n if (this.connection === connection && this.connection.connected)\n return;\n if (this.connection.connected)\n this.close();\n if (typeof connection === \"string\") {\n await this.connection.open(connection);\n connection = this.connection;\n }\n this.connection = this.setConnection(connection);\n await this.connection.open();\n this.registerEventListeners();\n this.events.emit(\"connect\");\n }\n async close() {\n await this.connection.close();\n }\n registerEventListeners() {\n if (this.hasRegisteredEventListeners)\n return;\n this.connection.on(\"payload\", (payload) => this.onPayload(payload));\n this.connection.on(\"close\", (event) => this.onClose(event));\n this.connection.on(\"error\", (error) => this.events.emit(\"error\", error));\n this.connection.on(\"register_error\", (error) => this.onClose());\n this.hasRegisteredEventListeners = true;\n }\n}\nexport default JsonRpcProvider;\n//# sourceMappingURL=provider.js.map","import{EventEmitter as u}from\"events\";import{safeJsonStringify as p,safeJsonParse as g}from\"@walletconnect/safe-json\";import{isWsUrl as d,isReactNative as y,isLocalhostUrl as m,formatJsonRpcError as k,parseConnectionError as v}from\"@walletconnect/jsonrpc-utils\";const w=()=>typeof WebSocket<\"u\"?WebSocket:typeof global<\"u\"&&typeof global.WebSocket<\"u\"?global.WebSocket:typeof window<\"u\"&&typeof window.WebSocket<\"u\"?window.WebSocket:typeof self<\"u\"&&typeof self.WebSocket<\"u\"?self.WebSocket:require(\"ws\"),b=()=>typeof WebSocket<\"u\"||typeof global<\"u\"&&typeof global.WebSocket<\"u\"||typeof window<\"u\"&&typeof window.WebSocket<\"u\"||typeof self<\"u\"&&typeof self.WebSocket<\"u\",a=c=>c.split(\"?\")[0],h=10,S=w();class f{constructor(e){if(this.url=e,this.events=new u,this.registering=!1,!d(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);this.url=e}get connected(){return typeof this.socket<\"u\"}get connecting(){return this.registering}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 open(e=this.url){await this.register(e)}async close(){return new Promise((e,t)=>{if(typeof this.socket>\"u\"){t(new Error(\"Connection already closed\"));return}this.socket.onclose=n=>{this.onClose(n),e()},this.socket.close()})}async send(e){typeof this.socket>\"u\"&&(this.socket=await this.register());try{this.socket.send(p(e))}catch(t){this.onError(e.id,t)}}register(e=this.url){if(!d(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);if(this.registering){const t=this.events.getMaxListeners();return(this.events.listenerCount(\"register_error\")>=t||this.events.listenerCount(\"open\")>=t)&&this.events.setMaxListeners(t+1),new Promise((n,o)=>{this.events.once(\"register_error\",s=>{this.resetMaxListeners(),o(s)}),this.events.once(\"open\",()=>{if(this.resetMaxListeners(),typeof this.socket>\"u\")return o(new Error(\"WebSocket connection is missing or invalid\"));n(this.socket)})})}return this.url=e,this.registering=!0,new Promise((t,n)=>{const o=new URLSearchParams(e).get(\"origin\"),s=y()?{headers:{origin:o}}:{rejectUnauthorized:!m(e)},i=new S(e,[],s);b()?i.onerror=r=>{const l=r;n(this.emitError(l.error))}:i.on(\"error\",r=>{n(this.emitError(r))}),i.onopen=()=>{this.onOpen(i),t(i)}})}onOpen(e){e.onmessage=t=>this.onPayload(t),e.onclose=t=>this.onClose(t),this.socket=e,this.registering=!1,this.events.emit(\"open\")}onClose(e){this.socket=void 0,this.registering=!1,this.events.emit(\"close\",e)}onPayload(e){if(typeof e.data>\"u\")return;const t=typeof e.data==\"string\"?g(e.data):e.data;this.events.emit(\"payload\",t)}onError(e,t){const n=this.parseError(t),o=n.message||n.toString(),s=k(e,o);this.events.emit(\"payload\",s)}parseError(e,t=this.url){return v(e,a(t),\"WS\")}resetMaxListeners(){this.events.getMaxListeners()>h&&this.events.setMaxListeners(h)}emitError(e){const t=this.parseError(new Error(e?.message||`WebSocket connection failed for host: ${a(this.url)}`));return this.events.emit(\"register_error\",t),t}}export{f as WsConnection,f as default};\n//# sourceMappingURL=index.es.js.map\n","/**\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEqual;\n","export default function(e,n){return n=n||{},new Promise(function(t,r){var s=new XMLHttpRequest,o=[],u=[],i={},a=function(){return{ok:2==(s.status/100|0),statusText:s.statusText,status:s.status,url:s.responseURL,text:function(){return Promise.resolve(s.responseText)},json:function(){return Promise.resolve(s.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([s.response]))},clone:a,headers:{keys:function(){return o},entries:function(){return u},get:function(e){return i[e.toLowerCase()]},has:function(e){return e.toLowerCase()in i}}}};for(var l in s.open(n.method||\"get\",e,!0),s.onload=function(){s.getAllResponseHeaders().replace(/^(.*?):[^\\S\\n]*([\\s\\S]*?)$/gm,function(e,n,t){o.push(n=n.toLowerCase()),u.push([n,t]),i[n]=i[n]?i[n]+\",\"+t:t}),t(a())},s.onerror=r,s.withCredentials=\"include\"==n.credentials,n.headers)s.setRequestHeader(l,n.headers[l]);s.send(n.body||null)})}\n//# sourceMappingURL=unfetch.module.js.map\n","module.exports = self.fetch || (self.fetch = require('unfetch').default || require('unfetch'));\n","import Xt,{EventEmitter as U}from\"events\";import Wt from\"@walletconnect/keyvaluestorage\";import{HEARTBEAT_EVENTS as G,HeartBeat as Qt}from\"@walletconnect/heartbeat\";import{generateChildLogger as b,getLoggerContext as E,pino as ye,getDefaultLoggerOptions as me}from\"@walletconnect/logger\";import{IMessageTracker as Zt,IPublisher as ei,ISubscriber as ti,IRelayer as ii,IStore as si,IJsonRpcHistory as ri,IExpirer as ni,IVerify as oi,IEchoClient as ai,ICore as hi}from\"@walletconnect/types\";import{safeJsonStringify as ci,safeJsonParse as ui}from\"@walletconnect/safe-json\";import*as Y from\"@walletconnect/relay-auth\";import{getInternalError as c,mapToObj as be,objToMap as fe,generateKeyPair as li,generateRandomBytes32 as ie,deriveSymKey as di,hashKey as gi,validateEncoding as pi,isTypeOneEnvelope as Ee,encrypt as Di,validateDecoding as yi,decrypt as mi,deserialize as we,decodeTypeByte as bi,BASE16 as fi,hashMessage as se,getRelayProtocolName as re,createExpiringPromise as k,getRelayProtocolApi as H,isUndefined as ne,getSdkError as K,isValidArray as Ei,getBundleId as wi,isOnline as ve,formatRelayRpcUrl as vi,subscribeToNetworkChange as Ii,isProposalStruct as Ci,isSessionStruct as Ri,TYPE_1 as _i,calcExpiry as J,formatUri as Ti,parseUri as Ie,createDelayedPromise as Si,engineEvent as oe,isExpired as Ce,isValidParams as ae,isValidUrl as Pi,isValidString as xi,parseExpirerTarget as Oi,formatTopicTarget as Ai,formatIdTarget as zi,isReactNative as Ni,isBrowser as Ui,isNode as Li}from\"@walletconnect/utils\";import{toString as $i}from\"uint8arrays\";import{ONE_DAY as L,SIX_HOURS as Fi,ONE_SECOND as Re,THIRTY_DAYS as X,FIVE_SECONDS as _e,THIRTY_SECONDS as Te,toMiliseconds as N,TEN_SECONDS as Mi,Watch as ki,FIVE_MINUTES as Se}from\"@walletconnect/time\";import{JsonRpcProvider as Ki}from\"@walletconnect/jsonrpc-provider\";import{getBigIntRpcId as Bi,isJsonRpcRequest as Pe,isJsonRpcResponse as xe,formatJsonRpcResult as Oe,formatJsonRpcRequest as Ae,formatJsonRpcError as Vi,isJsonRpcResult as qi,isJsonRpcError as ze}from\"@walletconnect/jsonrpc-utils\";import ji from\"@walletconnect/jsonrpc-ws-connection\";import Gi from\"lodash.isequal\";import Yi from\"isomorphic-unfetch\";function Hi(n,e){if(n.length>=255)throw new TypeError(\"Alphabet too long\");for(var t=new Uint8Array(256),i=0;i>>0,f=new Uint8Array(T);I!==_;){for(var S=u[I],A=0,C=T-1;(S!==0||A>>0,f[C]=S%a>>>0,S=S/a>>>0;if(S!==0)throw new Error(\"Non-zero carry\");z=A,I++}for(var x=T-z;x!==T&&f[x]===0;)x++;for(var j=h.repeat(m);x>>0,T=new Uint8Array(_);u[m];){var f=t[u.charCodeAt(m)];if(f===255)return;for(var S=0,A=_-1;(f!==0||S>>0,T[A]=f%256>>>0,f=f/256>>>0;if(f!==0)throw new Error(\"Non-zero carry\");I=S,m++}if(u[m]!==\" \"){for(var C=_-I;C!==_&&T[C]===0;)C++;for(var x=new Uint8Array(z+(_-C)),j=z;C!==_;)x[j++]=T[C++];return x}}}function M(u){var m=y(u);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:p,decodeUnsafe:y,decode:M}}var Ji=Hi,Xi=Ji;const Ne=n=>{if(n instanceof Uint8Array&&n.constructor.name===\"Uint8Array\")return n;if(n instanceof ArrayBuffer)return new Uint8Array(n);if(ArrayBuffer.isView(n))return new Uint8Array(n.buffer,n.byteOffset,n.byteLength);throw new Error(\"Unknown type, must be binary type\")},Wi=n=>new TextEncoder().encode(n),Qi=n=>new TextDecoder().decode(n);class Zi{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 es{constructor(e,t,i){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error(\"Invalid prefix character\");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=i}decode(e){if(typeof e==\"string\"){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))}else throw Error(\"Can only multibase decode strings\")}or(e){return Ue(this,e)}}class ts{constructor(e){this.decoders=e}or(e){return Ue(this,e)}decode(e){const 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`)}}const Ue=(n,e)=>new ts({...n.decoders||{[n.prefix]:n},...e.decoders||{[e.prefix]:e}});class is{constructor(e,t,i,s){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=s,this.encoder=new Zi(e,t,i),this.decoder=new es(e,t,s)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const W=({name:n,prefix:e,encode:t,decode:i})=>new is(n,e,t,i),B=({prefix:n,name:e,alphabet:t})=>{const{encode:i,decode:s}=Xi(t,e);return W({prefix:n,name:e,encode:i,decode:r=>Ne(s(r))})},ss=(n,e,t,i)=>{const s={};for(let d=0;d=8&&(a-=8,o[l++]=255&h>>a)}if(a>=t||255&h<<8-a)throw new SyntaxError(\"Unexpected end of data\");return o},rs=(n,e,t)=>{const i=e[e.length-1]===\"=\",s=(1<t;)o-=t,r+=e[s&a>>o];if(o&&(r+=e[s&a<W({prefix:e,name:n,encode(s){return rs(s,i,t)},decode(s){return ss(s,i,t,n)}}),ns=W({prefix:\"\\0\",name:\"identity\",encode:n=>Qi(n),decode:n=>Wi(n)});var os=Object.freeze({__proto__:null,identity:ns});const as=g({prefix:\"0\",name:\"base2\",alphabet:\"01\",bitsPerChar:1});var hs=Object.freeze({__proto__:null,base2:as});const cs=g({prefix:\"7\",name:\"base8\",alphabet:\"01234567\",bitsPerChar:3});var us=Object.freeze({__proto__:null,base8:cs});const ls=B({prefix:\"9\",name:\"base10\",alphabet:\"0123456789\"});var ds=Object.freeze({__proto__:null,base10:ls});const gs=g({prefix:\"f\",name:\"base16\",alphabet:\"0123456789abcdef\",bitsPerChar:4}),ps=g({prefix:\"F\",name:\"base16upper\",alphabet:\"0123456789ABCDEF\",bitsPerChar:4});var Ds=Object.freeze({__proto__:null,base16:gs,base16upper:ps});const ys=g({prefix:\"b\",name:\"base32\",alphabet:\"abcdefghijklmnopqrstuvwxyz234567\",bitsPerChar:5}),ms=g({prefix:\"B\",name:\"base32upper\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567\",bitsPerChar:5}),bs=g({prefix:\"c\",name:\"base32pad\",alphabet:\"abcdefghijklmnopqrstuvwxyz234567=\",bitsPerChar:5}),fs=g({prefix:\"C\",name:\"base32padupper\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=\",bitsPerChar:5}),Es=g({prefix:\"v\",name:\"base32hex\",alphabet:\"0123456789abcdefghijklmnopqrstuv\",bitsPerChar:5}),ws=g({prefix:\"V\",name:\"base32hexupper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUV\",bitsPerChar:5}),vs=g({prefix:\"t\",name:\"base32hexpad\",alphabet:\"0123456789abcdefghijklmnopqrstuv=\",bitsPerChar:5}),Is=g({prefix:\"T\",name:\"base32hexpadupper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUV=\",bitsPerChar:5}),Cs=g({prefix:\"h\",name:\"base32z\",alphabet:\"ybndrfg8ejkmcpqxot1uwisza345h769\",bitsPerChar:5});var Rs=Object.freeze({__proto__:null,base32:ys,base32upper:ms,base32pad:bs,base32padupper:fs,base32hex:Es,base32hexupper:ws,base32hexpad:vs,base32hexpadupper:Is,base32z:Cs});const _s=B({prefix:\"k\",name:\"base36\",alphabet:\"0123456789abcdefghijklmnopqrstuvwxyz\"}),Ts=B({prefix:\"K\",name:\"base36upper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\"});var Ss=Object.freeze({__proto__:null,base36:_s,base36upper:Ts});const Ps=B({name:\"base58btc\",prefix:\"z\",alphabet:\"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\"}),xs=B({name:\"base58flickr\",prefix:\"Z\",alphabet:\"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ\"});var Os=Object.freeze({__proto__:null,base58btc:Ps,base58flickr:xs});const As=g({prefix:\"m\",name:\"base64\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",bitsPerChar:6}),zs=g({prefix:\"M\",name:\"base64pad\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",bitsPerChar:6}),Ns=g({prefix:\"u\",name:\"base64url\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_\",bitsPerChar:6}),Us=g({prefix:\"U\",name:\"base64urlpad\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=\",bitsPerChar:6});var Ls=Object.freeze({__proto__:null,base64:As,base64pad:zs,base64url:Ns,base64urlpad:Us});const Le=Array.from(\"\\u{1F680}\\u{1FA90}\\u2604\\u{1F6F0}\\u{1F30C}\\u{1F311}\\u{1F312}\\u{1F313}\\u{1F314}\\u{1F315}\\u{1F316}\\u{1F317}\\u{1F318}\\u{1F30D}\\u{1F30F}\\u{1F30E}\\u{1F409}\\u2600\\u{1F4BB}\\u{1F5A5}\\u{1F4BE}\\u{1F4BF}\\u{1F602}\\u2764\\u{1F60D}\\u{1F923}\\u{1F60A}\\u{1F64F}\\u{1F495}\\u{1F62D}\\u{1F618}\\u{1F44D}\\u{1F605}\\u{1F44F}\\u{1F601}\\u{1F525}\\u{1F970}\\u{1F494}\\u{1F496}\\u{1F499}\\u{1F622}\\u{1F914}\\u{1F606}\\u{1F644}\\u{1F4AA}\\u{1F609}\\u263A\\u{1F44C}\\u{1F917}\\u{1F49C}\\u{1F614}\\u{1F60E}\\u{1F607}\\u{1F339}\\u{1F926}\\u{1F389}\\u{1F49E}\\u270C\\u2728\\u{1F937}\\u{1F631}\\u{1F60C}\\u{1F338}\\u{1F64C}\\u{1F60B}\\u{1F497}\\u{1F49A}\\u{1F60F}\\u{1F49B}\\u{1F642}\\u{1F493}\\u{1F929}\\u{1F604}\\u{1F600}\\u{1F5A4}\\u{1F603}\\u{1F4AF}\\u{1F648}\\u{1F447}\\u{1F3B6}\\u{1F612}\\u{1F92D}\\u2763\\u{1F61C}\\u{1F48B}\\u{1F440}\\u{1F62A}\\u{1F611}\\u{1F4A5}\\u{1F64B}\\u{1F61E}\\u{1F629}\\u{1F621}\\u{1F92A}\\u{1F44A}\\u{1F973}\\u{1F625}\\u{1F924}\\u{1F449}\\u{1F483}\\u{1F633}\\u270B\\u{1F61A}\\u{1F61D}\\u{1F634}\\u{1F31F}\\u{1F62C}\\u{1F643}\\u{1F340}\\u{1F337}\\u{1F63B}\\u{1F613}\\u2B50\\u2705\\u{1F97A}\\u{1F308}\\u{1F608}\\u{1F918}\\u{1F4A6}\\u2714\\u{1F623}\\u{1F3C3}\\u{1F490}\\u2639\\u{1F38A}\\u{1F498}\\u{1F620}\\u261D\\u{1F615}\\u{1F33A}\\u{1F382}\\u{1F33B}\\u{1F610}\\u{1F595}\\u{1F49D}\\u{1F64A}\\u{1F639}\\u{1F5E3}\\u{1F4AB}\\u{1F480}\\u{1F451}\\u{1F3B5}\\u{1F91E}\\u{1F61B}\\u{1F534}\\u{1F624}\\u{1F33C}\\u{1F62B}\\u26BD\\u{1F919}\\u2615\\u{1F3C6}\\u{1F92B}\\u{1F448}\\u{1F62E}\\u{1F646}\\u{1F37B}\\u{1F343}\\u{1F436}\\u{1F481}\\u{1F632}\\u{1F33F}\\u{1F9E1}\\u{1F381}\\u26A1\\u{1F31E}\\u{1F388}\\u274C\\u270A\\u{1F44B}\\u{1F630}\\u{1F928}\\u{1F636}\\u{1F91D}\\u{1F6B6}\\u{1F4B0}\\u{1F353}\\u{1F4A2}\\u{1F91F}\\u{1F641}\\u{1F6A8}\\u{1F4A8}\\u{1F92C}\\u2708\\u{1F380}\\u{1F37A}\\u{1F913}\\u{1F619}\\u{1F49F}\\u{1F331}\\u{1F616}\\u{1F476}\\u{1F974}\\u25B6\\u27A1\\u2753\\u{1F48E}\\u{1F4B8}\\u2B07\\u{1F628}\\u{1F31A}\\u{1F98B}\\u{1F637}\\u{1F57A}\\u26A0\\u{1F645}\\u{1F61F}\\u{1F635}\\u{1F44E}\\u{1F932}\\u{1F920}\\u{1F927}\\u{1F4CC}\\u{1F535}\\u{1F485}\\u{1F9D0}\\u{1F43E}\\u{1F352}\\u{1F617}\\u{1F911}\\u{1F30A}\\u{1F92F}\\u{1F437}\\u260E\\u{1F4A7}\\u{1F62F}\\u{1F486}\\u{1F446}\\u{1F3A4}\\u{1F647}\\u{1F351}\\u2744\\u{1F334}\\u{1F4A3}\\u{1F438}\\u{1F48C}\\u{1F4CD}\\u{1F940}\\u{1F922}\\u{1F445}\\u{1F4A1}\\u{1F4A9}\\u{1F450}\\u{1F4F8}\\u{1F47B}\\u{1F910}\\u{1F92E}\\u{1F3BC}\\u{1F975}\\u{1F6A9}\\u{1F34E}\\u{1F34A}\\u{1F47C}\\u{1F48D}\\u{1F4E3}\\u{1F942}\"),$s=Le.reduce((n,e,t)=>(n[t]=e,n),[]),Fs=Le.reduce((n,e,t)=>(n[e.codePointAt(0)]=t,n),[]);function Ms(n){return n.reduce((e,t)=>(e+=$s[t],e),\"\")}function ks(n){const e=[];for(const t of n){const i=Fs[t.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}const Ks=W({prefix:\"\\u{1F680}\",name:\"base256emoji\",encode:Ms,decode:ks});var Bs=Object.freeze({__proto__:null,base256emoji:Ks}),Vs=Fe,$e=128,qs=127,js=~qs,Gs=Math.pow(2,31);function Fe(n,e,t){e=e||[],t=t||0;for(var i=t;n>=Gs;)e[t++]=n&255|$e,n/=128;for(;n&js;)e[t++]=n&255|$e,n>>>=7;return e[t]=n|0,Fe.bytes=t-i+1,e}var Ys=he,Hs=128,Me=127;function he(n,i){var t=0,i=i||0,s=0,r=i,o,a=n.length;do{if(r>=a)throw he.bytes=0,new RangeError(\"Could not decode varint\");o=n[r++],t+=s<28?(o&Me)<=Hs);return he.bytes=r-i,t}var Js=Math.pow(2,7),Xs=Math.pow(2,14),Ws=Math.pow(2,21),Qs=Math.pow(2,28),Zs=Math.pow(2,35),er=Math.pow(2,42),tr=Math.pow(2,49),ir=Math.pow(2,56),sr=Math.pow(2,63),rr=function(n){return n(ke.encode(n,e,t),e),Be=n=>ke.encodingLength(n),ce=(n,e)=>{const t=e.byteLength,i=Be(n),s=i+Be(t),r=new Uint8Array(s+t);return Ke(n,r,0),Ke(t,r,i),r.set(e,s),new or(n,t,e,r)};class or{constructor(e,t,i,s){this.code=e,this.size=t,this.digest=i,this.bytes=s}}const Ve=({name:n,code:e,encode:t})=>new ar(n,e,t);class ar{constructor(e,t,i){this.name=e,this.code=t,this.encode=i}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?ce(this.code,t):t.then(i=>ce(this.code,i))}else throw Error(\"Unknown type, must be binary type\")}}const qe=n=>async e=>new Uint8Array(await crypto.subtle.digest(n,e)),hr=Ve({name:\"sha2-256\",code:18,encode:qe(\"SHA-256\")}),cr=Ve({name:\"sha2-512\",code:19,encode:qe(\"SHA-512\")});var ur=Object.freeze({__proto__:null,sha256:hr,sha512:cr});const je=0,lr=\"identity\",Ge=Ne,dr=n=>ce(je,Ge(n)),gr={code:je,name:lr,encode:Ge,digest:dr};var pr=Object.freeze({__proto__:null,identity:gr});new TextEncoder,new TextDecoder;const Ye={...os,...hs,...us,...ds,...Ds,...Rs,...Ss,...Os,...Ls,...Bs};({...ur,...pr});function He(n){return globalThis.Buffer!=null?new Uint8Array(n.buffer,n.byteOffset,n.byteLength):n}function Dr(n=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?He(globalThis.Buffer.allocUnsafe(n)):new Uint8Array(n)}function Je(n,e,t,i){return{name:n,prefix:e,encoder:{name:n,prefix:e,encode:t},decoder:{decode:i}}}const Xe=Je(\"utf8\",\"u\",n=>\"u\"+new TextDecoder(\"utf8\").decode(n),n=>new TextEncoder().encode(n.substring(1))),ue=Je(\"ascii\",\"a\",n=>{let e=\"a\";for(let t=0;t{n=n.substring(1);const e=Dr(n.length);for(let t=0;t{if(!this.initialized){const i=await this.getKeyChain();typeof i<\"u\"&&(this.keychain=i),this.initialized=!0}},this.has=i=>(this.isInitialized(),this.keychain.has(i)),this.set=async(i,s)=>{this.isInitialized(),this.keychain.set(i,s),await this.persist()},this.get=i=>{this.isInitialized();const s=this.keychain.get(i);if(typeof s>\"u\"){const{message:r}=c(\"NO_MATCHING_KEY\",`${this.name}: ${i}`);throw new Error(r)}return s},this.del=async i=>{this.isInitialized(),this.keychain.delete(i),await this.persist()},this.core=e,this.logger=b(t,this.name)}get context(){return E(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,be(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<\"u\"?fe(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class xt{constructor(e,t,i){this.core=e,this.logger=t,this.name=et,this.initialized=!1,this.init=async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)},this.hasKeys=s=>(this.isInitialized(),this.keychain.has(s)),this.getClientId=async()=>{this.isInitialized();const s=await this.getClientSeed(),r=Y.generateKeyPair(s);return Y.encodeIss(r.publicKey)},this.generateKeyPair=()=>{this.isInitialized();const s=li();return this.setPrivateKey(s.publicKey,s.privateKey)},this.signJWT=async s=>{this.isInitialized();const r=await this.getClientSeed(),o=Y.generateKeyPair(r),a=ie(),h=tt;return await Y.signJWT(a,s,h,o)},this.generateSharedKey=(s,r,o)=>{this.isInitialized();const a=this.getPrivateKey(s),h=di(a,r);return this.setSymKey(h,o)},this.setSymKey=async(s,r)=>{this.isInitialized();const o=r||gi(s);return await this.keychain.set(o,s),o},this.deleteKeyPair=async s=>{this.isInitialized(),await this.keychain.del(s)},this.deleteSymKey=async s=>{this.isInitialized(),await this.keychain.del(s)},this.encode=async(s,r,o)=>{this.isInitialized();const a=pi(o),h=ci(r);if(Ee(a)){const y=a.senderPublicKey,M=a.receiverPublicKey;s=await this.generateSharedKey(y,M)}const l=this.getSymKey(s),{type:d,senderPublicKey:p}=a;return Di({type:d,symKey:l,message:h,senderPublicKey:p})},this.decode=async(s,r,o)=>{this.isInitialized();const a=yi(r,o);if(Ee(a)){const h=a.receiverPublicKey,l=a.senderPublicKey;s=await this.generateSharedKey(h,l)}try{const h=this.getSymKey(s),l=mi({symKey:h,encoded:r});return ui(l)}catch(h){this.logger.error(`Failed to decode message from topic: '${s}', clientId: '${await this.getClientId()}'`),this.logger.error(h)}},this.getPayloadType=s=>{const r=we(s);return bi(r.type)},this.getPayloadSenderPublicKey=s=>{const r=we(s);return r.senderPublicKey?$i(r.senderPublicKey,fi):void 0},this.core=e,this.logger=b(t,this.name),this.keychain=i||new Pt(this.core,this.logger)}get context(){return E(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(de)}catch{e=ie(),await this.keychain.set(de,e)}return mr(e,\"base16\")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class Ot extends Zt{constructor(e,t){super(e,t),this.logger=e,this.core=t,this.messages=new Map,this.name=rt,this.version=nt,this.initialized=!1,this.storagePrefix=O,this.init=async()=>{if(!this.initialized){this.logger.trace(\"Initialized\");try{const i=await this.getRelayerMessages();typeof i<\"u\"&&(this.messages=i),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",size:this.messages.size})}catch(i){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(i)}finally{this.initialized=!0}}},this.set=async(i,s)=>{this.isInitialized();const r=se(s);let o=this.messages.get(i);return typeof o>\"u\"&&(o={}),typeof o[r]<\"u\"||(o[r]=s,this.messages.set(i,o),await this.persist()),r},this.get=i=>{this.isInitialized();let s=this.messages.get(i);return typeof s>\"u\"&&(s={}),s},this.has=(i,s)=>{this.isInitialized();const r=this.get(i),o=se(s);return typeof r[o]<\"u\"},this.del=async i=>{this.isInitialized(),this.messages.delete(i),await this.persist()},this.logger=b(e,this.name),this.core=t}get context(){return E(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,be(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<\"u\"?fe(e):void 0}async persist(){await this.setRelayerMessages(this.messages)}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class vr extends ei{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.events=new U,this.name=at,this.queue=new Map,this.publishTimeout=N(Mi*2),this.needsTransportRestart=!1,this.publish=async(i,s,r)=>{var o;this.logger.debug(\"Publishing Payload\"),this.logger.trace({type:\"method\",method:\"publish\",params:{topic:i,message:s,opts:r}});try{const a=r?.ttl||ot,h=re(r),l=r?.prompt||!1,d=r?.tag||0,p=r?.id||Bi().toString(),y={topic:i,message:s,opts:{ttl:a,relay:h,prompt:l,tag:d,id:p}},M=setTimeout(()=>this.queue.set(p,y),this.publishTimeout);try{await await k(this.rpcPublish(i,s,a,h,l,d,p),this.publishTimeout,`Failed to publish payload, please try again. id:${p} tag:${d}`),this.removeRequestFromQueue(p),this.relayer.events.emit(D.publish,y)}catch(u){if(this.logger.debug(\"Publishing Payload stalled\"),this.needsTransportRestart=!0,(o=r?.internal)!=null&&o.throwOnFailedPublish)throw this.removeRequestFromQueue(p),u;return}finally{clearTimeout(M)}this.logger.debug(\"Successfully Published Payload\"),this.logger.trace({type:\"method\",method:\"publish\",params:{topic:i,message:s,opts:r}})}catch(a){throw this.logger.debug(\"Failed to Publish Payload\"),this.logger.error(a),a}},this.on=(i,s)=>{this.events.on(i,s)},this.once=(i,s)=>{this.events.once(i,s)},this.off=(i,s)=>{this.events.off(i,s)},this.removeListener=(i,s)=>{this.events.removeListener(i,s)},this.relayer=e,this.logger=b(t,this.name),this.registerEventListeners()}get context(){return E(this.logger)}rpcPublish(e,t,i,s,r,o,a){var h,l,d,p;const y={method:H(s.protocol).publish,params:{topic:e,message:t,ttl:i,prompt:r,tag:o},id:a};return ne((h=y.params)==null?void 0:h.prompt)&&((l=y.params)==null||delete l.prompt),ne((d=y.params)==null?void 0:d.tag)&&((p=y.params)==null||delete p.tag),this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"message\",direction:\"outgoing\",request:y}),this.relayer.request(y)}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async e=>{const{topic:t,message:i,opts:s}=e;await this.publish(t,i,s)})}registerEventListeners(){this.relayer.core.heartbeat.on(G.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(D.connection_stalled);return}this.checkQueue()}),this.relayer.on(D.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}class Ir{constructor(){this.map=new Map,this.set=(e,t)=>{const i=this.get(e);this.exists(e,t)||this.map.set(e,[...i,t])},this.get=e=>this.map.get(e)||[],this.exists=(e,t)=>this.get(e).includes(t),this.delete=(e,t)=>{if(typeof t>\"u\"){this.map.delete(e);return}if(!this.map.has(e))return;const i=this.get(e);if(!this.exists(e,t))return;const s=i.filter(r=>r!==t);if(!s.length){this.map.delete(e);return}this.map.set(e,s)},this.clear=()=>{this.map.clear()}}get topics(){return Array.from(this.map.keys())}}var Cr=Object.defineProperty,Rr=Object.defineProperties,_r=Object.getOwnPropertyDescriptors,At=Object.getOwnPropertySymbols,Tr=Object.prototype.hasOwnProperty,Sr=Object.prototype.propertyIsEnumerable,zt=(n,e,t)=>e in n?Cr(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,q=(n,e)=>{for(var t in e||(e={}))Tr.call(e,t)&&zt(n,t,e[t]);if(At)for(var t of At(e))Sr.call(e,t)&&zt(n,t,e[t]);return n},De=(n,e)=>Rr(n,_r(e));class Nt extends ti{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.subscriptions=new Map,this.topicMap=new Ir,this.events=new U,this.name=mt,this.version=bt,this.pending=new Map,this.cached=[],this.initialized=!1,this.pendingSubscriptionWatchLabel=\"pending_sub_watch_label\",this.pollingInterval=20,this.storagePrefix=O,this.subscribeTimeout=1e4,this.restartInProgress=!1,this.batchSubscribeTopicsLimit=500,this.init=async()=>{this.initialized||(this.logger.trace(\"Initialized\"),this.registerEventListeners(),this.clientId=await this.relayer.core.crypto.getClientId())},this.subscribe=async(i,s)=>{await this.restartToComplete(),this.isInitialized(),this.logger.debug(\"Subscribing Topic\"),this.logger.trace({type:\"method\",method:\"subscribe\",params:{topic:i,opts:s}});try{const r=re(s),o={topic:i,relay:r};this.pending.set(i,o);const a=await this.rpcSubscribe(i,r);return this.onSubscribe(a,o),this.logger.debug(\"Successfully Subscribed Topic\"),this.logger.trace({type:\"method\",method:\"subscribe\",params:{topic:i,opts:s}}),a}catch(r){throw this.logger.debug(\"Failed to Subscribe Topic\"),this.logger.error(r),r}},this.unsubscribe=async(i,s)=>{await this.restartToComplete(),this.isInitialized(),typeof s?.id<\"u\"?await this.unsubscribeById(i,s.id,s):await this.unsubscribeByTopic(i,s)},this.isSubscribed=async i=>{if(this.topics.includes(i))return!0;const s=`${this.pendingSubscriptionWatchLabel}_${i}`;return await new Promise((r,o)=>{const a=new ki;a.start(s);const h=setInterval(()=>{!this.pending.has(i)&&this.topics.includes(i)&&(clearInterval(h),a.stop(s),r(!0)),a.elapsed(s)>=ft&&(clearInterval(h),a.stop(s),o(new Error(\"Subscription resolution timeout\")))},this.pollingInterval)}).catch(()=>!1)},this.on=(i,s)=>{this.events.on(i,s)},this.once=(i,s)=>{this.events.once(i,s)},this.off=(i,s)=>{this.events.off(i,s)},this.removeListener=(i,s)=>{this.events.removeListener(i,s)},this.restart=async()=>{this.restartInProgress=!0,await this.restore(),await this.reset(),this.restartInProgress=!1},this.relayer=e,this.logger=b(t,this.name),this.clientId=\"\"}get context(){return E(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.relayer.core.customStoragePrefix+\"//\"+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}hasSubscription(e,t){let i=!1;try{i=this.getSubscription(e).topic===t}catch{}return i}onEnable(){this.cached=[],this.initialized=!0}onDisable(){this.cached=this.values,this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){const i=this.topicMap.get(e);await Promise.all(i.map(async s=>await this.unsubscribeById(e,s,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{const s=re(i);await this.rpcUnsubscribe(e,t,s);const r=K(\"USER_DISCONNECTED\",`${this.name}, ${e}`);await this.onUnsubscribe(e,t,r),this.logger.debug(\"Successfully Unsubscribed Topic\"),this.logger.trace({type:\"method\",method:\"unsubscribe\",params:{topic:e,id:t,opts:i}})}catch(s){throw this.logger.debug(\"Failed to Unsubscribe Topic\"),this.logger.error(s),s}}async rpcSubscribe(e,t){const i={method:H(t.protocol).subscribe,params:{topic:e}};this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:i});try{await await k(this.relayer.request(i),this.subscribeTimeout)}catch{this.logger.debug(\"Outgoing Relay Subscribe Payload stalled\"),this.relayer.events.emit(D.connection_stalled)}return se(e+this.clientId)}async rpcBatchSubscribe(e){if(!e.length)return;const t=e[0].relay,i={method:H(t.protocol).batchSubscribe,params:{topics:e.map(s=>s.topic)}};this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:i});try{return await await k(this.relayer.request(i),this.subscribeTimeout)}catch{this.logger.debug(\"Outgoing Relay Payload stalled\"),this.relayer.events.emit(D.connection_stalled)}}rpcUnsubscribe(e,t,i){const s={method:H(i.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:s}),this.relayer.request(s)}onSubscribe(e,t){this.setSubscription(e,De(q({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(t=>{this.setSubscription(t.id,q({},t)),this.pending.delete(t.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.subscriptions.has(e)||(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,q({},t)),this.topicMap.set(t.topic,e),this.events.emit(w.created,t)}getSubscription(e){this.logger.debug(\"Getting subscription\"),this.logger.trace({type:\"method\",method:\"getSubscription\",id:e});const t=this.subscriptions.get(e);if(!t){const{message:i}=c(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw new Error(i)}return t}deleteSubscription(e,t){this.logger.debug(\"Deleting subscription\"),this.logger.trace({type:\"method\",method:\"deleteSubscription\",id:e,reason:t});const i=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(i.topic,e),this.events.emit(w.deleted,De(q({},i),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(w.sync)}async reset(){if(this.cached.length){const e=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let t=0;t\"u\"||!e.length)return;if(this.subscriptions.size){const{message:t}=c(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(t)}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){if(!e.length)return;const t=await this.rpcBatchSubscribe(e);Ei(t)&&this.onBatchSubscribe(t.map((i,s)=>De(q({},e[s]),{id:i})))}async onConnect(){this.restartInProgress||(await this.restart(),this.onEnable())}onDisconnect(){this.onDisable()}async checkPending(){if(!this.initialized||this.relayer.transportExplicitlyClosed)return;const e=[];this.pending.forEach(t=>{e.push(t)}),await this.batchSubscribe(e)}registerEventListeners(){this.relayer.core.heartbeat.on(G.pulse,async()=>{await this.checkPending()}),this.relayer.on(D.connect,async()=>{await this.onConnect()}),this.relayer.on(D.disconnect,()=>{this.onDisconnect()}),this.events.on(w.created,async e=>{const t=w.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),await this.persist()}),this.events.on(w.deleted,async e=>{const t=w.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),await this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}async restartToComplete(){this.restartInProgress&&await new Promise(e=>{const t=setInterval(()=>{this.restartInProgress||(clearInterval(t),e())},this.pollingInterval)})}}var Pr=Object.defineProperty,Ut=Object.getOwnPropertySymbols,xr=Object.prototype.hasOwnProperty,Or=Object.prototype.propertyIsEnumerable,Lt=(n,e,t)=>e in n?Pr(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,Ar=(n,e)=>{for(var t in e||(e={}))xr.call(e,t)&&Lt(n,t,e[t]);if(Ut)for(var t of Ut(e))Or.call(e,t)&&Lt(n,t,e[t]);return n};class $t extends ii{constructor(e){super(e),this.protocol=\"wc\",this.version=2,this.events=new U,this.name=ut,this.transportExplicitlyClosed=!1,this.initialized=!1,this.connectionAttemptInProgress=!1,this.connectionStatusPollingInterval=20,this.staleConnectionErrors=[\"socket hang up\",\"socket stalled\"],this.hasExperiencedNetworkDisruption=!1,this.requestsInFlight=new Map,this.request=async t=>{this.logger.debug(\"Publishing Request Payload\");const i=t.id,s=this.provider.request(t);this.requestsInFlight.set(i,{promise:s,request:t});try{return await this.toEstablishConnection(),await s}catch(r){throw this.logger.debug(\"Failed to Publish Request\"),this.logger.error(r),r}finally{this.requestsInFlight.delete(i)}},this.onPayloadHandler=t=>{this.onProviderPayload(t)},this.onConnectHandler=()=>{this.events.emit(D.connect)},this.onDisconnectHandler=()=>{this.onProviderDisconnect()},this.onProviderErrorHandler=t=>{this.logger.error(t),this.events.emit(D.error,t),this.logger.info(\"Fatal socket error received, closing transport\"),this.transportClose()},this.registerProviderListeners=()=>{this.provider.on(P.payload,this.onPayloadHandler),this.provider.on(P.connect,this.onConnectHandler),this.provider.on(P.disconnect,this.onDisconnectHandler),this.provider.on(P.error,this.onProviderErrorHandler)},this.core=e.core,this.logger=typeof e.logger<\"u\"&&typeof e.logger!=\"string\"?b(e.logger,this.name):ye(me({level:e.logger||ct})),this.messages=new Ot(this.logger,e.core),this.subscriber=new Nt(this,this.logger),this.publisher=new vr(this,this.logger),this.relayUrl=e?.relayUrl||ge,this.projectId=e.projectId,this.bundleId=wi(),this.provider={}}async init(){this.logger.trace(\"Initialized\"),this.registerEventListeners(),await this.createProvider(),await Promise.all([this.messages.init(),this.subscriber.init()]);try{await this.transportOpen()}catch{this.logger.warn(`Connection via ${this.relayUrl} failed, attempting to connect via failover domain ${pe}...`),await this.restartTransport(pe)}this.initialized=!0,setTimeout(async()=>{this.subscriber.topics.length===0&&(this.logger.info(\"No topics subscribed to after init, closing transport\"),await this.transportClose(),this.transportExplicitlyClosed=!1)},pt)}get context(){return E(this.logger)}get connected(){return this.provider.connection.connected}get connecting(){return this.provider.connection.connecting}async publish(e,t,i){this.isInitialized(),await this.publisher.publish(e,t,i),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now()})}async subscribe(e,t){var i;this.isInitialized();let s=((i=this.subscriber.topicMap.get(e))==null?void 0:i[0])||\"\";if(s)return s;let r;const o=a=>{a.topic===e&&(this.subscriber.off(w.created,o),r())};return await Promise.all([new Promise(a=>{r=a,this.subscriber.on(w.created,o)}),new Promise(async a=>{s=await this.subscriber.subscribe(e,t),a()})]),s}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 transportClose(){this.requestsInFlight.size>0&&(this.logger.debug(\"Waiting for all in-flight requests to finish before closing transport...\"),this.requestsInFlight.forEach(async e=>{await e.promise})),this.transportExplicitlyClosed=!0,this.hasExperiencedNetworkDisruption&&this.connected?await k(this.provider.disconnect(),1e3,\"provider.disconnect()\").catch(()=>this.onProviderDisconnect()):this.connected&&await this.provider.disconnect()}async transportOpen(e){if(this.transportExplicitlyClosed=!1,await this.confirmOnlineStateOrThrow(),!this.connectionAttemptInProgress){e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportClose(),await this.createProvider()),this.connectionAttemptInProgress=!0;try{await Promise.all([new Promise(t=>{if(!this.initialized)return t();this.subscriber.once(w.resubscribed,()=>{t()})}),new Promise(async(t,i)=>{try{await k(this.provider.connect(),1e4,`Socket stalled when trying to connect to ${this.relayUrl}`)}catch(s){i(s);return}t()})])}catch(t){this.logger.error(t);const i=t;if(!this.isConnectionStalled(i.message))throw t;this.provider.events.emit(P.disconnect)}finally{this.connectionAttemptInProgress=!1,this.hasExperiencedNetworkDisruption=!1}}}async restartTransport(e){await this.confirmOnlineStateOrThrow(),!this.connectionAttemptInProgress&&(this.relayUrl=e||this.relayUrl,await this.transportClose(),await this.createProvider(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await ve())throw new Error(\"No internet connection detected. Please restart your network and try again.\")}isConnectionStalled(e){return this.staleConnectionErrors.some(t=>e.includes(t))}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new Ki(new ji(vi({sdkVersion:gt,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId}))),this.registerProviderListeners()}async recordMessageEvent(e){const{topic:t,message:i}=e;await this.messages.set(t,i)}async shouldIgnoreMessageEvent(e){const{topic:t,message:i}=e;if(!i||i.length===0)return this.logger.debug(`Ignoring invalid/empty message: ${i}`),!0;if(!await this.subscriber.isSubscribed(t))return this.logger.debug(`Ignoring message for non-subscribed topic ${t}`),!0;const s=this.messages.has(t,i);return s&&this.logger.debug(`Ignoring duplicate message: ${i}`),s}async onProviderPayload(e){if(this.logger.debug(\"Incoming Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"incoming\",payload:e}),Pe(e)){if(!e.method.endsWith(lt))return;const t=e.params,{topic:i,message:s,publishedAt:r}=t.data,o={topic:i,message:s,publishedAt:r};this.logger.debug(\"Emitting Relayer Payload\"),this.logger.trace(Ar({type:\"event\",event:t.id},o)),this.events.emit(t.id,o),await this.acknowledgePayload(e),await this.onMessageEvent(o)}else xe(e)&&this.events.emit(D.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(this.events.emit(D.message,e),await this.recordMessageEvent(e))}async acknowledgePayload(e){const t=Oe(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(P.payload,this.onPayloadHandler),this.provider.off(P.connect,this.onConnectHandler),this.provider.off(P.disconnect,this.onDisconnectHandler),this.provider.off(P.error,this.onProviderErrorHandler)}async registerEventListeners(){this.events.on(D.connection_stalled,()=>{this.restartTransport().catch(t=>this.logger.error(t))});let e=await ve();Ii(async t=>{this.initialized&&e!==t&&(e=t,t?await this.restartTransport().catch(i=>this.logger.error(i)):(this.hasExperiencedNetworkDisruption=!0,await this.transportClose().catch(i=>this.logger.error(i))))})}onProviderDisconnect(){this.events.emit(D.disconnect),this.attemptToReconnect()}attemptToReconnect(){this.transportExplicitlyClosed||(this.logger.info(\"attemptToReconnect called. Connecting...\"),setTimeout(async()=>{await this.restartTransport().catch(e=>this.logger.error(e))},N(dt)))}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}async toEstablishConnection(){if(await this.confirmOnlineStateOrThrow(),!this.connected){if(this.connectionAttemptInProgress)return await new Promise(e=>{const t=setInterval(()=>{this.connected&&(clearInterval(t),e())},this.connectionStatusPollingInterval)});await this.restartTransport()}}}var zr=Object.defineProperty,Ft=Object.getOwnPropertySymbols,Nr=Object.prototype.hasOwnProperty,Ur=Object.prototype.propertyIsEnumerable,Mt=(n,e,t)=>e in n?zr(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,kt=(n,e)=>{for(var t in e||(e={}))Nr.call(e,t)&&Mt(n,t,e[t]);if(Ft)for(var t of Ft(e))Ur.call(e,t)&&Mt(n,t,e[t]);return n};class Kt extends si{constructor(e,t,i,s=O,r=void 0){super(e,t,i,s),this.core=e,this.logger=t,this.name=i,this.map=new Map,this.version=Dt,this.cached=[],this.initialized=!1,this.storagePrefix=O,this.init=async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(o=>{this.getKey&&o!==null&&!ne(o)?this.map.set(this.getKey(o),o):Ci(o)?this.map.set(o.id,o):Ri(o)&&this.map.set(o.topic,o)}),this.cached=[],this.initialized=!0)},this.set=async(o,a)=>{this.isInitialized(),this.map.has(o)?await this.update(o,a):(this.logger.debug(\"Setting value\"),this.logger.trace({type:\"method\",method:\"set\",key:o,value:a}),this.map.set(o,a),await this.persist())},this.get=o=>(this.isInitialized(),this.logger.debug(\"Getting value\"),this.logger.trace({type:\"method\",method:\"get\",key:o}),this.getData(o)),this.getAll=o=>(this.isInitialized(),o?this.values.filter(a=>Object.keys(o).every(h=>Gi(a[h],o[h]))):this.values),this.update=async(o,a)=>{this.isInitialized(),this.logger.debug(\"Updating value\"),this.logger.trace({type:\"method\",method:\"update\",key:o,update:a});const h=kt(kt({},this.getData(o)),a);this.map.set(o,h),await this.persist()},this.delete=async(o,a)=>{this.isInitialized(),this.map.has(o)&&(this.logger.debug(\"Deleting value\"),this.logger.trace({type:\"method\",method:\"delete\",key:o,reason:a}),this.map.delete(o),await this.persist())},this.logger=b(t,this.name),this.storagePrefix=s,this.getKey=r}get context(){return E(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){const t=this.map.get(e);if(!t){const{message:i}=c(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{const e=await this.getDataStore();if(typeof e>\"u\"||!e.length)return;if(this.map.size){const{message:t}=c(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}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){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class Bt{constructor(e,t){this.core=e,this.logger=t,this.name=Et,this.version=wt,this.events=new Xt,this.initialized=!1,this.storagePrefix=O,this.ignoredPayloadTypes=[_i],this.registeredMethods=[],this.init=async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace(\"Initialized\"))},this.register=({methods:i})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...i])]},this.create=async()=>{this.isInitialized();const i=ie(),s=await this.core.crypto.setSymKey(i),r=J(Se),o={protocol:ht},a={topic:s,expiry:r,relay:o,active:!1},h=Ti({protocol:this.core.protocol,version:this.core.version,topic:s,symKey:i,relay:o,expiryTimestamp:r});return await this.pairings.set(s,a),await this.core.relayer.subscribe(s),this.core.expirer.set(s,r),{topic:s,uri:h}},this.pair=async i=>{this.isInitialized(),this.isValidPair(i);const{topic:s,symKey:r,relay:o,expiryTimestamp:a}=Ie(i.uri);let h;if(this.pairings.keys.includes(s)&&(h=this.pairings.get(s),h.active))throw new Error(`Pairing already exists: ${s}. Please try again with a new connection URI.`);const l=a||J(Se),d={topic:s,relay:o,expiry:l,active:!1};return await this.pairings.set(s,d),this.core.expirer.set(s,l),i.activatePairing&&await this.activate({topic:s}),this.events.emit(V.create,d),this.core.crypto.keychain.has(s)||(await this.core.crypto.setSymKey(r,s),await this.core.relayer.subscribe(s,{relay:o})),d},this.activate=async({topic:i})=>{this.isInitialized();const s=J(X);await this.pairings.update(i,{active:!0,expiry:s}),this.core.expirer.set(i,s)},this.ping=async i=>{this.isInitialized(),await this.isValidPing(i);const{topic:s}=i;if(this.pairings.keys.includes(s)){const r=await this.sendRequest(s,\"wc_pairingPing\",{}),{done:o,resolve:a,reject:h}=Si();this.events.once(oe(\"pairing_ping\",r),({error:l})=>{l?h(l):a()}),await o()}},this.updateExpiry=async({topic:i,expiry:s})=>{this.isInitialized(),await this.pairings.update(i,{expiry:s})},this.updateMetadata=async({topic:i,metadata:s})=>{this.isInitialized(),await this.pairings.update(i,{peerMetadata:s})},this.getPairings=()=>(this.isInitialized(),this.pairings.values),this.disconnect=async i=>{this.isInitialized(),await this.isValidDisconnect(i);const{topic:s}=i;this.pairings.keys.includes(s)&&(await this.sendRequest(s,\"wc_pairingDelete\",K(\"USER_DISCONNECTED\")),await this.deletePairing(s))},this.sendRequest=async(i,s,r)=>{const o=Ae(s,r),a=await this.core.crypto.encode(i,o),h=$[s].req;return this.core.history.set(i,o),this.core.relayer.publish(i,a,h),o.id},this.sendResult=async(i,s,r)=>{const o=Oe(i,r),a=await this.core.crypto.encode(s,o),h=await this.core.history.get(s,i),l=$[h.request.method].res;await this.core.relayer.publish(s,a,l),await this.core.history.resolve(o)},this.sendError=async(i,s,r)=>{const o=Vi(i,r),a=await this.core.crypto.encode(s,o),h=await this.core.history.get(s,i),l=$[h.request.method]?$[h.request.method].res:$.unregistered_method.res;await this.core.relayer.publish(s,a,l),await this.core.history.resolve(o)},this.deletePairing=async(i,s)=>{await this.core.relayer.unsubscribe(i),await Promise.all([this.pairings.delete(i,K(\"USER_DISCONNECTED\")),this.core.crypto.deleteSymKey(i),s?Promise.resolve():this.core.expirer.del(i)])},this.cleanup=async()=>{const i=this.pairings.getAll().filter(s=>Ce(s.expiry));await Promise.all(i.map(s=>this.deletePairing(s.topic)))},this.onRelayEventRequest=i=>{const{topic:s,payload:r}=i;switch(r.method){case\"wc_pairingPing\":return this.onPairingPingRequest(s,r);case\"wc_pairingDelete\":return this.onPairingDeleteRequest(s,r);default:return this.onUnknownRpcMethodRequest(s,r)}},this.onRelayEventResponse=async i=>{const{topic:s,payload:r}=i,o=(await this.core.history.get(s,r.id)).request.method;switch(o){case\"wc_pairingPing\":return this.onPairingPingResponse(s,r);default:return this.onUnknownRpcMethodResponse(o)}},this.onPairingPingRequest=async(i,s)=>{const{id:r}=s;try{this.isValidPing({topic:i}),await this.sendResult(r,i,!0),this.events.emit(V.ping,{id:r,topic:i})}catch(o){await this.sendError(r,i,o),this.logger.error(o)}},this.onPairingPingResponse=(i,s)=>{const{id:r}=s;setTimeout(()=>{qi(s)?this.events.emit(oe(\"pairing_ping\",r),{}):ze(s)&&this.events.emit(oe(\"pairing_ping\",r),{error:s.error})},500)},this.onPairingDeleteRequest=async(i,s)=>{const{id:r}=s;try{this.isValidDisconnect({topic:i}),await this.deletePairing(i),this.events.emit(V.delete,{id:r,topic:i})}catch(o){await this.sendError(r,i,o),this.logger.error(o)}},this.onUnknownRpcMethodRequest=async(i,s)=>{const{id:r,method:o}=s;try{if(this.registeredMethods.includes(o))return;const a=K(\"WC_METHOD_UNSUPPORTED\",o);await this.sendError(r,i,a),this.logger.error(a)}catch(a){await this.sendError(r,i,a),this.logger.error(a)}},this.onUnknownRpcMethodResponse=i=>{this.registeredMethods.includes(i)||this.logger.error(K(\"WC_METHOD_UNSUPPORTED\",i))},this.isValidPair=i=>{var s;if(!ae(i)){const{message:o}=c(\"MISSING_OR_INVALID\",`pair() params: ${i}`);throw new Error(o)}if(!Pi(i.uri)){const{message:o}=c(\"MISSING_OR_INVALID\",`pair() uri: ${i.uri}`);throw new Error(o)}const r=Ie(i.uri);if(!((s=r?.relay)!=null&&s.protocol)){const{message:o}=c(\"MISSING_OR_INVALID\",\"pair() uri#relay-protocol\");throw new Error(o)}if(!(r!=null&&r.symKey)){const{message:o}=c(\"MISSING_OR_INVALID\",\"pair() uri#symKey\");throw new Error(o)}if(r!=null&&r.expiryTimestamp&&N(r?.expiryTimestamp){if(!ae(i)){const{message:r}=c(\"MISSING_OR_INVALID\",`ping() params: ${i}`);throw new Error(r)}const{topic:s}=i;await this.isValidPairingTopic(s)},this.isValidDisconnect=async i=>{if(!ae(i)){const{message:r}=c(\"MISSING_OR_INVALID\",`disconnect() params: ${i}`);throw new Error(r)}const{topic:s}=i;await this.isValidPairingTopic(s)},this.isValidPairingTopic=async i=>{if(!xi(i,!1)){const{message:s}=c(\"MISSING_OR_INVALID\",`pairing topic should be a string: ${i}`);throw new Error(s)}if(!this.pairings.keys.includes(i)){const{message:s}=c(\"NO_MATCHING_KEY\",`pairing topic doesn't exist: ${i}`);throw new Error(s)}if(Ce(this.pairings.get(i).expiry)){await this.deletePairing(i);const{message:s}=c(\"EXPIRED\",`pairing topic: ${i}`);throw new Error(s)}},this.core=e,this.logger=b(t,this.name),this.pairings=new Kt(this.core,this.logger,this.name,this.storagePrefix)}get context(){return E(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(D.message,async e=>{const{topic:t,message:i}=e;if(!this.pairings.keys.includes(t)||this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(i)))return;const s=await this.core.crypto.decode(t,i);try{Pe(s)?(this.core.history.set(t,s),this.onRelayEventRequest({topic:t,payload:s})):xe(s)&&(await this.core.history.resolve(s),await this.onRelayEventResponse({topic:t,payload:s}),this.core.history.delete(t,s.id))}catch(r){this.logger.error(r)}})}registerExpirerEvents(){this.core.expirer.on(v.expired,async e=>{const{topic:t}=Oi(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(V.expire,{topic:t}))})}}class Vt extends ri{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.records=new Map,this.events=new U,this.name=vt,this.version=It,this.cached=[],this.initialized=!1,this.storagePrefix=O,this.init=async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(i=>this.records.set(i.id,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.set=(i,s,r)=>{if(this.isInitialized(),this.logger.debug(\"Setting JSON-RPC request history record\"),this.logger.trace({type:\"method\",method:\"set\",topic:i,request:s,chainId:r}),this.records.has(s.id))return;const o={id:s.id,topic:i,request:{method:s.method,params:s.params||null},chainId:r,expiry:J(X)};this.records.set(o.id,o),this.events.emit(R.created,o)},this.resolve=async i=>{if(this.isInitialized(),this.logger.debug(\"Updating JSON-RPC response history record\"),this.logger.trace({type:\"method\",method:\"update\",response:i}),!this.records.has(i.id))return;const s=await this.getRecord(i.id);typeof s.response>\"u\"&&(s.response=ze(i)?{error:i.error}:{result:i.result},this.records.set(s.id,s),this.events.emit(R.updated,s))},this.get=async(i,s)=>(this.isInitialized(),this.logger.debug(\"Getting record\"),this.logger.trace({type:\"method\",method:\"get\",topic:i,id:s}),await this.getRecord(s)),this.delete=(i,s)=>{this.isInitialized(),this.logger.debug(\"Deleting record\"),this.logger.trace({type:\"method\",method:\"delete\",id:s}),this.values.forEach(r=>{if(r.topic===i){if(typeof s<\"u\"&&r.id!==s)return;this.records.delete(r.id),this.events.emit(R.deleted,r)}})},this.exists=async(i,s)=>(this.isInitialized(),this.records.has(s)?(await this.getRecord(s)).topic===i:!1),this.on=(i,s)=>{this.events.on(i,s)},this.once=(i,s)=>{this.events.once(i,s)},this.off=(i,s)=>{this.events.off(i,s)},this.removeListener=(i,s)=>{this.events.removeListener(i,s)},this.logger=b(t,this.name)}get context(){return E(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){const e=[];return this.values.forEach(t=>{if(typeof t.response<\"u\")return;const i={topic:t.topic,request:Ae(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();const t=this.records.get(e);if(!t){const{message:i}=c(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw new Error(i)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(R.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>\"u\"||!e.length)return;if(this.records.size){const{message:t}=c(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}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(R.created,e=>{const t=R.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e}),this.persist()}),this.events.on(R.updated,e=>{const t=R.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e}),this.persist()}),this.events.on(R.deleted,e=>{const t=R.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e}),this.persist()}),this.core.heartbeat.on(G.pulse,()=>{this.cleanup()})}cleanup(){try{this.records.forEach(e=>{N(e.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${e.id}`),this.delete(e.topic,e.id))})}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class qt extends ni{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.expirations=new Map,this.events=new U,this.name=Ct,this.version=Rt,this.cached=[],this.initialized=!1,this.storagePrefix=O,this.init=async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(i=>this.expirations.set(i.target,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.has=i=>{try{const s=this.formatTarget(i);return typeof this.getExpiration(s)<\"u\"}catch{return!1}},this.set=(i,s)=>{this.isInitialized();const r=this.formatTarget(i),o={target:r,expiry:s};this.expirations.set(r,o),this.checkExpiry(r,o),this.events.emit(v.created,{target:r,expiration:o})},this.get=i=>{this.isInitialized();const s=this.formatTarget(i);return this.getExpiration(s)},this.del=i=>{if(this.isInitialized(),this.has(i)){const s=this.formatTarget(i),r=this.getExpiration(s);this.expirations.delete(s),this.events.emit(v.deleted,{target:s,expiration:r})}},this.on=(i,s)=>{this.events.on(i,s)},this.once=(i,s)=>{this.events.once(i,s)},this.off=(i,s)=>{this.events.off(i,s)},this.removeListener=(i,s)=>{this.events.removeListener(i,s)},this.logger=b(t,this.name)}get context(){return E(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(typeof e==\"string\")return Ai(e);if(typeof e==\"number\")return zi(e);const{message:t}=c(\"UNKNOWN_TYPE\",`Target type: ${typeof e}`);throw new 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(v.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>\"u\"||!e.length)return;if(this.expirations.size){const{message:t}=c(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}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){const t=this.expirations.get(e);if(!t){const{message:i}=c(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}return t}checkExpiry(e,t){const{expiry:i}=t;N(i)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(v.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(G.pulse,()=>this.checkExpirations()),this.events.on(v.created,e=>{const t=v.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()}),this.events.on(v.expired,e=>{const t=v.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()}),this.events.on(v.deleted,e=>{const t=v.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class jt extends oi{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,this.name=Z,this.initialized=!1,this.queue=[],this.verifyDisabled=!1,this.init=async i=>{if(this.verifyDisabled||Ni()||!Ui())return;const s=this.getVerifyUrl(i?.verifyUrl);this.verifyUrl!==s&&this.removeIframe(),this.verifyUrl=s;try{await this.createIframe()}catch(r){this.logger.info(`Verify iframe failed to load: ${this.verifyUrl}`),this.logger.info(r)}if(!this.initialized){this.removeIframe(),this.verifyUrl=ee;try{await this.createIframe()}catch(r){this.logger.info(`Verify iframe failed to load: ${this.verifyUrl}`),this.logger.info(r),this.verifyDisabled=!0}}},this.register=async i=>{this.initialized?this.sendPost(i.attestationId):(this.addToQueue(i.attestationId),await this.init())},this.resolve=async i=>{if(this.isDevEnv)return\"\";const s=this.getVerifyUrl(i?.verifyUrl);let r;try{r=await this.fetchAttestation(i.attestationId,s)}catch(o){this.logger.info(`failed to resolve attestation: ${i.attestationId} from url: ${s}`),this.logger.info(o),r=await this.fetchAttestation(i.attestationId,ee)}return r},this.fetchAttestation=async(i,s)=>{this.logger.info(`resolving attestation: ${i} from url: ${s}`);const r=this.startAbortTimer(Re*2),o=await fetch(`${s}/attestation/${i}`,{signal:this.abortController.signal});return clearTimeout(r),o.status===200?await o.json():void 0},this.addToQueue=i=>{this.queue.push(i)},this.processQueue=()=>{this.queue.length!==0&&(this.queue.forEach(i=>this.sendPost(i)),this.queue=[])},this.sendPost=i=>{var s;try{if(!this.iframe)return;(s=this.iframe.contentWindow)==null||s.postMessage(i,\"*\"),this.logger.info(`postMessage sent: ${i} ${this.verifyUrl}`)}catch{}},this.createIframe=async()=>{let i;const s=r=>{r.data===\"verify_ready\"&&(this.initialized=!0,this.processQueue(),window.removeEventListener(\"message\",s),i())};await Promise.race([new Promise(r=>{if(document.getElementById(Z))return r();window.addEventListener(\"message\",s);const o=document.createElement(\"iframe\");o.id=Z,o.src=`${this.verifyUrl}/${this.projectId}`,o.style.display=\"none\",document.body.append(o),this.iframe=o,i=r}),new Promise((r,o)=>setTimeout(()=>{window.removeEventListener(\"message\",s),o(\"verify iframe load timeout\")},N(_e)))])},this.removeIframe=()=>{this.iframe&&(this.iframe.remove(),this.iframe=void 0,this.initialized=!1)},this.getVerifyUrl=i=>{let s=i||F;return _t.includes(s)||(this.logger.info(`verify url: ${s}, not included in trusted list, assigning default: ${F}`),s=F),s},this.logger=b(t,this.name),this.verifyUrl=F,this.abortController=new AbortController,this.isDevEnv=Li()&&process.env.IS_VITEST}get context(){return E(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),N(e))}}class Gt extends ai{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,this.context=Tt,this.registerDeviceToken=async i=>{const{clientId:s,token:r,notificationType:o,enableEncrypted:a=!1}=i,h=`${St}/${this.projectId}/clients`;await Yi(h,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({client_id:s,type:o,token:r,always_raw:a})})},this.logger=b(t,this.context)}}var Lr=Object.defineProperty,Yt=Object.getOwnPropertySymbols,$r=Object.prototype.hasOwnProperty,Fr=Object.prototype.propertyIsEnumerable,Ht=(n,e,t)=>e in n?Lr(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,Jt=(n,e)=>{for(var t in e||(e={}))$r.call(e,t)&&Ht(n,t,e[t]);if(Yt)for(var t of Yt(e))Fr.call(e,t)&&Ht(n,t,e[t]);return n};class te extends hi{constructor(e){super(e),this.protocol=le,this.version=We,this.name=Q,this.events=new U,this.initialized=!1,this.on=(i,s)=>this.events.on(i,s),this.once=(i,s)=>this.events.once(i,s),this.off=(i,s)=>this.events.off(i,s),this.removeListener=(i,s)=>this.events.removeListener(i,s),this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||ge,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:\"\";const t=typeof e?.logger<\"u\"&&typeof e?.logger!=\"string\"?e.logger:ye(me({level:e?.logger||Qe.logger}));this.logger=b(t,this.name),this.heartbeat=new Qt,this.crypto=new xt(this,this.logger,e?.keychain),this.history=new Vt(this,this.logger),this.expirer=new qt(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new Wt(Jt(Jt({},Ze),e?.storageOptions)),this.relayer=new $t({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new Bt(this,this.logger),this.verify=new jt(this.projectId||\"\",this.logger),this.echoClient=new Gt(this.projectId||\"\",this.logger)}static async init(e){const t=new te(e);await t.initialize();const i=await t.crypto.getClientId();return await t.storage.setItem(yt,i),t}get context(){return E(this.logger)}async start(){this.initialized||await this.initialize()}async initialize(){this.logger.trace(\"Initialized\");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.initialized=!0,this.logger.info(\"Core Initialization Success\")}catch(e){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,e),this.logger.error(e.message),e}}}const Mr=te;export{Q as CORE_CONTEXT,Qe as CORE_DEFAULT,le as CORE_PROTOCOL,Ze as CORE_STORAGE_OPTIONS,O as CORE_STORAGE_PREFIX,We as CORE_VERSION,de as CRYPTO_CLIENT_SEED,et as CRYPTO_CONTEXT,tt as CRYPTO_JWT_TTL,Mr as Core,xt as Crypto,Tt as ECHO_CONTEXT,St as ECHO_URL,Ct as EXPIRER_CONTEXT,wr as EXPIRER_DEFAULT_TTL,v as EXPIRER_EVENTS,Rt as EXPIRER_STORAGE_VERSION,Gt as EchoClient,qt as Expirer,vt as HISTORY_CONTEXT,R as HISTORY_EVENTS,It as HISTORY_STORAGE_VERSION,Vt as JsonRpcHistory,it as KEYCHAIN_CONTEXT,st as KEYCHAIN_STORAGE_VERSION,Pt as KeyChain,rt as MESSAGES_CONTEXT,nt as MESSAGES_STORAGE_VERSION,Ot as MessageTracker,Et as PAIRING_CONTEXT,Er as PAIRING_DEFAULT_TTL,V as PAIRING_EVENTS,$ as PAIRING_RPC_OPTS,wt as PAIRING_STORAGE_VERSION,ft as PENDING_SUB_RESOLUTION_TIMEOUT,at as PUBLISHER_CONTEXT,ot as PUBLISHER_DEFAULT_TTL,Bt as Pairing,ut as RELAYER_CONTEXT,ct as RELAYER_DEFAULT_LOGGER,ht as RELAYER_DEFAULT_PROTOCOL,ge as RELAYER_DEFAULT_RELAY_URL,D as RELAYER_EVENTS,pe as RELAYER_FAILOVER_RELAY_URL,P as RELAYER_PROVIDER_EVENTS,dt as RELAYER_RECONNECT_TIMEOUT,gt as RELAYER_SDK_VERSION,br as RELAYER_STORAGE_OPTIONS,lt as RELAYER_SUBSCRIBER_SUFFIX,pt as RELAYER_TRANSPORT_CUTOFF,$t as Relayer,Dt as STORE_STORAGE_VERSION,mt as SUBSCRIBER_CONTEXT,fr as SUBSCRIBER_DEFAULT_TTL,w as SUBSCRIBER_EVENTS,bt as SUBSCRIBER_STORAGE_VERSION,Kt as Store,Nt as Subscriber,_t as TRUSTED_VERIFY_URLS,Z as VERIFY_CONTEXT,ee as VERIFY_FALLBACK_SERVER,F as VERIFY_SERVER,jt as Verify,yt as WALLETCONNECT_CLIENT_ID,te as default};\n//# sourceMappingURL=index.es.js.map\n","import{RELAYER_DEFAULT_PROTOCOL as me,RELAYER_EVENTS as Z,VERIFY_SERVER as ye,EXPIRER_EVENTS as Se,PAIRING_EVENTS as Ee,Store as K,Core as Re}from\"@walletconnect/core\";import{pino as Ie,getDefaultLoggerOptions as _e,generateChildLogger as qe,getLoggerContext as Ne}from\"@walletconnect/logger\";import{IEngine as fe,ISignClient as Pe}from\"@walletconnect/types\";import{TYPE_1 as ve,calcExpiry as q,createDelayedPromise as C,engineEvent as u,getInternalError as l,getSdkError as S,getDeepLink as Oe,handleDeeplinkRedirect as Te,isSessionCompatible as Ve,isBrowser as xe,hashMessage as z,isExpired as V,MemoryStore as $,isValidParams as y,isUndefined as A,isValidRelays as De,isValidObject as ee,isValidRequiredNamespaces as Ce,isValidNamespaces as Y,isConformingNamespaces as se,isValidString as b,isValidErrorReason as Ae,isValidRelay as be,isValidController as Le,isValidNamespacesChainId as te,isValidRequest as $e,isValidNamespacesRequest as Ge,isValidRequestExpiry as Me,isValidResponse as Ue,isValidEvent as Qe,isValidNamespacesEvent as ke,parseExpirerTarget as Ke,isValidId as ze,getAppMetadata as Ye}from\"@walletconnect/utils\";import je,{EventEmitter as Je}from\"events\";import{THIRTY_DAYS as Fe,SEVEN_DAYS as ie,FIVE_MINUTES as E,ONE_DAY as x,THIRTY_SECONDS as re,ONE_SECOND as Xe,toMiliseconds as ne}from\"@walletconnect/time\";import{payloadId as He,isJsonRpcResult as P,isJsonRpcError as v,formatJsonRpcRequest as j,formatJsonRpcResult as We,formatJsonRpcError as Be,isJsonRpcRequest as Ze,isJsonRpcResponse as es}from\"@walletconnect/jsonrpc-utils\";const J=\"wc\",F=2,X=\"client\",G=`${J}@${F}:${X}:`,M={name:X,logger:\"error\",controller:!1,relayUrl:\"wss://relay.walletconnect.com\"},ss={session_proposal:\"session_proposal\",session_update:\"session_update\",session_extend:\"session_extend\",session_ping:\"session_ping\",session_delete:\"session_delete\",session_expire:\"session_expire\",session_request:\"session_request\",session_request_sent:\"session_request_sent\",session_event:\"session_event\",proposal_expire:\"proposal_expire\",session_request_expire:\"session_request_expire\"},ts={database:\":memory:\"},H=\"WALLETCONNECT_DEEPLINK_CHOICE\",is={created:\"history_created\",updated:\"history_updated\",deleted:\"history_deleted\",sync:\"history_sync\"},rs=\"history\",ns=\"0.3\",oe=\"proposal\",os=Fe,ae=\"Proposal expired\",ce=\"session\",L=ie,le=\"engine\",R={wc_sessionPropose:{req:{ttl:E,prompt:!0,tag:1100},res:{ttl:E,prompt:!1,tag:1101}},wc_sessionSettle:{req:{ttl:E,prompt:!1,tag:1102},res:{ttl:E,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:x,prompt:!1,tag:1104},res:{ttl:x,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:x,prompt:!1,tag:1106},res:{ttl:x,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:E,prompt:!0,tag:1108},res:{ttl:E,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:E,prompt:!0,tag:1110},res:{ttl:E,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:x,prompt:!1,tag:1112},res:{ttl:x,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:re,prompt:!1,tag:1114},res:{ttl:re,prompt:!1,tag:1115}}},U={min:E,max:ie},I={idle:\"IDLE\",active:\"ACTIVE\"},pe=\"request\",he=[\"wc_sessionPropose\",\"wc_sessionRequest\",\"wc_authRequest\"];var as=Object.defineProperty,cs=Object.defineProperties,ls=Object.getOwnPropertyDescriptors,de=Object.getOwnPropertySymbols,ps=Object.prototype.hasOwnProperty,hs=Object.prototype.propertyIsEnumerable,ue=(w,r,e)=>r in w?as(w,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):w[r]=e,g=(w,r)=>{for(var e in r||(r={}))ps.call(r,e)&&ue(w,e,r[e]);if(de)for(var e of de(r))hs.call(r,e)&&ue(w,e,r[e]);return w},D=(w,r)=>cs(w,ls(r));class ds extends fe{constructor(r){super(r),this.name=le,this.events=new je,this.initialized=!1,this.ignoredPayloadTypes=[ve],this.requestQueue={state:I.idle,queue:[]},this.sessionRequestQueue={state:I.idle,queue:[]},this.requestQueueDelay=Xe,this.init=async()=>{this.initialized||(await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.registerPairingEvents(),this.client.core.pairing.register({methods:Object.keys(R)}),this.initialized=!0,setTimeout(()=>{this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},ne(this.requestQueueDelay)))},this.connect=async e=>{await this.isInitialized();const s=D(g({},e),{requiredNamespaces:e.requiredNamespaces||{},optionalNamespaces:e.optionalNamespaces||{}});await this.isValidConnect(s);const{pairingTopic:t,requiredNamespaces:i,optionalNamespaces:n,sessionProperties:o,relays:a}=s;let c=t,p,d=!1;if(c&&(d=this.client.core.pairing.pairings.get(c).active),!c||!d){const{topic:T,uri:_}=await this.client.core.pairing.create();c=T,p=_}const h=await this.client.core.crypto.generateKeyPair(),N=R.wc_sessionPropose.req.ttl||E,m=q(N),f=g({requiredNamespaces:i,optionalNamespaces:n,relays:a??[{protocol:me}],proposer:{publicKey:h,metadata:this.client.metadata},expiryTimestamp:m},o&&{sessionProperties:o}),{reject:k,resolve:O,done:we}=C(N,ae);if(this.events.once(u(\"session_connect\"),async({error:T,session:_})=>{if(T)k(T);else if(_){_.self.publicKey=h;const B=D(g({},_),{requiredNamespaces:f.requiredNamespaces,optionalNamespaces:f.optionalNamespaces});await this.client.session.set(_.topic,B),await this.setExpiry(_.topic,_.expiry),c&&await this.client.core.pairing.updateMetadata({topic:c,metadata:_.peer.metadata}),O(B)}}),!c){const{message:T}=l(\"NO_MATCHING_KEY\",`connect() pairing topic: ${c}`);throw new Error(T)}const W=await this.sendRequest({topic:c,method:\"wc_sessionPropose\",params:f,throwOnFailedPublish:!0});return await this.setProposal(W,g({id:W},f)),{uri:p,approval:we}},this.pair=async e=>(await this.isInitialized(),await this.client.core.pairing.pair(e)),this.approve=async e=>{await this.isInitialized(),await this.isValidApprove(e);const{id:s,relayProtocol:t,namespaces:i,sessionProperties:n}=e,o=this.client.proposal.get(s);let{pairingTopic:a,proposer:c,requiredNamespaces:p,optionalNamespaces:d}=o;a=a||\"\";const h=await this.client.core.crypto.generateKeyPair(),N=c.publicKey,m=await this.client.core.crypto.generateSharedKey(h,N);a&&s&&(await this.client.core.pairing.updateMetadata({topic:a,metadata:c.metadata}),await this.sendResult({id:s,topic:a,result:{relay:{protocol:t??\"irn\"},responderPublicKey:h}}),await this.client.proposal.delete(s,S(\"USER_DISCONNECTED\")),await this.client.core.pairing.activate({topic:a}));const f=g({relay:{protocol:t??\"irn\"},namespaces:i,pairingTopic:a,controller:{publicKey:h,metadata:this.client.metadata},expiry:q(L)},n&&{sessionProperties:n});await this.client.core.relayer.subscribe(m);const k=D(g({},f),{topic:m,requiredNamespaces:p,optionalNamespaces:d,pairingTopic:a,acknowledged:!1,self:f.controller,peer:{publicKey:c.publicKey,metadata:c.metadata},controller:h});await this.client.session.set(m,k);try{await this.sendRequest({topic:m,method:\"wc_sessionSettle\",params:f,throwOnFailedPublish:!0})}catch(O){throw this.client.logger.error(O),this.client.session.delete(m,S(\"USER_DISCONNECTED\")),await this.client.core.relayer.unsubscribe(m),O}return await this.setExpiry(m,q(L)),{topic:m,acknowledged:()=>new Promise(O=>setTimeout(()=>O(this.client.session.get(m)),500))}},this.reject=async e=>{await this.isInitialized(),await this.isValidReject(e);const{id:s,reason:t}=e,{pairingTopic:i}=this.client.proposal.get(s);i&&(await this.sendError(s,i,t),await this.client.proposal.delete(s,S(\"USER_DISCONNECTED\")))},this.update=async e=>{await this.isInitialized(),await this.isValidUpdate(e);const{topic:s,namespaces:t}=e,i=await this.sendRequest({topic:s,method:\"wc_sessionUpdate\",params:{namespaces:t}}),{done:n,resolve:o,reject:a}=C();return this.events.once(u(\"session_update\",i),({error:c})=>{c?a(c):o()}),await this.client.session.update(s,{namespaces:t}),{acknowledged:n}},this.extend=async e=>{await this.isInitialized(),await this.isValidExtend(e);const{topic:s}=e,t=await this.sendRequest({topic:s,method:\"wc_sessionExtend\",params:{}}),{done:i,resolve:n,reject:o}=C();return this.events.once(u(\"session_extend\",t),({error:a})=>{a?o(a):n()}),await this.setExpiry(s,q(L)),{acknowledged:i}},this.request=async e=>{await this.isInitialized(),await this.isValidRequest(e);const{chainId:s,request:t,topic:i,expiry:n=R.wc_sessionRequest.req.ttl}=e,o=He(),{done:a,resolve:c,reject:p}=C(n,\"Request expired. Please try again.\");return this.events.once(u(\"session_request\",o),({error:d,result:h})=>{d?p(d):c(h)}),await Promise.all([new Promise(async d=>{await this.sendRequest({clientRpcId:o,topic:i,method:\"wc_sessionRequest\",params:{request:D(g({},t),{expiryTimestamp:q(n)}),chainId:s},expiry:n,throwOnFailedPublish:!0}).catch(h=>p(h)),this.client.events.emit(\"session_request_sent\",{topic:i,request:t,chainId:s,id:o}),d()}),new Promise(async d=>{const h=await Oe(this.client.core.storage,H);Te({id:o,topic:i,wcDeepLink:h}),d()}),a()]).then(d=>d[2])},this.respond=async e=>{await this.isInitialized(),await this.isValidRespond(e);const{topic:s,response:t}=e,{id:i}=t;P(t)?await this.sendResult({id:i,topic:s,result:t.result,throwOnFailedPublish:!0}):v(t)&&await this.sendError(i,s,t.error),this.cleanupAfterResponse(e)},this.ping=async e=>{await this.isInitialized(),await this.isValidPing(e);const{topic:s}=e;if(this.client.session.keys.includes(s)){const t=await this.sendRequest({topic:s,method:\"wc_sessionPing\",params:{}}),{done:i,resolve:n,reject:o}=C();this.events.once(u(\"session_ping\",t),({error:a})=>{a?o(a):n()}),await i()}else this.client.core.pairing.pairings.keys.includes(s)&&await this.client.core.pairing.ping({topic:s})},this.emit=async e=>{await this.isInitialized(),await this.isValidEmit(e);const{topic:s,event:t,chainId:i}=e;await this.sendRequest({topic:s,method:\"wc_sessionEvent\",params:{event:t,chainId:i}})},this.disconnect=async e=>{await this.isInitialized(),await this.isValidDisconnect(e);const{topic:s}=e;if(this.client.session.keys.includes(s))await this.sendRequest({topic:s,method:\"wc_sessionDelete\",params:S(\"USER_DISCONNECTED\"),throwOnFailedPublish:!0}),await this.deleteSession({topic:s,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(s))await this.client.core.pairing.disconnect({topic:s});else{const{message:t}=l(\"MISMATCHED_TOPIC\",`Session or pairing topic not found: ${s}`);throw new Error(t)}},this.find=e=>(this.isInitialized(),this.client.session.getAll().filter(s=>Ve(s,e))),this.getPendingSessionRequests=()=>this.client.pendingRequest.getAll(),this.cleanupDuplicatePairings=async e=>{if(e.pairingTopic)try{const s=this.client.core.pairing.pairings.get(e.pairingTopic),t=this.client.core.pairing.pairings.getAll().filter(i=>{var n,o;return((n=i.peerMetadata)==null?void 0:n.url)&&((o=i.peerMetadata)==null?void 0:o.url)===e.peer.metadata.url&&i.topic&&i.topic!==s.topic});if(t.length===0)return;this.client.logger.info(`Cleaning up ${t.length} duplicate pairing(s)`),await Promise.all(t.map(i=>this.client.core.pairing.disconnect({topic:i.topic}))),this.client.logger.info(\"Duplicate pairings clean up finished\")}catch(s){this.client.logger.error(s)}},this.deleteSession=async e=>{const{topic:s,expirerHasDeleted:t=!1,emitEvent:i=!0,id:n=0}=e,{self:o}=this.client.session.get(s);await this.client.core.relayer.unsubscribe(s),await this.client.session.delete(s,S(\"USER_DISCONNECTED\")),this.client.core.crypto.keychain.has(o.publicKey)&&await this.client.core.crypto.deleteKeyPair(o.publicKey),this.client.core.crypto.keychain.has(s)&&await this.client.core.crypto.deleteSymKey(s),t||this.client.core.expirer.del(s),this.client.core.storage.removeItem(H).catch(a=>this.client.logger.warn(a)),this.getPendingSessionRequests().forEach(a=>{a.topic===s&&this.deletePendingSessionRequest(a.id,S(\"USER_DISCONNECTED\"))}),i&&this.client.events.emit(\"session_delete\",{id:n,topic:s})},this.deleteProposal=async(e,s)=>{await Promise.all([this.client.proposal.delete(e,S(\"USER_DISCONNECTED\")),s?Promise.resolve():this.client.core.expirer.del(e)])},this.deletePendingSessionRequest=async(e,s,t=!1)=>{await Promise.all([this.client.pendingRequest.delete(e,s),t?Promise.resolve():this.client.core.expirer.del(e)]),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(i=>i.id!==e),t&&(this.sessionRequestQueue.state=I.idle,this.client.events.emit(\"session_request_expire\",{id:e}))},this.setExpiry=async(e,s)=>{this.client.session.keys.includes(e)&&await this.client.session.update(e,{expiry:s}),this.client.core.expirer.set(e,s)},this.setProposal=async(e,s)=>{await this.client.proposal.set(e,s),this.client.core.expirer.set(e,q(R.wc_sessionPropose.req.ttl))},this.setPendingSessionRequest=async e=>{const{id:s,topic:t,params:i,verifyContext:n}=e,o=i.request.expiryTimestamp||q(R.wc_sessionRequest.req.ttl);await this.client.pendingRequest.set(s,{id:s,topic:t,params:i,verifyContext:n}),o&&this.client.core.expirer.set(s,o)},this.sendRequest=async e=>{const{topic:s,method:t,params:i,expiry:n,relayRpcId:o,clientRpcId:a,throwOnFailedPublish:c}=e,p=j(t,i,a);if(xe()&&he.includes(t)){const N=z(JSON.stringify(p));this.client.core.verify.register({attestationId:N})}const d=await this.client.core.crypto.encode(s,p),h=R[t].req;return n&&(h.ttl=n),o&&(h.id=o),this.client.core.history.set(s,p),c?(h.internal=D(g({},h.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(s,d,h)):this.client.core.relayer.publish(s,d,h).catch(N=>this.client.logger.error(N)),p.id},this.sendResult=async e=>{const{id:s,topic:t,result:i,throwOnFailedPublish:n}=e,o=We(s,i),a=await this.client.core.crypto.encode(t,o),c=await this.client.core.history.get(t,s),p=R[c.request.method].res;n?(p.internal=D(g({},p.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(t,a,p)):this.client.core.relayer.publish(t,a,p).catch(d=>this.client.logger.error(d)),await this.client.core.history.resolve(o)},this.sendError=async(e,s,t)=>{const i=Be(e,t),n=await this.client.core.crypto.encode(s,i),o=await this.client.core.history.get(s,e),a=R[o.request.method].res;this.client.core.relayer.publish(s,n,a),await this.client.core.history.resolve(i)},this.cleanup=async()=>{const e=[],s=[];this.client.session.getAll().forEach(t=>{let i=!1;V(t.expiry)&&(i=!0),this.client.core.crypto.keychain.has(t.topic)||(i=!0),i&&e.push(t.topic)}),this.client.proposal.getAll().forEach(t=>{V(t.expiryTimestamp)&&s.push(t.id)}),await Promise.all([...e.map(t=>this.deleteSession({topic:t})),...s.map(t=>this.deleteProposal(t))])},this.onRelayEventRequest=async e=>{this.requestQueue.queue.push(e),await this.processRequestsQueue()},this.processRequestsQueue=async()=>{if(this.requestQueue.state===I.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=I.active;const e=this.requestQueue.queue.shift();if(e)try{this.processRequest(e),await new Promise(s=>setTimeout(s,300))}catch(s){this.client.logger.warn(s)}}this.requestQueue.state=I.idle},this.processRequest=e=>{const{topic:s,payload:t}=e,i=t.method;switch(i){case\"wc_sessionPropose\":return this.onSessionProposeRequest(s,t);case\"wc_sessionSettle\":return this.onSessionSettleRequest(s,t);case\"wc_sessionUpdate\":return this.onSessionUpdateRequest(s,t);case\"wc_sessionExtend\":return this.onSessionExtendRequest(s,t);case\"wc_sessionPing\":return this.onSessionPingRequest(s,t);case\"wc_sessionDelete\":return this.onSessionDeleteRequest(s,t);case\"wc_sessionRequest\":return this.onSessionRequest(s,t);case\"wc_sessionEvent\":return this.onSessionEventRequest(s,t);default:return this.client.logger.info(`Unsupported request method ${i}`)}},this.onRelayEventResponse=async e=>{const{topic:s,payload:t}=e,i=(await this.client.core.history.get(s,t.id)).request.method;switch(i){case\"wc_sessionPropose\":return this.onSessionProposeResponse(s,t);case\"wc_sessionSettle\":return this.onSessionSettleResponse(s,t);case\"wc_sessionUpdate\":return this.onSessionUpdateResponse(s,t);case\"wc_sessionExtend\":return this.onSessionExtendResponse(s,t);case\"wc_sessionPing\":return this.onSessionPingResponse(s,t);case\"wc_sessionRequest\":return this.onSessionRequestResponse(s,t);default:return this.client.logger.info(`Unsupported response method ${i}`)}},this.onRelayEventUnknownPayload=e=>{const{topic:s}=e,{message:t}=l(\"MISSING_OR_INVALID\",`Decoded payload on topic ${s} is not identifiable as a JSON-RPC request or a response.`);throw new Error(t)},this.onSessionProposeRequest=async(e,s)=>{const{params:t,id:i}=s;try{this.isValidConnect(g({},s.params));const n=t.expiryTimestamp||q(R.wc_sessionPropose.req.ttl),o=g({id:i,pairingTopic:e,expiryTimestamp:n},t);await this.setProposal(i,o);const a=z(JSON.stringify(s)),c=await this.getVerifyContext(a,o.proposer.metadata);this.client.events.emit(\"session_proposal\",{id:i,params:o,verifyContext:c})}catch(n){await this.sendError(i,e,n),this.client.logger.error(n)}},this.onSessionProposeResponse=async(e,s)=>{const{id:t}=s;if(P(s)){const{result:i}=s;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",result:i});const n=this.client.proposal.get(t);this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",proposal:n});const o=n.proposer.publicKey;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",selfPublicKey:o});const a=i.responderPublicKey;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",peerPublicKey:a});const c=await this.client.core.crypto.generateSharedKey(o,a);this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",sessionTopic:c});const p=await this.client.core.relayer.subscribe(c);this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",subscriptionId:p}),await this.client.core.pairing.activate({topic:e})}else v(s)&&(await this.client.proposal.delete(t,S(\"USER_DISCONNECTED\")),this.events.emit(u(\"session_connect\"),{error:s.error}))},this.onSessionSettleRequest=async(e,s)=>{const{id:t,params:i}=s;try{this.isValidSessionSettleRequest(i);const{relay:n,controller:o,expiry:a,namespaces:c,sessionProperties:p,pairingTopic:d}=s.params,h=g({topic:e,relay:n,expiry:a,namespaces:c,acknowledged:!0,pairingTopic:d,requiredNamespaces:{},optionalNamespaces:{},controller:o.publicKey,self:{publicKey:\"\",metadata:this.client.metadata},peer:{publicKey:o.publicKey,metadata:o.metadata}},p&&{sessionProperties:p});await this.sendResult({id:s.id,topic:e,result:!0}),this.events.emit(u(\"session_connect\"),{session:h}),this.cleanupDuplicatePairings(h)}catch(n){await this.sendError(t,e,n),this.client.logger.error(n)}},this.onSessionSettleResponse=async(e,s)=>{const{id:t}=s;P(s)?(await this.client.session.update(e,{acknowledged:!0}),this.events.emit(u(\"session_approve\",t),{})):v(s)&&(await this.client.session.delete(e,S(\"USER_DISCONNECTED\")),this.events.emit(u(\"session_approve\",t),{error:s.error}))},this.onSessionUpdateRequest=async(e,s)=>{const{params:t,id:i}=s;try{const n=`${e}_session_update`,o=$.get(n);if(o&&this.isRequestOutOfSync(o,i)){this.client.logger.info(`Discarding out of sync request - ${i}`);return}this.isValidUpdate(g({topic:e},t)),await this.client.session.update(e,{namespaces:t.namespaces}),await this.sendResult({id:i,topic:e,result:!0}),this.client.events.emit(\"session_update\",{id:i,topic:e,params:t}),$.set(n,i)}catch(n){await this.sendError(i,e,n),this.client.logger.error(n)}},this.isRequestOutOfSync=(e,s)=>parseInt(s.toString().slice(0,-3))<=parseInt(e.toString().slice(0,-3)),this.onSessionUpdateResponse=(e,s)=>{const{id:t}=s;P(s)?this.events.emit(u(\"session_update\",t),{}):v(s)&&this.events.emit(u(\"session_update\",t),{error:s.error})},this.onSessionExtendRequest=async(e,s)=>{const{id:t}=s;try{this.isValidExtend({topic:e}),await this.setExpiry(e,q(L)),await this.sendResult({id:t,topic:e,result:!0}),this.client.events.emit(\"session_extend\",{id:t,topic:e})}catch(i){await this.sendError(t,e,i),this.client.logger.error(i)}},this.onSessionExtendResponse=(e,s)=>{const{id:t}=s;P(s)?this.events.emit(u(\"session_extend\",t),{}):v(s)&&this.events.emit(u(\"session_extend\",t),{error:s.error})},this.onSessionPingRequest=async(e,s)=>{const{id:t}=s;try{this.isValidPing({topic:e}),await this.sendResult({id:t,topic:e,result:!0}),this.client.events.emit(\"session_ping\",{id:t,topic:e})}catch(i){await this.sendError(t,e,i),this.client.logger.error(i)}},this.onSessionPingResponse=(e,s)=>{const{id:t}=s;setTimeout(()=>{P(s)?this.events.emit(u(\"session_ping\",t),{}):v(s)&&this.events.emit(u(\"session_ping\",t),{error:s.error})},500)},this.onSessionDeleteRequest=async(e,s)=>{const{id:t}=s;try{this.isValidDisconnect({topic:e,reason:s.params}),await Promise.all([new Promise(i=>{this.client.core.relayer.once(Z.publish,async()=>{i(await this.deleteSession({topic:e,id:t}))})}),this.sendResult({id:t,topic:e,result:!0}),this.cleanupPendingSentRequestsForTopic({topic:e,error:S(\"USER_DISCONNECTED\")})])}catch(i){this.client.logger.error(i)}},this.onSessionRequest=async(e,s)=>{const{id:t,params:i}=s;try{this.isValidRequest(g({topic:e},i));const n=z(JSON.stringify(j(\"wc_sessionRequest\",i,t))),o=this.client.session.get(e),a=await this.getVerifyContext(n,o.peer.metadata),c={id:t,topic:e,params:i,verifyContext:a};await this.setPendingSessionRequest(c),this.addSessionRequestToSessionRequestQueue(c),this.processSessionRequestQueue()}catch(n){await this.sendError(t,e,n),this.client.logger.error(n)}},this.onSessionRequestResponse=(e,s)=>{const{id:t}=s;P(s)?this.events.emit(u(\"session_request\",t),{result:s.result}):v(s)&&this.events.emit(u(\"session_request\",t),{error:s.error})},this.onSessionEventRequest=async(e,s)=>{const{id:t,params:i}=s;try{const n=`${e}_session_event_${i.event.name}`,o=$.get(n);if(o&&this.isRequestOutOfSync(o,t)){this.client.logger.info(`Discarding out of sync request - ${t}`);return}this.isValidEmit(g({topic:e},i)),this.client.events.emit(\"session_event\",{id:t,topic:e,params:i}),$.set(n,t)}catch(n){await this.sendError(t,e,n),this.client.logger.error(n)}},this.addSessionRequestToSessionRequestQueue=e=>{this.sessionRequestQueue.queue.push(e)},this.cleanupAfterResponse=e=>{this.deletePendingSessionRequest(e.response.id,{message:\"fulfilled\",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=I.idle,this.processSessionRequestQueue()},ne(this.requestQueueDelay))},this.cleanupPendingSentRequestsForTopic=({topic:e,error:s})=>{const t=this.client.core.history.pending;t.length>0&&t.filter(i=>i.topic===e&&i.request.method===\"wc_sessionRequest\").forEach(i=>{this.events.emit(u(\"session_request\",i.request.id),{error:s})})},this.processSessionRequestQueue=()=>{if(this.sessionRequestQueue.state===I.active){this.client.logger.info(\"session request queue is already active.\");return}const e=this.sessionRequestQueue.queue[0];if(!e){this.client.logger.info(\"session request queue is empty.\");return}try{this.sessionRequestQueue.state=I.active,this.client.events.emit(\"session_request\",e)}catch(s){this.client.logger.error(s)}},this.onPairingCreated=e=>{if(e.active)return;const s=this.client.proposal.getAll().find(t=>t.pairingTopic===e.topic);s&&this.onSessionProposeRequest(e.topic,j(\"wc_sessionPropose\",{requiredNamespaces:s.requiredNamespaces,optionalNamespaces:s.optionalNamespaces,relays:s.relays,proposer:s.proposer,sessionProperties:s.sessionProperties},s.id))},this.isValidConnect=async e=>{if(!y(e)){const{message:a}=l(\"MISSING_OR_INVALID\",`connect() params: ${JSON.stringify(e)}`);throw new Error(a)}const{pairingTopic:s,requiredNamespaces:t,optionalNamespaces:i,sessionProperties:n,relays:o}=e;if(A(s)||await this.isValidPairingTopic(s),!De(o,!0)){const{message:a}=l(\"MISSING_OR_INVALID\",`connect() relays: ${o}`);throw new Error(a)}!A(t)&&ee(t)!==0&&this.validateNamespaces(t,\"requiredNamespaces\"),!A(i)&&ee(i)!==0&&this.validateNamespaces(i,\"optionalNamespaces\"),A(n)||this.validateSessionProps(n,\"sessionProperties\")},this.validateNamespaces=(e,s)=>{const t=Ce(e,\"connect()\",s);if(t)throw new Error(t.message)},this.isValidApprove=async e=>{if(!y(e))throw new Error(l(\"MISSING_OR_INVALID\",`approve() params: ${e}`).message);const{id:s,namespaces:t,relayProtocol:i,sessionProperties:n}=e;await this.isValidProposalId(s);const o=this.client.proposal.get(s),a=Y(t,\"approve()\");if(a)throw new Error(a.message);const c=se(o.requiredNamespaces,t,\"approve()\");if(c)throw new Error(c.message);if(!b(i,!0)){const{message:p}=l(\"MISSING_OR_INVALID\",`approve() relayProtocol: ${i}`);throw new Error(p)}A(n)||this.validateSessionProps(n,\"sessionProperties\")},this.isValidReject=async e=>{if(!y(e)){const{message:i}=l(\"MISSING_OR_INVALID\",`reject() params: ${e}`);throw new Error(i)}const{id:s,reason:t}=e;if(await this.isValidProposalId(s),!Ae(t)){const{message:i}=l(\"MISSING_OR_INVALID\",`reject() reason: ${JSON.stringify(t)}`);throw new Error(i)}},this.isValidSessionSettleRequest=e=>{if(!y(e)){const{message:c}=l(\"MISSING_OR_INVALID\",`onSessionSettleRequest() params: ${e}`);throw new Error(c)}const{relay:s,controller:t,namespaces:i,expiry:n}=e;if(!be(s)){const{message:c}=l(\"MISSING_OR_INVALID\",\"onSessionSettleRequest() relay protocol should be a string\");throw new Error(c)}const o=Le(t,\"onSessionSettleRequest()\");if(o)throw new Error(o.message);const a=Y(i,\"onSessionSettleRequest()\");if(a)throw new Error(a.message);if(V(n)){const{message:c}=l(\"EXPIRED\",\"onSessionSettleRequest()\");throw new Error(c)}},this.isValidUpdate=async e=>{if(!y(e)){const{message:a}=l(\"MISSING_OR_INVALID\",`update() params: ${e}`);throw new Error(a)}const{topic:s,namespaces:t}=e;await this.isValidSessionTopic(s);const i=this.client.session.get(s),n=Y(t,\"update()\");if(n)throw new Error(n.message);const o=se(i.requiredNamespaces,t,\"update()\");if(o)throw new Error(o.message)},this.isValidExtend=async e=>{if(!y(e)){const{message:t}=l(\"MISSING_OR_INVALID\",`extend() params: ${e}`);throw new Error(t)}const{topic:s}=e;await this.isValidSessionTopic(s)},this.isValidRequest=async e=>{if(!y(e)){const{message:a}=l(\"MISSING_OR_INVALID\",`request() params: ${e}`);throw new Error(a)}const{topic:s,request:t,chainId:i,expiry:n}=e;await this.isValidSessionTopic(s);const{namespaces:o}=this.client.session.get(s);if(!te(o,i)){const{message:a}=l(\"MISSING_OR_INVALID\",`request() chainId: ${i}`);throw new Error(a)}if(!$e(t)){const{message:a}=l(\"MISSING_OR_INVALID\",`request() ${JSON.stringify(t)}`);throw new Error(a)}if(!Ge(o,i,t.method)){const{message:a}=l(\"MISSING_OR_INVALID\",`request() method: ${t.method}`);throw new Error(a)}if(n&&!Me(n,U)){const{message:a}=l(\"MISSING_OR_INVALID\",`request() expiry: ${n}. Expiry must be a number (in seconds) between ${U.min} and ${U.max}`);throw new Error(a)}},this.isValidRespond=async e=>{var s;if(!y(e)){const{message:n}=l(\"MISSING_OR_INVALID\",`respond() params: ${e}`);throw new Error(n)}const{topic:t,response:i}=e;try{await this.isValidSessionTopic(t)}catch(n){throw(s=e?.response)!=null&&s.id&&this.cleanupAfterResponse(e),n}if(!Ue(i)){const{message:n}=l(\"MISSING_OR_INVALID\",`respond() response: ${JSON.stringify(i)}`);throw new Error(n)}},this.isValidPing=async e=>{if(!y(e)){const{message:t}=l(\"MISSING_OR_INVALID\",`ping() params: ${e}`);throw new Error(t)}const{topic:s}=e;await this.isValidSessionOrPairingTopic(s)},this.isValidEmit=async e=>{if(!y(e)){const{message:o}=l(\"MISSING_OR_INVALID\",`emit() params: ${e}`);throw new Error(o)}const{topic:s,event:t,chainId:i}=e;await this.isValidSessionTopic(s);const{namespaces:n}=this.client.session.get(s);if(!te(n,i)){const{message:o}=l(\"MISSING_OR_INVALID\",`emit() chainId: ${i}`);throw new Error(o)}if(!Qe(t)){const{message:o}=l(\"MISSING_OR_INVALID\",`emit() event: ${JSON.stringify(t)}`);throw new Error(o)}if(!ke(n,i,t.name)){const{message:o}=l(\"MISSING_OR_INVALID\",`emit() event: ${JSON.stringify(t)}`);throw new Error(o)}},this.isValidDisconnect=async e=>{if(!y(e)){const{message:t}=l(\"MISSING_OR_INVALID\",`disconnect() params: ${e}`);throw new Error(t)}const{topic:s}=e;await this.isValidSessionOrPairingTopic(s)},this.getVerifyContext=async(e,s)=>{const t={verified:{verifyUrl:s.verifyUrl||ye,validation:\"UNKNOWN\",origin:s.url||\"\"}};try{const i=await this.client.core.verify.resolve({attestationId:e,verifyUrl:s.verifyUrl});i&&(t.verified.origin=i.origin,t.verified.isScam=i.isScam,t.verified.validation=i.origin===new URL(s.url).origin?\"VALID\":\"INVALID\")}catch(i){this.client.logger.info(i)}return this.client.logger.info(`Verify context: ${JSON.stringify(t)}`),t},this.validateSessionProps=(e,s)=>{Object.values(e).forEach(t=>{if(!b(t,!1)){const{message:i}=l(\"MISSING_OR_INVALID\",`${s} must be in Record format. Received: ${JSON.stringify(t)}`);throw new Error(i)}})}}async isInitialized(){if(!this.initialized){const{message:r}=l(\"NOT_INITIALIZED\",this.name);throw new Error(r)}await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(Z.message,async r=>{const{topic:e,message:s}=r;if(this.ignoredPayloadTypes.includes(this.client.core.crypto.getPayloadType(s)))return;const t=await this.client.core.crypto.decode(e,s);try{Ze(t)?(this.client.core.history.set(e,t),this.onRelayEventRequest({topic:e,payload:t})):es(t)?(await this.client.core.history.resolve(t),await this.onRelayEventResponse({topic:e,payload:t}),this.client.core.history.delete(e,t.id)):this.onRelayEventUnknownPayload({topic:e,payload:t})}catch(i){this.client.logger.error(i)}})}registerExpirerEvents(){this.client.core.expirer.on(Se.expired,async r=>{const{topic:e,id:s}=Ke(r.target);if(s&&this.client.pendingRequest.keys.includes(s))return await this.deletePendingSessionRequest(s,l(\"EXPIRED\"),!0);e?this.client.session.keys.includes(e)&&(await this.deleteSession({topic:e,expirerHasDeleted:!0}),this.client.events.emit(\"session_expire\",{topic:e})):s&&(await this.deleteProposal(s,!0),this.client.events.emit(\"proposal_expire\",{id:s}))})}registerPairingEvents(){this.client.core.pairing.events.on(Ee.create,r=>this.onPairingCreated(r))}isValidPairingTopic(r){if(!b(r,!1)){const{message:e}=l(\"MISSING_OR_INVALID\",`pairing topic should be a string: ${r}`);throw new Error(e)}if(!this.client.core.pairing.pairings.keys.includes(r)){const{message:e}=l(\"NO_MATCHING_KEY\",`pairing topic doesn't exist: ${r}`);throw new Error(e)}if(V(this.client.core.pairing.pairings.get(r).expiry)){const{message:e}=l(\"EXPIRED\",`pairing topic: ${r}`);throw new Error(e)}}async isValidSessionTopic(r){if(!b(r,!1)){const{message:e}=l(\"MISSING_OR_INVALID\",`session topic should be a string: ${r}`);throw new Error(e)}if(!this.client.session.keys.includes(r)){const{message:e}=l(\"NO_MATCHING_KEY\",`session topic doesn't exist: ${r}`);throw new Error(e)}if(V(this.client.session.get(r).expiry)){await this.deleteSession({topic:r});const{message:e}=l(\"EXPIRED\",`session topic: ${r}`);throw new Error(e)}if(!this.client.core.crypto.keychain.has(r)){const{message:e}=l(\"MISSING_OR_INVALID\",`session topic does not exist in keychain: ${r}`);throw await this.deleteSession({topic:r}),new Error(e)}}async isValidSessionOrPairingTopic(r){if(this.client.session.keys.includes(r))await this.isValidSessionTopic(r);else if(this.client.core.pairing.pairings.keys.includes(r))this.isValidPairingTopic(r);else if(b(r,!1)){const{message:e}=l(\"NO_MATCHING_KEY\",`session or pairing topic doesn't exist: ${r}`);throw new Error(e)}else{const{message:e}=l(\"MISSING_OR_INVALID\",`session or pairing topic should be a string: ${r}`);throw new Error(e)}}async isValidProposalId(r){if(!ze(r)){const{message:e}=l(\"MISSING_OR_INVALID\",`proposal id should be a number: ${r}`);throw new Error(e)}if(!this.client.proposal.keys.includes(r)){const{message:e}=l(\"NO_MATCHING_KEY\",`proposal id doesn't exist: ${r}`);throw new Error(e)}if(V(this.client.proposal.get(r).expiryTimestamp)){await this.deleteProposal(r);const{message:e}=l(\"EXPIRED\",`proposal id: ${r}`);throw new Error(e)}}}class us extends K{constructor(r,e){super(r,e,oe,G),this.core=r,this.logger=e}}class ge extends K{constructor(r,e){super(r,e,ce,G),this.core=r,this.logger=e}}class gs extends K{constructor(r,e){super(r,e,pe,G,s=>s.id),this.core=r,this.logger=e}}class Q extends Pe{constructor(r){super(r),this.protocol=J,this.version=F,this.name=M.name,this.events=new Je,this.on=(s,t)=>this.events.on(s,t),this.once=(s,t)=>this.events.once(s,t),this.off=(s,t)=>this.events.off(s,t),this.removeListener=(s,t)=>this.events.removeListener(s,t),this.removeAllListeners=s=>this.events.removeAllListeners(s),this.connect=async s=>{try{return await this.engine.connect(s)}catch(t){throw this.logger.error(t.message),t}},this.pair=async s=>{try{return await this.engine.pair(s)}catch(t){throw this.logger.error(t.message),t}},this.approve=async s=>{try{return await this.engine.approve(s)}catch(t){throw this.logger.error(t.message),t}},this.reject=async s=>{try{return await this.engine.reject(s)}catch(t){throw this.logger.error(t.message),t}},this.update=async s=>{try{return await this.engine.update(s)}catch(t){throw this.logger.error(t.message),t}},this.extend=async s=>{try{return await this.engine.extend(s)}catch(t){throw this.logger.error(t.message),t}},this.request=async s=>{try{return await this.engine.request(s)}catch(t){throw this.logger.error(t.message),t}},this.respond=async s=>{try{return await this.engine.respond(s)}catch(t){throw this.logger.error(t.message),t}},this.ping=async s=>{try{return await this.engine.ping(s)}catch(t){throw this.logger.error(t.message),t}},this.emit=async s=>{try{return await this.engine.emit(s)}catch(t){throw this.logger.error(t.message),t}},this.disconnect=async s=>{try{return await this.engine.disconnect(s)}catch(t){throw this.logger.error(t.message),t}},this.find=s=>{try{return this.engine.find(s)}catch(t){throw this.logger.error(t.message),t}},this.getPendingSessionRequests=()=>{try{return this.engine.getPendingSessionRequests()}catch(s){throw this.logger.error(s.message),s}},this.name=r?.name||M.name,this.metadata=r?.metadata||Ye();const e=typeof r?.logger<\"u\"&&typeof r?.logger!=\"string\"?r.logger:Ie(_e({level:r?.logger||M.logger}));this.core=r?.core||new Re(r),this.logger=qe(e,this.name),this.session=new ge(this.core,this.logger),this.proposal=new us(this.core,this.logger),this.pendingRequest=new gs(this.core,this.logger),this.engine=new ds(this)}static async init(r){const e=new Q(r);return await e.initialize(),e}get context(){return Ne(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace(\"Initialized\");try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.engine.init(),this.core.verify.init({verifyUrl:this.metadata.verifyUrl}),this.logger.info(\"SignClient Initialization Success\")}catch(r){throw this.logger.info(\"SignClient Initialization Failure\"),this.logger.error(r.message),r}}}const ws=ge,ms=Q;export{le as ENGINE_CONTEXT,I as ENGINE_QUEUE_STATES,R as ENGINE_RPC_OPTS,rs as HISTORY_CONTEXT,is as HISTORY_EVENTS,ns as HISTORY_STORAGE_VERSION,he as METHODS_TO_VERIFY,oe as PROPOSAL_CONTEXT,os as PROPOSAL_EXPIRY,ae as PROPOSAL_EXPIRY_MESSAGE,pe as REQUEST_CONTEXT,ce as SESSION_CONTEXT,L as SESSION_EXPIRY,U as SESSION_REQUEST_EXPIRY_BOUNDARIES,X as SIGN_CLIENT_CONTEXT,M as SIGN_CLIENT_DEFAULT,ss as SIGN_CLIENT_EVENTS,J as SIGN_CLIENT_PROTOCOL,ts as SIGN_CLIENT_STORAGE_OPTIONS,G as SIGN_CLIENT_STORAGE_PREFIX,F as SIGN_CLIENT_VERSION,ws as SessionStore,ms as SignClient,H as WALLETCONNECT_DEEPLINK_CHOICE,Q as default};\n//# sourceMappingURL=index.es.js.map\n","var global = typeof self !== 'undefined' ? self : this;\nvar __self__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = global.DOMException\n}\nF.prototype = global;\nreturn new F();\n})();\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n})({});\n})(__self__);\n__self__.fetch.ponyfill = true;\n// Remove \"polyfill\" property added by whatwg-fetch\ndelete __self__.fetch.polyfill;\n// Choose between native implementation (global) or custom implementation (__self__)\n// var ctx = global.fetch ? global : __self__;\nvar ctx = __self__; // this line disable service worker support temporarily\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n","import { EventEmitter } from \"events\";\nimport fetch from \"cross-fetch\";\nimport { safeJsonParse, safeJsonStringify } from \"@walletconnect/safe-json\";\nimport { formatJsonRpcError, isHttpUrl, parseConnectionError, } from \"@walletconnect/jsonrpc-utils\";\nconst DEFAULT_HTTP_HEADERS = {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n};\nconst DEFAULT_HTTP_METHOD = \"POST\";\nconst DEFAULT_FETCH_OPTS = {\n headers: DEFAULT_HTTP_HEADERS,\n method: DEFAULT_HTTP_METHOD,\n};\nconst EVENT_EMITTER_MAX_LISTENERS_DEFAULT = 10;\nexport class HttpConnection {\n constructor(url, disableProviderPing = false) {\n this.url = url;\n this.disableProviderPing = disableProviderPing;\n this.events = new EventEmitter();\n this.isAvailable = false;\n this.registering = false;\n if (!isHttpUrl(url)) {\n throw new Error(`Provided URL is not compatible with HTTP connection: ${url}`);\n }\n this.url = url;\n this.disableProviderPing = disableProviderPing;\n }\n get connected() {\n return this.isAvailable;\n }\n get connecting() {\n return this.registering;\n }\n on(event, listener) {\n this.events.on(event, listener);\n }\n once(event, listener) {\n this.events.once(event, listener);\n }\n off(event, listener) {\n this.events.off(event, listener);\n }\n removeListener(event, listener) {\n this.events.removeListener(event, listener);\n }\n async open(url = this.url) {\n await this.register(url);\n }\n async close() {\n if (!this.isAvailable) {\n throw new Error(\"Connection already closed\");\n }\n this.onClose();\n }\n async send(payload, context) {\n if (!this.isAvailable) {\n await this.register();\n }\n try {\n const body = safeJsonStringify(payload);\n const res = await fetch(this.url, Object.assign(Object.assign({}, DEFAULT_FETCH_OPTS), { body }));\n const data = await res.json();\n this.onPayload({ data });\n }\n catch (e) {\n this.onError(payload.id, e);\n }\n }\n async register(url = this.url) {\n if (!isHttpUrl(url)) {\n throw new Error(`Provided URL is not compatible with HTTP connection: ${url}`);\n }\n if (this.registering) {\n const currentMaxListeners = this.events.getMaxListeners();\n if (this.events.listenerCount(\"register_error\") >= currentMaxListeners ||\n this.events.listenerCount(\"open\") >= currentMaxListeners) {\n this.events.setMaxListeners(currentMaxListeners + 1);\n }\n return new Promise((resolve, reject) => {\n this.events.once(\"register_error\", error => {\n this.resetMaxListeners();\n reject(error);\n });\n this.events.once(\"open\", () => {\n this.resetMaxListeners();\n if (typeof this.isAvailable === \"undefined\") {\n return reject(new Error(\"HTTP connection is missing or invalid\"));\n }\n resolve();\n });\n });\n }\n this.url = url;\n this.registering = true;\n try {\n if (!this.disableProviderPing) {\n const body = safeJsonStringify({ id: 1, jsonrpc: \"2.0\", method: \"test\", params: [] });\n await fetch(url, Object.assign(Object.assign({}, DEFAULT_FETCH_OPTS), { body }));\n }\n this.onOpen();\n }\n catch (e) {\n const error = this.parseError(e);\n this.events.emit(\"register_error\", error);\n this.onClose();\n throw error;\n }\n }\n onOpen() {\n this.isAvailable = true;\n this.registering = false;\n this.events.emit(\"open\");\n }\n onClose() {\n this.isAvailable = false;\n this.registering = false;\n this.events.emit(\"close\");\n }\n onPayload(e) {\n if (typeof e.data === \"undefined\")\n return;\n const payload = typeof e.data === \"string\" ? safeJsonParse(e.data) : e.data;\n this.events.emit(\"payload\", payload);\n }\n onError(id, e) {\n const error = this.parseError(e);\n const message = error.message || error.toString();\n const payload = formatJsonRpcError(id, message);\n this.events.emit(\"payload\", payload);\n }\n parseError(e, url = this.url) {\n return parseConnectionError(e, url, \"HTTP\");\n }\n resetMaxListeners() {\n if (this.events.getMaxListeners() > EVENT_EMITTER_MAX_LISTENERS_DEFAULT) {\n this.events.setMaxListeners(EVENT_EMITTER_MAX_LISTENERS_DEFAULT);\n }\n }\n}\nexport default HttpConnection;\n//# sourceMappingURL=http.js.map","import bg,{PROPOSAL_EXPIRY_MESSAGE as Tg}from\"@walletconnect/sign-client\";import{isValidObject as Lg,isCaipNamespace as Pa,parseNamespaceKey as de,mergeArrays as $i,parseChainId as Dg,getSdkError as Aa,isValidArray as Ca}from\"@walletconnect/utils\";import{pino as Hg,getDefaultLoggerOptions as Ng}from\"@walletconnect/logger\";import At,{HttpConnection as $g}from\"@walletconnect/jsonrpc-http-connection\";import{JsonRpcProvider as ot}from\"@walletconnect/jsonrpc-provider\";import Ug from\"events\";import{formatJsonRpcResult as Wg}from\"@walletconnect/jsonrpc-utils\";const Ia=\"error\",Fg=\"wss://relay.walletconnect.com\",Mg=\"wc\",qg=\"universal_provider\",xa=`${Mg}@2:${qg}:`,Bg=\"https://rpc.walletconnect.com/v1/\",Vn={DEFAULT_CHAIN_CHANGED:\"default_chain_changed\"};var ge=typeof globalThis<\"u\"?globalThis:typeof window<\"u\"?window:typeof global<\"u\"?global:typeof self<\"u\"?self:{},Ui={exports:{}};/**\n * @license\n * Lodash \n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */(function(A,u){(function(){var i,d=\"4.17.21\",w=200,L=\"Unsupported core-js use. Try https://npms.io/search?q=ponyfill.\",D=\"Expected a function\",En=\"Invalid `variable` option passed into `_.template`\",zt=\"__lodash_hash_undefined__\",pr=500,It=\"__lodash_placeholder__\",Ln=1,Fn=2,xt=4,Et=1,ve=2,vn=1,ct=2,qi=4,Dn=8,yt=16,Hn=32,St=64,Mn=128,Kt=256,dr=512,Da=30,Ha=\"...\",Na=800,$a=16,Bi=1,Ua=2,Wa=3,ht=1/0,kn=9007199254740991,Fa=17976931348623157e292,_e=0/0,Nn=4294967295,Ma=Nn-1,qa=Nn>>>1,Ba=[[\"ary\",Mn],[\"bind\",vn],[\"bindKey\",ct],[\"curry\",Dn],[\"curryRight\",yt],[\"flip\",dr],[\"partial\",Hn],[\"partialRight\",St],[\"rearg\",Kt]],Ot=\"[object Arguments]\",me=\"[object Array]\",Ga=\"[object AsyncFunction]\",Yt=\"[object Boolean]\",Zt=\"[object Date]\",za=\"[object DOMException]\",we=\"[object Error]\",Pe=\"[object Function]\",Gi=\"[object GeneratorFunction]\",yn=\"[object Map]\",Jt=\"[object Number]\",Ka=\"[object Null]\",qn=\"[object Object]\",zi=\"[object Promise]\",Ya=\"[object Proxy]\",Xt=\"[object RegExp]\",Sn=\"[object Set]\",Qt=\"[object String]\",Ae=\"[object Symbol]\",Za=\"[object Undefined]\",Vt=\"[object WeakMap]\",Ja=\"[object WeakSet]\",kt=\"[object ArrayBuffer]\",Rt=\"[object DataView]\",gr=\"[object Float32Array]\",vr=\"[object Float64Array]\",_r=\"[object Int8Array]\",mr=\"[object Int16Array]\",wr=\"[object Int32Array]\",Pr=\"[object Uint8Array]\",Ar=\"[object Uint8ClampedArray]\",Cr=\"[object Uint16Array]\",Ir=\"[object Uint32Array]\",Xa=/\\b__p \\+= '';/g,Qa=/\\b(__p \\+=) '' \\+/g,Va=/(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g,Ki=/&(?:amp|lt|gt|quot|#39);/g,Yi=/[&<>\"']/g,ka=RegExp(Ki.source),ja=RegExp(Yi.source),no=/<%-([\\s\\S]+?)%>/g,to=/<%([\\s\\S]+?)%>/g,Zi=/<%=([\\s\\S]+?)%>/g,eo=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,ro=/^\\w*$/,io=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,xr=/[\\\\^$.*+?()[\\]{}|]/g,so=RegExp(xr.source),Er=/^\\s+/,uo=/\\s/,ao=/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,oo=/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,fo=/,? & /,co=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g,ho=/[()=,{}\\[\\]\\/\\s]/,lo=/\\\\(\\\\)?/g,po=/\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g,Ji=/\\w*$/,go=/^[-+]0x[0-9a-f]+$/i,vo=/^0b[01]+$/i,_o=/^\\[object .+?Constructor\\]$/,mo=/^0o[0-7]+$/i,wo=/^(?:0|[1-9]\\d*)$/,Po=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,Ce=/($^)/,Ao=/['\\n\\r\\u2028\\u2029\\\\]/g,Ie=\"\\\\ud800-\\\\udfff\",Co=\"\\\\u0300-\\\\u036f\",Io=\"\\\\ufe20-\\\\ufe2f\",xo=\"\\\\u20d0-\\\\u20ff\",Xi=Co+Io+xo,Qi=\"\\\\u2700-\\\\u27bf\",Vi=\"a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff\",Eo=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\",yo=\"\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\",So=\"\\\\u2000-\\\\u206f\",Oo=\" \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",ki=\"A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde\",ji=\"\\\\ufe0e\\\\ufe0f\",ns=Eo+yo+So+Oo,yr=\"['\\u2019]\",Ro=\"[\"+Ie+\"]\",ts=\"[\"+ns+\"]\",xe=\"[\"+Xi+\"]\",es=\"\\\\d+\",bo=\"[\"+Qi+\"]\",rs=\"[\"+Vi+\"]\",is=\"[^\"+Ie+ns+es+Qi+Vi+ki+\"]\",Sr=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",To=\"(?:\"+xe+\"|\"+Sr+\")\",ss=\"[^\"+Ie+\"]\",Or=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",Rr=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",bt=\"[\"+ki+\"]\",us=\"\\\\u200d\",as=\"(?:\"+rs+\"|\"+is+\")\",Lo=\"(?:\"+bt+\"|\"+is+\")\",os=\"(?:\"+yr+\"(?:d|ll|m|re|s|t|ve))?\",fs=\"(?:\"+yr+\"(?:D|LL|M|RE|S|T|VE))?\",cs=To+\"?\",hs=\"[\"+ji+\"]?\",Do=\"(?:\"+us+\"(?:\"+[ss,Or,Rr].join(\"|\")+\")\"+hs+cs+\")*\",Ho=\"\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])\",No=\"\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])\",ls=hs+cs+Do,$o=\"(?:\"+[bo,Or,Rr].join(\"|\")+\")\"+ls,Uo=\"(?:\"+[ss+xe+\"?\",xe,Or,Rr,Ro].join(\"|\")+\")\",Wo=RegExp(yr,\"g\"),Fo=RegExp(xe,\"g\"),br=RegExp(Sr+\"(?=\"+Sr+\")|\"+Uo+ls,\"g\"),Mo=RegExp([bt+\"?\"+rs+\"+\"+os+\"(?=\"+[ts,bt,\"$\"].join(\"|\")+\")\",Lo+\"+\"+fs+\"(?=\"+[ts,bt+as,\"$\"].join(\"|\")+\")\",bt+\"?\"+as+\"+\"+os,bt+\"+\"+fs,No,Ho,es,$o].join(\"|\"),\"g\"),qo=RegExp(\"[\"+us+Ie+Xi+ji+\"]\"),Bo=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Go=[\"Array\",\"Buffer\",\"DataView\",\"Date\",\"Error\",\"Float32Array\",\"Float64Array\",\"Function\",\"Int8Array\",\"Int16Array\",\"Int32Array\",\"Map\",\"Math\",\"Object\",\"Promise\",\"RegExp\",\"Set\",\"String\",\"Symbol\",\"TypeError\",\"Uint8Array\",\"Uint8ClampedArray\",\"Uint16Array\",\"Uint32Array\",\"WeakMap\",\"_\",\"clearTimeout\",\"isFinite\",\"parseInt\",\"setTimeout\"],zo=-1,B={};B[gr]=B[vr]=B[_r]=B[mr]=B[wr]=B[Pr]=B[Ar]=B[Cr]=B[Ir]=!0,B[Ot]=B[me]=B[kt]=B[Yt]=B[Rt]=B[Zt]=B[we]=B[Pe]=B[yn]=B[Jt]=B[qn]=B[Xt]=B[Sn]=B[Qt]=B[Vt]=!1;var q={};q[Ot]=q[me]=q[kt]=q[Rt]=q[Yt]=q[Zt]=q[gr]=q[vr]=q[_r]=q[mr]=q[wr]=q[yn]=q[Jt]=q[qn]=q[Xt]=q[Sn]=q[Qt]=q[Ae]=q[Pr]=q[Ar]=q[Cr]=q[Ir]=!0,q[we]=q[Pe]=q[Vt]=!1;var Ko={\\u00C0:\"A\",\\u00C1:\"A\",\\u00C2:\"A\",\\u00C3:\"A\",\\u00C4:\"A\",\\u00C5:\"A\",\\u00E0:\"a\",\\u00E1:\"a\",\\u00E2:\"a\",\\u00E3:\"a\",\\u00E4:\"a\",\\u00E5:\"a\",\\u00C7:\"C\",\\u00E7:\"c\",\\u00D0:\"D\",\\u00F0:\"d\",\\u00C8:\"E\",\\u00C9:\"E\",\\u00CA:\"E\",\\u00CB:\"E\",\\u00E8:\"e\",\\u00E9:\"e\",\\u00EA:\"e\",\\u00EB:\"e\",\\u00CC:\"I\",\\u00CD:\"I\",\\u00CE:\"I\",\\u00CF:\"I\",\\u00EC:\"i\",\\u00ED:\"i\",\\u00EE:\"i\",\\u00EF:\"i\",\\u00D1:\"N\",\\u00F1:\"n\",\\u00D2:\"O\",\\u00D3:\"O\",\\u00D4:\"O\",\\u00D5:\"O\",\\u00D6:\"O\",\\u00D8:\"O\",\\u00F2:\"o\",\\u00F3:\"o\",\\u00F4:\"o\",\\u00F5:\"o\",\\u00F6:\"o\",\\u00F8:\"o\",\\u00D9:\"U\",\\u00DA:\"U\",\\u00DB:\"U\",\\u00DC:\"U\",\\u00F9:\"u\",\\u00FA:\"u\",\\u00FB:\"u\",\\u00FC:\"u\",\\u00DD:\"Y\",\\u00FD:\"y\",\\u00FF:\"y\",\\u00C6:\"Ae\",\\u00E6:\"ae\",\\u00DE:\"Th\",\\u00FE:\"th\",\\u00DF:\"ss\",\\u0100:\"A\",\\u0102:\"A\",\\u0104:\"A\",\\u0101:\"a\",\\u0103:\"a\",\\u0105:\"a\",\\u0106:\"C\",\\u0108:\"C\",\\u010A:\"C\",\\u010C:\"C\",\\u0107:\"c\",\\u0109:\"c\",\\u010B:\"c\",\\u010D:\"c\",\\u010E:\"D\",\\u0110:\"D\",\\u010F:\"d\",\\u0111:\"d\",\\u0112:\"E\",\\u0114:\"E\",\\u0116:\"E\",\\u0118:\"E\",\\u011A:\"E\",\\u0113:\"e\",\\u0115:\"e\",\\u0117:\"e\",\\u0119:\"e\",\\u011B:\"e\",\\u011C:\"G\",\\u011E:\"G\",\\u0120:\"G\",\\u0122:\"G\",\\u011D:\"g\",\\u011F:\"g\",\\u0121:\"g\",\\u0123:\"g\",\\u0124:\"H\",\\u0126:\"H\",\\u0125:\"h\",\\u0127:\"h\",\\u0128:\"I\",\\u012A:\"I\",\\u012C:\"I\",\\u012E:\"I\",\\u0130:\"I\",\\u0129:\"i\",\\u012B:\"i\",\\u012D:\"i\",\\u012F:\"i\",\\u0131:\"i\",\\u0134:\"J\",\\u0135:\"j\",\\u0136:\"K\",\\u0137:\"k\",\\u0138:\"k\",\\u0139:\"L\",\\u013B:\"L\",\\u013D:\"L\",\\u013F:\"L\",\\u0141:\"L\",\\u013A:\"l\",\\u013C:\"l\",\\u013E:\"l\",\\u0140:\"l\",\\u0142:\"l\",\\u0143:\"N\",\\u0145:\"N\",\\u0147:\"N\",\\u014A:\"N\",\\u0144:\"n\",\\u0146:\"n\",\\u0148:\"n\",\\u014B:\"n\",\\u014C:\"O\",\\u014E:\"O\",\\u0150:\"O\",\\u014D:\"o\",\\u014F:\"o\",\\u0151:\"o\",\\u0154:\"R\",\\u0156:\"R\",\\u0158:\"R\",\\u0155:\"r\",\\u0157:\"r\",\\u0159:\"r\",\\u015A:\"S\",\\u015C:\"S\",\\u015E:\"S\",\\u0160:\"S\",\\u015B:\"s\",\\u015D:\"s\",\\u015F:\"s\",\\u0161:\"s\",\\u0162:\"T\",\\u0164:\"T\",\\u0166:\"T\",\\u0163:\"t\",\\u0165:\"t\",\\u0167:\"t\",\\u0168:\"U\",\\u016A:\"U\",\\u016C:\"U\",\\u016E:\"U\",\\u0170:\"U\",\\u0172:\"U\",\\u0169:\"u\",\\u016B:\"u\",\\u016D:\"u\",\\u016F:\"u\",\\u0171:\"u\",\\u0173:\"u\",\\u0174:\"W\",\\u0175:\"w\",\\u0176:\"Y\",\\u0177:\"y\",\\u0178:\"Y\",\\u0179:\"Z\",\\u017B:\"Z\",\\u017D:\"Z\",\\u017A:\"z\",\\u017C:\"z\",\\u017E:\"z\",\\u0132:\"IJ\",\\u0133:\"ij\",\\u0152:\"Oe\",\\u0153:\"oe\",\\u0149:\"'n\",\\u017F:\"s\"},Yo={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\",\"'\":\"'\"},Zo={\"&\":\"&\",\"<\":\"<\",\">\":\">\",\""\":'\"',\"'\":\"'\"},Jo={\"\\\\\":\"\\\\\",\"'\":\"'\",\"\\n\":\"n\",\"\\r\":\"r\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},Xo=parseFloat,Qo=parseInt,ps=typeof ge==\"object\"&&ge&&ge.Object===Object&&ge,Vo=typeof self==\"object\"&&self&&self.Object===Object&&self,k=ps||Vo||Function(\"return this\")(),Tr=u&&!u.nodeType&&u,lt=Tr&&!0&&A&&!A.nodeType&&A,ds=lt&<.exports===Tr,Lr=ds&&ps.process,_n=function(){try{var h=lt&<.require&<.require(\"util\").types;return h||Lr&&Lr.binding&&Lr.binding(\"util\")}catch{}}(),gs=_n&&_n.isArrayBuffer,vs=_n&&_n.isDate,_s=_n&&_n.isMap,ms=_n&&_n.isRegExp,ws=_n&&_n.isSet,Ps=_n&&_n.isTypedArray;function cn(h,g,p){switch(p.length){case 0:return h.call(g);case 1:return h.call(g,p[0]);case 2:return h.call(g,p[0],p[1]);case 3:return h.call(g,p[0],p[1],p[2])}return h.apply(g,p)}function ko(h,g,p,C){for(var S=-1,U=h==null?0:h.length;++S-1}function Dr(h,g,p){for(var C=-1,S=h==null?0:h.length;++C-1;);return p}function Os(h,g){for(var p=h.length;p--&&Tt(g,h[p],0)>-1;);return p}function of(h,g){for(var p=h.length,C=0;p--;)h[p]===g&&++C;return C}var ff=Ur(Ko),cf=Ur(Yo);function hf(h){return\"\\\\\"+Jo[h]}function lf(h,g){return h==null?i:h[g]}function Lt(h){return qo.test(h)}function pf(h){return Bo.test(h)}function df(h){for(var g,p=[];!(g=h.next()).done;)p.push(g.value);return p}function qr(h){var g=-1,p=Array(h.size);return h.forEach(function(C,S){p[++g]=[S,C]}),p}function Rs(h,g){return function(p){return h(g(p))}}function tt(h,g){for(var p=-1,C=h.length,S=0,U=[];++p-1}function tc(n,t){var e=this.__data__,r=Be(e,n);return r<0?(++this.size,e.push([n,t])):e[r][1]=t,this}Bn.prototype.clear=Vf,Bn.prototype.delete=kf,Bn.prototype.get=jf,Bn.prototype.has=nc,Bn.prototype.set=tc;function Gn(n){var t=-1,e=n==null?0:n.length;for(this.clear();++t=t?n:t)),n}function An(n,t,e,r,s,o){var f,c=t&Ln,l=t&Fn,v=t&xt;if(e&&(f=s?e(n,r,s,o):e(n)),f!==i)return f;if(!K(n))return n;var _=O(n);if(_){if(f=sh(n),!c)return un(n,f)}else{var m=tn(n),P=m==Pe||m==Gi;if(at(n))return hu(n,c);if(m==qn||m==Ot||P&&!s){if(f=l||P?{}:bu(n),!c)return l?Jc(n,_c(f,n)):Zc(n,qs(f,n))}else{if(!q[m])return s?n:{};f=uh(n,m,c)}}o||(o=new Rn);var I=o.get(n);if(I)return I;o.set(n,f),sa(n)?n.forEach(function(y){f.add(An(y,t,e,y,n,o))}):ra(n)&&n.forEach(function(y,H){f.set(H,An(y,t,e,H,n,o))});var E=v?l?pi:li:l?on:V,b=_?i:E(n);return mn(b||n,function(y,H){b&&(H=y,y=n[H]),se(f,H,An(y,t,e,H,n,o))}),f}function mc(n){var t=V(n);return function(e){return Bs(e,n,t)}}function Bs(n,t,e){var r=e.length;if(n==null)return!r;for(n=M(n);r--;){var s=e[r],o=t[s],f=n[s];if(f===i&&!(s in n)||!o(f))return!1}return!0}function Gs(n,t,e){if(typeof n!=\"function\")throw new wn(D);return le(function(){n.apply(i,e)},t)}function ue(n,t,e,r){var s=-1,o=Ee,f=!0,c=n.length,l=[],v=t.length;if(!c)return l;e&&(t=G(t,hn(e))),r?(o=Dr,f=!1):t.length>=w&&(o=jt,f=!1,t=new gt(t));n:for(;++ss?0:s+e),r=r===i||r>s?s:R(r),r<0&&(r+=s),r=e>r?0:aa(r);e0&&e(c)?t>1?j(c,t-1,e,r,s):nt(s,c):r||(s[s.length]=c)}return s}var Jr=_u(),Ys=_u(!0);function $n(n,t){return n&&Jr(n,t,V)}function Xr(n,t){return n&&Ys(n,t,V)}function ze(n,t){return jn(t,function(e){return Jn(n[e])})}function _t(n,t){t=st(t,n);for(var e=0,r=t.length;n!=null&&et}function Ac(n,t){return n!=null&&F.call(n,t)}function Cc(n,t){return n!=null&&t in M(n)}function Ic(n,t,e){return n>=nn(t,e)&&n=120&&_.length>=120)?new gt(f&&_):i}_=n[0];var m=-1,P=c[0];n:for(;++m-1;)c!==n&&Ne.call(c,l,1),Ne.call(n,l,1);return n}function ru(n,t){for(var e=n?t.length:0,r=e-1;e--;){var s=t[e];if(e==r||s!==o){var o=s;Zn(s)?Ne.call(n,s,1):si(n,s)}}return n}function ei(n,t){return n+We(Us()*(t-n+1))}function $c(n,t,e,r){for(var s=-1,o=Q(Ue((t-n)/(e||1)),0),f=p(o);o--;)f[r?o:++s]=n,n+=e;return f}function ri(n,t){var e=\"\";if(!n||t<1||t>kn)return e;do t%2&&(e+=n),t=We(t/2),t&&(n+=n);while(t);return e}function T(n,t){return Pi(Du(n,t,fn),n+\"\")}function Uc(n){return Ms(Gt(n))}function Wc(n,t){var e=Gt(n);return tr(e,vt(t,0,e.length))}function fe(n,t,e,r){if(!K(n))return n;t=st(t,n);for(var s=-1,o=t.length,f=o-1,c=n;c!=null&&++ss?0:s+t),e=e>s?s:e,e<0&&(e+=s),s=t>e?0:e-t>>>0,t>>>=0;for(var o=p(s);++r>>1,f=n[o];f!==null&&!pn(f)&&(e?f<=t:f=w){var v=t?null:kc(n);if(v)return Se(v);f=!1,s=jt,l=new gt}else l=t?[]:c;n:for(;++r=r?n:Cn(n,t,e)}var cu=Rf||function(n){return k.clearTimeout(n)};function hu(n,t){if(t)return n.slice();var e=n.length,r=Ls?Ls(e):new n.constructor(e);return n.copy(r),r}function fi(n){var t=new n.constructor(n.byteLength);return new De(t).set(new De(n)),t}function Gc(n,t){var e=t?fi(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}function zc(n){var t=new n.constructor(n.source,Ji.exec(n));return t.lastIndex=n.lastIndex,t}function Kc(n){return ie?M(ie.call(n)):{}}function lu(n,t){var e=t?fi(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.length)}function pu(n,t){if(n!==t){var e=n!==i,r=n===null,s=n===n,o=pn(n),f=t!==i,c=t===null,l=t===t,v=pn(t);if(!c&&!v&&!o&&n>t||o&&f&&l&&!c&&!v||r&&f&&l||!e&&l||!s)return 1;if(!r&&!o&&!v&&n=c)return l;var v=e[r];return l*(v==\"desc\"?-1:1)}}return n.index-t.index}function du(n,t,e,r){for(var s=-1,o=n.length,f=e.length,c=-1,l=t.length,v=Q(o-f,0),_=p(l+v),m=!r;++c1?e[s-1]:i,f=s>2?e[2]:i;for(o=n.length>3&&typeof o==\"function\"?(s--,o):i,f&&rn(e[0],e[1],f)&&(o=s<3?i:o,s=1),t=M(t);++r-1?s[o?t[f]:f]:i}}function Pu(n){return Yn(function(t){var e=t.length,r=e,s=Pn.prototype.thru;for(n&&t.reverse();r--;){var o=t[r];if(typeof o!=\"function\")throw new wn(D);if(s&&!f&&je(o)==\"wrapper\")var f=new Pn([],!0)}for(r=f?r:e;++r1&&$.reverse(),_&&lc))return!1;var v=o.get(n),_=o.get(t);if(v&&_)return v==t&&_==n;var m=-1,P=!0,I=e&ve?new gt:i;for(o.set(n,t),o.set(t,n);++m1?\"& \":\"\")+t[r],t=t.join(e>2?\", \":\" \"),n.replace(ao,`{\n/* [wrapped with `+t+`] */\n`)}function oh(n){return O(n)||Pt(n)||!!(Ns&&n&&n[Ns])}function Zn(n,t){var e=typeof n;return t=t??kn,!!t&&(e==\"number\"||e!=\"symbol\"&&wo.test(n))&&n>-1&&n%1==0&&n0){if(++t>=Na)return arguments[0]}else t=0;return n.apply(i,arguments)}}function tr(n,t){var e=-1,r=n.length,s=r-1;for(t=t===i?r:t;++e1?n[t-1]:i;return e=typeof e==\"function\"?(n.pop(),e):i,Ku(n,e)});function Yu(n){var t=a(n);return t.__chain__=!0,t}function wl(n,t){return t(n),n}function er(n,t){return t(n)}var Pl=Yn(function(n){var t=n.length,e=t?n[0]:0,r=this.__wrapped__,s=function(o){return Zr(o,n)};return t>1||this.__actions__.length||!(r instanceof N)||!Zn(e)?this.thru(s):(r=r.slice(e,+e+(t?1:0)),r.__actions__.push({func:er,args:[s],thisArg:i}),new Pn(r,this.__chain__).thru(function(o){return t&&!o.length&&o.push(i),o}))});function Al(){return Yu(this)}function Cl(){return new Pn(this.value(),this.__chain__)}function Il(){this.__values__===i&&(this.__values__=ua(this.value()));var n=this.__index__>=this.__values__.length,t=n?i:this.__values__[this.__index__++];return{done:n,value:t}}function xl(){return this}function El(n){for(var t,e=this;e instanceof qe;){var r=Fu(e);r.__index__=0,r.__values__=i,t?s.__wrapped__=r:t=r;var s=r;e=e.__wrapped__}return s.__wrapped__=n,t}function yl(){var n=this.__wrapped__;if(n instanceof N){var t=n;return this.__actions__.length&&(t=new N(this)),t=t.reverse(),t.__actions__.push({func:er,args:[Ai],thisArg:i}),new Pn(t,this.__chain__)}return this.thru(Ai)}function Sl(){return ou(this.__wrapped__,this.__actions__)}var Ol=Je(function(n,t,e){F.call(n,e)?++n[e]:zn(n,e,1)});function Rl(n,t,e){var r=O(n)?As:wc;return e&&rn(n,t,e)&&(t=i),r(n,x(t,3))}function bl(n,t){var e=O(n)?jn:Ks;return e(n,x(t,3))}var Tl=wu(Mu),Ll=wu(qu);function Dl(n,t){return j(rr(n,t),1)}function Hl(n,t){return j(rr(n,t),ht)}function Nl(n,t,e){return e=e===i?1:R(e),j(rr(n,t),e)}function Zu(n,t){var e=O(n)?mn:rt;return e(n,x(t,3))}function Ju(n,t){var e=O(n)?jo:zs;return e(n,x(t,3))}var $l=Je(function(n,t,e){F.call(n,e)?n[e].push(t):zn(n,e,[t])});function Ul(n,t,e,r){n=an(n)?n:Gt(n),e=e&&!r?R(e):0;var s=n.length;return e<0&&(e=Q(s+e,0)),or(n)?e<=s&&n.indexOf(t,e)>-1:!!s&&Tt(n,t,e)>-1}var Wl=T(function(n,t,e){var r=-1,s=typeof t==\"function\",o=an(n)?p(n.length):[];return rt(n,function(f){o[++r]=s?cn(t,f,e):ae(f,t,e)}),o}),Fl=Je(function(n,t,e){zn(n,e,t)});function rr(n,t){var e=O(n)?G:Vs;return e(n,x(t,3))}function Ml(n,t,e,r){return n==null?[]:(O(t)||(t=t==null?[]:[t]),e=r?i:e,O(e)||(e=e==null?[]:[e]),tu(n,t,e))}var ql=Je(function(n,t,e){n[e?0:1].push(t)},function(){return[[],[]]});function Bl(n,t,e){var r=O(n)?Hr:Es,s=arguments.length<3;return r(n,x(t,4),e,s,rt)}function Gl(n,t,e){var r=O(n)?nf:Es,s=arguments.length<3;return r(n,x(t,4),e,s,zs)}function zl(n,t){var e=O(n)?jn:Ks;return e(n,ur(x(t,3)))}function Kl(n){var t=O(n)?Ms:Uc;return t(n)}function Yl(n,t,e){(e?rn(n,t,e):t===i)?t=1:t=R(t);var r=O(n)?dc:Wc;return r(n,t)}function Zl(n){var t=O(n)?gc:Mc;return t(n)}function Jl(n){if(n==null)return 0;if(an(n))return or(n)?Dt(n):n.length;var t=tn(n);return t==yn||t==Sn?n.size:jr(n).length}function Xl(n,t,e){var r=O(n)?Nr:qc;return e&&rn(n,t,e)&&(t=i),r(n,x(t,3))}var Ql=T(function(n,t){if(n==null)return[];var e=t.length;return e>1&&rn(n,t[0],t[1])?t=[]:e>2&&rn(t[0],t[1],t[2])&&(t=[t[0]]),tu(n,j(t,1),[])}),ir=bf||function(){return k.Date.now()};function Vl(n,t){if(typeof t!=\"function\")throw new wn(D);return n=R(n),function(){if(--n<1)return t.apply(this,arguments)}}function Xu(n,t,e){return t=e?i:t,t=n&&t==null?n.length:t,Kn(n,Mn,i,i,i,i,t)}function Qu(n,t){var e;if(typeof t!=\"function\")throw new wn(D);return n=R(n),function(){return--n>0&&(e=t.apply(this,arguments)),n<=1&&(t=i),e}}var Ii=T(function(n,t,e){var r=vn;if(e.length){var s=tt(e,qt(Ii));r|=Hn}return Kn(n,r,t,e,s)}),Vu=T(function(n,t,e){var r=vn|ct;if(e.length){var s=tt(e,qt(Vu));r|=Hn}return Kn(t,r,n,e,s)});function ku(n,t,e){t=e?i:t;var r=Kn(n,Dn,i,i,i,i,i,t);return r.placeholder=ku.placeholder,r}function ju(n,t,e){t=e?i:t;var r=Kn(n,yt,i,i,i,i,i,t);return r.placeholder=ju.placeholder,r}function na(n,t,e){var r,s,o,f,c,l,v=0,_=!1,m=!1,P=!0;if(typeof n!=\"function\")throw new wn(D);t=xn(t)||0,K(e)&&(_=!!e.leading,m=\"maxWait\"in e,o=m?Q(xn(e.maxWait)||0,t):o,P=\"trailing\"in e?!!e.trailing:P);function I(J){var Tn=r,Qn=s;return r=s=i,v=J,f=n.apply(Qn,Tn),f}function E(J){return v=J,c=le(H,t),_?I(J):f}function b(J){var Tn=J-l,Qn=J-v,wa=t-Tn;return m?nn(wa,o-Qn):wa}function y(J){var Tn=J-l,Qn=J-v;return l===i||Tn>=t||Tn<0||m&&Qn>=o}function H(){var J=ir();if(y(J))return $(J);c=le(H,b(J))}function $(J){return c=i,P&&r?I(J):(r=s=i,f)}function dn(){c!==i&&cu(c),v=0,r=l=s=c=i}function sn(){return c===i?f:$(ir())}function gn(){var J=ir(),Tn=y(J);if(r=arguments,s=this,l=J,Tn){if(c===i)return E(l);if(m)return cu(c),c=le(H,t),I(l)}return c===i&&(c=le(H,t)),f}return gn.cancel=dn,gn.flush=sn,gn}var kl=T(function(n,t){return Gs(n,1,t)}),jl=T(function(n,t,e){return Gs(n,xn(t)||0,e)});function np(n){return Kn(n,dr)}function sr(n,t){if(typeof n!=\"function\"||t!=null&&typeof t!=\"function\")throw new wn(D);var e=function(){var r=arguments,s=t?t.apply(this,r):r[0],o=e.cache;if(o.has(s))return o.get(s);var f=n.apply(this,r);return e.cache=o.set(s,f)||o,f};return e.cache=new(sr.Cache||Gn),e}sr.Cache=Gn;function ur(n){if(typeof n!=\"function\")throw new wn(D);return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:return!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}function tp(n){return Qu(2,n)}var ep=Bc(function(n,t){t=t.length==1&&O(t[0])?G(t[0],hn(x())):G(j(t,1),hn(x()));var e=t.length;return T(function(r){for(var s=-1,o=nn(r.length,e);++s=t}),Pt=Js(function(){return arguments}())?Js:function(n){return Y(n)&&F.call(n,\"callee\")&&!Hs.call(n,\"callee\")},O=p.isArray,_p=gs?hn(gs):Ec;function an(n){return n!=null&&ar(n.length)&&!Jn(n)}function Z(n){return Y(n)&&an(n)}function mp(n){return n===!0||n===!1||Y(n)&&en(n)==Yt}var at=Lf||Ni,wp=vs?hn(vs):yc;function Pp(n){return Y(n)&&n.nodeType===1&&!pe(n)}function Ap(n){if(n==null)return!0;if(an(n)&&(O(n)||typeof n==\"string\"||typeof n.splice==\"function\"||at(n)||Bt(n)||Pt(n)))return!n.length;var t=tn(n);if(t==yn||t==Sn)return!n.size;if(he(n))return!jr(n).length;for(var e in n)if(F.call(n,e))return!1;return!0}function Cp(n,t){return oe(n,t)}function Ip(n,t,e){e=typeof e==\"function\"?e:i;var r=e?e(n,t):i;return r===i?oe(n,t,i,e):!!r}function Ei(n){if(!Y(n))return!1;var t=en(n);return t==we||t==za||typeof n.message==\"string\"&&typeof n.name==\"string\"&&!pe(n)}function xp(n){return typeof n==\"number\"&&$s(n)}function Jn(n){if(!K(n))return!1;var t=en(n);return t==Pe||t==Gi||t==Ga||t==Ya}function ea(n){return typeof n==\"number\"&&n==R(n)}function ar(n){return typeof n==\"number\"&&n>-1&&n%1==0&&n<=kn}function K(n){var t=typeof n;return n!=null&&(t==\"object\"||t==\"function\")}function Y(n){return n!=null&&typeof n==\"object\"}var ra=_s?hn(_s):Oc;function Ep(n,t){return n===t||kr(n,t,gi(t))}function yp(n,t,e){return e=typeof e==\"function\"?e:i,kr(n,t,gi(t),e)}function Sp(n){return ia(n)&&n!=+n}function Op(n){if(hh(n))throw new S(L);return Xs(n)}function Rp(n){return n===null}function bp(n){return n==null}function ia(n){return typeof n==\"number\"||Y(n)&&en(n)==Jt}function pe(n){if(!Y(n)||en(n)!=qn)return!1;var t=He(n);if(t===null)return!0;var e=F.call(t,\"constructor\")&&t.constructor;return typeof e==\"function\"&&e instanceof e&&be.call(e)==yf}var yi=ms?hn(ms):Rc;function Tp(n){return ea(n)&&n>=-kn&&n<=kn}var sa=ws?hn(ws):bc;function or(n){return typeof n==\"string\"||!O(n)&&Y(n)&&en(n)==Qt}function pn(n){return typeof n==\"symbol\"||Y(n)&&en(n)==Ae}var Bt=Ps?hn(Ps):Tc;function Lp(n){return n===i}function Dp(n){return Y(n)&&tn(n)==Vt}function Hp(n){return Y(n)&&en(n)==Ja}var Np=ke(ni),$p=ke(function(n,t){return n<=t});function ua(n){if(!n)return[];if(an(n))return or(n)?On(n):un(n);if(ne&&n[ne])return df(n[ne]());var t=tn(n),e=t==yn?qr:t==Sn?Se:Gt;return e(n)}function Xn(n){if(!n)return n===0?n:0;if(n=xn(n),n===ht||n===-ht){var t=n<0?-1:1;return t*Fa}return n===n?n:0}function R(n){var t=Xn(n),e=t%1;return t===t?e?t-e:t:0}function aa(n){return n?vt(R(n),0,Nn):0}function xn(n){if(typeof n==\"number\")return n;if(pn(n))return _e;if(K(n)){var t=typeof n.valueOf==\"function\"?n.valueOf():n;n=K(t)?t+\"\":t}if(typeof n!=\"string\")return n===0?n:+n;n=ys(n);var e=vo.test(n);return e||mo.test(n)?Qo(n.slice(2),e?2:8):go.test(n)?_e:+n}function oa(n){return Un(n,on(n))}function Up(n){return n?vt(R(n),-kn,kn):n===0?n:0}function W(n){return n==null?\"\":ln(n)}var Wp=Ft(function(n,t){if(he(t)||an(t)){Un(t,V(t),n);return}for(var e in t)F.call(t,e)&&se(n,e,t[e])}),fa=Ft(function(n,t){Un(t,on(t),n)}),fr=Ft(function(n,t,e,r){Un(t,on(t),n,r)}),Fp=Ft(function(n,t,e,r){Un(t,V(t),n,r)}),Mp=Yn(Zr);function qp(n,t){var e=Wt(n);return t==null?e:qs(e,t)}var Bp=T(function(n,t){n=M(n);var e=-1,r=t.length,s=r>2?t[2]:i;for(s&&rn(t[0],t[1],s)&&(r=1);++e1),o}),Un(n,pi(n),e),r&&(e=An(e,Ln|Fn|xt,jc));for(var s=t.length;s--;)si(e,t[s]);return e});function ud(n,t){return ha(n,ur(x(t)))}var ad=Yn(function(n,t){return n==null?{}:Hc(n,t)});function ha(n,t){if(n==null)return{};var e=G(pi(n),function(r){return[r]});return t=x(t),eu(n,e,function(r,s){return t(r,s[0])})}function od(n,t,e){t=st(t,n);var r=-1,s=t.length;for(s||(s=1,n=i);++rt){var r=n;n=t,t=r}if(e||n%1||t%1){var s=Us();return nn(n+s*(t-n+Xo(\"1e-\"+((s+\"\").length-1))),t)}return ei(n,t)}var wd=Mt(function(n,t,e){return t=t.toLowerCase(),n+(e?da(t):t)});function da(n){return Ri(W(n).toLowerCase())}function ga(n){return n=W(n),n&&n.replace(Po,ff).replace(Fo,\"\")}function Pd(n,t,e){n=W(n),t=ln(t);var r=n.length;e=e===i?r:vt(R(e),0,r);var s=e;return e-=t.length,e>=0&&n.slice(e,s)==t}function Ad(n){return n=W(n),n&&ja.test(n)?n.replace(Yi,cf):n}function Cd(n){return n=W(n),n&&so.test(n)?n.replace(xr,\"\\\\$&\"):n}var Id=Mt(function(n,t,e){return n+(e?\"-\":\"\")+t.toLowerCase()}),xd=Mt(function(n,t,e){return n+(e?\" \":\"\")+t.toLowerCase()}),Ed=mu(\"toLowerCase\");function yd(n,t,e){n=W(n),t=R(t);var r=t?Dt(n):0;if(!t||r>=t)return n;var s=(t-r)/2;return Ve(We(s),e)+n+Ve(Ue(s),e)}function Sd(n,t,e){n=W(n),t=R(t);var r=t?Dt(n):0;return t&&r>>0,e?(n=W(n),n&&(typeof t==\"string\"||t!=null&&!yi(t))&&(t=ln(t),!t&&Lt(n))?ut(On(n),0,e):n.split(t,e)):[]}var Hd=Mt(function(n,t,e){return n+(e?\" \":\"\")+Ri(t)});function Nd(n,t,e){return n=W(n),e=e==null?0:vt(R(e),0,n.length),t=ln(t),n.slice(e,e+t.length)==t}function $d(n,t,e){var r=a.templateSettings;e&&rn(n,t,e)&&(t=i),n=W(n),t=fr({},t,r,Eu);var s=fr({},t.imports,r.imports,Eu),o=V(s),f=Mr(s,o),c,l,v=0,_=t.interpolate||Ce,m=\"__p += '\",P=Br((t.escape||Ce).source+\"|\"+_.source+\"|\"+(_===Zi?po:Ce).source+\"|\"+(t.evaluate||Ce).source+\"|$\",\"g\"),I=\"//# sourceURL=\"+(F.call(t,\"sourceURL\")?(t.sourceURL+\"\").replace(/\\s/g,\" \"):\"lodash.templateSources[\"+ ++zo+\"]\")+`\n`;n.replace(P,function(y,H,$,dn,sn,gn){return $||($=dn),m+=n.slice(v,gn).replace(Ao,hf),H&&(c=!0,m+=`' +\n__e(`+H+`) +\n'`),sn&&(l=!0,m+=`';\n`+sn+`;\n__p += '`),$&&(m+=`' +\n((__t = (`+$+`)) == null ? '' : __t) +\n'`),v=gn+y.length,y}),m+=`';\n`;var E=F.call(t,\"variable\")&&t.variable;if(!E)m=`with (obj) {\n`+m+`\n}\n`;else if(ho.test(E))throw new S(En);m=(l?m.replace(Xa,\"\"):m).replace(Qa,\"$1\").replace(Va,\"$1;\"),m=\"function(\"+(E||\"obj\")+`) {\n`+(E?\"\":`obj || (obj = {});\n`)+\"var __t, __p = ''\"+(c?\", __e = _.escape\":\"\")+(l?`, __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n`:`;\n`)+m+`return __p\n}`;var b=_a(function(){return U(o,I+\"return \"+m).apply(i,f)});if(b.source=m,Ei(b))throw b;return b}function Ud(n){return W(n).toLowerCase()}function Wd(n){return W(n).toUpperCase()}function Fd(n,t,e){if(n=W(n),n&&(e||t===i))return ys(n);if(!n||!(t=ln(t)))return n;var r=On(n),s=On(t),o=Ss(r,s),f=Os(r,s)+1;return ut(r,o,f).join(\"\")}function Md(n,t,e){if(n=W(n),n&&(e||t===i))return n.slice(0,bs(n)+1);if(!n||!(t=ln(t)))return n;var r=On(n),s=Os(r,On(t))+1;return ut(r,0,s).join(\"\")}function qd(n,t,e){if(n=W(n),n&&(e||t===i))return n.replace(Er,\"\");if(!n||!(t=ln(t)))return n;var r=On(n),s=Ss(r,On(t));return ut(r,s).join(\"\")}function Bd(n,t){var e=Da,r=Ha;if(K(t)){var s=\"separator\"in t?t.separator:s;e=\"length\"in t?R(t.length):e,r=\"omission\"in t?ln(t.omission):r}n=W(n);var o=n.length;if(Lt(n)){var f=On(n);o=f.length}if(e>=o)return n;var c=e-Dt(r);if(c<1)return r;var l=f?ut(f,0,c).join(\"\"):n.slice(0,c);if(s===i)return l+r;if(f&&(c+=l.length-c),yi(s)){if(n.slice(c).search(s)){var v,_=l;for(s.global||(s=Br(s.source,W(Ji.exec(s))+\"g\")),s.lastIndex=0;v=s.exec(_);)var m=v.index;l=l.slice(0,m===i?c:m)}}else if(n.indexOf(ln(s),c)!=c){var P=l.lastIndexOf(s);P>-1&&(l=l.slice(0,P))}return l+r}function Gd(n){return n=W(n),n&&ka.test(n)?n.replace(Ki,mf):n}var zd=Mt(function(n,t,e){return n+(e?\" \":\"\")+t.toUpperCase()}),Ri=mu(\"toUpperCase\");function va(n,t,e){return n=W(n),t=e?i:t,t===i?pf(n)?Af(n):rf(n):n.match(t)||[]}var _a=T(function(n,t){try{return cn(n,i,t)}catch(e){return Ei(e)?e:new S(e)}}),Kd=Yn(function(n,t){return mn(t,function(e){e=Wn(e),zn(n,e,Ii(n[e],n))}),n});function Yd(n){var t=n==null?0:n.length,e=x();return n=t?G(n,function(r){if(typeof r[1]!=\"function\")throw new wn(D);return[e(r[0]),r[1]]}):[],T(function(r){for(var s=-1;++skn)return[];var e=Nn,r=nn(n,Nn);t=x(t),n-=Nn;for(var s=Fr(r,t);++e0||t<0)?new N(e):(n<0?e=e.takeRight(-n):n&&(e=e.drop(n)),t!==i&&(t=R(t),e=t<0?e.dropRight(-t):e.take(t-n)),e)},N.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},N.prototype.toArray=function(){return this.take(Nn)},$n(N.prototype,function(n,t){var e=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),s=a[r?\"take\"+(t==\"last\"?\"Right\":\"\"):t],o=r||/^find/.test(t);s&&(a.prototype[t]=function(){var f=this.__wrapped__,c=r?[1]:arguments,l=f instanceof N,v=c[0],_=l||O(f),m=function(H){var $=s.apply(a,nt([H],c));return r&&P?$[0]:$};_&&e&&typeof v==\"function\"&&v.length!=1&&(l=_=!1);var P=this.__chain__,I=!!this.__actions__.length,E=o&&!P,b=l&&!I;if(!o&&_){f=b?f:new N(this);var y=n.apply(f,c);return y.__actions__.push({func:er,args:[m],thisArg:i}),new Pn(y,P)}return E&&b?n.apply(this,c):(y=this.thru(m),E?r?y.value()[0]:y.value():y)})}),mn([\"pop\",\"push\",\"shift\",\"sort\",\"splice\",\"unshift\"],function(n){var t=Oe[n],e=/^(?:push|sort|unshift)$/.test(n)?\"tap\":\"thru\",r=/^(?:pop|shift)$/.test(n);a.prototype[n]=function(){var s=arguments;if(r&&!this.__chain__){var o=this.value();return t.apply(O(o)?o:[],s)}return this[e](function(f){return t.apply(O(f)?f:[],s)})}}),$n(N.prototype,function(n,t){var e=a[t];if(e){var r=e.name+\"\";F.call(Ut,r)||(Ut[r]=[]),Ut[r].push({name:t,func:e})}}),Ut[Xe(i,ct).name]=[{name:\"wrapper\",func:i}],N.prototype.clone=Gf,N.prototype.reverse=zf,N.prototype.value=Kf,a.prototype.at=Pl,a.prototype.chain=Al,a.prototype.commit=Cl,a.prototype.next=Il,a.prototype.plant=El,a.prototype.reverse=yl,a.prototype.toJSON=a.prototype.valueOf=a.prototype.value=Sl,a.prototype.first=a.prototype.head,ne&&(a.prototype[ne]=xl),a},Ht=Cf();lt?((lt.exports=Ht)._=Ht,Tr._=Ht):k._=Ht}).call(ge)})(Ui,Ui.exports);var Gg=Object.defineProperty,zg=Object.defineProperties,Kg=Object.getOwnPropertyDescriptors,Ea=Object.getOwnPropertySymbols,Yg=Object.prototype.hasOwnProperty,Zg=Object.prototype.propertyIsEnumerable,ya=(A,u,i)=>u in A?Gg(A,u,{enumerable:!0,configurable:!0,writable:!0,value:i}):A[u]=i,cr=(A,u)=>{for(var i in u||(u={}))Yg.call(u,i)&&ya(A,i,u[i]);if(Ea)for(var i of Ea(u))Zg.call(u,i)&&ya(A,i,u[i]);return A},Jg=(A,u)=>zg(A,Kg(u));function ft(A,u,i){var d;const w=Dg(A);return((d=u.rpcMap)==null?void 0:d[w.reference])||`${Bg}?chainId=${w.namespace}:${w.reference}&projectId=${i}`}function Ct(A){return A.includes(\":\")?A.split(\":\")[1]:A}function Sa(A){return A.map(u=>`${u.split(\":\")[0]}:${u.split(\":\")[1]}`)}function Xg(A,u){const i=Object.keys(u.namespaces).filter(w=>w.includes(A));if(!i.length)return[];const d=[];return i.forEach(w=>{const L=u.namespaces[w].accounts;d.push(...L)}),d}function Oa(A={},u={}){const i=Ra(A),d=Ra(u);return Ui.exports.merge(i,d)}function Ra(A){var u,i,d,w;const L={};if(!Lg(A))return L;for(const[D,En]of Object.entries(A)){const zt=Pa(D)?[D]:En.chains,pr=En.methods||[],It=En.events||[],Ln=En.rpcMap||{},Fn=de(D);L[Fn]=Jg(cr(cr({},L[Fn]),En),{chains:$i(zt,(u=L[Fn])==null?void 0:u.chains),methods:$i(pr,(i=L[Fn])==null?void 0:i.methods),events:$i(It,(d=L[Fn])==null?void 0:d.events),rpcMap:cr(cr({},Ln),(w=L[Fn])==null?void 0:w.rpcMap)})}return L}function Qg(A){return A.includes(\":\")?A.split(\":\")[2]:A}function Vg(A){const u={};for(const[i,d]of Object.entries(A)){const w=d.methods||[],L=d.events||[],D=d.accounts||[],En=Pa(i)?[i]:d.chains?d.chains:Sa(d.accounts);u[i]={chains:En,methods:w,events:L,accounts:D}}return u}function Wi(A){return typeof A==\"number\"?A:A.includes(\"0x\")?parseInt(A,16):(A=A.includes(\":\")?A.split(\":\")[1]:A,isNaN(Number(A))?A:Number(A))}const ba={},z=A=>ba[A],Fi=(A,u)=>{ba[A]=u};class kg{constructor(u){this.name=\"polkadot\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){this.httpProviders[u]||this.setHttpProvider(u,i),this.chainId=u,this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${u}`)}getAccounts(){const u=this.namespace.accounts;return u?u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2])||[]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var d;const w=Ct(i);u[w]=this.createHttpProvider(w,(d=this.namespace.rpcMap)==null?void 0:d[i])}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}setHttpProvider(u,i){const d=this.createHttpProvider(u,i);d&&(this.httpProviders[u]=d)}createHttpProvider(u,i){const d=i||ft(u,this.namespace,this.client.core.projectId);if(!d)throw new Error(`No RPC url provided for chainId: ${u}`);return new ot(new At(d,z(\"disableProviderPing\")))}}class jg{constructor(u){this.name=\"eip155\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(u){switch(u.request.method){case\"eth_requestAccounts\":return this.getAccounts();case\"eth_accounts\":return this.getAccounts();case\"wallet_switchEthereumChain\":return await this.handleSwitchChain(u);case\"eth_chainId\":return parseInt(this.getDefaultChain())}return this.namespace.methods.includes(u.request.method)?await this.client.request(u):this.getHttpProvider().request(u.request)}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}setDefaultChain(u,i){this.httpProviders[u]||this.setHttpProvider(parseInt(u),i),this.chainId=parseInt(u),this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${u}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}createHttpProvider(u,i){const d=i||ft(`${this.name}:${u}`,this.namespace,this.client.core.projectId);if(!d)throw new Error(`No RPC url provided for chainId: ${u}`);return new ot(new $g(d,z(\"disableProviderPing\")))}setHttpProvider(u,i){const d=this.createHttpProvider(u,i);d&&(this.httpProviders[u]=d)}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var d;const w=parseInt(Ct(i));u[w]=this.createHttpProvider(w,(d=this.namespace.rpcMap)==null?void 0:d[i])}),u}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}getHttpProvider(){const u=this.chainId,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}async handleSwitchChain(u){var i,d;let w=u.request.params?(i=u.request.params[0])==null?void 0:i.chainId:\"0x0\";w=w.startsWith(\"0x\")?w:`0x${w}`;const L=parseInt(w,16);if(this.isChainApproved(L))this.setDefaultChain(`${L}`);else if(this.namespace.methods.includes(\"wallet_switchEthereumChain\"))await this.client.request({topic:u.topic,request:{method:u.request.method,params:[{chainId:w}]},chainId:(d=this.namespace.chains)==null?void 0:d[0]}),this.setDefaultChain(`${L}`);else throw new Error(`Failed to switch to chain 'eip155:${L}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);return null}isChainApproved(u){return this.namespace.chains.includes(`${this.name}:${u}`)}}class nv{constructor(u){this.name=\"solana\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){this.httpProviders[u]||this.setHttpProvider(u,i),this.chainId=u,this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${u}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var d;const w=Ct(i);u[w]=this.createHttpProvider(w,(d=this.namespace.rpcMap)==null?void 0:d[i])}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}setHttpProvider(u,i){const d=this.createHttpProvider(u,i);d&&(this.httpProviders[u]=d)}createHttpProvider(u,i){const d=i||ft(u,this.namespace,this.client.core.projectId);if(!d)throw new Error(`No RPC url provided for chainId: ${u}`);return new ot(new At(d,z(\"disableProviderPing\")))}}class tv{constructor(u){this.name=\"cosmos\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){this.httpProviders[u]||this.setHttpProvider(u,i),this.chainId=u,this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var d;const w=Ct(i);u[w]=this.createHttpProvider(w,(d=this.namespace.rpcMap)==null?void 0:d[i])}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}setHttpProvider(u,i){const d=this.createHttpProvider(u,i);d&&(this.httpProviders[u]=d)}createHttpProvider(u,i){const d=i||ft(u,this.namespace,this.client.core.projectId);if(!d)throw new Error(`No RPC url provided for chainId: ${u}`);return new ot(new At(d,z(\"disableProviderPing\")))}}class ev{constructor(u){this.name=\"cip34\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){this.httpProviders[u]||this.setHttpProvider(u,i),this.chainId=u,this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{const d=this.getCardanoRPCUrl(i),w=Ct(i);u[w]=this.createHttpProvider(w,d)}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}getCardanoRPCUrl(u){const i=this.namespace.rpcMap;if(i)return i[u]}setHttpProvider(u,i){const d=this.createHttpProvider(u,i);d&&(this.httpProviders[u]=d)}createHttpProvider(u,i){const d=i||this.getCardanoRPCUrl(u);if(!d)throw new Error(`No RPC url provided for chainId: ${u}`);return new ot(new At(d,z(\"disableProviderPing\")))}}class rv{constructor(u){this.name=\"elrond\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){this.httpProviders[u]||this.setHttpProvider(u,i),this.chainId=u,this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${u}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var d;const w=Ct(i);u[w]=this.createHttpProvider(w,(d=this.namespace.rpcMap)==null?void 0:d[i])}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}setHttpProvider(u,i){const d=this.createHttpProvider(u,i);d&&(this.httpProviders[u]=d)}createHttpProvider(u,i){const d=i||ft(u,this.namespace,this.client.core.projectId);if(!d)throw new Error(`No RPC url provided for chainId: ${u}`);return new ot(new At(d,z(\"disableProviderPing\")))}}class iv{constructor(u){this.name=\"multiversx\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){this.httpProviders[u]||this.setHttpProvider(u,i),this.chainId=u,this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${u}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var d;const w=Ct(i);u[w]=this.createHttpProvider(w,(d=this.namespace.rpcMap)==null?void 0:d[i])}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}setHttpProvider(u,i){const d=this.createHttpProvider(u,i);d&&(this.httpProviders[u]=d)}createHttpProvider(u,i){const d=i||ft(u,this.namespace,this.client.core.projectId);if(!d)throw new Error(`No RPC url provided for chainId: ${u}`);return new ot(new At(d,z(\"disableProviderPing\")))}}class sv{constructor(u){this.name=\"near\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){if(this.chainId=u,!this.httpProviders[u]){const d=i||ft(`${this.name}:${u}`,this.namespace);if(!d)throw new Error(`No RPC url provided for chainId: ${u}`);this.setHttpProvider(u,d)}this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const u=this.namespace.accounts;return u?u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2])||[]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var d;u[i]=this.createHttpProvider(i,(d=this.namespace.rpcMap)==null?void 0:d[i])}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}setHttpProvider(u,i){const d=this.createHttpProvider(u,i);d&&(this.httpProviders[u]=d)}createHttpProvider(u,i){const d=i||ft(u,this.namespace);return typeof d>\"u\"?void 0:new ot(new At(d,z(\"disableProviderPing\")))}}var uv=Object.defineProperty,av=Object.defineProperties,ov=Object.getOwnPropertyDescriptors,Ta=Object.getOwnPropertySymbols,fv=Object.prototype.hasOwnProperty,cv=Object.prototype.propertyIsEnumerable,La=(A,u,i)=>u in A?uv(A,u,{enumerable:!0,configurable:!0,writable:!0,value:i}):A[u]=i,hr=(A,u)=>{for(var i in u||(u={}))fv.call(u,i)&&La(A,i,u[i]);if(Ta)for(var i of Ta(u))cv.call(u,i)&&La(A,i,u[i]);return A},Mi=(A,u)=>av(A,ov(u));class lr{constructor(u){this.events=new Ug,this.rpcProviders={},this.shouldAbortPairingAttempt=!1,this.maxPairingAttempts=10,this.disableProviderPing=!1,this.providerOpts=u,this.logger=typeof u?.logger<\"u\"&&typeof u?.logger!=\"string\"?u.logger:Hg(Ng({level:u?.logger||Ia})),this.disableProviderPing=u?.disableProviderPing||!1}static async init(u){const i=new lr(u);return await i.initialize(),i}async request(u,i,d){const[w,L]=this.validateChain(i);if(!this.session)throw new Error(\"Please call connect() before request()\");return await this.getProvider(w).request({request:hr({},u),chainId:`${w}:${L}`,topic:this.session.topic,expiry:d})}sendAsync(u,i,d,w){const L=new Date().getTime();this.request(u,d,w).then(D=>i(null,Wg(L,D))).catch(D=>i(D,void 0))}async enable(){if(!this.client)throw new Error(\"Sign Client not initialized\");return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties}),await this.requestAccounts()}async disconnect(){var u;if(!this.session)throw new Error(\"Please call connect() before enable()\");await this.client.disconnect({topic:(u=this.session)==null?void 0:u.topic,reason:Aa(\"USER_DISCONNECTED\")}),await this.cleanup()}async connect(u){if(!this.client)throw new Error(\"Sign Client not initialized\");if(this.setNamespaces(u),await this.cleanupPendingPairings(),!u.skipPairing)return await this.pair(u.pairingTopic)}on(u,i){this.events.on(u,i)}once(u,i){this.events.once(u,i)}removeListener(u,i){this.events.removeListener(u,i)}off(u,i){this.events.off(u,i)}get isWalletConnect(){return!0}async pair(u){this.shouldAbortPairingAttempt=!1;let i=0;do{if(this.shouldAbortPairingAttempt)throw new Error(\"Pairing aborted\");if(i>=this.maxPairingAttempts)throw new Error(\"Max auto pairing attempts reached\");const{uri:d,approval:w}=await this.client.connect({pairingTopic:u,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties});d&&(this.uri=d,this.events.emit(\"display_uri\",d)),await w().then(L=>{this.session=L;const D=Vg(L.namespaces);this.namespaces=Oa(this.namespaces,D),this.persist(\"namespaces\",this.namespaces)}).catch(L=>{if(L.message!==Tg)throw L;i++})}while(!this.session);return this.onConnect(),this.session}setDefaultChain(u,i){try{if(!this.session)return;const[d,w]=this.validateChain(u);this.getProvider(d).setDefaultChain(w,i)}catch(d){if(!/Please call connect/.test(d.message))throw d}}async cleanupPendingPairings(u={}){this.logger.info(\"Cleaning up inactive pairings...\");const i=this.client.pairing.getAll();if(Ca(i)){for(const d of i)u.deletePairings?this.client.core.expirer.set(d.topic,0):await this.client.core.relayer.subscriber.unsubscribe(d.topic);this.logger.info(`Inactive pairings cleared: ${i.length}`)}}abortPairingAttempt(){this.shouldAbortPairingAttempt=!0}async checkStorage(){if(this.namespaces=await this.getFromStore(\"namespaces\"),this.optionalNamespaces=await this.getFromStore(\"optionalNamespaces\")||{},this.client.session.length){const u=this.client.session.keys.length-1;this.session=this.client.session.get(this.client.session.keys[u]),this.createProviders()}}async initialize(){this.logger.trace(\"Initialized\"),await this.createClient(),await this.checkStorage(),this.registerEventListeners()}async createClient(){this.client=this.providerOpts.client||await bg.init({logger:this.providerOpts.logger||Ia,relayUrl:this.providerOpts.relayUrl||Fg,projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name}),this.logger.trace(\"SignClient Initialized\")}createProviders(){if(!this.client)throw new Error(\"Sign Client not initialized\");if(!this.session)throw new Error(\"Session not initialized. Please call connect() before enable()\");const u=[...new Set(Object.keys(this.session.namespaces).map(i=>de(i)))];Fi(\"client\",this.client),Fi(\"events\",this.events),Fi(\"disableProviderPing\",this.disableProviderPing),u.forEach(i=>{if(!this.session)return;const d=Xg(i,this.session),w=Sa(d),L=Oa(this.namespaces,this.optionalNamespaces),D=Mi(hr({},L[i]),{accounts:d,chains:w});switch(i){case\"eip155\":this.rpcProviders[i]=new jg({namespace:D});break;case\"solana\":this.rpcProviders[i]=new nv({namespace:D});break;case\"cosmos\":this.rpcProviders[i]=new tv({namespace:D});break;case\"polkadot\":this.rpcProviders[i]=new kg({namespace:D});break;case\"cip34\":this.rpcProviders[i]=new ev({namespace:D});break;case\"elrond\":this.rpcProviders[i]=new rv({namespace:D});break;case\"multiversx\":this.rpcProviders[i]=new iv({namespace:D});break;case\"near\":this.rpcProviders[i]=new sv({namespace:D});break}})}registerEventListeners(){if(typeof this.client>\"u\")throw new Error(\"Sign Client is not initialized\");this.client.on(\"session_ping\",u=>{this.events.emit(\"session_ping\",u)}),this.client.on(\"session_event\",u=>{const{params:i}=u,{event:d}=i;if(d.name===\"accountsChanged\"){const w=d.data;w&&Ca(w)&&this.events.emit(\"accountsChanged\",w.map(Qg))}else if(d.name===\"chainChanged\"){const w=i.chainId,L=i.event.data,D=de(w),En=Wi(w)!==Wi(L)?`${D}:${Wi(L)}`:w;this.onChainChanged(En)}else this.events.emit(d.name,d.data);this.events.emit(\"session_event\",u)}),this.client.on(\"session_update\",({topic:u,params:i})=>{var d;const{namespaces:w}=i,L=(d=this.client)==null?void 0:d.session.get(u);this.session=Mi(hr({},L),{namespaces:w}),this.onSessionUpdate(),this.events.emit(\"session_update\",{topic:u,params:i})}),this.client.on(\"session_delete\",async u=>{await this.cleanup(),this.events.emit(\"session_delete\",u),this.events.emit(\"disconnect\",Mi(hr({},Aa(\"USER_DISCONNECTED\")),{data:u.topic}))}),this.on(Vn.DEFAULT_CHAIN_CHANGED,u=>{this.onChainChanged(u,!0)})}getProvider(u){if(!this.rpcProviders[u])throw new Error(`Provider not found: ${u}`);return this.rpcProviders[u]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(u=>{var i;this.getProvider(u).updateNamespace((i=this.session)==null?void 0:i.namespaces[u])})}setNamespaces(u){const{namespaces:i,optionalNamespaces:d,sessionProperties:w}=u;i&&Object.keys(i).length&&(this.namespaces=i),d&&Object.keys(d).length&&(this.optionalNamespaces=d),this.sessionProperties=w,this.persist(\"namespaces\",i),this.persist(\"optionalNamespaces\",d)}validateChain(u){const[i,d]=u?.split(\":\")||[\"\",\"\"];if(!this.namespaces||!Object.keys(this.namespaces).length)return[i,d];if(i&&!Object.keys(this.namespaces||{}).map(D=>de(D)).includes(i))throw new Error(`Namespace '${i}' is not configured. Please call connect() first with namespace config.`);if(i&&d)return[i,d];const w=de(Object.keys(this.namespaces)[0]),L=this.rpcProviders[w].getDefaultChain();return[w,L]}async requestAccounts(){const[u]=this.validateChain();return await this.getProvider(u).requestAccounts()}onChainChanged(u,i=!1){if(!this.namespaces)return;const[d,w]=this.validateChain(u);w&&(i||this.getProvider(d).setDefaultChain(w),this.namespaces[d]?this.namespaces[d].defaultChain=w:this.namespaces[`${d}:${w}`]?this.namespaces[`${d}:${w}`].defaultChain=w:this.namespaces[`${d}:${w}`]={defaultChain:w},this.persist(\"namespaces\",this.namespaces),this.events.emit(\"chainChanged\",w))}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(u,i){this.client.core.storage.setItem(`${xa}/${u}`,i)}async getFromStore(u){return await this.client.core.storage.getItem(`${xa}/${u}`)}}const hv=lr;export{hv as UniversalProvider,lr as default};\n//# sourceMappingURL=index.es.js.map\n","import{EventEmitter as b}from\"events\";import{getAccountsFromNamespaces as A,getSdkError as R,isValidArray as w}from\"@walletconnect/utils\";import{UniversalProvider as T}from\"@walletconnect/universal-provider\";const P=\"wc\",S=\"ethereum_provider\",$=`${P}@2:${S}:`,j=\"https://rpc.walletconnect.com/v1/\",u=[\"eth_sendTransaction\",\"personal_sign\"],E=[\"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\"],m=[\"chainChanged\",\"accountsChanged\"],_=[\"chainChanged\",\"accountsChanged\",\"message\",\"disconnect\",\"connect\"];var N=Object.defineProperty,q=Object.defineProperties,D=Object.getOwnPropertyDescriptors,y=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,Q=Object.prototype.propertyIsEnumerable,O=(a,t,s)=>t in a?N(a,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[t]=s,p=(a,t)=>{for(var s in t||(t={}))U.call(t,s)&&O(a,s,t[s]);if(y)for(var s of y(t))Q.call(t,s)&&O(a,s,t[s]);return a},M=(a,t)=>q(a,D(t));function g(a){return Number(a[0].split(\":\")[1])}function f(a){return`0x${a.toString(16)}`}function L(a){const{chains:t,optionalChains:s,methods:i,optionalMethods:n,events:e,optionalEvents:h,rpcMap:c}=a;if(!w(t))throw new Error(\"Invalid chains\");const o={chains:t,methods:i||u,events:e||m,rpcMap:p({},t.length?{[g(t)]:c[g(t)]}:{})},r=e?.filter(l=>!m.includes(l)),d=i?.filter(l=>!u.includes(l));if(!s&&!h&&!n&&!(r!=null&&r.length)&&!(d!=null&&d.length))return{required:t.length?o:void 0};const C=r?.length&&d?.length||!s,I={chains:[...new Set(C?o.chains.concat(s||[]):s)],methods:[...new Set(o.methods.concat(n!=null&&n.length?n:E))],events:[...new Set(o.events.concat(h!=null&&h.length?h:_))],rpcMap:c};return{required:t.length?o:void 0,optional:s.length?I:void 0}}class v{constructor(){this.events=new b,this.namespace=\"eip155\",this.accounts=[],this.chainId=1,this.STORAGE_KEY=$,this.on=(t,s)=>(this.events.on(t,s),this),this.once=(t,s)=>(this.events.once(t,s),this),this.removeListener=(t,s)=>(this.events.removeListener(t,s),this),this.off=(t,s)=>(this.events.off(t,s),this),this.parseAccount=t=>this.isCompatibleChainId(t)?this.parseAccountId(t).address:t,this.signer={},this.rpc={}}static async init(t){const s=new v;return await s.initialize(t),s}async request(t,s){return await this.signer.request(t,this.formatChainId(this.chainId),s)}sendAsync(t,s,i){this.signer.sendAsync(t,s,this.formatChainId(this.chainId),i)}get connected(){return this.signer.client?this.signer.client.core.relayer.connected:!1}get connecting(){return this.signer.client?this.signer.client.core.relayer.connecting:!1}async enable(){return this.session||await this.connect(),await this.request({method:\"eth_requestAccounts\"})}async connect(t){if(!this.signer.client)throw new Error(\"Provider not initialized. Call init() first\");this.loadConnectOpts(t);const{required:s,optional:i}=L(this.rpc);try{const n=await new Promise(async(h,c)=>{var o;this.rpc.showQrModal&&((o=this.modal)==null||o.subscribeModal(r=>{!r.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),c(new Error(\"Connection request reset. Please try again.\")))})),await this.signer.connect(M(p({namespaces:p({},s&&{[this.namespace]:s})},i&&{optionalNamespaces:{[this.namespace]:i}}),{pairingTopic:t?.pairingTopic})).then(r=>{h(r)}).catch(r=>{c(new Error(r.message))})});if(!n)return;const e=A(n.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:e),this.setAccounts(e),this.events.emit(\"connect\",{chainId:f(this.chainId)})}catch(n){throw this.signer.logger.error(n),n}finally{this.modal&&this.modal.closeModal()}}async disconnect(){this.session&&await this.signer.disconnect(),this.reset()}get isWalletConnect(){return!0}get session(){return this.signer.session}registerEventListeners(){this.signer.on(\"session_event\",t=>{const{params:s}=t,{event:i}=s;i.name===\"accountsChanged\"?(this.accounts=this.parseAccounts(i.data),this.events.emit(\"accountsChanged\",this.accounts)):i.name===\"chainChanged\"?this.setChainId(this.formatChainId(i.data)):this.events.emit(i.name,i.data),this.events.emit(\"session_event\",t)}),this.signer.on(\"chainChanged\",t=>{const s=parseInt(t);this.chainId=s,this.events.emit(\"chainChanged\",f(this.chainId)),this.persist()}),this.signer.on(\"session_update\",t=>{this.events.emit(\"session_update\",t)}),this.signer.on(\"session_delete\",t=>{this.reset(),this.events.emit(\"session_delete\",t),this.events.emit(\"disconnect\",M(p({},R(\"USER_DISCONNECTED\")),{data:t.topic,name:\"USER_DISCONNECTED\"}))}),this.signer.on(\"display_uri\",t=>{var s,i;this.rpc.showQrModal&&((s=this.modal)==null||s.closeModal(),(i=this.modal)==null||i.openModal({uri:t})),this.events.emit(\"display_uri\",t)})}switchEthereumChain(t){this.request({method:\"wallet_switchEthereumChain\",params:[{chainId:t.toString(16)}]})}isCompatibleChainId(t){return typeof t==\"string\"?t.startsWith(`${this.namespace}:`):!1}formatChainId(t){return`${this.namespace}:${t}`}parseChainId(t){return Number(t.split(\":\")[1])}setChainIds(t){const s=t.filter(i=>this.isCompatibleChainId(i)).map(i=>this.parseChainId(i));s.length&&(this.chainId=s[0],this.events.emit(\"chainChanged\",f(this.chainId)),this.persist())}setChainId(t){if(this.isCompatibleChainId(t)){const s=this.parseChainId(t);this.chainId=s,this.switchEthereumChain(s)}}parseAccountId(t){const[s,i,n]=t.split(\":\");return{chainId:`${s}:${i}`,address:n}}setAccounts(t){this.accounts=t.filter(s=>this.parseChainId(this.parseAccountId(s).chainId)===this.chainId).map(s=>this.parseAccountId(s).address),this.events.emit(\"accountsChanged\",this.accounts)}getRpcConfig(t){var s,i;const n=(s=t?.chains)!=null?s:[],e=(i=t?.optionalChains)!=null?i:[],h=n.concat(e);if(!h.length)throw new Error(\"No chains specified in either `chains` or `optionalChains`\");const c=n.length?t?.methods||u:[],o=n.length?t?.events||m:[],r=t?.optionalMethods||[],d=t?.optionalEvents||[],C=t?.rpcMap||this.buildRpcMap(h,t.projectId),I=t?.qrModalOptions||void 0;return{chains:n?.map(l=>this.formatChainId(l)),optionalChains:e.map(l=>this.formatChainId(l)),methods:c,events:o,optionalMethods:r,optionalEvents:d,rpcMap:C,showQrModal:!!(t!=null&&t.showQrModal),qrModalOptions:I,projectId:t.projectId,metadata:t.metadata}}buildRpcMap(t,s){const i={};return t.forEach(n=>{i[n]=this.getRpcUrl(n,s)}),i}async initialize(t){if(this.rpc=this.getRpcConfig(t),this.chainId=this.rpc.chains.length?g(this.rpc.chains):g(this.rpc.optionalChains),this.signer=await T.init({projectId:this.rpc.projectId,metadata:this.rpc.metadata,disableProviderPing:t.disableProviderPing,relayUrl:t.relayUrl,storageOptions:t.storageOptions}),this.registerEventListeners(),await this.loadPersistedSession(),this.rpc.showQrModal){let s;try{const{WalletConnectModal:i}=await import(\"@walletconnect/modal\");s=i}catch{throw new Error(\"To use QR modal, please install @walletconnect/modal package\")}if(s)try{this.modal=new s(p({projectId:this.rpc.projectId},this.rpc.qrModalOptions))}catch(i){throw this.signer.logger.error(i),new Error(\"Could not generate WalletConnectModal Instance\")}}}loadConnectOpts(t){if(!t)return;const{chains:s,optionalChains:i,rpcMap:n}=t;s&&w(s)&&(this.rpc.chains=s.map(e=>this.formatChainId(e)),s.forEach(e=>{this.rpc.rpcMap[e]=n?.[e]||this.getRpcUrl(e)})),i&&w(i)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=i?.map(e=>this.formatChainId(e)),i.forEach(e=>{this.rpc.rpcMap[e]=n?.[e]||this.getRpcUrl(e)}))}getRpcUrl(t,s){var i;return((i=this.rpc.rpcMap)==null?void 0:i[t])||`${j}?chainId=eip155:${t}&projectId=${s||this.rpc.projectId}`}async loadPersistedSession(){if(!this.session)return;const t=await this.signer.client.core.storage.getItem(`${this.STORAGE_KEY}/chainId`),s=this.session.namespaces[`${this.namespace}:${t}`]?this.session.namespaces[`${this.namespace}:${t}`]:this.session.namespaces[this.namespace];this.setChainIds(t?[this.formatChainId(t)]:s?.accounts),this.setAccounts(s?.accounts)}reset(){this.chainId=1,this.accounts=[]}persist(){this.session&&this.signer.client.core.storage.setItem(`${this.STORAGE_KEY}/chainId`,this.chainId)}parseAccounts(t){return typeof t==\"string\"||t instanceof String?[this.parseAccount(t)]:t.map(s=>this.parseAccount(s))}}const G=v;export{G as EthereumProvider,_ as OPTIONAL_EVENTS,E as OPTIONAL_METHODS,m as REQUIRED_EVENTS,u as REQUIRED_METHODS,v as default};\n//# sourceMappingURL=index.es.js.map\n","export const EthersConstantsUtil = {\n WALLET_ID: '@w3m/wallet_id',\n ERROR_CODE_UNRECOGNIZED_CHAIN_ID: 4902,\n ERROR_CODE_DEFAULT: 5000\n};\n//# sourceMappingURL=EthersConstantsUtil.js.map","import { ConstantsUtil } from './ConstantsUtil.js';\nimport { PresetsUtil } from './PresetsUtil.js';\nexport const EthersHelpersUtil = {\n getCaipDefaultChain(chain) {\n if (!chain) {\n return undefined;\n }\n return {\n id: `${ConstantsUtil.EIP155}:${chain.chainId}`,\n name: chain.name,\n imageId: PresetsUtil.EIP155NetworkImageIds[chain.chainId]\n };\n },\n hexStringToNumber(value) {\n const string = value.startsWith('0x') ? value.slice(2) : value;\n const number = parseInt(string, 16);\n return number;\n },\n numberToHexString(value) {\n return `0x${value.toString(16)}`;\n },\n async getUserInfo(provider) {\n const [address, chainId] = await Promise.all([\n EthersHelpersUtil.getAddress(provider),\n EthersHelpersUtil.getChainId(provider)\n ]);\n return { chainId, address };\n },\n async getChainId(provider) {\n const chainId = await provider.request({ method: 'eth_chainId' });\n return Number(chainId);\n },\n async getAddress(provider) {\n const [address] = await provider.request({ method: 'eth_accounts' });\n return address;\n },\n async addEthereumChain(provider, chain) {\n await provider.request({\n method: 'wallet_addEthereumChain',\n params: [\n {\n chainId: EthersHelpersUtil.numberToHexString(chain.chainId),\n rpcUrls: [chain.rpcUrl],\n chainName: chain.name,\n nativeCurrency: {\n name: chain.currency,\n decimals: 18,\n symbol: chain.currency\n },\n blockExplorerUrls: [chain.explorerUrl],\n iconUrls: [PresetsUtil.EIP155NetworkImageIds[chain.chainId]]\n }\n ]\n });\n }\n};\n//# sourceMappingURL=EthersHelpersUtil.js.map","import { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { proxy, ref, subscribe as sub } from 'valtio/vanilla';\nconst state = proxy({\n provider: undefined,\n providerType: undefined,\n address: undefined,\n chainId: undefined,\n isConnected: false\n});\nexport const EthersStoreUtil = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n setProvider(provider) {\n if (provider) {\n state.provider = ref(provider);\n }\n },\n setProviderType(providerType) {\n state.providerType = providerType;\n },\n setAddress(address) {\n state.address = address;\n },\n setPreferredAccountType(preferredAccountType) {\n state.preferredAccountType = preferredAccountType;\n },\n setChainId(chainId) {\n state.chainId = chainId;\n },\n setIsConnected(isConnected) {\n state.isConnected = isConnected;\n },\n setError(error) {\n state.error = error;\n },\n reset() {\n state.provider = undefined;\n state.address = undefined;\n state.chainId = undefined;\n state.providerType = undefined;\n state.isConnected = false;\n state.error = undefined;\n state.preferredAccountType = undefined;\n }\n};\n//# sourceMappingURL=EthersStoreUtil.js.map","import { Web3ModalScaffold } from '@web3modal/scaffold';\nimport { ConstantsUtil, PresetsUtil, HelpersUtil } from '@web3modal/scaffold-utils';\nimport EthereumProvider from '@walletconnect/ethereum-provider';\nimport { formatEther, JsonRpcProvider, InfuraProvider, getAddress as getOriginalAddress, parseUnits, formatUnits } from 'ethers';\nimport { EthersConstantsUtil, EthersHelpersUtil, EthersStoreUtil } from '@web3modal/scaffold-utils/ethers';\nimport { W3mFrameProvider, W3mFrameHelpers, W3mFrameRpcConstants, W3mFrameConstants } from '@web3modal/wallet';\nimport { BrowserProvider } from 'ethers';\nimport { JsonRpcSigner } from 'ethers';\nimport { NetworkUtil } from '@web3modal/common';\nexport class Web3Modal extends Web3ModalScaffold {\n constructor(options) {\n const { ethersConfig, siweConfig, chains, defaultChain, tokens, chainImages, _sdkVersion, ...w3mOptions } = options;\n if (!ethersConfig) {\n throw new Error('web3modal:constructor - ethersConfig is undefined');\n }\n if (!w3mOptions.projectId) {\n throw new Error('web3modal:constructor - projectId is undefined');\n }\n const networkControllerClient = {\n switchCaipNetwork: async (caipNetwork) => {\n const chainId = NetworkUtil.caipNetworkIdToNumber(caipNetwork?.id);\n if (chainId) {\n try {\n EthersStoreUtil.setError(undefined);\n await this.switchNetwork(chainId);\n }\n catch (error) {\n EthersStoreUtil.setError(error);\n throw new Error('networkControllerClient:switchCaipNetwork - unable to switch chain');\n }\n }\n },\n getApprovedCaipNetworksData: async () => new Promise(async (resolve) => {\n const walletChoice = localStorage.getItem(EthersConstantsUtil.WALLET_ID);\n if (walletChoice?.includes(ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID)) {\n const provider = await this.getWalletConnectProvider();\n if (!provider) {\n throw new Error('networkControllerClient:getApprovedCaipNetworks - connector is undefined');\n }\n const ns = provider.signer?.session?.namespaces;\n const nsMethods = ns?.[ConstantsUtil.EIP155]?.methods;\n const nsChains = ns?.[ConstantsUtil.EIP155]?.chains;\n const result = {\n supportsAllNetworks: nsMethods?.includes(ConstantsUtil.ADD_CHAIN_METHOD) ?? false,\n approvedCaipNetworkIds: nsChains\n };\n resolve(result);\n }\n else {\n const result = {\n approvedCaipNetworkIds: undefined,\n supportsAllNetworks: true\n };\n resolve(result);\n }\n })\n };\n const connectionControllerClient = {\n connectWalletConnect: async (onUri) => {\n const WalletConnectProvider = await this.getWalletConnectProvider();\n if (!WalletConnectProvider) {\n throw new Error('connectionControllerClient:getWalletConnectUri - provider is undefined');\n }\n WalletConnectProvider.on('display_uri', (uri) => {\n onUri(uri);\n });\n await WalletConnectProvider.connect();\n await this.setWalletConnectProvider();\n },\n connectExternal: async ({ id, info, provider }) => {\n if (id === ConstantsUtil.INJECTED_CONNECTOR_ID) {\n const InjectedProvider = ethersConfig.injected;\n if (!InjectedProvider) {\n throw new Error('connectionControllerClient:connectInjected - provider is undefined');\n }\n try {\n EthersStoreUtil.setError(undefined);\n await InjectedProvider.request({ method: 'eth_requestAccounts' });\n this.setInjectedProvider(ethersConfig);\n }\n catch (error) {\n EthersStoreUtil.setError(error);\n }\n }\n else if (id === ConstantsUtil.EIP6963_CONNECTOR_ID && info && provider) {\n try {\n EthersStoreUtil.setError(undefined);\n await provider.request({ method: 'eth_requestAccounts' });\n this.setEIP6963Provider(provider, info.name);\n }\n catch (error) {\n EthersStoreUtil.setError(error);\n }\n }\n else if (id === ConstantsUtil.COINBASE_CONNECTOR_ID) {\n const CoinbaseProvider = ethersConfig.coinbase;\n if (!CoinbaseProvider) {\n throw new Error('connectionControllerClient:connectCoinbase - connector is undefined');\n }\n try {\n EthersStoreUtil.setError(undefined);\n await CoinbaseProvider.request({ method: 'eth_requestAccounts' });\n this.setCoinbaseProvider(ethersConfig);\n }\n catch (error) {\n EthersStoreUtil.setError(error);\n }\n }\n else if (id === ConstantsUtil.EMAIL_CONNECTOR_ID) {\n this.setEmailProvider();\n }\n },\n checkInstalled(ids) {\n if (!ids) {\n return Boolean(window.ethereum);\n }\n if (ethersConfig.injected) {\n if (!window?.ethereum) {\n return false;\n }\n }\n return ids.some(id => Boolean(window.ethereum?.[String(id)]));\n },\n disconnect: async () => {\n const provider = EthersStoreUtil.state.provider;\n const providerType = EthersStoreUtil.state.providerType;\n localStorage.removeItem(EthersConstantsUtil.WALLET_ID);\n EthersStoreUtil.reset();\n if (providerType === ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID) {\n const WalletConnectProvider = provider;\n await WalletConnectProvider.disconnect();\n }\n else if (providerType !== ConstantsUtil.EMAIL_CONNECTOR_ID) {\n provider?.emit('disconnect');\n }\n else {\n await this.emailProvider?.disconnect();\n }\n },\n signMessage: async (message) => {\n const provider = EthersStoreUtil.state.provider;\n if (!provider) {\n throw new Error('connectionControllerClient:signMessage - provider is undefined');\n }\n const signature = await provider.request({\n method: 'personal_sign',\n params: [message, this.getAddress()]\n });\n return signature;\n },\n parseUnits: (value, decimals) => parseUnits(value, decimals),\n formatUnits: (value, decimals) => formatUnits(value, decimals),\n async estimateGas(data) {\n const chainId = EthersStoreUtil.state.chainId;\n const provider = EthersStoreUtil.state.provider;\n const address = EthersStoreUtil.state.address;\n if (!provider) {\n throw new Error('connectionControllerClient:sendTransaction - provider is undefined');\n }\n if (!address) {\n throw new Error('connectionControllerClient:sendTransaction - address is undefined');\n }\n const txParams = {\n from: data.address,\n to: data.to,\n data: data.data,\n type: 0\n };\n const browserProvider = new BrowserProvider(provider, chainId);\n const signer = new JsonRpcSigner(browserProvider, address);\n const gas = await signer.estimateGas(txParams);\n return gas;\n },\n sendTransaction: async (data) => {\n const chainId = EthersStoreUtil.state.chainId;\n const provider = EthersStoreUtil.state.provider;\n const address = EthersStoreUtil.state.address;\n if (!provider) {\n throw new Error('connectionControllerClient:sendTransaction - provider is undefined');\n }\n if (!address) {\n throw new Error('connectionControllerClient:sendTransaction - address is undefined');\n }\n const txParams = {\n to: data.to,\n value: data.value,\n gasLimit: data.gas,\n gasPrice: data.gasPrice,\n data: data.data,\n type: 0\n };\n const browserProvider = new BrowserProvider(provider, chainId);\n const signer = new JsonRpcSigner(browserProvider, address);\n const txResponse = await signer.sendTransaction(txParams);\n const txReceipt = await txResponse.wait();\n return txReceipt?.hash || null;\n }\n };\n super({\n networkControllerClient,\n connectionControllerClient,\n siweControllerClient: siweConfig,\n defaultChain: EthersHelpersUtil.getCaipDefaultChain(defaultChain),\n tokens: HelpersUtil.getCaipTokens(tokens),\n _sdkVersion: _sdkVersion ?? `html-ethers-${ConstantsUtil.VERSION}`,\n ...w3mOptions\n });\n this.hasSyncedConnectedAccount = false;\n this.EIP6963Providers = [];\n this.options = undefined;\n this.options = options;\n this.metadata = ethersConfig.metadata;\n this.projectId = w3mOptions.projectId;\n this.chains = chains;\n this.createProvider();\n EthersStoreUtil.subscribeKey('address', () => {\n this.syncAccount();\n });\n EthersStoreUtil.subscribeKey('chainId', () => {\n this.syncNetwork(chainImages);\n });\n this.syncRequestedNetworks(chains, chainImages);\n this.syncConnectors(ethersConfig);\n if (ethersConfig.EIP6963) {\n if (typeof window !== 'undefined') {\n this.listenConnectors(ethersConfig.EIP6963);\n this.checkActive6963Provider();\n }\n }\n if (ethersConfig.email) {\n this.syncEmailConnector(w3mOptions.projectId);\n }\n if (ethersConfig.injected) {\n this.checkActiveInjectedProvider(ethersConfig);\n }\n if (ethersConfig.coinbase) {\n this.checkActiveCoinbaseProvider(ethersConfig);\n }\n }\n getState() {\n const state = super.getState();\n return {\n ...state,\n selectedNetworkId: NetworkUtil.caipNetworkIdToNumber(state.selectedNetworkId)\n };\n }\n subscribeState(callback) {\n return super.subscribeState(state => callback({\n ...state,\n selectedNetworkId: NetworkUtil.caipNetworkIdToNumber(state.selectedNetworkId)\n }));\n }\n setAddress(address) {\n const originalAddress = address ? getOriginalAddress(address) : undefined;\n EthersStoreUtil.setAddress(originalAddress);\n }\n getAddress() {\n const { address } = EthersStoreUtil.state;\n return address ? getOriginalAddress(address) : undefined;\n }\n getError() {\n return EthersStoreUtil.state.error;\n }\n getChainId() {\n return EthersStoreUtil.state.chainId;\n }\n getIsConnected() {\n return EthersStoreUtil.state.isConnected;\n }\n getWalletProvider() {\n return EthersStoreUtil.state.provider;\n }\n getWalletProviderType() {\n return EthersStoreUtil.state.providerType;\n }\n subscribeProvider(callback) {\n return EthersStoreUtil.subscribe(callback);\n }\n async disconnect() {\n const { provider, providerType } = EthersStoreUtil.state;\n localStorage.removeItem(EthersConstantsUtil.WALLET_ID);\n EthersStoreUtil.reset();\n if (providerType === 'injected' || providerType === 'eip6963') {\n provider?.emit('disconnect');\n }\n else {\n const walletConnectProvider = provider;\n if (walletConnectProvider) {\n try {\n EthersStoreUtil.setError(undefined);\n await walletConnectProvider.disconnect();\n }\n catch (error) {\n EthersStoreUtil.setError(error);\n }\n }\n }\n }\n createProvider() {\n if (!this.walletConnectProviderInitPromise && typeof window !== 'undefined') {\n this.walletConnectProviderInitPromise = this.initWalletConnectProvider();\n }\n return this.walletConnectProviderInitPromise;\n }\n async initWalletConnectProvider() {\n const walletConnectProviderOptions = {\n projectId: this.projectId,\n showQrModal: false,\n rpcMap: this.chains\n ? this.chains.reduce((map, chain) => {\n map[chain.chainId] = chain.rpcUrl;\n return map;\n }, {})\n : {},\n optionalChains: [...this.chains.map(chain => chain.chainId)],\n metadata: {\n name: this.metadata ? this.metadata.name : '',\n description: this.metadata ? this.metadata.description : '',\n url: this.metadata ? this.metadata.url : '',\n icons: this.metadata ? this.metadata.icons : ['']\n }\n };\n this.walletConnectProvider = await EthereumProvider.init(walletConnectProviderOptions);\n await this.checkActiveWalletConnectProvider();\n }\n async getWalletConnectProvider() {\n if (!this.walletConnectProvider) {\n try {\n EthersStoreUtil.setError(undefined);\n await this.createProvider();\n }\n catch (error) {\n EthersStoreUtil.setError(error);\n }\n }\n return this.walletConnectProvider;\n }\n syncRequestedNetworks(chains, chainImages) {\n const requestedCaipNetworks = chains?.map(chain => ({\n id: `${ConstantsUtil.EIP155}:${chain.chainId}`,\n name: chain.name,\n imageId: PresetsUtil.EIP155NetworkImageIds[chain.chainId],\n imageUrl: chainImages?.[chain.chainId]\n }));\n this.setRequestedCaipNetworks(requestedCaipNetworks ?? []);\n }\n async checkActiveWalletConnectProvider() {\n const WalletConnectProvider = await this.getWalletConnectProvider();\n const walletId = localStorage.getItem(EthersConstantsUtil.WALLET_ID);\n if (WalletConnectProvider) {\n if (walletId === ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID) {\n await this.setWalletConnectProvider();\n }\n }\n }\n checkActiveInjectedProvider(config) {\n const InjectedProvider = config.injected;\n const walletId = localStorage.getItem(EthersConstantsUtil.WALLET_ID);\n if (InjectedProvider) {\n if (walletId === ConstantsUtil.INJECTED_CONNECTOR_ID) {\n this.setInjectedProvider(config);\n this.watchInjected(config);\n }\n }\n }\n checkActiveCoinbaseProvider(config) {\n const CoinbaseProvider = config.coinbase;\n const walletId = localStorage.getItem(EthersConstantsUtil.WALLET_ID);\n if (CoinbaseProvider) {\n if (walletId === ConstantsUtil.COINBASE_CONNECTOR_ID) {\n if (CoinbaseProvider._addresses && CoinbaseProvider._addresses?.length > 0) {\n this.setCoinbaseProvider(config);\n this.watchCoinbase(config);\n }\n else {\n localStorage.removeItem(EthersConstantsUtil.WALLET_ID);\n EthersStoreUtil.reset();\n }\n }\n }\n }\n checkActive6963Provider() {\n const currentActiveWallet = window?.localStorage.getItem(EthersConstantsUtil.WALLET_ID);\n if (currentActiveWallet) {\n const currentProvider = this.EIP6963Providers.find(provider => provider.info.name === currentActiveWallet);\n if (currentProvider) {\n this.setEIP6963Provider(currentProvider.provider, currentProvider.info.name);\n }\n }\n }\n async setWalletConnectProvider() {\n window?.localStorage.setItem(EthersConstantsUtil.WALLET_ID, ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID);\n const WalletConnectProvider = await this.getWalletConnectProvider();\n if (WalletConnectProvider) {\n EthersStoreUtil.setChainId(WalletConnectProvider.chainId);\n EthersStoreUtil.setProviderType('walletConnect');\n EthersStoreUtil.setProvider(WalletConnectProvider);\n EthersStoreUtil.setIsConnected(true);\n this.setAddress(WalletConnectProvider.accounts?.[0]);\n this.watchWalletConnect();\n }\n }\n async setInjectedProvider(config) {\n window?.localStorage.setItem(EthersConstantsUtil.WALLET_ID, ConstantsUtil.INJECTED_CONNECTOR_ID);\n const InjectedProvider = config.injected;\n if (InjectedProvider) {\n const { address, chainId } = await EthersHelpersUtil.getUserInfo(InjectedProvider);\n if (address && chainId) {\n EthersStoreUtil.setChainId(chainId);\n EthersStoreUtil.setProviderType('injected');\n EthersStoreUtil.setProvider(config.injected);\n EthersStoreUtil.setIsConnected(true);\n this.setAddress(address);\n this.watchCoinbase(config);\n }\n }\n }\n async setEIP6963Provider(provider, name) {\n window?.localStorage.setItem(EthersConstantsUtil.WALLET_ID, name);\n if (provider) {\n const { address, chainId } = await EthersHelpersUtil.getUserInfo(provider);\n if (address && chainId) {\n EthersStoreUtil.setChainId(chainId);\n EthersStoreUtil.setProviderType('eip6963');\n EthersStoreUtil.setProvider(provider);\n EthersStoreUtil.setIsConnected(true);\n this.setAddress(address);\n this.watchEIP6963(provider);\n }\n }\n }\n async setCoinbaseProvider(config) {\n window?.localStorage.setItem(EthersConstantsUtil.WALLET_ID, ConstantsUtil.COINBASE_CONNECTOR_ID);\n const CoinbaseProvider = config.coinbase;\n if (CoinbaseProvider) {\n const { address, chainId } = await EthersHelpersUtil.getUserInfo(CoinbaseProvider);\n if (address && chainId) {\n EthersStoreUtil.setChainId(chainId);\n EthersStoreUtil.setProviderType('coinbaseWallet');\n EthersStoreUtil.setProvider(config.coinbase);\n EthersStoreUtil.setIsConnected(true);\n this.setAddress(address);\n this.watchCoinbase(config);\n }\n }\n }\n async setEmailProvider() {\n window?.localStorage.setItem(EthersConstantsUtil.WALLET_ID, ConstantsUtil.EMAIL_CONNECTOR_ID);\n if (this.emailProvider) {\n const { address, chainId, smartAccountDeployed, preferredAccountType } = await this.emailProvider.connect({ chainId: this.getChainId() });\n const { smartAccountEnabledNetworks } = await this.emailProvider.getSmartAccountEnabledNetworks();\n this.setSmartAccountEnabledNetworks(smartAccountEnabledNetworks);\n if (address && chainId) {\n EthersStoreUtil.setChainId(chainId);\n EthersStoreUtil.setProviderType(ConstantsUtil.EMAIL_CONNECTOR_ID);\n EthersStoreUtil.setProvider(this.emailProvider);\n EthersStoreUtil.setIsConnected(true);\n EthersStoreUtil.setAddress(address);\n EthersStoreUtil.setPreferredAccountType(preferredAccountType);\n this.setSmartAccountDeployed(Boolean(smartAccountDeployed));\n this.watchEmail();\n this.watchModal();\n }\n super.setLoading(false);\n }\n }\n async watchWalletConnect() {\n const provider = await this.getWalletConnectProvider();\n function disconnectHandler() {\n localStorage.removeItem(EthersConstantsUtil.WALLET_ID);\n EthersStoreUtil.reset();\n provider?.removeListener('disconnect', disconnectHandler);\n provider?.removeListener('accountsChanged', accountsChangedHandler);\n provider?.removeListener('chainChanged', chainChangedHandler);\n }\n function chainChangedHandler(chainId) {\n if (chainId) {\n const chain = EthersHelpersUtil.hexStringToNumber(chainId);\n EthersStoreUtil.setChainId(chain);\n }\n }\n const accountsChangedHandler = async (accounts) => {\n if (accounts.length > 0) {\n await this.setWalletConnectProvider();\n }\n };\n if (provider) {\n provider.on('disconnect', disconnectHandler);\n provider.on('accountsChanged', accountsChangedHandler);\n provider.on('chainChanged', chainChangedHandler);\n }\n }\n watchInjected(config) {\n const provider = config.injected;\n function disconnectHandler() {\n localStorage.removeItem(EthersConstantsUtil.WALLET_ID);\n EthersStoreUtil.reset();\n provider?.removeListener('disconnect', disconnectHandler);\n provider?.removeListener('accountsChanged', accountsChangedHandler);\n provider?.removeListener('chainChanged', chainChangedHandler);\n }\n function accountsChangedHandler(accounts) {\n const currentAccount = accounts?.[0];\n if (currentAccount) {\n EthersStoreUtil.setAddress(getOriginalAddress(currentAccount));\n }\n else {\n localStorage.removeItem(EthersConstantsUtil.WALLET_ID);\n EthersStoreUtil.reset();\n }\n }\n function chainChangedHandler(chainId) {\n if (chainId) {\n const chain = typeof chainId === 'string'\n ? EthersHelpersUtil.hexStringToNumber(chainId)\n : Number(chainId);\n EthersStoreUtil.setChainId(chain);\n }\n }\n if (provider) {\n provider.on('disconnect', disconnectHandler);\n provider.on('accountsChanged', accountsChangedHandler);\n provider.on('chainChanged', chainChangedHandler);\n }\n }\n watchEIP6963(provider) {\n function disconnectHandler() {\n localStorage.removeItem(EthersConstantsUtil.WALLET_ID);\n EthersStoreUtil.reset();\n provider.removeListener('disconnect', disconnectHandler);\n provider.removeListener('accountsChanged', accountsChangedHandler);\n provider.removeListener('chainChanged', chainChangedHandler);\n }\n function accountsChangedHandler(accounts) {\n const currentAccount = accounts?.[0];\n if (currentAccount) {\n EthersStoreUtil.setAddress(getOriginalAddress(currentAccount));\n }\n else {\n localStorage.removeItem(EthersConstantsUtil.WALLET_ID);\n EthersStoreUtil.reset();\n }\n }\n function chainChangedHandler(chainId) {\n if (chainId) {\n const chain = typeof chainId === 'string'\n ? EthersHelpersUtil.hexStringToNumber(chainId)\n : Number(chainId);\n EthersStoreUtil.setChainId(chain);\n }\n }\n if (provider) {\n provider.on('disconnect', disconnectHandler);\n provider.on('accountsChanged', accountsChangedHandler);\n provider.on('chainChanged', chainChangedHandler);\n }\n }\n watchCoinbase(config) {\n const provider = config.coinbase;\n const walletId = localStorage.getItem(EthersConstantsUtil.WALLET_ID);\n function disconnectHandler() {\n localStorage.removeItem(EthersConstantsUtil.WALLET_ID);\n EthersStoreUtil.reset();\n provider?.removeListener('disconnect', disconnectHandler);\n provider?.removeListener('accountsChanged', accountsChangedHandler);\n provider?.removeListener('chainChanged', chainChangedHandler);\n }\n function accountsChangedHandler(accounts) {\n const currentAccount = accounts?.[0];\n if (currentAccount) {\n EthersStoreUtil.setAddress(getOriginalAddress(currentAccount));\n }\n else {\n localStorage.removeItem(EthersConstantsUtil.WALLET_ID);\n EthersStoreUtil.reset();\n }\n }\n function chainChangedHandler(chainId) {\n if (chainId && walletId === ConstantsUtil.COINBASE_CONNECTOR_ID) {\n const chain = Number(chainId);\n EthersStoreUtil.setChainId(chain);\n }\n }\n if (provider) {\n provider.on('disconnect', disconnectHandler);\n provider.on('accountsChanged', accountsChangedHandler);\n provider.on('chainChanged', chainChangedHandler);\n }\n }\n watchEmail() {\n if (this.emailProvider) {\n this.emailProvider.onRpcRequest(request => {\n if (W3mFrameHelpers.checkIfRequestExists(request)) {\n if (!W3mFrameHelpers.checkIfRequestIsAllowed(request)) {\n if (super.isOpen()) {\n if (!super.isTransactionStackEmpty()) {\n super.redirect('ApproveTransaction');\n }\n }\n else {\n super.open({ view: 'ApproveTransaction' });\n }\n }\n }\n else {\n super.open();\n const method = W3mFrameHelpers.getRequestMethod(request);\n console.error(W3mFrameRpcConstants.RPC_METHOD_NOT_ALLOWED_MESSAGE, { method });\n setTimeout(() => {\n this.showErrorMessage(W3mFrameRpcConstants.RPC_METHOD_NOT_ALLOWED_UI_MESSAGE);\n }, 300);\n }\n });\n this.emailProvider.onRpcResponse(response => {\n const responseType = W3mFrameHelpers.getResponseType(response);\n switch (responseType) {\n case W3mFrameConstants.RPC_RESPONSE_TYPE_ERROR: {\n const isModalOpen = super.isOpen();\n if (isModalOpen) {\n if (super.isTransactionStackEmpty()) {\n super.close();\n }\n else {\n super.popTransactionStack(true);\n }\n }\n break;\n }\n case W3mFrameConstants.RPC_RESPONSE_TYPE_TX: {\n if (super.isTransactionStackEmpty()) {\n super.close();\n }\n else {\n super.popTransactionStack();\n }\n break;\n }\n default:\n break;\n }\n });\n this.emailProvider.onNotConnected(() => {\n this.setIsConnected(false);\n super.setLoading(false);\n });\n this.emailProvider.onIsConnected(({ preferredAccountType }) => {\n this.setIsConnected(true);\n super.setLoading(false);\n EthersStoreUtil.setPreferredAccountType(preferredAccountType);\n });\n this.emailProvider.onSetPreferredAccount(({ address, type }) => {\n if (!address) {\n return;\n }\n const chainId = NetworkUtil.caipNetworkIdToNumber(this.getCaipNetwork()?.id);\n EthersStoreUtil.setAddress(address);\n EthersStoreUtil.setChainId(chainId);\n EthersStoreUtil.setIsConnected(true);\n EthersStoreUtil.setPreferredAccountType(type);\n this.syncAccount();\n });\n }\n }\n watchModal() {\n if (this.emailProvider) {\n this.subscribeState(val => {\n if (!val.open) {\n this.emailProvider?.rejectRpcRequest();\n }\n });\n }\n }\n async syncAccount() {\n const address = EthersStoreUtil.state.address;\n const chainId = EthersStoreUtil.state.chainId;\n const isConnected = EthersStoreUtil.state.isConnected;\n const preferredAccountType = EthersStoreUtil.state.preferredAccountType;\n this.resetAccount();\n if (isConnected && address && chainId) {\n const caipAddress = `${ConstantsUtil.EIP155}:${chainId}:${address}`;\n this.setIsConnected(isConnected);\n this.setPreferredAccountType(preferredAccountType);\n this.setCaipAddress(caipAddress);\n this.syncConnectedWalletInfo();\n await Promise.all([\n this.syncProfile(address),\n this.syncBalance(address),\n this.getApprovedCaipNetworksData()\n ]);\n this.hasSyncedConnectedAccount = true;\n }\n else if (!isConnected && this.hasSyncedConnectedAccount) {\n this.resetWcConnection();\n this.resetNetwork();\n }\n }\n async syncNetwork(chainImages) {\n const address = EthersStoreUtil.state.address;\n const chainId = EthersStoreUtil.state.chainId;\n const isConnected = EthersStoreUtil.state.isConnected;\n if (this.chains) {\n const chain = this.chains.find(c => c.chainId === chainId);\n if (chain) {\n const caipChainId = `${ConstantsUtil.EIP155}:${chain.chainId}`;\n this.setCaipNetwork({\n id: caipChainId,\n name: chain.name,\n imageId: PresetsUtil.EIP155NetworkImageIds[chain.chainId],\n imageUrl: chainImages?.[chain.chainId]\n });\n if (isConnected && address) {\n const caipAddress = `${ConstantsUtil.EIP155}:${chainId}:${address}`;\n this.setCaipAddress(caipAddress);\n if (chain.explorerUrl) {\n const url = `${chain.explorerUrl}/address/${address}`;\n this.setAddressExplorerUrl(url);\n }\n else {\n this.setAddressExplorerUrl(undefined);\n }\n if (this.hasSyncedConnectedAccount) {\n await this.syncProfile(address);\n await this.syncBalance(address);\n }\n }\n }\n else if (isConnected) {\n this.setCaipNetwork({\n id: `${ConstantsUtil.EIP155}:${chainId}`\n });\n }\n }\n }\n async syncProfile(address) {\n const chainId = EthersStoreUtil.state.chainId;\n try {\n const { name, avatar } = await this.fetchIdentity({\n address\n });\n this.setProfileName(name);\n this.setProfileImage(avatar);\n }\n catch {\n if (chainId === 1) {\n const ensProvider = new InfuraProvider('mainnet');\n const name = await ensProvider.lookupAddress(address);\n const avatar = await ensProvider.getAvatar(address);\n if (name) {\n this.setProfileName(name);\n }\n if (avatar) {\n this.setProfileImage(avatar);\n }\n }\n else {\n this.setProfileName(null);\n this.setProfileImage(null);\n }\n }\n }\n async syncBalance(address) {\n const chainId = EthersStoreUtil.state.chainId;\n if (chainId && this.chains) {\n const chain = this.chains.find(c => c.chainId === chainId);\n if (chain) {\n const jsonRpcProvider = new JsonRpcProvider(chain.rpcUrl, {\n chainId,\n name: chain.name\n });\n if (jsonRpcProvider) {\n const balance = await jsonRpcProvider.getBalance(address);\n const formattedBalance = formatEther(balance);\n this.setBalance(formattedBalance, chain.currency);\n }\n }\n }\n }\n syncConnectedWalletInfo() {\n const currentActiveWallet = window?.localStorage.getItem(EthersConstantsUtil.WALLET_ID);\n const providerType = EthersStoreUtil.state.providerType;\n if (providerType === ConstantsUtil.EIP6963_CONNECTOR_ID) {\n if (currentActiveWallet) {\n const currentProvider = this.EIP6963Providers.find(provider => provider.info.name === currentActiveWallet);\n if (currentProvider) {\n this.setConnectedWalletInfo({\n ...currentProvider.info\n });\n }\n }\n }\n else if (providerType === ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID) {\n const provider = EthersStoreUtil.state.provider;\n if (provider.session) {\n this.setConnectedWalletInfo({\n ...provider.session.peer.metadata,\n name: provider.session.peer.metadata.name,\n icon: provider.session.peer.metadata.icons?.[0]\n });\n }\n }\n else if (currentActiveWallet) {\n this.setConnectedWalletInfo({\n name: currentActiveWallet\n });\n }\n }\n async switchNetwork(chainId) {\n const provider = EthersStoreUtil.state.provider;\n const providerType = EthersStoreUtil.state.providerType;\n if (this.chains) {\n const chain = this.chains.find(c => c.chainId === chainId);\n if (providerType === ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID && chain) {\n const WalletConnectProvider = provider;\n if (WalletConnectProvider) {\n try {\n await WalletConnectProvider.request({\n method: 'wallet_switchEthereumChain',\n params: [{ chainId: EthersHelpersUtil.numberToHexString(chain.chainId) }]\n });\n EthersStoreUtil.setChainId(chainId);\n }\n catch (switchError) {\n if (switchError.code === EthersConstantsUtil.ERROR_CODE_UNRECOGNIZED_CHAIN_ID ||\n switchError.code === EthersConstantsUtil.ERROR_CODE_DEFAULT ||\n switchError?.data?.originalError?.code ===\n EthersConstantsUtil.ERROR_CODE_UNRECOGNIZED_CHAIN_ID) {\n await EthersHelpersUtil.addEthereumChain(WalletConnectProvider, chain);\n }\n else {\n throw new Error('Chain is not supported');\n }\n }\n }\n }\n else if (providerType === ConstantsUtil.INJECTED_CONNECTOR_ID && chain) {\n const InjectedProvider = provider;\n if (InjectedProvider) {\n try {\n await InjectedProvider.request({\n method: 'wallet_switchEthereumChain',\n params: [{ chainId: EthersHelpersUtil.numberToHexString(chain.chainId) }]\n });\n EthersStoreUtil.setChainId(chain.chainId);\n }\n catch (switchError) {\n if (switchError.code === EthersConstantsUtil.ERROR_CODE_UNRECOGNIZED_CHAIN_ID ||\n switchError.code === EthersConstantsUtil.ERROR_CODE_DEFAULT ||\n switchError?.data?.originalError?.code ===\n EthersConstantsUtil.ERROR_CODE_UNRECOGNIZED_CHAIN_ID) {\n await EthersHelpersUtil.addEthereumChain(InjectedProvider, chain);\n }\n else {\n throw new Error('Chain is not supported');\n }\n }\n }\n }\n else if (providerType === ConstantsUtil.EIP6963_CONNECTOR_ID && chain) {\n const EIP6963Provider = provider;\n if (EIP6963Provider) {\n try {\n await EIP6963Provider.request({\n method: 'wallet_switchEthereumChain',\n params: [{ chainId: EthersHelpersUtil.numberToHexString(chain.chainId) }]\n });\n EthersStoreUtil.setChainId(chain.chainId);\n }\n catch (switchError) {\n if (switchError.code === EthersConstantsUtil.ERROR_CODE_UNRECOGNIZED_CHAIN_ID ||\n switchError.code === EthersConstantsUtil.ERROR_CODE_DEFAULT ||\n switchError?.data?.originalError?.code ===\n EthersConstantsUtil.ERROR_CODE_UNRECOGNIZED_CHAIN_ID) {\n await EthersHelpersUtil.addEthereumChain(EIP6963Provider, chain);\n }\n else {\n throw new Error('Chain is not supported');\n }\n }\n }\n }\n else if (providerType === ConstantsUtil.COINBASE_CONNECTOR_ID && chain) {\n const CoinbaseProvider = provider;\n if (CoinbaseProvider) {\n try {\n await CoinbaseProvider.request({\n method: 'wallet_switchEthereumChain',\n params: [{ chainId: EthersHelpersUtil.numberToHexString(chain.chainId) }]\n });\n EthersStoreUtil.setChainId(chain.chainId);\n }\n catch (switchError) {\n if (switchError.code === EthersConstantsUtil.ERROR_CODE_UNRECOGNIZED_CHAIN_ID ||\n switchError.code === EthersConstantsUtil.ERROR_CODE_DEFAULT ||\n switchError?.data?.originalError?.code ===\n EthersConstantsUtil.ERROR_CODE_UNRECOGNIZED_CHAIN_ID) {\n await EthersHelpersUtil.addEthereumChain(CoinbaseProvider, chain);\n }\n }\n }\n }\n else if (providerType === ConstantsUtil.EMAIL_CONNECTOR_ID) {\n if (this.emailProvider && chain?.chainId) {\n try {\n await this.emailProvider.switchNetwork(chain?.chainId);\n EthersStoreUtil.setChainId(chain.chainId);\n const { address, preferredAccountType } = await this.emailProvider.connect({\n chainId: chain?.chainId\n });\n EthersStoreUtil.setAddress(address);\n EthersStoreUtil.setPreferredAccountType(preferredAccountType);\n await this.syncAccount();\n }\n catch {\n throw new Error('Switching chain failed');\n }\n }\n }\n }\n }\n syncConnectors(config) {\n const w3mConnectors = [];\n const connectorType = PresetsUtil.ConnectorTypesMap[ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID];\n if (connectorType) {\n w3mConnectors.push({\n id: ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID,\n explorerId: PresetsUtil.ConnectorExplorerIds[ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID],\n imageId: PresetsUtil.ConnectorImageIds[ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID],\n imageUrl: this.options?.connectorImages?.[ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID],\n name: PresetsUtil.ConnectorNamesMap[ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID],\n type: connectorType\n });\n }\n if (config.injected) {\n const injectedConnectorType = PresetsUtil.ConnectorTypesMap[ConstantsUtil.INJECTED_CONNECTOR_ID];\n if (injectedConnectorType) {\n w3mConnectors.push({\n id: ConstantsUtil.INJECTED_CONNECTOR_ID,\n explorerId: PresetsUtil.ConnectorExplorerIds[ConstantsUtil.INJECTED_CONNECTOR_ID],\n imageId: PresetsUtil.ConnectorImageIds[ConstantsUtil.INJECTED_CONNECTOR_ID],\n imageUrl: this.options?.connectorImages?.[ConstantsUtil.INJECTED_CONNECTOR_ID],\n name: PresetsUtil.ConnectorNamesMap[ConstantsUtil.INJECTED_CONNECTOR_ID],\n type: injectedConnectorType\n });\n }\n }\n if (config.coinbase) {\n w3mConnectors.push({\n id: ConstantsUtil.COINBASE_CONNECTOR_ID,\n explorerId: PresetsUtil.ConnectorExplorerIds[ConstantsUtil.COINBASE_CONNECTOR_ID],\n imageId: PresetsUtil.ConnectorImageIds[ConstantsUtil.COINBASE_CONNECTOR_ID],\n imageUrl: this.options?.connectorImages?.[ConstantsUtil.COINBASE_CONNECTOR_ID],\n name: PresetsUtil.ConnectorNamesMap[ConstantsUtil.COINBASE_CONNECTOR_ID],\n type: 'EXTERNAL'\n });\n }\n this.setConnectors(w3mConnectors);\n }\n async syncEmailConnector(projectId) {\n if (typeof window !== 'undefined') {\n this.emailProvider = new W3mFrameProvider(projectId);\n this.addConnector({\n id: ConstantsUtil.EMAIL_CONNECTOR_ID,\n type: 'EMAIL',\n name: 'Email',\n provider: this.emailProvider\n });\n super.setLoading(true);\n const isLoginEmailUsed = this.emailProvider.getLoginEmailUsed();\n super.setLoading(isLoginEmailUsed);\n const { isConnected } = await this.emailProvider.isConnected();\n if (isConnected) {\n await this.setEmailProvider();\n }\n else {\n super.setLoading(false);\n }\n }\n }\n eip6963EventHandler(event) {\n if (event.detail) {\n const { info, provider } = event.detail;\n const connectors = this.getConnectors();\n const existingConnector = connectors.find(c => c.name === info.name);\n if (!existingConnector) {\n const type = PresetsUtil.ConnectorTypesMap[ConstantsUtil.EIP6963_CONNECTOR_ID];\n if (type) {\n this.addConnector({\n id: ConstantsUtil.EIP6963_CONNECTOR_ID,\n type,\n imageUrl: info.icon ?? this.options?.connectorImages?.[ConstantsUtil.EIP6963_CONNECTOR_ID],\n name: info.name,\n provider,\n info\n });\n const eip6963ProviderObj = {\n provider,\n info\n };\n this.EIP6963Providers.push(eip6963ProviderObj);\n }\n }\n }\n }\n listenConnectors(enableEIP6963) {\n if (typeof window !== 'undefined' && enableEIP6963) {\n const handler = this.eip6963EventHandler.bind(this);\n window.addEventListener(ConstantsUtil.EIP6963_ANNOUNCE_EVENT, handler);\n window.dispatchEvent(new Event(ConstantsUtil.EIP6963_REQUEST_EVENT));\n }\n }\n}\n//# sourceMappingURL=client.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.walletLogo = void 0;\nconst walletLogo = (type, width) => {\n let height;\n switch (type) {\n case 'standard':\n height = width;\n return `data:image/svg+xml,%3Csvg width='${width}' height='${height}' viewBox='0 0 1024 1024' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Crect width='1024' height='1024' fill='%230052FF'/%3E %3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M152 512C152 710.823 313.177 872 512 872C710.823 872 872 710.823 872 512C872 313.177 710.823 152 512 152C313.177 152 152 313.177 152 512ZM420 396C406.745 396 396 406.745 396 420V604C396 617.255 406.745 628 420 628H604C617.255 628 628 617.255 628 604V420C628 406.745 617.255 396 604 396H420Z' fill='white'/%3E %3C/svg%3E `;\n case 'circle':\n height = width;\n return `data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='${width}' height='${height}' viewBox='0 0 999.81 999.81'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%230052fe;%7D.cls-2%7Bfill:%23fefefe;%7D.cls-3%7Bfill:%230152fe;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M655-115.9h56c.83,1.59,2.36.88,3.56,1a478,478,0,0,1,75.06,10.42C891.4-81.76,978.33-32.58,1049.19,44q116.7,126,131.94,297.61c.38,4.14-.34,8.53,1.78,12.45v59c-1.58.84-.91,2.35-1,3.56a482.05,482.05,0,0,1-10.38,74.05c-24,106.72-76.64,196.76-158.83,268.93s-178.18,112.82-287.2,122.6c-4.83.43-9.86-.25-14.51,1.77H654c-1-1.68-2.69-.91-4.06-1a496.89,496.89,0,0,1-105.9-18.59c-93.54-27.42-172.78-77.59-236.91-150.94Q199.34,590.1,184.87,426.58c-.47-5.19.25-10.56-1.77-15.59V355c1.68-1,.91-2.7,1-4.06a498.12,498.12,0,0,1,18.58-105.9c26-88.75,72.64-164.9,140.6-227.57q126-116.27,297.21-131.61C645.32-114.57,650.35-113.88,655-115.9Zm377.92,500c0-192.44-156.31-349.49-347.56-350.15-194.13-.68-350.94,155.13-352.29,347.42-1.37,194.55,155.51,352.1,348.56,352.47C876.15,734.23,1032.93,577.84,1032.93,384.11Z' transform='translate(-183.1 115.9)'/%3E%3Cpath class='cls-2' d='M1032.93,384.11c0,193.73-156.78,350.12-351.29,349.74-193-.37-349.93-157.92-348.56-352.47C334.43,189.09,491.24,33.28,685.37,34,876.62,34.62,1032.94,191.67,1032.93,384.11ZM683,496.81q43.74,0,87.48,0c15.55,0,25.32-9.72,25.33-25.21q0-87.48,0-175c0-15.83-9.68-25.46-25.59-25.46H595.77c-15.88,0-25.57,9.64-25.58,25.46q0,87.23,0,174.45c0,16.18,9.59,25.7,25.84,25.71Z' transform='translate(-183.1 115.9)'/%3E%3Cpath class='cls-3' d='M683,496.81H596c-16.25,0-25.84-9.53-25.84-25.71q0-87.23,0-174.45c0-15.82,9.7-25.46,25.58-25.46H770.22c15.91,0,25.59,9.63,25.59,25.46q0,87.47,0,175c0,15.49-9.78,25.2-25.33,25.21Q726.74,496.84,683,496.81Z' transform='translate(-183.1 115.9)'/%3E%3C/svg%3E`;\n case 'text':\n height = (0.1 * width).toFixed(2);\n return `data:image/svg+xml,%3Csvg width='${width}' height='${height}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 528.15 53.64'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%230052ff;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3ECoinbase_Wordmark_SubBrands_ALL%3C/title%3E%3Cpath class='cls-1' d='M164.45,15a15,15,0,0,0-11.74,5.4V0h-8.64V52.92h8.5V48a15,15,0,0,0,11.88,5.62c10.37,0,18.21-8.21,18.21-19.3S174.67,15,164.45,15Zm-1.3,30.67c-6.19,0-10.73-4.83-10.73-11.31S157,23,163.22,23s10.66,4.82,10.66,11.37S169.34,45.65,163.15,45.65Zm83.31-14.91-6.34-.93c-3-.43-5.18-1.44-5.18-3.82,0-2.59,2.8-3.89,6.62-3.89,4.18,0,6.84,1.8,7.42,4.76h8.35c-.94-7.49-6.7-11.88-15.55-11.88-9.15,0-15.2,4.68-15.2,11.3,0,6.34,4,10,12,11.16l6.33.94c3.1.43,4.83,1.65,4.83,4,0,2.95-3,4.17-7.2,4.17-5.12,0-8-2.09-8.43-5.25h-8.49c.79,7.27,6.48,12.38,16.84,12.38,9.44,0,15.7-4.32,15.7-11.74C258.12,35.28,253.58,31.82,246.46,30.74Zm-27.65-2.3c0-8.06-4.9-13.46-15.27-13.46-9.79,0-15.26,5-16.34,12.6h8.57c.43-3,2.73-5.4,7.63-5.4,4.39,0,6.55,1.94,6.55,4.32,0,3.09-4,3.88-8.85,4.39-6.63.72-14.84,3-14.84,11.66,0,6.7,5,11,12.89,11,6.19,0,10.08-2.59,12-6.7.28,3.67,3,6.05,6.84,6.05h5v-7.7h-4.25Zm-8.5,9.36c0,5-4.32,8.64-9.57,8.64-3.24,0-6-1.37-6-4.25,0-3.67,4.39-4.68,8.42-5.11s6-1.22,7.13-2.88ZM281.09,15c-11.09,0-19.23,8.35-19.23,19.36,0,11.6,8.72,19.3,19.37,19.3,9,0,16.06-5.33,17.86-12.89h-9c-1.3,3.31-4.47,5.19-8.71,5.19-5.55,0-9.72-3.46-10.66-9.51H299.3V33.12C299.3,22.46,291.53,15,281.09,15Zm-9.87,15.26c1.37-5.18,5.26-7.7,9.72-7.7,4.9,0,8.64,2.8,9.51,7.7ZM19.3,23a9.84,9.84,0,0,1,9.5,7h9.14c-1.65-8.93-9-15-18.57-15A19,19,0,0,0,0,34.34c0,11.09,8.28,19.3,19.37,19.3,9.36,0,16.85-6,18.5-15H28.8a9.75,9.75,0,0,1-9.43,7.06c-6.27,0-10.66-4.83-10.66-11.31S13,23,19.3,23Zm41.11-8A19,19,0,0,0,41,34.34c0,11.09,8.28,19.3,19.37,19.3A19,19,0,0,0,79.92,34.27C79.92,23.33,71.64,15,60.41,15Zm.07,30.67c-6.19,0-10.73-4.83-10.73-11.31S54.22,23,60.41,23s10.8,4.89,10.8,11.37S66.67,45.65,60.48,45.65ZM123.41,15c-5.62,0-9.29,2.3-11.45,5.54V15.7h-8.57V52.92H112V32.69C112,27,115.63,23,121,23c5,0,8.06,3.53,8.06,8.64V52.92h8.64V31C137.66,21.6,132.84,15,123.41,15ZM92,.36a5.36,5.36,0,0,0-5.55,5.47,5.55,5.55,0,0,0,11.09,0A5.35,5.35,0,0,0,92,.36Zm-9.72,23h5.4V52.92h8.64V15.7h-14Zm298.17-7.7L366.2,52.92H372L375.29,44H392l3.33,8.88h6L386.87,15.7ZM377,39.23l6.45-17.56h.1l6.56,17.56ZM362.66,15.7l-7.88,29h-.11l-8.14-29H341l-8,28.93h-.1l-8-28.87H319L329.82,53h5.45l8.19-29.24h.11L352,53h5.66L368.1,15.7Zm135.25,0v4.86h12.32V52.92h5.6V20.56h12.32V15.7ZM467.82,52.92h25.54V48.06H473.43v-12h18.35V31.35H473.43V20.56h19.93V15.7H467.82ZM443,15.7h-5.6V52.92h24.32V48.06H443Zm-30.45,0h-5.61V52.92h24.32V48.06H412.52Z'/%3E%3C/svg%3E`;\n case 'textWithLogo':\n height = (0.25 * width).toFixed(2);\n return `data:image/svg+xml,%3Csvg width='${width}' height='${height}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 308.44 77.61'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%230052ff;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M142.94,20.2l-7.88,29H135l-8.15-29h-5.55l-8,28.93h-.11l-8-28.87H99.27l10.84,37.27h5.44l8.2-29.24h.1l8.41,29.24h5.66L148.39,20.2Zm17.82,0L146.48,57.42h5.82l3.28-8.88h16.65l3.34,8.88h6L167.16,20.2Zm-3.44,23.52,6.45-17.55h.11l6.56,17.55ZM278.2,20.2v4.86h12.32V57.42h5.6V25.06h12.32V20.2ZM248.11,57.42h25.54V52.55H253.71V40.61h18.35V35.85H253.71V25.06h19.94V20.2H248.11ZM223.26,20.2h-5.61V57.42H242V52.55H223.26Zm-30.46,0h-5.6V57.42h24.32V52.55H192.8Zm-154,38A19.41,19.41,0,1,1,57.92,35.57H77.47a38.81,38.81,0,1,0,0,6.47H57.92A19.39,19.39,0,0,1,38.81,58.21Z'/%3E%3C/svg%3E`;\n case 'textLight':\n height = (0.1 * width).toFixed(2);\n return `data:image/svg+xml,%3Csvg width='${width}' height='${height}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 528.15 53.64'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fefefe;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3ECoinbase_Wordmark_SubBrands_ALL%3C/title%3E%3Cpath class='cls-1' d='M164.45,15a15,15,0,0,0-11.74,5.4V0h-8.64V52.92h8.5V48a15,15,0,0,0,11.88,5.62c10.37,0,18.21-8.21,18.21-19.3S174.67,15,164.45,15Zm-1.3,30.67c-6.19,0-10.73-4.83-10.73-11.31S157,23,163.22,23s10.66,4.82,10.66,11.37S169.34,45.65,163.15,45.65Zm83.31-14.91-6.34-.93c-3-.43-5.18-1.44-5.18-3.82,0-2.59,2.8-3.89,6.62-3.89,4.18,0,6.84,1.8,7.42,4.76h8.35c-.94-7.49-6.7-11.88-15.55-11.88-9.15,0-15.2,4.68-15.2,11.3,0,6.34,4,10,12,11.16l6.33.94c3.1.43,4.83,1.65,4.83,4,0,2.95-3,4.17-7.2,4.17-5.12,0-8-2.09-8.43-5.25h-8.49c.79,7.27,6.48,12.38,16.84,12.38,9.44,0,15.7-4.32,15.7-11.74C258.12,35.28,253.58,31.82,246.46,30.74Zm-27.65-2.3c0-8.06-4.9-13.46-15.27-13.46-9.79,0-15.26,5-16.34,12.6h8.57c.43-3,2.73-5.4,7.63-5.4,4.39,0,6.55,1.94,6.55,4.32,0,3.09-4,3.88-8.85,4.39-6.63.72-14.84,3-14.84,11.66,0,6.7,5,11,12.89,11,6.19,0,10.08-2.59,12-6.7.28,3.67,3,6.05,6.84,6.05h5v-7.7h-4.25Zm-8.5,9.36c0,5-4.32,8.64-9.57,8.64-3.24,0-6-1.37-6-4.25,0-3.67,4.39-4.68,8.42-5.11s6-1.22,7.13-2.88ZM281.09,15c-11.09,0-19.23,8.35-19.23,19.36,0,11.6,8.72,19.3,19.37,19.3,9,0,16.06-5.33,17.86-12.89h-9c-1.3,3.31-4.47,5.19-8.71,5.19-5.55,0-9.72-3.46-10.66-9.51H299.3V33.12C299.3,22.46,291.53,15,281.09,15Zm-9.87,15.26c1.37-5.18,5.26-7.7,9.72-7.7,4.9,0,8.64,2.8,9.51,7.7ZM19.3,23a9.84,9.84,0,0,1,9.5,7h9.14c-1.65-8.93-9-15-18.57-15A19,19,0,0,0,0,34.34c0,11.09,8.28,19.3,19.37,19.3,9.36,0,16.85-6,18.5-15H28.8a9.75,9.75,0,0,1-9.43,7.06c-6.27,0-10.66-4.83-10.66-11.31S13,23,19.3,23Zm41.11-8A19,19,0,0,0,41,34.34c0,11.09,8.28,19.3,19.37,19.3A19,19,0,0,0,79.92,34.27C79.92,23.33,71.64,15,60.41,15Zm.07,30.67c-6.19,0-10.73-4.83-10.73-11.31S54.22,23,60.41,23s10.8,4.89,10.8,11.37S66.67,45.65,60.48,45.65ZM123.41,15c-5.62,0-9.29,2.3-11.45,5.54V15.7h-8.57V52.92H112V32.69C112,27,115.63,23,121,23c5,0,8.06,3.53,8.06,8.64V52.92h8.64V31C137.66,21.6,132.84,15,123.41,15ZM92,.36a5.36,5.36,0,0,0-5.55,5.47,5.55,5.55,0,0,0,11.09,0A5.35,5.35,0,0,0,92,.36Zm-9.72,23h5.4V52.92h8.64V15.7h-14Zm298.17-7.7L366.2,52.92H372L375.29,44H392l3.33,8.88h6L386.87,15.7ZM377,39.23l6.45-17.56h.1l6.56,17.56ZM362.66,15.7l-7.88,29h-.11l-8.14-29H341l-8,28.93h-.1l-8-28.87H319L329.82,53h5.45l8.19-29.24h.11L352,53h5.66L368.1,15.7Zm135.25,0v4.86h12.32V52.92h5.6V20.56h12.32V15.7ZM467.82,52.92h25.54V48.06H473.43v-12h18.35V31.35H473.43V20.56h19.93V15.7H467.82ZM443,15.7h-5.6V52.92h24.32V48.06H443Zm-30.45,0h-5.61V52.92h24.32V48.06H412.52Z'/%3E%3C/svg%3E`;\n case 'textWithLogoLight':\n height = (0.25 * width).toFixed(2);\n return `data:image/svg+xml,%3Csvg width='${width}' height='${height}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 308.44 77.61'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fefefe;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M142.94,20.2l-7.88,29H135l-8.15-29h-5.55l-8,28.93h-.11l-8-28.87H99.27l10.84,37.27h5.44l8.2-29.24h.1l8.41,29.24h5.66L148.39,20.2Zm17.82,0L146.48,57.42h5.82l3.28-8.88h16.65l3.34,8.88h6L167.16,20.2Zm-3.44,23.52,6.45-17.55h.11l6.56,17.55ZM278.2,20.2v4.86h12.32V57.42h5.6V25.06h12.32V20.2ZM248.11,57.42h25.54V52.55H253.71V40.61h18.35V35.85H253.71V25.06h19.94V20.2H248.11ZM223.26,20.2h-5.61V57.42H242V52.55H223.26Zm-30.46,0h-5.6V57.42h24.32V52.55H192.8Zm-154,38A19.41,19.41,0,1,1,57.92,35.57H77.47a38.81,38.81,0,1,0,0,6.47H57.92A19.39,19.39,0,0,1,38.81,58.21Z'/%3E%3C/svg%3E`;\n default:\n height = width;\n return `data:image/svg+xml,%3Csvg width='${width}' height='${height}' viewBox='0 0 1024 1024' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Crect width='1024' height='1024' fill='%230052FF'/%3E %3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M152 512C152 710.823 313.177 872 512 872C710.823 872 872 710.823 872 512C872 313.177 710.823 152 512 152C313.177 152 152 313.177 152 512ZM420 396C406.745 396 396 406.745 396 420V604C396 617.255 406.745 628 420 628H604C617.255 628 628 617.255 628 604V420C628 406.745 617.255 396 604 396H420Z' fill='white'/%3E %3C/svg%3E `;\n }\n};\nexports.walletLogo = walletLogo;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LINK_API_URL = void 0;\nexports.LINK_API_URL = 'https://www.walletlink.org';\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [number & 0x3ffffff];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [0];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this._strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // '0' - '9'\n if (c >= 48 && c <= 57) {\n return c - 48;\n // 'A' - 'F'\n } else if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n } else {\n assert(false, 'Invalid character in ' + string);\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this._strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var b = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n b = c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n b = c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n b = c;\n }\n assert(c >= 0 && b < mul, 'Invalid character');\n r += b;\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [0];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this._strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n function move (dest, src) {\n dest.words = src.words;\n dest.length = src.length;\n dest.negative = src.negative;\n dest.red = src.red;\n }\n\n BN.prototype._move = function _move (dest) {\n move(dest, this);\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype._strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n // Check Symbol.for because not everywhere where Symbol defined\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Browser_compatibility\n if (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function') {\n try {\n BN.prototype[Symbol.for('nodejs.util.inspect.custom')] = inspect;\n } catch (e) {\n BN.prototype.inspect = inspect;\n }\n } else {\n BN.prototype.inspect = inspect;\n }\n\n function inspect () {\n return (this.red ? '';\n }\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modrn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16, 2);\n };\n\n if (Buffer) {\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n return this.toArrayLike(Buffer, endian, length);\n };\n }\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n var allocate = function allocate (ArrayType, size) {\n if (ArrayType.allocUnsafe) {\n return ArrayType.allocUnsafe(size);\n }\n return new ArrayType(size);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n this._strip();\n\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n var res = allocate(ArrayType, reqLength);\n var postfix = endian === 'le' ? 'LE' : 'BE';\n this['_toArrayLike' + postfix](res, byteLength);\n return res;\n };\n\n BN.prototype._toArrayLikeLE = function _toArrayLikeLE (res, byteLength) {\n var position = 0;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position++] = word & 0xff;\n if (position < res.length) {\n res[position++] = (word >> 8) & 0xff;\n }\n if (position < res.length) {\n res[position++] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position < res.length) {\n res[position++] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position < res.length) {\n res[position++] = carry;\n\n while (position < res.length) {\n res[position++] = 0;\n }\n }\n };\n\n BN.prototype._toArrayLikeBE = function _toArrayLikeBE (res, byteLength) {\n var position = res.length - 1;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position--] = word & 0xff;\n if (position >= 0) {\n res[position--] = (word >> 8) & 0xff;\n }\n if (position >= 0) {\n res[position--] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position >= 0) {\n res[position--] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position >= 0) {\n res[position--] = carry;\n\n while (position >= 0) {\n res[position--] = 0;\n }\n }\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] >>> wbit) & 0x01;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this._strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this._strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this._strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this._strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this._strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this._strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n function jumboMulTo (self, num, out) {\n // Temporary disable, see https://github.com/indutny/bn.js/issues/211\n // var fftm = new FFTM();\n // return fftm.mulp(self, num, out);\n return bigMulTo(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out._strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this._strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) <= num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this._strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this._strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this._strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q._strip();\n }\n a._strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || (r2 === 1 && cmp === 0)) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modrn = function modrn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return isNegNum ? -acc : acc;\n };\n\n // WARNING: DEPRECATED\n BN.prototype.modn = function modn (num) {\n return this.modrn(num);\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n this._strip();\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this._strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is a BN v4 instance\n r.strip();\n } else {\n // r is a BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n\n move(a, a.umod(this.m)._forceRed(this));\n return a;\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.errorValues = exports.standardErrorCodes = void 0;\nexports.standardErrorCodes = {\n rpc: {\n invalidInput: -32000,\n resourceNotFound: -32001,\n resourceUnavailable: -32002,\n transactionRejected: -32003,\n methodNotSupported: -32004,\n limitExceeded: -32005,\n parse: -32700,\n invalidRequest: -32600,\n methodNotFound: -32601,\n invalidParams: -32602,\n internal: -32603,\n },\n provider: {\n userRejectedRequest: 4001,\n unauthorized: 4100,\n unsupportedMethod: 4200,\n disconnected: 4900,\n chainDisconnected: 4901,\n unsupportedChain: 4902,\n },\n};\nexports.errorValues = {\n '-32700': {\n standard: 'JSON RPC 2.0',\n message: 'Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.',\n },\n '-32600': {\n standard: 'JSON RPC 2.0',\n message: 'The JSON sent is not a valid Request object.',\n },\n '-32601': {\n standard: 'JSON RPC 2.0',\n message: 'The method does not exist / is not available.',\n },\n '-32602': {\n standard: 'JSON RPC 2.0',\n message: 'Invalid method parameter(s).',\n },\n '-32603': {\n standard: 'JSON RPC 2.0',\n message: 'Internal JSON-RPC error.',\n },\n '-32000': {\n standard: 'EIP-1474',\n message: 'Invalid input.',\n },\n '-32001': {\n standard: 'EIP-1474',\n message: 'Resource not found.',\n },\n '-32002': {\n standard: 'EIP-1474',\n message: 'Resource unavailable.',\n },\n '-32003': {\n standard: 'EIP-1474',\n message: 'Transaction rejected.',\n },\n '-32004': {\n standard: 'EIP-1474',\n message: 'Method not supported.',\n },\n '-32005': {\n standard: 'EIP-1474',\n message: 'Request limit exceeded.',\n },\n '4001': {\n standard: 'EIP-1193',\n message: 'User rejected the request.',\n },\n '4100': {\n standard: 'EIP-1193',\n message: 'The requested account and/or method has not been authorized by the user.',\n },\n '4200': {\n standard: 'EIP-1193',\n message: 'The requested method is not supported by this Ethereum provider.',\n },\n '4900': {\n standard: 'EIP-1193',\n message: 'The provider is disconnected from all chains.',\n },\n '4901': {\n standard: 'EIP-1193',\n message: 'The provider is disconnected from the specified chain.',\n },\n '4902': {\n standard: 'EIP-3085',\n message: 'Unrecognized chain ID.',\n },\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.serialize = exports.getErrorCode = exports.isValidCode = exports.getMessageFromCode = exports.JSON_RPC_SERVER_ERROR_MESSAGE = void 0;\nconst constants_1 = require(\"./constants\");\nconst FALLBACK_MESSAGE = 'Unspecified error message.';\nexports.JSON_RPC_SERVER_ERROR_MESSAGE = 'Unspecified server error.';\n/**\n * Gets the message for a given code, or a fallback message if the code has\n * no corresponding message.\n */\nfunction getMessageFromCode(code, fallbackMessage = FALLBACK_MESSAGE) {\n if (code && Number.isInteger(code)) {\n const codeString = code.toString();\n if (hasKey(constants_1.errorValues, codeString)) {\n return constants_1.errorValues[codeString].message;\n }\n if (isJsonRpcServerError(code)) {\n return exports.JSON_RPC_SERVER_ERROR_MESSAGE;\n }\n }\n return fallbackMessage;\n}\nexports.getMessageFromCode = getMessageFromCode;\n/**\n * Returns whether the given code is valid.\n * A code is only valid if it has a message.\n */\nfunction isValidCode(code) {\n if (!Number.isInteger(code)) {\n return false;\n }\n const codeString = code.toString();\n if (constants_1.errorValues[codeString]) {\n return true;\n }\n if (isJsonRpcServerError(code)) {\n return true;\n }\n return false;\n}\nexports.isValidCode = isValidCode;\n/**\n * Returns the error code from an error object.\n */\nfunction getErrorCode(error) {\n var _a;\n if (typeof error === 'number') {\n return error;\n }\n else if (isErrorWithCode(error)) {\n return (_a = error.code) !== null && _a !== void 0 ? _a : error.errorCode;\n }\n return undefined;\n}\nexports.getErrorCode = getErrorCode;\nfunction isErrorWithCode(error) {\n return (typeof error === 'object' &&\n error !== null &&\n (typeof error.code === 'number' ||\n typeof error.errorCode === 'number'));\n}\nfunction serialize(error, { shouldIncludeStack = false } = {}) {\n const serialized = {};\n if (error &&\n typeof error === 'object' &&\n !Array.isArray(error) &&\n hasKey(error, 'code') &&\n isValidCode(error.code)) {\n const _error = error;\n serialized.code = _error.code;\n if (_error.message && typeof _error.message === 'string') {\n serialized.message = _error.message;\n if (hasKey(_error, 'data')) {\n serialized.data = _error.data;\n }\n }\n else {\n serialized.message = getMessageFromCode(serialized.code);\n serialized.data = { originalError: assignOriginalError(error) };\n }\n }\n else {\n serialized.code = constants_1.standardErrorCodes.rpc.internal;\n serialized.message = hasStringProperty(error, 'message') ? error.message : FALLBACK_MESSAGE;\n serialized.data = { originalError: assignOriginalError(error) };\n }\n if (shouldIncludeStack) {\n serialized.stack = hasStringProperty(error, 'stack') ? error.stack : undefined;\n }\n return serialized;\n}\nexports.serialize = serialize;\n// Internal\nfunction isJsonRpcServerError(code) {\n return code >= -32099 && code <= -32000;\n}\nfunction assignOriginalError(error) {\n if (error && typeof error === 'object' && !Array.isArray(error)) {\n return Object.assign({}, error);\n }\n return error;\n}\nfunction hasKey(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\nfunction hasStringProperty(obj, prop) {\n return (typeof obj === 'object' && obj !== null && prop in obj && typeof obj[prop] === 'string');\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.standardErrors = void 0;\nconst constants_1 = require(\"./constants\");\nconst utils_1 = require(\"./utils\");\nexports.standardErrors = {\n rpc: {\n parse: (arg) => getEthJsonRpcError(constants_1.standardErrorCodes.rpc.parse, arg),\n invalidRequest: (arg) => getEthJsonRpcError(constants_1.standardErrorCodes.rpc.invalidRequest, arg),\n invalidParams: (arg) => getEthJsonRpcError(constants_1.standardErrorCodes.rpc.invalidParams, arg),\n methodNotFound: (arg) => getEthJsonRpcError(constants_1.standardErrorCodes.rpc.methodNotFound, arg),\n internal: (arg) => getEthJsonRpcError(constants_1.standardErrorCodes.rpc.internal, arg),\n server: (opts) => {\n if (!opts || typeof opts !== 'object' || Array.isArray(opts)) {\n throw new Error('Ethereum RPC Server errors must provide single object argument.');\n }\n const { code } = opts;\n if (!Number.isInteger(code) || code > -32005 || code < -32099) {\n throw new Error('\"code\" must be an integer such that: -32099 <= code <= -32005');\n }\n return getEthJsonRpcError(code, opts);\n },\n invalidInput: (arg) => getEthJsonRpcError(constants_1.standardErrorCodes.rpc.invalidInput, arg),\n resourceNotFound: (arg) => getEthJsonRpcError(constants_1.standardErrorCodes.rpc.resourceNotFound, arg),\n resourceUnavailable: (arg) => getEthJsonRpcError(constants_1.standardErrorCodes.rpc.resourceUnavailable, arg),\n transactionRejected: (arg) => getEthJsonRpcError(constants_1.standardErrorCodes.rpc.transactionRejected, arg),\n methodNotSupported: (arg) => getEthJsonRpcError(constants_1.standardErrorCodes.rpc.methodNotSupported, arg),\n limitExceeded: (arg) => getEthJsonRpcError(constants_1.standardErrorCodes.rpc.limitExceeded, arg),\n },\n provider: {\n userRejectedRequest: (arg) => {\n return getEthProviderError(constants_1.standardErrorCodes.provider.userRejectedRequest, arg);\n },\n unauthorized: (arg) => {\n return getEthProviderError(constants_1.standardErrorCodes.provider.unauthorized, arg);\n },\n unsupportedMethod: (arg) => {\n return getEthProviderError(constants_1.standardErrorCodes.provider.unsupportedMethod, arg);\n },\n disconnected: (arg) => {\n return getEthProviderError(constants_1.standardErrorCodes.provider.disconnected, arg);\n },\n chainDisconnected: (arg) => {\n return getEthProviderError(constants_1.standardErrorCodes.provider.chainDisconnected, arg);\n },\n unsupportedChain: (arg) => {\n return getEthProviderError(constants_1.standardErrorCodes.provider.unsupportedChain, arg);\n },\n custom: (opts) => {\n if (!opts || typeof opts !== 'object' || Array.isArray(opts)) {\n throw new Error('Ethereum Provider custom errors must provide single object argument.');\n }\n const { code, message, data } = opts;\n if (!message || typeof message !== 'string') {\n throw new Error('\"message\" must be a nonempty string');\n }\n return new EthereumProviderError(code, message, data);\n },\n },\n};\n// Internal\nfunction getEthJsonRpcError(code, arg) {\n const [message, data] = parseOpts(arg);\n return new EthereumRpcError(code, message || (0, utils_1.getMessageFromCode)(code), data);\n}\nfunction getEthProviderError(code, arg) {\n const [message, data] = parseOpts(arg);\n return new EthereumProviderError(code, message || (0, utils_1.getMessageFromCode)(code), data);\n}\nfunction parseOpts(arg) {\n if (arg) {\n if (typeof arg === 'string') {\n return [arg];\n }\n else if (typeof arg === 'object' && !Array.isArray(arg)) {\n const { message, data } = arg;\n if (message && typeof message !== 'string') {\n throw new Error('Must specify string message.');\n }\n return [message || undefined, data];\n }\n }\n return [];\n}\nclass EthereumRpcError extends Error {\n constructor(code, message, data) {\n if (!Number.isInteger(code)) {\n throw new Error('\"code\" must be an integer.');\n }\n if (!message || typeof message !== 'string') {\n throw new Error('\"message\" must be a nonempty string.');\n }\n super(message);\n this.code = code;\n if (data !== undefined) {\n this.data = data;\n }\n }\n}\nclass EthereumProviderError extends EthereumRpcError {\n /**\n * Create an Ethereum Provider JSON-RPC error.\n * `code` must be an integer in the 1000 <= 4999 range.\n */\n constructor(code, message, data) {\n if (!isValidEthProviderCode(code)) {\n throw new Error('\"code\" must be an integer such that: 1000 <= code <= 4999');\n }\n super(code, message, data);\n }\n}\nfunction isValidEthProviderCode(code) {\n return Number.isInteger(code) && code >= 1000 && code <= 4999;\n}\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isErrorResponse = void 0;\n// TODO: revisit if this is still needed\nfunction isErrorResponse(response) {\n return response.errorMessage !== undefined;\n}\nexports.isErrorResponse = isErrorResponse;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LIB_VERSION = void 0;\nexports.LIB_VERSION = '3.9.1';\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.serializeError = void 0;\n// TODO: error should not depend on walletlink. revisit this.\nconst Web3Response_1 = require(\"../../relay/walletlink/type/Web3Response\");\nconst version_1 = require(\"../../version\");\nconst constants_1 = require(\"./constants\");\nconst utils_1 = require(\"./utils\");\n/**\n * Serializes an error to a format that is compatible with the Ethereum JSON RPC error format.\n * See https://docs.cloud.coinbase.com/wallet-sdk/docs/errors\n * for more information.\n */\nfunction serializeError(error, requestOrMethod) {\n const serialized = (0, utils_1.serialize)(getErrorObject(error), {\n shouldIncludeStack: true,\n });\n const docUrl = new URL('https://docs.cloud.coinbase.com/wallet-sdk/docs/errors');\n docUrl.searchParams.set('version', version_1.LIB_VERSION);\n docUrl.searchParams.set('code', serialized.code.toString());\n const method = getMethod(serialized.data, requestOrMethod);\n if (method) {\n docUrl.searchParams.set('method', method);\n }\n docUrl.searchParams.set('message', serialized.message);\n return Object.assign(Object.assign({}, serialized), { docUrl: docUrl.href });\n}\nexports.serializeError = serializeError;\n/**\n * Converts an error to a serializable object.\n */\nfunction getErrorObject(error) {\n if (typeof error === 'string') {\n return {\n message: error,\n code: constants_1.standardErrorCodes.rpc.internal,\n };\n }\n else if ((0, Web3Response_1.isErrorResponse)(error)) {\n return Object.assign(Object.assign({}, error), { message: error.errorMessage, code: error.errorCode, data: { method: error.method } });\n }\n return error;\n}\n/**\n * Gets the method name from the serialized data or the request.\n */\nfunction getMethod(serializedData, request) {\n const methodInData = serializedData === null || serializedData === void 0 ? void 0 : serializedData.method;\n if (methodInData) {\n return methodInData;\n }\n if (request === undefined) {\n return undefined;\n }\n else if (typeof request === 'string') {\n return request;\n }\n else if (!Array.isArray(request)) {\n return request.method;\n }\n else if (request.length > 0) {\n return request[0].method;\n }\n return undefined;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.standardErrors = exports.standardErrorCodes = exports.serializeError = exports.getMessageFromCode = exports.getErrorCode = void 0;\nconst constants_1 = require(\"./constants\");\nObject.defineProperty(exports, \"standardErrorCodes\", { enumerable: true, get: function () { return constants_1.standardErrorCodes; } });\nconst errors_1 = require(\"./errors\");\nObject.defineProperty(exports, \"standardErrors\", { enumerable: true, get: function () { return errors_1.standardErrors; } });\nconst serialize_1 = require(\"./serialize\");\nObject.defineProperty(exports, \"serializeError\", { enumerable: true, get: function () { return serialize_1.serializeError; } });\nconst utils_1 = require(\"./utils\");\nObject.defineProperty(exports, \"getErrorCode\", { enumerable: true, get: function () { return utils_1.getErrorCode; } });\nObject.defineProperty(exports, \"getMessageFromCode\", { enumerable: true, get: function () { return utils_1.getMessageFromCode; } });\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ProviderType = exports.RegExpString = exports.IntNumber = exports.BigIntString = exports.AddressString = exports.HexString = exports.OpaqueType = void 0;\nfunction OpaqueType() {\n return (value) => value;\n}\nexports.OpaqueType = OpaqueType;\nexports.HexString = OpaqueType();\nexports.AddressString = OpaqueType();\nexports.BigIntString = OpaqueType();\nfunction IntNumber(num) {\n return Math.floor(num);\n}\nexports.IntNumber = IntNumber;\nexports.RegExpString = OpaqueType();\nvar ProviderType;\n(function (ProviderType) {\n ProviderType[\"CoinbaseWallet\"] = \"CoinbaseWallet\";\n ProviderType[\"MetaMask\"] = \"MetaMask\";\n ProviderType[\"Unselected\"] = \"\";\n})(ProviderType || (exports.ProviderType = ProviderType = {}));\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isMobileWeb = exports.getLocation = exports.isInIFrame = exports.createQrUrl = exports.getFavicon = exports.range = exports.isBigNumber = exports.ensureParsedJSONObject = exports.ensureBN = exports.ensureRegExpString = exports.ensureIntNumber = exports.ensureBuffer = exports.ensureAddressString = exports.ensureEvenLengthHexString = exports.ensureHexString = exports.isHexString = exports.prepend0x = exports.strip0x = exports.has0xPrefix = exports.hexStringFromIntNumber = exports.intNumberFromHexString = exports.bigIntStringFromBN = exports.hexStringFromBuffer = exports.hexStringToUint8Array = exports.uint8ArrayToHex = exports.randomBytesHex = void 0;\nconst bn_js_1 = __importDefault(require(\"bn.js\"));\nconst error_1 = require(\"./error\");\nconst type_1 = require(\"./type\");\nconst INT_STRING_REGEX = /^[0-9]*$/;\nconst HEXADECIMAL_STRING_REGEX = /^[a-f0-9]*$/;\n/**\n * @param length number of bytes\n */\nfunction randomBytesHex(length) {\n return uint8ArrayToHex(crypto.getRandomValues(new Uint8Array(length)));\n}\nexports.randomBytesHex = randomBytesHex;\nfunction uint8ArrayToHex(value) {\n return [...value].map((b) => b.toString(16).padStart(2, '0')).join('');\n}\nexports.uint8ArrayToHex = uint8ArrayToHex;\nfunction hexStringToUint8Array(hexString) {\n return new Uint8Array(hexString.match(/.{1,2}/g).map((byte) => parseInt(byte, 16)));\n}\nexports.hexStringToUint8Array = hexStringToUint8Array;\nfunction hexStringFromBuffer(buf, includePrefix = false) {\n const hex = buf.toString('hex');\n return (0, type_1.HexString)(includePrefix ? `0x${hex}` : hex);\n}\nexports.hexStringFromBuffer = hexStringFromBuffer;\nfunction bigIntStringFromBN(bn) {\n return (0, type_1.BigIntString)(bn.toString(10));\n}\nexports.bigIntStringFromBN = bigIntStringFromBN;\nfunction intNumberFromHexString(hex) {\n return (0, type_1.IntNumber)(new bn_js_1.default(ensureEvenLengthHexString(hex, false), 16).toNumber());\n}\nexports.intNumberFromHexString = intNumberFromHexString;\nfunction hexStringFromIntNumber(num) {\n return (0, type_1.HexString)(`0x${new bn_js_1.default(num).toString(16)}`);\n}\nexports.hexStringFromIntNumber = hexStringFromIntNumber;\nfunction has0xPrefix(str) {\n return str.startsWith('0x') || str.startsWith('0X');\n}\nexports.has0xPrefix = has0xPrefix;\nfunction strip0x(hex) {\n if (has0xPrefix(hex)) {\n return hex.slice(2);\n }\n return hex;\n}\nexports.strip0x = strip0x;\nfunction prepend0x(hex) {\n if (has0xPrefix(hex)) {\n return `0x${hex.slice(2)}`;\n }\n return `0x${hex}`;\n}\nexports.prepend0x = prepend0x;\nfunction isHexString(hex) {\n if (typeof hex !== 'string') {\n return false;\n }\n const s = strip0x(hex).toLowerCase();\n return HEXADECIMAL_STRING_REGEX.test(s);\n}\nexports.isHexString = isHexString;\nfunction ensureHexString(hex, includePrefix = false) {\n if (typeof hex === 'string') {\n const s = strip0x(hex).toLowerCase();\n if (HEXADECIMAL_STRING_REGEX.test(s)) {\n return (0, type_1.HexString)(includePrefix ? `0x${s}` : s);\n }\n }\n throw error_1.standardErrors.rpc.invalidParams(`\"${String(hex)}\" is not a hexadecimal string`);\n}\nexports.ensureHexString = ensureHexString;\nfunction ensureEvenLengthHexString(hex, includePrefix = false) {\n let h = ensureHexString(hex, false);\n if (h.length % 2 === 1) {\n h = (0, type_1.HexString)(`0${h}`);\n }\n return includePrefix ? (0, type_1.HexString)(`0x${h}`) : h;\n}\nexports.ensureEvenLengthHexString = ensureEvenLengthHexString;\nfunction ensureAddressString(str) {\n if (typeof str === 'string') {\n const s = strip0x(str).toLowerCase();\n if (isHexString(s) && s.length === 40) {\n return (0, type_1.AddressString)(prepend0x(s));\n }\n }\n throw error_1.standardErrors.rpc.invalidParams(`Invalid Ethereum address: ${String(str)}`);\n}\nexports.ensureAddressString = ensureAddressString;\nfunction ensureBuffer(str) {\n if (Buffer.isBuffer(str)) {\n return str;\n }\n if (typeof str === 'string') {\n if (isHexString(str)) {\n const s = ensureEvenLengthHexString(str, false);\n return Buffer.from(s, 'hex');\n }\n return Buffer.from(str, 'utf8');\n }\n throw error_1.standardErrors.rpc.invalidParams(`Not binary data: ${String(str)}`);\n}\nexports.ensureBuffer = ensureBuffer;\nfunction ensureIntNumber(num) {\n if (typeof num === 'number' && Number.isInteger(num)) {\n return (0, type_1.IntNumber)(num);\n }\n if (typeof num === 'string') {\n if (INT_STRING_REGEX.test(num)) {\n return (0, type_1.IntNumber)(Number(num));\n }\n if (isHexString(num)) {\n return (0, type_1.IntNumber)(new bn_js_1.default(ensureEvenLengthHexString(num, false), 16).toNumber());\n }\n }\n throw error_1.standardErrors.rpc.invalidParams(`Not an integer: ${String(num)}`);\n}\nexports.ensureIntNumber = ensureIntNumber;\nfunction ensureRegExpString(regExp) {\n if (regExp instanceof RegExp) {\n return (0, type_1.RegExpString)(regExp.toString());\n }\n throw error_1.standardErrors.rpc.invalidParams(`Not a RegExp: ${String(regExp)}`);\n}\nexports.ensureRegExpString = ensureRegExpString;\nfunction ensureBN(val) {\n if (val !== null && (bn_js_1.default.isBN(val) || isBigNumber(val))) {\n return new bn_js_1.default(val.toString(10), 10);\n }\n if (typeof val === 'number') {\n return new bn_js_1.default(ensureIntNumber(val));\n }\n if (typeof val === 'string') {\n if (INT_STRING_REGEX.test(val)) {\n return new bn_js_1.default(val, 10);\n }\n if (isHexString(val)) {\n return new bn_js_1.default(ensureEvenLengthHexString(val, false), 16);\n }\n }\n throw error_1.standardErrors.rpc.invalidParams(`Not an integer: ${String(val)}`);\n}\nexports.ensureBN = ensureBN;\nfunction ensureParsedJSONObject(val) {\n if (typeof val === 'string') {\n return JSON.parse(val);\n }\n if (typeof val === 'object') {\n return val;\n }\n throw error_1.standardErrors.rpc.invalidParams(`Not a JSON string or an object: ${String(val)}`);\n}\nexports.ensureParsedJSONObject = ensureParsedJSONObject;\nfunction isBigNumber(val) {\n if (val == null || typeof val.constructor !== 'function') {\n return false;\n }\n const { constructor } = val;\n return typeof constructor.config === 'function' && typeof constructor.EUCLID === 'number';\n}\nexports.isBigNumber = isBigNumber;\nfunction range(start, stop) {\n return Array.from({ length: stop - start }, (_, i) => start + i);\n}\nexports.range = range;\nfunction getFavicon() {\n const el = document.querySelector('link[sizes=\"192x192\"]') ||\n document.querySelector('link[sizes=\"180x180\"]') ||\n document.querySelector('link[rel=\"icon\"]') ||\n document.querySelector('link[rel=\"shortcut icon\"]');\n const { protocol, host } = document.location;\n const href = el ? el.getAttribute('href') : null;\n if (!href || href.startsWith('javascript:') || href.startsWith('vbscript:')) {\n return null;\n }\n if (href.startsWith('http://') || href.startsWith('https://') || href.startsWith('data:')) {\n return href;\n }\n if (href.startsWith('//')) {\n return protocol + href;\n }\n return `${protocol}//${host}${href}`;\n}\nexports.getFavicon = getFavicon;\nfunction createQrUrl(sessionId, sessionSecret, serverUrl, isParentConnection, version, chainId) {\n const sessionIdKey = isParentConnection ? 'parent-id' : 'id';\n const query = new URLSearchParams({\n [sessionIdKey]: sessionId,\n secret: sessionSecret,\n server: serverUrl,\n v: version,\n chainId: chainId.toString(),\n }).toString();\n const qrUrl = `${serverUrl}/#/link?${query}`;\n return qrUrl;\n}\nexports.createQrUrl = createQrUrl;\nfunction isInIFrame() {\n try {\n return window.frameElement !== null;\n }\n catch (e) {\n return false;\n }\n}\nexports.isInIFrame = isInIFrame;\nfunction getLocation() {\n try {\n if (isInIFrame() && window.top) {\n return window.top.location;\n }\n return window.location;\n }\n catch (e) {\n return window.location;\n }\n}\nexports.getLocation = getLocation;\nfunction isMobileWeb() {\n var _a;\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test((_a = window === null || window === void 0 ? void 0 : window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent);\n}\nexports.isMobileWeb = isMobileWeb;\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScopedLocalStorage = void 0;\nclass ScopedLocalStorage {\n // eslint-disable-next-line no-useless-constructor\n constructor(scope) {\n this.scope = scope;\n }\n setItem(key, value) {\n localStorage.setItem(this.scopedKey(key), value);\n }\n getItem(key) {\n return localStorage.getItem(this.scopedKey(key));\n }\n removeItem(key) {\n localStorage.removeItem(this.scopedKey(key));\n }\n clear() {\n const prefix = this.scopedKey('');\n const keysToRemove = [];\n for (let i = 0; i < localStorage.length; i++) {\n const key = localStorage.key(i);\n if (typeof key === 'string' && key.startsWith(prefix)) {\n keysToRemove.push(key);\n }\n }\n keysToRemove.forEach((key) => localStorage.removeItem(key));\n }\n scopedKey(key) {\n return `${this.scope}:${key}`;\n }\n}\nexports.ScopedLocalStorage = ScopedLocalStorage;\n","\"use strict\";\n// DiagnosticLogger for debugging purposes only\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EVENTS = void 0;\nexports.EVENTS = {\n STARTED_CONNECTING: 'walletlink_sdk.started.connecting',\n CONNECTED_STATE_CHANGE: 'walletlink_sdk.connected',\n DISCONNECTED: 'walletlink_sdk.disconnected',\n METADATA_DESTROYED: 'walletlink_sdk_metadata_destroyed',\n LINKED: 'walletlink_sdk.linked',\n FAILURE: 'walletlink_sdk.generic_failure',\n SESSION_CONFIG_RECEIVED: 'walletlink_sdk.session_config_event_received',\n ETH_ACCOUNTS_STATE: 'walletlink_sdk.eth_accounts_state',\n SESSION_STATE_CHANGE: 'walletlink_sdk.session_state_change',\n UNLINKED_ERROR_STATE: 'walletlink_sdk.unlinked_error_state',\n SKIPPED_CLEARING_SESSION: 'walletlink_sdk.skipped_clearing_session',\n GENERAL_ERROR: 'walletlink_sdk.general_error',\n WEB3_REQUEST: 'walletlink_sdk.web3.request',\n WEB3_REQUEST_PUBLISHED: 'walletlink_sdk.web3.request_published',\n WEB3_RESPONSE: 'walletlink_sdk.web3.response',\n METHOD_NOT_IMPLEMENTED: 'walletlink_sdk.method_not_implemented',\n UNKNOWN_ADDRESS_ENCOUNTERED: 'walletlink_sdk.unknown_address_encountered',\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelayAbstract = exports.APP_VERSION_KEY = exports.LOCAL_STORAGE_ADDRESSES_KEY = exports.WALLET_USER_NAME_KEY = void 0;\nconst error_1 = require(\"../core/error\");\nexports.WALLET_USER_NAME_KEY = 'walletUsername';\nexports.LOCAL_STORAGE_ADDRESSES_KEY = 'Addresses';\nexports.APP_VERSION_KEY = 'AppVersion';\nclass RelayAbstract {\n async makeEthereumJSONRPCRequest(request, jsonRpcUrl) {\n if (!jsonRpcUrl)\n throw new Error('Error: No jsonRpcUrl provided');\n return window\n .fetch(jsonRpcUrl, {\n method: 'POST',\n body: JSON.stringify(request),\n mode: 'cors',\n headers: { 'Content-Type': 'application/json' },\n })\n .then((res) => res.json())\n .then((json) => {\n if (!json) {\n throw error_1.standardErrors.rpc.parse({});\n }\n const response = json;\n const { error } = response;\n if (error) {\n throw (0, error_1.serializeError)(error, request.method);\n }\n return response;\n });\n }\n}\nexports.RelayAbstract = RelayAbstract;\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","var Buffer = require('safe-buffer').Buffer\n\n// prototype class for hash functions\nfunction Hash (blockSize, finalSize) {\n this._block = Buffer.alloc(blockSize)\n this._finalSize = finalSize\n this._blockSize = blockSize\n this._len = 0\n}\n\nHash.prototype.update = function (data, enc) {\n if (typeof data === 'string') {\n enc = enc || 'utf8'\n data = Buffer.from(data, enc)\n }\n\n var block = this._block\n var blockSize = this._blockSize\n var length = data.length\n var accum = this._len\n\n for (var offset = 0; offset < length;) {\n var assigned = accum % blockSize\n var remainder = Math.min(length - offset, blockSize - assigned)\n\n for (var i = 0; i < remainder; i++) {\n block[assigned + i] = data[offset + i]\n }\n\n accum += remainder\n offset += remainder\n\n if ((accum % blockSize) === 0) {\n this._update(block)\n }\n }\n\n this._len += length\n return this\n}\n\nHash.prototype.digest = function (enc) {\n var rem = this._len % this._blockSize\n\n this._block[rem] = 0x80\n\n // zero (rem + 1) trailing bits, where (rem + 1) is the smallest\n // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize\n this._block.fill(0, rem + 1)\n\n if (rem >= this._finalSize) {\n this._update(this._block)\n this._block.fill(0)\n }\n\n var bits = this._len * 8\n\n // uint32\n if (bits <= 0xffffffff) {\n this._block.writeUInt32BE(bits, this._blockSize - 4)\n\n // uint64\n } else {\n var lowBits = (bits & 0xffffffff) >>> 0\n var highBits = (bits - lowBits) / 0x100000000\n\n this._block.writeUInt32BE(highBits, this._blockSize - 8)\n this._block.writeUInt32BE(lowBits, this._blockSize - 4)\n }\n\n this._update(this._block)\n var hash = this._hash()\n\n return enc ? hash.toString(enc) : hash\n}\n\nHash.prototype._update = function () {\n throw new Error('_update must be implemented by subclass')\n}\n\nmodule.exports = Hash\n","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined\n * in FIPS PUB 180-1\n * This source code is derived from sha1.js of the same repository.\n * The difference between SHA-0 and SHA-1 is just a bitwise rotate left\n * operation was added.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha, Hash)\n\nSha.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha\n","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined\n * in FIPS PUB 180-1\n * Version 2.1a Copyright Paul Johnston 2000 - 2002.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for details.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha1 () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha1, Hash)\n\nSha1.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl1 (num) {\n return (num << 1) | (num >>> 31)\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha1.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16])\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha1.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha1\n","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,\n 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,\n 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,\n 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,\n 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,\n 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,\n 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,\n 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,\n 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,\n 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,\n 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,\n 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,\n 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,\n 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,\n 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,\n 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2\n]\n\nvar W = new Array(64)\n\nfunction Sha256 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha256, Hash)\n\nSha256.prototype.init = function () {\n this._a = 0x6a09e667\n this._b = 0xbb67ae85\n this._c = 0x3c6ef372\n this._d = 0xa54ff53a\n this._e = 0x510e527f\n this._f = 0x9b05688c\n this._g = 0x1f83d9ab\n this._h = 0x5be0cd19\n\n return this\n}\n\nfunction ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x) {\n return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10)\n}\n\nfunction sigma1 (x) {\n return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7)\n}\n\nfunction gamma0 (x) {\n return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ (x >>> 3)\n}\n\nfunction gamma1 (x) {\n return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ (x >>> 10)\n}\n\nSha256.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n var f = this._f | 0\n var g = this._g | 0\n var h = this._h | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 64; ++i) W[i] = (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) | 0\n\n for (var j = 0; j < 64; ++j) {\n var T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + W[j]) | 0\n var T2 = (sigma0(a) + maj(a, b, c)) | 0\n\n h = g\n g = f\n f = e\n e = (d + T1) | 0\n d = c\n c = b\n b = a\n a = (T1 + T2) | 0\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n this._f = (f + this._f) | 0\n this._g = (g + this._g) | 0\n this._h = (h + this._h) | 0\n}\n\nSha256.prototype._hash = function () {\n var H = Buffer.allocUnsafe(32)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n H.writeInt32BE(this._h, 28)\n\n return H\n}\n\nmodule.exports = Sha256\n","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Sha256 = require('./sha256')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(64)\n\nfunction Sha224 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha224, Sha256)\n\nSha224.prototype.init = function () {\n this._a = 0xc1059ed8\n this._b = 0x367cd507\n this._c = 0x3070dd17\n this._d = 0xf70e5939\n this._e = 0xffc00b31\n this._f = 0x68581511\n this._g = 0x64f98fa7\n this._h = 0xbefa4fa4\n\n return this\n}\n\nSha224.prototype._hash = function () {\n var H = Buffer.allocUnsafe(28)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n\n return H\n}\n\nmodule.exports = Sha224\n","var inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n]\n\nvar W = new Array(160)\n\nfunction Sha512 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha512, Hash)\n\nSha512.prototype.init = function () {\n this._ah = 0x6a09e667\n this._bh = 0xbb67ae85\n this._ch = 0x3c6ef372\n this._dh = 0xa54ff53a\n this._eh = 0x510e527f\n this._fh = 0x9b05688c\n this._gh = 0x1f83d9ab\n this._hh = 0x5be0cd19\n\n this._al = 0xf3bcc908\n this._bl = 0x84caa73b\n this._cl = 0xfe94f82b\n this._dl = 0x5f1d36f1\n this._el = 0xade682d1\n this._fl = 0x2b3e6c1f\n this._gl = 0xfb41bd6b\n this._hl = 0x137e2179\n\n return this\n}\n\nfunction Ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x, xl) {\n return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25)\n}\n\nfunction sigma1 (x, xl) {\n return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23)\n}\n\nfunction Gamma0 (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7)\n}\n\nfunction Gamma0l (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25)\n}\n\nfunction Gamma1 (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6)\n}\n\nfunction Gamma1l (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26)\n}\n\nfunction getCarry (a, b) {\n return (a >>> 0) < (b >>> 0) ? 1 : 0\n}\n\nSha512.prototype._update = function (M) {\n var W = this._w\n\n var ah = this._ah | 0\n var bh = this._bh | 0\n var ch = this._ch | 0\n var dh = this._dh | 0\n var eh = this._eh | 0\n var fh = this._fh | 0\n var gh = this._gh | 0\n var hh = this._hh | 0\n\n var al = this._al | 0\n var bl = this._bl | 0\n var cl = this._cl | 0\n var dl = this._dl | 0\n var el = this._el | 0\n var fl = this._fl | 0\n var gl = this._gl | 0\n var hl = this._hl | 0\n\n for (var i = 0; i < 32; i += 2) {\n W[i] = M.readInt32BE(i * 4)\n W[i + 1] = M.readInt32BE(i * 4 + 4)\n }\n for (; i < 160; i += 2) {\n var xh = W[i - 15 * 2]\n var xl = W[i - 15 * 2 + 1]\n var gamma0 = Gamma0(xh, xl)\n var gamma0l = Gamma0l(xl, xh)\n\n xh = W[i - 2 * 2]\n xl = W[i - 2 * 2 + 1]\n var gamma1 = Gamma1(xh, xl)\n var gamma1l = Gamma1l(xl, xh)\n\n // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n var Wi7h = W[i - 7 * 2]\n var Wi7l = W[i - 7 * 2 + 1]\n\n var Wi16h = W[i - 16 * 2]\n var Wi16l = W[i - 16 * 2 + 1]\n\n var Wil = (gamma0l + Wi7l) | 0\n var Wih = (gamma0 + Wi7h + getCarry(Wil, gamma0l)) | 0\n Wil = (Wil + gamma1l) | 0\n Wih = (Wih + gamma1 + getCarry(Wil, gamma1l)) | 0\n Wil = (Wil + Wi16l) | 0\n Wih = (Wih + Wi16h + getCarry(Wil, Wi16l)) | 0\n\n W[i] = Wih\n W[i + 1] = Wil\n }\n\n for (var j = 0; j < 160; j += 2) {\n Wih = W[j]\n Wil = W[j + 1]\n\n var majh = maj(ah, bh, ch)\n var majl = maj(al, bl, cl)\n\n var sigma0h = sigma0(ah, al)\n var sigma0l = sigma0(al, ah)\n var sigma1h = sigma1(eh, el)\n var sigma1l = sigma1(el, eh)\n\n // t1 = h + sigma1 + ch + K[j] + W[j]\n var Kih = K[j]\n var Kil = K[j + 1]\n\n var chh = Ch(eh, fh, gh)\n var chl = Ch(el, fl, gl)\n\n var t1l = (hl + sigma1l) | 0\n var t1h = (hh + sigma1h + getCarry(t1l, hl)) | 0\n t1l = (t1l + chl) | 0\n t1h = (t1h + chh + getCarry(t1l, chl)) | 0\n t1l = (t1l + Kil) | 0\n t1h = (t1h + Kih + getCarry(t1l, Kil)) | 0\n t1l = (t1l + Wil) | 0\n t1h = (t1h + Wih + getCarry(t1l, Wil)) | 0\n\n // t2 = sigma0 + maj\n var t2l = (sigma0l + majl) | 0\n var t2h = (sigma0h + majh + getCarry(t2l, sigma0l)) | 0\n\n hh = gh\n hl = gl\n gh = fh\n gl = fl\n fh = eh\n fl = el\n el = (dl + t1l) | 0\n eh = (dh + t1h + getCarry(el, dl)) | 0\n dh = ch\n dl = cl\n ch = bh\n cl = bl\n bh = ah\n bl = al\n al = (t1l + t2l) | 0\n ah = (t1h + t2h + getCarry(al, t1l)) | 0\n }\n\n this._al = (this._al + al) | 0\n this._bl = (this._bl + bl) | 0\n this._cl = (this._cl + cl) | 0\n this._dl = (this._dl + dl) | 0\n this._el = (this._el + el) | 0\n this._fl = (this._fl + fl) | 0\n this._gl = (this._gl + gl) | 0\n this._hl = (this._hl + hl) | 0\n\n this._ah = (this._ah + ah + getCarry(this._al, al)) | 0\n this._bh = (this._bh + bh + getCarry(this._bl, bl)) | 0\n this._ch = (this._ch + ch + getCarry(this._cl, cl)) | 0\n this._dh = (this._dh + dh + getCarry(this._dl, dl)) | 0\n this._eh = (this._eh + eh + getCarry(this._el, el)) | 0\n this._fh = (this._fh + fh + getCarry(this._fl, fl)) | 0\n this._gh = (this._gh + gh + getCarry(this._gl, gl)) | 0\n this._hh = (this._hh + hh + getCarry(this._hl, hl)) | 0\n}\n\nSha512.prototype._hash = function () {\n var H = Buffer.allocUnsafe(64)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n writeInt64BE(this._gh, this._gl, 48)\n writeInt64BE(this._hh, this._hl, 56)\n\n return H\n}\n\nmodule.exports = Sha512\n","var inherits = require('inherits')\nvar SHA512 = require('./sha512')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(160)\n\nfunction Sha384 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha384, SHA512)\n\nSha384.prototype.init = function () {\n this._ah = 0xcbbb9d5d\n this._bh = 0x629a292a\n this._ch = 0x9159015a\n this._dh = 0x152fecd8\n this._eh = 0x67332667\n this._fh = 0x8eb44a87\n this._gh = 0xdb0c2e0d\n this._hh = 0x47b5481d\n\n this._al = 0xc1059ed8\n this._bl = 0x367cd507\n this._cl = 0x3070dd17\n this._dl = 0xf70e5939\n this._el = 0xffc00b31\n this._fl = 0x68581511\n this._gl = 0x64f98fa7\n this._hl = 0xbefa4fa4\n\n return this\n}\n\nSha384.prototype._hash = function () {\n var H = Buffer.allocUnsafe(48)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n\n return H\n}\n\nmodule.exports = Sha384\n","var exports = module.exports = function SHA (algorithm) {\n algorithm = algorithm.toLowerCase()\n\n var Algorithm = exports[algorithm]\n if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)')\n\n return new Algorithm()\n}\n\nexports.sha = require('./sha')\nexports.sha1 = require('./sha1')\nexports.sha224 = require('./sha224')\nexports.sha256 = require('./sha256')\nexports.sha384 = require('./sha384')\nexports.sha512 = require('./sha512')\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Session = void 0;\nconst sha_js_1 = require(\"sha.js\");\nconst util_1 = require(\"../core/util\");\nconst STORAGE_KEY_SESSION_ID = 'session:id';\nconst STORAGE_KEY_SESSION_SECRET = 'session:secret';\nconst STORAGE_KEY_SESSION_LINKED = 'session:linked';\nclass Session {\n constructor(storage, id, secret, linked) {\n this._storage = storage;\n this._id = id || (0, util_1.randomBytesHex)(16);\n this._secret = secret || (0, util_1.randomBytesHex)(32);\n this._key = new sha_js_1.sha256()\n .update(`${this._id}, ${this._secret} WalletLink`) // ensure old sessions stay connected\n .digest('hex');\n this._linked = !!linked;\n }\n static load(storage) {\n const id = storage.getItem(STORAGE_KEY_SESSION_ID);\n const linked = storage.getItem(STORAGE_KEY_SESSION_LINKED);\n const secret = storage.getItem(STORAGE_KEY_SESSION_SECRET);\n if (id && secret) {\n return new Session(storage, id, secret, linked === '1');\n }\n return null;\n }\n /**\n * Takes in a session ID and returns the sha256 hash of it.\n * @param sessionId session ID\n */\n static hash(sessionId) {\n return new sha_js_1.sha256().update(sessionId).digest('hex');\n }\n get id() {\n return this._id;\n }\n get secret() {\n return this._secret;\n }\n get key() {\n return this._key;\n }\n get linked() {\n return this._linked;\n }\n set linked(val) {\n this._linked = val;\n this.persistLinked();\n }\n save() {\n this._storage.setItem(STORAGE_KEY_SESSION_ID, this._id);\n this._storage.setItem(STORAGE_KEY_SESSION_SECRET, this._secret);\n this.persistLinked();\n return this;\n }\n persistLinked() {\n this._storage.setItem(STORAGE_KEY_SESSION_LINKED, this._linked ? '1' : '0');\n }\n}\nexports.Session = Session;\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Cipher = void 0;\nconst util_1 = require(\"../core/util\");\nclass Cipher {\n // @param secret hex representation of 32-byte secret\n constructor(secret) {\n this.secret = secret;\n }\n /**\n *\n * @param plainText string to be encrypted\n * returns hex string representation of bytes in the order: initialization vector (iv),\n * auth tag, encrypted plaintext. IV is 12 bytes. Auth tag is 16 bytes. Remaining bytes are the\n * encrypted plainText.\n */\n async encrypt(plainText) {\n const secret = this.secret;\n if (secret.length !== 64)\n throw Error(`secret must be 256 bits`);\n const ivBytes = crypto.getRandomValues(new Uint8Array(12));\n const secretKey = await crypto.subtle.importKey('raw', (0, util_1.hexStringToUint8Array)(secret), { name: 'aes-gcm' }, false, ['encrypt', 'decrypt']);\n const enc = new TextEncoder();\n // Will return encrypted plainText with auth tag (ie MAC or checksum) appended at the end\n const encryptedResult = await window.crypto.subtle.encrypt({\n name: 'AES-GCM',\n iv: ivBytes,\n }, secretKey, enc.encode(plainText));\n const tagLength = 16;\n const authTag = encryptedResult.slice(encryptedResult.byteLength - tagLength);\n const encryptedPlaintext = encryptedResult.slice(0, encryptedResult.byteLength - tagLength);\n const authTagBytes = new Uint8Array(authTag);\n const encryptedPlaintextBytes = new Uint8Array(encryptedPlaintext);\n const concatted = new Uint8Array([...ivBytes, ...authTagBytes, ...encryptedPlaintextBytes]);\n return (0, util_1.uint8ArrayToHex)(concatted);\n }\n /**\n *\n * @param cipherText hex string representation of bytes in the order: initialization vector (iv),\n * auth tag, encrypted plaintext. IV is 12 bytes. Auth tag is 16 bytes.\n */\n async decrypt(cipherText) {\n const secret = this.secret;\n if (secret.length !== 64)\n throw Error(`secret must be 256 bits`);\n return new Promise((resolve, reject) => {\n void (async function () {\n const secretKey = await crypto.subtle.importKey('raw', (0, util_1.hexStringToUint8Array)(secret), { name: 'aes-gcm' }, false, ['encrypt', 'decrypt']);\n const encrypted = (0, util_1.hexStringToUint8Array)(cipherText);\n const ivBytes = encrypted.slice(0, 12);\n const authTagBytes = encrypted.slice(12, 28);\n const encryptedPlaintextBytes = encrypted.slice(28);\n const concattedBytes = new Uint8Array([...encryptedPlaintextBytes, ...authTagBytes]);\n const algo = {\n name: 'AES-GCM',\n iv: new Uint8Array(ivBytes),\n };\n try {\n const decrypted = await window.crypto.subtle.decrypt(algo, secretKey, concattedBytes);\n const decoder = new TextDecoder();\n resolve(decoder.decode(decrypted));\n }\n catch (err) {\n reject(err);\n }\n })();\n });\n }\n}\nexports.Cipher = Cipher;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WalletLinkHTTP = void 0;\nclass WalletLinkHTTP {\n constructor(linkAPIUrl, sessionId, sessionKey) {\n this.linkAPIUrl = linkAPIUrl;\n this.sessionId = sessionId;\n const credentials = `${sessionId}:${sessionKey}`;\n this.auth = `Basic ${btoa(credentials)}`;\n }\n // mark unseen events as seen\n async markUnseenEventsAsSeen(events) {\n return Promise.all(events.map((e) => fetch(`${this.linkAPIUrl}/events/${e.eventId}/seen`, {\n method: 'POST',\n headers: {\n Authorization: this.auth,\n },\n }))).catch((error) => console.error('Unabled to mark event as failed:', error));\n }\n async fetchUnseenEvents() {\n var _a;\n const response = await fetch(`${this.linkAPIUrl}/events?unseen=true`, {\n headers: {\n Authorization: this.auth,\n },\n });\n if (response.ok) {\n const { events, error } = (await response.json());\n if (error) {\n throw new Error(`Check unseen events failed: ${error}`);\n }\n const responseEvents = (_a = events === null || events === void 0 ? void 0 : events.filter((e) => e.event === 'Web3Response').map((e) => ({\n type: 'Event',\n sessionId: this.sessionId,\n eventId: e.id,\n event: e.event,\n data: e.data,\n }))) !== null && _a !== void 0 ? _a : [];\n this.markUnseenEventsAsSeen(responseEvents);\n return responseEvents;\n }\n throw new Error(`Check unseen events failed: ${response.status}`);\n }\n}\nexports.WalletLinkHTTP = WalletLinkHTTP;\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WalletLinkWebSocket = exports.ConnectionState = void 0;\nvar ConnectionState;\n(function (ConnectionState) {\n ConnectionState[ConnectionState[\"DISCONNECTED\"] = 0] = \"DISCONNECTED\";\n ConnectionState[ConnectionState[\"CONNECTING\"] = 1] = \"CONNECTING\";\n ConnectionState[ConnectionState[\"CONNECTED\"] = 2] = \"CONNECTED\";\n})(ConnectionState || (exports.ConnectionState = ConnectionState = {}));\nclass WalletLinkWebSocket {\n setConnectionStateListener(listener) {\n this.connectionStateListener = listener;\n }\n setIncomingDataListener(listener) {\n this.incomingDataListener = listener;\n }\n /**\n * Constructor\n * @param url WebSocket server URL\n * @param [WebSocketClass] Custom WebSocket implementation\n */\n constructor(url, WebSocketClass = WebSocket) {\n this.WebSocketClass = WebSocketClass;\n this.webSocket = null;\n this.pendingData = [];\n this.url = url.replace(/^http/, 'ws');\n }\n /**\n * Make a websocket connection\n * @returns a Promise that resolves when connected\n */\n async connect() {\n if (this.webSocket) {\n throw new Error('webSocket object is not null');\n }\n return new Promise((resolve, reject) => {\n var _a;\n let webSocket;\n try {\n this.webSocket = webSocket = new this.WebSocketClass(this.url);\n }\n catch (err) {\n reject(err);\n return;\n }\n (_a = this.connectionStateListener) === null || _a === void 0 ? void 0 : _a.call(this, ConnectionState.CONNECTING);\n webSocket.onclose = (evt) => {\n var _a;\n this.clearWebSocket();\n reject(new Error(`websocket error ${evt.code}: ${evt.reason}`));\n (_a = this.connectionStateListener) === null || _a === void 0 ? void 0 : _a.call(this, ConnectionState.DISCONNECTED);\n };\n webSocket.onopen = (_) => {\n var _a;\n resolve();\n (_a = this.connectionStateListener) === null || _a === void 0 ? void 0 : _a.call(this, ConnectionState.CONNECTED);\n if (this.pendingData.length > 0) {\n const pending = [...this.pendingData];\n pending.forEach((data) => this.sendData(data));\n this.pendingData = [];\n }\n };\n webSocket.onmessage = (evt) => {\n var _a, _b;\n if (evt.data === 'h') {\n (_a = this.incomingDataListener) === null || _a === void 0 ? void 0 : _a.call(this, {\n type: 'Heartbeat',\n });\n }\n else {\n try {\n const message = JSON.parse(evt.data);\n (_b = this.incomingDataListener) === null || _b === void 0 ? void 0 : _b.call(this, message);\n }\n catch (_c) {\n /* empty */\n }\n }\n };\n });\n }\n /**\n * Disconnect from server\n */\n disconnect() {\n var _a;\n const { webSocket } = this;\n if (!webSocket) {\n return;\n }\n this.clearWebSocket();\n (_a = this.connectionStateListener) === null || _a === void 0 ? void 0 : _a.call(this, ConnectionState.DISCONNECTED);\n this.connectionStateListener = undefined;\n this.incomingDataListener = undefined;\n try {\n webSocket.close();\n }\n catch (_b) {\n // noop\n }\n }\n /**\n * Send data to server\n * @param data text to send\n */\n sendData(data) {\n const { webSocket } = this;\n if (!webSocket) {\n this.pendingData.push(data);\n this.connect();\n return;\n }\n webSocket.send(data);\n }\n clearWebSocket() {\n const { webSocket } = this;\n if (!webSocket) {\n return;\n }\n this.webSocket = null;\n webSocket.onclose = null;\n webSocket.onerror = null;\n webSocket.onmessage = null;\n webSocket.onopen = null;\n }\n}\nexports.WalletLinkWebSocket = WalletLinkWebSocket;\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WalletLinkConnection = void 0;\nconst type_1 = require(\"../../../core/type\");\nconst Cipher_1 = require(\"../../../lib/Cipher\");\nconst DiagnosticLogger_1 = require(\"../../../provider/DiagnosticLogger\");\nconst RelayAbstract_1 = require(\"../../RelayAbstract\");\nconst Session_1 = require(\"../../Session\");\nconst WalletLinkHTTP_1 = require(\"./WalletLinkHTTP\");\nconst WalletLinkWebSocket_1 = require(\"./WalletLinkWebSocket\");\nconst HEARTBEAT_INTERVAL = 10000;\nconst REQUEST_TIMEOUT = 60000;\n/**\n * Coinbase Wallet Connection\n */\nclass WalletLinkConnection {\n /**\n * Constructor\n * @param session Session\n * @param linkAPIUrl Coinbase Wallet link server URL\n * @param listener WalletLinkConnectionUpdateListener\n * @param [WebSocketClass] Custom WebSocket implementation\n */\n constructor({ session, linkAPIUrl, listener, diagnostic, WebSocketClass = WebSocket, }) {\n this.destroyed = false;\n this.lastHeartbeatResponse = 0;\n this.nextReqId = (0, type_1.IntNumber)(1);\n /**\n * true if connected and authenticated, else false\n * runs listener when connected status changes\n */\n this._connected = false;\n /**\n * true if linked (a guest has joined before)\n * runs listener when linked status changes\n */\n this._linked = false;\n this.shouldFetchUnseenEventsOnConnect = false;\n this.requestResolutions = new Map();\n this.handleSessionMetadataUpdated = (metadata) => {\n if (!metadata)\n return;\n // Map of metadata key to handler function\n const handlers = new Map([\n ['__destroyed', this.handleDestroyed],\n ['EthereumAddress', this.handleAccountUpdated],\n ['WalletUsername', this.handleWalletUsernameUpdated],\n ['AppVersion', this.handleAppVersionUpdated],\n [\n 'ChainId',\n (v) => metadata.JsonRpcUrl && this.handleChainUpdated(v, metadata.JsonRpcUrl),\n ],\n ]);\n // call handler for each metadata key if value is defined\n handlers.forEach((handler, key) => {\n const value = metadata[key];\n if (value === undefined)\n return;\n handler(value);\n });\n };\n this.handleDestroyed = (__destroyed) => {\n var _a, _b;\n if (__destroyed !== '1')\n return;\n (_a = this.listener) === null || _a === void 0 ? void 0 : _a.resetAndReload();\n (_b = this.diagnostic) === null || _b === void 0 ? void 0 : _b.log(DiagnosticLogger_1.EVENTS.METADATA_DESTROYED, {\n alreadyDestroyed: this.isDestroyed,\n sessionIdHash: Session_1.Session.hash(this.session.id),\n });\n };\n this.handleAccountUpdated = async (encryptedEthereumAddress) => {\n var _a, _b;\n try {\n const address = await this.cipher.decrypt(encryptedEthereumAddress);\n (_a = this.listener) === null || _a === void 0 ? void 0 : _a.accountUpdated(address);\n }\n catch (_c) {\n (_b = this.diagnostic) === null || _b === void 0 ? void 0 : _b.log(DiagnosticLogger_1.EVENTS.GENERAL_ERROR, {\n message: 'Had error decrypting',\n value: 'selectedAddress',\n });\n }\n };\n this.handleMetadataUpdated = async (key, encryptedMetadataValue) => {\n var _a, _b;\n try {\n const decryptedValue = await this.cipher.decrypt(encryptedMetadataValue);\n (_a = this.listener) === null || _a === void 0 ? void 0 : _a.metadataUpdated(key, decryptedValue);\n }\n catch (_c) {\n (_b = this.diagnostic) === null || _b === void 0 ? void 0 : _b.log(DiagnosticLogger_1.EVENTS.GENERAL_ERROR, {\n message: 'Had error decrypting',\n value: key,\n });\n }\n };\n this.handleWalletUsernameUpdated = async (walletUsername) => {\n this.handleMetadataUpdated(RelayAbstract_1.WALLET_USER_NAME_KEY, walletUsername);\n };\n this.handleAppVersionUpdated = async (appVersion) => {\n this.handleMetadataUpdated(RelayAbstract_1.APP_VERSION_KEY, appVersion);\n };\n this.handleChainUpdated = async (encryptedChainId, encryptedJsonRpcUrl) => {\n var _a, _b;\n try {\n const chainId = await this.cipher.decrypt(encryptedChainId);\n const jsonRpcUrl = await this.cipher.decrypt(encryptedJsonRpcUrl);\n (_a = this.listener) === null || _a === void 0 ? void 0 : _a.chainUpdated(chainId, jsonRpcUrl);\n }\n catch (_c) {\n (_b = this.diagnostic) === null || _b === void 0 ? void 0 : _b.log(DiagnosticLogger_1.EVENTS.GENERAL_ERROR, {\n message: 'Had error decrypting',\n value: 'chainId|jsonRpcUrl',\n });\n }\n };\n this.session = session;\n this.cipher = new Cipher_1.Cipher(session.secret);\n this.diagnostic = diagnostic;\n this.listener = listener;\n const ws = new WalletLinkWebSocket_1.WalletLinkWebSocket(`${linkAPIUrl}/rpc`, WebSocketClass);\n ws.setConnectionStateListener(async (state) => {\n var _a;\n // attempt to reconnect every 5 seconds when disconnected\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.CONNECTED_STATE_CHANGE, {\n state,\n sessionIdHash: Session_1.Session.hash(session.id),\n });\n let connected = false;\n switch (state) {\n case WalletLinkWebSocket_1.ConnectionState.DISCONNECTED:\n // if DISCONNECTED and not destroyed\n if (!this.destroyed) {\n const connect = async () => {\n // wait 5 seconds\n await new Promise((resolve) => setTimeout(resolve, 5000));\n // check whether it's destroyed again\n if (!this.destroyed) {\n // reconnect\n ws.connect().catch(() => {\n connect();\n });\n }\n };\n connect();\n }\n break;\n case WalletLinkWebSocket_1.ConnectionState.CONNECTED:\n // perform authentication upon connection\n try {\n // if CONNECTED, authenticate, and then check link status\n await this.authenticate();\n this.sendIsLinked();\n this.sendGetSessionConfig();\n connected = true;\n }\n catch (_b) {\n /* empty */\n }\n // send heartbeat every n seconds while connected\n // if CONNECTED, start the heartbeat timer\n // first timer event updates lastHeartbeat timestamp\n // subsequent calls send heartbeat message\n this.updateLastHeartbeat();\n setInterval(() => {\n this.heartbeat();\n }, HEARTBEAT_INTERVAL);\n // check for unseen events\n if (this.shouldFetchUnseenEventsOnConnect) {\n this.fetchUnseenEventsAPI();\n }\n break;\n case WalletLinkWebSocket_1.ConnectionState.CONNECTING:\n break;\n }\n // distinctUntilChanged\n if (this.connected !== connected) {\n this.connected = connected;\n }\n });\n ws.setIncomingDataListener((m) => {\n var _a, _b, _c;\n switch (m.type) {\n // handle server's heartbeat responses\n case 'Heartbeat':\n this.updateLastHeartbeat();\n return;\n // handle link status updates\n case 'IsLinkedOK':\n case 'Linked': {\n const linked = m.type === 'IsLinkedOK' ? m.linked : undefined;\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.LINKED, {\n sessionIdHash: Session_1.Session.hash(session.id),\n linked,\n type: m.type,\n onlineGuests: m.onlineGuests,\n });\n this.linked = linked || m.onlineGuests > 0;\n break;\n }\n // handle session config updates\n case 'GetSessionConfigOK':\n case 'SessionConfigUpdated': {\n (_b = this.diagnostic) === null || _b === void 0 ? void 0 : _b.log(DiagnosticLogger_1.EVENTS.SESSION_CONFIG_RECEIVED, {\n sessionIdHash: Session_1.Session.hash(session.id),\n metadata_keys: m && m.metadata ? Object.keys(m.metadata) : undefined,\n });\n this.handleSessionMetadataUpdated(m.metadata);\n break;\n }\n case 'Event': {\n this.handleIncomingEvent(m);\n break;\n }\n }\n // resolve request promises\n if (m.id !== undefined) {\n (_c = this.requestResolutions.get(m.id)) === null || _c === void 0 ? void 0 : _c(m);\n }\n });\n this.ws = ws;\n this.http = new WalletLinkHTTP_1.WalletLinkHTTP(linkAPIUrl, session.id, session.key);\n }\n /**\n * Make a connection to the server\n */\n connect() {\n var _a;\n if (this.destroyed) {\n throw new Error('instance is destroyed');\n }\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.STARTED_CONNECTING, {\n sessionIdHash: Session_1.Session.hash(this.session.id),\n });\n this.ws.connect();\n }\n /**\n * Terminate connection, and mark as destroyed. To reconnect, create a new\n * instance of WalletSDKConnection\n */\n destroy() {\n var _a;\n this.destroyed = true;\n this.ws.disconnect();\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.DISCONNECTED, {\n sessionIdHash: Session_1.Session.hash(this.session.id),\n });\n this.listener = undefined;\n }\n get isDestroyed() {\n return this.destroyed;\n }\n get connected() {\n return this._connected;\n }\n set connected(connected) {\n var _a, _b;\n this._connected = connected;\n if (connected)\n (_a = this.onceConnected) === null || _a === void 0 ? void 0 : _a.call(this);\n (_b = this.listener) === null || _b === void 0 ? void 0 : _b.connectedUpdated(connected);\n }\n setOnceConnected(callback) {\n return new Promise((resolve) => {\n if (this.connected) {\n callback().then(resolve);\n }\n else {\n this.onceConnected = () => {\n callback().then(resolve);\n this.onceConnected = undefined;\n };\n }\n });\n }\n get linked() {\n return this._linked;\n }\n set linked(linked) {\n var _a, _b;\n this._linked = linked;\n if (linked)\n (_a = this.onceLinked) === null || _a === void 0 ? void 0 : _a.call(this);\n (_b = this.listener) === null || _b === void 0 ? void 0 : _b.linkedUpdated(linked);\n }\n setOnceLinked(callback) {\n return new Promise((resolve) => {\n if (this.linked) {\n callback().then(resolve);\n }\n else {\n this.onceLinked = () => {\n callback().then(resolve);\n this.onceLinked = undefined;\n };\n }\n });\n }\n async handleIncomingEvent(m) {\n var _a, _b;\n if (m.type !== 'Event' || m.event !== 'Web3Response') {\n return;\n }\n try {\n const decryptedData = await this.cipher.decrypt(m.data);\n const message = JSON.parse(decryptedData);\n if (message.type !== 'WEB3_RESPONSE')\n return;\n (_a = this.listener) === null || _a === void 0 ? void 0 : _a.handleWeb3ResponseMessage(message);\n }\n catch (_c) {\n (_b = this.diagnostic) === null || _b === void 0 ? void 0 : _b.log(DiagnosticLogger_1.EVENTS.GENERAL_ERROR, {\n message: 'Had error decrypting',\n value: 'incomingEvent',\n });\n }\n }\n async checkUnseenEvents() {\n if (!this.connected) {\n this.shouldFetchUnseenEventsOnConnect = true;\n return;\n }\n await new Promise((resolve) => setTimeout(resolve, 250));\n try {\n await this.fetchUnseenEventsAPI();\n }\n catch (e) {\n console.error('Unable to check for unseen events', e);\n }\n }\n async fetchUnseenEventsAPI() {\n this.shouldFetchUnseenEventsOnConnect = false;\n const responseEvents = await this.http.fetchUnseenEvents();\n responseEvents.forEach((e) => this.handleIncomingEvent(e));\n }\n /**\n * Set session metadata in SessionConfig object\n * @param key\n * @param value\n * @returns a Promise that completes when successful\n */\n async setSessionMetadata(key, value) {\n const message = {\n type: 'SetSessionConfig',\n id: (0, type_1.IntNumber)(this.nextReqId++),\n sessionId: this.session.id,\n metadata: { [key]: value },\n };\n return this.setOnceConnected(async () => {\n const res = await this.makeRequest(message);\n if (res.type === 'Fail') {\n throw new Error(res.error || 'failed to set session metadata');\n }\n });\n }\n /**\n * Publish an event and emit event ID when successful\n * @param event event name\n * @param unencryptedData unencrypted event data\n * @param callWebhook whether the webhook should be invoked\n * @returns a Promise that emits event ID when successful\n */\n async publishEvent(event, unencryptedData, callWebhook = false) {\n const data = await this.cipher.encrypt(JSON.stringify(Object.assign(Object.assign({}, unencryptedData), { origin: location.origin, relaySource: window.coinbaseWalletExtension ? 'injected_sdk' : 'sdk' })));\n const message = {\n type: 'PublishEvent',\n id: (0, type_1.IntNumber)(this.nextReqId++),\n sessionId: this.session.id,\n event,\n data,\n callWebhook,\n };\n return this.setOnceLinked(async () => {\n const res = await this.makeRequest(message);\n if (res.type === 'Fail') {\n throw new Error(res.error || 'failed to publish event');\n }\n return res.eventId;\n });\n }\n sendData(message) {\n this.ws.sendData(JSON.stringify(message));\n }\n updateLastHeartbeat() {\n this.lastHeartbeatResponse = Date.now();\n }\n heartbeat() {\n if (Date.now() - this.lastHeartbeatResponse > HEARTBEAT_INTERVAL * 2) {\n this.ws.disconnect();\n return;\n }\n try {\n this.ws.sendData('h');\n }\n catch (_a) {\n // noop\n }\n }\n async makeRequest(message, timeout = REQUEST_TIMEOUT) {\n const reqId = message.id;\n this.sendData(message);\n // await server message with corresponding id\n let timeoutId;\n return Promise.race([\n new Promise((_, reject) => {\n timeoutId = window.setTimeout(() => {\n reject(new Error(`request ${reqId} timed out`));\n }, timeout);\n }),\n new Promise((resolve) => {\n this.requestResolutions.set(reqId, (m) => {\n clearTimeout(timeoutId); // clear the timeout\n resolve(m);\n this.requestResolutions.delete(reqId);\n });\n }),\n ]);\n }\n async authenticate() {\n const m = {\n type: 'HostSession',\n id: (0, type_1.IntNumber)(this.nextReqId++),\n sessionId: this.session.id,\n sessionKey: this.session.key,\n };\n const res = await this.makeRequest(m);\n if (res.type === 'Fail') {\n throw new Error(res.error || 'failed to authentcate');\n }\n }\n sendIsLinked() {\n const m = {\n type: 'IsLinked',\n id: (0, type_1.IntNumber)(this.nextReqId++),\n sessionId: this.session.id,\n };\n this.sendData(m);\n }\n sendGetSessionConfig() {\n const m = {\n type: 'GetSessionConfig',\n id: (0, type_1.IntNumber)(this.nextReqId++),\n sessionId: this.session.id,\n };\n this.sendData(m);\n }\n}\nexports.WalletLinkConnection = WalletLinkConnection;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = (() => `@namespace svg \"http://www.w3.org/2000/svg\";.-cbwsdk-css-reset,.-cbwsdk-css-reset *{animation:none;animation-delay:0;animation-direction:normal;animation-duration:0;animation-fill-mode:none;animation-iteration-count:1;animation-name:none;animation-play-state:running;animation-timing-function:ease;backface-visibility:visible;background:0;background-attachment:scroll;background-clip:border-box;background-color:rgba(0,0,0,0);background-image:none;background-origin:padding-box;background-position:0 0;background-position-x:0;background-position-y:0;background-repeat:repeat;background-size:auto auto;border:0;border-style:none;border-width:medium;border-color:inherit;border-bottom:0;border-bottom-color:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-style:none;border-bottom-width:medium;border-collapse:separate;border-image:none;border-left:0;border-left-color:inherit;border-left-style:none;border-left-width:medium;border-radius:0;border-right:0;border-right-color:inherit;border-right-style:none;border-right-width:medium;border-spacing:0;border-top:0;border-top-color:inherit;border-top-left-radius:0;border-top-right-radius:0;border-top-style:none;border-top-width:medium;box-shadow:none;box-sizing:border-box;caption-side:top;clear:none;clip:auto;color:inherit;columns:auto;column-count:auto;column-fill:balance;column-gap:normal;column-rule:medium none currentColor;column-rule-color:currentColor;column-rule-style:none;column-rule-width:none;column-span:1;column-width:auto;counter-increment:none;counter-reset:none;direction:ltr;empty-cells:show;float:none;font:normal;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",\"Helvetica Neue\",Arial,sans-serif;font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;height:auto;hyphens:none;letter-spacing:normal;line-height:normal;list-style:none;list-style-image:none;list-style-position:outside;list-style-type:disc;margin:0;margin-bottom:0;margin-left:0;margin-right:0;margin-top:0;opacity:1;orphans:0;outline:0;outline-color:invert;outline-style:none;outline-width:medium;overflow:visible;overflow-x:visible;overflow-y:visible;padding:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;page-break-after:auto;page-break-before:auto;page-break-inside:auto;perspective:none;perspective-origin:50% 50%;pointer-events:auto;position:static;quotes:\"\\\\201C\" \"\\\\201D\" \"\\\\2018\" \"\\\\2019\";tab-size:8;table-layout:auto;text-align:inherit;text-align-last:auto;text-decoration:none;text-decoration-color:inherit;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-shadow:none;text-transform:none;transform:none;transform-style:flat;transition:none;transition-delay:0s;transition-duration:0s;transition-property:none;transition-timing-function:ease;unicode-bidi:normal;vertical-align:baseline;visibility:visible;white-space:normal;widows:0;word-spacing:normal;z-index:auto}.-cbwsdk-css-reset strong{font-weight:bold}.-cbwsdk-css-reset *{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",\"Helvetica Neue\",Arial,sans-serif;line-height:1}.-cbwsdk-css-reset [class*=container]{margin:0;padding:0}.-cbwsdk-css-reset style{display:none}`)();\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.injectCssReset = void 0;\nconst cssReset_css_1 = __importDefault(require(\"./cssReset-css\"));\nfunction injectCssReset() {\n const styleEl = document.createElement('style');\n styleEl.type = 'text/css';\n styleEl.appendChild(document.createTextNode(cssReset_css_1.default));\n document.documentElement.appendChild(styleEl);\n}\nexports.injectCssReset = injectCssReset;\n","var n,l,u,t,i,o,r,f,e,c,s,a,h={},v=[],p=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,y=Array.isArray;function d(n,l){for(var u in l)n[u]=l[u];return n}function _(n){var l=n.parentNode;l&&l.removeChild(n)}function g(l,u,t){var i,o,r,f={};for(r in u)\"key\"==r?i=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),\"function\"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return b(l,f,i,o,null)}function b(n,t,i,o,r){var f={type:n,props:t,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==r?++u:r,__i:-1,__u:0};return null==r&&null!=l.vnode&&l.vnode(f),f}function m(){return{current:null}}function w(n){return n.children}function k(n,l){this.props=n,this.context=l}function x(n,l){if(null==l)return n.__?x(n.__,n.__i+1):null;for(var u;lu&&i.sort(f));S.__r=0}function $(n,l,u,t,i,o,r,f,e,c,s){var a,p,y,d,_,g=t&&t.__k||v,b=l.length;for(u.__d=e,I(u,l,g),e=u.__d,a=0;a0?b(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):i)?(i.__=n,i.__b=n.__b+1,f=A(i,u,r,s),i.__i=f,o=null,-1!==f&&(s--,(o=u[f])&&(o.__u|=131072)),null==o||null===o.__v?(-1==f&&a--,\"function\"!=typeof i.type&&(i.__u|=65536)):f!==r&&(f===r+1?a++:f>r?s>e-r?a+=f-r:a--:f(null!=e&&0==(131072&e.__u)?1:0))for(;r>=0||f=0){if((e=l[r])&&0==(131072&e.__u)&&i==e.key&&o===e.type)return r;r--}if(f2&&(e.children=arguments.length>3?n.call(arguments,2):t),b(l.type,e,i||l.key,o||l.ref,null)}function J(n,l){var u={__c:l=\"__cC\"+a++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,t;return this.getChildContext||(u=[],(t={})[l]=this,this.getChildContext=function(){return t},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(function(n){n.__e=!0,P(n)})},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=v.slice,l={__e:function(n,l,u,t){for(var i,o,r;l=l.__;)if((i=l.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(n)),r=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),r=i.__d),r)return i.__E=i}catch(l){n=l}throw n}},u=0,t=function(n){return null!=n&&null==n.constructor},k.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=d({},this.state),\"function\"==typeof n&&(n=n(d({},u),this.props)),n&&d(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),P(this))},k.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),P(this))},k.prototype.render=w,i=[],r=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,f=function(n,l){return n.__v.__b-l.__v.__b},S.__r=0,e=0,c=M(!1),s=M(!0),a=0;export{k as Component,w as Fragment,G as cloneElement,J as createContext,g as createElement,m as createRef,g as h,E as hydrate,t as isValidElement,l as options,D as render,T as toChildArray};\n//# sourceMappingURL=preact.module.js.map\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;t=u.__.length&&u.__.push({__V:c}),u.__[n]}function p(n){return o=1,y(D,n)}function y(n,u,i){var o=h(t++,2);if(o.t=n,!o.__c&&(o.__=[i?i(u):D(void 0,u),function(n){var t=o.__N?o.__N[0]:o.__[0],r=o.t(t,n);t!==r&&(o.__N=[r,o.__[1]],o.__c.setState({}))}],o.__c=r,!r.u)){var f=function(n,t,r){if(!o.__c.__H)return!0;var u=o.__c.__H.__.filter(function(n){return!!n.__c});if(u.every(function(n){return!n.__N}))return!c||c.call(this,n,t,r);var i=!1;return u.forEach(function(n){if(n.__N){var t=n.__[0];n.__=n.__N,n.__N=void 0,t!==n.__[0]&&(i=!0)}}),!(!i&&o.__c.props===n)&&(!c||c.call(this,n,t,r))};r.u=!0;var c=r.shouldComponentUpdate,e=r.componentWillUpdate;r.componentWillUpdate=function(n,t,r){if(this.__e){var u=c;c=void 0,f(n,t,r),c=u}e&&e.call(this,n,t,r)},r.shouldComponentUpdate=f}return o.__N||o.__}function _(n,u){var i=h(t++,3);!e.__s&&C(i.__H,u)&&(i.__=n,i.i=u,r.__H.__h.push(i))}function A(n,u){var i=h(t++,4);!e.__s&&C(i.__H,u)&&(i.__=n,i.i=u,r.__h.push(i))}function F(n){return o=5,q(function(){return{current:n}},[])}function T(n,t,r){o=6,A(function(){return\"function\"==typeof n?(n(t()),function(){return n(null)}):n?(n.current=t(),function(){return n.current=null}):void 0},null==r?r:r.concat(n))}function q(n,r){var u=h(t++,7);return C(u.__H,r)?(u.__V=n(),u.i=r,u.__h=n,u.__V):u.__}function x(n,t){return o=8,q(function(){return n},t)}function P(n){var u=r.context[n.__c],i=h(t++,9);return i.c=n,u?(null==i.__&&(i.__=!0,u.sub(r)),u.props.value):n.__}function V(n,t){e.useDebugValue&&e.useDebugValue(t?t(n):n)}function b(n){var u=h(t++,10),i=p();return u.__=n,r.componentDidCatch||(r.componentDidCatch=function(n,t){u.__&&u.__(n,t),i[1](n)}),[i[0],function(){i[1](void 0)}]}function g(){var n=h(t++,11);if(!n.__){for(var u=r.__v;null!==u&&!u.__m&&null!==u.__;)u=u.__;var i=u.__m||(u.__m=[0,0]);n.__=\"P\"+i[0]+\"-\"+i[1]++}return n.__}function j(){for(var n;n=f.shift();)if(n.__P&&n.__H)try{n.__H.__h.forEach(z),n.__H.__h.forEach(B),n.__H.__h=[]}catch(t){n.__H.__h=[],e.__e(t,n.__v)}}e.__b=function(n){r=null,a&&a(n)},e.__=function(n,t){n&&t.__k&&t.__k.__m&&(n.__m=t.__k.__m),d&&d(n,t)},e.__r=function(n){v&&v(n),t=0;var i=(r=n.__c).__H;i&&(u===r?(i.__h=[],r.__h=[],i.__.forEach(function(n){n.__N&&(n.__=n.__N),n.__V=c,n.__N=n.i=void 0})):(i.__h.forEach(z),i.__h.forEach(B),i.__h=[],t=0)),u=r},e.diffed=function(n){l&&l(n);var t=n.__c;t&&t.__H&&(t.__H.__h.length&&(1!==f.push(t)&&i===e.requestAnimationFrame||((i=e.requestAnimationFrame)||w)(j)),t.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.__V!==c&&(n.__=n.__V),n.i=void 0,n.__V=c})),u=r=null},e.__c=function(n,t){t.some(function(n){try{n.__h.forEach(z),n.__h=n.__h.filter(function(n){return!n.__||B(n)})}catch(r){t.some(function(n){n.__h&&(n.__h=[])}),t=[],e.__e(r,n.__v)}}),m&&m(n,t)},e.unmount=function(n){s&&s(n);var t,r=n.__c;r&&r.__H&&(r.__H.__.forEach(function(n){try{z(n)}catch(n){t=n}}),r.__H=void 0,t&&e.__e(t,r.__v))};var k=\"function\"==typeof requestAnimationFrame;function w(n){var t,r=function(){clearTimeout(u),k&&cancelAnimationFrame(t),setTimeout(n)},u=setTimeout(r,100);k&&(t=requestAnimationFrame(r))}function z(n){var t=r,u=n.__c;\"function\"==typeof u&&(n.__c=void 0,u()),r=t}function B(n){var t=r;n.__c=n.__(),r=t}function C(n,t){return!n||n.length!==t.length||t.some(function(t,r){return t!==n[r]})}function D(n,t){return\"function\"==typeof t?t(n):t}export{x as useCallback,P as useContext,V as useDebugValue,_ as useEffect,b as useErrorBoundary,g as useId,T as useImperativeHandle,A as useLayoutEffect,q as useMemo,y as useReducer,F as useRef,p as useState};\n//# sourceMappingURL=hooks.module.js.map\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloseIcon = void 0;\nconst preact_1 = require(\"preact\");\nfunction CloseIcon(props) {\n return ((0, preact_1.h)(\"svg\", Object.assign({ width: \"40\", height: \"40\", viewBox: \"0 0 40 40\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n (0, preact_1.h)(\"path\", { d: \"M13.7677 13L12.3535 14.4142L18.3535 20.4142L12.3535 26.4142L13.7677 27.8284L19.7677 21.8284L25.7677 27.8284L27.1819 26.4142L21.1819 20.4142L27.1819 14.4142L25.7677 13L19.7677 19L13.7677 13Z\" })));\n}\nexports.CloseIcon = CloseIcon;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CoinbaseWalletRound = void 0;\nconst preact_1 = require(\"preact\");\nfunction CoinbaseWalletRound(props) {\n return ((0, preact_1.h)(\"svg\", Object.assign({ width: \"28\", height: \"28\", viewBox: \"0 0 28 28\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n (0, preact_1.h)(\"circle\", { cx: \"14\", cy: \"14\", r: \"14\", fill: \"#0052FF\" }),\n (0, preact_1.h)(\"path\", { d: \"M23.8521 14.0003C23.8521 19.455 19.455 23.8521 14.0003 23.8521C8.54559 23.8521 4.14844 19.455 4.14844 14.0003C4.14844 8.54559 8.54559 4.14844 14.0003 4.14844C19.455 4.14844 23.8521 8.54559 23.8521 14.0003Z\", fill: \"white\" }),\n (0, preact_1.h)(\"path\", { d: \"M11.1855 12.5042C11.1855 12.0477 11.1855 11.7942 11.2835 11.642C11.3814 11.4899 11.4793 11.3377 11.6261 11.287C11.8219 11.1855 12.0178 11.1855 12.5073 11.1855H15.4934C15.983 11.1855 16.1788 11.1855 16.3746 11.287C16.5215 11.3884 16.6683 11.4899 16.7173 11.642C16.8152 11.8449 16.8152 12.0477 16.8152 12.5042V15.4965C16.8152 15.953 16.8152 16.2066 16.7173 16.3587C16.6194 16.5109 16.5215 16.663 16.3746 16.7137C16.1788 16.8152 15.983 16.8152 15.4934 16.8152H12.5073C12.0178 16.8152 11.8219 16.8152 11.6261 16.7137C11.4793 16.6123 11.3324 16.5109 11.2835 16.3587C11.1855 16.1558 11.1855 15.953 11.1855 15.4965V12.5042Z\", fill: \"#0052FF\" })));\n}\nexports.CoinbaseWalletRound = CoinbaseWalletRound;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.QRCodeIcon = void 0;\nconst preact_1 = require(\"preact\");\nfunction QRCodeIcon(props) {\n return ((0, preact_1.h)(\"svg\", Object.assign({ width: \"18\", height: \"18\", viewBox: \"0 0 24 24\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n (0, preact_1.h)(\"path\", { d: \"M3 3V8.99939L5 8.99996V5H9V3H3Z\" }),\n (0, preact_1.h)(\"path\", { d: \"M15 21L21 21V15.0006L19 15V19L15 19V21Z\" }),\n (0, preact_1.h)(\"path\", { d: \"M21 9H19V5H15.0006L15 3H21V9Z\" }),\n (0, preact_1.h)(\"path\", { d: \"M3 15V21H8.99939L8.99996 19H5L5 15H3Z\" })));\n}\nexports.QRCodeIcon = QRCodeIcon;\n","/**\n * @fileoverview\n * - modified davidshimjs/qrcodejs library for use in node.js\n * - Using the 'QRCode for Javascript library'\n * - Fixed dataset of 'QRCode for Javascript library' for support full-spec.\n * - this library has no dependencies.\n *\n * @version 0.9.1 (2016-02-12)\n * @author davidshimjs, papnkukn\n * @see http://www.d-project.com/\n * @see http://jeromeetienne.github.com/jquery-qrcode/\n * @see https://github.com/davidshimjs/qrcodejs\n */\n\n//---------------------------------------------------------------------\n// QRCode for JavaScript\n//\n// Copyright (c) 2009 Kazuhiko Arase\n//\n// URL: http://www.d-project.com/\n//\n// Licensed under the MIT license:\n// http://www.opensource.org/licenses/mit-license.php\n//\n// The word \"QR Code\" is registered trademark of\n// DENSO WAVE INCORPORATED\n// http://www.denso-wave.com/qrcode/faqpatent-e.html\n//\n//---------------------------------------------------------------------\nfunction QR8bitByte(data) {\n this.mode = QRMode.MODE_8BIT_BYTE;\n this.data = data;\n this.parsedData = [];\n\n // Added to support UTF-8 Characters\n for (var i = 0, l = this.data.length; i < l; i++) {\n var byteArray = [];\n var code = this.data.charCodeAt(i);\n\n if (code > 0x10000) {\n byteArray[0] = 0xF0 | ((code & 0x1C0000) >>> 18);\n byteArray[1] = 0x80 | ((code & 0x3F000) >>> 12);\n byteArray[2] = 0x80 | ((code & 0xFC0) >>> 6);\n byteArray[3] = 0x80 | (code & 0x3F);\n } else if (code > 0x800) {\n byteArray[0] = 0xE0 | ((code & 0xF000) >>> 12);\n byteArray[1] = 0x80 | ((code & 0xFC0) >>> 6);\n byteArray[2] = 0x80 | (code & 0x3F);\n } else if (code > 0x80) {\n byteArray[0] = 0xC0 | ((code & 0x7C0) >>> 6);\n byteArray[1] = 0x80 | (code & 0x3F);\n } else {\n byteArray[0] = code;\n }\n\n this.parsedData.push(byteArray);\n }\n\n this.parsedData = Array.prototype.concat.apply([], this.parsedData);\n\n if (this.parsedData.length != this.data.length) {\n this.parsedData.unshift(191);\n this.parsedData.unshift(187);\n this.parsedData.unshift(239);\n }\n}\n\nQR8bitByte.prototype = {\n getLength: function (buffer) {\n return this.parsedData.length;\n },\n write: function (buffer) {\n for (var i = 0, l = this.parsedData.length; i < l; i++) {\n buffer.put(this.parsedData[i], 8);\n }\n }\n};\n\nfunction QRCodeModel(typeNumber, errorCorrectLevel) {\n this.typeNumber = typeNumber;\n this.errorCorrectLevel = errorCorrectLevel;\n this.modules = null;\n this.moduleCount = 0;\n this.dataCache = null;\n this.dataList = [];\n}\n\nQRCodeModel.prototype={addData:function(data){var newData=new QR8bitByte(data);this.dataList.push(newData);this.dataCache=null;},isDark:function(row,col){if(row<0||this.moduleCount<=row||col<0||this.moduleCount<=col){throw new Error(row+\",\"+col);}\nreturn this.modules[row][col];},getModuleCount:function(){return this.moduleCount;},make:function(){this.makeImpl(false,this.getBestMaskPattern());},makeImpl:function(test,maskPattern){this.moduleCount=this.typeNumber*4+17;this.modules=new Array(this.moduleCount);for(var row=0;row=7){this.setupTypeNumber(test);}\nif(this.dataCache==null){this.dataCache=QRCodeModel.createData(this.typeNumber,this.errorCorrectLevel,this.dataList);}\nthis.mapData(this.dataCache,maskPattern);},setupPositionProbePattern:function(row,col){for(var r=-1;r<=7;r++){if(row+r<=-1||this.moduleCount<=row+r)continue;for(var c=-1;c<=7;c++){if(col+c<=-1||this.moduleCount<=col+c)continue;if((0<=r&&r<=6&&(c==0||c==6))||(0<=c&&c<=6&&(r==0||r==6))||(2<=r&&r<=4&&2<=c&&c<=4)){this.modules[row+r][col+c]=true;}else{this.modules[row+r][col+c]=false;}}}},getBestMaskPattern:function(){var minLostPoint=0;var pattern=0;for(var i=0;i<8;i++){this.makeImpl(true,i);var lostPoint=QRUtil.getLostPoint(this);if(i==0||minLostPoint>lostPoint){minLostPoint=lostPoint;pattern=i;}}\nreturn pattern;},createMovieClip:function(target_mc,instance_name,depth){var qr_mc=target_mc.createEmptyMovieClip(instance_name,depth);var cs=1;this.make();for(var row=0;row>i)&1)==1);this.modules[Math.floor(i/3)][i%3+this.moduleCount-8-3]=mod;}\nfor(var i=0;i<18;i++){var mod=(!test&&((bits>>i)&1)==1);this.modules[i%3+this.moduleCount-8-3][Math.floor(i/3)]=mod;}},setupTypeInfo:function(test,maskPattern){var data=(this.errorCorrectLevel<<3)|maskPattern;var bits=QRUtil.getBCHTypeInfo(data);for(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<6){this.modules[i][8]=mod;}else if(i<8){this.modules[i+1][8]=mod;}else{this.modules[this.moduleCount-15+i][8]=mod;}}\nfor(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<8){this.modules[8][this.moduleCount-i-1]=mod;}else if(i<9){this.modules[8][15-i-1+1]=mod;}else{this.modules[8][15-i-1]=mod;}}\nthis.modules[this.moduleCount-8][8]=(!test);},mapData:function(data,maskPattern){var inc=-1;var row=this.moduleCount-1;var bitIndex=7;var byteIndex=0;for(var col=this.moduleCount-1;col>0;col-=2){if(col==6)col--;while(true){for(var c=0;c<2;c++){if(this.modules[row][col-c]==null){var dark=false;if(byteIndex>>bitIndex)&1)==1);}\nvar mask=QRUtil.getMask(maskPattern,row,col-c);if(mask){dark=!dark;}\nthis.modules[row][col-c]=dark;bitIndex--;if(bitIndex==-1){byteIndex++;bitIndex=7;}}}\nrow+=inc;if(row<0||this.moduleCount<=row){row-=inc;inc=-inc;break;}}}}};QRCodeModel.PAD0=0xEC;QRCodeModel.PAD1=0x11;QRCodeModel.createData=function(typeNumber,errorCorrectLevel,dataList){var rsBlocks=QRRSBlock.getRSBlocks(typeNumber,errorCorrectLevel);var buffer=new QRBitBuffer();for(var i=0;itotalDataCount*8){throw new Error(\"code length overflow. (\"\n+buffer.getLengthInBits()\n+\">\"\n+totalDataCount*8\n+\")\");}\nif(buffer.getLengthInBits()+4<=totalDataCount*8){buffer.put(0,4);}\nwhile(buffer.getLengthInBits()%8!=0){buffer.putBit(false);}\nwhile(true){if(buffer.getLengthInBits()>=totalDataCount*8){break;}\nbuffer.put(QRCodeModel.PAD0,8);if(buffer.getLengthInBits()>=totalDataCount*8){break;}\nbuffer.put(QRCodeModel.PAD1,8);}\nreturn QRCodeModel.createBytes(buffer,rsBlocks);};QRCodeModel.createBytes=function(buffer,rsBlocks){var offset=0;var maxDcCount=0;var maxEcCount=0;var dcdata=new Array(rsBlocks.length);var ecdata=new Array(rsBlocks.length);for(var r=0;r=0)?modPoly.get(modIndex):0;}}\nvar totalCodeCount=0;for(var i=0;i=0){d^=(QRUtil.G15<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G15)));}\nreturn((data<<10)|d)^QRUtil.G15_MASK;},getBCHTypeNumber:function(data){var d=data<<12;while(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)>=0){d^=(QRUtil.G18<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)));}\nreturn(data<<12)|d;},getBCHDigit:function(data){var digit=0;while(data!=0){digit++;data>>>=1;}\nreturn digit;},getPatternPosition:function(typeNumber){return QRUtil.PATTERN_POSITION_TABLE[typeNumber-1];},getMask:function(maskPattern,i,j){switch(maskPattern){case QRMaskPattern.PATTERN000:return(i+j)%2==0;case QRMaskPattern.PATTERN001:return i%2==0;case QRMaskPattern.PATTERN010:return j%3==0;case QRMaskPattern.PATTERN011:return(i+j)%3==0;case QRMaskPattern.PATTERN100:return(Math.floor(i/2)+Math.floor(j/3))%2==0;case QRMaskPattern.PATTERN101:return(i*j)%2+(i*j)%3==0;case QRMaskPattern.PATTERN110:return((i*j)%2+(i*j)%3)%2==0;case QRMaskPattern.PATTERN111:return((i*j)%3+(i+j)%2)%2==0;default:throw new Error(\"bad maskPattern:\"+maskPattern);}},getErrorCorrectPolynomial:function(errorCorrectLength){var a=new QRPolynomial([1],0);for(var i=0;i5){lostPoint+=(3+sameCount-5);}}}\nfor(var row=0;row=256){n-=255;}\nreturn QRMath.EXP_TABLE[n];},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)};for(var i=0;i<8;i++){QRMath.EXP_TABLE[i]=1<>>(7-index%8))&1)==1;},put:function(num,length){for(var i=0;i>>(length-i-1))&1)==1);}},getLengthInBits:function(){return this.length;},putBit:function(bit){var bufIndex=Math.floor(this.length/8);if(this.buffer.length<=bufIndex){this.buffer.push(0);}\nif(bit){this.buffer[bufIndex]|=(0x80>>>(this.length%8));}\nthis.length++;}};var QRCodeLimitLength=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]];\n\n\n/** Constructor */\nfunction QRCode(options) {\n var instance = this;\n\n //Default options\n this.options = {\n padding: 4,\n width: 256,\n height: 256,\n typeNumber: 4,\n color: \"#000000\",\n background: \"#ffffff\",\n ecl: \"M\",\n image:{\n svg:\"\",\n width:0,\n height:0\n }\n };\n\n //In case the options is string\n if (typeof options === 'string') {\n options = {\n content: options\n };\n }\n\n //Merge options\n if (options) {\n for (var i in options) {\n this.options[i] = options[i];\n }\n }\n\n if (typeof this.options.content !== 'string') {\n throw new Error(\"Expected 'content' as string!\");\n }\n\n if (this.options.content.length === 0 /* || this.options.content.length > 7089 */) {\n throw new Error(\"Expected 'content' to be non-empty!\");\n }\n\n if (!(this.options.padding >= 0)) {\n throw new Error(\"Expected 'padding' value to be non-negative!\");\n }\n\n if (!(this.options.width > 0) || !(this.options.height > 0)) {\n throw new Error(\"Expected 'width' or 'height' value to be higher than zero!\");\n }\n\n //Gets the error correction level\n function _getErrorCorrectLevel(ecl) {\n switch (ecl) {\n case \"L\":\n return QRErrorCorrectLevel.L;\n\n case \"M\":\n return QRErrorCorrectLevel.M;\n\n case \"Q\":\n return QRErrorCorrectLevel.Q;\n\n case \"H\":\n return QRErrorCorrectLevel.H;\n\n default:\n throw new Error(\"Unknwon error correction level: \" + ecl);\n }\n }\n\n //Get type number\n function _getTypeNumber(content, ecl) {\n var length = _getUTF8Length(content);\n\n var type = 1;\n var limit = 0;\n for (var i = 0, len = QRCodeLimitLength.length; i <= len; i++) {\n var table = QRCodeLimitLength[i];\n if (!table) {\n throw new Error(\"Content too long: expected \" + limit + \" but got \" + length);\n }\n\n switch (ecl) {\n case \"L\":\n limit = table[0];\n break;\n\n case \"M\":\n limit = table[1];\n break;\n\n case \"Q\":\n limit = table[2];\n break;\n\n case \"H\":\n limit = table[3];\n break;\n\n default:\n throw new Error(\"Unknwon error correction level: \" + ecl);\n }\n\n if (length <= limit) {\n break;\n }\n\n type++;\n }\n\n if (type > QRCodeLimitLength.length) {\n throw new Error(\"Content too long\");\n }\n\n return type;\n }\n\n //Gets text length\n function _getUTF8Length(content) {\n var result = encodeURI(content).toString().replace(/\\%[0-9a-fA-F]{2}/g, 'a');\n return result.length + (result.length != content ? 3 : 0);\n }\n\n //Generate QR Code matrix\n var content = this.options.content;\n var type = _getTypeNumber(content, this.options.ecl);\n var ecl = _getErrorCorrectLevel(this.options.ecl);\n this.qrcode = new QRCodeModel(type, ecl);\n this.qrcode.addData(content);\n this.qrcode.make();\n}\n\n/** Generates QR Code as SVG image */\nQRCode.prototype.svg = function(opt) {\n var options = this.options || { };\n var modules = this.qrcode.modules;\n\n if (typeof opt == \"undefined\") {\n opt = { container: options.container || \"svg\" };\n }\n\n //Apply new lines and indents in SVG?\n var pretty = typeof options.pretty != \"undefined\" ? !!options.pretty : true;\n\n var indent = pretty ? ' ' : '';\n var EOL = pretty ? '\\r\\n' : '';\n var width = options.width;\n var height = options.height;\n var length = modules.length;\n var xsize = width / (length + 2 * options.padding);\n var ysize = height / (length + 2 * options.padding);\n\n //Join (union, merge) rectangles into one shape?\n var join = typeof options.join != \"undefined\" ? !!options.join : false;\n\n //Swap the X and Y modules, pull request #2\n var swap = typeof options.swap != \"undefined\" ? !!options.swap : false;\n\n //Apply declaration in SVG?\n var xmlDeclaration = typeof options.xmlDeclaration != \"undefined\" ? !!options.xmlDeclaration : true;\n\n //Populate with predefined shape instead of \"rect\" elements, thanks to @kkocdko\n var predefined = typeof options.predefined != \"undefined\" ? !!options.predefined : false;\n var defs = predefined ? indent + '' + EOL : '';\n\n //Background rectangle\n var bgrect = indent + '' + EOL;\n\n //Rectangles representing modules\n var modrect = '';\n var pathdata = '';\n\n for (var y = 0; y < length; y++) {\n for (var x = 0; x < length; x++) {\n var module = modules[x][y];\n if (module) {\n\n var px = (x * xsize + options.padding * xsize);\n var py = (y * ysize + options.padding * ysize);\n\n //Some users have had issues with the QR Code, thanks to @danioso for the solution\n if (swap) {\n var t = px;\n px = py;\n py = t;\n }\n\n if (join) {\n //Module as a part of svg path data, thanks to @danioso\n var w = xsize + px\n var h = ysize + py\n\n px = (Number.isInteger(px))? Number(px): px.toFixed(2);\n py = (Number.isInteger(py))? Number(py): py.toFixed(2);\n w = (Number.isInteger(w))? Number(w): w.toFixed(2);\n h = (Number.isInteger(h))? Number(h): h.toFixed(2);\n\n pathdata += ('M' + px + ',' + py + ' V' + h + ' H' + w + ' V' + py + ' H' + px + ' Z ');\n }\n else if (predefined) {\n //Module as a predefined shape, thanks to @kkocdko\n modrect += indent + '' + EOL;\n }\n else {\n //Module as rectangle element\n modrect += indent + '' + EOL;\n }\n }\n }\n }\n\n if (join) {\n modrect = indent + '';\n }\n let imgSvg = \"\";\n if(this.options.image !== undefined && this.options.image.svg){\n const imgWidth = width * this.options.image.width / 100;\n const imgHeight = height * this.options.image.height / 100;\n const imgX = (width/2) - imgWidth/2;\n const imgY = (height/2) - imgHeight/2;\n imgSvg += ``;\n imgSvg += this.options.image.svg + EOL;\n imgSvg += '';\n }\n\n var svg = \"\";\n switch (opt.container) {\n //Wrapped in SVG document\n case \"svg\":\n if (xmlDeclaration) {\n svg += '' + EOL;\n }\n svg += '' + EOL;\n svg += defs + bgrect + modrect;\n svg += imgSvg;\n svg += '';\n break;\n\n //Viewbox for responsive use in a browser, thanks to @danioso\n case \"svg-viewbox\":\n if (xmlDeclaration) {\n svg += '' + EOL;\n }\n svg += '' + EOL;\n svg += defs + bgrect + modrect;\n svg += imgSvg;\n svg += '';\n break;\n\n\n //Wrapped in group element\n case \"g\":\n svg += '' + EOL;\n svg += defs + bgrect + modrect;\n svg += imgSvg;\n svg += '';\n\n break;\n\n //Without a container\n default:\n svg += (defs + bgrect + modrect + imgSvg).replace(/^\\s+/, \"\"); //Clear indents on each line\n break;\n }\n\n return svg;\n};\n\nmodule.exports = QRCode;\n\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.QRCode = void 0;\nconst preact_1 = require(\"preact\");\nconst hooks_1 = require(\"preact/hooks\");\nconst qrcode_svg_1 = __importDefault(require(\"../../../../vendor-js/qrcode-svg\"));\nconst QRCode = (props) => {\n const [svg, setSvg] = (0, hooks_1.useState)('');\n (0, hooks_1.useEffect)(() => {\n var _a, _b;\n const qrcode = new qrcode_svg_1.default({\n content: props.content,\n background: props.bgColor || '#ffffff',\n color: props.fgColor || '#000000',\n container: 'svg',\n ecl: 'M',\n width: (_a = props.width) !== null && _a !== void 0 ? _a : 256,\n height: (_b = props.height) !== null && _b !== void 0 ? _b : 256,\n padding: 0,\n image: props.image,\n });\n const base64 = Buffer.from(qrcode.svg(), 'utf8').toString('base64');\n setSvg(`data:image/svg+xml;base64,${base64}`);\n }, [props.bgColor, props.content, props.fgColor, props.height, props.image, props.width]);\n return svg ? (0, preact_1.h)(\"img\", { src: svg, alt: \"QR Code\" }) : null;\n};\nexports.QRCode = QRCode;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = (() => `.-cbwsdk-css-reset .-cbwsdk-spinner{display:inline-block}.-cbwsdk-css-reset .-cbwsdk-spinner svg{display:inline-block;animation:2s linear infinite -cbwsdk-spinner-svg}.-cbwsdk-css-reset .-cbwsdk-spinner svg circle{animation:1.9s ease-in-out infinite both -cbwsdk-spinner-circle;display:block;fill:rgba(0,0,0,0);stroke-dasharray:283;stroke-dashoffset:280;stroke-linecap:round;stroke-width:10px;transform-origin:50% 50%}@keyframes -cbwsdk-spinner-svg{0%{transform:rotateZ(0deg)}100%{transform:rotateZ(360deg)}}@keyframes -cbwsdk-spinner-circle{0%,25%{stroke-dashoffset:280;transform:rotate(0)}50%,75%{stroke-dashoffset:75;transform:rotate(45deg)}100%{stroke-dashoffset:280;transform:rotate(360deg)}}`)();\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Spinner = void 0;\nconst preact_1 = require(\"preact\");\nconst Spinner_css_1 = __importDefault(require(\"./Spinner-css\"));\nconst Spinner = (props) => {\n var _a;\n const size = (_a = props.size) !== null && _a !== void 0 ? _a : 64;\n const color = props.color || '#000';\n return ((0, preact_1.h)(\"div\", { class: \"-cbwsdk-spinner\" },\n (0, preact_1.h)(\"style\", null, Spinner_css_1.default),\n (0, preact_1.h)(\"svg\", { viewBox: \"0 0 100 100\", xmlns: \"http://www.w3.org/2000/svg\", style: { width: size, height: size } },\n (0, preact_1.h)(\"circle\", { style: { cx: 50, cy: 50, r: 45, stroke: color } }))));\n};\nexports.Spinner = Spinner;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = (() => `.-cbwsdk-css-reset .-cbwsdk-connect-content{height:430px;width:700px;border-radius:12px;padding:30px}.-cbwsdk-css-reset .-cbwsdk-connect-content.light{background:#fff}.-cbwsdk-css-reset .-cbwsdk-connect-content.dark{background:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-connect-content-header{display:flex;align-items:center;justify-content:space-between;margin:0 0 30px}.-cbwsdk-css-reset .-cbwsdk-connect-content-heading{font-style:normal;font-weight:500;font-size:28px;line-height:36px;margin:0}.-cbwsdk-css-reset .-cbwsdk-connect-content-heading.light{color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-connect-content-heading.dark{color:#fff}.-cbwsdk-css-reset .-cbwsdk-connect-content-layout{display:flex;flex-direction:row}.-cbwsdk-css-reset .-cbwsdk-connect-content-column-left{margin-right:30px;display:flex;flex-direction:column;justify-content:space-between}.-cbwsdk-css-reset .-cbwsdk-connect-content-column-right{flex:25%;margin-right:34px}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-wrapper{width:220px;height:220px;border-radius:12px;display:flex;justify-content:center;align-items:center;background:#fff}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting{position:absolute;top:0;bottom:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting.light{background-color:rgba(255,255,255,.95)}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting.light>p{color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting.dark{background-color:rgba(10,11,13,.9)}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting.dark>p{color:#fff}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting>p{font-size:12px;font-weight:bold;margin-top:16px}.-cbwsdk-css-reset .-cbwsdk-connect-content-update-app{border-radius:8px;font-size:14px;line-height:20px;padding:12px;width:339px}.-cbwsdk-css-reset .-cbwsdk-connect-content-update-app.light{background:#eef0f3;color:#5b636e}.-cbwsdk-css-reset .-cbwsdk-connect-content-update-app.dark{background:#1e2025;color:#8a919e}.-cbwsdk-css-reset .-cbwsdk-cancel-button{-webkit-appearance:none;border:none;background:none;cursor:pointer;padding:0;margin:0}.-cbwsdk-css-reset .-cbwsdk-cancel-button-x{position:relative;display:block;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-wallet-steps{padding:0 0 0 16px;margin:0;width:100%;list-style:decimal}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-item{list-style-type:decimal;display:list-item;font-style:normal;font-weight:400;font-size:16px;line-height:24px;margin-top:20px}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-item.light{color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-item.dark{color:#fff}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-item-wrapper{display:flex;align-items:center}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-pad-left{margin-left:6px}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-icon{display:flex;border-radius:50%;height:24px;width:24px}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-icon svg{margin:auto;display:block}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-icon.light{background:#0052ff}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-icon.dark{background:#588af5}.-cbwsdk-css-reset .-cbwsdk-connect-item{align-items:center;display:flex;flex-direction:row;padding:16px 24px;gap:12px;cursor:pointer;border-radius:100px;font-weight:600}.-cbwsdk-css-reset .-cbwsdk-connect-item.light{background:#f5f8ff;color:#0052ff}.-cbwsdk-css-reset .-cbwsdk-connect-item.dark{background:#001033;color:#588af5}.-cbwsdk-css-reset .-cbwsdk-connect-item-copy-wrapper{margin:0 4px 0 8px}.-cbwsdk-css-reset .-cbwsdk-connect-item-title{margin:0 0 0;font-size:16px;line-height:24px;font-weight:500}.-cbwsdk-css-reset .-cbwsdk-connect-item-description{font-weight:400;font-size:14px;line-height:20px;margin:0}`)();\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CoinbaseWalletSteps = exports.ConnectContent = void 0;\nconst clsx_1 = __importDefault(require(\"clsx\"));\nconst preact_1 = require(\"preact\");\nconst util_1 = require(\"../../../../../core/util\");\nconst version_1 = require(\"../../../../../version\");\nconst CloseIcon_1 = require(\"../icons/CloseIcon\");\nconst CoinbaseWalletRound_1 = require(\"../icons/CoinbaseWalletRound\");\nconst QRCodeIcon_1 = require(\"../icons/QRCodeIcon\");\nconst QRCode_1 = require(\"../QRCode\");\nconst Spinner_1 = require(\"../Spinner/Spinner\");\nconst ConnectContent_css_1 = __importDefault(require(\"./ConnectContent-css\"));\nconst wallet = {\n title: 'Coinbase Wallet app',\n description: 'Connect with your self-custody wallet',\n steps: CoinbaseWalletSteps,\n};\nconst makeIconColor = (theme) => {\n return theme === 'light' ? '#FFFFFF' : '#0A0B0D';\n};\nfunction ConnectContent(props) {\n const { theme } = props;\n const qrUrl = (0, util_1.createQrUrl)(props.sessionId, props.sessionSecret, props.linkAPIUrl, props.isParentConnection, props.version, props.chainId);\n const WalletSteps = wallet.steps;\n return ((0, preact_1.h)(\"div\", { \"data-testid\": \"connect-content\", className: (0, clsx_1.default)('-cbwsdk-connect-content', theme) },\n (0, preact_1.h)(\"style\", null, ConnectContent_css_1.default),\n (0, preact_1.h)(\"div\", { className: \"-cbwsdk-connect-content-header\" },\n (0, preact_1.h)(\"h2\", { className: (0, clsx_1.default)('-cbwsdk-connect-content-heading', theme) }, \"Scan to connect with our mobile app\"),\n props.onCancel && ((0, preact_1.h)(\"button\", { type: \"button\", className: '-cbwsdk-cancel-button', onClick: props.onCancel },\n (0, preact_1.h)(CloseIcon_1.CloseIcon, { fill: theme === 'light' ? '#0A0B0D' : '#FFFFFF' })))),\n (0, preact_1.h)(\"div\", { className: \"-cbwsdk-connect-content-layout\" },\n (0, preact_1.h)(\"div\", { className: \"-cbwsdk-connect-content-column-left\" },\n (0, preact_1.h)(ConnectItem, { title: wallet.title, description: wallet.description, theme: theme })),\n (0, preact_1.h)(\"div\", { className: \"-cbwsdk-connect-content-column-right\" },\n (0, preact_1.h)(\"div\", { className: \"-cbwsdk-connect-content-qr-wrapper\" },\n (0, preact_1.h)(QRCode_1.QRCode, { content: qrUrl, width: 200, height: 200, fgColor: \"#000\", bgColor: \"transparent\" }),\n (0, preact_1.h)(\"input\", { type: \"hidden\", name: \"cbw-cbwsdk-version\", value: version_1.LIB_VERSION }),\n (0, preact_1.h)(\"input\", { type: \"hidden\", value: qrUrl })),\n (0, preact_1.h)(WalletSteps, { theme: theme }),\n !props.isConnected && ((0, preact_1.h)(\"div\", { \"data-testid\": \"connecting-spinner\", className: (0, clsx_1.default)('-cbwsdk-connect-content-qr-connecting', theme) },\n (0, preact_1.h)(Spinner_1.Spinner, { size: 36, color: theme === 'dark' ? '#FFF' : '#000' }),\n (0, preact_1.h)(\"p\", null, \"Connecting...\")))))));\n}\nexports.ConnectContent = ConnectContent;\nfunction ConnectItem({ title, description, theme }) {\n return ((0, preact_1.h)(\"div\", { className: (0, clsx_1.default)('-cbwsdk-connect-item', theme) },\n (0, preact_1.h)(\"div\", null,\n (0, preact_1.h)(CoinbaseWalletRound_1.CoinbaseWalletRound, null)),\n (0, preact_1.h)(\"div\", { className: \"-cbwsdk-connect-item-copy-wrapper\" },\n (0, preact_1.h)(\"h3\", { className: \"-cbwsdk-connect-item-title\" }, title),\n (0, preact_1.h)(\"p\", { className: \"-cbwsdk-connect-item-description\" }, description))));\n}\nfunction CoinbaseWalletSteps({ theme }) {\n return ((0, preact_1.h)(\"ol\", { className: \"-cbwsdk-wallet-steps\" },\n (0, preact_1.h)(\"li\", { className: (0, clsx_1.default)('-cbwsdk-wallet-steps-item', theme) },\n (0, preact_1.h)(\"div\", { className: \"-cbwsdk-wallet-steps-item-wrapper\" }, \"Open Coinbase Wallet app\")),\n (0, preact_1.h)(\"li\", { className: (0, clsx_1.default)('-cbwsdk-wallet-steps-item', theme) },\n (0, preact_1.h)(\"div\", { className: \"-cbwsdk-wallet-steps-item-wrapper\" },\n (0, preact_1.h)(\"span\", null,\n \"Tap \",\n (0, preact_1.h)(\"strong\", null, \"Scan\"),\n ' '),\n (0, preact_1.h)(\"span\", { className: (0, clsx_1.default)('-cbwsdk-wallet-steps-pad-left', '-cbwsdk-wallet-steps-icon', theme) },\n (0, preact_1.h)(QRCodeIcon_1.QRCodeIcon, { fill: makeIconColor(theme) }))))));\n}\nexports.CoinbaseWalletSteps = CoinbaseWalletSteps;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ArrowLeftIcon = void 0;\nconst preact_1 = require(\"preact\");\nfunction ArrowLeftIcon(props) {\n return ((0, preact_1.h)(\"svg\", Object.assign({ width: \"16\", height: \"16\", viewBox: \"0 0 16 16\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n (0, preact_1.h)(\"path\", { d: \"M8.60675 0.155884L7.37816 1.28209L12.7723 7.16662H0V8.83328H12.6548L6.82149 14.6666L8 15.8451L15.8201 8.02501L8.60675 0.155884Z\" })));\n}\nexports.ArrowLeftIcon = ArrowLeftIcon;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LaptopIcon = void 0;\nconst preact_1 = require(\"preact\");\nfunction LaptopIcon(props) {\n return ((0, preact_1.h)(\"svg\", Object.assign({ width: \"14\", height: \"14\", viewBox: \"0 0 14 14\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n (0, preact_1.h)(\"path\", { d: \"M1.8001 2.2002H12.2001V9.40019H1.8001V2.2002ZM3.4001 3.8002V7.80019H10.6001V3.8002H3.4001Z\" }),\n (0, preact_1.h)(\"path\", { d: \"M13.4001 10.2002H0.600098C0.600098 11.0838 1.31644 11.8002 2.2001 11.8002H11.8001C12.6838 11.8002 13.4001 11.0838 13.4001 10.2002Z\" })));\n}\nexports.LaptopIcon = LaptopIcon;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SafeIcon = void 0;\nconst preact_1 = require(\"preact\");\nfunction SafeIcon(props) {\n return ((0, preact_1.h)(\"svg\", Object.assign({ width: \"14\", height: \"14\", viewBox: \"0 0 14 14\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n (0, preact_1.h)(\"path\", { \"fill-rule\": \"evenodd\", \"clip-rule\": \"evenodd\", d: \"M0.600098 0.600098V11.8001H13.4001V0.600098H0.600098ZM7.0001 9.2001C5.3441 9.2001 4.0001 7.8561 4.0001 6.2001C4.0001 4.5441 5.3441 3.2001 7.0001 3.2001C8.6561 3.2001 10.0001 4.5441 10.0001 6.2001C10.0001 7.8561 8.6561 9.2001 7.0001 9.2001ZM0.600098 12.6001H3.8001V13.4001H0.600098V12.6001ZM10.2001 12.6001H13.4001V13.4001H10.2001V12.6001ZM8.8001 6.2001C8.8001 7.19421 7.99421 8.0001 7.0001 8.0001C6.00598 8.0001 5.2001 7.19421 5.2001 6.2001C5.2001 5.20598 6.00598 4.4001 7.0001 4.4001C7.99421 4.4001 8.8001 5.20598 8.8001 6.2001Z\" })));\n}\nexports.SafeIcon = SafeIcon;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = (() => `.-cbwsdk-css-reset .-cbwsdk-try-extension{display:flex;margin-top:12px;height:202px;width:700px;border-radius:12px;padding:30px}.-cbwsdk-css-reset .-cbwsdk-try-extension.light{background:#fff}.-cbwsdk-css-reset .-cbwsdk-try-extension.dark{background:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-try-extension-column-half{flex:50%}.-cbwsdk-css-reset .-cbwsdk-try-extension-heading{font-style:normal;font-weight:500;font-size:25px;line-height:32px;margin:0;max-width:204px}.-cbwsdk-css-reset .-cbwsdk-try-extension-heading.light{color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-try-extension-heading.dark{color:#fff}.-cbwsdk-css-reset .-cbwsdk-try-extension-cta{appearance:none;border:none;background:none;color:#0052ff;cursor:pointer;padding:0;text-decoration:none;display:block;font-weight:600;font-size:16px;line-height:24px}.-cbwsdk-css-reset .-cbwsdk-try-extension-cta.light{color:#0052ff}.-cbwsdk-css-reset .-cbwsdk-try-extension-cta.dark{color:#588af5}.-cbwsdk-css-reset .-cbwsdk-try-extension-cta-wrapper{display:flex;align-items:center;margin-top:12px}.-cbwsdk-css-reset .-cbwsdk-try-extension-cta-icon{display:block;margin-left:4px;height:14px}.-cbwsdk-css-reset .-cbwsdk-try-extension-list{display:flex;flex-direction:column;justify-content:center;align-items:center;margin:0;padding:0;list-style:none;height:100%}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item{display:flex;align-items:center;flex-flow:nowrap;margin-top:24px}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item:first-of-type{margin-top:0}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-icon-wrapper{display:block}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-icon{display:flex;height:32px;width:32px;border-radius:50%}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-icon svg{margin:auto;display:block}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-icon.light{background:#eef0f3}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-icon.dark{background:#1e2025}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-copy{display:block;font-weight:400;font-size:14px;line-height:20px;padding-left:12px}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-copy.light{color:#5b636e}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-copy.dark{color:#8a919e}`)();\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TryExtensionContent = void 0;\nconst clsx_1 = __importDefault(require(\"clsx\"));\nconst preact_1 = require(\"preact\");\nconst hooks_1 = require(\"preact/hooks\");\nconst ArrowLeftIcon_1 = require(\"../icons/ArrowLeftIcon\");\nconst LaptopIcon_1 = require(\"../icons/LaptopIcon\");\nconst SafeIcon_1 = require(\"../icons/SafeIcon\");\nconst TryExtensionContent_css_1 = __importDefault(require(\"./TryExtensionContent-css\"));\nfunction TryExtensionContent({ theme }) {\n const [clicked, setClicked] = (0, hooks_1.useState)(false);\n const handleInstallClick = (0, hooks_1.useCallback)(() => {\n window.open('https://api.wallet.coinbase.com/rpc/v2/desktop/chrome', '_blank');\n }, []);\n const handleClick = (0, hooks_1.useCallback)(() => {\n if (clicked) {\n window.location.reload();\n }\n else {\n handleInstallClick();\n setClicked(true);\n }\n }, [handleInstallClick, clicked]);\n return ((0, preact_1.h)(\"div\", { class: (0, clsx_1.default)('-cbwsdk-try-extension', theme) },\n (0, preact_1.h)(\"style\", null, TryExtensionContent_css_1.default),\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-try-extension-column-half\" },\n (0, preact_1.h)(\"h3\", { class: (0, clsx_1.default)('-cbwsdk-try-extension-heading', theme) }, \"Or try the Coinbase Wallet browser extension\"),\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-try-extension-cta-wrapper\" },\n (0, preact_1.h)(\"button\", { class: (0, clsx_1.default)('-cbwsdk-try-extension-cta', theme), onClick: handleClick }, clicked ? 'Refresh' : 'Install'),\n (0, preact_1.h)(\"div\", null, !clicked && ((0, preact_1.h)(ArrowLeftIcon_1.ArrowLeftIcon, { class: \"-cbwsdk-try-extension-cta-icon\", fill: theme === 'light' ? '#0052FF' : '#588AF5' }))))),\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-try-extension-column-half\" },\n (0, preact_1.h)(\"ul\", { class: \"-cbwsdk-try-extension-list\" },\n (0, preact_1.h)(\"li\", { class: \"-cbwsdk-try-extension-list-item\" },\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-try-extension-list-item-icon-wrapper\" },\n (0, preact_1.h)(\"span\", { class: (0, clsx_1.default)('-cbwsdk-try-extension-list-item-icon', theme) },\n (0, preact_1.h)(LaptopIcon_1.LaptopIcon, { fill: theme === 'light' ? '#0A0B0D' : '#FFFFFF' }))),\n (0, preact_1.h)(\"div\", { class: (0, clsx_1.default)('-cbwsdk-try-extension-list-item-copy', theme) }, \"Connect with dapps with just one click on your desktop browser\")),\n (0, preact_1.h)(\"li\", { class: \"-cbwsdk-try-extension-list-item\" },\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-try-extension-list-item-icon-wrapper\" },\n (0, preact_1.h)(\"span\", { class: (0, clsx_1.default)('-cbwsdk-try-extension-list-item-icon', theme) },\n (0, preact_1.h)(SafeIcon_1.SafeIcon, { fill: theme === 'light' ? '#0A0B0D' : '#FFFFFF' }))),\n (0, preact_1.h)(\"div\", { class: (0, clsx_1.default)('-cbwsdk-try-extension-list-item-copy', theme) }, \"Add an additional layer of security by using a supported Ledger hardware wallet\"))))));\n}\nexports.TryExtensionContent = TryExtensionContent;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = (() => `.-cbwsdk-css-reset .-cbwsdk-connect-dialog{z-index:2147483647;position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-backdrop{z-index:2147483647;position:fixed;top:0;left:0;right:0;bottom:0;transition:opacity .25s}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-backdrop.light{background-color:rgba(0,0,0,.5)}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-backdrop.dark{background-color:rgba(50,53,61,.4)}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-backdrop-hidden{opacity:0}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-box{display:flex;position:relative;flex-direction:column;transform:scale(1);transition:opacity .25s,transform .25s}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-box-hidden{opacity:0;transform:scale(0.85)}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-container{display:block}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-container-hidden{display:none}`)();\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConnectDialog = void 0;\nconst clsx_1 = __importDefault(require(\"clsx\"));\nconst preact_1 = require(\"preact\");\nconst hooks_1 = require(\"preact/hooks\");\nconst ConnectContent_1 = require(\"../ConnectContent/ConnectContent\");\nconst TryExtensionContent_1 = require(\"../TryExtensionContent/TryExtensionContent\");\nconst ConnectDialog_css_1 = __importDefault(require(\"./ConnectDialog-css\"));\nconst ConnectDialog = (props) => {\n const { isOpen, darkMode } = props;\n const [containerHidden, setContainerHidden] = (0, hooks_1.useState)(!isOpen);\n const [dialogHidden, setDialogHidden] = (0, hooks_1.useState)(!isOpen);\n (0, hooks_1.useEffect)(() => {\n const timers = [\n window.setTimeout(() => {\n setDialogHidden(!isOpen);\n }, 10),\n ];\n if (isOpen) {\n setContainerHidden(false);\n }\n else {\n timers.push(window.setTimeout(() => {\n setContainerHidden(true);\n }, 360));\n }\n return () => {\n timers.forEach(window.clearTimeout);\n };\n }, [isOpen]);\n const theme = darkMode ? 'dark' : 'light';\n return ((0, preact_1.h)(\"div\", { class: (0, clsx_1.default)('-cbwsdk-connect-dialog-container', containerHidden && '-cbwsdk-connect-dialog-container-hidden') },\n (0, preact_1.h)(\"style\", null, ConnectDialog_css_1.default),\n (0, preact_1.h)(\"div\", { class: (0, clsx_1.default)('-cbwsdk-connect-dialog-backdrop', theme, dialogHidden && '-cbwsdk-connect-dialog-backdrop-hidden') }),\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-connect-dialog\" },\n (0, preact_1.h)(\"div\", { class: (0, clsx_1.default)('-cbwsdk-connect-dialog-box', dialogHidden && '-cbwsdk-connect-dialog-box-hidden') },\n !props.connectDisabled ? ((0, preact_1.h)(ConnectContent_1.ConnectContent, { theme: theme, version: props.version, sessionId: props.sessionId, sessionSecret: props.sessionSecret, linkAPIUrl: props.linkAPIUrl, isConnected: props.isConnected, isParentConnection: props.isParentConnection, chainId: props.chainId, onCancel: props.onCancel })) : null,\n (0, preact_1.h)(TryExtensionContent_1.TryExtensionContent, { theme: theme })))));\n};\nexports.ConnectDialog = ConnectDialog;\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LinkFlow = void 0;\nconst preact_1 = require(\"preact\");\nconst ConnectDialog_1 = require(\"../ConnectDialog/ConnectDialog\");\nclass LinkFlow {\n constructor(options) {\n this.connected = false;\n this.chainId = 1;\n this.isOpen = false;\n this.onCancel = null;\n this.root = null;\n // if true, hide QR code in LinkFlow (which happens if no jsonRpcUrl is provided)\n this.connectDisabled = false;\n this.darkMode = options.darkMode;\n this.version = options.version;\n this.sessionId = options.sessionId;\n this.sessionSecret = options.sessionSecret;\n this.linkAPIUrl = options.linkAPIUrl;\n this.isParentConnection = options.isParentConnection;\n }\n attach(el) {\n this.root = document.createElement('div');\n this.root.className = '-cbwsdk-link-flow-root';\n el.appendChild(this.root);\n this.render();\n }\n setConnected(v) {\n if (this.connected !== v) {\n this.connected = v;\n this.render();\n }\n }\n setChainId(chainId) {\n if (this.chainId !== chainId) {\n this.chainId = chainId;\n this.render();\n }\n }\n detach() {\n var _a;\n if (!this.root) {\n return;\n }\n (0, preact_1.render)(null, this.root);\n (_a = this.root.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(this.root);\n }\n setConnectDisabled(connectDisabled) {\n this.connectDisabled = connectDisabled;\n }\n open(options) {\n this.isOpen = true;\n this.onCancel = options.onCancel;\n this.render();\n }\n close() {\n this.isOpen = false;\n this.onCancel = null;\n this.render();\n }\n render() {\n if (!this.root) {\n return;\n }\n (0, preact_1.render)((0, preact_1.h)(ConnectDialog_1.ConnectDialog, { darkMode: this.darkMode, version: this.version, sessionId: this.sessionId, sessionSecret: this.sessionSecret, linkAPIUrl: this.linkAPIUrl, isOpen: this.isOpen, isConnected: this.connected, isParentConnection: this.isParentConnection, chainId: this.chainId, onCancel: this.onCancel, connectDisabled: this.connectDisabled }), this.root);\n }\n}\nexports.LinkFlow = LinkFlow;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = (() => `.-cbwsdk-css-reset .-gear-container{margin-left:16px !important;margin-right:9px !important;display:flex;align-items:center;justify-content:center;width:24px;height:24px;transition:opacity .25s}.-cbwsdk-css-reset .-gear-container *{user-select:none}.-cbwsdk-css-reset .-gear-container svg{opacity:0;position:absolute}.-cbwsdk-css-reset .-gear-icon{height:12px;width:12px;z-index:10000}.-cbwsdk-css-reset .-cbwsdk-snackbar{align-items:flex-end;display:flex;flex-direction:column;position:fixed;right:0;top:0;z-index:2147483647}.-cbwsdk-css-reset .-cbwsdk-snackbar *{user-select:none}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance{display:flex;flex-direction:column;margin:8px 16px 0 16px;overflow:visible;text-align:left;transform:translateX(0);transition:opacity .25s,transform .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header:hover .-gear-container svg{opacity:1}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header{display:flex;align-items:center;background:#fff;overflow:hidden;border:1px solid #e7ebee;box-sizing:border-box;border-radius:8px;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header-cblogo{margin:8px 8px 8px 8px}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header *{cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header-message{color:#000;font-size:13px;line-height:1.5;user-select:none}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu{background:#fff;transition:opacity .25s ease-in-out,transform .25s linear,visibility 0s;visibility:hidden;border:1px solid #e7ebee;box-sizing:border-box;border-radius:8px;opacity:0;flex-direction:column;padding-left:8px;padding-right:8px}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:last-child{margin-bottom:8px !important}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:hover{background:#f5f7f8;border-radius:6px;transition:background .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:hover span{color:#050f19;transition:color .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:hover svg path{fill:#000;transition:fill .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item{visibility:inherit;height:35px;margin-top:8px;margin-bottom:0;display:flex;flex-direction:row;align-items:center;padding:8px;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item *{visibility:inherit;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover{background:rgba(223,95,103,.2);transition:background .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover *{cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover svg path{fill:#df5f67;transition:fill .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover span{color:#df5f67;transition:color .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-info{color:#aaa;font-size:13px;margin:0 8px 0 32px;position:absolute}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-hidden{opacity:0;text-align:left;transform:translateX(25%);transition:opacity .5s linear}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-expanded .-cbwsdk-snackbar-instance-menu{opacity:1;display:flex;transform:translateY(8px);visibility:visible}`)();\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SnackbarInstance = exports.SnackbarContainer = exports.Snackbar = void 0;\nconst clsx_1 = __importDefault(require(\"clsx\"));\nconst preact_1 = require(\"preact\");\nconst hooks_1 = require(\"preact/hooks\");\nconst Snackbar_css_1 = __importDefault(require(\"./Snackbar-css\"));\nconst cblogo = `data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEuNDkyIDEwLjQxOWE4LjkzIDguOTMgMCAwMTguOTMtOC45M2gxMS4xNjNhOC45MyA4LjkzIDAgMDE4LjkzIDguOTN2MTEuMTYzYTguOTMgOC45MyAwIDAxLTguOTMgOC45M0gxMC40MjJhOC45MyA4LjkzIDAgMDEtOC45My04LjkzVjEwLjQxOXoiIGZpbGw9IiMxNjUyRjAiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEwLjQxOSAwSDIxLjU4QzI3LjMzNSAwIDMyIDQuNjY1IDMyIDEwLjQxOVYyMS41OEMzMiAyNy4zMzUgMjcuMzM1IDMyIDIxLjU4MSAzMkgxMC40MkM0LjY2NSAzMiAwIDI3LjMzNSAwIDIxLjU4MVYxMC40MkMwIDQuNjY1IDQuNjY1IDAgMTAuNDE5IDB6bTAgMS40ODhhOC45MyA4LjkzIDAgMDAtOC45MyA4LjkzdjExLjE2M2E4LjkzIDguOTMgMCAwMDguOTMgOC45M0gyMS41OGE4LjkzIDguOTMgMCAwMDguOTMtOC45M1YxMC40MmE4LjkzIDguOTMgMCAwMC04LjkzLTguOTNIMTAuNDJ6IiBmaWxsPSIjZmZmIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS45OTggMjYuMDQ5Yy01LjU0OSAwLTEwLjA0Ny00LjQ5OC0xMC4wNDctMTAuMDQ3IDAtNS41NDggNC40OTgtMTAuMDQ2IDEwLjA0Ny0xMC4wNDYgNS41NDggMCAxMC4wNDYgNC40OTggMTAuMDQ2IDEwLjA0NiAwIDUuNTQ5LTQuNDk4IDEwLjA0Ny0xMC4wNDYgMTAuMDQ3eiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0xMi43NjIgMTQuMjU0YzAtLjgyMi42NjctMS40ODkgMS40ODktMS40ODloMy40OTdjLjgyMiAwIDEuNDg4LjY2NiAxLjQ4OCAxLjQ4OXYzLjQ5N2MwIC44MjItLjY2NiAxLjQ4OC0xLjQ4OCAxLjQ4OGgtMy40OTdhMS40ODggMS40ODggMCAwMS0xLjQ4OS0xLjQ4OHYtMy40OTh6IiBmaWxsPSIjMTY1MkYwIi8+PC9zdmc+`;\nconst gearIcon = `data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEyIDYuNzV2LTEuNWwtMS43Mi0uNTdjLS4wOC0uMjctLjE5LS41Mi0uMzItLjc3bC44MS0xLjYyLTEuMDYtMS4wNi0xLjYyLjgxYy0uMjQtLjEzLS41LS4yNC0uNzctLjMyTDYuNzUgMGgtMS41bC0uNTcgMS43MmMtLjI3LjA4LS41My4xOS0uNzcuMzJsLTEuNjItLjgxLTEuMDYgMS4wNi44MSAxLjYyYy0uMTMuMjQtLjI0LjUtLjMyLjc3TDAgNS4yNXYxLjVsMS43Mi41N2MuMDguMjcuMTkuNTMuMzIuNzdsLS44MSAxLjYyIDEuMDYgMS4wNiAxLjYyLS44MWMuMjQuMTMuNS4yMy43Ny4zMkw1LjI1IDEyaDEuNWwuNTctMS43MmMuMjctLjA4LjUyLS4xOS43Ny0uMzJsMS42Mi44MSAxLjA2LTEuMDYtLjgxLTEuNjJjLjEzLS4yNC4yMy0uNS4zMi0uNzdMMTIgNi43NXpNNiA4LjVhMi41IDIuNSAwIDAxMC01IDIuNSAyLjUgMCAwMTAgNXoiIGZpbGw9IiMwNTBGMTkiLz48L3N2Zz4=`;\nclass Snackbar {\n constructor(options) {\n this.items = new Map();\n this.nextItemKey = 0;\n this.root = null;\n this.darkMode = options.darkMode;\n }\n attach(el) {\n this.root = document.createElement('div');\n this.root.className = '-cbwsdk-snackbar-root';\n el.appendChild(this.root);\n this.render();\n }\n presentItem(itemProps) {\n const key = this.nextItemKey++;\n this.items.set(key, itemProps);\n this.render();\n return () => {\n this.items.delete(key);\n this.render();\n };\n }\n clear() {\n this.items.clear();\n this.render();\n }\n render() {\n if (!this.root) {\n return;\n }\n (0, preact_1.render)((0, preact_1.h)(\"div\", null,\n (0, preact_1.h)(exports.SnackbarContainer, { darkMode: this.darkMode }, Array.from(this.items.entries()).map(([key, itemProps]) => ((0, preact_1.h)(exports.SnackbarInstance, Object.assign({}, itemProps, { key: key })))))), this.root);\n }\n}\nexports.Snackbar = Snackbar;\nconst SnackbarContainer = (props) => ((0, preact_1.h)(\"div\", { class: (0, clsx_1.default)('-cbwsdk-snackbar-container') },\n (0, preact_1.h)(\"style\", null, Snackbar_css_1.default),\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-snackbar\" }, props.children)));\nexports.SnackbarContainer = SnackbarContainer;\nconst SnackbarInstance = ({ autoExpand, message, menuItems, }) => {\n const [hidden, setHidden] = (0, hooks_1.useState)(true);\n const [expanded, setExpanded] = (0, hooks_1.useState)(autoExpand !== null && autoExpand !== void 0 ? autoExpand : false);\n (0, hooks_1.useEffect)(() => {\n const timers = [\n window.setTimeout(() => {\n setHidden(false);\n }, 1),\n window.setTimeout(() => {\n setExpanded(true);\n }, 10000),\n ];\n return () => {\n timers.forEach(window.clearTimeout);\n };\n });\n const toggleExpanded = () => {\n setExpanded(!expanded);\n };\n return ((0, preact_1.h)(\"div\", { class: (0, clsx_1.default)('-cbwsdk-snackbar-instance', hidden && '-cbwsdk-snackbar-instance-hidden', expanded && '-cbwsdk-snackbar-instance-expanded') },\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-snackbar-instance-header\", onClick: toggleExpanded },\n (0, preact_1.h)(\"img\", { src: cblogo, class: \"-cbwsdk-snackbar-instance-header-cblogo\" }),\n ' ',\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-snackbar-instance-header-message\" }, message),\n (0, preact_1.h)(\"div\", { class: \"-gear-container\" },\n !expanded && ((0, preact_1.h)(\"svg\", { width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\n (0, preact_1.h)(\"circle\", { cx: \"12\", cy: \"12\", r: \"12\", fill: \"#F5F7F8\" }))),\n (0, preact_1.h)(\"img\", { src: gearIcon, class: \"-gear-icon\", title: \"Expand\" }))),\n menuItems && menuItems.length > 0 && ((0, preact_1.h)(\"div\", { class: \"-cbwsdk-snackbar-instance-menu\" }, menuItems.map((action, i) => ((0, preact_1.h)(\"div\", { class: (0, clsx_1.default)('-cbwsdk-snackbar-instance-menu-item', action.isRed && '-cbwsdk-snackbar-instance-menu-item-is-red'), onClick: action.onClick, key: i },\n (0, preact_1.h)(\"svg\", { width: action.svgWidth, height: action.svgHeight, viewBox: \"0 0 10 11\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\n (0, preact_1.h)(\"path\", { \"fill-rule\": action.defaultFillRule, \"clip-rule\": action.defaultClipRule, d: action.path, fill: \"#AAAAAA\" })),\n (0, preact_1.h)(\"span\", { class: (0, clsx_1.default)('-cbwsdk-snackbar-instance-menu-item-info', action.isRed && '-cbwsdk-snackbar-instance-menu-item-info-is-red') }, action.info))))))));\n};\nexports.SnackbarInstance = SnackbarInstance;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WalletLinkRelayUI = void 0;\nconst cssReset_1 = require(\"../../../lib/cssReset\");\nconst LinkFlow_1 = require(\"./components/LinkFlow/LinkFlow\");\nconst Snackbar_1 = require(\"./components/Snackbar/Snackbar\");\nclass WalletLinkRelayUI {\n constructor(options) {\n this.standalone = null;\n this.attached = false;\n this.snackbar = new Snackbar_1.Snackbar({\n darkMode: options.darkMode,\n });\n this.linkFlow = new LinkFlow_1.LinkFlow({\n darkMode: options.darkMode,\n version: options.version,\n sessionId: options.session.id,\n sessionSecret: options.session.secret,\n linkAPIUrl: options.linkAPIUrl,\n isParentConnection: false,\n });\n }\n attach() {\n if (this.attached) {\n throw new Error('Coinbase Wallet SDK UI is already attached');\n }\n const el = document.documentElement;\n const container = document.createElement('div');\n container.className = '-cbwsdk-css-reset';\n el.appendChild(container);\n this.linkFlow.attach(container);\n this.snackbar.attach(container);\n this.attached = true;\n (0, cssReset_1.injectCssReset)();\n }\n setConnected(connected) {\n this.linkFlow.setConnected(connected);\n }\n setChainId(chainId) {\n this.linkFlow.setChainId(chainId);\n }\n setConnectDisabled(connectDisabled) {\n this.linkFlow.setConnectDisabled(connectDisabled);\n }\n /* istanbul ignore next */\n addEthereumChain() { } // no-op\n /* istanbul ignore next */\n watchAsset() { } // no-op\n /* istanbul ignore next */\n switchEthereumChain() { } // no-op\n requestEthereumAccounts(options) {\n this.linkFlow.open({ onCancel: options.onCancel });\n }\n hideRequestEthereumAccounts() {\n this.linkFlow.close();\n }\n /* istanbul ignore next */\n signEthereumMessage() { } // no-op\n /* istanbul ignore next */\n signEthereumTransaction() { } // no-op\n /* istanbul ignore next */\n submitEthereumTransaction() { } // no-op\n /* istanbul ignore next */\n ethereumAddressFromSignedMessage() { } // no-op\n showConnecting(options) {\n let snackbarProps;\n if (options.isUnlinkedErrorState) {\n snackbarProps = {\n autoExpand: true,\n message: 'Connection lost',\n menuItems: [\n {\n isRed: false,\n info: 'Reset connection',\n svgWidth: '10',\n svgHeight: '11',\n path: 'M5.00008 0.96875C6.73133 0.96875 8.23758 1.94375 9.00008 3.375L10.0001 2.375V5.5H9.53133H7.96883H6.87508L7.80633 4.56875C7.41258 3.3875 6.31258 2.53125 5.00008 2.53125C3.76258 2.53125 2.70633 3.2875 2.25633 4.36875L0.812576 3.76875C1.50008 2.125 3.11258 0.96875 5.00008 0.96875ZM2.19375 6.43125C2.5875 7.6125 3.6875 8.46875 5 8.46875C6.2375 8.46875 7.29375 7.7125 7.74375 6.63125L9.1875 7.23125C8.5 8.875 6.8875 10.0312 5 10.0312C3.26875 10.0312 1.7625 9.05625 1 7.625L0 8.625V5.5H0.46875H2.03125H3.125L2.19375 6.43125Z',\n defaultFillRule: 'evenodd',\n defaultClipRule: 'evenodd',\n onClick: options.onResetConnection,\n },\n ],\n };\n }\n else {\n snackbarProps = {\n message: 'Confirm on phone',\n menuItems: [\n {\n isRed: true,\n info: 'Cancel transaction',\n svgWidth: '11',\n svgHeight: '11',\n path: 'M10.3711 1.52346L9.21775 0.370117L5.37109 4.21022L1.52444 0.370117L0.371094 1.52346L4.2112 5.37012L0.371094 9.21677L1.52444 10.3701L5.37109 6.53001L9.21775 10.3701L10.3711 9.21677L6.53099 5.37012L10.3711 1.52346Z',\n defaultFillRule: 'inherit',\n defaultClipRule: 'inherit',\n onClick: options.onCancel,\n },\n {\n isRed: false,\n info: 'Reset connection',\n svgWidth: '10',\n svgHeight: '11',\n path: 'M5.00008 0.96875C6.73133 0.96875 8.23758 1.94375 9.00008 3.375L10.0001 2.375V5.5H9.53133H7.96883H6.87508L7.80633 4.56875C7.41258 3.3875 6.31258 2.53125 5.00008 2.53125C3.76258 2.53125 2.70633 3.2875 2.25633 4.36875L0.812576 3.76875C1.50008 2.125 3.11258 0.96875 5.00008 0.96875ZM2.19375 6.43125C2.5875 7.6125 3.6875 8.46875 5 8.46875C6.2375 8.46875 7.29375 7.7125 7.74375 6.63125L9.1875 7.23125C8.5 8.875 6.8875 10.0312 5 10.0312C3.26875 10.0312 1.7625 9.05625 1 7.625L0 8.625V5.5H0.46875H2.03125H3.125L2.19375 6.43125Z',\n defaultFillRule: 'evenodd',\n defaultClipRule: 'evenodd',\n onClick: options.onResetConnection,\n },\n ],\n };\n }\n return this.snackbar.presentItem(snackbarProps);\n }\n /* istanbul ignore next */\n reloadUI() {\n document.location.reload();\n }\n /* istanbul ignore next */\n inlineAccountsResponse() {\n return false;\n }\n /* istanbul ignore next */\n inlineAddEthereumChain() {\n return false;\n }\n /* istanbul ignore next */\n inlineWatchAsset() {\n return false;\n }\n /* istanbul ignore next */\n inlineSwitchEthereumChain() {\n return false;\n }\n /* istanbul ignore next */\n setStandalone(status) {\n this.standalone = status;\n }\n /* istanbul ignore next */\n isStandalone() {\n var _a;\n return (_a = this.standalone) !== null && _a !== void 0 ? _a : false;\n }\n}\nexports.WalletLinkRelayUI = WalletLinkRelayUI;\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WalletLinkRelay = void 0;\nconst error_1 = require(\"../../core/error\");\nconst type_1 = require(\"../../core/type\");\nconst util_1 = require(\"../../core/util\");\nconst DiagnosticLogger_1 = require(\"../../provider/DiagnosticLogger\");\nconst RelayAbstract_1 = require(\"../RelayAbstract\");\nconst Session_1 = require(\"../Session\");\nconst WalletLinkConnection_1 = require(\"./connection/WalletLinkConnection\");\nconst Web3Response_1 = require(\"./type/Web3Response\");\nconst WalletLinkRelayUI_1 = require(\"./ui/WalletLinkRelayUI\");\nclass WalletLinkRelay extends RelayAbstract_1.RelayAbstract {\n constructor(options) {\n var _a;\n super();\n this.accountsCallback = null;\n this.chainCallbackParams = { chainId: '', jsonRpcUrl: '' }; // to implement distinctUntilChanged\n this.chainCallback = null;\n this.dappDefaultChain = 1;\n this.appName = '';\n this.appLogoUrl = null;\n this.linkedUpdated = (linked) => {\n var _a;\n this.isLinked = linked;\n const cachedAddresses = this.storage.getItem(RelayAbstract_1.LOCAL_STORAGE_ADDRESSES_KEY);\n if (linked) {\n // Only set linked session variable one way\n this.session.linked = linked;\n }\n this.isUnlinkedErrorState = false;\n if (cachedAddresses) {\n const addresses = cachedAddresses.split(' ');\n const wasConnectedViaStandalone = this.storage.getItem('IsStandaloneSigning') === 'true';\n if (addresses[0] !== '' && !linked && this.session.linked && !wasConnectedViaStandalone) {\n this.isUnlinkedErrorState = true;\n const sessionIdHash = this.getSessionIdHash();\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.UNLINKED_ERROR_STATE, {\n sessionIdHash,\n });\n }\n }\n };\n this.metadataUpdated = (key, value) => {\n this.storage.setItem(key, value);\n };\n this.chainUpdated = (chainId, jsonRpcUrl) => {\n if (this.chainCallbackParams.chainId === chainId &&\n this.chainCallbackParams.jsonRpcUrl === jsonRpcUrl) {\n return;\n }\n this.chainCallbackParams = {\n chainId,\n jsonRpcUrl,\n };\n if (this.chainCallback) {\n this.chainCallback(chainId, jsonRpcUrl);\n }\n };\n this.accountUpdated = (selectedAddress) => {\n if (this.accountsCallback) {\n this.accountsCallback([selectedAddress]);\n }\n if (WalletLinkRelay.accountRequestCallbackIds.size > 0) {\n // We get the ethereum address from the metadata. If for whatever\n // reason we don't get a response via an explicit web3 message\n // we can still fulfill the eip1102 request.\n Array.from(WalletLinkRelay.accountRequestCallbackIds.values()).forEach((id) => {\n const message = {\n type: 'WEB3_RESPONSE',\n id,\n response: {\n method: 'requestEthereumAccounts',\n result: [selectedAddress],\n },\n };\n this.invokeCallback(Object.assign(Object.assign({}, message), { id }));\n });\n WalletLinkRelay.accountRequestCallbackIds.clear();\n }\n };\n this.connectedUpdated = (connected) => {\n this.ui.setConnected(connected);\n };\n this.resetAndReload = this.resetAndReload.bind(this);\n this.linkAPIUrl = options.linkAPIUrl;\n this.storage = options.storage;\n this.options = options;\n const { session, ui, connection } = this.subscribe();\n this._session = session;\n this.connection = connection;\n this.relayEventManager = options.relayEventManager;\n this.diagnostic = options.diagnosticLogger;\n this._reloadOnDisconnect = (_a = options.reloadOnDisconnect) !== null && _a !== void 0 ? _a : true;\n this.ui = ui;\n }\n subscribe() {\n const session = Session_1.Session.load(this.storage) || new Session_1.Session(this.storage).save();\n const { linkAPIUrl, diagnostic } = this;\n const connection = new WalletLinkConnection_1.WalletLinkConnection({\n session,\n linkAPIUrl,\n diagnostic,\n listener: this,\n });\n const { version, darkMode } = this.options;\n const ui = this.options.uiConstructor({\n linkAPIUrl,\n version,\n darkMode,\n session,\n });\n connection.connect();\n return { session, ui, connection };\n }\n attachUI() {\n this.ui.attach();\n }\n resetAndReload() {\n Promise.race([\n this.connection.setSessionMetadata('__destroyed', '1'),\n new Promise((resolve) => setTimeout(() => resolve(null), 1000)),\n ])\n .then(() => {\n var _a, _b;\n const isStandalone = this.ui.isStandalone();\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.SESSION_STATE_CHANGE, {\n method: 'relay::resetAndReload',\n sessionMetadataChange: '__destroyed, 1',\n sessionIdHash: this.getSessionIdHash(),\n });\n this.connection.destroy();\n /**\n * Only clear storage if the session id we have in memory matches the one on disk\n * Otherwise, in the case where we have 2 tabs, another tab might have cleared\n * storage already. In that case if we clear storage again, the user will be in\n * a state where the first tab allows the user to connect but the session that\n * was used isn't persisted. This leaves the user in a state where they aren't\n * connected to the mobile app.\n */\n const storedSession = Session_1.Session.load(this.storage);\n if ((storedSession === null || storedSession === void 0 ? void 0 : storedSession.id) === this._session.id) {\n this.storage.clear();\n }\n else if (storedSession) {\n (_b = this.diagnostic) === null || _b === void 0 ? void 0 : _b.log(DiagnosticLogger_1.EVENTS.SKIPPED_CLEARING_SESSION, {\n sessionIdHash: this.getSessionIdHash(),\n storedSessionIdHash: Session_1.Session.hash(storedSession.id),\n });\n }\n if (this._reloadOnDisconnect) {\n this.ui.reloadUI();\n return;\n }\n if (this.accountsCallback) {\n this.accountsCallback([], true);\n }\n const { session, ui, connection } = this.subscribe();\n this._session = session;\n this.connection = connection;\n this.ui = ui;\n if (isStandalone && this.ui.setStandalone)\n this.ui.setStandalone(true);\n this.attachUI();\n })\n .catch((err) => {\n var _a;\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.FAILURE, {\n method: 'relay::resetAndReload',\n message: `failed to reset and reload with ${err}`,\n sessionIdHash: this.getSessionIdHash(),\n });\n });\n }\n setAppInfo(appName, appLogoUrl) {\n this.appName = appName;\n this.appLogoUrl = appLogoUrl;\n }\n getStorageItem(key) {\n return this.storage.getItem(key);\n }\n get session() {\n return this._session;\n }\n setStorageItem(key, value) {\n this.storage.setItem(key, value);\n }\n signEthereumMessage(message, address, addPrefix, typedDataJson) {\n return this.sendRequest({\n method: 'signEthereumMessage',\n params: {\n message: (0, util_1.hexStringFromBuffer)(message, true),\n address,\n addPrefix,\n typedDataJson: typedDataJson || null,\n },\n });\n }\n ethereumAddressFromSignedMessage(message, signature, addPrefix) {\n return this.sendRequest({\n method: 'ethereumAddressFromSignedMessage',\n params: {\n message: (0, util_1.hexStringFromBuffer)(message, true),\n signature: (0, util_1.hexStringFromBuffer)(signature, true),\n addPrefix,\n },\n });\n }\n signEthereumTransaction(params) {\n return this.sendRequest({\n method: 'signEthereumTransaction',\n params: {\n fromAddress: params.fromAddress,\n toAddress: params.toAddress,\n weiValue: (0, util_1.bigIntStringFromBN)(params.weiValue),\n data: (0, util_1.hexStringFromBuffer)(params.data, true),\n nonce: params.nonce,\n gasPriceInWei: params.gasPriceInWei ? (0, util_1.bigIntStringFromBN)(params.gasPriceInWei) : null,\n maxFeePerGas: params.gasPriceInWei ? (0, util_1.bigIntStringFromBN)(params.gasPriceInWei) : null,\n maxPriorityFeePerGas: params.gasPriceInWei\n ? (0, util_1.bigIntStringFromBN)(params.gasPriceInWei)\n : null,\n gasLimit: params.gasLimit ? (0, util_1.bigIntStringFromBN)(params.gasLimit) : null,\n chainId: params.chainId,\n shouldSubmit: false,\n },\n });\n }\n signAndSubmitEthereumTransaction(params) {\n return this.sendRequest({\n method: 'signEthereumTransaction',\n params: {\n fromAddress: params.fromAddress,\n toAddress: params.toAddress,\n weiValue: (0, util_1.bigIntStringFromBN)(params.weiValue),\n data: (0, util_1.hexStringFromBuffer)(params.data, true),\n nonce: params.nonce,\n gasPriceInWei: params.gasPriceInWei ? (0, util_1.bigIntStringFromBN)(params.gasPriceInWei) : null,\n maxFeePerGas: params.maxFeePerGas ? (0, util_1.bigIntStringFromBN)(params.maxFeePerGas) : null,\n maxPriorityFeePerGas: params.maxPriorityFeePerGas\n ? (0, util_1.bigIntStringFromBN)(params.maxPriorityFeePerGas)\n : null,\n gasLimit: params.gasLimit ? (0, util_1.bigIntStringFromBN)(params.gasLimit) : null,\n chainId: params.chainId,\n shouldSubmit: true,\n },\n });\n }\n submitEthereumTransaction(signedTransaction, chainId) {\n return this.sendRequest({\n method: 'submitEthereumTransaction',\n params: {\n signedTransaction: (0, util_1.hexStringFromBuffer)(signedTransaction, true),\n chainId,\n },\n });\n }\n scanQRCode(regExp) {\n return this.sendRequest({\n method: 'scanQRCode',\n params: {\n regExp,\n },\n });\n }\n getQRCodeUrl() {\n return (0, util_1.createQrUrl)(this._session.id, this._session.secret, this.linkAPIUrl, false, this.options.version, this.dappDefaultChain);\n }\n genericRequest(data, action) {\n return this.sendRequest({\n method: 'generic',\n params: {\n action,\n data,\n },\n });\n }\n sendGenericMessage(request) {\n return this.sendRequest(request);\n }\n sendRequest(request) {\n let hideSnackbarItem = null;\n const id = (0, util_1.randomBytesHex)(8);\n const cancel = (error) => {\n this.publishWeb3RequestCanceledEvent(id);\n this.handleErrorResponse(id, request.method, error);\n hideSnackbarItem === null || hideSnackbarItem === void 0 ? void 0 : hideSnackbarItem();\n };\n const promise = new Promise((resolve, reject) => {\n if (!this.ui.isStandalone()) {\n hideSnackbarItem = this.ui.showConnecting({\n isUnlinkedErrorState: this.isUnlinkedErrorState,\n onCancel: cancel,\n onResetConnection: this.resetAndReload, // eslint-disable-line @typescript-eslint/unbound-method\n });\n }\n this.relayEventManager.callbacks.set(id, (response) => {\n hideSnackbarItem === null || hideSnackbarItem === void 0 ? void 0 : hideSnackbarItem();\n if ((0, Web3Response_1.isErrorResponse)(response)) {\n return reject(new Error(response.errorMessage));\n }\n resolve(response);\n });\n if (this.ui.isStandalone()) {\n this.sendRequestStandalone(id, request);\n }\n else {\n this.publishWeb3RequestEvent(id, request);\n }\n });\n return { promise, cancel };\n }\n setConnectDisabled(disabled) {\n this.ui.setConnectDisabled(disabled);\n }\n setAccountsCallback(accountsCallback) {\n this.accountsCallback = accountsCallback;\n }\n setChainCallback(chainCallback) {\n this.chainCallback = chainCallback;\n }\n setDappDefaultChainCallback(chainId) {\n this.dappDefaultChain = chainId;\n if (this.ui instanceof WalletLinkRelayUI_1.WalletLinkRelayUI) {\n this.ui.setChainId(chainId);\n }\n }\n publishWeb3RequestEvent(id, request) {\n var _a;\n const message = { type: 'WEB3_REQUEST', id, request };\n const storedSession = Session_1.Session.load(this.storage);\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.WEB3_REQUEST, {\n eventId: message.id,\n method: `relay::${request.method}`,\n sessionIdHash: this.getSessionIdHash(),\n storedSessionIdHash: storedSession ? Session_1.Session.hash(storedSession.id) : '',\n isSessionMismatched: ((storedSession === null || storedSession === void 0 ? void 0 : storedSession.id) !== this._session.id).toString(),\n });\n this.publishEvent('Web3Request', message, true)\n .then((_) => {\n var _a;\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.WEB3_REQUEST_PUBLISHED, {\n eventId: message.id,\n method: `relay::${request.method}`,\n sessionIdHash: this.getSessionIdHash(),\n storedSessionIdHash: storedSession ? Session_1.Session.hash(storedSession.id) : '',\n isSessionMismatched: ((storedSession === null || storedSession === void 0 ? void 0 : storedSession.id) !== this._session.id).toString(),\n });\n })\n .catch((err) => {\n this.handleWeb3ResponseMessage({\n type: 'WEB3_RESPONSE',\n id: message.id,\n response: {\n method: request.method,\n errorMessage: err.message,\n },\n });\n });\n }\n publishWeb3RequestCanceledEvent(id) {\n const message = {\n type: 'WEB3_REQUEST_CANCELED',\n id,\n };\n this.publishEvent('Web3RequestCanceled', message, false).then();\n }\n publishEvent(event, message, callWebhook) {\n return this.connection.publishEvent(event, message, callWebhook);\n }\n handleWeb3ResponseMessage(message) {\n var _a;\n const { response } = message;\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.WEB3_RESPONSE, {\n eventId: message.id,\n method: `relay::${response.method}`,\n sessionIdHash: this.getSessionIdHash(),\n });\n if (response.method === 'requestEthereumAccounts') {\n WalletLinkRelay.accountRequestCallbackIds.forEach((id) => this.invokeCallback(Object.assign(Object.assign({}, message), { id })));\n WalletLinkRelay.accountRequestCallbackIds.clear();\n return;\n }\n this.invokeCallback(message);\n }\n handleErrorResponse(id, method, error, errorCode) {\n var _a;\n const errorMessage = (_a = error === null || error === void 0 ? void 0 : error.message) !== null && _a !== void 0 ? _a : (0, error_1.getMessageFromCode)(errorCode);\n this.handleWeb3ResponseMessage({\n type: 'WEB3_RESPONSE',\n id,\n response: {\n method,\n errorMessage,\n errorCode,\n },\n });\n }\n invokeCallback(message) {\n const callback = this.relayEventManager.callbacks.get(message.id);\n if (callback) {\n callback(message.response);\n this.relayEventManager.callbacks.delete(message.id);\n }\n }\n requestEthereumAccounts() {\n const request = {\n method: 'requestEthereumAccounts',\n params: {\n appName: this.appName,\n appLogoUrl: this.appLogoUrl || null,\n },\n };\n const hideSnackbarItem = null;\n const id = (0, util_1.randomBytesHex)(8);\n const cancel = (error) => {\n this.publishWeb3RequestCanceledEvent(id);\n this.handleErrorResponse(id, request.method, error);\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n hideSnackbarItem === null || hideSnackbarItem === void 0 ? void 0 : hideSnackbarItem();\n };\n const promise = new Promise((resolve, reject) => {\n this.relayEventManager.callbacks.set(id, (response) => {\n this.ui.hideRequestEthereumAccounts();\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n hideSnackbarItem === null || hideSnackbarItem === void 0 ? void 0 : hideSnackbarItem();\n if ((0, Web3Response_1.isErrorResponse)(response)) {\n return reject(new Error(response.errorMessage));\n }\n resolve(response);\n });\n if (this.ui.inlineAccountsResponse()) {\n const onAccounts = (accounts) => {\n this.handleWeb3ResponseMessage({\n type: 'WEB3_RESPONSE',\n id,\n response: { method: 'requestEthereumAccounts', result: accounts },\n });\n };\n this.ui.requestEthereumAccounts({\n onCancel: cancel,\n onAccounts,\n });\n }\n else {\n // Error if user closes TryExtensionLinkDialog without connecting\n const err = error_1.standardErrors.provider.userRejectedRequest('User denied account authorization');\n this.ui.requestEthereumAccounts({\n onCancel: () => cancel(err),\n });\n }\n WalletLinkRelay.accountRequestCallbackIds.add(id);\n if (!this.ui.inlineAccountsResponse() && !this.ui.isStandalone()) {\n this.publishWeb3RequestEvent(id, request);\n }\n });\n return { promise, cancel };\n }\n selectProvider(providerOptions) {\n const request = {\n method: 'selectProvider',\n params: {\n providerOptions,\n },\n };\n const id = (0, util_1.randomBytesHex)(8);\n const cancel = (error) => {\n this.publishWeb3RequestCanceledEvent(id);\n this.handleErrorResponse(id, request.method, error);\n };\n const promise = new Promise((resolve, reject) => {\n this.relayEventManager.callbacks.set(id, (response) => {\n if ((0, Web3Response_1.isErrorResponse)(response)) {\n return reject(new Error(response.errorMessage));\n }\n resolve(response);\n });\n const _cancel = (_error) => {\n this.handleWeb3ResponseMessage({\n type: 'WEB3_RESPONSE',\n id,\n response: { method: 'selectProvider', result: type_1.ProviderType.Unselected },\n });\n };\n const approve = (selectedProviderKey) => {\n this.handleWeb3ResponseMessage({\n type: 'WEB3_RESPONSE',\n id,\n response: { method: 'selectProvider', result: selectedProviderKey },\n });\n };\n if (this.ui.selectProvider)\n this.ui.selectProvider({\n onApprove: approve,\n onCancel: _cancel,\n providerOptions,\n });\n });\n return { cancel, promise };\n }\n watchAsset(type, address, symbol, decimals, image, chainId) {\n const request = {\n method: 'watchAsset',\n params: {\n type,\n options: {\n address,\n symbol,\n decimals,\n image,\n },\n chainId,\n },\n };\n let hideSnackbarItem = null;\n const id = (0, util_1.randomBytesHex)(8);\n const cancel = (error) => {\n this.publishWeb3RequestCanceledEvent(id);\n this.handleErrorResponse(id, request.method, error);\n hideSnackbarItem === null || hideSnackbarItem === void 0 ? void 0 : hideSnackbarItem();\n };\n if (!this.ui.inlineWatchAsset()) {\n hideSnackbarItem = this.ui.showConnecting({\n isUnlinkedErrorState: this.isUnlinkedErrorState,\n onCancel: cancel,\n onResetConnection: this.resetAndReload, // eslint-disable-line @typescript-eslint/unbound-method\n });\n }\n const promise = new Promise((resolve, reject) => {\n this.relayEventManager.callbacks.set(id, (response) => {\n hideSnackbarItem === null || hideSnackbarItem === void 0 ? void 0 : hideSnackbarItem();\n if ((0, Web3Response_1.isErrorResponse)(response)) {\n return reject(new Error(response.errorMessage));\n }\n resolve(response);\n });\n const _cancel = (_error) => {\n this.handleWeb3ResponseMessage({\n type: 'WEB3_RESPONSE',\n id,\n response: {\n method: 'watchAsset',\n result: false,\n },\n });\n };\n const approve = () => {\n this.handleWeb3ResponseMessage({\n type: 'WEB3_RESPONSE',\n id,\n response: {\n method: 'watchAsset',\n result: true,\n },\n });\n };\n if (this.ui.inlineWatchAsset()) {\n this.ui.watchAsset({\n onApprove: approve,\n onCancel: _cancel,\n type,\n address,\n symbol,\n decimals,\n image,\n chainId,\n });\n }\n if (!this.ui.inlineWatchAsset() && !this.ui.isStandalone()) {\n this.publishWeb3RequestEvent(id, request);\n }\n });\n return { cancel, promise };\n }\n addEthereumChain(chainId, rpcUrls, iconUrls, blockExplorerUrls, chainName, nativeCurrency) {\n const request = {\n method: 'addEthereumChain',\n params: {\n chainId,\n rpcUrls,\n blockExplorerUrls,\n chainName,\n iconUrls,\n nativeCurrency,\n },\n };\n let hideSnackbarItem = null;\n const id = (0, util_1.randomBytesHex)(8);\n const cancel = (error) => {\n this.publishWeb3RequestCanceledEvent(id);\n this.handleErrorResponse(id, request.method, error);\n hideSnackbarItem === null || hideSnackbarItem === void 0 ? void 0 : hideSnackbarItem();\n };\n if (!this.ui.inlineAddEthereumChain(chainId)) {\n hideSnackbarItem = this.ui.showConnecting({\n isUnlinkedErrorState: this.isUnlinkedErrorState,\n onCancel: cancel,\n onResetConnection: this.resetAndReload, // eslint-disable-line @typescript-eslint/unbound-method\n });\n }\n const promise = new Promise((resolve, reject) => {\n this.relayEventManager.callbacks.set(id, (response) => {\n hideSnackbarItem === null || hideSnackbarItem === void 0 ? void 0 : hideSnackbarItem();\n if ((0, Web3Response_1.isErrorResponse)(response)) {\n return reject(new Error(response.errorMessage));\n }\n resolve(response);\n });\n const _cancel = (_error) => {\n this.handleWeb3ResponseMessage({\n type: 'WEB3_RESPONSE',\n id,\n response: {\n method: 'addEthereumChain',\n result: {\n isApproved: false,\n rpcUrl: '',\n },\n },\n });\n };\n const approve = (rpcUrl) => {\n this.handleWeb3ResponseMessage({\n type: 'WEB3_RESPONSE',\n id,\n response: {\n method: 'addEthereumChain',\n result: {\n isApproved: true,\n rpcUrl,\n },\n },\n });\n };\n if (this.ui.inlineAddEthereumChain(chainId)) {\n this.ui.addEthereumChain({\n onCancel: _cancel,\n onApprove: approve,\n chainId: request.params.chainId,\n rpcUrls: request.params.rpcUrls,\n blockExplorerUrls: request.params.blockExplorerUrls,\n chainName: request.params.chainName,\n iconUrls: request.params.iconUrls,\n nativeCurrency: request.params.nativeCurrency,\n });\n }\n if (!this.ui.inlineAddEthereumChain(chainId) && !this.ui.isStandalone()) {\n this.publishWeb3RequestEvent(id, request);\n }\n });\n return { promise, cancel };\n }\n switchEthereumChain(chainId, address) {\n const request = {\n method: 'switchEthereumChain',\n params: Object.assign({ chainId }, { address }),\n };\n const id = (0, util_1.randomBytesHex)(8);\n const cancel = (error) => {\n this.publishWeb3RequestCanceledEvent(id);\n this.handleErrorResponse(id, request.method, error);\n };\n const promise = new Promise((resolve, reject) => {\n this.relayEventManager.callbacks.set(id, (response) => {\n if ((0, Web3Response_1.isErrorResponse)(response) && response.errorCode) {\n return reject(error_1.standardErrors.provider.custom({\n code: response.errorCode,\n message: `Unrecognized chain ID. Try adding the chain using addEthereumChain first.`,\n }));\n }\n else if ((0, Web3Response_1.isErrorResponse)(response)) {\n return reject(new Error(response.errorMessage));\n }\n resolve(response);\n });\n const _cancel = (error) => {\n var _a;\n if (error) {\n // backward compatibility\n const errorCode = (_a = (0, error_1.getErrorCode)(error)) !== null && _a !== void 0 ? _a : error_1.standardErrorCodes.provider.unsupportedChain;\n this.handleErrorResponse(id, 'switchEthereumChain', error instanceof Error ? error : error_1.standardErrors.provider.unsupportedChain(chainId), errorCode);\n }\n else {\n this.handleWeb3ResponseMessage({\n type: 'WEB3_RESPONSE',\n id,\n response: {\n method: 'switchEthereumChain',\n result: {\n isApproved: false,\n rpcUrl: '',\n },\n },\n });\n }\n };\n const approve = (rpcUrl) => {\n this.handleWeb3ResponseMessage({\n type: 'WEB3_RESPONSE',\n id,\n response: {\n method: 'switchEthereumChain',\n result: {\n isApproved: true,\n rpcUrl,\n },\n },\n });\n };\n this.ui.switchEthereumChain({\n onCancel: _cancel,\n onApprove: approve,\n chainId: request.params.chainId,\n address: request.params.address,\n });\n if (!this.ui.inlineSwitchEthereumChain() && !this.ui.isStandalone()) {\n this.publishWeb3RequestEvent(id, request);\n }\n });\n return { promise, cancel };\n }\n inlineAddEthereumChain(chainId) {\n return this.ui.inlineAddEthereumChain(chainId);\n }\n getSessionIdHash() {\n return Session_1.Session.hash(this._session.id);\n }\n sendRequestStandalone(id, request) {\n const _cancel = (error) => {\n this.handleErrorResponse(id, request.method, error);\n };\n const onSuccess = (response) => {\n this.handleWeb3ResponseMessage({\n type: 'WEB3_RESPONSE',\n id,\n response,\n });\n };\n switch (request.method) {\n case 'signEthereumMessage':\n this.ui.signEthereumMessage({\n request,\n onSuccess,\n onCancel: _cancel,\n });\n break;\n case 'signEthereumTransaction':\n this.ui.signEthereumTransaction({\n request,\n onSuccess,\n onCancel: _cancel,\n });\n break;\n case 'submitEthereumTransaction':\n this.ui.submitEthereumTransaction({\n request,\n onSuccess,\n onCancel: _cancel,\n });\n break;\n case 'ethereumAddressFromSignedMessage':\n this.ui.ethereumAddressFromSignedMessage({\n request,\n onSuccess,\n });\n break;\n default:\n _cancel();\n break;\n }\n }\n}\nexports.WalletLinkRelay = WalletLinkRelay;\nWalletLinkRelay.accountRequestCallbackIds = new Set();\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./Snackbar\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = (() => `.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;transition:opacity .25s;background-color:rgba(10,11,13,.5)}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-backdrop-hidden{opacity:0}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box{display:block;position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);padding:20px;border-radius:8px;background-color:#fff;color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box p{display:block;font-weight:400;font-size:14px;line-height:20px;padding-bottom:12px;color:#5b636e}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box button{appearance:none;border:none;background:none;color:#0052ff;padding:0;text-decoration:none;display:block;font-weight:600;font-size:16px;line-height:24px}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.dark{background-color:#0a0b0d;color:#fff}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.dark button{color:#0052ff}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.light{background-color:#fff;color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.light button{color:#0052ff}`)();\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RedirectDialog = void 0;\nconst clsx_1 = __importDefault(require(\"clsx\"));\nconst preact_1 = require(\"preact\");\nconst cssReset_1 = require(\"../../../../../lib/cssReset\");\nconst Snackbar_1 = require(\"../Snackbar\");\nconst RedirectDialog_css_1 = __importDefault(require(\"./RedirectDialog-css\"));\nclass RedirectDialog {\n constructor() {\n this.root = null;\n }\n attach() {\n const el = document.documentElement;\n this.root = document.createElement('div');\n this.root.className = '-cbwsdk-css-reset';\n el.appendChild(this.root);\n (0, cssReset_1.injectCssReset)();\n }\n present(props) {\n this.render(props);\n }\n clear() {\n this.render(null);\n }\n render(props) {\n if (!this.root)\n return;\n (0, preact_1.render)(null, this.root);\n if (!props)\n return;\n (0, preact_1.render)((0, preact_1.h)(RedirectDialogContent, Object.assign({}, props, { onDismiss: () => {\n this.clear();\n } })), this.root);\n }\n}\nexports.RedirectDialog = RedirectDialog;\nconst RedirectDialogContent = ({ title, buttonText, darkMode, onButtonClick, onDismiss }) => {\n const theme = darkMode ? 'dark' : 'light';\n return ((0, preact_1.h)(Snackbar_1.SnackbarContainer, { darkMode: darkMode },\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-redirect-dialog\" },\n (0, preact_1.h)(\"style\", null, RedirectDialog_css_1.default),\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-redirect-dialog-backdrop\", onClick: onDismiss }),\n (0, preact_1.h)(\"div\", { class: (0, clsx_1.default)('-cbwsdk-redirect-dialog-box', theme) },\n (0, preact_1.h)(\"p\", null, title),\n (0, preact_1.h)(\"button\", { onClick: onButtonClick }, buttonText)))));\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MobileRelayUI = void 0;\nconst RedirectDialog_1 = require(\"../walletlink/ui/components/RedirectDialog/RedirectDialog\");\n// TODO: Implement & present in-page wallet picker instead of navigating to www.coinbase.com/connect-dapp\nclass MobileRelayUI {\n constructor(options) {\n this.attached = false;\n this.darkMode = false;\n this.openedWindow = null;\n this.redirectDialog = new RedirectDialog_1.RedirectDialog();\n this.darkMode = options.darkMode;\n }\n attach() {\n if (this.attached) {\n throw new Error('Coinbase Wallet SDK UI is already attached');\n }\n this.redirectDialog.attach();\n this.attached = true;\n }\n setConnected(_connected) { } // no-op\n closeOpenedWindow() {\n var _a;\n (_a = this.openedWindow) === null || _a === void 0 ? void 0 : _a.close();\n this.openedWindow = null;\n }\n redirectToCoinbaseWallet(walletLinkUrl) {\n const url = new URL('https://go.cb-w.com/walletlink');\n url.searchParams.append('redirect_url', window.location.href);\n if (walletLinkUrl) {\n url.searchParams.append('wl_url', walletLinkUrl);\n }\n this.openedWindow = window.open(url.href, 'cbw-opener');\n if (this.openedWindow) {\n setTimeout(() => this.closeOpenedWindow(), 5000);\n }\n }\n openCoinbaseWalletDeeplink(walletLinkUrl) {\n this.redirectDialog.present({\n title: 'Redirecting to Coinbase Wallet...',\n buttonText: 'Open',\n darkMode: this.darkMode,\n onButtonClick: () => {\n this.redirectToCoinbaseWallet(walletLinkUrl);\n },\n });\n setTimeout(() => {\n this.redirectToCoinbaseWallet(walletLinkUrl);\n }, 99);\n }\n showConnecting(_options) {\n // it uses the return callback to clear the dialog\n return () => {\n this.closeOpenedWindow();\n this.redirectDialog.clear();\n };\n }\n hideRequestEthereumAccounts() {\n this.closeOpenedWindow();\n this.redirectDialog.clear();\n }\n // -- Methods below are not needed for mobile\n requestEthereumAccounts() { } // no-op\n addEthereumChain() { } // no-op\n watchAsset() { } // no-op\n selectProvider() { } // no-op\n switchEthereumChain() { } // no-op\n signEthereumMessage() { } // no-op\n signEthereumTransaction() { } // no-op\n submitEthereumTransaction() { } // no-op\n ethereumAddressFromSignedMessage() { } // no-op\n reloadUI() { } // no-op\n setStandalone() { } // no-op\n setConnectDisabled() { } // no-op\n inlineAccountsResponse() {\n return false;\n }\n inlineAddEthereumChain() {\n return false;\n }\n inlineWatchAsset() {\n return false;\n }\n inlineSwitchEthereumChain() {\n return false;\n }\n isStandalone() {\n return false;\n }\n}\nexports.MobileRelayUI = MobileRelayUI;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MobileRelay = void 0;\nconst util_1 = require(\"../../core/util\");\nconst WalletLinkRelay_1 = require(\"../walletlink/WalletLinkRelay\");\nconst MobileRelayUI_1 = require(\"./MobileRelayUI\");\nclass MobileRelay extends WalletLinkRelay_1.WalletLinkRelay {\n constructor(options) {\n var _a;\n super(options);\n this._enableMobileWalletLink = (_a = options.enableMobileWalletLink) !== null && _a !== void 0 ? _a : false;\n }\n // override\n requestEthereumAccounts() {\n if (this._enableMobileWalletLink) {\n return super.requestEthereumAccounts();\n }\n // TODO: Implement & present in-page wallet picker instead of navigating to www.coinbase.com/connect-dapp\n return {\n promise: new Promise(() => {\n const location = (0, util_1.getLocation)();\n location.href = `https://go.cb-w.com/dapp?cb_url=${encodeURIComponent(location.href)}`;\n }),\n cancel: () => { },\n };\n }\n // override\n publishWeb3RequestEvent(id, request) {\n super.publishWeb3RequestEvent(id, request);\n if (!(this._enableMobileWalletLink && this.ui instanceof MobileRelayUI_1.MobileRelayUI))\n return;\n let navigatedToCBW = false;\n // For mobile relay requests, open the Coinbase Wallet app\n switch (request.method) {\n case 'requestEthereumAccounts':\n case 'connectAndSignIn':\n navigatedToCBW = true;\n this.ui.openCoinbaseWalletDeeplink(this.getQRCodeUrl());\n break;\n case 'switchEthereumChain':\n // switchEthereumChain doesn't need to open the app\n return;\n default:\n navigatedToCBW = true;\n this.ui.openCoinbaseWalletDeeplink();\n break;\n }\n // If the user navigated to the Coinbase Wallet app, then we need to check\n // for unseen events once the user returns to the browser\n if (navigatedToCBW) {\n window.addEventListener('blur', () => {\n window.addEventListener('focus', () => {\n this.connection.checkUnseenEvents();\n }, { once: true });\n }, { once: true });\n }\n }\n // override\n handleWeb3ResponseMessage(message) {\n super.handleWeb3ResponseMessage(message);\n if (this._enableMobileWalletLink && this.ui instanceof MobileRelayUI_1.MobileRelayUI) {\n this.ui.closeOpenedWindow();\n }\n }\n connectAndSignIn(params) {\n if (!this._enableMobileWalletLink) {\n throw new Error('connectAndSignIn is supported only when enableMobileWalletLink is on');\n }\n return this.sendRequest({\n method: 'connectAndSignIn',\n params: {\n appName: this.appName,\n appLogoUrl: this.appLogoUrl,\n domain: window.location.hostname,\n aud: window.location.href,\n version: '1',\n type: 'eip4361',\n nonce: params.nonce,\n iat: new Date().toISOString(),\n chainId: `eip155:${this.dappDefaultChain}`,\n statement: params.statement,\n resources: params.resources,\n },\n });\n }\n}\nexports.MobileRelay = MobileRelay;\n","module.exports = require('events').EventEmitter;\n","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\nvar _require2 = require('util'),\n inspect = _require2.inspect;\nvar custom = inspect && inspect.custom || 'inspect';\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\nmodule.exports = /*#__PURE__*/function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) ret += s + p.data;\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n }\n\n // Consumes a specified amount of bytes or characters from the buffered data.\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n }\n\n // Consumes a specified amount of characters from the buffered data.\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Consumes a specified amount of bytes from the buffered data.\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Make sure the linked list only shows the minimal necessary information.\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread(_objectSpread({}, options), {}, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n return BufferList;\n}();","'use strict';\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n return this;\n}\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n return Math.floor(hwm);\n }\n\n // Default value\n return state.objectMode ? 16 : 16 * 1024;\n}\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\nmodule.exports = Writable;\n\n/* */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n\n/**/\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\nvar Buffer = require('buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\nvar destroyImpl = require('./internal/streams/destroy');\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nrequire('inherits')(Writable, Stream);\nfunction nop() {}\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'finish' (and potentially 'end')\n this.autoDestroy = !!options.autoDestroy;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex);\n\n // legacy.\n this.writable = true;\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END();\n // TODO: defer error events consistently everywhere, not just the cb\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n return true;\n}\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n return ret;\n}\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n if (entry === null) state.lastBufferedRequest = null;\n }\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\nWritable.prototype._writev = null;\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n errorOrDestroy(stream, err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n return need;\n}\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n\n // reuse the free corkReq.\n state.corkedRequestsFree.next = corkReq;\n}\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/**/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n};\n/**/\n\nmodule.exports = Duplex;\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\nrequire('inherits')(Duplex, Readable);\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n process.nextTick(onEndNT, this);\n}\nfunction onEndNT(self) {\n self.end();\n}\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n callback.apply(this, args);\n };\n}\nfunction noop() {}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n var writableEnded = stream._writableState && stream._writableState.finished;\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n var onclose = function onclose() {\n var err;\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\nmodule.exports = eos;","'use strict';\n\nvar _Object$setPrototypeO;\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar finished = require('./end-of-stream');\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n if (resolve !== null) {\n var data = iter[kStream].read();\n // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n next: function next() {\n var _this = this;\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n if (error !== null) {\n return Promise.reject(error);\n }\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n }\n\n // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n var lastPromise = this[kLastPromise];\n var promise;\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n promise = new Promise(this[kHandlePromise]);\n }\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject];\n // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n iterator[kError] = err;\n return;\n }\n var resolve = iterator[kLastResolve];\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\nmodule.exports = createReadableStreamAsyncIterator;","module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nmodule.exports = Readable;\n\n/**/\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n\n/**/\nvar EE = require('events').EventEmitter;\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\nvar Buffer = require('buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\nvar debugUtil = require('util');\nvar debug;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\nvar BufferList = require('./internal/streams/buffer_list');\nvar destroyImpl = require('./internal/streams/destroy');\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;\n\n// Lazy loaded to improve the startup performance.\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\nrequire('inherits')(Readable, Stream);\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'end' (and potentially 'finish')\n this.autoDestroy = !!options.autoDestroy;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options);\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex);\n\n // legacy\n this.readable = true;\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n Stream.call(this);\n}\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n }\n\n // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n return er;\n}\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder;\n // If setEncoding(null), decoder.encoding equals utf8\n this._readableState.encoding = this._readableState.decoder.encoding;\n\n // Iterate over current buffer to convert already stored Buffers:\n var p = this._readableState.buffer.head;\n var content = '';\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n this._readableState.buffer.clear();\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n};\n\n// Don't raise the hwm > 1GB\nvar MAX_HWM = 0x40000000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n }\n\n // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n return dest;\n};\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n for (var i = 0; i < len; i++) dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0;\n\n // Try start flowing on next tick if stream isn't explicitly paused\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true;\n\n // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n state.paused = false;\n return this;\n};\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n if (!state.reading) {\n stream.read(0);\n }\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n this._readableState.paused = true;\n return this;\n};\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null);\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n return this;\n};\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n return createReadableStreamAsyncIterator(this);\n };\n}\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n});\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length);\n\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n return from(Readable, iterable, opts);\n };\n}\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\nvar Duplex = require('./_stream_duplex');\nrequire('inherits')(Transform, Duplex);\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null)\n // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\nfunction prefinish() {\n var _this = this;\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null)\n // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n'use strict';\n\nmodule.exports = PassThrough;\nvar Transform = require('./_stream_transform');\nrequire('inherits')(PassThrough, Transform);\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nvar eos;\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\nvar _require$codes = require('../../../errors').codes,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = require('./end-of-stream');\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true;\n\n // request.destroy just do .end - .abort is what we want\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\nfunction call(fn) {\n fn();\n}\nfunction pipe(from, to) {\n return from.pipe(to);\n}\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\nmodule.exports = pipeline;","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\nexports.finished = require('./lib/internal/streams/end-of-stream.js');\nexports.pipeline = require('./lib/internal/streams/pipeline.js');\n","const { Transform } = require('readable-stream')\n\nmodule.exports = (KeccakState) => class Keccak extends Transform {\n constructor (rate, capacity, delimitedSuffix, hashBitLength, options) {\n super(options)\n\n this._rate = rate\n this._capacity = capacity\n this._delimitedSuffix = delimitedSuffix\n this._hashBitLength = hashBitLength\n this._options = options\n\n this._state = new KeccakState()\n this._state.initialize(rate, capacity)\n this._finalized = false\n }\n\n _transform (chunk, encoding, callback) {\n let error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n }\n\n _flush (callback) {\n let error = null\n try {\n this.push(this.digest())\n } catch (err) {\n error = err\n }\n\n callback(error)\n }\n\n update (data, encoding) {\n if (!Buffer.isBuffer(data) && typeof data !== 'string') throw new TypeError('Data must be a string or a buffer')\n if (this._finalized) throw new Error('Digest already called')\n if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)\n\n this._state.absorb(data)\n\n return this\n }\n\n digest (encoding) {\n if (this._finalized) throw new Error('Digest already called')\n this._finalized = true\n\n if (this._delimitedSuffix) this._state.absorbLastFewBits(this._delimitedSuffix)\n let digest = this._state.squeeze(this._hashBitLength / 8)\n if (encoding !== undefined) digest = digest.toString(encoding)\n\n this._resetState()\n\n return digest\n }\n\n // remove result from memory\n _resetState () {\n this._state.initialize(this._rate, this._capacity)\n return this\n }\n\n // because sometimes we need hash right now and little later\n _clone () {\n const clone = new Keccak(this._rate, this._capacity, this._delimitedSuffix, this._hashBitLength, this._options)\n this._state.copy(clone._state)\n clone._finalized = this._finalized\n\n return clone\n }\n}\n","const { Transform } = require('readable-stream')\n\nmodule.exports = (KeccakState) => class Shake extends Transform {\n constructor (rate, capacity, delimitedSuffix, options) {\n super(options)\n\n this._rate = rate\n this._capacity = capacity\n this._delimitedSuffix = delimitedSuffix\n this._options = options\n\n this._state = new KeccakState()\n this._state.initialize(rate, capacity)\n this._finalized = false\n }\n\n _transform (chunk, encoding, callback) {\n let error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n }\n\n _flush () {}\n\n _read (size) {\n this.push(this.squeeze(size))\n }\n\n update (data, encoding) {\n if (!Buffer.isBuffer(data) && typeof data !== 'string') throw new TypeError('Data must be a string or a buffer')\n if (this._finalized) throw new Error('Squeeze already called')\n if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)\n\n this._state.absorb(data)\n\n return this\n }\n\n squeeze (dataByteLength, encoding) {\n if (!this._finalized) {\n this._finalized = true\n this._state.absorbLastFewBits(this._delimitedSuffix)\n }\n\n let data = this._state.squeeze(dataByteLength)\n if (encoding !== undefined) data = data.toString(encoding)\n\n return data\n }\n\n _resetState () {\n this._state.initialize(this._rate, this._capacity)\n return this\n }\n\n _clone () {\n const clone = new Shake(this._rate, this._capacity, this._delimitedSuffix, this._options)\n this._state.copy(clone._state)\n clone._finalized = this._finalized\n\n return clone\n }\n}\n","const createKeccak = require('./keccak')\nconst createShake = require('./shake')\n\nmodule.exports = function (KeccakState) {\n const Keccak = createKeccak(KeccakState)\n const Shake = createShake(KeccakState)\n\n return function (algorithm, options) {\n const hash = typeof algorithm === 'string' ? algorithm.toLowerCase() : algorithm\n switch (hash) {\n case 'keccak224': return new Keccak(1152, 448, null, 224, options)\n case 'keccak256': return new Keccak(1088, 512, null, 256, options)\n case 'keccak384': return new Keccak(832, 768, null, 384, options)\n case 'keccak512': return new Keccak(576, 1024, null, 512, options)\n\n case 'sha3-224': return new Keccak(1152, 448, 0x06, 224, options)\n case 'sha3-256': return new Keccak(1088, 512, 0x06, 256, options)\n case 'sha3-384': return new Keccak(832, 768, 0x06, 384, options)\n case 'sha3-512': return new Keccak(576, 1024, 0x06, 512, options)\n\n case 'shake128': return new Shake(1344, 256, 0x1f, options)\n case 'shake256': return new Shake(1088, 512, 0x1f, options)\n\n default: throw new Error('Invald algorithm: ' + algorithm)\n }\n }\n}\n","const P1600_ROUND_CONSTANTS = [1, 0, 32898, 0, 32906, 2147483648, 2147516416, 2147483648, 32907, 0, 2147483649, 0, 2147516545, 2147483648, 32777, 2147483648, 138, 0, 136, 0, 2147516425, 0, 2147483658, 0, 2147516555, 0, 139, 2147483648, 32905, 2147483648, 32771, 2147483648, 32770, 2147483648, 128, 2147483648, 32778, 0, 2147483658, 2147483648, 2147516545, 2147483648, 32896, 2147483648, 2147483649, 0, 2147516424, 2147483648]\n\nexports.p1600 = function (s) {\n for (let round = 0; round < 24; ++round) {\n // theta\n const lo0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40]\n const hi0 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41]\n const lo1 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42]\n const hi1 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43]\n const lo2 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44]\n const hi2 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45]\n const lo3 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46]\n const hi3 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47]\n const lo4 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48]\n const hi4 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49]\n\n let lo = lo4 ^ (lo1 << 1 | hi1 >>> 31)\n let hi = hi4 ^ (hi1 << 1 | lo1 >>> 31)\n const t1slo0 = s[0] ^ lo\n const t1shi0 = s[1] ^ hi\n const t1slo5 = s[10] ^ lo\n const t1shi5 = s[11] ^ hi\n const t1slo10 = s[20] ^ lo\n const t1shi10 = s[21] ^ hi\n const t1slo15 = s[30] ^ lo\n const t1shi15 = s[31] ^ hi\n const t1slo20 = s[40] ^ lo\n const t1shi20 = s[41] ^ hi\n lo = lo0 ^ (lo2 << 1 | hi2 >>> 31)\n hi = hi0 ^ (hi2 << 1 | lo2 >>> 31)\n const t1slo1 = s[2] ^ lo\n const t1shi1 = s[3] ^ hi\n const t1slo6 = s[12] ^ lo\n const t1shi6 = s[13] ^ hi\n const t1slo11 = s[22] ^ lo\n const t1shi11 = s[23] ^ hi\n const t1slo16 = s[32] ^ lo\n const t1shi16 = s[33] ^ hi\n const t1slo21 = s[42] ^ lo\n const t1shi21 = s[43] ^ hi\n lo = lo1 ^ (lo3 << 1 | hi3 >>> 31)\n hi = hi1 ^ (hi3 << 1 | lo3 >>> 31)\n const t1slo2 = s[4] ^ lo\n const t1shi2 = s[5] ^ hi\n const t1slo7 = s[14] ^ lo\n const t1shi7 = s[15] ^ hi\n const t1slo12 = s[24] ^ lo\n const t1shi12 = s[25] ^ hi\n const t1slo17 = s[34] ^ lo\n const t1shi17 = s[35] ^ hi\n const t1slo22 = s[44] ^ lo\n const t1shi22 = s[45] ^ hi\n lo = lo2 ^ (lo4 << 1 | hi4 >>> 31)\n hi = hi2 ^ (hi4 << 1 | lo4 >>> 31)\n const t1slo3 = s[6] ^ lo\n const t1shi3 = s[7] ^ hi\n const t1slo8 = s[16] ^ lo\n const t1shi8 = s[17] ^ hi\n const t1slo13 = s[26] ^ lo\n const t1shi13 = s[27] ^ hi\n const t1slo18 = s[36] ^ lo\n const t1shi18 = s[37] ^ hi\n const t1slo23 = s[46] ^ lo\n const t1shi23 = s[47] ^ hi\n lo = lo3 ^ (lo0 << 1 | hi0 >>> 31)\n hi = hi3 ^ (hi0 << 1 | lo0 >>> 31)\n const t1slo4 = s[8] ^ lo\n const t1shi4 = s[9] ^ hi\n const t1slo9 = s[18] ^ lo\n const t1shi9 = s[19] ^ hi\n const t1slo14 = s[28] ^ lo\n const t1shi14 = s[29] ^ hi\n const t1slo19 = s[38] ^ lo\n const t1shi19 = s[39] ^ hi\n const t1slo24 = s[48] ^ lo\n const t1shi24 = s[49] ^ hi\n\n // rho & pi\n const t2slo0 = t1slo0\n const t2shi0 = t1shi0\n const t2slo16 = (t1shi5 << 4 | t1slo5 >>> 28)\n const t2shi16 = (t1slo5 << 4 | t1shi5 >>> 28)\n const t2slo7 = (t1slo10 << 3 | t1shi10 >>> 29)\n const t2shi7 = (t1shi10 << 3 | t1slo10 >>> 29)\n const t2slo23 = (t1shi15 << 9 | t1slo15 >>> 23)\n const t2shi23 = (t1slo15 << 9 | t1shi15 >>> 23)\n const t2slo14 = (t1slo20 << 18 | t1shi20 >>> 14)\n const t2shi14 = (t1shi20 << 18 | t1slo20 >>> 14)\n const t2slo10 = (t1slo1 << 1 | t1shi1 >>> 31)\n const t2shi10 = (t1shi1 << 1 | t1slo1 >>> 31)\n const t2slo1 = (t1shi6 << 12 | t1slo6 >>> 20)\n const t2shi1 = (t1slo6 << 12 | t1shi6 >>> 20)\n const t2slo17 = (t1slo11 << 10 | t1shi11 >>> 22)\n const t2shi17 = (t1shi11 << 10 | t1slo11 >>> 22)\n const t2slo8 = (t1shi16 << 13 | t1slo16 >>> 19)\n const t2shi8 = (t1slo16 << 13 | t1shi16 >>> 19)\n const t2slo24 = (t1slo21 << 2 | t1shi21 >>> 30)\n const t2shi24 = (t1shi21 << 2 | t1slo21 >>> 30)\n const t2slo20 = (t1shi2 << 30 | t1slo2 >>> 2)\n const t2shi20 = (t1slo2 << 30 | t1shi2 >>> 2)\n const t2slo11 = (t1slo7 << 6 | t1shi7 >>> 26)\n const t2shi11 = (t1shi7 << 6 | t1slo7 >>> 26)\n const t2slo2 = (t1shi12 << 11 | t1slo12 >>> 21)\n const t2shi2 = (t1slo12 << 11 | t1shi12 >>> 21)\n const t2slo18 = (t1slo17 << 15 | t1shi17 >>> 17)\n const t2shi18 = (t1shi17 << 15 | t1slo17 >>> 17)\n const t2slo9 = (t1shi22 << 29 | t1slo22 >>> 3)\n const t2shi9 = (t1slo22 << 29 | t1shi22 >>> 3)\n const t2slo5 = (t1slo3 << 28 | t1shi3 >>> 4)\n const t2shi5 = (t1shi3 << 28 | t1slo3 >>> 4)\n const t2slo21 = (t1shi8 << 23 | t1slo8 >>> 9)\n const t2shi21 = (t1slo8 << 23 | t1shi8 >>> 9)\n const t2slo12 = (t1slo13 << 25 | t1shi13 >>> 7)\n const t2shi12 = (t1shi13 << 25 | t1slo13 >>> 7)\n const t2slo3 = (t1slo18 << 21 | t1shi18 >>> 11)\n const t2shi3 = (t1shi18 << 21 | t1slo18 >>> 11)\n const t2slo19 = (t1shi23 << 24 | t1slo23 >>> 8)\n const t2shi19 = (t1slo23 << 24 | t1shi23 >>> 8)\n const t2slo15 = (t1slo4 << 27 | t1shi4 >>> 5)\n const t2shi15 = (t1shi4 << 27 | t1slo4 >>> 5)\n const t2slo6 = (t1slo9 << 20 | t1shi9 >>> 12)\n const t2shi6 = (t1shi9 << 20 | t1slo9 >>> 12)\n const t2slo22 = (t1shi14 << 7 | t1slo14 >>> 25)\n const t2shi22 = (t1slo14 << 7 | t1shi14 >>> 25)\n const t2slo13 = (t1slo19 << 8 | t1shi19 >>> 24)\n const t2shi13 = (t1shi19 << 8 | t1slo19 >>> 24)\n const t2slo4 = (t1slo24 << 14 | t1shi24 >>> 18)\n const t2shi4 = (t1shi24 << 14 | t1slo24 >>> 18)\n\n // chi\n s[0] = t2slo0 ^ (~t2slo1 & t2slo2)\n s[1] = t2shi0 ^ (~t2shi1 & t2shi2)\n s[10] = t2slo5 ^ (~t2slo6 & t2slo7)\n s[11] = t2shi5 ^ (~t2shi6 & t2shi7)\n s[20] = t2slo10 ^ (~t2slo11 & t2slo12)\n s[21] = t2shi10 ^ (~t2shi11 & t2shi12)\n s[30] = t2slo15 ^ (~t2slo16 & t2slo17)\n s[31] = t2shi15 ^ (~t2shi16 & t2shi17)\n s[40] = t2slo20 ^ (~t2slo21 & t2slo22)\n s[41] = t2shi20 ^ (~t2shi21 & t2shi22)\n s[2] = t2slo1 ^ (~t2slo2 & t2slo3)\n s[3] = t2shi1 ^ (~t2shi2 & t2shi3)\n s[12] = t2slo6 ^ (~t2slo7 & t2slo8)\n s[13] = t2shi6 ^ (~t2shi7 & t2shi8)\n s[22] = t2slo11 ^ (~t2slo12 & t2slo13)\n s[23] = t2shi11 ^ (~t2shi12 & t2shi13)\n s[32] = t2slo16 ^ (~t2slo17 & t2slo18)\n s[33] = t2shi16 ^ (~t2shi17 & t2shi18)\n s[42] = t2slo21 ^ (~t2slo22 & t2slo23)\n s[43] = t2shi21 ^ (~t2shi22 & t2shi23)\n s[4] = t2slo2 ^ (~t2slo3 & t2slo4)\n s[5] = t2shi2 ^ (~t2shi3 & t2shi4)\n s[14] = t2slo7 ^ (~t2slo8 & t2slo9)\n s[15] = t2shi7 ^ (~t2shi8 & t2shi9)\n s[24] = t2slo12 ^ (~t2slo13 & t2slo14)\n s[25] = t2shi12 ^ (~t2shi13 & t2shi14)\n s[34] = t2slo17 ^ (~t2slo18 & t2slo19)\n s[35] = t2shi17 ^ (~t2shi18 & t2shi19)\n s[44] = t2slo22 ^ (~t2slo23 & t2slo24)\n s[45] = t2shi22 ^ (~t2shi23 & t2shi24)\n s[6] = t2slo3 ^ (~t2slo4 & t2slo0)\n s[7] = t2shi3 ^ (~t2shi4 & t2shi0)\n s[16] = t2slo8 ^ (~t2slo9 & t2slo5)\n s[17] = t2shi8 ^ (~t2shi9 & t2shi5)\n s[26] = t2slo13 ^ (~t2slo14 & t2slo10)\n s[27] = t2shi13 ^ (~t2shi14 & t2shi10)\n s[36] = t2slo18 ^ (~t2slo19 & t2slo15)\n s[37] = t2shi18 ^ (~t2shi19 & t2shi15)\n s[46] = t2slo23 ^ (~t2slo24 & t2slo20)\n s[47] = t2shi23 ^ (~t2shi24 & t2shi20)\n s[8] = t2slo4 ^ (~t2slo0 & t2slo1)\n s[9] = t2shi4 ^ (~t2shi0 & t2shi1)\n s[18] = t2slo9 ^ (~t2slo5 & t2slo6)\n s[19] = t2shi9 ^ (~t2shi5 & t2shi6)\n s[28] = t2slo14 ^ (~t2slo10 & t2slo11)\n s[29] = t2shi14 ^ (~t2shi10 & t2shi11)\n s[38] = t2slo19 ^ (~t2slo15 & t2slo16)\n s[39] = t2shi19 ^ (~t2shi15 & t2shi16)\n s[48] = t2slo24 ^ (~t2slo20 & t2slo21)\n s[49] = t2shi24 ^ (~t2shi20 & t2shi21)\n\n // iota\n s[0] ^= P1600_ROUND_CONSTANTS[round * 2]\n s[1] ^= P1600_ROUND_CONSTANTS[round * 2 + 1]\n }\n}\n","const keccakState = require('./keccak-state-unroll')\n\nfunction Keccak () {\n // much faster than `new Array(50)`\n this.state = [\n 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0\n ]\n\n this.blockSize = null\n this.count = 0\n this.squeezing = false\n}\n\nKeccak.prototype.initialize = function (rate, capacity) {\n for (let i = 0; i < 50; ++i) this.state[i] = 0\n this.blockSize = rate / 8\n this.count = 0\n this.squeezing = false\n}\n\nKeccak.prototype.absorb = function (data) {\n for (let i = 0; i < data.length; ++i) {\n this.state[~~(this.count / 4)] ^= data[i] << (8 * (this.count % 4))\n this.count += 1\n if (this.count === this.blockSize) {\n keccakState.p1600(this.state)\n this.count = 0\n }\n }\n}\n\nKeccak.prototype.absorbLastFewBits = function (bits) {\n this.state[~~(this.count / 4)] ^= bits << (8 * (this.count % 4))\n if ((bits & 0x80) !== 0 && this.count === (this.blockSize - 1)) keccakState.p1600(this.state)\n this.state[~~((this.blockSize - 1) / 4)] ^= 0x80 << (8 * ((this.blockSize - 1) % 4))\n keccakState.p1600(this.state)\n this.count = 0\n this.squeezing = true\n}\n\nKeccak.prototype.squeeze = function (length) {\n if (!this.squeezing) this.absorbLastFewBits(0x01)\n\n const output = Buffer.alloc(length)\n for (let i = 0; i < length; ++i) {\n output[i] = (this.state[~~(this.count / 4)] >>> (8 * (this.count % 4))) & 0xff\n this.count += 1\n if (this.count === this.blockSize) {\n keccakState.p1600(this.state)\n this.count = 0\n }\n }\n\n return output\n}\n\nKeccak.prototype.copy = function (dest) {\n for (let i = 0; i < 50; ++i) dest.state[i] = this.state[i]\n dest.blockSize = this.blockSize\n dest.count = this.count\n dest.squeezing = this.squeezing\n}\n\nmodule.exports = Keccak\n","module.exports = require('./lib/api')(require('./lib/keccak'))\n","// Extracted from https://github.com/ethereumjs/ethereumjs-util and stripped out irrelevant code\n// Original code licensed under the Mozilla Public License Version 2.0\n\nconst createKeccakHash = require('keccak/js')\nconst BN = require('bn.js')\n\n/**\n * Returns a buffer filled with 0s\n * @method zeros\n * @param {Number} bytes the number of bytes the buffer should be\n * @return {Buffer}\n */\nfunction zeros (bytes) {\n return Buffer.allocUnsafe(bytes).fill(0)\n}\n\n/**\n * Left Pads an `Array` or `Buffer` with leading zeros till it has `length` bytes.\n * Or it truncates the beginning if it exceeds.\n * @method setLength\n * @param {Buffer|Array} msg the value to pad\n * @param {Number} length the number of bytes the output should be\n * @param {Boolean} [right=false] whether to start padding form the left or right\n * @return {Buffer|Array}\n */\nfunction setLength (msg, length, right) {\n const buf = zeros(length)\n msg = toBuffer(msg)\n if (right) {\n if (msg.length < length) {\n msg.copy(buf)\n return buf\n }\n return msg.slice(0, length)\n } else {\n if (msg.length < length) {\n msg.copy(buf, length - msg.length)\n return buf\n }\n return msg.slice(-length)\n }\n}\n\n/**\n * Right Pads an `Array` or `Buffer` with leading zeros till it has `length` bytes.\n * Or it truncates the beginning if it exceeds.\n * @param {Buffer|Array} msg the value to pad\n * @param {Number} length the number of bytes the output should be\n * @return {Buffer|Array}\n */\nfunction setLengthRight (msg, length) {\n return setLength(msg, length, true)\n}\n\n/**\n * Attempts to turn a value into a `Buffer`. As input it supports `Buffer`, `String`, `Number`, null/undefined, `BN` and other objects with a `toArray()` method.\n * @param {*} v the value\n */\nfunction toBuffer (v) {\n if (!Buffer.isBuffer(v)) {\n if (Array.isArray(v)) {\n v = Buffer.from(v)\n } else if (typeof v === 'string') {\n if (isHexString(v)) {\n v = Buffer.from(padToEven(stripHexPrefix(v)), 'hex')\n } else {\n v = Buffer.from(v)\n }\n } else if (typeof v === 'number') {\n v = intToBuffer(v)\n } else if (v === null || v === undefined) {\n v = Buffer.allocUnsafe(0)\n } else if (BN.isBN(v)) {\n v = v.toArrayLike(Buffer)\n } else if (v.toArray) {\n // converts a BN to a Buffer\n v = Buffer.from(v.toArray())\n } else {\n throw new Error('invalid type')\n }\n }\n return v\n}\n\n/**\n * Converts a `Buffer` into a hex `String`\n * @param {Buffer} buf\n * @return {String}\n */\nfunction bufferToHex (buf) {\n buf = toBuffer(buf)\n return '0x' + buf.toString('hex')\n}\n\n/**\n * Creates Keccak hash of the input\n * @param {Buffer|Array|String|Number} a the input data\n * @param {Number} [bits=256] the Keccak width\n * @return {Buffer}\n */\nfunction keccak (a, bits) {\n a = toBuffer(a)\n if (!bits) bits = 256\n\n return createKeccakHash('keccak' + bits).update(a).digest()\n}\n\nfunction padToEven (str) {\n return str.length % 2 ? '0' + str : str\n}\n\nfunction isHexString (str) {\n return typeof str === 'string' && str.match(/^0x[0-9A-Fa-f]*$/)\n}\n\nfunction stripHexPrefix (str) {\n if (typeof str === 'string' && str.startsWith('0x')) {\n return str.slice(2)\n }\n return str\n}\n\nmodule.exports = {\n zeros,\n setLength,\n setLengthRight,\n isHexString,\n stripHexPrefix,\n toBuffer,\n bufferToHex,\n keccak\n}\n","// Extracted from https://github.com/ethereumjs/ethereumjs-abi and stripped out irrelevant code\n// Original code licensed under the MIT License - Copyright (c) 2015 Alex Beregszaszi\n\nconst util = require('./util')\nconst BN = require('bn.js')\n\n// Convert from short to canonical names\n// FIXME: optimise or make this nicer?\nfunction elementaryName (name) {\n if (name.startsWith('int[')) {\n return 'int256' + name.slice(3)\n } else if (name === 'int') {\n return 'int256'\n } else if (name.startsWith('uint[')) {\n return 'uint256' + name.slice(4)\n } else if (name === 'uint') {\n return 'uint256'\n } else if (name.startsWith('fixed[')) {\n return 'fixed128x128' + name.slice(5)\n } else if (name === 'fixed') {\n return 'fixed128x128'\n } else if (name.startsWith('ufixed[')) {\n return 'ufixed128x128' + name.slice(6)\n } else if (name === 'ufixed') {\n return 'ufixed128x128'\n }\n return name\n}\n\n// Parse N from type\nfunction parseTypeN (type) {\n return parseInt(/^\\D+(\\d+)$/.exec(type)[1], 10)\n}\n\n// Parse N,M from typex\nfunction parseTypeNxM (type) {\n var tmp = /^\\D+(\\d+)x(\\d+)$/.exec(type)\n return [ parseInt(tmp[1], 10), parseInt(tmp[2], 10) ]\n}\n\n// Parse N in type[] where \"type\" can itself be an array type.\nfunction parseTypeArray (type) {\n var tmp = type.match(/(.*)\\[(.*?)\\]$/)\n if (tmp) {\n return tmp[2] === '' ? 'dynamic' : parseInt(tmp[2], 10)\n }\n return null\n}\n\nfunction parseNumber (arg) {\n var type = typeof arg\n if (type === 'string') {\n if (util.isHexString(arg)) {\n return new BN(util.stripHexPrefix(arg), 16)\n } else {\n return new BN(arg, 10)\n }\n } else if (type === 'number') {\n return new BN(arg)\n } else if (arg.toArray) {\n // assume this is a BN for the moment, replace with BN.isBN soon\n return arg\n } else {\n throw new Error('Argument is not a number')\n }\n}\n\n// Encodes a single item (can be dynamic array)\n// @returns: Buffer\nfunction encodeSingle (type, arg) {\n var size, num, ret, i\n\n if (type === 'address') {\n return encodeSingle('uint160', parseNumber(arg))\n } else if (type === 'bool') {\n return encodeSingle('uint8', arg ? 1 : 0)\n } else if (type === 'string') {\n return encodeSingle('bytes', new Buffer(arg, 'utf8'))\n } else if (isArray(type)) {\n // this part handles fixed-length ([2]) and variable length ([]) arrays\n // NOTE: we catch here all calls to arrays, that simplifies the rest\n if (typeof arg.length === 'undefined') {\n throw new Error('Not an array?')\n }\n size = parseTypeArray(type)\n if (size !== 'dynamic' && size !== 0 && arg.length > size) {\n throw new Error('Elements exceed array size: ' + size)\n }\n ret = []\n type = type.slice(0, type.lastIndexOf('['))\n if (typeof arg === 'string') {\n arg = JSON.parse(arg)\n }\n for (i in arg) {\n ret.push(encodeSingle(type, arg[i]))\n }\n if (size === 'dynamic') {\n var length = encodeSingle('uint256', arg.length)\n ret.unshift(length)\n }\n return Buffer.concat(ret)\n } else if (type === 'bytes') {\n arg = new Buffer(arg)\n\n ret = Buffer.concat([ encodeSingle('uint256', arg.length), arg ])\n\n if ((arg.length % 32) !== 0) {\n ret = Buffer.concat([ ret, util.zeros(32 - (arg.length % 32)) ])\n }\n\n return ret\n } else if (type.startsWith('bytes')) {\n size = parseTypeN(type)\n if (size < 1 || size > 32) {\n throw new Error('Invalid bytes width: ' + size)\n }\n\n return util.setLengthRight(arg, 32)\n } else if (type.startsWith('uint')) {\n size = parseTypeN(type)\n if ((size % 8) || (size < 8) || (size > 256)) {\n throw new Error('Invalid uint width: ' + size)\n }\n\n num = parseNumber(arg)\n if (num.bitLength() > size) {\n throw new Error('Supplied uint exceeds width: ' + size + ' vs ' + num.bitLength())\n }\n\n if (num < 0) {\n throw new Error('Supplied uint is negative')\n }\n\n return num.toArrayLike(Buffer, 'be', 32)\n } else if (type.startsWith('int')) {\n size = parseTypeN(type)\n if ((size % 8) || (size < 8) || (size > 256)) {\n throw new Error('Invalid int width: ' + size)\n }\n\n num = parseNumber(arg)\n if (num.bitLength() > size) {\n throw new Error('Supplied int exceeds width: ' + size + ' vs ' + num.bitLength())\n }\n\n return num.toTwos(256).toArrayLike(Buffer, 'be', 32)\n } else if (type.startsWith('ufixed')) {\n size = parseTypeNxM(type)\n\n num = parseNumber(arg)\n\n if (num < 0) {\n throw new Error('Supplied ufixed is negative')\n }\n\n return encodeSingle('uint256', num.mul(new BN(2).pow(new BN(size[1]))))\n } else if (type.startsWith('fixed')) {\n size = parseTypeNxM(type)\n\n return encodeSingle('int256', parseNumber(arg).mul(new BN(2).pow(new BN(size[1]))))\n }\n\n throw new Error('Unsupported or invalid type: ' + type)\n}\n\n// Is a type dynamic?\nfunction isDynamic (type) {\n // FIXME: handle all types? I don't think anything is missing now\n return (type === 'string') || (type === 'bytes') || (parseTypeArray(type) === 'dynamic')\n}\n\n// Is a type an array?\nfunction isArray (type) {\n return type.lastIndexOf(']') === type.length - 1\n}\n\n// Encode a method/event with arguments\n// @types an array of string type names\n// @args an array of the appropriate values\nfunction rawEncode (types, values) {\n var output = []\n var data = []\n\n var headLength = 32 * types.length\n\n for (var i in types) {\n var type = elementaryName(types[i])\n var value = values[i]\n var cur = encodeSingle(type, value)\n\n // Use the head/tail method for storing dynamic data\n if (isDynamic(type)) {\n output.push(encodeSingle('uint256', headLength))\n data.push(cur)\n headLength += cur.length\n } else {\n output.push(cur)\n }\n }\n\n return Buffer.concat(output.concat(data))\n}\n\nfunction solidityPack (types, values) {\n if (types.length !== values.length) {\n throw new Error('Number of types are not matching the values')\n }\n\n var size, num\n var ret = []\n\n for (var i = 0; i < types.length; i++) {\n var type = elementaryName(types[i])\n var value = values[i]\n\n if (type === 'bytes') {\n ret.push(value)\n } else if (type === 'string') {\n ret.push(new Buffer(value, 'utf8'))\n } else if (type === 'bool') {\n ret.push(new Buffer(value ? '01' : '00', 'hex'))\n } else if (type === 'address') {\n ret.push(util.setLength(value, 20))\n } else if (type.startsWith('bytes')) {\n size = parseTypeN(type)\n if (size < 1 || size > 32) {\n throw new Error('Invalid bytes width: ' + size)\n }\n\n ret.push(util.setLengthRight(value, size))\n } else if (type.startsWith('uint')) {\n size = parseTypeN(type)\n if ((size % 8) || (size < 8) || (size > 256)) {\n throw new Error('Invalid uint width: ' + size)\n }\n\n num = parseNumber(value)\n if (num.bitLength() > size) {\n throw new Error('Supplied uint exceeds width: ' + size + ' vs ' + num.bitLength())\n }\n\n ret.push(num.toArrayLike(Buffer, 'be', size / 8))\n } else if (type.startsWith('int')) {\n size = parseTypeN(type)\n if ((size % 8) || (size < 8) || (size > 256)) {\n throw new Error('Invalid int width: ' + size)\n }\n\n num = parseNumber(value)\n if (num.bitLength() > size) {\n throw new Error('Supplied int exceeds width: ' + size + ' vs ' + num.bitLength())\n }\n\n ret.push(num.toTwos(size).toArrayLike(Buffer, 'be', size / 8))\n } else {\n // FIXME: support all other types\n throw new Error('Unsupported or invalid type: ' + type)\n }\n }\n\n return Buffer.concat(ret)\n}\n\nfunction soliditySHA3 (types, values) {\n return util.keccak(solidityPack(types, values))\n}\n\nmodule.exports = {\n rawEncode,\n solidityPack,\n soliditySHA3\n}\n","const util = require('./util')\nconst abi = require('./abi')\n\nconst TYPED_MESSAGE_SCHEMA = {\n type: 'object',\n properties: {\n types: {\n type: 'object',\n additionalProperties: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n name: {type: 'string'},\n type: {type: 'string'},\n },\n required: ['name', 'type'],\n },\n },\n },\n primaryType: {type: 'string'},\n domain: {type: 'object'},\n message: {type: 'object'},\n },\n required: ['types', 'primaryType', 'domain', 'message'],\n}\n\n/**\n * A collection of utility functions used for signing typed data\n */\nconst TypedDataUtils = {\n /**\n * Encodes an object by encoding and concatenating each of its members\n *\n * @param {string} primaryType - Root type\n * @param {Object} data - Object to encode\n * @param {Object} types - Type definitions\n * @returns {string} - Encoded representation of an object\n */\n encodeData (primaryType, data, types, useV4 = true) {\n const encodedTypes = ['bytes32']\n const encodedValues = [this.hashType(primaryType, types)]\n\n if(useV4) {\n const encodeField = (name, type, value) => {\n if (types[type] !== undefined) {\n return ['bytes32', value == null ?\n '0x0000000000000000000000000000000000000000000000000000000000000000' :\n util.keccak(this.encodeData(type, value, types, useV4))]\n }\n\n if(value === undefined)\n throw new Error(`missing value for field ${name} of type ${type}`)\n\n if (type === 'bytes') {\n return ['bytes32', util.keccak(value)]\n }\n\n if (type === 'string') {\n // convert string to buffer - prevents ethUtil from interpreting strings like '0xabcd' as hex\n if (typeof value === 'string') {\n value = Buffer.from(value, 'utf8')\n }\n return ['bytes32', util.keccak(value)]\n }\n\n if (type.lastIndexOf(']') === type.length - 1) {\n const parsedType = type.slice(0, type.lastIndexOf('['))\n const typeValuePairs = value.map(item =>\n encodeField(name, parsedType, item))\n return ['bytes32', util.keccak(abi.rawEncode(\n typeValuePairs.map(([type]) => type),\n typeValuePairs.map(([, value]) => value),\n ))]\n }\n\n return [type, value]\n }\n\n for (const field of types[primaryType]) {\n const [type, value] = encodeField(field.name, field.type, data[field.name])\n encodedTypes.push(type)\n encodedValues.push(value)\n }\n } else {\n for (const field of types[primaryType]) {\n let value = data[field.name]\n if (value !== undefined) {\n if (field.type === 'bytes') {\n encodedTypes.push('bytes32')\n value = util.keccak(value)\n encodedValues.push(value)\n } else if (field.type === 'string') {\n encodedTypes.push('bytes32')\n // convert string to buffer - prevents ethUtil from interpreting strings like '0xabcd' as hex\n if (typeof value === 'string') {\n value = Buffer.from(value, 'utf8')\n }\n value = util.keccak(value)\n encodedValues.push(value)\n } else if (types[field.type] !== undefined) {\n encodedTypes.push('bytes32')\n value = util.keccak(this.encodeData(field.type, value, types, useV4))\n encodedValues.push(value)\n } else if (field.type.lastIndexOf(']') === field.type.length - 1) {\n throw new Error('Arrays currently unimplemented in encodeData')\n } else {\n encodedTypes.push(field.type)\n encodedValues.push(value)\n }\n }\n }\n }\n\n return abi.rawEncode(encodedTypes, encodedValues)\n },\n\n /**\n * Encodes the type of an object by encoding a comma delimited list of its members\n *\n * @param {string} primaryType - Root type to encode\n * @param {Object} types - Type definitions\n * @returns {string} - Encoded representation of the type of an object\n */\n encodeType (primaryType, types) {\n let result = ''\n let deps = this.findTypeDependencies(primaryType, types).filter(dep => dep !== primaryType)\n deps = [primaryType].concat(deps.sort())\n for (const type of deps) {\n const children = types[type]\n if (!children) {\n throw new Error('No type definition specified: ' + type)\n }\n result += type + '(' + types[type].map(({ name, type }) => type + ' ' + name).join(',') + ')'\n }\n return result\n },\n\n /**\n * Finds all types within a type defintion object\n *\n * @param {string} primaryType - Root type\n * @param {Object} types - Type definitions\n * @param {Array} results - current set of accumulated types\n * @returns {Array} - Set of all types found in the type definition\n */\n findTypeDependencies (primaryType, types, results = []) {\n primaryType = primaryType.match(/^\\w*/)[0]\n if (results.includes(primaryType) || types[primaryType] === undefined) { return results }\n results.push(primaryType)\n for (const field of types[primaryType]) {\n for (const dep of this.findTypeDependencies(field.type, types, results)) {\n !results.includes(dep) && results.push(dep)\n }\n }\n return results\n },\n\n /**\n * Hashes an object\n *\n * @param {string} primaryType - Root type\n * @param {Object} data - Object to hash\n * @param {Object} types - Type definitions\n * @returns {Buffer} - Hash of an object\n */\n hashStruct (primaryType, data, types, useV4 = true) {\n return util.keccak(this.encodeData(primaryType, data, types, useV4))\n },\n\n /**\n * Hashes the type of an object\n *\n * @param {string} primaryType - Root type to hash\n * @param {Object} types - Type definitions\n * @returns {string} - Hash of an object\n */\n hashType (primaryType, types) {\n return util.keccak(this.encodeType(primaryType, types))\n },\n\n /**\n * Removes properties from a message object that are not defined per EIP-712\n *\n * @param {Object} data - typed message object\n * @returns {Object} - typed message object with only allowed fields\n */\n sanitizeData (data) {\n const sanitizedData = {}\n for (const key in TYPED_MESSAGE_SCHEMA.properties) {\n data[key] && (sanitizedData[key] = data[key])\n }\n if (sanitizedData.types) {\n sanitizedData.types = Object.assign({ EIP712Domain: [] }, sanitizedData.types)\n }\n return sanitizedData\n },\n\n /**\n * Returns the hash of a typed message as per EIP-712 for signing\n *\n * @param {Object} typedData - Types message data to sign\n * @returns {string} - sha3 hash for signing\n */\n hash (typedData, useV4 = true) {\n const sanitizedData = this.sanitizeData(typedData)\n const parts = [Buffer.from('1901', 'hex')]\n parts.push(this.hashStruct('EIP712Domain', sanitizedData.domain, sanitizedData.types, useV4))\n if (sanitizedData.primaryType !== 'EIP712Domain') {\n parts.push(this.hashStruct(sanitizedData.primaryType, sanitizedData.message, sanitizedData.types, useV4))\n }\n return util.keccak(Buffer.concat(parts))\n },\n}\n\nmodule.exports = {\n TYPED_MESSAGE_SCHEMA,\n TypedDataUtils,\n\n hashForSignTypedDataLegacy: function (msgParams) {\n return typedSignatureHashLegacy(msgParams.data)\n },\n\n hashForSignTypedData_v3: function (msgParams) {\n return TypedDataUtils.hash(msgParams.data, false)\n },\n\n hashForSignTypedData_v4: function (msgParams) {\n return TypedDataUtils.hash(msgParams.data)\n },\n}\n\n/**\n * @param typedData - Array of data along with types, as per EIP712.\n * @returns Buffer\n */\nfunction typedSignatureHashLegacy(typedData) {\n const error = new Error('Expect argument to be non-empty array')\n if (typeof typedData !== 'object' || !typedData.length) throw error\n\n const data = typedData.map(function (e) {\n return e.type === 'bytes' ? util.toBuffer(e.value) : e.value\n })\n const types = typedData.map(function (e) { return e.type })\n const schema = typedData.map(function (e) {\n if (!e.name) throw error\n return e.type + ' ' + e.name\n })\n\n return abi.soliditySHA3(\n ['bytes32', 'bytes32'],\n [\n abi.soliditySHA3(new Array(typedData.length).fill('string'), schema),\n abi.soliditySHA3(types, data)\n ]\n )\n}\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.filterFromParam = exports.FilterPolyfill = void 0;\nconst type_1 = require(\"../core/type\");\nconst util_1 = require(\"../core/util\");\nconst TIMEOUT = 5 * 60 * 1000; // 5 minutes\nconst JSONRPC_TEMPLATE = {\n jsonrpc: '2.0',\n id: 0,\n};\nclass FilterPolyfill {\n constructor(provider) {\n this.logFilters = new Map(); // \n this.blockFilters = new Set(); // \n this.pendingTransactionFilters = new Set(); // \n this.cursors = new Map(); // \n this.timeouts = new Map(); // \n this.nextFilterId = (0, type_1.IntNumber)(1);\n this.REQUEST_THROTTLE_INTERVAL = 1000; // in milliseconds\n this.lastFetchTimestamp = new Date(0);\n this.resolvers = [];\n this.provider = provider;\n }\n async newFilter(param) {\n const filter = filterFromParam(param);\n const id = this.makeFilterId();\n const cursor = await this.setInitialCursorPosition(id, filter.fromBlock);\n console.info(`Installing new log filter(${id}):`, filter, 'initial cursor position:', cursor);\n this.logFilters.set(id, filter);\n this.setFilterTimeout(id);\n return (0, util_1.hexStringFromIntNumber)(id);\n }\n async newBlockFilter() {\n const id = this.makeFilterId();\n const cursor = await this.setInitialCursorPosition(id, 'latest');\n console.info(`Installing new block filter (${id}) with initial cursor position:`, cursor);\n this.blockFilters.add(id);\n this.setFilterTimeout(id);\n return (0, util_1.hexStringFromIntNumber)(id);\n }\n async newPendingTransactionFilter() {\n const id = this.makeFilterId();\n const cursor = await this.setInitialCursorPosition(id, 'latest');\n console.info(`Installing new block filter (${id}) with initial cursor position:`, cursor);\n this.pendingTransactionFilters.add(id);\n this.setFilterTimeout(id);\n return (0, util_1.hexStringFromIntNumber)(id);\n }\n uninstallFilter(filterId) {\n const id = (0, util_1.intNumberFromHexString)(filterId);\n console.info(`Uninstalling filter (${id})`);\n this.deleteFilter(id);\n return true;\n }\n getFilterChanges(filterId) {\n const id = (0, util_1.intNumberFromHexString)(filterId);\n if (this.timeouts.has(id)) {\n // extend timeout\n this.setFilterTimeout(id);\n }\n if (this.logFilters.has(id)) {\n return this.getLogFilterChanges(id);\n }\n else if (this.blockFilters.has(id)) {\n return this.getBlockFilterChanges(id);\n }\n else if (this.pendingTransactionFilters.has(id)) {\n return this.getPendingTransactionFilterChanges(id);\n }\n return Promise.resolve(filterNotFoundError());\n }\n async getFilterLogs(filterId) {\n const id = (0, util_1.intNumberFromHexString)(filterId);\n const filter = this.logFilters.get(id);\n if (!filter) {\n return filterNotFoundError();\n }\n return this.sendAsyncPromise(Object.assign(Object.assign({}, JSONRPC_TEMPLATE), { method: 'eth_getLogs', params: [paramFromFilter(filter)] }));\n }\n makeFilterId() {\n return (0, type_1.IntNumber)(++this.nextFilterId);\n }\n sendAsyncPromise(request) {\n return new Promise((resolve, reject) => {\n this.provider.sendAsync(request, (err, response) => {\n if (err) {\n return reject(err);\n }\n if (Array.isArray(response) || response == null) {\n return reject(new Error(`unexpected response received: ${JSON.stringify(response)}`));\n }\n resolve(response);\n });\n });\n }\n deleteFilter(id) {\n console.info(`Deleting filter (${id})`);\n this.logFilters.delete(id);\n this.blockFilters.delete(id);\n this.pendingTransactionFilters.delete(id);\n this.cursors.delete(id);\n this.timeouts.delete(id);\n }\n async getLogFilterChanges(id) {\n const filter = this.logFilters.get(id);\n const cursorPosition = this.cursors.get(id);\n if (!cursorPosition || !filter) {\n return filterNotFoundError();\n }\n const currentBlockHeight = await this.getCurrentBlockHeight();\n const toBlock = filter.toBlock === 'latest' ? currentBlockHeight : filter.toBlock;\n if (cursorPosition > currentBlockHeight) {\n return emptyResult();\n }\n if (cursorPosition > Number(filter.toBlock)) {\n return emptyResult();\n }\n console.info(`Fetching logs from ${cursorPosition} to ${toBlock} for filter ${id}`);\n const response = await this.sendAsyncPromise(Object.assign(Object.assign({}, JSONRPC_TEMPLATE), { method: 'eth_getLogs', params: [\n paramFromFilter(Object.assign(Object.assign({}, filter), { fromBlock: cursorPosition, toBlock })),\n ] }));\n if (Array.isArray(response.result)) {\n const blocks = response.result.map((log) => (0, util_1.intNumberFromHexString)(log.blockNumber || '0x0'));\n const highestBlock = Math.max(...blocks);\n if (highestBlock && highestBlock > cursorPosition) {\n const newCursorPosition = (0, type_1.IntNumber)(highestBlock + 1);\n console.info(`Moving cursor position for filter (${id}) from ${cursorPosition} to ${newCursorPosition}`);\n this.cursors.set(id, newCursorPosition);\n }\n }\n return response;\n }\n async getBlockFilterChanges(id) {\n const cursorPosition = this.cursors.get(id);\n if (!cursorPosition) {\n return filterNotFoundError();\n }\n const currentBlockHeight = await this.getCurrentBlockHeight();\n if (cursorPosition > currentBlockHeight) {\n return emptyResult();\n }\n console.info(`Fetching blocks from ${cursorPosition} to ${currentBlockHeight} for filter (${id})`);\n const blocks = (await Promise.all(\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n (0, util_1.range)(cursorPosition, currentBlockHeight + 1).map((i) => this.getBlockHashByNumber((0, type_1.IntNumber)(i))))).filter((hash) => !!hash);\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n const newCursorPosition = (0, type_1.IntNumber)(cursorPosition + blocks.length);\n console.info(`Moving cursor position for filter (${id}) from ${cursorPosition} to ${newCursorPosition}`);\n this.cursors.set(id, newCursorPosition);\n return Object.assign(Object.assign({}, JSONRPC_TEMPLATE), { result: blocks });\n }\n async getPendingTransactionFilterChanges(_id) {\n // pending transaction filters are not supported\n return Promise.resolve(emptyResult());\n }\n async setInitialCursorPosition(id, startBlock) {\n const currentBlockHeight = await this.getCurrentBlockHeight();\n const initialCursorPosition = typeof startBlock === 'number' && startBlock > currentBlockHeight\n ? startBlock\n : currentBlockHeight;\n this.cursors.set(id, initialCursorPosition);\n return initialCursorPosition;\n }\n setFilterTimeout(id) {\n const existing = this.timeouts.get(id);\n if (existing) {\n window.clearTimeout(existing);\n }\n const timeout = window.setTimeout(() => {\n console.info(`Filter (${id}) timed out`);\n this.deleteFilter(id);\n }, TIMEOUT);\n this.timeouts.set(id, timeout);\n }\n // throttle eth_blockNumber requests\n async getCurrentBlockHeight() {\n const now = new Date();\n if (now.getTime() - this.lastFetchTimestamp.getTime() > this.REQUEST_THROTTLE_INTERVAL) {\n this.lastFetchTimestamp = now;\n const height = await this._getCurrentBlockHeight();\n this.currentBlockHeight = height;\n this.resolvers.forEach((resolve) => resolve(height));\n this.resolvers = [];\n }\n if (!this.currentBlockHeight) {\n return new Promise((resolve) => this.resolvers.push(resolve));\n }\n return this.currentBlockHeight;\n }\n async _getCurrentBlockHeight() {\n const { result } = await this.sendAsyncPromise(Object.assign(Object.assign({}, JSONRPC_TEMPLATE), { method: 'eth_blockNumber', params: [] }));\n return (0, util_1.intNumberFromHexString)((0, util_1.ensureHexString)(result));\n }\n async getBlockHashByNumber(blockNumber) {\n const response = await this.sendAsyncPromise(Object.assign(Object.assign({}, JSONRPC_TEMPLATE), { method: 'eth_getBlockByNumber', params: [(0, util_1.hexStringFromIntNumber)(blockNumber), false] }));\n if (response.result && typeof response.result.hash === 'string') {\n return (0, util_1.ensureHexString)(response.result.hash);\n }\n return null;\n }\n}\nexports.FilterPolyfill = FilterPolyfill;\nfunction filterFromParam(param) {\n return {\n fromBlock: intBlockHeightFromHexBlockHeight(param.fromBlock),\n toBlock: intBlockHeightFromHexBlockHeight(param.toBlock),\n addresses: param.address === undefined\n ? null\n : Array.isArray(param.address)\n ? param.address\n : [param.address],\n topics: param.topics || [],\n };\n}\nexports.filterFromParam = filterFromParam;\nfunction paramFromFilter(filter) {\n const param = {\n fromBlock: hexBlockHeightFromIntBlockHeight(filter.fromBlock),\n toBlock: hexBlockHeightFromIntBlockHeight(filter.toBlock),\n topics: filter.topics,\n };\n if (filter.addresses !== null) {\n param.address = filter.addresses;\n }\n return param;\n}\nfunction intBlockHeightFromHexBlockHeight(value) {\n if (value === undefined || value === 'latest' || value === 'pending') {\n return 'latest';\n }\n else if (value === 'earliest') {\n return (0, type_1.IntNumber)(0);\n }\n else if ((0, util_1.isHexString)(value)) {\n return (0, util_1.intNumberFromHexString)(value);\n }\n throw new Error(`Invalid block option: ${String(value)}`);\n}\nfunction hexBlockHeightFromIntBlockHeight(value) {\n if (value === 'latest') {\n return value;\n }\n return (0, util_1.hexStringFromIntNumber)(value);\n}\nfunction filterNotFoundError() {\n return Object.assign(Object.assign({}, JSONRPC_TEMPLATE), { error: { code: -32000, message: 'filter not found' } });\n}\nfunction emptyResult() {\n return Object.assign(Object.assign({}, JSONRPC_TEMPLATE), { result: [] });\n}\n","module.exports = IdIterator\n\nfunction IdIterator(opts){\n opts = opts || {}\n var max = opts.max || Number.MAX_SAFE_INTEGER\n var idCounter = typeof opts.start !== 'undefined' ? opts.start : Math.floor(Math.random() * max)\n\n return function createRandomId () {\n idCounter = idCounter % max\n return idCounter++\n }\n\n}","'use strict';\n\nconst processFn = (fn, opts) => function () {\n\tconst P = opts.promiseModule;\n\tconst args = new Array(arguments.length);\n\n\tfor (let i = 0; i < arguments.length; i++) {\n\t\targs[i] = arguments[i];\n\t}\n\n\treturn new P((resolve, reject) => {\n\t\tif (opts.errorFirst) {\n\t\t\targs.push(function (err, result) {\n\t\t\t\tif (opts.multiArgs) {\n\t\t\t\t\tconst results = new Array(arguments.length - 1);\n\n\t\t\t\t\tfor (let i = 1; i < arguments.length; i++) {\n\t\t\t\t\t\tresults[i - 1] = arguments[i];\n\t\t\t\t\t}\n\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\tresults.unshift(err);\n\t\t\t\t\t\treject(results);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresolve(results);\n\t\t\t\t\t}\n\t\t\t\t} else if (err) {\n\t\t\t\t\treject(err);\n\t\t\t\t} else {\n\t\t\t\t\tresolve(result);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\targs.push(function (result) {\n\t\t\t\tif (opts.multiArgs) {\n\t\t\t\t\tconst results = new Array(arguments.length - 1);\n\n\t\t\t\t\tfor (let i = 0; i < arguments.length; i++) {\n\t\t\t\t\t\tresults[i] = arguments[i];\n\t\t\t\t\t}\n\n\t\t\t\t\tresolve(results);\n\t\t\t\t} else {\n\t\t\t\t\tresolve(result);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tfn.apply(this, args);\n\t});\n};\n\nmodule.exports = (obj, opts) => {\n\topts = Object.assign({\n\t\texclude: [/.+(Sync|Stream)$/],\n\t\terrorFirst: true,\n\t\tpromiseModule: Promise\n\t}, opts);\n\n\tconst filter = key => {\n\t\tconst match = pattern => typeof pattern === 'string' ? key === pattern : pattern.test(key);\n\t\treturn opts.include ? opts.include.some(match) : !opts.exclude.some(match);\n\t};\n\n\tlet ret;\n\tif (typeof obj === 'function') {\n\t\tret = function () {\n\t\t\tif (opts.excludeMain) {\n\t\t\t\treturn obj.apply(this, arguments);\n\t\t\t}\n\n\t\t\treturn processFn(obj, opts).apply(this, arguments);\n\t\t};\n\t} else {\n\t\tret = Object.create(Object.getPrototypeOf(obj));\n\t}\n\n\tfor (const key in obj) { // eslint-disable-line guard-for-in\n\t\tconst x = obj[key];\n\t\tret[key] = typeof x === 'function' && filter(key) ? processFn(x, opts) : x;\n\t}\n\n\treturn ret;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst events_1 = require(\"events\");\nfunction safeApply(handler, context, args) {\n try {\n Reflect.apply(handler, context, args);\n }\n catch (err) {\n // Throw error after timeout so as not to interrupt the stack\n setTimeout(() => {\n throw err;\n });\n }\n}\nfunction arrayClone(arr) {\n const n = arr.length;\n const copy = new Array(n);\n for (let i = 0; i < n; i += 1) {\n copy[i] = arr[i];\n }\n return copy;\n}\nclass SafeEventEmitter extends events_1.EventEmitter {\n emit(type, ...args) {\n let doError = type === 'error';\n const events = this._events;\n if (events !== undefined) {\n doError = doError && events.error === undefined;\n }\n else if (!doError) {\n return false;\n }\n // If there is no 'error' event listener then throw.\n if (doError) {\n let er;\n if (args.length > 0) {\n [er] = args;\n }\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n const err = new Error(`Unhandled error.${er ? ` (${er.message})` : ''}`);\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n const handler = events[type];\n if (handler === undefined) {\n return false;\n }\n if (typeof handler === 'function') {\n safeApply(handler, this, args);\n }\n else {\n const len = handler.length;\n const listeners = arrayClone(handler);\n for (let i = 0; i < len; i += 1) {\n safeApply(listeners[i], this, args);\n }\n }\n return true;\n }\n}\nexports.default = SafeEventEmitter;\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BaseBlockTracker = void 0;\nconst safe_event_emitter_1 = __importDefault(require(\"@metamask/safe-event-emitter\"));\nconst sec = 1000;\nconst calculateSum = (accumulator, currentValue) => accumulator + currentValue;\nconst blockTrackerEvents = ['sync', 'latest'];\nclass BaseBlockTracker extends safe_event_emitter_1.default {\n constructor(opts) {\n super();\n // config\n this._blockResetDuration = opts.blockResetDuration || 20 * sec;\n this._usePastBlocks = opts.usePastBlocks || false;\n // state\n this._currentBlock = null;\n this._isRunning = false;\n // bind functions for internal use\n this._onNewListener = this._onNewListener.bind(this);\n this._onRemoveListener = this._onRemoveListener.bind(this);\n this._resetCurrentBlock = this._resetCurrentBlock.bind(this);\n // listen for handler changes\n this._setupInternalEvents();\n }\n async destroy() {\n this._cancelBlockResetTimeout();\n await this._maybeEnd();\n super.removeAllListeners();\n }\n isRunning() {\n return this._isRunning;\n }\n getCurrentBlock() {\n return this._currentBlock;\n }\n async getLatestBlock() {\n // return if available\n if (this._currentBlock) {\n return this._currentBlock;\n }\n // wait for a new latest block\n const latestBlock = await new Promise((resolve) => this.once('latest', resolve));\n // return newly set current block\n return latestBlock;\n }\n // dont allow module consumer to remove our internal event listeners\n removeAllListeners(eventName) {\n // perform default behavior, preserve fn arity\n if (eventName) {\n super.removeAllListeners(eventName);\n }\n else {\n super.removeAllListeners();\n }\n // re-add internal events\n this._setupInternalEvents();\n // trigger stop check just in case\n this._onRemoveListener();\n return this;\n }\n _setupInternalEvents() {\n // first remove listeners for idempotence\n this.removeListener('newListener', this._onNewListener);\n this.removeListener('removeListener', this._onRemoveListener);\n // then add them\n this.on('newListener', this._onNewListener);\n this.on('removeListener', this._onRemoveListener);\n }\n _onNewListener(eventName) {\n // `newListener` is called *before* the listener is added\n if (blockTrackerEvents.includes(eventName)) {\n this._maybeStart();\n }\n }\n _onRemoveListener() {\n // `removeListener` is called *after* the listener is removed\n if (this._getBlockTrackerEventCount() > 0) {\n return;\n }\n this._maybeEnd();\n }\n async _maybeStart() {\n if (this._isRunning) {\n return;\n }\n this._isRunning = true;\n // cancel setting latest block to stale\n this._cancelBlockResetTimeout();\n await this._start();\n this.emit('_started');\n }\n async _maybeEnd() {\n if (!this._isRunning) {\n return;\n }\n this._isRunning = false;\n this._setupBlockResetTimeout();\n await this._end();\n this.emit('_ended');\n }\n _getBlockTrackerEventCount() {\n return blockTrackerEvents\n .map((eventName) => this.listenerCount(eventName))\n .reduce(calculateSum);\n }\n _shouldUseNewBlock(newBlock) {\n const currentBlock = this._currentBlock;\n if (!currentBlock) {\n return true;\n }\n const newBlockInt = hexToInt(newBlock);\n const currentBlockInt = hexToInt(currentBlock);\n return ((this._usePastBlocks && newBlockInt < currentBlockInt) ||\n newBlockInt > currentBlockInt);\n }\n _newPotentialLatest(newBlock) {\n if (!this._shouldUseNewBlock(newBlock)) {\n return;\n }\n this._setCurrentBlock(newBlock);\n }\n _setCurrentBlock(newBlock) {\n const oldBlock = this._currentBlock;\n this._currentBlock = newBlock;\n this.emit('latest', newBlock);\n this.emit('sync', { oldBlock, newBlock });\n }\n _setupBlockResetTimeout() {\n // clear any existing timeout\n this._cancelBlockResetTimeout();\n // clear latest block when stale\n this._blockResetTimeout = setTimeout(this._resetCurrentBlock, this._blockResetDuration);\n // nodejs - dont hold process open\n if (this._blockResetTimeout.unref) {\n this._blockResetTimeout.unref();\n }\n }\n _cancelBlockResetTimeout() {\n if (this._blockResetTimeout) {\n clearTimeout(this._blockResetTimeout);\n }\n }\n _resetCurrentBlock() {\n this._currentBlock = null;\n }\n}\nexports.BaseBlockTracker = BaseBlockTracker;\n/**\n * Converts a number represented as a string in hexadecimal format into a native\n * number.\n *\n * @param hexInt - The hex string.\n * @returns The number.\n */\nfunction hexToInt(hexInt) {\n return Number.parseInt(hexInt, 16);\n}\n//# sourceMappingURL=BaseBlockTracker.js.map","/**\n * A `StructFailure` represents a single specific failure in validation.\n */\n/**\n * `StructError` objects are thrown (or returned) when validation fails.\n *\n * Validation logic is design to exit early for maximum performance. The error\n * represents the first error encountered during validation. For more detail,\n * the `error.failures` property is a generator function that can be run to\n * continue validation and receive all the failures in the data.\n */\nclass StructError extends TypeError {\n constructor(failure, failures) {\n let cached;\n const { message, explanation, ...rest } = failure;\n const { path } = failure;\n const msg = path.length === 0 ? message : `At path: ${path.join('.')} -- ${message}`;\n super(explanation ?? msg);\n if (explanation != null)\n this.cause = msg;\n Object.assign(this, rest);\n this.name = this.constructor.name;\n this.failures = () => {\n return (cached ?? (cached = [failure, ...failures()]));\n };\n }\n}\n\n/**\n * Check if a value is an iterator.\n */\nfunction isIterable(x) {\n return isObject(x) && typeof x[Symbol.iterator] === 'function';\n}\n/**\n * Check if a value is a plain object.\n */\nfunction isObject(x) {\n return typeof x === 'object' && x != null;\n}\n/**\n * Check if a value is a plain object.\n */\nfunction isPlainObject(x) {\n if (Object.prototype.toString.call(x) !== '[object Object]') {\n return false;\n }\n const prototype = Object.getPrototypeOf(x);\n return prototype === null || prototype === Object.prototype;\n}\n/**\n * Return a value as a printable string.\n */\nfunction print(value) {\n if (typeof value === 'symbol') {\n return value.toString();\n }\n return typeof value === 'string' ? JSON.stringify(value) : `${value}`;\n}\n/**\n * Shifts (removes and returns) the first value from the `input` iterator.\n * Like `Array.prototype.shift()` but for an `Iterator`.\n */\nfunction shiftIterator(input) {\n const { done, value } = input.next();\n return done ? undefined : value;\n}\n/**\n * Convert a single validation result to a failure.\n */\nfunction toFailure(result, context, struct, value) {\n if (result === true) {\n return;\n }\n else if (result === false) {\n result = {};\n }\n else if (typeof result === 'string') {\n result = { message: result };\n }\n const { path, branch } = context;\n const { type } = struct;\n const { refinement, message = `Expected a value of type \\`${type}\\`${refinement ? ` with refinement \\`${refinement}\\`` : ''}, but received: \\`${print(value)}\\``, } = result;\n return {\n value,\n type,\n refinement,\n key: path[path.length - 1],\n path,\n branch,\n ...result,\n message,\n };\n}\n/**\n * Convert a validation result to an iterable of failures.\n */\nfunction* toFailures(result, context, struct, value) {\n if (!isIterable(result)) {\n result = [result];\n }\n for (const r of result) {\n const failure = toFailure(r, context, struct, value);\n if (failure) {\n yield failure;\n }\n }\n}\n/**\n * Check a value against a struct, traversing deeply into nested values, and\n * returning an iterator of failures or success.\n */\nfunction* run(value, struct, options = {}) {\n const { path = [], branch = [value], coerce = false, mask = false } = options;\n const ctx = { path, branch };\n if (coerce) {\n value = struct.coercer(value, ctx);\n if (mask &&\n struct.type !== 'type' &&\n isObject(struct.schema) &&\n isObject(value) &&\n !Array.isArray(value)) {\n for (const key in value) {\n if (struct.schema[key] === undefined) {\n delete value[key];\n }\n }\n }\n }\n let status = 'valid';\n for (const failure of struct.validator(value, ctx)) {\n failure.explanation = options.message;\n status = 'not_valid';\n yield [failure, undefined];\n }\n for (let [k, v, s] of struct.entries(value, ctx)) {\n const ts = run(v, s, {\n path: k === undefined ? path : [...path, k],\n branch: k === undefined ? branch : [...branch, v],\n coerce,\n mask,\n message: options.message,\n });\n for (const t of ts) {\n if (t[0]) {\n status = t[0].refinement != null ? 'not_refined' : 'not_valid';\n yield [t[0], undefined];\n }\n else if (coerce) {\n v = t[1];\n if (k === undefined) {\n value = v;\n }\n else if (value instanceof Map) {\n value.set(k, v);\n }\n else if (value instanceof Set) {\n value.add(v);\n }\n else if (isObject(value)) {\n if (v !== undefined || k in value)\n value[k] = v;\n }\n }\n }\n }\n if (status !== 'not_valid') {\n for (const failure of struct.refiner(value, ctx)) {\n failure.explanation = options.message;\n status = 'not_refined';\n yield [failure, undefined];\n }\n }\n if (status === 'valid') {\n yield [undefined, value];\n }\n}\n\n/**\n * `Struct` objects encapsulate the validation logic for a specific type of\n * values. Once constructed, you use the `assert`, `is` or `validate` helpers to\n * validate unknown input data against the struct.\n */\nclass Struct {\n constructor(props) {\n const { type, schema, validator, refiner, coercer = (value) => value, entries = function* () { }, } = props;\n this.type = type;\n this.schema = schema;\n this.entries = entries;\n this.coercer = coercer;\n if (validator) {\n this.validator = (value, context) => {\n const result = validator(value, context);\n return toFailures(result, context, this, value);\n };\n }\n else {\n this.validator = () => [];\n }\n if (refiner) {\n this.refiner = (value, context) => {\n const result = refiner(value, context);\n return toFailures(result, context, this, value);\n };\n }\n else {\n this.refiner = () => [];\n }\n }\n /**\n * Assert that a value passes the struct's validation, throwing if it doesn't.\n */\n assert(value, message) {\n return assert(value, this, message);\n }\n /**\n * Create a value with the struct's coercion logic, then validate it.\n */\n create(value, message) {\n return create(value, this, message);\n }\n /**\n * Check if a value passes the struct's validation.\n */\n is(value) {\n return is(value, this);\n }\n /**\n * Mask a value, coercing and validating it, but returning only the subset of\n * properties defined by the struct's schema.\n */\n mask(value, message) {\n return mask(value, this, message);\n }\n /**\n * Validate a value with the struct's validation logic, returning a tuple\n * representing the result.\n *\n * You may optionally pass `true` for the `withCoercion` argument to coerce\n * the value before attempting to validate it. If you do, the result will\n * contain the coerced result when successful.\n */\n validate(value, options = {}) {\n return validate(value, this, options);\n }\n}\n/**\n * Assert that a value passes a struct, throwing if it doesn't.\n */\nfunction assert(value, struct, message) {\n const result = validate(value, struct, { message });\n if (result[0]) {\n throw result[0];\n }\n}\n/**\n * Create a value with the coercion logic of struct and validate it.\n */\nfunction create(value, struct, message) {\n const result = validate(value, struct, { coerce: true, message });\n if (result[0]) {\n throw result[0];\n }\n else {\n return result[1];\n }\n}\n/**\n * Mask a value, returning only the subset of properties defined by a struct.\n */\nfunction mask(value, struct, message) {\n const result = validate(value, struct, { coerce: true, mask: true, message });\n if (result[0]) {\n throw result[0];\n }\n else {\n return result[1];\n }\n}\n/**\n * Check if a value passes a struct.\n */\nfunction is(value, struct) {\n const result = validate(value, struct);\n return !result[0];\n}\n/**\n * Validate a value against a struct, returning an error if invalid, or the\n * value (with potential coercion) if valid.\n */\nfunction validate(value, struct, options = {}) {\n const tuples = run(value, struct, options);\n const tuple = shiftIterator(tuples);\n if (tuple[0]) {\n const error = new StructError(tuple[0], function* () {\n for (const t of tuples) {\n if (t[0]) {\n yield t[0];\n }\n }\n });\n return [error, undefined];\n }\n else {\n const v = tuple[1];\n return [undefined, v];\n }\n}\n\nfunction assign(...Structs) {\n const isType = Structs[0].type === 'type';\n const schemas = Structs.map((s) => s.schema);\n const schema = Object.assign({}, ...schemas);\n return isType ? type(schema) : object(schema);\n}\n/**\n * Define a new struct type with a custom validation function.\n */\nfunction define(name, validator) {\n return new Struct({ type: name, schema: null, validator });\n}\n/**\n * Create a new struct based on an existing struct, but the value is allowed to\n * be `undefined`. `log` will be called if the value is not `undefined`.\n */\nfunction deprecated(struct, log) {\n return new Struct({\n ...struct,\n refiner: (value, ctx) => value === undefined || struct.refiner(value, ctx),\n validator(value, ctx) {\n if (value === undefined) {\n return true;\n }\n else {\n log(value, ctx);\n return struct.validator(value, ctx);\n }\n },\n });\n}\n/**\n * Create a struct with dynamic validation logic.\n *\n * The callback will receive the value currently being validated, and must\n * return a struct object to validate it with. This can be useful to model\n * validation logic that changes based on its input.\n */\nfunction dynamic(fn) {\n return new Struct({\n type: 'dynamic',\n schema: null,\n *entries(value, ctx) {\n const struct = fn(value, ctx);\n yield* struct.entries(value, ctx);\n },\n validator(value, ctx) {\n const struct = fn(value, ctx);\n return struct.validator(value, ctx);\n },\n coercer(value, ctx) {\n const struct = fn(value, ctx);\n return struct.coercer(value, ctx);\n },\n refiner(value, ctx) {\n const struct = fn(value, ctx);\n return struct.refiner(value, ctx);\n },\n });\n}\n/**\n * Create a struct with lazily evaluated validation logic.\n *\n * The first time validation is run with the struct, the callback will be called\n * and must return a struct object to use. This is useful for cases where you\n * want to have self-referential structs for nested data structures to avoid a\n * circular definition problem.\n */\nfunction lazy(fn) {\n let struct;\n return new Struct({\n type: 'lazy',\n schema: null,\n *entries(value, ctx) {\n struct ?? (struct = fn());\n yield* struct.entries(value, ctx);\n },\n validator(value, ctx) {\n struct ?? (struct = fn());\n return struct.validator(value, ctx);\n },\n coercer(value, ctx) {\n struct ?? (struct = fn());\n return struct.coercer(value, ctx);\n },\n refiner(value, ctx) {\n struct ?? (struct = fn());\n return struct.refiner(value, ctx);\n },\n });\n}\n/**\n * Create a new struct based on an existing object struct, but excluding\n * specific properties.\n *\n * Like TypeScript's `Omit` utility.\n */\nfunction omit(struct, keys) {\n const { schema } = struct;\n const subschema = { ...schema };\n for (const key of keys) {\n delete subschema[key];\n }\n switch (struct.type) {\n case 'type':\n return type(subschema);\n default:\n return object(subschema);\n }\n}\n/**\n * Create a new struct based on an existing object struct, but with all of its\n * properties allowed to be `undefined`.\n *\n * Like TypeScript's `Partial` utility.\n */\nfunction partial(struct) {\n const isStruct = struct instanceof Struct;\n const schema = isStruct ? { ...struct.schema } : { ...struct };\n for (const key in schema) {\n schema[key] = optional(schema[key]);\n }\n if (isStruct && struct.type === 'type') {\n return type(schema);\n }\n return object(schema);\n}\n/**\n * Create a new struct based on an existing object struct, but only including\n * specific properties.\n *\n * Like TypeScript's `Pick` utility.\n */\nfunction pick(struct, keys) {\n const { schema } = struct;\n const subschema = {};\n for (const key of keys) {\n subschema[key] = schema[key];\n }\n switch (struct.type) {\n case 'type':\n return type(subschema);\n default:\n return object(subschema);\n }\n}\n/**\n * Define a new struct type with a custom validation function.\n *\n * @deprecated This function has been renamed to `define`.\n */\nfunction struct(name, validator) {\n console.warn('superstruct@0.11 - The `struct` helper has been renamed to `define`.');\n return define(name, validator);\n}\n\n/**\n * Ensure that any value passes validation.\n */\nfunction any() {\n return define('any', () => true);\n}\nfunction array(Element) {\n return new Struct({\n type: 'array',\n schema: Element,\n *entries(value) {\n if (Element && Array.isArray(value)) {\n for (const [i, v] of value.entries()) {\n yield [i, v, Element];\n }\n }\n },\n coercer(value) {\n return Array.isArray(value) ? value.slice() : value;\n },\n validator(value) {\n return (Array.isArray(value) ||\n `Expected an array value, but received: ${print(value)}`);\n },\n });\n}\n/**\n * Ensure that a value is a bigint.\n */\nfunction bigint() {\n return define('bigint', (value) => {\n return typeof value === 'bigint';\n });\n}\n/**\n * Ensure that a value is a boolean.\n */\nfunction boolean() {\n return define('boolean', (value) => {\n return typeof value === 'boolean';\n });\n}\n/**\n * Ensure that a value is a valid `Date`.\n *\n * Note: this also ensures that the value is *not* an invalid `Date` object,\n * which can occur when parsing a date fails but still returns a `Date`.\n */\nfunction date() {\n return define('date', (value) => {\n return ((value instanceof Date && !isNaN(value.getTime())) ||\n `Expected a valid \\`Date\\` object, but received: ${print(value)}`);\n });\n}\nfunction enums(values) {\n const schema = {};\n const description = values.map((v) => print(v)).join();\n for (const key of values) {\n schema[key] = key;\n }\n return new Struct({\n type: 'enums',\n schema,\n validator(value) {\n return (values.includes(value) ||\n `Expected one of \\`${description}\\`, but received: ${print(value)}`);\n },\n });\n}\n/**\n * Ensure that a value is a function.\n */\nfunction func() {\n return define('func', (value) => {\n return (typeof value === 'function' ||\n `Expected a function, but received: ${print(value)}`);\n });\n}\n/**\n * Ensure that a value is an instance of a specific class.\n */\nfunction instance(Class) {\n return define('instance', (value) => {\n return (value instanceof Class ||\n `Expected a \\`${Class.name}\\` instance, but received: ${print(value)}`);\n });\n}\n/**\n * Ensure that a value is an integer.\n */\nfunction integer() {\n return define('integer', (value) => {\n return ((typeof value === 'number' && !isNaN(value) && Number.isInteger(value)) ||\n `Expected an integer, but received: ${print(value)}`);\n });\n}\n/**\n * Ensure that a value matches all of a set of types.\n */\nfunction intersection(Structs) {\n return new Struct({\n type: 'intersection',\n schema: null,\n *entries(value, ctx) {\n for (const S of Structs) {\n yield* S.entries(value, ctx);\n }\n },\n *validator(value, ctx) {\n for (const S of Structs) {\n yield* S.validator(value, ctx);\n }\n },\n *refiner(value, ctx) {\n for (const S of Structs) {\n yield* S.refiner(value, ctx);\n }\n },\n });\n}\nfunction literal(constant) {\n const description = print(constant);\n const t = typeof constant;\n return new Struct({\n type: 'literal',\n schema: t === 'string' || t === 'number' || t === 'boolean' ? constant : null,\n validator(value) {\n return (value === constant ||\n `Expected the literal \\`${description}\\`, but received: ${print(value)}`);\n },\n });\n}\nfunction map(Key, Value) {\n return new Struct({\n type: 'map',\n schema: null,\n *entries(value) {\n if (Key && Value && value instanceof Map) {\n for (const [k, v] of value.entries()) {\n yield [k, k, Key];\n yield [k, v, Value];\n }\n }\n },\n coercer(value) {\n return value instanceof Map ? new Map(value) : value;\n },\n validator(value) {\n return (value instanceof Map ||\n `Expected a \\`Map\\` object, but received: ${print(value)}`);\n },\n });\n}\n/**\n * Ensure that no value ever passes validation.\n */\nfunction never() {\n return define('never', () => false);\n}\n/**\n * Augment an existing struct to allow `null` values.\n */\nfunction nullable(struct) {\n return new Struct({\n ...struct,\n validator: (value, ctx) => value === null || struct.validator(value, ctx),\n refiner: (value, ctx) => value === null || struct.refiner(value, ctx),\n });\n}\n/**\n * Ensure that a value is a number.\n */\nfunction number() {\n return define('number', (value) => {\n return ((typeof value === 'number' && !isNaN(value)) ||\n `Expected a number, but received: ${print(value)}`);\n });\n}\nfunction object(schema) {\n const knowns = schema ? Object.keys(schema) : [];\n const Never = never();\n return new Struct({\n type: 'object',\n schema: schema ? schema : null,\n *entries(value) {\n if (schema && isObject(value)) {\n const unknowns = new Set(Object.keys(value));\n for (const key of knowns) {\n unknowns.delete(key);\n yield [key, value[key], schema[key]];\n }\n for (const key of unknowns) {\n yield [key, value[key], Never];\n }\n }\n },\n validator(value) {\n return (isObject(value) || `Expected an object, but received: ${print(value)}`);\n },\n coercer(value) {\n return isObject(value) ? { ...value } : value;\n },\n });\n}\n/**\n * Augment a struct to allow `undefined` values.\n */\nfunction optional(struct) {\n return new Struct({\n ...struct,\n validator: (value, ctx) => value === undefined || struct.validator(value, ctx),\n refiner: (value, ctx) => value === undefined || struct.refiner(value, ctx),\n });\n}\n/**\n * Ensure that a value is an object with keys and values of specific types, but\n * without ensuring any specific shape of properties.\n *\n * Like TypeScript's `Record` utility.\n */\nfunction record(Key, Value) {\n return new Struct({\n type: 'record',\n schema: null,\n *entries(value) {\n if (isObject(value)) {\n for (const k in value) {\n const v = value[k];\n yield [k, k, Key];\n yield [k, v, Value];\n }\n }\n },\n validator(value) {\n return (isObject(value) || `Expected an object, but received: ${print(value)}`);\n },\n });\n}\n/**\n * Ensure that a value is a `RegExp`.\n *\n * Note: this does not test the value against the regular expression! For that\n * you need to use the `pattern()` refinement.\n */\nfunction regexp() {\n return define('regexp', (value) => {\n return value instanceof RegExp;\n });\n}\nfunction set(Element) {\n return new Struct({\n type: 'set',\n schema: null,\n *entries(value) {\n if (Element && value instanceof Set) {\n for (const v of value) {\n yield [v, v, Element];\n }\n }\n },\n coercer(value) {\n return value instanceof Set ? new Set(value) : value;\n },\n validator(value) {\n return (value instanceof Set ||\n `Expected a \\`Set\\` object, but received: ${print(value)}`);\n },\n });\n}\n/**\n * Ensure that a value is a string.\n */\nfunction string() {\n return define('string', (value) => {\n return (typeof value === 'string' ||\n `Expected a string, but received: ${print(value)}`);\n });\n}\n/**\n * Ensure that a value is a tuple of a specific length, and that each of its\n * elements is of a specific type.\n */\nfunction tuple(Structs) {\n const Never = never();\n return new Struct({\n type: 'tuple',\n schema: null,\n *entries(value) {\n if (Array.isArray(value)) {\n const length = Math.max(Structs.length, value.length);\n for (let i = 0; i < length; i++) {\n yield [i, value[i], Structs[i] || Never];\n }\n }\n },\n validator(value) {\n return (Array.isArray(value) ||\n `Expected an array, but received: ${print(value)}`);\n },\n });\n}\n/**\n * Ensure that a value has a set of known properties of specific types.\n *\n * Note: Unrecognized properties are allowed and untouched. This is similar to\n * how TypeScript's structural typing works.\n */\nfunction type(schema) {\n const keys = Object.keys(schema);\n return new Struct({\n type: 'type',\n schema,\n *entries(value) {\n if (isObject(value)) {\n for (const k of keys) {\n yield [k, value[k], schema[k]];\n }\n }\n },\n validator(value) {\n return (isObject(value) || `Expected an object, but received: ${print(value)}`);\n },\n coercer(value) {\n return isObject(value) ? { ...value } : value;\n },\n });\n}\n/**\n * Ensure that a value matches one of a set of types.\n */\nfunction union(Structs) {\n const description = Structs.map((s) => s.type).join(' | ');\n return new Struct({\n type: 'union',\n schema: null,\n coercer(value) {\n for (const S of Structs) {\n const [error, coerced] = S.validate(value, { coerce: true });\n if (!error) {\n return coerced;\n }\n }\n return value;\n },\n validator(value, ctx) {\n const failures = [];\n for (const S of Structs) {\n const [...tuples] = run(value, S, ctx);\n const [first] = tuples;\n if (!first[0]) {\n return [];\n }\n else {\n for (const [failure] of tuples) {\n if (failure) {\n failures.push(failure);\n }\n }\n }\n }\n return [\n `Expected the value to satisfy a union of \\`${description}\\`, but received: ${print(value)}`,\n ...failures,\n ];\n },\n });\n}\n/**\n * Ensure that any value passes validation, without widening its type to `any`.\n */\nfunction unknown() {\n return define('unknown', () => true);\n}\n\n/**\n * Augment a `Struct` to add an additional coercion step to its input.\n *\n * This allows you to transform input data before validating it, to increase the\n * likelihood that it passes validation—for example for default values, parsing\n * different formats, etc.\n *\n * Note: You must use `create(value, Struct)` on the value to have the coercion\n * take effect! Using simply `assert()` or `is()` will not use coercion.\n */\nfunction coerce(struct, condition, coercer) {\n return new Struct({\n ...struct,\n coercer: (value, ctx) => {\n return is(value, condition)\n ? struct.coercer(coercer(value, ctx), ctx)\n : struct.coercer(value, ctx);\n },\n });\n}\n/**\n * Augment a struct to replace `undefined` values with a default.\n *\n * Note: You must use `create(value, Struct)` on the value to have the coercion\n * take effect! Using simply `assert()` or `is()` will not use coercion.\n */\nfunction defaulted(struct, fallback, options = {}) {\n return coerce(struct, unknown(), (x) => {\n const f = typeof fallback === 'function' ? fallback() : fallback;\n if (x === undefined) {\n return f;\n }\n if (!options.strict && isPlainObject(x) && isPlainObject(f)) {\n const ret = { ...x };\n let changed = false;\n for (const key in f) {\n if (ret[key] === undefined) {\n ret[key] = f[key];\n changed = true;\n }\n }\n if (changed) {\n return ret;\n }\n }\n return x;\n });\n}\n/**\n * Augment a struct to trim string inputs.\n *\n * Note: You must use `create(value, Struct)` on the value to have the coercion\n * take effect! Using simply `assert()` or `is()` will not use coercion.\n */\nfunction trimmed(struct) {\n return coerce(struct, string(), (x) => x.trim());\n}\n\n/**\n * Ensure that a string, array, map, or set is empty.\n */\nfunction empty(struct) {\n return refine(struct, 'empty', (value) => {\n const size = getSize(value);\n return (size === 0 ||\n `Expected an empty ${struct.type} but received one with a size of \\`${size}\\``);\n });\n}\nfunction getSize(value) {\n if (value instanceof Map || value instanceof Set) {\n return value.size;\n }\n else {\n return value.length;\n }\n}\n/**\n * Ensure that a number or date is below a threshold.\n */\nfunction max(struct, threshold, options = {}) {\n const { exclusive } = options;\n return refine(struct, 'max', (value) => {\n return exclusive\n ? value < threshold\n : value <= threshold ||\n `Expected a ${struct.type} less than ${exclusive ? '' : 'or equal to '}${threshold} but received \\`${value}\\``;\n });\n}\n/**\n * Ensure that a number or date is above a threshold.\n */\nfunction min(struct, threshold, options = {}) {\n const { exclusive } = options;\n return refine(struct, 'min', (value) => {\n return exclusive\n ? value > threshold\n : value >= threshold ||\n `Expected a ${struct.type} greater than ${exclusive ? '' : 'or equal to '}${threshold} but received \\`${value}\\``;\n });\n}\n/**\n * Ensure that a string, array, map or set is not empty.\n */\nfunction nonempty(struct) {\n return refine(struct, 'nonempty', (value) => {\n const size = getSize(value);\n return (size > 0 || `Expected a nonempty ${struct.type} but received an empty one`);\n });\n}\n/**\n * Ensure that a string matches a regular expression.\n */\nfunction pattern(struct, regexp) {\n return refine(struct, 'pattern', (value) => {\n return (regexp.test(value) ||\n `Expected a ${struct.type} matching \\`/${regexp.source}/\\` but received \"${value}\"`);\n });\n}\n/**\n * Ensure that a string, array, number, date, map, or set has a size (or length, or time) between `min` and `max`.\n */\nfunction size(struct, min, max = min) {\n const expected = `Expected a ${struct.type}`;\n const of = min === max ? `of \\`${min}\\`` : `between \\`${min}\\` and \\`${max}\\``;\n return refine(struct, 'size', (value) => {\n if (typeof value === 'number' || value instanceof Date) {\n return ((min <= value && value <= max) ||\n `${expected} ${of} but received \\`${value}\\``);\n }\n else if (value instanceof Map || value instanceof Set) {\n const { size } = value;\n return ((min <= size && size <= max) ||\n `${expected} with a size ${of} but received one with a size of \\`${size}\\``);\n }\n else {\n const { length } = value;\n return ((min <= length && length <= max) ||\n `${expected} with a length ${of} but received one with a length of \\`${length}\\``);\n }\n });\n}\n/**\n * Augment a `Struct` to add an additional refinement to the validation.\n *\n * The refiner function is guaranteed to receive a value of the struct's type,\n * because the struct's existing validation will already have passed. This\n * allows you to layer additional validation on top of existing structs.\n */\nfunction refine(struct, name, refiner) {\n return new Struct({\n ...struct,\n *refiner(value, ctx) {\n yield* struct.refiner(value, ctx);\n const result = refiner(value, ctx);\n const failures = toFailures(result, ctx, struct, value);\n for (const failure of failures) {\n yield { ...failure, refinement: name };\n }\n },\n });\n}\n\nexport { Struct, StructError, any, array, assert, assign, bigint, boolean, coerce, create, date, defaulted, define, deprecated, dynamic, empty, enums, func, instance, integer, intersection, is, lazy, literal, map, mask, max, min, never, nonempty, nullable, number, object, omit, optional, partial, pattern, pick, record, refine, regexp, set, size, string, struct, trimmed, tuple, type, union, unknown, validate };\n//# sourceMappingURL=index.mjs.map\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.assertExhaustive = exports.assertStruct = exports.assert = exports.AssertionError = void 0;\nconst superstruct_1 = require(\"superstruct\");\n/**\n * Type guard for determining whether the given value is an error object with a\n * `message` property, such as an instance of Error.\n *\n * @param error - The object to check.\n * @returns True or false, depending on the result.\n */\nfunction isErrorWithMessage(error) {\n return typeof error === 'object' && error !== null && 'message' in error;\n}\n/**\n * Check if a value is a constructor, i.e., a function that can be called with\n * the `new` keyword.\n *\n * @param fn - The value to check.\n * @returns `true` if the value is a constructor, or `false` otherwise.\n */\nfunction isConstructable(fn) {\n var _a, _b;\n /* istanbul ignore next */\n return Boolean(typeof ((_b = (_a = fn === null || fn === void 0 ? void 0 : fn.prototype) === null || _a === void 0 ? void 0 : _a.constructor) === null || _b === void 0 ? void 0 : _b.name) === 'string');\n}\n/**\n * Get the error message from an unknown error object. If the error object has\n * a `message` property, that property is returned. Otherwise, the stringified\n * error object is returned.\n *\n * @param error - The error object to get the message from.\n * @returns The error message.\n */\nfunction getErrorMessage(error) {\n const message = isErrorWithMessage(error) ? error.message : String(error);\n // If the error ends with a period, remove it, as we'll add our own period.\n if (message.endsWith('.')) {\n return message.slice(0, -1);\n }\n return message;\n}\n/**\n * Initialise an {@link AssertionErrorConstructor} error.\n *\n * @param ErrorWrapper - The error class to use.\n * @param message - The error message.\n * @returns The error object.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nfunction getError(ErrorWrapper, message) {\n if (isConstructable(ErrorWrapper)) {\n return new ErrorWrapper({\n message,\n });\n }\n return ErrorWrapper({\n message,\n });\n}\n/**\n * The default error class that is thrown if an assertion fails.\n */\nclass AssertionError extends Error {\n constructor(options) {\n super(options.message);\n this.code = 'ERR_ASSERTION';\n }\n}\nexports.AssertionError = AssertionError;\n/**\n * Same as Node.js assert.\n * If the value is falsy, throws an error, does nothing otherwise.\n *\n * @throws {@link AssertionError} If value is falsy.\n * @param value - The test that should be truthy to pass.\n * @param message - Message to be passed to {@link AssertionError} or an\n * {@link Error} instance to throw.\n * @param ErrorWrapper - The error class to throw if the assertion fails.\n * Defaults to {@link AssertionError}. If a custom error class is provided for\n * the `message` argument, this argument is ignored.\n */\nfunction assert(value, message = 'Assertion failed.', \n// eslint-disable-next-line @typescript-eslint/naming-convention\nErrorWrapper = AssertionError) {\n if (!value) {\n if (message instanceof Error) {\n throw message;\n }\n throw getError(ErrorWrapper, message);\n }\n}\nexports.assert = assert;\n/**\n * Assert a value against a Superstruct struct.\n *\n * @param value - The value to validate.\n * @param struct - The struct to validate against.\n * @param errorPrefix - A prefix to add to the error message. Defaults to\n * \"Assertion failed\".\n * @param ErrorWrapper - The error class to throw if the assertion fails.\n * Defaults to {@link AssertionError}.\n * @throws If the value is not valid.\n */\nfunction assertStruct(value, struct, errorPrefix = 'Assertion failed', \n// eslint-disable-next-line @typescript-eslint/naming-convention\nErrorWrapper = AssertionError) {\n try {\n (0, superstruct_1.assert)(value, struct);\n }\n catch (error) {\n throw getError(ErrorWrapper, `${errorPrefix}: ${getErrorMessage(error)}.`);\n }\n}\nexports.assertStruct = assertStruct;\n/**\n * Use in the default case of a switch that you want to be fully exhaustive.\n * Using this function forces the compiler to enforce exhaustivity during\n * compile-time.\n *\n * @example\n * ```\n * const number = 1;\n * switch (number) {\n * case 0:\n * ...\n * case 1:\n * ...\n * default:\n * assertExhaustive(snapPrefix);\n * }\n * ```\n * @param _object - The object on which the switch is being operated.\n */\nfunction assertExhaustive(_object) {\n throw new Error('Invalid branch reached. Should be detected during compilation.');\n}\nexports.assertExhaustive = assertExhaustive;\n//# sourceMappingURL=assert.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.base64 = void 0;\nconst superstruct_1 = require(\"superstruct\");\nconst assert_1 = require(\"./assert\");\n/**\n * Ensure that a provided string-based struct is valid base64.\n *\n * @param struct - The string based struct.\n * @param options - Optional options to specialize base64 validation. See {@link Base64Options} documentation.\n * @returns A superstruct validating base64.\n */\nconst base64 = (struct, options = {}) => {\n var _a, _b;\n const paddingRequired = (_a = options.paddingRequired) !== null && _a !== void 0 ? _a : false;\n const characterSet = (_b = options.characterSet) !== null && _b !== void 0 ? _b : 'base64';\n let letters;\n if (characterSet === 'base64') {\n letters = String.raw `[A-Za-z0-9+\\/]`;\n }\n else {\n (0, assert_1.assert)(characterSet === 'base64url');\n letters = String.raw `[-_A-Za-z0-9]`;\n }\n let re;\n if (paddingRequired) {\n re = new RegExp(`^(?:${letters}{4})*(?:${letters}{3}=|${letters}{2}==)?$`, 'u');\n }\n else {\n re = new RegExp(`^(?:${letters}{4})*(?:${letters}{2,3}|${letters}{3}=|${letters}{2}==)?$`, 'u');\n }\n return (0, superstruct_1.pattern)(struct, re);\n};\nexports.base64 = base64;\n//# sourceMappingURL=base64.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.remove0x = exports.add0x = exports.assertIsStrictHexString = exports.assertIsHexString = exports.isStrictHexString = exports.isHexString = exports.StrictHexStruct = exports.HexStruct = void 0;\nconst superstruct_1 = require(\"superstruct\");\nconst assert_1 = require(\"./assert\");\nexports.HexStruct = (0, superstruct_1.pattern)((0, superstruct_1.string)(), /^(?:0x)?[0-9a-f]+$/iu);\nexports.StrictHexStruct = (0, superstruct_1.pattern)((0, superstruct_1.string)(), /^0x[0-9a-f]+$/iu);\n/**\n * Check if a string is a valid hex string.\n *\n * @param value - The value to check.\n * @returns Whether the value is a valid hex string.\n */\nfunction isHexString(value) {\n return (0, superstruct_1.is)(value, exports.HexStruct);\n}\nexports.isHexString = isHexString;\n/**\n * Strictly check if a string is a valid hex string. A valid hex string must\n * start with the \"0x\"-prefix.\n *\n * @param value - The value to check.\n * @returns Whether the value is a valid hex string.\n */\nfunction isStrictHexString(value) {\n return (0, superstruct_1.is)(value, exports.StrictHexStruct);\n}\nexports.isStrictHexString = isStrictHexString;\n/**\n * Assert that a value is a valid hex string.\n *\n * @param value - The value to check.\n * @throws If the value is not a valid hex string.\n */\nfunction assertIsHexString(value) {\n (0, assert_1.assert)(isHexString(value), 'Value must be a hexadecimal string.');\n}\nexports.assertIsHexString = assertIsHexString;\n/**\n * Assert that a value is a valid hex string. A valid hex string must start with\n * the \"0x\"-prefix.\n *\n * @param value - The value to check.\n * @throws If the value is not a valid hex string.\n */\nfunction assertIsStrictHexString(value) {\n (0, assert_1.assert)(isStrictHexString(value), 'Value must be a hexadecimal string, starting with \"0x\".');\n}\nexports.assertIsStrictHexString = assertIsStrictHexString;\n/**\n * Add the `0x`-prefix to a hexadecimal string. If the string already has the\n * prefix, it is returned as-is.\n *\n * @param hexadecimal - The hexadecimal string to add the prefix to.\n * @returns The prefixed hexadecimal string.\n */\nfunction add0x(hexadecimal) {\n if (hexadecimal.startsWith('0x')) {\n return hexadecimal;\n }\n if (hexadecimal.startsWith('0X')) {\n return `0x${hexadecimal.substring(2)}`;\n }\n return `0x${hexadecimal}`;\n}\nexports.add0x = add0x;\n/**\n * Remove the `0x`-prefix from a hexadecimal string. If the string doesn't have\n * the prefix, it is returned as-is.\n *\n * @param hexadecimal - The hexadecimal string to remove the prefix from.\n * @returns The un-prefixed hexadecimal string.\n */\nfunction remove0x(hexadecimal) {\n if (hexadecimal.startsWith('0x') || hexadecimal.startsWith('0X')) {\n return hexadecimal.substring(2);\n }\n return hexadecimal;\n}\nexports.remove0x = remove0x;\n//# sourceMappingURL=hex.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createDataView = exports.concatBytes = exports.valueToBytes = exports.stringToBytes = exports.numberToBytes = exports.signedBigIntToBytes = exports.bigIntToBytes = exports.hexToBytes = exports.bytesToString = exports.bytesToNumber = exports.bytesToSignedBigInt = exports.bytesToBigInt = exports.bytesToHex = exports.assertIsBytes = exports.isBytes = void 0;\nconst assert_1 = require(\"./assert\");\nconst hex_1 = require(\"./hex\");\n// '0'.charCodeAt(0) === 48\nconst HEX_MINIMUM_NUMBER_CHARACTER = 48;\n// '9'.charCodeAt(0) === 57\nconst HEX_MAXIMUM_NUMBER_CHARACTER = 58;\nconst HEX_CHARACTER_OFFSET = 87;\n/**\n * Memoized function that returns an array to be used as a lookup table for\n * converting bytes to hexadecimal values.\n *\n * The array is created lazily and then cached for future use. The benefit of\n * this approach is that the performance of converting bytes to hex is much\n * better than if we were to call `toString(16)` on each byte.\n *\n * The downside is that the array is created once and then never garbage\n * collected. This is not a problem in practice because the array is only 256\n * elements long.\n *\n * @returns A function that returns the lookup table.\n */\nfunction getPrecomputedHexValuesBuilder() {\n // To avoid issues with tree shaking, we need to use a function to return the\n // array. This is because the array is only used in the `bytesToHex` function\n // and if we were to use a global variable, the array might be removed by the\n // tree shaker.\n const lookupTable = [];\n return () => {\n if (lookupTable.length === 0) {\n for (let i = 0; i < 256; i++) {\n lookupTable.push(i.toString(16).padStart(2, '0'));\n }\n }\n return lookupTable;\n };\n}\n/**\n * Function implementation of the {@link getPrecomputedHexValuesBuilder}\n * function.\n */\nconst getPrecomputedHexValues = getPrecomputedHexValuesBuilder();\n/**\n * Check if a value is a `Uint8Array`.\n *\n * @param value - The value to check.\n * @returns Whether the value is a `Uint8Array`.\n */\nfunction isBytes(value) {\n return value instanceof Uint8Array;\n}\nexports.isBytes = isBytes;\n/**\n * Assert that a value is a `Uint8Array`.\n *\n * @param value - The value to check.\n * @throws If the value is not a `Uint8Array`.\n */\nfunction assertIsBytes(value) {\n (0, assert_1.assert)(isBytes(value), 'Value must be a Uint8Array.');\n}\nexports.assertIsBytes = assertIsBytes;\n/**\n * Convert a `Uint8Array` to a hexadecimal string.\n *\n * @param bytes - The bytes to convert to a hexadecimal string.\n * @returns The hexadecimal string.\n */\nfunction bytesToHex(bytes) {\n assertIsBytes(bytes);\n if (bytes.length === 0) {\n return '0x';\n }\n const lookupTable = getPrecomputedHexValues();\n const hexadecimal = new Array(bytes.length);\n for (let i = 0; i < bytes.length; i++) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n hexadecimal[i] = lookupTable[bytes[i]];\n }\n return (0, hex_1.add0x)(hexadecimal.join(''));\n}\nexports.bytesToHex = bytesToHex;\n/**\n * Convert a `Uint8Array` to a `bigint`.\n *\n * To convert a `Uint8Array` to a `number` instead, use {@link bytesToNumber}.\n * To convert a two's complement encoded `Uint8Array` to a `bigint`, use\n * {@link bytesToSignedBigInt}.\n *\n * @param bytes - The bytes to convert to a `bigint`.\n * @returns The `bigint`.\n */\nfunction bytesToBigInt(bytes) {\n assertIsBytes(bytes);\n const hexadecimal = bytesToHex(bytes);\n return BigInt(hexadecimal);\n}\nexports.bytesToBigInt = bytesToBigInt;\n/**\n * Convert a `Uint8Array` to a signed `bigint`. This assumes that the bytes are\n * encoded in two's complement.\n *\n * To convert a `Uint8Array` to an unsigned `bigint` instead, use\n * {@link bytesToBigInt}.\n *\n * @see https://en.wikipedia.org/wiki/Two%27s_complement\n * @param bytes - The bytes to convert to a signed `bigint`.\n * @returns The signed `bigint`.\n */\nfunction bytesToSignedBigInt(bytes) {\n assertIsBytes(bytes);\n let value = BigInt(0);\n for (const byte of bytes) {\n // eslint-disable-next-line no-bitwise\n value = (value << BigInt(8)) + BigInt(byte);\n }\n return BigInt.asIntN(bytes.length * 8, value);\n}\nexports.bytesToSignedBigInt = bytesToSignedBigInt;\n/**\n * Convert a `Uint8Array` to a `number`.\n *\n * To convert a `Uint8Array` to a `bigint` instead, use {@link bytesToBigInt}.\n *\n * @param bytes - The bytes to convert to a number.\n * @returns The number.\n * @throws If the resulting number is not a safe integer.\n */\nfunction bytesToNumber(bytes) {\n assertIsBytes(bytes);\n const bigint = bytesToBigInt(bytes);\n (0, assert_1.assert)(bigint <= BigInt(Number.MAX_SAFE_INTEGER), 'Number is not a safe integer. Use `bytesToBigInt` instead.');\n return Number(bigint);\n}\nexports.bytesToNumber = bytesToNumber;\n/**\n * Convert a UTF-8 encoded `Uint8Array` to a `string`.\n *\n * @param bytes - The bytes to convert to a string.\n * @returns The string.\n */\nfunction bytesToString(bytes) {\n assertIsBytes(bytes);\n return new TextDecoder().decode(bytes);\n}\nexports.bytesToString = bytesToString;\n/**\n * Convert a hexadecimal string to a `Uint8Array`. The string can optionally be\n * prefixed with `0x`. It accepts even and odd length strings.\n *\n * If the value is \"0x\", an empty `Uint8Array` is returned.\n *\n * @param value - The hexadecimal string to convert to bytes.\n * @returns The bytes as `Uint8Array`.\n */\nfunction hexToBytes(value) {\n var _a;\n // \"0x\" is often used as empty byte array.\n if (((_a = value === null || value === void 0 ? void 0 : value.toLowerCase) === null || _a === void 0 ? void 0 : _a.call(value)) === '0x') {\n return new Uint8Array();\n }\n (0, hex_1.assertIsHexString)(value);\n // Remove the `0x` prefix if it exists, and pad the string to have an even\n // number of characters.\n const strippedValue = (0, hex_1.remove0x)(value).toLowerCase();\n const normalizedValue = strippedValue.length % 2 === 0 ? strippedValue : `0${strippedValue}`;\n const bytes = new Uint8Array(normalizedValue.length / 2);\n for (let i = 0; i < bytes.length; i++) {\n // While this is not the prettiest way to convert a hexadecimal string to a\n // `Uint8Array`, it is a lot faster than using `parseInt` to convert each\n // character.\n const c1 = normalizedValue.charCodeAt(i * 2);\n const c2 = normalizedValue.charCodeAt(i * 2 + 1);\n const n1 = c1 -\n (c1 < HEX_MAXIMUM_NUMBER_CHARACTER\n ? HEX_MINIMUM_NUMBER_CHARACTER\n : HEX_CHARACTER_OFFSET);\n const n2 = c2 -\n (c2 < HEX_MAXIMUM_NUMBER_CHARACTER\n ? HEX_MINIMUM_NUMBER_CHARACTER\n : HEX_CHARACTER_OFFSET);\n bytes[i] = n1 * 16 + n2;\n }\n return bytes;\n}\nexports.hexToBytes = hexToBytes;\n/**\n * Convert a `bigint` to a `Uint8Array`.\n *\n * This assumes that the `bigint` is an unsigned integer. To convert a signed\n * `bigint` instead, use {@link signedBigIntToBytes}.\n *\n * @param value - The bigint to convert to bytes.\n * @returns The bytes as `Uint8Array`.\n */\nfunction bigIntToBytes(value) {\n (0, assert_1.assert)(typeof value === 'bigint', 'Value must be a bigint.');\n (0, assert_1.assert)(value >= BigInt(0), 'Value must be a non-negative bigint.');\n const hexadecimal = value.toString(16);\n return hexToBytes(hexadecimal);\n}\nexports.bigIntToBytes = bigIntToBytes;\n/**\n * Check if a `bigint` fits in a certain number of bytes.\n *\n * @param value - The `bigint` to check.\n * @param bytes - The number of bytes.\n * @returns Whether the `bigint` fits in the number of bytes.\n */\nfunction bigIntFits(value, bytes) {\n (0, assert_1.assert)(bytes > 0);\n /* eslint-disable no-bitwise */\n const mask = value >> BigInt(31);\n return !(((~value & mask) + (value & ~mask)) >> BigInt(bytes * 8 + ~0));\n /* eslint-enable no-bitwise */\n}\n/**\n * Convert a signed `bigint` to a `Uint8Array`. This uses two's complement\n * encoding to represent negative numbers.\n *\n * To convert an unsigned `bigint` to a `Uint8Array` instead, use\n * {@link bigIntToBytes}.\n *\n * @see https://en.wikipedia.org/wiki/Two%27s_complement\n * @param value - The number to convert to bytes.\n * @param byteLength - The length of the resulting `Uint8Array`. If the number\n * is larger than the maximum value that can be represented by the given length,\n * an error is thrown.\n * @returns The bytes as `Uint8Array`.\n */\nfunction signedBigIntToBytes(value, byteLength) {\n (0, assert_1.assert)(typeof value === 'bigint', 'Value must be a bigint.');\n (0, assert_1.assert)(typeof byteLength === 'number', 'Byte length must be a number.');\n (0, assert_1.assert)(byteLength > 0, 'Byte length must be greater than 0.');\n (0, assert_1.assert)(bigIntFits(value, byteLength), 'Byte length is too small to represent the given value.');\n // ESLint doesn't like mutating function parameters, so to avoid having to\n // disable the rule, we create a new variable.\n let numberValue = value;\n const bytes = new Uint8Array(byteLength);\n for (let i = 0; i < bytes.length; i++) {\n bytes[i] = Number(BigInt.asUintN(8, numberValue));\n // eslint-disable-next-line no-bitwise\n numberValue >>= BigInt(8);\n }\n return bytes.reverse();\n}\nexports.signedBigIntToBytes = signedBigIntToBytes;\n/**\n * Convert a `number` to a `Uint8Array`.\n *\n * @param value - The number to convert to bytes.\n * @returns The bytes as `Uint8Array`.\n * @throws If the number is not a safe integer.\n */\nfunction numberToBytes(value) {\n (0, assert_1.assert)(typeof value === 'number', 'Value must be a number.');\n (0, assert_1.assert)(value >= 0, 'Value must be a non-negative number.');\n (0, assert_1.assert)(Number.isSafeInteger(value), 'Value is not a safe integer. Use `bigIntToBytes` instead.');\n const hexadecimal = value.toString(16);\n return hexToBytes(hexadecimal);\n}\nexports.numberToBytes = numberToBytes;\n/**\n * Convert a `string` to a UTF-8 encoded `Uint8Array`.\n *\n * @param value - The string to convert to bytes.\n * @returns The bytes as `Uint8Array`.\n */\nfunction stringToBytes(value) {\n (0, assert_1.assert)(typeof value === 'string', 'Value must be a string.');\n return new TextEncoder().encode(value);\n}\nexports.stringToBytes = stringToBytes;\n/**\n * Convert a byte-like value to a `Uint8Array`. The value can be a `Uint8Array`,\n * a `bigint`, a `number`, or a `string`.\n *\n * This will attempt to guess the type of the value based on its type and\n * contents. For more control over the conversion, use the more specific\n * conversion functions, such as {@link hexToBytes} or {@link stringToBytes}.\n *\n * If the value is a `string`, and it is prefixed with `0x`, it will be\n * interpreted as a hexadecimal string. Otherwise, it will be interpreted as a\n * UTF-8 string. To convert a hexadecimal string to bytes without interpreting\n * it as a UTF-8 string, use {@link hexToBytes} instead.\n *\n * If the value is a `bigint`, it is assumed to be unsigned. To convert a signed\n * `bigint` to bytes, use {@link signedBigIntToBytes} instead.\n *\n * If the value is a `Uint8Array`, it will be returned as-is.\n *\n * @param value - The value to convert to bytes.\n * @returns The bytes as `Uint8Array`.\n */\nfunction valueToBytes(value) {\n if (typeof value === 'bigint') {\n return bigIntToBytes(value);\n }\n if (typeof value === 'number') {\n return numberToBytes(value);\n }\n if (typeof value === 'string') {\n if (value.startsWith('0x')) {\n return hexToBytes(value);\n }\n return stringToBytes(value);\n }\n if (isBytes(value)) {\n return value;\n }\n throw new TypeError(`Unsupported value type: \"${typeof value}\".`);\n}\nexports.valueToBytes = valueToBytes;\n/**\n * Concatenate multiple byte-like values into a single `Uint8Array`. The values\n * can be `Uint8Array`, `bigint`, `number`, or `string`. This uses\n * {@link valueToBytes} under the hood to convert each value to bytes. Refer to\n * the documentation of that function for more information.\n *\n * @param values - The values to concatenate.\n * @returns The concatenated bytes as `Uint8Array`.\n */\nfunction concatBytes(values) {\n const normalizedValues = new Array(values.length);\n let byteLength = 0;\n for (let i = 0; i < values.length; i++) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const value = valueToBytes(values[i]);\n normalizedValues[i] = value;\n byteLength += value.length;\n }\n const bytes = new Uint8Array(byteLength);\n for (let i = 0, offset = 0; i < normalizedValues.length; i++) {\n // While we could simply spread the values into an array and use\n // `Uint8Array.from`, that is a lot slower than using `Uint8Array.set`.\n bytes.set(normalizedValues[i], offset);\n offset += normalizedValues[i].length;\n }\n return bytes;\n}\nexports.concatBytes = concatBytes;\n/**\n * Create a {@link DataView} from a {@link Uint8Array}. This is a convenience\n * function that avoids having to create a {@link DataView} manually, which\n * requires passing the `byteOffset` and `byteLength` parameters every time.\n *\n * Not passing the `byteOffset` and `byteLength` parameters can result in\n * unexpected behavior when the {@link Uint8Array} is a view of a larger\n * {@link ArrayBuffer}, e.g., when using {@link Uint8Array.subarray}.\n *\n * This function also supports Node.js {@link Buffer}s.\n *\n * @example\n * ```typescript\n * const bytes = new Uint8Array([1, 2, 3]);\n *\n * // This is equivalent to:\n * // const dataView = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n * const dataView = createDataView(bytes);\n * ```\n * @param bytes - The bytes to create the {@link DataView} from.\n * @returns The {@link DataView}.\n */\nfunction createDataView(bytes) {\n // To maintain compatibility with Node.js, we need to check if the bytes are\n // a Buffer. If so, we need to slice the buffer to get the underlying\n // ArrayBuffer.\n // eslint-disable-next-line no-restricted-globals\n if (typeof Buffer !== 'undefined' && bytes instanceof Buffer) {\n const buffer = bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength);\n return new DataView(buffer);\n }\n return new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n}\nexports.createDataView = createDataView;\n//# sourceMappingURL=bytes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChecksumStruct = void 0;\nconst superstruct_1 = require(\"superstruct\");\nconst base64_1 = require(\"./base64\");\nexports.ChecksumStruct = (0, superstruct_1.size)((0, base64_1.base64)((0, superstruct_1.string)(), { paddingRequired: true }), 44, 44);\n//# sourceMappingURL=checksum.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createHex = exports.createBytes = exports.createBigInt = exports.createNumber = void 0;\nconst superstruct_1 = require(\"superstruct\");\nconst assert_1 = require(\"./assert\");\nconst bytes_1 = require(\"./bytes\");\nconst hex_1 = require(\"./hex\");\nconst NumberLikeStruct = (0, superstruct_1.union)([(0, superstruct_1.number)(), (0, superstruct_1.bigint)(), (0, superstruct_1.string)(), hex_1.StrictHexStruct]);\nconst NumberCoercer = (0, superstruct_1.coerce)((0, superstruct_1.number)(), NumberLikeStruct, Number);\nconst BigIntCoercer = (0, superstruct_1.coerce)((0, superstruct_1.bigint)(), NumberLikeStruct, BigInt);\nconst BytesLikeStruct = (0, superstruct_1.union)([hex_1.StrictHexStruct, (0, superstruct_1.instance)(Uint8Array)]);\nconst BytesCoercer = (0, superstruct_1.coerce)((0, superstruct_1.instance)(Uint8Array), (0, superstruct_1.union)([hex_1.StrictHexStruct]), bytes_1.hexToBytes);\nconst HexCoercer = (0, superstruct_1.coerce)(hex_1.StrictHexStruct, (0, superstruct_1.instance)(Uint8Array), bytes_1.bytesToHex);\n/**\n * Create a number from a number-like value.\n *\n * - If the value is a number, it is returned as-is.\n * - If the value is a `bigint`, it is converted to a number.\n * - If the value is a string, it is interpreted as a decimal number.\n * - If the value is a hex string (i.e., it starts with \"0x\"), it is\n * interpreted as a hexadecimal number.\n *\n * This validates that the value is a number-like value, and that the resulting\n * number is not `NaN` or `Infinity`.\n *\n * @example\n * ```typescript\n * const value = createNumber('0x010203');\n * console.log(value); // 66051\n *\n * const otherValue = createNumber(123n);\n * console.log(otherValue); // 123\n * ```\n * @param value - The value to create the number from.\n * @returns The created number.\n * @throws If the value is not a number-like value, or if the resulting number\n * is `NaN` or `Infinity`.\n */\nfunction createNumber(value) {\n try {\n const result = (0, superstruct_1.create)(value, NumberCoercer);\n (0, assert_1.assert)(Number.isFinite(result), `Expected a number-like value, got \"${value}\".`);\n return result;\n }\n catch (error) {\n if (error instanceof superstruct_1.StructError) {\n throw new Error(`Expected a number-like value, got \"${value}\".`);\n }\n /* istanbul ignore next */\n throw error;\n }\n}\nexports.createNumber = createNumber;\n/**\n * Create a `bigint` from a number-like value.\n *\n * - If the value is a number, it is converted to a `bigint`.\n * - If the value is a `bigint`, it is returned as-is.\n * - If the value is a string, it is interpreted as a decimal number and\n * converted to a `bigint`.\n * - If the value is a hex string (i.e., it starts with \"0x\"), it is\n * interpreted as a hexadecimal number and converted to a `bigint`.\n *\n * @example\n * ```typescript\n * const value = createBigInt('0x010203');\n * console.log(value); // 16909060n\n *\n * const otherValue = createBigInt(123);\n * console.log(otherValue); // 123n\n * ```\n * @param value - The value to create the bigint from.\n * @returns The created bigint.\n * @throws If the value is not a number-like value.\n */\nfunction createBigInt(value) {\n try {\n // The `BigInt` constructor throws if the value is not a number-like value.\n // There is no need to validate the value manually.\n return (0, superstruct_1.create)(value, BigIntCoercer);\n }\n catch (error) {\n if (error instanceof superstruct_1.StructError) {\n throw new Error(`Expected a number-like value, got \"${String(error.value)}\".`);\n }\n /* istanbul ignore next */\n throw error;\n }\n}\nexports.createBigInt = createBigInt;\n/**\n * Create a byte array from a bytes-like value.\n *\n * - If the value is a byte array, it is returned as-is.\n * - If the value is a hex string (i.e., it starts with \"0x\"), it is interpreted\n * as a hexadecimal number and converted to a byte array.\n *\n * @example\n * ```typescript\n * const value = createBytes('0x010203');\n * console.log(value); // Uint8Array [ 1, 2, 3 ]\n *\n * const otherValue = createBytes('0x010203');\n * console.log(otherValue); // Uint8Array [ 1, 2, 3 ]\n * ```\n * @param value - The value to create the byte array from.\n * @returns The created byte array.\n * @throws If the value is not a bytes-like value.\n */\nfunction createBytes(value) {\n if (typeof value === 'string' && value.toLowerCase() === '0x') {\n return new Uint8Array();\n }\n try {\n return (0, superstruct_1.create)(value, BytesCoercer);\n }\n catch (error) {\n if (error instanceof superstruct_1.StructError) {\n throw new Error(`Expected a bytes-like value, got \"${String(error.value)}\".`);\n }\n /* istanbul ignore next */\n throw error;\n }\n}\nexports.createBytes = createBytes;\n/**\n * Create a hexadecimal string from a bytes-like value.\n *\n * - If the value is a hex string (i.e., it starts with \"0x\"), it is returned\n * as-is.\n * - If the value is a `Uint8Array`, it is converted to a hex string.\n *\n * @example\n * ```typescript\n * const value = createHex(new Uint8Array([1, 2, 3]));\n * console.log(value); // '0x010203'\n *\n * const otherValue = createHex('0x010203');\n * console.log(otherValue); // '0x010203'\n * ```\n * @param value - The value to create the hex string from.\n * @returns The created hex string.\n * @throws If the value is not a bytes-like value.\n */\nfunction createHex(value) {\n if ((value instanceof Uint8Array && value.length === 0) ||\n (typeof value === 'string' && value.toLowerCase() === '0x')) {\n return '0x';\n }\n try {\n return (0, superstruct_1.create)(value, HexCoercer);\n }\n catch (error) {\n if (error instanceof superstruct_1.StructError) {\n throw new Error(`Expected a bytes-like value, got \"${String(error.value)}\".`);\n }\n /* istanbul ignore next */\n throw error;\n }\n}\nexports.createHex = createHex;\n//# sourceMappingURL=coercers.js.map","\"use strict\";\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _FrozenMap_map, _FrozenSet_set;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FrozenSet = exports.FrozenMap = void 0;\n/**\n * A {@link ReadonlyMap} that cannot be modified after instantiation.\n * The implementation uses an inner map hidden via a private field, and the\n * immutability guarantee relies on it being impossible to get a reference\n * to this map.\n */\nclass FrozenMap {\n constructor(entries) {\n _FrozenMap_map.set(this, void 0);\n __classPrivateFieldSet(this, _FrozenMap_map, new Map(entries), \"f\");\n Object.freeze(this);\n }\n get size() {\n return __classPrivateFieldGet(this, _FrozenMap_map, \"f\").size;\n }\n [(_FrozenMap_map = new WeakMap(), Symbol.iterator)]() {\n return __classPrivateFieldGet(this, _FrozenMap_map, \"f\")[Symbol.iterator]();\n }\n entries() {\n return __classPrivateFieldGet(this, _FrozenMap_map, \"f\").entries();\n }\n forEach(callbackfn, thisArg) {\n // We have to wrap the specified callback in order to prevent it from\n // receiving a reference to the inner map.\n return __classPrivateFieldGet(this, _FrozenMap_map, \"f\").forEach((value, key, _map) => callbackfn.call(thisArg, value, key, this));\n }\n get(key) {\n return __classPrivateFieldGet(this, _FrozenMap_map, \"f\").get(key);\n }\n has(key) {\n return __classPrivateFieldGet(this, _FrozenMap_map, \"f\").has(key);\n }\n keys() {\n return __classPrivateFieldGet(this, _FrozenMap_map, \"f\").keys();\n }\n values() {\n return __classPrivateFieldGet(this, _FrozenMap_map, \"f\").values();\n }\n toString() {\n return `FrozenMap(${this.size}) {${this.size > 0\n ? ` ${[...this.entries()]\n .map(([key, value]) => `${String(key)} => ${String(value)}`)\n .join(', ')} `\n : ''}}`;\n }\n}\nexports.FrozenMap = FrozenMap;\n/**\n * A {@link ReadonlySet} that cannot be modified after instantiation.\n * The implementation uses an inner set hidden via a private field, and the\n * immutability guarantee relies on it being impossible to get a reference\n * to this set.\n */\nclass FrozenSet {\n constructor(values) {\n _FrozenSet_set.set(this, void 0);\n __classPrivateFieldSet(this, _FrozenSet_set, new Set(values), \"f\");\n Object.freeze(this);\n }\n get size() {\n return __classPrivateFieldGet(this, _FrozenSet_set, \"f\").size;\n }\n [(_FrozenSet_set = new WeakMap(), Symbol.iterator)]() {\n return __classPrivateFieldGet(this, _FrozenSet_set, \"f\")[Symbol.iterator]();\n }\n entries() {\n return __classPrivateFieldGet(this, _FrozenSet_set, \"f\").entries();\n }\n forEach(callbackfn, thisArg) {\n // We have to wrap the specified callback in order to prevent it from\n // receiving a reference to the inner set.\n return __classPrivateFieldGet(this, _FrozenSet_set, \"f\").forEach((value, value2, _set) => callbackfn.call(thisArg, value, value2, this));\n }\n has(value) {\n return __classPrivateFieldGet(this, _FrozenSet_set, \"f\").has(value);\n }\n keys() {\n return __classPrivateFieldGet(this, _FrozenSet_set, \"f\").keys();\n }\n values() {\n return __classPrivateFieldGet(this, _FrozenSet_set, \"f\").values();\n }\n toString() {\n return `FrozenSet(${this.size}) {${this.size > 0\n ? ` ${[...this.values()].map((member) => String(member)).join(', ')} `\n : ''}}`;\n }\n}\nexports.FrozenSet = FrozenSet;\nObject.freeze(FrozenMap);\nObject.freeze(FrozenMap.prototype);\nObject.freeze(FrozenSet);\nObject.freeze(FrozenSet.prototype);\n//# sourceMappingURL=collections.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=encryption-types.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getJsonRpcIdValidator = exports.assertIsJsonRpcError = exports.isJsonRpcError = exports.assertIsJsonRpcFailure = exports.isJsonRpcFailure = exports.assertIsJsonRpcSuccess = exports.isJsonRpcSuccess = exports.assertIsJsonRpcResponse = exports.isJsonRpcResponse = exports.assertIsPendingJsonRpcResponse = exports.isPendingJsonRpcResponse = exports.JsonRpcResponseStruct = exports.JsonRpcFailureStruct = exports.JsonRpcSuccessStruct = exports.PendingJsonRpcResponseStruct = exports.assertIsJsonRpcRequest = exports.isJsonRpcRequest = exports.assertIsJsonRpcNotification = exports.isJsonRpcNotification = exports.JsonRpcNotificationStruct = exports.JsonRpcRequestStruct = exports.JsonRpcParamsStruct = exports.JsonRpcErrorStruct = exports.JsonRpcIdStruct = exports.JsonRpcVersionStruct = exports.jsonrpc2 = exports.getJsonSize = exports.isValidJson = exports.JsonStruct = exports.UnsafeJsonStruct = void 0;\nconst superstruct_1 = require(\"superstruct\");\nconst assert_1 = require(\"./assert\");\n/**\n * A struct to check if the given value is finite number. Superstruct's\n * `number()` struct does not check if the value is finite.\n *\n * @returns A struct to check if the given value is finite number.\n */\nconst finiteNumber = () => (0, superstruct_1.define)('finite number', (value) => {\n return (0, superstruct_1.is)(value, (0, superstruct_1.number)()) && Number.isFinite(value);\n});\n/**\n * A struct to check if the given value is a valid JSON-serializable value.\n *\n * Note that this struct is unsafe. For safe validation, use {@link JsonStruct}.\n */\n// We cannot infer the type of the struct, because it is recursive.\nexports.UnsafeJsonStruct = (0, superstruct_1.union)([\n (0, superstruct_1.literal)(null),\n (0, superstruct_1.boolean)(),\n finiteNumber(),\n (0, superstruct_1.string)(),\n (0, superstruct_1.array)((0, superstruct_1.lazy)(() => exports.UnsafeJsonStruct)),\n (0, superstruct_1.record)((0, superstruct_1.string)(), (0, superstruct_1.lazy)(() => exports.UnsafeJsonStruct)),\n]);\n/**\n * A struct to check if the given value is a valid JSON-serializable value.\n *\n * This struct sanitizes the value before validating it, so that it is safe to\n * use with untrusted input.\n */\nexports.JsonStruct = (0, superstruct_1.define)('Json', (value, context) => {\n /**\n * Helper function that runs the given struct validator and returns the\n * validation errors, if any. If the value is valid, it returns `true`.\n *\n * @param innerValue - The value to validate.\n * @param struct - The struct to use for validation.\n * @returns The validation errors, or `true` if the value is valid.\n */\n function checkStruct(innerValue, struct) {\n const iterator = struct.validator(innerValue, context);\n const errors = [...iterator];\n if (errors.length > 0) {\n return errors;\n }\n return true;\n }\n try {\n // The plain value must be a valid JSON value, but it may be altered in the\n // process of JSON serialization, so we need to validate it again after\n // serialization. This has the added benefit that the returned error messages\n // will be more helpful, as they will point to the exact location of the\n // invalid value.\n //\n // This seems overcomplicated, but without checking the plain value first,\n // there are some cases where the validation passes, even though the value is\n // not valid JSON. For example, `undefined` is not valid JSON, but serializing\n // it will remove it from the object, so the validation will pass.\n const unsafeResult = checkStruct(value, exports.UnsafeJsonStruct);\n if (unsafeResult !== true) {\n return unsafeResult;\n }\n // JavaScript engines are highly optimized for this specific use case of\n // JSON parsing and stringifying, so there should be no performance impact.\n return checkStruct(JSON.parse(JSON.stringify(value)), exports.UnsafeJsonStruct);\n }\n catch (error) {\n if (error instanceof RangeError) {\n return 'Circular reference detected';\n }\n return false;\n }\n});\n/**\n * Check if the given value is a valid {@link Json} value, i.e., a value that is\n * serializable to JSON.\n *\n * @param value - The value to check.\n * @returns Whether the value is a valid {@link Json} value.\n */\nfunction isValidJson(value) {\n return (0, superstruct_1.is)(value, exports.JsonStruct);\n}\nexports.isValidJson = isValidJson;\n/**\n * Get the size of a JSON value in bytes. This also validates the value.\n *\n * @param value - The JSON value to get the size of.\n * @returns The size of the JSON value in bytes.\n */\nfunction getJsonSize(value) {\n (0, assert_1.assertStruct)(value, exports.JsonStruct, 'Invalid JSON value');\n const json = JSON.stringify(value);\n return new TextEncoder().encode(json).byteLength;\n}\nexports.getJsonSize = getJsonSize;\n/**\n * The string '2.0'.\n */\nexports.jsonrpc2 = '2.0';\nexports.JsonRpcVersionStruct = (0, superstruct_1.literal)(exports.jsonrpc2);\nexports.JsonRpcIdStruct = (0, superstruct_1.nullable)((0, superstruct_1.union)([(0, superstruct_1.number)(), (0, superstruct_1.string)()]));\nexports.JsonRpcErrorStruct = (0, superstruct_1.object)({\n code: (0, superstruct_1.integer)(),\n message: (0, superstruct_1.string)(),\n data: (0, superstruct_1.optional)(exports.JsonStruct),\n stack: (0, superstruct_1.optional)((0, superstruct_1.string)()),\n});\nexports.JsonRpcParamsStruct = (0, superstruct_1.optional)((0, superstruct_1.union)([(0, superstruct_1.record)((0, superstruct_1.string)(), exports.JsonStruct), (0, superstruct_1.array)(exports.JsonStruct)]));\nexports.JsonRpcRequestStruct = (0, superstruct_1.object)({\n id: exports.JsonRpcIdStruct,\n jsonrpc: exports.JsonRpcVersionStruct,\n method: (0, superstruct_1.string)(),\n params: exports.JsonRpcParamsStruct,\n});\nexports.JsonRpcNotificationStruct = (0, superstruct_1.omit)(exports.JsonRpcRequestStruct, ['id']);\n/**\n * Check if the given value is a valid {@link JsonRpcNotification} object.\n *\n * @param value - The value to check.\n * @returns Whether the given value is a valid {@link JsonRpcNotification}\n * object.\n */\nfunction isJsonRpcNotification(value) {\n return (0, superstruct_1.is)(value, exports.JsonRpcNotificationStruct);\n}\nexports.isJsonRpcNotification = isJsonRpcNotification;\n/**\n * Assert that the given value is a valid {@link JsonRpcNotification} object.\n *\n * @param value - The value to check.\n * @param ErrorWrapper - The error class to throw if the assertion fails.\n * Defaults to {@link AssertionError}.\n * @throws If the given value is not a valid {@link JsonRpcNotification} object.\n */\nfunction assertIsJsonRpcNotification(value, \n// eslint-disable-next-line @typescript-eslint/naming-convention\nErrorWrapper) {\n (0, assert_1.assertStruct)(value, exports.JsonRpcNotificationStruct, 'Invalid JSON-RPC notification', ErrorWrapper);\n}\nexports.assertIsJsonRpcNotification = assertIsJsonRpcNotification;\n/**\n * Check if the given value is a valid {@link JsonRpcRequest} object.\n *\n * @param value - The value to check.\n * @returns Whether the given value is a valid {@link JsonRpcRequest} object.\n */\nfunction isJsonRpcRequest(value) {\n return (0, superstruct_1.is)(value, exports.JsonRpcRequestStruct);\n}\nexports.isJsonRpcRequest = isJsonRpcRequest;\n/**\n * Assert that the given value is a valid {@link JsonRpcRequest} object.\n *\n * @param value - The JSON-RPC request or notification to check.\n * @param ErrorWrapper - The error class to throw if the assertion fails.\n * Defaults to {@link AssertionError}.\n * @throws If the given value is not a valid {@link JsonRpcRequest} object.\n */\nfunction assertIsJsonRpcRequest(value, \n// eslint-disable-next-line @typescript-eslint/naming-convention\nErrorWrapper) {\n (0, assert_1.assertStruct)(value, exports.JsonRpcRequestStruct, 'Invalid JSON-RPC request', ErrorWrapper);\n}\nexports.assertIsJsonRpcRequest = assertIsJsonRpcRequest;\nexports.PendingJsonRpcResponseStruct = (0, superstruct_1.object)({\n id: exports.JsonRpcIdStruct,\n jsonrpc: exports.JsonRpcVersionStruct,\n result: (0, superstruct_1.optional)((0, superstruct_1.unknown)()),\n error: (0, superstruct_1.optional)(exports.JsonRpcErrorStruct),\n});\nexports.JsonRpcSuccessStruct = (0, superstruct_1.object)({\n id: exports.JsonRpcIdStruct,\n jsonrpc: exports.JsonRpcVersionStruct,\n result: exports.JsonStruct,\n});\nexports.JsonRpcFailureStruct = (0, superstruct_1.object)({\n id: exports.JsonRpcIdStruct,\n jsonrpc: exports.JsonRpcVersionStruct,\n error: exports.JsonRpcErrorStruct,\n});\nexports.JsonRpcResponseStruct = (0, superstruct_1.union)([\n exports.JsonRpcSuccessStruct,\n exports.JsonRpcFailureStruct,\n]);\n/**\n * Type guard to check whether specified JSON-RPC response is a\n * {@link PendingJsonRpcResponse}.\n *\n * @param response - The JSON-RPC response to check.\n * @returns Whether the specified JSON-RPC response is pending.\n */\nfunction isPendingJsonRpcResponse(response) {\n return (0, superstruct_1.is)(response, exports.PendingJsonRpcResponseStruct);\n}\nexports.isPendingJsonRpcResponse = isPendingJsonRpcResponse;\n/**\n * Assert that the given value is a valid {@link PendingJsonRpcResponse} object.\n *\n * @param response - The JSON-RPC response to check.\n * @param ErrorWrapper - The error class to throw if the assertion fails.\n * Defaults to {@link AssertionError}.\n * @throws If the given value is not a valid {@link PendingJsonRpcResponse}\n * object.\n */\nfunction assertIsPendingJsonRpcResponse(response, \n// eslint-disable-next-line @typescript-eslint/naming-convention\nErrorWrapper) {\n (0, assert_1.assertStruct)(response, exports.PendingJsonRpcResponseStruct, 'Invalid pending JSON-RPC response', ErrorWrapper);\n}\nexports.assertIsPendingJsonRpcResponse = assertIsPendingJsonRpcResponse;\n/**\n * Type guard to check if a value is a {@link JsonRpcResponse}.\n *\n * @param response - The object to check.\n * @returns Whether the object is a JsonRpcResponse.\n */\nfunction isJsonRpcResponse(response) {\n return (0, superstruct_1.is)(response, exports.JsonRpcResponseStruct);\n}\nexports.isJsonRpcResponse = isJsonRpcResponse;\n/**\n * Assert that the given value is a valid {@link JsonRpcResponse} object.\n *\n * @param value - The value to check.\n * @param ErrorWrapper - The error class to throw if the assertion fails.\n * Defaults to {@link AssertionError}.\n * @throws If the given value is not a valid {@link JsonRpcResponse} object.\n */\nfunction assertIsJsonRpcResponse(value, \n// eslint-disable-next-line @typescript-eslint/naming-convention\nErrorWrapper) {\n (0, assert_1.assertStruct)(value, exports.JsonRpcResponseStruct, 'Invalid JSON-RPC response', ErrorWrapper);\n}\nexports.assertIsJsonRpcResponse = assertIsJsonRpcResponse;\n/**\n * Check if the given value is a valid {@link JsonRpcSuccess} object.\n *\n * @param value - The value to check.\n * @returns Whether the given value is a valid {@link JsonRpcSuccess} object.\n */\nfunction isJsonRpcSuccess(value) {\n return (0, superstruct_1.is)(value, exports.JsonRpcSuccessStruct);\n}\nexports.isJsonRpcSuccess = isJsonRpcSuccess;\n/**\n * Assert that the given value is a valid {@link JsonRpcSuccess} object.\n *\n * @param value - The value to check.\n * @param ErrorWrapper - The error class to throw if the assertion fails.\n * Defaults to {@link AssertionError}.\n * @throws If the given value is not a valid {@link JsonRpcSuccess} object.\n */\nfunction assertIsJsonRpcSuccess(value, \n// eslint-disable-next-line @typescript-eslint/naming-convention\nErrorWrapper) {\n (0, assert_1.assertStruct)(value, exports.JsonRpcSuccessStruct, 'Invalid JSON-RPC success response', ErrorWrapper);\n}\nexports.assertIsJsonRpcSuccess = assertIsJsonRpcSuccess;\n/**\n * Check if the given value is a valid {@link JsonRpcFailure} object.\n *\n * @param value - The value to check.\n * @returns Whether the given value is a valid {@link JsonRpcFailure} object.\n */\nfunction isJsonRpcFailure(value) {\n return (0, superstruct_1.is)(value, exports.JsonRpcFailureStruct);\n}\nexports.isJsonRpcFailure = isJsonRpcFailure;\n/**\n * Assert that the given value is a valid {@link JsonRpcFailure} object.\n *\n * @param value - The value to check.\n * @param ErrorWrapper - The error class to throw if the assertion fails.\n * Defaults to {@link AssertionError}.\n * @throws If the given value is not a valid {@link JsonRpcFailure} object.\n */\nfunction assertIsJsonRpcFailure(value, \n// eslint-disable-next-line @typescript-eslint/naming-convention\nErrorWrapper) {\n (0, assert_1.assertStruct)(value, exports.JsonRpcFailureStruct, 'Invalid JSON-RPC failure response', ErrorWrapper);\n}\nexports.assertIsJsonRpcFailure = assertIsJsonRpcFailure;\n/**\n * Check if the given value is a valid {@link JsonRpcError} object.\n *\n * @param value - The value to check.\n * @returns Whether the given value is a valid {@link JsonRpcError} object.\n */\nfunction isJsonRpcError(value) {\n return (0, superstruct_1.is)(value, exports.JsonRpcErrorStruct);\n}\nexports.isJsonRpcError = isJsonRpcError;\n/**\n * Assert that the given value is a valid {@link JsonRpcError} object.\n *\n * @param value - The value to check.\n * @param ErrorWrapper - The error class to throw if the assertion fails.\n * Defaults to {@link AssertionError}.\n * @throws If the given value is not a valid {@link JsonRpcError} object.\n */\nfunction assertIsJsonRpcError(value, \n// eslint-disable-next-line @typescript-eslint/naming-convention\nErrorWrapper) {\n (0, assert_1.assertStruct)(value, exports.JsonRpcErrorStruct, 'Invalid JSON-RPC error', ErrorWrapper);\n}\nexports.assertIsJsonRpcError = assertIsJsonRpcError;\n/**\n * Gets a function for validating JSON-RPC request / response `id` values.\n *\n * By manipulating the options of this factory, you can control the behavior\n * of the resulting validator for some edge cases. This is useful because e.g.\n * `null` should sometimes but not always be permitted.\n *\n * Note that the empty string (`''`) is always permitted by the JSON-RPC\n * specification, but that kind of sucks and you may want to forbid it in some\n * instances anyway.\n *\n * For more details, see the\n * [JSON-RPC Specification](https://www.jsonrpc.org/specification).\n *\n * @param options - An options object.\n * @param options.permitEmptyString - Whether the empty string (i.e. `''`)\n * should be treated as a valid ID. Default: `true`\n * @param options.permitFractions - Whether fractional numbers (e.g. `1.2`)\n * should be treated as valid IDs. Default: `false`\n * @param options.permitNull - Whether `null` should be treated as a valid ID.\n * Default: `true`\n * @returns The JSON-RPC ID validator function.\n */\nfunction getJsonRpcIdValidator(options) {\n const { permitEmptyString, permitFractions, permitNull } = Object.assign({ permitEmptyString: true, permitFractions: false, permitNull: true }, options);\n /**\n * Type guard for {@link JsonRpcId}.\n *\n * @param id - The JSON-RPC ID value to check.\n * @returns Whether the given ID is valid per the options given to the\n * factory.\n */\n const isValidJsonRpcId = (id) => {\n return Boolean((typeof id === 'number' && (permitFractions || Number.isInteger(id))) ||\n (typeof id === 'string' && (permitEmptyString || id.length > 0)) ||\n (permitNull && id === null));\n };\n return isValidJsonRpcId;\n}\nexports.getJsonRpcIdValidator = getJsonRpcIdValidator;\n//# sourceMappingURL=json.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=keyring.js.map","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createModuleLogger = exports.createProjectLogger = void 0;\nconst debug_1 = __importDefault(require(\"debug\"));\nconst globalLogger = (0, debug_1.default)('metamask');\n/**\n * Creates a logger via the `debug` library whose log messages will be tagged\n * using the name of your project. By default, such messages will be\n * suppressed, but you can reveal them by setting the `DEBUG` environment\n * variable to `metamask:`. You can also set this variable to\n * `metamask:*` if you want to see log messages from all MetaMask projects that\n * are also using this function to create their loggers.\n *\n * @param projectName - The name of your project. This should be the name of\n * your NPM package if you're developing one.\n * @returns An instance of `debug`.\n */\nfunction createProjectLogger(projectName) {\n return globalLogger.extend(projectName);\n}\nexports.createProjectLogger = createProjectLogger;\n/**\n * Creates a logger via the `debug` library which is derived from the logger for\n * the whole project whose log messages will be tagged using the name of your\n * module. By default, such messages will be suppressed, but you can reveal them\n * by setting the `DEBUG` environment variable to\n * `metamask::`. You can also set this variable to\n * `metamask::*` if you want to see log messages from the project,\n * or `metamask:*` if you want to see log messages from all MetaMask projects.\n *\n * @param projectLogger - The logger created via {@link createProjectLogger}.\n * @param moduleName - The name of your module. You could use the name of the\n * file where you're using this logger or some other name.\n * @returns An instance of `debug`.\n */\nfunction createModuleLogger(projectLogger, moduleName) {\n return projectLogger.extend(moduleName);\n}\nexports.createModuleLogger = createModuleLogger;\n//# sourceMappingURL=logging.js.map","\"use strict\";\n//\n// Types\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.calculateNumberSize = exports.calculateStringSize = exports.isASCII = exports.isPlainObject = exports.ESCAPE_CHARACTERS_REGEXP = exports.JsonSize = exports.hasProperty = exports.isObject = exports.isNullOrUndefined = exports.isNonEmptyArray = void 0;\n//\n// Type Guards\n//\n/**\n * A {@link NonEmptyArray} type guard.\n *\n * @template Element - The non-empty array member type.\n * @param value - The value to check.\n * @returns Whether the value is a non-empty array.\n */\nfunction isNonEmptyArray(value) {\n return Array.isArray(value) && value.length > 0;\n}\nexports.isNonEmptyArray = isNonEmptyArray;\n/**\n * Type guard for \"nullishness\".\n *\n * @param value - Any value.\n * @returns `true` if the value is null or undefined, `false` otherwise.\n */\nfunction isNullOrUndefined(value) {\n return value === null || value === undefined;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n/**\n * A type guard for {@link RuntimeObject}.\n *\n * @param value - The value to check.\n * @returns Whether the specified value has a runtime type of `object` and is\n * neither `null` nor an `Array`.\n */\nfunction isObject(value) {\n return Boolean(value) && typeof value === 'object' && !Array.isArray(value);\n}\nexports.isObject = isObject;\n//\n// Other utility functions\n//\n/**\n * A type guard for ensuring an object has a property.\n *\n * @param objectToCheck - The object to check.\n * @param name - The property name to check for.\n * @returns Whether the specified object has an own property with the specified\n * name, regardless of whether it is enumerable or not.\n */\nconst hasProperty = (objectToCheck, name) => Object.hasOwnProperty.call(objectToCheck, name);\nexports.hasProperty = hasProperty;\n/**\n * Predefined sizes (in Bytes) of specific parts of JSON structure.\n */\nvar JsonSize;\n(function (JsonSize) {\n JsonSize[JsonSize[\"Null\"] = 4] = \"Null\";\n JsonSize[JsonSize[\"Comma\"] = 1] = \"Comma\";\n JsonSize[JsonSize[\"Wrapper\"] = 1] = \"Wrapper\";\n JsonSize[JsonSize[\"True\"] = 4] = \"True\";\n JsonSize[JsonSize[\"False\"] = 5] = \"False\";\n JsonSize[JsonSize[\"Quote\"] = 1] = \"Quote\";\n JsonSize[JsonSize[\"Colon\"] = 1] = \"Colon\";\n // eslint-disable-next-line @typescript-eslint/no-shadow\n JsonSize[JsonSize[\"Date\"] = 24] = \"Date\";\n})(JsonSize = exports.JsonSize || (exports.JsonSize = {}));\n/**\n * Regular expression with pattern matching for (special) escaped characters.\n */\nexports.ESCAPE_CHARACTERS_REGEXP = /\"|\\\\|\\n|\\r|\\t/gu;\n/**\n * Check if the value is plain object.\n *\n * @param value - Value to be checked.\n * @returns True if an object is the plain JavaScript object,\n * false if the object is not plain (e.g. function).\n */\nfunction isPlainObject(value) {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n try {\n let proto = value;\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n return Object.getPrototypeOf(value) === proto;\n }\n catch (_) {\n return false;\n }\n}\nexports.isPlainObject = isPlainObject;\n/**\n * Check if character is ASCII.\n *\n * @param character - Character.\n * @returns True if a character code is ASCII, false if not.\n */\nfunction isASCII(character) {\n return character.charCodeAt(0) <= 127;\n}\nexports.isASCII = isASCII;\n/**\n * Calculate string size.\n *\n * @param value - String value to calculate size.\n * @returns Number of bytes used to store whole string value.\n */\nfunction calculateStringSize(value) {\n var _a;\n const size = value.split('').reduce((total, character) => {\n if (isASCII(character)) {\n return total + 1;\n }\n return total + 2;\n }, 0);\n // Also detect characters that need backslash escape\n return size + ((_a = value.match(exports.ESCAPE_CHARACTERS_REGEXP)) !== null && _a !== void 0 ? _a : []).length;\n}\nexports.calculateStringSize = calculateStringSize;\n/**\n * Calculate size of a number ofter JSON serialization.\n *\n * @param value - Number value to calculate size.\n * @returns Number of bytes used to store whole number in JSON.\n */\nfunction calculateNumberSize(value) {\n return value.toString().length;\n}\nexports.calculateNumberSize = calculateNumberSize;\n//# sourceMappingURL=misc.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hexToBigInt = exports.hexToNumber = exports.bigIntToHex = exports.numberToHex = void 0;\nconst assert_1 = require(\"./assert\");\nconst hex_1 = require(\"./hex\");\n/**\n * Convert a number to a hexadecimal string. This verifies that the number is a\n * non-negative safe integer.\n *\n * To convert a `bigint` to a hexadecimal string instead, use\n * {@link bigIntToHex}.\n *\n * @example\n * ```typescript\n * numberToHex(0); // '0x0'\n * numberToHex(1); // '0x1'\n * numberToHex(16); // '0x10'\n * ```\n * @param value - The number to convert to a hexadecimal string.\n * @returns The hexadecimal string, with the \"0x\"-prefix.\n * @throws If the number is not a non-negative safe integer.\n */\nconst numberToHex = (value) => {\n (0, assert_1.assert)(typeof value === 'number', 'Value must be a number.');\n (0, assert_1.assert)(value >= 0, 'Value must be a non-negative number.');\n (0, assert_1.assert)(Number.isSafeInteger(value), 'Value is not a safe integer. Use `bigIntToHex` instead.');\n return (0, hex_1.add0x)(value.toString(16));\n};\nexports.numberToHex = numberToHex;\n/**\n * Convert a `bigint` to a hexadecimal string. This verifies that the `bigint`\n * is a non-negative integer.\n *\n * To convert a number to a hexadecimal string instead, use {@link numberToHex}.\n *\n * @example\n * ```typescript\n * bigIntToHex(0n); // '0x0'\n * bigIntToHex(1n); // '0x1'\n * bigIntToHex(16n); // '0x10'\n * ```\n * @param value - The `bigint` to convert to a hexadecimal string.\n * @returns The hexadecimal string, with the \"0x\"-prefix.\n * @throws If the `bigint` is not a non-negative integer.\n */\nconst bigIntToHex = (value) => {\n (0, assert_1.assert)(typeof value === 'bigint', 'Value must be a bigint.');\n (0, assert_1.assert)(value >= 0, 'Value must be a non-negative bigint.');\n return (0, hex_1.add0x)(value.toString(16));\n};\nexports.bigIntToHex = bigIntToHex;\n/**\n * Convert a hexadecimal string to a number. This verifies that the string is a\n * valid hex string, and that the resulting number is a safe integer. Both\n * \"0x\"-prefixed and unprefixed strings are supported.\n *\n * To convert a hexadecimal string to a `bigint` instead, use\n * {@link hexToBigInt}.\n *\n * @example\n * ```typescript\n * hexToNumber('0x0'); // 0\n * hexToNumber('0x1'); // 1\n * hexToNumber('0x10'); // 16\n * ```\n * @param value - The hexadecimal string to convert to a number.\n * @returns The number.\n * @throws If the value is not a valid hexadecimal string, or if the resulting\n * number is not a safe integer.\n */\nconst hexToNumber = (value) => {\n (0, hex_1.assertIsHexString)(value);\n // `parseInt` accepts values without the \"0x\"-prefix, whereas `Number` does\n // not. Using this is slightly faster than `Number(add0x(value))`.\n const numberValue = parseInt(value, 16);\n (0, assert_1.assert)(Number.isSafeInteger(numberValue), 'Value is not a safe integer. Use `hexToBigInt` instead.');\n return numberValue;\n};\nexports.hexToNumber = hexToNumber;\n/**\n * Convert a hexadecimal string to a `bigint`. This verifies that the string is\n * a valid hex string. Both \"0x\"-prefixed and unprefixed strings are supported.\n *\n * To convert a hexadecimal string to a number instead, use {@link hexToNumber}.\n *\n * @example\n * ```typescript\n * hexToBigInt('0x0'); // 0n\n * hexToBigInt('0x1'); // 1n\n * hexToBigInt('0x10'); // 16n\n * ```\n * @param value - The hexadecimal string to convert to a `bigint`.\n * @returns The `bigint`.\n * @throws If the value is not a valid hexadecimal string.\n */\nconst hexToBigInt = (value) => {\n (0, hex_1.assertIsHexString)(value);\n // The `BigInt` constructor requires the \"0x\"-prefix to parse a hex string.\n return BigInt((0, hex_1.add0x)(value));\n};\nexports.hexToBigInt = hexToBigInt;\n//# sourceMappingURL=number.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=opaque.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.timeSince = exports.inMilliseconds = exports.Duration = void 0;\n/**\n * Common duration constants, in milliseconds.\n */\nvar Duration;\n(function (Duration) {\n /**\n * A millisecond.\n */\n Duration[Duration[\"Millisecond\"] = 1] = \"Millisecond\";\n /**\n * A second, in milliseconds.\n */\n Duration[Duration[\"Second\"] = 1000] = \"Second\";\n /**\n * A minute, in milliseconds.\n */\n Duration[Duration[\"Minute\"] = 60000] = \"Minute\";\n /**\n * An hour, in milliseconds.\n */\n Duration[Duration[\"Hour\"] = 3600000] = \"Hour\";\n /**\n * A day, in milliseconds.\n */\n Duration[Duration[\"Day\"] = 86400000] = \"Day\";\n /**\n * A week, in milliseconds.\n */\n Duration[Duration[\"Week\"] = 604800000] = \"Week\";\n /**\n * A year, in milliseconds.\n */\n Duration[Duration[\"Year\"] = 31536000000] = \"Year\";\n})(Duration = exports.Duration || (exports.Duration = {}));\nconst isNonNegativeInteger = (number) => Number.isInteger(number) && number >= 0;\nconst assertIsNonNegativeInteger = (number, name) => {\n if (!isNonNegativeInteger(number)) {\n throw new Error(`\"${name}\" must be a non-negative integer. Received: \"${number}\".`);\n }\n};\n/**\n * Calculates the millisecond value of the specified number of units of time.\n *\n * @param count - The number of units of time.\n * @param duration - The unit of time to count.\n * @returns The count multiplied by the specified duration.\n */\nfunction inMilliseconds(count, duration) {\n assertIsNonNegativeInteger(count, 'count');\n return count * duration;\n}\nexports.inMilliseconds = inMilliseconds;\n/**\n * Gets the milliseconds since a particular Unix epoch timestamp.\n *\n * @param timestamp - A Unix millisecond timestamp.\n * @returns The number of milliseconds elapsed since the specified timestamp.\n */\nfunction timeSince(timestamp) {\n assertIsNonNegativeInteger(timestamp, 'timestamp');\n return Date.now() - timestamp;\n}\nexports.timeSince = timeSince;\n//# sourceMappingURL=time.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=transaction-types.js.map","// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n/* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\n// Max safe length for a build identifier. The max length minus 6 characters for\n// the shortest version with a build 0.0.0+BUILD.\nconst MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6\n\nconst RELEASE_TYPES = [\n 'major',\n 'premajor',\n 'minor',\n 'preminor',\n 'patch',\n 'prepatch',\n 'prerelease',\n]\n\nmodule.exports = {\n MAX_LENGTH,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 0b001,\n FLAG_LOOSE: 0b010,\n}\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","const {\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_LENGTH,\n} = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst safeRe = exports.safeRe = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst LETTERDASHNUMBER = '[a-zA-Z0-9-]'\n\n// Replace some greedy regex tokens to prevent regex dos issues. These regex are\n// used internally via the safeRe object since all inputs in this library get\n// normalized first to trim and collapse all extra whitespace. The original\n// regexes are exported for userland consumption and lower level usage. A\n// future breaking change could export the safer regex only with a note that\n// all input should have extra whitespace removed.\nconst safeRegexReplacements = [\n ['\\\\s', 1],\n ['\\\\d', MAX_LENGTH],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH],\n]\n\nconst makeSafeRegex = (value) => {\n for (const [token, max] of safeRegexReplacements) {\n value = value\n .split(`${token}*`).join(`${token}{0,${max}}`)\n .split(`${token}+`).join(`${token}{1,${max}}`)\n }\n return value\n}\n\nconst createToken = (name, value, isGlobal) => {\n const safe = makeSafeRegex(value)\n const index = R++\n debug(name, index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '\\\\d+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`)\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`)\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCEPLAIN', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`)\ncreateToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\\\d])`)\ncreateToken('COERCEFULL', src[t.COERCEPLAIN] +\n `(?:${src[t.PRERELEASE]})?` +\n `(?:${src[t.BUILD]})?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\ncreateToken('COERCERTLFULL', src[t.COERCEFULL], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$')\n","// parse out just the options we care about\nconst looseOption = Object.freeze({ loose: true })\nconst emptyOpts = Object.freeze({ })\nconst parseOptions = options => {\n if (!options) {\n return emptyOpts\n }\n\n if (typeof options !== 'object') {\n return looseOption\n }\n\n return options\n}\nmodule.exports = parseOptions\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers,\n}\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { safeRe: re, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier, identifierBase) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier, identifierBase)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier, identifierBase)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier, identifierBase)\n this.inc('pre', identifier, identifierBase)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier, identifierBase)\n }\n this.inc('pre', identifier, identifierBase)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre': {\n const base = Number(identifierBase) ? 1 : 0\n\n if (!identifier && identifierBase === false) {\n throw new Error('invalid increment argument: identifier is empty')\n }\n\n if (this.prerelease.length === 0) {\n this.prerelease = [base]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n if (identifier === this.prerelease.join('.') && identifierBase === false) {\n throw new Error('invalid increment argument: identifier already exists')\n }\n this.prerelease.push(base)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n let prerelease = [identifier, base]\n if (identifierBase === false) {\n prerelease = [identifier]\n }\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = prerelease\n }\n } else {\n this.prerelease = prerelease\n }\n }\n break\n }\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.raw = this.format()\n if (this.build.length) {\n this.raw += `+${this.build.join('.')}`\n }\n return this\n }\n}\n\nmodule.exports = SemVer\n","const SemVer = require('../classes/semver')\nconst parse = (version, options, throwErrors = false) => {\n if (version instanceof SemVer) {\n return version\n }\n try {\n return new SemVer(version, options)\n } catch (er) {\n if (!throwErrors) {\n return null\n }\n throw er\n }\n}\n\nmodule.exports = parse\n","const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","const parse = require('./parse')\nconst clean = (version, options) => {\n const s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\nmodule.exports = clean\n","const SemVer = require('../classes/semver')\n\nconst inc = (version, release, options, identifier, identifierBase) => {\n if (typeof (options) === 'string') {\n identifierBase = identifier\n identifier = options\n options = undefined\n }\n\n try {\n return new SemVer(\n version instanceof SemVer ? version.version : version,\n options\n ).inc(release, identifier, identifierBase).version\n } catch (er) {\n return null\n }\n}\nmodule.exports = inc\n","const parse = require('./parse.js')\n\nconst diff = (version1, version2) => {\n const v1 = parse(version1, null, true)\n const v2 = parse(version2, null, true)\n const comparison = v1.compare(v2)\n\n if (comparison === 0) {\n return null\n }\n\n const v1Higher = comparison > 0\n const highVersion = v1Higher ? v1 : v2\n const lowVersion = v1Higher ? v2 : v1\n const highHasPre = !!highVersion.prerelease.length\n const lowHasPre = !!lowVersion.prerelease.length\n\n if (lowHasPre && !highHasPre) {\n // Going from prerelease -> no prerelease requires some special casing\n\n // If the low version has only a major, then it will always be a major\n // Some examples:\n // 1.0.0-1 -> 1.0.0\n // 1.0.0-1 -> 1.1.1\n // 1.0.0-1 -> 2.0.0\n if (!lowVersion.patch && !lowVersion.minor) {\n return 'major'\n }\n\n // Otherwise it can be determined by checking the high version\n\n if (highVersion.patch) {\n // anything higher than a patch bump would result in the wrong version\n return 'patch'\n }\n\n if (highVersion.minor) {\n // anything higher than a minor bump would result in the wrong version\n return 'minor'\n }\n\n // bumping major/minor/patch all have same result\n return 'major'\n }\n\n // add the `pre` prefix if we are going to a prerelease version\n const prefix = highHasPre ? 'pre' : ''\n\n if (v1.major !== v2.major) {\n return prefix + 'major'\n }\n\n if (v1.minor !== v2.minor) {\n return prefix + 'minor'\n }\n\n if (v1.patch !== v2.patch) {\n return prefix + 'patch'\n }\n\n // high and low are preleases\n return 'prerelease'\n}\n\nmodule.exports = diff\n","const SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","const SemVer = require('../classes/semver')\nconst minor = (a, loose) => new SemVer(a, loose).minor\nmodule.exports = minor\n","const SemVer = require('../classes/semver')\nconst patch = (a, loose) => new SemVer(a, loose).patch\nmodule.exports = patch\n","const parse = require('./parse')\nconst prerelease = (version, options) => {\n const parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\nmodule.exports = prerelease\n","const SemVer = require('../classes/semver')\nconst compare = (a, b, loose) =>\n new SemVer(a, loose).compare(new SemVer(b, loose))\n\nmodule.exports = compare\n","const compare = require('./compare')\nconst rcompare = (a, b, loose) => compare(b, a, loose)\nmodule.exports = rcompare\n","const compare = require('./compare')\nconst compareLoose = (a, b) => compare(a, b, true)\nmodule.exports = compareLoose\n","const SemVer = require('../classes/semver')\nconst compareBuild = (a, b, loose) => {\n const versionA = new SemVer(a, loose)\n const versionB = new SemVer(b, loose)\n return versionA.compare(versionB) || versionA.compareBuild(versionB)\n}\nmodule.exports = compareBuild\n","const compareBuild = require('./compare-build')\nconst sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose))\nmodule.exports = sort\n","const compareBuild = require('./compare-build')\nconst rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose))\nmodule.exports = rsort\n","const compare = require('./compare')\nconst gt = (a, b, loose) => compare(a, b, loose) > 0\nmodule.exports = gt\n","const compare = require('./compare')\nconst lt = (a, b, loose) => compare(a, b, loose) < 0\nmodule.exports = lt\n","const compare = require('./compare')\nconst eq = (a, b, loose) => compare(a, b, loose) === 0\nmodule.exports = eq\n","const compare = require('./compare')\nconst neq = (a, b, loose) => compare(a, b, loose) !== 0\nmodule.exports = neq\n","const compare = require('./compare')\nconst gte = (a, b, loose) => compare(a, b, loose) >= 0\nmodule.exports = gte\n","const compare = require('./compare')\nconst lte = (a, b, loose) => compare(a, b, loose) <= 0\nmodule.exports = lte\n","const eq = require('./eq')\nconst neq = require('./neq')\nconst gt = require('./gt')\nconst gte = require('./gte')\nconst lt = require('./lt')\nconst lte = require('./lte')\n\nconst cmp = (a, op, b, loose) => {\n switch (op) {\n case '===':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a === b\n\n case '!==':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError(`Invalid operator: ${op}`)\n }\n}\nmodule.exports = cmp\n","const SemVer = require('../classes/semver')\nconst parse = require('./parse')\nconst { safeRe: re, t } = require('../internal/re')\n\nconst coerce = (version, options) => {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version === 'number') {\n version = String(version)\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n options = options || {}\n\n let match = null\n if (!options.rtl) {\n match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE])\n } else {\n // Find the right-most coercible string that does not share\n // a terminus with a more left-ward coercible string.\n // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'\n // With includePrerelease option set, '1.2.3.4-rc' wants to coerce '2.3.4-rc', not '2.3.4'\n //\n // Walk through the string checking with a /g regexp\n // Manually set the index so as to pick up overlapping matches.\n // Stop when we get a match that ends at the string end, since no\n // coercible string can be more right-ward without the same terminus.\n const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL]\n let next\n while ((next = coerceRtlRegex.exec(version)) &&\n (!match || match.index + match[0].length !== version.length)\n ) {\n if (!match ||\n next.index + next[0].length !== match.index + match[0].length) {\n match = next\n }\n coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length\n }\n // leave it in a clean state\n coerceRtlRegex.lastIndex = -1\n }\n\n if (match === null) {\n return null\n }\n\n const major = match[2]\n const minor = match[3] || '0'\n const patch = match[4] || '0'\n const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : ''\n const build = options.includePrerelease && match[6] ? `+${match[6]}` : ''\n\n return parse(`${major}.${minor}.${patch}${prerelease}${build}`, options)\n}\nmodule.exports = coerce\n","'use strict'\nmodule.exports = function (Yallist) {\n Yallist.prototype[Symbol.iterator] = function* () {\n for (let walker = this.head; walker; walker = walker.next) {\n yield walker.value\n }\n }\n}\n","'use strict'\nmodule.exports = Yallist\n\nYallist.Node = Node\nYallist.create = Yallist\n\nfunction Yallist (list) {\n var self = this\n if (!(self instanceof Yallist)) {\n self = new Yallist()\n }\n\n self.tail = null\n self.head = null\n self.length = 0\n\n if (list && typeof list.forEach === 'function') {\n list.forEach(function (item) {\n self.push(item)\n })\n } else if (arguments.length > 0) {\n for (var i = 0, l = arguments.length; i < l; i++) {\n self.push(arguments[i])\n }\n }\n\n return self\n}\n\nYallist.prototype.removeNode = function (node) {\n if (node.list !== this) {\n throw new Error('removing node which does not belong to this list')\n }\n\n var next = node.next\n var prev = node.prev\n\n if (next) {\n next.prev = prev\n }\n\n if (prev) {\n prev.next = next\n }\n\n if (node === this.head) {\n this.head = next\n }\n if (node === this.tail) {\n this.tail = prev\n }\n\n node.list.length--\n node.next = null\n node.prev = null\n node.list = null\n\n return next\n}\n\nYallist.prototype.unshiftNode = function (node) {\n if (node === this.head) {\n return\n }\n\n if (node.list) {\n node.list.removeNode(node)\n }\n\n var head = this.head\n node.list = this\n node.next = head\n if (head) {\n head.prev = node\n }\n\n this.head = node\n if (!this.tail) {\n this.tail = node\n }\n this.length++\n}\n\nYallist.prototype.pushNode = function (node) {\n if (node === this.tail) {\n return\n }\n\n if (node.list) {\n node.list.removeNode(node)\n }\n\n var tail = this.tail\n node.list = this\n node.prev = tail\n if (tail) {\n tail.next = node\n }\n\n this.tail = node\n if (!this.head) {\n this.head = node\n }\n this.length++\n}\n\nYallist.prototype.push = function () {\n for (var i = 0, l = arguments.length; i < l; i++) {\n push(this, arguments[i])\n }\n return this.length\n}\n\nYallist.prototype.unshift = function () {\n for (var i = 0, l = arguments.length; i < l; i++) {\n unshift(this, arguments[i])\n }\n return this.length\n}\n\nYallist.prototype.pop = function () {\n if (!this.tail) {\n return undefined\n }\n\n var res = this.tail.value\n this.tail = this.tail.prev\n if (this.tail) {\n this.tail.next = null\n } else {\n this.head = null\n }\n this.length--\n return res\n}\n\nYallist.prototype.shift = function () {\n if (!this.head) {\n return undefined\n }\n\n var res = this.head.value\n this.head = this.head.next\n if (this.head) {\n this.head.prev = null\n } else {\n this.tail = null\n }\n this.length--\n return res\n}\n\nYallist.prototype.forEach = function (fn, thisp) {\n thisp = thisp || this\n for (var walker = this.head, i = 0; walker !== null; i++) {\n fn.call(thisp, walker.value, i, this)\n walker = walker.next\n }\n}\n\nYallist.prototype.forEachReverse = function (fn, thisp) {\n thisp = thisp || this\n for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {\n fn.call(thisp, walker.value, i, this)\n walker = walker.prev\n }\n}\n\nYallist.prototype.get = function (n) {\n for (var i = 0, walker = this.head; walker !== null && i < n; i++) {\n // abort out of the list early if we hit a cycle\n walker = walker.next\n }\n if (i === n && walker !== null) {\n return walker.value\n }\n}\n\nYallist.prototype.getReverse = function (n) {\n for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {\n // abort out of the list early if we hit a cycle\n walker = walker.prev\n }\n if (i === n && walker !== null) {\n return walker.value\n }\n}\n\nYallist.prototype.map = function (fn, thisp) {\n thisp = thisp || this\n var res = new Yallist()\n for (var walker = this.head; walker !== null;) {\n res.push(fn.call(thisp, walker.value, this))\n walker = walker.next\n }\n return res\n}\n\nYallist.prototype.mapReverse = function (fn, thisp) {\n thisp = thisp || this\n var res = new Yallist()\n for (var walker = this.tail; walker !== null;) {\n res.push(fn.call(thisp, walker.value, this))\n walker = walker.prev\n }\n return res\n}\n\nYallist.prototype.reduce = function (fn, initial) {\n var acc\n var walker = this.head\n if (arguments.length > 1) {\n acc = initial\n } else if (this.head) {\n walker = this.head.next\n acc = this.head.value\n } else {\n throw new TypeError('Reduce of empty list with no initial value')\n }\n\n for (var i = 0; walker !== null; i++) {\n acc = fn(acc, walker.value, i)\n walker = walker.next\n }\n\n return acc\n}\n\nYallist.prototype.reduceReverse = function (fn, initial) {\n var acc\n var walker = this.tail\n if (arguments.length > 1) {\n acc = initial\n } else if (this.tail) {\n walker = this.tail.prev\n acc = this.tail.value\n } else {\n throw new TypeError('Reduce of empty list with no initial value')\n }\n\n for (var i = this.length - 1; walker !== null; i--) {\n acc = fn(acc, walker.value, i)\n walker = walker.prev\n }\n\n return acc\n}\n\nYallist.prototype.toArray = function () {\n var arr = new Array(this.length)\n for (var i = 0, walker = this.head; walker !== null; i++) {\n arr[i] = walker.value\n walker = walker.next\n }\n return arr\n}\n\nYallist.prototype.toArrayReverse = function () {\n var arr = new Array(this.length)\n for (var i = 0, walker = this.tail; walker !== null; i++) {\n arr[i] = walker.value\n walker = walker.prev\n }\n return arr\n}\n\nYallist.prototype.slice = function (from, to) {\n to = to || this.length\n if (to < 0) {\n to += this.length\n }\n from = from || 0\n if (from < 0) {\n from += this.length\n }\n var ret = new Yallist()\n if (to < from || to < 0) {\n return ret\n }\n if (from < 0) {\n from = 0\n }\n if (to > this.length) {\n to = this.length\n }\n for (var i = 0, walker = this.head; walker !== null && i < from; i++) {\n walker = walker.next\n }\n for (; walker !== null && i < to; i++, walker = walker.next) {\n ret.push(walker.value)\n }\n return ret\n}\n\nYallist.prototype.sliceReverse = function (from, to) {\n to = to || this.length\n if (to < 0) {\n to += this.length\n }\n from = from || 0\n if (from < 0) {\n from += this.length\n }\n var ret = new Yallist()\n if (to < from || to < 0) {\n return ret\n }\n if (from < 0) {\n from = 0\n }\n if (to > this.length) {\n to = this.length\n }\n for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {\n walker = walker.prev\n }\n for (; walker !== null && i > from; i--, walker = walker.prev) {\n ret.push(walker.value)\n }\n return ret\n}\n\nYallist.prototype.splice = function (start, deleteCount, ...nodes) {\n if (start > this.length) {\n start = this.length - 1\n }\n if (start < 0) {\n start = this.length + start;\n }\n\n for (var i = 0, walker = this.head; walker !== null && i < start; i++) {\n walker = walker.next\n }\n\n var ret = []\n for (var i = 0; walker && i < deleteCount; i++) {\n ret.push(walker.value)\n walker = this.removeNode(walker)\n }\n if (walker === null) {\n walker = this.tail\n }\n\n if (walker !== this.head && walker !== this.tail) {\n walker = walker.prev\n }\n\n for (var i = 0; i < nodes.length; i++) {\n walker = insert(this, walker, nodes[i])\n }\n return ret;\n}\n\nYallist.prototype.reverse = function () {\n var head = this.head\n var tail = this.tail\n for (var walker = head; walker !== null; walker = walker.prev) {\n var p = walker.prev\n walker.prev = walker.next\n walker.next = p\n }\n this.head = tail\n this.tail = head\n return this\n}\n\nfunction insert (self, node, value) {\n var inserted = node === self.head ?\n new Node(value, null, node, self) :\n new Node(value, node, node.next, self)\n\n if (inserted.next === null) {\n self.tail = inserted\n }\n if (inserted.prev === null) {\n self.head = inserted\n }\n\n self.length++\n\n return inserted\n}\n\nfunction push (self, item) {\n self.tail = new Node(item, self.tail, null, self)\n if (!self.head) {\n self.head = self.tail\n }\n self.length++\n}\n\nfunction unshift (self, item) {\n self.head = new Node(item, null, self.head, self)\n if (!self.tail) {\n self.tail = self.head\n }\n self.length++\n}\n\nfunction Node (value, prev, next, list) {\n if (!(this instanceof Node)) {\n return new Node(value, prev, next, list)\n }\n\n this.list = list\n this.value = value\n\n if (prev) {\n prev.next = this\n this.prev = prev\n } else {\n this.prev = null\n }\n\n if (next) {\n next.prev = this\n this.next = next\n } else {\n this.next = null\n }\n}\n\ntry {\n // add if support for Symbol.iterator is present\n require('./iterator.js')(Yallist)\n} catch (er) {}\n","'use strict'\n\n// A linked list to keep track of recently-used-ness\nconst Yallist = require('yallist')\n\nconst MAX = Symbol('max')\nconst LENGTH = Symbol('length')\nconst LENGTH_CALCULATOR = Symbol('lengthCalculator')\nconst ALLOW_STALE = Symbol('allowStale')\nconst MAX_AGE = Symbol('maxAge')\nconst DISPOSE = Symbol('dispose')\nconst NO_DISPOSE_ON_SET = Symbol('noDisposeOnSet')\nconst LRU_LIST = Symbol('lruList')\nconst CACHE = Symbol('cache')\nconst UPDATE_AGE_ON_GET = Symbol('updateAgeOnGet')\n\nconst naiveLength = () => 1\n\n// lruList is a yallist where the head is the youngest\n// item, and the tail is the oldest. the list contains the Hit\n// objects as the entries.\n// Each Hit object has a reference to its Yallist.Node. This\n// never changes.\n//\n// cache is a Map (or PseudoMap) that matches the keys to\n// the Yallist.Node object.\nclass LRUCache {\n constructor (options) {\n if (typeof options === 'number')\n options = { max: options }\n\n if (!options)\n options = {}\n\n if (options.max && (typeof options.max !== 'number' || options.max < 0))\n throw new TypeError('max must be a non-negative number')\n // Kind of weird to have a default max of Infinity, but oh well.\n const max = this[MAX] = options.max || Infinity\n\n const lc = options.length || naiveLength\n this[LENGTH_CALCULATOR] = (typeof lc !== 'function') ? naiveLength : lc\n this[ALLOW_STALE] = options.stale || false\n if (options.maxAge && typeof options.maxAge !== 'number')\n throw new TypeError('maxAge must be a number')\n this[MAX_AGE] = options.maxAge || 0\n this[DISPOSE] = options.dispose\n this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false\n this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false\n this.reset()\n }\n\n // resize the cache when the max changes.\n set max (mL) {\n if (typeof mL !== 'number' || mL < 0)\n throw new TypeError('max must be a non-negative number')\n\n this[MAX] = mL || Infinity\n trim(this)\n }\n get max () {\n return this[MAX]\n }\n\n set allowStale (allowStale) {\n this[ALLOW_STALE] = !!allowStale\n }\n get allowStale () {\n return this[ALLOW_STALE]\n }\n\n set maxAge (mA) {\n if (typeof mA !== 'number')\n throw new TypeError('maxAge must be a non-negative number')\n\n this[MAX_AGE] = mA\n trim(this)\n }\n get maxAge () {\n return this[MAX_AGE]\n }\n\n // resize the cache when the lengthCalculator changes.\n set lengthCalculator (lC) {\n if (typeof lC !== 'function')\n lC = naiveLength\n\n if (lC !== this[LENGTH_CALCULATOR]) {\n this[LENGTH_CALCULATOR] = lC\n this[LENGTH] = 0\n this[LRU_LIST].forEach(hit => {\n hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key)\n this[LENGTH] += hit.length\n })\n }\n trim(this)\n }\n get lengthCalculator () { return this[LENGTH_CALCULATOR] }\n\n get length () { return this[LENGTH] }\n get itemCount () { return this[LRU_LIST].length }\n\n rforEach (fn, thisp) {\n thisp = thisp || this\n for (let walker = this[LRU_LIST].tail; walker !== null;) {\n const prev = walker.prev\n forEachStep(this, fn, walker, thisp)\n walker = prev\n }\n }\n\n forEach (fn, thisp) {\n thisp = thisp || this\n for (let walker = this[LRU_LIST].head; walker !== null;) {\n const next = walker.next\n forEachStep(this, fn, walker, thisp)\n walker = next\n }\n }\n\n keys () {\n return this[LRU_LIST].toArray().map(k => k.key)\n }\n\n values () {\n return this[LRU_LIST].toArray().map(k => k.value)\n }\n\n reset () {\n if (this[DISPOSE] &&\n this[LRU_LIST] &&\n this[LRU_LIST].length) {\n this[LRU_LIST].forEach(hit => this[DISPOSE](hit.key, hit.value))\n }\n\n this[CACHE] = new Map() // hash of items by key\n this[LRU_LIST] = new Yallist() // list of items in order of use recency\n this[LENGTH] = 0 // length of items in the list\n }\n\n dump () {\n return this[LRU_LIST].map(hit =>\n isStale(this, hit) ? false : {\n k: hit.key,\n v: hit.value,\n e: hit.now + (hit.maxAge || 0)\n }).toArray().filter(h => h)\n }\n\n dumpLru () {\n return this[LRU_LIST]\n }\n\n set (key, value, maxAge) {\n maxAge = maxAge || this[MAX_AGE]\n\n if (maxAge && typeof maxAge !== 'number')\n throw new TypeError('maxAge must be a number')\n\n const now = maxAge ? Date.now() : 0\n const len = this[LENGTH_CALCULATOR](value, key)\n\n if (this[CACHE].has(key)) {\n if (len > this[MAX]) {\n del(this, this[CACHE].get(key))\n return false\n }\n\n const node = this[CACHE].get(key)\n const item = node.value\n\n // dispose of the old one before overwriting\n // split out into 2 ifs for better coverage tracking\n if (this[DISPOSE]) {\n if (!this[NO_DISPOSE_ON_SET])\n this[DISPOSE](key, item.value)\n }\n\n item.now = now\n item.maxAge = maxAge\n item.value = value\n this[LENGTH] += len - item.length\n item.length = len\n this.get(key)\n trim(this)\n return true\n }\n\n const hit = new Entry(key, value, len, now, maxAge)\n\n // oversized objects fall out of cache automatically.\n if (hit.length > this[MAX]) {\n if (this[DISPOSE])\n this[DISPOSE](key, value)\n\n return false\n }\n\n this[LENGTH] += hit.length\n this[LRU_LIST].unshift(hit)\n this[CACHE].set(key, this[LRU_LIST].head)\n trim(this)\n return true\n }\n\n has (key) {\n if (!this[CACHE].has(key)) return false\n const hit = this[CACHE].get(key).value\n return !isStale(this, hit)\n }\n\n get (key) {\n return get(this, key, true)\n }\n\n peek (key) {\n return get(this, key, false)\n }\n\n pop () {\n const node = this[LRU_LIST].tail\n if (!node)\n return null\n\n del(this, node)\n return node.value\n }\n\n del (key) {\n del(this, this[CACHE].get(key))\n }\n\n load (arr) {\n // reset the cache\n this.reset()\n\n const now = Date.now()\n // A previous serialized cache has the most recent items first\n for (let l = arr.length - 1; l >= 0; l--) {\n const hit = arr[l]\n const expiresAt = hit.e || 0\n if (expiresAt === 0)\n // the item was created without expiration in a non aged cache\n this.set(hit.k, hit.v)\n else {\n const maxAge = expiresAt - now\n // dont add already expired items\n if (maxAge > 0) {\n this.set(hit.k, hit.v, maxAge)\n }\n }\n }\n }\n\n prune () {\n this[CACHE].forEach((value, key) => get(this, key, false))\n }\n}\n\nconst get = (self, key, doUse) => {\n const node = self[CACHE].get(key)\n if (node) {\n const hit = node.value\n if (isStale(self, hit)) {\n del(self, node)\n if (!self[ALLOW_STALE])\n return undefined\n } else {\n if (doUse) {\n if (self[UPDATE_AGE_ON_GET])\n node.value.now = Date.now()\n self[LRU_LIST].unshiftNode(node)\n }\n }\n return hit.value\n }\n}\n\nconst isStale = (self, hit) => {\n if (!hit || (!hit.maxAge && !self[MAX_AGE]))\n return false\n\n const diff = Date.now() - hit.now\n return hit.maxAge ? diff > hit.maxAge\n : self[MAX_AGE] && (diff > self[MAX_AGE])\n}\n\nconst trim = self => {\n if (self[LENGTH] > self[MAX]) {\n for (let walker = self[LRU_LIST].tail;\n self[LENGTH] > self[MAX] && walker !== null;) {\n // We know that we're about to delete this one, and also\n // what the next least recently used key will be, so just\n // go ahead and set it now.\n const prev = walker.prev\n del(self, walker)\n walker = prev\n }\n }\n}\n\nconst del = (self, node) => {\n if (node) {\n const hit = node.value\n if (self[DISPOSE])\n self[DISPOSE](hit.key, hit.value)\n\n self[LENGTH] -= hit.length\n self[CACHE].delete(hit.key)\n self[LRU_LIST].removeNode(node)\n }\n}\n\nclass Entry {\n constructor (key, value, length, now, maxAge) {\n this.key = key\n this.value = value\n this.length = length\n this.now = now\n this.maxAge = maxAge || 0\n }\n}\n\nconst forEachStep = (self, fn, node, thisp) => {\n let hit = node.value\n if (isStale(self, hit)) {\n del(self, node)\n if (!self[ALLOW_STALE])\n hit = undefined\n }\n if (hit)\n fn.call(thisp, hit.value, hit.key, self)\n}\n\nmodule.exports = LRUCache\n","// hoisted class for cyclic dependency\nclass Range {\n constructor (range, options) {\n options = parseOptions(options)\n\n if (range instanceof Range) {\n if (\n range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease\n ) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n // just put it in the set and return\n this.raw = range.value\n this.set = [[range]]\n this.format()\n return this\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First reduce all whitespace as much as possible so we do not have to rely\n // on potentially slow regexes like \\s*. This is then stored and used for\n // future error messages as well.\n this.raw = range\n .trim()\n .split(/\\s+/)\n .join(' ')\n\n // First, split on ||\n this.set = this.raw\n .split('||')\n // map the range to a 2d array of comparators\n .map(r => this.parseRange(r.trim()))\n // throw out any comparator lists that are empty\n // this generally means that it was not a valid range, which is allowed\n // in loose mode, but will still throw if the WHOLE range is invalid.\n .filter(c => c.length)\n\n if (!this.set.length) {\n throw new TypeError(`Invalid SemVer Range: ${this.raw}`)\n }\n\n // if we have any that are not the null set, throw out null sets.\n if (this.set.length > 1) {\n // keep the first one, in case they're all null sets\n const first = this.set[0]\n this.set = this.set.filter(c => !isNullSet(c[0]))\n if (this.set.length === 0) {\n this.set = [first]\n } else if (this.set.length > 1) {\n // if we have any that are *, then the range is just *\n for (const c of this.set) {\n if (c.length === 1 && isAny(c[0])) {\n this.set = [c]\n break\n }\n }\n }\n }\n\n this.format()\n }\n\n format () {\n this.range = this.set\n .map((comps) => comps.join(' ').trim())\n .join('||')\n .trim()\n return this.range\n }\n\n toString () {\n return this.range\n }\n\n parseRange (range) {\n // memoize range parsing for performance.\n // this is a very hot path, and fully deterministic.\n const memoOpts =\n (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) |\n (this.options.loose && FLAG_LOOSE)\n const memoKey = memoOpts + ':' + range\n const cached = cache.get(memoKey)\n if (cached) {\n return cached\n }\n\n const loose = this.options.loose\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]\n range = range.replace(hr, hyphenReplace(this.options.includePrerelease))\n debug('hyphen replace', range)\n\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range)\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[t.TILDETRIM], tildeTrimReplace)\n debug('tilde trim', range)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[t.CARETTRIM], caretTrimReplace)\n debug('caret trim', range)\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n let rangeList = range\n .split(' ')\n .map(comp => parseComparator(comp, this.options))\n .join(' ')\n .split(/\\s+/)\n // >=0.0.0 is equivalent to *\n .map(comp => replaceGTE0(comp, this.options))\n\n if (loose) {\n // in loose mode, throw out any that are not valid comparators\n rangeList = rangeList.filter(comp => {\n debug('loose invalid filter', comp, this.options)\n return !!comp.match(re[t.COMPARATORLOOSE])\n })\n }\n debug('range list', rangeList)\n\n // if any comparators are the null set, then replace with JUST null set\n // if more than one comparator, remove any * comparators\n // also, don't include the same comparator more than once\n const rangeMap = new Map()\n const comparators = rangeList.map(comp => new Comparator(comp, this.options))\n for (const comp of comparators) {\n if (isNullSet(comp)) {\n return [comp]\n }\n rangeMap.set(comp.value, comp)\n }\n if (rangeMap.size > 1 && rangeMap.has('')) {\n rangeMap.delete('')\n }\n\n const result = [...rangeMap.values()]\n cache.set(memoKey, result)\n return result\n }\n\n intersects (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some((thisComparators) => {\n return (\n isSatisfiable(thisComparators, options) &&\n range.set.some((rangeComparators) => {\n return (\n isSatisfiable(rangeComparators, options) &&\n thisComparators.every((thisComparator) => {\n return rangeComparators.every((rangeComparator) => {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n )\n })\n )\n })\n }\n\n // if ANY of the sets match ALL of its comparators, then pass\n test (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n for (let i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n }\n}\n\nmodule.exports = Range\n\nconst LRU = require('lru-cache')\nconst cache = new LRU({ max: 1000 })\n\nconst parseOptions = require('../internal/parse-options')\nconst Comparator = require('./comparator')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst {\n safeRe: re,\n t,\n comparatorTrimReplace,\n tildeTrimReplace,\n caretTrimReplace,\n} = require('../internal/re')\nconst { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require('../internal/constants')\n\nconst isNullSet = c => c.value === '<0.0.0-0'\nconst isAny = c => c.value === ''\n\n// take a set of comparators and determine whether there\n// exists a version which can satisfy it\nconst isSatisfiable = (comparators, options) => {\n let result = true\n const remainingComparators = comparators.slice()\n let testComparator = remainingComparators.pop()\n\n while (result && remainingComparators.length) {\n result = remainingComparators.every((otherComparator) => {\n return testComparator.intersects(otherComparator, options)\n })\n\n testComparator = remainingComparators.pop()\n }\n\n return result\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nconst parseComparator = (comp, options) => {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nconst isX = id => !id || id.toLowerCase() === 'x' || id === '*'\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0\n// ~0.0.1 --> >=0.0.1 <0.1.0-0\nconst replaceTildes = (comp, options) => {\n return comp\n .trim()\n .split(/\\s+/)\n .map((c) => replaceTilde(c, options))\n .join(' ')\n}\n\nconst replaceTilde = (comp, options) => {\n const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('tilde', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0 <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0-0\n ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0-0\n ret = `>=${M}.${m}.${p\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0\n// ^1.2.3 --> >=1.2.3 <2.0.0-0\n// ^1.2.0 --> >=1.2.0 <2.0.0-0\n// ^0.0.1 --> >=0.0.1 <0.0.2-0\n// ^0.1.0 --> >=0.1.0 <0.2.0-0\nconst replaceCarets = (comp, options) => {\n return comp\n .trim()\n .split(/\\s+/)\n .map((c) => replaceCaret(c, options))\n .join(' ')\n}\n\nconst replaceCaret = (comp, options) => {\n debug('caret', comp, options)\n const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]\n const z = options.includePrerelease ? '-0' : ''\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('caret', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n if (M === '0') {\n ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`\n } else {\n ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${+M + 1}.0.0-0`\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p\n } <${+M + 1}.0.0-0`\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nconst replaceXRanges = (comp, options) => {\n debug('replaceXRanges', comp, options)\n return comp\n .split(/\\s+/)\n .map((c) => replaceXRange(c, options))\n .join(' ')\n}\n\nconst replaceXRange = (comp, options) => {\n comp = comp.trim()\n const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]\n return comp.replace(r, (ret, gtlt, M, m, p, pr) => {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n const xM = isX(M)\n const xm = xM || isX(m)\n const xp = xm || isX(p)\n const anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n // if we're including prereleases in the match, then we need\n // to fix this to -0, the lowest possible prerelease value\n pr = options.includePrerelease ? '-0' : ''\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0-0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n if (gtlt === '<') {\n pr = '-0'\n }\n\n ret = `${gtlt + M}.${m}.${p}${pr}`\n } else if (xm) {\n ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`\n } else if (xp) {\n ret = `>=${M}.${m}.0${pr\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nconst replaceStars = (comp, options) => {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp\n .trim()\n .replace(re[t.STAR], '')\n}\n\nconst replaceGTE0 = (comp, options) => {\n debug('replaceGTE0', comp, options)\n return comp\n .trim()\n .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '')\n}\n\n// This function is passed to string.replace(re[t.HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0-0\nconst hyphenReplace = incPr => ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr, tb) => {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = `>=${fM}.0.0${incPr ? '-0' : ''}`\n } else if (isX(fp)) {\n from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}`\n } else if (fpr) {\n from = `>=${from}`\n } else {\n from = `>=${from}${incPr ? '-0' : ''}`\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = `<${+tM + 1}.0.0-0`\n } else if (isX(tp)) {\n to = `<${tM}.${+tm + 1}.0-0`\n } else if (tpr) {\n to = `<=${tM}.${tm}.${tp}-${tpr}`\n } else if (incPr) {\n to = `<${tM}.${tm}.${+tp + 1}-0`\n } else {\n to = `<=${to}`\n }\n\n return `${from} ${to}`.trim()\n}\n\nconst testSet = (set, version, options) => {\n for (let i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (let i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === Comparator.ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n const allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n","const ANY = Symbol('SemVer ANY')\n// hoisted class for cyclic dependency\nclass Comparator {\n static get ANY () {\n return ANY\n }\n\n constructor (comp, options) {\n options = parseOptions(options)\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n comp = comp.trim().split(/\\s+/).join(' ')\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n }\n\n parse (comp) {\n const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]\n const m = comp.match(r)\n\n if (!m) {\n throw new TypeError(`Invalid comparator: ${comp}`)\n }\n\n this.operator = m[1] !== undefined ? m[1] : ''\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n }\n\n toString () {\n return this.value\n }\n\n test (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY || version === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n }\n\n intersects (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (this.operator === '') {\n if (this.value === '') {\n return true\n }\n return new Range(comp.value, options).test(this.value)\n } else if (comp.operator === '') {\n if (comp.value === '') {\n return true\n }\n return new Range(this.value, options).test(comp.semver)\n }\n\n options = parseOptions(options)\n\n // Special cases where nothing can possibly be lower\n if (options.includePrerelease &&\n (this.value === '<0.0.0-0' || comp.value === '<0.0.0-0')) {\n return false\n }\n if (!options.includePrerelease &&\n (this.value.startsWith('<0.0.0') || comp.value.startsWith('<0.0.0'))) {\n return false\n }\n\n // Same direction increasing (> or >=)\n if (this.operator.startsWith('>') && comp.operator.startsWith('>')) {\n return true\n }\n // Same direction decreasing (< or <=)\n if (this.operator.startsWith('<') && comp.operator.startsWith('<')) {\n return true\n }\n // same SemVer and both sides are inclusive (<= or >=)\n if (\n (this.semver.version === comp.semver.version) &&\n this.operator.includes('=') && comp.operator.includes('=')) {\n return true\n }\n // opposite directions less than\n if (cmp(this.semver, '<', comp.semver, options) &&\n this.operator.startsWith('>') && comp.operator.startsWith('<')) {\n return true\n }\n // opposite directions greater than\n if (cmp(this.semver, '>', comp.semver, options) &&\n this.operator.startsWith('<') && comp.operator.startsWith('>')) {\n return true\n }\n return false\n }\n}\n\nmodule.exports = Comparator\n\nconst parseOptions = require('../internal/parse-options')\nconst { safeRe: re, t } = require('../internal/re')\nconst cmp = require('../functions/cmp')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst Range = require('./range')\n","const Range = require('../classes/range')\nconst satisfies = (version, range, options) => {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\nmodule.exports = satisfies\n","const Range = require('../classes/range')\n\n// Mostly just for testing and legacy API reasons\nconst toComparators = (range, options) =>\n new Range(range, options).set\n .map(comp => comp.map(c => c.value).join(' ').trim().split(' '))\n\nmodule.exports = toComparators\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\n\nconst maxSatisfying = (versions, range, options) => {\n let max = null\n let maxSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\nmodule.exports = maxSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst minSatisfying = (versions, range, options) => {\n let min = null\n let minSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\nmodule.exports = minSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst gt = require('../functions/gt')\n\nconst minVersion = (range, loose) => {\n range = new Range(range, loose)\n\n let minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let setMin = null\n comparators.forEach((comparator) => {\n // Clone to avoid manipulating the comparator's semver object.\n const compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!setMin || gt(compver, setMin)) {\n setMin = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error(`Unexpected operation: ${comparator.operator}`)\n }\n })\n if (setMin && (!minver || gt(minver, setMin))) {\n minver = setMin\n }\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\nmodule.exports = minVersion\n","const Range = require('../classes/range')\nconst validRange = (range, options) => {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\nmodule.exports = validRange\n","const SemVer = require('../classes/semver')\nconst Comparator = require('../classes/comparator')\nconst { ANY } = Comparator\nconst Range = require('../classes/range')\nconst satisfies = require('../functions/satisfies')\nconst gt = require('../functions/gt')\nconst lt = require('../functions/lt')\nconst lte = require('../functions/lte')\nconst gte = require('../functions/gte')\n\nconst outside = (version, range, hilo, options) => {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n let gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisfies the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let high = null\n let low = null\n\n comparators.forEach((comparator) => {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nmodule.exports = outside\n","// Determine if version is greater than all the versions possible in the range.\nconst outside = require('./outside')\nconst gtr = (version, range, options) => outside(version, range, '>', options)\nmodule.exports = gtr\n","const outside = require('./outside')\n// Determine if version is less than all the versions possible in the range\nconst ltr = (version, range, options) => outside(version, range, '<', options)\nmodule.exports = ltr\n","const Range = require('../classes/range')\nconst intersects = (r1, r2, options) => {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2, options)\n}\nmodule.exports = intersects\n","// given a set of versions and a range, create a \"simplified\" range\n// that includes the same versions that the original range does\n// If the original range is shorter than the simplified one, return that.\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\nmodule.exports = (versions, range, options) => {\n const set = []\n let first = null\n let prev = null\n const v = versions.sort((a, b) => compare(a, b, options))\n for (const version of v) {\n const included = satisfies(version, range, options)\n if (included) {\n prev = version\n if (!first) {\n first = version\n }\n } else {\n if (prev) {\n set.push([first, prev])\n }\n prev = null\n first = null\n }\n }\n if (first) {\n set.push([first, null])\n }\n\n const ranges = []\n for (const [min, max] of set) {\n if (min === max) {\n ranges.push(min)\n } else if (!max && min === v[0]) {\n ranges.push('*')\n } else if (!max) {\n ranges.push(`>=${min}`)\n } else if (min === v[0]) {\n ranges.push(`<=${max}`)\n } else {\n ranges.push(`${min} - ${max}`)\n }\n }\n const simplified = ranges.join(' || ')\n const original = typeof range.raw === 'string' ? range.raw : String(range)\n return simplified.length < original.length ? simplified : range\n}\n","const Range = require('../classes/range.js')\nconst Comparator = require('../classes/comparator.js')\nconst { ANY } = Comparator\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\n\n// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff:\n// - Every simple range `r1, r2, ...` is a null set, OR\n// - Every simple range `r1, r2, ...` which is not a null set is a subset of\n// some `R1, R2, ...`\n//\n// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff:\n// - If c is only the ANY comparator\n// - If C is only the ANY comparator, return true\n// - Else if in prerelease mode, return false\n// - else replace c with `[>=0.0.0]`\n// - If C is only the ANY comparator\n// - if in prerelease mode, return true\n// - else replace C with `[>=0.0.0]`\n// - Let EQ be the set of = comparators in c\n// - If EQ is more than one, return true (null set)\n// - Let GT be the highest > or >= comparator in c\n// - Let LT be the lowest < or <= comparator in c\n// - If GT and LT, and GT.semver > LT.semver, return true (null set)\n// - If any C is a = range, and GT or LT are set, return false\n// - If EQ\n// - If GT, and EQ does not satisfy GT, return true (null set)\n// - If LT, and EQ does not satisfy LT, return true (null set)\n// - If EQ satisfies every C, return true\n// - Else return false\n// - If GT\n// - If GT.semver is lower than any > or >= comp in C, return false\n// - If GT is >=, and GT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the GT.semver tuple, return false\n// - If LT\n// - If LT.semver is greater than any < or <= comp in C, return false\n// - If LT is <=, and LT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the LT.semver tuple, return false\n// - Else return true\n\nconst subset = (sub, dom, options = {}) => {\n if (sub === dom) {\n return true\n }\n\n sub = new Range(sub, options)\n dom = new Range(dom, options)\n let sawNonNull = false\n\n OUTER: for (const simpleSub of sub.set) {\n for (const simpleDom of dom.set) {\n const isSub = simpleSubset(simpleSub, simpleDom, options)\n sawNonNull = sawNonNull || isSub !== null\n if (isSub) {\n continue OUTER\n }\n }\n // the null set is a subset of everything, but null simple ranges in\n // a complex range should be ignored. so if we saw a non-null range,\n // then we know this isn't a subset, but if EVERY simple range was null,\n // then it is a subset.\n if (sawNonNull) {\n return false\n }\n }\n return true\n}\n\nconst minimumVersionWithPreRelease = [new Comparator('>=0.0.0-0')]\nconst minimumVersion = [new Comparator('>=0.0.0')]\n\nconst simpleSubset = (sub, dom, options) => {\n if (sub === dom) {\n return true\n }\n\n if (sub.length === 1 && sub[0].semver === ANY) {\n if (dom.length === 1 && dom[0].semver === ANY) {\n return true\n } else if (options.includePrerelease) {\n sub = minimumVersionWithPreRelease\n } else {\n sub = minimumVersion\n }\n }\n\n if (dom.length === 1 && dom[0].semver === ANY) {\n if (options.includePrerelease) {\n return true\n } else {\n dom = minimumVersion\n }\n }\n\n const eqSet = new Set()\n let gt, lt\n for (const c of sub) {\n if (c.operator === '>' || c.operator === '>=') {\n gt = higherGT(gt, c, options)\n } else if (c.operator === '<' || c.operator === '<=') {\n lt = lowerLT(lt, c, options)\n } else {\n eqSet.add(c.semver)\n }\n }\n\n if (eqSet.size > 1) {\n return null\n }\n\n let gtltComp\n if (gt && lt) {\n gtltComp = compare(gt.semver, lt.semver, options)\n if (gtltComp > 0) {\n return null\n } else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) {\n return null\n }\n }\n\n // will iterate one or zero times\n for (const eq of eqSet) {\n if (gt && !satisfies(eq, String(gt), options)) {\n return null\n }\n\n if (lt && !satisfies(eq, String(lt), options)) {\n return null\n }\n\n for (const c of dom) {\n if (!satisfies(eq, String(c), options)) {\n return false\n }\n }\n\n return true\n }\n\n let higher, lower\n let hasDomLT, hasDomGT\n // if the subset has a prerelease, we need a comparator in the superset\n // with the same tuple and a prerelease, or it's not a subset\n let needDomLTPre = lt &&\n !options.includePrerelease &&\n lt.semver.prerelease.length ? lt.semver : false\n let needDomGTPre = gt &&\n !options.includePrerelease &&\n gt.semver.prerelease.length ? gt.semver : false\n // exception: <1.2.3-0 is the same as <1.2.3\n if (needDomLTPre && needDomLTPre.prerelease.length === 1 &&\n lt.operator === '<' && needDomLTPre.prerelease[0] === 0) {\n needDomLTPre = false\n }\n\n for (const c of dom) {\n hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>='\n hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<='\n if (gt) {\n if (needDomGTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomGTPre.major &&\n c.semver.minor === needDomGTPre.minor &&\n c.semver.patch === needDomGTPre.patch) {\n needDomGTPre = false\n }\n }\n if (c.operator === '>' || c.operator === '>=') {\n higher = higherGT(gt, c, options)\n if (higher === c && higher !== gt) {\n return false\n }\n } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options)) {\n return false\n }\n }\n if (lt) {\n if (needDomLTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomLTPre.major &&\n c.semver.minor === needDomLTPre.minor &&\n c.semver.patch === needDomLTPre.patch) {\n needDomLTPre = false\n }\n }\n if (c.operator === '<' || c.operator === '<=') {\n lower = lowerLT(lt, c, options)\n if (lower === c && lower !== lt) {\n return false\n }\n } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options)) {\n return false\n }\n }\n if (!c.operator && (lt || gt) && gtltComp !== 0) {\n return false\n }\n }\n\n // if there was a < or >, and nothing in the dom, then must be false\n // UNLESS it was limited by another range in the other direction.\n // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0\n if (gt && hasDomLT && !lt && gtltComp !== 0) {\n return false\n }\n\n if (lt && hasDomGT && !gt && gtltComp !== 0) {\n return false\n }\n\n // we needed a prerelease range in a specific tuple, but didn't get one\n // then this isn't a subset. eg >=1.2.3-pre is not a subset of >=1.0.0,\n // because it includes prereleases in the 1.2.3 tuple\n if (needDomGTPre || needDomLTPre) {\n return false\n }\n\n return true\n}\n\n// >=1.2.3 is lower than >1.2.3\nconst higherGT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options)\n return comp > 0 ? a\n : comp < 0 ? b\n : b.operator === '>' && a.operator === '>=' ? b\n : a\n}\n\n// <=1.2.3 is higher than <1.2.3\nconst lowerLT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options)\n return comp < 0 ? a\n : comp > 0 ? b\n : b.operator === '<' && a.operator === '<=' ? b\n : a\n}\n\nmodule.exports = subset\n","// just pre-load all the stuff that index.js lazily exports\nconst internalRe = require('./internal/re')\nconst constants = require('./internal/constants')\nconst SemVer = require('./classes/semver')\nconst identifiers = require('./internal/identifiers')\nconst parse = require('./functions/parse')\nconst valid = require('./functions/valid')\nconst clean = require('./functions/clean')\nconst inc = require('./functions/inc')\nconst diff = require('./functions/diff')\nconst major = require('./functions/major')\nconst minor = require('./functions/minor')\nconst patch = require('./functions/patch')\nconst prerelease = require('./functions/prerelease')\nconst compare = require('./functions/compare')\nconst rcompare = require('./functions/rcompare')\nconst compareLoose = require('./functions/compare-loose')\nconst compareBuild = require('./functions/compare-build')\nconst sort = require('./functions/sort')\nconst rsort = require('./functions/rsort')\nconst gt = require('./functions/gt')\nconst lt = require('./functions/lt')\nconst eq = require('./functions/eq')\nconst neq = require('./functions/neq')\nconst gte = require('./functions/gte')\nconst lte = require('./functions/lte')\nconst cmp = require('./functions/cmp')\nconst coerce = require('./functions/coerce')\nconst Comparator = require('./classes/comparator')\nconst Range = require('./classes/range')\nconst satisfies = require('./functions/satisfies')\nconst toComparators = require('./ranges/to-comparators')\nconst maxSatisfying = require('./ranges/max-satisfying')\nconst minSatisfying = require('./ranges/min-satisfying')\nconst minVersion = require('./ranges/min-version')\nconst validRange = require('./ranges/valid')\nconst outside = require('./ranges/outside')\nconst gtr = require('./ranges/gtr')\nconst ltr = require('./ranges/ltr')\nconst intersects = require('./ranges/intersects')\nconst simplifyRange = require('./ranges/simplify')\nconst subset = require('./ranges/subset')\nmodule.exports = {\n parse,\n valid,\n clean,\n inc,\n diff,\n major,\n minor,\n patch,\n prerelease,\n compare,\n rcompare,\n compareLoose,\n compareBuild,\n sort,\n rsort,\n gt,\n lt,\n eq,\n neq,\n gte,\n lte,\n cmp,\n coerce,\n Comparator,\n Range,\n satisfies,\n toComparators,\n maxSatisfying,\n minSatisfying,\n minVersion,\n validRange,\n outside,\n gtr,\n ltr,\n intersects,\n simplifyRange,\n subset,\n SemVer,\n re: internalRe.re,\n src: internalRe.src,\n tokens: internalRe.t,\n SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,\n RELEASE_TYPES: constants.RELEASE_TYPES,\n compareIdentifiers: identifiers.compareIdentifiers,\n rcompareIdentifiers: identifiers.rcompareIdentifiers,\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.satisfiesVersionRange = exports.gtRange = exports.gtVersion = exports.assertIsSemVerRange = exports.assertIsSemVerVersion = exports.isValidSemVerRange = exports.isValidSemVerVersion = exports.VersionRangeStruct = exports.VersionStruct = void 0;\nconst semver_1 = require(\"semver\");\nconst superstruct_1 = require(\"superstruct\");\nconst assert_1 = require(\"./assert\");\n/**\n * A struct for validating a version string.\n */\nexports.VersionStruct = (0, superstruct_1.refine)((0, superstruct_1.string)(), 'Version', (value) => {\n if ((0, semver_1.valid)(value) === null) {\n return `Expected SemVer version, got \"${value}\"`;\n }\n return true;\n});\nexports.VersionRangeStruct = (0, superstruct_1.refine)((0, superstruct_1.string)(), 'Version range', (value) => {\n if ((0, semver_1.validRange)(value) === null) {\n return `Expected SemVer range, got \"${value}\"`;\n }\n return true;\n});\n/**\n * Checks whether a SemVer version is valid.\n *\n * @param version - A potential version.\n * @returns `true` if the version is valid, and `false` otherwise.\n */\nfunction isValidSemVerVersion(version) {\n return (0, superstruct_1.is)(version, exports.VersionStruct);\n}\nexports.isValidSemVerVersion = isValidSemVerVersion;\n/**\n * Checks whether a SemVer version range is valid.\n *\n * @param versionRange - A potential version range.\n * @returns `true` if the version range is valid, and `false` otherwise.\n */\nfunction isValidSemVerRange(versionRange) {\n return (0, superstruct_1.is)(versionRange, exports.VersionRangeStruct);\n}\nexports.isValidSemVerRange = isValidSemVerRange;\n/**\n * Asserts that a value is a valid concrete SemVer version.\n *\n * @param version - A potential SemVer concrete version.\n */\nfunction assertIsSemVerVersion(version) {\n (0, assert_1.assertStruct)(version, exports.VersionStruct);\n}\nexports.assertIsSemVerVersion = assertIsSemVerVersion;\n/**\n * Asserts that a value is a valid SemVer range.\n *\n * @param range - A potential SemVer range.\n */\nfunction assertIsSemVerRange(range) {\n (0, assert_1.assertStruct)(range, exports.VersionRangeStruct);\n}\nexports.assertIsSemVerRange = assertIsSemVerRange;\n/**\n * Checks whether a SemVer version is greater than another.\n *\n * @param version1 - The left-hand version.\n * @param version2 - The right-hand version.\n * @returns `version1 > version2`.\n */\nfunction gtVersion(version1, version2) {\n return (0, semver_1.gt)(version1, version2);\n}\nexports.gtVersion = gtVersion;\n/**\n * Checks whether a SemVer version is greater than all possibilities in a range.\n *\n * @param version - A SemvVer version.\n * @param range - The range to check against.\n * @returns `version > range`.\n */\nfunction gtRange(version, range) {\n return (0, semver_1.gtr)(version, range);\n}\nexports.gtRange = gtRange;\n/**\n * Returns whether a SemVer version satisfies a SemVer range.\n *\n * @param version - The SemVer version to check.\n * @param versionRange - The SemVer version range to check against.\n * @returns Whether the version satisfied the version range.\n */\nfunction satisfiesVersionRange(version, versionRange) {\n return (0, semver_1.satisfies)(version, versionRange, {\n includePrerelease: true,\n });\n}\nexports.satisfiesVersionRange = satisfiesVersionRange;\n//# sourceMappingURL=versions.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./assert\"), exports);\n__exportStar(require(\"./base64\"), exports);\n__exportStar(require(\"./bytes\"), exports);\n__exportStar(require(\"./checksum\"), exports);\n__exportStar(require(\"./coercers\"), exports);\n__exportStar(require(\"./collections\"), exports);\n__exportStar(require(\"./encryption-types\"), exports);\n__exportStar(require(\"./hex\"), exports);\n__exportStar(require(\"./json\"), exports);\n__exportStar(require(\"./keyring\"), exports);\n__exportStar(require(\"./logging\"), exports);\n__exportStar(require(\"./misc\"), exports);\n__exportStar(require(\"./number\"), exports);\n__exportStar(require(\"./opaque\"), exports);\n__exportStar(require(\"./time\"), exports);\n__exportStar(require(\"./transaction-types\"), exports);\n__exportStar(require(\"./versions\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createModuleLogger = exports.projectLogger = void 0;\nconst utils_1 = require(\"@metamask/utils\");\nObject.defineProperty(exports, \"createModuleLogger\", { enumerable: true, get: function () { return utils_1.createModuleLogger; } });\nexports.projectLogger = (0, utils_1.createProjectLogger)('eth-block-tracker');\n//# sourceMappingURL=logging-utils.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PollingBlockTracker = void 0;\nconst json_rpc_random_id_1 = __importDefault(require(\"json-rpc-random-id\"));\nconst pify_1 = __importDefault(require(\"pify\"));\nconst BaseBlockTracker_1 = require(\"./BaseBlockTracker\");\nconst logging_utils_1 = require(\"./logging-utils\");\nconst log = (0, logging_utils_1.createModuleLogger)(logging_utils_1.projectLogger, 'polling-block-tracker');\nconst createRandomId = (0, json_rpc_random_id_1.default)();\nconst sec = 1000;\nclass PollingBlockTracker extends BaseBlockTracker_1.BaseBlockTracker {\n constructor(opts = {}) {\n var _a;\n // parse + validate args\n if (!opts.provider) {\n throw new Error('PollingBlockTracker - no provider specified.');\n }\n super(Object.assign(Object.assign({}, opts), { blockResetDuration: (_a = opts.blockResetDuration) !== null && _a !== void 0 ? _a : opts.pollingInterval }));\n // config\n this._provider = opts.provider;\n this._pollingInterval = opts.pollingInterval || 20 * sec;\n this._retryTimeout = opts.retryTimeout || this._pollingInterval / 10;\n this._keepEventLoopActive =\n opts.keepEventLoopActive === undefined ? true : opts.keepEventLoopActive;\n this._setSkipCacheFlag = opts.setSkipCacheFlag || false;\n }\n // trigger block polling\n async checkForLatestBlock() {\n await this._updateLatestBlock();\n return await this.getLatestBlock();\n }\n async _start() {\n this._synchronize();\n }\n async _end() {\n // No-op\n }\n async _synchronize() {\n var _a;\n while (this._isRunning) {\n try {\n await this._updateLatestBlock();\n const promise = timeout(this._pollingInterval, !this._keepEventLoopActive);\n this.emit('_waitingForNextIteration');\n await promise;\n }\n catch (err) {\n const newErr = new Error(`PollingBlockTracker - encountered an error while attempting to update latest block:\\n${(_a = err.stack) !== null && _a !== void 0 ? _a : err}`);\n try {\n this.emit('error', newErr);\n }\n catch (emitErr) {\n console.error(newErr);\n }\n const promise = timeout(this._retryTimeout, !this._keepEventLoopActive);\n this.emit('_waitingForNextIteration');\n await promise;\n }\n }\n }\n async _updateLatestBlock() {\n // fetch + set latest block\n const latestBlock = await this._fetchLatestBlock();\n this._newPotentialLatest(latestBlock);\n }\n async _fetchLatestBlock() {\n const req = {\n jsonrpc: '2.0',\n id: createRandomId(),\n method: 'eth_blockNumber',\n params: [],\n };\n if (this._setSkipCacheFlag) {\n req.skipCache = true;\n }\n log('Making request', req);\n const res = await (0, pify_1.default)((cb) => this._provider.sendAsync(req, cb))();\n log('Got response', res);\n if (res.error) {\n throw new Error(`PollingBlockTracker - encountered error fetching block:\\n${res.error.message}`);\n }\n return res.result;\n }\n}\nexports.PollingBlockTracker = PollingBlockTracker;\n/**\n * Waits for the specified amount of time.\n *\n * @param duration - The amount of time in milliseconds.\n * @param unref - Assuming this function is run in a Node context, governs\n * whether Node should wait before the `setTimeout` has completed before ending\n * the process (true for no, false for yes). Defaults to false.\n * @returns A promise that can be used to wait.\n */\nfunction timeout(duration, unref) {\n return new Promise((resolve) => {\n const timeoutRef = setTimeout(resolve, duration);\n // don't keep process open\n if (timeoutRef.unref && unref) {\n timeoutRef.unref();\n }\n });\n}\n//# sourceMappingURL=PollingBlockTracker.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SubscribeBlockTracker = void 0;\nconst json_rpc_random_id_1 = __importDefault(require(\"json-rpc-random-id\"));\nconst BaseBlockTracker_1 = require(\"./BaseBlockTracker\");\nconst createRandomId = (0, json_rpc_random_id_1.default)();\nclass SubscribeBlockTracker extends BaseBlockTracker_1.BaseBlockTracker {\n constructor(opts = {}) {\n // parse + validate args\n if (!opts.provider) {\n throw new Error('SubscribeBlockTracker - no provider specified.');\n }\n // BaseBlockTracker constructor\n super(opts);\n // config\n this._provider = opts.provider;\n this._subscriptionId = null;\n }\n async checkForLatestBlock() {\n return await this.getLatestBlock();\n }\n async _start() {\n if (this._subscriptionId === undefined || this._subscriptionId === null) {\n try {\n const blockNumber = (await this._call('eth_blockNumber'));\n this._subscriptionId = (await this._call('eth_subscribe', 'newHeads'));\n this._provider.on('data', this._handleSubData.bind(this));\n this._newPotentialLatest(blockNumber);\n }\n catch (e) {\n this.emit('error', e);\n }\n }\n }\n async _end() {\n if (this._subscriptionId !== null && this._subscriptionId !== undefined) {\n try {\n await this._call('eth_unsubscribe', this._subscriptionId);\n this._subscriptionId = null;\n }\n catch (e) {\n this.emit('error', e);\n }\n }\n }\n _call(method, ...params) {\n return new Promise((resolve, reject) => {\n this._provider.sendAsync({\n id: createRandomId(),\n method,\n params,\n jsonrpc: '2.0',\n }, (err, res) => {\n if (err) {\n reject(err);\n }\n else {\n resolve(res.result);\n }\n });\n });\n }\n _handleSubData(_, response) {\n var _a;\n if (response.method === 'eth_subscription' &&\n ((_a = response.params) === null || _a === void 0 ? void 0 : _a.subscription) === this._subscriptionId) {\n this._newPotentialLatest(response.params.result.number);\n }\n }\n}\nexports.SubscribeBlockTracker = SubscribeBlockTracker;\n//# sourceMappingURL=SubscribeBlockTracker.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./PollingBlockTracker\"), exports);\n__exportStar(require(\"./SubscribeBlockTracker\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getUniqueId = void 0;\n// uint32 (two's complement) max\n// more conservative than Number.MAX_SAFE_INTEGER\nconst MAX = 4294967295;\nlet idCounter = Math.floor(Math.random() * MAX);\nfunction getUniqueId() {\n idCounter = (idCounter + 1) % MAX;\n return idCounter;\n}\nexports.getUniqueId = getUniqueId;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0VW5pcXVlSWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZ2V0VW5pcXVlSWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsZ0NBQWdDO0FBQ2hDLGlEQUFpRDtBQUNqRCxNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUM7QUFDdkIsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFFaEQsU0FBZ0IsV0FBVztJQUN6QixTQUFTLEdBQUcsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ2xDLE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFIRCxrQ0FHQyJ9","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createIdRemapMiddleware = void 0;\nconst getUniqueId_1 = require(\"./getUniqueId\");\nfunction createIdRemapMiddleware() {\n return (req, res, next, _end) => {\n const originalId = req.id;\n const newId = getUniqueId_1.getUniqueId();\n req.id = newId;\n res.id = newId;\n next((done) => {\n req.id = originalId;\n res.id = originalId;\n done();\n });\n };\n}\nexports.createIdRemapMiddleware = createIdRemapMiddleware;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRSZW1hcE1pZGRsZXdhcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaWRSZW1hcE1pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0NBQTRDO0FBRzVDLFNBQWdCLHVCQUF1QjtJQUNyQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDOUIsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUMxQixNQUFNLEtBQUssR0FBRyx5QkFBVyxFQUFFLENBQUM7UUFDNUIsR0FBRyxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDZixHQUFHLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUNmLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ1osR0FBRyxDQUFDLEVBQUUsR0FBRyxVQUFVLENBQUM7WUFDcEIsR0FBRyxDQUFDLEVBQUUsR0FBRyxVQUFVLENBQUM7WUFDcEIsSUFBSSxFQUFFLENBQUM7UUFDVCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztBQUNKLENBQUM7QUFaRCwwREFZQyJ9","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createAsyncMiddleware = void 0;\n/**\n * JsonRpcEngine only accepts callback-based middleware directly.\n * createAsyncMiddleware exists to enable consumers to pass in async middleware\n * functions.\n *\n * Async middleware have no \"end\" function. Instead, they \"end\" if they return\n * without calling \"next\". Rather than passing in explicit return handlers,\n * async middleware can simply await \"next\", and perform operations on the\n * response object when execution resumes.\n *\n * To accomplish this, createAsyncMiddleware passes the async middleware a\n * wrapped \"next\" function. That function calls the internal JsonRpcEngine\n * \"next\" function with a return handler that resolves a promise when called.\n *\n * The return handler will always be called. Its resolution of the promise\n * enables the control flow described above.\n */\nfunction createAsyncMiddleware(asyncMiddleware) {\n return async (req, res, next, end) => {\n // nextPromise is the key to the implementation\n // it is resolved by the return handler passed to the\n // \"next\" function\n let resolveNextPromise;\n const nextPromise = new Promise((resolve) => {\n resolveNextPromise = resolve;\n });\n let returnHandlerCallback = null;\n let nextWasCalled = false;\n // This will be called by the consumer's async middleware.\n const asyncNext = async () => {\n nextWasCalled = true;\n // We pass a return handler to next(). When it is called by the engine,\n // the consumer's async middleware will resume executing.\n // eslint-disable-next-line node/callback-return\n next((runReturnHandlersCallback) => {\n // This callback comes from JsonRpcEngine._runReturnHandlers\n returnHandlerCallback = runReturnHandlersCallback;\n resolveNextPromise();\n });\n await nextPromise;\n };\n try {\n await asyncMiddleware(req, res, asyncNext);\n if (nextWasCalled) {\n await nextPromise; // we must wait until the return handler is called\n returnHandlerCallback(null);\n }\n else {\n end(null);\n }\n }\n catch (error) {\n if (returnHandlerCallback) {\n returnHandlerCallback(error);\n }\n else {\n end(error);\n }\n }\n };\n}\nexports.createAsyncMiddleware = createAsyncMiddleware;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQXN5bmNNaWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NyZWF0ZUFzeW5jTWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFnQkE7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxTQUFnQixxQkFBcUIsQ0FDbkMsZUFBNkM7SUFFN0MsT0FBTyxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDbkMsK0NBQStDO1FBQy9DLHFEQUFxRDtRQUNyRCxrQkFBa0I7UUFDbEIsSUFBSSxrQkFBOEIsQ0FBQztRQUNuQyxNQUFNLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzFDLGtCQUFrQixHQUFHLE9BQU8sQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztRQUVILElBQUkscUJBQXFCLEdBQVksSUFBSSxDQUFDO1FBQzFDLElBQUksYUFBYSxHQUFHLEtBQUssQ0FBQztRQUUxQiwwREFBMEQ7UUFDMUQsTUFBTSxTQUFTLEdBQUcsS0FBSyxJQUFJLEVBQUU7WUFDM0IsYUFBYSxHQUFHLElBQUksQ0FBQztZQUVyQix1RUFBdUU7WUFDdkUseURBQXlEO1lBQ3pELGdEQUFnRDtZQUNoRCxJQUFJLENBQUMsQ0FBQyx5QkFBeUIsRUFBRSxFQUFFO2dCQUNqQyw0REFBNEQ7Z0JBQzVELHFCQUFxQixHQUFHLHlCQUF5QixDQUFDO2dCQUNsRCxrQkFBa0IsRUFBRSxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxXQUFXLENBQUM7UUFDcEIsQ0FBQyxDQUFDO1FBRUYsSUFBSTtZQUNGLE1BQU0sZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFFM0MsSUFBSSxhQUFhLEVBQUU7Z0JBQ2pCLE1BQU0sV0FBVyxDQUFDLENBQUMsa0RBQWtEO2dCQUNwRSxxQkFBK0MsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN4RDtpQkFBTTtnQkFDTCxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDWDtTQUNGO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxJQUFJLHFCQUFxQixFQUFFO2dCQUN4QixxQkFBK0MsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUN6RDtpQkFBTTtnQkFDTCxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDWjtTQUNGO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQS9DRCxzREErQ0MifQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createScaffoldMiddleware = void 0;\nfunction createScaffoldMiddleware(handlers) {\n return (req, res, next, end) => {\n const handler = handlers[req.method];\n // if no handler, return\n if (handler === undefined) {\n return next();\n }\n // if handler is fn, call as middleware\n if (typeof handler === 'function') {\n return handler(req, res, next, end);\n }\n // if handler is some other value, use as result\n res.result = handler;\n return end();\n };\n}\nexports.createScaffoldMiddleware = createScaffoldMiddleware;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlU2NhZmZvbGRNaWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NyZWF0ZVNjYWZmb2xkTWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSxTQUFnQix3QkFBd0IsQ0FBQyxRQUV4QztJQUNDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUM3QixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLHdCQUF3QjtRQUN4QixJQUFJLE9BQU8sS0FBSyxTQUFTLEVBQUU7WUFDekIsT0FBTyxJQUFJLEVBQUUsQ0FBQztTQUNmO1FBQ0QsdUNBQXVDO1FBQ3ZDLElBQUksT0FBTyxPQUFPLEtBQUssVUFBVSxFQUFFO1lBQ2pDLE9BQU8sT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ3JDO1FBQ0QsZ0RBQWdEO1FBQy9DLEdBQStCLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztRQUNsRCxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ2YsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQWpCRCw0REFpQkMifQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst events_1 = require(\"events\");\nfunction safeApply(handler, context, args) {\n try {\n Reflect.apply(handler, context, args);\n }\n catch (err) {\n // Throw error after timeout so as not to interrupt the stack\n setTimeout(() => {\n throw err;\n });\n }\n}\nfunction arrayClone(arr) {\n const n = arr.length;\n const copy = new Array(n);\n for (let i = 0; i < n; i += 1) {\n copy[i] = arr[i];\n }\n return copy;\n}\nclass SafeEventEmitter extends events_1.EventEmitter {\n emit(type, ...args) {\n let doError = type === 'error';\n const events = this._events;\n if (events !== undefined) {\n doError = doError && events.error === undefined;\n }\n else if (!doError) {\n return false;\n }\n // If there is no 'error' event listener then throw.\n if (doError) {\n let er;\n if (args.length > 0) {\n [er] = args;\n }\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n const err = new Error(`Unhandled error.${er ? ` (${er.message})` : ''}`);\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n const handler = events[type];\n if (handler === undefined) {\n return false;\n }\n if (typeof handler === 'function') {\n safeApply(handler, this, args);\n }\n else {\n const len = handler.length;\n const listeners = arrayClone(handler);\n for (let i = 0; i < len; i += 1) {\n safeApply(listeners[i], this, args);\n }\n }\n return true;\n }\n}\nexports.default = SafeEventEmitter;\n//# sourceMappingURL=index.js.map","module.exports = stringify\nstringify.default = stringify\nstringify.stable = deterministicStringify\nstringify.stableStringify = deterministicStringify\n\nvar LIMIT_REPLACE_NODE = '[...]'\nvar CIRCULAR_REPLACE_NODE = '[Circular]'\n\nvar arr = []\nvar replacerStack = []\n\nfunction defaultOptions () {\n return {\n depthLimit: Number.MAX_SAFE_INTEGER,\n edgesLimit: Number.MAX_SAFE_INTEGER\n }\n}\n\n// Regular stringify\nfunction stringify (obj, replacer, spacer, options) {\n if (typeof options === 'undefined') {\n options = defaultOptions()\n }\n\n decirc(obj, '', 0, [], undefined, 0, options)\n var res\n try {\n if (replacerStack.length === 0) {\n res = JSON.stringify(obj, replacer, spacer)\n } else {\n res = JSON.stringify(obj, replaceGetterValues(replacer), spacer)\n }\n } catch (_) {\n return JSON.stringify('[unable to serialize, circular reference is too complex to analyze]')\n } finally {\n while (arr.length !== 0) {\n var part = arr.pop()\n if (part.length === 4) {\n Object.defineProperty(part[0], part[1], part[3])\n } else {\n part[0][part[1]] = part[2]\n }\n }\n }\n return res\n}\n\nfunction setReplace (replace, val, k, parent) {\n var propertyDescriptor = Object.getOwnPropertyDescriptor(parent, k)\n if (propertyDescriptor.get !== undefined) {\n if (propertyDescriptor.configurable) {\n Object.defineProperty(parent, k, { value: replace })\n arr.push([parent, k, val, propertyDescriptor])\n } else {\n replacerStack.push([val, k, replace])\n }\n } else {\n parent[k] = replace\n arr.push([parent, k, val])\n }\n}\n\nfunction decirc (val, k, edgeIndex, stack, parent, depth, options) {\n depth += 1\n var i\n if (typeof val === 'object' && val !== null) {\n for (i = 0; i < stack.length; i++) {\n if (stack[i] === val) {\n setReplace(CIRCULAR_REPLACE_NODE, val, k, parent)\n return\n }\n }\n\n if (\n typeof options.depthLimit !== 'undefined' &&\n depth > options.depthLimit\n ) {\n setReplace(LIMIT_REPLACE_NODE, val, k, parent)\n return\n }\n\n if (\n typeof options.edgesLimit !== 'undefined' &&\n edgeIndex + 1 > options.edgesLimit\n ) {\n setReplace(LIMIT_REPLACE_NODE, val, k, parent)\n return\n }\n\n stack.push(val)\n // Optimize for Arrays. Big arrays could kill the performance otherwise!\n if (Array.isArray(val)) {\n for (i = 0; i < val.length; i++) {\n decirc(val[i], i, i, stack, val, depth, options)\n }\n } else {\n var keys = Object.keys(val)\n for (i = 0; i < keys.length; i++) {\n var key = keys[i]\n decirc(val[key], key, i, stack, val, depth, options)\n }\n }\n stack.pop()\n }\n}\n\n// Stable-stringify\nfunction compareFunction (a, b) {\n if (a < b) {\n return -1\n }\n if (a > b) {\n return 1\n }\n return 0\n}\n\nfunction deterministicStringify (obj, replacer, spacer, options) {\n if (typeof options === 'undefined') {\n options = defaultOptions()\n }\n\n var tmp = deterministicDecirc(obj, '', 0, [], undefined, 0, options) || obj\n var res\n try {\n if (replacerStack.length === 0) {\n res = JSON.stringify(tmp, replacer, spacer)\n } else {\n res = JSON.stringify(tmp, replaceGetterValues(replacer), spacer)\n }\n } catch (_) {\n return JSON.stringify('[unable to serialize, circular reference is too complex to analyze]')\n } finally {\n // Ensure that we restore the object as it was.\n while (arr.length !== 0) {\n var part = arr.pop()\n if (part.length === 4) {\n Object.defineProperty(part[0], part[1], part[3])\n } else {\n part[0][part[1]] = part[2]\n }\n }\n }\n return res\n}\n\nfunction deterministicDecirc (val, k, edgeIndex, stack, parent, depth, options) {\n depth += 1\n var i\n if (typeof val === 'object' && val !== null) {\n for (i = 0; i < stack.length; i++) {\n if (stack[i] === val) {\n setReplace(CIRCULAR_REPLACE_NODE, val, k, parent)\n return\n }\n }\n try {\n if (typeof val.toJSON === 'function') {\n return\n }\n } catch (_) {\n return\n }\n\n if (\n typeof options.depthLimit !== 'undefined' &&\n depth > options.depthLimit\n ) {\n setReplace(LIMIT_REPLACE_NODE, val, k, parent)\n return\n }\n\n if (\n typeof options.edgesLimit !== 'undefined' &&\n edgeIndex + 1 > options.edgesLimit\n ) {\n setReplace(LIMIT_REPLACE_NODE, val, k, parent)\n return\n }\n\n stack.push(val)\n // Optimize for Arrays. Big arrays could kill the performance otherwise!\n if (Array.isArray(val)) {\n for (i = 0; i < val.length; i++) {\n deterministicDecirc(val[i], i, i, stack, val, depth, options)\n }\n } else {\n // Create a temporary object in the required way\n var tmp = {}\n var keys = Object.keys(val).sort(compareFunction)\n for (i = 0; i < keys.length; i++) {\n var key = keys[i]\n deterministicDecirc(val[key], key, i, stack, val, depth, options)\n tmp[key] = val[key]\n }\n if (typeof parent !== 'undefined') {\n arr.push([parent, k, val])\n parent[k] = tmp\n } else {\n return tmp\n }\n }\n stack.pop()\n }\n}\n\n// wraps replacer function to handle values we couldn't replace\n// and mark them as replaced value\nfunction replaceGetterValues (replacer) {\n replacer =\n typeof replacer !== 'undefined'\n ? replacer\n : function (k, v) {\n return v\n }\n return function (key, val) {\n if (replacerStack.length > 0) {\n for (var i = 0; i < replacerStack.length; i++) {\n var part = replacerStack[i]\n if (part[1] === key && part[0] === val) {\n val = part[2]\n replacerStack.splice(i, 1)\n break\n }\n }\n }\n return replacer.call(this, key, val)\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EthereumProviderError = exports.EthereumRpcError = void 0;\nconst fast_safe_stringify_1 = require(\"fast-safe-stringify\");\n/**\n * Error subclass implementing JSON RPC 2.0 errors and Ethereum RPC errors\n * per EIP-1474.\n * Permits any integer error code.\n */\nclass EthereumRpcError extends Error {\n constructor(code, message, data) {\n if (!Number.isInteger(code)) {\n throw new Error('\"code\" must be an integer.');\n }\n if (!message || typeof message !== 'string') {\n throw new Error('\"message\" must be a nonempty string.');\n }\n super(message);\n this.code = code;\n if (data !== undefined) {\n this.data = data;\n }\n }\n /**\n * Returns a plain object with all public class properties.\n */\n serialize() {\n const serialized = {\n code: this.code,\n message: this.message,\n };\n if (this.data !== undefined) {\n serialized.data = this.data;\n }\n if (this.stack) {\n serialized.stack = this.stack;\n }\n return serialized;\n }\n /**\n * Return a string representation of the serialized error, omitting\n * any circular references.\n */\n toString() {\n return fast_safe_stringify_1.default(this.serialize(), stringifyReplacer, 2);\n }\n}\nexports.EthereumRpcError = EthereumRpcError;\n/**\n * Error subclass implementing Ethereum Provider errors per EIP-1193.\n * Permits integer error codes in the [ 1000 <= 4999 ] range.\n */\nclass EthereumProviderError extends EthereumRpcError {\n /**\n * Create an Ethereum Provider JSON-RPC error.\n * `code` must be an integer in the 1000 <= 4999 range.\n */\n constructor(code, message, data) {\n if (!isValidEthProviderCode(code)) {\n throw new Error('\"code\" must be an integer such that: 1000 <= code <= 4999');\n }\n super(code, message, data);\n }\n}\nexports.EthereumProviderError = EthereumProviderError;\n// Internal\nfunction isValidEthProviderCode(code) {\n return Number.isInteger(code) && code >= 1000 && code <= 4999;\n}\nfunction stringifyReplacer(_, value) {\n if (value === '[Circular]') {\n return undefined;\n }\n return value;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jbGFzc2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZEQUFnRDtBQVNoRDs7OztHQUlHO0FBQ0gsTUFBYSxnQkFBb0IsU0FBUSxLQUFLO0lBTTVDLFlBQVksSUFBWSxFQUFFLE9BQWUsRUFBRSxJQUFRO1FBRWpELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzNCLE1BQU0sSUFBSSxLQUFLLENBQ2IsNEJBQTRCLENBQzdCLENBQUM7U0FDSDtRQUNELElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO1lBQzNDLE1BQU0sSUFBSSxLQUFLLENBQ2Isc0NBQXNDLENBQ3ZDLENBQUM7U0FDSDtRQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTtZQUN0QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztTQUNsQjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVM7UUFDUCxNQUFNLFVBQVUsR0FBK0I7WUFDN0MsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3RCLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO1lBQzNCLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztTQUM3QjtRQUNELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLFVBQVUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUMvQjtRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxRQUFRO1FBQ04sT0FBTyw2QkFBYSxDQUNsQixJQUFJLENBQUMsU0FBUyxFQUFFLEVBQ2hCLGlCQUFpQixFQUNqQixDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXRERCw0Q0FzREM7QUFFRDs7O0dBR0c7QUFDSCxNQUFhLHFCQUF5QixTQUFRLGdCQUFtQjtJQUUvRDs7O09BR0c7SUFDSCxZQUFZLElBQVksRUFBRSxPQUFlLEVBQUUsSUFBUTtRQUVqRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDakMsTUFBTSxJQUFJLEtBQUssQ0FDYiwyREFBMkQsQ0FDNUQsQ0FBQztTQUNIO1FBRUQsS0FBSyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztDQUNGO0FBaEJELHNEQWdCQztBQUVELFdBQVc7QUFFWCxTQUFTLHNCQUFzQixDQUFDLElBQVk7SUFDMUMsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQztBQUNoRSxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxDQUFVLEVBQUUsS0FBYztJQUNuRCxJQUFJLEtBQUssS0FBSyxZQUFZLEVBQUU7UUFDMUIsT0FBTyxTQUFTLENBQUM7S0FDbEI7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMifQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.errorValues = exports.errorCodes = void 0;\nexports.errorCodes = {\n rpc: {\n invalidInput: -32000,\n resourceNotFound: -32001,\n resourceUnavailable: -32002,\n transactionRejected: -32003,\n methodNotSupported: -32004,\n limitExceeded: -32005,\n parse: -32700,\n invalidRequest: -32600,\n methodNotFound: -32601,\n invalidParams: -32602,\n internal: -32603,\n },\n provider: {\n userRejectedRequest: 4001,\n unauthorized: 4100,\n unsupportedMethod: 4200,\n disconnected: 4900,\n chainDisconnected: 4901,\n },\n};\nexports.errorValues = {\n '-32700': {\n standard: 'JSON RPC 2.0',\n message: 'Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.',\n },\n '-32600': {\n standard: 'JSON RPC 2.0',\n message: 'The JSON sent is not a valid Request object.',\n },\n '-32601': {\n standard: 'JSON RPC 2.0',\n message: 'The method does not exist / is not available.',\n },\n '-32602': {\n standard: 'JSON RPC 2.0',\n message: 'Invalid method parameter(s).',\n },\n '-32603': {\n standard: 'JSON RPC 2.0',\n message: 'Internal JSON-RPC error.',\n },\n '-32000': {\n standard: 'EIP-1474',\n message: 'Invalid input.',\n },\n '-32001': {\n standard: 'EIP-1474',\n message: 'Resource not found.',\n },\n '-32002': {\n standard: 'EIP-1474',\n message: 'Resource unavailable.',\n },\n '-32003': {\n standard: 'EIP-1474',\n message: 'Transaction rejected.',\n },\n '-32004': {\n standard: 'EIP-1474',\n message: 'Method not supported.',\n },\n '-32005': {\n standard: 'EIP-1474',\n message: 'Request limit exceeded.',\n },\n '4001': {\n standard: 'EIP-1193',\n message: 'User rejected the request.',\n },\n '4100': {\n standard: 'EIP-1193',\n message: 'The requested account and/or method has not been authorized by the user.',\n },\n '4200': {\n standard: 'EIP-1193',\n message: 'The requested method is not supported by this Ethereum provider.',\n },\n '4900': {\n standard: 'EIP-1193',\n message: 'The provider is disconnected from all chains.',\n },\n '4901': {\n standard: 'EIP-1193',\n message: 'The provider is disconnected from the specified chain.',\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Vycm9yLWNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF1QmEsUUFBQSxVQUFVLEdBQWU7SUFDcEMsR0FBRyxFQUFFO1FBQ0gsWUFBWSxFQUFFLENBQUMsS0FBSztRQUNwQixnQkFBZ0IsRUFBRSxDQUFDLEtBQUs7UUFDeEIsbUJBQW1CLEVBQUUsQ0FBQyxLQUFLO1FBQzNCLG1CQUFtQixFQUFFLENBQUMsS0FBSztRQUMzQixrQkFBa0IsRUFBRSxDQUFDLEtBQUs7UUFDMUIsYUFBYSxFQUFFLENBQUMsS0FBSztRQUNyQixLQUFLLEVBQUUsQ0FBQyxLQUFLO1FBQ2IsY0FBYyxFQUFFLENBQUMsS0FBSztRQUN0QixjQUFjLEVBQUUsQ0FBQyxLQUFLO1FBQ3RCLGFBQWEsRUFBRSxDQUFDLEtBQUs7UUFDckIsUUFBUSxFQUFFLENBQUMsS0FBSztLQUNqQjtJQUNELFFBQVEsRUFBRTtRQUNSLG1CQUFtQixFQUFFLElBQUk7UUFDekIsWUFBWSxFQUFFLElBQUk7UUFDbEIsaUJBQWlCLEVBQUUsSUFBSTtRQUN2QixZQUFZLEVBQUUsSUFBSTtRQUNsQixpQkFBaUIsRUFBRSxJQUFJO0tBQ3hCO0NBQ0YsQ0FBQztBQUVXLFFBQUEsV0FBVyxHQUFHO0lBQ3pCLFFBQVEsRUFBRTtRQUNSLFFBQVEsRUFBRSxjQUFjO1FBQ3hCLE9BQU8sRUFBRSx1R0FBdUc7S0FDakg7SUFDRCxRQUFRLEVBQUU7UUFDUixRQUFRLEVBQUUsY0FBYztRQUN4QixPQUFPLEVBQUUsOENBQThDO0tBQ3hEO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLGNBQWM7UUFDeEIsT0FBTyxFQUFFLCtDQUErQztLQUN6RDtJQUNELFFBQVEsRUFBRTtRQUNSLFFBQVEsRUFBRSxjQUFjO1FBQ3hCLE9BQU8sRUFBRSw4QkFBOEI7S0FDeEM7SUFDRCxRQUFRLEVBQUU7UUFDUixRQUFRLEVBQUUsY0FBYztRQUN4QixPQUFPLEVBQUUsMEJBQTBCO0tBQ3BDO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLFVBQVU7UUFDcEIsT0FBTyxFQUFFLGdCQUFnQjtLQUMxQjtJQUNELFFBQVEsRUFBRTtRQUNSLFFBQVEsRUFBRSxVQUFVO1FBQ3BCLE9BQU8sRUFBRSxxQkFBcUI7S0FDL0I7SUFDRCxRQUFRLEVBQUU7UUFDUixRQUFRLEVBQUUsVUFBVTtRQUNwQixPQUFPLEVBQUUsdUJBQXVCO0tBQ2pDO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLFVBQVU7UUFDcEIsT0FBTyxFQUFFLHVCQUF1QjtLQUNqQztJQUNELFFBQVEsRUFBRTtRQUNSLFFBQVEsRUFBRSxVQUFVO1FBQ3BCLE9BQU8sRUFBRSx1QkFBdUI7S0FDakM7SUFDRCxRQUFRLEVBQUU7UUFDUixRQUFRLEVBQUUsVUFBVTtRQUNwQixPQUFPLEVBQUUseUJBQXlCO0tBQ25DO0lBQ0QsTUFBTSxFQUFFO1FBQ04sUUFBUSxFQUFFLFVBQVU7UUFDcEIsT0FBTyxFQUFFLDRCQUE0QjtLQUN0QztJQUNELE1BQU0sRUFBRTtRQUNOLFFBQVEsRUFBRSxVQUFVO1FBQ3BCLE9BQU8sRUFBRSwwRUFBMEU7S0FDcEY7SUFDRCxNQUFNLEVBQUU7UUFDTixRQUFRLEVBQUUsVUFBVTtRQUNwQixPQUFPLEVBQUUsa0VBQWtFO0tBQzVFO0lBQ0QsTUFBTSxFQUFFO1FBQ04sUUFBUSxFQUFFLFVBQVU7UUFDcEIsT0FBTyxFQUFFLCtDQUErQztLQUN6RDtJQUNELE1BQU0sRUFBRTtRQUNOLFFBQVEsRUFBRSxVQUFVO1FBQ3BCLE9BQU8sRUFBRSx3REFBd0Q7S0FDbEU7Q0FDRixDQUFDIn0=","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.serializeError = exports.isValidCode = exports.getMessageFromCode = exports.JSON_RPC_SERVER_ERROR_MESSAGE = void 0;\nconst error_constants_1 = require(\"./error-constants\");\nconst classes_1 = require(\"./classes\");\nconst FALLBACK_ERROR_CODE = error_constants_1.errorCodes.rpc.internal;\nconst FALLBACK_MESSAGE = 'Unspecified error message. This is a bug, please report it.';\nconst FALLBACK_ERROR = {\n code: FALLBACK_ERROR_CODE,\n message: getMessageFromCode(FALLBACK_ERROR_CODE),\n};\nexports.JSON_RPC_SERVER_ERROR_MESSAGE = 'Unspecified server error.';\n/**\n * Gets the message for a given code, or a fallback message if the code has\n * no corresponding message.\n */\nfunction getMessageFromCode(code, fallbackMessage = FALLBACK_MESSAGE) {\n if (Number.isInteger(code)) {\n const codeString = code.toString();\n if (hasKey(error_constants_1.errorValues, codeString)) {\n return error_constants_1.errorValues[codeString].message;\n }\n if (isJsonRpcServerError(code)) {\n return exports.JSON_RPC_SERVER_ERROR_MESSAGE;\n }\n }\n return fallbackMessage;\n}\nexports.getMessageFromCode = getMessageFromCode;\n/**\n * Returns whether the given code is valid.\n * A code is only valid if it has a message.\n */\nfunction isValidCode(code) {\n if (!Number.isInteger(code)) {\n return false;\n }\n const codeString = code.toString();\n if (error_constants_1.errorValues[codeString]) {\n return true;\n }\n if (isJsonRpcServerError(code)) {\n return true;\n }\n return false;\n}\nexports.isValidCode = isValidCode;\n/**\n * Serializes the given error to an Ethereum JSON RPC-compatible error object.\n * Merely copies the given error's values if it is already compatible.\n * If the given error is not fully compatible, it will be preserved on the\n * returned object's data.originalError property.\n */\nfunction serializeError(error, { fallbackError = FALLBACK_ERROR, shouldIncludeStack = false, } = {}) {\n var _a, _b;\n if (!fallbackError ||\n !Number.isInteger(fallbackError.code) ||\n typeof fallbackError.message !== 'string') {\n throw new Error('Must provide fallback error with integer number code and string message.');\n }\n if (error instanceof classes_1.EthereumRpcError) {\n return error.serialize();\n }\n const serialized = {};\n if (error &&\n typeof error === 'object' &&\n !Array.isArray(error) &&\n hasKey(error, 'code') &&\n isValidCode(error.code)) {\n const _error = error;\n serialized.code = _error.code;\n if (_error.message && typeof _error.message === 'string') {\n serialized.message = _error.message;\n if (hasKey(_error, 'data')) {\n serialized.data = _error.data;\n }\n }\n else {\n serialized.message = getMessageFromCode(serialized.code);\n serialized.data = { originalError: assignOriginalError(error) };\n }\n }\n else {\n serialized.code = fallbackError.code;\n const message = (_a = error) === null || _a === void 0 ? void 0 : _a.message;\n serialized.message = (message && typeof message === 'string'\n ? message\n : fallbackError.message);\n serialized.data = { originalError: assignOriginalError(error) };\n }\n const stack = (_b = error) === null || _b === void 0 ? void 0 : _b.stack;\n if (shouldIncludeStack && error && stack && typeof stack === 'string') {\n serialized.stack = stack;\n }\n return serialized;\n}\nexports.serializeError = serializeError;\n// Internal\nfunction isJsonRpcServerError(code) {\n return code >= -32099 && code <= -32000;\n}\nfunction assignOriginalError(error) {\n if (error && typeof error === 'object' && !Array.isArray(error)) {\n return Object.assign({}, error);\n }\n return error;\n}\nfunction hasKey(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdURBQTREO0FBQzVELHVDQUF5RTtBQUV6RSxNQUFNLG1CQUFtQixHQUFHLDRCQUFVLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztBQUNwRCxNQUFNLGdCQUFnQixHQUFHLDZEQUE2RCxDQUFDO0FBQ3ZGLE1BQU0sY0FBYyxHQUErQjtJQUNqRCxJQUFJLEVBQUUsbUJBQW1CO0lBQ3pCLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQztDQUNqRCxDQUFDO0FBRVcsUUFBQSw2QkFBNkIsR0FBRywyQkFBMkIsQ0FBQztBQUl6RTs7O0dBR0c7QUFDSCxTQUFnQixrQkFBa0IsQ0FDaEMsSUFBWSxFQUNaLGtCQUEwQixnQkFBZ0I7SUFFMUMsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQzFCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVuQyxJQUFJLE1BQU0sQ0FBQyw2QkFBVyxFQUFFLFVBQVUsQ0FBQyxFQUFFO1lBQ25DLE9BQU8sNkJBQVcsQ0FBQyxVQUEyQixDQUFDLENBQUMsT0FBTyxDQUFDO1NBQ3pEO1FBQ0QsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM5QixPQUFPLHFDQUE2QixDQUFDO1NBQ3RDO0tBQ0Y7SUFDRCxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDO0FBZkQsZ0RBZUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixXQUFXLENBQUMsSUFBWTtJQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUMzQixPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25DLElBQUksNkJBQVcsQ0FBQyxVQUEy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","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ethErrors = void 0;\nconst classes_1 = require(\"./classes\");\nconst utils_1 = require(\"./utils\");\nconst error_constants_1 = require(\"./error-constants\");\nexports.ethErrors = {\n rpc: {\n /**\n * Get a JSON RPC 2.0 Parse (-32700) error.\n */\n parse: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.parse, arg),\n /**\n * Get a JSON RPC 2.0 Invalid Request (-32600) error.\n */\n invalidRequest: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.invalidRequest, arg),\n /**\n * Get a JSON RPC 2.0 Invalid Params (-32602) error.\n */\n invalidParams: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.invalidParams, arg),\n /**\n * Get a JSON RPC 2.0 Method Not Found (-32601) error.\n */\n methodNotFound: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.methodNotFound, arg),\n /**\n * Get a JSON RPC 2.0 Internal (-32603) error.\n */\n internal: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.internal, arg),\n /**\n * Get a JSON RPC 2.0 Server error.\n * Permits integer error codes in the [ -32099 <= -32005 ] range.\n * Codes -32000 through -32004 are reserved by EIP-1474.\n */\n server: (opts) => {\n if (!opts || typeof opts !== 'object' || Array.isArray(opts)) {\n throw new Error('Ethereum RPC Server errors must provide single object argument.');\n }\n const { code } = opts;\n if (!Number.isInteger(code) || code > -32005 || code < -32099) {\n throw new Error('\"code\" must be an integer such that: -32099 <= code <= -32005');\n }\n return getEthJsonRpcError(code, opts);\n },\n /**\n * Get an Ethereum JSON RPC Invalid Input (-32000) error.\n */\n invalidInput: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.invalidInput, arg),\n /**\n * Get an Ethereum JSON RPC Resource Not Found (-32001) error.\n */\n resourceNotFound: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.resourceNotFound, arg),\n /**\n * Get an Ethereum JSON RPC Resource Unavailable (-32002) error.\n */\n resourceUnavailable: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.resourceUnavailable, arg),\n /**\n * Get an Ethereum JSON RPC Transaction Rejected (-32003) error.\n */\n transactionRejected: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.transactionRejected, arg),\n /**\n * Get an Ethereum JSON RPC Method Not Supported (-32004) error.\n */\n methodNotSupported: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.methodNotSupported, arg),\n /**\n * Get an Ethereum JSON RPC Limit Exceeded (-32005) error.\n */\n limitExceeded: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.limitExceeded, arg),\n },\n provider: {\n /**\n * Get an Ethereum Provider User Rejected Request (4001) error.\n */\n userRejectedRequest: (arg) => {\n return getEthProviderError(error_constants_1.errorCodes.provider.userRejectedRequest, arg);\n },\n /**\n * Get an Ethereum Provider Unauthorized (4100) error.\n */\n unauthorized: (arg) => {\n return getEthProviderError(error_constants_1.errorCodes.provider.unauthorized, arg);\n },\n /**\n * Get an Ethereum Provider Unsupported Method (4200) error.\n */\n unsupportedMethod: (arg) => {\n return getEthProviderError(error_constants_1.errorCodes.provider.unsupportedMethod, arg);\n },\n /**\n * Get an Ethereum Provider Not Connected (4900) error.\n */\n disconnected: (arg) => {\n return getEthProviderError(error_constants_1.errorCodes.provider.disconnected, arg);\n },\n /**\n * Get an Ethereum Provider Chain Not Connected (4901) error.\n */\n chainDisconnected: (arg) => {\n return getEthProviderError(error_constants_1.errorCodes.provider.chainDisconnected, arg);\n },\n /**\n * Get a custom Ethereum Provider error.\n */\n custom: (opts) => {\n if (!opts || typeof opts !== 'object' || Array.isArray(opts)) {\n throw new Error('Ethereum Provider custom errors must provide single object argument.');\n }\n const { code, message, data } = opts;\n if (!message || typeof message !== 'string') {\n throw new Error('\"message\" must be a nonempty string');\n }\n return new classes_1.EthereumProviderError(code, message, data);\n },\n },\n};\n// Internal\nfunction getEthJsonRpcError(code, arg) {\n const [message, data] = parseOpts(arg);\n return new classes_1.EthereumRpcError(code, message || utils_1.getMessageFromCode(code), data);\n}\nfunction getEthProviderError(code, arg) {\n const [message, data] = parseOpts(arg);\n return new classes_1.EthereumProviderError(code, message || utils_1.getMessageFromCode(code), data);\n}\nfunction parseOpts(arg) {\n if (arg) {\n if (typeof arg === 'string') {\n return [arg];\n }\n else if (typeof arg === 'object' && !Array.isArray(arg)) {\n const { message, data } = arg;\n if (message && typeof message !== 'string') {\n throw new Error('Must specify string message.');\n }\n return [message || undefined, data];\n }\n }\n return [];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1Q0FBb0U7QUFDcEUsbUNBQTZDO0FBQzdDLHVEQUErQztBQWVsQyxRQUFBLFNBQVMsR0FBRztJQUN2QixHQUFHLEVBQUU7UUFFSDs7V0FFRztRQUNILEtBQUssRUFBRSxDQUFJLEdBQXFCLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUNyRCw0QkFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUMxQjtRQUVEOztXQUVHO1FBQ0gsY0FBYyxFQUFFLENBQUksR0FBcUIsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQzlELDRCQUFVLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxHQUFHLENBQ25DO1FBRUQ7O1dBRUc7UUFDSCxhQUFhLEVBQUUsQ0FBSSxHQUFxQixFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FDN0QsNEJBQVUsQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FDbEM7UUFFRDs7V0FFRztRQUNILGNBQWMsRUFBRSxDQUFJLEdBQXFCLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUM5RCw0QkFBVSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUNuQztRQUVEOztXQUVHO1FBQ0gsUUFBUSxFQUFFLENBQUksR0FBcUIsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQ3hELDRCQUFVLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQzdCO1FBRUQ7Ozs7V0FJRztRQUNILE1BQU0sRUFBRSxDQUFJLElBQTJCLEVBQUUsRUFBRTtZQUN6QyxJQUFJLENBQUMsSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUM1RCxNQUFNLElBQUksS0FBSyxDQUFDLGlFQUFpRSxDQUFDLENBQUM7YUFDcEY7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","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getMessageFromCode = exports.serializeError = exports.EthereumProviderError = exports.EthereumRpcError = exports.ethErrors = exports.errorCodes = void 0;\nconst classes_1 = require(\"./classes\");\nObject.defineProperty(exports, \"EthereumRpcError\", { enumerable: true, get: function () { return classes_1.EthereumRpcError; } });\nObject.defineProperty(exports, \"EthereumProviderError\", { enumerable: true, get: function () { return classes_1.EthereumProviderError; } });\nconst utils_1 = require(\"./utils\");\nObject.defineProperty(exports, \"serializeError\", { enumerable: true, get: function () { return utils_1.serializeError; } });\nObject.defineProperty(exports, \"getMessageFromCode\", { enumerable: true, get: function () { return utils_1.getMessageFromCode; } });\nconst errors_1 = require(\"./errors\");\nObject.defineProperty(exports, \"ethErrors\", { enumerable: true, get: function () { return errors_1.ethErrors; } });\nconst error_constants_1 = require(\"./error-constants\");\nObject.defineProperty(exports, \"errorCodes\", { enumerable: true, get: function () { return error_constants_1.errorCodes; } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUNBQW9FO0FBVWxFLGlHQVZPLDBCQUFnQixPQVVQO0FBQ2hCLHNHQVh5QiwrQkFBcUIsT0FXekI7QUFWdkIsbUNBRWlCO0FBU2YsK0ZBVkEsc0JBQWMsT0FVQTtBQUNkLG1HQVhnQiwwQkFBa0IsT0FXaEI7QUFUcEIscUNBQXFDO0FBS25DLDBGQUxPLGtCQUFTLE9BS1A7QUFKWCx1REFBK0M7QUFHN0MsMkZBSE8sNEJBQVUsT0FHUCJ9","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.JsonRpcEngine = void 0;\nconst safe_event_emitter_1 = __importDefault(require(\"@metamask/safe-event-emitter\"));\nconst eth_rpc_errors_1 = require(\"eth-rpc-errors\");\n/**\n * A JSON-RPC request and response processor.\n * Give it a stack of middleware, pass it requests, and get back responses.\n */\nclass JsonRpcEngine extends safe_event_emitter_1.default {\n constructor() {\n super();\n this._middleware = [];\n }\n /**\n * Add a middleware function to the engine's middleware stack.\n *\n * @param middleware - The middleware function to add.\n */\n push(middleware) {\n this._middleware.push(middleware);\n }\n handle(req, cb) {\n if (cb && typeof cb !== 'function') {\n throw new Error('\"callback\" must be a function if provided.');\n }\n if (Array.isArray(req)) {\n if (cb) {\n return this._handleBatch(req, cb);\n }\n return this._handleBatch(req);\n }\n if (cb) {\n return this._handle(req, cb);\n }\n return this._promiseHandle(req);\n }\n /**\n * Returns this engine as a middleware function that can be pushed to other\n * engines.\n *\n * @returns This engine as a middleware function.\n */\n asMiddleware() {\n return async (req, res, next, end) => {\n try {\n const [middlewareError, isComplete, returnHandlers,] = await JsonRpcEngine._runAllMiddleware(req, res, this._middleware);\n if (isComplete) {\n await JsonRpcEngine._runReturnHandlers(returnHandlers);\n return end(middlewareError);\n }\n return next(async (handlerCallback) => {\n try {\n await JsonRpcEngine._runReturnHandlers(returnHandlers);\n }\n catch (error) {\n return handlerCallback(error);\n }\n return handlerCallback();\n });\n }\n catch (error) {\n return end(error);\n }\n };\n }\n async _handleBatch(reqs, cb) {\n // The order here is important\n try {\n // 2. Wait for all requests to finish, or throw on some kind of fatal\n // error\n const responses = await Promise.all(\n // 1. Begin executing each request in the order received\n reqs.map(this._promiseHandle.bind(this)));\n // 3. Return batch response\n if (cb) {\n return cb(null, responses);\n }\n return responses;\n }\n catch (error) {\n if (cb) {\n return cb(error);\n }\n throw error;\n }\n }\n /**\n * A promise-wrapped _handle.\n */\n _promiseHandle(req) {\n return new Promise((resolve) => {\n this._handle(req, (_err, res) => {\n // There will always be a response, and it will always have any error\n // that is caught and propagated.\n resolve(res);\n });\n });\n }\n /**\n * Ensures that the request object is valid, processes it, and passes any\n * error and the response object to the given callback.\n *\n * Does not reject.\n */\n async _handle(callerReq, cb) {\n if (!callerReq ||\n Array.isArray(callerReq) ||\n typeof callerReq !== 'object') {\n const error = new eth_rpc_errors_1.EthereumRpcError(eth_rpc_errors_1.errorCodes.rpc.invalidRequest, `Requests must be plain objects. Received: ${typeof callerReq}`, { request: callerReq });\n return cb(error, { id: undefined, jsonrpc: '2.0', error });\n }\n if (typeof callerReq.method !== 'string') {\n const error = new eth_rpc_errors_1.EthereumRpcError(eth_rpc_errors_1.errorCodes.rpc.invalidRequest, `Must specify a string method. Received: ${typeof callerReq.method}`, { request: callerReq });\n return cb(error, { id: callerReq.id, jsonrpc: '2.0', error });\n }\n const req = Object.assign({}, callerReq);\n const res = {\n id: req.id,\n jsonrpc: req.jsonrpc,\n };\n let error = null;\n try {\n await this._processRequest(req, res);\n }\n catch (_error) {\n // A request handler error, a re-thrown middleware error, or something\n // unexpected.\n error = _error;\n }\n if (error) {\n // Ensure no result is present on an errored response\n delete res.result;\n if (!res.error) {\n res.error = eth_rpc_errors_1.serializeError(error);\n }\n }\n return cb(error, res);\n }\n /**\n * For the given request and response, runs all middleware and their return\n * handlers, if any, and ensures that internal request processing semantics\n * are satisfied.\n */\n async _processRequest(req, res) {\n const [error, isComplete, returnHandlers,] = await JsonRpcEngine._runAllMiddleware(req, res, this._middleware);\n // Throw if \"end\" was not called, or if the response has neither a result\n // nor an error.\n JsonRpcEngine._checkForCompletion(req, res, isComplete);\n // The return handlers should run even if an error was encountered during\n // middleware processing.\n await JsonRpcEngine._runReturnHandlers(returnHandlers);\n // Now we re-throw the middleware processing error, if any, to catch it\n // further up the call chain.\n if (error) {\n throw error;\n }\n }\n /**\n * Serially executes the given stack of middleware.\n *\n * @returns An array of any error encountered during middleware execution,\n * a boolean indicating whether the request was completed, and an array of\n * middleware-defined return handlers.\n */\n static async _runAllMiddleware(req, res, middlewareStack) {\n const returnHandlers = [];\n let error = null;\n let isComplete = false;\n // Go down stack of middleware, call and collect optional returnHandlers\n for (const middleware of middlewareStack) {\n [error, isComplete] = await JsonRpcEngine._runMiddleware(req, res, middleware, returnHandlers);\n if (isComplete) {\n break;\n }\n }\n return [error, isComplete, returnHandlers.reverse()];\n }\n /**\n * Runs an individual middleware.\n *\n * @returns An array of any error encountered during middleware exection,\n * and a boolean indicating whether the request should end.\n */\n static _runMiddleware(req, res, middleware, returnHandlers) {\n return new Promise((resolve) => {\n const end = (err) => {\n const error = err || res.error;\n if (error) {\n res.error = eth_rpc_errors_1.serializeError(error);\n }\n // True indicates that the request should end\n resolve([error, true]);\n };\n const next = (returnHandler) => {\n if (res.error) {\n end(res.error);\n }\n else {\n if (returnHandler) {\n if (typeof returnHandler !== 'function') {\n end(new eth_rpc_errors_1.EthereumRpcError(eth_rpc_errors_1.errorCodes.rpc.internal, `JsonRpcEngine: \"next\" return handlers must be functions. ` +\n `Received \"${typeof returnHandler}\" for request:\\n${jsonify(req)}`, { request: req }));\n }\n returnHandlers.push(returnHandler);\n }\n // False indicates that the request should not end\n resolve([null, false]);\n }\n };\n try {\n middleware(req, res, next, end);\n }\n catch (error) {\n end(error);\n }\n });\n }\n /**\n * Serially executes array of return handlers. The request and response are\n * assumed to be in their scope.\n */\n static async _runReturnHandlers(handlers) {\n for (const handler of handlers) {\n await new Promise((resolve, reject) => {\n handler((err) => (err ? reject(err) : resolve()));\n });\n }\n }\n /**\n * Throws an error if the response has neither a result nor an error, or if\n * the \"isComplete\" flag is falsy.\n */\n static _checkForCompletion(req, res, isComplete) {\n if (!('result' in res) && !('error' in res)) {\n throw new eth_rpc_errors_1.EthereumRpcError(eth_rpc_errors_1.errorCodes.rpc.internal, `JsonRpcEngine: Response has no error or result for request:\\n${jsonify(req)}`, { request: req });\n }\n if (!isComplete) {\n throw new eth_rpc_errors_1.EthereumRpcError(eth_rpc_errors_1.errorCodes.rpc.internal, `JsonRpcEngine: Nothing ended request:\\n${jsonify(req)}`, { request: req });\n }\n }\n}\nexports.JsonRpcEngine = JsonRpcEngine;\nfunction jsonify(request) {\n return JSON.stringify(request, null, 2);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSnNvblJwY0VuZ2luZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Kc29uUnBjRW5naW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHNGQUE0RDtBQUM1RCxtREFBOEU7QUF1RjlFOzs7R0FHRztBQUNILE1BQWEsYUFBYyxTQUFRLDRCQUFnQjtJQUdqRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFJLENBQU8sVUFBbUM7UUFDNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBaUQsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUEyQ0QsTUFBTSxDQUFDLEdBQVksRUFBRSxFQUFRO1FBQzNCLElBQUksRUFBRSxJQUFJLE9BQU8sRUFBRSxLQUFLLFVBQVUsRUFBRTtZQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7U0FDL0Q7UUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdEIsSUFBSSxFQUFFLEVBQUU7Z0JBQ04sT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQzthQUNuQztZQUNELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUMvQjtRQUVELElBQUksRUFBRSxFQUFFO1lBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQThCLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDekQ7UUFDRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBOEIsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFlBQVk7UUFDVixPQUFPLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNuQyxJQUFJ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","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.mergeMiddleware = void 0;\nconst JsonRpcEngine_1 = require(\"./JsonRpcEngine\");\nfunction mergeMiddleware(middlewareStack) {\n const engine = new JsonRpcEngine_1.JsonRpcEngine();\n middlewareStack.forEach((middleware) => engine.push(middleware));\n return engine.asMiddleware();\n}\nexports.mergeMiddleware = mergeMiddleware;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2VNaWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21lcmdlTWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBbUU7QUFFbkUsU0FBZ0IsZUFBZSxDQUFDLGVBQXNEO0lBQ3BGLE1BQU0sTUFBTSxHQUFHLElBQUksNkJBQWEsRUFBRSxDQUFDO0lBQ25DLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNqRSxPQUFPLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztBQUMvQixDQUFDO0FBSkQsMENBSUMifQ==","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./idRemapMiddleware\"), exports);\n__exportStar(require(\"./createAsyncMiddleware\"), exports);\n__exportStar(require(\"./createScaffoldMiddleware\"), exports);\n__exportStar(require(\"./getUniqueId\"), exports);\n__exportStar(require(\"./JsonRpcEngine\"), exports);\n__exportStar(require(\"./mergeMiddleware\"), exports);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsc0RBQW9DO0FBQ3BDLDBEQUF3QztBQUN4Qyw2REFBMkM7QUFDM0MsZ0RBQThCO0FBQzlCLGtEQUFnQztBQUNoQyxvREFBa0MifQ==","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar Semaphore = /** @class */ (function () {\n function Semaphore(_maxConcurrency) {\n this._maxConcurrency = _maxConcurrency;\n this._queue = [];\n if (_maxConcurrency <= 0) {\n throw new Error('semaphore must be initialized to a positive value');\n }\n this._value = _maxConcurrency;\n }\n Semaphore.prototype.acquire = function () {\n var _this = this;\n var locked = this.isLocked();\n var ticket = new Promise(function (r) { return _this._queue.push(r); });\n if (!locked)\n this._dispatch();\n return ticket;\n };\n Semaphore.prototype.runExclusive = function (callback) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var _a, value, release;\n return tslib_1.__generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, this.acquire()];\n case 1:\n _a = _b.sent(), value = _a[0], release = _a[1];\n _b.label = 2;\n case 2:\n _b.trys.push([2, , 4, 5]);\n return [4 /*yield*/, callback(value)];\n case 3: return [2 /*return*/, _b.sent()];\n case 4:\n release();\n return [7 /*endfinally*/];\n case 5: return [2 /*return*/];\n }\n });\n });\n };\n Semaphore.prototype.isLocked = function () {\n return this._value <= 0;\n };\n Semaphore.prototype.release = function () {\n if (this._maxConcurrency > 1) {\n throw new Error('this method is unavailabel on semaphores with concurrency > 1; use the scoped release returned by acquire instead');\n }\n if (this._currentReleaser) {\n var releaser = this._currentReleaser;\n this._currentReleaser = undefined;\n releaser();\n }\n };\n Semaphore.prototype._dispatch = function () {\n var _this = this;\n var nextConsumer = this._queue.shift();\n if (!nextConsumer)\n return;\n var released = false;\n this._currentReleaser = function () {\n if (released)\n return;\n released = true;\n _this._value++;\n _this._dispatch();\n };\n nextConsumer([this._value--, this._currentReleaser]);\n };\n return Semaphore;\n}());\nexports.default = Semaphore;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar Semaphore_1 = require(\"./Semaphore\");\nvar Mutex = /** @class */ (function () {\n function Mutex() {\n this._semaphore = new Semaphore_1.default(1);\n }\n Mutex.prototype.acquire = function () {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var _a, releaser;\n return tslib_1.__generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, this._semaphore.acquire()];\n case 1:\n _a = _b.sent(), releaser = _a[1];\n return [2 /*return*/, releaser];\n }\n });\n });\n };\n Mutex.prototype.runExclusive = function (callback) {\n return this._semaphore.runExclusive(function () { return callback(); });\n };\n Mutex.prototype.isLocked = function () {\n return this._semaphore.isLocked();\n };\n Mutex.prototype.release = function () {\n this._semaphore.release();\n };\n return Mutex;\n}());\nexports.default = Mutex;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.withTimeout = void 0;\nvar tslib_1 = require(\"tslib\");\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction withTimeout(sync, timeout, timeoutError) {\n var _this = this;\n if (timeoutError === void 0) { timeoutError = new Error('timeout'); }\n return {\n acquire: function () {\n return new Promise(function (resolve, reject) { return tslib_1.__awaiter(_this, void 0, void 0, function () {\n var isTimeout, ticket, release;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n isTimeout = false;\n setTimeout(function () {\n isTimeout = true;\n reject(timeoutError);\n }, timeout);\n return [4 /*yield*/, sync.acquire()];\n case 1:\n ticket = _a.sent();\n if (isTimeout) {\n release = Array.isArray(ticket) ? ticket[1] : ticket;\n release();\n }\n else {\n resolve(ticket);\n }\n return [2 /*return*/];\n }\n });\n }); });\n },\n runExclusive: function (callback) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var release, ticket;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n release = function () { return undefined; };\n _a.label = 1;\n case 1:\n _a.trys.push([1, , 7, 8]);\n return [4 /*yield*/, this.acquire()];\n case 2:\n ticket = _a.sent();\n if (!Array.isArray(ticket)) return [3 /*break*/, 4];\n release = ticket[1];\n return [4 /*yield*/, callback(ticket[0])];\n case 3: return [2 /*return*/, _a.sent()];\n case 4:\n release = ticket;\n return [4 /*yield*/, callback()];\n case 5: return [2 /*return*/, _a.sent()];\n case 6: return [3 /*break*/, 8];\n case 7:\n release();\n return [7 /*endfinally*/];\n case 8: return [2 /*return*/];\n }\n });\n });\n },\n release: function () {\n sync.release();\n },\n isLocked: function () { return sync.isLocked(); },\n };\n}\nexports.withTimeout = withTimeout;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.withTimeout = exports.Semaphore = exports.Mutex = void 0;\nvar Mutex_1 = require(\"./Mutex\");\nObject.defineProperty(exports, \"Mutex\", { enumerable: true, get: function () { return Mutex_1.default; } });\nvar Semaphore_1 = require(\"./Semaphore\");\nObject.defineProperty(exports, \"Semaphore\", { enumerable: true, get: function () { return Semaphore_1.default; } });\nvar withTimeout_1 = require(\"./withTimeout\");\nObject.defineProperty(exports, \"withTimeout\", { enumerable: true, get: function () { return withTimeout_1.withTimeout; } });\n","module.exports = extend\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction extend() {\n var target = {}\n\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i]\n\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key]\n }\n }\n }\n\n return target\n}\n","const extend = require('xtend')\nconst createRandomId = require('json-rpc-random-id')()\n\nmodule.exports = EthQuery\n\n\nfunction EthQuery(provider){\n const self = this\n self.currentProvider = provider\n}\n\n//\n// base queries\n//\n\n// default block\nEthQuery.prototype.getBalance = generateFnWithDefaultBlockFor(2, 'eth_getBalance')\nEthQuery.prototype.getCode = generateFnWithDefaultBlockFor(2, 'eth_getCode')\nEthQuery.prototype.getTransactionCount = generateFnWithDefaultBlockFor(2, 'eth_getTransactionCount')\nEthQuery.prototype.getStorageAt = generateFnWithDefaultBlockFor(3, 'eth_getStorageAt')\nEthQuery.prototype.call = generateFnWithDefaultBlockFor(2, 'eth_call')\n// standard\nEthQuery.prototype.protocolVersion = generateFnFor('eth_protocolVersion')\nEthQuery.prototype.syncing = generateFnFor('eth_syncing')\nEthQuery.prototype.coinbase = generateFnFor('eth_coinbase')\nEthQuery.prototype.mining = generateFnFor('eth_mining')\nEthQuery.prototype.hashrate = generateFnFor('eth_hashrate')\nEthQuery.prototype.gasPrice = generateFnFor('eth_gasPrice')\nEthQuery.prototype.accounts = generateFnFor('eth_accounts')\nEthQuery.prototype.blockNumber = generateFnFor('eth_blockNumber')\nEthQuery.prototype.getBlockTransactionCountByHash = generateFnFor('eth_getBlockTransactionCountByHash')\nEthQuery.prototype.getBlockTransactionCountByNumber = generateFnFor('eth_getBlockTransactionCountByNumber')\nEthQuery.prototype.getUncleCountByBlockHash = generateFnFor('eth_getUncleCountByBlockHash')\nEthQuery.prototype.getUncleCountByBlockNumber = generateFnFor('eth_getUncleCountByBlockNumber')\nEthQuery.prototype.sign = generateFnFor('eth_sign')\nEthQuery.prototype.sendTransaction = generateFnFor('eth_sendTransaction')\nEthQuery.prototype.sendRawTransaction = generateFnFor('eth_sendRawTransaction')\nEthQuery.prototype.estimateGas = generateFnFor('eth_estimateGas')\nEthQuery.prototype.getBlockByHash = generateFnFor('eth_getBlockByHash')\nEthQuery.prototype.getBlockByNumber = generateFnFor('eth_getBlockByNumber')\nEthQuery.prototype.getTransactionByHash = generateFnFor('eth_getTransactionByHash')\nEthQuery.prototype.getTransactionByBlockHashAndIndex = generateFnFor('eth_getTransactionByBlockHashAndIndex')\nEthQuery.prototype.getTransactionByBlockNumberAndIndex = generateFnFor('eth_getTransactionByBlockNumberAndIndex')\nEthQuery.prototype.getTransactionReceipt = generateFnFor('eth_getTransactionReceipt')\nEthQuery.prototype.getUncleByBlockHashAndIndex = generateFnFor('eth_getUncleByBlockHashAndIndex')\nEthQuery.prototype.getUncleByBlockNumberAndIndex = generateFnFor('eth_getUncleByBlockNumberAndIndex')\nEthQuery.prototype.getCompilers = generateFnFor('eth_getCompilers')\nEthQuery.prototype.compileLLL = generateFnFor('eth_compileLLL')\nEthQuery.prototype.compileSolidity = generateFnFor('eth_compileSolidity')\nEthQuery.prototype.compileSerpent = generateFnFor('eth_compileSerpent')\nEthQuery.prototype.newFilter = generateFnFor('eth_newFilter')\nEthQuery.prototype.newBlockFilter = generateFnFor('eth_newBlockFilter')\nEthQuery.prototype.newPendingTransactionFilter = generateFnFor('eth_newPendingTransactionFilter')\nEthQuery.prototype.uninstallFilter = generateFnFor('eth_uninstallFilter')\nEthQuery.prototype.getFilterChanges = generateFnFor('eth_getFilterChanges')\nEthQuery.prototype.getFilterLogs = generateFnFor('eth_getFilterLogs')\nEthQuery.prototype.getLogs = generateFnFor('eth_getLogs')\nEthQuery.prototype.getWork = generateFnFor('eth_getWork')\nEthQuery.prototype.submitWork = generateFnFor('eth_submitWork')\nEthQuery.prototype.submitHashrate = generateFnFor('eth_submitHashrate')\n\n// network level\n\nEthQuery.prototype.sendAsync = function(opts, cb){\n const self = this\n self.currentProvider.sendAsync(createPayload(opts), function(err, response){\n if (!err && response.error) err = new Error('EthQuery - RPC Error - '+response.error.message)\n if (err) return cb(err)\n cb(null, response.result)\n })\n}\n\n// util\n\nfunction generateFnFor(methodName){\n return function(){\n const self = this\n var args = [].slice.call(arguments)\n var cb = args.pop()\n self.sendAsync({\n method: methodName,\n params: args,\n }, cb)\n }\n}\n\nfunction generateFnWithDefaultBlockFor(argCount, methodName){\n return function(){\n const self = this\n var args = [].slice.call(arguments)\n var cb = args.pop()\n // set optional default block param\n if (args.length < argCount) args.push('latest')\n self.sendAsync({\n method: methodName,\n params: args,\n }, cb)\n }\n}\n\nfunction createPayload(data){\n return extend({\n // defaults\n id: createRandomId(),\n jsonrpc: '2.0',\n params: [],\n // user-specified\n }, data)\n}\n","'use strict';\n\nconst processFn = (fn, options, proxy, unwrapped) => function (...arguments_) {\n\tconst P = options.promiseModule;\n\n\treturn new P((resolve, reject) => {\n\t\tif (options.multiArgs) {\n\t\t\targuments_.push((...result) => {\n\t\t\t\tif (options.errorFirst) {\n\t\t\t\t\tif (result[0]) {\n\t\t\t\t\t\treject(result);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.shift();\n\t\t\t\t\t\tresolve(result);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresolve(result);\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (options.errorFirst) {\n\t\t\targuments_.push((error, result) => {\n\t\t\t\tif (error) {\n\t\t\t\t\treject(error);\n\t\t\t\t} else {\n\t\t\t\t\tresolve(result);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\targuments_.push(resolve);\n\t\t}\n\n\t\tconst self = this === proxy ? unwrapped : this;\n\t\tReflect.apply(fn, self, arguments_);\n\t});\n};\n\nconst filterCache = new WeakMap();\n\nmodule.exports = (input, options) => {\n\toptions = {\n\t\texclude: [/.+(?:Sync|Stream)$/],\n\t\terrorFirst: true,\n\t\tpromiseModule: Promise,\n\t\t...options\n\t};\n\n\tconst objectType = typeof input;\n\tif (!(input !== null && (objectType === 'object' || objectType === 'function'))) {\n\t\tthrow new TypeError(`Expected \\`input\\` to be a \\`Function\\` or \\`Object\\`, got \\`${input === null ? 'null' : objectType}\\``);\n\t}\n\n\tconst filter = (target, key) => {\n\t\tlet cached = filterCache.get(target);\n\n\t\tif (!cached) {\n\t\t\tcached = {};\n\t\t\tfilterCache.set(target, cached);\n\t\t}\n\n\t\tif (key in cached) {\n\t\t\treturn cached[key];\n\t\t}\n\n\t\tconst match = pattern => (typeof pattern === 'string' || typeof key === 'symbol') ? key === pattern : pattern.test(key);\n\t\tconst desc = Reflect.getOwnPropertyDescriptor(target, key);\n\t\tconst writableOrConfigurableOwn = (desc === undefined || desc.writable || desc.configurable);\n\t\tconst included = options.include ? options.include.some(match) : !options.exclude.some(match);\n\t\tconst shouldFilter = included && writableOrConfigurableOwn;\n\t\tcached[key] = shouldFilter;\n\t\treturn shouldFilter;\n\t};\n\n\tconst cache = new WeakMap();\n\n\tconst proxy = new Proxy(input, {\n\t\tapply(target, thisArg, args) {\n\t\t\tconst cached = cache.get(target);\n\n\t\t\tif (cached) {\n\t\t\t\treturn Reflect.apply(cached, thisArg, args);\n\t\t\t}\n\n\t\t\tconst pified = options.excludeMain ? target : processFn(target, options, proxy, target);\n\t\t\tcache.set(target, pified);\n\t\t\treturn Reflect.apply(pified, thisArg, args);\n\t\t},\n\n\t\tget(target, key) {\n\t\t\tconst property = target[key];\n\n\t\t\t// eslint-disable-next-line no-use-extend-native/no-use-extend-native\n\t\t\tif (!filter(target, key) || property === Function.prototype[key]) {\n\t\t\t\treturn property;\n\t\t\t}\n\n\t\t\tconst cached = cache.get(property);\n\n\t\t\tif (cached) {\n\t\t\t\treturn cached;\n\t\t\t}\n\n\t\t\tif (typeof property === 'function') {\n\t\t\t\tconst pified = processFn(property, options, proxy, target);\n\t\t\t\tcache.set(property, pified);\n\t\t\t\treturn pified;\n\t\t\t}\n\n\t\t\treturn property;\n\t\t}\n\t});\n\n\treturn proxy;\n};\n","const SafeEventEmitter = require('@metamask/safe-event-emitter').default\n\nclass BaseFilter extends SafeEventEmitter {\n\n constructor () {\n super()\n this.updates = []\n }\n\n async initialize () {}\n\n async update () {\n throw new Error('BaseFilter - no update method specified')\n }\n\n addResults (newResults) {\n this.updates = this.updates.concat(newResults)\n newResults.forEach(result => this.emit('update', result))\n }\n\n addInitialResults (newResults) {}\n\n getChangesAndClear () {\n const updates = this.updates\n this.updates = []\n return updates\n }\n \n}\n\nmodule.exports = BaseFilter\n","const BaseFilter = require('./base-filter')\n\n// tracks all results ever recorded\nclass BaseFilterWithHistory extends BaseFilter {\n\n constructor () {\n super()\n this.allResults = []\n }\n\n async update () {\n throw new Error('BaseFilterWithHistory - no update method specified')\n }\n\n addResults (newResults) {\n this.allResults = this.allResults.concat(newResults)\n super.addResults(newResults)\n }\n\n addInitialResults (newResults) {\n this.allResults = this.allResults.concat(newResults)\n super.addInitialResults(newResults)\n }\n\n getAllResults () {\n return this.allResults\n }\n\n}\n\nmodule.exports = BaseFilterWithHistory","\nmodule.exports = {\n minBlockRef,\n maxBlockRef,\n sortBlockRefs,\n bnToHex,\n blockRefIsNumber,\n hexToInt,\n incrementHexInt,\n intToHex,\n unsafeRandomBytes,\n}\n\nfunction minBlockRef(...refs) {\n const sortedRefs = sortBlockRefs(refs)\n return sortedRefs[0]\n}\n\nfunction maxBlockRef(...refs) {\n const sortedRefs = sortBlockRefs(refs)\n return sortedRefs[sortedRefs.length-1]\n}\n\nfunction sortBlockRefs(refs) {\n return refs.sort((refA, refB) => {\n if (refA === 'latest' || refB === 'earliest') return 1\n if (refB === 'latest' || refA === 'earliest') return -1\n return hexToInt(refA) - hexToInt(refB)\n })\n}\n\nfunction bnToHex(bn) {\n return '0x' + bn.toString(16)\n}\n\nfunction blockRefIsNumber(blockRef){\n return blockRef && !['earliest', 'latest', 'pending'].includes(blockRef)\n}\n\nfunction hexToInt(hexString) {\n if (hexString === undefined || hexString === null) return hexString\n return Number.parseInt(hexString, 16)\n}\n\nfunction incrementHexInt(hexString){\n if (hexString === undefined || hexString === null) return hexString\n const value = hexToInt(hexString)\n return intToHex(value + 1)\n}\n\nfunction intToHex(int) {\n if (int === undefined || int === null) return int\n let hexString = int.toString(16)\n const needsLeftPad = hexString.length % 2\n if (needsLeftPad) hexString = '0' + hexString\n return '0x' + hexString\n}\n\nfunction unsafeRandomBytes(byteCount) {\n let result = '0x'\n for (let i = 0; i < byteCount; i++) {\n result += unsafeRandomNibble()\n result += unsafeRandomNibble()\n }\n return result\n}\n\nfunction unsafeRandomNibble() {\n return Math.floor(Math.random() * 16).toString(16)\n}\n","const EthQuery = require('eth-query')\nconst pify = require('pify')\nconst BaseFilterWithHistory = require('./base-filter-history')\nconst { bnToHex, hexToInt, incrementHexInt, minBlockRef, blockRefIsNumber } = require('./hexUtils')\n\nclass LogFilter extends BaseFilterWithHistory {\n\n constructor ({ provider, params }) {\n super()\n this.type = 'log'\n this.ethQuery = new EthQuery(provider)\n this.params = Object.assign({\n fromBlock: 'latest',\n toBlock: 'latest',\n address: undefined,\n topics: [],\n }, params)\n // normalize address parameter\n if (this.params.address) {\n // ensure array\n if (!Array.isArray(this.params.address)) {\n this.params.address = [this.params.address]\n }\n // ensure lowercase\n this.params.address = this.params.address.map(address => address.toLowerCase())\n }\n }\n\n async initialize({ currentBlock }) {\n // resolve params.fromBlock\n let fromBlock = this.params.fromBlock\n if (['latest', 'pending'].includes(fromBlock)) fromBlock = currentBlock\n if ('earliest' === fromBlock) fromBlock = '0x0'\n this.params.fromBlock = fromBlock\n // set toBlock for initial lookup\n const toBlock = minBlockRef(this.params.toBlock, currentBlock)\n const params = Object.assign({}, this.params, { toBlock })\n // fetch logs and add to results\n const newLogs = await this._fetchLogs(params)\n this.addInitialResults(newLogs)\n }\n\n async update ({ oldBlock, newBlock }) {\n // configure params for this update\n const toBlock = newBlock\n let fromBlock\n // oldBlock is empty on first sync\n if (oldBlock) {\n fromBlock = incrementHexInt(oldBlock)\n } else {\n fromBlock = newBlock\n }\n // fetch logs\n const params = Object.assign({}, this.params, { fromBlock, toBlock })\n const newLogs = await this._fetchLogs(params)\n const matchingLogs = newLogs.filter(log => this.matchLog(log))\n\n // add to results\n this.addResults(matchingLogs)\n }\n\n async _fetchLogs (params) {\n const newLogs = await pify(cb => this.ethQuery.getLogs(params, cb))()\n // add to results\n return newLogs\n }\n\n matchLog(log) {\n // check if block number in bounds:\n if (hexToInt(this.params.fromBlock) >= hexToInt(log.blockNumber)) return false\n if (blockRefIsNumber(this.params.toBlock) && hexToInt(this.params.toBlock) <= hexToInt(log.blockNumber)) return false\n\n // address is correct:\n const normalizedLogAddress = log.address && log.address.toLowerCase()\n if (this.params.address && normalizedLogAddress && !this.params.address.includes(normalizedLogAddress)) return false\n\n // topics match:\n // topics are position-dependant\n // topics can be nested to represent `or` [[a || b], c]\n // topics can be null, representing a wild card for that position\n const topicsMatch = this.params.topics.every((topicPattern, index) => {\n // pattern is longer than actual topics\n let logTopic = log.topics[index]\n if (!logTopic) return false\n logTopic = logTopic.toLowerCase()\n // normalize subTopics\n let subtopicsToMatch = Array.isArray(topicPattern) ? topicPattern : [topicPattern]\n // check for wild card\n const subtopicsIncludeWildcard = subtopicsToMatch.includes(null)\n if (subtopicsIncludeWildcard) return true\n subtopicsToMatch = subtopicsToMatch.map(topic => topic.toLowerCase())\n // check each possible matching topic\n const topicDoesMatch = subtopicsToMatch.includes(logTopic)\n return topicDoesMatch\n })\n\n return topicsMatch\n }\n\n}\n\nmodule.exports = LogFilter\n","module.exports = getBlocksForRange\n\nasync function getBlocksForRange({ provider, fromBlock, toBlock }) {\n if (!fromBlock) fromBlock = toBlock\n\n const fromBlockNumber = hexToInt(fromBlock)\n const toBlockNumber = hexToInt(toBlock)\n const blockCountToQuery = toBlockNumber - fromBlockNumber + 1\n // load all blocks from old to new (inclusive)\n const missingBlockNumbers = Array(blockCountToQuery).fill()\n .map((_,index) => fromBlockNumber + index)\n .map(intToHex)\n let blockBodies = await Promise.all(\n missingBlockNumbers.map(blockNum => query(provider, 'eth_getBlockByNumber', [blockNum, false]))\n )\n blockBodies = blockBodies.filter(block => block !== null);\n return blockBodies\n}\n\nfunction hexToInt(hexString) {\n if (hexString === undefined || hexString === null) return hexString\n return Number.parseInt(hexString, 16)\n}\n\nfunction incrementHexInt(hexString){\n if (hexString === undefined || hexString === null) return hexString\n const value = hexToInt(hexString)\n return intToHex(value + 1)\n}\n\nfunction intToHex(int) {\n if (int === undefined || int === null) return int\n const hexString = int.toString(16)\n return '0x' + hexString\n}\n\nfunction sendAsync(provider, request) {\n return new Promise((resolve, reject) => {\n provider.sendAsync(request, (error, response) => {\n if (error) {\n reject(error);\n } else if (response.error) {\n reject(response.error);\n } else if (response.result) {\n resolve(response.result);\n } else {\n reject(new Error(\"Result was empty\"));\n }\n });\n });\n}\n\nasync function query(provider, method, params) {\n for (let i = 0; i < 3; i++) {\n try {\n return await sendAsync(provider, {\n id: 1,\n jsonrpc: \"2.0\",\n method,\n params,\n });\n } catch (error) {\n console.error(\n `provider.sendAsync failed: ${error.stack || error.message || error}`\n );\n }\n }\n return null;\n}\n","const BaseFilter = require('./base-filter')\nconst getBlocksForRange = require('./getBlocksForRange')\nconst { incrementHexInt } = require('./hexUtils')\n\nclass BlockFilter extends BaseFilter {\n\n constructor ({ provider, params }) {\n super()\n this.type = 'block'\n this.provider = provider\n }\n\n async update ({ oldBlock, newBlock }) {\n const toBlock = newBlock\n const fromBlock = incrementHexInt(oldBlock)\n const blockBodies = await getBlocksForRange({ provider: this.provider, fromBlock, toBlock })\n const blockHashes = blockBodies.map((block) => block.hash)\n this.addResults(blockHashes)\n }\n\n}\n\nmodule.exports = BlockFilter\n","const BaseFilter = require('./base-filter')\nconst getBlocksForRange = require('./getBlocksForRange')\nconst { incrementHexInt } = require('./hexUtils')\n\nclass TxFilter extends BaseFilter {\n\n constructor ({ provider }) {\n super()\n this.type = 'tx'\n this.provider = provider\n }\n\n async update ({ oldBlock }) {\n const toBlock = oldBlock\n const fromBlock = incrementHexInt(oldBlock)\n const blocks = await getBlocksForRange({ provider: this.provider, fromBlock, toBlock })\n const blockTxHashes = []\n for (const block of blocks) {\n blockTxHashes.push(...block.transactions)\n }\n // add to results\n this.addResults(blockTxHashes)\n }\n\n}\n\nmodule.exports = TxFilter\n","const Mutex = require('async-mutex').Mutex\nconst { createAsyncMiddleware, createScaffoldMiddleware } = require('json-rpc-engine')\nconst LogFilter = require('./log-filter.js')\nconst BlockFilter = require('./block-filter.js')\nconst TxFilter = require('./tx-filter.js')\nconst { intToHex, hexToInt } = require('./hexUtils')\n\nmodule.exports = createEthFilterMiddleware\n\nfunction createEthFilterMiddleware({ blockTracker, provider }) {\n\n // create filter collection\n let filterIndex = 0\n let filters = {}\n // create update mutex\n const mutex = new Mutex()\n const waitForFree = mutexMiddlewareWrapper({ mutex })\n\n const middleware = createScaffoldMiddleware({\n // install filters\n eth_newFilter: waitForFree(toFilterCreationMiddleware(newLogFilter)),\n eth_newBlockFilter: waitForFree(toFilterCreationMiddleware(newBlockFilter)),\n eth_newPendingTransactionFilter: waitForFree(toFilterCreationMiddleware(newPendingTransactionFilter)),\n // uninstall filters\n eth_uninstallFilter: waitForFree(toAsyncRpcMiddleware(uninstallFilterHandler)),\n // checking filter changes\n eth_getFilterChanges: waitForFree(toAsyncRpcMiddleware(getFilterChanges)),\n eth_getFilterLogs: waitForFree(toAsyncRpcMiddleware(getFilterLogs)),\n })\n\n // setup filter updating and destroy handler\n const filterUpdater = async ({ oldBlock, newBlock }) => {\n if (filters.length === 0) return\n // lock update reads\n const releaseLock = await mutex.acquire()\n try {\n // process all filters in parallel\n await Promise.all(objValues(filters).map(async (filter) => {\n try {\n await filter.update({ oldBlock, newBlock })\n } catch (err) {\n // handle each error individually so filter update errors don't affect other filters\n console.error(err)\n }\n }))\n } catch (err) {\n // log error so we don't skip the releaseLock\n console.error(err)\n }\n // unlock update reads\n releaseLock()\n }\n\n // expose filter methods directly\n middleware.newLogFilter = newLogFilter\n middleware.newBlockFilter = newBlockFilter\n middleware.newPendingTransactionFilter = newPendingTransactionFilter\n middleware.uninstallFilter = uninstallFilterHandler\n middleware.getFilterChanges = getFilterChanges\n middleware.getFilterLogs = getFilterLogs\n\n // expose destroy method for cleanup\n middleware.destroy = () => {\n uninstallAllFilters()\n }\n\n return middleware\n\n //\n // new filters\n //\n\n async function newLogFilter(params) {\n const filter = new LogFilter({ provider, params })\n const filterIndex = await installFilter(filter)\n return filter\n }\n\n async function newBlockFilter() {\n const filter = new BlockFilter({ provider })\n const filterIndex = await installFilter(filter)\n return filter\n }\n\n async function newPendingTransactionFilter() {\n const filter = new TxFilter({ provider })\n const filterIndex = await installFilter(filter)\n return filter\n }\n\n //\n // get filter changes\n //\n\n async function getFilterChanges(filterIndexHex) {\n const filterIndex = hexToInt(filterIndexHex)\n const filter = filters[filterIndex]\n if (!filter) {\n throw new Error(`No filter for index \"${filterIndex}\"`)\n }\n const results = filter.getChangesAndClear()\n return results\n }\n\n async function getFilterLogs(filterIndexHex) {\n const filterIndex = hexToInt(filterIndexHex)\n const filter = filters[filterIndex]\n if (!filter) {\n throw new Error(`No filter for index \"${filterIndex}\"`)\n }\n // only return results for log filters\n let results = []\n if (filter.type === 'log') {\n results = filter.getAllResults()\n }\n return results\n }\n\n\n //\n // remove filters\n //\n\n\n async function uninstallFilterHandler(filterIndexHex) {\n // check filter exists\n const filterIndex = hexToInt(filterIndexHex)\n const filter = filters[filterIndex]\n const result = Boolean(filter)\n // uninstall filter\n if (result) {\n await uninstallFilter(filterIndex)\n }\n return result\n }\n\n //\n // utils\n //\n\n async function installFilter(filter) {\n const prevFilterCount = objValues(filters).length\n // install filter\n const currentBlock = await blockTracker.getLatestBlock()\n await filter.initialize({ currentBlock })\n filterIndex++\n filters[filterIndex] = filter\n filter.id = filterIndex\n filter.idHex = intToHex(filterIndex)\n // update block tracker subs\n const newFilterCount = objValues(filters).length\n updateBlockTrackerSubs({ prevFilterCount, newFilterCount })\n return filterIndex\n }\n\n async function uninstallFilter(filterIndex) {\n const prevFilterCount = objValues(filters).length\n delete filters[filterIndex]\n // update block tracker subs\n const newFilterCount = objValues(filters).length\n updateBlockTrackerSubs({ prevFilterCount, newFilterCount })\n }\n\n async function uninstallAllFilters() {\n const prevFilterCount = objValues(filters).length\n filters = {}\n // update block tracker subs\n updateBlockTrackerSubs({ prevFilterCount, newFilterCount: 0 })\n }\n\n function updateBlockTrackerSubs({ prevFilterCount, newFilterCount }) {\n // subscribe\n if (prevFilterCount === 0 && newFilterCount > 0) {\n blockTracker.on('sync', filterUpdater)\n return\n }\n // unsubscribe\n if (prevFilterCount > 0 && newFilterCount === 0) {\n blockTracker.removeListener('sync', filterUpdater)\n return\n }\n }\n\n}\n\n// helper for turning filter constructors into rpc middleware\nfunction toFilterCreationMiddleware(createFilterFn) {\n return toAsyncRpcMiddleware(async (...args) => {\n const filter = await createFilterFn(...args)\n const result = intToHex(filter.id)\n return result\n })\n}\n\n// helper for pulling out req.params and setting res.result\nfunction toAsyncRpcMiddleware(asyncFn) {\n return createAsyncMiddleware(async (req, res) => {\n const result = await asyncFn.apply(null, req.params)\n res.result = result\n })\n}\n\nfunction mutexMiddlewareWrapper({ mutex }) {\n return (middleware) => {\n return async (req, res, next, end) => {\n // wait for mutex available\n // we can release immediately because\n // we just need to make sure updates aren't active\n const releaseLock = await mutex.acquire()\n releaseLock()\n middleware(req, res, next, end)\n }\n }\n}\n\nfunction objValues(obj, fn){\n const values = []\n for (let key in obj) {\n values.push(obj[key])\n }\n return values\n}\n","const SafeEventEmitter = require('@metamask/safe-event-emitter').default\nconst { createAsyncMiddleware, createScaffoldMiddleware } = require('json-rpc-engine')\nconst createFilterMiddleware = require('./index.js')\nconst { unsafeRandomBytes, incrementHexInt } = require('./hexUtils.js')\nconst getBlocksForRange = require('./getBlocksForRange.js')\n\nmodule.exports = createSubscriptionMiddleware\n\n\nfunction createSubscriptionMiddleware({ blockTracker, provider }) {\n // state and utilities for handling subscriptions\n const subscriptions = {}\n const filterManager = createFilterMiddleware({ blockTracker, provider })\n\n // internal flag\n let isDestroyed = false\n\n // create subscriptionManager api object\n const events = new SafeEventEmitter()\n const middleware = createScaffoldMiddleware({\n eth_subscribe: createAsyncMiddleware(subscribe),\n eth_unsubscribe: createAsyncMiddleware(unsubscribe),\n })\n middleware.destroy = destroy\n return { events, middleware }\n\n async function subscribe(req, res) {\n\n if (isDestroyed) throw new Error(\n 'SubscriptionManager - attempting to use after destroying'\n )\n\n const subscriptionType = req.params[0]\n // subId is 16 byte hex string\n const subId = unsafeRandomBytes(16)\n\n // create sub\n let sub\n switch (subscriptionType) {\n case 'newHeads':\n sub = createSubNewHeads({ subId })\n break\n case 'logs':\n const filterParams = req.params[1]\n const filter = await filterManager.newLogFilter(filterParams)\n sub = createSubFromFilter({ subId, filter })\n break\n default:\n throw new Error(`SubscriptionManager - unsupported subscription type \"${subscriptionType}\"`)\n\n }\n subscriptions[subId] = sub\n\n res.result = subId\n return\n\n function createSubNewHeads({ subId }) {\n const sub = {\n type: subscriptionType,\n destroy: async () => {\n blockTracker.removeListener('sync', sub.update)\n },\n update: async ({ oldBlock, newBlock }) => {\n // for newHeads\n const toBlock = newBlock\n const fromBlock = incrementHexInt(oldBlock)\n const rawBlocks = await getBlocksForRange({ provider, fromBlock, toBlock })\n const results = rawBlocks.map(normalizeBlock).filter(block => block !== null)\n results.forEach((value) => {\n _emitSubscriptionResult(subId, value)\n })\n }\n }\n // check for subscription updates on new block\n blockTracker.on('sync', sub.update)\n return sub\n }\n\n function createSubFromFilter({ subId, filter }) {\n filter.on('update', result => _emitSubscriptionResult(subId, result))\n const sub = {\n type: subscriptionType,\n destroy: async () => {\n return await filterManager.uninstallFilter(filter.idHex)\n },\n }\n return sub\n }\n }\n\n async function unsubscribe(req, res) {\n\n if (isDestroyed) throw new Error(\n 'SubscriptionManager - attempting to use after destroying'\n )\n\n const id = req.params[0]\n const subscription = subscriptions[id]\n // if missing, return \"false\" to indicate it was not removed\n if (!subscription) {\n res.result = false\n return\n }\n // cleanup subscription\n delete subscriptions[id]\n await subscription.destroy()\n res.result = true\n }\n\n function _emitSubscriptionResult(filterIdHex, value) {\n events.emit('notification', {\n jsonrpc: '2.0',\n method: 'eth_subscription',\n params: {\n subscription: filterIdHex,\n result: value,\n },\n })\n }\n\n function destroy() {\n events.removeAllListeners()\n for (const id in subscriptions) {\n subscriptions[id].destroy()\n delete subscriptions[id]\n }\n isDestroyed = true\n }\n}\n\nfunction normalizeBlock(block) {\n if (block === null || block === undefined) {\n return null;\n }\n return {\n hash: block.hash,\n parentHash: block.parentHash,\n sha3Uncles: block.sha3Uncles,\n miner: block.miner,\n stateRoot: block.stateRoot,\n transactionsRoot: block.transactionsRoot,\n receiptsRoot: block.receiptsRoot,\n logsBloom: block.logsBloom,\n difficulty: block.difficulty,\n number: block.number,\n gasLimit: block.gasLimit,\n gasUsed: block.gasUsed,\n nonce: block.nonce,\n mixHash: block.mixHash,\n timestamp: block.timestamp,\n extraData: block.extraData,\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SubscriptionManager = void 0;\nconst eth_block_tracker_1 = require(\"eth-block-tracker\");\n// TODO: When we update this package we should be able to fix this\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst createSubscriptionManager = require('eth-json-rpc-filters/subscriptionManager');\nconst noop = () => { };\nclass SubscriptionManager {\n constructor(provider) {\n const blockTracker = new eth_block_tracker_1.PollingBlockTracker({\n provider: provider,\n pollingInterval: 15000,\n setSkipCacheFlag: true,\n });\n const { events, middleware } = createSubscriptionManager({\n blockTracker,\n provider,\n });\n this.events = events;\n this.subscriptionMiddleware = middleware;\n }\n async handleRequest(request) {\n const result = {};\n await this.subscriptionMiddleware(request, result, noop, noop);\n return result;\n }\n destroy() {\n this.subscriptionMiddleware.destroy();\n }\n}\nexports.SubscriptionManager = SubscriptionManager;\n","\"use strict\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n// TODO: Address linting issues\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CoinbaseWalletProvider = void 0;\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nconst bn_js_1 = __importDefault(require(\"bn.js\"));\nconst eventemitter3_1 = require(\"eventemitter3\");\nconst error_1 = require(\"../core/error\");\nconst util_1 = require(\"../core/util\");\nconst MobileRelay_1 = require(\"../relay/mobile/MobileRelay\");\nconst RelayAbstract_1 = require(\"../relay/RelayAbstract\");\nconst Session_1 = require(\"../relay/Session\");\nconst Web3Response_1 = require(\"../relay/walletlink/type/Web3Response\");\nconst eth_eip712_util_1 = __importDefault(require(\"../vendor-js/eth-eip712-util\"));\nconst DiagnosticLogger_1 = require(\"./DiagnosticLogger\");\nconst FilterPolyfill_1 = require(\"./FilterPolyfill\");\nconst SubscriptionManager_1 = require(\"./SubscriptionManager\");\nconst DEFAULT_CHAIN_ID_KEY = 'DefaultChainId';\nconst DEFAULT_JSON_RPC_URL = 'DefaultJsonRpcUrl';\nclass CoinbaseWalletProvider extends eventemitter3_1.EventEmitter {\n constructor(options) {\n var _a, _b;\n super();\n this._filterPolyfill = new FilterPolyfill_1.FilterPolyfill(this);\n this._subscriptionManager = new SubscriptionManager_1.SubscriptionManager(this);\n this._relay = null;\n this._addresses = [];\n this.hasMadeFirstChainChangedEmission = false;\n this.setProviderInfo = this.setProviderInfo.bind(this);\n this.updateProviderInfo = this.updateProviderInfo.bind(this);\n this.getChainId = this.getChainId.bind(this);\n this.setAppInfo = this.setAppInfo.bind(this);\n this.enable = this.enable.bind(this);\n this.close = this.close.bind(this);\n this.send = this.send.bind(this);\n this.sendAsync = this.sendAsync.bind(this);\n this.request = this.request.bind(this);\n this._setAddresses = this._setAddresses.bind(this);\n this.scanQRCode = this.scanQRCode.bind(this);\n this.genericRequest = this.genericRequest.bind(this);\n this._chainIdFromOpts = options.chainId;\n this._jsonRpcUrlFromOpts = options.jsonRpcUrl;\n this._overrideIsMetaMask = options.overrideIsMetaMask;\n this._relayProvider = options.relayProvider;\n this._storage = options.storage;\n this._relayEventManager = options.relayEventManager;\n this.diagnostic = options.diagnosticLogger;\n this.reloadOnDisconnect = true;\n this.isCoinbaseWallet = (_a = options.overrideIsCoinbaseWallet) !== null && _a !== void 0 ? _a : true;\n this.isCoinbaseBrowser = (_b = options.overrideIsCoinbaseBrowser) !== null && _b !== void 0 ? _b : false;\n this.qrUrl = options.qrUrl;\n const chainId = this.getChainId();\n const chainIdStr = (0, util_1.prepend0x)(chainId.toString(16));\n // indicate that we've connected, for EIP-1193 compliance\n this.emit('connect', { chainIdStr });\n const cachedAddresses = this._storage.getItem(RelayAbstract_1.LOCAL_STORAGE_ADDRESSES_KEY);\n if (cachedAddresses) {\n const addresses = cachedAddresses.split(' ');\n if (addresses[0] !== '') {\n this._addresses = addresses.map((address) => (0, util_1.ensureAddressString)(address));\n this.emit('accountsChanged', addresses);\n }\n }\n this._subscriptionManager.events.on('notification', (notification) => {\n this.emit('message', {\n type: notification.method,\n data: notification.params,\n });\n });\n if (this._isAuthorized()) {\n void this.initializeRelay();\n }\n window.addEventListener('message', (event) => {\n var _a;\n // Used to verify the source and window are correct before proceeding\n if (event.origin !== location.origin || event.source !== window) {\n return;\n }\n if (event.data.type !== 'walletLinkMessage')\n return; // compatibility with CBW extension\n if (event.data.data.action === 'dappChainSwitched') {\n const _chainId = event.data.data.chainId;\n const jsonRpcUrl = (_a = event.data.data.jsonRpcUrl) !== null && _a !== void 0 ? _a : this.jsonRpcUrl;\n this.updateProviderInfo(jsonRpcUrl, Number(_chainId));\n }\n });\n }\n /** @deprecated Use `.request({ method: 'eth_accounts' })` instead. */\n get selectedAddress() {\n return this._addresses[0] || undefined;\n }\n /** @deprecated Use the chain ID. If you still need the network ID, use `.request({ method: 'net_version' })`. */\n get networkVersion() {\n return this.getChainId().toString(10);\n }\n /** @deprecated Use `.request({ method: 'eth_chainId' })` instead. */\n get chainId() {\n return (0, util_1.prepend0x)(this.getChainId().toString(16));\n }\n get isWalletLink() {\n // backward compatibility\n return true;\n }\n /**\n * Some DApps (i.e. Alpha Homora) seem to require the window.ethereum object return\n * true for this method.\n */\n get isMetaMask() {\n return this._overrideIsMetaMask;\n }\n get host() {\n return this.jsonRpcUrl;\n }\n get connected() {\n return true;\n }\n isConnected() {\n return true;\n }\n get jsonRpcUrl() {\n var _a;\n return (_a = this._storage.getItem(DEFAULT_JSON_RPC_URL)) !== null && _a !== void 0 ? _a : this._jsonRpcUrlFromOpts;\n }\n set jsonRpcUrl(value) {\n this._storage.setItem(DEFAULT_JSON_RPC_URL, value);\n }\n disableReloadOnDisconnect() {\n this.reloadOnDisconnect = false;\n }\n setProviderInfo(jsonRpcUrl, chainId) {\n if (!this.isCoinbaseBrowser) {\n this._chainIdFromOpts = chainId;\n this._jsonRpcUrlFromOpts = jsonRpcUrl;\n }\n this.updateProviderInfo(this.jsonRpcUrl, this.getChainId());\n }\n updateProviderInfo(jsonRpcUrl, chainId) {\n this.jsonRpcUrl = jsonRpcUrl;\n // emit chainChanged event if necessary\n const originalChainId = this.getChainId();\n this._storage.setItem(DEFAULT_CHAIN_ID_KEY, chainId.toString(10));\n const chainChanged = (0, util_1.ensureIntNumber)(chainId) !== originalChainId;\n if (chainChanged || !this.hasMadeFirstChainChangedEmission) {\n this.emit('chainChanged', this.getChainId());\n this.hasMadeFirstChainChangedEmission = true;\n }\n }\n async watchAsset(type, address, symbol, decimals, image, chainId) {\n const relay = await this.initializeRelay();\n const result = await relay.watchAsset(type, address, symbol, decimals, image, chainId === null || chainId === void 0 ? void 0 : chainId.toString()).promise;\n if ((0, Web3Response_1.isErrorResponse)(result))\n return false;\n return !!result.result;\n }\n async addEthereumChain(chainId, rpcUrls, blockExplorerUrls, chainName, iconUrls, nativeCurrency) {\n var _a, _b;\n if ((0, util_1.ensureIntNumber)(chainId) === this.getChainId()) {\n return false;\n }\n const relay = await this.initializeRelay();\n const isWhitelistedNetworkOrStandalone = relay.inlineAddEthereumChain(chainId.toString());\n if (!this._isAuthorized() && !isWhitelistedNetworkOrStandalone) {\n await relay.requestEthereumAccounts().promise;\n }\n const res = await relay.addEthereumChain(chainId.toString(), rpcUrls, iconUrls, blockExplorerUrls, chainName, nativeCurrency).promise;\n if ((0, Web3Response_1.isErrorResponse)(res))\n return false;\n if (((_a = res.result) === null || _a === void 0 ? void 0 : _a.isApproved) === true) {\n this.updateProviderInfo(rpcUrls[0], chainId);\n }\n return ((_b = res.result) === null || _b === void 0 ? void 0 : _b.isApproved) === true;\n }\n async switchEthereumChain(chainId) {\n const relay = await this.initializeRelay();\n const res = await relay.switchEthereumChain(chainId.toString(10), this.selectedAddress || undefined).promise;\n // backward compatibility\n if ((0, Web3Response_1.isErrorResponse)(res)) {\n if (!res.errorCode)\n return;\n if (res.errorCode === error_1.standardErrorCodes.provider.unsupportedChain) {\n throw error_1.standardErrors.provider.unsupportedChain();\n }\n else {\n throw error_1.standardErrors.provider.custom({\n message: res.errorMessage,\n code: res.errorCode,\n });\n }\n }\n const switchResponse = res.result;\n if (switchResponse.isApproved && switchResponse.rpcUrl.length > 0) {\n this.updateProviderInfo(switchResponse.rpcUrl, chainId);\n }\n }\n setAppInfo(appName, appLogoUrl) {\n void this.initializeRelay().then((relay) => relay.setAppInfo(appName, appLogoUrl));\n }\n /** @deprecated Use `.request({ method: 'eth_requestAccounts' })` instead. */\n async enable() {\n var _a;\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.ETH_ACCOUNTS_STATE, {\n method: 'provider::enable',\n addresses_length: this._addresses.length,\n sessionIdHash: this._relay ? Session_1.Session.hash(this._relay.session.id) : undefined,\n });\n if (this._isAuthorized()) {\n return [...this._addresses];\n }\n return await this.send('eth_requestAccounts');\n }\n async close() {\n const relay = await this.initializeRelay();\n relay.resetAndReload();\n }\n send(requestOrMethod, callbackOrParams) {\n // send(method, params): Promise\n try {\n const result = this._send(requestOrMethod, callbackOrParams);\n if (result instanceof Promise) {\n return result.catch((error) => {\n throw (0, error_1.serializeError)(error, requestOrMethod);\n });\n }\n }\n catch (error) {\n throw (0, error_1.serializeError)(error, requestOrMethod);\n }\n }\n _send(requestOrMethod, callbackOrParams) {\n if (typeof requestOrMethod === 'string') {\n const method = requestOrMethod;\n const params = Array.isArray(callbackOrParams)\n ? callbackOrParams\n : callbackOrParams !== undefined\n ? [callbackOrParams]\n : [];\n const request = {\n jsonrpc: '2.0',\n id: 0,\n method,\n params,\n };\n return this._sendRequestAsync(request).then((res) => res.result);\n }\n // send(JSONRPCRequest | JSONRPCRequest[], callback): void\n if (typeof callbackOrParams === 'function') {\n const request = requestOrMethod;\n const callback = callbackOrParams;\n return this._sendAsync(request, callback);\n }\n // send(JSONRPCRequest[]): JSONRPCResponse[]\n if (Array.isArray(requestOrMethod)) {\n const requests = requestOrMethod;\n return requests.map((r) => this._sendRequest(r));\n }\n // send(JSONRPCRequest): JSONRPCResponse\n const req = requestOrMethod;\n return this._sendRequest(req);\n }\n async sendAsync(request, callback) {\n try {\n return this._sendAsync(request, callback).catch((error) => {\n throw (0, error_1.serializeError)(error, request);\n });\n }\n catch (error) {\n return Promise.reject((0, error_1.serializeError)(error, request));\n }\n }\n async _sendAsync(request, callback) {\n if (typeof callback !== 'function') {\n throw new Error('callback is required');\n }\n // send(JSONRPCRequest[], callback): void\n if (Array.isArray(request)) {\n const arrayCb = callback;\n this._sendMultipleRequestsAsync(request)\n .then((responses) => arrayCb(null, responses))\n .catch((err) => arrayCb(err, null));\n return;\n }\n // send(JSONRPCRequest, callback): void\n const cb = callback;\n return this._sendRequestAsync(request)\n .then((response) => cb(null, response))\n .catch((err) => cb(err, null));\n }\n async request(args) {\n try {\n return this._request(args).catch((error) => {\n throw (0, error_1.serializeError)(error, args.method);\n });\n }\n catch (error) {\n return Promise.reject((0, error_1.serializeError)(error, args.method));\n }\n }\n async _request(args) {\n if (!args || typeof args !== 'object' || Array.isArray(args)) {\n throw error_1.standardErrors.rpc.invalidRequest({\n message: 'Expected a single, non-array, object argument.',\n data: args,\n });\n }\n const { method, params } = args;\n if (typeof method !== 'string' || method.length === 0) {\n throw error_1.standardErrors.rpc.invalidRequest({\n message: \"'args.method' must be a non-empty string.\",\n data: args,\n });\n }\n if (params !== undefined &&\n !Array.isArray(params) &&\n (typeof params !== 'object' || params === null)) {\n throw error_1.standardErrors.rpc.invalidRequest({\n message: \"'args.params' must be an object or array if provided.\",\n data: args,\n });\n }\n const newParams = params === undefined ? [] : params;\n // Coinbase Wallet Requests\n const id = this._relayEventManager.makeRequestId();\n const result = await this._sendRequestAsync({\n method,\n params: newParams,\n jsonrpc: '2.0',\n id,\n });\n return result.result;\n }\n async scanQRCode(match) {\n const relay = await this.initializeRelay();\n const res = await relay.scanQRCode((0, util_1.ensureRegExpString)(match)).promise;\n if ((0, Web3Response_1.isErrorResponse)(res)) {\n throw (0, error_1.serializeError)(res.errorMessage, 'scanQRCode');\n }\n else if (typeof res.result !== 'string') {\n throw (0, error_1.serializeError)('result was not a string', 'scanQRCode');\n }\n return res.result;\n }\n async genericRequest(data, action) {\n const relay = await this.initializeRelay();\n const res = await relay.genericRequest(data, action).promise;\n if ((0, Web3Response_1.isErrorResponse)(res)) {\n throw (0, error_1.serializeError)(res.errorMessage, 'generic');\n }\n else if (typeof res.result !== 'string') {\n throw (0, error_1.serializeError)('result was not a string', 'generic');\n }\n return res.result;\n }\n /**\n * @beta\n * This method is currently in beta. While it is available for use, please note that it is still under testing and may undergo significant changes.\n *\n * @remarks\n * IMPORTANT: Signature validation is not performed by this method. Users of this method are advised to perform their own signature validation.\n * Common web3 frontend libraries such as ethers.js and viem provide the `verifyMessage` utility function that can be used for signature validation.\n *\n * It combines `eth_requestAccounts` and \"Sign-In with Ethereum\" (EIP-4361) into a single call.\n * The returned account and signed message can be used to authenticate the user.\n *\n * @param {Object} params - An object with the following properties:\n * - `nonce` {string}: A unique string to prevent replay attacks.\n * - `statement` {string}: An optional human-readable ASCII assertion that the user will sign.\n * - `resources` {string[]}: An optional list of information the user wishes to have resolved as part of authentication by the relying party.\n *\n * @returns {Promise} A promise that resolves to an object with the following properties:\n * - `accounts` {string[]}: The Ethereum accounts of the user.\n * - `message` {string}: The overall message that the user signed. Hex encoded.\n * - `signature` {string}: The signature of the message, signed with the user's private key. Hex encoded.\n */\n async connectAndSignIn(params) {\n // NOTE: It was intentionally built by following the pattern of the existing eth_requestAccounts method\n // to maintain consistency and avoid introducing a new pattern.\n // We acknowledge the need for a better design, and it is planned to address and improve it in a future refactor.\n var _a;\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.ETH_ACCOUNTS_STATE, {\n method: 'provider::connectAndSignIn',\n sessionIdHash: this._relay ? Session_1.Session.hash(this._relay.session.id) : undefined,\n });\n let res;\n try {\n const relay = await this.initializeRelay();\n if (!(relay instanceof MobileRelay_1.MobileRelay)) {\n throw new Error('connectAndSignIn is only supported on mobile');\n }\n res = await relay.connectAndSignIn(params).promise;\n if ((0, Web3Response_1.isErrorResponse)(res)) {\n throw new Error(res.errorMessage);\n }\n }\n catch (err) {\n if (typeof err.message === 'string' && err.message.match(/(denied|rejected)/i)) {\n throw error_1.standardErrors.provider.userRejectedRequest('User denied account authorization');\n }\n throw err;\n }\n if (!res.result) {\n throw new Error('accounts received is empty');\n }\n const { accounts } = res.result;\n this._setAddresses(accounts);\n if (!this.isCoinbaseBrowser) {\n await this.switchEthereumChain(this.getChainId());\n }\n return res.result;\n }\n async selectProvider(providerOptions) {\n const relay = await this.initializeRelay();\n const res = await relay.selectProvider(providerOptions).promise;\n if ((0, Web3Response_1.isErrorResponse)(res)) {\n throw (0, error_1.serializeError)(res.errorMessage, 'selectProvider');\n }\n else if (typeof res.result !== 'string') {\n throw (0, error_1.serializeError)('result was not a string', 'selectProvider');\n }\n return res.result;\n }\n supportsSubscriptions() {\n return false;\n }\n subscribe() {\n throw new Error('Subscriptions are not supported');\n }\n unsubscribe() {\n throw new Error('Subscriptions are not supported');\n }\n disconnect() {\n return true;\n }\n _sendRequest(request) {\n const response = {\n jsonrpc: '2.0',\n id: request.id,\n };\n const { method } = request;\n response.result = this._handleSynchronousMethods(request);\n if (response.result === undefined) {\n throw new Error(`Coinbase Wallet does not support calling ${method} synchronously without ` +\n `a callback. Please provide a callback parameter to call ${method} ` +\n `asynchronously.`);\n }\n return response;\n }\n _setAddresses(addresses, _) {\n if (!Array.isArray(addresses)) {\n throw new Error('addresses is not an array');\n }\n const newAddresses = addresses.map((address) => (0, util_1.ensureAddressString)(address));\n if (JSON.stringify(newAddresses) === JSON.stringify(this._addresses)) {\n return;\n }\n this._addresses = newAddresses;\n this.emit('accountsChanged', this._addresses);\n this._storage.setItem(RelayAbstract_1.LOCAL_STORAGE_ADDRESSES_KEY, newAddresses.join(' '));\n }\n _sendRequestAsync(request) {\n return new Promise((resolve, reject) => {\n try {\n const syncResult = this._handleSynchronousMethods(request);\n if (syncResult !== undefined) {\n return resolve({\n jsonrpc: '2.0',\n id: request.id,\n result: syncResult,\n });\n }\n const filterPromise = this._handleAsynchronousFilterMethods(request);\n if (filterPromise !== undefined) {\n filterPromise\n .then((res) => resolve(Object.assign(Object.assign({}, res), { id: request.id })))\n .catch((err) => reject(err));\n return;\n }\n const subscriptionPromise = this._handleSubscriptionMethods(request);\n if (subscriptionPromise !== undefined) {\n subscriptionPromise\n .then((res) => resolve({\n jsonrpc: '2.0',\n id: request.id,\n result: res.result,\n }))\n .catch((err) => reject(err));\n return;\n }\n }\n catch (err) {\n return reject(err);\n }\n this._handleAsynchronousMethods(request)\n .then((res) => res && resolve(Object.assign(Object.assign({}, res), { id: request.id })))\n .catch((err) => reject(err));\n });\n }\n _sendMultipleRequestsAsync(requests) {\n return Promise.all(requests.map((r) => this._sendRequestAsync(r)));\n }\n _handleSynchronousMethods(request) {\n const { method } = request;\n const params = request.params || [];\n switch (method) {\n case 'eth_accounts':\n return this._eth_accounts();\n case 'eth_coinbase':\n return this._eth_coinbase();\n case 'eth_uninstallFilter':\n return this._eth_uninstallFilter(params);\n case 'net_version':\n return this._net_version();\n case 'eth_chainId':\n return this._eth_chainId();\n default:\n return undefined;\n }\n }\n async _handleAsynchronousMethods(request) {\n const { method } = request;\n const params = request.params || [];\n switch (method) {\n case 'eth_requestAccounts':\n return this._eth_requestAccounts();\n case 'eth_sign':\n return this._eth_sign(params);\n case 'eth_ecRecover':\n return this._eth_ecRecover(params);\n case 'personal_sign':\n return this._personal_sign(params);\n case 'personal_ecRecover':\n return this._personal_ecRecover(params);\n case 'eth_signTransaction':\n return this._eth_signTransaction(params);\n case 'eth_sendRawTransaction':\n return this._eth_sendRawTransaction(params);\n case 'eth_sendTransaction':\n return this._eth_sendTransaction(params);\n case 'eth_signTypedData_v1':\n return this._eth_signTypedData_v1(params);\n case 'eth_signTypedData_v2':\n return this._throwUnsupportedMethodError();\n case 'eth_signTypedData_v3':\n return this._eth_signTypedData_v3(params);\n case 'eth_signTypedData_v4':\n case 'eth_signTypedData':\n return this._eth_signTypedData_v4(params);\n case 'cbWallet_arbitrary':\n return this._cbwallet_arbitrary(params);\n case 'wallet_addEthereumChain':\n return this._wallet_addEthereumChain(params);\n case 'wallet_switchEthereumChain':\n return this._wallet_switchEthereumChain(params);\n case 'wallet_watchAsset':\n return this._wallet_watchAsset(params);\n }\n const relay = await this.initializeRelay();\n return relay.makeEthereumJSONRPCRequest(request, this.jsonRpcUrl).catch((err) => {\n var _a;\n if (err.code === error_1.standardErrorCodes.rpc.methodNotFound ||\n err.code === error_1.standardErrorCodes.rpc.methodNotSupported) {\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.METHOD_NOT_IMPLEMENTED, {\n method: request.method,\n sessionIdHash: this._relay ? Session_1.Session.hash(this._relay.session.id) : undefined,\n });\n }\n throw err;\n });\n }\n _handleAsynchronousFilterMethods(request) {\n const { method } = request;\n const params = request.params || [];\n switch (method) {\n case 'eth_newFilter':\n return this._eth_newFilter(params);\n case 'eth_newBlockFilter':\n return this._eth_newBlockFilter();\n case 'eth_newPendingTransactionFilter':\n return this._eth_newPendingTransactionFilter();\n case 'eth_getFilterChanges':\n return this._eth_getFilterChanges(params);\n case 'eth_getFilterLogs':\n return this._eth_getFilterLogs(params);\n }\n return undefined;\n }\n _handleSubscriptionMethods(request) {\n switch (request.method) {\n case 'eth_subscribe':\n case 'eth_unsubscribe':\n return this._subscriptionManager.handleRequest(request);\n }\n return undefined;\n }\n _isKnownAddress(addressString) {\n try {\n const addressStr = (0, util_1.ensureAddressString)(addressString);\n const lowercaseAddresses = this._addresses.map((address) => (0, util_1.ensureAddressString)(address));\n return lowercaseAddresses.includes(addressStr);\n }\n catch (_a) {\n // noop\n }\n return false;\n }\n _ensureKnownAddress(addressString) {\n var _a;\n if (!this._isKnownAddress(addressString)) {\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.UNKNOWN_ADDRESS_ENCOUNTERED);\n throw new Error('Unknown Ethereum address');\n }\n }\n _prepareTransactionParams(tx) {\n const fromAddress = tx.from ? (0, util_1.ensureAddressString)(tx.from) : this.selectedAddress;\n if (!fromAddress) {\n throw new Error('Ethereum address is unavailable');\n }\n this._ensureKnownAddress(fromAddress);\n const toAddress = tx.to ? (0, util_1.ensureAddressString)(tx.to) : null;\n const weiValue = tx.value != null ? (0, util_1.ensureBN)(tx.value) : new bn_js_1.default(0);\n const data = tx.data ? (0, util_1.ensureBuffer)(tx.data) : Buffer.alloc(0);\n const nonce = tx.nonce != null ? (0, util_1.ensureIntNumber)(tx.nonce) : null;\n const gasPriceInWei = tx.gasPrice != null ? (0, util_1.ensureBN)(tx.gasPrice) : null;\n const maxFeePerGas = tx.maxFeePerGas != null ? (0, util_1.ensureBN)(tx.maxFeePerGas) : null;\n const maxPriorityFeePerGas = tx.maxPriorityFeePerGas != null ? (0, util_1.ensureBN)(tx.maxPriorityFeePerGas) : null;\n const gasLimit = tx.gas != null ? (0, util_1.ensureBN)(tx.gas) : null;\n const chainId = tx.chainId ? (0, util_1.ensureIntNumber)(tx.chainId) : this.getChainId();\n return {\n fromAddress,\n toAddress,\n weiValue,\n data,\n nonce,\n gasPriceInWei,\n maxFeePerGas,\n maxPriorityFeePerGas,\n gasLimit,\n chainId,\n };\n }\n _isAuthorized() {\n return this._addresses.length > 0;\n }\n _requireAuthorization() {\n if (!this._isAuthorized()) {\n throw error_1.standardErrors.provider.unauthorized({});\n }\n }\n _throwUnsupportedMethodError() {\n throw error_1.standardErrors.provider.unsupportedMethod({});\n }\n async _signEthereumMessage(message, address, addPrefix, typedDataJson) {\n this._ensureKnownAddress(address);\n try {\n const relay = await this.initializeRelay();\n const res = await relay.signEthereumMessage(message, address, addPrefix, typedDataJson)\n .promise;\n if ((0, Web3Response_1.isErrorResponse)(res)) {\n throw new Error(res.errorMessage);\n }\n return { jsonrpc: '2.0', id: 0, result: res.result };\n }\n catch (err) {\n if (typeof err.message === 'string' && err.message.match(/(denied|rejected)/i)) {\n throw error_1.standardErrors.provider.userRejectedRequest('User denied message signature');\n }\n throw err;\n }\n }\n async _ethereumAddressFromSignedMessage(message, signature, addPrefix) {\n const relay = await this.initializeRelay();\n const res = await relay.ethereumAddressFromSignedMessage(message, signature, addPrefix).promise;\n if ((0, Web3Response_1.isErrorResponse)(res)) {\n throw new Error(res.errorMessage);\n }\n return { jsonrpc: '2.0', id: 0, result: res.result };\n }\n _eth_accounts() {\n return [...this._addresses];\n }\n _eth_coinbase() {\n return this.selectedAddress || null;\n }\n _net_version() {\n return this.getChainId().toString(10);\n }\n _eth_chainId() {\n return (0, util_1.hexStringFromIntNumber)(this.getChainId());\n }\n getChainId() {\n const chainIdStr = this._storage.getItem(DEFAULT_CHAIN_ID_KEY);\n if (!chainIdStr) {\n return (0, util_1.ensureIntNumber)(this._chainIdFromOpts);\n }\n const chainId = parseInt(chainIdStr, 10);\n return (0, util_1.ensureIntNumber)(chainId);\n }\n async _eth_requestAccounts() {\n var _a;\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.ETH_ACCOUNTS_STATE, {\n method: 'provider::_eth_requestAccounts',\n addresses_length: this._addresses.length,\n sessionIdHash: this._relay ? Session_1.Session.hash(this._relay.session.id) : undefined,\n });\n if (this._isAuthorized()) {\n return Promise.resolve({\n jsonrpc: '2.0',\n id: 0,\n result: this._addresses,\n });\n }\n let res;\n try {\n const relay = await this.initializeRelay();\n res = await relay.requestEthereumAccounts().promise;\n if ((0, Web3Response_1.isErrorResponse)(res)) {\n throw new Error(res.errorMessage);\n }\n }\n catch (err) {\n if (typeof err.message === 'string' && err.message.match(/(denied|rejected)/i)) {\n throw error_1.standardErrors.provider.userRejectedRequest('User denied account authorization');\n }\n throw err;\n }\n if (!res.result) {\n throw new Error('accounts received is empty');\n }\n this._setAddresses(res.result);\n if (!this.isCoinbaseBrowser) {\n await this.switchEthereumChain(this.getChainId());\n }\n return { jsonrpc: '2.0', id: 0, result: this._addresses };\n }\n _eth_sign(params) {\n this._requireAuthorization();\n const address = (0, util_1.ensureAddressString)(params[0]);\n const message = (0, util_1.ensureBuffer)(params[1]);\n return this._signEthereumMessage(message, address, false);\n }\n _eth_ecRecover(params) {\n const message = (0, util_1.ensureBuffer)(params[0]);\n const signature = (0, util_1.ensureBuffer)(params[1]);\n return this._ethereumAddressFromSignedMessage(message, signature, false);\n }\n _personal_sign(params) {\n this._requireAuthorization();\n const message = (0, util_1.ensureBuffer)(params[0]);\n const address = (0, util_1.ensureAddressString)(params[1]);\n return this._signEthereumMessage(message, address, true);\n }\n _personal_ecRecover(params) {\n const message = (0, util_1.ensureBuffer)(params[0]);\n const signature = (0, util_1.ensureBuffer)(params[1]);\n return this._ethereumAddressFromSignedMessage(message, signature, true);\n }\n async _eth_signTransaction(params) {\n this._requireAuthorization();\n const tx = this._prepareTransactionParams(params[0] || {});\n try {\n const relay = await this.initializeRelay();\n const res = await relay.signEthereumTransaction(tx).promise;\n if ((0, Web3Response_1.isErrorResponse)(res)) {\n throw new Error(res.errorMessage);\n }\n return { jsonrpc: '2.0', id: 0, result: res.result };\n }\n catch (err) {\n if (typeof err.message === 'string' && err.message.match(/(denied|rejected)/i)) {\n throw error_1.standardErrors.provider.userRejectedRequest('User denied transaction signature');\n }\n throw err;\n }\n }\n async _eth_sendRawTransaction(params) {\n const signedTransaction = (0, util_1.ensureBuffer)(params[0]);\n const relay = await this.initializeRelay();\n const res = await relay.submitEthereumTransaction(signedTransaction, this.getChainId()).promise;\n if ((0, Web3Response_1.isErrorResponse)(res)) {\n throw new Error(res.errorMessage);\n }\n return { jsonrpc: '2.0', id: 0, result: res.result };\n }\n async _eth_sendTransaction(params) {\n this._requireAuthorization();\n const tx = this._prepareTransactionParams(params[0] || {});\n try {\n const relay = await this.initializeRelay();\n const res = await relay.signAndSubmitEthereumTransaction(tx).promise;\n if ((0, Web3Response_1.isErrorResponse)(res)) {\n throw new Error(res.errorMessage);\n }\n return { jsonrpc: '2.0', id: 0, result: res.result };\n }\n catch (err) {\n if (typeof err.message === 'string' && err.message.match(/(denied|rejected)/i)) {\n throw error_1.standardErrors.provider.userRejectedRequest('User denied transaction signature');\n }\n throw err;\n }\n }\n async _eth_signTypedData_v1(params) {\n this._requireAuthorization();\n const typedData = (0, util_1.ensureParsedJSONObject)(params[0]);\n const address = (0, util_1.ensureAddressString)(params[1]);\n this._ensureKnownAddress(address);\n const message = eth_eip712_util_1.default.hashForSignTypedDataLegacy({ data: typedData });\n const typedDataJSON = JSON.stringify(typedData, null, 2);\n return this._signEthereumMessage(message, address, false, typedDataJSON);\n }\n async _eth_signTypedData_v3(params) {\n this._requireAuthorization();\n const address = (0, util_1.ensureAddressString)(params[0]);\n const typedData = (0, util_1.ensureParsedJSONObject)(params[1]);\n this._ensureKnownAddress(address);\n const message = eth_eip712_util_1.default.hashForSignTypedData_v3({ data: typedData });\n const typedDataJSON = JSON.stringify(typedData, null, 2);\n return this._signEthereumMessage(message, address, false, typedDataJSON);\n }\n async _eth_signTypedData_v4(params) {\n this._requireAuthorization();\n const address = (0, util_1.ensureAddressString)(params[0]);\n const typedData = (0, util_1.ensureParsedJSONObject)(params[1]);\n this._ensureKnownAddress(address);\n const message = eth_eip712_util_1.default.hashForSignTypedData_v4({ data: typedData });\n const typedDataJSON = JSON.stringify(typedData, null, 2);\n return this._signEthereumMessage(message, address, false, typedDataJSON);\n }\n /** @deprecated */\n async _cbwallet_arbitrary(params) {\n const action = params[0];\n const data = params[1];\n if (typeof data !== 'string') {\n throw new Error('parameter must be a string');\n }\n if (typeof action !== 'object' || action === null) {\n throw new Error('parameter must be an object');\n }\n const result = await this.genericRequest(action, data);\n return { jsonrpc: '2.0', id: 0, result };\n }\n async _wallet_addEthereumChain(params) {\n var _a, _b, _c, _d;\n const request = params[0];\n if (((_a = request.rpcUrls) === null || _a === void 0 ? void 0 : _a.length) === 0) {\n return {\n jsonrpc: '2.0',\n id: 0,\n error: { code: 2, message: `please pass in at least 1 rpcUrl` },\n };\n }\n if (!request.chainName || request.chainName.trim() === '') {\n throw error_1.standardErrors.rpc.invalidParams('chainName is a required field');\n }\n if (!request.nativeCurrency) {\n throw error_1.standardErrors.rpc.invalidParams('nativeCurrency is a required field');\n }\n const chainIdNumber = parseInt(request.chainId, 16);\n const success = await this.addEthereumChain(chainIdNumber, (_b = request.rpcUrls) !== null && _b !== void 0 ? _b : [], (_c = request.blockExplorerUrls) !== null && _c !== void 0 ? _c : [], request.chainName, (_d = request.iconUrls) !== null && _d !== void 0 ? _d : [], request.nativeCurrency);\n if (success) {\n return { jsonrpc: '2.0', id: 0, result: null };\n }\n return {\n jsonrpc: '2.0',\n id: 0,\n error: { code: 2, message: `unable to add ethereum chain` },\n };\n }\n async _wallet_switchEthereumChain(params) {\n const request = params[0];\n await this.switchEthereumChain(parseInt(request.chainId, 16));\n return { jsonrpc: '2.0', id: 0, result: null };\n }\n async _wallet_watchAsset(params) {\n const request = (Array.isArray(params) ? params[0] : params);\n if (!request.type) {\n throw error_1.standardErrors.rpc.invalidParams('Type is required');\n }\n if ((request === null || request === void 0 ? void 0 : request.type) !== 'ERC20') {\n throw error_1.standardErrors.rpc.invalidParams(`Asset of type '${request.type}' is not supported`);\n }\n if (!(request === null || request === void 0 ? void 0 : request.options)) {\n throw error_1.standardErrors.rpc.invalidParams('Options are required');\n }\n if (!(request === null || request === void 0 ? void 0 : request.options.address)) {\n throw error_1.standardErrors.rpc.invalidParams('Address is required');\n }\n const chainId = this.getChainId();\n const { address, symbol, image, decimals } = request.options;\n const res = await this.watchAsset(request.type, address, symbol, decimals, image, chainId);\n return { jsonrpc: '2.0', id: 0, result: res };\n }\n _eth_uninstallFilter(params) {\n const filterId = (0, util_1.ensureHexString)(params[0]);\n return this._filterPolyfill.uninstallFilter(filterId);\n }\n async _eth_newFilter(params) {\n const param = params[0];\n const filterId = await this._filterPolyfill.newFilter(param);\n return { jsonrpc: '2.0', id: 0, result: filterId };\n }\n async _eth_newBlockFilter() {\n const filterId = await this._filterPolyfill.newBlockFilter();\n return { jsonrpc: '2.0', id: 0, result: filterId };\n }\n async _eth_newPendingTransactionFilter() {\n const filterId = await this._filterPolyfill.newPendingTransactionFilter();\n return { jsonrpc: '2.0', id: 0, result: filterId };\n }\n _eth_getFilterChanges(params) {\n const filterId = (0, util_1.ensureHexString)(params[0]);\n return this._filterPolyfill.getFilterChanges(filterId);\n }\n _eth_getFilterLogs(params) {\n const filterId = (0, util_1.ensureHexString)(params[0]);\n return this._filterPolyfill.getFilterLogs(filterId);\n }\n initializeRelay() {\n if (this._relay) {\n return Promise.resolve(this._relay);\n }\n return this._relayProvider().then((relay) => {\n relay.setAccountsCallback((accounts, isDisconnect) => this._setAddresses(accounts, isDisconnect));\n relay.setChainCallback((chainId, jsonRpcUrl) => {\n this.updateProviderInfo(jsonRpcUrl, parseInt(chainId, 10));\n });\n relay.setDappDefaultChainCallback(this._chainIdFromOpts);\n this._relay = relay;\n return relay;\n });\n }\n}\nexports.CoinbaseWalletProvider = CoinbaseWalletProvider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelayEventManager = void 0;\nconst util_1 = require(\"../core/util\");\nclass RelayEventManager {\n constructor() {\n this._nextRequestId = 0;\n this.callbacks = new Map();\n }\n makeRequestId() {\n // max nextId == max int32 for compatibility with mobile\n this._nextRequestId = (this._nextRequestId + 1) % 0x7fffffff;\n const id = this._nextRequestId;\n const idStr = (0, util_1.prepend0x)(id.toString(16));\n // unlikely that this will ever be an issue, but just to be safe\n const callback = this.callbacks.get(idStr);\n if (callback) {\n this.callbacks.delete(idStr);\n }\n return id;\n }\n}\nexports.RelayEventManager = RelayEventManager;\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CoinbaseWalletSDK = void 0;\nconst wallet_logo_1 = require(\"./assets/wallet-logo\");\nconst constants_1 = require(\"./core/constants\");\nconst util_1 = require(\"./core/util\");\nconst ScopedLocalStorage_1 = require(\"./lib/ScopedLocalStorage\");\nconst CoinbaseWalletProvider_1 = require(\"./provider/CoinbaseWalletProvider\");\nconst MobileRelay_1 = require(\"./relay/mobile/MobileRelay\");\nconst MobileRelayUI_1 = require(\"./relay/mobile/MobileRelayUI\");\nconst RelayEventManager_1 = require(\"./relay/RelayEventManager\");\nconst WalletLinkRelayUI_1 = require(\"./relay/walletlink/ui/WalletLinkRelayUI\");\nconst WalletLinkRelay_1 = require(\"./relay/walletlink/WalletLinkRelay\");\nconst version_1 = require(\"./version\");\nclass CoinbaseWalletSDK {\n /**\n * Constructor\n * @param options Coinbase Wallet SDK constructor options\n */\n constructor(options) {\n var _a, _b, _c;\n this._appName = '';\n this._appLogoUrl = null;\n this._relay = null;\n this._relayEventManager = null;\n const linkAPIUrl = options.linkAPIUrl || constants_1.LINK_API_URL;\n if (typeof options.overrideIsMetaMask === 'undefined') {\n this._overrideIsMetaMask = false;\n }\n else {\n this._overrideIsMetaMask = options.overrideIsMetaMask;\n }\n this._overrideIsCoinbaseWallet = (_a = options.overrideIsCoinbaseWallet) !== null && _a !== void 0 ? _a : true;\n this._overrideIsCoinbaseBrowser = (_b = options.overrideIsCoinbaseBrowser) !== null && _b !== void 0 ? _b : false;\n this._diagnosticLogger = options.diagnosticLogger;\n this._reloadOnDisconnect = (_c = options.reloadOnDisconnect) !== null && _c !== void 0 ? _c : true;\n const url = new URL(linkAPIUrl);\n const origin = `${url.protocol}//${url.host}`;\n this._storage = new ScopedLocalStorage_1.ScopedLocalStorage(`-walletlink:${origin}`); // needs migration to preserve local states\n this._storage.setItem('version', CoinbaseWalletSDK.VERSION);\n if (this.walletExtension || this.coinbaseBrowser) {\n return;\n }\n this._relayEventManager = new RelayEventManager_1.RelayEventManager();\n const isMobile = (0, util_1.isMobileWeb)();\n const uiConstructor = options.uiConstructor ||\n ((opts) => (isMobile ? new MobileRelayUI_1.MobileRelayUI(opts) : new WalletLinkRelayUI_1.WalletLinkRelayUI(opts)));\n const relayOption = {\n linkAPIUrl,\n version: version_1.LIB_VERSION,\n darkMode: !!options.darkMode,\n uiConstructor,\n storage: this._storage,\n relayEventManager: this._relayEventManager,\n diagnosticLogger: this._diagnosticLogger,\n reloadOnDisconnect: this._reloadOnDisconnect,\n enableMobileWalletLink: options.enableMobileWalletLink,\n };\n this._relay = isMobile ? new MobileRelay_1.MobileRelay(relayOption) : new WalletLinkRelay_1.WalletLinkRelay(relayOption);\n this.setAppInfo(options.appName, options.appLogoUrl);\n if (options.headlessMode)\n return;\n this._relay.attachUI();\n }\n /**\n * Create a Web3 Provider object\n * @param jsonRpcUrl Ethereum JSON RPC URL (Default: \"\")\n * @param chainId Ethereum Chain ID (Default: 1)\n * @returns A Web3 Provider\n */\n makeWeb3Provider(jsonRpcUrl = '', chainId = 1) {\n const extension = this.walletExtension;\n if (extension) {\n if (!this.isCipherProvider(extension)) {\n extension.setProviderInfo(jsonRpcUrl, chainId);\n }\n if (this._reloadOnDisconnect === false &&\n typeof extension.disableReloadOnDisconnect === 'function')\n extension.disableReloadOnDisconnect();\n return extension;\n }\n const dappBrowser = this.coinbaseBrowser;\n if (dappBrowser) {\n return dappBrowser;\n }\n const relay = this._relay;\n if (!relay || !this._relayEventManager || !this._storage) {\n throw new Error('Relay not initialized, should never happen');\n }\n if (!jsonRpcUrl)\n relay.setConnectDisabled(true);\n return new CoinbaseWalletProvider_1.CoinbaseWalletProvider({\n relayProvider: () => Promise.resolve(relay),\n relayEventManager: this._relayEventManager,\n storage: this._storage,\n jsonRpcUrl,\n chainId,\n qrUrl: this.getQrUrl(),\n diagnosticLogger: this._diagnosticLogger,\n overrideIsMetaMask: this._overrideIsMetaMask,\n overrideIsCoinbaseWallet: this._overrideIsCoinbaseWallet,\n overrideIsCoinbaseBrowser: this._overrideIsCoinbaseBrowser,\n });\n }\n /**\n * Set application information\n * @param appName Application name\n * @param appLogoUrl Application logo image URL\n */\n setAppInfo(appName, appLogoUrl) {\n var _a;\n this._appName = appName || 'DApp';\n this._appLogoUrl = appLogoUrl || (0, util_1.getFavicon)();\n const extension = this.walletExtension;\n if (extension) {\n if (!this.isCipherProvider(extension)) {\n extension.setAppInfo(this._appName, this._appLogoUrl);\n }\n }\n else {\n (_a = this._relay) === null || _a === void 0 ? void 0 : _a.setAppInfo(this._appName, this._appLogoUrl);\n }\n }\n /**\n * Disconnect. After disconnecting, this will reload the web page to ensure\n * all potential stale state is cleared.\n */\n disconnect() {\n var _a;\n const extension = this === null || this === void 0 ? void 0 : this.walletExtension;\n if (extension) {\n void extension.close();\n }\n else {\n (_a = this._relay) === null || _a === void 0 ? void 0 : _a.resetAndReload();\n }\n }\n /**\n * Return QR URL for mobile wallet connection, will return null if extension is installed\n */\n getQrUrl() {\n var _a, _b;\n return (_b = (_a = this._relay) === null || _a === void 0 ? void 0 : _a.getQRCodeUrl()) !== null && _b !== void 0 ? _b : null;\n }\n /**\n * Official Coinbase Wallet logo for developers to use on their frontend\n * @param type Type of wallet logo: \"standard\" | \"circle\" | \"text\" | \"textWithLogo\" | \"textLight\" | \"textWithLogoLight\"\n * @param width Width of the logo (Optional)\n * @returns SVG Data URI\n */\n getCoinbaseWalletLogo(type, width = 240) {\n return (0, wallet_logo_1.walletLogo)(type, width);\n }\n get walletExtension() {\n var _a;\n return (_a = window.coinbaseWalletExtension) !== null && _a !== void 0 ? _a : window.walletLinkExtension;\n }\n get coinbaseBrowser() {\n var _a, _b;\n try {\n // Coinbase DApp browser does not inject into iframes so grab provider from top frame if it exists\n const ethereum = (_a = window.ethereum) !== null && _a !== void 0 ? _a : (_b = window.top) === null || _b === void 0 ? void 0 : _b.ethereum;\n if (!ethereum) {\n return undefined;\n }\n if ('isCoinbaseBrowser' in ethereum && ethereum.isCoinbaseBrowser) {\n return ethereum;\n }\n return undefined;\n }\n catch (e) {\n return undefined;\n }\n }\n isCipherProvider(provider) {\n // @ts-expect-error isCipher walletlink property\n return typeof provider.isCipher === 'boolean' && provider.isCipher;\n }\n}\nexports.CoinbaseWalletSDK = CoinbaseWalletSDK;\nCoinbaseWalletSDK.VERSION = version_1.LIB_VERSION;\n","\"use strict\";\n// Copyright (c) 2018-2023 Coinbase, Inc. \n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CoinbaseWalletProvider = exports.CoinbaseWalletSDK = void 0;\nconst CoinbaseWalletSDK_1 = require(\"./CoinbaseWalletSDK\");\nconst CoinbaseWalletProvider_1 = require(\"./provider/CoinbaseWalletProvider\");\nvar CoinbaseWalletSDK_2 = require(\"./CoinbaseWalletSDK\");\nObject.defineProperty(exports, \"CoinbaseWalletSDK\", { enumerable: true, get: function () { return CoinbaseWalletSDK_2.CoinbaseWalletSDK; } });\nvar CoinbaseWalletProvider_2 = require(\"./provider/CoinbaseWalletProvider\");\nObject.defineProperty(exports, \"CoinbaseWalletProvider\", { enumerable: true, get: function () { return CoinbaseWalletProvider_2.CoinbaseWalletProvider; } });\nexports.default = CoinbaseWalletSDK_1.CoinbaseWalletSDK;\nif (typeof window !== 'undefined') {\n window.CoinbaseWalletSDK = CoinbaseWalletSDK_1.CoinbaseWalletSDK;\n window.CoinbaseWalletProvider = CoinbaseWalletProvider_1.CoinbaseWalletProvider;\n /**\n * @deprecated Use `window.CoinbaseWalletSDK`\n */\n window.WalletLink = CoinbaseWalletSDK_1.CoinbaseWalletSDK;\n /**\n * @deprecated Use `window.CoinbaseWalletProvider`\n */\n window.WalletLinkProvider = CoinbaseWalletProvider_1.CoinbaseWalletProvider;\n}\n","import '@web3modal/polyfills';\nimport { CoinbaseWalletSDK } from '@coinbase/wallet-sdk';\nexport function defaultConfig(options) {\n const { enableEIP6963 = true, enableInjected = true, enableCoinbase = true, enableEmail = false, metadata, rpcUrl, defaultChainId } = options;\n let injectedProvider = undefined;\n let coinbaseProvider = undefined;\n const providers = { metadata };\n function getInjectedProvider() {\n if (injectedProvider) {\n return injectedProvider;\n }\n if (typeof window === 'undefined') {\n return undefined;\n }\n if (!window.ethereum) {\n return undefined;\n }\n injectedProvider = window.ethereum;\n return injectedProvider;\n }\n function getCoinbaseProvider() {\n if (coinbaseProvider) {\n return coinbaseProvider;\n }\n if (typeof window === 'undefined') {\n return undefined;\n }\n const coinbaseWallet = new CoinbaseWalletSDK({\n appName: metadata.name,\n appLogoUrl: metadata.icons[0],\n darkMode: false,\n enableMobileWalletLink: true\n });\n coinbaseProvider = coinbaseWallet.makeWeb3Provider(rpcUrl, defaultChainId);\n return coinbaseProvider;\n }\n if (enableInjected) {\n providers.injected = getInjectedProvider();\n }\n if (enableCoinbase && rpcUrl && defaultChainId) {\n providers.coinbase = getCoinbaseProvider();\n }\n if (enableEIP6963) {\n providers.EIP6963 = true;\n }\n if (enableEmail) {\n providers.email = true;\n }\n return providers;\n}\n//# sourceMappingURL=defaultConfig.js.map","import { Web3Modal } from '../src/client.js';\nimport { ConstantsUtil } from '@web3modal/scaffold-utils';\nexport { defaultConfig } from '../src/utils/defaultConfig.js';\nexport function createWeb3Modal(options) {\n return new Web3Modal({ ...options, _sdkVersion: `html-ethers-${ConstantsUtil.VERSION}` });\n}\n//# sourceMappingURL=index.js.map","import icons from './icons'\nimport { networks } from '../../index'\nimport type { EIP1193Provider } from './EIP6963'\nimport type { Provider } from '../../services/Provider'\nimport type { Chain } from '@web3modal/scaffold-utils/ethers'\nimport { createWeb3Modal, defaultConfig } from '@web3modal/ethers'\nimport type { Web3Modal as Web3ModalType } from '@web3modal/ethers'\nimport type { WalletAdapterInterface } from '@multiplechain/types'\nimport { ErrorTypeEnum, WalletPlatformEnum } from '@multiplechain/types'\nimport type { CustomWallet, EventsControllerState, Metadata } from '@web3modal/core'\n\ntype EventFunction = (newEvent: EventsControllerState, modal?: Web3ModalType) => void\n\nexport interface Web3ModalConfig {\n projectId: string\n themeMode?: 'dark' | 'light'\n enableEIP6963?: boolean\n enableInjected?: boolean\n enableCoinbase?: boolean\n rpcUrl?: string\n defaultChainId?: number\n metadata: Metadata\n customWallets?: CustomWallet[]\n events?: EventFunction[]\n}\n\nexport interface Web3ModalAdapterInterface\n extends WalletAdapterInterface {\n modal?: Web3ModalType\n}\n\nlet modal: Web3ModalType | undefined\nlet walletProvider: EIP1193Provider | undefined\n\nconst chains: Chain[] = networks\n .getAll()\n .map((network: any) => {\n return {\n chainId: network.id,\n name: network.name ?? network.nativeCurrency.symbol,\n currency: network.nativeCurrency.symbol,\n explorerUrl: network.explorerUrl,\n rpcUrl: network.rpcUrl\n }\n })\n .filter((network: any) => network)\n\nlet currentNetwork: Chain\nlet clickedAnyWallet = false\nlet connectRejectMethod: (reason?: any) => void\nlet connectResolveMethod: (value: EIP1193Provider | PromiseLike) => void\n\nconst web3Modal = (config: Web3ModalConfig): Web3ModalType => {\n if (modal !== undefined) {\n return modal\n }\n\n const ethersConfig = defaultConfig({\n metadata: config.metadata,\n enableEIP6963: config.enableEIP6963,\n enableInjected: config.enableInjected,\n enableCoinbase: config.enableCoinbase\n })\n\n modal = createWeb3Modal({\n chains,\n ethersConfig,\n projectId: config.projectId,\n themeMode: config.themeMode,\n customWallets: config.customWallets,\n allowUnsupportedChain: true,\n themeVariables: {\n '--w3m-z-index': 999999999999\n }\n })\n\n if (config.events !== undefined) {\n config.events.forEach((event) => {\n modal?.subscribeEvents((newEvent: EventsControllerState) => {\n event(newEvent, modal)\n })\n })\n }\n\n modal.subscribeEvents(async (event) => {\n if (event.data.event === 'SELECT_WALLET') {\n clickedAnyWallet = true\n }\n\n if (event.data.event === 'MODAL_CLOSE') {\n if (clickedAnyWallet) {\n clickedAnyWallet = false\n } else {\n connectRejectMethod(new Error(ErrorTypeEnum.CLOSED_WALLETCONNECT_MODAL))\n }\n }\n })\n\n modal.subscribeProvider(async ({ provider, chainId }) => {\n if (provider === undefined) {\n return\n }\n\n if (currentNetwork.chainId !== chainId) {\n await modal?.switchNetwork(currentNetwork.chainId).catch(() => {\n connectRejectMethod(new Error(ErrorTypeEnum.WALLET_CONNECT_REJECTED))\n })\n }\n\n connectResolveMethod((walletProvider = provider as EIP1193Provider))\n })\n\n return modal\n}\n\nconst Web3Modal: Web3ModalAdapterInterface = {\n modal,\n id: 'web3modal',\n name: 'Web3Modal',\n icon: icons.web3modal,\n provider: walletProvider,\n platforms: [WalletPlatformEnum.UNIVERSAL],\n isDetected: () => true,\n isConnected: () => {\n if (modal === undefined) {\n return false\n }\n return modal.getIsConnected()\n },\n disconnect: async () => {\n Object.keys(localStorage)\n .filter((x) => {\n return (\n x.startsWith('wc@2') ||\n x.startsWith('@w3m') ||\n x.startsWith('W3M') ||\n x.startsWith('-walletlink')\n )\n })\n .forEach((x) => {\n localStorage.removeItem(x)\n })\n\n if (modal?.disconnect !== undefined) {\n await modal.disconnect()\n }\n },\n connect: async (\n provider?: Provider,\n _config?: Web3ModalConfig | object\n ): Promise => {\n const config = _config as Web3ModalConfig\n\n if (provider === undefined) {\n throw new Error(ErrorTypeEnum.PROVIDER_IS_REQUIRED)\n }\n\n if (config === undefined) {\n throw new Error(ErrorTypeEnum.CONFIG_IS_REQUIRED)\n }\n\n if (config.projectId === undefined) {\n throw new Error(ErrorTypeEnum.PROJECT_ID_IS_REQUIRED)\n }\n\n if (config.metadata === undefined) {\n throw new Error(ErrorTypeEnum.METADATA_IS_REQUIRED)\n }\n\n const network = provider.network\n\n currentNetwork = {\n chainId: network.id,\n name: network.name ?? network.nativeCurrency.symbol,\n currency: network.nativeCurrency.symbol,\n explorerUrl: network.explorerUrl,\n rpcUrl: network.rpcUrl\n }\n\n return await new Promise((resolve, reject) => {\n try {\n const modal = web3Modal(config)\n connectRejectMethod = async (reason) => {\n await modal.disconnect()\n reject(reason)\n }\n connectResolveMethod = resolve\n void modal.open({ view: 'Connect' })\n } catch (error) {\n reject(error)\n }\n })\n }\n}\n\nexport default Web3Modal\n","import icons from './icons'\nimport { switcher } from './switcher'\nimport type { EIP1193Provider } from './EIP6963'\nimport { WalletPlatformEnum } from '@multiplechain/types'\nimport type { Provider } from '../../services/Provider'\nimport type { WalletAdapterInterface } from '@multiplechain/types'\n\nconst OkxWallet: WalletAdapterInterface = {\n id: 'okxwallet',\n name: 'OkxWallet',\n icon: icons.okxWallet,\n provider: window?.okxwallet,\n downloadLink: 'https://www.okx.com/download',\n platforms: [WalletPlatformEnum.BROWSER, WalletPlatformEnum.MOBILE],\n createDeepLink: (url: string): string => `okx://wallet/dapp/details?dappUrl=${url}`,\n isDetected: () => Boolean(window?.okxwallet),\n isConnected: async () => {\n return Boolean((await window?.okxwallet?.request({ method: 'eth_accounts' })).length)\n },\n connect: async (provider?: Provider): Promise => {\n return await new Promise((resolve, reject) => {\n const okx = window?.okxwallet\n try {\n okx\n ?.request({ method: 'eth_requestAccounts' })\n .then(() => {\n switcher(okx, provider)\n .then(() => {\n resolve(okx)\n })\n .catch((error: any) => {\n reject(error)\n })\n })\n .catch((error: any) => {\n reject(error)\n })\n } catch (error) {\n reject(error)\n }\n })\n }\n}\n\nexport default OkxWallet\n","import icons from './icons'\nimport { switcher } from './switcher'\nimport type { EIP1193Provider } from './EIP6963'\nimport type { Provider } from '../../services/Provider'\nimport { WalletPlatformEnum } from '@multiplechain/types'\nimport type { WalletAdapterInterface } from '@multiplechain/types'\n\nconst XdefiWallet: WalletAdapterInterface = {\n id: 'xdefiwallet',\n name: 'XdefiWallet',\n icon: icons.xdefiWallet,\n provider: window?.xfi?.ethereum,\n downloadLink: 'https://www.xdefi.io/',\n platforms: [WalletPlatformEnum.BROWSER],\n isDetected: () => Boolean(window?.xfi?.ethereum),\n isConnected: async () => {\n return Boolean((await window?.xfi?.ethereum?.request({ method: 'eth_accounts' })).length)\n },\n connect: async (provider?: Provider): Promise => {\n return await new Promise((resolve, reject) => {\n const xfi = window?.xfi?.ethereum\n try {\n xfi\n ?.request({ method: 'eth_requestAccounts' })\n .then(() => {\n switcher(xfi, provider)\n .then(() => {\n resolve(xfi)\n })\n .catch((error: any) => {\n reject(error)\n })\n })\n .catch((error: any) => {\n reject(error)\n })\n } catch (error) {\n reject(error)\n }\n })\n }\n}\n\nexport default XdefiWallet\n","import icons from './icons'\nimport { switcher } from './switcher'\nimport type { WindowEthereum } from './types'\nimport type { EIP1193Provider } from './EIP6963'\nimport { WalletPlatformEnum } from '@multiplechain/types'\nimport type { Provider } from '../../services/Provider'\nimport type { WalletAdapterInterface } from '@multiplechain/types'\n\nconst TrustWallet: WalletAdapterInterface = {\n id: 'trustwallet',\n name: 'TrustWallet',\n icon: icons.trustWallet,\n // eslint-disable-next-line\n provider: (window?.ethereum?.isTrust\n ? window.ethereum\n : window.trustwallet) as unknown as WindowEthereum,\n downloadLink: 'https://trustwallet.com/download',\n platforms: [WalletPlatformEnum.BROWSER, WalletPlatformEnum.MOBILE],\n isDetected: () => Boolean(window?.ethereum?.isTrust ?? window?.trustwallet),\n isConnected: async () => {\n // eslint-disable-next-line\n const trustWalletProvider = (window?.ethereum?.isTrust\n ? window.ethereum\n : window.trustwallet) as unknown as WindowEthereum\n return Boolean((await trustWalletProvider?.request({ method: 'eth_accounts' })).length)\n },\n connect: async (provider?: Provider): Promise => {\n return await new Promise((resolve, reject) => {\n try {\n // eslint-disable-next-line\n const trustWalletProvider = (window?.ethereum?.isTrust\n ? window.ethereum\n : window.trustwallet) as unknown as WindowEthereum\n trustWalletProvider\n ?.request({ method: 'eth_requestAccounts' })\n .then(() => {\n // because mobile wallet doesn't support testnets\n if (\n window?.ethereum?.isTrust !== undefined &&\n provider?.isTestnet() === true\n ) {\n resolve(trustWalletProvider)\n return\n }\n\n switcher(trustWalletProvider, provider)\n .then(() => {\n resolve(trustWalletProvider)\n })\n .catch((error: any) => {\n reject(error)\n })\n })\n .catch((error: any) => {\n reject(error)\n })\n } catch (error) {\n reject(error)\n }\n })\n }\n}\n\nexport default TrustWallet\n","import icons from './icons'\nimport { switcher } from './switcher'\nimport type { EIP1193Provider } from './EIP6963'\nimport { WalletPlatformEnum } from '@multiplechain/types'\nimport type { Provider } from '../../services/Provider'\nimport type { WalletAdapterInterface } from '@multiplechain/types'\n\nconst BitgetWallet: WalletAdapterInterface = {\n id: 'bitgetwallet',\n name: 'BitgetWallet',\n icon: icons.bitgetWallet,\n provider: window?.bitkeep?.ethereum,\n downloadLink: 'https://web3.bitget.com/en/wallet-download?type=3',\n platforms: [WalletPlatformEnum.BROWSER, WalletPlatformEnum.MOBILE],\n createDeepLink: (url: string): string => `https://bkcode.vip?action=dapp&url=${url}`,\n isDetected: () => Boolean(window?.bitkeep?.ethereum),\n isConnected: async () => {\n return Boolean(\n (await window?.bitkeep?.ethereum?.request({ method: 'eth_accounts' })).length\n )\n },\n connect: async (provider?: Provider): Promise => {\n return await new Promise((resolve, reject) => {\n const bitget = window?.bitkeep?.ethereum\n try {\n bitget\n ?.request({ method: 'eth_requestAccounts' })\n .then(() => {\n switcher(bitget, provider)\n .then(() => {\n resolve(bitget)\n })\n .catch((error: any) => {\n reject(error)\n })\n })\n .catch((error: any) => {\n reject(error)\n })\n } catch (error) {\n reject(error)\n }\n })\n }\n}\n\nexport default BitgetWallet\n","import{detect as Do}from\"detect-browser\";import{toMiliseconds as hi,FIVE_MINUTES as nn,fromMiliseconds as Fo}from\"@walletconnect/time\";import{getDocument as fn,getNavigator as on,getLocation as sn}from\"@walletconnect/window-getters\";import{getWindowMetadata as To}from\"@walletconnect/window-metadata\";import*as Nr from\"query-string\";import{ChaCha20Poly1305 as an}from\"@stablelib/chacha20poly1305\";import{HKDF as Uo}from\"@stablelib/hkdf\";import{randomBytes as un}from\"@stablelib/random\";import{SHA256 as ko,hash as hn}from\"@stablelib/sha256\";import*as cn from\"@stablelib/x25519\";import{toString as te,fromString as ee,concat as ln}from\"uint8arrays\";import{RELAY_JSONRPC as qo}from\"@walletconnect/relay-api\";const Ir=\":\";function dn(e){const[t,r]=e.split(Ir);return{namespace:t,reference:r}}function pn(e){const{namespace:t,reference:r}=e;return[t,r].join(Ir)}function ci(e){const[t,r,i]=e.split(Ir);return{namespace:t,reference:r,address:i}}function vn(e){const{namespace:t,reference:r,address:i}=e;return[t,r,i].join(Ir)}function li(e,t){const r=[];return e.forEach(i=>{const n=t(i);r.includes(n)||r.push(n)}),r}function mn(e){const{address:t}=ci(e);return t}function gn(e){const{namespace:t,reference:r}=ci(e);return pn({namespace:t,reference:r})}function Ko(e,t){const{namespace:r,reference:i}=dn(t);return vn({namespace:r,reference:i,address:e})}function Ho(e){return li(e,mn)}function An(e){return li(e,gn)}function zo(e,t=[]){const r=[];return Object.keys(e).forEach(i=>{if(t.length&&!t.includes(i))return;const n=e[i];r.push(...n.accounts)}),r}function Lo(e,t=[]){const r=[];return Object.keys(e).forEach(i=>{if(t.length&&!t.includes(i))return;const n=e[i];r.push(...An(n.accounts))}),r}function jo(e,t=[]){const r=[];return Object.keys(e).forEach(i=>{if(t.length&&!t.includes(i))return;const n=e[i];r.push(..._r(i,n))}),r}function _r(e,t){return e.includes(\":\")?[e]:t.chains||[]}var Qo=Object.defineProperty,bn=Object.getOwnPropertySymbols,Jo=Object.prototype.hasOwnProperty,Go=Object.prototype.propertyIsEnumerable,yn=(e,t,r)=>t in e?Qo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,wn=(e,t)=>{for(var r in t||(t={}))Jo.call(t,r)&&yn(e,r,t[r]);if(bn)for(var r of bn(t))Go.call(t,r)&&yn(e,r,t[r]);return e};const xn=\"ReactNative\",qt={reactNative:\"react-native\",node:\"node\",browser:\"browser\",unknown:\"unknown\"},Br=\" \",Yo=\":\",Mn=\"/\",di=2,Vo=1e3,En=\"js\";function pi(){return typeof process<\"u\"&&typeof process.versions<\"u\"&&typeof process.versions.node<\"u\"}function er(){return!fn()&&!!on()&&navigator.product===xn}function pr(){return!pi()&&!!on()&&!!fn()}function We(){return er()?qt.reactNative:pi()?qt.node:pr()?qt.browser:qt.unknown}function Wo(){var e;try{return er()&&typeof global<\"u\"&&typeof(global==null?void 0:global.Application)<\"u\"?(e=global.Application)==null?void 0:e.applicationId:void 0}catch{return}}function Sn(e,t){let r=Nr.parse(e);return r=wn(wn({},r),t),e=Nr.stringify(r),e}function Xo(){return To()||{name:\"\",description:\"\",url:\"\",icons:[\"\"]}}function Zo(e,t){var r;const i=We(),n={protocol:e,version:t,env:i};return i===\"browser\"&&(n.host=((r=sn())==null?void 0:r.host)||\"unknown\"),n}function Nn(){if(We()===qt.reactNative&&typeof global<\"u\"&&typeof(global==null?void 0:global.Platform)<\"u\"){const{OS:r,Version:i}=global.Platform;return[r,i].join(\"-\")}const e=Do();if(e===null)return\"unknown\";const t=e.os?e.os.replace(\" \",\"\").toLowerCase():\"unknown\";return e.type===\"browser\"?[t,e.name,e.version].join(\"-\"):[t,e.version].join(\"-\")}function In(){var e;const t=We();return t===qt.browser?[t,((e=sn())==null?void 0:e.host)||\"unknown\"].join(\":\"):t}function _n(e,t,r){const i=Nn(),n=In();return[[e,t].join(\"-\"),[En,r].join(\"-\"),i,n].join(\"/\")}function $o({protocol:e,version:t,relayUrl:r,sdkVersion:i,auth:n,projectId:o,useOnCloseEvent:h,bundleId:p}){const b=r.split(\"?\"),m=_n(e,t,i),w={auth:n,ua:m,projectId:o,useOnCloseEvent:h||void 0,origin:p||void 0},y=Sn(b[1]||\"\",w);return b[0]+\"?\"+y}function t0(e){let t=(e.match(/^[^:]+(?=:\\/\\/)/gi)||[])[0];const r=typeof t<\"u\"?e.split(\"://\")[1]:e;return t=t===\"wss\"?\"https\":\"http\",[t,r].join(\"://\")}function e0(e,t,r){if(!e[t]||typeof e[t]!==r)throw new Error(`Missing or invalid \"${t}\" param`)}function Bn(e,t=di){return Cn(e.split(Mn),t)}function r0(e){return Bn(e).join(Br)}function _e(e,t){return e.filter(r=>t.includes(r)).length===e.length}function Cn(e,t=di){return e.slice(Math.max(e.length-t,0))}function i0(e){return Object.fromEntries(e.entries())}function n0(e){return new Map(Object.entries(e))}function f0(e,t){const r={};return Object.keys(e).forEach(i=>{r[i]=t(e[i])}),r}const o0=e=>e;function Rn(e){return e.trim().replace(/^\\w/,t=>t.toUpperCase())}function s0(e){return e.split(Br).map(t=>Rn(t)).join(Br)}function a0(e=nn,t){const r=hi(e||nn);let i,n,o;return{resolve:h=>{o&&i&&(clearTimeout(o),i(h))},reject:h=>{o&&n&&(clearTimeout(o),n(h))},done:()=>new Promise((h,p)=>{o=setTimeout(()=>{p(new Error(t))},r),i=h,n=p})}}function u0(e,t,r){return new Promise(async(i,n)=>{const o=setTimeout(()=>n(new Error(r)),t);try{const h=await e;i(h)}catch(h){n(h)}clearTimeout(o)})}function vi(e,t){if(typeof t==\"string\"&&t.startsWith(`${e}:`))return t;if(e.toLowerCase()===\"topic\"){if(typeof t!=\"string\")throw new Error('Value must be \"string\" for expirer target type: topic');return`topic:${t}`}else if(e.toLowerCase()===\"id\"){if(typeof t!=\"number\")throw new Error('Value must be \"number\" for expirer target type: id');return`id:${t}`}throw new Error(`Unknown expirer target type: ${e}`)}function h0(e){return vi(\"topic\",e)}function c0(e){return vi(\"id\",e)}function l0(e){const[t,r]=e.split(\":\"),i={id:void 0,topic:void 0};if(t===\"topic\"&&typeof r==\"string\")i.topic=r;else if(t===\"id\"&&Number.isInteger(Number(r)))i.id=Number(r);else throw new Error(`Invalid target, expected id:number or topic:string, got ${t}:${r}`);return i}function d0(e,t){return Fo((t||Date.now())+hi(e))}function p0(e){return Date.now()>=hi(e)}function v0(e,t){return`${e}${t?`:${t}`:\"\"}`}function ge(e=[],t=[]){return[...new Set([...e,...t])]}async function m0({id:e,topic:t,wcDeepLink:r}){try{if(!r)return;const i=typeof r==\"string\"?JSON.parse(r):r;let n=i?.href;if(typeof n!=\"string\")return;n.endsWith(\"/\")&&(n=n.slice(0,-1));const o=`${n}/wc?requestId=${e}&sessionTopic=${t}`,h=We();h===qt.browser?o.startsWith(\"https://\")||o.startsWith(\"http://\")?window.open(o,\"_blank\",\"noreferrer noopener\"):window.open(o,\"_self\",\"noreferrer noopener\"):h===qt.reactNative&&typeof(global==null?void 0:global.Linking)<\"u\"&&await global.Linking.openURL(o)}catch(i){console.error(i)}}async function g0(e,t){try{return await e.getItem(t)||(pr()?localStorage.getItem(t):void 0)}catch(r){console.error(r)}}function mi(e,t){return e.filter(r=>t.includes(r))}var On=typeof globalThis<\"u\"?globalThis:typeof window<\"u\"?window:typeof global<\"u\"?global:typeof self<\"u\"?self:{};function A0(e){var t=e.default;if(typeof t==\"function\"){var r=function(){return t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,\"__esModule\",{value:!0}),Object.keys(e).forEach(function(i){var n=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(r,i,n.get?n:{enumerable:!0,get:function(){return e[i]}})}),r}var Pn={exports:{}};/**\n * [js-sha3]{@link https://github.com/emn178/js-sha3}\n *\n * @version 0.8.0\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2015-2018\n * @license MIT\n */(function(e){(function(){var t=\"input is invalid type\",r=\"finalize already called\",i=typeof window==\"object\",n=i?window:{};n.JS_SHA3_NO_WINDOW&&(i=!1);var o=!i&&typeof self==\"object\",h=!n.JS_SHA3_NO_NODE_JS&&typeof process==\"object\"&&process.versions&&process.versions.node;h?n=On:o&&(n=self);var p=!n.JS_SHA3_NO_COMMON_JS&&!0&&e.exports,b=!n.JS_SHA3_NO_ARRAY_BUFFER&&typeof ArrayBuffer<\"u\",m=\"0123456789abcdef\".split(\"\"),w=[31,7936,2031616,520093696],y=[4,1024,262144,67108864],S=[1,256,65536,16777216],I=[6,1536,393216,100663296],N=[0,8,16,24],C=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],F=[224,256,384,512],U=[128,256],J=[\"hex\",\"buffer\",\"arrayBuffer\",\"array\",\"digest\"],Bt={128:168,256:136};(n.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(u){return Object.prototype.toString.call(u)===\"[object Array]\"}),b&&(n.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(u){return typeof u==\"object\"&&u.buffer&&u.buffer.constructor===ArrayBuffer});for(var G=function(u,E,_){return function(B){return new s(u,E,u).update(B)[_]()}},H=function(u,E,_){return function(B,R){return new s(u,E,R).update(B)[_]()}},z=function(u,E,_){return function(B,R,T,P){return f[\"cshake\"+u].update(B,R,T,P)[_]()}},Pt=function(u,E,_){return function(B,R,T,P){return f[\"kmac\"+u].update(B,R,T,P)[_]()}},W=function(u,E,_,B){for(var R=0;R>5,this.byteCount=this.blockCount<<2,this.outputBlocks=_>>5,this.extraBytes=(_&31)>>3;for(var B=0;B<50;++B)this.s[B]=0}s.prototype.update=function(u){if(this.finalized)throw new Error(r);var E,_=typeof u;if(_!==\"string\"){if(_===\"object\"){if(u===null)throw new Error(t);if(b&&u.constructor===ArrayBuffer)u=new Uint8Array(u);else if(!Array.isArray(u)&&(!b||!ArrayBuffer.isView(u)))throw new Error(t)}else throw new Error(t);E=!0}for(var B=this.blocks,R=this.byteCount,T=u.length,P=this.blockCount,O=0,Ct=this.s,D,q;O>2]|=u[O]<>2]|=q<>2]|=(192|q>>6)<>2]|=(128|q&63)<=57344?(B[D>>2]|=(224|q>>12)<>2]|=(128|q>>6&63)<>2]|=(128|q&63)<>2]|=(240|q>>18)<>2]|=(128|q>>12&63)<>2]|=(128|q>>6&63)<>2]|=(128|q&63)<=R){for(this.start=D-R,this.block=B[P],D=0;D>8,_=u&255;_>0;)R.unshift(_),u=u>>8,_=u&255,++B;return E?R.push(B):R.unshift(B),this.update(R),R.length},s.prototype.encodeString=function(u){var E,_=typeof u;if(_!==\"string\"){if(_===\"object\"){if(u===null)throw new Error(t);if(b&&u.constructor===ArrayBuffer)u=new Uint8Array(u);else if(!Array.isArray(u)&&(!b||!ArrayBuffer.isView(u)))throw new Error(t)}else throw new Error(t);E=!0}var B=0,R=u.length;if(E)B=R;else for(var T=0;T=57344?B+=3:(P=65536+((P&1023)<<10|u.charCodeAt(++T)&1023),B+=4)}return B+=this.encode(B*8),this.update(u),B},s.prototype.bytepad=function(u,E){for(var _=this.encode(E),B=0;B>2]|=this.padding[E&3],this.lastByteIndex===this.byteCount)for(u[0]=u[_],E=1;E<_+1;++E)u[E]=0;for(u[_-1]|=2147483648,E=0;E<_;++E)B[E]^=u[E];k(B)}},s.prototype.toString=s.prototype.hex=function(){this.finalize();for(var u=this.blockCount,E=this.s,_=this.outputBlocks,B=this.extraBytes,R=0,T=0,P=\"\",O;T<_;){for(R=0;R>4&15]+m[O&15]+m[O>>12&15]+m[O>>8&15]+m[O>>20&15]+m[O>>16&15]+m[O>>28&15]+m[O>>24&15];T%u===0&&(k(E),R=0)}return B&&(O=E[R],P+=m[O>>4&15]+m[O&15],B>1&&(P+=m[O>>12&15]+m[O>>8&15]),B>2&&(P+=m[O>>20&15]+m[O>>16&15])),P},s.prototype.arrayBuffer=function(){this.finalize();var u=this.blockCount,E=this.s,_=this.outputBlocks,B=this.extraBytes,R=0,T=0,P=this.outputBits>>3,O;B?O=new ArrayBuffer(_+1<<2):O=new ArrayBuffer(P);for(var Ct=new Uint32Array(O);T<_;){for(R=0;R>8&255,P[O+2]=Ct>>16&255,P[O+3]=Ct>>24&255;T%u===0&&k(E)}return B&&(O=T<<2,Ct=E[R],P[O]=Ct&255,B>1&&(P[O+1]=Ct>>8&255),B>2&&(P[O+2]=Ct>>16&255)),P};function v(u,E,_){s.call(this,u,E,_)}v.prototype=new s,v.prototype.finalize=function(){return this.encode(this.outputBits,!0),s.prototype.finalize.call(this)};var k=function(u){var E,_,B,R,T,P,O,Ct,D,q,De,X,Z,Fe,$,tt,Te,et,rt,Ue,it,nt,ke,ft,ot,qe,st,at,Ke,ut,ht,He,ct,lt,ze,dt,pt,Le,vt,mt,je,gt,At,Qe,bt,yt,Je,wt,xt,Ge,Mt,Et,Ye,St,Nt,Ve,It,_t,Me,Ee,Se,Ne,Ie;for(B=0;B<48;B+=2)R=u[0]^u[10]^u[20]^u[30]^u[40],T=u[1]^u[11]^u[21]^u[31]^u[41],P=u[2]^u[12]^u[22]^u[32]^u[42],O=u[3]^u[13]^u[23]^u[33]^u[43],Ct=u[4]^u[14]^u[24]^u[34]^u[44],D=u[5]^u[15]^u[25]^u[35]^u[45],q=u[6]^u[16]^u[26]^u[36]^u[46],De=u[7]^u[17]^u[27]^u[37]^u[47],X=u[8]^u[18]^u[28]^u[38]^u[48],Z=u[9]^u[19]^u[29]^u[39]^u[49],E=X^(P<<1|O>>>31),_=Z^(O<<1|P>>>31),u[0]^=E,u[1]^=_,u[10]^=E,u[11]^=_,u[20]^=E,u[21]^=_,u[30]^=E,u[31]^=_,u[40]^=E,u[41]^=_,E=R^(Ct<<1|D>>>31),_=T^(D<<1|Ct>>>31),u[2]^=E,u[3]^=_,u[12]^=E,u[13]^=_,u[22]^=E,u[23]^=_,u[32]^=E,u[33]^=_,u[42]^=E,u[43]^=_,E=P^(q<<1|De>>>31),_=O^(De<<1|q>>>31),u[4]^=E,u[5]^=_,u[14]^=E,u[15]^=_,u[24]^=E,u[25]^=_,u[34]^=E,u[35]^=_,u[44]^=E,u[45]^=_,E=Ct^(X<<1|Z>>>31),_=D^(Z<<1|X>>>31),u[6]^=E,u[7]^=_,u[16]^=E,u[17]^=_,u[26]^=E,u[27]^=_,u[36]^=E,u[37]^=_,u[46]^=E,u[47]^=_,E=q^(R<<1|T>>>31),_=De^(T<<1|R>>>31),u[8]^=E,u[9]^=_,u[18]^=E,u[19]^=_,u[28]^=E,u[29]^=_,u[38]^=E,u[39]^=_,u[48]^=E,u[49]^=_,Fe=u[0],$=u[1],yt=u[11]<<4|u[10]>>>28,Je=u[10]<<4|u[11]>>>28,at=u[20]<<3|u[21]>>>29,Ke=u[21]<<3|u[20]>>>29,Ee=u[31]<<9|u[30]>>>23,Se=u[30]<<9|u[31]>>>23,gt=u[40]<<18|u[41]>>>14,At=u[41]<<18|u[40]>>>14,lt=u[2]<<1|u[3]>>>31,ze=u[3]<<1|u[2]>>>31,tt=u[13]<<12|u[12]>>>20,Te=u[12]<<12|u[13]>>>20,wt=u[22]<<10|u[23]>>>22,xt=u[23]<<10|u[22]>>>22,ut=u[33]<<13|u[32]>>>19,ht=u[32]<<13|u[33]>>>19,Ne=u[42]<<2|u[43]>>>30,Ie=u[43]<<2|u[42]>>>30,St=u[5]<<30|u[4]>>>2,Nt=u[4]<<30|u[5]>>>2,dt=u[14]<<6|u[15]>>>26,pt=u[15]<<6|u[14]>>>26,et=u[25]<<11|u[24]>>>21,rt=u[24]<<11|u[25]>>>21,Ge=u[34]<<15|u[35]>>>17,Mt=u[35]<<15|u[34]>>>17,He=u[45]<<29|u[44]>>>3,ct=u[44]<<29|u[45]>>>3,ft=u[6]<<28|u[7]>>>4,ot=u[7]<<28|u[6]>>>4,Ve=u[17]<<23|u[16]>>>9,It=u[16]<<23|u[17]>>>9,Le=u[26]<<25|u[27]>>>7,vt=u[27]<<25|u[26]>>>7,Ue=u[36]<<21|u[37]>>>11,it=u[37]<<21|u[36]>>>11,Et=u[47]<<24|u[46]>>>8,Ye=u[46]<<24|u[47]>>>8,Qe=u[8]<<27|u[9]>>>5,bt=u[9]<<27|u[8]>>>5,qe=u[18]<<20|u[19]>>>12,st=u[19]<<20|u[18]>>>12,_t=u[29]<<7|u[28]>>>25,Me=u[28]<<7|u[29]>>>25,mt=u[38]<<8|u[39]>>>24,je=u[39]<<8|u[38]>>>24,nt=u[48]<<14|u[49]>>>18,ke=u[49]<<14|u[48]>>>18,u[0]=Fe^~tt&et,u[1]=$^~Te&rt,u[10]=ft^~qe&at,u[11]=ot^~st&Ke,u[20]=lt^~dt&Le,u[21]=ze^~pt&vt,u[30]=Qe^~yt&wt,u[31]=bt^~Je&xt,u[40]=St^~Ve&_t,u[41]=Nt^~It&Me,u[2]=tt^~et&Ue,u[3]=Te^~rt&it,u[12]=qe^~at&ut,u[13]=st^~Ke&ht,u[22]=dt^~Le&mt,u[23]=pt^~vt&je,u[32]=yt^~wt&Ge,u[33]=Je^~xt&Mt,u[42]=Ve^~_t&Ee,u[43]=It^~Me&Se,u[4]=et^~Ue&nt,u[5]=rt^~it&ke,u[14]=at^~ut&He,u[15]=Ke^~ht&ct,u[24]=Le^~mt>,u[25]=vt^~je&At,u[34]=wt^~Ge&Et,u[35]=xt^~Mt&Ye,u[44]=_t^~Ee&Ne,u[45]=Me^~Se&Ie,u[6]=Ue^~nt&Fe,u[7]=it^~ke&$,u[16]=ut^~He&ft,u[17]=ht^~ct&ot,u[26]=mt^~gt<,u[27]=je^~At&ze,u[36]=Ge^~Et&Qe,u[37]=Mt^~Ye&bt,u[46]=Ee^~Ne&St,u[47]=Se^~Ie&Nt,u[8]=nt^~Fe&tt,u[9]=ke^~$&Te,u[18]=He^~ft&qe,u[19]=ct^~ot&st,u[28]=gt^~lt&dt,u[29]=At^~ze&pt,u[38]=Et^~Qe&yt,u[39]=Ye^~bt&Je,u[48]=Ne^~St&Ve,u[49]=Ie^~Nt&It,u[0]^=C[B],u[1]^=C[B+1]};if(p)e.exports=f;else for(c=0;c{try{if(\"test\".normalize(t)!==\"test\")throw new Error(\"bad normalize\")}catch{e.push(t)}}),e.length)throw new Error(\"missing \"+e.join(\", \"));if(String.fromCharCode(233).normalize(\"NFD\")!==String.fromCharCode(101,769))throw new Error(\"broken implementation\")}catch(e){return e.message}return null}const Un=w0();var Ai;(function(e){e.DEBUG=\"DEBUG\",e.INFO=\"INFO\",e.WARNING=\"WARNING\",e.ERROR=\"ERROR\",e.OFF=\"OFF\"})(Ai||(Ai={}));var re;(function(e){e.UNKNOWN_ERROR=\"UNKNOWN_ERROR\",e.NOT_IMPLEMENTED=\"NOT_IMPLEMENTED\",e.UNSUPPORTED_OPERATION=\"UNSUPPORTED_OPERATION\",e.NETWORK_ERROR=\"NETWORK_ERROR\",e.SERVER_ERROR=\"SERVER_ERROR\",e.TIMEOUT=\"TIMEOUT\",e.BUFFER_OVERRUN=\"BUFFER_OVERRUN\",e.NUMERIC_FAULT=\"NUMERIC_FAULT\",e.MISSING_NEW=\"MISSING_NEW\",e.INVALID_ARGUMENT=\"INVALID_ARGUMENT\",e.MISSING_ARGUMENT=\"MISSING_ARGUMENT\",e.UNEXPECTED_ARGUMENT=\"UNEXPECTED_ARGUMENT\",e.CALL_EXCEPTION=\"CALL_EXCEPTION\",e.INSUFFICIENT_FUNDS=\"INSUFFICIENT_FUNDS\",e.NONCE_EXPIRED=\"NONCE_EXPIRED\",e.REPLACEMENT_UNDERPRICED=\"REPLACEMENT_UNDERPRICED\",e.UNPREDICTABLE_GAS_LIMIT=\"UNPREDICTABLE_GAS_LIMIT\",e.TRANSACTION_REPLACED=\"TRANSACTION_REPLACED\",e.ACTION_REJECTED=\"ACTION_REJECTED\"})(re||(re={}));const kn=\"0123456789abcdef\";class L{constructor(t){Object.defineProperty(this,\"version\",{enumerable:!0,value:t,writable:!1})}_log(t,r){const i=t.toLowerCase();Cr[i]==null&&this.throwArgumentError(\"invalid log level name\",\"logLevel\",t),!(Tn>Cr[i])&&console.log.apply(console,r)}debug(...t){this._log(L.levels.DEBUG,t)}info(...t){this._log(L.levels.INFO,t)}warn(...t){this._log(L.levels.WARNING,t)}makeError(t,r,i){if(Fn)return this.makeError(\"censored error\",r,{});r||(r=L.errors.UNKNOWN_ERROR),i||(i={});const n=[];Object.keys(i).forEach(b=>{const m=i[b];try{if(m instanceof Uint8Array){let w=\"\";for(let y=0;y>4],w+=kn[m[y]&15];n.push(b+\"=Uint8Array(0x\"+w+\")\")}else n.push(b+\"=\"+JSON.stringify(m))}catch{n.push(b+\"=\"+JSON.stringify(i[b].toString()))}}),n.push(`code=${r}`),n.push(`version=${this.version}`);const o=t;let h=\"\";switch(r){case re.NUMERIC_FAULT:{h=\"NUMERIC_FAULT\";const b=t;switch(b){case\"overflow\":case\"underflow\":case\"division-by-zero\":h+=\"-\"+b;break;case\"negative-power\":case\"negative-width\":h+=\"-unsupported\";break;case\"unbound-bitwise-result\":h+=\"-unbound-result\";break}break}case re.CALL_EXCEPTION:case re.INSUFFICIENT_FUNDS:case re.MISSING_NEW:case re.NONCE_EXPIRED:case re.REPLACEMENT_UNDERPRICED:case re.TRANSACTION_REPLACED:case re.UNPREDICTABLE_GAS_LIMIT:h=r;break}h&&(t+=\" [ See: https://links.ethers.org/v5-errors-\"+h+\" ]\"),n.length&&(t+=\" (\"+n.join(\", \")+\")\");const p=new Error(t);return p.reason=o,p.code=r,Object.keys(i).forEach(function(b){p[b]=i[b]}),p}throwError(t,r,i){throw this.makeError(t,r,i)}throwArgumentError(t,r,i){return this.throwError(t,L.errors.INVALID_ARGUMENT,{argument:r,value:i})}assert(t,r,i,n){t||this.throwError(r,i,n)}assertArgument(t,r,i,n){t||this.throwArgumentError(r,i,n)}checkNormalize(t){Un&&this.throwError(\"platform missing String.prototype.normalize\",L.errors.UNSUPPORTED_OPERATION,{operation:\"String.prototype.normalize\",form:Un})}checkSafeUint53(t,r){typeof t==\"number\"&&(r==null&&(r=\"value not safe\"),(t<0||t>=9007199254740991)&&this.throwError(r,L.errors.NUMERIC_FAULT,{operation:\"checkSafeInteger\",fault:\"out-of-safe-range\",value:t}),t%1&&this.throwError(r,L.errors.NUMERIC_FAULT,{operation:\"checkSafeInteger\",fault:\"non-integer\",value:t}))}checkArgumentCount(t,r,i){i?i=\": \"+i:i=\"\",tr&&this.throwError(\"too many arguments\"+i,L.errors.UNEXPECTED_ARGUMENT,{count:t,expectedCount:r})}checkNew(t,r){(t===Object||t==null)&&this.throwError(\"missing new\",L.errors.MISSING_NEW,{name:r.name})}checkAbstract(t,r){t===r?this.throwError(\"cannot instantiate abstract class \"+JSON.stringify(r.name)+\" directly; use a sub-class\",L.errors.UNSUPPORTED_OPERATION,{name:t.name,operation:\"new\"}):(t===Object||t==null)&&this.throwError(\"missing new\",L.errors.MISSING_NEW,{name:r.name})}static globalLogger(){return gi||(gi=new L(y0)),gi}static setCensorship(t,r){if(!t&&r&&this.globalLogger().throwError(\"cannot permanently disable censorship\",L.errors.UNSUPPORTED_OPERATION,{operation:\"setCensorship\"}),Dn){if(!t)return;this.globalLogger().throwError(\"error censorship permanent\",L.errors.UNSUPPORTED_OPERATION,{operation:\"setCensorship\"})}Fn=!!t,Dn=!!r}static setLogLevel(t){const r=Cr[t.toLowerCase()];if(r==null){L.globalLogger().warn(\"invalid log level - \"+t);return}Tn=r}static from(t){return new L(t)}}L.errors=re,L.levels=Ai;const x0=\"bytes/5.7.0\",Dt=new L(x0);function qn(e){return!!e.toHexString}function rr(e){return e.slice||(e.slice=function(){const t=Array.prototype.slice.call(arguments);return rr(new Uint8Array(Array.prototype.slice.apply(e,t)))}),e}function M0(e){return Qt(e)&&!(e.length%2)||ir(e)}function Kn(e){return typeof e==\"number\"&&e==e&&e%1===0}function ir(e){if(e==null)return!1;if(e.constructor===Uint8Array)return!0;if(typeof e==\"string\"||!Kn(e.length)||e.length<0)return!1;for(let t=0;t=256)return!1}return!0}function Ot(e,t){if(t||(t={}),typeof e==\"number\"){Dt.checkSafeUint53(e,\"invalid arrayify value\");const r=[];for(;e;)r.unshift(e&255),e=parseInt(String(e/256));return r.length===0&&r.push(0),rr(new Uint8Array(r))}if(t.allowMissingPrefix&&typeof e==\"string\"&&e.substring(0,2)!==\"0x\"&&(e=\"0x\"+e),qn(e)&&(e=e.toHexString()),Qt(e)){let r=e.substring(2);r.length%2&&(t.hexPad===\"left\"?r=\"0\"+r:t.hexPad===\"right\"?r+=\"0\":Dt.throwArgumentError(\"hex data is odd-length\",\"value\",e));const i=[];for(let n=0;nOt(n)),r=t.reduce((n,o)=>n+o.length,0),i=new Uint8Array(r);return t.reduce((n,o)=>(i.set(o,n),n+o.length),0),rr(i)}function S0(e,t){e=Ot(e),e.length>t&&Dt.throwArgumentError(\"value out of range\",\"value\",arguments[0]);const r=new Uint8Array(t);return r.set(e,t-e.length),rr(r)}function Qt(e,t){return!(typeof e!=\"string\"||!e.match(/^0x[0-9A-Fa-f]*$/)||t&&e.length!==2+2*t)}const bi=\"0123456789abcdef\";function Kt(e,t){if(t||(t={}),typeof e==\"number\"){Dt.checkSafeUint53(e,\"invalid hexlify value\");let r=\"\";for(;e;)r=bi[e&15]+r,e=Math.floor(e/16);return r.length?(r.length%2&&(r=\"0\"+r),\"0x\"+r):\"0x00\"}if(typeof e==\"bigint\")return e=e.toString(16),e.length%2?\"0x0\"+e:\"0x\"+e;if(t.allowMissingPrefix&&typeof e==\"string\"&&e.substring(0,2)!==\"0x\"&&(e=\"0x\"+e),qn(e))return e.toHexString();if(Qt(e))return e.length%2&&(t.hexPad===\"left\"?e=\"0x0\"+e.substring(2):t.hexPad===\"right\"?e+=\"0\":Dt.throwArgumentError(\"hex data is odd-length\",\"value\",e)),e.toLowerCase();if(ir(e)){let r=\"0x\";for(let i=0;i>4]+bi[n&15]}return r}return Dt.throwArgumentError(\"invalid hexlify value\",\"value\",e)}function N0(e){if(typeof e!=\"string\")e=Kt(e);else if(!Qt(e)||e.length%2)return null;return(e.length-2)/2}function Hn(e,t,r){return typeof e!=\"string\"?e=Kt(e):(!Qt(e)||e.length%2)&&Dt.throwArgumentError(\"invalid hexData\",\"value\",e),t=2+2*t,r!=null?\"0x\"+e.substring(t,2+2*r):\"0x\"+e.substring(t)}function oe(e,t){for(typeof e!=\"string\"?e=Kt(e):Qt(e)||Dt.throwArgumentError(\"invalid hex string\",\"value\",e),e.length>2*t+2&&Dt.throwArgumentError(\"value out of range\",\"value\",arguments[1]);e.length<2*t+2;)e=\"0x0\"+e.substring(2);return e}function zn(e){const t={r:\"0x\",s:\"0x\",_vs:\"0x\",recoveryParam:0,v:0,yParityAndS:\"0x\",compact:\"0x\"};if(M0(e)){let r=Ot(e);r.length===64?(t.v=27+(r[32]>>7),r[32]&=127,t.r=Kt(r.slice(0,32)),t.s=Kt(r.slice(32,64))):r.length===65?(t.r=Kt(r.slice(0,32)),t.s=Kt(r.slice(32,64)),t.v=r[64]):Dt.throwArgumentError(\"invalid signature string\",\"signature\",e),t.v<27&&(t.v===0||t.v===1?t.v+=27:Dt.throwArgumentError(\"signature invalid v byte\",\"signature\",e)),t.recoveryParam=1-t.v%2,t.recoveryParam&&(r[32]|=128),t._vs=Kt(r.slice(32,64))}else{if(t.r=e.r,t.s=e.s,t.v=e.v,t.recoveryParam=e.recoveryParam,t._vs=e._vs,t._vs!=null){const n=S0(Ot(t._vs),32);t._vs=Kt(n);const o=n[0]>=128?1:0;t.recoveryParam==null?t.recoveryParam=o:t.recoveryParam!==o&&Dt.throwArgumentError(\"signature recoveryParam mismatch _vs\",\"signature\",e),n[0]&=127;const h=Kt(n);t.s==null?t.s=h:t.s!==h&&Dt.throwArgumentError(\"signature v mismatch _vs\",\"signature\",e)}if(t.recoveryParam==null)t.v==null?Dt.throwArgumentError(\"signature missing v and recoveryParam\",\"signature\",e):t.v===0||t.v===1?t.recoveryParam=t.v:t.recoveryParam=1-t.v%2;else if(t.v==null)t.v=27+t.recoveryParam;else{const n=t.v===0||t.v===1?t.v:1-t.v%2;t.recoveryParam!==n&&Dt.throwArgumentError(\"signature recoveryParam mismatch v\",\"signature\",e)}t.r==null||!Qt(t.r)?Dt.throwArgumentError(\"signature missing or invalid r\",\"signature\",e):t.r=oe(t.r,32),t.s==null||!Qt(t.s)?Dt.throwArgumentError(\"signature missing or invalid s\",\"signature\",e):t.s=oe(t.s,32);const r=Ot(t.s);r[0]>=128&&Dt.throwArgumentError(\"signature s out of range\",\"signature\",e),t.recoveryParam&&(r[0]|=128);const i=Kt(r);t._vs&&(Qt(t._vs)||Dt.throwArgumentError(\"signature invalid _vs\",\"signature\",e),t._vs=oe(t._vs,32)),t._vs==null?t._vs=i:t._vs!==i&&Dt.throwArgumentError(\"signature _vs mismatch v and s\",\"signature\",e)}return t.yParityAndS=t._vs,t.compact=t.r+t.yParityAndS.substring(2),t}function yi(e){return\"0x\"+b0.keccak_256(Ot(e))}var Ln={exports:{}},I0={},_0=Object.freeze({__proto__:null,default:I0}),B0=A0(_0);(function(e){(function(t,r){function i(A,f){if(!A)throw new Error(f||\"Assertion failed\")}function n(A,f){A.super_=f;var a=function(){};a.prototype=f.prototype,A.prototype=new a,A.prototype.constructor=A}function o(A,f,a){if(o.isBN(A))return A;this.negative=0,this.words=null,this.length=0,this.red=null,A!==null&&((f===\"le\"||f===\"be\")&&(a=f,f=10),this._init(A||0,f||10,a||\"be\"))}typeof t==\"object\"?t.exports=o:r.BN=o,o.BN=o,o.wordSize=26;var h;try{typeof window<\"u\"&&typeof window.Buffer<\"u\"?h=window.Buffer:h=B0.Buffer}catch{}o.isBN=function(f){return f instanceof o?!0:f!==null&&typeof f==\"object\"&&f.constructor.wordSize===o.wordSize&&Array.isArray(f.words)},o.max=function(f,a){return f.cmp(a)>0?f:a},o.min=function(f,a){return f.cmp(a)<0?f:a},o.prototype._init=function(f,a,c){if(typeof f==\"number\")return this._initNumber(f,a,c);if(typeof f==\"object\")return this._initArray(f,a,c);a===\"hex\"&&(a=16),i(a===(a|0)&&a>=2&&a<=36),f=f.toString().replace(/\\s+/g,\"\");var d=0;f[0]===\"-\"&&(d++,this.negative=1),d=0;d-=3)x=f[d]|f[d-1]<<8|f[d-2]<<16,this.words[g]|=x<>>26-M&67108863,M+=24,M>=26&&(M-=26,g++);else if(c===\"le\")for(d=0,g=0;d>>26-M&67108863,M+=24,M>=26&&(M-=26,g++);return this._strip()};function p(A,f){var a=A.charCodeAt(f);if(a>=48&&a<=57)return a-48;if(a>=65&&a<=70)return a-55;if(a>=97&&a<=102)return a-87;i(!1,\"Invalid character in \"+A)}function b(A,f,a){var c=p(A,a);return a-1>=f&&(c|=p(A,a-1)<<4),c}o.prototype._parseHex=function(f,a,c){this.length=Math.ceil((f.length-a)/6),this.words=new Array(this.length);for(var d=0;d=a;d-=2)M=b(f,a,d)<=18?(g-=18,x+=1,this.words[x]|=M>>>26):g+=8;else{var l=f.length-a;for(d=l%2===0?a+1:a;d=18?(g-=18,x+=1,this.words[x]|=M>>>26):g+=8}this._strip()};function m(A,f,a,c){for(var d=0,g=0,x=Math.min(A.length,a),M=f;M=49?g=l-49+10:l>=17?g=l-17+10:g=l,i(l>=0&&g1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},o.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<\"u\"&&typeof Symbol.for==\"function\")try{o.prototype[Symbol.for(\"nodejs.util.inspect.custom\")]=y}catch{o.prototype.inspect=y}else o.prototype.inspect=y;function y(){return(this.red?\"\"}var S=[\"\",\"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\"],I=[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],N=[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,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];o.prototype.toString=function(f,a){f=f||10,a=a|0||1;var c;if(f===16||f===\"hex\"){c=\"\";for(var d=0,g=0,x=0;x>>24-d&16777215,d+=2,d>=26&&(d-=26,x--),g!==0||x!==this.length-1?c=S[6-l.length]+l+c:c=l+c}for(g!==0&&(c=g.toString(16)+c);c.length%a!==0;)c=\"0\"+c;return this.negative!==0&&(c=\"-\"+c),c}if(f===(f|0)&&f>=2&&f<=36){var s=I[f],v=N[f];c=\"\";var k=this.clone();for(k.negative=0;!k.isZero();){var u=k.modrn(v).toString(f);k=k.idivn(v),k.isZero()?c=u+c:c=S[s-u.length]+u+c}for(this.isZero()&&(c=\"0\"+c);c.length%a!==0;)c=\"0\"+c;return this.negative!==0&&(c=\"-\"+c),c}i(!1,\"Base should be between 2 and 36\")},o.prototype.toNumber=function(){var f=this.words[0];return this.length===2?f+=this.words[1]*67108864:this.length===3&&this.words[2]===1?f+=4503599627370496+this.words[1]*67108864:this.length>2&&i(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0?-f:f},o.prototype.toJSON=function(){return this.toString(16,2)},h&&(o.prototype.toBuffer=function(f,a){return this.toArrayLike(h,f,a)}),o.prototype.toArray=function(f,a){return this.toArrayLike(Array,f,a)};var C=function(f,a){return f.allocUnsafe?f.allocUnsafe(a):new f(a)};o.prototype.toArrayLike=function(f,a,c){this._strip();var d=this.byteLength(),g=c||Math.max(1,d);i(d<=g,\"byte array longer than desired length\"),i(g>0,\"Requested array length <= 0\");var x=C(f,g),M=a===\"le\"?\"LE\":\"BE\";return this[\"_toArrayLike\"+M](x,d),x},o.prototype._toArrayLikeLE=function(f,a){for(var c=0,d=0,g=0,x=0;g>8&255),c>16&255),x===6?(c>24&255),d=0,x=0):(d=M>>>24,x+=2)}if(c=0&&(f[c--]=M>>8&255),c>=0&&(f[c--]=M>>16&255),x===6?(c>=0&&(f[c--]=M>>24&255),d=0,x=0):(d=M>>>24,x+=2)}if(c>=0)for(f[c--]=d;c>=0;)f[c--]=0},Math.clz32?o.prototype._countBits=function(f){return 32-Math.clz32(f)}:o.prototype._countBits=function(f){var a=f,c=0;return a>=4096&&(c+=13,a>>>=13),a>=64&&(c+=7,a>>>=7),a>=8&&(c+=4,a>>>=4),a>=2&&(c+=2,a>>>=2),c+a},o.prototype._zeroBits=function(f){if(f===0)return 26;var a=f,c=0;return a&8191||(c+=13,a>>>=13),a&127||(c+=7,a>>>=7),a&15||(c+=4,a>>>=4),a&3||(c+=2,a>>>=2),a&1||c++,c},o.prototype.bitLength=function(){var f=this.words[this.length-1],a=this._countBits(f);return(this.length-1)*26+a};function F(A){for(var f=new Array(A.bitLength()),a=0;a>>d&1}return f}o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var f=0,a=0;af.length?this.clone().ior(f):f.clone().ior(this)},o.prototype.uor=function(f){return this.length>f.length?this.clone().iuor(f):f.clone().iuor(this)},o.prototype.iuand=function(f){var a;this.length>f.length?a=f:a=this;for(var c=0;cf.length?this.clone().iand(f):f.clone().iand(this)},o.prototype.uand=function(f){return this.length>f.length?this.clone().iuand(f):f.clone().iuand(this)},o.prototype.iuxor=function(f){var a,c;this.length>f.length?(a=this,c=f):(a=f,c=this);for(var d=0;df.length?this.clone().ixor(f):f.clone().ixor(this)},o.prototype.uxor=function(f){return this.length>f.length?this.clone().iuxor(f):f.clone().iuxor(this)},o.prototype.inotn=function(f){i(typeof f==\"number\"&&f>=0);var a=Math.ceil(f/26)|0,c=f%26;this._expand(a),c>0&&a--;for(var d=0;d0&&(this.words[d]=~this.words[d]&67108863>>26-c),this._strip()},o.prototype.notn=function(f){return this.clone().inotn(f)},o.prototype.setn=function(f,a){i(typeof f==\"number\"&&f>=0);var c=f/26|0,d=f%26;return this._expand(c+1),a?this.words[c]=this.words[c]|1<f.length?(c=this,d=f):(c=f,d=this);for(var g=0,x=0;x>>26;for(;g!==0&&x>>26;if(this.length=c.length,g!==0)this.words[this.length]=g,this.length++;else if(c!==this)for(;xf.length?this.clone().iadd(f):f.clone().iadd(this)},o.prototype.isub=function(f){if(f.negative!==0){f.negative=0;var a=this.iadd(f);return f.negative=1,a._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(f),this.negative=1,this._normSign();var c=this.cmp(f);if(c===0)return this.negative=0,this.length=1,this.words[0]=0,this;var d,g;c>0?(d=this,g=f):(d=f,g=this);for(var x=0,M=0;M>26,this.words[M]=a&67108863;for(;x!==0&&M>26,this.words[M]=a&67108863;if(x===0&&M>>26,k=l&67108863,u=Math.min(s,f.length-1),E=Math.max(0,s-A.length+1);E<=u;E++){var _=s-E|0;d=A.words[_]|0,g=f.words[E]|0,x=d*g+k,v+=x/67108864|0,k=x&67108863}a.words[s]=k|0,l=v|0}return l!==0?a.words[s]=l|0:a.length--,a._strip()}var J=function(f,a,c){var d=f.words,g=a.words,x=c.words,M=0,l,s,v,k=d[0]|0,u=k&8191,E=k>>>13,_=d[1]|0,B=_&8191,R=_>>>13,T=d[2]|0,P=T&8191,O=T>>>13,Ct=d[3]|0,D=Ct&8191,q=Ct>>>13,De=d[4]|0,X=De&8191,Z=De>>>13,Fe=d[5]|0,$=Fe&8191,tt=Fe>>>13,Te=d[6]|0,et=Te&8191,rt=Te>>>13,Ue=d[7]|0,it=Ue&8191,nt=Ue>>>13,ke=d[8]|0,ft=ke&8191,ot=ke>>>13,qe=d[9]|0,st=qe&8191,at=qe>>>13,Ke=g[0]|0,ut=Ke&8191,ht=Ke>>>13,He=g[1]|0,ct=He&8191,lt=He>>>13,ze=g[2]|0,dt=ze&8191,pt=ze>>>13,Le=g[3]|0,vt=Le&8191,mt=Le>>>13,je=g[4]|0,gt=je&8191,At=je>>>13,Qe=g[5]|0,bt=Qe&8191,yt=Qe>>>13,Je=g[6]|0,wt=Je&8191,xt=Je>>>13,Ge=g[7]|0,Mt=Ge&8191,Et=Ge>>>13,Ye=g[8]|0,St=Ye&8191,Nt=Ye>>>13,Ve=g[9]|0,It=Ve&8191,_t=Ve>>>13;c.negative=f.negative^a.negative,c.length=19,l=Math.imul(u,ut),s=Math.imul(u,ht),s=s+Math.imul(E,ut)|0,v=Math.imul(E,ht);var Me=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(Me>>>26)|0,Me&=67108863,l=Math.imul(B,ut),s=Math.imul(B,ht),s=s+Math.imul(R,ut)|0,v=Math.imul(R,ht),l=l+Math.imul(u,ct)|0,s=s+Math.imul(u,lt)|0,s=s+Math.imul(E,ct)|0,v=v+Math.imul(E,lt)|0;var Ee=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,l=Math.imul(P,ut),s=Math.imul(P,ht),s=s+Math.imul(O,ut)|0,v=Math.imul(O,ht),l=l+Math.imul(B,ct)|0,s=s+Math.imul(B,lt)|0,s=s+Math.imul(R,ct)|0,v=v+Math.imul(R,lt)|0,l=l+Math.imul(u,dt)|0,s=s+Math.imul(u,pt)|0,s=s+Math.imul(E,dt)|0,v=v+Math.imul(E,pt)|0;var Se=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(Se>>>26)|0,Se&=67108863,l=Math.imul(D,ut),s=Math.imul(D,ht),s=s+Math.imul(q,ut)|0,v=Math.imul(q,ht),l=l+Math.imul(P,ct)|0,s=s+Math.imul(P,lt)|0,s=s+Math.imul(O,ct)|0,v=v+Math.imul(O,lt)|0,l=l+Math.imul(B,dt)|0,s=s+Math.imul(B,pt)|0,s=s+Math.imul(R,dt)|0,v=v+Math.imul(R,pt)|0,l=l+Math.imul(u,vt)|0,s=s+Math.imul(u,mt)|0,s=s+Math.imul(E,vt)|0,v=v+Math.imul(E,mt)|0;var Ne=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,l=Math.imul(X,ut),s=Math.imul(X,ht),s=s+Math.imul(Z,ut)|0,v=Math.imul(Z,ht),l=l+Math.imul(D,ct)|0,s=s+Math.imul(D,lt)|0,s=s+Math.imul(q,ct)|0,v=v+Math.imul(q,lt)|0,l=l+Math.imul(P,dt)|0,s=s+Math.imul(P,pt)|0,s=s+Math.imul(O,dt)|0,v=v+Math.imul(O,pt)|0,l=l+Math.imul(B,vt)|0,s=s+Math.imul(B,mt)|0,s=s+Math.imul(R,vt)|0,v=v+Math.imul(R,mt)|0,l=l+Math.imul(u,gt)|0,s=s+Math.imul(u,At)|0,s=s+Math.imul(E,gt)|0,v=v+Math.imul(E,At)|0;var Ie=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,l=Math.imul($,ut),s=Math.imul($,ht),s=s+Math.imul(tt,ut)|0,v=Math.imul(tt,ht),l=l+Math.imul(X,ct)|0,s=s+Math.imul(X,lt)|0,s=s+Math.imul(Z,ct)|0,v=v+Math.imul(Z,lt)|0,l=l+Math.imul(D,dt)|0,s=s+Math.imul(D,pt)|0,s=s+Math.imul(q,dt)|0,v=v+Math.imul(q,pt)|0,l=l+Math.imul(P,vt)|0,s=s+Math.imul(P,mt)|0,s=s+Math.imul(O,vt)|0,v=v+Math.imul(O,mt)|0,l=l+Math.imul(B,gt)|0,s=s+Math.imul(B,At)|0,s=s+Math.imul(R,gt)|0,v=v+Math.imul(R,At)|0,l=l+Math.imul(u,bt)|0,s=s+Math.imul(u,yt)|0,s=s+Math.imul(E,bt)|0,v=v+Math.imul(E,yt)|0;var Wr=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(Wr>>>26)|0,Wr&=67108863,l=Math.imul(et,ut),s=Math.imul(et,ht),s=s+Math.imul(rt,ut)|0,v=Math.imul(rt,ht),l=l+Math.imul($,ct)|0,s=s+Math.imul($,lt)|0,s=s+Math.imul(tt,ct)|0,v=v+Math.imul(tt,lt)|0,l=l+Math.imul(X,dt)|0,s=s+Math.imul(X,pt)|0,s=s+Math.imul(Z,dt)|0,v=v+Math.imul(Z,pt)|0,l=l+Math.imul(D,vt)|0,s=s+Math.imul(D,mt)|0,s=s+Math.imul(q,vt)|0,v=v+Math.imul(q,mt)|0,l=l+Math.imul(P,gt)|0,s=s+Math.imul(P,At)|0,s=s+Math.imul(O,gt)|0,v=v+Math.imul(O,At)|0,l=l+Math.imul(B,bt)|0,s=s+Math.imul(B,yt)|0,s=s+Math.imul(R,bt)|0,v=v+Math.imul(R,yt)|0,l=l+Math.imul(u,wt)|0,s=s+Math.imul(u,xt)|0,s=s+Math.imul(E,wt)|0,v=v+Math.imul(E,xt)|0;var Xr=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(Xr>>>26)|0,Xr&=67108863,l=Math.imul(it,ut),s=Math.imul(it,ht),s=s+Math.imul(nt,ut)|0,v=Math.imul(nt,ht),l=l+Math.imul(et,ct)|0,s=s+Math.imul(et,lt)|0,s=s+Math.imul(rt,ct)|0,v=v+Math.imul(rt,lt)|0,l=l+Math.imul($,dt)|0,s=s+Math.imul($,pt)|0,s=s+Math.imul(tt,dt)|0,v=v+Math.imul(tt,pt)|0,l=l+Math.imul(X,vt)|0,s=s+Math.imul(X,mt)|0,s=s+Math.imul(Z,vt)|0,v=v+Math.imul(Z,mt)|0,l=l+Math.imul(D,gt)|0,s=s+Math.imul(D,At)|0,s=s+Math.imul(q,gt)|0,v=v+Math.imul(q,At)|0,l=l+Math.imul(P,bt)|0,s=s+Math.imul(P,yt)|0,s=s+Math.imul(O,bt)|0,v=v+Math.imul(O,yt)|0,l=l+Math.imul(B,wt)|0,s=s+Math.imul(B,xt)|0,s=s+Math.imul(R,wt)|0,v=v+Math.imul(R,xt)|0,l=l+Math.imul(u,Mt)|0,s=s+Math.imul(u,Et)|0,s=s+Math.imul(E,Mt)|0,v=v+Math.imul(E,Et)|0;var Zr=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(Zr>>>26)|0,Zr&=67108863,l=Math.imul(ft,ut),s=Math.imul(ft,ht),s=s+Math.imul(ot,ut)|0,v=Math.imul(ot,ht),l=l+Math.imul(it,ct)|0,s=s+Math.imul(it,lt)|0,s=s+Math.imul(nt,ct)|0,v=v+Math.imul(nt,lt)|0,l=l+Math.imul(et,dt)|0,s=s+Math.imul(et,pt)|0,s=s+Math.imul(rt,dt)|0,v=v+Math.imul(rt,pt)|0,l=l+Math.imul($,vt)|0,s=s+Math.imul($,mt)|0,s=s+Math.imul(tt,vt)|0,v=v+Math.imul(tt,mt)|0,l=l+Math.imul(X,gt)|0,s=s+Math.imul(X,At)|0,s=s+Math.imul(Z,gt)|0,v=v+Math.imul(Z,At)|0,l=l+Math.imul(D,bt)|0,s=s+Math.imul(D,yt)|0,s=s+Math.imul(q,bt)|0,v=v+Math.imul(q,yt)|0,l=l+Math.imul(P,wt)|0,s=s+Math.imul(P,xt)|0,s=s+Math.imul(O,wt)|0,v=v+Math.imul(O,xt)|0,l=l+Math.imul(B,Mt)|0,s=s+Math.imul(B,Et)|0,s=s+Math.imul(R,Mt)|0,v=v+Math.imul(R,Et)|0,l=l+Math.imul(u,St)|0,s=s+Math.imul(u,Nt)|0,s=s+Math.imul(E,St)|0,v=v+Math.imul(E,Nt)|0;var $r=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+($r>>>26)|0,$r&=67108863,l=Math.imul(st,ut),s=Math.imul(st,ht),s=s+Math.imul(at,ut)|0,v=Math.imul(at,ht),l=l+Math.imul(ft,ct)|0,s=s+Math.imul(ft,lt)|0,s=s+Math.imul(ot,ct)|0,v=v+Math.imul(ot,lt)|0,l=l+Math.imul(it,dt)|0,s=s+Math.imul(it,pt)|0,s=s+Math.imul(nt,dt)|0,v=v+Math.imul(nt,pt)|0,l=l+Math.imul(et,vt)|0,s=s+Math.imul(et,mt)|0,s=s+Math.imul(rt,vt)|0,v=v+Math.imul(rt,mt)|0,l=l+Math.imul($,gt)|0,s=s+Math.imul($,At)|0,s=s+Math.imul(tt,gt)|0,v=v+Math.imul(tt,At)|0,l=l+Math.imul(X,bt)|0,s=s+Math.imul(X,yt)|0,s=s+Math.imul(Z,bt)|0,v=v+Math.imul(Z,yt)|0,l=l+Math.imul(D,wt)|0,s=s+Math.imul(D,xt)|0,s=s+Math.imul(q,wt)|0,v=v+Math.imul(q,xt)|0,l=l+Math.imul(P,Mt)|0,s=s+Math.imul(P,Et)|0,s=s+Math.imul(O,Mt)|0,v=v+Math.imul(O,Et)|0,l=l+Math.imul(B,St)|0,s=s+Math.imul(B,Nt)|0,s=s+Math.imul(R,St)|0,v=v+Math.imul(R,Nt)|0,l=l+Math.imul(u,It)|0,s=s+Math.imul(u,_t)|0,s=s+Math.imul(E,It)|0,v=v+Math.imul(E,_t)|0;var ti=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(ti>>>26)|0,ti&=67108863,l=Math.imul(st,ct),s=Math.imul(st,lt),s=s+Math.imul(at,ct)|0,v=Math.imul(at,lt),l=l+Math.imul(ft,dt)|0,s=s+Math.imul(ft,pt)|0,s=s+Math.imul(ot,dt)|0,v=v+Math.imul(ot,pt)|0,l=l+Math.imul(it,vt)|0,s=s+Math.imul(it,mt)|0,s=s+Math.imul(nt,vt)|0,v=v+Math.imul(nt,mt)|0,l=l+Math.imul(et,gt)|0,s=s+Math.imul(et,At)|0,s=s+Math.imul(rt,gt)|0,v=v+Math.imul(rt,At)|0,l=l+Math.imul($,bt)|0,s=s+Math.imul($,yt)|0,s=s+Math.imul(tt,bt)|0,v=v+Math.imul(tt,yt)|0,l=l+Math.imul(X,wt)|0,s=s+Math.imul(X,xt)|0,s=s+Math.imul(Z,wt)|0,v=v+Math.imul(Z,xt)|0,l=l+Math.imul(D,Mt)|0,s=s+Math.imul(D,Et)|0,s=s+Math.imul(q,Mt)|0,v=v+Math.imul(q,Et)|0,l=l+Math.imul(P,St)|0,s=s+Math.imul(P,Nt)|0,s=s+Math.imul(O,St)|0,v=v+Math.imul(O,Nt)|0,l=l+Math.imul(B,It)|0,s=s+Math.imul(B,_t)|0,s=s+Math.imul(R,It)|0,v=v+Math.imul(R,_t)|0;var ei=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(ei>>>26)|0,ei&=67108863,l=Math.imul(st,dt),s=Math.imul(st,pt),s=s+Math.imul(at,dt)|0,v=Math.imul(at,pt),l=l+Math.imul(ft,vt)|0,s=s+Math.imul(ft,mt)|0,s=s+Math.imul(ot,vt)|0,v=v+Math.imul(ot,mt)|0,l=l+Math.imul(it,gt)|0,s=s+Math.imul(it,At)|0,s=s+Math.imul(nt,gt)|0,v=v+Math.imul(nt,At)|0,l=l+Math.imul(et,bt)|0,s=s+Math.imul(et,yt)|0,s=s+Math.imul(rt,bt)|0,v=v+Math.imul(rt,yt)|0,l=l+Math.imul($,wt)|0,s=s+Math.imul($,xt)|0,s=s+Math.imul(tt,wt)|0,v=v+Math.imul(tt,xt)|0,l=l+Math.imul(X,Mt)|0,s=s+Math.imul(X,Et)|0,s=s+Math.imul(Z,Mt)|0,v=v+Math.imul(Z,Et)|0,l=l+Math.imul(D,St)|0,s=s+Math.imul(D,Nt)|0,s=s+Math.imul(q,St)|0,v=v+Math.imul(q,Nt)|0,l=l+Math.imul(P,It)|0,s=s+Math.imul(P,_t)|0,s=s+Math.imul(O,It)|0,v=v+Math.imul(O,_t)|0;var ri=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(ri>>>26)|0,ri&=67108863,l=Math.imul(st,vt),s=Math.imul(st,mt),s=s+Math.imul(at,vt)|0,v=Math.imul(at,mt),l=l+Math.imul(ft,gt)|0,s=s+Math.imul(ft,At)|0,s=s+Math.imul(ot,gt)|0,v=v+Math.imul(ot,At)|0,l=l+Math.imul(it,bt)|0,s=s+Math.imul(it,yt)|0,s=s+Math.imul(nt,bt)|0,v=v+Math.imul(nt,yt)|0,l=l+Math.imul(et,wt)|0,s=s+Math.imul(et,xt)|0,s=s+Math.imul(rt,wt)|0,v=v+Math.imul(rt,xt)|0,l=l+Math.imul($,Mt)|0,s=s+Math.imul($,Et)|0,s=s+Math.imul(tt,Mt)|0,v=v+Math.imul(tt,Et)|0,l=l+Math.imul(X,St)|0,s=s+Math.imul(X,Nt)|0,s=s+Math.imul(Z,St)|0,v=v+Math.imul(Z,Nt)|0,l=l+Math.imul(D,It)|0,s=s+Math.imul(D,_t)|0,s=s+Math.imul(q,It)|0,v=v+Math.imul(q,_t)|0;var ii=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(ii>>>26)|0,ii&=67108863,l=Math.imul(st,gt),s=Math.imul(st,At),s=s+Math.imul(at,gt)|0,v=Math.imul(at,At),l=l+Math.imul(ft,bt)|0,s=s+Math.imul(ft,yt)|0,s=s+Math.imul(ot,bt)|0,v=v+Math.imul(ot,yt)|0,l=l+Math.imul(it,wt)|0,s=s+Math.imul(it,xt)|0,s=s+Math.imul(nt,wt)|0,v=v+Math.imul(nt,xt)|0,l=l+Math.imul(et,Mt)|0,s=s+Math.imul(et,Et)|0,s=s+Math.imul(rt,Mt)|0,v=v+Math.imul(rt,Et)|0,l=l+Math.imul($,St)|0,s=s+Math.imul($,Nt)|0,s=s+Math.imul(tt,St)|0,v=v+Math.imul(tt,Nt)|0,l=l+Math.imul(X,It)|0,s=s+Math.imul(X,_t)|0,s=s+Math.imul(Z,It)|0,v=v+Math.imul(Z,_t)|0;var ni=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(ni>>>26)|0,ni&=67108863,l=Math.imul(st,bt),s=Math.imul(st,yt),s=s+Math.imul(at,bt)|0,v=Math.imul(at,yt),l=l+Math.imul(ft,wt)|0,s=s+Math.imul(ft,xt)|0,s=s+Math.imul(ot,wt)|0,v=v+Math.imul(ot,xt)|0,l=l+Math.imul(it,Mt)|0,s=s+Math.imul(it,Et)|0,s=s+Math.imul(nt,Mt)|0,v=v+Math.imul(nt,Et)|0,l=l+Math.imul(et,St)|0,s=s+Math.imul(et,Nt)|0,s=s+Math.imul(rt,St)|0,v=v+Math.imul(rt,Nt)|0,l=l+Math.imul($,It)|0,s=s+Math.imul($,_t)|0,s=s+Math.imul(tt,It)|0,v=v+Math.imul(tt,_t)|0;var fi=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(fi>>>26)|0,fi&=67108863,l=Math.imul(st,wt),s=Math.imul(st,xt),s=s+Math.imul(at,wt)|0,v=Math.imul(at,xt),l=l+Math.imul(ft,Mt)|0,s=s+Math.imul(ft,Et)|0,s=s+Math.imul(ot,Mt)|0,v=v+Math.imul(ot,Et)|0,l=l+Math.imul(it,St)|0,s=s+Math.imul(it,Nt)|0,s=s+Math.imul(nt,St)|0,v=v+Math.imul(nt,Nt)|0,l=l+Math.imul(et,It)|0,s=s+Math.imul(et,_t)|0,s=s+Math.imul(rt,It)|0,v=v+Math.imul(rt,_t)|0;var oi=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(oi>>>26)|0,oi&=67108863,l=Math.imul(st,Mt),s=Math.imul(st,Et),s=s+Math.imul(at,Mt)|0,v=Math.imul(at,Et),l=l+Math.imul(ft,St)|0,s=s+Math.imul(ft,Nt)|0,s=s+Math.imul(ot,St)|0,v=v+Math.imul(ot,Nt)|0,l=l+Math.imul(it,It)|0,s=s+Math.imul(it,_t)|0,s=s+Math.imul(nt,It)|0,v=v+Math.imul(nt,_t)|0;var si=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(si>>>26)|0,si&=67108863,l=Math.imul(st,St),s=Math.imul(st,Nt),s=s+Math.imul(at,St)|0,v=Math.imul(at,Nt),l=l+Math.imul(ft,It)|0,s=s+Math.imul(ft,_t)|0,s=s+Math.imul(ot,It)|0,v=v+Math.imul(ot,_t)|0;var ai=(M+l|0)+((s&8191)<<13)|0;M=(v+(s>>>13)|0)+(ai>>>26)|0,ai&=67108863,l=Math.imul(st,It),s=Math.imul(st,_t),s=s+Math.imul(at,It)|0,v=Math.imul(at,_t);var ui=(M+l|0)+((s&8191)<<13)|0;return M=(v+(s>>>13)|0)+(ui>>>26)|0,ui&=67108863,x[0]=Me,x[1]=Ee,x[2]=Se,x[3]=Ne,x[4]=Ie,x[5]=Wr,x[6]=Xr,x[7]=Zr,x[8]=$r,x[9]=ti,x[10]=ei,x[11]=ri,x[12]=ii,x[13]=ni,x[14]=fi,x[15]=oi,x[16]=si,x[17]=ai,x[18]=ui,M!==0&&(x[19]=M,c.length++),c};Math.imul||(J=U);function Bt(A,f,a){a.negative=f.negative^A.negative,a.length=A.length+f.length;for(var c=0,d=0,g=0;g>>26)|0,d+=x>>>26,x&=67108863}a.words[g]=M,c=x,x=d}return c!==0?a.words[g]=c:a.length--,a._strip()}function G(A,f,a){return Bt(A,f,a)}o.prototype.mulTo=function(f,a){var c,d=this.length+f.length;return this.length===10&&f.length===10?c=J(this,f,a):d<63?c=U(this,f,a):d<1024?c=Bt(this,f,a):c=G(this,f,a),c},o.prototype.mul=function(f){var a=new o(null);return a.words=new Array(this.length+f.length),this.mulTo(f,a)},o.prototype.mulf=function(f){var a=new o(null);return a.words=new Array(this.length+f.length),G(this,f,a)},o.prototype.imul=function(f){return this.clone().mulTo(f,this)},o.prototype.imuln=function(f){var a=f<0;a&&(f=-f),i(typeof f==\"number\"),i(f<67108864);for(var c=0,d=0;d>=26,c+=g/67108864|0,c+=x>>>26,this.words[d]=x&67108863}return c!==0&&(this.words[d]=c,this.length++),a?this.ineg():this},o.prototype.muln=function(f){return this.clone().imuln(f)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(f){var a=F(f);if(a.length===0)return new o(1);for(var c=this,d=0;d=0);var a=f%26,c=(f-a)/26,d=67108863>>>26-a<<26-a,g;if(a!==0){var x=0;for(g=0;g>>26-a}x&&(this.words[g]=x,this.length++)}if(c!==0){for(g=this.length-1;g>=0;g--)this.words[g+c]=this.words[g];for(g=0;g=0);var d;a?d=(a-a%26)/26:d=0;var g=f%26,x=Math.min((f-g)/26,this.length),M=67108863^67108863>>>g<x)for(this.length-=x,s=0;s=0&&(v!==0||s>=d);s--){var k=this.words[s]|0;this.words[s]=v<<26-g|k>>>g,v=k&M}return l&&v!==0&&(l.words[l.length++]=v),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},o.prototype.ishrn=function(f,a,c){return i(this.negative===0),this.iushrn(f,a,c)},o.prototype.shln=function(f){return this.clone().ishln(f)},o.prototype.ushln=function(f){return this.clone().iushln(f)},o.prototype.shrn=function(f){return this.clone().ishrn(f)},o.prototype.ushrn=function(f){return this.clone().iushrn(f)},o.prototype.testn=function(f){i(typeof f==\"number\"&&f>=0);var a=f%26,c=(f-a)/26,d=1<=0);var a=f%26,c=(f-a)/26;if(i(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=c)return this;if(a!==0&&c++,this.length=Math.min(c,this.length),a!==0){var d=67108863^67108863>>>a<=67108864;a++)this.words[a]-=67108864,a===this.length-1?this.words[a+1]=1:this.words[a+1]++;return this.length=Math.max(this.length,a+1),this},o.prototype.isubn=function(f){if(i(typeof f==\"number\"),i(f<67108864),f<0)return this.iaddn(-f);if(this.negative!==0)return this.negative=0,this.iaddn(f),this.negative=1,this;if(this.words[0]-=f,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var a=0;a>26)-(l/67108864|0),this.words[g+c]=x&67108863}for(;g>26,this.words[g+c]=x&67108863;if(M===0)return this._strip();for(i(M===-1),M=0,g=0;g>26,this.words[g]=x&67108863;return this.negative=1,this._strip()},o.prototype._wordDiv=function(f,a){var c=this.length-f.length,d=this.clone(),g=f,x=g.words[g.length-1]|0,M=this._countBits(x);c=26-M,c!==0&&(g=g.ushln(c),d.iushln(c),x=g.words[g.length-1]|0);var l=d.length-g.length,s;if(a!==\"mod\"){s=new o(null),s.length=l+1,s.words=new Array(s.length);for(var v=0;v=0;u--){var E=(d.words[g.length+u]|0)*67108864+(d.words[g.length+u-1]|0);for(E=Math.min(E/x|0,67108863),d._ishlnsubmul(g,E,u);d.negative!==0;)E--,d.negative=0,d._ishlnsubmul(g,1,u),d.isZero()||(d.negative^=1);s&&(s.words[u]=E)}return s&&s._strip(),d._strip(),a!==\"div\"&&c!==0&&d.iushrn(c),{div:s||null,mod:d}},o.prototype.divmod=function(f,a,c){if(i(!f.isZero()),this.isZero())return{div:new o(0),mod:new o(0)};var d,g,x;return this.negative!==0&&f.negative===0?(x=this.neg().divmod(f,a),a!==\"mod\"&&(d=x.div.neg()),a!==\"div\"&&(g=x.mod.neg(),c&&g.negative!==0&&g.iadd(f)),{div:d,mod:g}):this.negative===0&&f.negative!==0?(x=this.divmod(f.neg(),a),a!==\"mod\"&&(d=x.div.neg()),{div:d,mod:x.mod}):this.negative&f.negative?(x=this.neg().divmod(f.neg(),a),a!==\"div\"&&(g=x.mod.neg(),c&&g.negative!==0&&g.isub(f)),{div:x.div,mod:g}):f.length>this.length||this.cmp(f)<0?{div:new o(0),mod:this}:f.length===1?a===\"div\"?{div:this.divn(f.words[0]),mod:null}:a===\"mod\"?{div:null,mod:new o(this.modrn(f.words[0]))}:{div:this.divn(f.words[0]),mod:new o(this.modrn(f.words[0]))}:this._wordDiv(f,a)},o.prototype.div=function(f){return this.divmod(f,\"div\",!1).div},o.prototype.mod=function(f){return this.divmod(f,\"mod\",!1).mod},o.prototype.umod=function(f){return this.divmod(f,\"mod\",!0).mod},o.prototype.divRound=function(f){var a=this.divmod(f);if(a.mod.isZero())return a.div;var c=a.div.negative!==0?a.mod.isub(f):a.mod,d=f.ushrn(1),g=f.andln(1),x=c.cmp(d);return x<0||g===1&&x===0?a.div:a.div.negative!==0?a.div.isubn(1):a.div.iaddn(1)},o.prototype.modrn=function(f){var a=f<0;a&&(f=-f),i(f<=67108863);for(var c=(1<<26)%f,d=0,g=this.length-1;g>=0;g--)d=(c*d+(this.words[g]|0))%f;return a?-d:d},o.prototype.modn=function(f){return this.modrn(f)},o.prototype.idivn=function(f){var a=f<0;a&&(f=-f),i(f<=67108863);for(var c=0,d=this.length-1;d>=0;d--){var g=(this.words[d]|0)+c*67108864;this.words[d]=g/f|0,c=g%f}return this._strip(),a?this.ineg():this},o.prototype.divn=function(f){return this.clone().idivn(f)},o.prototype.egcd=function(f){i(f.negative===0),i(!f.isZero());var a=this,c=f.clone();a.negative!==0?a=a.umod(f):a=a.clone();for(var d=new o(1),g=new o(0),x=new o(0),M=new o(1),l=0;a.isEven()&&c.isEven();)a.iushrn(1),c.iushrn(1),++l;for(var s=c.clone(),v=a.clone();!a.isZero();){for(var k=0,u=1;!(a.words[0]&u)&&k<26;++k,u<<=1);if(k>0)for(a.iushrn(k);k-- >0;)(d.isOdd()||g.isOdd())&&(d.iadd(s),g.isub(v)),d.iushrn(1),g.iushrn(1);for(var E=0,_=1;!(c.words[0]&_)&&E<26;++E,_<<=1);if(E>0)for(c.iushrn(E);E-- >0;)(x.isOdd()||M.isOdd())&&(x.iadd(s),M.isub(v)),x.iushrn(1),M.iushrn(1);a.cmp(c)>=0?(a.isub(c),d.isub(x),g.isub(M)):(c.isub(a),x.isub(d),M.isub(g))}return{a:x,b:M,gcd:c.iushln(l)}},o.prototype._invmp=function(f){i(f.negative===0),i(!f.isZero());var a=this,c=f.clone();a.negative!==0?a=a.umod(f):a=a.clone();for(var d=new o(1),g=new o(0),x=c.clone();a.cmpn(1)>0&&c.cmpn(1)>0;){for(var M=0,l=1;!(a.words[0]&l)&&M<26;++M,l<<=1);if(M>0)for(a.iushrn(M);M-- >0;)d.isOdd()&&d.iadd(x),d.iushrn(1);for(var s=0,v=1;!(c.words[0]&v)&&s<26;++s,v<<=1);if(s>0)for(c.iushrn(s);s-- >0;)g.isOdd()&&g.iadd(x),g.iushrn(1);a.cmp(c)>=0?(a.isub(c),d.isub(g)):(c.isub(a),g.isub(d))}var k;return a.cmpn(1)===0?k=d:k=g,k.cmpn(0)<0&&k.iadd(f),k},o.prototype.gcd=function(f){if(this.isZero())return f.abs();if(f.isZero())return this.abs();var a=this.clone(),c=f.clone();a.negative=0,c.negative=0;for(var d=0;a.isEven()&&c.isEven();d++)a.iushrn(1),c.iushrn(1);do{for(;a.isEven();)a.iushrn(1);for(;c.isEven();)c.iushrn(1);var g=a.cmp(c);if(g<0){var x=a;a=c,c=x}else if(g===0||c.cmpn(1)===0)break;a.isub(c)}while(!0);return c.iushln(d)},o.prototype.invm=function(f){return this.egcd(f).a.umod(f)},o.prototype.isEven=function(){return(this.words[0]&1)===0},o.prototype.isOdd=function(){return(this.words[0]&1)===1},o.prototype.andln=function(f){return this.words[0]&f},o.prototype.bincn=function(f){i(typeof f==\"number\");var a=f%26,c=(f-a)/26,d=1<>>26,M&=67108863,this.words[x]=M}return g!==0&&(this.words[x]=g,this.length++),this},o.prototype.isZero=function(){return this.length===1&&this.words[0]===0},o.prototype.cmpn=function(f){var a=f<0;if(this.negative!==0&&!a)return-1;if(this.negative===0&&a)return 1;this._strip();var c;if(this.length>1)c=1;else{a&&(f=-f),i(f<=67108863,\"Number is too big\");var d=this.words[0]|0;c=d===f?0:df.length)return 1;if(this.length=0;c--){var d=this.words[c]|0,g=f.words[c]|0;if(d!==g){dg&&(a=1);break}}return a},o.prototype.gtn=function(f){return this.cmpn(f)===1},o.prototype.gt=function(f){return this.cmp(f)===1},o.prototype.gten=function(f){return this.cmpn(f)>=0},o.prototype.gte=function(f){return this.cmp(f)>=0},o.prototype.ltn=function(f){return this.cmpn(f)===-1},o.prototype.lt=function(f){return this.cmp(f)===-1},o.prototype.lten=function(f){return this.cmpn(f)<=0},o.prototype.lte=function(f){return this.cmp(f)<=0},o.prototype.eqn=function(f){return this.cmpn(f)===0},o.prototype.eq=function(f){return this.cmp(f)===0},o.red=function(f){return new Y(f)},o.prototype.toRed=function(f){return i(!this.red,\"Already a number in reduction context\"),i(this.negative===0,\"red works only with positives\"),f.convertTo(this)._forceRed(f)},o.prototype.fromRed=function(){return i(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},o.prototype._forceRed=function(f){return this.red=f,this},o.prototype.forceRed=function(f){return i(!this.red,\"Already a number in reduction context\"),this._forceRed(f)},o.prototype.redAdd=function(f){return i(this.red,\"redAdd works only with red numbers\"),this.red.add(this,f)},o.prototype.redIAdd=function(f){return i(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,f)},o.prototype.redSub=function(f){return i(this.red,\"redSub works only with red numbers\"),this.red.sub(this,f)},o.prototype.redISub=function(f){return i(this.red,\"redISub works only with red numbers\"),this.red.isub(this,f)},o.prototype.redShl=function(f){return i(this.red,\"redShl works only with red numbers\"),this.red.shl(this,f)},o.prototype.redMul=function(f){return i(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,f),this.red.mul(this,f)},o.prototype.redIMul=function(f){return i(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,f),this.red.imul(this,f)},o.prototype.redSqr=function(){return i(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return i(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return i(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return i(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return i(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(f){return i(this.red&&!f.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,f)};var H={k256:null,p224:null,p192:null,p25519:null};function z(A,f){this.name=A,this.p=new o(f,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}z.prototype._tmp=function(){var f=new o(null);return f.words=new Array(Math.ceil(this.n/13)),f},z.prototype.ireduce=function(f){var a=f,c;do this.split(a,this.tmp),a=this.imulK(a),a=a.iadd(this.tmp),c=a.bitLength();while(c>this.n);var d=c0?a.isub(this.p):a.strip!==void 0?a.strip():a._strip(),a},z.prototype.split=function(f,a){f.iushrn(this.n,0,a)},z.prototype.imulK=function(f){return f.imul(this.k)};function Pt(){z.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}n(Pt,z),Pt.prototype.split=function(f,a){for(var c=4194303,d=Math.min(f.length,9),g=0;g>>22,x=M}x>>>=22,f.words[g-10]=x,x===0&&f.length>10?f.length-=10:f.length-=9},Pt.prototype.imulK=function(f){f.words[f.length]=0,f.words[f.length+1]=0,f.length+=2;for(var a=0,c=0;c>>=26,f.words[c]=g,a=d}return a!==0&&(f.words[f.length++]=a),f},o._prime=function(f){if(H[f])return H[f];var a;if(f===\"k256\")a=new Pt;else if(f===\"p224\")a=new W;else if(f===\"p192\")a=new Rt;else if(f===\"p25519\")a=new Yt;else throw new Error(\"Unknown prime \"+f);return H[f]=a,a};function Y(A){if(typeof A==\"string\"){var f=o._prime(A);this.m=f.p,this.prime=f}else i(A.gtn(1),\"modulus must be greater than 1\"),this.m=A,this.prime=null}Y.prototype._verify1=function(f){i(f.negative===0,\"red works only with positives\"),i(f.red,\"red works only with red numbers\")},Y.prototype._verify2=function(f,a){i((f.negative|a.negative)===0,\"red works only with positives\"),i(f.red&&f.red===a.red,\"red works only with red numbers\")},Y.prototype.imod=function(f){return this.prime?this.prime.ireduce(f)._forceRed(this):(w(f,f.umod(this.m)._forceRed(this)),f)},Y.prototype.neg=function(f){return f.isZero()?f.clone():this.m.sub(f)._forceRed(this)},Y.prototype.add=function(f,a){this._verify2(f,a);var c=f.add(a);return c.cmp(this.m)>=0&&c.isub(this.m),c._forceRed(this)},Y.prototype.iadd=function(f,a){this._verify2(f,a);var c=f.iadd(a);return c.cmp(this.m)>=0&&c.isub(this.m),c},Y.prototype.sub=function(f,a){this._verify2(f,a);var c=f.sub(a);return c.cmpn(0)<0&&c.iadd(this.m),c._forceRed(this)},Y.prototype.isub=function(f,a){this._verify2(f,a);var c=f.isub(a);return c.cmpn(0)<0&&c.iadd(this.m),c},Y.prototype.shl=function(f,a){return this._verify1(f),this.imod(f.ushln(a))},Y.prototype.imul=function(f,a){return this._verify2(f,a),this.imod(f.imul(a))},Y.prototype.mul=function(f,a){return this._verify2(f,a),this.imod(f.mul(a))},Y.prototype.isqr=function(f){return this.imul(f,f.clone())},Y.prototype.sqr=function(f){return this.mul(f,f)},Y.prototype.sqrt=function(f){if(f.isZero())return f.clone();var a=this.m.andln(3);if(i(a%2===1),a===3){var c=this.m.add(new o(1)).iushrn(2);return this.pow(f,c)}for(var d=this.m.subn(1),g=0;!d.isZero()&&d.andln(1)===0;)g++,d.iushrn(1);i(!d.isZero());var x=new o(1).toRed(this),M=x.redNeg(),l=this.m.subn(1).iushrn(1),s=this.m.bitLength();for(s=new o(2*s*s).toRed(this);this.pow(s,l).cmp(M)!==0;)s.redIAdd(M);for(var v=this.pow(s,d),k=this.pow(f,d.addn(1).iushrn(1)),u=this.pow(f,d),E=g;u.cmp(x)!==0;){for(var _=u,B=0;_.cmp(x)!==0;B++)_=_.redSqr();i(B=0;g--){for(var v=a.words[g],k=s-1;k>=0;k--){var u=v>>k&1;if(x!==d[0]&&(x=this.sqr(x)),u===0&&M===0){l=0;continue}M<<=1,M|=u,l++,!(l!==c&&(g!==0||k!==0))&&(x=this.mul(x,d[M]),l=0,M=0)}s=26}return x},Y.prototype.convertTo=function(f){var a=f.umod(this.m);return a===f?a.clone():a},Y.prototype.convertFrom=function(f){var a=f.clone();return a.red=null,a},o.mont=function(f){return new Vt(f)};function Vt(A){Y.call(this,A),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new o(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)}n(Vt,Y),Vt.prototype.convertTo=function(f){return this.imod(f.ushln(this.shift))},Vt.prototype.convertFrom=function(f){var a=this.imod(f.mul(this.rinv));return a.red=null,a},Vt.prototype.imul=function(f,a){if(f.isZero()||a.isZero())return f.words[0]=0,f.length=1,f;var c=f.imul(a),d=c.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),g=c.isub(d).iushrn(this.shift),x=g;return g.cmp(this.m)>=0?x=g.isub(this.m):g.cmpn(0)<0&&(x=g.iadd(this.m)),x._forceRed(this)},Vt.prototype.mul=function(f,a){if(f.isZero()||a.isZero())return new o(0)._forceRed(this);var c=f.mul(a),d=c.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),g=c.isub(d).iushrn(this.shift),x=g;return g.cmp(this.m)>=0?x=g.isub(this.m):g.cmpn(0)<0&&(x=g.iadd(this.m)),x._forceRed(this)},Vt.prototype.invm=function(f){var a=this.imod(f._invmp(this.m).mul(this.r2));return a._forceRed(this)}})(e,On)})(Ln);var K=Ln.exports;const jn=\"bignumber/5.7.0\";var Rr=K.BN;const Ae=new L(jn),wi={},Qn=9007199254740991;function C0(e){return e!=null&&(V.isBigNumber(e)||typeof e==\"number\"&&e%1===0||typeof e==\"string\"&&!!e.match(/^-?[0-9]+$/)||Qt(e)||typeof e==\"bigint\"||ir(e))}let Jn=!1;class V{constructor(t,r){t!==wi&&Ae.throwError(\"cannot call constructor directly; use BigNumber.from\",L.errors.UNSUPPORTED_OPERATION,{operation:\"new (BigNumber)\"}),this._hex=r,this._isBigNumber=!0,Object.freeze(this)}fromTwos(t){return Lt(j(this).fromTwos(t))}toTwos(t){return Lt(j(this).toTwos(t))}abs(){return this._hex[0]===\"-\"?V.from(this._hex.substring(1)):this}add(t){return Lt(j(this).add(j(t)))}sub(t){return Lt(j(this).sub(j(t)))}div(t){return V.from(t).isZero()&&Wt(\"division-by-zero\",\"div\"),Lt(j(this).div(j(t)))}mul(t){return Lt(j(this).mul(j(t)))}mod(t){const r=j(t);return r.isNeg()&&Wt(\"division-by-zero\",\"mod\"),Lt(j(this).umod(r))}pow(t){const r=j(t);return r.isNeg()&&Wt(\"negative-power\",\"pow\"),Lt(j(this).pow(r))}and(t){const r=j(t);return(this.isNegative()||r.isNeg())&&Wt(\"unbound-bitwise-result\",\"and\"),Lt(j(this).and(r))}or(t){const r=j(t);return(this.isNegative()||r.isNeg())&&Wt(\"unbound-bitwise-result\",\"or\"),Lt(j(this).or(r))}xor(t){const r=j(t);return(this.isNegative()||r.isNeg())&&Wt(\"unbound-bitwise-result\",\"xor\"),Lt(j(this).xor(r))}mask(t){return(this.isNegative()||t<0)&&Wt(\"negative-width\",\"mask\"),Lt(j(this).maskn(t))}shl(t){return(this.isNegative()||t<0)&&Wt(\"negative-width\",\"shl\"),Lt(j(this).shln(t))}shr(t){return(this.isNegative()||t<0)&&Wt(\"negative-width\",\"shr\"),Lt(j(this).shrn(t))}eq(t){return j(this).eq(j(t))}lt(t){return j(this).lt(j(t))}lte(t){return j(this).lte(j(t))}gt(t){return j(this).gt(j(t))}gte(t){return j(this).gte(j(t))}isNegative(){return this._hex[0]===\"-\"}isZero(){return j(this).isZero()}toNumber(){try{return j(this).toNumber()}catch{Wt(\"overflow\",\"toNumber\",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch{}return Ae.throwError(\"this platform does not support BigInt\",L.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(arguments[0]===10?Jn||(Jn=!0,Ae.warn(\"BigNumber.toString does not accept any parameters; base-10 is assumed\")):arguments[0]===16?Ae.throwError(\"BigNumber.toString does not accept any parameters; use bigNumber.toHexString()\",L.errors.UNEXPECTED_ARGUMENT,{}):Ae.throwError(\"BigNumber.toString does not accept parameters\",L.errors.UNEXPECTED_ARGUMENT,{})),j(this).toString(10)}toHexString(){return this._hex}toJSON(t){return{type:\"BigNumber\",hex:this.toHexString()}}static from(t){if(t instanceof V)return t;if(typeof t==\"string\")return t.match(/^-?0x[0-9a-f]+$/i)?new V(wi,vr(t)):t.match(/^-?[0-9]+$/)?new V(wi,vr(new Rr(t))):Ae.throwArgumentError(\"invalid BigNumber string\",\"value\",t);if(typeof t==\"number\")return t%1&&Wt(\"underflow\",\"BigNumber.from\",t),(t>=Qn||t<=-Qn)&&Wt(\"overflow\",\"BigNumber.from\",t),V.from(String(t));const r=t;if(typeof r==\"bigint\")return V.from(r.toString());if(ir(r))return V.from(Kt(r));if(r)if(r.toHexString){const i=r.toHexString();if(typeof i==\"string\")return V.from(i)}else{let i=r._hex;if(i==null&&r.type===\"BigNumber\"&&(i=r.hex),typeof i==\"string\"&&(Qt(i)||i[0]===\"-\"&&Qt(i.substring(1))))return V.from(i)}return Ae.throwArgumentError(\"invalid BigNumber value\",\"value\",t)}static isBigNumber(t){return!!(t&&t._isBigNumber)}}function vr(e){if(typeof e!=\"string\")return vr(e.toString(16));if(e[0]===\"-\")return e=e.substring(1),e[0]===\"-\"&&Ae.throwArgumentError(\"invalid hex\",\"value\",e),e=vr(e),e===\"0x00\"?e:\"-\"+e;if(e.substring(0,2)!==\"0x\"&&(e=\"0x\"+e),e===\"0x\")return\"0x00\";for(e.length%2&&(e=\"0x0\"+e.substring(2));e.length>4&&e.substring(0,4)===\"0x00\";)e=\"0x\"+e.substring(4);return e}function Lt(e){return V.from(vr(e))}function j(e){const t=V.from(e).toHexString();return t[0]===\"-\"?new Rr(\"-\"+t.substring(3),16):new Rr(t.substring(2),16)}function Wt(e,t,r){const i={fault:e,operation:t};return r!=null&&(i.value=r),Ae.throwError(e,L.errors.NUMERIC_FAULT,i)}function R0(e){return new Rr(e,36).toString(16)}const Ht=new L(jn),mr={},Gn=V.from(0),Yn=V.from(-1);function Vn(e,t,r,i){const n={fault:t,operation:r};return i!==void 0&&(n.value=i),Ht.throwError(e,L.errors.NUMERIC_FAULT,n)}let gr=\"0\";for(;gr.length<256;)gr+=gr;function xi(e){if(typeof e!=\"number\")try{e=V.from(e).toNumber()}catch{}return typeof e==\"number\"&&e>=0&&e<=256&&!(e%1)?\"1\"+gr.substring(0,e):Ht.throwArgumentError(\"invalid decimal size\",\"decimals\",e)}function Mi(e,t){t==null&&(t=0);const r=xi(t);e=V.from(e);const i=e.lt(Gn);i&&(e=e.mul(Yn));let n=e.mod(r).toString();for(;n.length2&&Ht.throwArgumentError(\"too many decimal points\",\"value\",e);let o=n[0],h=n[1];for(o||(o=\"0\"),h||(h=\"0\");h[h.length-1]===\"0\";)h=h.substring(0,h.length-1);for(h.length>r.length-1&&Vn(\"fractional component exceeds decimals\",\"underflow\",\"parseFixed\"),h===\"\"&&(h=\"0\");h.lengtht[h]==null?b:(typeof t[h]!==p&&Ht.throwArgumentError(\"invalid fixed format (\"+h+\" not \"+p+\")\",\"format.\"+h,t[h]),t[h]);r=o(\"signed\",\"boolean\",r),i=o(\"width\",\"number\",i),n=o(\"decimals\",\"number\",n)}return i%8&&Ht.throwArgumentError(\"invalid fixed format width (not byte aligned)\",\"format.width\",i),n>80&&Ht.throwArgumentError(\"invalid fixed format (decimals too large)\",\"format.decimals\",n),new dr(mr,r,i,n)}}class Ut{constructor(t,r,i,n){t!==mr&&Ht.throwError(\"cannot use FixedNumber constructor; use FixedNumber.from\",L.errors.UNSUPPORTED_OPERATION,{operation:\"new FixedFormat\"}),this.format=n,this._hex=r,this._value=i,this._isFixedNumber=!0,Object.freeze(this)}_checkFormat(t){this.format.name!==t.format.name&&Ht.throwArgumentError(\"incompatible format; use fixedNumber.toFormat\",\"other\",t)}addUnsafe(t){this._checkFormat(t);const r=be(this._value,this.format.decimals),i=be(t._value,t.format.decimals);return Ut.fromValue(r.add(i),this.format.decimals,this.format)}subUnsafe(t){this._checkFormat(t);const r=be(this._value,this.format.decimals),i=be(t._value,t.format.decimals);return Ut.fromValue(r.sub(i),this.format.decimals,this.format)}mulUnsafe(t){this._checkFormat(t);const r=be(this._value,this.format.decimals),i=be(t._value,t.format.decimals);return Ut.fromValue(r.mul(i).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(t){this._checkFormat(t);const r=be(this._value,this.format.decimals),i=be(t._value,t.format.decimals);return Ut.fromValue(r.mul(this.format._multiplier).div(i),this.format.decimals,this.format)}floor(){const t=this.toString().split(\".\");t.length===1&&t.push(\"0\");let r=Ut.from(t[0],this.format);const i=!t[1].match(/^(0*)$/);return this.isNegative()&&i&&(r=r.subUnsafe(Wn.toFormat(r.format))),r}ceiling(){const t=this.toString().split(\".\");t.length===1&&t.push(\"0\");let r=Ut.from(t[0],this.format);const i=!t[1].match(/^(0*)$/);return!this.isNegative()&&i&&(r=r.addUnsafe(Wn.toFormat(r.format))),r}round(t){t==null&&(t=0);const r=this.toString().split(\".\");if(r.length===1&&r.push(\"0\"),(t<0||t>80||t%1)&&Ht.throwArgumentError(\"invalid decimal count\",\"decimals\",t),r[1].length<=t)return this;const i=Ut.from(\"1\"+gr.substring(0,t),this.format),n=O0.toFormat(this.format);return this.mulUnsafe(i).addUnsafe(n).floor().divUnsafe(i)}isZero(){return this._value===\"0.0\"||this._value===\"0\"}isNegative(){return this._value[0]===\"-\"}toString(){return this._value}toHexString(t){if(t==null)return this._hex;t%8&&Ht.throwArgumentError(\"invalid byte width\",\"width\",t);const r=V.from(this._hex).fromTwos(this.format.width).toTwos(t).toHexString();return oe(r,t/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(t){return Ut.fromString(this._value,t)}static fromValue(t,r,i){return i==null&&r!=null&&!C0(r)&&(i=r,r=null),r==null&&(r=0),i==null&&(i=\"fixed\"),Ut.fromString(Mi(t,r),dr.from(i))}static fromString(t,r){r==null&&(r=\"fixed\");const i=dr.from(r),n=be(t,i.decimals);!i.signed&&n.lt(Gn)&&Vn(\"unsigned value cannot be negative\",\"overflow\",\"value\",t);let o=null;i.signed?o=n.toTwos(i.width).toHexString():(o=n.toHexString(),o=oe(o,i.width/8));const h=Mi(n,i.decimals);return new Ut(mr,o,h,i)}static fromBytes(t,r){r==null&&(r=\"fixed\");const i=dr.from(r);if(Ot(t).length>i.width/8)throw new Error(\"overflow\");let n=V.from(t);i.signed&&(n=n.fromTwos(i.width));const o=n.toTwos((i.signed?0:1)+i.width).toHexString(),h=Mi(n,i.decimals);return new Ut(mr,o,h,i)}static from(t,r){if(typeof t==\"string\")return Ut.fromString(t,r);if(ir(t))return Ut.fromBytes(t,r);try{return Ut.fromValue(t,0,r)}catch(i){if(i.code!==L.errors.INVALID_ARGUMENT)throw i}return Ht.throwArgumentError(\"invalid FixedNumber value\",\"value\",t)}static isFixedNumber(t){return!!(t&&t._isFixedNumber)}}const Wn=Ut.from(1),O0=Ut.from(\"0.5\"),P0=\"strings/5.7.0\",Xn=new L(P0);var Or;(function(e){e.current=\"\",e.NFC=\"NFC\",e.NFD=\"NFD\",e.NFKC=\"NFKC\",e.NFKD=\"NFKD\"})(Or||(Or={}));var nr;(function(e){e.UNEXPECTED_CONTINUE=\"unexpected continuation byte\",e.BAD_PREFIX=\"bad codepoint prefix\",e.OVERRUN=\"string overrun\",e.MISSING_CONTINUE=\"missing continuation byte\",e.OUT_OF_RANGE=\"out of UTF-8 range\",e.UTF16_SURROGATE=\"UTF-16 surrogate\",e.OVERLONG=\"overlong representation\"})(nr||(nr={}));function D0(e,t,r,i,n){return Xn.throwArgumentError(`invalid codepoint at offset ${t}; ${e}`,\"bytes\",r)}function Zn(e,t,r,i,n){if(e===nr.BAD_PREFIX||e===nr.UNEXPECTED_CONTINUE){let o=0;for(let h=t+1;h>6===2;h++)o++;return o}return e===nr.OVERRUN?r.length-t-1:0}function F0(e,t,r,i,n){return e===nr.OVERLONG?(i.push(n),0):(i.push(65533),Zn(e,t,r))}Object.freeze({error:D0,ignore:Zn,replace:F0});function Ei(e,t=Or.current){t!=Or.current&&(Xn.checkNormalize(),e=e.normalize(t));let r=[];for(let i=0;i>6|192),r.push(n&63|128);else if((n&64512)==55296){i++;const o=e.charCodeAt(i);if(i>=e.length||(o&64512)!==56320)throw new Error(\"invalid utf-8 string\");const h=65536+((n&1023)<<10)+(o&1023);r.push(h>>18|240),r.push(h>>12&63|128),r.push(h>>6&63|128),r.push(h&63|128)}else r.push(n>>12|224),r.push(n>>6&63|128),r.push(n&63|128)}return Ot(r)}function T0(e){if(e.length%4!==0)throw new Error(\"bad data\");let t=[];for(let r=0;r{let o=n.split(\":\");r+=parseInt(o[0],16),i[r]=t(o[1])}),i}function $n(e){let t=0;return e.split(\",\").map(r=>{let i=r.split(\"-\");i.length===1?i[1]=\"0\":i[1]===\"\"&&(i[1]=\"1\");let n=t+parseInt(i[0],16);return t=parseInt(i[1],16),{l:n,h:t}})}$n(\"221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d\"),\"ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff\".split(\",\").map(e=>parseInt(e,16)),Si(\"b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3\"),Si(\"179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7\"),Si(\"df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D\",T0),$n(\"80-20,2a0-,39c,32,f71,18e,7f2-f,19-7,30-4,7-5,f81-b,5,a800-20ff,4d1-1f,110,fa-6,d174-7,2e84-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,2,1f-5f,ff7f-20001\");const tf=\"hash/5.7.0\";function U0(e){e=atob(e);const t=[];for(let r=0;r0&&Array.isArray(p)?n(p,h-1):r.push(p)})};return n(e,t),r}function k0(e){const t={};for(let r=0;r>--b&1}const y=31,S=Math.pow(2,y),I=S>>>1,N=I>>1,C=S-1;let F=0;for(let H=0;H1;){let Yt=z+Pt>>>1;H>>1|w(),W=W<<1^I,Rt=(Rt^I)<<1|I|1;J=W,Bt=1+Rt-W}let G=i-4;return U.map(H=>{switch(H-G){case 3:return G+65792+(e[p++]<<16|e[p++]<<8|e[p++]);case 2:return G+256+(e[p++]<<8|e[p++]);case 1:return G+e[p++];default:return H-1}})}function K0(e){let t=0;return()=>e[t++]}function H0(e){return K0(q0(e))}function z0(e){return e&1?~e>>1:e>>1}function L0(e,t){let r=Array(e);for(let i=0;it[h]):r}function Q0(e){let t=[];for(;;){let r=e();if(r==0)break;t.push(G0(r,e))}for(;;){let r=e()-1;if(r<0)break;t.push(Y0(r,e))}return k0(ef(t))}function J0(e){let t=[];for(;;){let r=e();if(r==0)break;t.push(r)}return t}function nf(e,t,r){let i=Array(e).fill(void 0).map(()=>[]);for(let n=0;ni[h].push(o));return i}function G0(e,t){let r=1+t(),i=t(),n=J0(t),o=nf(n.length,1+e,t);return ef(o.map((h,p)=>{const b=h[0],m=h.slice(1);return Array(n[p]).fill(void 0).map((w,y)=>{let S=y*i;return[b+y*r,m.map(I=>I+S)]})}))}function Y0(e,t){let r=1+t();return nf(r,1+e,t).map(n=>[n[0],n.slice(1)])}function V0(e){let t=Pr(e).sort((i,n)=>i-n);return r();function r(){let i=[];for(;;){let m=Pr(e,t);if(m.length==0)break;i.push({set:new Set(m),node:r()})}i.sort((m,w)=>w.set.size-m.set.size);let n=e(),o=n%3;n=n/3|0;let h=!!(n&1);n>>=1;let p=n==1,b=n==2;return{branches:i,valid:o,fe0f:h,save:p,check:b}}}function W0(){return H0(U0(\"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\"))}const Dr=W0();new Set(Pr(Dr)),new Set(Pr(Dr)),Q0(Dr),V0(Dr),new L(tf);const X0=new Uint8Array(32);X0.fill(0);const Z0=`\u0019Ethereum Signed Message:\n`;function ff(e){return typeof e==\"string\"&&(e=Ei(e)),yi(E0([Ei(Z0),Ei(String(e.length)),e]))}const $0=\"rlp/5.7.0\";new L($0);const ts=\"address/5.7.0\",Ar=new L(ts);function of(e){Qt(e,20)||Ar.throwArgumentError(\"invalid address\",\"address\",e),e=e.toLowerCase();const t=e.substring(2).split(\"\"),r=new Uint8Array(40);for(let n=0;n<40;n++)r[n]=t[n].charCodeAt(0);const i=Ot(yi(r));for(let n=0;n<40;n+=2)i[n>>1]>>4>=8&&(t[n]=t[n].toUpperCase()),(i[n>>1]&15)>=8&&(t[n+1]=t[n+1].toUpperCase());return\"0x\"+t.join(\"\")}const es=9007199254740991;function rs(e){return Math.log10?Math.log10(e):Math.log(e)/Math.LN10}const Ni={};for(let e=0;e<10;e++)Ni[String(e)]=String(e);for(let e=0;e<26;e++)Ni[String.fromCharCode(65+e)]=String(10+e);const sf=Math.floor(rs(es));function is(e){e=e.toUpperCase(),e=e.substring(4)+e.substring(0,2)+\"00\";let t=e.split(\"\").map(i=>Ni[i]).join(\"\");for(;t.length>=sf;){let i=t.substring(0,sf);t=parseInt(i,10)%97+t.substring(i.length)}let r=String(98-parseInt(t,10)%97);for(;r.length<2;)r=\"0\"+r;return r}function ns(e){let t=null;if(typeof e!=\"string\"&&Ar.throwArgumentError(\"invalid address\",\"address\",e),e.match(/^(0x)?[0-9a-fA-F]{40}$/))e.substring(0,2)!==\"0x\"&&(e=\"0x\"+e),t=of(e),e.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&t!==e&&Ar.throwArgumentError(\"bad address checksum\",\"address\",e);else if(e.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(e.substring(2,4)!==is(e)&&Ar.throwArgumentError(\"bad icap checksum\",\"address\",e),t=R0(e.substring(4));t.length<40;)t=\"0\"+t;t=of(\"0x\"+t)}else Ar.throwArgumentError(\"invalid address\",\"address\",e);return t}const fs=\"properties/5.7.0\";new L(fs);function br(e,t,r){Object.defineProperty(e,t,{enumerable:!0,value:r,writable:!1})}new L(tf);const os=new Uint8Array(32);os.fill(0),V.from(-1);const ss=V.from(0),as=V.from(1);V.from(\"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\"),oe(as.toHexString(),32),oe(ss.toHexString(),32);var se={},Q={},yr=af;function af(e,t){if(!e)throw new Error(t||\"Assertion failed\")}af.equal=function(t,r,i){if(t!=r)throw new Error(i||\"Assertion failed: \"+t+\" != \"+r)};var Ii={exports:{}};typeof Object.create==\"function\"?Ii.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:Ii.exports=function(t,r){if(r){t.super_=r;var i=function(){};i.prototype=r.prototype,t.prototype=new i,t.prototype.constructor=t}};var us=yr,hs=Ii.exports;Q.inherits=hs;function cs(e,t){return(e.charCodeAt(t)&64512)!==55296||t<0||t+1>=e.length?!1:(e.charCodeAt(t+1)&64512)===56320}function ls(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if(typeof e==\"string\")if(t){if(t===\"hex\")for(e=e.replace(/[^a-z0-9]+/ig,\"\"),e.length%2!==0&&(e=\"0\"+e),n=0;n>6|192,r[i++]=o&63|128):cs(e,n)?(o=65536+((o&1023)<<10)+(e.charCodeAt(++n)&1023),r[i++]=o>>18|240,r[i++]=o>>12&63|128,r[i++]=o>>6&63|128,r[i++]=o&63|128):(r[i++]=o>>12|224,r[i++]=o>>6&63|128,r[i++]=o&63|128)}else for(n=0;n>>24|e>>>8&65280|e<<8&16711680|(e&255)<<24;return t>>>0}Q.htonl=uf;function ps(e,t){for(var r=\"\",i=0;i>>0}return o}Q.join32=vs;function ms(e,t){for(var r=new Array(e.length*4),i=0,n=0;i>>24,r[n+1]=o>>>16&255,r[n+2]=o>>>8&255,r[n+3]=o&255):(r[n+3]=o>>>24,r[n+2]=o>>>16&255,r[n+1]=o>>>8&255,r[n]=o&255)}return r}Q.split32=ms;function gs(e,t){return e>>>t|e<<32-t}Q.rotr32=gs;function As(e,t){return e<>>32-t}Q.rotl32=As;function bs(e,t){return e+t>>>0}Q.sum32=bs;function ys(e,t,r){return e+t+r>>>0}Q.sum32_3=ys;function ws(e,t,r,i){return e+t+r+i>>>0}Q.sum32_4=ws;function xs(e,t,r,i,n){return e+t+r+i+n>>>0}Q.sum32_5=xs;function Ms(e,t,r,i){var n=e[t],o=e[t+1],h=i+o>>>0,p=(h>>0,e[t+1]=h}Q.sum64=Ms;function Es(e,t,r,i){var n=t+i>>>0,o=(n>>0}Q.sum64_hi=Es;function Ss(e,t,r,i){var n=t+i;return n>>>0}Q.sum64_lo=Ss;function Ns(e,t,r,i,n,o,h,p){var b=0,m=t;m=m+i>>>0,b+=m>>0,b+=m>>0,b+=m>>0}Q.sum64_4_hi=Ns;function Is(e,t,r,i,n,o,h,p){var b=t+i+o+p;return b>>>0}Q.sum64_4_lo=Is;function _s(e,t,r,i,n,o,h,p,b,m){var w=0,y=t;y=y+i>>>0,w+=y>>0,w+=y>>0,w+=y>>0,w+=y>>0}Q.sum64_5_hi=_s;function Bs(e,t,r,i,n,o,h,p,b,m){var w=t+i+o+p+m;return w>>>0}Q.sum64_5_lo=Bs;function Cs(e,t,r){var i=t<<32-r|e>>>r;return i>>>0}Q.rotr64_hi=Cs;function Rs(e,t,r){var i=e<<32-r|t>>>r;return i>>>0}Q.rotr64_lo=Rs;function Os(e,t,r){return e>>>r}Q.shr64_hi=Os;function Ps(e,t,r){var i=e<<32-r|t>>>r;return i>>>0}Q.shr64_lo=Ps;var fr={},lf=Q,Ds=yr;function Fr(){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}fr.BlockHash=Fr,Fr.prototype.update=function(t,r){if(t=lf.toArray(t,r),this.pending?this.pending=this.pending.concat(t):this.pending=t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){t=this.pending;var i=t.length%this._delta8;this.pending=t.slice(t.length-i,t.length),this.pending.length===0&&(this.pending=null),t=lf.join32(t,0,t.length-i,this.endian);for(var n=0;n>>24&255,n[o++]=t>>>16&255,n[o++]=t>>>8&255,n[o++]=t&255}else for(n[o++]=t&255,n[o++]=t>>>8&255,n[o++]=t>>>16&255,n[o++]=t>>>24&255,n[o++]=0,n[o++]=0,n[o++]=0,n[o++]=0,h=8;h>>3}ae.g0_256=qs;function Ks(e){return ue(e,17)^ue(e,19)^e>>>10}ae.g1_256=Ks;var sr=Q,Hs=fr,zs=ae,_i=sr.rotl32,wr=sr.sum32,Ls=sr.sum32_5,js=zs.ft_1,mf=Hs.BlockHash,Qs=[1518500249,1859775393,2400959708,3395469782];function he(){if(!(this instanceof he))return new he;mf.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}sr.inherits(he,mf);var Js=he;he.blockSize=512,he.outSize=160,he.hmacStrength=80,he.padLength=64,he.prototype._update=function(t,r){for(var i=this.W,n=0;n<16;n++)i[n]=t[r+n];for(;nthis.blockSize&&(t=new this.Hash().update(t).digest()),Pa(t.length<=this.blockSize);for(var r=t.length;r>8,S=w&255;y?b.push(y,S):b.push(S)}return b}r.toArray=i;function n(h){return h.length===1?\"0\"+h:h}r.zero2=n;function o(h){for(var p=\"\",b=0;b(S>>1)-1?C=(S>>1)-F:C=F,I.isubn(C)):C=0,y[N]=C,I.iushrn(1)}return y}r.getNAF=i;function n(b,m){var w=[[],[]];b=b.clone(),m=m.clone();for(var y=0,S=0,I;b.cmpn(-y)>0||m.cmpn(-S)>0;){var N=b.andln(3)+y&3,C=m.andln(3)+S&3;N===3&&(N=-1),C===3&&(C=-1);var F;N&1?(I=b.andln(7)+y&7,(I===3||I===5)&&C===2?F=-N:F=N):F=0,w[0].push(F);var U;C&1?(I=m.andln(7)+S&7,(I===3||I===5)&&N===2?U=-C:U=C):U=0,w[1].push(U),2*y===F+1&&(y=1-y),2*S===U+1&&(S=1-S),b.iushrn(1),m.iushrn(1)}return w}r.getJSF=n;function o(b,m,w){var y=\"_\"+m;b.prototype[m]=function(){return this[y]!==void 0?this[y]:this[y]=w.call(this)}}r.cachedProperty=o;function h(b){return typeof b==\"string\"?r.toArray(b,\"hex\"):b}r.parseBytes=h;function p(b){return new K(b,\"hex\",\"le\")}r.intFromLE=p}),Ur=Jt.getNAF,Ta=Jt.getJSF,kr=Jt.assert;function Ce(e,t){this.type=e,this.p=new K(t.p,16),this.red=t.prime?K.red(t.prime):K.mont(this.p),this.zero=new K(0).toRed(this.red),this.one=new K(1).toRed(this.red),this.two=new K(2).toRed(this.red),this.n=t.n&&new K(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var Ze=Ce;Ce.prototype.point=function(){throw new Error(\"Not implemented\")},Ce.prototype.validate=function(){throw new Error(\"Not implemented\")},Ce.prototype._fixedNafMul=function(t,r){kr(t.precomputed);var i=t._getDoubles(),n=Ur(r,1,this._bitLength),o=(1<=p;m--)b=(b<<1)+n[m];h.push(b)}for(var w=this.jpoint(null,null,null),y=this.jpoint(null,null,null),S=o;S>0;S--){for(p=0;p=0;b--){for(var m=0;b>=0&&h[b]===0;b--)m++;if(b>=0&&m++,p=p.dblp(m),b<0)break;var w=h[b];kr(w!==0),t.type===\"affine\"?w>0?p=p.mixedAdd(o[w-1>>1]):p=p.mixedAdd(o[-w-1>>1].neg()):w>0?p=p.add(o[w-1>>1]):p=p.add(o[-w-1>>1].neg())}return t.type===\"affine\"?p.toP():p},Ce.prototype._wnafMulAdd=function(t,r,i,n,o){var h=this._wnafT1,p=this._wnafT2,b=this._wnafT3,m=0,w,y,S;for(w=0;w=1;w-=2){var N=w-1,C=w;if(h[N]!==1||h[C]!==1){b[N]=Ur(i[N],h[N],this._bitLength),b[C]=Ur(i[C],h[C],this._bitLength),m=Math.max(b[N].length,m),m=Math.max(b[C].length,m);continue}var F=[r[N],null,null,r[C]];r[N].y.cmp(r[C].y)===0?(F[1]=r[N].add(r[C]),F[2]=r[N].toJ().mixedAdd(r[C].neg())):r[N].y.cmp(r[C].y.redNeg())===0?(F[1]=r[N].toJ().mixedAdd(r[C]),F[2]=r[N].add(r[C].neg())):(F[1]=r[N].toJ().mixedAdd(r[C]),F[2]=r[N].toJ().mixedAdd(r[C].neg()));var U=[-3,-1,-5,-7,0,7,5,1,3],J=Ta(i[N],i[C]);for(m=Math.max(J[0].length,m),b[N]=new Array(m),b[C]=new Array(m),y=0;y=0;w--){for(var Pt=0;w>=0;){var W=!0;for(y=0;y=0&&Pt++,H=H.dblp(Pt),w<0)break;for(y=0;y0?S=p[y][Rt-1>>1]:Rt<0&&(S=p[y][-Rt-1>>1].neg()),S.type===\"affine\"?H=H.mixedAdd(S):H=H.add(S))}}for(w=0;w=Math.ceil((t.bitLength()+1)/r.step):!1},Xt.prototype._getDoubles=function(t,r){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var i=[this],n=this,o=0;o=0&&(I=m,N=w),y.negative&&(y=y.neg(),S=S.neg()),I.negative&&(I=I.neg(),N=N.neg()),[{a:y,b:S},{a:I,b:N}]},Zt.prototype._endoSplit=function(t){var r=this.endo.basis,i=r[0],n=r[1],o=n.b.mul(t).divRound(this.n),h=i.b.neg().mul(t).divRound(this.n),p=o.mul(i.a),b=h.mul(n.a),m=o.mul(i.b),w=h.mul(n.b),y=t.sub(p).sub(b),S=m.add(w).neg();return{k1:y,k2:S}},Zt.prototype.pointFromX=function(t,r){t=new K(t,16),t.red||(t=t.toRed(this.red));var i=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),n=i.redSqrt();if(n.redSqr().redSub(i).cmp(this.zero)!==0)throw new Error(\"invalid point\");var o=n.fromRed().isOdd();return(r&&!o||!r&&o)&&(n=n.redNeg()),this.point(t,n)},Zt.prototype.validate=function(t){if(t.inf)return!0;var r=t.x,i=t.y,n=this.a.redMul(r),o=r.redSqr().redMul(r).redIAdd(n).redIAdd(this.b);return i.redSqr().redISub(o).cmpn(0)===0},Zt.prototype._endoWnafMulAdd=function(t,r,i){for(var n=this._endoWnafT1,o=this._endoWnafT2,h=0;h\":\"\"},Ft.prototype.isInfinity=function(){return this.inf},Ft.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(this.x.cmp(t.x)===0)return this.curve.point(null,null);var r=this.y.redSub(t.y);r.cmpn(0)!==0&&(r=r.redMul(this.x.redSub(t.x).redInvm()));var i=r.redSqr().redISub(this.x).redISub(t.x),n=r.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,n)},Ft.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(t.cmpn(0)===0)return this.curve.point(null,null);var r=this.curve.a,i=this.x.redSqr(),n=t.redInvm(),o=i.redAdd(i).redIAdd(i).redIAdd(r).redMul(n),h=o.redSqr().redISub(this.x.redAdd(this.x)),p=o.redMul(this.x.redSub(h)).redISub(this.y);return this.curve.point(h,p)},Ft.prototype.getX=function(){return this.x.fromRed()},Ft.prototype.getY=function(){return this.y.fromRed()},Ft.prototype.mul=function(t){return t=new K(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},Ft.prototype.mulAdd=function(t,r,i){var n=[this,r],o=[t,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,o):this.curve._wnafMulAdd(1,n,o,2)},Ft.prototype.jmulAdd=function(t,r,i){var n=[this,r],o=[t,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,o,!0):this.curve._wnafMulAdd(1,n,o,2,!0)},Ft.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||this.x.cmp(t.x)===0&&this.y.cmp(t.y)===0)},Ft.prototype.neg=function(t){if(this.inf)return this;var r=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var i=this.precomputed,n=function(o){return o.neg()};r.precomputed={naf:i.naf&&{wnd:i.naf.wnd,points:i.naf.points.map(n)},doubles:i.doubles&&{step:i.doubles.step,points:i.doubles.points.map(n)}}}return r},Ft.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var t=this.curve.jpoint(this.x,this.y,this.curve.one);return t};function Tt(e,t,r,i){Ze.BasePoint.call(this,e,\"jacobian\"),t===null&&r===null&&i===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new K(0)):(this.x=new K(t,16),this.y=new K(r,16),this.z=new K(i,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}Di(Tt,Ze.BasePoint),Zt.prototype.jpoint=function(t,r,i){return new Tt(this,t,r,i)},Tt.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),r=t.redSqr(),i=this.x.redMul(r),n=this.y.redMul(r).redMul(t);return this.curve.point(i,n)},Tt.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},Tt.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var r=t.z.redSqr(),i=this.z.redSqr(),n=this.x.redMul(r),o=t.x.redMul(i),h=this.y.redMul(r.redMul(t.z)),p=t.y.redMul(i.redMul(this.z)),b=n.redSub(o),m=h.redSub(p);if(b.cmpn(0)===0)return m.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var w=b.redSqr(),y=w.redMul(b),S=n.redMul(w),I=m.redSqr().redIAdd(y).redISub(S).redISub(S),N=m.redMul(S.redISub(I)).redISub(h.redMul(y)),C=this.z.redMul(t.z).redMul(b);return this.curve.jpoint(I,N,C)},Tt.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var r=this.z.redSqr(),i=this.x,n=t.x.redMul(r),o=this.y,h=t.y.redMul(r).redMul(this.z),p=i.redSub(n),b=o.redSub(h);if(p.cmpn(0)===0)return b.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var m=p.redSqr(),w=m.redMul(p),y=i.redMul(m),S=b.redSqr().redIAdd(w).redISub(y).redISub(y),I=b.redMul(y.redISub(S)).redISub(o.redMul(w)),N=this.z.redMul(p);return this.curve.jpoint(S,I,N)},Tt.prototype.dblp=function(t){if(t===0)return this;if(this.isInfinity())return this;if(!t)return this.dbl();var r;if(this.curve.zeroA||this.curve.threeA){var i=this;for(r=0;r=0)return!1;if(i.redIAdd(o),this.x.cmp(i)===0)return!0}},Tt.prototype.inspect=function(){return this.isInfinity()?\"\":\"\"},Tt.prototype.isInfinity=function(){return this.z.cmpn(0)===0};var qr=cr(function(e,t){var r=t;r.base=Ze,r.short=ka,r.mont=null,r.edwards=null}),Kr=cr(function(e,t){var r=t,i=Jt.assert;function n(p){p.type===\"short\"?this.curve=new qr.short(p):p.type===\"edwards\"?this.curve=new qr.edwards(p):this.curve=new qr.mont(p),this.g=this.curve.g,this.n=this.curve.n,this.hash=p.hash,i(this.g.validate(),\"Invalid curve\"),i(this.g.mul(this.n).isInfinity(),\"Invalid curve, G*N != O\")}r.PresetCurve=n;function o(p,b){Object.defineProperty(r,p,{configurable:!0,enumerable:!0,get:function(){var m=new n(b);return Object.defineProperty(r,p,{configurable:!0,enumerable:!0,value:m}),m}})}o(\"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:se.sha256,gRed:!1,g:[\"188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012\",\"07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811\"]}),o(\"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:se.sha256,gRed:!1,g:[\"b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21\",\"bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34\"]}),o(\"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:se.sha256,gRed:!1,g:[\"6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296\",\"4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5\"]}),o(\"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:se.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\"]}),o(\"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:se.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\"]}),o(\"curve25519\",{type:\"mont\",prime:\"p25519\",p:\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",a:\"76d06\",b:\"1\",n:\"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",hash:se.sha256,gRed:!1,g:[\"9\"]}),o(\"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:se.sha256,gRed:!1,g:[\"216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a\",\"6666666666666666666666666666666666666666666666666666666666666658\"]});var h;try{h=null.crash()}catch{h=void 0}o(\"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:se.sha256,beta:\"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee\",lambda:\"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72\",basis:[{a:\"3086d221a7d46bcde86c90e49284eb15\",b:\"-e4437ed6010e88286f547fa90abfe4c3\"},{a:\"114ca50f7a8e2f3f657c1108d9d44cfd8\",b:\"3086d221a7d46bcde86c90e49284eb15\"}],gRed:!1,g:[\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8\",h]})});function Re(e){if(!(this instanceof Re))return new Re(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=fe.toArray(e.entropy,e.entropyEnc||\"hex\"),r=fe.toArray(e.nonce,e.nonceEnc||\"hex\"),i=fe.toArray(e.pers,e.persEnc||\"hex\");Pi(t.length>=this.minEntropy/8,\"Not enough entropy. Minimum is: \"+this.minEntropy+\" bits\"),this._init(t,r,i)}var Rf=Re;Re.prototype._init=function(t,r,i){var n=t.concat(r).concat(i);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var o=0;o=this.minEntropy/8,\"Not enough entropy. Minimum is: \"+this.minEntropy+\" bits\"),this._update(t.concat(i||[])),this._reseed=1},Re.prototype.generate=function(t,r,i,n){if(this._reseed>this.reseedInterval)throw new Error(\"Reseed is required\");typeof r!=\"string\"&&(n=i,i=r,r=null),i&&(i=fe.toArray(i,n||\"hex\"),this._update(i));for(var o=[];o.length\"};var qa=Jt.assert;function Hr(e,t){if(e instanceof Hr)return e;this._importDER(e,t)||(qa(e.r&&e.s,\"Signature without r or s\"),this.r=new K(e.r,16),this.s=new K(e.s,16),e.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}var zr=Hr;function Ka(){this.place=0}function Ui(e,t){var r=e[t.place++];if(!(r&128))return r;var i=r&15;if(i===0||i>4)return!1;for(var n=0,o=0,h=t.place;o>>=0;return n<=127?!1:(t.place=h,n)}function Of(e){for(var t=0,r=e.length-1;!e[t]&&!(e[t+1]&128)&&t>>3);for(e.push(r|128);--r;)e.push(t>>>(r<<3)&255);e.push(t)}Hr.prototype.toDER=function(t){var r=this.r.toArray(),i=this.s.toArray();for(r[0]&128&&(r=[0].concat(r)),i[0]&128&&(i=[0].concat(i)),r=Of(r),i=Of(i);!i[0]&&!(i[1]&128);)i=i.slice(1);var n=[2];ki(n,r.length),n=n.concat(r),n.push(2),ki(n,i.length);var o=n.concat(i),h=[48];return ki(h,o.length),h=h.concat(o),Jt.encode(h,t)};var Ha=function(){throw new Error(\"unsupported\")},Pf=Jt.assert;function $t(e){if(!(this instanceof $t))return new $t(e);typeof e==\"string\"&&(Pf(Object.prototype.hasOwnProperty.call(Kr,e),\"Unknown curve \"+e),e=Kr[e]),e instanceof Kr.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}var za=$t;$t.prototype.keyPair=function(t){return new Ti(this,t)},$t.prototype.keyFromPrivate=function(t,r){return Ti.fromPrivate(this,t,r)},$t.prototype.keyFromPublic=function(t,r){return Ti.fromPublic(this,t,r)},$t.prototype.genKeyPair=function(t){t||(t={});for(var r=new Rf({hash:this.hash,pers:t.pers,persEnc:t.persEnc||\"utf8\",entropy:t.entropy||Ha(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||\"utf8\",nonce:this.n.toArray()}),i=this.n.byteLength(),n=this.n.sub(new K(2));;){var o=new K(r.generate(i));if(!(o.cmp(n)>0))return o.iaddn(1),this.keyFromPrivate(o)}},$t.prototype._truncateToN=function(t,r){var i=t.byteLength()*8-this.n.bitLength();return i>0&&(t=t.ushrn(i)),!r&&t.cmp(this.n)>=0?t.sub(this.n):t},$t.prototype.sign=function(t,r,i,n){typeof i==\"object\"&&(n=i,i=null),n||(n={}),r=this.keyFromPrivate(r,i),t=this._truncateToN(new K(t,16));for(var o=this.n.byteLength(),h=r.getPrivate().toArray(\"be\",o),p=t.toArray(\"be\",o),b=new Rf({hash:this.hash,entropy:h,nonce:p,pers:n.pers,persEnc:n.persEnc||\"utf8\"}),m=this.n.sub(new K(1)),w=0;;w++){var y=n.k?n.k(w):new K(b.generate(this.n.byteLength()));if(y=this._truncateToN(y,!0),!(y.cmpn(1)<=0||y.cmp(m)>=0)){var S=this.g.mul(y);if(!S.isInfinity()){var I=S.getX(),N=I.umod(this.n);if(N.cmpn(0)!==0){var C=y.invm(this.n).mul(N.mul(r.getPrivate()).iadd(t));if(C=C.umod(this.n),C.cmpn(0)!==0){var F=(S.getY().isOdd()?1:0)|(I.cmp(N)!==0?2:0);return n.canonical&&C.cmp(this.nh)>0&&(C=this.n.sub(C),F^=1),new zr({r:N,s:C,recoveryParam:F})}}}}}},$t.prototype.verify=function(t,r,i,n){t=this._truncateToN(new K(t,16)),i=this.keyFromPublic(i,n),r=new zr(r,\"hex\");var o=r.r,h=r.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0||h.cmpn(1)<0||h.cmp(this.n)>=0)return!1;var p=h.invm(this.n),b=p.mul(t).umod(this.n),m=p.mul(o).umod(this.n),w;return this.curve._maxwellTrick?(w=this.g.jmulAdd(b,i.getPublic(),m),w.isInfinity()?!1:w.eqXToP(o)):(w=this.g.mulAdd(b,i.getPublic(),m),w.isInfinity()?!1:w.getX().umod(this.n).cmp(o)===0)},$t.prototype.recoverPubKey=function(e,t,r,i){Pf((3&r)===r,\"The recovery param is more than two bits\"),t=new zr(t,i);var n=this.n,o=new K(e),h=t.r,p=t.s,b=r&1,m=r>>1;if(h.cmp(this.curve.p.umod(this.curve.n))>=0&&m)throw new Error(\"Unable to find sencond key candinate\");m?h=this.curve.pointFromX(h.add(this.curve.n),b):h=this.curve.pointFromX(h,b);var w=t.r.invm(n),y=n.sub(o).mul(w).umod(n),S=p.mul(w).umod(n);return this.g.mulAdd(y,h,S)},$t.prototype.getKeyRecoveryParam=function(e,t,r,i){if(t=new zr(t,i),t.recoveryParam!==null)return t.recoveryParam;for(var n=0;n<4;n++){var o;try{o=this.recoverPubKey(e,t,n)}catch{continue}if(o.eq(r))return n}throw new Error(\"Unable to find valid recovery factor\")};var La=cr(function(e,t){var r=t;r.version=\"6.5.4\",r.utils=Jt,r.rand=function(){throw new Error(\"unsupported\")},r.curve=qr,r.curves=Kr,r.ec=za,r.eddsa=null}),ja=La.ec;const Qa=\"signing-key/5.7.0\",qi=new L(Qa);let Ki=null;function ve(){return Ki||(Ki=new ja(\"secp256k1\")),Ki}class Ja{constructor(t){br(this,\"curve\",\"secp256k1\"),br(this,\"privateKey\",Kt(t)),N0(this.privateKey)!==32&&qi.throwArgumentError(\"invalid private key\",\"privateKey\",\"[[ REDACTED ]]\");const r=ve().keyFromPrivate(Ot(this.privateKey));br(this,\"publicKey\",\"0x\"+r.getPublic(!1,\"hex\")),br(this,\"compressedPublicKey\",\"0x\"+r.getPublic(!0,\"hex\")),br(this,\"_isSigningKey\",!0)}_addPoint(t){const r=ve().keyFromPublic(Ot(this.publicKey)),i=ve().keyFromPublic(Ot(t));return\"0x\"+r.pub.add(i.pub).encodeCompressed(\"hex\")}signDigest(t){const r=ve().keyFromPrivate(Ot(this.privateKey)),i=Ot(t);i.length!==32&&qi.throwArgumentError(\"bad digest length\",\"digest\",t);const n=r.sign(i,{canonical:!0});return zn({recoveryParam:n.recoveryParam,r:oe(\"0x\"+n.r.toString(16),32),s:oe(\"0x\"+n.s.toString(16),32)})}computeSharedSecret(t){const r=ve().keyFromPrivate(Ot(this.privateKey)),i=ve().keyFromPublic(Ot(Df(t)));return oe(\"0x\"+r.derive(i.getPublic()).toString(16),32)}static isSigningKey(t){return!!(t&&t._isSigningKey)}}function Ga(e,t){const r=zn(t),i={r:Ot(r.r),s:Ot(r.s)};return\"0x\"+ve().recoverPubKey(Ot(e),i,r.recoveryParam).encode(\"hex\",!1)}function Df(e,t){const r=Ot(e);if(r.length===32){const i=new Ja(r);return t?\"0x\"+ve().keyFromPrivate(r).getPublic(!0,\"hex\"):i.publicKey}else{if(r.length===33)return t?Kt(r):\"0x\"+ve().keyFromPublic(r).getPublic(!1,\"hex\");if(r.length===65)return t?\"0x\"+ve().keyFromPublic(r).getPublic(!0,\"hex\"):Kt(r)}return qi.throwArgumentError(\"invalid public or private key\",\"key\",\"[REDACTED]\")}const Ya=\"transactions/5.7.0\";new L(Ya);var Ff;(function(e){e[e.legacy=0]=\"legacy\",e[e.eip2930=1]=\"eip2930\",e[e.eip1559=2]=\"eip1559\"})(Ff||(Ff={}));function Va(e){const t=Df(e);return ns(Hn(yi(Hn(t,1)),12))}function Wa(e,t){return Va(Ga(Ot(e),t))}const Xa=\"https://rpc.walletconnect.com/v1\";async function Tf(e,t,r,i,n,o){switch(r.t){case\"eip191\":return Uf(e,t,r.s);case\"eip1271\":return await kf(e,t,r.s,i,n,o);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${r.t}`)}}function Uf(e,t,r){return Wa(ff(t),r).toLowerCase()===e.toLowerCase()}async function kf(e,t,r,i,n,o){try{const h=\"0x1626ba7e\",p=\"0000000000000000000000000000000000000000000000000000000000000040\",b=\"0000000000000000000000000000000000000000000000000000000000000041\",m=r.substring(2),w=ff(t).substring(2),y=h+w+p+b+m,S=await fetch(`${o||Xa}/?chainId=${i}&projectId=${n}`,{method:\"POST\",body:JSON.stringify({id:Za(),jsonrpc:\"2.0\",method:\"eth_call\",params:[{to:e,data:y},\"latest\"]})}),{result:I}=await S.json();return I?I.slice(0,h.length).toLowerCase()===h.toLowerCase():!1}catch(h){return console.error(\"isValidEip1271Signature: \",h),!1}}function Za(){return Date.now()+Math.floor(Math.random()*1e3)}var $a=Object.defineProperty,tu=Object.defineProperties,eu=Object.getOwnPropertyDescriptors,qf=Object.getOwnPropertySymbols,ru=Object.prototype.hasOwnProperty,iu=Object.prototype.propertyIsEnumerable,Kf=(e,t,r)=>t in e?$a(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Hi=(e,t)=>{for(var r in t||(t={}))ru.call(t,r)&&Kf(e,r,t[r]);if(qf)for(var r of qf(t))iu.call(t,r)&&Kf(e,r,t[r]);return e},Hf=(e,t)=>tu(e,eu(t));const nu=\"did:pkh:\",Lr=e=>e?.split(\":\"),zi=e=>{const t=e&&Lr(e);if(t)return e.includes(nu)?t[3]:t[1]},fu=e=>{const t=e&&Lr(e);if(t)return t[2]+\":\"+t[3]},Li=e=>{const t=e&&Lr(e);if(t)return t.pop()};async function ou(e){const{cacao:t,projectId:r}=e,{s:i,p:n}=t,o=zf(n,n.iss),h=Li(n.iss);return await Tf(h,o,i,zi(n.iss),r)}const zf=(e,t)=>{const r=`${e.domain} wants you to sign in with your Ethereum account:`,i=Li(t);if(!e.aud&&!e.uri)throw new Error(\"Either `aud` or `uri` is required to construct the message\");let n=e.statement||void 0;const o=`URI: ${e.aud||e.uri}`,h=`Version: ${e.version}`,p=`Chain ID: ${zi(t)}`,b=`Nonce: ${e.nonce}`,m=`Issued At: ${e.iat}`,w=e.resources?`Resources:${e.resources.map(S=>`\n- ${S}`).join(\"\")}`:void 0,y=Qr(e.resources);if(y){const S=Oe(y);n=Ji(n,S)}return[r,i,\"\",n,\"\",o,h,p,b,m,w].filter(S=>S!=null).join(`\n`)};function su(e,t,r){return r.includes(\"did:pkh:\")||(r=`did:pkh:${r}`),{h:{t:\"caip122\"},p:{iss:r,domain:e.domain,aud:e.aud,version:e.version,nonce:e.nonce,iat:e.iat,statement:e.statement,requestId:e.requestId,resources:e.resources,nbf:e.nbf,exp:e.exp},s:t}}function au(e){var t;const{authPayload:r,chains:i,methods:n}=e,o=r.statement||\"\";if(!(i!=null&&i.length))return r;const h=r.chains,p=mi(h,i);if(!(p!=null&&p.length))throw new Error(\"No supported chains\");const b=Lf(r.resources);if(!b)return r;me(b);const m=jf(b,\"eip155\");let w=r?.resources||[];if(m!=null&&m.length){const y=Qf(m),S=mi(y,n);if(!(S!=null&&S.length))throw new Error(`Supported methods don't satisfy the requested: ${JSON.stringify(y)}, supported: ${JSON.stringify(n)}`);const I=ji(\"request\",S,{chains:p}),N=Vf(b,\"eip155\",I);w=((t=r?.resources)==null?void 0:t.slice(0,-1))||[],w.push(jr(N))}return Hf(Hi({},r),{statement:Xf(o,Qr(w)),chains:p,resources:r!=null&&r.resources||w.length>0?w:void 0})}function Lf(e){const t=Qr(e);if(t&&Qi(t))return Oe(t)}function uu(e,t){var r;return(r=e?.att)==null?void 0:r.hasOwnProperty(t)}function jf(e,t){var r,i;return(r=e?.att)!=null&&r[t]?Object.keys((i=e?.att)==null?void 0:i[t]):[]}function hu(e){return e?.map(t=>Object.keys(t))||[]}function Qf(e){return e?.map(t=>{var r;return(r=t.split(\"/\"))==null?void 0:r[1]})||[]}function Jf(e){return Buffer.from(JSON.stringify(e)).toString(\"base64\")}function Gf(e){return JSON.parse(Buffer.from(e,\"base64\").toString(\"utf-8\"))}function me(e){if(!e)throw new Error(\"No recap provided, value is undefined\");if(!e.att)throw new Error(\"No `att` property found\");const t=Object.keys(e.att);if(!(t!=null&&t.length))throw new Error(\"No resources found in `att` property\");t.forEach(r=>{const i=e.att[r];if(Array.isArray(i))throw new Error(`Resource must be an object: ${r}`);if(typeof i!=\"object\")throw new Error(`Resource must be an object: ${r}`);if(!Object.keys(i).length)throw new Error(`Resource object is empty: ${r}`);Object.keys(i).forEach(n=>{const o=i[n];if(!Array.isArray(o))throw new Error(`Ability limits ${n} must be an array of objects, found: ${o}`);if(!o.length)throw new Error(`Value of ${n} is empty array, must be an array with objects`);o.forEach(h=>{if(typeof h!=\"object\")throw new Error(`Ability limits (${n}) must be an array of objects, found: ${h}`)})})})}function Yf(e,t,r,i={}){return r?.sort((n,o)=>n.localeCompare(o)),{att:{[e]:ji(t,r,i)}}}function Vf(e,t,r){var i;return e.att[t]=Hi({},r),((i=Object.keys(e.att))==null?void 0:i.sort((n,o)=>n.localeCompare(o))).reduce((n,o)=>(n.att[o]=e.att[o],n),{att:{}})}function ji(e,t,r={}){t=t?.sort((n,o)=>n.localeCompare(o));const i=t.map(n=>({[`${e}/${n}`]:[r]}));return Object.assign({},...i)}function jr(e){return me(e),`urn:recap:${Jf(e).replace(/=/g,\"\")}`}function Oe(e){const t=Gf(e.replace(\"urn:recap:\",\"\"));return me(t),t}function cu(e,t,r){const i=Yf(e,t,r);return jr(i)}function Qi(e){return e&&e.includes(\"urn:recap:\")}function lu(e,t){const r=Oe(e),i=Oe(t),n=Wf(r,i);return jr(n)}function Wf(e,t){me(e),me(t);const r=Object.keys(e.att).concat(Object.keys(t.att)).sort((n,o)=>n.localeCompare(o)),i={att:{}};return r.forEach(n=>{var o,h;Object.keys(((o=e.att)==null?void 0:o[n])||{}).concat(Object.keys(((h=t.att)==null?void 0:h[n])||{})).sort((p,b)=>p.localeCompare(b)).forEach(p=>{var b,m;i.att[n]=Hf(Hi({},i.att[n]),{[p]:((b=e.att[n])==null?void 0:b[p])||((m=t.att[n])==null?void 0:m[p])})})}),i}function Ji(e=\"\",t){me(t);const r=\"I further authorize the stated URI to perform the following actions on my behalf: \";if(e.includes(r))return e;const i=[];let n=0;Object.keys(t.att).forEach(p=>{const b=Object.keys(t.att[p]).map(y=>({ability:y.split(\"/\")[0],action:y.split(\"/\")[1]}));b.sort((y,S)=>y.action.localeCompare(S.action));const m={};b.forEach(y=>{m[y.ability]||(m[y.ability]=[]),m[y.ability].push(y.action)});const w=Object.keys(m).map(y=>(n++,`(${n}) '${y}': '${m[y].join(\"', '\")}' for '${p}'.`));i.push(w.join(\", \").replace(\".,\",\".\"))});const o=i.join(\" \"),h=`${r}${o}`;return`${e?e+\" \":\"\"}${h}`}function du(e){var t;const r=Oe(e);me(r);const i=(t=r.att)==null?void 0:t.eip155;return i?Object.keys(i).map(n=>n.split(\"/\")[1]):[]}function pu(e){const t=Oe(e);me(t);const r=[];return Object.values(t.att).forEach(i=>{Object.values(i).forEach(n=>{var o;(o=n?.[0])!=null&&o.chains&&r.push(n[0].chains)})}),[...new Set(r.flat())]}function Xf(e,t){if(!t)return e;const r=Oe(t);return me(r),Ji(e,r)}function Qr(e){if(!e)return;const t=e?.[e.length-1];return Qi(t)?t:void 0}const Gi=\"base10\",zt=\"base16\",Jr=\"base64pad\",Gr=\"utf8\",Yi=0,lr=1,vu=0,Zf=1,Vi=12,Wi=32;function mu(){const e=cn.generateKeyPair();return{privateKey:te(e.secretKey,zt),publicKey:te(e.publicKey,zt)}}function gu(){const e=un(Wi);return te(e,zt)}function Au(e,t){const r=cn.sharedKey(ee(e,zt),ee(t,zt),!0),i=new Uo(ko,r).expand(Wi);return te(i,zt)}function bu(e){const t=hn(ee(e,zt));return te(t,zt)}function yu(e){const t=hn(ee(e,Gr));return te(t,zt)}function $f(e){return ee(`${e}`,Gi)}function Mr(e){return Number(te(e,Gi))}function wu(e){const t=$f(typeof e.type<\"u\"?e.type:Yi);if(Mr(t)===lr&&typeof e.senderPublicKey>\"u\")throw new Error(\"Missing sender public key for type 1 envelope\");const r=typeof e.senderPublicKey<\"u\"?ee(e.senderPublicKey,zt):void 0,i=typeof e.iv<\"u\"?ee(e.iv,zt):un(Vi),n=new an(ee(e.symKey,zt)).seal(i,ee(e.message,Gr));return to({type:t,sealed:n,iv:i,senderPublicKey:r})}function xu(e){const t=new an(ee(e.symKey,zt)),{sealed:r,iv:i}=Xi(e.encoded),n=t.open(i,r);if(n===null)throw new Error(\"Failed to decrypt\");return te(n,Gr)}function to(e){if(Mr(e.type)===lr){if(typeof e.senderPublicKey>\"u\")throw new Error(\"Missing sender public key for type 1 envelope\");return te(ln([e.type,e.senderPublicKey,e.iv,e.sealed]),Jr)}return te(ln([e.type,e.iv,e.sealed]),Jr)}function Xi(e){const t=ee(e,Jr),r=t.slice(vu,Zf),i=Zf;if(Mr(r)===lr){const p=i+Wi,b=p+Vi,m=t.slice(i,p),w=t.slice(p,b),y=t.slice(b);return{type:r,sealed:y,iv:w,senderPublicKey:m}}const n=i+Vi,o=t.slice(i,n),h=t.slice(n);return{type:r,sealed:h,iv:o}}function Mu(e,t){const r=Xi(e);return eo({type:Mr(r.type),senderPublicKey:typeof r.senderPublicKey<\"u\"?te(r.senderPublicKey,zt):void 0,receiverPublicKey:t?.receiverPublicKey})}function eo(e){const t=e?.type||Yi;if(t===lr){if(typeof e?.senderPublicKey>\"u\")throw new Error(\"missing sender public key\");if(typeof e?.receiverPublicKey>\"u\")throw new Error(\"missing receiver public key\")}return{type:t,senderPublicKey:e?.senderPublicKey,receiverPublicKey:e?.receiverPublicKey}}function Eu(e){return e.type===lr&&typeof e.senderPublicKey==\"string\"&&typeof e.receiverPublicKey==\"string\"}const ro=\"irn\";function Su(e){return e?.relay||{protocol:ro}}function Nu(e){const t=qo[e];if(typeof t>\"u\")throw new Error(`Relay Protocol not supported: ${e}`);return t}var Iu=Object.defineProperty,_u=Object.defineProperties,Bu=Object.getOwnPropertyDescriptors,io=Object.getOwnPropertySymbols,Cu=Object.prototype.hasOwnProperty,Ru=Object.prototype.propertyIsEnumerable,no=(e,t,r)=>t in e?Iu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fo=(e,t)=>{for(var r in t||(t={}))Cu.call(t,r)&&no(e,r,t[r]);if(io)for(var r of io(t))Ru.call(t,r)&&no(e,r,t[r]);return e},Ou=(e,t)=>_u(e,Bu(t));function oo(e,t=\"-\"){const r={},i=\"relay\"+t;return Object.keys(e).forEach(n=>{if(n.startsWith(i)){const o=n.replace(i,\"\"),h=e[n];r[o]=h}}),r}function Pu(e){e=e.includes(\"wc://\")?e.replace(\"wc://\",\"\"):e,e=e.includes(\"wc:\")?e.replace(\"wc:\",\"\"):e;const t=e.indexOf(\":\"),r=e.indexOf(\"?\")!==-1?e.indexOf(\"?\"):void 0,i=e.substring(0,t),n=e.substring(t+1,r).split(\"@\"),o=typeof r<\"u\"?e.substring(r):\"\",h=Nr.parse(o),p=typeof h.methods==\"string\"?h.methods.split(\",\"):void 0;return{protocol:i,topic:so(n[0]),version:parseInt(n[1],10),symKey:h.symKey,relay:oo(h),methods:p,expiryTimestamp:h.expiryTimestamp?parseInt(h.expiryTimestamp,10):void 0}}function so(e){return e.startsWith(\"//\")?e.substring(2):e}function ao(e,t=\"-\"){const r=\"relay\",i={};return Object.keys(e).forEach(n=>{const o=r+t+n;e[n]&&(i[o]=e[n])}),i}function Du(e){return`${e.protocol}:${e.topic}@${e.version}?`+Nr.stringify(fo(Ou(fo({symKey:e.symKey},ao(e.relay)),{expiryTimestamp:e.expiryTimestamp}),e.methods?{methods:e.methods.join(\",\")}:{}))}var Fu=Object.defineProperty,Tu=Object.defineProperties,Uu=Object.getOwnPropertyDescriptors,uo=Object.getOwnPropertySymbols,ku=Object.prototype.hasOwnProperty,qu=Object.prototype.propertyIsEnumerable,ho=(e,t,r)=>t in e?Fu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Ku=(e,t)=>{for(var r in t||(t={}))ku.call(t,r)&&ho(e,r,t[r]);if(uo)for(var r of uo(t))qu.call(t,r)&&ho(e,r,t[r]);return e},Hu=(e,t)=>Tu(e,Uu(t));function $e(e){const t=[];return e.forEach(r=>{const[i,n]=r.split(\":\");t.push(`${i}:${n}`)}),t}function co(e){const t=[];return Object.values(e).forEach(r=>{t.push(...$e(r.accounts))}),t}function lo(e,t){const r=[];return Object.values(e).forEach(i=>{$e(i.accounts).includes(t)&&r.push(...i.methods)}),r}function po(e,t){const r=[];return Object.values(e).forEach(i=>{$e(i.accounts).includes(t)&&r.push(...i.events)}),r}function zu(e,t){const r=So(e,t);if(r)throw new Error(r.message);const i={};for(const[n,o]of Object.entries(e))i[n]={methods:o.methods,events:o.events,chains:o.accounts.map(h=>`${h.split(\":\")[0]}:${h.split(\":\")[1]}`)};return i}function Lu(e){const{proposal:{requiredNamespaces:t,optionalNamespaces:r={}},supportedNamespaces:i}=e,n=$i(t),o=$i(r),h={};Object.keys(i).forEach(m=>{const w=i[m].chains,y=i[m].methods,S=i[m].events,I=i[m].accounts;w.forEach(N=>{if(!I.some(C=>C.includes(N)))throw new Error(`No accounts provided for chain ${N} in namespace ${m}`)}),h[m]={chains:w,methods:y,events:S,accounts:I}});const p=Io(t,h,\"approve()\");if(p)throw new Error(p.message);const b={};return!Object.keys(t).length&&!Object.keys(r).length?h:(Object.keys(n).forEach(m=>{const w=i[m].chains.filter(N=>{var C,F;return(F=(C=n[m])==null?void 0:C.chains)==null?void 0:F.includes(N)}),y=i[m].methods.filter(N=>{var C,F;return(F=(C=n[m])==null?void 0:C.methods)==null?void 0:F.includes(N)}),S=i[m].events.filter(N=>{var C,F;return(F=(C=n[m])==null?void 0:C.events)==null?void 0:F.includes(N)}),I=w.map(N=>i[m].accounts.filter(C=>C.includes(`${N}:`))).flat();b[m]={chains:w,methods:y,events:S,accounts:I}}),Object.keys(o).forEach(m=>{var w,y,S,I,N,C;if(!i[m])return;const F=(y=(w=o[m])==null?void 0:w.chains)==null?void 0:y.filter(G=>i[m].chains.includes(G)),U=i[m].methods.filter(G=>{var H,z;return(z=(H=o[m])==null?void 0:H.methods)==null?void 0:z.includes(G)}),J=i[m].events.filter(G=>{var H,z;return(z=(H=o[m])==null?void 0:H.events)==null?void 0:z.includes(G)}),Bt=F?.map(G=>i[m].accounts.filter(H=>H.includes(`${G}:`))).flat();b[m]={chains:ge((S=b[m])==null?void 0:S.chains,F),methods:ge((I=b[m])==null?void 0:I.methods,U),events:ge((N=b[m])==null?void 0:N.events,J),accounts:ge((C=b[m])==null?void 0:C.accounts,Bt)}}),b)}function Zi(e){return e.includes(\":\")}function vo(e){return Zi(e)?e.split(\":\")[0]:e}function $i(e){var t,r,i;const n={};if(!Yr(e))return n;for(const[o,h]of Object.entries(e)){const p=Zi(o)?[o]:h.chains,b=h.methods||[],m=h.events||[],w=vo(o);n[w]=Hu(Ku({},n[w]),{chains:ge(p,(t=n[w])==null?void 0:t.chains),methods:ge(b,(r=n[w])==null?void 0:r.methods),events:ge(m,(i=n[w])==null?void 0:i.events)})}return n}function mo(e){const t={};return e?.forEach(r=>{const[i,n]=r.split(\":\");t[i]||(t[i]={accounts:[],chains:[],events:[]}),t[i].accounts.push(r),t[i].chains.push(`${i}:${n}`)}),t}function ju(e,t){t=t.map(i=>i.replace(\"did:pkh:\",\"\"));const r=mo(t);for(const[i,n]of Object.entries(r))n.methods?n.methods=ge(n.methods,e):n.methods=e,n.events=[\"chainChanged\",\"accountsChanged\"];return r}const go={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}},Ao={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 xe(e,t){const{message:r,code:i}=Ao[e];return{message:t?`${r} ${t}`:r,code:i}}function tr(e,t){const{message:r,code:i}=go[e];return{message:t?`${r} ${t}`:r,code:i}}function Er(e,t){return Array.isArray(e)?typeof t<\"u\"&&e.length?e.every(t):!0:!1}function Yr(e){return Object.getPrototypeOf(e)===Object.prototype&&Object.keys(e).length}function Pe(e){return typeof e>\"u\"}function Gt(e,t){return t&&Pe(e)?!0:typeof e==\"string\"&&!!e.trim().length}function Vr(e,t){return t&&Pe(e)?!0:typeof e==\"number\"&&!isNaN(e)}function Qu(e,t){const{requiredNamespaces:r}=t,i=Object.keys(e.namespaces),n=Object.keys(r);let o=!0;return _e(n,i)?(i.forEach(h=>{const{accounts:p,methods:b,events:m}=e.namespaces[h],w=$e(p),y=r[h];(!_e(_r(h,y),w)||!_e(y.methods,b)||!_e(y.events,m))&&(o=!1)}),o):!1}function Sr(e){return Gt(e,!1)&&e.includes(\":\")?e.split(\":\").length===2:!1}function bo(e){if(Gt(e,!1)&&e.includes(\":\")){const t=e.split(\":\");if(t.length===3){const r=t[0]+\":\"+t[1];return!!t[2]&&Sr(r)}}return!1}function Ju(e){if(Gt(e,!1))try{return typeof new URL(e)<\"u\"}catch{return!1}return!1}function Gu(e){var t;return(t=e?.proposer)==null?void 0:t.publicKey}function Yu(e){return e?.topic}function Vu(e,t){let r=null;return Gt(e?.publicKey,!1)||(r=xe(\"MISSING_OR_INVALID\",`${t} controller public key should be a string`)),r}function tn(e){let t=!0;return Er(e)?e.length&&(t=e.every(r=>Gt(r,!1))):t=!1,t}function yo(e,t,r){let i=null;return Er(t)&&t.length?t.forEach(n=>{i||Sr(n)||(i=tr(\"UNSUPPORTED_CHAINS\",`${r}, chain ${n} should be a string and conform to \"namespace:chainId\" format`))}):Sr(e)||(i=tr(\"UNSUPPORTED_CHAINS\",`${r}, chains must be defined as \"namespace:chainId\" e.g. \"eip155:1\": {...} in the namespace key OR as an array of CAIP-2 chainIds e.g. eip155: { chains: [\"eip155:1\", \"eip155:5\"] }`)),i}function wo(e,t,r){let i=null;return Object.entries(e).forEach(([n,o])=>{if(i)return;const h=yo(n,_r(n,o),`${t} ${r}`);h&&(i=h)}),i}function xo(e,t){let r=null;return Er(e)?e.forEach(i=>{r||bo(i)||(r=tr(\"UNSUPPORTED_ACCOUNTS\",`${t}, account ${i} should be a string and conform to \"namespace:chainId:address\" format`))}):r=tr(\"UNSUPPORTED_ACCOUNTS\",`${t}, accounts should be an array of strings conforming to \"namespace:chainId:address\" format`),r}function Mo(e,t){let r=null;return Object.values(e).forEach(i=>{if(r)return;const n=xo(i?.accounts,`${t} namespace`);n&&(r=n)}),r}function Eo(e,t){let r=null;return tn(e?.methods)?tn(e?.events)||(r=tr(\"UNSUPPORTED_EVENTS\",`${t}, events should be an array of strings or empty array for no events`)):r=tr(\"UNSUPPORTED_METHODS\",`${t}, methods should be an array of strings or empty array for no methods`),r}function en(e,t){let r=null;return Object.values(e).forEach(i=>{if(r)return;const n=Eo(i,`${t}, namespace`);n&&(r=n)}),r}function Wu(e,t,r){let i=null;if(e&&Yr(e)){const n=en(e,t);n&&(i=n);const o=wo(e,t,r);o&&(i=o)}else i=xe(\"MISSING_OR_INVALID\",`${t}, ${r} should be an object with data`);return i}function So(e,t){let r=null;if(e&&Yr(e)){const i=en(e,t);i&&(r=i);const n=Mo(e,t);n&&(r=n)}else r=xe(\"MISSING_OR_INVALID\",`${t}, namespaces should be an object with data`);return r}function No(e){return Gt(e.protocol,!0)}function Xu(e,t){let r=!1;return t&&!e?r=!0:e&&Er(e)&&e.length&&e.forEach(i=>{r=No(i)}),r}function Zu(e){return typeof e==\"number\"}function $u(e){return typeof e<\"u\"&&typeof e!==null}function th(e){return!(!e||typeof e!=\"object\"||!e.code||!Vr(e.code,!1)||!e.message||!Gt(e.message,!1))}function eh(e){return!(Pe(e)||!Gt(e.method,!1))}function rh(e){return!(Pe(e)||Pe(e.result)&&Pe(e.error)||!Vr(e.id,!1)||!Gt(e.jsonrpc,!1))}function ih(e){return!(Pe(e)||!Gt(e.name,!1))}function nh(e,t){return!(!Sr(t)||!co(e).includes(t))}function fh(e,t,r){return Gt(r,!1)?lo(e,t).includes(r):!1}function oh(e,t,r){return Gt(r,!1)?po(e,t).includes(r):!1}function Io(e,t,r){let i=null;const n=sh(e),o=ah(t),h=Object.keys(n),p=Object.keys(o),b=_o(Object.keys(e)),m=_o(Object.keys(t)),w=b.filter(y=>!m.includes(y));return w.length&&(i=xe(\"NON_CONFORMING_NAMESPACES\",`${r} namespaces keys don't satisfy requiredNamespaces.\n Required: ${w.toString()}\n Received: ${Object.keys(t).toString()}`)),_e(h,p)||(i=xe(\"NON_CONFORMING_NAMESPACES\",`${r} namespaces chains don't satisfy required namespaces.\n Required: ${h.toString()}\n Approved: ${p.toString()}`)),Object.keys(t).forEach(y=>{if(!y.includes(\":\")||i)return;const S=$e(t[y].accounts);S.includes(y)||(i=xe(\"NON_CONFORMING_NAMESPACES\",`${r} namespaces accounts don't satisfy namespace accounts for ${y}\n Required: ${y}\n Approved: ${S.toString()}`))}),h.forEach(y=>{i||(_e(n[y].methods,o[y].methods)?_e(n[y].events,o[y].events)||(i=xe(\"NON_CONFORMING_NAMESPACES\",`${r} namespaces events don't satisfy namespace events for ${y}`)):i=xe(\"NON_CONFORMING_NAMESPACES\",`${r} namespaces methods don't satisfy namespace methods for ${y}`))}),i}function sh(e){const t={};return Object.keys(e).forEach(r=>{var i;r.includes(\":\")?t[r]=e[r]:(i=e[r].chains)==null||i.forEach(n=>{t[n]={methods:e[r].methods,events:e[r].events}})}),t}function _o(e){return[...new Set(e.map(t=>t.includes(\":\")?t.split(\":\")[0]:t))]}function ah(e){const t={};return Object.keys(e).forEach(r=>{if(r.includes(\":\"))t[r]=e[r];else{const i=$e(e[r].accounts);i?.forEach(n=>{t[n]={accounts:e[r].accounts.filter(o=>o.includes(`${n}:`)),methods:e[r].methods,events:e[r].events}})}}),t}function uh(e,t){return Vr(e,!1)&&e<=t.max&&e>=t.min}function hh(){const e=We();return new Promise(t=>{switch(e){case qt.browser:t(Bo());break;case qt.reactNative:t(Co());break;case qt.node:t(Ro());break;default:t(!0)}})}function Bo(){return pr()&&navigator?.onLine}async function Co(){if(er()&&typeof global<\"u\"&&global!=null&&global.NetInfo){const e=await(global==null?void 0:global.NetInfo.fetch());return e?.isConnected}return!0}function Ro(){return!0}function ch(e){switch(We()){case qt.browser:Oo(e);break;case qt.reactNative:Po(e);break;case qt.node:break}}function Oo(e){!er()&&pr()&&(window.addEventListener(\"online\",()=>e(!0)),window.addEventListener(\"offline\",()=>e(!1)))}function Po(e){er()&&typeof global<\"u\"&&global!=null&&global.NetInfo&&global?.NetInfo.addEventListener(t=>e(t?.isConnected))}const rn={};class lh{static get(t){return rn[t]}static set(t,r){rn[t]=r}static delete(t){delete rn[t]}}export{Gi as BASE10,zt as BASE16,Jr as BASE64,Yo as COLON,di as DEFAULT_DEPTH,Br as EMPTY_SPACE,qt as ENV_MAP,Ao as INTERNAL_ERRORS,lh as MemoryStore,Vo as ONE_THOUSAND,xn as REACT_NATIVE_PRODUCT,ro as RELAYER_DEFAULT_PROTOCOL,go as SDK_ERRORS,En as SDK_TYPE,Mn as SLASH,Yi as TYPE_0,lr as TYPE_1,Gr as UTF8,Vf as addResourceToRecap,Sn as appendToQueryString,e0 as assertType,ji as assignAbilityToActions,Gf as base64Decode,Jf as base64Encode,Lu as buildApprovedNamespaces,su as buildAuthObject,ju as buildNamespacesFromAuth,Xf as buildRecapStatement,d0 as calcExpiry,s0 as capitalize,Rn as capitalizeWord,a0 as createDelayedPromise,cu as createEncodedRecap,u0 as createExpiringPromise,Yf as createRecap,Oe as decodeRecap,Mr as decodeTypeByte,xu as decrypt,Au as deriveSymKey,Xi as deserialize,jr as encodeRecap,$f as encodeTypeByte,wu as encrypt,v0 as engineEvent,o0 as enumify,vn as formatAccountId,Ko as formatAccountWithChain,pn as formatChainId,vi as formatExpirerTarget,c0 as formatIdTarget,zf as formatMessage,r0 as formatMessageContext,ao as formatRelayParams,$o as formatRelayRpcUrl,Ji as formatStatementFromRecap,h0 as formatTopicTarget,_n as formatUA,Du as formatUri,mu as generateKeyPair,gu as generateRandomBytes32,$e as getAccountsChains,zo as getAccountsFromNamespaces,mn as getAddressFromAccount,Ho as getAddressesFromAccounts,Xo as getAppMetadata,Bo as getBrowserOnlineStatus,Wo as getBundleId,gn as getChainFromAccount,An as getChainsFromAccounts,_r as getChainsFromNamespace,Lo as getChainsFromNamespaces,pu as getChainsFromRecap,jo as getChainsFromRequiredNamespaces,mi as getCommonValuesInArrays,Lf as getDecodedRecapFromResources,g0 as getDeepLink,Li as getDidAddress,Lr as getDidAddressSegments,zi as getDidChainId,We as getEnvironment,t0 as getHttpUrl,xe as getInternalError,In as getJavascriptID,Nn as getJavascriptOS,Cn as getLastItems,du as getMethodsFromRecap,fu as getNamespacedDidChainId,co as getNamespacesChains,po as getNamespacesEventsForChainId,mo as getNamespacesFromAccounts,lo as getNamespacesMethodsForChainId,Ro as getNodeOnlineStatus,Qf as getReCapActions,Co as getReactNativeOnlineStatus,hu as getRecapAbilitiesFromResource,Qr as getRecapFromResources,jf as getRecapResource,Zo as getRelayClientMetadata,Nu as getRelayProtocolApi,Su as getRelayProtocolName,zu as getRequiredNamespacesFromNamespaces,tr as getSdkError,li as getUniqueValues,m0 as handleDeeplinkRedirect,_e as hasOverlap,bu as hashKey,yu as hashMessage,pr as isBrowser,Zi as isCaipNamespace,Io as isConformingNamespaces,p0 as isExpired,pi as isNode,hh as isOnline,Gu as isProposalStruct,er as isReactNative,Qi as isRecap,Qu as isSessionCompatible,Yu as isSessionStruct,Eu as isTypeOneEnvelope,Pe as isUndefined,bo as isValidAccountId,xo as isValidAccounts,Eo as isValidActions,Er as isValidArray,Sr as isValidChainId,yo as isValidChains,Vu as isValidController,kf as isValidEip1271Signature,Uf as isValidEip191Signature,th as isValidErrorReason,ih as isValidEvent,Zu as isValidId,Mo as isValidNamespaceAccounts,en as isValidNamespaceActions,wo as isValidNamespaceChains,tn as isValidNamespaceMethodsOrEvents,So as isValidNamespaces,nh as isValidNamespacesChainId,oh as isValidNamespacesEvent,fh as isValidNamespacesRequest,Vr as isValidNumber,Yr as isValidObject,$u as isValidParams,me as isValidRecap,No as isValidRelay,Xu as isValidRelays,eh as isValidRequest,uh as isValidRequestExpiry,Wu as isValidRequiredNamespaces,rh as isValidResponse,Gt as isValidString,Ju as isValidUrl,f0 as mapEntries,i0 as mapToObj,ge as mergeArrays,lu as mergeEncodedRecaps,Wf as mergeRecaps,$i as normalizeNamespaces,n0 as objToMap,ci as parseAccountId,dn as parseChainId,Bn as parseContextNames,l0 as parseExpirerTarget,vo as parseNamespaceKey,oo as parseRelayParams,so as parseTopic,Pu as parseUri,au as populateAuthPayload,uu as recapHasResource,to as serialize,Oo as subscribeToBrowserNetworkChange,ch as subscribeToNetworkChange,Po as subscribeToReactNativeNetworkChange,Mu as validateDecoding,eo as validateEncoding,ou as validateSignedCacao,Tf as verifySignature};\n//# sourceMappingURL=index.es.js.map\n","import{IEvents as e}from\"@walletconnect/events\";import c,{EventEmitter as i}from\"events\";class n extends e{constructor(s){super(),this.opts=s,this.protocol=\"wc\",this.version=2}}class l{constructor(s,t,o){this.core=s,this.logger=t}}class h extends e{constructor(s,t){super(),this.core=s,this.logger=t,this.records=new Map}}class a{constructor(s,t){this.logger=s,this.core=t}}class u extends e{constructor(s,t){super(),this.relayer=s,this.logger=t}}class g extends e{constructor(s){super()}}class p{constructor(s,t,o,M){this.core=s,this.logger=t,this.name=o}}class I{constructor(){this.map=new Map}}class d extends e{constructor(s,t){super(),this.relayer=s,this.logger=t}}class x{constructor(s,t){this.core=s,this.logger=t}}class E extends e{constructor(s,t){super(),this.core=s,this.logger=t}}class m{constructor(s,t){this.logger=s,this.core=t}}class y{constructor(s,t){this.projectId=s,this.logger=t}}class v{constructor(s,t){this.projectId=s,this.logger=t}}class C extends c{constructor(){super()}}class b{constructor(s){this.opts=s,this.protocol=\"wc\",this.version=2}}class S extends i{constructor(){super()}}class w{constructor(s){this.client=s}}export{n as ICore,l as ICrypto,v as IEchoClient,w as IEngine,S as IEngineEvents,E as IExpirer,h as IJsonRpcHistory,x as IKeyChain,a as IMessageTracker,m as IPairing,u as IPublisher,g as IRelayer,b as ISignClient,C as ISignClientEvents,p as IStore,d as ISubscriber,I as ISubscriberTopicMap,y as IVerify};\n//# sourceMappingURL=index.es.js.map\n","import Qt,{EventEmitter as U}from\"events\";import Zt from\"@walletconnect/keyvaluestorage\";import{HEARTBEAT_EVENTS as G,HeartBeat as ei}from\"@walletconnect/heartbeat\";import{generateChildLogger as b,getLoggerContext as w,pino as ti,getDefaultLoggerOptions as Ee,generatePlatformLogger as ii}from\"@walletconnect/logger\";import{IMessageTracker as si,IPublisher as ri,ISubscriber as ni,IRelayer as oi,IStore as ai,IJsonRpcHistory as hi,IExpirer as ci,IVerify as li,IEchoClient as ui,ICore as di}from\"@walletconnect/types\";import{safeJsonStringify as gi,safeJsonParse as pi}from\"@walletconnect/safe-json\";import*as Y from\"@walletconnect/relay-auth\";import{getInternalError as c,mapToObj as we,objToMap as ve,generateKeyPair as Di,generateRandomBytes32 as se,deriveSymKey as yi,hashKey as mi,validateEncoding as bi,isTypeOneEnvelope as Ie,encrypt as fi,validateDecoding as Ei,decrypt as wi,deserialize as Ce,decodeTypeByte as vi,BASE16 as Ii,hashMessage as re,getRelayProtocolName as ne,createExpiringPromise as B,getRelayProtocolApi as H,isUndefined as oe,getSdkError as M,isValidArray as Ci,isNode as ae,getBundleId as _i,isOnline as _e,formatRelayRpcUrl as Ri,subscribeToNetworkChange as Ti,isProposalStruct as Si,isSessionStruct as Pi,TYPE_1 as xi,calcExpiry as J,formatUri as Oi,parseUri as Re,createDelayedPromise as Ai,engineEvent as he,isExpired as Te,isValidParams as ce,isValidUrl as zi,isValidString as Ni,parseExpirerTarget as Li,formatTopicTarget as Ui,formatIdTarget as $i,isReactNative as Fi,isBrowser as ki}from\"@walletconnect/utils\";import{toString as Bi}from\"uint8arrays\";import{ONE_DAY as $,SIX_HOURS as Mi,ONE_SECOND as X,THIRTY_DAYS as W,FIVE_SECONDS as Se,THIRTY_SECONDS as le,toMiliseconds as T,ONE_MINUTE as ue,Watch as Ki,FIVE_MINUTES as Pe}from\"@walletconnect/time\";import{JsonRpcProvider as Vi}from\"@walletconnect/jsonrpc-provider\";import{getBigIntRpcId as xe,isJsonRpcRequest as Oe,isJsonRpcResponse as Ae,formatJsonRpcResult as ze,formatJsonRpcRequest as Ne,formatJsonRpcError as qi,isJsonRpcResult as ji,isJsonRpcError as Le}from\"@walletconnect/jsonrpc-utils\";import Gi from\"@walletconnect/jsonrpc-ws-connection\";import Yi from\"lodash.isequal\";import Hi from\"isomorphic-unfetch\";function Ji(n,e){if(n.length>=255)throw new TypeError(\"Alphabet too long\");for(var t=new Uint8Array(256),i=0;i>>0,E=new Uint8Array(x);D!==P;){for(var O=u[D],N=0,R=x-1;(O!==0||N<_)&&R!==-1;R--,N++)O+=256*E[R]>>>0,E[R]=O%a>>>0,O=O/a>>>0;if(O!==0)throw new Error(\"Non-zero carry\");_=N,D++}for(var A=x-_;A!==x&&E[A]===0;)A++;for(var j=h.repeat(p);A>>0,x=new Uint8Array(P);u[p];){var E=t[u.charCodeAt(p)];if(E===255)return;for(var O=0,N=P-1;(E!==0||O>>0,x[N]=E%256>>>0,E=E/256>>>0;if(E!==0)throw new Error(\"Non-zero carry\");D=O,p++}if(u[p]!==\" \"){for(var R=P-D;R!==P&&x[R]===0;)R++;for(var A=new Uint8Array(_+(P-R)),j=_;R!==P;)A[j++]=x[R++];return A}}}function L(u){var p=m(u);if(p)return p;throw new Error(`Non-${e} character`)}return{encode:g,decodeUnsafe:m,decode:L}}var Xi=Ji,Wi=Xi;const Ue=n=>{if(n instanceof Uint8Array&&n.constructor.name===\"Uint8Array\")return n;if(n instanceof ArrayBuffer)return new Uint8Array(n);if(ArrayBuffer.isView(n))return new Uint8Array(n.buffer,n.byteOffset,n.byteLength);throw new Error(\"Unknown type, must be binary type\")},Qi=n=>new TextEncoder().encode(n),Zi=n=>new TextDecoder().decode(n);class es{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 ts{constructor(e,t,i){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error(\"Invalid prefix character\");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=i}decode(e){if(typeof e==\"string\"){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))}else throw Error(\"Can only multibase decode strings\")}or(e){return $e(this,e)}}class is{constructor(e){this.decoders=e}or(e){return $e(this,e)}decode(e){const 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`)}}const $e=(n,e)=>new is({...n.decoders||{[n.prefix]:n},...e.decoders||{[e.prefix]:e}});class ss{constructor(e,t,i,s){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=s,this.encoder=new es(e,t,i),this.decoder=new ts(e,t,s)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const Q=({name:n,prefix:e,encode:t,decode:i})=>new ss(n,e,t,i),K=({prefix:n,name:e,alphabet:t})=>{const{encode:i,decode:s}=Wi(t,e);return Q({prefix:n,name:e,encode:i,decode:r=>Ue(s(r))})},rs=(n,e,t,i)=>{const s={};for(let d=0;d=8&&(a-=8,o[l++]=255&h>>a)}if(a>=t||255&h<<8-a)throw new SyntaxError(\"Unexpected end of data\");return o},ns=(n,e,t)=>{const i=e[e.length-1]===\"=\",s=(1<t;)o-=t,r+=e[s&a>>o];if(o&&(r+=e[s&a<Q({prefix:e,name:n,encode(s){return ns(s,i,t)},decode(s){return rs(s,i,t,n)}}),os=Q({prefix:\"\\0\",name:\"identity\",encode:n=>Zi(n),decode:n=>Qi(n)});var as=Object.freeze({__proto__:null,identity:os});const hs=y({prefix:\"0\",name:\"base2\",alphabet:\"01\",bitsPerChar:1});var cs=Object.freeze({__proto__:null,base2:hs});const ls=y({prefix:\"7\",name:\"base8\",alphabet:\"01234567\",bitsPerChar:3});var us=Object.freeze({__proto__:null,base8:ls});const ds=K({prefix:\"9\",name:\"base10\",alphabet:\"0123456789\"});var gs=Object.freeze({__proto__:null,base10:ds});const ps=y({prefix:\"f\",name:\"base16\",alphabet:\"0123456789abcdef\",bitsPerChar:4}),Ds=y({prefix:\"F\",name:\"base16upper\",alphabet:\"0123456789ABCDEF\",bitsPerChar:4});var ys=Object.freeze({__proto__:null,base16:ps,base16upper:Ds});const ms=y({prefix:\"b\",name:\"base32\",alphabet:\"abcdefghijklmnopqrstuvwxyz234567\",bitsPerChar:5}),bs=y({prefix:\"B\",name:\"base32upper\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567\",bitsPerChar:5}),fs=y({prefix:\"c\",name:\"base32pad\",alphabet:\"abcdefghijklmnopqrstuvwxyz234567=\",bitsPerChar:5}),Es=y({prefix:\"C\",name:\"base32padupper\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=\",bitsPerChar:5}),ws=y({prefix:\"v\",name:\"base32hex\",alphabet:\"0123456789abcdefghijklmnopqrstuv\",bitsPerChar:5}),vs=y({prefix:\"V\",name:\"base32hexupper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUV\",bitsPerChar:5}),Is=y({prefix:\"t\",name:\"base32hexpad\",alphabet:\"0123456789abcdefghijklmnopqrstuv=\",bitsPerChar:5}),Cs=y({prefix:\"T\",name:\"base32hexpadupper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUV=\",bitsPerChar:5}),_s=y({prefix:\"h\",name:\"base32z\",alphabet:\"ybndrfg8ejkmcpqxot1uwisza345h769\",bitsPerChar:5});var Rs=Object.freeze({__proto__:null,base32:ms,base32upper:bs,base32pad:fs,base32padupper:Es,base32hex:ws,base32hexupper:vs,base32hexpad:Is,base32hexpadupper:Cs,base32z:_s});const Ts=K({prefix:\"k\",name:\"base36\",alphabet:\"0123456789abcdefghijklmnopqrstuvwxyz\"}),Ss=K({prefix:\"K\",name:\"base36upper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\"});var Ps=Object.freeze({__proto__:null,base36:Ts,base36upper:Ss});const xs=K({name:\"base58btc\",prefix:\"z\",alphabet:\"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\"}),Os=K({name:\"base58flickr\",prefix:\"Z\",alphabet:\"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ\"});var As=Object.freeze({__proto__:null,base58btc:xs,base58flickr:Os});const zs=y({prefix:\"m\",name:\"base64\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",bitsPerChar:6}),Ns=y({prefix:\"M\",name:\"base64pad\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",bitsPerChar:6}),Ls=y({prefix:\"u\",name:\"base64url\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_\",bitsPerChar:6}),Us=y({prefix:\"U\",name:\"base64urlpad\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=\",bitsPerChar:6});var $s=Object.freeze({__proto__:null,base64:zs,base64pad:Ns,base64url:Ls,base64urlpad:Us});const Fe=Array.from(\"\\u{1F680}\\u{1FA90}\\u2604\\u{1F6F0}\\u{1F30C}\\u{1F311}\\u{1F312}\\u{1F313}\\u{1F314}\\u{1F315}\\u{1F316}\\u{1F317}\\u{1F318}\\u{1F30D}\\u{1F30F}\\u{1F30E}\\u{1F409}\\u2600\\u{1F4BB}\\u{1F5A5}\\u{1F4BE}\\u{1F4BF}\\u{1F602}\\u2764\\u{1F60D}\\u{1F923}\\u{1F60A}\\u{1F64F}\\u{1F495}\\u{1F62D}\\u{1F618}\\u{1F44D}\\u{1F605}\\u{1F44F}\\u{1F601}\\u{1F525}\\u{1F970}\\u{1F494}\\u{1F496}\\u{1F499}\\u{1F622}\\u{1F914}\\u{1F606}\\u{1F644}\\u{1F4AA}\\u{1F609}\\u263A\\u{1F44C}\\u{1F917}\\u{1F49C}\\u{1F614}\\u{1F60E}\\u{1F607}\\u{1F339}\\u{1F926}\\u{1F389}\\u{1F49E}\\u270C\\u2728\\u{1F937}\\u{1F631}\\u{1F60C}\\u{1F338}\\u{1F64C}\\u{1F60B}\\u{1F497}\\u{1F49A}\\u{1F60F}\\u{1F49B}\\u{1F642}\\u{1F493}\\u{1F929}\\u{1F604}\\u{1F600}\\u{1F5A4}\\u{1F603}\\u{1F4AF}\\u{1F648}\\u{1F447}\\u{1F3B6}\\u{1F612}\\u{1F92D}\\u2763\\u{1F61C}\\u{1F48B}\\u{1F440}\\u{1F62A}\\u{1F611}\\u{1F4A5}\\u{1F64B}\\u{1F61E}\\u{1F629}\\u{1F621}\\u{1F92A}\\u{1F44A}\\u{1F973}\\u{1F625}\\u{1F924}\\u{1F449}\\u{1F483}\\u{1F633}\\u270B\\u{1F61A}\\u{1F61D}\\u{1F634}\\u{1F31F}\\u{1F62C}\\u{1F643}\\u{1F340}\\u{1F337}\\u{1F63B}\\u{1F613}\\u2B50\\u2705\\u{1F97A}\\u{1F308}\\u{1F608}\\u{1F918}\\u{1F4A6}\\u2714\\u{1F623}\\u{1F3C3}\\u{1F490}\\u2639\\u{1F38A}\\u{1F498}\\u{1F620}\\u261D\\u{1F615}\\u{1F33A}\\u{1F382}\\u{1F33B}\\u{1F610}\\u{1F595}\\u{1F49D}\\u{1F64A}\\u{1F639}\\u{1F5E3}\\u{1F4AB}\\u{1F480}\\u{1F451}\\u{1F3B5}\\u{1F91E}\\u{1F61B}\\u{1F534}\\u{1F624}\\u{1F33C}\\u{1F62B}\\u26BD\\u{1F919}\\u2615\\u{1F3C6}\\u{1F92B}\\u{1F448}\\u{1F62E}\\u{1F646}\\u{1F37B}\\u{1F343}\\u{1F436}\\u{1F481}\\u{1F632}\\u{1F33F}\\u{1F9E1}\\u{1F381}\\u26A1\\u{1F31E}\\u{1F388}\\u274C\\u270A\\u{1F44B}\\u{1F630}\\u{1F928}\\u{1F636}\\u{1F91D}\\u{1F6B6}\\u{1F4B0}\\u{1F353}\\u{1F4A2}\\u{1F91F}\\u{1F641}\\u{1F6A8}\\u{1F4A8}\\u{1F92C}\\u2708\\u{1F380}\\u{1F37A}\\u{1F913}\\u{1F619}\\u{1F49F}\\u{1F331}\\u{1F616}\\u{1F476}\\u{1F974}\\u25B6\\u27A1\\u2753\\u{1F48E}\\u{1F4B8}\\u2B07\\u{1F628}\\u{1F31A}\\u{1F98B}\\u{1F637}\\u{1F57A}\\u26A0\\u{1F645}\\u{1F61F}\\u{1F635}\\u{1F44E}\\u{1F932}\\u{1F920}\\u{1F927}\\u{1F4CC}\\u{1F535}\\u{1F485}\\u{1F9D0}\\u{1F43E}\\u{1F352}\\u{1F617}\\u{1F911}\\u{1F30A}\\u{1F92F}\\u{1F437}\\u260E\\u{1F4A7}\\u{1F62F}\\u{1F486}\\u{1F446}\\u{1F3A4}\\u{1F647}\\u{1F351}\\u2744\\u{1F334}\\u{1F4A3}\\u{1F438}\\u{1F48C}\\u{1F4CD}\\u{1F940}\\u{1F922}\\u{1F445}\\u{1F4A1}\\u{1F4A9}\\u{1F450}\\u{1F4F8}\\u{1F47B}\\u{1F910}\\u{1F92E}\\u{1F3BC}\\u{1F975}\\u{1F6A9}\\u{1F34E}\\u{1F34A}\\u{1F47C}\\u{1F48D}\\u{1F4E3}\\u{1F942}\"),Fs=Fe.reduce((n,e,t)=>(n[t]=e,n),[]),ks=Fe.reduce((n,e,t)=>(n[e.codePointAt(0)]=t,n),[]);function Bs(n){return n.reduce((e,t)=>(e+=Fs[t],e),\"\")}function Ms(n){const e=[];for(const t of n){const i=ks[t.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}const Ks=Q({prefix:\"\\u{1F680}\",name:\"base256emoji\",encode:Bs,decode:Ms});var Vs=Object.freeze({__proto__:null,base256emoji:Ks}),qs=Be,ke=128,js=127,Gs=~js,Ys=Math.pow(2,31);function Be(n,e,t){e=e||[],t=t||0;for(var i=t;n>=Ys;)e[t++]=n&255|ke,n/=128;for(;n&Gs;)e[t++]=n&255|ke,n>>>=7;return e[t]=n|0,Be.bytes=t-i+1,e}var Hs=de,Js=128,Me=127;function de(n,i){var t=0,i=i||0,s=0,r=i,o,a=n.length;do{if(r>=a)throw de.bytes=0,new RangeError(\"Could not decode varint\");o=n[r++],t+=s<28?(o&Me)<=Js);return de.bytes=r-i,t}var Xs=Math.pow(2,7),Ws=Math.pow(2,14),Qs=Math.pow(2,21),Zs=Math.pow(2,28),er=Math.pow(2,35),tr=Math.pow(2,42),ir=Math.pow(2,49),sr=Math.pow(2,56),rr=Math.pow(2,63),nr=function(n){return n(Ke.encode(n,e,t),e),qe=n=>Ke.encodingLength(n),ge=(n,e)=>{const t=e.byteLength,i=qe(n),s=i+qe(t),r=new Uint8Array(s+t);return Ve(n,r,0),Ve(t,r,i),r.set(e,s),new ar(n,t,e,r)};class ar{constructor(e,t,i,s){this.code=e,this.size=t,this.digest=i,this.bytes=s}}const je=({name:n,code:e,encode:t})=>new hr(n,e,t);class hr{constructor(e,t,i){this.name=e,this.code=t,this.encode=i}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?ge(this.code,t):t.then(i=>ge(this.code,i))}else throw Error(\"Unknown type, must be binary type\")}}const Ge=n=>async e=>new Uint8Array(await crypto.subtle.digest(n,e)),cr=je({name:\"sha2-256\",code:18,encode:Ge(\"SHA-256\")}),lr=je({name:\"sha2-512\",code:19,encode:Ge(\"SHA-512\")});var ur=Object.freeze({__proto__:null,sha256:cr,sha512:lr});const Ye=0,dr=\"identity\",He=Ue,gr=n=>ge(Ye,He(n)),pr={code:Ye,name:dr,encode:He,digest:gr};var Dr=Object.freeze({__proto__:null,identity:pr});new TextEncoder,new TextDecoder;const Je={...as,...cs,...us,...gs,...ys,...Rs,...Ps,...As,...$s,...Vs};({...ur,...Dr});function Xe(n){return globalThis.Buffer!=null?new Uint8Array(n.buffer,n.byteOffset,n.byteLength):n}function yr(n=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?Xe(globalThis.Buffer.allocUnsafe(n)):new Uint8Array(n)}function We(n,e,t,i){return{name:n,prefix:e,encoder:{name:n,prefix:e,encode:t},decoder:{decode:i}}}const Qe=We(\"utf8\",\"u\",n=>\"u\"+new TextDecoder(\"utf8\").decode(n),n=>new TextEncoder().encode(n.substring(1))),pe=We(\"ascii\",\"a\",n=>{let e=\"a\";for(let t=0;t{n=n.substring(1);const e=yr(n.length);for(let t=0;t{if(!this.initialized){const i=await this.getKeyChain();typeof i<\"u\"&&(this.keychain=i),this.initialized=!0}},this.has=i=>(this.isInitialized(),this.keychain.has(i)),this.set=async(i,s)=>{this.isInitialized(),this.keychain.set(i,s),await this.persist()},this.get=i=>{this.isInitialized();const s=this.keychain.get(i);if(typeof s>\"u\"){const{message:r}=c(\"NO_MATCHING_KEY\",`${this.name}: ${i}`);throw new Error(r)}return s},this.del=async i=>{this.isInitialized(),this.keychain.delete(i),await this.persist()},this.core=e,this.logger=b(t,this.name)}get context(){return w(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,we(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<\"u\"?ve(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class At{constructor(e,t,i){this.core=e,this.logger=t,this.name=it,this.initialized=!1,this.init=async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)},this.hasKeys=s=>(this.isInitialized(),this.keychain.has(s)),this.getClientId=async()=>{this.isInitialized();const s=await this.getClientSeed(),r=Y.generateKeyPair(s);return Y.encodeIss(r.publicKey)},this.generateKeyPair=()=>{this.isInitialized();const s=Di();return this.setPrivateKey(s.publicKey,s.privateKey)},this.signJWT=async s=>{this.isInitialized();const r=await this.getClientSeed(),o=Y.generateKeyPair(r),a=se(),h=st;return await Y.signJWT(a,s,h,o)},this.generateSharedKey=(s,r,o)=>{this.isInitialized();const a=this.getPrivateKey(s),h=yi(a,r);return this.setSymKey(h,o)},this.setSymKey=async(s,r)=>{this.isInitialized();const o=r||mi(s);return await this.keychain.set(o,s),o},this.deleteKeyPair=async s=>{this.isInitialized(),await this.keychain.del(s)},this.deleteSymKey=async s=>{this.isInitialized(),await this.keychain.del(s)},this.encode=async(s,r,o)=>{this.isInitialized();const a=bi(o),h=gi(r);if(Ie(a)){const m=a.senderPublicKey,L=a.receiverPublicKey;s=await this.generateSharedKey(m,L)}const l=this.getSymKey(s),{type:d,senderPublicKey:g}=a;return fi({type:d,symKey:l,message:h,senderPublicKey:g})},this.decode=async(s,r,o)=>{this.isInitialized();const a=Ei(r,o);if(Ie(a)){const h=a.receiverPublicKey,l=a.senderPublicKey;s=await this.generateSharedKey(h,l)}try{const h=this.getSymKey(s),l=wi({symKey:h,encoded:r});return pi(l)}catch(h){this.logger.error(`Failed to decode message from topic: '${s}', clientId: '${await this.getClientId()}'`),this.logger.error(h)}},this.getPayloadType=s=>{const r=Ce(s);return vi(r.type)},this.getPayloadSenderPublicKey=s=>{const r=Ce(s);return r.senderPublicKey?Bi(r.senderPublicKey,Ii):void 0},this.core=e,this.logger=b(t,this.name),this.keychain=i||new Ot(this.core,this.logger)}get context(){return w(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(ye)}catch{e=se(),await this.keychain.set(ye,e)}return br(e,\"base16\")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class zt extends si{constructor(e,t){super(e,t),this.logger=e,this.core=t,this.messages=new Map,this.name=ot,this.version=at,this.initialized=!1,this.storagePrefix=z,this.init=async()=>{if(!this.initialized){this.logger.trace(\"Initialized\");try{const i=await this.getRelayerMessages();typeof i<\"u\"&&(this.messages=i),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",size:this.messages.size})}catch(i){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(i)}finally{this.initialized=!0}}},this.set=async(i,s)=>{this.isInitialized();const r=re(s);let o=this.messages.get(i);return typeof o>\"u\"&&(o={}),typeof o[r]<\"u\"||(o[r]=s,this.messages.set(i,o),await this.persist()),r},this.get=i=>{this.isInitialized();let s=this.messages.get(i);return typeof s>\"u\"&&(s={}),s},this.has=(i,s)=>{this.isInitialized();const r=this.get(i),o=re(s);return typeof r[o]<\"u\"},this.del=async i=>{this.isInitialized(),this.messages.delete(i),await this.persist()},this.logger=b(e,this.name),this.core=t}get context(){return w(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,we(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<\"u\"?ve(e):void 0}async persist(){await this.setRelayerMessages(this.messages)}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class Ir extends ri{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.events=new U,this.name=ct,this.queue=new Map,this.publishTimeout=T(ue),this.failedPublishTimeout=T(X),this.needsTransportRestart=!1,this.publish=async(i,s,r)=>{var o;this.logger.debug(\"Publishing Payload\"),this.logger.trace({type:\"method\",method:\"publish\",params:{topic:i,message:s,opts:r}});const a=r?.ttl||ht,h=ne(r),l=r?.prompt||!1,d=r?.tag||0,g=r?.id||xe().toString(),m={topic:i,message:s,opts:{ttl:a,relay:h,prompt:l,tag:d,id:g}},L=`Failed to publish payload, please try again. id:${g} tag:${d}`,u=Date.now();let p,_=1;try{for(;p===void 0;){if(Date.now()-u>this.publishTimeout)throw new Error(L);this.logger.trace({id:g,attempts:_},`publisher.publish - attempt ${_}`),p=await await B(this.rpcPublish(i,s,a,h,l,d,g).catch(D=>this.logger.warn(D)),this.publishTimeout,L),_++,p||await new Promise(D=>setTimeout(D,this.failedPublishTimeout))}this.relayer.events.emit(v.publish,m),this.logger.debug(\"Successfully Published Payload\"),this.logger.trace({type:\"method\",method:\"publish\",params:{id:g,topic:i,message:s,opts:r}})}catch(D){if(this.logger.debug(\"Failed to Publish Payload\"),this.logger.error(D),(o=r?.internal)!=null&&o.throwOnFailedPublish)throw D;this.queue.set(g,m)}},this.on=(i,s)=>{this.events.on(i,s)},this.once=(i,s)=>{this.events.once(i,s)},this.off=(i,s)=>{this.events.off(i,s)},this.removeListener=(i,s)=>{this.events.removeListener(i,s)},this.relayer=e,this.logger=b(t,this.name),this.registerEventListeners()}get context(){return w(this.logger)}rpcPublish(e,t,i,s,r,o,a){var h,l,d,g;const m={method:H(s.protocol).publish,params:{topic:e,message:t,ttl:i,prompt:r,tag:o},id:a};return oe((h=m.params)==null?void 0:h.prompt)&&((l=m.params)==null||delete l.prompt),oe((d=m.params)==null?void 0:d.tag)&&((g=m.params)==null||delete g.tag),this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"message\",direction:\"outgoing\",request:m}),this.relayer.request(m)}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async e=>{const{topic:t,message:i,opts:s}=e;await this.publish(t,i,s)})}registerEventListeners(){this.relayer.core.heartbeat.on(G.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(v.connection_stalled);return}this.checkQueue()}),this.relayer.on(v.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}class Cr{constructor(){this.map=new Map,this.set=(e,t)=>{const i=this.get(e);this.exists(e,t)||this.map.set(e,[...i,t])},this.get=e=>this.map.get(e)||[],this.exists=(e,t)=>this.get(e).includes(t),this.delete=(e,t)=>{if(typeof t>\"u\"){this.map.delete(e);return}if(!this.map.has(e))return;const i=this.get(e);if(!this.exists(e,t))return;const s=i.filter(r=>r!==t);if(!s.length){this.map.delete(e);return}this.map.set(e,s)},this.clear=()=>{this.map.clear()}}get topics(){return Array.from(this.map.keys())}}var _r=Object.defineProperty,Rr=Object.defineProperties,Tr=Object.getOwnPropertyDescriptors,Nt=Object.getOwnPropertySymbols,Sr=Object.prototype.hasOwnProperty,Pr=Object.prototype.propertyIsEnumerable,Lt=(n,e,t)=>e in n?_r(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,q=(n,e)=>{for(var t in e||(e={}))Sr.call(e,t)&&Lt(n,t,e[t]);if(Nt)for(var t of Nt(e))Pr.call(e,t)&&Lt(n,t,e[t]);return n},fe=(n,e)=>Rr(n,Tr(e));class Ut extends ni{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.subscriptions=new Map,this.topicMap=new Cr,this.events=new U,this.name=ft,this.version=Et,this.pending=new Map,this.cached=[],this.initialized=!1,this.pendingSubscriptionWatchLabel=\"pending_sub_watch_label\",this.pollingInterval=20,this.storagePrefix=z,this.subscribeTimeout=T(ue),this.restartInProgress=!1,this.batchSubscribeTopicsLimit=500,this.init=async()=>{this.initialized||(this.logger.trace(\"Initialized\"),this.registerEventListeners(),this.clientId=await this.relayer.core.crypto.getClientId())},this.subscribe=async(i,s)=>{await this.restartToComplete(),this.isInitialized(),this.logger.debug(\"Subscribing Topic\"),this.logger.trace({type:\"method\",method:\"subscribe\",params:{topic:i,opts:s}});try{const r=ne(s),o={topic:i,relay:r};this.pending.set(i,o);const a=await this.rpcSubscribe(i,r);return typeof a==\"string\"&&(this.onSubscribe(a,o),this.logger.debug(\"Successfully Subscribed Topic\"),this.logger.trace({type:\"method\",method:\"subscribe\",params:{topic:i,opts:s}})),a}catch(r){throw this.logger.debug(\"Failed to Subscribe Topic\"),this.logger.error(r),r}},this.unsubscribe=async(i,s)=>{await this.restartToComplete(),this.isInitialized(),typeof s?.id<\"u\"?await this.unsubscribeById(i,s.id,s):await this.unsubscribeByTopic(i,s)},this.isSubscribed=async i=>{if(this.topics.includes(i))return!0;const s=`${this.pendingSubscriptionWatchLabel}_${i}`;return await new Promise((r,o)=>{const a=new Ki;a.start(s);const h=setInterval(()=>{!this.pending.has(i)&&this.topics.includes(i)&&(clearInterval(h),a.stop(s),r(!0)),a.elapsed(s)>=wt&&(clearInterval(h),a.stop(s),o(new Error(\"Subscription resolution timeout\")))},this.pollingInterval)}).catch(()=>!1)},this.on=(i,s)=>{this.events.on(i,s)},this.once=(i,s)=>{this.events.once(i,s)},this.off=(i,s)=>{this.events.off(i,s)},this.removeListener=(i,s)=>{this.events.removeListener(i,s)},this.start=async()=>{await this.onConnect()},this.stop=async()=>{await this.onDisconnect()},this.restart=async()=>{this.restartInProgress=!0,await this.restore(),await this.reset(),this.restartInProgress=!1},this.relayer=e,this.logger=b(t,this.name),this.clientId=\"\"}get context(){return w(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.relayer.core.customStoragePrefix+\"//\"+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}hasSubscription(e,t){let i=!1;try{i=this.getSubscription(e).topic===t}catch{}return i}onEnable(){this.cached=[],this.initialized=!0}onDisable(){this.cached=this.values,this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){const i=this.topicMap.get(e);await Promise.all(i.map(async s=>await this.unsubscribeById(e,s,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{const s=ne(i);await this.rpcUnsubscribe(e,t,s);const r=M(\"USER_DISCONNECTED\",`${this.name}, ${e}`);await this.onUnsubscribe(e,t,r),this.logger.debug(\"Successfully Unsubscribed Topic\"),this.logger.trace({type:\"method\",method:\"unsubscribe\",params:{topic:e,id:t,opts:i}})}catch(s){throw this.logger.debug(\"Failed to Unsubscribe Topic\"),this.logger.error(s),s}}async rpcSubscribe(e,t){const i={method:H(t.protocol).subscribe,params:{topic:e}};this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:i});try{return await await B(this.relayer.request(i).catch(s=>this.logger.warn(s)),this.subscribeTimeout)?re(e+this.clientId):null}catch{this.logger.debug(\"Outgoing Relay Subscribe Payload stalled\"),this.relayer.events.emit(v.connection_stalled)}return null}async rpcBatchSubscribe(e){if(!e.length)return;const t=e[0].relay,i={method:H(t.protocol).batchSubscribe,params:{topics:e.map(s=>s.topic)}};this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:i});try{return await await B(this.relayer.request(i).catch(s=>this.logger.warn(s)),this.subscribeTimeout)}catch{this.relayer.events.emit(v.connection_stalled)}}rpcUnsubscribe(e,t,i){const s={method:H(i.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:s}),this.relayer.request(s)}onSubscribe(e,t){this.setSubscription(e,fe(q({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(t=>{this.setSubscription(t.id,q({},t)),this.pending.delete(t.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,q({},t)),this.topicMap.set(t.topic,e),this.events.emit(S.created,t)}getSubscription(e){this.logger.debug(\"Getting subscription\"),this.logger.trace({type:\"method\",method:\"getSubscription\",id:e});const t=this.subscriptions.get(e);if(!t){const{message:i}=c(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw new Error(i)}return t}deleteSubscription(e,t){this.logger.debug(\"Deleting subscription\"),this.logger.trace({type:\"method\",method:\"deleteSubscription\",id:e,reason:t});const i=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(i.topic,e),this.events.emit(S.deleted,fe(q({},i),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(S.sync)}async reset(){if(this.cached.length){const e=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let t=0;t\"u\"||!e.length)return;if(this.subscriptions.size){const{message:t}=c(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(t)}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){if(!e.length)return;const t=await this.rpcBatchSubscribe(e);Ci(t)&&this.onBatchSubscribe(t.map((i,s)=>fe(q({},e[s]),{id:i})))}async onConnect(){await this.restart(),this.onEnable()}onDisconnect(){this.onDisable()}async checkPending(){if(!this.initialized||!this.relayer.connected)return;const e=[];this.pending.forEach(t=>{e.push(t)}),await this.batchSubscribe(e)}registerEventListeners(){this.relayer.core.heartbeat.on(G.pulse,async()=>{await this.checkPending()}),this.events.on(S.created,async e=>{const t=S.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),await this.persist()}),this.events.on(S.deleted,async e=>{const t=S.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),await this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}async restartToComplete(){this.restartInProgress&&await new Promise(e=>{const t=setInterval(()=>{this.restartInProgress||(clearInterval(t),e())},this.pollingInterval)})}}var xr=Object.defineProperty,$t=Object.getOwnPropertySymbols,Or=Object.prototype.hasOwnProperty,Ar=Object.prototype.propertyIsEnumerable,Ft=(n,e,t)=>e in n?xr(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,zr=(n,e)=>{for(var t in e||(e={}))Or.call(e,t)&&Ft(n,t,e[t]);if($t)for(var t of $t(e))Ar.call(e,t)&&Ft(n,t,e[t]);return n};class kt extends oi{constructor(e){super(e),this.protocol=\"wc\",this.version=2,this.events=new U,this.name=dt,this.transportExplicitlyClosed=!1,this.initialized=!1,this.connectionAttemptInProgress=!1,this.connectionStatusPollingInterval=20,this.staleConnectionErrors=[\"socket hang up\",\"socket stalled\",\"interrupted\"],this.hasExperiencedNetworkDisruption=!1,this.requestsInFlight=new Map,this.heartBeatTimeout=T(le+X),this.request=async t=>{var i,s;this.logger.debug(\"Publishing Request Payload\");const r=t.id||xe().toString();await this.toEstablishConnection();try{const o=this.provider.request(t);this.requestsInFlight.set(r,{promise:o,request:t}),this.logger.trace({id:r,method:t.method,topic:(i=t.params)==null?void 0:i.topic},\"relayer.request - attempt to publish...\");const a=await new Promise(async(h,l)=>{const d=()=>{l(new Error(`relayer.request - publish interrupted, id: ${r}`))};this.provider.on(f.disconnect,d);const g=await o;this.provider.off(f.disconnect,d),h(g)});return this.logger.trace({id:r,method:t.method,topic:(s=t.params)==null?void 0:s.topic},\"relayer.request - published\"),a}catch(o){throw this.logger.debug(`Failed to Publish Request: ${r}`),o}finally{this.requestsInFlight.delete(r)}},this.resetPingTimeout=()=>{if(ae())try{clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var t,i,s;(s=(i=(t=this.provider)==null?void 0:t.connection)==null?void 0:i.socket)==null||s.terminate()},this.heartBeatTimeout)}catch(t){this.logger.warn(t)}},this.onPayloadHandler=t=>{this.onProviderPayload(t),this.resetPingTimeout()},this.onConnectHandler=()=>{this.startPingTimeout(),this.events.emit(v.connect)},this.onDisconnectHandler=()=>{this.onProviderDisconnect()},this.onProviderErrorHandler=t=>{this.logger.error(t),this.events.emit(v.error,t),this.logger.info(\"Fatal socket error received, closing transport\"),this.transportClose()},this.registerProviderListeners=()=>{this.provider.on(f.payload,this.onPayloadHandler),this.provider.on(f.connect,this.onConnectHandler),this.provider.on(f.disconnect,this.onDisconnectHandler),this.provider.on(f.error,this.onProviderErrorHandler)},this.core=e.core,this.logger=typeof e.logger<\"u\"&&typeof e.logger!=\"string\"?b(e.logger,this.name):ti(Ee({level:e.logger||ut})),this.messages=new zt(this.logger,e.core),this.subscriber=new Ut(this,this.logger),this.publisher=new Ir(this,this.logger),this.relayUrl=e?.relayUrl||me,this.projectId=e.projectId,this.bundleId=_i(),this.provider={}}async init(){this.logger.trace(\"Initialized\"),this.registerEventListeners(),await this.createProvider(),await Promise.all([this.messages.init(),this.subscriber.init()]);try{await this.transportOpen()}catch{this.logger.warn(`Connection via ${this.relayUrl} failed, attempting to connect via failover domain ${be}...`),await this.restartTransport(be)}this.initialized=!0,setTimeout(async()=>{this.subscriber.topics.length===0&&this.subscriber.pending.size===0&&(this.logger.info(\"No topics subscribed to after init, closing transport\"),await this.transportClose(),this.transportExplicitlyClosed=!1)},yt)}get context(){return w(this.logger)}get connected(){var e,t,i;return((i=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:i.readyState)===1}get connecting(){var e,t,i;return((i=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:i.readyState)===0}async publish(e,t,i){this.isInitialized(),await this.publisher.publish(e,t,i),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now()})}async subscribe(e,t){var i;this.isInitialized();let s=((i=this.subscriber.topicMap.get(e))==null?void 0:i[0])||\"\",r;const o=a=>{a.topic===e&&(this.subscriber.off(S.created,o),r())};return await Promise.all([new Promise(a=>{r=a,this.subscriber.on(S.created,o)}),new Promise(async a=>{s=await this.subscriber.subscribe(e,t)||s,a()})]),s}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(){if(!this.hasExperiencedNetworkDisruption&&this.connected&&this.requestsInFlight.size>0)try{await Promise.all(Array.from(this.requestsInFlight.values()).map(e=>e.promise))}catch(e){this.logger.warn(e)}this.hasExperiencedNetworkDisruption||this.connected?await B(this.provider.disconnect(),2e3,\"provider.disconnect()\").catch(()=>this.onProviderDisconnect()):this.onProviderDisconnect()}async transportClose(){this.transportExplicitlyClosed=!0,await this.transportDisconnect()}async transportOpen(e){await this.confirmOnlineStateOrThrow(),e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportDisconnect(),await this.createProvider()),this.connectionAttemptInProgress=!0,this.transportExplicitlyClosed=!1;try{await new Promise(async(t,i)=>{const s=()=>{this.provider.off(f.disconnect,s),i(new Error(\"Connection interrupted while trying to subscribe\"))};this.provider.on(f.disconnect,s),await B(this.provider.connect(),T(ue),`Socket stalled when trying to connect to ${this.relayUrl}`).catch(r=>{i(r)}),await this.subscriber.start(),this.hasExperiencedNetworkDisruption=!1,t()})}catch(t){this.logger.error(t);const i=t;if(!this.isConnectionStalled(i.message))throw t}finally{this.connectionAttemptInProgress=!1}}async restartTransport(e){this.connectionAttemptInProgress||(this.relayUrl=e||this.relayUrl,await this.confirmOnlineStateOrThrow(),await this.transportClose(),await this.createProvider(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await _e())throw new Error(\"No internet connection detected. Please restart your network and try again.\")}startPingTimeout(){var e,t,i,s,r;if(ae())try{(t=(e=this.provider)==null?void 0:e.connection)!=null&&t.socket&&((r=(s=(i=this.provider)==null?void 0:i.connection)==null?void 0:s.socket)==null||r.once(\"ping\",()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(o){this.logger.warn(o)}}isConnectionStalled(e){return this.staleConnectionErrors.some(t=>e.includes(t))}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new Vi(new Gi(Ri({sdkVersion:Dt,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId}))),this.registerProviderListeners()}async recordMessageEvent(e){const{topic:t,message:i}=e;await this.messages.set(t,i)}async shouldIgnoreMessageEvent(e){const{topic:t,message:i}=e;if(!i||i.length===0)return this.logger.debug(`Ignoring invalid/empty message: ${i}`),!0;if(!await this.subscriber.isSubscribed(t))return this.logger.debug(`Ignoring message for non-subscribed topic ${t}`),!0;const s=this.messages.has(t,i);return s&&this.logger.debug(`Ignoring duplicate message: ${i}`),s}async onProviderPayload(e){if(this.logger.debug(\"Incoming Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"incoming\",payload:e}),Oe(e)){if(!e.method.endsWith(gt))return;const t=e.params,{topic:i,message:s,publishedAt:r}=t.data,o={topic:i,message:s,publishedAt:r};this.logger.debug(\"Emitting Relayer Payload\"),this.logger.trace(zr({type:\"event\",event:t.id},o)),this.events.emit(t.id,o),await this.acknowledgePayload(e),await this.onMessageEvent(o)}else Ae(e)&&this.events.emit(v.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(this.events.emit(v.message,e),await this.recordMessageEvent(e))}async acknowledgePayload(e){const t=ze(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(f.payload,this.onPayloadHandler),this.provider.off(f.connect,this.onConnectHandler),this.provider.off(f.disconnect,this.onDisconnectHandler),this.provider.off(f.error,this.onProviderErrorHandler)}async registerEventListeners(){let e=await _e();Ti(async t=>{e!==t&&(e=t,t?await this.restartTransport().catch(i=>this.logger.error(i)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))})}async onProviderDisconnect(){await this.subscriber.stop(),this.events.emit(v.disconnect),this.connectionAttemptInProgress=!1,!this.transportExplicitlyClosed&&setTimeout(async()=>{await this.transportOpen().catch(e=>this.logger.error(e))},T(pt))}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}async toEstablishConnection(){await this.confirmOnlineStateOrThrow(),!this.connected&&(this.connectionAttemptInProgress&&await new Promise(e=>{const t=setInterval(()=>{this.connected&&(clearInterval(t),e())},this.connectionStatusPollingInterval)}),await this.transportOpen())}}var Nr=Object.defineProperty,Bt=Object.getOwnPropertySymbols,Lr=Object.prototype.hasOwnProperty,Ur=Object.prototype.propertyIsEnumerable,Mt=(n,e,t)=>e in n?Nr(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,Kt=(n,e)=>{for(var t in e||(e={}))Lr.call(e,t)&&Mt(n,t,e[t]);if(Bt)for(var t of Bt(e))Ur.call(e,t)&&Mt(n,t,e[t]);return n};class Vt extends ai{constructor(e,t,i,s=z,r=void 0){super(e,t,i,s),this.core=e,this.logger=t,this.name=i,this.map=new Map,this.version=mt,this.cached=[],this.initialized=!1,this.storagePrefix=z,this.recentlyDeleted=[],this.recentlyDeletedLimit=200,this.init=async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(o=>{this.getKey&&o!==null&&!oe(o)?this.map.set(this.getKey(o),o):Si(o)?this.map.set(o.id,o):Pi(o)&&this.map.set(o.topic,o)}),this.cached=[],this.initialized=!0)},this.set=async(o,a)=>{this.isInitialized(),this.map.has(o)?await this.update(o,a):(this.logger.debug(\"Setting value\"),this.logger.trace({type:\"method\",method:\"set\",key:o,value:a}),this.map.set(o,a),await this.persist())},this.get=o=>(this.isInitialized(),this.logger.debug(\"Getting value\"),this.logger.trace({type:\"method\",method:\"get\",key:o}),this.getData(o)),this.getAll=o=>(this.isInitialized(),o?this.values.filter(a=>Object.keys(o).every(h=>Yi(a[h],o[h]))):this.values),this.update=async(o,a)=>{this.isInitialized(),this.logger.debug(\"Updating value\"),this.logger.trace({type:\"method\",method:\"update\",key:o,update:a});const h=Kt(Kt({},this.getData(o)),a);this.map.set(o,h),await this.persist()},this.delete=async(o,a)=>{this.isInitialized(),this.map.has(o)&&(this.logger.debug(\"Deleting value\"),this.logger.trace({type:\"method\",method:\"delete\",key:o,reason:a}),this.map.delete(o),this.addToRecentlyDeleted(o),await this.persist())},this.logger=b(t,this.name),this.storagePrefix=s,this.getKey=r}get context(){return w(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){const t=this.map.get(e);if(!t){if(this.recentlyDeleted.includes(e)){const{message:s}=c(\"MISSING_OR_INVALID\",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(s),new Error(s)}const{message:i}=c(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{const e=await this.getDataStore();if(typeof e>\"u\"||!e.length)return;if(this.map.size){const{message:t}=c(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}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){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class qt{constructor(e,t){this.core=e,this.logger=t,this.name=vt,this.version=It,this.events=new Qt,this.initialized=!1,this.storagePrefix=z,this.ignoredPayloadTypes=[xi],this.registeredMethods=[],this.init=async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace(\"Initialized\"))},this.register=({methods:i})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...i])]},this.create=async i=>{this.isInitialized();const s=se(),r=await this.core.crypto.setSymKey(s),o=J(Pe),a={protocol:lt},h={topic:r,expiry:o,relay:a,active:!1},l=Oi({protocol:this.core.protocol,version:this.core.version,topic:r,symKey:s,relay:a,expiryTimestamp:o,methods:i?.methods});return await this.pairings.set(r,h),await this.core.relayer.subscribe(r),this.core.expirer.set(r,o),{topic:r,uri:l}},this.pair=async i=>{this.isInitialized(),this.isValidPair(i);const{topic:s,symKey:r,relay:o,expiryTimestamp:a,methods:h}=Re(i.uri);let l;if(this.pairings.keys.includes(s)&&(l=this.pairings.get(s),l.active))throw new Error(`Pairing already exists: ${s}. Please try again with a new connection URI.`);const d=a||J(Pe),g={topic:s,relay:o,expiry:d,active:!1,methods:h};return await this.pairings.set(s,g),this.core.expirer.set(s,d),i.activatePairing&&await this.activate({topic:s}),this.events.emit(V.create,g),this.core.crypto.keychain.has(s)||await this.core.crypto.setSymKey(r,s),await this.core.relayer.subscribe(s,{relay:o}),g},this.activate=async({topic:i})=>{this.isInitialized();const s=J(W);await this.pairings.update(i,{active:!0,expiry:s}),this.core.expirer.set(i,s)},this.ping=async i=>{this.isInitialized(),await this.isValidPing(i);const{topic:s}=i;if(this.pairings.keys.includes(s)){const r=await this.sendRequest(s,\"wc_pairingPing\",{}),{done:o,resolve:a,reject:h}=Ai();this.events.once(he(\"pairing_ping\",r),({error:l})=>{l?h(l):a()}),await o()}},this.updateExpiry=async({topic:i,expiry:s})=>{this.isInitialized(),await this.pairings.update(i,{expiry:s})},this.updateMetadata=async({topic:i,metadata:s})=>{this.isInitialized(),await this.pairings.update(i,{peerMetadata:s})},this.getPairings=()=>(this.isInitialized(),this.pairings.values),this.disconnect=async i=>{this.isInitialized(),await this.isValidDisconnect(i);const{topic:s}=i;this.pairings.keys.includes(s)&&(await this.sendRequest(s,\"wc_pairingDelete\",M(\"USER_DISCONNECTED\")),await this.deletePairing(s))},this.sendRequest=async(i,s,r)=>{const o=Ne(s,r),a=await this.core.crypto.encode(i,o),h=F[s].req;return this.core.history.set(i,o),this.core.relayer.publish(i,a,h),o.id},this.sendResult=async(i,s,r)=>{const o=ze(i,r),a=await this.core.crypto.encode(s,o),h=await this.core.history.get(s,i),l=F[h.request.method].res;await this.core.relayer.publish(s,a,l),await this.core.history.resolve(o)},this.sendError=async(i,s,r)=>{const o=qi(i,r),a=await this.core.crypto.encode(s,o),h=await this.core.history.get(s,i),l=F[h.request.method]?F[h.request.method].res:F.unregistered_method.res;await this.core.relayer.publish(s,a,l),await this.core.history.resolve(o)},this.deletePairing=async(i,s)=>{await this.core.relayer.unsubscribe(i),await Promise.all([this.pairings.delete(i,M(\"USER_DISCONNECTED\")),this.core.crypto.deleteSymKey(i),s?Promise.resolve():this.core.expirer.del(i)])},this.cleanup=async()=>{const i=this.pairings.getAll().filter(s=>Te(s.expiry));await Promise.all(i.map(s=>this.deletePairing(s.topic)))},this.onRelayEventRequest=i=>{const{topic:s,payload:r}=i;switch(r.method){case\"wc_pairingPing\":return this.onPairingPingRequest(s,r);case\"wc_pairingDelete\":return this.onPairingDeleteRequest(s,r);default:return this.onUnknownRpcMethodRequest(s,r)}},this.onRelayEventResponse=async i=>{const{topic:s,payload:r}=i,o=(await this.core.history.get(s,r.id)).request.method;switch(o){case\"wc_pairingPing\":return this.onPairingPingResponse(s,r);default:return this.onUnknownRpcMethodResponse(o)}},this.onPairingPingRequest=async(i,s)=>{const{id:r}=s;try{this.isValidPing({topic:i}),await this.sendResult(r,i,!0),this.events.emit(V.ping,{id:r,topic:i})}catch(o){await this.sendError(r,i,o),this.logger.error(o)}},this.onPairingPingResponse=(i,s)=>{const{id:r}=s;setTimeout(()=>{ji(s)?this.events.emit(he(\"pairing_ping\",r),{}):Le(s)&&this.events.emit(he(\"pairing_ping\",r),{error:s.error})},500)},this.onPairingDeleteRequest=async(i,s)=>{const{id:r}=s;try{this.isValidDisconnect({topic:i}),await this.deletePairing(i),this.events.emit(V.delete,{id:r,topic:i})}catch(o){await this.sendError(r,i,o),this.logger.error(o)}},this.onUnknownRpcMethodRequest=async(i,s)=>{const{id:r,method:o}=s;try{if(this.registeredMethods.includes(o))return;const a=M(\"WC_METHOD_UNSUPPORTED\",o);await this.sendError(r,i,a),this.logger.error(a)}catch(a){await this.sendError(r,i,a),this.logger.error(a)}},this.onUnknownRpcMethodResponse=i=>{this.registeredMethods.includes(i)||this.logger.error(M(\"WC_METHOD_UNSUPPORTED\",i))},this.isValidPair=i=>{var s;if(!ce(i)){const{message:o}=c(\"MISSING_OR_INVALID\",`pair() params: ${i}`);throw new Error(o)}if(!zi(i.uri)){const{message:o}=c(\"MISSING_OR_INVALID\",`pair() uri: ${i.uri}`);throw new Error(o)}const r=Re(i.uri);if(!((s=r?.relay)!=null&&s.protocol)){const{message:o}=c(\"MISSING_OR_INVALID\",\"pair() uri#relay-protocol\");throw new Error(o)}if(!(r!=null&&r.symKey)){const{message:o}=c(\"MISSING_OR_INVALID\",\"pair() uri#symKey\");throw new Error(o)}if(r!=null&&r.expiryTimestamp&&T(r?.expiryTimestamp){if(!ce(i)){const{message:r}=c(\"MISSING_OR_INVALID\",`ping() params: ${i}`);throw new Error(r)}const{topic:s}=i;await this.isValidPairingTopic(s)},this.isValidDisconnect=async i=>{if(!ce(i)){const{message:r}=c(\"MISSING_OR_INVALID\",`disconnect() params: ${i}`);throw new Error(r)}const{topic:s}=i;await this.isValidPairingTopic(s)},this.isValidPairingTopic=async i=>{if(!Ni(i,!1)){const{message:s}=c(\"MISSING_OR_INVALID\",`pairing topic should be a string: ${i}`);throw new Error(s)}if(!this.pairings.keys.includes(i)){const{message:s}=c(\"NO_MATCHING_KEY\",`pairing topic doesn't exist: ${i}`);throw new Error(s)}if(Te(this.pairings.get(i).expiry)){await this.deletePairing(i);const{message:s}=c(\"EXPIRED\",`pairing topic: ${i}`);throw new Error(s)}},this.core=e,this.logger=b(t,this.name),this.pairings=new Vt(this.core,this.logger,this.name,this.storagePrefix)}get context(){return w(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(v.message,async e=>{const{topic:t,message:i}=e;if(!this.pairings.keys.includes(t)||this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(i)))return;const s=await this.core.crypto.decode(t,i);try{Oe(s)?(this.core.history.set(t,s),this.onRelayEventRequest({topic:t,payload:s})):Ae(s)&&(await this.core.history.resolve(s),await this.onRelayEventResponse({topic:t,payload:s}),this.core.history.delete(t,s.id))}catch(r){this.logger.error(r)}})}registerExpirerEvents(){this.core.expirer.on(C.expired,async e=>{const{topic:t}=Li(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(V.expire,{topic:t}))})}}class jt extends hi{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.records=new Map,this.events=new U,this.name=Ct,this.version=_t,this.cached=[],this.initialized=!1,this.storagePrefix=z,this.init=async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(i=>this.records.set(i.id,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.set=(i,s,r)=>{if(this.isInitialized(),this.logger.debug(\"Setting JSON-RPC request history record\"),this.logger.trace({type:\"method\",method:\"set\",topic:i,request:s,chainId:r}),this.records.has(s.id))return;const o={id:s.id,topic:i,request:{method:s.method,params:s.params||null},chainId:r,expiry:J(W)};this.records.set(o.id,o),this.persist(),this.events.emit(I.created,o)},this.resolve=async i=>{if(this.isInitialized(),this.logger.debug(\"Updating JSON-RPC response history record\"),this.logger.trace({type:\"method\",method:\"update\",response:i}),!this.records.has(i.id))return;const s=await this.getRecord(i.id);typeof s.response>\"u\"&&(s.response=Le(i)?{error:i.error}:{result:i.result},this.records.set(s.id,s),this.persist(),this.events.emit(I.updated,s))},this.get=async(i,s)=>(this.isInitialized(),this.logger.debug(\"Getting record\"),this.logger.trace({type:\"method\",method:\"get\",topic:i,id:s}),await this.getRecord(s)),this.delete=(i,s)=>{this.isInitialized(),this.logger.debug(\"Deleting record\"),this.logger.trace({type:\"method\",method:\"delete\",id:s}),this.values.forEach(r=>{if(r.topic===i){if(typeof s<\"u\"&&r.id!==s)return;this.records.delete(r.id),this.events.emit(I.deleted,r)}}),this.persist()},this.exists=async(i,s)=>(this.isInitialized(),this.records.has(s)?(await this.getRecord(s)).topic===i:!1),this.on=(i,s)=>{this.events.on(i,s)},this.once=(i,s)=>{this.events.once(i,s)},this.off=(i,s)=>{this.events.off(i,s)},this.removeListener=(i,s)=>{this.events.removeListener(i,s)},this.logger=b(t,this.name)}get context(){return w(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){const e=[];return this.values.forEach(t=>{if(typeof t.response<\"u\")return;const i={topic:t.topic,request:Ne(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();const t=this.records.get(e);if(!t){const{message:i}=c(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw new Error(i)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(I.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>\"u\"||!e.length)return;if(this.records.size){const{message:t}=c(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}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(I.created,e=>{const t=I.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e})}),this.events.on(I.updated,e=>{const t=I.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e})}),this.events.on(I.deleted,e=>{const t=I.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e})}),this.core.heartbeat.on(G.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{T(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(I.deleted,t,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class Gt extends ci{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.expirations=new Map,this.events=new U,this.name=Rt,this.version=Tt,this.cached=[],this.initialized=!1,this.storagePrefix=z,this.init=async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(i=>this.expirations.set(i.target,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.has=i=>{try{const s=this.formatTarget(i);return typeof this.getExpiration(s)<\"u\"}catch{return!1}},this.set=(i,s)=>{this.isInitialized();const r=this.formatTarget(i),o={target:r,expiry:s};this.expirations.set(r,o),this.checkExpiry(r,o),this.events.emit(C.created,{target:r,expiration:o})},this.get=i=>{this.isInitialized();const s=this.formatTarget(i);return this.getExpiration(s)},this.del=i=>{if(this.isInitialized(),this.has(i)){const s=this.formatTarget(i),r=this.getExpiration(s);this.expirations.delete(s),this.events.emit(C.deleted,{target:s,expiration:r})}},this.on=(i,s)=>{this.events.on(i,s)},this.once=(i,s)=>{this.events.once(i,s)},this.off=(i,s)=>{this.events.off(i,s)},this.removeListener=(i,s)=>{this.events.removeListener(i,s)},this.logger=b(t,this.name)}get context(){return w(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(typeof e==\"string\")return Ui(e);if(typeof e==\"number\")return $i(e);const{message:t}=c(\"UNKNOWN_TYPE\",`Target type: ${typeof e}`);throw new 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(C.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>\"u\"||!e.length)return;if(this.expirations.size){const{message:t}=c(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}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){const t=this.expirations.get(e);if(!t){const{message:i}=c(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw this.logger.warn(i),new Error(i)}return t}checkExpiry(e,t){const{expiry:i}=t;T(i)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(C.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(G.pulse,()=>this.checkExpirations()),this.events.on(C.created,e=>{const t=C.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()}),this.events.on(C.expired,e=>{const t=C.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()}),this.events.on(C.deleted,e=>{const t=C.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=c(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class Yt extends li{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,this.name=ee,this.initialized=!1,this.queue=[],this.verifyDisabled=!1,this.init=async i=>{if(this.verifyDisabled||Fi()||!ki())return;const s=this.getVerifyUrl(i?.verifyUrl);this.verifyUrl!==s&&this.removeIframe(),this.verifyUrl=s;try{await this.createIframe()}catch(r){this.logger.info(`Verify iframe failed to load: ${this.verifyUrl}`),this.logger.info(r)}if(!this.initialized){this.removeIframe(),this.verifyUrl=te;try{await this.createIframe()}catch(r){this.logger.info(`Verify iframe failed to load: ${this.verifyUrl}`),this.logger.info(r),this.verifyDisabled=!0}}},this.register=async i=>{this.initialized?this.sendPost(i.attestationId):(this.addToQueue(i.attestationId),await this.init())},this.resolve=async i=>{if(this.isDevEnv)return\"\";const s=this.getVerifyUrl(i?.verifyUrl);let r;try{r=await this.fetchAttestation(i.attestationId,s)}catch(o){this.logger.info(`failed to resolve attestation: ${i.attestationId} from url: ${s}`),this.logger.info(o),r=await this.fetchAttestation(i.attestationId,te)}return r},this.fetchAttestation=async(i,s)=>{this.logger.info(`resolving attestation: ${i} from url: ${s}`);const r=this.startAbortTimer(X*2),o=await fetch(`${s}/attestation/${i}`,{signal:this.abortController.signal});return clearTimeout(r),o.status===200?await o.json():void 0},this.addToQueue=i=>{this.queue.push(i)},this.processQueue=()=>{this.queue.length!==0&&(this.queue.forEach(i=>this.sendPost(i)),this.queue=[])},this.sendPost=i=>{var s;try{if(!this.iframe)return;(s=this.iframe.contentWindow)==null||s.postMessage(i,\"*\"),this.logger.info(`postMessage sent: ${i} ${this.verifyUrl}`)}catch{}},this.createIframe=async()=>{let i;const s=r=>{r.data===\"verify_ready\"&&(this.onInit(),window.removeEventListener(\"message\",s),i())};await Promise.race([new Promise(r=>{const o=document.getElementById(ee);if(o)return this.iframe=o,this.onInit(),r();window.addEventListener(\"message\",s);const a=document.createElement(\"iframe\");a.id=ee,a.src=`${this.verifyUrl}/${this.projectId}`,a.style.display=\"none\",document.body.append(a),this.iframe=a,i=r}),new Promise((r,o)=>setTimeout(()=>{window.removeEventListener(\"message\",s),o(\"verify iframe load timeout\")},T(Se)))])},this.onInit=()=>{this.initialized=!0,this.processQueue()},this.removeIframe=()=>{this.iframe&&(this.iframe.remove(),this.iframe=void 0,this.initialized=!1)},this.getVerifyUrl=i=>{let s=i||k;return St.includes(s)||(this.logger.info(`verify url: ${s}, not included in trusted list, assigning default: ${k}`),s=k),s},this.logger=b(t,this.name),this.verifyUrl=k,this.abortController=new AbortController,this.isDevEnv=ae()&&process.env.IS_VITEST}get context(){return w(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),T(e))}}class Ht extends ui{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,this.context=Pt,this.registerDeviceToken=async i=>{const{clientId:s,token:r,notificationType:o,enableEncrypted:a=!1}=i,h=`${xt}/${this.projectId}/clients`;await Hi(h,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({client_id:s,type:o,token:r,always_raw:a})})},this.logger=b(t,this.context)}}var $r=Object.defineProperty,Jt=Object.getOwnPropertySymbols,Fr=Object.prototype.hasOwnProperty,kr=Object.prototype.propertyIsEnumerable,Xt=(n,e,t)=>e in n?$r(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,Wt=(n,e)=>{for(var t in e||(e={}))Fr.call(e,t)&&Xt(n,t,e[t]);if(Jt)for(var t of Jt(e))kr.call(e,t)&&Xt(n,t,e[t]);return n};class ie extends di{constructor(e){var t;super(e),this.protocol=De,this.version=Ze,this.name=Z,this.events=new U,this.initialized=!1,this.on=(o,a)=>this.events.on(o,a),this.once=(o,a)=>this.events.once(o,a),this.off=(o,a)=>this.events.off(o,a),this.removeListener=(o,a)=>this.events.removeListener(o,a),this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||me,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:\"\";const i=Ee({level:typeof e?.logger==\"string\"&&e.logger?e.logger:et.logger}),{logger:s,chunkLoggerController:r}=ii({opts:i,maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=r,(t=this.logChunkController)!=null&&t.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var o,a;(o=this.logChunkController)!=null&&o.downloadLogsBlobInBrowser&&((a=this.logChunkController)==null||a.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=b(s,this.name),this.heartbeat=new ei,this.crypto=new At(this,this.logger,e?.keychain),this.history=new jt(this,this.logger),this.expirer=new Gt(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new Zt(Wt(Wt({},tt),e?.storageOptions)),this.relayer=new kt({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new qt(this,this.logger),this.verify=new Yt(this.projectId||\"\",this.logger),this.echoClient=new Ht(this.projectId||\"\",this.logger)}static async init(e){const t=new ie(e);await t.initialize();const i=await t.crypto.getClientId();return await t.storage.setItem(bt,i),t}get context(){return w(this.logger)}async start(){this.initialized||await this.initialize()}async getLogsBlob(){var e;return(e=this.logChunkController)==null?void 0:e.logsToBlob({clientId:await this.crypto.getClientId()})}async initialize(){this.logger.trace(\"Initialized\");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.initialized=!0,this.logger.info(\"Core Initialization Success\")}catch(e){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,e),this.logger.error(e.message),e}}}const Br=ie;export{Z as CORE_CONTEXT,et as CORE_DEFAULT,De as CORE_PROTOCOL,tt as CORE_STORAGE_OPTIONS,z as CORE_STORAGE_PREFIX,Ze as CORE_VERSION,ye as CRYPTO_CLIENT_SEED,it as CRYPTO_CONTEXT,st as CRYPTO_JWT_TTL,Br as Core,At as Crypto,Pt as ECHO_CONTEXT,xt as ECHO_URL,Rt as EXPIRER_CONTEXT,vr as EXPIRER_DEFAULT_TTL,C as EXPIRER_EVENTS,Tt as EXPIRER_STORAGE_VERSION,Ht as EchoClient,Gt as Expirer,Ct as HISTORY_CONTEXT,I as HISTORY_EVENTS,_t as HISTORY_STORAGE_VERSION,jt as JsonRpcHistory,rt as KEYCHAIN_CONTEXT,nt as KEYCHAIN_STORAGE_VERSION,Ot as KeyChain,ot as MESSAGES_CONTEXT,at as MESSAGES_STORAGE_VERSION,zt as MessageTracker,vt as PAIRING_CONTEXT,wr as PAIRING_DEFAULT_TTL,V as PAIRING_EVENTS,F as PAIRING_RPC_OPTS,It as PAIRING_STORAGE_VERSION,wt as PENDING_SUB_RESOLUTION_TIMEOUT,ct as PUBLISHER_CONTEXT,ht as PUBLISHER_DEFAULT_TTL,qt as Pairing,dt as RELAYER_CONTEXT,ut as RELAYER_DEFAULT_LOGGER,lt as RELAYER_DEFAULT_PROTOCOL,me as RELAYER_DEFAULT_RELAY_URL,v as RELAYER_EVENTS,be as RELAYER_FAILOVER_RELAY_URL,f as RELAYER_PROVIDER_EVENTS,pt as RELAYER_RECONNECT_TIMEOUT,Dt as RELAYER_SDK_VERSION,fr as RELAYER_STORAGE_OPTIONS,gt as RELAYER_SUBSCRIBER_SUFFIX,yt as RELAYER_TRANSPORT_CUTOFF,kt as Relayer,mt as STORE_STORAGE_VERSION,ft as SUBSCRIBER_CONTEXT,Er as SUBSCRIBER_DEFAULT_TTL,S as SUBSCRIBER_EVENTS,Et as SUBSCRIBER_STORAGE_VERSION,Vt as Store,Ut as Subscriber,St as TRUSTED_VERIFY_URLS,ee as VERIFY_CONTEXT,te as VERIFY_FALLBACK_SERVER,k as VERIFY_SERVER,Yt as Verify,bt as WALLETCONNECT_CLIENT_ID,ie as default};\n//# sourceMappingURL=index.es.js.map\n","import{RELAYER_DEFAULT_PROTOCOL as tt,RELAYER_EVENTS as qe,VERIFY_SERVER as st,EXPIRER_EVENTS as it,PAIRING_EVENTS as Ne,Store as K,Core as rt}from\"@walletconnect/core\";import{pino as nt,getDefaultLoggerOptions as ot,generateChildLogger as at,getLoggerContext as ct}from\"@walletconnect/logger\";import{IEngine as lt,ISignClient as ht}from\"@walletconnect/types\";import{getInternalError as l,calcExpiry as N,createDelayedPromise as U,engineEvent as u,getSdkError as R,getDeepLink as pt,handleDeeplinkRedirect as dt,isSessionCompatible as ut,hashKey as ue,parseChainId as ge,createEncodedRecap as gt,getRecapFromResources as we,mergeEncodedRecaps as wt,validateSignedCacao as Pe,getNamespacedDidChainId as ve,getDidAddress as Oe,getMethodsFromRecap as Te,getChainsFromRecap as De,buildNamespacesFromAuth as xe,formatMessage as yt,isBrowser as mt,hashMessage as ee,isExpired as G,MemoryStore as H,isValidParams as T,isUndefined as Y,isValidRelays as St,isValidObject as Ae,isValidRequiredNamespaces as Et,isValidNamespaces as ye,isConformingNamespaces as Ve,isValidString as V,isValidErrorReason as _t,isValidRelay as Rt,isValidController as It,isValidNamespacesChainId as Ce,isValidRequest as ft,isValidNamespacesRequest as qt,isValidRequestExpiry as Nt,isValidResponse as Pt,isValidEvent as vt,isValidNamespacesEvent as Ot,parseExpirerTarget as Tt,isValidId as Dt,TYPE_1 as be,getAppMetadata as xt}from\"@walletconnect/utils\";import At,{EventEmitter as Vt}from\"events\";import{THIRTY_DAYS as Ct,SEVEN_DAYS as $e,FIVE_MINUTES as x,ONE_DAY as C,ONE_HOUR as Le,ONE_SECOND as bt,toMiliseconds as Me}from\"@walletconnect/time\";import{payloadId as k,getBigIntRpcId as te,isJsonRpcResult as b,isJsonRpcError as $,formatJsonRpcRequest as me,formatJsonRpcResult as $t,formatJsonRpcError as Lt,isJsonRpcRequest as Mt,isJsonRpcResponse as Kt}from\"@walletconnect/jsonrpc-utils\";const Se=\"wc\",Ee=2,_e=\"client\",se=`${Se}@${Ee}:${_e}:`,ie={name:_e,logger:\"error\",controller:!1,relayUrl:\"wss://relay.walletconnect.com\"},Ut={session_proposal:\"session_proposal\",session_update:\"session_update\",session_extend:\"session_extend\",session_ping:\"session_ping\",session_delete:\"session_delete\",session_expire:\"session_expire\",session_request:\"session_request\",session_request_sent:\"session_request_sent\",session_event:\"session_event\",proposal_expire:\"proposal_expire\",session_authenticate:\"session_authenticate\",session_request_expire:\"session_request_expire\"},Gt={database:\":memory:\"},Re=\"WALLETCONNECT_DEEPLINK_CHOICE\",kt={created:\"history_created\",updated:\"history_updated\",deleted:\"history_deleted\",sync:\"history_sync\"},Ft=\"history\",jt=\"0.3\",Ke=\"proposal\",Qt=Ct,Ue=\"Proposal expired\",Ge=\"session\",L=$e,ke=\"engine\",q={wc_sessionPropose:{req:{ttl:x,prompt:!0,tag:1100},res:{ttl:x,prompt:!1,tag:1101}},wc_sessionSettle:{req:{ttl:x,prompt:!1,tag:1102},res:{ttl:x,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:C,prompt:!1,tag:1104},res:{ttl:C,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:C,prompt:!1,tag:1106},res:{ttl:C,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:x,prompt:!0,tag:1108},res:{ttl:x,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:x,prompt:!0,tag:1110},res:{ttl:x,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:C,prompt:!1,tag:1112},res:{ttl:C,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:C,prompt:!1,tag:1114},res:{ttl:C,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:Le,prompt:!0,tag:1116},res:{ttl:Le,prompt:!1,tag:1117}}},re={min:x,max:$e},A={idle:\"IDLE\",active:\"ACTIVE\"},Fe=\"request\",je=[\"wc_sessionPropose\",\"wc_sessionRequest\",\"wc_authRequest\"],Qe=\"wc\",zt=1.5,ze=\"auth\",He=\"authKeys\",Ye=\"pairingTopics\",Xe=\"requests\",X=`${Qe}@${1.5}:${ze}:`,J=`${X}:PUB_KEY`;var Ht=Object.defineProperty,Yt=Object.defineProperties,Xt=Object.getOwnPropertyDescriptors,Je=Object.getOwnPropertySymbols,Jt=Object.prototype.hasOwnProperty,Bt=Object.prototype.propertyIsEnumerable,Be=(S,n,t)=>n in S?Ht(S,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):S[n]=t,m=(S,n)=>{for(var t in n||(n={}))Jt.call(n,t)&&Be(S,t,n[t]);if(Je)for(var t of Je(n))Bt.call(n,t)&&Be(S,t,n[t]);return S},F=(S,n)=>Yt(S,Xt(n));class Wt extends lt{constructor(n){super(n),this.name=ke,this.events=new At,this.initialized=!1,this.requestQueue={state:A.idle,queue:[]},this.sessionRequestQueue={state:A.idle,queue:[]},this.requestQueueDelay=bt,this.expectedPairingMethodMap=new Map,this.recentlyDeletedMap=new Map,this.recentlyDeletedLimit=200,this.init=async()=>{this.initialized||(await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.registerPairingEvents(),this.client.core.pairing.register({methods:Object.keys(q)}),this.initialized=!0,setTimeout(()=>{this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},Me(this.requestQueueDelay)))},this.connect=async t=>{await this.isInitialized();const e=F(m({},t),{requiredNamespaces:t.requiredNamespaces||{},optionalNamespaces:t.optionalNamespaces||{}});await this.isValidConnect(e);const{pairingTopic:s,requiredNamespaces:i,optionalNamespaces:r,sessionProperties:o,relays:a}=e;let c=s,d,p=!1;try{c&&(p=this.client.core.pairing.pairings.get(c).active)}catch(f){throw this.client.logger.error(`connect() -> pairing.get(${c}) failed`),f}if(!c||!p){const{topic:f,uri:v}=await this.client.core.pairing.create();c=f,d=v}if(!c){const{message:f}=l(\"NO_MATCHING_KEY\",`connect() pairing topic: ${c}`);throw new Error(f)}const g=await this.client.core.crypto.generateKeyPair(),h=q.wc_sessionPropose.req.ttl||x,y=N(h),w=m({requiredNamespaces:i,optionalNamespaces:r,relays:a??[{protocol:tt}],proposer:{publicKey:g,metadata:this.client.metadata},expiryTimestamp:y},o&&{sessionProperties:o}),{reject:I,resolve:D,done:E}=U(h,Ue);this.events.once(u(\"session_connect\"),async({error:f,session:v})=>{if(f)I(f);else if(v){v.self.publicKey=g;const j=F(m({},v),{requiredNamespaces:w.requiredNamespaces,optionalNamespaces:w.optionalNamespaces});await this.client.session.set(v.topic,j),await this.setExpiry(v.topic,v.expiry),c&&await this.client.core.pairing.updateMetadata({topic:c,metadata:v.peer.metadata}),D(j)}});const P=await this.sendRequest({topic:c,method:\"wc_sessionPropose\",params:w,throwOnFailedPublish:!0});return await this.setProposal(P,m({id:P},w)),{uri:d,approval:E}},this.pair=async t=>{await this.isInitialized();try{return await this.client.core.pairing.pair(t)}catch(e){throw this.client.logger.error(\"pair() failed\"),e}},this.approve=async t=>{await this.isInitialized();try{await this.isValidApprove(t)}catch(E){throw this.client.logger.error(\"approve() -> isValidApprove() failed\"),E}const{id:e,relayProtocol:s,namespaces:i,sessionProperties:r,sessionConfig:o}=t;let a;try{a=this.client.proposal.get(e)}catch(E){throw this.client.logger.error(`approve() -> proposal.get(${e}) failed`),E}let{pairingTopic:c,proposer:d,requiredNamespaces:p,optionalNamespaces:g}=a;c=c||\"\";const h=await this.client.core.crypto.generateKeyPair(),y=d.publicKey,w=await this.client.core.crypto.generateSharedKey(h,y),I=m(m({relay:{protocol:s??\"irn\"},namespaces:i,pairingTopic:c,controller:{publicKey:h,metadata:this.client.metadata},expiry:N(L)},r&&{sessionProperties:r}),o&&{sessionConfig:o});await this.client.core.relayer.subscribe(w);const D=F(m({},I),{topic:w,requiredNamespaces:p,optionalNamespaces:g,pairingTopic:c,acknowledged:!1,self:I.controller,peer:{publicKey:d.publicKey,metadata:d.metadata},controller:h});await this.client.session.set(w,D);try{await this.sendResult({id:e,topic:c,result:{relay:{protocol:s??\"irn\"},responderPublicKey:h},throwOnFailedPublish:!0}),await this.sendRequest({topic:w,method:\"wc_sessionSettle\",params:I,throwOnFailedPublish:!0})}catch(E){throw this.client.logger.error(E),this.client.session.delete(w,R(\"USER_DISCONNECTED\")),await this.client.core.relayer.unsubscribe(w),E}return await this.client.core.pairing.updateMetadata({topic:c,metadata:d.metadata}),await this.client.proposal.delete(e,R(\"USER_DISCONNECTED\")),await this.client.core.pairing.activate({topic:c}),await this.setExpiry(w,N(L)),{topic:w,acknowledged:()=>new Promise(E=>setTimeout(()=>E(this.client.session.get(w)),500))}},this.reject=async t=>{await this.isInitialized();try{await this.isValidReject(t)}catch(r){throw this.client.logger.error(\"reject() -> isValidReject() failed\"),r}const{id:e,reason:s}=t;let i;try{i=this.client.proposal.get(e).pairingTopic}catch(r){throw this.client.logger.error(`reject() -> proposal.get(${e}) failed`),r}i&&(await this.sendError({id:e,topic:i,error:s}),await this.client.proposal.delete(e,R(\"USER_DISCONNECTED\")))},this.update=async t=>{await this.isInitialized();try{await this.isValidUpdate(t)}catch(p){throw this.client.logger.error(\"update() -> isValidUpdate() failed\"),p}const{topic:e,namespaces:s}=t,{done:i,resolve:r,reject:o}=U(),a=k(),c=te().toString(),d=this.client.session.get(e).namespaces;return this.events.once(u(\"session_update\",a),({error:p})=>{p?o(p):r()}),await this.client.session.update(e,{namespaces:s}),this.sendRequest({topic:e,method:\"wc_sessionUpdate\",params:{namespaces:s},throwOnFailedPublish:!0,clientRpcId:a,relayRpcId:c}).catch(p=>{this.client.logger.error(p),this.client.session.update(e,{namespaces:d}),o(p)}),{acknowledged:i}},this.extend=async t=>{await this.isInitialized();try{await this.isValidExtend(t)}catch(a){throw this.client.logger.error(\"extend() -> isValidExtend() failed\"),a}const{topic:e}=t,s=k(),{done:i,resolve:r,reject:o}=U();return this.events.once(u(\"session_extend\",s),({error:a})=>{a?o(a):r()}),await this.setExpiry(e,N(L)),this.sendRequest({topic:e,method:\"wc_sessionExtend\",params:{},clientRpcId:s,throwOnFailedPublish:!0}).catch(a=>{o(a)}),{acknowledged:i}},this.request=async t=>{await this.isInitialized();try{await this.isValidRequest(t)}catch(h){throw this.client.logger.error(\"request() -> isValidRequest() failed\"),h}const{chainId:e,request:s,topic:i,expiry:r=q.wc_sessionRequest.req.ttl}=t,o=this.client.session.get(i),a=k(),c=te().toString(),{done:d,resolve:p,reject:g}=U(r,\"Request expired. Please try again.\");return this.events.once(u(\"session_request\",a),({error:h,result:y})=>{h?g(h):p(y)}),await Promise.all([new Promise(async h=>{await this.sendRequest({clientRpcId:a,relayRpcId:c,topic:i,method:\"wc_sessionRequest\",params:{request:F(m({},s),{expiryTimestamp:N(r)}),chainId:e},expiry:r,throwOnFailedPublish:!0}).catch(y=>g(y)),this.client.events.emit(\"session_request_sent\",{topic:i,request:s,chainId:e,id:a}),h()}),new Promise(async h=>{var y;if(!((y=o.sessionConfig)!=null&&y.disableDeepLink)){const w=await pt(this.client.core.storage,Re);dt({id:a,topic:i,wcDeepLink:w})}h()}),d()]).then(h=>h[2])},this.respond=async t=>{await this.isInitialized(),await this.isValidRespond(t);const{topic:e,response:s}=t,{id:i}=s;b(s)?await this.sendResult({id:i,topic:e,result:s.result,throwOnFailedPublish:!0}):$(s)&&await this.sendError({id:i,topic:e,error:s.error}),this.cleanupAfterResponse(t)},this.ping=async t=>{await this.isInitialized();try{await this.isValidPing(t)}catch(s){throw this.client.logger.error(\"ping() -> isValidPing() failed\"),s}const{topic:e}=t;if(this.client.session.keys.includes(e)){const s=k(),i=te().toString(),{done:r,resolve:o,reject:a}=U();this.events.once(u(\"session_ping\",s),({error:c})=>{c?a(c):o()}),await Promise.all([this.sendRequest({topic:e,method:\"wc_sessionPing\",params:{},throwOnFailedPublish:!0,clientRpcId:s,relayRpcId:i}),r()])}else this.client.core.pairing.pairings.keys.includes(e)&&await this.client.core.pairing.ping({topic:e})},this.emit=async t=>{await this.isInitialized(),await this.isValidEmit(t);const{topic:e,event:s,chainId:i}=t,r=te().toString();await this.sendRequest({topic:e,method:\"wc_sessionEvent\",params:{event:s,chainId:i},throwOnFailedPublish:!0,relayRpcId:r})},this.disconnect=async t=>{await this.isInitialized(),await this.isValidDisconnect(t);const{topic:e}=t;if(this.client.session.keys.includes(e))await this.sendRequest({topic:e,method:\"wc_sessionDelete\",params:R(\"USER_DISCONNECTED\"),throwOnFailedPublish:!0}),await this.deleteSession({topic:e,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(e))await this.client.core.pairing.disconnect({topic:e});else{const{message:s}=l(\"MISMATCHED_TOPIC\",`Session or pairing topic not found: ${e}`);throw new Error(s)}},this.find=t=>(this.isInitialized(),this.client.session.getAll().filter(e=>ut(e,t))),this.getPendingSessionRequests=()=>this.client.pendingRequest.getAll(),this.authenticate=async t=>{this.isInitialized(),this.isValidAuthenticate(t);const{chains:e,statement:s=\"\",uri:i,domain:r,nonce:o,type:a,exp:c,nbf:d,methods:p=[]}=t,g=[...t.resources||[]],{topic:h,uri:y}=await this.client.core.pairing.create({methods:[\"wc_sessionAuthenticate\"]});this.client.logger.info({message:\"Generated new pairing\",pairing:{topic:h,uri:y}});const w=await this.client.core.crypto.generateKeyPair(),I=ue(w);if(await Promise.all([this.client.auth.authKeys.set(J,{responseTopic:I,publicKey:w}),this.client.auth.pairingTopics.set(I,{topic:I,pairingTopic:h})]),await this.client.core.relayer.subscribe(I),this.client.logger.info(`sending request to new pairing topic: ${h}`),p.length>0){const{namespace:O}=ge(e[0]);let _=gt(O,\"request\",p);we(g)&&(_=wt(_,g.pop())),g.push(_)}const D=N(q.wc_sessionPropose.req.ttl),E={authPayload:{type:a??\"caip122\",chains:e,statement:s,aud:i,domain:r,version:\"1\",nonce:o,iat:new Date().toISOString(),exp:c,nbf:d,resources:g},requester:{publicKey:w,metadata:this.client.metadata},expiryTimestamp:D},P={eip155:{chains:e,methods:[...new Set([\"personal_sign\",...p])],events:[\"chainChanged\",\"accountsChanged\"]}},f={requiredNamespaces:{},optionalNamespaces:P,relays:[{protocol:\"irn\"}],proposer:{publicKey:w,metadata:this.client.metadata},expiryTimestamp:D},{done:v,resolve:j,reject:oe}=U(q.wc_sessionAuthenticate.req.ttl,\"Request expired\"),B=async({error:O,session:_})=>{if(this.events.off(u(\"session_request\",M),ae),O)oe(O);else if(_){_.self.publicKey=w,await this.client.session.set(_.topic,_),await this.setExpiry(_.topic,_.expiry),h&&await this.client.core.pairing.updateMetadata({topic:h,metadata:_.peer.metadata});const Q=this.client.session.get(_.topic);j({session:Q})}},ae=async O=>{if(O.error){const z=R(\"WC_METHOD_UNSUPPORTED\",\"wc_sessionAuthenticate\");return O.error.code===z.code?void 0:(this.events.off(u(\"session_connect\"),B),oe(O.error.message))}this.events.off(u(\"session_connect\"),B);const{cacaos:_,responder:Q}=O.result,le=[],Ie=[];for(const z of _){await Pe({cacao:z,projectId:this.client.core.projectId})||(this.client.logger.error(z,\"Signature verification failed\"),oe(R(\"SESSION_SETTLEMENT_FAILED\",\"Signature verification failed\")));const{p:he}=z,pe=we(he.resources),fe=[ve(he.iss)],Ze=Oe(he.iss);if(pe){const de=Te(pe),et=De(pe);le.push(...de),fe.push(...et)}for(const de of fe)Ie.push(`${de}:${Ze}`)}const W=await this.client.core.crypto.generateSharedKey(w,Q.publicKey);let Z;le.length>0&&(Z={topic:W,acknowledged:!0,self:{publicKey:w,metadata:this.client.metadata},peer:Q,controller:Q.publicKey,expiry:N(L),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:\"irn\"},pairingTopic:h,namespaces:xe([...new Set(le)],[...new Set(Ie)])},await this.client.core.relayer.subscribe(W),await this.client.session.set(W,Z),Z=this.client.session.get(W)),j({auths:_,session:Z})},M=k(),ce=k();this.events.once(u(\"session_connect\"),B),this.events.once(u(\"session_request\",M),ae);try{await Promise.all([this.sendRequest({topic:h,method:\"wc_sessionAuthenticate\",params:E,expiry:t.expiry,throwOnFailedPublish:!0,clientRpcId:M}),this.sendRequest({topic:h,method:\"wc_sessionPropose\",params:f,expiry:q.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:ce})])}catch(O){throw this.events.off(u(\"session_connect\"),B),this.events.off(u(\"session_request\",M),ae),O}return await this.setProposal(ce,m({id:ce},f)),await this.client.auth.requests.set(M,{authPayload:E.authPayload,requester:E.requester,expiryTimestamp:D,id:M,pairingTopic:h,verifyContext:{}}),{uri:y,response:v}},this.approveSessionAuthenticate=async t=>{this.isInitialized();const{id:e,auths:s}=t,i=this.getPendingAuthRequest(e);if(!i)throw new Error(`Could not find pending auth request with id ${e}`);const r=i.requester.publicKey,o=await this.client.core.crypto.generateKeyPair(),a=ue(r),c={type:be,receiverPublicKey:r,senderPublicKey:o},d=[],p=[];for(const y of s){if(!await Pe({cacao:y,projectId:this.client.core.projectId})){const P=R(\"SESSION_SETTLEMENT_FAILED\",\"Signature verification failed\");throw await this.sendError({id:e,topic:a,error:P,encodeOpts:c}),new Error(P.message)}const{p:w}=y,I=we(w.resources),D=[ve(w.iss)],E=Oe(w.iss);if(I){const P=Te(I),f=De(I);d.push(...P),D.push(...f)}for(const P of D)p.push(`${P}:${E}`)}const g=await this.client.core.crypto.generateSharedKey(o,r);let h;return d?.length>0&&(h={topic:g,acknowledged:!0,self:{publicKey:o,metadata:this.client.metadata},peer:{publicKey:r,metadata:i.requester.metadata},controller:r,expiry:N(L),authentication:s,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:\"irn\"},pairingTopic:\"\",namespaces:xe([...new Set(d)],[...new Set(p)])},await this.client.core.relayer.subscribe(g),await this.client.session.set(g,h)),await this.sendResult({topic:a,id:e,result:{cacaos:s,responder:{publicKey:o,metadata:this.client.metadata}},encodeOpts:c,throwOnFailedPublish:!0}),await this.client.auth.requests.delete(e,{message:\"fullfilled\",code:0}),await this.client.core.pairing.activate({topic:i.pairingTopic}),{session:h}},this.rejectSessionAuthenticate=async t=>{await this.isInitialized();const{id:e,reason:s}=t,i=this.getPendingAuthRequest(e);if(!i)throw new Error(`Could not find pending auth request with id ${e}`);const r=i.requester.publicKey,o=await this.client.core.crypto.generateKeyPair(),a=ue(r),c={type:be,receiverPublicKey:r,senderPublicKey:o};await this.sendError({id:e,topic:a,error:s,encodeOpts:c}),await this.client.auth.requests.delete(e,{message:\"rejected\",code:0}),await this.client.proposal.delete(e,R(\"USER_DISCONNECTED\"))},this.formatAuthMessage=t=>{this.isInitialized();const{request:e,iss:s}=t;return yt(e,s)},this.cleanupDuplicatePairings=async t=>{if(t.pairingTopic)try{const e=this.client.core.pairing.pairings.get(t.pairingTopic),s=this.client.core.pairing.pairings.getAll().filter(i=>{var r,o;return((r=i.peerMetadata)==null?void 0:r.url)&&((o=i.peerMetadata)==null?void 0:o.url)===t.peer.metadata.url&&i.topic&&i.topic!==e.topic});if(s.length===0)return;this.client.logger.info(`Cleaning up ${s.length} duplicate pairing(s)`),await Promise.all(s.map(i=>this.client.core.pairing.disconnect({topic:i.topic}))),this.client.logger.info(\"Duplicate pairings clean up finished\")}catch(e){this.client.logger.error(e)}},this.deleteSession=async t=>{const{topic:e,expirerHasDeleted:s=!1,emitEvent:i=!0,id:r=0}=t,{self:o}=this.client.session.get(e);await this.client.core.relayer.unsubscribe(e),await this.client.session.delete(e,R(\"USER_DISCONNECTED\")),this.addToRecentlyDeleted(e,\"session\"),this.client.core.crypto.keychain.has(o.publicKey)&&await this.client.core.crypto.deleteKeyPair(o.publicKey),this.client.core.crypto.keychain.has(e)&&await this.client.core.crypto.deleteSymKey(e),s||this.client.core.expirer.del(e),this.client.core.storage.removeItem(Re).catch(a=>this.client.logger.warn(a)),this.getPendingSessionRequests().forEach(a=>{a.topic===e&&this.deletePendingSessionRequest(a.id,R(\"USER_DISCONNECTED\"))}),i&&this.client.events.emit(\"session_delete\",{id:r,topic:e})},this.deleteProposal=async(t,e)=>{await Promise.all([this.client.proposal.delete(t,R(\"USER_DISCONNECTED\")),e?Promise.resolve():this.client.core.expirer.del(t)]),this.addToRecentlyDeleted(t,\"proposal\")},this.deletePendingSessionRequest=async(t,e,s=!1)=>{await Promise.all([this.client.pendingRequest.delete(t,e),s?Promise.resolve():this.client.core.expirer.del(t)]),this.addToRecentlyDeleted(t,\"request\"),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(i=>i.id!==t),s&&(this.sessionRequestQueue.state=A.idle,this.client.events.emit(\"session_request_expire\",{id:t}))},this.setExpiry=async(t,e)=>{this.client.session.keys.includes(t)&&await this.client.session.update(t,{expiry:e}),this.client.core.expirer.set(t,e)},this.setProposal=async(t,e)=>{await this.client.proposal.set(t,e),this.client.core.expirer.set(t,N(q.wc_sessionPropose.req.ttl))},this.setPendingSessionRequest=async t=>{const{id:e,topic:s,params:i,verifyContext:r}=t,o=i.request.expiryTimestamp||N(q.wc_sessionRequest.req.ttl);await this.client.pendingRequest.set(e,{id:e,topic:s,params:i,verifyContext:r}),o&&this.client.core.expirer.set(e,o)},this.sendRequest=async t=>{const{topic:e,method:s,params:i,expiry:r,relayRpcId:o,clientRpcId:a,throwOnFailedPublish:c}=t,d=me(s,i,a);if(mt()&&je.includes(s)){const h=ee(JSON.stringify(d));this.client.core.verify.register({attestationId:h})}let p;try{p=await this.client.core.crypto.encode(e,d)}catch(h){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${e} failed`),h}const g=q[s].req;return r&&(g.ttl=r),o&&(g.id=o),this.client.core.history.set(e,d),c?(g.internal=F(m({},g.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(e,p,g)):this.client.core.relayer.publish(e,p,g).catch(h=>this.client.logger.error(h)),d.id},this.sendResult=async t=>{const{id:e,topic:s,result:i,throwOnFailedPublish:r,encodeOpts:o}=t,a=$t(e,i);let c;try{c=await this.client.core.crypto.encode(s,a,o)}catch(g){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${s} failed`),g}let d;try{d=await this.client.core.history.get(s,e)}catch(g){throw this.client.logger.error(`sendResult() -> history.get(${s}, ${e}) failed`),g}const p=q[d.request.method].res;r?(p.internal=F(m({},p.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(s,c,p)):this.client.core.relayer.publish(s,c,p).catch(g=>this.client.logger.error(g)),await this.client.core.history.resolve(a)},this.sendError=async t=>{const{id:e,topic:s,error:i,encodeOpts:r}=t,o=Lt(e,i);let a;try{a=await this.client.core.crypto.encode(s,o,r)}catch(p){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${s} failed`),p}let c;try{c=await this.client.core.history.get(s,e)}catch(p){throw this.client.logger.error(`sendError() -> history.get(${s}, ${e}) failed`),p}const d=q[c.request.method].res;this.client.core.relayer.publish(s,a,d),await this.client.core.history.resolve(o)},this.cleanup=async()=>{const t=[],e=[];this.client.session.getAll().forEach(s=>{let i=!1;G(s.expiry)&&(i=!0),this.client.core.crypto.keychain.has(s.topic)||(i=!0),i&&t.push(s.topic)}),this.client.proposal.getAll().forEach(s=>{G(s.expiryTimestamp)&&e.push(s.id)}),await Promise.all([...t.map(s=>this.deleteSession({topic:s})),...e.map(s=>this.deleteProposal(s))])},this.onRelayEventRequest=async t=>{this.requestQueue.queue.push(t),await this.processRequestsQueue()},this.processRequestsQueue=async()=>{if(this.requestQueue.state===A.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=A.active;const t=this.requestQueue.queue.shift();if(t)try{this.processRequest(t),await new Promise(e=>setTimeout(e,300))}catch(e){this.client.logger.warn(e)}}this.requestQueue.state=A.idle},this.processRequest=t=>{const{topic:e,payload:s}=t,i=s.method;if(!this.shouldIgnorePairingRequest({topic:e,requestMethod:i}))switch(i){case\"wc_sessionPropose\":return this.onSessionProposeRequest(e,s);case\"wc_sessionSettle\":return this.onSessionSettleRequest(e,s);case\"wc_sessionUpdate\":return this.onSessionUpdateRequest(e,s);case\"wc_sessionExtend\":return this.onSessionExtendRequest(e,s);case\"wc_sessionPing\":return this.onSessionPingRequest(e,s);case\"wc_sessionDelete\":return this.onSessionDeleteRequest(e,s);case\"wc_sessionRequest\":return this.onSessionRequest(e,s);case\"wc_sessionEvent\":return this.onSessionEventRequest(e,s);case\"wc_sessionAuthenticate\":return this.onSessionAuthenticateRequest(e,s);default:return this.client.logger.info(`Unsupported request method ${i}`)}},this.onRelayEventResponse=async t=>{const{topic:e,payload:s}=t,i=(await this.client.core.history.get(e,s.id)).request.method;switch(i){case\"wc_sessionPropose\":return this.onSessionProposeResponse(e,s);case\"wc_sessionSettle\":return this.onSessionSettleResponse(e,s);case\"wc_sessionUpdate\":return this.onSessionUpdateResponse(e,s);case\"wc_sessionExtend\":return this.onSessionExtendResponse(e,s);case\"wc_sessionPing\":return this.onSessionPingResponse(e,s);case\"wc_sessionRequest\":return this.onSessionRequestResponse(e,s);case\"wc_sessionAuthenticate\":return this.onSessionAuthenticateResponse(e,s);default:return this.client.logger.info(`Unsupported response method ${i}`)}},this.onRelayEventUnknownPayload=t=>{const{topic:e}=t,{message:s}=l(\"MISSING_OR_INVALID\",`Decoded payload on topic ${e} is not identifiable as a JSON-RPC request or a response.`);throw new Error(s)},this.shouldIgnorePairingRequest=t=>{const{topic:e,requestMethod:s}=t,i=this.expectedPairingMethodMap.get(e);return!i||i.includes(s)?!1:!!(i.includes(\"wc_sessionAuthenticate\")&&this.client.events.listenerCount(\"session_authenticate\")>0)},this.onSessionProposeRequest=async(t,e)=>{const{params:s,id:i}=e;try{this.isValidConnect(m({},e.params));const r=s.expiryTimestamp||N(q.wc_sessionPropose.req.ttl),o=m({id:i,pairingTopic:t,expiryTimestamp:r},s);await this.setProposal(i,o);const a=ee(JSON.stringify(e)),c=await this.getVerifyContext(a,o.proposer.metadata);this.client.events.emit(\"session_proposal\",{id:i,params:o,verifyContext:c})}catch(r){await this.sendError({id:i,topic:t,error:r}),this.client.logger.error(r)}},this.onSessionProposeResponse=async(t,e)=>{const{id:s}=e;if(b(e)){const{result:i}=e;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",result:i});const r=this.client.proposal.get(s);this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",proposal:r});const o=r.proposer.publicKey;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",selfPublicKey:o});const a=i.responderPublicKey;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",peerPublicKey:a});const c=await this.client.core.crypto.generateSharedKey(o,a);this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",sessionTopic:c});const d=await this.client.core.relayer.subscribe(c);this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",subscriptionId:d}),await this.client.core.pairing.activate({topic:t})}else if($(e)){await this.client.proposal.delete(s,R(\"USER_DISCONNECTED\"));const i=u(\"session_connect\");if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners, 954`);this.events.emit(u(\"session_connect\"),{error:e.error})}},this.onSessionSettleRequest=async(t,e)=>{const{id:s,params:i}=e;try{this.isValidSessionSettleRequest(i);const{relay:r,controller:o,expiry:a,namespaces:c,sessionProperties:d,pairingTopic:p,sessionConfig:g}=e.params,h=m(m({topic:t,relay:r,expiry:a,namespaces:c,acknowledged:!0,pairingTopic:p,requiredNamespaces:{},optionalNamespaces:{},controller:o.publicKey,self:{publicKey:\"\",metadata:this.client.metadata},peer:{publicKey:o.publicKey,metadata:o.metadata}},d&&{sessionProperties:d}),g&&{sessionConfig:g});await this.sendResult({id:e.id,topic:t,result:!0,throwOnFailedPublish:!0});const y=u(\"session_connect\");if(this.events.listenerCount(y)===0)throw new Error(`emitting ${y} without any listeners 997`);this.events.emit(u(\"session_connect\"),{session:h}),this.cleanupDuplicatePairings(h)}catch(r){await this.sendError({id:s,topic:t,error:r}),this.client.logger.error(r)}},this.onSessionSettleResponse=async(t,e)=>{const{id:s}=e;b(e)?(await this.client.session.update(t,{acknowledged:!0}),this.events.emit(u(\"session_approve\",s),{})):$(e)&&(await this.client.session.delete(t,R(\"USER_DISCONNECTED\")),this.events.emit(u(\"session_approve\",s),{error:e.error}))},this.onSessionUpdateRequest=async(t,e)=>{const{params:s,id:i}=e;try{const r=`${t}_session_update`,o=H.get(r);if(o&&this.isRequestOutOfSync(o,i)){this.client.logger.info(`Discarding out of sync request - ${i}`),this.sendError({id:i,topic:t,error:R(\"INVALID_UPDATE_REQUEST\")});return}this.isValidUpdate(m({topic:t},s));try{H.set(r,i),await this.client.session.update(t,{namespaces:s.namespaces}),await this.sendResult({id:i,topic:t,result:!0,throwOnFailedPublish:!0})}catch(a){throw H.delete(r),a}this.client.events.emit(\"session_update\",{id:i,topic:t,params:s})}catch(r){await this.sendError({id:i,topic:t,error:r}),this.client.logger.error(r)}},this.isRequestOutOfSync=(t,e)=>parseInt(e.toString().slice(0,-3))<=parseInt(t.toString().slice(0,-3)),this.onSessionUpdateResponse=(t,e)=>{const{id:s}=e,i=u(\"session_update\",s);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);b(e)?this.events.emit(u(\"session_update\",s),{}):$(e)&&this.events.emit(u(\"session_update\",s),{error:e.error})},this.onSessionExtendRequest=async(t,e)=>{const{id:s}=e;try{this.isValidExtend({topic:t}),await this.setExpiry(t,N(L)),await this.sendResult({id:s,topic:t,result:!0,throwOnFailedPublish:!0}),this.client.events.emit(\"session_extend\",{id:s,topic:t})}catch(i){await this.sendError({id:s,topic:t,error:i}),this.client.logger.error(i)}},this.onSessionExtendResponse=(t,e)=>{const{id:s}=e,i=u(\"session_extend\",s);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);b(e)?this.events.emit(u(\"session_extend\",s),{}):$(e)&&this.events.emit(u(\"session_extend\",s),{error:e.error})},this.onSessionPingRequest=async(t,e)=>{const{id:s}=e;try{this.isValidPing({topic:t}),await this.sendResult({id:s,topic:t,result:!0,throwOnFailedPublish:!0}),this.client.events.emit(\"session_ping\",{id:s,topic:t})}catch(i){await this.sendError({id:s,topic:t,error:i}),this.client.logger.error(i)}},this.onSessionPingResponse=(t,e)=>{const{id:s}=e,i=u(\"session_ping\",s);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);setTimeout(()=>{b(e)?this.events.emit(u(\"session_ping\",s),{}):$(e)&&this.events.emit(u(\"session_ping\",s),{error:e.error})},500)},this.onSessionDeleteRequest=async(t,e)=>{const{id:s}=e;try{this.isValidDisconnect({topic:t,reason:e.params}),await Promise.all([new Promise(i=>{this.client.core.relayer.once(qe.publish,async()=>{i(await this.deleteSession({topic:t,id:s}))})}),this.sendResult({id:s,topic:t,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:t,error:R(\"USER_DISCONNECTED\")})])}catch(i){this.client.logger.error(i)}},this.onSessionRequest=async(t,e)=>{const{id:s,params:i}=e;try{await this.isValidRequest(m({topic:t},i));const r=ee(JSON.stringify(me(\"wc_sessionRequest\",i,s))),o=this.client.session.get(t),a=await this.getVerifyContext(r,o.peer.metadata),c={id:s,topic:t,params:i,verifyContext:a};await this.setPendingSessionRequest(c),this.addSessionRequestToSessionRequestQueue(c),this.processSessionRequestQueue()}catch(r){await this.sendError({id:s,topic:t,error:r}),this.client.logger.error(r)}},this.onSessionRequestResponse=(t,e)=>{const{id:s}=e,i=u(\"session_request\",s);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);b(e)?this.events.emit(u(\"session_request\",s),{result:e.result}):$(e)&&this.events.emit(u(\"session_request\",s),{error:e.error})},this.onSessionEventRequest=async(t,e)=>{const{id:s,params:i}=e;try{const r=`${t}_session_event_${i.event.name}`,o=H.get(r);if(o&&this.isRequestOutOfSync(o,s)){this.client.logger.info(`Discarding out of sync request - ${s}`);return}this.isValidEmit(m({topic:t},i)),this.client.events.emit(\"session_event\",{id:s,topic:t,params:i}),H.set(r,s)}catch(r){await this.sendError({id:s,topic:t,error:r}),this.client.logger.error(r)}},this.onSessionAuthenticateResponse=(t,e)=>{const{id:s}=e;this.client.logger.trace({type:\"method\",method:\"onSessionAuthenticateResponse\",topic:t,payload:e}),b(e)?this.events.emit(u(\"session_request\",s),{result:e.result}):$(e)&&this.events.emit(u(\"session_request\",s),{error:e.error})},this.onSessionAuthenticateRequest=async(t,e)=>{const{requester:s,authPayload:i,expiryTimestamp:r}=e.params,o=ee(JSON.stringify(e)),a=await this.getVerifyContext(o,this.client.metadata),c={requester:s,pairingTopic:t,id:e.id,authPayload:i,verifyContext:a,expiryTimestamp:r};await this.client.auth.requests.set(e.id,c),this.client.events.emit(\"session_authenticate\",{topic:t,params:e.params,id:e.id})},this.addSessionRequestToSessionRequestQueue=t=>{this.sessionRequestQueue.queue.push(t)},this.cleanupAfterResponse=t=>{this.deletePendingSessionRequest(t.response.id,{message:\"fulfilled\",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=A.idle,this.processSessionRequestQueue()},Me(this.requestQueueDelay))},this.cleanupPendingSentRequestsForTopic=({topic:t,error:e})=>{const s=this.client.core.history.pending;s.length>0&&s.filter(i=>i.topic===t&&i.request.method===\"wc_sessionRequest\").forEach(i=>{const r=i.request.id,o=u(\"session_request\",r);if(this.events.listenerCount(o)===0)throw new Error(`emitting ${o} without any listeners`);this.events.emit(u(\"session_request\",i.request.id),{error:e})})},this.processSessionRequestQueue=()=>{if(this.sessionRequestQueue.state===A.active){this.client.logger.info(\"session request queue is already active.\");return}const t=this.sessionRequestQueue.queue[0];if(!t){this.client.logger.info(\"session request queue is empty.\");return}try{this.sessionRequestQueue.state=A.active,this.client.events.emit(\"session_request\",t)}catch(e){this.client.logger.error(e)}},this.onPairingCreated=t=>{if(t.methods&&this.expectedPairingMethodMap.set(t.topic,t.methods),t.active)return;const e=this.client.proposal.getAll().find(s=>s.pairingTopic===t.topic);e&&this.onSessionProposeRequest(t.topic,me(\"wc_sessionPropose\",{requiredNamespaces:e.requiredNamespaces,optionalNamespaces:e.optionalNamespaces,relays:e.relays,proposer:e.proposer,sessionProperties:e.sessionProperties},e.id))},this.isValidConnect=async t=>{if(!T(t)){const{message:a}=l(\"MISSING_OR_INVALID\",`connect() params: ${JSON.stringify(t)}`);throw new Error(a)}const{pairingTopic:e,requiredNamespaces:s,optionalNamespaces:i,sessionProperties:r,relays:o}=t;if(Y(e)||await this.isValidPairingTopic(e),!St(o,!0)){const{message:a}=l(\"MISSING_OR_INVALID\",`connect() relays: ${o}`);throw new Error(a)}!Y(s)&&Ae(s)!==0&&this.validateNamespaces(s,\"requiredNamespaces\"),!Y(i)&&Ae(i)!==0&&this.validateNamespaces(i,\"optionalNamespaces\"),Y(r)||this.validateSessionProps(r,\"sessionProperties\")},this.validateNamespaces=(t,e)=>{const s=Et(t,\"connect()\",e);if(s)throw new Error(s.message)},this.isValidApprove=async t=>{if(!T(t))throw new Error(l(\"MISSING_OR_INVALID\",`approve() params: ${t}`).message);const{id:e,namespaces:s,relayProtocol:i,sessionProperties:r}=t;this.checkRecentlyDeleted(e),await this.isValidProposalId(e);const o=this.client.proposal.get(e),a=ye(s,\"approve()\");if(a)throw new Error(a.message);const c=Ve(o.requiredNamespaces,s,\"approve()\");if(c)throw new Error(c.message);if(!V(i,!0)){const{message:d}=l(\"MISSING_OR_INVALID\",`approve() relayProtocol: ${i}`);throw new Error(d)}Y(r)||this.validateSessionProps(r,\"sessionProperties\")},this.isValidReject=async t=>{if(!T(t)){const{message:i}=l(\"MISSING_OR_INVALID\",`reject() params: ${t}`);throw new Error(i)}const{id:e,reason:s}=t;if(this.checkRecentlyDeleted(e),await this.isValidProposalId(e),!_t(s)){const{message:i}=l(\"MISSING_OR_INVALID\",`reject() reason: ${JSON.stringify(s)}`);throw new Error(i)}},this.isValidSessionSettleRequest=t=>{if(!T(t)){const{message:c}=l(\"MISSING_OR_INVALID\",`onSessionSettleRequest() params: ${t}`);throw new Error(c)}const{relay:e,controller:s,namespaces:i,expiry:r}=t;if(!Rt(e)){const{message:c}=l(\"MISSING_OR_INVALID\",\"onSessionSettleRequest() relay protocol should be a string\");throw new Error(c)}const o=It(s,\"onSessionSettleRequest()\");if(o)throw new Error(o.message);const a=ye(i,\"onSessionSettleRequest()\");if(a)throw new Error(a.message);if(G(r)){const{message:c}=l(\"EXPIRED\",\"onSessionSettleRequest()\");throw new Error(c)}},this.isValidUpdate=async t=>{if(!T(t)){const{message:a}=l(\"MISSING_OR_INVALID\",`update() params: ${t}`);throw new Error(a)}const{topic:e,namespaces:s}=t;this.checkRecentlyDeleted(e),await this.isValidSessionTopic(e);const i=this.client.session.get(e),r=ye(s,\"update()\");if(r)throw new Error(r.message);const o=Ve(i.requiredNamespaces,s,\"update()\");if(o)throw new Error(o.message)},this.isValidExtend=async t=>{if(!T(t)){const{message:s}=l(\"MISSING_OR_INVALID\",`extend() params: ${t}`);throw new Error(s)}const{topic:e}=t;this.checkRecentlyDeleted(e),await this.isValidSessionTopic(e)},this.isValidRequest=async t=>{if(!T(t)){const{message:a}=l(\"MISSING_OR_INVALID\",`request() params: ${t}`);throw new Error(a)}const{topic:e,request:s,chainId:i,expiry:r}=t;this.checkRecentlyDeleted(e),await this.isValidSessionTopic(e);const{namespaces:o}=this.client.session.get(e);if(!Ce(o,i)){const{message:a}=l(\"MISSING_OR_INVALID\",`request() chainId: ${i}`);throw new Error(a)}if(!ft(s)){const{message:a}=l(\"MISSING_OR_INVALID\",`request() ${JSON.stringify(s)}`);throw new Error(a)}if(!qt(o,i,s.method)){const{message:a}=l(\"MISSING_OR_INVALID\",`request() method: ${s.method}`);throw new Error(a)}if(r&&!Nt(r,re)){const{message:a}=l(\"MISSING_OR_INVALID\",`request() expiry: ${r}. Expiry must be a number (in seconds) between ${re.min} and ${re.max}`);throw new Error(a)}},this.isValidRespond=async t=>{var e;if(!T(t)){const{message:r}=l(\"MISSING_OR_INVALID\",`respond() params: ${t}`);throw new Error(r)}const{topic:s,response:i}=t;try{await this.isValidSessionTopic(s)}catch(r){throw(e=t?.response)!=null&&e.id&&this.cleanupAfterResponse(t),r}if(!Pt(i)){const{message:r}=l(\"MISSING_OR_INVALID\",`respond() response: ${JSON.stringify(i)}`);throw new Error(r)}},this.isValidPing=async t=>{if(!T(t)){const{message:s}=l(\"MISSING_OR_INVALID\",`ping() params: ${t}`);throw new Error(s)}const{topic:e}=t;await this.isValidSessionOrPairingTopic(e)},this.isValidEmit=async t=>{if(!T(t)){const{message:o}=l(\"MISSING_OR_INVALID\",`emit() params: ${t}`);throw new Error(o)}const{topic:e,event:s,chainId:i}=t;await this.isValidSessionTopic(e);const{namespaces:r}=this.client.session.get(e);if(!Ce(r,i)){const{message:o}=l(\"MISSING_OR_INVALID\",`emit() chainId: ${i}`);throw new Error(o)}if(!vt(s)){const{message:o}=l(\"MISSING_OR_INVALID\",`emit() event: ${JSON.stringify(s)}`);throw new Error(o)}if(!Ot(r,i,s.name)){const{message:o}=l(\"MISSING_OR_INVALID\",`emit() event: ${JSON.stringify(s)}`);throw new Error(o)}},this.isValidDisconnect=async t=>{if(!T(t)){const{message:s}=l(\"MISSING_OR_INVALID\",`disconnect() params: ${t}`);throw new Error(s)}const{topic:e}=t;await this.isValidSessionOrPairingTopic(e)},this.isValidAuthenticate=t=>{const{chains:e,uri:s,domain:i,nonce:r}=t;if(!Array.isArray(e)||e.length===0)throw new Error(\"chains is required and must be a non-empty array\");if(!V(s,!1))throw new Error(\"uri is required parameter\");if(!V(i,!1))throw new Error(\"domain is required parameter\");if(!V(r,!1))throw new Error(\"nonce is required parameter\");if([...new Set(e.map(a=>ge(a).namespace))].length>1)throw new Error(\"Multi-namespace requests are not supported. Please request single namespace only.\");const{namespace:o}=ge(e[0]);if(o!==\"eip155\")throw new Error(\"Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.\")},this.getVerifyContext=async(t,e)=>{const s={verified:{verifyUrl:e.verifyUrl||st,validation:\"UNKNOWN\",origin:e.url||\"\"}};try{const i=await this.client.core.verify.resolve({attestationId:t,verifyUrl:e.verifyUrl});i&&(s.verified.origin=i.origin,s.verified.isScam=i.isScam,s.verified.validation=i.origin===new URL(e.url).origin?\"VALID\":\"INVALID\")}catch(i){this.client.logger.info(i)}return this.client.logger.info(`Verify context: ${JSON.stringify(s)}`),s},this.validateSessionProps=(t,e)=>{Object.values(t).forEach(s=>{if(!V(s,!1)){const{message:i}=l(\"MISSING_OR_INVALID\",`${e} must be in Record format. Received: ${JSON.stringify(s)}`);throw new Error(i)}})},this.getPendingAuthRequest=t=>{const e=this.client.auth.requests.get(t);return typeof e==\"object\"?e:void 0},this.addToRecentlyDeleted=(t,e)=>{if(this.recentlyDeletedMap.set(t,e),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let s=0;const i=this.recentlyDeletedLimit/2;for(const r of this.recentlyDeletedMap.keys()){if(s++>=i)break;this.recentlyDeletedMap.delete(r)}}},this.checkRecentlyDeleted=t=>{const e=this.recentlyDeletedMap.get(t);if(e){const{message:s}=l(\"MISSING_OR_INVALID\",`Record was recently deleted - ${e}: ${t}`);throw new Error(s)}}}async isInitialized(){if(!this.initialized){const{message:n}=l(\"NOT_INITIALIZED\",this.name);throw new Error(n)}await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(qe.message,async n=>{const{topic:t,message:e}=n,{publicKey:s}=this.client.auth.authKeys.keys.includes(J)?this.client.auth.authKeys.get(J):{responseTopic:void 0,publicKey:void 0},i=await this.client.core.crypto.decode(t,e,{receiverPublicKey:s});try{Mt(i)?(this.client.core.history.set(t,i),this.onRelayEventRequest({topic:t,payload:i})):Kt(i)?(await this.client.core.history.resolve(i),await this.onRelayEventResponse({topic:t,payload:i}),this.client.core.history.delete(t,i.id)):this.onRelayEventUnknownPayload({topic:t,payload:i})}catch(r){this.client.logger.error(r)}})}registerExpirerEvents(){this.client.core.expirer.on(it.expired,async n=>{const{topic:t,id:e}=Tt(n.target);if(e&&this.client.pendingRequest.keys.includes(e))return await this.deletePendingSessionRequest(e,l(\"EXPIRED\"),!0);t?this.client.session.keys.includes(t)&&(await this.deleteSession({topic:t,expirerHasDeleted:!0}),this.client.events.emit(\"session_expire\",{topic:t})):e&&(await this.deleteProposal(e,!0),this.client.events.emit(\"proposal_expire\",{id:e}))})}registerPairingEvents(){this.client.core.pairing.events.on(Ne.create,n=>this.onPairingCreated(n)),this.client.core.pairing.events.on(Ne.delete,n=>{this.addToRecentlyDeleted(n.topic,\"pairing\")})}isValidPairingTopic(n){if(!V(n,!1)){const{message:t}=l(\"MISSING_OR_INVALID\",`pairing topic should be a string: ${n}`);throw new Error(t)}if(!this.client.core.pairing.pairings.keys.includes(n)){const{message:t}=l(\"NO_MATCHING_KEY\",`pairing topic doesn't exist: ${n}`);throw new Error(t)}if(G(this.client.core.pairing.pairings.get(n).expiry)){const{message:t}=l(\"EXPIRED\",`pairing topic: ${n}`);throw new Error(t)}}async isValidSessionTopic(n){if(!V(n,!1)){const{message:t}=l(\"MISSING_OR_INVALID\",`session topic should be a string: ${n}`);throw new Error(t)}if(this.checkRecentlyDeleted(n),!this.client.session.keys.includes(n)){const{message:t}=l(\"NO_MATCHING_KEY\",`session topic doesn't exist: ${n}`);throw new Error(t)}if(G(this.client.session.get(n).expiry)){await this.deleteSession({topic:n});const{message:t}=l(\"EXPIRED\",`session topic: ${n}`);throw new Error(t)}if(!this.client.core.crypto.keychain.has(n)){const{message:t}=l(\"MISSING_OR_INVALID\",`session topic does not exist in keychain: ${n}`);throw await this.deleteSession({topic:n}),new Error(t)}}async isValidSessionOrPairingTopic(n){if(this.checkRecentlyDeleted(n),this.client.session.keys.includes(n))await this.isValidSessionTopic(n);else if(this.client.core.pairing.pairings.keys.includes(n))this.isValidPairingTopic(n);else if(V(n,!1)){const{message:t}=l(\"NO_MATCHING_KEY\",`session or pairing topic doesn't exist: ${n}`);throw new Error(t)}else{const{message:t}=l(\"MISSING_OR_INVALID\",`session or pairing topic should be a string: ${n}`);throw new Error(t)}}async isValidProposalId(n){if(!Dt(n)){const{message:t}=l(\"MISSING_OR_INVALID\",`proposal id should be a number: ${n}`);throw new Error(t)}if(!this.client.proposal.keys.includes(n)){const{message:t}=l(\"NO_MATCHING_KEY\",`proposal id doesn't exist: ${n}`);throw new Error(t)}if(G(this.client.proposal.get(n).expiryTimestamp)){await this.deleteProposal(n);const{message:t}=l(\"EXPIRED\",`proposal id: ${n}`);throw new Error(t)}}}class Zt extends K{constructor(n,t){super(n,t,Ke,se),this.core=n,this.logger=t}}class We extends K{constructor(n,t){super(n,t,Ge,se),this.core=n,this.logger=t}}class es extends K{constructor(n,t){super(n,t,Fe,se,e=>e.id),this.core=n,this.logger=t}}class ts extends K{constructor(n,t){super(n,t,He,X,()=>J),this.core=n,this.logger=t}}class ss extends K{constructor(n,t){super(n,t,Ye,X),this.core=n,this.logger=t}}class is extends K{constructor(n,t){super(n,t,Xe,X,e=>e.id),this.core=n,this.logger=t}}class rs{constructor(n,t){this.core=n,this.logger=t,this.authKeys=new ts(this.core,this.logger),this.pairingTopics=new ss(this.core,this.logger),this.requests=new is(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}class ne extends ht{constructor(n){super(n),this.protocol=Se,this.version=Ee,this.name=ie.name,this.events=new Vt,this.on=(e,s)=>this.events.on(e,s),this.once=(e,s)=>this.events.once(e,s),this.off=(e,s)=>this.events.off(e,s),this.removeListener=(e,s)=>this.events.removeListener(e,s),this.removeAllListeners=e=>this.events.removeAllListeners(e),this.connect=async e=>{try{return await this.engine.connect(e)}catch(s){throw this.logger.error(s.message),s}},this.pair=async e=>{try{return await this.engine.pair(e)}catch(s){throw this.logger.error(s.message),s}},this.approve=async e=>{try{return await this.engine.approve(e)}catch(s){throw this.logger.error(s.message),s}},this.reject=async e=>{try{return await this.engine.reject(e)}catch(s){throw this.logger.error(s.message),s}},this.update=async e=>{try{return await this.engine.update(e)}catch(s){throw this.logger.error(s.message),s}},this.extend=async e=>{try{return await this.engine.extend(e)}catch(s){throw this.logger.error(s.message),s}},this.request=async e=>{try{return await this.engine.request(e)}catch(s){throw this.logger.error(s.message),s}},this.respond=async e=>{try{return await this.engine.respond(e)}catch(s){throw this.logger.error(s.message),s}},this.ping=async e=>{try{return await this.engine.ping(e)}catch(s){throw this.logger.error(s.message),s}},this.emit=async e=>{try{return await this.engine.emit(e)}catch(s){throw this.logger.error(s.message),s}},this.disconnect=async e=>{try{return await this.engine.disconnect(e)}catch(s){throw this.logger.error(s.message),s}},this.find=e=>{try{return this.engine.find(e)}catch(s){throw this.logger.error(s.message),s}},this.getPendingSessionRequests=()=>{try{return this.engine.getPendingSessionRequests()}catch(e){throw this.logger.error(e.message),e}},this.authenticate=async e=>{try{return await this.engine.authenticate(e)}catch(s){throw this.logger.error(s.message),s}},this.formatAuthMessage=e=>{try{return this.engine.formatAuthMessage(e)}catch(s){throw this.logger.error(s.message),s}},this.approveSessionAuthenticate=async e=>{try{return await this.engine.approveSessionAuthenticate(e)}catch(s){throw this.logger.error(s.message),s}},this.rejectSessionAuthenticate=async e=>{try{return await this.engine.rejectSessionAuthenticate(e)}catch(s){throw this.logger.error(s.message),s}},this.name=n?.name||ie.name,this.metadata=n?.metadata||xt();const t=typeof n?.logger<\"u\"&&typeof n?.logger!=\"string\"?n.logger:nt(ot({level:n?.logger||ie.logger}));this.core=n?.core||new rt(n),this.logger=at(t,this.name),this.session=new We(this.core,this.logger),this.proposal=new Zt(this.core,this.logger),this.pendingRequest=new es(this.core,this.logger),this.engine=new Wt(this),this.auth=new rs(this.core,this.logger)}static async init(n){const t=new ne(n);return await t.initialize(),t}get context(){return ct(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace(\"Initialized\");try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.engine.init(),await this.auth.init(),this.core.verify.init({verifyUrl:this.metadata.verifyUrl}),this.logger.info(\"SignClient Initialization Success\")}catch(n){throw this.logger.info(\"SignClient Initialization Failure\"),this.logger.error(n.message),n}}}const ns=We,os=ne;export{ze as AUTH_CONTEXT,He as AUTH_KEYS_CONTEXT,Ye as AUTH_PAIRING_TOPIC_CONTEXT,Qe as AUTH_PROTOCOL,J as AUTH_PUBLIC_KEY_NAME,Xe as AUTH_REQUEST_CONTEXT,X as AUTH_STORAGE_PREFIX,zt as AUTH_VERSION,ke as ENGINE_CONTEXT,A as ENGINE_QUEUE_STATES,q as ENGINE_RPC_OPTS,Ft as HISTORY_CONTEXT,kt as HISTORY_EVENTS,jt as HISTORY_STORAGE_VERSION,je as METHODS_TO_VERIFY,Ke as PROPOSAL_CONTEXT,Qt as PROPOSAL_EXPIRY,Ue as PROPOSAL_EXPIRY_MESSAGE,Fe as REQUEST_CONTEXT,Ge as SESSION_CONTEXT,L as SESSION_EXPIRY,re as SESSION_REQUEST_EXPIRY_BOUNDARIES,_e as SIGN_CLIENT_CONTEXT,ie as SIGN_CLIENT_DEFAULT,Ut as SIGN_CLIENT_EVENTS,Se as SIGN_CLIENT_PROTOCOL,Gt as SIGN_CLIENT_STORAGE_OPTIONS,se as SIGN_CLIENT_STORAGE_PREFIX,Ee as SIGN_CLIENT_VERSION,ns as SessionStore,os as SignClient,Re as WALLETCONNECT_DEEPLINK_CHOICE,ne as default};\n//# sourceMappingURL=index.es.js.map\n","import Tg,{PROPOSAL_EXPIRY_MESSAGE as Lg}from\"@walletconnect/sign-client\";import{isValidObject as Dg,isCaipNamespace as Aa,parseNamespaceKey as de,mergeArrays as $i,parseChainId as Ng,getSdkError as Ca,isValidArray as Ia}from\"@walletconnect/utils\";import{pino as Hg,getDefaultLoggerOptions as $g}from\"@walletconnect/logger\";import At,{HttpConnection as Ug}from\"@walletconnect/jsonrpc-http-connection\";import{JsonRpcProvider as ot}from\"@walletconnect/jsonrpc-provider\";import Wg from\"events\";import{formatJsonRpcResult as Fg}from\"@walletconnect/jsonrpc-utils\";const xa=\"error\",Mg=\"wss://relay.walletconnect.com\",qg=\"wc\",Bg=\"universal_provider\",Ea=`${qg}@2:${Bg}:`,Gg=\"https://rpc.walletconnect.com/v1/\",Vn={DEFAULT_CHAIN_CHANGED:\"default_chain_changed\"};var ge=typeof globalThis<\"u\"?globalThis:typeof window<\"u\"?window:typeof global<\"u\"?global:typeof self<\"u\"?self:{},Ui={exports:{}};/**\n * @license\n * Lodash \n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */(function(A,u){(function(){var i,p=\"4.17.21\",w=200,b=\"Unsupported core-js use. Try https://npms.io/search?q=ponyfill.\",D=\"Expected a function\",En=\"Invalid `variable` option passed into `_.template`\",zt=\"__lodash_hash_undefined__\",pr=500,It=\"__lodash_placeholder__\",Ln=1,Fn=2,xt=4,Et=1,ve=2,vn=1,ct=2,Bi=4,Dn=8,yt=16,Nn=32,St=64,Mn=128,Kt=256,dr=512,Na=30,Ha=\"...\",$a=800,Ua=16,Gi=1,Wa=2,Fa=3,ht=1/0,kn=9007199254740991,Ma=17976931348623157e292,_e=0/0,Hn=4294967295,qa=Hn-1,Ba=Hn>>>1,Ga=[[\"ary\",Mn],[\"bind\",vn],[\"bindKey\",ct],[\"curry\",Dn],[\"curryRight\",yt],[\"flip\",dr],[\"partial\",Nn],[\"partialRight\",St],[\"rearg\",Kt]],Ot=\"[object Arguments]\",me=\"[object Array]\",za=\"[object AsyncFunction]\",Yt=\"[object Boolean]\",Zt=\"[object Date]\",Ka=\"[object DOMException]\",we=\"[object Error]\",Pe=\"[object Function]\",zi=\"[object GeneratorFunction]\",yn=\"[object Map]\",Jt=\"[object Number]\",Ya=\"[object Null]\",qn=\"[object Object]\",Ki=\"[object Promise]\",Za=\"[object Proxy]\",Xt=\"[object RegExp]\",Sn=\"[object Set]\",Qt=\"[object String]\",Ae=\"[object Symbol]\",Ja=\"[object Undefined]\",Vt=\"[object WeakMap]\",Xa=\"[object WeakSet]\",kt=\"[object ArrayBuffer]\",Rt=\"[object DataView]\",gr=\"[object Float32Array]\",vr=\"[object Float64Array]\",_r=\"[object Int8Array]\",mr=\"[object Int16Array]\",wr=\"[object Int32Array]\",Pr=\"[object Uint8Array]\",Ar=\"[object Uint8ClampedArray]\",Cr=\"[object Uint16Array]\",Ir=\"[object Uint32Array]\",Qa=/\\b__p \\+= '';/g,Va=/\\b(__p \\+=) '' \\+/g,ka=/(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g,Yi=/&(?:amp|lt|gt|quot|#39);/g,Zi=/[&<>\"']/g,ja=RegExp(Yi.source),no=RegExp(Zi.source),to=/<%-([\\s\\S]+?)%>/g,eo=/<%([\\s\\S]+?)%>/g,Ji=/<%=([\\s\\S]+?)%>/g,ro=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,io=/^\\w*$/,so=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,xr=/[\\\\^$.*+?()[\\]{}|]/g,uo=RegExp(xr.source),Er=/^\\s+/,ao=/\\s/,oo=/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,fo=/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,co=/,? & /,ho=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g,lo=/[()=,{}\\[\\]\\/\\s]/,po=/\\\\(\\\\)?/g,go=/\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g,Xi=/\\w*$/,vo=/^[-+]0x[0-9a-f]+$/i,_o=/^0b[01]+$/i,mo=/^\\[object .+?Constructor\\]$/,wo=/^0o[0-7]+$/i,Po=/^(?:0|[1-9]\\d*)$/,Ao=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,Ce=/($^)/,Co=/['\\n\\r\\u2028\\u2029\\\\]/g,Ie=\"\\\\ud800-\\\\udfff\",Io=\"\\\\u0300-\\\\u036f\",xo=\"\\\\ufe20-\\\\ufe2f\",Eo=\"\\\\u20d0-\\\\u20ff\",Qi=Io+xo+Eo,Vi=\"\\\\u2700-\\\\u27bf\",ki=\"a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff\",yo=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\",So=\"\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\",Oo=\"\\\\u2000-\\\\u206f\",Ro=\" \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",ji=\"A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde\",ns=\"\\\\ufe0e\\\\ufe0f\",ts=yo+So+Oo+Ro,yr=\"['\\u2019]\",bo=\"[\"+Ie+\"]\",es=\"[\"+ts+\"]\",xe=\"[\"+Qi+\"]\",rs=\"\\\\d+\",To=\"[\"+Vi+\"]\",is=\"[\"+ki+\"]\",ss=\"[^\"+Ie+ts+rs+Vi+ki+ji+\"]\",Sr=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",Lo=\"(?:\"+xe+\"|\"+Sr+\")\",us=\"[^\"+Ie+\"]\",Or=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",Rr=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",bt=\"[\"+ji+\"]\",as=\"\\\\u200d\",os=\"(?:\"+is+\"|\"+ss+\")\",Do=\"(?:\"+bt+\"|\"+ss+\")\",fs=\"(?:\"+yr+\"(?:d|ll|m|re|s|t|ve))?\",cs=\"(?:\"+yr+\"(?:D|LL|M|RE|S|T|VE))?\",hs=Lo+\"?\",ls=\"[\"+ns+\"]?\",No=\"(?:\"+as+\"(?:\"+[us,Or,Rr].join(\"|\")+\")\"+ls+hs+\")*\",Ho=\"\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])\",$o=\"\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])\",ps=ls+hs+No,Uo=\"(?:\"+[To,Or,Rr].join(\"|\")+\")\"+ps,Wo=\"(?:\"+[us+xe+\"?\",xe,Or,Rr,bo].join(\"|\")+\")\",Fo=RegExp(yr,\"g\"),Mo=RegExp(xe,\"g\"),br=RegExp(Sr+\"(?=\"+Sr+\")|\"+Wo+ps,\"g\"),qo=RegExp([bt+\"?\"+is+\"+\"+fs+\"(?=\"+[es,bt,\"$\"].join(\"|\")+\")\",Do+\"+\"+cs+\"(?=\"+[es,bt+os,\"$\"].join(\"|\")+\")\",bt+\"?\"+os+\"+\"+fs,bt+\"+\"+cs,$o,Ho,rs,Uo].join(\"|\"),\"g\"),Bo=RegExp(\"[\"+as+Ie+Qi+ns+\"]\"),Go=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,zo=[\"Array\",\"Buffer\",\"DataView\",\"Date\",\"Error\",\"Float32Array\",\"Float64Array\",\"Function\",\"Int8Array\",\"Int16Array\",\"Int32Array\",\"Map\",\"Math\",\"Object\",\"Promise\",\"RegExp\",\"Set\",\"String\",\"Symbol\",\"TypeError\",\"Uint8Array\",\"Uint8ClampedArray\",\"Uint16Array\",\"Uint32Array\",\"WeakMap\",\"_\",\"clearTimeout\",\"isFinite\",\"parseInt\",\"setTimeout\"],Ko=-1,B={};B[gr]=B[vr]=B[_r]=B[mr]=B[wr]=B[Pr]=B[Ar]=B[Cr]=B[Ir]=!0,B[Ot]=B[me]=B[kt]=B[Yt]=B[Rt]=B[Zt]=B[we]=B[Pe]=B[yn]=B[Jt]=B[qn]=B[Xt]=B[Sn]=B[Qt]=B[Vt]=!1;var q={};q[Ot]=q[me]=q[kt]=q[Rt]=q[Yt]=q[Zt]=q[gr]=q[vr]=q[_r]=q[mr]=q[wr]=q[yn]=q[Jt]=q[qn]=q[Xt]=q[Sn]=q[Qt]=q[Ae]=q[Pr]=q[Ar]=q[Cr]=q[Ir]=!0,q[we]=q[Pe]=q[Vt]=!1;var Yo={\\u00C0:\"A\",\\u00C1:\"A\",\\u00C2:\"A\",\\u00C3:\"A\",\\u00C4:\"A\",\\u00C5:\"A\",\\u00E0:\"a\",\\u00E1:\"a\",\\u00E2:\"a\",\\u00E3:\"a\",\\u00E4:\"a\",\\u00E5:\"a\",\\u00C7:\"C\",\\u00E7:\"c\",\\u00D0:\"D\",\\u00F0:\"d\",\\u00C8:\"E\",\\u00C9:\"E\",\\u00CA:\"E\",\\u00CB:\"E\",\\u00E8:\"e\",\\u00E9:\"e\",\\u00EA:\"e\",\\u00EB:\"e\",\\u00CC:\"I\",\\u00CD:\"I\",\\u00CE:\"I\",\\u00CF:\"I\",\\u00EC:\"i\",\\u00ED:\"i\",\\u00EE:\"i\",\\u00EF:\"i\",\\u00D1:\"N\",\\u00F1:\"n\",\\u00D2:\"O\",\\u00D3:\"O\",\\u00D4:\"O\",\\u00D5:\"O\",\\u00D6:\"O\",\\u00D8:\"O\",\\u00F2:\"o\",\\u00F3:\"o\",\\u00F4:\"o\",\\u00F5:\"o\",\\u00F6:\"o\",\\u00F8:\"o\",\\u00D9:\"U\",\\u00DA:\"U\",\\u00DB:\"U\",\\u00DC:\"U\",\\u00F9:\"u\",\\u00FA:\"u\",\\u00FB:\"u\",\\u00FC:\"u\",\\u00DD:\"Y\",\\u00FD:\"y\",\\u00FF:\"y\",\\u00C6:\"Ae\",\\u00E6:\"ae\",\\u00DE:\"Th\",\\u00FE:\"th\",\\u00DF:\"ss\",\\u0100:\"A\",\\u0102:\"A\",\\u0104:\"A\",\\u0101:\"a\",\\u0103:\"a\",\\u0105:\"a\",\\u0106:\"C\",\\u0108:\"C\",\\u010A:\"C\",\\u010C:\"C\",\\u0107:\"c\",\\u0109:\"c\",\\u010B:\"c\",\\u010D:\"c\",\\u010E:\"D\",\\u0110:\"D\",\\u010F:\"d\",\\u0111:\"d\",\\u0112:\"E\",\\u0114:\"E\",\\u0116:\"E\",\\u0118:\"E\",\\u011A:\"E\",\\u0113:\"e\",\\u0115:\"e\",\\u0117:\"e\",\\u0119:\"e\",\\u011B:\"e\",\\u011C:\"G\",\\u011E:\"G\",\\u0120:\"G\",\\u0122:\"G\",\\u011D:\"g\",\\u011F:\"g\",\\u0121:\"g\",\\u0123:\"g\",\\u0124:\"H\",\\u0126:\"H\",\\u0125:\"h\",\\u0127:\"h\",\\u0128:\"I\",\\u012A:\"I\",\\u012C:\"I\",\\u012E:\"I\",\\u0130:\"I\",\\u0129:\"i\",\\u012B:\"i\",\\u012D:\"i\",\\u012F:\"i\",\\u0131:\"i\",\\u0134:\"J\",\\u0135:\"j\",\\u0136:\"K\",\\u0137:\"k\",\\u0138:\"k\",\\u0139:\"L\",\\u013B:\"L\",\\u013D:\"L\",\\u013F:\"L\",\\u0141:\"L\",\\u013A:\"l\",\\u013C:\"l\",\\u013E:\"l\",\\u0140:\"l\",\\u0142:\"l\",\\u0143:\"N\",\\u0145:\"N\",\\u0147:\"N\",\\u014A:\"N\",\\u0144:\"n\",\\u0146:\"n\",\\u0148:\"n\",\\u014B:\"n\",\\u014C:\"O\",\\u014E:\"O\",\\u0150:\"O\",\\u014D:\"o\",\\u014F:\"o\",\\u0151:\"o\",\\u0154:\"R\",\\u0156:\"R\",\\u0158:\"R\",\\u0155:\"r\",\\u0157:\"r\",\\u0159:\"r\",\\u015A:\"S\",\\u015C:\"S\",\\u015E:\"S\",\\u0160:\"S\",\\u015B:\"s\",\\u015D:\"s\",\\u015F:\"s\",\\u0161:\"s\",\\u0162:\"T\",\\u0164:\"T\",\\u0166:\"T\",\\u0163:\"t\",\\u0165:\"t\",\\u0167:\"t\",\\u0168:\"U\",\\u016A:\"U\",\\u016C:\"U\",\\u016E:\"U\",\\u0170:\"U\",\\u0172:\"U\",\\u0169:\"u\",\\u016B:\"u\",\\u016D:\"u\",\\u016F:\"u\",\\u0171:\"u\",\\u0173:\"u\",\\u0174:\"W\",\\u0175:\"w\",\\u0176:\"Y\",\\u0177:\"y\",\\u0178:\"Y\",\\u0179:\"Z\",\\u017B:\"Z\",\\u017D:\"Z\",\\u017A:\"z\",\\u017C:\"z\",\\u017E:\"z\",\\u0132:\"IJ\",\\u0133:\"ij\",\\u0152:\"Oe\",\\u0153:\"oe\",\\u0149:\"'n\",\\u017F:\"s\"},Zo={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\",\"'\":\"'\"},Jo={\"&\":\"&\",\"<\":\"<\",\">\":\">\",\""\":'\"',\"'\":\"'\"},Xo={\"\\\\\":\"\\\\\",\"'\":\"'\",\"\\n\":\"n\",\"\\r\":\"r\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},Qo=parseFloat,Vo=parseInt,ds=typeof ge==\"object\"&&ge&&ge.Object===Object&&ge,ko=typeof self==\"object\"&&self&&self.Object===Object&&self,k=ds||ko||Function(\"return this\")(),Tr=u&&!u.nodeType&&u,lt=Tr&&!0&&A&&!A.nodeType&&A,gs=lt&<.exports===Tr,Lr=gs&&ds.process,_n=function(){try{var h=lt&<.require&<.require(\"util\").types;return h||Lr&&Lr.binding&&Lr.binding(\"util\")}catch{}}(),vs=_n&&_n.isArrayBuffer,_s=_n&&_n.isDate,ms=_n&&_n.isMap,ws=_n&&_n.isRegExp,Ps=_n&&_n.isSet,As=_n&&_n.isTypedArray;function cn(h,g,d){switch(d.length){case 0:return h.call(g);case 1:return h.call(g,d[0]);case 2:return h.call(g,d[0],d[1]);case 3:return h.call(g,d[0],d[1],d[2])}return h.apply(g,d)}function jo(h,g,d,C){for(var S=-1,U=h==null?0:h.length;++S-1}function Dr(h,g,d){for(var C=-1,S=h==null?0:h.length;++C-1;);return d}function Rs(h,g){for(var d=h.length;d--&&Tt(g,h[d],0)>-1;);return d}function ff(h,g){for(var d=h.length,C=0;d--;)h[d]===g&&++C;return C}var cf=Ur(Yo),hf=Ur(Zo);function lf(h){return\"\\\\\"+Xo[h]}function pf(h,g){return h==null?i:h[g]}function Lt(h){return Bo.test(h)}function df(h){return Go.test(h)}function gf(h){for(var g,d=[];!(g=h.next()).done;)d.push(g.value);return d}function qr(h){var g=-1,d=Array(h.size);return h.forEach(function(C,S){d[++g]=[S,C]}),d}function bs(h,g){return function(d){return h(g(d))}}function tt(h,g){for(var d=-1,C=h.length,S=0,U=[];++d-1}function ec(n,t){var e=this.__data__,r=Be(e,n);return r<0?(++this.size,e.push([n,t])):e[r][1]=t,this}Bn.prototype.clear=kf,Bn.prototype.delete=jf,Bn.prototype.get=nc,Bn.prototype.has=tc,Bn.prototype.set=ec;function Gn(n){var t=-1,e=n==null?0:n.length;for(this.clear();++t=t?n:t)),n}function An(n,t,e,r,s,o){var f,c=t&Ln,l=t&Fn,v=t&xt;if(e&&(f=s?e(n,r,s,o):e(n)),f!==i)return f;if(!K(n))return n;var _=O(n);if(_){if(f=uh(n),!c)return un(n,f)}else{var m=tn(n),P=m==Pe||m==zi;if(at(n))return lu(n,c);if(m==qn||m==Ot||P&&!s){if(f=l||P?{}:Tu(n),!c)return l?Xc(n,mc(f,n)):Jc(n,Bs(f,n))}else{if(!q[m])return s?n:{};f=ah(n,m,c)}}o||(o=new Rn);var I=o.get(n);if(I)return I;o.set(n,f),ua(n)?n.forEach(function(y){f.add(An(y,t,e,y,n,o))}):ia(n)&&n.forEach(function(y,N){f.set(N,An(y,t,e,N,n,o))});var E=v?l?pi:li:l?on:V,T=_?i:E(n);return mn(T||n,function(y,N){T&&(N=y,y=n[N]),se(f,N,An(y,t,e,N,n,o))}),f}function wc(n){var t=V(n);return function(e){return Gs(e,n,t)}}function Gs(n,t,e){var r=e.length;if(n==null)return!r;for(n=M(n);r--;){var s=e[r],o=t[s],f=n[s];if(f===i&&!(s in n)||!o(f))return!1}return!0}function zs(n,t,e){if(typeof n!=\"function\")throw new wn(D);return le(function(){n.apply(i,e)},t)}function ue(n,t,e,r){var s=-1,o=Ee,f=!0,c=n.length,l=[],v=t.length;if(!c)return l;e&&(t=G(t,hn(e))),r?(o=Dr,f=!1):t.length>=w&&(o=jt,f=!1,t=new gt(t));n:for(;++ss?0:s+e),r=r===i||r>s?s:R(r),r<0&&(r+=s),r=e>r?0:oa(r);e0&&e(c)?t>1?j(c,t-1,e,r,s):nt(s,c):r||(s[s.length]=c)}return s}var Jr=mu(),Zs=mu(!0);function $n(n,t){return n&&Jr(n,t,V)}function Xr(n,t){return n&&Zs(n,t,V)}function ze(n,t){return jn(t,function(e){return Jn(n[e])})}function _t(n,t){t=st(t,n);for(var e=0,r=t.length;n!=null&&et}function Cc(n,t){return n!=null&&F.call(n,t)}function Ic(n,t){return n!=null&&t in M(n)}function xc(n,t,e){return n>=nn(t,e)&&n=120&&_.length>=120)?new gt(f&&_):i}_=n[0];var m=-1,P=c[0];n:for(;++m-1;)c!==n&&He.call(c,l,1),He.call(n,l,1);return n}function iu(n,t){for(var e=n?t.length:0,r=e-1;e--;){var s=t[e];if(e==r||s!==o){var o=s;Zn(s)?He.call(n,s,1):si(n,s)}}return n}function ei(n,t){return n+We(Ws()*(t-n+1))}function Uc(n,t,e,r){for(var s=-1,o=Q(Ue((t-n)/(e||1)),0),f=d(o);o--;)f[r?o:++s]=n,n+=e;return f}function ri(n,t){var e=\"\";if(!n||t<1||t>kn)return e;do t%2&&(e+=n),t=We(t/2),t&&(n+=n);while(t);return e}function L(n,t){return Pi(Nu(n,t,fn),n+\"\")}function Wc(n){return qs(Gt(n))}function Fc(n,t){var e=Gt(n);return tr(e,vt(t,0,e.length))}function fe(n,t,e,r){if(!K(n))return n;t=st(t,n);for(var s=-1,o=t.length,f=o-1,c=n;c!=null&&++ss?0:s+t),e=e>s?s:e,e<0&&(e+=s),s=t>e?0:e-t>>>0,t>>>=0;for(var o=d(s);++r>>1,f=n[o];f!==null&&!pn(f)&&(e?f<=t:f=w){var v=t?null:jc(n);if(v)return Se(v);f=!1,s=jt,l=new gt}else l=t?[]:c;n:for(;++r=r?n:Cn(n,t,e)}var hu=bf||function(n){return k.clearTimeout(n)};function lu(n,t){if(t)return n.slice();var e=n.length,r=Ds?Ds(e):new n.constructor(e);return n.copy(r),r}function fi(n){var t=new n.constructor(n.byteLength);return new De(t).set(new De(n)),t}function zc(n,t){var e=t?fi(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}function Kc(n){var t=new n.constructor(n.source,Xi.exec(n));return t.lastIndex=n.lastIndex,t}function Yc(n){return ie?M(ie.call(n)):{}}function pu(n,t){var e=t?fi(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.length)}function du(n,t){if(n!==t){var e=n!==i,r=n===null,s=n===n,o=pn(n),f=t!==i,c=t===null,l=t===t,v=pn(t);if(!c&&!v&&!o&&n>t||o&&f&&l&&!c&&!v||r&&f&&l||!e&&l||!s)return 1;if(!r&&!o&&!v&&n=c)return l;var v=e[r];return l*(v==\"desc\"?-1:1)}}return n.index-t.index}function gu(n,t,e,r){for(var s=-1,o=n.length,f=e.length,c=-1,l=t.length,v=Q(o-f,0),_=d(l+v),m=!r;++c1?e[s-1]:i,f=s>2?e[2]:i;for(o=n.length>3&&typeof o==\"function\"?(s--,o):i,f&&rn(e[0],e[1],f)&&(o=s<3?i:o,s=1),t=M(t);++r-1?s[o?t[f]:f]:i}}function Au(n){return Yn(function(t){var e=t.length,r=e,s=Pn.prototype.thru;for(n&&t.reverse();r--;){var o=t[r];if(typeof o!=\"function\")throw new wn(D);if(s&&!f&&je(o)==\"wrapper\")var f=new Pn([],!0)}for(r=f?r:e;++r1&&$.reverse(),_&&lc))return!1;var v=o.get(n),_=o.get(t);if(v&&_)return v==t&&_==n;var m=-1,P=!0,I=e&ve?new gt:i;for(o.set(n,t),o.set(t,n);++m1?\"& \":\"\")+t[r],t=t.join(e>2?\", \":\" \"),n.replace(oo,`{\n/* [wrapped with `+t+`] */\n`)}function fh(n){return O(n)||Pt(n)||!!($s&&n&&n[$s])}function Zn(n,t){var e=typeof n;return t=t??kn,!!t&&(e==\"number\"||e!=\"symbol\"&&Po.test(n))&&n>-1&&n%1==0&&n0){if(++t>=$a)return arguments[0]}else t=0;return n.apply(i,arguments)}}function tr(n,t){var e=-1,r=n.length,s=r-1;for(t=t===i?r:t;++e1?n[t-1]:i;return e=typeof e==\"function\"?(n.pop(),e):i,Yu(n,e)});function Zu(n){var t=a(n);return t.__chain__=!0,t}function Pl(n,t){return t(n),n}function er(n,t){return t(n)}var Al=Yn(function(n){var t=n.length,e=t?n[0]:0,r=this.__wrapped__,s=function(o){return Zr(o,n)};return t>1||this.__actions__.length||!(r instanceof H)||!Zn(e)?this.thru(s):(r=r.slice(e,+e+(t?1:0)),r.__actions__.push({func:er,args:[s],thisArg:i}),new Pn(r,this.__chain__).thru(function(o){return t&&!o.length&&o.push(i),o}))});function Cl(){return Zu(this)}function Il(){return new Pn(this.value(),this.__chain__)}function xl(){this.__values__===i&&(this.__values__=aa(this.value()));var n=this.__index__>=this.__values__.length,t=n?i:this.__values__[this.__index__++];return{done:n,value:t}}function El(){return this}function yl(n){for(var t,e=this;e instanceof qe;){var r=Mu(e);r.__index__=0,r.__values__=i,t?s.__wrapped__=r:t=r;var s=r;e=e.__wrapped__}return s.__wrapped__=n,t}function Sl(){var n=this.__wrapped__;if(n instanceof H){var t=n;return this.__actions__.length&&(t=new H(this)),t=t.reverse(),t.__actions__.push({func:er,args:[Ai],thisArg:i}),new Pn(t,this.__chain__)}return this.thru(Ai)}function Ol(){return fu(this.__wrapped__,this.__actions__)}var Rl=Je(function(n,t,e){F.call(n,e)?++n[e]:zn(n,e,1)});function bl(n,t,e){var r=O(n)?Cs:Pc;return e&&rn(n,t,e)&&(t=i),r(n,x(t,3))}function Tl(n,t){var e=O(n)?jn:Ys;return e(n,x(t,3))}var Ll=Pu(qu),Dl=Pu(Bu);function Nl(n,t){return j(rr(n,t),1)}function Hl(n,t){return j(rr(n,t),ht)}function $l(n,t,e){return e=e===i?1:R(e),j(rr(n,t),e)}function Ju(n,t){var e=O(n)?mn:rt;return e(n,x(t,3))}function Xu(n,t){var e=O(n)?nf:Ks;return e(n,x(t,3))}var Ul=Je(function(n,t,e){F.call(n,e)?n[e].push(t):zn(n,e,[t])});function Wl(n,t,e,r){n=an(n)?n:Gt(n),e=e&&!r?R(e):0;var s=n.length;return e<0&&(e=Q(s+e,0)),or(n)?e<=s&&n.indexOf(t,e)>-1:!!s&&Tt(n,t,e)>-1}var Fl=L(function(n,t,e){var r=-1,s=typeof t==\"function\",o=an(n)?d(n.length):[];return rt(n,function(f){o[++r]=s?cn(t,f,e):ae(f,t,e)}),o}),Ml=Je(function(n,t,e){zn(n,e,t)});function rr(n,t){var e=O(n)?G:ks;return e(n,x(t,3))}function ql(n,t,e,r){return n==null?[]:(O(t)||(t=t==null?[]:[t]),e=r?i:e,O(e)||(e=e==null?[]:[e]),eu(n,t,e))}var Bl=Je(function(n,t,e){n[e?0:1].push(t)},function(){return[[],[]]});function Gl(n,t,e){var r=O(n)?Nr:ys,s=arguments.length<3;return r(n,x(t,4),e,s,rt)}function zl(n,t,e){var r=O(n)?tf:ys,s=arguments.length<3;return r(n,x(t,4),e,s,Ks)}function Kl(n,t){var e=O(n)?jn:Ys;return e(n,ur(x(t,3)))}function Yl(n){var t=O(n)?qs:Wc;return t(n)}function Zl(n,t,e){(e?rn(n,t,e):t===i)?t=1:t=R(t);var r=O(n)?gc:Fc;return r(n,t)}function Jl(n){var t=O(n)?vc:qc;return t(n)}function Xl(n){if(n==null)return 0;if(an(n))return or(n)?Dt(n):n.length;var t=tn(n);return t==yn||t==Sn?n.size:jr(n).length}function Ql(n,t,e){var r=O(n)?Hr:Bc;return e&&rn(n,t,e)&&(t=i),r(n,x(t,3))}var Vl=L(function(n,t){if(n==null)return[];var e=t.length;return e>1&&rn(n,t[0],t[1])?t=[]:e>2&&rn(t[0],t[1],t[2])&&(t=[t[0]]),eu(n,j(t,1),[])}),ir=Tf||function(){return k.Date.now()};function kl(n,t){if(typeof t!=\"function\")throw new wn(D);return n=R(n),function(){if(--n<1)return t.apply(this,arguments)}}function Qu(n,t,e){return t=e?i:t,t=n&&t==null?n.length:t,Kn(n,Mn,i,i,i,i,t)}function Vu(n,t){var e;if(typeof t!=\"function\")throw new wn(D);return n=R(n),function(){return--n>0&&(e=t.apply(this,arguments)),n<=1&&(t=i),e}}var Ii=L(function(n,t,e){var r=vn;if(e.length){var s=tt(e,qt(Ii));r|=Nn}return Kn(n,r,t,e,s)}),ku=L(function(n,t,e){var r=vn|ct;if(e.length){var s=tt(e,qt(ku));r|=Nn}return Kn(t,r,n,e,s)});function ju(n,t,e){t=e?i:t;var r=Kn(n,Dn,i,i,i,i,i,t);return r.placeholder=ju.placeholder,r}function na(n,t,e){t=e?i:t;var r=Kn(n,yt,i,i,i,i,i,t);return r.placeholder=na.placeholder,r}function ta(n,t,e){var r,s,o,f,c,l,v=0,_=!1,m=!1,P=!0;if(typeof n!=\"function\")throw new wn(D);t=xn(t)||0,K(e)&&(_=!!e.leading,m=\"maxWait\"in e,o=m?Q(xn(e.maxWait)||0,t):o,P=\"trailing\"in e?!!e.trailing:P);function I(J){var Tn=r,Qn=s;return r=s=i,v=J,f=n.apply(Qn,Tn),f}function E(J){return v=J,c=le(N,t),_?I(J):f}function T(J){var Tn=J-l,Qn=J-v,Pa=t-Tn;return m?nn(Pa,o-Qn):Pa}function y(J){var Tn=J-l,Qn=J-v;return l===i||Tn>=t||Tn<0||m&&Qn>=o}function N(){var J=ir();if(y(J))return $(J);c=le(N,T(J))}function $(J){return c=i,P&&r?I(J):(r=s=i,f)}function dn(){c!==i&&hu(c),v=0,r=l=s=c=i}function sn(){return c===i?f:$(ir())}function gn(){var J=ir(),Tn=y(J);if(r=arguments,s=this,l=J,Tn){if(c===i)return E(l);if(m)return hu(c),c=le(N,t),I(l)}return c===i&&(c=le(N,t)),f}return gn.cancel=dn,gn.flush=sn,gn}var jl=L(function(n,t){return zs(n,1,t)}),np=L(function(n,t,e){return zs(n,xn(t)||0,e)});function tp(n){return Kn(n,dr)}function sr(n,t){if(typeof n!=\"function\"||t!=null&&typeof t!=\"function\")throw new wn(D);var e=function(){var r=arguments,s=t?t.apply(this,r):r[0],o=e.cache;if(o.has(s))return o.get(s);var f=n.apply(this,r);return e.cache=o.set(s,f)||o,f};return e.cache=new(sr.Cache||Gn),e}sr.Cache=Gn;function ur(n){if(typeof n!=\"function\")throw new wn(D);return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:return!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}function ep(n){return Vu(2,n)}var rp=Gc(function(n,t){t=t.length==1&&O(t[0])?G(t[0],hn(x())):G(j(t,1),hn(x()));var e=t.length;return L(function(r){for(var s=-1,o=nn(r.length,e);++s=t}),Pt=Xs(function(){return arguments}())?Xs:function(n){return Y(n)&&F.call(n,\"callee\")&&!Hs.call(n,\"callee\")},O=d.isArray,mp=vs?hn(vs):yc;function an(n){return n!=null&&ar(n.length)&&!Jn(n)}function Z(n){return Y(n)&&an(n)}function wp(n){return n===!0||n===!1||Y(n)&&en(n)==Yt}var at=Df||Hi,Pp=_s?hn(_s):Sc;function Ap(n){return Y(n)&&n.nodeType===1&&!pe(n)}function Cp(n){if(n==null)return!0;if(an(n)&&(O(n)||typeof n==\"string\"||typeof n.splice==\"function\"||at(n)||Bt(n)||Pt(n)))return!n.length;var t=tn(n);if(t==yn||t==Sn)return!n.size;if(he(n))return!jr(n).length;for(var e in n)if(F.call(n,e))return!1;return!0}function Ip(n,t){return oe(n,t)}function xp(n,t,e){e=typeof e==\"function\"?e:i;var r=e?e(n,t):i;return r===i?oe(n,t,i,e):!!r}function Ei(n){if(!Y(n))return!1;var t=en(n);return t==we||t==Ka||typeof n.message==\"string\"&&typeof n.name==\"string\"&&!pe(n)}function Ep(n){return typeof n==\"number\"&&Us(n)}function Jn(n){if(!K(n))return!1;var t=en(n);return t==Pe||t==zi||t==za||t==Za}function ra(n){return typeof n==\"number\"&&n==R(n)}function ar(n){return typeof n==\"number\"&&n>-1&&n%1==0&&n<=kn}function K(n){var t=typeof n;return n!=null&&(t==\"object\"||t==\"function\")}function Y(n){return n!=null&&typeof n==\"object\"}var ia=ms?hn(ms):Rc;function yp(n,t){return n===t||kr(n,t,gi(t))}function Sp(n,t,e){return e=typeof e==\"function\"?e:i,kr(n,t,gi(t),e)}function Op(n){return sa(n)&&n!=+n}function Rp(n){if(lh(n))throw new S(b);return Qs(n)}function bp(n){return n===null}function Tp(n){return n==null}function sa(n){return typeof n==\"number\"||Y(n)&&en(n)==Jt}function pe(n){if(!Y(n)||en(n)!=qn)return!1;var t=Ne(n);if(t===null)return!0;var e=F.call(t,\"constructor\")&&t.constructor;return typeof e==\"function\"&&e instanceof e&&be.call(e)==Sf}var yi=ws?hn(ws):bc;function Lp(n){return ra(n)&&n>=-kn&&n<=kn}var ua=Ps?hn(Ps):Tc;function or(n){return typeof n==\"string\"||!O(n)&&Y(n)&&en(n)==Qt}function pn(n){return typeof n==\"symbol\"||Y(n)&&en(n)==Ae}var Bt=As?hn(As):Lc;function Dp(n){return n===i}function Np(n){return Y(n)&&tn(n)==Vt}function Hp(n){return Y(n)&&en(n)==Xa}var $p=ke(ni),Up=ke(function(n,t){return n<=t});function aa(n){if(!n)return[];if(an(n))return or(n)?On(n):un(n);if(ne&&n[ne])return gf(n[ne]());var t=tn(n),e=t==yn?qr:t==Sn?Se:Gt;return e(n)}function Xn(n){if(!n)return n===0?n:0;if(n=xn(n),n===ht||n===-ht){var t=n<0?-1:1;return t*Ma}return n===n?n:0}function R(n){var t=Xn(n),e=t%1;return t===t?e?t-e:t:0}function oa(n){return n?vt(R(n),0,Hn):0}function xn(n){if(typeof n==\"number\")return n;if(pn(n))return _e;if(K(n)){var t=typeof n.valueOf==\"function\"?n.valueOf():n;n=K(t)?t+\"\":t}if(typeof n!=\"string\")return n===0?n:+n;n=Ss(n);var e=_o.test(n);return e||wo.test(n)?Vo(n.slice(2),e?2:8):vo.test(n)?_e:+n}function fa(n){return Un(n,on(n))}function Wp(n){return n?vt(R(n),-kn,kn):n===0?n:0}function W(n){return n==null?\"\":ln(n)}var Fp=Ft(function(n,t){if(he(t)||an(t)){Un(t,V(t),n);return}for(var e in t)F.call(t,e)&&se(n,e,t[e])}),ca=Ft(function(n,t){Un(t,on(t),n)}),fr=Ft(function(n,t,e,r){Un(t,on(t),n,r)}),Mp=Ft(function(n,t,e,r){Un(t,V(t),n,r)}),qp=Yn(Zr);function Bp(n,t){var e=Wt(n);return t==null?e:Bs(e,t)}var Gp=L(function(n,t){n=M(n);var e=-1,r=t.length,s=r>2?t[2]:i;for(s&&rn(t[0],t[1],s)&&(r=1);++e1),o}),Un(n,pi(n),e),r&&(e=An(e,Ln|Fn|xt,nh));for(var s=t.length;s--;)si(e,t[s]);return e});function ad(n,t){return la(n,ur(x(t)))}var od=Yn(function(n,t){return n==null?{}:Hc(n,t)});function la(n,t){if(n==null)return{};var e=G(pi(n),function(r){return[r]});return t=x(t),ru(n,e,function(r,s){return t(r,s[0])})}function fd(n,t,e){t=st(t,n);var r=-1,s=t.length;for(s||(s=1,n=i);++rt){var r=n;n=t,t=r}if(e||n%1||t%1){var s=Ws();return nn(n+s*(t-n+Qo(\"1e-\"+((s+\"\").length-1))),t)}return ei(n,t)}var Pd=Mt(function(n,t,e){return t=t.toLowerCase(),n+(e?ga(t):t)});function ga(n){return Ri(W(n).toLowerCase())}function va(n){return n=W(n),n&&n.replace(Ao,cf).replace(Mo,\"\")}function Ad(n,t,e){n=W(n),t=ln(t);var r=n.length;e=e===i?r:vt(R(e),0,r);var s=e;return e-=t.length,e>=0&&n.slice(e,s)==t}function Cd(n){return n=W(n),n&&no.test(n)?n.replace(Zi,hf):n}function Id(n){return n=W(n),n&&uo.test(n)?n.replace(xr,\"\\\\$&\"):n}var xd=Mt(function(n,t,e){return n+(e?\"-\":\"\")+t.toLowerCase()}),Ed=Mt(function(n,t,e){return n+(e?\" \":\"\")+t.toLowerCase()}),yd=wu(\"toLowerCase\");function Sd(n,t,e){n=W(n),t=R(t);var r=t?Dt(n):0;if(!t||r>=t)return n;var s=(t-r)/2;return Ve(We(s),e)+n+Ve(Ue(s),e)}function Od(n,t,e){n=W(n),t=R(t);var r=t?Dt(n):0;return t&&r>>0,e?(n=W(n),n&&(typeof t==\"string\"||t!=null&&!yi(t))&&(t=ln(t),!t&&Lt(n))?ut(On(n),0,e):n.split(t,e)):[]}var Hd=Mt(function(n,t,e){return n+(e?\" \":\"\")+Ri(t)});function $d(n,t,e){return n=W(n),e=e==null?0:vt(R(e),0,n.length),t=ln(t),n.slice(e,e+t.length)==t}function Ud(n,t,e){var r=a.templateSettings;e&&rn(n,t,e)&&(t=i),n=W(n),t=fr({},t,r,yu);var s=fr({},t.imports,r.imports,yu),o=V(s),f=Mr(s,o),c,l,v=0,_=t.interpolate||Ce,m=\"__p += '\",P=Br((t.escape||Ce).source+\"|\"+_.source+\"|\"+(_===Ji?go:Ce).source+\"|\"+(t.evaluate||Ce).source+\"|$\",\"g\"),I=\"//# sourceURL=\"+(F.call(t,\"sourceURL\")?(t.sourceURL+\"\").replace(/\\s/g,\" \"):\"lodash.templateSources[\"+ ++Ko+\"]\")+`\n`;n.replace(P,function(y,N,$,dn,sn,gn){return $||($=dn),m+=n.slice(v,gn).replace(Co,lf),N&&(c=!0,m+=`' +\n__e(`+N+`) +\n'`),sn&&(l=!0,m+=`';\n`+sn+`;\n__p += '`),$&&(m+=`' +\n((__t = (`+$+`)) == null ? '' : __t) +\n'`),v=gn+y.length,y}),m+=`';\n`;var E=F.call(t,\"variable\")&&t.variable;if(!E)m=`with (obj) {\n`+m+`\n}\n`;else if(lo.test(E))throw new S(En);m=(l?m.replace(Qa,\"\"):m).replace(Va,\"$1\").replace(ka,\"$1;\"),m=\"function(\"+(E||\"obj\")+`) {\n`+(E?\"\":`obj || (obj = {});\n`)+\"var __t, __p = ''\"+(c?\", __e = _.escape\":\"\")+(l?`, __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n`:`;\n`)+m+`return __p\n}`;var T=ma(function(){return U(o,I+\"return \"+m).apply(i,f)});if(T.source=m,Ei(T))throw T;return T}function Wd(n){return W(n).toLowerCase()}function Fd(n){return W(n).toUpperCase()}function Md(n,t,e){if(n=W(n),n&&(e||t===i))return Ss(n);if(!n||!(t=ln(t)))return n;var r=On(n),s=On(t),o=Os(r,s),f=Rs(r,s)+1;return ut(r,o,f).join(\"\")}function qd(n,t,e){if(n=W(n),n&&(e||t===i))return n.slice(0,Ts(n)+1);if(!n||!(t=ln(t)))return n;var r=On(n),s=Rs(r,On(t))+1;return ut(r,0,s).join(\"\")}function Bd(n,t,e){if(n=W(n),n&&(e||t===i))return n.replace(Er,\"\");if(!n||!(t=ln(t)))return n;var r=On(n),s=Os(r,On(t));return ut(r,s).join(\"\")}function Gd(n,t){var e=Na,r=Ha;if(K(t)){var s=\"separator\"in t?t.separator:s;e=\"length\"in t?R(t.length):e,r=\"omission\"in t?ln(t.omission):r}n=W(n);var o=n.length;if(Lt(n)){var f=On(n);o=f.length}if(e>=o)return n;var c=e-Dt(r);if(c<1)return r;var l=f?ut(f,0,c).join(\"\"):n.slice(0,c);if(s===i)return l+r;if(f&&(c+=l.length-c),yi(s)){if(n.slice(c).search(s)){var v,_=l;for(s.global||(s=Br(s.source,W(Xi.exec(s))+\"g\")),s.lastIndex=0;v=s.exec(_);)var m=v.index;l=l.slice(0,m===i?c:m)}}else if(n.indexOf(ln(s),c)!=c){var P=l.lastIndexOf(s);P>-1&&(l=l.slice(0,P))}return l+r}function zd(n){return n=W(n),n&&ja.test(n)?n.replace(Yi,wf):n}var Kd=Mt(function(n,t,e){return n+(e?\" \":\"\")+t.toUpperCase()}),Ri=wu(\"toUpperCase\");function _a(n,t,e){return n=W(n),t=e?i:t,t===i?df(n)?Cf(n):sf(n):n.match(t)||[]}var ma=L(function(n,t){try{return cn(n,i,t)}catch(e){return Ei(e)?e:new S(e)}}),Yd=Yn(function(n,t){return mn(t,function(e){e=Wn(e),zn(n,e,Ii(n[e],n))}),n});function Zd(n){var t=n==null?0:n.length,e=x();return n=t?G(n,function(r){if(typeof r[1]!=\"function\")throw new wn(D);return[e(r[0]),r[1]]}):[],L(function(r){for(var s=-1;++skn)return[];var e=Hn,r=nn(n,Hn);t=x(t),n-=Hn;for(var s=Fr(r,t);++e0||t<0)?new H(e):(n<0?e=e.takeRight(-n):n&&(e=e.drop(n)),t!==i&&(t=R(t),e=t<0?e.dropRight(-t):e.take(t-n)),e)},H.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},H.prototype.toArray=function(){return this.take(Hn)},$n(H.prototype,function(n,t){var e=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),s=a[r?\"take\"+(t==\"last\"?\"Right\":\"\"):t],o=r||/^find/.test(t);s&&(a.prototype[t]=function(){var f=this.__wrapped__,c=r?[1]:arguments,l=f instanceof H,v=c[0],_=l||O(f),m=function(N){var $=s.apply(a,nt([N],c));return r&&P?$[0]:$};_&&e&&typeof v==\"function\"&&v.length!=1&&(l=_=!1);var P=this.__chain__,I=!!this.__actions__.length,E=o&&!P,T=l&&!I;if(!o&&_){f=T?f:new H(this);var y=n.apply(f,c);return y.__actions__.push({func:er,args:[m],thisArg:i}),new Pn(y,P)}return E&&T?n.apply(this,c):(y=this.thru(m),E?r?y.value()[0]:y.value():y)})}),mn([\"pop\",\"push\",\"shift\",\"sort\",\"splice\",\"unshift\"],function(n){var t=Oe[n],e=/^(?:push|sort|unshift)$/.test(n)?\"tap\":\"thru\",r=/^(?:pop|shift)$/.test(n);a.prototype[n]=function(){var s=arguments;if(r&&!this.__chain__){var o=this.value();return t.apply(O(o)?o:[],s)}return this[e](function(f){return t.apply(O(f)?f:[],s)})}}),$n(H.prototype,function(n,t){var e=a[t];if(e){var r=e.name+\"\";F.call(Ut,r)||(Ut[r]=[]),Ut[r].push({name:t,func:e})}}),Ut[Xe(i,ct).name]=[{name:\"wrapper\",func:i}],H.prototype.clone=zf,H.prototype.reverse=Kf,H.prototype.value=Yf,a.prototype.at=Al,a.prototype.chain=Cl,a.prototype.commit=Il,a.prototype.next=xl,a.prototype.plant=yl,a.prototype.reverse=Sl,a.prototype.toJSON=a.prototype.valueOf=a.prototype.value=Ol,a.prototype.first=a.prototype.head,ne&&(a.prototype[ne]=El),a},Nt=If();lt?((lt.exports=Nt)._=Nt,Tr._=Nt):k._=Nt}).call(ge)})(Ui,Ui.exports);var zg=Object.defineProperty,Kg=Object.defineProperties,Yg=Object.getOwnPropertyDescriptors,ya=Object.getOwnPropertySymbols,Zg=Object.prototype.hasOwnProperty,Jg=Object.prototype.propertyIsEnumerable,Sa=(A,u,i)=>u in A?zg(A,u,{enumerable:!0,configurable:!0,writable:!0,value:i}):A[u]=i,cr=(A,u)=>{for(var i in u||(u={}))Zg.call(u,i)&&Sa(A,i,u[i]);if(ya)for(var i of ya(u))Jg.call(u,i)&&Sa(A,i,u[i]);return A},Xg=(A,u)=>Kg(A,Yg(u));function ft(A,u,i){var p;const w=Ng(A);return((p=u.rpcMap)==null?void 0:p[w.reference])||`${Gg}?chainId=${w.namespace}:${w.reference}&projectId=${i}`}function Ct(A){return A.includes(\":\")?A.split(\":\")[1]:A}function Oa(A){return A.map(u=>`${u.split(\":\")[0]}:${u.split(\":\")[1]}`)}function Qg(A,u){const i=Object.keys(u.namespaces).filter(w=>w.includes(A));if(!i.length)return[];const p=[];return i.forEach(w=>{const b=u.namespaces[w].accounts;p.push(...b)}),p}function Wi(A={},u={}){const i=Ra(A),p=Ra(u);return Ui.exports.merge(i,p)}function Ra(A){var u,i,p,w;const b={};if(!Dg(A))return b;for(const[D,En]of Object.entries(A)){const zt=Aa(D)?[D]:En.chains,pr=En.methods||[],It=En.events||[],Ln=En.rpcMap||{},Fn=de(D);b[Fn]=Xg(cr(cr({},b[Fn]),En),{chains:$i(zt,(u=b[Fn])==null?void 0:u.chains),methods:$i(pr,(i=b[Fn])==null?void 0:i.methods),events:$i(It,(p=b[Fn])==null?void 0:p.events),rpcMap:cr(cr({},Ln),(w=b[Fn])==null?void 0:w.rpcMap)})}return b}function Vg(A){return A.includes(\":\")?A.split(\":\")[2]:A}function ba(A){const u={};for(const[i,p]of Object.entries(A)){const w=p.methods||[],b=p.events||[],D=p.accounts||[],En=Aa(i)?[i]:p.chains?p.chains:Oa(p.accounts);u[i]={chains:En,methods:w,events:b,accounts:D}}return u}function Fi(A){return typeof A==\"number\"?A:A.includes(\"0x\")?parseInt(A,16):(A=A.includes(\":\")?A.split(\":\")[1]:A,isNaN(Number(A))?A:Number(A))}const Ta={},z=A=>Ta[A],Mi=(A,u)=>{Ta[A]=u};class kg{constructor(u){this.name=\"polkadot\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){this.httpProviders[u]||this.setHttpProvider(u,i),this.chainId=u,this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${u}`)}getAccounts(){const u=this.namespace.accounts;return u?u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2])||[]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var p;const w=Ct(i);u[w]=this.createHttpProvider(w,(p=this.namespace.rpcMap)==null?void 0:p[i])}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}setHttpProvider(u,i){const p=this.createHttpProvider(u,i);p&&(this.httpProviders[u]=p)}createHttpProvider(u,i){const p=i||ft(u,this.namespace,this.client.core.projectId);if(!p)throw new Error(`No RPC url provided for chainId: ${u}`);return new ot(new At(p,z(\"disableProviderPing\")))}}class jg{constructor(u){this.name=\"eip155\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(u){switch(u.request.method){case\"eth_requestAccounts\":return this.getAccounts();case\"eth_accounts\":return this.getAccounts();case\"wallet_switchEthereumChain\":return await this.handleSwitchChain(u);case\"eth_chainId\":return parseInt(this.getDefaultChain())}return this.namespace.methods.includes(u.request.method)?await this.client.request(u):this.getHttpProvider().request(u.request)}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}setDefaultChain(u,i){this.httpProviders[u]||this.setHttpProvider(parseInt(u),i),this.chainId=parseInt(u),this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${u}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}createHttpProvider(u,i){const p=i||ft(`${this.name}:${u}`,this.namespace,this.client.core.projectId);if(!p)throw new Error(`No RPC url provided for chainId: ${u}`);return new ot(new Ug(p,z(\"disableProviderPing\")))}setHttpProvider(u,i){const p=this.createHttpProvider(u,i);p&&(this.httpProviders[u]=p)}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var p;const w=parseInt(Ct(i));u[w]=this.createHttpProvider(w,(p=this.namespace.rpcMap)==null?void 0:p[i])}),u}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}getHttpProvider(){const u=this.chainId,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}async handleSwitchChain(u){var i,p;let w=u.request.params?(i=u.request.params[0])==null?void 0:i.chainId:\"0x0\";w=w.startsWith(\"0x\")?w:`0x${w}`;const b=parseInt(w,16);if(this.isChainApproved(b))this.setDefaultChain(`${b}`);else if(this.namespace.methods.includes(\"wallet_switchEthereumChain\"))await this.client.request({topic:u.topic,request:{method:u.request.method,params:[{chainId:w}]},chainId:(p=this.namespace.chains)==null?void 0:p[0]}),this.setDefaultChain(`${b}`);else throw new Error(`Failed to switch to chain 'eip155:${b}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);return null}isChainApproved(u){return this.namespace.chains.includes(`${this.name}:${u}`)}}class nv{constructor(u){this.name=\"solana\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){this.httpProviders[u]||this.setHttpProvider(u,i),this.chainId=u,this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${u}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var p;const w=Ct(i);u[w]=this.createHttpProvider(w,(p=this.namespace.rpcMap)==null?void 0:p[i])}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}setHttpProvider(u,i){const p=this.createHttpProvider(u,i);p&&(this.httpProviders[u]=p)}createHttpProvider(u,i){const p=i||ft(u,this.namespace,this.client.core.projectId);if(!p)throw new Error(`No RPC url provided for chainId: ${u}`);return new ot(new At(p,z(\"disableProviderPing\")))}}class tv{constructor(u){this.name=\"cosmos\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){this.httpProviders[u]||this.setHttpProvider(u,i),this.chainId=u,this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var p;const w=Ct(i);u[w]=this.createHttpProvider(w,(p=this.namespace.rpcMap)==null?void 0:p[i])}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}setHttpProvider(u,i){const p=this.createHttpProvider(u,i);p&&(this.httpProviders[u]=p)}createHttpProvider(u,i){const p=i||ft(u,this.namespace,this.client.core.projectId);if(!p)throw new Error(`No RPC url provided for chainId: ${u}`);return new ot(new At(p,z(\"disableProviderPing\")))}}class ev{constructor(u){this.name=\"cip34\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){this.httpProviders[u]||this.setHttpProvider(u,i),this.chainId=u,this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{const p=this.getCardanoRPCUrl(i),w=Ct(i);u[w]=this.createHttpProvider(w,p)}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}getCardanoRPCUrl(u){const i=this.namespace.rpcMap;if(i)return i[u]}setHttpProvider(u,i){const p=this.createHttpProvider(u,i);p&&(this.httpProviders[u]=p)}createHttpProvider(u,i){const p=i||this.getCardanoRPCUrl(u);if(!p)throw new Error(`No RPC url provided for chainId: ${u}`);return new ot(new At(p,z(\"disableProviderPing\")))}}class rv{constructor(u){this.name=\"elrond\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){this.httpProviders[u]||this.setHttpProvider(u,i),this.chainId=u,this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${u}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var p;const w=Ct(i);u[w]=this.createHttpProvider(w,(p=this.namespace.rpcMap)==null?void 0:p[i])}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}setHttpProvider(u,i){const p=this.createHttpProvider(u,i);p&&(this.httpProviders[u]=p)}createHttpProvider(u,i){const p=i||ft(u,this.namespace,this.client.core.projectId);if(!p)throw new Error(`No RPC url provided for chainId: ${u}`);return new ot(new At(p,z(\"disableProviderPing\")))}}class iv{constructor(u){this.name=\"multiversx\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){this.httpProviders[u]||this.setHttpProvider(u,i),this.chainId=u,this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${u}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var p;const w=Ct(i);u[w]=this.createHttpProvider(w,(p=this.namespace.rpcMap)==null?void 0:p[i])}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}setHttpProvider(u,i){const p=this.createHttpProvider(u,i);p&&(this.httpProviders[u]=p)}createHttpProvider(u,i){const p=i||ft(u,this.namespace,this.client.core.projectId);if(!p)throw new Error(`No RPC url provided for chainId: ${u}`);return new ot(new At(p,z(\"disableProviderPing\")))}}class sv{constructor(u){this.name=\"near\",this.namespace=u.namespace,this.events=z(\"events\"),this.client=z(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){if(this.chainId=u,!this.httpProviders[u]){const p=i||ft(`${this.name}:${u}`,this.namespace);if(!p)throw new Error(`No RPC url provided for chainId: ${u}`);this.setHttpProvider(u,p)}this.events.emit(Vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const u=this.namespace.accounts;return u?u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2])||[]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var p;u[i]=this.createHttpProvider(i,(p=this.namespace.rpcMap)==null?void 0:p[i])}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}setHttpProvider(u,i){const p=this.createHttpProvider(u,i);p&&(this.httpProviders[u]=p)}createHttpProvider(u,i){const p=i||ft(u,this.namespace);return typeof p>\"u\"?void 0:new ot(new At(p,z(\"disableProviderPing\")))}}var uv=Object.defineProperty,av=Object.defineProperties,ov=Object.getOwnPropertyDescriptors,La=Object.getOwnPropertySymbols,fv=Object.prototype.hasOwnProperty,cv=Object.prototype.propertyIsEnumerable,Da=(A,u,i)=>u in A?uv(A,u,{enumerable:!0,configurable:!0,writable:!0,value:i}):A[u]=i,hr=(A,u)=>{for(var i in u||(u={}))fv.call(u,i)&&Da(A,i,u[i]);if(La)for(var i of La(u))cv.call(u,i)&&Da(A,i,u[i]);return A},qi=(A,u)=>av(A,ov(u));class lr{constructor(u){this.events=new Wg,this.rpcProviders={},this.shouldAbortPairingAttempt=!1,this.maxPairingAttempts=10,this.disableProviderPing=!1,this.providerOpts=u,this.logger=typeof u?.logger<\"u\"&&typeof u?.logger!=\"string\"?u.logger:Hg($g({level:u?.logger||xa})),this.disableProviderPing=u?.disableProviderPing||!1}static async init(u){const i=new lr(u);return await i.initialize(),i}async request(u,i,p){const[w,b]=this.validateChain(i);if(!this.session)throw new Error(\"Please call connect() before request()\");return await this.getProvider(w).request({request:hr({},u),chainId:`${w}:${b}`,topic:this.session.topic,expiry:p})}sendAsync(u,i,p,w){const b=new Date().getTime();this.request(u,p,w).then(D=>i(null,Fg(b,D))).catch(D=>i(D,void 0))}async enable(){if(!this.client)throw new Error(\"Sign Client not initialized\");return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties}),await this.requestAccounts()}async disconnect(){var u;if(!this.session)throw new Error(\"Please call connect() before enable()\");await this.client.disconnect({topic:(u=this.session)==null?void 0:u.topic,reason:Ca(\"USER_DISCONNECTED\")}),await this.cleanup()}async connect(u){if(!this.client)throw new Error(\"Sign Client not initialized\");if(this.setNamespaces(u),await this.cleanupPendingPairings(),!u.skipPairing)return await this.pair(u.pairingTopic)}async authenticate(u){if(!this.client)throw new Error(\"Sign Client not initialized\");this.setNamespaces(u),await this.cleanupPendingPairings();const{uri:i,response:p}=await this.client.authenticate(u);i&&(this.uri=i,this.events.emit(\"display_uri\",i));const w=await p();if(this.session=w.session,this.session){const b=ba(this.session.namespaces);this.namespaces=Wi(this.namespaces,b),this.persist(\"namespaces\",this.namespaces),this.onConnect()}return w}on(u,i){this.events.on(u,i)}once(u,i){this.events.once(u,i)}removeListener(u,i){this.events.removeListener(u,i)}off(u,i){this.events.off(u,i)}get isWalletConnect(){return!0}async pair(u){this.shouldAbortPairingAttempt=!1;let i=0;do{if(this.shouldAbortPairingAttempt)throw new Error(\"Pairing aborted\");if(i>=this.maxPairingAttempts)throw new Error(\"Max auto pairing attempts reached\");const{uri:p,approval:w}=await this.client.connect({pairingTopic:u,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties});p&&(this.uri=p,this.events.emit(\"display_uri\",p)),await w().then(b=>{this.session=b;const D=ba(b.namespaces);this.namespaces=Wi(this.namespaces,D),this.persist(\"namespaces\",this.namespaces)}).catch(b=>{if(b.message!==Lg)throw b;i++})}while(!this.session);return this.onConnect(),this.session}setDefaultChain(u,i){try{if(!this.session)return;const[p,w]=this.validateChain(u);this.getProvider(p).setDefaultChain(w,i)}catch(p){if(!/Please call connect/.test(p.message))throw p}}async cleanupPendingPairings(u={}){this.logger.info(\"Cleaning up inactive pairings...\");const i=this.client.pairing.getAll();if(Ia(i)){for(const p of i)u.deletePairings?this.client.core.expirer.set(p.topic,0):await this.client.core.relayer.subscriber.unsubscribe(p.topic);this.logger.info(`Inactive pairings cleared: ${i.length}`)}}abortPairingAttempt(){this.shouldAbortPairingAttempt=!0}async checkStorage(){if(this.namespaces=await this.getFromStore(\"namespaces\"),this.optionalNamespaces=await this.getFromStore(\"optionalNamespaces\")||{},this.client.session.length){const u=this.client.session.keys.length-1;this.session=this.client.session.get(this.client.session.keys[u]),this.createProviders()}}async initialize(){this.logger.trace(\"Initialized\"),await this.createClient(),await this.checkStorage(),this.registerEventListeners()}async createClient(){this.client=this.providerOpts.client||await Tg.init({logger:this.providerOpts.logger||xa,relayUrl:this.providerOpts.relayUrl||Mg,projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name}),this.logger.trace(\"SignClient Initialized\")}createProviders(){if(!this.client)throw new Error(\"Sign Client not initialized\");if(!this.session)throw new Error(\"Session not initialized. Please call connect() before enable()\");const u=[...new Set(Object.keys(this.session.namespaces).map(i=>de(i)))];Mi(\"client\",this.client),Mi(\"events\",this.events),Mi(\"disableProviderPing\",this.disableProviderPing),u.forEach(i=>{if(!this.session)return;const p=Qg(i,this.session),w=Oa(p),b=Wi(this.namespaces,this.optionalNamespaces),D=qi(hr({},b[i]),{accounts:p,chains:w});switch(i){case\"eip155\":this.rpcProviders[i]=new jg({namespace:D});break;case\"solana\":this.rpcProviders[i]=new nv({namespace:D});break;case\"cosmos\":this.rpcProviders[i]=new tv({namespace:D});break;case\"polkadot\":this.rpcProviders[i]=new kg({namespace:D});break;case\"cip34\":this.rpcProviders[i]=new ev({namespace:D});break;case\"elrond\":this.rpcProviders[i]=new rv({namespace:D});break;case\"multiversx\":this.rpcProviders[i]=new iv({namespace:D});break;case\"near\":this.rpcProviders[i]=new sv({namespace:D});break}})}registerEventListeners(){if(typeof this.client>\"u\")throw new Error(\"Sign Client is not initialized\");this.client.on(\"session_ping\",u=>{this.events.emit(\"session_ping\",u)}),this.client.on(\"session_event\",u=>{const{params:i}=u,{event:p}=i;if(p.name===\"accountsChanged\"){const w=p.data;w&&Ia(w)&&this.events.emit(\"accountsChanged\",w.map(Vg))}else if(p.name===\"chainChanged\"){const w=i.chainId,b=i.event.data,D=de(w),En=Fi(w)!==Fi(b)?`${D}:${Fi(b)}`:w;this.onChainChanged(En)}else this.events.emit(p.name,p.data);this.events.emit(\"session_event\",u)}),this.client.on(\"session_update\",({topic:u,params:i})=>{var p;const{namespaces:w}=i,b=(p=this.client)==null?void 0:p.session.get(u);this.session=qi(hr({},b),{namespaces:w}),this.onSessionUpdate(),this.events.emit(\"session_update\",{topic:u,params:i})}),this.client.on(\"session_delete\",async u=>{await this.cleanup(),this.events.emit(\"session_delete\",u),this.events.emit(\"disconnect\",qi(hr({},Ca(\"USER_DISCONNECTED\")),{data:u.topic}))}),this.on(Vn.DEFAULT_CHAIN_CHANGED,u=>{this.onChainChanged(u,!0)})}getProvider(u){if(!this.rpcProviders[u])throw new Error(`Provider not found: ${u}`);return this.rpcProviders[u]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(u=>{var i;this.getProvider(u).updateNamespace((i=this.session)==null?void 0:i.namespaces[u])})}setNamespaces(u){const{namespaces:i,optionalNamespaces:p,sessionProperties:w}=u;i&&Object.keys(i).length&&(this.namespaces=i),p&&Object.keys(p).length&&(this.optionalNamespaces=p),this.sessionProperties=w,this.persist(\"namespaces\",i),this.persist(\"optionalNamespaces\",p)}validateChain(u){const[i,p]=u?.split(\":\")||[\"\",\"\"];if(!this.namespaces||!Object.keys(this.namespaces).length)return[i,p];if(i&&!Object.keys(this.namespaces||{}).map(D=>de(D)).includes(i))throw new Error(`Namespace '${i}' is not configured. Please call connect() first with namespace config.`);if(i&&p)return[i,p];const w=de(Object.keys(this.namespaces)[0]),b=this.rpcProviders[w].getDefaultChain();return[w,b]}async requestAccounts(){const[u]=this.validateChain();return await this.getProvider(u).requestAccounts()}onChainChanged(u,i=!1){if(!this.namespaces)return;const[p,w]=this.validateChain(u);w&&(i||this.getProvider(p).setDefaultChain(w),this.namespaces[p]?this.namespaces[p].defaultChain=w:this.namespaces[`${p}:${w}`]?this.namespaces[`${p}:${w}`].defaultChain=w:this.namespaces[`${p}:${w}`]={defaultChain:w},this.persist(\"namespaces\",this.namespaces),this.events.emit(\"chainChanged\",w))}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(u,i){this.client.core.storage.setItem(`${Ea}/${u}`,i)}async getFromStore(u){return await this.client.core.storage.getItem(`${Ea}/${u}`)}}const hv=lr;export{hv as UniversalProvider,lr as default};\n//# sourceMappingURL=index.es.js.map\n","import{EventEmitter as A}from\"events\";import{getAccountsFromNamespaces as y,getSdkError as P,isValidArray as f}from\"@walletconnect/utils\";import{UniversalProvider as R}from\"@walletconnect/universal-provider\";const T=\"wc\",S=\"ethereum_provider\",$=`${T}@2:${S}:`,j=\"https://rpc.walletconnect.com/v1/\",u=[\"eth_sendTransaction\",\"personal_sign\"],_=[\"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\"],g=[\"chainChanged\",\"accountsChanged\"],M=[\"chainChanged\",\"accountsChanged\",\"message\",\"disconnect\",\"connect\"];var q=Object.defineProperty,N=Object.defineProperties,D=Object.getOwnPropertyDescriptors,O=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,Q=Object.prototype.propertyIsEnumerable,b=(a,t,s)=>t in a?q(a,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[t]=s,p=(a,t)=>{for(var s in t||(t={}))U.call(t,s)&&b(a,s,t[s]);if(O)for(var s of O(t))Q.call(t,s)&&b(a,s,t[s]);return a},E=(a,t)=>N(a,D(t));function m(a){return Number(a[0].split(\":\")[1])}function v(a){return`0x${a.toString(16)}`}function L(a){const{chains:t,optionalChains:s,methods:i,optionalMethods:n,events:e,optionalEvents:o,rpcMap:r}=a;if(!f(t))throw new Error(\"Invalid chains\");const c={chains:t,methods:i||u,events:e||g,rpcMap:p({},t.length?{[m(t)]:r[m(t)]}:{})},h=e?.filter(l=>!g.includes(l)),d=i?.filter(l=>!u.includes(l));if(!s&&!o&&!n&&!(h!=null&&h.length)&&!(d!=null&&d.length))return{required:t.length?c:void 0};const I=h?.length&&d?.length||!s,w={chains:[...new Set(I?c.chains.concat(s||[]):s)],methods:[...new Set(c.methods.concat(n!=null&&n.length?n:_))],events:[...new Set(c.events.concat(o!=null&&o.length?o:M))],rpcMap:r};return{required:t.length?c:void 0,optional:s.length?w:void 0}}class C{constructor(){this.events=new A,this.namespace=\"eip155\",this.accounts=[],this.chainId=1,this.STORAGE_KEY=$,this.on=(t,s)=>(this.events.on(t,s),this),this.once=(t,s)=>(this.events.once(t,s),this),this.removeListener=(t,s)=>(this.events.removeListener(t,s),this),this.off=(t,s)=>(this.events.off(t,s),this),this.parseAccount=t=>this.isCompatibleChainId(t)?this.parseAccountId(t).address:t,this.signer={},this.rpc={}}static async init(t){const s=new C;return await s.initialize(t),s}async request(t,s){return await this.signer.request(t,this.formatChainId(this.chainId),s)}sendAsync(t,s,i){this.signer.sendAsync(t,s,this.formatChainId(this.chainId),i)}get connected(){return this.signer.client?this.signer.client.core.relayer.connected:!1}get connecting(){return this.signer.client?this.signer.client.core.relayer.connecting:!1}async enable(){return this.session||await this.connect(),await this.request({method:\"eth_requestAccounts\"})}async connect(t){if(!this.signer.client)throw new Error(\"Provider not initialized. Call init() first\");this.loadConnectOpts(t);const{required:s,optional:i}=L(this.rpc);try{const n=await new Promise(async(o,r)=>{var c;this.rpc.showQrModal&&((c=this.modal)==null||c.subscribeModal(h=>{!h.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),r(new Error(\"Connection request reset. Please try again.\")))})),await this.signer.connect(E(p({namespaces:p({},s&&{[this.namespace]:s})},i&&{optionalNamespaces:{[this.namespace]:i}}),{pairingTopic:t?.pairingTopic})).then(h=>{o(h)}).catch(h=>{r(new Error(h.message))})});if(!n)return;const e=y(n.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:e),this.setAccounts(e),this.events.emit(\"connect\",{chainId:v(this.chainId)})}catch(n){throw this.signer.logger.error(n),n}finally{this.modal&&this.modal.closeModal()}}async authenticate(t){if(!this.signer.client)throw new Error(\"Provider not initialized. Call init() first\");this.loadConnectOpts({chains:t?.chains});try{const s=await new Promise(async(n,e)=>{var o;this.rpc.showQrModal&&((o=this.modal)==null||o.subscribeModal(r=>{!r.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),e(new Error(\"Connection request reset. Please try again.\")))})),await this.signer.authenticate(E(p({},t),{chains:this.rpc.chains})).then(r=>{n(r)}).catch(r=>{e(new Error(r.message))})}),i=s.session;if(i){const n=y(i.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:n),this.setAccounts(n),this.events.emit(\"connect\",{chainId:v(this.chainId)})}return s}catch(s){throw this.signer.logger.error(s),s}finally{this.modal&&this.modal.closeModal()}}async disconnect(){this.session&&await this.signer.disconnect(),this.reset()}get isWalletConnect(){return!0}get session(){return this.signer.session}registerEventListeners(){this.signer.on(\"session_event\",t=>{const{params:s}=t,{event:i}=s;i.name===\"accountsChanged\"?(this.accounts=this.parseAccounts(i.data),this.events.emit(\"accountsChanged\",this.accounts)):i.name===\"chainChanged\"?this.setChainId(this.formatChainId(i.data)):this.events.emit(i.name,i.data),this.events.emit(\"session_event\",t)}),this.signer.on(\"chainChanged\",t=>{const s=parseInt(t);this.chainId=s,this.events.emit(\"chainChanged\",v(this.chainId)),this.persist()}),this.signer.on(\"session_update\",t=>{this.events.emit(\"session_update\",t)}),this.signer.on(\"session_delete\",t=>{this.reset(),this.events.emit(\"session_delete\",t),this.events.emit(\"disconnect\",E(p({},P(\"USER_DISCONNECTED\")),{data:t.topic,name:\"USER_DISCONNECTED\"}))}),this.signer.on(\"display_uri\",t=>{var s,i;this.rpc.showQrModal&&((s=this.modal)==null||s.closeModal(),(i=this.modal)==null||i.openModal({uri:t})),this.events.emit(\"display_uri\",t)})}switchEthereumChain(t){this.request({method:\"wallet_switchEthereumChain\",params:[{chainId:t.toString(16)}]})}isCompatibleChainId(t){return typeof t==\"string\"?t.startsWith(`${this.namespace}:`):!1}formatChainId(t){return`${this.namespace}:${t}`}parseChainId(t){return Number(t.split(\":\")[1])}setChainIds(t){const s=t.filter(i=>this.isCompatibleChainId(i)).map(i=>this.parseChainId(i));s.length&&(this.chainId=s[0],this.events.emit(\"chainChanged\",v(this.chainId)),this.persist())}setChainId(t){if(this.isCompatibleChainId(t)){const s=this.parseChainId(t);this.chainId=s,this.switchEthereumChain(s)}}parseAccountId(t){const[s,i,n]=t.split(\":\");return{chainId:`${s}:${i}`,address:n}}setAccounts(t){this.accounts=t.filter(s=>this.parseChainId(this.parseAccountId(s).chainId)===this.chainId).map(s=>this.parseAccountId(s).address),this.events.emit(\"accountsChanged\",this.accounts)}getRpcConfig(t){var s,i;const n=(s=t?.chains)!=null?s:[],e=(i=t?.optionalChains)!=null?i:[],o=n.concat(e);if(!o.length)throw new Error(\"No chains specified in either `chains` or `optionalChains`\");const r=n.length?t?.methods||u:[],c=n.length?t?.events||g:[],h=t?.optionalMethods||[],d=t?.optionalEvents||[],I=t?.rpcMap||this.buildRpcMap(o,t.projectId),w=t?.qrModalOptions||void 0;return{chains:n?.map(l=>this.formatChainId(l)),optionalChains:e.map(l=>this.formatChainId(l)),methods:r,events:c,optionalMethods:h,optionalEvents:d,rpcMap:I,showQrModal:!!(t!=null&&t.showQrModal),qrModalOptions:w,projectId:t.projectId,metadata:t.metadata}}buildRpcMap(t,s){const i={};return t.forEach(n=>{i[n]=this.getRpcUrl(n,s)}),i}async initialize(t){if(this.rpc=this.getRpcConfig(t),this.chainId=this.rpc.chains.length?m(this.rpc.chains):m(this.rpc.optionalChains),this.signer=await R.init({projectId:this.rpc.projectId,metadata:this.rpc.metadata,disableProviderPing:t.disableProviderPing,relayUrl:t.relayUrl,storageOptions:t.storageOptions}),this.registerEventListeners(),await this.loadPersistedSession(),this.rpc.showQrModal){let s;try{const{WalletConnectModal:i}=await import(\"@walletconnect/modal\");s=i}catch{throw new Error(\"To use QR modal, please install @walletconnect/modal package\")}if(s)try{this.modal=new s(p({projectId:this.rpc.projectId},this.rpc.qrModalOptions))}catch(i){throw this.signer.logger.error(i),new Error(\"Could not generate WalletConnectModal Instance\")}}}loadConnectOpts(t){if(!t)return;const{chains:s,optionalChains:i,rpcMap:n}=t;s&&f(s)&&(this.rpc.chains=s.map(e=>this.formatChainId(e)),s.forEach(e=>{this.rpc.rpcMap[e]=n?.[e]||this.getRpcUrl(e)})),i&&f(i)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=i?.map(e=>this.formatChainId(e)),i.forEach(e=>{this.rpc.rpcMap[e]=n?.[e]||this.getRpcUrl(e)}))}getRpcUrl(t,s){var i;return((i=this.rpc.rpcMap)==null?void 0:i[t])||`${j}?chainId=eip155:${t}&projectId=${s||this.rpc.projectId}`}async loadPersistedSession(){if(this.session)try{const t=await this.signer.client.core.storage.getItem(`${this.STORAGE_KEY}/chainId`),s=this.session.namespaces[`${this.namespace}:${t}`]?this.session.namespaces[`${this.namespace}:${t}`]:this.session.namespaces[this.namespace];this.setChainIds(t?[this.formatChainId(t)]:s?.accounts),this.setAccounts(s?.accounts)}catch(t){this.signer.logger.error(\"Failed to load persisted session, clearing state...\"),this.signer.logger.error(t),await this.disconnect().catch(s=>this.signer.logger.warn(s))}}reset(){this.chainId=1,this.accounts=[]}persist(){this.session&&this.signer.client.core.storage.setItem(`${this.STORAGE_KEY}/chainId`,this.chainId)}parseAccounts(t){return typeof t==\"string\"||t instanceof String?[this.parseAccount(t)]:t.map(s=>this.parseAccount(s))}}const z=C;export{z as EthereumProvider,M as OPTIONAL_EVENTS,_ as OPTIONAL_METHODS,g as REQUIRED_EVENTS,u as REQUIRED_METHODS,C as default};\n//# sourceMappingURL=index.es.js.map\n","import icons from './icons'\nimport { networks } from '../../index'\nimport type { EIP1193Provider } from './EIP6963'\nimport type { EvmNetworkConfigInterface, Provider } from '../../services/Provider'\nimport { EthereumProvider } from '@walletconnect/ethereum-provider'\nimport { ErrorTypeEnum, WalletPlatformEnum } from '@multiplechain/types'\nimport type { WalletConnectConfig, WalletAdapterInterface } from '@multiplechain/types'\n\nlet isConnected = false\nlet walletProvider: EIP1193Provider | undefined\nlet connector: InstanceType | undefined\n\nconst initConnector = async (\n config: WalletConnectConfig,\n network: EvmNetworkConfigInterface\n): Promise> => {\n if (connector !== undefined) {\n return connector\n }\n\n const otherNetworkIds = networks\n .getAll()\n .map((x) => x.id)\n .filter((id) => id !== network.id)\n\n const chains: [number, ...number[]] = [network.id, ...otherNetworkIds]\n\n connector = await EthereumProvider.init({\n chains,\n projectId: config.projectId,\n relayUrl: 'wss://relay.walletconnect.com',\n optionalChains: chains,\n showQrModal: true,\n qrModalOptions: {\n themeMode: config.themeMode,\n themeVariables: {\n '--wcm-z-index': '999999999999'\n },\n explorerExcludedWalletIds: 'ALL',\n explorerRecommendedWalletIds: [\n 'c57ca95b47569778a828d19178114f4db188b89b763c899ba0be274e97267d96',\n '4622a2b2d6af1c9844944291e5e7351a6aa24cd7b23099efac1b2fd875da31a0',\n '1ae92b26df02f0abca6304df07debccd18262fdf5fe82daa81593582dac9a369',\n '0b415a746fb9ee99cce155c2ceca0c6f6061b1dbca2d722b3ba16381d0562150',\n '971e689d0a5be527bac79629b4ee9b925e82208e5168b733496a09c0faed0709',\n 'c03dfee351b6fcc421b4494ea33b9d4b92a984f87aa76d1663bb28705e95034a',\n 'ecc4036f814562b41a5268adc86270fba1365471402006302e70169465b7ac18',\n 'ef333840daf915aafdc4a004525502d6d49d77bd9c65e0642dbaefb3c2893bef',\n 'bc949c5d968ae81310268bf9193f9c9fb7bb4e1283e1284af8f2bd4992535fd6',\n '74f8092562bd79675e276d8b2062a83601a4106d30202f2d509195e30e19673d',\n 'afbd95522f4041c71dd4f1a065f971fd32372865b416f95a0b1db759ae33f2a7',\n '20459438007b75f4f4acb98bf29aa3b800550309646d375da5fd4aac6c2a2c66',\n '8837dd9413b1d9b585ee937d27a816590248386d9dbf59f5cd3422dbbb65683e',\n 'c286eebc742a537cd1d6818363e9dc53b21759a1e8e5d9b263d0c03ec7703576',\n '38f5d18bd8522c244bdd70cb4a68e0e718865155811c043f052fb9f1c51de662',\n '85db431492aa2e8672e93f4ea7acf10c88b97b867b0d373107af63dc4880f041'\n ]\n }\n })\n\n return connector\n}\n\nconst WalletConnect: WalletAdapterInterface = {\n id: 'walletconnect',\n name: 'WalletConnect',\n icon: icons.walletConnect,\n provider: walletProvider,\n platforms: [WalletPlatformEnum.UNIVERSAL],\n isDetected: () => true,\n isConnected: () => isConnected,\n disconnect: () => {\n isConnected = false\n Object.keys(localStorage)\n .filter((x) => {\n return (\n x.startsWith('wc@2') ||\n x.startsWith('@w3m') ||\n x.startsWith('W3M') ||\n x.startsWith('-walletlink')\n )\n })\n .forEach((x) => {\n localStorage.removeItem(x)\n })\n\n indexedDB.deleteDatabase('WALLET_CONNECT_V2_INDEXED_DB')\n },\n connect: async (\n provider?: Provider,\n config?: WalletConnectConfig\n ): Promise => {\n if (provider === undefined) {\n throw new Error(ErrorTypeEnum.PROVIDER_IS_REQUIRED)\n }\n\n if (config === undefined) {\n throw new Error(ErrorTypeEnum.CONFIG_IS_REQUIRED)\n }\n\n if (config.projectId === undefined) {\n throw new Error(ErrorTypeEnum.PROJECT_ID_IS_REQUIRED)\n }\n\n const rpcIdMapping = {}\n const network = provider.network\n // @ts-expect-error allow number index\n rpcIdMapping[network.id] = network.rpcUrl\n const connector = await initConnector(config, network)\n\n return await new Promise((resolve, reject) => {\n connector\n .connect({\n rpcMap: rpcIdMapping,\n chains: [network.id],\n optionalChains: [network.id]\n })\n .then(() => {\n isConnected = true\n resolve((walletProvider = connector as EIP1193Provider))\n })\n .catch((error) => {\n reject(error)\n })\n })\n }\n}\n\nexport default WalletConnect\n","import { Wallet } from './Wallet'\nimport { switcher } from './adapters/switcher'\nimport * as adapterList from './adapters/index'\nimport { WalletPlatformEnum } from '@multiplechain/types'\nimport type { EIP6963ProviderDetail, EIP1193Provider } from './adapters/EIP6963'\nimport type {\n WalletAdapterInterface,\n WalletAdapterListType,\n RegisterWalletAdapterType\n} from '@multiplechain/types'\nimport type { Provider } from '../services/Provider'\n\nconst EIP6963AdapterUUIDIndex: Record = {\n 'app.phantom': 'phantom',\n 'io.metamask': 'metamask',\n 'com.bitget.web3': 'bitgetwallet',\n 'com.okex.wallet': 'okxwallet',\n 'com.trustwallet.app': 'trustwallet',\n 'io.xdefi': 'xdefiwallet'\n}\n\nconst adapters: WalletAdapterListType = {}\n\nconst registerAdapter: RegisterWalletAdapterType = (\n adapter: WalletAdapterInterface\n): void => {\n if (EIP6963AdapterUUIDIndex[adapter.id] !== undefined) {\n console.warn(\n `Adapter is not registered, because it is already registered default: ${adapter.id}`\n )\n return\n }\n\n if (Object.values(adapters).find((a) => a.id === adapter.id) !== undefined) {\n throw new Error(`Adapter with id ${adapter.id} already exists`)\n }\n\n adapters[adapter.id] = adapter\n}\n\nconst fromEIP6963ProviderDetail = (\n detail: EIP6963ProviderDetail\n): WalletAdapterInterface => {\n return {\n name: detail.info.name,\n icon: detail.info.icon,\n provider: detail.provider,\n id: detail.info.rdns ?? detail.info.uuid,\n platforms: [WalletPlatformEnum.BROWSER, WalletPlatformEnum.MOBILE],\n isDetected: () => true,\n isConnected: async () => {\n return Boolean((await detail.provider.request({ method: 'eth_accounts' })).length)\n },\n connect: async (): Promise => {\n return await new Promise((resolve, reject) => {\n try {\n detail.provider\n .request({ method: 'eth_requestAccounts' })\n .then(() => {\n resolve(detail.provider)\n })\n .catch((error: any) => {\n reject(error)\n })\n } catch (error) {\n reject(error)\n }\n })\n }\n }\n}\n\nconst toEIP6963ProviderDetail = (\n adapter: WalletAdapterInterface\n): EIP6963ProviderDetail => {\n if (adapter.provider === undefined) {\n throw new Error('Cannot convert adapter without provider to EIP6963ProviderDetail')\n }\n\n return {\n info: {\n uuid: adapter.id,\n name: adapter.name,\n icon: adapter.icon\n },\n provider: adapter.provider as any\n }\n}\n\nexport * from '../index'\n\nexport const browser = {\n Wallet,\n switcher,\n registerAdapter,\n toEIP6963ProviderDetail,\n fromEIP6963ProviderDetail,\n adapters: Object.assign(adapters, adapterList)\n}\n","export const ConstantsUtil = {\n FIVE_MINUTES_IN_MS: 300000\n};\n//# sourceMappingURL=ConstantsUtil.js.map","import { AccountController, NetworkController, ConnectionController, RouterUtil } from '@web3modal/core';\nimport { NetworkUtil } from '@web3modal/common';\nimport { ConstantsUtil } from '../core/utils/ConstantsUtil.js';\nexport class Web3ModalSIWEClient {\n constructor(siweConfig) {\n const { enabled = true, nonceRefetchIntervalMs = ConstantsUtil.FIVE_MINUTES_IN_MS, sessionRefetchIntervalMs = ConstantsUtil.FIVE_MINUTES_IN_MS, signOutOnAccountChange = true, signOutOnDisconnect = true, signOutOnNetworkChange = true, ...siweConfigMethods } = siweConfig;\n this.options = {\n enabled,\n nonceRefetchIntervalMs,\n sessionRefetchIntervalMs,\n signOutOnDisconnect,\n signOutOnAccountChange,\n signOutOnNetworkChange\n };\n this.methods = siweConfigMethods;\n }\n async getNonce(address) {\n const nonce = await this.methods.getNonce(address);\n if (!nonce) {\n throw new Error('siweControllerClient:getNonce - nonce is undefined');\n }\n return nonce;\n }\n createMessage(args) {\n const message = this.methods.createMessage(args);\n if (!message) {\n throw new Error('siweControllerClient:createMessage - message is undefined');\n }\n return message;\n }\n async verifyMessage(args) {\n const isValid = await this.methods.verifyMessage(args);\n return isValid;\n }\n async getSession() {\n const session = await this.methods.getSession();\n if (!session) {\n throw new Error('siweControllerClient:getSession - session is undefined');\n }\n return session;\n }\n async signIn() {\n const { address } = AccountController.state;\n const nonce = await this.methods.getNonce(address);\n if (!address) {\n throw new Error('An address is required to create a SIWE message.');\n }\n const chainId = NetworkUtil.caipNetworkIdToNumber(NetworkController.state.caipNetwork?.id);\n if (!chainId) {\n throw new Error('A chainId is required to create a SIWE message.');\n }\n const message = this.methods.createMessage({ address, nonce, chainId });\n const signature = await ConnectionController.signMessage(message);\n const isValid = await this.methods.verifyMessage({ message, signature });\n if (!isValid) {\n throw new Error('Error verifying SIWE signature');\n }\n const session = await this.methods.getSession();\n if (!session) {\n throw new Error('Error verifying SIWE signature');\n }\n if (this.methods.onSignIn) {\n this.methods.onSignIn(session);\n }\n RouterUtil.navigateAfterNetworkSwitch();\n return session;\n }\n async signOut() {\n return this.methods.signOut();\n }\n}\n//# sourceMappingURL=client.js.map","import { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { proxy, ref, subscribe as sub } from 'valtio/vanilla';\nimport { OptionsController } from '@web3modal/core';\nconst state = proxy({\n status: 'uninitialized'\n});\nexport const SIWEController = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n _getClient() {\n if (!state._client) {\n throw new Error('SIWEController client not set');\n }\n return state._client;\n },\n async getNonce(address) {\n const client = this._getClient();\n const nonce = await client.getNonce(address);\n this.setNonce(nonce);\n return nonce;\n },\n async getSession() {\n const client = this._getClient();\n const session = await client.getSession();\n if (session) {\n this.setSession(session);\n this.setStatus('success');\n }\n return session;\n },\n createMessage(args) {\n const client = this._getClient();\n const message = client.createMessage(args);\n this.setMessage(message);\n return message;\n },\n async verifyMessage(args) {\n const client = this._getClient();\n const isValid = await client.verifyMessage(args);\n return isValid;\n },\n async signIn() {\n const client = this._getClient();\n const session = await client.signIn();\n return session;\n },\n async signOut() {\n const client = this._getClient();\n await client.signOut();\n this.setStatus('ready');\n client.onSignOut?.();\n },\n onSignIn(args) {\n const client = this._getClient();\n client.onSignIn?.(args);\n },\n onSignOut() {\n const client = this._getClient();\n client.onSignOut?.();\n },\n setSIWEClient(client) {\n state._client = ref(client);\n state.status = 'ready';\n OptionsController.setIsSiweEnabled(client.options.enabled);\n },\n setNonce(nonce) {\n state.nonce = nonce;\n },\n setStatus(status) {\n state.status = status;\n },\n setMessage(message) {\n state.message = message;\n },\n setSession(session) {\n state.session = session;\n }\n};\n//# sourceMappingURL=SIWEController.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: flex;\n justify-content: center;\n gap: var(--wui-spacing-2xl);\n }\n\n wui-visual-thumbnail:nth-child(1) {\n z-index: 1;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport styles from './styles.js';\nimport { OptionsController, StorageUtil } from '@web3modal/core';\nlet W3mConnectingSiwe = class W3mConnectingSiwe extends LitElement {\n constructor() {\n super(...arguments);\n this.dappImageUrl = OptionsController.state.metadata?.icons;\n this.walletImageUrl = StorageUtil.getConnectedWalletImageUrl();\n }\n firstUpdated() {\n const visuals = this.shadowRoot?.querySelectorAll('wui-visual-thumbnail');\n if (visuals?.[0]) {\n this.createAnimation(visuals[0], 'translate(18px)');\n }\n if (visuals?.[1]) {\n this.createAnimation(visuals[1], 'translate(-18px)');\n }\n }\n render() {\n return html `\n \n \n `;\n }\n createAnimation(element, translation) {\n element.animate([{ transform: 'translateX(0px)' }, { transform: translation }], {\n duration: 1600,\n easing: 'cubic-bezier(0.56, 0, 0.48, 1)',\n direction: 'alternate',\n iterations: Infinity\n });\n }\n};\nW3mConnectingSiwe.styles = styles;\nW3mConnectingSiwe = __decorate([\n customElement('w3m-connecting-siwe')\n], W3mConnectingSiwe);\nexport { W3mConnectingSiwe };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController, ConnectionController, EventsController, ModalController, OptionsController, RouterController, SnackController } from '@web3modal/core';\nimport { customElement } from '@web3modal/ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { SIWEController } from '../../../core/controller/SIWEController.js';\nlet W3mConnectingSiweView = class W3mConnectingSiweView extends LitElement {\n constructor() {\n super(...arguments);\n this.dappName = OptionsController.state.metadata?.name;\n this.isSigning = false;\n }\n render() {\n return html `\n \n \n \n \n ${this.dappName ?? 'Dapp'} needs to connect to your wallet\n \n \n Sign this message to prove you own this wallet and proceed. Canceling will disconnect\n you.\n \n \n \n Cancel\n \n \n ${this.isSigning ? 'Signing...' : 'Sign'}\n \n \n `;\n }\n async onSign() {\n this.isSigning = true;\n EventsController.sendEvent({\n event: 'CLICK_SIGN_SIWE_MESSAGE',\n type: 'track'\n });\n try {\n SIWEController.setStatus('loading');\n const session = await SIWEController.signIn();\n SIWEController.setStatus('success');\n EventsController.sendEvent({\n event: 'SIWE_AUTH_SUCCESS',\n type: 'track'\n });\n return session;\n }\n catch (error) {\n SnackController.showError('Signature declined');\n SIWEController.setStatus('error');\n return EventsController.sendEvent({\n event: 'SIWE_AUTH_ERROR',\n type: 'track'\n });\n }\n finally {\n this.isSigning = false;\n }\n }\n async onCancel() {\n const { isConnected } = AccountController.state;\n if (isConnected) {\n await ConnectionController.disconnect();\n ModalController.close();\n }\n else {\n RouterController.push('Connect');\n }\n EventsController.sendEvent({\n event: 'CLICK_CANCEL_SIWE',\n type: 'track'\n });\n }\n};\n__decorate([\n state()\n], W3mConnectingSiweView.prototype, \"isSigning\", void 0);\nW3mConnectingSiweView = __decorate([\n customElement('w3m-connecting-siwe-view')\n], W3mConnectingSiweView);\nexport { W3mConnectingSiweView };\n//# sourceMappingURL=index.js.map","import { Web3ModalSIWEClient } from '../src/client.js';\nexport { SIWEController } from '../core/controller/SIWEController.js';\nexport function createSIWEConfig(siweConfig) {\n return new Web3ModalSIWEClient(siweConfig);\n}\nexport * from '../scaffold/partials/w3m-connecting-siwe/index.js';\nexport * from '../scaffold/views/w3m-connecting-siwe-view/index.js';\n//# sourceMappingURL=index.js.map","import{proxy as u,subscribe as h,snapshot as P}from\"valtio/vanilla\";const o=u({history:[\"ConnectWallet\"],view:\"ConnectWallet\",data:void 0}),T={state:o,subscribe(e){return h(o,()=>e(o))},push(e,t){e!==o.view&&(o.view=e,t&&(o.data=t),o.history.push(e))},reset(e){o.view=e,o.history=[e]},replace(e){o.history.length>1&&(o.history[o.history.length-1]=e,o.view=e)},goBack(){if(o.history.length>1){o.history.pop();const[e]=o.history.slice(-1);o.view=e}},setData(e){o.data=e}},a={WALLETCONNECT_DEEPLINK_CHOICE:\"WALLETCONNECT_DEEPLINK_CHOICE\",WCM_VERSION:\"WCM_VERSION\",RECOMMENDED_WALLET_AMOUNT:9,isMobile(){return typeof window<\"u\"?Boolean(window.matchMedia(\"(pointer:coarse)\").matches||/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)):!1},isAndroid(){return a.isMobile()&&navigator.userAgent.toLowerCase().includes(\"android\")},isIos(){const e=navigator.userAgent.toLowerCase();return a.isMobile()&&(e.includes(\"iphone\")||e.includes(\"ipad\"))},isHttpUrl(e){return e.startsWith(\"http://\")||e.startsWith(\"https://\")},isArray(e){return Array.isArray(e)&&e.length>0},formatNativeUrl(e,t,s){if(a.isHttpUrl(e))return this.formatUniversalUrl(e,t,s);let n=e;n.includes(\"://\")||(n=e.replaceAll(\"/\",\"\").replaceAll(\":\",\"\"),n=`${n}://`),n.endsWith(\"/\")||(n=`${n}/`),this.setWalletConnectDeepLink(n,s);const i=encodeURIComponent(t);return`${n}wc?uri=${i}`},formatUniversalUrl(e,t,s){if(!a.isHttpUrl(e))return this.formatNativeUrl(e,t,s);let n=e;n.endsWith(\"/\")||(n=`${n}/`),this.setWalletConnectDeepLink(n,s);const i=encodeURIComponent(t);return`${n}wc?uri=${i}`},async wait(e){return new Promise(t=>{setTimeout(t,e)})},openHref(e,t){window.open(e,t,\"noreferrer noopener\")},setWalletConnectDeepLink(e,t){try{localStorage.setItem(a.WALLETCONNECT_DEEPLINK_CHOICE,JSON.stringify({href:e,name:t}))}catch{console.info(\"Unable to set WalletConnect deep link\")}},setWalletConnectAndroidDeepLink(e){try{const[t]=e.split(\"?\");localStorage.setItem(a.WALLETCONNECT_DEEPLINK_CHOICE,JSON.stringify({href:t,name:\"Android\"}))}catch{console.info(\"Unable to set WalletConnect android deep link\")}},removeWalletConnectDeepLink(){try{localStorage.removeItem(a.WALLETCONNECT_DEEPLINK_CHOICE)}catch{console.info(\"Unable to remove WalletConnect deep link\")}},setModalVersionInStorage(){try{typeof localStorage<\"u\"&&localStorage.setItem(a.WCM_VERSION,\"2.6.2\")}catch{console.info(\"Unable to set Web3Modal version in storage\")}},getWalletRouterData(){var e;const t=(e=T.state.data)==null?void 0:e.Wallet;if(!t)throw new Error('Missing \"Wallet\" view data');return t}},_=typeof location<\"u\"&&(location.hostname.includes(\"localhost\")||location.protocol.includes(\"https\")),r=u({enabled:_,userSessionId:\"\",events:[],connectedWalletId:void 0}),R={state:r,subscribe(e){return h(r.events,()=>e(P(r.events[r.events.length-1])))},initialize(){r.enabled&&typeof(crypto==null?void 0:crypto.randomUUID)<\"u\"&&(r.userSessionId=crypto.randomUUID())},setConnectedWalletId(e){r.connectedWalletId=e},click(e){if(r.enabled){const t={type:\"CLICK\",name:e.name,userSessionId:r.userSessionId,timestamp:Date.now(),data:e};r.events.push(t)}},track(e){if(r.enabled){const t={type:\"TRACK\",name:e.name,userSessionId:r.userSessionId,timestamp:Date.now(),data:e};r.events.push(t)}},view(e){if(r.enabled){const t={type:\"VIEW\",name:e.name,userSessionId:r.userSessionId,timestamp:Date.now(),data:e};r.events.push(t)}}},c=u({chains:void 0,walletConnectUri:void 0,isAuth:!1,isCustomDesktop:!1,isCustomMobile:!1,isDataLoaded:!1,isUiLoaded:!1}),p={state:c,subscribe(e){return h(c,()=>e(c))},setChains(e){c.chains=e},setWalletConnectUri(e){c.walletConnectUri=e},setIsCustomDesktop(e){c.isCustomDesktop=e},setIsCustomMobile(e){c.isCustomMobile=e},setIsDataLoaded(e){c.isDataLoaded=e},setIsUiLoaded(e){c.isUiLoaded=e},setIsAuth(e){c.isAuth=e}},W=u({projectId:\"\",mobileWallets:void 0,desktopWallets:void 0,walletImages:void 0,chains:void 0,enableAuthMode:!1,enableExplorer:!0,explorerExcludedWalletIds:void 0,explorerRecommendedWalletIds:void 0,termsOfServiceUrl:void 0,privacyPolicyUrl:void 0}),y={state:W,subscribe(e){return h(W,()=>e(W))},setConfig(e){var t,s;R.initialize(),p.setChains(e.chains),p.setIsAuth(Boolean(e.enableAuthMode)),p.setIsCustomMobile(Boolean((t=e.mobileWallets)==null?void 0:t.length)),p.setIsCustomDesktop(Boolean((s=e.desktopWallets)==null?void 0:s.length)),a.setModalVersionInStorage(),Object.assign(W,e)}};var V=Object.defineProperty,D=Object.getOwnPropertySymbols,H=Object.prototype.hasOwnProperty,B=Object.prototype.propertyIsEnumerable,M=(e,t,s)=>t in e?V(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,K=(e,t)=>{for(var s in t||(t={}))H.call(t,s)&&M(e,s,t[s]);if(D)for(var s of D(t))B.call(t,s)&&M(e,s,t[s]);return e};const L=\"https://explorer-api.walletconnect.com\",E=\"wcm\",O=\"js-2.6.2\";async function w(e,t){const s=K({sdkType:E,sdkVersion:O},t),n=new URL(e,L);return n.searchParams.append(\"projectId\",y.state.projectId),Object.entries(s).forEach(([i,l])=>{l&&n.searchParams.append(i,String(l))}),(await fetch(n)).json()}const m={async getDesktopListings(e){return w(\"/w3m/v1/getDesktopListings\",e)},async getMobileListings(e){return w(\"/w3m/v1/getMobileListings\",e)},async getInjectedListings(e){return w(\"/w3m/v1/getInjectedListings\",e)},async getAllListings(e){return w(\"/w3m/v1/getAllListings\",e)},getWalletImageUrl(e){return`${L}/w3m/v1/getWalletImage/${e}?projectId=${y.state.projectId}&sdkType=${E}&sdkVersion=${O}`},getAssetImageUrl(e){return`${L}/w3m/v1/getAssetImage/${e}?projectId=${y.state.projectId}&sdkType=${E}&sdkVersion=${O}`}};var z=Object.defineProperty,j=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable,k=(e,t,s)=>t in e?z(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,F=(e,t)=>{for(var s in t||(t={}))J.call(t,s)&&k(e,s,t[s]);if(j)for(var s of j(t))q.call(t,s)&&k(e,s,t[s]);return e};const N=a.isMobile(),d=u({wallets:{listings:[],total:0,page:1},search:{listings:[],total:0,page:1},recomendedWallets:[]}),te={state:d,async getRecomendedWallets(){const{explorerRecommendedWalletIds:e,explorerExcludedWalletIds:t}=y.state;if(e===\"NONE\"||t===\"ALL\"&&!e)return d.recomendedWallets;if(a.isArray(e)){const s={recommendedIds:e.join(\",\")},{listings:n}=await m.getAllListings(s),i=Object.values(n);i.sort((l,v)=>{const b=e.indexOf(l.id),f=e.indexOf(v.id);return b-f}),d.recomendedWallets=i}else{const{chains:s,isAuth:n}=p.state,i=s?.join(\",\"),l=a.isArray(t),v={page:1,sdks:n?\"auth_v1\":void 0,entries:a.RECOMMENDED_WALLET_AMOUNT,chains:i,version:2,excludedIds:l?t.join(\",\"):void 0},{listings:b}=N?await m.getMobileListings(v):await m.getDesktopListings(v);d.recomendedWallets=Object.values(b)}return d.recomendedWallets},async getWallets(e){const t=F({},e),{explorerRecommendedWalletIds:s,explorerExcludedWalletIds:n}=y.state,{recomendedWallets:i}=d;if(n===\"ALL\")return d.wallets;i.length?t.excludedIds=i.map(x=>x.id).join(\",\"):a.isArray(s)&&(t.excludedIds=s.join(\",\")),a.isArray(n)&&(t.excludedIds=[t.excludedIds,n].filter(Boolean).join(\",\")),p.state.isAuth&&(t.sdks=\"auth_v1\");const{page:l,search:v}=e,{listings:b,total:f}=N?await m.getMobileListings(t):await m.getDesktopListings(t),A=Object.values(b),U=v?\"search\":\"wallets\";return d[U]={listings:[...d[U].listings,...A],total:f,page:l??1},{listings:A,total:f}},getWalletImageUrl(e){return m.getWalletImageUrl(e)},getAssetImageUrl(e){return m.getAssetImageUrl(e)},resetSearch(){d.search={listings:[],total:0,page:1}}},I=u({open:!1}),se={state:I,subscribe(e){return h(I,()=>e(I))},async open(e){return new Promise(t=>{const{isUiLoaded:s,isDataLoaded:n}=p.state;if(a.removeWalletConnectDeepLink(),p.setWalletConnectUri(e?.uri),p.setChains(e?.chains),T.reset(\"ConnectWallet\"),s&&n)I.open=!0,t();else{const i=setInterval(()=>{const l=p.state;l.isUiLoaded&&l.isDataLoaded&&(clearInterval(i),I.open=!0,t())},200)}})},close(){I.open=!1}};var G=Object.defineProperty,$=Object.getOwnPropertySymbols,Q=Object.prototype.hasOwnProperty,X=Object.prototype.propertyIsEnumerable,S=(e,t,s)=>t in e?G(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Y=(e,t)=>{for(var s in t||(t={}))Q.call(t,s)&&S(e,s,t[s]);if($)for(var s of $(t))X.call(t,s)&&S(e,s,t[s]);return e};function Z(){return typeof matchMedia<\"u\"&&matchMedia(\"(prefers-color-scheme: dark)\").matches}const C=u({themeMode:Z()?\"dark\":\"light\"}),ne={state:C,subscribe(e){return h(C,()=>e(C))},setThemeConfig(e){const{themeMode:t,themeVariables:s}=e;t&&(C.themeMode=t),s&&(C.themeVariables=Y({},s))}},g=u({open:!1,message:\"\",variant:\"success\"}),oe={state:g,subscribe(e){return h(g,()=>e(g))},openToast(e,t){g.open=!0,g.message=e,g.variant=t},closeToast(){g.open=!1}};export{y as ConfigCtrl,a as CoreUtil,R as EventsCtrl,te as ExplorerCtrl,se as ModalCtrl,p as OptionsCtrl,T as RouterCtrl,ne as ThemeCtrl,oe as ToastCtrl};\n//# sourceMappingURL=index.js.map\n","import{ModalCtrl as t,ThemeCtrl as o,ConfigCtrl as i,OptionsCtrl as n}from\"@walletconnect/modal-core\";class d{constructor(e){this.openModal=t.open,this.closeModal=t.close,this.subscribeModal=t.subscribe,this.setTheme=o.setThemeConfig,o.setThemeConfig(e),i.setConfig(e),this.initUi()}async initUi(){if(typeof window<\"u\"){await import(\"@walletconnect/modal-ui\");const e=document.createElement(\"wcm-modal\");document.body.insertAdjacentElement(\"beforeend\",e),n.setIsUiLoaded(!0)}}}export{d as WalletConnectModal};\n//# sourceMappingURL=index.js.map\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=window,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),n=new WeakMap;class o{constructor(t,e,n){if(this._$cssResult$=!0,n!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=n.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&n.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new o(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const n=1===t.length?t[0]:e.reduce(((e,s,n)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[n+1]),t[0]);return new o(n,t,s)},S=(s,n)=>{e?s.adoptedStyleSheets=n.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):n.forEach((e=>{const n=document.createElement(\"style\"),o=t.litNonce;void 0!==o&&n.setAttribute(\"nonce\",o),n.textContent=e.cssText,s.appendChild(n)}))},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{o as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as i}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var s;const e=window,r=e.trustedTypes,h=r?r.emptyScript:\"\",o=e.reactiveElementPolyfillSupport,n={toAttribute(t,i){switch(i){case Boolean:t=t?h:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,i){let s=t;switch(i){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(t){s=null}}return s}},a=(t,i)=>i!==t&&(i==i||t==t),l={attribute:!0,type:String,converter:n,reflect:!1,hasChanged:a},d=\"finalized\";class u extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(t){var i;this.finalize(),(null!==(i=this.h)&&void 0!==i?i:this.h=[]).push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((i,s)=>{const e=this._$Ep(s,i);void 0!==e&&(this._$Ev.set(e,s),t.push(e))})),t}static createProperty(t,i=l){if(i.state&&(i.attribute=!1),this.finalize(),this.elementProperties.set(t,i),!i.noAccessor&&!this.prototype.hasOwnProperty(t)){const s=\"symbol\"==typeof t?Symbol():\"__\"+t,e=this.getPropertyDescriptor(t,s,i);void 0!==e&&Object.defineProperty(this.prototype,t,e)}}static getPropertyDescriptor(t,i,s){return{get(){return this[i]},set(e){const r=this[t];this[i]=e,this.requestUpdate(t,r,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||l}static finalize(){if(this.hasOwnProperty(d))return!1;this[d]=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),void 0!==t.h&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty(\"properties\")){const t=this.properties,i=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const s of i)this.createProperty(s,t[s])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(i){const s=[];if(Array.isArray(i)){const e=new Set(i.flat(1/0).reverse());for(const i of e)s.unshift(t(i))}else void 0!==i&&s.push(t(i));return s}static _$Ep(t,i){const s=i.attribute;return!1===s?void 0:\"string\"==typeof s?s:\"string\"==typeof t?t.toLowerCase():void 0}_$Eu(){var t;this._$E_=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(t=this.constructor.h)||void 0===t||t.forEach((t=>t(this)))}addController(t){var i,s;(null!==(i=this._$ES)&&void 0!==i?i:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(s=t.hostConnected)||void 0===s||s.call(t))}removeController(t){var i;null===(i=this._$ES)||void 0===i||i.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((t,i)=>{this.hasOwnProperty(i)&&(this._$Ei.set(i,this[i]),delete this[i])}))}createRenderRoot(){var t;const s=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return i(s,this.constructor.elementStyles),s}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostConnected)||void 0===i?void 0:i.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostDisconnected)||void 0===i?void 0:i.call(t)}))}attributeChangedCallback(t,i,s){this._$AK(t,s)}_$EO(t,i,s=l){var e;const r=this.constructor._$Ep(t,s);if(void 0!==r&&!0===s.reflect){const h=(void 0!==(null===(e=s.converter)||void 0===e?void 0:e.toAttribute)?s.converter:n).toAttribute(i,s.type);this._$El=t,null==h?this.removeAttribute(r):this.setAttribute(r,h),this._$El=null}}_$AK(t,i){var s;const e=this.constructor,r=e._$Ev.get(t);if(void 0!==r&&this._$El!==r){const t=e.getPropertyOptions(r),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(s=t.converter)||void 0===s?void 0:s.fromAttribute)?t.converter:n;this._$El=r,this[r]=h.fromAttribute(i,t.type),this._$El=null}}requestUpdate(t,i,s){let e=!0;void 0!==t&&(((s=s||this.constructor.getPropertyOptions(t)).hasChanged||a)(this[t],i)?(this._$AL.has(t)||this._$AL.set(t,i),!0===s.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,s))):e=!1),!this.isUpdatePending&&e&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((t,i)=>this[i]=t)),this._$Ei=void 0);let i=!1;const s=this._$AL;try{i=this.shouldUpdate(s),i?(this.willUpdate(s),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostUpdate)||void 0===i?void 0:i.call(t)})),this.update(s)):this._$Ek()}catch(t){throw i=!1,this._$Ek(),t}i&&this._$AE(s)}willUpdate(t){}_$AE(t){var i;null===(i=this._$ES)||void 0===i||i.forEach((t=>{var i;return null===(i=t.hostUpdated)||void 0===i?void 0:i.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,i)=>this._$EO(i,this[i],t))),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}}u[d]=!0,u.elementProperties=new Map,u.elementStyles=[],u.shadowRootOptions={mode:\"open\"},null==o||o({ReactiveElement:u}),(null!==(s=e.reactiveElementVersions)&&void 0!==s?s:e.reactiveElementVersions=[]).push(\"1.6.3\");export{u as ReactiveElement,n as defaultConverter,a as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar t;const i=window,s=i.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,o=\"$lit$\",n=`lit$${(Math.random()+\"\").slice(9)}$`,l=\"?\"+n,h=`<${l}>`,r=document,u=()=>r.createComment(\"\"),d=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,c=Array.isArray,v=t=>c(t)||\"function\"==typeof(null==t?void 0:t[Symbol.iterator]),a=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${a}(?:([^\\\\s\"'>=/]+)(${a}*=${a}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,w=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=w(1),b=w(2),T=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),E=new WeakMap,C=r.createTreeWalker(r,129,null,!1);function P(t,i){if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==e?e.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,e=[];let l,r=2===i?\"\":\"\",u=f;for(let i=0;i\"===c[0]?(u=null!=l?l:f,v=-1):void 0===c[1]?v=-2:(v=u.lastIndex-c[2].length,d=c[1],u=void 0===c[3]?p:'\"'===c[3]?$:g):u===$||u===g?u=p:u===_||u===m?u=f:(u=p,l=void 0);const w=u===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";r+=u===f?s+h:v>=0?(e.push(d),s.slice(0,v)+o+s.slice(v)+n+w):s+n+(-2===v?(e.push(void 0),i):w)}return[P(t,r+(t[s]||\"\")+(2===i?\"\":\"\")),e]};class N{constructor({strings:t,_$litType$:i},e){let h;this.parts=[];let r=0,d=0;const c=t.length-1,v=this.parts,[a,f]=V(t,i);if(this.el=N.createElement(a,e),C.currentNode=this.el.content,2===i){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes)}for(;null!==(h=C.nextNode())&&v.length0){h.textContent=s?s.emptyScript:\"\";for(let s=0;s2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,s,e){const o=this.strings;let n=!1;if(void 0===o)t=S(this,t,i,0),n=!d(t)||t!==this._$AH&&t!==T,n&&(this._$AH=t);else{const e=t;let l,h;for(t=o[0],l=0;l{var e,o;const n=null!==(e=null==s?void 0:s.renderBefore)&&void 0!==e?e:i;let l=n._$litPart$;if(void 0===l){const t=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;n._$litPart$=l=new R(i.insertBefore(u(),t),t,void 0,null!=s?s:{})}return l._$AI(t),l};export{j as _$LH,x as html,T as noChange,A as nothing,D as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as i}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var l,o;const r=t;class s extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,e;const i=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=i.firstChild),i}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(i,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!1)}render(){return i}}s.finalized=!0,s._$litElement$=!0,null===(l=globalThis.litElementHydrateSupport)||void 0===l||l.call(globalThis,{LitElement:s});const n=globalThis.litElementPolyfillSupport;null==n||n({LitElement:s});const h={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(null!==(o=globalThis.litElementVersions)&&void 0!==o?o:globalThis.litElementVersions=[]).push(\"3.3.3\");export{s as LitElement,r as UpdatingElement,h as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=e=>n=>\"function\"==typeof n?((e,n)=>(customElements.define(e,n),n))(e,n):((e,n)=>{const{kind:t,elements:s}=n;return{kind:t,elements:s,finisher(n){customElements.define(e,n)}}})(e,n);export{e as customElement};\n//# sourceMappingURL=custom-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst i=(i,e)=>\"method\"===e.kind&&e.descriptor&&!(\"value\"in e.descriptor)?{...e,finisher(n){n.createProperty(e.key,i)}}:{kind:\"field\",key:Symbol(),placement:\"own\",descriptor:{},originalKey:e.key,initializer(){\"function\"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(n){n.createProperty(e.key,i)}},e=(i,e,n)=>{e.constructor.createProperty(n,i)};function n(n){return(t,o)=>void 0!==o?e(n,t,o):i(n,t)}export{n as property};\n//# sourceMappingURL=property.js.map\n","import{property as r}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function t(t){return r({...t,state:!0})}export{t as state};\n//# sourceMappingURL=state.js.map\n","import{decorateProperty as o}from\"./base.js\";\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var n;const e=null!=(null===(n=window.HTMLSlotElement)||void 0===n?void 0:n.prototype.assignedElements)?(o,n)=>o.assignedElements(n):(o,n)=>o.assignedNodes(n).filter((o=>o.nodeType===Node.ELEMENT_NODE));function l(n){const{slot:l,selector:t}=null!=n?n:{};return o({descriptor:o=>({get(){var o;const r=\"slot\"+(l?`[name=${l}]`:\":not([name])\"),i=null===(o=this.renderRoot)||void 0===o?void 0:o.querySelector(r),s=null!=i?e(i,n):[];return t?s.filter((o=>o.matches(t))):s},enumerable:!0,configurable:!0})})}export{l as queryAssignedElements};\n//# sourceMappingURL=query-assigned-elements.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{noChange as t}from\"../lit-html.js\";import{directive as i,Directive as s,PartType as r}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=i(class extends s{constructor(t){var i;if(super(t),t.type!==r.ATTRIBUTE||\"class\"!==t.name||(null===(i=t.strings)||void 0===i?void 0:i.length)>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter((i=>t[i])).join(\" \")+\" \"}update(i,[s]){var r,o;if(void 0===this.it){this.it=new Set,void 0!==i.strings&&(this.nt=new Set(i.strings.join(\" \").split(/\\s/).filter((t=>\"\"!==t))));for(const t in s)s[t]&&!(null===(r=this.nt)||void 0===r?void 0:r.has(t))&&this.it.add(t);return this.render(s)}const e=i.element.classList;this.it.forEach((t=>{t in s||(e.remove(t),this.it.delete(t))}));for(const t in s){const i=!!s[t];i===this.it.has(t)||(null===(o=this.nt)||void 0===o?void 0:o.has(t))||(i?(e.add(t),this.it.add(t)):(e.remove(t),this.it.delete(t)))}return t}});export{o as classMap};\n//# sourceMappingURL=class-map.js.map\n","function addUniqueItem(array, item) {\n array.indexOf(item) === -1 && array.push(item);\n}\nfunction removeItem(arr, item) {\n const index = arr.indexOf(item);\n index > -1 && arr.splice(index, 1);\n}\n\nexport { addUniqueItem, removeItem };\n","const clamp = (min, max, v) => Math.min(Math.max(v, min), max);\n\nexport { clamp };\n","const defaults = {\n duration: 0.3,\n delay: 0,\n endDelay: 0,\n repeat: 0,\n easing: \"ease\",\n};\n\nexport { defaults };\n","const isNumber = (value) => typeof value === \"number\";\n\nexport { isNumber };\n","import { isNumber } from './is-number.es.js';\n\nconst isEasingList = (easing) => Array.isArray(easing) && !isNumber(easing[0]);\n\nexport { isEasingList };\n","const wrap = (min, max, v) => {\n const rangeSize = max - min;\n return ((((v - min) % rangeSize) + rangeSize) % rangeSize) + min;\n};\n\nexport { wrap };\n","import { isEasingList } from './is-easing-list.es.js';\nimport { wrap } from './wrap.es.js';\n\nfunction getEasingForSegment(easing, i) {\n return isEasingList(easing)\n ? easing[wrap(0, easing.length, i)]\n : easing;\n}\n\nexport { getEasingForSegment };\n","const mix = (min, max, progress) => -progress * min + progress * max + min;\n\nexport { mix };\n","const noop = () => { };\nconst noopReturn = (v) => v;\n\nexport { noop, noopReturn };\n","const progress = (min, max, value) => max - min === 0 ? 1 : (value - min) / (max - min);\n\nexport { progress };\n","import { mix } from './mix.es.js';\nimport { progress } from './progress.es.js';\n\nfunction fillOffset(offset, remaining) {\n const min = offset[offset.length - 1];\n for (let i = 1; i <= remaining; i++) {\n const offsetProgress = progress(0, remaining, i);\n offset.push(mix(min, 1, offsetProgress));\n }\n}\nfunction defaultOffset(length) {\n const offset = [0];\n fillOffset(offset, length - 1);\n return offset;\n}\n\nexport { defaultOffset, fillOffset };\n","import { mix } from './mix.es.js';\nimport { noopReturn } from './noop.es.js';\nimport { fillOffset, defaultOffset } from './offset.es.js';\nimport { progress } from './progress.es.js';\nimport { getEasingForSegment } from './easing.es.js';\nimport { clamp } from './clamp.es.js';\n\nfunction interpolate(output, input = defaultOffset(output.length), easing = noopReturn) {\n const length = output.length;\n /**\n * If the input length is lower than the output we\n * fill the input to match. This currently assumes the input\n * is an animation progress value so is a good candidate for\n * moving outside the function.\n */\n const remainder = length - input.length;\n remainder > 0 && fillOffset(input, remainder);\n return (t) => {\n let i = 0;\n for (; i < length - 2; i++) {\n if (t < input[i + 1])\n break;\n }\n let progressInRange = clamp(0, 1, progress(input[i], input[i + 1], t));\n const segmentEasing = getEasingForSegment(easing, i);\n progressInRange = segmentEasing(progressInRange);\n return mix(output[i], output[i + 1], progressInRange);\n };\n}\n\nexport { interpolate };\n","import { isNumber } from './is-number.es.js';\n\nconst isCubicBezier = (easing) => Array.isArray(easing) && isNumber(easing[0]);\n\nexport { isCubicBezier };\n","const isEasingGenerator = (easing) => typeof easing === \"object\" &&\n Boolean(easing.createAnimation);\n\nexport { isEasingGenerator };\n","const isFunction = (value) => typeof value === \"function\";\n\nexport { isFunction };\n","const isString = (value) => typeof value === \"string\";\n\nexport { isString };\n","const time = {\n ms: (seconds) => seconds * 1000,\n s: (milliseconds) => milliseconds / 1000,\n};\n\nexport { time };\n","import { noopReturn } from '@motionone/utils';\n\n/*\n Bezier function generator\n\n This has been modified from Gaëtan Renaudeau's BezierEasing\n https://github.com/gre/bezier-easing/blob/master/src/index.js\n https://github.com/gre/bezier-easing/blob/master/LICENSE\n \n I've removed the newtonRaphsonIterate algo because in benchmarking it\n wasn't noticiably faster than binarySubdivision, indeed removing it\n usually improved times, depending on the curve.\n\n I also removed the lookup table, as for the added bundle size and loop we're\n only cutting ~4 or so subdivision iterations. I bumped the max iterations up\n to 12 to compensate and this still tended to be faster for no perceivable\n loss in accuracy.\n\n Usage\n const easeOut = cubicBezier(.17,.67,.83,.67);\n const x = easeOut(0.5); // returns 0.627...\n*/\n// Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\nconst calcBezier = (t, a1, a2) => (((1.0 - 3.0 * a2 + 3.0 * a1) * t + (3.0 * a2 - 6.0 * a1)) * t + 3.0 * a1) * t;\nconst subdivisionPrecision = 0.0000001;\nconst subdivisionMaxIterations = 12;\nfunction binarySubdivide(x, lowerBound, upperBound, mX1, mX2) {\n let currentX;\n let currentT;\n let i = 0;\n do {\n currentT = lowerBound + (upperBound - lowerBound) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - x;\n if (currentX > 0.0) {\n upperBound = currentT;\n }\n else {\n lowerBound = currentT;\n }\n } while (Math.abs(currentX) > subdivisionPrecision &&\n ++i < subdivisionMaxIterations);\n return currentT;\n}\nfunction cubicBezier(mX1, mY1, mX2, mY2) {\n // If this is a linear gradient, return linear easing\n if (mX1 === mY1 && mX2 === mY2)\n return noopReturn;\n const getTForX = (aX) => binarySubdivide(aX, 0, 1, mX1, mX2);\n // If animation is at start/end, return t without easing\n return (t) => t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2);\n}\n\nexport { cubicBezier };\n","import { clamp } from '@motionone/utils';\n\nconst steps = (steps, direction = \"end\") => (progress) => {\n progress =\n direction === \"end\"\n ? Math.min(progress, 0.999)\n : Math.max(progress, 0.001);\n const expanded = progress * steps;\n const rounded = direction === \"end\" ? Math.floor(expanded) : Math.ceil(expanded);\n return clamp(0, 1, rounded / steps);\n};\n\nexport { steps };\n","import { cubicBezier, steps } from '@motionone/easing';\nimport { isFunction, isCubicBezier, noopReturn } from '@motionone/utils';\n\nconst namedEasings = {\n ease: cubicBezier(0.25, 0.1, 0.25, 1.0),\n \"ease-in\": cubicBezier(0.42, 0.0, 1.0, 1.0),\n \"ease-in-out\": cubicBezier(0.42, 0.0, 0.58, 1.0),\n \"ease-out\": cubicBezier(0.0, 0.0, 0.58, 1.0),\n};\nconst functionArgsRegex = /\\((.*?)\\)/;\nfunction getEasingFunction(definition) {\n // If already an easing function, return\n if (isFunction(definition))\n return definition;\n // If an easing curve definition, return bezier function\n if (isCubicBezier(definition))\n return cubicBezier(...definition);\n // If we have a predefined easing function, return\n if (namedEasings[definition])\n return namedEasings[definition];\n // If this is a steps function, attempt to create easing curve\n if (definition.startsWith(\"steps\")) {\n const args = functionArgsRegex.exec(definition);\n if (args) {\n const argsArray = args[1].split(\",\");\n return steps(parseFloat(argsArray[0]), argsArray[1].trim());\n }\n }\n return noopReturn;\n}\n\nexport { getEasingFunction };\n","import { noopReturn, defaults, isEasingGenerator, isEasingList, interpolate } from '@motionone/utils';\nimport { getEasingFunction } from './utils/easing.es.js';\n\nclass Animation {\n constructor(output, keyframes = [0, 1], { easing, duration: initialDuration = defaults.duration, delay = defaults.delay, endDelay = defaults.endDelay, repeat = defaults.repeat, offset, direction = \"normal\", autoplay = true, } = {}) {\n this.startTime = null;\n this.rate = 1;\n this.t = 0;\n this.cancelTimestamp = null;\n this.easing = noopReturn;\n this.duration = 0;\n this.totalDuration = 0;\n this.repeat = 0;\n this.playState = \"idle\";\n this.finished = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n easing = easing || defaults.easing;\n if (isEasingGenerator(easing)) {\n const custom = easing.createAnimation(keyframes);\n easing = custom.easing;\n keyframes = custom.keyframes || keyframes;\n initialDuration = custom.duration || initialDuration;\n }\n this.repeat = repeat;\n this.easing = isEasingList(easing) ? noopReturn : getEasingFunction(easing);\n this.updateDuration(initialDuration);\n const interpolate$1 = interpolate(keyframes, offset, isEasingList(easing) ? easing.map(getEasingFunction) : noopReturn);\n this.tick = (timestamp) => {\n var _a;\n // TODO: Temporary fix for OptionsResolver typing\n delay = delay;\n let t = 0;\n if (this.pauseTime !== undefined) {\n t = this.pauseTime;\n }\n else {\n t = (timestamp - this.startTime) * this.rate;\n }\n this.t = t;\n // Convert to seconds\n t /= 1000;\n // Rebase on delay\n t = Math.max(t - delay, 0);\n /**\n * If this animation has finished, set the current time\n * to the total duration.\n */\n if (this.playState === \"finished\" && this.pauseTime === undefined) {\n t = this.totalDuration;\n }\n /**\n * Get the current progress (0-1) of the animation. If t is >\n * than duration we'll get values like 2.5 (midway through the\n * third iteration)\n */\n const progress = t / this.duration;\n // TODO progress += iterationStart\n /**\n * Get the current iteration (0 indexed). For instance the floor of\n * 2.5 is 2.\n */\n let currentIteration = Math.floor(progress);\n /**\n * Get the current progress of the iteration by taking the remainder\n * so 2.5 is 0.5 through iteration 2\n */\n let iterationProgress = progress % 1.0;\n if (!iterationProgress && progress >= 1) {\n iterationProgress = 1;\n }\n /**\n * If iteration progress is 1 we count that as the end\n * of the previous iteration.\n */\n iterationProgress === 1 && currentIteration--;\n /**\n * Reverse progress if we're not running in \"normal\" direction\n */\n const iterationIsOdd = currentIteration % 2;\n if (direction === \"reverse\" ||\n (direction === \"alternate\" && iterationIsOdd) ||\n (direction === \"alternate-reverse\" && !iterationIsOdd)) {\n iterationProgress = 1 - iterationProgress;\n }\n const p = t >= this.totalDuration ? 1 : Math.min(iterationProgress, 1);\n const latest = interpolate$1(this.easing(p));\n output(latest);\n const isAnimationFinished = this.pauseTime === undefined &&\n (this.playState === \"finished\" || t >= this.totalDuration + endDelay);\n if (isAnimationFinished) {\n this.playState = \"finished\";\n (_a = this.resolve) === null || _a === void 0 ? void 0 : _a.call(this, latest);\n }\n else if (this.playState !== \"idle\") {\n this.frameRequestId = requestAnimationFrame(this.tick);\n }\n };\n if (autoplay)\n this.play();\n }\n play() {\n const now = performance.now();\n this.playState = \"running\";\n if (this.pauseTime !== undefined) {\n this.startTime = now - this.pauseTime;\n }\n else if (!this.startTime) {\n this.startTime = now;\n }\n this.cancelTimestamp = this.startTime;\n this.pauseTime = undefined;\n this.frameRequestId = requestAnimationFrame(this.tick);\n }\n pause() {\n this.playState = \"paused\";\n this.pauseTime = this.t;\n }\n finish() {\n this.playState = \"finished\";\n this.tick(0);\n }\n stop() {\n var _a;\n this.playState = \"idle\";\n if (this.frameRequestId !== undefined) {\n cancelAnimationFrame(this.frameRequestId);\n }\n (_a = this.reject) === null || _a === void 0 ? void 0 : _a.call(this, false);\n }\n cancel() {\n this.stop();\n this.tick(this.cancelTimestamp);\n }\n reverse() {\n this.rate *= -1;\n }\n commitStyles() { }\n updateDuration(duration) {\n this.duration = duration;\n this.totalDuration = duration * (this.repeat + 1);\n }\n get currentTime() {\n return this.t;\n }\n set currentTime(t) {\n if (this.pauseTime !== undefined || this.rate === 0) {\n this.pauseTime = t;\n }\n else {\n this.startTime = performance.now() - t / this.rate;\n }\n }\n get playbackRate() {\n return this.rate;\n }\n set playbackRate(rate) {\n this.rate = rate;\n }\n}\n\nexport { Animation };\n","var warning = function () { };\r\nvar invariant = function () { };\r\nif (process.env.NODE_ENV !== 'production') {\r\n warning = function (check, message) {\r\n if (!check && typeof console !== 'undefined') {\r\n console.warn(message);\r\n }\r\n };\r\n invariant = function (check, message) {\r\n if (!check) {\r\n throw new Error(message);\r\n }\r\n };\r\n}\n\nexport { invariant, warning };\n","/**\n * The MotionValue tracks the state of a single animatable\n * value. Currently, updatedAt and current are unused. The\n * long term idea is to use this to minimise the number\n * of DOM reads, and to abstract the DOM interactions here.\n */\nclass MotionValue {\n setAnimation(animation) {\n this.animation = animation;\n animation === null || animation === void 0 ? void 0 : animation.finished.then(() => this.clearAnimation()).catch(() => { });\n }\n clearAnimation() {\n this.animation = this.generator = undefined;\n }\n}\n\nexport { MotionValue };\n","import { MotionValue } from '@motionone/types';\n\nconst data = new WeakMap();\nfunction getAnimationData(element) {\n if (!data.has(element)) {\n data.set(element, {\n transforms: [],\n values: new Map(),\n });\n }\n return data.get(element);\n}\nfunction getMotionValue(motionValues, name) {\n if (!motionValues.has(name)) {\n motionValues.set(name, new MotionValue());\n }\n return motionValues.get(name);\n}\n\nexport { getAnimationData, getMotionValue };\n","import { noopReturn, addUniqueItem } from '@motionone/utils';\nimport { getAnimationData } from '../data.es.js';\n\n/**\n * A list of all transformable axes. We'll use this list to generated a version\n * of each axes for each transform.\n */\nconst axes = [\"\", \"X\", \"Y\", \"Z\"];\n/**\n * An ordered array of each transformable value. By default, transform values\n * will be sorted to this order.\n */\nconst order = [\"translate\", \"scale\", \"rotate\", \"skew\"];\nconst transformAlias = {\n x: \"translateX\",\n y: \"translateY\",\n z: \"translateZ\",\n};\nconst rotation = {\n syntax: \"\",\n initialValue: \"0deg\",\n toDefaultUnit: (v) => v + \"deg\",\n};\nconst baseTransformProperties = {\n translate: {\n syntax: \"\",\n initialValue: \"0px\",\n toDefaultUnit: (v) => v + \"px\",\n },\n rotate: rotation,\n scale: {\n syntax: \"\",\n initialValue: 1,\n toDefaultUnit: noopReturn,\n },\n skew: rotation,\n};\nconst transformDefinitions = new Map();\nconst asTransformCssVar = (name) => `--motion-${name}`;\n/**\n * Generate a list of every possible transform key\n */\nconst transforms = [\"x\", \"y\", \"z\"];\norder.forEach((name) => {\n axes.forEach((axis) => {\n transforms.push(name + axis);\n transformDefinitions.set(asTransformCssVar(name + axis), baseTransformProperties[name]);\n });\n});\n/**\n * A function to use with Array.sort to sort transform keys by their default order.\n */\nconst compareTransformOrder = (a, b) => transforms.indexOf(a) - transforms.indexOf(b);\n/**\n * Provide a quick way to check if a string is the name of a transform\n */\nconst transformLookup = new Set(transforms);\nconst isTransform = (name) => transformLookup.has(name);\nconst addTransformToElement = (element, name) => {\n // Map x to translateX etc\n if (transformAlias[name])\n name = transformAlias[name];\n const { transforms } = getAnimationData(element);\n addUniqueItem(transforms, name);\n /**\n * TODO: An optimisation here could be to cache the transform in element data\n * and only update if this has changed.\n */\n element.style.transform = buildTransformTemplate(transforms);\n};\nconst buildTransformTemplate = (transforms) => transforms\n .sort(compareTransformOrder)\n .reduce(transformListToString, \"\")\n .trim();\nconst transformListToString = (template, name) => `${template} ${name}(var(${asTransformCssVar(name)}))`;\n\nexport { addTransformToElement, asTransformCssVar, axes, buildTransformTemplate, compareTransformOrder, isTransform, transformAlias, transformDefinitions };\n","import { transformDefinitions } from './transforms.es.js';\n\nconst isCssVar = (name) => name.startsWith(\"--\");\nconst registeredProperties = new Set();\nfunction registerCssVariable(name) {\n if (registeredProperties.has(name))\n return;\n registeredProperties.add(name);\n try {\n const { syntax, initialValue } = transformDefinitions.has(name)\n ? transformDefinitions.get(name)\n : {};\n CSS.registerProperty({\n name,\n inherits: false,\n syntax,\n initialValue,\n });\n }\n catch (e) { }\n}\n\nexport { isCssVar, registerCssVariable, registeredProperties };\n","const testAnimation = (keyframes, options) => document.createElement(\"div\").animate(keyframes, options);\nconst featureTests = {\n cssRegisterProperty: () => typeof CSS !== \"undefined\" &&\n Object.hasOwnProperty.call(CSS, \"registerProperty\"),\n waapi: () => Object.hasOwnProperty.call(Element.prototype, \"animate\"),\n partialKeyframes: () => {\n try {\n testAnimation({ opacity: [1] });\n }\n catch (e) {\n return false;\n }\n return true;\n },\n finished: () => Boolean(testAnimation({ opacity: [0, 1] }, { duration: 0.001 }).finished),\n linearEasing: () => {\n try {\n testAnimation({ opacity: 0 }, { easing: \"linear(0, 1)\" });\n }\n catch (e) {\n return false;\n }\n return true;\n },\n};\nconst results = {};\nconst supports = {};\nfor (const key in featureTests) {\n supports[key] = () => {\n if (results[key] === undefined)\n results[key] = featureTests[key]();\n return results[key];\n };\n}\n\nexport { supports };\n","import { isFunction, defaults, isCubicBezier, progress } from '@motionone/utils';\nimport { supports } from './feature-detection.es.js';\n\n// Create a linear easing point for every x second\nconst resolution = 0.015;\nconst generateLinearEasingPoints = (easing, duration) => {\n let points = \"\";\n const numPoints = Math.round(duration / resolution);\n for (let i = 0; i < numPoints; i++) {\n points += easing(progress(0, numPoints - 1, i)) + \", \";\n }\n return points.substring(0, points.length - 2);\n};\nconst convertEasing = (easing, duration) => {\n if (isFunction(easing)) {\n return supports.linearEasing()\n ? `linear(${generateLinearEasingPoints(easing, duration)})`\n : defaults.easing;\n }\n else {\n return isCubicBezier(easing) ? cubicBezierAsString(easing) : easing;\n }\n};\nconst cubicBezierAsString = ([a, b, c, d]) => `cubic-bezier(${a}, ${b}, ${c}, ${d})`;\n\nexport { convertEasing, cubicBezierAsString, generateLinearEasingPoints };\n","function hydrateKeyframes(keyframes, readInitialValue) {\n for (let i = 0; i < keyframes.length; i++) {\n if (keyframes[i] === null) {\n keyframes[i] = i ? keyframes[i - 1] : readInitialValue();\n }\n }\n return keyframes;\n}\nconst keyframesList = (keyframes) => Array.isArray(keyframes) ? keyframes : [keyframes];\n\nexport { hydrateKeyframes, keyframesList };\n","import { isTransform, asTransformCssVar, transformAlias } from './transforms.es.js';\n\nfunction getStyleName(key) {\n if (transformAlias[key])\n key = transformAlias[key];\n return isTransform(key) ? asTransformCssVar(key) : key;\n}\n\nexport { getStyleName };\n","import { isCssVar } from './utils/css-var.es.js';\nimport { getStyleName } from './utils/get-style-name.es.js';\nimport { transformDefinitions } from './utils/transforms.es.js';\n\nconst style = {\n get: (element, name) => {\n name = getStyleName(name);\n let value = isCssVar(name)\n ? element.style.getPropertyValue(name)\n : getComputedStyle(element)[name];\n if (!value && value !== 0) {\n const definition = transformDefinitions.get(name);\n if (definition)\n value = definition.initialValue;\n }\n return value;\n },\n set: (element, name, value) => {\n name = getStyleName(name);\n if (isCssVar(name)) {\n element.style.setProperty(name, value);\n }\n else {\n element.style[name] = value;\n }\n },\n};\n\nexport { style };\n","function stopAnimation(animation, needsCommit = true) {\n if (!animation || animation.playState === \"finished\")\n return;\n // Suppress error thrown by WAAPI\n try {\n if (animation.stop) {\n animation.stop();\n }\n else {\n needsCommit && animation.commitStyles();\n animation.cancel();\n }\n }\n catch (e) { }\n}\n\nexport { stopAnimation };\n","import { noopReturn, isString } from '@motionone/utils';\n\nfunction getUnitConverter(keyframes, definition) {\n var _a;\n let toUnit = (definition === null || definition === void 0 ? void 0 : definition.toDefaultUnit) || noopReturn;\n const finalKeyframe = keyframes[keyframes.length - 1];\n if (isString(finalKeyframe)) {\n const unit = ((_a = finalKeyframe.match(/(-?[\\d.]+)([a-z%]*)/)) === null || _a === void 0 ? void 0 : _a[2]) || \"\";\n if (unit)\n toUnit = (value) => value + unit;\n }\n return toUnit;\n}\n\nexport { getUnitConverter };\n","import { getAnimationData, getMotionValue } from './data.es.js';\nimport { isCssVar, registerCssVariable } from './utils/css-var.es.js';\nimport { defaults, isEasingGenerator, isFunction, isEasingList, isNumber, time, noop } from '@motionone/utils';\nimport { isTransform, addTransformToElement, transformDefinitions } from './utils/transforms.es.js';\nimport { convertEasing } from './utils/easing.es.js';\nimport { supports } from './utils/feature-detection.es.js';\nimport { hydrateKeyframes, keyframesList } from './utils/keyframes.es.js';\nimport { style } from './style.es.js';\nimport { getStyleName } from './utils/get-style-name.es.js';\nimport { stopAnimation } from './utils/stop-animation.es.js';\nimport { getUnitConverter } from './utils/get-unit.es.js';\n\nfunction getDevToolsRecord() {\n return window.__MOTION_DEV_TOOLS_RECORD;\n}\nfunction animateStyle(element, key, keyframesDefinition, options = {}, AnimationPolyfill) {\n const record = getDevToolsRecord();\n const isRecording = options.record !== false && record;\n let animation;\n let { duration = defaults.duration, delay = defaults.delay, endDelay = defaults.endDelay, repeat = defaults.repeat, easing = defaults.easing, persist = false, direction, offset, allowWebkitAcceleration = false, autoplay = true, } = options;\n const data = getAnimationData(element);\n const valueIsTransform = isTransform(key);\n let canAnimateNatively = supports.waapi();\n /**\n * If this is an individual transform, we need to map its\n * key to a CSS variable and update the element's transform style\n */\n valueIsTransform && addTransformToElement(element, key);\n const name = getStyleName(key);\n const motionValue = getMotionValue(data.values, name);\n /**\n * Get definition of value, this will be used to convert numerical\n * keyframes into the default value type.\n */\n const definition = transformDefinitions.get(name);\n /**\n * Stop the current animation, if any. Because this will trigger\n * commitStyles (DOM writes) and we might later trigger DOM reads,\n * this is fired now and we return a factory function to create\n * the actual animation that can get called in batch,\n */\n stopAnimation(motionValue.animation, !(isEasingGenerator(easing) && motionValue.generator) &&\n options.record !== false);\n /**\n * Batchable factory function containing all DOM reads.\n */\n return () => {\n const readInitialValue = () => { var _a, _b; return (_b = (_a = style.get(element, name)) !== null && _a !== void 0 ? _a : definition === null || definition === void 0 ? void 0 : definition.initialValue) !== null && _b !== void 0 ? _b : 0; };\n /**\n * Replace null values with the previous keyframe value, or read\n * it from the DOM if it's the first keyframe.\n */\n let keyframes = hydrateKeyframes(keyframesList(keyframesDefinition), readInitialValue);\n /**\n * Detect unit type of keyframes.\n */\n const toUnit = getUnitConverter(keyframes, definition);\n if (isEasingGenerator(easing)) {\n const custom = easing.createAnimation(keyframes, key !== \"opacity\", readInitialValue, name, motionValue);\n easing = custom.easing;\n keyframes = custom.keyframes || keyframes;\n duration = custom.duration || duration;\n }\n /**\n * If this is a CSS variable we need to register it with the browser\n * before it can be animated natively. We also set it with setProperty\n * rather than directly onto the element.style object.\n */\n if (isCssVar(name)) {\n if (supports.cssRegisterProperty()) {\n registerCssVariable(name);\n }\n else {\n canAnimateNatively = false;\n }\n }\n /**\n * If we've been passed a custom easing function, and this browser\n * does **not** support linear() easing, and the value is a transform\n * (and thus a pure number) we can still support the custom easing\n * by falling back to the animation polyfill.\n */\n if (valueIsTransform &&\n !supports.linearEasing() &&\n (isFunction(easing) || (isEasingList(easing) && easing.some(isFunction)))) {\n canAnimateNatively = false;\n }\n /**\n * If we can animate this value with WAAPI, do so.\n */\n if (canAnimateNatively) {\n /**\n * Convert numbers to default value types. Currently this only supports\n * transforms but it could also support other value types.\n */\n if (definition) {\n keyframes = keyframes.map((value) => isNumber(value) ? definition.toDefaultUnit(value) : value);\n }\n /**\n * If this browser doesn't support partial/implicit keyframes we need to\n * explicitly provide one.\n */\n if (keyframes.length === 1 &&\n (!supports.partialKeyframes() || isRecording)) {\n keyframes.unshift(readInitialValue());\n }\n const animationOptions = {\n delay: time.ms(delay),\n duration: time.ms(duration),\n endDelay: time.ms(endDelay),\n easing: !isEasingList(easing)\n ? convertEasing(easing, duration)\n : undefined,\n direction,\n iterations: repeat + 1,\n fill: \"both\",\n };\n animation = element.animate({\n [name]: keyframes,\n offset,\n easing: isEasingList(easing)\n ? easing.map((thisEasing) => convertEasing(thisEasing, duration))\n : undefined,\n }, animationOptions);\n /**\n * Polyfill finished Promise in browsers that don't support it\n */\n if (!animation.finished) {\n animation.finished = new Promise((resolve, reject) => {\n animation.onfinish = resolve;\n animation.oncancel = reject;\n });\n }\n const target = keyframes[keyframes.length - 1];\n animation.finished\n .then(() => {\n if (persist)\n return;\n // Apply styles to target\n style.set(element, name, target);\n // Ensure fill modes don't persist\n animation.cancel();\n })\n .catch(noop);\n /**\n * This forces Webkit to run animations on the main thread by exploiting\n * this condition:\n * https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp?rev=281238#L1099\n *\n * This fixes Webkit's timing bugs, like accelerated animations falling\n * out of sync with main thread animations and massive delays in starting\n * accelerated animations in WKWebView.\n */\n if (!allowWebkitAcceleration)\n animation.playbackRate = 1.000001;\n /**\n * If we can't animate the value natively then we can fallback to the numbers-only\n * polyfill for transforms.\n */\n }\n else if (AnimationPolyfill && valueIsTransform) {\n /**\n * If any keyframe is a string (because we measured it from the DOM), we need to convert\n * it into a number before passing to the Animation polyfill.\n */\n keyframes = keyframes.map((value) => typeof value === \"string\" ? parseFloat(value) : value);\n /**\n * If we only have a single keyframe, we need to create an initial keyframe by reading\n * the current value from the DOM.\n */\n if (keyframes.length === 1) {\n keyframes.unshift(parseFloat(readInitialValue()));\n }\n animation = new AnimationPolyfill((latest) => {\n style.set(element, name, toUnit ? toUnit(latest) : latest);\n }, keyframes, Object.assign(Object.assign({}, options), { duration,\n easing }));\n }\n else {\n const target = keyframes[keyframes.length - 1];\n style.set(element, name, definition && isNumber(target)\n ? definition.toDefaultUnit(target)\n : target);\n }\n if (isRecording) {\n record(element, key, keyframes, {\n duration,\n delay: delay,\n easing,\n repeat,\n offset,\n }, \"motion-one\");\n }\n motionValue.setAnimation(animation);\n if (animation && !autoplay)\n animation.pause();\n return animation;\n };\n}\n\nexport { animateStyle };\n","const getOptions = (options, key) => \n/**\n * TODO: Make test for this\n * Always return a new object otherwise delay is overwritten by results of stagger\n * and this results in no stagger\n */\noptions[key] ? Object.assign(Object.assign({}, options), options[key]) : Object.assign({}, options);\n\nexport { getOptions };\n","function resolveElements(elements, selectorCache) {\n var _a;\n if (typeof elements === \"string\") {\n if (selectorCache) {\n (_a = selectorCache[elements]) !== null && _a !== void 0 ? _a : (selectorCache[elements] = document.querySelectorAll(elements));\n elements = selectorCache[elements];\n }\n else {\n elements = document.querySelectorAll(elements);\n }\n }\n else if (elements instanceof Element) {\n elements = [elements];\n }\n /**\n * Return an empty array\n */\n return Array.from(elements || []);\n}\n\nexport { resolveElements };\n","import { defaults, noop, time } from '@motionone/utils';\nimport { stopAnimation } from './stop-animation.es.js';\n\nconst createAnimation = (factory) => factory();\nconst withControls = (animationFactory, options, duration = defaults.duration) => {\n return new Proxy({\n animations: animationFactory.map(createAnimation).filter(Boolean),\n duration,\n options,\n }, controls);\n};\n/**\n * TODO:\n * Currently this returns the first animation, ideally it would return\n * the first active animation.\n */\nconst getActiveAnimation = (state) => state.animations[0];\nconst controls = {\n get: (target, key) => {\n const activeAnimation = getActiveAnimation(target);\n switch (key) {\n case \"duration\":\n return target.duration;\n case \"currentTime\":\n return time.s((activeAnimation === null || activeAnimation === void 0 ? void 0 : activeAnimation[key]) || 0);\n case \"playbackRate\":\n case \"playState\":\n return activeAnimation === null || activeAnimation === void 0 ? void 0 : activeAnimation[key];\n case \"finished\":\n if (!target.finished) {\n target.finished = Promise.all(target.animations.map(selectFinished)).catch(noop);\n }\n return target.finished;\n case \"stop\":\n return () => {\n target.animations.forEach((animation) => stopAnimation(animation));\n };\n case \"forEachNative\":\n /**\n * This is for internal use only, fire a callback for each\n * underlying animation.\n */\n return (callback) => {\n target.animations.forEach((animation) => callback(animation, target));\n };\n default:\n return typeof (activeAnimation === null || activeAnimation === void 0 ? void 0 : activeAnimation[key]) === \"undefined\"\n ? undefined\n : () => target.animations.forEach((animation) => animation[key]());\n }\n },\n set: (target, key, value) => {\n switch (key) {\n case \"currentTime\":\n value = time.ms(value);\n // Fall-through\n case \"playbackRate\":\n for (let i = 0; i < target.animations.length; i++) {\n target.animations[i][key] = value;\n }\n return true;\n }\n return false;\n },\n};\nconst selectFinished = (animation) => animation.finished;\n\nexport { controls, withControls };\n","import { isNumber, isFunction } from '@motionone/utils';\nimport { getEasingFunction } from '@motionone/animation';\n\nfunction stagger(duration = 0.1, { start = 0, from = 0, easing } = {}) {\n return (i, total) => {\n const fromIndex = isNumber(from) ? from : getFromIndex(from, total);\n const distance = Math.abs(fromIndex - i);\n let delay = duration * distance;\n if (easing) {\n const maxDelay = total * duration;\n const easingFunction = getEasingFunction(easing);\n delay = easingFunction(delay / maxDelay) * maxDelay;\n }\n return start + delay;\n };\n}\nfunction getFromIndex(from, total) {\n if (from === \"first\") {\n return 0;\n }\n else {\n const lastIndex = total - 1;\n return from === \"last\" ? lastIndex : lastIndex / 2;\n }\n}\nfunction resolveOption(option, i, total) {\n return isFunction(option) ? option(i, total) : option;\n}\n\nexport { getFromIndex, resolveOption, stagger };\n","import { invariant } from 'hey-listen';\nimport { animateStyle } from './animate-style.es.js';\nimport { getOptions } from './utils/options.es.js';\nimport { resolveElements } from '../utils/resolve-elements.es.js';\nimport { withControls } from './utils/controls.es.js';\nimport { resolveOption } from '../utils/stagger.es.js';\n\nfunction createAnimate(AnimatePolyfill) {\n return function animate(elements, keyframes, options = {}) {\n elements = resolveElements(elements);\n const numElements = elements.length;\n invariant(Boolean(numElements), \"No valid element provided.\");\n invariant(Boolean(keyframes), \"No keyframes defined.\");\n /**\n * Create and start new animations\n */\n const animationFactories = [];\n for (let i = 0; i < numElements; i++) {\n const element = elements[i];\n for (const key in keyframes) {\n const valueOptions = getOptions(options, key);\n valueOptions.delay = resolveOption(valueOptions.delay, i, numElements);\n const animation = animateStyle(element, key, keyframes[key], valueOptions, AnimatePolyfill);\n animationFactories.push(animation);\n }\n }\n return withControls(animationFactories, options, \n /**\n * TODO:\n * If easing is set to spring or glide, duration will be dynamically\n * generated. Ideally we would dynamically generate this from\n * animation.effect.getComputedTiming().duration but this isn't\n * supported in iOS13 or our number polyfill. Perhaps it's possible\n * to Proxy animations returned from animateStyle that has duration\n * as a getter.\n */\n options.duration);\n };\n}\n\nexport { createAnimate };\n","import { Animation } from '@motionone/animation';\nimport { createAnimate } from './create-animate.es.js';\n\nconst animate = createAnimate(Animation);\n\nexport { animate };\n","import { animate as animate$1, withControls } from '@motionone/dom';\nimport { isFunction } from '@motionone/utils';\nimport { Animation } from '@motionone/animation';\n\nfunction animateProgress(target, options = {}) {\n return withControls([\n () => {\n const animation = new Animation(target, [0, 1], options);\n animation.finished.catch(() => { });\n return animation;\n },\n ], options, options.duration);\n}\nfunction animate(target, keyframesOrOptions, options) {\n const factory = isFunction(target) ? animateProgress : animate$1;\n return factory(target, keyframesOrOptions, options);\n}\n\nexport { animate, animateProgress };\n","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const l=l=>null!=l?l:t;export{l as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","import{css as g,LitElement as w,html as n,svg as pe}from\"lit\";import{property as d,customElement as p,state as I}from\"lit/decorators.js\";import{classMap as P}from\"lit/directives/class-map.js\";import{ThemeCtrl as X,ModalCtrl as ge,RouterCtrl as x,ConfigCtrl as z,ExplorerCtrl as W,CoreUtil as m,OptionsCtrl as R,ToastCtrl as N,EventsCtrl as Xe}from\"@walletconnect/modal-core\";import{svg as C}from\"lit-html\";import{animate as H}from\"motion\";import{ifDefined as k}from\"lit/directives/if-defined.js\";import Je from\"qrcode\";var et=Object.defineProperty,Be=Object.getOwnPropertySymbols,tt=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable,Ue=(e,o,r)=>o in e?et(e,o,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[o]=r,ve=(e,o)=>{for(var r in o||(o={}))tt.call(o,r)&&Ue(e,r,o[r]);if(Be)for(var r of Be(o))ot.call(o,r)&&Ue(e,r,o[r]);return e};function rt(){var e;const o=(e=X.state.themeMode)!=null?e:\"dark\",r={light:{foreground:{1:\"rgb(20,20,20)\",2:\"rgb(121,134,134)\",3:\"rgb(158,169,169)\"},background:{1:\"rgb(255,255,255)\",2:\"rgb(241,243,243)\",3:\"rgb(228,231,231)\"},overlay:\"rgba(0,0,0,0.1)\"},dark:{foreground:{1:\"rgb(228,231,231)\",2:\"rgb(148,158,158)\",3:\"rgb(110,119,119)\"},background:{1:\"rgb(20,20,20)\",2:\"rgb(39,42,42)\",3:\"rgb(59,64,64)\"},overlay:\"rgba(255,255,255,0.1)\"}}[o];return{\"--wcm-color-fg-1\":r.foreground[1],\"--wcm-color-fg-2\":r.foreground[2],\"--wcm-color-fg-3\":r.foreground[3],\"--wcm-color-bg-1\":r.background[1],\"--wcm-color-bg-2\":r.background[2],\"--wcm-color-bg-3\":r.background[3],\"--wcm-color-overlay\":r.overlay}}function He(){return{\"--wcm-accent-color\":\"#3396FF\",\"--wcm-accent-fill-color\":\"#FFFFFF\",\"--wcm-z-index\":\"89\",\"--wcm-background-color\":\"#3396FF\",\"--wcm-background-border-radius\":\"8px\",\"--wcm-container-border-radius\":\"30px\",\"--wcm-wallet-icon-border-radius\":\"15px\",\"--wcm-wallet-icon-large-border-radius\":\"30px\",\"--wcm-wallet-icon-small-border-radius\":\"7px\",\"--wcm-input-border-radius\":\"28px\",\"--wcm-button-border-radius\":\"10px\",\"--wcm-notification-border-radius\":\"36px\",\"--wcm-secondary-button-border-radius\":\"28px\",\"--wcm-icon-button-border-radius\":\"50%\",\"--wcm-button-hover-highlight-border-radius\":\"10px\",\"--wcm-text-big-bold-size\":\"20px\",\"--wcm-text-big-bold-weight\":\"600\",\"--wcm-text-big-bold-line-height\":\"24px\",\"--wcm-text-big-bold-letter-spacing\":\"-0.03em\",\"--wcm-text-big-bold-text-transform\":\"none\",\"--wcm-text-xsmall-bold-size\":\"10px\",\"--wcm-text-xsmall-bold-weight\":\"700\",\"--wcm-text-xsmall-bold-line-height\":\"12px\",\"--wcm-text-xsmall-bold-letter-spacing\":\"0.02em\",\"--wcm-text-xsmall-bold-text-transform\":\"uppercase\",\"--wcm-text-xsmall-regular-size\":\"12px\",\"--wcm-text-xsmall-regular-weight\":\"600\",\"--wcm-text-xsmall-regular-line-height\":\"14px\",\"--wcm-text-xsmall-regular-letter-spacing\":\"-0.03em\",\"--wcm-text-xsmall-regular-text-transform\":\"none\",\"--wcm-text-small-thin-size\":\"14px\",\"--wcm-text-small-thin-weight\":\"500\",\"--wcm-text-small-thin-line-height\":\"16px\",\"--wcm-text-small-thin-letter-spacing\":\"-0.03em\",\"--wcm-text-small-thin-text-transform\":\"none\",\"--wcm-text-small-regular-size\":\"14px\",\"--wcm-text-small-regular-weight\":\"600\",\"--wcm-text-small-regular-line-height\":\"16px\",\"--wcm-text-small-regular-letter-spacing\":\"-0.03em\",\"--wcm-text-small-regular-text-transform\":\"none\",\"--wcm-text-medium-regular-size\":\"16px\",\"--wcm-text-medium-regular-weight\":\"600\",\"--wcm-text-medium-regular-line-height\":\"20px\",\"--wcm-text-medium-regular-letter-spacing\":\"-0.03em\",\"--wcm-text-medium-regular-text-transform\":\"none\",\"--wcm-font-family\":\"-apple-system, system-ui, BlinkMacSystemFont, 'Segoe UI', Roboto, Ubuntu, 'Helvetica Neue', sans-serif\",\"--wcm-font-feature-settings\":\"'tnum' on, 'lnum' on, 'case' on\",\"--wcm-success-color\":\"rgb(38,181,98)\",\"--wcm-error-color\":\"rgb(242, 90, 103)\",\"--wcm-overlay-background-color\":\"rgba(0, 0, 0, 0.3)\",\"--wcm-overlay-backdrop-filter\":\"none\"}}const h={getPreset(e){return He()[e]},setTheme(){const e=document.querySelector(\":root\"),{themeVariables:o}=X.state;if(e){const r=ve(ve(ve({},rt()),He()),o);Object.entries(r).forEach(([a,t])=>e.style.setProperty(a,t))}},globalCss:g`*,::after,::before{margin:0;padding:0;box-sizing:border-box;font-style:normal;text-rendering:optimizeSpeed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;backface-visibility:hidden}button{cursor:pointer;display:flex;justify-content:center;align-items:center;position:relative;border:none;background-color:transparent;transition:all .2s ease}@media (hover:hover) and (pointer:fine){button:active{transition:all .1s ease;transform:scale(.93)}}button::after{content:'';position:absolute;top:0;bottom:0;left:0;right:0;transition:background-color,.2s ease}button:disabled{cursor:not-allowed}button svg,button wcm-text{position:relative;z-index:1}input{border:none;outline:0;appearance:none}img{display:block}::selection{color:var(--wcm-accent-fill-color);background:var(--wcm-accent-color)}`},at=g`button{border-radius:var(--wcm-secondary-button-border-radius);height:28px;padding:0 10px;background-color:var(--wcm-accent-color)}button path{fill:var(--wcm-accent-fill-color)}button::after{border-radius:inherit;border:1px solid var(--wcm-color-overlay)}button:disabled::after{background-color:transparent}.wcm-icon-left svg{margin-right:5px}.wcm-icon-right svg{margin-left:5px}button:active::after{background-color:var(--wcm-color-overlay)}.wcm-ghost,.wcm-ghost:active::after,.wcm-outline{background-color:transparent}.wcm-ghost:active{opacity:.5}@media(hover:hover){button:hover::after{background-color:var(--wcm-color-overlay)}.wcm-ghost:hover::after{background-color:transparent}.wcm-ghost:hover{opacity:.5}}button:disabled{background-color:var(--wcm-color-bg-3);pointer-events:none}.wcm-ghost::after{border-color:transparent}.wcm-ghost path{fill:var(--wcm-color-fg-2)}.wcm-outline path{fill:var(--wcm-accent-color)}.wcm-outline:disabled{background-color:transparent;opacity:.5}`;var lt=Object.defineProperty,it=Object.getOwnPropertyDescriptor,F=(e,o,r,a)=>{for(var t=a>1?void 0:a?it(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&<(o,r,t),t};let T=class extends w{constructor(){super(...arguments),this.disabled=!1,this.iconLeft=void 0,this.iconRight=void 0,this.onClick=()=>null,this.variant=\"default\"}render(){const e={\"wcm-icon-left\":this.iconLeft!==void 0,\"wcm-icon-right\":this.iconRight!==void 0,\"wcm-ghost\":this.variant===\"ghost\",\"wcm-outline\":this.variant===\"outline\"};let o=\"inverse\";return this.variant===\"ghost\"&&(o=\"secondary\"),this.variant===\"outline\"&&(o=\"accent\"),n``}};T.styles=[h.globalCss,at],F([d({type:Boolean})],T.prototype,\"disabled\",2),F([d()],T.prototype,\"iconLeft\",2),F([d()],T.prototype,\"iconRight\",2),F([d()],T.prototype,\"onClick\",2),F([d()],T.prototype,\"variant\",2),T=F([p(\"wcm-button\")],T);const nt=g`:host{display:inline-block}button{padding:0 15px 1px;height:40px;border-radius:var(--wcm-button-border-radius);color:var(--wcm-accent-fill-color);background-color:var(--wcm-accent-color)}button::after{content:'';top:0;bottom:0;left:0;right:0;position:absolute;background-color:transparent;border-radius:inherit;transition:background-color .2s ease;border:1px solid var(--wcm-color-overlay)}button:active::after{background-color:var(--wcm-color-overlay)}button:disabled{padding-bottom:0;background-color:var(--wcm-color-bg-3);color:var(--wcm-color-fg-3)}.wcm-secondary{color:var(--wcm-accent-color);background-color:transparent}.wcm-secondary::after{display:none}@media(hover:hover){button:hover::after{background-color:var(--wcm-color-overlay)}}`;var ct=Object.defineProperty,st=Object.getOwnPropertyDescriptor,ue=(e,o,r,a)=>{for(var t=a>1?void 0:a?st(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&ct(o,r,t),t};let ee=class extends w{constructor(){super(...arguments),this.disabled=!1,this.variant=\"primary\"}render(){const e={\"wcm-secondary\":this.variant===\"secondary\"};return n``}};ee.styles=[h.globalCss,nt],ue([d({type:Boolean})],ee.prototype,\"disabled\",2),ue([d()],ee.prototype,\"variant\",2),ee=ue([p(\"wcm-button-big\")],ee);const dt=g`:host{background-color:var(--wcm-color-bg-2);border-top:1px solid var(--wcm-color-bg-3)}div{padding:10px 20px;display:inherit;flex-direction:inherit;align-items:inherit;width:inherit;justify-content:inherit}`;var mt=Object.defineProperty,ht=Object.getOwnPropertyDescriptor,wt=(e,o,r,a)=>{for(var t=a>1?void 0:a?ht(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&mt(o,r,t),t};let be=class extends w{render(){return n`
`}};be.styles=[h.globalCss,dt],be=wt([p(\"wcm-info-footer\")],be);const v={CROSS_ICON:C``,WALLET_CONNECT_LOGO:C``,WALLET_CONNECT_ICON:C``,WALLET_CONNECT_ICON_COLORED:C``,BACK_ICON:C``,COPY_ICON:C``,RETRY_ICON:C``,DESKTOP_ICON:C``,MOBILE_ICON:C``,ARROW_DOWN_ICON:C``,ARROW_UP_RIGHT_ICON:C``,ARROW_RIGHT_ICON:C``,QRCODE_ICON:C``,SCAN_ICON:C``,CHECKMARK_ICON:C``,SEARCH_ICON:C``,WALLET_PLACEHOLDER:C``,GLOBE_ICON:C``},pt=g`.wcm-toolbar-placeholder{top:0;bottom:0;left:0;right:0;width:100%;position:absolute;display:block;pointer-events:none;height:100px;border-radius:calc(var(--wcm-background-border-radius) * .9);background-color:var(--wcm-background-color);background-position:center;background-size:cover}.wcm-toolbar{height:38px;display:flex;position:relative;margin:5px 15px 5px 5px;justify-content:space-between;align-items:center}.wcm-toolbar img,.wcm-toolbar svg{height:28px;object-position:left center;object-fit:contain}#wcm-wc-logo path{fill:var(--wcm-accent-fill-color)}button{width:28px;height:28px;border-radius:var(--wcm-icon-button-border-radius);border:0;display:flex;justify-content:center;align-items:center;cursor:pointer;background-color:var(--wcm-color-bg-1);box-shadow:0 0 0 1px var(--wcm-color-overlay)}button:active{background-color:var(--wcm-color-bg-2)}button svg{display:block;object-position:center}button path{fill:var(--wcm-color-fg-1)}.wcm-toolbar div{display:flex}@media(hover:hover){button:hover{background-color:var(--wcm-color-bg-2)}}`;var gt=Object.defineProperty,vt=Object.getOwnPropertyDescriptor,ut=(e,o,r,a)=>{for(var t=a>1?void 0:a?vt(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&>(o,r,t),t};let fe=class extends w{render(){return n`
${v.WALLET_CONNECT_LOGO}
`}};fe.styles=[h.globalCss,pt],fe=ut([p(\"wcm-modal-backcard\")],fe);const bt=g`main{padding:20px;padding-top:0;width:100%}`;var ft=Object.defineProperty,xt=Object.getOwnPropertyDescriptor,yt=(e,o,r,a)=>{for(var t=a>1?void 0:a?xt(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&ft(o,r,t),t};let xe=class extends w{render(){return n`
`}};xe.styles=[h.globalCss,bt],xe=yt([p(\"wcm-modal-content\")],xe);const $t=g`footer{padding:10px;display:flex;flex-direction:column;align-items:inherit;justify-content:inherit;border-top:1px solid var(--wcm-color-bg-2)}`;var Ct=Object.defineProperty,kt=Object.getOwnPropertyDescriptor,Ot=(e,o,r,a)=>{for(var t=a>1?void 0:a?kt(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Ct(o,r,t),t};let ye=class extends w{render(){return n`
`}};ye.styles=[h.globalCss,$t],ye=Ot([p(\"wcm-modal-footer\")],ye);const Wt=g`header{display:flex;justify-content:center;align-items:center;padding:20px;position:relative}.wcm-border{border-bottom:1px solid var(--wcm-color-bg-2);margin-bottom:20px}header button{padding:15px 20px}header button:active{opacity:.5}@media(hover:hover){header button:hover{opacity:.5}}.wcm-back-btn{position:absolute;left:0}.wcm-action-btn{position:absolute;right:0}path{fill:var(--wcm-accent-color)}`;var It=Object.defineProperty,Et=Object.getOwnPropertyDescriptor,te=(e,o,r,a)=>{for(var t=a>1?void 0:a?Et(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&It(o,r,t),t};let S=class extends w{constructor(){super(...arguments),this.title=\"\",this.onAction=void 0,this.actionIcon=void 0,this.border=!1}backBtnTemplate(){return n``}actionBtnTemplate(){return n``}render(){const e={\"wcm-border\":this.border},o=x.state.history.length>1,r=this.title?n`${this.title}`:n``;return n`
${o?this.backBtnTemplate():null} ${r} ${this.onAction?this.actionBtnTemplate():null}
`}};S.styles=[h.globalCss,Wt],te([d()],S.prototype,\"title\",2),te([d()],S.prototype,\"onAction\",2),te([d()],S.prototype,\"actionIcon\",2),te([d({type:Boolean})],S.prototype,\"border\",2),S=te([p(\"wcm-modal-header\")],S);const c={MOBILE_BREAKPOINT:600,WCM_RECENT_WALLET_DATA:\"WCM_RECENT_WALLET_DATA\",EXPLORER_WALLET_URL:\"https://explorer.walletconnect.com/?type=wallet\",getShadowRootElement(e,o){const r=e.renderRoot.querySelector(o);if(!r)throw new Error(`${o} not found`);return r},getWalletIcon({id:e,image_id:o}){const{walletImages:r}=z.state;return r!=null&&r[e]?r[e]:o?W.getWalletImageUrl(o):\"\"},getWalletName(e,o=!1){return o&&e.length>8?`${e.substring(0,8)}..`:e},isMobileAnimation(){return window.innerWidth<=c.MOBILE_BREAKPOINT},async preloadImage(e){const o=new Promise((r,a)=>{const t=new Image;t.onload=r,t.onerror=a,t.crossOrigin=\"anonymous\",t.src=e});return Promise.race([o,m.wait(3e3)])},getErrorMessage(e){return e instanceof Error?e.message:\"Unknown Error\"},debounce(e,o=500){let r;return(...a)=>{function t(){e(...a)}r&&clearTimeout(r),r=setTimeout(t,o)}},handleMobileLinking(e){const{walletConnectUri:o}=R.state,{mobile:r,name:a}=e,t=r?.native,l=r?.universal;c.setRecentWallet(e);function i(s){let $=\"\";t?$=m.formatUniversalUrl(t,s,a):l&&($=m.formatNativeUrl(l,s,a)),m.openHref($,\"_self\")}o&&i(o)},handleAndroidLinking(){const{walletConnectUri:e}=R.state;e&&(m.setWalletConnectAndroidDeepLink(e),m.openHref(e,\"_self\"))},async handleUriCopy(){const{walletConnectUri:e}=R.state;if(e)try{await navigator.clipboard.writeText(e),N.openToast(\"Link copied\",\"success\")}catch{N.openToast(\"Failed to copy\",\"error\")}},getCustomImageUrls(){const{walletImages:e}=z.state,o=Object.values(e??{});return Object.values(o)},truncate(e,o=8){return e.length<=o?e:`${e.substring(0,4)}...${e.substring(e.length-4)}`},setRecentWallet(e){try{localStorage.setItem(c.WCM_RECENT_WALLET_DATA,JSON.stringify(e))}catch{console.info(\"Unable to set recent wallet\")}},getRecentWallet(){try{const e=localStorage.getItem(c.WCM_RECENT_WALLET_DATA);return e?JSON.parse(e):void 0}catch{console.info(\"Unable to get recent wallet\")}},caseSafeIncludes(e,o){return e.toUpperCase().includes(o.toUpperCase())},openWalletExplorerUrl(){m.openHref(c.EXPLORER_WALLET_URL,\"_blank\")},getCachedRouterWalletPlatforms(){const{desktop:e,mobile:o}=m.getWalletRouterData(),r=Boolean(e?.native),a=Boolean(e?.universal),t=Boolean(o?.native)||Boolean(o?.universal);return{isDesktop:r,isMobile:t,isWeb:a}},goToConnectingView(e){x.setData({Wallet:e});const o=m.isMobile(),{isDesktop:r,isWeb:a,isMobile:t}=c.getCachedRouterWalletPlatforms();o?t?x.push(\"MobileConnecting\"):a?x.push(\"WebConnecting\"):x.push(\"InstallWallet\"):r?x.push(\"DesktopConnecting\"):a?x.push(\"WebConnecting\"):t?x.push(\"MobileQrcodeConnecting\"):x.push(\"InstallWallet\")}},Mt=g`.wcm-router{overflow:hidden;will-change:transform}.wcm-content{display:flex;flex-direction:column}`;var Lt=Object.defineProperty,Rt=Object.getOwnPropertyDescriptor,$e=(e,o,r,a)=>{for(var t=a>1?void 0:a?Rt(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Lt(o,r,t),t};let oe=class extends w{constructor(){super(),this.view=x.state.view,this.prevView=x.state.view,this.unsubscribe=void 0,this.oldHeight=\"0px\",this.resizeObserver=void 0,this.unsubscribe=x.subscribe(e=>{this.view!==e.view&&this.onChangeRoute()})}firstUpdated(){this.resizeObserver=new ResizeObserver(([e])=>{const o=`${e.contentRect.height}px`;this.oldHeight!==\"0px\"&&H(this.routerEl,{height:[this.oldHeight,o]},{duration:.2}),this.oldHeight=o}),this.resizeObserver.observe(this.contentEl)}disconnectedCallback(){var e,o;(e=this.unsubscribe)==null||e.call(this),(o=this.resizeObserver)==null||o.disconnect()}get routerEl(){return c.getShadowRootElement(this,\".wcm-router\")}get contentEl(){return c.getShadowRootElement(this,\".wcm-content\")}viewTemplate(){switch(this.view){case\"ConnectWallet\":return n``;case\"DesktopConnecting\":return n``;case\"MobileConnecting\":return n``;case\"WebConnecting\":return n``;case\"MobileQrcodeConnecting\":return n``;case\"WalletExplorer\":return n``;case\"Qrcode\":return n``;case\"InstallWallet\":return n``;default:return n`
Not Found
`}}async onChangeRoute(){await H(this.routerEl,{opacity:[1,0],scale:[1,1.02]},{duration:.15,delay:.1}).finished,this.view=x.state.view,H(this.routerEl,{opacity:[0,1],scale:[.99,1]},{duration:.37,delay:.05})}render(){return n`
${this.viewTemplate()}
`}};oe.styles=[h.globalCss,Mt],$e([I()],oe.prototype,\"view\",2),$e([I()],oe.prototype,\"prevView\",2),oe=$e([p(\"wcm-modal-router\")],oe);const At=g`div{height:36px;width:max-content;display:flex;justify-content:center;align-items:center;padding:9px 15px 11px;position:absolute;top:12px;box-shadow:0 6px 14px -6px rgba(10,16,31,.3),0 10px 32px -4px rgba(10,16,31,.15);z-index:2;left:50%;transform:translateX(-50%);pointer-events:none;backdrop-filter:blur(20px) saturate(1.8);-webkit-backdrop-filter:blur(20px) saturate(1.8);border-radius:var(--wcm-notification-border-radius);border:1px solid var(--wcm-color-overlay);background-color:var(--wcm-color-overlay)}svg{margin-right:5px}@-moz-document url-prefix(){div{background-color:var(--wcm-color-bg-3)}}.wcm-success path{fill:var(--wcm-accent-color)}.wcm-error path{fill:var(--wcm-error-color)}`;var Pt=Object.defineProperty,Tt=Object.getOwnPropertyDescriptor,ze=(e,o,r,a)=>{for(var t=a>1?void 0:a?Tt(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Pt(o,r,t),t};let ne=class extends w{constructor(){super(),this.open=!1,this.unsubscribe=void 0,this.timeout=void 0,this.unsubscribe=N.subscribe(e=>{e.open?(this.open=!0,this.timeout=setTimeout(()=>N.closeToast(),2200)):(this.open=!1,clearTimeout(this.timeout))})}disconnectedCallback(){var e;(e=this.unsubscribe)==null||e.call(this),clearTimeout(this.timeout),N.closeToast()}render(){const{message:e,variant:o}=N.state,r={\"wcm-success\":o===\"success\",\"wcm-error\":o===\"error\"};return this.open?n`
${o===\"success\"?v.CHECKMARK_ICON:null} ${o===\"error\"?v.CROSS_ICON:null}${e}
`:null}};ne.styles=[h.globalCss,At],ze([I()],ne.prototype,\"open\",2),ne=ze([p(\"wcm-modal-toast\")],ne);const jt=.1,Ve=2.5,A=7;function Ce(e,o,r){return e===o?!1:(e-o<0?o-e:e-o)<=r+jt}function _t(e,o){const r=Array.prototype.slice.call(Je.create(e,{errorCorrectionLevel:o}).modules.data,0),a=Math.sqrt(r.length);return r.reduce((t,l,i)=>(i%a===0?t.push([l]):t[t.length-1].push(l))&&t,[])}const Dt={generate(e,o,r){const a=\"#141414\",t=\"#ffffff\",l=[],i=_t(e,\"Q\"),s=o/i.length,$=[{x:0,y:0},{x:1,y:0},{x:0,y:1}];$.forEach(({x:y,y:u})=>{const O=(i.length-A)*s*y,b=(i.length-A)*s*u,E=.45;for(let M=0;M<$.length;M+=1){const V=s*(A-M*2);l.push(pe``)}});const f=Math.floor((r+25)/s),Ne=i.length/2-f/2,Ze=i.length/2+f/2-1,Se=[];i.forEach((y,u)=>{y.forEach((O,b)=>{if(i[u][b]&&!(ui.length-(A+1)&&bi.length-(A+1))&&!(u>Ne&&uNe&&b{J[y]?J[y].push(u):J[y]=[u]}),Object.entries(J).map(([y,u])=>{const O=u.filter(b=>u.every(E=>!Ce(b,E,s)));return[Number(y),O]}).forEach(([y,u])=>{u.forEach(O=>{l.push(pe``)})}),Object.entries(J).filter(([y,u])=>u.length>1).map(([y,u])=>{const O=u.filter(b=>u.some(E=>Ce(b,E,s)));return[Number(y),O]}).map(([y,u])=>{u.sort((b,E)=>bM.some(V=>Ce(b,V,s)));E?E.push(b):O.push([b])}return[y,O.map(b=>[b[0],b[b.length-1]])]}).forEach(([y,u])=>{u.forEach(([O,b])=>{l.push(pe``)})}),l}},Nt=g`@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}div{position:relative;user-select:none;display:block;overflow:hidden;aspect-ratio:1/1;animation:fadeIn ease .2s}.wcm-dark{background-color:#fff;border-radius:var(--wcm-container-border-radius);padding:18px;box-shadow:0 2px 5px #000}svg:first-child,wcm-wallet-image{position:absolute;top:50%;left:50%;transform:translateY(-50%) translateX(-50%)}wcm-wallet-image{transform:translateY(-50%) translateX(-50%)}wcm-wallet-image{width:25%;height:25%;border-radius:var(--wcm-wallet-icon-border-radius)}svg:first-child{transform:translateY(-50%) translateX(-50%) scale(.9)}svg:first-child path:first-child{fill:var(--wcm-accent-color)}svg:first-child path:last-child{stroke:var(--wcm-color-overlay)}`;var Zt=Object.defineProperty,St=Object.getOwnPropertyDescriptor,q=(e,o,r,a)=>{for(var t=a>1?void 0:a?St(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Zt(o,r,t),t};let j=class extends w{constructor(){super(...arguments),this.uri=\"\",this.size=0,this.imageId=void 0,this.walletId=void 0,this.imageUrl=void 0}svgTemplate(){const e=X.state.themeMode===\"light\"?this.size:this.size-36;return pe`${Dt.generate(this.uri,e,e/4)}`}render(){const e={\"wcm-dark\":X.state.themeMode===\"dark\"};return n`
${this.walletId||this.imageUrl?n``:v.WALLET_CONNECT_ICON_COLORED} ${this.svgTemplate()}
`}};j.styles=[h.globalCss,Nt],q([d()],j.prototype,\"uri\",2),q([d({type:Number})],j.prototype,\"size\",2),q([d()],j.prototype,\"imageId\",2),q([d()],j.prototype,\"walletId\",2),q([d()],j.prototype,\"imageUrl\",2),j=q([p(\"wcm-qrcode\")],j);const Bt=g`:host{position:relative;height:28px;width:80%}input{width:100%;height:100%;line-height:28px!important;border-radius:var(--wcm-input-border-radius);font-style:normal;font-family:-apple-system,system-ui,BlinkMacSystemFont,'Segoe UI',Roboto,Ubuntu,'Helvetica Neue',sans-serif;font-feature-settings:'case' on;font-weight:500;font-size:16px;letter-spacing:-.03em;padding:0 10px 0 34px;transition:.2s all ease;color:var(--wcm-color-fg-1);background-color:var(--wcm-color-bg-3);box-shadow:inset 0 0 0 1px var(--wcm-color-overlay);caret-color:var(--wcm-accent-color)}input::placeholder{color:var(--wcm-color-fg-2)}svg{left:10px;top:4px;pointer-events:none;position:absolute;width:20px;height:20px}input:focus-within{box-shadow:inset 0 0 0 1px var(--wcm-accent-color)}path{fill:var(--wcm-color-fg-2)}`;var Ut=Object.defineProperty,Ht=Object.getOwnPropertyDescriptor,Fe=(e,o,r,a)=>{for(var t=a>1?void 0:a?Ht(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Ut(o,r,t),t};let ce=class extends w{constructor(){super(...arguments),this.onChange=()=>null}render(){return n` ${v.SEARCH_ICON}`}};ce.styles=[h.globalCss,Bt],Fe([d()],ce.prototype,\"onChange\",2),ce=Fe([p(\"wcm-search-input\")],ce);const zt=g`@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}svg{animation:rotate 2s linear infinite;display:flex;justify-content:center;align-items:center}svg circle{stroke-linecap:round;animation:dash 1.5s ease infinite;stroke:var(--wcm-accent-color)}`;var Vt=Object.defineProperty,Ft=Object.getOwnPropertyDescriptor,qt=(e,o,r,a)=>{for(var t=a>1?void 0:a?Ft(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Vt(o,r,t),t};let ke=class extends w{render(){return n``}};ke.styles=[h.globalCss,zt],ke=qt([p(\"wcm-spinner\")],ke);const Qt=g`span{font-style:normal;font-family:var(--wcm-font-family);font-feature-settings:var(--wcm-font-feature-settings)}.wcm-xsmall-bold{font-family:var(--wcm-text-xsmall-bold-font-family);font-weight:var(--wcm-text-xsmall-bold-weight);font-size:var(--wcm-text-xsmall-bold-size);line-height:var(--wcm-text-xsmall-bold-line-height);letter-spacing:var(--wcm-text-xsmall-bold-letter-spacing);text-transform:var(--wcm-text-xsmall-bold-text-transform)}.wcm-xsmall-regular{font-family:var(--wcm-text-xsmall-regular-font-family);font-weight:var(--wcm-text-xsmall-regular-weight);font-size:var(--wcm-text-xsmall-regular-size);line-height:var(--wcm-text-xsmall-regular-line-height);letter-spacing:var(--wcm-text-xsmall-regular-letter-spacing);text-transform:var(--wcm-text-xsmall-regular-text-transform)}.wcm-small-thin{font-family:var(--wcm-text-small-thin-font-family);font-weight:var(--wcm-text-small-thin-weight);font-size:var(--wcm-text-small-thin-size);line-height:var(--wcm-text-small-thin-line-height);letter-spacing:var(--wcm-text-small-thin-letter-spacing);text-transform:var(--wcm-text-small-thin-text-transform)}.wcm-small-regular{font-family:var(--wcm-text-small-regular-font-family);font-weight:var(--wcm-text-small-regular-weight);font-size:var(--wcm-text-small-regular-size);line-height:var(--wcm-text-small-regular-line-height);letter-spacing:var(--wcm-text-small-regular-letter-spacing);text-transform:var(--wcm-text-small-regular-text-transform)}.wcm-medium-regular{font-family:var(--wcm-text-medium-regular-font-family);font-weight:var(--wcm-text-medium-regular-weight);font-size:var(--wcm-text-medium-regular-size);line-height:var(--wcm-text-medium-regular-line-height);letter-spacing:var(--wcm-text-medium-regular-letter-spacing);text-transform:var(--wcm-text-medium-regular-text-transform)}.wcm-big-bold{font-family:var(--wcm-text-big-bold-font-family);font-weight:var(--wcm-text-big-bold-weight);font-size:var(--wcm-text-big-bold-size);line-height:var(--wcm-text-big-bold-line-height);letter-spacing:var(--wcm-text-big-bold-letter-spacing);text-transform:var(--wcm-text-big-bold-text-transform)}:host(*){color:var(--wcm-color-fg-1)}.wcm-color-primary{color:var(--wcm-color-fg-1)}.wcm-color-secondary{color:var(--wcm-color-fg-2)}.wcm-color-tertiary{color:var(--wcm-color-fg-3)}.wcm-color-inverse{color:var(--wcm-accent-fill-color)}.wcm-color-accnt{color:var(--wcm-accent-color)}.wcm-color-error{color:var(--wcm-error-color)}`;var Kt=Object.defineProperty,Yt=Object.getOwnPropertyDescriptor,Oe=(e,o,r,a)=>{for(var t=a>1?void 0:a?Yt(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Kt(o,r,t),t};let re=class extends w{constructor(){super(...arguments),this.variant=\"medium-regular\",this.color=\"primary\"}render(){const e={\"wcm-big-bold\":this.variant===\"big-bold\",\"wcm-medium-regular\":this.variant===\"medium-regular\",\"wcm-small-regular\":this.variant===\"small-regular\",\"wcm-small-thin\":this.variant===\"small-thin\",\"wcm-xsmall-regular\":this.variant===\"xsmall-regular\",\"wcm-xsmall-bold\":this.variant===\"xsmall-bold\",\"wcm-color-primary\":this.color===\"primary\",\"wcm-color-secondary\":this.color===\"secondary\",\"wcm-color-tertiary\":this.color===\"tertiary\",\"wcm-color-inverse\":this.color===\"inverse\",\"wcm-color-accnt\":this.color===\"accent\",\"wcm-color-error\":this.color===\"error\"};return n``}};re.styles=[h.globalCss,Qt],Oe([d()],re.prototype,\"variant\",2),Oe([d()],re.prototype,\"color\",2),re=Oe([p(\"wcm-text\")],re);const Gt=g`button{width:100%;height:100%;border-radius:var(--wcm-button-hover-highlight-border-radius);display:flex;align-items:flex-start}button:active{background-color:var(--wcm-color-overlay)}@media(hover:hover){button:hover{background-color:var(--wcm-color-overlay)}}button>div{width:80px;padding:5px 0;display:flex;flex-direction:column;align-items:center}wcm-text{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}wcm-wallet-image{height:60px;width:60px;transition:all .2s ease;border-radius:var(--wcm-wallet-icon-border-radius);margin-bottom:5px}.wcm-sublabel{margin-top:2px}`;var Xt=Object.defineProperty,Jt=Object.getOwnPropertyDescriptor,_=(e,o,r,a)=>{for(var t=a>1?void 0:a?Jt(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Xt(o,r,t),t};let L=class extends w{constructor(){super(...arguments),this.onClick=()=>null,this.name=\"\",this.walletId=\"\",this.label=void 0,this.imageId=void 0,this.installed=!1,this.recent=!1}sublabelTemplate(){return this.recent?n`RECENT`:this.installed?n`INSTALLED`:null}handleClick(){Xe.click({name:\"WALLET_BUTTON\",walletId:this.walletId}),this.onClick()}render(){var e;return n``}};L.styles=[h.globalCss,Gt],_([d()],L.prototype,\"onClick\",2),_([d()],L.prototype,\"name\",2),_([d()],L.prototype,\"walletId\",2),_([d()],L.prototype,\"label\",2),_([d()],L.prototype,\"imageId\",2),_([d({type:Boolean})],L.prototype,\"installed\",2),_([d({type:Boolean})],L.prototype,\"recent\",2),L=_([p(\"wcm-wallet-button\")],L);const eo=g`:host{display:block}div{overflow:hidden;position:relative;border-radius:inherit;width:100%;height:100%;background-color:var(--wcm-color-overlay)}svg{position:relative;width:100%;height:100%}div::after{content:'';position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid var(--wcm-color-overlay)}div img{width:100%;height:100%;object-fit:cover;object-position:center}#wallet-placeholder-fill{fill:var(--wcm-color-bg-3)}#wallet-placeholder-dash{stroke:var(--wcm-color-overlay)}`;var to=Object.defineProperty,oo=Object.getOwnPropertyDescriptor,se=(e,o,r,a)=>{for(var t=a>1?void 0:a?oo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&to(o,r,t),t};let Q=class extends w{constructor(){super(...arguments),this.walletId=\"\",this.imageId=void 0,this.imageUrl=void 0}render(){var e;const o=(e=this.imageUrl)!=null&&e.length?this.imageUrl:c.getWalletIcon({id:this.walletId,image_id:this.imageId});return n`${o.length?n`
\"${this.id}\"
`:v.WALLET_PLACEHOLDER}`}};Q.styles=[h.globalCss,eo],se([d()],Q.prototype,\"walletId\",2),se([d()],Q.prototype,\"imageId\",2),se([d()],Q.prototype,\"imageUrl\",2),Q=se([p(\"wcm-wallet-image\")],Q);var ro=Object.defineProperty,ao=Object.getOwnPropertyDescriptor,qe=(e,o,r,a)=>{for(var t=a>1?void 0:a?ao(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&ro(o,r,t),t};let We=class extends w{constructor(){super(),this.preload=!0,this.preloadData()}async loadImages(e){try{e!=null&&e.length&&await Promise.all(e.map(async o=>c.preloadImage(o)))}catch{console.info(\"Unsuccessful attempt at preloading some images\",e)}}async preloadListings(){if(z.state.enableExplorer){await W.getRecomendedWallets(),R.setIsDataLoaded(!0);const{recomendedWallets:e}=W.state,o=e.map(r=>c.getWalletIcon(r));await this.loadImages(o)}else R.setIsDataLoaded(!0)}async preloadCustomImages(){const e=c.getCustomImageUrls();await this.loadImages(e)}async preloadData(){try{this.preload&&(this.preload=!1,await Promise.all([this.preloadListings(),this.preloadCustomImages()]))}catch(e){console.error(e),N.openToast(\"Failed preloading\",\"error\")}}};qe([I()],We.prototype,\"preload\",2),We=qe([p(\"wcm-explorer-context\")],We);var lo=Object.defineProperty,io=Object.getOwnPropertyDescriptor,no=(e,o,r,a)=>{for(var t=a>1?void 0:a?io(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&lo(o,r,t),t};let Qe=class extends w{constructor(){super(),this.unsubscribeTheme=void 0,h.setTheme(),this.unsubscribeTheme=X.subscribe(h.setTheme)}disconnectedCallback(){var e;(e=this.unsubscribeTheme)==null||e.call(this)}};Qe=no([p(\"wcm-theme-context\")],Qe);const co=g`@keyframes scroll{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(calc(-70px * 9),0,0)}}.wcm-slider{position:relative;overflow-x:hidden;padding:10px 0;margin:0 -20px;width:calc(100% + 40px)}.wcm-track{display:flex;width:calc(70px * 18);animation:scroll 20s linear infinite;opacity:.7}.wcm-track svg{margin:0 5px}wcm-wallet-image{width:60px;height:60px;margin:0 5px;border-radius:var(--wcm-wallet-icon-border-radius)}.wcm-grid{display:grid;grid-template-columns:repeat(4,80px);justify-content:space-between}.wcm-title{display:flex;align-items:center;margin-bottom:10px}.wcm-title svg{margin-right:6px}.wcm-title path{fill:var(--wcm-accent-color)}wcm-modal-footer .wcm-title{padding:0 10px}wcm-button-big{position:absolute;top:50%;left:50%;transform:translateY(-50%) translateX(-50%);filter:drop-shadow(0 0 17px var(--wcm-color-bg-1))}wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-info-footer wcm-text{text-align:center;margin-bottom:15px}#wallet-placeholder-fill{fill:var(--wcm-color-bg-3)}#wallet-placeholder-dash{stroke:var(--wcm-color-overlay)}`;var so=Object.defineProperty,mo=Object.getOwnPropertyDescriptor,ho=(e,o,r,a)=>{for(var t=a>1?void 0:a?mo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&so(o,r,t),t};let Ie=class extends w{onGoToQrcode(){x.push(\"Qrcode\")}render(){const{recomendedWallets:e}=W.state,o=[...e,...e],r=m.RECOMMENDED_WALLET_AMOUNT*2;return n`
${v.MOBILE_ICON}WalletConnect
${[...Array(r)].map((a,t)=>{const l=o[t%o.length];return l?n``:v.WALLET_PLACEHOLDER})}
Select Wallet
Choose WalletConnect to see supported apps on your device`}};Ie.styles=[h.globalCss,co],Ie=ho([p(\"wcm-android-wallet-selection\")],Ie);const wo=g`@keyframes loading{to{stroke-dashoffset:0}}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(1px,0,0)}30%,50%,70%{transform:translate3d(-2px,0,0)}40%,60%{transform:translate3d(2px,0,0)}}:host{display:flex;flex-direction:column;align-items:center}div{position:relative;width:110px;height:110px;display:flex;justify-content:center;align-items:center;margin:40px 0 20px 0;transform:translate3d(0,0,0)}svg{position:absolute;width:110px;height:110px;fill:none;stroke:transparent;stroke-linecap:round;stroke-width:2px;top:0;left:0}use{stroke:var(--wcm-accent-color);animation:loading 1s linear infinite}wcm-wallet-image{border-radius:var(--wcm-wallet-icon-large-border-radius);width:90px;height:90px}wcm-text{margin-bottom:40px}.wcm-error svg{stroke:var(--wcm-error-color)}.wcm-error use{display:none}.wcm-error{animation:shake .4s cubic-bezier(.36,.07,.19,.97) both}.wcm-stale svg,.wcm-stale use{display:none}`;var po=Object.defineProperty,go=Object.getOwnPropertyDescriptor,K=(e,o,r,a)=>{for(var t=a>1?void 0:a?go(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&po(o,r,t),t};let D=class extends w{constructor(){super(...arguments),this.walletId=void 0,this.imageId=void 0,this.isError=!1,this.isStale=!1,this.label=\"\"}svgLoaderTemplate(){var e,o;const r=(o=(e=X.state.themeVariables)==null?void 0:e[\"--wcm-wallet-icon-large-border-radius\"])!=null?o:h.getPreset(\"--wcm-wallet-icon-large-border-radius\");let a=0;r.includes(\"%\")?a=88/100*parseInt(r,10):a=parseInt(r,10),a*=1.17;const t=317-a*1.57,l=425-a*1.8;return n``}render(){const e={\"wcm-error\":this.isError,\"wcm-stale\":this.isStale};return n`
${this.svgLoaderTemplate()}
${this.isError?\"Connection declined\":this.label}`}};D.styles=[h.globalCss,wo],K([d()],D.prototype,\"walletId\",2),K([d()],D.prototype,\"imageId\",2),K([d({type:Boolean})],D.prototype,\"isError\",2),K([d({type:Boolean})],D.prototype,\"isStale\",2),K([d()],D.prototype,\"label\",2),D=K([p(\"wcm-connector-waiting\")],D);const G={manualWallets(){var e,o;const{mobileWallets:r,desktopWallets:a}=z.state,t=(e=G.recentWallet())==null?void 0:e.id,l=m.isMobile()?r:a,i=l?.filter(s=>t!==s.id);return(o=m.isMobile()?i?.map(({id:s,name:$,links:f})=>({id:s,name:$,mobile:f,links:f})):i?.map(({id:s,name:$,links:f})=>({id:s,name:$,desktop:f,links:f})))!=null?o:[]},recentWallet(){return c.getRecentWallet()},recomendedWallets(e=!1){var o;const r=e||(o=G.recentWallet())==null?void 0:o.id,{recomendedWallets:a}=W.state;return a.filter(t=>r!==t.id)}},Z={onConnecting(e){c.goToConnectingView(e)},manualWalletsTemplate(){return G.manualWallets().map(e=>n`this.onConnecting(e)}\">`)},recomendedWalletsTemplate(e=!1){return G.recomendedWallets(e).map(o=>n`this.onConnecting(o)}\">`)},recentWalletTemplate(){const e=G.recentWallet();if(e)return n`this.onConnecting(e)}\">`}},vo=g`.wcm-grid{display:grid;grid-template-columns:repeat(4,80px);justify-content:space-between}.wcm-desktop-title,.wcm-mobile-title{display:flex;align-items:center}.wcm-mobile-title{justify-content:space-between;margin-bottom:20px;margin-top:-10px}.wcm-desktop-title{margin-bottom:10px;padding:0 10px}.wcm-subtitle{display:flex;align-items:center}.wcm-subtitle:last-child path{fill:var(--wcm-color-fg-3)}.wcm-desktop-title svg,.wcm-mobile-title svg{margin-right:6px}.wcm-desktop-title path,.wcm-mobile-title path{fill:var(--wcm-accent-color)}`;var uo=Object.defineProperty,bo=Object.getOwnPropertyDescriptor,fo=(e,o,r,a)=>{for(var t=a>1?void 0:a?bo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&uo(o,r,t),t};let Ee=class extends w{render(){const{explorerExcludedWalletIds:e,enableExplorer:o}=z.state,r=e!==\"ALL\"&&o,a=Z.manualWalletsTemplate(),t=Z.recomendedWalletsTemplate();let l=[Z.recentWalletTemplate(),...a,...t];l=l.filter(Boolean);const i=l.length>4||r;let s=[];i?s=l.slice(0,3):s=l;const $=Boolean(s.length);return n`
${v.MOBILE_ICON}Mobile
${v.SCAN_ICON}Scan with your wallet
${$?n`
${v.DESKTOP_ICON}Desktop
${s} ${i?n``:null}
`:null}`}};Ee.styles=[h.globalCss,vo],Ee=fo([p(\"wcm-desktop-wallet-selection\")],Ee);const xo=g`div{background-color:var(--wcm-color-bg-2);padding:10px 20px 15px 20px;border-top:1px solid var(--wcm-color-bg-3);text-align:center}a{color:var(--wcm-accent-color);text-decoration:none;transition:opacity .2s ease-in-out;display:inline}a:active{opacity:.8}@media(hover:hover){a:hover{opacity:.8}}`;var yo=Object.defineProperty,$o=Object.getOwnPropertyDescriptor,Co=(e,o,r,a)=>{for(var t=a>1?void 0:a?$o(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&yo(o,r,t),t};let Me=class extends w{render(){const{termsOfServiceUrl:e,privacyPolicyUrl:o}=z.state;return e??o?n`
By connecting your wallet to this app, you agree to the app's ${e?n`Terms of Service`:null} ${e&&o?\"and\":null} ${o?n`Privacy Policy`:null}
`:null}};Me.styles=[h.globalCss,xo],Me=Co([p(\"wcm-legal-notice\")],Me);const ko=g`div{display:grid;grid-template-columns:repeat(4,80px);margin:0 -10px;justify-content:space-between;row-gap:10px}`;var Oo=Object.defineProperty,Wo=Object.getOwnPropertyDescriptor,Io=(e,o,r,a)=>{for(var t=a>1?void 0:a?Wo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Oo(o,r,t),t};let Le=class extends w{onQrcode(){x.push(\"Qrcode\")}render(){const{explorerExcludedWalletIds:e,enableExplorer:o}=z.state,r=e!==\"ALL\"&&o,a=Z.manualWalletsTemplate(),t=Z.recomendedWalletsTemplate();let l=[Z.recentWalletTemplate(),...a,...t];l=l.filter(Boolean);const i=l.length>8||r;let s=[];i?s=l.slice(0,7):s=l;const $=Boolean(s.length);return n`${$?n`
${s} ${i?n``:null}
`:null}`}};Le.styles=[h.globalCss,ko],Le=Io([p(\"wcm-mobile-wallet-selection\")],Le);const Eo=g`:host{all:initial}.wcm-overlay{top:0;bottom:0;left:0;right:0;position:fixed;z-index:var(--wcm-z-index);overflow:hidden;display:flex;justify-content:center;align-items:center;opacity:0;pointer-events:none;background-color:var(--wcm-overlay-background-color);backdrop-filter:var(--wcm-overlay-backdrop-filter)}@media(max-height:720px) and (orientation:landscape){.wcm-overlay{overflow:scroll;align-items:flex-start;padding:20px 0}}.wcm-active{pointer-events:auto}.wcm-container{position:relative;max-width:360px;width:100%;outline:0;border-radius:var(--wcm-background-border-radius) var(--wcm-background-border-radius) var(--wcm-container-border-radius) var(--wcm-container-border-radius);border:1px solid var(--wcm-color-overlay);overflow:hidden}.wcm-card{width:100%;position:relative;border-radius:var(--wcm-container-border-radius);overflow:hidden;box-shadow:0 6px 14px -6px rgba(10,16,31,.12),0 10px 32px -4px rgba(10,16,31,.1),0 0 0 1px var(--wcm-color-overlay);background-color:var(--wcm-color-bg-1);color:var(--wcm-color-fg-1)}@media(max-width:600px){.wcm-container{max-width:440px;border-radius:var(--wcm-background-border-radius) var(--wcm-background-border-radius) 0 0}.wcm-card{border-radius:var(--wcm-container-border-radius) var(--wcm-container-border-radius) 0 0}.wcm-overlay{align-items:flex-end}}@media(max-width:440px){.wcm-container{border:0}}`;var Mo=Object.defineProperty,Lo=Object.getOwnPropertyDescriptor,Re=(e,o,r,a)=>{for(var t=a>1?void 0:a?Lo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Mo(o,r,t),t};let ae=class extends w{constructor(){super(),this.open=!1,this.active=!1,this.unsubscribeModal=void 0,this.abortController=void 0,this.unsubscribeModal=ge.subscribe(e=>{e.open?this.onOpenModalEvent():this.onCloseModalEvent()})}disconnectedCallback(){var e;(e=this.unsubscribeModal)==null||e.call(this)}get overlayEl(){return c.getShadowRootElement(this,\".wcm-overlay\")}get containerEl(){return c.getShadowRootElement(this,\".wcm-container\")}toggleBodyScroll(e){if(document.querySelector(\"body\"))if(e){const o=document.getElementById(\"wcm-styles\");o?.remove()}else document.head.insertAdjacentHTML(\"beforeend\",'')}onCloseModal(e){e.target===e.currentTarget&&ge.close()}onOpenModalEvent(){this.toggleBodyScroll(!1),this.addKeyboardEvents(),this.open=!0,setTimeout(async()=>{const e=c.isMobileAnimation()?{y:[\"50vh\",\"0vh\"]}:{scale:[.98,1]},o=.1,r=.2;await Promise.all([H(this.overlayEl,{opacity:[0,1]},{delay:o,duration:r}).finished,H(this.containerEl,e,{delay:o,duration:r}).finished]),this.active=!0},0)}async onCloseModalEvent(){this.toggleBodyScroll(!0),this.removeKeyboardEvents();const e=c.isMobileAnimation()?{y:[\"0vh\",\"50vh\"]}:{scale:[1,.98]},o=.2;await Promise.all([H(this.overlayEl,{opacity:[1,0]},{duration:o}).finished,H(this.containerEl,e,{duration:o}).finished]),this.containerEl.removeAttribute(\"style\"),this.active=!1,this.open=!1}addKeyboardEvents(){this.abortController=new AbortController,window.addEventListener(\"keydown\",e=>{var o;e.key===\"Escape\"?ge.close():e.key===\"Tab\"&&((o=e.target)!=null&&o.tagName.includes(\"wcm-\")||this.containerEl.focus())},this.abortController),this.containerEl.focus()}removeKeyboardEvents(){var e;(e=this.abortController)==null||e.abort(),this.abortController=void 0}render(){const e={\"wcm-overlay\":!0,\"wcm-active\":this.active};return n`
${this.open?n`
`:null}
`}};ae.styles=[h.globalCss,Eo],Re([I()],ae.prototype,\"open\",2),Re([I()],ae.prototype,\"active\",2),ae=Re([p(\"wcm-modal\")],ae);const Ro=g`div{display:flex;margin-top:15px}slot{display:inline-block;margin:0 5px}wcm-button{margin:0 5px}`;var Ao=Object.defineProperty,Po=Object.getOwnPropertyDescriptor,le=(e,o,r,a)=>{for(var t=a>1?void 0:a?Po(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Ao(o,r,t),t};let B=class extends w{constructor(){super(...arguments),this.isMobile=!1,this.isDesktop=!1,this.isWeb=!1,this.isRetry=!1}onMobile(){m.isMobile()?x.replace(\"MobileConnecting\"):x.replace(\"MobileQrcodeConnecting\")}onDesktop(){x.replace(\"DesktopConnecting\")}onWeb(){x.replace(\"WebConnecting\")}render(){return n`
${this.isRetry?n``:null} ${this.isMobile?n`Mobile`:null} ${this.isDesktop?n`Desktop`:null} ${this.isWeb?n`Web`:null}
`}};B.styles=[h.globalCss,Ro],le([d({type:Boolean})],B.prototype,\"isMobile\",2),le([d({type:Boolean})],B.prototype,\"isDesktop\",2),le([d({type:Boolean})],B.prototype,\"isWeb\",2),le([d({type:Boolean})],B.prototype,\"isRetry\",2),B=le([p(\"wcm-platform-selection\")],B);const To=g`button{display:flex;flex-direction:column;padding:5px 10px;border-radius:var(--wcm-button-hover-highlight-border-radius);height:100%;justify-content:flex-start}.wcm-icons{width:60px;height:60px;display:flex;flex-wrap:wrap;padding:7px;border-radius:var(--wcm-wallet-icon-border-radius);justify-content:space-between;align-items:center;margin-bottom:5px;background-color:var(--wcm-color-bg-2);box-shadow:inset 0 0 0 1px var(--wcm-color-overlay)}button:active{background-color:var(--wcm-color-overlay)}@media(hover:hover){button:hover{background-color:var(--wcm-color-overlay)}}.wcm-icons img{width:21px;height:21px;object-fit:cover;object-position:center;border-radius:calc(var(--wcm-wallet-icon-border-radius)/ 2);border:1px solid var(--wcm-color-overlay)}.wcm-icons svg{width:21px;height:21px}.wcm-icons img:nth-child(1),.wcm-icons img:nth-child(2),.wcm-icons svg:nth-child(1),.wcm-icons svg:nth-child(2){margin-bottom:4px}wcm-text{width:100%;text-align:center}#wallet-placeholder-fill{fill:var(--wcm-color-bg-3)}#wallet-placeholder-dash{stroke:var(--wcm-color-overlay)}`;var jo=Object.defineProperty,_o=Object.getOwnPropertyDescriptor,Do=(e,o,r,a)=>{for(var t=a>1?void 0:a?_o(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&jo(o,r,t),t};let Ae=class extends w{onClick(){x.push(\"WalletExplorer\")}render(){const{recomendedWallets:e}=W.state,o=G.manualWallets(),r=[...e,...o].reverse().slice(0,4);return n``}};Ae.styles=[h.globalCss,To],Ae=Do([p(\"wcm-view-all-wallets-button\")],Ae);const No=g`.wcm-qr-container{width:100%;display:flex;justify-content:center;align-items:center;aspect-ratio:1/1}`;var Zo=Object.defineProperty,So=Object.getOwnPropertyDescriptor,de=(e,o,r,a)=>{for(var t=a>1?void 0:a?So(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Zo(o,r,t),t};let Y=class extends w{constructor(){super(),this.walletId=\"\",this.imageId=\"\",this.uri=\"\",setTimeout(()=>{const{walletConnectUri:e}=R.state;this.uri=e},0)}get overlayEl(){return c.getShadowRootElement(this,\".wcm-qr-container\")}render(){return n`
${this.uri?n``:n``}
`}};Y.styles=[h.globalCss,No],de([d()],Y.prototype,\"walletId\",2),de([d()],Y.prototype,\"imageId\",2),de([I()],Y.prototype,\"uri\",2),Y=de([p(\"wcm-walletconnect-qr\")],Y);var Bo=Object.defineProperty,Uo=Object.getOwnPropertyDescriptor,Ho=(e,o,r,a)=>{for(var t=a>1?void 0:a?Uo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Bo(o,r,t),t};let Pe=class extends w{viewTemplate(){return m.isAndroid()?n``:m.isMobile()?n``:n``}render(){return n`${this.viewTemplate()}`}};Pe.styles=[h.globalCss],Pe=Ho([p(\"wcm-connect-wallet-view\")],Pe);const zo=g`wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-text{text-align:center}`;var Vo=Object.defineProperty,Fo=Object.getOwnPropertyDescriptor,Ke=(e,o,r,a)=>{for(var t=a>1?void 0:a?Fo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Vo(o,r,t),t};let me=class extends w{constructor(){super(),this.isError=!1,this.openDesktopApp()}onFormatAndRedirect(e){const{desktop:o,name:r}=m.getWalletRouterData(),a=o?.native;if(a){const t=m.formatNativeUrl(a,e,r);m.openHref(t,\"_self\")}}openDesktopApp(){const{walletConnectUri:e}=R.state,o=m.getWalletRouterData();c.setRecentWallet(o),e&&this.onFormatAndRedirect(e)}render(){const{name:e,id:o,image_id:r}=m.getWalletRouterData(),{isMobile:a,isWeb:t}=c.getCachedRouterWalletPlatforms();return n`${`Connection can continue loading if ${e} is not installed on your device`}Retry`}};me.styles=[h.globalCss,zo],Ke([I()],me.prototype,\"isError\",2),me=Ke([p(\"wcm-desktop-connecting-view\")],me);const qo=g`wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-text{text-align:center}wcm-button{margin-top:15px}`;var Qo=Object.defineProperty,Ko=Object.getOwnPropertyDescriptor,Yo=(e,o,r,a)=>{for(var t=a>1?void 0:a?Ko(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Qo(o,r,t),t};let Te=class extends w{onInstall(e){e&&m.openHref(e,\"_blank\")}render(){const{name:e,id:o,image_id:r,homepage:a}=m.getWalletRouterData();return n`${`Download ${e} to continue. If multiple browser extensions are installed, disable non ${e} ones and try again`}this.onInstall(a)}\" .iconLeft=\"${v.ARROW_DOWN_ICON}\">Download`}};Te.styles=[h.globalCss,qo],Te=Yo([p(\"wcm-install-wallet-view\")],Te);const Go=g`wcm-wallet-image{border-radius:var(--wcm-wallet-icon-large-border-radius);width:96px;height:96px;margin-bottom:20px}wcm-info-footer{display:flex;width:100%}.wcm-app-store{justify-content:space-between}.wcm-app-store wcm-wallet-image{margin-right:10px;margin-bottom:0;width:28px;height:28px;border-radius:var(--wcm-wallet-icon-small-border-radius)}.wcm-app-store div{display:flex;align-items:center}.wcm-app-store wcm-button{margin-right:-10px}.wcm-note{flex-direction:column;align-items:center;padding:5px 0}.wcm-note wcm-text{text-align:center}wcm-platform-selection{margin-top:-15px}.wcm-note wcm-text{margin-top:15px}.wcm-note wcm-text span{color:var(--wcm-accent-color)}`;var Xo=Object.defineProperty,Jo=Object.getOwnPropertyDescriptor,Ye=(e,o,r,a)=>{for(var t=a>1?void 0:a?Jo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Xo(o,r,t),t};let he=class extends w{constructor(){super(),this.isError=!1,this.openMobileApp()}onFormatAndRedirect(e,o=!1){const{mobile:r,name:a}=m.getWalletRouterData(),t=r?.native,l=r?.universal;if(t&&!o){const i=m.formatNativeUrl(t,e,a);m.openHref(i,\"_self\")}else if(l){const i=m.formatUniversalUrl(l,e,a);m.openHref(i,\"_self\")}}openMobileApp(e=!1){const{walletConnectUri:o}=R.state,r=m.getWalletRouterData();c.setRecentWallet(r),o&&this.onFormatAndRedirect(o,e)}onGoToAppStore(e){e&&m.openHref(e,\"_blank\")}render(){const{name:e,id:o,image_id:r,app:a,mobile:t}=m.getWalletRouterData(),{isWeb:l}=c.getCachedRouterWalletPlatforms(),i=a?.ios,s=t?.universal;return n`this.openMobileApp(!1)}\" .iconRight=\"${v.RETRY_ICON}\">Retry${s?n`Still doesn't work? this.openMobileApp(!0)}\">Try this alternate link`:null}
${`Get ${e}`}
this.onGoToAppStore(i)}\" variant=\"ghost\">App Store
`}};he.styles=[h.globalCss,Go],Ye([I()],he.prototype,\"isError\",2),he=Ye([p(\"wcm-mobile-connecting-view\")],he);const er=g`wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-text{text-align:center}`;var tr=Object.defineProperty,or=Object.getOwnPropertyDescriptor,rr=(e,o,r,a)=>{for(var t=a>1?void 0:a?or(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&tr(o,r,t),t};let je=class extends w{render(){const{name:e,id:o,image_id:r}=m.getWalletRouterData(),{isDesktop:a,isWeb:t}=c.getCachedRouterWalletPlatforms();return n`${`Scan this QR Code with your phone's camera or inside ${e} app`}`}};je.styles=[h.globalCss,er],je=rr([p(\"wcm-mobile-qr-connecting-view\")],je);var ar=Object.defineProperty,lr=Object.getOwnPropertyDescriptor,ir=(e,o,r,a)=>{for(var t=a>1?void 0:a?lr(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&ar(o,r,t),t};let _e=class extends w{render(){return n``}};_e.styles=[h.globalCss],_e=ir([p(\"wcm-qrcode-view\")],_e);const nr=g`wcm-modal-content{height:clamp(200px,60vh,600px);display:block;overflow:scroll;scrollbar-width:none;position:relative;margin-top:1px}.wcm-grid{display:grid;grid-template-columns:repeat(4,80px);justify-content:space-between;margin:-15px -10px;padding-top:20px}wcm-modal-content::after,wcm-modal-content::before{content:'';position:fixed;pointer-events:none;z-index:1;width:100%;height:20px;opacity:1}wcm-modal-content::before{box-shadow:0 -1px 0 0 var(--wcm-color-bg-1);background:linear-gradient(var(--wcm-color-bg-1),rgba(255,255,255,0))}wcm-modal-content::after{box-shadow:0 1px 0 0 var(--wcm-color-bg-1);background:linear-gradient(rgba(255,255,255,0),var(--wcm-color-bg-1));top:calc(100% - 20px)}wcm-modal-content::-webkit-scrollbar{display:none}.wcm-placeholder-block{display:flex;justify-content:center;align-items:center;height:100px;overflow:hidden}.wcm-empty,.wcm-loading{display:flex}.wcm-loading .wcm-placeholder-block{height:100%}.wcm-end-reached .wcm-placeholder-block{height:0;opacity:0}.wcm-empty .wcm-placeholder-block{opacity:1;height:100%}wcm-wallet-button{margin:calc((100% - 60px)/ 3) 0}`;var cr=Object.defineProperty,sr=Object.getOwnPropertyDescriptor,ie=(e,o,r,a)=>{for(var t=a>1?void 0:a?sr(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&cr(o,r,t),t};const De=40;let U=class extends w{constructor(){super(...arguments),this.loading=!W.state.wallets.listings.length,this.firstFetch=!W.state.wallets.listings.length,this.search=\"\",this.endReached=!1,this.intersectionObserver=void 0,this.searchDebounce=c.debounce(e=>{e.length>=1?(this.firstFetch=!0,this.endReached=!1,this.search=e,W.resetSearch(),this.fetchWallets()):this.search&&(this.search=\"\",this.endReached=this.isLastPage(),W.resetSearch())})}firstUpdated(){this.createPaginationObserver()}disconnectedCallback(){var e;(e=this.intersectionObserver)==null||e.disconnect()}get placeholderEl(){return c.getShadowRootElement(this,\".wcm-placeholder-block\")}createPaginationObserver(){this.intersectionObserver=new IntersectionObserver(([e])=>{e.isIntersecting&&!(this.search&&this.firstFetch)&&this.fetchWallets()}),this.intersectionObserver.observe(this.placeholderEl)}isLastPage(){const{wallets:e,search:o}=W.state,{listings:r,total:a}=this.search?o:e;return a<=De||r.length>=a}async fetchWallets(){var e;const{wallets:o,search:r}=W.state,{listings:a,total:t,page:l}=this.search?r:o;if(!this.endReached&&(this.firstFetch||t>De&&a.lengthc.getWalletIcon(f));await Promise.all([...$.map(async f=>c.preloadImage(f)),m.wait(300)]),this.endReached=this.isLastPage()}catch(i){console.error(i),N.openToast(c.getErrorMessage(i),\"error\")}finally{this.loading=!1,this.firstFetch=!1}}onConnect(e){m.isAndroid()?c.handleMobileLinking(e):c.goToConnectingView(e)}onSearchChange(e){const{value:o}=e.target;this.searchDebounce(o)}render(){const{wallets:e,search:o}=W.state,{listings:r}=this.search?o:e,a=this.loading&&!r.length,t=this.search.length>=3;let l=Z.manualWalletsTemplate(),i=Z.recomendedWalletsTemplate(!0);t&&(l=l.filter(({values:f})=>c.caseSafeIncludes(f[0],this.search)),i=i.filter(({values:f})=>c.caseSafeIncludes(f[0],this.search)));const s=!this.loading&&!r.length&&!i.length,$={\"wcm-loading\":a,\"wcm-end-reached\":this.endReached||!this.loading,\"wcm-empty\":s};return n`
${a?null:l} ${a?null:i} ${a?null:r.map(f=>n`${f?n`this.onConnect(f)}\">`:null}`)}
${s?n`No results found`:null} ${!s&&this.loading?n``:null}
`}};U.styles=[h.globalCss,nr],ie([I()],U.prototype,\"loading\",2),ie([I()],U.prototype,\"firstFetch\",2),ie([I()],U.prototype,\"search\",2),ie([I()],U.prototype,\"endReached\",2),U=ie([p(\"wcm-wallet-explorer-view\")],U);const dr=g`wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-text{text-align:center}`;var mr=Object.defineProperty,hr=Object.getOwnPropertyDescriptor,Ge=(e,o,r,a)=>{for(var t=a>1?void 0:a?hr(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&mr(o,r,t),t};let we=class extends w{constructor(){super(),this.isError=!1,this.openWebWallet()}onFormatAndRedirect(e){const{desktop:o,name:r}=m.getWalletRouterData(),a=o?.universal;if(a){const t=m.formatUniversalUrl(a,e,r);m.openHref(t,\"_blank\")}}openWebWallet(){const{walletConnectUri:e}=R.state,o=m.getWalletRouterData();c.setRecentWallet(o),e&&this.onFormatAndRedirect(e)}render(){const{name:e,id:o,image_id:r}=m.getWalletRouterData(),{isMobile:a,isDesktop:t}=c.getCachedRouterWalletPlatforms(),l=m.isMobile();return n`${`${e} web app has opened in a new tab. Go there, accept the connection, and come back`}Retry`}};we.styles=[h.globalCss,dr],Ge([I()],we.prototype,\"isError\",2),we=Ge([p(\"wcm-web-connecting-view\")],we);export{ae as WcmModal,j as WcmQrCode};\n//# sourceMappingURL=index.js.map\n"],"names":["AssetDirectionEnum","TransactionTypeEnum","TransactionStatusEnum","ErrorTypeEnum","WalletPlatformEnum","TransactionListenerProcessIndex","global","bind","fn","thisArg","toString","getPrototypeOf","kindOf","cache","thing","str","kindOfTest","type","typeOfTest","isArray","isUndefined","isBuffer","val","isFunction","isArrayBuffer","isArrayBufferView","result","isString","isNumber","isObject","isBoolean","isPlainObject","prototype","isDate","isFile","isBlob","isFileList","isStream","isFormData","kind","isURLSearchParams","trim","forEach","obj","allOwnKeys","i","l","keys","len","key","findKey","_key","_global","isContextDefined","context","merge","caseless","assignValue","targetKey","extend","a","b","stripBOM","content","inherits","constructor","superConstructor","props","descriptors","toFlatObject","sourceObj","destObj","filter","propFilter","prop","merged","endsWith","searchString","position","lastIndex","toArray","arr","isTypedArray","TypedArray","forEachEntry","iterator","pair","matchAll","regExp","matches","isHTMLForm","toCamelCase","m","p1","p2","hasOwnProperty","isRegExp","reduceDescriptors","reducer","reducedDescriptors","descriptor","name","ret","freezeMethods","value","toObjectSet","arrayOrString","delimiter","define","noop","toFiniteNumber","defaultValue","ALPHA","DIGIT","ALPHABET","generateString","size","alphabet","length","isSpecCompliantForm","toJSONObject","stack","visit","source","target","reducedValue","isAsyncFn","utils$b","buffer","base64Js","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","code","getLens","b64","validLen","placeHoldersLen","lens","_byteLength","tmp","curByte","tripletToBase64","num","encodeChunk","uint8","start","end","output","extraBytes","parts","maxChunkLength","len2","ieee754","offset","isLE","mLen","nBytes","e","eLen","eMax","eBias","nBits","d","s","c","rt","exports","base64","ieee754$1","customInspectSymbol","Buffer","SlowBuffer","K_MAX_LENGTH","GlobalUint8Array","GlobalArrayBuffer","GlobalSharedArrayBuffer","typedArraySupport","proto","createBuffer","buf","arg","encodingOrOffset","allocUnsafe","from","fromString","fromArrayView","isInstance","fromArrayBuffer","valueOf","fromObject","assertSize","alloc","fill","encoding","checked","string","actual","fromArrayLike","array","arrayView","copy","byteOffset","numberIsNaN","x","y","list","pos","mustMatch","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","n","max","thisStart","thisEnd","thisCopy","targetCopy","bidirectionalIndexOf","dir","arrayIndexOf","indexSize","arrLength","valLength","read","foundIndex","found","j","hexWrite","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","asciiToBytes","base64Write","ucs2Write","utf16leToBytes","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","decodeCodePointsArray","MAX_ARGUMENTS_LENGTH","codePoints","out","hexSliceLookupTable","bytes","newBuf","checkOffset","ext","noAssert","mul","defineBigIntMethod","validateNumber","first","last","boundsError","lo","hi","checkInt","min","maxBytes","wrtBigUInt64LE","checkIntBI","wrtBigUInt64BE","limit","sub","checkIEEE754","writeFloat","littleEndian","writeDouble","targetStart","errors","E","sym","getMessage","Base","range","input","msg","received","addNumericalSeparator","checkBounds","INVALID_BASE64_RE","base64clean","units","leadSurrogate","byteArray","src","dst","table","i16","BufferBigIntNotDefined","Blob","BlobOptions","Buffer$1","File","FileOptions","INSPECT_MAX_BYTES","TranscodeEncoding","atob","btoa","constants","isAscii","isUtf8","kMaxLength","kStringMaxLength","resolveObjectURL","transcode","AxiosError","message","config","request","response","utils","error","customProps","axiosError","httpAdapter","isVisitable","removeBrackets","renderKey","path","dots","token","isFlatArray","predicates","toFormData","formData","options","option","metaTokens","visitor","defaultVisitor","indexes","useBlob","convertValue","el","index","exposedHelpers","build","encode","charMap","match","AxiosURLSearchParams","params","encoder","_encode","buildURL","url","serializeFn","serializedParams","hashmarkIndex","InterceptorManager","fulfilled","rejected","id","h","InterceptorManager$1","transitionalDefaults","platform$1","hasBrowserEnv","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","platform","toURLEncodedForm","data","helpers","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","stringifySafely","rawValue","parser","defaults","headers","contentType","hasJSONContentType","isObjectPayload","_FormData","transitional","forcedJSONParsing","JSONRequested","strictJSONParsing","status","method","defaults$2","ignoreDuplicateOf","parseHeaders","rawHeaders","line","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","w","char","buildAccessors","accessorName","methodName","arg1","arg2","arg3","AxiosHeaders","valueOrRewrite","rewrite","self","setHeader","_value","_header","_rewrite","lHeader","setHeaders","matcher","deleted","deleteHeader","format","normalized","targets","asStrings","computed","accessors","defineAccessor","mapped","headerValue","AxiosHeaders$1","transformData","fns","isCancel","CanceledError","settle","resolve","reject","validateStatus","cookies","expires","domain","secure","cookie","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","isURLSameOrigin","msie","urlParsingNode","originURL","resolveURL","href","requestURL","parseProtocol","speedometer","samplesCount","timestamps","head","tail","firstSampleTS","chunkLength","now","startedAt","bytesCount","passed","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","progressBytes","rate","inRange","knownAdapters","requestData","requestHeaders","responseType","withXSRFToken","onCanceled","done","username","password","fullPath","onloadend","responseHeaders","err","timeoutErrorMessage","xsrfValue","cancel","protocol","renderReason","reason","isResolvedHandle","adapter","adapters$1","adapters","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","dispatchRequest","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","VERSION","validators","deprecatedWarnings","validators$1","validator","version","formatMessage","opt","desc","opts","assertOptions","schema","allowUnknown","validator$1","Axios","instanceConfig","configOrUrl","dummy","paramsSerializer","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","promise","chain","newConfig","onFulfilled","onRejected","generateHTTPMethod","isForm","Axios$1","CancelToken","executor","resolvePromise","onfulfilled","_resolve","CancelToken$1","spread","callback","isAxiosError","payload","HttpStatusCode","HttpStatusCode$1","createInstance","defaultConfig","instance","axios","promises","axios$1","number","bool","isBytes","lengths","hash","exists","checkFinished","assert$5","U32_MASK64","_32n","fromBig","le","split","lst","Ah","Al","rotlSH","rotlSL","rotlBH","rotlBL","u32","toBytes","Hash$8","wrapConstructor","hashCons","hashC","SHA3_PI","SHA3_ROTL","_SHA3_IOTA","_0n","_1n","_2n","_7n","_256n","_0x71n","round","R","t","SHA3_IOTA_H","SHA3_IOTA_L","rotlH","rotlL","keccakP","rounds","B","idx1","idx0","B0","B1","Th","Tl","curH","curL","shift","PI","Hash","blockLen","suffix","outputLen","enableXOF","take","bufferOut","to","Keccak","gen","keccak_224","keccak_256","keccak_384","keccak_512","assert","wrapHash","webCrypto","nodeRequire","keccak256","k","JSONRPC_ERR_REJECTED_REQUEST","JSONRPC_ERR_UNAUTHORIZED","JSONRPC_ERR_UNSUPPORTED_METHOD","JSONRPC_ERR_DISCONNECTED","JSONRPC_ERR_CHAIN_DISCONNECTED","ERR_INVALID_BYTES","ERR_INVALID_NUMBER","ERR_INVALID_HEX","ERR_VALIDATION","ERR_SCHEMA_FORMAT","ERR_RPC_INVALID_JSON","ERR_RPC_INVALID_REQUEST","ERR_RPC_INVALID_METHOD","ERR_RPC_INVALID_PARAMS","ERR_RPC_INTERNAL_ERROR","ERR_RPC_INVALID_INPUT","ERR_RPC_MISSING_RESOURCE","ERR_RPC_UNAVAILABLE_RESOURCE","ERR_RPC_TRANSACTION_REJECTED","ERR_RPC_UNSUPPORTED_METHOD","ERR_RPC_LIMIT_EXCEEDED","ERR_RPC_NOT_SUPPORTED","BaseWeb3Error","innerError","unquotValue","_","v","InvalidValueError","InvalidBytesError","InvalidNumberError","HexProcessingError","genericRpcErrorMessageTemplate","RpcErrorMessages","RpcError","rpcError","ParseError","InvalidRequestError","MethodNotFoundError","InvalidParamsError","InternalError","InvalidInputError","MethodNotSupported","ResourceUnavailableError","ResourcesNotFoundError","VersionNotSupportedError","TransactionRejectedError","LimitExceededError","rpcErrorsMap","SchemaFormatError","util","assertIs","_arg","assertNever","_x","items","item","validKeys","filtered","object","checker","joinValues","separator","objectUtil","second","ZodParsedType","getParsedType","ZodIssueCode","quotelessJson","ZodError","issues","subs","actualProto","_mapper","mapper","issue","fieldErrors","processError","curr","formErrors","errorMap","_ctx","overrideErrorMap","setErrorMap","map","getErrorMap","makeIssue","errorMaps","issueData","fullIssue","errorMessage","maps","EMPTY_PATH","addIssueToContext","ctx","ParseStatus","results","arrayValue","INVALID","pairs","syncPairs","finalObject","DIRTY","OK","isAborted","isDirty","isValid","isAsync","errorUtil","ParseInputLazyPath","parent","handleResult","processCreateParams","invalid_type_error","required_error","description","iss","ZodType","def","_a","maybeAsyncResult","check","getIssueProperties","setError","refinementData","refinement","ZodEffects","ZodFirstPartyTypeKind","ZodOptional","ZodNullable","ZodArray","ZodPromise","ZodUnion","incoming","ZodIntersection","transform","defaultValueFunc","ZodDefault","ZodBranded","catchValueFunc","ZodCatch","This","ZodPipeline","ZodReadonly","cuidRegex","cuid2Regex","ulidRegex","uuidRegex","emailRegex","_emojiRegex","emojiRegex","ipv4Regex","ipv6Regex","datetimeRegex","args","isValidIP","ip","ZodString","tooBig","tooSmall","regex","validation","minLength","maxLength","ch","floatSafeRemainder","step","valDecCount","stepDecCount","decCount","valInt","stepInt","ZodNumber","inclusive","ZodBigInt","ZodBoolean","ZodDate","minDate","maxDate","ZodSymbol","ZodUndefined","ZodNull","ZodAny","ZodUnknown","ZodNever","ZodVoid","deepPartialify","ZodObject","newShape","fieldSchema","ZodTuple","shape","shapeKeys","extraKeys","keyValidator","unknownKeys","catchall","_b","_c","_d","defaultError","augmentation","merging","mask","newField","createZodEnum","handleResults","unionErrors","childCtx","dirty","types","getDiscriminator","ZodLazy","ZodLiteral","ZodEnum","ZodNativeEnum","ZodDiscriminatedUnion","discriminator","discriminatorValue","optionsMap","discriminatorValues","mergeValues","aType","bType","bKeys","sharedKeys","newObj","sharedValue","newArray","itemA","itemB","handleParsed","parsedLeft","parsedRight","left","right","itemIndex","rest","schemas","ZodRecord","keyType","valueType","third","ZodMap","finalMap","ZodSet","finalizeSet","elements","parsedSet","element","minSize","maxSize","ZodFunction","makeArgsIssue","makeReturnsIssue","returns","me","parsedArgs","parsedReturns","returnType","func","getter","values","expectedValues","enumValues","nativeEnumValues","promisified","effect","checkCtx","processed","executeRefinement","acc","inner","base","preprocess","newCtx","ZodNaN","BRAND","inResult","custom","fatal","p","_fatal","late","instanceOfType","cls","stringType","numberType","nanType","bigIntType","booleanType","dateType","symbolType","undefinedType","nullType","anyType","unknownType","neverType","voidType","arrayType","objectType","strictObjectType","unionType","discriminatedUnionType","intersectionType","tupleType","recordType","mapType","setType","functionType","lazyType","literalType","enumType","nativeEnumType","promiseType","effectsType","optionalType","nullableType","preprocessType","pipelineType","z","errorFormatter","Web3ValidatorError","VALID_ETH_BASE_TYPES","isAbiParameterSchema","isHexStrict","hex","isHex","extraTypes","parseBaseType","strippedType","baseTypeSize","arraySizes","convertEthType","parentSchema","baseType","abiSchemaToJsonSchema","abis","level","abi","abiType","abiName","abiComponents","childSchema","lastSchema","nestedTuple","arraySize","ethAbiToJsonSchema","fetchArrayElement","transformJsonDataToAbiFormat","transformedData","newData","dataItem","tupleData","tupleItem","nestedItems","nestedData","nestedItem","codePointToInt","hexToNumber","negative","hexValue","numberToHex","padLeft","characterAmount","sign","prefix","uint8ArrayToHexString","uint8Array","hexString","charCodeMap","charCodeToBase16","hexToUint8Array","nibbleLeft","nibbleRight","ensureIfUint8Array","isUint8Array","valueToCheck","checkAddressCheckSum","address","updatedData","addressHash","isAddress","checkChecksum","FMT_NUMBER","FMT_BYTES","BlockTags","HardforksOrdered","this","bigintPower","expo","isUInt","isInt","isBlockNumber","isBlockTag","isBlockNumberOrTag","isBloom","bloom","isNullish","isTopic","topic","isFilterObject","expectedFilterProperties","property","nestedTopic","formats","bitSize","convertToZod","zItem","nextSchema","zodArraySchema","oneOfSchema","Validator","keyword","schemaPath","field","instancePath","Web3Validator","jsonSchema","bytesToUint8Array","validatorUtils.hexToUint8Array","validatorUtils","bytesToHex","hexstrict","updatedValue","validatorUtils.numberToHex","utf8ToHex","strWithoutNullCharacter","toHex","has","Events","EE","once","addListener","emitter","event","evt","clearEvent","EventEmitter","names","events","handlers","ee","listeners","a1","a2","a3","a4","a5","module","isNumeric","mathceil","mathfloor","bignumberError","tooManyDigits","BASE","LOG_BASE","MAX_SAFE_INTEGER","POWS_TEN","SQRT_BASE","MAX","clone","configObject","div","convertBase","parseNumeric","P","BigNumber","ONE","DECIMAL_PLACES","ROUNDING_MODE","TO_EXP_NEG","TO_EXP_POS","MIN_EXP","MAX_EXP","CRYPTO","MODULO_MODE","POW_PRECISION","FORMAT","alphabetHasNormalDecimalDigits","caseChanged","isNum","intCheck","maxOrMin","pow2_53","random53bitInt","dp","rand","sum","decimal","toBaseOut","baseIn","baseOut","arrL","callerIsToString","r","xc","rm","toFixedPoint","coeffToString","multiply","temp","xlo","xhi","carry","klo","khi","compare","aL","bL","cmp","subtract","more","prod","prodL","q","qc","rem","remL","rem0","xi","xL","yc0","yL","yz","yc","bitFloor","c0","ne","toExponential","normalise","basePrefix","dotAfter","dotBefore","isInfinityOrNaN","whitespaceOrPlus","sd","ni","rd","pows10","half","isModExp","nIsBig","nIsNeg","nIsOdd","isOdd","xLTy","xe","ye","xcL","ycL","ylo","yhi","zc","sqrtBase","rep","g1","g2","groupSeparator","intPart","fractionPart","isNeg","intDigits","md","d0","d1","d2","exp","n0","n1","zs","browser","BASE58_ALPHABET","decimals","newValue","base58Encode","base58Array","remainder","base58Decode","valueHex","bufferToString","stringToBuffer","sleep","ms","objectsEqual","o1","o2","toReadableString","coefficient","exponent","checkWebSocket","socket","NodeWebSocket","navigator","standalone","userAgent","safari","checkType","resolveProperties","accum","defineProperties","stringify","HEX","isError","isCallException","makeError","info","shortMessage","details","assertArgument","assertArgumentCount","count","expectedCount","_normalizeForms","form","expected","assertNormalize","assertPrivate","givenGuard","guard","className","operation","_getBytes","getBytes","getBytesCopy","isHexString","isBytesLike","HexCharacters","hexlify","concat","datas","dataLength","dataSlice","stripZerosLeft","zeroPad","zeroPadValue","zeroPadBytes","BN_0","BN_1","maxValue","fromTwos","_width","getUint","width","getNumber","toTwos","getBigInt","_bits","bits","Nibbles","toBigInt","toNumber","toBeHex","toBeArray","toQuantity","Alphabet","Lookup","getAlpha","letter","BN_58","encodeBase58","decodeBase58","decodeBase64","textData","encodeBase64","_data","EventPayload","__publicField","__privateAdd","_listener","__privateSet","__privateGet","errorFunc","badCodepoint","ignoreFunc","replaceFunc","Utf8ErrorFuncs","getUtf8CodePoints","_bytes","onError","extraLength","overlongMask","nextChar","toUtf8Bytes","c2","_toUtf8String","toUtf8String","toUtf8CodePoints","createGetUrl","getUrl","req","_signal","signal","controller","init","resp","respBody","body","MAX_ATTEMPTS","SLOT_INTERVAL","defaultGetUrlFunc","reData","reIpfs","locked","dataGatewayFunc","FetchResponse","unpercent","FetchRequest","getIpfsGatewayFunc","baseUrl","gatewayIpfs","Gateways","fetchSignals","FetchCancelSignal","_listeners","_cancelled","checkSignal","_FetchRequest","_send","_allowInsecure","_gzip","_headers","_method","_timeout","_url","_body","_bodyType","_creds","_preflight","_process","_retry","_throttle","_getUrlFunc","timeout","preflight","process","retry","__privateMethod","send_fn","getTime","location","current","scheme","attempt","delay","_request","_response","wait","retryAfter","_FetchResponse","statusCode","statusMessage","_statusCode","_statusMessage","_error","stall","requestUrl","responseBody","all","BN_N1","BN_5","_guard","Zeros","getTens","checkValue","safeOp","getFormat","signed","_FixedNumber","_checkFormat","_checkValue","_add","_sub","_mul","_div","_format","_val","_tens","other","add_fn","sub_fn","mul_fn","checkFormat_fn","checkValue_fn","div_fn","delta","bump","tens","_decimals","whole","FixedNumber","o","hexlifyByte","unarrayifyInteger","_decodeChildren","childOffset","decoded","_decode","lengthLength","decodeRlp","arrayifyInteger","child","nibbles","encodeRlp","formatUnits","unit","parseUnits","formatEther","wei","parseEther","ether","uuidV4","randomBytes","WordSize","Padding","passProperties","throwError","wrapped","_Result","wrap","_names","nameCounts","receiver","Result","checkResultErrors","checkErrors","childPath","getValue","Coder","localName","dynamic","Writer","_writeData","_dataLength","writer","writeData_fn","paddingOffset","_Reader","allowLoose","maxInflation","_incrementBytesRead","_peekBytes","_offset","_bytesRead","_parent","_maxInflation","reader","loose","peekBytes_fn","incrementBytesRead_fn","Reader","alignedLength","crypto","u8a","createView","rotr","word","nextTick","asyncLoop","iters","tick","cb","ts","diff","concatBytes","arrays","pad","Hash$7","toStr","checkOpts","bytesLength","assertHash","assertExists","assertBytes","oHash","iHash","finished","destroyed","hmac","HMAC","pbkdf2Init","_password","_salt","_opts","dkLen","asyncTick","assertNumber","salt","DK","PRF","PRFSalt","pbkdf2Output","prfW","u","pbkdf2","view","ti","Ti","ui","setBigUint64","_u32_max","wh","wl","SHA2","padOffset","dataView","oview","outLen","Chi","Maj","SHA256_K","IV","SHA256_W","SHA256","A","C","D","F","G","H","W15","W2","s0","s1","sigma1","T1","T2","sha256","toBig","shrSH","_l","shrSL","rotrSH","rotrSL","rotrBH","rotrBL","rotr32H","_h","rotr32L","add","Bh","Bl","u64$1","Cl","low","Ch","Dl","Dh","Eh","El","SHA512_Kh","SHA512_Kl","u64","SHA512_W_H","SHA512_W_L","Fh","Fl","Gh","Gl","Hh","Hl","W15h","W15l","s0h","s0l","W2h","W2l","s1h","s1l","SUMl","SUMh","sigma1h","sigma1l","CHIh","CHIl","T1ll","T1h","T1l","sigma0h","sigma0l","MAJh","MAJl","All","sha512","SHA512","getGlobal","anyGlobal","createHash","algo","createHmac","_algo","pbkdf2Sync","iterations","keylen","_computeHmac","algorithm","__computeHmac","computeHmac","_keccak256","__keccak256","Rho","Id","Pi","idxL","idxR","shifts","shiftsL","idx","shiftsR","Kl","Kr","rotl","f","group","BUF","RIPEMD160","h0","h1","h2","h3","h4","al","ar","bl","br","cl","cr","dl","dr","er","rGroup","hbl","hbr","rl","rr","sl","sr","tl","tr","ripemd160","_ripemd160","noble_ripemd160","__ripemd160","ripemd160$1","_pbkdf2","__pbkdf2","_randomBytes","crypto_random","__randomBytes","XorAndSalsa","prev","pi","ii","oi","y00","y01","y02","y03","y04","y05","y06","y07","y08","y09","y10","y11","y12","y13","y14","y15","x00","x01","x02","x03","x04","x05","x06","x07","x08","x09","x10","x11","x12","x13","x14","x15","BlockMix","scryptInit","N","maxmem","onProgress","blockSize","blockSize32","memUsed","B32","V","blockMixCb","totalBlockMix","callbackPer","blockMixCnt","scryptOutput","scrypt","scryptAsync","lockedSync","lockedAsync","_scryptAsync","passwd","_nobleAsync","_scryptSync","_nobleSync","__scryptAsync","__scryptSync","_passwd","progress","scryptSync","_sha256","_sha512","__sha256","__sha512","locked256","locked512","sha256$4","sha512$4","hexes","numberToHexUnpadded","hexToBytes","hexByte","byte","bytesToNumberBE","bytesToNumberLE","numberToBytesBE","numberToBytesLE","numberToVarBytesBE","ensureBytes","title","expectedLength","equalBytes","b1","b2","bitLen","bitGet","bitSet","bitMask","u8n","u8fr","createHmacDrbg","hashLen","qByteLen","hmacFn","reset","reseed","seed","pred","validatorFns","validateObject","optValidators","checkField","fieldName","isOptional","checkVal","_3n","_4n","_5n","_8n","mod","pow","power","modulo","pow2","invert","tonelliShanks","legendreC","Q","S","Z","p1div4","Fp","root","Q1div2","g","t2","ge","FpSqrt","c1","n2","nv","FIELD_FIELDS","validateField","initial","FpPow","FpInvertBatch","nums","lastMultiplied","inverted","nLength","nBitLength","_nBitLength","nByteLength","Field","ORDER","redef","BITS","BYTES","sqrtP","lhs","rhs","getFieldBytesLength","fieldOrder","bitLength","getMinHashLength","mapHashToField","fieldLen","minLen","reduced","wNAF","constTimeNegate","condition","neg","W","windows","windowSize","elm","points","window","precomputes","maxNumber","shiftBy","wbits","offset1","offset2","cond1","cond2","precomputesMap","comp","validateBasic","curve","validatePointOpts","ut.validateObject","endo","b2n","h2b","ut","DER","sBytes","rBytesLeft","sig","slice","shl","rhl","weierstrassPoints","CURVE","point","_isCompressed","ut.concatBytes","fromBytes","weierstrassEquation","x2","x3","isWithinCurveOrder","assertGE","normPrivateKeyToScalar","wrapPrivateKey","ut.bytesToHex","ut.bytesToNumberBE","mod.mod","pointPrecomputes","assertPrjPoint","Point","px","py","pz","is0","toInv","privateKey","X1","Y1","Z1","X2","Y2","Z2","U1","U2","b3","X3","Y3","Z3","t0","t1","t3","t4","t5","wnaf","I","k1neg","k1","k2neg","k2","k1p","k2p","scalar","fake","f1p","f2p","iz","ax","ay","zz","cofactor","isTorsionFree","clearCofactor","isCompressed","validateOpts","weierstrass","curveDef","CURVE_ORDER","compressedLen","uncompressedLen","isValidFieldElement","modN","invN","mod.invert","cat","y2","isYOdd","numToNByteStr","ut.numberToBytesBE","isBiggerThanHalfOrder","HALF","normalizeS","slcNum","Signature","recovery","msgHash","rec","bits2int_modN","radj","ir","u1","u2","ut.hexToBytes","mod.getMinHashLength","mod.mapHashToField","getPublicKey","isProbPub","getSharedSecret","privateA","publicB","bits2int","ORDER_MASK","ut.bitMask","int2octets","prepSig","defaultSigOpts","lowS","prehash","ent","h1int","seedArgs","k2sig","kBytes","ik","normS","defaultVerOpts","privKey","ut.createHmacDrbg","verify","signature","publicKey","sg","_sig","derError","is","getHash","msgs","createCurve","defHash","create","secp256k1P","secp256k1N","divNearest","sqrtMod","_6n","_11n","_22n","_23n","_44n","_88n","b6","b9","b11","b22","b44","b88","b176","b220","b223","secp256k1","POW_2_128","ZeroAddress","ZeroHash","WeiPerEther","MaxUint256","MinInt256","MaxInt256","EtherSymbol","MessagePrefix","BN_2","BN_27","BN_28","BN_35","toUint256","_Signature","_r","_s","_v","_networkV","yParityAndS","networkV","bv","chainId","assertError","yParity","_SigningKey","_privateKey","digest","pubKey","compressed","pub","secpSig","p0","pub0","pub1","SigningKey","lock","BN_36","getChecksumAddress","chars","expanded","hashed","ibanLookup","safeDigits","ibanChecksum","block","checksum","Base36","fromBase36","getAddress","getIcapAddress","base36","getCreateAddress","tx","nonceHex","getCreate2Address","_from","_initCodeHash","initCodeHash","isAddressable","checkAddress","resolveAddress","resolver","_gaurd","Typed","_typedSymbol","_Typed","gaurd","_options","AddressCoder","AnonymousCoder","coder","pack","coders","arrayValues","unique","staticWriter","dynamicWriter","updateFuncs","dynamicOffset","updateFunc","baseOffset","unpack","baseReader","offsetReader","ArrayCoder","defaultChild","BooleanCoder","DynamicBytesCoder","BytesCoder","FixedBytesCoder","Empty","NullCoder","BN_MAX_UINT256","NumberCoder","maxUintValue","bounds","StringCoder","TupleCoder","uniqueNames","COMPRESSED$1","FENCED","NSM_MAX","decode_arithmetic","u16","symbol_count","skip","pos_payload","read_width","read_buffer","read_bit","FULL","QRTR","MASK","register","symbols","mid","read_payload","read_compressed_payload","unsafe_atob","read_deltas","next","read_sorted","read_sorted_arrays","read_array_while","read_mapped","read_linear_table","read_replacement_table","read_transposed","dx","dy","vN","ys","j_dy","read_trie","sorted","expand","decode","cps","saved","cp","hex_cp","quote_cp","explode_cp","str_from_cps","compare_arrays","COMPRESSED","S0","L0","V0","T0","L_COUNT","V_COUNT","T_COUNT","N_COUNT","S_COUNT","S1","L1","V1","unpack_cc","packed","unpack_cp","SHIFTED_RANK","EXCLUSIONS","DECOMP","RECOMP","init$1","bucket","is_hangul","compose_pair","recomp","decomposed","check_order","cc","s_index","l_index","v_index","t_index","prev_cc","composed_from_decomposed","prev_cp","composed","nfd","nfc","HYPHEN","STOP_CH","FE0F","UNIQUE_PH","Array_from","group_has_cp","Emoji","MAPPED","IGNORED","CM","NSM","ESCAPE","GROUPS","WHOLE_VALID","WHOLE_MAP","VALID","EMOJI_LIST","EMOJI_ROOT","read_sorted_array","read_sorted_set","set_add_many","set","chunks","unrestricted","read_chunked","M","wholes","recs","gs","union","complement","multi","add_to_union","node","quoted_cp","should_escape","bidi_qq","safe_str_from_cps","check_label_extension","check_leading_underscore","check_fenced","error_placement","quoter","is_combining_mark","ens_normalize","flatten","filter_fe0f","nf","ef","label","tokens_from_str","token_count","norm","determine_group","check_group","check_whole","maker","shared","groups","error_group_member","error_disallowed","quoted","gg","where","emoji","consume_emoji_reversed","eaten","checkComponent","ensNameSplit","ensNormalize","comps","isValidName","namehash","dnsEncode","_maxLength","accessSetify","addr","storageKeys","storageKey","accessListify","computeAddress","pubkey","recoverAddress","BN_MAX_UINT","handleAddress","handleAccessList","param","handleNumber","handleUint","formatNumber","formatAccessList","formatHashes","_parseLegacy","fields","_serializeLegacy","legacy","_parseEipSignature","_parseEip1559","_serializeEip1559","_parseEip2930","_serializeEip2930","_parseEip4844","_serializeEip4844","Transaction$1","_type","_to","_nonce","_gasLimit","_gasPrice","_maxPriorityFeePerGas","_maxFeePerGas","_chainId","_accessList","_maxFeePerBlobGas","_blobVersionedHashes","hasGasPrice","hasFee","hasAccessList","hasBlob","Transaction","hashMessage","verifyMessage","regexBytes","regexNumber","regexArray","_pack","solidityPacked","tight","solidityPackedKeccak256","solidityPackedSha256","padding","BN__1","hexPadRight","hexTrue","hexFalse","domainFieldTypes","domainFieldNames","checkString","domainChecks","getBaseEncoder","boundsUpper","boundsLower","encodeType","splitArray","_TypedDataEncoder","_types","_getEncoder","_fullTypes","_encoderCache","links","parents","subtypes","primaryTypes","checkCircular","subtype","st","getEncoder_fn","domainFields","resolveName","ensCache","domainValues","domainTypes","typesWithDomain","TypedDataEncoder","subEncoder","encodedType","verifyTypedData","setify","KwVisibDeploy","_kwVisib","KwVisib","_kwTypes","KwTypes","_kwModifiers","KwModifiers","_keywords","Keywords","SimpleTokens","regexWhitespacePrefix","regexNumberPrefix","regexIdPrefix","regexId","regexType","_TokenString","_subTokenString","_tokens","allowed","top","subTokenString_fn","link","__privateWrapper","TokenString","lex","text","brackets","commas","cur","allowSingle","included","consumeName","consumeKeywords","keywords","consumeMutability","modifiers","consumeParams","allowIndexed","ParamType","consumeGas","consumeEoi","regexArrayType","verifyBasicType","internal","ParamTypeInternal","ErrorFragmentInternal","EventFragmentInternal","ConstructorFragmentInternal","FallbackFragmentInternal","FunctionFragmentInternal","StructFragmentInternal","_ParamType","indexed","components","arrayLength","arrayChildren","_walkAsync","_this","walkAsync_fn","bracket","arrayMatch","setValue","childType","Fragment","inputs","ConstructorFragment","ErrorFragment","EventFragment","FallbackFragment","FunctionFragment","StructFragment","NamedFragment","joinParams","anonymous","payable","gas","stateMutability","errorObj","topIsValid","mutability","outputs","PanicReasons","paramTypeBytes","paramTypeNumber","defaultCoder","defaultMaxInflation","getBuiltinCallException","action","abiCoder","invocation","revert","transaction","_AbiCoder","_getCoder","getCoder_fn","AbiCoder","encodeBytes32String","decodeBytes32String","LogDescription","fragment","TransactionDescription","selector","ErrorDescription","Indexed","BuiltinErrors","_Interface","fragments","_getFunction","_getEvent","_errors","_events","_functions","_abiCoder","frags","fallback","receive","minimal","getFunction_fn","getEvent_fn","matching","matchStr","customPrefix","topics","encodeTopic","dataTypes","dataValues","eventTopic","nonIndexed","resultIndexed","resultNonIndexed","nonIndexedIndex","indexedIndex","log","hexData","Interface","forceUnique","lastValue","valueLength","allowOptions","lastArg","toJson","FeeData","gasPrice","maxFeePerGas","maxPriorityFeePerGas","copyRequest","bigIntKeys","numberKeys","Block","provider","_transactions","TransactionResponse","txs","baseFeePerGas","difficulty","extraData","gasLimit","gasUsed","miner","nonce","parentHash","parentBeaconBlockRoot","stateRoot","receiptsRoot","timestamp","transactions","indexOrHash","createOrphanedBlockFilter","Log","blockHash","blockNumber","removed","transactionHash","transactionIndex","receipt","createRemovedLogFilter","TransactionReceipt","_logs","contractAddress","logsBloom","logs","createRemovedTransactionFilter","createReorderedTransactionFilter","_TransactionResponse","_startBlock","accessList","blobVersionedHashes","_confirms","confirms","startBlock","nextScan","stopScanning","checkReplacement","mined","checkReceipt","cancellers","timer","txListener","replaceListener","EventLog","iface","UndecodedEventLog","ContractTransactionReceipt","_iface","ContractTransactionResponse","ContractUnknownEventPayload","contract","ContractEventPayload","_log","canCall","canEstimate","canResolve","canSend","getResolver","PreparedTopicFilter","_filter","runner","getRunner","resolvedArgs","feature","getProvider","copyOverrides","_overrides","overrides","resolveArgs","_runner","buildWrappedFallback","populateTransaction","noValue","noData","staticCall","send","estimateGas","buildWrappedMethod","getFragment","staticCallResult","buildWrappedEvent","internalValues","setInternal","getInternal","isDeferred","getSubInfo","topicHashify","tag","hasSub","getSub","foundFragment","_foundFragment","emit","starting","started","lastEmit","_emit","payloadFunc","passArgs","resultPromise","_BaseContract","_deployTx","addrPromise","deployTx","filters","checkCode","fromBlock","toBlock","stop","CustomContract","BaseContract","_ContractBase","Contract$1","ContractFactory","bytecode","sentTx","getIpfsLink","MulticoinProviderPlugin","proivder","coinType","matcherIpfs","matchers","_EnsResolver","_fetch","_supports2544","_resolver","Contract","fetch_fn","ethCoinType","coinPlugin","plugin","ipfs","swarm","linkage","avatar","owner","tokenId","tokenOwner","balance","metadataUrl","metadata","imageUrl","network","ensPlugin","currentName","_getResolver","getResolver_fn","EnsResolver","funcName","ensAddr","allowNull","nullValue","arrayOf","altNames","srcKey","altKey","formatBoolean","formatData","formatHash","_formatLog","formatLog","_formatBlock","formatBlock","formatTransactionResponse","_formatReceiptLog","formatReceiptLog","_formatTransactionReceipt","formatTransactionReceipt","EnsAddress","NetworkPlugin","GasCostPlugin","effectiveBlock","costs","nullish","EnsPlugin","targetNetwork","_FeeDataNetworkPlugin","feeDataFunc","_feeDataFunc","FeeDataNetworkPlugin","FetchUrlFeeDataNetworkPlugin","processFunc","_processFunc","Networks","_Network","_name","_plugins","basename","injectCommonNetworks","networkFunc","nameOrChainId","existing","Network","frac","getGasStationPlugin","fetchFeeData","_feeData","injected","registerEth","PollingBlockSubscriber","_poll","_provider","_poller","_interval","_blockNumber","poll_fn","dropWhilePaused","OnBlockSubscriber","_running","PollingBlockTagSubscriber","_tag","_lastBlock","PollingOrphanSubscriber","PollingTransactionSubscriber","_hash","PollingEventSubscriber","MAX_CCIP_REDIRECTS","isPromise","getTag","UnmanagedSubscriber","concisify","getSubscription","_event","addresses","addAddress","defaultOptions","AbstractProvider","_network","_perform","_call","_checkNetwork","_getAccountValue","_getBlock","_hasSub","_getSub","_subs","_pausedState","_destroyed","_networkPromise","_anyNetwork","_performCache","_lastBlockNumber","_nextTimer","_timers","_disableCcipRead","calldata","urls","sender","errorMessages","perform_fn","blockTag","_address","detectNetwork","networkPromise","getFeeDataFunc","_block","priorityFee","getBlock_fn","feeData","_tx","checkNetwork_fn","call_fn","getAccountValue_fn","_position","signedTx","prefetchTxs","timerId","_func","subscriber","oldSub","newSub","getSub_fn","hasSub_fn","pause","perform","txSender","ccipArgs","parseOffchainLookup","ccipResult","encodeBytes","_blockTag","includeTransactions","emitArgs","subscription","_parseString","_parseBytes","numPad","padded","bytesPad","empty","byteCount","zeros","urlsOffset","urlsLength","urlsData","checkProvider","signer","populate","pop","AbstractSigner","hasEip1559","txObj","_VoidSigner","_throwUnsupported","throwUnsupported_fn","VoidSigner","shown","showThrottleMessage","service","FilterIdSubscriber","_teardown","_filterIdPromise","_hault","teardown_fn","filterId","filterIdPromise","FilterIdEventSubscriber","FilterIdPendingSubscriber","Primitive","deepCopy","duration","getLowerCase","isPollable","JsonRpcSigner","hexTx","timeouts","invalids","checkTx","_message","populated","JsonRpcApiProvider","_scheduleDrain","_nextId","_payloads","_drainTimer","_notReady","_pendingDetectNetwork","staticNetwork","scheduleDrain_fn","dstKey","spelunkData","spelunkMessage","unsupported","accountsPromise","accounts","account","stallTime","payloads","batch","JsonRpcApiPollingProvider","_pollingInterval","_connect","_spelunkMessage","defaultApiKey","getHost","AnkrProvider","JsonRpcProvider","apiKey","AlchemyProvider","trace","CloudflareProvider","THROTTLE","EtherscanPluginId","EtherscanPlugin","skipKeys","nextId","EtherscanProvider","_apiKey","_plugin","query","post","throttle","postData","_WebSocket","SocketSubscriber","_filterId","_paused","_emitPromise","emitPromise","SocketBlockSubscriber","SocketPendingSubscriber","SocketEventSubscriber","_logFilter","SocketProvider","_callbacks","_pending","pending","WebSocketProvider","_websocket","defaultProjectId","InfuraWebSocketProvider","projectId","InfuraProvider","projectSecret","defaultToken","QuickNodeProvider","shuffle","defaultState","waitForSync","_normalize","normalizeResult","checkQuorum","quorum","tally","weight","best","getMedian","resultWeight","bestError","getAnyResult","getFuzzyMode","bestWeight","bestResult","FallbackProvider","providers","_getNextConfig","_addRunner","_initialSync","_checkQuorum","_waitForQuorum","_configs","_height","_initialSyncPromise","broadcasts","waiting","initialSync_fn","running","inflightQuorum","addRunner_fn","waitForQuorum_fn","getNextConfig_fn","configs","allConfigs","dt","initialSync","checkQuorum_fn","mode","interesting","newRunners","isWebSocketLike","Testnets","getDefaultProvider","allowService","_NonceManager","_noncePromise","_delta","noncePromise","NonceManager","BrowserProvider","ethereum","defaultApplicationId","PocketProvider","applicationId","applicationSecret","IpcSocketProvider","_BaseWallet","_signingKey","btx","BaseWallet","subsChrs","Word","unfold","words","sep","clumps","leftover","semi","decodeOwl","Wordlist","locale","phrase","WordlistOwl","_loadWords","_checksum","_words","loadWords_fn","wordlist","LangEn","getUpperMask","getLowerMask","mnemonicToEntropy","mnemonic","entropy","bit","entropyBits","checksumBits","checksumMask","entropyToMnemonic","indices","remainingBits","Mnemonic","_entropy","__classPrivateFieldGet","__classPrivateFieldSet","_AES_key","_AES_Kd","_AES_Ke","numberOfRounds","rcon","Si","T3","T4","T5","T6","T7","T8","U3","U4","convertToInt32","AES","roundKeyCount","KC","tk","rconpointer","tt","plaintext","ciphertext","ModeOfOperation","_CBC_iv","_CBC_lastBlock","CBC","iv","_CTR_remaining","_CTR_remainingIndex","_CTR_counter","CTR","initialValue","crypttext","pkcs7Strip","padder","looseArrayify","zpad","getPassword","spelunk","_path","reqd","defaultPath","isKeystoreJson","json","decrypt","aesCtr","getAccount","computedMAC","mnemonicKey","mnemonicCiphertext","mnemonicIv","mnemonicAesCtr","getDecryptKdfParams","kdf","prf","decryptKeystoreJsonSync","decryptKeystoreJson","getEncryptKdfParams","_encryptKeystore","uuidRandom","derivedKey","macPrefix","mac","client","gethFilename","encryptKeystoreJsonSync","passwordBytes","encryptKeystoreJson","MasterSecret","HardenedBit","encodeBase58Check","ser_I","chainCode","derivePath","component","_HDNodeWallet","signingKey","parentFingerprint","depth","_account","fingerprint","progressCallback","account_fn","HDNodeVoidWallet","_index","IR","IL","ki","extendedKey","_fromSeed","fromSeed_fn","HDNodeWallet","_seed","Ki","getAccountPath","getIndexedAccountPath","isCrowdsaleJson","decryptCrowdsaleJson","encseed","encryptedSeed","aesCbc","seedHex","Wallet","_fromAccount","fromAccount_fn","wallet","Base64","decodeBits","flood","decodeOwlA","accents","accent","posOffset","positions","charCode","WordlistOwlA","_accent","wordlists","Ethers","txPromises","blockPromises","blocks","txHash","txId","_Provider","Provider","rejectMap","transactionSigner","eventName","arbitrum","arbitrumGoerli","arbitrumNova","aurora","auroraTestnet","avalanche","avalancheFuji","baseGoerli","bearNetworkChainMainnet","bearNetworkChainTestnet","boba","bronos","bronosTestnet","bsc","bscTestnet","bxn","bxnTestnet","canto","celo","celoAlfajores","celoCannoli","classic","confluxESpace","cronos","cronosTestnet","crossbell","dfk","dogechain","edgeware","edgewareTestnet","emerald","eos","eosTestnet","evmos","evmosTestnet","ekta","ektaTestnet","ewc","fantom","fantomTestnet","fibo","filecoin","filecoinCalibration","filecoinHyperspace","flare","flareTestnet","foundry","fuse","fuseSparknet","iotex","iotexTestnet","gobi","goerli","gnosis","gnosisChiado","hardhat","harmonyOne","haqqMainnet","haqqTestedge2","klaytn","linea","lineaTestnet","localhost","mainnet","mantle","mantleTestnet","metis","metisGoerli","mev","mevTestnet","modeTestnet","moonbaseAlpha","moonbeam","moonriver","neonDevnet","nexi","nexilix","oasys","okc","optimism","optimismGoerli","polygon","polygonMumbai","polygonZkEvmTestnet","polygonZkEvm","pulsechain","pulsechainV4","qMainnet","qTestnet","rollux","rolluxTestnet","ronin","saigon","scrollSepolia","scrollTestnet","sapphire","sapphireTestnet","sepolia","skaleBlockBrawlers","skaleCalypso","skaleCalypsoTestnet","skaleChaosTestnet","skaleCryptoBlades","skaleCryptoColosseum","skaleEuropa","skaleEuropaTestnet","skaleExorde","skaleHumanProtocol","skaleNebula","skaleNebulaTestnet","skaleRazor","skaleTitan","skaleTitanTestnet","songbird","songbirdTestnet","shardeumSphinx","syscoin","syscoinTestnet","taraxa","taikoTestnetSepolia","taraxaTestnet","telos","telosTestnet","thunderTestnet","volta","wanchain","wanchainTestnet","xdc","xdcTestnet","zhejiang","zkSync","zkSyncTestnet","zetachainAthensTestnet","zora","zoraTestnet","networks","wagmiChains","wagmiChain","backupRpcUrl","_e","_f","_g","_i","_k","_j","_m","networks$1","hexId","symbol","switcher","addNetwork","changeNetwork","getChainId","icons","Phantom","_n","phantom","MetaMask","metamaskProvider","ABI","TransactionSigner","rawData","NFT","ERC721","nftId","spender","Coin","amount","hexAmount","txData","Token","ERC20","totalSupply","allowance","selectors","tryNft","explorerUrl","confirmations","ContractTransaction","NftTransaction","direction","CoinTransaction","TokenTransaction","TransactionListener","transactionId","checkSigner","expectedParams","receivedParams","transactionIdOrLog","transactionLog","decodedData","proxyStateMap","refSet","buildProxyFunction","objectIs","newProxy","handler","canProxy","defaultHandlePromise","snapCache","createSnapshot","handlePromise","snap","markToTrack","target2","ensureVersion","proxyCache","versionHolder","proxyFunction","initialObject","notifyUpdate","op","nextVersion","checkVersion","nextCheckVersion","propProxyStates","propProxyState","propVersion","createPropListener","newOp","addPropListener","remove","removePropListener","entry","prevRemove","baseObject","proxyObject","prevValue","hasPrevValue","getUntracked","nextValue","childProxyState","proxyState","defaultProxyFunction","proxy","subscribe","notifyInSync","ops","isListenerActive","removeListener","snapshot","ref","subscribeKey","SECURE_SITE","ONRAMP_PROVIDERS","ConstantsUtil","CoreHelperUtil","networkName","ua","expiry","lastRetry","caipAddress","milliseconds","appUrl","wcUri","safeAppUrl","encodedWcUrl","features","imagePromise","image","formattedBalance","timeZone","capTimeZone","approvedIds","requestedNetworks","approvedIndexMap","indexA","indexB","roundedNumber","dollars","pennies","FetchUtil","OptionsController","subKey","allWallets","includeWalletIds","excludeWalletIds","featuredWalletIds","termsConditionsUrl","privacyPolicyUrl","customWallets","isSiweEnabled","enableAnalytics","sdkVersion","enableOnramp","enableWalletFeatures","DEFAULT_OPTIONS","api","BlockchainApiController","cursor","onramp","queryParams","tokenAddress","userAddress","sdkType","destinationWallets","partnerUserId","defaultNetwork","purchaseAmount","paymentAmount","purchaseCurrency","paymentCurrency","SnackController","getDefaultExportFromCjs","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","runClearTimeout","marker","queue","draining","currentQueue","queueIndex","cleanUpNextTick","drainQueue","Item","browserExports","process$1","WC_DEEPLINK","W3M_RECENT","W3M_CONNECTED_WALLET_IMAGE_URL","W3M_CONNECTED_CONNECTOR","StorageUtil","deepLink","recentWallets","recent","connectorType","excluded","EventsController","TransactionsController","accountAddress","nonSpamTransactions","filteredTransactions","transactionsMap","grouped","year","month","yearTransactions","newMonthTransactions","transfer","ConnectionController","uri","ids","wcLinking","wcError","buffering","PublicStateController","newState","$","O","dayjs","relativeTime","updateLocale","DateUtil","date","NetworkUtil","caipnetworkId","NumberUtil","aBigNumber","bBigNumber","NetworkController","caipNetwork","allowUnsupportedChain","smartAccountEnabledNetworks","approvedCaipNetworkIds","requestedCaipNetworks","networkId","ModalController","ConvertApiUtil","sourceTokenAmount","sourceTokenDecimals","parsedValue","AccountController","balances","RouterController","historyIndex","INITIAL_GAS_LIMIT","ConvertController","networkAddress","loading","sourceToken","sourceTokenAddress","toToken","toTokenAddress","price","newSourceToken","newToToken","networkToken","aTokenInfo","bTokenInfo","existPrice","fungibles","allTokens","priceAsFloat","gasFee","fromAddress","toTokenDecimals","totalGasCostInWei","totalGasCostInEther","toTokenAmount","gasPriceInUSD","sourceTokenPrice","toTokenPrice","slippageToleranceDecimal","fromCaipAddress","hasAllowance","multiplier","toAmount","isSourceTokenIsNetworkToken","amountBigInt","toTokenPriceInUSD","isConnected","balanceSymbol","profileName","profileImage","isDeployed","currentTab","tokenBalance","connectedWalletInfo","preferredAccountType","AssetController","ThemeController","themeMode","emailConnector","ConnectorController","themeVariables","connectors","connector","optionsState","rdns","entries","recommendedEntries","ApiController","imageId","blob","countryCode","currencies","currency","images","exclude","recommendedImages","recentImages","page","search","isAnalyticsEnabled","connected","USDC_CURRENCY_DEFAULT","USD_CURRENCY_DEFAULT","OnRampController","quote","SendController","sendTokenAmount","receiverAddress","receiverProfileImageUrl","receiverProfileName","AssetUtil","RouterUtil","history","networkSelectIndex","n$f","b$9","T","V$7","S$b","L","M$6","R$6","k$8","H$5","I$6","L$b","s$7","_o","convertInputMaskBottomSvg","svg","convertInputMaskTopSvg","themeTag","darkModeTag","lightModeTag","initializeTheming","createRootStyles","setColorTheme","setThemeVariables","css","unsafeCSS","resetStyles","elementStyles","colorStyles","standardCustomElement","tagName","clazz","legacyCustomElement","customElement","classOrDescriptor","__decorate","decorators","WuiCard","LitElement","html","styles","allWalletsSvg","arrowBottomCircleSvg","appStoreSvg","appleSvg","arrowBottomSvg","arrowLeftSvg","arrowRightSvg","arrowTopSvg","browserSvg","checkmarkSvg","chevronBottomSvg","chevronLeftSvg","chevronRightSvg","chevronTopSvg","chromeStoreSvg","clockSvg","closeSvg","coinPlaceholderSvg","compassSvg","copySvg","addSvg","cursorSvg","desktopSvg","disconnectSvg","discordSvg","etherscanSvg","extensionSvg","externalLinkSvg","facebookSvg","filtersSvg","githubSvg","googleSvg","helpCircleSvg","infoCircleSvg","mailSvg","mobileSvg","networkPlaceholderSvg","nftPlaceholderSvg","offSvg","playStoreSvg","qrCodeIcon","refreshSvg","searchSvg","sendSvg","swapHorizontalSvg","swapHorizontalBoldSvg","swapHorizontalMediumSvg","swapHorizontalRoundedBoldSvg","swapVerticalSvg","telegramSvg","twitchSvg","twitterSvg","twitterIconSvg","verifySvg","verifyFilledSvg","walletPlaceholderSvg","walletSvg","walletConnectSvg","warningCircleSvg","recycleHorizontalSvg","bankSvg","cardSvg","plusSvg","cursorTransparentSvg","checkmarkBoldSvg","svgOptions","WuiIcon","WuiImage","WuiLoadingHexagon","WuiLoadingSpinner","WuiLoadingThumbnail","radius","radiusFactor","dashArrayStart","dashArrayEnd","dashOffset","WuiShimmer","i$8","WuiText","classes","classMap","daoSvg","defiSvg","defiAltSvg","ethSvg","layersSvg","lockSvg","loginSvg","networkSvg","nftSvg","nounSvg","profileSvg","systemSvg","coinbaseSvg","moonpaySvg","stripeSvg","paypalSvg","onrampCardSvg","pencilSvg","lightbulbSvg","WuiVisual","UiHelperUtil","spacing","charsStart","charsEnd","truncate","baseColor","rgbColor","masterBorderRadius","edge","gradientCircle","colors","tintedColor","bigint","rgb","tint","tintedR","tintedG","tintedB","character","theme","threshold","fixed","WuiFlex","WuiAvatar","cssColors","WuiIconBox","iconSize","isLg","isXl","bgMix","borderRadius","isGray","isOpaque","isColorChange","bgValueVariable","WuiAccountButton","ifDefined","networkElement","WuiWalletImage","TOTAL_IMAGES","WuiAllWalletsImage","isPlaceholders","walletName","TEXT_VARIANT_BY_SIZE","WuiButton","textVariant","networkSvgMd","WuiCardSelectLoader","networkSvgSm","networkSvgLg","WuiNetworkImage","networkImagesBySize","WuiCardSelect","WuiChip","WuiConnectButton","WuiCtaButton","WuiDetailsGroup","WuiDetailsGroupItem","f$7","h$9","WuiInputText","createRef","sizeClass","WuiEmailInput","WuiIconLink","WuiInputElement","WuiInputNumeric","WuiLink","WuiListItem","color","TransactionTypePastTense","WuiTransactionVisual","firstImage","secondImage","isLeftNFT","isRightNFT","leftRadius","rightRadius","firstImageType","icon","WuiTransactionListItem","WuiTransactionListItemLoader","WuiTag","WuiListWallet","WuiLogo","WuiLogoSelect","WuiNetworkButton","WuiOtp","inputElement","keyArr","currentCaretPos","nextIndex","numeric","numericElements","targetElement","inputValue","inputString","nextNumeric","nextInput","canPromise","toSJISFunction","CODEWORDS_COUNT","digit","utils$8","kanji","BitBuffer","BitBuffer$1","bufIndex","bitBuffer","BitMatrix","row","col","reserved","BitMatrix$1","bitMatrix","getSymbolSize","require$$0","posCount","intervals","coords","posLength","FINDER_PATTERN_SIZE","finderPattern","PenaltyScores","sameCountCol","sameCountRow","lastCol","lastRow","bitsCol","bitsRow","darkCount","modulesCount","getMaskAt","maskPattern","pattern","setupFormatFunc","numPatterns","bestPattern","lowerPenalty","penalty","ECLevel","EC_BLOCKS_TABLE","EC_CODEWORDS_TABLE","errorCorrectionCode","errorCorrectionLevel","EXP_TABLE","LOG_TABLE","galoisField","GF","coeff","divident","divisor","degree","poly","Polynomial","ReedSolomonEncoder","ReedSolomonEncoder$1","paddedData","buff","reedSolomonEncoder","versionCheck","alphanumeric","TEST_KANJI","TEST_NUMERIC","TEST_ALPHANUMERIC","VersionCheck","Regex","require$$1","dataStr","Utils","ECCode","require$$2","Mode","require$$3","require$$4","G18","G18_BCH","getBestVersionForDataLength","currentVersion","getReservedBitsCount","getTotalBitsFromDataArray","segments","totalBits","reservedBits","getBestVersionForMixedData","totalCodewords","ecTotalCodewords","dataTotalCodewordsBits","usableBits","seg","ecl","G15","G15_MASK","G15_BCH","formatInfo","NumericData","remainingNum","numericData","ALPHA_NUM_CHARS","AlphanumericData","alphanumericData","encodeUtf8","ByteData","byteData","KanjiData","kanjiData","dijkstra","graph","predecessors","open","closest","cost_of_s_to_u","adjacent_nodes","cost_of_e","cost_of_s_to_u_plus_cost_of_e","cost_of_s_to_v","first_visit","nodes","cost","require$$5","require$$6","require$$7","getStringByteLength","getSegments","getSegmentsFromString","numSegs","alphaNumSegs","byteSegs","kanjiSegs","s2","getSegmentBitsLength","mergeSegments","segs","prevSeg","buildNodes","buildGraph","prevNodeIds","nodeGroup","currentNodeIds","prevNodeId","buildSingleSegment","modesHint","bestMode","optimizedSegs","AlignmentPattern","FinderPattern","MaskPattern","require$$8","Version","require$$9","FormatInfo","require$$10","require$$11","Segments","require$$12","setupFinderPattern","matrix","setupTimingPattern","setupAlignmentPattern","setupVersionInfo","setupFormatInfo","setupData","inc","bitIndex","byteIndex","dark","createData","remainingByte","createCodewords","dataTotalCodewords","ecTotalBlocks","blocksInGroup2","blocksInGroup1","totalCodewordsInGroup1","dataCodewordsInGroup1","dataCodewordsInGroup2","ecCount","rs","dcData","ecData","maxDataSize","dataSize","createSymbol","estimatedVersion","rawSegments","bestVersion","dataBits","moduleCount","modules","qrcode","hex2rgba","hexCode","margin","scale","qrSize","imgData","qr","symbolSize","scaledMargin","palette","posDst","pxColor","iSrc","jSrc","clearCanvas","canvas","getCanvasElement","qrData","canvasEl","rendererOpts","getColorAttrib","attrib","alpha","svgCmd","cmd","qrToPath","moveBy","newRow","lineLength","svgTag","qrcodesize","bg","viewBox","QRCode","CanvasRenderer","SvgRenderer","renderCanvas","renderFunc","argsNum","isLastArgCb","CONNECTING_ERROR_MARGIN","CIRCLE_SIZE_MODIFIER","QRCODE_MATRIX_MARGIN","isAdjecentDots","cy","otherCy","cellSize","getMatrix","QRCodeUtil","sqrt","rows","QrCodeUtil","logoSize","dotColor","edgeColor","qrList","x1","y1","dotSize","clearArenaSize","matrixMiddleStart","matrixMiddleEnd","circles","cx","circlesToConnect","cys","newCys","WuiQrCode","WuiSearchBar","inputComponent","WuiSnackbar","WuiTabs","tab","isActive","initialAnimation","passiveBtn","activeBtn","passiveBtnText","activeBtnText","activeBtnBounds","activeBtnTextBounds","WuiTokenButton","WuiTooltip","WuiTooltipSelect","WuiTokenListItem","WuiVisualThumbnail","WuiNoticeCard","MAX_HEIGHT","WuiListAccordion","changedProperties","heightElement","textElement","scrollHeight","WuiListContent","WuiListNetwork","WuiListWalletTransaction","WuiOnRampActivityItem","WuiOnRampProviderItem","slicedNetworks","WuiPromo","WuiBalance","WuiProfileButton","WuiChipButton","WuiCompatibleNetwork","WuiBanner","WuiListToken","WuiListDescription","specialCharactersRegex","numbersRegex","WuiInputAmount","inputChar","WuiPreviewItem","WuiGrid","WuiSeparator","MathUtil","inputRange","outputRange","originalRangeMin","originalRangeMax","newRangeMin","newRangeMax","FLOAT_FIXED_VALUE","plusTypes","minusTypes","TransactionUtil","monthNumber","currentYear","monthName","transfers","secondTransfer","isAllNFT","haveMultipleTransfers","imageURL","isNFT","isFungible","haveTransfer","firstTransfer","firstDescription","secondDescription","W3mAccountButton","unsubscribe","networkImage","showBalance","W3mButton","W3mConnectButton","isLoading","SCROLL_LOCK","W3mModal","newAccountState","SIWEController","defaultThemeMode","styleTag","card","newCaipAddress","session","W3mNetworkButton","W3mRouter","height","newView","xOut","xIn","PAYMENT_CURRENCY_SYMBOLS","BUY_PRESET_AMOUNTS","W3mOnrampWidget","_p","SECURE_SITE_SDK","W3mFrameConstants","W3mFrameRpcConstants","zError","zType","z$a","AppSwitchNetworkRequest","AppConnectEmailRequest","AppConnectOtpRequest","AppGetUserRequest","AppUpdateEmailRequest","AppUpdateEmailPrimaryOtpRequest","AppUpdateEmailSecondaryOtpRequest","AppSyncThemeRequest","AppSyncDappDataRequest","AppSetPreferredAccountRequest","FrameConnectEmailResponse","FrameUpdateEmailResponse","FrameGetUserResponse","FrameIsConnectedResponse","FrameGetChainIdResponse","FrameSwitchNetworkResponse","FrameUpdateEmailSecondaryOtpResolver","FrameGetSmartAccountEnabledNetworksResponse","FrameSetPreferredAccountResponse","RpcResponse","RpcEthAccountsRequest","RpcEthBlockNumber","RpcEthCall","RpcEthChainId","RpcEthEstimateGas","RpcEthFeeHistory","RpcEthGasPrice","RpcEthGetAccount","RpcEthGetBalance","RpcEthGetBlockyByHash","RpcEthGetBlockByNumber","RpcEthGetBlockReceipts","RcpEthGetBlockTransactionCountByHash","RcpEthGetBlockTransactionCountByNumber","RpcEthGetCode","RpcEthGetFilter","RpcEthGetFilterLogs","RpcEthGetLogs","RpcEthGetProof","RpcEthGetStorageAt","RpcEthGetTransactionByBlockHashAndIndex","RpcEthGetTransactionByBlockNumberAndIndex","RpcEthGetTransactionByHash","RpcEthGetTransactionCount","RpcEthGetTransactionReceipt","RpcEthGetUncleCountByBlockHash","RpcEthGetUncleCountByBlockNumber","RpcEthMaxPriorityFeePerGas","RpcEthNewBlockFilter","RpcEthNewFilter","RpcEthNewPendingTransactionFilter","RpcEthSendRawTransaction","RpcEthSyncing","RpcUnistallFilter","RpcPersonalSignRequest","RpcEthSignTypedDataV4","RpcEthSendTransactionRequest","FrameSession","W3mFrameSchema","W3mFrameStorage","W3mFrameHelpers","RegexUtil","RESTRICTED_TIMEZONES","EMAIL_MINIMUM_TIMEOUT","lastEmailLoginTime","difference","cooldownSec","W3mFrame","isAppClient","frameEvent","appEvent","iframe","W3mFrameProvider","newEmail","email","W3mAccountSettingsView","isMultiNetwork","isValidNetwork","networkEnabled","smartAccountEnabled","accountTypeTarget","W3mAccountView","W3mAllWalletsView","isSearch","W3mBuyInProgressView","subLabel","borderRadiusMaster","PresetsUtil","HelpersUtil","caipTokens","W3mConnectView","featured","announcedRdns","featuredCount","rawCount","roundedCount","tagLabel","recommended","filteredInjected","overrideLength","maxRecommended","wallets","connectorRDNSs","recentRDNSs","allRDNSs","W3mConnectingWidget","retryButton","W3mConnectingExternalView","W3mConnectingWcView","wcPairingExpiry","recentWallet","mobile_link","desktop_link","webapp_link","injectedIds","injected_id","browserIds","isBrowser","isMobileWc","isWebWc","isBrowserInstalled","isBrowserWc","isDesktopWc","container","W3mDownloadsView","EXPLORER","W3mGetWalletView","W3mNetworkSwitchView","W3mNetworksView","supportsAllNetworks","sortedNetworks","LOADING_ITEM_COUNT","W3mOnRampActivityView","fungibleInfo","yearInt","groupTitle","today","W3mOnrampFiatSelectView","W3mOnRampProvidersView","urlPromises","assets","W3mOnrampTokensView","W3mConvertView","newCaipNetwork","isOpen","newRoute","myToken","ct","isNetworkToken","amountOfTokenGasRequires","toTokenConvertedAmount","haveNoTokenSelected","W3mConvertPreviewView","newBalanceSymbol","sourceTokenText","toTokenText","sourceTokenValue","toTokenValue","sentPrice","receivePrice","W3mConvertSelectTokenView","suggestedTokensContainer","tokensList","yourTokens","filteredYourTokens","filteredTokens","selected","W3mTransactionsView","W3mWhatIsANetworkView","W3mWhatIsAWalletView","W3mWhatIsABuyView","OTP_LENGTH","W3mEmailOtpWidget","isResendDisabled","footerLabels","W3mEmailVerifyOtpView","otp","W3mEmailVerifyDeviceView","PAGE_HEIGHT","PAGE_WIDTH","HEADER_HEIGHT","W3mApproveTransactionView","isMobile","W3mUpgradeWalletView","W3mUpgradeToSmartAccountView","W3mUpdateEmailWalletView","showSubmit","W3mUpdateEmailPrimaryOtpView","W3mUpdateEmailSecondaryOtpView","W3mUnsupportedChainView","W3mWalletReceiveView","isNetworkEnabledForSmartAccounts","imagesArray","W3mWalletCompatibleNetworksView","W3mWalletSendView","W3mSendSelectTokenView","W3mWalletSendPreviewView","totalValue","markWalletsAsInstalled","installedConnectors","acum","PAGINATOR_ID","W3mAllWalletsList","gridEl","columns","currentWallets","shimmerCount","loaderEl","W3mAllWalletsSearch","W3mConnectingHeader","tabs","W3mConnectingWcBrowser","announcedConnector","injectedConnector","W3mConnectingWcDesktop","redirect","W3mConnectingWcMobile","isIos","W3mConnectingWcQrcode","alt","inactive","W3mConnectingWcUnsupported","W3mConnectingWcWeb","WuiConvertDetails","MINIMUM_USD_VALUE_TO_CONVERT","W3mConvertInput","marketValue","isMarketValueGreaterThanZero","allowedKeys","isComma","isDot","currentValue","tokenElement","balanceValueInUSD","haveBalance","headings","connectorName","W3mHeader","isConnectHelp","shouldHideBack","headingEl","preset","buttonEl","W3mHelpWidget","W3mInputCurrency","W3mLegalFooter","W3mMobileDownloadLinks","app_store","play_store","chrome_store","homepage","isAndroid","isMultiple","shortName","W3mOnRampProvidersFooter","presets","W3mSnackBar","variant","W3mEmailLoginWidget","multipleConnectors","parsedError","W3mAccountDefaultWidget","origin","addressExplorerUrl","W3mAccountWalletFeaturesWidget","W3mAccountActivityWidget","W3mAccountNftsWidget","W3mAccountTokensWidget","W3mActivityList","sortedYearKeys","isLastGroup","isLastTransaction","descriptions","isLastTransfer","lastItem","W3mInputToken","W3mInputAddress","focus","W3mWalletSendDetails","isInitialized","Web3ModalScaffold","route","index$4","index$3","modal","ReflectApply","ReflectOwnKeys","ProcessEmitWarning","warning","NumberIsNaN","eventsModule","eventsExports","defaultMaxListeners","checkListener","_getMaxListeners","that","doError","arrayClone","_addListener","prepend","onceWrapper","_onceWrap","originalListener","spliceOne","unwrap","evlistener","unwrapListeners","listenerCount","errorListener","eventTargetAgnosticAddListener","addErrorHandlerIfEventEmitter","flags","wrapListener","imulShim","ah","bh","isIntegerShim","binary","int_1","readInt16BE","readUint16BE","readInt16LE","readUint16LE","writeUint16BE","writeUint16LE","readInt32BE","readUint32BE","readInt32LE","readUint32LE","writeUint32BE","writeUint32LE","readInt64BE","readUint64BE","readInt64LE","readUint64LE","writeUint64BE","writeUint64LE","readUintBE","readUintLE","writeUintBE","writeUintLE","readFloat32BE","readFloat32LE","readFloat64BE","readFloat64LE","writeFloat32BE","writeFloat32LE","writeFloat64BE","writeFloat64LE","wipe_1","wipe","wipe$1","chacha","binary_1","ROUNDS","core","j0","j1","j2","j3","j4","j5","j6","j7","j8","j9","j10","j11","j12","j13","j14","j15","x0","x4","x5","x6","x7","x8","x9","streamXOR","nonceInplaceCounterLength","nc","counterLength","incrementCounter","stream","counter","constantTime","select","subject","resultIfOne","resultIfZero","lessOrEqual","equal","constant_time_1","Poly1305","t6","t7","mpos","hibit","h5","h6","h7","h8","h9","r0","r1","r2","r3","r4","r5","r6","r7","r8","r9","d3","d4","d5","d6","d7","d8","d9","macpos","want","oneTimeAuth","chacha_1","poly1305_1","ZEROS","ChaCha20Poly1305","associatedData","authKey","resultLength","sealed","calculatedTag","tagOut","isSerializableHash","hash$3","hmac_1","hash_1","savedState","hmac$2","hkdf","HKDF","okm","ctr","HKDF_1","QUOTA","BrowserRandomSource","browserCrypto","browser$h","copyProps","SafeBuffer","MAX_BYTES","MAX_UINT32","oldBrowser","browserModule","generated","inherits_browserModule","ctor","superCtor","TempCtor","streamBrowser","shams","symObj","symVal","syms","hasSymbols","esErrors","_eval","syntax","origSymbol","hasSymbolSham","test","$Object","hasProto","ERROR_MESSAGE","funcType","concatty","slicy","arrLike","joiny","joiner","implementation","bound","binder","boundLength","boundArgs","functionBind","call","$hasOwn","hasown","undefined","$Error","$EvalError","$RangeError","$ReferenceError","$SyntaxError","$TypeError","$URIError","$Function","getEvalledConstructor","expressionSyntax","$gOPD","throwTypeError","ThrowTypeError","getProto","needsEval","INTRINSICS","errorProto","doEval","LEGACY_ALIASES","hasOwn","$concat","$spliceApply","$replace","$strSlice","$exec","rePropName","reEscapeChar","stringToPath","subString","getBaseIntrinsic","allowMissing","intrinsicName","alias","getIntrinsic","intrinsicBaseName","intrinsic","intrinsicRealName","skipFurtherCaching","isOwn","part","GetIntrinsic","$defineProperty","esDefineProperty","gopd","defineDataProperty","nonEnumerable","nonWritable","nonConfigurable","hasPropertyDescriptors","hasPropertyDescriptors_1","hasDescriptors","gOPD","$floor","setFunctionLength","functionLengthIsConfigurable","functionLengthIsWritable","$apply","$call","$reflectApply","$max","originalFunction","applyBind","callBind","$indexOf","callBound","hasToStringTag","$toString","isStandardArguments","isLegacyArguments","supportsStandardArguments","isArguments","fnToStr","isFnRegex","getGeneratorFunc","GeneratorFunction","isGeneratorFunction","generatorFunc","reflectApply","badArrayLike","isCallableMarker","constructorRegex","isES6ClassFn","fnStr","tryFunctionObject","objectClass","fnClass","genClass","ddaClass","ddaClass2","ddaClass3","isIE68","isDDA","isCallable","strClass","forEachArray","forEachString","forEachObject","forEach_1","possibleTypedArrayNames","possibleNames","availableTypedArrays","typedArrays","$slice","typedArray","superProto","tryTypedArrays","trySlices","whichTypedArray","isArgumentsObject","uncurryThis","BigIntSupported","SymbolSupported","ObjectToString","numberValue","stringValue","booleanValue","bigIntValue","symbolValue","checkBoxedPrimitive","prototypeValueOf","isDataView","isUint8ClampedArray","isUint16Array","isUint32Array","isInt8Array","isInt16Array","isInt32Array","isFloat32Array","isFloat64Array","isBigInt64Array","isBigUint64Array","isMapToString","isMap","isSetToString","isSet","isWeakMapToString","isWeakMap","isWeakSetToString","isWeakSet","isArrayBufferToString","isDataViewToString","SharedArrayBufferCopy","isSharedArrayBufferToString","isSharedArrayBuffer","isAsyncFunction","isMapIterator","isSetIterator","isGeneratorObject","isWebAssemblyCompiledModule","isNumberObject","isStringObject","isBooleanObject","isBigIntObject","isSymbolObject","isBoxedPrimitive","isAnyArrayBuffer","getOwnPropertyDescriptors","formatRegExp","objects","inspect","isNull","warned","deprecated","debugs","debugEnvRegex","debugEnv","pid","stylizeNoColor","stylizeWithColor","formatValue","styleType","style","arrayToHash","recurseTimes","primitive","formatPrimitive","visibleKeys","formatError","braces","formatArray","formatProperty","reduceToSingleString","simple","isNullOrUndefined","isSymbol","re","objectToString","isPrimitive","months","time","kCustomPromisifiedSymbol","original","promiseResolve","promiseReject","callbackifyOnRejected","newReason","callbackify","callbackified","maybeCb","rej","ownKeys","enumerableOnly","_objectSpread","_defineProperty","_toPropertyKey","_classCallCheck","Constructor","_defineProperties","_createClass","protoProps","staticProps","_toPrimitive","hint","prim","_require","_require2","copyBuffer","buffer_list","BufferList","hasStrings","nb","destroy","readableDestroyed","writableDestroyed","emitErrorNT","emitCloseNT","emitErrorAndCloseNT","undestroy","errorOrDestroy","rState","wState","destroy_1","_inheritsLoose","subClass","superClass","codes","createErrorType","NodeError","_Base","oneOf","startsWith","this_len","includes","determiner","errorsBrowser","ERR_INVALID_OPT_VALUE","highWaterMarkFrom","isDuplex","duplexKey","getHighWaterMark","hwm","deprecate","_stream_writable","Writable","CorkedRequest","onCorkedFinish","Duplex","WritableState","internalUtil","Stream","OurUint8Array","_uint8ArrayToBuffer","chunk","_isUint8Array","destroyImpl","_require$codes","ERR_INVALID_ARG_TYPE","ERR_METHOD_NOT_IMPLEMENTED","ERR_MULTIPLE_CALLBACK","ERR_STREAM_CANNOT_PIPE","ERR_STREAM_DESTROYED","ERR_STREAM_NULL_VALUES","ERR_STREAM_WRITE_AFTER_END","ERR_UNKNOWN_ENCODING","nop","noDecode","onwrite","realHasInstance","writeAfterEnd","validChunk","isBuf","writeOrBuffer","clearBuffer","decodeChunk","newChunk","doWrite","writev","onwriteError","sync","finishMaybe","onwriteStateUpdate","needFinish","afterWrite","onwriteDrain","holder","allBuffers","endWritable","callFinal","prefinish","need","corkReq","objectKeys","_stream_duplex","Readable","onend","onEndNT","isEncoding","_normalizeEncoding","enc","retried","normalizeEncoding","nenc","string_decoder","StringDecoder","utf16Text","utf16End","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","utf8End","utf8Text","utf8CheckByte","utf8CheckIncomplete","utf8CheckExtraBytes","ERR_STREAM_PREMATURE_CLOSE","called","_len","isRequest","readable","writable","onlegacyfinish","onfinish","writableEnded","readableEnded","onerror","onclose","onrequest","endOfStream","_Object$setPrototypeO","kLastResolve","kLastReject","kError","kEnded","kLastPromise","kHandlePromise","kStream","createIterResult","readAndResolve","iter","onReadable","wrapForNext","lastPromise","AsyncIteratorPrototype","ReadableStreamAsyncIteratorPrototype","_this2","createReadableStreamAsyncIterator","_Object$create","async_iterator","fromBrowser","_stream_readable","ReadableState","EElistenerCount","debugUtil","debug","ERR_STREAM_PUSH_AFTER_EOF","ERR_STREAM_UNSHIFT_AFTER_END_EVENT","kProxyEvents","prependListener","skipChunkCheck","readableAddChunk","addToFront","onEofChunk","chunkInvalid","addChunk","maybeReadMore","emitReadable","decoder","MAX_HWM","computeNewHighWaterMark","howMuchToRead","nOrig","endReadable","doRead","fromList","emitReadable_","flow","maybeReadMore_","dest","pipeOpts","doEnd","endFn","unpipe","onunpipe","unpipeInfo","cleanup","ondrain","pipeOnDrain","cleanedUp","ondata","indexOf","dests","ev","nReadingNextTick","updateReadableListening","resume","resume_","paused","endReadableNT","iterable","xs","_stream_transform","Transform","ERR_TRANSFORM_ALREADY_TRANSFORMING","ERR_TRANSFORM_WITH_LENGTH_0","afterTransform","err2","_stream_passthrough","PassThrough","ERR_MISSING_ARGS","destroyer","reading","writing","closed","pipe","popCallback","streams","pipeline","destroys","pipeline_1","throwIfNotStringOrBuffer","HashBase","hashBase","ARRAY16","MD5","fnF","fnG","fnH","fnI","md5_js","zl","zr","hl","hr","fn1","fn5","fn2","fn4","fn3","finalSize","assigned","lowBits","highBits","K","Sha","rotl5","rotl30","ft","sha","Sha1","rotl1","sha1","Sha256","maj","sigma0","gamma0","gamma1","Sha224","sha224","Sha512","xl","Gamma0","Gamma0l","Gamma1","Gamma1l","getCarry","dh","eh","fh","gh","hh","fl","gl","xh","gamma0l","gamma1l","Wi7h","Wi7l","Wi16h","Wi16l","Wil","Wih","majh","majl","Kih","Kil","chh","chl","t1l","t1h","t2l","t2h","writeInt64BE","Sha384","sha384","sha_jsModule","Algorithm","streamBrowserify","didOnEnd","CipherBase","hashMode","inputEnc","outputEnc","outData","fin","cipherBase","alg","blocksize","Hmac","ipad","opad","md5","Legacy","MAX_ALLOC","precondition","defaultEncoding","pVersionMajor","defaultEncoding_1","toBuffer","checkParameters","sizes","saltLen","getDigest","ipad1","shaFunc","rmd160Func","block1","destPos","hLen","U","syncBrowser","ZERO_BUF","subtle","toBrowser","checks","checkNative","prom","browserPbkdf2","getNextTick","async","off","inL","inR","outL","outR","pc2table","sTable","sb","permuteTable","minimalisticAssert","Cipher","cipher","inputOff","outputOff","DESState","DES","des","shiftTable","kL","kR","inp","inOff","outOff","lStart","rStart","keyL","keyR","CBCState","instantiate","cbc","EDEState","k3","EDE","ede","modes","browserifyDes","modeName","ecb","bufferXor","xor","encryptStart","cfb","encryptByte","byteParam","cfb8","shiftIn","cfb1","getBlock","ofb","incr32","incr32_1","chunkNum","modeModules","modes_1","asUInt32Array","scrubVec","cryptBlock","keySchedule","SUB_MIX","SBOX","nRounds","SUB_MIX0","SUB_MIX1","SUB_MIX2","SUB_MIX3","s3","ksRow","RCON","INV_SBOX","INV_SUB_MIX","sx","keyWords","keySize","ksRows","invKeySchedule","ksR","m1","aes","ZEROES","fromArray","GHASH","Vi","Zi","lsbVi","abl","ghash","xorTest","calcIv","ck","toPad","ivBits","StreamCipher","rump","authCipher","streamCipher","EVP_BytesToKey","keyBits","ivLen","keyLen","used","keyStart","ivStart","evp_bytestokey","MODES","AuthCipher","ebtk","Splitter","PADDING","setTo","padBuff","createCipheriv","suite","createCipher","encrypter","Decipher","unpad","autoPadding","createDecipheriv","createDecipher","decrypter","ciphers","deciphers","getCiphers","aesModes","desModes","BN","endian","parseHex4Bits","parseHexByte","lowerBound","parseLength","parseBase","limbLen","limbPow","groupSizes","groupBases","groupSize","groupBase","ArrayType","reqLength","toBitArray","wbit","bytesNeeded","bitsLeft","smallMulTo","ncarry","rword","maxJ","comb10MulTo","a0","al0","ah0","al1","ah1","al2","ah2","al3","ah3","al4","ah4","al5","ah5","a6","al6","ah6","a7","al7","ah7","a8","al8","ah8","a9","al9","ah9","b0","bl0","bh0","bl1","bh1","bl2","bh2","bl3","bh3","b4","bl4","bh4","b5","bl5","bh5","bl6","bh6","b7","bl7","bh7","b8","bl8","bh8","bl9","bh9","w0","w1","w2","w3","w4","w5","w6","w7","w8","w9","w10","w11","w12","w13","w14","w15","w16","w17","w18","bigMulTo","hncarry","jumboMulTo","fftm","FFTM","rb","rbt","rws","iws","rtws","itws","rtwdf","itwdf","rtwdf_","itwdf_","ie","ro","io","rx","odd","ws","ph","rwst","iwst","nrws","nrwst","niwst","rmws","carryMask","newCarry","extended","maskedWords","bhi","bhiBits","qj","positive","dm","yp","xp","im","jm","Red","primes","MPrime","rlen","K256","P224","P192","P25519","prime","mod3","one","nOne","lpow","inv","wnd","currentLen","Mont","brorandModule","Rand","brorand","bn","MillerRabin","mr","min_bytes","red","rone","rn1","generatePrime","findPrime","simpleSieve","fermatTest","TWENTYFOUR","millerRabin","TWO","FIVE","TEN","THREE","ELEVEN","FOUR","_getPrimes","SEVEN","DH","setPublicKey","setPrivateKey","priv","primeCache","checkPrime","generator","malleable","secret","front","formatReturnValue","getDiffieHellman","ENCODINGS","createDiffieHellman","genc","move","allocate","postfix","isNegNum","blind","getr","blinder","crt","blinds","blinded","qinv","m2","browserifyRsa","zero2","minAssert","minUtils","getNAF","naf","getJSF","jsf","m8","m14","m24","cachedProperty","computer","parseBytes","intFromLE","BaseCurve","conf","adjustCount","doubles","repr","nafW","nafPoints","defW","coeffs","jacobianResult","wndWidth","comb","ja","jb","zero","BasePoint","compact","precomputed","dbl","ShortCurve","short","beta","lambda","betas","lambdas","basis","vec","tinv","ntinv","l1","l2","aprxSqrt","prevR","len1","v1","v2","q1","q2","npoints","ncoeffs","isRed","pre","endoMul","obj2point","nx","ny","ys1","dyinv","_precompute","negate","JPoint","zinv","zinv2","pz2","z2","nz","jx","jy","jz","jz4","jyd","jx2","jyd2","jyd4","dny","xx","yy","yyyy","yyyy8","c8","gamma","beta4","beta8","ggamma8","jy2","jxd4","jyd8","mm","yyu4","kbase","z3","pz3","MontCurve","mont","aa","bb","da","EdwardsCurve","edwards","nt","zi","isSurrogatePair","htonl","toHex32","zero8","join32","split32","rotr32","rotl32","sum32","sum32_3","sum32_4","sum32_5","sum64","sum64_hi","sum64_lo","sum64_4_hi","sum64_4_lo","sum64_5_hi","sum64_5_lo","rotr64_hi","rotr64_lo","shr64_hi","shr64_lo","BlockHash","common","ft_1","ch32","p32","maj32","s0_256","s1_256","g0_256","g1_256","shaCommon","sha1_K","SHA1","_1","sha256_K","_256","SHA224","_224","sha512_K","_512","c0_hi","g1_512_hi","c0_lo","g1_512_lo","c1_hi","c1_lo","c2_hi","g0_512_hi","c2_lo","g0_512_lo","c3_hi","c3_lo","s1_512_hi","s1_512_lo","ch64_hi","ch64_lo","c4_hi","c4_lo","T1_hi","T1_lo","s0_512_hi","s0_512_lo","maj64_hi","maj64_lo","T2_hi","T2_lo","yh","yl","zh","SHA384","_384","ripemd","rh","Kh","sh","curves","PresetCurve","defineCurve","HmacDRBG","pers","hmacDrbg","kmac","entropyEnc","addEnc","KeyPair","ec","Position","getLength","octetLen","rmPadding","slen","constructLength","octets","backHalf","EC","drbg","ns2","truncOnly","bkey","ns1","kp","kpX","recoveryParam","sinv","isSecondKey","rInv","Qprime","eddsa","lastIx","EDDSA","Rencoded","s_","SG","RplusAh","normed","xIsOdd","elliptic","safer","Safer","safer_1","Reporter","reporter","ReporterError","inherited","elem","DecoderBuffer","save","fail","EncoderBuffer","tags","methods","overrided","Node","stateProps","cstate","children","newKey","present","prevKey","prevObj","explicit","entity","reverse","der","DEREncoder","DERNode","der_1","encodedTag","encodeTag","lenOctets","relative","ident","objid","two","numArray","dataBuffer","PEMEncoder","pem","encoders","bignum","DERDecoder","any","decodedTag","derDecodeTag","derDecodeLen","possibleEnd","unused","raw","numstr","printstr","identifiers","subident","mon","day","hour","sec","oct","tagStr","PEMDecoder","lines","decoders","Entity","Generated","asn1","asn","Time","AttributeTypeValue","AlgorithmIdentifier","SubjectPublicKeyInfo","RelativeDistinguishedName","RDNSequence","Name","Validity","Extension","TBSCertificate","X509Certificate","certificate","asn1_1","RSAPrivateKey","RSAPublicKey","PublicKey","PrivateKeyInfo","EncryptedPrivateKeyInfo","DSAPrivateKey","ECPrivateKey","ECParameters","findProc","startRegex","fullRegex","evp","fixProc","okey","decrypted","cipherText","cipherKey","match2","aesid","compat","parseAsn1","parseKeys","stripped","ndata","RSA_PKCS1_PADDING","hashType","signType","ecSign","dsaSign","curveId","kv","getKey","makeKey","makeR","toDER","hlen","hbits","bits2octets","obits","signModule","sign_1","ecVerify","dsaVerify","padNum","unpacked","montp","verify_1","algorithms","Sign","Verify","sigBuffer","createSign","createVerify","ECDH","aliases","inenc","otherPub","_priv","mgf","i2ops","withPublic","paddedMsg","withPublic_1","publicEncrypt","oaep","pkcs1","hLen2","ps","dblen","maskedDb","maskedSeed","nonZero","privateDecrypt","zBuffer","db","dif","safeBuffer","randombytes","kBufferMaxLength","kMaxUint32","assertOffset","randomFill","randomFillSync","actualFill","ourBuf","uint","cryptoBrowserify","algos","algoKeys","hashes","rf","NodeRandomSource","require","nodeCrypto","node$1","system","browser_1","node_1","SystemRandomSource","system_1","prng","randomUint32","ALPHANUMERIC","randomString","charset","charsLen","maxByte","randomByte","randomStringForEntropy","dataPos","hashBlocks","bytesHashed","bitLenHi","bitLenLo","padLength","random_1","gf","_9","_121665","car25519","sel25519","pack25519","unpack25519","t8","t9","t10","t11","t12","t13","t14","t15","t16","t17","t18","t19","t20","t21","t22","t23","t24","t25","t26","t27","t28","t29","t30","b10","b12","b13","b14","b15","square","inv25519","scalarMult","x32","x16","scalarMultBase","generateKeyPairFromSeed","secretKey","generateKeyPair","sharedKey","mySecretKey","theirPublicKey","rejectZero","asUint8Array","BASE_MAP","LEADER","FACTOR","iFACTOR","zeroes","pbegin","pend","b58","it1","it2","decodeUnsafe","psz","b256","it3","it4","vch","_brrp__multiformats_scope_baseX","coerce","Encoder","baseEncode","Decoder","baseDecode","or","ComposedDecoder","Codec","baseX","basex","bitsPerChar","written","rfc4648","identity","base2","base8","base10","base16","base16upper","base32","base32upper","base32pad","base32padupper","base32hex","base32hexupper","base32hexpad","base32hexpadupper","base32z","base36upper","base58btc","base58flickr","base64pad","base64url","base64urlpad","alphabetBytesToChars","alphabetCharsToBytes","byts","byt","base256emoji","bases","identityBase","base58","createCodec","ascii","BASES","__spreadArray","BrowserInfo","os","NodeInfo","SearchBotDeviceInfo","bot","BotInfo","ReactNativeInfo","SEARCHBOX_UA_REGEX","SEARCHBOT_OS_REGEX","REQUIRED_VERSION_PARTS","userAgentRules","operatingSystemRules","detect","parseUserAgent","getNodeVersion","matchUserAgent","matched","uaMatch","matchedRule","versionParts","createVersionParts","detectOS","searchBotMatch","isNode","__extends","__assign","__rest","__param","__metadata","__awaiter","__generator","__exportStar","__values","__read","__spread","__spreadArrays","__await","__asyncGenerator","__asyncDelegator","__asyncValues","__makeTemplateObject","__importStar","__importDefault","__createBinding","factory","createExporter","previous","exporter","extendStatics","__","paramIndex","decorator","metadataKey","metadataValue","_arguments","adopt","verb","il","jl","fulfill","cooked","privateMap","delay_1","misc","tslib_1","convert","constants_1","toMiliseconds","seconds","fromMiliseconds","miliseconds","watch","Watch","elapsed","IWatch","cjs","cjs$4","getLocation_1","getNavigator_1","getDocument_1","getFromWindow","getFromWindowOrThrow","getDocumentOrThrow","getDocument","getNavigatorOrThrow","getNavigator","getLocationOrThrow","getLocation","getCryptoOrThrow","getCrypto","getLocalStorageOrThrow","getLocalStorage","getWindowMetadata_1","window_getters_1","getWindowMetadata","doc","loc","getIcons","rel","absoluteHref","finalPath","absoluteUrl","getWindowMetadataOfAny","metaTags","attributes","attr","getName","getDescription","strictUriEncode","singleMatcher","multiMatcher","decodeComponents","customDecodeURIComponent","replaceMap","decodeUriComponent","encodedURI","splitOnFirst","separatorIndex","filterObj","predicate","isArr","decodeComponent","filterObject","encodeFragmentIdentifier","encoderForArrayFormat","keyValueSep","parserForArrayFormat","accumulator","isEncodedArray","validateArrayFormatSeparator","keysSorter","removeHash","hashStart","extract","queryStart","parseValue","parse","formatter","shouldFilter","objectCopy","url_","queryFromUrl","parsedQueryFromUrl","queryString","fragmentIdentifier","exclusionFilter","ve","Un","J","Dn","Te","X","kn","fe.generateKeyPair","Vn","Mn","fe.sharedKey","On","Sn","Kn","de","Ln","Pe","xn","ue","Re","Fn","pe","Hn","Ae","qn","Bn","Ue","Gn","Wn","$e","Ce","De","te","Jn","ke","M.parse","M.stringify","Qn","Tn","Ve","wn","Me","he","Ke","Xn","ot","at","lt","pt","In","mt","yt","gt","ht","He","vt","Et","Pn","bt","Nt","Ot","qe","St","wt","Be","It","Tt","Ge","Pt","We","ze","Rt","Qe","Ze","Xe","oe","en","nn","tn","Mt","rn","Kt","Lt","xt","Ft","on","sn","cn","an","un","ce","Ht","ln","dn","qt","Bt","Gt","Wt","zt","Yt","Jt","Qt","Zt","Xt","nr","pn","mn","yn","gn","hn","vn","ae","sr$4","suspectProtoRx","suspectConstructorRx","JsonSigRx","jsonParseTransform","warnKeyDropped","destr","_lval","wrapToPromise","asyncCall","function_","arguments_","isPureObject","checkBufferSupport","BASE64_PREFIX","serializeRaw","deserializeRaw","normalizeKey","joinKeys","normalizeBaseKey","defineDriver","DRIVER_NAME","memory","createStorage","getMount","getMounts","includeParent","mountpoint","onChange","startWatch","stopWatch","runBatch","commonOptions","batches","getBatch","mount","isStringItem","options2","storage","relativeKey","driver","meta","value_","mounts","maskedMounts","allKeys","dispose","unwatcher","_dispose","promisifyRequest","createStore","dbName","storeName","dbp","txMode","defaultGetStoreFunc","defaultGetStore","get","customStore","store","del","clear","eachCursor","JSONStringify","JSONParse","numbersBiggerThanMaxInt","serializedData","safeJsonParse","safeJsonStringify","_$8","K$8","h$8","IEvents$1","heartbeat","events_1","IHeartBeat","time_1","types_1","HeartBeat","tryStringify","quickFormatUnescaped","ss","argLen","lastPos","flen","pino","_console","pfGlobalThisOrFallback","stdSerializers","mock","passthrough","asErrValue","shouldSerialize","serialize","serializers","transmit","stdErrSerialize","levels","logger","getLevelVal","getLevel","setLevel","setOpts","getTimeFunction","createLogEventShape","bindings","childOptions","childOptionsSerializers","childSerializers","childSerialize","applySerializers","Child","nullTime","epochTime","unixTime","isoTime","write","asObject","transmitLevel","transmitValue","methodValue","argsCloned","lvl","methodLevel","defd","O$5","d$8","L$9","m$7","n$8","h$7","a$7","u$7","g$9","d$7","E$6","y$7","v$9","b$6","w$7","th","sha512_1","gf0","gf1","D2","Y","set25519","verify32","neq25519","par25519","pow2523","edadd","cswap","ty","scalarmult","scalarbase","extractPublicKeyFromSecretKey","modL","reduce","hs","unpackneg","chk","den","den2","den4","den6","convertPublicKeyToX25519","convertSecretKeyToX25519","JWT_IRIDIUM_ALG","JWT_IRIDIUM_TYP","JWT_DELIMITER","JWT_ENCODING","JSON_ENCODING","DATA_ENCODING","DID_DELIMITER","DID_PREFIX","DID_METHOD","MULTICODEC_ED25519_ENCODING","MULTICODEC_ED25519_BASE","MULTICODEC_ED25519_HEADER","KEY_PAIR_SEED_LENGTH","encodeJSON","encodeIss","multicodec","encodeSig","encodeData","encodeJWT","ed25519.generateKeyPairFromSeed","signJWT","aud","ttl","keyPair","iat","ed25519.sign","PARSE_ERROR","INVALID_REQUEST","METHOD_NOT_FOUND","INVALID_PARAMS","INTERNAL_ERROR","SERVER_ERROR","RESERVED_ERROR_CODES","STANDARD_ERROR_MAP","DEFAULT_ERROR","isReservedErrorCode","getError","getErrorByCode","parseConnectionError","getBrowerCrypto","getSubtleCrypto","isBrowserCryptoAvailable","env","isReactNative","payloadId","extra","getBigIntRpcId","formatJsonRpcRequest","formatJsonRpcResult","formatJsonRpcError","formatErrorMessage","IEvents","IBaseJsonRpcProvider","IJsonRpcProvider","connection","HTTP_REGEX","WS_REGEX","getUrlProtocol","matchRegexProtocol","isHttpUrl","isWsUrl","isLocalhostUrl","isJsonRpcPayload","isJsonRpcRequest","isJsonRpcResponse","isJsonRpcResult","isJsonRpcError","f$5","LARGE_ARRAY_SIZE","HASH_UNDEFINED","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","argsTag","arrayTag","asyncTag","boolTag","dateTag","errorTag","funcTag","genTag","mapTag","numberTag","nullTag","objectTag","promiseTag","proxyTag","regexpTag","setTag","stringTag","symbolTag","undefinedTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","reRegExpChar","reIsHostCtor","reIsUint","typedArrayTags","freeGlobal","freeSelf","freeExports","freeModule","moduleExports","freeProcess","nodeUtil","nodeIsTypedArray","arrayFilter","resIndex","arrayPush","arraySome","baseTimes","iteratee","baseUnary","cacheHas","mapToArray","overArg","setToArray","arrayProto","funcProto","objectProto","coreJsData","funcToString","maskSrcKey","uid","nativeObjectToString","reIsNative","Symbol","Uint8Array","propertyIsEnumerable","splice","symToStringTag","nativeGetSymbols","nativeIsBuffer","nativeKeys","DataView","getNative","Map","Promise","Set","WeakMap","nativeCreate","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","hashClear","hashDelete","hashGet","hashHas","hashSet","ListCache","listCacheClear","listCacheDelete","assocIndexOf","listCacheGet","listCacheHas","listCacheSet","MapCache","mapCacheClear","mapCacheDelete","getMapData","mapCacheGet","mapCacheHas","mapCacheSet","SetCache","setCacheAdd","setCacheHas","Stack","stackClear","stackDelete","stackGet","stackHas","stackSet","arrayLikeKeys","isArg","isBuff","isType","skipIndexes","isIndex","eq","baseGetAllKeys","keysFunc","symbolsFunc","baseGetTag","getRawTag","baseIsArguments","isObjectLike","baseIsEqual","bitmask","customizer","baseIsEqualDeep","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","equalArrays","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","equalObjects","baseIsNative","isMasked","baseIsTypedArray","isLength","baseKeys","isPrototype","isPartial","othLength","stacked","seen","arrValue","othValue","compared","othIndex","objProps","getAllKeys","objLength","othProps","skipCtor","objValue","objCtor","othCtor","getSymbols","isKeyable","unmasked","stubArray","Ctor","ctorString","isArrayLike","stubFalse","isEqual","unfetch_module","Hi","Ji","Xi","Ne","Wi","Qi","Zi$2","ts$3","is$4","es","ns","as","cs","us","ls","ds","Ds","bs","fs","Es","vs","Is","Cs","Rs","Ts","Ss","Ps","Os","As","Ns","Us","Ls","Le","$s","Fs","Ms","ks","Ks","Bs","Vs","Fe","qs","js","Gs","Ys","Hs","Js","Xs","Ws","Qs","Zs","or$3","ar$3","ur","je","lr","pr","Ye","Dr","Je","yr","et","it","Fi","Dt","Ct","_t","Pt$2","be","fe","xt$2","Y.generateKeyPair","Y.encodeIss","li","Y.signJWT","di","gi","ci","Ee","Di","yi","mi","we","bi","$i","fi","Ot$3","se","vr$1","ei","Mi","Bi","Cr","Rr","At","Tr","Sr","Nt$2","Ir","Ei","Pr","Ut","xr","Or","Ar","vr","wi","ji","vi","Oe","Ii","Nr","Ur","kt","Kt$3","si","Ci","Ri","Gi","Bt$3","Se","Ie","qi","Oi","ri","qt$3","Ai","jt$3","Ni","Ui","Li","Gt$3","ai","Yi","Lr","$r","Fr","te$3","Vt","$t","jt","Mr","ds$2","us$2","ge$4","gs$2","__self__","support","viewClasses","normalizeName","iteratorFor","Headers","oldValue","consumed","fileReaderReady","readBlobAsArrayBuffer","readBlobAsText","readArrayBufferAsText","bufferClone","Body","normalizeMethod","upcased","Request","preProcessedHeaders","Response","bodyInit","redirectStatuses","fetch","xhr","abortXhr","DEFAULT_FETCH_OPTS","EVENT_EMITTER_MAX_LISTENERS_DEFAULT","HttpConnection","disableProviderPing","currentMaxListeners","Ia","Fg","Mg","qg","xa","Bg","En","Da","Ha","Na","$a","Ua","Wa","Fa","Nn","Ma","qa","Ba","Ga","za","Ka","Ya","Za","Ja","gr","wr","Xa","Qa","Va","ka","no","eo","so","Er","uo","ao","oo","fo","co","ho","po","go","vo","mo","wo","Po","Ao","Co","Io","xo","Eo","yo","So","Oo","Ro","bo","To","Lo","Do","Ho","No","$o","Uo","Wo","Fo","Mo","qo","Bo","Go","zo","Ko","Yo","Zo","Jo","Xo","Qo","Vo","ko","jo","jn","Hr","tf","vf","sf","Wr","uf","af","of","ff","cf","hf","lf","pf","df","wf","Pf","mf","Af","Cf","Br","If","xf","Ef","yf","Sf","Of","Rf","bf","Tf","Gr","Lf","Df","Hf","Nf","$f","Uf","Wf","Ff","Mf","qf","Bf","Fu","Gf","zf","Kf","ou","Yf","Zf","Jf","Xf","Qf","Vf","kf","jf","tc","rc","ic","sc","uc","ac","oc","Rn","fc","hc","lc","pc","Zn","dc","gc","Yr","zn","vc","Zr","An","hu","bu","Jc","Zc","uh","sa","ra","mc","vu","$n","Xr","wc","Pc","oh","Jr","_u","Qr","Ac","Cc","Ic","Vr","Hu","Ec","Sc","Su","nh","Oc","kr","Rc","bc","Tc","ma","jr","Lc","Lu","Tu","Dc","lu","oa","nu","tu","Yc","Hc","eu","Nc","ru","$c","Du","Uc","Wc","iu","Fc","Mc","Cn","su","uu","kc","au","fu","Wu","Bc","cu","Gc","Kc","pu","du","gu","Ou","Xc","mu","va","ga","Qc","Iu","wu","Pu","Yn","vh","Au","Vc","Cu","Nu","$u","xu","Eu","yu","jc","Bu","ih","Ru","lh","Uu","mh","Ph","Ih","Sh","Oh","Mu","qu","Rh","Gu","Lh","Nh","$h","Uh","Wh","Mh","zu","qh","Yh","Zh","Jh","Xh","Qh","Vh","kh","jh","nl","ul","ol","Ku","ll","pl","vl","ml","Yu","Pl","Il","Sl","Ol","Rl","Ll","Nl","Zu","Ju","$l","Ul","Wl","Ml","ql","Yl","Zl","Jl","Xl","Ql","Vl","Xu","Qu","Vu","ku","ju","na","wa","kl","np","tp","ep","ta","rp","sp","up","ap","fp","hp","lp","pp","gp","vp","mp","wp","Pp","Ap","Cp","Ip","ea","Ep","Sp","ia","Op","Rp","bp","Tp","Lp","Dp","Hp","Np","$p","Up","Wp","fa","fr","Mp","qp","Bp","Gp","ca","zp","Kp","Yp","Zp","Jp","Xp","Qp","Vp","jp","nd","td","ed","ud","ha","ad","od","fd","cd","la","pa","hd","ld","pd","dd","gd","vd","wd","Pd","Ad","Cd","xd","Ed","yd","Sd","Od","Rd","bd","Td","Ld","Dd","Hd","Nd","$d","Ud","Wd","Fd","Md","qd","Bd","Gd","zd","Kd","Yd","Zd","Jd","Xd","Qd","Vd","kd","jd","ng","tg","eg","rg","ig","ug","ag","og","fg","cg","hg","lg","pg","dg","vg","mg","wg","Pg","Ag","Cg","Ig","xg","Eg","yg","Sg","Og","Rg","Gg","zg","Kg","Ea","Yg","Zg","ya","Jg","Dg","Sa","Xg","Oa","Ra","Lg","Pa","Qg","Vg","ba","$g","rv$1","iv$1","sv$1","uv","av","ov","Ta","fv","cv","La","lr$4","Ug","Hg","Ng","Wg","Aa","Tg","Ca","jg","tv","kg","rv","sv","hv","v$7","EthersConstantsUtil","EthersHelpersUtil","EthersStoreUtil","providerType","ethersConfig","siweConfig","chains","defaultChain","chainImages","_sdkVersion","w3mOptions","networkControllerClient","walletChoice","nsMethods","nsChains","connectionControllerClient","onUri","WalletConnectProvider","InjectedProvider","CoinbaseProvider","txParams","browserProvider","txReceipt","originalAddress","getOriginalAddress","walletConnectProvider","walletConnectProviderOptions","EthereumProvider","walletId","currentActiveWallet","currentProvider","smartAccountDeployed","disconnectHandler","accountsChangedHandler","chainChangedHandler","currentAccount","caipChainId","ensProvider","jsonRpcProvider","switchError","EIP6963Provider","w3mConnectors","injectedConnectorType","isLoginEmailUsed","eip6963ProviderObj","enableEIP6963","walletLogo_1","walletLogo","walletLogo$1","constants$3","constants$2","FALLBACK_MESSAGE","getMessageFromCode","fallbackMessage","codeString","hasKey","isJsonRpcServerError","isValidCode","getErrorCode","isErrorWithCode","shouldIncludeStack","serialized","assignOriginalError","hasStringProperty","utils_1","errors$1","getEthJsonRpcError","getEthProviderError","EthereumProviderError","parseOpts","EthereumRpcError","isValidEthProviderCode","Web3Response","isErrorResponse","Web3Response_1","version_1","serializeError","requestOrMethod","getErrorObject","docUrl","getMethod","methodInData","errors_1","serialize_1","OpaqueType","type$1","IntNumber","ProviderType","util$3","bn_js_1","error_1","type_1","INT_STRING_REGEX","HEXADECIMAL_STRING_REGEX","randomBytesHex","uint8ArrayToHex","hexStringToUint8Array","hexStringFromBuffer","includePrefix","bigIntStringFromBN","intNumberFromHexString","ensureEvenLengthHexString","hexStringFromIntNumber","has0xPrefix","strip0x","prepend0x","ensureHexString","ensureAddressString","ensureBuffer","ensureIntNumber","ensureRegExpString","ensureBN","isBigNumber","ensureParsedJSONObject","getFavicon","host","createQrUrl","sessionId","sessionSecret","serverUrl","isParentConnection","sessionIdKey","isInIFrame","isMobileWeb","ScopedLocalStorage_1","ScopedLocalStorage","scope","keysToRemove","ScopedLocalStorage$1","DiagnosticLogger","RelayAbstract_1","RelayAbstract$1","RelayAbstract","jsonRpcUrl","Hash$6","exports$1","Session_1","sha_js_1","util_1","STORAGE_KEY_SESSION_ID","STORAGE_KEY_SESSION_SECRET","STORAGE_KEY_SESSION_LINKED","Session","linked","Session$1","Cipher_1","plainText","ivBytes","encryptedResult","tagLength","authTag","encryptedPlaintext","authTagBytes","encryptedPlaintextBytes","concatted","encrypted","concattedBytes","Cipher$1","WalletLinkHTTP_1","WalletLinkHTTP","linkAPIUrl","sessionKey","credentials","responseEvents","WalletLinkHTTP$1","WalletLinkWebSocket_1","WalletLinkWebSocket$1","ConnectionState","WalletLinkWebSocket","WebSocketClass","webSocket","WalletLinkConnection_1","DiagnosticLogger_1","HEARTBEAT_INTERVAL","REQUEST_TIMEOUT","WalletLinkConnection","diagnostic","__destroyed","encryptedEthereumAddress","encryptedMetadataValue","decryptedValue","walletUsername","appVersion","encryptedChainId","encryptedJsonRpcUrl","connect","decryptedData","unencryptedData","callWebhook","reqId","timeoutId","WalletLinkConnection$1","cssResetCss","cssReset","cssReset_css_1","injectCssReset","styleEl","clsx","CloseIcon_1","preact_1","CloseIcon","CloseIcon$1","CoinbaseWalletRound_1","CoinbaseWalletRound","CoinbaseWalletRound$1","QRCodeIcon_1","QRCodeIcon","QRCodeIcon$1","QR8bitByte","QRMode","QRCodeModel","typeNumber","errorCorrectLevel","minLostPoint","lostPoint","QRUtil","target_mc","instance_name","qr_mc","dataList","rsBlocks","QRRSBlock","QRBitBuffer","totalDataCount","maxDcCount","maxEcCount","dcdata","ecdata","dcCount","rsPoly","rawPoly","QRPolynomial","modPoly","modIndex","totalCodeCount","QRErrorCorrectLevel","QRMaskPattern","errorCorrectLength","QRMath","qrCode","sameCount","ratio","totalCount","dataCount","rsBlock","QRCodeLimitLength","_getErrorCorrectLevel","_getTypeNumber","_getUTF8Length","pretty","indent","EOL","xsize","ysize","join","xmlDeclaration","predefined","defs","bgrect","modrect","pathdata","imgSvg","imgWidth","imgHeight","imgX","imgY","qrcodeSvg","QRCode_1","hooks_1","qrcode_svg_1","setSvg","QRCode$2","SpinnerCss","Spinner_1","Spinner_css_1","Spinner","Spinner$1","ConnectContentCss","ConnectContent_1","ConnectContent$1","clsx_1","ConnectContent_css_1","CoinbaseWalletSteps","makeIconColor","ConnectContent","qrUrl","WalletSteps","ConnectItem","ArrowLeftIcon_1","ArrowLeftIcon","ArrowLeftIcon$1","LaptopIcon_1","LaptopIcon","LaptopIcon$1","SafeIcon_1","SafeIcon","SafeIcon$1","TryExtensionContentCss","TryExtensionContent_1","TryExtensionContent_css_1","TryExtensionContent","clicked","setClicked","handleInstallClick","handleClick","TryExtensionContent$1","ConnectDialogCss","ConnectDialog_1","ConnectDialog_css_1","ConnectDialog","darkMode","containerHidden","setContainerHidden","dialogHidden","setDialogHidden","timers","ConnectDialog$1","LinkFlow_1","LinkFlow","connectDisabled","LinkFlow$1","SnackbarCss","Snackbar_css_1","cblogo","gearIcon","Snackbar","itemProps","SnackbarContainer","SnackbarInstance","autoExpand","menuItems","hidden","setHidden","setExpanded","toggleExpanded","WalletLinkRelayUI_1","cssReset_1","Snackbar_1","WalletLinkRelayUI","snackbarProps","WalletLinkRelayUI$1","WalletLinkRelay_1","WalletLinkRelay","cachedAddresses","wasConnectedViaStandalone","sessionIdHash","selectedAddress","isStandalone","storedSession","appName","appLogoUrl","addPrefix","typedDataJson","signedTransaction","hideSnackbarItem","disabled","accountsCallback","chainCallback","errorCode","onAccounts","providerOptions","_cancel","approve","selectedProviderKey","rpcUrls","iconUrls","blockExplorerUrls","chainName","nativeCurrency","rpcUrl","onSuccess","RedirectDialogCss","RedirectDialog_1","RedirectDialog_css_1","RedirectDialog","RedirectDialogContent","buttonText","onButtonClick","onDismiss","MobileRelayUI_1","MobileRelayUI","_connected","walletLinkUrl","MobileRelayUI$1","MobileRelay_1","MobileRelay","navigatedToCBW","MobileRelay$1","Transform$3","keccak","KeccakState","capacity","delimitedSuffix","hashBitLength","shake","Shake","dataByteLength","createKeccak","createShake","P1600_ROUND_CONSTANTS","keccakStateUnroll","lo0","hi0","lo1","hi1","lo2","hi2","lo3","hi3","lo4","hi4","t1slo0","t1shi0","t1slo5","t1shi5","t1slo10","t1shi10","t1slo15","t1shi15","t1slo20","t1shi20","t1slo1","t1shi1","t1slo6","t1shi6","t1slo11","t1shi11","t1slo16","t1shi16","t1slo21","t1shi21","t1slo2","t1shi2","t1slo7","t1shi7","t1slo12","t1shi12","t1slo17","t1shi17","t1slo22","t1shi22","t1slo3","t1shi3","t1slo8","t1shi8","t1slo13","t1shi13","t1slo18","t1shi18","t1slo23","t1shi23","t1slo4","t1shi4","t1slo9","t1shi9","t1slo14","t1shi14","t1slo19","t1shi19","t1slo24","t1shi24","t2slo0","t2shi0","t2slo16","t2shi16","t2slo7","t2shi7","t2slo23","t2shi23","t2slo14","t2shi14","t2slo10","t2shi10","t2slo1","t2shi1","t2slo17","t2shi17","t2slo8","t2shi8","t2slo24","t2shi24","t2slo20","t2shi20","t2slo11","t2shi11","t2slo2","t2shi2","t2slo18","t2shi18","t2slo9","t2shi9","t2slo5","t2shi5","t2slo21","t2shi21","t2slo12","t2shi12","t2slo3","t2shi3","t2slo19","t2shi19","t2slo15","t2shi15","t2slo6","t2shi6","t2slo22","t2shi22","t2slo13","t2shi13","t2slo4","t2shi4","keccakState","createKeccakHash","setLength","setLengthRight","padToEven","stripHexPrefix","bufferToHex","elementaryName","parseTypeN","parseTypeNxM","parseTypeArray","parseNumber","encodeSingle","isDynamic","rawEncode","headLength","solidityPack","soliditySHA3","TYPED_MESSAGE_SCHEMA","TypedDataUtils","primaryType","useV4","encodedTypes","encodedValues","encodeField","parsedType","typeValuePairs","deps","dep","sanitizedData","typedData","ethEip712Util","msgParams","typedSignatureHashLegacy","FilterPolyfill_1","FilterPolyfill$1","TIMEOUT","JSONRPC_TEMPLATE","FilterPolyfill","filterFromParam","filterNotFoundError","paramFromFilter","cursorPosition","currentBlockHeight","emptyResult","highestBlock","newCursorPosition","_id","initialCursorPosition","intBlockHeightFromHexBlockHeight","hexBlockHeightFromIntBlockHeight","jsonRpcRandomId","IdIterator","idCounter","processFn","pify","safeApply","SafeEventEmitter$3","SafeEventEmitter","BaseBlockTracker_1","safe_event_emitter_1","calculateSum","blockTrackerEvents","BaseBlockTracker","newBlock","currentBlock","newBlockInt","hexToInt","currentBlockInt","oldBlock","hexInt","StructError","failure","failures","cached","explanation","isIterable","print","shiftIterator","toFailure","struct","branch","toFailures","run","Struct","refiner","coercer","validate","tuples","tuple","assign","Structs","lazy","omit","subschema","partial","isStruct","optional","pick","Element","boolean","enums","Class","integer","intersection","literal","constant","Key","Value","never","nullable","knowns","Never","unknowns","record","regexp","coerced","unknown","defaulted","changed","trimmed","refine","getSize","exclusive","nonempty","assert_1","superstruct_1","isErrorWithMessage","isConstructable","getErrorMessage","ErrorWrapper","AssertionError","assert$2","assertStruct","errorPrefix","assertExhaustive","_object","base64_1","paddingRequired","characterSet","letters","base64$1","isStrictHexString","assertIsHexString","assertIsStrictHexString","add0x","hexadecimal","remove0x","hex_1","HEX_MINIMUM_NUMBER_CHARACTER","HEX_MAXIMUM_NUMBER_CHARACTER","HEX_CHARACTER_OFFSET","getPrecomputedHexValuesBuilder","lookupTable","getPrecomputedHexValues","assertIsBytes","bytesToBigInt","bytesToSignedBigInt","bytesToNumber","bytesToString","strippedValue","normalizedValue","bigIntToBytes","bigIntFits","signedBigIntToBytes","numberToBytes","stringToBytes","valueToBytes","normalizedValues","createDataView","coercers","bytes_1","NumberLikeStruct","NumberCoercer","BigIntCoercer","BytesCoercer","HexCoercer","createNumber","createBigInt","createBytes","createHex","_FrozenMap_map","_FrozenSet_set","collections","FrozenMap","callbackfn","_map","FrozenSet","value2","_set","member","encryptionTypes","finiteNumber","checkStruct","innerValue","unsafeResult","isValidJson","getJsonSize","isJsonRpcNotification","assertIsJsonRpcNotification","assertIsJsonRpcRequest","isPendingJsonRpcResponse","assertIsPendingJsonRpcResponse","assertIsJsonRpcResponse","isJsonRpcSuccess","assertIsJsonRpcSuccess","isJsonRpcFailure","assertIsJsonRpcFailure","assertIsJsonRpcError","getJsonRpcIdValidator","permitEmptyString","permitFractions","permitNull","keyring","fmtLong","fmtShort","msAbs","plural","isPlural","setup","createDebug","disable","enable","enabled","selectColor","namespace","prevTime","enableOverride","namespacesCache","enabledCache","newDebug","namespaces","toNamespace","formatArgs","load","useColors","localstorage","lastC","formatters","logging","globalLogger","createProjectLogger","projectName","createModuleLogger","projectLogger","moduleName","isNonEmptyArray","hasProperty","objectToCheck","JsonSize","isASCII","calculateStringSize","calculateNumberSize","bigIntToHex","hexToBigInt","opaque","Duration","isNonNegativeInteger","assertIsNonNegativeInteger","inMilliseconds","timeSince","transactionTypes","SEMVER_SPEC_VERSION","MAX_LENGTH","MAX_SAFE_COMPONENT_LENGTH","MAX_SAFE_BUILD_LENGTH","debug_1","safeRe","LETTERDASHNUMBER","safeRegexReplacements","makeSafeRegex","createToken","isGlobal","safe","looseOption","emptyOpts","parseOptions_1","compareIdentifiers","anum","bnum","parseOptions","SemVer$d","SemVer","release","identifier","identifierBase","prerelease","semver","parse_1","throwErrors","valid_1","clean_1","inc_1","diff_1","version1","version2","comparison","v1Higher","highVersion","lowVersion","highHasPre","major_1","minor_1","patch_1","prerelease_1","compare_1","rcompare_1","compareLoose_1","compareBuild_1","versionA","versionB","compareBuild","sort_1","rsort_1","gt_1","lt_1","eq_1","neq_1","gte_1","lte_1","neq","gte","lte","cmp_1","coerce_1","coerceRtlRegex","major","minor","patch","Yallist","walker","yallist","Yallist$1","push","unshift","thisp","deleteCount","insert","inserted","LENGTH","LENGTH_CALCULATOR","ALLOW_STALE","MAX_AGE","DISPOSE","NO_DISPOSE_ON_SET","LRU_LIST","CACHE","UPDATE_AGE_ON_GET","naiveLength","LRUCache","mL","allowStale","mA","lC","hit","forEachStep","isStale","maxAge","Entry","expiresAt","doUse","lruCache","Range","Comparator","isNullSet","isAny","memoKey","FLAG_INCLUDE_PRERELEASE","FLAG_LOOSE","hyphenReplace","comparatorTrimReplace","tildeTrimReplace","caretTrimReplace","rangeList","parseComparator","replaceGTE0","rangeMap","comparators","thisComparators","isSatisfiable","rangeComparators","thisComparator","rangeComparator","testSet","LRU","remainingComparators","testComparator","otherComparator","replaceCarets","replaceTildes","replaceXRanges","replaceStars","isX","replaceTilde","replaceCaret","replaceXRange","gtlt","xM","xm","anyX","incPr","$0","fM","fm","fpr","fb","tM","tm","tpr","tb","ANY","comparator","satisfies_1","toComparators_1","maxSatisfying_1","versions","maxSV","rangeObj","minSatisfying_1","minSV","minVersion_1","minver","setMin","compver","valid","satisfies","outside_1","hilo","gtfn","ltefn","ltfn","ecomp","high","outside","gtr_1","ltr_1","intersects_1","simplify","ranges","simplified","subset","dom","sawNonNull","OUTER","simpleSub","simpleDom","isSub","simpleSubset","minimumVersionWithPreRelease","minimumVersion","eqSet","higherGT","lowerLT","gtltComp","higher","lower","hasDomLT","hasDomGT","needDomLTPre","needDomGTPre","subset_1","internalRe","clean","require$$13","rcompare","require$$14","compareLoose","require$$15","require$$16","sort","require$$17","rsort","require$$18","require$$19","require$$20","require$$21","require$$22","require$$23","require$$24","require$$25","require$$26","require$$27","require$$28","require$$29","require$$30","require$$31","require$$32","require$$33","require$$34","require$$35","require$$36","require$$37","require$$38","require$$39","require$$40","semver_1","isValidSemVerVersion","isValidSemVerRange","versionRange","assertIsSemVerVersion","assertIsSemVerRange","gtVersion","gtRange","satisfiesVersionRange","PollingBlockTracker_1","json_rpc_random_id_1","pify_1","logging_utils_1","createRandomId","PollingBlockTracker","newErr","latestBlock","unref","timeoutRef","SubscribeBlockTracker_1","SubscribeBlockTracker","SubscribeBlockTracker$1","getUniqueId_1","getUniqueId","getUniqueId$1","idRemapMiddleware","createIdRemapMiddleware","_end","originalId","newId","createAsyncMiddleware_1","createAsyncMiddleware","asyncMiddleware","resolveNextPromise","nextPromise","returnHandlerCallback","nextWasCalled","asyncNext","runReturnHandlersCallback","createAsyncMiddleware$3","createScaffoldMiddleware_1","createScaffoldMiddleware","createScaffoldMiddleware$3","safeEventEmitter","SafeEventEmitter$2","fastSafeStringify","deterministicStringify","LIMIT_REPLACE_NODE","CIRCULAR_REPLACE_NODE","replacerStack","replacer","spacer","decirc","replaceGetterValues","setReplace","replace","propertyDescriptor","edgeIndex","compareFunction","deterministicDecirc","fast_safe_stringify_1","stringifyReplacer","errorConstants","error_constants_1","classes_1","FALLBACK_ERROR_CODE","FALLBACK_ERROR","fallbackError","JsonRpcEngine_1","eth_rpc_errors_1","JsonRpcEngine","middleware","middlewareError","isComplete","returnHandlers","handlerCallback","reqs","responses","_err","callerReq","middlewareStack","returnHandler","jsonify","mergeMiddleware_1","mergeMiddleware","engine","mergeMiddleware$1","__setModuleDefault","__classPrivateFieldIn","Semaphore_1","Semaphore","_maxConcurrency","ticket","releaser","nextConsumer","released","Semaphore$1","Mutex_1","Mutex","Mutex$2","withTimeout_1","withTimeout","timeoutError","isTimeout","withTimeout$1","immutable","ethQuery","EthQuery","EthQuery$1","generateFnWithDefaultBlockFor","generateFnFor","createPayload","argCount","unwrapped","filterCache","writableOrConfigurableOwn","pified","baseFilter","newResults","updates","BaseFilter","baseFilterHistory","hexUtils","minBlockRef","maxBlockRef","sortBlockRefs","bnToHex","blockRefIsNumber","incrementHexInt","intToHex","unsafeRandomBytes","refs","sortedRefs","refA","refB","blockRef","int","unsafeRandomNibble","BaseFilterWithHistory","logFilter","newLogs","matchingLogs","normalizedLogAddress","topicPattern","logTopic","subtopicsToMatch","getBlocksForRange_1","getBlocksForRange","fromBlockNumber","blockCountToQuery","missingBlockNumbers","blockBodies","blockNum","sendAsync","blockFilter","blockHashes","txFilter","blockTxHashes","LogFilter","BlockFilter","TxFilter","ethJsonRpcFilters","createEthFilterMiddleware","blockTracker","filterIndex","mutex","waitForFree","mutexMiddlewareWrapper","toFilterCreationMiddleware","newLogFilter","newBlockFilter","newPendingTransactionFilter","toAsyncRpcMiddleware","uninstallFilterHandler","getFilterChanges","getFilterLogs","filterUpdater","releaseLock","objValues","uninstallAllFilters","installFilter","filterIndexHex","uninstallFilter","prevFilterCount","newFilterCount","updateBlockTrackerSubs","createFilterFn","asyncFn","createFilterMiddleware","subscriptionManager","createSubscriptionMiddleware","subscriptions","filterManager","isDestroyed","subscriptionType","subId","createSubNewHeads","filterParams","createSubFromFilter","normalizeBlock","_emitSubscriptionResult","filterIdHex","SubscriptionManager_1","eth_block_tracker_1","createSubscriptionManager","SubscriptionManager","SubscriptionManager$1","CoinbaseWalletProvider_1","eventemitter3_1","eth_eip712_util_1","DEFAULT_CHAIN_ID_KEY","DEFAULT_JSON_RPC_URL","CoinbaseWalletProvider","chainIdStr","notification","originalChainId","relay","isWhitelistedNetworkOrStandalone","switchResponse","callbackOrParams","arrayCb","newParams","newAddresses","syncResult","filterPromise","subscriptionPromise","requests","addressString","addressStr","toAddress","weiValue","gasPriceInWei","typedDataJSON","chainIdNumber","isDisconnect","CoinbaseWalletProvider$1","RelayEventManager_1","RelayEventManager","idStr","RelayEventManager$1","CoinbaseWalletSDK_1","wallet_logo_1","CoinbaseWalletSDK","uiConstructor","relayOption","extension","dappBrowser","CoinbaseWalletSDK_2","CoinbaseWalletProvider_2","enableInjected","enableCoinbase","enableEmail","defaultChainId","injectedProvider","coinbaseProvider","getInjectedProvider","getCoinbaseProvider","createWeb3Modal","Web3Modal","walletProvider","currentNetwork","clickedAnyWallet","connectRejectMethod","connectResolveMethod","web3Modal","newEvent","_config","OkxWallet","okx","XdefiWallet","_q","xfi","TrustWallet","trustWalletProvider","BitgetWallet","bitget","Nr.parse","Nr.stringify","i0","u0","l0","v0","m0","g0","A0","y0","L$5","M0","E0","N0","I0","_0","C0","V$3","R0","dr$2","Ut$2","O0","P0","U0","k0","q0","K0","H0","z0","Q0","G0","Y0","J0","W0","Z0","cn.generateKeyPair","cn.sharedKey","n$6","h$3","a$3","u$3","g$3","d$4","E$3","y$3","v$4","b$2","w$2","es$1","ts$1","is$1","ss$1","ar$1","hr$2","Ot$1","At$1","zt$1","Ut$1","kt$1","Vt$1","qt$1","jt$1","Yt$2","Ht$2","Wt$1","Zt$1","We$1","ne$2","lr$1","index$1","initConnector","otherNetworkIds","WalletConnect","rpcIdMapping","EIP6963AdapterUUIDIndex","detail","adapterList","Web3ModalSIWEClient","nonceRefetchIntervalMs","sessionRefetchIntervalMs","signOutOnAccountChange","signOutOnDisconnect","signOutOnNetworkChange","siweConfigMethods","W3mConnectingSiwe","visuals","translation","W3mConnectingSiweView","createSIWEConfig","o$4","u$1","L$1","Z$1","addUniqueItem","clamp","isEasingList","easing","rangeSize","getEasingForSegment","mix","noopReturn","fillOffset","offsetProgress","defaultOffset","interpolate","progressInRange","isCubicBezier","isEasingGenerator","calcBezier","subdivisionPrecision","subdivisionMaxIterations","binarySubdivide","upperBound","mX1","mX2","currentX","currentT","cubicBezier","mY1","mY2","getTForX","aX","steps","rounded","namedEasings","functionArgsRegex","getEasingFunction","definition","argsArray","Animation","keyframes","initialDuration","endDelay","repeat","autoplay","interpolate$1","currentIteration","iterationProgress","iterationIsOdd","latest","invariant","MotionValue","animation","getAnimationData","getMotionValue","motionValues","axes","order","transformAlias","rotation","baseTransformProperties","transformDefinitions","asTransformCssVar","transforms","axis","compareTransformOrder","transformLookup","isTransform","addTransformToElement","buildTransformTemplate","transformListToString","template","isCssVar","registeredProperties","registerCssVariable","testAnimation","featureTests","supports","resolution","generateLinearEasingPoints","numPoints","convertEasing","cubicBezierAsString","hydrateKeyframes","readInitialValue","keyframesList","getStyleName","stopAnimation","needsCommit","getUnitConverter","toUnit","finalKeyframe","getDevToolsRecord","animateStyle","keyframesDefinition","AnimationPolyfill","isRecording","persist","allowWebkitAcceleration","valueIsTransform","canAnimateNatively","motionValue","animationOptions","thisEasing","getOptions","resolveElements","selectorCache","createAnimation","withControls","animationFactory","controls","getActiveAnimation","activeAnimation","selectFinished","resolveOption","createAnimate","AnimatePolyfill","numElements","animationFactories","valueOptions","animate","animateProgress","keyframesOrOptions","animate$1"],"mappings":"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M,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,EAAI,EACngD+sC,GAAK,CAAC,GAAM,EAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,EAAM,IAAM,IAAM,IAAM,EAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,EAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAI,EAEpgDv8C,IAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,EAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,SAAU,EACpgGC,IAAK,CAAC,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,EAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,SAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,SAAU,EACpgGu8C,IAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,SAAY,WAAY,UAAY,WAAY,UAAY,WAAY,SAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,EAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,SAAU,EACpgGC,IAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,SAAY,WAAY,UAAY,WAAY,UAAY,WAAY,SAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,EAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,SAAU,EAEpgGC,IAAK,CAAC,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,EAAY,UAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAU,EACpgGC,IAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,EAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,SAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAU,EACpgGC,IAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,EAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAU,EACpgGC,IAAK,CAAC,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,WAAY,SAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,EAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAU,EAEpgG1mC,IAAK,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAU,EACpgGC,IAAK,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,SAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,SAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAU,EACpgG0mC,IAAK,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,WAAY,UAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAU,EACpgGC,IAAK,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY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AAW,CACT,+DACD,CACF,CACF,EACD,eAAgB,CACd,WAAY,CACV,KAAM,iBACN,IAAK,oEACN,EACD,QAAS,CACP,KAAM,iBACN,IAAK,oEACN,CACF,EACD,UAAW,CACT,WAAY,CACV,QAAS,6CACT,aAAc,OACf,CACF,CACH,EAGIC,IAAsB,CACxB,GAAI,UACJ,KAAM,kCACN,QAAS,wBACT,eAAgB,CAAE,KAAM,QAAS,OAAQ,QAAS,SAAU,EAAI,EAChE,QAAS,CACP,QAAS,CACP,KAAM,CACJ,kEACD,EACD,UAAW,CACT,mEACD,CACF,EACD,OAAQ,CACN,KAAM,CACJ,kEACD,EACD,UAAW,CACT,mEACD,CACF,CACF,EACD,eAAgB,CACd,WAAY,CACV,KAAM,iBACN,IAAK,wEACN,EACD,QAAS,CACP,KAAM,iBACN,IAAK,wEACN,CACF,EACD,UAAW,CACT,WAAY,CACV,QAAS,6CACT,aAAc,OACf,CACF,EACD,QAAS,EACX,EAGIC,IAAoB,CACtB,GAAI,WACJ,KAAM,wBACN,QAAS,sBACT,eAAgB,CAAE,KAAM,QAAS,OAAQ,QAAS,SAAU,EAAI,EAChE,QAAS,CACP,QAAS,CACP,KAAM,CACJ,oEACD,EACD,UAAW,CACT,qEACD,CACF,EACD,OAAQ,CACN,KAAM,CACJ,oEACD,EACD,UAAW,CACT,qEACD,CACF,CACF,EACD,eAAgB,CACd,WAAY,CACV,KAAM,iBACN,IAAK,0EACN,EACD,QAAS,CACP,KAAM,iBACN,IAAK,0EACN,CACF,EACD,UAAW,CACT,WAAY,CACV,QAAS,6CACT,aAAc,OACf,CACF,EACD,QAAS,EACX,EAGIC,IAAoB,CACtB,GAAI,WACJ,KAAM,uBACN,QAAS,qBACT,eAAgB,CAAE,KAAM,QAAS,OAAQ,QAAS,SAAU,EAAI,EAChE,QAAS,CACP,QAAS,CACP,KAAM,CAAC,iEAAiE,EACxE,UAAW,CACT,kEACD,CACF,EACD,OAAQ,CACN,KAAM,CAAC,iEAAiE,EACxE,UAAW,CACT,kEACD,CACF,CACF,EACD,eAAgB,CACd,WAAY,CACV,KAAM,iBACN,IAAK,uEACN,EA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A;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA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AAO,EC1CH,MAAMtE,IAAalC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SCAb2G,IAAS3G;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SCAT4G,IAAU5G;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAV6G,IAAa7G;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SCAb8G,IAAS9G;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SCAT+G,IAAY/G;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QCAZgH,IAAUhH;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;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A,kEACD,EACD,CACE,kEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,gEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,kEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,kEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,CACF,CACF,EACD,IAAK,CACH,IAAK,EACL,OAAQ,CACN,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,kEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,kEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,kEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,kEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,iEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,kEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,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G,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAA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,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAEwmM,IAAG,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAEwc,IAAG,CAAC,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAExB,IAAG,CAAC,EA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,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,KAAK,EAAO,KAAK,EAAO,KAAK,EAAO,KAAK,EAAO,KAAK,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO,IAAI,EAAO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"} \ No newline at end of file diff --git a/composer.json b/composer.json index ba1fafb..8fee386 100644 --- a/composer.json +++ b/composer.json @@ -12,7 +12,7 @@ "require": { "ext-bcmath": "*", "beycanpress/csf": "^2.3", - "multiplechain/evm-chains": "^0.1.23", + "multiplechain/evm-chains": "^0.1.24", "beycanpress/currency-converter": "^0.1.3" } } diff --git a/composer.lock b/composer.lock index 1b39c55..4124998 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "dc25d938c93c1c7730034ac601b21523", + "content-hash": "8ee54460423f09e82d1675df0c5714dc", "packages": [ { "name": "beycanpress/csf", - "version": "2.3.5", + "version": "2.3.6", "source": { "type": "git", "url": "https://github.com/BeycanPress/csf.git", - "reference": "8abd652032c4f49cbacd9f838d5f987dd80d81a2" + "reference": "9f3c02a5eca67a70c442570061fcfe30d6b0353f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/BeycanPress/csf/zipball/8abd652032c4f49cbacd9f838d5f987dd80d81a2", - "reference": "8abd652032c4f49cbacd9f838d5f987dd80d81a2", + "url": "https://api.github.com/repos/BeycanPress/csf/zipball/9f3c02a5eca67a70c442570061fcfe30d6b0353f", + "reference": "9f3c02a5eca67a70c442570061fcfe30d6b0353f", "shasum": "" }, "type": "library", @@ -29,9 +29,9 @@ "homepage": "https://github.com/BeycanPress/csf", "support": { "issues": "https://github.com/BeycanPress/csf/issues", - "source": "https://github.com/BeycanPress/csf/tree/2.3.5" + "source": "https://github.com/BeycanPress/csf/tree/2.3.6" }, - "time": "2024-05-01T02:48:38+00:00" + "time": "2024-09-25T09:51:27+00:00" }, { "name": "beycanpress/currency-converter", @@ -209,16 +209,16 @@ }, { "name": "guzzlehttp/guzzle", - "version": "7.9.0", + "version": "7.9.2", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "84ac2b2afc44e40d3e8e658a45d68d6d20437612" + "reference": "d281ed313b989f213357e3be1a179f02196ac99b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/84ac2b2afc44e40d3e8e658a45d68d6d20437612", - "reference": "84ac2b2afc44e40d3e8e658a45d68d6d20437612", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d281ed313b989f213357e3be1a179f02196ac99b", + "reference": "d281ed313b989f213357e3be1a179f02196ac99b", "shasum": "" }, "require": { @@ -315,7 +315,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.9.0" + "source": "https://github.com/guzzle/guzzle/tree/7.9.2" }, "funding": [ { @@ -331,7 +331,7 @@ "type": "tidelift" } ], - "time": "2024-07-18T11:52:56+00:00" + "time": "2024-07-24T11:22:20+00:00" }, { "name": "guzzlehttp/promises", @@ -628,21 +628,21 @@ }, { "name": "multiplechain/evm-chains", - "version": "0.1.23", + "version": "0.1.24", "source": { "type": "git", "url": "https://github.com/MultipleChain-PHP/evm-chains.git", - "reference": "d468d6f0537615a8edf9510f050023ccade80b03" + "reference": "68294481057c028dba51b40f9a5f1c3d6c36bae6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/MultipleChain-PHP/evm-chains/zipball/d468d6f0537615a8edf9510f050023ccade80b03", - "reference": "d468d6f0537615a8edf9510f050023ccade80b03", + "url": "https://api.github.com/repos/MultipleChain-PHP/evm-chains/zipball/68294481057c028dba51b40f9a5f1c3d6c36bae6", + "reference": "68294481057c028dba51b40f9a5f1c3d6c36bae6", "shasum": "" }, "require": { "multiplechain/definitions": "^0.1.2", - "multiplechain/utils": "^0.1.4", + "multiplechain/utils": "^0.1.5", "web3p/ethereum-tx": "^0.4.3", "web3p/web3.php": "^0.3.2" }, @@ -672,27 +672,26 @@ "description": "EVM Based Chains", "support": { "issues": "https://github.com/MultipleChain-PHP/evm-chains/issues", - "source": "https://github.com/MultipleChain-PHP/evm-chains/tree/0.1.23" + "source": "https://github.com/MultipleChain-PHP/evm-chains/tree/0.1.24" }, - "time": "2024-06-11T10:12:52+00:00" + "time": "2024-10-01T03:04:19+00:00" }, { "name": "multiplechain/utils", - "version": "0.1.4", + "version": "0.1.5", "source": { "type": "git", "url": "https://github.com/MultipleChain-PHP/utils.git", - "reference": "70c5675299aceb010bb2596cd0a1f2760ec4ae3f" + "reference": "b9b64927b0127959a6fe9423cf37ee8469d3f182" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/MultipleChain-PHP/utils/zipball/70c5675299aceb010bb2596cd0a1f2760ec4ae3f", - "reference": "70c5675299aceb010bb2596cd0a1f2760ec4ae3f", + "url": "https://api.github.com/repos/MultipleChain-PHP/utils/zipball/b9b64927b0127959a6fe9423cf37ee8469d3f182", + "reference": "b9b64927b0127959a6fe9423cf37ee8469d3f182", "shasum": "" }, "require": { "ext-bcmath": "*", - "ext-gmp": "*", "ext-mbstring": "*", "phpseclib/phpseclib": "~2.0.30" }, @@ -721,9 +720,9 @@ "description": "MultipleChain Utils", "support": { "issues": "https://github.com/MultipleChain-PHP/utils/issues", - "source": "https://github.com/MultipleChain-PHP/utils/tree/0.1.4" + "source": "https://github.com/MultipleChain-PHP/utils/tree/0.1.5" }, - "time": "2024-06-11T09:47:47+00:00" + "time": "2024-10-01T02:15:53+00:00" }, { "name": "phpseclib/phpseclib", @@ -1689,31 +1688,31 @@ }, { "name": "react/socket", - "version": "v1.15.0", + "version": "v1.16.0", "source": { "type": "git", "url": "https://github.com/reactphp/socket.git", - "reference": "216d3aec0b87f04a40ca04f481e6af01bdd1d038" + "reference": "23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/socket/zipball/216d3aec0b87f04a40ca04f481e6af01bdd1d038", - "reference": "216d3aec0b87f04a40ca04f481e6af01bdd1d038", + "url": "https://api.github.com/repos/reactphp/socket/zipball/23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1", + "reference": "23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1", "shasum": "" }, "require": { "evenement/evenement": "^3.0 || ^2.0 || ^1.0", "php": ">=5.3.0", - "react/dns": "^1.11", + "react/dns": "^1.13", "react/event-loop": "^1.2", - "react/promise": "^3 || ^2.6 || ^1.2.1", - "react/stream": "^1.2" + "react/promise": "^3.2 || ^2.6 || ^1.2.1", + "react/stream": "^1.4" }, "require-dev": { "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", - "react/async": "^4 || ^3 || ^2", + "react/async": "^4.3 || ^3.3 || ^2", "react/promise-stream": "^1.4", - "react/promise-timer": "^1.10" + "react/promise-timer": "^1.11" }, "type": "library", "autoload": { @@ -1757,7 +1756,7 @@ ], "support": { "issues": "https://github.com/reactphp/socket/issues", - "source": "https://github.com/reactphp/socket/tree/v1.15.0" + "source": "https://github.com/reactphp/socket/tree/v1.16.0" }, "funding": [ { @@ -1765,7 +1764,7 @@ "type": "open_collective" } ], - "time": "2023-12-15T11:02:10+00:00" + "time": "2024-07-26T10:38:09+00:00" }, { "name": "react/stream", @@ -2061,20 +2060,20 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c" + "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fd22ab50000ef01661e2a31d850ebaa297f8e03c", - "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341", + "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "provide": { "ext-mbstring": "*" @@ -2121,7 +2120,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0" }, "funding": [ { @@ -2137,7 +2136,7 @@ "type": "tidelift" } ], - "time": "2024-06-19T12:30:46+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "web3p/ethereum-tx", diff --git a/cryptopay-wc-lite.php b/cryptopay-wc-lite.php index 8767608..ccaf822 100644 --- a/cryptopay-wc-lite.php +++ b/cryptopay-wc-lite.php @@ -11,7 +11,7 @@ /** * Plugin Name: CryptoPay Lite - * Version: 2.3.5 + * Version: 2.3.6 * Plugin URI: https://beycanpress.com/cryptopay/ * Description: All In One Cryptocurrency Payments for WordPress * Author: BeycanPress LLC @@ -62,7 +62,6 @@ function json_validate(string $string): bool 'phpVersions' => 8.1, 'extensions' => [ 'bcmath', - 'gmp', 'curl', 'file_get_contents', ] diff --git a/readme.txt b/readme.txt index f9245eb..4860741 100644 --- a/readme.txt +++ b/readme.txt @@ -4,8 +4,8 @@ Tags: WooCommerce, Cryptocurrency, Payment, Gateway, Bitcoin Requires at least: 5.0 Tested up to: 6.6.2 Requires PHP: 8.1 -Stable Tag: 2.3.5 -Version: 2.3.5 +Stable Tag: 2.3.6 +Version: 2.3.6 License: GPLv3 License URI: https://www.gnu.org/licenses/gpl-3.0.html @@ -96,7 +96,7 @@ The following features are available in both versions. * PHP 8.1 or higher * WordPress 5.0 or higher -* PHP Extensions: cURL, BCMath, GMP +* PHP Extensions: cURL, BCMath = Privacy notices = @@ -143,6 +143,10 @@ Yes, our plugin comes with WooCommerce crypto payment gateway support by default == Changelog == += 2.3.6 = +* Fixed: WalletConnect & Web3Modal can connect only one time or you have to refresh the page +* Removed: GMP extension requirement + = 2.3.5 = * Updated: API Endpoints diff --git a/vendor/beycanpress/csf/assets/css/style.css b/vendor/beycanpress/csf/assets/css/style.css index cfdd634..57d221a 100644 --- a/vendor/beycanpress/csf/assets/css/style.css +++ b/vendor/beycanpress/csf/assets/css/style.css @@ -199,7 +199,7 @@ .csf-nav ul li .csf-arrow:after { content: "\f054"; display: inline-block; - font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome"; + font-family: "Font Awesome 5 Free", "FontAwesome"; font-weight: 900; font-size: 9px; line-height: 1; @@ -1112,7 +1112,7 @@ top: auto; left: auto; right: auto; - font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome"; + font-family: "Font Awesome 5 Free", "FontAwesome"; font-weight: 900; font-size: 12px; text-align: center; @@ -1409,7 +1409,7 @@ left: 0; text-align: center; font-size: 10px; - font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome"; + font-family: "Font Awesome 5 Free", "FontAwesome"; font-weight: 900; content: "\f00c"; width: 16px; @@ -1547,7 +1547,7 @@ left: 0; text-align: center; font-size: 10px; - font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome"; + font-family: "Font Awesome 5 Free", "FontAwesome"; font-weight: 900; content: "\f00c"; width: 16px; @@ -1894,7 +1894,7 @@ background-color: #ddd; } .csf-field-spinner .ui-spinner .ui-spinner-button:before { - font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome"; + font-family: "Font Awesome 5 Free", "FontAwesome"; font-weight: 900; font-size: 14px; line-height: 14px; @@ -2482,7 +2482,7 @@ .csf-field .chosen-container-single .chosen-single abbr { top: 0; right: 20px; - font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome"; + font-family: "Font Awesome 5 Free", "FontAwesome"; font-weight: 900; font-size: 12px; height: 100%; @@ -2498,7 +2498,7 @@ color: #555; } .csf-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close { - font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome"; + font-family: "Font Awesome 5 Free", "FontAwesome"; font-weight: 900; font-size: 12px; height: 100%; @@ -2516,7 +2516,7 @@ color: #555; } .csf-field .chosen-container-single .chosen-single div b { - font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome"; + font-family: "Font Awesome 5 Free", "FontAwesome"; font-weight: 900; font-size: 14px; color: #aaa; @@ -2545,7 +2545,7 @@ background: none; } .csf-field .chosen-container-single .chosen-search:before { - font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome"; + font-family: "Font Awesome 5 Free", "FontAwesome"; font-weight: 900; font-size: 11px; content: "\f002"; diff --git a/vendor/beycanpress/csf/assets/css/style.min.css b/vendor/beycanpress/csf/assets/css/style.min.css index 4753065..26558ea 100644 --- a/vendor/beycanpress/csf/assets/css/style.min.css +++ b/vendor/beycanpress/csf/assets/css/style.min.css @@ -1 +1 @@ -.csf{position:relative}.csf label{padding:0;margin:0;display:inline-block}.csf-ab-icon{top:2px}#screen-meta-links+.csf-options{margin-top:40px}.csf-options{margin-top:20px;margin-right:20px}.csf-header{position:relative}.csf-header-inner{padding:25px;transition:box-shadow .3s ease}.csf-header-inner h1{float:left;font-size:1.5em;line-height:26px;font-weight:400;margin:0}.csf-header-inner h1 small{font-size:11px;font-weight:500}.csf-sticky .csf-header-inner{position:fixed;z-index:99;top:32px;box-shadow:0 5px 10px rgba(0,0,0,.1)}.csf-buttons{float:right}.csf-buttons .button{margin:0 2px;line-height:26px}.csf-buttons .button:focus{outline:0!important;box-shadow:none!important}.csf-buttons .csf-save{min-width:72px}.csf-header-left{float:left}.csf-header-right{float:right}.csf-nav{display:block;position:relative;z-index:10;float:left}.csf-nav ul{clear:left;margin:0;list-style-type:none}.csf-nav ul li{margin-bottom:0}.csf-nav ul li a{font-size:13px;position:relative;display:block;padding:14px 12px;text-decoration:none;transition-property:color,background;transition-duration:.2s;transition-timing-function:ease}.csf-nav ul li a:focus{outline:0;box-shadow:none}.csf-nav ul li .csf-arrow:after{content:"\f054";display:inline-block;font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:9px;line-height:1;position:absolute;right:10px;top:50%;margin-top:-4px}.csf-nav ul li.csf-tab-expanded .csf-arrow:after{transform:rotate(90deg)}.csf-nav ul li.csf-tab-expanded ul{display:block}.csf-nav ul ul{display:none;position:relative}.csf-nav ul ul li a{font-size:12px;padding:12px 14px 12px 24px}.csf-nav .csf-tab-icon{width:20px;margin-right:5px;font-size:13px;text-align:center}.csf-nav .csf-label-error{margin-left:4px;vertical-align:top}.csf-nav-normal{width:225px}.csf-nav-normal+.csf-content{margin-left:225px}.csf-nav-inline{width:100%}.csf-nav-inline ul li{display:inline-block;vertical-align:top}.csf-nav-background{position:absolute;top:0;left:0;bottom:0;z-index:9;width:225px}.csf-wrapper{position:relative}.csf-content{position:relative;background-color:#fff}.csf-sections{float:left;width:100%}.csf-section-title{display:none;padding:20px 30px;background-color:#f5f5f5;border-top:1px solid #eee;border-bottom:1px solid #eee}.csf-section-title h3{margin:0;padding:0;font-size:13px;font-weight:700;text-transform:uppercase}.csf-section-title .csf-section-icon{margin-right:5px}.csf-footer{padding:20px;font-size:11px}.csf-copyright{float:left;margin-top:5px}.csf-search-all .csf-nav,.csf-search-all .csf-nav-background,.csf-show-all .csf-nav,.csf-show-all .csf-nav-background{display:none}.csf-search-all .csf-content,.csf-show-all .csf-content{margin-left:0}.csf-search-all .csf-section,.csf-search-all .csf-section-title,.csf-show-all .csf-section,.csf-show-all .csf-section-title{display:block!important}.csf-search-all .csf-section-title{display:none!important}.csf-expand-all{float:left;padding:0 8px;margin-right:4px;z-index:1;font-size:13px;line-height:30px;cursor:pointer;user-select:none;border-radius:2px;transition:all .2s}.csf-expand-all span{font-size:11px;vertical-align:middle}.csf-search{float:left}.csf-search input{margin:0 2px 0 0;border:none;font-size:12px;line-height:30px;min-height:30px;text-align:inherit;padding:0 10px;border-radius:2px;box-shadow:none}.csf-search input:focus{box-shadow:none}.csf-saving .csf-buttons,.csf-saving .csf-content{cursor:default;pointer-events:none;opacity:.5}.csf-metabox{margin:-6px -12px -12px -12px}.csf-metabox .csf-field{padding:20px}.csf-metabox .csf-section-title{padding:20px}.block-editor-page .csf-metabox{margin:-6px -14px -14px -14px}.block-editor-editor-skeleton__content .csf-metabox{border-left:1px solid #e2e4e7;border-right:1px solid #e2e4e7}.csf-sections-reset{float:left;width:100%;text-align:right;border-top:1px solid #eee}.csf-sections-reset .csf-button-cancel,.csf-sections-reset input{display:none}.csf-sections-reset label{padding:10px}.csf-sections-reset span{-webkit-user-select:none;user-select:none}.csf-sections-reset input:checked~.csf-button-reset{display:none}.csf-sections-reset input:checked~.csf-button-cancel{display:inline-block}#side-sortables .csf-section-title{padding:12px}#side-sortables .csf-field{padding:10px 15px}#side-sortables .csf-field .csf-title{float:none;width:100%;margin-bottom:6px}#side-sortables .csf-field .csf-fieldset{float:none;width:100%}#side-sortables .csf-field-text input{width:100%}#side-sortables .csf-notice{padding:10px 15px}.csf-comment-metabox{margin:-6px -12px -12px -12px}.csf-comment-metabox .csf-field{padding:20px}.csf-comment-metabox .csf-section-title{padding:20px}.csf-tooltip{position:absolute;z-index:5000001;font-size:12px;line-height:1.4;text-align:center;text-decoration:none;padding:6px 12px;max-width:200px;color:#fff;background-color:#000;background-color:rgba(0,0,0,.85);border-radius:4px}.csf-theme-dark .csf-header-inner{background-color:#050505}.csf-theme-dark .csf-header-inner h1{color:#fff}.csf-theme-dark .csf-header-inner h1 small{color:#555}.csf-theme-dark .csf-expand-all{color:#999;background-color:#222}.csf-theme-dark .csf-expand-all:hover{color:#fff;background-color:#333}.csf-theme-dark .csf-search input{color:#fff;background-color:#222}.csf-theme-dark .csf-search:focus{background-color:#444}.csf-theme-dark .csf-search::-webkit-input-placeholder{color:#666}.csf-theme-dark .csf-nav ul li a{color:#999;border-color:#2f2f2f;background-color:#222}.csf-theme-dark .csf-nav ul li a:hover{color:#fff}.csf-theme-dark .csf-nav ul li .csf-active{color:#fff;background-color:#111}.csf-theme-dark .csf-nav ul ul li a{border-color:#2f2f2f;background-color:#191919}.csf-theme-dark .csf-nav ul ul li .csf-active{background-color:#101010}.csf-theme-dark .csf-nav ul ul:before{background-color:rgba(34,34,34,.75)}.csf-theme-dark .csf-nav>ul>li:last-child>a{border:none}.csf-theme-dark .csf-nav-normal ul li a{border-bottom-width:1px;border-bottom-style:solid}.csf-theme-dark .csf-nav-normal ul li .csf-active:after{content:" ";position:absolute;right:0;top:50%;height:0;width:0;pointer-events:none;border:solid transparent;border-right-color:#fff;border-width:4px;margin-top:-4px}.csf-theme-dark .csf-nav-inline{background-color:#222}.csf-theme-dark .csf-nav-inline ul li a{text-align:center;border-right-width:1px;border-right-style:solid}.csf-theme-dark .csf-nav-inline ul li .csf-active:after{content:" ";position:absolute;left:50%;bottom:0;height:0;width:0;pointer-events:none;border:solid transparent;border-bottom-color:#fff;border-width:4px;margin-left:-4px}.csf-theme-dark .csf-nav-background{background-color:#222}.csf-theme-dark .csf-footer{color:#555;background-color:#050505}.csf-theme-light .csf-container{border:1px solid #ccd0d4;box-shadow:0 0 15 rgba(0,0,0,.04)}.csf-theme-light .csf-header-inner{border-bottom:1px solid #ccd0d4;background-color:#f5f5f5;background:linear-gradient(#fefefe,#f5f5f5)}.csf-theme-light .csf-header-inner h1 small{color:#999}.csf-theme-light .csf-expand-all{color:#999;background-color:#eee}.csf-theme-light .csf-expand-all:hover{color:#555}.csf-theme-light .csf-search input{color:#555;background-color:#eee}.csf-theme-light .csf-search input::-webkit-input-placeholder{color:#999}.csf-theme-light .csf-nav ul li a{font-weight:500;color:#444;background-color:#f5f5f5}.csf-theme-light .csf-nav ul li a:hover{color:#111;background-color:#fff}.csf-theme-light .csf-nav ul li .csf-active{color:#111;background-color:#fff}.csf-theme-light .csf-nav ul ul li a{background-color:#eee}.csf-theme-light .csf-nav-normal>ul{margin-right:-1px;margin-bottom:-1px}.csf-theme-light .csf-nav-normal>ul li a{border-bottom:1px solid #ccd0d4;border-right:1px solid #ccd0d4}.csf-theme-light .csf-nav-normal>ul li .csf-active{border-right-color:#fff}.csf-theme-light .csf-nav-inline{background-color:#f5f5f5;border-bottom:1px solid #ccd0d4}.csf-theme-light .csf-nav-inline>ul{margin-bottom:-1px}.csf-theme-light .csf-nav-inline>ul li a{text-align:center;border-right:1px solid #ccd0d4;border-bottom:1px solid #ccd0d4}.csf-theme-light .csf-nav-inline>ul li .csf-active{border-bottom-color:#fff}.csf-theme-light .csf-nav-inline>ul ul{display:none!important}.csf-theme-light .csf-nav-inline .csf-arrow:after{display:none}.csf-theme-light .csf-nav-background{background-color:#f5f5f5;border-right:1px solid #ccd0d4}.csf-theme-light .csf-footer{color:#555;border-top:1px solid #ccd0d4;background-color:#f5f5f5;background:linear-gradient(#fafafa,#f5f5f5)}.csf-field{position:relative;padding:30px}.csf-field+.csf-field{border-top:1px solid #eee}.csf-field p:first-child{margin-top:0}.csf-field p:last-child{margin-bottom:0}.csf-field:after,.csf-field:before{content:" ";display:table}.csf-field:after{clear:both}.csf-field h4{margin-top:0}.csf-field .csf-title{position:relative;width:20%;float:left}.csf-field .csf-title h4{margin:0;color:#23282d}.csf-field .csf-fieldset{float:right;width:calc(80% - 20px)}.csf-pseudo-field{padding:0 5px 0 0!important;display:inline-block}.csf-pseudo-field+.csf-pseudo-field{border:0}.csf-pseudo-field pre{display:none}.csf-field-accordion .csf-accordion-item{position:relative;margin-bottom:5px}.csf-field-accordion .csf-accordion-item:last-child{margin-bottom:0}.csf-field-accordion .csf-accordion-item h4{font-size:1em}.csf-field-accordion .csf-accordion-title{display:block;cursor:pointer;position:relative;margin:0;padding:15px;min-height:0;font-size:100%;user-select:none;border:1px solid #ccd0d4;background-color:#fafafa;box-shadow:0 1px 1px rgba(0,0,0,.04);transition:border-color .15s}.csf-field-accordion .csf-accordion-title:active,.csf-field-accordion .csf-accordion-title:focus,.csf-field-accordion .csf-accordion-title:hover{outline:0;border-color:#999}.csf-field-accordion .csf-accordion-title .csf--icon{width:20px;text-align:center;margin-right:2px}.csf-field-accordion .csf-accordion-icon{width:16px;text-align:center}.csf-field-accordion .csf-accordion-content{display:none;padding:0;border:1px solid #ccd0d4;border-top:none;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.csf-field-accordion .csf-accordion-content>.csf-field{padding:15px}.csf-field-accordion .csf-accordion-open{display:block}.csf-field-background .csf-field{border:0!important;padding:0;margin-bottom:6px;margin-right:6px}.csf-field-background .csf--title{color:#777;font-size:12px}.csf-field-background .csf--background-colors{display:flex;flex-wrap:wrap}.csf-field-background .csf--background-attributes{display:flex;flex-wrap:wrap}.csf-field-background .csf--background-attributes select{min-width:100%;margin:0}.csf-field-background .csf--background-attributes .csf-field{flex:1}.csf-field-background .csf--attributes-hidden{display:none}.csf-field-backup textarea{width:100%;min-height:200px;margin-bottom:5px}.csf-field-backup small{display:inline-block;margin:5px}.csf-field-backup hr{margin:20px 0;border:none;border-bottom:1px solid #e5e5e5}.csf-field-border .csf--inputs,.csf-field-dimensions .csf--inputs,.csf-field-spacing .csf--inputs{float:left;display:flex;flex-wrap:wrap}.csf-field-border .csf--input,.csf-field-dimensions .csf--input,.csf-field-spacing .csf--input{display:flex;padding-right:6px;padding-bottom:4px;box-sizing:border-box}.csf-field-border .csf--input select,.csf-field-dimensions .csf--input select,.csf-field-spacing .csf--input select{margin:0}.csf-field-border .csf--input input,.csf-field-dimensions .csf--input input,.csf-field-spacing .csf--input input{position:relative;z-index:1;margin:0;width:65px;max-width:100%;text-align:center}.csf-field-border .csf--color,.csf-field-dimensions .csf--color,.csf-field-spacing .csf--color{float:left}.csf-field-border .csf--label,.csf-field-dimensions .csf--label,.csf-field-spacing .csf--label{display:flex;flex-direction:column;justify-content:center;user-select:none;min-width:20px;max-width:100%;padding:0 4px;font-size:12px;text-align:center;color:#555;border:1px solid #7b776c;background-color:#f5f5f5}.csf-field-border .csf--icon,.csf-field-dimensions .csf--icon,.csf-field-spacing .csf--icon{border-right:0;border-radius:4px 0 0 4px}.csf-field-border .csf--icon+input,.csf-field-dimensions .csf--icon+input,.csf-field-spacing .csf--icon+input{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.csf-field-border .csf--unit,.csf-field-dimensions .csf--unit,.csf-field-spacing .csf--unit{border-left:0;border-radius:0 4px 4px 0}.csf-field-border .csf--is-unit,.csf-field-dimensions .csf--is-unit,.csf-field-spacing .csf--is-unit{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.csf-field-button_set .csf--buttons{display:inline-block}.csf-field-button_set .csf--button{position:relative;z-index:1;float:left;cursor:pointer;padding:7px 14px;min-width:16px;text-align:center;color:#555;border:1px solid #ccc;background-color:#f7f7f7;user-select:none;box-shadow:0 1px 0 rgba(0,0,0,.1)}.csf-field-button_set .csf--button:first-child{border-radius:4px 0 0 4px}.csf-field-button_set .csf--button:last-child{border-radius:0 4px 4px 0}.csf-field-button_set .csf--button:not(:first-child){margin-left:-1px}.csf-field-button_set .csf--button:hover{background-color:#eee}.csf-field-button_set .csf--active,.csf-field-button_set .csf--active:hover{z-index:2;color:#fff;border-color:#006799;background-color:#0085ba}.csf-field-button_set input{display:none}.csf-field-checkbox ul,.csf-field-radio ul{margin:0;padding:0;list-style-type:none;overflow-y:auto;max-height:305px}.csf-field-checkbox ul li,.csf-field-radio ul li{margin-bottom:6px}.csf-field-checkbox ul ul,.csf-field-radio ul ul{max-height:none}.csf-field-checkbox ul ul li,.csf-field-radio ul ul li{margin-left:8px}.csf-field-checkbox ul ul li:first-child,.csf-field-radio ul ul li:first-child{margin-left:0}.csf-field-checkbox input,.csf-field-radio input{margin:0 1px}.csf-field-checkbox .csf--inline-list li,.csf-field-radio .csf--inline-list li{display:inline-block;margin-right:15px}.csf-field-checkbox .csf--text,.csf-field-radio .csf--text{margin-left:5px;vertical-align:middle}.csf-field-checkbox .csf-checker,.csf-field-radio .csf-checker{cursor:pointer}.csf-field-checkbox .csf-checkbox-all,.csf-field-radio .csf-checkbox-all{user-select:none;cursor:pointer;margin-top:5px;font-weight:500;text-decoration:none}.csf-field-code_editor .CodeMirror{width:100%;height:400px}.csf-field-code_editor .cm-s-default{border:1px solid #ccd0d4}.csf-field-code_editor textarea{width:100%;height:400px}.csf-field-color>input{opacity:.75;width:115px;max-width:100%}.csf-field-color .button.wp-picker-clear{padding:0 8px;margin-left:6px;line-height:2.54545455;min-height:30px}.csf-field-color_group .csf--left{float:left;margin-right:10px;margin-bottom:5px}.csf-field-color_group .csf--title{color:#999;margin-bottom:5px}.csf-field-fieldset .csf-fieldset-content{border:1px solid #ccd0d4;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.csf-field-fieldset .csf-fieldset-content>.csf-field{padding:15px}.csf-field-fieldset .csf-field-subheading{font-size:13px}.csf-field-date input{margin:0}.csf-field-date .csf--to{margin-left:7px}.csf-datepicker-wrapper{margin-top:5px;width:auto;background-color:#fff;z-index:9999999!important;box-shadow:0 0 30px rgba(0,0,0,.15)}.csf-datepicker-wrapper *{float:none;margin:0;padding:0;font-family:inherit;font-weight:400;font-style:normal;text-decoration:none;border:0;border-radius:0;box-shadow:none}.csf-datepicker-wrapper .ui-datepicker-header,.csf-datepicker-wrapper .ui-widget-header{color:#fff;background:#00a0d2}.csf-datepicker-wrapper .ui-datepicker-header .ui-state-hover{cursor:pointer}.csf-datepicker-wrapper .ui-datepicker-title{font-size:14px;line-height:40px;text-align:center}.csf-datepicker-wrapper .ui-datepicker-next,.csf-datepicker-wrapper .ui-datepicker-prev{position:static;top:auto;left:auto;right:auto;font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:12px;text-align:center;width:41px;height:40px;line-height:40px;color:#fff;background-color:rgba(255,255,255,.1);text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.csf-datepicker-wrapper .ui-datepicker-next span,.csf-datepicker-wrapper .ui-datepicker-prev span{display:none}.csf-datepicker-wrapper .ui-datepicker-prev{float:left}.csf-datepicker-wrapper .ui-datepicker-next{float:right}.csf-datepicker-wrapper .ui-datepicker-prev:before{content:"\f053"}.csf-datepicker-wrapper .ui-datepicker-next:before{content:"\f054"}.csf-datepicker-wrapper .ui-datepicker-next-hover,.csf-datepicker-wrapper .ui-datepicker-prev-hover{opacity:.75}.csf-datepicker-wrapper tbody .ui-datepicker-week-col{background-color:#f7f7f7}.csf-datepicker-wrapper .ui-datepicker-buttonpane{padding:10px;text-align:center;background-color:#f7f7f7}.csf-datepicker-wrapper .ui-datepicker-buttonpane button{cursor:pointer;margin:0 5px;padding:7px 14px;border:1px solid #eee;background-color:#fff}.csf-datepicker-wrapper select{margin:0 4px}.csf-datepicker-wrapper select option{color:#555}.csf-datepicker-wrapper table{font-size:13px;border-collapse:collapse;width:100%}.csf-datepicker-wrapper thead{color:#fff;background:#32373c}.csf-datepicker-wrapper th{text-align:center;padding:7px;border:1px solid #444}.csf-datepicker-wrapper td{text-align:center;border:1px solid #f4f4f4}.csf-datepicker-wrapper td.ui-datepicker-other-month{border:transparent}.csf-datepicker-wrapper td .ui-state-default{color:#555;width:auto;display:block;padding:6px 12px}.csf-datepicker-wrapper td .ui-state-active,.csf-datepicker-wrapper td .ui-state-hover{color:#fff;background-color:#0073aa}.csf-datepicker-wrapper td.ui-state-disabled .ui-state-default{opacity:.5}.csf-field-datetime input{margin:0}.csf-field-datetime .csf--to{margin-left:7px}.csf-flatpickr input,.csf-flatpickr select{min-height:auto}.csf-flatpickr input:focus,.csf-flatpickr select:focus{box-shadow:none}.csf-flatpickr.open{z-index:9999999!important}.csf-field-gallery ul{margin:0;padding:0;list-style-type:none}.csf-field-gallery ul li{display:inline-block;position:relative;padding:4px;margin:0 5px 10px 0;border:1px solid #ccc;background-color:#f9f9f9;border-radius:2px;box-shadow:0 1px 0 rgba(0,0,0,.08)}.csf-field-gallery ul li img{max-height:60px;display:inline-block;vertical-align:middle}.csf-field-gallery .button{margin-right:5px;margin-bottom:5px}.csf-field-group .csf-cloneable-hidden{display:none!important}.csf-field-group .csf-cloneable-wrapper{position:relative}.csf-field-group .csf-cloneable-item{display:none;position:relative;margin-bottom:5px}.csf-field-group .csf-cloneable-item h4{font-size:1em}.csf-field-group .ui-accordion .csf-cloneable-item{display:block}.csf-field-group .csf-cloneable-content{border:1px solid #ccd0d4;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.csf-field-group .csf-cloneable-content>.csf-field{padding:15px}.csf-field-group .csf-cloneable-title{display:block;cursor:pointer;position:relative;user-select:none;margin:0;padding:15px 65px 15px 10px;min-height:0;font-size:100%;border:1px solid #ccd0d4;background-color:#fafafa;box-shadow:0 1px 1px rgba(0,0,0,.04);transition:border-color .15s}.csf-field-group .csf-cloneable-title:active,.csf-field-group .csf-cloneable-title:focus,.csf-field-group .csf-cloneable-title:hover{border-color:#999;outline:0}.csf-field-group .csf-cloneable-helper{position:absolute;top:12px;right:10px;z-index:1;font-size:14px;line-height:1em}.csf-field-group .csf-cloneable-helper i{display:inline-block;cursor:pointer;padding:5px;color:#999}.csf-field-group .csf-cloneable-helper i:hover{color:#555}.csf-field-group .csf-cloneable-content{padding:0;border-top:0}.csf-field-group .csf-cloneable-title-number,.csf-field-group .csf-cloneable-title-prefix{margin-right:5px}.csf-field-group .csf-cloneable-alert{display:none;margin-bottom:5px;padding:10px 20px;color:#a94442;border:1px solid #ebccd1;background-color:#f2dede}.csf-field-group .widget-placeholder{margin-bottom:10px;border:1px dashed #f1c40f;background-color:#fffae4}.csf-field-group .csf-cloneable-header-icon{display:inline-block;text-align:center;font-size:14px;width:17px;text-indent:0;vertical-align:text-top}.csf-field-group .csf-cloneable-placeholder{background-color:#ddd;margin-top:4px;width:100px;height:10px;font-size:10px;line-height:10px;display:inline-block;vertical-align:top;border-radius:2px}.csf-field-icon .csf-icon-select{display:flex;grid-gap:5px}.csf-field-icon .csf-icon-preview:not(.hidden){display:flex}.csf-field-icon .csf-icon-preview i{display:flex;justify-content:center;align-items:center;width:30px;font-size:14px;text-align:center;vertical-align:top;color:#555;border:1px solid #ccc;background-color:#f7f7f7;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.08)}.csf-field-image_select .csf--image{display:inline-block;margin:0 5px 5px 0}.csf-field-image_select .csf--inline-list .csf--image{display:block}.csf-field-image_select figure{cursor:pointer;position:relative;display:inline-block;max-width:100%;margin:0;vertical-align:bottom;border:2px solid transparent;background-color:#fff;user-select:none;transition:all .2s}.csf-field-image_select figure:before{position:absolute;top:0;left:0;text-align:center;font-size:10px;font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;content:"\f00c";width:16px;height:16px;line-height:14px;opacity:0;color:#fff;background-color:#222;transition:opacity .2s}.csf-field-image_select .csf--active figure{border-color:#222;box-shadow:0 0 20px rgba(0,0,0,.2)}.csf-field-image_select .csf--active figure:before{opacity:1}.csf-field-image_select img{max-width:100%;height:auto;vertical-align:top}.csf-field-image_select input{display:none}.csf-field-link_color .csf--left{float:left;margin-right:10px;margin-bottom:5px}.csf-field-link_color .csf--title{color:#777;margin-bottom:5px}.csf-field-map input{width:100%}.csf-field-map input[type=text].ui-autocomplete-loading{background-position-x:calc(100% - 5px)}.csf-field-map .csf--map-search+.csf--map-osm-wrap{margin-top:10px}.csf-field-map .csf--map-osm-wrap{position:relative;padding:5px;border:1px solid #eee;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.csf-field-map .csf--map-osm{position:relative;z-index:1;min-height:250px}.csf-field-map .csf--map-inputs{margin-top:10px;display:flex;justify-content:space-between}.csf-field-map .csf--map-input{flex:1}.csf-field-map .csf--map-input:last-child{padding-left:10px}.csf-field-map label{display:block;color:#777;font-size:12px;margin:0 0 2px 0}.csf-map-ui-autocomplate{z-index:999999;border-radius:4px;overflow:hidden}.csf-field-media .csf--placeholder{display:flex;align-items:flex-start}.csf-field-media .csf--placeholder input{width:100%;margin:0}.csf-field-media .button{margin-left:5px}.csf-field-media .hidden+.button{margin-left:0}.csf-field-media .csf--preview{position:relative}.csf-field-palette .csf--palette{position:relative;display:inline-block;cursor:pointer;border:2px solid #ddd;margin-right:10px;margin-bottom:10px;user-select:none;-webkit-user-select:none;transition:all .2s}.csf-field-palette .csf--palette span{vertical-align:middle;display:inline-block;width:22px;height:60px;line-height:60px;overflow:hidden;text-indent:-999px}.csf-field-palette .csf--palette:before{position:absolute;top:0;left:0;text-align:center;font-size:10px;font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;content:"\f00c";width:16px;height:16px;line-height:14px;opacity:0;color:#fff;background-color:#222;transition:opacity .2s}.csf-field-palette .csf--active{border-color:#222;box-shadow:0 0 20px rgba(0,0,0,.2)}.csf-field-palette .csf--active:before{opacity:1}.csf-field-palette input{display:none}.csf-field-repeater .csf-field-text input{width:100%}.csf-field-repeater .csf-repeater-hidden{display:none!important}.csf-field-repeater .csf-repeater-wrapper .csf-repeater-item{display:table;width:100%;margin-bottom:5px;border:1px solid #eee}.csf-field-repeater .csf-repeater-wrapper .csf-repeater-item h4{font-size:1em}.csf-field-repeater .csf-repeater-content{width:100%;display:table-cell;vertical-align:middle;background-color:#fff}.csf-field-repeater .csf-repeater-content>.csf-field{padding:15px}.csf-field-repeater .csf-repeater-helper{width:100%;display:table-cell;vertical-align:middle;text-align:center;font-size:14px;line-height:1em;border-left:1px solid #eee;background-color:#f7f7f7}.csf-field-repeater .csf-repeater-helper i{display:inline-block;cursor:pointer;color:#999;padding:5px}.csf-field-repeater .csf-repeater-helper i:hover{color:#555}.csf-field-repeater .csf-repeater-helper-inner{width:75px}.csf-field-repeater .csf-repeater-alert{display:none;margin-bottom:5px;padding:10px 20px;color:#a94442;border:1px solid #ebccd1;background-color:#f2dede}.csf-field-repeater .widget-placeholder{height:50px;margin-bottom:3px;border:1px dashed #f1c40f;background-color:#fffae4}.csf-field-repeater .ui-sortable-helper{height:50px!important;overflow:hidden!important;border-color:#ccc!important;background-color:#eee!important;opacity:.5}.csf-field-repeater .ui-sortable-helper .csf-repeater-content,.csf-field-repeater .ui-sortable-helper .csf-repeater-helper{display:none}.csf-field-select .csf-fieldset{min-height:30px}.csf-field-select .csf-chosen{display:none}.csf-field-select select{max-width:100%;margin:0}.csf-field-select .csf-hide-select{display:none!important}.csf-field-slider .csf--wrap{display:flex;align-items:center}.csf-field-slider .csf--input{display:flex}.csf-field-slider .csf--unit{display:flex;justify-content:center;flex-direction:column;user-select:none;padding:0 6px;font-size:11px;line-height:1;border-radius:0 4px 4px 0;color:#555;border:1px solid #7e8993;border-left:0;background-color:#f5f5f5}.csf-field-slider .csf-slider-ui{margin-right:15px}.csf-field-slider input[type=number]{position:relative;z-index:1;margin:0;width:50px;text-align:center}.csf-field-slider .csf--is-unit{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.csf-field-slider .ui-slider{position:relative;width:100%;height:3px;border:none;background:#ddd;border-radius:2px}.csf-field-slider .ui-slider-range{height:3px;border:none;background:#333;border-radius:2px}.csf-field-slider .ui-slider-handle{position:absolute;width:16px;height:16px;top:-7px;margin-left:-8px;border:none;background:#333;border-radius:2px}.csf-field-slider .ui-slider-handle:hover,.csf-field-slider .ui-state-active{cursor:pointer;background:#111}.csf-field-sortable .csf-field-text input{width:100%;max-width:100%}.csf-field-sortable .csf-sortable .csf-sortable-item{display:table;width:100%;margin-bottom:5px;border:1px solid #eee}.csf-field-sortable .csf-sortable .csf-sortable-item h4{font-size:1em}.csf-field-sortable .csf-sortable-content{width:100%;display:table-cell;vertical-align:middle;background-color:#fff}.csf-field-sortable .csf-sortable-content>.csf-field{padding:15px}.csf-field-sortable .csf-sortable-helper{width:100%;display:table-cell;vertical-align:middle;text-align:center;font-size:14px;line-height:1em;border-left:1px solid #eee;background-color:#f7f7f7}.csf-field-sortable .csf-sortable-helper i{display:inline-block;cursor:pointer;width:50px;color:#555}.csf-field-sortable .csf-sortable-helper i:hover{opacity:.5}.csf-field-sortable .widget-placeholder{height:50px;margin-bottom:3px;border:1px dashed #f1c40f;background-color:#fffae4}.csf-field-sortable .ui-sortable-helper{height:50px!important;overflow:hidden!important;border-color:#ccc!important;background-color:#eee!important;opacity:.5}.csf-field-sortable .ui-sortable-helper .csf-sortable-content,.csf-field-sortable .ui-sortable-helper .csf-sortable-helper{display:none}.csf-field-sorter .ui-sortable-placeholder{height:20px;border:1px dashed #f1c40f;background-color:#fffae4}.csf-field-sorter .csf-modules{float:left;width:50%;box-sizing:border-box}.csf-field-sorter .csf-modules:first-child{padding-right:15px}.csf-field-sorter .csf-modules:last-child{padding-left:15px}.csf-field-sorter .csf-disabled,.csf-field-sorter .csf-enabled{padding:5px 15px;border:1px dashed #ddd;background-color:#fff}.csf-field-sorter .csf-disabled li{opacity:.5;transition:opacity .15s}.csf-field-sorter .csf-disabled .ui-sortable-helper{opacity:1}.csf-field-sorter .csf-sorter-title{font-size:13px;font-weight:600;padding:10px;text-align:center;border:1px dashed #ddd;border-bottom:none;background-color:#f8f8f8;text-transform:uppercase}.csf-field-sorter ul{list-style-type:none;margin:0;padding:0;min-height:62px}.csf-field-sorter ul li{margin:10px 0;padding:10px 15px;cursor:move;font-weight:700;text-align:center;border:1px solid #e5e5e5;background-color:#fafafa;transition:border-color .15s}.csf-field-sorter ul li:hover{border-color:#bbb}.csf-field-spinner .csf--spin{display:flex}.csf-field-spinner .ui-widget{font-family:inherit}.csf-field-spinner .ui-spinner{display:flex;align-items:stretch;overflow:unset;border:none;background:0 0;border-radius:0}.csf-field-spinner .ui-spinner .ui-button{display:flex;flex-direction:column;justify-content:center;text-align:center;min-width:20px;padding:0 4px;margin:0;color:#555;background-color:#f5f5f5;border:1px solid #7e8993}.csf-field-spinner .ui-spinner .ui-spinner-button{position:relative;cursor:pointer;height:auto}.csf-field-spinner .ui-spinner .ui-spinner-button:hover{background-color:#e7e7e7}.csf-field-spinner .ui-spinner .ui-spinner-button:active{background-color:#ddd}.csf-field-spinner .ui-spinner .ui-spinner-button:before{font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:14px;line-height:14px}.csf-field-spinner .ui-spinner .ui-spinner-down{border-right:0;border-radius:4px 0 0 4px}.csf-field-spinner .ui-spinner .ui-spinner-down:before{content:"\f0d9"}.csf-field-spinner .ui-spinner .ui-spinner-up{border-left:0;border-radius:0 4px 4px 0}.csf-field-spinner .ui-spinner .ui-spinner-up:before{content:"\f0da"}.csf-field-spinner .ui-spinner .csf--unit{border-left:0;user-select:none}.csf-field-spinner .ui-spinner .ui-button-icon,.csf-field-spinner .ui-spinner .ui-button-icon-space,.csf-field-spinner .ui-spinner .ui-button-text{display:none}.csf-field-spinner .ui-spinner input{font-family:inherit;font-size:inherit;position:relative;z-index:1;width:50px;text-align:center;margin:0;padding:0 8px;border-radius:0}.csf-field-spinner .ui-spinner-down{order:1}.csf-field-spinner .ui-spinner-input{order:2}.csf-field-spinner .csf--unit{order:3}.csf-field-spinner .ui-spinner-up{order:4}.csf-field-switcher .csf--switcher{float:left;cursor:pointer;position:relative;width:60px;height:26px;padding:0;margin:0;overflow:hidden;border-radius:4px;background-color:#ed6f6f;user-select:none;-webkit-user-select:none}.csf-field-switcher .csf--ball{position:absolute;top:4px;left:4px;width:24px;height:18px;background-color:#fff;border-radius:4px;transition:all .1s;box-shadow:1px 1px 1px rgba(0,0,0,.15)}.csf-field-switcher .csf--off,.csf-field-switcher .csf--on{position:absolute;top:0;left:0;right:0;font-size:11px;line-height:26px;font-weight:500;font-style:normal;text-align:center;text-transform:uppercase;color:#fff;padding-right:28px;opacity:0;transition:all .1s}.csf-field-switcher .csf--off{padding-right:0;padding-left:28px;opacity:1}.csf-field-switcher .csf--active{background:#4fb845}.csf-field-switcher .csf--active .csf--on{opacity:1}.csf-field-switcher .csf--active .csf--off{opacity:0}.csf-field-switcher .csf--active .csf--ball{left:100%;margin-left:-28px}.csf-field-switcher .csf--label{float:left;margin-top:4px;margin-left:8px;font-weight:400;color:#999}.csf-field-tabbed .csf-tabbed-content{border:1px solid #ccd0d4;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.csf-field-tabbed .csf-tabbed-content>.csf-field{padding:15px}.csf-field-tabbed .csf-tabbed-nav .csf--icon{padding-right:5px}.csf-field-tabbed .csf-tabbed-nav a{display:inline-block;padding:12px 15px;margin-top:1px;margin-right:5px;margin-bottom:-1px;position:relative;text-decoration:none;color:#444;font-weight:600;border:1px solid #ccd0d4;background-color:#f3f3f3;transition:all .2s}.csf-field-tabbed .csf-tabbed-nav a:hover{background-color:#f9f9f9}.csf-field-tabbed .csf-tabbed-nav a.csf-tabbed-active{background-color:#fff;border-bottom-color:#fff}.csf-field-tabbed .csf-tabbed-nav a:focus{outline:0;box-shadow:none}.csf-field-text input{width:50%;max-width:100%;margin:0}.csf-field-textarea textarea{width:100%;max-width:100%;min-height:125px}.csf-field-textarea .csf-shortcode-button{margin-bottom:10px;margin-right:5px}.csf-field-typography select,.csf-field-typography textarea{margin:0;min-width:100%;max-width:100%}.csf-field-typography .csf--title{color:#777;margin:0 0 2px 0;font-size:12px}.csf-field-typography .csf--title small{vertical-align:top}.csf-field-typography .csf--blocks{display:flex;flex-wrap:wrap}.csf-field-typography .csf--block{flex:1;max-width:100%;padding-right:6px;padding-bottom:6px}.csf-field-typography .csf--input{margin:0;min-width:100%}.csf-field-typography .csf--input-wrap{position:relative}.csf-field-typography .csf--unit{position:absolute;z-index:1;right:4px;top:4px;bottom:4px;padding:2px 6px;color:#666;font-size:11px;line-height:1;border-radius:2px;background:#eee;user-select:none;display:flex;justify-content:center;flex-direction:column}.csf-field-typography .csf--preview{font-size:16px;line-height:20px;padding:20px;color:#222;border:1px solid #eee;background-color:#fff;border-radius:2.5px;user-select:none;-webkit-user-select:none;transition:background-color .2s,border-color .2s}.csf-field-typography .csf--block-preview{cursor:pointer;position:relative;overflow:hidden;margin-top:10px;max-width:100%}.csf-field-typography .csf--black-background{border-color:#000;background-color:#000}.csf-field-typography .csf--toggle{position:absolute;top:5px;right:10px;color:#999}.csf-field-typography .csf--block-extra-styles{margin-top:5px}.csf-field-upload input{width:100%;margin:0}.csf-field-upload .csf--wrap{display:flex;align-items:flex-start}.csf-field-upload .button{margin-left:5px}.csf-field-upload .csf--preview{position:relative}.csf-field-wp_editor .csf-wp-editor{float:left;width:100%}.csf-field-wp_editor .mce-toolbar-grp{border:none}.csf-field-wp_editor .mce-btn.mce-active button,.csf-field-wp_editor .mce-btn.mce-active i,.csf-field-wp_editor .mce-btn.mce-active:hover button,.csf-field-wp_editor .mce-btn.mce-active:hover i{color:#23282d}.csf-field-wp_editor .wp-media-buttons{position:relative;z-index:2}.csf-field-wp_editor .wp-editor-tabs{position:relative;z-index:1}.csf-field-wp_editor .csf-no-tinymce{border:1px solid #e5e5e5}.csf-field-wp_editor .csf-no-quicktags .wp-media-buttons{float:none;display:block}.csf-field-wp_editor .csf-no-quicktags .mce-tinymce{box-shadow:none;border:1px solid #e5e5e5}.csf-field-wp_editor textarea{width:100%;max-width:100%;margin:0;box-shadow:none}.csf-field-heading{font-size:1.5em;font-weight:700;color:#23282d;background-color:#f5f5f5}.csf-field-subheading{font-size:14px;font-weight:700;padding-top:17px;padding-bottom:17px;color:#23282d;background-color:#f7f7f7}.csf-field-submessage{padding:0!important;border:0!important}.csf-field-submessage+.csf-field{border-top:0!important}.csf-submessage{font-size:12px;padding:17px 30px;border-top:1px solid transparent;border-bottom:1px solid transparent}.csf-submessage-success{color:#3c763d;border-color:#d6e9c6;background-color:#dff0d8}.csf-submessage-info{color:#31708f;border-color:#bce8f1;background-color:#d9edf7}.csf-submessage-warning{color:#8a6d3b;border-color:#faebcc;background-color:#fcf8e3}.csf-submessage-danger{color:#a94442;border-color:#ebccd1;background-color:#f2dede}.csf-submessage-normal{color:#23282d;border-color:#eee;background-color:#f7f7f7}.csf-field-notice{background-color:#f7f7f7}.csf-notice{padding:12px;background-color:#fff;border-left-style:solid;border-left-width:4px;box-shadow:0 1px 1px rgba(0,0,0,.1)}.csf-notice-success{border-color:#46b450}.csf-notice-info{border-color:#339fd4}.csf-notice-warning{border-color:#ffbc00}.csf-notice-danger{border-color:#dc3232}.csf-notice-normal{border-color:#222}.csf-field-number input{width:100%;margin:0}.csf-field-number .csf--wrap{position:relative;float:left;width:100px}.csf-field-number .csf--unit{position:absolute;z-index:1;right:4px;top:4px;bottom:4px;padding:2px 6px;color:#666;font-size:11px;line-height:1;border-radius:2px;background:#eee;user-select:none;display:flex;justify-content:center;flex-direction:column}.csf-field-link .csf--result{display:inline-block;font-size:12px;line-height:16px;padding:7px 10px;margin-bottom:7px;color:#777;border:1px solid #e5e5e5;background-color:#f5f5f5;border-radius:2px;world-break:break-word}.csf-field-link .csf--wrap{position:relative;float:left;width:100px}.csf-field-link .csf--unit{position:absolute;z-index:1;right:4px;top:4px;bottom:4px;padding:2px 6px;color:#666;font-size:11px;line-height:1;border-radius:2px;background:#eee;user-select:none;display:flex;justify-content:center;flex-direction:column}.csf-help{cursor:help;position:absolute;top:0;right:0;padding:5px;font-size:13px;color:#aaa}.csf-help .csf-help-text{display:none}.csf--preview{max-width:100%}.csf-image-preview{display:inline-flex;align-items:center;justify-content:center;flex-direction:column;position:relative;padding:6px;max-width:120px;max-height:120px;min-width:40px;min-height:40px;margin-bottom:10px;text-align:center;border-radius:2px;border:1px solid #ccc;background-color:#f9f9f9;box-shadow:0 1px 0 rgba(0,0,0,.08)}.csf-image-preview i{cursor:pointer;position:absolute;z-index:1;right:4px;top:4px;font-size:14px;width:22px;height:22px;line-height:22px;text-align:center;text-decoration:none;color:#fff;background-color:#d33;opacity:.75;border-radius:2px;transition:all .2s}.csf-image-preview i:hover{opacity:1}.csf-image-preview i:focus{box-shadow:none}.csf-image-preview span{position:relative;overflow:hidden;display:flex;height:100%;width:100%}.csf-image-preview img{max-width:100%;height:auto;object-fit:contain}.csf-field-custom .csf-field{padding:0}.csf-field .chosen-container-single .chosen-single{height:28px;line-height:26px}.csf-field .chosen-container-single .chosen-single abbr{top:0;right:20px;font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:12px;height:100%;width:18px;color:#aaa;text-align:center;background:0 0}.csf-field .chosen-container-single .chosen-single abbr:before{content:"\f00d"}.csf-field .chosen-container-single .chosen-single abbr:hover{color:#555}.csf-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close{font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:12px;height:100%;width:18px;color:#aaa;text-align:center;background:0 0}.csf-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close:before{content:"\f00d";display:inline-block;padding-top:3px}.csf-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover{color:#555}.csf-field .chosen-container-single .chosen-single div b{font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:14px;color:#aaa;background:0 0}.csf-field .chosen-container-single .chosen-single div b:before{content:"\f107"}.csf-field .chosen-container-single .chosen-single div b:hover{color:#555}.csf-field .chosen-container-multi .chosen-choices li.search-choice-placeholder{border:1px dashed #aaa;margin:3px 5px 3px 0}.csf-field .chosen-container-multi .ui-sortable li.search-choice span{cursor:move}.csf-field .chosen-container-active.chosen-with-drop .chosen-single div b:before{content:"\f106"}.csf-field .chosen-container-single .chosen-single-with-deselect span{margin-right:40px}.csf-field .chosen-container-single .chosen-search input[type=text]{background:0 0}.csf-field .chosen-container-single .chosen-search:before{font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:11px;content:"\f002";position:absolute;right:12px;top:10px;color:#aaa}.csf-field .wp-picker-container{display:inline-block}.csf-field .wp-picker-container .wp-color-result.button{margin-bottom:0}.csf-field .csf--transparent-wrap{display:none;position:relative;top:-1px;width:235px;padding:9px 10px;border:1px solid #dfdfdf;border-top:none;background-color:#fff}.csf-field .wp-picker-active .csf--transparent-wrap{display:block}.csf-field .csf--transparent-slider{position:absolute;width:190px;margin-left:2px;height:18px}.csf-field .csf--transparent-slider .ui-slider-handle{position:absolute;top:-3px;bottom:-3px;z-index:5;border-color:#aaa;border-style:solid;border-width:4px 3px;width:10px;height:16px;margin:0 -5px;background:0 0;cursor:ew-resize;opacity:.9;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.2)}.csf-field .csf--transparent-slider .ui-slider-handle:before{content:" ";position:absolute;left:-2px;right:-2px;top:-3px;bottom:-3px;border:2px solid #fff;border-radius:3px}.csf-field .csf--transparent-offset{height:18px;width:200px;background:url(../images/checkerboard.png) repeat-y center left scroll #fff;border-radius:2px;box-shadow:inset 0 0 5px rgba(0,0,0,.4)}.csf-field .csf--transparent-text{position:absolute;top:12px;right:10px;width:30px;font-size:12px;line-height:12px;text-align:center;color:#999}.csf-field .csf--transparent-button{cursor:pointer;user-select:none;margin-top:10px;font-size:11px;text-align:center;border-radius:2px;padding:3px 7px;box-shadow:0 1px 0 rgba(0,0,0,.1);letter-spacing:.2px;color:#777;border:1px solid #ccc;background-color:#f7f7f7;transition:background-color .2s,border-color .2s,color .2s}.csf-field .csf--transparent-active .wp-color-result{background-image:url(../images/checkerboard.png);background-size:135px;background-position:center left;background-color:transparent!important}.csf-field .csf--transparent-active .csf--transparent-button{color:#fff;border-color:#3ea032;background-color:#4fb845}.csf-field .csf--transparent-active .fa:before{content:"\f205"}.csf-widgets>.csf-field{position:relative;top:-1px;margin-left:-15px;margin-right:-15px;padding:12px 15px}.csf-widgets>.csf-field .csf-title{float:none;width:100%;margin-bottom:5px}.csf-widgets>.csf-field .csf-fieldset{float:none;width:100%}.csf-widgets .csf-field-text input{width:100%}.csf-widgets .csf-field-notice .csf-notice{padding:15px}.control-section .csf-widgets>.csf-field{margin-left:-10px;margin-right:-10px;padding:10px 12px}.wp-block .csf-widgets{font-size:13px}.wp-block .csf-widgets>.csf-field{margin-left:-10px;margin-right:-10px}.wp-block .csf-widgets>.csf-field .button-primary{color:#fff}.wp-block .csf-widgets>.csf-field>.csf-title>h4{font-size:13px}.control-section .csf-field{padding:0}.control-section .csf-field .csf-title{float:none;width:100%;margin-bottom:6px}.control-section .csf-field .csf-title h4{display:block;font-size:13px;line-height:1;font-weight:600;color:inherit}.control-section .csf-field .csf-fieldset{float:none;width:100%}.control-section .csf-help{top:-5px;right:-5px}.control-section .csf-field-select select{width:100%}.control-section .csf-field-heading{color:inherit;font-size:14px;line-height:1em;margin-right:-15px;margin-left:-15px;padding:15px}.control-section .csf-field-subheading{color:inherit;font-size:11px;margin-right:-15px;margin-left:-15px;padding:10px 15px}.control-section .csf-subtitle-text{margin-top:4px;font-size:12px}.control-section .csf-field-submessage .csf-submessage{margin-right:-15px;margin-left:-15px;padding:15px}.control-section .csf-fieldset .csf-field-heading,.control-section .csf-fieldset .csf-field-subheading,.control-section .csf-fieldset .csf-field-submessage .csf-submessage{margin-left:0;margin-right:0}.control-section .csf-field-date label,.control-section .csf-field-datetime label{display:block}.control-section .csf-field-date .csf--to,.control-section .csf-field-datetime .csf--to{margin-top:4px;margin-left:0}.control-section .csf-field-sorter ul li{padding:5px}.control-section .csf-field-sorter .csf-modules{float:none;width:100%}.control-section .csf-field-sorter .csf-modules:first-child{padding-right:0;padding-bottom:15px}.control-section .csf-field-background .csf--background-attributes{flex-direction:column}.control-section .csf-field-spacing input{width:90px}.control-section .csf-field-border .csf--input{flex:1 50%}.control-section .csf-field-border input,.control-section .csf-field-border select{width:100%}.control-section .csf-field-spinner input{width:50px}.control-section .csf-field-number .csf--wrap{width:100%}.control-section .csf-field-backup .csf-export-data{display:none}.control-section .csf-field-fieldset .csf-fieldset-content{border-color:#e5e5e5}.control-section .csf-accordion-content>.csf-field,.control-section .csf-cloneable-content>.csf-field,.control-section .csf-fieldset-content>.csf-field,.control-section .csf-repeater-content>.csf-field,.control-section .csf-sortable-content>.csf-field,.control-section .csf-tabbed-content>.csf-field{padding:10px}.control-section .csf-accordion-content>.csf-field .csf-title,.control-section .csf-cloneable-content>.csf-field .csf-title,.control-section .csf-fieldset-content>.csf-field .csf-title,.control-section .csf-repeater-content>.csf-field .csf-title,.control-section .csf-sortable-content>.csf-field .csf-title,.control-section .csf-tabbed-content>.csf-field .csf-title{margin-bottom:5px}.control-section .csf-accordion-content>.csf-field h4,.control-section .csf-cloneable-content>.csf-field h4,.control-section .csf-fieldset-content>.csf-field h4,.control-section .csf-repeater-content>.csf-field h4,.control-section .csf-sortable-content>.csf-field h4,.control-section .csf-tabbed-content>.csf-field h4{font-size:12px}.control-section .csf-depend-hidden.csf-depend-on{display:none!important}.control-section .csf-depend-visible.csf-depend-on{border-top:0!important}.csf-taxonomy{max-width:95%}.csf-taxonomy>.csf-field{border-top:none!important}.csf-taxonomy>.csf-field-heading{font-size:1.1em;padding:20px!important;border:1px solid #ddd}.csf-taxonomy>.csf-field-subheading{font-size:12px;padding:15px!important;border:1px solid #ddd}.csf-taxonomy>.csf-field-submessage .csf-submessage{padding:15px;border-left-width:1px;border-left-style:solid;border-right-width:1px;border-right-style:solid}.csf-taxonomy>.csf-field-notice{background-color:transparent}.csf-taxonomy .csf-section-title{display:block;padding:15px;background-color:#f9f9f9;border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04)}.csf-taxonomy-add-fields>.csf-field{padding:8px 0}.csf-taxonomy-add-fields>.csf-field>.csf-title{float:none;width:100%;padding:2px 2px 4px 0}.csf-taxonomy-add-fields>.csf-field>.csf-title h4{font-size:12px;font-weight:400}.csf-taxonomy-add-fields>.csf-field>.csf-fieldset{float:none;width:100%}.csf-taxonomy-add-fields>.csf-field>.csf-fieldset>.csf-help{right:-5px}.csf-taxonomy-add-fields+p.submit{margin-top:0}.csf-taxonomy-edit-fields>.csf-field{padding:20px 0}.csf-taxonomy-edit-fields>.csf-field>.csf-title{width:200px}.csf-taxonomy-edit-fields>.csf-field>.csf-title h4{font-size:14px;font-weight:600;line-height:1.3;display:inline-block;vertical-align:middle}.csf-taxonomy-edit-fields>.csf-field>.csf-fieldset{width:calc(100% - 220px)}.csf-taxonomy-edit-fields>.csf-field>.csf-fieldset>.csf-help{top:-5px;right:-5px}.csf-taxonomy-edit-fields>.csf-field-submessage{margin:20px 0}.csf-taxonomy-edit-fields>.csf-field-heading,.csf-taxonomy-edit-fields>.csf-field-subheading{margin:20px 0;border:1px solid #ddd}.csf-nav-menu-options{clear:both;float:left;width:100%}.csf-nav-menu-options>.csf-fields{margin:10px -10px;border-top:1px solid #eee;border-bottom:1px solid #eee}.csf-nav-menu-options>.csf-fields>.csf-field{padding:12px}.csf-nav-menu-options>.csf-fields>.csf-field .csf-title{float:none;width:100%;margin-bottom:5px}.csf-nav-menu-options>.csf-fields>.csf-field .csf-fieldset{float:none;width:100%}.csf-nav-menu-options .csf-field-text input{width:100%}.csf-nav-menu-options .csf-field-notice .csf-notice{padding:15px}.csf-nav-menu-title{padding:12px;background-color:#f5f5f5;border-top:1px solid #eee;border-bottom:1px solid #eee}.csf-nav-menu-title:first-child{border-top:0}.csf-nav-menu-title h4{margin:0;padding:0;color:#23282d}.csf-nav-menu-icon{margin-right:5px}.csf-profile-options>h2>.fa{padding-right:7px}.csf-profile-options>.csf-field{max-width:750px;padding:15px 0;border-top:none!important}.csf-profile-options>.csf-field>.csf-title{width:200px}.csf-profile-options>.csf-field>.csf-title h4{font-size:14px;font-weight:600;line-height:1.3;display:inline-block;vertical-align:middle}.csf-profile-options>.csf-field>.csf-fieldset{width:calc(100% - 220px)}.csf-profile-options>.csf-field>.csf-fieldset>.csf-help{top:-15px;right:-5px}.csf-profile-options>.csf-field-heading{font-size:1.1em}.csf-profile-options>.csf-field-subheading{font-size:12px}.csf-profile-options>.csf-field-heading,.csf-profile-options>.csf-field-subheading{margin:10px 0;padding:15px!important;border:1px solid #ddd}.csf-profile-options>.csf-field-submessage{margin:20px 0}.csf-profile-options>.csf-field-submessage .csf-submessage{padding:10px;border-left-width:1px;border-left-style:solid;border-right-width:1px;border-right-style:solid}.csf-profile-options>.csf-field-notice{background-color:transparent}.csf-modal{position:fixed;z-index:100101;top:0;left:0;width:100%;height:100%}.csf-modal.hidden{display:none}.csf-modal-icon{z-index:100102}.csf-modal-table{display:table;width:100%;height:100%}.csf-modal-table-cell{display:table-cell;vertical-align:middle;margin:100px 0}.csf-modal-inner{position:relative;z-index:10;width:760px;height:750px;margin:0 auto;background-color:#fff}.csf-modal-content{position:relative;overflow:hidden;overflow-y:auto;height:595px}.csf-modal-content .csf-shortcode-button{display:none}.csf-modal-content .csf-field{padding:15px 30px 15px 15px}.csf-modal-content a:active,.csf-modal-content a:focus{outline:0;box-shadow:none}.csf-modal-content h4{font-size:13px}.csf-modal-content h4 small{font-style:italic;font-weight:400;color:#aaa}.csf-modal-title{position:relative;background-color:#fcfcfc;border-bottom:1px solid #ddd;height:36px;font-size:16px;font-weight:600;line-height:36px;margin:0;padding:0 36px 0 16px}.csf-modal-header{width:100%;padding:14px 0;background-color:#f5f5f5;border-bottom:1px solid #ddd}.csf-modal-header select{display:block;width:250px;margin:0 auto;font-size:13px;line-height:1;height:30px;min-height:30px;background-color:#fff}.csf-modal-close{color:#666;padding:0;position:absolute;top:0;right:0;width:36px;height:36px;text-align:center;background:0 0;border:none;cursor:pointer}.csf-modal-close:before{font:normal 20px/36px dashicons;content:"\f158";vertical-align:top;width:36px;height:36px}.csf-modal-close:hover{opacity:.5}.csf-modal-insert-wrapper{text-align:center;width:100%;padding:15px 0;background-color:#f5f5f5;border-top:1px solid #ddd}.csf-modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000;opacity:.5}.csf--repeatable{padding:15px 15px 0 15px}.csf--repeat-button-block{text-align:center;padding-bottom:15px}.csf--repeat-shortcode{position:relative;margin-bottom:15px;border:1px dashed #ddd}.csf--repeat-shortcode:first-child .csf-repeat-remove{display:none}.csf--repeat-shortcode .csf-repeat-remove{position:absolute;right:10px;top:10px;z-index:10;cursor:pointer;display:inline-block;font-size:11px;width:18px;height:18px;line-height:18px;text-align:center;border-radius:2px;color:#fff;background-color:#e14d43;opacity:.5}.csf--repeat-shortcode .csf-repeat-remove:hover{opacity:.5}.csf-shortcode-single .csf-modal-inner{height:750px}.csf-shortcode-single .csf-modal-content{height:652px}.elementor-editor-active .csf-shortcode-button{margin-left:5px}.elementor-editor-active .csf-modal .hidden{display:none!important}.csf-shortcode-block{text-align:center;padding:14px;font-size:13px;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}.csf-shortcode-block .components-button{margin-bottom:10px}.csf-modal-icon .csf-icon-title{padding:15px 0;margin:4px;font-size:14px;font-weight:700;text-align:center;border:1px solid #eee;background-color:#f7f7f7}.csf-modal-icon .csf-modal-header{text-align:center}.csf-modal-icon .csf-icon-search{width:50%;height:40px;line-height:40px}.csf-modal-icon i{cursor:pointer;display:inline-block;margin:4px;width:35px;height:35px;line-height:35px;font-size:16px;color:#555;text-align:center;border:1px solid #ccc;background-color:#f7f7f7;border-radius:2px;box-shadow:1px 1px 0 rgba(0,0,0,.05)}.csf-modal-icon i:hover{color:#fff;border-color:#222;background-color:#222}.csf-modal-icon .csf-modal-content{padding:10px;height:618px}.csf-modal-icon .csf-error-text{padding:10px}.csf-modal-loading{display:none;position:absolute;left:15px;top:15px}.csf-loading{position:relative;width:20px;height:20px;background:#ccc;border-radius:20px;box-shadow:0 2px 5px rgba(0,0,0,.07)}.csf-loading:after{position:absolute;top:50%;left:50%;width:4px;height:4px;content:"";margin-top:-2px;margin-left:-2px;background-color:#fff;animation-duration:.5s;animation-iteration-count:infinite;animation-timing-function:linear;animation-name:csfLoader;border-radius:4px}@keyframes csfLoader{0%{transform:rotate(0) translateX(-6px) rotate(0)}100%{transform:rotate(360deg) translateX(-6px) rotate(-360deg)}}.csf-subtitle-text{margin-top:6px;font-weight:400;color:#999}.csf-desc-text{clear:both;float:left;width:100%;margin-top:6px;font-weight:400;color:#999}.csf-error-text{margin-top:6px;color:#d02c21}.csf-before-text{margin-bottom:6px}.csf-after-text{margin-top:6px}.csf-metabox-hide{display:none!important}.csf-metabox-show{display:block!important}.csf-depend-hidden.csf-depend-on{display:none}.csf-depend-visible.csf-depend-on{display:block;opacity:.75;filter:grayscale(1);user-select:none;border-top:1px solid #eee}.csf-depend-visible.csf-depend-on .clear:before{content:"";left:0;top:0;right:0;bottom:0;position:absolute;background-color:#eee;opacity:.25;z-index:10}.csf-warning-primary{color:#fff!important;border-color:#dc3545!important;background:#dc3545!important}.csf-warning-primary:focus,.csf-warning-primary:hover{border-color:#bd2130!important;background:#bd2130!important}.csf-warning-primary:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px #bd2130!important}.csf-warning-primary:active{border-color:#bd2130!important;background:#bd2130!important}.csf-form-result{display:none;float:left;padding:0 8px;margin-right:4px;font-size:11px;line-height:30px;user-select:none;border-radius:2px}.csf-form-show{display:block}.csf-form-success{color:#fff;background-color:#46b450}.csf-form-warning{color:#8a6d3b;background-color:#faebcc}.csf-label-error{position:relative;top:-2px;display:inline-block;font-size:10px;line-height:10px;height:10px;width:10px;padding:1px;font-style:normal;text-align:center;color:#fff;vertical-align:middle;background-color:#e10000;border-radius:2px}.csf-no-option{padding:30px}.csf-input-number{-moz-appearance:textfield}.csf-input-number::-webkit-inner-spin-button,.csf-input-number::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.csf-fa5-shims .csf .fab,.csf-fa5-shims .csf .far,.csf-fa5-shims .csf .fas{font-family:FontAwesome;font-style:normal}.csf-welcome-wrap{position:relative;margin:25px 40px 0 20px;font-size:15px;max-width:1200px}.csf-welcome-wrap p{font-size:14px;line-height:1.5}.csf-welcome-wrap h1{margin:.2em 200px 0 0;padding:0;color:#32373c;line-height:1.2em;font-size:2.8em;font-weight:400}.csf-welcome-wrap .csf-logo{position:absolute;overflow:hidden;top:0;right:0;height:160px;width:140px;background-image:linear-gradient(45deg,#2d67cb,#ad19f3);box-shadow:0 1px 4px rgba(0,0,0,.25),inset 0 0 0 4px rgba(0,0,0,.25)}.csf-welcome-wrap .csf-logo .csf--effects i{position:absolute;width:200px;height:100px;background-color:rgba(0,0,0,.15);transform:rotate(-45deg)}.csf-welcome-wrap .csf-logo .csf--effects i:first-child{bottom:-20px;right:-70px}.csf-welcome-wrap .csf-logo .csf--effects i:nth-child(2){bottom:-35px;right:-80px}.csf-welcome-wrap .csf-logo .csf--effects i:nth-child(3){bottom:-50px;right:-90px}.csf-welcome-wrap .csf-logo .csf--effects i:nth-child(4){bottom:-65px;right:-100px}.csf-welcome-wrap .csf-logo .csf--wp-logos{position:relative;padding-top:25px;text-align:center}.csf-welcome-wrap .csf-logo .csf--wp-logo{position:absolute;left:20px;width:20px;height:20px;background-repeat:no-repeat;background-position:center center;background-image:url(../images/wp-logo.svg)}.csf-welcome-wrap .csf-logo .csf--wp-plugin-logo{display:inline-block;width:50px;height:50px;border:3px solid #fff;background-size:40px;background-repeat:no-repeat;background-position:center center;background-image:url(../images/wp-plugin-logo.svg);border-radius:100%;vertical-align:middle}.csf-welcome-wrap .csf-logo .csf--text{position:absolute;left:0;right:0;top:90px;color:#fff;font-size:13px;line-height:1.2em;font-weight:600;text-align:center;text-transform:uppercase;text-shadow:1px 1px 0 rgba(0,0,0,.25)}.csf-welcome-wrap .csf-logo .csf--version{top:auto;left:auto;right:8px;bottom:4px;font-size:11px;text-transform:lowercase}.csf-welcome-wrap .csf-about-text{font-weight:400;line-height:1.6em;font-size:19px;margin:1em 200px 1em 0;color:#555d66}.csf-welcome-wrap .csf-demo-button{margin:1em 200px 2em 0}.csf-welcome-wrap .nav-tab-wrapper{margin-bottom:20px}.csf-welcome-wrap ul{list-style-type:disc;padding-left:15px}.csf-welcome-wrap .csf--col{float:left;padding-right:20px;box-sizing:border-box}.csf-welcome-wrap .csf--col-2{width:50%}.csf-welcome-wrap .csf--col-3{width:33.333%}.csf-welcome-wrap .csf--col-4{width:25%}.csf-welcome-wrap .csf--col-5{width:20%}.csf-welcome-wrap .csf--col-last{padding-right:0}.csf-welcome-wrap .csf--col-upgrade{padding:10px 0;text-align:center;border-top:1px solid #e5e5e5}.csf--table-compare tfoot td,.csf--table-compare thead td{text-align:center}.csf--table-compare td{font-size:14px;text-align:center;vertical-align:middle;padding:10px}.csf--table-compare td:first-child{text-align:left}.csf--table-compare tfoot td{padding:15px 0}.csf--table-compare .fa{font-size:18px}.csf--table-compare .fa-check-circle{color:#46b450}.csf--table-compare .fa-times-circle{color:#dc3232}.csf-welcome-cols{clear:both;margin:20px 0;background-color:#fff;padding:0 0;border-radius:2px;border:1px solid #e5e5e5}.csf-welcome-cols .csf--col{width:33.333%;float:left;padding:20px;text-align:center;box-sizing:border-box;min-height:200px;border-right:1px solid #e5e5e5}.csf-welcome-cols .csf--block,.csf-welcome-cols .csf--left{float:left;width:20%;padding:0 30px;text-align:center;box-sizing:border-box}.csf-welcome-cols .csf--block{width:80%}.csf-welcome-cols .csf--col-first{border-bottom:1px solid #e5e5e5}.csf-welcome-cols .csf--last{border-right:none}.csf-welcome-cols .csf--space{height:20px}.csf-welcome-cols .csf--icon{display:inline-block;font-size:20px;width:30px;height:30px;line-height:30px;text-align:center;margin-bottom:10px;color:#fff;background-color:#555;border-radius:30px}.csf-welcome-cols .csf--active{background-color:#5cb85c}.csf-welcome-cols .csf--deactive{background-color:#e14d43}.csf-welcome-cols .csf--title{font-weight:700;display:block}.csf-welcome-cols p:last-child{margin-bottom:0}.csf-features-cols .csf--key-features{width:30%}.csf-features-cols .csf--available-fields{width:70%}.csf-code-block{margin:20px 0;padding:5px 20px;background-color:#fff;border-radius:2px;box-shadow:0 1px 1px rgba(0,0,0,.15)}.csf-code-block pre{font-size:13px;color:#0073aa}.csf-code-block pre span{color:#999}.csf--table-fields td{font-size:14px}.csf--upgrade a{color:#5cb85c;font-weight:700}.csf--upgrade a:focus,.csf--upgrade a:hover{color:#4aa14a;outline:0;box-shadow:none}@media only screen and (max-width:782px){.csf-welcome-cols .csf--col{width:100%;min-height:auto;border-right:none;border-bottom:1px solid #e5e5e5}.csf-features-cols .csf--key-features{width:100%}.csf-features-cols .csf--available-fields{width:100%}}@media only screen and (max-width:1200px){.csf-metabox .csf-field .csf-title{float:none;width:100%;margin-bottom:10px}.csf-metabox .csf-field .csf-fieldset{float:none;width:100%}}@media only screen and (max-width:782px){.csf-header-inner{text-align:center}.csf-header-inner h1{width:100%;margin-bottom:10px}.csf-form-result{float:none;margin-right:0;margin-bottom:10px}.csf-header-left,.csf-header-right,.csf-search{width:100%}.csf-search{text-align:center;margin-bottom:15px}.csf-footer{text-align:center}.csf-buttons{float:none}.csf-copyright{float:none;margin-top:10px}.csf-expand-all,.csf-nav,.csf-nav-background,.csf-reset-section{display:none!important}.csf-nav-normal+.csf-content{margin-left:0}.csf-section,.csf-section-title{display:block!important}.csf-field .csf-title{float:none;width:100%;margin-bottom:10px}.csf-field .csf-fieldset{float:none;width:100%}.csf-field-color .button.wp-picker-clear{padding:0 8px;line-height:2.14285714;min-height:32px}.csf-profile-options>.csf-field>.csf-title,.csf-taxonomy-edit-fields>.csf-field>.csf-title{float:none;width:100%;margin-bottom:10px}.csf-profile-options>.csf-field>.csf-fieldset,.csf-taxonomy-edit-fields>.csf-field>.csf-fieldset{float:none;width:100%}.csf-nav-menu-options>.csf-fields{margin-left:-10px;margin-right:-10px}.csf-nav-menu-options>.csf-fields>.csf-field{padding:10px}}@media only screen and (max-width:782px){.csf-modal .csf-modal-inner{width:90%}}@media only screen and (max-height:750px){.csf-modal .csf-modal-inner{height:auto}.csf-modal .csf-modal-content{height:calc(100vh - 200px)}}.chosen-container{position:relative;display:inline-block;vertical-align:middle;font-size:13px;user-select:none}.chosen-container *{box-sizing:border-box}.chosen-container .chosen-drop{position:absolute;top:100%;z-index:1010;width:100%;border:1px solid #aaa;border-top:0;background:#fff;box-shadow:0 4px 5px rgba(0,0,0,.15);clip:rect(0,0,0,0);clip-path:inset(100% 100%)}.chosen-container.chosen-with-drop .chosen-drop{clip:auto;clip-path:none}.chosen-container a{cursor:pointer}.chosen-container .chosen-single .group-name,.chosen-container .search-choice .group-name{margin-right:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:400;color:#999}.chosen-container .chosen-single .group-name:after,.chosen-container .search-choice .group-name:after{content:":";padding-left:2px;vertical-align:top}.chosen-container-single .chosen-single{position:relative;display:block;overflow:hidden;padding:0 0 0 8px;height:25px;border:1px solid #aaa;border-radius:5px;background-color:#fff;background:linear-gradient(#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background-clip:padding-box;box-shadow:0 0 3px #fff inset,0 1px 1px rgba(0,0,0,.1);color:#444;text-decoration:none;white-space:nowrap;line-height:24px}.chosen-container-single .chosen-default{color:#999}.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;text-overflow:ellipsis;white-space:nowrap}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:6px;right:26px;display:block;width:12px;height:12px;font-size:1px}.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;width:18px;height:100%}.chosen-container-single .chosen-single div b{display:block;width:100%;height:100%}.chosen-container-single .chosen-search{position:relative;z-index:1010;margin:0;padding:3px 4px;white-space:nowrap}.chosen-container-single .chosen-search input[type=text]{margin:1px 0;padding:4px 20px 4px 5px;width:100%;height:auto;outline:0;border:1px solid #aaa;font-size:1em;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-single .chosen-drop{margin-top:-1px;border-radius:0 0 4px 4px;background-clip:padding-box}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;clip:rect(0,0,0,0);clip-path:inset(100% 100%)}.chosen-container .chosen-results{color:#444;position:relative;overflow-x:hidden;overflow-y:auto;margin:0 4px 4px 0;padding:0 0 0 4px;max-height:240px;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;margin:0;padding:5px 6px;list-style:none;line-height:15px;word-wrap:break-word;-webkit-touch-callout:none}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{background-color:#3875d7;background-image:linear-gradient(#3875d7 20%,#2a62bc 90%);color:#fff}.chosen-container .chosen-results li.no-results{color:#777;display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:700;cursor:default}.chosen-container .chosen-results li.group-option{padding-left:15px}.chosen-container .chosen-results li em{font-style:normal;text-decoration:underline}.chosen-container-multi .chosen-choices{position:relative;overflow:hidden;margin:0;padding:0 5px;width:100%;height:auto;border:1px solid #aaa;background-color:#fff;background-image:linear-gradient(#eee 1%,#fff 15%);cursor:text}.chosen-container-multi .chosen-choices li{float:left;list-style:none}.chosen-container-multi .chosen-choices li.search-field{margin:0;padding:0;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-field input[type=text]{margin:1px 0;padding:0;outline:0;border:0!important;background:0 0!important;box-shadow:none;color:#999;font-size:100%;font-family:sans-serif;line-height:normal;border-radius:0;width:25px;height:25px;min-height:25px}.chosen-container-multi .chosen-choices li.search-choice{position:relative;margin:3px 5px 3px 0;padding:3px 20px 3px 6px;border:1px solid #aaa;max-width:100%;border-radius:3px;background-color:#eee;background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-size:100% 19px;background-repeat:repeat-x;background-clip:padding-box;box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);color:#333;line-height:13px;cursor:default}.chosen-container-multi .chosen-choices li.search-choice span{word-wrap:break-word;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{position:absolute;top:0;right:0;display:block;width:12px;height:12px;font-size:1px}.chosen-container-multi .chosen-choices li.search-choice-disabled{padding-right:5px;border:1px solid #ccc;background-color:#e4e4e4;background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);color:#666}.chosen-container-multi .chosen-choices li.search-choice-focus{background:#d4d4d4}.chosen-container-multi .chosen-results{margin:0;padding:0}.chosen-container-multi .chosen-drop .result-selected{display:list-item;color:#ccc;cursor:default}.chosen-container-active .chosen-single{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #aaa;border-bottom-right-radius:0;border-bottom-left-radius:0;background-image:linear-gradient(#eee 20%,#fff 80%);box-shadow:0 1px 0 #fff inset}.chosen-container-active.chosen-with-drop .chosen-single div{border-left:none;background:0 0}.chosen-container-active .chosen-choices{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active .chosen-choices li.search-field input[type=text]{color:#222!important}.chosen-disabled{opacity:.5!important;cursor:default}.chosen-disabled .chosen-single{cursor:default}.chosen-disabled .chosen-choices .search-choice .search-choice-close{cursor:default}.chosen-rtl{text-align:right}.chosen-rtl .chosen-single{overflow:visible;padding:0 8px 0 0}.chosen-rtl .chosen-single span{margin-right:0;margin-left:26px;direction:rtl}.chosen-rtl .chosen-single-with-deselect span{margin-left:38px}.chosen-rtl .chosen-single div{right:auto;left:3px}.chosen-rtl .chosen-single abbr{right:auto;left:26px}.chosen-rtl .chosen-choices li{float:right}.chosen-rtl .chosen-choices li.search-field input[type=text]{direction:rtl}.chosen-rtl .chosen-choices li.search-choice{margin:3px 5px 3px 0;padding:3px 5px 3px 19px}.chosen-rtl .chosen-choices li.search-choice .search-choice-close{right:auto;left:4px}.chosen-rtl.chosen-container-single .chosen-results{margin:0 0 4px 4px;padding:0 4px 0 0}.chosen-rtl .chosen-results li.group-option{padding-right:15px;padding-left:0}.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div{border-right:none}.chosen-rtl .chosen-search input[type=text]{padding:4px 5px 4px 20px;direction:rtl}.flatpickr-calendar{background:0 0;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08);box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08)}.flatpickr-calendar.inline,.flatpickr-calendar.open{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1);animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none!important;box-shadow:none!important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-calendar .hasTime .dayContainer,.flatpickr-calendar .hasWeeks .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:after,.flatpickr-calendar:before{position:absolute;display:block;pointer-events:none;border:solid transparent;content:"";height:0;width:0;left:22px}.flatpickr-calendar.arrowRight:after,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.rightMost:before{left:auto;right:22px}.flatpickr-calendar.arrowCenter:after,.flatpickr-calendar.arrowCenter:before{left:50%;right:50%}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:after,.flatpickr-calendar.arrowTop:before{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:after,.flatpickr-calendar.arrowBottom:before{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-months .flatpickr-month{background:0 0;color:rgba(0,0,0,.9);fill:rgba(0,0,0,0.9);height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flatpickr-months .flatpickr-next-month,.flatpickr-months .flatpickr-prev-month{text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:rgba(0,0,0,.9);fill:rgba(0,0,0,0.9)}.flatpickr-months .flatpickr-next-month.flatpickr-disabled,.flatpickr-months .flatpickr-prev-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-next-month i,.flatpickr-months .flatpickr-prev-month i{position:relative}.flatpickr-months .flatpickr-next-month.flatpickr-prev-month,.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month{left:0}.flatpickr-months .flatpickr-next-month.flatpickr-next-month,.flatpickr-months .flatpickr-prev-month.flatpickr-next-month{right:0}.flatpickr-months .flatpickr-next-month:hover,.flatpickr-months .flatpickr-prev-month:hover{color:#959ea9}.flatpickr-months .flatpickr-next-month:hover svg,.flatpickr-months .flatpickr-prev-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-next-month svg,.flatpickr-months .flatpickr-prev-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-next-month svg path,.flatpickr-months .flatpickr-prev-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-inner-spin-button,.numInputWrapper input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57,57,57,.15);-webkit-box-sizing:border-box;box-sizing:border-box}.numInputWrapper span:hover{background:rgba(0,0,0,.1)}.numInputWrapper span:active{background:rgba(0,0,0,.2)}.numInputWrapper span:after{display:block;content:"";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,.6);top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:rgba(0,0,0,0.5)}.numInputWrapper:hover{background:rgba(0,0,0,.05)}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}.flatpickr-current-month span.cur-month:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .numInputWrapper{width:6ch;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:rgba(0,0,0,.9)}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:rgba(0,0,0,.9)}.flatpickr-current-month input.cur-year{background:0 0;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:rgba(0,0,0,.5);background:0 0;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:0 0;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0 0;outline:0;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:active,.flatpickr-current-month .flatpickr-monthDropdown-months:focus{outline:0}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:0;padding:0}.flatpickr-weekdays{background:0 0;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:0 0;color:rgba(0,0,0,.54);line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder}.dayContainer,.flatpickr-weeks{padding:1px 0 0 0}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px}.flatpickr-days:focus{outline:0}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.dayContainer+.dayContainer{-webkit-box-shadow:-1px 0 0 #e6e6e6;box-shadow:-1px 0 0 #e6e6e6}.flatpickr-day{background:0 0;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center}.flatpickr-day.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day.nextMonthDay:focus,.flatpickr-day.nextMonthDay:hover,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.today.inRange,.flatpickr-day:focus,.flatpickr-day:hover{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6}.flatpickr-day.today{border-color:#959ea9}.flatpickr-day.today:focus,.flatpickr-day.today:hover{border-color:#959ea9;background:#959ea9;color:#fff}.flatpickr-day.endRange,.flatpickr-day.endRange.inRange,.flatpickr-day.endRange.nextMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.endRange:focus,.flatpickr-day.endRange:hover,.flatpickr-day.selected,.flatpickr-day.selected.inRange,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.selected:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange,.flatpickr-day.startRange.inRange,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.startRange:focus,.flatpickr-day.startRange:hover{background:#569ff7;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-day.endRange.startRange,.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.endRange.endRange,.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #569ff7;box-shadow:-10px 0 0 #569ff7}.flatpickr-day.endRange.startRange.endRange,.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.nextMonthDay,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.prevMonthDay{color:rgba(57,57,57,.3);background:0 0;border-color:transparent;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:rgba(57,57,57,.1)}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7;box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #e6e6e6;box-shadow:1px 0 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:rgba(57,57,57,.3);background:0 0;cursor:default;border:none}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-time:after{content:"";display:table;clear:both}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:0 0;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-time input.flatpickr-hour{font-weight:700}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-am-pm,.flatpickr-time .flatpickr-time-separator{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:700;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time .flatpickr-am-pm:focus,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time input:hover{background:#eee}.flatpickr-input[readonly]{cursor:pointer}@-webkit-keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}} \ No newline at end of file +.csf{position:relative}.csf label{padding:0;margin:0;display:inline-block}.csf-ab-icon{top:2px}#screen-meta-links+.csf-options{margin-top:40px}.csf-options{margin-top:20px;margin-right:20px}.csf-header{position:relative}.csf-header-inner{padding:25px;transition:box-shadow .3s ease}.csf-header-inner h1{float:left;font-size:1.5em;line-height:26px;font-weight:400;margin:0}.csf-header-inner h1 small{font-size:11px;font-weight:500}.csf-sticky .csf-header-inner{position:fixed;z-index:99;top:32px;box-shadow:0 5px 10px rgba(0,0,0,.1)}.csf-buttons{float:right}.csf-buttons .button{margin:0 2px;line-height:26px}.csf-buttons .button:focus{outline:0!important;box-shadow:none!important}.csf-buttons .csf-save{min-width:72px}.csf-header-left{float:left}.csf-header-right{float:right}.csf-nav{display:block;position:relative;z-index:10;float:left}.csf-nav ul{clear:left;margin:0;list-style-type:none}.csf-nav ul li{margin-bottom:0}.csf-nav ul li a{font-size:13px;position:relative;display:block;padding:14px 12px;text-decoration:none;transition-property:color,background;transition-duration:.2s;transition-timing-function:ease}.csf-nav ul li a:focus{outline:0;box-shadow:none}.csf-nav ul li .csf-arrow:after{content:"\f054";display:inline-block;font-family:"Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:9px;line-height:1;position:absolute;right:10px;top:50%;margin-top:-4px}.csf-nav ul li.csf-tab-expanded .csf-arrow:after{transform:rotate(90deg)}.csf-nav ul li.csf-tab-expanded ul{display:block}.csf-nav ul ul{display:none;position:relative}.csf-nav ul ul li a{font-size:12px;padding:12px 14px 12px 24px}.csf-nav .csf-tab-icon{width:20px;margin-right:5px;font-size:13px;text-align:center}.csf-nav .csf-label-error{margin-left:4px;vertical-align:top}.csf-nav-normal{width:225px}.csf-nav-normal+.csf-content{margin-left:225px}.csf-nav-inline{width:100%}.csf-nav-inline ul li{display:inline-block;vertical-align:top}.csf-nav-background{position:absolute;top:0;left:0;bottom:0;z-index:9;width:225px}.csf-wrapper{position:relative}.csf-content{position:relative;background-color:#fff}.csf-sections{float:left;width:100%}.csf-section-title{display:none;padding:20px 30px;background-color:#f5f5f5;border-top:1px solid #eee;border-bottom:1px solid #eee}.csf-section-title h3{margin:0;padding:0;font-size:13px;font-weight:700;text-transform:uppercase}.csf-section-title .csf-section-icon{margin-right:5px}.csf-footer{padding:20px;font-size:11px}.csf-copyright{float:left;margin-top:5px}.csf-search-all .csf-nav,.csf-search-all .csf-nav-background,.csf-show-all .csf-nav,.csf-show-all .csf-nav-background{display:none}.csf-search-all .csf-content,.csf-show-all .csf-content{margin-left:0}.csf-search-all .csf-section,.csf-search-all .csf-section-title,.csf-show-all .csf-section,.csf-show-all .csf-section-title{display:block!important}.csf-search-all .csf-section-title{display:none!important}.csf-expand-all{float:left;padding:0 8px;margin-right:4px;z-index:1;font-size:13px;line-height:30px;cursor:pointer;user-select:none;border-radius:2px;transition:all .2s}.csf-expand-all span{font-size:11px;vertical-align:middle}.csf-search{float:left}.csf-search input{margin:0 2px 0 0;border:none;font-size:12px;line-height:30px;min-height:30px;text-align:inherit;padding:0 10px;border-radius:2px;box-shadow:none}.csf-search input:focus{box-shadow:none}.csf-saving .csf-buttons,.csf-saving .csf-content{cursor:default;pointer-events:none;opacity:.5}.csf-metabox{margin:-6px -12px -12px -12px}.csf-metabox .csf-field{padding:20px}.csf-metabox .csf-section-title{padding:20px}.block-editor-page .csf-metabox{margin:-6px -14px -14px -14px}.block-editor-editor-skeleton__content .csf-metabox{border-left:1px solid #e2e4e7;border-right:1px solid #e2e4e7}.csf-sections-reset{float:left;width:100%;text-align:right;border-top:1px solid #eee}.csf-sections-reset .csf-button-cancel,.csf-sections-reset input{display:none}.csf-sections-reset label{padding:10px}.csf-sections-reset span{-webkit-user-select:none;user-select:none}.csf-sections-reset input:checked~.csf-button-reset{display:none}.csf-sections-reset input:checked~.csf-button-cancel{display:inline-block}#side-sortables .csf-section-title{padding:12px}#side-sortables .csf-field{padding:10px 15px}#side-sortables .csf-field .csf-title{float:none;width:100%;margin-bottom:6px}#side-sortables .csf-field .csf-fieldset{float:none;width:100%}#side-sortables .csf-field-text input{width:100%}#side-sortables .csf-notice{padding:10px 15px}.csf-comment-metabox{margin:-6px -12px -12px -12px}.csf-comment-metabox .csf-field{padding:20px}.csf-comment-metabox .csf-section-title{padding:20px}.csf-tooltip{position:absolute;z-index:5000001;font-size:12px;line-height:1.4;text-align:center;text-decoration:none;padding:6px 12px;max-width:200px;color:#fff;background-color:#000;background-color:rgba(0,0,0,.85);border-radius:4px}.csf-theme-dark .csf-header-inner{background-color:#050505}.csf-theme-dark .csf-header-inner h1{color:#fff}.csf-theme-dark .csf-header-inner h1 small{color:#555}.csf-theme-dark .csf-expand-all{color:#999;background-color:#222}.csf-theme-dark .csf-expand-all:hover{color:#fff;background-color:#333}.csf-theme-dark .csf-search input{color:#fff;background-color:#222}.csf-theme-dark .csf-search:focus{background-color:#444}.csf-theme-dark .csf-search::-webkit-input-placeholder{color:#666}.csf-theme-dark .csf-nav ul li a{color:#999;border-color:#2f2f2f;background-color:#222}.csf-theme-dark .csf-nav ul li a:hover{color:#fff}.csf-theme-dark .csf-nav ul li .csf-active{color:#fff;background-color:#111}.csf-theme-dark .csf-nav ul ul li a{border-color:#2f2f2f;background-color:#191919}.csf-theme-dark .csf-nav ul ul li .csf-active{background-color:#101010}.csf-theme-dark .csf-nav ul ul:before{background-color:rgba(34,34,34,.75)}.csf-theme-dark .csf-nav>ul>li:last-child>a{border:none}.csf-theme-dark .csf-nav-normal ul li a{border-bottom-width:1px;border-bottom-style:solid}.csf-theme-dark .csf-nav-normal ul li .csf-active:after{content:" ";position:absolute;right:0;top:50%;height:0;width:0;pointer-events:none;border:solid transparent;border-right-color:#fff;border-width:4px;margin-top:-4px}.csf-theme-dark .csf-nav-inline{background-color:#222}.csf-theme-dark .csf-nav-inline ul li a{text-align:center;border-right-width:1px;border-right-style:solid}.csf-theme-dark .csf-nav-inline ul li .csf-active:after{content:" ";position:absolute;left:50%;bottom:0;height:0;width:0;pointer-events:none;border:solid transparent;border-bottom-color:#fff;border-width:4px;margin-left:-4px}.csf-theme-dark .csf-nav-background{background-color:#222}.csf-theme-dark .csf-footer{color:#555;background-color:#050505}.csf-theme-light .csf-container{border:1px solid #ccd0d4;box-shadow:0 0 15 rgba(0,0,0,.04)}.csf-theme-light .csf-header-inner{border-bottom:1px solid #ccd0d4;background-color:#f5f5f5;background:linear-gradient(#fefefe,#f5f5f5)}.csf-theme-light .csf-header-inner h1 small{color:#999}.csf-theme-light .csf-expand-all{color:#999;background-color:#eee}.csf-theme-light .csf-expand-all:hover{color:#555}.csf-theme-light .csf-search input{color:#555;background-color:#eee}.csf-theme-light .csf-search input::-webkit-input-placeholder{color:#999}.csf-theme-light .csf-nav ul li a{font-weight:500;color:#444;background-color:#f5f5f5}.csf-theme-light .csf-nav ul li a:hover{color:#111;background-color:#fff}.csf-theme-light .csf-nav ul li .csf-active{color:#111;background-color:#fff}.csf-theme-light .csf-nav ul ul li a{background-color:#eee}.csf-theme-light .csf-nav-normal>ul{margin-right:-1px;margin-bottom:-1px}.csf-theme-light .csf-nav-normal>ul li a{border-bottom:1px solid #ccd0d4;border-right:1px solid #ccd0d4}.csf-theme-light .csf-nav-normal>ul li .csf-active{border-right-color:#fff}.csf-theme-light .csf-nav-inline{background-color:#f5f5f5;border-bottom:1px solid #ccd0d4}.csf-theme-light .csf-nav-inline>ul{margin-bottom:-1px}.csf-theme-light .csf-nav-inline>ul li a{text-align:center;border-right:1px solid #ccd0d4;border-bottom:1px solid #ccd0d4}.csf-theme-light .csf-nav-inline>ul li .csf-active{border-bottom-color:#fff}.csf-theme-light .csf-nav-inline>ul ul{display:none!important}.csf-theme-light .csf-nav-inline .csf-arrow:after{display:none}.csf-theme-light .csf-nav-background{background-color:#f5f5f5;border-right:1px solid #ccd0d4}.csf-theme-light .csf-footer{color:#555;border-top:1px solid #ccd0d4;background-color:#f5f5f5;background:linear-gradient(#fafafa,#f5f5f5)}.csf-field{position:relative;padding:30px}.csf-field+.csf-field{border-top:1px solid #eee}.csf-field p:first-child{margin-top:0}.csf-field p:last-child{margin-bottom:0}.csf-field:after,.csf-field:before{content:" ";display:table}.csf-field:after{clear:both}.csf-field h4{margin-top:0}.csf-field .csf-title{position:relative;width:20%;float:left}.csf-field .csf-title h4{margin:0;color:#23282d}.csf-field .csf-fieldset{float:right;width:calc(80% - 20px)}.csf-pseudo-field{padding:0 5px 0 0!important;display:inline-block}.csf-pseudo-field+.csf-pseudo-field{border:0}.csf-pseudo-field pre{display:none}.csf-field-accordion .csf-accordion-item{position:relative;margin-bottom:5px}.csf-field-accordion .csf-accordion-item:last-child{margin-bottom:0}.csf-field-accordion .csf-accordion-item h4{font-size:1em}.csf-field-accordion .csf-accordion-title{display:block;cursor:pointer;position:relative;margin:0;padding:15px;min-height:0;font-size:100%;user-select:none;border:1px solid #ccd0d4;background-color:#fafafa;box-shadow:0 1px 1px rgba(0,0,0,.04);transition:border-color .15s}.csf-field-accordion .csf-accordion-title:active,.csf-field-accordion .csf-accordion-title:focus,.csf-field-accordion .csf-accordion-title:hover{outline:0;border-color:#999}.csf-field-accordion .csf-accordion-title .csf--icon{width:20px;text-align:center;margin-right:2px}.csf-field-accordion .csf-accordion-icon{width:16px;text-align:center}.csf-field-accordion .csf-accordion-content{display:none;padding:0;border:1px solid #ccd0d4;border-top:none;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.csf-field-accordion .csf-accordion-content>.csf-field{padding:15px}.csf-field-accordion .csf-accordion-open{display:block}.csf-field-background .csf-field{border:0!important;padding:0;margin-bottom:6px;margin-right:6px}.csf-field-background .csf--title{color:#777;font-size:12px}.csf-field-background .csf--background-colors{display:flex;flex-wrap:wrap}.csf-field-background .csf--background-attributes{display:flex;flex-wrap:wrap}.csf-field-background .csf--background-attributes select{min-width:100%;margin:0}.csf-field-background .csf--background-attributes .csf-field{flex:1}.csf-field-background .csf--attributes-hidden{display:none}.csf-field-backup textarea{width:100%;min-height:200px;margin-bottom:5px}.csf-field-backup small{display:inline-block;margin:5px}.csf-field-backup hr{margin:20px 0;border:none;border-bottom:1px solid #e5e5e5}.csf-field-border .csf--inputs,.csf-field-dimensions .csf--inputs,.csf-field-spacing .csf--inputs{float:left;display:flex;flex-wrap:wrap}.csf-field-border .csf--input,.csf-field-dimensions .csf--input,.csf-field-spacing .csf--input{display:flex;padding-right:6px;padding-bottom:4px;box-sizing:border-box}.csf-field-border .csf--input select,.csf-field-dimensions .csf--input select,.csf-field-spacing .csf--input select{margin:0}.csf-field-border .csf--input input,.csf-field-dimensions .csf--input input,.csf-field-spacing .csf--input input{position:relative;z-index:1;margin:0;width:65px;max-width:100%;text-align:center}.csf-field-border .csf--color,.csf-field-dimensions .csf--color,.csf-field-spacing .csf--color{float:left}.csf-field-border .csf--label,.csf-field-dimensions .csf--label,.csf-field-spacing .csf--label{display:flex;flex-direction:column;justify-content:center;user-select:none;min-width:20px;max-width:100%;padding:0 4px;font-size:12px;text-align:center;color:#555;border:1px solid #7b776c;background-color:#f5f5f5}.csf-field-border .csf--icon,.csf-field-dimensions .csf--icon,.csf-field-spacing .csf--icon{border-right:0;border-radius:4px 0 0 4px}.csf-field-border .csf--icon+input,.csf-field-dimensions .csf--icon+input,.csf-field-spacing .csf--icon+input{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.csf-field-border .csf--unit,.csf-field-dimensions .csf--unit,.csf-field-spacing .csf--unit{border-left:0;border-radius:0 4px 4px 0}.csf-field-border .csf--is-unit,.csf-field-dimensions .csf--is-unit,.csf-field-spacing .csf--is-unit{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.csf-field-button_set .csf--buttons{display:inline-block}.csf-field-button_set .csf--button{position:relative;z-index:1;float:left;cursor:pointer;padding:7px 14px;min-width:16px;text-align:center;color:#555;border:1px solid #ccc;background-color:#f7f7f7;user-select:none;box-shadow:0 1px 0 rgba(0,0,0,.1)}.csf-field-button_set .csf--button:first-child{border-radius:4px 0 0 4px}.csf-field-button_set .csf--button:last-child{border-radius:0 4px 4px 0}.csf-field-button_set .csf--button:not(:first-child){margin-left:-1px}.csf-field-button_set .csf--button:hover{background-color:#eee}.csf-field-button_set .csf--active,.csf-field-button_set .csf--active:hover{z-index:2;color:#fff;border-color:#006799;background-color:#0085ba}.csf-field-button_set input{display:none}.csf-field-checkbox ul,.csf-field-radio ul{margin:0;padding:0;list-style-type:none;overflow-y:auto;max-height:305px}.csf-field-checkbox ul li,.csf-field-radio ul li{margin-bottom:6px}.csf-field-checkbox ul ul,.csf-field-radio ul ul{max-height:none}.csf-field-checkbox ul ul li,.csf-field-radio ul ul li{margin-left:8px}.csf-field-checkbox ul ul li:first-child,.csf-field-radio ul ul li:first-child{margin-left:0}.csf-field-checkbox input,.csf-field-radio input{margin:0 1px}.csf-field-checkbox .csf--inline-list li,.csf-field-radio .csf--inline-list li{display:inline-block;margin-right:15px}.csf-field-checkbox .csf--text,.csf-field-radio .csf--text{margin-left:5px;vertical-align:middle}.csf-field-checkbox .csf-checker,.csf-field-radio .csf-checker{cursor:pointer}.csf-field-checkbox .csf-checkbox-all,.csf-field-radio .csf-checkbox-all{user-select:none;cursor:pointer;margin-top:5px;font-weight:500;text-decoration:none}.csf-field-code_editor .CodeMirror{width:100%;height:400px}.csf-field-code_editor .cm-s-default{border:1px solid #ccd0d4}.csf-field-code_editor textarea{width:100%;height:400px}.csf-field-color>input{opacity:.75;width:115px;max-width:100%}.csf-field-color .button.wp-picker-clear{padding:0 8px;margin-left:6px;line-height:2.54545455;min-height:30px}.csf-field-color_group .csf--left{float:left;margin-right:10px;margin-bottom:5px}.csf-field-color_group .csf--title{color:#999;margin-bottom:5px}.csf-field-fieldset .csf-fieldset-content{border:1px solid #ccd0d4;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.csf-field-fieldset .csf-fieldset-content>.csf-field{padding:15px}.csf-field-fieldset .csf-field-subheading{font-size:13px}.csf-field-date input{margin:0}.csf-field-date .csf--to{margin-left:7px}.csf-datepicker-wrapper{margin-top:5px;width:auto;background-color:#fff;z-index:9999999!important;box-shadow:0 0 30px rgba(0,0,0,.15)}.csf-datepicker-wrapper *{float:none;margin:0;padding:0;font-family:inherit;font-weight:400;font-style:normal;text-decoration:none;border:0;border-radius:0;box-shadow:none}.csf-datepicker-wrapper .ui-datepicker-header,.csf-datepicker-wrapper .ui-widget-header{color:#fff;background:#00a0d2}.csf-datepicker-wrapper .ui-datepicker-header .ui-state-hover{cursor:pointer}.csf-datepicker-wrapper .ui-datepicker-title{font-size:14px;line-height:40px;text-align:center}.csf-datepicker-wrapper .ui-datepicker-next,.csf-datepicker-wrapper .ui-datepicker-prev{position:static;top:auto;left:auto;right:auto;font-family:"Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:12px;text-align:center;width:41px;height:40px;line-height:40px;color:#fff;background-color:rgba(255,255,255,.1);text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.csf-datepicker-wrapper .ui-datepicker-next span,.csf-datepicker-wrapper .ui-datepicker-prev span{display:none}.csf-datepicker-wrapper .ui-datepicker-prev{float:left}.csf-datepicker-wrapper .ui-datepicker-next{float:right}.csf-datepicker-wrapper .ui-datepicker-prev:before{content:"\f053"}.csf-datepicker-wrapper .ui-datepicker-next:before{content:"\f054"}.csf-datepicker-wrapper .ui-datepicker-next-hover,.csf-datepicker-wrapper .ui-datepicker-prev-hover{opacity:.75}.csf-datepicker-wrapper tbody .ui-datepicker-week-col{background-color:#f7f7f7}.csf-datepicker-wrapper .ui-datepicker-buttonpane{padding:10px;text-align:center;background-color:#f7f7f7}.csf-datepicker-wrapper .ui-datepicker-buttonpane button{cursor:pointer;margin:0 5px;padding:7px 14px;border:1px solid #eee;background-color:#fff}.csf-datepicker-wrapper select{margin:0 4px}.csf-datepicker-wrapper select option{color:#555}.csf-datepicker-wrapper table{font-size:13px;border-collapse:collapse;width:100%}.csf-datepicker-wrapper thead{color:#fff;background:#32373c}.csf-datepicker-wrapper th{text-align:center;padding:7px;border:1px solid #444}.csf-datepicker-wrapper td{text-align:center;border:1px solid #f4f4f4}.csf-datepicker-wrapper td.ui-datepicker-other-month{border:transparent}.csf-datepicker-wrapper td .ui-state-default{color:#555;width:auto;display:block;padding:6px 12px}.csf-datepicker-wrapper td .ui-state-active,.csf-datepicker-wrapper td .ui-state-hover{color:#fff;background-color:#0073aa}.csf-datepicker-wrapper td.ui-state-disabled .ui-state-default{opacity:.5}.csf-field-datetime input{margin:0}.csf-field-datetime .csf--to{margin-left:7px}.csf-flatpickr input,.csf-flatpickr select{min-height:auto}.csf-flatpickr input:focus,.csf-flatpickr select:focus{box-shadow:none}.csf-flatpickr.open{z-index:9999999!important}.csf-field-gallery ul{margin:0;padding:0;list-style-type:none}.csf-field-gallery ul li{display:inline-block;position:relative;padding:4px;margin:0 5px 10px 0;border:1px solid #ccc;background-color:#f9f9f9;border-radius:2px;box-shadow:0 1px 0 rgba(0,0,0,.08)}.csf-field-gallery ul li img{max-height:60px;display:inline-block;vertical-align:middle}.csf-field-gallery .button{margin-right:5px;margin-bottom:5px}.csf-field-group .csf-cloneable-hidden{display:none!important}.csf-field-group .csf-cloneable-wrapper{position:relative}.csf-field-group .csf-cloneable-item{display:none;position:relative;margin-bottom:5px}.csf-field-group .csf-cloneable-item h4{font-size:1em}.csf-field-group .ui-accordion .csf-cloneable-item{display:block}.csf-field-group .csf-cloneable-content{border:1px solid #ccd0d4;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.csf-field-group .csf-cloneable-content>.csf-field{padding:15px}.csf-field-group .csf-cloneable-title{display:block;cursor:pointer;position:relative;user-select:none;margin:0;padding:15px 65px 15px 10px;min-height:0;font-size:100%;border:1px solid #ccd0d4;background-color:#fafafa;box-shadow:0 1px 1px rgba(0,0,0,.04);transition:border-color .15s}.csf-field-group .csf-cloneable-title:active,.csf-field-group .csf-cloneable-title:focus,.csf-field-group .csf-cloneable-title:hover{border-color:#999;outline:0}.csf-field-group .csf-cloneable-helper{position:absolute;top:12px;right:10px;z-index:1;font-size:14px;line-height:1em}.csf-field-group .csf-cloneable-helper i{display:inline-block;cursor:pointer;padding:5px;color:#999}.csf-field-group .csf-cloneable-helper i:hover{color:#555}.csf-field-group .csf-cloneable-content{padding:0;border-top:0}.csf-field-group .csf-cloneable-title-number,.csf-field-group .csf-cloneable-title-prefix{margin-right:5px}.csf-field-group .csf-cloneable-alert{display:none;margin-bottom:5px;padding:10px 20px;color:#a94442;border:1px solid #ebccd1;background-color:#f2dede}.csf-field-group .widget-placeholder{margin-bottom:10px;border:1px dashed #f1c40f;background-color:#fffae4}.csf-field-group .csf-cloneable-header-icon{display:inline-block;text-align:center;font-size:14px;width:17px;text-indent:0;vertical-align:text-top}.csf-field-group .csf-cloneable-placeholder{background-color:#ddd;margin-top:4px;width:100px;height:10px;font-size:10px;line-height:10px;display:inline-block;vertical-align:top;border-radius:2px}.csf-field-icon .csf-icon-select{display:flex;grid-gap:5px}.csf-field-icon .csf-icon-preview:not(.hidden){display:flex}.csf-field-icon .csf-icon-preview i{display:flex;justify-content:center;align-items:center;width:30px;font-size:14px;text-align:center;vertical-align:top;color:#555;border:1px solid #ccc;background-color:#f7f7f7;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.08)}.csf-field-image_select .csf--image{display:inline-block;margin:0 5px 5px 0}.csf-field-image_select .csf--inline-list .csf--image{display:block}.csf-field-image_select figure{cursor:pointer;position:relative;display:inline-block;max-width:100%;margin:0;vertical-align:bottom;border:2px solid transparent;background-color:#fff;user-select:none;transition:all .2s}.csf-field-image_select figure:before{position:absolute;top:0;left:0;text-align:center;font-size:10px;font-family:"Font Awesome 5 Free",FontAwesome;font-weight:900;content:"\f00c";width:16px;height:16px;line-height:14px;opacity:0;color:#fff;background-color:#222;transition:opacity .2s}.csf-field-image_select .csf--active figure{border-color:#222;box-shadow:0 0 20px rgba(0,0,0,.2)}.csf-field-image_select .csf--active figure:before{opacity:1}.csf-field-image_select img{max-width:100%;height:auto;vertical-align:top}.csf-field-image_select input{display:none}.csf-field-link_color .csf--left{float:left;margin-right:10px;margin-bottom:5px}.csf-field-link_color .csf--title{color:#777;margin-bottom:5px}.csf-field-map input{width:100%}.csf-field-map input[type=text].ui-autocomplete-loading{background-position-x:calc(100% - 5px)}.csf-field-map .csf--map-search+.csf--map-osm-wrap{margin-top:10px}.csf-field-map .csf--map-osm-wrap{position:relative;padding:5px;border:1px solid #eee;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.csf-field-map .csf--map-osm{position:relative;z-index:1;min-height:250px}.csf-field-map .csf--map-inputs{margin-top:10px;display:flex;justify-content:space-between}.csf-field-map .csf--map-input{flex:1}.csf-field-map .csf--map-input:last-child{padding-left:10px}.csf-field-map label{display:block;color:#777;font-size:12px;margin:0 0 2px 0}.csf-map-ui-autocomplate{z-index:999999;border-radius:4px;overflow:hidden}.csf-field-media .csf--placeholder{display:flex;align-items:flex-start}.csf-field-media .csf--placeholder input{width:100%;margin:0}.csf-field-media .button{margin-left:5px}.csf-field-media .hidden+.button{margin-left:0}.csf-field-media .csf--preview{position:relative}.csf-field-palette .csf--palette{position:relative;display:inline-block;cursor:pointer;border:2px solid #ddd;margin-right:10px;margin-bottom:10px;user-select:none;-webkit-user-select:none;transition:all .2s}.csf-field-palette .csf--palette span{vertical-align:middle;display:inline-block;width:22px;height:60px;line-height:60px;overflow:hidden;text-indent:-999px}.csf-field-palette .csf--palette:before{position:absolute;top:0;left:0;text-align:center;font-size:10px;font-family:"Font Awesome 5 Free",FontAwesome;font-weight:900;content:"\f00c";width:16px;height:16px;line-height:14px;opacity:0;color:#fff;background-color:#222;transition:opacity .2s}.csf-field-palette .csf--active{border-color:#222;box-shadow:0 0 20px rgba(0,0,0,.2)}.csf-field-palette .csf--active:before{opacity:1}.csf-field-palette input{display:none}.csf-field-repeater .csf-field-text input{width:100%}.csf-field-repeater .csf-repeater-hidden{display:none!important}.csf-field-repeater .csf-repeater-wrapper .csf-repeater-item{display:table;width:100%;margin-bottom:5px;border:1px solid #eee}.csf-field-repeater .csf-repeater-wrapper .csf-repeater-item h4{font-size:1em}.csf-field-repeater .csf-repeater-content{width:100%;display:table-cell;vertical-align:middle;background-color:#fff}.csf-field-repeater .csf-repeater-content>.csf-field{padding:15px}.csf-field-repeater .csf-repeater-helper{width:100%;display:table-cell;vertical-align:middle;text-align:center;font-size:14px;line-height:1em;border-left:1px solid #eee;background-color:#f7f7f7}.csf-field-repeater .csf-repeater-helper i{display:inline-block;cursor:pointer;color:#999;padding:5px}.csf-field-repeater .csf-repeater-helper i:hover{color:#555}.csf-field-repeater .csf-repeater-helper-inner{width:75px}.csf-field-repeater .csf-repeater-alert{display:none;margin-bottom:5px;padding:10px 20px;color:#a94442;border:1px solid #ebccd1;background-color:#f2dede}.csf-field-repeater .widget-placeholder{height:50px;margin-bottom:3px;border:1px dashed #f1c40f;background-color:#fffae4}.csf-field-repeater .ui-sortable-helper{height:50px!important;overflow:hidden!important;border-color:#ccc!important;background-color:#eee!important;opacity:.5}.csf-field-repeater .ui-sortable-helper .csf-repeater-content,.csf-field-repeater .ui-sortable-helper .csf-repeater-helper{display:none}.csf-field-select .csf-fieldset{min-height:30px}.csf-field-select .csf-chosen{display:none}.csf-field-select select{max-width:100%;margin:0}.csf-field-select .csf-hide-select{display:none!important}.csf-field-slider .csf--wrap{display:flex;align-items:center}.csf-field-slider .csf--input{display:flex}.csf-field-slider .csf--unit{display:flex;justify-content:center;flex-direction:column;user-select:none;padding:0 6px;font-size:11px;line-height:1;border-radius:0 4px 4px 0;color:#555;border:1px solid #7e8993;border-left:0;background-color:#f5f5f5}.csf-field-slider .csf-slider-ui{margin-right:15px}.csf-field-slider input[type=number]{position:relative;z-index:1;margin:0;width:50px;text-align:center}.csf-field-slider .csf--is-unit{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.csf-field-slider .ui-slider{position:relative;width:100%;height:3px;border:none;background:#ddd;border-radius:2px}.csf-field-slider .ui-slider-range{height:3px;border:none;background:#333;border-radius:2px}.csf-field-slider .ui-slider-handle{position:absolute;width:16px;height:16px;top:-7px;margin-left:-8px;border:none;background:#333;border-radius:2px}.csf-field-slider .ui-slider-handle:hover,.csf-field-slider .ui-state-active{cursor:pointer;background:#111}.csf-field-sortable .csf-field-text input{width:100%;max-width:100%}.csf-field-sortable .csf-sortable .csf-sortable-item{display:table;width:100%;margin-bottom:5px;border:1px solid #eee}.csf-field-sortable .csf-sortable .csf-sortable-item h4{font-size:1em}.csf-field-sortable .csf-sortable-content{width:100%;display:table-cell;vertical-align:middle;background-color:#fff}.csf-field-sortable .csf-sortable-content>.csf-field{padding:15px}.csf-field-sortable .csf-sortable-helper{width:100%;display:table-cell;vertical-align:middle;text-align:center;font-size:14px;line-height:1em;border-left:1px solid #eee;background-color:#f7f7f7}.csf-field-sortable .csf-sortable-helper i{display:inline-block;cursor:pointer;width:50px;color:#555}.csf-field-sortable .csf-sortable-helper i:hover{opacity:.5}.csf-field-sortable .widget-placeholder{height:50px;margin-bottom:3px;border:1px dashed #f1c40f;background-color:#fffae4}.csf-field-sortable .ui-sortable-helper{height:50px!important;overflow:hidden!important;border-color:#ccc!important;background-color:#eee!important;opacity:.5}.csf-field-sortable .ui-sortable-helper .csf-sortable-content,.csf-field-sortable .ui-sortable-helper .csf-sortable-helper{display:none}.csf-field-sorter .ui-sortable-placeholder{height:20px;border:1px dashed #f1c40f;background-color:#fffae4}.csf-field-sorter .csf-modules{float:left;width:50%;box-sizing:border-box}.csf-field-sorter .csf-modules:first-child{padding-right:15px}.csf-field-sorter .csf-modules:last-child{padding-left:15px}.csf-field-sorter .csf-disabled,.csf-field-sorter .csf-enabled{padding:5px 15px;border:1px dashed #ddd;background-color:#fff}.csf-field-sorter .csf-disabled li{opacity:.5;transition:opacity .15s}.csf-field-sorter .csf-disabled .ui-sortable-helper{opacity:1}.csf-field-sorter .csf-sorter-title{font-size:13px;font-weight:600;padding:10px;text-align:center;border:1px dashed #ddd;border-bottom:none;background-color:#f8f8f8;text-transform:uppercase}.csf-field-sorter ul{list-style-type:none;margin:0;padding:0;min-height:62px}.csf-field-sorter ul li{margin:10px 0;padding:10px 15px;cursor:move;font-weight:700;text-align:center;border:1px solid #e5e5e5;background-color:#fafafa;transition:border-color .15s}.csf-field-sorter ul li:hover{border-color:#bbb}.csf-field-spinner .csf--spin{display:flex}.csf-field-spinner .ui-widget{font-family:inherit}.csf-field-spinner .ui-spinner{display:flex;align-items:stretch;overflow:unset;border:none;background:0 0;border-radius:0}.csf-field-spinner .ui-spinner .ui-button{display:flex;flex-direction:column;justify-content:center;text-align:center;min-width:20px;padding:0 4px;margin:0;color:#555;background-color:#f5f5f5;border:1px solid #7e8993}.csf-field-spinner .ui-spinner .ui-spinner-button{position:relative;cursor:pointer;height:auto}.csf-field-spinner .ui-spinner .ui-spinner-button:hover{background-color:#e7e7e7}.csf-field-spinner .ui-spinner .ui-spinner-button:active{background-color:#ddd}.csf-field-spinner .ui-spinner .ui-spinner-button:before{font-family:"Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:14px;line-height:14px}.csf-field-spinner .ui-spinner .ui-spinner-down{border-right:0;border-radius:4px 0 0 4px}.csf-field-spinner .ui-spinner .ui-spinner-down:before{content:"\f0d9"}.csf-field-spinner .ui-spinner .ui-spinner-up{border-left:0;border-radius:0 4px 4px 0}.csf-field-spinner .ui-spinner .ui-spinner-up:before{content:"\f0da"}.csf-field-spinner .ui-spinner .csf--unit{border-left:0;user-select:none}.csf-field-spinner .ui-spinner .ui-button-icon,.csf-field-spinner .ui-spinner .ui-button-icon-space,.csf-field-spinner .ui-spinner .ui-button-text{display:none}.csf-field-spinner .ui-spinner input{font-family:inherit;font-size:inherit;position:relative;z-index:1;width:50px;text-align:center;margin:0;padding:0 8px;border-radius:0}.csf-field-spinner .ui-spinner-down{order:1}.csf-field-spinner .ui-spinner-input{order:2}.csf-field-spinner .csf--unit{order:3}.csf-field-spinner .ui-spinner-up{order:4}.csf-field-switcher .csf--switcher{float:left;cursor:pointer;position:relative;width:60px;height:26px;padding:0;margin:0;overflow:hidden;border-radius:4px;background-color:#ed6f6f;user-select:none;-webkit-user-select:none}.csf-field-switcher .csf--ball{position:absolute;top:4px;left:4px;width:24px;height:18px;background-color:#fff;border-radius:4px;transition:all .1s;box-shadow:1px 1px 1px rgba(0,0,0,.15)}.csf-field-switcher .csf--off,.csf-field-switcher .csf--on{position:absolute;top:0;left:0;right:0;font-size:11px;line-height:26px;font-weight:500;font-style:normal;text-align:center;text-transform:uppercase;color:#fff;padding-right:28px;opacity:0;transition:all .1s}.csf-field-switcher .csf--off{padding-right:0;padding-left:28px;opacity:1}.csf-field-switcher .csf--active{background:#4fb845}.csf-field-switcher .csf--active .csf--on{opacity:1}.csf-field-switcher .csf--active .csf--off{opacity:0}.csf-field-switcher .csf--active .csf--ball{left:100%;margin-left:-28px}.csf-field-switcher .csf--label{float:left;margin-top:4px;margin-left:8px;font-weight:400;color:#999}.csf-field-tabbed .csf-tabbed-content{border:1px solid #ccd0d4;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.csf-field-tabbed .csf-tabbed-content>.csf-field{padding:15px}.csf-field-tabbed .csf-tabbed-nav .csf--icon{padding-right:5px}.csf-field-tabbed .csf-tabbed-nav a{display:inline-block;padding:12px 15px;margin-top:1px;margin-right:5px;margin-bottom:-1px;position:relative;text-decoration:none;color:#444;font-weight:600;border:1px solid #ccd0d4;background-color:#f3f3f3;transition:all .2s}.csf-field-tabbed .csf-tabbed-nav a:hover{background-color:#f9f9f9}.csf-field-tabbed .csf-tabbed-nav a.csf-tabbed-active{background-color:#fff;border-bottom-color:#fff}.csf-field-tabbed .csf-tabbed-nav a:focus{outline:0;box-shadow:none}.csf-field-text input{width:50%;max-width:100%;margin:0}.csf-field-textarea textarea{width:100%;max-width:100%;min-height:125px}.csf-field-textarea .csf-shortcode-button{margin-bottom:10px;margin-right:5px}.csf-field-typography select,.csf-field-typography textarea{margin:0;min-width:100%;max-width:100%}.csf-field-typography .csf--title{color:#777;margin:0 0 2px 0;font-size:12px}.csf-field-typography .csf--title small{vertical-align:top}.csf-field-typography .csf--blocks{display:flex;flex-wrap:wrap}.csf-field-typography .csf--block{flex:1;max-width:100%;padding-right:6px;padding-bottom:6px}.csf-field-typography .csf--input{margin:0;min-width:100%}.csf-field-typography .csf--input-wrap{position:relative}.csf-field-typography .csf--unit{position:absolute;z-index:1;right:4px;top:4px;bottom:4px;padding:2px 6px;color:#666;font-size:11px;line-height:1;border-radius:2px;background:#eee;user-select:none;display:flex;justify-content:center;flex-direction:column}.csf-field-typography .csf--preview{font-size:16px;line-height:20px;padding:20px;color:#222;border:1px solid #eee;background-color:#fff;border-radius:2.5px;user-select:none;-webkit-user-select:none;transition:background-color .2s,border-color .2s}.csf-field-typography .csf--block-preview{cursor:pointer;position:relative;overflow:hidden;margin-top:10px;max-width:100%}.csf-field-typography .csf--black-background{border-color:#000;background-color:#000}.csf-field-typography .csf--toggle{position:absolute;top:5px;right:10px;color:#999}.csf-field-typography .csf--block-extra-styles{margin-top:5px}.csf-field-upload input{width:100%;margin:0}.csf-field-upload .csf--wrap{display:flex;align-items:flex-start}.csf-field-upload .button{margin-left:5px}.csf-field-upload .csf--preview{position:relative}.csf-field-wp_editor .csf-wp-editor{float:left;width:100%}.csf-field-wp_editor .mce-toolbar-grp{border:none}.csf-field-wp_editor .mce-btn.mce-active button,.csf-field-wp_editor .mce-btn.mce-active i,.csf-field-wp_editor .mce-btn.mce-active:hover button,.csf-field-wp_editor .mce-btn.mce-active:hover i{color:#23282d}.csf-field-wp_editor .wp-media-buttons{position:relative;z-index:2}.csf-field-wp_editor .wp-editor-tabs{position:relative;z-index:1}.csf-field-wp_editor .csf-no-tinymce{border:1px solid #e5e5e5}.csf-field-wp_editor .csf-no-quicktags .wp-media-buttons{float:none;display:block}.csf-field-wp_editor .csf-no-quicktags .mce-tinymce{box-shadow:none;border:1px solid #e5e5e5}.csf-field-wp_editor textarea{width:100%;max-width:100%;margin:0;box-shadow:none}.csf-field-heading{font-size:1.5em;font-weight:700;color:#23282d;background-color:#f5f5f5}.csf-field-subheading{font-size:14px;font-weight:700;padding-top:17px;padding-bottom:17px;color:#23282d;background-color:#f7f7f7}.csf-field-submessage{padding:0!important;border:0!important}.csf-field-submessage+.csf-field{border-top:0!important}.csf-submessage{font-size:12px;padding:17px 30px;border-top:1px solid transparent;border-bottom:1px solid transparent}.csf-submessage-success{color:#3c763d;border-color:#d6e9c6;background-color:#dff0d8}.csf-submessage-info{color:#31708f;border-color:#bce8f1;background-color:#d9edf7}.csf-submessage-warning{color:#8a6d3b;border-color:#faebcc;background-color:#fcf8e3}.csf-submessage-danger{color:#a94442;border-color:#ebccd1;background-color:#f2dede}.csf-submessage-normal{color:#23282d;border-color:#eee;background-color:#f7f7f7}.csf-field-notice{background-color:#f7f7f7}.csf-notice{padding:12px;background-color:#fff;border-left-style:solid;border-left-width:4px;box-shadow:0 1px 1px rgba(0,0,0,.1)}.csf-notice-success{border-color:#46b450}.csf-notice-info{border-color:#339fd4}.csf-notice-warning{border-color:#ffbc00}.csf-notice-danger{border-color:#dc3232}.csf-notice-normal{border-color:#222}.csf-field-number input{width:100%;margin:0}.csf-field-number .csf--wrap{position:relative;float:left;width:100px}.csf-field-number .csf--unit{position:absolute;z-index:1;right:4px;top:4px;bottom:4px;padding:2px 6px;color:#666;font-size:11px;line-height:1;border-radius:2px;background:#eee;user-select:none;display:flex;justify-content:center;flex-direction:column}.csf-field-link .csf--result{display:inline-block;font-size:12px;line-height:16px;padding:7px 10px;margin-bottom:7px;color:#777;border:1px solid #e5e5e5;background-color:#f5f5f5;border-radius:2px;world-break:break-word}.csf-field-link .csf--wrap{position:relative;float:left;width:100px}.csf-field-link .csf--unit{position:absolute;z-index:1;right:4px;top:4px;bottom:4px;padding:2px 6px;color:#666;font-size:11px;line-height:1;border-radius:2px;background:#eee;user-select:none;display:flex;justify-content:center;flex-direction:column}.csf-help{cursor:help;position:absolute;top:0;right:0;padding:5px;font-size:13px;color:#aaa}.csf-help .csf-help-text{display:none}.csf--preview{max-width:100%}.csf-image-preview{display:inline-flex;align-items:center;justify-content:center;flex-direction:column;position:relative;padding:6px;max-width:120px;max-height:120px;min-width:40px;min-height:40px;margin-bottom:10px;text-align:center;border-radius:2px;border:1px solid #ccc;background-color:#f9f9f9;box-shadow:0 1px 0 rgba(0,0,0,.08)}.csf-image-preview i{cursor:pointer;position:absolute;z-index:1;right:4px;top:4px;font-size:14px;width:22px;height:22px;line-height:22px;text-align:center;text-decoration:none;color:#fff;background-color:#d33;opacity:.75;border-radius:2px;transition:all .2s}.csf-image-preview i:hover{opacity:1}.csf-image-preview i:focus{box-shadow:none}.csf-image-preview span{position:relative;overflow:hidden;display:flex;height:100%;width:100%}.csf-image-preview img{max-width:100%;height:auto;object-fit:contain}.csf-field-custom .csf-field{padding:0}.csf-field .chosen-container-single .chosen-single{height:28px;line-height:26px}.csf-field .chosen-container-single .chosen-single abbr{top:0;right:20px;font-family:"Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:12px;height:100%;width:18px;color:#aaa;text-align:center;background:0 0}.csf-field .chosen-container-single .chosen-single abbr:before{content:"\f00d"}.csf-field .chosen-container-single .chosen-single abbr:hover{color:#555}.csf-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close{font-family:"Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:12px;height:100%;width:18px;color:#aaa;text-align:center;background:0 0}.csf-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close:before{content:"\f00d";display:inline-block;padding-top:3px}.csf-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover{color:#555}.csf-field .chosen-container-single .chosen-single div b{font-family:"Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:14px;color:#aaa;background:0 0}.csf-field .chosen-container-single .chosen-single div b:before{content:"\f107"}.csf-field .chosen-container-single .chosen-single div b:hover{color:#555}.csf-field .chosen-container-multi .chosen-choices li.search-choice-placeholder{border:1px dashed #aaa;margin:3px 5px 3px 0}.csf-field .chosen-container-multi .ui-sortable li.search-choice span{cursor:move}.csf-field .chosen-container-active.chosen-with-drop .chosen-single div b:before{content:"\f106"}.csf-field .chosen-container-single .chosen-single-with-deselect span{margin-right:40px}.csf-field .chosen-container-single .chosen-search input[type=text]{background:0 0}.csf-field .chosen-container-single .chosen-search:before{font-family:"Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:11px;content:"\f002";position:absolute;right:12px;top:10px;color:#aaa}.csf-field .wp-picker-container{display:inline-block}.csf-field .wp-picker-container .wp-color-result.button{margin-bottom:0}.csf-field .csf--transparent-wrap{display:none;position:relative;top:-1px;width:235px;padding:9px 10px;border:1px solid #dfdfdf;border-top:none;background-color:#fff}.csf-field .wp-picker-active .csf--transparent-wrap{display:block}.csf-field .csf--transparent-slider{position:absolute;width:190px;margin-left:2px;height:18px}.csf-field .csf--transparent-slider .ui-slider-handle{position:absolute;top:-3px;bottom:-3px;z-index:5;border-color:#aaa;border-style:solid;border-width:4px 3px;width:10px;height:16px;margin:0 -5px;background:0 0;cursor:ew-resize;opacity:.9;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.2)}.csf-field .csf--transparent-slider .ui-slider-handle:before{content:" ";position:absolute;left:-2px;right:-2px;top:-3px;bottom:-3px;border:2px solid #fff;border-radius:3px}.csf-field .csf--transparent-offset{height:18px;width:200px;background:url(../images/checkerboard.png) repeat-y center left scroll #fff;border-radius:2px;box-shadow:inset 0 0 5px rgba(0,0,0,.4)}.csf-field .csf--transparent-text{position:absolute;top:12px;right:10px;width:30px;font-size:12px;line-height:12px;text-align:center;color:#999}.csf-field .csf--transparent-button{cursor:pointer;user-select:none;margin-top:10px;font-size:11px;text-align:center;border-radius:2px;padding:3px 7px;box-shadow:0 1px 0 rgba(0,0,0,.1);letter-spacing:.2px;color:#777;border:1px solid #ccc;background-color:#f7f7f7;transition:background-color .2s,border-color .2s,color .2s}.csf-field .csf--transparent-active .wp-color-result{background-image:url(../images/checkerboard.png);background-size:135px;background-position:center left;background-color:transparent!important}.csf-field .csf--transparent-active .csf--transparent-button{color:#fff;border-color:#3ea032;background-color:#4fb845}.csf-field .csf--transparent-active .fa:before{content:"\f205"}.csf-widgets>.csf-field{position:relative;top:-1px;margin-left:-15px;margin-right:-15px;padding:12px 15px}.csf-widgets>.csf-field .csf-title{float:none;width:100%;margin-bottom:5px}.csf-widgets>.csf-field .csf-fieldset{float:none;width:100%}.csf-widgets .csf-field-text input{width:100%}.csf-widgets .csf-field-notice .csf-notice{padding:15px}.control-section .csf-widgets>.csf-field{margin-left:-10px;margin-right:-10px;padding:10px 12px}.wp-block .csf-widgets{font-size:13px}.wp-block .csf-widgets>.csf-field{margin-left:-10px;margin-right:-10px}.wp-block .csf-widgets>.csf-field .button-primary{color:#fff}.wp-block .csf-widgets>.csf-field>.csf-title>h4{font-size:13px}.control-section .csf-field{padding:0}.control-section .csf-field .csf-title{float:none;width:100%;margin-bottom:6px}.control-section .csf-field .csf-title h4{display:block;font-size:13px;line-height:1;font-weight:600;color:inherit}.control-section .csf-field .csf-fieldset{float:none;width:100%}.control-section .csf-help{top:-5px;right:-5px}.control-section .csf-field-select select{width:100%}.control-section .csf-field-heading{color:inherit;font-size:14px;line-height:1em;margin-right:-15px;margin-left:-15px;padding:15px}.control-section .csf-field-subheading{color:inherit;font-size:11px;margin-right:-15px;margin-left:-15px;padding:10px 15px}.control-section .csf-subtitle-text{margin-top:4px;font-size:12px}.control-section .csf-field-submessage .csf-submessage{margin-right:-15px;margin-left:-15px;padding:15px}.control-section .csf-fieldset .csf-field-heading,.control-section .csf-fieldset .csf-field-subheading,.control-section .csf-fieldset .csf-field-submessage .csf-submessage{margin-left:0;margin-right:0}.control-section .csf-field-date label,.control-section .csf-field-datetime label{display:block}.control-section .csf-field-date .csf--to,.control-section .csf-field-datetime .csf--to{margin-top:4px;margin-left:0}.control-section .csf-field-sorter ul li{padding:5px}.control-section .csf-field-sorter .csf-modules{float:none;width:100%}.control-section .csf-field-sorter .csf-modules:first-child{padding-right:0;padding-bottom:15px}.control-section .csf-field-background .csf--background-attributes{flex-direction:column}.control-section .csf-field-spacing input{width:90px}.control-section .csf-field-border .csf--input{flex:1 50%}.control-section .csf-field-border input,.control-section .csf-field-border select{width:100%}.control-section .csf-field-spinner input{width:50px}.control-section .csf-field-number .csf--wrap{width:100%}.control-section .csf-field-backup .csf-export-data{display:none}.control-section .csf-field-fieldset .csf-fieldset-content{border-color:#e5e5e5}.control-section .csf-accordion-content>.csf-field,.control-section .csf-cloneable-content>.csf-field,.control-section .csf-fieldset-content>.csf-field,.control-section .csf-repeater-content>.csf-field,.control-section .csf-sortable-content>.csf-field,.control-section .csf-tabbed-content>.csf-field{padding:10px}.control-section .csf-accordion-content>.csf-field .csf-title,.control-section .csf-cloneable-content>.csf-field .csf-title,.control-section .csf-fieldset-content>.csf-field .csf-title,.control-section .csf-repeater-content>.csf-field .csf-title,.control-section .csf-sortable-content>.csf-field .csf-title,.control-section .csf-tabbed-content>.csf-field .csf-title{margin-bottom:5px}.control-section .csf-accordion-content>.csf-field h4,.control-section .csf-cloneable-content>.csf-field h4,.control-section .csf-fieldset-content>.csf-field h4,.control-section .csf-repeater-content>.csf-field h4,.control-section .csf-sortable-content>.csf-field h4,.control-section .csf-tabbed-content>.csf-field h4{font-size:12px}.control-section .csf-depend-hidden.csf-depend-on{display:none!important}.control-section .csf-depend-visible.csf-depend-on{border-top:0!important}.csf-taxonomy{max-width:95%}.csf-taxonomy>.csf-field{border-top:none!important}.csf-taxonomy>.csf-field-heading{font-size:1.1em;padding:20px!important;border:1px solid #ddd}.csf-taxonomy>.csf-field-subheading{font-size:12px;padding:15px!important;border:1px solid #ddd}.csf-taxonomy>.csf-field-submessage .csf-submessage{padding:15px;border-left-width:1px;border-left-style:solid;border-right-width:1px;border-right-style:solid}.csf-taxonomy>.csf-field-notice{background-color:transparent}.csf-taxonomy .csf-section-title{display:block;padding:15px;background-color:#f9f9f9;border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04)}.csf-taxonomy-add-fields>.csf-field{padding:8px 0}.csf-taxonomy-add-fields>.csf-field>.csf-title{float:none;width:100%;padding:2px 2px 4px 0}.csf-taxonomy-add-fields>.csf-field>.csf-title h4{font-size:12px;font-weight:400}.csf-taxonomy-add-fields>.csf-field>.csf-fieldset{float:none;width:100%}.csf-taxonomy-add-fields>.csf-field>.csf-fieldset>.csf-help{right:-5px}.csf-taxonomy-add-fields+p.submit{margin-top:0}.csf-taxonomy-edit-fields>.csf-field{padding:20px 0}.csf-taxonomy-edit-fields>.csf-field>.csf-title{width:200px}.csf-taxonomy-edit-fields>.csf-field>.csf-title h4{font-size:14px;font-weight:600;line-height:1.3;display:inline-block;vertical-align:middle}.csf-taxonomy-edit-fields>.csf-field>.csf-fieldset{width:calc(100% - 220px)}.csf-taxonomy-edit-fields>.csf-field>.csf-fieldset>.csf-help{top:-5px;right:-5px}.csf-taxonomy-edit-fields>.csf-field-submessage{margin:20px 0}.csf-taxonomy-edit-fields>.csf-field-heading,.csf-taxonomy-edit-fields>.csf-field-subheading{margin:20px 0;border:1px solid #ddd}.csf-nav-menu-options{clear:both;float:left;width:100%}.csf-nav-menu-options>.csf-fields{margin:10px -10px;border-top:1px solid #eee;border-bottom:1px solid #eee}.csf-nav-menu-options>.csf-fields>.csf-field{padding:12px}.csf-nav-menu-options>.csf-fields>.csf-field .csf-title{float:none;width:100%;margin-bottom:5px}.csf-nav-menu-options>.csf-fields>.csf-field .csf-fieldset{float:none;width:100%}.csf-nav-menu-options .csf-field-text input{width:100%}.csf-nav-menu-options .csf-field-notice .csf-notice{padding:15px}.csf-nav-menu-title{padding:12px;background-color:#f5f5f5;border-top:1px solid #eee;border-bottom:1px solid #eee}.csf-nav-menu-title:first-child{border-top:0}.csf-nav-menu-title h4{margin:0;padding:0;color:#23282d}.csf-nav-menu-icon{margin-right:5px}.csf-profile-options>h2>.fa{padding-right:7px}.csf-profile-options>.csf-field{max-width:750px;padding:15px 0;border-top:none!important}.csf-profile-options>.csf-field>.csf-title{width:200px}.csf-profile-options>.csf-field>.csf-title h4{font-size:14px;font-weight:600;line-height:1.3;display:inline-block;vertical-align:middle}.csf-profile-options>.csf-field>.csf-fieldset{width:calc(100% - 220px)}.csf-profile-options>.csf-field>.csf-fieldset>.csf-help{top:-15px;right:-5px}.csf-profile-options>.csf-field-heading{font-size:1.1em}.csf-profile-options>.csf-field-subheading{font-size:12px}.csf-profile-options>.csf-field-heading,.csf-profile-options>.csf-field-subheading{margin:10px 0;padding:15px!important;border:1px solid #ddd}.csf-profile-options>.csf-field-submessage{margin:20px 0}.csf-profile-options>.csf-field-submessage .csf-submessage{padding:10px;border-left-width:1px;border-left-style:solid;border-right-width:1px;border-right-style:solid}.csf-profile-options>.csf-field-notice{background-color:transparent}.csf-modal{position:fixed;z-index:100101;top:0;left:0;width:100%;height:100%}.csf-modal.hidden{display:none}.csf-modal-icon{z-index:100102}.csf-modal-table{display:table;width:100%;height:100%}.csf-modal-table-cell{display:table-cell;vertical-align:middle;margin:100px 0}.csf-modal-inner{position:relative;z-index:10;width:760px;height:750px;margin:0 auto;background-color:#fff}.csf-modal-content{position:relative;overflow:hidden;overflow-y:auto;height:595px}.csf-modal-content .csf-shortcode-button{display:none}.csf-modal-content .csf-field{padding:15px 30px 15px 15px}.csf-modal-content a:active,.csf-modal-content a:focus{outline:0;box-shadow:none}.csf-modal-content h4{font-size:13px}.csf-modal-content h4 small{font-style:italic;font-weight:400;color:#aaa}.csf-modal-title{position:relative;background-color:#fcfcfc;border-bottom:1px solid #ddd;height:36px;font-size:16px;font-weight:600;line-height:36px;margin:0;padding:0 36px 0 16px}.csf-modal-header{width:100%;padding:14px 0;background-color:#f5f5f5;border-bottom:1px solid #ddd}.csf-modal-header select{display:block;width:250px;margin:0 auto;font-size:13px;line-height:1;height:30px;min-height:30px;background-color:#fff}.csf-modal-close{color:#666;padding:0;position:absolute;top:0;right:0;width:36px;height:36px;text-align:center;background:0 0;border:none;cursor:pointer}.csf-modal-close:before{font:normal 20px/36px dashicons;content:"\f158";vertical-align:top;width:36px;height:36px}.csf-modal-close:hover{opacity:.5}.csf-modal-insert-wrapper{text-align:center;width:100%;padding:15px 0;background-color:#f5f5f5;border-top:1px solid #ddd}.csf-modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000;opacity:.5}.csf--repeatable{padding:15px 15px 0 15px}.csf--repeat-button-block{text-align:center;padding-bottom:15px}.csf--repeat-shortcode{position:relative;margin-bottom:15px;border:1px dashed #ddd}.csf--repeat-shortcode:first-child .csf-repeat-remove{display:none}.csf--repeat-shortcode .csf-repeat-remove{position:absolute;right:10px;top:10px;z-index:10;cursor:pointer;display:inline-block;font-size:11px;width:18px;height:18px;line-height:18px;text-align:center;border-radius:2px;color:#fff;background-color:#e14d43;opacity:.5}.csf--repeat-shortcode .csf-repeat-remove:hover{opacity:.5}.csf-shortcode-single .csf-modal-inner{height:750px}.csf-shortcode-single .csf-modal-content{height:652px}.elementor-editor-active .csf-shortcode-button{margin-left:5px}.elementor-editor-active .csf-modal .hidden{display:none!important}.csf-shortcode-block{text-align:center;padding:14px;font-size:13px;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}.csf-shortcode-block .components-button{margin-bottom:10px}.csf-modal-icon .csf-icon-title{padding:15px 0;margin:4px;font-size:14px;font-weight:700;text-align:center;border:1px solid #eee;background-color:#f7f7f7}.csf-modal-icon .csf-modal-header{text-align:center}.csf-modal-icon .csf-icon-search{width:50%;height:40px;line-height:40px}.csf-modal-icon i{cursor:pointer;display:inline-block;margin:4px;width:35px;height:35px;line-height:35px;font-size:16px;color:#555;text-align:center;border:1px solid #ccc;background-color:#f7f7f7;border-radius:2px;box-shadow:1px 1px 0 rgba(0,0,0,.05)}.csf-modal-icon i:hover{color:#fff;border-color:#222;background-color:#222}.csf-modal-icon .csf-modal-content{padding:10px;height:618px}.csf-modal-icon .csf-error-text{padding:10px}.csf-modal-loading{display:none;position:absolute;left:15px;top:15px}.csf-loading{position:relative;width:20px;height:20px;background:#ccc;border-radius:20px;box-shadow:0 2px 5px rgba(0,0,0,.07)}.csf-loading:after{position:absolute;top:50%;left:50%;width:4px;height:4px;content:"";margin-top:-2px;margin-left:-2px;background-color:#fff;animation-duration:.5s;animation-iteration-count:infinite;animation-timing-function:linear;animation-name:csfLoader;border-radius:4px}@keyframes csfLoader{0%{transform:rotate(0) translateX(-6px) rotate(0)}100%{transform:rotate(360deg) translateX(-6px) rotate(-360deg)}}.csf-subtitle-text{margin-top:6px;font-weight:400;color:#999}.csf-desc-text{clear:both;float:left;width:100%;margin-top:6px;font-weight:400;color:#999}.csf-error-text{margin-top:6px;color:#d02c21}.csf-before-text{margin-bottom:6px}.csf-after-text{margin-top:6px}.csf-metabox-hide{display:none!important}.csf-metabox-show{display:block!important}.csf-depend-hidden.csf-depend-on{display:none}.csf-depend-visible.csf-depend-on{display:block;opacity:.75;filter:grayscale(1);user-select:none;border-top:1px solid #eee}.csf-depend-visible.csf-depend-on .clear:before{content:"";left:0;top:0;right:0;bottom:0;position:absolute;background-color:#eee;opacity:.25;z-index:10}.csf-warning-primary{color:#fff!important;border-color:#dc3545!important;background:#dc3545!important}.csf-warning-primary:focus,.csf-warning-primary:hover{border-color:#bd2130!important;background:#bd2130!important}.csf-warning-primary:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px #bd2130!important}.csf-warning-primary:active{border-color:#bd2130!important;background:#bd2130!important}.csf-form-result{display:none;float:left;padding:0 8px;margin-right:4px;font-size:11px;line-height:30px;user-select:none;border-radius:2px}.csf-form-show{display:block}.csf-form-success{color:#fff;background-color:#46b450}.csf-form-warning{color:#8a6d3b;background-color:#faebcc}.csf-label-error{position:relative;top:-2px;display:inline-block;font-size:10px;line-height:10px;height:10px;width:10px;padding:1px;font-style:normal;text-align:center;color:#fff;vertical-align:middle;background-color:#e10000;border-radius:2px}.csf-no-option{padding:30px}.csf-input-number{-moz-appearance:textfield}.csf-input-number::-webkit-inner-spin-button,.csf-input-number::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.csf-fa5-shims .csf .fab,.csf-fa5-shims .csf .far,.csf-fa5-shims .csf .fas{font-family:FontAwesome;font-style:normal}.csf-welcome-wrap{position:relative;margin:25px 40px 0 20px;font-size:15px;max-width:1200px}.csf-welcome-wrap p{font-size:14px;line-height:1.5}.csf-welcome-wrap h1{margin:.2em 200px 0 0;padding:0;color:#32373c;line-height:1.2em;font-size:2.8em;font-weight:400}.csf-welcome-wrap .csf-logo{position:absolute;overflow:hidden;top:0;right:0;height:160px;width:140px;background-image:linear-gradient(45deg,#2d67cb,#ad19f3);box-shadow:0 1px 4px rgba(0,0,0,.25),inset 0 0 0 4px rgba(0,0,0,.25)}.csf-welcome-wrap .csf-logo .csf--effects i{position:absolute;width:200px;height:100px;background-color:rgba(0,0,0,.15);transform:rotate(-45deg)}.csf-welcome-wrap .csf-logo .csf--effects i:first-child{bottom:-20px;right:-70px}.csf-welcome-wrap .csf-logo .csf--effects i:nth-child(2){bottom:-35px;right:-80px}.csf-welcome-wrap .csf-logo .csf--effects i:nth-child(3){bottom:-50px;right:-90px}.csf-welcome-wrap .csf-logo .csf--effects i:nth-child(4){bottom:-65px;right:-100px}.csf-welcome-wrap .csf-logo .csf--wp-logos{position:relative;padding-top:25px;text-align:center}.csf-welcome-wrap .csf-logo .csf--wp-logo{position:absolute;left:20px;width:20px;height:20px;background-repeat:no-repeat;background-position:center center;background-image:url(../images/wp-logo.svg)}.csf-welcome-wrap .csf-logo .csf--wp-plugin-logo{display:inline-block;width:50px;height:50px;border:3px solid #fff;background-size:40px;background-repeat:no-repeat;background-position:center center;background-image:url(../images/wp-plugin-logo.svg);border-radius:100%;vertical-align:middle}.csf-welcome-wrap .csf-logo .csf--text{position:absolute;left:0;right:0;top:90px;color:#fff;font-size:13px;line-height:1.2em;font-weight:600;text-align:center;text-transform:uppercase;text-shadow:1px 1px 0 rgba(0,0,0,.25)}.csf-welcome-wrap .csf-logo .csf--version{top:auto;left:auto;right:8px;bottom:4px;font-size:11px;text-transform:lowercase}.csf-welcome-wrap .csf-about-text{font-weight:400;line-height:1.6em;font-size:19px;margin:1em 200px 1em 0;color:#555d66}.csf-welcome-wrap .csf-demo-button{margin:1em 200px 2em 0}.csf-welcome-wrap .nav-tab-wrapper{margin-bottom:20px}.csf-welcome-wrap ul{list-style-type:disc;padding-left:15px}.csf-welcome-wrap .csf--col{float:left;padding-right:20px;box-sizing:border-box}.csf-welcome-wrap .csf--col-2{width:50%}.csf-welcome-wrap .csf--col-3{width:33.333%}.csf-welcome-wrap .csf--col-4{width:25%}.csf-welcome-wrap .csf--col-5{width:20%}.csf-welcome-wrap .csf--col-last{padding-right:0}.csf-welcome-wrap .csf--col-upgrade{padding:10px 0;text-align:center;border-top:1px solid #e5e5e5}.csf--table-compare tfoot td,.csf--table-compare thead td{text-align:center}.csf--table-compare td{font-size:14px;text-align:center;vertical-align:middle;padding:10px}.csf--table-compare td:first-child{text-align:left}.csf--table-compare tfoot td{padding:15px 0}.csf--table-compare .fa{font-size:18px}.csf--table-compare .fa-check-circle{color:#46b450}.csf--table-compare .fa-times-circle{color:#dc3232}.csf-welcome-cols{clear:both;margin:20px 0;background-color:#fff;padding:0 0;border-radius:2px;border:1px solid #e5e5e5}.csf-welcome-cols .csf--col{width:33.333%;float:left;padding:20px;text-align:center;box-sizing:border-box;min-height:200px;border-right:1px solid #e5e5e5}.csf-welcome-cols .csf--block,.csf-welcome-cols .csf--left{float:left;width:20%;padding:0 30px;text-align:center;box-sizing:border-box}.csf-welcome-cols .csf--block{width:80%}.csf-welcome-cols .csf--col-first{border-bottom:1px solid #e5e5e5}.csf-welcome-cols .csf--last{border-right:none}.csf-welcome-cols .csf--space{height:20px}.csf-welcome-cols .csf--icon{display:inline-block;font-size:20px;width:30px;height:30px;line-height:30px;text-align:center;margin-bottom:10px;color:#fff;background-color:#555;border-radius:30px}.csf-welcome-cols .csf--active{background-color:#5cb85c}.csf-welcome-cols .csf--deactive{background-color:#e14d43}.csf-welcome-cols .csf--title{font-weight:700;display:block}.csf-welcome-cols p:last-child{margin-bottom:0}.csf-features-cols .csf--key-features{width:30%}.csf-features-cols .csf--available-fields{width:70%}.csf-code-block{margin:20px 0;padding:5px 20px;background-color:#fff;border-radius:2px;box-shadow:0 1px 1px rgba(0,0,0,.15)}.csf-code-block pre{font-size:13px;color:#0073aa}.csf-code-block pre span{color:#999}.csf--table-fields td{font-size:14px}.csf--upgrade a{color:#5cb85c;font-weight:700}.csf--upgrade a:focus,.csf--upgrade a:hover{color:#4aa14a;outline:0;box-shadow:none}@media only screen and (max-width:782px){.csf-welcome-cols .csf--col{width:100%;min-height:auto;border-right:none;border-bottom:1px solid #e5e5e5}.csf-features-cols .csf--key-features{width:100%}.csf-features-cols .csf--available-fields{width:100%}}@media only screen and (max-width:1200px){.csf-metabox .csf-field .csf-title{float:none;width:100%;margin-bottom:10px}.csf-metabox .csf-field .csf-fieldset{float:none;width:100%}}@media only screen and (max-width:782px){.csf-header-inner{text-align:center}.csf-header-inner h1{width:100%;margin-bottom:10px}.csf-form-result{float:none;margin-right:0;margin-bottom:10px}.csf-header-left,.csf-header-right,.csf-search{width:100%}.csf-search{text-align:center;margin-bottom:15px}.csf-footer{text-align:center}.csf-buttons{float:none}.csf-copyright{float:none;margin-top:10px}.csf-expand-all,.csf-nav,.csf-nav-background,.csf-reset-section{display:none!important}.csf-nav-normal+.csf-content{margin-left:0}.csf-section,.csf-section-title{display:block!important}.csf-field .csf-title{float:none;width:100%;margin-bottom:10px}.csf-field .csf-fieldset{float:none;width:100%}.csf-field-color .button.wp-picker-clear{padding:0 8px;line-height:2.14285714;min-height:32px}.csf-profile-options>.csf-field>.csf-title,.csf-taxonomy-edit-fields>.csf-field>.csf-title{float:none;width:100%;margin-bottom:10px}.csf-profile-options>.csf-field>.csf-fieldset,.csf-taxonomy-edit-fields>.csf-field>.csf-fieldset{float:none;width:100%}.csf-nav-menu-options>.csf-fields{margin-left:-10px;margin-right:-10px}.csf-nav-menu-options>.csf-fields>.csf-field{padding:10px}}@media only screen and (max-width:782px){.csf-modal .csf-modal-inner{width:90%}}@media only screen and (max-height:750px){.csf-modal .csf-modal-inner{height:auto}.csf-modal .csf-modal-content{height:calc(100vh - 200px)}}.chosen-container{position:relative;display:inline-block;vertical-align:middle;font-size:13px;user-select:none}.chosen-container *{box-sizing:border-box}.chosen-container .chosen-drop{position:absolute;top:100%;z-index:1010;width:100%;border:1px solid #aaa;border-top:0;background:#fff;box-shadow:0 4px 5px rgba(0,0,0,.15);clip:rect(0,0,0,0);clip-path:inset(100% 100%)}.chosen-container.chosen-with-drop .chosen-drop{clip:auto;clip-path:none}.chosen-container a{cursor:pointer}.chosen-container .chosen-single .group-name,.chosen-container .search-choice .group-name{margin-right:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:400;color:#999}.chosen-container .chosen-single .group-name:after,.chosen-container .search-choice .group-name:after{content:":";padding-left:2px;vertical-align:top}.chosen-container-single .chosen-single{position:relative;display:block;overflow:hidden;padding:0 0 0 8px;height:25px;border:1px solid #aaa;border-radius:5px;background-color:#fff;background:linear-gradient(#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background-clip:padding-box;box-shadow:0 0 3px #fff inset,0 1px 1px rgba(0,0,0,.1);color:#444;text-decoration:none;white-space:nowrap;line-height:24px}.chosen-container-single .chosen-default{color:#999}.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;text-overflow:ellipsis;white-space:nowrap}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:6px;right:26px;display:block;width:12px;height:12px;font-size:1px}.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;width:18px;height:100%}.chosen-container-single .chosen-single div b{display:block;width:100%;height:100%}.chosen-container-single .chosen-search{position:relative;z-index:1010;margin:0;padding:3px 4px;white-space:nowrap}.chosen-container-single .chosen-search input[type=text]{margin:1px 0;padding:4px 20px 4px 5px;width:100%;height:auto;outline:0;border:1px solid #aaa;font-size:1em;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-single .chosen-drop{margin-top:-1px;border-radius:0 0 4px 4px;background-clip:padding-box}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;clip:rect(0,0,0,0);clip-path:inset(100% 100%)}.chosen-container .chosen-results{color:#444;position:relative;overflow-x:hidden;overflow-y:auto;margin:0 4px 4px 0;padding:0 0 0 4px;max-height:240px;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;margin:0;padding:5px 6px;list-style:none;line-height:15px;word-wrap:break-word;-webkit-touch-callout:none}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{background-color:#3875d7;background-image:linear-gradient(#3875d7 20%,#2a62bc 90%);color:#fff}.chosen-container .chosen-results li.no-results{color:#777;display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:700;cursor:default}.chosen-container .chosen-results li.group-option{padding-left:15px}.chosen-container .chosen-results li em{font-style:normal;text-decoration:underline}.chosen-container-multi .chosen-choices{position:relative;overflow:hidden;margin:0;padding:0 5px;width:100%;height:auto;border:1px solid #aaa;background-color:#fff;background-image:linear-gradient(#eee 1%,#fff 15%);cursor:text}.chosen-container-multi .chosen-choices li{float:left;list-style:none}.chosen-container-multi .chosen-choices li.search-field{margin:0;padding:0;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-field input[type=text]{margin:1px 0;padding:0;outline:0;border:0!important;background:0 0!important;box-shadow:none;color:#999;font-size:100%;font-family:sans-serif;line-height:normal;border-radius:0;width:25px;height:25px;min-height:25px}.chosen-container-multi .chosen-choices li.search-choice{position:relative;margin:3px 5px 3px 0;padding:3px 20px 3px 6px;border:1px solid #aaa;max-width:100%;border-radius:3px;background-color:#eee;background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-size:100% 19px;background-repeat:repeat-x;background-clip:padding-box;box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);color:#333;line-height:13px;cursor:default}.chosen-container-multi .chosen-choices li.search-choice span{word-wrap:break-word;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{position:absolute;top:0;right:0;display:block;width:12px;height:12px;font-size:1px}.chosen-container-multi .chosen-choices li.search-choice-disabled{padding-right:5px;border:1px solid #ccc;background-color:#e4e4e4;background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);color:#666}.chosen-container-multi .chosen-choices li.search-choice-focus{background:#d4d4d4}.chosen-container-multi .chosen-results{margin:0;padding:0}.chosen-container-multi .chosen-drop .result-selected{display:list-item;color:#ccc;cursor:default}.chosen-container-active .chosen-single{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #aaa;border-bottom-right-radius:0;border-bottom-left-radius:0;background-image:linear-gradient(#eee 20%,#fff 80%);box-shadow:0 1px 0 #fff inset}.chosen-container-active.chosen-with-drop .chosen-single div{border-left:none;background:0 0}.chosen-container-active .chosen-choices{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active .chosen-choices li.search-field input[type=text]{color:#222!important}.chosen-disabled{opacity:.5!important;cursor:default}.chosen-disabled .chosen-single{cursor:default}.chosen-disabled .chosen-choices .search-choice .search-choice-close{cursor:default}.chosen-rtl{text-align:right}.chosen-rtl .chosen-single{overflow:visible;padding:0 8px 0 0}.chosen-rtl .chosen-single span{margin-right:0;margin-left:26px;direction:rtl}.chosen-rtl .chosen-single-with-deselect span{margin-left:38px}.chosen-rtl .chosen-single div{right:auto;left:3px}.chosen-rtl .chosen-single abbr{right:auto;left:26px}.chosen-rtl .chosen-choices li{float:right}.chosen-rtl .chosen-choices li.search-field input[type=text]{direction:rtl}.chosen-rtl .chosen-choices li.search-choice{margin:3px 5px 3px 0;padding:3px 5px 3px 19px}.chosen-rtl .chosen-choices li.search-choice .search-choice-close{right:auto;left:4px}.chosen-rtl.chosen-container-single .chosen-results{margin:0 0 4px 4px;padding:0 4px 0 0}.chosen-rtl .chosen-results li.group-option{padding-right:15px;padding-left:0}.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div{border-right:none}.chosen-rtl .chosen-search input[type=text]{padding:4px 5px 4px 20px;direction:rtl}.flatpickr-calendar{background:0 0;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08);box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08)}.flatpickr-calendar.inline,.flatpickr-calendar.open{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1);animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none!important;box-shadow:none!important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-calendar .hasTime .dayContainer,.flatpickr-calendar .hasWeeks .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:after,.flatpickr-calendar:before{position:absolute;display:block;pointer-events:none;border:solid transparent;content:"";height:0;width:0;left:22px}.flatpickr-calendar.arrowRight:after,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.rightMost:before{left:auto;right:22px}.flatpickr-calendar.arrowCenter:after,.flatpickr-calendar.arrowCenter:before{left:50%;right:50%}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:after,.flatpickr-calendar.arrowTop:before{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:after,.flatpickr-calendar.arrowBottom:before{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-months .flatpickr-month{background:0 0;color:rgba(0,0,0,.9);fill:rgba(0,0,0,0.9);height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flatpickr-months .flatpickr-next-month,.flatpickr-months .flatpickr-prev-month{text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:rgba(0,0,0,.9);fill:rgba(0,0,0,0.9)}.flatpickr-months .flatpickr-next-month.flatpickr-disabled,.flatpickr-months .flatpickr-prev-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-next-month i,.flatpickr-months .flatpickr-prev-month i{position:relative}.flatpickr-months .flatpickr-next-month.flatpickr-prev-month,.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month{left:0}.flatpickr-months .flatpickr-next-month.flatpickr-next-month,.flatpickr-months .flatpickr-prev-month.flatpickr-next-month{right:0}.flatpickr-months .flatpickr-next-month:hover,.flatpickr-months .flatpickr-prev-month:hover{color:#959ea9}.flatpickr-months .flatpickr-next-month:hover svg,.flatpickr-months .flatpickr-prev-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-next-month svg,.flatpickr-months .flatpickr-prev-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-next-month svg path,.flatpickr-months .flatpickr-prev-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-inner-spin-button,.numInputWrapper input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57,57,57,.15);-webkit-box-sizing:border-box;box-sizing:border-box}.numInputWrapper span:hover{background:rgba(0,0,0,.1)}.numInputWrapper span:active{background:rgba(0,0,0,.2)}.numInputWrapper span:after{display:block;content:"";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,.6);top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:rgba(0,0,0,0.5)}.numInputWrapper:hover{background:rgba(0,0,0,.05)}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}.flatpickr-current-month span.cur-month:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .numInputWrapper{width:6ch;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:rgba(0,0,0,.9)}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:rgba(0,0,0,.9)}.flatpickr-current-month input.cur-year{background:0 0;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:rgba(0,0,0,.5);background:0 0;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:0 0;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0 0;outline:0;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:active,.flatpickr-current-month .flatpickr-monthDropdown-months:focus{outline:0}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:0;padding:0}.flatpickr-weekdays{background:0 0;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:0 0;color:rgba(0,0,0,.54);line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder}.dayContainer,.flatpickr-weeks{padding:1px 0 0 0}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px}.flatpickr-days:focus{outline:0}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.dayContainer+.dayContainer{-webkit-box-shadow:-1px 0 0 #e6e6e6;box-shadow:-1px 0 0 #e6e6e6}.flatpickr-day{background:0 0;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center}.flatpickr-day.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day.nextMonthDay:focus,.flatpickr-day.nextMonthDay:hover,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.today.inRange,.flatpickr-day:focus,.flatpickr-day:hover{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6}.flatpickr-day.today{border-color:#959ea9}.flatpickr-day.today:focus,.flatpickr-day.today:hover{border-color:#959ea9;background:#959ea9;color:#fff}.flatpickr-day.endRange,.flatpickr-day.endRange.inRange,.flatpickr-day.endRange.nextMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.endRange:focus,.flatpickr-day.endRange:hover,.flatpickr-day.selected,.flatpickr-day.selected.inRange,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.selected:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange,.flatpickr-day.startRange.inRange,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.startRange:focus,.flatpickr-day.startRange:hover{background:#569ff7;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-day.endRange.startRange,.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.endRange.endRange,.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #569ff7;box-shadow:-10px 0 0 #569ff7}.flatpickr-day.endRange.startRange.endRange,.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.nextMonthDay,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.prevMonthDay{color:rgba(57,57,57,.3);background:0 0;border-color:transparent;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:rgba(57,57,57,.1)}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7;box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #e6e6e6;box-shadow:1px 0 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:rgba(57,57,57,.3);background:0 0;cursor:default;border:none}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-time:after{content:"";display:table;clear:both}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:0 0;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-time input.flatpickr-hour{font-weight:700}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-am-pm,.flatpickr-time .flatpickr-time-separator{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:700;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time .flatpickr-am-pm:focus,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time input:hover{background:#eee}.flatpickr-input[readonly]{cursor:pointer}@-webkit-keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}} \ No newline at end of file diff --git a/vendor/beycanpress/csf/composer.json b/vendor/beycanpress/csf/composer.json index 3842193..dff1d27 100644 --- a/vendor/beycanpress/csf/composer.json +++ b/vendor/beycanpress/csf/composer.json @@ -1,7 +1,7 @@ { "name": "beycanpress/csf", "description": "Codestar Framework composer package", - "version": "2.3.5", + "version": "2.3.6", "type": "library", "license": "GPL-2.0", "author": "BeycanPress", diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php index c8d5f93..9070868 100644 --- a/vendor/composer/autoload_psr4.php +++ b/vendor/composer/autoload_psr4.php @@ -24,10 +24,10 @@ 'React\\Async\\' => array($vendorDir . '/react/async/src'), 'Ratchet\\RFC6455\\' => array($vendorDir . '/ratchet/rfc6455/src'), 'Ratchet\\Client\\' => array($vendorDir . '/ratchet/pawl/src'), - 'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src', $vendorDir . '/psr/http-factory/src'), + 'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-factory/src', $vendorDir . '/psr/http-message/src'), 'Psr\\Http\\Client\\' => array($vendorDir . '/psr/http-client/src'), 'MultipleChain\\EvmChains\\' => array($vendorDir . '/multiplechain/evm-chains/src'), - 'MultipleChain\\' => array($vendorDir . '/multiplechain/utils/src', $vendorDir . '/multiplechain/definitions/src'), + 'MultipleChain\\' => array($vendorDir . '/multiplechain/definitions/src', $vendorDir . '/multiplechain/utils/src'), 'GuzzleHttp\\Psr7\\' => array($vendorDir . '/guzzlehttp/psr7/src'), 'GuzzleHttp\\Promise\\' => array($vendorDir . '/guzzlehttp/promises/src'), 'GuzzleHttp\\' => array($vendorDir . '/guzzlehttp/guzzle/src'), diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index 2e4ee39..d0278e5 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -162,8 +162,8 @@ class ComposerStaticInit8344e6b546558a6c5633ebc2f36ec0f3 ), 'Psr\\Http\\Message\\' => array ( - 0 => __DIR__ . '/..' . '/psr/http-message/src', - 1 => __DIR__ . '/..' . '/psr/http-factory/src', + 0 => __DIR__ . '/..' . '/psr/http-factory/src', + 1 => __DIR__ . '/..' . '/psr/http-message/src', ), 'Psr\\Http\\Client\\' => array ( @@ -175,8 +175,8 @@ class ComposerStaticInit8344e6b546558a6c5633ebc2f36ec0f3 ), 'MultipleChain\\' => array ( - 0 => __DIR__ . '/..' . '/multiplechain/utils/src', - 1 => __DIR__ . '/..' . '/multiplechain/definitions/src', + 0 => __DIR__ . '/..' . '/multiplechain/definitions/src', + 1 => __DIR__ . '/..' . '/multiplechain/utils/src', ), 'GuzzleHttp\\Psr7\\' => array ( diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index e8b1d38..cc667bf 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -2,20 +2,20 @@ "packages": [ { "name": "beycanpress/csf", - "version": "2.3.5", - "version_normalized": "2.3.5.0", + "version": "2.3.6", + "version_normalized": "2.3.6.0", "source": { "type": "git", "url": "https://github.com/BeycanPress/csf.git", - "reference": "8abd652032c4f49cbacd9f838d5f987dd80d81a2" + "reference": "9f3c02a5eca67a70c442570061fcfe30d6b0353f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/BeycanPress/csf/zipball/8abd652032c4f49cbacd9f838d5f987dd80d81a2", - "reference": "8abd652032c4f49cbacd9f838d5f987dd80d81a2", + "url": "https://api.github.com/repos/BeycanPress/csf/zipball/9f3c02a5eca67a70c442570061fcfe30d6b0353f", + "reference": "9f3c02a5eca67a70c442570061fcfe30d6b0353f", "shasum": "" }, - "time": "2024-05-01T02:48:38+00:00", + "time": "2024-09-25T09:51:27+00:00", "type": "library", "installation-source": "dist", "notification-url": "https://packagist.org/downloads/", @@ -26,7 +26,7 @@ "homepage": "https://github.com/BeycanPress/csf", "support": { "issues": "https://github.com/BeycanPress/csf/issues", - "source": "https://github.com/BeycanPress/csf/tree/2.3.5" + "source": "https://github.com/BeycanPress/csf/tree/2.3.6" }, "install-path": "../beycanpress/csf" }, @@ -218,17 +218,17 @@ }, { "name": "guzzlehttp/guzzle", - "version": "7.9.0", - "version_normalized": "7.9.0.0", + "version": "7.9.2", + "version_normalized": "7.9.2.0", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "84ac2b2afc44e40d3e8e658a45d68d6d20437612" + "reference": "d281ed313b989f213357e3be1a179f02196ac99b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/84ac2b2afc44e40d3e8e658a45d68d6d20437612", - "reference": "84ac2b2afc44e40d3e8e658a45d68d6d20437612", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d281ed313b989f213357e3be1a179f02196ac99b", + "reference": "d281ed313b989f213357e3be1a179f02196ac99b", "shasum": "" }, "require": { @@ -255,7 +255,7 @@ "ext-intl": "Required for Internationalized Domain Name (IDN) support", "psr/log": "Required for using the Log middleware" }, - "time": "2024-07-18T11:52:56+00:00", + "time": "2024-07-24T11:22:20+00:00", "type": "library", "extra": { "bamarni-bin": { @@ -327,7 +327,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.9.0" + "source": "https://github.com/guzzle/guzzle/tree/7.9.2" }, "funding": [ { @@ -652,22 +652,22 @@ }, { "name": "multiplechain/evm-chains", - "version": "0.1.23", - "version_normalized": "0.1.23.0", + "version": "0.1.24", + "version_normalized": "0.1.24.0", "source": { "type": "git", "url": "https://github.com/MultipleChain-PHP/evm-chains.git", - "reference": "d468d6f0537615a8edf9510f050023ccade80b03" + "reference": "68294481057c028dba51b40f9a5f1c3d6c36bae6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/MultipleChain-PHP/evm-chains/zipball/d468d6f0537615a8edf9510f050023ccade80b03", - "reference": "d468d6f0537615a8edf9510f050023ccade80b03", + "url": "https://api.github.com/repos/MultipleChain-PHP/evm-chains/zipball/68294481057c028dba51b40f9a5f1c3d6c36bae6", + "reference": "68294481057c028dba51b40f9a5f1c3d6c36bae6", "shasum": "" }, "require": { "multiplechain/definitions": "^0.1.2", - "multiplechain/utils": "^0.1.4", + "multiplechain/utils": "^0.1.5", "web3p/ethereum-tx": "^0.4.3", "web3p/web3.php": "^0.3.2" }, @@ -678,7 +678,7 @@ "slevomat/coding-standard": "^8.15", "squizlabs/php_codesniffer": "^3.10" }, - "time": "2024-06-11T10:12:52+00:00", + "time": "2024-10-01T03:04:19+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -699,28 +699,27 @@ "description": "EVM Based Chains", "support": { "issues": "https://github.com/MultipleChain-PHP/evm-chains/issues", - "source": "https://github.com/MultipleChain-PHP/evm-chains/tree/0.1.23" + "source": "https://github.com/MultipleChain-PHP/evm-chains/tree/0.1.24" }, "install-path": "../multiplechain/evm-chains" }, { "name": "multiplechain/utils", - "version": "0.1.4", - "version_normalized": "0.1.4.0", + "version": "0.1.5", + "version_normalized": "0.1.5.0", "source": { "type": "git", "url": "https://github.com/MultipleChain-PHP/utils.git", - "reference": "70c5675299aceb010bb2596cd0a1f2760ec4ae3f" + "reference": "b9b64927b0127959a6fe9423cf37ee8469d3f182" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/MultipleChain-PHP/utils/zipball/70c5675299aceb010bb2596cd0a1f2760ec4ae3f", - "reference": "70c5675299aceb010bb2596cd0a1f2760ec4ae3f", + "url": "https://api.github.com/repos/MultipleChain-PHP/utils/zipball/b9b64927b0127959a6fe9423cf37ee8469d3f182", + "reference": "b9b64927b0127959a6fe9423cf37ee8469d3f182", "shasum": "" }, "require": { "ext-bcmath": "*", - "ext-gmp": "*", "ext-mbstring": "*", "phpseclib/phpseclib": "~2.0.30" }, @@ -730,7 +729,7 @@ "slevomat/coding-standard": "^8.15", "squizlabs/php_codesniffer": "^3.10" }, - "time": "2024-06-11T09:47:47+00:00", + "time": "2024-10-01T02:15:53+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -751,7 +750,7 @@ "description": "MultipleChain Utils", "support": { "issues": "https://github.com/MultipleChain-PHP/utils/issues", - "source": "https://github.com/MultipleChain-PHP/utils/tree/0.1.4" + "source": "https://github.com/MultipleChain-PHP/utils/tree/0.1.5" }, "install-path": "../multiplechain/utils" }, @@ -1761,34 +1760,34 @@ }, { "name": "react/socket", - "version": "v1.15.0", - "version_normalized": "1.15.0.0", + "version": "v1.16.0", + "version_normalized": "1.16.0.0", "source": { "type": "git", "url": "https://github.com/reactphp/socket.git", - "reference": "216d3aec0b87f04a40ca04f481e6af01bdd1d038" + "reference": "23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/socket/zipball/216d3aec0b87f04a40ca04f481e6af01bdd1d038", - "reference": "216d3aec0b87f04a40ca04f481e6af01bdd1d038", + "url": "https://api.github.com/repos/reactphp/socket/zipball/23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1", + "reference": "23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1", "shasum": "" }, "require": { "evenement/evenement": "^3.0 || ^2.0 || ^1.0", "php": ">=5.3.0", - "react/dns": "^1.11", + "react/dns": "^1.13", "react/event-loop": "^1.2", - "react/promise": "^3 || ^2.6 || ^1.2.1", - "react/stream": "^1.2" + "react/promise": "^3.2 || ^2.6 || ^1.2.1", + "react/stream": "^1.4" }, "require-dev": { "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", - "react/async": "^4 || ^3 || ^2", + "react/async": "^4.3 || ^3.3 || ^2", "react/promise-stream": "^1.4", - "react/promise-timer": "^1.10" + "react/promise-timer": "^1.11" }, - "time": "2023-12-15T11:02:10+00:00", + "time": "2024-07-26T10:38:09+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -1832,7 +1831,7 @@ ], "support": { "issues": "https://github.com/reactphp/socket/issues", - "source": "https://github.com/reactphp/socket/tree/v1.15.0" + "source": "https://github.com/reactphp/socket/tree/v1.16.0" }, "funding": [ { @@ -2151,21 +2150,21 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.30.0", - "version_normalized": "1.30.0.0", + "version": "v1.31.0", + "version_normalized": "1.31.0.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c" + "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fd22ab50000ef01661e2a31d850ebaa297f8e03c", - "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341", + "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "provide": { "ext-mbstring": "*" @@ -2173,7 +2172,7 @@ "suggest": { "ext-mbstring": "For best performance" }, - "time": "2024-06-19T12:30:46+00:00", + "time": "2024-09-09T11:45:10+00:00", "type": "library", "extra": { "thanks": { @@ -2214,7 +2213,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0" }, "funding": [ { diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php index 36cc5ac..02dd9eb 100644 --- a/vendor/composer/installed.php +++ b/vendor/composer/installed.php @@ -3,7 +3,7 @@ 'name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '91fb29f3ec7f2d3b08b8ba284a2d3d9ae3d9247d', + 'reference' => '79781f482d3199ea1976c27413296d8d00eb8ac8', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), @@ -13,16 +13,16 @@ '__root__' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '91fb29f3ec7f2d3b08b8ba284a2d3d9ae3d9247d', + 'reference' => '79781f482d3199ea1976c27413296d8d00eb8ac8', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev_requirement' => false, ), 'beycanpress/csf' => array( - 'pretty_version' => '2.3.5', - 'version' => '2.3.5.0', - 'reference' => '8abd652032c4f49cbacd9f838d5f987dd80d81a2', + 'pretty_version' => '2.3.6', + 'version' => '2.3.6.0', + 'reference' => '9f3c02a5eca67a70c442570061fcfe30d6b0353f', 'type' => 'library', 'install_path' => __DIR__ . '/../beycanpress/csf', 'aliases' => array(), @@ -65,9 +65,9 @@ 'dev_requirement' => false, ), 'guzzlehttp/guzzle' => array( - 'pretty_version' => '7.9.0', - 'version' => '7.9.0.0', - 'reference' => '84ac2b2afc44e40d3e8e658a45d68d6d20437612', + 'pretty_version' => '7.9.2', + 'version' => '7.9.2.0', + 'reference' => 'd281ed313b989f213357e3be1a179f02196ac99b', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/guzzle', 'aliases' => array(), @@ -110,18 +110,18 @@ 'dev_requirement' => false, ), 'multiplechain/evm-chains' => array( - 'pretty_version' => '0.1.23', - 'version' => '0.1.23.0', - 'reference' => 'd468d6f0537615a8edf9510f050023ccade80b03', + 'pretty_version' => '0.1.24', + 'version' => '0.1.24.0', + 'reference' => '68294481057c028dba51b40f9a5f1c3d6c36bae6', 'type' => 'library', 'install_path' => __DIR__ . '/../multiplechain/evm-chains', 'aliases' => array(), 'dev_requirement' => false, ), 'multiplechain/utils' => array( - 'pretty_version' => '0.1.4', - 'version' => '0.1.4.0', - 'reference' => '70c5675299aceb010bb2596cd0a1f2760ec4ae3f', + 'pretty_version' => '0.1.5', + 'version' => '0.1.5.0', + 'reference' => 'b9b64927b0127959a6fe9423cf37ee8469d3f182', 'type' => 'library', 'install_path' => __DIR__ . '/../multiplechain/utils', 'aliases' => array(), @@ -272,9 +272,9 @@ 'dev_requirement' => false, ), 'react/socket' => array( - 'pretty_version' => 'v1.15.0', - 'version' => '1.15.0.0', - 'reference' => '216d3aec0b87f04a40ca04f481e6af01bdd1d038', + 'pretty_version' => 'v1.16.0', + 'version' => '1.16.0.0', + 'reference' => '23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1', 'type' => 'library', 'install_path' => __DIR__ . '/../react/socket', 'aliases' => array(), @@ -326,9 +326,9 @@ 'dev_requirement' => false, ), 'symfony/polyfill-mbstring' => array( - 'pretty_version' => 'v1.30.0', - 'version' => '1.30.0.0', - 'reference' => 'fd22ab50000ef01661e2a31d850ebaa297f8e03c', + 'pretty_version' => 'v1.31.0', + 'version' => '1.31.0.0', + 'reference' => '85181ba99b2345b0ef10ce42ecac37612d9fd341', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', 'aliases' => array(), diff --git a/vendor/guzzlehttp/guzzle/CHANGELOG.md b/vendor/guzzlehttp/guzzle/CHANGELOG.md index b64cd46..e0b6216 100644 --- a/vendor/guzzlehttp/guzzle/CHANGELOG.md +++ b/vendor/guzzlehttp/guzzle/CHANGELOG.md @@ -3,6 +3,20 @@ Please refer to [UPGRADING](UPGRADING.md) guide for upgrading to a major version. +## 7.9.2 - 2024-07-24 + +### Fixed + +- Adjusted handler selection to use cURL if its version is 7.21.2 or higher, rather than 7.34.0 + + +## 7.9.1 - 2024-07-19 + +### Fixed + +- Fix TLS 1.3 check for HTTP/2 requests + + ## 7.9.0 - 2024-07-18 ### Changed diff --git a/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php b/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php index 9ecf330..fe36137 100644 --- a/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php +++ b/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php @@ -552,7 +552,7 @@ private function applyHandlerOptions(EasyHandle $easy, array &$conf): void ) { $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_2; } elseif (defined('STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT') && \STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT === $options['crypto_method']) { - if (!self::supportsTls12()) { + if (!self::supportsTls13()) { throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.3 not supported by your version of cURL'); } $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_3; diff --git a/vendor/guzzlehttp/guzzle/src/Utils.php b/vendor/guzzlehttp/guzzle/src/Utils.php index 644013b..df52927 100644 --- a/vendor/guzzlehttp/guzzle/src/Utils.php +++ b/vendor/guzzlehttp/guzzle/src/Utils.php @@ -87,7 +87,7 @@ public static function chooseHandler(): callable { $handler = null; - if (\defined('CURLOPT_CUSTOMREQUEST') && \function_exists('curl_version') && version_compare(curl_version()['version'], '7.34') >= 0) { + if (\defined('CURLOPT_CUSTOMREQUEST') && \function_exists('curl_version') && version_compare(curl_version()['version'], '7.21.2') >= 0) { if (\function_exists('curl_multi_exec') && \function_exists('curl_exec')) { $handler = Proxy::wrapSync(new CurlMultiHandler(), new CurlHandler()); } elseif (\function_exists('curl_exec')) { diff --git a/vendor/multiplechain/evm-chains/composer.json b/vendor/multiplechain/evm-chains/composer.json index d1e0b60..148da89 100644 --- a/vendor/multiplechain/evm-chains/composer.json +++ b/vendor/multiplechain/evm-chains/composer.json @@ -1,6 +1,6 @@ { "name": "multiplechain/evm-chains", - "version": "0.1.23", + "version": "0.1.24", "description": "EVM Based Chains", "type": "library", "license": "MIT", @@ -31,7 +31,7 @@ "web3p/web3.php": "^0.3.2", "web3p/ethereum-tx": "^0.4.3", "multiplechain/definitions": "^0.1.2", - "multiplechain/utils": "^0.1.4" + "multiplechain/utils": "^0.1.5" }, "require-dev": { "phpunit/phpunit": "^10.5", diff --git a/vendor/multiplechain/evm-chains/composer.lock b/vendor/multiplechain/evm-chains/composer.lock index 92f168c..b2ad39e 100644 --- a/vendor/multiplechain/evm-chains/composer.lock +++ b/vendor/multiplechain/evm-chains/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "d8682088bc379b50c9d039a0c48f24d3", + "content-hash": "274e56821765c825034e415880b41e60", "packages": [ { "name": "evenement/evenement", @@ -530,21 +530,20 @@ }, { "name": "multiplechain/utils", - "version": "0.1.4", + "version": "0.1.5", "source": { "type": "git", "url": "https://github.com/MultipleChain-PHP/utils.git", - "reference": "70c5675299aceb010bb2596cd0a1f2760ec4ae3f" + "reference": "b9b64927b0127959a6fe9423cf37ee8469d3f182" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/MultipleChain-PHP/utils/zipball/70c5675299aceb010bb2596cd0a1f2760ec4ae3f", - "reference": "70c5675299aceb010bb2596cd0a1f2760ec4ae3f", + "url": "https://api.github.com/repos/MultipleChain-PHP/utils/zipball/b9b64927b0127959a6fe9423cf37ee8469d3f182", + "reference": "b9b64927b0127959a6fe9423cf37ee8469d3f182", "shasum": "" }, "require": { "ext-bcmath": "*", - "ext-gmp": "*", "ext-mbstring": "*", "phpseclib/phpseclib": "~2.0.30" }, @@ -573,9 +572,9 @@ "description": "MultipleChain Utils", "support": { "issues": "https://github.com/MultipleChain-PHP/utils/issues", - "source": "https://github.com/MultipleChain-PHP/utils/tree/0.1.4" + "source": "https://github.com/MultipleChain-PHP/utils/tree/0.1.5" }, - "time": "2024-06-11T09:47:47+00:00" + "time": "2024-10-01T02:15:53+00:00" }, { "name": "phpseclib/phpseclib", diff --git a/vendor/multiplechain/evm-chains/src/NetworkConfig.php b/vendor/multiplechain/evm-chains/src/NetworkConfig.php index dd8662e..74a1aca 100644 --- a/vendor/multiplechain/evm-chains/src/NetworkConfig.php +++ b/vendor/multiplechain/evm-chains/src/NetworkConfig.php @@ -138,4 +138,22 @@ public function getNativeCurrency(): array { return $this->nativeCurrency; } + + /** + * @return array + */ + public function toArray(): array + { + return [ + 'id' => $this->id, + 'hexId' => $this->hexId, + 'name' => $this->name, + 'mainnetId' => $this->mainnetId, + 'rpcUrl' => $this->rpcUrl, + 'explorerUrl' => $this->explorerUrl, + 'nativeCurrency' => $this->nativeCurrency, + 'testnet' => $this->isTestnet(), + 'wsUrl' => $this->getWsUrl(), + ]; + } } diff --git a/vendor/multiplechain/evm-chains/src/Web3.php b/vendor/multiplechain/evm-chains/src/Web3.php index 29898d4..3d2616b 100644 --- a/vendor/multiplechain/evm-chains/src/Web3.php +++ b/vendor/multiplechain/evm-chains/src/Web3.php @@ -75,8 +75,11 @@ public function sendRawTransaction(string $signedData): string } }); } catch (\Exception $e) { + if (false !== strpos($e->getMessage(), 'insufficient funds for gas')) { + throw new \Exception("Insufficient funds for gas!", 16001); + } if ((time() - $this->time) >= 15) { - throw new \Exception("Transaction time out!", 16000); + throw new \Exception("Send raw transaction time out!", 16000); } else { if (-32000 == $e->getCode() && 'invalid sender' != $e->getMessage()) { return $this->sendRawTransaction($signedData); diff --git a/vendor/multiplechain/evm-chains/tests/BaseTest.php b/vendor/multiplechain/evm-chains/tests/BaseTest.php index c47e00f..2c905bf 100644 --- a/vendor/multiplechain/evm-chains/tests/BaseTest.php +++ b/vendor/multiplechain/evm-chains/tests/BaseTest.php @@ -33,8 +33,8 @@ public function setUp(): void 'testnet' => true, 'name' => 'Ethereum Sepolia Testnet (QR)', 'explorerUrl' => 'https://sepolia.etherscan.io/', - 'rpcUrl' => 'https://sepolia.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161', - 'wsUrl' => 'wss://sepolia.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161', + "wsUrl" => "wss://ethereum-sepolia-rpc.publicnode.com", + "rpcUrl" => "https://ethereum-sepolia-rpc.publicnode.com", 'nativeCurrency' => [ 'symbol' => 'ETH', 'name' => 'Ethereum', diff --git a/vendor/multiplechain/evm-chains/tests/NetworksTest.php b/vendor/multiplechain/evm-chains/tests/NetworksTest.php index f5b3876..fbd5f0a 100644 --- a/vendor/multiplechain/evm-chains/tests/NetworksTest.php +++ b/vendor/multiplechain/evm-chains/tests/NetworksTest.php @@ -54,8 +54,8 @@ public function testAddNetwork(): void 'testnet' => true, 'name' => 'Ethereum Sepolia Testnet (QR)', 'explorerUrl' => 'https://sepolia.etherscan.io/', - 'rpcUrl' => 'https://sepolia.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161', - 'wsUrl' => 'wss://sepolia.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161', + "wsUrl" => "wss://ethereum-sepolia-rpc.publicnode.com", + "rpcUrl" => "https://ethereum-sepolia-rpc.publicnode.com", 'nativeCurrency' => [ 'symbol' => 'ETH', 'name' => 'Ethereum', diff --git a/vendor/multiplechain/evm-chains/tests/ProviderTest.php b/vendor/multiplechain/evm-chains/tests/ProviderTest.php index 8da8bd1..6dce3cc 100644 --- a/vendor/multiplechain/evm-chains/tests/ProviderTest.php +++ b/vendor/multiplechain/evm-chains/tests/ProviderTest.php @@ -28,7 +28,7 @@ public function testIsTestnet(): void public function testRpcConnection(): void { $this->assertTrue($this->provider->checkRpcConnection( - "https://sepolia.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161" + "https://ethereum-sepolia-rpc.publicnode.com" )); $this->assertFalse($this->provider->checkRpcConnection( "https://sepolia.infura.io/v3/" diff --git a/vendor/multiplechain/evm-chains/tests/Web3Test.php b/vendor/multiplechain/evm-chains/tests/Web3Test.php index 42b8228..ef27861 100644 --- a/vendor/multiplechain/evm-chains/tests/Web3Test.php +++ b/vendor/multiplechain/evm-chains/tests/Web3Test.php @@ -29,7 +29,7 @@ class Web3Test extends TestCase */ public function setUp(): void { - $this->web3 = new Web3('https://sepolia.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161'); + $this->web3 = new Web3('https://ethereum-sepolia-rpc.publicnode.com'); } /** diff --git a/vendor/multiplechain/evm-chains/tests/data.example.json b/vendor/multiplechain/evm-chains/tests/data.example.json index 53c59ca..05b4361 100644 --- a/vendor/multiplechain/evm-chains/tests/data.example.json +++ b/vendor/multiplechain/evm-chains/tests/data.example.json @@ -1,6 +1,6 @@ { - "rpcUrl": "https://sepolia.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161", - "wsUrl": "wss://sepolia.infura.io/ws/v3/9aa3d95b3bc440fa88ea12eaa4456161", + "wsUrl": "wss://ethereum-sepolia-rpc.publicnode.com", + "rpcUrl": "https://ethereum-sepolia-rpc.publicnode.com", "coinTransferTestIsActive": false, "tokenTransferTestIsActive": false, "tokenApproveTestIsActive": false, @@ -12,7 +12,7 @@ "transferTestAmount": 0.001, "tokenTransferTestAmount": 1, "tokenApproveTestAmount": 100, - "nftTransferId": 500, + "nftTransferId": 49, "balanceTestAddress": "0x760A4d3D03928D1e8541A7644B34370c1b79aa9F", "senderPrivateKey": "0x14bd9af4e87981b37b7b2e8a0d1d249b7fcdb7a3bc579c4c31488842d372c0e9", "receiverPrivateKey": "0x22ac1009c43f251e0b5a808751990abe77a74fe12f390c0cc95ab179a0b61a5a", diff --git a/vendor/multiplechain/utils/composer.json b/vendor/multiplechain/utils/composer.json index 5f3a79f..8c9be6b 100644 --- a/vendor/multiplechain/utils/composer.json +++ b/vendor/multiplechain/utils/composer.json @@ -1,6 +1,6 @@ { "name": "multiplechain/utils", - "version": "0.1.4", + "version": "0.1.5", "description": "MultipleChain Utils", "type": "library", "license": "MIT", @@ -27,9 +27,8 @@ } ], "require": { - "ext-mbstring": "*", "ext-bcmath": "*", - "ext-gmp": "*", + "ext-mbstring": "*", "phpseclib/phpseclib": "~2.0.30" }, "require-dev": { diff --git a/vendor/multiplechain/utils/src/Utils.php b/vendor/multiplechain/utils/src/Utils.php index 62952e1..3dbd675 100644 --- a/vendor/multiplechain/utils/src/Utils.php +++ b/vendor/multiplechain/utils/src/Utils.php @@ -27,7 +27,6 @@ public static function toHex(int|string $value): string } /** - * * @param float $value * @param integer $decimals * @return string @@ -36,8 +35,15 @@ public static function numberToHex(float $value, int $decimals): string { $length = bcpow('10', strval($decimals)); $newValue = bcmul(strval($value), $length, 0); - $newValueHex = gmp_strval(gmp_init($newValue, 10), 16); - return '0x' . $newValueHex; + + $hex = ''; + while (bccomp($newValue, '0') > 0) { + $remainder = bcmod($newValue, '16'); + $hex = dechex(intval($remainder)) . $hex; + $newValue = bcdiv($newValue, '16', 0); + } + + return '0x' . ('' === $hex ? '0' : $hex); } /** @@ -48,8 +54,15 @@ public static function numberToHex(float $value, int $decimals): string public static function hexToNumber(string $value, int $decimals): float { $length = bcpow('10', strval($decimals)); - $newValue = gmp_strval(gmp_init($value, 16), 10); - $result = bcdiv($newValue, $length, $decimals); + + $decimal = '0'; + $value = ltrim($value, '0x'); + $len = strlen($value); + for ($i = 0; $i < $len; $i++) { + $decimal = bcadd($decimal, bcmul(strval(hexdec($value[$i])), bcpow('16', strval($len - 1 - $i)))); + } + + $result = bcdiv($decimal, $length, $decimals); return floatval($result); } @@ -65,11 +78,18 @@ public static function base58Encode(array|string $input): string } $base58Array = []; - $value = gmp_init(bin2hex(implode(array_map('chr', $input))), 16); + $hex = bin2hex(implode(array_map('chr', $input))); - while (gmp_cmp($value, 0) > 0) { - list($value, $remainder) = gmp_div_qr($value, 58); - $base58Array[] = self::BASE58_ALPHABET[gmp_intval($remainder)]; + $value = '0'; + $hexLength = strlen($hex); + for ($i = 0; $i < $hexLength; $i++) { + $value = bcadd(bcmul($value, '16'), base_convert($hex[$i], 16, 10)); + } + + while (bccomp($value, '0') > 0) { + $remainder = bcmod($value, '58'); + $value = bcdiv($value, '58', 0); + $base58Array[] = self::BASE58_ALPHABET[intval($remainder)]; } foreach ($input as $byte) { @@ -88,19 +108,26 @@ public static function base58Encode(array|string $input): string */ public static function base58Decode(string $input): array { - $value = gmp_init(0); + $value = '0'; for ($i = 0; $i < strlen($input); $i++) { - $value = gmp_add(gmp_mul($value, 58), intval(strpos(self::BASE58_ALPHABET, $input[$i]))); + $value = bcadd(bcmul($value, '58'), strval(strpos(self::BASE58_ALPHABET, $input[$i]))); + } + + // Decimal to hexadecimal conversion + $hex = ''; + while (bccomp($value, '0') > 0) { + $remainder = bcmod($value, '16'); + $hex = dechex(intval($remainder)) . $hex; + $value = bcdiv($value, '16', 0); } - $hex = gmp_strval($value, 16); if (0 != strlen($hex) % 2) { $hex = '0' . $hex; } - $unpack = unpack('C*', strval(hex2bin($hex))); + $unpack = unpack('C*', hex2bin($hex) ?: ''); - return array_values($unpack ? $unpack : []); + return array_values($unpack ?: []); } /** diff --git a/vendor/multiplechain/utils/src/Utils/Number.php b/vendor/multiplechain/utils/src/Utils/Number.php index e41d203..0176da8 100644 --- a/vendor/multiplechain/utils/src/Utils/Number.php +++ b/vendor/multiplechain/utils/src/Utils/Number.php @@ -199,10 +199,25 @@ private function getDecimalPlaces(string $number): int private function toStringInternal(string $value, int $decimals): string { $length = bcpow('10', strval($decimals)); - $newValue = gmp_strval(gmp_init($value, 16), 10); + $newValue = $this->hexToDec($value); return rtrim(rtrim(bcdiv($newValue, $length, $decimals), '0'), '.'); } + /** + * @param string $hex + * @return string + */ + private function hexToDec(string $hex): string + { + $dec = '0'; + $hex = strtolower(preg_replace('/[^0-9a-f]/', '', $hex)); + $len = strlen($hex); + for ($i = 0; $i < $len; $i++) { + $dec = bcadd($dec, bcmul(strval(hexdec($hex[$i])), bcpow('16', strval($len - 1 - $i)))); + } + return $dec; + } + /** * @param string|float|BigNumber $number * @param int $decimals @@ -233,8 +248,6 @@ private function toBigNumberInternal(string|float|BigNumber $number, int $decima // @phpstan-ignore-next-line switch (MATH_BIGINTEGER_MODE) { case $whole::MODE_GMP: - $powerBase = gmp_pow(gmp_init(10), (int) $fractionLength); - break; case $whole::MODE_BCMATH: $powerBase = bcpow('10', (string) $fractionLength, 0); break; diff --git a/vendor/react/socket/CHANGELOG.md b/vendor/react/socket/CHANGELOG.md index db178ca..659560f 100644 --- a/vendor/react/socket/CHANGELOG.md +++ b/vendor/react/socket/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 1.16.0 (2024-07-26) + +* Feature: Improve PHP 8.4+ support by avoiding implicitly nullable type declarations. + (#318 by @clue) + ## 1.15.0 (2023-12-15) * Feature: Full PHP 8.3 compatibility. diff --git a/vendor/react/socket/README.md b/vendor/react/socket/README.md index 18e3d91..e77e676 100644 --- a/vendor/react/socket/README.md +++ b/vendor/react/socket/README.md @@ -1494,7 +1494,7 @@ This project follows [SemVer](https://semver.org/). This will install the latest supported version: ```bash -composer require react/socket:^1.15 +composer require react/socket:^1.16 ``` See also the [CHANGELOG](CHANGELOG.md) for details about version upgrades. diff --git a/vendor/react/socket/composer.json b/vendor/react/socket/composer.json index 02c184f..b1e1d25 100644 --- a/vendor/react/socket/composer.json +++ b/vendor/react/socket/composer.json @@ -28,16 +28,16 @@ "require": { "php": ">=5.3.0", "evenement/evenement": "^3.0 || ^2.0 || ^1.0", - "react/dns": "^1.11", + "react/dns": "^1.13", "react/event-loop": "^1.2", - "react/promise": "^3 || ^2.6 || ^1.2.1", - "react/stream": "^1.2" + "react/promise": "^3.2 || ^2.6 || ^1.2.1", + "react/stream": "^1.4" }, "require-dev": { "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", - "react/async": "^4 || ^3 || ^2", + "react/async": "^4.3 || ^3.3 || ^2", "react/promise-stream": "^1.4", - "react/promise-timer": "^1.10" + "react/promise-timer": "^1.11" }, "autoload": { "psr-4": { diff --git a/vendor/react/socket/src/FdServer.php b/vendor/react/socket/src/FdServer.php index b1ed777..8e46719 100644 --- a/vendor/react/socket/src/FdServer.php +++ b/vendor/react/socket/src/FdServer.php @@ -75,7 +75,7 @@ final class FdServer extends EventEmitter implements ServerInterface * @throws \InvalidArgumentException if the listening address is invalid * @throws \RuntimeException if listening on this address fails (already in use etc.) */ - public function __construct($fd, LoopInterface $loop = null) + public function __construct($fd, $loop = null) { if (\preg_match('#^php://fd/(\d+)$#', $fd, $m)) { $fd = (int) $m[1]; @@ -87,6 +87,10 @@ public function __construct($fd, LoopInterface $loop = null) ); } + if ($loop !== null && !$loop instanceof LoopInterface) { // manual type check to support legacy PHP < 7.1 + throw new \InvalidArgumentException('Argument #2 ($loop) expected null|React\EventLoop\LoopInterface'); + } + $this->loop = $loop ?: Loop::get(); $errno = 0; diff --git a/vendor/react/socket/src/HappyEyeBallsConnector.php b/vendor/react/socket/src/HappyEyeBallsConnector.php index 98b1d58..a5511ac 100644 --- a/vendor/react/socket/src/HappyEyeBallsConnector.php +++ b/vendor/react/socket/src/HappyEyeBallsConnector.php @@ -13,15 +13,26 @@ final class HappyEyeBallsConnector implements ConnectorInterface private $connector; private $resolver; - public function __construct(LoopInterface $loop = null, ConnectorInterface $connector = null, ResolverInterface $resolver = null) + /** + * @param ?LoopInterface $loop + * @param ConnectorInterface $connector + * @param ResolverInterface $resolver + */ + public function __construct($loop = null, $connector = null, $resolver = null) { // $connector and $resolver arguments are actually required, marked // optional for technical reasons only. Nullable $loop without default // requires PHP 7.1, null default is also supported in legacy PHP // versions, but required parameters are not allowed after arguments // with null default. Mark all parameters optional and check accordingly. - if ($connector === null || $resolver === null) { - throw new \InvalidArgumentException('Missing required $connector or $resolver argument'); + if ($loop !== null && !$loop instanceof LoopInterface) { // manual type check to support legacy PHP < 7.1 + throw new \InvalidArgumentException('Argument #1 ($loop) expected null|React\EventLoop\LoopInterface'); + } + if (!$connector instanceof ConnectorInterface) { // manual type check to support legacy PHP < 7.1 + throw new \InvalidArgumentException('Argument #2 ($connector) expected React\Socket\ConnectorInterface'); + } + if (!$resolver instanceof ResolverInterface) { // manual type check to support legacy PHP < 7.1 + throw new \InvalidArgumentException('Argument #3 ($resolver) expected React\Dns\Resolver\ResolverInterface'); } $this->loop = $loop ?: Loop::get(); diff --git a/vendor/react/socket/src/SecureConnector.php b/vendor/react/socket/src/SecureConnector.php index 17c229d..08255ac 100644 --- a/vendor/react/socket/src/SecureConnector.php +++ b/vendor/react/socket/src/SecureConnector.php @@ -15,8 +15,17 @@ final class SecureConnector implements ConnectorInterface private $streamEncryption; private $context; - public function __construct(ConnectorInterface $connector, LoopInterface $loop = null, array $context = array()) + /** + * @param ConnectorInterface $connector + * @param ?LoopInterface $loop + * @param array $context + */ + public function __construct(ConnectorInterface $connector, $loop = null, array $context = array()) { + if ($loop !== null && !$loop instanceof LoopInterface) { // manual type check to support legacy PHP < 7.1 + throw new \InvalidArgumentException('Argument #2 ($loop) expected null|React\EventLoop\LoopInterface'); + } + $this->connector = $connector; $this->streamEncryption = new StreamEncryption($loop ?: Loop::get(), false); $this->context = $context; diff --git a/vendor/react/socket/src/SecureServer.php b/vendor/react/socket/src/SecureServer.php index d0525c9..5a202d2 100644 --- a/vendor/react/socket/src/SecureServer.php +++ b/vendor/react/socket/src/SecureServer.php @@ -122,8 +122,12 @@ final class SecureServer extends EventEmitter implements ServerInterface * @see TcpServer * @link https://www.php.net/manual/en/context.ssl.php for TLS context options */ - public function __construct(ServerInterface $tcp, LoopInterface $loop = null, array $context = array()) + public function __construct(ServerInterface $tcp, $loop = null, array $context = array()) { + if ($loop !== null && !$loop instanceof LoopInterface) { // manual type check to support legacy PHP < 7.1 + throw new \InvalidArgumentException('Argument #2 ($loop) expected null|React\EventLoop\LoopInterface'); + } + if (!\function_exists('stream_socket_enable_crypto')) { throw new \BadMethodCallException('Encryption not supported on your platform (HHVM < 3.8?)'); // @codeCoverageIgnore } diff --git a/vendor/react/socket/src/Server.php b/vendor/react/socket/src/Server.php index 7d4111e..b24c556 100644 --- a/vendor/react/socket/src/Server.php +++ b/vendor/react/socket/src/Server.php @@ -43,14 +43,18 @@ final class Server extends EventEmitter implements ServerInterface * For BC reasons, you can also pass the TCP socket context options as a simple * array without wrapping this in another array under the `tcp` key. * - * @param string|int $uri - * @param LoopInterface $loop - * @param array $context + * @param string|int $uri + * @param ?LoopInterface $loop + * @param array $context * @deprecated 1.9.0 See `SocketServer` instead * @see SocketServer */ - public function __construct($uri, LoopInterface $loop = null, array $context = array()) + public function __construct($uri, $loop = null, array $context = array()) { + if ($loop !== null && !$loop instanceof LoopInterface) { // manual type check to support legacy PHP < 7.1 + throw new \InvalidArgumentException('Argument #2 ($loop) expected null|React\EventLoop\LoopInterface'); + } + $loop = $loop ?: Loop::get(); // sanitize TCP context options if not properly wrapped diff --git a/vendor/react/socket/src/SocketServer.php b/vendor/react/socket/src/SocketServer.php index b78dc3a..e987f5f 100644 --- a/vendor/react/socket/src/SocketServer.php +++ b/vendor/react/socket/src/SocketServer.php @@ -31,8 +31,12 @@ final class SocketServer extends EventEmitter implements ServerInterface * @throws \InvalidArgumentException if the listening address is invalid * @throws \RuntimeException if listening on this address fails (already in use etc.) */ - public function __construct($uri, array $context = array(), LoopInterface $loop = null) + public function __construct($uri, array $context = array(), $loop = null) { + if ($loop !== null && !$loop instanceof LoopInterface) { // manual type check to support legacy PHP < 7.1 + throw new \InvalidArgumentException('Argument #3 ($loop) expected null|React\EventLoop\LoopInterface'); + } + // apply default options if not explicitly given $context += array( 'tcp' => array(), diff --git a/vendor/react/socket/src/TcpConnector.php b/vendor/react/socket/src/TcpConnector.php index 8cfc7bf..9d2599e 100644 --- a/vendor/react/socket/src/TcpConnector.php +++ b/vendor/react/socket/src/TcpConnector.php @@ -13,8 +13,16 @@ final class TcpConnector implements ConnectorInterface private $loop; private $context; - public function __construct(LoopInterface $loop = null, array $context = array()) + /** + * @param ?LoopInterface $loop + * @param array $context + */ + public function __construct($loop = null, array $context = array()) { + if ($loop !== null && !$loop instanceof LoopInterface) { // manual type check to support legacy PHP < 7.1 + throw new \InvalidArgumentException('Argument #1 ($loop) expected null|React\EventLoop\LoopInterface'); + } + $this->loop = $loop ?: Loop::get(); $this->context = $context; } diff --git a/vendor/react/socket/src/TcpServer.php b/vendor/react/socket/src/TcpServer.php index 235761d..01b2b46 100644 --- a/vendor/react/socket/src/TcpServer.php +++ b/vendor/react/socket/src/TcpServer.php @@ -128,8 +128,12 @@ final class TcpServer extends EventEmitter implements ServerInterface * @throws InvalidArgumentException if the listening address is invalid * @throws RuntimeException if listening on this address fails (already in use etc.) */ - public function __construct($uri, LoopInterface $loop = null, array $context = array()) + public function __construct($uri, $loop = null, array $context = array()) { + if ($loop !== null && !$loop instanceof LoopInterface) { // manual type check to support legacy PHP < 7.1 + throw new \InvalidArgumentException('Argument #2 ($loop) expected null|React\EventLoop\LoopInterface'); + } + $this->loop = $loop ?: Loop::get(); // a single port has been given => assume localhost diff --git a/vendor/react/socket/src/TimeoutConnector.php b/vendor/react/socket/src/TimeoutConnector.php index a20ea5a..9ef252f 100644 --- a/vendor/react/socket/src/TimeoutConnector.php +++ b/vendor/react/socket/src/TimeoutConnector.php @@ -12,8 +12,17 @@ final class TimeoutConnector implements ConnectorInterface private $timeout; private $loop; - public function __construct(ConnectorInterface $connector, $timeout, LoopInterface $loop = null) + /** + * @param ConnectorInterface $connector + * @param float $timeout + * @param ?LoopInterface $loop + */ + public function __construct(ConnectorInterface $connector, $timeout, $loop = null) { + if ($loop !== null && !$loop instanceof LoopInterface) { // manual type check to support legacy PHP < 7.1 + throw new \InvalidArgumentException('Argument #3 ($loop) expected null|React\EventLoop\LoopInterface'); + } + $this->connector = $connector; $this->timeout = $timeout; $this->loop = $loop ?: Loop::get(); diff --git a/vendor/react/socket/src/UnixConnector.php b/vendor/react/socket/src/UnixConnector.php index 627d60f..95f932c 100644 --- a/vendor/react/socket/src/UnixConnector.php +++ b/vendor/react/socket/src/UnixConnector.php @@ -18,8 +18,15 @@ final class UnixConnector implements ConnectorInterface { private $loop; - public function __construct(LoopInterface $loop = null) + /** + * @param ?LoopInterface $loop + */ + public function __construct($loop = null) { + if ($loop !== null && !$loop instanceof LoopInterface) { // manual type check to support legacy PHP < 7.1 + throw new \InvalidArgumentException('Argument #1 ($loop) expected null|React\EventLoop\LoopInterface'); + } + $this->loop = $loop ?: Loop::get(); } diff --git a/vendor/react/socket/src/UnixServer.php b/vendor/react/socket/src/UnixServer.php index cc46968..27b014d 100644 --- a/vendor/react/socket/src/UnixServer.php +++ b/vendor/react/socket/src/UnixServer.php @@ -50,8 +50,12 @@ final class UnixServer extends EventEmitter implements ServerInterface * @throws InvalidArgumentException if the listening address is invalid * @throws RuntimeException if listening on this address fails (already in use etc.) */ - public function __construct($path, LoopInterface $loop = null, array $context = array()) + public function __construct($path, $loop = null, array $context = array()) { + if ($loop !== null && !$loop instanceof LoopInterface) { // manual type check to support legacy PHP < 7.1 + throw new \InvalidArgumentException('Argument #2 ($loop) expected null|React\EventLoop\LoopInterface'); + } + $this->loop = $loop ?: Loop::get(); if (\strpos($path, '://') === false) { diff --git a/vendor/symfony/polyfill-mbstring/Mbstring.php b/vendor/symfony/polyfill-mbstring/Mbstring.php index 1ad33a8..3d45c9d 100644 --- a/vendor/symfony/polyfill-mbstring/Mbstring.php +++ b/vendor/symfony/polyfill-mbstring/Mbstring.php @@ -50,6 +50,9 @@ * - mb_substr_count - Count the number of substring occurrences * - mb_ucfirst - Make a string's first character uppercase * - mb_lcfirst - Make a string's first character lowercase + * - mb_trim - Strip whitespace (or other characters) from the beginning and end of a string + * - mb_ltrim - Strip whitespace (or other characters) from the beginning of a string + * - mb_rtrim - Strip whitespace (or other characters) from the end of a string * * Not implemented: * - mb_convert_kana - Convert "kana" one from another ("zen-kaku", "han-kaku" and more) @@ -83,12 +86,6 @@ final class Mbstring public static function mb_convert_encoding($s, $toEncoding, $fromEncoding = null) { if (\is_array($s)) { - if (PHP_VERSION_ID < 70200) { - trigger_error('mb_convert_encoding() expects parameter 1 to be string, array given', \E_USER_WARNING); - - return null; - } - $r = []; foreach ($s as $str) { $r[] = self::mb_convert_encoding($str, $toEncoding, $fromEncoding); @@ -427,12 +424,6 @@ public static function mb_encoding_aliases($encoding) public static function mb_check_encoding($var = null, $encoding = null) { - if (\PHP_VERSION_ID < 70200 && \is_array($var)) { - trigger_error('mb_check_encoding() expects parameter 1 to be string, array given', \E_USER_WARNING); - - return null; - } - if (null === $encoding) { if (null === $var) { return false; @@ -980,17 +971,75 @@ private static function getEncoding($encoding) return $encoding; } + public static function mb_trim(string $string, ?string $characters = null, ?string $encoding = null): string + { + return self::mb_internal_trim('{^[%s]+|[%1$s]+$}Du', $string, $characters, $encoding, __FUNCTION__); + } + + public static function mb_ltrim(string $string, ?string $characters = null, ?string $encoding = null): string + { + return self::mb_internal_trim('{^[%s]+}Du', $string, $characters, $encoding, __FUNCTION__); + } + + public static function mb_rtrim(string $string, ?string $characters = null, ?string $encoding = null): string + { + return self::mb_internal_trim('{[%s]+$}D', $string, $characters, $encoding, __FUNCTION__); + } + + private static function mb_internal_trim(string $regex, string $string, ?string $characters, ?string $encoding, string $function): string + { + if (null === $encoding) { + $encoding = self::mb_internal_encoding(); + } else { + self::assertEncoding($encoding, $function.'(): Argument #3 ($encoding) must be a valid encoding, "%s" given'); + } + + if ('' === $characters) { + return null === $encoding ? $string : self::mb_convert_encoding($string, $encoding); + } + + if ('UTF-8' === $encoding) { + $encoding = null; + if (!preg_match('//u', $string)) { + $string = @iconv('UTF-8', 'UTF-8//IGNORE', $string); + } + if (null !== $characters && !preg_match('//u', $characters)) { + $characters = @iconv('UTF-8', 'UTF-8//IGNORE', $characters); + } + } else { + $string = iconv($encoding, 'UTF-8//IGNORE', $string); + + if (null !== $characters) { + $characters = iconv($encoding, 'UTF-8//IGNORE', $characters); + } + } + + if (null === $characters) { + $characters = "\\0 \f\n\r\t\v\u{00A0}\u{1680}\u{2000}\u{2001}\u{2002}\u{2003}\u{2004}\u{2005}\u{2006}\u{2007}\u{2008}\u{2009}\u{200A}\u{2028}\u{2029}\u{202F}\u{205F}\u{3000}\u{0085}\u{180E}"; + } else { + $characters = preg_quote($characters); + } + + $string = preg_replace(sprintf($regex, $characters), '', $string); + + if (null === $encoding) { + return $string; + } + + return iconv('UTF-8', $encoding.'//IGNORE', $string); + } + private static function assertEncoding(string $encoding, string $errorFormat): void { try { $validEncoding = @self::mb_check_encoding('', $encoding); } catch (\ValueError $e) { - throw new \ValueError(\sprintf($errorFormat, $encoding)); + throw new \ValueError(sprintf($errorFormat, $encoding)); } // BC for PHP 7.3 and lower if (!$validEncoding) { - throw new \ValueError(\sprintf($errorFormat, $encoding)); + throw new \ValueError(sprintf($errorFormat, $encoding)); } } } diff --git a/vendor/symfony/polyfill-mbstring/bootstrap.php b/vendor/symfony/polyfill-mbstring/bootstrap.php index 6e4b5fc..ff51ae0 100644 --- a/vendor/symfony/polyfill-mbstring/bootstrap.php +++ b/vendor/symfony/polyfill-mbstring/bootstrap.php @@ -144,6 +144,19 @@ function mb_ucfirst(string $string, ?string $encoding = null): string { return p function mb_lcfirst(string $string, ?string $encoding = null): string { return p\Mbstring::mb_lcfirst($string, $encoding); } } +if (!function_exists('mb_trim')) { + function mb_trim(string $string, ?string $characters = null, ?string $encoding = null): string { return p\Mbstring::mb_trim($string, $characters, $encoding); } +} + +if (!function_exists('mb_ltrim')) { + function mb_ltrim(string $string, ?string $characters = null, ?string $encoding = null): string { return p\Mbstring::mb_ltrim($string, $characters, $encoding); } +} + +if (!function_exists('mb_rtrim')) { + function mb_rtrim(string $string, ?string $characters = null, ?string $encoding = null): string { return p\Mbstring::mb_rtrim($string, $characters, $encoding); } +} + + if (extension_loaded('mbstring')) { return; } diff --git a/vendor/symfony/polyfill-mbstring/bootstrap80.php b/vendor/symfony/polyfill-mbstring/bootstrap80.php index ec2ae42..5be7d20 100644 --- a/vendor/symfony/polyfill-mbstring/bootstrap80.php +++ b/vendor/symfony/polyfill-mbstring/bootstrap80.php @@ -93,7 +93,7 @@ function mb_strrpos(?string $haystack, ?string $needle, ?int $offset = 0, ?strin function mb_strstr(?string $haystack, ?string $needle, ?bool $before_needle = false, ?string $encoding = null): string|false { return p\Mbstring::mb_strstr((string) $haystack, (string) $needle, (bool) $before_needle, $encoding); } } if (!function_exists('mb_get_info')) { - function mb_get_info(?string $type = 'all'): array|string|int|false { return p\Mbstring::mb_get_info((string) $type); } + function mb_get_info(?string $type = 'all'): array|string|int|false|null { return p\Mbstring::mb_get_info((string) $type); } } if (!function_exists('mb_http_output')) { function mb_http_output(?string $encoding = null): string|bool { return p\Mbstring::mb_http_output($encoding); } @@ -140,6 +140,18 @@ function mb_ucfirst($string, ?string $encoding = null): string { return p\Mbstri function mb_lcfirst($string, ?string $encoding = null): string { return p\Mbstring::mb_lcfirst($string, $encoding); } } +if (!function_exists('mb_trim')) { + function mb_trim(string $string, ?string $characters = null, ?string $encoding = null): string { return p\Mbstring::mb_trim($string, $characters, $encoding); } +} + +if (!function_exists('mb_ltrim')) { + function mb_ltrim(string $string, ?string $characters = null, ?string $encoding = null): string { return p\Mbstring::mb_ltrim($string, $characters, $encoding); } +} + +if (!function_exists('mb_rtrim')) { + function mb_rtrim(string $string, ?string $characters = null, ?string $encoding = null): string { return p\Mbstring::mb_rtrim($string, $characters, $encoding); } +} + if (extension_loaded('mbstring')) { return; } diff --git a/vendor/symfony/polyfill-mbstring/composer.json b/vendor/symfony/polyfill-mbstring/composer.json index bd99d4b..4ed241a 100644 --- a/vendor/symfony/polyfill-mbstring/composer.json +++ b/vendor/symfony/polyfill-mbstring/composer.json @@ -16,7 +16,7 @@ } ], "require": { - "php": ">=7.1" + "php": ">=7.2" }, "provide": { "ext-mbstring": "*"